summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPaul Olav Tvete <paul.tvete@nokia.com>2010-06-18 13:10:26 +0200
committerPaul Olav Tvete <paul.tvete@nokia.com>2010-06-18 13:10:26 +0200
commita3fd00796dafe52d4ff138b271564daf70d1adee (patch)
tree77ca481c06c1b2c3c7822a4cd5864702e341b680
parent793d1ed8d3a03eefdd487facdacf66ba575e1a07 (diff)
parent6aa50af000f85cc4497749fcf0860c8ed244a60e (diff)
Merge remote branch 'qt/4.7' into lighthouse
Conflicts: configure mkspecs/common/qws.conf src/corelib/io/qresource.cpp src/gui/image/qpixmapdata_p.h src/gui/kernel/qapplication.cpp src/gui/kernel/qapplication_p.h src/gui/painting/qpaintengine_raster.cpp src/gui/text/qfontdatabase.cpp src/opengl/qgl_p.h src/plugins/mediaservices/gstreamer/gstreamer.pro
-rw-r--r--.gitignore9
-rwxr-xr-xbin/createpackage.pl64
-rwxr-xr-xbin/patch_capabilities.pl3
-rwxr-xr-xbin/syncqt779
-rw-r--r--config.tests/symbian/simple/main.cpp46
-rw-r--r--config.tests/symbian/simple/simple.pro4
-rwxr-xr-xconfig.tests/unix/bsymbolic_functions.test3
-rwxr-xr-xconfig.tests/unix/compile.test6
-rwxr-xr-xconfig.tests/unix/fvisibility.test2
-rw-r--r--config.tests/unix/getaddrinfo/getaddrinfotest.cpp7
-rw-r--r--config.tests/unix/iconv/iconv.pro2
-rw-r--r--config.tests/unix/ipv6/ipv6test.cpp5
-rw-r--r--config.tests/unix/odbc/odbc.cpp3
-rw-r--r--config.tests/unix/odbc/odbc.pro3
-rw-r--r--config.tests/unix/psql/psql.pro2
-rw-r--r--config.tests/x11/opengl/opengl.pro3
-rwxr-xr-xconfigure266
-rwxr-xr-xconfigure.exebin1319424 -> 1317888 bytes
-rw-r--r--demos/declarative/calculator/Core/Button.qml41
-rw-r--r--demos/declarative/calculator/Core/Display.qml41
-rw-r--r--demos/declarative/calculator/calculator.qml45
-rw-r--r--demos/declarative/declarative.pro2
-rw-r--r--demos/declarative/flickr/common/Progress.qml41
-rw-r--r--demos/declarative/flickr/common/RssModel.qml41
-rw-r--r--demos/declarative/flickr/common/ScrollBar.qml43
-rw-r--r--demos/declarative/flickr/common/Slider.qml43
-rw-r--r--demos/declarative/flickr/flickr-90.qml41
-rw-r--r--demos/declarative/flickr/flickr.qml45
-rw-r--r--demos/declarative/flickr/mobile/Button.qml41
-rw-r--r--demos/declarative/flickr/mobile/GridDelegate.qml49
-rw-r--r--demos/declarative/flickr/mobile/ImageDetails.qml59
-rw-r--r--demos/declarative/flickr/mobile/ListDelegate.qml41
-rw-r--r--demos/declarative/flickr/mobile/TitleBar.qml58
-rw-r--r--demos/declarative/flickr/mobile/ToolBar.qml41
-rw-r--r--demos/declarative/flickr/mobile/images/quit.pngbin0 -> 2369 bytes
-rw-r--r--demos/declarative/minehunt/MinehuntCore/Explosion.qml41
-rw-r--r--demos/declarative/minehunt/MinehuntCore/Tile.qml43
-rw-r--r--demos/declarative/minehunt/MinehuntCore/qmldir2
-rw-r--r--demos/declarative/minehunt/minehunt.cpp2
-rw-r--r--demos/declarative/minehunt/minehunt.pro6
-rw-r--r--demos/declarative/minehunt/minehunt.qml41
-rw-r--r--demos/declarative/photoviewer/PhotoViewerCore/AlbumDelegate.qml51
-rw-r--r--demos/declarative/photoviewer/PhotoViewerCore/BusyIndicator.qml41
-rw-r--r--demos/declarative/photoviewer/PhotoViewerCore/Button.qml45
-rw-r--r--demos/declarative/photoviewer/PhotoViewerCore/EditableButton.qml81
-rw-r--r--demos/declarative/photoviewer/PhotoViewerCore/PhotoDelegate.qml41
-rw-r--r--demos/declarative/photoviewer/PhotoViewerCore/ProgressBar.qml41
-rw-r--r--demos/declarative/photoviewer/PhotoViewerCore/RssModel.qml41
-rw-r--r--demos/declarative/photoviewer/PhotoViewerCore/Tag.qml41
-rw-r--r--demos/declarative/photoviewer/i18n/base.ts30
-rw-r--r--demos/declarative/photoviewer/i18n/qml_fr.qmbin0 -> 268 bytes
-rw-r--r--demos/declarative/photoviewer/i18n/qml_fr.ts30
-rw-r--r--demos/declarative/photoviewer/photoviewer.qml47
-rw-r--r--demos/declarative/rssnews/content/BusyIndicator.qml53
-rw-r--r--demos/declarative/rssnews/content/CategoryDelegate.qml82
-rw-r--r--demos/declarative/rssnews/content/NewsDelegate.qml70
-rw-r--r--demos/declarative/rssnews/content/RssFeeds.qml59
-rw-r--r--demos/declarative/rssnews/content/ScrollBar.qml107
-rw-r--r--demos/declarative/rssnews/content/images/busy.pngbin0 -> 2629 bytes
-rw-r--r--demos/declarative/rssnews/content/images/scrollbar.pngbin0 -> 161 bytes
-rw-r--r--demos/declarative/rssnews/rssnews.qml93
-rw-r--r--demos/declarative/rssnews/rssnews.qmlproject (renamed from examples/declarative/animations/animations.qmlproject)0
-rw-r--r--demos/declarative/samegame/SamegameCore/BoomBlock.qml41
-rw-r--r--demos/declarative/samegame/SamegameCore/Button.qml41
-rw-r--r--demos/declarative/samegame/SamegameCore/Dialog.qml46
-rwxr-xr-xdemos/declarative/samegame/SamegameCore/samegame.js9
-rw-r--r--demos/declarative/samegame/samegame.qml63
-rw-r--r--demos/declarative/snake/content/Button.qml41
-rw-r--r--demos/declarative/snake/content/Cookie.qml41
-rw-r--r--demos/declarative/snake/content/HighScoreModel.qml43
-rw-r--r--demos/declarative/snake/content/Link.qml43
-rw-r--r--demos/declarative/snake/content/Skull.qml41
-rw-r--r--demos/declarative/snake/content/snake.js19
-rw-r--r--demos/declarative/snake/snake.qml59
-rw-r--r--demos/declarative/twitter/TwitterCore/AuthView.qml41
-rw-r--r--demos/declarative/twitter/TwitterCore/Button.qml41
-rw-r--r--demos/declarative/twitter/TwitterCore/FatDelegate.qml43
-rw-r--r--demos/declarative/twitter/TwitterCore/HomeTitleBar.qml49
-rw-r--r--demos/declarative/twitter/TwitterCore/Loading.qml41
-rw-r--r--demos/declarative/twitter/TwitterCore/MultiTitleBar.qml43
-rw-r--r--demos/declarative/twitter/TwitterCore/RssModel.qml41
-rw-r--r--demos/declarative/twitter/TwitterCore/TitleBar.qml45
-rw-r--r--demos/declarative/twitter/TwitterCore/ToolBar.qml41
-rw-r--r--demos/declarative/twitter/TwitterCore/UserModel.qml41
-rw-r--r--demos/declarative/twitter/twitter.qml48
-rw-r--r--demos/declarative/webbrowser/content/Button.qml65
-rw-r--r--demos/declarative/webbrowser/content/FlickableWebView.qml85
-rw-r--r--demos/declarative/webbrowser/content/Header.qml128
-rw-r--r--demos/declarative/webbrowser/content/RectSoftShadow.qml32
-rw-r--r--demos/declarative/webbrowser/content/RetractingWebBrowserHeader.qml113
-rw-r--r--demos/declarative/webbrowser/content/ScrollBar.qml107
-rw-r--r--demos/declarative/webbrowser/content/UrlInput.qml96
-rw-r--r--demos/declarative/webbrowser/content/fieldtext/FieldText.qml157
-rw-r--r--demos/declarative/webbrowser/content/pics/addressbar-filled.pngbin694 -> 0 bytes
-rw-r--r--demos/declarative/webbrowser/content/pics/addressbar-filled.sci6
-rw-r--r--demos/declarative/webbrowser/content/pics/addressbar.pngbin467 -> 0 bytes
-rw-r--r--demos/declarative/webbrowser/content/pics/addressbar.sci6
-rw-r--r--demos/declarative/webbrowser/content/pics/back-disabled.pngbin475 -> 0 bytes
-rw-r--r--demos/declarative/webbrowser/content/pics/back.pngbin707 -> 0 bytes
-rw-r--r--demos/declarative/webbrowser/content/pics/display.pngbin0 -> 998 bytes
-rw-r--r--demos/declarative/webbrowser/content/pics/edit-delete.pngbin0 -> 1333 bytes
-rw-r--r--demos/declarative/webbrowser/content/pics/footer.pngbin200 -> 0 bytes
-rw-r--r--demos/declarative/webbrowser/content/pics/footer.sci6
-rw-r--r--demos/declarative/webbrowser/content/pics/forward-disabled.pngbin471 -> 0 bytes
-rw-r--r--demos/declarative/webbrowser/content/pics/forward.pngbin682 -> 0 bytes
-rw-r--r--demos/declarative/webbrowser/content/pics/go-jump-locationbar.pngbin0 -> 714 bytes
-rw-r--r--demos/declarative/webbrowser/content/pics/go-next-view.pngbin0 -> 1187 bytes
-rw-r--r--demos/declarative/webbrowser/content/pics/go-previous-view.pngbin0 -> 1226 bytes
-rw-r--r--demos/declarative/webbrowser/content/pics/header.pngbin193 -> 0 bytes
-rw-r--r--demos/declarative/webbrowser/content/pics/reload.pngbin1283 -> 0 bytes
-rw-r--r--demos/declarative/webbrowser/content/pics/scrollbar.pngbin0 -> 161 bytes
-rw-r--r--demos/declarative/webbrowser/content/pics/softshadow-bottom.pngbin186 -> 0 bytes
-rw-r--r--demos/declarative/webbrowser/content/pics/softshadow-left.pngbin598 -> 0 bytes
-rw-r--r--demos/declarative/webbrowser/content/pics/softshadow-left.sci5
-rw-r--r--demos/declarative/webbrowser/content/pics/softshadow-right.pngbin636 -> 0 bytes
-rw-r--r--demos/declarative/webbrowser/content/pics/softshadow-right.sci5
-rw-r--r--demos/declarative/webbrowser/content/pics/softshadow-top.pngbin186 -> 0 bytes
-rw-r--r--demos/declarative/webbrowser/content/pics/titlebar-bg.pngbin0 -> 213 bytes
-rw-r--r--demos/declarative/webbrowser/content/pics/view-refresh.pngbin0 -> 2182 bytes
-rw-r--r--demos/declarative/webbrowser/webbrowser.qml225
-rw-r--r--demos/deform/main.cpp5
-rw-r--r--demos/demos.pro4
-rw-r--r--demos/embedded/anomaly/src/ControlStrip.cpp12
-rw-r--r--demos/embedded/desktopservices/desktopservices.pro4
-rw-r--r--demos/embedded/embedded.pro5
-rw-r--r--demos/embedded/flightinfo/flightinfo.cpp60
-rw-r--r--demos/embedded/fluidlauncher/config_s60/config.xml8
-rw-r--r--demos/embedded/fluidlauncher/fluidlauncher.pro24
-rw-r--r--demos/embedded/fluidlauncher/screenshots/qmlcalculator.pngbin0 -> 15455 bytes
-rw-r--r--demos/embedded/fluidlauncher/screenshots/qmlclocks.pngbin0 -> 12409 bytes
-rw-r--r--demos/embedded/fluidlauncher/screenshots/qmldialcontrol.pngbin0 -> 16811 bytes
-rw-r--r--demos/embedded/fluidlauncher/screenshots/qmleasing.pngbin0 -> 3453 bytes
-rw-r--r--demos/embedded/fluidlauncher/screenshots/qmlflickr.jpgbin0 -> 35616 bytes
-rw-r--r--demos/embedded/fluidlauncher/screenshots/qmlphotoviewer.jpgbin0 -> 24216 bytes
-rw-r--r--demos/embedded/fluidlauncher/screenshots/qmltwitter.jpgbin0 -> 35159 bytes
-rw-r--r--demos/embedded/fluidlauncher/screenshots/spectrum.pngbin0 -> 21771 bytes
-rw-r--r--demos/embedded/qmlcalculator/deployment.pri7
-rw-r--r--demos/embedded/qmlcalculator/qmlcalculator.cpp78
-rw-r--r--demos/embedded/qmlcalculator/qmlcalculator.pro12
-rw-r--r--demos/embedded/qmlclocks/deployment.pri7
-rw-r--r--demos/embedded/qmlclocks/qmlclocks.cpp78
-rw-r--r--demos/embedded/qmlclocks/qmlclocks.pro12
-rw-r--r--demos/embedded/qmldialcontrol/deployment.pri7
-rw-r--r--demos/embedded/qmldialcontrol/qmldialcontrol.cpp66
-rw-r--r--demos/embedded/qmldialcontrol/qmldialcontrol.pro11
-rw-r--r--demos/embedded/qmleasing/deployment.pri7
-rw-r--r--demos/embedded/qmleasing/qmleasing.cpp66
-rw-r--r--demos/embedded/qmleasing/qmleasing.pro11
-rw-r--r--demos/embedded/qmlflickr/deployment.pri7
-rw-r--r--demos/embedded/qmlflickr/qmlflickr.cpp92
-rw-r--r--demos/embedded/qmlflickr/qmlflickr.pro14
-rw-r--r--demos/embedded/qmlphotoviewer/deployment.pri7
-rw-r--r--demos/embedded/qmlphotoviewer/qmlphotoviewer.cpp92
-rw-r--r--demos/embedded/qmlphotoviewer/qmlphotoviewer.pro14
-rw-r--r--demos/embedded/qmltwitter/deployment.pri7
-rw-r--r--demos/embedded/qmltwitter/qmltwitter.cpp92
-rw-r--r--demos/embedded/qmltwitter/qmltwitter.pro14
-rw-r--r--demos/embedded/weatherinfo/weatherinfo.cpp17
-rw-r--r--demos/multimedia/multimedia.pro3
-rw-r--r--demos/multimedia/player/main.cpp54
-rw-r--r--demos/multimedia/player/player.cpp372
-rw-r--r--demos/multimedia/player/player.h114
-rw-r--r--demos/multimedia/player/player.pro29
-rw-r--r--demos/multimedia/player/playercontrols.cpp205
-rw-r--r--demos/multimedia/player/playercontrols.h107
-rw-r--r--demos/multimedia/player/playlistmodel.cpp160
-rw-r--r--demos/multimedia/player/playlistmodel.h95
-rw-r--r--demos/multimedia/player/videowidget.cpp78
-rw-r--r--demos/multimedia/player/videowidget.h66
-rw-r--r--demos/pathstroke/main.cpp5
-rw-r--r--demos/qmediaplayer/qmediaplayer.pro2
-rw-r--r--demos/qtdemo/colors.cpp6
-rw-r--r--demos/qtdemo/colors.h1
-rw-r--r--demos/qtdemo/mainwindow.cpp19
-rw-r--r--demos/qtdemo/mainwindow.h3
-rw-r--r--demos/qtdemo/menumanager.cpp114
-rw-r--r--demos/qtdemo/menumanager.h7
-rw-r--r--demos/qtdemo/qmlShell.qml174
-rw-r--r--demos/qtdemo/qtdemo.pro4
-rw-r--r--demos/qtdemo/qtdemo.qrc17
-rw-r--r--demos/qtdemo/xml/examples.xml37
-rw-r--r--demos/spectrum/3rdparty/fftreal/Array.h97
-rw-r--r--demos/spectrum/3rdparty/fftreal/Array.hpp98
-rw-r--r--demos/spectrum/3rdparty/fftreal/DynArray.h100
-rw-r--r--demos/spectrum/3rdparty/fftreal/DynArray.hpp143
-rw-r--r--demos/spectrum/3rdparty/fftreal/FFTReal.dsp273
-rw-r--r--demos/spectrum/3rdparty/fftreal/FFTReal.dsw29
-rw-r--r--demos/spectrum/3rdparty/fftreal/FFTReal.h142
-rw-r--r--demos/spectrum/3rdparty/fftreal/FFTReal.hpp916
-rw-r--r--demos/spectrum/3rdparty/fftreal/FFTRealFixLen.h130
-rw-r--r--demos/spectrum/3rdparty/fftreal/FFTRealFixLen.hpp322
-rw-r--r--demos/spectrum/3rdparty/fftreal/FFTRealFixLenParam.h93
-rw-r--r--demos/spectrum/3rdparty/fftreal/FFTRealPassDirect.h96
-rw-r--r--demos/spectrum/3rdparty/fftreal/FFTRealPassDirect.hpp204
-rw-r--r--demos/spectrum/3rdparty/fftreal/FFTRealPassInverse.h101
-rw-r--r--demos/spectrum/3rdparty/fftreal/FFTRealPassInverse.hpp229
-rw-r--r--demos/spectrum/3rdparty/fftreal/FFTRealSelect.h77
-rw-r--r--demos/spectrum/3rdparty/fftreal/FFTRealSelect.hpp62
-rw-r--r--demos/spectrum/3rdparty/fftreal/FFTRealUseTrigo.h101
-rw-r--r--demos/spectrum/3rdparty/fftreal/FFTRealUseTrigo.hpp91
-rw-r--r--demos/spectrum/3rdparty/fftreal/OscSinCos.h106
-rw-r--r--demos/spectrum/3rdparty/fftreal/OscSinCos.hpp122
-rw-r--r--demos/spectrum/3rdparty/fftreal/TestAccuracy.h105
-rw-r--r--demos/spectrum/3rdparty/fftreal/TestAccuracy.hpp472
-rw-r--r--demos/spectrum/3rdparty/fftreal/TestHelperFixLen.h93
-rw-r--r--demos/spectrum/3rdparty/fftreal/TestHelperFixLen.hpp93
-rw-r--r--demos/spectrum/3rdparty/fftreal/TestHelperNormal.h94
-rw-r--r--demos/spectrum/3rdparty/fftreal/TestHelperNormal.hpp99
-rw-r--r--demos/spectrum/3rdparty/fftreal/TestSpeed.h95
-rw-r--r--demos/spectrum/3rdparty/fftreal/TestSpeed.hpp223
-rw-r--r--demos/spectrum/3rdparty/fftreal/TestWhiteNoiseGen.h95
-rw-r--r--demos/spectrum/3rdparty/fftreal/TestWhiteNoiseGen.hpp91
-rw-r--r--demos/spectrum/3rdparty/fftreal/bwins/fftrealu.def5
-rw-r--r--demos/spectrum/3rdparty/fftreal/def.h60
-rw-r--r--demos/spectrum/3rdparty/fftreal/eabi/fftrealu.def7
-rw-r--r--demos/spectrum/3rdparty/fftreal/fftreal.pas661
-rw-r--r--demos/spectrum/3rdparty/fftreal/fftreal.pro48
-rw-r--r--demos/spectrum/3rdparty/fftreal/fftreal_wrapper.cpp54
-rw-r--r--demos/spectrum/3rdparty/fftreal/fftreal_wrapper.h63
-rw-r--r--demos/spectrum/3rdparty/fftreal/license.txt459
-rw-r--r--demos/spectrum/3rdparty/fftreal/readme.txt242
-rw-r--r--demos/spectrum/3rdparty/fftreal/stopwatch/ClockCycleCounter.cpp285
-rw-r--r--demos/spectrum/3rdparty/fftreal/stopwatch/ClockCycleCounter.h124
-rw-r--r--demos/spectrum/3rdparty/fftreal/stopwatch/ClockCycleCounter.hpp150
-rw-r--r--demos/spectrum/3rdparty/fftreal/stopwatch/Int64.h71
-rw-r--r--demos/spectrum/3rdparty/fftreal/stopwatch/StopWatch.cpp101
-rw-r--r--demos/spectrum/3rdparty/fftreal/stopwatch/StopWatch.h110
-rw-r--r--demos/spectrum/3rdparty/fftreal/stopwatch/StopWatch.hpp83
-rw-r--r--demos/spectrum/3rdparty/fftreal/stopwatch/def.h65
-rw-r--r--demos/spectrum/3rdparty/fftreal/stopwatch/fnc.h67
-rw-r--r--demos/spectrum/3rdparty/fftreal/stopwatch/fnc.hpp85
-rw-r--r--demos/spectrum/3rdparty/fftreal/test.cpp267
-rw-r--r--demos/spectrum/3rdparty/fftreal/test_fnc.h53
-rw-r--r--demos/spectrum/3rdparty/fftreal/test_fnc.hpp56
-rw-r--r--demos/spectrum/3rdparty/fftreal/test_settings.h45
-rw-r--r--demos/spectrum/3rdparty/fftreal/testapp.dpr150
-rw-r--r--demos/spectrum/README.txt103
-rw-r--r--demos/spectrum/TODO.txt34
-rw-r--r--demos/spectrum/app/app.pro129
-rw-r--r--demos/spectrum/app/engine.cpp751
-rw-r--r--demos/spectrum/app/engine.h314
-rw-r--r--demos/spectrum/app/frequencyspectrum.cpp89
-rw-r--r--demos/spectrum/app/frequencyspectrum.h98
-rw-r--r--demos/spectrum/app/images/record.pngbin0 -> 670 bytes
-rw-r--r--demos/spectrum/app/images/settings.pngbin0 -> 3649 bytes
-rw-r--r--demos/spectrum/app/levelmeter.cpp142
-rw-r--r--demos/spectrum/app/levelmeter.h116
-rw-r--r--demos/spectrum/app/main.cpp57
-rw-r--r--demos/spectrum/app/mainwidget.cpp454
-rw-r--r--demos/spectrum/app/mainwidget.h142
-rw-r--r--demos/spectrum/app/progressbar.cpp140
-rw-r--r--demos/spectrum/app/progressbar.h74
-rw-r--r--demos/spectrum/app/settingsdialog.cpp148
-rw-r--r--demos/spectrum/app/settingsdialog.h87
-rw-r--r--demos/spectrum/app/spectrograph.cpp241
-rw-r--r--demos/spectrum/app/spectrograph.h99
-rw-r--r--demos/spectrum/app/spectrum.h144
-rw-r--r--demos/spectrum/app/spectrum.qrc7
-rw-r--r--demos/spectrum/app/spectrum.sh50
-rw-r--r--demos/spectrum/app/spectrumanalyser.cpp279
-rw-r--r--demos/spectrum/app/spectrumanalyser.h194
-rw-r--r--demos/spectrum/app/tonegenerator.cpp91
-rw-r--r--demos/spectrum/app/tonegenerator.h56
-rw-r--r--demos/spectrum/app/tonegeneratordialog.cpp147
-rw-r--r--demos/spectrum/app/tonegeneratordialog.h81
-rw-r--r--demos/spectrum/app/utils.cpp137
-rw-r--r--demos/spectrum/app/utils.h112
-rw-r--r--demos/spectrum/app/waveform.cpp418
-rw-r--r--demos/spectrum/app/waveform.h201
-rw-r--r--demos/spectrum/app/wavfile.cpp246
-rw-r--r--demos/spectrum/app/wavfile.h83
-rw-r--r--demos/spectrum/spectrum.pri37
-rw-r--r--demos/spectrum/spectrum.pro30
-rw-r--r--dist/changes-4.6.3395
-rw-r--r--dist/changes-4.6.4158
-rw-r--r--dist/changes-4.7.0237
-rw-r--r--doc/doc.pri21
-rw-r--r--doc/src/classes.qdoc6
-rw-r--r--doc/src/declarative/advtutorial.qdoc56
-rw-r--r--doc/src/declarative/animation.qdoc149
-rw-r--r--doc/src/declarative/basictypes.qdoc472
-rw-r--r--doc/src/declarative/codingconventions.qdoc7
-rw-r--r--doc/src/declarative/declarativeui.qdoc69
-rw-r--r--doc/src/declarative/dynamicobjects.qdoc199
-rw-r--r--doc/src/declarative/elements.qdoc24
-rw-r--r--doc/src/declarative/example-slideswitch.qdoc20
-rw-r--r--doc/src/declarative/examples.qdoc157
-rw-r--r--doc/src/declarative/extending-examples.qdoc304
-rw-r--r--doc/src/declarative/extending-tutorial.qdoc8
-rw-r--r--doc/src/declarative/extending.qdoc64
-rw-r--r--doc/src/declarative/focus.qdoc30
-rw-r--r--doc/src/declarative/globalobject.qdoc245
-rw-r--r--doc/src/declarative/integrating.qdoc52
-rw-r--r--doc/src/declarative/pics/anchorchanges.pngbin0 -> 566 bytes
-rw-r--r--doc/src/declarative/pics/gridview-highlight.pngbin0 -> 11806 bytes
-rw-r--r--doc/src/declarative/pics/gridview-simple.pngbin0 -> 10149 bytes
-rw-r--r--doc/src/declarative/pics/gridview.pngbin10564 -> 0 bytes
-rw-r--r--doc/src/declarative/pics/listmodel-nested.pngbin0 -> 7493 bytes
-rw-r--r--doc/src/declarative/pics/listmodel.pngbin0 -> 3407 bytes
-rw-r--r--doc/src/declarative/pics/listview-highlight.png (renamed from doc/src/declarative/pics/trivialListView.png)bin5918 -> 5918 bytes
-rw-r--r--doc/src/declarative/pics/listview-simple.pngbin0 -> 5351 bytes
-rw-r--r--doc/src/declarative/pics/parentchange.pngbin0 -> 509 bytes
-rw-r--r--doc/src/declarative/pics/rect-border-width.pngbin0 -> 356 bytes
-rw-r--r--doc/src/declarative/pics/repeater-modeldata.pngbin0 -> 3394 bytes
-rw-r--r--doc/src/declarative/pics/repeater-simple.pngbin0 -> 404 bytes
-rw-r--r--doc/src/declarative/pics/translate.pngbin0 -> 398 bytes
-rw-r--r--doc/src/declarative/pics/visualitemmodel.pngbin0 -> 347 bytes
-rw-r--r--doc/src/declarative/qdeclarativedebugging.qdoc31
-rw-r--r--doc/src/declarative/qdeclarativedocument.qdoc18
-rw-r--r--doc/src/declarative/qdeclarativeintro.qdoc5
-rw-r--r--doc/src/declarative/qdeclarativemodels.qdoc56
-rw-r--r--doc/src/declarative/qdeclarativeperformance.qdoc120
-rw-r--r--doc/src/declarative/qdeclarativestates.qdoc52
-rw-r--r--doc/src/declarative/qml-intro.qdoc967
-rw-r--r--doc/src/declarative/qmlruntime.qdoc82
-rw-r--r--doc/src/declarative/qtbinding.qdoc31
-rw-r--r--doc/src/declarative/qtdeclarative.qdoc6
-rw-r--r--doc/src/declarative/snippets/integrating/graphicswidgets/bluecircle.h55
-rw-r--r--doc/src/declarative/snippets/integrating/graphicswidgets/graphicswidgets.pro13
-rw-r--r--doc/src/declarative/snippets/integrating/graphicswidgets/main.qml32
-rw-r--r--doc/src/declarative/snippets/integrating/graphicswidgets/qmldir1
-rw-r--r--doc/src/declarative/snippets/integrating/graphicswidgets/redsquare.h54
-rw-r--r--doc/src/declarative/snippets/integrating/graphicswidgets/shapesplugin.cpp61
-rw-r--r--doc/src/declarative/snippets/qtbinding/contextproperties/main.qml15
-rw-r--r--doc/src/declarative/snippets/qtbinding/custompalette/main.qml22
-rw-r--r--doc/src/declarative/snippets/qtbinding/resources/main.qml7
-rw-r--r--doc/src/declarative/snippets/qtbinding/stopwatch/main.qml18
-rw-r--r--doc/src/declarative/tutorial.qdoc29
-rw-r--r--doc/src/demos/boxes.qdoc2
-rw-r--r--doc/src/deployment/deployment.qdoc26
-rw-r--r--doc/src/development/assistant-manual.qdoc2
-rw-r--r--doc/src/development/developing-on-mac.qdoc5
-rw-r--r--doc/src/development/qmake-manual.qdoc1
-rw-r--r--doc/src/development/rcc.qdoc40
-rw-r--r--doc/src/diagrams/modelview-move-rows-1.sk271
-rw-r--r--doc/src/diagrams/modelview-move-rows-2.sk271
-rw-r--r--doc/src/diagrams/modelview-move-rows-3.sk136
-rw-r--r--doc/src/diagrams/modelview-move-rows-4.sk136
-rw-r--r--doc/src/examples/diagramscene.qdoc12
-rw-r--r--doc/src/examples/drilldown.qdoc12
-rw-r--r--doc/src/examples/elasticnodes.qdoc124
-rw-r--r--doc/src/examples/fingerpaint.qdoc2
-rw-r--r--doc/src/examples/mandelbrot.qdoc2
-rw-r--r--doc/src/examples/padnavigator.qdoc552
-rw-r--r--doc/src/examples/pinchzoom.qdoc2
-rw-r--r--doc/src/examples/pixelator.qdoc6
-rw-r--r--doc/src/examples/qml-examples.qdoc356
-rw-r--r--doc/src/examples/qml-extending.qdoc302
-rw-r--r--doc/src/examples/qml-flickr.qdoc2
-rw-r--r--doc/src/examples/qml-folderlistmodel.qdoc144
-rw-r--r--doc/src/examples/qml-minehunt.qdoc5
-rw-r--r--doc/src/examples/qml-photoviewer.qdoc2
-rw-r--r--doc/src/examples/qml-rssnews.qdoc49
-rw-r--r--doc/src/examples/qml-samegame.qdoc5
-rw-r--r--doc/src/examples/qml-snake.qdoc5
-rw-r--r--doc/src/examples/qml-twitter.qdoc50
-rw-r--r--doc/src/examples/transformations.qdoc4
-rw-r--r--doc/src/examples/undoframework.qdoc2
-rw-r--r--doc/src/examples/waitconditions.qdoc2
-rw-r--r--doc/src/external-resources.qdoc5
-rw-r--r--doc/src/files-and-resources/datastreamformat.qdoc3
-rw-r--r--doc/src/files-and-resources/resources.qdoc2
-rw-r--r--doc/src/frameworks-technologies/accessible.qdoc6
-rw-r--r--doc/src/frameworks-technologies/activeqt-container.qdoc7
-rw-r--r--doc/src/frameworks-technologies/activeqt-server.qdoc6
-rw-r--r--doc/src/frameworks-technologies/activeqt.qdoc12
-rw-r--r--doc/src/frameworks-technologies/animation.qdoc1
-rw-r--r--doc/src/frameworks-technologies/containers.qdoc2
-rw-r--r--doc/src/frameworks-technologies/dbus-adaptors.qdoc2
-rw-r--r--doc/src/frameworks-technologies/dbus-intro.qdoc2
-rw-r--r--doc/src/frameworks-technologies/desktop-integration.qdoc6
-rw-r--r--doc/src/frameworks-technologies/dnd.qdoc16
-rw-r--r--doc/src/frameworks-technologies/eventsandfilters.qdoc3
-rw-r--r--doc/src/frameworks-technologies/gestures.qdoc7
-rw-r--r--doc/src/frameworks-technologies/graphicsview.qdoc23
-rw-r--r--doc/src/frameworks-technologies/implicit-sharing.qdoc2
-rw-r--r--doc/src/frameworks-technologies/ipc.qdoc3
-rw-r--r--doc/src/frameworks-technologies/model-view-programming.qdoc463
-rw-r--r--doc/src/frameworks-technologies/phonon.qdoc6
-rw-r--r--doc/src/frameworks-technologies/threads.qdoc1
-rw-r--r--doc/src/frameworks-technologies/unicode.qdoc2
-rw-r--r--doc/src/getting-started/demos.qdoc26
-rw-r--r--doc/src/getting-started/examples.qdoc631
-rw-r--r--doc/src/getting-started/how-to-learn-qt.qdoc10
-rw-r--r--doc/src/getting-started/installation.qdoc30
-rw-r--r--doc/src/getting-started/known-issues.qdoc10
-rw-r--r--doc/src/howtos/HWacceleration.qdoc15
-rw-r--r--doc/src/howtos/accelerators.qdoc1
-rw-r--r--doc/src/howtos/appicon.qdoc1
-rw-r--r--doc/src/howtos/guibooks.qdoc3
-rw-r--r--doc/src/howtos/openvg.qdoc26
-rw-r--r--doc/src/howtos/qtdesigner.qdoc1
-rw-r--r--doc/src/howtos/restoring-geometry.qdoc2
-rw-r--r--doc/src/howtos/session.qdoc2
-rw-r--r--doc/src/howtos/sharedlibrary.qdoc2
-rw-r--r--doc/src/howtos/timers.qdoc2
-rw-r--r--doc/src/images/declarative-folderlistmodel.pngbin0 -> 17764 bytes
-rw-r--r--doc/src/images/declarative-image_fillMode.gifbin79561 -> 0 bytes
-rw-r--r--doc/src/images/declarative-integrating-graphicswidgets.pngbin1061 -> 0 bytes
-rw-r--r--doc/src/images/declarative-qtlogo-preserveaspectcrop.pngbin0 -> 6440 bytes
-rw-r--r--doc/src/images/declarative-qtlogo-preserveaspectfit.pngbin0 -> 4076 bytes
-rw-r--r--doc/src/images/declarative-qtlogo-stretch.pngbin0 -> 5584 bytes
-rw-r--r--doc/src/images/declarative-qtlogo-tile.pngbin0 -> 3940 bytes
-rw-r--r--doc/src/images/declarative-qtlogo-tilehorizontally.pngbin0 -> 5544 bytes
-rw-r--r--doc/src/images/declarative-qtlogo-tilevertically.pngbin0 -> 6288 bytes
-rw-r--r--doc/src/images/declarative-qtlogo.png (renamed from doc/src/images/declarative-qtlogo1.png)bin3436 -> 3436 bytes
-rw-r--r--doc/src/images/declarative-qtlogo2.pngbin11023 -> 0 bytes
-rw-r--r--doc/src/images/declarative-qtlogo3.pngbin4783 -> 0 bytes
-rw-r--r--doc/src/images/declarative-qtlogo4.pngbin11241 -> 0 bytes
-rw-r--r--doc/src/images/declarative-qtlogo5.pngbin3553 -> 0 bytes
-rw-r--r--doc/src/images/declarative-qtlogo6.pngbin4763 -> 0 bytes
-rw-r--r--doc/src/images/modelview-move-rows-1.pngbin0 -> 19709 bytes
-rw-r--r--doc/src/images/modelview-move-rows-2.pngbin0 -> 19385 bytes
-rw-r--r--doc/src/images/modelview-move-rows-3.pngbin0 -> 9281 bytes
-rw-r--r--doc/src/images/modelview-move-rows-4.pngbin0 -> 9381 bytes
-rw-r--r--doc/src/images/multitouch-fingerpaint-example.pngbin0 -> 17026 bytes
-rw-r--r--doc/src/images/qml-clocks-example.pngbin0 -> 40742 bytes
-rw-r--r--doc/src/images/qml-corkboards-example.pngbin0 -> 179625 bytes
-rw-r--r--doc/src/images/qml-dial.pngbin0 -> 43754 bytes
-rw-r--r--doc/src/images/qml-dialcontrol-example.pngbin0 -> 33569 bytes
-rw-r--r--doc/src/images/qml-dynamicscene-example.pngbin0 -> 65247 bytes
-rw-r--r--doc/src/images/qml-flickr-demo.png (renamed from doc/src/images/qml-flickr-example.png)bin280730 -> 280730 bytes
-rw-r--r--doc/src/images/qml-flipable-example.pngbin0 -> 13301 bytes
-rw-r--r--doc/src/images/qml-image-example.pngbin0 -> 58184 bytes
-rw-r--r--doc/src/images/qml-intro-anchors1.pngbin0 -> 15198 bytes
-rw-r--r--doc/src/images/qml-intro-anchors2.pngbin0 -> 15343 bytes
-rw-r--r--doc/src/images/qml-intro-anchors3.pngbin0 -> 16745 bytes
-rw-r--r--doc/src/images/qml-intro-helloa.pngbin0 -> 18246 bytes
-rw-r--r--doc/src/images/qml-minehunt-demo.png (renamed from doc/src/images/qml-minehunt-example.png)bin170648 -> 170648 bytes
-rw-r--r--doc/src/images/qml-photoviewer-demo.png (renamed from doc/src/images/qml-photoviewer-example.png)bin473306 -> 473306 bytes
-rw-r--r--doc/src/images/qml-progressbar-example.pngbin0 -> 15188 bytes
-rw-r--r--doc/src/images/qml-rssnews-demo.pngbin0 -> 143314 bytes
-rw-r--r--doc/src/images/qml-samegame-demo.png (renamed from doc/src/images/qml-samegame-example.png)bin285415 -> 285415 bytes
-rw-r--r--doc/src/images/qml-searchbox-example.pngbin0 -> 8170 bytes
-rw-r--r--doc/src/images/qml-slideswitch-example.pngbin0 -> 8298 bytes
-rw-r--r--doc/src/images/qml-snake-demo.png (renamed from doc/src/images/qml-snake-example.png)bin105053 -> 105053 bytes
-rw-r--r--doc/src/images/qml-spinner-example.pngbin0 -> 5637 bytes
-rw-r--r--doc/src/images/qml-tabwidget-example.pngbin0 -> 6487 bytes
-rw-r--r--doc/src/images/qml-tic-tac-toe-example.pngbin0 -> 24275 bytes
-rw-r--r--doc/src/images/qml-tvtennis-example.pngbin0 -> 2070 bytes
-rw-r--r--doc/src/images/qml-twitter-demo.pngbin0 -> 95812 bytes
-rw-r--r--doc/src/index.qdoc60
-rw-r--r--doc/src/internationalization/linguist-manual.qdoc9
-rw-r--r--doc/src/ja_JP/development/designer-manual.qdoc175
-rw-r--r--doc/src/ja_JP/development/qmake-manual.qdoc212
-rw-r--r--doc/src/ja_JP/development/qtestlib.qdoc432
-rw-r--r--doc/src/ja_JP/examples/arrowpad.qdoc248
-rw-r--r--doc/src/ja_JP/examples/hellotr.qdoc200
-rw-r--r--doc/src/ja_JP/examples/trollprint.qdoc286
-rw-r--r--doc/src/ja_JP/getting-started/tutorials.qdoc101
-rw-r--r--doc/src/ja_JP/images/linguist-hellotr_en.pngbin0 -> 4424 bytes
-rw-r--r--doc/src/ja_JP/images/linguist-hellotr_ja.pngbin0 -> 5624 bytes
-rw-r--r--doc/src/ja_JP/snippets/code/doc_src_examples_hellotr.qdoc72
-rw-r--r--doc/src/ja_JP/tutorials/addressbook.qdoc1070
-rw-r--r--doc/src/ja_JP/tutorials/widgets-tutorial.qdoc257
-rw-r--r--doc/src/legal/opensourceedition.qdoc16
-rw-r--r--doc/src/modules.qdoc46
-rw-r--r--doc/src/network-programming/bearermanagement.qdoc9
-rw-r--r--doc/src/network-programming/qtnetwork.qdoc1
-rw-r--r--doc/src/network-programming/ssl.qdoc6
-rw-r--r--doc/src/objectmodel/metaobjects.qdoc4
-rw-r--r--doc/src/objectmodel/object.qdoc11
-rw-r--r--doc/src/objectmodel/objecttrees.qdoc3
-rw-r--r--doc/src/objectmodel/properties.qdoc4
-rw-r--r--doc/src/objectmodel/signalsandslots.qdoc3
-rw-r--r--doc/src/overviews.qdoc87
-rw-r--r--doc/src/painting-and-printing/coordsys.qdoc7
-rw-r--r--doc/src/painting-and-printing/paintsystem.qdoc16
-rw-r--r--doc/src/painting-and-printing/printing.qdoc1
-rw-r--r--doc/src/platforms/emb-openvg.qdocinc25
-rw-r--r--doc/src/platforms/emb-qvfb.qdoc10
-rw-r--r--doc/src/platforms/platform-notes.qdoc2
-rw-r--r--doc/src/platforms/symbian-introduction.qdoc7
-rw-r--r--doc/src/porting/porting4-canvas.qdoc2
-rw-r--r--doc/src/porting/porting4.qdoc4
-rw-r--r--doc/src/scripting/scripting.qdoc8
-rw-r--r--doc/src/snippets/code/src_corelib_kernel_qabstractitemmodel.cpp20
-rw-r--r--doc/src/snippets/code/src_gui_graphicsview_qgraphicsitem.cpp6
-rw-r--r--doc/src/snippets/declarative/Sprite.qml46
-rw-r--r--doc/src/snippets/declarative/anchorchanges.qml69
-rw-r--r--doc/src/snippets/declarative/animation.qml181
-rw-r--r--doc/src/snippets/declarative/border-image.qml29
-rw-r--r--doc/src/snippets/declarative/borderimage.qml70
-rw-r--r--doc/src/snippets/declarative/codingconventions/dotproperties.qml41
-rw-r--r--doc/src/snippets/declarative/codingconventions/javascript-imports.qml41
-rw-r--r--doc/src/snippets/declarative/codingconventions/javascript.qml41
-rw-r--r--doc/src/snippets/declarative/codingconventions/lists.qml41
-rw-r--r--doc/src/snippets/declarative/codingconventions/photo.qml41
-rw-r--r--doc/src/snippets/declarative/comments.qml41
-rw-r--r--doc/src/snippets/declarative/componentCreation.js47
-rw-r--r--doc/src/snippets/declarative/createComponent.qml52
-rw-r--r--doc/src/snippets/declarative/createQmlObject.qml59
-rw-r--r--doc/src/snippets/declarative/drag.qml18
-rw-r--r--doc/src/snippets/declarative/dynamicObjects.qml70
-rw-r--r--doc/src/snippets/declarative/flickableScrollbar.qml67
-rw-r--r--doc/src/snippets/declarative/flipable.qml41
-rw-r--r--doc/src/snippets/declarative/focusscopes.qml68
-rw-r--r--doc/src/snippets/declarative/folderlistmodel.qml58
-rw-r--r--doc/src/snippets/declarative/gradient.qml43
-rw-r--r--doc/src/snippets/declarative/gridview/ContactModel.qml64
-rw-r--r--doc/src/snippets/declarative/gridview/dummydata/ContactModel.qml25
-rw-r--r--doc/src/snippets/declarative/gridview/gridview.qml151
-rw-r--r--doc/src/snippets/declarative/listmodel-modify.qml97
-rw-r--r--doc/src/snippets/declarative/listmodel-nested.qml103
-rw-r--r--doc/src/snippets/declarative/listmodel-simple.qml80
-rw-r--r--doc/src/snippets/declarative/listmodel.qml60
-rw-r--r--doc/src/snippets/declarative/listview/ContactModel.qml59
-rw-r--r--doc/src/snippets/declarative/listview/dummydata/ContactModel.qml17
-rw-r--r--doc/src/snippets/declarative/listview/highlight.qml63
-rw-r--r--doc/src/snippets/declarative/listview/listview.qml157
-rw-r--r--doc/src/snippets/declarative/mousearea.qml119
-rw-r--r--doc/src/snippets/declarative/mouseregion.qml26
-rw-r--r--doc/src/snippets/declarative/parentchange.qml69
-rw-r--r--doc/src/snippets/declarative/pathview/ContactModel.qml59
-rw-r--r--doc/src/snippets/declarative/pathview/dummydata/MenuModel.qml17
-rw-r--r--doc/src/snippets/declarative/pathview/pathattributes.qml54
-rw-r--r--doc/src/snippets/declarative/pathview/pathview.qml63
-rw-r--r--doc/src/snippets/declarative/pathview/pics/qtlogo.png (renamed from doc/src/snippets/declarative/pathview/pics/qtlogo-64.png)bin2991 -> 2991 bytes
-rw-r--r--doc/src/snippets/declarative/qtbinding/contextproperties/contextproperties.pro (renamed from doc/src/declarative/snippets/qtbinding/contextproperties/contextproperties.pro)0
-rw-r--r--doc/src/snippets/declarative/qtbinding/contextproperties/main.cpp (renamed from doc/src/declarative/snippets/qtbinding/contextproperties/main.cpp)0
-rw-r--r--doc/src/snippets/declarative/qtbinding/contextproperties/main.qml56
-rw-r--r--doc/src/snippets/declarative/qtbinding/custompalette/custompalette.h (renamed from doc/src/declarative/snippets/qtbinding/custompalette/custompalette.h)0
-rw-r--r--doc/src/snippets/declarative/qtbinding/custompalette/custompalette.pro (renamed from doc/src/declarative/snippets/qtbinding/custompalette/custompalette.pro)0
-rw-r--r--doc/src/snippets/declarative/qtbinding/custompalette/main.cpp (renamed from doc/src/declarative/snippets/qtbinding/custompalette/main.cpp)0
-rw-r--r--doc/src/snippets/declarative/qtbinding/custompalette/main.qml63
-rw-r--r--doc/src/snippets/declarative/qtbinding/resources/example.qrc (renamed from doc/src/declarative/snippets/qtbinding/resources/example.qrc)0
-rw-r--r--doc/src/snippets/declarative/qtbinding/resources/images/background.png (renamed from doc/src/declarative/snippets/qtbinding/resources/images/background.png)0
-rw-r--r--doc/src/snippets/declarative/qtbinding/resources/main.cpp (renamed from doc/src/declarative/snippets/qtbinding/resources/main.cpp)0
-rw-r--r--doc/src/snippets/declarative/qtbinding/resources/main.qml48
-rw-r--r--doc/src/snippets/declarative/qtbinding/resources/resources.pro (renamed from doc/src/declarative/snippets/qtbinding/resources/resources.pro)0
-rw-r--r--doc/src/snippets/declarative/qtbinding/stopwatch/main.cpp (renamed from doc/src/declarative/snippets/qtbinding/stopwatch/main.cpp)0
-rw-r--r--doc/src/snippets/declarative/qtbinding/stopwatch/main.qml59
-rw-r--r--doc/src/snippets/declarative/qtbinding/stopwatch/stopwatch.cpp (renamed from doc/src/declarative/snippets/qtbinding/stopwatch/stopwatch.cpp)0
-rw-r--r--doc/src/snippets/declarative/qtbinding/stopwatch/stopwatch.h (renamed from doc/src/declarative/snippets/qtbinding/stopwatch/stopwatch.h)0
-rw-r--r--doc/src/snippets/declarative/qtbinding/stopwatch/stopwatch.pro (renamed from doc/src/declarative/snippets/qtbinding/stopwatch/stopwatch.pro)0
-rw-r--r--doc/src/snippets/declarative/rect-border-width.qml60
-rw-r--r--doc/src/snippets/declarative/repeater-index.qml15
-rw-r--r--doc/src/snippets/declarative/repeater.qml94
-rw-r--r--doc/src/snippets/declarative/rotation.qml95
-rw-r--r--doc/src/snippets/declarative/state.qml69
-rw-r--r--doc/src/snippets/declarative/states.qml81
-rw-r--r--doc/src/snippets/declarative/systempalette.qml55
-rw-r--r--doc/src/snippets/declarative/texteditor.qml73
-rw-r--r--doc/src/snippets/declarative/visualdatamodel.qml65
-rw-r--r--doc/src/snippets/declarative/visualdatamodel_rootindex/main.cpp63
-rw-r--r--doc/src/snippets/declarative/visualdatamodel_rootindex/view.qml66
-rw-r--r--doc/src/snippets/declarative/visualdatamodel_rootindex/visualdatamodel_rootindex.pro4
-rw-r--r--doc/src/snippets/declarative/workerscript.qml41
-rw-r--r--doc/src/snippets/declarative/xmlrole.qml81
-rw-r--r--doc/src/snippets/declarative/xmlrole.xml14
-rw-r--r--doc/src/snippets/qxmlschema/main.cpp5
-rw-r--r--doc/src/sql-programming/qsqldatatype-table.qdoc21
-rw-r--r--doc/src/sql-programming/sql-driver.qdoc2
-rw-r--r--doc/src/sql-programming/sql-programming.qdoc13
-rwxr-xr-xdoc/src/template/images/api_examples.pngbin1302 -> 0 bytes
-rwxr-xr-xdoc/src/template/images/api_lookup.pngbin1879 -> 0 bytes
-rwxr-xr-xdoc/src/template/images/api_topics.pngbin1216 -> 0 bytes
-rw-r--r--doc/src/template/images/arrow_down.pngbin0 -> 177 bytes
-rwxr-xr-xdoc/src/template/images/bg_l.pngbin139 -> 100 bytes
-rwxr-xr-xdoc/src/template/images/bg_l_blank.pngbin123 -> 84 bytes
-rwxr-xr-xdoc/src/template/images/bg_ll.pngbin514 -> 0 bytes
-rw-r--r--[-rwxr-xr-x]doc/src/template/images/bg_ll_blank.pngbin320 -> 320 bytes
-rwxr-xr-xdoc/src/template/images/bg_lr.pngbin458 -> 0 bytes
-rwxr-xr-xdoc/src/template/images/bg_r.pngbin136 -> 96 bytes
-rwxr-xr-xdoc/src/template/images/bg_ul.pngbin516 -> 0 bytes
-rw-r--r--[-rwxr-xr-x]doc/src/template/images/bg_ul_blank.pngbin304 -> 304 bytes
-rwxr-xr-xdoc/src/template/images/bg_ur.pngbin437 -> 0 bytes
-rwxr-xr-xdoc/src/template/images/bg_ur_blank.pngbin437 -> 0 bytes
-rwxr-xr-xdoc/src/template/images/box_bg.pngbin129 -> 89 bytes
-rwxr-xr-xdoc/src/template/images/breadcrumb.pngbin195 -> 134 bytes
-rwxr-xr-xdoc/src/template/images/bullet_gt.pngbin185 -> 124 bytes
-rwxr-xr-xdoc/src/template/images/bullet_sq.pngbin117 -> 74 bytes
-rwxr-xr-xdoc/src/template/images/content_bg.pngbin1498 -> 0 bytes
-rwxr-xr-xdoc/src/template/images/form_bg.pngbin390 -> 0 bytes
-rw-r--r--doc/src/template/images/header.pngbin2600 -> 0 bytes
-rw-r--r--doc/src/template/images/header_bg.pngbin0 -> 114 bytes
-rw-r--r--doc/src/template/images/page.pngbin0 -> 3102 bytes
-rwxr-xr-xdoc/src/template/images/page_bg.pngbin126 -> 84 bytes
-rwxr-xr-xdoc/src/template/images/print.pngbin575 -> 0 bytes
-rwxr-xr-xdoc/src/template/images/qt_guide.pngbin12685 -> 0 bytes
-rwxr-xr-xdoc/src/template/images/qt_icon.pngbin4775 -> 0 bytes
-rwxr-xr-xdoc/src/template/images/qt_ref_doc.pngbin2600 -> 0 bytes
-rwxr-xr-xdoc/src/template/images/qt_tools.pngbin17508 -> 0 bytes
-rwxr-xr-xdoc/src/template/images/sep.pngbin120 -> 0 bytes
-rw-r--r--doc/src/template/images/spinner.gifbin0 -> 2037 bytes
-rwxr-xr-xdoc/src/template/images/sprites-combined.pngbin18070 -> 62534 bytes
-rwxr-xr-xdoc/src/template/scripts/functions.js183
-rw-r--r--doc/src/template/scripts/narrow.js78
-rw-r--r--doc/src/template/scripts/superfish.js121
-rw-r--r--doc/src/template/style/OfflineStyle.css819
-rw-r--r--doc/src/template/style/narrow.css250
-rwxr-xr-xdoc/src/template/style/style.css946
-rw-r--r--doc/src/template/style/superfish.css51
-rw-r--r--doc/src/template/style/superfish_skin.css83
-rw-r--r--doc/src/tutorials/addressbook-fr.qdoc30
-rw-r--r--doc/src/tutorials/addressbook.qdoc235
-rw-r--r--doc/src/tutorials/widgets-tutorial.qdoc141
-rw-r--r--doc/src/widgets-and-layouts/focus.qdoc2
-rw-r--r--doc/src/widgets-and-layouts/layout.qdoc1
-rw-r--r--doc/src/widgets-and-layouts/styles.qdoc13
-rw-r--r--doc/src/widgets-and-layouts/widgets.qdoc199
-rw-r--r--doc/src/windows-and-dialogs/dialogs.qdoc1
-rw-r--r--doc/src/windows-and-dialogs/mainwindow.qdoc18
-rw-r--r--examples/activeqt/activeqt.pro2
-rw-r--r--examples/activeqt/comapp/main.cpp53
-rw-r--r--examples/activeqt/dotnet/wrapper/lib/networker.cpp53
-rw-r--r--examples/activeqt/dotnet/wrapper/lib/networker.h53
-rw-r--r--examples/activeqt/dotnet/wrapper/lib/tools.cpp57
-rw-r--r--examples/activeqt/dotnet/wrapper/lib/tools.h57
-rw-r--r--examples/activeqt/dotnet/wrapper/lib/worker.cpp57
-rw-r--r--examples/activeqt/dotnet/wrapper/lib/worker.h53
-rw-r--r--examples/activeqt/hierarchy/main.cpp57
-rw-r--r--examples/activeqt/hierarchy/objects.cpp53
-rw-r--r--examples/activeqt/hierarchy/objects.h53
-rw-r--r--examples/activeqt/menus/main.cpp57
-rw-r--r--examples/activeqt/menus/menus.cpp53
-rw-r--r--examples/activeqt/menus/menus.h53
-rw-r--r--examples/activeqt/multiple/ax1.h53
-rw-r--r--examples/activeqt/multiple/ax2.h53
-rw-r--r--examples/activeqt/multiple/main.cpp57
-rw-r--r--examples/activeqt/opengl/glbox.cpp57
-rw-r--r--examples/activeqt/opengl/glbox.h57
-rw-r--r--examples/activeqt/opengl/globjwin.cpp53
-rw-r--r--examples/activeqt/opengl/globjwin.h57
-rw-r--r--examples/activeqt/opengl/main.cpp53
-rw-r--r--examples/activeqt/qutlook/addressview.cpp53
-rw-r--r--examples/activeqt/qutlook/addressview.h53
-rw-r--r--examples/activeqt/qutlook/main.cpp57
-rw-r--r--examples/activeqt/simple/main.cpp53
-rw-r--r--examples/activeqt/webbrowser/main.cpp53
-rw-r--r--examples/activeqt/webbrowser/webaxwidget.h53
-rw-r--r--examples/activeqt/wrapper/main.cpp53
-rw-r--r--examples/animation/animatedtiles/main.cpp53
-rw-r--r--examples/animation/appchooser/main.cpp53
-rw-r--r--examples/animation/easing/animation.h53
-rw-r--r--examples/animation/easing/main.cpp57
-rw-r--r--examples/animation/easing/window.cpp53
-rw-r--r--examples/animation/easing/window.h53
-rw-r--r--examples/animation/moveblocks/main.cpp53
-rw-r--r--examples/animation/states/main.cpp53
-rw-r--r--examples/animation/stickman/animation.cpp53
-rw-r--r--examples/animation/stickman/animation.h53
-rw-r--r--examples/animation/stickman/graphicsview.cpp57
-rw-r--r--examples/animation/stickman/graphicsview.h57
-rw-r--r--examples/animation/stickman/lifecycle.cpp53
-rw-r--r--examples/animation/stickman/lifecycle.h53
-rw-r--r--examples/animation/stickman/main.cpp53
-rw-r--r--examples/animation/stickman/node.cpp53
-rw-r--r--examples/animation/stickman/node.h53
-rw-r--r--examples/animation/stickman/stickman.cpp53
-rw-r--r--examples/animation/stickman/stickman.h53
-rw-r--r--examples/dbus/complexpingpong/complexping.cpp53
-rw-r--r--examples/dbus/complexpingpong/complexping.h57
-rw-r--r--examples/dbus/complexpingpong/complexpong.cpp53
-rw-r--r--examples/dbus/complexpingpong/complexpong.h53
-rw-r--r--examples/dbus/complexpingpong/ping-common.h57
-rw-r--r--examples/dbus/dbus-chat/chat.cpp53
-rw-r--r--examples/dbus/dbus-chat/chat.h53
-rw-r--r--examples/dbus/dbus-chat/chat_adaptor.cpp57
-rw-r--r--examples/dbus/dbus-chat/chat_adaptor.h57
-rw-r--r--examples/dbus/dbus-chat/chat_interface.cpp57
-rw-r--r--examples/dbus/dbus-chat/chat_interface.h57
-rw-r--r--examples/dbus/listnames/listnames.cpp53
-rw-r--r--examples/dbus/pingpong/ping-common.h57
-rw-r--r--examples/dbus/pingpong/ping.cpp53
-rw-r--r--examples/dbus/pingpong/pong.cpp53
-rw-r--r--examples/dbus/pingpong/pong.h57
-rw-r--r--examples/dbus/remotecontrolledcar/car/car.cpp53
-rw-r--r--examples/dbus/remotecontrolledcar/car/car.h53
-rw-r--r--examples/dbus/remotecontrolledcar/car/car_adaptor.cpp57
-rw-r--r--examples/dbus/remotecontrolledcar/car/car_adaptor.h57
-rw-r--r--examples/dbus/remotecontrolledcar/car/main.cpp53
-rw-r--r--examples/dbus/remotecontrolledcar/controller/car_interface.cpp57
-rw-r--r--examples/dbus/remotecontrolledcar/controller/car_interface.h57
-rw-r--r--examples/dbus/remotecontrolledcar/controller/controller.cpp53
-rw-r--r--examples/dbus/remotecontrolledcar/controller/controller.h53
-rw-r--r--examples/dbus/remotecontrolledcar/controller/main.cpp57
-rw-r--r--examples/declarative/README41
-rw-r--r--examples/declarative/animation/animation.qmlproject (renamed from examples/declarative/aspectratio/aspectratio.qmlproject)0
-rw-r--r--examples/declarative/animation/basics/basics.qmlproject (renamed from examples/declarative/behaviors/behaviors.qmlproject)0
-rw-r--r--examples/declarative/animation/basics/color-animation.qml110
-rw-r--r--examples/declarative/animation/basics/images/face-smile.png (renamed from examples/declarative/animations/images/face-smile.png)bin15408 -> 15408 bytes
-rw-r--r--examples/declarative/animation/basics/images/moon.png (renamed from examples/declarative/animations/images/moon.png)bin2433 -> 2433 bytes
-rw-r--r--examples/declarative/animation/basics/images/shadow.png (renamed from examples/declarative/animations/images/shadow.png)bin425 -> 425 bytes
-rw-r--r--examples/declarative/animation/basics/images/star.png (renamed from examples/declarative/animations/images/star.png)bin349 -> 349 bytes
-rw-r--r--examples/declarative/animation/basics/images/sun.png (renamed from examples/declarative/animations/images/sun.png)bin8153 -> 8153 bytes
-rw-r--r--examples/declarative/animation/basics/property-animation.qml103
-rw-r--r--examples/declarative/animation/behaviors/SideRect.qml62
-rw-r--r--examples/declarative/animation/behaviors/behavior-example.qml119
-rw-r--r--examples/declarative/animation/behaviors/behaviors.qmlproject (renamed from examples/declarative/border-image/border-image.qmlproject)0
-rw-r--r--examples/declarative/animation/easing/easing.qml145
-rw-r--r--examples/declarative/animation/easing/easing.qmlproject (renamed from examples/declarative/clocks/clocks.qmlproject)0
-rw-r--r--examples/declarative/animation/states/states.qml101
-rw-r--r--examples/declarative/animation/states/states.qmlproject (renamed from examples/declarative/states/states.qmlproject)0
-rw-r--r--examples/declarative/animation/states/transitions.qml130
-rw-r--r--examples/declarative/animation/states/user.png (renamed from examples/declarative/states/user.png)bin4886 -> 4886 bytes
-rw-r--r--examples/declarative/animations/color-animation.qml71
-rw-r--r--examples/declarative/animations/easing.qml99
-rw-r--r--examples/declarative/animations/property-animation.qml64
-rw-r--r--examples/declarative/aspectratio/face_fit.qml26
-rw-r--r--examples/declarative/aspectratio/face_fit_animated.qml28
-rw-r--r--examples/declarative/aspectratio/scale_and_crop.qml21
-rw-r--r--examples/declarative/aspectratio/scale_and_crop_simple.qml20
-rw-r--r--examples/declarative/aspectratio/scale_and_sidecrop.qml22
-rw-r--r--examples/declarative/aspectratio/scale_to_fit.qml22
-rw-r--r--examples/declarative/aspectratio/scale_to_fit_simple.qml20
-rw-r--r--examples/declarative/behaviors/SideRect.qml22
-rw-r--r--examples/declarative/behaviors/behavior-example.qml79
-rw-r--r--examples/declarative/border-image/animated.qml54
-rw-r--r--examples/declarative/border-image/borders.qml17
-rw-r--r--examples/declarative/border-image/content/MyBorderImage.qml37
-rw-r--r--examples/declarative/clocks/clocks.qml14
-rw-r--r--examples/declarative/clocks/content/Clock.qml83
-rw-r--r--examples/declarative/connections/connections-example.qml38
-rw-r--r--examples/declarative/connections/content/Button.qml12
-rw-r--r--examples/declarative/connections/content/bg1.jpgbin23771 -> 0 bytes
-rw-r--r--examples/declarative/connections/content/rotate-left.pngbin3061 -> 0 bytes
-rw-r--r--examples/declarative/connections/content/rotate-right.pngbin3115 -> 0 bytes
-rw-r--r--examples/declarative/cppextensions/cppextensions.pro10
-rw-r--r--examples/declarative/cppextensions/cppextensions.qmlproject (renamed from examples/declarative/connections/connections.qmlproject)0
-rw-r--r--examples/declarative/cppextensions/imageprovider/ImageProviderCore/qmldir2
-rw-r--r--examples/declarative/cppextensions/imageprovider/imageprovider-example.qml65
-rw-r--r--examples/declarative/cppextensions/imageprovider/imageprovider.cpp117
-rw-r--r--examples/declarative/cppextensions/imageprovider/imageprovider.pro29
-rw-r--r--examples/declarative/cppextensions/imageprovider/imageprovider.qmlproject (renamed from examples/declarative/imageprovider/imageprovider.qmlproject)0
-rw-r--r--examples/declarative/cppextensions/networkaccessmanagerfactory/main.cpp108
-rw-r--r--examples/declarative/cppextensions/networkaccessmanagerfactory/networkaccessmanagerfactory.pro9
-rw-r--r--examples/declarative/cppextensions/networkaccessmanagerfactory/networkaccessmanagerfactory.qmlproject (renamed from examples/declarative/dial/dial.qmlproject)0
-rw-r--r--examples/declarative/cppextensions/networkaccessmanagerfactory/networkaccessmanagerfactory.qrc (renamed from examples/declarative/objectlistmodel/objectlistmodel.qrc)0
-rw-r--r--examples/declarative/cppextensions/networkaccessmanagerfactory/view.qml47
-rw-r--r--examples/declarative/cppextensions/plugins/README (renamed from examples/declarative/plugins/README)0
-rw-r--r--examples/declarative/cppextensions/plugins/com/nokia/TimeExample/Clock.qml90
-rw-r--r--[-rwxr-xr-x]examples/declarative/cppextensions/plugins/com/nokia/TimeExample/center.png (renamed from examples/declarative/clocks/content/center.png)bin765 -> 765 bytes
-rw-r--r--[-rwxr-xr-x]examples/declarative/cppextensions/plugins/com/nokia/TimeExample/clock.png (renamed from examples/declarative/clocks/content/clock.png)bin20653 -> 20653 bytes
-rw-r--r--[-rwxr-xr-x]examples/declarative/cppextensions/plugins/com/nokia/TimeExample/hour.png (renamed from examples/declarative/clocks/content/hour.png)bin625 -> 625 bytes
-rw-r--r--[-rwxr-xr-x]examples/declarative/cppextensions/plugins/com/nokia/TimeExample/minute.png (renamed from examples/declarative/clocks/content/minute.png)bin625 -> 625 bytes
-rw-r--r--examples/declarative/cppextensions/plugins/com/nokia/TimeExample/qmldir2
-rw-r--r--examples/declarative/cppextensions/plugins/plugin.cpp151
-rw-r--r--examples/declarative/cppextensions/plugins/plugins.pro29
-rw-r--r--examples/declarative/cppextensions/plugins/plugins.qml51
-rw-r--r--examples/declarative/cppextensions/plugins/plugins.qmlproject (renamed from examples/declarative/plugins/plugins.qmlproject)0
-rw-r--r--examples/declarative/cppextensions/qgraphicslayouts/layoutitem/layoutitem.pro8
-rw-r--r--examples/declarative/cppextensions/qgraphicslayouts/layoutitem/layoutitem.qml57
-rw-r--r--examples/declarative/cppextensions/qgraphicslayouts/layoutitem/layoutitem.qmlproject (renamed from examples/declarative/dynamic/dynamic.qmlproject)0
-rw-r--r--examples/declarative/cppextensions/qgraphicslayouts/layoutitem/layoutitem.qrc5
-rw-r--r--examples/declarative/cppextensions/qgraphicslayouts/layoutitem/main.cpp74
-rw-r--r--examples/declarative/cppextensions/qgraphicslayouts/qgraphicsgridlayout/gridlayout.cpp188
-rw-r--r--examples/declarative/cppextensions/qgraphicslayouts/qgraphicsgridlayout/gridlayout.h217
-rw-r--r--examples/declarative/cppextensions/qgraphicslayouts/qgraphicsgridlayout/gridlayout.qrc6
-rw-r--r--examples/declarative/cppextensions/qgraphicslayouts/qgraphicsgridlayout/main.cpp63
-rw-r--r--examples/declarative/cppextensions/qgraphicslayouts/qgraphicsgridlayout/qgraphicsgridlayout.pro15
-rw-r--r--examples/declarative/cppextensions/qgraphicslayouts/qgraphicsgridlayout/qgraphicsgridlayout.qml100
-rw-r--r--examples/declarative/cppextensions/qgraphicslayouts/qgraphicslayouts.pro6
-rw-r--r--examples/declarative/cppextensions/qgraphicslayouts/qgraphicslayouts.qmlproject (renamed from examples/declarative/extending/extending.qmlproject)0
-rw-r--r--examples/declarative/cppextensions/qgraphicslayouts/qgraphicslinearlayout/linearlayout.cpp175
-rw-r--r--examples/declarative/cppextensions/qgraphicslayouts/qgraphicslinearlayout/linearlayout.h152
-rw-r--r--examples/declarative/cppextensions/qgraphicslayouts/qgraphicslinearlayout/linearlayout.qrc6
-rw-r--r--examples/declarative/cppextensions/qgraphicslayouts/qgraphicslinearlayout/main.cpp64
-rw-r--r--examples/declarative/cppextensions/qgraphicslayouts/qgraphicslinearlayout/qgraphicslinearlayout.pro15
-rw-r--r--examples/declarative/cppextensions/qgraphicslayouts/qgraphicslinearlayout/qgraphicslinearlayout.qml79
-rw-r--r--examples/declarative/cppextensions/qwidgets/QWidgets/qmldir1
-rw-r--r--examples/declarative/cppextensions/qwidgets/README6
-rw-r--r--examples/declarative/cppextensions/qwidgets/qwidgets.cpp97
-rw-r--r--examples/declarative/cppextensions/qwidgets/qwidgets.pro25
-rw-r--r--examples/declarative/cppextensions/qwidgets/qwidgets.qml110
-rw-r--r--examples/declarative/cppextensions/qwidgets/qwidgets.qmlproject (renamed from examples/declarative/fillmode/fillmode.qmlproject)0
-rw-r--r--examples/declarative/cppextensions/referenceexamples/adding/adding.pro (renamed from examples/declarative/extending/adding/adding.pro)0
-rw-r--r--examples/declarative/cppextensions/referenceexamples/adding/adding.qrc (renamed from examples/declarative/extending/adding/adding.qrc)0
-rw-r--r--examples/declarative/cppextensions/referenceexamples/adding/example.qml48
-rw-r--r--examples/declarative/cppextensions/referenceexamples/adding/main.cpp64
-rw-r--r--examples/declarative/cppextensions/referenceexamples/adding/person.cpp68
-rw-r--r--examples/declarative/cppextensions/referenceexamples/adding/person.h65
-rw-r--r--examples/declarative/cppextensions/referenceexamples/attached/attached.pro (renamed from examples/declarative/extending/attached/attached.pro)0
-rw-r--r--examples/declarative/cppextensions/referenceexamples/attached/attached.qrc (renamed from examples/declarative/extending/attached/attached.qrc)0
-rw-r--r--examples/declarative/cppextensions/referenceexamples/attached/birthdayparty.cpp91
-rw-r--r--examples/declarative/cppextensions/referenceexamples/attached/birthdayparty.h86
-rw-r--r--examples/declarative/cppextensions/referenceexamples/attached/example.qml71
-rw-r--r--examples/declarative/cppextensions/referenceexamples/attached/main.cpp90
-rw-r--r--examples/declarative/cppextensions/referenceexamples/attached/person.cpp118
-rw-r--r--examples/declarative/cppextensions/referenceexamples/attached/person.h105
-rw-r--r--examples/declarative/cppextensions/referenceexamples/binding/binding.pro (renamed from examples/declarative/extending/binding/binding.pro)0
-rw-r--r--examples/declarative/cppextensions/referenceexamples/binding/binding.qrc (renamed from examples/declarative/extending/binding/binding.qrc)0
-rw-r--r--examples/declarative/cppextensions/referenceexamples/binding/birthdayparty.cpp113
-rw-r--r--examples/declarative/cppextensions/referenceexamples/binding/birthdayparty.h102
-rw-r--r--examples/declarative/cppextensions/referenceexamples/binding/example.qml77
-rw-r--r--examples/declarative/cppextensions/referenceexamples/binding/happybirthdaysong.cpp85
-rw-r--r--examples/declarative/cppextensions/referenceexamples/binding/happybirthdaysong.h74
-rw-r--r--examples/declarative/cppextensions/referenceexamples/binding/main.cpp92
-rw-r--r--examples/declarative/cppextensions/referenceexamples/binding/person.cpp138
-rw-r--r--examples/declarative/cppextensions/referenceexamples/binding/person.h113
-rw-r--r--examples/declarative/cppextensions/referenceexamples/coercion/birthdayparty.cpp71
-rw-r--r--examples/declarative/cppextensions/referenceexamples/coercion/birthdayparty.h69
-rw-r--r--examples/declarative/cppextensions/referenceexamples/coercion/coercion.pro (renamed from examples/declarative/extending/coercion/coercion.pro)0
-rw-r--r--examples/declarative/cppextensions/referenceexamples/coercion/coercion.qrc (renamed from examples/declarative/extending/coercion/coercion.qrc)0
-rw-r--r--examples/declarative/cppextensions/referenceexamples/coercion/example.qml55
-rw-r--r--examples/declarative/cppextensions/referenceexamples/coercion/main.cpp77
-rw-r--r--examples/declarative/cppextensions/referenceexamples/coercion/person.cpp79
-rw-r--r--examples/declarative/cppextensions/referenceexamples/coercion/person.h82
-rw-r--r--examples/declarative/cppextensions/referenceexamples/default/birthdayparty.cpp71
-rw-r--r--examples/declarative/cppextensions/referenceexamples/default/birthdayparty.h70
-rw-r--r--examples/declarative/cppextensions/referenceexamples/default/default.pro (renamed from examples/declarative/extending/default/default.pro)0
-rw-r--r--examples/declarative/cppextensions/referenceexamples/default/default.qrc (renamed from examples/declarative/extending/default/default.qrc)0
-rw-r--r--examples/declarative/cppextensions/referenceexamples/default/example.qml54
-rw-r--r--examples/declarative/cppextensions/referenceexamples/default/main.cpp75
-rw-r--r--examples/declarative/cppextensions/referenceexamples/default/person.cpp78
-rw-r--r--examples/declarative/cppextensions/referenceexamples/default/person.h77
-rw-r--r--examples/declarative/cppextensions/referenceexamples/extended/example.qml47
-rw-r--r--examples/declarative/cppextensions/referenceexamples/extended/extended.pro (renamed from examples/declarative/extending/extended/extended.pro)0
-rw-r--r--examples/declarative/cppextensions/referenceexamples/extended/extended.qrc (renamed from examples/declarative/extending/extended/extended.qrc)0
-rw-r--r--examples/declarative/cppextensions/referenceexamples/extended/lineedit.cpp104
-rw-r--r--examples/declarative/cppextensions/referenceexamples/extended/lineedit.h73
-rw-r--r--examples/declarative/cppextensions/referenceexamples/extended/main.cpp64
-rw-r--r--examples/declarative/cppextensions/referenceexamples/grouped/birthdayparty.cpp71
-rw-r--r--examples/declarative/cppextensions/referenceexamples/grouped/birthdayparty.h69
-rw-r--r--examples/declarative/cppextensions/referenceexamples/grouped/example.qml73
-rw-r--r--examples/declarative/cppextensions/referenceexamples/grouped/grouped.pro (renamed from examples/declarative/extending/grouped/grouped.pro)0
-rw-r--r--examples/declarative/cppextensions/referenceexamples/grouped/grouped.qrc (renamed from examples/declarative/extending/grouped/grouped.qrc)0
-rw-r--r--examples/declarative/cppextensions/referenceexamples/grouped/main.cpp85
-rw-r--r--examples/declarative/cppextensions/referenceexamples/grouped/person.cpp118
-rw-r--r--examples/declarative/cppextensions/referenceexamples/grouped/person.h107
-rw-r--r--examples/declarative/cppextensions/referenceexamples/properties/birthdayparty.cpp73
-rw-r--r--examples/declarative/cppextensions/referenceexamples/properties/birthdayparty.h75
-rw-r--r--examples/declarative/cppextensions/referenceexamples/properties/example.qml55
-rw-r--r--examples/declarative/cppextensions/referenceexamples/properties/main.cpp68
-rw-r--r--examples/declarative/cppextensions/referenceexamples/properties/person.cpp66
-rw-r--r--examples/declarative/cppextensions/referenceexamples/properties/person.h63
-rw-r--r--examples/declarative/cppextensions/referenceexamples/properties/properties.pro (renamed from examples/declarative/extending/properties/properties.pro)0
-rw-r--r--examples/declarative/cppextensions/referenceexamples/properties/properties.qrc (renamed from examples/declarative/extending/properties/properties.qrc)0
-rw-r--r--examples/declarative/cppextensions/referenceexamples/referenceexamples.pro (renamed from examples/declarative/extending/extending.pro)0
-rw-r--r--examples/declarative/cppextensions/referenceexamples/referenceexamples.qmlproject (renamed from examples/declarative/flipable/flipable.qmlproject)0
-rw-r--r--examples/declarative/cppextensions/referenceexamples/signal/birthdayparty.cpp98
-rw-r--r--examples/declarative/cppextensions/referenceexamples/signal/birthdayparty.h92
-rw-r--r--examples/declarative/cppextensions/referenceexamples/signal/example.qml72
-rw-r--r--examples/declarative/cppextensions/referenceexamples/signal/main.cpp91
-rw-r--r--examples/declarative/cppextensions/referenceexamples/signal/person.cpp118
-rw-r--r--examples/declarative/cppextensions/referenceexamples/signal/person.h105
-rw-r--r--examples/declarative/cppextensions/referenceexamples/signal/signal.pro (renamed from examples/declarative/extending/signal/signal.pro)0
-rw-r--r--examples/declarative/cppextensions/referenceexamples/signal/signal.qrc (renamed from examples/declarative/extending/signal/signal.qrc)0
-rw-r--r--examples/declarative/cppextensions/referenceexamples/valuesource/birthdayparty.cpp108
-rw-r--r--examples/declarative/cppextensions/referenceexamples/valuesource/birthdayparty.h97
-rw-r--r--examples/declarative/cppextensions/referenceexamples/valuesource/example.qml76
-rw-r--r--examples/declarative/cppextensions/referenceexamples/valuesource/happybirthdaysong.cpp80
-rw-r--r--examples/declarative/cppextensions/referenceexamples/valuesource/happybirthdaysong.h79
-rw-r--r--examples/declarative/cppextensions/referenceexamples/valuesource/main.cpp93
-rw-r--r--examples/declarative/cppextensions/referenceexamples/valuesource/person.cpp118
-rw-r--r--examples/declarative/cppextensions/referenceexamples/valuesource/person.h105
-rw-r--r--examples/declarative/cppextensions/referenceexamples/valuesource/valuesource.pro (renamed from examples/declarative/extending/valuesource/valuesource.pro)0
-rw-r--r--examples/declarative/cppextensions/referenceexamples/valuesource/valuesource.qrc (renamed from examples/declarative/extending/valuesource/valuesource.qrc)0
-rw-r--r--examples/declarative/declarative.pro57
-rw-r--r--examples/declarative/dial/content/Dial.qml37
-rw-r--r--examples/declarative/dial/dial-example.qml44
-rw-r--r--examples/declarative/dynamic/dynamic.qml157
-rw-r--r--examples/declarative/dynamic/qml/Button.qml24
-rw-r--r--examples/declarative/dynamic/qml/GenericItem.qml13
-rw-r--r--examples/declarative/dynamic/qml/PaletteItem.qml13
-rw-r--r--examples/declarative/dynamic/qml/PerspectiveItem.qml16
-rw-r--r--examples/declarative/dynamic/qml/Sun.qml24
-rw-r--r--examples/declarative/dynamic/qml/itemCreation.js82
-rw-r--r--examples/declarative/extending/adding/example.qml8
-rw-r--r--examples/declarative/extending/adding/main.cpp65
-rw-r--r--examples/declarative/extending/adding/person.cpp69
-rw-r--r--examples/declarative/extending/adding/person.h66
-rw-r--r--examples/declarative/extending/attached/birthdayparty.cpp92
-rw-r--r--examples/declarative/extending/attached/birthdayparty.h87
-rw-r--r--examples/declarative/extending/attached/example.qml31
-rw-r--r--examples/declarative/extending/attached/main.cpp91
-rw-r--r--examples/declarative/extending/attached/person.cpp119
-rw-r--r--examples/declarative/extending/attached/person.h106
-rw-r--r--examples/declarative/extending/binding/birthdayparty.cpp114
-rw-r--r--examples/declarative/extending/binding/birthdayparty.h103
-rw-r--r--examples/declarative/extending/binding/example.qml37
-rw-r--r--examples/declarative/extending/binding/happybirthdaysong.cpp86
-rw-r--r--examples/declarative/extending/binding/happybirthdaysong.h75
-rw-r--r--examples/declarative/extending/binding/main.cpp93
-rw-r--r--examples/declarative/extending/binding/person.cpp139
-rw-r--r--examples/declarative/extending/binding/person.h114
-rw-r--r--examples/declarative/extending/coercion/birthdayparty.cpp72
-rw-r--r--examples/declarative/extending/coercion/birthdayparty.h70
-rw-r--r--examples/declarative/extending/coercion/example.qml15
-rw-r--r--examples/declarative/extending/coercion/main.cpp78
-rw-r--r--examples/declarative/extending/coercion/person.cpp80
-rw-r--r--examples/declarative/extending/coercion/person.h83
-rw-r--r--examples/declarative/extending/default/birthdayparty.cpp72
-rw-r--r--examples/declarative/extending/default/birthdayparty.h71
-rw-r--r--examples/declarative/extending/default/example.qml14
-rw-r--r--examples/declarative/extending/default/main.cpp76
-rw-r--r--examples/declarative/extending/default/person.cpp79
-rw-r--r--examples/declarative/extending/default/person.h78
-rw-r--r--examples/declarative/extending/extended/example.qml7
-rw-r--r--examples/declarative/extending/extended/lineedit.cpp105
-rw-r--r--examples/declarative/extending/extended/lineedit.h74
-rw-r--r--examples/declarative/extending/extended/main.cpp65
-rw-r--r--examples/declarative/extending/grouped/birthdayparty.cpp72
-rw-r--r--examples/declarative/extending/grouped/birthdayparty.h70
-rw-r--r--examples/declarative/extending/grouped/example.qml33
-rw-r--r--examples/declarative/extending/grouped/main.cpp86
-rw-r--r--examples/declarative/extending/grouped/person.cpp119
-rw-r--r--examples/declarative/extending/grouped/person.h108
-rw-r--r--examples/declarative/extending/properties/birthdayparty.cpp74
-rw-r--r--examples/declarative/extending/properties/birthdayparty.h76
-rw-r--r--examples/declarative/extending/properties/example.qml15
-rw-r--r--examples/declarative/extending/properties/main.cpp69
-rw-r--r--examples/declarative/extending/properties/person.cpp67
-rw-r--r--examples/declarative/extending/properties/person.h64
-rw-r--r--examples/declarative/extending/signal/birthdayparty.cpp99
-rw-r--r--examples/declarative/extending/signal/birthdayparty.h93
-rw-r--r--examples/declarative/extending/signal/example.qml32
-rw-r--r--examples/declarative/extending/signal/main.cpp92
-rw-r--r--examples/declarative/extending/signal/person.cpp119
-rw-r--r--examples/declarative/extending/signal/person.h106
-rw-r--r--examples/declarative/extending/valuesource/birthdayparty.cpp109
-rw-r--r--examples/declarative/extending/valuesource/birthdayparty.h98
-rw-r--r--examples/declarative/extending/valuesource/example.qml36
-rw-r--r--examples/declarative/extending/valuesource/happybirthdaysong.cpp81
-rw-r--r--examples/declarative/extending/valuesource/happybirthdaysong.h80
-rw-r--r--examples/declarative/extending/valuesource/main.cpp94
-rw-r--r--examples/declarative/extending/valuesource/person.cpp119
-rw-r--r--examples/declarative/extending/valuesource/person.h106
-rw-r--r--examples/declarative/fillmode/content/QtLogo.qml30
-rw-r--r--examples/declarative/fillmode/fillmode.qml22
-rw-r--r--examples/declarative/flipable/content/Card.qml38
-rw-r--r--examples/declarative/flipable/flipable-example.qml15
-rw-r--r--examples/declarative/focus/Core/ContextMenu.qml18
-rw-r--r--examples/declarative/focus/Core/GridMenu.qml61
-rw-r--r--examples/declarative/focus/Core/ListViewDelegate.qml40
-rw-r--r--examples/declarative/focus/Core/ListViews.qml62
-rw-r--r--examples/declarative/focus/Core/images/qt-logo.pngbin5149 -> 0 bytes
-rw-r--r--examples/declarative/focus/focus.qml69
-rw-r--r--examples/declarative/fonts/banner.qml21
-rw-r--r--examples/declarative/fonts/fonts.qml64
-rw-r--r--examples/declarative/fonts/hello.qml38
-rw-r--r--examples/declarative/gestures/experimental-gestures.qml36
-rw-r--r--examples/declarative/gridview/gridview-example.qml49
-rw-r--r--examples/declarative/i18n/i18n.qml77
-rw-r--r--examples/declarative/i18n/i18n.qmlproject (renamed from examples/declarative/focus/focus.qmlproject)0
-rw-r--r--examples/declarative/i18n/i18n/base.ts12
-rw-r--r--examples/declarative/i18n/i18n/qml_en_AU.qmbin0 -> 81 bytes
-rw-r--r--examples/declarative/i18n/i18n/qml_en_AU.ts12
-rw-r--r--examples/declarative/i18n/i18n/qml_fr.qmbin0 -> 85 bytes
-rw-r--r--examples/declarative/i18n/i18n/qml_fr.ts12
-rw-r--r--examples/declarative/imageelements/borderimage/borderimage.qml97
-rw-r--r--examples/declarative/imageelements/borderimage/borderimage.qmlproject (renamed from examples/declarative/fonts/fonts.qmlproject)0
-rw-r--r--examples/declarative/imageelements/borderimage/content/MyBorderImage.qml90
-rw-r--r--examples/declarative/imageelements/borderimage/content/ShadowRectangle.qml54
-rw-r--r--examples/declarative/imageelements/borderimage/content/bw.png (renamed from examples/declarative/border-image/content/bw.png)bin1357 -> 1357 bytes
-rw-r--r--examples/declarative/imageelements/borderimage/content/colors-round.sci (renamed from examples/declarative/border-image/content/colors-round.sci)0
-rw-r--r--examples/declarative/imageelements/borderimage/content/colors-stretch.sci (renamed from examples/declarative/border-image/content/colors-stretch.sci)0
-rw-r--r--examples/declarative/imageelements/borderimage/content/colors.png (renamed from examples/declarative/border-image/content/colors.png)bin1655 -> 1655 bytes
-rw-r--r--examples/declarative/imageelements/borderimage/content/shadow.pngbin0 -> 588 bytes
-rw-r--r--examples/declarative/imageelements/borderimage/shadows.qml64
-rw-r--r--examples/declarative/imageelements/image/ImageCell.qml60
-rw-r--r--examples/declarative/imageelements/image/face-smile.png (renamed from examples/declarative/dynamic/images/face-smile.png)bin15408 -> 15408 bytes
-rw-r--r--examples/declarative/imageelements/image/image.qml66
-rw-r--r--examples/declarative/imageelements/image/image.qmlproject (renamed from examples/declarative/gestures/gestures.qmlproject)0
-rw-r--r--examples/declarative/imageelements/imageelements.qmlproject (renamed from examples/declarative/gridview/gridview.qmlproject)0
-rw-r--r--examples/declarative/imageprovider/ImageProviderCore/qmldir2
-rw-r--r--examples/declarative/imageprovider/imageprovider-example.qml25
-rw-r--r--examples/declarative/imageprovider/imageprovider.cpp118
-rw-r--r--examples/declarative/imageprovider/imageprovider.pro25
-rw-r--r--examples/declarative/images/images.qml72
-rw-r--r--examples/declarative/keyinteraction/focus/Core/ContextMenu.qml58
-rw-r--r--examples/declarative/keyinteraction/focus/Core/GridMenu.qml101
-rw-r--r--examples/declarative/keyinteraction/focus/Core/ListViewDelegate.qml80
-rw-r--r--examples/declarative/keyinteraction/focus/Core/ListViews.qml102
-rw-r--r--examples/declarative/keyinteraction/focus/Core/images/arrow.png (renamed from examples/declarative/focus/Core/images/arrow.png)bin583 -> 583 bytes
-rw-r--r--examples/declarative/keyinteraction/focus/Core/images/qt-logo.png (renamed from examples/declarative/fillmode/content/qt-logo.png)bin5149 -> 5149 bytes
-rw-r--r--examples/declarative/keyinteraction/focus/Core/qmldir (renamed from examples/declarative/focus/Core/qmldir)0
-rw-r--r--examples/declarative/keyinteraction/focus/focus.qml109
-rw-r--r--examples/declarative/keyinteraction/focus/focus.qmlproject (renamed from examples/declarative/images/images.qmlproject)0
-rw-r--r--examples/declarative/keyinteraction/keyinteraction.qmlproject (renamed from examples/declarative/layouts/layouts.qmlproject)0
-rw-r--r--examples/declarative/layouts/Button.qml22
-rw-r--r--examples/declarative/layouts/layouts.qml29
-rw-r--r--examples/declarative/layouts/positioners.qml213
-rw-r--r--examples/declarative/listmodel-threaded/timedisplay.qml32
-rw-r--r--examples/declarative/listview/content/ClickAutoRepeating.qml31
-rw-r--r--examples/declarative/listview/content/MediaButton.qml35
-rw-r--r--examples/declarative/listview/content/pics/add.pngbin1577 -> 0 bytes
-rw-r--r--examples/declarative/listview/content/pics/del.pngbin1661 -> 0 bytes
-rw-r--r--examples/declarative/listview/content/pics/lemonade.jpgbin6645 -> 0 bytes
-rw-r--r--examples/declarative/listview/content/pics/trash.pngbin989 -> 0 bytes
-rw-r--r--examples/declarative/listview/dummydata/MyPetsModel.qml61
-rw-r--r--examples/declarative/listview/dummydata/Recipes.qml90
-rw-r--r--examples/declarative/listview/dynamic.qml210
-rw-r--r--examples/declarative/listview/highlight.qml55
-rw-r--r--examples/declarative/listview/itemlist.qml67
-rw-r--r--examples/declarative/listview/listview-example.qml93
-rw-r--r--examples/declarative/listview/recipes.qml160
-rw-r--r--examples/declarative/listview/sections.qml71
-rw-r--r--examples/declarative/modelviews/gridview/gridview-example.qml89
-rw-r--r--examples/declarative/modelviews/gridview/gridview.qmlproject (renamed from examples/declarative/listmodel-threaded/listmodel-threaded.qmlproject)0
-rw-r--r--examples/declarative/modelviews/gridview/pics/AddressBook_48.png (renamed from examples/declarative/gridview/pics/AddressBook_48.png)bin3350 -> 3350 bytes
-rw-r--r--examples/declarative/modelviews/gridview/pics/AudioPlayer_48.png (renamed from examples/declarative/gridview/pics/AudioPlayer_48.png)bin3806 -> 3806 bytes
-rw-r--r--examples/declarative/modelviews/gridview/pics/Camera_48.png (renamed from examples/declarative/gridview/pics/Camera_48.png)bin3540 -> 3540 bytes
-rw-r--r--examples/declarative/modelviews/gridview/pics/DateBook_48.png (renamed from examples/declarative/gridview/pics/DateBook_48.png)bin2610 -> 2610 bytes
-rw-r--r--examples/declarative/modelviews/gridview/pics/EMail_48.png (renamed from examples/declarative/gridview/pics/EMail_48.png)bin3655 -> 3655 bytes
-rw-r--r--examples/declarative/modelviews/gridview/pics/TodoList_48.png (renamed from examples/declarative/gridview/pics/TodoList_48.png)bin3429 -> 3429 bytes
-rw-r--r--examples/declarative/modelviews/gridview/pics/VideoPlayer_48.png (renamed from examples/declarative/gridview/pics/VideoPlayer_48.png)bin4151 -> 4151 bytes
-rw-r--r--examples/declarative/modelviews/listview/PetsModel.qml101
-rw-r--r--examples/declarative/modelviews/listview/RecipesModel.qml130
-rw-r--r--examples/declarative/modelviews/listview/content/PressAndHoldButton.qml79
-rw-r--r--examples/declarative/modelviews/listview/content/TextButton.qml78
-rw-r--r--examples/declarative/modelviews/listview/content/pics/archive-insert.png (renamed from examples/declarative/listview/content/pics/archive-insert.png)bin896 -> 896 bytes
-rw-r--r--examples/declarative/modelviews/listview/content/pics/archive-remove.png (renamed from examples/declarative/listview/content/pics/archive-remove.png)bin1074 -> 1074 bytes
-rw-r--r--examples/declarative/modelviews/listview/content/pics/button-pressed.png (renamed from examples/declarative/listview/content/pics/button-pressed.png)bin571 -> 571 bytes
-rw-r--r--examples/declarative/modelviews/listview/content/pics/button.png (renamed from examples/declarative/listview/content/pics/button.png)bin564 -> 564 bytes
-rw-r--r--examples/declarative/modelviews/listview/content/pics/fruit-salad.jpg (renamed from examples/declarative/listview/content/pics/fruit-salad.jpg)bin17952 -> 17952 bytes
-rw-r--r--examples/declarative/modelviews/listview/content/pics/go-down.png (renamed from examples/declarative/listview/content/pics/go-down.png)bin892 -> 892 bytes
-rw-r--r--examples/declarative/modelviews/listview/content/pics/go-up.png (renamed from examples/declarative/listview/content/pics/go-up.png)bin929 -> 929 bytes
-rw-r--r--examples/declarative/modelviews/listview/content/pics/hamburger.jpg (renamed from examples/declarative/listview/content/pics/hamburger.jpg)bin8572 -> 8572 bytes
-rw-r--r--examples/declarative/modelviews/listview/content/pics/lemonade.jpg (renamed from examples/declarative/images/content/lemonade.jpg)bin6645 -> 6645 bytes
-rw-r--r--examples/declarative/modelviews/listview/content/pics/list-add.png (renamed from examples/declarative/listview/content/pics/list-add.png)bin907 -> 907 bytes
-rw-r--r--examples/declarative/modelviews/listview/content/pics/list-remove.png (renamed from examples/declarative/listview/content/pics/list-remove.png)bin498 -> 498 bytes
-rw-r--r--examples/declarative/modelviews/listview/content/pics/moreDown.png (renamed from examples/declarative/listview/content/pics/moreDown.png)bin217 -> 217 bytes
-rw-r--r--examples/declarative/modelviews/listview/content/pics/moreUp.png (renamed from examples/declarative/listview/content/pics/moreUp.png)bin212 -> 212 bytes
-rw-r--r--examples/declarative/modelviews/listview/content/pics/pancakes.jpg (renamed from examples/declarative/listview/content/pics/pancakes.jpg)bin9163 -> 9163 bytes
-rw-r--r--examples/declarative/modelviews/listview/content/pics/vegetable-soup.jpg (renamed from examples/declarative/listview/content/pics/vegetable-soup.jpg)bin8639 -> 8639 bytes
-rw-r--r--examples/declarative/modelviews/listview/dynamiclist.qml203
-rw-r--r--examples/declarative/modelviews/listview/expandingdelegates.qml202
-rw-r--r--examples/declarative/modelviews/listview/highlight.qml93
-rw-r--r--examples/declarative/modelviews/listview/highlightranges.qml119
-rw-r--r--examples/declarative/modelviews/listview/listview.qmlproject (renamed from examples/declarative/listview/listview.qmlproject)0
-rw-r--r--examples/declarative/modelviews/listview/sections.qml84
-rw-r--r--examples/declarative/modelviews/modelviews.pro7
-rw-r--r--examples/declarative/modelviews/modelviews.qmlproject (renamed from examples/declarative/mousearea/mousearea.qmlproject)0
-rw-r--r--examples/declarative/modelviews/objectlistmodel/dataobject.cpp78
-rw-r--r--examples/declarative/modelviews/objectlistmodel/dataobject.h72
-rw-r--r--examples/declarative/modelviews/objectlistmodel/main.cpp76
-rw-r--r--examples/declarative/modelviews/objectlistmodel/objectlistmodel.pro (renamed from examples/declarative/objectlistmodel/objectlistmodel.pro)0
-rw-r--r--examples/declarative/modelviews/objectlistmodel/objectlistmodel.qmlproject (renamed from examples/declarative/objectlistmodel/objectlistmodel.qmlproject)0
-rw-r--r--examples/declarative/modelviews/objectlistmodel/objectlistmodel.qrc (renamed from examples/declarative/stringlistmodel/stringlistmodel.qrc)0
-rw-r--r--examples/declarative/modelviews/objectlistmodel/view.qml56
-rw-r--r--examples/declarative/modelviews/package/Delegate.qml88
-rw-r--r--examples/declarative/modelviews/package/package.qmlproject (renamed from examples/declarative/package/package.qmlproject)0
-rw-r--r--examples/declarative/modelviews/package/view.qml75
-rw-r--r--examples/declarative/modelviews/parallax/parallax.qml81
-rw-r--r--examples/declarative/modelviews/parallax/parallax.qmlproject (renamed from examples/declarative/parallax/parallax.qmlproject)0
-rw-r--r--examples/declarative/modelviews/parallax/pics/background.jpg (renamed from examples/declarative/parallax/pics/background.jpg)bin209814 -> 209814 bytes
-rw-r--r--examples/declarative/modelviews/parallax/pics/face-smile.png (renamed from examples/declarative/parallax/pics/face-smile.png)bin15408 -> 15408 bytes
-rw-r--r--examples/declarative/modelviews/parallax/pics/home-page.svg (renamed from examples/declarative/parallax/pics/home-page.svg)0
-rw-r--r--examples/declarative/modelviews/parallax/pics/shadow.png (renamed from examples/declarative/parallax/pics/shadow.png)bin425 -> 425 bytes
-rw-r--r--examples/declarative/modelviews/parallax/pics/yast-joystick.png (renamed from examples/declarative/parallax/pics/yast-joystick.png)bin2723 -> 2723 bytes
-rw-r--r--examples/declarative/modelviews/parallax/pics/yast-wol.png (renamed from examples/declarative/parallax/pics/yast-wol.png)bin3769 -> 3769 bytes
-rw-r--r--examples/declarative/modelviews/parallax/qml/ParallaxView.qml123
-rw-r--r--examples/declarative/modelviews/parallax/qml/Smiley.qml86
-rw-r--r--examples/declarative/modelviews/stringlistmodel/main.cpp75
-rw-r--r--examples/declarative/modelviews/stringlistmodel/stringlistmodel.pro (renamed from examples/declarative/stringlistmodel/stringlistmodel.pro)0
-rw-r--r--examples/declarative/modelviews/stringlistmodel/stringlistmodel.qrc5
-rw-r--r--examples/declarative/modelviews/stringlistmodel/view.qml55
-rw-r--r--examples/declarative/modelviews/visualitemmodel/visualitemmodel.qml107
-rw-r--r--examples/declarative/modelviews/visualitemmodel/visualitemmodel.qmlproject (renamed from examples/declarative/progressbar/progressbar.qmlproject)0
-rw-r--r--examples/declarative/modelviews/webview/alerts.html (renamed from examples/declarative/webview/alerts.html)0
-rw-r--r--examples/declarative/modelviews/webview/alerts.qml98
-rw-r--r--examples/declarative/modelviews/webview/autosize.qml102
-rw-r--r--examples/declarative/modelviews/webview/content/FieldText.qml195
-rw-r--r--examples/declarative/modelviews/webview/content/Mapping/Map.qml66
-rwxr-xr-xexamples/declarative/modelviews/webview/content/Mapping/map.html60
-rw-r--r--examples/declarative/modelviews/webview/content/SpinSquare.qml65
-rw-r--r--examples/declarative/modelviews/webview/content/pics/cancel.png (renamed from demos/declarative/webbrowser/content/fieldtext/pics/cancel.png)bin1038 -> 1038 bytes
-rw-r--r--examples/declarative/modelviews/webview/content/pics/ok.png (renamed from demos/declarative/webbrowser/content/fieldtext/pics/ok.png)bin655 -> 655 bytes
-rw-r--r--examples/declarative/modelviews/webview/googleMaps.qml83
-rw-r--r--examples/declarative/modelviews/webview/inline-html.qml55
-rw-r--r--examples/declarative/modelviews/webview/newwindows.html (renamed from examples/declarative/webview/newwindows.html)0
-rw-r--r--examples/declarative/modelviews/webview/newwindows.qml71
-rw-r--r--examples/declarative/modelviews/webview/transparent.qml55
-rw-r--r--examples/declarative/modelviews/webview/webview.qmlproject (renamed from examples/declarative/webview/webview.qmlproject)0
-rw-r--r--examples/declarative/mousearea/mouse.qml47
-rw-r--r--examples/declarative/objectlistmodel/dataobject.cpp73
-rw-r--r--examples/declarative/objectlistmodel/dataobject.h69
-rw-r--r--examples/declarative/objectlistmodel/main.cpp77
-rw-r--r--examples/declarative/objectlistmodel/view.qml16
-rw-r--r--examples/declarative/package/Delegate.qml48
-rw-r--r--examples/declarative/package/view.qml35
-rw-r--r--examples/declarative/parallax/parallax.qml41
-rw-r--r--examples/declarative/parallax/qml/ParallaxView.qml84
-rw-r--r--examples/declarative/parallax/qml/Smiley.qml47
-rw-r--r--examples/declarative/plugins/com/nokia/TimeExample/Clock.qml50
-rw-r--r--examples/declarative/plugins/com/nokia/TimeExample/qmldir2
-rw-r--r--examples/declarative/plugins/plugin.cpp152
-rw-r--r--examples/declarative/plugins/plugins.pro31
-rw-r--r--examples/declarative/plugins/plugins.qml11
-rw-r--r--examples/declarative/positioners/Button.qml78
-rw-r--r--examples/declarative/positioners/add.png (renamed from examples/declarative/layouts/add.png)bin1577 -> 1577 bytes
-rw-r--r--examples/declarative/positioners/del.png (renamed from examples/declarative/layouts/del.png)bin1661 -> 1661 bytes
-rw-r--r--examples/declarative/positioners/positioners.qml253
-rw-r--r--examples/declarative/positioners/positioners.qmlproject18
-rw-r--r--examples/declarative/positioners/positioners.qmlproject.user41
-rw-r--r--examples/declarative/progressbar/content/ProgressBar.qml43
-rw-r--r--examples/declarative/progressbar/progressbars.qml33
-rw-r--r--examples/declarative/proxywidgets/ProxyWidgets/qmldir1
-rw-r--r--examples/declarative/proxywidgets/README4
-rw-r--r--examples/declarative/proxywidgets/proxywidgets.cpp97
-rw-r--r--examples/declarative/proxywidgets/proxywidgets.pro21
-rw-r--r--examples/declarative/proxywidgets/proxywidgets.qml70
-rw-r--r--examples/declarative/scrollbar/ScrollBar.qml33
-rw-r--r--examples/declarative/scrollbar/display.qml54
-rw-r--r--examples/declarative/searchbox/SearchBox.qml65
-rw-r--r--examples/declarative/searchbox/main.qml15
-rw-r--r--examples/declarative/slideswitch/content/Switch.qml76
-rw-r--r--examples/declarative/slideswitch/slideswitch.qml11
-rw-r--r--examples/declarative/sql/hello.qml31
-rw-r--r--examples/declarative/sqllocalstorage/hello.qml71
-rw-r--r--examples/declarative/sqllocalstorage/sqllocalstorage.qmlproject (renamed from examples/declarative/proxywidgets/proxywidgets.qmlproject)0
-rw-r--r--examples/declarative/states/states.qml61
-rw-r--r--examples/declarative/states/transitions.qml90
-rw-r--r--examples/declarative/stringlistmodel/main.cpp76
-rw-r--r--examples/declarative/stringlistmodel/view.qml15
-rw-r--r--examples/declarative/tabwidget/TabWidget.qml57
-rw-r--r--examples/declarative/tabwidget/tabs.qml59
-rw-r--r--examples/declarative/text/edit/edit.qml253
-rw-r--r--examples/declarative/text/edit/pics/endHandle.pngbin0 -> 185 bytes
-rw-r--r--examples/declarative/text/edit/pics/endHandle.sci5
-rw-r--r--examples/declarative/text/edit/pics/startHandle.pngbin0 -> 178 bytes
-rw-r--r--examples/declarative/text/edit/pics/startHandle.sci5
-rw-r--r--examples/declarative/text/fonts/availableFonts.qml57
-rw-r--r--examples/declarative/text/fonts/banner.qml61
-rw-r--r--examples/declarative/text/fonts/fonts.qml104
-rw-r--r--examples/declarative/text/fonts/fonts.qmlproject (renamed from examples/declarative/scrollbar/scrollbar.qmlproject)0
-rw-r--r--examples/declarative/text/fonts/fonts/tarzeau_ocr_a.ttf (renamed from examples/declarative/fonts/fonts/tarzeau_ocr_a.ttf)bin24544 -> 24544 bytes
-rw-r--r--examples/declarative/text/fonts/hello.qml78
-rw-r--r--examples/declarative/text/text.qmlproject (renamed from examples/declarative/searchbox/searchbox.qmlproject)0
-rw-r--r--examples/declarative/threading/threadedlistmodel/dataloader.js (renamed from examples/declarative/listmodel-threaded/dataloader.js)0
-rw-r--r--examples/declarative/threading/threadedlistmodel/threadedlistmodel.qmlproject (renamed from examples/declarative/slideswitch/slideswitch.qmlproject)0
-rw-r--r--examples/declarative/threading/threadedlistmodel/timedisplay.qml72
-rw-r--r--examples/declarative/threading/threading.qmlproject (renamed from examples/declarative/sql/sql.qmlproject)0
-rw-r--r--examples/declarative/threading/workerscript/workerscript.js (renamed from examples/declarative/workerscript/workerscript.js)0
-rw-r--r--examples/declarative/threading/workerscript/workerscript.qml83
-rw-r--r--examples/declarative/threading/workerscript/workerscript.qmlproject (renamed from examples/declarative/workerscript/workerscript.qmlproject)0
-rw-r--r--examples/declarative/tic-tac-toe/content/Button.qml37
-rw-r--r--examples/declarative/tic-tac-toe/content/TicTac.qml20
-rw-r--r--examples/declarative/tic-tac-toe/content/tic-tac-toe.js145
-rw-r--r--examples/declarative/tic-tac-toe/tic-tac-toe.qml77
-rw-r--r--examples/declarative/touchinteraction/gestures/experimental-gestures.qml76
-rw-r--r--examples/declarative/touchinteraction/gestures/gestures.qmlproject (renamed from examples/declarative/tabwidget/tabwidget.qmlproject)0
-rw-r--r--examples/declarative/touchinteraction/mousearea/mouse.qml87
-rw-r--r--examples/declarative/touchinteraction/mousearea/mousearea.qmlproject (renamed from examples/declarative/tic-tac-toe/tic-tac-toe.qmlproject)0
-rw-r--r--examples/declarative/touchinteraction/touchinteraction.qmlproject (renamed from examples/declarative/tvtennis/tvtennis.qmlproject)0
-rw-r--r--examples/declarative/toys/README37
-rw-r--r--examples/declarative/toys/clocks/clocks.qml54
-rw-r--r--examples/declarative/toys/clocks/clocks.qmlproject (renamed from examples/declarative/velocity/velocity.qmlproject)0
-rw-r--r--examples/declarative/toys/clocks/content/Clock.qml123
-rw-r--r--examples/declarative/toys/clocks/content/background.png (renamed from examples/declarative/clocks/content/background.png)bin46895 -> 46895 bytes
-rw-r--r--examples/declarative/toys/clocks/content/center.png (renamed from examples/declarative/plugins/com/nokia/TimeExample/center.png)bin765 -> 765 bytes
-rw-r--r--[-rwxr-xr-x]examples/declarative/toys/clocks/content/clock-night.png (renamed from examples/declarative/clocks/content/clock-night.png)bin23359 -> 23359 bytes
-rw-r--r--examples/declarative/toys/clocks/content/clock.png (renamed from examples/declarative/plugins/com/nokia/TimeExample/clock.png)bin20653 -> 20653 bytes
-rw-r--r--examples/declarative/toys/clocks/content/hour.png (renamed from examples/declarative/plugins/com/nokia/TimeExample/hour.png)bin625 -> 625 bytes
-rw-r--r--examples/declarative/toys/clocks/content/minute.png (renamed from examples/declarative/plugins/com/nokia/TimeExample/minute.png)bin625 -> 625 bytes
-rw-r--r--[-rwxr-xr-x]examples/declarative/toys/clocks/content/second.png (renamed from examples/declarative/clocks/content/second.png)bin303 -> 303 bytes
-rw-r--r--examples/declarative/toys/corkboards/Day.qml146
-rw-r--r--examples/declarative/toys/corkboards/cork.jpg (renamed from examples/declarative/velocity/cork.jpg)bin149337 -> 149337 bytes
-rw-r--r--examples/declarative/toys/corkboards/corkboards.qml115
-rw-r--r--examples/declarative/toys/corkboards/corkboards.qmlproject (renamed from examples/declarative/xmldata/xmldata.qmlproject)0
-rw-r--r--examples/declarative/toys/corkboards/note-yellow.png (renamed from examples/declarative/velocity/note-yellow.png)bin54559 -> 54559 bytes
-rw-r--r--examples/declarative/toys/corkboards/tack.png (renamed from examples/declarative/velocity/tack.png)bin7282 -> 7282 bytes
-rw-r--r--examples/declarative/toys/dynamicscene/dynamicscene.qml223
-rw-r--r--examples/declarative/toys/dynamicscene/dynamicscene.qmlproject (renamed from examples/declarative/xmlhttprequest/xmlhttprequest.qmlproject)0
-rw-r--r--examples/declarative/toys/dynamicscene/images/NOTE (renamed from examples/declarative/dynamic/images/NOTE)0
-rw-r--r--examples/declarative/toys/dynamicscene/images/face-smile.png (renamed from examples/declarative/aspectratio/pics/face.png)bin15408 -> 15408 bytes
-rw-r--r--examples/declarative/toys/dynamicscene/images/moon.png (renamed from examples/declarative/dynamic/images/moon.png)bin1757 -> 1757 bytes
-rw-r--r--examples/declarative/toys/dynamicscene/images/rabbit_brown.png (renamed from examples/declarative/dynamic/images/rabbit_brown.png)bin1245 -> 1245 bytes
-rw-r--r--examples/declarative/toys/dynamicscene/images/rabbit_bw.png (renamed from examples/declarative/dynamic/images/rabbit_bw.png)bin1759 -> 1759 bytes
-rw-r--r--examples/declarative/toys/dynamicscene/images/star.png (renamed from examples/declarative/dynamic/images/star.png)bin349 -> 349 bytes
-rw-r--r--examples/declarative/toys/dynamicscene/images/sun.png (renamed from examples/declarative/dynamic/images/sun.png)bin8153 -> 8153 bytes
-rw-r--r--examples/declarative/toys/dynamicscene/images/tree_s.png (renamed from examples/declarative/dynamic/images/tree_s.png)bin3406 -> 3406 bytes
-rw-r--r--examples/declarative/toys/dynamicscene/qml/Button.qml80
-rw-r--r--examples/declarative/toys/dynamicscene/qml/GenericSceneItem.qml49
-rw-r--r--examples/declarative/toys/dynamicscene/qml/PaletteItem.qml59
-rw-r--r--examples/declarative/toys/dynamicscene/qml/PerspectiveItem.qml65
-rw-r--r--examples/declarative/toys/dynamicscene/qml/Sun.qml78
-rw-r--r--examples/declarative/toys/dynamicscene/qml/itemCreation.js65
-rw-r--r--examples/declarative/toys/tic-tac-toe/content/Button.qml79
-rw-r--r--examples/declarative/toys/tic-tac-toe/content/TicTac.qml60
-rw-r--r--examples/declarative/toys/tic-tac-toe/content/pics/board.png (renamed from examples/declarative/tic-tac-toe/content/pics/board.png)bin12258 -> 12258 bytes
-rw-r--r--examples/declarative/toys/tic-tac-toe/content/pics/o.png (renamed from examples/declarative/tic-tac-toe/content/pics/o.png)bin1470 -> 1470 bytes
-rw-r--r--examples/declarative/toys/tic-tac-toe/content/pics/x.png (renamed from examples/declarative/tic-tac-toe/content/pics/x.png)bin1331 -> 1331 bytes
-rw-r--r--examples/declarative/toys/tic-tac-toe/content/tic-tac-toe.js149
-rw-r--r--examples/declarative/toys/tic-tac-toe/tic-tac-toe.qml121
-rw-r--r--examples/declarative/toys/tic-tac-toe/tic-tac-toe.qmlproject16
-rw-r--r--examples/declarative/toys/toys.qmlproject16
-rw-r--r--examples/declarative/toys/tvtennis/tvtennis.qml111
-rw-r--r--examples/declarative/toys/tvtennis/tvtennis.qmlproject16
-rw-r--r--examples/declarative/tutorials/extending/chapter1-basics/app.qml41
-rw-r--r--examples/declarative/tutorials/extending/chapter1-basics/main.cpp57
-rw-r--r--examples/declarative/tutorials/extending/chapter1-basics/musician.cpp53
-rw-r--r--examples/declarative/tutorials/extending/chapter1-basics/musician.h53
-rw-r--r--examples/declarative/tutorials/extending/chapter2-methods/app.qml41
-rw-r--r--examples/declarative/tutorials/extending/chapter2-methods/main.cpp57
-rw-r--r--examples/declarative/tutorials/extending/chapter2-methods/musician.cpp53
-rw-r--r--examples/declarative/tutorials/extending/chapter2-methods/musician.h53
-rw-r--r--examples/declarative/tutorials/extending/chapter3-bindings/app.qml41
-rw-r--r--examples/declarative/tutorials/extending/chapter3-bindings/main.cpp57
-rw-r--r--examples/declarative/tutorials/extending/chapter3-bindings/musician.cpp53
-rw-r--r--examples/declarative/tutorials/extending/chapter3-bindings/musician.h53
-rw-r--r--examples/declarative/tutorials/extending/chapter4-customPropertyTypes/app.qml41
-rw-r--r--examples/declarative/tutorials/extending/chapter4-customPropertyTypes/instrument.cpp57
-rw-r--r--examples/declarative/tutorials/extending/chapter4-customPropertyTypes/instrument.h57
-rw-r--r--examples/declarative/tutorials/extending/chapter4-customPropertyTypes/main.cpp53
-rw-r--r--examples/declarative/tutorials/extending/chapter4-customPropertyTypes/musician.cpp53
-rw-r--r--examples/declarative/tutorials/extending/chapter4-customPropertyTypes/musician.h53
-rw-r--r--examples/declarative/tutorials/extending/chapter5-plugins/app.qml40
-rw-r--r--examples/declarative/tutorials/extending/chapter5-plugins/chapter5-plugins.pro11
-rw-r--r--examples/declarative/tutorials/extending/chapter5-plugins/instrument.cpp57
-rw-r--r--examples/declarative/tutorials/extending/chapter5-plugins/instrument.h57
-rw-r--r--examples/declarative/tutorials/extending/chapter5-plugins/musician.cpp53
-rw-r--r--examples/declarative/tutorials/extending/chapter5-plugins/musician.h53
-rw-r--r--examples/declarative/tutorials/extending/chapter5-plugins/musicplugin.cpp57
-rw-r--r--examples/declarative/tutorials/extending/chapter5-plugins/musicplugin.h57
-rw-r--r--examples/declarative/tutorials/extending/extending.pro9
-rw-r--r--examples/declarative/tutorials/helloworld/Cell.qml40
-rw-r--r--examples/declarative/tutorials/helloworld/tutorial1.qml43
-rw-r--r--examples/declarative/tutorials/helloworld/tutorial2.qml43
-rw-r--r--examples/declarative/tutorials/helloworld/tutorial3.qml45
-rw-r--r--examples/declarative/tutorials/samegame/samegame1/Block.qml42
-rw-r--r--examples/declarative/tutorials/samegame/samegame1/Button.qml57
-rw-r--r--examples/declarative/tutorials/samegame/samegame1/samegame.qml47
-rw-r--r--examples/declarative/tutorials/samegame/samegame2/Block.qml42
-rw-r--r--examples/declarative/tutorials/samegame/samegame2/Button.qml57
-rw-r--r--examples/declarative/tutorials/samegame/samegame2/samegame.js15
-rw-r--r--examples/declarative/tutorials/samegame/samegame2/samegame.qml45
-rw-r--r--examples/declarative/tutorials/samegame/samegame3/Block.qml40
-rw-r--r--examples/declarative/tutorials/samegame/samegame3/Button.qml57
-rw-r--r--examples/declarative/tutorials/samegame/samegame3/Dialog.qml73
-rw-r--r--examples/declarative/tutorials/samegame/samegame3/samegame.js24
-rw-r--r--examples/declarative/tutorials/samegame/samegame3/samegame.qml54
-rw-r--r--examples/declarative/tutorials/samegame/samegame4/content/BoomBlock.qml40
-rw-r--r--examples/declarative/tutorials/samegame/samegame4/content/Button.qml57
-rw-r--r--examples/declarative/tutorials/samegame/samegame4/content/Dialog.qml105
-rwxr-xr-xexamples/declarative/tutorials/samegame/samegame4/content/samegame.js32
-rw-r--r--examples/declarative/tutorials/samegame/samegame4/samegame.qml78
-rw-r--r--examples/declarative/tutorials/tutorials.pro5
-rw-r--r--examples/declarative/tvtennis/click.wavbin3056 -> 0 bytes
-rw-r--r--examples/declarative/tvtennis/paddle.wavbin5320 -> 0 bytes
-rw-r--r--examples/declarative/tvtennis/tvtennis.qml79
-rw-r--r--examples/declarative/ui-components/README39
-rw-r--r--examples/declarative/ui-components/dialcontrol/content/Dial.qml83
-rw-r--r--examples/declarative/ui-components/dialcontrol/content/background.png (renamed from examples/declarative/dial/content/background.png)bin35876 -> 35876 bytes
-rw-r--r--examples/declarative/ui-components/dialcontrol/content/needle.png (renamed from examples/declarative/dial/content/needle.png)bin342 -> 342 bytes
-rw-r--r--examples/declarative/ui-components/dialcontrol/content/needle_shadow.png (renamed from examples/declarative/dial/content/needle_shadow.png)bin632 -> 632 bytes
-rw-r--r--examples/declarative/ui-components/dialcontrol/content/overlay.png (renamed from examples/declarative/dial/content/overlay.png)bin3564 -> 3564 bytes
-rw-r--r--examples/declarative/ui-components/dialcontrol/dialcontrol.qml90
-rw-r--r--examples/declarative/ui-components/dialcontrol/dialcontrol.qmlproject16
-rw-r--r--examples/declarative/ui-components/flipable/content/5_heart.png (renamed from examples/declarative/flipable/content/5_heart.png)bin3872 -> 3872 bytes
-rw-r--r--examples/declarative/ui-components/flipable/content/9_club.png (renamed from examples/declarative/flipable/content/9_club.png)bin6135 -> 6135 bytes
-rw-r--r--examples/declarative/ui-components/flipable/content/Card.qml78
-rw-r--r--examples/declarative/ui-components/flipable/content/back.png (renamed from examples/declarative/flipable/content/back.png)bin1418 -> 1418 bytes
-rw-r--r--examples/declarative/ui-components/flipable/flipable.qml55
-rw-r--r--examples/declarative/ui-components/flipable/flipable.qmlproject16
-rw-r--r--examples/declarative/ui-components/progressbar/content/ProgressBar.qml83
-rw-r--r--examples/declarative/ui-components/progressbar/content/background.png (renamed from examples/declarative/progressbar/content/background.png)bin426 -> 426 bytes
-rw-r--r--examples/declarative/ui-components/progressbar/main.qml73
-rw-r--r--examples/declarative/ui-components/progressbar/progressbar.qmlproject16
-rw-r--r--examples/declarative/ui-components/scrollbar/ScrollBar.qml73
-rw-r--r--examples/declarative/ui-components/scrollbar/main.qml94
-rw-r--r--examples/declarative/ui-components/scrollbar/pics/niagara_falls.jpg (renamed from examples/declarative/scrollbar/pics/niagara_falls.jpg)bin604121 -> 604121 bytes
-rw-r--r--examples/declarative/ui-components/scrollbar/scrollbar.qmlproject16
-rw-r--r--examples/declarative/ui-components/searchbox/SearchBox.qml105
-rw-r--r--examples/declarative/ui-components/searchbox/images/edit-clear-locationbar-rtl.png (renamed from examples/declarative/searchbox/images/edit-clear-locationbar-rtl.png)bin429 -> 429 bytes
-rw-r--r--examples/declarative/ui-components/searchbox/images/lineedit-bg-focus.png (renamed from examples/declarative/searchbox/images/lineedit-bg-focus.png)bin526 -> 526 bytes
-rw-r--r--examples/declarative/ui-components/searchbox/images/lineedit-bg.png (renamed from examples/declarative/searchbox/images/lineedit-bg.png)bin426 -> 426 bytes
-rw-r--r--examples/declarative/ui-components/searchbox/main.qml60
-rw-r--r--examples/declarative/ui-components/searchbox/searchbox.qmlproject16
-rw-r--r--examples/declarative/ui-components/slideswitch/content/Switch.qml116
-rw-r--r--examples/declarative/ui-components/slideswitch/content/background.svg (renamed from examples/declarative/slideswitch/content/background.svg)0
-rw-r--r--examples/declarative/ui-components/slideswitch/content/knob.svg (renamed from examples/declarative/slideswitch/content/knob.svg)0
-rw-r--r--examples/declarative/ui-components/slideswitch/slideswitch.qml51
-rw-r--r--examples/declarative/ui-components/slideswitch/slideswitch.qmlproject16
-rw-r--r--examples/declarative/ui-components/spinner/content/Spinner.qml65
-rw-r--r--examples/declarative/ui-components/spinner/content/spinner-bg.pngbin0 -> 345 bytes
-rw-r--r--examples/declarative/ui-components/spinner/content/spinner-select.pngbin0 -> 320 bytes
-rw-r--r--examples/declarative/ui-components/spinner/main.qml58
-rw-r--r--examples/declarative/ui-components/spinner/spinner.qmlproject16
-rw-r--r--examples/declarative/ui-components/tabwidget/TabWidget.qml97
-rw-r--r--examples/declarative/ui-components/tabwidget/main.qml99
-rw-r--r--examples/declarative/ui-components/tabwidget/tab.png (renamed from examples/declarative/tabwidget/tab.png)bin507 -> 507 bytes
-rw-r--r--examples/declarative/ui-components/tabwidget/tabwidget.qmlproject16
-rw-r--r--examples/declarative/ui-components/ui-components.qmlproject16
-rw-r--r--examples/declarative/velocity/Day.qml101
-rw-r--r--examples/declarative/velocity/velocity.qml75
-rw-r--r--examples/declarative/webview/alerts.qml58
-rw-r--r--examples/declarative/webview/autosize.qml62
-rw-r--r--examples/declarative/webview/content/FieldText.qml157
-rw-r--r--examples/declarative/webview/content/Mapping/Map.qml26
-rwxr-xr-xexamples/declarative/webview/content/Mapping/map.html52
-rw-r--r--examples/declarative/webview/content/SpinSquare.qml25
-rw-r--r--examples/declarative/webview/content/pics/cancel.pngbin1038 -> 0 bytes
-rw-r--r--examples/declarative/webview/content/pics/ok.pngbin655 -> 0 bytes
-rw-r--r--examples/declarative/webview/googleMaps.qml43
-rw-r--r--examples/declarative/webview/inline-html.qml15
-rw-r--r--examples/declarative/webview/newwindows.qml31
-rw-r--r--examples/declarative/webview/transparent.qml15
-rw-r--r--examples/declarative/workerscript/workerscript.qml43
-rw-r--r--examples/declarative/xml/xml.qmlproject16
-rw-r--r--examples/declarative/xml/xmlhttprequest/test.qml76
-rw-r--r--examples/declarative/xml/xmlhttprequest/test.xml (renamed from examples/declarative/xmlhttprequest/test.xml)0
-rw-r--r--examples/declarative/xml/xmlhttprequest/xmlhttprequest.qmlproject16
-rw-r--r--examples/declarative/xmldata/daringfireball.qml48
-rw-r--r--examples/declarative/xmldata/yahoonews.qml83
-rw-r--r--examples/declarative/xmlhttprequest/test.qml36
-rw-r--r--examples/designer/calculatorbuilder/calculatorform.cpp53
-rw-r--r--examples/designer/calculatorbuilder/calculatorform.h53
-rw-r--r--examples/designer/calculatorbuilder/main.cpp57
-rw-r--r--examples/designer/calculatorform/calculatorform.cpp53
-rw-r--r--examples/designer/calculatorform/calculatorform.h53
-rw-r--r--examples/designer/calculatorform/main.cpp57
-rw-r--r--examples/designer/containerextension/multipagewidget.cpp53
-rw-r--r--examples/designer/containerextension/multipagewidget.h53
-rw-r--r--examples/designer/containerextension/multipagewidgetcontainerextension.cpp53
-rw-r--r--examples/designer/containerextension/multipagewidgetcontainerextension.h53
-rw-r--r--examples/designer/containerextension/multipagewidgetextensionfactory.cpp53
-rw-r--r--examples/designer/containerextension/multipagewidgetextensionfactory.h57
-rw-r--r--examples/designer/containerextension/multipagewidgetplugin.cpp53
-rw-r--r--examples/designer/containerextension/multipagewidgetplugin.h53
-rw-r--r--examples/designer/customwidgetplugin/analogclock.cpp53
-rw-r--r--examples/designer/customwidgetplugin/analogclock.h57
-rw-r--r--examples/designer/customwidgetplugin/customwidgetplugin.cpp53
-rw-r--r--examples/designer/customwidgetplugin/customwidgetplugin.h53
-rw-r--r--examples/designer/taskmenuextension/tictactoe.cpp53
-rw-r--r--examples/designer/taskmenuextension/tictactoe.h53
-rw-r--r--examples/designer/taskmenuextension/tictactoedialog.cpp53
-rw-r--r--examples/designer/taskmenuextension/tictactoedialog.h53
-rw-r--r--examples/designer/taskmenuextension/tictactoeplugin.cpp53
-rw-r--r--examples/designer/taskmenuextension/tictactoeplugin.h53
-rw-r--r--examples/designer/taskmenuextension/tictactoetaskmenu.cpp53
-rw-r--r--examples/designer/taskmenuextension/tictactoetaskmenu.h53
-rw-r--r--examples/designer/worldtimeclockbuilder/main.cpp53
-rw-r--r--examples/designer/worldtimeclockplugin/worldtimeclock.cpp53
-rw-r--r--examples/designer/worldtimeclockplugin/worldtimeclock.h53
-rw-r--r--examples/designer/worldtimeclockplugin/worldtimeclockplugin.cpp53
-rw-r--r--examples/designer/worldtimeclockplugin/worldtimeclockplugin.h53
-rw-r--r--examples/desktop/screenshot/main.cpp57
-rw-r--r--examples/desktop/screenshot/screenshot.cpp53
-rw-r--r--examples/desktop/screenshot/screenshot.h53
-rw-r--r--examples/desktop/systray/main.cpp57
-rw-r--r--examples/desktop/systray/window.cpp53
-rw-r--r--examples/desktop/systray/window.h53
-rw-r--r--examples/dialogs/classwizard/classwizard.cpp53
-rw-r--r--examples/dialogs/classwizard/classwizard.h53
-rw-r--r--examples/dialogs/classwizard/main.cpp57
-rw-r--r--examples/dialogs/configdialog/configdialog.cpp53
-rw-r--r--examples/dialogs/configdialog/configdialog.h53
-rw-r--r--examples/dialogs/configdialog/main.cpp57
-rw-r--r--examples/dialogs/configdialog/pages.cpp53
-rw-r--r--examples/dialogs/configdialog/pages.h53
-rw-r--r--examples/dialogs/extension/finddialog.cpp53
-rw-r--r--examples/dialogs/extension/finddialog.h53
-rw-r--r--examples/dialogs/extension/main.cpp57
-rw-r--r--examples/dialogs/findfiles/main.cpp57
-rw-r--r--examples/dialogs/findfiles/window.cpp53
-rw-r--r--examples/dialogs/findfiles/window.h53
-rw-r--r--examples/dialogs/licensewizard/licensewizard.cpp53
-rw-r--r--examples/dialogs/licensewizard/licensewizard.h53
-rw-r--r--examples/dialogs/licensewizard/main.cpp57
-rw-r--r--examples/dialogs/sipdialog/dialog.cpp53
-rw-r--r--examples/dialogs/sipdialog/dialog.h57
-rw-r--r--examples/dialogs/sipdialog/main.cpp57
-rw-r--r--examples/dialogs/standarddialogs/dialog.cpp53
-rw-r--r--examples/dialogs/standarddialogs/dialog.h53
-rw-r--r--examples/dialogs/standarddialogs/main.cpp57
-rw-r--r--examples/dialogs/tabdialog/main.cpp57
-rw-r--r--examples/dialogs/tabdialog/tabdialog.cpp53
-rw-r--r--examples/dialogs/tabdialog/tabdialog.h53
-rw-r--r--examples/dialogs/trivialwizard/trivialwizard.cpp53
-rw-r--r--examples/draganddrop/delayedencoding/images/example.svg57
-rw-r--r--examples/draganddrop/delayedencoding/main.cpp57
-rw-r--r--examples/draganddrop/delayedencoding/mimedata.cpp53
-rw-r--r--examples/draganddrop/delayedencoding/mimedata.h57
-rw-r--r--examples/draganddrop/delayedencoding/sourcewidget.cpp53
-rw-r--r--examples/draganddrop/delayedencoding/sourcewidget.h53
-rw-r--r--examples/draganddrop/draggableicons/dragwidget.cpp53
-rw-r--r--examples/draganddrop/draggableicons/dragwidget.h53
-rw-r--r--examples/draganddrop/draggableicons/main.cpp57
-rw-r--r--examples/draganddrop/draggabletext/draglabel.cpp57
-rw-r--r--examples/draganddrop/draggabletext/draglabel.h57
-rw-r--r--examples/draganddrop/draggabletext/dragwidget.cpp53
-rw-r--r--examples/draganddrop/draggabletext/dragwidget.h57
-rw-r--r--examples/draganddrop/draggabletext/main.cpp57
-rw-r--r--examples/draganddrop/dropsite/droparea.cpp53
-rw-r--r--examples/draganddrop/dropsite/droparea.h53
-rw-r--r--examples/draganddrop/dropsite/dropsitewindow.cpp53
-rw-r--r--examples/draganddrop/dropsite/dropsitewindow.h53
-rw-r--r--examples/draganddrop/dropsite/main.cpp57
-rw-r--r--examples/draganddrop/fridgemagnets/draglabel.cpp53
-rw-r--r--examples/draganddrop/fridgemagnets/draglabel.h53
-rw-r--r--examples/draganddrop/fridgemagnets/dragwidget.cpp53
-rw-r--r--examples/draganddrop/fridgemagnets/dragwidget.h53
-rw-r--r--examples/draganddrop/fridgemagnets/main.cpp63
-rw-r--r--examples/draganddrop/puzzle/main.cpp57
-rw-r--r--examples/draganddrop/puzzle/mainwindow.cpp53
-rw-r--r--examples/draganddrop/puzzle/mainwindow.h53
-rw-r--r--examples/draganddrop/puzzle/pieceslist.cpp53
-rw-r--r--examples/draganddrop/puzzle/pieceslist.h57
-rw-r--r--examples/draganddrop/puzzle/puzzlewidget.cpp53
-rw-r--r--examples/draganddrop/puzzle/puzzlewidget.h53
-rw-r--r--examples/effects/blurpicker/blureffect.cpp53
-rw-r--r--examples/effects/blurpicker/blureffect.h53
-rw-r--r--examples/effects/blurpicker/blurpicker.cpp53
-rw-r--r--examples/effects/blurpicker/blurpicker.h53
-rw-r--r--examples/effects/blurpicker/main.cpp57
-rw-r--r--examples/effects/fademessage/fademessage.cpp53
-rw-r--r--examples/effects/fademessage/fademessage.h53
-rw-r--r--examples/effects/fademessage/main.cpp57
-rw-r--r--examples/effects/lighting/lighting.cpp53
-rw-r--r--examples/effects/lighting/lighting.h53
-rw-r--r--examples/effects/lighting/main.cpp57
-rw-r--r--examples/gestures/imagegestures/imagewidget.cpp53
-rw-r--r--examples/gestures/imagegestures/imagewidget.h53
-rw-r--r--examples/gestures/imagegestures/main.cpp57
-rw-r--r--examples/gestures/imagegestures/mainwidget.cpp57
-rw-r--r--examples/gestures/imagegestures/mainwidget.h53
-rw-r--r--examples/graphicsview/anchorlayout/main.cpp53
-rw-r--r--examples/graphicsview/basicgraphicslayouts/layoutitem.cpp53
-rw-r--r--examples/graphicsview/basicgraphicslayouts/layoutitem.h53
-rw-r--r--examples/graphicsview/basicgraphicslayouts/main.cpp57
-rw-r--r--examples/graphicsview/basicgraphicslayouts/window.cpp53
-rw-r--r--examples/graphicsview/basicgraphicslayouts/window.h57
-rw-r--r--examples/graphicsview/collidingmice/main.cpp53
-rw-r--r--examples/graphicsview/collidingmice/mouse.cpp53
-rw-r--r--examples/graphicsview/collidingmice/mouse.h53
-rw-r--r--examples/graphicsview/diagramscene/arrow.cpp53
-rw-r--r--examples/graphicsview/diagramscene/arrow.h53
-rw-r--r--examples/graphicsview/diagramscene/diagramitem.cpp53
-rw-r--r--examples/graphicsview/diagramscene/diagramitem.h53
-rw-r--r--examples/graphicsview/diagramscene/diagramscene.cpp53
-rw-r--r--examples/graphicsview/diagramscene/diagramscene.h53
-rw-r--r--examples/graphicsview/diagramscene/diagramtextitem.cpp53
-rw-r--r--examples/graphicsview/diagramscene/diagramtextitem.h53
-rw-r--r--examples/graphicsview/diagramscene/main.cpp57
-rw-r--r--examples/graphicsview/diagramscene/mainwindow.cpp53
-rw-r--r--examples/graphicsview/diagramscene/mainwindow.h53
-rw-r--r--examples/graphicsview/dragdroprobot/coloritem.cpp53
-rw-r--r--examples/graphicsview/dragdroprobot/coloritem.h53
-rw-r--r--examples/graphicsview/dragdroprobot/main.cpp53
-rw-r--r--examples/graphicsview/dragdroprobot/robot.cpp53
-rw-r--r--examples/graphicsview/dragdroprobot/robot.h53
-rw-r--r--examples/graphicsview/elasticnodes/edge.cpp53
-rw-r--r--examples/graphicsview/elasticnodes/edge.h53
-rw-r--r--examples/graphicsview/elasticnodes/graphwidget.cpp53
-rw-r--r--examples/graphicsview/elasticnodes/graphwidget.h53
-rw-r--r--examples/graphicsview/elasticnodes/main.cpp57
-rw-r--r--examples/graphicsview/elasticnodes/node.cpp53
-rw-r--r--examples/graphicsview/elasticnodes/node.h53
-rw-r--r--examples/graphicsview/flowlayout/flowlayout.cpp53
-rw-r--r--examples/graphicsview/flowlayout/flowlayout.h53
-rw-r--r--examples/graphicsview/flowlayout/main.cpp57
-rw-r--r--examples/graphicsview/flowlayout/window.cpp57
-rw-r--r--examples/graphicsview/flowlayout/window.h57
-rw-r--r--examples/graphicsview/padnavigator/backside.ui208
-rw-r--r--examples/graphicsview/padnavigator/flippablepad.cpp98
-rw-r--r--examples/graphicsview/padnavigator/flippablepad.h63
-rw-r--r--examples/graphicsview/padnavigator/form.ui208
-rw-r--r--examples/graphicsview/padnavigator/main.cpp71
-rw-r--r--examples/graphicsview/padnavigator/padnavigator.cpp306
-rw-r--r--examples/graphicsview/padnavigator/padnavigator.h70
-rw-r--r--examples/graphicsview/padnavigator/padnavigator.pro23
-rw-r--r--examples/graphicsview/padnavigator/panel.cpp238
-rw-r--r--examples/graphicsview/padnavigator/panel.h92
-rw-r--r--examples/graphicsview/padnavigator/roundrectitem.cpp199
-rw-r--r--examples/graphicsview/padnavigator/roundrectitem.h104
-rw-r--r--examples/graphicsview/padnavigator/splashitem.cpp101
-rw-r--r--examples/graphicsview/padnavigator/splashitem.h82
-rw-r--r--examples/graphicsview/portedasteroids/animateditem.cpp53
-rw-r--r--examples/graphicsview/portedasteroids/animateditem.h53
-rw-r--r--examples/graphicsview/portedasteroids/ledmeter.cpp53
-rw-r--r--examples/graphicsview/portedasteroids/ledmeter.h53
-rw-r--r--examples/graphicsview/portedasteroids/main.cpp57
-rw-r--r--examples/graphicsview/portedasteroids/sprites.h53
-rw-r--r--examples/graphicsview/portedasteroids/toplevel.cpp53
-rw-r--r--examples/graphicsview/portedasteroids/toplevel.h53
-rw-r--r--examples/graphicsview/portedasteroids/view.cpp53
-rw-r--r--examples/graphicsview/portedasteroids/view.h53
-rw-r--r--examples/graphicsview/portedcanvas/blendshadow.cpp53
-rw-r--r--examples/graphicsview/portedcanvas/canvas.cpp53
-rw-r--r--examples/graphicsview/portedcanvas/canvas.h53
-rw-r--r--examples/graphicsview/portedcanvas/main.cpp53
-rw-r--r--examples/graphicsview/portedcanvas/makeimg.cpp53
-rw-r--r--examples/graphicsview/simpleanchorlayout/main.cpp53
-rw-r--r--examples/graphicsview/weatheranchorlayout/main.cpp53
-rw-r--r--examples/help/contextsensitivehelp/helpbrowser.cpp53
-rw-r--r--examples/help/contextsensitivehelp/helpbrowser.h53
-rw-r--r--examples/help/contextsensitivehelp/main.cpp57
-rw-r--r--examples/help/contextsensitivehelp/wateringconfigdialog.cpp53
-rw-r--r--examples/help/contextsensitivehelp/wateringconfigdialog.h57
-rw-r--r--examples/help/remotecontrol/main.cpp57
-rw-r--r--examples/help/remotecontrol/remotecontrol.cpp53
-rw-r--r--examples/help/remotecontrol/remotecontrol.h53
-rw-r--r--examples/help/simpletextviewer/assistant.cpp53
-rw-r--r--examples/help/simpletextviewer/assistant.h57
-rw-r--r--examples/help/simpletextviewer/findfiledialog.cpp53
-rw-r--r--examples/help/simpletextviewer/findfiledialog.h53
-rw-r--r--examples/help/simpletextviewer/main.cpp57
-rw-r--r--examples/help/simpletextviewer/mainwindow.cpp53
-rw-r--r--examples/help/simpletextviewer/mainwindow.h53
-rw-r--r--examples/help/simpletextviewer/textedit.cpp53
-rw-r--r--examples/help/simpletextviewer/textedit.h57
-rw-r--r--examples/ipc/localfortuneclient/client.cpp53
-rw-r--r--examples/ipc/localfortuneclient/client.h53
-rw-r--r--examples/ipc/localfortuneclient/main.cpp57
-rw-r--r--examples/ipc/localfortuneserver/main.cpp57
-rw-r--r--examples/ipc/localfortuneserver/server.cpp53
-rw-r--r--examples/ipc/localfortuneserver/server.h53
-rw-r--r--examples/ipc/sharedmemory/dialog.cpp53
-rw-r--r--examples/ipc/sharedmemory/dialog.h53
-rw-r--r--examples/ipc/sharedmemory/main.cpp57
-rw-r--r--examples/itemviews/addressbook/adddialog.cpp53
-rw-r--r--examples/itemviews/addressbook/adddialog.h53
-rw-r--r--examples/itemviews/addressbook/addresswidget.cpp53
-rw-r--r--examples/itemviews/addressbook/addresswidget.h53
-rw-r--r--examples/itemviews/addressbook/main.cpp57
-rw-r--r--examples/itemviews/addressbook/mainwindow.cpp53
-rw-r--r--examples/itemviews/addressbook/mainwindow.h53
-rw-r--r--examples/itemviews/addressbook/newaddresstab.cpp53
-rw-r--r--examples/itemviews/addressbook/newaddresstab.h53
-rw-r--r--examples/itemviews/addressbook/tablemodel.cpp53
-rw-r--r--examples/itemviews/addressbook/tablemodel.h53
-rw-r--r--examples/itemviews/basicsortfiltermodel/main.cpp53
-rw-r--r--examples/itemviews/basicsortfiltermodel/window.cpp53
-rw-r--r--examples/itemviews/basicsortfiltermodel/window.h53
-rw-r--r--examples/itemviews/chart/main.cpp57
-rw-r--r--examples/itemviews/chart/mainwindow.cpp53
-rw-r--r--examples/itemviews/chart/mainwindow.h53
-rw-r--r--examples/itemviews/chart/pieview.cpp53
-rw-r--r--examples/itemviews/chart/pieview.h53
-rw-r--r--examples/itemviews/coloreditorfactory/colorlisteditor.cpp53
-rw-r--r--examples/itemviews/coloreditorfactory/colorlisteditor.h53
-rw-r--r--examples/itemviews/coloreditorfactory/main.cpp57
-rw-r--r--examples/itemviews/coloreditorfactory/window.cpp53
-rw-r--r--examples/itemviews/coloreditorfactory/window.h57
-rw-r--r--examples/itemviews/combowidgetmapper/main.cpp57
-rw-r--r--examples/itemviews/combowidgetmapper/window.cpp53
-rw-r--r--examples/itemviews/combowidgetmapper/window.h53
-rw-r--r--examples/itemviews/customsortfiltermodel/main.cpp53
-rw-r--r--examples/itemviews/customsortfiltermodel/mysortfilterproxymodel.cpp53
-rw-r--r--examples/itemviews/customsortfiltermodel/mysortfilterproxymodel.h53
-rw-r--r--examples/itemviews/customsortfiltermodel/window.cpp53
-rw-r--r--examples/itemviews/customsortfiltermodel/window.h53
-rw-r--r--examples/itemviews/dirview/main.cpp57
-rw-r--r--examples/itemviews/editabletreemodel/main.cpp57
-rw-r--r--examples/itemviews/editabletreemodel/mainwindow.cpp53
-rw-r--r--examples/itemviews/editabletreemodel/mainwindow.h53
-rw-r--r--examples/itemviews/editabletreemodel/treeitem.cpp53
-rw-r--r--examples/itemviews/editabletreemodel/treeitem.h53
-rw-r--r--examples/itemviews/editabletreemodel/treemodel.cpp53
-rw-r--r--examples/itemviews/editabletreemodel/treemodel.h53
-rw-r--r--examples/itemviews/fetchmore/filelistmodel.cpp55
-rw-r--r--examples/itemviews/fetchmore/filelistmodel.h53
-rw-r--r--examples/itemviews/fetchmore/main.cpp57
-rw-r--r--examples/itemviews/fetchmore/window.cpp53
-rw-r--r--examples/itemviews/fetchmore/window.h53
-rw-r--r--examples/itemviews/frozencolumn/freezetablewidget.cpp53
-rw-r--r--examples/itemviews/frozencolumn/freezetablewidget.h53
-rw-r--r--examples/itemviews/frozencolumn/main.cpp53
-rw-r--r--examples/itemviews/pixelator/imagemodel.cpp53
-rw-r--r--examples/itemviews/pixelator/imagemodel.h53
-rw-r--r--examples/itemviews/pixelator/main.cpp57
-rw-r--r--examples/itemviews/pixelator/mainwindow.cpp53
-rw-r--r--examples/itemviews/pixelator/mainwindow.h53
-rw-r--r--examples/itemviews/pixelator/pixeldelegate.cpp53
-rw-r--r--examples/itemviews/pixelator/pixeldelegate.h53
-rw-r--r--examples/itemviews/puzzle/main.cpp57
-rw-r--r--examples/itemviews/puzzle/mainwindow.cpp53
-rw-r--r--examples/itemviews/puzzle/mainwindow.h53
-rw-r--r--examples/itemviews/puzzle/piecesmodel.cpp53
-rw-r--r--examples/itemviews/puzzle/piecesmodel.h53
-rw-r--r--examples/itemviews/puzzle/puzzlewidget.cpp53
-rw-r--r--examples/itemviews/puzzle/puzzlewidget.h53
-rw-r--r--examples/itemviews/simpledommodel/domitem.cpp53
-rw-r--r--examples/itemviews/simpledommodel/domitem.h53
-rw-r--r--examples/itemviews/simpledommodel/dommodel.cpp53
-rw-r--r--examples/itemviews/simpledommodel/dommodel.h53
-rw-r--r--examples/itemviews/simpledommodel/main.cpp57
-rw-r--r--examples/itemviews/simpledommodel/mainwindow.cpp53
-rw-r--r--examples/itemviews/simpledommodel/mainwindow.h53
-rw-r--r--examples/itemviews/simpletreemodel/main.cpp57
-rw-r--r--examples/itemviews/simpletreemodel/treeitem.cpp53
-rw-r--r--examples/itemviews/simpletreemodel/treeitem.h53
-rw-r--r--examples/itemviews/simpletreemodel/treemodel.cpp53
-rw-r--r--examples/itemviews/simpletreemodel/treemodel.h53
-rw-r--r--examples/itemviews/simplewidgetmapper/main.cpp57
-rw-r--r--examples/itemviews/simplewidgetmapper/window.cpp53
-rw-r--r--examples/itemviews/simplewidgetmapper/window.h53
-rw-r--r--examples/itemviews/spinboxdelegate/delegate.cpp53
-rw-r--r--examples/itemviews/spinboxdelegate/delegate.h53
-rw-r--r--examples/itemviews/spinboxdelegate/main.cpp53
-rw-r--r--examples/itemviews/stardelegate/main.cpp53
-rw-r--r--examples/itemviews/stardelegate/stardelegate.cpp53
-rw-r--r--examples/itemviews/stardelegate/stardelegate.h53
-rw-r--r--examples/itemviews/stardelegate/stareditor.cpp53
-rw-r--r--examples/itemviews/stardelegate/stareditor.h53
-rw-r--r--examples/itemviews/stardelegate/starrating.cpp53
-rw-r--r--examples/itemviews/stardelegate/starrating.h53
-rw-r--r--examples/ja_JP/linguist/hellotr/hellotr.pro13
-rw-r--r--examples/ja_JP/linguist/hellotr/main.cpp71
-rw-r--r--examples/layouts/basiclayouts/dialog.cpp53
-rw-r--r--examples/layouts/basiclayouts/dialog.h53
-rw-r--r--examples/layouts/basiclayouts/main.cpp57
-rw-r--r--examples/layouts/borderlayout/borderlayout.cpp53
-rw-r--r--examples/layouts/borderlayout/borderlayout.h53
-rw-r--r--examples/layouts/borderlayout/main.cpp57
-rw-r--r--examples/layouts/borderlayout/window.cpp53
-rw-r--r--examples/layouts/borderlayout/window.h57
-rw-r--r--examples/layouts/dynamiclayouts/dialog.cpp53
-rw-r--r--examples/layouts/dynamiclayouts/dialog.h53
-rw-r--r--examples/layouts/dynamiclayouts/main.cpp57
-rw-r--r--examples/layouts/flowlayout/flowlayout.cpp53
-rw-r--r--examples/layouts/flowlayout/flowlayout.h53
-rw-r--r--examples/layouts/flowlayout/main.cpp57
-rw-r--r--examples/layouts/flowlayout/window.cpp57
-rw-r--r--examples/layouts/flowlayout/window.h57
-rw-r--r--examples/linguist/arrowpad/arrowpad.cpp53
-rw-r--r--examples/linguist/arrowpad/arrowpad.h53
-rw-r--r--examples/linguist/arrowpad/main.cpp57
-rw-r--r--examples/linguist/arrowpad/mainwindow.cpp57
-rw-r--r--examples/linguist/arrowpad/mainwindow.h53
-rw-r--r--examples/linguist/hellotr/main.cpp53
-rw-r--r--examples/linguist/trollprint/main.cpp57
-rw-r--r--examples/linguist/trollprint/mainwindow.cpp53
-rw-r--r--examples/linguist/trollprint/mainwindow.h53
-rw-r--r--examples/linguist/trollprint/printpanel.cpp53
-rw-r--r--examples/linguist/trollprint/printpanel.h53
-rw-r--r--examples/mainwindows/application/main.cpp57
-rw-r--r--examples/mainwindows/application/mainwindow.cpp53
-rw-r--r--examples/mainwindows/application/mainwindow.h53
-rw-r--r--examples/mainwindows/dockwidgets/main.cpp57
-rw-r--r--examples/mainwindows/dockwidgets/mainwindow.cpp53
-rw-r--r--examples/mainwindows/dockwidgets/mainwindow.h53
-rw-r--r--examples/mainwindows/mdi/main.cpp57
-rw-r--r--examples/mainwindows/mdi/mainwindow.cpp53
-rw-r--r--examples/mainwindows/mdi/mainwindow.h53
-rw-r--r--examples/mainwindows/mdi/mdichild.cpp53
-rw-r--r--examples/mainwindows/mdi/mdichild.h53
-rw-r--r--examples/mainwindows/menus/main.cpp57
-rw-r--r--examples/mainwindows/menus/mainwindow.cpp53
-rw-r--r--examples/mainwindows/menus/mainwindow.h53
-rw-r--r--examples/mainwindows/recentfiles/main.cpp57
-rw-r--r--examples/mainwindows/recentfiles/mainwindow.cpp53
-rw-r--r--examples/mainwindows/recentfiles/mainwindow.h53
-rw-r--r--examples/mainwindows/sdi/main.cpp57
-rw-r--r--examples/mainwindows/sdi/mainwindow.cpp53
-rw-r--r--examples/mainwindows/sdi/mainwindow.h53
-rw-r--r--examples/multimedia/audiodevices/audiodevices.cpp211
-rw-r--r--examples/multimedia/audiodevices/audiodevices.h55
-rw-r--r--examples/multimedia/audiodevices/audiodevicesbase.ui565
-rw-r--r--examples/multimedia/audiodevices/main.cpp61
-rw-r--r--examples/multimedia/audioinput/audioinput.cpp53
-rw-r--r--examples/multimedia/audioinput/audioinput.h53
-rw-r--r--examples/multimedia/audioinput/main.cpp57
-rw-r--r--examples/multimedia/audiooutput/audiooutput.cpp53
-rw-r--r--examples/multimedia/audiooutput/audiooutput.h53
-rw-r--r--examples/multimedia/audiooutput/main.cpp57
-rw-r--r--examples/multimedia/videographicsitem/main.cpp57
-rw-r--r--examples/multimedia/videographicsitem/videoitem.cpp53
-rw-r--r--examples/multimedia/videographicsitem/videoitem.h53
-rw-r--r--examples/multimedia/videographicsitem/videoplayer.cpp68
-rw-r--r--examples/multimedia/videographicsitem/videoplayer.h53
-rw-r--r--examples/multimedia/videowidget/main.cpp57
-rw-r--r--examples/multimedia/videowidget/videoplayer.cpp68
-rw-r--r--examples/multimedia/videowidget/videoplayer.h53
-rw-r--r--examples/multimedia/videowidget/videowidget.cpp53
-rw-r--r--examples/multimedia/videowidget/videowidget.h53
-rw-r--r--examples/multimedia/videowidget/videowidgetsurface.cpp53
-rw-r--r--examples/multimedia/videowidget/videowidgetsurface.h53
-rw-r--r--examples/multitouch/dials/main.cpp57
-rw-r--r--examples/multitouch/fingerpaint/main.cpp57
-rw-r--r--examples/multitouch/fingerpaint/mainwindow.cpp53
-rw-r--r--examples/multitouch/fingerpaint/mainwindow.h53
-rw-r--r--examples/multitouch/fingerpaint/scribblearea.cpp53
-rw-r--r--examples/multitouch/fingerpaint/scribblearea.h53
-rw-r--r--examples/multitouch/knobs/knob.cpp53
-rw-r--r--examples/multitouch/knobs/knob.h57
-rw-r--r--examples/multitouch/knobs/main.cpp53
-rw-r--r--examples/multitouch/pinchzoom/graphicsview.cpp53
-rw-r--r--examples/multitouch/pinchzoom/graphicsview.h57
-rw-r--r--examples/multitouch/pinchzoom/main.cpp53
-rw-r--r--examples/multitouch/pinchzoom/mouse.cpp53
-rw-r--r--examples/multitouch/pinchzoom/mouse.h53
-rw-r--r--examples/network/bearercloud/bearercloud.cpp53
-rw-r--r--examples/network/bearercloud/bearercloud.h53
-rw-r--r--examples/network/bearercloud/cloud.cpp53
-rw-r--r--examples/network/bearercloud/cloud.h53
-rw-r--r--examples/network/bearercloud/main.cpp53
-rw-r--r--examples/network/bearermonitor/bearermonitor.cpp56
-rw-r--r--examples/network/bearermonitor/bearermonitor.h53
-rw-r--r--examples/network/bearermonitor/main.cpp57
-rw-r--r--examples/network/bearermonitor/sessionwidget.cpp65
-rw-r--r--examples/network/bearermonitor/sessionwidget.h58
-rw-r--r--examples/network/bearermonitor/sessionwidget.ui2
-rw-r--r--examples/network/blockingfortuneclient/blockingclient.cpp53
-rw-r--r--examples/network/blockingfortuneclient/blockingclient.h53
-rw-r--r--examples/network/blockingfortuneclient/fortunethread.cpp53
-rw-r--r--examples/network/blockingfortuneclient/fortunethread.h53
-rw-r--r--examples/network/blockingfortuneclient/main.cpp57
-rw-r--r--examples/network/broadcastreceiver/main.cpp57
-rw-r--r--examples/network/broadcastreceiver/receiver.cpp53
-rw-r--r--examples/network/broadcastreceiver/receiver.h53
-rw-r--r--examples/network/broadcastsender/main.cpp57
-rw-r--r--examples/network/broadcastsender/sender.cpp53
-rw-r--r--examples/network/broadcastsender/sender.h53
-rw-r--r--examples/network/download/main.cpp53
-rw-r--r--examples/network/downloadmanager/downloadmanager.cpp53
-rw-r--r--examples/network/downloadmanager/downloadmanager.h53
-rw-r--r--examples/network/downloadmanager/main.cpp53
-rw-r--r--examples/network/downloadmanager/textprogressbar.cpp53
-rw-r--r--examples/network/downloadmanager/textprogressbar.h57
-rw-r--r--examples/network/fortuneclient/client.cpp53
-rw-r--r--examples/network/fortuneclient/client.h53
-rw-r--r--examples/network/fortuneclient/main.cpp57
-rw-r--r--examples/network/fortuneserver/main.cpp53
-rw-r--r--examples/network/fortuneserver/server.cpp53
-rw-r--r--examples/network/fortuneserver/server.h53
-rw-r--r--examples/network/googlesuggest/googlesuggest.cpp53
-rw-r--r--examples/network/googlesuggest/googlesuggest.h53
-rw-r--r--examples/network/googlesuggest/main.cpp57
-rw-r--r--examples/network/googlesuggest/searchbox.cpp53
-rw-r--r--examples/network/googlesuggest/searchbox.h53
-rw-r--r--examples/network/http/httpwindow.cpp53
-rw-r--r--examples/network/http/httpwindow.h53
-rw-r--r--examples/network/http/main.cpp57
-rw-r--r--examples/network/loopback/dialog.cpp53
-rw-r--r--examples/network/loopback/dialog.h53
-rw-r--r--examples/network/loopback/main.cpp57
-rw-r--r--examples/network/network-chat/chatdialog.cpp53
-rw-r--r--examples/network/network-chat/chatdialog.h53
-rw-r--r--examples/network/network-chat/client.cpp53
-rw-r--r--examples/network/network-chat/client.h53
-rw-r--r--examples/network/network-chat/connection.cpp53
-rw-r--r--examples/network/network-chat/connection.h53
-rw-r--r--examples/network/network-chat/main.cpp57
-rw-r--r--examples/network/network-chat/peermanager.cpp53
-rw-r--r--examples/network/network-chat/peermanager.h53
-rw-r--r--examples/network/network-chat/server.cpp57
-rw-r--r--examples/network/network-chat/server.h57
-rw-r--r--examples/network/qftp/ftpwindow.cpp53
-rw-r--r--examples/network/qftp/ftpwindow.h53
-rw-r--r--examples/network/qftp/main.cpp53
-rw-r--r--examples/network/qftp/sym_iap_util.h53
-rw-r--r--examples/network/securesocketclient/certificateinfo.cpp53
-rw-r--r--examples/network/securesocketclient/certificateinfo.h53
-rw-r--r--examples/network/securesocketclient/main.cpp57
-rw-r--r--examples/network/securesocketclient/sslclient.cpp53
-rw-r--r--examples/network/securesocketclient/sslclient.h53
-rw-r--r--examples/network/threadedfortuneserver/dialog.cpp53
-rw-r--r--examples/network/threadedfortuneserver/dialog.h53
-rw-r--r--examples/network/threadedfortuneserver/fortuneserver.cpp53
-rw-r--r--examples/network/threadedfortuneserver/fortuneserver.h57
-rw-r--r--examples/network/threadedfortuneserver/fortunethread.cpp53
-rw-r--r--examples/network/threadedfortuneserver/fortunethread.h53
-rw-r--r--examples/network/threadedfortuneserver/main.cpp57
-rw-r--r--examples/network/torrent/addtorrentdialog.cpp53
-rw-r--r--examples/network/torrent/addtorrentdialog.h53
-rw-r--r--examples/network/torrent/bencodeparser.cpp53
-rw-r--r--examples/network/torrent/bencodeparser.h53
-rw-r--r--examples/network/torrent/connectionmanager.cpp53
-rw-r--r--examples/network/torrent/connectionmanager.h53
-rw-r--r--examples/network/torrent/filemanager.cpp53
-rw-r--r--examples/network/torrent/filemanager.h53
-rw-r--r--examples/network/torrent/main.cpp57
-rw-r--r--examples/network/torrent/mainwindow.cpp53
-rw-r--r--examples/network/torrent/mainwindow.h53
-rw-r--r--examples/network/torrent/metainfo.cpp53
-rw-r--r--examples/network/torrent/metainfo.h53
-rw-r--r--examples/network/torrent/peerwireclient.cpp53
-rw-r--r--examples/network/torrent/peerwireclient.h53
-rw-r--r--examples/network/torrent/ratecontroller.cpp53
-rw-r--r--examples/network/torrent/ratecontroller.h53
-rw-r--r--examples/network/torrent/torrentclient.cpp53
-rw-r--r--examples/network/torrent/torrentclient.h53
-rw-r--r--examples/network/torrent/torrentserver.cpp53
-rw-r--r--examples/network/torrent/torrentserver.h53
-rw-r--r--examples/network/torrent/trackerclient.cpp53
-rw-r--r--examples/network/torrent/trackerclient.h53
-rw-r--r--examples/opengl/2dpainting/glwidget.cpp53
-rw-r--r--examples/opengl/2dpainting/glwidget.h53
-rw-r--r--examples/opengl/2dpainting/helper.cpp53
-rw-r--r--examples/opengl/2dpainting/helper.h53
-rw-r--r--examples/opengl/2dpainting/main.cpp57
-rw-r--r--examples/opengl/2dpainting/widget.cpp53
-rw-r--r--examples/opengl/2dpainting/widget.h53
-rw-r--r--examples/opengl/2dpainting/window.cpp53
-rw-r--r--examples/opengl/2dpainting/window.h53
-rw-r--r--examples/opengl/framebufferobject/glwidget.cpp53
-rw-r--r--examples/opengl/framebufferobject/glwidget.h53
-rw-r--r--examples/opengl/framebufferobject/main.cpp57
-rw-r--r--examples/opengl/framebufferobject2/glwidget.cpp53
-rw-r--r--examples/opengl/framebufferobject2/glwidget.h53
-rw-r--r--examples/opengl/framebufferobject2/main.cpp57
-rw-r--r--examples/opengl/grabber/glwidget.cpp53
-rw-r--r--examples/opengl/grabber/glwidget.h53
-rw-r--r--examples/opengl/grabber/main.cpp57
-rw-r--r--examples/opengl/grabber/mainwindow.cpp53
-rw-r--r--examples/opengl/grabber/mainwindow.h53
-rw-r--r--examples/opengl/hellogl/glwidget.cpp53
-rw-r--r--examples/opengl/hellogl/glwidget.h53
-rw-r--r--examples/opengl/hellogl/main.cpp57
-rw-r--r--examples/opengl/hellogl/window.cpp53
-rw-r--r--examples/opengl/hellogl/window.h53
-rw-r--r--examples/opengl/hellogl_es/bubble.cpp53
-rw-r--r--examples/opengl/hellogl_es/bubble.h53
-rw-r--r--examples/opengl/hellogl_es/glwidget.cpp53
-rw-r--r--examples/opengl/hellogl_es/glwidget.h53
-rw-r--r--examples/opengl/hellogl_es/main.cpp57
-rw-r--r--examples/opengl/hellogl_es/mainwindow.cpp53
-rw-r--r--examples/opengl/hellogl_es/mainwindow.h57
-rw-r--r--examples/opengl/hellogl_es2/bubble.cpp53
-rw-r--r--examples/opengl/hellogl_es2/bubble.h53
-rw-r--r--examples/opengl/hellogl_es2/glwidget.cpp53
-rw-r--r--examples/opengl/hellogl_es2/glwidget.h53
-rw-r--r--examples/opengl/hellogl_es2/main.cpp57
-rw-r--r--examples/opengl/hellogl_es2/mainwindow.cpp53
-rw-r--r--examples/opengl/hellogl_es2/mainwindow.h57
-rw-r--r--examples/opengl/overpainting/bubble.cpp53
-rw-r--r--examples/opengl/overpainting/bubble.h53
-rw-r--r--examples/opengl/overpainting/glwidget.cpp53
-rw-r--r--examples/opengl/overpainting/glwidget.h53
-rw-r--r--examples/opengl/overpainting/main.cpp57
-rw-r--r--examples/opengl/pbuffers/cube.cpp53
-rw-r--r--examples/opengl/pbuffers/cube.h53
-rw-r--r--examples/opengl/pbuffers/glwidget.cpp53
-rw-r--r--examples/opengl/pbuffers/glwidget.h53
-rw-r--r--examples/opengl/pbuffers/main.cpp57
-rw-r--r--examples/opengl/pbuffers2/glwidget.cpp53
-rw-r--r--examples/opengl/pbuffers2/glwidget.h53
-rw-r--r--examples/opengl/pbuffers2/main.cpp57
-rw-r--r--examples/opengl/samplebuffers/glwidget.cpp53
-rw-r--r--examples/opengl/samplebuffers/glwidget.h57
-rw-r--r--examples/opengl/samplebuffers/main.cpp53
-rw-r--r--examples/opengl/shared/qtlogo.cpp53
-rw-r--r--examples/opengl/shared/qtlogo.h53
-rw-r--r--examples/opengl/textures/glwidget.cpp53
-rw-r--r--examples/opengl/textures/glwidget.h53
-rw-r--r--examples/opengl/textures/main.cpp57
-rw-r--r--examples/opengl/textures/window.cpp53
-rw-r--r--examples/opengl/textures/window.h53
-rw-r--r--examples/openvg/star/main.cpp57
-rw-r--r--examples/openvg/star/starwidget.cpp53
-rw-r--r--examples/openvg/star/starwidget.h53
-rw-r--r--examples/painting/basicdrawing/main.cpp57
-rw-r--r--examples/painting/basicdrawing/renderarea.cpp53
-rw-r--r--examples/painting/basicdrawing/renderarea.h53
-rw-r--r--examples/painting/basicdrawing/window.cpp53
-rw-r--r--examples/painting/basicdrawing/window.h53
-rw-r--r--examples/painting/concentriccircles/circlewidget.cpp53
-rw-r--r--examples/painting/concentriccircles/circlewidget.h53
-rw-r--r--examples/painting/concentriccircles/main.cpp57
-rw-r--r--examples/painting/concentriccircles/window.cpp53
-rw-r--r--examples/painting/concentriccircles/window.h53
-rw-r--r--examples/painting/fontsampler/main.cpp57
-rw-r--r--examples/painting/fontsampler/mainwindow.cpp53
-rw-r--r--examples/painting/fontsampler/mainwindow.h53
-rw-r--r--examples/painting/imagecomposition/imagecomposer.cpp53
-rw-r--r--examples/painting/imagecomposition/imagecomposer.h53
-rw-r--r--examples/painting/imagecomposition/main.cpp57
-rw-r--r--examples/painting/painterpaths/main.cpp57
-rw-r--r--examples/painting/painterpaths/renderarea.cpp53
-rw-r--r--examples/painting/painterpaths/renderarea.h53
-rw-r--r--examples/painting/painterpaths/window.cpp53
-rw-r--r--examples/painting/painterpaths/window.h53
-rw-r--r--examples/painting/svggenerator/displaywidget.cpp53
-rw-r--r--examples/painting/svggenerator/displaywidget.h53
-rw-r--r--examples/painting/svggenerator/main.cpp57
-rw-r--r--examples/painting/svggenerator/window.cpp53
-rw-r--r--examples/painting/svggenerator/window.h53
-rw-r--r--examples/painting/svgviewer/main.cpp57
-rw-r--r--examples/painting/svgviewer/mainwindow.cpp53
-rw-r--r--examples/painting/svgviewer/mainwindow.h53
-rw-r--r--examples/painting/svgviewer/svgview.cpp53
-rw-r--r--examples/painting/svgviewer/svgview.h53
-rw-r--r--examples/painting/svgviewer/svgviewer.pro6
-rw-r--r--examples/painting/transformations/main.cpp57
-rw-r--r--examples/painting/transformations/renderarea.cpp53
-rw-r--r--examples/painting/transformations/renderarea.h53
-rw-r--r--examples/painting/transformations/window.cpp53
-rw-r--r--examples/painting/transformations/window.h53
-rw-r--r--examples/phonon/capabilities/main.cpp57
-rw-r--r--examples/phonon/capabilities/window.cpp53
-rw-r--r--examples/phonon/capabilities/window.h53
-rw-r--r--examples/phonon/qmusicplayer/main.cpp57
-rw-r--r--examples/phonon/qmusicplayer/mainwindow.cpp53
-rw-r--r--examples/phonon/qmusicplayer/mainwindow.h53
-rw-r--r--examples/qmake/precompile/main.cpp57
-rw-r--r--examples/qmake/precompile/mydialog.cpp57
-rw-r--r--examples/qmake/precompile/mydialog.h57
-rw-r--r--examples/qmake/precompile/myobject.cpp57
-rw-r--r--examples/qmake/precompile/myobject.h57
-rw-r--r--examples/qmake/precompile/stable.h57
-rw-r--r--examples/qmake/precompile/util.cpp57
-rw-r--r--examples/qmake/tutorial/hello.cpp57
-rw-r--r--examples/qmake/tutorial/hello.h57
-rw-r--r--examples/qmake/tutorial/hellounix.cpp57
-rw-r--r--examples/qmake/tutorial/hellowin.cpp57
-rw-r--r--examples/qmake/tutorial/main.cpp57
-rw-r--r--examples/qtconcurrent/imagescaling/imagescaling.cpp53
-rw-r--r--examples/qtconcurrent/imagescaling/imagescaling.h53
-rw-r--r--examples/qtconcurrent/imagescaling/main.cpp57
-rw-r--r--examples/qtconcurrent/map/main.cpp53
-rw-r--r--examples/qtconcurrent/progressdialog/main.cpp53
-rw-r--r--examples/qtconcurrent/runfunction/main.cpp53
-rw-r--r--examples/qtconcurrent/wordcount/main.cpp53
-rw-r--r--examples/qtestlib/tutorial1/testqstring.cpp53
-rw-r--r--examples/qtestlib/tutorial2/testqstring.cpp53
-rw-r--r--examples/qtestlib/tutorial3/testgui.cpp53
-rw-r--r--examples/qtestlib/tutorial4/testgui.cpp53
-rw-r--r--examples/qtestlib/tutorial5/benchmarking.cpp53
-rw-r--r--examples/qtestlib/tutorial5/containers.cpp53
-rw-r--r--examples/qws/dbscreen/dbscreen.cpp53
-rw-r--r--examples/qws/dbscreen/dbscreen.h53
-rw-r--r--examples/qws/dbscreen/dbscreendriverplugin.cpp53
-rw-r--r--examples/qws/framebuffer/main.c53
-rw-r--r--examples/qws/mousecalibration/calibration.cpp53
-rw-r--r--examples/qws/mousecalibration/calibration.h53
-rw-r--r--examples/qws/mousecalibration/main.cpp53
-rw-r--r--examples/qws/mousecalibration/scribblewidget.cpp53
-rw-r--r--examples/qws/mousecalibration/scribblewidget.h53
-rw-r--r--examples/qws/simpledecoration/analogclock.cpp53
-rw-r--r--examples/qws/simpledecoration/analogclock.h57
-rw-r--r--examples/qws/simpledecoration/main.cpp57
-rw-r--r--examples/qws/simpledecoration/mydecoration.cpp53
-rw-r--r--examples/qws/simpledecoration/mydecoration.h53
-rw-r--r--examples/qws/svgalib/svgalibpaintdevice.cpp53
-rw-r--r--examples/qws/svgalib/svgalibpaintdevice.h53
-rw-r--r--examples/qws/svgalib/svgalibpaintengine.cpp53
-rw-r--r--examples/qws/svgalib/svgalibpaintengine.h53
-rw-r--r--examples/qws/svgalib/svgalibplugin.cpp53
-rw-r--r--examples/qws/svgalib/svgalibscreen.cpp53
-rw-r--r--examples/qws/svgalib/svgalibscreen.h53
-rw-r--r--examples/qws/svgalib/svgalibsurface.cpp53
-rw-r--r--examples/qws/svgalib/svgalibsurface.h53
-rw-r--r--examples/richtext/calendar/main.cpp57
-rw-r--r--examples/richtext/calendar/mainwindow.cpp53
-rw-r--r--examples/richtext/calendar/mainwindow.h53
-rw-r--r--examples/richtext/orderform/detailsdialog.cpp53
-rw-r--r--examples/richtext/orderform/detailsdialog.h53
-rw-r--r--examples/richtext/orderform/main.cpp57
-rw-r--r--examples/richtext/orderform/mainwindow.cpp53
-rw-r--r--examples/richtext/orderform/mainwindow.h53
-rw-r--r--examples/richtext/syntaxhighlighter/highlighter.cpp53
-rw-r--r--examples/richtext/syntaxhighlighter/highlighter.h53
-rw-r--r--examples/richtext/syntaxhighlighter/main.cpp57
-rw-r--r--examples/richtext/syntaxhighlighter/mainwindow.cpp53
-rw-r--r--examples/richtext/syntaxhighlighter/mainwindow.h53
-rw-r--r--examples/richtext/textobject/main.cpp57
-rw-r--r--examples/richtext/textobject/svgtextobject.cpp53
-rw-r--r--examples/richtext/textobject/svgtextobject.h53
-rw-r--r--examples/richtext/textobject/window.cpp53
-rw-r--r--examples/richtext/textobject/window.h53
-rw-r--r--examples/script/calculator/main.cpp53
-rw-r--r--examples/script/context2d/context2d.cpp53
-rw-r--r--examples/script/context2d/context2d.h53
-rw-r--r--examples/script/context2d/domimage.cpp53
-rw-r--r--examples/script/context2d/domimage.h53
-rw-r--r--examples/script/context2d/environment.cpp53
-rw-r--r--examples/script/context2d/environment.h53
-rw-r--r--examples/script/context2d/main.cpp63
-rw-r--r--examples/script/context2d/qcontext2dcanvas.cpp53
-rw-r--r--examples/script/context2d/qcontext2dcanvas.h53
-rw-r--r--examples/script/context2d/window.cpp53
-rw-r--r--examples/script/context2d/window.h53
-rw-r--r--examples/script/customclass/bytearrayclass.cpp53
-rw-r--r--examples/script/customclass/bytearrayclass.h53
-rw-r--r--examples/script/customclass/bytearrayprototype.cpp53
-rw-r--r--examples/script/customclass/bytearrayprototype.h53
-rw-r--r--examples/script/customclass/main.cpp53
-rw-r--r--examples/script/defaultprototypes/main.cpp53
-rw-r--r--examples/script/defaultprototypes/prototypes.cpp53
-rw-r--r--examples/script/defaultprototypes/prototypes.h53
-rw-r--r--examples/script/helloscript/main.cpp53
-rw-r--r--examples/script/marshal/main.cpp53
-rw-r--r--examples/script/qscript/main.cpp53
-rw-r--r--examples/script/qsdbg/main.cpp53
-rw-r--r--examples/script/qsdbg/scriptbreakpointmanager.cpp53
-rw-r--r--examples/script/qsdbg/scriptbreakpointmanager.h53
-rw-r--r--examples/script/qsdbg/scriptdebugger.cpp53
-rw-r--r--examples/script/qsdbg/scriptdebugger.h53
-rw-r--r--examples/script/qstetrix/main.cpp53
-rw-r--r--examples/script/qstetrix/tetrixboard.cpp53
-rw-r--r--examples/script/qstetrix/tetrixboard.h53
-rw-r--r--examples/sql/cachedtable/main.cpp57
-rw-r--r--examples/sql/cachedtable/tableeditor.cpp53
-rw-r--r--examples/sql/cachedtable/tableeditor.h53
-rw-r--r--examples/sql/connection.h53
-rw-r--r--examples/sql/drilldown/imageitem.cpp53
-rw-r--r--examples/sql/drilldown/imageitem.h53
-rw-r--r--examples/sql/drilldown/informationwindow.cpp53
-rw-r--r--examples/sql/drilldown/informationwindow.h53
-rw-r--r--examples/sql/drilldown/main.cpp53
-rw-r--r--examples/sql/drilldown/view.cpp53
-rw-r--r--examples/sql/drilldown/view.h53
-rw-r--r--examples/sql/masterdetail/database.h53
-rw-r--r--examples/sql/masterdetail/dialog.cpp53
-rw-r--r--examples/sql/masterdetail/dialog.h53
-rw-r--r--examples/sql/masterdetail/main.cpp57
-rw-r--r--examples/sql/masterdetail/mainwindow.cpp53
-rw-r--r--examples/sql/masterdetail/mainwindow.h53
-rw-r--r--examples/sql/querymodel/customsqlmodel.cpp53
-rw-r--r--examples/sql/querymodel/customsqlmodel.h57
-rw-r--r--examples/sql/querymodel/editablesqlmodel.cpp53
-rw-r--r--examples/sql/querymodel/editablesqlmodel.h57
-rw-r--r--examples/sql/querymodel/main.cpp53
-rw-r--r--examples/sql/relationaltablemodel/relationaltablemodel.cpp53
-rw-r--r--examples/sql/sqlwidgetmapper/main.cpp57
-rw-r--r--examples/sql/sqlwidgetmapper/window.cpp53
-rw-r--r--examples/sql/sqlwidgetmapper/window.h53
-rw-r--r--examples/sql/tablemodel/tablemodel.cpp53
-rw-r--r--examples/statemachine/eventtransitions/main.cpp53
-rw-r--r--examples/statemachine/factorial/main.cpp53
-rw-r--r--examples/statemachine/pingpong/main.cpp53
-rw-r--r--examples/statemachine/rogue/main.cpp57
-rw-r--r--examples/statemachine/rogue/movementtransition.h53
-rw-r--r--examples/statemachine/rogue/window.cpp53
-rw-r--r--examples/statemachine/rogue/window.h53
-rw-r--r--examples/statemachine/trafficlight/main.cpp53
-rw-r--r--examples/statemachine/twowaybutton/main.cpp53
-rw-r--r--examples/threads/mandelbrot/main.cpp57
-rw-r--r--examples/threads/mandelbrot/mandelbrotwidget.cpp53
-rw-r--r--examples/threads/mandelbrot/mandelbrotwidget.h53
-rw-r--r--examples/threads/mandelbrot/renderthread.cpp53
-rw-r--r--examples/threads/mandelbrot/renderthread.h53
-rw-r--r--examples/threads/queuedcustomtype/block.cpp53
-rw-r--r--examples/threads/queuedcustomtype/block.h53
-rw-r--r--examples/threads/queuedcustomtype/main.cpp53
-rw-r--r--examples/threads/queuedcustomtype/renderthread.cpp53
-rw-r--r--examples/threads/queuedcustomtype/renderthread.h53
-rw-r--r--examples/threads/queuedcustomtype/window.cpp53
-rw-r--r--examples/threads/queuedcustomtype/window.h53
-rw-r--r--examples/threads/semaphores/semaphores.cpp53
-rw-r--r--examples/threads/waitconditions/waitconditions.cpp53
-rw-r--r--examples/tools/codecs/main.cpp57
-rw-r--r--examples/tools/codecs/mainwindow.cpp53
-rw-r--r--examples/tools/codecs/mainwindow.h53
-rw-r--r--examples/tools/codecs/previewform.cpp53
-rw-r--r--examples/tools/codecs/previewform.h53
-rw-r--r--examples/tools/completer/fsmodel.cpp57
-rw-r--r--examples/tools/completer/fsmodel.h57
-rw-r--r--examples/tools/completer/main.cpp57
-rw-r--r--examples/tools/completer/mainwindow.cpp53
-rw-r--r--examples/tools/completer/mainwindow.h53
-rw-r--r--examples/tools/contiguouscache/main.cpp57
-rw-r--r--examples/tools/contiguouscache/randomlistmodel.cpp53
-rw-r--r--examples/tools/contiguouscache/randomlistmodel.h53
-rw-r--r--examples/tools/customcompleter/main.cpp57
-rw-r--r--examples/tools/customcompleter/mainwindow.cpp53
-rw-r--r--examples/tools/customcompleter/mainwindow.h53
-rw-r--r--examples/tools/customcompleter/textedit.cpp53
-rw-r--r--examples/tools/customcompleter/textedit.h53
-rw-r--r--examples/tools/customtype/main.cpp53
-rw-r--r--examples/tools/customtype/message.cpp53
-rw-r--r--examples/tools/customtype/message.h53
-rw-r--r--examples/tools/customtypesending/main.cpp53
-rw-r--r--examples/tools/customtypesending/message.cpp53
-rw-r--r--examples/tools/customtypesending/message.h53
-rw-r--r--examples/tools/customtypesending/window.cpp53
-rw-r--r--examples/tools/customtypesending/window.h53
-rw-r--r--examples/tools/echoplugin/echowindow/echointerface.h57
-rw-r--r--examples/tools/echoplugin/echowindow/echowindow.cpp53
-rw-r--r--examples/tools/echoplugin/echowindow/echowindow.h53
-rw-r--r--examples/tools/echoplugin/echowindow/main.cpp57
-rw-r--r--examples/tools/echoplugin/plugin/echoplugin.cpp57
-rw-r--r--examples/tools/echoplugin/plugin/echoplugin.h57
-rw-r--r--examples/tools/i18n/languagechooser.cpp53
-rw-r--r--examples/tools/i18n/languagechooser.h53
-rw-r--r--examples/tools/i18n/main.cpp57
-rw-r--r--examples/tools/i18n/mainwindow.cpp53
-rw-r--r--examples/tools/i18n/mainwindow.h53
-rw-r--r--examples/tools/inputpanel/main.cpp57
-rw-r--r--examples/tools/inputpanel/myinputpanel.cpp53
-rw-r--r--examples/tools/inputpanel/myinputpanel.h53
-rw-r--r--examples/tools/inputpanel/myinputpanelcontext.cpp53
-rw-r--r--examples/tools/inputpanel/myinputpanelcontext.h53
-rw-r--r--examples/tools/plugandpaint/interfaces.h53
-rw-r--r--examples/tools/plugandpaint/main.cpp57
-rw-r--r--examples/tools/plugandpaint/mainwindow.cpp53
-rw-r--r--examples/tools/plugandpaint/mainwindow.h53
-rw-r--r--examples/tools/plugandpaint/paintarea.cpp53
-rw-r--r--examples/tools/plugandpaint/paintarea.h53
-rw-r--r--examples/tools/plugandpaint/plugindialog.cpp53
-rw-r--r--examples/tools/plugandpaint/plugindialog.h53
-rw-r--r--examples/tools/plugandpaintplugins/basictools/basictoolsplugin.cpp53
-rw-r--r--examples/tools/plugandpaintplugins/basictools/basictoolsplugin.h53
-rw-r--r--examples/tools/plugandpaintplugins/extrafilters/extrafiltersplugin.cpp53
-rw-r--r--examples/tools/plugandpaintplugins/extrafilters/extrafiltersplugin.h57
-rw-r--r--examples/tools/regexp/main.cpp57
-rw-r--r--examples/tools/regexp/regexpdialog.cpp53
-rw-r--r--examples/tools/regexp/regexpdialog.h53
-rw-r--r--examples/tools/settingseditor/locationdialog.cpp53
-rw-r--r--examples/tools/settingseditor/locationdialog.h53
-rw-r--r--examples/tools/settingseditor/main.cpp57
-rw-r--r--examples/tools/settingseditor/mainwindow.cpp53
-rw-r--r--examples/tools/settingseditor/mainwindow.h53
-rw-r--r--examples/tools/settingseditor/settingstree.cpp53
-rw-r--r--examples/tools/settingseditor/settingstree.h53
-rw-r--r--examples/tools/settingseditor/variantdelegate.cpp53
-rw-r--r--examples/tools/settingseditor/variantdelegate.h53
-rw-r--r--examples/tools/styleplugin/plugin/simplestyle.cpp57
-rw-r--r--examples/tools/styleplugin/plugin/simplestyle.h57
-rw-r--r--examples/tools/styleplugin/plugin/simplestyleplugin.cpp53
-rw-r--r--examples/tools/styleplugin/plugin/simplestyleplugin.h53
-rw-r--r--examples/tools/styleplugin/stylewindow/main.cpp57
-rw-r--r--examples/tools/styleplugin/stylewindow/stylewindow.cpp57
-rw-r--r--examples/tools/styleplugin/stylewindow/stylewindow.h57
-rw-r--r--examples/tools/treemodelcompleter/main.cpp57
-rw-r--r--examples/tools/treemodelcompleter/mainwindow.cpp53
-rw-r--r--examples/tools/treemodelcompleter/mainwindow.h53
-rw-r--r--examples/tools/treemodelcompleter/treemodelcompleter.cpp53
-rw-r--r--examples/tools/treemodelcompleter/treemodelcompleter.h53
-rw-r--r--examples/tools/undoframework/commands.cpp53
-rw-r--r--examples/tools/undoframework/commands.h53
-rw-r--r--examples/tools/undoframework/diagramitem.cpp53
-rw-r--r--examples/tools/undoframework/diagramitem.h53
-rw-r--r--examples/tools/undoframework/diagramscene.cpp53
-rw-r--r--examples/tools/undoframework/diagramscene.h53
-rw-r--r--examples/tools/undoframework/main.cpp57
-rw-r--r--examples/tools/undoframework/mainwindow.cpp53
-rw-r--r--examples/tools/undoframework/mainwindow.h53
-rw-r--r--examples/tutorials/addressbook-fr/part1/addressbook.cpp53
-rw-r--r--examples/tutorials/addressbook-fr/part1/addressbook.h53
-rw-r--r--examples/tutorials/addressbook-fr/part1/main.cpp57
-rw-r--r--examples/tutorials/addressbook-fr/part2/addressbook.cpp53
-rw-r--r--examples/tutorials/addressbook-fr/part2/addressbook.h53
-rw-r--r--examples/tutorials/addressbook-fr/part2/main.cpp57
-rw-r--r--examples/tutorials/addressbook-fr/part3/addressbook.cpp53
-rw-r--r--examples/tutorials/addressbook-fr/part3/addressbook.h53
-rw-r--r--examples/tutorials/addressbook-fr/part3/main.cpp57
-rw-r--r--examples/tutorials/addressbook-fr/part4/addressbook.cpp53
-rw-r--r--examples/tutorials/addressbook-fr/part4/addressbook.h53
-rw-r--r--examples/tutorials/addressbook-fr/part4/main.cpp57
-rw-r--r--examples/tutorials/addressbook-fr/part5/addressbook.cpp53
-rw-r--r--examples/tutorials/addressbook-fr/part5/addressbook.h53
-rw-r--r--examples/tutorials/addressbook-fr/part5/finddialog.cpp53
-rw-r--r--examples/tutorials/addressbook-fr/part5/finddialog.h53
-rw-r--r--examples/tutorials/addressbook-fr/part5/main.cpp57
-rw-r--r--examples/tutorials/addressbook-fr/part6/addressbook.cpp53
-rw-r--r--examples/tutorials/addressbook-fr/part6/addressbook.h53
-rw-r--r--examples/tutorials/addressbook-fr/part6/finddialog.cpp53
-rw-r--r--examples/tutorials/addressbook-fr/part6/finddialog.h53
-rw-r--r--examples/tutorials/addressbook-fr/part6/main.cpp57
-rw-r--r--examples/tutorials/addressbook-fr/part7/addressbook.cpp53
-rw-r--r--examples/tutorials/addressbook-fr/part7/addressbook.h53
-rw-r--r--examples/tutorials/addressbook-fr/part7/finddialog.cpp53
-rw-r--r--examples/tutorials/addressbook-fr/part7/finddialog.h53
-rw-r--r--examples/tutorials/addressbook-fr/part7/main.cpp57
-rw-r--r--examples/tutorials/addressbook/part1/addressbook.cpp53
-rw-r--r--examples/tutorials/addressbook/part1/addressbook.h53
-rw-r--r--examples/tutorials/addressbook/part1/main.cpp57
-rw-r--r--examples/tutorials/addressbook/part2/addressbook.cpp53
-rw-r--r--examples/tutorials/addressbook/part2/addressbook.h53
-rw-r--r--examples/tutorials/addressbook/part2/main.cpp57
-rw-r--r--examples/tutorials/addressbook/part3/addressbook.cpp54
-rw-r--r--examples/tutorials/addressbook/part3/addressbook.h53
-rw-r--r--examples/tutorials/addressbook/part3/main.cpp57
-rw-r--r--examples/tutorials/addressbook/part4/addressbook.cpp54
-rw-r--r--examples/tutorials/addressbook/part4/addressbook.h53
-rw-r--r--examples/tutorials/addressbook/part4/main.cpp57
-rw-r--r--examples/tutorials/addressbook/part5/addressbook.cpp54
-rw-r--r--examples/tutorials/addressbook/part5/addressbook.h53
-rw-r--r--examples/tutorials/addressbook/part5/finddialog.cpp53
-rw-r--r--examples/tutorials/addressbook/part5/finddialog.h53
-rw-r--r--examples/tutorials/addressbook/part5/main.cpp57
-rw-r--r--examples/tutorials/addressbook/part6/addressbook.cpp54
-rw-r--r--examples/tutorials/addressbook/part6/addressbook.h53
-rw-r--r--examples/tutorials/addressbook/part6/finddialog.cpp53
-rw-r--r--examples/tutorials/addressbook/part6/finddialog.h53
-rw-r--r--examples/tutorials/addressbook/part6/main.cpp57
-rw-r--r--examples/tutorials/addressbook/part7/addressbook.cpp54
-rw-r--r--examples/tutorials/addressbook/part7/addressbook.h53
-rw-r--r--examples/tutorials/addressbook/part7/finddialog.cpp53
-rw-r--r--examples/tutorials/addressbook/part7/finddialog.h53
-rw-r--r--examples/tutorials/addressbook/part7/main.cpp57
-rw-r--r--examples/tutorials/widgets/childwidget/main.cpp57
-rw-r--r--examples/tutorials/widgets/nestedlayouts/main.cpp53
-rw-r--r--examples/tutorials/widgets/toplevel/main.cpp57
-rw-r--r--examples/tutorials/widgets/windowlayout/main.cpp57
-rw-r--r--examples/uitools/multipleinheritance/calculatorform.cpp53
-rw-r--r--examples/uitools/multipleinheritance/calculatorform.h57
-rw-r--r--examples/uitools/multipleinheritance/main.cpp57
-rw-r--r--examples/uitools/textfinder/main.cpp57
-rw-r--r--examples/uitools/textfinder/textfinder.cpp53
-rw-r--r--examples/uitools/textfinder/textfinder.h53
-rw-r--r--examples/webkit/domtraversal/main.cpp57
-rw-r--r--examples/webkit/domtraversal/window.cpp53
-rw-r--r--examples/webkit/domtraversal/window.h53
-rw-r--r--examples/webkit/fancybrowser/main.cpp57
-rw-r--r--examples/webkit/fancybrowser/mainwindow.cpp53
-rw-r--r--examples/webkit/fancybrowser/mainwindow.h53
-rw-r--r--examples/webkit/formextractor/formextractor.cpp53
-rw-r--r--examples/webkit/formextractor/formextractor.h53
-rw-r--r--examples/webkit/formextractor/main.cpp57
-rw-r--r--examples/webkit/formextractor/mainwindow.cpp53
-rw-r--r--examples/webkit/formextractor/mainwindow.h53
-rw-r--r--examples/webkit/framecapture/framecapture.cpp53
-rw-r--r--examples/webkit/framecapture/framecapture.h53
-rw-r--r--examples/webkit/framecapture/main.cpp53
-rw-r--r--examples/webkit/googlechat/googlechat.cpp53
-rw-r--r--examples/webkit/googlechat/googlechat.h53
-rw-r--r--examples/webkit/googlechat/main.cpp57
-rw-r--r--examples/webkit/previewer/main.cpp57
-rw-r--r--examples/webkit/previewer/mainwindow.cpp53
-rw-r--r--examples/webkit/previewer/mainwindow.h53
-rw-r--r--examples/webkit/previewer/previewer.cpp53
-rw-r--r--examples/webkit/previewer/previewer.h53
-rw-r--r--examples/webkit/simpleselector/main.cpp57
-rw-r--r--examples/webkit/simpleselector/window.cpp53
-rw-r--r--examples/webkit/simpleselector/window.h57
-rw-r--r--examples/widgets/analogclock/analogclock.cpp53
-rw-r--r--examples/widgets/analogclock/analogclock.h57
-rw-r--r--examples/widgets/analogclock/main.cpp57
-rw-r--r--examples/widgets/calculator/button.cpp57
-rw-r--r--examples/widgets/calculator/button.h57
-rw-r--r--examples/widgets/calculator/calculator.cpp53
-rw-r--r--examples/widgets/calculator/calculator.h53
-rw-r--r--examples/widgets/calculator/main.cpp57
-rw-r--r--examples/widgets/calendarwidget/main.cpp57
-rw-r--r--examples/widgets/calendarwidget/window.cpp53
-rw-r--r--examples/widgets/calendarwidget/window.h53
-rw-r--r--examples/widgets/charactermap/characterwidget.cpp53
-rw-r--r--examples/widgets/charactermap/characterwidget.h53
-rw-r--r--examples/widgets/charactermap/main.cpp57
-rw-r--r--examples/widgets/charactermap/mainwindow.cpp53
-rw-r--r--examples/widgets/charactermap/mainwindow.h53
-rw-r--r--examples/widgets/codeeditor/codeeditor.cpp53
-rw-r--r--examples/widgets/codeeditor/codeeditor.h53
-rw-r--r--examples/widgets/codeeditor/main.cpp57
-rw-r--r--examples/widgets/digitalclock/digitalclock.cpp53
-rw-r--r--examples/widgets/digitalclock/digitalclock.h57
-rw-r--r--examples/widgets/digitalclock/main.cpp57
-rw-r--r--examples/widgets/groupbox/main.cpp57
-rw-r--r--examples/widgets/groupbox/window.cpp53
-rw-r--r--examples/widgets/groupbox/window.h53
-rw-r--r--examples/widgets/icons/iconpreviewarea.cpp53
-rw-r--r--examples/widgets/icons/iconpreviewarea.h53
-rw-r--r--examples/widgets/icons/iconsizespinbox.cpp53
-rw-r--r--examples/widgets/icons/iconsizespinbox.h57
-rw-r--r--examples/widgets/icons/imagedelegate.cpp53
-rw-r--r--examples/widgets/icons/imagedelegate.h53
-rw-r--r--examples/widgets/icons/main.cpp57
-rw-r--r--examples/widgets/icons/mainwindow.cpp53
-rw-r--r--examples/widgets/icons/mainwindow.h53
-rw-r--r--examples/widgets/imageviewer/imageviewer.cpp53
-rw-r--r--examples/widgets/imageviewer/imageviewer.h53
-rw-r--r--examples/widgets/imageviewer/main.cpp57
-rw-r--r--examples/widgets/lineedits/main.cpp57
-rw-r--r--examples/widgets/lineedits/window.cpp53
-rw-r--r--examples/widgets/lineedits/window.h53
-rw-r--r--examples/widgets/movie/main.cpp57
-rw-r--r--examples/widgets/movie/movieplayer.cpp53
-rw-r--r--examples/widgets/movie/movieplayer.h53
-rw-r--r--examples/widgets/scribble/main.cpp57
-rw-r--r--examples/widgets/scribble/mainwindow.cpp53
-rw-r--r--examples/widgets/scribble/mainwindow.h53
-rw-r--r--examples/widgets/scribble/scribblearea.cpp53
-rw-r--r--examples/widgets/scribble/scribblearea.h53
-rw-r--r--examples/widgets/shapedclock/main.cpp57
-rw-r--r--examples/widgets/shapedclock/shapedclock.cpp53
-rw-r--r--examples/widgets/shapedclock/shapedclock.h53
-rw-r--r--examples/widgets/sliders/main.cpp57
-rw-r--r--examples/widgets/sliders/slidersgroup.cpp53
-rw-r--r--examples/widgets/sliders/slidersgroup.h53
-rw-r--r--examples/widgets/sliders/window.cpp53
-rw-r--r--examples/widgets/sliders/window.h53
-rw-r--r--examples/widgets/softkeys/main.cpp57
-rw-r--r--examples/widgets/softkeys/softkeys.cpp53
-rw-r--r--examples/widgets/softkeys/softkeys.h53
-rw-r--r--examples/widgets/spinboxes/main.cpp57
-rw-r--r--examples/widgets/spinboxes/window.cpp53
-rw-r--r--examples/widgets/spinboxes/window.h53
-rw-r--r--examples/widgets/styles/main.cpp57
-rw-r--r--examples/widgets/styles/norwegianwoodstyle.cpp53
-rw-r--r--examples/widgets/styles/norwegianwoodstyle.h53
-rw-r--r--examples/widgets/styles/widgetgallery.cpp53
-rw-r--r--examples/widgets/styles/widgetgallery.h53
-rw-r--r--examples/widgets/stylesheet/main.cpp57
-rw-r--r--examples/widgets/stylesheet/mainwindow.cpp53
-rw-r--r--examples/widgets/stylesheet/mainwindow.h53
-rw-r--r--examples/widgets/stylesheet/stylesheeteditor.cpp53
-rw-r--r--examples/widgets/stylesheet/stylesheeteditor.h53
-rw-r--r--examples/widgets/tablet/main.cpp57
-rw-r--r--examples/widgets/tablet/mainwindow.cpp53
-rw-r--r--examples/widgets/tablet/mainwindow.h53
-rw-r--r--examples/widgets/tablet/tabletapplication.cpp57
-rw-r--r--examples/widgets/tablet/tabletapplication.h53
-rw-r--r--examples/widgets/tablet/tabletcanvas.cpp53
-rw-r--r--examples/widgets/tablet/tabletcanvas.h53
-rw-r--r--examples/widgets/tetrix/main.cpp57
-rw-r--r--examples/widgets/tetrix/tetrixboard.cpp53
-rw-r--r--examples/widgets/tetrix/tetrixboard.h53
-rw-r--r--examples/widgets/tetrix/tetrixpiece.cpp53
-rw-r--r--examples/widgets/tetrix/tetrixpiece.h53
-rw-r--r--examples/widgets/tetrix/tetrixwindow.cpp53
-rw-r--r--examples/widgets/tetrix/tetrixwindow.h53
-rw-r--r--examples/widgets/tooltips/main.cpp57
-rw-r--r--examples/widgets/tooltips/shapeitem.cpp53
-rw-r--r--examples/widgets/tooltips/shapeitem.h53
-rw-r--r--examples/widgets/tooltips/sortingbox.cpp53
-rw-r--r--examples/widgets/tooltips/sortingbox.h53
-rw-r--r--examples/widgets/validators/ledwidget.cpp57
-rw-r--r--examples/widgets/validators/ledwidget.h53
-rw-r--r--examples/widgets/validators/localeselector.cpp53
-rw-r--r--examples/widgets/validators/localeselector.h57
-rw-r--r--examples/widgets/validators/main.cpp53
-rw-r--r--examples/widgets/wiggly/dialog.cpp53
-rw-r--r--examples/widgets/wiggly/dialog.h57
-rw-r--r--examples/widgets/wiggly/main.cpp72
-rw-r--r--examples/widgets/wiggly/wigglywidget.cpp53
-rw-r--r--examples/widgets/wiggly/wigglywidget.h53
-rw-r--r--examples/widgets/windowflags/controllerwindow.cpp53
-rw-r--r--examples/widgets/windowflags/controllerwindow.h53
-rw-r--r--examples/widgets/windowflags/main.cpp57
-rw-r--r--examples/widgets/windowflags/previewwindow.cpp53
-rw-r--r--examples/widgets/windowflags/previewwindow.h53
-rw-r--r--examples/xml/dombookmarks/dombookmarks.pro2
-rw-r--r--examples/xml/dombookmarks/main.cpp57
-rw-r--r--examples/xml/dombookmarks/mainwindow.cpp53
-rw-r--r--examples/xml/dombookmarks/mainwindow.h53
-rw-r--r--examples/xml/dombookmarks/xbeltree.cpp53
-rw-r--r--examples/xml/dombookmarks/xbeltree.h53
-rw-r--r--examples/xml/htmlinfo/main.cpp53
-rw-r--r--examples/xml/rsslisting/main.cpp53
-rw-r--r--examples/xml/rsslisting/rsslisting.cpp53
-rw-r--r--examples/xml/rsslisting/rsslisting.h53
-rw-r--r--examples/xml/saxbookmarks/main.cpp57
-rw-r--r--examples/xml/saxbookmarks/mainwindow.cpp53
-rw-r--r--examples/xml/saxbookmarks/mainwindow.h53
-rw-r--r--examples/xml/saxbookmarks/saxbookmarks.pro2
-rw-r--r--examples/xml/saxbookmarks/xbelgenerator.cpp53
-rw-r--r--examples/xml/saxbookmarks/xbelgenerator.h53
-rw-r--r--examples/xml/saxbookmarks/xbelhandler.cpp53
-rw-r--r--examples/xml/saxbookmarks/xbelhandler.h53
-rw-r--r--examples/xml/streambookmarks/main.cpp57
-rw-r--r--examples/xml/streambookmarks/mainwindow.cpp53
-rw-r--r--examples/xml/streambookmarks/mainwindow.h53
-rw-r--r--examples/xml/streambookmarks/xbelreader.cpp53
-rw-r--r--examples/xml/streambookmarks/xbelreader.h53
-rw-r--r--examples/xml/streambookmarks/xbelwriter.cpp53
-rw-r--r--examples/xml/streambookmarks/xbelwriter.h53
-rw-r--r--examples/xml/xmlstreamlint/main.cpp53
-rw-r--r--examples/xmlpatterns/filetree/filetree.cpp53
-rw-r--r--examples/xmlpatterns/filetree/filetree.h53
-rw-r--r--examples/xmlpatterns/filetree/main.cpp57
-rw-r--r--examples/xmlpatterns/filetree/mainwindow.cpp53
-rw-r--r--examples/xmlpatterns/filetree/mainwindow.h53
-rw-r--r--examples/xmlpatterns/qobjectxmlmodel/main.cpp57
-rw-r--r--examples/xmlpatterns/qobjectxmlmodel/mainwindow.cpp53
-rw-r--r--examples/xmlpatterns/qobjectxmlmodel/mainwindow.h57
-rw-r--r--examples/xmlpatterns/qobjectxmlmodel/qobjectxmlmodel.cpp53
-rw-r--r--examples/xmlpatterns/qobjectxmlmodel/qobjectxmlmodel.h53
-rw-r--r--examples/xmlpatterns/recipes/main.cpp57
-rw-r--r--examples/xmlpatterns/recipes/querymainwindow.cpp53
-rw-r--r--examples/xmlpatterns/recipes/querymainwindow.h53
-rw-r--r--examples/xmlpatterns/schema/main.cpp57
-rw-r--r--examples/xmlpatterns/schema/mainwindow.cpp53
-rw-r--r--examples/xmlpatterns/schema/mainwindow.h53
-rw-r--r--examples/xmlpatterns/shared/xmlsyntaxhighlighter.cpp53
-rw-r--r--examples/xmlpatterns/shared/xmlsyntaxhighlighter.h53
-rw-r--r--examples/xmlpatterns/trafficinfo/main.cpp57
-rw-r--r--examples/xmlpatterns/trafficinfo/mainwindow.cpp53
-rw-r--r--examples/xmlpatterns/trafficinfo/mainwindow.h53
-rw-r--r--examples/xmlpatterns/trafficinfo/stationdialog.cpp53
-rw-r--r--examples/xmlpatterns/trafficinfo/stationdialog.h53
-rw-r--r--examples/xmlpatterns/trafficinfo/stationquery.cpp53
-rw-r--r--examples/xmlpatterns/trafficinfo/stationquery.h53
-rw-r--r--examples/xmlpatterns/trafficinfo/timequery.cpp53
-rw-r--r--examples/xmlpatterns/trafficinfo/timequery.h53
-rw-r--r--examples/xmlpatterns/xquery/globalVariables/globals.cpp53
-rw-r--r--mkspecs/common/qws.conf6
-rw-r--r--mkspecs/common/symbian/symbian-makefile.conf10
-rw-r--r--mkspecs/common/symbian/symbian-mmp.conf20
-rw-r--r--mkspecs/common/symbian/symbian.conf7
-rw-r--r--mkspecs/common/wince/qmake.conf6
-rw-r--r--mkspecs/features/dbusadaptors.prf7
-rw-r--r--mkspecs/features/dbusinterfaces.prf7
-rw-r--r--mkspecs/features/default_pre.prf1
-rw-r--r--mkspecs/features/incredibuild_xge.prf6
-rw-r--r--mkspecs/features/lex.prf6
-rw-r--r--mkspecs/features/moc.prf11
-rw-r--r--mkspecs/features/qt.prf6
-rw-r--r--mkspecs/features/qt_functions.prf11
-rw-r--r--mkspecs/features/qttest_p4.prf38
-rw-r--r--mkspecs/features/resources.prf6
-rw-r--r--mkspecs/features/sis_targets.prf44
-rw-r--r--mkspecs/features/static.prf5
-rw-r--r--mkspecs/features/symbian/add_mmp_rules.prf2
-rw-r--r--mkspecs/features/symbian/application_icon.prf4
-rw-r--r--mkspecs/features/symbian/data_caging_paths.prf4
-rw-r--r--mkspecs/features/symbian/def_files.prf13
-rw-r--r--mkspecs/features/symbian/def_files_disabled.prf2
-rw-r--r--mkspecs/features/symbian/moc.prf6
-rw-r--r--mkspecs/features/symbian/platform_paths.prf22
-rw-r--r--mkspecs/features/symbian/qt.prf9
-rw-r--r--mkspecs/features/symbian/run_on_phone.prf31
-rw-r--r--mkspecs/features/symbian/symbian_building.prf64
-rw-r--r--mkspecs/features/testcase.prf65
-rw-r--r--mkspecs/features/uic.prf21
-rw-r--r--mkspecs/features/unix/separate_debug_info.prf2
-rw-r--r--mkspecs/features/win32/embed_manifest_dll.prf6
-rw-r--r--mkspecs/features/win32/embed_manifest_exe.prf6
-rw-r--r--mkspecs/features/win32/qaxcontainer.prf4
-rw-r--r--mkspecs/features/win32/qaxserver.prf9
-rw-r--r--mkspecs/features/yacc.prf10
-rw-r--r--mkspecs/linux-g++-maemo/qmake.conf3
-rw-r--r--mkspecs/linux-icc/qmake.conf23
-rw-r--r--mkspecs/modules/qt_webkit_version.pri (renamed from src/3rdparty/webkit/WebKit/qt/qtwebkit_version.pri)0
-rw-r--r--mkspecs/symbian/linux-armcc/qmake.conf6
-rw-r--r--mkspecs/symbian/linux-armcc/qplatformdefs.h41
-rw-r--r--mkspecs/symbian/linux-gcce/qmake.conf16
-rw-r--r--mkspecs/symbian/linux-gcce/qplatformdefs.h41
-rw-r--r--mkspecs/unsupported/win32-g++-cross/qmake.conf101
-rw-r--r--mkspecs/unsupported/win32-g++-cross/qplatformdefs.h42
-rw-r--r--mkspecs/win32-borland/qmake.conf8
-rw-r--r--mkspecs/win32-g++/qmake.conf1
-rw-r--r--mkspecs/win32-icc/qmake.conf6
-rw-r--r--mkspecs/win32-msvc2003/qmake.conf6
-rw-r--r--mkspecs/win32-msvc2005/qmake.conf6
-rw-r--r--mkspecs/win32-msvc2008/qmake.conf6
-rw-r--r--mkspecs/win32-msvc2010/qmake.conf6
-rw-r--r--projects.pro40
-rw-r--r--qmake/Makefile.win324
-rw-r--r--qmake/Makefile.win32-g++3
-rw-r--r--qmake/Makefile.win32-g++-sh2
-rw-r--r--qmake/generators/mac/pbuilder_pbx.cpp6
-rw-r--r--qmake/generators/makefile.cpp23
-rw-r--r--qmake/generators/metamakefile.cpp13
-rw-r--r--qmake/generators/symbian/initprojectdeploy_symbian.cpp9
-rw-r--r--qmake/generators/symbian/symbian_makefile.h2
-rw-r--r--qmake/generators/symbian/symbiancommon.cpp126
-rw-r--r--qmake/generators/symbian/symbiancommon.h2
-rw-r--r--qmake/generators/symbian/symmake.cpp63
-rw-r--r--qmake/generators/symbian/symmake.h3
-rw-r--r--qmake/generators/symbian/symmake_abld.cpp4
-rw-r--r--qmake/generators/symbian/symmake_sbsv2.cpp8
-rw-r--r--qmake/generators/win32/mingw_make.cpp7
-rw-r--r--qmake/generators/win32/msbuild_objectmodel.cpp41
-rw-r--r--qmake/generators/win32/msvc_objectmodel.cpp13
-rw-r--r--qmake/generators/win32/msvc_objectmodel.h2
-rw-r--r--qmake/generators/win32/msvc_vcxproj.cpp1
-rw-r--r--qmake/option.cpp2
-rw-r--r--qmake/project.cpp23
-rw-r--r--qmake/project.h1
-rw-r--r--qmake/qmake.pri10
-rw-r--r--src/3rdparty/harfbuzz/src/harfbuzz-buffer.h16
-rw-r--r--src/3rdparty/harfbuzz/src/harfbuzz-dump.c10
-rw-r--r--src/3rdparty/harfbuzz/src/harfbuzz-external.h6
-rw-r--r--src/3rdparty/harfbuzz/src/harfbuzz-gdef-private.h25
-rw-r--r--src/3rdparty/harfbuzz/src/harfbuzz-gdef.c4
-rw-r--r--src/3rdparty/harfbuzz/src/harfbuzz-gdef.h21
-rw-r--r--src/3rdparty/harfbuzz/src/harfbuzz-global.h4
-rw-r--r--src/3rdparty/harfbuzz/src/harfbuzz-gpos-private.h35
-rw-r--r--src/3rdparty/harfbuzz/src/harfbuzz-gpos.c73
-rw-r--r--src/3rdparty/harfbuzz/src/harfbuzz-gpos.h6
-rw-r--r--src/3rdparty/harfbuzz/src/harfbuzz-gsub-private.h151
-rw-r--r--src/3rdparty/harfbuzz/src/harfbuzz-gsub.h23
-rw-r--r--src/3rdparty/harfbuzz/src/harfbuzz-hangul.c2
-rw-r--r--src/3rdparty/harfbuzz/src/harfbuzz-open-private.h6
-rw-r--r--src/3rdparty/harfbuzz/src/harfbuzz-open.c38
-rw-r--r--src/3rdparty/harfbuzz/src/harfbuzz-open.h48
-rw-r--r--src/3rdparty/harfbuzz/src/harfbuzz-shaper.cpp13
-rw-r--r--src/3rdparty/harfbuzz/src/harfbuzz-shaper.h44
-rw-r--r--src/3rdparty/harfbuzz/src/harfbuzz-stream.h10
-rw-r--r--src/3rdparty/harfbuzz/src/harfbuzz-thai.c64
-rw-r--r--src/3rdparty/harfbuzz/tests/fuzzing/fuzz.cc124
-rw-r--r--src/3rdparty/harfbuzz/tests/linebreaking/harfbuzz-qt.cpp25
-rw-r--r--src/3rdparty/javascriptcore/JavaScriptCore/ChangeLog45
-rw-r--r--src/3rdparty/javascriptcore/JavaScriptCore/jit/JITStubs.cpp8
-rw-r--r--src/3rdparty/javascriptcore/JavaScriptCore/runtime/Collector.cpp22
-rw-r--r--src/3rdparty/javascriptcore/JavaScriptCore/wtf/Platform.h10
-rw-r--r--src/3rdparty/javascriptcore/VERSION4
-rw-r--r--src/3rdparty/javascriptcore/WebKit.pri2
-rw-r--r--src/3rdparty/phonon/mmf/abstractaudioeffect.cpp2
-rw-r--r--src/3rdparty/phonon/mmf/abstractaudioeffect.h4
-rw-r--r--src/3rdparty/phonon/mmf/audiooutput.cpp3
-rw-r--r--src/3rdparty/phonon/mmf/bassboost.cpp1
-rw-r--r--src/3rdparty/phonon/mmf/effectfactory.cpp5
-rw-r--r--src/3rdparty/phonon/mmf/loudness.cpp1
-rw-r--r--src/3rdparty/phonon/qt7/audiodevice.mm1
-rw-r--r--src/3rdparty/webkit/.tag2
-rw-r--r--src/3rdparty/webkit/ChangeLog43
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/ChangeLog91
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/JavaScriptCore.pri8
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/JavaScriptCore.pro4
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/qt/api/QtScript.pro2
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/wtf/Platform.h13
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/wtf/Vector.h12
-rw-r--r--src/3rdparty/webkit/VERSION2
-rw-r--r--src/3rdparty/webkit/WebCore/ChangeLog1174
-rw-r--r--src/3rdparty/webkit/WebCore/WebCore.gypi20
-rw-r--r--src/3rdparty/webkit/WebCore/WebCore.pri20
-rw-r--r--src/3rdparty/webkit/WebCore/WebCore.pro57
-rw-r--r--src/3rdparty/webkit/WebCore/bindings/js/JSCanvasRenderingContext2DCustom.cpp18
-rw-r--r--src/3rdparty/webkit/WebCore/bindings/js/JSCustomSQLStatementErrorCallback.cpp2
-rw-r--r--src/3rdparty/webkit/WebCore/bindings/js/JSHTMLCanvasElementCustom.cpp5
-rw-r--r--src/3rdparty/webkit/WebCore/bridge/qt/qt_class.cpp8
-rw-r--r--src/3rdparty/webkit/WebCore/bridge/qt/qt_instance.cpp2
-rw-r--r--src/3rdparty/webkit/WebCore/bridge/qt/qt_pixmapruntime.cpp11
-rw-r--r--src/3rdparty/webkit/WebCore/bridge/qt/qt_pixmapruntime.h3
-rw-r--r--src/3rdparty/webkit/WebCore/bridge/qt/qt_runtime.cpp4
-rw-r--r--src/3rdparty/webkit/WebCore/css/CSSParser.cpp1
-rw-r--r--src/3rdparty/webkit/WebCore/css/Media.cpp77
-rw-r--r--src/3rdparty/webkit/WebCore/css/Media.h54
-rw-r--r--src/3rdparty/webkit/WebCore/css/Media.idl31
-rw-r--r--src/3rdparty/webkit/WebCore/css/StyleMedia.cpp77
-rw-r--r--src/3rdparty/webkit/WebCore/css/StyleMedia.h55
-rw-r--r--src/3rdparty/webkit/WebCore/css/StyleMedia.idl32
-rw-r--r--src/3rdparty/webkit/WebCore/editing/ApplyStyleCommand.cpp2
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSCanvasRenderingContext2D.cpp12
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSCanvasRenderingContext2D.h1
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSDOMWindow.cpp10
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSDOMWindow.h2
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSMedia.cpp201
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSMedia.h87
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSStyleMedia.cpp201
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSStyleMedia.h87
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLCanvasElement.cpp6
-rw-r--r--src/3rdparty/webkit/WebCore/html/canvas/CanvasRenderingContext2D.cpp42
-rw-r--r--src/3rdparty/webkit/WebCore/html/canvas/CanvasRenderingContext2D.h1
-rw-r--r--src/3rdparty/webkit/WebCore/html/canvas/CanvasRenderingContext2D.idl3
-rw-r--r--src/3rdparty/webkit/WebCore/page/AbstractView.idl2
-rw-r--r--src/3rdparty/webkit/WebCore/page/ChromeClient.h6
-rw-r--r--src/3rdparty/webkit/WebCore/page/DOMWindow.cpp6
-rw-r--r--src/3rdparty/webkit/WebCore/page/DOMWindow.h8
-rw-r--r--src/3rdparty/webkit/WebCore/page/DOMWindow.idl2
-rw-r--r--src/3rdparty/webkit/WebCore/page/EventHandler.cpp25
-rw-r--r--src/3rdparty/webkit/WebCore/page/EventHandler.h4
-rw-r--r--src/3rdparty/webkit/WebCore/page/FocusController.cpp176
-rw-r--r--src/3rdparty/webkit/WebCore/page/Frame.cpp8
-rw-r--r--src/3rdparty/webkit/WebCore/page/Frame.h1
-rw-r--r--src/3rdparty/webkit/WebCore/page/FrameView.cpp58
-rw-r--r--src/3rdparty/webkit/WebCore/page/FrameView.h15
-rw-r--r--src/3rdparty/webkit/WebCore/page/SpatialNavigation.cpp38
-rw-r--r--src/3rdparty/webkit/WebCore/page/SpatialNavigation.h12
-rw-r--r--src/3rdparty/webkit/WebCore/platform/ScrollView.cpp1
-rw-r--r--src/3rdparty/webkit/WebCore/platform/ScrollView.h3
-rw-r--r--src/3rdparty/webkit/WebCore/platform/graphics/BitmapImage.cpp4
-rw-r--r--src/3rdparty/webkit/WebCore/platform/graphics/ImageSource.h17
-rw-r--r--src/3rdparty/webkit/WebCore/platform/graphics/TiledBackingStore.cpp61
-rw-r--r--src/3rdparty/webkit/WebCore/platform/graphics/TiledBackingStore.h21
-rw-r--r--src/3rdparty/webkit/WebCore/platform/graphics/TiledBackingStoreClient.h1
-rw-r--r--src/3rdparty/webkit/WebCore/platform/graphics/qt/FontQt.cpp21
-rw-r--r--src/3rdparty/webkit/WebCore/platform/graphics/qt/GraphicsContextQt.cpp71
-rw-r--r--src/3rdparty/webkit/WebCore/platform/graphics/qt/GraphicsLayerQt.cpp45
-rw-r--r--src/3rdparty/webkit/WebCore/platform/graphics/qt/ImageBufferQt.cpp14
-rw-r--r--src/3rdparty/webkit/WebCore/platform/graphics/qt/ImageDecoderQt.cpp18
-rw-r--r--src/3rdparty/webkit/WebCore/platform/graphics/qt/PathQt.cpp36
-rw-r--r--src/3rdparty/webkit/WebCore/platform/network/NetworkStateNotifier.h9
-rw-r--r--src/3rdparty/webkit/WebCore/platform/network/qt/DnsPrefetchHelper.h11
-rw-r--r--src/3rdparty/webkit/WebCore/platform/network/qt/NetworkStateNotifierQt.cpp4
-rw-r--r--src/3rdparty/webkit/WebCore/platform/network/qt/QNetworkReplyHandler.cpp13
-rw-r--r--src/3rdparty/webkit/WebCore/platform/network/qt/QNetworkReplyHandler.h1
-rw-r--r--src/3rdparty/webkit/WebCore/platform/qt/FileSystemQt.cpp2
-rw-r--r--src/3rdparty/webkit/WebCore/platform/qt/QWebPageClient.h2
-rw-r--r--src/3rdparty/webkit/WebCore/platform/qt/RenderThemeQt.cpp10
-rw-r--r--src/3rdparty/webkit/WebCore/platform/qt/ScrollbarThemeQt.cpp2
-rw-r--r--src/3rdparty/webkit/WebCore/platform/qt/TemporaryLinkStubsQt.cpp (renamed from src/3rdparty/webkit/WebCore/platform/qt/TemporaryLinkStubs.cpp)0
-rw-r--r--src/3rdparty/webkit/WebCore/platform/text/qt/TextBreakIteratorQt.cpp64
-rw-r--r--src/3rdparty/webkit/WebCore/plugins/mac/PluginViewMac.cpp830
-rw-r--r--src/3rdparty/webkit/WebCore/plugins/mac/PluginViewMac.mm833
-rw-r--r--src/3rdparty/webkit/WebCore/plugins/qt/PluginPackageQt.cpp23
-rw-r--r--src/3rdparty/webkit/WebKit.pri11
-rw-r--r--src/3rdparty/webkit/WebKit.pro2
-rw-r--r--src/3rdparty/webkit/WebKit/qt/Api/DerivedSources.pro8
-rw-r--r--src/3rdparty/webkit/WebKit/qt/Api/qgraphicswebview.cpp31
-rw-r--r--src/3rdparty/webkit/WebKit/qt/Api/qwebdatabase.cpp10
-rw-r--r--src/3rdparty/webkit/WebKit/qt/Api/qwebelement.cpp20
-rw-r--r--src/3rdparty/webkit/WebKit/qt/Api/qwebframe.cpp42
-rw-r--r--src/3rdparty/webkit/WebKit/qt/Api/qwebhistory.cpp2
-rw-r--r--src/3rdparty/webkit/WebKit/qt/Api/qwebhistoryinterface.cpp23
-rw-r--r--src/3rdparty/webkit/WebKit/qt/Api/qwebinspector.cpp45
-rw-r--r--src/3rdparty/webkit/WebKit/qt/Api/qwebkitversion.cpp66
-rw-r--r--src/3rdparty/webkit/WebKit/qt/Api/qwebpage.cpp426
-rw-r--r--src/3rdparty/webkit/WebKit/qt/Api/qwebpage.h2
-rw-r--r--src/3rdparty/webkit/WebKit/qt/Api/qwebpage_p.h4
-rw-r--r--src/3rdparty/webkit/WebKit/qt/Api/qwebpluginfactory.cpp40
-rw-r--r--src/3rdparty/webkit/WebKit/qt/Api/qwebsecurityorigin.cpp24
-rw-r--r--src/3rdparty/webkit/WebKit/qt/Api/qwebsettings.cpp163
-rw-r--r--src/3rdparty/webkit/WebKit/qt/Api/qwebsettings.h8
-rw-r--r--src/3rdparty/webkit/WebKit/qt/ChangeLog540
-rw-r--r--src/3rdparty/webkit/WebKit/qt/WebCoreSupport/ChromeClientQt.cpp13
-rw-r--r--src/3rdparty/webkit/WebKit/qt/WebCoreSupport/ChromeClientQt.h4
-rw-r--r--src/3rdparty/webkit/WebKit/qt/WebCoreSupport/EditorClientQt.cpp6
-rw-r--r--src/3rdparty/webkit/WebKit/qt/WebCoreSupport/FrameLoaderClientQt.cpp6
-rw-r--r--src/3rdparty/webkit/WebKit/qt/WebCoreSupport/InspectorClientQt.cpp12
-rw-r--r--src/3rdparty/webkit/WebKit/qt/WebCoreSupport/QtFallbackWebPopup.cpp4
-rw-r--r--src/3rdparty/webkit/WebKit/qt/WebCoreSupport/QtFallbackWebPopup.h4
-rw-r--r--src/3rdparty/webkit/WebKit/qt/docs/docs.pri2
-rw-r--r--src/3rdparty/webkit/WebKit/qt/docs/qtwebkit-bridge.qdoc427
-rw-r--r--src/3rdparty/webkit/WebKit/qt/docs/qtwebkit.qdoc114
-rw-r--r--src/3rdparty/webkit/WebKit/qt/docs/webkitsnippets/qtwebkit_bridge_snippets.cpp177
-rw-r--r--src/3rdparty/webkit/WebKit/qt/docs/webkitsnippets/qtwebkit_qwebinspector_snippet.cpp2
-rw-r--r--src/3rdparty/webkit/WebKit/qt/docs/webkitsnippets/webelement/main.cpp56
-rw-r--r--src/3rdparty/webkit/WebKit/qt/qt_webkit_version.pri4
-rw-r--r--src/3rdparty/webkit/WebKit/qt/symbian/bwins/QtWebKitu.def7
-rw-r--r--src/3rdparty/webkit/WebKit/qt/symbian/eabi/QtWebKitu.def56
-rw-r--r--src/3rdparty/webkit/WebKit/qt/tests/qgraphicswebview/tst_qgraphicswebview.cpp8
-rw-r--r--src/3rdparty/webkit/WebKit/qt/tests/qwebframe/tst_qwebframe.cpp37
-rw-r--r--src/3rdparty/webkit/WebKit/qt/tests/qwebpage/tst_qwebpage.cpp186
-rw-r--r--src/activeqt/container/container.pro2
-rw-r--r--src/activeqt/control/control.pro6
-rw-r--r--src/activeqt/control/qaxbindable.cpp2
-rw-r--r--src/corelib/animation/qabstractanimation.cpp3
-rw-r--r--src/corelib/arch/qatomic_alpha.h12
-rw-r--r--src/corelib/corelib.pro1
-rw-r--r--src/corelib/global/qconfig-medium.h3
-rw-r--r--src/corelib/global/qconfig-minimal.h3
-rw-r--r--src/corelib/global/qconfig-small.h3
-rw-r--r--src/corelib/global/qendian.h24
-rw-r--r--src/corelib/global/qfeatures.h13
-rw-r--r--src/corelib/global/qfeatures.txt8
-rw-r--r--src/corelib/global/qglobal.cpp27
-rw-r--r--src/corelib/global/qglobal.h9
-rw-r--r--src/corelib/global/qnamespace.h24
-rw-r--r--src/corelib/global/qnamespace.qdoc31
-rw-r--r--src/corelib/io/qdatastream.cpp3
-rw-r--r--src/corelib/io/qdebug.h23
-rw-r--r--src/corelib/io/qfilesystemwatcher_symbian.cpp63
-rw-r--r--src/corelib/io/qfilesystemwatcher_symbian_p.h6
-rw-r--r--src/corelib/io/qfsfileengine_win.cpp10
-rw-r--r--src/corelib/io/qiodevice.cpp24
-rw-r--r--src/corelib/io/qiodevice_p.h9
-rw-r--r--src/corelib/io/qprocess.cpp4
-rw-r--r--src/corelib/io/qresource.cpp4
-rw-r--r--src/corelib/io/qurl.cpp25
-rw-r--r--src/corelib/kernel/qabstractitemmodel.cpp148
-rw-r--r--src/corelib/kernel/qcoreapplication.cpp17
-rw-r--r--src/corelib/kernel/qcoreapplication_p.h7
-rw-r--r--src/corelib/kernel/qcoreevent.h8
-rw-r--r--src/corelib/kernel/qeventdispatcher_glib.cpp3
-rw-r--r--src/corelib/kernel/qeventdispatcher_symbian.cpp62
-rw-r--r--src/corelib/kernel/qeventdispatcher_symbian_p.h21
-rw-r--r--src/corelib/kernel/qeventdispatcher_win.cpp4
-rw-r--r--src/corelib/kernel/qeventloop.cpp4
-rw-r--r--src/corelib/kernel/qfunctions_wince.cpp10
-rw-r--r--src/corelib/kernel/qmetaobject.cpp7
-rw-r--r--src/corelib/kernel/qmetatype.cpp2
-rw-r--r--src/corelib/kernel/qobject.cpp20
-rw-r--r--src/corelib/kernel/qtranslator.cpp2
-rw-r--r--src/corelib/thread/qreadwritelock.cpp4
-rw-r--r--src/corelib/thread/qwaitcondition_unix.cpp3
-rw-r--r--src/corelib/tools/qbytearray.cpp4
-rw-r--r--src/corelib/tools/qchar.cpp73
-rw-r--r--src/corelib/tools/qchar.h15
-rw-r--r--src/corelib/tools/qdatetime.cpp56
-rw-r--r--src/corelib/tools/qdatetime.h1
-rw-r--r--src/corelib/tools/qeasingcurve.cpp4
-rw-r--r--src/corelib/tools/qelapsedtimer.cpp2
-rw-r--r--src/corelib/tools/qharfbuzz.cpp34
-rw-r--r--src/corelib/tools/qhash.cpp4
-rw-r--r--src/corelib/tools/qhash.h9
-rw-r--r--src/corelib/tools/qline.cpp8
-rw-r--r--src/corelib/tools/qlocale.cpp64
-rw-r--r--src/corelib/tools/qlocale.h11
-rw-r--r--src/corelib/tools/qlocale_data_p.h4072
-rw-r--r--src/corelib/tools/qlocale_p.h18
-rw-r--r--src/corelib/tools/qlocale_symbian.cpp173
-rw-r--r--src/corelib/tools/qmap.h29
-rw-r--r--src/corelib/tools/qpair.qdoc4
-rw-r--r--src/corelib/tools/qpoint.cpp8
-rw-r--r--src/corelib/tools/qrect.cpp8
-rw-r--r--src/corelib/tools/qregexp.cpp4
-rw-r--r--src/corelib/tools/qsize.cpp8
-rw-r--r--src/corelib/tools/qstring.cpp53
-rw-r--r--src/corelib/tools/qstring.h2
-rw-r--r--src/corelib/tools/qstringlist.cpp4
-rw-r--r--src/corelib/tools/qtextboundaryfinder.cpp12
-rw-r--r--src/corelib/tools/qvarlengtharray.h22
-rw-r--r--src/corelib/tools/qvarlengtharray.qdoc49
-rw-r--r--src/corelib/tools/tools.pri5
-rw-r--r--src/corelib/xml/qxmlstream.cpp5
-rw-r--r--src/dbus/qdbusabstractinterface.cpp5
-rw-r--r--src/dbus/qdbusconnection.cpp8
-rw-r--r--src/dbus/qdbusconnection_p.h1
-rw-r--r--src/dbus/qdbusintegrator.cpp46
-rw-r--r--src/dbus/qdbusinternalfilters.cpp2
-rw-r--r--src/dbus/qdbusmacros.h4
-rw-r--r--src/dbus/qdbuspendingcall.cpp35
-rw-r--r--src/dbus/qdbuspendingcall_p.h35
-rw-r--r--src/dbus/qdbuspendingreply.cpp3
-rw-r--r--src/dbus/qdbusxmlgenerator.cpp2
-rw-r--r--src/declarative/3rdparty/3rdparty.pri7
-rw-r--r--src/declarative/QmlChanges.txt34
-rw-r--r--src/declarative/debugger/debugger.pri6
-rw-r--r--src/declarative/debugger/qdeclarativedebugservice.cpp11
-rw-r--r--src/declarative/debugger/qdeclarativedebugtrace.cpp110
-rw-r--r--src/declarative/debugger/qdeclarativedebugtrace_p.h101
-rw-r--r--src/declarative/declarative.pro5
-rw-r--r--src/declarative/graphicsitems/qdeclarativeanchors.cpp83
-rw-r--r--src/declarative/graphicsitems/qdeclarativeanchors_p_p.h2
-rw-r--r--src/declarative/graphicsitems/qdeclarativeanimatedimage.cpp46
-rw-r--r--src/declarative/graphicsitems/qdeclarativeborderimage.cpp66
-rw-r--r--src/declarative/graphicsitems/qdeclarativeevents.cpp4
-rw-r--r--src/declarative/graphicsitems/qdeclarativeflickable.cpp286
-rw-r--r--src/declarative/graphicsitems/qdeclarativeflickable_p.h40
-rw-r--r--src/declarative/graphicsitems/qdeclarativeflickable_p_p.h16
-rw-r--r--src/declarative/graphicsitems/qdeclarativeflipable.cpp27
-rw-r--r--src/declarative/graphicsitems/qdeclarativegridview.cpp585
-rw-r--r--src/declarative/graphicsitems/qdeclarativegridview_p.h15
-rw-r--r--src/declarative/graphicsitems/qdeclarativeimage.cpp260
-rw-r--r--src/declarative/graphicsitems/qdeclarativeimage_p.h2
-rw-r--r--src/declarative/graphicsitems/qdeclarativeitem.cpp700
-rw-r--r--src/declarative/graphicsitems/qdeclarativeitem.h51
-rw-r--r--src/declarative/graphicsitems/qdeclarativeitem_p.h92
-rw-r--r--src/declarative/graphicsitems/qdeclarativeitemsmodule.cpp24
-rw-r--r--src/declarative/graphicsitems/qdeclarativelayoutitem.cpp16
-rw-r--r--src/declarative/graphicsitems/qdeclarativelistview.cpp456
-rw-r--r--src/declarative/graphicsitems/qdeclarativelistview_p.h2
-rw-r--r--src/declarative/graphicsitems/qdeclarativeloader.cpp227
-rw-r--r--src/declarative/graphicsitems/qdeclarativeloader_p.h10
-rw-r--r--src/declarative/graphicsitems/qdeclarativeloader_p_p.h3
-rw-r--r--src/declarative/graphicsitems/qdeclarativemousearea.cpp131
-rw-r--r--src/declarative/graphicsitems/qdeclarativemousearea_p.h8
-rw-r--r--src/declarative/graphicsitems/qdeclarativemousearea_p_p.h4
-rw-r--r--src/declarative/graphicsitems/qdeclarativepainteditem.cpp48
-rw-r--r--src/declarative/graphicsitems/qdeclarativepainteditem_p.h6
-rw-r--r--src/declarative/graphicsitems/qdeclarativepath.cpp47
-rw-r--r--src/declarative/graphicsitems/qdeclarativepath_p.h3
-rw-r--r--src/declarative/graphicsitems/qdeclarativepath_p_p.h3
-rw-r--r--src/declarative/graphicsitems/qdeclarativepathview.cpp156
-rw-r--r--src/declarative/graphicsitems/qdeclarativepathview_p.h6
-rw-r--r--src/declarative/graphicsitems/qdeclarativepathview_p_p.h27
-rw-r--r--src/declarative/graphicsitems/qdeclarativepositioners.cpp238
-rw-r--r--src/declarative/graphicsitems/qdeclarativepositioners_p.h6
-rw-r--r--src/declarative/graphicsitems/qdeclarativepositioners_p_p.h21
-rw-r--r--src/declarative/graphicsitems/qdeclarativerectangle.cpp123
-rw-r--r--src/declarative/graphicsitems/qdeclarativerepeater.cpp96
-rw-r--r--src/declarative/graphicsitems/qdeclarativescalegrid.cpp5
-rw-r--r--src/declarative/graphicsitems/qdeclarativetext.cpp151
-rw-r--r--src/declarative/graphicsitems/qdeclarativetext_p.h9
-rw-r--r--src/declarative/graphicsitems/qdeclarativetextedit.cpp592
-rw-r--r--src/declarative/graphicsitems/qdeclarativetextedit_p.h40
-rw-r--r--src/declarative/graphicsitems/qdeclarativetextedit_p_p.h17
-rw-r--r--src/declarative/graphicsitems/qdeclarativetextinput.cpp503
-rw-r--r--src/declarative/graphicsitems/qdeclarativetextinput_p.h33
-rw-r--r--src/declarative/graphicsitems/qdeclarativetextinput_p_p.h13
-rw-r--r--src/declarative/graphicsitems/qdeclarativevisualitemmodel.cpp211
-rw-r--r--src/declarative/graphicsitems/qdeclarativevisualitemmodel_p.h11
-rw-r--r--src/declarative/qml/parser/qdeclarativejslexer.cpp2
-rw-r--r--src/declarative/qml/qdeclarative.h2
-rw-r--r--src/declarative/qml/qdeclarativebinding.cpp33
-rw-r--r--src/declarative/qml/qdeclarativebinding_p.h2
-rw-r--r--src/declarative/qml/qdeclarativeboundsignal.cpp2
-rw-r--r--src/declarative/qml/qdeclarativecompiledbindings.cpp424
-rw-r--r--src/declarative/qml/qdeclarativecompiledbindings_p.h6
-rw-r--r--src/declarative/qml/qdeclarativecompiler.cpp158
-rw-r--r--src/declarative/qml/qdeclarativecompiler_p.h4
-rw-r--r--src/declarative/qml/qdeclarativecomponent.cpp148
-rw-r--r--src/declarative/qml/qdeclarativecomponent.h9
-rw-r--r--src/declarative/qml/qdeclarativecomponent_p.h3
-rw-r--r--src/declarative/qml/qdeclarativecompositetypedata_p.h2
-rw-r--r--src/declarative/qml/qdeclarativecompositetypemanager.cpp93
-rw-r--r--src/declarative/qml/qdeclarativecontext.cpp23
-rw-r--r--src/declarative/qml/qdeclarativecontext.h2
-rw-r--r--src/declarative/qml/qdeclarativecontext_p.h3
-rw-r--r--src/declarative/qml/qdeclarativecontextscriptclass.cpp46
-rw-r--r--src/declarative/qml/qdeclarativecontextscriptclass_p.h4
-rw-r--r--src/declarative/qml/qdeclarativedata_p.h10
-rw-r--r--src/declarative/qml/qdeclarativeengine.cpp1309
-rw-r--r--src/declarative/qml/qdeclarativeengine_p.h116
-rw-r--r--src/declarative/qml/qdeclarativeenginedebug.cpp2
-rw-r--r--src/declarative/qml/qdeclarativeexpression.cpp22
-rw-r--r--src/declarative/qml/qdeclarativeexpression.h6
-rw-r--r--src/declarative/qml/qdeclarativeextensionplugin.cpp2
-rw-r--r--src/declarative/qml/qdeclarativeglobalscriptclass.cpp20
-rw-r--r--src/declarative/qml/qdeclarativeglobalscriptclass_p.h1
-rw-r--r--src/declarative/qml/qdeclarativeguard_p.h2
-rw-r--r--src/declarative/qml/qdeclarativeimport.cpp922
-rw-r--r--src/declarative/qml/qdeclarativeimport_p.h139
-rw-r--r--src/declarative/qml/qdeclarativeinclude.cpp307
-rw-r--r--src/declarative/qml/qdeclarativeinclude_p.h115
-rw-r--r--src/declarative/qml/qdeclarativeinfo.cpp3
-rw-r--r--src/declarative/qml/qdeclarativeinfo.h2
-rw-r--r--src/declarative/qml/qdeclarativeinstruction.cpp9
-rw-r--r--src/declarative/qml/qdeclarativeinstruction_p.h3
-rw-r--r--src/declarative/qml/qdeclarativemetatype.cpp19
-rw-r--r--src/declarative/qml/qdeclarativemetatype_p.h2
-rw-r--r--src/declarative/qml/qdeclarativeobjectscriptclass.cpp15
-rw-r--r--src/declarative/qml/qdeclarativeparser.cpp45
-rw-r--r--src/declarative/qml/qdeclarativeparser_p.h7
-rw-r--r--src/declarative/qml/qdeclarativeparserstatus.cpp10
-rw-r--r--src/declarative/qml/qdeclarativeparserstatus.h4
-rw-r--r--src/declarative/qml/qdeclarativeprivate.h4
-rw-r--r--src/declarative/qml/qdeclarativeproperty.cpp36
-rw-r--r--src/declarative/qml/qdeclarativepropertycache.cpp31
-rw-r--r--src/declarative/qml/qdeclarativepropertycache_p.h3
-rw-r--r--src/declarative/qml/qdeclarativepropertyvaluesource.cpp3
-rw-r--r--src/declarative/qml/qdeclarativescriptparser.cpp75
-rw-r--r--src/declarative/qml/qdeclarativescriptstring.h2
-rw-r--r--src/declarative/qml/qdeclarativestringconverters.cpp4
-rw-r--r--src/declarative/qml/qdeclarativestringconverters_p.h4
-rw-r--r--src/declarative/qml/qdeclarativevaluetype.cpp232
-rw-r--r--src/declarative/qml/qdeclarativevaluetype_p.h151
-rw-r--r--src/declarative/qml/qdeclarativevaluetypescriptclass.cpp2
-rw-r--r--src/declarative/qml/qdeclarativevme.cpp13
-rw-r--r--src/declarative/qml/qdeclarativevmemetaobject.cpp5
-rw-r--r--src/declarative/qml/qdeclarativewatcher.cpp2
-rw-r--r--src/declarative/qml/qdeclarativeworkerscript.cpp57
-rw-r--r--src/declarative/qml/qdeclarativeworkerscript_p.h5
-rw-r--r--src/declarative/qml/qdeclarativexmlhttprequest.cpp29
-rw-r--r--src/declarative/qml/qml.pri4
-rw-r--r--src/declarative/util/qdeclarativeanimation.cpp263
-rw-r--r--src/declarative/util/qdeclarativeanimation_p.h3
-rw-r--r--src/declarative/util/qdeclarativeanimation_p_p.h20
-rw-r--r--src/declarative/util/qdeclarativebehavior.cpp23
-rw-r--r--src/declarative/util/qdeclarativebehavior_p.h3
-rw-r--r--src/declarative/util/qdeclarativebind.cpp9
-rw-r--r--src/declarative/util/qdeclarativebind_p.h1
-rw-r--r--src/declarative/util/qdeclarativeconnections.cpp69
-rw-r--r--src/declarative/util/qdeclarativeconnections_p.h5
-rw-r--r--src/declarative/util/qdeclarativefontloader.cpp73
-rw-r--r--src/declarative/util/qdeclarativelistmodel.cpp166
-rw-r--r--src/declarative/util/qdeclarativelistmodelworkeragent_p.h2
-rw-r--r--src/declarative/util/qdeclarativeopenmetaobject.cpp2
-rw-r--r--src/declarative/util/qdeclarativepackage.cpp19
-rw-r--r--src/declarative/util/qdeclarativepackage_p.h8
-rw-r--r--src/declarative/util/qdeclarativepixmapcache.cpp18
-rw-r--r--src/declarative/util/qdeclarativepropertychanges.cpp59
-rw-r--r--src/declarative/util/qdeclarativesmoothedanimation.cpp8
-rw-r--r--src/declarative/util/qdeclarativesmoothedanimation_p.h2
-rw-r--r--src/declarative/util/qdeclarativesmoothedanimation_p_p.h2
-rw-r--r--src/declarative/util/qdeclarativesmoothedfollow.cpp6
-rw-r--r--src/declarative/util/qdeclarativesmoothedfollow_p.h2
-rw-r--r--src/declarative/util/qdeclarativespringfollow.cpp2
-rw-r--r--src/declarative/util/qdeclarativestate.cpp48
-rw-r--r--src/declarative/util/qdeclarativestate_p.h4
-rw-r--r--src/declarative/util/qdeclarativestate_p_p.h3
-rw-r--r--src/declarative/util/qdeclarativestategroup.cpp16
-rw-r--r--src/declarative/util/qdeclarativestateoperations.cpp347
-rw-r--r--src/declarative/util/qdeclarativestateoperations_p.h39
-rw-r--r--src/declarative/util/qdeclarativesystempalette.cpp43
-rw-r--r--src/declarative/util/qdeclarativetimeline.cpp15
-rw-r--r--src/declarative/util/qdeclarativetimeline_p_p.h8
-rw-r--r--src/declarative/util/qdeclarativetimer.cpp23
-rw-r--r--src/declarative/util/qdeclarativetransition.cpp4
-rw-r--r--src/declarative/util/qdeclarativetransitionmanager.cpp2
-rw-r--r--src/declarative/util/qdeclarativetransitionmanager_p_p.h4
-rw-r--r--src/declarative/util/qdeclarativeview.cpp179
-rw-r--r--src/declarative/util/qdeclarativeview.h4
-rw-r--r--src/declarative/util/qdeclarativexmllistmodel.cpp297
-rw-r--r--src/declarative/util/qdeclarativexmllistmodel_p.h6
-rw-r--r--src/declarative/util/qlistmodelinterface.cpp (renamed from src/declarative/3rdparty/qlistmodelinterface.cpp)0
-rw-r--r--src/declarative/util/qlistmodelinterface_p.h (renamed from src/declarative/3rdparty/qlistmodelinterface_p.h)0
-rw-r--r--src/declarative/util/util.pri6
-rw-r--r--src/gui/dialogs/qcolordialog_mac.mm20
-rw-r--r--src/gui/dialogs/qfiledialog.h1
-rw-r--r--src/gui/dialogs/qfiledialog_mac.mm32
-rw-r--r--src/gui/dialogs/qfileinfogatherer.cpp15
-rw-r--r--src/gui/dialogs/qfileinfogatherer_p.h3
-rw-r--r--src/gui/dialogs/qfontdialog_mac.mm16
-rw-r--r--src/gui/dialogs/qmessagebox.h2
-rw-r--r--src/gui/dialogs/qnspanelproxy_mac.mm24
-rw-r--r--src/gui/dialogs/qpagesetupdialog_mac.mm8
-rw-r--r--src/gui/dialogs/qprintdialog_mac.mm8
-rw-r--r--src/gui/dialogs/qprintdialog_unix.cpp2
-rw-r--r--src/gui/dialogs/qwizard_win.cpp3
-rw-r--r--src/gui/effects/qgraphicseffect.cpp2
-rw-r--r--src/gui/egl/qegl.cpp37
-rw-r--r--src/gui/egl/qegl_qws.cpp2
-rw-r--r--src/gui/egl/qegl_x11.cpp5
-rw-r--r--src/gui/embedded/qwsmanager_qws.cpp2
-rw-r--r--src/gui/graphicsview/qgraphicsgridlayout.cpp12
-rw-r--r--src/gui/graphicsview/qgraphicsitem.cpp320
-rw-r--r--src/gui/graphicsview/qgraphicsitem.h4
-rw-r--r--src/gui/graphicsview/qgraphicsitem_p.h3
-rw-r--r--src/gui/graphicsview/qgraphicsitemanimation.cpp2
-rw-r--r--src/gui/graphicsview/qgraphicslayoutitem.cpp2
-rw-r--r--src/gui/graphicsview/qgraphicslinearlayout.cpp2
-rw-r--r--src/gui/graphicsview/qgraphicsscene.cpp146
-rw-r--r--src/gui/graphicsview/qgraphicsscene.h3
-rw-r--r--src/gui/graphicsview/qgraphicsscene_p.h45
-rw-r--r--src/gui/graphicsview/qgraphicsview.cpp89
-rw-r--r--src/gui/graphicsview/qgraphicsview_p.h33
-rw-r--r--src/gui/graphicsview/qgraphicswidget.cpp22
-rw-r--r--src/gui/graphicsview/qgraphicswidget_p.cpp22
-rw-r--r--src/gui/graphicsview/qgraphicswidget_p.h1
-rw-r--r--src/gui/graphicsview/qgridlayoutengine_p.h4
-rw-r--r--src/gui/gui.pro1
-rw-r--r--src/gui/image/image.pri14
-rw-r--r--src/gui/image/qbmphandler.cpp10
-rw-r--r--src/gui/image/qicon.cpp26
-rw-r--r--src/gui/image/qiconloader.cpp16
-rw-r--r--src/gui/image/qimage.cpp19
-rw-r--r--src/gui/image/qpixmap.cpp58
-rw-r--r--src/gui/image/qpixmap.h2
-rw-r--r--src/gui/image/qpixmap_x11.cpp6
-rw-r--r--src/gui/image/qpixmapcache.cpp64
-rw-r--r--src/gui/image/qpixmapcache.h10
-rw-r--r--src/gui/image/qpixmapcache_p.h7
-rw-r--r--src/gui/image/qpixmapdata_p.h6
-rw-r--r--src/gui/image/qpnghandler.cpp10
-rw-r--r--src/gui/image/qppmhandler.cpp10
-rw-r--r--src/gui/image/qxbmhandler.cpp10
-rw-r--r--src/gui/image/qxpmhandler.cpp8
-rw-r--r--src/gui/inputmethod/qcoefepinputcontext_s60.cpp40
-rw-r--r--src/gui/inputmethod/qximinputcontext_x11.cpp14
-rw-r--r--src/gui/itemviews/qabstractitemview.cpp11
-rw-r--r--src/gui/itemviews/qitemdelegate.cpp1
-rw-r--r--src/gui/itemviews/qlistwidget.cpp4
-rw-r--r--src/gui/itemviews/qsortfilterproxymodel.cpp4
-rw-r--r--src/gui/itemviews/qstandarditemmodel.cpp4
-rw-r--r--src/gui/itemviews/qtablewidget.cpp4
-rw-r--r--src/gui/itemviews/qtreewidget.cpp8
-rw-r--r--src/gui/kernel/qapplication.cpp87
-rw-r--r--src/gui/kernel/qapplication.h2
-rw-r--r--src/gui/kernel/qapplication_p.h15
-rw-r--r--src/gui/kernel/qapplication_s60.cpp389
-rw-r--r--src/gui/kernel/qapplication_win.cpp56
-rw-r--r--src/gui/kernel/qapplication_x11.cpp2
-rw-r--r--src/gui/kernel/qcocoaview_mac.mm10
-rw-r--r--src/gui/kernel/qcocoawindowdelegate_mac.mm21
-rw-r--r--src/gui/kernel/qcursor.cpp4
-rw-r--r--src/gui/kernel/qdnd_qws.cpp4
-rw-r--r--src/gui/kernel/qdnd_x11.cpp27
-rw-r--r--src/gui/kernel/qdrag.cpp4
-rw-r--r--src/gui/kernel/qevent.cpp5
-rw-r--r--src/gui/kernel/qevent.h4
-rw-r--r--src/gui/kernel/qevent_p.h3
-rw-r--r--src/gui/kernel/qeventdispatcher_mac.mm2
-rw-r--r--src/gui/kernel/qgesture.cpp6
-rw-r--r--src/gui/kernel/qgesture.h4
-rw-r--r--src/gui/kernel/qgesture_p.h4
-rw-r--r--src/gui/kernel/qgesturemanager.cpp90
-rw-r--r--src/gui/kernel/qgesturemanager_p.h9
-rw-r--r--src/gui/kernel/qgesturerecognizer.cpp4
-rw-r--r--src/gui/kernel/qgesturerecognizer.h4
-rw-r--r--src/gui/kernel/qkeymapper_mac.cpp18
-rw-r--r--src/gui/kernel/qkeymapper_qws.cpp2
-rw-r--r--src/gui/kernel/qkeymapper_x11.cpp21
-rw-r--r--src/gui/kernel/qkeymapper_x11_p.cpp14
-rw-r--r--src/gui/kernel/qkeysequence.cpp30
-rw-r--r--src/gui/kernel/qmacgesturerecognizer_mac.mm4
-rw-r--r--src/gui/kernel/qmacgesturerecognizer_mac_p.h4
-rw-r--r--src/gui/kernel/qsound_mac.mm6
-rw-r--r--src/gui/kernel/qstandardgestures.cpp7
-rw-r--r--src/gui/kernel/qstandardgestures_p.h4
-rw-r--r--src/gui/kernel/qt_cocoa_helpers_mac_p.h5
-rw-r--r--src/gui/kernel/qt_mac_p.h2
-rw-r--r--src/gui/kernel/qt_s60_p.h43
-rw-r--r--src/gui/kernel/qwhatsthis.cpp2
-rw-r--r--src/gui/kernel/qwidget.cpp254
-rw-r--r--src/gui/kernel/qwidget.h4
-rw-r--r--src/gui/kernel/qwidget_mac.mm43
-rw-r--r--src/gui/kernel/qwidget_p.h71
-rw-r--r--src/gui/kernel/qwidget_qws.cpp2
-rw-r--r--src/gui/kernel/qwidget_s60.cpp15
-rw-r--r--src/gui/kernel/qwidget_win.cpp10
-rw-r--r--src/gui/kernel/qwidget_wince.cpp4
-rw-r--r--src/gui/kernel/qwidget_x11.cpp3
-rw-r--r--src/gui/kernel/qwinnativepangesturerecognizer_win.cpp4
-rw-r--r--src/gui/kernel/qwinnativepangesturerecognizer_win_p.h34
-rw-r--r--src/gui/math3d/qgenericmatrix.cpp4
-rw-r--r--src/gui/math3d/qmatrix4x4.cpp4
-rw-r--r--src/gui/math3d/qquaternion.cpp4
-rw-r--r--src/gui/math3d/qvector2d.cpp4
-rw-r--r--src/gui/math3d/qvector3d.cpp4
-rw-r--r--src/gui/math3d/qvector4d.cpp4
-rw-r--r--src/gui/painting/painting.pri11
-rw-r--r--src/gui/painting/qbackingstore.cpp6
-rw-r--r--src/gui/painting/qbezier.cpp228
-rw-r--r--src/gui/painting/qbezier_p.h7
-rw-r--r--src/gui/painting/qbrush.cpp15
-rw-r--r--src/gui/painting/qcolor.cpp6
-rw-r--r--src/gui/painting/qdatabuffer_p.h19
-rw-r--r--src/gui/painting/qdrawutil.cpp15
-rw-r--r--src/gui/painting/qgraphicssystem_runtime.cpp487
-rw-r--r--src/gui/painting/qgraphicssystem_runtime_p.h197
-rw-r--r--src/gui/painting/qgraphicssystemfactory.cpp7
-rw-r--r--src/gui/painting/qgrayraster.c35
-rw-r--r--src/gui/painting/qgrayraster_p.h4
-rw-r--r--src/gui/painting/qmatrix.cpp8
-rw-r--r--src/gui/painting/qoutlinemapper.cpp15
-rw-r--r--src/gui/painting/qoutlinemapper_p.h13
-rw-r--r--src/gui/painting/qpaintdevice.qdoc3
-rw-r--r--src/gui/painting/qpaintengine.cpp2
-rw-r--r--src/gui/painting/qpaintengine_mac.cpp6
-rw-r--r--src/gui/painting/qpaintengine_mac_p.h3
-rw-r--r--src/gui/painting/qpaintengine_raster.cpp199
-rw-r--r--src/gui/painting/qpaintengine_raster_p.h3
-rw-r--r--src/gui/painting/qpaintengine_x11.cpp14
-rw-r--r--src/gui/painting/qpaintengineex.cpp9
-rw-r--r--src/gui/painting/qpainter.cpp116
-rw-r--r--src/gui/painting/qpainterpath.cpp4
-rw-r--r--src/gui/painting/qpathclipper.cpp23
-rw-r--r--src/gui/painting/qpathclipper_p.h7
-rw-r--r--src/gui/painting/qpdf.cpp9
-rw-r--r--src/gui/painting/qpen.cpp6
-rw-r--r--src/gui/painting/qpolygon.cpp8
-rw-r--r--src/gui/painting/qpolygonclipper_p.h3
-rw-r--r--src/gui/painting/qprintengine_pdf.cpp46
-rw-r--r--src/gui/painting/qprintengine_pdf_p.h1
-rw-r--r--src/gui/painting/qrasterdefs_p.h6
-rw-r--r--src/gui/painting/qrasterizer.cpp8
-rw-r--r--src/gui/painting/qstroker.cpp23
-rw-r--r--src/gui/painting/qstroker_p.h18
-rw-r--r--src/gui/painting/qtextureglyphcache_p.h2
-rw-r--r--src/gui/painting/qtransform.cpp21
-rw-r--r--src/gui/painting/qwindowsurface.cpp7
-rw-r--r--src/gui/painting/qwindowsurface_s60.cpp31
-rw-r--r--src/gui/s60framework/qs60mainappui.cpp8
-rw-r--r--src/gui/statemachine/qguistatemachine.cpp2
-rw-r--r--src/gui/styles/qcleanlooksstyle.cpp8
-rw-r--r--src/gui/styles/qcommonstyle.cpp7
-rw-r--r--src/gui/styles/qgtkpainter.cpp60
-rw-r--r--src/gui/styles/qgtkstyle.cpp106
-rw-r--r--src/gui/styles/qgtkstyle_p.cpp2
-rw-r--r--src/gui/styles/qmacstyle_mac.mm232
-rw-r--r--src/gui/styles/qmacstyle_mac_p.h239
-rw-r--r--src/gui/styles/qmacstylepixmaps_mac_p.h5
-rw-r--r--src/gui/styles/qplastiquestyle.cpp39
-rw-r--r--src/gui/styles/qproxystyle.cpp2
-rw-r--r--src/gui/styles/qs60style.cpp264
-rw-r--r--src/gui/styles/qs60style_p.h50
-rw-r--r--src/gui/styles/qs60style_s60.cpp97
-rw-r--r--src/gui/styles/qstyle.cpp2
-rw-r--r--src/gui/styles/qstyle_p.h1
-rw-r--r--src/gui/styles/qstylehelper.cpp65
-rw-r--r--src/gui/styles/qstylehelper_p.h33
-rw-r--r--src/gui/styles/qstylesheetstyle.cpp2
-rw-r--r--src/gui/styles/qwindowsmobilestyle.cpp46
-rw-r--r--src/gui/styles/qwindowsstyle.cpp13
-rw-r--r--src/gui/styles/styles.pri10
-rw-r--r--src/gui/text/qfont.cpp3
-rw-r--r--src/gui/text/qfontdatabase.cpp13
-rw-r--r--src/gui/text/qfontdatabase_s60.cpp93
-rw-r--r--src/gui/text/qfontdatabase_x11.cpp7
-rw-r--r--src/gui/text/qfontengine_ft.cpp15
-rw-r--r--src/gui/text/qfontengine_ft_p.h1
-rw-r--r--src/gui/text/qfontengine_mac.mm21
-rw-r--r--src/gui/text/qfontengine_p.h3
-rw-r--r--src/gui/text/qfontengine_s60.cpp172
-rw-r--r--src/gui/text/qfontengine_s60_p.h25
-rw-r--r--src/gui/text/qfontmetrics.cpp25
-rw-r--r--src/gui/text/qfontmetrics.h1
-rw-r--r--src/gui/text/qstatictext.cpp224
-rw-r--r--src/gui/text/qstatictext.h5
-rw-r--r--src/gui/text/qstatictext_p.h30
-rw-r--r--src/gui/text/qtextcontrol.cpp8
-rw-r--r--src/gui/text/qtextcursor.cpp92
-rw-r--r--src/gui/text/qtextcursor.h6
-rw-r--r--src/gui/text/qtextcursor_p.h3
-rw-r--r--src/gui/text/qtextdocument.cpp11
-rw-r--r--src/gui/text/qtextdocument_p.cpp19
-rw-r--r--src/gui/text/qtextdocument_p.h2
-rw-r--r--src/gui/text/qtextdocumentlayout.cpp66
-rw-r--r--src/gui/text/qtextengine.cpp34
-rw-r--r--src/gui/text/qtextengine_p.h4
-rw-r--r--src/gui/text/qtextformat.cpp7
-rw-r--r--src/gui/text/qtextlayout.cpp13
-rw-r--r--src/gui/text/qtextlist.cpp2
-rw-r--r--src/gui/text/qtextobject.cpp43
-rw-r--r--src/gui/text/qtextobject.h2
-rw-r--r--src/gui/text/qtextoption.cpp12
-rw-r--r--src/gui/text/qtextoption.h6
-rw-r--r--src/gui/text/text.pri3
-rw-r--r--src/gui/util/qcompleter.cpp40
-rw-r--r--src/gui/util/qsystemtrayicon.cpp5
-rw-r--r--src/gui/util/qsystemtrayicon_mac.mm42
-rw-r--r--src/gui/util/qsystemtrayicon_p.h2
-rw-r--r--src/gui/util/qsystemtrayicon_qws.cpp5
-rw-r--r--src/gui/util/qsystemtrayicon_win.cpp216
-rw-r--r--src/gui/util/qsystemtrayicon_wince.cpp293
-rw-r--r--src/gui/util/qsystemtrayicon_x11.cpp5
-rw-r--r--src/gui/util/util.pri5
-rw-r--r--src/gui/widgets/qabstractscrollarea.cpp8
-rw-r--r--src/gui/widgets/qabstractslider.cpp8
-rw-r--r--src/gui/widgets/qcocoatoolbardelegate_mac.mm2
-rw-r--r--src/gui/widgets/qcocoatoolbardelegate_mac_p.h2
-rw-r--r--src/gui/widgets/qcombobox.cpp8
-rw-r--r--src/gui/widgets/qcommandlinkbutton.cpp3
-rw-r--r--src/gui/widgets/qdockarealayout.cpp46
-rw-r--r--src/gui/widgets/qdockarealayout_p.h4
-rw-r--r--src/gui/widgets/qdockwidget.cpp9
-rw-r--r--src/gui/widgets/qlinecontrol_p.h11
-rw-r--r--src/gui/widgets/qlineedit.cpp5
-rw-r--r--src/gui/widgets/qmainwindowlayout_mac.mm2
-rw-r--r--src/gui/widgets/qmenu.cpp12
-rw-r--r--src/gui/widgets/qmenu.h2
-rw-r--r--src/gui/widgets/qmenu_p.h2
-rw-r--r--src/gui/widgets/qmenu_wince.cpp155
-rw-r--r--src/gui/widgets/qmenubar.cpp2
-rw-r--r--src/gui/widgets/qmenubar.h2
-rw-r--r--src/gui/widgets/qplaintextedit.cpp2
-rw-r--r--src/gui/widgets/qprogressbar.h6
-rw-r--r--src/gui/widgets/qpushbutton.cpp35
-rw-r--r--src/gui/widgets/qpushbutton.h3
-rw-r--r--src/gui/widgets/qpushbutton_p.h3
-rw-r--r--src/gui/widgets/qslider.cpp2
-rw-r--r--src/gui/widgets/qstackedwidget.cpp8
-rw-r--r--src/imports/folderlistmodel/folderlistmodel.pro26
-rw-r--r--src/imports/folderlistmodel/plugin.cpp70
-rw-r--r--src/imports/folderlistmodel/qdeclarativefolderlistmodel.cpp403
-rw-r--r--src/imports/folderlistmodel/qdeclarativefolderlistmodel.h159
-rw-r--r--src/imports/folderlistmodel/qmldir1
-rw-r--r--src/imports/gestures/gestures.pro4
-rw-r--r--src/imports/gestures/plugin.cpp5
-rw-r--r--src/imports/gestures/qdeclarativegesturearea.cpp8
-rw-r--r--src/imports/gestures/qdeclarativegesturearea_p.h4
-rw-r--r--src/imports/gestures/qmldir2
-rw-r--r--src/imports/imports.pro3
-rw-r--r--src/imports/multimedia/multimedia.cpp73
-rw-r--r--src/imports/multimedia/multimedia.pro36
-rw-r--r--src/imports/multimedia/qdeclarativeaudio.cpp357
-rw-r--r--src/imports/multimedia/qdeclarativeaudio_p.h176
-rw-r--r--src/imports/multimedia/qdeclarativemediabase.cpp528
-rw-r--r--src/imports/multimedia/qdeclarativemediabase_p.h181
-rw-r--r--src/imports/multimedia/qdeclarativevideo.cpp976
-rw-r--r--src/imports/multimedia/qdeclarativevideo_p.h207
-rw-r--r--src/imports/multimedia/qmetadatacontrolmetaobject.cpp362
-rw-r--r--src/imports/multimedia/qmetadatacontrolmetaobject_p.h92
-rw-r--r--src/imports/multimedia/qmldir1
-rw-r--r--src/imports/particles/particles.cpp2
-rw-r--r--src/imports/particles/particles.pro4
-rw-r--r--src/imports/particles/qdeclarativeparticles.cpp26
-rw-r--r--src/imports/particles/qmldir2
-rw-r--r--src/imports/qimportbase.pri3
-rw-r--r--src/imports/webkit/plugin.cpp2
-rw-r--r--src/imports/webkit/qdeclarativewebview.cpp301
-rw-r--r--src/imports/webkit/qdeclarativewebview_p.h36
-rw-r--r--src/imports/webkit/qmldir2
-rw-r--r--src/imports/webkit/webkit.pro4
-rw-r--r--src/imports/widgets/graphicslayouts.cpp366
-rw-r--r--src/imports/widgets/graphicslayouts_p.h303
-rw-r--r--src/imports/widgets/qmldir1
-rw-r--r--src/imports/widgets/widgets.cpp71
-rw-r--r--src/imports/widgets/widgets.pro30
-rw-r--r--src/multimedia/audio/audio.pri (renamed from src/multimedia/multimedia/audio/audio.pri)0
-rw-r--r--src/multimedia/audio/qaudio.cpp (renamed from src/multimedia/multimedia/audio/qaudio.cpp)0
-rw-r--r--src/multimedia/audio/qaudio.h (renamed from src/multimedia/multimedia/audio/qaudio.h)0
-rw-r--r--src/multimedia/audio/qaudio_mac.cpp (renamed from src/multimedia/multimedia/audio/qaudio_mac.cpp)0
-rw-r--r--src/multimedia/audio/qaudio_mac_p.h (renamed from src/multimedia/multimedia/audio/qaudio_mac_p.h)0
-rw-r--r--src/multimedia/audio/qaudio_symbian_p.cpp624
-rw-r--r--src/multimedia/audio/qaudio_symbian_p.h189
-rw-r--r--src/multimedia/audio/qaudiodevicefactory.cpp (renamed from src/multimedia/multimedia/audio/qaudiodevicefactory.cpp)0
-rw-r--r--src/multimedia/audio/qaudiodevicefactory_p.h (renamed from src/multimedia/multimedia/audio/qaudiodevicefactory_p.h)0
-rw-r--r--src/multimedia/audio/qaudiodeviceinfo.cpp460
-rw-r--r--src/multimedia/audio/qaudiodeviceinfo.h (renamed from src/multimedia/multimedia/audio/qaudiodeviceinfo.h)0
-rw-r--r--src/multimedia/audio/qaudiodeviceinfo_alsa_p.cpp (renamed from src/multimedia/multimedia/audio/qaudiodeviceinfo_alsa_p.cpp)0
-rw-r--r--src/multimedia/audio/qaudiodeviceinfo_alsa_p.h (renamed from src/multimedia/multimedia/audio/qaudiodeviceinfo_alsa_p.h)0
-rw-r--r--src/multimedia/audio/qaudiodeviceinfo_mac_p.cpp (renamed from src/multimedia/multimedia/audio/qaudiodeviceinfo_mac_p.cpp)0
-rw-r--r--src/multimedia/audio/qaudiodeviceinfo_mac_p.h (renamed from src/multimedia/multimedia/audio/qaudiodeviceinfo_mac_p.h)0
-rw-r--r--src/multimedia/audio/qaudiodeviceinfo_symbian_p.cpp240
-rw-r--r--src/multimedia/audio/qaudiodeviceinfo_symbian_p.h121
-rw-r--r--src/multimedia/audio/qaudiodeviceinfo_win32_p.cpp (renamed from src/multimedia/multimedia/audio/qaudiodeviceinfo_win32_p.cpp)0
-rw-r--r--src/multimedia/audio/qaudiodeviceinfo_win32_p.h (renamed from src/multimedia/multimedia/audio/qaudiodeviceinfo_win32_p.h)0
-rw-r--r--src/multimedia/audio/qaudioengine.cpp (renamed from src/multimedia/multimedia/audio/qaudioengine.cpp)0
-rw-r--r--src/multimedia/audio/qaudioengine.h (renamed from src/multimedia/multimedia/audio/qaudioengine.h)0
-rw-r--r--src/multimedia/audio/qaudioengineplugin.cpp (renamed from src/multimedia/multimedia/audio/qaudioengineplugin.cpp)0
-rw-r--r--src/multimedia/audio/qaudioengineplugin.h (renamed from src/multimedia/multimedia/audio/qaudioengineplugin.h)0
-rw-r--r--src/multimedia/audio/qaudioformat.cpp (renamed from src/multimedia/multimedia/audio/qaudioformat.cpp)0
-rw-r--r--src/multimedia/audio/qaudioformat.h (renamed from src/multimedia/multimedia/audio/qaudioformat.h)0
-rw-r--r--src/multimedia/audio/qaudioinput.cpp (renamed from src/multimedia/multimedia/audio/qaudioinput.cpp)0
-rw-r--r--src/multimedia/audio/qaudioinput.h (renamed from src/multimedia/multimedia/audio/qaudioinput.h)0
-rw-r--r--src/multimedia/audio/qaudioinput_alsa_p.cpp (renamed from src/multimedia/multimedia/audio/qaudioinput_alsa_p.cpp)0
-rw-r--r--src/multimedia/audio/qaudioinput_alsa_p.h (renamed from src/multimedia/multimedia/audio/qaudioinput_alsa_p.h)0
-rw-r--r--src/multimedia/audio/qaudioinput_mac_p.cpp (renamed from src/multimedia/multimedia/audio/qaudioinput_mac_p.cpp)0
-rw-r--r--src/multimedia/audio/qaudioinput_mac_p.h (renamed from src/multimedia/multimedia/audio/qaudioinput_mac_p.h)0
-rw-r--r--src/multimedia/audio/qaudioinput_symbian_p.cpp551
-rw-r--r--src/multimedia/audio/qaudioinput_symbian_p.h174
-rw-r--r--src/multimedia/audio/qaudioinput_win32_p.cpp (renamed from src/multimedia/multimedia/audio/qaudioinput_win32_p.cpp)0
-rw-r--r--src/multimedia/audio/qaudioinput_win32_p.h (renamed from src/multimedia/multimedia/audio/qaudioinput_win32_p.h)0
-rw-r--r--src/multimedia/audio/qaudiooutput.cpp430
-rw-r--r--src/multimedia/audio/qaudiooutput.h (renamed from src/multimedia/multimedia/audio/qaudiooutput.h)0
-rw-r--r--src/multimedia/audio/qaudiooutput_alsa_p.cpp (renamed from src/multimedia/multimedia/audio/qaudiooutput_alsa_p.cpp)0
-rw-r--r--src/multimedia/audio/qaudiooutput_alsa_p.h (renamed from src/multimedia/multimedia/audio/qaudiooutput_alsa_p.h)0
-rw-r--r--src/multimedia/audio/qaudiooutput_mac_p.cpp (renamed from src/multimedia/multimedia/audio/qaudiooutput_mac_p.cpp)0
-rw-r--r--src/multimedia/audio/qaudiooutput_mac_p.h (renamed from src/multimedia/multimedia/audio/qaudiooutput_mac_p.h)0
-rw-r--r--src/multimedia/audio/qaudiooutput_symbian_p.cpp646
-rw-r--r--src/multimedia/audio/qaudiooutput_symbian_p.h198
-rw-r--r--src/multimedia/audio/qaudiooutput_win32_p.cpp (renamed from src/multimedia/multimedia/audio/qaudiooutput_win32_p.cpp)0
-rw-r--r--src/multimedia/audio/qaudiooutput_win32_p.h (renamed from src/multimedia/multimedia/audio/qaudiooutput_win32_p.h)0
-rw-r--r--src/multimedia/mediaservices/base/base.pri69
-rw-r--r--src/multimedia/mediaservices/base/qgraphicsvideoitem.cpp442
-rw-r--r--src/multimedia/mediaservices/base/qgraphicsvideoitem.h115
-rw-r--r--src/multimedia/mediaservices/base/qlocalmediaplaylistprovider.cpp196
-rw-r--r--src/multimedia/mediaservices/base/qlocalmediaplaylistprovider.h87
-rw-r--r--src/multimedia/mediaservices/base/qmediacontent.cpp242
-rw-r--r--src/multimedia/mediaservices/base/qmediacontent.h93
-rw-r--r--src/multimedia/mediaservices/base/qmediacontrol.cpp140
-rw-r--r--src/multimedia/mediaservices/base/qmediacontrol.h82
-rw-r--r--src/multimedia/mediaservices/base/qmediacontrol_p.h74
-rw-r--r--src/multimedia/mediaservices/base/qmediaobject.cpp419
-rw-r--r--src/multimedia/mediaservices/base/qmediaobject.h121
-rw-r--r--src/multimedia/mediaservices/base/qmediaobject_p.h95
-rw-r--r--src/multimedia/mediaservices/base/qmediaplaylist.cpp724
-rw-r--r--src/multimedia/mediaservices/base/qmediaplaylist.h147
-rw-r--r--src/multimedia/mediaservices/base/qmediaplaylist_p.h172
-rw-r--r--src/multimedia/mediaservices/base/qmediaplaylistcontrol.cpp204
-rw-r--r--src/multimedia/mediaservices/base/qmediaplaylistcontrol.h97
-rw-r--r--src/multimedia/mediaservices/base/qmediaplaylistioplugin.cpp192
-rw-r--r--src/multimedia/mediaservices/base/qmediaplaylistioplugin.h126
-rw-r--r--src/multimedia/mediaservices/base/qmediaplaylistnavigator.cpp545
-rw-r--r--src/multimedia/mediaservices/base/qmediaplaylistnavigator.h116
-rw-r--r--src/multimedia/mediaservices/base/qmediaplaylistprovider.cpp308
-rw-r--r--src/multimedia/mediaservices/base/qmediaplaylistprovider.h114
-rw-r--r--src/multimedia/mediaservices/base/qmediaplaylistprovider_p.h75
-rw-r--r--src/multimedia/mediaservices/base/qmediapluginloader.cpp139
-rw-r--r--src/multimedia/mediaservices/base/qmediapluginloader_p.h92
-rw-r--r--src/multimedia/mediaservices/base/qmediaresource.cpp399
-rw-r--r--src/multimedia/mediaservices/base/qmediaresource.h134
-rw-r--r--src/multimedia/mediaservices/base/qmediaservice.cpp140
-rw-r--r--src/multimedia/mediaservices/base/qmediaservice.h90
-rw-r--r--src/multimedia/mediaservices/base/qmediaservice_p.h75
-rw-r--r--src/multimedia/mediaservices/base/qmediaserviceprovider.cpp738
-rw-r--r--src/multimedia/mediaservices/base/qmediaserviceprovider.h174
-rw-r--r--src/multimedia/mediaservices/base/qmediaserviceproviderplugin.h125
-rw-r--r--src/multimedia/mediaservices/base/qmediatimerange.cpp708
-rw-r--r--src/multimedia/mediaservices/base/qmediatimerange.h135
-rw-r--r--src/multimedia/mediaservices/base/qmetadatacontrol.cpp185
-rw-r--r--src/multimedia/mediaservices/base/qmetadatacontrol.h92
-rw-r--r--src/multimedia/mediaservices/base/qpaintervideosurface.cpp1565
-rw-r--r--src/multimedia/mediaservices/base/qpaintervideosurface_mac.mm283
-rw-r--r--src/multimedia/mediaservices/base/qpaintervideosurface_mac_p.h100
-rw-r--r--src/multimedia/mediaservices/base/qpaintervideosurface_p.h178
-rw-r--r--src/multimedia/mediaservices/base/qtmedianamespace.h194
-rw-r--r--src/multimedia/mediaservices/base/qtmedianamespace.qdoc214
-rw-r--r--src/multimedia/mediaservices/base/qvideodevicecontrol.cpp155
-rw-r--r--src/multimedia/mediaservices/base/qvideodevicecontrol.h90
-rw-r--r--src/multimedia/mediaservices/base/qvideooutputcontrol.cpp135
-rw-r--r--src/multimedia/mediaservices/base/qvideooutputcontrol.h91
-rw-r--r--src/multimedia/mediaservices/base/qvideorenderercontrol.cpp124
-rw-r--r--src/multimedia/mediaservices/base/qvideorenderercontrol.h77
-rw-r--r--src/multimedia/mediaservices/base/qvideowidget.cpp944
-rw-r--r--src/multimedia/mediaservices/base/qvideowidget.h131
-rw-r--r--src/multimedia/mediaservices/base/qvideowidget_p.h271
-rw-r--r--src/multimedia/mediaservices/base/qvideowidgetcontrol.cpp235
-rw-r--r--src/multimedia/mediaservices/base/qvideowidgetcontrol.h105
-rw-r--r--src/multimedia/mediaservices/base/qvideowindowcontrol.cpp275
-rw-r--r--src/multimedia/mediaservices/base/qvideowindowcontrol.h111
-rw-r--r--src/multimedia/mediaservices/effects/effects.pri26
-rw-r--r--src/multimedia/mediaservices/effects/qsoundeffect.cpp209
-rw-r--r--src/multimedia/mediaservices/effects/qsoundeffect_p.h109
-rw-r--r--src/multimedia/mediaservices/effects/qsoundeffect_pulse_p.cpp499
-rw-r--r--src/multimedia/mediaservices/effects/qsoundeffect_pulse_p.h137
-rw-r--r--src/multimedia/mediaservices/effects/qsoundeffect_qmedia_p.cpp132
-rw-r--r--src/multimedia/mediaservices/effects/qsoundeffect_qmedia_p.h103
-rw-r--r--src/multimedia/mediaservices/effects/qsoundeffect_qsound_p.cpp131
-rw-r--r--src/multimedia/mediaservices/effects/qsoundeffect_qsound_p.h102
-rw-r--r--src/multimedia/mediaservices/effects/wavedecoder_p.cpp151
-rw-r--r--src/multimedia/mediaservices/effects/wavedecoder_p.h133
-rw-r--r--src/multimedia/mediaservices/mediaservices.pro21
-rw-r--r--src/multimedia/mediaservices/playback/playback.pri11
-rw-r--r--src/multimedia/mediaservices/playback/qmediaplayer.cpp996
-rw-r--r--src/multimedia/mediaservices/playback/qmediaplayer.h203
-rw-r--r--src/multimedia/mediaservices/playback/qmediaplayercontrol.cpp378
-rw-r--r--src/multimedia/mediaservices/playback/qmediaplayercontrol.h131
-rw-r--r--src/multimedia/multimedia.pro18
-rw-r--r--src/multimedia/multimedia/audio/qaudio_symbian_p.cpp395
-rw-r--r--src/multimedia/multimedia/audio/qaudio_symbian_p.h156
-rw-r--r--src/multimedia/multimedia/audio/qaudiodeviceinfo.cpp400
-rw-r--r--src/multimedia/multimedia/audio/qaudiodeviceinfo_symbian_p.cpp200
-rw-r--r--src/multimedia/multimedia/audio/qaudiodeviceinfo_symbian_p.h107
-rw-r--r--src/multimedia/multimedia/audio/qaudioinput_symbian_p.cpp594
-rw-r--r--src/multimedia/multimedia/audio/qaudioinput_symbian_p.h188
-rw-r--r--src/multimedia/multimedia/audio/qaudiooutput.cpp411
-rw-r--r--src/multimedia/multimedia/audio/qaudiooutput_symbian_p.cpp697
-rw-r--r--src/multimedia/multimedia/audio/qaudiooutput_symbian_p.h210
-rw-r--r--src/multimedia/multimedia/multimedia.pro19
-rw-r--r--src/multimedia/video/qabstractvideobuffer.cpp (renamed from src/multimedia/multimedia/video/qabstractvideobuffer.cpp)0
-rw-r--r--src/multimedia/video/qabstractvideobuffer.h (renamed from src/multimedia/multimedia/video/qabstractvideobuffer.h)0
-rw-r--r--src/multimedia/video/qabstractvideobuffer_p.h (renamed from src/multimedia/multimedia/video/qabstractvideobuffer_p.h)0
-rw-r--r--src/multimedia/video/qabstractvideosurface.cpp (renamed from src/multimedia/multimedia/video/qabstractvideosurface.cpp)0
-rw-r--r--src/multimedia/video/qabstractvideosurface.h (renamed from src/multimedia/multimedia/video/qabstractvideosurface.h)0
-rw-r--r--src/multimedia/video/qabstractvideosurface_p.h (renamed from src/multimedia/multimedia/video/qabstractvideosurface_p.h)0
-rw-r--r--src/multimedia/video/qimagevideobuffer.cpp (renamed from src/multimedia/multimedia/video/qimagevideobuffer.cpp)0
-rw-r--r--src/multimedia/video/qimagevideobuffer_p.h (renamed from src/multimedia/multimedia/video/qimagevideobuffer_p.h)0
-rw-r--r--src/multimedia/video/qmemoryvideobuffer.cpp (renamed from src/multimedia/multimedia/video/qmemoryvideobuffer.cpp)0
-rw-r--r--src/multimedia/video/qmemoryvideobuffer_p.h (renamed from src/multimedia/multimedia/video/qmemoryvideobuffer_p.h)0
-rw-r--r--src/multimedia/video/qvideoframe.cpp (renamed from src/multimedia/multimedia/video/qvideoframe.cpp)0
-rw-r--r--src/multimedia/video/qvideoframe.h (renamed from src/multimedia/multimedia/video/qvideoframe.h)0
-rw-r--r--src/multimedia/video/qvideosurfaceformat.cpp (renamed from src/multimedia/multimedia/video/qvideosurfaceformat.cpp)0
-rw-r--r--src/multimedia/video/qvideosurfaceformat.h (renamed from src/multimedia/multimedia/video/qvideosurfaceformat.h)0
-rw-r--r--src/multimedia/video/video.pri (renamed from src/multimedia/multimedia/video/video.pri)0
-rw-r--r--src/network/access/access.pri7
-rw-r--r--src/network/access/qabstractnetworkcache.cpp4
-rw-r--r--src/network/access/qhttpnetworkconnection.cpp39
-rw-r--r--src/network/access/qhttpnetworkconnection_p.h2
-rw-r--r--src/network/access/qhttpnetworkconnectionchannel.cpp10
-rw-r--r--src/network/access/qhttpnetworkconnectionchannel_p.h2
-rw-r--r--src/network/access/qhttpnetworkreply.cpp3
-rw-r--r--src/network/access/qhttpnetworkrequest.cpp13
-rw-r--r--src/network/access/qhttpnetworkrequest_p.h4
-rw-r--r--src/network/access/qnetworkaccessbackend.cpp7
-rw-r--r--src/network/access/qnetworkaccessbackend_p.h1
-rw-r--r--src/network/access/qnetworkaccesshttpbackend.cpp13
-rw-r--r--src/network/access/qnetworkaccesshttpbackend_p.h3
-rw-r--r--src/network/access/qnetworkaccessmanager.cpp70
-rw-r--r--src/network/access/qnetworkcookie.cpp2
-rw-r--r--src/network/access/qnetworkreplyimpl.cpp8
-rw-r--r--src/network/access/qnetworkrequest.cpp52
-rw-r--r--src/network/access/qnetworkrequest.h7
-rw-r--r--src/network/bearer/qnetworkconfigmanager_p.cpp6
-rw-r--r--src/network/kernel/qhostaddress.cpp4
-rw-r--r--src/network/kernel/qhostinfo.cpp33
-rw-r--r--src/network/kernel/qhostinfo_p.h4
-rw-r--r--src/network/kernel/qhostinfo_unix.cpp1
-rw-r--r--src/network/kernel/qhostinfo_win.cpp1
-rw-r--r--src/network/kernel/qnetworkproxy.cpp32
-rw-r--r--src/network/network.qrc5
-rw-r--r--src/network/socket/qlocalserver_p.h1
-rw-r--r--src/network/socket/qlocalserver_win.cpp6
-rw-r--r--src/network/socket/qlocalsocket_p.h2
-rw-r--r--src/network/socket/qlocalsocket_win.cpp38
-rw-r--r--src/network/socket/qnativesocketengine_unix.cpp13
-rw-r--r--src/network/socket/qtcpserver.cpp18
-rw-r--r--src/network/socket/qtcpserver.h1
-rw-r--r--src/network/ssl/qsslcertificate.cpp32
-rw-r--r--src/network/ssl/qsslsocket.cpp8
-rw-r--r--src/network/ssl/qsslsocket_openssl.cpp126
-rw-r--r--src/network/ssl/qsslsocket_p.h28
-rw-r--r--src/network/ssl/qt-ca-bundle.crt1984
-rw-r--r--src/network/ssl/ssl.pri3
-rw-r--r--src/opengl/gl2paintengineex/qgl2pexvertexarray_p.h4
-rw-r--r--src/opengl/gl2paintengineex/qglengineshadermanager.cpp10
-rw-r--r--src/opengl/gl2paintengineex/qglengineshadersource_p.h1
-rw-r--r--src/opengl/gl2paintengineex/qpaintengineex_opengl2.cpp35
-rw-r--r--src/opengl/gl2paintengineex/qpaintengineex_opengl2_p.h4
-rw-r--r--src/opengl/gl2paintengineex/qtextureglyphcache_gl.cpp87
-rw-r--r--src/opengl/gl2paintengineex/qtextureglyphcache_gl_p.h2
-rw-r--r--src/opengl/gl2paintengineex/qtriangulatingstroker.cpp5
-rw-r--r--src/opengl/gl2paintengineex/qtriangulatingstroker_p.h1
-rw-r--r--src/opengl/gl2paintengineex/qtriangulator.cpp12
-rw-r--r--src/opengl/opengl.pro1
-rw-r--r--src/opengl/qgl.cpp154
-rw-r--r--src/opengl/qgl.h5
-rw-r--r--src/opengl/qgl_egl.cpp21
-rw-r--r--src/opengl/qgl_p.h54
-rw-r--r--src/opengl/qgl_x11.cpp376
-rw-r--r--src/opengl/qglbuffer.cpp92
-rw-r--r--src/opengl/qglbuffer.h9
-rw-r--r--src/opengl/qglframebufferobject.cpp30
-rw-r--r--src/opengl/qglframebufferobject.h2
-rw-r--r--src/opengl/qglpaintdevice.cpp5
-rw-r--r--src/opengl/qglpixmapfilter.cpp9
-rw-r--r--src/opengl/qpaintengine_opengl.cpp12
-rw-r--r--src/openvg/qpaintengine_vg.cpp132
-rw-r--r--src/plugins/bearer/corewlan/qcorewlanengine.h6
-rw-r--r--src/plugins/bearer/corewlan/qcorewlanengine.mm127
-rw-r--r--src/plugins/bearer/nativewifi/qnativewifiengine.cpp91
-rw-r--r--src/plugins/bearer/nativewifi/qnativewifiengine.h5
-rw-r--r--src/plugins/bearer/symbian/3_1/3_1.pro5
-rw-r--r--src/plugins/bearer/symbian/3_2/3_2.pro13
-rw-r--r--src/plugins/bearer/symbian/qnetworksession_impl.cpp469
-rw-r--r--src/plugins/bearer/symbian/qnetworksession_impl.h17
-rw-r--r--src/plugins/bearer/symbian/symbian.pri28
-rw-r--r--src/plugins/bearer/symbian/symbian.pro41
-rw-r--r--src/plugins/bearer/symbian/symbian_3/symbian_3.pro16
-rw-r--r--src/plugins/bearer/symbian/symbianengine.cpp490
-rw-r--r--src/plugins/bearer/symbian/symbianengine.h51
-rw-r--r--src/plugins/gfxdrivers/directfb/qdirectfbpixmap.cpp25
-rw-r--r--src/plugins/gfxdrivers/directfb/qdirectfbpixmap.h2
-rw-r--r--src/plugins/imageformats/gif/qgifhandler.cpp27
-rw-r--r--src/plugins/imageformats/jpeg/jpeg.pro7
-rw-r--r--src/plugins/imageformats/jpeg/qjpeghandler.cpp10
-rw-r--r--src/plugins/imageformats/mng/mng.pro16
-rw-r--r--src/plugins/imageformats/mng/qmnghandler.cpp9
-rw-r--r--src/plugins/imageformats/svg/qsvgiohandler.cpp10
-rw-r--r--src/plugins/imageformats/tiff/tiff.pro21
-rw-r--r--src/plugins/mediaservices/directshow/directshow.pro14
-rw-r--r--src/plugins/mediaservices/directshow/dsserviceplugin.cpp188
-rw-r--r--src/plugins/mediaservices/directshow/dsserviceplugin.h77
-rw-r--r--src/plugins/mediaservices/directshow/mediaplayer/directshowaudioendpointcontrol.cpp166
-rw-r--r--src/plugins/mediaservices/directshow/mediaplayer/directshowaudioendpointcontrol.h90
-rw-r--r--src/plugins/mediaservices/directshow/mediaplayer/directshoweventloop.cpp161
-rw-r--r--src/plugins/mediaservices/directshow/mediaplayer/directshoweventloop.h83
-rw-r--r--src/plugins/mediaservices/directshow/mediaplayer/directshowglobal.h147
-rw-r--r--src/plugins/mediaservices/directshow/mediaplayer/directshowioreader.cpp501
-rw-r--r--src/plugins/mediaservices/directshow/mediaplayer/directshowioreader.h126
-rw-r--r--src/plugins/mediaservices/directshow/mediaplayer/directshowiosource.cpp639
-rw-r--r--src/plugins/mediaservices/directshow/mediaplayer/directshowiosource.h157
-rw-r--r--src/plugins/mediaservices/directshow/mediaplayer/directshowmediatype.cpp205
-rw-r--r--src/plugins/mediaservices/directshow/mediaplayer/directshowmediatype.h85
-rw-r--r--src/plugins/mediaservices/directshow/mediaplayer/directshowmediatypelist.cpp229
-rw-r--r--src/plugins/mediaservices/directshow/mediaplayer/directshowmediatypelist.h78
-rw-r--r--src/plugins/mediaservices/directshow/mediaplayer/directshowmetadatacontrol.cpp370
-rw-r--r--src/plugins/mediaservices/directshow/mediaplayer/directshowmetadatacontrol.h104
-rw-r--r--src/plugins/mediaservices/directshow/mediaplayer/directshowpinenum.cpp140
-rw-r--r--src/plugins/mediaservices/directshow/mediaplayer/directshowpinenum.h81
-rw-r--r--src/plugins/mediaservices/directshow/mediaplayer/directshowplayercontrol.cpp395
-rw-r--r--src/plugins/mediaservices/directshow/mediaplayer/directshowplayercontrol.h153
-rw-r--r--src/plugins/mediaservices/directshow/mediaplayer/directshowplayerservice.cpp1410
-rw-r--r--src/plugins/mediaservices/directshow/mediaplayer/directshowplayerservice.h220
-rw-r--r--src/plugins/mediaservices/directshow/mediaplayer/directshowsamplescheduler.cpp403
-rw-r--r--src/plugins/mediaservices/directshow/mediaplayer/directshowsamplescheduler.h126
-rw-r--r--src/plugins/mediaservices/directshow/mediaplayer/directshowvideooutputcontrol.cpp87
-rw-r--r--src/plugins/mediaservices/directshow/mediaplayer/directshowvideooutputcontrol.h75
-rw-r--r--src/plugins/mediaservices/directshow/mediaplayer/directshowvideorenderercontrol.cpp93
-rw-r--r--src/plugins/mediaservices/directshow/mediaplayer/directshowvideorenderercontrol.h82
-rw-r--r--src/plugins/mediaservices/directshow/mediaplayer/mediaplayer.pri45
-rw-r--r--src/plugins/mediaservices/directshow/mediaplayer/mediasamplevideobuffer.cpp91
-rw-r--r--src/plugins/mediaservices/directshow/mediaplayer/mediasamplevideobuffer.h77
-rw-r--r--src/plugins/mediaservices/directshow/mediaplayer/videosurfacefilter.cpp633
-rw-r--r--src/plugins/mediaservices/directshow/mediaplayer/videosurfacefilter.h180
-rw-r--r--src/plugins/mediaservices/directshow/mediaplayer/vmr9videowindowcontrol.cpp317
-rw-r--r--src/plugins/mediaservices/directshow/mediaplayer/vmr9videowindowcontrol.h116
-rw-r--r--src/plugins/mediaservices/gstreamer/gstreamer.pro59
-rw-r--r--src/plugins/mediaservices/gstreamer/mediaplayer/mediaplayer.pri17
-rw-r--r--src/plugins/mediaservices/gstreamer/mediaplayer/qgstreamermetadataprovider.cpp209
-rw-r--r--src/plugins/mediaservices/gstreamer/mediaplayer/qgstreamermetadataprovider.h83
-rw-r--r--src/plugins/mediaservices/gstreamer/mediaplayer/qgstreamerplayercontrol.cpp501
-rw-r--r--src/plugins/mediaservices/gstreamer/mediaplayer/qgstreamerplayercontrol.h138
-rw-r--r--src/plugins/mediaservices/gstreamer/mediaplayer/qgstreamerplayerservice.cpp149
-rw-r--r--src/plugins/mediaservices/gstreamer/mediaplayer/qgstreamerplayerservice.h101
-rw-r--r--src/plugins/mediaservices/gstreamer/mediaplayer/qgstreamerplayersession.cpp924
-rw-r--r--src/plugins/mediaservices/gstreamer/mediaplayer/qgstreamerplayersession.h176
-rw-r--r--src/plugins/mediaservices/gstreamer/qgstreamerbushelper.cpp206
-rw-r--r--src/plugins/mediaservices/gstreamer/qgstreamerbushelper.h87
-rw-r--r--src/plugins/mediaservices/gstreamer/qgstreamermessage.cpp97
-rw-r--r--src/plugins/mediaservices/gstreamer/qgstreamermessage.h76
-rw-r--r--src/plugins/mediaservices/gstreamer/qgstreamerserviceplugin.cpp192
-rw-r--r--src/plugins/mediaservices/gstreamer/qgstreamerserviceplugin.h76
-rw-r--r--src/plugins/mediaservices/gstreamer/qgstreamervideoinputdevicecontrol.cpp165
-rw-r--r--src/plugins/mediaservices/gstreamer/qgstreamervideoinputdevicecontrol.h85
-rw-r--r--src/plugins/mediaservices/gstreamer/qgstreamervideooutputcontrol.cpp77
-rw-r--r--src/plugins/mediaservices/gstreamer/qgstreamervideooutputcontrol.h86
-rw-r--r--src/plugins/mediaservices/gstreamer/qgstreamervideooverlay.cpp230
-rw-r--r--src/plugins/mediaservices/gstreamer/qgstreamervideooverlay.h114
-rw-r--r--src/plugins/mediaservices/gstreamer/qgstreamervideorenderer.cpp88
-rw-r--r--src/plugins/mediaservices/gstreamer/qgstreamervideorenderer.h78
-rw-r--r--src/plugins/mediaservices/gstreamer/qgstreamervideorendererinterface.cpp52
-rw-r--r--src/plugins/mediaservices/gstreamer/qgstreamervideorendererinterface.h69
-rw-r--r--src/plugins/mediaservices/gstreamer/qgstreamervideowidget.cpp340
-rw-r--r--src/plugins/mediaservices/gstreamer/qgstreamervideowidget.h110
-rw-r--r--src/plugins/mediaservices/gstreamer/qgstvideobuffer.cpp101
-rw-r--r--src/plugins/mediaservices/gstreamer/qgstvideobuffer.h80
-rw-r--r--src/plugins/mediaservices/gstreamer/qgstxvimagebuffer.cpp282
-rw-r--r--src/plugins/mediaservices/gstreamer/qgstxvimagebuffer.h131
-rw-r--r--src/plugins/mediaservices/gstreamer/qvideosurfacegstsink.cpp713
-rw-r--r--src/plugins/mediaservices/gstreamer/qvideosurfacegstsink.h163
-rw-r--r--src/plugins/mediaservices/gstreamer/qx11videosurface.cpp523
-rw-r--r--src/plugins/mediaservices/gstreamer/qx11videosurface.h120
-rw-r--r--src/plugins/mediaservices/mediaservices.pro13
-rw-r--r--src/plugins/mediaservices/qt7/mediaplayer/mediaplayer.pri18
-rw-r--r--src/plugins/mediaservices/qt7/mediaplayer/qt7playercontrol.h128
-rw-r--r--src/plugins/mediaservices/qt7/mediaplayer/qt7playercontrol.mm193
-rw-r--r--src/plugins/mediaservices/qt7/mediaplayer/qt7playermetadata.h84
-rw-r--r--src/plugins/mediaservices/qt7/mediaplayer/qt7playermetadata.mm274
-rw-r--r--src/plugins/mediaservices/qt7/mediaplayer/qt7playerservice.h90
-rw-r--r--src/plugins/mediaservices/qt7/mediaplayer/qt7playerservice.mm152
-rw-r--r--src/plugins/mediaservices/qt7/mediaplayer/qt7playersession.h151
-rw-r--r--src/plugins/mediaservices/qt7/mediaplayer/qt7playersession.mm552
-rw-r--r--src/plugins/mediaservices/qt7/qcvdisplaylink.h90
-rw-r--r--src/plugins/mediaservices/qt7/qcvdisplaylink.mm158
-rw-r--r--src/plugins/mediaservices/qt7/qt7.pro47
-rw-r--r--src/plugins/mediaservices/qt7/qt7backend.h68
-rw-r--r--src/plugins/mediaservices/qt7/qt7backend.mm60
-rw-r--r--src/plugins/mediaservices/qt7/qt7ciimagevideobuffer.h90
-rw-r--r--src/plugins/mediaservices/qt7/qt7ciimagevideobuffer.mm107
-rw-r--r--src/plugins/mediaservices/qt7/qt7movierenderer.h112
-rw-r--r--src/plugins/mediaservices/qt7/qt7movierenderer.mm465
-rw-r--r--src/plugins/mediaservices/qt7/qt7movievideowidget.h131
-rw-r--r--src/plugins/mediaservices/qt7/qt7movievideowidget.mm425
-rw-r--r--src/plugins/mediaservices/qt7/qt7movieviewoutput.h119
-rw-r--r--src/plugins/mediaservices/qt7/qt7movieviewoutput.mm335
-rw-r--r--src/plugins/mediaservices/qt7/qt7movieviewrenderer.h97
-rw-r--r--src/plugins/mediaservices/qt7/qt7movieviewrenderer.mm366
-rw-r--r--src/plugins/mediaservices/qt7/qt7serviceplugin.h64
-rw-r--r--src/plugins/mediaservices/qt7/qt7serviceplugin.mm78
-rw-r--r--src/plugins/mediaservices/qt7/qt7videooutputcontrol.h135
-rw-r--r--src/plugins/mediaservices/qt7/qt7videooutputcontrol.mm93
-rw-r--r--src/plugins/mediaservices/symbian/mediaplayer/mediaplayer.pri63
-rw-r--r--src/plugins/mediaservices/symbian/mediaplayer/ms60mediaplayerresolver.h58
-rw-r--r--src/plugins/mediaservices/symbian/mediaplayer/s60audioplayersession.cpp275
-rw-r--r--src/plugins/mediaservices/symbian/mediaplayer/s60audioplayersession.h124
-rw-r--r--src/plugins/mediaservices/symbian/mediaplayer/s60mediametadataprovider.cpp185
-rw-r--r--src/plugins/mediaservices/symbian/mediaplayer/s60mediametadataprovider.h81
-rw-r--r--src/plugins/mediaservices/symbian/mediaplayer/s60mediaplayeraudioendpointselector.cpp127
-rw-r--r--src/plugins/mediaservices/symbian/mediaplayer/s60mediaplayeraudioendpointselector.h81
-rw-r--r--src/plugins/mediaservices/symbian/mediaplayer/s60mediaplayercontrol.cpp274
-rw-r--r--src/plugins/mediaservices/symbian/mediaplayer/s60mediaplayercontrol.h143
-rw-r--r--src/plugins/mediaservices/symbian/mediaplayer/s60mediaplayerservice.cpp259
-rw-r--r--src/plugins/mediaservices/symbian/mediaplayer/s60mediaplayerservice.h105
-rw-r--r--src/plugins/mediaservices/symbian/mediaplayer/s60mediaplayersession.cpp496
-rw-r--r--src/plugins/mediaservices/symbian/mediaplayer/s60mediaplayersession.h167
-rw-r--r--src/plugins/mediaservices/symbian/mediaplayer/s60mediarecognizer.cpp127
-rw-r--r--src/plugins/mediaservices/symbian/mediaplayer/s60mediarecognizer.h83
-rw-r--r--src/plugins/mediaservices/symbian/mediaplayer/s60videooverlay.cpp209
-rw-r--r--src/plugins/mediaservices/symbian/mediaplayer/s60videooverlay.h109
-rw-r--r--src/plugins/mediaservices/symbian/mediaplayer/s60videoplayersession.cpp486
-rw-r--r--src/plugins/mediaservices/symbian/mediaplayer/s60videoplayersession.h148
-rw-r--r--src/plugins/mediaservices/symbian/mediaplayer/s60videorenderer.cpp69
-rw-r--r--src/plugins/mediaservices/symbian/mediaplayer/s60videorenderer.h68
-rw-r--r--src/plugins/mediaservices/symbian/mediaplayer/s60videosurface.cpp478
-rw-r--r--src/plugins/mediaservices/symbian/mediaplayer/s60videosurface.h112
-rw-r--r--src/plugins/mediaservices/symbian/mediaplayer/s60videowidget.cpp208
-rw-r--r--src/plugins/mediaservices/symbian/mediaplayer/s60videowidget.h115
-rw-r--r--src/plugins/mediaservices/symbian/s60mediaserviceplugin.cpp100
-rw-r--r--src/plugins/mediaservices/symbian/s60mediaserviceplugin.h64
-rw-r--r--src/plugins/mediaservices/symbian/s60videooutputcontrol.cpp76
-rw-r--r--src/plugins/mediaservices/symbian/s60videooutputcontrol.h72
-rw-r--r--src/plugins/mediaservices/symbian/symbian.pro27
-rw-r--r--src/plugins/plugins.pro2
-rw-r--r--src/plugins/s60/s60pluginbase.pri17
-rw-r--r--src/plugins/sqldrivers/psql/psql.pro4
-rw-r--r--src/qbase.pri3
-rw-r--r--src/s60installs/bwins/QtCoreu.def16
-rw-r--r--src/s60installs/bwins/QtDeclarativeu.def243
-rw-r--r--src/s60installs/bwins/QtGuiu.def509
-rw-r--r--src/s60installs/bwins/QtMediaServicesu.def673
-rw-r--r--src/s60installs/bwins/QtNetworku.def1
-rw-r--r--src/s60installs/bwins/QtOpenVGu.def3
-rw-r--r--src/s60installs/eabi/QtCoreu.def99
-rw-r--r--src/s60installs/eabi/QtDeclarativeu.def254
-rw-r--r--src/s60installs/eabi/QtGuiu.def408
-rw-r--r--src/s60installs/eabi/QtMediaServicesu.def674
-rw-r--r--src/s60installs/eabi/QtNetworku.def345
-rw-r--r--src/s60installs/eabi/QtOpenVGu.def10
-rw-r--r--src/s60installs/qsymbianbearer.qtplugin1
-rw-r--r--src/s60installs/qt.iby15
-rw-r--r--src/s60installs/qt.svg106
-rw-r--r--src/s60installs/s60installs.pro111
-rw-r--r--src/script/api/qscriptcontext.cpp1
-rw-r--r--src/script/api/qscriptengine.cpp51
-rw-r--r--src/script/api/qscriptengine_p.h6
-rw-r--r--src/script/api/qscriptvalue.cpp4
-rw-r--r--src/script/parser/qscriptlexer.cpp2
-rw-r--r--src/sql/drivers/drivers.pri20
-rw-r--r--src/sql/drivers/odbc/qsql_odbc.cpp4
-rw-r--r--src/src.pro45
-rw-r--r--src/svg/qgraphicssvgitem.cpp6
-rw-r--r--src/svg/svg.pro6
-rw-r--r--src/testlib/qbenchmark.cpp2
-rw-r--r--src/testlib/qbenchmarkmeasurement.cpp7
-rw-r--r--src/testlib/qbenchmarkmeasurement_p.h1
-rw-r--r--src/tools/bootstrap/bootstrap.pri5
-rw-r--r--src/tools/bootstrap/bootstrap.pro4
-rw-r--r--src/tools/moc/main.cpp7
-rw-r--r--src/tools/tools.pro16
-rw-r--r--src/winmain/winmain.pro4
-rw-r--r--src/xmlpatterns/data/qdecimal_p.h2
-rw-r--r--src/xmlpatterns/schema/qxsdparticlechecker.cpp30
-rw-r--r--src/xmlpatterns/schema/qxsdparticlechecker_p.h7
-rw-r--r--tests/.gitignore6
-rw-r--r--tests/auto/auto.pro1
-rw-r--r--tests/auto/bic/data/Qt3Support.4.5.0.linux-gcc-amd64.txt24426
-rw-r--r--tests/auto/bic/data/Qt3Support.4.6.0.linux-gcc-amd64.txt25521
-rw-r--r--tests/auto/bic/data/QtCore.4.5.0.linux-gcc-amd64.txt2343
-rw-r--r--tests/auto/bic/data/QtCore.4.6.0.linux-gcc-amd64.txt2624
-rw-r--r--tests/auto/bic/data/QtDBus.4.5.0.linux-gcc-amd64.txt2997
-rw-r--r--tests/auto/bic/data/QtDBus.4.6.0.linux-gcc-amd64.txt2894
-rw-r--r--tests/auto/bic/data/QtDesigner.4.5.0.linux-gcc-amd64.txt4460
-rw-r--r--tests/auto/bic/data/QtDesigner.4.6.0.linux-gcc-amd64.txt4741
-rw-r--r--tests/auto/bic/data/QtGui.4.5.0.linux-gcc-amd64.txt15618
-rw-r--r--tests/auto/bic/data/QtGui.4.6.0.linux-gcc-amd64.txt16713
-rw-r--r--tests/auto/bic/data/QtHelp.4.5.0.linux-gcc-amd64.txt6357
-rw-r--r--tests/auto/bic/data/QtHelp.4.6.0.linux-gcc-amd64.txt5492
-rw-r--r--tests/auto/bic/data/QtMultimedia.4.6.0.linux-gcc-amd64.txt17011
-rw-r--r--tests/auto/bic/data/QtNetwork.4.5.0.linux-gcc-amd64.txt3013
-rw-r--r--tests/auto/bic/data/QtNetwork.4.6.0.linux-gcc-amd64.txt3294
-rw-r--r--tests/auto/bic/data/QtOpenGL.4.5.0.linux-gcc-amd64.txt15777
-rw-r--r--tests/auto/bic/data/QtOpenGL.4.6.0.linux-gcc-amd64.txt16928
-rw-r--r--tests/auto/bic/data/QtScript.4.5.0.linux-gcc-amd64.txt2525
-rw-r--r--tests/auto/bic/data/QtScript.4.6.0.linux-gcc-amd64.txt2811
-rw-r--r--tests/auto/bic/data/QtScriptTools.4.5.0.linux-gcc-amd64.txt15825
-rw-r--r--tests/auto/bic/data/QtScriptTools.4.6.0.linux-gcc-amd64.txt16925
-rw-r--r--tests/auto/bic/data/QtSql.4.5.0.linux-gcc-amd64.txt2735
-rw-r--r--tests/auto/bic/data/QtSql.4.6.0.linux-gcc-amd64.txt3016
-rw-r--r--tests/auto/bic/data/QtSvg.4.5.0.linux-gcc-amd64.txt15808
-rw-r--r--tests/auto/bic/data/QtSvg.4.6.0.linux-gcc-amd64.txt16905
-rw-r--r--tests/auto/bic/data/QtTest.4.5.0.linux-gcc-amd64.txt2404
-rw-r--r--tests/auto/bic/data/QtTest.4.6.0.linux-gcc-amd64.txt2812
-rw-r--r--tests/auto/bic/data/QtWebKit.4.5.0.linux-gcc-amd64.txt3607
-rw-r--r--tests/auto/bic/data/QtWebKit.4.6.0.linux-gcc-amd64.txt5837
-rw-r--r--tests/auto/bic/data/QtXml.4.5.0.linux-gcc-amd64.txt2783
-rw-r--r--tests/auto/bic/data/QtXml.4.6.0.linux-gcc-amd64.txt3064
-rw-r--r--tests/auto/bic/data/QtXmlPatterns.4.5.0.linux-gcc-amd64.txt3270
-rw-r--r--tests/auto/bic/data/QtXmlPatterns.4.6.0.linux-gcc-amd64.txt3561
-rw-r--r--tests/auto/bic/data/phonon.4.5.0.linux-gcc-amd64.txt1931
-rw-r--r--tests/auto/bic/data/phonon.4.6.0.linux-gcc-amd64.txt1980
-rw-r--r--tests/auto/bic/tst_bic.cpp2
-rw-r--r--tests/auto/compilerwarnings/tst_compilerwarnings.cpp30
-rw-r--r--tests/auto/dbus.pro1
-rw-r--r--tests/auto/declarative/.gitignore5
-rw-r--r--tests/auto/declarative/declarative.pro138
-rw-r--r--tests/auto/declarative/examples/examples.pro8
-rw-r--r--tests/auto/declarative/examples/tst_examples.cpp31
-rw-r--r--tests/auto/declarative/graphicswidgets/data/graphicswidgets.qml52
-rw-r--r--tests/auto/declarative/graphicswidgets/graphicswidgets.pro10
-rw-r--r--tests/auto/declarative/graphicswidgets/tst_graphicswidgets.cpp74
-rw-r--r--tests/auto/declarative/parserstress/parserstress.pro8
-rw-r--r--tests/auto/declarative/parserstress/tst_parserstress.cpp11
-rw-r--r--tests/auto/declarative/qdeclarativeanchors/data/anchorsqgraphicswidget.qml1
-rw-r--r--tests/auto/declarative/qdeclarativeanchors/data/hvCenter.qml11
-rw-r--r--tests/auto/declarative/qdeclarativeanchors/qdeclarativeanchors.pro8
-rw-r--r--tests/auto/declarative/qdeclarativeanchors/tst_qdeclarativeanchors.cpp72
-rw-r--r--tests/auto/declarative/qdeclarativeanimatedimage/qdeclarativeanimatedimage.pro8
-rw-r--r--tests/auto/declarative/qdeclarativeanimatedimage/tst_qdeclarativeanimatedimage.cpp5
-rw-r--r--tests/auto/declarative/qdeclarativeanimations/qdeclarativeanimations.pro8
-rw-r--r--tests/auto/declarative/qdeclarativeanimations/tst_qdeclarativeanimations.cpp26
-rw-r--r--tests/auto/declarative/qdeclarativebehaviors/data/groupedPropertyCrash.qml10
-rw-r--r--tests/auto/declarative/qdeclarativebehaviors/data/startup2.qml16
-rw-r--r--tests/auto/declarative/qdeclarativebehaviors/qdeclarativebehaviors.pro8
-rw-r--r--tests/auto/declarative/qdeclarativebehaviors/tst_qdeclarativebehaviors.cpp105
-rw-r--r--tests/auto/declarative/qdeclarativebinding/qdeclarativebinding.pro9
-rw-r--r--tests/auto/declarative/qdeclarativebinding/tst_qdeclarativebinding.cpp5
-rw-r--r--tests/auto/declarative/qdeclarativeborderimage/qdeclarativeborderimage.pro9
-rw-r--r--tests/auto/declarative/qdeclarativeborderimage/tst_qdeclarativeborderimage.cpp4
-rw-r--r--tests/auto/declarative/qdeclarativecomponent/data/createObject.qml16
-rw-r--r--tests/auto/declarative/qdeclarativecomponent/qdeclarativecomponent.pro4
-rw-r--r--tests/auto/declarative/qdeclarativecomponent/tst_qdeclarativecomponent.cpp33
-rw-r--r--tests/auto/declarative/qdeclarativeconnection/data/connection-unknownsignals-ignored.qml8
-rw-r--r--tests/auto/declarative/qdeclarativeconnection/data/connection-unknownsignals-notarget.qml7
-rw-r--r--tests/auto/declarative/qdeclarativeconnection/data/connection-unknownsignals-parent.qml7
-rw-r--r--tests/auto/declarative/qdeclarativeconnection/data/connection-unknownsignals.qml7
-rw-r--r--tests/auto/declarative/qdeclarativeconnection/qdeclarativeconnection.pro9
-rw-r--r--tests/auto/declarative/qdeclarativeconnection/tst_qdeclarativeconnection.cpp42
-rw-r--r--tests/auto/declarative/qdeclarativecontext/qdeclarativecontext.pro4
-rw-r--r--tests/auto/declarative/qdeclarativecontext/tst_qdeclarativecontext.cpp7
-rw-r--r--tests/auto/declarative/qdeclarativedom/qdeclarativedom.pro8
-rw-r--r--tests/auto/declarative/qdeclarativedom/tst_qdeclarativedom.cpp9
-rw-r--r--tests/auto/declarative/qdeclarativeecmascript/data/blank.js (renamed from tests/auto/qmediaplaylist/tmp.unsupported_format)0
-rw-r--r--tests/auto/declarative/qdeclarativeecmascript/data/compiled.qml4
-rw-r--r--tests/auto/declarative/qdeclarativeecmascript/data/deletedObject.qml4
-rw-r--r--tests/auto/declarative/qdeclarativeecmascript/data/dynamicCreation.qml4
-rw-r--r--tests/auto/declarative/qdeclarativeecmascript/data/eval.qml23
-rw-r--r--tests/auto/declarative/qdeclarativeecmascript/data/exception.js1
-rw-r--r--tests/auto/declarative/qdeclarativeecmascript/data/function.qml19
-rw-r--r--tests/auto/declarative/qdeclarativeecmascript/data/functionAssignment.1.qml5
-rw-r--r--tests/auto/declarative/qdeclarativeecmascript/data/functionAssignment.2.qml13
-rw-r--r--tests/auto/declarative/qdeclarativeecmascript/data/include.js8
-rw-r--r--tests/auto/declarative/qdeclarativeecmascript/data/include.qml23
-rw-r--r--tests/auto/declarative/qdeclarativeecmascript/data/include_callback.js11
-rw-r--r--tests/auto/declarative/qdeclarativeecmascript/data/include_callback.qml15
-rw-r--r--tests/auto/declarative/qdeclarativeecmascript/data/include_pragma.qml11
-rw-r--r--tests/auto/declarative/qdeclarativeecmascript/data/include_pragma_inner.js5
-rw-r--r--tests/auto/declarative/qdeclarativeecmascript/data/include_pragma_outer.js6
-rw-r--r--tests/auto/declarative/qdeclarativeecmascript/data/include_remote.js26
-rw-r--r--tests/auto/declarative/qdeclarativeecmascript/data/include_remote.qml21
-rw-r--r--tests/auto/declarative/qdeclarativeecmascript/data/include_remote_missing.js13
-rw-r--r--tests/auto/declarative/qdeclarativeecmascript/data/include_remote_missing.qml12
-rw-r--r--tests/auto/declarative/qdeclarativeecmascript/data/include_shared.js12
-rw-r--r--tests/auto/declarative/qdeclarativeecmascript/data/include_shared.qml22
-rw-r--r--tests/auto/declarative/qdeclarativeecmascript/data/js/include2.js4
-rw-r--r--tests/auto/declarative/qdeclarativeecmascript/data/js/include3.js3
-rw-r--r--tests/auto/declarative/qdeclarativeecmascript/data/qtbug_10696.qml26
-rw-r--r--tests/auto/declarative/qdeclarativeecmascript/data/qtcreatorbug_1289.qml13
-rw-r--r--tests/auto/declarative/qdeclarativeecmascript/data/remote_file.js2
-rw-r--r--tests/auto/declarative/qdeclarativeecmascript/data/transientErrors.2.qml14
-rw-r--r--tests/auto/declarative/qdeclarativeecmascript/qdeclarativeecmascript.pro17
-rw-r--r--tests/auto/declarative/qdeclarativeecmascript/testtypes.h2
-rw-r--r--tests/auto/declarative/qdeclarativeecmascript/tst_qdeclarativeecmascript.cpp288
-rw-r--r--tests/auto/declarative/qdeclarativeengine/qdeclarativeengine.pro5
-rw-r--r--tests/auto/declarative/qdeclarativeengine/tst_qdeclarativeengine.cpp7
-rw-r--r--tests/auto/declarative/qdeclarativeerror/qdeclarativeerror.pro4
-rw-r--r--tests/auto/declarative/qdeclarativeerror/tst_qdeclarativeerror.cpp5
-rw-r--r--tests/auto/declarative/qdeclarativeflickable/qdeclarativeflickable.pro9
-rw-r--r--tests/auto/declarative/qdeclarativeflickable/tst_qdeclarativeflickable.cpp33
-rw-r--r--tests/auto/declarative/qdeclarativeflipable/qdeclarativeflipable.pro9
-rw-r--r--tests/auto/declarative/qdeclarativeflipable/tst_qdeclarativeflipable.cpp5
-rw-r--r--tests/auto/declarative/qdeclarativefocusscope/qdeclarativefocusscope.pro8
-rw-r--r--tests/auto/declarative/qdeclarativefocusscope/tst_qdeclarativefocusscope.cpp4
-rw-r--r--tests/auto/declarative/qdeclarativefolderlistmodel/data/basic.qml5
-rw-r--r--tests/auto/declarative/qdeclarativefolderlistmodel/data/dummy.qml1
-rw-r--r--tests/auto/declarative/qdeclarativefolderlistmodel/qdeclarativefolderlistmodel.pro15
-rw-r--r--tests/auto/declarative/qdeclarativefolderlistmodel/tst_qdeclarativefolderlistmodel.cpp120
-rw-r--r--tests/auto/declarative/qdeclarativefontloader/qdeclarativefontloader.pro9
-rw-r--r--tests/auto/declarative/qdeclarativefontloader/tst_qdeclarativefontloader.cpp5
-rw-r--r--tests/auto/declarative/qdeclarativegridview/data/manual-highlight.qml48
-rw-r--r--tests/auto/declarative/qdeclarativegridview/qdeclarativegridview.pro9
-rw-r--r--tests/auto/declarative/qdeclarativegridview/tst_qdeclarativegridview.cpp55
-rw-r--r--tests/auto/declarative/qdeclarativeimage/qdeclarativeimage.pro9
-rw-r--r--tests/auto/declarative/qdeclarativeimage/tst_qdeclarativeimage.cpp6
-rw-r--r--tests/auto/declarative/qdeclarativeimageprovider/qdeclarativeimageprovider.pro9
-rw-r--r--tests/auto/declarative/qdeclarativeimageprovider/tst_qdeclarativeimageprovider.cpp5
-rw-r--r--tests/auto/declarative/qdeclarativeinfo/qdeclarativeinfo.pro8
-rw-r--r--tests/auto/declarative/qdeclarativeinfo/tst_qdeclarativeinfo.cpp5
-rw-r--r--tests/auto/declarative/qdeclarativeinstruction/qdeclarativeinstruction.pro4
-rw-r--r--tests/auto/declarative/qdeclarativeinstruction/tst_qdeclarativeinstruction.cpp6
-rw-r--r--tests/auto/declarative/qdeclarativeitem/data/childrenRect.qml27
-rw-r--r--tests/auto/declarative/qdeclarativeitem/data/childrenRectBug.qml23
-rw-r--r--tests/auto/declarative/qdeclarativeitem/data/keyspriority.qml9
-rw-r--r--tests/auto/declarative/qdeclarativeitem/data/mouseFocus.qml20
-rw-r--r--tests/auto/declarative/qdeclarativeitem/qdeclarativeitem.pro8
-rw-r--r--tests/auto/declarative/qdeclarativeitem/tst_qdeclarativeitem.cpp218
-rw-r--r--tests/auto/declarative/qdeclarativelanguage/data/assignLiteralToVariant.qml2
-rw-r--r--tests/auto/declarative/qdeclarativelanguage/data/assignValueToSignal.errors.txt1
-rw-r--r--tests/auto/declarative/qdeclarativelanguage/data/assignValueToSignal.qml6
-rw-r--r--tests/auto/declarative/qdeclarativelanguage/data/dynamicObjectProperties.2.qml11
-rw-r--r--tests/auto/declarative/qdeclarativelanguage/data/emptySignal.2.errors.txt1
-rw-r--r--tests/auto/declarative/qdeclarativelanguage/data/emptySignal.2.qml7
-rw-r--r--tests/auto/declarative/qdeclarativelanguage/data/emptySignal.errors.txt2
-rw-r--r--tests/auto/declarative/qdeclarativelanguage/data/emptySignal.qml3
-rw-r--r--tests/auto/declarative/qdeclarativelanguage/data/scriptString2.qml5
-rw-r--r--tests/auto/declarative/qdeclarativelanguage/data/scriptString3.qml5
-rw-r--r--tests/auto/declarative/qdeclarativelanguage/data/scriptString4.qml5
-rw-r--r--tests/auto/declarative/qdeclarativelanguage/qdeclarativelanguage.pro8
-rw-r--r--tests/auto/declarative/qdeclarativelanguage/testtypes.h4
-rw-r--r--tests/auto/declarative/qdeclarativelanguage/tst_qdeclarativelanguage.cpp75
-rw-r--r--tests/auto/declarative/qdeclarativelayoutitem/data/layoutItem.qml9
-rw-r--r--tests/auto/declarative/qdeclarativelayoutitem/qdeclarativelayoutitem.pro13
-rw-r--r--tests/auto/declarative/qdeclarativelayoutitem/tst_qdeclarativelayoutitem.cpp120
-rw-r--r--tests/auto/declarative/qdeclarativelayouts/data/layouts.qml31
-rw-r--r--tests/auto/declarative/qdeclarativelayouts/qdeclarativelayouts.pro10
-rw-r--r--tests/auto/declarative/qdeclarativelayouts/tst_qdeclarativelayouts.cpp147
-rw-r--r--tests/auto/declarative/qdeclarativelistmodel/qdeclarativelistmodel.pro9
-rw-r--r--tests/auto/declarative/qdeclarativelistmodel/tst_qdeclarativelistmodel.cpp27
-rw-r--r--tests/auto/declarative/qdeclarativelistview/data/manual-highlight.qml47
-rw-r--r--tests/auto/declarative/qdeclarativelistview/qdeclarativelistview.pro9
-rw-r--r--tests/auto/declarative/qdeclarativelistview/tst_qdeclarativelistview.cpp94
-rw-r--r--tests/auto/declarative/qdeclarativeloader/data/AnchoredLoader.qml14
-rw-r--r--tests/auto/declarative/qdeclarativeloader/data/GraphicsWidget250x250.qml1
-rw-r--r--tests/auto/declarative/qdeclarativeloader/data/NoResize.qml7
-rw-r--r--tests/auto/declarative/qdeclarativeloader/data/NoResizeGraphicsWidget.qml9
-rw-r--r--tests/auto/declarative/qdeclarativeloader/data/SizeGraphicsWidgetToLoader.qml1
-rw-r--r--tests/auto/declarative/qdeclarativeloader/data/SizeLoaderToGraphicsWidget.qml1
-rw-r--r--tests/auto/declarative/qdeclarativeloader/data/SizeToItem.qml1
-rw-r--r--tests/auto/declarative/qdeclarativeloader/data/SizeToLoader.qml1
-rw-r--r--tests/auto/declarative/qdeclarativeloader/qdeclarativeloader.pro8
-rw-r--r--tests/auto/declarative/qdeclarativeloader/tst_qdeclarativeloader.cpp103
-rw-r--r--tests/auto/declarative/qdeclarativemetatype/qdeclarativemetatype.pro4
-rw-r--r--tests/auto/declarative/qdeclarativemetatype/tst_qdeclarativemetatype.cpp8
-rw-r--r--tests/auto/declarative/qdeclarativemoduleplugin/plugin/plugin.pro3
-rw-r--r--tests/auto/declarative/qdeclarativemoduleplugin/tst_qdeclarativemoduleplugin.cpp5
-rw-r--r--tests/auto/declarative/qdeclarativemoduleplugin/tst_qdeclarativemoduleplugin.pro9
-rw-r--r--tests/auto/declarative/qdeclarativemousearea/data/rejectEvent.qml28
-rw-r--r--tests/auto/declarative/qdeclarativemousearea/qdeclarativemousearea.pro9
-rw-r--r--tests/auto/declarative/qdeclarativemousearea/tst_qdeclarativemousearea.cpp51
-rw-r--r--tests/auto/declarative/qdeclarativeparticles/qdeclarativeparticles.pro9
-rw-r--r--tests/auto/declarative/qdeclarativeparticles/tst_qdeclarativeparticles.cpp5
-rw-r--r--tests/auto/declarative/qdeclarativepathview/data/pathUpdateOnStartChanged.qml38
-rw-r--r--tests/auto/declarative/qdeclarativepathview/data/pathview0.qml6
-rw-r--r--tests/auto/declarative/qdeclarativepathview/data/pathview_package.qml88
-rw-r--r--tests/auto/declarative/qdeclarativepathview/qdeclarativepathview.pro9
-rw-r--r--tests/auto/declarative/qdeclarativepathview/tst_qdeclarativepathview.cpp83
-rw-r--r--tests/auto/declarative/qdeclarativepixmapcache/qdeclarativepixmapcache.pro8
-rw-r--r--tests/auto/declarative/qdeclarativepixmapcache/tst_qdeclarativepixmapcache.cpp5
-rw-r--r--tests/auto/declarative/qdeclarativepositioners/qdeclarativepositioners.pro9
-rw-r--r--tests/auto/declarative/qdeclarativepositioners/tst_qdeclarativepositioners.cpp128
-rw-r--r--tests/auto/declarative/qdeclarativeproperty/qdeclarativeproperty.pro8
-rw-r--r--tests/auto/declarative/qdeclarativeproperty/tst_qdeclarativeproperty.cpp5
-rw-r--r--tests/auto/declarative/qdeclarativeqt/data/darker.qml3
-rw-r--r--tests/auto/declarative/qdeclarativeqt/data/fontFamilies.qml6
-rw-r--r--tests/auto/declarative/qdeclarativeqt/data/lighter.qml3
-rw-r--r--tests/auto/declarative/qdeclarativeqt/qdeclarativeqt.pro8
-rw-r--r--tests/auto/declarative/qdeclarativeqt/tst_qdeclarativeqt.cpp31
-rw-r--r--tests/auto/declarative/qdeclarativerepeater/data/objlist.qml2
-rw-r--r--tests/auto/declarative/qdeclarativerepeater/data/repeater2.qml5
-rw-r--r--tests/auto/declarative/qdeclarativerepeater/qdeclarativerepeater.pro9
-rw-r--r--tests/auto/declarative/qdeclarativerepeater/tst_qdeclarativerepeater.cpp68
-rw-r--r--tests/auto/declarative/qdeclarativesmoothedanimation/qdeclarativesmoothedanimation.pro9
-rw-r--r--tests/auto/declarative/qdeclarativesmoothedanimation/tst_qdeclarativesmoothedanimation.cpp5
-rw-r--r--tests/auto/declarative/qdeclarativesmoothedfollow/qdeclarativesmoothedfollow.pro9
-rw-r--r--tests/auto/declarative/qdeclarativesmoothedfollow/tst_qdeclarativesmoothedfollow.cpp5
-rw-r--r--tests/auto/declarative/qdeclarativespringfollow/qdeclarativespringfollow.pro9
-rw-r--r--tests/auto/declarative/qdeclarativespringfollow/tst_qdeclarativespringfollow.cpp5
-rw-r--r--tests/auto/declarative/qdeclarativesqldatabase/qdeclarativesqldatabase.pro9
-rw-r--r--tests/auto/declarative/qdeclarativesqldatabase/tst_qdeclarativesqldatabase.cpp5
-rw-r--r--tests/auto/declarative/qdeclarativestates/data/attachedPropertyChanges.qml20
-rw-r--r--tests/auto/declarative/qdeclarativestates/data/returnToBase.qml21
-rw-r--r--tests/auto/declarative/qdeclarativestates/data/signalOverrideCrash2.qml24
-rw-r--r--tests/auto/declarative/qdeclarativestates/data/unnamedWhen.qml14
-rw-r--r--tests/auto/declarative/qdeclarativestates/qdeclarativestates.pro9
-rw-r--r--tests/auto/declarative/qdeclarativestates/tst_qdeclarativestates.cpp345
-rw-r--r--tests/auto/declarative/qdeclarativesystempalette/qdeclarativesystempalette.pro4
-rw-r--r--tests/auto/declarative/qdeclarativesystempalette/tst_qdeclarativesystempalette.cpp5
-rw-r--r--tests/auto/declarative/qdeclarativetext/qdeclarativetext.pro8
-rw-r--r--tests/auto/declarative/qdeclarativetext/tst_qdeclarativetext.cpp5
-rw-r--r--tests/auto/declarative/qdeclarativetextedit/data/geometrySignals.qml12
-rw-r--r--tests/auto/declarative/qdeclarativetextedit/data/mouseselection_default.qml7
-rw-r--r--tests/auto/declarative/qdeclarativetextedit/data/mouseselection_false.qml7
-rw-r--r--tests/auto/declarative/qdeclarativetextedit/data/mouseselection_true.qml7
-rw-r--r--tests/auto/declarative/qdeclarativetextedit/qdeclarativetextedit.pro9
-rw-r--r--tests/auto/declarative/qdeclarativetextedit/tst_qdeclarativetextedit.cpp285
-rw-r--r--tests/auto/declarative/qdeclarativetextinput/data/geometrySignals.qml12
-rw-r--r--tests/auto/declarative/qdeclarativetextinput/data/positionAt.qml8
-rw-r--r--tests/auto/declarative/qdeclarativetextinput/qdeclarativetextinput.pro9
-rw-r--r--tests/auto/declarative/qdeclarativetextinput/tst_qdeclarativetextinput.cpp292
-rw-r--r--tests/auto/declarative/qdeclarativetimer/qdeclarativetimer.pro4
-rw-r--r--tests/auto/declarative/qdeclarativetimer/tst_qdeclarativetimer.cpp5
-rw-r--r--tests/auto/declarative/qdeclarativevaluetypes/data/enums.5.qml10
-rw-r--r--tests/auto/declarative/qdeclarativevaluetypes/data/matrix4x4_read.qml22
-rw-r--r--tests/auto/declarative/qdeclarativevaluetypes/data/matrix4x4_write.qml21
-rw-r--r--tests/auto/declarative/qdeclarativevaluetypes/data/quaternion_read.qml10
-rw-r--r--tests/auto/declarative/qdeclarativevaluetypes/data/quaternion_write.qml9
-rw-r--r--tests/auto/declarative/qdeclarativevaluetypes/data/varAssignment.qml14
-rw-r--r--tests/auto/declarative/qdeclarativevaluetypes/data/vector2d_read.qml8
-rw-r--r--tests/auto/declarative/qdeclarativevaluetypes/data/vector2d_write.qml7
-rw-r--r--tests/auto/declarative/qdeclarativevaluetypes/data/vector4d_read.qml10
-rw-r--r--tests/auto/declarative/qdeclarativevaluetypes/data/vector4d_write.qml9
-rw-r--r--tests/auto/declarative/qdeclarativevaluetypes/qdeclarativevaluetypes.pro8
-rw-r--r--tests/auto/declarative/qdeclarativevaluetypes/testtypes.h32
-rw-r--r--tests/auto/declarative/qdeclarativevaluetypes/tst_qdeclarativevaluetypes.cpp167
-rw-r--r--tests/auto/declarative/qdeclarativeview/qdeclarativeview.pro8
-rw-r--r--tests/auto/declarative/qdeclarativeview/tst_qdeclarativeview.cpp19
-rw-r--r--tests/auto/declarative/qdeclarativeviewer/data/orientation.qml19
-rw-r--r--tests/auto/declarative/qdeclarativeviewer/qdeclarativeviewer.pro17
-rw-r--r--tests/auto/declarative/qdeclarativeviewer/tst_qdeclarativeviewer.cpp316
-rw-r--r--tests/auto/declarative/qdeclarativevisualdatamodel/data/objectlist.qml16
-rw-r--r--tests/auto/declarative/qdeclarativevisualdatamodel/qdeclarativevisualdatamodel.pro9
-rw-r--r--tests/auto/declarative/qdeclarativevisualdatamodel/tst_qdeclarativevisualdatamodel.cpp104
-rw-r--r--tests/auto/declarative/qdeclarativewebview/qdeclarativewebview.pro9
-rw-r--r--tests/auto/declarative/qdeclarativewebview/tst_qdeclarativewebview.cpp5
-rw-r--r--tests/auto/declarative/qdeclarativeworkerscript/data/BaseWorker.qml24
-rw-r--r--tests/auto/declarative/qdeclarativeworkerscript/data/script.js1
-rw-r--r--tests/auto/declarative/qdeclarativeworkerscript/data/script_fixed_return.js4
-rw-r--r--tests/auto/declarative/qdeclarativeworkerscript/data/script_pragma.js6
-rw-r--r--tests/auto/declarative/qdeclarativeworkerscript/data/worker.qml21
-rw-r--r--tests/auto/declarative/qdeclarativeworkerscript/data/worker_pragma.qml6
-rw-r--r--tests/auto/declarative/qdeclarativeworkerscript/qdeclarativeworkerscript.pro9
-rw-r--r--tests/auto/declarative/qdeclarativeworkerscript/tst_qdeclarativeworkerscript.cpp54
-rw-r--r--tests/auto/declarative/qdeclarativexmlhttprequest/qdeclarativexmlhttprequest.pro10
-rw-r--r--tests/auto/declarative/qdeclarativexmlhttprequest/tst_qdeclarativexmlhttprequest.cpp5
-rw-r--r--tests/auto/declarative/qdeclarativexmllistmodel/qdeclarativexmllistmodel.pro10
-rw-r--r--tests/auto/declarative/qdeclarativexmllistmodel/tst_qdeclarativexmllistmodel.cpp59
-rw-r--r--tests/auto/declarative/qmlvisual/animation/parentAnimation2/data/parentAnimation2.0.pngbin0 -> 2046 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/animation/parentAnimation2/data/parentAnimation2.1.pngbin0 -> 2059 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/animation/parentAnimation2/data/parentAnimation2.2.pngbin0 -> 2052 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/animation/parentAnimation2/data/parentAnimation2.3.pngbin0 -> 2011 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/animation/parentAnimation2/data/parentAnimation2.qml1023
-rw-r--r--tests/auto/declarative/qmlvisual/animation/parentAnimation2/parentAnimation2.qml64
-rw-r--r--tests/auto/declarative/qmlvisual/animation/pauseAnimation/pauseAnimation-visual.qml4
-rw-r--r--tests/auto/declarative/qmlvisual/animation/qtbug10586/data/qtbug10586.0.pngbin0 -> 1149 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/animation/qtbug10586/data/qtbug10586.1.pngbin0 -> 1173 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/animation/qtbug10586/data/qtbug10586.2.pngbin0 -> 1173 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/animation/qtbug10586/data/qtbug10586.3.pngbin0 -> 1149 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/animation/qtbug10586/data/qtbug10586.qml1151
-rw-r--r--tests/auto/declarative/qmlvisual/animation/qtbug10586/qtbug10586.qml27
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativemousearea/mousearea-flickable.qml4
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetext/font/plaintext.qml2
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetext/font/richtext.qml2
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextedit/MultilineEdit.qml73
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextedit/usingMultilineEdit.qml13
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextedit/wrap.qml2
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextinput/LineEdit.qml16
-rw-r--r--tests/auto/declarative/qmlvisual/qfxwebview/autosize/data-X11/autosize.0.pngbin6886 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qfxwebview/autosize/data-X11/autosize.qml83
-rw-r--r--tests/auto/declarative/qmlvisual/qfxwebview/autosize/data/autosize.0.pngbin6886 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qfxwebview/autosize/data/autosize.qml83
-rw-r--r--tests/auto/declarative/qmlvisual/qmlvisual.pro29
-rw-r--r--tests/auto/declarative/qmlvisual/tst_qmlvisual.cpp19
-rw-r--r--tests/auto/declarative/qmlvisual/webview/autosize/autosize.qml (renamed from tests/auto/declarative/qmlvisual/qfxwebview/autosize/autosize.qml)0
-rw-r--r--tests/auto/declarative/qmlvisual/webview/autosize/data-X11/autosize.0.pngbin0 -> 10185 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/webview/autosize/data-X11/autosize.1.pngbin0 -> 10185 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/webview/autosize/data-X11/autosize.2.pngbin0 -> 10185 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/webview/autosize/data-X11/autosize.3.pngbin0 -> 10185 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/webview/autosize/data-X11/autosize.4.pngbin0 -> 10185 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/webview/autosize/data-X11/autosize.qml115
-rw-r--r--tests/auto/declarative/qmlvisual/webview/autosize/data/autosize.0.pngbin0 -> 10185 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/webview/autosize/data/autosize.1.pngbin0 -> 10185 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/webview/autosize/data/autosize.2.pngbin0 -> 10185 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/webview/autosize/data/autosize.3.pngbin0 -> 10185 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/webview/autosize/data/autosize.4.pngbin0 -> 10185 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/webview/autosize/data/autosize.qml115
-rw-r--r--tests/auto/declarative/qmlvisual/webview/embedding/data/nesting.0.pngbin5659 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/webview/embedding/data/nesting.qml363
-rw-r--r--tests/auto/declarative/qmlvisual/webview/embedding/egg.qml26
-rw-r--r--tests/auto/declarative/qmlvisual/webview/embedding/nesting.html9
-rw-r--r--tests/auto/declarative/qmlvisual/webview/embedding/nesting.qml9
-rw-r--r--tests/auto/declarative/qpacketprotocol/tst_qpacketprotocol.cpp2
-rw-r--r--tests/auto/gestures/tst_gestures.cpp386
-rw-r--r--tests/auto/headers/tst_headers.cpp14
-rw-r--r--tests/auto/languagechange/tst_languagechange.cpp4
-rw-r--r--tests/auto/linguist/lconvert/data/test20.ts12
-rw-r--r--tests/auto/linguist/lupdate/testdata/good/backslashes/project.pro4
-rw-r--r--tests/auto/linguist/lupdate/testdata/good/cmdline_order/a.h42
-rw-r--r--tests/auto/linguist/lupdate/testdata/good/cmdline_order/b.h44
-rw-r--r--tests/auto/linguist/lupdate/testdata/good/cmdline_order/lupdatecmd1
-rw-r--r--tests/auto/linguist/lupdate/testdata/good/cmdline_order/project.ts.result20
-rw-r--r--tests/auto/linguist/lupdate/testdata/good/lacksqobject/expectedoutput.txt4
-rw-r--r--tests/auto/linguist/lupdate/testdata/good/parsecpp2/expectedoutput.txt4
-rw-r--r--tests/auto/maketestselftest/checktest/checktest.pro7
-rw-r--r--tests/auto/maketestselftest/checktest/main.cpp99
-rw-r--r--tests/auto/maketestselftest/maketestselftest.pro9
-rw-r--r--tests/auto/maketestselftest/test/test.pro18
-rw-r--r--tests/auto/maketestselftest/tst_maketestselftest.cpp79
-rw-r--r--tests/auto/mediaobject/dummy/dummy.pro2
-rw-r--r--tests/auto/mediaservices.pro19
-rw-r--r--tests/auto/patternistexamples/patternistexamples.pro2
-rw-r--r--tests/auto/qabstractnetworkcache/qabstractnetworkcache.pro1
-rw-r--r--tests/auto/qabstractprintdialog/tst_qabstractprintdialog.cpp8
-rw-r--r--tests/auto/qabstractsocket/qabstractsocket.pro1
-rw-r--r--tests/auto/qaccessibility/qaccessibility.pro2
-rw-r--r--tests/auto/qaccessibility/tst_qaccessibility.cpp2
-rw-r--r--tests/auto/qapplication/tst_qapplication.cpp97
-rw-r--r--tests/auto/qaudiodeviceinfo/tst_qaudiodeviceinfo.cpp11
-rw-r--r--tests/auto/qbuffer/tst_qbuffer.cpp26
-rw-r--r--tests/auto/qchar/tst_qchar.cpp104
-rw-r--r--tests/auto/qcolumnview/tst_qcolumnview.cpp10
-rw-r--r--tests/auto/qdatetime/tst_qdatetime.cpp26
-rw-r--r--tests/auto/qdatetimeedit/tst_qdatetimeedit.cpp2
-rw-r--r--tests/auto/qdbusserver/.gitignore1
-rw-r--r--tests/auto/qdbusserver/qdbusserver.pro11
-rw-r--r--tests/auto/qdbusserver/server.cpp49
-rw-r--r--tests/auto/qdbusserver/tst_qdbusserver.cpp78
-rw-r--r--tests/auto/qdeclarativeaudio/qdeclarativeaudio.pro14
-rw-r--r--tests/auto/qdeclarativeaudio/tst_qdeclarativeaudio.cpp1252
-rw-r--r--tests/auto/qdeclarativevideo/qdeclarativevideo.pro14
-rw-r--r--tests/auto/qdeclarativevideo/tst_qdeclarativevideo.cpp921
-rw-r--r--tests/auto/qdesktopservices/qdesktopservices.pro22
-rw-r--r--tests/auto/qdirmodel/qdirmodel.pro6
-rw-r--r--tests/auto/qdirmodel/tst_qdirmodel.cpp5
-rw-r--r--tests/auto/qdockwidget/tst_qdockwidget.cpp24
-rw-r--r--tests/auto/qfile/largefile/tst_largefile.cpp4
-rw-r--r--tests/auto/qfile/test/test.pro8
-rw-r--r--tests/auto/qfiledialog/tst_qfiledialog.cpp4
-rw-r--r--tests/auto/qfiledialog2/tst_qfiledialog2.cpp16
-rw-r--r--tests/auto/qfileinfo/qfileinfo.pro2
-rw-r--r--tests/auto/qfontmetrics/tst_qfontmetrics.cpp28
-rw-r--r--tests/auto/qftp/qftp.pro1
-rw-r--r--tests/auto/qgraphicsgridlayout/tst_qgraphicsgridlayout.cpp86
-rw-r--r--tests/auto/qgraphicsitem/tst_qgraphicsitem.cpp139
-rw-r--r--tests/auto/qgraphicsproxywidget/tst_qgraphicsproxywidget.cpp15
-rw-r--r--tests/auto/qgraphicsscene/qgraphicsscene.pro4
-rw-r--r--tests/auto/qgraphicsscene/tst_qgraphicsscene.cpp43
-rw-r--r--tests/auto/qgraphicsvideoitem/qgraphicsvideoitem.pro5
-rw-r--r--tests/auto/qgraphicsvideoitem/tst_qgraphicsvideoitem.cpp670
-rw-r--r--tests/auto/qgraphicsview/tst_qgraphicsview.cpp57
-rw-r--r--tests/auto/qgraphicswidget/tst_qgraphicswidget.cpp29
-rw-r--r--tests/auto/qhash/tst_qhash.cpp20
-rw-r--r--tests/auto/qhostaddress/qhostaddress.pro1
-rw-r--r--tests/auto/qhostinfo/qhostinfo.pro7
-rw-r--r--tests/auto/qhttp/qhttp.pro1
-rw-r--r--tests/auto/qhttpnetworkconnection/qhttpnetworkconnection.pro5
-rw-r--r--tests/auto/qhttpnetworkconnection/tst_qhttpnetworkconnection.cpp44
-rw-r--r--tests/auto/qhttpnetworkreply/qhttpnetworkreply.pro1
-rw-r--r--tests/auto/qhttpsocketengine/qhttpsocketengine.pro1
-rw-r--r--tests/auto/qimagereader/tst_qimagereader.cpp95
-rw-r--r--tests/auto/qimagewriter/qimagewriter.pro4
-rw-r--r--tests/auto/qiodevice/qiodevice.pro1
-rw-r--r--tests/auto/qlibrary/lib2/lib2.pro6
-rw-r--r--tests/auto/qlocale/test/test.pro4
-rw-r--r--tests/auto/qlocale/tst_qlocale.cpp100
-rw-r--r--tests/auto/qlocalsocket/example/client/client.pro6
-rw-r--r--tests/auto/qlocalsocket/example/server/server.pro6
-rw-r--r--tests/auto/qlocalsocket/qlocalsocket.pro1
-rw-r--r--tests/auto/qlocalsocket/test/test.pro2
-rw-r--r--tests/auto/qlocalsocket/tst_qlocalsocket.cpp85
-rw-r--r--tests/auto/qmainwindow/qmainwindow.pro2
-rw-r--r--tests/auto/qmake/testdata/functions/functions.pro2
-rw-r--r--tests/auto/qmap/tst_qmap.cpp20
-rw-r--r--tests/auto/qmediacontent/qmediacontent.pro6
-rw-r--r--tests/auto/qmediacontent/tst_qmediacontent.cpp174
-rw-r--r--tests/auto/qmediaobject/qmediaobject.pro4
-rw-r--r--tests/auto/qmediaobject/tst_qmediaobject.cpp549
-rw-r--r--tests/auto/qmediaplayer/qmediaplayer.pro6
-rw-r--r--tests/auto/qmediaplayer/tst_qmediaplayer.cpp986
-rw-r--r--tests/auto/qmediaplaylist/qmediaplaylist.pro6
-rw-r--r--tests/auto/qmediaplaylist/tst_qmediaplaylist.cpp593
-rw-r--r--tests/auto/qmediaplaylistnavigator/qmediaplaylistnavigator.pro6
-rw-r--r--tests/auto/qmediaplaylistnavigator/tst_qmediaplaylistnavigator.cpp316
-rw-r--r--tests/auto/qmediapluginloader/qmediapluginloader.pro6
-rw-r--r--tests/auto/qmediapluginloader/tst_qmediapluginloader.cpp121
-rw-r--r--tests/auto/qmediaresource/qmediaresource.pro6
-rw-r--r--tests/auto/qmediaresource/tst_qmediaresource.cpp516
-rw-r--r--tests/auto/qmediaservice/qmediaservice.pro6
-rw-r--r--tests/auto/qmediaservice/tst_qmediaservice.cpp219
-rw-r--r--tests/auto/qmediaserviceprovider/qmediaserviceprovider.pro6
-rw-r--r--tests/auto/qmediaserviceprovider/tst_qmediaserviceprovider.cpp481
-rw-r--r--tests/auto/qmediatimerange/qmediatimerange.pro6
-rw-r--r--tests/auto/qmediatimerange/tst_qmediatimerange.cpp735
-rw-r--r--tests/auto/qmenu/tst_qmenu.cpp52
-rw-r--r--tests/auto/qmessagebox/tst_qmessagebox.cpp2
-rw-r--r--tests/auto/qmetaobject/tst_qmetaobject.cpp51
-rw-r--r--tests/auto/qmetatype/tst_qmetatype.cpp8
-rw-r--r--tests/auto/qmovie/qmovie.pro4
-rw-r--r--tests/auto/qnativesocketengine/qnativesocketengine.pro1
-rw-r--r--tests/auto/qnetworkaccessmanager/qnetworkaccessmanager.pro1
-rw-r--r--tests/auto/qnetworkaccessmanager_and_qprogressdialog/qnetworkaccessmanager_and_qprogressdialog.pro1
-rw-r--r--tests/auto/qnetworkaddressentry/qnetworkaddressentry.pro2
-rw-r--r--tests/auto/qnetworkcachemetadata/qnetworkcachemetadata.pro1
-rw-r--r--tests/auto/qnetworkconfiguration/tst_qnetworkconfiguration.cpp15
-rw-r--r--tests/auto/qnetworkconfigurationmanager/tst_qnetworkconfigurationmanager.cpp8
-rw-r--r--tests/auto/qnetworkcookie/qnetworkcookie.pro1
-rw-r--r--tests/auto/qnetworkcookie/tst_qnetworkcookie.cpp6
-rw-r--r--tests/auto/qnetworkcookiejar/qnetworkcookiejar.pro1
-rw-r--r--tests/auto/qnetworkdiskcache/qnetworkdiskcache.pro1
-rw-r--r--tests/auto/qnetworkdiskcache/tst_qnetworkdiskcache.cpp77
-rw-r--r--tests/auto/qnetworkinterface/qnetworkinterface.pro1
-rw-r--r--tests/auto/qnetworkproxy/qnetworkproxy.pro1
-rw-r--r--tests/auto/qnetworkreply/qnetworkreply.pro1
-rw-r--r--tests/auto/qnetworkreply/smb-file.txt1
-rw-r--r--tests/auto/qnetworkreply/test/test.pro2
-rw-r--r--tests/auto/qnetworkreply/tst_qnetworkreply.cpp88
-rw-r--r--tests/auto/qnetworkrequest/qnetworkrequest.pro1
-rw-r--r--tests/auto/qnetworksession/lackey/main.cpp24
-rw-r--r--tests/auto/qnetworksession/qnetworksession.pro1
-rw-r--r--tests/auto/qnetworksession/test/tst_qnetworksession.cpp399
-rw-r--r--tests/auto/qobject/tst_qobject.pro2
-rw-r--r--tests/auto/qpixmapcache/tst_qpixmapcache.cpp34
-rw-r--r--tests/auto/qprinter/tst_qprinter.cpp39
-rw-r--r--tests/auto/qprocess/test/test.pro2
-rw-r--r--tests/auto/qprocess/testProcessEOF/testProcessEOF.pro2
-rw-r--r--tests/auto/qpropertyanimation/tst_qpropertyanimation.cpp24
-rw-r--r--tests/auto/qscriptcontext/tst_qscriptcontext.cpp45
-rw-r--r--tests/auto/qscriptextqobject/tst_qscriptextqobject.cpp140
-rw-r--r--tests/auto/qscriptvalue/tst_qscriptvalue.cpp89
-rw-r--r--tests/auto/qscriptvalue/tst_qscriptvalue.h2
-rw-r--r--tests/auto/qsocketnotifier/qsocketnotifier.pro1
-rw-r--r--tests/auto/qsocks5socketengine/qsocks5socketengine.pro3
-rw-r--r--tests/auto/qsortfilterproxymodel/tst_qsortfilterproxymodel.cpp97
-rw-r--r--tests/auto/qsoundeffect/qsoundeffect.pro20
-rw-r--r--tests/auto/qsoundeffect/test.wavbin38316 -> 0 bytes
-rw-r--r--tests/auto/qsoundeffect/tst_qsoundeffect.cpp144
-rw-r--r--tests/auto/qsqldriver/qsqldriver.pro2
-rw-r--r--tests/auto/qsqlrelationaltablemodel/qsqlrelationaltablemodel.pro2
-rw-r--r--tests/auto/qsslcertificate/more-certificates/cert-large-serial-number.pem14
-rw-r--r--tests/auto/qsslcertificate/qsslcertificate.pro1
-rw-r--r--tests/auto/qsslcertificate/tst_qsslcertificate.cpp16
-rw-r--r--tests/auto/qsslcipher/qsslcipher.pro1
-rw-r--r--tests/auto/qsslerror/qsslerror.pro1
-rw-r--r--tests/auto/qsslkey/qsslkey.pro7
-rw-r--r--tests/auto/qsslkey/tst_qsslkey.cpp8
-rw-r--r--tests/auto/qsslsocket/qsslsocket.pro2
-rw-r--r--tests/auto/qstatictext/tst_qstatictext.cpp7
-rw-r--r--tests/auto/qstring/tst_qstring.cpp33
-rw-r--r--tests/auto/qstylesheetstyle/tst_qstylesheetstyle.cpp31
-rw-r--r--tests/auto/qtcpserver/crashingServer/crashingServer.pro2
-rw-r--r--tests/auto/qtcpserver/qtcpserver.pro1
-rw-r--r--tests/auto/qtcpsocket/qtcpsocket.pro1
-rw-r--r--tests/auto/qtcpsocket/tst_qtcpsocket.cpp26
-rw-r--r--tests/auto/qtextboundaryfinder/tst_qtextboundaryfinder.cpp111
-rw-r--r--tests/auto/qtextcodec/tst_qtextcodec.cpp4
-rw-r--r--tests/auto/qtextcursor/tst_qtextcursor.cpp26
-rw-r--r--tests/auto/qtextformat/tst_qtextformat.cpp5
-rw-r--r--tests/auto/qtextlayout/tst_qtextlayout.cpp34
-rw-r--r--tests/auto/qtextodfwriter/tst_qtextodfwriter.cpp9
-rw-r--r--tests/auto/qtipc/qsharedmemory/tst_qsharedmemory.cpp8
-rw-r--r--tests/auto/qtransform/tst_qtransform.cpp8
-rw-r--r--tests/auto/qudpsocket/qudpsocket.pro1
-rw-r--r--tests/auto/qurl/qurl.pro1
-rw-r--r--tests/auto/qurl/tst_qurl.cpp53
-rw-r--r--tests/auto/qvarlengtharray/tst_qvarlengtharray.cpp298
-rw-r--r--tests/auto/qvideowidget/qvideowidget.pro6
-rw-r--r--tests/auto/qvideowidget/tst_qvideowidget.cpp1602
-rw-r--r--tests/auto/qwidget/tst_qwidget.cpp369
-rw-r--r--tests/auto/qwidgetaction/tst_qwidgetaction.cpp6
-rw-r--r--tests/auto/qxmlquery/tst_qxmlquery.cpp18
-rw-r--r--tests/auto/qxmlstream/qxmlstream.pro5
-rw-r--r--tests/auto/qxmlstream/tst_qxmlstream.cpp26
-rw-r--r--tests/auto/selftests/expected_badxml.txt2
-rw-r--r--tests/auto/selftests/expected_xunit.txt2
-rw-r--r--tests/auto/solutions.pri4
-rw-r--r--tests/auto/uic/baseline/config_fromuic3.ui.h2
-rw-r--r--tests/auto/windowsmobile/test/test.pro2
-rw-r--r--tests/auto/xmlpatterns.pro1
-rw-r--r--tests/auto/xmlpatternsxqts/tst_suitetest.cpp19
-rw-r--r--tests/benchmarks/declarative/binding/binding.pro13
-rw-r--r--tests/benchmarks/declarative/binding/testtypes.h10
-rw-r--r--tests/benchmarks/declarative/binding/tst_binding.cpp5
-rw-r--r--tests/benchmarks/declarative/compilation/compilation.pro17
-rw-r--r--tests/benchmarks/declarative/compilation/data/BoomBlock.qml106
-rw-r--r--tests/benchmarks/declarative/compilation/tst_compilation.cpp95
-rw-r--r--tests/benchmarks/declarative/creation/creation.pro10
-rw-r--r--tests/benchmarks/declarative/creation/data/item.qml41
-rw-r--r--tests/benchmarks/declarative/creation/data/qobject.qml41
-rw-r--r--tests/benchmarks/declarative/creation/tst_creation.cpp21
-rw-r--r--tests/benchmarks/declarative/declarative.pro6
-rw-r--r--tests/benchmarks/declarative/painting/painting.pro3
-rw-r--r--tests/benchmarks/declarative/qdeclarativecomponent/data/myqmlobject.qml41
-rw-r--r--tests/benchmarks/declarative/qdeclarativecomponent/data/myqmlobject_binding.qml41
-rw-r--r--tests/benchmarks/declarative/qdeclarativecomponent/data/object.qml41
-rw-r--r--tests/benchmarks/declarative/qdeclarativecomponent/data/object_id.qml41
-rw-r--r--tests/benchmarks/declarative/qdeclarativecomponent/data/samegame/BoomBlock.qml41
-rw-r--r--tests/benchmarks/declarative/qdeclarativecomponent/data/synthesized_properties.2.qml41
-rw-r--r--tests/benchmarks/declarative/qdeclarativecomponent/data/synthesized_properties.qml41
-rw-r--r--tests/benchmarks/declarative/qdeclarativecomponent/qdeclarativecomponent.pro19
-rw-r--r--tests/benchmarks/declarative/qdeclarativecomponent/testtypes.h10
-rw-r--r--tests/benchmarks/declarative/qdeclarativecomponent/tst_qdeclarativecomponent.cpp4
-rw-r--r--tests/benchmarks/declarative/qdeclarativeimage/qdeclarativeimage.pro9
-rw-r--r--tests/benchmarks/declarative/qdeclarativeimage/tst_qdeclarativeimage.cpp15
-rw-r--r--tests/benchmarks/declarative/qdeclarativemetaproperty/data/object.qml41
-rw-r--r--tests/benchmarks/declarative/qdeclarativemetaproperty/data/synthesized_object.qml41
-rw-r--r--tests/benchmarks/declarative/qdeclarativemetaproperty/qdeclarativemetaproperty.pro10
-rw-r--r--tests/benchmarks/declarative/qdeclarativemetaproperty/tst_qdeclarativemetaproperty.cpp4
-rw-r--r--tests/benchmarks/declarative/qmltime/example.qml41
-rw-r--r--tests/benchmarks/declarative/qmltime/qmltime.cpp2
-rw-r--r--tests/benchmarks/declarative/qmltime/qmltime.pro16
-rw-r--r--tests/benchmarks/declarative/qmltime/tests/anchors/empty.qml41
-rw-r--r--tests/benchmarks/declarative/qmltime/tests/anchors/fill.qml41
-rw-r--r--tests/benchmarks/declarative/qmltime/tests/anchors/null.qml41
-rw-r--r--tests/benchmarks/declarative/qmltime/tests/animation/large.qml41
-rw-r--r--tests/benchmarks/declarative/qmltime/tests/animation/largeNoProps.qml41
-rw-r--r--tests/benchmarks/declarative/qmltime/tests/item_creation/children.qml41
-rw-r--r--tests/benchmarks/declarative/qmltime/tests/item_creation/data.qml41
-rw-r--r--tests/benchmarks/declarative/qmltime/tests/item_creation/no_creation.qml41
-rw-r--r--tests/benchmarks/declarative/qmltime/tests/item_creation/resources.qml41
-rw-r--r--tests/benchmarks/declarative/qmltime/tests/loader/Loaded.qml41
-rw-r--r--tests/benchmarks/declarative/qmltime/tests/loader/component_loader.qml41
-rw-r--r--tests/benchmarks/declarative/qmltime/tests/loader/empty_loader.qml41
-rw-r--r--tests/benchmarks/declarative/qmltime/tests/loader/no_loader.qml41
-rw-r--r--tests/benchmarks/declarative/qmltime/tests/loader/source_loader.qml41
-rw-r--r--tests/benchmarks/declarative/qmltime/tests/positioner_creation/no_positioner.qml41
-rw-r--r--tests/benchmarks/declarative/qmltime/tests/positioner_creation/null_positioner.qml41
-rw-r--r--tests/benchmarks/declarative/qmltime/tests/positioner_creation/positioner.qml41
-rw-r--r--tests/benchmarks/declarative/qmltime/tests/vmemetaobject/null.qml41
-rw-r--r--tests/benchmarks/declarative/qmltime/tests/vmemetaobject/property.qml41
-rw-r--r--tests/benchmarks/declarative/script/data/CustomObject.qml41
-rw-r--r--tests/benchmarks/declarative/script/data/block.qml41
-rw-r--r--tests/benchmarks/declarative/script/data/signal_args.qml41
-rw-r--r--tests/benchmarks/declarative/script/data/signal_qml.qml41
-rw-r--r--tests/benchmarks/declarative/script/data/signal_unconnected.qml41
-rw-r--r--tests/benchmarks/declarative/script/data/signal_unusedArgs.qml41
-rw-r--r--tests/benchmarks/declarative/script/data/slot_complex.qml41
-rw-r--r--tests/benchmarks/declarative/script/data/slot_complex_js.js8
-rw-r--r--tests/benchmarks/declarative/script/data/slot_complex_js.qml55
-rw-r--r--tests/benchmarks/declarative/script/data/slot_simple.qml41
-rw-r--r--tests/benchmarks/declarative/script/data/slot_simple_js.js3
-rw-r--r--tests/benchmarks/declarative/script/data/slot_simple_js.qml51
-rw-r--r--tests/benchmarks/declarative/script/script.pro8
-rw-r--r--tests/benchmarks/declarative/script/tst_script.cpp1
-rw-r--r--tests/benchmarks/declarative/typeimports/data/QmlTestType1.qml41
-rw-r--r--tests/benchmarks/declarative/typeimports/data/QmlTestType2.qml41
-rw-r--r--tests/benchmarks/declarative/typeimports/data/QmlTestType3.qml41
-rw-r--r--tests/benchmarks/declarative/typeimports/data/QmlTestType4.qml41
-rw-r--r--tests/benchmarks/declarative/typeimports/data/cpp.qml41
-rw-r--r--tests/benchmarks/declarative/typeimports/data/qml.qml41
-rw-r--r--tests/benchmarks/declarative/typeimports/tst_typeimports.cpp12
-rw-r--r--tests/benchmarks/declarative/typeimports/typeimports.pro8
-rw-r--r--tests/benchmarks/gui/image/qpixmap/tst_qpixmap.cpp38
-rw-r--r--tests/benchmarks/gui/kernel/qwidget/tst_qwidget.cpp5
-rw-r--r--tests/benchmarks/gui/painting/qpainter/tst_qpainter.cpp79
-rw-r--r--tests/manual/bearerex/bearerex.cpp18
-rw-r--r--tools/activeqt/testcon/testcon.pro2
-rw-r--r--tools/assistant/lib/fulltextsearch/fulltextsearch.pro4
-rw-r--r--tools/assistant/lib/qhelpsearchindexreader_default_p.h3
-rw-r--r--tools/assistant/tools/assistant/centralwidget.cpp1
-rw-r--r--tools/assistant/tools/assistant/contentwindow.cpp18
-rw-r--r--tools/assistant/tools/assistant/doc/images/assistant-assistant.pngbin105954 -> 205326 bytes
-rw-r--r--tools/assistant/tools/assistant/helpviewer_qwv.cpp24
-rw-r--r--tools/assistant/tools/assistant/helpviewer_qwv.h4
-rw-r--r--tools/configure/configure.pro2
-rw-r--r--tools/configure/configureapp.cpp189
-rw-r--r--tools/configure/configureapp.h4
-rw-r--r--tools/designer/src/components/signalsloteditor/signalsloteditorwindow.cpp10
-rw-r--r--tools/designer/src/components/signalsloteditor/signalsloteditorwindow.h2
-rw-r--r--tools/designer/src/designer/qdesigner_actions.cpp1
-rw-r--r--tools/designer/src/lib/sdk/abstractformeditor.cpp3
-rw-r--r--tools/designer/src/lib/shared/filterwidget.cpp2
-rw-r--r--tools/designer/src/lib/shared/previewconfigurationwidget.cpp2
-rw-r--r--tools/linguist/lconvert/main.cpp8
-rw-r--r--tools/linguist/lrelease/main.cpp23
-rw-r--r--tools/linguist/lupdate/cpp.cpp124
-rw-r--r--tools/linguist/lupdate/java.cpp40
-rw-r--r--tools/linguist/lupdate/main.cpp91
-rw-r--r--tools/linguist/lupdate/qscript.cpp22
-rw-r--r--tools/linguist/lupdate/qscript.g24
-rw-r--r--tools/linguist/phrasebooks/hungarian.qph752
-rw-r--r--tools/linguist/phrasebooks/russian.qph2
-rw-r--r--tools/linguist/shared/po.cpp83
-rw-r--r--tools/linguist/shared/profileevaluator.cpp6
-rw-r--r--tools/linguist/shared/qm.cpp4
-rw-r--r--tools/linguist/shared/translator.cpp23
-rw-r--r--tools/linguist/shared/translator.h2
-rw-r--r--tools/porting/src/codemodel.h2
-rw-r--r--tools/qdoc3/ditaxmlgenerator.cpp4719
-rw-r--r--tools/qdoc3/ditaxmlgenerator.h336
-rw-r--r--tools/qdoc3/doc.cpp12
-rw-r--r--tools/qdoc3/htmlgenerator.cpp489
-rw-r--r--tools/qdoc3/htmlgenerator.h1
-rw-r--r--tools/qdoc3/main.cpp2
-rw-r--r--tools/qdoc3/node.cpp57
-rw-r--r--tools/qdoc3/node.h9
-rw-r--r--tools/qdoc3/pagegenerator.cpp110
-rw-r--r--tools/qdoc3/pagegenerator.h11
-rw-r--r--tools/qdoc3/qdoc3.pro17
-rw-r--r--tools/qdoc3/test/assistant.qdocconf49
-rw-r--r--tools/qdoc3/test/designer.qdocconf63
-rw-r--r--tools/qdoc3/test/images/bg_l.pngbin0 -> 100 bytes
-rw-r--r--tools/qdoc3/test/images/bg_l_blank.pngbin0 -> 84 bytes
-rw-r--r--tools/qdoc3/test/images/bg_r.pngbin0 -> 96 bytes
-rw-r--r--tools/qdoc3/test/images/box_bg.pngbin0 -> 89 bytes
-rw-r--r--tools/qdoc3/test/images/breadcrumb.pngbin0 -> 134 bytes
-rw-r--r--tools/qdoc3/test/images/bullet_dn.pngbin0 -> 230 bytes
-rw-r--r--tools/qdoc3/test/images/bullet_gt.pngbin0 -> 124 bytes
-rw-r--r--tools/qdoc3/test/images/bullet_sq.pngbin0 -> 74 bytes
-rw-r--r--tools/qdoc3/test/images/bullet_up.pngbin0 -> 253 bytes
-rw-r--r--tools/qdoc3/test/images/feedbackground.pngbin0 -> 263 bytes
-rw-r--r--tools/qdoc3/test/images/horBar.pngbin0 -> 2807 bytes
-rw-r--r--tools/qdoc3/test/images/page.pngbin0 -> 3102 bytes
-rw-r--r--tools/qdoc3/test/images/page_bg.pngbin0 -> 84 bytes
-rw-r--r--tools/qdoc3/test/images/sprites-combined.pngbin0 -> 62534 bytes
-rw-r--r--tools/qdoc3/test/linguist.qdocconf63
-rw-r--r--tools/qdoc3/test/macros.qdocconf1
-rw-r--r--tools/qdoc3/test/qdeclarative.qdocconf66
-rw-r--r--tools/qdoc3/test/qmake.qdocconf67
-rw-r--r--tools/qdoc3/test/qt-api-only_ja_JP.qdocconf30
-rw-r--r--tools/qdoc3/test/qt-build-docs.qdocconf67
-rw-r--r--tools/qdoc3/test/qt-build-docs_ja_JP.qdocconf110
-rw-r--r--tools/qdoc3/test/qt-build-docs_zh_CN.qdocconf40
-rw-r--r--tools/qdoc3/test/qt-defines.qdocconf69
-rw-r--r--tools/qdoc3/test/qt-ditaxml.qdocconf11
-rw-r--r--tools/qdoc3/test/qt-html-templates.qdocconf131
-rw-r--r--tools/qdoc3/test/qt-html-templates_ja_JP.qdocconf178
-rw-r--r--tools/qdoc3/test/qt.qdocconf72
-rw-r--r--tools/qdoc3/test/qt_ja_JP.qdocconf125
-rw-r--r--tools/qdoc3/test/qt_zh_CN.qdocconf36
-rw-r--r--tools/qdoc3/test/style/style.css797
-rw-r--r--tools/qml/Info_mac.plist2
-rw-r--r--tools/qml/content/Browser.qml45
-rw-r--r--tools/qml/deviceorientation.h9
-rw-r--r--tools/qml/deviceorientation_maemo.cpp119
-rw-r--r--tools/qml/loggerwidget.cpp120
-rw-r--r--tools/qml/loggerwidget.h32
-rw-r--r--tools/qml/main.cpp90
-rw-r--r--tools/qml/qdeclarativefolderlistmodel.cpp420
-rw-r--r--tools/qml/qdeclarativefolderlistmodel.h127
-rw-r--r--tools/qml/qml.icnsbin0 -> 196156 bytes
-rw-r--r--tools/qml/qml.pri6
-rw-r--r--tools/qml/qml.pro7
-rw-r--r--tools/qml/qmlruntime.cpp506
-rw-r--r--tools/qml/qmlruntime.h35
-rw-r--r--tools/runonphone/main.cpp4
-rw-r--r--tools/runonphone/symbianutils/launcher.cpp18
-rw-r--r--tools/runonphone/symbianutils/trkutils.cpp22
-rw-r--r--tools/runonphone/symbianutils/trkutils.h8
-rw-r--r--tools/shared/deviceskin/deviceskin.pri3
-rw-r--r--tools/shared/deviceskin/skins/DualScreenPhone.skin/DualScreen-pressed.pngbin115575 -> 0 bytes
-rw-r--r--tools/shared/deviceskin/skins/DualScreenPhone.skin/DualScreen.pngbin104711 -> 0 bytes
-rw-r--r--tools/shared/deviceskin/skins/DualScreenPhone.skin/DualScreenPhone.skin29
-rw-r--r--tools/shared/deviceskin/skins/DualScreenPhone.skin/defaultbuttons.conf78
-rw-r--r--tools/shared/deviceskin/skins/PDAPhone.qrc5
-rw-r--r--tools/shared/deviceskin/skins/PDAPhone.skin/PDAPhone.skin18
-rw-r--r--tools/shared/deviceskin/skins/PDAPhone.skin/defaultbuttons.conf36
-rw-r--r--tools/shared/deviceskin/skins/PDAPhone.skin/finger.pngbin40343 -> 0 bytes
-rw-r--r--tools/shared/deviceskin/skins/PDAPhone.skin/pda_down.pngbin52037 -> 0 bytes
-rw-r--r--tools/shared/deviceskin/skins/PDAPhone.skin/pda_up.pngbin100615 -> 0 bytes
-rw-r--r--tools/shared/deviceskin/skins/Trolltech-Keypad.qrc5
-rw-r--r--tools/shared/deviceskin/skins/Trolltech-Keypad.skin/Trolltech-Keypad-closed.pngbin69447 -> 0 bytes
-rw-r--r--tools/shared/deviceskin/skins/Trolltech-Keypad.skin/Trolltech-Keypad-down.pngbin242107 -> 0 bytes
-rw-r--r--tools/shared/deviceskin/skins/Trolltech-Keypad.skin/Trolltech-Keypad.pngbin230638 -> 0 bytes
-rw-r--r--tools/shared/deviceskin/skins/Trolltech-Keypad.skin/Trolltech-Keypad.skin35
-rw-r--r--tools/shared/deviceskin/skins/Trolltech-Keypad.skin/defaultbuttons.conf142
-rw-r--r--tools/shared/deviceskin/skins/Trolltech-Touchscreen.qrc5
-rw-r--r--tools/shared/deviceskin/skins/Trolltech-Touchscreen.skin/Trolltech-Touchscreen-down.pngbin133117 -> 0 bytes
-rw-r--r--tools/shared/deviceskin/skins/Trolltech-Touchscreen.skin/Trolltech-Touchscreen.pngbin133180 -> 0 bytes
-rw-r--r--tools/shared/deviceskin/skins/Trolltech-Touchscreen.skin/Trolltech-Touchscreen.skin17
-rw-r--r--tools/shared/deviceskin/skins/Trolltech-Touchscreen.skin/defaultbuttons.conf53
-rw-r--r--tools/shared/symbian/epocroot.cpp13
-rw-r--r--translations/assistant_hu.ts693
-rw-r--r--translations/assistant_pl.ts500
-rw-r--r--translations/assistant_ru.ts526
-rwxr-xr-xtranslations/check-ts.pl85
-rw-r--r--translations/check-ts.xq3
-rw-r--r--translations/designer_hu.ts3020
-rw-r--r--translations/designer_pl.ts182
-rw-r--r--translations/designer_ru.ts206
-rw-r--r--translations/linguist_hu.ts1012
-rw-r--r--translations/linguist_pl.ts55
-rw-r--r--translations/linguist_ru.ts95
-rw-r--r--translations/qt_de.ts486
-rw-r--r--translations/qt_help_hu.ts237
-rw-r--r--translations/qt_help_pl.ts190
-rw-r--r--translations/qt_help_ru.ts180
-rw-r--r--translations/qt_hu.ts8426
-rw-r--r--translations/qt_ja.ts (renamed from translations/qt_ja_JP.ts)0
-rw-r--r--translations/qt_pl.ts332
-rw-r--r--translations/qt_ru.ts4476
-rw-r--r--translations/qtconfig_hu.ts627
-rw-r--r--translations/qtconfig_pl.ts22
-rw-r--r--translations/qtconfig_ru.ts26
-rw-r--r--translations/qvfb_hu.ts175
-rw-r--r--translations/translations.pri13
-rw-r--r--translations/translations.pro6
-rwxr-xr-xutil/local_database/cldr2qlocalexml.py10
-rw-r--r--util/local_database/enumdata.py3
-rwxr-xr-xutil/local_database/qlocalexml2cpp.py5
-rw-r--r--util/s60pixelmetrics/pixel_metrics.cpp12
-rw-r--r--util/s60theme/main.cpp4
-rw-r--r--util/s60theme/s60themeconvert.cpp25
4250 files changed, 427831 insertions, 138132 deletions
diff --git a/.gitignore b/.gitignore
index ad8e3eaab8..f187b230c9 100644
--- a/.gitignore
+++ b/.gitignore
@@ -6,7 +6,10 @@ examples/*/*/*
!examples/*/*/README
examples/*/*/*[.]app
!examples/declarative/*
+!examples/ja_JP/*/*
demos/*/*
+!demos/spectrum/*
+demos/spectrum/bin
!demos/*/*[.]*
demos/*/*[.]app
!demos/declarative/*
@@ -52,13 +55,13 @@ bin/Qt*.dll
bin/assistant*
bin/designer*
bin/dumpcpp*
-bin/duiviewer*
bin/idc*
bin/linguist*
bin/lrelease*
bin/lupdate*
bin/lconvert*
bin/moc*
+bin/makeqpf*
bin/pixeltool*
bin/qmake*
bin/qdoc3*
@@ -129,6 +132,8 @@ qrc_*.cpp
*.vcproj
*vcproj.*.*.user
*.ncb
+*.vcxproj
+*.vcxproj.filters
# MinGW generated files
*.Debug
@@ -201,7 +206,7 @@ bld.inf
*.loc
!s60main.rss
*.pkg
-plugin_commonU.def
+plugin_commonu.def
*.qtplugin
*.sis
*.sisx
diff --git a/bin/createpackage.pl b/bin/createpackage.pl
index e844767948..8b787cb2ee 100755
--- a/bin/createpackage.pl
+++ b/bin/createpackage.pl
@@ -69,15 +69,18 @@ Convenience script for creating signed packages you can install on your phone.
Usage: createpackage.pl [options] templatepkg [target]-[platform] [certificate key [passphrase]]
Where supported options are as follows:
- [-i|install] = Install the package right away using PC suite
+ [-i|install] = Install the package right away using PC suite.
[-p|preprocess] = Only preprocess the template .pkg file.
- [-c|certfile=<file>] = The file containing certificate information for signing.
+ [-c|certfile <file>] = The file containing certificate information for signing.
The file can have several certificates, each specified in
separate line. The certificate, key and passphrase in line
must be ';' separated. Lines starting with '#' are treated
as a comments. Also empty lines are ignored. The paths in
<file> can be absolute or relative to <file>.
- [-u|unsigned] = Preserves the unsigned package
+ [-u|unsigned] = Preserves the unsigned package.
+ [-o|only-unsigned] = Creates only unsigned package.
+ [-s|stub] = Generates stub sis for ROM.
+ [-n|sisname <name>] = Specifies the final sis name.
Where parameters are as follows:
templatepkg = Name of .pkg file template
target = Either debug or release
@@ -118,12 +121,16 @@ my $preprocessonly = "";
my $certfile = "";
my $preserveUnsigned = "";
my $stub = "";
+my $signed_sis_name = "";
+my $onlyUnsigned = "";
unless (GetOptions('i|install' => \$install,
'p|preprocess' => \$preprocessonly,
'c|certfile=s' => \$certfile,
'u|unsigned' => \$preserveUnsigned,
- 's|stub' => \$stub,)){
+ 'o|only-unsigned' => \$onlyUnsigned,
+ 's|stub' => \$stub,
+ 'n|sisname=s' => \$signed_sis_name,)) {
Usage();
}
@@ -162,11 +169,22 @@ $pkgoutputbasename = $pkgoutputbasename;
# Store output file names to variables
my $pkgoutput = $pkgoutputbasename.".pkg";
-my $sisoutputbasename = $pkgoutputbasename;
-$sisoutputbasename =~ s/_$targetplatform//g;
+my $sisoutputbasename;
+if ($signed_sis_name eq "") {
+ $sisoutputbasename = $pkgoutputbasename;
+ $sisoutputbasename =~ s/_$targetplatform//g;
+ $signed_sis_name = $sisoutputbasename.".sis";
+} else {
+ $sisoutputbasename = $signed_sis_name;
+ if ($sisoutputbasename =~ m/(\.sis$|\.sisx$)/i) {
+ $sisoutputbasename =~ s/$1//i;
+ } else {
+ $signed_sis_name = $signed_sis_name.".sis";
+ }
+}
+
my $unsigned_sis_name = $sisoutputbasename."_unsigned.sis";
-my $signed_sis_name = $sisoutputbasename.".sis";
-my $stub_sis_name = $sisoutputbasename."_stub.sis";
+my $stub_sis_name = $sisoutputbasename.".sis";
# Store some utility variables
my $scriptpath = dirname(__FILE__);
@@ -277,7 +295,10 @@ if($stub) {
# Create stub SIS.
system ("makesis -s $pkgoutput $stub_sis_name");
} else {
- if ($certtext eq "Self Signed" && !@certificates) {
+ if ($certtext eq "Self Signed"
+ && !@certificates
+ && $templatepkg !~ m/_installer\.pkg$/i
+ && !$onlyUnsigned) {
print("Auto-patching capabilities for self signed package.\n");
system ("patch_capabilities $pkgoutput");
}
@@ -287,6 +308,25 @@ if($stub) {
system ("makesis $pkgoutput $unsigned_sis_name") and die ("makesis failed");
print("\n");
+ my $targetInsert = "";
+ if ($targetplatform ne "-") {
+ $targetInsert = " for $targetplatform";
+ }
+
+ if ($onlyUnsigned) {
+ stat($unsigned_sis_name);
+ if( -e _ ) {
+ print ("Successfully created unsigned package ${unsigned_sis_name}${targetInsert}!\n");
+ } else {
+ print ("\nUnsigned package creation failed!\n");
+ }
+
+ if (!$preservePkgOutput) {
+ unlink $pkgoutput;
+ }
+ exit;
+ }
+
# Sign SIS with certificate info given as an argument.
my $relcert = File::Spec->abs2rel($certificate);
my $relkey = File::Spec->abs2rel($key);
@@ -296,11 +336,7 @@ if($stub) {
# Check if creating signed SIS Succeeded
stat($signed_sis_name);
if( -e _ ) {
- my $targetInsert = "";
- if ($targetplatform ne "-") {
- $targetInsert = "for $targetplatform ";
- }
- print ("Successfully created $signed_sis_name ${targetInsert}using certificate: $certtext!\n");
+ print ("Successfully created signed package ${signed_sis_name}${targetInsert} using certificate: $certtext!\n");
# Sign with additional certificates & keys
for my $row ( @certificates ) {
diff --git a/bin/patch_capabilities.pl b/bin/patch_capabilities.pl
index 9741bc3510..501939afc2 100755
--- a/bin/patch_capabilities.pl
+++ b/bin/patch_capabilities.pl
@@ -269,7 +269,8 @@ if (@ARGV)
}
print ("\n");
- print ("NOTE: A patched package should not be used for distribution!\n");
+ print ("NOTE: A patched package may not work as expected due to reduced capabilities.\n");
+ print (" Therefore it should not be used for any kind of Symbian signing or distribution!\n");
print ("\n");
}
}
diff --git a/bin/syncqt b/bin/syncqt
index e36eeb670c..f499bbca8c 100755
--- a/bin/syncqt
+++ b/bin/syncqt
@@ -50,8 +50,7 @@ my %modules = ( # path to module name map
"QtDBus" => "$basedir/src/dbus",
"QtWebKit" => "$basedir/src/3rdparty/webkit/WebCore",
"phonon" => "$basedir/src/phonon",
- "QtMultimedia" => "$basedir/src/multimedia/multimedia",
- "QtMediaServices" => "$basedir/src/multimedia/mediaservices",
+ "QtMultimedia" => "$basedir/src/multimedia",
);
my %moduleheaders = ( # restrict the module headers to those found in relative path
"QtWebKit" => "../WebKit/qt/Api",
@@ -147,12 +146,12 @@ sub shouldMasterInclude {
return 0 if(basename($iheader) =~ /qconfig/);
if(open(F, "<$iheader")) {
while(<F>) {
- chomp;
- return 0 if(/^\#pragma qt_no_master_include$/);
- }
- close(F);
+ chomp;
+ return 0 if(/^\#pragma qt_no_master_include$/);
+ }
+ close(F);
} else {
- return 0;
+ return 0;
}
return 1;
}
@@ -169,17 +168,17 @@ sub classNames {
my @ret;
my ($iheader) = @_;
if(basename($iheader) eq "qglobal.h") {
- push @ret, "QtGlobal";
+ push @ret, "QtGlobal";
} elsif(basename($iheader) eq "qendian.h") {
- push @ret, "QtEndian";
+ push @ret, "QtEndian";
} elsif(basename($iheader) eq "qconfig.h") {
push @ret, "QtConfig";
} elsif(basename($iheader) eq "qplugin.h") {
- push @ret, "QtPlugin";
+ push @ret, "QtPlugin";
} elsif(basename($iheader) eq "qalgorithms.h") {
- push @ret, "QtAlgorithms";
+ push @ret, "QtAlgorithms";
} elsif(basename($iheader) eq "qcontainerfwd.h") {
- push @ret, "QtContainerFwd";
+ push @ret, "QtContainerFwd";
} elsif(basename($iheader) eq "qdebug.h") {
push @ret, "QtDebug";
} elsif(basename($iheader) eq "qevent.h") {
@@ -187,7 +186,7 @@ sub classNames {
} elsif(basename($iheader) eq "qnamespace.h") {
push @ret, "Qt"
} elsif(basename($iheader) eq "qssl.h") {
- push @ret, "QSsl";
+ push @ret, "QSsl";
} elsif(basename($iheader) eq "qtest.h") {
push @ret, "QTest"
} elsif(basename($iheader) eq "qtconcurrentmap.h") {
@@ -205,7 +204,7 @@ sub classNames {
while(<F>) {
my $line = $_;
chomp $line;
- chop $line if ($line =~ /\r$/);
+ chop $line if ($line =~ /\r$/);
if($line =~ /^\#/) {
if($line =~ /\\$/) {
while($line = <F>) {
@@ -213,18 +212,18 @@ sub classNames {
last unless($line =~ /\\$/);
}
}
- return @ret if($line =~ m/^#pragma qt_sync_stop_processing/);
+ return @ret if($line =~ m/^#pragma qt_sync_stop_processing/);
push(@ret, "$1") if($line =~ m/^#pragma qt_class\(([^)]*)\)[\r\n]*$/);
- $line = 0;
+ $line = 0;
}
- if($line) {
+ if($line) {
$line =~ s,//.*$,,; #remove c++ comments
- $line .= ";" if($line =~ m/^Q_[A-Z_]*\(.*\)[\r\n]*$/); #qt macro
- $line .= ";" if($line =~ m/^QT_(BEGIN|END)_HEADER[\r\n]*$/); #qt macro
- $line .= ";" if($line =~ m/^QT_(BEGIN|END)_NAMESPACE[\r\n]*$/); #qt macro
- $line .= ";" if($line =~ m/^QT_MODULE\(.*\)[\r\n]*$/); # QT_MODULE macro
+ $line .= ";" if($line =~ m/^Q_[A-Z_]*\(.*\)[\r\n]*$/); #qt macro
+ $line .= ";" if($line =~ m/^QT_(BEGIN|END)_HEADER[\r\n]*$/); #qt macro
+ $line .= ";" if($line =~ m/^QT_(BEGIN|END)_NAMESPACE[\r\n]*$/); #qt macro
+ $line .= ";" if($line =~ m/^QT_MODULE\(.*\)[\r\n]*$/); # QT_MODULE macro
$parsable .= " " . $line;
- }
+ }
}
close(F);
}
@@ -260,7 +259,7 @@ sub classNames {
$i = $i2 if($end eq ";");
$last_definition = $i + 1;
last BLOCK;
- }
+ }
}
}
}
@@ -268,42 +267,42 @@ sub classNames {
} elsif($character eq ";") {
$definition = substr($parsable, $last_definition, $i - $last_definition + 1);
$last_definition = $i + 1;
- } elsif($character eq "}") {
- # a naked } must be a namespace ending
- # if it's not a namespace, it's eaten by the loop above
- pop @namespaces;
- $last_definition = $i + 1;
- }
+ } elsif($character eq "}") {
+ # a naked } must be a namespace ending
+ # if it's not a namespace, it's eaten by the loop above
+ pop @namespaces;
+ $last_definition = $i + 1;
+ }
- if (substr($parsable, $last_definition, $i - $last_definition + 1) =~ m/ namespace ([^ ]*) /
- && substr($parsable, $i+1, 1) eq "{") {
- push @namespaces, $1;
+ if (substr($parsable, $last_definition, $i - $last_definition + 1) =~ m/ namespace ([^ ]*) /
+ && substr($parsable, $i+1, 1) eq "{") {
+ push @namespaces, $1;
- # Eat the opening { so that the condensing loop above doesn't see it
- $i++;
- $last_definition = $i + 1;
- }
+ # Eat the opening { so that the condensing loop above doesn't see it
+ $i++;
+ $last_definition = $i + 1;
+ }
if($definition) {
- $definition =~ s=[\n\r]==g;
+ $definition =~ s=[\n\r]==g;
my @symbols;
if($definition =~ m/^ *typedef *.*\(\*([^\)]*)\)\(.*\);$/) {
- push @symbols, $1;
+ push @symbols, $1;
} elsif($definition =~ m/^ *typedef +(.*) +([^ ]*);$/) {
- push @symbols, $2;
+ push @symbols, $2;
} elsif($definition =~ m/^ *(template *<.*> *)?(class|struct) +([^ ]* +)?([^<\s]+) ?(<[^>]*> ?)?\s*((,|:)\s*(public|protected|private) *.*)? *\{\}$/) {
- push @symbols, $4;
+ push @symbols, $4;
} elsif($definition =~ m/^ *Q_DECLARE_.*ITERATOR\((.*)\);$/) {
- push @symbols, "Q" . $1 . "Iterator";
- push @symbols, "QMutable" . $1 . "Iterator";
- }
+ push @symbols, "Q" . $1 . "Iterator";
+ push @symbols, "QMutable" . $1 . "Iterator";
+ }
- foreach (@symbols) {
- my $symbol = $_;
- $symbol = (join("::", @namespaces) . "::" . $symbol) if (scalar @namespaces);
- push @ret, $symbol
- if ($symbol =~ /^Q[^:]*$/ # no-namespace, starting with Q
- || $symbol =~ /^Phonon::/); # or in the Phonon namespace
+ foreach (@symbols) {
+ my $symbol = $_;
+ $symbol = (join("::", @namespaces) . "::" . $symbol) if (scalar @namespaces);
+ push @ret, $symbol
+ if ($symbol =~ /^Q[^:]*$/ # no-namespace, starting with Q
+ || $symbol =~ /^Phonon::/); # or in the Phonon namespace
}
}
}
@@ -454,37 +453,37 @@ sub copyFile
$filecontents = <I>;
close I;
if ( open(I, "< " . $ifile) ) {
- local $/;
- binmode I;
- $ifilecontents = <I>;
- close I;
- $copy = fileCompare($file, $ifile);
- $knowdiff = 0,
+ local $/;
+ binmode I;
+ $ifilecontents = <I>;
+ close I;
+ $copy = fileCompare($file, $ifile);
+ $knowdiff = 0,
} else {
- $copy = -1;
- $knowdiff = 1;
+ $copy = -1;
+ $knowdiff = 1;
}
if ( $knowdiff || ($filecontents ne $ifilecontents) ) {
- if ( $copy > 0 ) {
- my $file_dir = dirname($file);
- mkpath $file_dir, !$quiet unless(-e "$file_dir");
- open(O, "> " . $file) || die "Could not open $file for writing (no write permission?)";
- local $/;
- binmode O;
- print O $ifilecontents;
- close O;
- return 1;
- } elsif ( $copy < 0 ) {
- my $ifile_dir = dirname($ifile);
- mkpath $ifile_dir, !$quiet unless(-e "$ifile_dir");
- open(O, "> " . $ifile) || die "Could not open $ifile for writing (no write permission?)";
- local $/;
- binmode O;
- print O $filecontents;
- close O;
- return 1;
- }
+ if ( $copy > 0 ) {
+ my $file_dir = dirname($file);
+ mkpath $file_dir, !$quiet unless(-e "$file_dir");
+ open(O, "> " . $file) || die "Could not open $file for writing (no write permission?)";
+ local $/;
+ binmode O;
+ print O $ifilecontents;
+ close O;
+ return 1;
+ } elsif ( $copy < 0 ) {
+ my $ifile_dir = dirname($ifile);
+ mkpath $ifile_dir, !$quiet unless(-e "$ifile_dir");
+ open(O, "> " . $ifile) || die "Could not open $ifile for writing (no write permission?)";
+ local $/;
+ binmode O;
+ print O $filecontents;
+ close O;
+ return 1;
+ }
}
return 0;
}
@@ -569,37 +568,37 @@ while ( @ARGV ) {
#parse
my $arg = shift @ARGV;
if ("$arg" eq "-h" || "$arg" eq "-help" || "$arg" eq "?") {
- $var = "show_help";
- $val = "yes";
+ $var = "show_help";
+ $val = "yes";
} elsif("$arg" eq "-copy") {
- $var = "copy";
- $val = "yes";
+ $var = "copy";
+ $val = "yes";
} elsif("$arg" eq "-o" || "$arg" eq "-outdir") {
- $var = "output";
- $val = shift @ARGV;
+ $var = "output";
+ $val = shift @ARGV;
} elsif("$arg" eq "-showonly" || "$arg" eq "-remove-stale" || "$arg" eq "-windows" ||
- "$arg" eq "-relative" || "$arg" eq "-check-includes") {
- $var = substr($arg, 1);
- $val = "yes";
+ "$arg" eq "-relative" || "$arg" eq "-check-includes") {
+ $var = substr($arg, 1);
+ $val = "yes";
} elsif("$arg" =~ /^-no-(.*)$/) {
- $var = $1;
- $val = "no";
- #these are for commandline compat
+ $var = $1;
+ $val = "no";
+ #these are for commandline compat
} elsif("$arg" eq "-inc") {
- $var = "output";
- $val = shift @ARGV;
+ $var = "output";
+ $val = shift @ARGV;
} elsif("$arg" eq "-module") {
- $var = "module";
- $val = shift @ARGV;
+ $var = "module";
+ $val = shift @ARGV;
} elsif("$arg" eq "-separate-module") {
- $var = "separate-module";
- $val = shift @ARGV;
+ $var = "separate-module";
+ $val = shift @ARGV;
} elsif("$arg" eq "-show") {
- $var = "showonly";
- $val = "yes";
+ $var = "showonly";
+ $val = "yes";
} elsif("$arg" eq "-quiet") {
- $var = "quiet";
- $val = "yes";
+ $var = "quiet";
+ $val = "yes";
} elsif("$arg" eq "-base-dir") {
# skip, it's been dealt with at the top of the file
shift @ARGV;
@@ -608,54 +607,54 @@ while ( @ARGV ) {
#do something
if(!$var || "$var" eq "show_help") {
- print "Unknown option: $arg\n\n" if(!$var);
- showUsage();
+ print "Unknown option: $arg\n\n" if(!$var);
+ showUsage();
} elsif ("$var" eq "copy") {
- if("$val" eq "yes") {
- $copy_headers++;
- } elsif($showonly) {
- $copy_headers--;
- }
+ if("$val" eq "yes") {
+ $copy_headers++;
+ } elsif($showonly) {
+ $copy_headers--;
+ }
} elsif ("$var" eq "showonly") {
- if("$val" eq "yes") {
- $showonly++;
- } elsif($showonly) {
- $showonly--;
- }
+ if("$val" eq "yes") {
+ $showonly++;
+ } elsif($showonly) {
+ $showonly--;
+ }
} elsif ("$var" eq "quiet") {
- if("$val" eq "yes") {
- $quiet++;
- } elsif($quiet) {
- $quiet--;
- }
+ if("$val" eq "yes") {
+ $quiet++;
+ } elsif($quiet) {
+ $quiet--;
+ }
} elsif ("$var" eq "check-includes") {
- if("$val" eq "yes") {
- $check_includes++;
- } elsif($check_includes) {
- $check_includes--;
- }
+ if("$val" eq "yes") {
+ $check_includes++;
+ } elsif($check_includes) {
+ $check_includes--;
+ }
} elsif ("$var" eq "remove-stale") {
- if("$val" eq "yes") {
- $remove_stale++;
- } elsif($remove_stale) {
- $remove_stale--;
- }
+ if("$val" eq "yes") {
+ $remove_stale++;
+ } elsif($remove_stale) {
+ $remove_stale--;
+ }
} elsif ("$var" eq "windows") {
- if("$val" eq "yes") {
- $force_win++;
- } elsif($force_win) {
- $force_win--;
- }
+ if("$val" eq "yes") {
+ $force_win++;
+ } elsif($force_win) {
+ $force_win--;
+ }
} elsif ("$var" eq "relative") {
- if("$val" eq "yes") {
- $force_relative++;
- } elsif($force_relative) {
- $force_relative--;
- }
+ if("$val" eq "yes") {
+ $force_relative++;
+ } elsif($force_relative) {
+ $force_relative--;
+ }
} elsif ("$var" eq "module") {
- print "module :$val:\n" unless $quiet;
- die "No such module: $val" unless(defined $modules{$val});
- push @modules_to_sync, $val;
+ print "module :$val:\n" unless $quiet;
+ die "No such module: $val" unless(defined $modules{$val});
+ push @modules_to_sync, $val;
} elsif ("$var" eq "separate-module") {
my ($module, $prodir, $headerdir) = split(/:/, $val);
$modules{$module} = $prodir;
@@ -664,16 +663,16 @@ while ( @ARGV ) {
$create_uic_class_map = 0;
$create_private_headers = 0;
} elsif ("$var" eq "output") {
- my $outdir = $val;
- if(checkRelative($outdir)) {
- $out_basedir = getcwd();
- chomp $out_basedir;
- $out_basedir .= "/" . $outdir;
- } else {
- $out_basedir = $outdir;
- }
- # \ -> /
- $out_basedir =~ s=\\=/=g;
+ my $outdir = $val;
+ if(checkRelative($outdir)) {
+ $out_basedir = getcwd();
+ chomp $out_basedir;
+ $out_basedir .= "/" . $outdir;
+ } else {
+ $out_basedir = $outdir;
+ }
+ # \ -> /
+ $out_basedir =~ s=\\=/=g;
}
}
@modules_to_sync = keys(%modules) if($#modules_to_sync == -1);
@@ -682,6 +681,7 @@ $isunix = checkUnix; #cache checkUnix
# create path
mkpath "$out_basedir/include", !$quiet;
+mkpath "$out_basedir/include/Qt", !$quiet;
my @ignore_headers = ();
my $class_lib_map_contents = "";
@@ -690,6 +690,7 @@ my @ignore_for_include_check = ( "qatomic.h" );
my @ignore_for_qt_begin_header_check = ( "qiconset.h", "qconfig.h", "qconfig-dist.h", "qconfig-large.h", "qconfig-medium.h", "qconfig-minimal.h", "qconfig-small.h", "qfeatures.h", "qt_windows.h" );
my @ignore_for_qt_begin_namespace_check = ( "qconfig.h", "qconfig-dist.h", "qconfig-large.h", "qconfig-medium.h", "qconfig-minimal.h", "qconfig-small.h", "qfeatures.h", "qatomic_arch.h", "qatomic_windowsce.h", "qt_windows.h", "qatomic_macosx.h" );
my @ignore_for_qt_module_check = ( "$modules{QtCore}/arch", "$modules{QtCore}/global", "$modules{QtSql}/drivers", "$modules{QtTest}", "$modules{QtDesigner}", "$modules{QtUiTools}", "$modules{QtDBus}", "$modules{phonon}" );
+my %colliding_headers = ();
foreach (@modules_to_sync) {
#iteration info
@@ -709,77 +710,77 @@ foreach (@modules_to_sync) {
#get dependencies
if(-e "$dir/" . basename($dir) . ".pro") {
- if(open(F, "<$dir/" . basename($dir) . ".pro")) {
- while(<F>) {
- my $line = $_;
- chomp $line;
- if($line =~ /^ *QT *\+?= *([^\r\n]*)/) {
- foreach(split(/ /, "$1")) {
- $master_contents .= "#include <QtCore/QtCore>\n" if("$_" eq "core");
- $master_contents .= "#include <QtGui/QtGui>\n" if("$_" eq "gui");
- $master_contents .= "#include <QtNetwork/QtNetwork>\n" if("$_" eq "network");
- $master_contents .= "#include <QtSvg/QtSvg>\n" if("$_" eq "svg");
- $master_contents .= "#include <QtDeclarative/QtDeclarative>\n" if("$_" eq "declarative");
- $master_contents .= "#include <QtScript/QtScript>\n" if("$_" eq "script");
- $master_contents .= "#include <QtScriptTools/QtScriptTools>\n" if("$_" eq "scripttools");
- $master_contents .= "#include <Qt3Support/Qt3Support>\n" if("$_" eq "qt3support");
- $master_contents .= "#include <QtSql/QtSql>\n" if("$_" eq "sql");
- $master_contents .= "#include <QtXml/QtXml>\n" if("$_" eq "xml");
- $master_contents .= "#include <QtXmlPatterns/QtXmlPatterns>\n" if("$_" eq "xmlpatterns");
- $master_contents .= "#include <QtOpenGL/QtOpenGL>\n" if("$_" eq "opengl");
- $master_contents .= "#include <QtOpenVG/QtOpenVG>\n" if("$_" eq "openvg");
- }
- }
- }
- close(F);
- }
+ if(open(F, "<$dir/" . basename($dir) . ".pro")) {
+ while(<F>) {
+ my $line = $_;
+ chomp $line;
+ if($line =~ /^ *QT *\+?= *([^\r\n]*)/) {
+ foreach(split(/ /, "$1")) {
+ $master_contents .= "#include <QtCore/QtCore>\n" if("$_" eq "core");
+ $master_contents .= "#include <QtGui/QtGui>\n" if("$_" eq "gui");
+ $master_contents .= "#include <QtNetwork/QtNetwork>\n" if("$_" eq "network");
+ $master_contents .= "#include <QtSvg/QtSvg>\n" if("$_" eq "svg");
+ $master_contents .= "#include <QtDeclarative/QtDeclarative>\n" if("$_" eq "declarative");
+ $master_contents .= "#include <QtScript/QtScript>\n" if("$_" eq "script");
+ $master_contents .= "#include <QtScriptTools/QtScriptTools>\n" if("$_" eq "scripttools");
+ $master_contents .= "#include <Qt3Support/Qt3Support>\n" if("$_" eq "qt3support");
+ $master_contents .= "#include <QtSql/QtSql>\n" if("$_" eq "sql");
+ $master_contents .= "#include <QtXml/QtXml>\n" if("$_" eq "xml");
+ $master_contents .= "#include <QtXmlPatterns/QtXmlPatterns>\n" if("$_" eq "xmlpatterns");
+ $master_contents .= "#include <QtOpenGL/QtOpenGL>\n" if("$_" eq "opengl");
+ $master_contents .= "#include <QtOpenVG/QtOpenVG>\n" if("$_" eq "openvg");
+ }
+ }
+ }
+ close(F);
+ }
}
#remove the old files
if($remove_stale) {
- my @subdirs = ("$out_basedir/include/$lib");
- foreach (@subdirs) {
- my $subdir = "$_";
- if (opendir DIR, "$subdir") {
- while(my $t = readdir(DIR)) {
- my $file = "$subdir/$t";
- if(-d "$file") {
- push @subdirs, "$file" unless($t eq "." || $t eq "..");
- } else {
- my @files = ("$file");
- #push @files, "$out_basedir/include/Qt/$t" if(-e "$out_basedir/include/Qt/$t");
- foreach (@files) {
- my $file = $_;
- my $remove_file = 0;
- if(open(F, "<$file")) {
- while(<F>) {
- my $line = $_;
- chomp $line;
- if($line =~ /^\#include \"([^\"]*)\"$/) {
- my $include = $1;
- $include = $subdir . "/" . $include unless(substr($include, 0, 1) eq "/");
- $remove_file = 1 unless(-e "$include");
- } else {
- $remove_file = 0;
- last;
- }
- }
- close(F);
- unlink "$file" if($remove_file);
- }
- }
- }
- }
- closedir DIR;
+ my @subdirs = ("$out_basedir/include/$lib");
+ foreach (@subdirs) {
+ my $subdir = "$_";
+ if (opendir DIR, "$subdir") {
+ while(my $t = readdir(DIR)) {
+ my $file = "$subdir/$t";
+ if(-d "$file") {
+ push @subdirs, "$file" unless($t eq "." || $t eq "..");
+ } else {
+ my @files = ("$file");
+ #push @files, "$out_basedir/include/Qt/$t" if(-e "$out_basedir/include/Qt/$t");
+ foreach (@files) {
+ my $file = $_;
+ my $remove_file = 0;
+ if(open(F, "<$file")) {
+ while(<F>) {
+ my $line = $_;
+ chomp $line;
+ if($line =~ /^\#include \"([^\"]*)\"$/) {
+ my $include = $1;
+ $include = $subdir . "/" . $include unless(substr($include, 0, 1) eq "/");
+ $remove_file = 1 unless(-e "$include");
+ } else {
+ $remove_file = 0;
+ last;
+ }
+ }
+ close(F);
+ unlink "$file" if($remove_file);
+ }
+ }
+ }
+ }
+ closedir DIR;
}
- }
+ }
}
#create the new ones
foreach (split(/;/, $dir)) {
- my $current_dir = "$_";
- my $headers_dir = $current_dir;
+ my $current_dir = "$_";
+ my $headers_dir = $current_dir;
$headers_dir .= "/$pathtoheaders" if ($pathtoheaders);
#calc subdirs
my @subdirs = ($headers_dir);
@@ -788,7 +789,7 @@ foreach (@modules_to_sync) {
opendir DIR, "$subdir" or next;
while(my $t = readdir(DIR)) {
push @subdirs, "$subdir/$t" if(-d "$subdir/$t" && !($t eq ".") &&
- !($t eq "..") && !($t eq ".obj") &&
+ !($t eq "..") && !($t eq ".obj") &&
!($t eq ".moc") && !($t eq ".rcc") &&
!($t eq ".uic") && !($t eq "build"));
}
@@ -806,85 +807,105 @@ foreach (@modules_to_sync) {
$header = 0 if("$header" eq "$_");
}
if($header) {
- my $header_copies = 0;
- #figure out if it is a public header
- my $public_header = $header;
- if($public_header =~ /_p.h$/ || $public_header =~ /_pch.h$/) {
- $public_header = 0;
- } else {
- foreach (@ignore_for_master_contents) {
- $public_header = 0 if("$header" eq "$_");
- }
- }
+ my $header_copies = 0;
+ #figure out if it is a public header
+ my $public_header = $header;
+ if($public_header =~ /_p.h$/ || $public_header =~ /_pch.h$/) {
+ $public_header = 0;
+ } else {
+ foreach (@ignore_for_master_contents) {
+ $public_header = 0 if("$header" eq "$_");
+ }
+ }
my $iheader = $subdir . "/" . $header;
- my @classes = $public_header ? classNames($iheader) : ();
+ my @classes = $public_header ? classNames($iheader) : ();
if($showonly) {
print "$header [$lib]\n";
- foreach(@classes) {
- print "SYMBOL: $_\n";
- }
+ foreach(@classes) {
+ print "SYMBOL: $_\n";
+ }
} else {
- #find out all the places it goes..
- my @headers;
- if ($public_header) {
- @headers = ( "$out_basedir/include/$lib/$header" );
- push @headers, "$out_basedir/include/Qt/$header"
- if ("$lib" ne "phonon" && "$subdir" =~ /^$basedir\/src/);
+ #find out all the places it goes..
+ my @headers;
+ if ($public_header) {
+ @headers = ( "$out_basedir/include/$lib/$header" );
+
+ # write forwarding headers to include/Qt
+ if ("$lib" ne "phonon" && "$subdir" =~ /^$basedir\/src/) {
+ my $file_name = "$out_basedir/include/Qt/$header";
+ my $header_content = '';
+ if (exists $colliding_headers{$file_name}) {
+ $file_name = ">>$file_name";
+ } else {
+ $colliding_headers{$file_name} = 1;
+ $file_name = ">$file_name";
+ my $warning_msg = 'Inclusion of header files from include/Qt is deprecated.';
+ $header_content = "#ifndef QT_NO_QT_INCLUDE_WARN\n" .
+ " #if defined(__GNUC__)\n" .
+ " #pragma warning \"$warning_msg\"\n" .
+ " #elif defined(_MSC_VER)\n" .
+ " #pragma message \"WARNING: $warning_msg\"\n" .
+ " #endif\n".
+ "#endif\n\n";
+ }
+ $header_content .= '#include "' . "../$lib/$header" . "\"\n";
+ open HEADERFILE, $file_name;
+ print HEADERFILE $header_content;
+ close HEADERFILE;
+ }
- foreach(@classes) {
- my $header_base = basename($header);
- my $class = $_;
- # Strip namespaces:
- $class =~ s/^.*:://;
-# if ($class =~ m/::/) {
-# class =~ s,::,/,g;
-# }
- $class_lib_map_contents .= "QT_CLASS_LIB($_, $lib, $header_base)\n";
- $header_copies++ if(syncHeader("$out_basedir/include/$lib/$class", "$out_basedir/include/$lib/$header", 0));
+ foreach(@classes) {
+ my $header_base = basename($header);
+ my $class = $_;
+ # Strip namespaces:
+ $class =~ s/^.*:://;
+# if ($class =~ m/::/) {
+# class =~ s,::,/,g;
+# }
+ $class_lib_map_contents .= "QT_CLASS_LIB($_, $lib, $header_base)\n";
+ $header_copies++ if(syncHeader("$out_basedir/include/$lib/$class", "$out_basedir/include/$lib/$header", 0));
- # KDE-Compat headers for Phonon
- if ($lib eq "phonon") {
- $header_copies++ if (syncHeader("$out_basedir/include/phonon_compat/Phonon/$class", "$out_basedir/include/$lib/$header", 0));
- }
- }
- } elsif ($create_private_headers) {
- @headers = ( "$out_basedir/include/$lib/private/$header" );
- push @headers, "$out_basedir/include/Qt/private/$header"
- if ("$lib" ne "phonon");
- }
- foreach(@headers) { #sync them
- $header_copies++ if(syncHeader($_, $iheader, $copy_headers));
- }
+ # KDE-Compat headers for Phonon
+ if ($lib eq "phonon") {
+ $header_copies++ if (syncHeader("$out_basedir/include/phonon_compat/Phonon/$class", "$out_basedir/include/$lib/$header", 0));
+ }
+ }
+ } elsif ($create_private_headers) {
+ @headers = ( "$out_basedir/include/$lib/private/$header" );
+ }
+ foreach(@headers) { #sync them
+ $header_copies++ if(syncHeader($_, $iheader, $copy_headers));
+ }
- if($public_header) {
- #put it into the master file
- $master_contents .= "#include \"$public_header\"\n" if(shouldMasterInclude($iheader));
+ if($public_header) {
+ #put it into the master file
+ $master_contents .= "#include \"$public_header\"\n" if(shouldMasterInclude($iheader));
- #deal with the install directives
- if($public_header) {
- my $pri_install_iheader = fixPaths($iheader, $current_dir);
- foreach(@classes) {
- my $class = $_;
- # Strip namespaces:
- $class =~ s/^.*:://;
-# if ($class =~ m/::/) {
-# $class =~ s,::,/,g;
-# }
- my $class_header = fixPaths("$out_basedir/include/$lib/$class",
- $current_dir) . " ";
- $pri_install_classes .= $class_header
- unless($pri_install_classes =~ $class_header);
- }
- $pri_install_files.= "$pri_install_iheader ";;
- }
- }
- else {
- my $pri_install_iheader = fixPaths($iheader, $current_dir);
- $pri_install_pfiles.= "$pri_install_iheader ";;
- }
+ #deal with the install directives
+ if($public_header) {
+ my $pri_install_iheader = fixPaths($iheader, $current_dir);
+ foreach(@classes) {
+ my $class = $_;
+ # Strip namespaces:
+ $class =~ s/^.*:://;
+# if ($class =~ m/::/) {
+# $class =~ s,::,/,g;
+# }
+ my $class_header = fixPaths("$out_basedir/include/$lib/$class",
+ $current_dir) . " ";
+ $pri_install_classes .= $class_header
+ unless($pri_install_classes =~ $class_header);
+ }
+ $pri_install_files.= "$pri_install_iheader ";;
+ }
+ }
+ else {
+ my $pri_install_iheader = fixPaths($iheader, $current_dir);
+ $pri_install_pfiles.= "$pri_install_iheader ";;
+ }
}
- print "header created for $iheader ($header_copies)\n" if($header_copies > 0 && !$quiet);
+ print "header created for $iheader ($header_copies)\n" if($header_copies > 0 && !$quiet);
}
}
}
@@ -895,8 +916,8 @@ foreach (@modules_to_sync) {
unless($showonly) {
my @master_includes;
- push @master_includes, "$out_basedir/include/$lib/$lib";
- push @master_includes, "$out_basedir/include/phonon_compat/Phonon/Phonon" if ($lib eq "phonon");
+ push @master_includes, "$out_basedir/include/$lib/$lib";
+ push @master_includes, "$out_basedir/include/phonon_compat/Phonon/Phonon" if ($lib eq "phonon");
foreach my $master_include (@master_includes) {
#generate the "master" include file
my @tmp = split(/;/,$modules{$lib});
@@ -921,10 +942,10 @@ foreach (@modules_to_sync) {
}
#handle the headers.pri for each module
- my $headers_pri_contents = "";
- $headers_pri_contents .= "SYNCQT.HEADER_FILES = $pri_install_files\n";
- $headers_pri_contents .= "SYNCQT.HEADER_CLASSES = $pri_install_classes\n";
- $headers_pri_contents .= "SYNCQT.PRIVATE_HEADER_FILES = $pri_install_pfiles\n";
+ my $headers_pri_contents = "";
+ $headers_pri_contents .= "SYNCQT.HEADER_FILES = $pri_install_files\n";
+ $headers_pri_contents .= "SYNCQT.HEADER_CLASSES = $pri_install_classes\n";
+ $headers_pri_contents .= "SYNCQT.PRIVATE_HEADER_FILES = $pri_install_pfiles\n";
my $headers_pri_file = "$out_basedir/include/$lib/headers.pri";
if(-e "$headers_pri_file") {
open HEADERS_PRI_FILE, "<$headers_pri_file";
@@ -948,125 +969,125 @@ foreach (@modules_to_sync) {
unless($showonly || !$create_uic_class_map) {
my $class_lib_map = "$out_basedir/src/tools/uic/qclass_lib_map.h";
if(-e "$class_lib_map") {
- open CLASS_LIB_MAP, "<$class_lib_map";
- local $/;
- binmode CLASS_LIB_MAP;
- my $old_class_lib_map_contents = <CLASS_LIB_MAP>;
- close CLASS_LIB_MAP;
- $old_class_lib_map_contents =~ s/\r//g; # remove \r's , so comparison is ok on all platforms
- $class_lib_map = 0 if($old_class_lib_map_contents eq $class_lib_map_contents);
+ open CLASS_LIB_MAP, "<$class_lib_map";
+ local $/;
+ binmode CLASS_LIB_MAP;
+ my $old_class_lib_map_contents = <CLASS_LIB_MAP>;
+ close CLASS_LIB_MAP;
+ $old_class_lib_map_contents =~ s/\r//g; # remove \r's , so comparison is ok on all platforms
+ $class_lib_map = 0 if($old_class_lib_map_contents eq $class_lib_map_contents);
}
if($class_lib_map) {
- my $class_lib_map_dir = dirname($class_lib_map);
- mkpath $class_lib_map_dir, !$quiet;
- open CLASS_LIB_MAP, ">$class_lib_map";
- print CLASS_LIB_MAP "$class_lib_map_contents";
- close CLASS_LIB_MAP;
+ my $class_lib_map_dir = dirname($class_lib_map);
+ mkpath $class_lib_map_dir, !$quiet;
+ open CLASS_LIB_MAP, ">$class_lib_map";
+ print CLASS_LIB_MAP "$class_lib_map_contents";
+ close CLASS_LIB_MAP;
}
}
if($check_includes) {
for (keys(%modules)) {
- #iteration info
- my $lib = $_;
- my $dir = "$modules{$lib}";
- foreach (split(/;/, $dir)) {
- my $current_dir = "$_";
- #calc subdirs
- my @subdirs = ($current_dir);
- foreach (@subdirs) {
- my $subdir = "$_";
- opendir DIR, "$subdir";
- while(my $t = readdir(DIR)) {
+ #iteration info
+ my $lib = $_;
+ my $dir = "$modules{$lib}";
+ foreach (split(/;/, $dir)) {
+ my $current_dir = "$_";
+ #calc subdirs
+ my @subdirs = ($current_dir);
+ foreach (@subdirs) {
+ my $subdir = "$_";
+ opendir DIR, "$subdir";
+ while(my $t = readdir(DIR)) {
push @subdirs, "$subdir/$t" if(-d "$subdir/$t" && !($t eq ".") &&
!($t eq "..") && !($t eq ".obj") &&
!($t eq ".moc") && !($t eq ".rcc") &&
!($t eq ".uic") && !($t eq "build"));
- }
- closedir DIR;
- }
+ }
+ closedir DIR;
+ }
- foreach (@subdirs) {
- my $subdir = "$_";
+ foreach (@subdirs) {
+ my $subdir = "$_";
my $header_skip_qt_module_test = 0;
foreach(@ignore_for_qt_module_check) {
foreach (split(/;/, $_)) {
$header_skip_qt_module_test = 1 if ("$subdir" =~ /^$_/);
}
}
- my @headers = findFiles("$subdir", "^[-a-z0-9_]*\\.h\$" , 0);
- foreach (@headers) {
- my $header = "$_";
+ my @headers = findFiles("$subdir", "^[-a-z0-9_]*\\.h\$" , 0);
+ foreach (@headers) {
+ my $header = "$_";
my $header_skip_qt_begin_header_test = 0;
my $header_skip_qt_begin_namespace_test = 0;
- $header = 0 if("$header" =~ /^ui_.*.h/);
- foreach (@ignore_headers) {
- $header = 0 if("$header" eq "$_");
- }
- if($header) {
- my $public_header = $header;
- if($public_header =~ /_p.h$/ || $public_header =~ /_pch.h$/) {
- $public_header = 0;
- } else {
- foreach (@ignore_for_master_contents) {
- $public_header = 0 if("$header" eq "$_");
- }
- if($public_header) {
- foreach (@ignore_for_include_check) {
- $public_header = 0 if("$header" eq "$_");
- }
+ $header = 0 if("$header" =~ /^ui_.*.h/);
+ foreach (@ignore_headers) {
+ $header = 0 if("$header" eq "$_");
+ }
+ if($header) {
+ my $public_header = $header;
+ if($public_header =~ /_p.h$/ || $public_header =~ /_pch.h$/) {
+ $public_header = 0;
+ } else {
+ foreach (@ignore_for_master_contents) {
+ $public_header = 0 if("$header" eq "$_");
+ }
+ if($public_header) {
+ foreach (@ignore_for_include_check) {
+ $public_header = 0 if("$header" eq "$_");
+ }
foreach(@ignore_for_qt_begin_header_check) {
$header_skip_qt_begin_header_test = 1 if ("$header" eq "$_");
}
foreach(@ignore_for_qt_begin_namespace_check) {
$header_skip_qt_begin_namespace_test = 1 if ("$header" eq "$_");
}
- }
- }
+ }
+ }
- my $iheader = $subdir . "/" . $header;
- if($public_header) {
- if(open(F, "<$iheader")) {
+ my $iheader = $subdir . "/" . $header;
+ if($public_header) {
+ if(open(F, "<$iheader")) {
my $qt_module_found = 0;
- my $qt_begin_header_found = 0;
- my $qt_end_header_found = 0;
- my $qt_begin_namespace_found = 0;
- my $qt_end_namespace_found = 0;
- my $line;
- while($line = <F>) {
- chomp $line;
- my $output_line = 1;
+ my $qt_begin_header_found = 0;
+ my $qt_end_header_found = 0;
+ my $qt_begin_namespace_found = 0;
+ my $qt_end_namespace_found = 0;
+ my $line;
+ while($line = <F>) {
+ chomp $line;
+ my $output_line = 1;
if($line =~ /^ *\# *pragma (qt_no_included_check|qt_sync_stop_processing)/) {
- last;
- } elsif($line =~ /^ *\# *include/) {
- my $include = $line;
- if($line =~ /<.*>/) {
- $include =~ s,.*<(.*)>.*,$1,;
- } elsif($line =~ /".*"/) {
- $include =~ s,.*"(.*)".*,$1,;
- } else {
- $include = 0;
- }
- if($include) {
- for (keys(%modules)) {
- my $trylib = $_;
- if(-e "$out_basedir/include/$trylib/$include") {
- print "WARNING: $iheader includes $include when it should include $trylib/$include\n";
- }
- }
- }
- } elsif ($header_skip_qt_begin_header_test == 0 and $line =~ /^QT_BEGIN_HEADER\s*$/) {
- $qt_begin_header_found = 1;
- } elsif ($header_skip_qt_begin_header_test == 0 and $line =~ /^QT_END_HEADER\s*$/) {
- $qt_end_header_found = 1;
- } elsif ($header_skip_qt_begin_namespace_test == 0 and $line =~ /^QT_BEGIN_NAMESPACE\s*$/) {
- $qt_begin_namespace_found = 1;
- } elsif ($header_skip_qt_begin_namespace_test == 0 and $line =~ /^QT_END_NAMESPACE\s*$/) {
- $qt_end_namespace_found = 1;
+ last;
+ } elsif($line =~ /^ *\# *include/) {
+ my $include = $line;
+ if($line =~ /<.*>/) {
+ $include =~ s,.*<(.*)>.*,$1,;
+ } elsif($line =~ /".*"/) {
+ $include =~ s,.*"(.*)".*,$1,;
+ } else {
+ $include = 0;
+ }
+ if($include) {
+ for (keys(%modules)) {
+ my $trylib = $_;
+ if(-e "$out_basedir/include/$trylib/$include") {
+ print "WARNING: $iheader includes $include when it should include $trylib/$include\n";
+ }
+ }
+ }
+ } elsif ($header_skip_qt_begin_header_test == 0 and $line =~ /^QT_BEGIN_HEADER\s*$/) {
+ $qt_begin_header_found = 1;
+ } elsif ($header_skip_qt_begin_header_test == 0 and $line =~ /^QT_END_HEADER\s*$/) {
+ $qt_end_header_found = 1;
+ } elsif ($header_skip_qt_begin_namespace_test == 0 and $line =~ /^QT_BEGIN_NAMESPACE\s*$/) {
+ $qt_begin_namespace_found = 1;
+ } elsif ($header_skip_qt_begin_namespace_test == 0 and $line =~ /^QT_END_NAMESPACE\s*$/) {
+ $qt_end_namespace_found = 1;
} elsif ($header_skip_qt_module_test == 0 and $line =~ /^QT_MODULE\(.*\)\s*$/) {
$qt_module_found = 1;
}
- }
+ }
if ($header_skip_qt_begin_header_test == 0) {
if ($qt_begin_header_found == 0) {
print "WARNING: $iheader does not include QT_BEGIN_HEADER\n";
@@ -1092,13 +1113,13 @@ if($check_includes) {
print "WARNING: $iheader does not include QT_MODULE\n";
}
}
- close(F);
- }
- }
- }
- }
- }
- }
+ close(F);
+ }
+ }
+ }
+ }
+ }
+ }
}
}
diff --git a/config.tests/symbian/simple/main.cpp b/config.tests/symbian/simple/main.cpp
new file mode 100644
index 0000000000..9227c42bc0
--- /dev/null
+++ b/config.tests/symbian/simple/main.cpp
@@ -0,0 +1,46 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the config.tests of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+#include <stdio.h>
+
+int main(int, char **) {
+ printf("test\n");
+ return 0;
+}
diff --git a/config.tests/symbian/simple/simple.pro b/config.tests/symbian/simple/simple.pro
new file mode 100644
index 0000000000..fa086c982e
--- /dev/null
+++ b/config.tests/symbian/simple/simple.pro
@@ -0,0 +1,4 @@
+TEMPLATE = app
+QT =
+SOURCES += main.cpp
+
diff --git a/config.tests/unix/bsymbolic_functions.test b/config.tests/unix/bsymbolic_functions.test
index 52fdb32d54..6c3489591b 100755
--- a/config.tests/unix/bsymbolic_functions.test
+++ b/config.tests/unix/bsymbolic_functions.test
@@ -4,11 +4,12 @@ BSYMBOLIC_FUNCTIONS_SUPPORT=no
COMPILER=$1
VERBOSE=$2
+
cat >>bsymbolic_functions.c << EOF
int main() { return 0; }
EOF
-"$COMPILER" -o libtest.so -shared -Wl,-Bsymbolic-functions -fPIC bsymbolic_functions.c >/dev/null 2>&1 && BSYMBOLIC_FUNCTIONS_SUPPORT=yes
+$COMPILER -o libtest.so -shared -Wl,-Bsymbolic-functions -fPIC bsymbolic_functions.c >/dev/null 2>&1 && BSYMBOLIC_FUNCTIONS_SUPPORT=yes
rm -f bsymbolic_functions.c libtest.so
# done
diff --git a/config.tests/unix/compile.test b/config.tests/unix/compile.test
index 67a4636598..99ebfd2467 100755
--- a/config.tests/unix/compile.test
+++ b/config.tests/unix/compile.test
@@ -65,8 +65,10 @@ test -d "$OUTDIR/$TEST" || mkdir -p "$OUTDIR/$TEST"
cd "$OUTDIR/$TEST"
test -r Makefile && $MAKE distclean >/dev/null 2>&1
+# Make sure output from possible previous tests is gone
+rm -f "$EXE" "${EXE}.exe"
-"$OUTDIR/bin/qmake" -nocache -spec "$QMKSPEC" "CONFIG+=$QMAKE_CONFIG" "LIBS*=$LFLAGS" "LIBS+=$MAC_ARCH_LFLAGS" "INCLUDEPATH*=$INCLUDEPATH" "QMAKE_CXXFLAGS*=$CXXFLAGS" "QMAKE_CXXFLAGS+=$MAC_ARCH_CXXFLAGS" "$SRCDIR/$TEST/$EXE.pro" -o "$OUTDIR/$TEST/Makefile"
+"$OUTDIR/bin/qmake" -nocache -spec "$QMKSPEC" "CONFIG+=$QMAKE_CONFIG" "CONFIG-=debug_and_release" "LIBS*=$LFLAGS" "LIBS+=$MAC_ARCH_LFLAGS" "INCLUDEPATH*=$INCLUDEPATH" "QMAKE_CXXFLAGS*=$CXXFLAGS" "QMAKE_CXXFLAGS+=$MAC_ARCH_CXXFLAGS" "$SRCDIR/$TEST/$EXE.pro" -o "$OUTDIR/$TEST/Makefile"
if [ "$VERBOSE" = "yes" ]; then
$MAKE
@@ -74,7 +76,7 @@ else
$MAKE >/dev/null 2>&1
fi
-[ -x "$EXE" ] && SUCCESS=yes
+( [ -x "$EXE" ] || [ -x "${EXE}.exe" ] ) && SUCCESS=yes
# done
if [ "$SUCCESS" != "yes" ]; then
diff --git a/config.tests/unix/fvisibility.test b/config.tests/unix/fvisibility.test
index 99e6fbe881..27c6841082 100755
--- a/config.tests/unix/fvisibility.test
+++ b/config.tests/unix/fvisibility.test
@@ -34,7 +34,7 @@ EOF
case "$COMPILER" in
-gcc|g++)
+*g++*|*c++*)
CMDLINE="-fvisibility=hidden"
RunCompileTest
;;
diff --git a/config.tests/unix/getaddrinfo/getaddrinfotest.cpp b/config.tests/unix/getaddrinfo/getaddrinfotest.cpp
index 0c482ccc9f..df6ae105f7 100644
--- a/config.tests/unix/getaddrinfo/getaddrinfotest.cpp
+++ b/config.tests/unix/getaddrinfo/getaddrinfotest.cpp
@@ -42,9 +42,16 @@
/* Sample program for configure to test for getaddrinfo on the unix
platform. we check for all structures and functions required. */
+#include <stdio.h>
+#include <stdlib.h>
+#ifdef __MINGW32__
+#include <winsock2.h>
+#include <ws2tcpip.h>
+#else
#include <sys/types.h>
#include <sys/socket.h>
#include <netdb.h>
+#endif
int main()
{
diff --git a/config.tests/unix/iconv/iconv.pro b/config.tests/unix/iconv/iconv.pro
index 8cdc776bdc..d642da2f2b 100644
--- a/config.tests/unix/iconv/iconv.pro
+++ b/config.tests/unix/iconv/iconv.pro
@@ -1,3 +1,3 @@
SOURCES = iconv.cpp
CONFIG -= qt dylib app_bundle
-mac:LIBS += -liconv
+mac|win32-g++*:LIBS += -liconv
diff --git a/config.tests/unix/ipv6/ipv6test.cpp b/config.tests/unix/ipv6/ipv6test.cpp
index 4fb27f2ed0..4243f2d5af 100644
--- a/config.tests/unix/ipv6/ipv6test.cpp
+++ b/config.tests/unix/ipv6/ipv6test.cpp
@@ -46,9 +46,14 @@ platforms. We check for the required IPv6 data structures. */
#define _HPUX_SOURCE
#endif
+#ifdef __MINGW32__
+#include <winsock2.h>
+#include <ws2tcpip.h>
+#else
#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/in.h>
+#endif
int main()
{
diff --git a/config.tests/unix/odbc/odbc.cpp b/config.tests/unix/odbc/odbc.cpp
index 32602c0b23..98f357146e 100644
--- a/config.tests/unix/odbc/odbc.cpp
+++ b/config.tests/unix/odbc/odbc.cpp
@@ -39,6 +39,9 @@
**
****************************************************************************/
+#ifdef __MINGW32__
+#include <windows.h>
+#endif
#include <sql.h>
#include <sqlext.h>
diff --git a/config.tests/unix/odbc/odbc.pro b/config.tests/unix/odbc/odbc.pro
index c588edee68..06a548fd71 100644
--- a/config.tests/unix/odbc/odbc.pro
+++ b/config.tests/unix/odbc/odbc.pro
@@ -1,4 +1,5 @@
SOURCES = odbc.cpp
CONFIG -= qt dylib
mac:CONFIG -= app_bundle
-LIBS += -lodbc
+win32-g++*:LIBS += -lodbc32
+else:LIBS += -lodbc
diff --git a/config.tests/unix/psql/psql.pro b/config.tests/unix/psql/psql.pro
index 64bb3d6394..38bfb3ed70 100644
--- a/config.tests/unix/psql/psql.pro
+++ b/config.tests/unix/psql/psql.pro
@@ -1,4 +1,4 @@
SOURCES = psql.cpp
CONFIG -= qt dylib
mac:CONFIG -= app_bundle
-LIBS += -lpq
+LIBS *= -lpq
diff --git a/config.tests/x11/opengl/opengl.pro b/config.tests/x11/opengl/opengl.pro
index 432bd8dc31..5fd41d362a 100644
--- a/config.tests/x11/opengl/opengl.pro
+++ b/config.tests/x11/opengl/opengl.pro
@@ -7,4 +7,5 @@ for(p, QMAKE_LIBDIR_OPENGL) {
}
CONFIG -= qt
-LIBS += -lGL -lGLU
+win32-g++*:LIBS += -lopengl32
+else:LIBS += -lGL -lGLU
diff --git a/configure b/configure
index 9db16e3515..41ccb343c1 100755
--- a/configure
+++ b/configure
@@ -727,8 +727,6 @@ CFG_RELEASE_QMAKE=no
CFG_PHONON=auto
CFG_PHONON_BACKEND=yes
CFG_MULTIMEDIA=auto
-CFG_MEDIASERVICES=auto
-CFG_MEDIA_BACKEND=auto
CFG_AUDIO_BACKEND=auto
CFG_SVG=auto
CFG_DECLARATIVE=auto
@@ -825,7 +823,8 @@ L_FLAGS=
RPATH_FLAGS=
l_FLAGS=
QCONFIG_FLAGS=
-XPLATFORM= # This seems to be the QMAKESPEC, like "linux-g++"
+XPLATFORM= # This seems to be the QMAKESPEC, like "linux-g++" or "symbian/linux-gcce"
+XPLATFORM_MINGW=no # Whether target platform is MinGW (win32-g++*)
PLATFORM=$QMAKESPEC
QT_CROSS_COMPILE=no
OPT_CONFIRM_LICENSE=no
@@ -1021,7 +1020,7 @@ while [ "$#" -gt 0 ]; do
VAL=no
;;
#Qt style yes options
- -incremental|-qvfb|-profile|-shared|-static|-sm|-xinerama|-xshape|-xsync|-xinput|-egl|-reduce-exports|-pch|-separate-debug-info|-stl|-freetype|-xcursor|-xfixes|-xrandr|-xrender|-mitshm|-fontconfig|-xkb|-nis|-qdbus|-dbus|-dbus-linked|-glib|-gstreamer|-gtkstyle|-cups|-iconv|-largefile|-h|-help|-v|-verbose|-debug|-release|-fast|-accessibility|-confirm-license|-gnumake|-framework|-qt3support|-debug-and-release|-exceptions|-cocoa|-carbon|-universal|-prefix-install|-silent|-armfpa|-optimized-qmake|-dwarf2|-reduce-relocations|-sse|-openssl|-openssl-linked|-ptmalloc|-xmlpatterns|-phonon|-phonon-backend|-multimedia|-mediaservices|-media-backend|-audio-backend|-svg|-declarative|-webkit|-javascript-jit|-script|-scripttools|-rpath|-force-pkg-config|-s60|-usedeffiles)
+ -incremental|-qvfb|-profile|-shared|-static|-sm|-xinerama|-xshape|-xsync|-xinput|-egl|-reduce-exports|-pch|-separate-debug-info|-stl|-freetype|-xcursor|-xfixes|-xrandr|-xrender|-mitshm|-fontconfig|-xkb|-nis|-qdbus|-dbus|-dbus-linked|-glib|-gstreamer|-gtkstyle|-cups|-iconv|-largefile|-h|-help|-v|-verbose|-debug|-release|-fast|-accessibility|-confirm-license|-gnumake|-framework|-qt3support|-debug-and-release|-exceptions|-cocoa|-carbon|-universal|-prefix-install|-silent|-armfpa|-optimized-qmake|-dwarf2|-reduce-relocations|-sse|-openssl|-openssl-linked|-ptmalloc|-xmlpatterns|-phonon|-phonon-backend|-multimedia|-audio-backend|-svg|-declarative|-webkit|-javascript-jit|-script|-scripttools|-rpath|-force-pkg-config|-s60|-usedeffiles)
VAR=`echo $1 | sed "s,^-\(.*\),\1,"`
VAL=yes
;;
@@ -1444,7 +1443,9 @@ while [ "$#" -gt 0 ]; do
fi
;;
arch)
- if [ "$PLATFORM_MAC" = "yes" ]; then
+ # if this is a Mac then "windows" probably means
+ # we are cross-compiling for MinGW
+ if [ "$PLATFORM_MAC" = "yes" ] && [ "$VAL" != "windows" ]; then
CFG_MAC_ARCHS="$CFG_MAC_ARCHS $VAL"
else
CFG_ARCH=$VAL
@@ -1562,6 +1563,7 @@ while [ "$#" -gt 0 ]; do
;;
xplatform)
XPLATFORM="$VAL"
+ case `basename "$XPLATFORM"` in win32-g++*) XPLATFORM_MINGW=yes;; esac
;;
debug-and-release)
if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
@@ -2281,20 +2283,6 @@ while [ "$#" -gt 0 ]; do
UNKNOWN_OPT=yes
fi
;;
- mediaservices)
- if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
- CFG_MEDIASERVICES="$VAL"
- else
- UNKNOWN_OPT=yes
- fi
- ;;
- media-backend)
- if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
- CFG_MEDIA_BACKEND="$VAL"
- else
- UNKNOWN_OPT=yes
- fi
- ;;
audio-backend)
if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
CFG_AUDIO_BACKEND="$VAL"
@@ -2338,9 +2326,11 @@ minimal|small|medium|large|full)
;;
*)
# not known to be sufficient for anything
- if [ '!' -f "$relpath/src/corelib/global/qconfig-${CFG_QCONFIG}.h" ]; then
+ if [ '!' -f "$relpath/src/corelib/global/qconfig-${CFG_QCONFIG}.h" ] && [ '!' -f `"$relpath/config.tests/unix/makeabs" "${CFG_QCONFIG}"` ]; then
echo >&2 "Error: configuration file not found:"
echo >&2 " $relpath/src/corelib/global/qconfig-${CFG_QCONFIG}.h"
+ echo >&2 " or"
+ echo >&2 " `"$relpath/config.tests/unix/makeabs" "${CFG_QCONFIG}"`"
OPT_HELP=yes
fi
esac
@@ -2715,9 +2705,13 @@ if [ -z "$PLATFORM" ]; then
"
;;
SunOS:5*)
- #PLATFORM=solaris-g++
- PLATFORM=solaris-cc
- #PLATFORM=solaris-cc64
+ if [ "$XPLATFORM_MINGW" = "yes" ]; then
+ PLATFORM="solaris-g++"
+ else
+ #PLATFORM=solaris-g++
+ PLATFORM=solaris-cc
+ #PLATFORM=solaris-cc64
+ fi
PLATFORM_NOTES="
- Also available for Solaris: solaris-g++ solaris-cc-64
"
@@ -2787,6 +2781,9 @@ else
fi
[ -z "$XPLATFORM" ] && XPLATFORM="$PLATFORM"
+
+case `basename "$XPLATFORM"` in win32-g++*) XPLATFORM_MINGW=yes;; esac
+
if [ -d "$PLATFORM" ]; then
QMAKESPEC="$PLATFORM"
else
@@ -2894,6 +2891,17 @@ fi
if [ -z "${CFG_HOST_ARCH}" ]; then
case "$UNAME_SYSTEM:$UNAME_RELEASE:$UNAME_MACHINE" in
+ GNU:*:*)
+ CFG_HOST_ARCH=`echo ${UNAME_MACHINE} | sed -e 's,[-/].*$,,'`
+ case "$CFG_HOST_ARCH" in
+ i?86)
+ CFG_HOST_ARCH=i386
+ ;;
+ esac
+ if [ "$OPT_VERBOSE" = "yes" ]; then
+ echo " GNU/Hurd ($CFG_HOST_ARCH)"
+ fi
+ ;;
IRIX*:*:*)
CFG_HOST_ARCH=`uname -p`
if [ "$OPT_VERBOSE" = "yes" ]; then
@@ -3048,6 +3056,8 @@ if [ "$PLATFORM" != "$XPLATFORM" -a "$CFG_EMBEDDED" != "no" ]; then
CFG_ARCH="$CFG_EMBEDDED"
;;
esac
+elif [ "$XPLATFORM_MINGW" = "yes" ]; then
+ [ -z "$CFG_ARCH" ] && CFG_ARCH="windows"
elif [ "$PLATFORM_MAC" = "yes" ] || [ -z "$CFG_ARCH" ]; then
CFG_ARCH=$CFG_HOST_ARCH
fi
@@ -3224,8 +3234,8 @@ fi
# auto-detect support for separate debug info in objcopy
if [ "$CFG_SEPARATE_DEBUG_INFO" != "no" ] && [ "$CFG_SHARED" = "yes" ]; then
- TEST_COMPILER_CFLAGS=`getQMakeConf "$XQMAKESPEC" | sed -n -e 's%QMAKE_CFLAGS[^_].*=%%p' | tr '\n' ' '`
- TEST_COMPILER_CXXFLAGS=`getQMakeConf "$XQMAKESPEC" | sed -n -e 's%QMAKE_CXXFLAGS[^_].*=%%p' | tr '\n' ' '`
+ TEST_COMPILER_CFLAGS=`getQMakeConf "$XQMAKESPEC" | sed -n -e 's%QMAKE_CFLAGS[^_=]*[+*]*=%%p' | tr '\n' ' '`
+ TEST_COMPILER_CXXFLAGS=`getQMakeConf "$XQMAKESPEC" | sed -n -e 's%QMAKE_CXXFLAGS[^_=]*[+*]*=%%p' | tr '\n' ' '`
TEST_OBJCOPY=`getQMakeConf "$XQMAKESPEC" | grep "^QMAKE_OBJCOPY" | sed "s%.* *= *\(.*\)$%\1%" | tail -1`
COMPILER_WITH_FLAGS="$TEST_COMPILER $TEST_COMPILER_CXXFLAGS"
COMPILER_WITH_FLAGS=`echo "$COMPILER_WITH_FLAGS" | sed -e "s%\\$\\$QMAKE_CFLAGS%$TEST_COMPILER_CFLAGS%g"`
@@ -3333,19 +3343,29 @@ fi
#prefix
if [ -z "$QT_INSTALL_PREFIX" ]; then
- if [ "$CFG_DEV" = "yes" ]; then
- QT_INSTALL_PREFIX="$outpath" # In Development, we use sandboxed builds by default
- elif [ "$PLATFORM_QWS" = "yes" -o "$PLATFORM_EMBLITE" = "yes" ]; then
+ if [ -d "$EPOCROOT" ]; then
+ case "$XPLATFORM" in *symbian*)
+ QT_INSTALL_PREFIX="$EPOCROOT/epoc32/"
+ QT_INSTALL_LIBS="$EPOCROOT/epoc32/release/armv5/lib/"
+ ;;
+ esac
+ fi
+
+ if [ -z "$QT_INSTALL_PREFIX" ]; then # still empty
+ if [ "$CFG_DEV" = "yes" ]; then
+ QT_INSTALL_PREFIX="$outpath" # In Development, we use sandboxed builds by default
+ elif [ "$PLATFORM_QWS" = "yes" -o "$PLATFORM_EMBLITE" = "yes" ]; then
if [ "$PLATFORM_EMBLITE" = "yes" ]; then
QT_INSTALL_PREFIX="/usr/local/Trolltech/QtLighthouse-${QT_VERSION}"
else
QT_INSTALL_PREFIX="/usr/local/Trolltech/QtEmbedded-${QT_VERSION}"
fi
- if [ "$PLATFORM" != "$XPLATFORM" ]; then
- QT_INSTALL_PREFIX="${QT_INSTALL_PREFIX}-${CFG_ARCH}"
+ if [ "$PLATFORM" != "$XPLATFORM" ]; then
+ QT_INSTALL_PREFIX="${QT_INSTALL_PREFIX}-${CFG_ARCH}"
+ fi
+ else
+ QT_INSTALL_PREFIX="/usr/local/Trolltech/Qt-${QT_VERSION}" # the default install prefix is /usr/local/Trolltech/Qt-$QT_VERSION
fi
- else
- QT_INSTALL_PREFIX="/usr/local/Trolltech/Qt-${QT_VERSION}" # the default install prefix is /usr/local/Trolltech/Qt-$QT_VERSION
fi
fi
QT_INSTALL_PREFIX=`"$relpath/config.tests/unix/makeabs" "$QT_INSTALL_PREFIX"`
@@ -3540,8 +3560,7 @@ Usage: $relconf [-h] [-prefix <dir>] [-prefix-install] [-bindir <dir>] [-libdir
[-no-separate-debug-info] [-no-mmx] [-no-3dnow] [-no-sse] [-no-sse2]
[-qtnamespace <namespace>] [-qtlibinfix <infix>] [-separate-debug-info] [-armfpa]
[-no-optimized-qmake] [-optimized-qmake] [-no-xmlpatterns] [-xmlpatterns]
- [-no-multimedia] [-multimedia] [-no-mediaservices] [-mediaservices]
- [-no-phonon] [-phonon] [-no-phonon-backend] [-phonon-backend]
+ [-no-multimedia] [-multimedia] [-no-phonon] [-phonon] [-no-phonon-backend] [-phonon-backend]
[-no-media-backend] [-media-backend] [-no-audio-backend] [-audio-backend]
[-no-openssl] [-openssl] [-openssl-linked]
[-no-gtkstyle] [-gtkstyle] [-no-svg] [-svg] [-no-webkit] [-webkit] [-no-javascript-jit] [-javascript-jit]
@@ -3686,12 +3705,6 @@ fi
-no-audio-backend .. Do not build the platform audio backend into QtMultimedia.
+ -audio-backend ..... Build the platform audio backend into QtMultimedia if available.
- -no-mediaservices... Do not build the QtMediaServices module.
- + -mediaservices...... Build the QtMediaServices module.
-
- -no-media-backend... Do not build platform mediaservices plugin.
- + -media-backend..... Build the platform mediaservices plugin.
-
-no-phonon ......... Do not build the Phonon module.
+ -phonon ............ Build the Phonon module.
Phonon is built if a decent C++ compiler is used.
@@ -4192,7 +4205,7 @@ if [ "$PLATFORM_QWS" = "yes" -o "$PLATFORM_EMBLITE" = "yes" -o "$PLATFORM_X11" =
EOF
fi
-if echo "$XPLATFORM" | grep symbian > /dev/null ; then
+case "$XPLATFORM" in *symbian*)
cat << EOF
Qt for Symbian only:
@@ -4204,7 +4217,8 @@ Qt for Symbian only:
-no-usedeffiles .... Disable the usage of DEF files.
* -usedeffiles ....... Enable the usage of DEF files.
EOF
-fi
+;;
+esac
[ "x$ERROR" = "xyes" ] && exit 1
exit 0
@@ -4221,6 +4235,8 @@ elif [ "$PLATFORM_MAC" = "yes" ]; then
Platform="Qt for Mac OS X"
elif echo "$XPLATFORM" | grep "symbian" > /dev/null ; then
Platform="Qt for Symbian"
+elif [ "$XPLATFORM_MINGW" = "yes" ]; then
+ Platform="Qt for Windows"
elif [ '!' -z "`getQMakeConf \"$XQMAKESPEC\" | grep QMAKE_LIBS_X11 | awk '{print $3;}'`" ]; then
PLATFORM_X11=yes
Platform="Qt for Linux/X11"
@@ -4802,7 +4818,7 @@ if [ "$CFG_IWMMXT" = "yes" ]; then
fi
# detect neon support
-if ([ "$CFG_ARCH" = "arm" ] || [ "$CFG_ARCH" = "armv6" ]) && [ "${CFG_NEON}" = "auto" ]; then
+if ( [ "$CFG_ARCH" = "arm" ] || [ "$CFG_ARCH" = "armv6" ] ) && [ "${CFG_NEON}" = "auto" ]; then
if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/neon "neon" $L_FLAGS $I_FLAGS $l_FLAGS "-mfpu=neon"; then
CFG_NEON=yes
else
@@ -4832,6 +4848,45 @@ if [ "$CFG_ZLIB" = "auto" ]; then
fi
fi
+[ "$XPLATFORM_MINGW" = "yes" ] && QMakeVar add styles "windowsxp windowsvista"
+
+case "$XPLATFORM" in *symbian*)
+ QMakeVar set styles "windows s60" #overwrite previous default
+ CFG_LIBFREETYPE=no
+
+ if test -z "$EPOCROOT"; then
+ echo "Please export EPOCROOT. It should point to the sdk install dir"
+ exit 1
+ fi
+ if test ! -d "$EPOCROOT/epoc32"; then
+ echo "Could not find the 'epoc32' dir in your EPOCROOT."
+ exit 1
+ fi
+
+ # the main commands needed to compile;
+ (cd config.tests/symbian
+ mkdir -p rcomp
+ cd rcomp
+ rm -f rcomp_test.rsg
+ touch rcomp_test.rpp rcomp_test.rsc rcomp_test.rss
+ rcomp -u -m045,046,047 -s./rcomp_test.rpp -o./rcomp_test.rsc -h./rcomp_test.rsg -i./rcomp_test.rss 2>&1 > /dev/null
+ if test ! -f rcomp_test.rsg; then
+ echo "Finding a working rcomp in your PATH failed."
+ echo "Fatal error. Make sure you have the epoc tools working and in your PATH";
+ exit 1;
+ fi
+ )
+
+ # compile a simple main that uses printf
+ if ! "$symbiantests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/symbian/simple "simple" $L_FLAGS $I_FLAGS $l_FLAGS
+ then
+ echo "Testing your compiler failed. Could not compile a simple application."
+ echo "Fatal error; Rerun configure with -verbose to get more details."
+ exit 1;
+ fi
+ ;;
+esac
+
if [ "$CFG_S60" = "auto" ]; then
if echo "$XPLATFORM" | grep symbian > /dev/null; then
CFG_S60=yes
@@ -4928,7 +4983,14 @@ fi
# detect accessibility
if [ "$CFG_ACCESSIBILITY" = "auto" ]; then
- CFG_ACCESSIBILITY=yes
+ case "$XPLATFORM" in
+ symbian*)
+ # accessibility is currently unsupported
+ CFG_ACCESSIBILITY=no
+ ;;
+ *)
+ CFG_ACCESSIBILITY=yes
+ esac
fi
# auto-detect SQL-modules support
@@ -4987,12 +5049,15 @@ for _SQLDR in $CFG_SQL_AVAILABLE; do
;;
psql)
if [ "$CFG_SQL_psql" != "no" ]; then
- if "$WHICH" pg_config >/dev/null 2>&1; then
+ # Be careful not to use native pg_config when cross building.
+ if [ "$XPLATFORM_MINGW" != "yes" ] && "$WHICH" pg_config >/dev/null 2>&1; then
QT_CFLAGS_PSQL=`pg_config --includedir 2>/dev/null`
QT_LFLAGS_PSQL=`pg_config --libdir 2>/dev/null`
fi
[ -z "$QT_CFLAGS_PSQL" ] || QT_CFLAGS_PSQL="-I$QT_CFLAGS_PSQL"
[ -z "$QT_LFLAGS_PSQL" ] || QT_LFLAGS_PSQL="-L$QT_LFLAGS_PSQL"
+ # But, respect PSQL_LIBS if set
+ [ -z "$PSQL_LIBS" ] || QT_LFLAGS_PSQL="$PSQL_LIBS"
if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/psql "PostgreSQL" $QT_LFLAGS_PSQL $L_FLAGS $QT_CFLAGS_PSQL $I_FLAGS $l_FLAGS $MAC_CONFIG_TEST_COMMANDLINE; then
if [ "$CFG_SQL_psql" = "auto" ]; then
CFG_SQL_psql=plugin
@@ -5014,7 +5079,7 @@ for _SQLDR in $CFG_SQL_AVAILABLE; do
;;
odbc)
if [ "$CFG_SQL_odbc" != "no" ]; then
- if [ "$PLATFORM_MAC" != "yes" ] && "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/odbc "ODBC" $L_FLAGS $I_FLAGS $l_FLAGS $MAC_CONFIG_TEST_COMMANDLINE; then
+ if ( [ "$PLATFORM_MAC" != "yes" ] || [ "$XPLATFORM_MINGW" = "yes" ] ) && "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/odbc "ODBC" $L_FLAGS $I_FLAGS $l_FLAGS $MAC_CONFIG_TEST_COMMANDLINE; then
if [ "$CFG_SQL_odbc" = "auto" ]; then
CFG_SQL_odbc=plugin
fi
@@ -5280,6 +5345,7 @@ if [ "$PLATFORM_MAC" = "yes" -a ! -z "$QT_NAMESPACE" ]; then
QT_NAMESPACE_MAC_CRC=`"$mactests/crc.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/mac/crc $QT_NAMESPACE $L_FLAGS $I_FLAGS $l_FLAGS`
fi
+# X11/QWS/Lighthouse
if [ "$PLATFORM_X11" = "yes" -o "$PLATFORM_QWS" = "yes" -o "$PLATFORM_EMBLITE" = "yes" ]; then
# auto-detect Glib support
@@ -5316,21 +5382,8 @@ if [ "$PLATFORM_X11" = "yes" -o "$PLATFORM_QWS" = "yes" -o "$PLATFORM_EMBLITE" =
fi
fi
- if [ "$CFG_GUI" = "no" ]; then
- if [ "$CFG_MEDIA_BACKEND" = "auto" ]; then
- CFG_MEDIA_BACKEND=no
- fi
- if [ "$CFG_MEDIA_BACKEND" != "no" ]; then
- echo "Medias backend enabled, but GUI disabled."
- echo " You might need to either enable the GUI or disable the media backend"
- exit 1
- fi
- elif [ "$CFG_MEDIA_BACKEND" = "auto" ]; then
- CFG_MEDIA_BACKEND=yes
- fi
-
# Auto-detect GStreamer support (needed for both Phonon & QtMultimedia)
- if [ "$CFG_PHONON" != "no" -o "$CFG_MEDIASERVICES" != "no" ]; then
+ if [ "$CFG_PHONON" != "no" ]; then
if [ "$CFG_GLIB" = "yes" -a "$CFG_GSTREAMER" != "no" ]; then
if [ -n "$PKG_CONFIG" ]; then
QT_CFLAGS_GSTREAMER=`$PKG_CONFIG --cflags gstreamer-0.10 gstreamer-plugins-base-0.10 2>/dev/null`
@@ -5455,9 +5508,9 @@ if [ "$PLATFORM_X11" = "yes" -o "$PLATFORM_QWS" = "yes" -o "$PLATFORM_EMBLITE" =
fi
fi
fi
-fi # X11/QWS
+fi # X11/QWS/Lighthouse
-# x11
+# X11
if [ "$PLATFORM_X11" = "yes" ]; then
x11tests="$relpath/config.tests/x11"
X11TESTS_FLAGS=
@@ -5478,7 +5531,10 @@ if [ "$PLATFORM_X11" = "yes" ]; then
echo " QMAKE_INCDIR_X11 and QMAKE_LIBDIR_X11 in ${XQMAKESPEC}."
exit 1
fi
+fi
+# X11/MINGW OpenGL
+if [ "$PLATFORM_X11" = "yes" -o "$XPLATFORM_MINGW" = "yes" ]; then
# auto-detect OpenGL support (es1 = OpenGL ES 1.x Common, es2 = OpenGL ES 2.x)
if [ "$CFG_GUI" = "no" ]; then
if [ "$CFG_OPENGL" = "auto" ]; then
@@ -5574,7 +5630,10 @@ if [ "$PLATFORM_X11" = "yes" ]; then
echo "OpenGL Graphics System is disabled due to missing OpenGL support..."
CFG_GRAPHICS_SYSTEM=default
fi
+fi # X11/MINGW OpenGL
+# X11
+if [ "$PLATFORM_X11" = "yes" ]; then
# auto-detect Xcursor support
if [ "$CFG_XCURSOR" != "no" ]; then
if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/x11/xcursor "Xcursor" $L_FLAGS $I_FLAGS $l_FLAGS $X11TESTS_FLAGS; then
@@ -5994,14 +6053,12 @@ if [ "$PLATFORM_QWS" = "yes" -o "$PLATFORM_EMBLITE" = "yes" ]; then
fi
if [ "${screen}" = "directfb" ] && [ "${CFG_CONFIGURE_EXIT_ON_ERROR}" = "yes" ]; then
- if [ -n "$PKG_CONFIG" ]; then
- if $PKG_CONFIG --exists directfb 2>/dev/null; then
- QT_CFLAGS_DIRECTFB=`$PKG_CONFIG --cflags directfb 2>/dev/null`
- QT_LIBS_DIRECTFB=`$PKG_CONFIG --libs directfb 2>/dev/null`
- elif directfb-config --version >/dev/null 2>&1; then
- QT_CFLAGS_DIRECTFB=`directfb-config --cflags 2>/dev/null`
- QT_LIBS_DIRECTFB=`directfb-config --libs 2>/dev/null`
- fi
+ if test -n "$PKG_CONFIG" && "$PKG_CONFIG" --exists directfb 2>/dev/null; then
+ QT_CFLAGS_DIRECTFB=`$PKG_CONFIG --cflags directfb 2>/dev/null`
+ QT_LIBS_DIRECTFB=`$PKG_CONFIG --libs directfb 2>/dev/null`
+ elif directfb-config --version >/dev/null 2>&1; then
+ QT_CFLAGS_DIRECTFB=`directfb-config --cflags 2>/dev/null`
+ QT_LIBS_DIRECTFB=`directfb-config --libs 2>/dev/null`
fi
# QMake variables set here override those in the mkspec. Therefore we only set the variables here if they are not zero.
@@ -6072,16 +6129,19 @@ if [ "$PLATFORM_X11" = "yes" -o "$PLATFORM_QWS" = "yes" ]; then
fi
CFG_EGL=no
# If QtOpenGL would be built against OpenGL ES, disable it as we can't to that if EGL is missing
- if [ "$CFG_OPENGL" = "es1" || "$CFG_OPENGL" = "es2" ]; then
+ if [ "$CFG_OPENGL" = "es1" -o "$CFG_OPENGL" = "es2" ]; then
CFG_OPENGL=no
fi
fi
fi
fi
+[ "$XPLATFORM_MINGW" = "yes" ] && [ "$CFG_PHONON" != "no" ] && CFG_PHONON="yes"
+
# freetype support
[ "x$CFG_EMBEDDED" != "xno" ] && CFG_LIBFREETYPE="$CFG_QWS_FREETYPE"
[ "x$PLATFORM_MAC" = "xyes" ] && CFG_LIBFREETYPE=no
+[ "$XPLATFORM_MINGW" = "yes" ] && [ "$CFG_LIBFREETYPE" = "auto" ] && CFG_LIBFREETYPE=no
if [ "$CFG_LIBFREETYPE" = "auto" ]; then
if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/freetype "FreeType" $L_FLAGS $I_FLAGS $l_FLAGS $MAC_CONFIG_TEST_COMMANDLINE; then
CFG_LIBFREETYPE=system
@@ -6091,7 +6151,9 @@ if [ "$CFG_LIBFREETYPE" = "auto" ]; then
fi
if [ "$CFG_ENDIAN" = "auto" ]; then
- if [ "$PLATFORM_MAC" = "yes" ]; then
+ if [ "$XPLATFORM_MINGW" = "yes" ]; then
+ CFG_ENDIAN="Q_LITTLE_ENDIAN"
+ elif [ "$PLATFORM_MAC" = "yes" ]; then
true #leave as auto
elif [ "$XPLATFORM" = "symbian-sbsv2" ]; then
CFG_ENDIAN="Q_LITTLE_ENDIAN"
@@ -6417,6 +6479,11 @@ if [ "$CFG_AUDIO_BACKEND" = "auto" ]; then
fi
fi
+if [ "$CFG_LARGEFILE" != "yes" ] && [ "$XPLATFORM_MINGW" = "yes" ]; then
+ echo "Warning: largefile support cannot be disabled for win32."
+ CFG_LARGEFILE="yes"
+fi
+
#-------------------------------------------------------------------------------
# ask for all that hasn't been auto-detected or specified in the arguments
#-------------------------------------------------------------------------------
@@ -6524,6 +6591,9 @@ if [ "$PLATFORM_MAC" = "yes" ]; then
fi
fi
+# but disable Cocoa if cross-building for mingw
+[ "$XPLATFORM_MINGW" = "yes" ] && CFG_MAC_COCOA="no"
+
# set the global Mac deployment target. This is overridden on an arch-by-arch basis
# in some cases, see code further down
case "$PLATFORM,$CFG_MAC_COCOA" in
@@ -6679,7 +6749,7 @@ QMakeVar set OBJECTS_DIR ".obj/$QMAKE_OUTDIR"
QMakeVar set MOC_DIR ".moc/$QMAKE_OUTDIR"
QMakeVar set RCC_DIR ".rcc/$QMAKE_OUTDIR"
QMakeVar set UI_DIR ".uic/$QMAKE_OUTDIR"
-if [ "$CFG_LARGEFILE" = "yes" ]; then
+if [ "$CFG_LARGEFILE" = "yes" ] && [ "$XPLATFORM_MINGW" != "yes" ]; then
QMAKE_CONFIG="$QMAKE_CONFIG largefile"
fi
if [ "$CFG_STL" = "no" ]; then
@@ -6795,7 +6865,7 @@ else
fi
-if [ "x$PLATFORM_MAC" = "xyes" ] && [ "$XPLATFORM" != "win32-g++" ]; then
+if [ "x$PLATFORM_MAC" = "xyes" ] && [ "$XPLATFORM_MINGW" != "yes" ]; then
#On Mac we implicitly link against libz, so we
#never use the 3rdparty stuff.
[ "$CFG_ZLIB" = "yes" ] && CFG_ZLIB="system"
@@ -6937,6 +7007,12 @@ if [ "$CFG_EXCEPTIONS" != "no" ]; then
QTCONFIG_CONFIG="$QTCONFIG_CONFIG exceptions"
fi
+if [ "$XPLATFORM_MINGW" = "yes" ]; then
+ # mkspecs/features/win32/default_pre.prf sets "no-rtti".
+ # Follow default behavior of configure.exe by overriding with "rtti".
+ QTCONFIG_CONFIG="$QTCONFIG_CONFIG rtti"
+fi
+
if [ "$CFG_ALSA" = "yes" ]; then
QT_CONFIG="$QT_CONFIG alsa"
fi
@@ -7106,15 +7182,6 @@ else
QT_CONFIG="$QT_CONFIG multimedia"
fi
-if [ "$CFG_MEDIASERVICES" = "no" ]; then
- QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_MEDIASERVICES"
-else
- QT_CONFIG="$QT_CONFIG mediaservices"
- if [ "$CFG_MEDIA_BACKEND" != "no" ]; then
- QT_CONFIG="$QT_CONFIG media-backend"
- fi
-fi
-
if [ "$CFG_AUDIO_BACKEND" = "yes" ]; then
QT_CONFIG="$QT_CONFIG audio-backend"
fi
@@ -7435,7 +7502,11 @@ full)
*)
tmpconfig="$outpath/src/corelib/global/qconfig.h.new"
echo "#ifndef QT_BOOTSTRAPPED" >"$tmpconfig"
- cat "$relpath/src/corelib/global/qconfig-$CFG_QCONFIG.h" >>"$tmpconfig"
+ if [ -f "$relpath/src/corelib/global/qconfig-$CFG_QCONFIG.h" ]; then
+ cat "$relpath/src/corelib/global/qconfig-$CFG_QCONFIG.h" >>"$tmpconfig"
+ elif [ -f `"$relpath/config.tests/unix/makeabs" "${CFG_QCONFIG}"` ]; then
+ cat `"$relpath/config.tests/unix/makeabs" "${CFG_QCONFIG}"` >>"$tmpconfig"
+ fi
echo "#endif" >>"$tmpconfig"
;;
esac
@@ -7535,7 +7606,7 @@ EOF
echo '/* Compile time features */' >>"$outpath/src/corelib/global/qconfig.h.new"
[ '!' -z "$LicenseKeyExt" ] && echo "#define QT_PRODUCT_LICENSEKEY \"$LicenseKeyExt\"" >>"$outpath/src/corelib/global/qconfig.h.new"
-if [ "$CFG_LARGEFILE" = "yes" ]; then
+if [ "$CFG_LARGEFILE" = "yes" ] && [ "$XPLATFORM_MINGW" != "yes" ]; then
echo "#define QT_LARGEFILE_SUPPORT 64" >>"$outpath/src/corelib/global/qconfig.h.new"
fi
@@ -7704,7 +7775,7 @@ fi
[ "$CFG_ALSA" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_ALSA"
[ "$CFG_PULSEAUDIO" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_PULSEAUDIO"
[ "$CFG_COREWLAN" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_COREWLAN"
-[ "$CFG_ICD" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_ICD"
+[ "$CFG_ICD" != "yes" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_ICD"
# sort QCONFIG_FLAGS for neatness if we can
[ '!' -z "$AWK" ] && QCONFIG_FLAGS=`echo $QCONFIG_FLAGS | $AWK '{ gsub(" ", "\n"); print }' | sort | uniq`
@@ -7716,10 +7787,14 @@ then
# We cannot use Linux's default export rules since they export everything.
QCONFIG_FLAGS="$QCONFIG_FLAGS QT_DLL"
# Disable non-working features.
- QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_CONCURRENT QT_NO_QFUTURE QT_NO_CRASHHANDLER QT_NO_PRINTER QT_NO_CURSOR QT_NO_SYSTEMTRAYICON"
+ QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_CONCURRENT QT_NO_QFUTURE QT_NO_CRASHHANDLER QT_NO_PRINTER QT_NO_SYSTEMTRAYICON"
fi
if [ -n "$QCONFIG_FLAGS" ]; then
+cat >>"$outpath/src/corelib/global/qconfig.h.new" << EOF
+#ifndef QT_BOOTSTRAPPED
+
+EOF
for cfg in $QCONFIG_FLAGS; do
cfgd=`echo $cfg | sed 's/=.*$//'` # trim pushed 'Foo=Bar' defines
cfg=`echo $cfg | sed 's/=/ /'` # turn first '=' into a space
@@ -7752,6 +7827,10 @@ cat >>"$outpath/src/corelib/global/qconfig.h.new" << EOF
EOF
fi
done
+cat >>"$outpath/src/corelib/global/qconfig.h.new" << EOF
+#endif // QT_BOOTSTRAPPED
+
+EOF
fi
if [ "$CFG_REDUCE_EXPORTS" = "yes" ]; then
@@ -7877,10 +7956,8 @@ QMAKE_LIBDIR_QT = \$\$QT_BUILD_TREE/lib
EOF
# Ensure we can link to uninistalled libraries
-if [ "$CFG_EMBEDDED" != "nacl" ]; then
- if linkerSupportsFlag -rpath-link "$outpath/lib"; then
- echo "QMAKE_LFLAGS += -Wl,-rpath-link,\$\$QT_BUILD_TREE/lib" >> "$CACHEFILE.tmp"
- fi
+if [ "$XPLATFORM_MINGW" != "yes" ] && [ "$CFG_EMBEDDED" != "nacl" ] && linkerSupportsFlag -rpath-link "$outpath/lib"; then
+ echo "QMAKE_LFLAGS += -Wl,-rpath-link,\$\$QT_BUILD_TREE/lib" >> "$CACHEFILE.tmp"
fi
if [ -n "$QT_CFLAGS_PSQL" ]; then
echo "QT_CFLAGS_PSQL = $QT_CFLAGS_PSQL" >> "$CACHEFILE.tmp"
@@ -8078,7 +8155,6 @@ echo "QtScriptTools module ... $CFG_SCRIPTTOOLS"
echo "QtXmlPatterns module ... $CFG_XMLPATTERNS"
echo "Phonon module .......... $CFG_PHONON"
echo "Multimedia module ...... $CFG_MULTIMEDIA"
-echo "Mediaservices module ... $CFG_MEDIASERVICES"
echo "SVG module ............. $CFG_SVG"
echo "WebKit module .......... $CFG_WEBKIT"
if [ "$CFG_WEBKIT" = "yes" ]; then
@@ -8238,7 +8314,7 @@ if [ "$CFG_OPENSSL" = "linked" ] && [ "$OPENSSL_LIBS" = "" ]; then
echo "NOTE: When linking against OpenSSL, you can override the default"
echo "library names through OPENSSL_LIBS."
echo "For example:"
- echo " ./configure -openssl-linked OPENSSL_LIBS='-L/opt/ssl/lib -lssl -lcrypto'"
+ echo " OPENSSL_LIBS='-L/opt/ssl/lib -lssl -lcrypto' ./configure -openssl-linked"
echo
fi
if [ "$PLATFORM_MAC" = "yes" ] && [ "$CFG_FRAMEWORK" = "yes" ] && [ "$CFG_DEBUG" = "yes" ] && [ "$CFG_DEBUG_RELEASE" = "no" ]; then
@@ -8417,7 +8493,9 @@ for file in .projects .projects.3; do
[ "$IN_ROOT" = "no" ] && continue
case $a in
- *winmain/winmain.pro) continue ;;
+ *winmain/winmain.pro)
+ [ "$XPLATFORM_MINGW" = "yes" ] || continue
+ SPEC=$XQMAKESPEC ;;
*s60main/s60main.pro) continue ;;
*examples/activeqt/*) continue ;;
*/qmake/qmake.pro) continue ;;
diff --git a/configure.exe b/configure.exe
index 35116ff1fa..1fddc810d8 100755
--- a/configure.exe
+++ b/configure.exe
Binary files differ
diff --git a/demos/declarative/calculator/Core/Button.qml b/demos/declarative/calculator/Core/Button.qml
index 8948adc183..7b19febe58 100644
--- a/demos/declarative/calculator/Core/Button.qml
+++ b/demos/declarative/calculator/Core/Button.qml
@@ -1,3 +1,44 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
import Qt 4.7
BorderImage {
diff --git a/demos/declarative/calculator/Core/Display.qml b/demos/declarative/calculator/Core/Display.qml
index b98c44b67a..53f74c9163 100644
--- a/demos/declarative/calculator/Core/Display.qml
+++ b/demos/declarative/calculator/Core/Display.qml
@@ -1,3 +1,44 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
import Qt 4.7
BorderImage {
diff --git a/demos/declarative/calculator/calculator.qml b/demos/declarative/calculator/calculator.qml
index 286a4d16f9..3d3621149c 100644
--- a/demos/declarative/calculator/calculator.qml
+++ b/demos/declarative/calculator/calculator.qml
@@ -1,3 +1,44 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
import Qt 4.7
import "Core"
import "Core/calculator.js" as CalcEngine
@@ -98,8 +139,8 @@ Rectangle {
transitions: Transition {
SequentialAnimation {
PropertyAction { target: rotateButton; property: "operation" }
- NumberAnimation { properties: "rotation"; duration: 300; easing.type: "InOutQuint" }
- NumberAnimation { properties: "x,y,width,height"; duration: 300; easing.type: "InOutQuint" }
+ NumberAnimation { properties: "rotation"; duration: 300; easing.type: Easing.InOutQuint }
+ NumberAnimation { properties: "x,y,width,height"; duration: 300; easing.type: Easing.InOutQuint }
}
}
}
diff --git a/demos/declarative/declarative.pro b/demos/declarative/declarative.pro
index aa60db0ef3..29633861d2 100644
--- a/demos/declarative/declarative.pro
+++ b/demos/declarative/declarative.pro
@@ -12,7 +12,9 @@ sources.files = \
samegame \
snake \
twitter \
+ rssnews \
webbrowser
+
sources.path = $$[QT_INSTALL_DEMOS]/declarative
INSTALLS += sources
diff --git a/demos/declarative/flickr/common/Progress.qml b/demos/declarative/flickr/common/Progress.qml
index f4d25a46fd..99e1a7b6a8 100644
--- a/demos/declarative/flickr/common/Progress.qml
+++ b/demos/declarative/flickr/common/Progress.qml
@@ -1,3 +1,44 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
import Qt 4.7
Item {
diff --git a/demos/declarative/flickr/common/RssModel.qml b/demos/declarative/flickr/common/RssModel.qml
index 415a9e93ff..b4ea3cee55 100644
--- a/demos/declarative/flickr/common/RssModel.qml
+++ b/demos/declarative/flickr/common/RssModel.qml
@@ -1,3 +1,44 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
import Qt 4.7
XmlListModel {
diff --git a/demos/declarative/flickr/common/ScrollBar.qml b/demos/declarative/flickr/common/ScrollBar.qml
index 4022d23585..1574915b44 100644
--- a/demos/declarative/flickr/common/ScrollBar.qml
+++ b/demos/declarative/flickr/common/ScrollBar.qml
@@ -1,3 +1,44 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
import Qt 4.7
Item {
@@ -19,7 +60,7 @@ Item {
states: [
State {
name: "show"
- when: flickableArea.moving
+ when: flickableArea.movingVertically
PropertyChanges {
target: container
opacity: 1
diff --git a/demos/declarative/flickr/common/Slider.qml b/demos/declarative/flickr/common/Slider.qml
index 4da370e158..4353f8d0c6 100644
--- a/demos/declarative/flickr/common/Slider.qml
+++ b/demos/declarative/flickr/common/Slider.qml
@@ -1,3 +1,44 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
import Qt 4.7
Item {
@@ -29,7 +70,7 @@ Item {
MouseArea {
anchors.fill: parent; drag.target: parent
- drag.axis: "XAxis"; drag.minimumX: 2; drag.maximumX: slider.xMax+2
+ drag.axis: Drag.XAxis; drag.minimumX: 2; drag.maximumX: slider.xMax+2
onPositionChanged: { value = (maximum - minimum) * (handle.x-2) / slider.xMax + minimum; }
}
}
diff --git a/demos/declarative/flickr/flickr-90.qml b/demos/declarative/flickr/flickr-90.qml
index d1830bf892..3db44dee43 100644
--- a/demos/declarative/flickr/flickr-90.qml
+++ b/demos/declarative/flickr/flickr-90.qml
@@ -1,3 +1,44 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
import Qt 4.7
Item {
diff --git a/demos/declarative/flickr/flickr.qml b/demos/declarative/flickr/flickr.qml
index 8b73bebb63..48db4765cb 100644
--- a/demos/declarative/flickr/flickr.qml
+++ b/demos/declarative/flickr/flickr.qml
@@ -1,3 +1,44 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
import Qt 4.7
import "common" as Common
import "mobile" as Mobile
@@ -38,7 +79,7 @@ Item {
}
transitions: Transition {
- NumberAnimation { properties: "x"; duration: 500; easing.type: "InOutQuad" }
+ NumberAnimation { properties: "x"; duration: 500; easing.type: Easing.InOutQuad }
}
}
@@ -76,7 +117,7 @@ Item {
}
transitions: Transition {
- NumberAnimation { properties: "x"; duration: 500; easing.type: "InOutQuad" }
+ NumberAnimation { properties: "x"; duration: 500; easing.type: Easing.InOutQuad }
}
}
}
diff --git a/demos/declarative/flickr/mobile/Button.qml b/demos/declarative/flickr/mobile/Button.qml
index 74b5aea7e5..93a6661216 100644
--- a/demos/declarative/flickr/mobile/Button.qml
+++ b/demos/declarative/flickr/mobile/Button.qml
@@ -1,3 +1,44 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
import Qt 4.7
Item {
diff --git a/demos/declarative/flickr/mobile/GridDelegate.qml b/demos/declarative/flickr/mobile/GridDelegate.qml
index 5ab7b87174..cbb00a281b 100644
--- a/demos/declarative/flickr/mobile/GridDelegate.qml
+++ b/demos/declarative/flickr/mobile/GridDelegate.qml
@@ -1,3 +1,44 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
import Qt 4.7
Component {
@@ -21,7 +62,7 @@
Item {
anchors.centerIn: parent
scale: 0.0
- Behavior on scale { NumberAnimation { easing.type: "InOutQuad"} }
+ Behavior on scale { NumberAnimation { easing.type: Easing.InOutQuad} }
id: scaleMe
Rectangle { height: 79; width: 79; id: blackRect; anchors.centerIn: parent; color: "black"; smooth: true }
@@ -38,7 +79,7 @@
states: [
State {
- name: "Show"; when: thumb.status == 1
+ name: "Show"; when: thumb.status == Image.Ready
PropertyChanges { target: scaleMe; scale: 1 }
},
State {
@@ -53,14 +94,14 @@
Transition {
from: "Show"; to: "Details"
ParentAnimation {
- NumberAnimation { properties: "x,y"; duration: 500; easing.type: "InOutQuad" }
+ NumberAnimation { properties: "x,y"; duration: 500; easing.type: Easing.InOutQuad }
}
},
Transition {
from: "Details"; to: "Show"
SequentialAnimation {
ParentAnimation {
- NumberAnimation { properties: "x,y"; duration: 500; easing.type: "InOutQuad" }
+ NumberAnimation { properties: "x,y"; duration: 500; easing.type: Easing.InOutQuad }
}
PropertyAction { targets: wrapper; properties: "z" }
}
diff --git a/demos/declarative/flickr/mobile/ImageDetails.qml b/demos/declarative/flickr/mobile/ImageDetails.qml
index 58b0b830a8..b1a73596a9 100644
--- a/demos/declarative/flickr/mobile/ImageDetails.qml
+++ b/demos/declarative/flickr/mobile/ImageDetails.qml
@@ -1,3 +1,44 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
import Qt 4.7
import "../common" as Common
@@ -54,7 +95,11 @@ Flipable {
Rectangle { anchors.fill: parent; color: "black"; opacity: 0.4 }
- Common.Progress { anchors.centerIn: parent; width: 200; height: 18; progress: bigImage.progress; visible: bigImage.status!=1 }
+ Common.Progress {
+ anchors.centerIn: parent; width: 200; height: 18
+ progress: bigImage.progress; visible: bigImage.status != Image.Ready
+ }
+
Flickable {
id: flickable; anchors.fill: parent; clip: true
contentWidth: imageContainer.width; contentHeight: imageContainer.height
@@ -66,10 +111,10 @@ Flipable {
Image {
id: bigImage; source: container.photoUrl; scale: slider.value
- anchors.centerIn: parent; smooth: !flickable.moving
+ anchors.centerIn: parent; smooth: !flickable.movingVertically
onStatusChanged : {
// Default scale shows the entire image.
- if (status == 1 && width != 0) {
+ if (status == Image.Ready && width != 0) {
slider.minimum = Math.min(flickable.width / width, flickable.height / height);
prevScale = Math.min(slider.minimum, 1);
slider.value = prevScale;
@@ -81,12 +126,12 @@ Flipable {
Text {
text: "Image Unavailable"
- visible: bigImage.status == 'Error'
+ visible: bigImage.status == Image.Error
anchors.centerIn: parent; color: "white"; font.bold: true
}
Common.Slider {
- id: slider; visible: { bigImage.status == 1 && maximum > minimum }
+ id: slider; visible: { bigImage.status == Image.Ready && maximum > minimum }
anchors {
bottom: parent.bottom; bottomMargin: 65
left: parent.left; leftMargin: 25
@@ -114,8 +159,8 @@ Flipable {
transitions: Transition {
SequentialAnimation {
PropertyAction { target: bigImage; property: "smooth"; value: false }
- NumberAnimation { easing.type: "InOutQuad"; properties: "angle"; duration: 500 }
- PropertyAction { target: bigImage; property: "smooth"; value: !flickable.moving }
+ NumberAnimation { easing.type: Easing.InOutQuad; properties: "angle"; duration: 500 }
+ PropertyAction { target: bigImage; property: "smooth"; value: !flickable.movingVertically }
}
}
}
diff --git a/demos/declarative/flickr/mobile/ListDelegate.qml b/demos/declarative/flickr/mobile/ListDelegate.qml
index 28ec3d17fd..3dd2868ff9 100644
--- a/demos/declarative/flickr/mobile/ListDelegate.qml
+++ b/demos/declarative/flickr/mobile/ListDelegate.qml
@@ -1,3 +1,44 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
import Qt 4.7
Component {
diff --git a/demos/declarative/flickr/mobile/TitleBar.qml b/demos/declarative/flickr/mobile/TitleBar.qml
index 71d9385f50..c7e1a5325a 100644
--- a/demos/declarative/flickr/mobile/TitleBar.qml
+++ b/demos/declarative/flickr/mobile/TitleBar.qml
@@ -1,3 +1,44 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
import Qt 4.7
Item {
@@ -18,10 +59,21 @@ Item {
rssModel.tags = editor.text
}
+ Image {
+ id: quitButton
+ anchors.left: parent.left//; anchors.leftMargin: 0
+ anchors.verticalCenter: parent.verticalCenter
+ source: "images/quit.png"
+ MouseArea {
+ anchors.fill: parent
+ onClicked: Qt.quit()
+ }
+ }
+
Text {
id: categoryText
anchors {
- left: parent.left; right: tagButton.left; leftMargin: 10; rightMargin: 10
+ left: quitButton.right; right: tagButton.left; leftMargin: 10; rightMargin: 10
verticalCenter: parent.verticalCenter
}
elide: Text.ElideLeft
@@ -66,10 +118,10 @@ Item {
name: "Tags"
PropertyChanges { target: container; x: -tagButton.x + 5 }
PropertyChanges { target: tagButton; text: "OK" }
- PropertyChanges { target: lineEdit; focus: true }
+ PropertyChanges { target: editor; focus: true }
}
transitions: Transition {
- NumberAnimation { properties: "x"; easing.type: "InOutQuad" }
+ NumberAnimation { properties: "x"; easing.type: Easing.InOutQuad }
}
}
diff --git a/demos/declarative/flickr/mobile/ToolBar.qml b/demos/declarative/flickr/mobile/ToolBar.qml
index b29ca16309..b9cb915232 100644
--- a/demos/declarative/flickr/mobile/ToolBar.qml
+++ b/demos/declarative/flickr/mobile/ToolBar.qml
@@ -1,3 +1,44 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
import Qt 4.7
Item {
diff --git a/demos/declarative/flickr/mobile/images/quit.png b/demos/declarative/flickr/mobile/images/quit.png
new file mode 100644
index 0000000000..5bda1b6e0d
--- /dev/null
+++ b/demos/declarative/flickr/mobile/images/quit.png
Binary files differ
diff --git a/demos/declarative/minehunt/MinehuntCore/Explosion.qml b/demos/declarative/minehunt/MinehuntCore/Explosion.qml
index 73ada60e00..b2644ffac0 100644
--- a/demos/declarative/minehunt/MinehuntCore/Explosion.qml
+++ b/demos/declarative/minehunt/MinehuntCore/Explosion.qml
@@ -1,3 +1,44 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
import Qt 4.7
import Qt.labs.particles 1.0
diff --git a/demos/declarative/minehunt/MinehuntCore/Tile.qml b/demos/declarative/minehunt/MinehuntCore/Tile.qml
index f3620f4a52..64dd63c3ae 100644
--- a/demos/declarative/minehunt/MinehuntCore/Tile.qml
+++ b/demos/declarative/minehunt/MinehuntCore/Tile.qml
@@ -1,3 +1,44 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
import Qt 4.7
Flipable {
@@ -57,7 +98,7 @@ Flipable {
PauseAnimation {
duration: pauseDur
}
- RotationAnimation { easing.type: "InOutQuad" }
+ RotationAnimation { easing.type: Easing.InOutQuad }
ScriptAction { script: if (modelData.hasMine && modelData.flipped) { expl.explode = true } }
}
}
diff --git a/demos/declarative/minehunt/MinehuntCore/qmldir b/demos/declarative/minehunt/MinehuntCore/qmldir
index 95bccc8a69..2beccf9e4d 100644
--- a/demos/declarative/minehunt/MinehuntCore/qmldir
+++ b/demos/declarative/minehunt/MinehuntCore/qmldir
@@ -1,3 +1,3 @@
-plugin minehunt
+plugin qmlminehuntplugin
Explosion 1.0 Explosion.qml
Tile 1.0 Tile.qml
diff --git a/demos/declarative/minehunt/minehunt.cpp b/demos/declarative/minehunt/minehunt.cpp
index 93cd1c18d4..2a4ed10db8 100644
--- a/demos/declarative/minehunt/minehunt.cpp
+++ b/demos/declarative/minehunt/minehunt.cpp
@@ -212,6 +212,8 @@ void MinehuntGame::reset()
}
nMines = 12;
nFlags = 0;
+ emit numMinesChanged();
+ emit numFlagsChanged();
setPlaying(false);
QTimer::singleShot(600,this, SLOT(setBoard()));
}
diff --git a/demos/declarative/minehunt/minehunt.pro b/demos/declarative/minehunt/minehunt.pro
index 41640f5287..91d02cf461 100644
--- a/demos/declarative/minehunt/minehunt.pro
+++ b/demos/declarative/minehunt/minehunt.pro
@@ -1,5 +1,5 @@
TEMPLATE = lib
-TARGET = minehunt
+TARGET = qmlminehuntplugin
QT += declarative
CONFIG += qt plugin
@@ -28,11 +28,11 @@ symbian:{
TARGET.EPOCALLOWDLLDATA = 1
include($$QT_SOURCE_TREE/demos/symbianpkgrules.pri)
TARGET.CAPABILITY = NetworkServices ReadUserData
- importFiles.sources = minehunt.dll \
+ importFiles.sources = qmlminehuntplugin.dll \
MinehuntCore/Explosion.qml \
MinehuntCore/pics \
MinehuntCore/qmldir
- importFiles.path = $$QT_IMPORTS_BASE_DIR/MinehuntCore
+ importFiles.path = MinehuntCore
DEPLOYMENT = importFiles
}
diff --git a/demos/declarative/minehunt/minehunt.qml b/demos/declarative/minehunt/minehunt.qml
index 5ed78fbc94..136f56ada9 100644
--- a/demos/declarative/minehunt/minehunt.qml
+++ b/demos/declarative/minehunt/minehunt.qml
@@ -1,3 +1,44 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
import Qt 4.7
import "MinehuntCore" 1.0
diff --git a/demos/declarative/photoviewer/PhotoViewerCore/AlbumDelegate.qml b/demos/declarative/photoviewer/PhotoViewerCore/AlbumDelegate.qml
index d39b7bcc0f..0df81550bf 100644
--- a/demos/declarative/photoviewer/PhotoViewerCore/AlbumDelegate.qml
+++ b/demos/declarative/photoviewer/PhotoViewerCore/AlbumDelegate.qml
@@ -1,3 +1,44 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
import Qt 4.7
Component {
@@ -56,7 +97,7 @@ Component {
Tag {
anchors { horizontalCenter: parent.horizontalCenter; bottom: parent.bottom; bottomMargin: 10 }
- frontLabel: tag; backLabel: "Delete"; flipped: mainWindow.editMode
+ frontLabel: tag; backLabel: qsTr("Remove"); flipped: mainWindow.editMode
onTagChanged: rssModel.tags = tag
onBackClicked: if (mainWindow.editMode) photosModel.remove(index);
}
@@ -78,11 +119,11 @@ Component {
]
GridView.onAdd: NumberAnimation {
- target: albumWrapper; properties: "scale"; from: 0.0; to: 1.0; easing.type: "OutQuad"
+ target: albumWrapper; properties: "scale"; from: 0.0; to: 1.0; easing.type: Easing.OutQuad
}
GridView.onRemove: SequentialAnimation {
PropertyAction { target: albumWrapper; property: "GridView.delayRemove"; value: true }
- NumberAnimation { target: albumWrapper; property: "scale"; from: 1.0; to: 0.0; easing.type: "OutQuad" }
+ NumberAnimation { target: albumWrapper; property: "scale"; from: 1.0; to: 0.0; easing.type: Easing.OutQuad }
PropertyAction { target: albumWrapper; property: "GridView.delayRemove"; value: false }
}
@@ -92,12 +133,12 @@ Component {
SequentialAnimation {
NumberAnimation { properties: 'opacity'; duration: 250 }
PauseAnimation { duration: 350 }
- NumberAnimation { target: backButton; properties: "y"; duration: 200; easing.type: "OutQuad" }
+ NumberAnimation { target: backButton; properties: "y"; duration: 200; easing.type: Easing.OutQuad }
}
},
Transition {
from: 'inGrid'; to: '*'
- NumberAnimation { properties: "y,opacity"; easing.type: "OutQuad"; duration: 300 }
+ NumberAnimation { properties: "y,opacity"; easing.type: Easing.OutQuad; duration: 300 }
}
]
}
diff --git a/demos/declarative/photoviewer/PhotoViewerCore/BusyIndicator.qml b/demos/declarative/photoviewer/PhotoViewerCore/BusyIndicator.qml
index 1cad8c9672..e55bf17bb1 100644
--- a/demos/declarative/photoviewer/PhotoViewerCore/BusyIndicator.qml
+++ b/demos/declarative/photoviewer/PhotoViewerCore/BusyIndicator.qml
@@ -1,3 +1,44 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
import Qt 4.7
Image {
diff --git a/demos/declarative/photoviewer/PhotoViewerCore/Button.qml b/demos/declarative/photoviewer/PhotoViewerCore/Button.qml
index c6810646eb..a60d5ca9dc 100644
--- a/demos/declarative/photoviewer/PhotoViewerCore/Button.qml
+++ b/demos/declarative/photoviewer/PhotoViewerCore/Button.qml
@@ -1,10 +1,51 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
import Qt 4.7
Item {
id: container
property alias label: labelText.text
- property color tint: "#FFFFFFFF"
+ property string tint: ""
signal clicked
width: labelText.width + 70 ; height: labelText.height + 18
@@ -19,7 +60,7 @@ Item {
Rectangle {
anchors.fill: container; color: container.tint; visible: container.tint != ""
- opacity: 0.1; smooth: true
+ opacity: 0.25; smooth: true
}
Text { id: labelText; font.pixelSize: 15; anchors.centerIn: parent; smooth: true }
diff --git a/demos/declarative/photoviewer/PhotoViewerCore/EditableButton.qml b/demos/declarative/photoviewer/PhotoViewerCore/EditableButton.qml
index ccfda02526..6109535b95 100644
--- a/demos/declarative/photoviewer/PhotoViewerCore/EditableButton.qml
+++ b/demos/declarative/photoviewer/PhotoViewerCore/EditableButton.qml
@@ -1,14 +1,54 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
import Qt 4.7
Item {
id: container
property string label
- property color tint: "#FFFFFFFF"
signal clicked
signal labelChanged(string label)
- width: labelText.width + 70 ; height: labelText.height + 18
+ width: textInput.width + 70 ; height: textInput.height + 18
BorderImage {
anchors { fill: container; leftMargin: -6; topMargin: -6; rightMargin: -8; bottomMargin: -8 }
@@ -18,36 +58,25 @@ Item {
Image { anchors.fill: parent; source: "images/cardboard.png"; smooth: true }
- Rectangle {
- anchors.fill: container; color: container.tint; visible: container.tint != ""
- opacity: 0.1; smooth: true
- }
-
- Text { id: labelText; text: label; font.pixelSize: 15; anchors.centerIn: parent; smooth: true }
-
TextInput {
- id: textInput; text: label; font.pixelSize: 15; anchors.centerIn: parent; smooth: true; visible: false
- Keys.onReturnPressed: container.labelChanged(textInput.text)
+ id: textInput; text: label; font.pixelSize: 15; anchors.centerIn: parent; smooth: true
+ Keys.onReturnPressed: {
+ container.labelChanged(textInput.text)
+ container.focus = true
+ }
Keys.onEscapePressed: {
- textInput.text = labelText.text
- container.state = ''
+ textInput.text = container.label
+ container.focus = true
}
}
- MouseArea {
- anchors { fill: parent; leftMargin: -20; topMargin: -20; rightMargin: -20; bottomMargin: -20 }
- onClicked: container.state = "editMode"
- }
-
- states: State {
- name: "editMode"
- PropertyChanges { target: container; width: textInput.width + 70; height: textInput.height + 17 }
- PropertyChanges { target: textInput; visible: true; focus: true }
- PropertyChanges { target: labelText; visible: false }
+ Rectangle {
+ anchors.fill: container; border.color: "steelblue"; border.width: 4
+ color: "transparent"; visible: textInput.focus; smooth: true
}
- onLabelChanged: {
- labelText.text = label
- container.state = ''
+ MouseArea {
+ anchors { fill: parent; leftMargin: -20; topMargin: -20; rightMargin: -20; bottomMargin: -20 }
+ onClicked: { textInput.forceFocus(); textInput.openSoftwareInputPanel(); }
}
}
diff --git a/demos/declarative/photoviewer/PhotoViewerCore/PhotoDelegate.qml b/demos/declarative/photoviewer/PhotoViewerCore/PhotoDelegate.qml
index 391f4330e3..dadb40998f 100644
--- a/demos/declarative/photoviewer/PhotoViewerCore/PhotoDelegate.qml
+++ b/demos/declarative/photoviewer/PhotoViewerCore/PhotoDelegate.qml
@@ -1,3 +1,44 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
import Qt 4.7
import "script/script.js" as Script
diff --git a/demos/declarative/photoviewer/PhotoViewerCore/ProgressBar.qml b/demos/declarative/photoviewer/PhotoViewerCore/ProgressBar.qml
index d09532edfa..779d342657 100644
--- a/demos/declarative/photoviewer/PhotoViewerCore/ProgressBar.qml
+++ b/demos/declarative/photoviewer/PhotoViewerCore/ProgressBar.qml
@@ -1,3 +1,44 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
import Qt 4.7
Item {
diff --git a/demos/declarative/photoviewer/PhotoViewerCore/RssModel.qml b/demos/declarative/photoviewer/PhotoViewerCore/RssModel.qml
index 53d9819fbb..29bad520b4 100644
--- a/demos/declarative/photoviewer/PhotoViewerCore/RssModel.qml
+++ b/demos/declarative/photoviewer/PhotoViewerCore/RssModel.qml
@@ -1,3 +1,44 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
import Qt 4.7
XmlListModel {
diff --git a/demos/declarative/photoviewer/PhotoViewerCore/Tag.qml b/demos/declarative/photoviewer/PhotoViewerCore/Tag.qml
index 2722ac3029..5e93046074 100644
--- a/demos/declarative/photoviewer/PhotoViewerCore/Tag.qml
+++ b/demos/declarative/photoviewer/PhotoViewerCore/Tag.qml
@@ -1,3 +1,44 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
import Qt 4.7
Flipable {
diff --git a/demos/declarative/photoviewer/i18n/base.ts b/demos/declarative/photoviewer/i18n/base.ts
new file mode 100644
index 0000000000..1accfd2f90
--- /dev/null
+++ b/demos/declarative/photoviewer/i18n/base.ts
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.0">
+<context>
+ <name>AlbumDelegate</name>
+ <message>
+ <location filename="../PhotoViewerCore/AlbumDelegate.qml" line="59"/>
+ <source>Remove</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>photoviewer</name>
+ <message>
+ <location filename="../photoviewer.qml" line="30"/>
+ <source>Add</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../photoviewer.qml" line="39"/>
+ <source>Edit</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../photoviewer.qml" line="52"/>
+ <source>Back</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+</TS>
diff --git a/demos/declarative/photoviewer/i18n/qml_fr.qm b/demos/declarative/photoviewer/i18n/qml_fr.qm
new file mode 100644
index 0000000000..c24fcbc46c
--- /dev/null
+++ b/demos/declarative/photoviewer/i18n/qml_fr.qm
Binary files differ
diff --git a/demos/declarative/photoviewer/i18n/qml_fr.ts b/demos/declarative/photoviewer/i18n/qml_fr.ts
new file mode 100644
index 0000000000..9f892db616
--- /dev/null
+++ b/demos/declarative/photoviewer/i18n/qml_fr.ts
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.0" language="fr_FR">
+<context>
+ <name>AlbumDelegate</name>
+ <message>
+ <location filename="../PhotoViewerCore/AlbumDelegate.qml" line="59"/>
+ <source>Remove</source>
+ <translation>Supprimer</translation>
+ </message>
+</context>
+<context>
+ <name>photoviewer</name>
+ <message>
+ <location filename="../photoviewer.qml" line="30"/>
+ <source>Add</source>
+ <translation>Ajouter</translation>
+ </message>
+ <message>
+ <location filename="../photoviewer.qml" line="39"/>
+ <source>Edit</source>
+ <translation>Éditer</translation>
+ </message>
+ <message>
+ <location filename="../photoviewer.qml" line="52"/>
+ <source>Back</source>
+ <translation>Retour</translation>
+ </message>
+</context>
+</TS>
diff --git a/demos/declarative/photoviewer/photoviewer.qml b/demos/declarative/photoviewer/photoviewer.qml
index 409429468d..4ed31050af 100644
--- a/demos/declarative/photoviewer/photoviewer.qml
+++ b/demos/declarative/photoviewer/photoviewer.qml
@@ -1,3 +1,44 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
import Qt 4.7
import "PhotoViewerCore"
@@ -27,7 +68,7 @@ Rectangle {
Column {
spacing: 20; anchors { bottom: parent.bottom; right: parent.right; rightMargin: 20; bottomMargin: 20 }
Button {
- id: newButton; label: "New"; rotation: 3
+ id: newButton; label: qsTr("Add"); rotation: 3
anchors.horizontalCenter: parent.horizontalCenter
onClicked: {
mainWindow.editMode = false
@@ -36,7 +77,7 @@ Rectangle {
}
}
Button {
- id: deleteButton; label: "Delete"; rotation: -2;
+ id: deleteButton; label: qsTr("Edit"); rotation: -2;
onClicked: mainWindow.editMode = !mainWindow.editMode
anchors.horizontalCenter: parent.horizontalCenter
}
@@ -49,7 +90,7 @@ Rectangle {
ListView { anchors.fill: parent; model: albumVisualModel.parts.browser; interactive: false }
- Button { id: backButton; label: "Back"; rotation: 3; x: parent.width - backButton.width - 6; y: -backButton.height - 8 }
+ Button { id: backButton; label: qsTr("Back"); rotation: 3; x: parent.width - backButton.width - 6; y: -backButton.height - 8 }
Rectangle { id: photosShade; color: 'black'; width: parent.width; height: parent.height; opacity: 0; visible: opacity != 0.0 }
diff --git a/demos/declarative/rssnews/content/BusyIndicator.qml b/demos/declarative/rssnews/content/BusyIndicator.qml
new file mode 100644
index 0000000000..13f54f2f08
--- /dev/null
+++ b/demos/declarative/rssnews/content/BusyIndicator.qml
@@ -0,0 +1,53 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+import Qt 4.7
+
+Image {
+ id: container
+ property bool on: false
+
+ source: "images/busy.png"; visible: container.on
+
+ NumberAnimation on rotation {
+ running: container.on; from: 0; to: 360; loops: Animation.Infinite; duration: 1200
+ }
+}
diff --git a/demos/declarative/rssnews/content/CategoryDelegate.qml b/demos/declarative/rssnews/content/CategoryDelegate.qml
new file mode 100644
index 0000000000..edfb4bb656
--- /dev/null
+++ b/demos/declarative/rssnews/content/CategoryDelegate.qml
@@ -0,0 +1,82 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+import Qt 4.7
+
+Item {
+ id: delegate
+
+ width: delegate.ListView.view.width; height: 60
+
+ Text {
+ text: name
+ color: delegate.ListView.isCurrentItem ? "white" : "black"
+ font { family: "Helvetica"; pixelSize: 16; bold: true }
+ anchors {
+ left: parent.left; leftMargin: 15
+ verticalCenter: parent.verticalCenter
+ }
+ }
+
+ BusyIndicator {
+ scale: 0.6
+ on: delegate.ListView.isCurrentItem && window.loading
+ anchors { right: parent.right; rightMargin: 10; verticalCenter: parent.verticalCenter }
+ }
+
+ Rectangle {
+ width: delegate.width; height: 1; color: "#cccccc"
+ anchors.bottom: delegate.bottom
+ visible: delegate.ListView.isCurrentItem ? false : true
+ }
+ Rectangle {
+ width: delegate.width; height: 1; color: "white"
+ visible: delegate.ListView.isCurrentItem ? false : true
+ }
+
+ MouseArea {
+ anchors.fill: delegate
+ onClicked: {
+ delegate.ListView.view.currentIndex = index
+ window.currentFeed = feed
+ }
+ }
+}
diff --git a/demos/declarative/rssnews/content/NewsDelegate.qml b/demos/declarative/rssnews/content/NewsDelegate.qml
new file mode 100644
index 0000000000..040dadc975
--- /dev/null
+++ b/demos/declarative/rssnews/content/NewsDelegate.qml
@@ -0,0 +1,70 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+import Qt 4.7
+
+Item {
+ id: delegate
+ height: childrenRect.height + 20
+ width: delegate.ListView.view.width
+
+ Column {
+ x: 20; y: 20
+ width: parent.width - 40
+
+ Text {
+ id: titleText
+ text: title; width: parent.width; wrapMode: Text.WordWrap
+ font { bold: true; family: "Helvetica"; pointSize: 16 }
+ }
+
+ Text {
+ id: descriptionText
+ width: parent.width; text: description
+ wrapMode: Text.WordWrap; font.family: "Helvetica"
+ }
+ }
+
+ Rectangle {
+ width: parent.width; height: 1; color: "#cccccc"
+ anchors.bottom: parent.bottom
+ }
+}
diff --git a/demos/declarative/rssnews/content/RssFeeds.qml b/demos/declarative/rssnews/content/RssFeeds.qml
new file mode 100644
index 0000000000..62e7f1465b
--- /dev/null
+++ b/demos/declarative/rssnews/content/RssFeeds.qml
@@ -0,0 +1,59 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+import Qt 4.7
+
+ListModel {
+ id: rssFeeds
+
+ ListElement { name: "Top Stories"; feed: "rss.news.yahoo.com/rss/topstories" }
+ ListElement { name: "World"; feed: "rss.news.yahoo.com/rss/world" }
+ ListElement { name: "Europe"; feed: "rss.news.yahoo.com/rss/europe" }
+ ListElement { name: "Oceania"; feed: "rss.news.yahoo.com/rss/oceania" }
+ ListElement { name: "U.S. National"; feed: "rss.news.yahoo.com/rss/us" }
+ ListElement { name: "Politics"; feed: "rss.news.yahoo.com/rss/politics" }
+ ListElement { name: "Business"; feed: "rss.news.yahoo.com/rss/business" }
+ ListElement { name: "Technology"; feed: "rss.news.yahoo.com/rss/tech" }
+ ListElement { name: "Entertainment"; feed: "rss.news.yahoo.com/rss/entertainment" }
+ ListElement { name: "Health"; feed: "rss.news.yahoo.com/rss/health" }
+ ListElement { name: "Science"; feed: "rss.news.yahoo.com/rss/science" }
+ ListElement { name: "Sports"; feed: "rss.news.yahoo.com/rss/sports" }
+}
diff --git a/demos/declarative/rssnews/content/ScrollBar.qml b/demos/declarative/rssnews/content/ScrollBar.qml
new file mode 100644
index 0000000000..e0214d21bd
--- /dev/null
+++ b/demos/declarative/rssnews/content/ScrollBar.qml
@@ -0,0 +1,107 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+import Qt 4.7
+
+Item {
+ id: container
+
+ property variant scrollArea
+ property variant orientation: Qt.Vertical
+
+ opacity: 0
+
+ function position()
+ {
+ var ny = 0;
+ if (container.orientation == Qt.Vertical)
+ ny = scrollArea.visibleArea.yPosition * container.height;
+ else
+ ny = scrollArea.visibleArea.xPosition * container.width;
+ if (ny > 2) return ny; else return 2;
+ }
+
+ function size()
+ {
+ var nh, ny;
+
+ if (container.orientation == Qt.Vertical)
+ nh = scrollArea.visibleArea.heightRatio * container.height;
+ else
+ nh = scrollArea.visibleArea.widthRatio * container.width;
+
+ if (container.orientation == Qt.Vertical)
+ ny = scrollArea.visibleArea.yPosition * container.height;
+ else
+ ny = scrollArea.visibleArea.xPosition * container.width;
+
+ if (ny > 3) {
+ var t;
+ if (container.orientation == Qt.Vertical)
+ t = Math.ceil(container.height - 3 - ny);
+ else
+ t = Math.ceil(container.width - 3 - ny);
+ if (nh > t) return t; else return nh;
+ } else return nh + ny;
+ }
+
+ Rectangle { anchors.fill: parent; color: "Black"; opacity: 0.3 }
+
+ BorderImage {
+ source: "images/scrollbar.png"
+ border { left: 1; right: 1; top: 1; bottom: 1 }
+ x: container.orientation == Qt.Vertical ? 2 : position()
+ width: container.orientation == Qt.Vertical ? container.width - 4 : size()
+ y: container.orientation == Qt.Vertical ? position() : 2
+ height: container.orientation == Qt.Vertical ? size() : container.height - 4
+ }
+
+ states: State {
+ name: "visible"
+ when: container.orientation == Qt.Vertical ? scrollArea.movingVertically : scrollArea.movingHorizontally
+ PropertyChanges { target: container; opacity: 1.0 }
+ }
+
+ transitions: Transition {
+ from: "visible"; to: ""
+ NumberAnimation { properties: "opacity"; duration: 600 }
+ }
+}
diff --git a/demos/declarative/rssnews/content/images/busy.png b/demos/declarative/rssnews/content/images/busy.png
new file mode 100644
index 0000000000..664c2b1491
--- /dev/null
+++ b/demos/declarative/rssnews/content/images/busy.png
Binary files differ
diff --git a/demos/declarative/rssnews/content/images/scrollbar.png b/demos/declarative/rssnews/content/images/scrollbar.png
new file mode 100644
index 0000000000..0228dcf9eb
--- /dev/null
+++ b/demos/declarative/rssnews/content/images/scrollbar.png
Binary files differ
diff --git a/demos/declarative/rssnews/rssnews.qml b/demos/declarative/rssnews/rssnews.qml
new file mode 100644
index 0000000000..def3e2cb4c
--- /dev/null
+++ b/demos/declarative/rssnews/rssnews.qml
@@ -0,0 +1,93 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+import Qt 4.7
+import "content"
+
+Rectangle {
+ id: window
+ width: 800; height: 480
+
+ property string currentFeed: "rss.news.yahoo.com/rss/topstories"
+ property bool loading: feedModel.status == XmlListModel.Loading
+
+ RssFeeds { id: rssFeeds }
+
+ XmlListModel {
+ id: feedModel
+ source: "http://" + window.currentFeed
+ query: "/rss/channel/item"
+
+ XmlRole { name: "title"; query: "title/string()" }
+ XmlRole { name: "link"; query: "link/string()" }
+ XmlRole { name: "description"; query: "description/string()" }
+ }
+
+ Row {
+ Rectangle {
+ width: 220; height: window.height
+ color: "#efefef"
+
+ ListView {
+ focus: true
+ id: categories
+ anchors.fill: parent
+ model: rssFeeds
+ delegate: CategoryDelegate {}
+ highlight: Rectangle { color: "steelblue" }
+ highlightMoveSpeed: 9999999
+ }
+ ScrollBar {
+ scrollArea: categories; height: categories.height; width: 8
+ anchors.right: categories.right
+ }
+ }
+ ListView {
+ id: list
+ width: window.width - 220; height: window.height
+ model: feedModel
+ delegate: NewsDelegate {}
+ }
+ }
+
+ ScrollBar { scrollArea: list; height: list.height; width: 8; anchors.right: window.right }
+ Rectangle { x: 220; height: window.height; width: 1; color: "#cccccc" }
+}
diff --git a/examples/declarative/animations/animations.qmlproject b/demos/declarative/rssnews/rssnews.qmlproject
index d4909f8685..d4909f8685 100644
--- a/examples/declarative/animations/animations.qmlproject
+++ b/demos/declarative/rssnews/rssnews.qmlproject
diff --git a/demos/declarative/samegame/SamegameCore/BoomBlock.qml b/demos/declarative/samegame/SamegameCore/BoomBlock.qml
index 47f43c2427..3f4357915a 100644
--- a/demos/declarative/samegame/SamegameCore/BoomBlock.qml
+++ b/demos/declarative/samegame/SamegameCore/BoomBlock.qml
@@ -1,3 +1,44 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
import Qt 4.7
import Qt.labs.particles 1.0
diff --git a/demos/declarative/samegame/SamegameCore/Button.qml b/demos/declarative/samegame/SamegameCore/Button.qml
index 6d5d75de0c..d5979b26d2 100644
--- a/demos/declarative/samegame/SamegameCore/Button.qml
+++ b/demos/declarative/samegame/SamegameCore/Button.qml
@@ -1,3 +1,44 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
import Qt 4.7
Rectangle {
diff --git a/demos/declarative/samegame/SamegameCore/Dialog.qml b/demos/declarative/samegame/SamegameCore/Dialog.qml
index d4f188c41c..c71a4b3a37 100644
--- a/demos/declarative/samegame/SamegameCore/Dialog.qml
+++ b/demos/declarative/samegame/SamegameCore/Dialog.qml
@@ -1,3 +1,44 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
import Qt 4.7
Rectangle {
@@ -6,13 +47,14 @@ Rectangle {
property Item text: dialogText
signal closed
-
+ signal opened
function forceClose() {
page.closed();
page.opacity = 0;
}
function show(txt) {
+ page.opened();
dialogText.text = txt;
page.opacity = 1;
}
@@ -21,7 +63,7 @@ Rectangle {
color: "white"
border.width: 1
opacity: 0
-
+ visible: opacity > 0
Behavior on opacity {
NumberAnimation { duration: 1000 }
}
diff --git a/demos/declarative/samegame/SamegameCore/samegame.js b/demos/declarative/samegame/SamegameCore/samegame.js
index bf99ca34c2..5c008a2a46 100755
--- a/demos/declarative/samegame/SamegameCore/samegame.js
+++ b/demos/declarative/samegame/SamegameCore/samegame.js
@@ -175,15 +175,14 @@ function createBlock(column,row){
// only work if the block QML is a local file. Otherwise the component will
// not be ready immediately. There is a statusChanged signal on the
// component you could use if you want to wait to load remote files.
- if(component.isReady){
- var dynamicObject = component.createObject();
+ if(component.status == Component.Ready){
+ var dynamicObject = component.createObject(gameCanvas);
if(dynamicObject == null){
console.log("error creating block");
- console.log(component.errorsString());
+ console.log(component.errorString());
return false;
}
dynamicObject.type = Math.floor(Math.random() * 3);
- dynamicObject.parent = gameCanvas;
dynamicObject.x = column*gameCanvas.blockSize;
dynamicObject.targetX = column*gameCanvas.blockSize;
dynamicObject.targetY = row*gameCanvas.blockSize;
@@ -193,7 +192,7 @@ function createBlock(column,row){
board[index(column,row)] = dynamicObject;
}else{
console.log("error loading block component");
- console.log(component.errorsString());
+ console.log(component.errorString());
return false;
}
return true;
diff --git a/demos/declarative/samegame/samegame.qml b/demos/declarative/samegame/samegame.qml
index f1b41c90b2..9c4bfa80d1 100644
--- a/demos/declarative/samegame/samegame.qml
+++ b/demos/declarative/samegame/samegame.qml
@@ -1,3 +1,44 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
import Qt 4.7
import "SamegameCore"
import "SamegameCore/samegame.js" as Logic
@@ -49,17 +90,33 @@ Rectangle {
enabled: initialWidth != 0
}
+ onOpened: nameInputText.focus = true;
+ onClosed: {
+ nameInputText.focus = false;
+ if (nameInputText.text != "")
+ Logic.saveHighScore(nameInputText.text);
+ }
Text {
id: dialogText
anchors { left: nameInputDialog.left; leftMargin: 20; verticalCenter: parent.verticalCenter }
text: "You won! Please enter your name: "
}
+ MouseArea {
+ anchors.fill: parent
+ onClicked: {
+ if (nameInputText.text == "")
+ nameInputText.openSoftwareInputPanel();
+ else
+ nameInputDialog.forceClose();
+ }
+ }
TextInput {
id: nameInputText
anchors { verticalCenter: parent.verticalCenter; left: dialogText.right }
- focus: true
-
+ focus: false
+ autoScroll: false
+ maximumLength: 24
onTextChanged: {
var newWidth = nameInputText.width + dialogText.width + 40;
if ( (newWidth > nameInputDialog.width && newWidth < screen.width)
@@ -67,8 +124,6 @@ Rectangle {
nameInputDialog.width = newWidth;
}
onAccepted: {
- if (nameInputDialog.opacity == 1 && nameInputText.text != "")
- Logic.saveHighScore(nameInputText.text);
nameInputDialog.forceClose();
}
}
diff --git a/demos/declarative/snake/content/Button.qml b/demos/declarative/snake/content/Button.qml
index 9c7986bab4..5d9eebe04c 100644
--- a/demos/declarative/snake/content/Button.qml
+++ b/demos/declarative/snake/content/Button.qml
@@ -1,3 +1,44 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
import Qt 4.7
Rectangle {
diff --git a/demos/declarative/snake/content/Cookie.qml b/demos/declarative/snake/content/Cookie.qml
index 9fbbdf982b..e67a7afa66 100644
--- a/demos/declarative/snake/content/Cookie.qml
+++ b/demos/declarative/snake/content/Cookie.qml
@@ -1,3 +1,44 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
import Qt 4.7
import Qt.labs.particles 1.0
diff --git a/demos/declarative/snake/content/HighScoreModel.qml b/demos/declarative/snake/content/HighScoreModel.qml
index e04f524df7..42482f8fd7 100644
--- a/demos/declarative/snake/content/HighScoreModel.qml
+++ b/demos/declarative/snake/content/HighScoreModel.qml
@@ -1,3 +1,44 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
import Qt 4.7
// Models a high score table.
@@ -65,7 +106,7 @@ ListModel {
}
if (rs.rows.length > maxScores)
tx.executeSql("DELETE FROM HighScores WHERE game=? AND score <= ?",
- [rs.rows.item(maxScores).score]);
+ [game, rs.rows.item(maxScores).score]);
}
}
)
diff --git a/demos/declarative/snake/content/Link.qml b/demos/declarative/snake/content/Link.qml
index 8186dfd29d..f4d7165b43 100644
--- a/demos/declarative/snake/content/Link.qml
+++ b/demos/declarative/snake/content/Link.qml
@@ -1,3 +1,44 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
import Qt 4.7
import Qt.labs.particles 1.0
@@ -32,12 +73,14 @@ Item { id:link
}
}
+ /*
transform: Rotation {
id: actualImageRotation
origin.x: width/2; origin.y: height/2;
angle: rotation * 90
Behavior on angle { NumberAnimation { duration: spawned ? 200 : 0} }
}
+ */
}
Image {
diff --git a/demos/declarative/snake/content/Skull.qml b/demos/declarative/snake/content/Skull.qml
index 2af8b2ff25..0cc6186a72 100644
--- a/demos/declarative/snake/content/Skull.qml
+++ b/demos/declarative/snake/content/Skull.qml
@@ -1,3 +1,44 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
import Qt 4.7
Image {
diff --git a/demos/declarative/snake/content/snake.js b/demos/declarative/snake/content/snake.js
index 02f9757c6d..4d05e336a6 100644
--- a/demos/declarative/snake/content/snake.js
+++ b/demos/declarative/snake/content/snake.js
@@ -37,6 +37,7 @@ function startNewGame()
startNewGameTimer.running = true;
return;
}
+
numRows = numRowsAvailable;
numColumns = numColumnsAvailable;
board = new Array(numRows * numColumns);
@@ -52,15 +53,14 @@ function startNewGame()
link.spawned = false;
link.dying = false;
} else {
- if(linkComponent.isReady == false){
- if(linkComponent.isError == true)
- console.log(linkComponent.errorsString());
+ if(linkComponent.status != Component.Ready) {
+ if(linkComponent.status == Component.Error)
+ console.log(linkComponent.errorString());
else
console.log("Still loading linkComponent");
continue;//TODO: Better error handling?
}
- var link = linkComponent.createObject();
- link.parent = playfield;
+ var link = linkComponent.createObject(playfield);
link.z = numRows * numColumns + 1 - i;
link.type = i == 0 ? 2 : 0;
link.spawned = false;
@@ -293,15 +293,14 @@ function createCookie(value) {
}
}
- if(cookieComponent.isReady == false){
- if(cookieComponent.isError == true)
- console.log(cookieComponent.errorsString());
+ if(cookieComponent.status != Component.Ready) {
+ if(cookieComponent.status == Component.Error)
+ console.log(cookieComponent.errorString());
else
console.log("Still loading cookieComponent");
return;//TODO: Better error handling?
}
- cookie = cookieComponent.createObject();
- cookie.parent = head.parent;
+ cookie = cookieComponent.createObject(head.parent);
cookie.value = value;
cookie.row = row;
cookie.column = column;
diff --git a/demos/declarative/snake/snake.qml b/demos/declarative/snake/snake.qml
index 47bced4c97..46114f57b4 100644
--- a/demos/declarative/snake/snake.qml
+++ b/demos/declarative/snake/snake.qml
@@ -1,3 +1,44 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
import Qt 4.7
import "content" as Content
import "content/snake.js" as Logic
@@ -45,7 +86,7 @@ Rectangle {
onTriggered: { Logic.moveSkull() }
}
Timer {
-
+ id: startNewGameTimer;
interval: 700;
onTriggered: { Logic.startNewGame(); }
}
@@ -60,7 +101,7 @@ Rectangle {
Image {
id: title
source: "content/pics/snake.jpg"
- fillMode: "PreserveAspectCrop"
+ fillMode: Image.PreserveAspectCrop
anchors.fill: parent
anchors.horizontalCenter: parent.horizontalCenter
anchors.verticalCenter: parent.verticalCenter
@@ -69,7 +110,7 @@ Rectangle {
Text {
color: "white"
font.pointSize: 24
- horizontalAlignment: "AlignHCenter"
+ horizontalAlignment: Text.AlignHCenter
text: "Last Score:\t" + lastScore + "\nHighscore:\t" + highScores.topScore;
anchors.horizontalCenter: parent.horizontalCenter
anchors.bottom: parent.bottom
@@ -78,7 +119,7 @@ Rectangle {
}
source: "content/pics/background.png"
- fillMode: "PreserveAspectCrop"
+ fillMode: Image.PreserveAspectCrop
anchors.left: parent.left
anchors.right: parent.right
@@ -136,7 +177,6 @@ Rectangle {
id: progressIndicator
color: "#221edd";
width: 0;
- Behavior on width { NumberAnimation { duration: startHeartbeatTimer.running ? 1000 : 0}}
height: 30;
}
}
@@ -186,4 +226,13 @@ Rectangle {
}
]
+ transitions: [
+ Transition {
+ from: "*"
+ to: "starting"
+ NumberAnimation { target: progressIndicator; property: "width"; duration: 1000 }
+
+ }
+ ]
+
}
diff --git a/demos/declarative/twitter/TwitterCore/AuthView.qml b/demos/declarative/twitter/TwitterCore/AuthView.qml
index 7986e748a9..ef10258a32 100644
--- a/demos/declarative/twitter/TwitterCore/AuthView.qml
+++ b/demos/declarative/twitter/TwitterCore/AuthView.qml
@@ -1,3 +1,44 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
import Qt 4.7
Item {
diff --git a/demos/declarative/twitter/TwitterCore/Button.qml b/demos/declarative/twitter/TwitterCore/Button.qml
index 93f6b216eb..9c90c2c52f 100644
--- a/demos/declarative/twitter/TwitterCore/Button.qml
+++ b/demos/declarative/twitter/TwitterCore/Button.qml
@@ -1,3 +1,44 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
import Qt 4.7
Item {
diff --git a/demos/declarative/twitter/TwitterCore/FatDelegate.qml b/demos/declarative/twitter/TwitterCore/FatDelegate.qml
index 62ee11a50d..ff03b0b566 100644
--- a/demos/declarative/twitter/TwitterCore/FatDelegate.qml
+++ b/demos/declarative/twitter/TwitterCore/FatDelegate.qml
@@ -1,3 +1,44 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
import Qt 4.7
Component {
@@ -27,7 +68,7 @@ Component {
id: whiteRect; x: 6; width: 50; height: 50; color: "white"; smooth: true
anchors.verticalCenter: parent.verticalCenter
- Loading { x: 1; y: 1; width: 48; height: 48; visible: realImage.status != 1 }
+ Loading { x: 1; y: 1; width: 48; height: 48; visible: realImage.status != Image.Ready }
Image { id: realImage; source: userImage; x: 1; y: 1; width:48; height:48 }
}
Text { id:txt; y:4; x: 56
diff --git a/demos/declarative/twitter/TwitterCore/HomeTitleBar.qml b/demos/declarative/twitter/TwitterCore/HomeTitleBar.qml
index c1ae3e56fa..52164ede3d 100644
--- a/demos/declarative/twitter/TwitterCore/HomeTitleBar.qml
+++ b/demos/declarative/twitter/TwitterCore/HomeTitleBar.qml
@@ -1,3 +1,44 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
import Qt 4.7
Item {
@@ -37,7 +78,7 @@ Item {
UserModel { user: rssModel.authName; id: userModel }
Component { id: imgDelegate;
Item {
- Loading { width:48; height:48; visible: realImage.status != 1 }
+ Loading { width:48; height:48; visible: realImage.status != Image.Ready }
Image { source: image; width:48; height:48; id: realImage }
}
}
@@ -88,7 +129,7 @@ Item {
width: parent.width - 12
height: parent.height - 8
font.pointSize: 10
- wrapMode: TextEdit.WrapAtWordBoundaryOrAnywhere
+ wrapMode: TextEdit.Wrap
color: "#151515"; selectionColor: "green"
}
Keys.forwardTo: [(returnKey), (editor)]
@@ -107,13 +148,13 @@ Item {
PropertyChanges { target: tagButton; text: "OK" }
PropertyChanges { target: tagButton; width: 28 }
PropertyChanges { target: tagButton; height: 24 }
- PropertyChanges { target: txtEdit; focus: true }
+ PropertyChanges { target: editor; focus: true }
}
]
transitions: [
Transition {
from: "*"; to: "*"
- NumberAnimation { properties: "x,y,width,height"; easing.type: "InOutQuad" }
+ NumberAnimation { properties: "x,y,width,height"; easing.type: Easing.InOutQuad }
}
]
}
diff --git a/demos/declarative/twitter/TwitterCore/Loading.qml b/demos/declarative/twitter/TwitterCore/Loading.qml
index 94b77f2161..b97929124d 100644
--- a/demos/declarative/twitter/TwitterCore/Loading.qml
+++ b/demos/declarative/twitter/TwitterCore/Loading.qml
@@ -1,3 +1,44 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
import Qt 4.7
Image {
diff --git a/demos/declarative/twitter/TwitterCore/MultiTitleBar.qml b/demos/declarative/twitter/TwitterCore/MultiTitleBar.qml
index 8c27e2b48f..38d6c9cbf7 100644
--- a/demos/declarative/twitter/TwitterCore/MultiTitleBar.qml
+++ b/demos/declarative/twitter/TwitterCore/MultiTitleBar.qml
@@ -1,3 +1,44 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
import Qt 4.7
Item {
@@ -18,7 +59,7 @@ Item {
}
]
transitions: [
- Transition { NumberAnimation { properties: "x,y"; duration: 500; easing.type: "InOutQuad" } }
+ Transition { NumberAnimation { properties: "x,y"; duration: 500; easing.type: Easing.InOutQuad } }
]
}
diff --git a/demos/declarative/twitter/TwitterCore/RssModel.qml b/demos/declarative/twitter/TwitterCore/RssModel.qml
index dca8499ca6..bd73200c1e 100644
--- a/demos/declarative/twitter/TwitterCore/RssModel.qml
+++ b/demos/declarative/twitter/TwitterCore/RssModel.qml
@@ -1,3 +1,44 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
import Qt 4.7
Item { id: wrapper
diff --git a/demos/declarative/twitter/TwitterCore/TitleBar.qml b/demos/declarative/twitter/TwitterCore/TitleBar.qml
index 87ceec5ad9..6cd0a5059d 100644
--- a/demos/declarative/twitter/TwitterCore/TitleBar.qml
+++ b/demos/declarative/twitter/TwitterCore/TitleBar.qml
@@ -1,3 +1,44 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
import Qt 4.7
Item {
@@ -66,10 +107,10 @@ Item {
name: "Tags"
PropertyChanges { target: container; x: -tagButton.x + 5 }
PropertyChanges { target: tagButton; text: "OK" }
- PropertyChanges { target: lineEdit; focus: true }
+ PropertyChanges { target: editor; focus: true }
}
transitions: Transition {
- NumberAnimation { properties: "x"; easing.type: "InOutQuad" }
+ NumberAnimation { properties: "x"; easing.type: Easing.InOutQuad }
}
}
diff --git a/demos/declarative/twitter/TwitterCore/ToolBar.qml b/demos/declarative/twitter/TwitterCore/ToolBar.qml
index b29ca16309..b9cb915232 100644
--- a/demos/declarative/twitter/TwitterCore/ToolBar.qml
+++ b/demos/declarative/twitter/TwitterCore/ToolBar.qml
@@ -1,3 +1,44 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
import Qt 4.7
Item {
diff --git a/demos/declarative/twitter/TwitterCore/UserModel.qml b/demos/declarative/twitter/TwitterCore/UserModel.qml
index 8a8eb7bb55..e653836e48 100644
--- a/demos/declarative/twitter/TwitterCore/UserModel.qml
+++ b/demos/declarative/twitter/TwitterCore/UserModel.qml
@@ -1,3 +1,44 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
import Qt 4.7
//This "model" gets the user information about the searched user. Mainly for the icon.
diff --git a/demos/declarative/twitter/twitter.qml b/demos/declarative/twitter/twitter.qml
index 0e3ec3eea7..08cecb09bc 100644
--- a/demos/declarative/twitter/twitter.qml
+++ b/demos/declarative/twitter/twitter.qml
@@ -1,3 +1,44 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
import Qt 4.7
import "TwitterCore" 1.0 as Twitter
@@ -29,6 +70,11 @@ Item {
Image { source: "TwitterCore/images/stripes.png"; fillMode: Image.Tile; anchors.fill: parent; opacity: 0.3 }
+ MouseArea {
+ anchors.fill: parent
+ onClicked: screen.focus = false;
+ }
+
Twitter.RssModel { id: rssModel }
Twitter.Loading { anchors.centerIn: parent; visible: rssModel.status==XmlListModel.Loading && state!='unauthed'}
Text {
@@ -88,7 +134,7 @@ Item {
}
]
transitions: [
- Transition { NumberAnimation { properties: "x,y"; duration: 500; easing.type: "InOutQuad" } }
+ Transition { NumberAnimation { properties: "x,y"; duration: 500; easing.type: Easing.InOutQuad } }
]
}
}
diff --git a/demos/declarative/webbrowser/content/Button.qml b/demos/declarative/webbrowser/content/Button.qml
new file mode 100644
index 0000000000..2a2e7ef50e
--- /dev/null
+++ b/demos/declarative/webbrowser/content/Button.qml
@@ -0,0 +1,65 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+import Qt 4.7
+
+Item {
+ property alias image: icon.source
+ property variant action
+
+ signal clicked
+
+ width: 40; height: parent.height
+
+ Image {
+ id: icon; anchors.centerIn: parent
+ opacity: if (action != undefined) { action.enabled ? 1.0 : 0.4 } else 1
+ }
+
+ MouseArea {
+ anchors { fill: parent; topMargin: -10; bottomMargin: -10 }
+ onClicked: {
+ if (action != undefined)
+ action.trigger()
+ parent.clicked()
+ }
+ }
+}
diff --git a/demos/declarative/webbrowser/content/FlickableWebView.qml b/demos/declarative/webbrowser/content/FlickableWebView.qml
index 46f45e09b4..62da2ea147 100644
--- a/demos/declarative/webbrowser/content/FlickableWebView.qml
+++ b/demos/declarative/webbrowser/content/FlickableWebView.qml
@@ -1,3 +1,44 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
import Qt 4.7
import org.webkit 1.0
@@ -7,22 +48,28 @@ Flickable {
property alias progress: webView.progress
property alias url: webView.url
property alias back: webView.back
+ property alias stop: webView.stop
property alias reload: webView.reload
property alias forward: webView.forward
id: flickable
width: parent.width
- contentWidth: Math.max(parent.width,webView.width*webView.scale)
- contentHeight: Math.max(parent.height,webView.height*webView.scale)
+ contentWidth: Math.max(parent.width,webView.width)
+ contentHeight: Math.max(parent.height,webView.height)
anchors.top: headerSpace.bottom
- anchors.bottom: footer.top
+ anchors.bottom: parent.top
anchors.left: parent.left
anchors.right: parent.right
pressDelay: 200
+ onWidthChanged : {
+ // Expand (but not above 1:1) if otherwise would be smaller that available width.
+ if (width > webView.width*webView.contentsScale && webView.contentsScale < 1.0)
+ webView.contentsScale = width / webView.width * webView.contentsScale;
+ }
+
WebView {
id: webView
- pixelCacheSize: 4000000
transformOrigin: Item.TopLeft
function fixUrl(url)
@@ -42,8 +89,6 @@ Flickable {
url: fixUrl(webBrowser.urlString)
smooth: false // We don't want smooth scaling, since we only scale during (fast) transitions
- smoothCache: true // We do want smooth rendering
- fillColor: "white"
focus: true
zoomFactor: 1
@@ -52,7 +97,7 @@ Flickable {
function doZoom(zoom,centerX,centerY)
{
if (centerX) {
- var sc = zoom/contentsScale;
+ var sc = zoom*contentsScale;
scaleAnim.to = sc;
flickVX.from = flickable.contentX
flickVX.to = Math.max(0,Math.min(centerX-flickable.width/2,webView.width*sc-flickable.width))
@@ -60,7 +105,6 @@ Flickable {
flickVY.from = flickable.contentY
flickVY.to = Math.max(0,Math.min(centerY-flickable.height/2,webView.height*sc-flickable.height))
finalY.value = flickVY.to
- finalZoom.value = zoom
quickZoom.start()
}
}
@@ -68,8 +112,8 @@ Flickable {
Keys.onLeftPressed: webView.contentsScale -= 0.1
Keys.onRightPressed: webView.contentsScale += 0.1
- preferredWidth: flickable.width*zoomFactor
- preferredHeight: flickable.height*zoomFactor
+ preferredWidth: flickable.width
+ preferredHeight: flickable.height
contentsScale: 1/zoomFactor
onContentsSizeChanged: {
// zoom out
@@ -102,17 +146,16 @@ Flickable {
NumberAnimation {
id: scaleAnim
target: webView
- property: "scale"
- from: 1
- to: 0 // set before calling
- easing.type: "Linear"
+ property: "contentsScale"
+ // the to property is set before calling
+ easing.type: Easing.Linear
duration: 200
}
NumberAnimation {
id: flickVX
target: flickable
property: "contentX"
- easing.type: "Linear"
+ easing.type: Easing.Linear
duration: 200
from: 0 // set before calling
to: 0 // set before calling
@@ -121,22 +164,12 @@ Flickable {
id: flickVY
target: flickable
property: "contentY"
- easing.type: "Linear"
+ easing.type: Easing.Linear
duration: 200
from: 0 // set before calling
to: 0 // set before calling
}
}
- PropertyAction {
- id: finalZoom
- target: webView
- property: "contentsScale"
- }
- PropertyAction {
- target: webView
- property: "scale"
- value: 1.0
- }
// Have to set the contentXY, since the above 2
// size changes may have started a correction if
// contentsScale < 1.0.
diff --git a/demos/declarative/webbrowser/content/Header.qml b/demos/declarative/webbrowser/content/Header.qml
new file mode 100644
index 0000000000..5abf440535
--- /dev/null
+++ b/demos/declarative/webbrowser/content/Header.qml
@@ -0,0 +1,128 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+import Qt 4.7
+
+Image {
+ id: header
+
+ property alias editUrl: urlInput.url
+ property bool urlChanged: false
+
+ source: "pics/titlebar-bg.png"; fillMode: Image.TileHorizontally
+
+ x: webView.contentX < 0 ? -webView.contentX : webView.contentX > webView.contentWidth-webView.width
+ ? -webView.contentX+webView.contentWidth-webView.width : 0
+
+ y: {
+ if (webView.progress < 1.0)
+ return 0;
+ else {
+ webView.contentY < 0 ? -webView.contentY : webView.contentY > height ? -height : -webView.contentY
+ }
+ }
+
+ Column {
+ width: parent.width
+
+ Item {
+ width: parent.width; height: 20
+ Text {
+ anchors.centerIn: parent
+ text: webView.title; font.pixelSize: 14; font.bold: true
+ color: "white"; styleColor: "black"; style: Text.Sunken
+ }
+ }
+
+ Item {
+ width: parent.width; height: 40
+
+ Button {
+ id: backButton
+ action: webView.back; image: "pics/go-previous-view.png"
+ anchors { left: parent.left; bottom: parent.bottom }
+ }
+
+ Button {
+ id: nextButton
+ anchors.left: backButton.right
+ action: webView.forward; image: "pics/go-next-view.png"
+ }
+
+ UrlInput {
+ id: urlInput
+ anchors { left: nextButton.right; right: reloadButton.left }
+ image: "pics/display.png"
+ onUrlEntered: {
+ webBrowser.urlString = url
+ webBrowser.focus = true
+ header.urlChanged = false
+ }
+ onUrlChanged: header.urlChanged = true
+ }
+
+ Button {
+ id: reloadButton
+ anchors { right: parent.right; rightMargin: 4 }
+ action: webView.reload; image: "pics/view-refresh.png"
+ visible: webView.progress == 1.0 && !header.urlChanged
+ }
+
+ Button {
+ id: stopButton
+ anchors { right: parent.right; rightMargin: 4 }
+ action: webView.stop; image: "pics/edit-delete.png"
+ visible: webView.progress < 1.0 && !header.urlChanged
+ }
+
+ Button {
+ id: goButton
+ anchors { right: parent.right; rightMargin: 4 }
+ onClicked: {
+ webBrowser.urlString = urlInput.url
+ webBrowser.focus = true
+ header.urlChanged = false
+ }
+ image: "pics/go-jump-locationbar.png"; visible: header.urlChanged
+ }
+ }
+ }
+}
diff --git a/demos/declarative/webbrowser/content/RectSoftShadow.qml b/demos/declarative/webbrowser/content/RectSoftShadow.qml
deleted file mode 100644
index 53d098ca05..0000000000
--- a/demos/declarative/webbrowser/content/RectSoftShadow.qml
+++ /dev/null
@@ -1,32 +0,0 @@
-import Qt 4.7
-
-Item {
- BorderImage {
- source: "pics/softshadow-left.sci"
- x: -16
- y: -16
- width: 16
- height: parent.height+32
- }
- BorderImage {
- source: "pics/softshadow-right.sci"
- x: parent.width
- y: -16
- width: 16
- height: parent.height+32
- }
- Image {
- source: "pics/softshadow-top.png"
- x: 0
- y: -16
- width: parent.width
- height: 16
- }
- Image {
- source: "pics/softshadow-bottom.png"
- x: 0
- y: parent.height
- width: parent.width
- height: 16
- }
-}
diff --git a/demos/declarative/webbrowser/content/RetractingWebBrowserHeader.qml b/demos/declarative/webbrowser/content/RetractingWebBrowserHeader.qml
deleted file mode 100644
index f5bfadff4a..0000000000
--- a/demos/declarative/webbrowser/content/RetractingWebBrowserHeader.qml
+++ /dev/null
@@ -1,113 +0,0 @@
-import Qt 4.7
-
-import "fieldtext"
-
-Image {
- property alias editUrl: editUrl.text
-
- id: header
- source: "pics/header.png"
- width: parent.width
- height: 60
- x: webView.contentX < 0 ? -webView.contentX : webView.contentX > webView.contentWidth-webView.width
- ? -webView.contentX+webView.contentWidth-webView.width : 0
- y: webView.contentY < 0 ? -webView.contentY : progressOff*
- (webView.contentY>height?-height:-webView.contentY)
- Row {
- id: headerTitle
-
- anchors.top: header.top
- anchors.topMargin: 4
- x: parent.width > headerIcon.width+headerText.width+6 ? (parent.width-headerIcon.width-headerText.width-6)/2 : 0
- spacing: 6
-
- Image {
- id: headerIcon
- pixmap: webView.icon
- }
-
- Text {
- id: headerText
-
- text: webView.title!='' || webView.progress == 1.0 ? webView.title : 'Loading...'
-
- color: "white"
- styleColor: "black"
- style: Text.Raised
-
- font.family: "Helvetica"
- font.pointSize: 10
- font.bold: true
-
- horizontalAlignment: Text.AlignHCenter
- }
- }
- Item {
- width: parent.width
- anchors.top: headerTitle.bottom
- anchors.topMargin: 2
- anchors.bottom: parent.bottom
-
- Item {
- id: urlBox
- height: 31
- anchors.left: parent.left
- anchors.leftMargin: 12
- anchors.right: parent.right
- anchors.rightMargin: 12
- anchors.top: parent.top
- clip: true
- property bool mouseGrabbed: false
-
- BorderImage {
- source: "pics/addressbar.sci"
- anchors.fill: urlBox
- }
-
- BorderImage {
- id: urlBoxhl
- source: "pics/addressbar-filled.sci"
- width: parent.width*webView.progress
- height: parent.height
- opacity: 1-header.progressOff
- clip: true
- }
-
- FieldText {
- id: editUrl
- mouseGrabbed: parent.mouseGrabbed
-
- text: webBrowser.urlString
- label: "url:"
- onConfirmed: { webBrowser.urlString = editUrl.text; webView.focus=true }
- onCancelled: { webView.focus=true }
- onStartEdit: { webView.focus=false }
-
- anchors.left: urlBox.left
- anchors.right: urlBox.right
- anchors.leftMargin: 6
- anchors.verticalCenter: urlBox.verticalCenter
- anchors.verticalCenterOffset: 1
- }
- }
- }
-
- property real progressOff : 1
- states: [
- State {
- name: "ProgressShown"
- when: webView.progress < 1.0
- PropertyChanges { target: header; progressOff: 0; }
- }
- ]
- transitions: [
- Transition {
- NumberAnimation {
- targets: header
- properties: "progressOff"
- easing.type: "InOutQuad"
- duration: 300
- }
- }
- ]
-}
diff --git a/demos/declarative/webbrowser/content/ScrollBar.qml b/demos/declarative/webbrowser/content/ScrollBar.qml
new file mode 100644
index 0000000000..d3f272cf19
--- /dev/null
+++ b/demos/declarative/webbrowser/content/ScrollBar.qml
@@ -0,0 +1,107 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+import Qt 4.7
+
+Item {
+ id: container
+
+ property variant scrollArea
+ property variant orientation: Qt.Vertical
+
+ opacity: 0
+
+ function position()
+ {
+ var ny = 0;
+ if (container.orientation == Qt.Vertical)
+ ny = scrollArea.visibleArea.yPosition * container.height;
+ else
+ ny = scrollArea.visibleArea.xPosition * container.width;
+ if (ny > 2) return ny; else return 2;
+ }
+
+ function size()
+ {
+ var nh, ny;
+
+ if (container.orientation == Qt.Vertical)
+ nh = scrollArea.visibleArea.heightRatio * container.height;
+ else
+ nh = scrollArea.visibleArea.widthRatio * container.width;
+
+ if (container.orientation == Qt.Vertical)
+ ny = scrollArea.visibleArea.yPosition * container.height;
+ else
+ ny = scrollArea.visibleArea.xPosition * container.width;
+
+ if (ny > 3) {
+ var t;
+ if (container.orientation == Qt.Vertical)
+ t = Math.ceil(container.height - 3 - ny);
+ else
+ t = Math.ceil(container.width - 3 - ny);
+ if (nh > t) return t; else return nh;
+ } else return nh + ny;
+ }
+
+ Rectangle { anchors.fill: parent; color: "Black"; opacity: 0.5 }
+
+ BorderImage {
+ source: "pics/scrollbar.png"
+ border { left: 1; right: 1; top: 1; bottom: 1 }
+ x: container.orientation == Qt.Vertical ? 2 : position()
+ width: container.orientation == Qt.Vertical ? container.width - 4 : size()
+ y: container.orientation == Qt.Vertical ? position() : 2
+ height: container.orientation == Qt.Vertical ? size() : container.height - 4
+ }
+
+ states: State {
+ name: "visible"
+ when: container.orientation == Qt.Vertical ? scrollArea.movingVertically : scrollArea.movingHorizontally
+ PropertyChanges { target: container; opacity: 1.0 }
+ }
+
+ transitions: Transition {
+ from: "visible"; to: ""
+ NumberAnimation { properties: "opacity"; duration: 600 }
+ }
+}
diff --git a/demos/declarative/webbrowser/content/UrlInput.qml b/demos/declarative/webbrowser/content/UrlInput.qml
new file mode 100644
index 0000000000..9992456be4
--- /dev/null
+++ b/demos/declarative/webbrowser/content/UrlInput.qml
@@ -0,0 +1,96 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+import Qt 4.7
+
+Item {
+ id: container
+
+ property alias image: bg.source
+ property alias url: urlText.text
+
+ signal urlEntered(string url)
+ signal urlChanged
+
+ width: parent.height; height: parent.height
+
+ BorderImage {
+ id: bg; rotation: 180
+ x: 8; width: parent.width - 16; height: 30;
+ anchors.verticalCenter: parent.verticalCenter
+ border { left: 10; top: 10; right: 10; bottom: 10 }
+ }
+
+ Rectangle {
+ anchors.bottom: bg.bottom
+ x: 18; height: 4; color: "#63b1ed"
+ width: (bg.width - 20) * webView.progress
+ opacity: webView.progress == 1.0 ? 0.0 : 1.0
+ }
+
+ TextInput {
+ id: urlText
+ horizontalAlignment: TextEdit.AlignLeft
+ font.pixelSize: 14; focusOnPress: true
+
+ onTextChanged: container.urlChanged()
+
+ Keys.onEscapePressed: {
+ urlText.text = webView.url
+ webView.focus = true
+ }
+
+ Keys.onEnterPressed: {
+ container.urlEntered(urlText.text)
+ webView.focus = true
+ }
+
+ Keys.onReturnPressed: {
+ container.urlEntered(urlText.text)
+ webView.focus = true
+ }
+
+ anchors {
+ left: parent.left; right: parent.right; leftMargin: 18; rightMargin: 18
+ verticalCenter: parent.verticalCenter
+ }
+ }
+}
diff --git a/demos/declarative/webbrowser/content/fieldtext/FieldText.qml b/demos/declarative/webbrowser/content/fieldtext/FieldText.qml
deleted file mode 100644
index d1d003f8e2..0000000000
--- a/demos/declarative/webbrowser/content/fieldtext/FieldText.qml
+++ /dev/null
@@ -1,157 +0,0 @@
-import Qt 4.7
-
-Item {
- id: fieldText
- height: 30
- property string text: ""
- property string label: ""
- property bool mouseGrabbed: false
- signal confirmed
- signal cancelled
- signal startEdit
-
- function edit() {
- if (!mouseGrabbed) {
- fieldText.startEdit();
- fieldText.state='editing';
- mouseGrabbed=true;
- }
- }
-
- function confirm() {
- fieldText.state='';
- fieldText.text = textEdit.text;
- mouseGrabbed=false;
- fieldText.confirmed();
- }
-
- function reset() {
- textEdit.text = fieldText.text;
- fieldText.state='';
- mouseGrabbed=false;
- fieldText.cancelled();
- }
-
- Image {
- id: cancelIcon
- width: 22
- height: 22
- anchors.right: parent.right
- anchors.rightMargin: 4
- anchors.verticalCenter: parent.verticalCenter
- source: "pics/cancel.png"
- opacity: 0
- }
-
- Image {
- id: confirmIcon
- width: 22
- height: 22
- anchors.left: parent.left
- anchors.leftMargin: 4
- anchors.verticalCenter: parent.verticalCenter
- source: "pics/ok.png"
- opacity: 0
- }
-
- TextInput {
- id: textEdit
- text: fieldText.text
- focus: false
- anchors.left: parent.left
- anchors.leftMargin: 0
- anchors.right: parent.right
- anchors.rightMargin: 0
- anchors.verticalCenter: parent.verticalCenter
- color: "black"
- font.bold: true
- readOnly: true
- onAccepted: confirm()
- Keys.onEscapePressed: reset()
- }
-
- Text {
- id: textLabel
- x: 5
- width: parent.width-10
- anchors.verticalCenter: parent.verticalCenter
- horizontalAlignment: Text.AlignHCenter
- color: fieldText.state == "editing" ? "#505050" : "#AAAAAA"
- font.italic: true
- font.bold: true
- text: label
- opacity: textEdit.text == '' ? 1 : 0
- Behavior on opacity {
- NumberAnimation {
- property: "opacity"
- duration: 250
- }
- }
- }
-
- MouseArea {
- anchors.fill: cancelIcon
- onClicked: { reset() }
- }
-
- MouseArea {
- anchors.fill: confirmIcon
- onClicked: { confirm() }
- }
-
- MouseArea {
- id: editRegion
- anchors.fill: textEdit
- onClicked: { edit() }
- }
-
- states: [
- State {
- name: "editing"
- PropertyChanges {
- target: confirmIcon
- opacity: 1
- }
- PropertyChanges {
- target: cancelIcon
- opacity: 1
- }
- PropertyChanges {
- target: textEdit
- color: "black"
- readOnly: false
- focus: true
- selectionStart: 0
- selectionEnd: -1
- }
- PropertyChanges {
- target: editRegion
- opacity: 0
- }
- PropertyChanges {
- target: textEdit.anchors
- leftMargin: 34
- }
- PropertyChanges {
- target: textEdit.anchors
- rightMargin: 34
- }
- }
- ]
-
- transitions: [
- Transition {
- from: ""
- to: "*"
- reversible: true
- NumberAnimation {
- properties: "opacity,leftMargin,rightMargin"
- duration: 200
- }
- ColorAnimation {
- property: "color"
- duration: 150
- }
- }
- ]
-}
diff --git a/demos/declarative/webbrowser/content/pics/addressbar-filled.png b/demos/declarative/webbrowser/content/pics/addressbar-filled.png
deleted file mode 100644
index d8452ecda1..0000000000
--- a/demos/declarative/webbrowser/content/pics/addressbar-filled.png
+++ /dev/null
Binary files differ
diff --git a/demos/declarative/webbrowser/content/pics/addressbar-filled.sci b/demos/declarative/webbrowser/content/pics/addressbar-filled.sci
deleted file mode 100644
index 96c5efbe80..0000000000
--- a/demos/declarative/webbrowser/content/pics/addressbar-filled.sci
+++ /dev/null
@@ -1,6 +0,0 @@
-border.left: 7
-border.top: 7
-border.bottom: 7
-border.right: 7
-source: addressbar-filled.png
-
diff --git a/demos/declarative/webbrowser/content/pics/addressbar.png b/demos/declarative/webbrowser/content/pics/addressbar.png
deleted file mode 100644
index 3278f58fc5..0000000000
--- a/demos/declarative/webbrowser/content/pics/addressbar.png
+++ /dev/null
Binary files differ
diff --git a/demos/declarative/webbrowser/content/pics/addressbar.sci b/demos/declarative/webbrowser/content/pics/addressbar.sci
deleted file mode 100644
index 8f1cd18fca..0000000000
--- a/demos/declarative/webbrowser/content/pics/addressbar.sci
+++ /dev/null
@@ -1,6 +0,0 @@
-border.left: 7
-border.top: 7
-border.bottom: 7
-border.right: 7
-source: addressbar.png
-
diff --git a/demos/declarative/webbrowser/content/pics/back-disabled.png b/demos/declarative/webbrowser/content/pics/back-disabled.png
deleted file mode 100644
index 91b9e76364..0000000000
--- a/demos/declarative/webbrowser/content/pics/back-disabled.png
+++ /dev/null
Binary files differ
diff --git a/demos/declarative/webbrowser/content/pics/back.png b/demos/declarative/webbrowser/content/pics/back.png
deleted file mode 100644
index 9988dd35a9..0000000000
--- a/demos/declarative/webbrowser/content/pics/back.png
+++ /dev/null
Binary files differ
diff --git a/demos/declarative/webbrowser/content/pics/display.png b/demos/declarative/webbrowser/content/pics/display.png
new file mode 100644
index 0000000000..9507f4382e
--- /dev/null
+++ b/demos/declarative/webbrowser/content/pics/display.png
Binary files differ
diff --git a/demos/declarative/webbrowser/content/pics/edit-delete.png b/demos/declarative/webbrowser/content/pics/edit-delete.png
new file mode 100644
index 0000000000..351659ba4b
--- /dev/null
+++ b/demos/declarative/webbrowser/content/pics/edit-delete.png
Binary files differ
diff --git a/demos/declarative/webbrowser/content/pics/footer.png b/demos/declarative/webbrowser/content/pics/footer.png
deleted file mode 100644
index 8391a93723..0000000000
--- a/demos/declarative/webbrowser/content/pics/footer.png
+++ /dev/null
Binary files differ
diff --git a/demos/declarative/webbrowser/content/pics/footer.sci b/demos/declarative/webbrowser/content/pics/footer.sci
deleted file mode 100644
index 7be58f1d93..0000000000
--- a/demos/declarative/webbrowser/content/pics/footer.sci
+++ /dev/null
@@ -1,6 +0,0 @@
-border.left: 5
-border.top: 0
-border.bottom: 0
-border.right: 5
-source: footer.png
-
diff --git a/demos/declarative/webbrowser/content/pics/forward-disabled.png b/demos/declarative/webbrowser/content/pics/forward-disabled.png
deleted file mode 100644
index cb87f4f950..0000000000
--- a/demos/declarative/webbrowser/content/pics/forward-disabled.png
+++ /dev/null
Binary files differ
diff --git a/demos/declarative/webbrowser/content/pics/forward.png b/demos/declarative/webbrowser/content/pics/forward.png
deleted file mode 100644
index 83870eea81..0000000000
--- a/demos/declarative/webbrowser/content/pics/forward.png
+++ /dev/null
Binary files differ
diff --git a/demos/declarative/webbrowser/content/pics/go-jump-locationbar.png b/demos/declarative/webbrowser/content/pics/go-jump-locationbar.png
new file mode 100644
index 0000000000..636fe38a77
--- /dev/null
+++ b/demos/declarative/webbrowser/content/pics/go-jump-locationbar.png
Binary files differ
diff --git a/demos/declarative/webbrowser/content/pics/go-next-view.png b/demos/declarative/webbrowser/content/pics/go-next-view.png
new file mode 100644
index 0000000000..3bce02d473
--- /dev/null
+++ b/demos/declarative/webbrowser/content/pics/go-next-view.png
Binary files differ
diff --git a/demos/declarative/webbrowser/content/pics/go-previous-view.png b/demos/declarative/webbrowser/content/pics/go-previous-view.png
new file mode 100644
index 0000000000..3ec011ef1c
--- /dev/null
+++ b/demos/declarative/webbrowser/content/pics/go-previous-view.png
Binary files differ
diff --git a/demos/declarative/webbrowser/content/pics/header.png b/demos/declarative/webbrowser/content/pics/header.png
deleted file mode 100644
index 26588c3142..0000000000
--- a/demos/declarative/webbrowser/content/pics/header.png
+++ /dev/null
Binary files differ
diff --git a/demos/declarative/webbrowser/content/pics/reload.png b/demos/declarative/webbrowser/content/pics/reload.png
deleted file mode 100644
index 45b5535ce4..0000000000
--- a/demos/declarative/webbrowser/content/pics/reload.png
+++ /dev/null
Binary files differ
diff --git a/demos/declarative/webbrowser/content/pics/scrollbar.png b/demos/declarative/webbrowser/content/pics/scrollbar.png
new file mode 100644
index 0000000000..0228dcf9eb
--- /dev/null
+++ b/demos/declarative/webbrowser/content/pics/scrollbar.png
Binary files differ
diff --git a/demos/declarative/webbrowser/content/pics/softshadow-bottom.png b/demos/declarative/webbrowser/content/pics/softshadow-bottom.png
deleted file mode 100644
index 85b0b4451b..0000000000
--- a/demos/declarative/webbrowser/content/pics/softshadow-bottom.png
+++ /dev/null
Binary files differ
diff --git a/demos/declarative/webbrowser/content/pics/softshadow-left.png b/demos/declarative/webbrowser/content/pics/softshadow-left.png
deleted file mode 100644
index 02926d1135..0000000000
--- a/demos/declarative/webbrowser/content/pics/softshadow-left.png
+++ /dev/null
Binary files differ
diff --git a/demos/declarative/webbrowser/content/pics/softshadow-left.sci b/demos/declarative/webbrowser/content/pics/softshadow-left.sci
deleted file mode 100644
index 45c88d5b68..0000000000
--- a/demos/declarative/webbrowser/content/pics/softshadow-left.sci
+++ /dev/null
@@ -1,5 +0,0 @@
-border.left: 0
-border.top: 16
-border.bottom: 16
-border.right: 0
-source: softshadow-left.png
diff --git a/demos/declarative/webbrowser/content/pics/softshadow-right.png b/demos/declarative/webbrowser/content/pics/softshadow-right.png
deleted file mode 100644
index e459f4fb04..0000000000
--- a/demos/declarative/webbrowser/content/pics/softshadow-right.png
+++ /dev/null
Binary files differ
diff --git a/demos/declarative/webbrowser/content/pics/softshadow-right.sci b/demos/declarative/webbrowser/content/pics/softshadow-right.sci
deleted file mode 100644
index 4d459c027a..0000000000
--- a/demos/declarative/webbrowser/content/pics/softshadow-right.sci
+++ /dev/null
@@ -1,5 +0,0 @@
-border.left: 0
-border.top: 16
-border.bottom: 16
-border.right: 0
-source: softshadow-right.png
diff --git a/demos/declarative/webbrowser/content/pics/softshadow-top.png b/demos/declarative/webbrowser/content/pics/softshadow-top.png
deleted file mode 100644
index 9a9e23219f..0000000000
--- a/demos/declarative/webbrowser/content/pics/softshadow-top.png
+++ /dev/null
Binary files differ
diff --git a/demos/declarative/webbrowser/content/pics/titlebar-bg.png b/demos/declarative/webbrowser/content/pics/titlebar-bg.png
new file mode 100644
index 0000000000..06961e8d84
--- /dev/null
+++ b/demos/declarative/webbrowser/content/pics/titlebar-bg.png
Binary files differ
diff --git a/demos/declarative/webbrowser/content/pics/view-refresh.png b/demos/declarative/webbrowser/content/pics/view-refresh.png
new file mode 100644
index 0000000000..afa2a9d774
--- /dev/null
+++ b/demos/declarative/webbrowser/content/pics/view-refresh.png
Binary files differ
diff --git a/demos/declarative/webbrowser/webbrowser.qml b/demos/declarative/webbrowser/webbrowser.qml
index fbbe7b2512..53ba6da271 100644
--- a/demos/declarative/webbrowser/webbrowser.qml
+++ b/demos/declarative/webbrowser/webbrowser.qml
@@ -1,170 +1,79 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
import Qt 4.7
import org.webkit 1.0
import "content"
-Item {
+Rectangle {
id: webBrowser
- property string urlString : "http://qt.nokia.com/"
+ property string urlString : "http://www.nokia.com/"
+
+ width: 800; height: 600
+ color: "#343434"
+
+ FlickableWebView {
+ id: webView
+ url: webBrowser.urlString
+ onProgressChanged: header.urlChanged = false
+ anchors { top: headerSpace.bottom; left: parent.left; right: parent.right; bottom: parent.bottom }
+ }
- width: 640
- height: 480
+ Item { id: headerSpace; width: parent.width; height: 62 }
- Item {
- id: webPanel
- anchors.fill: parent
- clip: true
- Rectangle {
- color: "#555555"
- anchors.fill: parent
- }
- Image {
- source: "content/pics/softshadow-bottom.png"
- width: webPanel.width
- height: 16
- }
- Image {
- source: "content/pics/softshadow-top.png"
- width: webPanel.width
- height: 16
- anchors.bottom: footer.top
- }
- RectSoftShadow {
- x: -webView.contentX
- y: -webView.contentY
- width: webView.contentWidth
- height: webView.contentHeight+headerSpace.height
- }
- Item {
- id: headerSpace
- width: parent.width
- height: 60
- z: 1
+ Header {
+ id: header
+ editUrl: webBrowser.urlString
+ width: headerSpace.width; height: headerSpace.height
+ }
+
+ ScrollBar {
+ scrollArea: webView; width: 8
+ anchors { right: parent.right; top: header.bottom; bottom: parent.bottom }
+ }
- RetractingWebBrowserHeader { id: header }
- }
- FlickableWebView {
- id: webView
- width: parent.width
- anchors.top: headerSpace.bottom
- anchors.bottom: footer.top
- anchors.left: parent.left
- anchors.right: parent.right
- }
- BorderImage {
- id: footer
- source: "content/pics/footer.sci"
- width: parent.width
- height: 43
- anchors.bottom: parent.bottom
- Rectangle {
- y: -1
- width: parent.width
- height: 1
- color: "#555555"
- }
- Item {
- id: backbutton
- width: back_e.width
- height: back_e.height
- anchors.right: reload.left
- anchors.rightMargin: 10
- anchors.verticalCenter: parent.verticalCenter
- Image {
- id: back_e
- source: "content/pics/back.png"
- anchors.fill: parent
- }
- Image {
- id: back_d
- source: "content/pics/back-disabled.png"
- anchors.fill: parent
- }
- states: [
- State {
- name: "Enabled"
- when: webView.back.enabled==true
- PropertyChanges { target: back_e; opacity: 1 }
- PropertyChanges { target: back_d; opacity: 0 }
- },
- State {
- name: "Disabled"
- when: webView.back.enabled==false
- PropertyChanges { target: back_e; opacity: 0 }
- PropertyChanges { target: back_d; opacity: 1 }
- }
- ]
- transitions: [
- Transition {
- NumberAnimation {
- properties: "opacity"
- easing.type: "InOutQuad"
- duration: 300
- }
- }
- ]
- MouseArea {
- anchors.fill: back_e
- onClicked: { if (webView.back.enabled) webView.back.trigger() }
- }
- }
- Image {
- id: reload
- source: "content/pics/reload.png"
- anchors.horizontalCenter: parent.horizontalCenter
- anchors.verticalCenter: parent.verticalCenter
- }
- MouseArea {
- anchors.fill: reload
- onClicked: { webView.reload.trigger() }
- }
- Item {
- id: forwardbutton
- width: forward_e.width
- height: forward_e.height
- anchors.left: reload.right
- anchors.leftMargin: 10
- anchors.verticalCenter: parent.verticalCenter
- Image {
- id: forward_e
- source: "content/pics/forward.png"
- anchors.fill: parent
- anchors.verticalCenter: parent.verticalCenter
- }
- Image {
- id: forward_d
- source: "content/pics/forward-disabled.png"
- anchors.fill: parent
- }
- states: [
- State {
- name: "Enabled"
- when: webView.forward.enabled==true
- PropertyChanges { target: forward_e; opacity: 1 }
- PropertyChanges { target: forward_d; opacity: 0 }
- },
- State {
- name: "Disabled"
- when: webView.forward.enabled==false
- PropertyChanges { target: forward_e; opacity: 0 }
- PropertyChanges { target: forward_d; opacity: 1 }
- }
- ]
- transitions: [
- Transition {
- NumberAnimation {
- properties: "opacity"
- easing.type: "InOutQuad"
- duration: 320
- }
- }
- ]
- MouseArea {
- anchors.fill: parent
- onClicked: { if (webView.forward.enabled) webView.forward.trigger() }
- }
- }
- }
+ ScrollBar {
+ scrollArea: webView; height: 8; orientation: Qt.Horizontal
+ anchors { right: parent.right; rightMargin: 8; left: parent.left; bottom: parent.bottom }
}
}
diff --git a/demos/deform/main.cpp b/demos/deform/main.cpp
index 4539973f6e..bef075a502 100644
--- a/demos/deform/main.cpp
+++ b/demos/deform/main.cpp
@@ -50,10 +50,7 @@ int main(int argc, char **argv)
QApplication app(argc, argv);
- bool smallScreen = false;
- for (int i=0; i<argc; i++)
- if (QString(argv[i]) == "-small-screen")
- smallScreen = true;
+ bool smallScreen = QApplication::arguments().contains("-small-screen");
PathDeformWidget deformWidget(0, smallScreen);
diff --git a/demos/demos.pro b/demos/demos.pro
index 5e8a4ea538..f359bd71d4 100644
--- a/demos/demos.pro
+++ b/demos/demos.pro
@@ -57,8 +57,8 @@ wince*:SUBDIRS += demos_sqlbrowser
}
contains(QT_CONFIG, phonon):!static:SUBDIRS += demos_mediaplayer
contains(QT_CONFIG, webkit):contains(QT_CONFIG, svg):!symbian:SUBDIRS += demos_browser
-contains(QT_CONFIG, multimedia):SUBDIRS += demos_multimedia
contains(QT_CONFIG, declarative):SUBDIRS += demos_declarative
+contains(QT_CONFIG, multimedia):SUBDIRS += demos_spectrum
# install
sources.files = README *.pro
@@ -89,13 +89,13 @@ demos_sqlbrowser.subdir = sqlbrowser
demos_undo.subdir = undo
demos_qtdemo.subdir = qtdemo
demos_mediaplayer.subdir = qmediaplayer
-demos_multimedia.subdir = multimedia
demos_declarative.subdir = declarative
demos_browser.subdir = browser
demos_boxes.subdir = boxes
demos_sub-attaq.subdir = sub-attaq
+demos_spectrum.subdir = spectrum
#CONFIG += ordered
!ordered {
diff --git a/demos/embedded/anomaly/src/ControlStrip.cpp b/demos/embedded/anomaly/src/ControlStrip.cpp
index dc6d5c24df..c9c81c010c 100644
--- a/demos/embedded/anomaly/src/ControlStrip.cpp
+++ b/demos/embedded/anomaly/src/ControlStrip.cpp
@@ -66,6 +66,7 @@ QSize ControlStrip::minimumSizeHint() const
void ControlStrip::mousePressEvent(QMouseEvent *event)
{
int h = height();
+ int spacing = qMin(h, (width() - h * 4) / 3);
int x = event->pos().x();
if (x < h) {
@@ -80,13 +81,13 @@ void ControlStrip::mousePressEvent(QMouseEvent *event)
return;
}
- if ((x < width() - 2 * h) && (x > width() - 3 * h)) {
+ if ((x < width() - (h + spacing)) && (x > width() - (h * 2 + spacing))) {
emit forwardClicked();
event->accept();
return;
}
- if ((x < width() - 3 * h) && (x > width() - 5 * h)) {
+ if ((x < width() - (h * 2 + spacing * 2)) && (x > width() - (h * 3 + spacing * 2))) {
emit backClicked();
event->accept();
return;
@@ -96,15 +97,16 @@ void ControlStrip::mousePressEvent(QMouseEvent *event)
void ControlStrip::paintEvent(QPaintEvent *event)
{
int h = height();
- int s = (h - menuPixmap.height()) / 2;
+ int spacing = qMin(h, (width() - h * 4) / 3);
+ int s = (height() - menuPixmap.height()) / 2;
QPainter p(this);
p.fillRect(event->rect(), QColor(32, 32, 32, 192));
p.setCompositionMode(QPainter::CompositionMode_SourceOver);
p.drawPixmap(s, s, menuPixmap);
p.drawPixmap(width() - h + s, s, closePixmap);
- p.drawPixmap(width() - 3 * h + s, s, forwardPixmap);
- p.drawPixmap(width() - 5 * h + s, s, backPixmap);
+ p.drawPixmap(width() - (h * 2 + spacing) + s, s, forwardPixmap);
+ p.drawPixmap(width() - (h * 3 + spacing * 2) + s, s, backPixmap);
p.end();
}
diff --git a/demos/embedded/desktopservices/desktopservices.pro b/demos/embedded/desktopservices/desktopservices.pro
index bff7c468a1..94ddedd62d 100644
--- a/demos/embedded/desktopservices/desktopservices.pro
+++ b/demos/embedded/desktopservices/desktopservices.pro
@@ -24,8 +24,8 @@ symbian {
}
wince*{
- music.path = "\My Documents\My Music"
- image.path = "\My Documents\My Pictures"
+ music.path = "\\My Documents\\My Music"
+ image.path = "\\My Documents\\My Pictures"
DEPLOYMENT += music image
}
diff --git a/demos/embedded/embedded.pro b/demos/embedded/embedded.pro
index da764d152e..a3fc72b63a 100644
--- a/demos/embedded/embedded.pro
+++ b/demos/embedded/embedded.pro
@@ -19,6 +19,11 @@ contains(QT_CONFIG, webkit) {
SUBDIRS += anomaly
}
+contains(QT_CONFIG, declarative) {
+ # Qml demos require DEPLOYMENT support. Therefore, only symbian.
+ symbian:SUBDIRS += qmlcalculator qmlclocks qmldialcontrol qmleasing qmlflickr qmlphotoviewer qmltwitter
+}
+
# install
sources.files = README *.pro
sources.path = $$[QT_INSTALL_DEMOS]/embedded
diff --git a/demos/embedded/flightinfo/flightinfo.cpp b/demos/embedded/flightinfo/flightinfo.cpp
index 10d3f027db..425d6aaa69 100644
--- a/demos/embedded/flightinfo/flightinfo.cpp
+++ b/demos/embedded/flightinfo/flightinfo.cpp
@@ -43,10 +43,6 @@
#include <QtGui>
#include <QtNetwork>
-#if defined (Q_OS_SYMBIAN)
-#include "sym_iap_util.h"
-#endif
-
#include "ui_form.h"
#define FLIGHTVIEW_URL "http://mobile.flightview.com/TrackByFlight.aspx"
@@ -100,6 +96,8 @@ private:
QUrl m_url;
QDate m_searchDate;
QPixmap m_map;
+ QNetworkAccessManager m_manager;
+ QList<QNetworkReply *> mapReplies;
public:
@@ -115,7 +113,6 @@ public:
connect(ui.flightEdit, SIGNAL(returnPressed()), SLOT(startSearch()));
setWindowTitle("Flight Info");
- QTimer::singleShot(0, this, SLOT(delayedInit()));
// Rendered from the public-domain vectorized aircraft
// http://openclipart.org/media/people/Jarno
@@ -127,6 +124,8 @@ public:
connect(searchTodayAction, SIGNAL(triggered()), SLOT(today()));
connect(searchYesterdayAction, SIGNAL(triggered()), SLOT(yesterday()));
connect(randomAction, SIGNAL(triggered()), SLOT(randomFlight()));
+ connect(&m_manager, SIGNAL(finished(QNetworkReply*)),
+ this, SLOT(handleNetworkData(QNetworkReply*)));
#if defined(Q_OS_SYMBIAN)
menuBar()->addAction(searchTodayAction);
menuBar()->addAction(searchYesterdayAction);
@@ -140,31 +139,21 @@ public:
}
private slots:
- void delayedInit() {
-#if defined(Q_OS_SYMBIAN)
- qt_SetDefaultIap();
-#endif
- }
-
void handleNetworkData(QNetworkReply *networkReply) {
if (!networkReply->error()) {
- // Assume UTF-8 encoded
- QByteArray data = networkReply->readAll();
- QString xml = QString::fromUtf8(data);
- digest(xml);
- }
- networkReply->deleteLater();
- networkReply->manager()->deleteLater();
- }
-
- void handleMapData(QNetworkReply *networkReply) {
- if (!networkReply->error()) {
- m_map.loadFromData(networkReply->readAll());
- update();
+ if (!mapReplies.contains(networkReply)) {
+ // Assume UTF-8 encoded
+ QByteArray data = networkReply->readAll();
+ QString xml = QString::fromUtf8(data);
+ digest(xml);
+ } else {
+ mapReplies.removeOne(networkReply);
+ m_map.loadFromData(networkReply->readAll());
+ update();
+ }
}
networkReply->deleteLater();
- networkReply->manager()->deleteLater();
}
void today() {
@@ -185,6 +174,10 @@ private slots:
ui.infoBox->hide();
ui.flightStatus->hide();
ui.flightName->setText("Enter flight number");
+ ui.flightEdit->setFocus();
+#ifdef QT_KEYPAD_NAVIGATION
+ ui.flightEdit->setEditFocus(true);
+#endif
m_map = QPixmap();
update();
}
@@ -224,10 +217,7 @@ public slots:
ui.flightName->setText("Getting a random flight...");
}
- QNetworkAccessManager *manager = new QNetworkAccessManager(this);
- connect(manager, SIGNAL(finished(QNetworkReply*)),
- this, SLOT(handleNetworkData(QNetworkReply*)));
- manager->get(QNetworkRequest(m_url));
+ m_manager.get(QNetworkRequest(m_url));
}
@@ -248,10 +238,7 @@ private:
regex.indexIn(href);
QString airport = regex.cap(1);
m_url.addEncodedQueryItem("dpap", QUrl::toPercentEncoding(airport));
- QNetworkAccessManager *manager = new QNetworkAccessManager(this);
- connect(manager, SIGNAL(finished(QNetworkReply*)),
- this, SLOT(handleNetworkData(QNetworkReply*)));
- manager->get(QNetworkRequest(m_url));
+ m_manager.get(QNetworkRequest(m_url));
return;
}
@@ -287,12 +274,9 @@ private:
}
if (xml.name() == "img" && inFlightMap) {
QString src = xml.attributes().value("src").toString();
- src.prepend("http://mobile.flightview.com");
+ src.prepend("http://mobile.flightview.com/");
QUrl url = QUrl::fromPercentEncoding(src.toAscii());
- QNetworkAccessManager *manager = new QNetworkAccessManager(this);
- connect(manager, SIGNAL(finished(QNetworkReply*)),
- this, SLOT(handleMapData(QNetworkReply*)));
- manager->get(QNetworkRequest(url));
+ mapReplies.append(m_manager.get(QNetworkRequest(url)));
}
}
diff --git a/demos/embedded/fluidlauncher/config_s60/config.xml b/demos/embedded/fluidlauncher/config_s60/config.xml
index 176f52e0f0..4f10488f65 100644
--- a/demos/embedded/fluidlauncher/config_s60/config.xml
+++ b/demos/embedded/fluidlauncher/config_s60/config.xml
@@ -20,6 +20,14 @@
<example filename="flickable" name="Kinetic Scrolling" image="screenshots/flickable.png"/>
<example filename="digiflip" name="Flipping Clock" image="screenshots/digiflip.png"/>
<example filename="qmediaplayer" name="Media Player" image="screenshots/mediaplayer.png" args="-small-screen"/>
+ <example filename="spectrum" name="Spectrum Analyzer" image="screenshots/spectrum.png" args="-small-screen"/>
+ <example filename="qmlcalculator" name="Qml Calculator" image="screenshots/qmlcalculator.png"/>
+ <example filename="qmlclocks" name="Qml Clocks" image="screenshots/qmlclocks.png"/>
+ <example filename="qmldialcontrol" name="Qml Dial Control" image="screenshots/qmldialcontrol.png"/>
+ <example filename="qmleasing" name="Qml Easing Curves" image="screenshots/qmleasing.png"/>
+ <example filename="qmlflickr" name="Qml flickr" image="screenshots/qmlflickr.jpg"/>
+ <example filename="qmlphotoviewer" name="Qml Photo Viewer" image="screenshots/qmlphotoviewer.jpg"/>
+ <example filename="qmltwitter" name="Qml twitter" image="screenshots/qmltwitter.jpg"/>
</demos>
<slideshow timeout="60000" interval="10000">
<imagedir dir="slides"/>
diff --git a/demos/embedded/fluidlauncher/fluidlauncher.pro b/demos/embedded/fluidlauncher/fluidlauncher.pro
index c6a105ef5c..416e58b726 100644
--- a/demos/embedded/fluidlauncher/fluidlauncher.pro
+++ b/demos/embedded/fluidlauncher/fluidlauncher.pro
@@ -2,6 +2,7 @@ TEMPLATE = app
TARGET =
DEPENDPATH += .
INCLUDEPATH += .
+VERSION = $$QT_VERSION
# Input
HEADERS += \
@@ -116,6 +117,10 @@ symbian {
reg_resource.sources += $$regResourceDir(demos/qmediaplayer/qmediaplayer_reg.rsc)
}
+ contains(QT_CONFIG, multimedia) {
+ reg_resource.sources += $${EPOCROOT}$$HW_ZDIR$$REG_RESOURCE_IMPORT_DIR/spectrum_reg.rsc
+ }
+
reg_resource.path = $$REG_RESOURCE_IMPORT_DIR
@@ -196,6 +201,13 @@ symbian {
$$appResourceDir(demos/qmediaplayer/qmediaplayer.mif)
}
+ contains(QT_CONFIG, multimedia) {
+ executables.sources += spectrum.exe fftreal.dll
+ resource.sources += $${EPOCROOT}$$HW_ZDIR$$APP_RESOURCE_DIR/spectrum.rsc
+ mifs.sources += \
+ $${EPOCROOT}$$HW_ZDIR$$APP_RESOURCE_DIR/spectrum.mif
+ }
+
contains(QT_CONFIG, script) {
executables.sources += $$QT_BUILD_TREE/examples/script/context2d/context2d.exe
reg_resource.sources += $$regResourceDir(examples/script/context2d/context2d_reg.rsc)
@@ -204,6 +216,16 @@ symbian {
$$appResourceDir(examples/script/context2d/context2d.mif)
}
+ qmldemos = qmlcalculator qmlclocks qmldialcontrol qmleasing qmlflickr qmlphotoviewer qmltwitter
+ contains(QT_CONFIG, declarative) {
+ for(qmldemo, qmldemos) {
+ executables.sources += $$QT_BUILD_TREE/demos/embedded/$${qmldemo}/$${qmldemo}.exe
+ reg_resource.sources += $$regResourceDir(demos/embedded/$${qmldemo}/$${qmldemo}_reg.rsc)
+ resource.sources += $$appResourceDir(demos/embedded/$${qmldemo}/$${qmldemo}.rsc)
+ mifs.sources += $$appResourceDir(demos/embedded/$${qmldemo}/$${qmldemo}.mif)
+ }
+ }
+
files.sources = $$PWD/screenshots $$PWD/slides
files.path = .
@@ -232,6 +254,8 @@ symbian {
DEPLOYMENT += config files executables viewerimages saxbookmarks reg_resource resource \
mifs desktopservices_music desktopservices_images fluidbackup
+ contains(QT_CONFIG, declarative):for(qmldemo, qmldemos):include($$QT_BUILD_TREE/demos/embedded/$${qmldemo}/deployment.pri)
+
DEPLOYMENT.installer_header = 0xA000D7CD
TARGET.EPOCHEAPSIZE = 100000 20000000
diff --git a/demos/embedded/fluidlauncher/screenshots/qmlcalculator.png b/demos/embedded/fluidlauncher/screenshots/qmlcalculator.png
new file mode 100644
index 0000000000..f4218f5b33
--- /dev/null
+++ b/demos/embedded/fluidlauncher/screenshots/qmlcalculator.png
Binary files differ
diff --git a/demos/embedded/fluidlauncher/screenshots/qmlclocks.png b/demos/embedded/fluidlauncher/screenshots/qmlclocks.png
new file mode 100644
index 0000000000..ba25a18376
--- /dev/null
+++ b/demos/embedded/fluidlauncher/screenshots/qmlclocks.png
Binary files differ
diff --git a/demos/embedded/fluidlauncher/screenshots/qmldialcontrol.png b/demos/embedded/fluidlauncher/screenshots/qmldialcontrol.png
new file mode 100644
index 0000000000..b8def8c804
--- /dev/null
+++ b/demos/embedded/fluidlauncher/screenshots/qmldialcontrol.png
Binary files differ
diff --git a/demos/embedded/fluidlauncher/screenshots/qmleasing.png b/demos/embedded/fluidlauncher/screenshots/qmleasing.png
new file mode 100644
index 0000000000..d34c2ac3d1
--- /dev/null
+++ b/demos/embedded/fluidlauncher/screenshots/qmleasing.png
Binary files differ
diff --git a/demos/embedded/fluidlauncher/screenshots/qmlflickr.jpg b/demos/embedded/fluidlauncher/screenshots/qmlflickr.jpg
new file mode 100644
index 0000000000..d7faabfb11
--- /dev/null
+++ b/demos/embedded/fluidlauncher/screenshots/qmlflickr.jpg
Binary files differ
diff --git a/demos/embedded/fluidlauncher/screenshots/qmlphotoviewer.jpg b/demos/embedded/fluidlauncher/screenshots/qmlphotoviewer.jpg
new file mode 100644
index 0000000000..673ffc6e90
--- /dev/null
+++ b/demos/embedded/fluidlauncher/screenshots/qmlphotoviewer.jpg
Binary files differ
diff --git a/demos/embedded/fluidlauncher/screenshots/qmltwitter.jpg b/demos/embedded/fluidlauncher/screenshots/qmltwitter.jpg
new file mode 100644
index 0000000000..4399eea09d
--- /dev/null
+++ b/demos/embedded/fluidlauncher/screenshots/qmltwitter.jpg
Binary files differ
diff --git a/demos/embedded/fluidlauncher/screenshots/spectrum.png b/demos/embedded/fluidlauncher/screenshots/spectrum.png
new file mode 100644
index 0000000000..7f4938fcce
--- /dev/null
+++ b/demos/embedded/fluidlauncher/screenshots/spectrum.png
Binary files differ
diff --git a/demos/embedded/qmlcalculator/deployment.pri b/demos/embedded/qmlcalculator/deployment.pri
new file mode 100644
index 0000000000..d5078f6655
--- /dev/null
+++ b/demos/embedded/qmlcalculator/deployment.pri
@@ -0,0 +1,7 @@
+qmlcalculator_src = $$PWD/../../declarative/calculator
+symbian {
+ qmlcalculator_uid3 = EA8EBD98
+ qmlcalculator_files.path = ../$$qmlcalculator_uid3
+}
+qmlcalculator_files.sources = $$qmlcalculator_src/calculator.qml $$qmlcalculator_src/Core
+DEPLOYMENT += qmlcalculator_files
diff --git a/demos/embedded/qmlcalculator/qmlcalculator.cpp b/demos/embedded/qmlcalculator/qmlcalculator.cpp
new file mode 100644
index 0000000000..3030e810be
--- /dev/null
+++ b/demos/embedded/qmlcalculator/qmlcalculator.cpp
@@ -0,0 +1,78 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the demonstration applications of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include <QtCore/QFileInfo>
+#include <QtGui/QApplication>
+#include <QtDeclarative/QDeclarativeView>
+
+#if defined(Q_OS_SYMBIAN)
+#include <eikenv.h>
+#include <eikappui.h>
+#include <aknenv.h>
+#include <aknappui.h>
+#endif // Q_OS_SYMBIAN
+
+int main(int argc, char *argv[])
+{
+ QApplication application(argc, argv);
+
+ const QString mainQmlApp = QLatin1String("calculator.qml");
+ QDeclarativeView view;
+ view.setSource(QUrl(mainQmlApp));
+ view.setResizeMode(QDeclarativeView::SizeRootObjectToView);
+
+#if defined(QT_KEYPAD_NAVIGATION)
+ QApplication::setNavigationMode(Qt::NavigationModeCursorAuto);
+#endif // QT_KEYPAD_NAVIGATION
+
+#if defined(Q_OS_SYMBIAN)
+ CAknAppUi* appUi = dynamic_cast<CAknAppUi*> (CEikonEnv::Static()->AppUi());
+ TRAPD(error,
+ if (appUi)
+ appUi->SetOrientationL(CAknAppUi::EAppUiOrientationPortrait)
+ )
+ view.showFullScreen();
+#else // Q_OS_SYMBIAN
+ view.show();
+#endif // Q_OS_SYMBIAN
+
+ return application.exec();
+}
diff --git a/demos/embedded/qmlcalculator/qmlcalculator.pro b/demos/embedded/qmlcalculator/qmlcalculator.pro
new file mode 100644
index 0000000000..1e71eed4fa
--- /dev/null
+++ b/demos/embedded/qmlcalculator/qmlcalculator.pro
@@ -0,0 +1,12 @@
+!symbian:!wince*:warning("DEPLOYMENT support required. This project only works on Symbian and WinCE.")
+
+QT += declarative
+SOURCES += $$PWD/qmlcalculator.cpp
+include($$PWD/deployment.pri)
+
+symbian {
+ TARGET.UID3 = 0x$$qmlcalculator_uid3 # defined in deployment.pri
+ include($$QT_SOURCE_TREE/demos/symbianpkgrules.pri)
+ TARGET.EPOCHEAPSIZE = 0x20000 0x2000000
+ LIBS += -lcone -leikcore -lavkon # Screen orientation
+}
diff --git a/demos/embedded/qmlclocks/deployment.pri b/demos/embedded/qmlclocks/deployment.pri
new file mode 100644
index 0000000000..84803ece7b
--- /dev/null
+++ b/demos/embedded/qmlclocks/deployment.pri
@@ -0,0 +1,7 @@
+qmlclocks_src = $$PWD/../../../examples/declarative/toys/clocks
+symbian {
+ qmlclocks_uid3 = E19225B9
+ qmlclocks_files.path = ../$$qmlclocks_uid3
+}
+qmlclocks_files.sources = $$qmlclocks_src/clocks.qml $$qmlclocks_src/content
+DEPLOYMENT += qmlclocks_files
diff --git a/demos/embedded/qmlclocks/qmlclocks.cpp b/demos/embedded/qmlclocks/qmlclocks.cpp
new file mode 100644
index 0000000000..d94cbdd359
--- /dev/null
+++ b/demos/embedded/qmlclocks/qmlclocks.cpp
@@ -0,0 +1,78 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the demonstration applications of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include <QtCore/QFileInfo>
+#include <QtGui/QApplication>
+#include <QtDeclarative/QDeclarativeView>
+
+#if defined(Q_OS_SYMBIAN)
+#include <eikenv.h>
+#include <eikappui.h>
+#include <aknenv.h>
+#include <aknappui.h>
+#endif // Q_OS_SYMBIAN
+
+int main(int argc, char *argv[])
+{
+ QApplication application(argc, argv);
+
+ const QString mainQmlApp = QLatin1String("clocks.qml");
+ QDeclarativeView view;
+ view.setSource(QUrl(mainQmlApp));
+ view.setResizeMode(QDeclarativeView::SizeRootObjectToView);
+
+#if defined(QT_KEYPAD_NAVIGATION)
+ QApplication::setNavigationMode(Qt::NavigationModeCursorAuto);
+#endif // QT_KEYPAD_NAVIGATION
+
+#if defined(Q_OS_SYMBIAN)
+ CAknAppUi* appUi = dynamic_cast<CAknAppUi*> (CEikonEnv::Static()->AppUi());
+ TRAPD(error,
+ if (appUi)
+ appUi->SetOrientationL(CAknAppUi::EAppUiOrientationLandscape)
+ )
+ view.showFullScreen();
+#else // Q_OS_SYMBIAN
+ view.show();
+#endif // Q_OS_SYMBIAN
+
+ return application.exec();
+}
diff --git a/demos/embedded/qmlclocks/qmlclocks.pro b/demos/embedded/qmlclocks/qmlclocks.pro
new file mode 100644
index 0000000000..5edfe14241
--- /dev/null
+++ b/demos/embedded/qmlclocks/qmlclocks.pro
@@ -0,0 +1,12 @@
+!symbian:!wince*:warning("DEPLOYMENT support required. This project only works on Symbian and WinCE.")
+
+QT += declarative
+SOURCES += $$PWD/qmlclocks.cpp
+include($$PWD/deployment.pri)
+
+symbian {
+ TARGET.UID3 = 0x$$qmlclocks_uid3 # defined in deployment.pri
+ include($$QT_SOURCE_TREE/demos/symbianpkgrules.pri)
+ TARGET.EPOCHEAPSIZE = 0x20000 0x2000000
+ LIBS += -lcone -leikcore -lavkon # Screen orientation
+}
diff --git a/demos/embedded/qmldialcontrol/deployment.pri b/demos/embedded/qmldialcontrol/deployment.pri
new file mode 100644
index 0000000000..8eb39b2a26
--- /dev/null
+++ b/demos/embedded/qmldialcontrol/deployment.pri
@@ -0,0 +1,7 @@
+qmldialcontrol_src = $$PWD/../../../examples/declarative/ui-components/dialcontrol
+symbian {
+ qmldialcontrol_uid3 = E59A9283
+ qmldialcontrol_files.path = ../$$qmldialcontrol_uid3
+}
+qmldialcontrol_files.sources = $$qmldialcontrol_src/dialcontrol.qml $$qmldialcontrol_src/content
+DEPLOYMENT += qmldialcontrol_files
diff --git a/demos/embedded/qmldialcontrol/qmldialcontrol.cpp b/demos/embedded/qmldialcontrol/qmldialcontrol.cpp
new file mode 100644
index 0000000000..311cee09c9
--- /dev/null
+++ b/demos/embedded/qmldialcontrol/qmldialcontrol.cpp
@@ -0,0 +1,66 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the demonstration applications of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include <QtCore/QFileInfo>
+#include <QtGui/QApplication>
+#include <QtDeclarative/QDeclarativeView>
+
+int main(int argc, char *argv[])
+{
+ QApplication application(argc, argv);
+
+ const QString mainQmlApp = QLatin1String("dialcontrol.qml");
+ QDeclarativeView view;
+ view.setSource(QUrl(mainQmlApp));
+ view.setResizeMode(QDeclarativeView::SizeRootObjectToView);
+
+#if defined(QT_KEYPAD_NAVIGATION)
+ QApplication::setNavigationMode(Qt::NavigationModeCursorAuto);
+#endif // QT_KEYPAD_NAVIGATION
+
+#if defined(Q_OS_SYMBIAN)
+ view.showFullScreen();
+#else // Q_OS_SYMBIAN
+ view.show();
+#endif // Q_OS_SYMBIAN
+
+ return application.exec();
+}
diff --git a/demos/embedded/qmldialcontrol/qmldialcontrol.pro b/demos/embedded/qmldialcontrol/qmldialcontrol.pro
new file mode 100644
index 0000000000..193cf55ce8
--- /dev/null
+++ b/demos/embedded/qmldialcontrol/qmldialcontrol.pro
@@ -0,0 +1,11 @@
+!symbian:!wince*:warning("DEPLOYMENT support required. This project only works on Symbian and WinCE.")
+
+QT += declarative
+SOURCES += $$PWD/qmldialcontrol.cpp
+include($$PWD/deployment.pri)
+
+symbian {
+ TARGET.UID3 = 0x$$qmldialcontrol_uid3 # defined in deployment.pri
+ include($$QT_SOURCE_TREE/demos/symbianpkgrules.pri)
+ TARGET.EPOCHEAPSIZE = 0x20000 0x2000000
+}
diff --git a/demos/embedded/qmleasing/deployment.pri b/demos/embedded/qmleasing/deployment.pri
new file mode 100644
index 0000000000..ddab1bab75
--- /dev/null
+++ b/demos/embedded/qmleasing/deployment.pri
@@ -0,0 +1,7 @@
+qmleasing_src = $$PWD/../../../examples/declarative/animation/easing
+symbian {
+ qmleasing_uid3 = E8E8E725
+ qmleasing_files.path = ../$$qmleasing_uid3
+}
+qmleasing_files.sources = $$qmleasing_src/easing.qml
+DEPLOYMENT += qmleasing_files
diff --git a/demos/embedded/qmleasing/qmleasing.cpp b/demos/embedded/qmleasing/qmleasing.cpp
new file mode 100644
index 0000000000..d326468d40
--- /dev/null
+++ b/demos/embedded/qmleasing/qmleasing.cpp
@@ -0,0 +1,66 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the demonstration applications of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include <QtCore/QFileInfo>
+#include <QtGui/QApplication>
+#include <QtDeclarative/QDeclarativeView>
+
+int main(int argc, char *argv[])
+{
+ QApplication application(argc, argv);
+
+ const QString mainQmlApp = QLatin1String("easing.qml");
+ QDeclarativeView view;
+ view.setSource(QUrl(mainQmlApp));
+ view.setResizeMode(QDeclarativeView::SizeRootObjectToView);
+
+#if defined(QT_KEYPAD_NAVIGATION)
+ QApplication::setNavigationMode(Qt::NavigationModeCursorAuto);
+#endif // QT_KEYPAD_NAVIGATION
+
+#if defined(Q_OS_SYMBIAN)
+ view.showFullScreen();
+#else // Q_OS_SYMBIAN
+ view.show();
+#endif // Q_OS_SYMBIAN
+
+ return application.exec();
+}
diff --git a/demos/embedded/qmleasing/qmleasing.pro b/demos/embedded/qmleasing/qmleasing.pro
new file mode 100644
index 0000000000..084a880cbe
--- /dev/null
+++ b/demos/embedded/qmleasing/qmleasing.pro
@@ -0,0 +1,11 @@
+!symbian:!wince*:warning("DEPLOYMENT support required. This project only works on Symbian and WinCE.")
+
+QT += declarative
+SOURCES += $$PWD/qmleasing.cpp
+include($$PWD/deployment.pri)
+
+symbian {
+ TARGET.UID3 = 0x$$qmleasing_uid3 # defined in deployment.pri
+ include($$QT_SOURCE_TREE/demos/symbianpkgrules.pri)
+ TARGET.EPOCHEAPSIZE = 0x20000 0x2000000
+}
diff --git a/demos/embedded/qmlflickr/deployment.pri b/demos/embedded/qmlflickr/deployment.pri
new file mode 100644
index 0000000000..aef319892d
--- /dev/null
+++ b/demos/embedded/qmlflickr/deployment.pri
@@ -0,0 +1,7 @@
+qmlflickr_src = $$PWD/../../declarative/flickr
+symbian {
+ qmlflickr_uid3 = E56D5A92
+ qmlflickr_files.path = ../$$qmlflickr_uid3
+}
+qmlflickr_files.sources = $$qmlflickr_src/flickr.qml $$qmlflickr_src/common $$qmlflickr_src/mobile
+DEPLOYMENT += qmlflickr_files
diff --git a/demos/embedded/qmlflickr/qmlflickr.cpp b/demos/embedded/qmlflickr/qmlflickr.cpp
new file mode 100644
index 0000000000..6f0c528ee3
--- /dev/null
+++ b/demos/embedded/qmlflickr/qmlflickr.cpp
@@ -0,0 +1,92 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the demonstration applications of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include <QtCore/QFileInfo>
+#include <QtGui/QApplication>
+#include <QtDeclarative/QDeclarativeView>
+#include <QtDeclarative/QDeclarativeEngine>
+
+#if defined(Q_OS_SYMBIAN)
+#include <QtCore/QTextCodec>
+#include <QtCore/QTimer>
+#include "sym_iap_util.h"
+
+class QmlAppView : public QDeclarativeView
+{
+Q_OBJECT
+public:
+ QmlAppView(QWidget *parent = 0)
+ : QDeclarativeView(parent)
+ {
+ QTimer::singleShot(0, this, SLOT(setDefaultIap()));
+ }
+
+private slots:
+ void setDefaultIap()
+ {
+ qt_SetDefaultIap();
+ }
+};
+#else // Q_OS_SYMBIAN
+typedef QDeclarativeView QmlAppView;
+#endif // Q_OS_SYMBIAN
+
+int main(int argc, char *argv[])
+{
+ QApplication application(argc, argv);
+
+ const QString mainQmlApp = QLatin1String("flickr.qml");
+ QmlAppView view;
+ view.setSource(QUrl(mainQmlApp));
+ view.setResizeMode(QDeclarativeView::SizeRootObjectToView);
+
+#if defined(Q_OS_SYMBIAN)
+ view.showFullScreen();
+#else // Q_OS_SYMBIAN
+ view.setGeometry(QRect(100, 100, 360, 640));
+ view.show();
+#endif // Q_OS_SYMBIAN
+ return application.exec();
+}
+
+#if defined(Q_OS_SYMBIAN)
+#include "qmlflickr.moc"
+#endif // Q_OS_SYMBIAN
diff --git a/demos/embedded/qmlflickr/qmlflickr.pro b/demos/embedded/qmlflickr/qmlflickr.pro
new file mode 100644
index 0000000000..e7061349a3
--- /dev/null
+++ b/demos/embedded/qmlflickr/qmlflickr.pro
@@ -0,0 +1,14 @@
+!symbian:!wince*:warning("DEPLOYMENT support required. This project only works on Symbian and WinCE.")
+
+QT += declarative network
+SOURCES += $$PWD/qmlflickr.cpp
+include($$PWD/deployment.pri)
+
+symbian {
+ TARGET.UID3 = 0x$$qmlflickr_uid3 # defined in deployment.pri
+ include($$QT_SOURCE_TREE/demos/symbianpkgrules.pri)
+ INCLUDEPATH += $$QT_SOURCE_TREE/examples/network/qftp/
+ LIBS += -lesock -lcommdb -linsock # For IAP selection
+ TARGET.CAPABILITY = NetworkServices
+ TARGET.EPOCHEAPSIZE = 0x20000 0x2000000
+}
diff --git a/demos/embedded/qmlphotoviewer/deployment.pri b/demos/embedded/qmlphotoviewer/deployment.pri
new file mode 100644
index 0000000000..99475ccbdf
--- /dev/null
+++ b/demos/embedded/qmlphotoviewer/deployment.pri
@@ -0,0 +1,7 @@
+qmlphotoviewer_src = $$PWD/../../declarative/photoviewer
+symbian {
+ qmlphotoviewer_uid3 = E8567E72
+ qmlphotoviewer_files.path = ../$$qmlphotoviewer_uid3
+}
+qmlphotoviewer_files.sources = $$qmlphotoviewer_src/photoviewer.qml $$qmlphotoviewer_src/PhotoViewerCore
+DEPLOYMENT += qmlphotoviewer_files
diff --git a/demos/embedded/qmlphotoviewer/qmlphotoviewer.cpp b/demos/embedded/qmlphotoviewer/qmlphotoviewer.cpp
new file mode 100644
index 0000000000..7889842f35
--- /dev/null
+++ b/demos/embedded/qmlphotoviewer/qmlphotoviewer.cpp
@@ -0,0 +1,92 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the demonstration applications of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include <QtCore/QFileInfo>
+#include <QtGui/QApplication>
+#include <QtDeclarative/QDeclarativeView>
+#include <QtDeclarative/QDeclarativeEngine>
+
+#if defined(Q_OS_SYMBIAN)
+#include <QtCore/QTextCodec>
+#include <QtCore/QTimer>
+#include "sym_iap_util.h"
+
+class QmlAppView : public QDeclarativeView
+{
+Q_OBJECT
+public:
+ QmlAppView(QWidget *parent = 0)
+ : QDeclarativeView(parent)
+ {
+ QTimer::singleShot(0, this, SLOT(setDefaultIap()));
+ }
+
+private slots:
+ void setDefaultIap()
+ {
+ qt_SetDefaultIap();
+ }
+};
+#else // Q_OS_SYMBIAN
+typedef QDeclarativeView QmlAppView;
+#endif // Q_OS_SYMBIAN
+
+int main(int argc, char *argv[])
+{
+ QApplication application(argc, argv);
+
+ const QString mainQmlApp = QLatin1String("photoviewer.qml");
+ QmlAppView view;
+ view.setSource(QUrl(mainQmlApp));
+ view.setResizeMode(QDeclarativeView::SizeRootObjectToView);
+
+#if defined(Q_OS_SYMBIAN)
+ view.showFullScreen();
+#else // Q_OS_SYMBIAN
+ view.setGeometry(QRect(100, 100, 360, 640));
+ view.show();
+#endif // Q_OS_SYMBIAN
+ return application.exec();
+}
+
+#if defined(Q_OS_SYMBIAN)
+#include "qmlphotoviewer.moc"
+#endif // Q_OS_SYMBIAN
diff --git a/demos/embedded/qmlphotoviewer/qmlphotoviewer.pro b/demos/embedded/qmlphotoviewer/qmlphotoviewer.pro
new file mode 100644
index 0000000000..ead5e6700d
--- /dev/null
+++ b/demos/embedded/qmlphotoviewer/qmlphotoviewer.pro
@@ -0,0 +1,14 @@
+!symbian:!wince*:warning("DEPLOYMENT support required. This project only works on Symbian and WinCE.")
+
+QT += declarative network
+SOURCES += $$PWD/qmlphotoviewer.cpp
+include($$PWD/deployment.pri)
+
+symbian {
+ TARGET.UID3 = 0x$$qmlphotoviewer_uid3 # defined in deployment.pri
+ include($$QT_SOURCE_TREE/demos/symbianpkgrules.pri)
+ INCLUDEPATH += $$QT_SOURCE_TREE/examples/network/qftp/
+ LIBS += -lesock -lcommdb -linsock # For IAP selection
+ TARGET.CAPABILITY = NetworkServices
+ TARGET.EPOCHEAPSIZE = 0x20000 0x2000000
+}
diff --git a/demos/embedded/qmltwitter/deployment.pri b/demos/embedded/qmltwitter/deployment.pri
new file mode 100644
index 0000000000..e5bd884c8b
--- /dev/null
+++ b/demos/embedded/qmltwitter/deployment.pri
@@ -0,0 +1,7 @@
+qmltwitter_src = $$PWD/../../declarative/twitter
+symbian {
+ qmltwitter_uid3 = EEF6D468
+ qmltwitter_files.path = ../$$qmltwitter_uid3
+}
+qmltwitter_files.sources = $$qmltwitter_src/twitter.qml $$qmltwitter_src/TwitterCore
+DEPLOYMENT += qmltwitter_files
diff --git a/demos/embedded/qmltwitter/qmltwitter.cpp b/demos/embedded/qmltwitter/qmltwitter.cpp
new file mode 100644
index 0000000000..e30ab24546
--- /dev/null
+++ b/demos/embedded/qmltwitter/qmltwitter.cpp
@@ -0,0 +1,92 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the demonstration applications of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include <QtCore/QFileInfo>
+#include <QtGui/QApplication>
+#include <QtDeclarative/QDeclarativeView>
+#include <QtDeclarative/QDeclarativeEngine>
+
+#if defined(Q_OS_SYMBIAN)
+#include <QtCore/QTextCodec>
+#include <QtCore/QTimer>
+#include "sym_iap_util.h"
+
+class QmlAppView : public QDeclarativeView
+{
+Q_OBJECT
+public:
+ QmlAppView(QWidget *parent = 0)
+ : QDeclarativeView(parent)
+ {
+ QTimer::singleShot(0, this, SLOT(setDefaultIap()));
+ }
+
+private slots:
+ void setDefaultIap()
+ {
+ qt_SetDefaultIap();
+ }
+};
+#else // Q_OS_SYMBIAN
+typedef QDeclarativeView QmlAppView;
+#endif // Q_OS_SYMBIAN
+
+int main(int argc, char *argv[])
+{
+ QApplication application(argc, argv);
+
+ const QString mainQmlApp = QLatin1String("twitter.qml");
+ QmlAppView view;
+ view.setSource(QUrl(mainQmlApp));
+ view.setResizeMode(QDeclarativeView::SizeRootObjectToView);
+
+#if defined(Q_OS_SYMBIAN)
+ view.showFullScreen();
+#else // Q_OS_SYMBIAN
+ view.setGeometry(QRect(100, 100, 360, 640));
+ view.show();
+#endif // Q_OS_SYMBIAN
+ return application.exec();
+}
+
+#if defined(Q_OS_SYMBIAN)
+#include "qmltwitter.moc"
+#endif // Q_OS_SYMBIAN
diff --git a/demos/embedded/qmltwitter/qmltwitter.pro b/demos/embedded/qmltwitter/qmltwitter.pro
new file mode 100644
index 0000000000..7f9be57317
--- /dev/null
+++ b/demos/embedded/qmltwitter/qmltwitter.pro
@@ -0,0 +1,14 @@
+!symbian:!wince*:warning("DEPLOYMENT support required. This project only works on Symbian and WinCE.")
+
+QT += declarative network
+SOURCES += $$PWD/qmltwitter.cpp
+include($$PWD/deployment.pri)
+
+symbian {
+ TARGET.UID3 = 0x$$qmltwitter_uid3 # defined in deployment.pri
+ include($$QT_SOURCE_TREE/demos/symbianpkgrules.pri)
+ INCLUDEPATH += $$QT_SOURCE_TREE/examples/network/qftp/
+ LIBS += -lesock -lcommdb -linsock # For IAP selection
+ TARGET.CAPABILITY = NetworkServices
+ TARGET.EPOCHEAPSIZE = 0x20000 0x2000000
+}
diff --git a/demos/embedded/weatherinfo/weatherinfo.cpp b/demos/embedded/weatherinfo/weatherinfo.cpp
index 42b685e733..3e0226ab1c 100644
--- a/demos/embedded/weatherinfo/weatherinfo.cpp
+++ b/demos/embedded/weatherinfo/weatherinfo.cpp
@@ -44,10 +44,6 @@
#include <QtNetwork>
#include <QtSvg>
-#if defined (Q_OS_SYMBIAN)
-#include "sym_iap_util.h"
-#endif
-
class WeatherInfo: public QMainWindow
{
Q_OBJECT
@@ -67,6 +63,7 @@ private:
QList<QGraphicsTextItem*> m_rangeItems;
QTimeLine m_timeLine;
QHash<QString, QString> m_icons;
+ QNetworkAccessManager m_manager;
public:
WeatherInfo(QWidget *parent = 0): QMainWindow(parent) {
@@ -98,14 +95,14 @@ public:
}
setContextMenuPolicy(Qt::ActionsContextMenu);
+ connect(&m_manager, SIGNAL(finished(QNetworkReply*)),
+ this, SLOT(handleNetworkData(QNetworkReply*)));
+
QTimer::singleShot(0, this, SLOT(delayedInit()));
}
private slots:
void delayedInit() {
-#if defined(Q_OS_SYMBIAN)
- qt_SetDefaultIap();
-#endif
request("Oslo");
}
@@ -122,7 +119,6 @@ private slots:
if (!networkReply->error())
digest(QString::fromUtf8(networkReply->readAll()));
networkReply->deleteLater();
- networkReply->manager()->deleteLater();
}
void animate(int frame) {
@@ -185,10 +181,7 @@ private:
url.addEncodedQueryItem("hl", "en");
url.addEncodedQueryItem("weather", QUrl::toPercentEncoding(location));
- QNetworkAccessManager *manager = new QNetworkAccessManager(this);
- connect(manager, SIGNAL(finished(QNetworkReply*)),
- this, SLOT(handleNetworkData(QNetworkReply*)));
- manager->get(QNetworkRequest(url));
+ m_manager.get(QNetworkRequest(url));
city = QString();
setWindowTitle("Loading...");
diff --git a/demos/multimedia/multimedia.pro b/demos/multimedia/multimedia.pro
deleted file mode 100644
index fa29a129a9..0000000000
--- a/demos/multimedia/multimedia.pro
+++ /dev/null
@@ -1,3 +0,0 @@
-TEMPLATE = subdirs
-contains(QT_CONFIG, mediaservices): SUBDIRS = player
-
diff --git a/demos/multimedia/player/main.cpp b/demos/multimedia/player/main.cpp
deleted file mode 100644
index 87c5b87b29..0000000000
--- a/demos/multimedia/player/main.cpp
+++ /dev/null
@@ -1,54 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the demonstration applications of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "player.h"
-
-#include <QtGui>
-
-int main(int argc, char *argv[])
-{
- QApplication app(argc, argv);
-
- Player player;
- player.show();
-
- return app.exec();
-};
diff --git a/demos/multimedia/player/player.cpp b/demos/multimedia/player/player.cpp
deleted file mode 100644
index bf314ee11b..0000000000
--- a/demos/multimedia/player/player.cpp
+++ /dev/null
@@ -1,372 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the demonstration applications of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "player.h"
-
-#include "playercontrols.h"
-#include "playlistmodel.h"
-#include "videowidget.h"
-
-#include <QtMediaServices/qmediaservice.h>
-#include <QtMediaServices/qmediaplaylist.h>
-
-#include <QtGui>
-
-Player::Player(QWidget *parent)
- : QWidget(parent)
- , videoWidget(0)
- , coverLabel(0)
- , slider(0)
- , colorDialog(0)
-{
- player = new QMediaPlayer(this);
- playlist = new QMediaPlaylist(this);
- playlist->setMediaObject(player);
-
- connect(player, SIGNAL(durationChanged(qint64)), SLOT(durationChanged(qint64)));
- connect(player, SIGNAL(positionChanged(qint64)), SLOT(positionChanged(qint64)));
- connect(player, SIGNAL(metaDataChanged()), SLOT(metaDataChanged()));
- connect(playlist, SIGNAL(currentIndexChanged(int)), SLOT(playlistPositionChanged(int)));
- connect(player, SIGNAL(mediaStatusChanged(QMediaPlayer::MediaStatus)),
- this, SLOT(statusChanged(QMediaPlayer::MediaStatus)));
- connect(player, SIGNAL(bufferStatusChanged(int)), this, SLOT(bufferingProgress(int)));
-
- videoWidget = new VideoWidget;
- videoWidget->setMediaObject(player);
-
- playlistModel = new PlaylistModel(this);
- playlistModel->setPlaylist(playlist);
-
- playlistView = new QListView;
- playlistView->setModel(playlistModel);
- playlistView->setCurrentIndex(playlistModel->index(playlist->currentIndex(), 0));
-
- connect(playlistView, SIGNAL(activated(QModelIndex)), this, SLOT(jump(QModelIndex)));
-
- playbackModeBox = new QComboBox;
- playbackModeBox->addItem(tr("Linear"),
- QVariant::fromValue<QMediaPlaylist::PlaybackMode>(QMediaPlaylist::Linear));
- playbackModeBox->addItem(tr("Loop"),
- QVariant::fromValue<QMediaPlaylist::PlaybackMode>(QMediaPlaylist::Loop));
- playbackModeBox->addItem(tr("Random"),
- QVariant::fromValue<QMediaPlaylist::PlaybackMode>(QMediaPlaylist::Random));
- playbackModeBox->addItem(tr("Current Item Once"),
- QVariant::fromValue<QMediaPlaylist::PlaybackMode>(QMediaPlaylist::CurrentItemOnce));
- playbackModeBox->addItem(tr("Current Item In Loop"),
- QVariant::fromValue<QMediaPlaylist::PlaybackMode>(QMediaPlaylist::CurrentItemInLoop));
- playbackModeBox->setCurrentIndex(0);
-
- connect(playbackModeBox, SIGNAL(activated(int)), SLOT(updatePlaybackMode()));
- updatePlaybackMode();
-
- slider = new QSlider(Qt::Horizontal);
- slider->setRange(0, player->duration() / 1000);
-
- connect(slider, SIGNAL(sliderMoved(int)), this, SLOT(seek(int)));
-
- QPushButton *openButton = new QPushButton(tr("Open"));
-
- connect(openButton, SIGNAL(clicked()), this, SLOT(open()));
-
- PlayerControls *controls = new PlayerControls;
- controls->setState(player->state());
- controls->setVolume(player->volume());
- controls->setMuted(controls->isMuted());
-
- connect(controls, SIGNAL(play()), player, SLOT(play()));
- connect(controls, SIGNAL(pause()), player, SLOT(pause()));
- connect(controls, SIGNAL(stop()), player, SLOT(stop()));
- connect(controls, SIGNAL(next()), playlist, SLOT(next()));
- connect(controls, SIGNAL(previous()), this, SLOT(previousClicked()));
- connect(controls, SIGNAL(changeVolume(int)), player, SLOT(setVolume(int)));
- connect(controls, SIGNAL(changeMuting(bool)), player, SLOT(setMuted(bool)));
- connect(controls, SIGNAL(changeRate(qreal)), player, SLOT(setPlaybackRate(qreal)));
-
- connect(player, SIGNAL(stateChanged(QMediaPlayer::State)),
- controls, SLOT(setState(QMediaPlayer::State)));
- connect(player, SIGNAL(volumeChanged(int)), controls, SLOT(setVolume(int)));
- connect(player, SIGNAL(mutedChanged(bool)), controls, SLOT(setMuted(bool)));
-
- QPushButton *fullScreenButton = new QPushButton(tr("FullScreen"));
- fullScreenButton->setCheckable(true);
-
- if (videoWidget != 0) {
- connect(fullScreenButton, SIGNAL(clicked(bool)), videoWidget, SLOT(setFullScreen(bool)));
- connect(videoWidget, SIGNAL(fullScreenChanged(bool)),
- fullScreenButton, SLOT(setChecked(bool)));
- } else {
- fullScreenButton->setEnabled(false);
- }
-
- QPushButton *colorButton = new QPushButton(tr("Color Options..."));
- if (videoWidget)
- connect(colorButton, SIGNAL(clicked()), this, SLOT(showColorDialog()));
- else
- colorButton->setEnabled(false);
-
- QBoxLayout *playlistLayout = new QVBoxLayout;
- playlistLayout->addWidget(playlistView);
- playlistLayout->addWidget(playbackModeBox);
-
- QBoxLayout *displayLayout = new QHBoxLayout;
- if (videoWidget)
- displayLayout->addWidget(videoWidget, 2);
- else
- displayLayout->addWidget(coverLabel, 2);
- displayLayout->addLayout(playlistLayout);
-
- QBoxLayout *controlLayout = new QHBoxLayout;
- controlLayout->setMargin(0);
- controlLayout->addWidget(openButton);
- controlLayout->addStretch(1);
- controlLayout->addWidget(controls);
- controlLayout->addStretch(1);
- controlLayout->addWidget(fullScreenButton);
- controlLayout->addWidget(colorButton);
-
- QBoxLayout *layout = new QVBoxLayout;
- layout->addLayout(displayLayout);
- layout->addWidget(slider);
- layout->addLayout(controlLayout);
-
- setLayout(layout);
-
- metaDataChanged();
-
- QStringList arguments = qApp->arguments();
- arguments.removeAt(0);
- foreach (QString const &argument, arguments) {
- QFileInfo fileInfo(argument);
- if (fileInfo.exists()) {
- QUrl url = QUrl::fromLocalFile(fileInfo.absoluteFilePath());
- if (fileInfo.suffix().toLower() == QLatin1String("m3u")) {
- playlist->load(url);
- } else
- playlist->addMedia(url);
- } else {
- QUrl url(argument);
- if (url.isValid()) {
- playlist->addMedia(url);
- }
- }
- }
-}
-
-Player::~Player()
-{
- delete playlist;
- delete player;
-}
-
-void Player::open()
-{
- QStringList fileNames = QFileDialog::getOpenFileNames();
- foreach (QString const &fileName, fileNames)
- playlist->addMedia(QUrl::fromLocalFile(fileName));
-}
-
-void Player::durationChanged(qint64 duration)
-{
- slider->setMaximum(duration / 1000);
-}
-
-void Player::positionChanged(qint64 progress)
-{
- slider->setValue(progress / 1000);
-}
-
-void Player::metaDataChanged()
-{
- //qDebug() << "update metadata" << player->metaData(QtMediaServices::Title).toString();
- if (player->isMetaDataAvailable()) {
- setTrackInfo(QString("%1 - %2")
- .arg(player->metaData(QtMediaServices::AlbumArtist).toString())
- .arg(player->metaData(QtMediaServices::Title).toString()));
-
- if (coverLabel) {
- QUrl url = player->metaData(QtMediaServices::CoverArtUrlLarge).value<QUrl>();
-
- coverLabel->setPixmap(!url.isEmpty()
- ? QPixmap(url.toString())
- : QPixmap());
- }
- }
-}
-
-void Player::previousClicked()
-{
- // Go to previous track if we are within the first 5 seconds of playback
- // Otherwise, seek to the beginning.
- if(player->position() <= 5000)
- playlist->previous();
- else
- player->setPosition(0);
-}
-
-void Player::jump(const QModelIndex &index)
-{
- if (index.isValid()) {
- playlist->setCurrentIndex(index.row());
- player->play();
- }
-}
-
-void Player::playlistPositionChanged(int currentItem)
-{
- playlistView->setCurrentIndex(playlistModel->index(currentItem, 0));
-}
-
-void Player::seek(int seconds)
-{
- player->setPosition(seconds * 1000);
-}
-
-void Player::statusChanged(QMediaPlayer::MediaStatus status)
-{
- switch (status) {
- case QMediaPlayer::UnknownMediaStatus:
- case QMediaPlayer::NoMedia:
- case QMediaPlayer::LoadedMedia:
- case QMediaPlayer::BufferingMedia:
- case QMediaPlayer::BufferedMedia:
-#ifndef QT_NO_CURSOR
- unsetCursor();
-#endif
- setStatusInfo(QString());
- break;
- case QMediaPlayer::LoadingMedia:
-#ifndef QT_NO_CURSOR
- setCursor(QCursor(Qt::BusyCursor));
-#endif
- setStatusInfo(tr("Loading..."));
- break;
- case QMediaPlayer::StalledMedia:
-#ifndef QT_NO_CURSOR
- setCursor(QCursor(Qt::BusyCursor));
-#endif
- break;
- case QMediaPlayer::EndOfMedia:
-#ifndef QT_NO_CURSOR
- unsetCursor();
-#endif
- setStatusInfo(QString());
- QApplication::alert(this);
- break;
- case QMediaPlayer::InvalidMedia:
-#ifndef QT_NO_CURSOR
- unsetCursor();
-#endif
- setStatusInfo(player->errorString());
- break;
- }
-}
-
-void Player::bufferingProgress(int progress)
-{
- setStatusInfo(tr("Buffering %4%%").arg(progress));
-}
-
-void Player::setTrackInfo(const QString &info)
-{
- trackInfo = info;
-
- if (!statusInfo.isEmpty())
- setWindowTitle(QString("%1 | %2").arg(trackInfo).arg(statusInfo));
- else
- setWindowTitle(trackInfo);
-
-}
-
-void Player::setStatusInfo(const QString &info)
-{
- statusInfo = info;
-
- if (!statusInfo.isEmpty())
- setWindowTitle(QString("%1 | %2").arg(trackInfo).arg(statusInfo));
- else
- setWindowTitle(trackInfo);
-}
-
-void Player::showColorDialog()
-{
- if (!colorDialog) {
- QSlider *brightnessSlider = new QSlider(Qt::Horizontal);
- brightnessSlider->setRange(-100, 100);
- brightnessSlider->setValue(videoWidget->brightness());
- connect(brightnessSlider, SIGNAL(sliderMoved(int)), videoWidget, SLOT(setBrightness(int)));
- connect(videoWidget, SIGNAL(brightnessChanged(int)), brightnessSlider, SLOT(setValue(int)));
-
- QSlider *contrastSlider = new QSlider(Qt::Horizontal);
- contrastSlider->setRange(-100, 100);
- contrastSlider->setValue(videoWidget->contrast());
- connect(contrastSlider, SIGNAL(sliderMoved(int)), videoWidget, SLOT(setContrast(int)));
- connect(videoWidget, SIGNAL(contrastChanged(int)), contrastSlider, SLOT(setValue(int)));
-
- QSlider *hueSlider = new QSlider(Qt::Horizontal);
- hueSlider->setRange(-100, 100);
- hueSlider->setValue(videoWidget->hue());
- connect(hueSlider, SIGNAL(sliderMoved(int)), videoWidget, SLOT(setHue(int)));
- connect(videoWidget, SIGNAL(hueChanged(int)), hueSlider, SLOT(setValue(int)));
-
- QSlider *saturationSlider = new QSlider(Qt::Horizontal);
- saturationSlider->setRange(-100, 100);
- saturationSlider->setValue(videoWidget->saturation());
- connect(saturationSlider, SIGNAL(sliderMoved(int)), videoWidget, SLOT(setSaturation(int)));
- connect(videoWidget, SIGNAL(saturationChanged(int)), saturationSlider, SLOT(setValue(int)));
-
- QFormLayout *layout = new QFormLayout;
- layout->addRow(tr("Brightness"), brightnessSlider);
- layout->addRow(tr("Contrast"), contrastSlider);
- layout->addRow(tr("Hue"), hueSlider);
- layout->addRow(tr("Saturation"), saturationSlider);
-
- colorDialog = new QDialog(this);
- colorDialog->setWindowTitle(tr("Color Options"));
- colorDialog->setLayout(layout);
- }
- colorDialog->show();
-}
-
-void Player::updatePlaybackMode()
-{
- playlist->setPlaybackMode(
- playbackModeBox->itemData(playbackModeBox->currentIndex()).value<QMediaPlaylist::PlaybackMode>());
-}
diff --git a/demos/multimedia/player/player.h b/demos/multimedia/player/player.h
deleted file mode 100644
index cda3eb9d13..0000000000
--- a/demos/multimedia/player/player.h
+++ /dev/null
@@ -1,114 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the demonstration applications of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef PLAYER_H
-#define PLAYER_H
-
-#include <QtGui/QWidget>
-
-#include <qmediaplayer.h>
-#include <qmediaplaylist.h>
-#include <qvideowidget.h>
-
-
-QT_BEGIN_HEADER
-
-QT_BEGIN_NAMESPACE
-
-class QAbstractItemView;
-class QLabel;
-class QModelIndex;
-class QSlider;
-class QComboBox;
-class QMediaPlayer;
-class QVideoWidget;
-class PlaylistModel;
-
-class Player : public QWidget
-{
- Q_OBJECT
-public:
- Player(QWidget *parent = 0);
- ~Player();
-
-Q_SIGNALS:
- void fullScreenChanged(bool fullScreen);
-
-private slots:
- void open();
- void durationChanged(qint64 duration);
- void positionChanged(qint64 progress);
- void metaDataChanged();
-
- void previousClicked();
-
- void seek(int seconds);
- void jump(const QModelIndex &index);
- void playlistPositionChanged(int);
-
- void statusChanged(QMediaPlayer::MediaStatus status);
- void bufferingProgress(int progress);
-
- void showColorDialog();
- void updatePlaybackMode();
-
-private:
- void setTrackInfo(const QString &info);
- void setStatusInfo(const QString &info);
-
- QMediaPlayer *player;
- QMediaPlaylist *playlist;
- QVideoWidget *videoWidget;
- QLabel *coverLabel;
- QSlider *slider;
- QComboBox *playbackModeBox;
- PlaylistModel *playlistModel;
- QAbstractItemView *playlistView;
- QDialog *colorDialog;
- QString trackInfo;
- QString statusInfo;
-};
-
-QT_END_NAMESPACE
-
-QT_END_HEADER
-
-#endif
diff --git a/demos/multimedia/player/player.pro b/demos/multimedia/player/player.pro
deleted file mode 100644
index 12bdf643d1..0000000000
--- a/demos/multimedia/player/player.pro
+++ /dev/null
@@ -1,29 +0,0 @@
-TEMPLATE = app
-TARGET = player
-
-QT += gui mediaservices
-
-HEADERS = \
- player.h \
- playercontrols.h \
- playlistmodel.h \
- videowidget.h
-
-SOURCES = \
- main.cpp \
- player.cpp \
- playercontrols.cpp \
- playlistmodel.cpp \
- videowidget.cpp
-
-target.path = $$[QT_INSTALL_DEMOS]/multimedia/player
-sources.files = $$SOURCES $$HEADERS *.pro
-sources.path = $$[QT_INSTALL_DEMOS]/multimedia/player
-
-INSTALLS += target sources
-
-symbian {
- TARGET.UID3 = 0xA000E3FA
- include($$QT_SOURCE_TREE/demos/symbianpkgrules.pri)
-}
-
diff --git a/demos/multimedia/player/playercontrols.cpp b/demos/multimedia/player/playercontrols.cpp
deleted file mode 100644
index 3798a71faf..0000000000
--- a/demos/multimedia/player/playercontrols.cpp
+++ /dev/null
@@ -1,205 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the demonstration applications of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "playercontrols.h"
-
-#include <QtGui/qboxlayout.h>
-#include <QtGui/qslider.h>
-#include <QtGui/qstyle.h>
-#include <QtGui/qtoolbutton.h>
-#include <QtGui/qcombobox.h>
-
-PlayerControls::PlayerControls(QWidget *parent)
- : QWidget(parent)
- , playerState(QMediaPlayer::StoppedState)
- , playerMuted(false)
- , playButton(0)
- , stopButton(0)
- , nextButton(0)
- , previousButton(0)
- , muteButton(0)
- , volumeSlider(0)
- , rateBox(0)
-{
- playButton = new QToolButton;
- playButton->setIcon(style()->standardIcon(QStyle::SP_MediaPlay));
-
- connect(playButton, SIGNAL(clicked()), this, SLOT(playClicked()));
-
- stopButton = new QToolButton;
- stopButton->setIcon(style()->standardIcon(QStyle::SP_MediaStop));
- stopButton->setEnabled(false);
-
- connect(stopButton, SIGNAL(clicked()), this, SIGNAL(stop()));
-
- nextButton = new QToolButton;
- nextButton->setIcon(style()->standardIcon(QStyle::SP_MediaSkipForward));
-
- connect(nextButton, SIGNAL(clicked()), this, SIGNAL(next()));
-
- previousButton = new QToolButton;
- previousButton->setIcon(style()->standardIcon(QStyle::SP_MediaSkipBackward));
-
- connect(previousButton, SIGNAL(clicked()), this, SIGNAL(previous()));
-
- muteButton = new QToolButton;
- muteButton->setIcon(style()->standardIcon(QStyle::SP_MediaVolume));
-
- connect(muteButton, SIGNAL(clicked()), this, SLOT(muteClicked()));
-
- volumeSlider = new QSlider(Qt::Horizontal);
- volumeSlider->setRange(0, 100);
-
- connect(volumeSlider, SIGNAL(sliderMoved(int)), this, SIGNAL(changeVolume(int)));
-
- rateBox = new QComboBox;
- rateBox->addItem("0.5x", QVariant(0.5));
- rateBox->addItem("1.0x", QVariant(1.0));
- rateBox->addItem("2.0x", QVariant(2.0));
- rateBox->setCurrentIndex(1);
-
- connect(rateBox, SIGNAL(activated(int)), SLOT(updateRate()));
-
- QBoxLayout *layout = new QHBoxLayout;
- layout->setMargin(0);
- layout->addWidget(stopButton);
- layout->addWidget(previousButton);
- layout->addWidget(playButton);
- layout->addWidget(nextButton);
- layout->addWidget(muteButton);
- layout->addWidget(volumeSlider);
- layout->addWidget(rateBox);
- setLayout(layout);
-}
-
-QMediaPlayer::State PlayerControls::state() const
-{
- return playerState;
-}
-
-void PlayerControls::setState(QMediaPlayer::State state)
-{
- if (state != playerState) {
- playerState = state;
-
- switch (state) {
- case QMediaPlayer::StoppedState:
- stopButton->setEnabled(false);
- playButton->setIcon(style()->standardIcon(QStyle::SP_MediaPlay));
- break;
- case QMediaPlayer::PlayingState:
- stopButton->setEnabled(true);
- playButton->setIcon(style()->standardIcon(QStyle::SP_MediaPause));
- break;
- case QMediaPlayer::PausedState:
- stopButton->setEnabled(true);
- playButton->setIcon(style()->standardIcon(QStyle::SP_MediaPlay));
- break;
- }
- }
-}
-
-int PlayerControls::volume() const
-{
- return volumeSlider->value();
-}
-
-void PlayerControls::setVolume(int volume)
-{
- volumeSlider->setValue(volume);
-}
-
-bool PlayerControls::isMuted() const
-{
- return playerMuted;
-}
-
-void PlayerControls::setMuted(bool muted)
-{
- if (muted != playerMuted) {
- playerMuted = muted;
-
- muteButton->setIcon(style()->standardIcon(muted
- ? QStyle::SP_MediaVolumeMuted
- : QStyle::SP_MediaVolume));
- }
-}
-
-void PlayerControls::playClicked()
-{
- switch (playerState) {
- case QMediaPlayer::StoppedState:
- case QMediaPlayer::PausedState:
- emit play();
- break;
- case QMediaPlayer::PlayingState:
- emit pause();
- break;
- }
-}
-
-void PlayerControls::muteClicked()
-{
- emit changeMuting(!playerMuted);
-}
-
-qreal PlayerControls::playbackRate() const
-{
- return rateBox->itemData(rateBox->currentIndex()).toDouble();
-}
-
-void PlayerControls::setPlaybackRate(float rate)
-{
- for (int i=0; i<rateBox->count(); i++) {
- if (qFuzzyCompare(rate, float(rateBox->itemData(i).toDouble()))) {
- rateBox->setCurrentIndex(i);
- return;
- }
- }
-
- rateBox->addItem( QString("%1x").arg(rate), QVariant(rate));
- rateBox->setCurrentIndex(rateBox->count()-1);
-}
-
-void PlayerControls::updateRate()
-{
- emit changeRate(playbackRate());
-}
diff --git a/demos/multimedia/player/playercontrols.h b/demos/multimedia/player/playercontrols.h
deleted file mode 100644
index d2229bdbd3..0000000000
--- a/demos/multimedia/player/playercontrols.h
+++ /dev/null
@@ -1,107 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the demonstration applications of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef PLAYERCONTROLS_H
-#define PLAYERCONTROLS_H
-
-#include <QtMediaServices/qmediaplayer.h>
-
-#include <QtGui/qwidget.h>
-
-
-QT_BEGIN_HEADER
-
-QT_BEGIN_NAMESPACE
-
-class QAbstractButton;
-class QAbstractSlider;
-class QComboBox;
-
-class PlayerControls : public QWidget
-{
- Q_OBJECT
-public:
- PlayerControls(QWidget *parent = 0);
-
- QMediaPlayer::State state() const;
-
- int volume() const;
- bool isMuted() const;
- qreal playbackRate() const;
-
-public slots:
- void setState(QMediaPlayer::State state);
- void setVolume(int volume);
- void setMuted(bool muted);
- void setPlaybackRate(float rate);
-
-signals:
- void play();
- void pause();
- void stop();
- void next();
- void previous();
- void changeVolume(int volume);
- void changeMuting(bool muting);
- void changeRate(qreal rate);
-
-private slots:
- void playClicked();
- void muteClicked();
- void updateRate();
-
-private:
- QMediaPlayer::State playerState;
- bool playerMuted;
- QAbstractButton *playButton;
- QAbstractButton *stopButton;
- QAbstractButton *nextButton;
- QAbstractButton *previousButton;
- QAbstractButton *muteButton;
- QAbstractSlider *volumeSlider;
- QComboBox *rateBox;
-};
-
-QT_END_NAMESPACE
-
-QT_END_HEADER
-
-#endif
diff --git a/demos/multimedia/player/playlistmodel.cpp b/demos/multimedia/player/playlistmodel.cpp
deleted file mode 100644
index b60f914a0a..0000000000
--- a/demos/multimedia/player/playlistmodel.cpp
+++ /dev/null
@@ -1,160 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the demonstration applications of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "playlistmodel.h"
-
-#include <QtCore/qfileinfo.h>
-#include <QtCore/qurl.h>
-
-#include <qmediaplaylist.h>
-
-PlaylistModel::PlaylistModel(QObject *parent)
- : QAbstractItemModel(parent)
- , m_playlist(0)
-{
-}
-
-int PlaylistModel::rowCount(const QModelIndex &parent) const
-{
- return m_playlist && !parent.isValid() ? m_playlist->mediaCount() : 0;
-}
-
-int PlaylistModel::columnCount(const QModelIndex &parent) const
-{
- return !parent.isValid() ? ColumnCount : 0;
-}
-
-QModelIndex PlaylistModel::index(int row, int column, const QModelIndex &parent) const
-{
- return m_playlist && !parent.isValid()
- && row >= 0 && row < m_playlist->mediaCount()
- && column >= 0 && column < ColumnCount
- ? createIndex(row, column)
- : QModelIndex();
-}
-
-QModelIndex PlaylistModel::parent(const QModelIndex &child) const
-{
- Q_UNUSED(child);
-
- return QModelIndex();
-}
-
-QVariant PlaylistModel::data(const QModelIndex &index, int role) const
-{
- if (index.isValid() && role == Qt::DisplayRole) {
- QVariant value = m_data[index];
- if (!value.isValid() && index.column() == Title) {
- QUrl location = m_playlist->media(index.row()).canonicalUrl();
- return QFileInfo(location.path()).fileName();
- }
-
- return value;
- }
- return QVariant();
-}
-
-QMediaPlaylist *PlaylistModel::playlist() const
-{
- return m_playlist;
-}
-
-void PlaylistModel::setPlaylist(QMediaPlaylist *playlist)
-{
- if (m_playlist) {
- disconnect(m_playlist, SIGNAL(mediaAboutToBeInserted(int,int)), this, SLOT(beginInsertItems(int,int)));
- disconnect(m_playlist, SIGNAL(mediaInserted(int,int)), this, SLOT(endInsertItems()));
- disconnect(m_playlist, SIGNAL(mediaAboutToBeRemoved(int,int)), this, SLOT(beginRemoveItems(int,int)));
- disconnect(m_playlist, SIGNAL(mediaRemoved(int,int)), this, SLOT(endRemoveItems()));
- disconnect(m_playlist, SIGNAL(mediaChanged(int,int)), this, SLOT(changeItems(int,int)));
- }
-
- m_playlist = playlist;
-
- if (m_playlist) {
- connect(m_playlist, SIGNAL(mediaAboutToBeInserted(int,int)), this, SLOT(beginInsertItems(int,int)));
- connect(m_playlist, SIGNAL(mediaInserted(int,int)), this, SLOT(endInsertItems()));
- connect(m_playlist, SIGNAL(mediaAboutToBeRemoved(int,int)), this, SLOT(beginRemoveItems(int,int)));
- connect(m_playlist, SIGNAL(mediaRemoved(int,int)), this, SLOT(endRemoveItems()));
- connect(m_playlist, SIGNAL(mediaChanged(int,int)), this, SLOT(changeItems(int,int)));
- }
-
-
- reset();
-}
-
-bool PlaylistModel::setData(const QModelIndex &index, const QVariant &value, int role)
-{
- Q_UNUSED(role);
- m_data[index] = value;
- emit dataChanged(index, index);
- return true;
-}
-
-void PlaylistModel::beginInsertItems(int start, int end)
-{
- m_data.clear();
- beginInsertRows(QModelIndex(), start, end);
-}
-
-void PlaylistModel::endInsertItems()
-{
- endInsertRows();
-}
-
-void PlaylistModel::beginRemoveItems(int start, int end)
-{
- m_data.clear();
- beginRemoveRows(QModelIndex(), start, end);
-}
-
-void PlaylistModel::endRemoveItems()
-{
- endInsertRows();
-}
-
-void PlaylistModel::changeItems(int start, int end)
-{
- m_data.clear();
- emit dataChanged(index(start,0), index(end,ColumnCount));
-}
-
-
diff --git a/demos/multimedia/player/playlistmodel.h b/demos/multimedia/player/playlistmodel.h
deleted file mode 100644
index 01802826f2..0000000000
--- a/demos/multimedia/player/playlistmodel.h
+++ /dev/null
@@ -1,95 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the demonstration applications of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef PLAYLISTMODEL_H
-#define PLAYLISTMODEL_H
-
-#include <QtCore/qabstractitemmodel.h>
-
-
-QT_BEGIN_HEADER
-
-QT_BEGIN_NAMESPACE
-
-class QMediaPlaylist;
-
-class PlaylistModel : public QAbstractItemModel
-{
- Q_OBJECT
-public:
- enum Column
- {
- Title = 0,
- ColumnCount
- };
-
- PlaylistModel(QObject *parent = 0);
-
- int rowCount(const QModelIndex &parent = QModelIndex()) const;
- int columnCount(const QModelIndex &parent = QModelIndex()) const;
-
- QModelIndex index(int row, int column, const QModelIndex &parent = QModelIndex()) const;
- QModelIndex parent(const QModelIndex &child) const;
-
- QVariant data(const QModelIndex &index, int role = Qt::DisplayRole) const;
-
- QMediaPlaylist *playlist() const;
- void setPlaylist(QMediaPlaylist *playlist);
-
- bool setData(const QModelIndex &index, const QVariant &value, int role = Qt::DisplayRole);
-
-private slots:
- void beginInsertItems(int start, int end);
- void endInsertItems();
- void beginRemoveItems(int start, int end);
- void endRemoveItems();
- void changeItems(int start, int end);
-
-private:
- QMediaPlaylist *m_playlist;
- QMap<QModelIndex, QVariant> m_data;
-};
-
-QT_END_NAMESPACE
-
-QT_END_HEADER
-
-#endif
diff --git a/demos/multimedia/player/videowidget.cpp b/demos/multimedia/player/videowidget.cpp
deleted file mode 100644
index be864ecab8..0000000000
--- a/demos/multimedia/player/videowidget.cpp
+++ /dev/null
@@ -1,78 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the demonstration applications of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "videowidget.h"
-
-#include <QtGui>
-
-VideoWidget::VideoWidget(QWidget *parent)
- : QVideoWidget(parent)
-{
- setSizePolicy(QSizePolicy::Ignored, QSizePolicy::Ignored);
-
- QPalette p = palette();
- p.setColor(QPalette::Window, Qt::black);
- setPalette(p);
-
- setAttribute(Qt::WA_OpaquePaintEvent);
-}
-
-void VideoWidget::keyPressEvent(QKeyEvent *event)
-{
- if (event->key() == Qt::Key_Escape && isFullScreen()) {
- showNormal();
-
- event->accept();
- } else if (event->key() == Qt::Key_Enter && event->modifiers() & Qt::Key_Alt) {
- setFullScreen(!isFullScreen());
-
- event->accept();
- } else {
- QVideoWidget::keyPressEvent(event);
- }
-}
-
-void VideoWidget::mouseDoubleClickEvent(QMouseEvent *event)
-{
- setFullScreen(!isFullScreen());
-
- event->accept();
-}
diff --git a/demos/multimedia/player/videowidget.h b/demos/multimedia/player/videowidget.h
deleted file mode 100644
index b5bf581e03..0000000000
--- a/demos/multimedia/player/videowidget.h
+++ /dev/null
@@ -1,66 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the demonstration applications of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-#ifndef VIDEOWIDGET_H
-#define VIDEOWIDGET_H
-
-#include <QtMediaServices/qvideowidget.h>
-
-
-QT_BEGIN_HEADER
-
-QT_BEGIN_NAMESPACE
-
-class VideoWidget : public QVideoWidget
-{
- Q_OBJECT
-public:
- VideoWidget(QWidget *parent = 0);
-
-protected:
- void keyPressEvent(QKeyEvent *event);
- void mouseDoubleClickEvent(QMouseEvent *event);
-};
-
-QT_END_NAMESPACE
-
-QT_END_HEADER
-
-#endif
diff --git a/demos/pathstroke/main.cpp b/demos/pathstroke/main.cpp
index 1465682567..534b233f99 100644
--- a/demos/pathstroke/main.cpp
+++ b/demos/pathstroke/main.cpp
@@ -48,10 +48,7 @@ int main(int argc, char **argv)
QApplication app(argc, argv);
- bool smallScreen = false;
- for (int i=0; i<argc; i++)
- if (QString(argv[i]) == "-small-screen")
- smallScreen = true;
+ bool smallScreen = QApplication::arguments().contains("-small-screen");
PathStrokeWidget pathStrokeWidget(smallScreen);
QStyle *arthurStyle = new ArthurStyle();
diff --git a/demos/qmediaplayer/qmediaplayer.pro b/demos/qmediaplayer/qmediaplayer.pro
index cfe39058cb..9407a81ff1 100644
--- a/demos/qmediaplayer/qmediaplayer.pro
+++ b/demos/qmediaplayer/qmediaplayer.pro
@@ -17,7 +17,7 @@ HEADERS += mediaplayer.h
target.path = $$[QT_INSTALL_DEMOS]/qmediaplayer
sources.files = $$SOURCES $$HEADERS $$FORMS $$RESOURCES *.pro *.html *.doc images
-sources.path = $$[QT_INSTALL_DEMOS]/qmediaplayer qmediaplayer.pro
+sources.path = $$[QT_INSTALL_DEMOS]/qmediaplayer
INSTALLS += target sources
wince*{
diff --git a/demos/qtdemo/colors.cpp b/demos/qtdemo/colors.cpp
index 802d77d232..b352e3d099 100644
--- a/demos/qtdemo/colors.cpp
+++ b/demos/qtdemo/colors.cpp
@@ -81,6 +81,7 @@ bool Colors::noRescale = false;
bool Colors::noAnimations = false;
bool Colors::noBlending = false;
bool Colors::noScreenSync = false;
+bool Colors::noBlur = true;
bool Colors::fullscreen = false;
bool Colors::usePixmaps = false;
bool Colors::useLoop = false;
@@ -232,6 +233,8 @@ void Colors::parseArgs(int argc, char *argv[])
Colors::showFps = true;
else if (s == "-no-blending")
Colors::noBlending = true;
+ else if (s == "-use-blur")
+ Colors::noBlur = false;
else if (s == "-no-sync")
Colors::noScreenSync = true;
else if (s.startsWith("-menu"))
@@ -267,7 +270,7 @@ void Colors::parseArgs(int argc, char *argv[])
else if (s.startsWith("-h") || s.startsWith("-help")){
QMessageBox::warning(0, "Arguments",
QString("Usage: qtdemo [-verbose] [-no-adapt] [-opengl] [-software] [-fullscreen] [-ticker[0|1]] ")
- + "[-animations[0|1]] [-no-blending] [-no-sync] [-use-timer-update[0|1]] [-pause[0|1]] "
+ + "[-animations[0|1]] [-no-blending] [-use-blur] [-no-sync] [-use-timer-update[0|1]] [-pause[0|1]] "
+ "[-use-window-mask] [-no-rescale] "
+ "[-use-pixmaps] [-show-fps] [-show-br] [-8bit[0|1]] [-menu<int>] [-use-loop] [-use-balls] "
+ "[-animation-speed<float>] [-fps<int>] "
@@ -295,6 +298,7 @@ void Colors::setLowSettings()
Colors::usePixmaps = true;
Colors::noAnimations = true;
Colors::noBlending = true;
+ Colors::noBlur = true;
}
void Colors::detectSystemResources()
diff --git a/demos/qtdemo/colors.h b/demos/qtdemo/colors.h
index 1e0b795970..2d58058e7a 100644
--- a/demos/qtdemo/colors.h
+++ b/demos/qtdemo/colors.h
@@ -91,6 +91,7 @@ public:
static bool noAnimations;
static bool noBlending;
static bool noScreenSync;
+ static bool noBlur;
static bool useLoop;
static bool noWindowMask;
static bool usePixmaps;
diff --git a/demos/qtdemo/mainwindow.cpp b/demos/qtdemo/mainwindow.cpp
index a679c4f505..753014a0aa 100644
--- a/demos/qtdemo/mainwindow.cpp
+++ b/demos/qtdemo/mainwindow.cpp
@@ -266,12 +266,14 @@ void MainWindow::setupSceneItems()
{
if (Colors::showFps){
this->fpsLabel = new DemoTextItem(QString("FPS: --"), Colors::buttonFont(), Qt::white, -1, this->scene, 0, DemoTextItem::DYNAMIC_TEXT);
- this->fpsLabel->setZValue(100);
+ this->fpsLabel->setZValue(1000);
this->fpsLabel->setPos(Colors::stageStartX, 600 - QFontMetricsF(Colors::buttonFont()).height() - 5);
}
- this->companyLogo = new ImageItem(QImage(":/images/trolltech-logo.png"), 1000, 1000, this->scene, 0, true, 0.5f);
- this->qtLogo = new ImageItem(QImage(":/images/qtlogo_small.png"), 1000, 1000, this->scene, 0, true, 0.5f);
+ this->mainSceneRoot = new QGraphicsWidget();
+ this->scene->addItem(mainSceneRoot);
+ this->companyLogo = new ImageItem(QImage(":/images/trolltech-logo.png"), 1000, 1000, this->scene, mainSceneRoot, true, 0.5f);
+ this->qtLogo = new ImageItem(QImage(":/images/qtlogo_small.png"), 1000, 1000, this->scene, mainSceneRoot, true, 0.5f);
this->companyLogo->setZValue(100);
this->qtLogo->setZValue(100);
this->pausedLabel = new DemoTextItem(QString("PAUSED"), Colors::buttonFont(), Qt::white, -1, this->scene, 0);
@@ -308,6 +310,14 @@ void MainWindow::checkAdapt()
qDebug() << "- benchmark adaption: removed ticker (fps < 30)";
}
+ //Note: Because we don't adapt later in the program, if blur makes FPS plummet then we won't catch it
+ if (!Colors::noBlur && MenuManager::instance()->declarativeEngine && this->mainSceneRoot){
+ Colors::noBlur = true;
+ MenuManager::instance()->declarativeEngine->rootContext()->setContextProperty("useBlur", false);
+ if (Colors::verbose)
+ qDebug() << "- benchmark adaption: removed blur (fps < 30)";
+ }
+
if (this->fpsMedian < 20){
Colors::noAnimations = true;
if (Colors::verbose)
@@ -376,7 +386,7 @@ void MainWindow::keyPressEvent(QKeyEvent *event)
this->loop = false;
QApplication::quit();
}
- else if (event->key() == Qt::Key_1){
+ else if (event->key() == Qt::Key_F1){
QString s("");
s += "Rendering system: ";
if (Colors::openGlRendering)
@@ -415,6 +425,7 @@ void MainWindow::keyPressEvent(QKeyEvent *event)
s += Colors::noScreenSync ? "no" : "yes";
QMessageBox::information(0, QString("Current configuration"), s);
}
+ QGraphicsView::keyPressEvent(event);
}
void MainWindow::focusInEvent(QFocusEvent *)
diff --git a/demos/qtdemo/mainwindow.h b/demos/qtdemo/mainwindow.h
index edcc14695d..e61326827f 100644
--- a/demos/qtdemo/mainwindow.h
+++ b/demos/qtdemo/mainwindow.h
@@ -43,6 +43,7 @@
#define MAIN_WINDOW_H
#include <QtGui>
+#include <QtDeclarative>
#include <QPixmap>
class DemoTextItem;
@@ -62,6 +63,8 @@ public:
void start();
QGraphicsScene *scene;
+ QGraphicsWidget* mainSceneRoot;
+
bool loop;
// FPS stuff:
diff --git a/demos/qtdemo/menumanager.cpp b/demos/qtdemo/menumanager.cpp
index 40af30fed0..a2ceb0e618 100644
--- a/demos/qtdemo/menumanager.cpp
+++ b/demos/qtdemo/menumanager.cpp
@@ -152,6 +152,9 @@ void MenuManager::itemSelected(int userCode, const QString &menuName)
case LAUNCH:
this->launchExample(this->currentInfo);
break;
+ case LAUNCH_QML:
+ this->launchQmlExample(this->currentInfo);
+ break;
case DOCUMENTATION:
this->showDocInAssistant(this->currentInfo);
break;
@@ -169,6 +172,8 @@ void MenuManager::itemSelected(int userCode, const QString &menuName)
this->score->queueMovie(this->currentInfo + " -out");
this->score->queueMovie(this->currentInfo + " -buttons -out", Score::NEW_ANIMATION_ONLY);
this->score->queueMovie("back -out", Score::ONLY_IF_VISIBLE);
+ if(qmlRoot)
+ qmlRoot->setProperty("show", QVariant(false));
// book-keeping:
this->currentMenuCode = ROOT;
this->currentMenu = menuName + " -menu1";
@@ -191,6 +196,8 @@ void MenuManager::itemSelected(int userCode, const QString &menuName)
this->score->queueMovie(this->currentMenu + " -out", Score::FROM_START, Score::LOCK_ITEMS);
this->score->queueMovie(this->currentMenuButtons + " -out", Score::FROM_START, Score::LOCK_ITEMS);
this->score->queueMovie(this->currentInfo + " -out");
+ if(qmlRoot)
+ qmlRoot->setProperty("show", QVariant(false));
// book-keeping:
this->currentMenuCode = MENU1;
this->currentCategory = menuName;
@@ -208,6 +215,8 @@ void MenuManager::itemSelected(int userCode, const QString &menuName)
// out:
this->score->queueMovie(this->currentInfo + " -out", Score::NEW_ANIMATION_ONLY);
this->score->queueMovie(this->currentInfo + " -buttons -out", Score::NEW_ANIMATION_ONLY);
+ if(qmlRoot)
+ qmlRoot->setProperty("show", QVariant(false));
// book-keeping:
this->currentMenuCode = MENU2;
this->currentInfo = menuName;
@@ -242,6 +251,8 @@ void MenuManager::itemSelected(int userCode, const QString &menuName)
// out:
this->score->queueMovie(this->currentInfo + " -out", Score::NEW_ANIMATION_ONLY);
this->score->queueMovie(this->currentInfo + " -buttons -out", Score::NEW_ANIMATION_ONLY);
+ if(qmlRoot)
+ qmlRoot->setProperty("show", QVariant(false));
// book-keeping:
this->currentMenuCode = MENU1;
this->currentMenuButtons = this->currentCategory + " -buttons";
@@ -343,6 +354,47 @@ void MenuManager::launchExample(const QString &name)
#endif
}
+void MenuManager::launchQmlExample(const QString &name)
+{
+ if(!qmlRoot){
+ exampleError(QProcess::UnknownError);
+ return;
+ }
+ //resolveQmlFilename - refactor to separate fn?
+ QString dirName = this->info[name]["dirname"];
+ QString category = this->info[name]["category"];
+ QString fileName = this->info[name]["filename"];
+ QDir dir;
+ if (category == "demos")
+ dir = QDir(QLibraryInfo::location(QLibraryInfo::DemosPath));
+ else
+ dir = QDir(QLibraryInfo::location(QLibraryInfo::ExamplesPath));
+ QFile file(dir.path() + "/" + dirName + "/" + fileName + "/" + fileName.split('/').last() + ".qml");
+ if(!file.exists()){
+ //try main.qml as well
+ file.setFileName(dir.path() + "/" + dirName + "/" + fileName + "/" + "main.qml");
+ if(!file.exists()){
+ exampleError(QProcess::UnknownError);
+ return;
+ }
+ }
+ if(!Colors::noBlur){
+ QImage qmlBgImage(this->window->rect().size(), QImage::Format_ARGB32_Premultiplied);
+ QPainter painter(&qmlBgImage);
+ if(Colors::showFps)
+ this->window->fpsLabel->setOpacity(0);
+ this->window->render(&painter);
+ if(Colors::showFps)
+ this->window->fpsLabel->setOpacity(1.0);
+ Qt::ImageConversionFlags convFlags = Qt::AvoidDither | Qt::NoOpaqueDetection;
+ this->declarativeEngine->rootContext()->setContextProperty("bgAppPixmap", QVariant(QPixmap::fromImage(qmlBgImage, convFlags)));
+ }
+
+ qmlRoot->setProperty("qmlFile", QVariant(""));//unload component
+ qmlRoot->setProperty("show", QVariant(true));
+ qmlRoot->setProperty("qmlFile", QUrl::fromLocalFile(file.fileName()));
+}
+
void MenuManager::exampleFinished()
{
}
@@ -385,6 +437,40 @@ void MenuManager::init(MainWindow *window)
level2MenuNode = level2MenuNode.nextSibling();
}
+
+ // Create QML Loader
+ qmlRegisterType<QGraphicsBlurEffect>("Effects", 1, 0, "Blur");
+ qmlRegisterType<QGraphicsDropShadowEffect>("Effects", 1, 0, "DropShadow");
+ declarativeEngine = new QDeclarativeEngine(this);
+
+ // Note that we paint the background into a static image for a theorized performance improvement when blurring
+ // It has not yet been determined what, if any, speed up this gives (but is left in 'cause the QML expects it now)
+ declarativeEngine->rootContext()->setContextProperty("useBlur", !Colors::noBlur);
+ QImage qmlBgImage(this->window->rect().size(), QImage::Format_ARGB32_Premultiplied);
+ qmlBgImage.fill(0);
+ this->declarativeEngine->rootContext()->setContextProperty("bgAppPixmap", QVariant(QPixmap::fromImage(qmlBgImage)));
+
+ QDeclarativeComponent component(declarativeEngine, QUrl("qrc:qml/qmlShell.qml"), this);
+ qmlRoot = 0;
+ if(component.isReady())
+ qmlRoot = qobject_cast<QDeclarativeItem*>(component.create());
+ else
+ qDebug() << component.status() << component.errorString();
+ if(qmlRoot){
+ qmlRoot->setHeight(this->window->scene->sceneRect().height());
+ qmlRoot->setWidth(this->window->scene->sceneRect().width());
+ qmlRoot->setZValue(101);//Above other items
+ qmlRoot->setCursor(Qt::ArrowCursor);
+ window->scene->addItem(qmlRoot);
+
+ //Note that QML adds key handling to the app.
+ window->viewport()->setFocusPolicy(Qt::NoFocus);//Correct keyboard focus handling
+ window->setFocusPolicy(Qt::StrongFocus);
+ window->scene->setStickyFocus(true);
+ window->setFocus();
+ }else{
+ qDebug() << "Error intializing QML subsystem, Declarative examples will not work";
+ }
}
void MenuManager::readInfoAboutExample(const QDomElement &example)
@@ -392,13 +478,14 @@ void MenuManager::readInfoAboutExample(const QDomElement &example)
QString name = example.attribute("name");
if (this->info.contains(name))
qWarning() << "__WARNING: MenuManager::readInfoAboutExample: Demo/example with name"
- << name << "appears twize in the xml-file!__";
+ << name << "appears twice in the xml-file!__";
this->info[name]["filename"] = example.attribute("filename");
this->info[name]["category"] = example.parentNode().toElement().tagName();
this->info[name]["dirname"] = example.parentNode().toElement().attribute("dirname");
this->info[name]["changedirectory"] = example.attribute("changedirectory");
this->info[name]["image"] = example.attribute("image");
+ this->info[name]["qml"] = example.attribute("qml");
}
QString MenuManager::resolveDataDir(const QString &name)
@@ -454,7 +541,7 @@ QString MenuManager::resolveDocUrl(const QString &name)
QString fileName = this->info[name]["filename"];
if (category == "demos")
- return this->helpRootUrl + "demos-" + fileName + ".html";
+ return this->helpRootUrl + "demos-" + fileName.replace("/", "-") + ".html";
else
return this->helpRootUrl + dirName.replace("/", "-") + "-" + fileName + ".html";
}
@@ -474,6 +561,9 @@ QByteArray MenuManager::getImage(const QString &name)
QString imageName = this->info[name]["image"];
QString category = this->info[name]["category"];
QString fileName = this->info[name]["filename"];
+ bool qml = (this->info[name]["qml"] == QLatin1String("true"));
+ if(qml)
+ fileName = QLatin1String("qml-") + fileName.split('/').last();
if (imageName.isEmpty()){
if (category == "demos")
@@ -493,7 +583,7 @@ void MenuManager::createRootMenu(const QDomElement &el)
{
QString name = el.attribute("name");
createMenu(el, MENU1);
- createInfo(new MenuContentItem(el, this->window->scene, 0), name + " -info");
+ createInfo(new MenuContentItem(el, this->window->scene, this->window->mainSceneRoot), name + " -info");
Movie *menuButtonsIn = this->score->insertMovie(name + " -buttons");
Movie *menuButtonsOut = this->score->insertMovie(name + " -buttons -out");
@@ -505,19 +595,21 @@ void MenuManager::createSubMenu(const QDomElement &el)
{
QString name = el.attribute("name");
createMenu(el, MENU2);
- createInfo(new MenuContentItem(el, this->window->scene, 0), name + " -info");
+ createInfo(new MenuContentItem(el, this->window->scene, this->window->mainSceneRoot), name + " -info");
}
void MenuManager::createLeafMenu(const QDomElement &el)
{
QString name = el.attribute("name");
- createInfo(new ExampleContent(name, this->window->scene, 0), name);
+ createInfo(new ExampleContent(name, this->window->scene, this->window->mainSceneRoot), name);
Movie *infoButtonsIn = this->score->insertMovie(name + " -buttons");
Movie *infoButtonsOut = this->score->insertMovie(name + " -buttons -out");
createLowRightLeafButton("Documentation", 600, DOCUMENTATION, infoButtonsIn, infoButtonsOut, 0);
if (el.attribute("executable") != "false")
createLowRightLeafButton("Launch", 405, LAUNCH, infoButtonsIn, infoButtonsOut, 0);
+ else if(el.attribute("qml") == "true")
+ createLowRightLeafButton("Display", 405, LAUNCH_QML, infoButtonsIn, infoButtonsOut, 0);
}
void MenuManager::createMenu(const QDomElement &category, BUTTON_TYPE type)
@@ -546,7 +638,7 @@ void MenuManager::createMenu(const QDomElement &category, BUTTON_TYPE type)
// create normal menu button
QString label = currentNode.toElement().attribute("name");
- item = new TextButton(label, TextButton::LEFT, type, this->window->scene, 0);
+ item = new TextButton(label, TextButton::LEFT, type, this->window->scene, this->window->mainSceneRoot);
currentNode = currentNode.nextSibling();
#ifndef QT_OPENGL_SUPPORT
@@ -646,7 +738,7 @@ void MenuManager::createMenu(const QDomElement &category, BUTTON_TYPE type)
void MenuManager::createLowLeftButton(const QString &label, BUTTON_TYPE type,
Movie *movieIn, Movie *movieOut, Movie *movieShake, const QString &menuString)
{
- TextButton *button = new TextButton(label, TextButton::RIGHT, type, this->window->scene, 0, TextButton::PANEL);
+ TextButton *button = new TextButton(label, TextButton::RIGHT, type, this->window->scene, this->window->mainSceneRoot, TextButton::PANEL);
if (!menuString.isNull())
button->setMenuString(menuString);
button->setRecursiveVisible(false);
@@ -688,7 +780,7 @@ void MenuManager::createLowLeftButton(const QString &label, BUTTON_TYPE type,
void MenuManager::createLowRightButton(const QString &label, BUTTON_TYPE type, Movie *movieIn, Movie *movieOut, Movie * /*movieShake*/)
{
- TextButton *item = new TextButton(label, TextButton::RIGHT, type, this->window->scene, 0, TextButton::PANEL);
+ TextButton *item = new TextButton(label, TextButton::RIGHT, type, this->window->scene, this->window->mainSceneRoot, TextButton::PANEL);
item->setRecursiveVisible(false);
item->setZValue(10);
@@ -715,7 +807,7 @@ void MenuManager::createLowRightButton(const QString &label, BUTTON_TYPE type, M
void MenuManager::createLowRightLeafButton(const QString &label, int xOffset, BUTTON_TYPE type, Movie *movieIn, Movie *movieOut, Movie * /*movieShake*/)
{
- TextButton *item = new TextButton(label, TextButton::RIGHT, type, this->window->scene, 0, TextButton::PANEL);
+ TextButton *item = new TextButton(label, TextButton::RIGHT, type, this->window->scene, this->window->mainSceneRoot, TextButton::PANEL);
item->setRecursiveVisible(false);
item->setZValue(10);
@@ -831,12 +923,12 @@ void MenuManager::createUpnDownButtons()
float xOffset = 15.0f;
float yOffset = 450.0f;
- this->upButton = new TextButton("", TextButton::LEFT, MenuManager::UP, this->window->scene, 0, TextButton::UP);
+ this->upButton = new TextButton("", TextButton::LEFT, MenuManager::UP, this->window->scene, this->window->mainSceneRoot, TextButton::UP);
this->upButton->prepare();
this->upButton->setPos(xOffset, yOffset);
this->upButton->setState(TextButton::DISABLED);
- this->downButton = new TextButton("", TextButton::LEFT, MenuManager::DOWN, this->window->scene, 0, TextButton::DOWN);
+ this->downButton = new TextButton("", TextButton::LEFT, MenuManager::DOWN, this->window->scene, this->window->mainSceneRoot, TextButton::DOWN);
this->downButton->prepare();
this->downButton->setPos(xOffset + 10 + this->downButton->sceneBoundingRect().width(), yOffset);
diff --git a/demos/qtdemo/menumanager.h b/demos/qtdemo/menumanager.h
index ff98341426..5e142044b9 100644
--- a/demos/qtdemo/menumanager.h
+++ b/demos/qtdemo/menumanager.h
@@ -61,7 +61,7 @@ class MenuManager : public QObject
Q_OBJECT
public:
- enum BUTTON_TYPE {ROOT, MENU1, MENU2, LAUNCH, DOCUMENTATION, QUIT, FULLSCREEN, UP, DOWN, BACK};
+ enum BUTTON_TYPE {ROOT, MENU1, MENU2, LAUNCH, DOCUMENTATION, QUIT, FULLSCREEN, UP, DOWN, BACK, LAUNCH_QML};
// singleton pattern:
static MenuManager *instance();
@@ -83,6 +83,9 @@ public:
Score *score;
int currentMenuCode;
+ QDeclarativeEngine* declarativeEngine;
+ QDeclarativeItem *qmlRoot;
+
private slots:
void exampleFinished();
void exampleError(QProcess::ProcessError error);
@@ -100,6 +103,7 @@ private:
void readInfoAboutExample(const QDomElement &example);
void showDocInAssistant(const QString &docFile);
void launchExample(const QString &uniqueName);
+ void launchQmlExample(const QString &uniqueName);
void createMenu(const QDomElement &category, BUTTON_TYPE type);
void createLowLeftButton(const QString &label, BUTTON_TYPE type,
@@ -128,6 +132,7 @@ private:
TextButton *upButton;
TextButton *downButton;
+
};
#endif // MENU_MANAGER_H
diff --git a/demos/qtdemo/qmlShell.qml b/demos/qtdemo/qmlShell.qml
new file mode 100644
index 0000000000..b1ee79a6c3
--- /dev/null
+++ b/demos/qtdemo/qmlShell.qml
@@ -0,0 +1,174 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the demonstration applications of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+import Qt 4.7
+import Effects 1.0
+
+/* Vars exposed from C++
+ pixmap bgAppPixmap
+ bool useBlur (to turn on, pass -use-blur on the cmd line. Off by default 'cause it's too slow)
+*/
+Item {
+ id: main
+ //height and width set by program to fill window
+ //below properties are sometimes set from C++
+ property url qmlFile: ''
+ property bool show: false
+ Image{
+ id: bg
+ opacity: 0
+ anchors.fill: parent
+ z: -1
+ pixmap: bgAppPixmap
+ effect: Blur { id: blurEffect; enabled: useBlur; blurRadius: 8;}
+ }
+
+ Item{ id:embeddedViewer
+ width: parent.width
+ height: parent.height
+ opacity: 0;
+ z: 10
+ Loader{
+ id: loader
+ z: 10
+ focus: true //Automatic FocusScope
+ clip: true
+ source: qmlFile
+ anchors.centerIn: parent
+ onStatusChanged: if(status == Loader.Ready) {
+ if(loader.item.width > 640)
+ loader.item.width = 640;
+ if(loader.item.height > 480)
+ loader.item.height = 480;
+ }
+
+ }
+ Rectangle{ id: frame
+ z: 9
+ anchors.fill: loader.status == Loader.Ready ? loader : errorTxt
+ anchors.margins: -8
+ radius: 4
+ smooth: true
+ border.color: "#88aaaaaa"
+ gradient: Gradient{
+ GradientStop{ position: 0.0; color: "#14FFFFFF" }
+ GradientStop{ position: 1.0; color: "#5AFFFFFF" }
+ }
+ MouseArea{
+ anchors.fill: parent
+ onClicked: loader.focus=true;/* and don't propogate to the 'exit' area*/
+ }
+
+ Rectangle{ id: innerFrame
+ anchors.margins: 7
+ anchors.bottomMargin: 8
+ anchors.rightMargin: 8
+ color: "black"
+ border.color: "#44000000"
+ anchors.fill:parent
+ }
+
+ effect: DropShadow {
+ enabled: useBlur;
+ blurRadius: 9;
+ color: "#88000000";
+ xOffset:0
+ yOffset:0
+ }
+ }
+
+ Text{
+ id: errorTxt
+ z: 10
+ anchors.centerIn: parent
+ color: 'white'
+ smooth: true
+ visible: loader.status == Loader.Error
+ textFormat: Text.RichText
+ //Note that if loader is Error, it is because the file was found but there was an error creating the component
+ //This means either we have a bug in our demos, or the required modules (which ship with Qt) did not deploy correctly
+ text: "The example has failed to load.<br />If you installed Qt's QML modules this is a bug!<br />"
+ + 'Report it at <a href="http://bugreports.qt.nokia.com">http://bugreports.qt.nokia.com</a>';
+ onLinkActivated: Qt.openUrlExternally(link);
+ }
+ }
+ Rectangle{ id: blackout //Maybe use a colorize effect instead?
+ z: 8
+ anchors.fill: parent
+ color: "#000000"
+ opacity: 0
+ }
+ MouseArea{
+ z: 8
+ enabled: main.show
+ hoverEnabled: true //To steal focus from the buttons
+ anchors.fill: parent
+ onClicked: main.show=false;
+ }
+
+ states: [
+ State {
+ name: "show"
+ when: show == true
+ PropertyChanges {
+ target: embeddedViewer
+ opacity: 1
+ }
+ PropertyChanges {
+ target: bg
+ opacity: 1
+ }
+ PropertyChanges {
+ target: blackout
+ opacity: 0.5
+ }
+ }
+ ]
+ transitions: [//Should not be too long, because the component has already started running
+ Transition { from: ''; to: "show"; reversible: true
+ SequentialAnimation{
+ PropertyAction { target: bg; property: useBlur?"y":"opacity";}//fade in blurred background only if blurred
+ NumberAnimation{ properties: "opacity"; easing.type: Easing.InQuad; duration: 500}
+ PropertyAction { target: loader; property: "focus"; value: true}//Might be needed to ensure the focus stays with us
+ }
+ }
+ ]
+}
diff --git a/demos/qtdemo/qtdemo.pro b/demos/qtdemo/qtdemo.pro
index 2a776ace1d..4d4177e4f2 100644
--- a/demos/qtdemo/qtdemo.pro
+++ b/demos/qtdemo/qtdemo.pro
@@ -6,7 +6,7 @@ DESTDIR = $$DEMO_DESTDIR/bin
INSTALLS += target sources
-QT += xml network
+QT += xml network declarative
contains(QT_CONFIG, opengl) {
DEFINES += QT_OPENGL_SUPPORT
@@ -74,3 +74,5 @@ target.path = $$[QT_INSTALL_BINS]
sources.files = $$SOURCES $$HEADERS $$FORMS $$RESOURCES qtdemo.pro images xml *.ico *.icns *.rc *.plist
sources.path = $$[QT_INSTALL_DEMOS]/qtdemo
+OTHER_FILES += \
+ qmlShell.qml
diff --git a/demos/qtdemo/qtdemo.qrc b/demos/qtdemo/qtdemo.qrc
index b30dd5894e..c18420f29c 100644
--- a/demos/qtdemo/qtdemo.qrc
+++ b/demos/qtdemo/qtdemo.qrc
@@ -1,8 +1,11 @@
-<!DOCTYPE RCC><RCC version="1.0">
-<qresource prefix="/">
- <file>xml/examples.xml</file>
- <file>images/qtlogo_small.png</file>
- <file>images/trolltech-logo.png</file>
- <file>images/demobg.png</file>
-</qresource>
+<RCC>
+ <qresource prefix="/">
+ <file>xml/examples.xml</file>
+ <file>images/qtlogo_small.png</file>
+ <file>images/trolltech-logo.png</file>
+ <file>images/demobg.png</file>
+ </qresource>
+ <qresource prefix="/qml" lang="qml">
+ <file>qmlShell.qml</file>
+ </qresource>
</RCC>
diff --git a/demos/qtdemo/xml/examples.xml b/demos/qtdemo/xml/examples.xml
index e3240ab325..0ab048e0a1 100644
--- a/demos/qtdemo/xml/examples.xml
+++ b/demos/qtdemo/xml/examples.xml
@@ -1,24 +1,32 @@
<?xml version="1.0" encoding="iso-8859-1"?>
<categories name="Qt Examples and Demos">
<demos dirname="." docname="demos" name="Demonstrations">
+ <example filename="declarative/samegame" name="SameGame" executable="false" qml="true"/>
+ <example filename="declarative/flickr" name="Flickr Client" executable="false" qml="true"/>
<example filename="affine" name="Affine Transformations" />
- <example filename="arthurplugin" name="Arthur Plugin" executable="false" />
<example filename="composition" name="Composition Modes" />
<example filename="gradients" name="Gradients" />
<example filename="pathstroke" name="Path Stroking" />
- <example filename="deform" name="Vector Deformation" />
- <example filename="books" name="Books" />
- <example filename="mainwindow" name="Main Window" />
- <example filename="spreadsheet" name="Spreadsheet" />
- <example filename="sqlbrowser" name="SQL Browser" />
<example filename="textedit" name="Text Edit" />
<example filename="chip" name="40000 Chips" />
<example filename="embeddeddialogs" name="Embedded Dialogs" />
<example filename="interview" name="Interview" />
+ <example filename="declarative/rssnews" name="Rss Client" executable="false" qml="true"/>
+ <example filename="declarative/twitter" name="Twitter Client" executable="false" qml="true"/>
<example filename="browser" name="Browser" />
<example filename="qmediaplayer" name="Media Player" />
<example filename="boxes" name="Boxes" />
<example filename="sub-attaq" name="Sub-attaq" />
+ <example filename="spectrum" name="Spectrum Analyzer" />
+ <example filename="declarative/minehunt" name="Minehunt" executable="false" qml="true"/>
+ <example filename="declarative/snake" name="Snake" executable="false" qml="true"/>
+ <example filename="deform" name="Vector Deformation" />
+ <example filename="books" name="Books" />
+ <example filename="mainwindow" name="Main Window" />
+ <example filename="spreadsheet" name="Spreadsheet" />
+ <example filename="sqlbrowser" name="SQL Browser" />
+ <example filename="arthurplugin" name="Arthur Plugin" executable="false" />
+
</demos>
<category dirname="animation" name="Animation Framework">
<example filename="animatedtiles" name="Animated Tiles" />
@@ -34,6 +42,13 @@
<example filename="runfunction" name="Run Function" executable="false"/>
<example filename="wordcount" name="Word Count" executable="false" />
</category>
+ <category dirname="declarative/toys" name="Qt Declarative Examples">
+ <example filename="dynamicscene" name="Dynamic Scene" executable="false" qml="true" />
+ <example filename="tic-tac-toe" name="Tic Tac Toe" executable="false" qml="true" />
+ <example filename="clocks" name="Clocks" executable="false" qml="true" />
+ <example filename="corkboards" name="Corkboards" executable="false" qml="true" />
+ <example filename="tvtennis" name="TV Tennis" executable="false" qml="true" />
+ </category>
<category dirname="designer" name="Qt Designer">
<example filename="calculatorbuilder" name="Calculator Builder" />
<example filename="calculatorform" name="Calculator Form" />
@@ -115,6 +130,16 @@
<example filename="menus" name="Menus" />
<example filename="recentfiles" name="Recent Files" />
</category>
+ <category dirname="declarative/ui-components" name="QML UI Components">
+ <example filename="dialcontrol" name="Dial" executable="false" qml="true" />
+ <example filename="flipable" name="Flipable" executable="false" qml="true" />
+ <example filename="progressbar" name="Progress bar" executable="false" qml="true" />
+ <example filename="scrollbar" name="Scroll bar" executable="false" qml="true" />
+ <example filename="searchbox" name="Search box" executable="false" qml="true" />
+ <example filename="slideswitch" name="Slide switch" executable="false" qml="true" />
+ <example filename="spinner" name="Spinner" executable="false" qml="true" />
+ <example filename="tabwidget" name="Tab widget" executable="false" qml="true" />
+ </category>
<category dirname="network" name="Networking">
<example filename="blockingfortuneclient" name="Blocking Fortune Client" />
<example filename="broadcastreceiver" name="Broadcast Receiver" />
diff --git a/demos/spectrum/3rdparty/fftreal/Array.h b/demos/spectrum/3rdparty/fftreal/Array.h
new file mode 100644
index 0000000000..a08e3cf2d3
--- /dev/null
+++ b/demos/spectrum/3rdparty/fftreal/Array.h
@@ -0,0 +1,97 @@
+/*****************************************************************************
+
+ Array.h
+ Copyright (c) 2005 Laurent de Soras
+
+--- Legal stuff ---
+
+This library is free software; you can redistribute it and/or
+modify it under the terms of the GNU Lesser General Public
+License as published by the Free Software Foundation; either
+version 2.1 of the License, or (at your option) any later version.
+
+This library is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+Lesser General Public License for more details.
+
+You should have received a copy of the GNU Lesser General Public
+License along with this library; if not, write to the Free Software
+Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+
+*Tab=3***********************************************************************/
+
+
+
+#if ! defined (Array_HEADER_INCLUDED)
+#define Array_HEADER_INCLUDED
+
+#if defined (_MSC_VER)
+ #pragma once
+ #pragma warning (4 : 4250) // "Inherits via dominance."
+#endif
+
+
+
+/*\\\ INCLUDE FILES \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\*/
+
+
+
+template <class T, long LEN>
+class Array
+{
+
+/*\\\ PUBLIC \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\*/
+
+public:
+
+ typedef T DataType;
+
+ Array ();
+
+ inline const DataType &
+ operator [] (long pos) const;
+ inline DataType &
+ operator [] (long pos);
+
+ static inline long
+ size ();
+
+
+
+/*\\\ PROTECTED \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\*/
+
+protected:
+
+
+
+/*\\\ PRIVATE \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\*/
+
+private:
+
+ DataType _data_arr [LEN];
+
+
+
+/*\\\ FORBIDDEN MEMBER FUNCTIONS \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\*/
+
+private:
+
+ Array (const Array &other);
+ Array & operator = (const Array &other);
+ bool operator == (const Array &other);
+ bool operator != (const Array &other);
+
+}; // class Array
+
+
+
+#include "Array.hpp"
+
+
+
+#endif // Array_HEADER_INCLUDED
+
+
+
+/*\\\ EOF \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\*/
diff --git a/demos/spectrum/3rdparty/fftreal/Array.hpp b/demos/spectrum/3rdparty/fftreal/Array.hpp
new file mode 100644
index 0000000000..8300077e42
--- /dev/null
+++ b/demos/spectrum/3rdparty/fftreal/Array.hpp
@@ -0,0 +1,98 @@
+/*****************************************************************************
+
+ Array.hpp
+ Copyright (c) 2005 Laurent de Soras
+
+--- Legal stuff ---
+
+This library is free software; you can redistribute it and/or
+modify it under the terms of the GNU Lesser General Public
+License as published by the Free Software Foundation; either
+version 2.1 of the License, or (at your option) any later version.
+
+This library is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+Lesser General Public License for more details.
+
+You should have received a copy of the GNU Lesser General Public
+License along with this library; if not, write to the Free Software
+Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+
+*Tab=3***********************************************************************/
+
+
+
+#if defined (Array_CURRENT_CODEHEADER)
+ #error Recursive inclusion of Array code header.
+#endif
+#define Array_CURRENT_CODEHEADER
+
+#if ! defined (Array_CODEHEADER_INCLUDED)
+#define Array_CODEHEADER_INCLUDED
+
+
+
+/*\\\ INCLUDE FILES \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\*/
+
+#include <cassert>
+
+
+
+/*\\\ PUBLIC \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\*/
+
+
+
+template <class T, long LEN>
+Array <T, LEN>::Array ()
+{
+ // Nothing
+}
+
+
+
+template <class T, long LEN>
+const typename Array <T, LEN>::DataType & Array <T, LEN>::operator [] (long pos) const
+{
+ assert (pos >= 0);
+ assert (pos < LEN);
+
+ return (_data_arr [pos]);
+}
+
+
+
+template <class T, long LEN>
+typename Array <T, LEN>::DataType & Array <T, LEN>::operator [] (long pos)
+{
+ assert (pos >= 0);
+ assert (pos < LEN);
+
+ return (_data_arr [pos]);
+}
+
+
+
+template <class T, long LEN>
+long Array <T, LEN>::size ()
+{
+ return (LEN);
+}
+
+
+
+/*\\\ PROTECTED \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\*/
+
+
+
+/*\\\ PRIVATE \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\*/
+
+
+
+#endif // Array_CODEHEADER_INCLUDED
+
+#undef Array_CURRENT_CODEHEADER
+
+
+
+/*\\\ EOF \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\*/
diff --git a/demos/spectrum/3rdparty/fftreal/DynArray.h b/demos/spectrum/3rdparty/fftreal/DynArray.h
new file mode 100644
index 0000000000..8041a0c152
--- /dev/null
+++ b/demos/spectrum/3rdparty/fftreal/DynArray.h
@@ -0,0 +1,100 @@
+/*****************************************************************************
+
+ DynArray.h
+ Copyright (c) 2005 Laurent de Soras
+
+--- Legal stuff ---
+
+This library is free software; you can redistribute it and/or
+modify it under the terms of the GNU Lesser General Public
+License as published by the Free Software Foundation; either
+version 2.1 of the License, or (at your option) any later version.
+
+This library is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+Lesser General Public License for more details.
+
+You should have received a copy of the GNU Lesser General Public
+License along with this library; if not, write to the Free Software
+Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+
+*Tab=3***********************************************************************/
+
+
+
+#if ! defined (DynArray_HEADER_INCLUDED)
+#define DynArray_HEADER_INCLUDED
+
+#if defined (_MSC_VER)
+ #pragma once
+ #pragma warning (4 : 4250) // "Inherits via dominance."
+#endif
+
+
+
+/*\\\ INCLUDE FILES \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\*/
+
+
+
+template <class T>
+class DynArray
+{
+
+/*\\\ PUBLIC \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\*/
+
+public:
+
+ typedef T DataType;
+
+ DynArray ();
+ explicit DynArray (long size);
+ ~DynArray ();
+
+ inline long size () const;
+ inline void resize (long size);
+
+ inline const DataType &
+ operator [] (long pos) const;
+ inline DataType &
+ operator [] (long pos);
+
+
+
+/*\\\ PROTECTED \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\*/
+
+protected:
+
+
+
+/*\\\ PRIVATE \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\*/
+
+private:
+
+ DataType * _data_ptr;
+ long _len;
+
+
+
+/*\\\ FORBIDDEN MEMBER FUNCTIONS \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\*/
+
+private:
+
+ DynArray (const DynArray &other);
+ DynArray & operator = (const DynArray &other);
+ bool operator == (const DynArray &other);
+ bool operator != (const DynArray &other);
+
+}; // class DynArray
+
+
+
+#include "DynArray.hpp"
+
+
+
+#endif // DynArray_HEADER_INCLUDED
+
+
+
+/*\\\ EOF \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\*/
diff --git a/demos/spectrum/3rdparty/fftreal/DynArray.hpp b/demos/spectrum/3rdparty/fftreal/DynArray.hpp
new file mode 100644
index 0000000000..e62b10f884
--- /dev/null
+++ b/demos/spectrum/3rdparty/fftreal/DynArray.hpp
@@ -0,0 +1,143 @@
+/*****************************************************************************
+
+ DynArray.hpp
+ Copyright (c) 2005 Laurent de Soras
+
+--- Legal stuff ---
+
+This library is free software; you can redistribute it and/or
+modify it under the terms of the GNU Lesser General Public
+License as published by the Free Software Foundation; either
+version 2.1 of the License, or (at your option) any later version.
+
+This library is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+Lesser General Public License for more details.
+
+You should have received a copy of the GNU Lesser General Public
+License along with this library; if not, write to the Free Software
+Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+
+*Tab=3***********************************************************************/
+
+
+
+#if defined (DynArray_CURRENT_CODEHEADER)
+ #error Recursive inclusion of DynArray code header.
+#endif
+#define DynArray_CURRENT_CODEHEADER
+
+#if ! defined (DynArray_CODEHEADER_INCLUDED)
+#define DynArray_CODEHEADER_INCLUDED
+
+
+
+/*\\\ INCLUDE FILES \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\*/
+
+#include <cassert>
+
+
+
+/*\\\ PUBLIC \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\*/
+
+
+
+template <class T>
+DynArray <T>::DynArray ()
+: _data_ptr (0)
+, _len (0)
+{
+ // Nothing
+}
+
+
+
+template <class T>
+DynArray <T>::DynArray (long size)
+: _data_ptr (0)
+, _len (0)
+{
+ assert (size >= 0);
+ if (size > 0)
+ {
+ _data_ptr = new DataType [size];
+ _len = size;
+ }
+}
+
+
+
+template <class T>
+DynArray <T>::~DynArray ()
+{
+ delete [] _data_ptr;
+ _data_ptr = 0;
+ _len = 0;
+}
+
+
+
+template <class T>
+long DynArray <T>::size () const
+{
+ return (_len);
+}
+
+
+
+template <class T>
+void DynArray <T>::resize (long size)
+{
+ assert (size >= 0);
+ if (size > 0)
+ {
+ DataType * old_data_ptr = _data_ptr;
+ DataType * tmp_data_ptr = new DataType [size];
+
+ _data_ptr = tmp_data_ptr;
+ _len = size;
+
+ delete [] old_data_ptr;
+ }
+}
+
+
+
+template <class T>
+const typename DynArray <T>::DataType & DynArray <T>::operator [] (long pos) const
+{
+ assert (pos >= 0);
+ assert (pos < _len);
+
+ return (_data_ptr [pos]);
+}
+
+
+
+template <class T>
+typename DynArray <T>::DataType & DynArray <T>::operator [] (long pos)
+{
+ assert (pos >= 0);
+ assert (pos < _len);
+
+ return (_data_ptr [pos]);
+}
+
+
+
+/*\\\ PROTECTED \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\*/
+
+
+
+/*\\\ PRIVATE \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\*/
+
+
+
+#endif // DynArray_CODEHEADER_INCLUDED
+
+#undef DynArray_CURRENT_CODEHEADER
+
+
+
+/*\\\ EOF \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\*/
diff --git a/demos/spectrum/3rdparty/fftreal/FFTReal.dsp b/demos/spectrum/3rdparty/fftreal/FFTReal.dsp
new file mode 100644
index 0000000000..fe970db086
--- /dev/null
+++ b/demos/spectrum/3rdparty/fftreal/FFTReal.dsp
@@ -0,0 +1,273 @@
+# Microsoft Developer Studio Project File - Name="FFTReal" - Package Owner=<4>
+# Microsoft Developer Studio Generated Build File, Format Version 6.00
+# ** DO NOT EDIT **
+
+# TARGTYPE "Win32 (x86) Console Application" 0x0103
+
+CFG=FFTReal - Win32 Debug
+!MESSAGE This is not a valid makefile. To build this project using NMAKE,
+!MESSAGE use the Export Makefile command and run
+!MESSAGE
+!MESSAGE NMAKE /f "FFTReal.mak".
+!MESSAGE
+!MESSAGE You can specify a configuration when running NMAKE
+!MESSAGE by defining the macro CFG on the command line. For example:
+!MESSAGE
+!MESSAGE NMAKE /f "FFTReal.mak" CFG="FFTReal - Win32 Debug"
+!MESSAGE
+!MESSAGE Possible choices for configuration are:
+!MESSAGE
+!MESSAGE "FFTReal - Win32 Release" (based on "Win32 (x86) Console Application")
+!MESSAGE "FFTReal - Win32 Debug" (based on "Win32 (x86) Console Application")
+!MESSAGE
+
+# Begin Project
+# PROP AllowPerConfigDependencies 0
+# PROP Scc_ProjName ""
+# PROP Scc_LocalPath ""
+CPP=cl.exe
+RSC=rc.exe
+
+!IF "$(CFG)" == "FFTReal - Win32 Release"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir "Release"
+# PROP BASE Intermediate_Dir "Release"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "Release"
+# PROP Intermediate_Dir "Release"
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
+# ADD CPP /nologo /W3 /GR /GX /O2 /Ob2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
+# ADD BASE RSC /l 0x40c /d "NDEBUG"
+# ADD RSC /l 0x40c /d "NDEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
+
+!ELSEIF "$(CFG)" == "FFTReal - Win32 Debug"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir "Debug"
+# PROP BASE Intermediate_Dir "Debug"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir "Debug"
+# PROP Intermediate_Dir "Debug"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
+# ADD CPP /nologo /G6 /MTd /W3 /Gm /GR /GX /Zi /Od /Gf /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /FR /YX /FD /c
+# ADD BASE RSC /l 0x40c /d "_DEBUG"
+# ADD RSC /l 0x40c /d "_DEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
+
+!ENDIF
+
+# Begin Target
+
+# Name "FFTReal - Win32 Release"
+# Name "FFTReal - Win32 Debug"
+# Begin Group "Library"
+
+# PROP Default_Filter ""
+# Begin Source File
+
+SOURCE=.\Array.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\Array.hpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\def.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\DynArray.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\DynArray.hpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\FFTReal.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\FFTReal.hpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\FFTRealFixLen.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\FFTRealFixLen.hpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\FFTRealFixLenParam.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\FFTRealPassDirect.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\FFTRealPassDirect.hpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\FFTRealPassInverse.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\FFTRealPassInverse.hpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\FFTRealSelect.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\FFTRealSelect.hpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\FFTRealUseTrigo.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\FFTRealUseTrigo.hpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\OscSinCos.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\OscSinCos.hpp
+# End Source File
+# End Group
+# Begin Group "Test"
+
+# PROP Default_Filter ""
+# Begin Group "stopwatch"
+
+# PROP Default_Filter ""
+# Begin Source File
+
+SOURCE=.\stopwatch\ClockCycleCounter.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\stopwatch\ClockCycleCounter.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\stopwatch\ClockCycleCounter.hpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\stopwatch\def.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\stopwatch\fnc.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\stopwatch\fnc.hpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\stopwatch\Int64.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\stopwatch\StopWatch.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\stopwatch\StopWatch.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\stopwatch\StopWatch.hpp
+# End Source File
+# End Group
+# Begin Source File
+
+SOURCE=.\test.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\test_fnc.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\test_fnc.hpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\test_settings.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\TestAccuracy.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\TestAccuracy.hpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\TestHelperFixLen.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\TestHelperFixLen.hpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\TestHelperNormal.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\TestHelperNormal.hpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\TestSpeed.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\TestSpeed.hpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\TestWhiteNoiseGen.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\TestWhiteNoiseGen.hpp
+# End Source File
+# End Group
+# End Target
+# End Project
diff --git a/demos/spectrum/3rdparty/fftreal/FFTReal.dsw b/demos/spectrum/3rdparty/fftreal/FFTReal.dsw
new file mode 100644
index 0000000000..076b0aeb83
--- /dev/null
+++ b/demos/spectrum/3rdparty/fftreal/FFTReal.dsw
@@ -0,0 +1,29 @@
+Microsoft Developer Studio Workspace File, Format Version 6.00
+# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
+
+###############################################################################
+
+Project: "FFTReal"=.\FFTReal.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Global:
+
+Package=<5>
+{{{
+}}}
+
+Package=<3>
+{{{
+}}}
+
+###############################################################################
+
diff --git a/demos/spectrum/3rdparty/fftreal/FFTReal.h b/demos/spectrum/3rdparty/fftreal/FFTReal.h
new file mode 100644
index 0000000000..9fb2725032
--- /dev/null
+++ b/demos/spectrum/3rdparty/fftreal/FFTReal.h
@@ -0,0 +1,142 @@
+/*****************************************************************************
+
+ FFTReal.h
+ Copyright (c) 2005 Laurent de Soras
+
+--- Legal stuff ---
+
+This library is free software; you can redistribute it and/or
+modify it under the terms of the GNU Lesser General Public
+License as published by the Free Software Foundation; either
+version 2.1 of the License, or (at your option) any later version.
+
+This library is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+Lesser General Public License for more details.
+
+You should have received a copy of the GNU Lesser General Public
+License along with this library; if not, write to the Free Software
+Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+
+*Tab=3***********************************************************************/
+
+
+
+#if ! defined (FFTReal_HEADER_INCLUDED)
+#define FFTReal_HEADER_INCLUDED
+
+#if defined (_MSC_VER)
+ #pragma once
+ #pragma warning (4 : 4250) // "Inherits via dominance."
+#endif
+
+
+
+/*\\\ INCLUDE FILES \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\*/
+
+#include "def.h"
+#include "DynArray.h"
+#include "OscSinCos.h"
+
+
+
+template <class DT>
+class FFTReal
+{
+
+/*\\\ PUBLIC \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\*/
+
+public:
+
+ enum { MAX_BIT_DEPTH = 30 }; // So length can be represented as long int
+
+ typedef DT DataType;
+
+ explicit FFTReal (long length);
+ virtual ~FFTReal () {}
+
+ long get_length () const;
+ void do_fft (DataType f [], const DataType x []) const;
+ void do_ifft (const DataType f [], DataType x []) const;
+ void rescale (DataType x []) const;
+ DataType * use_buffer () const;
+
+
+
+/*\\\ PROTECTED \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\*/
+
+protected:
+
+
+
+/*\\\ PRIVATE \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\*/
+
+private:
+
+ // Over this bit depth, we use direct calculation for sin/cos
+ enum { TRIGO_BD_LIMIT = 12 };
+
+ typedef OscSinCos <DataType> OscType;
+
+ void init_br_lut ();
+ void init_trigo_lut ();
+ void init_trigo_osc ();
+
+ FORCEINLINE const long *
+ get_br_ptr () const;
+ FORCEINLINE const DataType *
+ get_trigo_ptr (int level) const;
+ FORCEINLINE long
+ get_trigo_level_index (int level) const;
+
+ inline void compute_fft_general (DataType f [], const DataType x []) const;
+ inline void compute_direct_pass_1_2 (DataType df [], const DataType x []) const;
+ inline void compute_direct_pass_3 (DataType df [], const DataType sf []) const;
+ inline void compute_direct_pass_n (DataType df [], const DataType sf [], int pass) const;
+ inline void compute_direct_pass_n_lut (DataType df [], const DataType sf [], int pass) const;
+ inline void compute_direct_pass_n_osc (DataType df [], const DataType sf [], int pass) const;
+
+ inline void compute_ifft_general (const DataType f [], DataType x []) const;
+ inline void compute_inverse_pass_n (DataType df [], const DataType sf [], int pass) const;
+ inline void compute_inverse_pass_n_osc (DataType df [], const DataType sf [], int pass) const;
+ inline void compute_inverse_pass_n_lut (DataType df [], const DataType sf [], int pass) const;
+ inline void compute_inverse_pass_3 (DataType df [], const DataType sf []) const;
+ inline void compute_inverse_pass_1_2 (DataType x [], const DataType sf []) const;
+
+ const long _length;
+ const int _nbr_bits;
+ DynArray <long>
+ _br_lut;
+ DynArray <DataType>
+ _trigo_lut;
+ mutable DynArray <DataType>
+ _buffer;
+ mutable DynArray <OscType>
+ _trigo_osc;
+
+
+
+/*\\\ FORBIDDEN MEMBER FUNCTIONS \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\*/
+
+private:
+
+ FFTReal ();
+ FFTReal (const FFTReal &other);
+ FFTReal & operator = (const FFTReal &other);
+ bool operator == (const FFTReal &other);
+ bool operator != (const FFTReal &other);
+
+}; // class FFTReal
+
+
+
+#include "FFTReal.hpp"
+
+
+
+#endif // FFTReal_HEADER_INCLUDED
+
+
+
+/*\\\ EOF \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\*/
diff --git a/demos/spectrum/3rdparty/fftreal/FFTReal.hpp b/demos/spectrum/3rdparty/fftreal/FFTReal.hpp
new file mode 100644
index 0000000000..335d771dc3
--- /dev/null
+++ b/demos/spectrum/3rdparty/fftreal/FFTReal.hpp
@@ -0,0 +1,916 @@
+/*****************************************************************************
+
+ FFTReal.hpp
+ Copyright (c) 2005 Laurent de Soras
+
+--- Legal stuff ---
+
+This library is free software; you can redistribute it and/or
+modify it under the terms of the GNU Lesser General Public
+License as published by the Free Software Foundation; either
+version 2.1 of the License, or (at your option) any later version.
+
+This library is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+Lesser General Public License for more details.
+
+You should have received a copy of the GNU Lesser General Public
+License along with this library; if not, write to the Free Software
+Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+
+*Tab=3***********************************************************************/
+
+
+
+#if defined (FFTReal_CURRENT_CODEHEADER)
+ #error Recursive inclusion of FFTReal code header.
+#endif
+#define FFTReal_CURRENT_CODEHEADER
+
+#if ! defined (FFTReal_CODEHEADER_INCLUDED)
+#define FFTReal_CODEHEADER_INCLUDED
+
+
+
+/*\\\ INCLUDE FILES \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\*/
+
+#include <cassert>
+#include <cmath>
+
+
+
+static inline bool FFTReal_is_pow2 (long x)
+{
+ assert (x > 0);
+
+ return ((x & -x) == x);
+}
+
+
+
+static inline int FFTReal_get_next_pow2 (long x)
+{
+ --x;
+
+ int p = 0;
+ while ((x & ~0xFFFFL) != 0)
+ {
+ p += 16;
+ x >>= 16;
+ }
+ while ((x & ~0xFL) != 0)
+ {
+ p += 4;
+ x >>= 4;
+ }
+ while (x > 0)
+ {
+ ++p;
+ x >>= 1;
+ }
+
+ return (p);
+}
+
+
+
+/*\\\ PUBLIC \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\*/
+
+
+
+/*
+==============================================================================
+Name: ctor
+Input parameters:
+ - length: length of the array on which we want to do a FFT. Range: power of
+ 2 only, > 0.
+Throws: std::bad_alloc
+==============================================================================
+*/
+
+template <class DT>
+FFTReal <DT>::FFTReal (long length)
+: _length (length)
+, _nbr_bits (FFTReal_get_next_pow2 (length))
+, _br_lut ()
+, _trigo_lut ()
+, _buffer (length)
+, _trigo_osc ()
+{
+ assert (FFTReal_is_pow2 (length));
+ assert (_nbr_bits <= MAX_BIT_DEPTH);
+
+ init_br_lut ();
+ init_trigo_lut ();
+ init_trigo_osc ();
+}
+
+
+
+/*
+==============================================================================
+Name: get_length
+Description:
+ Returns the number of points processed by this FFT object.
+Returns: The number of points, power of 2, > 0.
+Throws: Nothing
+==============================================================================
+*/
+
+template <class DT>
+long FFTReal <DT>::get_length () const
+{
+ return (_length);
+}
+
+
+
+/*
+==============================================================================
+Name: do_fft
+Description:
+ Compute the FFT of the array.
+Input parameters:
+ - x: pointer on the source array (time).
+Output parameters:
+ - f: pointer on the destination array (frequencies).
+ f [0...length(x)/2] = real values,
+ f [length(x)/2+1...length(x)-1] = negative imaginary values of
+ coefficents 1...length(x)/2-1.
+Throws: Nothing
+==============================================================================
+*/
+
+template <class DT>
+void FFTReal <DT>::do_fft (DataType f [], const DataType x []) const
+{
+ assert (f != 0);
+ assert (f != use_buffer ());
+ assert (x != 0);
+ assert (x != use_buffer ());
+ assert (x != f);
+
+ // General case
+ if (_nbr_bits > 2)
+ {
+ compute_fft_general (f, x);
+ }
+
+ // 4-point FFT
+ else if (_nbr_bits == 2)
+ {
+ f [1] = x [0] - x [2];
+ f [3] = x [1] - x [3];
+
+ const DataType b_0 = x [0] + x [2];
+ const DataType b_2 = x [1] + x [3];
+
+ f [0] = b_0 + b_2;
+ f [2] = b_0 - b_2;
+ }
+
+ // 2-point FFT
+ else if (_nbr_bits == 1)
+ {
+ f [0] = x [0] + x [1];
+ f [1] = x [0] - x [1];
+ }
+
+ // 1-point FFT
+ else
+ {
+ f [0] = x [0];
+ }
+}
+
+
+
+/*
+==============================================================================
+Name: do_ifft
+Description:
+ Compute the inverse FFT of the array. Note that data must be post-scaled:
+ IFFT (FFT (x)) = x * length (x).
+Input parameters:
+ - f: pointer on the source array (frequencies).
+ f [0...length(x)/2] = real values
+ f [length(x)/2+1...length(x)-1] = negative imaginary values of
+ coefficents 1...length(x)/2-1.
+Output parameters:
+ - x: pointer on the destination array (time).
+Throws: Nothing
+==============================================================================
+*/
+
+template <class DT>
+void FFTReal <DT>::do_ifft (const DataType f [], DataType x []) const
+{
+ assert (f != 0);
+ assert (f != use_buffer ());
+ assert (x != 0);
+ assert (x != use_buffer ());
+ assert (x != f);
+
+ // General case
+ if (_nbr_bits > 2)
+ {
+ compute_ifft_general (f, x);
+ }
+
+ // 4-point IFFT
+ else if (_nbr_bits == 2)
+ {
+ const DataType b_0 = f [0] + f [2];
+ const DataType b_2 = f [0] - f [2];
+
+ x [0] = b_0 + f [1] * 2;
+ x [2] = b_0 - f [1] * 2;
+ x [1] = b_2 + f [3] * 2;
+ x [3] = b_2 - f [3] * 2;
+ }
+
+ // 2-point IFFT
+ else if (_nbr_bits == 1)
+ {
+ x [0] = f [0] + f [1];
+ x [1] = f [0] - f [1];
+ }
+
+ // 1-point IFFT
+ else
+ {
+ x [0] = f [0];
+ }
+}
+
+
+
+/*
+==============================================================================
+Name: rescale
+Description:
+ Scale an array by divide each element by its length. This function should
+ be called after FFT + IFFT.
+Input parameters:
+ - x: pointer on array to rescale (time or frequency).
+Throws: Nothing
+==============================================================================
+*/
+
+template <class DT>
+void FFTReal <DT>::rescale (DataType x []) const
+{
+ const DataType mul = DataType (1.0 / _length);
+
+ if (_length < 4)
+ {
+ long i = _length - 1;
+ do
+ {
+ x [i] *= mul;
+ --i;
+ }
+ while (i >= 0);
+ }
+
+ else
+ {
+ assert ((_length & 3) == 0);
+
+ // Could be optimized with SIMD instruction sets (needs alignment check)
+ long i = _length - 4;
+ do
+ {
+ x [i + 0] *= mul;
+ x [i + 1] *= mul;
+ x [i + 2] *= mul;
+ x [i + 3] *= mul;
+ i -= 4;
+ }
+ while (i >= 0);
+ }
+}
+
+
+
+/*
+==============================================================================
+Name: use_buffer
+Description:
+ Access the internal buffer, whose length is the FFT one.
+ Buffer content will be erased at each do_fft() / do_ifft() call!
+ This buffer cannot be used as:
+ - source for FFT or IFFT done with this object
+ - destination for FFT or IFFT done with this object
+Returns:
+ Buffer start address
+Throws: Nothing
+==============================================================================
+*/
+
+template <class DT>
+typename FFTReal <DT>::DataType * FFTReal <DT>::use_buffer () const
+{
+ return (&_buffer [0]);
+}
+
+
+
+/*\\\ PROTECTED \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\*/
+
+
+
+/*\\\ PRIVATE \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\*/
+
+
+
+template <class DT>
+void FFTReal <DT>::init_br_lut ()
+{
+ const long length = 1L << _nbr_bits;
+ _br_lut.resize (length);
+
+ _br_lut [0] = 0;
+ long br_index = 0;
+ for (long cnt = 1; cnt < length; ++cnt)
+ {
+ // ++br_index (bit reversed)
+ long bit = length >> 1;
+ while (((br_index ^= bit) & bit) == 0)
+ {
+ bit >>= 1;
+ }
+
+ _br_lut [cnt] = br_index;
+ }
+}
+
+
+
+template <class DT>
+void FFTReal <DT>::init_trigo_lut ()
+{
+ using namespace std;
+
+ if (_nbr_bits > 3)
+ {
+ const long total_len = (1L << (_nbr_bits - 1)) - 4;
+ _trigo_lut.resize (total_len);
+
+ for (int level = 3; level < _nbr_bits; ++level)
+ {
+ const long level_len = 1L << (level - 1);
+ DataType * const level_ptr =
+ &_trigo_lut [get_trigo_level_index (level)];
+ const double mul = PI / (level_len << 1);
+
+ for (long i = 0; i < level_len; ++ i)
+ {
+ level_ptr [i] = static_cast <DataType> (cos (i * mul));
+ }
+ }
+ }
+}
+
+
+
+template <class DT>
+void FFTReal <DT>::init_trigo_osc ()
+{
+ const int nbr_osc = _nbr_bits - TRIGO_BD_LIMIT;
+ if (nbr_osc > 0)
+ {
+ _trigo_osc.resize (nbr_osc);
+
+ for (int osc_cnt = 0; osc_cnt < nbr_osc; ++osc_cnt)
+ {
+ OscType & osc = _trigo_osc [osc_cnt];
+
+ const long len = 1L << (TRIGO_BD_LIMIT + osc_cnt);
+ const double mul = (0.5 * PI) / len;
+ osc.set_step (mul);
+ }
+ }
+}
+
+
+
+template <class DT>
+const long * FFTReal <DT>::get_br_ptr () const
+{
+ return (&_br_lut [0]);
+}
+
+
+
+template <class DT>
+const typename FFTReal <DT>::DataType * FFTReal <DT>::get_trigo_ptr (int level) const
+{
+ assert (level >= 3);
+
+ return (&_trigo_lut [get_trigo_level_index (level)]);
+}
+
+
+
+template <class DT>
+long FFTReal <DT>::get_trigo_level_index (int level) const
+{
+ assert (level >= 3);
+
+ return ((1L << (level - 1)) - 4);
+}
+
+
+
+// Transform in several passes
+template <class DT>
+void FFTReal <DT>::compute_fft_general (DataType f [], const DataType x []) const
+{
+ assert (f != 0);
+ assert (f != use_buffer ());
+ assert (x != 0);
+ assert (x != use_buffer ());
+ assert (x != f);
+
+ DataType * sf;
+ DataType * df;
+
+ if ((_nbr_bits & 1) != 0)
+ {
+ df = use_buffer ();
+ sf = f;
+ }
+ else
+ {
+ df = f;
+ sf = use_buffer ();
+ }
+
+ compute_direct_pass_1_2 (df, x);
+ compute_direct_pass_3 (sf, df);
+
+ for (int pass = 3; pass < _nbr_bits; ++ pass)
+ {
+ compute_direct_pass_n (df, sf, pass);
+
+ DataType * const temp_ptr = df;
+ df = sf;
+ sf = temp_ptr;
+ }
+}
+
+
+
+template <class DT>
+void FFTReal <DT>::compute_direct_pass_1_2 (DataType df [], const DataType x []) const
+{
+ assert (df != 0);
+ assert (x != 0);
+ assert (df != x);
+
+ const long * const bit_rev_lut_ptr = get_br_ptr ();
+ long coef_index = 0;
+ do
+ {
+ const long rev_index_0 = bit_rev_lut_ptr [coef_index];
+ const long rev_index_1 = bit_rev_lut_ptr [coef_index + 1];
+ const long rev_index_2 = bit_rev_lut_ptr [coef_index + 2];
+ const long rev_index_3 = bit_rev_lut_ptr [coef_index + 3];
+
+ DataType * const df2 = df + coef_index;
+ df2 [1] = x [rev_index_0] - x [rev_index_1];
+ df2 [3] = x [rev_index_2] - x [rev_index_3];
+
+ const DataType sf_0 = x [rev_index_0] + x [rev_index_1];
+ const DataType sf_2 = x [rev_index_2] + x [rev_index_3];
+
+ df2 [0] = sf_0 + sf_2;
+ df2 [2] = sf_0 - sf_2;
+
+ coef_index += 4;
+ }
+ while (coef_index < _length);
+}
+
+
+
+template <class DT>
+void FFTReal <DT>::compute_direct_pass_3 (DataType df [], const DataType sf []) const
+{
+ assert (df != 0);
+ assert (sf != 0);
+ assert (df != sf);
+
+ const DataType sqrt2_2 = DataType (SQRT2 * 0.5);
+ long coef_index = 0;
+ do
+ {
+ DataType v;
+
+ df [coef_index] = sf [coef_index] + sf [coef_index + 4];
+ df [coef_index + 4] = sf [coef_index] - sf [coef_index + 4];
+ df [coef_index + 2] = sf [coef_index + 2];
+ df [coef_index + 6] = sf [coef_index + 6];
+
+ v = (sf [coef_index + 5] - sf [coef_index + 7]) * sqrt2_2;
+ df [coef_index + 1] = sf [coef_index + 1] + v;
+ df [coef_index + 3] = sf [coef_index + 1] - v;
+
+ v = (sf [coef_index + 5] + sf [coef_index + 7]) * sqrt2_2;
+ df [coef_index + 5] = v + sf [coef_index + 3];
+ df [coef_index + 7] = v - sf [coef_index + 3];
+
+ coef_index += 8;
+ }
+ while (coef_index < _length);
+}
+
+
+
+template <class DT>
+void FFTReal <DT>::compute_direct_pass_n (DataType df [], const DataType sf [], int pass) const
+{
+ assert (df != 0);
+ assert (sf != 0);
+ assert (df != sf);
+ assert (pass >= 3);
+ assert (pass < _nbr_bits);
+
+ if (pass <= TRIGO_BD_LIMIT)
+ {
+ compute_direct_pass_n_lut (df, sf, pass);
+ }
+ else
+ {
+ compute_direct_pass_n_osc (df, sf, pass);
+ }
+}
+
+
+
+template <class DT>
+void FFTReal <DT>::compute_direct_pass_n_lut (DataType df [], const DataType sf [], int pass) const
+{
+ assert (df != 0);
+ assert (sf != 0);
+ assert (df != sf);
+ assert (pass >= 3);
+ assert (pass < _nbr_bits);
+
+ const long nbr_coef = 1 << pass;
+ const long h_nbr_coef = nbr_coef >> 1;
+ const long d_nbr_coef = nbr_coef << 1;
+ long coef_index = 0;
+ const DataType * const cos_ptr = get_trigo_ptr (pass);
+ do
+ {
+ const DataType * const sf1r = sf + coef_index;
+ const DataType * const sf2r = sf1r + nbr_coef;
+ DataType * const dfr = df + coef_index;
+ DataType * const dfi = dfr + nbr_coef;
+
+ // Extreme coefficients are always real
+ dfr [0] = sf1r [0] + sf2r [0];
+ dfi [0] = sf1r [0] - sf2r [0]; // dfr [nbr_coef] =
+ dfr [h_nbr_coef] = sf1r [h_nbr_coef];
+ dfi [h_nbr_coef] = sf2r [h_nbr_coef];
+
+ // Others are conjugate complex numbers
+ const DataType * const sf1i = sf1r + h_nbr_coef;
+ const DataType * const sf2i = sf1i + nbr_coef;
+ for (long i = 1; i < h_nbr_coef; ++ i)
+ {
+ const DataType c = cos_ptr [i]; // cos (i*PI/nbr_coef);
+ const DataType s = cos_ptr [h_nbr_coef - i]; // sin (i*PI/nbr_coef);
+ DataType v;
+
+ v = sf2r [i] * c - sf2i [i] * s;
+ dfr [i] = sf1r [i] + v;
+ dfi [-i] = sf1r [i] - v; // dfr [nbr_coef - i] =
+
+ v = sf2r [i] * s + sf2i [i] * c;
+ dfi [i] = v + sf1i [i];
+ dfi [nbr_coef - i] = v - sf1i [i];
+ }
+
+ coef_index += d_nbr_coef;
+ }
+ while (coef_index < _length);
+}
+
+
+
+template <class DT>
+void FFTReal <DT>::compute_direct_pass_n_osc (DataType df [], const DataType sf [], int pass) const
+{
+ assert (df != 0);
+ assert (sf != 0);
+ assert (df != sf);
+ assert (pass > TRIGO_BD_LIMIT);
+ assert (pass < _nbr_bits);
+
+ const long nbr_coef = 1 << pass;
+ const long h_nbr_coef = nbr_coef >> 1;
+ const long d_nbr_coef = nbr_coef << 1;
+ long coef_index = 0;
+ OscType & osc = _trigo_osc [pass - (TRIGO_BD_LIMIT + 1)];
+ do
+ {
+ const DataType * const sf1r = sf + coef_index;
+ const DataType * const sf2r = sf1r + nbr_coef;
+ DataType * const dfr = df + coef_index;
+ DataType * const dfi = dfr + nbr_coef;
+
+ osc.clear_buffers ();
+
+ // Extreme coefficients are always real
+ dfr [0] = sf1r [0] + sf2r [0];
+ dfi [0] = sf1r [0] - sf2r [0]; // dfr [nbr_coef] =
+ dfr [h_nbr_coef] = sf1r [h_nbr_coef];
+ dfi [h_nbr_coef] = sf2r [h_nbr_coef];
+
+ // Others are conjugate complex numbers
+ const DataType * const sf1i = sf1r + h_nbr_coef;
+ const DataType * const sf2i = sf1i + nbr_coef;
+ for (long i = 1; i < h_nbr_coef; ++ i)
+ {
+ osc.step ();
+ const DataType c = osc.get_cos ();
+ const DataType s = osc.get_sin ();
+ DataType v;
+
+ v = sf2r [i] * c - sf2i [i] * s;
+ dfr [i] = sf1r [i] + v;
+ dfi [-i] = sf1r [i] - v; // dfr [nbr_coef - i] =
+
+ v = sf2r [i] * s + sf2i [i] * c;
+ dfi [i] = v + sf1i [i];
+ dfi [nbr_coef - i] = v - sf1i [i];
+ }
+
+ coef_index += d_nbr_coef;
+ }
+ while (coef_index < _length);
+}
+
+
+
+// Transform in several pass
+template <class DT>
+void FFTReal <DT>::compute_ifft_general (const DataType f [], DataType x []) const
+{
+ assert (f != 0);
+ assert (f != use_buffer ());
+ assert (x != 0);
+ assert (x != use_buffer ());
+ assert (x != f);
+
+ DataType * sf = const_cast <DataType *> (f);
+ DataType * df;
+ DataType * df_temp;
+
+ if (_nbr_bits & 1)
+ {
+ df = use_buffer ();
+ df_temp = x;
+ }
+ else
+ {
+ df = x;
+ df_temp = use_buffer ();
+ }
+
+ for (int pass = _nbr_bits - 1; pass >= 3; -- pass)
+ {
+ compute_inverse_pass_n (df, sf, pass);
+
+ if (pass < _nbr_bits - 1)
+ {
+ DataType * const temp_ptr = df;
+ df = sf;
+ sf = temp_ptr;
+ }
+ else
+ {
+ sf = df;
+ df = df_temp;
+ }
+ }
+
+ compute_inverse_pass_3 (df, sf);
+ compute_inverse_pass_1_2 (x, df);
+}
+
+
+
+template <class DT>
+void FFTReal <DT>::compute_inverse_pass_n (DataType df [], const DataType sf [], int pass) const
+{
+ assert (df != 0);
+ assert (sf != 0);
+ assert (df != sf);
+ assert (pass >= 3);
+ assert (pass < _nbr_bits);
+
+ if (pass <= TRIGO_BD_LIMIT)
+ {
+ compute_inverse_pass_n_lut (df, sf, pass);
+ }
+ else
+ {
+ compute_inverse_pass_n_osc (df, sf, pass);
+ }
+}
+
+
+
+template <class DT>
+void FFTReal <DT>::compute_inverse_pass_n_lut (DataType df [], const DataType sf [], int pass) const
+{
+ assert (df != 0);
+ assert (sf != 0);
+ assert (df != sf);
+ assert (pass >= 3);
+ assert (pass < _nbr_bits);
+
+ const long nbr_coef = 1 << pass;
+ const long h_nbr_coef = nbr_coef >> 1;
+ const long d_nbr_coef = nbr_coef << 1;
+ long coef_index = 0;
+ const DataType * const cos_ptr = get_trigo_ptr (pass);
+ do
+ {
+ const DataType * const sfr = sf + coef_index;
+ const DataType * const sfi = sfr + nbr_coef;
+ DataType * const df1r = df + coef_index;
+ DataType * const df2r = df1r + nbr_coef;
+
+ // Extreme coefficients are always real
+ df1r [0] = sfr [0] + sfi [0]; // + sfr [nbr_coef]
+ df2r [0] = sfr [0] - sfi [0]; // - sfr [nbr_coef]
+ df1r [h_nbr_coef] = sfr [h_nbr_coef] * 2;
+ df2r [h_nbr_coef] = sfi [h_nbr_coef] * 2;
+
+ // Others are conjugate complex numbers
+ DataType * const df1i = df1r + h_nbr_coef;
+ DataType * const df2i = df1i + nbr_coef;
+ for (long i = 1; i < h_nbr_coef; ++ i)
+ {
+ df1r [i] = sfr [i] + sfi [-i]; // + sfr [nbr_coef - i]
+ df1i [i] = sfi [i] - sfi [nbr_coef - i];
+
+ const DataType c = cos_ptr [i]; // cos (i*PI/nbr_coef);
+ const DataType s = cos_ptr [h_nbr_coef - i]; // sin (i*PI/nbr_coef);
+ const DataType vr = sfr [i] - sfi [-i]; // - sfr [nbr_coef - i]
+ const DataType vi = sfi [i] + sfi [nbr_coef - i];
+
+ df2r [i] = vr * c + vi * s;
+ df2i [i] = vi * c - vr * s;
+ }
+
+ coef_index += d_nbr_coef;
+ }
+ while (coef_index < _length);
+}
+
+
+
+template <class DT>
+void FFTReal <DT>::compute_inverse_pass_n_osc (DataType df [], const DataType sf [], int pass) const
+{
+ assert (df != 0);
+ assert (sf != 0);
+ assert (df != sf);
+ assert (pass > TRIGO_BD_LIMIT);
+ assert (pass < _nbr_bits);
+
+ const long nbr_coef = 1 << pass;
+ const long h_nbr_coef = nbr_coef >> 1;
+ const long d_nbr_coef = nbr_coef << 1;
+ long coef_index = 0;
+ OscType & osc = _trigo_osc [pass - (TRIGO_BD_LIMIT + 1)];
+ do
+ {
+ const DataType * const sfr = sf + coef_index;
+ const DataType * const sfi = sfr + nbr_coef;
+ DataType * const df1r = df + coef_index;
+ DataType * const df2r = df1r + nbr_coef;
+
+ osc.clear_buffers ();
+
+ // Extreme coefficients are always real
+ df1r [0] = sfr [0] + sfi [0]; // + sfr [nbr_coef]
+ df2r [0] = sfr [0] - sfi [0]; // - sfr [nbr_coef]
+ df1r [h_nbr_coef] = sfr [h_nbr_coef] * 2;
+ df2r [h_nbr_coef] = sfi [h_nbr_coef] * 2;
+
+ // Others are conjugate complex numbers
+ DataType * const df1i = df1r + h_nbr_coef;
+ DataType * const df2i = df1i + nbr_coef;
+ for (long i = 1; i < h_nbr_coef; ++ i)
+ {
+ df1r [i] = sfr [i] + sfi [-i]; // + sfr [nbr_coef - i]
+ df1i [i] = sfi [i] - sfi [nbr_coef - i];
+
+ osc.step ();
+ const DataType c = osc.get_cos ();
+ const DataType s = osc.get_sin ();
+ const DataType vr = sfr [i] - sfi [-i]; // - sfr [nbr_coef - i]
+ const DataType vi = sfi [i] + sfi [nbr_coef - i];
+
+ df2r [i] = vr * c + vi * s;
+ df2i [i] = vi * c - vr * s;
+ }
+
+ coef_index += d_nbr_coef;
+ }
+ while (coef_index < _length);
+}
+
+
+
+template <class DT>
+void FFTReal <DT>::compute_inverse_pass_3 (DataType df [], const DataType sf []) const
+{
+ assert (df != 0);
+ assert (sf != 0);
+ assert (df != sf);
+
+ const DataType sqrt2_2 = DataType (SQRT2 * 0.5);
+ long coef_index = 0;
+ do
+ {
+ df [coef_index] = sf [coef_index] + sf [coef_index + 4];
+ df [coef_index + 4] = sf [coef_index] - sf [coef_index + 4];
+ df [coef_index + 2] = sf [coef_index + 2] * 2;
+ df [coef_index + 6] = sf [coef_index + 6] * 2;
+
+ df [coef_index + 1] = sf [coef_index + 1] + sf [coef_index + 3];
+ df [coef_index + 3] = sf [coef_index + 5] - sf [coef_index + 7];
+
+ const DataType vr = sf [coef_index + 1] - sf [coef_index + 3];
+ const DataType vi = sf [coef_index + 5] + sf [coef_index + 7];
+
+ df [coef_index + 5] = (vr + vi) * sqrt2_2;
+ df [coef_index + 7] = (vi - vr) * sqrt2_2;
+
+ coef_index += 8;
+ }
+ while (coef_index < _length);
+}
+
+
+
+template <class DT>
+void FFTReal <DT>::compute_inverse_pass_1_2 (DataType x [], const DataType sf []) const
+{
+ assert (x != 0);
+ assert (sf != 0);
+ assert (x != sf);
+
+ const long * bit_rev_lut_ptr = get_br_ptr ();
+ const DataType * sf2 = sf;
+ long coef_index = 0;
+ do
+ {
+ {
+ const DataType b_0 = sf2 [0] + sf2 [2];
+ const DataType b_2 = sf2 [0] - sf2 [2];
+ const DataType b_1 = sf2 [1] * 2;
+ const DataType b_3 = sf2 [3] * 2;
+
+ x [bit_rev_lut_ptr [0]] = b_0 + b_1;
+ x [bit_rev_lut_ptr [1]] = b_0 - b_1;
+ x [bit_rev_lut_ptr [2]] = b_2 + b_3;
+ x [bit_rev_lut_ptr [3]] = b_2 - b_3;
+ }
+ {
+ const DataType b_0 = sf2 [4] + sf2 [6];
+ const DataType b_2 = sf2 [4] - sf2 [6];
+ const DataType b_1 = sf2 [5] * 2;
+ const DataType b_3 = sf2 [7] * 2;
+
+ x [bit_rev_lut_ptr [4]] = b_0 + b_1;
+ x [bit_rev_lut_ptr [5]] = b_0 - b_1;
+ x [bit_rev_lut_ptr [6]] = b_2 + b_3;
+ x [bit_rev_lut_ptr [7]] = b_2 - b_3;
+ }
+
+ sf2 += 8;
+ coef_index += 8;
+ bit_rev_lut_ptr += 8;
+ }
+ while (coef_index < _length);
+}
+
+
+
+#endif // FFTReal_CODEHEADER_INCLUDED
+
+#undef FFTReal_CURRENT_CODEHEADER
+
+
+
+/*\\\ EOF \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\*/
diff --git a/demos/spectrum/3rdparty/fftreal/FFTRealFixLen.h b/demos/spectrum/3rdparty/fftreal/FFTRealFixLen.h
new file mode 100644
index 0000000000..0b80266882
--- /dev/null
+++ b/demos/spectrum/3rdparty/fftreal/FFTRealFixLen.h
@@ -0,0 +1,130 @@
+/*****************************************************************************
+
+ FFTRealFixLen.h
+ Copyright (c) 2005 Laurent de Soras
+
+--- Legal stuff ---
+
+This library is free software; you can redistribute it and/or
+modify it under the terms of the GNU Lesser General Public
+License as published by the Free Software Foundation; either
+version 2.1 of the License, or (at your option) any later version.
+
+This library is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+Lesser General Public License for more details.
+
+You should have received a copy of the GNU Lesser General Public
+License along with this library; if not, write to the Free Software
+Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+
+*Tab=3***********************************************************************/
+
+
+
+#if ! defined (FFTRealFixLen_HEADER_INCLUDED)
+#define FFTRealFixLen_HEADER_INCLUDED
+
+#if defined (_MSC_VER)
+ #pragma once
+ #pragma warning (4 : 4250) // "Inherits via dominance."
+#endif
+
+
+
+/*\\\ INCLUDE FILES \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\*/
+
+#include "Array.h"
+#include "DynArray.h"
+#include "FFTRealFixLenParam.h"
+#include "OscSinCos.h"
+
+
+
+template <int LL2>
+class FFTRealFixLen
+{
+ typedef int CompileTimeCheck1 [(LL2 >= 0) ? 1 : -1];
+ typedef int CompileTimeCheck2 [(LL2 <= 30) ? 1 : -1];
+
+/*\\\ PUBLIC \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\*/
+
+public:
+
+ typedef FFTRealFixLenParam::DataType DataType;
+ typedef OscSinCos <DataType> OscType;
+
+ enum { FFT_LEN_L2 = LL2 };
+ enum { FFT_LEN = 1 << FFT_LEN_L2 };
+
+ FFTRealFixLen ();
+
+ inline long get_length () const;
+ void do_fft (DataType f [], const DataType x []);
+ void do_ifft (const DataType f [], DataType x []);
+ void rescale (DataType x []) const;
+
+
+
+/*\\\ PROTECTED \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\*/
+
+protected:
+
+
+
+/*\\\ PRIVATE \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\*/
+
+private:
+
+ enum { TRIGO_BD_LIMIT = FFTRealFixLenParam::TRIGO_BD_LIMIT };
+
+ enum { BR_ARR_SIZE_L2 = ((FFT_LEN_L2 - 3) < 0) ? 0 : (FFT_LEN_L2 - 2) };
+ enum { BR_ARR_SIZE = 1 << BR_ARR_SIZE_L2 };
+
+ enum { TRIGO_BD = ((FFT_LEN_L2 - TRIGO_BD_LIMIT) < 0)
+ ? (int)FFT_LEN_L2
+ : (int)TRIGO_BD_LIMIT };
+ enum { TRIGO_TABLE_ARR_SIZE_L2 = (LL2 < 4) ? 0 : (TRIGO_BD - 2) };
+ enum { TRIGO_TABLE_ARR_SIZE = 1 << TRIGO_TABLE_ARR_SIZE_L2 };
+
+ enum { NBR_TRIGO_OSC = FFT_LEN_L2 - TRIGO_BD };
+ enum { TRIGO_OSC_ARR_SIZE = (NBR_TRIGO_OSC > 0) ? NBR_TRIGO_OSC : 1 };
+
+ void build_br_lut ();
+ void build_trigo_lut ();
+ void build_trigo_osc ();
+
+ DynArray <DataType>
+ _buffer;
+ DynArray <long>
+ _br_data;
+ DynArray <DataType>
+ _trigo_data;
+ Array <OscType, TRIGO_OSC_ARR_SIZE>
+ _trigo_osc;
+
+
+
+/*\\\ FORBIDDEN MEMBER FUNCTIONS \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\*/
+
+private:
+
+ FFTRealFixLen (const FFTRealFixLen &other);
+ FFTRealFixLen& operator = (const FFTRealFixLen &other);
+ bool operator == (const FFTRealFixLen &other);
+ bool operator != (const FFTRealFixLen &other);
+
+}; // class FFTRealFixLen
+
+
+
+#include "FFTRealFixLen.hpp"
+
+
+
+#endif // FFTRealFixLen_HEADER_INCLUDED
+
+
+
+/*\\\ EOF \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\*/
diff --git a/demos/spectrum/3rdparty/fftreal/FFTRealFixLen.hpp b/demos/spectrum/3rdparty/fftreal/FFTRealFixLen.hpp
new file mode 100644
index 0000000000..6defb0095b
--- /dev/null
+++ b/demos/spectrum/3rdparty/fftreal/FFTRealFixLen.hpp
@@ -0,0 +1,322 @@
+/*****************************************************************************
+
+ FFTRealFixLen.hpp
+ Copyright (c) 2005 Laurent de Soras
+
+--- Legal stuff ---
+
+This library is free software; you can redistribute it and/or
+modify it under the terms of the GNU Lesser General Public
+License as published by the Free Software Foundation; either
+version 2.1 of the License, or (at your option) any later version.
+
+This library is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+Lesser General Public License for more details.
+
+You should have received a copy of the GNU Lesser General Public
+License along with this library; if not, write to the Free Software
+Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+
+*Tab=3***********************************************************************/
+
+
+
+#if defined (FFTRealFixLen_CURRENT_CODEHEADER)
+ #error Recursive inclusion of FFTRealFixLen code header.
+#endif
+#define FFTRealFixLen_CURRENT_CODEHEADER
+
+#if ! defined (FFTRealFixLen_CODEHEADER_INCLUDED)
+#define FFTRealFixLen_CODEHEADER_INCLUDED
+
+
+
+/*\\\ INCLUDE FILES \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\*/
+
+#include "def.h"
+#include "FFTRealPassDirect.h"
+#include "FFTRealPassInverse.h"
+#include "FFTRealSelect.h"
+
+#include <cassert>
+#include <cmath>
+
+namespace std { }
+
+
+
+/*\\\ PUBLIC \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\*/
+
+
+
+template <int LL2>
+FFTRealFixLen <LL2>::FFTRealFixLen ()
+: _buffer (FFT_LEN)
+, _br_data (BR_ARR_SIZE)
+, _trigo_data (TRIGO_TABLE_ARR_SIZE)
+, _trigo_osc ()
+{
+ build_br_lut ();
+ build_trigo_lut ();
+ build_trigo_osc ();
+}
+
+
+
+template <int LL2>
+long FFTRealFixLen <LL2>::get_length () const
+{
+ return (FFT_LEN);
+}
+
+
+
+// General case
+template <int LL2>
+void FFTRealFixLen <LL2>::do_fft (DataType f [], const DataType x [])
+{
+ assert (f != 0);
+ assert (x != 0);
+ assert (x != f);
+ assert (FFT_LEN_L2 >= 3);
+
+ // Do the transform in several passes
+ const DataType * cos_ptr = &_trigo_data [0];
+ const long * br_ptr = &_br_data [0];
+
+ FFTRealPassDirect <FFT_LEN_L2 - 1>::process (
+ FFT_LEN,
+ f,
+ &_buffer [0],
+ x,
+ cos_ptr,
+ TRIGO_TABLE_ARR_SIZE,
+ br_ptr,
+ &_trigo_osc [0]
+ );
+}
+
+// 4-point FFT
+template <>
+void FFTRealFixLen <2>::do_fft (DataType f [], const DataType x [])
+{
+ assert (f != 0);
+ assert (x != 0);
+ assert (x != f);
+
+ f [1] = x [0] - x [2];
+ f [3] = x [1] - x [3];
+
+ const DataType b_0 = x [0] + x [2];
+ const DataType b_2 = x [1] + x [3];
+
+ f [0] = b_0 + b_2;
+ f [2] = b_0 - b_2;
+}
+
+// 2-point FFT
+template <>
+void FFTRealFixLen <1>::do_fft (DataType f [], const DataType x [])
+{
+ assert (f != 0);
+ assert (x != 0);
+ assert (x != f);
+
+ f [0] = x [0] + x [1];
+ f [1] = x [0] - x [1];
+}
+
+// 1-point FFT
+template <>
+void FFTRealFixLen <0>::do_fft (DataType f [], const DataType x [])
+{
+ assert (f != 0);
+ assert (x != 0);
+
+ f [0] = x [0];
+}
+
+
+
+// General case
+template <int LL2>
+void FFTRealFixLen <LL2>::do_ifft (const DataType f [], DataType x [])
+{
+ assert (f != 0);
+ assert (x != 0);
+ assert (x != f);
+ assert (FFT_LEN_L2 >= 3);
+
+ // Do the transform in several passes
+ DataType * s_ptr =
+ FFTRealSelect <FFT_LEN_L2 & 1>::sel_bin (&_buffer [0], x);
+ DataType * d_ptr =
+ FFTRealSelect <FFT_LEN_L2 & 1>::sel_bin (x, &_buffer [0]);
+ const DataType * cos_ptr = &_trigo_data [0];
+ const long * br_ptr = &_br_data [0];
+
+ FFTRealPassInverse <FFT_LEN_L2 - 1>::process (
+ FFT_LEN,
+ d_ptr,
+ s_ptr,
+ f,
+ cos_ptr,
+ TRIGO_TABLE_ARR_SIZE,
+ br_ptr,
+ &_trigo_osc [0]
+ );
+}
+
+// 4-point IFFT
+template <>
+void FFTRealFixLen <2>::do_ifft (const DataType f [], DataType x [])
+{
+ assert (f != 0);
+ assert (x != 0);
+ assert (x != f);
+
+ const DataType b_0 = f [0] + f [2];
+ const DataType b_2 = f [0] - f [2];
+
+ x [0] = b_0 + f [1] * 2;
+ x [2] = b_0 - f [1] * 2;
+ x [1] = b_2 + f [3] * 2;
+ x [3] = b_2 - f [3] * 2;
+}
+
+// 2-point IFFT
+template <>
+void FFTRealFixLen <1>::do_ifft (const DataType f [], DataType x [])
+{
+ assert (f != 0);
+ assert (x != 0);
+ assert (x != f);
+
+ x [0] = f [0] + f [1];
+ x [1] = f [0] - f [1];
+}
+
+// 1-point IFFT
+template <>
+void FFTRealFixLen <0>::do_ifft (const DataType f [], DataType x [])
+{
+ assert (f != 0);
+ assert (x != 0);
+ assert (x != f);
+
+ x [0] = f [0];
+}
+
+
+
+
+template <int LL2>
+void FFTRealFixLen <LL2>::rescale (DataType x []) const
+{
+ assert (x != 0);
+
+ const DataType mul = DataType (1.0 / FFT_LEN);
+
+ if (FFT_LEN < 4)
+ {
+ long i = FFT_LEN - 1;
+ do
+ {
+ x [i] *= mul;
+ --i;
+ }
+ while (i >= 0);
+ }
+
+ else
+ {
+ assert ((FFT_LEN & 3) == 0);
+
+ // Could be optimized with SIMD instruction sets (needs alignment check)
+ long i = FFT_LEN - 4;
+ do
+ {
+ x [i + 0] *= mul;
+ x [i + 1] *= mul;
+ x [i + 2] *= mul;
+ x [i + 3] *= mul;
+ i -= 4;
+ }
+ while (i >= 0);
+ }
+}
+
+
+
+/*\\\ PROTECTED \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\*/
+
+
+
+/*\\\ PRIVATE \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\*/
+
+
+
+template <int LL2>
+void FFTRealFixLen <LL2>::build_br_lut ()
+{
+ _br_data [0] = 0;
+ for (long cnt = 1; cnt < BR_ARR_SIZE; ++cnt)
+ {
+ long index = cnt << 2;
+ long br_index = 0;
+
+ int bit_cnt = FFT_LEN_L2;
+ do
+ {
+ br_index <<= 1;
+ br_index += (index & 1);
+ index >>= 1;
+
+ -- bit_cnt;
+ }
+ while (bit_cnt > 0);
+
+ _br_data [cnt] = br_index;
+ }
+}
+
+
+
+template <int LL2>
+void FFTRealFixLen <LL2>::build_trigo_lut ()
+{
+ const double mul = (0.5 * PI) / TRIGO_TABLE_ARR_SIZE;
+ for (long i = 0; i < TRIGO_TABLE_ARR_SIZE; ++ i)
+ {
+ using namespace std;
+
+ _trigo_data [i] = DataType (cos (i * mul));
+ }
+}
+
+
+
+template <int LL2>
+void FFTRealFixLen <LL2>::build_trigo_osc ()
+{
+ for (int i = 0; i < NBR_TRIGO_OSC; ++i)
+ {
+ OscType & osc = _trigo_osc [i];
+
+ const long len = static_cast <long> (TRIGO_TABLE_ARR_SIZE) << (i + 1);
+ const double mul = (0.5 * PI) / len;
+ osc.set_step (mul);
+ }
+}
+
+
+
+#endif // FFTRealFixLen_CODEHEADER_INCLUDED
+
+#undef FFTRealFixLen_CURRENT_CODEHEADER
+
+
+
+/*\\\ EOF \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\*/
diff --git a/demos/spectrum/3rdparty/fftreal/FFTRealFixLenParam.h b/demos/spectrum/3rdparty/fftreal/FFTRealFixLenParam.h
new file mode 100644
index 0000000000..163c083239
--- /dev/null
+++ b/demos/spectrum/3rdparty/fftreal/FFTRealFixLenParam.h
@@ -0,0 +1,93 @@
+/*****************************************************************************
+
+ FFTRealFixLenParam.h
+ Copyright (c) 2005 Laurent de Soras
+
+--- Legal stuff ---
+
+This library is free software; you can redistribute it and/or
+modify it under the terms of the GNU Lesser General Public
+License as published by the Free Software Foundation; either
+version 2.1 of the License, or (at your option) any later version.
+
+This library is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+Lesser General Public License for more details.
+
+You should have received a copy of the GNU Lesser General Public
+License along with this library; if not, write to the Free Software
+Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+
+*Tab=3***********************************************************************/
+
+
+
+#if ! defined (FFTRealFixLenParam_HEADER_INCLUDED)
+#define FFTRealFixLenParam_HEADER_INCLUDED
+
+#if defined (_MSC_VER)
+ #pragma once
+ #pragma warning (4 : 4250) // "Inherits via dominance."
+#endif
+
+
+
+/*\\\ INCLUDE FILES \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\*/
+
+
+
+class FFTRealFixLenParam
+{
+
+/*\\\ PUBLIC \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\*/
+
+public:
+
+ // Over this bit depth, we use direct calculation for sin/cos
+ enum { TRIGO_BD_LIMIT = 12 };
+
+ typedef float DataType;
+
+
+
+/*\\\ PROTECTED \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\*/
+
+protected:
+
+
+
+/*\\\ PRIVATE \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\*/
+
+private:
+
+
+
+/*\\\ FORBIDDEN MEMBER FUNCTIONS \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\*/
+
+private:
+
+#if 0 // To avoid GCC warning:
+ // All member functions in class 'FFTRealFixLenParam' are private
+ FFTRealFixLenParam ();
+ ~FFTRealFixLenParam ();
+ FFTRealFixLenParam (const FFTRealFixLenParam &other);
+ FFTRealFixLenParam &
+ operator = (const FFTRealFixLenParam &other);
+ bool operator == (const FFTRealFixLenParam &other);
+ bool operator != (const FFTRealFixLenParam &other);
+#endif
+
+}; // class FFTRealFixLenParam
+
+
+
+//#include "FFTRealFixLenParam.hpp"
+
+
+
+#endif // FFTRealFixLenParam_HEADER_INCLUDED
+
+
+
+/*\\\ EOF \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\*/
diff --git a/demos/spectrum/3rdparty/fftreal/FFTRealPassDirect.h b/demos/spectrum/3rdparty/fftreal/FFTRealPassDirect.h
new file mode 100644
index 0000000000..7d19c02e4e
--- /dev/null
+++ b/demos/spectrum/3rdparty/fftreal/FFTRealPassDirect.h
@@ -0,0 +1,96 @@
+/*****************************************************************************
+
+ FFTRealPassDirect.h
+ Copyright (c) 2005 Laurent de Soras
+
+--- Legal stuff ---
+
+This library is free software; you can redistribute it and/or
+modify it under the terms of the GNU Lesser General Public
+License as published by the Free Software Foundation; either
+version 2.1 of the License, or (at your option) any later version.
+
+This library is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+Lesser General Public License for more details.
+
+You should have received a copy of the GNU Lesser General Public
+License along with this library; if not, write to the Free Software
+Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+
+*Tab=3***********************************************************************/
+
+
+
+#if ! defined (FFTRealPassDirect_HEADER_INCLUDED)
+#define FFTRealPassDirect_HEADER_INCLUDED
+
+#if defined (_MSC_VER)
+ #pragma once
+ #pragma warning (4 : 4250) // "Inherits via dominance."
+#endif
+
+
+
+/*\\\ INCLUDE FILES \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\*/
+
+#include "def.h"
+#include "FFTRealFixLenParam.h"
+#include "OscSinCos.h"
+
+
+
+template <int PASS>
+class FFTRealPassDirect
+{
+
+/*\\\ PUBLIC \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\*/
+
+public:
+
+ typedef FFTRealFixLenParam::DataType DataType;
+ typedef OscSinCos <DataType> OscType;
+
+ FORCEINLINE static void
+ process (long len, DataType dest_ptr [], DataType src_ptr [], const DataType x_ptr [], const DataType cos_ptr [], long cos_len, const long br_ptr [], OscType osc_list []);
+
+
+
+/*\\\ PROTECTED \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\*/
+
+protected:
+
+
+
+/*\\\ PRIVATE \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\*/
+
+private:
+
+
+
+/*\\\ FORBIDDEN MEMBER FUNCTIONS \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\*/
+
+private:
+
+ FFTRealPassDirect ();
+ ~FFTRealPassDirect ();
+ FFTRealPassDirect (const FFTRealPassDirect &other);
+ FFTRealPassDirect &
+ operator = (const FFTRealPassDirect &other);
+ bool operator == (const FFTRealPassDirect &other);
+ bool operator != (const FFTRealPassDirect &other);
+
+}; // class FFTRealPassDirect
+
+
+
+#include "FFTRealPassDirect.hpp"
+
+
+
+#endif // FFTRealPassDirect_HEADER_INCLUDED
+
+
+
+/*\\\ EOF \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\*/
diff --git a/demos/spectrum/3rdparty/fftreal/FFTRealPassDirect.hpp b/demos/spectrum/3rdparty/fftreal/FFTRealPassDirect.hpp
new file mode 100644
index 0000000000..db9d568e61
--- /dev/null
+++ b/demos/spectrum/3rdparty/fftreal/FFTRealPassDirect.hpp
@@ -0,0 +1,204 @@
+/*****************************************************************************
+
+ FFTRealPassDirect.hpp
+ Copyright (c) 2005 Laurent de Soras
+
+--- Legal stuff ---
+
+This library is free software; you can redistribute it and/or
+modify it under the terms of the GNU Lesser General Public
+License as published by the Free Software Foundation; either
+version 2.1 of the License, or (at your option) any later version.
+
+This library is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+Lesser General Public License for more details.
+
+You should have received a copy of the GNU Lesser General Public
+License along with this library; if not, write to the Free Software
+Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+
+*Tab=3***********************************************************************/
+
+
+
+#if defined (FFTRealPassDirect_CURRENT_CODEHEADER)
+ #error Recursive inclusion of FFTRealPassDirect code header.
+#endif
+#define FFTRealPassDirect_CURRENT_CODEHEADER
+
+#if ! defined (FFTRealPassDirect_CODEHEADER_INCLUDED)
+#define FFTRealPassDirect_CODEHEADER_INCLUDED
+
+
+
+/*\\\ INCLUDE FILES \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\*/
+
+#include "FFTRealUseTrigo.h"
+
+
+
+/*\\\ PUBLIC \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\*/
+
+
+
+template <>
+void FFTRealPassDirect <1>::process (long len, DataType dest_ptr [], DataType src_ptr [], const DataType x_ptr [], const DataType cos_ptr [], long cos_len, const long br_ptr [], OscType osc_list [])
+{
+ // First and second pass at once
+ const long qlen = len >> 2;
+
+ long coef_index = 0;
+ do
+ {
+ // To do: unroll the loop (2x).
+ const long ri_0 = br_ptr [coef_index >> 2];
+ const long ri_1 = ri_0 + 2 * qlen; // bit_rev_lut_ptr [coef_index + 1];
+ const long ri_2 = ri_0 + 1 * qlen; // bit_rev_lut_ptr [coef_index + 2];
+ const long ri_3 = ri_0 + 3 * qlen; // bit_rev_lut_ptr [coef_index + 3];
+
+ DataType * const df2 = dest_ptr + coef_index;
+ df2 [1] = x_ptr [ri_0] - x_ptr [ri_1];
+ df2 [3] = x_ptr [ri_2] - x_ptr [ri_3];
+
+ const DataType sf_0 = x_ptr [ri_0] + x_ptr [ri_1];
+ const DataType sf_2 = x_ptr [ri_2] + x_ptr [ri_3];
+
+ df2 [0] = sf_0 + sf_2;
+ df2 [2] = sf_0 - sf_2;
+
+ coef_index += 4;
+ }
+ while (coef_index < len);
+}
+
+template <>
+void FFTRealPassDirect <2>::process (long len, DataType dest_ptr [], DataType src_ptr [], const DataType x_ptr [], const DataType cos_ptr [], long cos_len, const long br_ptr [], OscType osc_list [])
+{
+ // Executes "previous" passes first. Inverts source and destination buffers
+ FFTRealPassDirect <1>::process (
+ len,
+ src_ptr,
+ dest_ptr,
+ x_ptr,
+ cos_ptr,
+ cos_len,
+ br_ptr,
+ osc_list
+ );
+
+ // Third pass
+ const DataType sqrt2_2 = DataType (SQRT2 * 0.5);
+
+ long coef_index = 0;
+ do
+ {
+ dest_ptr [coef_index ] = src_ptr [coef_index] + src_ptr [coef_index + 4];
+ dest_ptr [coef_index + 4] = src_ptr [coef_index] - src_ptr [coef_index + 4];
+ dest_ptr [coef_index + 2] = src_ptr [coef_index + 2];
+ dest_ptr [coef_index + 6] = src_ptr [coef_index + 6];
+
+ DataType v;
+
+ v = (src_ptr [coef_index + 5] - src_ptr [coef_index + 7]) * sqrt2_2;
+ dest_ptr [coef_index + 1] = src_ptr [coef_index + 1] + v;
+ dest_ptr [coef_index + 3] = src_ptr [coef_index + 1] - v;
+
+ v = (src_ptr [coef_index + 5] + src_ptr [coef_index + 7]) * sqrt2_2;
+ dest_ptr [coef_index + 5] = v + src_ptr [coef_index + 3];
+ dest_ptr [coef_index + 7] = v - src_ptr [coef_index + 3];
+
+ coef_index += 8;
+ }
+ while (coef_index < len);
+}
+
+template <int PASS>
+void FFTRealPassDirect <PASS>::process (long len, DataType dest_ptr [], DataType src_ptr [], const DataType x_ptr [], const DataType cos_ptr [], long cos_len, const long br_ptr [], OscType osc_list [])
+{
+ // Executes "previous" passes first. Inverts source and destination buffers
+ FFTRealPassDirect <PASS - 1>::process (
+ len,
+ src_ptr,
+ dest_ptr,
+ x_ptr,
+ cos_ptr,
+ cos_len,
+ br_ptr,
+ osc_list
+ );
+
+ const long dist = 1L << (PASS - 1);
+ const long c1_r = 0;
+ const long c1_i = dist;
+ const long c2_r = dist * 2;
+ const long c2_i = dist * 3;
+ const long cend = dist * 4;
+ const long table_step = cos_len >> (PASS - 1);
+
+ enum { TRIGO_OSC = PASS - FFTRealFixLenParam::TRIGO_BD_LIMIT };
+ enum { TRIGO_DIRECT = (TRIGO_OSC >= 0) ? 1 : 0 };
+
+ long coef_index = 0;
+ do
+ {
+ const DataType * const sf = src_ptr + coef_index;
+ DataType * const df = dest_ptr + coef_index;
+
+ // Extreme coefficients are always real
+ df [c1_r] = sf [c1_r] + sf [c2_r];
+ df [c2_r] = sf [c1_r] - sf [c2_r];
+ df [c1_i] = sf [c1_i];
+ df [c2_i] = sf [c2_i];
+
+ FFTRealUseTrigo <TRIGO_DIRECT>::prepare (osc_list [TRIGO_OSC]);
+
+ // Others are conjugate complex numbers
+ for (long i = 1; i < dist; ++ i)
+ {
+ DataType c;
+ DataType s;
+ FFTRealUseTrigo <TRIGO_DIRECT>::iterate (
+ osc_list [TRIGO_OSC],
+ c,
+ s,
+ cos_ptr,
+ i * table_step,
+ (dist - i) * table_step
+ );
+
+ const DataType sf_r_i = sf [c1_r + i];
+ const DataType sf_i_i = sf [c1_i + i];
+
+ const DataType v1 = sf [c2_r + i] * c - sf [c2_i + i] * s;
+ df [c1_r + i] = sf_r_i + v1;
+ df [c2_r - i] = sf_r_i - v1;
+
+ const DataType v2 = sf [c2_r + i] * s + sf [c2_i + i] * c;
+ df [c2_r + i] = v2 + sf_i_i;
+ df [cend - i] = v2 - sf_i_i;
+ }
+
+ coef_index += cend;
+ }
+ while (coef_index < len);
+}
+
+
+
+/*\\\ PROTECTED \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\*/
+
+
+
+/*\\\ PRIVATE \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\*/
+
+
+
+#endif // FFTRealPassDirect_CODEHEADER_INCLUDED
+
+#undef FFTRealPassDirect_CURRENT_CODEHEADER
+
+
+
+/*\\\ EOF \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\*/
diff --git a/demos/spectrum/3rdparty/fftreal/FFTRealPassInverse.h b/demos/spectrum/3rdparty/fftreal/FFTRealPassInverse.h
new file mode 100644
index 0000000000..2de895273b
--- /dev/null
+++ b/demos/spectrum/3rdparty/fftreal/FFTRealPassInverse.h
@@ -0,0 +1,101 @@
+/*****************************************************************************
+
+ FFTRealPassInverse.h
+ Copyright (c) 2005 Laurent de Soras
+
+--- Legal stuff ---
+
+This library is free software; you can redistribute it and/or
+modify it under the terms of the GNU Lesser General Public
+License as published by the Free Software Foundation; either
+version 2.1 of the License, or (at your option) any later version.
+
+This library is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+Lesser General Public License for more details.
+
+You should have received a copy of the GNU Lesser General Public
+License along with this library; if not, write to the Free Software
+Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+
+*Tab=3***********************************************************************/
+
+
+
+#if ! defined (FFTRealPassInverse_HEADER_INCLUDED)
+#define FFTRealPassInverse_HEADER_INCLUDED
+
+#if defined (_MSC_VER)
+ #pragma once
+ #pragma warning (4 : 4250) // "Inherits via dominance."
+#endif
+
+
+
+/*\\\ INCLUDE FILES \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\*/
+
+#include "def.h"
+#include "FFTRealFixLenParam.h"
+#include "OscSinCos.h"
+
+
+
+
+template <int PASS>
+class FFTRealPassInverse
+{
+
+/*\\\ PUBLIC \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\*/
+
+public:
+
+ typedef FFTRealFixLenParam::DataType DataType;
+ typedef OscSinCos <DataType> OscType;
+
+ FORCEINLINE static void
+ process (long len, DataType dest_ptr [], DataType src_ptr [], const DataType f_ptr [], const DataType cos_ptr [], long cos_len, const long br_ptr [], OscType osc_list []);
+ FORCEINLINE static void
+ process_rec (long len, DataType dest_ptr [], DataType src_ptr [], const DataType cos_ptr [], long cos_len, const long br_ptr [], OscType osc_list []);
+ FORCEINLINE static void
+ process_internal (long len, DataType dest_ptr [], const DataType src_ptr [], const DataType cos_ptr [], long cos_len, const long br_ptr [], OscType osc_list []);
+
+
+
+/*\\\ PROTECTED \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\*/
+
+protected:
+
+
+
+/*\\\ PRIVATE \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\*/
+
+private:
+
+
+
+/*\\\ FORBIDDEN MEMBER FUNCTIONS \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\*/
+
+private:
+
+ FFTRealPassInverse ();
+ ~FFTRealPassInverse ();
+ FFTRealPassInverse (const FFTRealPassInverse &other);
+ FFTRealPassInverse &
+ operator = (const FFTRealPassInverse &other);
+ bool operator == (const FFTRealPassInverse &other);
+ bool operator != (const FFTRealPassInverse &other);
+
+}; // class FFTRealPassInverse
+
+
+
+#include "FFTRealPassInverse.hpp"
+
+
+
+#endif // FFTRealPassInverse_HEADER_INCLUDED
+
+
+
+/*\\\ EOF \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\*/
diff --git a/demos/spectrum/3rdparty/fftreal/FFTRealPassInverse.hpp b/demos/spectrum/3rdparty/fftreal/FFTRealPassInverse.hpp
new file mode 100644
index 0000000000..5737546967
--- /dev/null
+++ b/demos/spectrum/3rdparty/fftreal/FFTRealPassInverse.hpp
@@ -0,0 +1,229 @@
+/*****************************************************************************
+
+ FFTRealPassInverse.hpp
+ Copyright (c) 2005 Laurent de Soras
+
+--- Legal stuff ---
+
+This library is free software; you can redistribute it and/or
+modify it under the terms of the GNU Lesser General Public
+License as published by the Free Software Foundation; either
+version 2.1 of the License, or (at your option) any later version.
+
+This library is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+Lesser General Public License for more details.
+
+You should have received a copy of the GNU Lesser General Public
+License along with this library; if not, write to the Free Software
+Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+
+*Tab=3***********************************************************************/
+
+
+
+#if defined (FFTRealPassInverse_CURRENT_CODEHEADER)
+ #error Recursive inclusion of FFTRealPassInverse code header.
+#endif
+#define FFTRealPassInverse_CURRENT_CODEHEADER
+
+#if ! defined (FFTRealPassInverse_CODEHEADER_INCLUDED)
+#define FFTRealPassInverse_CODEHEADER_INCLUDED
+
+
+
+/*\\\ INCLUDE FILES \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\*/
+
+#include "FFTRealUseTrigo.h"
+
+
+
+/*\\\ PUBLIC \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\*/
+
+
+
+template <int PASS>
+void FFTRealPassInverse <PASS>::process (long len, DataType dest_ptr [], DataType src_ptr [], const DataType f_ptr [], const DataType cos_ptr [], long cos_len, const long br_ptr [], OscType osc_list [])
+{
+ process_internal (
+ len,
+ dest_ptr,
+ f_ptr,
+ cos_ptr,
+ cos_len,
+ br_ptr,
+ osc_list
+ );
+ FFTRealPassInverse <PASS - 1>::process_rec (
+ len,
+ src_ptr,
+ dest_ptr,
+ cos_ptr,
+ cos_len,
+ br_ptr,
+ osc_list
+ );
+}
+
+
+
+template <int PASS>
+void FFTRealPassInverse <PASS>::process_rec (long len, DataType dest_ptr [], DataType src_ptr [], const DataType cos_ptr [], long cos_len, const long br_ptr [], OscType osc_list [])
+{
+ process_internal (
+ len,
+ dest_ptr,
+ src_ptr,
+ cos_ptr,
+ cos_len,
+ br_ptr,
+ osc_list
+ );
+ FFTRealPassInverse <PASS - 1>::process_rec (
+ len,
+ src_ptr,
+ dest_ptr,
+ cos_ptr,
+ cos_len,
+ br_ptr,
+ osc_list
+ );
+}
+
+template <>
+void FFTRealPassInverse <0>::process_rec (long len, DataType dest_ptr [], DataType src_ptr [], const DataType cos_ptr [], long cos_len, const long br_ptr [], OscType osc_list [])
+{
+ // Stops recursion
+}
+
+
+
+template <int PASS>
+void FFTRealPassInverse <PASS>::process_internal (long len, DataType dest_ptr [], const DataType src_ptr [], const DataType cos_ptr [], long cos_len, const long br_ptr [], OscType osc_list [])
+{
+ const long dist = 1L << (PASS - 1);
+ const long c1_r = 0;
+ const long c1_i = dist;
+ const long c2_r = dist * 2;
+ const long c2_i = dist * 3;
+ const long cend = dist * 4;
+ const long table_step = cos_len >> (PASS - 1);
+
+ enum { TRIGO_OSC = PASS - FFTRealFixLenParam::TRIGO_BD_LIMIT };
+ enum { TRIGO_DIRECT = (TRIGO_OSC >= 0) ? 1 : 0 };
+
+ long coef_index = 0;
+ do
+ {
+ const DataType * const sf = src_ptr + coef_index;
+ DataType * const df = dest_ptr + coef_index;
+
+ // Extreme coefficients are always real
+ df [c1_r] = sf [c1_r] + sf [c2_r];
+ df [c2_r] = sf [c1_r] - sf [c2_r];
+ df [c1_i] = sf [c1_i] * 2;
+ df [c2_i] = sf [c2_i] * 2;
+
+ FFTRealUseTrigo <TRIGO_DIRECT>::prepare (osc_list [TRIGO_OSC]);
+
+ // Others are conjugate complex numbers
+ for (long i = 1; i < dist; ++ i)
+ {
+ df [c1_r + i] = sf [c1_r + i] + sf [c2_r - i];
+ df [c1_i + i] = sf [c2_r + i] - sf [cend - i];
+
+ DataType c;
+ DataType s;
+ FFTRealUseTrigo <TRIGO_DIRECT>::iterate (
+ osc_list [TRIGO_OSC],
+ c,
+ s,
+ cos_ptr,
+ i * table_step,
+ (dist - i) * table_step
+ );
+
+ const DataType vr = sf [c1_r + i] - sf [c2_r - i];
+ const DataType vi = sf [c2_r + i] + sf [cend - i];
+
+ df [c2_r + i] = vr * c + vi * s;
+ df [c2_i + i] = vi * c - vr * s;
+ }
+
+ coef_index += cend;
+ }
+ while (coef_index < len);
+}
+
+template <>
+void FFTRealPassInverse <2>::process_internal (long len, DataType dest_ptr [], const DataType src_ptr [], const DataType cos_ptr [], long cos_len, const long br_ptr [], OscType osc_list [])
+{
+ // Antepenultimate pass
+ const DataType sqrt2_2 = DataType (SQRT2 * 0.5);
+
+ long coef_index = 0;
+ do
+ {
+ dest_ptr [coef_index ] = src_ptr [coef_index] + src_ptr [coef_index + 4];
+ dest_ptr [coef_index + 4] = src_ptr [coef_index] - src_ptr [coef_index + 4];
+ dest_ptr [coef_index + 2] = src_ptr [coef_index + 2] * 2;
+ dest_ptr [coef_index + 6] = src_ptr [coef_index + 6] * 2;
+
+ dest_ptr [coef_index + 1] = src_ptr [coef_index + 1] + src_ptr [coef_index + 3];
+ dest_ptr [coef_index + 3] = src_ptr [coef_index + 5] - src_ptr [coef_index + 7];
+
+ const DataType vr = src_ptr [coef_index + 1] - src_ptr [coef_index + 3];
+ const DataType vi = src_ptr [coef_index + 5] + src_ptr [coef_index + 7];
+
+ dest_ptr [coef_index + 5] = (vr + vi) * sqrt2_2;
+ dest_ptr [coef_index + 7] = (vi - vr) * sqrt2_2;
+
+ coef_index += 8;
+ }
+ while (coef_index < len);
+}
+
+template <>
+void FFTRealPassInverse <1>::process_internal (long len, DataType dest_ptr [], const DataType src_ptr [], const DataType cos_ptr [], long cos_len, const long br_ptr [], OscType osc_list [])
+{
+ // Penultimate and last pass at once
+ const long qlen = len >> 2;
+
+ long coef_index = 0;
+ do
+ {
+ const long ri_0 = br_ptr [coef_index >> 2];
+
+ const DataType b_0 = src_ptr [coef_index ] + src_ptr [coef_index + 2];
+ const DataType b_2 = src_ptr [coef_index ] - src_ptr [coef_index + 2];
+ const DataType b_1 = src_ptr [coef_index + 1] * 2;
+ const DataType b_3 = src_ptr [coef_index + 3] * 2;
+
+ dest_ptr [ri_0 ] = b_0 + b_1;
+ dest_ptr [ri_0 + 2 * qlen] = b_0 - b_1;
+ dest_ptr [ri_0 + 1 * qlen] = b_2 + b_3;
+ dest_ptr [ri_0 + 3 * qlen] = b_2 - b_3;
+
+ coef_index += 4;
+ }
+ while (coef_index < len);
+}
+
+
+
+/*\\\ PROTECTED \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\*/
+
+
+
+/*\\\ PRIVATE \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\*/
+
+
+
+#endif // FFTRealPassInverse_CODEHEADER_INCLUDED
+
+#undef FFTRealPassInverse_CURRENT_CODEHEADER
+
+
+
+/*\\\ EOF \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\*/
diff --git a/demos/spectrum/3rdparty/fftreal/FFTRealSelect.h b/demos/spectrum/3rdparty/fftreal/FFTRealSelect.h
new file mode 100644
index 0000000000..bd722d4d19
--- /dev/null
+++ b/demos/spectrum/3rdparty/fftreal/FFTRealSelect.h
@@ -0,0 +1,77 @@
+/*****************************************************************************
+
+ FFTRealSelect.h
+ Copyright (c) 2005 Laurent de Soras
+
+--- Legal stuff ---
+
+This library is free software; you can redistribute it and/or
+modify it under the terms of the GNU Lesser General Public
+License as published by the Free Software Foundation; either
+version 2.1 of the License, or (at your option) any later version.
+
+This library is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+Lesser General Public License for more details.
+
+You should have received a copy of the GNU Lesser General Public
+License along with this library; if not, write to the Free Software
+Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+
+*Tab=3***********************************************************************/
+
+
+
+#if ! defined (FFTRealSelect_HEADER_INCLUDED)
+#define FFTRealSelect_HEADER_INCLUDED
+
+#if defined (_MSC_VER)
+ #pragma once
+#endif
+
+
+
+/*\\\ INCLUDE FILES \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\*/
+
+#include "def.h"
+
+
+
+template <int P>
+class FFTRealSelect
+{
+
+/*\\\ PUBLIC \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\*/
+
+public:
+
+ FORCEINLINE static float *
+ sel_bin (float *e_ptr, float *o_ptr);
+
+
+
+/*\\\ FORBIDDEN MEMBER FUNCTIONS \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\*/
+
+private:
+
+ FFTRealSelect ();
+ ~FFTRealSelect ();
+ FFTRealSelect (const FFTRealSelect &other);
+ FFTRealSelect& operator = (const FFTRealSelect &other);
+ bool operator == (const FFTRealSelect &other);
+ bool operator != (const FFTRealSelect &other);
+
+}; // class FFTRealSelect
+
+
+
+#include "FFTRealSelect.hpp"
+
+
+
+#endif // FFTRealSelect_HEADER_INCLUDED
+
+
+
+/*\\\ EOF \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\*/
diff --git a/demos/spectrum/3rdparty/fftreal/FFTRealSelect.hpp b/demos/spectrum/3rdparty/fftreal/FFTRealSelect.hpp
new file mode 100644
index 0000000000..9ddf5864ca
--- /dev/null
+++ b/demos/spectrum/3rdparty/fftreal/FFTRealSelect.hpp
@@ -0,0 +1,62 @@
+/*****************************************************************************
+
+ FFTRealSelect.hpp
+ Copyright (c) 2005 Laurent de Soras
+
+--- Legal stuff ---
+
+This library is free software; you can redistribute it and/or
+modify it under the terms of the GNU Lesser General Public
+License as published by the Free Software Foundation; either
+version 2.1 of the License, or (at your option) any later version.
+
+This library is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+Lesser General Public License for more details.
+
+You should have received a copy of the GNU Lesser General Public
+License along with this library; if not, write to the Free Software
+Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+
+*Tab=3***********************************************************************/
+
+
+
+#if defined (FFTRealSelect_CURRENT_CODEHEADER)
+ #error Recursive inclusion of FFTRealSelect code header.
+#endif
+#define FFTRealSelect_CURRENT_CODEHEADER
+
+#if ! defined (FFTRealSelect_CODEHEADER_INCLUDED)
+#define FFTRealSelect_CODEHEADER_INCLUDED
+
+
+
+/*\\\ PUBLIC \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\*/
+
+
+
+template <int P>
+float * FFTRealSelect <P>::sel_bin (float *e_ptr, float *o_ptr)
+{
+ return (o_ptr);
+}
+
+
+
+template <>
+float * FFTRealSelect <0>::sel_bin (float *e_ptr, float *o_ptr)
+{
+ return (e_ptr);
+}
+
+
+
+#endif // FFTRealSelect_CODEHEADER_INCLUDED
+
+#undef FFTRealSelect_CURRENT_CODEHEADER
+
+
+
+/*\\\ EOF \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\*/
diff --git a/demos/spectrum/3rdparty/fftreal/FFTRealUseTrigo.h b/demos/spectrum/3rdparty/fftreal/FFTRealUseTrigo.h
new file mode 100644
index 0000000000..c4368ee089
--- /dev/null
+++ b/demos/spectrum/3rdparty/fftreal/FFTRealUseTrigo.h
@@ -0,0 +1,101 @@
+/*****************************************************************************
+
+ FFTRealUseTrigo.h
+ Copyright (c) 2005 Laurent de Soras
+
+Template parameters:
+ - ALGO: algorithm choice. 0 = table, other = oscillator
+
+--- Legal stuff ---
+
+This library is free software; you can redistribute it and/or
+modify it under the terms of the GNU Lesser General Public
+License as published by the Free Software Foundation; either
+version 2.1 of the License, or (at your option) any later version.
+
+This library is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+Lesser General Public License for more details.
+
+You should have received a copy of the GNU Lesser General Public
+License along with this library; if not, write to the Free Software
+Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+
+*Tab=3***********************************************************************/
+
+
+
+#if ! defined (FFTRealUseTrigo_HEADER_INCLUDED)
+#define FFTRealUseTrigo_HEADER_INCLUDED
+
+#if defined (_MSC_VER)
+ #pragma once
+ #pragma warning (4 : 4250) // "Inherits via dominance."
+#endif
+
+
+
+/*\\\ INCLUDE FILES \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\*/
+
+#include "def.h"
+#include "FFTRealFixLenParam.h"
+#include "OscSinCos.h"
+
+
+
+template <int ALGO>
+class FFTRealUseTrigo
+{
+
+/*\\\ PUBLIC \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\*/
+
+public:
+
+ typedef FFTRealFixLenParam::DataType DataType;
+ typedef OscSinCos <DataType> OscType;
+
+ FORCEINLINE static void
+ prepare (OscType &osc);
+ FORCEINLINE static void
+ iterate (OscType &osc, DataType &c, DataType &s, const DataType cos_ptr [], long index_c, long index_s);
+
+
+
+/*\\\ PROTECTED \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\*/
+
+protected:
+
+
+
+/*\\\ PRIVATE \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\*/
+
+private:
+
+
+
+/*\\\ FORBIDDEN MEMBER FUNCTIONS \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\*/
+
+private:
+
+ FFTRealUseTrigo ();
+ ~FFTRealUseTrigo ();
+ FFTRealUseTrigo (const FFTRealUseTrigo &other);
+ FFTRealUseTrigo &
+ operator = (const FFTRealUseTrigo &other);
+ bool operator == (const FFTRealUseTrigo &other);
+ bool operator != (const FFTRealUseTrigo &other);
+
+}; // class FFTRealUseTrigo
+
+
+
+#include "FFTRealUseTrigo.hpp"
+
+
+
+#endif // FFTRealUseTrigo_HEADER_INCLUDED
+
+
+
+/*\\\ EOF \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\*/
diff --git a/demos/spectrum/3rdparty/fftreal/FFTRealUseTrigo.hpp b/demos/spectrum/3rdparty/fftreal/FFTRealUseTrigo.hpp
new file mode 100644
index 0000000000..aa968b81a3
--- /dev/null
+++ b/demos/spectrum/3rdparty/fftreal/FFTRealUseTrigo.hpp
@@ -0,0 +1,91 @@
+/*****************************************************************************
+
+ FFTRealUseTrigo.hpp
+ Copyright (c) 2005 Laurent de Soras
+
+--- Legal stuff ---
+
+This library is free software; you can redistribute it and/or
+modify it under the terms of the GNU Lesser General Public
+License as published by the Free Software Foundation; either
+version 2.1 of the License, or (at your option) any later version.
+
+This library is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+Lesser General Public License for more details.
+
+You should have received a copy of the GNU Lesser General Public
+License along with this library; if not, write to the Free Software
+Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+
+*Tab=3***********************************************************************/
+
+
+
+#if defined (FFTRealUseTrigo_CURRENT_CODEHEADER)
+ #error Recursive inclusion of FFTRealUseTrigo code header.
+#endif
+#define FFTRealUseTrigo_CURRENT_CODEHEADER
+
+#if ! defined (FFTRealUseTrigo_CODEHEADER_INCLUDED)
+#define FFTRealUseTrigo_CODEHEADER_INCLUDED
+
+
+
+/*\\\ INCLUDE FILES \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\*/
+
+#include "OscSinCos.h"
+
+
+
+/*\\\ PUBLIC \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\*/
+
+
+
+template <int ALGO>
+void FFTRealUseTrigo <ALGO>::prepare (OscType &osc)
+{
+ osc.clear_buffers ();
+}
+
+template <>
+void FFTRealUseTrigo <0>::prepare (OscType &osc)
+{
+ // Nothing
+}
+
+
+
+template <int ALGO>
+void FFTRealUseTrigo <ALGO>::iterate (OscType &osc, DataType &c, DataType &s, const DataType cos_ptr [], long index_c, long index_s)
+{
+ osc.step ();
+ c = osc.get_cos ();
+ s = osc.get_sin ();
+}
+
+template <>
+void FFTRealUseTrigo <0>::iterate (OscType &osc, DataType &c, DataType &s, const DataType cos_ptr [], long index_c, long index_s)
+{
+ c = cos_ptr [index_c];
+ s = cos_ptr [index_s];
+}
+
+
+
+/*\\\ PROTECTED \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\*/
+
+
+
+/*\\\ PRIVATE \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\*/
+
+
+
+#endif // FFTRealUseTrigo_CODEHEADER_INCLUDED
+
+#undef FFTRealUseTrigo_CURRENT_CODEHEADER
+
+
+
+/*\\\ EOF \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\*/
diff --git a/demos/spectrum/3rdparty/fftreal/OscSinCos.h b/demos/spectrum/3rdparty/fftreal/OscSinCos.h
new file mode 100644
index 0000000000..775fc14f32
--- /dev/null
+++ b/demos/spectrum/3rdparty/fftreal/OscSinCos.h
@@ -0,0 +1,106 @@
+/*****************************************************************************
+
+ OscSinCos.h
+ Copyright (c) 2005 Laurent de Soras
+
+--- Legal stuff ---
+
+This library is free software; you can redistribute it and/or
+modify it under the terms of the GNU Lesser General Public
+License as published by the Free Software Foundation; either
+version 2.1 of the License, or (at your option) any later version.
+
+This library is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+Lesser General Public License for more details.
+
+You should have received a copy of the GNU Lesser General Public
+License along with this library; if not, write to the Free Software
+Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+
+*Tab=3***********************************************************************/
+
+
+
+#if ! defined (OscSinCos_HEADER_INCLUDED)
+#define OscSinCos_HEADER_INCLUDED
+
+#if defined (_MSC_VER)
+ #pragma once
+ #pragma warning (4 : 4250) // "Inherits via dominance."
+#endif
+
+
+
+/*\\\ INCLUDE FILES \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\*/
+
+#include "def.h"
+
+
+
+template <class T>
+class OscSinCos
+{
+
+/*\\\ PUBLIC \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\*/
+
+public:
+
+ typedef T DataType;
+
+ OscSinCos ();
+
+ FORCEINLINE void
+ set_step (double angle_rad);
+
+ FORCEINLINE DataType
+ get_cos () const;
+ FORCEINLINE DataType
+ get_sin () const;
+ FORCEINLINE void
+ step ();
+ FORCEINLINE void
+ clear_buffers ();
+
+
+
+/*\\\ PROTECTED \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\*/
+
+protected:
+
+
+
+/*\\\ PRIVATE \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\*/
+
+private:
+
+ DataType _pos_cos; // Current phase expressed with sin and cos. [-1 ; 1]
+ DataType _pos_sin; // -
+ DataType _step_cos; // Phase increment per step, [-1 ; 1]
+ DataType _step_sin; // -
+
+
+
+/*\\\ FORBIDDEN MEMBER FUNCTIONS \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\*/
+
+private:
+
+ OscSinCos (const OscSinCos &other);
+ OscSinCos & operator = (const OscSinCos &other);
+ bool operator == (const OscSinCos &other);
+ bool operator != (const OscSinCos &other);
+
+}; // class OscSinCos
+
+
+
+#include "OscSinCos.hpp"
+
+
+
+#endif // OscSinCos_HEADER_INCLUDED
+
+
+
+/*\\\ EOF \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\*/
diff --git a/demos/spectrum/3rdparty/fftreal/OscSinCos.hpp b/demos/spectrum/3rdparty/fftreal/OscSinCos.hpp
new file mode 100644
index 0000000000..749aef04d2
--- /dev/null
+++ b/demos/spectrum/3rdparty/fftreal/OscSinCos.hpp
@@ -0,0 +1,122 @@
+/*****************************************************************************
+
+ OscSinCos.hpp
+ Copyright (c) 2005 Laurent de Soras
+
+--- Legal stuff ---
+
+This library is free software; you can redistribute it and/or
+modify it under the terms of the GNU Lesser General Public
+License as published by the Free Software Foundation; either
+version 2.1 of the License, or (at your option) any later version.
+
+This library is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+Lesser General Public License for more details.
+
+You should have received a copy of the GNU Lesser General Public
+License along with this library; if not, write to the Free Software
+Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+
+*Tab=3***********************************************************************/
+
+
+
+#if defined (OscSinCos_CURRENT_CODEHEADER)
+ #error Recursive inclusion of OscSinCos code header.
+#endif
+#define OscSinCos_CURRENT_CODEHEADER
+
+#if ! defined (OscSinCos_CODEHEADER_INCLUDED)
+#define OscSinCos_CODEHEADER_INCLUDED
+
+
+
+/*\\\ INCLUDE FILES \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\*/
+
+#include <cmath>
+
+namespace std { }
+
+
+
+/*\\\ PUBLIC \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\*/
+
+
+
+template <class T>
+OscSinCos <T>::OscSinCos ()
+: _pos_cos (1)
+, _pos_sin (0)
+, _step_cos (1)
+, _step_sin (0)
+{
+ // Nothing
+}
+
+
+
+template <class T>
+void OscSinCos <T>::set_step (double angle_rad)
+{
+ using namespace std;
+
+ _step_cos = static_cast <DataType> (cos (angle_rad));
+ _step_sin = static_cast <DataType> (sin (angle_rad));
+}
+
+
+
+template <class T>
+typename OscSinCos <T>::DataType OscSinCos <T>::get_cos () const
+{
+ return (_pos_cos);
+}
+
+
+
+template <class T>
+typename OscSinCos <T>::DataType OscSinCos <T>::get_sin () const
+{
+ return (_pos_sin);
+}
+
+
+
+template <class T>
+void OscSinCos <T>::step ()
+{
+ const DataType old_cos = _pos_cos;
+ const DataType old_sin = _pos_sin;
+
+ _pos_cos = old_cos * _step_cos - old_sin * _step_sin;
+ _pos_sin = old_cos * _step_sin + old_sin * _step_cos;
+}
+
+
+
+template <class T>
+void OscSinCos <T>::clear_buffers ()
+{
+ _pos_cos = static_cast <DataType> (1);
+ _pos_sin = static_cast <DataType> (0);
+}
+
+
+
+/*\\\ PROTECTED \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\*/
+
+
+
+/*\\\ PRIVATE \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\*/
+
+
+
+#endif // OscSinCos_CODEHEADER_INCLUDED
+
+#undef OscSinCos_CURRENT_CODEHEADER
+
+
+
+/*\\\ EOF \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\*/
diff --git a/demos/spectrum/3rdparty/fftreal/TestAccuracy.h b/demos/spectrum/3rdparty/fftreal/TestAccuracy.h
new file mode 100644
index 0000000000..4b07a6b605
--- /dev/null
+++ b/demos/spectrum/3rdparty/fftreal/TestAccuracy.h
@@ -0,0 +1,105 @@
+/*****************************************************************************
+
+ TestAccuracy.h
+ Copyright (c) 2005 Laurent de Soras
+
+--- Legal stuff ---
+
+This library is free software; you can redistribute it and/or
+modify it under the terms of the GNU Lesser General Public
+License as published by the Free Software Foundation; either
+version 2.1 of the License, or (at your option) any later version.
+
+This library is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+Lesser General Public License for more details.
+
+You should have received a copy of the GNU Lesser General Public
+License along with this library; if not, write to the Free Software
+Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+
+*Tab=3***********************************************************************/
+
+
+
+#if ! defined (TestAccuracy_HEADER_INCLUDED)
+#define TestAccuracy_HEADER_INCLUDED
+
+#if defined (_MSC_VER)
+ #pragma once
+ #pragma warning (4 : 4250) // "Inherits via dominance."
+#endif
+
+
+
+/*\\\ INCLUDE FILES \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\*/
+
+
+
+template <class FO>
+class TestAccuracy
+{
+
+/*\\\ PUBLIC \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\*/
+
+public:
+
+ typedef typename FO::DataType DataType;
+ typedef long double BigFloat; // To get maximum accuracy during intermediate calculations
+
+ static int perform_test_single_object (FO &fft);
+ static int perform_test_d (FO &fft, const char *class_name_0);
+ static int perform_test_i (FO &fft, const char *class_name_0);
+ static int perform_test_di (FO &fft, const char *class_name_0);
+
+
+
+/*\\\ PROTECTED \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\*/
+
+protected:
+
+
+
+/*\\\ PRIVATE \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\*/
+
+private:
+
+ enum { NBR_ACC_TESTS = 10 * 1000 * 1000 };
+ enum { MAX_NBR_TESTS = 10000 };
+
+ static void compute_tf (DataType s [], const DataType x [], long length);
+ static void compute_itf (DataType x [], const DataType s [], long length);
+ static int compare_vect_display (const DataType x_ptr [], const DataType y_ptr [], long len, BigFloat &max_err_rel);
+ static BigFloat
+ compute_power (const DataType x_ptr [], long len);
+ static BigFloat
+ compute_power (const DataType x_ptr [], const DataType y_ptr [], long len);
+ static void compare_vect (const DataType x_ptr [], const DataType y_ptr [], BigFloat &power, long &max_err_pos, long len);
+
+
+
+/*\\\ FORBIDDEN MEMBER FUNCTIONS \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\*/
+
+private:
+
+ TestAccuracy ();
+ ~TestAccuracy ();
+ TestAccuracy (const TestAccuracy &other);
+ TestAccuracy & operator = (const TestAccuracy &other);
+ bool operator == (const TestAccuracy &other);
+ bool operator != (const TestAccuracy &other);
+
+}; // class TestAccuracy
+
+
+
+#include "TestAccuracy.hpp"
+
+
+
+#endif // TestAccuracy_HEADER_INCLUDED
+
+
+
+/*\\\ EOF \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\*/
diff --git a/demos/spectrum/3rdparty/fftreal/TestAccuracy.hpp b/demos/spectrum/3rdparty/fftreal/TestAccuracy.hpp
new file mode 100644
index 0000000000..5c794f747b
--- /dev/null
+++ b/demos/spectrum/3rdparty/fftreal/TestAccuracy.hpp
@@ -0,0 +1,472 @@
+/*****************************************************************************
+
+ TestAccuracy.hpp
+ Copyright (c) 2005 Laurent de Soras
+
+--- Legal stuff ---
+
+This library is free software; you can redistribute it and/or
+modify it under the terms of the GNU Lesser General Public
+License as published by the Free Software Foundation; either
+version 2.1 of the License, or (at your option) any later version.
+
+This library is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+Lesser General Public License for more details.
+
+You should have received a copy of the GNU Lesser General Public
+License along with this library; if not, write to the Free Software
+Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+
+*Tab=3***********************************************************************/
+
+
+
+#if defined (TestAccuracy_CURRENT_CODEHEADER)
+ #error Recursive inclusion of TestAccuracy code header.
+#endif
+#define TestAccuracy_CURRENT_CODEHEADER
+
+#if ! defined (TestAccuracy_CODEHEADER_INCLUDED)
+#define TestAccuracy_CODEHEADER_INCLUDED
+
+
+
+/*\\\ INCLUDE FILES \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\*/
+
+#include "def.h"
+#include "test_fnc.h"
+#include "TestWhiteNoiseGen.h"
+
+#include <typeinfo>
+#include <vector>
+
+#include <cmath>
+#include <cstdio>
+
+
+
+static const double TestAccuracy_LN10 = 2.3025850929940456840179914546844;
+
+
+
+/*\\\ PUBLIC \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\*/
+
+
+
+template <class FO>
+int TestAccuracy <FO>::perform_test_single_object (FO &fft)
+{
+ assert (&fft != 0);
+
+ using namespace std;
+
+ int ret_val = 0;
+
+ const std::type_info & ti = typeid (fft);
+ const char * class_name_0 = ti.name ();
+
+ if (ret_val == 0)
+ {
+ ret_val = perform_test_d (fft, class_name_0);
+ }
+ if (ret_val == 0)
+ {
+ ret_val = perform_test_i (fft, class_name_0);
+ }
+ if (ret_val == 0)
+ {
+ ret_val = perform_test_di (fft, class_name_0);
+ }
+
+ if (ret_val == 0)
+ {
+ printf ("\n");
+ }
+
+ return (ret_val);
+}
+
+
+
+template <class FO>
+int TestAccuracy <FO>::perform_test_d (FO &fft, const char *class_name_0)
+{
+ assert (&fft != 0);
+ assert (class_name_0 != 0);
+
+ using namespace std;
+
+ int ret_val = 0;
+ const long len = fft.get_length ();
+ const long nbr_tests = limit (
+ NBR_ACC_TESTS / len / len,
+ 1L,
+ static_cast <long> (MAX_NBR_TESTS)
+ );
+
+ printf ("Testing %s::do_fft () [%ld samples]... ", class_name_0, len);
+ fflush (stdout);
+ TestWhiteNoiseGen <DataType> noise;
+ std::vector <DataType> x (len);
+ std::vector <DataType> s1 (len);
+ std::vector <DataType> s2 (len);
+ BigFloat err_avg = 0;
+
+ for (long test = 0; test < nbr_tests && ret_val == 0; ++ test)
+ {
+ noise.generate (&x [0], len);
+ fft.do_fft (&s1 [0], &x [0]);
+ compute_tf (&s2 [0], &x [0], len);
+
+ BigFloat max_err;
+ compare_vect_display (&s1 [0], &s2 [0], len, max_err);
+ err_avg += max_err;
+ }
+ err_avg /= NBR_ACC_TESTS;
+
+ printf ("done.\n");
+ printf (
+ "Average maximum error: %.6f %% (%f dB)\n",
+ static_cast <double> (err_avg * 100),
+ static_cast <double> ((20 / TestAccuracy_LN10) * log (err_avg))
+ );
+
+ return (ret_val);
+}
+
+
+
+template <class FO>
+int TestAccuracy <FO>::perform_test_i (FO &fft, const char *class_name_0)
+{
+ assert (&fft != 0);
+ assert (class_name_0 != 0);
+
+ using namespace std;
+
+ int ret_val = 0;
+ const long len = fft.get_length ();
+ const long nbr_tests = limit (
+ NBR_ACC_TESTS / len / len,
+ 10L,
+ static_cast <long> (MAX_NBR_TESTS)
+ );
+
+ printf ("Testing %s::do_ifft () [%ld samples]... ", class_name_0, len);
+ fflush (stdout);
+ TestWhiteNoiseGen <DataType> noise;
+ std::vector <DataType> s (len);
+ std::vector <DataType> x1 (len);
+ std::vector <DataType> x2 (len);
+ BigFloat err_avg = 0;
+
+ for (long test = 0; test < nbr_tests && ret_val == 0; ++ test)
+ {
+ noise.generate (&s [0], len);
+ fft.do_ifft (&s [0], &x1 [0]);
+ compute_itf (&x2 [0], &s [0], len);
+
+ BigFloat max_err;
+ compare_vect_display (&x1 [0], &x2 [0], len, max_err);
+ err_avg += max_err;
+ }
+ err_avg /= NBR_ACC_TESTS;
+
+ printf ("done.\n");
+ printf (
+ "Average maximum error: %.6f %% (%f dB)\n",
+ static_cast <double> (err_avg * 100),
+ static_cast <double> ((20 / TestAccuracy_LN10) * log (err_avg))
+ );
+
+ return (ret_val);
+}
+
+
+
+template <class FO>
+int TestAccuracy <FO>::perform_test_di (FO &fft, const char *class_name_0)
+{
+ assert (&fft != 0);
+ assert (class_name_0 != 0);
+
+ using namespace std;
+
+ int ret_val = 0;
+ const long len = fft.get_length ();
+ const long nbr_tests = limit (
+ NBR_ACC_TESTS / len / len,
+ 1L,
+ static_cast <long> (MAX_NBR_TESTS)
+ );
+
+ printf (
+ "Testing %s::do_fft () / do_ifft () / rescale () [%ld samples]... ",
+ class_name_0,
+ len
+ );
+ fflush (stdout);
+ TestWhiteNoiseGen <DataType> noise;
+ std::vector <DataType> x (len);
+ std::vector <DataType> s (len);
+ std::vector <DataType> y (len);
+ BigFloat err_avg = 0;
+
+ for (long test = 0; test < nbr_tests && ret_val == 0; ++ test)
+ {
+ noise.generate (&x [0], len);
+ fft.do_fft (&s [0], &x [0]);
+ fft.do_ifft (&s [0], &y [0]);
+ fft.rescale (&y [0]);
+
+ BigFloat max_err;
+ compare_vect_display (&x [0], &y [0], len, max_err);
+ err_avg += max_err;
+ }
+ err_avg /= NBR_ACC_TESTS;
+
+ printf ("done.\n");
+ printf (
+ "Average maximum error: %.6f %% (%f dB)\n",
+ static_cast <double> (err_avg * 100),
+ static_cast <double> ((20 / TestAccuracy_LN10) * log (err_avg))
+ );
+
+ return (ret_val);
+}
+
+
+
+/*\\\ PROTECTED \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\*/
+
+
+
+/*\\\ PRIVATE \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\*/
+
+
+
+// Positive transform
+template <class FO>
+void TestAccuracy <FO>::compute_tf (DataType s [], const DataType x [], long length)
+{
+ assert (s != 0);
+ assert (x != 0);
+ assert (length >= 2);
+ assert ((length & 1) == 0);
+
+ const long nbr_bins = length >> 1;
+
+ // DC and Nyquist
+ BigFloat dc = 0;
+ BigFloat ny = 0;
+ for (long pos = 0; pos < length; pos += 2)
+ {
+ const BigFloat even = x [pos ];
+ const BigFloat odd = x [pos + 1];
+ dc += even + odd;
+ ny += even - odd;
+ }
+ s [0 ] = static_cast <DataType> (dc);
+ s [nbr_bins] = static_cast <DataType> (ny);
+
+ // Regular bins
+ for (long bin = 1; bin < nbr_bins; ++ bin)
+ {
+ BigFloat sum_r = 0;
+ BigFloat sum_i = 0;
+
+ const BigFloat m = bin * static_cast <BigFloat> (2 * PI) / length;
+
+ for (long pos = 0; pos < length; ++pos)
+ {
+ using namespace std;
+
+ const BigFloat phase = pos * m;
+ const BigFloat e_r = cos (phase);
+ const BigFloat e_i = sin (phase);
+
+ sum_r += x [pos] * e_r;
+ sum_i += x [pos] * e_i;
+ }
+
+ s [ bin] = static_cast <DataType> (sum_r);
+ s [nbr_bins + bin] = static_cast <DataType> (sum_i);
+ }
+}
+
+
+
+// Negative transform
+template <class FO>
+void TestAccuracy <FO>::compute_itf (DataType x [], const DataType s [], long length)
+{
+ assert (s != 0);
+ assert (x != 0);
+ assert (length >= 2);
+ assert ((length & 1) == 0);
+
+ const long nbr_bins = length >> 1;
+
+ // DC and Nyquist
+ BigFloat dc = s [0 ];
+ BigFloat ny = s [nbr_bins];
+
+ // Regular bins
+ for (long pos = 0; pos < length; ++pos)
+ {
+ BigFloat sum = dc + ny * (1 - 2 * (pos & 1));
+
+ const BigFloat m = pos * static_cast <BigFloat> (-2 * PI) / length;
+
+ for (long bin = 1; bin < nbr_bins; ++ bin)
+ {
+ using namespace std;
+
+ const BigFloat phase = bin * m;
+ const BigFloat e_r = cos (phase);
+ const BigFloat e_i = sin (phase);
+
+ sum += 2 * ( e_r * s [bin ]
+ - e_i * s [bin + nbr_bins]);
+ }
+
+ x [pos] = static_cast <DataType> (sum);
+ }
+}
+
+
+
+template <class FO>
+int TestAccuracy <FO>::compare_vect_display (const DataType x_ptr [], const DataType y_ptr [], long len, BigFloat &max_err_rel)
+{
+ assert (x_ptr != 0);
+ assert (y_ptr != 0);
+ assert (len > 0);
+ assert (&max_err_rel != 0);
+
+ using namespace std;
+
+ int ret_val = 0;
+
+ BigFloat power = compute_power (&x_ptr [0], &y_ptr [0], len);
+ BigFloat power_dif;
+ long max_err_pos;
+ compare_vect (&x_ptr [0], &y_ptr [0], power_dif, max_err_pos, len);
+
+ if (power == 0)
+ {
+ power = power_dif;
+ }
+ const BigFloat power_err_rel = power_dif / power;
+
+ BigFloat max_err = 0;
+ max_err_rel = 0;
+ if (max_err_pos >= 0)
+ {
+ max_err = y_ptr [max_err_pos] - x_ptr [max_err_pos];
+ max_err_rel = 2 * fabs (max_err) / ( fabs (y_ptr [max_err_pos])
+ + fabs (x_ptr [max_err_pos]));
+ }
+
+ if (power_err_rel > 0.001)
+ {
+ printf ("Power error : %f (%.6f %%)\n",
+ static_cast <double> (power_err_rel),
+ static_cast <double> (power_err_rel * 100)
+ );
+ if (max_err_pos >= 0)
+ {
+ printf (
+ "Maximum error: %f - %f = %f (%f)\n",
+ static_cast <double> (y_ptr [max_err_pos]),
+ static_cast <double> (x_ptr [max_err_pos]),
+ static_cast <double> (max_err),
+ static_cast <double> (max_err_pos)
+ );
+ }
+ }
+
+ return (ret_val);
+}
+
+
+
+template <class FO>
+typename TestAccuracy <FO>::BigFloat TestAccuracy <FO>::compute_power (const DataType x_ptr [], long len)
+{
+ assert (x_ptr != 0);
+ assert (len > 0);
+
+ BigFloat power = 0;
+ for (long pos = 0; pos < len; ++pos)
+ {
+ const BigFloat val = x_ptr [pos];
+
+ power += val * val;
+ }
+
+ using namespace std;
+
+ power = sqrt (power) / len;
+
+ return (power);
+}
+
+
+
+template <class FO>
+typename TestAccuracy <FO>::BigFloat TestAccuracy <FO>::compute_power (const DataType x_ptr [], const DataType y_ptr [], long len)
+{
+ assert (x_ptr != 0);
+ assert (y_ptr != 0);
+ assert (len > 0);
+
+ return ((compute_power (x_ptr, len) + compute_power (y_ptr, len)) * 0.5);
+}
+
+
+
+template <class FO>
+void TestAccuracy <FO>::compare_vect (const DataType x_ptr [], const DataType y_ptr [], BigFloat &power, long &max_err_pos, long len)
+{
+ assert (x_ptr != 0);
+ assert (y_ptr != 0);
+ assert (len > 0);
+ assert (&power != 0);
+ assert (&max_err_pos != 0);
+
+ power = 0;
+ BigFloat max_dif2 = 0;
+ max_err_pos = -1;
+
+ for (long pos = 0; pos < len; ++pos)
+ {
+ const BigFloat x = x_ptr [pos];
+ const BigFloat y = y_ptr [pos];
+ const BigFloat dif = y - x;
+ const BigFloat dif2 = dif * dif;
+
+ power += dif2;
+ if (dif2 > max_dif2)
+ {
+ max_err_pos = pos;
+ max_dif2 = dif2;
+ }
+ }
+
+ using namespace std;
+
+ power = sqrt (power) / len;
+}
+
+
+
+#endif // TestAccuracy_CODEHEADER_INCLUDED
+
+#undef TestAccuracy_CURRENT_CODEHEADER
+
+
+
+/*\\\ EOF \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\*/
diff --git a/demos/spectrum/3rdparty/fftreal/TestHelperFixLen.h b/demos/spectrum/3rdparty/fftreal/TestHelperFixLen.h
new file mode 100644
index 0000000000..ecff96d33b
--- /dev/null
+++ b/demos/spectrum/3rdparty/fftreal/TestHelperFixLen.h
@@ -0,0 +1,93 @@
+/*****************************************************************************
+
+ TestHelperFixLen.h
+ Copyright (c) 2005 Laurent de Soras
+
+--- Legal stuff ---
+
+This library is free software; you can redistribute it and/or
+modify it under the terms of the GNU Lesser General Public
+License as published by the Free Software Foundation; either
+version 2.1 of the License, or (at your option) any later version.
+
+This library is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+Lesser General Public License for more details.
+
+You should have received a copy of the GNU Lesser General Public
+License along with this library; if not, write to the Free Software
+Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+
+*Tab=3***********************************************************************/
+
+
+
+#if ! defined (TestHelperFixLen_HEADER_INCLUDED)
+#define TestHelperFixLen_HEADER_INCLUDED
+
+#if defined (_MSC_VER)
+ #pragma once
+ #pragma warning (4 : 4250) // "Inherits via dominance."
+#endif
+
+
+
+/*\\\ INCLUDE FILES \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\*/
+
+#include "FFTRealFixLen.h"
+
+
+
+template <int L>
+class TestHelperFixLen
+{
+
+/*\\\ PUBLIC \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\*/
+
+public:
+
+ typedef FFTRealFixLen <L> FftType;
+
+ static void perform_test_accuracy (int &ret_val);
+ static void perform_test_speed (int &ret_val);
+
+
+
+/*\\\ PROTECTED \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\*/
+
+protected:
+
+
+
+/*\\\ PRIVATE \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\*/
+
+private:
+
+
+
+/*\\\ FORBIDDEN MEMBER FUNCTIONS \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\*/
+
+private:
+
+ TestHelperFixLen ();
+ ~TestHelperFixLen ();
+ TestHelperFixLen (const TestHelperFixLen &other);
+ TestHelperFixLen &
+ operator = (const TestHelperFixLen &other);
+ bool operator == (const TestHelperFixLen &other);
+ bool operator != (const TestHelperFixLen &other);
+
+}; // class TestHelperFixLen
+
+
+
+#include "TestHelperFixLen.hpp"
+
+
+
+#endif // TestHelperFixLen_HEADER_INCLUDED
+
+
+
+/*\\\ EOF \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\*/
diff --git a/demos/spectrum/3rdparty/fftreal/TestHelperFixLen.hpp b/demos/spectrum/3rdparty/fftreal/TestHelperFixLen.hpp
new file mode 100644
index 0000000000..25048b9197
--- /dev/null
+++ b/demos/spectrum/3rdparty/fftreal/TestHelperFixLen.hpp
@@ -0,0 +1,93 @@
+/*****************************************************************************
+
+ TestHelperFixLen.hpp
+ Copyright (c) 2005 Laurent de Soras
+
+--- Legal stuff ---
+
+This library is free software; you can redistribute it and/or
+modify it under the terms of the GNU Lesser General Public
+License as published by the Free Software Foundation; either
+version 2.1 of the License, or (at your option) any later version.
+
+This library is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+Lesser General Public License for more details.
+
+You should have received a copy of the GNU Lesser General Public
+License along with this library; if not, write to the Free Software
+Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+
+*Tab=3***********************************************************************/
+
+
+
+#if defined (TestHelperFixLen_CURRENT_CODEHEADER)
+ #error Recursive inclusion of TestHelperFixLen code header.
+#endif
+#define TestHelperFixLen_CURRENT_CODEHEADER
+
+#if ! defined (TestHelperFixLen_CODEHEADER_INCLUDED)
+#define TestHelperFixLen_CODEHEADER_INCLUDED
+
+
+
+/*\\\ INCLUDE FILES \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\*/
+
+#include "test_settings.h"
+
+#include "TestAccuracy.h"
+#if defined (test_settings_SPEED_TEST_ENABLED)
+ #include "TestSpeed.h"
+#endif
+
+
+
+/*\\\ PUBLIC \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\*/
+
+
+
+template <int L>
+void TestHelperFixLen <L>::perform_test_accuracy (int &ret_val)
+{
+ if (ret_val == 0)
+ {
+ FftType fft;
+ ret_val = TestAccuracy <FftType>::perform_test_single_object (fft);
+ }
+}
+
+
+
+template <int L>
+void TestHelperFixLen <L>::perform_test_speed (int &ret_val)
+{
+#if defined (test_settings_SPEED_TEST_ENABLED)
+
+ if (ret_val == 0)
+ {
+ FftType fft;
+ ret_val = TestSpeed <FftType>::perform_test_single_object (fft);
+ }
+
+#endif
+}
+
+
+
+/*\\\ PROTECTED \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\*/
+
+
+
+/*\\\ PRIVATE \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\*/
+
+
+
+#endif // TestHelperFixLen_CODEHEADER_INCLUDED
+
+#undef TestHelperFixLen_CURRENT_CODEHEADER
+
+
+
+/*\\\ EOF \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\*/
diff --git a/demos/spectrum/3rdparty/fftreal/TestHelperNormal.h b/demos/spectrum/3rdparty/fftreal/TestHelperNormal.h
new file mode 100644
index 0000000000..a7bff5c2e0
--- /dev/null
+++ b/demos/spectrum/3rdparty/fftreal/TestHelperNormal.h
@@ -0,0 +1,94 @@
+/*****************************************************************************
+
+ TestHelperNormal.h
+ Copyright (c) 2005 Laurent de Soras
+
+--- Legal stuff ---
+
+This library is free software; you can redistribute it and/or
+modify it under the terms of the GNU Lesser General Public
+License as published by the Free Software Foundation; either
+version 2.1 of the License, or (at your option) any later version.
+
+This library is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+Lesser General Public License for more details.
+
+You should have received a copy of the GNU Lesser General Public
+License along with this library; if not, write to the Free Software
+Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+
+*Tab=3***********************************************************************/
+
+
+
+#if ! defined (TestHelperNormal_HEADER_INCLUDED)
+#define TestHelperNormal_HEADER_INCLUDED
+
+#if defined (_MSC_VER)
+ #pragma once
+ #pragma warning (4 : 4250) // "Inherits via dominance."
+#endif
+
+
+
+/*\\\ INCLUDE FILES \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\*/
+
+#include "FFTReal.h"
+
+
+
+template <class DT>
+class TestHelperNormal
+{
+
+/*\\\ PUBLIC \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\*/
+
+public:
+
+ typedef DT DataType;
+ typedef FFTReal <DataType> FftType;
+
+ static void perform_test_accuracy (int &ret_val);
+ static void perform_test_speed (int &ret_val);
+
+
+
+/*\\\ PROTECTED \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\*/
+
+protected:
+
+
+
+/*\\\ PRIVATE \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\*/
+
+private:
+
+
+
+/*\\\ FORBIDDEN MEMBER FUNCTIONS \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\*/
+
+private:
+
+ TestHelperNormal ();
+ ~TestHelperNormal ();
+ TestHelperNormal (const TestHelperNormal &other);
+ TestHelperNormal &
+ operator = (const TestHelperNormal &other);
+ bool operator == (const TestHelperNormal &other);
+ bool operator != (const TestHelperNormal &other);
+
+}; // class TestHelperNormal
+
+
+
+#include "TestHelperNormal.hpp"
+
+
+
+#endif // TestHelperNormal_HEADER_INCLUDED
+
+
+
+/*\\\ EOF \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\*/
diff --git a/demos/spectrum/3rdparty/fftreal/TestHelperNormal.hpp b/demos/spectrum/3rdparty/fftreal/TestHelperNormal.hpp
new file mode 100644
index 0000000000..e037696aec
--- /dev/null
+++ b/demos/spectrum/3rdparty/fftreal/TestHelperNormal.hpp
@@ -0,0 +1,99 @@
+/*****************************************************************************
+
+ TestHelperNormal.hpp
+ Copyright (c) 2005 Laurent de Soras
+
+--- Legal stuff ---
+
+This library is free software; you can redistribute it and/or
+modify it under the terms of the GNU Lesser General Public
+License as published by the Free Software Foundation; either
+version 2.1 of the License, or (at your option) any later version.
+
+This library is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+Lesser General Public License for more details.
+
+You should have received a copy of the GNU Lesser General Public
+License along with this library; if not, write to the Free Software
+Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+
+*Tab=3***********************************************************************/
+
+
+
+#if defined (TestHelperNormal_CURRENT_CODEHEADER)
+ #error Recursive inclusion of TestHelperNormal code header.
+#endif
+#define TestHelperNormal_CURRENT_CODEHEADER
+
+#if ! defined (TestHelperNormal_CODEHEADER_INCLUDED)
+#define TestHelperNormal_CODEHEADER_INCLUDED
+
+
+
+/*\\\ INCLUDE FILES \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\*/
+
+#include "test_settings.h"
+
+#include "TestAccuracy.h"
+#if defined (test_settings_SPEED_TEST_ENABLED)
+ #include "TestSpeed.h"
+#endif
+
+
+
+/*\\\ PUBLIC \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\*/
+
+
+
+template <class DT>
+void TestHelperNormal <DT>::perform_test_accuracy (int &ret_val)
+{
+ const int len_arr [] = { 1, 2, 3, 4, 7, 8, 10, 12 };
+ const int nbr_len = sizeof (len_arr) / sizeof (len_arr [0]);
+ for (int k = 0; k < nbr_len && ret_val == 0; ++k)
+ {
+ const long len = 1L << (len_arr [k]);
+ FftType fft (len);
+ ret_val = TestAccuracy <FftType>::perform_test_single_object (fft);
+ }
+}
+
+
+
+template <class DT>
+void TestHelperNormal <DT>::perform_test_speed (int &ret_val)
+{
+#if defined (test_settings_SPEED_TEST_ENABLED)
+
+ const int len_arr [] = { 1, 2, 3, 4, 7, 8, 10, 12, 14, 16, 18, 20, 22 };
+ const int nbr_len = sizeof (len_arr) / sizeof (len_arr [0]);
+ for (int k = 0; k < nbr_len && ret_val == 0; ++k)
+ {
+ const long len = 1L << (len_arr [k]);
+ FftType fft (len);
+ ret_val = TestSpeed <FftType>::perform_test_single_object (fft);
+ }
+
+#endif
+}
+
+
+
+/*\\\ PROTECTED \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\*/
+
+
+
+/*\\\ PRIVATE \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\*/
+
+
+
+#endif // TestHelperNormal_CODEHEADER_INCLUDED
+
+#undef TestHelperNormal_CURRENT_CODEHEADER
+
+
+
+/*\\\ EOF \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\*/
diff --git a/demos/spectrum/3rdparty/fftreal/TestSpeed.h b/demos/spectrum/3rdparty/fftreal/TestSpeed.h
new file mode 100644
index 0000000000..2295781826
--- /dev/null
+++ b/demos/spectrum/3rdparty/fftreal/TestSpeed.h
@@ -0,0 +1,95 @@
+/*****************************************************************************
+
+ TestSpeed.h
+ Copyright (c) 2005 Laurent de Soras
+
+--- Legal stuff ---
+
+This library is free software; you can redistribute it and/or
+modify it under the terms of the GNU Lesser General Public
+License as published by the Free Software Foundation; either
+version 2.1 of the License, or (at your option) any later version.
+
+This library is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+Lesser General Public License for more details.
+
+You should have received a copy of the GNU Lesser General Public
+License along with this library; if not, write to the Free Software
+Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+
+*Tab=3***********************************************************************/
+
+
+
+#if ! defined (TestSpeed_HEADER_INCLUDED)
+#define TestSpeed_HEADER_INCLUDED
+
+#if defined (_MSC_VER)
+ #pragma once
+ #pragma warning (4 : 4250) // "Inherits via dominance."
+#endif
+
+
+
+/*\\\ INCLUDE FILES \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\*/
+
+
+
+template <class FO>
+class TestSpeed
+{
+
+/*\\\ PUBLIC \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\*/
+
+public:
+
+ typedef typename FO::DataType DataType;
+
+ static int perform_test_single_object (FO &fft);
+ static int perform_test_d (FO &fft, const char *class_name_0);
+ static int perform_test_i (FO &fft, const char *class_name_0);
+ static int perform_test_di (FO &fft, const char *class_name_0);
+
+
+
+/*\\\ PROTECTED \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\*/
+
+protected:
+
+
+
+/*\\\ PRIVATE \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\*/
+
+private:
+
+ enum { NBR_SPD_TESTS = 10 * 1000 * 1000 };
+ enum { MAX_NBR_TESTS = 10000 };
+
+
+
+/*\\\ FORBIDDEN MEMBER FUNCTIONS \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\*/
+
+private:
+
+ TestSpeed ();
+ ~TestSpeed ();
+ TestSpeed (const TestSpeed &other);
+ TestSpeed & operator = (const TestSpeed &other);
+ bool operator == (const TestSpeed &other);
+ bool operator != (const TestSpeed &other);
+
+}; // class TestSpeed
+
+
+
+#include "TestSpeed.hpp"
+
+
+
+#endif // TestSpeed_HEADER_INCLUDED
+
+
+
+/*\\\ EOF \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\*/
diff --git a/demos/spectrum/3rdparty/fftreal/TestSpeed.hpp b/demos/spectrum/3rdparty/fftreal/TestSpeed.hpp
new file mode 100644
index 0000000000..e716b2a76e
--- /dev/null
+++ b/demos/spectrum/3rdparty/fftreal/TestSpeed.hpp
@@ -0,0 +1,223 @@
+/*****************************************************************************
+
+ TestSpeed.hpp
+ Copyright (c) 2005 Laurent de Soras
+
+--- Legal stuff ---
+
+This library is free software; you can redistribute it and/or
+modify it under the terms of the GNU Lesser General Public
+License as published by the Free Software Foundation; either
+version 2.1 of the License, or (at your option) any later version.
+
+This library is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+Lesser General Public License for more details.
+
+You should have received a copy of the GNU Lesser General Public
+License along with this library; if not, write to the Free Software
+Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+
+*Tab=3***********************************************************************/
+
+
+
+#if defined (TestSpeed_CURRENT_CODEHEADER)
+ #error Recursive inclusion of TestSpeed code header.
+#endif
+#define TestSpeed_CURRENT_CODEHEADER
+
+#if ! defined (TestSpeed_CODEHEADER_INCLUDED)
+#define TestSpeed_CODEHEADER_INCLUDED
+
+
+
+/*\\\ INCLUDE FILES \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\*/
+
+#include "test_fnc.h"
+#include "stopwatch/StopWatch.h"
+#include "TestWhiteNoiseGen.h"
+
+#include <typeinfo>
+
+#include <cstdio>
+
+
+
+/*\\\ PUBLIC \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\*/
+
+
+
+template <class FO>
+int TestSpeed <FO>::perform_test_single_object (FO &fft)
+{
+ assert (&fft != 0);
+
+ int ret_val = 0;
+
+ const std::type_info & ti = typeid (fft);
+ const char * class_name_0 = ti.name ();
+
+ if (ret_val == 0)
+ {
+ perform_test_d (fft, class_name_0);
+ }
+ if (ret_val == 0)
+ {
+ perform_test_i (fft, class_name_0);
+ }
+ if (ret_val == 0)
+ {
+ perform_test_di (fft, class_name_0);
+ }
+
+ if (ret_val == 0)
+ {
+ printf ("\n");
+ }
+
+ return (ret_val);
+}
+
+
+
+template <class FO>
+int TestSpeed <FO>::perform_test_d (FO &fft, const char *class_name_0)
+{
+ assert (&fft != 0);
+ assert (class_name_0 != 0);
+
+ const long len = fft.get_length ();
+ const long nbr_tests = limit (
+ static_cast <long> (NBR_SPD_TESTS / len / len),
+ 1L,
+ static_cast <long> (MAX_NBR_TESTS)
+ );
+
+ TestWhiteNoiseGen <DataType> noise;
+ std::vector <DataType> x (len, 0);
+ std::vector <DataType> s (len);
+ noise.generate (&x [0], len);
+
+ printf (
+ "%s::do_fft () speed test [%ld samples]... ",
+ class_name_0,
+ len
+ );
+ fflush (stdout);
+
+ stopwatch::StopWatch chrono;
+ chrono.start ();
+ for (long test = 0; test < nbr_tests; ++ test)
+ {
+ fft.do_fft (&s [0], &x [0]);
+ chrono.stop_lap ();
+ }
+
+ printf ("%.1f clocks/sample\n", chrono.get_time_best_lap (len));
+
+ return (0);
+}
+
+
+
+template <class FO>
+int TestSpeed <FO>::perform_test_i (FO &fft, const char *class_name_0)
+{
+ assert (&fft != 0);
+ assert (class_name_0 != 0);
+
+ const long len = fft.get_length ();
+ const long nbr_tests = limit (
+ static_cast <long> (NBR_SPD_TESTS / len / len),
+ 1L,
+ static_cast <long> (MAX_NBR_TESTS)
+ );
+
+ TestWhiteNoiseGen <DataType> noise;
+ std::vector <DataType> x (len);
+ std::vector <DataType> s (len, 0);
+ noise.generate (&s [0], len);
+
+ printf (
+ "%s::do_ifft () speed test [%ld samples]... ",
+ class_name_0,
+ len
+ );
+ fflush (stdout);
+
+ stopwatch::StopWatch chrono;
+ chrono.start ();
+ for (long test = 0; test < nbr_tests; ++ test)
+ {
+ fft.do_ifft (&s [0], &x [0]);
+ chrono.stop_lap ();
+ }
+
+ printf ("%.1f clocks/sample\n", chrono.get_time_best_lap (len));
+
+ return (0);
+}
+
+
+
+template <class FO>
+int TestSpeed <FO>::perform_test_di (FO &fft, const char *class_name_0)
+{
+ assert (&fft != 0);
+ assert (class_name_0 != 0);
+
+ const long len = fft.get_length ();
+ const long nbr_tests = limit (
+ static_cast <long> (NBR_SPD_TESTS / len / len),
+ 1L,
+ static_cast <long> (MAX_NBR_TESTS)
+ );
+
+ TestWhiteNoiseGen <DataType> noise;
+ std::vector <DataType> x (len, 0);
+ std::vector <DataType> s (len);
+ std::vector <DataType> y (len);
+ noise.generate (&x [0], len);
+
+ printf (
+ "%s::do_fft () / do_ifft () / rescale () speed test [%ld samples]... ",
+ class_name_0,
+ len
+ );
+ fflush (stdout);
+
+ stopwatch::StopWatch chrono;
+
+ chrono.start ();
+ for (long test = 0; test < nbr_tests; ++ test)
+ {
+ fft.do_fft (&s [0], &x [0]);
+ fft.do_ifft (&s [0], &y [0]);
+ fft.rescale (&y [0]);
+ chrono.stop_lap ();
+ }
+
+ printf ("%.1f clocks/sample\n", chrono.get_time_best_lap (len));
+
+ return (0);
+}
+
+
+
+/*\\\ PROTECTED \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\*/
+
+
+
+/*\\\ PRIVATE \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\*/
+
+
+
+#endif // TestSpeed_CODEHEADER_INCLUDED
+
+#undef TestSpeed_CURRENT_CODEHEADER
+
+
+
+/*\\\ EOF \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\*/
diff --git a/demos/spectrum/3rdparty/fftreal/TestWhiteNoiseGen.h b/demos/spectrum/3rdparty/fftreal/TestWhiteNoiseGen.h
new file mode 100644
index 0000000000..d815f8e315
--- /dev/null
+++ b/demos/spectrum/3rdparty/fftreal/TestWhiteNoiseGen.h
@@ -0,0 +1,95 @@
+/*****************************************************************************
+
+ TestWhiteNoiseGen.h
+ Copyright (c) 2005 Laurent de Soras
+
+--- Legal stuff ---
+
+This library is free software; you can redistribute it and/or
+modify it under the terms of the GNU Lesser General Public
+License as published by the Free Software Foundation; either
+version 2.1 of the License, or (at your option) any later version.
+
+This library is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+Lesser General Public License for more details.
+
+You should have received a copy of the GNU Lesser General Public
+License along with this library; if not, write to the Free Software
+Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+
+*Tab=3***********************************************************************/
+
+
+
+#if ! defined (TestWhiteNoiseGen_HEADER_INCLUDED)
+#define TestWhiteNoiseGen_HEADER_INCLUDED
+
+#if defined (_MSC_VER)
+ #pragma once
+ #pragma warning (4 : 4250) // "Inherits via dominance."
+#endif
+
+
+
+/*\\\ INCLUDE FILES \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\*/
+
+
+
+template <class DT>
+class TestWhiteNoiseGen
+{
+
+/*\\\ PUBLIC \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\*/
+
+public:
+
+ typedef DT DataType;
+
+ TestWhiteNoiseGen ();
+ virtual ~TestWhiteNoiseGen () {}
+
+ void generate (DataType data_ptr [], long len);
+
+
+
+/*\\\ PROTECTED \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\*/
+
+protected:
+
+
+
+/*\\\ PRIVATE \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\*/
+
+private:
+
+ typedef unsigned long StateType;
+
+ StateType _rand_state;
+
+
+
+/*\\\ FORBIDDEN MEMBER FUNCTIONS \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\*/
+
+private:
+
+ TestWhiteNoiseGen (const TestWhiteNoiseGen &other);
+ TestWhiteNoiseGen &
+ operator = (const TestWhiteNoiseGen &other);
+ bool operator == (const TestWhiteNoiseGen &other);
+ bool operator != (const TestWhiteNoiseGen &other);
+
+}; // class TestWhiteNoiseGen
+
+
+
+#include "TestWhiteNoiseGen.hpp"
+
+
+
+#endif // TestWhiteNoiseGen_HEADER_INCLUDED
+
+
+
+/*\\\ EOF \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\*/
diff --git a/demos/spectrum/3rdparty/fftreal/TestWhiteNoiseGen.hpp b/demos/spectrum/3rdparty/fftreal/TestWhiteNoiseGen.hpp
new file mode 100644
index 0000000000..13b7eb3e0d
--- /dev/null
+++ b/demos/spectrum/3rdparty/fftreal/TestWhiteNoiseGen.hpp
@@ -0,0 +1,91 @@
+/*****************************************************************************
+
+ TestWhiteNoiseGen.hpp
+ Copyright (c) 2005 Laurent de Soras
+
+--- Legal stuff ---
+
+This library is free software; you can redistribute it and/or
+modify it under the terms of the GNU Lesser General Public
+License as published by the Free Software Foundation; either
+version 2.1 of the License, or (at your option) any later version.
+
+This library is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+Lesser General Public License for more details.
+
+You should have received a copy of the GNU Lesser General Public
+License along with this library; if not, write to the Free Software
+Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+
+*Tab=3***********************************************************************/
+
+
+
+#if defined (TestWhiteNoiseGen_CURRENT_CODEHEADER)
+ #error Recursive inclusion of TestWhiteNoiseGen code header.
+#endif
+#define TestWhiteNoiseGen_CURRENT_CODEHEADER
+
+#if ! defined (TestWhiteNoiseGen_CODEHEADER_INCLUDED)
+#define TestWhiteNoiseGen_CODEHEADER_INCLUDED
+
+
+
+/*\\\ INCLUDE FILES \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\*/
+
+
+
+/*\\\ PUBLIC \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\*/
+
+
+
+template <class DT>
+TestWhiteNoiseGen <DT>::TestWhiteNoiseGen ()
+: _rand_state (0)
+{
+ _rand_state = reinterpret_cast <StateType> (this);
+}
+
+
+
+template <class DT>
+void TestWhiteNoiseGen <DT>::generate (DataType data_ptr [], long len)
+{
+ assert (data_ptr != 0);
+ assert (len > 0);
+
+ const DataType one = static_cast <DataType> (1);
+ const DataType mul = one / static_cast <DataType> (0x80000000UL);
+
+ long pos = 0;
+ do
+ {
+ const DataType x = static_cast <DataType> (_rand_state & 0xFFFFFFFFUL);
+ data_ptr [pos] = x * mul - one;
+
+ _rand_state = _rand_state * 1234567UL + 890123UL;
+
+ ++ pos;
+ }
+ while (pos < len);
+}
+
+
+
+/*\\\ PROTECTED \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\*/
+
+
+
+/*\\\ PRIVATE \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\*/
+
+
+
+#endif // TestWhiteNoiseGen_CODEHEADER_INCLUDED
+
+#undef TestWhiteNoiseGen_CURRENT_CODEHEADER
+
+
+
+/*\\\ EOF \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\*/
diff --git a/demos/spectrum/3rdparty/fftreal/bwins/fftrealu.def b/demos/spectrum/3rdparty/fftreal/bwins/fftrealu.def
new file mode 100644
index 0000000000..7a79397735
--- /dev/null
+++ b/demos/spectrum/3rdparty/fftreal/bwins/fftrealu.def
@@ -0,0 +1,5 @@
+EXPORTS
+ ??0FFTRealWrapper@@QAE@XZ @ 1 NONAME ; FFTRealWrapper::FFTRealWrapper(void)
+ ??1FFTRealWrapper@@QAE@XZ @ 2 NONAME ; FFTRealWrapper::~FFTRealWrapper(void)
+ ?calculateFFT@FFTRealWrapper@@QAEXQAMQBM@Z @ 3 NONAME ; void FFTRealWrapper::calculateFFT(float * const, float const * const)
+
diff --git a/demos/spectrum/3rdparty/fftreal/def.h b/demos/spectrum/3rdparty/fftreal/def.h
new file mode 100644
index 0000000000..99c545f531
--- /dev/null
+++ b/demos/spectrum/3rdparty/fftreal/def.h
@@ -0,0 +1,60 @@
+/*****************************************************************************
+
+ def.h
+ Copyright (c) 2005 Laurent de Soras
+
+--- Legal stuff ---
+
+This library is free software; you can redistribute it and/or
+modify it under the terms of the GNU Lesser General Public
+License as published by the Free Software Foundation; either
+version 2.1 of the License, or (at your option) any later version.
+
+This library is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+Lesser General Public License for more details.
+
+You should have received a copy of the GNU Lesser General Public
+License along with this library; if not, write to the Free Software
+Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+
+*Tab=3***********************************************************************/
+
+
+
+#if ! defined (def_HEADER_INCLUDED)
+#define def_HEADER_INCLUDED
+
+#if defined (_MSC_VER)
+ #pragma once
+ #pragma warning (4 : 4250) // "Inherits via dominance."
+#endif
+
+
+
+/*\\\ INCLUDE FILES \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\*/
+
+
+
+
+const double PI = 3.1415926535897932384626433832795;
+const double SQRT2 = 1.41421356237309514547462185873883;
+
+#if defined (_MSC_VER)
+
+ #define FORCEINLINE __forceinline
+
+#else
+
+ #define FORCEINLINE inline
+
+#endif
+
+
+
+#endif // def_HEADER_INCLUDED
+
+
+
+/*\\\ EOF \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\*/
diff --git a/demos/spectrum/3rdparty/fftreal/eabi/fftrealu.def b/demos/spectrum/3rdparty/fftreal/eabi/fftrealu.def
new file mode 100644
index 0000000000..f95a44140d
--- /dev/null
+++ b/demos/spectrum/3rdparty/fftreal/eabi/fftrealu.def
@@ -0,0 +1,7 @@
+EXPORTS
+ _ZN14FFTRealWrapper12calculateFFTEPfPKf @ 1 NONAME
+ _ZN14FFTRealWrapperC1Ev @ 2 NONAME
+ _ZN14FFTRealWrapperC2Ev @ 3 NONAME
+ _ZN14FFTRealWrapperD1Ev @ 4 NONAME
+ _ZN14FFTRealWrapperD2Ev @ 5 NONAME
+
diff --git a/demos/spectrum/3rdparty/fftreal/fftreal.pas b/demos/spectrum/3rdparty/fftreal/fftreal.pas
new file mode 100644
index 0000000000..ea6375450e
--- /dev/null
+++ b/demos/spectrum/3rdparty/fftreal/fftreal.pas
@@ -0,0 +1,661 @@
+(*****************************************************************************
+
+ DIGITAL SIGNAL PROCESSING TOOLS
+ Version 1.03, 2001/06/15
+ (c) 1999 - Laurent de Soras
+
+ FFTReal.h
+ Fourier transformation of real number arrays.
+ Portable ISO C++
+
+------------------------------------------------------------------------------
+
+ LEGAL
+
+ Source code may be freely used for any purpose, including commercial
+ applications. Programs must display in their "About" dialog-box (or
+ documentation) a text telling they use these routines by Laurent de Soras.
+ Modified source code can be distributed, but modifications must be clearly
+ indicated.
+
+ CONTACT
+
+ Laurent de Soras
+ 92 avenue Albert 1er
+ 92500 Rueil-Malmaison
+ France
+
+ ldesoras@club-internet.fr
+
+------------------------------------------------------------------------------
+
+ Translation to ObjectPascal by :
+ Frederic Vanmol
+ frederic@axiworld.be
+
+*****************************************************************************)
+
+
+unit
+ FFTReal;
+
+interface
+
+uses
+ Windows;
+
+(* Change this typedef to use a different floating point type in your FFTs
+ (i.e. float, double or long double). *)
+type
+ pflt_t = ^flt_t;
+ flt_t = single;
+
+ pflt_array = ^flt_array;
+ flt_array = array[0..0] of flt_t;
+
+ plongarray = ^longarray;
+ longarray = array[0..0] of longint;
+
+const
+ sizeof_flt : longint = SizeOf(flt_t);
+
+
+
+type
+ // Bit reversed look-up table nested class
+ TBitReversedLUT = class
+ private
+ _ptr : plongint;
+ public
+ constructor Create(const nbr_bits: integer);
+ destructor Destroy; override;
+ function get_ptr: plongint;
+ end;
+
+ // Trigonometric look-up table nested class
+ TTrigoLUT = class
+ private
+ _ptr : pflt_t;
+ public
+ constructor Create(const nbr_bits: integer);
+ destructor Destroy; override;
+ function get_ptr(const level: integer): pflt_t;
+ end;
+
+ TFFTReal = class
+ private
+ _bit_rev_lut : TBitReversedLUT;
+ _trigo_lut : TTrigoLUT;
+ _sqrt2_2 : flt_t;
+ _length : longint;
+ _nbr_bits : integer;
+ _buffer_ptr : pflt_t;
+ public
+ constructor Create(const length: longint);
+ destructor Destroy; override;
+
+ procedure do_fft(f: pflt_array; const x: pflt_array);
+ procedure do_ifft(const f: pflt_array; x: pflt_array);
+ procedure rescale(x: pflt_array);
+ end;
+
+
+
+
+
+
+
+implementation
+
+uses
+ Math;
+
+{ TBitReversedLUT }
+
+constructor TBitReversedLUT.Create(const nbr_bits: integer);
+var
+ length : longint;
+ cnt : longint;
+ br_index : longint;
+ bit : longint;
+begin
+ inherited Create;
+
+ length := 1 shl nbr_bits;
+ GetMem(_ptr, length*SizeOf(longint));
+
+ br_index := 0;
+ plongarray(_ptr)^[0] := 0;
+ for cnt := 1 to length-1 do
+ begin
+ // ++br_index (bit reversed)
+ bit := length shr 1;
+ br_index := br_index xor bit;
+ while br_index and bit = 0 do
+ begin
+ bit := bit shr 1;
+ br_index := br_index xor bit;
+ end;
+
+ plongarray(_ptr)^[cnt] := br_index;
+ end;
+end;
+
+destructor TBitReversedLUT.Destroy;
+begin
+ FreeMem(_ptr);
+ _ptr := nil;
+ inherited;
+end;
+
+function TBitReversedLUT.get_ptr: plongint;
+begin
+ Result := _ptr;
+end;
+
+{ TTrigLUT }
+
+constructor TTrigoLUT.Create(const nbr_bits: integer);
+var
+ total_len : longint;
+ PI : double;
+ level : integer;
+ level_len : longint;
+ level_ptr : pflt_array;
+ mul : double;
+ i : longint;
+begin
+ inherited Create;
+
+ _ptr := nil;
+
+ if (nbr_bits > 3) then
+ begin
+ total_len := (1 shl (nbr_bits - 1)) - 4;
+ GetMem(_ptr, total_len * sizeof_flt);
+
+ PI := ArcTan(1) * 4;
+ for level := 3 to nbr_bits-1 do
+ begin
+ level_len := 1 shl (level - 1);
+ level_ptr := pointer(get_ptr(level));
+ mul := PI / (level_len shl 1);
+
+ for i := 0 to level_len-1 do
+ level_ptr^[i] := cos(i * mul);
+ end;
+ end;
+end;
+
+destructor TTrigoLUT.Destroy;
+begin
+ FreeMem(_ptr);
+ _ptr := nil;
+ inherited;
+end;
+
+function TTrigoLUT.get_ptr(const level: integer): pflt_t;
+var
+ tempp : pflt_t;
+begin
+ tempp := _ptr;
+ inc(tempp, (1 shl (level-1)) - 4);
+ Result := tempp;
+end;
+
+{ TFFTReal }
+
+constructor TFFTReal.Create(const length: longint);
+begin
+ inherited Create;
+
+ _length := length;
+ _nbr_bits := Floor(Ln(length) / Ln(2) + 0.5);
+ _bit_rev_lut := TBitReversedLUT.Create(Floor(Ln(length) / Ln(2) + 0.5));
+ _trigo_lut := TTrigoLUT.Create(Floor(Ln(length) / Ln(2) + 0.05));
+ _sqrt2_2 := Sqrt(2) * 0.5;
+
+ _buffer_ptr := nil;
+ if _nbr_bits > 2 then
+ GetMem(_buffer_ptr, _length * sizeof_flt);
+end;
+
+destructor TFFTReal.Destroy;
+begin
+ if _buffer_ptr <> nil then
+ begin
+ FreeMem(_buffer_ptr);
+ _buffer_ptr := nil;
+ end;
+
+ _bit_rev_lut.Free;
+ _bit_rev_lut := nil;
+ _trigo_lut.Free;
+ _trigo_lut := nil;
+
+ inherited;
+end;
+
+(*==========================================================================*/
+/* Name: do_fft */
+/* Description: Compute the FFT of the array. */
+/* Input parameters: */
+/* - x: pointer on the source array (time). */
+/* Output parameters: */
+/* - f: pointer on the destination array (frequencies). */
+/* f [0...length(x)/2] = real values, */
+/* f [length(x)/2+1...length(x)-1] = imaginary values of */
+/* coefficents 1...length(x)/2-1. */
+/*==========================================================================*)
+procedure TFFTReal.do_fft(f: pflt_array; const x: pflt_array);
+var
+ sf, df : pflt_array;
+ pass : integer;
+ nbr_coef : longint;
+ h_nbr_coef : longint;
+ d_nbr_coef : longint;
+ coef_index : longint;
+ bit_rev_lut_ptr : plongarray;
+ rev_index_0 : longint;
+ rev_index_1 : longint;
+ rev_index_2 : longint;
+ rev_index_3 : longint;
+ df2 : pflt_array;
+ n1, n2, n3 : integer;
+ sf_0, sf_2 : flt_t;
+ sqrt2_2 : flt_t;
+ v : flt_t;
+ cos_ptr : pflt_array;
+ i : longint;
+ sf1r, sf2r : pflt_array;
+ dfr, dfi : pflt_array;
+ sf1i, sf2i : pflt_array;
+ c, s : flt_t;
+ temp_ptr : pflt_array;
+ b_0, b_2 : flt_t;
+begin
+ n1 := 1;
+ n2 := 2;
+ n3 := 3;
+
+ (*______________________________________________
+ *
+ * General case
+ *______________________________________________
+ *)
+
+ if _nbr_bits > 2 then
+ begin
+ if _nbr_bits and 1 <> 0 then
+ begin
+ df := pointer(_buffer_ptr);
+ sf := f;
+ end
+ else
+ begin
+ df := f;
+ sf := pointer(_buffer_ptr);
+ end;
+
+ //
+ // Do the transformation in several passes
+ //
+
+ // First and second pass at once
+ bit_rev_lut_ptr := pointer(_bit_rev_lut.get_ptr);
+ coef_index := 0;
+
+ repeat
+ rev_index_0 := bit_rev_lut_ptr^[coef_index];
+ rev_index_1 := bit_rev_lut_ptr^[coef_index + 1];
+ rev_index_2 := bit_rev_lut_ptr^[coef_index + 2];
+ rev_index_3 := bit_rev_lut_ptr^[coef_index + 3];
+
+ df2 := pointer(longint(df) + (coef_index*sizeof_flt));
+ df2^[n1] := x^[rev_index_0] - x^[rev_index_1];
+ df2^[n3] := x^[rev_index_2] - x^[rev_index_3];
+
+ sf_0 := x^[rev_index_0] + x^[rev_index_1];
+ sf_2 := x^[rev_index_2] + x^[rev_index_3];
+
+ df2^[0] := sf_0 + sf_2;
+ df2^[n2] := sf_0 - sf_2;
+
+ inc(coef_index, 4);
+ until (coef_index >= _length);
+
+
+ // Third pass
+ coef_index := 0;
+ sqrt2_2 := _sqrt2_2;
+
+ repeat
+ sf^[coef_index] := df^[coef_index] + df^[coef_index + 4];
+ sf^[coef_index + 4] := df^[coef_index] - df^[coef_index + 4];
+ sf^[coef_index + 2] := df^[coef_index + 2];
+ sf^[coef_index + 6] := df^[coef_index + 6];
+
+ v := (df [coef_index + 5] - df^[coef_index + 7]) * sqrt2_2;
+ sf^[coef_index + 1] := df^[coef_index + 1] + v;
+ sf^[coef_index + 3] := df^[coef_index + 1] - v;
+
+ v := (df^[coef_index + 5] + df^[coef_index + 7]) * sqrt2_2;
+ sf [coef_index + 5] := v + df^[coef_index + 3];
+ sf [coef_index + 7] := v - df^[coef_index + 3];
+
+ inc(coef_index, 8);
+ until (coef_index >= _length);
+
+
+ // Next pass
+ for pass := 3 to _nbr_bits-1 do
+ begin
+ coef_index := 0;
+ nbr_coef := 1 shl pass;
+ h_nbr_coef := nbr_coef shr 1;
+ d_nbr_coef := nbr_coef shl 1;
+
+ cos_ptr := pointer(_trigo_lut.get_ptr(pass));
+ repeat
+ sf1r := pointer(longint(sf) + (coef_index * sizeof_flt));
+ sf2r := pointer(longint(sf1r) + (nbr_coef * sizeof_flt));
+ dfr := pointer(longint(df) + (coef_index * sizeof_flt));
+ dfi := pointer(longint(dfr) + (nbr_coef * sizeof_flt));
+
+ // Extreme coefficients are always real
+ dfr^[0] := sf1r^[0] + sf2r^[0];
+ dfi^[0] := sf1r^[0] - sf2r^[0]; // dfr [nbr_coef] =
+ dfr^[h_nbr_coef] := sf1r^[h_nbr_coef];
+ dfi^[h_nbr_coef] := sf2r^[h_nbr_coef];
+
+ // Others are conjugate complex numbers
+ sf1i := pointer(longint(sf1r) + (h_nbr_coef * sizeof_flt));
+ sf2i := pointer(longint(sf1i) + (nbr_coef * sizeof_flt));
+
+ for i := 1 to h_nbr_coef-1 do
+ begin
+ c := cos_ptr^[i]; // cos (i*PI/nbr_coef);
+ s := cos_ptr^[h_nbr_coef - i]; // sin (i*PI/nbr_coef);
+
+ v := sf2r^[i] * c - sf2i^[i] * s;
+ dfr^[i] := sf1r^[i] + v;
+ dfi^[-i] := sf1r^[i] - v; // dfr [nbr_coef - i] =
+
+ v := sf2r^[i] * s + sf2i^[i] * c;
+ dfi^[i] := v + sf1i^[i];
+ dfi^[nbr_coef - i] := v - sf1i^[i];
+ end;
+
+ inc(coef_index, d_nbr_coef);
+ until (coef_index >= _length);
+
+ // Prepare to the next pass
+ temp_ptr := df;
+ df := sf;
+ sf := temp_ptr;
+ end;
+ end
+
+ (*______________________________________________
+ *
+ * Special cases
+ *______________________________________________
+ *)
+
+ // 4-point FFT
+ else if _nbr_bits = 2 then
+ begin
+ f^[n1] := x^[0] - x^[n2];
+ f^[n3] := x^[n1] - x^[n3];
+
+ b_0 := x^[0] + x^[n2];
+ b_2 := x^[n1] + x^[n3];
+
+ f^[0] := b_0 + b_2;
+ f^[n2] := b_0 - b_2;
+ end
+
+ // 2-point FFT
+ else if _nbr_bits = 1 then
+ begin
+ f^[0] := x^[0] + x^[n1];
+ f^[n1] := x^[0] - x^[n1];
+ end
+
+ // 1-point FFT
+ else
+ f^[0] := x^[0];
+end;
+
+
+(*==========================================================================*/
+/* Name: do_ifft */
+/* Description: Compute the inverse FFT of the array. Notice that */
+/* IFFT (FFT (x)) = x * length (x). Data must be */
+/* post-scaled. */
+/* Input parameters: */
+/* - f: pointer on the source array (frequencies). */
+/* f [0...length(x)/2] = real values, */
+/* f [length(x)/2+1...length(x)-1] = imaginary values of */
+/* coefficents 1...length(x)/2-1. */
+/* Output parameters: */
+/* - x: pointer on the destination array (time). */
+/*==========================================================================*)
+procedure TFFTReal.do_ifft(const f: pflt_array; x: pflt_array);
+var
+ n1, n2, n3 : integer;
+ n4, n5, n6, n7 : integer;
+ sf, df, df_temp : pflt_array;
+ pass : integer;
+ nbr_coef : longint;
+ h_nbr_coef : longint;
+ d_nbr_coef : longint;
+ coef_index : longint;
+ cos_ptr : pflt_array;
+ i : longint;
+ sfr, sfi : pflt_array;
+ df1r, df2r : pflt_array;
+ df1i, df2i : pflt_array;
+ c, s, vr, vi : flt_t;
+ temp_ptr : pflt_array;
+ sqrt2_2 : flt_t;
+ bit_rev_lut_ptr : plongarray;
+ sf2 : pflt_array;
+ b_0, b_1, b_2, b_3 : flt_t;
+begin
+ n1 := 1;
+ n2 := 2;
+ n3 := 3;
+ n4 := 4;
+ n5 := 5;
+ n6 := 6;
+ n7 := 7;
+
+ (*______________________________________________
+ *
+ * General case
+ *______________________________________________
+ *)
+
+ if _nbr_bits > 2 then
+ begin
+ sf := f;
+
+ if _nbr_bits and 1 <> 0 then
+ begin
+ df := pointer(_buffer_ptr);
+ df_temp := x;
+ end
+ else
+ begin
+ df := x;
+ df_temp := pointer(_buffer_ptr);
+ end;
+
+ // Do the transformation in several pass
+
+ // First pass
+ for pass := _nbr_bits-1 downto 3 do
+ begin
+ coef_index := 0;
+ nbr_coef := 1 shl pass;
+ h_nbr_coef := nbr_coef shr 1;
+ d_nbr_coef := nbr_coef shl 1;
+
+ cos_ptr := pointer(_trigo_lut.get_ptr(pass));
+
+ repeat
+ sfr := pointer(longint(sf) + (coef_index*sizeof_flt));
+ sfi := pointer(longint(sfr) + (nbr_coef*sizeof_flt));
+ df1r := pointer(longint(df) + (coef_index*sizeof_flt));
+ df2r := pointer(longint(df1r) + (nbr_coef*sizeof_flt));
+
+ // Extreme coefficients are always real
+ df1r^[0] := sfr^[0] + sfi^[0]; // + sfr [nbr_coef]
+ df2r^[0] := sfr^[0] - sfi^[0]; // - sfr [nbr_coef]
+ df1r^[h_nbr_coef] := sfr^[h_nbr_coef] * 2;
+ df2r^[h_nbr_coef] := sfi^[h_nbr_coef] * 2;
+
+ // Others are conjugate complex numbers
+ df1i := pointer(longint(df1r) + (h_nbr_coef*sizeof_flt));
+ df2i := pointer(longint(df1i) + (nbr_coef*sizeof_flt));
+
+ for i := 1 to h_nbr_coef-1 do
+ begin
+ df1r^[i] := sfr^[i] + sfi^[-i]; // + sfr [nbr_coef - i]
+ df1i^[i] := sfi^[i] - sfi^[nbr_coef - i];
+
+ c := cos_ptr^[i]; // cos (i*PI/nbr_coef);
+ s := cos_ptr^[h_nbr_coef - i]; // sin (i*PI/nbr_coef);
+ vr := sfr^[i] - sfi^[-i]; // - sfr [nbr_coef - i]
+ vi := sfi^[i] + sfi^[nbr_coef - i];
+
+ df2r^[i] := vr * c + vi * s;
+ df2i^[i] := vi * c - vr * s;
+ end;
+
+ inc(coef_index, d_nbr_coef);
+ until (coef_index >= _length);
+
+
+ // Prepare to the next pass
+ if (pass < _nbr_bits - 1) then
+ begin
+ temp_ptr := df;
+ df := sf;
+ sf := temp_ptr;
+ end
+ else
+ begin
+ sf := df;
+ df := df_temp;
+ end
+ end;
+
+ // Antepenultimate pass
+ sqrt2_2 := _sqrt2_2;
+ coef_index := 0;
+
+ repeat
+ df^[coef_index] := sf^[coef_index] + sf^[coef_index + 4];
+ df^[coef_index + 4] := sf^[coef_index] - sf^[coef_index + 4];
+ df^[coef_index + 2] := sf^[coef_index + 2] * 2;
+ df^[coef_index + 6] := sf^[coef_index + 6] * 2;
+
+ df^[coef_index + 1] := sf^[coef_index + 1] + sf^[coef_index + 3];
+ df^[coef_index + 3] := sf^[coef_index + 5] - sf^[coef_index + 7];
+
+ vr := sf^[coef_index + 1] - sf^[coef_index + 3];
+ vi := sf^[coef_index + 5] + sf^[coef_index + 7];
+
+ df^[coef_index + 5] := (vr + vi) * sqrt2_2;
+ df^[coef_index + 7] := (vi - vr) * sqrt2_2;
+
+ inc(coef_index, 8);
+ until (coef_index >= _length);
+
+
+ // Penultimate and last pass at once
+ coef_index := 0;
+ bit_rev_lut_ptr := pointer(_bit_rev_lut.get_ptr);
+ sf2 := df;
+
+ repeat
+ b_0 := sf2^[0] + sf2^[n2];
+ b_2 := sf2^[0] - sf2^[n2];
+ b_1 := sf2^[n1] * 2;
+ b_3 := sf2^[n3] * 2;
+
+ x^[bit_rev_lut_ptr^[0]] := b_0 + b_1;
+ x^[bit_rev_lut_ptr^[n1]] := b_0 - b_1;
+ x^[bit_rev_lut_ptr^[n2]] := b_2 + b_3;
+ x^[bit_rev_lut_ptr^[n3]] := b_2 - b_3;
+
+ b_0 := sf2^[n4] + sf2^[n6];
+ b_2 := sf2^[n4] - sf2^[n6];
+ b_1 := sf2^[n5] * 2;
+ b_3 := sf2^[n7] * 2;
+
+ x^[bit_rev_lut_ptr^[n4]] := b_0 + b_1;
+ x^[bit_rev_lut_ptr^[n5]] := b_0 - b_1;
+ x^[bit_rev_lut_ptr^[n6]] := b_2 + b_3;
+ x^[bit_rev_lut_ptr^[n7]] := b_2 - b_3;
+
+ inc(sf2, 8);
+ inc(coef_index, 8);
+ inc(bit_rev_lut_ptr, 8);
+ until (coef_index >= _length);
+ end
+
+ (*______________________________________________
+ *
+ * Special cases
+ *______________________________________________
+ *)
+
+ // 4-point IFFT
+ else if _nbr_bits = 2 then
+ begin
+ b_0 := f^[0] + f [n2];
+ b_2 := f^[0] - f [n2];
+
+ x^[0] := b_0 + f [n1] * 2;
+ x^[n2] := b_0 - f [n1] * 2;
+ x^[n1] := b_2 + f [n3] * 2;
+ x^[n3] := b_2 - f [n3] * 2;
+ end
+
+ // 2-point IFFT
+ else if _nbr_bits = 1 then
+ begin
+ x^[0] := f^[0] + f^[n1];
+ x^[n1] := f^[0] - f^[n1];
+ end
+
+ // 1-point IFFT
+ else
+ x^[0] := f^[0];
+end;
+
+(*==========================================================================*/
+/* Name: rescale */
+/* Description: Scale an array by divide each element by its length. */
+/* This function should be called after FFT + IFFT. */
+/* Input/Output parameters: */
+/* - x: pointer on array to rescale (time or frequency). */
+/*==========================================================================*)
+procedure TFFTReal.rescale(x: pflt_array);
+var
+ mul : flt_t;
+ i : longint;
+begin
+ mul := 1.0 / _length;
+ i := _length - 1;
+
+ repeat
+ x^[i] := x^[i] * mul;
+ dec(i);
+ until (i < 0);
+end;
+
+end.
diff --git a/demos/spectrum/3rdparty/fftreal/fftreal.pro b/demos/spectrum/3rdparty/fftreal/fftreal.pro
new file mode 100644
index 0000000000..8d9f46e9d8
--- /dev/null
+++ b/demos/spectrum/3rdparty/fftreal/fftreal.pro
@@ -0,0 +1,48 @@
+TEMPLATE = lib
+TARGET = fftreal
+
+# FFTReal
+HEADERS += Array.h \
+ Array.hpp \
+ DynArray.h \
+ DynArray.hpp \
+ FFTRealFixLen.h \
+ FFTRealFixLen.hpp \
+ FFTRealFixLenParam.h \
+ FFTRealPassDirect.h \
+ FFTRealPassDirect.hpp \
+ FFTRealPassInverse.h \
+ FFTRealPassInverse.hpp \
+ FFTRealSelect.h \
+ FFTRealSelect.hpp \
+ FFTRealUseTrigo.h \
+ FFTRealUseTrigo.hpp \
+ OscSinCos.h \
+ OscSinCos.hpp \
+ def.h
+
+# Wrapper used to export the required instantiation of the FFTRealFixLen template
+HEADERS += fftreal_wrapper.h
+SOURCES += fftreal_wrapper.cpp
+
+DEFINES += FFTREAL_LIBRARY
+
+symbian {
+ # Provide unique ID for the generated binary, required by Symbian OS
+ TARGET.UID3 = 0xA000E3FB
+ TARGET.CAPABILITY = UserEnvironment
+} else {
+ macx {
+ CONFIG += lib_bundle
+ } else {
+ DESTDIR = ../../bin
+ }
+}
+
+# Install
+
+sources.files = $$SOURCES $$HEADERS fftreal.pro readme.txt license.txt
+sources.files += bwins/fftreal.def eabi/fftreal.def
+sources.path = $$[QT_INSTALL_DEMOS]/spectrum/3rdparty/fftreal
+INSTALLS += sources
+
diff --git a/demos/spectrum/3rdparty/fftreal/fftreal_wrapper.cpp b/demos/spectrum/3rdparty/fftreal/fftreal_wrapper.cpp
new file mode 100644
index 0000000000..50ab36d352
--- /dev/null
+++ b/demos/spectrum/3rdparty/fftreal/fftreal_wrapper.cpp
@@ -0,0 +1,54 @@
+/***************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the examples of the Qt Toolkit.
+**
+** This program is free software: you can redistribute it and/or modify
+** it under the terms of the GNU Lesser General Public License as
+** published by the Free Software Foundation, either version 2.1. This
+** program is distributed in the hope that it will be useful, but WITHOUT
+** ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+** for more details. You should have received a copy of the GNU General
+** Public License along with this program. If not, see
+** <http://www.gnu.org/licenses/>.
+**
+***************************************************************************/
+
+#include "fftreal_wrapper.h"
+
+// FFTReal code generates quite a lot of 'unused parameter' compiler warnings,
+// which we suppress here in order to get a clean build output.
+#if defined Q_CC_MSVC
+# pragma warning(disable:4100)
+#elif defined Q_CC_GNU
+# pragma GCC diagnostic ignored "-Wunused-parameter"
+#elif defined Q_CC_MWERKS
+# pragma warning off (10182)
+#endif
+
+#include "FFTRealFixLen.h"
+
+class FFTRealWrapperPrivate {
+public:
+ FFTRealFixLen<FFTLengthPowerOfTwo> m_fft;
+};
+
+
+FFTRealWrapper::FFTRealWrapper()
+ : m_private(new FFTRealWrapperPrivate)
+{
+
+}
+
+FFTRealWrapper::~FFTRealWrapper()
+{
+ delete m_private;
+}
+
+void FFTRealWrapper::calculateFFT(DataType in[], const DataType out[])
+{
+ m_private->m_fft.do_fft(in, out);
+}
diff --git a/demos/spectrum/3rdparty/fftreal/fftreal_wrapper.h b/demos/spectrum/3rdparty/fftreal/fftreal_wrapper.h
new file mode 100644
index 0000000000..48d614eb06
--- /dev/null
+++ b/demos/spectrum/3rdparty/fftreal/fftreal_wrapper.h
@@ -0,0 +1,63 @@
+/***************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the examples of the Qt Toolkit.
+**
+** This program is free software: you can redistribute it and/or modify
+** it under the terms of the GNU Lesser General Public License as
+** published by the Free Software Foundation, either version 2.1. This
+** program is distributed in the hope that it will be useful, but WITHOUT
+** ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+** for more details. You should have received a copy of the GNU General
+** Public License along with this program. If not, see
+** <http://www.gnu.org/licenses/>.
+**
+***************************************************************************/
+
+#ifndef FFTREAL_WRAPPER_H
+#define FFTREAL_WRAPPER_H
+
+#include <QtCore/QtGlobal>
+
+#if defined(FFTREAL_LIBRARY)
+# define FFTREAL_EXPORT Q_DECL_EXPORT
+#else
+# define FFTREAL_EXPORT Q_DECL_IMPORT
+#endif
+
+class FFTRealWrapperPrivate;
+
+// Each pass of the FFT processes 2^X samples, where X is the
+// number below.
+static const int FFTLengthPowerOfTwo = 12;
+
+/**
+ * Wrapper around the FFTRealFixLen template provided by the FFTReal
+ * library
+ *
+ * This class instantiates a single instance of FFTRealFixLen, using
+ * FFTLengthPowerOfTwo as the template parameter. It then exposes
+ * FFTRealFixLen<FFTLengthPowerOfTwo>::do_fft via the calculateFFT
+ * function, thereby allowing an application to dynamically link
+ * against the FFTReal implementation.
+ *
+ * See http://ldesoras.free.fr/prod.html
+ */
+class FFTREAL_EXPORT FFTRealWrapper
+{
+public:
+ FFTRealWrapper();
+ ~FFTRealWrapper();
+
+ typedef float DataType;
+ void calculateFFT(DataType in[], const DataType out[]);
+
+private:
+ FFTRealWrapperPrivate* m_private;
+};
+
+#endif // FFTREAL_WRAPPER_H
+
diff --git a/demos/spectrum/3rdparty/fftreal/license.txt b/demos/spectrum/3rdparty/fftreal/license.txt
new file mode 100644
index 0000000000..918fe68ea3
--- /dev/null
+++ b/demos/spectrum/3rdparty/fftreal/license.txt
@@ -0,0 +1,459 @@
+ GNU LESSER GENERAL PUBLIC LICENSE
+ Version 2.1, February 1999
+
+ Copyright (C) 1991, 1999 Free Software Foundation, Inc.
+ 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+[This is the first released version of the Lesser GPL. It also counts
+ as the successor of the GNU Library Public License, version 2, hence
+ the version number 2.1.]
+
+ Preamble
+
+ The licenses for most software are designed to take away your
+freedom to share and change it. By contrast, the GNU General Public
+Licenses are intended to guarantee your freedom to share and change
+free software--to make sure the software is free for all its users.
+
+ This license, the Lesser General Public License, applies to some
+specially designated software packages--typically libraries--of the
+Free Software Foundation and other authors who decide to use it. You
+can use it too, but we suggest you first think carefully about whether
+this license or the ordinary General Public License is the better
+strategy to use in any particular case, based on the explanations below.
+
+ When we speak of free software, we are referring to freedom of use,
+not price. Our General Public Licenses are designed to make sure that
+you have the freedom to distribute copies of free software (and charge
+for this service if you wish); that you receive source code or can get
+it if you want it; that you can change the software and use pieces of
+it in new free programs; and that you are informed that you can do
+these things.
+
+ To protect your rights, we need to make restrictions that forbid
+distributors to deny you these rights or to ask you to surrender these
+rights. These restrictions translate to certain responsibilities for
+you if you distribute copies of the library or if you modify it.
+
+ For example, if you distribute copies of the library, whether gratis
+or for a fee, you must give the recipients all the rights that we gave
+you. You must make sure that they, too, receive or can get the source
+code. If you link other code with the library, you must provide
+complete object files to the recipients, so that they can relink them
+with the library after making changes to the library and recompiling
+it. And you must show them these terms so they know their rights.
+
+ We protect your rights with a two-step method: (1) we copyright the
+library, and (2) we offer you this license, which gives you legal
+permission to copy, distribute and/or modify the library.
+
+ To protect each distributor, we want to make it very clear that
+there is no warranty for the free library. Also, if the library is
+modified by someone else and passed on, the recipients should know
+that what they have is not the original version, so that the original
+author's reputation will not be affected by problems that might be
+introduced by others.
+
+ Finally, software patents pose a constant threat to the existence of
+any free program. We wish to make sure that a company cannot
+effectively restrict the users of a free program by obtaining a
+restrictive license from a patent holder. Therefore, we insist that
+any patent license obtained for a version of the library must be
+consistent with the full freedom of use specified in this license.
+
+ Most GNU software, including some libraries, is covered by the
+ordinary GNU General Public License. This license, the GNU Lesser
+General Public License, applies to certain designated libraries, and
+is quite different from the ordinary General Public License. We use
+this license for certain libraries in order to permit linking those
+libraries into non-free programs.
+
+ When a program is linked with a library, whether statically or using
+a shared library, the combination of the two is legally speaking a
+combined work, a derivative of the original library. The ordinary
+General Public License therefore permits such linking only if the
+entire combination fits its criteria of freedom. The Lesser General
+Public License permits more lax criteria for linking other code with
+the library.
+
+ We call this license the "Lesser" General Public License because it
+does Less to protect the user's freedom than the ordinary General
+Public License. It also provides other free software developers Less
+of an advantage over competing non-free programs. These disadvantages
+are the reason we use the ordinary General Public License for many
+libraries. However, the Lesser license provides advantages in certain
+special circumstances.
+
+ For example, on rare occasions, there may be a special need to
+encourage the widest possible use of a certain library, so that it becomes
+a de-facto standard. To achieve this, non-free programs must be
+allowed to use the library. A more frequent case is that a free
+library does the same job as widely used non-free libraries. In this
+case, there is little to gain by limiting the free library to free
+software only, so we use the Lesser General Public License.
+
+ In other cases, permission to use a particular library in non-free
+programs enables a greater number of people to use a large body of
+free software. For example, permission to use the GNU C Library in
+non-free programs enables many more people to use the whole GNU
+operating system, as well as its variant, the GNU/Linux operating
+system.
+
+ Although the Lesser General Public License is Less protective of the
+users' freedom, it does ensure that the user of a program that is
+linked with the Library has the freedom and the wherewithal to run
+that program using a modified version of the Library.
+
+ The precise terms and conditions for copying, distribution and
+modification follow. Pay close attention to the difference between a
+"work based on the library" and a "work that uses the library". The
+former contains code derived from the library, whereas the latter must
+be combined with the library in order to run.
+
+ GNU LESSER GENERAL PUBLIC LICENSE
+ TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
+
+ 0. This License Agreement applies to any software library or other
+program which contains a notice placed by the copyright holder or
+other authorized party saying it may be distributed under the terms of
+this Lesser General Public License (also called "this License").
+Each licensee is addressed as "you".
+
+ A "library" means a collection of software functions and/or data
+prepared so as to be conveniently linked with application programs
+(which use some of those functions and data) to form executables.
+
+ The "Library", below, refers to any such software library or work
+which has been distributed under these terms. A "work based on the
+Library" means either the Library or any derivative work under
+copyright law: that is to say, a work containing the Library or a
+portion of it, either verbatim or with modifications and/or translated
+straightforwardly into another language. (Hereinafter, translation is
+included without limitation in the term "modification".)
+
+ "Source code" for a work means the preferred form of the work for
+making modifications to it. For a library, complete source code means
+all the source code for all modules it contains, plus any associated
+interface definition files, plus the scripts used to control compilation
+and installation of the library.
+
+ Activities other than copying, distribution and modification are not
+covered by this License; they are outside its scope. The act of
+running a program using the Library is not restricted, and output from
+such a program is covered only if its contents constitute a work based
+on the Library (independent of the use of the Library in a tool for
+writing it). Whether that is true depends on what the Library does
+and what the program that uses the Library does.
+
+ 1. You may copy and distribute verbatim copies of the Library's
+complete source code as you receive it, in any medium, provided that
+you conspicuously and appropriately publish on each copy an
+appropriate copyright notice and disclaimer of warranty; keep intact
+all the notices that refer to this License and to the absence of any
+warranty; and distribute a copy of this License along with the
+Library.
+
+ You may charge a fee for the physical act of transferring a copy,
+and you may at your option offer warranty protection in exchange for a
+fee.
+
+ 2. You may modify your copy or copies of the Library or any portion
+of it, thus forming a work based on the Library, and copy and
+distribute such modifications or work under the terms of Section 1
+above, provided that you also meet all of these conditions:
+
+ a) The modified work must itself be a software library.
+
+ b) You must cause the files modified to carry prominent notices
+ stating that you changed the files and the date of any change.
+
+ c) You must cause the whole of the work to be licensed at no
+ charge to all third parties under the terms of this License.
+
+ d) If a facility in the modified Library refers to a function or a
+ table of data to be supplied by an application program that uses
+ the facility, other than as an argument passed when the facility
+ is invoked, then you must make a good faith effort to ensure that,
+ in the event an application does not supply such function or
+ table, the facility still operates, and performs whatever part of
+ its purpose remains meaningful.
+
+ (For example, a function in a library to compute square roots has
+ a purpose that is entirely well-defined independent of the
+ application. Therefore, Subsection 2d requires that any
+ application-supplied function or table used by this function must
+ be optional: if the application does not supply it, the square
+ root function must still compute square roots.)
+
+These requirements apply to the modified work as a whole. If
+identifiable sections of that work are not derived from the Library,
+and can be reasonably considered independent and separate works in
+themselves, then this License, and its terms, do not apply to those
+sections when you distribute them as separate works. But when you
+distribute the same sections as part of a whole which is a work based
+on the Library, the distribution of the whole must be on the terms of
+this License, whose permissions for other licensees extend to the
+entire whole, and thus to each and every part regardless of who wrote
+it.
+
+Thus, it is not the intent of this section to claim rights or contest
+your rights to work written entirely by you; rather, the intent is to
+exercise the right to control the distribution of derivative or
+collective works based on the Library.
+
+In addition, mere aggregation of another work not based on the Library
+with the Library (or with a work based on the Library) on a volume of
+a storage or distribution medium does not bring the other work under
+the scope of this License.
+
+ 3. You may opt to apply the terms of the ordinary GNU General Public
+License instead of this License to a given copy of the Library. To do
+this, you must alter all the notices that refer to this License, so
+that they refer to the ordinary GNU General Public License, version 2,
+instead of to this License. (If a newer version than version 2 of the
+ordinary GNU General Public License has appeared, then you can specify
+that version instead if you wish.) Do not make any other change in
+these notices.
+
+ Once this change is made in a given copy, it is irreversible for
+that copy, so the ordinary GNU General Public License applies to all
+subsequent copies and derivative works made from that copy.
+
+ This option is useful when you wish to copy part of the code of
+the Library into a program that is not a library.
+
+ 4. You may copy and distribute the Library (or a portion or
+derivative of it, under Section 2) in object code or executable form
+under the terms of Sections 1 and 2 above provided that you accompany
+it with the complete corresponding machine-readable source code, which
+must be distributed under the terms of Sections 1 and 2 above on a
+medium customarily used for software interchange.
+
+ If distribution of object code is made by offering access to copy
+from a designated place, then offering equivalent access to copy the
+source code from the same place satisfies the requirement to
+distribute the source code, even though third parties are not
+compelled to copy the source along with the object code.
+
+ 5. A program that contains no derivative of any portion of the
+Library, but is designed to work with the Library by being compiled or
+linked with it, is called a "work that uses the Library". Such a
+work, in isolation, is not a derivative work of the Library, and
+therefore falls outside the scope of this License.
+
+ However, linking a "work that uses the Library" with the Library
+creates an executable that is a derivative of the Library (because it
+contains portions of the Library), rather than a "work that uses the
+library". The executable is therefore covered by this License.
+Section 6 states terms for distribution of such executables.
+
+ When a "work that uses the Library" uses material from a header file
+that is part of the Library, the object code for the work may be a
+derivative work of the Library even though the source code is not.
+Whether this is true is especially significant if the work can be
+linked without the Library, or if the work is itself a library. The
+threshold for this to be true is not precisely defined by law.
+
+ If such an object file uses only numerical parameters, data
+structure layouts and accessors, and small macros and small inline
+functions (ten lines or less in length), then the use of the object
+file is unrestricted, regardless of whether it is legally a derivative
+work. (Executables containing this object code plus portions of the
+Library will still fall under Section 6.)
+
+ Otherwise, if the work is a derivative of the Library, you may
+distribute the object code for the work under the terms of Section 6.
+Any executables containing that work also fall under Section 6,
+whether or not they are linked directly with the Library itself.
+
+ 6. As an exception to the Sections above, you may also combine or
+link a "work that uses the Library" with the Library to produce a
+work containing portions of the Library, and distribute that work
+under terms of your choice, provided that the terms permit
+modification of the work for the customer's own use and reverse
+engineering for debugging such modifications.
+
+ You must give prominent notice with each copy of the work that the
+Library is used in it and that the Library and its use are covered by
+this License. You must supply a copy of this License. If the work
+during execution displays copyright notices, you must include the
+copyright notice for the Library among them, as well as a reference
+directing the user to the copy of this License. Also, you must do one
+of these things:
+
+ a) Accompany the work with the complete corresponding
+ machine-readable source code for the Library including whatever
+ changes were used in the work (which must be distributed under
+ Sections 1 and 2 above); and, if the work is an executable linked
+ with the Library, with the complete machine-readable "work that
+ uses the Library", as object code and/or source code, so that the
+ user can modify the Library and then relink to produce a modified
+ executable containing the modified Library. (It is understood
+ that the user who changes the contents of definitions files in the
+ Library will not necessarily be able to recompile the application
+ to use the modified definitions.)
+
+ b) Use a suitable shared library mechanism for linking with the
+ Library. A suitable mechanism is one that (1) uses at run time a
+ copy of the library already present on the user's computer system,
+ rather than copying library functions into the executable, and (2)
+ will operate properly with a modified version of the library, if
+ the user installs one, as long as the modified version is
+ interface-compatible with the version that the work was made with.
+
+ c) Accompany the work with a written offer, valid for at
+ least three years, to give the same user the materials
+ specified in Subsection 6a, above, for a charge no more
+ than the cost of performing this distribution.
+
+ d) If distribution of the work is made by offering access to copy
+ from a designated place, offer equivalent access to copy the above
+ specified materials from the same place.
+
+ e) Verify that the user has already received a copy of these
+ materials or that you have already sent this user a copy.
+
+ For an executable, the required form of the "work that uses the
+Library" must include any data and utility programs needed for
+reproducing the executable from it. However, as a special exception,
+the materials to be distributed need not include anything that is
+normally distributed (in either source or binary form) with the major
+components (compiler, kernel, and so on) of the operating system on
+which the executable runs, unless that component itself accompanies
+the executable.
+
+ It may happen that this requirement contradicts the license
+restrictions of other proprietary libraries that do not normally
+accompany the operating system. Such a contradiction means you cannot
+use both them and the Library together in an executable that you
+distribute.
+
+ 7. You may place library facilities that are a work based on the
+Library side-by-side in a single library together with other library
+facilities not covered by this License, and distribute such a combined
+library, provided that the separate distribution of the work based on
+the Library and of the other library facilities is otherwise
+permitted, and provided that you do these two things:
+
+ a) Accompany the combined library with a copy of the same work
+ based on the Library, uncombined with any other library
+ facilities. This must be distributed under the terms of the
+ Sections above.
+
+ b) Give prominent notice with the combined library of the fact
+ that part of it is a work based on the Library, and explaining
+ where to find the accompanying uncombined form of the same work.
+
+ 8. You may not copy, modify, sublicense, link with, or distribute
+the Library except as expressly provided under this License. Any
+attempt otherwise to copy, modify, sublicense, link with, or
+distribute the Library is void, and will automatically terminate your
+rights under this License. However, parties who have received copies,
+or rights, from you under this License will not have their licenses
+terminated so long as such parties remain in full compliance.
+
+ 9. You are not required to accept this License, since you have not
+signed it. However, nothing else grants you permission to modify or
+distribute the Library or its derivative works. These actions are
+prohibited by law if you do not accept this License. Therefore, by
+modifying or distributing the Library (or any work based on the
+Library), you indicate your acceptance of this License to do so, and
+all its terms and conditions for copying, distributing or modifying
+the Library or works based on it.
+
+ 10. Each time you redistribute the Library (or any work based on the
+Library), the recipient automatically receives a license from the
+original licensor to copy, distribute, link with or modify the Library
+subject to these terms and conditions. You may not impose any further
+restrictions on the recipients' exercise of the rights granted herein.
+You are not responsible for enforcing compliance by third parties with
+this License.
+
+ 11. If, as a consequence of a court judgment or allegation of patent
+infringement or for any other reason (not limited to patent issues),
+conditions are imposed on you (whether by court order, agreement or
+otherwise) that contradict the conditions of this License, they do not
+excuse you from the conditions of this License. If you cannot
+distribute so as to satisfy simultaneously your obligations under this
+License and any other pertinent obligations, then as a consequence you
+may not distribute the Library at all. For example, if a patent
+license would not permit royalty-free redistribution of the Library by
+all those who receive copies directly or indirectly through you, then
+the only way you could satisfy both it and this License would be to
+refrain entirely from distribution of the Library.
+
+If any portion of this section is held invalid or unenforceable under any
+particular circumstance, the balance of the section is intended to apply,
+and the section as a whole is intended to apply in other circumstances.
+
+It is not the purpose of this section to induce you to infringe any
+patents or other property right claims or to contest validity of any
+such claims; this section has the sole purpose of protecting the
+integrity of the free software distribution system which is
+implemented by public license practices. Many people have made
+generous contributions to the wide range of software distributed
+through that system in reliance on consistent application of that
+system; it is up to the author/donor to decide if he or she is willing
+to distribute software through any other system and a licensee cannot
+impose that choice.
+
+This section is intended to make thoroughly clear what is believed to
+be a consequence of the rest of this License.
+
+ 12. If the distribution and/or use of the Library is restricted in
+certain countries either by patents or by copyrighted interfaces, the
+original copyright holder who places the Library under this License may add
+an explicit geographical distribution limitation excluding those countries,
+so that distribution is permitted only in or among countries not thus
+excluded. In such case, this License incorporates the limitation as if
+written in the body of this License.
+
+ 13. The Free Software Foundation may publish revised and/or new
+versions of the Lesser General Public License from time to time.
+Such new versions will be similar in spirit to the present version,
+but may differ in detail to address new problems or concerns.
+
+Each version is given a distinguishing version number. If the Library
+specifies a version number of this License which applies to it and
+"any later version", you have the option of following the terms and
+conditions either of that version or of any later version published by
+the Free Software Foundation. If the Library does not specify a
+license version number, you may choose any version ever published by
+the Free Software Foundation.
+
+ 14. If you wish to incorporate parts of the Library into other free
+programs whose distribution conditions are incompatible with these,
+write to the author to ask for permission. For software which is
+copyrighted by the Free Software Foundation, write to the Free
+Software Foundation; we sometimes make exceptions for this. Our
+decision will be guided by the two goals of preserving the free status
+of all derivatives of our free software and of promoting the sharing
+and reuse of software generally.
+
+ NO WARRANTY
+
+ 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO
+WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW.
+EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR
+OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY
+KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE
+LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME
+THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
+
+ 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN
+WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY
+AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU
+FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR
+CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE
+LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING
+RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A
+FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF
+SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
+DAMAGES.
+
+ END OF TERMS AND CONDITIONS
+
diff --git a/demos/spectrum/3rdparty/fftreal/readme.txt b/demos/spectrum/3rdparty/fftreal/readme.txt
new file mode 100644
index 0000000000..0c5ce162fe
--- /dev/null
+++ b/demos/spectrum/3rdparty/fftreal/readme.txt
@@ -0,0 +1,242 @@
+==============================================================================
+
+ FFTReal
+ Version 2.00, 2005/10/18
+
+ Fourier transformation (FFT, IFFT) library specialised for real data
+ Portable ISO C++
+
+ (c) Laurent de Soras <laurent.de.soras@club-internet.fr>
+ Object Pascal port (c) Frederic Vanmol <frederic@fruityloops.com>
+
+==============================================================================
+
+
+
+1. Legal
+--------
+
+This library is free software; you can redistribute it and/or
+modify it under the terms of the GNU Lesser General Public
+License as published by the Free Software Foundation; either
+version 2.1 of the License, or (at your option) any later version.
+
+This library is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+Lesser General Public License for more details.
+
+You should have received a copy of the GNU Lesser General Public
+License along with this library; if not, write to the Free Software
+Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+
+Check the file license.txt to get full information about the license.
+
+
+
+2. Content
+----------
+
+FFTReal is a library to compute Discrete Fourier Transforms (DFT) with the
+FFT algorithm (Fast Fourier Transform) on arrays of real numbers. It can
+also compute the inverse transform.
+
+You should find in this package a lot of files ; some of them are of interest:
+- readme.txt: you are reading it
+- FFTReal.h: FFT, length fixed at run-time
+- FFTRealFixLen.h: FFT, length fixed at compile-time
+- FFTReal.pas: Pascal implementation (working but not up-to-date)
+- stopwatch directory
+
+
+
+3. Using FFTReal
+----------------
+
+Important - if you were using older versions of FFTReal (up to 1.03), some
+things have changed. FFTReal is now a template. Therefore use FFTReal<float>
+or FFTReal<double> in your code depending on the application datatype. The
+flt_t typedef has been removed.
+
+You have two ways to use FFTReal. In the first way, the FFT has its length
+fixed at run-time, when the object is instanciated. It means that you have
+not to know the length when you write the code. This is the usual way of
+proceeding.
+
+
+3.1 FFTReal - Length fixed at run-time
+--------------------------------------
+
+Just instanciate one time a FFTReal object. Specify the data type you want
+as template parameter (only floating point: float, double, long double or
+custom type). The constructor precompute a lot of things, so it may be a bit
+long. The parameter is the number of points used for the next FFTs. It must
+be a power of 2:
+
+ #include "FFTReal.h"
+ ...
+ long len = 1024;
+ ...
+ FFTReal <float> fft_object (len); // 1024-point FFT object constructed.
+
+Then you can use this object to compute as many FFTs and IFFTs as you want.
+They will be computed very quickly because a lot of work has been done in the
+object construction.
+
+ float x [1024];
+ float f [1024];
+
+ ...
+ fft_object.do_fft (f, x); // x (real) --FFT---> f (complex)
+ ...
+ fft_object.do_ifft (f, x); // f (complex) --IFFT--> x (real)
+ fft_object.rescale (x); // Post-scaling should be done after FFT+IFFT
+ ...
+
+x [] and f [] are floating point number arrays. x [] is the real number
+sequence which we want to compute the FFT. f [] is the result, in the
+"frequency" domain. f has the same number of elements as x [], but f []
+elements are complex numbers. The routine uses some FFT properties to
+optimize memory and to reduce calculations: the transformaton of a real
+number sequence is a conjugate complex number sequence: F [k] = F [-k]*.
+
+
+3.2 FFTRealFixLen - Length fixed at compile-time
+------------------------------------------------
+
+This class is significantly faster than the previous one, giving a speed
+gain between 50 and 100 %. The template parameter is the base-2 logarithm of
+the FFT length. The datatype is float; it can be changed by modifying the
+DataType typedef in FFTRealFixLenParam.h. As FFTReal class, it supports
+only floating-point types or equivalent.
+
+To instanciate the object, just proceed as below:
+
+ #include "FFTRealFixLen.h"
+ ...
+ FFTRealFixLen <10> fft_object; // 1024-point (2^10) FFT object constructed.
+
+Use is similar as the one of FFTReal.
+
+
+3.3 Data organisation
+---------------------
+
+Mathematically speaking, the formulas below show what does FFTReal:
+
+do_fft() : f(k) = sum (p = 0, N-1, x(p) * exp (+j*2*pi*k*p/N))
+do_ifft(): x(k) = sum (p = 0, N-1, f(p) * exp (-j*2*pi*k*p/N))
+
+Where j is the square root of -1. The formulas differ only by the sign of
+the exponential. When the sign is positive, the transform is called positive.
+Common formulas for Fourier transform are negative for the direct tranform and
+positive for the inverse one.
+
+However in these formulas, f is an array of complex numbers and doesn't
+correspound exactly to the f[] array taken as function parameter. The
+following table shows how the f[] sequence is mapped onto the usable FFT
+coefficients (called bins):
+
+ FFTReal output | Positive FFT equiv. | Negative FFT equiv.
+ ---------------+-----------------------+-----------------------
+ f [0] | Real (bin 0) | Real (bin 0)
+ f [...] | Real (bin ...) | Real (bin ...)
+ f [length/2] | Real (bin length/2) | Real (bin length/2)
+ f [length/2+1] | Imag (bin 1) | -Imag (bin 1)
+ f [...] | Imag (bin ...) | -Imag (bin ...)
+ f [length-1] | Imag (bin length/2-1) | -Imag (bin length/2-1)
+
+And FFT bins are distributed in f [] as above:
+
+ | | Positive FFT | Negative FFT
+ Bin | Real part | imaginary part | imaginary part
+ ------------+----------------+-----------------+---------------
+ 0 | f [0] | 0 | 0
+ 1 | f [1] | f [length/2+1] | -f [length/2+1]
+ ... | f [...], | f [...] | -f [...]
+ length/2-1 | f [length/2-1] | f [length-1] | -f [length-1]
+ length/2 | f [length/2] | 0 | 0
+ length/2+1 | f [length/2-1] | -f [length-1] | f [length-1]
+ ... | f [...] | -f [...] | f [...]
+ length-1 | f [1] | -f [length/2+1] | f [length/2+1]
+
+f [] coefficients have the same layout for FFT and IFFT functions. You may
+notice that scaling must be done if you want to retrieve x after FFT and IFFT.
+Actually, IFFT (FFT (x)) = x * length(x). This is a not a problem because
+most of the applications don't care about absolute values. Thus, the operation
+requires less calculation. If you want to use the FFT and IFFT to transform a
+signal, you have to apply post- (or pre-) processing yourself. Multiplying
+or dividing floating point numbers by a power of 2 doesn't generate extra
+computation noise.
+
+
+
+4. Compilation and testing
+--------------------------
+
+Drop the following files into your project or makefile:
+
+Array.*
+def.h
+DynArray.*
+FFTReal*.cpp
+FFTReal*.h*
+OscSinCos.*
+
+Other files are for testing purpose only, do not include them if you just need
+to use the library ; they are not needed to use FFTReal in your own programs.
+
+FFTReal may be compiled in two versions: release and debug. Debug version
+has checks that could slow down the code. Define NDEBUG to set the Release
+mode. For example, the command line to compile the test bench on GCC would
+look like:
+
+Debug mode:
+g++ -Wall -o fftreal_debug.exe *.cpp stopwatch/*.cpp
+
+Release mode:
+g++ -Wall -o fftreal_release.exe -DNDEBUG -O3 *.cpp stopwatch/*.cpp
+
+It may be tricky to compile the test bench because the speed tests use the
+stopwatch sub-library, which is not that cross-platform. If you encounter
+any problem that you cannot easily fix while compiling it, edit the file
+test_settings.h and un-define the speed test macro. Remove the stopwatch
+directory from your source file list, too.
+
+If it's not done by default, you should activate the exception handling
+of your compiler to get the class memory-leak-safe. Thus, when a memory
+allocation fails (in the constructor), an exception is thrown and the entire
+object is safely destructed. It reduces the permanent error checking overhead
+in the client code. Also, the test bench requires Run-Time Type Information
+(RTTI) to be enabled in order to display the names of the tested classes -
+sometimes mangled, depending on the compiler.
+
+The test bench may take a long time to compile, especially in Release mode,
+because a lot of recursive templates are instanciated.
+
+
+
+5. History
+----------
+
+v2.00 (2005.10.18)
+- Turned FFTReal class into template (data type as parameter)
+- Added FFTRealFixLen
+- Trigonometric tables are size-limited in order to preserve cache memory;
+over a given size, sin/cos functions are computed on the fly.
+- Better test bench for accuracy and speed
+
+v1.03 (2001.06.15)
+- Thanks to Frederic Vanmol for the Pascal port (works with Delphi).
+- Documentation improvement
+
+v1.02 (2001.03.25)
+- sqrt() is now precomputed when the object FFTReal is constructed, resulting
+in speed impovement for small size FFT.
+
+v1.01 (2000)
+- Small modifications, I don't remember what.
+
+v1.00 (1999.08.14)
+- First version released
+
diff --git a/demos/spectrum/3rdparty/fftreal/stopwatch/ClockCycleCounter.cpp b/demos/spectrum/3rdparty/fftreal/stopwatch/ClockCycleCounter.cpp
new file mode 100644
index 0000000000..fe1d4245f4
--- /dev/null
+++ b/demos/spectrum/3rdparty/fftreal/stopwatch/ClockCycleCounter.cpp
@@ -0,0 +1,285 @@
+/*****************************************************************************
+
+ ClockCycleCounter.cpp
+ Copyright (c) 2003 Laurent de Soras
+
+--- Legal stuff ---
+
+This library is free software; you can redistribute it and/or
+modify it under the terms of the GNU Lesser General Public
+License as published by the Free Software Foundation; either
+version 2.1 of the License, or (at your option) any later version.
+
+This library is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+Lesser General Public License for more details.
+
+You should have received a copy of the GNU Lesser General Public
+License along with this library; if not, write to the Free Software
+Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+
+*Tab=3***********************************************************************/
+
+
+
+#if defined (_MSC_VER)
+ #pragma warning (1 : 4130) // "'operator' : logical operation on address of string constant"
+ #pragma warning (1 : 4223) // "nonstandard extension used : non-lvalue array converted to pointer"
+ #pragma warning (1 : 4705) // "statement has no effect"
+ #pragma warning (1 : 4706) // "assignment within conditional expression"
+ #pragma warning (4 : 4786) // "identifier was truncated to '255' characters in the debug information"
+ #pragma warning (4 : 4800) // "forcing value to bool 'true' or 'false' (performance warning)"
+ #pragma warning (4 : 4355) // "'this' : used in base member initializer list"
+#endif
+
+
+
+/*\\\ INCLUDE FILES \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\*/
+
+#include "ClockCycleCounter.h"
+
+#include <cassert>
+
+
+
+namespace stopwatch
+{
+
+
+
+/*\\\ PUBLIC \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\*/
+
+
+
+/*
+==============================================================================
+Name: ctor
+Description:
+ The first object constructed initialise global data. This first
+ construction may be a bit slow.
+Throws: Nothing
+==============================================================================
+*/
+
+ClockCycleCounter::ClockCycleCounter ()
+: _start_time (0)
+, _state (0)
+, _best_score (-1)
+{
+ if (! _init_flag)
+ {
+ // Should be executed in this order
+ compute_clk_mul ();
+ compute_measure_time_total ();
+ compute_measure_time_lap ();
+
+ // Restores object state
+ _start_time = 0;
+ _state = 0;
+ _best_score = -1;
+
+ _init_flag = true;
+ }
+}
+
+
+
+/*
+==============================================================================
+Name: get_time_total
+Description:
+ Gives the time elapsed between the latest stop_lap() and start() calls.
+Returns:
+ The duration, in clock cycles.
+Throws: Nothing
+==============================================================================
+*/
+
+Int64 ClockCycleCounter::get_time_total () const
+{
+ const Int64 duration = _state - _start_time;
+ assert (duration >= 0);
+
+ const Int64 t = max (
+ duration - _measure_time_total,
+ static_cast <Int64> (0)
+ );
+
+ return (t * _clk_mul);
+}
+
+
+
+/*
+==============================================================================
+Name: get_time_best_lap
+Description:
+ Gives the smallest time between two consecutive stop_lap() or between
+ the stop_lap() and start(). The value is reset by a call to start().
+ Call this function only after a stop_lap().
+ The time is amputed from the duration of the stop_lap() call itself.
+Returns:
+ The smallest duration, in clock cycles.
+Throws: Nothing
+==============================================================================
+*/
+
+Int64 ClockCycleCounter::get_time_best_lap () const
+{
+ assert (_best_score >= 0);
+
+ const Int64 t1 = max (
+ _best_score - _measure_time_lap,
+ static_cast <Int64> (0)
+ );
+ const Int64 t = min (t1, get_time_total ());
+
+ return (t * _clk_mul);
+}
+
+
+
+/*\\\ PROTECTED \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\*/
+
+
+
+/*\\\ PRIVATE \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\*/
+
+
+
+#if defined (__MACOS__)
+
+static inline double stopwatch_ClockCycleCounter_get_time_s ()
+{
+ const Nanoseconds ns = AbsoluteToNanoseconds (UpTime ());
+
+ return (ns.hi * 4294967296e-9 + ns.lo * 1e-9);
+}
+
+#endif // __MACOS__
+
+
+
+/*
+==============================================================================
+Name: compute_clk_mul
+Description:
+ This function, only for PowerPC/MacOS computers, computes the multiplier
+ required to deduce clock cycles from the internal counter.
+Throws: Nothing
+==============================================================================
+*/
+
+void ClockCycleCounter::compute_clk_mul ()
+{
+ assert (! _init_flag);
+
+#if defined (__MACOS__)
+
+ long clk_speed_mhz = CurrentProcessorSpeed ();
+ const Int64 clk_speed =
+ static_cast <Int64> (clk_speed_mhz) * (1000L*1000L);
+
+ const double start_time_s = stopwatch_ClockCycleCounter_get_time_s ();
+ start ();
+
+ const double duration = 0.01; // Seconds
+ while (stopwatch_ClockCycleCounter_get_time_s () - start_time_s < duration)
+ {
+ continue;
+ }
+
+ const double stop_time_s = stopwatch_ClockCycleCounter_get_time_s ();
+ stop ();
+
+ const double diff_time_s = stop_time_s - start_time_s;
+ const double nbr_cycles = diff_time_s * static_cast <double> (clk_speed);
+
+ const Int64 diff_time_c = _state - _start_time;
+ const double clk_mul = nbr_cycles / static_cast <double> (diff_time_c);
+
+ _clk_mul = round_int (clk_mul);
+
+#endif // __MACOS__
+}
+
+
+
+void ClockCycleCounter::compute_measure_time_total ()
+{
+ start ();
+ spend_time ();
+
+ Int64 best_result = 0x7FFFFFFFL; // Should be enough
+ long nbr_tests = 100;
+ for (long cnt = 0; cnt < nbr_tests; ++cnt)
+ {
+ start ();
+ stop_lap ();
+ const Int64 duration = _state - _start_time;
+ best_result = min (best_result, duration);
+ }
+
+ _measure_time_total = best_result;
+}
+
+
+
+/*
+==============================================================================
+Name: compute_measure_time_lap
+Description:
+ Computes the duration of one stop_lap() call and store it. It will be used
+ later to get the real duration of the measured operation (by substracting
+ the measurement duration).
+Throws: Nothing
+==============================================================================
+*/
+
+void ClockCycleCounter::compute_measure_time_lap ()
+{
+ start ();
+ spend_time ();
+
+ long nbr_tests = 10;
+ for (long cnt = 0; cnt < nbr_tests; ++cnt)
+ {
+ stop_lap ();
+ stop_lap ();
+ stop_lap ();
+ stop_lap ();
+ }
+
+ _measure_time_lap = _best_score;
+}
+
+
+
+void ClockCycleCounter::spend_time ()
+{
+ const Int64 nbr_clocks = 500; // Number of clock cycles to spend
+
+ const Int64 start = read_clock_counter ();
+ Int64 current;
+
+ do
+ {
+ current = read_clock_counter ();
+ }
+ while ((current - start) * _clk_mul < nbr_clocks);
+}
+
+
+
+Int64 ClockCycleCounter::_measure_time_total = 0;
+Int64 ClockCycleCounter::_measure_time_lap = 0;
+int ClockCycleCounter::_clk_mul = 1;
+bool ClockCycleCounter::_init_flag = false;
+
+
+} // namespace stopwatch
+
+
+
+/*\\\ EOF \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\*/
diff --git a/demos/spectrum/3rdparty/fftreal/stopwatch/ClockCycleCounter.h b/demos/spectrum/3rdparty/fftreal/stopwatch/ClockCycleCounter.h
new file mode 100644
index 0000000000..ba7a99a46b
--- /dev/null
+++ b/demos/spectrum/3rdparty/fftreal/stopwatch/ClockCycleCounter.h
@@ -0,0 +1,124 @@
+/*****************************************************************************
+
+ ClockCycleCounter.h
+ Copyright (c) 2003 Laurent de Soras
+
+Instrumentation class, for accurate time interval measurement. You may have
+to modify the implementation to adapt it to your system and/or compiler.
+
+--- Legal stuff ---
+
+This library is free software; you can redistribute it and/or
+modify it under the terms of the GNU Lesser General Public
+License as published by the Free Software Foundation; either
+version 2.1 of the License, or (at your option) any later version.
+
+This library is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+Lesser General Public License for more details.
+
+You should have received a copy of the GNU Lesser General Public
+License along with this library; if not, write to the Free Software
+Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+
+*Tab=3***********************************************************************/
+
+
+
+#if ! defined (stopwatch_ClockCycleCounter_HEADER_INCLUDED)
+#define stopwatch_ClockCycleCounter_HEADER_INCLUDED
+
+#if defined (_MSC_VER)
+ #pragma once
+ #pragma warning (4 : 4250) // "Inherits via dominance."
+#endif
+
+
+
+/*\\\ INCLUDE FILES \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\*/
+
+#include "def.h"
+#include "Int64.h"
+
+
+
+namespace stopwatch
+{
+
+
+
+class ClockCycleCounter
+{
+
+/*\\\ PUBLIC \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\*/
+
+public:
+
+ ClockCycleCounter ();
+
+ stopwatch_FORCEINLINE void
+ start ();
+ stopwatch_FORCEINLINE void
+ stop_lap ();
+ Int64 get_time_total () const;
+ Int64 get_time_best_lap () const;
+
+
+
+/*\\\ PROTECTED \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\*/
+
+protected:
+
+
+
+/*\\\ PRIVATE \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\*/
+
+private:
+
+ void compute_clk_mul ();
+ void compute_measure_time_total ();
+ void compute_measure_time_lap ();
+
+ static void spend_time ();
+ static stopwatch_FORCEINLINE Int64
+ read_clock_counter ();
+
+ Int64 _start_time;
+ Int64 _state;
+ Int64 _best_score;
+
+ static Int64 _measure_time_total;
+ static Int64 _measure_time_lap;
+ static int _clk_mul;
+ static bool _init_flag;
+
+
+
+/*\\\ FORBIDDEN MEMBER FUNCTIONS \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\*/
+
+private:
+
+ ClockCycleCounter (const ClockCycleCounter &other);
+ ClockCycleCounter &
+ operator = (const ClockCycleCounter &other);
+ bool operator == (const ClockCycleCounter &other);
+ bool operator != (const ClockCycleCounter &other);
+
+}; // class ClockCycleCounter
+
+
+
+} // namespace stopwatch
+
+
+
+#include "ClockCycleCounter.hpp"
+
+
+
+#endif // stopwatch_ClockCycleCounter_HEADER_INCLUDED
+
+
+
+/*\\\ EOF \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\*/
diff --git a/demos/spectrum/3rdparty/fftreal/stopwatch/ClockCycleCounter.hpp b/demos/spectrum/3rdparty/fftreal/stopwatch/ClockCycleCounter.hpp
new file mode 100644
index 0000000000..fbd511e259
--- /dev/null
+++ b/demos/spectrum/3rdparty/fftreal/stopwatch/ClockCycleCounter.hpp
@@ -0,0 +1,150 @@
+/*****************************************************************************
+
+ ClockCycleCounter.hpp
+ Copyright (c) 2003 Laurent de Soras
+
+Please complete the definitions according to your compiler/architecture.
+It's not a big deal if it's not possible to get the clock count...
+
+--- Legal stuff ---
+
+This library is free software; you can redistribute it and/or
+modify it under the terms of the GNU Lesser General Public
+License as published by the Free Software Foundation; either
+version 2.1 of the License, or (at your option) any later version.
+
+This library is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+Lesser General Public License for more details.
+
+You should have received a copy of the GNU Lesser General Public
+License along with this library; if not, write to the Free Software
+Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+
+*Tab=3***********************************************************************/
+
+
+
+#if defined (stopwatch_ClockCycleCounter_CURRENT_CODEHEADER)
+ #error Recursive inclusion of ClockCycleCounter code header.
+#endif
+#define stopwatch_ClockCycleCounter_CURRENT_CODEHEADER
+
+#if ! defined (stopwatch_ClockCycleCounter_CODEHEADER_INCLUDED)
+#define stopwatch_ClockCycleCounter_CODEHEADER_INCLUDED
+
+
+
+/*\\\ INCLUDE FILES \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\*/
+
+#include "fnc.h"
+
+#include <climits>
+
+
+
+namespace stopwatch
+{
+
+
+
+/*\\\ PUBLIC \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\*/
+
+
+
+/*
+==============================================================================
+Name: start
+Description:
+ Starts the counter.
+Throws: Nothing
+==============================================================================
+*/
+
+void ClockCycleCounter::start ()
+{
+ _best_score = (static_cast <Int64> (1) << (sizeof (Int64) * CHAR_BIT - 2));
+ const Int64 start_clock = read_clock_counter ();
+ _start_time = start_clock;
+ _state = start_clock - _best_score;
+}
+
+
+
+/*
+==============================================================================
+Name: stop_lap
+Description:
+ Captures the current time and updates the smallest duration between two
+ consecutive calls to stop_lap() or the latest start().
+ start() must have been called at least once before calling this function.
+Throws: Nothing
+==============================================================================
+*/
+
+void ClockCycleCounter::stop_lap ()
+{
+ const Int64 end_clock = read_clock_counter ();
+ _best_score = min (end_clock - _state, _best_score);
+ _state = end_clock;
+}
+
+
+
+/*\\\ PROTECTED \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\*/
+
+
+
+/*\\\ PRIVATE \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\*/
+
+
+
+Int64 ClockCycleCounter::read_clock_counter ()
+{
+ register Int64 clock_cnt;
+
+#if defined (_MSC_VER)
+
+ __asm
+ {
+ lea edi, clock_cnt
+ rdtsc
+ mov [edi ], eax
+ mov [edi + 4], edx
+ }
+
+#elif defined (__GNUC__) && defined (__i386__)
+
+ __asm__ __volatile__ ("rdtsc" : "=A" (clock_cnt));
+
+#elif (__MWERKS__) && defined (__POWERPC__)
+
+ asm
+ {
+ loop:
+ mftbu clock_cnt@hiword
+ mftb clock_cnt@loword
+ mftbu r5
+ cmpw clock_cnt@hiword,r5
+ bne loop
+ }
+
+#endif
+
+ return (clock_cnt);
+}
+
+
+
+} // namespace stopwatch
+
+
+
+#endif // stopwatch_ClockCycleCounter_CODEHEADER_INCLUDED
+
+#undef stopwatch_ClockCycleCounter_CURRENT_CODEHEADER
+
+
+
+/*\\\ EOF \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\*/
diff --git a/demos/spectrum/3rdparty/fftreal/stopwatch/Int64.h b/demos/spectrum/3rdparty/fftreal/stopwatch/Int64.h
new file mode 100644
index 0000000000..1e786e255e
--- /dev/null
+++ b/demos/spectrum/3rdparty/fftreal/stopwatch/Int64.h
@@ -0,0 +1,71 @@
+/*****************************************************************************
+
+ Int64.h
+ Copyright (c) 2003 Laurent de Soras
+
+--- Legal stuff ---
+
+This library is free software; you can redistribute it and/or
+modify it under the terms of the GNU Lesser General Public
+License as published by the Free Software Foundation; either
+version 2.1 of the License, or (at your option) any later version.
+
+This library is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+Lesser General Public License for more details.
+
+You should have received a copy of the GNU Lesser General Public
+License along with this library; if not, write to the Free Software
+Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+
+*Tab=3***********************************************************************/
+
+
+
+#if ! defined (stopwatch_Int64_HEADER_INCLUDED)
+#define stopwatch_Int64_HEADER_INCLUDED
+
+#if defined (_MSC_VER)
+ #pragma once
+ #pragma warning (4 : 4250) // "Inherits via dominance."
+#endif
+
+
+
+/*\\\ INCLUDE FILES \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\*/
+
+
+
+namespace stopwatch
+{
+
+
+#if defined (_MSC_VER)
+
+ typedef __int64 Int64;
+
+#elif defined (__MWERKS__) || defined (__GNUC__)
+
+ typedef long long Int64;
+
+#elif defined (__BEOS__)
+
+ typedef int64 Int64;
+
+#else
+
+ #error No 64-bit integer type defined for this compiler !
+
+#endif
+
+
+} // namespace stopwatch
+
+
+
+#endif // stopwatch_Int64_HEADER_INCLUDED
+
+
+
+/*\\\ EOF \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\*/
diff --git a/demos/spectrum/3rdparty/fftreal/stopwatch/StopWatch.cpp b/demos/spectrum/3rdparty/fftreal/stopwatch/StopWatch.cpp
new file mode 100644
index 0000000000..7795d86d65
--- /dev/null
+++ b/demos/spectrum/3rdparty/fftreal/stopwatch/StopWatch.cpp
@@ -0,0 +1,101 @@
+/*****************************************************************************
+
+ StopWatch.cpp
+ Copyright (c) 2005 Laurent de Soras
+
+--- Legal stuff ---
+
+This library is free software; you can redistribute it and/or
+modify it under the terms of the GNU Lesser General Public
+License as published by the Free Software Foundation; either
+version 2.1 of the License, or (at your option) any later version.
+
+This library is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+Lesser General Public License for more details.
+
+You should have received a copy of the GNU Lesser General Public
+License along with this library; if not, write to the Free Software
+Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+
+*Tab=3***********************************************************************/
+
+
+
+#if defined (_MSC_VER)
+ #pragma warning (1 : 4130) // "'operator' : logical operation on address of string constant"
+ #pragma warning (1 : 4223) // "nonstandard extension used : non-lvalue array converted to pointer"
+ #pragma warning (1 : 4705) // "statement has no effect"
+ #pragma warning (1 : 4706) // "assignment within conditional expression"
+ #pragma warning (4 : 4786) // "identifier was truncated to '255' characters in the debug information"
+ #pragma warning (4 : 4800) // "forcing value to bool 'true' or 'false' (performance warning)"
+ #pragma warning (4 : 4355) // "'this' : used in base member initializer list"
+#endif
+
+
+
+/*\\\ INCLUDE FILES \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\*/
+
+#include "StopWatch.h"
+
+#include <cassert>
+
+
+
+namespace stopwatch
+{
+
+
+
+/*\\\ PUBLIC \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\*/
+
+
+
+StopWatch::StopWatch ()
+: _ccc ()
+, _nbr_laps (0)
+{
+ // Nothing
+}
+
+
+
+double StopWatch::get_time_total (Int64 nbr_op) const
+{
+ assert (_nbr_laps > 0);
+ assert (nbr_op > 0);
+
+ return (
+ static_cast <double> (_ccc.get_time_total ())
+ / (static_cast <double> (nbr_op) * static_cast <double> (_nbr_laps))
+ );
+}
+
+
+
+double StopWatch::get_time_best_lap (Int64 nbr_op) const
+{
+ assert (nbr_op > 0);
+
+ return (
+ static_cast <double> (_ccc.get_time_best_lap ())
+ / static_cast <double> (nbr_op)
+ );
+}
+
+
+
+/*\\\ PROTECTED \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\*/
+
+
+
+/*\\\ PRIVATE \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\*/
+
+
+
+} // namespace stopwatch
+
+
+
+/*\\\ EOF \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\*/
diff --git a/demos/spectrum/3rdparty/fftreal/stopwatch/StopWatch.h b/demos/spectrum/3rdparty/fftreal/stopwatch/StopWatch.h
new file mode 100644
index 0000000000..9cc47e5f20
--- /dev/null
+++ b/demos/spectrum/3rdparty/fftreal/stopwatch/StopWatch.h
@@ -0,0 +1,110 @@
+/*****************************************************************************
+
+ StopWatch.h
+ Copyright (c) 2005 Laurent de Soras
+
+Utility class based on ClockCycleCounter to measure the unit time of a
+repeated operation.
+
+--- Legal stuff ---
+
+This library is free software; you can redistribute it and/or
+modify it under the terms of the GNU Lesser General Public
+License as published by the Free Software Foundation; either
+version 2.1 of the License, or (at your option) any later version.
+
+This library is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+Lesser General Public License for more details.
+
+You should have received a copy of the GNU Lesser General Public
+License along with this library; if not, write to the Free Software
+Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+
+*Tab=3***********************************************************************/
+
+
+
+#if ! defined (stopwatch_StopWatch_HEADER_INCLUDED)
+#define stopwatch_StopWatch_HEADER_INCLUDED
+
+#if defined (_MSC_VER)
+ #pragma once
+ #pragma warning (4 : 4250) // "Inherits via dominance."
+#endif
+
+
+
+/*\\\ INCLUDE FILES \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\*/
+
+#include "ClockCycleCounter.h"
+
+
+
+namespace stopwatch
+{
+
+
+
+class StopWatch
+{
+
+/*\\\ PUBLIC \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\*/
+
+public:
+
+ StopWatch ();
+
+ stopwatch_FORCEINLINE void
+ start ();
+ stopwatch_FORCEINLINE void
+ stop_lap ();
+
+ double get_time_total (Int64 nbr_op) const;
+ double get_time_best_lap (Int64 nbr_op) const;
+
+
+
+/*\\\ PROTECTED \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\*/
+
+protected:
+
+
+
+/*\\\ PRIVATE \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\*/
+
+private:
+
+ ClockCycleCounter
+ _ccc;
+ Int64 _nbr_laps;
+
+
+
+/*\\\ FORBIDDEN MEMBER FUNCTIONS \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\*/
+
+private:
+
+ StopWatch (const StopWatch &other);
+ StopWatch & operator = (const StopWatch &other);
+ bool operator == (const StopWatch &other);
+ bool operator != (const StopWatch &other);
+
+}; // class StopWatch
+
+
+
+} // namespace stopwatch
+
+
+
+#include "StopWatch.hpp"
+
+
+
+#endif // stopwatch_StopWatch_HEADER_INCLUDED
+
+
+
+/*\\\ EOF \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\*/
diff --git a/demos/spectrum/3rdparty/fftreal/stopwatch/StopWatch.hpp b/demos/spectrum/3rdparty/fftreal/stopwatch/StopWatch.hpp
new file mode 100644
index 0000000000..74482a7a72
--- /dev/null
+++ b/demos/spectrum/3rdparty/fftreal/stopwatch/StopWatch.hpp
@@ -0,0 +1,83 @@
+/*****************************************************************************
+
+ StopWatch.hpp
+ Copyright (c) 2005 Laurent de Soras
+
+--- Legal stuff ---
+
+This library is free software; you can redistribute it and/or
+modify it under the terms of the GNU Lesser General Public
+License as published by the Free Software Foundation; either
+version 2.1 of the License, or (at your option) any later version.
+
+This library is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+Lesser General Public License for more details.
+
+You should have received a copy of the GNU Lesser General Public
+License along with this library; if not, write to the Free Software
+Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+
+*Tab=3***********************************************************************/
+
+
+
+#if defined (stopwatch_StopWatch_CURRENT_CODEHEADER)
+ #error Recursive inclusion of StopWatch code header.
+#endif
+#define stopwatch_StopWatch_CURRENT_CODEHEADER
+
+#if ! defined (stopwatch_StopWatch_CODEHEADER_INCLUDED)
+#define stopwatch_StopWatch_CODEHEADER_INCLUDED
+
+
+
+/*\\\ INCLUDE FILES \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\*/
+
+
+
+namespace stopwatch
+{
+
+
+
+/*\\\ PUBLIC \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\*/
+
+
+
+void StopWatch::start ()
+{
+ _nbr_laps = 0;
+ _ccc.start ();
+}
+
+
+
+void StopWatch::stop_lap ()
+{
+ _ccc.stop_lap ();
+ ++ _nbr_laps;
+}
+
+
+
+/*\\\ PROTECTED \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\*/
+
+
+
+/*\\\ PRIVATE \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\*/
+
+
+
+} // namespace stopwatch
+
+
+
+#endif // stopwatch_StopWatch_CODEHEADER_INCLUDED
+
+#undef stopwatch_StopWatch_CURRENT_CODEHEADER
+
+
+
+/*\\\ EOF \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\*/
diff --git a/demos/spectrum/3rdparty/fftreal/stopwatch/def.h b/demos/spectrum/3rdparty/fftreal/stopwatch/def.h
new file mode 100644
index 0000000000..81ee6aaa38
--- /dev/null
+++ b/demos/spectrum/3rdparty/fftreal/stopwatch/def.h
@@ -0,0 +1,65 @@
+/*****************************************************************************
+
+ def.h
+ Copyright (c) 2003 Laurent de Soras
+
+--- Legal stuff ---
+
+This library is free software; you can redistribute it and/or
+modify it under the terms of the GNU Lesser General Public
+License as published by the Free Software Foundation; either
+version 2.1 of the License, or (at your option) any later version.
+
+This library is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+Lesser General Public License for more details.
+
+You should have received a copy of the GNU Lesser General Public
+License along with this library; if not, write to the Free Software
+Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+
+*Tab=3***********************************************************************/
+
+
+
+#if ! defined (stopwatch_def_HEADER_INCLUDED)
+#define stopwatch_def_HEADER_INCLUDED
+
+#if defined (_MSC_VER)
+ #pragma once
+ #pragma warning (4 : 4250) // "Inherits via dominance."
+#endif
+
+
+
+/*\\\ INCLUDE FILES \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\*/
+
+
+
+namespace stopwatch
+{
+
+
+
+#if defined (_MSC_VER)
+
+ #define stopwatch_FORCEINLINE __forceinline
+
+#else
+
+ #define stopwatch_FORCEINLINE inline
+
+#endif
+
+
+
+} // namespace stopwatch
+
+
+
+#endif // stopwatch_def_HEADER_INCLUDED
+
+
+
+/*\\\ EOF \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\*/
diff --git a/demos/spectrum/3rdparty/fftreal/stopwatch/fnc.h b/demos/spectrum/3rdparty/fftreal/stopwatch/fnc.h
new file mode 100644
index 0000000000..055453543b
--- /dev/null
+++ b/demos/spectrum/3rdparty/fftreal/stopwatch/fnc.h
@@ -0,0 +1,67 @@
+/*****************************************************************************
+
+ fnc.h
+ Copyright (c) 2003 Laurent de Soras
+
+--- Legal stuff ---
+
+This library is free software; you can redistribute it and/or
+modify it under the terms of the GNU Lesser General Public
+License as published by the Free Software Foundation; either
+version 2.1 of the License, or (at your option) any later version.
+
+This library is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+Lesser General Public License for more details.
+
+You should have received a copy of the GNU Lesser General Public
+License along with this library; if not, write to the Free Software
+Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+
+*Tab=3***********************************************************************/
+
+
+
+#if ! defined (stopwatch_fnc_HEADER_INCLUDED)
+#define stopwatch_fnc_HEADER_INCLUDED
+
+#if defined (_MSC_VER)
+ #pragma once
+ #pragma warning (4 : 4250) // "Inherits via dominance."
+#endif
+
+
+
+/*\\\ INCLUDE FILES \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\*/
+
+
+
+namespace stopwatch
+{
+
+
+
+template <typename T>
+inline T min (T a, T b);
+
+template <typename T>
+inline T max (T a, T b);
+
+inline int round_int (double x);
+
+
+
+} // namespace rsp
+
+
+
+#include "fnc.hpp"
+
+
+
+#endif // stopwatch_fnc_HEADER_INCLUDED
+
+
+
+/*\\\ EOF \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\*/
diff --git a/demos/spectrum/3rdparty/fftreal/stopwatch/fnc.hpp b/demos/spectrum/3rdparty/fftreal/stopwatch/fnc.hpp
new file mode 100644
index 0000000000..0ab5949efe
--- /dev/null
+++ b/demos/spectrum/3rdparty/fftreal/stopwatch/fnc.hpp
@@ -0,0 +1,85 @@
+/*****************************************************************************
+
+ fnc.hpp
+ Copyright (c) 2003 Laurent de Soras
+
+--- Legal stuff ---
+
+This library is free software; you can redistribute it and/or
+modify it under the terms of the GNU Lesser General Public
+License as published by the Free Software Foundation; either
+version 2.1 of the License, or (at your option) any later version.
+
+This library is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+Lesser General Public License for more details.
+
+You should have received a copy of the GNU Lesser General Public
+License along with this library; if not, write to the Free Software
+Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+
+*Tab=3***********************************************************************/
+
+
+
+#if defined (stopwatch_fnc_CURRENT_CODEHEADER)
+ #error Recursive inclusion of fnc code header.
+#endif
+#define stopwatch_fnc_CURRENT_CODEHEADER
+
+#if ! defined (stopwatch_fnc_CODEHEADER_INCLUDED)
+#define stopwatch_fnc_CODEHEADER_INCLUDED
+
+
+
+/*\\\ INCLUDE FILES \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\*/
+
+#include <cassert>
+#include <cmath>
+
+namespace std {}
+
+
+
+namespace stopwatch
+{
+
+
+
+template <typename T>
+inline T min (T a, T b)
+{
+ return ((a < b) ? a : b);
+}
+
+
+
+template <typename T>
+inline T max (T a, T b)
+{
+ return ((b < a) ? a : b);
+}
+
+
+
+int round_int (double x)
+{
+ using namespace std;
+
+ return (static_cast <int> (floor (x + 0.5)));
+}
+
+
+
+} // namespace stopwatch
+
+
+
+#endif // stopwatch_fnc_CODEHEADER_INCLUDED
+
+#undef stopwatch_fnc_CURRENT_CODEHEADER
+
+
+
+/*\\\ EOF \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\*/
diff --git a/demos/spectrum/3rdparty/fftreal/test.cpp b/demos/spectrum/3rdparty/fftreal/test.cpp
new file mode 100644
index 0000000000..7b6ed2cab9
--- /dev/null
+++ b/demos/spectrum/3rdparty/fftreal/test.cpp
@@ -0,0 +1,267 @@
+/*****************************************************************************
+
+ test.cpp
+ Copyright (c) 2005 Laurent de Soras
+
+--- Legal stuff ---
+
+This library is free software; you can redistribute it and/or
+modify it under the terms of the GNU Lesser General Public
+License as published by the Free Software Foundation; either
+version 2.1 of the License, or (at your option) any later version.
+
+This library is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+Lesser General Public License for more details.
+
+You should have received a copy of the GNU Lesser General Public
+License along with this library; if not, write to the Free Software
+Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+
+*Tab=3***********************************************************************/
+
+
+
+#if defined (_MSC_VER)
+ #pragma warning (4 : 4786) // "identifier was truncated to '255' characters in the debug information"
+ #pragma warning (4 : 4800) // "forcing value to bool 'true' or 'false' (performance warning)"
+#endif
+
+
+
+/*\\\ INCLUDE FILES \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\*/
+
+#include "test_settings.h"
+#include "TestHelperFixLen.h"
+#include "TestHelperNormal.h"
+
+#if defined (_MSC_VER)
+#include <crtdbg.h>
+#include <new.h>
+#endif // _MSC_VER
+
+#include <new>
+
+#include <cassert>
+#include <cstdio>
+
+
+
+#define TEST_
+
+
+/*\\\ FUNCTIONS \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\*/
+
+
+
+static int TEST_perform_test_accuracy_all ();
+static int TEST_perform_test_speed_all ();
+
+static void TEST_prog_init ();
+static void TEST_prog_end ();
+
+
+
+int main (int argc, char *argv [])
+{
+ using namespace std;
+
+ int ret_val = 0;
+
+ TEST_prog_init ();
+
+ try
+ {
+ if (ret_val == 0)
+ {
+ ret_val = TEST_perform_test_accuracy_all ();
+ }
+
+ if (ret_val == 0)
+ {
+ ret_val = TEST_perform_test_speed_all ();
+ }
+ }
+
+ catch (std::exception &e)
+ {
+ printf ("\n*** main(): Exception (std::exception) : %s\n", e.what ());
+ ret_val = -1;
+ }
+
+ catch (...)
+ {
+ printf ("\n*** main(): Undefined exception\n");
+ ret_val = -1;
+ }
+
+ TEST_prog_end ();
+
+ return (ret_val);
+}
+
+
+
+int TEST_perform_test_accuracy_all ()
+{
+ int ret_val = 0;
+
+ TestHelperNormal <float >::perform_test_accuracy (ret_val);
+ TestHelperNormal <double>::perform_test_accuracy (ret_val);
+
+ TestHelperFixLen < 1>::perform_test_accuracy (ret_val);
+ TestHelperFixLen < 2>::perform_test_accuracy (ret_val);
+ TestHelperFixLen < 3>::perform_test_accuracy (ret_val);
+ TestHelperFixLen < 4>::perform_test_accuracy (ret_val);
+ TestHelperFixLen < 7>::perform_test_accuracy (ret_val);
+ TestHelperFixLen < 8>::perform_test_accuracy (ret_val);
+ TestHelperFixLen <10>::perform_test_accuracy (ret_val);
+ TestHelperFixLen <12>::perform_test_accuracy (ret_val);
+ TestHelperFixLen <13>::perform_test_accuracy (ret_val);
+
+ return (ret_val);
+}
+
+
+
+int TEST_perform_test_speed_all ()
+{
+ int ret_val = 0;
+
+#if defined (test_settings_SPEED_TEST_ENABLED)
+
+ TestHelperNormal <float >::perform_test_speed (ret_val);
+ TestHelperNormal <double>::perform_test_speed (ret_val);
+
+ TestHelperFixLen < 1>::perform_test_speed (ret_val);
+ TestHelperFixLen < 2>::perform_test_speed (ret_val);
+ TestHelperFixLen < 3>::perform_test_speed (ret_val);
+ TestHelperFixLen < 4>::perform_test_speed (ret_val);
+ TestHelperFixLen < 7>::perform_test_speed (ret_val);
+ TestHelperFixLen < 8>::perform_test_speed (ret_val);
+ TestHelperFixLen <10>::perform_test_speed (ret_val);
+ TestHelperFixLen <12>::perform_test_speed (ret_val);
+ TestHelperFixLen <14>::perform_test_speed (ret_val);
+ TestHelperFixLen <16>::perform_test_speed (ret_val);
+ TestHelperFixLen <20>::perform_test_speed (ret_val);
+
+#endif
+
+ return (ret_val);
+}
+
+
+
+#if defined (_MSC_VER)
+static int __cdecl TEST_new_handler_cb (size_t dummy)
+{
+ throw std::bad_alloc ();
+ return (0);
+}
+#endif // _MSC_VER
+
+
+
+#if defined (_MSC_VER) && ! defined (NDEBUG)
+static int __cdecl TEST_debug_alloc_hook_cb (int alloc_type, void *user_data_ptr, size_t size, int block_type, long request_nbr, const unsigned char *filename_0, int line_nbr)
+{
+ if (block_type != _CRT_BLOCK) // Ignore CRT blocks to prevent infinite recursion
+ {
+ switch (alloc_type)
+ {
+ case _HOOK_ALLOC:
+ case _HOOK_REALLOC:
+ case _HOOK_FREE:
+
+ // Put some debug code here
+
+ break;
+
+ default:
+ assert (false); // Undefined allocation type
+ break;
+ }
+ }
+
+ return (1);
+}
+#endif
+
+
+
+#if defined (_MSC_VER) && ! defined (NDEBUG)
+static int __cdecl TEST_debug_report_hook_cb (int report_type, char *user_msg_0, int *ret_val_ptr)
+{
+ *ret_val_ptr = 0; // 1 to override the CRT default reporting mode
+
+ switch (report_type)
+ {
+ case _CRT_WARN:
+ case _CRT_ERROR:
+ case _CRT_ASSERT:
+
+// Put some debug code here
+
+ break;
+ }
+
+ return (*ret_val_ptr);
+}
+#endif
+
+
+
+static void TEST_prog_init ()
+{
+#if defined (_MSC_VER)
+ ::_set_new_handler (::TEST_new_handler_cb);
+#endif // _MSC_VER
+
+#if defined (_MSC_VER) && ! defined (NDEBUG)
+ {
+ const int mode = (1 * _CRTDBG_MODE_DEBUG)
+ | (1 * _CRTDBG_MODE_WNDW);
+ ::_CrtSetReportMode (_CRT_WARN, mode);
+ ::_CrtSetReportMode (_CRT_ERROR, mode);
+ ::_CrtSetReportMode (_CRT_ASSERT, mode);
+
+ const int old_flags = ::_CrtSetDbgFlag (_CRTDBG_REPORT_FLAG);
+ ::_CrtSetDbgFlag ( old_flags
+ | (1 * _CRTDBG_LEAK_CHECK_DF)
+ | (1 * _CRTDBG_CHECK_ALWAYS_DF));
+ ::_CrtSetBreakAlloc (-1); // Specify here a memory bloc number
+ ::_CrtSetAllocHook (TEST_debug_alloc_hook_cb);
+ ::_CrtSetReportHook (TEST_debug_report_hook_cb);
+
+ // Speed up I/O but breaks C stdio compatibility
+// std::cout.sync_with_stdio (false);
+// std::cin.sync_with_stdio (false);
+// std::cerr.sync_with_stdio (false);
+// std::clog.sync_with_stdio (false);
+ }
+#endif // _MSC_VER, NDEBUG
+}
+
+
+
+static void TEST_prog_end ()
+{
+#if defined (_MSC_VER) && ! defined (NDEBUG)
+ {
+ const int mode = (1 * _CRTDBG_MODE_DEBUG)
+ | (0 * _CRTDBG_MODE_WNDW);
+ ::_CrtSetReportMode (_CRT_WARN, mode);
+ ::_CrtSetReportMode (_CRT_ERROR, mode);
+ ::_CrtSetReportMode (_CRT_ASSERT, mode);
+
+ ::_CrtMemState mem_state;
+ ::_CrtMemCheckpoint (&mem_state);
+ ::_CrtMemDumpStatistics (&mem_state);
+ }
+#endif // _MSC_VER, NDEBUG
+}
+
+
+
+/*\\\ EOF \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\*/
diff --git a/demos/spectrum/3rdparty/fftreal/test_fnc.h b/demos/spectrum/3rdparty/fftreal/test_fnc.h
new file mode 100644
index 0000000000..2622156641
--- /dev/null
+++ b/demos/spectrum/3rdparty/fftreal/test_fnc.h
@@ -0,0 +1,53 @@
+/*****************************************************************************
+
+ test_fnc.h
+ Copyright (c) 2005 Laurent de Soras
+
+--- Legal stuff ---
+
+This library is free software; you can redistribute it and/or
+modify it under the terms of the GNU Lesser General Public
+License as published by the Free Software Foundation; either
+version 2.1 of the License, or (at your option) any later version.
+
+This library is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+Lesser General Public License for more details.
+
+You should have received a copy of the GNU Lesser General Public
+License along with this library; if not, write to the Free Software
+Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+
+*Tab=3***********************************************************************/
+
+
+
+#if ! defined (test_fnc_HEADER_INCLUDED)
+#define test_fnc_HEADER_INCLUDED
+
+#if defined (_MSC_VER)
+ #pragma once
+ #pragma warning (4 : 4250) // "Inherits via dominance."
+#endif
+
+
+
+/*\\\ INCLUDE FILES \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\*/
+
+
+
+template <class T>
+inline T limit (const T &x, const T &inf, const T &sup);
+
+
+
+#include "test_fnc.hpp"
+
+
+
+#endif // test_fnc_HEADER_INCLUDED
+
+
+
+/*\\\ EOF \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\*/
diff --git a/demos/spectrum/3rdparty/fftreal/test_fnc.hpp b/demos/spectrum/3rdparty/fftreal/test_fnc.hpp
new file mode 100644
index 0000000000..4b5f9f59e8
--- /dev/null
+++ b/demos/spectrum/3rdparty/fftreal/test_fnc.hpp
@@ -0,0 +1,56 @@
+/*****************************************************************************
+
+ test_fnc.hpp
+ Copyright (c) 2005 Laurent de Soras
+
+--- Legal stuff ---
+
+This library is free software; you can redistribute it and/or
+modify it under the terms of the GNU Lesser General Public
+License as published by the Free Software Foundation; either
+version 2.1 of the License, or (at your option) any later version.
+
+This library is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+Lesser General Public License for more details.
+
+You should have received a copy of the GNU Lesser General Public
+License along with this library; if not, write to the Free Software
+Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+
+*Tab=3***********************************************************************/
+
+
+
+#if defined (test_fnc_CURRENT_CODEHEADER)
+ #error Recursive inclusion of test_fnc code header.
+#endif
+#define test_fnc_CURRENT_CODEHEADER
+
+#if ! defined (test_fnc_CODEHEADER_INCLUDED)
+#define test_fnc_CODEHEADER_INCLUDED
+
+
+
+/*\\\ INCLUDE FILES \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\*/
+
+
+
+template <class T>
+T limit (const T &x, const T &inf, const T &sup)
+{
+ assert (! (sup < inf));
+
+ return ((x < inf) ? inf : ((sup < x) ? sup : x));
+}
+
+
+
+#endif // test_fnc_CODEHEADER_INCLUDED
+
+#undef test_fnc_CURRENT_CODEHEADER
+
+
+
+/*\\\ EOF \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\*/
diff --git a/demos/spectrum/3rdparty/fftreal/test_settings.h b/demos/spectrum/3rdparty/fftreal/test_settings.h
new file mode 100644
index 0000000000..b893afc8db
--- /dev/null
+++ b/demos/spectrum/3rdparty/fftreal/test_settings.h
@@ -0,0 +1,45 @@
+/*****************************************************************************
+
+ test_settings.h
+ Copyright (c) 2005 Laurent de Soras
+
+--- Legal stuff ---
+
+This library is free software; you can redistribute it and/or
+modify it under the terms of the GNU Lesser General Public
+License as published by the Free Software Foundation; either
+version 2.1 of the License, or (at your option) any later version.
+
+This library is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+Lesser General Public License for more details.
+
+You should have received a copy of the GNU Lesser General Public
+License along with this library; if not, write to the Free Software
+Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+
+*Tab=3***********************************************************************/
+
+
+
+#if ! defined (test_settings_HEADER_INCLUDED)
+#define test_settings_HEADER_INCLUDED
+
+#if defined (_MSC_VER)
+ #pragma once
+ #pragma warning (4 : 4250) // "Inherits via dominance."
+#endif
+
+
+
+// #undef this label to avoid speed test compilation.
+#define test_settings_SPEED_TEST_ENABLED
+
+
+
+#endif // test_settings_HEADER_INCLUDED
+
+
+
+/*\\\ EOF \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\*/
diff --git a/demos/spectrum/3rdparty/fftreal/testapp.dpr b/demos/spectrum/3rdparty/fftreal/testapp.dpr
new file mode 100644
index 0000000000..54f2eb99a1
--- /dev/null
+++ b/demos/spectrum/3rdparty/fftreal/testapp.dpr
@@ -0,0 +1,150 @@
+program testapp;
+{$APPTYPE CONSOLE}
+uses
+ SysUtils,
+ fftreal in 'fftreal.pas',
+ Math,
+ Windows;
+
+var
+ nbr_points : longint;
+ x, f : pflt_array;
+ fft : TFFTReal;
+ i : longint;
+ PI : double;
+ areal, img : double;
+ f_abs : double;
+ buffer_size : longint;
+ nbr_tests : longint;
+ time0, time1, time2 : int64;
+ timereso : int64;
+ offset : longint;
+ t0, t1 : double;
+ nbr_s_chn : longint;
+ tempp1, tempp2 : pflt_array;
+
+begin
+ (*______________________________________________
+ *
+ * Exactness test
+ *______________________________________________
+ *)
+
+ WriteLn('Accuracy test:');
+ WriteLn;
+
+ nbr_points := 16; // Power of 2
+ GetMem(x, nbr_points * sizeof_flt);
+ GetMem(f, nbr_points * sizeof_flt);
+ fft := TFFTReal.Create(nbr_points); // FFT object initialized here
+
+ // Test signal
+ PI := ArcTan(1) * 4;
+ for i := 0 to nbr_points-1 do
+ begin
+ x^[i] := -1 + sin (3*2*PI*i/nbr_points)
+ + cos (5*2*PI*i/nbr_points) * 2
+ - sin (7*2*PI*i/nbr_points) * 3
+ + cos (8*2*PI*i/nbr_points) * 5;
+ end;
+
+ // Compute FFT and IFFT
+ fft.do_fft(f, x);
+ fft.do_ifft(f, x);
+ fft.rescale(x);
+
+ // Display the result
+ WriteLn('FFT:');
+ for i := 0 to nbr_points div 2 do
+ begin
+ areal := f^[i];
+ if (i > 0) and (i < nbr_points div 2) then
+ img := f^[i + nbr_points div 2]
+ else
+ img := 0;
+
+ f_abs := Sqrt(areal * areal + img * img);
+ WriteLn(Format('%5d: %12.6f %12.6f (%12.6f)', [i, areal, img, f_abs]));
+ end;
+
+ WriteLn;
+ WriteLn('IFFT:');
+ for i := 0 to nbr_points-1 do
+ WriteLn(Format('%5d: %f', [i, x^[i]]));
+
+ WriteLn;
+
+ FreeMem(x);
+ FreeMem(f);
+ fft.Free;
+
+
+ (*______________________________________________
+ *
+ * Speed test
+ *______________________________________________
+ *)
+
+ WriteLn('Speed test:');
+ WriteLn('Please wait...');
+ WriteLn;
+
+ nbr_points := 1024; // Power of 2
+ buffer_size := 256*nbr_points; // Number of flt_t (float or double)
+ nbr_tests := 10000;
+
+ assert(nbr_points <= buffer_size);
+ GetMem(x, buffer_size * sizeof_flt);
+ GetMem(f, buffer_size * sizeof_flt);
+ fft := TFFTReal.Create(nbr_points); // FFT object initialized here
+
+ // Test signal: noise
+ for i := 0 to nbr_points-1 do
+ x^[i] := Random($7fff) - ($7fff shr 1);
+
+ // timing
+ QueryPerformanceFrequency(timereso);
+ QueryPerformanceCounter(time0);
+
+ for i := 0 to nbr_tests-1 do
+ begin
+ offset := (i * nbr_points) and (buffer_size - 1);
+ tempp1 := f;
+ inc(tempp1, offset);
+ tempp2 := x;
+ inc(tempp2, offset);
+ fft.do_fft(tempp1, tempp2);
+ end;
+
+ QueryPerformanceCounter(time1);
+
+ for i := 0 to nbr_tests-1 do
+ begin
+ offset := (i * nbr_points) and (buffer_size - 1);
+ tempp1 := f;
+ inc(tempp1, offset);
+ tempp2 := x;
+ inc(tempp2, offset);
+ fft.do_ifft(tempp1, tempp2);
+ fft.rescale(x);
+ end;
+
+ QueryPerformanceCounter(time2);
+
+ t0 := ((time1-time0) / timereso) / nbr_tests;
+ t1 := ((time2-time1) / timereso) / nbr_tests;
+
+ WriteLn(Format('%d-points FFT : %.0f us.', [nbr_points, t0 * 1000000]));
+ WriteLn(Format('%d-points IFFT + scaling: %.0f us.', [nbr_points, t1 * 1000000]));
+
+ nbr_s_chn := Floor(nbr_points / ((t0 + t1) * 44100 * 2));
+ WriteLn(Format('Peak performance: FFT+IFFT on %d mono channels at 44.1 KHz (with overlapping)', [nbr_s_chn]));
+ WriteLn;
+
+ FreeMem(x);
+ FreeMem(f);
+ fft.Free;
+
+ WriteLn('Press [Return] key to terminate...');
+ ReadLn;
+end.
diff --git a/demos/spectrum/README.txt b/demos/spectrum/README.txt
new file mode 100644
index 0000000000..c39d4a709f
--- /dev/null
+++ b/demos/spectrum/README.txt
@@ -0,0 +1,103 @@
+Spectrum analyser demo app
+==========================
+
+Introduction
+------------
+
+This application is a demo which uses the QtMultimedia APIs to capture and play back PCM audio. While either recording or playback is ongoing, the application performs real-time level and frequency spectrum analysis, displaying the results in its main window.
+
+
+Acknowledgments
+---------------
+
+The application uses the FFTReal v2.00 library by Laurent de Soras to perform frequency analysis of the audio signal. For further information, see the project home page:
+ http://ldesoras.free.fr/prod.html
+
+
+Quick start
+-----------
+
+Play generated tone
+1. Select 'Play generated tone' from the mode menu
+2. Ensure that the 'Frequency sweep' box is checked
+3. Press 'OK'
+4. Press the play button
+You should hear a rising tone, and see progressively higher frequencies indicated by the spectrograph.
+
+Record and playback
+1. Select 'Record and play back audio' from the mode menu
+2. Press the record button, and speak into the microphone
+3. Wait until the buffer is full (shown as a full blue bar in the top widget)
+4. Press play, and wait until playback of the buffer is complete
+
+Play file
+1. Select 'Play file' from the mode menu
+2. Select a WAV file
+3. Press the play button
+You should hear the first few seconds of the file being played. The waveform, spectrograph and level meter should be updated as the file is played.
+
+
+Things to play with
+-------------------
+
+Try repeating the 'Play generated tone' sequence using different window functions. These can be selected from the settings dialog - launch it by pressing the spanner icon. The window function is applied to the audio signal before performing the frequency analysis; different windows should have a visible effect on the resulting frequency spectrum.
+
+Try clicking on one of the spectrograph bars while the tone is being played. The frequency range for that bar will be displayed at the top of the application window.
+
+
+Troubleshooting
+---------------
+
+If either recording or playback do not work, you may need to select a different input / output audio device. This can be done in the settings dialog - launch it by pressing the spanner icon.
+
+If that doesn't work, there may be a problem either in the application or in Qt. Report a bug in the usual way.
+
+
+Application interface
+---------------------
+
+The main window of the application contains the following widgets, starting at the top:
+
+Message box
+This shows various messages during execution, such as the current audio format.
+
+Progress bar / waveform display
+- While recording or playback is ongoing, the audio waveform is displayed, sliding from right to left.
+- Superimposed on the waveform, the amount of data currently in the buffer is showed as a blue bar. When recording, this blue bar fills up from left to right; when playing, the bar gets consumed from left to right.
+- A green window shows which part of the buffer has most recently been analysed. This window should be close to the 'leading edge' of recording or playback, i.e. the most recently recorded / played data, although it will lag slightly depending on the performance of the machine on which the application is running.
+
+Frequency spectrograph (on the left)
+The spectrograph shows 10 bars, each representing a frequency range. The frequency range of each bar is displayed in the message box when the bar is clicked. The height of the bar shows the maximum amplitude of freqencies within its range.
+
+Level meter (on the right)
+The current peak audio level is shown as a pink bar; the current RMS level is shown as a red bar. The 'high water mark' during a recent period is shown as a thin red line.
+
+Button panel
+- The mode menu allows switching between the three operation modes - 'Play generated tone', 'Record and play back' and 'Play file'.
+- The record button starts or resumes audio capture from the current input device.
+- The pause button suspends either capture or recording.
+- The play button starts or resumes audio playback to the current output device.
+- The settings button launches the settings dialog.
+
+
+Hacking
+-------
+
+If you want to hack the application, here are some pointers to get started.
+
+The spectrum.pri file contains several macros which you can enable by uncommenting:
+- LOG_FOO Enable logging from class Foo via qDebug()
+- DUMP_FOO Dump data from class Foo to the file system
+ e.g. DUMP_SPECTRUMANALYSER writes files containing the raw FFT input and output.
+ Be aware that this can generate a *lot* of data and may slow the app down considerably.
+- DISABLE_FOO Disable specified functionality
+
+If you don't like the combination of the waveform and progress bar in a single widget, separate them by commenting out SUPERIMPOSE_PROGRESS_ON_WAVEFORM.
+
+The spectrum.h file defines a number of parameters which can be played with. These control things such as the number of audio samples analysed per FFT calculation, the range and number of bands displayed by the spectrograph, and so on.
+
+The part of the application which interacts with QtMultimedia is in the Engine class.
+
+Some ideas for enhancements to the app are listed in TODO.txt. Feel free to start work on any of them :)
+
+
diff --git a/demos/spectrum/TODO.txt b/demos/spectrum/TODO.txt
new file mode 100644
index 0000000000..dc3d8f3afd
--- /dev/null
+++ b/demos/spectrum/TODO.txt
@@ -0,0 +1,34 @@
+TODO list for spectrum analyser
+===============================
+
+Bug fixes
+---------
+
+
+New features
+------------
+
+* Wrap user-visible strings in tr()
+
+* Allow user to set frequency range
+There should be some constraints on this, e.g.
+ - Maximum frequency must not be greater than Nyquist frequency
+ - Range is divisible by number of bars?
+
+* Add more visualizers other than bar spectrogram
+e.g. Funky OpenGL visualizers, particle effects etc
+
+
+Non-functional stuff
+--------------------
+
+* Improve robustness of QComboBox -> enum mapping
+At the moment, SettingsDialog relies on casting the combobox item index directly to the enumerated type. This is clearly a bit fragile...
+
+* For functions which take or return qint64 values, make a clear distinction between duration (microseconds) and length (bytes).
+A sensible convention would be that the default is bytes - i.e. microseconds must be indicated by adding a Us suffix, where not already obvious from the function name.
+
+
+
+
+
diff --git a/demos/spectrum/app/app.pro b/demos/spectrum/app/app.pro
new file mode 100644
index 0000000000..c4b0943fd3
--- /dev/null
+++ b/demos/spectrum/app/app.pro
@@ -0,0 +1,129 @@
+include(../spectrum.pri)
+
+TEMPLATE = app
+
+TARGET = spectrum
+unix: !macx: !symbian: TARGET = spectrum.bin
+
+QT += multimedia
+
+SOURCES += main.cpp \
+ engine.cpp \
+ frequencyspectrum.cpp \
+ levelmeter.cpp \
+ mainwidget.cpp \
+ progressbar.cpp \
+ settingsdialog.cpp \
+ spectrograph.cpp \
+ spectrumanalyser.cpp \
+ tonegenerator.cpp \
+ tonegeneratordialog.cpp \
+ utils.cpp \
+ waveform.cpp \
+ wavfile.cpp
+
+HEADERS += engine.h \
+ frequencyspectrum.h \
+ levelmeter.h \
+ mainwidget.h \
+ progressbar.h \
+ settingsdialog.h \
+ spectrograph.h \
+ spectrum.h \
+ spectrumanalyser.h \
+ tonegenerator.h \
+ tonegeneratordialog.h \
+ utils.h \
+ waveform.h \
+ wavfile.h
+
+fftreal_dir = ../3rdparty/fftreal
+
+INCLUDEPATH += $${fftreal_dir}
+
+RESOURCES = spectrum.qrc
+
+symbian {
+ # Platform security capability required to record audio on Symbian
+ TARGET.CAPABILITY = UserEnvironment
+
+ # Provide unique ID for the generated binary, required by Symbian OS
+ TARGET.UID3 = 0xA000E3FA
+}
+
+
+# Dynamic linkage against FFTReal DLL
+!contains(DEFINES, DISABLE_FFT) {
+ symbian {
+ # Must explicitly add the .dll suffix to ensure dynamic linkage
+ LIBS += -lfftreal.dll
+ QMAKE_LIBDIR += $${fftreal_dir}
+ } else {
+ macx {
+ # Link to fftreal framework
+ LIBS += -F$${fftreal_dir}
+ LIBS += -framework fftreal
+ } else {
+ # Link to dynamic library which is written to ../bin
+ LIBS += -L../bin
+ LIBS += -lfftreal
+ }
+ }
+}
+
+# Install
+
+sources.files = $$SOURCES $$HEADERS $$RESOURCES app.pro
+sources.path = $$[QT_INSTALL_DEMOS]/spectrum/app
+images.files += images/record.png images/settings.png
+images.path = $$[QT_INSTALL_DEMOS]/spectrum/app/images
+INSTALLS += sources images
+
+# Deployment
+
+symbian {
+ include($$QT_SOURCE_TREE/demos/symbianpkgrules.pri)
+
+ !contains(DEFINES, DISABLE_FFT) {
+ # Include FFTReal DLL in the SIS file
+ fftreal.sources = $${EPOCROOT}epoc32/release/$(PLATFORM)/$(TARGET)/fftreal.dll
+ fftreal.path = !:/sys/bin
+ DEPLOYMENT += fftreal
+ }
+} else {
+ macx {
+ # Specify directory in which to create spectrum.app bundle
+ DESTDIR = ..
+
+ !contains(DEFINES, DISABLE_FFT) {
+ # Relocate fftreal.framework into spectrum.app bundle
+ framework_dir = ../spectrum.app/Contents/Frameworks
+ framework_name = fftreal.framework/Versions/1/fftreal
+ QMAKE_POST_LINK = \
+ mkdir -p $${framework_dir} &&\
+ rm -rf $${framework_dir}/fftreal.framework &&\
+ cp -R $${fftreal_dir}/fftreal.framework $${framework_dir} &&\
+ install_name_tool -id @executable_path/../Frameworks/$${framework_name} \
+ $${framework_dir}/$${framework_name} &&\
+ install_name_tool -change $${framework_name} \
+ @executable_path/../Frameworks/$${framework_name} \
+ ../spectrum.app/Contents/MacOS/spectrum
+ }
+ } else {
+ # Specify directory in which to create spectrum application
+ DESTDIR = ../bin
+
+ unix: !symbian {
+ # On unices other than Mac OSX, we copy a shell script into the bin directory.
+ # This script takes care of correctly setting the LD_LIBRARY_PATH so that
+ # the dynamic library can be located.
+ copy_launch_script.target = copy_launch_script
+ copy_launch_script.commands = \
+ install -m 0555 $$QT_SOURCE_TREE/demos/spectrum/app/spectrum.sh ../bin/spectrum
+ QMAKE_EXTRA_TARGETS += copy_launch_script
+ POST_TARGETDEPS += copy_launch_script
+ }
+ }
+}
+
+
diff --git a/demos/spectrum/app/engine.cpp b/demos/spectrum/app/engine.cpp
new file mode 100644
index 0000000000..119a0e3b42
--- /dev/null
+++ b/demos/spectrum/app/engine.cpp
@@ -0,0 +1,751 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the examples of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include "engine.h"
+#include "tonegenerator.h"
+#include "utils.h"
+
+#include <math.h>
+
+#include <QCoreApplication>
+#include <QMetaObject>
+#include <QSet>
+#include <QtMultimedia/QAudioInput>
+#include <QtMultimedia/QAudioOutput>
+#include <QDebug>
+#include <QThread>
+#include <QFile>
+
+//-----------------------------------------------------------------------------
+// Constants
+//-----------------------------------------------------------------------------
+
+const qint64 BufferDurationUs = 10 * 1000000;
+const int NotifyIntervalMs = 100;
+
+// Size of the level calculation window in microseconds
+const int LevelWindowUs = 0.1 * 1000000;
+
+
+//-----------------------------------------------------------------------------
+// Helper functions
+//-----------------------------------------------------------------------------
+
+QDebug& operator<<(QDebug &debug, const QAudioFormat &format)
+{
+ debug << format.frequency() << "Hz"
+ << format.channels() << "channels";
+ return debug;
+}
+
+//-----------------------------------------------------------------------------
+// Constructor and destructor
+//-----------------------------------------------------------------------------
+
+Engine::Engine(QObject *parent)
+ : QObject(parent)
+ , m_mode(QAudio::AudioInput)
+ , m_state(QAudio::StoppedState)
+ , m_generateTone(false)
+ , m_file(0)
+ , m_availableAudioInputDevices
+ (QAudioDeviceInfo::availableDevices(QAudio::AudioInput))
+ , m_audioInputDevice(QAudioDeviceInfo::defaultInputDevice())
+ , m_audioInput(0)
+ , m_audioInputIODevice(0)
+ , m_recordPosition(0)
+ , m_availableAudioOutputDevices
+ (QAudioDeviceInfo::availableDevices(QAudio::AudioOutput))
+ , m_audioOutputDevice(QAudioDeviceInfo::defaultOutputDevice())
+ , m_audioOutput(0)
+ , m_playPosition(0)
+ , m_dataLength(0)
+ , m_rmsLevel(0.0)
+ , m_peakLevel(0.0)
+ , m_spectrumLengthBytes(0)
+ , m_spectrumAnalyser()
+ , m_spectrumPosition(0)
+ , m_count(0)
+{
+ qRegisterMetaType<FrequencySpectrum>("FrequencySpectrum");
+ CHECKED_CONNECT(&m_spectrumAnalyser,
+ SIGNAL(spectrumChanged(FrequencySpectrum)),
+ this,
+ SLOT(spectrumChanged(FrequencySpectrum)));
+
+ initialize();
+
+#ifdef DUMP_DATA
+ createOutputDir();
+#endif
+
+#ifdef DUMP_SPECTRUM
+ m_spectrumAnalyser.setOutputPath(outputPath());
+#endif
+}
+
+Engine::~Engine()
+{
+
+}
+
+//-----------------------------------------------------------------------------
+// Public functions
+//-----------------------------------------------------------------------------
+
+bool Engine::loadFile(const QString &fileName)
+{
+ bool result = false;
+ m_generateTone = false;
+
+ Q_ASSERT(!fileName.isEmpty());
+ Q_ASSERT(!m_file);
+ m_file = new QFile(fileName, this);
+ m_file->setFileName(fileName);
+ Q_ASSERT(m_file->exists());
+ if (m_file->open(QFile::ReadOnly)) {
+ m_wavFile.readHeader(*m_file);
+ if (isPCMS16LE(m_wavFile.format())) {
+ result = initialize();
+ } else {
+ emit errorMessage(tr("Audio format not supported"),
+ formatToString(m_wavFile.format()));
+ }
+ } else {
+ emit errorMessage(tr("Could not open file"), fileName);
+ }
+
+ delete m_file;
+ m_file = 0;
+
+ return result;
+}
+
+bool Engine::generateTone(const Tone &tone)
+{
+ Q_ASSERT(!m_file);
+ m_generateTone = true;
+ m_tone = tone;
+ ENGINE_DEBUG << "Engine::generateTone"
+ << "startFreq" << m_tone.startFreq
+ << "endFreq" << m_tone.endFreq
+ << "amp" << m_tone.amplitude;
+ return initialize();
+}
+
+bool Engine::generateSweptTone(qreal amplitude)
+{
+ Q_ASSERT(!m_file);
+ m_generateTone = true;
+ m_tone.startFreq = 1;
+ m_tone.endFreq = 0;
+ m_tone.amplitude = amplitude;
+ ENGINE_DEBUG << "Engine::generateSweptTone"
+ << "startFreq" << m_tone.startFreq
+ << "amp" << m_tone.amplitude;
+ return initialize();
+}
+
+bool Engine::initializeRecord()
+{
+ ENGINE_DEBUG << "Engine::initializeRecord";
+ Q_ASSERT(!m_file);
+ m_generateTone = false;
+ m_tone = SweptTone();
+ return initialize();
+}
+
+qint64 Engine::bufferDuration() const
+{
+ return BufferDurationUs;
+}
+
+qint64 Engine::dataDuration() const
+{
+ qint64 result = 0;
+ if (QAudioFormat() != m_format)
+ result = audioDuration(m_format, m_dataLength);
+ return result;
+}
+
+qint64 Engine::audioBufferLength() const
+{
+ qint64 length = 0;
+ if (QAudio::ActiveState == m_state || QAudio::IdleState == m_state) {
+ Q_ASSERT(QAudioFormat() != m_format);
+ switch (m_mode) {
+ case QAudio::AudioInput:
+ length = m_audioInput->bufferSize();
+ break;
+ case QAudio::AudioOutput:
+ length = m_audioOutput->bufferSize();
+ break;
+ }
+ }
+ return length;
+}
+
+void Engine::setWindowFunction(WindowFunction type)
+{
+ m_spectrumAnalyser.setWindowFunction(type);
+}
+
+
+//-----------------------------------------------------------------------------
+// Public slots
+//-----------------------------------------------------------------------------
+
+void Engine::startRecording()
+{
+ if (m_audioInput) {
+ if (QAudio::AudioInput == m_mode &&
+ QAudio::SuspendedState == m_state) {
+ m_audioInput->resume();
+ } else {
+ m_spectrumAnalyser.cancelCalculation();
+ spectrumChanged(0, 0, FrequencySpectrum());
+
+ m_buffer.fill(0);
+ setRecordPosition(0, true);
+ stopPlayback();
+ m_mode = QAudio::AudioInput;
+ CHECKED_CONNECT(m_audioInput, SIGNAL(stateChanged(QAudio::State)),
+ this, SLOT(audioStateChanged(QAudio::State)));
+ CHECKED_CONNECT(m_audioInput, SIGNAL(notify()),
+ this, SLOT(audioNotify()));
+ m_count = 0;
+ m_dataLength = 0;
+ emit dataDurationChanged(0);
+ m_audioInputIODevice = m_audioInput->start();
+ CHECKED_CONNECT(m_audioInputIODevice, SIGNAL(readyRead()),
+ this, SLOT(audioDataReady()));
+ }
+ }
+}
+
+void Engine::startPlayback()
+{
+ if (m_audioOutput) {
+ if (QAudio::AudioOutput == m_mode &&
+ QAudio::SuspendedState == m_state) {
+#ifdef Q_OS_WIN
+ // The Windows backend seems to internally go back into ActiveState
+ // while still returning SuspendedState, so to ensure that it doesn't
+ // ignore the resume() call, we first re-suspend
+ m_audioOutput->suspend();
+#endif
+ m_audioOutput->resume();
+ } else {
+ m_spectrumAnalyser.cancelCalculation();
+ spectrumChanged(0, 0, FrequencySpectrum());
+
+ setPlayPosition(0, true);
+ stopRecording();
+ m_mode = QAudio::AudioOutput;
+ CHECKED_CONNECT(m_audioOutput, SIGNAL(stateChanged(QAudio::State)),
+ this, SLOT(audioStateChanged(QAudio::State)));
+ CHECKED_CONNECT(m_audioOutput, SIGNAL(notify()),
+ this, SLOT(audioNotify()));
+ m_count = 0;
+ m_audioOutputIODevice.close();
+ m_audioOutputIODevice.setBuffer(&m_buffer);
+ m_audioOutputIODevice.open(QIODevice::ReadOnly);
+ m_audioOutput->start(&m_audioOutputIODevice);
+ }
+ }
+}
+
+void Engine::suspend()
+{
+ if (QAudio::ActiveState == m_state ||
+ QAudio::IdleState == m_state) {
+ switch (m_mode) {
+ case QAudio::AudioInput:
+ m_audioInput->suspend();
+ break;
+ case QAudio::AudioOutput:
+ m_audioOutput->suspend();
+ break;
+ }
+ }
+}
+
+void Engine::setAudioInputDevice(const QAudioDeviceInfo &device)
+{
+ if (device.deviceName() != m_audioInputDevice.deviceName()) {
+ m_audioInputDevice = device;
+ initialize();
+ }
+}
+
+void Engine::setAudioOutputDevice(const QAudioDeviceInfo &device)
+{
+ if (device.deviceName() != m_audioOutputDevice.deviceName()) {
+ m_audioOutputDevice = device;
+ initialize();
+ }
+}
+
+
+//-----------------------------------------------------------------------------
+// Private slots
+//-----------------------------------------------------------------------------
+
+void Engine::audioNotify()
+{
+ switch (m_mode) {
+ case QAudio::AudioInput: {
+ const qint64 recordPosition =
+ qMin(BufferDurationUs, m_audioInput->processedUSecs());
+ setRecordPosition(recordPosition);
+
+ // Calculate level of most recently captured data
+ qint64 levelLength = audioLength(m_format, LevelWindowUs);
+ levelLength = qMin(m_dataLength, levelLength);
+ const qint64 levelPosition = m_dataLength - levelLength;
+ calculateLevel(levelPosition, levelLength);
+
+ // Calculate spectrum of most recently captured data
+ if (m_dataLength >= m_spectrumLengthBytes) {
+ const qint64 spectrumPosition = m_dataLength - m_spectrumLengthBytes;
+ calculateSpectrum(spectrumPosition);
+ }
+ }
+ break;
+ case QAudio::AudioOutput: {
+ const qint64 playPosition =
+ qMin(dataDuration(), m_audioOutput->processedUSecs());
+ setPlayPosition(playPosition);
+
+ qint64 analysisPosition = audioLength(m_format, playPosition);
+
+ // Calculate level of data starting at current playback position
+ const qint64 levelLength = audioLength(m_format, LevelWindowUs);
+ if (analysisPosition + levelLength < m_dataLength)
+ calculateLevel(analysisPosition, levelLength);
+
+ if (analysisPosition + m_spectrumLengthBytes < m_dataLength)
+ calculateSpectrum(analysisPosition);
+
+ if (dataDuration() == playPosition)
+ stopPlayback();
+ }
+ break;
+ }
+}
+
+void Engine::audioStateChanged(QAudio::State state)
+{
+ ENGINE_DEBUG << "Engine::audioStateChanged from" << m_state
+ << "to" << state;
+
+ if (QAudio::StoppedState == state) {
+ // Check error
+ QAudio::Error error = QAudio::NoError;
+ switch (m_mode) {
+ case QAudio::AudioInput:
+ error = m_audioInput->error();
+ break;
+ case QAudio::AudioOutput:
+ error = m_audioOutput->error();
+ break;
+ }
+ if (QAudio::NoError != error) {
+ reset();
+ return;
+ }
+ }
+ setState(state);
+}
+
+void Engine::audioDataReady()
+{
+ const qint64 bytesReady = m_audioInput->bytesReady();
+ const qint64 bytesSpace = m_buffer.size() - m_dataLength;
+ const qint64 bytesToRead = qMin(bytesReady, bytesSpace);
+
+ const qint64 bytesRead = m_audioInputIODevice->read(
+ m_buffer.data() + m_dataLength,
+ bytesToRead);
+
+ if (bytesRead) {
+ m_dataLength += bytesRead;
+
+ const qint64 duration = audioDuration(m_format, m_dataLength);
+ emit dataDurationChanged(duration);
+ }
+
+ if (m_buffer.size() == m_dataLength)
+ stopRecording();
+}
+
+void Engine::spectrumChanged(const FrequencySpectrum &spectrum)
+{
+ ENGINE_DEBUG << "Engine::spectrumChanged" << "pos" << m_spectrumPosition;
+ const qint64 positionUs = audioDuration(m_format, m_spectrumPosition);
+ const qint64 lengthUs = audioDuration(m_format, m_spectrumLengthBytes);
+ emit spectrumChanged(positionUs, lengthUs, spectrum);
+}
+
+
+//-----------------------------------------------------------------------------
+// Private functions
+//-----------------------------------------------------------------------------
+
+void Engine::reset()
+{
+ stopRecording();
+ stopPlayback();
+ setState(QAudio::AudioInput, QAudio::StoppedState);
+ setFormat(QAudioFormat());
+ delete m_audioInput;
+ m_audioInput = 0;
+ m_audioInputIODevice = 0;
+ setRecordPosition(0);
+ delete m_audioOutput;
+ m_audioOutput = 0;
+ setPlayPosition(0);
+ m_buffer.clear();
+ m_dataLength = 0;
+ m_spectrumPosition = 0;
+ emit dataDurationChanged(0);
+ setLevel(0.0, 0.0, 0);
+}
+
+bool Engine::initialize()
+{
+ bool result = false;
+
+ reset();
+
+ if (selectFormat()) {
+ const qint64 bufferLength = audioLength(m_format, BufferDurationUs);
+ m_buffer.resize(bufferLength);
+ m_buffer.fill(0);
+ emit bufferDurationChanged(BufferDurationUs);
+
+ if (m_generateTone) {
+ if (0 == m_tone.endFreq) {
+ const qreal nyquist = nyquistFrequency(m_format);
+ m_tone.endFreq = qMin(qreal(SpectrumHighFreq), nyquist);
+ }
+
+ // Call function defined in utils.h, at global scope
+ ::generateTone(m_tone, m_format, m_buffer);
+ m_dataLength = m_buffer.size();
+ emit dataDurationChanged(bufferDuration());
+ setRecordPosition(bufferDuration());
+ result = true;
+ } else if (m_file) {
+ const qint64 length = m_wavFile.readData(*m_file, m_buffer, m_format);
+ if (length) {
+ m_dataLength = length;
+ emit dataDurationChanged(dataDuration());
+ setRecordPosition(dataDuration());
+ result = true;
+ }
+ } else {
+ m_audioInput = new QAudioInput(m_audioInputDevice, m_format, this);
+ m_audioInput->setNotifyInterval(NotifyIntervalMs);
+ result = true;
+ }
+
+ m_audioOutput = new QAudioOutput(m_audioOutputDevice, m_format, this);
+ m_audioOutput->setNotifyInterval(NotifyIntervalMs);
+ m_spectrumLengthBytes = SpectrumLengthSamples *
+ (m_format.sampleSize() / 8) * m_format.channels();
+ } else {
+ if (m_file)
+ emit errorMessage(tr("Audio format not supported"),
+ formatToString(m_format));
+ else if (m_generateTone)
+ emit errorMessage(tr("No suitable format found"), "");
+ else
+ emit errorMessage(tr("No common input / output format found"), "");
+ }
+
+ ENGINE_DEBUG << "Engine::initialize" << "format" << m_format;
+
+ return result;
+}
+
+bool Engine::selectFormat()
+{
+ bool foundSupportedFormat = false;
+
+ if (m_file) {
+ // Header is read from the WAV file; just need to check whether
+ // it is supported by the audio output device
+ QAudioFormat format = m_wavFile.format();
+ if (m_audioOutputDevice.isFormatSupported(m_wavFile.format())) {
+ setFormat(m_wavFile.format());
+ foundSupportedFormat = true;
+ } else {
+ // Try flipping mono <-> stereo
+ const int channels = (format.channels() == 1) ? 2 : 1;
+ format.setChannels(channels);
+ if (m_audioOutputDevice.isFormatSupported(format)) {
+ setFormat(format);
+ foundSupportedFormat = true;
+ }
+ }
+ } else {
+
+ QList<int> frequenciesList;
+ #ifdef Q_OS_WIN
+ // The Windows audio backend does not correctly report format support
+ // (see QTBUG-9100). Furthermore, although the audio subsystem captures
+ // at 11025Hz, the resulting audio is corrupted.
+ frequenciesList += 8000;
+ #endif
+
+ if (!m_generateTone)
+ frequenciesList += m_audioInputDevice.supportedFrequencies();
+
+ frequenciesList += m_audioOutputDevice.supportedFrequencies();
+ frequenciesList = frequenciesList.toSet().toList(); // remove duplicates
+ qSort(frequenciesList);
+ ENGINE_DEBUG << "Engine::initialize frequenciesList" << frequenciesList;
+
+ QList<int> channelsList;
+ channelsList += m_audioInputDevice.supportedChannels();
+ channelsList += m_audioOutputDevice.supportedChannels();
+ channelsList = channelsList.toSet().toList();
+ qSort(channelsList);
+ ENGINE_DEBUG << "Engine::initialize channelsList" << channelsList;
+
+ QAudioFormat format;
+ format.setByteOrder(QAudioFormat::LittleEndian);
+ format.setCodec("audio/pcm");
+ format.setSampleSize(16);
+ format.setSampleType(QAudioFormat::SignedInt);
+ int frequency, channels;
+ foreach (frequency, frequenciesList) {
+ if (foundSupportedFormat)
+ break;
+ format.setFrequency(frequency);
+ foreach (channels, channelsList) {
+ format.setChannels(channels);
+ const bool inputSupport = m_generateTone ||
+ m_audioInputDevice.isFormatSupported(format);
+ const bool outputSupport = m_audioOutputDevice.isFormatSupported(format);
+ ENGINE_DEBUG << "Engine::initialize checking " << format
+ << "input" << inputSupport
+ << "output" << outputSupport;
+ if (inputSupport && outputSupport) {
+ foundSupportedFormat = true;
+ break;
+ }
+ }
+ }
+
+ if (!foundSupportedFormat)
+ format = QAudioFormat();
+
+ setFormat(format);
+ }
+
+ return foundSupportedFormat;
+}
+
+void Engine::stopRecording()
+{
+ if (m_audioInput) {
+ m_audioInput->stop();
+ QCoreApplication::instance()->processEvents();
+ m_audioInput->disconnect();
+ }
+ m_audioInputIODevice = 0;
+
+#ifdef DUMP_AUDIO
+ dumpData();
+#endif
+}
+
+void Engine::stopPlayback()
+{
+ if (m_audioOutput) {
+ m_audioOutput->stop();
+ QCoreApplication::instance()->processEvents();
+ m_audioOutput->disconnect();
+ setPlayPosition(0);
+ }
+}
+
+void Engine::setState(QAudio::State state)
+{
+ const bool changed = (m_state != state);
+ m_state = state;
+ if (changed)
+ emit stateChanged(m_mode, m_state);
+}
+
+void Engine::setState(QAudio::Mode mode, QAudio::State state)
+{
+ const bool changed = (m_mode != mode || m_state != state);
+ m_mode = mode;
+ m_state = state;
+ if (changed)
+ emit stateChanged(m_mode, m_state);
+}
+
+void Engine::setRecordPosition(qint64 position, bool forceEmit)
+{
+ const bool changed = (m_recordPosition != position);
+ m_recordPosition = position;
+ if (changed || forceEmit)
+ emit recordPositionChanged(m_recordPosition);
+}
+
+void Engine::setPlayPosition(qint64 position, bool forceEmit)
+{
+ const bool changed = (m_playPosition != position);
+ m_playPosition = position;
+ if (changed || forceEmit)
+ emit playPositionChanged(m_playPosition);
+}
+
+void Engine::calculateLevel(qint64 position, qint64 length)
+{
+#ifdef DISABLE_LEVEL
+ Q_UNUSED(position)
+ Q_UNUSED(length)
+#else
+ Q_ASSERT(position + length <= m_dataLength);
+
+ qreal peakLevel = 0.0;
+
+ qreal sum = 0.0;
+ const char *ptr = m_buffer.constData() + position;
+ const char *const end = ptr + length;
+ while (ptr < end) {
+ const qint16 value = *reinterpret_cast<const qint16*>(ptr);
+ const qreal fracValue = pcmToReal(value);
+ peakLevel = qMax(peakLevel, fracValue);
+ sum += fracValue * fracValue;
+ ptr += 2;
+ }
+ const int numSamples = length / 2;
+ qreal rmsLevel = sqrt(sum / numSamples);
+
+ rmsLevel = qMax(qreal(0.0), rmsLevel);
+ rmsLevel = qMin(qreal(1.0), rmsLevel);
+ setLevel(rmsLevel, peakLevel, numSamples);
+
+ ENGINE_DEBUG << "Engine::calculateLevel" << "pos" << position << "len" << length
+ << "rms" << rmsLevel << "peak" << peakLevel;
+#endif
+}
+
+void Engine::calculateSpectrum(qint64 position)
+{
+#ifdef DISABLE_SPECTRUM
+ Q_UNUSED(position)
+#else
+ Q_ASSERT(position + m_spectrumLengthBytes <= m_dataLength);
+ Q_ASSERT(0 == m_spectrumLengthBytes % 2); // constraint of FFT algorithm
+
+ // QThread::currentThread is marked 'for internal use only', but
+ // we're only using it for debug output here, so it's probably OK :)
+ ENGINE_DEBUG << "Engine::calculateSpectrum" << QThread::currentThread()
+ << "count" << m_count << "pos" << position << "len" << m_spectrumLengthBytes
+ << "spectrumAnalyser.isReady" << m_spectrumAnalyser.isReady();
+
+ if(m_spectrumAnalyser.isReady()) {
+ m_spectrumBuffer = QByteArray::fromRawData(m_buffer.constData() + position,
+ m_spectrumLengthBytes);
+ m_spectrumPosition = position;
+ m_spectrumAnalyser.calculate(m_spectrumBuffer, m_format);
+ }
+#endif
+}
+
+void Engine::setFormat(const QAudioFormat &format)
+{
+ const bool changed = (format != m_format);
+ m_format = format;
+ if (changed)
+ emit formatChanged(m_format);
+}
+
+void Engine::setLevel(qreal rmsLevel, qreal peakLevel, int numSamples)
+{
+ m_rmsLevel = rmsLevel;
+ m_peakLevel = peakLevel;
+ emit levelChanged(m_rmsLevel, m_peakLevel, numSamples);
+}
+
+#ifdef DUMP_DATA
+void Engine::createOutputDir()
+{
+ m_outputDir.setPath("output");
+
+ // Ensure output directory exists and is empty
+ if (m_outputDir.exists()) {
+ const QStringList files = m_outputDir.entryList(QDir::Files);
+ QString file;
+ foreach (file, files)
+ m_outputDir.remove(file);
+ } else {
+ QDir::current().mkdir("output");
+ }
+}
+#endif // DUMP_DATA
+
+#ifdef DUMP_AUDIO
+void Engine::dumpData()
+{
+ const QString txtFileName = m_outputDir.filePath("data.txt");
+ QFile txtFile(txtFileName);
+ txtFile.open(QFile::WriteOnly | QFile::Text);
+ QTextStream stream(&txtFile);
+ const qint16 *ptr = reinterpret_cast<const qint16*>(m_buffer.constData());
+ const int numSamples = m_dataLength / (2 * m_format.channels());
+ for (int i=0; i<numSamples; ++i) {
+ stream << i << "\t" << *ptr << "\n";
+ ptr += m_format.channels();
+ }
+
+ const QString pcmFileName = m_outputDir.filePath("data.pcm");
+ QFile pcmFile(pcmFileName);
+ pcmFile.open(QFile::WriteOnly);
+ pcmFile.write(m_buffer.constData(), m_dataLength);
+}
+#endif // DUMP_AUDIO
diff --git a/demos/spectrum/app/engine.h b/demos/spectrum/app/engine.h
new file mode 100644
index 0000000000..b6fe3ed4e5
--- /dev/null
+++ b/demos/spectrum/app/engine.h
@@ -0,0 +1,314 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the examples of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#ifndef ENGINE_H
+#define ENGINE_H
+
+#include "spectrum.h"
+#include "spectrumanalyser.h"
+#include "wavfile.h"
+
+#include <QObject>
+#include <QByteArray>
+#include <QBuffer>
+#include <QVector>
+#include <QtMultimedia/QAudioDeviceInfo>
+#include <QtMultimedia/QAudioFormat>
+
+#ifdef DUMP_CAPTURED_AUDIO
+#define DUMP_DATA
+#endif
+
+#ifdef DUMP_SPECTRUM
+#define DUMP_DATA
+#endif
+
+#ifdef DUMP_DATA
+#include <QDir>
+#endif
+
+class FrequencySpectrum;
+QT_FORWARD_DECLARE_CLASS(QAudioInput)
+QT_FORWARD_DECLARE_CLASS(QAudioOutput)
+QT_FORWARD_DECLARE_CLASS(QFile)
+
+/**
+ * This class interfaces with the QtMultimedia audio classes, and also with
+ * the SpectrumAnalyser class. Its role is to manage the capture and playback
+ * of audio data, meanwhile performing real-time analysis of the audio level
+ * and frequency spectrum.
+ */
+class Engine : public QObject {
+ Q_OBJECT
+public:
+ Engine(QObject *parent = 0);
+ ~Engine();
+
+ const QList<QAudioDeviceInfo>& availableAudioInputDevices() const
+ { return m_availableAudioInputDevices; }
+
+ const QList<QAudioDeviceInfo>& availableAudioOutputDevices() const
+ { return m_availableAudioOutputDevices; }
+
+ QAudio::Mode mode() const { return m_mode; }
+ QAudio::State state() const { return m_state; }
+
+ /**
+ * \return Reference to internal audio buffer
+ * \note This reference is valid for the lifetime of the Engine
+ */
+ const QByteArray& buffer() const { return m_buffer; }
+
+ /**
+ * \return Current audio format
+ * \note May be QAudioFormat() if engine is not initialized
+ */
+ const QAudioFormat& format() const { return m_format; }
+
+ /**
+ * Stop any ongoing recording or playback, and reset to ground state.
+ */
+ void reset();
+
+ /**
+ * Load data from WAV file
+ */
+ bool loadFile(const QString &fileName);
+
+ /**
+ * Generate tone
+ */
+ bool generateTone(const Tone &tone);
+
+ /**
+ * Generate tone
+ */
+ bool generateSweptTone(qreal amplitude);
+
+ /**
+ * Initialize for recording
+ */
+ bool initializeRecord();
+
+ /**
+ * Position of the audio input device.
+ * \return Position in microseconds.
+ */
+ qint64 recordPosition() const { return m_recordPosition; }
+
+ /**
+ * RMS level of the most recently processed set of audio samples.
+ * \return Level in range (0.0, 1.0)
+ */
+ qreal rmsLevel() const { return m_rmsLevel; }
+
+ /**
+ * Peak level of the most recently processed set of audio samples.
+ * \return Level in range (0.0, 1.0)
+ */
+ qreal peakLevel() const { return m_peakLevel; }
+
+ /**
+ * Position of the audio output device.
+ * \return Position in microseconds.
+ */
+ qint64 playPosition() const { return m_playPosition; }
+
+ /**
+ * Length of the internal engine buffer.
+ * \return Buffer length in microseconds.
+ */
+ qint64 bufferDuration() const;
+
+ /**
+ * Amount of data held in the buffer.
+ * \return Data duration in microseconds.
+ */
+ qint64 dataDuration() const;
+
+ /**
+ * Returns the size of the underlying audio buffer in bytes.
+ * This should be an approximation of the capture latency.
+ */
+ qint64 audioBufferLength() const;
+
+ /**
+ * Set window function applied to audio data before spectral analysis.
+ */
+ void setWindowFunction(WindowFunction type);
+
+public slots:
+ void startRecording();
+ void startPlayback();
+ void suspend();
+ void setAudioInputDevice(const QAudioDeviceInfo &device);
+ void setAudioOutputDevice(const QAudioDeviceInfo &device);
+
+signals:
+ void stateChanged(QAudio::Mode mode, QAudio::State state);
+
+ /**
+ * Informational message for non-modal display
+ */
+ void infoMessage(const QString &message, int durationMs);
+
+ /**
+ * Error message for modal display
+ */
+ void errorMessage(const QString &heading, const QString &detail);
+
+ /**
+ * Format of audio data has changed
+ */
+ void formatChanged(const QAudioFormat &format);
+
+ /**
+ * Length of buffer has changed.
+ * \param duration Duration in microseconds
+ */
+ void bufferDurationChanged(qint64 duration);
+
+ /**
+ * Amount of data in buffer has changed.
+ * \param duration Duration of data in microseconds
+ */
+ void dataDurationChanged(qint64 duration);
+
+ /**
+ * Position of the audio input device has changed.
+ * \param position Position in microseconds
+ */
+ void recordPositionChanged(qint64 position);
+
+ /**
+ * Position of the audio output device has changed.
+ * \param position Position in microseconds
+ */
+ void playPositionChanged(qint64 position);
+
+ /**
+ * Level changed
+ * \param rmsLevel RMS level in range 0.0 - 1.0
+ * \param peakLevel Peak level in range 0.0 - 1.0
+ * \param numSamples Number of audio samples analysed
+ */
+ void levelChanged(qreal rmsLevel, qreal peakLevel, int numSamples);
+
+ /**
+ * Spectrum has changed.
+ * \param position Position of start of window in microseconds
+ * \param length Length of window in microseconds
+ * \param spectrum Resulting frequency spectrum
+ */
+ void spectrumChanged(qint64 position, qint64 length, const FrequencySpectrum &spectrum);
+
+private slots:
+ void audioNotify();
+ void audioStateChanged(QAudio::State state);
+ void audioDataReady();
+ void spectrumChanged(const FrequencySpectrum &spectrum);
+
+private:
+ bool initialize();
+ bool selectFormat();
+ void stopRecording();
+ void stopPlayback();
+ void setState(QAudio::State state);
+ void setState(QAudio::Mode mode, QAudio::State state);
+ void setFormat(const QAudioFormat &format);
+ void setRecordPosition(qint64 position, bool forceEmit = false);
+ void setPlayPosition(qint64 position, bool forceEmit = false);
+ void calculateLevel(qint64 position, qint64 length);
+ void calculateSpectrum(qint64 position);
+ void setLevel(qreal rmsLevel, qreal peakLevel, int numSamples);
+
+#ifdef DUMP_DATA
+ void createOutputDir();
+ QString outputPath() const { return m_outputDir.path(); }
+#endif
+
+#ifdef DUMP_CAPTURED_AUDIO
+ void dumpData();
+#endif
+
+private:
+ QAudio::Mode m_mode;
+ QAudio::State m_state;
+
+ bool m_generateTone;
+ SweptTone m_tone;
+
+ QFile* m_file;
+ WavFile m_wavFile;
+
+ QAudioFormat m_format;
+
+ const QList<QAudioDeviceInfo> m_availableAudioInputDevices;
+ QAudioDeviceInfo m_audioInputDevice;
+ QAudioInput* m_audioInput;
+ QIODevice* m_audioInputIODevice;
+ qint64 m_recordPosition;
+
+ const QList<QAudioDeviceInfo> m_availableAudioOutputDevices;
+ QAudioDeviceInfo m_audioOutputDevice;
+ QAudioOutput* m_audioOutput;
+ qint64 m_playPosition;
+ QBuffer m_audioOutputIODevice;
+
+ QByteArray m_buffer;
+ qint64 m_dataLength;
+
+ qreal m_rmsLevel;
+ qreal m_peakLevel;
+
+ int m_spectrumLengthBytes;
+ QByteArray m_spectrumBuffer;
+ SpectrumAnalyser m_spectrumAnalyser;
+ qint64 m_spectrumPosition;
+
+ int m_count;
+
+#ifdef DUMP_DATA
+ QDir m_outputDir;
+#endif
+
+};
+
+#endif // ENGINE_H
diff --git a/demos/spectrum/app/frequencyspectrum.cpp b/demos/spectrum/app/frequencyspectrum.cpp
new file mode 100644
index 0000000000..305742853d
--- /dev/null
+++ b/demos/spectrum/app/frequencyspectrum.cpp
@@ -0,0 +1,89 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the examples of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include "frequencyspectrum.h"
+
+FrequencySpectrum::FrequencySpectrum(int numPoints)
+ : m_elements(numPoints)
+{
+
+}
+
+void FrequencySpectrum::reset()
+{
+ iterator i = begin();
+ for ( ; i != end(); ++i)
+ *i = Element();
+}
+
+int FrequencySpectrum::count() const
+{
+ return m_elements.count();
+}
+
+FrequencySpectrum::Element& FrequencySpectrum::operator[](int index)
+{
+ return m_elements[index];
+}
+
+const FrequencySpectrum::Element& FrequencySpectrum::operator[](int index) const
+{
+ return m_elements[index];
+}
+
+FrequencySpectrum::iterator FrequencySpectrum::begin()
+{
+ return m_elements.begin();
+}
+
+FrequencySpectrum::iterator FrequencySpectrum::end()
+{
+ return m_elements.end();
+}
+
+FrequencySpectrum::const_iterator FrequencySpectrum::begin() const
+{
+ return m_elements.begin();
+}
+
+FrequencySpectrum::const_iterator FrequencySpectrum::end() const
+{
+ return m_elements.end();
+}
diff --git a/demos/spectrum/app/frequencyspectrum.h b/demos/spectrum/app/frequencyspectrum.h
new file mode 100644
index 0000000000..d974a44931
--- /dev/null
+++ b/demos/spectrum/app/frequencyspectrum.h
@@ -0,0 +1,98 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the examples of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#ifndef FREQUENCYSPECTRUM_H
+#define FREQUENCYSPECTRUM_H
+
+#include <QtCore/QVector>
+
+/**
+ * Represents a frequency spectrum as a series of elements, each of which
+ * consists of a frequency, an amplitude and a phase.
+ */
+class FrequencySpectrum {
+public:
+ FrequencySpectrum(int numPoints = 0);
+
+ struct Element {
+ Element()
+ : frequency(0.0), amplitude(0.0), phase(0.0), clipped(false)
+ { }
+
+ /**
+ * Frequency in Hertz
+ */
+ qreal frequency;
+
+ /**
+ * Amplitude in range [0.0, 1.0]
+ */
+ qreal amplitude;
+
+ /**
+ * Phase in range [0.0, 2*PI]
+ */
+ qreal phase;
+
+ /**
+ * Indicates whether value has been clipped during spectrum analysis
+ */
+ bool clipped;
+ };
+
+ typedef QVector<Element>::iterator iterator;
+ typedef QVector<Element>::const_iterator const_iterator;
+
+ void reset();
+
+ int count() const;
+ Element& operator[](int index);
+ const Element& operator[](int index) const;
+ iterator begin();
+ iterator end();
+ const_iterator begin() const;
+ const_iterator end() const;
+
+private:
+ QVector<Element> m_elements;
+
+};
+
+#endif // FREQUENCYSPECTRUM_H
diff --git a/demos/spectrum/app/images/record.png b/demos/spectrum/app/images/record.png
new file mode 100644
index 0000000000..e7493aad92
--- /dev/null
+++ b/demos/spectrum/app/images/record.png
Binary files differ
diff --git a/demos/spectrum/app/images/settings.png b/demos/spectrum/app/images/settings.png
new file mode 100644
index 0000000000..12179dc9ab
--- /dev/null
+++ b/demos/spectrum/app/images/settings.png
Binary files differ
diff --git a/demos/spectrum/app/levelmeter.cpp b/demos/spectrum/app/levelmeter.cpp
new file mode 100644
index 0000000000..819b98d346
--- /dev/null
+++ b/demos/spectrum/app/levelmeter.cpp
@@ -0,0 +1,142 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the examples of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include "levelmeter.h"
+
+#include <math.h>
+
+#include <QPainter>
+#include <QTimer>
+#include <QDebug>
+
+
+// Constants
+const int RedrawInterval = 100; // ms
+const qreal PeakDecayRate = 0.001;
+const int PeakHoldLevelDuration = 2000; // ms
+
+
+LevelMeter::LevelMeter(QWidget *parent)
+ : QWidget(parent)
+ , m_rmsLevel(0.0)
+ , m_peakLevel(0.0)
+ , m_decayedPeakLevel(0.0)
+ , m_peakDecayRate(PeakDecayRate)
+ , m_peakHoldLevel(0.0)
+ , m_redrawTimer(new QTimer(this))
+ , m_rmsColor(Qt::red)
+ , m_peakColor(255, 200, 200, 255)
+{
+ setSizePolicy(QSizePolicy::Fixed, QSizePolicy::Preferred);
+ setMinimumWidth(30);
+
+ connect(m_redrawTimer, SIGNAL(timeout()), this, SLOT(redrawTimerExpired()));
+ m_redrawTimer->start(RedrawInterval);
+}
+
+LevelMeter::~LevelMeter()
+{
+
+}
+
+void LevelMeter::reset()
+{
+ m_rmsLevel = 0.0;
+ m_peakLevel = 0.0;
+ update();
+}
+
+void LevelMeter::levelChanged(qreal rmsLevel, qreal peakLevel, int numSamples)
+{
+ // Smooth the RMS signal
+ const qreal smooth = pow(qreal(0.9), static_cast<qreal>(numSamples) / 256); // TODO: remove this magic number
+ m_rmsLevel = (m_rmsLevel * smooth) + (rmsLevel * (1.0 - smooth));
+
+ if (peakLevel > m_decayedPeakLevel) {
+ m_peakLevel = peakLevel;
+ m_decayedPeakLevel = peakLevel;
+ m_peakLevelChanged.start();
+ }
+
+ if (peakLevel > m_peakHoldLevel) {
+ m_peakHoldLevel = peakLevel;
+ m_peakHoldLevelChanged.start();
+ }
+
+ update();
+}
+
+void LevelMeter::redrawTimerExpired()
+{
+ // Decay the peak signal
+ const int elapsedMs = m_peakLevelChanged.elapsed();
+ const qreal decayAmount = m_peakDecayRate * elapsedMs;
+ if (decayAmount < m_peakLevel)
+ m_decayedPeakLevel = m_peakLevel - decayAmount;
+ else
+ m_decayedPeakLevel = 0.0;
+
+ // Check whether to clear the peak hold level
+ if (m_peakHoldLevelChanged.elapsed() > PeakHoldLevelDuration)
+ m_peakHoldLevel = 0.0;
+
+ update();
+}
+
+void LevelMeter::paintEvent(QPaintEvent *event)
+{
+ Q_UNUSED(event)
+
+ QPainter painter(this);
+ painter.fillRect(rect(), Qt::black);
+
+ QRect bar = rect();
+
+ bar.setTop(rect().top() + (1.0 - m_peakHoldLevel) * rect().height());
+ bar.setBottom(bar.top() + 5);
+ painter.fillRect(bar, m_rmsColor);
+ bar.setBottom(rect().bottom());
+
+ bar.setTop(rect().top() + (1.0 - m_decayedPeakLevel) * rect().height());
+ painter.fillRect(bar, m_peakColor);
+
+ bar.setTop(rect().top() + (1.0 - m_rmsLevel) * rect().height());
+ painter.fillRect(bar, m_rmsColor);
+}
diff --git a/demos/spectrum/app/levelmeter.h b/demos/spectrum/app/levelmeter.h
new file mode 100644
index 0000000000..38d13b1582
--- /dev/null
+++ b/demos/spectrum/app/levelmeter.h
@@ -0,0 +1,116 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the examples of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#ifndef LEVELMETER_H
+#define LEVELMETER_H
+
+#include <QTime>
+#include <QWidget>
+
+/**
+ * Widget which displays a vertical audio level meter, indicating the
+ * RMS and peak levels of the window of audio samples most recently analysed
+ * by the Engine.
+ */
+class LevelMeter : public QWidget {
+ Q_OBJECT
+public:
+ LevelMeter(QWidget *parent = 0);
+ ~LevelMeter();
+
+ void paintEvent(QPaintEvent *event);
+
+public slots:
+ void reset();
+ void levelChanged(qreal rmsLevel, qreal peakLevel, int numSamples);
+
+private slots:
+ void redrawTimerExpired();
+
+private:
+ /**
+ * Height of RMS level bar.
+ * Range 0.0 - 1.0.
+ */
+ qreal m_rmsLevel;
+
+ /**
+ * Most recent peak level.
+ * Range 0.0 - 1.0.
+ */
+ qreal m_peakLevel;
+
+ /**
+ * Height of peak level bar.
+ * This is calculated by decaying m_peakLevel depending on the
+ * elapsed time since m_peakLevelChanged, and the value of m_decayRate.
+ */
+ qreal m_decayedPeakLevel;
+
+ /**
+ * Time at which m_peakLevel was last changed.
+ */
+ QTime m_peakLevelChanged;
+
+ /**
+ * Rate at which peak level bar decays.
+ * Expressed in level units / millisecond.
+ */
+ qreal m_peakDecayRate;
+
+ /**
+ * High watermark of peak level.
+ * Range 0.0 - 1.0.
+ */
+ qreal m_peakHoldLevel;
+
+ /**
+ * Time at which m_peakHoldLevel was last changed.
+ */
+ QTime m_peakHoldLevelChanged;
+
+ QTimer *m_redrawTimer;
+
+ QColor m_rmsColor;
+ QColor m_peakColor;
+
+};
+
+#endif // LEVELMETER_H
diff --git a/demos/spectrum/app/main.cpp b/demos/spectrum/app/main.cpp
new file mode 100644
index 0000000000..3bdfb7d45c
--- /dev/null
+++ b/demos/spectrum/app/main.cpp
@@ -0,0 +1,57 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the examples of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include <QtGui/QApplication>
+#include "mainwidget.h"
+
+int main(int argc, char **argv)
+{
+ QApplication app(argc, argv);
+ app.setApplicationName("QtMultimedia spectrum analyser");
+ MainWidget w;
+
+#ifdef Q_OS_SYMBIAN
+ w.showMaximized();
+#else
+ w.show();
+#endif
+
+ return app.exec();
+}
diff --git a/demos/spectrum/app/mainwidget.cpp b/demos/spectrum/app/mainwidget.cpp
new file mode 100644
index 0000000000..dd51a91d14
--- /dev/null
+++ b/demos/spectrum/app/mainwidget.cpp
@@ -0,0 +1,454 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the examples of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include "engine.h"
+#include "levelmeter.h"
+#include "mainwidget.h"
+#include "waveform.h"
+#include "progressbar.h"
+#include "settingsdialog.h"
+#include "spectrograph.h"
+#include "tonegeneratordialog.h"
+#include "utils.h"
+
+#include <QLabel>
+#include <QPushButton>
+#include <QHBoxLayout>
+#include <QVBoxLayout>
+#include <QStyle>
+#include <QMenu>
+#include <QFileDialog>
+#include <QTimerEvent>
+#include <QMessageBox>
+
+const int NullTimerId = -1;
+
+MainWidget::MainWidget(QWidget *parent)
+ : QWidget(parent)
+ , m_mode(NoMode)
+ , m_engine(new Engine(this))
+#ifndef DISABLE_WAVEFORM
+ , m_waveform(new Waveform(m_engine->buffer(), this))
+#endif
+ , m_progressBar(new ProgressBar(this))
+ , m_spectrograph(new Spectrograph(this))
+ , m_levelMeter(new LevelMeter(this))
+ , m_modeButton(new QPushButton(this))
+ , m_recordButton(new QPushButton(this))
+ , m_pauseButton(new QPushButton(this))
+ , m_playButton(new QPushButton(this))
+ , m_settingsButton(new QPushButton(this))
+ , m_infoMessage(new QLabel(tr("Select a mode to begin"), this))
+ , m_infoMessageTimerId(NullTimerId)
+ , m_settingsDialog(new SettingsDialog(
+ m_engine->availableAudioInputDevices(),
+ m_engine->availableAudioOutputDevices(),
+ this))
+ , m_toneGeneratorDialog(new ToneGeneratorDialog(this))
+ , m_modeMenu(new QMenu(this))
+ , m_loadFileAction(0)
+ , m_generateToneAction(0)
+ , m_recordAction(0)
+{
+ m_spectrograph->setParams(SpectrumNumBands, SpectrumLowFreq, SpectrumHighFreq);
+
+ createUi();
+ connectUi();
+}
+
+MainWidget::~MainWidget()
+{
+
+}
+
+
+//-----------------------------------------------------------------------------
+// Public slots
+//-----------------------------------------------------------------------------
+
+void MainWidget::stateChanged(QAudio::Mode mode, QAudio::State state)
+{
+ Q_UNUSED(mode);
+
+ updateButtonStates();
+
+ if (QAudio::ActiveState != state && QAudio::SuspendedState != state) {
+ m_levelMeter->reset();
+ m_spectrograph->reset();
+ }
+}
+
+void MainWidget::formatChanged(const QAudioFormat &format)
+{
+ infoMessage(formatToString(format), NullMessageTimeout);
+
+#ifndef DISABLE_WAVEFORM
+ if (QAudioFormat() != format) {
+ m_waveform->initialize(format, WaveformTileLength,
+ WaveformWindowDuration);
+ }
+#endif
+}
+
+void MainWidget::spectrumChanged(qint64 position, qint64 length,
+ const FrequencySpectrum &spectrum)
+{
+ m_progressBar->windowChanged(position, length);
+ m_spectrograph->spectrumChanged(spectrum);
+}
+
+void MainWidget::infoMessage(const QString &message, int timeoutMs)
+{
+ m_infoMessage->setText(message);
+
+ if (NullTimerId != m_infoMessageTimerId) {
+ killTimer(m_infoMessageTimerId);
+ m_infoMessageTimerId = NullTimerId;
+ }
+
+ if (NullMessageTimeout != timeoutMs)
+ m_infoMessageTimerId = startTimer(timeoutMs);
+}
+
+void MainWidget::errorMessage(const QString &heading, const QString &detail)
+{
+#ifdef Q_OS_SYMBIAN
+ const QString message = heading + "\n" + detail;
+ QMessageBox::warning(this, "", message, QMessageBox::Close);
+#else
+ QMessageBox::warning(this, heading, detail, QMessageBox::Close);
+#endif
+}
+
+void MainWidget::timerEvent(QTimerEvent *event)
+{
+ Q_ASSERT(event->timerId() == m_infoMessageTimerId);
+ Q_UNUSED(event) // suppress warnings in release builds
+ killTimer(m_infoMessageTimerId);
+ m_infoMessageTimerId = NullTimerId;
+ m_infoMessage->setText("");
+}
+
+void MainWidget::positionChanged(qint64 positionUs)
+{
+#ifndef DISABLE_WAVEFORM
+ qint64 positionBytes = audioLength(m_engine->format(), positionUs);
+ m_waveform->positionChanged(positionBytes);
+#else
+ Q_UNUSED(positionUs)
+#endif
+}
+
+void MainWidget::bufferDurationChanged(qint64 durationUs)
+{
+ m_progressBar->bufferDurationChanged(durationUs);
+}
+
+
+//-----------------------------------------------------------------------------
+// Private slots
+//-----------------------------------------------------------------------------
+
+void MainWidget::dataDurationChanged(qint64 duration)
+{
+#ifndef DISABLE_WAVEFORM
+ const qint64 dataLength = audioLength(m_engine->format(), duration);
+ m_waveform->dataLengthChanged(dataLength);
+#else
+ Q_UNUSED(duration)
+#endif
+
+ updateButtonStates();
+}
+
+void MainWidget::showFileDialog()
+{
+ reset();
+ const QString dir;
+ const QStringList fileNames = QFileDialog::getOpenFileNames(this, tr("Open WAV file"), dir, "*.wav");
+ if (fileNames.count()) {
+ setMode(LoadFileMode);
+ m_engine->loadFile(fileNames.front());
+ updateButtonStates();
+ }
+}
+
+void MainWidget::showSettingsDialog()
+{
+ reset();
+ m_settingsDialog->exec();
+ if (m_settingsDialog->result() == QDialog::Accepted) {
+ m_engine->setAudioInputDevice(m_settingsDialog->inputDevice());
+ m_engine->setAudioOutputDevice(m_settingsDialog->outputDevice());
+ m_engine->setWindowFunction(m_settingsDialog->windowFunction());
+ }
+}
+
+void MainWidget::showToneGeneratorDialog()
+{
+ reset();
+ m_toneGeneratorDialog->exec();
+ if (m_toneGeneratorDialog->result() == QDialog::Accepted) {
+ setMode(GenerateToneMode);
+ const qreal amplitude = m_toneGeneratorDialog->amplitude();
+ if (m_toneGeneratorDialog->isFrequencySweepEnabled()) {
+ m_engine->generateSweptTone(amplitude);
+ } else {
+ const qreal frequency = m_toneGeneratorDialog->frequency();
+ const Tone tone(frequency, amplitude);
+ m_engine->generateTone(tone);
+ updateButtonStates();
+ }
+ }
+}
+
+void MainWidget::initializeRecord()
+{
+ reset();
+ setMode(RecordMode);
+ if (m_engine->initializeRecord())
+ updateButtonStates();
+}
+
+
+//-----------------------------------------------------------------------------
+// Private functions
+//-----------------------------------------------------------------------------
+
+void MainWidget::createUi()
+{
+ createMenus();
+
+ setWindowTitle(tr("Spectrum Analyser"));
+
+ QVBoxLayout *windowLayout = new QVBoxLayout(this);
+
+ m_infoMessage->setSizePolicy(QSizePolicy::Preferred, QSizePolicy::Fixed);
+ m_infoMessage->setAlignment(Qt::AlignHCenter);
+ windowLayout->addWidget(m_infoMessage);
+
+#ifdef SUPERIMPOSE_PROGRESS_ON_WAVEFORM
+ QScopedPointer<QHBoxLayout> waveformLayout(new QHBoxLayout);
+ waveformLayout->addWidget(m_progressBar);
+ m_progressBar->setMinimumHeight(m_waveform->minimumHeight());
+ waveformLayout->setMargin(0);
+ m_waveform->setLayout(waveformLayout.data());
+ waveformLayout.take();
+ windowLayout->addWidget(m_waveform);
+#else
+#ifndef DISABLE_WAVEFORM
+ windowLayout->addWidget(m_waveform);
+#endif // DISABLE_WAVEFORM
+ windowLayout->addWidget(m_progressBar);
+#endif // SUPERIMPOSE_PROGRESS_ON_WAVEFORM
+
+ // Spectrograph and level meter
+
+ QScopedPointer<QHBoxLayout> analysisLayout(new QHBoxLayout);
+ analysisLayout->addWidget(m_spectrograph);
+ analysisLayout->addWidget(m_levelMeter);
+ windowLayout->addLayout(analysisLayout.data());
+ analysisLayout.take();
+
+ // Button panel
+
+ const QSize buttonSize(30, 30);
+
+ m_modeButton->setText(tr("Mode"));
+
+ m_recordIcon = QIcon(":/images/record.png");
+ m_recordButton->setIcon(m_recordIcon);
+ m_recordButton->setEnabled(false);
+ m_recordButton->setSizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed);
+ m_recordButton->setMinimumSize(buttonSize);
+
+ m_pauseIcon = style()->standardIcon(QStyle::SP_MediaPause);
+ m_pauseButton->setIcon(m_pauseIcon);
+ m_pauseButton->setEnabled(false);
+ m_pauseButton->setSizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed);
+ m_pauseButton->setMinimumSize(buttonSize);
+
+ m_playIcon = style()->standardIcon(QStyle::SP_MediaPlay);
+ m_playButton->setIcon(m_playIcon);
+ m_playButton->setEnabled(false);
+ m_playButton->setSizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed);
+ m_playButton->setMinimumSize(buttonSize);
+
+ m_settingsIcon = QIcon(":/images/settings.png");
+ m_settingsButton->setIcon(m_settingsIcon);
+ m_settingsButton->setEnabled(true);
+ m_settingsButton->setSizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed);
+ m_settingsButton->setMinimumSize(buttonSize);
+
+ QScopedPointer<QHBoxLayout> buttonPanelLayout(new QHBoxLayout);
+ buttonPanelLayout->addStretch();
+ buttonPanelLayout->addWidget(m_modeButton);
+ buttonPanelLayout->addWidget(m_recordButton);
+ buttonPanelLayout->addWidget(m_pauseButton);
+ buttonPanelLayout->addWidget(m_playButton);
+ buttonPanelLayout->addWidget(m_settingsButton);
+
+ QWidget *buttonPanel = new QWidget(this);
+ buttonPanel->setSizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed);
+ buttonPanel->setLayout(buttonPanelLayout.data());
+ buttonPanelLayout.take(); // ownership transferred to buttonPanel
+
+ QScopedPointer<QHBoxLayout> bottomPaneLayout(new QHBoxLayout);
+ bottomPaneLayout->addWidget(buttonPanel);
+ windowLayout->addLayout(bottomPaneLayout.data());
+ bottomPaneLayout.take(); // ownership transferred to windowLayout
+
+ // Apply layout
+
+ setLayout(windowLayout);
+}
+
+void MainWidget::connectUi()
+{
+ CHECKED_CONNECT(m_recordButton, SIGNAL(clicked()),
+ m_engine, SLOT(startRecording()));
+
+ CHECKED_CONNECT(m_pauseButton, SIGNAL(clicked()),
+ m_engine, SLOT(suspend()));
+
+ CHECKED_CONNECT(m_playButton, SIGNAL(clicked()),
+ m_engine, SLOT(startPlayback()));
+
+ CHECKED_CONNECT(m_settingsButton, SIGNAL(clicked()),
+ this, SLOT(showSettingsDialog()));
+
+ CHECKED_CONNECT(m_engine, SIGNAL(stateChanged(QAudio::Mode,QAudio::State)),
+ this, SLOT(stateChanged(QAudio::Mode,QAudio::State)));
+
+ CHECKED_CONNECT(m_engine, SIGNAL(formatChanged(const QAudioFormat &)),
+ this, SLOT(formatChanged(const QAudioFormat &)));
+
+ m_progressBar->bufferDurationChanged(m_engine->bufferDuration());
+
+ CHECKED_CONNECT(m_engine, SIGNAL(bufferDurationChanged(qint64)),
+ this, SLOT(bufferDurationChanged(qint64)));
+
+ CHECKED_CONNECT(m_engine, SIGNAL(dataDurationChanged(qint64)),
+ this, SLOT(dataDurationChanged(qint64)));
+
+ CHECKED_CONNECT(m_engine, SIGNAL(recordPositionChanged(qint64)),
+ m_progressBar, SLOT(recordPositionChanged(qint64)));
+
+ CHECKED_CONNECT(m_engine, SIGNAL(playPositionChanged(qint64)),
+ m_progressBar, SLOT(playPositionChanged(qint64)));
+
+ CHECKED_CONNECT(m_engine, SIGNAL(recordPositionChanged(qint64)),
+ this, SLOT(positionChanged(qint64)));
+
+ CHECKED_CONNECT(m_engine, SIGNAL(playPositionChanged(qint64)),
+ this, SLOT(positionChanged(qint64)));
+
+ CHECKED_CONNECT(m_engine, SIGNAL(levelChanged(qreal, qreal, int)),
+ m_levelMeter, SLOT(levelChanged(qreal, qreal, int)));
+
+ CHECKED_CONNECT(m_engine, SIGNAL(spectrumChanged(qint64, qint64, const FrequencySpectrum &)),
+ this, SLOT(spectrumChanged(qint64, qint64, const FrequencySpectrum &)));
+
+ CHECKED_CONNECT(m_engine, SIGNAL(infoMessage(QString, int)),
+ this, SLOT(infoMessage(QString, int)));
+
+ CHECKED_CONNECT(m_engine, SIGNAL(errorMessage(QString, QString)),
+ this, SLOT(errorMessage(QString, QString)));
+
+ CHECKED_CONNECT(m_spectrograph, SIGNAL(infoMessage(QString, int)),
+ this, SLOT(infoMessage(QString, int)));
+}
+
+void MainWidget::createMenus()
+{
+ m_modeButton->setMenu(m_modeMenu);
+
+ m_generateToneAction = m_modeMenu->addAction(tr("Play generated tone"));
+ m_recordAction = m_modeMenu->addAction(tr("Record and play back"));
+ m_loadFileAction = m_modeMenu->addAction(tr("Play file"));
+
+ m_loadFileAction->setCheckable(true);
+ m_generateToneAction->setCheckable(true);
+ m_recordAction->setCheckable(true);
+
+ connect(m_loadFileAction, SIGNAL(triggered(bool)), this, SLOT(showFileDialog()));
+ connect(m_generateToneAction, SIGNAL(triggered(bool)), this, SLOT(showToneGeneratorDialog()));
+ connect(m_recordAction, SIGNAL(triggered(bool)), this, SLOT(initializeRecord()));
+}
+
+void MainWidget::updateButtonStates()
+{
+ const bool recordEnabled = ((QAudio::AudioOutput == m_engine->mode() ||
+ (QAudio::ActiveState != m_engine->state() &&
+ QAudio::IdleState != m_engine->state())) &&
+ RecordMode == m_mode);
+ m_recordButton->setEnabled(recordEnabled);
+
+ const bool pauseEnabled = (QAudio::ActiveState == m_engine->state() ||
+ QAudio::IdleState == m_engine->state());
+ m_pauseButton->setEnabled(pauseEnabled);
+
+ const bool playEnabled = (m_engine->dataDuration() &&
+ (QAudio::AudioOutput != m_engine->mode() ||
+ (QAudio::ActiveState != m_engine->state() &&
+ QAudio::IdleState != m_engine->state())));
+ m_playButton->setEnabled(playEnabled);
+}
+
+void MainWidget::reset()
+{
+#ifndef DISABLE_WAVEFORM
+ m_waveform->reset();
+#endif
+ m_engine->reset();
+ m_levelMeter->reset();
+ m_spectrograph->reset();
+ m_progressBar->reset();
+}
+
+void MainWidget::setMode(Mode mode)
+{
+
+ m_mode = mode;
+ m_loadFileAction->setChecked(LoadFileMode == mode);
+ m_generateToneAction->setChecked(GenerateToneMode == mode);
+ m_recordAction->setChecked(RecordMode == mode);
+}
+
diff --git a/demos/spectrum/app/mainwidget.h b/demos/spectrum/app/mainwidget.h
new file mode 100644
index 0000000000..ddab8b7cfe
--- /dev/null
+++ b/demos/spectrum/app/mainwidget.h
@@ -0,0 +1,142 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the examples of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#ifndef MAINWIDGET_H
+#define MAINWIDGET_H
+
+#include <QWidget>
+#include <QIcon>
+#include <QtMultimedia/qaudio.h>
+
+class Engine;
+class FrequencySpectrum;
+class ProgressBar;
+class Spectrograph;
+class Waveform;
+class LevelMeter;
+class SettingsDialog;
+class ToneGeneratorDialog;
+
+QT_FORWARD_DECLARE_CLASS(QAudioFormat)
+QT_FORWARD_DECLARE_CLASS(QLabel)
+QT_FORWARD_DECLARE_CLASS(QPushButton)
+QT_FORWARD_DECLARE_CLASS(QMenu)
+QT_FORWARD_DECLARE_CLASS(QAction)
+
+/**
+ * Main application widget, responsible for connecting the various UI
+ * elements to the Engine.
+ */
+class MainWidget : public QWidget {
+ Q_OBJECT
+public:
+ MainWidget(QWidget *parent = 0);
+ ~MainWidget();
+
+ // QObject
+ void timerEvent(QTimerEvent *event);
+
+public slots:
+ void stateChanged(QAudio::Mode mode, QAudio::State state);
+ void formatChanged(const QAudioFormat &format);
+ void spectrumChanged(qint64 position, qint64 length,
+ const FrequencySpectrum &spectrum);
+ void infoMessage(const QString &message, int timeoutMs);
+ void errorMessage(const QString &heading, const QString &detail);
+ void positionChanged(qint64 position);
+ void bufferDurationChanged(qint64 duration);
+
+private slots:
+ void showFileDialog();
+ void showSettingsDialog();
+ void showToneGeneratorDialog();
+ void initializeRecord();
+ void dataDurationChanged(qint64 duration);
+
+private:
+ void createUi();
+ void createMenus();
+ void connectUi();
+ void updateButtonStates();
+ void reset();
+
+ enum Mode {
+ NoMode,
+ RecordMode,
+ GenerateToneMode,
+ LoadFileMode
+ };
+
+ void setMode(Mode mode);
+
+private:
+ Mode m_mode;
+
+ Engine* m_engine;
+
+ Waveform* m_waveform;
+ ProgressBar* m_progressBar;
+ Spectrograph* m_spectrograph;
+ LevelMeter* m_levelMeter;
+
+ QPushButton* m_modeButton;
+ QPushButton* m_recordButton;
+ QIcon m_recordIcon;
+ QPushButton* m_pauseButton;
+ QIcon m_pauseIcon;
+ QPushButton* m_playButton;
+ QIcon m_playIcon;
+ QPushButton* m_settingsButton;
+ QIcon m_settingsIcon;
+
+ QLabel* m_infoMessage;
+ int m_infoMessageTimerId;
+
+ SettingsDialog* m_settingsDialog;
+ ToneGeneratorDialog* m_toneGeneratorDialog;
+
+ QMenu* m_modeMenu;
+ QAction* m_loadFileAction;
+ QAction* m_generateToneAction;
+ QAction* m_recordAction;
+
+};
+
+#endif // MAINWIDGET_H
diff --git a/demos/spectrum/app/progressbar.cpp b/demos/spectrum/app/progressbar.cpp
new file mode 100644
index 0000000000..6bfc69052e
--- /dev/null
+++ b/demos/spectrum/app/progressbar.cpp
@@ -0,0 +1,140 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the examples of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include "progressbar.h"
+#include "spectrum.h"
+#include <QPainter>
+
+ProgressBar::ProgressBar(QWidget *parent)
+ : QWidget(parent)
+ , m_bufferDuration(0)
+ , m_recordPosition(0)
+ , m_playPosition(0)
+ , m_windowPosition(0)
+ , m_windowLength(0)
+{
+ setSizePolicy(QSizePolicy::Preferred, QSizePolicy::Fixed);
+ setMinimumHeight(30);
+#ifdef SUPERIMPOSE_PROGRESS_ON_WAVEFORM
+ setAutoFillBackground(false);
+#endif
+}
+
+ProgressBar::~ProgressBar()
+{
+
+}
+
+void ProgressBar::reset()
+{
+ m_bufferDuration = 0;
+ m_recordPosition = 0;
+ m_playPosition = 0;
+ m_windowPosition = 0;
+ m_windowLength = 0;
+ update();
+}
+
+void ProgressBar::paintEvent(QPaintEvent * /*event*/)
+{
+ QPainter painter(this);
+
+ QColor bufferColor(0, 0, 255);
+ QColor windowColor(0, 255, 0);
+
+#ifdef SUPERIMPOSE_PROGRESS_ON_WAVEFORM
+ bufferColor.setAlphaF(0.5);
+ windowColor.setAlphaF(0.5);
+#else
+ painter.fillRect(rect(), Qt::black);
+#endif
+
+ if (m_bufferDuration) {
+ QRect bar = rect();
+ const qreal play = qreal(m_playPosition) / m_bufferDuration;
+ bar.setLeft(rect().left() + play * rect().width());
+ const qreal record = qreal(m_recordPosition) / m_bufferDuration;
+ bar.setRight(rect().left() + record * rect().width());
+ painter.fillRect(bar, bufferColor);
+
+ QRect window = rect();
+ const qreal windowLeft = qreal(m_windowPosition) / m_bufferDuration;
+ window.setLeft(rect().left() + windowLeft * rect().width());
+ const qreal windowWidth = qreal(m_windowLength) / m_bufferDuration;
+ window.setWidth(windowWidth * rect().width());
+ painter.fillRect(window, windowColor);
+ }
+}
+
+void ProgressBar::bufferDurationChanged(qint64 bufferSize)
+{
+ m_bufferDuration = bufferSize;
+ m_recordPosition = 0;
+ m_playPosition = 0;
+ m_windowPosition = 0;
+ m_windowLength = 0;
+ repaint();
+}
+
+void ProgressBar::recordPositionChanged(qint64 recordPosition)
+{
+ Q_ASSERT(recordPosition >= 0);
+ Q_ASSERT(recordPosition <= m_bufferDuration);
+ m_recordPosition = recordPosition;
+ repaint();
+}
+
+void ProgressBar::playPositionChanged(qint64 playPosition)
+{
+ Q_ASSERT(playPosition >= 0);
+ Q_ASSERT(playPosition <= m_bufferDuration);
+ m_playPosition = playPosition;
+ repaint();
+}
+
+void ProgressBar::windowChanged(qint64 position, qint64 length)
+{
+ Q_ASSERT(position >= 0);
+ Q_ASSERT(position <= m_bufferDuration);
+ Q_ASSERT(position + length <= m_bufferDuration);
+ m_windowPosition = position;
+ m_windowLength = length;
+ repaint();
+}
diff --git a/demos/spectrum/app/progressbar.h b/demos/spectrum/app/progressbar.h
new file mode 100644
index 0000000000..8514adb2f9
--- /dev/null
+++ b/demos/spectrum/app/progressbar.h
@@ -0,0 +1,74 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the examples of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#ifndef PROGRESSBAR_H
+#define PROGRESSBAR_H
+
+#include <QWidget>
+
+/**
+ * Widget which displays a the current fill state of the Engine's internal
+ * buffer, and the current play/record position within that buffer.
+ */
+class ProgressBar : public QWidget {
+ Q_OBJECT
+public:
+ ProgressBar(QWidget *parent = 0);
+ ~ProgressBar();
+
+ void reset();
+ void paintEvent(QPaintEvent *event);
+
+public slots:
+ void bufferDurationChanged(qint64 bufferSize);
+ void recordPositionChanged(qint64 recordPosition);
+ void playPositionChanged(qint64 playPosition);
+ void windowChanged(qint64 position, qint64 length);
+
+private:
+ qint64 m_bufferDuration;
+ qint64 m_recordPosition;
+ qint64 m_playPosition;
+ qint64 m_windowPosition;
+ qint64 m_windowLength;
+
+};
+
+#endif // PROGRESSBAR_H
diff --git a/demos/spectrum/app/settingsdialog.cpp b/demos/spectrum/app/settingsdialog.cpp
new file mode 100644
index 0000000000..b5e8459b20
--- /dev/null
+++ b/demos/spectrum/app/settingsdialog.cpp
@@ -0,0 +1,148 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the examples of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include "settingsdialog.h"
+#include <QComboBox>
+#include <QDialogButtonBox>
+#include <QLabel>
+#include <QPushButton>
+#include <QVBoxLayout>
+#include <QCheckBox>
+#include <QSlider>
+#include <QSpinBox>
+
+SettingsDialog::SettingsDialog(
+ const QList<QAudioDeviceInfo> &availableInputDevices,
+ const QList<QAudioDeviceInfo> &availableOutputDevices,
+ QWidget *parent)
+ : QDialog(parent)
+ , m_windowFunction(DefaultWindowFunction)
+ , m_inputDeviceComboBox(new QComboBox(this))
+ , m_outputDeviceComboBox(new QComboBox(this))
+ , m_windowFunctionComboBox(new QComboBox(this))
+{
+ QVBoxLayout *dialogLayout = new QVBoxLayout(this);
+
+ // Populate combo boxes
+
+ QAudioDeviceInfo device;
+ foreach (device, availableInputDevices)
+ m_inputDeviceComboBox->addItem(device.deviceName(),
+ qVariantFromValue(device));
+ foreach (device, availableOutputDevices)
+ m_outputDeviceComboBox->addItem(device.deviceName(),
+ qVariantFromValue(device));
+
+ m_windowFunctionComboBox->addItem(tr("None"), qVariantFromValue(int(NoWindow)));
+ m_windowFunctionComboBox->addItem("Hann", qVariantFromValue(int(HannWindow)));
+ m_windowFunctionComboBox->setCurrentIndex(m_windowFunction);
+
+ // Initialize default devices
+ if (!availableInputDevices.empty())
+ m_inputDevice = availableInputDevices.front();
+ if (!availableOutputDevices.empty())
+ m_outputDevice = availableOutputDevices.front();
+
+ // Add widgets to layout
+
+ QScopedPointer<QHBoxLayout> inputDeviceLayout(new QHBoxLayout);
+ QLabel *inputDeviceLabel = new QLabel(tr("Input device"), this);
+ inputDeviceLayout->addWidget(inputDeviceLabel);
+ inputDeviceLayout->addWidget(m_inputDeviceComboBox);
+ dialogLayout->addLayout(inputDeviceLayout.data());
+ inputDeviceLayout.take(); // ownership transferred to dialogLayout
+
+ QScopedPointer<QHBoxLayout> outputDeviceLayout(new QHBoxLayout);
+ QLabel *outputDeviceLabel = new QLabel(tr("Output device"), this);
+ outputDeviceLayout->addWidget(outputDeviceLabel);
+ outputDeviceLayout->addWidget(m_outputDeviceComboBox);
+ dialogLayout->addLayout(outputDeviceLayout.data());
+ outputDeviceLayout.take(); // ownership transferred to dialogLayout
+
+ QScopedPointer<QHBoxLayout> windowFunctionLayout(new QHBoxLayout);
+ QLabel *windowFunctionLabel = new QLabel(tr("Window function"), this);
+ windowFunctionLayout->addWidget(windowFunctionLabel);
+ windowFunctionLayout->addWidget(m_windowFunctionComboBox);
+ dialogLayout->addLayout(windowFunctionLayout.data());
+ windowFunctionLayout.take(); // ownership transferred to dialogLayout
+
+ // Connect
+ CHECKED_CONNECT(m_inputDeviceComboBox, SIGNAL(activated(int)),
+ this, SLOT(inputDeviceChanged(int)));
+ CHECKED_CONNECT(m_outputDeviceComboBox, SIGNAL(activated(int)),
+ this, SLOT(outputDeviceChanged(int)));
+ CHECKED_CONNECT(m_windowFunctionComboBox, SIGNAL(activated(int)),
+ this, SLOT(windowFunctionChanged(int)));
+
+ // Add standard buttons to layout
+ QDialogButtonBox *buttonBox = new QDialogButtonBox(this);
+ buttonBox->setStandardButtons(QDialogButtonBox::Ok | QDialogButtonBox::Cancel);
+ dialogLayout->addWidget(buttonBox);
+
+ // Connect standard buttons
+ CHECKED_CONNECT(buttonBox->button(QDialogButtonBox::Ok), SIGNAL(clicked()),
+ this, SLOT(accept()));
+ CHECKED_CONNECT(buttonBox->button(QDialogButtonBox::Cancel), SIGNAL(clicked()),
+ this, SLOT(reject()));
+
+ setLayout(dialogLayout);
+}
+
+SettingsDialog::~SettingsDialog()
+{
+
+}
+
+void SettingsDialog::windowFunctionChanged(int index)
+{
+ m_windowFunction = static_cast<WindowFunction>(
+ m_windowFunctionComboBox->itemData(index).value<int>());
+}
+
+void SettingsDialog::inputDeviceChanged(int index)
+{
+ m_inputDevice = m_inputDeviceComboBox->itemData(index).value<QAudioDeviceInfo>();
+}
+
+void SettingsDialog::outputDeviceChanged(int index)
+{
+ m_outputDevice = m_outputDeviceComboBox->itemData(index).value<QAudioDeviceInfo>();
+}
+
diff --git a/demos/spectrum/app/settingsdialog.h b/demos/spectrum/app/settingsdialog.h
new file mode 100644
index 0000000000..796b4af976
--- /dev/null
+++ b/demos/spectrum/app/settingsdialog.h
@@ -0,0 +1,87 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the examples of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#ifndef SETTINGSDIALOG_H
+#define SETTINGSDIALOG_H
+
+#include "spectrum.h"
+#include <QDialog>
+#include <QtMultimedia/QAudioDeviceInfo>
+
+QT_FORWARD_DECLARE_CLASS(QComboBox)
+QT_FORWARD_DECLARE_CLASS(QCheckBox)
+QT_FORWARD_DECLARE_CLASS(QSlider)
+QT_FORWARD_DECLARE_CLASS(QSpinBox)
+QT_FORWARD_DECLARE_CLASS(QGridLayout)
+
+/**
+ * Dialog used to control settings such as the audio input / output device
+ * and the windowing function.
+ */
+class SettingsDialog : public QDialog {
+ Q_OBJECT
+public:
+ SettingsDialog(const QList<QAudioDeviceInfo> &availableInputDevices,
+ const QList<QAudioDeviceInfo> &availableOutputDevices,
+ QWidget *parent = 0);
+ ~SettingsDialog();
+
+ WindowFunction windowFunction() const { return m_windowFunction; }
+ const QAudioDeviceInfo& inputDevice() const { return m_inputDevice; }
+ const QAudioDeviceInfo& outputDevice() const { return m_outputDevice; }
+
+private slots:
+ void windowFunctionChanged(int index);
+ void inputDeviceChanged(int index);
+ void outputDeviceChanged(int index);
+
+private:
+ WindowFunction m_windowFunction;
+ QAudioDeviceInfo m_inputDevice;
+ QAudioDeviceInfo m_outputDevice;
+
+ QComboBox* m_inputDeviceComboBox;
+ QComboBox* m_outputDeviceComboBox;
+
+ QComboBox* m_windowFunctionComboBox;
+
+};
+
+#endif // SETTINGSDIALOG_H
diff --git a/demos/spectrum/app/spectrograph.cpp b/demos/spectrum/app/spectrograph.cpp
new file mode 100644
index 0000000000..3ec0804de3
--- /dev/null
+++ b/demos/spectrum/app/spectrograph.cpp
@@ -0,0 +1,241 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the examples of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include "spectrograph.h"
+#include <QPainter>
+#include <QMouseEvent>
+#include <QDebug>
+#include <QTimerEvent>
+
+const int NullTimerId = -1;
+const int NullIndex = -1;
+const int BarSelectionInterval = 2000;
+
+Spectrograph::Spectrograph(QWidget *parent)
+ : QWidget(parent)
+ , m_barSelected(NullIndex)
+ , m_timerId(NullTimerId)
+ , m_lowFreq(0.0)
+ , m_highFreq(0.0)
+{
+ setMinimumHeight(100);
+}
+
+Spectrograph::~Spectrograph()
+{
+
+}
+
+void Spectrograph::setParams(int numBars, qreal lowFreq, qreal highFreq)
+{
+ Q_ASSERT(numBars > 0);
+ Q_ASSERT(highFreq > lowFreq);
+ m_bars.resize(numBars);
+ m_lowFreq = lowFreq;
+ m_highFreq = highFreq;
+ updateBars();
+}
+
+void Spectrograph::timerEvent(QTimerEvent *event)
+{
+ Q_ASSERT(event->timerId() == m_timerId);
+ Q_UNUSED(event) // suppress warnings in release builds
+ killTimer(m_timerId);
+ m_timerId = NullTimerId;
+ m_barSelected = NullIndex;
+ update();
+}
+
+void Spectrograph::paintEvent(QPaintEvent *event)
+{
+ Q_UNUSED(event)
+
+ QPainter painter(this);
+ painter.fillRect(rect(), Qt::black);
+
+ const int numBars = m_bars.count();
+
+ // Highlight region of selected bar
+ if (m_barSelected != NullIndex && numBars) {
+ QRect regionRect = rect();
+ regionRect.setLeft(m_barSelected * rect().width() / numBars);
+ regionRect.setWidth(rect().width() / numBars);
+ QColor regionColor(202, 202, 64);
+ painter.setBrush(Qt::DiagCrossPattern);
+ painter.fillRect(regionRect, regionColor);
+ painter.setBrush(Qt::NoBrush);
+ }
+
+ QColor barColor(51, 204, 102);
+ QColor clipColor(255, 255, 0);
+
+ // Draw the outline
+ const QColor gridColor = barColor.darker();
+ QPen gridPen(gridColor);
+ painter.setPen(gridPen);
+ painter.drawLine(rect().topLeft(), rect().topRight());
+ painter.drawLine(rect().topRight(), rect().bottomRight());
+ painter.drawLine(rect().bottomRight(), rect().bottomLeft());
+ painter.drawLine(rect().bottomLeft(), rect().topLeft());
+
+ QVector<qreal> dashes;
+ dashes << 2 << 2;
+ gridPen.setDashPattern(dashes);
+ painter.setPen(gridPen);
+
+ // Draw vertical lines between bars
+ if (numBars) {
+ const int numHorizontalSections = numBars;
+ QLine line(rect().topLeft(), rect().bottomLeft());
+ for (int i=1; i<numHorizontalSections; ++i) {
+ line.translate(rect().width()/numHorizontalSections, 0);
+ painter.drawLine(line);
+ }
+ }
+
+ // Draw horizontal lines
+ const int numVerticalSections = 10;
+ QLine line(rect().topLeft(), rect().topRight());
+ for (int i=1; i<numVerticalSections; ++i) {
+ line.translate(0, rect().height()/numVerticalSections);
+ painter.drawLine(line);
+ }
+
+ barColor = barColor.lighter();
+ barColor.setAlphaF(0.75);
+ clipColor.setAlphaF(0.75);
+
+ // Draw the bars
+ if (numBars) {
+ // Calculate width of bars and gaps
+ const int widgetWidth = rect().width();
+ const int barPlusGapWidth = widgetWidth / numBars;
+ const int barWidth = 0.8 * barPlusGapWidth;
+ const int gapWidth = barPlusGapWidth - barWidth;
+ const int paddingWidth = widgetWidth - numBars * (barWidth + gapWidth);
+ const int leftPaddingWidth = (paddingWidth + gapWidth) / 2;
+ const int barHeight = rect().height() - 2 * gapWidth;
+
+ for (int i=0; i<numBars; ++i) {
+ const qreal value = m_bars[i].value;
+ Q_ASSERT(value >= 0.0 && value <= 1.0);
+ QRect bar = rect();
+ bar.setLeft(rect().left() + leftPaddingWidth + (i * (gapWidth + barWidth)));
+ bar.setWidth(barWidth);
+ bar.setTop(rect().top() + gapWidth + (1.0 - value) * barHeight);
+ bar.setBottom(rect().bottom() - gapWidth);
+
+ QColor color = barColor;
+ if (m_bars[i].clipped)
+ color = clipColor;
+
+ painter.fillRect(bar, color);
+ }
+ }
+}
+
+void Spectrograph::mousePressEvent(QMouseEvent *event)
+{
+ const QPoint pos = event->pos();
+ const int index = m_bars.count() * (pos.x() - rect().left()) / rect().width();
+ selectBar(index);
+}
+
+void Spectrograph::reset()
+{
+ m_spectrum.reset();
+ spectrumChanged(m_spectrum);
+}
+
+void Spectrograph::spectrumChanged(const FrequencySpectrum &spectrum)
+{
+ m_spectrum = spectrum;
+ updateBars();
+}
+
+int Spectrograph::barIndex(qreal frequency) const
+{
+ Q_ASSERT(frequency >= m_lowFreq && frequency < m_highFreq);
+ const qreal bandWidth = (m_highFreq - m_lowFreq) / m_bars.count();
+ const int index = (frequency - m_lowFreq) / bandWidth;
+ if(index <0 || index >= m_bars.count())
+ Q_ASSERT(false);
+ return index;
+}
+
+QPair<qreal, qreal> Spectrograph::barRange(int index) const
+{
+ Q_ASSERT(index >= 0 && index < m_bars.count());
+ const qreal bandWidth = (m_highFreq - m_lowFreq) / m_bars.count();
+ return QPair<qreal, qreal>(index * bandWidth, (index+1) * bandWidth);
+}
+
+void Spectrograph::updateBars()
+{
+ m_bars.fill(Bar());
+ FrequencySpectrum::const_iterator i = m_spectrum.begin();
+ const FrequencySpectrum::const_iterator end = m_spectrum.end();
+ for ( ; i != end; ++i) {
+ const FrequencySpectrum::Element e = *i;
+ if (e.frequency >= m_lowFreq && e.frequency < m_highFreq) {
+ Bar &bar = m_bars[barIndex(e.frequency)];
+ bar.value = qMax(bar.value, e.amplitude);
+ bar.clipped |= e.clipped;
+ }
+ }
+ update();
+}
+
+void Spectrograph::selectBar(int index) {
+ const QPair<qreal, qreal> frequencyRange = barRange(index);
+ const QString message = QString("%1 - %2 Hz")
+ .arg(frequencyRange.first)
+ .arg(frequencyRange.second);
+ emit infoMessage(message, BarSelectionInterval);
+
+ if (NullTimerId != m_timerId)
+ killTimer(m_timerId);
+ m_timerId = startTimer(BarSelectionInterval);
+
+ m_barSelected = index;
+ update();
+}
+
+
diff --git a/demos/spectrum/app/spectrograph.h b/demos/spectrum/app/spectrograph.h
new file mode 100644
index 0000000000..ce59d90a0e
--- /dev/null
+++ b/demos/spectrum/app/spectrograph.h
@@ -0,0 +1,99 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the examples of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#ifndef SPECTROGRAPH_H
+#define SPECTROGRAPH_H
+
+#include <QWidget>
+#include "frequencyspectrum.h"
+
+QT_FORWARD_DECLARE_CLASS(QMouseEvent)
+
+/**
+ * Widget which displays a spectrograph showing the frequency spectrum
+ * of the window of audio samples most recently analysed by the Engine.
+ */
+class Spectrograph : public QWidget {
+ Q_OBJECT
+public:
+ Spectrograph(QWidget *parent = 0);
+ ~Spectrograph();
+
+ void setParams(int numBars, qreal lowFreq, qreal highFreq);
+
+ // QObject
+ void timerEvent(QTimerEvent *event);
+
+ // QWidget
+ void paintEvent(QPaintEvent *event);
+ void mousePressEvent(QMouseEvent *event);
+
+signals:
+ void infoMessage(const QString &message, int intervalMs);
+
+public slots:
+ void reset();
+ void spectrumChanged(const FrequencySpectrum &spectrum);
+
+private:
+ int barIndex(qreal frequency) const;
+ QPair<qreal, qreal> barRange(int barIndex) const;
+ void updateBars();
+
+ void selectBar(int index);
+
+private:
+ struct Bar {
+ Bar() : value(0.0), clipped(false) { }
+ qreal value;
+ bool clipped;
+ };
+
+ QVector<Bar> m_bars;
+ int m_barSelected;
+ int m_timerId;
+ qreal m_lowFreq;
+ qreal m_highFreq;
+ FrequencySpectrum m_spectrum;
+
+
+};
+
+#endif // SPECTROGRAPH_H
diff --git a/demos/spectrum/app/spectrum.h b/demos/spectrum/app/spectrum.h
new file mode 100644
index 0000000000..cac320e6f8
--- /dev/null
+++ b/demos/spectrum/app/spectrum.h
@@ -0,0 +1,144 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the examples of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#ifndef SPECTRUM_H
+#define SPECTRUM_H
+
+#include <QtCore/qglobal.h>
+#include "utils.h"
+#include "fftreal_wrapper.h" // For FFTLengthPowerOfTwo
+
+//-----------------------------------------------------------------------------
+// Constants
+//-----------------------------------------------------------------------------
+
+// Number of audio samples used to calculate the frequency spectrum
+const int SpectrumLengthSamples = PowerOfTwo<FFTLengthPowerOfTwo>::Result;
+
+// Number of bands in the frequency spectrum
+const int SpectrumNumBands = 10;
+
+// Lower bound of first band in the spectrum
+const qreal SpectrumLowFreq = 0.0; // Hz
+
+// Upper band of last band in the spectrum
+const qreal SpectrumHighFreq = 1000.0; // Hz
+
+// Waveform window size in microseconds
+const qint64 WaveformWindowDuration = 500 * 1000;
+
+// Length of waveform tiles in bytes
+// Ideally, these would match the QAudio*::bufferSize(), but that isn't
+// available until some time after QAudio*::start() has been called, and we
+// need this value in order to initialize the waveform display.
+// We therefore just choose a sensible value.
+const int WaveformTileLength = 4096;
+
+// Fudge factor used to calculate the spectrum bar heights
+const qreal SpectrumAnalyserMultiplier = 0.15;
+
+// Disable message timeout
+const int NullMessageTimeout = -1;
+
+
+//-----------------------------------------------------------------------------
+// Types and data structures
+//-----------------------------------------------------------------------------
+
+enum WindowFunction {
+ NoWindow,
+ HannWindow
+};
+
+const WindowFunction DefaultWindowFunction = HannWindow;
+
+struct Tone {
+ Tone(qreal freq = 0.0, qreal amp = 0.0)
+ : frequency(freq), amplitude(amp)
+ { }
+
+ // Start and end frequencies for swept tone generation
+ qreal frequency;
+
+ // Amplitude in range [0.0, 1.0]
+ qreal amplitude;
+};
+
+struct SweptTone {
+ SweptTone(qreal start = 0.0, qreal end = 0.0, qreal amp = 0.0)
+ : startFreq(start), endFreq(end), amplitude(amp)
+ { Q_ASSERT(end >= start); }
+
+ SweptTone(const Tone &tone)
+ : startFreq(tone.frequency), endFreq(tone.frequency), amplitude(tone.amplitude)
+ { }
+
+ // Start and end frequencies for swept tone generation
+ qreal startFreq;
+ qreal endFreq;
+
+ // Amplitude in range [0.0, 1.0]
+ qreal amplitude;
+};
+
+
+//-----------------------------------------------------------------------------
+// Macros
+//-----------------------------------------------------------------------------
+
+// Macro which connects a signal to a slot, and which causes application to
+// abort if the connection fails. This is intended to catch programming errors
+// such as mis-typing a signal or slot name. It is necessary to write our own
+// macro to do this - the following idiom
+// Q_ASSERT(connect(source, signal, receiver, slot));
+// will not work because Q_ASSERT compiles to a no-op in release builds.
+
+#define CHECKED_CONNECT(source, signal, receiver, slot) \
+ if(!connect(source, signal, receiver, slot)) \
+ qt_assert_x(Q_FUNC_INFO, "CHECKED_CONNECT failed", __FILE__, __LINE__);
+
+// Handle some dependencies between macros defined in the .pro file
+
+#ifdef DISABLE_WAVEFORM
+#undef SUPERIMPOSE_PROGRESS_ON_WAVEFORM
+#endif
+
+#endif // SPECTRUM_H
+
diff --git a/demos/spectrum/app/spectrum.qrc b/demos/spectrum/app/spectrum.qrc
new file mode 100644
index 0000000000..61004791bc
--- /dev/null
+++ b/demos/spectrum/app/spectrum.qrc
@@ -0,0 +1,7 @@
+<!DOCTYPE RCC><RCC version="1.0">
+<qresource>
+ <file>images/record.png</file>
+ <file>images/settings.png</file>
+</qresource>
+</RCC>
+
diff --git a/demos/spectrum/app/spectrum.sh b/demos/spectrum/app/spectrum.sh
new file mode 100644
index 0000000000..2a230ed3f9
--- /dev/null
+++ b/demos/spectrum/app/spectrum.sh
@@ -0,0 +1,50 @@
+#!/bin/sh
+#############################################################################
+##
+## Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+## All rights reserved.
+## Contact: Nokia Corporation (qt-info@nokia.com)
+##
+## This file is part of the examples of the Qt Toolkit.
+##
+## $QT_BEGIN_LICENSE:LGPL$
+## No Commercial Usage
+## This file contains pre-release code and may not be distributed.
+## You may use this file in accordance with the terms and conditions
+## contained in the Technology Preview License Agreement accompanying
+## this package.
+##
+## GNU Lesser General Public License Usage
+## Alternatively, this file may be used under the terms of the GNU Lesser
+## General Public License version 2.1 as published by the Free Software
+## Foundation and appearing in the file LICENSE.LGPL included in the
+## packaging of this file. Please review the following information to
+## ensure the GNU Lesser General Public License version 2.1 requirements
+## will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+##
+## In addition, as a special exception, Nokia gives you certain additional
+## rights. These rights are described in the Nokia Qt LGPL Exception
+## version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+##
+## If you have questions regarding the use of this file, please contact
+## Nokia at qt-info@nokia.com.
+##
+##
+##
+##
+##
+##
+##
+##
+## $QT_END_LICENSE$
+##
+#############################################################################
+
+
+# Shell script for launching spectrum application on Unix systems other than Mac OSX
+
+bindir=`dirname "$0"`
+LD_LIBRARY_PATH="${bindir}:${LD_LIBRARY_PATH}"
+export LD_LIBRARY_PATH
+exec "${bindir}/spectrum.bin" ${1+"$@"}
+
diff --git a/demos/spectrum/app/spectrumanalyser.cpp b/demos/spectrum/app/spectrumanalyser.cpp
new file mode 100644
index 0000000000..c467f6189e
--- /dev/null
+++ b/demos/spectrum/app/spectrumanalyser.cpp
@@ -0,0 +1,279 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the examples of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include "spectrumanalyser.h"
+#include "utils.h"
+
+#include <QtCore/qmath.h>
+#include <QtCore/qmetatype.h>
+#include <QtMultimedia/QAudioFormat>
+#include <QThread>
+
+#include "fftreal_wrapper.h"
+
+SpectrumAnalyserThread::SpectrumAnalyserThread(QObject *parent)
+ : QObject(parent)
+#ifndef DISABLE_FFT
+ , m_fft(new FFTRealWrapper)
+#endif
+ , m_numSamples(SpectrumLengthSamples)
+ , m_windowFunction(DefaultWindowFunction)
+ , m_window(SpectrumLengthSamples, 0.0)
+ , m_input(SpectrumLengthSamples, 0.0)
+ , m_output(SpectrumLengthSamples, 0.0)
+ , m_spectrum(SpectrumLengthSamples)
+#ifdef SPECTRUM_ANALYSER_SEPARATE_THREAD
+ , m_thread(new QThread(this))
+#endif
+{
+#ifdef SPECTRUM_ANALYSER_SEPARATE_THREAD
+ moveToThread(m_thread);
+ m_thread->start();
+#endif
+ calculateWindow();
+}
+
+SpectrumAnalyserThread::~SpectrumAnalyserThread()
+{
+#ifndef DISABLE_FFT
+ delete m_fft;
+#endif
+}
+
+void SpectrumAnalyserThread::setWindowFunction(WindowFunction type)
+{
+ m_windowFunction = type;
+ calculateWindow();
+}
+
+void SpectrumAnalyserThread::calculateWindow()
+{
+ for (int i=0; i<m_numSamples; ++i) {
+ DataType x = 0.0;
+
+ switch (m_windowFunction) {
+ case NoWindow:
+ x = 1.0;
+ break;
+ case HannWindow:
+ x = 0.5 * (1 - qCos((2 * M_PI * i) / (m_numSamples - 1)));
+ break;
+ default:
+ Q_ASSERT(false);
+ }
+
+ m_window[i] = x;
+ }
+}
+
+void SpectrumAnalyserThread::calculateSpectrum(const QByteArray &buffer,
+ int inputFrequency,
+ int bytesPerSample)
+{
+#ifndef DISABLE_FFT
+ Q_ASSERT(buffer.size() == m_numSamples * bytesPerSample);
+
+ // Initialize data array
+ const char *ptr = buffer.constData();
+ for (int i=0; i<m_numSamples; ++i) {
+ const qint16 pcmSample = *reinterpret_cast<const qint16*>(ptr);
+ // Scale down to range [-1.0, 1.0]
+ const DataType realSample = pcmToReal(pcmSample);
+ const DataType windowedSample = realSample * m_window[i];
+ m_input[i] = windowedSample;
+ ptr += bytesPerSample;
+ }
+
+ // Calculate the FFT
+ m_fft->calculateFFT(m_output.data(), m_input.data());
+
+ // Analyse output to obtain amplitude and phase for each frequency
+ for (int i=2; i<=m_numSamples/2; ++i) {
+ // Calculate frequency of this complex sample
+ m_spectrum[i].frequency = qreal(i * inputFrequency) / (m_numSamples);
+
+ const qreal real = m_output[i];
+ qreal imag = 0.0;
+ if (i>0 && i<m_numSamples/2)
+ imag = m_output[m_numSamples/2 + i];
+
+ const qreal magnitude = sqrt(real*real + imag*imag);
+ qreal amplitude = SpectrumAnalyserMultiplier * log(magnitude);
+
+ // Bound amplitude to [0.0, 1.0]
+ m_spectrum[i].clipped = (amplitude > 1.0);
+ amplitude = qMax(qreal(0.0), amplitude);
+ amplitude = qMin(qreal(1.0), amplitude);
+ m_spectrum[i].amplitude = amplitude;
+ }
+#endif
+
+ emit calculationComplete(m_spectrum);
+}
+
+
+//=============================================================================
+// SpectrumAnalyser
+//=============================================================================
+
+SpectrumAnalyser::SpectrumAnalyser(QObject *parent)
+ : QObject(parent)
+ , m_thread(new SpectrumAnalyserThread(this))
+ , m_state(Idle)
+#ifdef DUMP_SPECTRUMANALYSER
+ , m_count(0)
+#endif
+{
+ CHECKED_CONNECT(m_thread, SIGNAL(calculationComplete(FrequencySpectrum)),
+ this, SLOT(calculationComplete(FrequencySpectrum)));
+}
+
+SpectrumAnalyser::~SpectrumAnalyser()
+{
+
+}
+
+#ifdef DUMP_SPECTRUMANALYSER
+void SpectrumAnalyser::setOutputPath(const QString &outputDir)
+{
+ m_outputDir.setPath(outputDir);
+ m_textFile.setFileName(m_outputDir.filePath("spectrum.txt"));
+ m_textFile.open(QIODevice::WriteOnly | QIODevice::Text);
+ m_textStream.setDevice(&m_textFile);
+}
+#endif
+
+//-----------------------------------------------------------------------------
+// Public functions
+//-----------------------------------------------------------------------------
+
+void SpectrumAnalyser::setWindowFunction(WindowFunction type)
+{
+ const bool b = QMetaObject::invokeMethod(m_thread, "setWindowFunction",
+ Qt::AutoConnection,
+ Q_ARG(WindowFunction, type));
+ Q_ASSERT(b);
+ Q_UNUSED(b) // suppress warnings in release builds
+}
+
+void SpectrumAnalyser::calculate(const QByteArray &buffer,
+ const QAudioFormat &format)
+{
+ // QThread::currentThread is marked 'for internal use only', but
+ // we're only using it for debug output here, so it's probably OK :)
+ SPECTRUMANALYSER_DEBUG << "SpectrumAnalyser::calculate"
+ << QThread::currentThread()
+ << "state" << m_state;
+
+ if (isReady()) {
+ Q_ASSERT(isPCMS16LE(format));
+
+ const int bytesPerSample = format.sampleSize() * format.channels() / 8;
+
+#ifdef DUMP_SPECTRUMANALYSER
+ m_count++;
+ const QString pcmFileName = m_outputDir.filePath(QString("spectrum_%1.pcm").arg(m_count, 4, 10, QChar('0')));
+ QFile pcmFile(pcmFileName);
+ pcmFile.open(QIODevice::WriteOnly);
+ const int bufferLength = m_numSamples * bytesPerSample;
+ pcmFile.write(buffer, bufferLength);
+
+ m_textStream << "TimeDomain " << m_count << "\n";
+ const qint16* input = reinterpret_cast<const qint16*>(buffer);
+ for (int i=0; i<m_numSamples; ++i) {
+ m_textStream << i << "\t" << *input << "\n";
+ input += format.channels();
+ }
+#endif
+
+ m_state = Busy;
+
+ // Invoke SpectrumAnalyserThread::calculateSpectrum using QMetaObject. If
+ // m_thread is in a different thread from the current thread, the
+ // calculation will be done in the child thread.
+ // Once the calculation is finished, a calculationChanged signal will be
+ // emitted by m_thread.
+ const bool b = QMetaObject::invokeMethod(m_thread, "calculateSpectrum",
+ Qt::AutoConnection,
+ Q_ARG(QByteArray, buffer),
+ Q_ARG(int, format.frequency()),
+ Q_ARG(int, bytesPerSample));
+ Q_ASSERT(b);
+ Q_UNUSED(b) // suppress warnings in release builds
+
+#ifdef DUMP_SPECTRUMANALYSER
+ m_textStream << "FrequencySpectrum " << m_count << "\n";
+ FrequencySpectrum::const_iterator x = m_spectrum.begin();
+ for (int i=0; i<m_numSamples; ++i, ++x)
+ m_textStream << i << "\t"
+ << x->frequency << "\t"
+ << x->amplitude<< "\t"
+ << x->phase << "\n";
+#endif
+ }
+}
+
+bool SpectrumAnalyser::isReady() const
+{
+ return (Idle == m_state);
+}
+
+void SpectrumAnalyser::cancelCalculation()
+{
+ if (Busy == m_state)
+ m_state = Cancelled;
+}
+
+
+//-----------------------------------------------------------------------------
+// Private slots
+//-----------------------------------------------------------------------------
+
+void SpectrumAnalyser::calculationComplete(const FrequencySpectrum &spectrum)
+{
+ Q_ASSERT(Idle != m_state);
+ if (Busy == m_state)
+ emit spectrumChanged(spectrum);
+ m_state = Idle;
+}
+
+
+
+
diff --git a/demos/spectrum/app/spectrumanalyser.h b/demos/spectrum/app/spectrumanalyser.h
new file mode 100644
index 0000000000..ab4abe17f3
--- /dev/null
+++ b/demos/spectrum/app/spectrumanalyser.h
@@ -0,0 +1,194 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the examples of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#ifndef SPECTRUMANALYSER_H
+#define SPECTRUMANALYSER_H
+
+#include <QByteArray>
+#include <QObject>
+#include <QVector>
+
+#ifdef DUMP_SPECTRUMANALYSER
+#include <QDir>
+#include <QFile>
+#include <QTextStream>
+#endif
+
+#include "frequencyspectrum.h"
+#include "spectrum.h"
+
+#ifndef DISABLE_FFT
+#include "FFTRealFixLenParam.h"
+#endif
+
+QT_FORWARD_DECLARE_CLASS(QAudioFormat)
+QT_FORWARD_DECLARE_CLASS(QThread)
+
+class FFTRealWrapper;
+
+class SpectrumAnalyserThreadPrivate;
+
+/**
+ * Implementation of the spectrum analysis which can be run in a
+ * separate thread.
+ */
+class SpectrumAnalyserThread : public QObject
+{
+ Q_OBJECT
+public:
+ SpectrumAnalyserThread(QObject *parent);
+ ~SpectrumAnalyserThread();
+
+public slots:
+ void setWindowFunction(WindowFunction type);
+ void calculateSpectrum(const QByteArray &buffer,
+ int inputFrequency,
+ int bytesPerSample);
+
+signals:
+ void calculationComplete(const FrequencySpectrum &spectrum);
+
+private:
+ void calculateWindow();
+
+private:
+#ifndef DISABLE_FFT
+ FFTRealWrapper* m_fft;
+#endif
+
+ const int m_numSamples;
+
+ WindowFunction m_windowFunction;
+
+#ifdef DISABLE_FFT
+ typedef qreal DataType;
+#else
+ typedef FFTRealFixLenParam::DataType DataType;
+#endif
+ QVector<DataType> m_window;
+
+ QVector<DataType> m_input;
+ QVector<DataType> m_output;
+
+ FrequencySpectrum m_spectrum;
+
+#ifdef SPECTRUM_ANALYSER_SEPARATE_THREAD
+ QThread* m_thread;
+#endif
+};
+
+/**
+ * Class which performs frequency spectrum analysis on a window of
+ * audio samples, provided to it by the Engine.
+ */
+class SpectrumAnalyser : public QObject
+{
+ Q_OBJECT
+public:
+ SpectrumAnalyser(QObject *parent = 0);
+ ~SpectrumAnalyser();
+
+#ifdef DUMP_SPECTRUMANALYSER
+ void setOutputPath(const QString &outputPath);
+#endif
+
+public:
+ /*
+ * Set the windowing function which is applied before calculating the FFT
+ */
+ void setWindowFunction(WindowFunction type);
+
+ /*
+ * Calculate a frequency spectrum
+ *
+ * \param buffer Audio data
+ * \param format Format of audio data
+ *
+ * Frequency spectrum is calculated asynchronously. The result is returned
+ * via the spectrumChanged signal.
+ *
+ * An ongoing calculation can be cancelled by calling cancelCalculation().
+ *
+ */
+ void calculate(const QByteArray &buffer, const QAudioFormat &format);
+
+ /*
+ * Check whether the object is ready to perform another calculation
+ */
+ bool isReady() const;
+
+ /*
+ * Cancel an ongoing calculation
+ *
+ * Note that cancelling is asynchronous.
+ */
+ void cancelCalculation();
+
+signals:
+ void spectrumChanged(const FrequencySpectrum &spectrum);
+
+private slots:
+ void calculationComplete(const FrequencySpectrum &spectrum);
+
+private:
+ void calculateWindow();
+
+private:
+
+ SpectrumAnalyserThread* m_thread;
+
+ enum State {
+ Idle,
+ Busy,
+ Cancelled
+ };
+
+ State m_state;
+
+#ifdef DUMP_SPECTRUMANALYSER
+ QDir m_outputDir;
+ int m_count;
+ QFile m_textFile;
+ QTextStream m_textStream;
+#endif
+};
+
+#endif // SPECTRUMANALYSER_H
+
diff --git a/demos/spectrum/app/tonegenerator.cpp b/demos/spectrum/app/tonegenerator.cpp
new file mode 100644
index 0000000000..470eb4cda8
--- /dev/null
+++ b/demos/spectrum/app/tonegenerator.cpp
@@ -0,0 +1,91 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the examples of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include "spectrum.h"
+#include "utils.h"
+#include <QByteArray>
+#include <QtMultimedia/QAudioFormat>
+#include <QtCore/qmath.h>
+#include <QtCore/qendian.h>
+
+void generateTone(const SweptTone &tone, const QAudioFormat &format, QByteArray &buffer)
+{
+ Q_ASSERT(isPCMS16LE(format));
+
+ const int channelBytes = format.sampleSize() / 8;
+ const int sampleBytes = format.channels() * channelBytes;
+ int length = buffer.size();
+ const int numSamples = buffer.size() / sampleBytes;
+
+ Q_ASSERT(length % sampleBytes == 0);
+ Q_UNUSED(sampleBytes) // suppress warning in release builds
+
+ unsigned char *ptr = reinterpret_cast<unsigned char *>(buffer.data());
+
+ qreal phase = 0.0;
+
+ const qreal d = 2 * M_PI / format.frequency();
+
+ // We can't generate a zero-frequency sine wave
+ const qreal startFreq = tone.startFreq ? tone.startFreq : 1.0;
+
+ // Amount by which phase increases on each sample
+ qreal phaseStep = d * startFreq;
+
+ // Amount by which phaseStep increases on each sample
+ // If this is non-zero, the output is a frequency-swept tone
+ const qreal phaseStepStep = d * (tone.endFreq - startFreq) / numSamples;
+
+ while (length) {
+ const qreal x = tone.amplitude * qSin(phase);
+ const qint16 value = realToPcm(x);
+ for (int i=0; i<format.channels(); ++i) {
+ qToLittleEndian<qint16>(value, ptr);
+ ptr += channelBytes;
+ length -= channelBytes;
+ }
+
+ phase += phaseStep;
+ while (phase > 2 * M_PI)
+ phase -= 2 * M_PI;
+ phaseStep += phaseStepStep;
+ }
+}
+
diff --git a/demos/spectrum/app/tonegenerator.h b/demos/spectrum/app/tonegenerator.h
new file mode 100644
index 0000000000..bf31179891
--- /dev/null
+++ b/demos/spectrum/app/tonegenerator.h
@@ -0,0 +1,56 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the examples of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#ifndef TONEGENERATOR_H
+#define TONEGENERATOR_H
+
+#include <QtCore/qglobal.h>
+#include "spectrum.h"
+
+QT_FORWARD_DECLARE_CLASS(QAudioFormat)
+QT_FORWARD_DECLARE_CLASS(QByteArray)
+
+/**
+ * Generate a sine wave
+ */
+void generateTone(const SweptTone &tone, const QAudioFormat &format, QByteArray &buffer);
+
+#endif // TONEGENERATOR_H
+
diff --git a/demos/spectrum/app/tonegeneratordialog.cpp b/demos/spectrum/app/tonegeneratordialog.cpp
new file mode 100644
index 0000000000..01e1198235
--- /dev/null
+++ b/demos/spectrum/app/tonegeneratordialog.cpp
@@ -0,0 +1,147 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the examples of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include "tonegeneratordialog.h"
+#include <QComboBox>
+#include <QDialogButtonBox>
+#include <QLabel>
+#include <QPushButton>
+#include <QVBoxLayout>
+#include <QCheckBox>
+#include <QSlider>
+#include <QSpinBox>
+
+const int ToneGeneratorFreqMin = 1;
+const int ToneGeneratorFreqMax = 1000;
+const int ToneGeneratorFreqDefault = 440;
+const int ToneGeneratorAmplitudeDefault = 75;
+
+ToneGeneratorDialog::ToneGeneratorDialog(QWidget *parent)
+ : QDialog(parent)
+ , m_toneGeneratorSweepCheckBox(new QCheckBox(tr("Frequency sweep"), this))
+ , m_frequencySweepEnabled(true)
+ , m_toneGeneratorControl(new QWidget(this))
+ , m_toneGeneratorFrequencyControl(new QWidget(this))
+ , m_frequencySlider(new QSlider(Qt::Horizontal, this))
+ , m_frequencySpinBox(new QSpinBox(this))
+ , m_frequency(ToneGeneratorFreqDefault)
+ , m_amplitudeSlider(new QSlider(Qt::Horizontal, this))
+{
+ QVBoxLayout *dialogLayout = new QVBoxLayout(this);
+
+ m_toneGeneratorSweepCheckBox->setChecked(true);
+
+ // Configure tone generator controls
+ m_frequencySlider->setRange(ToneGeneratorFreqMin, ToneGeneratorFreqMax);
+ m_frequencySlider->setValue(ToneGeneratorFreqDefault);
+ m_frequencySpinBox->setRange(ToneGeneratorFreqMin, ToneGeneratorFreqMax);
+ m_frequencySpinBox->setValue(ToneGeneratorFreqDefault);
+ m_amplitudeSlider->setRange(0, 100);
+ m_amplitudeSlider->setValue(ToneGeneratorAmplitudeDefault);
+
+ // Add widgets to layout
+
+ QScopedPointer<QGridLayout> frequencyControlLayout(new QGridLayout);
+ QLabel *frequencyLabel = new QLabel(tr("Frequency (Hz)"), this);
+ frequencyControlLayout->addWidget(frequencyLabel, 0, 0, 2, 1);
+ frequencyControlLayout->addWidget(m_frequencySlider, 0, 1);
+ frequencyControlLayout->addWidget(m_frequencySpinBox, 1, 1);
+ m_toneGeneratorFrequencyControl->setLayout(frequencyControlLayout.data());
+ frequencyControlLayout.take(); // ownership transferred to m_toneGeneratorFrequencyControl
+ m_toneGeneratorFrequencyControl->setEnabled(false);
+
+ QScopedPointer<QGridLayout> toneGeneratorLayout(new QGridLayout);
+ QLabel *amplitudeLabel = new QLabel(tr("Amplitude"), this);
+ toneGeneratorLayout->addWidget(m_toneGeneratorSweepCheckBox, 0, 1);
+ toneGeneratorLayout->addWidget(m_toneGeneratorFrequencyControl, 1, 0, 1, 2);
+ toneGeneratorLayout->addWidget(amplitudeLabel, 2, 0);
+ toneGeneratorLayout->addWidget(m_amplitudeSlider, 2, 1);
+ m_toneGeneratorControl->setLayout(toneGeneratorLayout.data());
+ m_toneGeneratorControl->setSizePolicy(QSizePolicy::Preferred, QSizePolicy::Fixed);
+ dialogLayout->addWidget(m_toneGeneratorControl);
+ toneGeneratorLayout.take(); // ownership transferred
+
+ // Connect
+ CHECKED_CONNECT(m_toneGeneratorSweepCheckBox, SIGNAL(toggled(bool)),
+ this, SLOT(frequencySweepEnabled(bool)));
+ CHECKED_CONNECT(m_frequencySlider, SIGNAL(valueChanged(int)),
+ m_frequencySpinBox, SLOT(setValue(int)));
+ CHECKED_CONNECT(m_frequencySpinBox, SIGNAL(valueChanged(int)),
+ m_frequencySlider, SLOT(setValue(int)));
+
+ // Add standard buttons to layout
+ QDialogButtonBox *buttonBox = new QDialogButtonBox(this);
+ buttonBox->setStandardButtons(QDialogButtonBox::Ok | QDialogButtonBox::Cancel);
+ dialogLayout->addWidget(buttonBox);
+
+ // Connect standard buttons
+ CHECKED_CONNECT(buttonBox->button(QDialogButtonBox::Ok), SIGNAL(clicked()),
+ this, SLOT(accept()));
+ CHECKED_CONNECT(buttonBox->button(QDialogButtonBox::Cancel), SIGNAL(clicked()),
+ this, SLOT(reject()));
+
+ setLayout(dialogLayout);
+}
+
+ToneGeneratorDialog::~ToneGeneratorDialog()
+{
+
+}
+
+bool ToneGeneratorDialog::isFrequencySweepEnabled() const
+{
+ return m_toneGeneratorSweepCheckBox->isChecked();
+}
+
+qreal ToneGeneratorDialog::frequency() const
+{
+ return qreal(m_frequencySlider->value());
+}
+
+qreal ToneGeneratorDialog::amplitude() const
+{
+ return qreal(m_amplitudeSlider->value()) / 100.0;
+}
+
+void ToneGeneratorDialog::frequencySweepEnabled(bool enabled)
+{
+ m_frequencySweepEnabled = enabled;
+ m_toneGeneratorFrequencyControl->setEnabled(!enabled);
+}
diff --git a/demos/spectrum/app/tonegeneratordialog.h b/demos/spectrum/app/tonegeneratordialog.h
new file mode 100644
index 0000000000..c2aa892c0a
--- /dev/null
+++ b/demos/spectrum/app/tonegeneratordialog.h
@@ -0,0 +1,81 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the examples of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#ifndef TONEGENERATORDIALOG_H
+#define TONEGENERATORDIALOG_H
+
+#include "spectrum.h"
+#include <QDialog>
+#include <QtMultimedia/QAudioDeviceInfo>
+
+QT_FORWARD_DECLARE_CLASS(QCheckBox)
+QT_FORWARD_DECLARE_CLASS(QSlider)
+QT_FORWARD_DECLARE_CLASS(QSpinBox)
+QT_FORWARD_DECLARE_CLASS(QGridLayout)
+
+/**
+ * Dialog which controls the parameters of the tone generator.
+ */
+class ToneGeneratorDialog : public QDialog {
+ Q_OBJECT
+public:
+ ToneGeneratorDialog(QWidget *parent = 0);
+ ~ToneGeneratorDialog();
+
+ bool isFrequencySweepEnabled() const;
+ qreal frequency() const;
+ qreal amplitude() const;
+
+private slots:
+ void frequencySweepEnabled(bool enabled);
+
+private:
+ QCheckBox* m_toneGeneratorSweepCheckBox;
+ bool m_frequencySweepEnabled;
+ QWidget* m_toneGeneratorControl;
+ QWidget* m_toneGeneratorFrequencyControl;
+ QSlider* m_frequencySlider;
+ QSpinBox* m_frequencySpinBox;
+ qreal m_frequency;
+ QSlider* m_amplitudeSlider;
+
+};
+
+#endif // TONEGENERATORDIALOG_H
diff --git a/demos/spectrum/app/utils.cpp b/demos/spectrum/app/utils.cpp
new file mode 100644
index 0000000000..4ead6c266d
--- /dev/null
+++ b/demos/spectrum/app/utils.cpp
@@ -0,0 +1,137 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the examples of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include <QtMultimedia/QAudioFormat>
+#include "utils.h"
+
+qint64 audioDuration(const QAudioFormat &format, qint64 bytes)
+{
+ return (bytes * 1000000) /
+ (format.frequency() * format.channels() * (format.sampleSize() / 8));
+}
+
+qint64 audioLength(const QAudioFormat &format, qint64 microSeconds)
+{
+ return (format.frequency() * format.channels() * (format.sampleSize() / 8))
+ * microSeconds / 1000000;
+}
+
+qreal nyquistFrequency(const QAudioFormat &format)
+{
+ return format.frequency() / 2;
+}
+
+QString formatToString(const QAudioFormat &format)
+{
+ QString result;
+
+ if (QAudioFormat() != format) {
+ if (format.codec() == "audio/pcm") {
+ Q_ASSERT(format.sampleType() == QAudioFormat::SignedInt);
+
+ const QString formatEndian = (format.byteOrder() == QAudioFormat::LittleEndian)
+ ? QString("LE") : QString("BE");
+
+ QString formatType;
+ switch(format.sampleType()) {
+ case QAudioFormat::SignedInt:
+ formatType = "signed";
+ break;
+ case QAudioFormat::UnSignedInt:
+ formatType = "unsigned";
+ break;
+ case QAudioFormat::Float:
+ formatType = "float";
+ break;
+ case QAudioFormat::Unknown:
+ formatType = "unknown";
+ break;
+ }
+
+ QString formatChannels = QString("%1 channels").arg(format.channels());
+ switch (format.channels()) {
+ case 1:
+ formatChannels = "mono";
+ break;
+ case 2:
+ formatChannels = "stereo";
+ break;
+ }
+
+ result = QString("%1 Hz %2 bit %3 %4 %5")
+ .arg(format.frequency())
+ .arg(format.sampleSize())
+ .arg(formatType)
+ .arg(formatEndian)
+ .arg(formatChannels);
+ } else {
+ result = format.codec();
+ }
+ }
+
+ return result;
+}
+
+bool isPCM(const QAudioFormat &format)
+{
+ return (format.codec() == "audio/pcm");
+}
+
+
+bool isPCMS16LE(const QAudioFormat &format)
+{
+ return (isPCM(format) &&
+ format.sampleType() == QAudioFormat::SignedInt &&
+ format.sampleSize() == 16 &&
+ format.byteOrder() == QAudioFormat::LittleEndian);
+}
+
+const qint16 PCMS16MaxValue = 32767;
+const quint16 PCMS16MaxAmplitude = 32768; // because minimum is -32768
+
+qreal pcmToReal(qint16 pcm)
+{
+ return qreal(pcm) / PCMS16MaxAmplitude;
+}
+
+qint16 realToPcm(qreal real)
+{
+ return real * PCMS16MaxValue;
+}
diff --git a/demos/spectrum/app/utils.h b/demos/spectrum/app/utils.h
new file mode 100644
index 0000000000..4e2903099a
--- /dev/null
+++ b/demos/spectrum/app/utils.h
@@ -0,0 +1,112 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the examples of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#ifndef UTILS_H
+#define UTILS_H
+
+#include <QtCore/qglobal.h>
+#include <QDebug>
+
+QT_FORWARD_DECLARE_CLASS(QAudioFormat)
+
+//-----------------------------------------------------------------------------
+// Miscellaneous utility functions
+//-----------------------------------------------------------------------------
+
+qint64 audioDuration(const QAudioFormat &format, qint64 bytes);
+qint64 audioLength(const QAudioFormat &format, qint64 microSeconds);
+
+QString formatToString(const QAudioFormat &format);
+
+qreal nyquistFrequency(const QAudioFormat &format);
+
+// Scale PCM value to [-1.0, 1.0]
+qreal pcmToReal(qint16 pcm);
+
+// Scale real value in [-1.0, 1.0] to PCM
+qint16 realToPcm(qreal real);
+
+// Check whether the audio format is PCM
+bool isPCM(const QAudioFormat &format);
+
+// Check whether the audio format is signed, little-endian, 16-bit PCM
+bool isPCMS16LE(const QAudioFormat &format);
+
+// Compile-time calculation of powers of two
+
+template<int N> class PowerOfTwo
+{ public: static const int Result = PowerOfTwo<N-1>::Result * 2; };
+
+template<> class PowerOfTwo<0>
+{ public: static const int Result = 1; };
+
+
+//-----------------------------------------------------------------------------
+// Debug output
+//-----------------------------------------------------------------------------
+
+class NullDebug
+{
+public:
+ template <typename T>
+ NullDebug& operator<<(const T&) { return *this; }
+};
+
+inline NullDebug nullDebug() { return NullDebug(); }
+
+#ifdef LOG_ENGINE
+# define ENGINE_DEBUG qDebug()
+#else
+# define ENGINE_DEBUG nullDebug()
+#endif
+
+#ifdef LOG_SPECTRUMANALYSER
+# define SPECTRUMANALYSER_DEBUG qDebug()
+#else
+# define SPECTRUMANALYSER_DEBUG nullDebug()
+#endif
+
+#ifdef LOG_WAVEFORM
+# define WAVEFORM_DEBUG qDebug()
+#else
+# define WAVEFORM_DEBUG nullDebug()
+#endif
+
+#endif // UTILS_H
diff --git a/demos/spectrum/app/waveform.cpp b/demos/spectrum/app/waveform.cpp
new file mode 100644
index 0000000000..1f7d315efe
--- /dev/null
+++ b/demos/spectrum/app/waveform.cpp
@@ -0,0 +1,418 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the examples of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include "waveform.h"
+#include "utils.h"
+#include <QPainter>
+#include <QResizeEvent>
+#include <QDebug>
+
+
+Waveform::Waveform(const QByteArray &buffer, QWidget *parent)
+ : QWidget(parent)
+ , m_buffer(buffer)
+ , m_dataLength(0)
+ , m_position(0)
+ , m_active(false)
+ , m_tileLength(0)
+ , m_tileArrayStart(0)
+ , m_windowPosition(0)
+ , m_windowLength(0)
+{
+ setSizePolicy(QSizePolicy::Preferred, QSizePolicy::Fixed);
+ setMinimumHeight(50);
+}
+
+Waveform::~Waveform()
+{
+ deletePixmaps();
+}
+
+void Waveform::paintEvent(QPaintEvent * /*event*/)
+{
+ QPainter painter(this);
+
+ painter.fillRect(rect(), Qt::black);
+
+ if (m_active) {
+ WAVEFORM_DEBUG << "Waveform::paintEvent"
+ << "windowPosition" << m_windowPosition
+ << "windowLength" << m_windowLength;
+ qint64 pos = m_windowPosition;
+ const qint64 windowEnd = m_windowPosition + m_windowLength;
+ int destLeft = 0;
+ int destRight = 0;
+ while (pos < windowEnd) {
+ const TilePoint point = tilePoint(pos);
+ WAVEFORM_DEBUG << "Waveform::paintEvent" << "pos" << pos
+ << "tileIndex" << point.index
+ << "positionOffset" << point.positionOffset
+ << "pixelOffset" << point.pixelOffset;
+
+ if (point.index != NullIndex) {
+ const Tile &tile = m_tiles[point.index];
+ if (tile.painted) {
+ const qint64 sectionLength = qMin((m_tileLength - point.positionOffset),
+ (windowEnd - pos));
+ Q_ASSERT(sectionLength > 0);
+
+ const int sourceRight = tilePixelOffset(point.positionOffset + sectionLength);
+ destRight = windowPixelOffset(pos - m_windowPosition + sectionLength);
+
+ QRect destRect = rect();
+ destRect.setLeft(destLeft);
+ destRect.setRight(destRight);
+
+ QRect sourceRect(QPoint(), m_pixmapSize);
+ sourceRect.setLeft(point.pixelOffset);
+ sourceRect.setRight(sourceRight);
+
+ WAVEFORM_DEBUG << "Waveform::paintEvent" << "tileIndex" << point.index
+ << "source" << point.pixelOffset << sourceRight
+ << "dest" << destLeft << destRight;
+
+ painter.drawPixmap(destRect, *tile.pixmap, sourceRect);
+
+ destLeft = destRight;
+
+ if (point.index < m_tiles.count()) {
+ pos = tilePosition(point.index + 1);
+ WAVEFORM_DEBUG << "Waveform::paintEvent" << "pos ->" << pos;
+ } else {
+ // Reached end of tile array
+ WAVEFORM_DEBUG << "Waveform::paintEvent" << "reached end of tile array";
+ break;
+ }
+ } else {
+ // Passed last tile which is painted
+ WAVEFORM_DEBUG << "Waveform::paintEvent" << "tile" << point.index << "not painted";
+ break;
+ }
+ } else {
+ // pos is past end of tile array
+ WAVEFORM_DEBUG << "Waveform::paintEvent" << "pos" << pos << "past end of tile array";
+ break;
+ }
+ }
+
+ WAVEFORM_DEBUG << "Waveform::paintEvent" << "final pos" << pos << "final x" << destRight;
+ }
+}
+
+void Waveform::resizeEvent(QResizeEvent *event)
+{
+ if (event->size() != event->oldSize())
+ createPixmaps(event->size());
+}
+
+void Waveform::initialize(const QAudioFormat &format, qint64 audioBufferSize, qint64 windowDurationUs)
+{
+ WAVEFORM_DEBUG << "Waveform::initialize"
+ << "audioBufferSize" << audioBufferSize
+ << "m_buffer.size()" << m_buffer.size()
+ << "windowDurationUs" << windowDurationUs;
+
+ reset();
+
+ m_format = format;
+
+ // Calculate tile size
+ m_tileLength = audioBufferSize;
+
+ // Calculate window size
+ m_windowLength = audioLength(m_format, windowDurationUs);
+
+ // Calculate number of tiles required
+ int nTiles;
+ if (m_tileLength > m_windowLength) {
+ nTiles = 2;
+ } else {
+ nTiles = m_windowLength / m_tileLength + 1;
+ if (m_windowLength % m_tileLength)
+ ++nTiles;
+ }
+
+ WAVEFORM_DEBUG << "Waveform::initialize"
+ << "tileLength" << m_tileLength
+ << "windowLength" << m_windowLength
+ << "nTiles" << nTiles;
+
+ m_pixmaps.fill(0, nTiles);
+ m_tiles.resize(nTiles);
+
+ createPixmaps(rect().size());
+
+ m_active = true;
+}
+
+void Waveform::reset()
+{
+ WAVEFORM_DEBUG << "Waveform::reset";
+
+ m_dataLength = 0;
+ m_position = 0;
+ m_format = QAudioFormat();
+ m_active = false;
+ deletePixmaps();
+ m_tiles.clear();
+ m_tileLength = 0;
+ m_tileArrayStart = 0;
+ m_windowPosition = 0;
+ m_windowLength = 0;
+}
+
+void Waveform::dataLengthChanged(qint64 length)
+{
+ WAVEFORM_DEBUG << "Waveform::dataLengthChanged" << length;
+ const qint64 oldLength = m_dataLength;
+ m_dataLength = length;
+
+ if (m_active) {
+ if (m_dataLength < oldLength)
+ positionChanged(m_dataLength);
+ else
+ paintTiles();
+ }
+}
+
+void Waveform::positionChanged(qint64 position)
+{
+ WAVEFORM_DEBUG << "Waveform::positionChanged" << position;
+
+ if (position + m_windowLength > m_dataLength)
+ position = m_dataLength - m_windowLength;
+
+ m_position = position;
+
+ setWindowPosition(position);
+}
+
+void Waveform::deletePixmaps()
+{
+ QPixmap *pixmap;
+ foreach (pixmap, m_pixmaps)
+ delete pixmap;
+ m_pixmaps.clear();
+}
+
+void Waveform::createPixmaps(const QSize &widgetSize)
+{
+ m_pixmapSize = widgetSize;
+ m_pixmapSize.setWidth(qreal(widgetSize.width()) * m_tileLength / m_windowLength);
+
+ WAVEFORM_DEBUG << "Waveform::createPixmaps"
+ << "widgetSize" << widgetSize
+ << "pixmapSize" << m_pixmapSize;
+
+ Q_ASSERT(m_tiles.count() == m_pixmaps.count());
+
+ // (Re)create pixmaps
+ for (int i=0; i<m_pixmaps.size(); ++i) {
+ delete m_pixmaps[i];
+ m_pixmaps[i] = 0;
+ m_pixmaps[i] = new QPixmap(m_pixmapSize);
+ }
+
+ // Update tile pixmap pointers, and mark for repainting
+ for (int i=0; i<m_tiles.count(); ++i) {
+ m_tiles[i].pixmap = m_pixmaps[i];
+ m_tiles[i].painted = false;
+ }
+
+ paintTiles();
+}
+
+void Waveform::setWindowPosition(qint64 position)
+{
+ WAVEFORM_DEBUG << "Waveform::setWindowPosition"
+ << "old" << m_windowPosition << "new" << position
+ << "tileArrayStart" << m_tileArrayStart;
+
+ const qint64 oldPosition = m_windowPosition;
+ m_windowPosition = position;
+
+ if((m_windowPosition >= oldPosition) &&
+ (m_windowPosition - m_tileArrayStart < (m_tiles.count() * m_tileLength))) {
+ // Work out how many tiles need to be shuffled
+ const qint64 offset = m_windowPosition - m_tileArrayStart;
+ const int nTiles = offset / m_tileLength;
+ shuffleTiles(nTiles);
+ } else {
+ resetTiles(m_windowPosition);
+ }
+
+ if(!paintTiles() && m_windowPosition != oldPosition)
+ update();
+}
+
+qint64 Waveform::tilePosition(int index) const
+{
+ return m_tileArrayStart + index * m_tileLength;
+}
+
+Waveform::TilePoint Waveform::tilePoint(qint64 position) const
+{
+ TilePoint result;
+ if (position >= m_tileArrayStart) {
+ const qint64 tileArrayEnd = m_tileArrayStart + m_tiles.count() * m_tileLength;
+ if (position < tileArrayEnd) {
+ const qint64 offsetIntoTileArray = position - m_tileArrayStart;
+ result.index = offsetIntoTileArray / m_tileLength;
+ Q_ASSERT(result.index >= 0 && result.index <= m_tiles.count());
+ result.positionOffset = offsetIntoTileArray % m_tileLength;
+ result.pixelOffset = tilePixelOffset(result.positionOffset);
+ Q_ASSERT(result.pixelOffset >= 0 && result.pixelOffset <= m_pixmapSize.width());
+ }
+ }
+
+ return result;
+}
+
+int Waveform::tilePixelOffset(qint64 positionOffset) const
+{
+ Q_ASSERT(positionOffset >= 0 && positionOffset <= m_tileLength);
+ const int result = (qreal(positionOffset) / m_tileLength) * m_pixmapSize.width();
+ return result;
+}
+
+int Waveform::windowPixelOffset(qint64 positionOffset) const
+{
+ Q_ASSERT(positionOffset >= 0 && positionOffset <= m_windowLength);
+ const int result = (qreal(positionOffset) / m_windowLength) * rect().width();
+ return result;
+}
+
+bool Waveform::paintTiles()
+{
+ WAVEFORM_DEBUG << "Waveform::paintTiles";
+ bool updateRequired = false;
+
+ for (int i=0; i<m_tiles.count(); ++i) {
+ const Tile &tile = m_tiles[i];
+ if (!tile.painted) {
+ const qint64 tileEnd = m_tileArrayStart + (i + 1) * m_tileLength;
+ if (m_dataLength >= tileEnd) {
+ paintTile(i);
+ updateRequired = true;
+ }
+ }
+ }
+
+ if (updateRequired)
+ update();
+
+ return updateRequired;
+}
+
+void Waveform::paintTile(int index)
+{
+ WAVEFORM_DEBUG << "Waveform::paintTile" << "index" << index;
+
+ const qint64 tileStart = m_tileArrayStart + index * m_tileLength;
+ Q_ASSERT(m_dataLength >= tileStart + m_tileLength);
+
+ Tile &tile = m_tiles[index];
+ Q_ASSERT(!tile.painted);
+
+ const qint16* base = reinterpret_cast<const qint16*>(m_buffer.constData());
+ const qint16* buffer = base + (tileStart / 2);
+ const int numSamples = m_tileLength / (2 * m_format.channels());
+
+ QPainter painter(tile.pixmap);
+
+ painter.fillRect(tile.pixmap->rect(), Qt::black);
+
+ QPen pen(Qt::white);
+ painter.setPen(pen);
+
+ // Calculate initial PCM value
+ qint16 previousPcmValue = 0;
+ if (buffer > base)
+ previousPcmValue = *(buffer - m_format.channels());
+
+ // Calculate initial point
+ const qreal previousRealValue = pcmToReal(previousPcmValue);
+ const int originY = ((previousRealValue + 1.0) / 2) * m_pixmapSize.height();
+ const QPoint origin(0, originY);
+
+ QLine line(origin, origin);
+
+ for (int i=0; i<numSamples; ++i) {
+ const qint16* ptr = buffer + i * m_format.channels();
+ const qint16 pcmValue = *ptr;
+ const qreal realValue = pcmToReal(pcmValue);
+
+ const int x = tilePixelOffset(i * 2 * m_format.channels());
+ const int y = ((realValue + 1.0) / 2) * m_pixmapSize.height();
+
+ line.setP2(QPoint(x, y));
+ painter.drawLine(line);
+ line.setP1(line.p2());
+ }
+
+ tile.painted = true;
+}
+
+void Waveform::shuffleTiles(int n)
+{
+ WAVEFORM_DEBUG << "Waveform::shuffleTiles" << "n" << n;
+
+ while (n--) {
+ Tile tile = m_tiles.first();
+ tile.painted = false;
+ m_tiles.erase(m_tiles.begin());
+ m_tiles += tile;
+ m_tileArrayStart += m_tileLength;
+ }
+
+ WAVEFORM_DEBUG << "Waveform::shuffleTiles" << "tileArrayStart" << m_tileArrayStart;
+}
+
+void Waveform::resetTiles(qint64 newStartPos)
+{
+ WAVEFORM_DEBUG << "Waveform::resetTiles" << "newStartPos" << newStartPos;
+
+ QVector<Tile>::iterator i = m_tiles.begin();
+ for ( ; i != m_tiles.end(); ++i)
+ i->painted = false;
+
+ m_tileArrayStart = newStartPos;
+}
+
diff --git a/demos/spectrum/app/waveform.h b/demos/spectrum/app/waveform.h
new file mode 100644
index 0000000000..57c9eec2d7
--- /dev/null
+++ b/demos/spectrum/app/waveform.h
@@ -0,0 +1,201 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the examples of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#ifndef WAVEFORM_H
+#define WAVEFORM_H
+
+#include <QWidget>
+#include <QtMultimedia/QAudioFormat>
+#include <QPixmap>
+#include <QScopedPointer>
+
+QT_FORWARD_DECLARE_CLASS(QByteArray)
+
+/**
+ * Widget which displays a section of the audio waveform.
+ *
+ * The waveform is rendered on a set of QPixmaps which form a group of tiles
+ * whose extent covers the widget. As the audio position is updated, these
+ * tiles are scrolled from left to right; when the left-most tile scrolls
+ * outside the widget, it is moved to the right end of the tile array and
+ * painted with the next section of the waveform.
+ */
+class Waveform : public QWidget {
+ Q_OBJECT
+public:
+ Waveform(const QByteArray &buffer, QWidget *parent = 0);
+ ~Waveform();
+
+ // QWidget
+ void paintEvent(QPaintEvent *event);
+ void resizeEvent(QResizeEvent *event);
+
+ void initialize(const QAudioFormat &format, qint64 audioBufferSize, qint64 windowDurationUs);
+ void reset();
+
+ void setAutoUpdatePosition(bool enabled);
+
+public slots:
+ void dataLengthChanged(qint64 length);
+ void positionChanged(qint64 position);
+
+private:
+ static const int NullIndex = -1;
+
+ void deletePixmaps();
+
+ /*
+ * (Re)create all pixmaps, repaint and update the display.
+ * Triggers an update();
+ */
+ void createPixmaps(const QSize &newSize);
+
+ /*
+ * Update window position.
+ * Triggers an update().
+ */
+ void setWindowPosition(qint64 position);
+
+ /*
+ * Base position of tile
+ */
+ qint64 tilePosition(int index) const;
+
+ /*
+ * Structure which identifies a point within a given
+ * tile.
+ */
+ struct TilePoint
+ {
+ TilePoint(int idx = 0, qint64 pos = 0, qint64 pix = 0)
+ : index(idx), positionOffset(pos), pixelOffset(pix)
+ { }
+
+ // Index of tile
+ int index;
+
+ // Number of bytes from start of tile
+ qint64 positionOffset;
+
+ // Number of pixels from left of corresponding pixmap
+ int pixelOffset;
+ };
+
+ /*
+ * Convert position in m_buffer into a tile index and an offset in pixels
+ * into the corresponding pixmap.
+ *
+ * \param position Offset into m_buffer, in bytes
+
+ * If position is outside the tile array, index is NullIndex and
+ * offset is zero.
+ */
+ TilePoint tilePoint(qint64 position) const;
+
+ /*
+ * Convert offset in bytes into a tile into an offset in pixels
+ * within that tile.
+ */
+ int tilePixelOffset(qint64 positionOffset) const;
+
+ /*
+ * Convert offset in bytes into the window into an offset in pixels
+ * within the widget rect().
+ */
+ int windowPixelOffset(qint64 positionOffset) const;
+
+ /*
+ * Paint all tiles which can be painted.
+ * \return true iff update() was called
+ */
+ bool paintTiles();
+
+ /*
+ * Paint the specified tile
+ *
+ * \pre Sufficient data is available to completely paint the tile, i.e.
+ * m_dataLength is greater than the upper bound of the tile.
+ */
+ void paintTile(int index);
+
+ /*
+ * Move the first n tiles to the end of the array, and mark them as not
+ * painted.
+ */
+ void shuffleTiles(int n);
+
+ /*
+ * Reset tile array
+ */
+ void resetTiles(qint64 newStartPos);
+
+private:
+ const QByteArray& m_buffer;
+ qint64 m_dataLength;
+ qint64 m_position;
+ QAudioFormat m_format;
+
+ bool m_active;
+
+ QSize m_pixmapSize;
+ QVector<QPixmap*> m_pixmaps;
+
+ struct Tile {
+ // Pointer into parent m_pixmaps array
+ QPixmap* pixmap;
+
+ // Flag indicating whether this tile has been painted
+ bool painted;
+ };
+
+ QVector<Tile> m_tiles;
+
+ // Length of audio data in bytes depicted by each tile
+ qint64 m_tileLength;
+
+ // Position in bytes of the first tile, relative to m_buffer
+ qint64 m_tileArrayStart;
+
+ qint64 m_windowPosition;
+ qint64 m_windowLength;
+
+};
+
+#endif // WAVEFORM_H
diff --git a/demos/spectrum/app/wavfile.cpp b/demos/spectrum/app/wavfile.cpp
new file mode 100644
index 0000000000..b9467e3218
--- /dev/null
+++ b/demos/spectrum/app/wavfile.cpp
@@ -0,0 +1,246 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the examples of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include <QtCore/qendian.h>
+#include <QVector>
+#include <QDebug>
+#include "utils.h"
+#include "wavfile.h"
+
+struct chunk
+{
+ char id[4];
+ quint32 size;
+};
+
+struct RIFFHeader
+{
+ chunk descriptor; // "RIFF"
+ char type[4]; // "WAVE"
+};
+
+struct WAVEHeader
+{
+ chunk descriptor;
+ quint16 audioFormat;
+ quint16 numChannels;
+ quint32 sampleRate;
+ quint32 byteRate;
+ quint16 blockAlign;
+ quint16 bitsPerSample;
+};
+
+struct DATAHeader
+{
+ chunk descriptor;
+};
+
+struct CombinedHeader
+{
+ RIFFHeader riff;
+ WAVEHeader wave;
+ DATAHeader data;
+};
+
+static const int HeaderLength = sizeof(CombinedHeader);
+
+
+WavFile::WavFile(const QAudioFormat &format, qint64 dataLength)
+ : m_format(format)
+ , m_dataLength(dataLength)
+{
+
+}
+
+bool WavFile::readHeader(QIODevice &device)
+{
+ bool result = true;
+
+ if (!device.isSequential())
+ result = device.seek(0);
+ // else, assume that current position is the start of the header
+
+ if (result) {
+ CombinedHeader header;
+ result = (device.read(reinterpret_cast<char *>(&header), HeaderLength) == HeaderLength);
+ if (result) {
+ if ((memcmp(&header.riff.descriptor.id, "RIFF", 4) == 0
+ || memcmp(&header.riff.descriptor.id, "RIFX", 4) == 0)
+ && memcmp(&header.riff.type, "WAVE", 4) == 0
+ && memcmp(&header.wave.descriptor.id, "fmt ", 4) == 0
+ && header.wave.audioFormat == 1 // PCM
+ ) {
+ if (memcmp(&header.riff.descriptor.id, "RIFF", 4) == 0)
+ m_format.setByteOrder(QAudioFormat::LittleEndian);
+ else
+ m_format.setByteOrder(QAudioFormat::BigEndian);
+
+ m_format.setChannels(qFromLittleEndian<quint16>(header.wave.numChannels));
+ m_format.setCodec("audio/pcm");
+ m_format.setFrequency(qFromLittleEndian<quint32>(header.wave.sampleRate));
+ m_format.setSampleSize(qFromLittleEndian<quint16>(header.wave.bitsPerSample));
+
+ switch(header.wave.bitsPerSample) {
+ case 8:
+ m_format.setSampleType(QAudioFormat::UnSignedInt);
+ break;
+ case 16:
+ m_format.setSampleType(QAudioFormat::SignedInt);
+ break;
+ default:
+ result = false;
+ }
+
+ m_dataLength = device.size() - HeaderLength;
+ } else {
+ result = false;
+ }
+ }
+ }
+
+ return result;
+}
+
+bool WavFile::writeHeader(QIODevice &device)
+{
+ CombinedHeader header;
+
+ memset(&header, 0, HeaderLength);
+
+ // RIFF header
+ if (m_format.byteOrder() == QAudioFormat::LittleEndian)
+ strncpy(&header.riff.descriptor.id[0], "RIFF", 4);
+ else
+ strncpy(&header.riff.descriptor.id[0], "RIFX", 4);
+ qToLittleEndian<quint32>(quint32(m_dataLength + HeaderLength - 8),
+ reinterpret_cast<unsigned char*>(&header.riff.descriptor.size));
+ strncpy(&header.riff.type[0], "WAVE", 4);
+
+ // WAVE header
+ strncpy(&header.wave.descriptor.id[0], "fmt ", 4);
+ qToLittleEndian<quint32>(quint32(16),
+ reinterpret_cast<unsigned char*>(&header.wave.descriptor.size));
+ qToLittleEndian<quint16>(quint16(1),
+ reinterpret_cast<unsigned char*>(&header.wave.audioFormat));
+ qToLittleEndian<quint16>(quint16(m_format.channels()),
+ reinterpret_cast<unsigned char*>(&header.wave.numChannels));
+ qToLittleEndian<quint32>(quint32(m_format.frequency()),
+ reinterpret_cast<unsigned char*>(&header.wave.sampleRate));
+ qToLittleEndian<quint32>(quint32(m_format.frequency() * m_format.channels() * m_format.sampleSize() / 8),
+ reinterpret_cast<unsigned char*>(&header.wave.byteRate));
+ qToLittleEndian<quint16>(quint16(m_format.channels() * m_format.sampleSize() / 8),
+ reinterpret_cast<unsigned char*>(&header.wave.blockAlign));
+ qToLittleEndian<quint16>(quint16(m_format.sampleSize()),
+ reinterpret_cast<unsigned char*>(&header.wave.bitsPerSample));
+
+ // DATA header
+ strncpy(&header.data.descriptor.id[0], "data", 4);
+ qToLittleEndian<quint32>(quint32(m_dataLength),
+ reinterpret_cast<unsigned char*>(&header.data.descriptor.size));
+
+ return (device.write(reinterpret_cast<const char *>(&header), HeaderLength) == HeaderLength);
+}
+
+const QAudioFormat& WavFile::format() const
+{
+ return m_format;
+}
+
+qint64 WavFile::dataLength() const
+{
+ return m_dataLength;
+}
+
+qint64 WavFile::headerLength()
+{
+ return HeaderLength;
+}
+
+bool WavFile::writeDataLength(QIODevice &device, qint64 dataLength)
+{
+ bool result = false;
+ if (!device.isSequential()) {
+ device.seek(40);
+ unsigned char dataLengthLE[4];
+ qToLittleEndian<quint32>(quint32(dataLength), dataLengthLE);
+ result = (device.write(reinterpret_cast<const char *>(dataLengthLE), 4) == 4);
+ }
+ return result;
+}
+
+#include <QFile>
+#include <QTextStream>
+
+qint64 WavFile::readData(QIODevice &device, QByteArray &buffer,
+ QAudioFormat outputFormat)
+{
+ if (QAudioFormat() == outputFormat)
+ outputFormat = m_format;
+
+ qint64 result = 0;
+
+ QFile file("wav.txt");
+ file.open(QIODevice::WriteOnly | QIODevice::Text);
+ QTextStream stream;
+ stream.setDevice(&file);
+
+ if (isPCMS16LE(outputFormat) && isPCMS16LE(m_format)) {
+ QVector<char> inputSample(2 * m_format.channels());
+
+ qint16 *output = reinterpret_cast<qint16*>(buffer.data());
+
+ while (result < buffer.size()) {
+ if (device.read(inputSample.data(), inputSample.count())) {
+ int inputIdx = 0;
+ for (int outputIdx = 0; outputIdx < outputFormat.channels(); ++outputIdx) {
+ const qint16* input = reinterpret_cast<const qint16*>(inputSample.data() + 2 * inputIdx);
+ *output++ = qFromLittleEndian<qint16>(*input);
+ result += 2;
+ if (inputIdx < m_format.channels())
+ ++inputIdx;
+ }
+ } else {
+ break;
+ }
+ }
+ }
+ return result;
+}
+
diff --git a/demos/spectrum/app/wavfile.h b/demos/spectrum/app/wavfile.h
new file mode 100644
index 0000000000..f2f330409f
--- /dev/null
+++ b/demos/spectrum/app/wavfile.h
@@ -0,0 +1,83 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the examples of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+
+#ifndef WAVFILE_H
+#define WAVFILE_H
+
+#include <QtCore/qobject.h>
+#include <QtCore/qfile.h>
+#include <QtMultimedia/qaudioformat.h>
+
+/**
+ * Helper class for reading WAV files
+ *
+ * See https://ccrma.stanford.edu/courses/422/projects/WaveFormat/
+ */
+class WavFile
+{
+public:
+ WavFile(const QAudioFormat &format = QAudioFormat(),
+ qint64 dataLength = 0);
+
+ // Reads WAV header and seeks to start of data
+ bool readHeader(QIODevice &device);
+
+ // Writes WAV header
+ bool writeHeader(QIODevice &device);
+
+ // Read PCM data
+ qint64 readData(QIODevice &device, QByteArray &buffer,
+ QAudioFormat outputFormat = QAudioFormat());
+
+ const QAudioFormat& format() const;
+ qint64 dataLength() const;
+
+ static qint64 headerLength();
+
+ static bool writeDataLength(QIODevice &device, qint64 dataLength);
+
+private:
+ QAudioFormat m_format;
+ qint64 m_dataLength;
+};
+
+#endif
+
diff --git a/demos/spectrum/spectrum.pri b/demos/spectrum/spectrum.pri
new file mode 100644
index 0000000000..c09aa0d5d7
--- /dev/null
+++ b/demos/spectrum/spectrum.pri
@@ -0,0 +1,37 @@
+# The following macros allow certain features and debugging output
+# to be disabled / enabled at compile time.
+
+# Debug output from spectrum calculation
+DEFINES += LOG_SPECTRUMANALYSER
+
+# Debug output from waveform generation
+#DEFINES += LOG_WAVEFORM
+
+# Debug output from engine
+DEFINES += LOG_ENGINE
+
+# Dump input data to spectrum analyer, plus artefact data files
+#DEFINES += DUMP_SPECTRUMANALYSER
+
+# Dump captured audio data
+#DEFINES += DUMP_CAPTURED_AUDIO
+
+# Disable calculation of level
+#DEFINES += DISABLE_LEVEL
+
+# Disable calculation of frequency spectrum
+# If this macro is defined, the FFTReal DLL will not be built
+#DEFINES += DISABLE_FFT
+
+# Disables rendering of the waveform
+#DEFINES += DISABLE_WAVEFORM
+
+# If defined, superimpose the progress bar on the waveform
+DEFINES += SUPERIMPOSE_PROGRESS_ON_WAVEFORM
+
+# Perform spectrum analysis calculation in a separate thread
+DEFINES += SPECTRUM_ANALYSER_SEPARATE_THREAD
+
+# Suppress warnings about strncpy potentially being unsafe, emitted by MSVC
+win32: DEFINES += _CRT_SECURE_NO_WARNINGS
+
diff --git a/demos/spectrum/spectrum.pro b/demos/spectrum/spectrum.pro
new file mode 100644
index 0000000000..a8f09deb0a
--- /dev/null
+++ b/demos/spectrum/spectrum.pro
@@ -0,0 +1,30 @@
+include(spectrum.pri)
+
+TEMPLATE = subdirs
+
+# Ensure that library is built before application
+CONFIG += ordered
+
+!contains(DEFINES, DISABLE_FFT) {
+ SUBDIRS += 3rdparty/fftreal
+}
+
+SUBDIRS += app
+
+TARGET = spectrum
+
+symbian {
+ load(data_caging_paths)
+
+ # Create a 'make sis' rule which can be run from the top-level
+
+ include($$QT_SOURCE_TREE/demos/symbianpkgrules.pri)
+
+ # UID for the SIS file
+ TARGET.UID3 = 0xA000E3FA
+}
+
+sources.files = README.txt spectrum.pri spectrum.pro TODO.txt
+sources.path = $$[QT_INSTALL_DEMOS]/spectrum
+INSTALLS += sources
+
diff --git a/dist/changes-4.6.3 b/dist/changes-4.6.3
index d8e9fb44ad..3695f14c74 100644
--- a/dist/changes-4.6.3
+++ b/dist/changes-4.6.3
@@ -20,17 +20,14 @@ Merge Request: http://qt.gitorious.org
* General *
****************************************************************************
-New features
-------------
+Examples and Demos
+------------------
- - SomeClass, SomeOtherClass
- * New classes for foo, bar and baz
-
-Optimizations
--------------
-
- - Optimized foo in QSomeClass
- * See list of Important Behavior Changes below
+ - Added Spectrum analyzer demo application.
+ - Added exit softkey to Wiggly example.
+ - Added close button to Anomaly demo.
+ - [QTBUG-10635]: Fixed Anomaly demo controlstrip icon placement for very
+ small screens.
****************************************************************************
@@ -40,128 +37,358 @@ Optimizations
QtCore
------
- - foo
- * bar
+ - QStateMachine
+ * [QTBUG-8842] Ensure history configuration is cleared when a state
+ machine is restarted.
+
+ - QXmlStreamReader
+ * [QTBUG-9196] Fixed crash when parsing.
QtGui
-----
- - foo
- * bar
+ - QComboBox
+ * [QTBUG-10403] Fixed QComboBox ignoring the item data background role
+ for some styles.
+
+ - QCommonStyle
+ * [QTBUG-7137] Fixed a bug that led to missing text pixels in QTabBar when
+ using small font sizes.
-QtDBus
-------
+ - QCUPSSupport
+ * [QTBUG-10512] Fixed a potential crash with misconfigured CUPS printers.
+ * [QTBUG-6419] Make QCUPSSupport::printerHasPPD() release temporary file
+ handles.
- - foo
- * bar
+ - qDrawPixmaps()
+ * [QTBUG-8455] Fixed qDrawPixmaps() to draw on integer coordinates under
+ Mac OS X.
-QtNetwork
----------
+ - QFontEngine
+ * [QTBUG-3976] Fixed a leak for QFont objects used in threads.
- - foo
- * bar
+ - QGifHandler
+ * [QTBUG-7037] Fixed QGifHandler::loopCount().
+ * [QTBUG-6696] Cache the sizes of images in an animated GIF.
-QtOpenGL
---------
+ - QGraphicsEffect
+ * [QTBUG-5358] Fixed warnings and crash when painting graphics effects
+ outside scene.
- - foo
- * bar
+ - QGraphicsItem
+ * [QTBUG-9391] Avoid a useless repaint when setting the cache mode to
+ DeviceCoordinateMode while already using that mode.
+ * [QTBUG-8475] Fixed crash and loss of focus when deleting a child of a
+ focus scope.
-QtScript
---------
+ - QGraphicsProxyWidget
+ * [QTBUG-5349] Fixed tooltips not being shown for QGraphicsProxyWidget.
+ * [QTBUG-2883] Fixed tooltips appearing at wrong location.
+ * [QTBUG-7296] Fixed painting artifacts on a scaled proxy when the view
+ is scrolled.
- - foo
- * bar
+ - QGraphicsScene
+ * [QTBUG-7863] Fixed incorrect blending when using
+ QGraphicsItem::DeviceCoordinateCache and when the item is semi-
+ transparent. If the item is transformed, the cache is now always fully
+ repainted to avoid artifacts.
-QtSql
------
+ - QGraphicsView
+ * Item tooltips are not clipped by the view anymore.
- - foo
- * bar
+ - QImageReader
+ * [QTBUG-7980] Fixed QImageReader::setAutoDetectImageFormat() to work with
+ plugins.
-QtXml
------
+ - QPainter
+ * [QTBUG-8140] Speed up custom bitmap brushes under X11 without Xrender
+ support.
+ * [QTBUG-8032] Fixed drawing pixmaps onto bitmaps on X11 without Xrender
+ support.
+ * [QTBUG-10421] Fixed WebKit-specific justification bug for text containing
+ more than one script.
+
+ - QPDFBaseEngine
+ * [QTBUG-8451] Fixed line and point drawing in the PS and PDF generators.
+
+ - QPixmap
+ * [QTBUG-8606] Fixed QPixmap::load() to not modify referenced copies.
+
+ - QPSPrintEngine
+ * [QTBUG-10121] Fixed incorrect version setting for EPS files.
+ * [QTBUG-10140] Fixed generation of the %%BoundingBox operator to output
+ integer values instead of floating point values.
+
+ - QRasterPaintEngine
+ * [QTBUG-9036] Fixed ClearType text rendering on translucent surfaces under
+ Windows.
+
+ - QRegion
+ * [QTBUG-7699] Prevented crash on large x-coordinates.
+
+ - QTextDocument
+ * [QTBUG-10301] Fixed a leak in QTextDocument::print().
+
+ - QTextEdit
+ * [QTBUG-9599] Fixed crash when copying the current text cursor as a result
+ of deleting a character.
+
+ - QTextEngine
+ * [QTBUG-9374] Fixed possible crash in QTextEngine::boundingBox() when using
+ multiscripted text.
+
+ - QTextLayout
+ * [QTBUG-9074] Fixed performance regression that was introduced in Qt 4.6.0.
+
+ - QTransform
+ * [QTBUG-8557] Fixed bug in QTransform::type() potentially occuring
+ after using operator/ or operator* or their overloads.
+
+ - QTriangulatingStroker
+ * [QTBUG-9548] Fixed possible data corruption when certain paths were
+ triangulated.
+
+ - QWin32PrintEngine
+ * [QTBUG-9938] Fixed a crash on Windows 7 systems with invalid PrinterPorts
+ registry entries.
+
+ - Improved scrolling horizontally with a mouse wheel over sliders.
+ - [QTBUG-7451] Gestures respect panels on QGraphicsView.
+
+QtOpenGL
+--------
+
+ - QOpenGLPaintEngine
+ * [QTBUG-10529] Fixed an issue where bound pixmaps were not released
+ correctly in the GL 1 engine.
- - foo
- * bar
+ - QGL2PaintEngineEx
+ * [QTBUG-8681] Fixed an application exit crash that could occur in the GL2
+ engine under X11.
-Qt Plugins
-----------
+ - QGLContext
+ * [QTBUG-5732] Fixed a GLX warning that occured with some Intel chipsets
+ under X11.
- - foo
- * bar
+ - QGLPixelBuffer
+ * [QTBUG-8047] Fixed usage of QGLPixelBuffer with share widgets on other
+ X11 screens.
-Third party components
-----------------------
+ - QGLWidget
+ * [QTBUG-7545] Fixed QGLWidget::grabFrameBuffer() to honor the 'withAlpha' flag.
+ * [QTBUG-8054] Fixed drawing QPixmaps onto QGLWidgets on different X11 screens.
+ * [QTBUG-7865] Fixed bug where GL widgets were not fully updated on
+ Windows Vista/7 with Aero disabled.
+ * [QTBUG-8753] Worked around driver bug causing clipping errors on the N900.
+ * [QTBUG-10510] Workaround ATI driver bug when using QGraphicsEffect with GL.
- - Updated foo to version 2.3.9.
+QtScript
+--------
- - Updated bar to the latest version from baz.org.
+ - [QTBUG-7066] Fixed regression introduced in 4.6.0 that made it impossible to
+ change the prototype of the global object.
+ - [QTBUG-8366] Fixed regression introduced in 4.6.0 that caused the instanceof
+ operator to throw an error when the right-hand-side is generated by
+ QScriptEngine::newQMetaObject().
+ - [QTBUG-8400] Fixed memory leak when lazily binding QScriptValue to an engine.
+ - [QTBUG-9775] Fixed regression introduced in 4.6.0 that caused the qsTr()
+ function not to resolve the translation context correctly when invoked in
+ the global scope.
+ - [QTBUG-8364] Fixed regression introduced in QScriptclass in 4.6.0 that could
+ cause the Callable extension to crash.
+ - [QTBUG-6437] Fixed regression introduced in QScriptEngine in 4.6.0 that made
+ installTranslatorFunctions() not work with custom global object.
+
+QtXml
+-----
+ - [QTBUG-8398] QDom: prevent infinite loop when cloning a DTD.
+
+QtXmlPatterns
+-------------
+ - [QTBUG-8920] fixed crash with anonymous types in XsdSchemaChecker.
+ - [QTBUG-8394] include/import/redefine schemas only once.
+ - QXmlSchema: fix crash with referencing elements.
****************************************************************************
* Platform Specific Changes *
****************************************************************************
-Qt for Unix (X11 and Mac OS X)
-------------------------------
-
- -
-
Qt for Linux/X11
----------------
- -
+ - [MR 458] Improved handling of Shift-Tab with VNC on X11.
+ - [QTBUG-7063] Changed key bindings (XF86XK_MyComputer, Qt::Key_Launch0,
+ Key_Calculator) on X11 back to how it was in Qt 4.5 before MR 1742
+ accidentally changed it.
+ - [QTBUG-8666] Fixed a crash when using QIcon::fromTheme with icons declared
+ static.
+ - QGtkStyle
+ * [QTBUG-9240] Fixed a potensial crash in QGtkStyle when the gtk
+ theme engine is not unavaliable.
+ * [QTBUG-8537] Fixed a Glib-GObject-WARNING on application startup with
+ certain versions of GTK+.
+ * [QTBUG-8226] Fixed an atk_object_set_name assertion warning with certain
+ versions of GTK+.
Qt for Windows
--------------
- -
-
-Qt for Mac OS X
----------------
-
- -
+ - [QTBUG-6007] On Windows we query if there is a touch screen and do not try
+ to enable gestures otherwise.
+ - QLocalSocket
+ * [QTBUG-7815] Pipe handle leak fixed, when closing a QLocalSocket that
+ still has unwritten data.
+ * [QTBUG-9681] Fixed closing state for local sockets with unwritten data.
+ * [QTBUG-8418] Detection of Windows Mobile 6.5 fixed.
-Qt for Embedded Linux
----------------------
+ - [QTBUG-7662] Fixed an issue with clipped icon text.
+ - [QTBUG-7663] QFileIconProvider now show overlays when fetching native
+ filesystem icons.
+ - [QTBUG-8324] Fixed a potential crash when fetching native icons.
- -
+Qt for Windows CE
+-----------------
-DirectFB
---------
+- Core changes
+ * [QTBUG-8754] Fixed menu handling on Windows mobile.
+ * [QTBUG-7943] Fixed a crash when receiving a certain type of
+ WM_SETTINGSCHANGE message.
- -
+- QWindowsMobileStyle
+ * [QTBUG-8419] Huge performance penalty for QTabWidget fixed for
+ Windows Mobile 6.5.
+ * [QTBUG-8757] QTabBar scroll button size has been fixed.
-Qt for Windows CE
+Qt for Mac
-----------------
- -
+ - [QTBUG-8461] Fixed incorrect text rendering with document mode tabs.
+
Qt for Symbian
--------------
- - [QT-567] Implementation of QtMultimedia QAudio* APIs
- - [QTBUG-8919] Modified Phonon MMF backend to support video playback on
- platforms which use graphics surfaces (i.e. platforms using the
- New Graphics Architecture a.k.a. ScreenPlay)
-
-****************************************************************************
-* Tools *
-****************************************************************************
+ - Multimedia
+ * [QT-567] Implementation of QtMultimedia QAudio* APIs.
+ * [QTBUG-8919] Modified Phonon MMF backend to support video playback on
+ platforms which use graphics surfaces (i.e. platforms using the
+ New Graphics Architecture a.k.a. ScreenPlay).
+
+ - mkspecs
+ * Changed pkg_prerules to not use default_deployment for vendor ID.
+ * Added forwarding headers for qplatformdefs.h in Symbian mkspecs.
+ * Added some missing IBY export paths to platform_path.prf.
+ * Fixed libstdcpp.dll version autodetection for Symbian.
+ * [QTBUG-7836]: Removed unnecessary dependency to moc.exe from Symbian
+ builds.
+ * [QT-1171]: Fixed libstdcpp.dll version autodetection.
+ * [QTBUG-8513]: Fixed misc FLM issues.
+ * [QT-2909]: Support for adding conditional MMP_RULES.
+ * [QT-3253]: Export .flm files always if they are different.
+ * [QTBUG-9279]: Made it possible to define more than one language using
+ pkg_prerules.
+ * [QTBUG-6795]: Made sure target path exists in qmake_extra_pre_targetdep.flm.
+ * [QTBUG-7883]: Only use unix-like tools when not building for Symbian
+ in Windows.
+
+ - configure
+ * [QTBUG-7942]: Fix QT_BUILD_KEY for Symbian in Windows builds.
+
+ IMPORTANT NOTE: The build key change causes all Qt for Symbian plugins
+ made with Qt 4.6.2 or earlier version incompatible with
+ Qt 4.6.3 and later.
+
+ * [QTBUG-9065]: Support for -qtlibinfix parameter in Symbian.
+
+ - qmake
+ * Changed canonical paths to absolute paths in symmake.
+ * Basic deployment support for ROM in Symbian.
+ * Add '.' dir as the first include directory in Symbian.
+ * [QT-3017]: Support for conditional subdirs.
+ * [QT-3083]: Expanded support for RSS_RULES.
+ * [QTBUG-8685]: RVCT 4 support to Symbian builds.
+ * [QT-3147]: Changed Symbian pkg files to deploy from under epoc32.
+ * [QT-2985]: Fix extensions section in bld.inf when CONFIG contains
+ symbian_test.
+
+ - S60installs
+ * Export qtdemoapps.iby to proper location.
+ * [QT-3163]: Removed QtDeclarative.dll deployment from qt.iby.
+
+ - QProcess
+ * [QTBUG-7735]: Fixed crash at application exit when QProcess was used in
+ Symbian.
+ * [QTBUG-8906]: Removed extra space from the command line passed to
+ QProcess in Symbian.
+
+ - QtGui
+ * QUnixPrintWidget is no longer declared in Symbian.
+ * [QTBUG-10207]: Fixed long menu item texts causing crash.
+ * [QTBUG-9910] Fixed incorrect dialog position when native AVKON combined
+ status-and-control pane is in use.
+ * [QTBUG-4875] Made QMessageBox match size with native Symbian messageBox.
+ * [QTBUG-5539] Fixed QMessageBox to stretch to screen width with very small
+ content.
+ * [QTBUG-7828] Fixed Virtual keyboard closing issue with Sym^3.
+ * [QTBUG-9480] Use focus widget palette colors to show T9 suggested or
+ autocompletion words in QCoeFepInputContext.
+ * [QTBUG-10006] Changed default supported text modes to all, instead of just
+ lower and upper cases in QCoeFepInputContext.
+ * [QT-3277] Support text selection in QCoeFepInputContext for Sym^3.
+ * [QT-3008] Fixed crash in QGraphicsScenePrivate::setFocusItemHelper.
+
+ - QS60Style
+ * [QTBUG-10697] Support native-like selection in item views.
+ * [QTBUG-10454] Made styled sliders match in size to native sliders.
+ * [QTBUG-10073] Fixed QMenu with a lot of menu items.
+ * [QTBUG-3102] Fixed QTabWidget icon size issue.
+ * [QTBUG-5001] Show combobox list as a popup instead of dropdown list.
+ * [QTBUG-7258] Fixed calculations of PM_FocusFrameVMargin and
+ PM_FocusFrameHMargin pixel metrics.
+ * [QTBUG-7996] Fixed squeezed scrollbar handle and groove ends.
+ * [QTBUG-8193] Fixed drag-n-drop drop area drawing issue.
+ * [QTBUG-8194] Removed scrollbar context menu support.
+ * [QTBUG-8704] Fixed palette issues when drawing highlighted text.
+ * [QTBUG-9212] Fixed itemview multiselection issues.
+ * [QTBUG-9321] Fixed very large spinboxes drawing issues.
+ * [QTBUG-9837] Fixed text cutting issues with narrow QComboBoxes.
+ * [QTBUG-9844] Fixed QTreeView branch drawing issues in right to left
+ UI layout.
+ * [QTBUG-9927] Fixed transparent list higlight to show up correctly for
+ S60 3rd edition FP1 devices.
+ * [QTBUG-10064] Removed focus frame drawing for context menus and popups.
+ * [QTBUG-10487] Fixed QToolButton to be drawn pressed when context menu
+ for that button is open.
+ * [QTBUG-10549] Fixed style to honor stylesheet when drawing focus frame
+ for QPushButtons.
+ * [QT-3295] Made QMenu to look more native-like.
+ * [QT-3185] Fixed border frames to be drawn transparent for Sym^3 devices.
+ * [QT-3148] Draw application background correctly when animated wallpaper
+ is used in Sym^3 device.
+ * [QT-3137] Launch virtual keyboard with single tap.
+ * [QT-3104] Re-locate QTabWidget's scrollbuttons to either side of widget.
+ * [QT-2179] Fixed QPushButton with text and QPushButton with standard icon
+ to be of same size.
+
+ - Examples & demos:
+ * Enabled more examples by default in Symbian builds.
+
+ - Documentation
+ * [QTBUG-9277]: Clarified pkg_prerules usage documentation.
+
+ - Plugins:
+ * Fixed sqlite3_v9.2.zip to export sqlite3.iby to correct location.
+
+ - General
+ * [QT-3055]: Fixed filename cases to support building Qt for Symbian in
+ Linux.
- - Designer
- * foo
-
- - qdoc3
- * bar
-
- - Linguist
- * baz
****************************************************************************
-* Important Behavior Changes *
+* Tools *
****************************************************************************
- -
+ - qmake
+ * Fixed qmake.pro for using with mingw
diff --git a/dist/changes-4.6.4 b/dist/changes-4.6.4
new file mode 100644
index 0000000000..381023f869
--- /dev/null
+++ b/dist/changes-4.6.4
@@ -0,0 +1,158 @@
+Qt 4.6.4 is a bug-fix release. It maintains both forward and backward
+compatibility (source and binary) with Qt 4.6.0. For more details,
+refer to the online documentation included in this distribution. The
+documentation is also available online:
+
+ http://qt.nokia.com/doc/4.6
+
+The Qt version 4.6 series is binary compatible with the 4.5.x series.
+Applications compiled for 4.5 will continue to run with 4.6.
+
+Some of the changes listed in this file include issue tracking numbers
+corresponding to tasks in the Qt Bug Tracker or the Merge Request queue
+of the public source repository.
+
+Qt Bug Tracker: http://bugreports.qt.nokia.com
+Merge Request: http://qt.gitorious.org
+
+****************************************************************************
+* General *
+****************************************************************************
+
+New features
+------------
+
+ - SomeClass, SomeOtherClass
+ * New classes for foo, bar and baz
+
+Optimizations
+-------------
+
+ - Optimized foo in QSomeClass
+ * See list of Important Behavior Changes below
+
+
+****************************************************************************
+* Library *
+****************************************************************************
+
+QtCore
+------
+
+ - foo
+ * bar
+
+QtGui
+-----
+
+ - foo
+ * bar
+
+QtDBus
+------
+
+ - foo
+ * bar
+
+QtNetwork
+---------
+
+ - foo
+ * bar
+
+QtOpenGL
+--------
+
+ - foo
+ * bar
+
+QtScript
+--------
+
+ - foo
+ * bar
+
+QtSql
+-----
+
+ - foo
+ * bar
+
+QtXml
+-----
+
+ - foo
+ * bar
+
+Qt Plugins
+----------
+
+ - foo
+ * bar
+
+Third party components
+----------------------
+
+ - Updated foo to version 2.3.9.
+
+ - Updated bar to the latest version from baz.org.
+
+
+****************************************************************************
+* Platform Specific Changes *
+****************************************************************************
+
+Qt for Unix (X11 and Mac OS X)
+------------------------------
+
+ -
+
+Qt for Linux/X11
+----------------
+
+ -
+
+Qt for Windows
+--------------
+
+ -
+
+Qt for Mac OS X
+---------------
+
+ -
+
+Qt for Embedded Linux
+---------------------
+
+ -
+
+DirectFB
+--------
+
+ -
+
+Qt for Windows CE
+-----------------
+
+ -
+
+****************************************************************************
+* Tools *
+****************************************************************************
+
+ - Designer
+ * foo
+
+ - qdoc3
+ * bar
+
+ - Linguist
+ * baz
+
+****************************************************************************
+* Important Behavior Changes *
+****************************************************************************
+
+ -
+
diff --git a/dist/changes-4.7.0 b/dist/changes-4.7.0
index 4fd7fdb56d..c19bf15a5d 100644
--- a/dist/changes-4.7.0
+++ b/dist/changes-4.7.0
@@ -27,6 +27,12 @@ General Improvements
- Support for the GL_EXT_geometry_shader4, aka Geometry Shaders, was added
to QGLShaderProgram.
+New features
+------------
+
+ - QNetworkSession, QNetworkConfiguration, QNetworkConfigurationManager
+ * New bearer management classes added.
+
Third party components
----------------------
@@ -44,6 +50,28 @@ Third party components
QtCore
------
+ - QString
+ * Added QString(const QChar *) constructor.
+ NOTE: This is source-incompatible for the bogus QString(0) case.
+ * Removed internal but exported qt_winQString2MB() and qt_winMB2QString()
+ * Added setRawData() function (also revived the one in QByteArray)
+ * Various performance improvements
+ - QList
+ * Added reserve() function
+ * Various performance improvements
+ - QMetaType
+ * Significantly improved performance of the type() function
+ * [QTBUG-8235] Support QEasingCurve as a built in metatype.
+ - QState
+ * [QTBUG-7741] Added a function to get the out-going transitions
+ - QXmlStreamReader
+ * [QTBUG-9196] fixed crash when parsing
+ - QTimer
+ * singleShot with 0 timeout will now avoid allocating objects
+ - QAbstractAnimation
+ * [QTBUG-10654] Avoids animation with loopCount == 0 to change state
+ to running and stopped.
+
QtGui
-----
@@ -51,15 +79,147 @@ QtGui
* Fixed a bug that would cause keyboard searches not to behave
properly when used within 400 milliseconds of midnight.
+ - QComboBox
+ * [QTBUG-8796] Made ForegroundRole work for all styles.
+
- QPrinter
* Obsoleted the slightly confusing setNumCopies() and numCopies()
functions, and replaced them with setCopyCount(), copyCount() and
supportsMultipleCopies().
+ - QPrintDialog/QPrinter
+ * Added support for printing the current page.
+
- QCommonStyle
* Fixed a bug that led to missing text pixels in QTabBar when using
small font sizes. (QTBUG-7137)
+ - QGraphicsEffect
+ * Fixed rendering bugs when scrolling graphics items with drop
+ shadows.
+
+ - QGraphicsItem
+ * [QTBUG-8112] itemChange() is now called when transformation
+ properties change (setRotation, setScale, setTransformOriginPoint).
+ * [QTBUG-9024] Improved performance when calling update() on items that
+ are clipped by an ancestor (QGraphicsItem::ItemClipsChildrenToShape).
+ * [QTBUG-7703], [QTBUG-8378] Fixed scrolling issues
+
+ - QGraphicsTextItem
+ * [QTBUG-7333] Fixed keyboard shortcuts not being triggered when the
+ the item has focus and something else has the same shortcut sequence.
+ * [QTBUG-10574] Fixed crash when flag "QGraphicsItem::ItemIgnoresTransformations"
+ is set.
+
+ - QGraphicsView
+ * [QTBUG-7438] Fixed viewport cursor getting reset when releasing
+ the mouse.
+ * [QTBUG-10338] Fixed drawing artifacts due to rounding errors.
+
+ - QImage
+ * [QTBUG-9640] Prevented unneccessary copy in QImage::setAlphaChannel().
+ * [QTBUG-7982] Added QImage::bitPlaneCount().
+
+ - QPicture
+ * [QTBUG-4974] Printing QPictures containing text to a high resolution
+ QPrinter would in many cases cause incorrect character spacing.
+
+ - QPainter
+ * Added QPainter::drawPixmapFragments(), which makes it possible to draw
+ pixmaps, or sub-rectangles of pixmaps, at various positions with
+ different scale, opacity and rotation.
+ * [QTBUG-10018] Fixed image drawing inconsistencies when drawing
+ 1x1 source rects with rotating / shear / perspective transforms.
+ * Optimized various blending and rendering operations for ARM
+ processors with a NEON vector unit.
+ * Fixed some performance issues when drawing sub-pixmaps of large
+ pixmaps and falling back to raster in the X11 paint engine.
+
+ - QPainterPath
+ * [QTBUG-3778] Fixed bug in painter path polygon intersection code.
+ * [QTBUG-7396] Optimized painter path intersections for when at
+ least one of the paths is a rectangle by special casing.
+ * [QTBUG-8035] Got rid of bezier intersection code in the boolean
+ operators (intersect, subtract, unite) to prevent numerical
+ stability issues.
+
+ - QPixmap
+ * [QTBUG-4149] Fixed QPixmap::grabWidget() on widgets that have not yet
+ been shown.
+
+ - QPlastiqueStyle
+ * [QTBUG-6516] Respect AlternateBase role for list views.
+
+ - QRegion
+ * [QTBUG-7699] Fixed crash caused by large x-coordinates.
+
+ - QSplitter
+ * [QTBUG-9335] Improve support for 1-pixel splitters by using a
+ larger drag area.
+
+ - QTransform
+ * [QTBUG-8557] Fixed bug in QTransform::type() potentially occuring
+ after using operator/ or operator* or their overloads.
+
+QtNetwork
+---------
+ - QHostInfo: Added a small 60 second DNS cache
+ - QNetworkAccessManager
+ * Performance improvements for file:// and http://
+ * Crash fixes
+ * Improvements on HTTP pipelining
+ * Fix problem with canReadLine()
+ * Fix problem with HTTP 100 reply
+ * Some new attributes for QNetworkRequest
+ * [QTBUG-8206] add method to send custom requests
+ * [QTBUG-9618] [MR 2372] send secure cookies only over secure connections
+ * [QTBUG-7713] Fix bug related to re-sending request
+ * [QTBUG-7673] Fix issue with some webservers
+ - Sockets
+ * Better support for derived QTcpServer
+ * [QTBUG-7054] Fix error handling with waitFor*() for socket engine
+ * [QTBUG-7316, QTBUG-7317] Also handle unknown errors from socket engine
+ - SSL
+ * [QTBUG-2515] Do not make OpenSSL prompt for a password
+ * [QTBUG-6504, QTBUG-8924, QTBUG-5645] Fix memleak
+
+QtScript
+--------
+ - Updated src/3rdparty/javascriptcore to a more recent version
+ - Significantly improved performance of the Qt/C++<-->JavaScript bridge
+ - QScriptValueIterator: Significantly improved performance
+ - [QTBUG-3637] Added a wrap option for excluding slots from a QObject binding
+ - [QTBUG-6238] Added a function for reporting additional memory cost
+ - [QTBUG-6908] Significantly improved performance of qsTr()
+
+QtSvg
+-----
+ - QSvgRenderer
+ * [QTBUG-8264] Fixed rounded rectangles when 'rx' or 'ry' is zero.
+ * [QTBUG-10022] Fixed assert failure when loading an invalid SVG.
+
+QtXmlPatterns
+-------------
+
+ - [QTBUG-8920] fixed crash with anonymous types in XsdSchemaChecker
+ - [QTBUG-8394] include/import/redefine schemas only once
+ - QXmlSchema: fix crash with referencing elements
+
+Qt Plugins
+----------
+
+ - Jpeg image IO plugin
+ * Fixed failure to store certain QImage formats as jpeg (QTBUG-7780)
+ * Optimized smoothscaling
+ * Optimized to avoid data copy when reading from memory device (QTBUG-9095)
+
+ - SVG image IO plugin
+ * Added support for svgz format (QTBUG-8227)
+ * Fixed canRead() so that it can be used also for non-sequential
+ devices. (QTBUG-9053)
+ * Added support for clipping and scaling and backgroundcolor
+ * Optimized to avoid data copy when reading from memory device (QTBUG-9095)
+
****************************************************************************
* Database Drivers *
****************************************************************************
@@ -71,26 +231,32 @@ QtGui
Qt for Linux/X11
----------------
-
+ - QGtkStyle
+ * Fixed rtl issues with sliders (QTBUG-8986)
+ * Fixed missing pressed appearance on scroll bar handles. (QTBUG-10396)
Qt for Windows
--------------
+ - Popup windows now implicitly activate when shown. (QTBUG-7386)
- QLocalSocket
* Pipe handle leak fixed, when closing a QLocalSocket that still has
unwritten data. (QTBUG-7815)
* Fixed closing state for local sockets with unwritten data. (QTBUG-9681)
- * Detection of Windows mobile 6.5 fixed. (QTBUG-8418)
* Improved performance of writing to QLocalSocket.
Qt for Mac OS X
---------------
-
+ - QMacStyle
+ * Removed frame around statusbar items. (QTBUG-3574)
+ * More native appearance of item view headers and frames. (QTBUG-10047)
Qt for Embedded Linux
---------------------
+ * Add support for WA_TranslucentBackground (QTBUG-5739)
+ * Add support for QFont::NoAntialias (QTBUG-5936)
Qt for Windows CE
-----------------
@@ -104,6 +270,7 @@ Qt for Windows CE
* Huge performance penalty for QTabWidget fixed for
Windows mobile 6.5. (QTBUG-8419)
* QTabBar scroll button size has been fixed. (QTBUG-8757)
+ * Detection of Windows mobile 6.5 fixed. (QTBUG-8418)
@@ -125,15 +292,19 @@ Qt for Windows CE
- Designer
-
+ - [QTBUG-9351] Fixed a bug that caused modified headerview-properties
+ of item views to be duplicated in the UI-file.
+ - [QTBUG-8347] Fixed a layout problem caused by embedded images in the rich
+ text of a QLabel.
+ - [QTBUG-8041], [QTBUG-8213] Fixed a crash related to undo while moving
+ widgets by arrow keys.
+ - [QTBUG-7822] Added support for the 'windowOpacity'-property.
+ - [QTBUG-7764] Fixed the emission of the propertyChanged()-signal of
+ QDesignerPropertyEditorInterface.
+ - [QTBUG-5492] Made widgetbox-filter match on class names, too.
- Linguist
- - Linguist GUI
-
- - lupdate
-
- - lrelease
-
+ * The GNU gettext PO format support has been improved
- rcc
@@ -143,11 +314,35 @@ Qt for Windows CE
- uic
-
- uic3
+ - [QTBUG-9207] Fixed export of image files of type XPM, added
+ compatibility option -limit-xpm-linelength.
- qmake
+ * Removed remainder of tmake compatibility
+ * Removed remainder of mac9 mode
+ * Removed MSVC6 generator
+ * Removed makespecs for MSVC.NET and MSVC2002
+ * Deprecated -win32/-unix/-macx options, following various cleanups
+ relating to platform support. Cross-building makespecs should now
+ specify a TARGET_PLATFORM.
+ * Started to warn about use of various constructs:
+ - non-lowercased replace $$function() calls
+ - deprecated variables
+ - unescaped backslashes.
+ NOTE: You should use UNIX path separators where possible. qmake
+ will warn about unnecessary Windows path separators in the future.
+ * Removed expansion of qmake- & environment variables in some unexpected
+ cases (double expansions, command line options, etc.)
+ * Removed splitting at semicolons of literal values which were assigned
+ directly to INCLUDEPATH and DEPENDPATH
+ * Removed UNIX-specific exporting of all qmake variables to the environment
+ of subprocesses invoked via system(). You should put specific assignments
+ into the invoked shell command instead.
+ * Started to short-cut evaluation inside if() tests, consistently with
+ evaluation outside if().
+ * Added possibility to request project recursion from within a PRO file
- configure
@@ -168,3 +363,23 @@ Qt for Windows CE
* Important Behavior Changes *
****************************************************************************
+QtScript: Changes due to updating src/3rdparty/javascriptcore:
+ - It is no longer possible to delete an undeletable property from C++
+ using QScriptValue::setProperty().
+ - The QScriptEngineAgent::positionChange() callback will always report
+ a column number of 1.
+ - QScriptValueIterator will include the "length" property when iterating
+ over Array objects.
+
+QtCore:
+ - QChar no longer carries the Q_PACKED tag on ARM. This flag was
+ used to allow proper alignment of QChar on 2 bytes on older ARM
+ ABIs, but it also allowed for unaligned access. Qt never generates
+ or uses unaligned access and the new EABI aligns as expected, so
+ the flag was removed.
+
+QtNetwork:
+ - Qt does no longer provide its own CA bundle, but uses system APIs for
+ retrieving the default system certificates. On Symbian,
+ QSslSocket::systemCaCertificates() provides an empty list of
+ certificates.
diff --git a/doc/doc.pri b/doc/doc.pri
index 3d04049287..f748f3d7d9 100644
--- a/doc/doc.pri
+++ b/doc/doc.pri
@@ -5,9 +5,9 @@
DOCS_GENERATION_DEFINES =
GENERATOR = $$QT_BUILD_TREE/bin/qhelpgenerator
-win32:!win32-g++ {
+win32:!win32-g++* {
unixstyle = false
-} else :win32-g++:isEmpty(QMAKE_SH) {
+} else :win32-g++*:isEmpty(QMAKE_SH) {
unixstyle = false
} else {
unixstyle = true
@@ -36,9 +36,15 @@ QT_ZH_CN_DOCUMENTATION = ($$QDOC qt-api-only_zh_CN.qdocconf) && \
$$GENERATOR doc-build/html-qt_zh_CN/qt.qhp -o doc/qch/qt_zh_CN.qch \
)
-win32-g++:isEmpty(QMAKE_SH) {
+QT_JA_JP_DOCUMENTATION = ($$QDOC qt-api-only_ja_JP.qdocconf) && \
+ (cd $$QT_BUILD_TREE && \
+ $$GENERATOR doc-build/html-qt_ja_JP/qt.qhp -o doc/qch/qt_ja_JP.qch \
+ )
+
+win32-g++*:isEmpty(QMAKE_SH) {
QT_DOCUMENTATION = $$replace(QT_DOCUMENTATION, "/", "\\\\")
QT_ZH_CN_DOCUMENTATION = $$replace(QT_ZH_CN_DOCUMENTATION, "/", "\\\\")
+ QT_JA_JP_DOCUMENTATION = $$replace(QT_JA_JP_DOCUMENTATION, "/", "\\\\")
}
# Build rules:
@@ -52,14 +58,17 @@ docs.depends = sub-qdoc3 adp_docs qch_docs
docs_zh_CN.depends = docs
docs_zh_CN.commands = $$QT_ZH_CN_DOCUMENTATION
+docs_ja_JP.depends = docs
+docs_ja_JP.commands = $$QT_JA_JP_DOCUMENTATION
+
# Install rules
htmldocs.files = $$QT_BUILD_TREE/doc/html
htmldocs.path = $$[QT_INSTALL_DOCS]
-htmldocs.CONFIG += no_check_exist
+htmldocs.CONFIG += no_check_exist directory
qchdocs.files= $$QT_BUILD_TREE/doc/qch
qchdocs.path = $$[QT_INSTALL_DOCS]
-qchdocs.CONFIG += no_check_exist
+qchdocs.CONFIG += no_check_exist directory
docimages.files = $$QT_BUILD_TREE/doc/src/images
docimages.path = $$[QT_INSTALL_DOCS]/src
@@ -67,5 +76,5 @@ docimages.path = $$[QT_INSTALL_DOCS]/src
sub-qdoc3.depends = sub-corelib sub-xml
sub-qdoc3.commands += (cd tools/qdoc3 && $(MAKE))
-QMAKE_EXTRA_TARGETS += sub-qdoc3 adp_docs qch_docs docs docs_zh_CN
+QMAKE_EXTRA_TARGETS += sub-qdoc3 adp_docs qch_docs docs docs_zh_CN docs_ja_JP
INSTALLS += htmldocs qchdocs docimages
diff --git a/doc/src/classes.qdoc b/doc/src/classes.qdoc
index 1552f567c9..594c1fe65f 100644
--- a/doc/src/classes.qdoc
+++ b/doc/src/classes.qdoc
@@ -59,7 +59,7 @@
/*!
\page classes.html
- \title All Qt Classes
+ \title All Classes
\ingroup classlists
\brief If you know the name of the class you want, find it here.
@@ -71,7 +71,7 @@
\generatelist classes
- \sa {Qt3 Support Classes}, {All Qt Modules}, {Obsolete Classes}
+ \sa {Qt3 Support Classes}, {All Modules}, {Obsolete Classes}
*/
/*!
@@ -162,7 +162,7 @@
/*!
\page namespaces.html
- \title All Qt Namespaces
+ \title All Namespaces
\ingroup classlists
\brief A Qt namespace contains enum types, functions, and sometimes classes.
diff --git a/doc/src/declarative/advtutorial.qdoc b/doc/src/declarative/advtutorial.qdoc
index 2d05850c6e..116c4e4aba 100644
--- a/doc/src/declarative/advtutorial.qdoc
+++ b/doc/src/declarative/advtutorial.qdoc
@@ -105,16 +105,20 @@ is the \l SystemPalette item. This provides access to the Qt system palette
and is used to give the button a more native look-and-feel.
Notice the anchors for the \c Item, \c Button and \c Text elements are set using
-\l {codingconventions.html#Grouped-properties}{group notation} for readability.
+\l {qdeclarativeintroduction.html#dot-properties}{group notation} for readability.
\section2 Adding \c Button and \c Block components
-The \c Button item in the code above is defined in a separate file named \c Button.qml.
+The \c Button item in the code above is defined in a separate component file named \c Button.qml.
To create a functional button, we use the QML elements \l Text and \l MouseArea inside a \l Rectangle.
Here is the \c Button.qml code:
\snippet declarative/tutorials/samegame/samegame1/Button.qml 0
+This essentially defines a rectangle that contains text and can be clicked. The \l MouseArea
+has an \c onClicked() handler that is implemented to emit the \c clicked() signal of the
+\c container when the area is clicked.
+
In Same Game, the screen is filled with small blocks when the game begins.
Each block is just an item that contains an image. The block
code is defined in a separate \c Block.qml file:
@@ -174,7 +178,7 @@ The \c createBlock() function creates a block from the \c Block.qml file
and moves the new block to its position on the game canvas. This involves several steps:
\list
-\o \l {createComponent(url file)}{createComponent()} is called to generate an element from \c Block.qml.
+\o \l {Qt::createComponent()}{Qt.createComponent()} is called to generate an element from \c Block.qml.
If the component is ready, we can call \c createObject() to create an instance of the \c Block item.
\o If \c createObject() returned null (i.e. if there was an error while
loading the object), print the error information.
@@ -226,14 +230,14 @@ until it is won or lost.
To do this, we have added the following functions to \c samegame.js:
\list
-\o function \c{handleClick(x,y)}
-\o function \c{floodFill(xIdx,yIdx,type)}
-\o function \c{shuffleDown()}
-\o function \c{victoryCheck()}
-\o function \c{floodMoveCheck(xIdx, yIdx, type)}
+\o \c{handleClick(x,y)}
+\o \c{floodFill(xIdx,yIdx,type)}
+\o \c{shuffleDown()}
+\o \c{victoryCheck()}
+\o \c{floodMoveCheck(xIdx, yIdx, type)}
\endlist
-As this is a tutorial about QML, not game design, we will only discuss \c handleClick() and \c victoryCheck() below since they interface directly with the QML elements. Note that although the game logic here is written in JavaScript, it could have been written in C++ and then exposed to JavaScript.
+As this is a tutorial about QML, not game design, we will only discuss \c handleClick() and \c victoryCheck() below since they interface directly with the QML elements. Note that although the game logic here is written in JavaScript, it could have been written in C++ and then exposed to QML.
\section3 Enabling mouse click interaction
@@ -269,6 +273,8 @@ And this is how it is used in the main \c samegame.qml file:
\snippet declarative/tutorials/samegame/samegame3/samegame.qml 2
+We give the dialog a \l {Item::z}{z} value of 100 to ensure it is displayed on top of our other components. The default \c z value for an item is 0.
+
\section3 A dash of color
@@ -383,15 +389,41 @@ The theme change here is produced simply by replacing the block images. This can
Another feature we might want to add to the game is a method of storing and retrieving high scores.
-In \c samegame.qml we now pop up a dialog when the game is over and requests the player's name so it can be added to a High Scores table. The dialog is created using \c Dialog.qml:
+To do this, we will show a dialog when the game is over to request the player's name and add it to a High Scores table.
+This requires a few changes to \c Dialog.qml. In addition to a \c Text element, it now has a
+\c TextInput child item for receiving keyboard text input:
+
+\snippet declarative/tutorials/samegame/samegame4/content/Dialog.qml 0
+\dots 4
+\snippet declarative/tutorials/samegame/samegame4/content/Dialog.qml 2
+\dots 4
+\snippet declarative/tutorials/samegame/samegame4/content/Dialog.qml 3
+
+We'll also add a \c showWithInput() function. The text input will only be visible if this function
+is called instead of \c show(). When the dialog is closed, it emits a \c closed() signal, and
+other elements can retrieve the text entered by the user through an \c inputText property:
+
+\snippet declarative/tutorials/samegame/samegame4/content/Dialog.qml 0
+\snippet declarative/tutorials/samegame/samegame4/content/Dialog.qml 1
+\dots 4
+\snippet declarative/tutorials/samegame/samegame4/content/Dialog.qml 3
+
+Now the dialog can be used in \c samegame.qml:
\snippet declarative/tutorials/samegame/samegame4/samegame.qml 0
-When the dialog is closed, we call the new \c saveHighScore() function in \c samegame.js, which stores the high score locally in an SQL database and also send the score to an online database if possible.
+When the dialog emits the \c closed signal, we call the new \c saveHighScore() function in \c samegame.js, which stores the high score locally in an SQL database and also send the score to an online database if possible.
+The \c nameInputDialog is activated in the \c victoryCheck() function in \c samegame.js:
+
+\snippet declarative/tutorials/samegame/samegame4/content/samegame.js 3
+\dots 4
+\snippet declarative/tutorials/samegame/samegame4/content/samegame.js 4
\section3 Storing high scores offline
+Now we need to implement the functionality to actually save the High Scores table.
+
Here is the \c saveHighScore() function in \c samegame.js:
\snippet declarative/tutorials/samegame/samegame4/content/samegame.js 2
@@ -436,6 +468,6 @@ By following this tutorial you've seen how you can write a fully functional appl
\endlist
There is so much more to learn about QML that we haven't been able to cover in this tutorial. Check out all the
-demos and examples and the \l {Declarative UI (QML)}{documentation} to find out all the things you can do with QML!
+demos and examples and the \l {Qt Quick}{documentation} to see all the things you can do with QML!
*/
diff --git a/doc/src/declarative/animation.qdoc b/doc/src/declarative/animation.qdoc
index 88aca1b30c..c320898330 100644
--- a/doc/src/declarative/animation.qdoc
+++ b/doc/src/declarative/animation.qdoc
@@ -46,14 +46,14 @@
Animation in QML is done by animating properties of objects. Properties of type
real, int, color, rect, point, size, and vector3d can all be animated.
-QML supports three main forms of animation - basic property animation,
+QML supports three main forms of animation: basic property animation,
transitions, and property behaviors.
\tableofcontents
\section1 Basic Property Animation
-The simplest form of animation is directly using \l PropertyAnimation, which can animate all of the property
+The simplest form of animation is a \l PropertyAnimation, which can animate all of the property
types listed above. If the property you are animating is a number or color, you can alternatively use
NumberAnimation or ColorAnimation. These elements don't add any additional functionality,
but will help enforce type correctness and are slightly more efficient.
@@ -62,61 +62,23 @@ A property animation can be specified as a value source using the \e Animation \
for repeating animations.
The following example creates a bouncing effect:
-\qml
-Rectangle {
- id: rect
- width: 120; height: 200;
- Image {
- id: img
- source: "qt-logo.png"
- x: 60-img.width/2
- y: 0
- SequentialAnimation on y {
- loops: Animation.Infinite
- NumberAnimation { to: 200-img.height; easing.type: "OutBounce"; duration: 2000 }
- PauseAnimation { duration: 1000 }
- NumberAnimation { to: 0; easing.type: "OutQuad"; duration: 1000 }
- }
- }
-}
-\endqml
+\snippet doc/src/snippets/declarative/animation.qml property-anim-1
\image propanim.gif
When you assign an animation as a value source, you do not need to specify \c property
-or \c target; they are automatically selected for you. You do, however, need to specify \c to.
+or \c target values; they are automatically selected for you. You do, however, need to specify a \c to value.
An animation specified as a value source will be \c running by default.
-\qml
-Rectangle {
- id: rect
- width: 200; height: 200;
- Rectangle {
- color: "red"
- width: 50; height: 50
- NumberAnimation on x { to: 50 }
- }
-}
-\endqml
+For example, here is a rectangle that uses a \l NumberAnimation value source to animate the movement
+from its current position to an \c x value of 50. The animation starts immediately, and only the \c to
+property is required:
+
+\snippet doc/src/snippets/declarative/animation.qml property-anim-2
A property animation can also be specified as a resource that is manipulated from script.
-\qml
-PropertyAnimation {
- id: animation
- target: image
- property: "scale"
- from: 1; to: .5
-}
-Image {
- id: image
- source: "image.png"
- MouseArea {
- anchors.fill: parent
- onPressed: animation.start()
- }
-}
-\endqml
+\snippet doc/src/snippets/declarative/animation.qml property-anim-3
As can be seen, when an animation is used like this (as opposed to as a value source) you will need
to explicitly set the \c target and \c property to animate.
@@ -131,50 +93,20 @@ can only be triggered by a state change.
For example, a transition could describe how an item moves from its initial position to its new position:
-\code
-transitions: [
- Transition {
- NumberAnimation {
- properties: "x,y"
- easing.type: "OutBounce"
- duration: 200
- }
- }
-]
-\endcode
+\snippet doc/src/snippets/declarative/animation.qml transitions-1
As can be seen, transitions make use of the same basic animation classes introduced above.
In the above example we have specified that we want to animate the \c x and \c y properties, but have not
-specified the objects to animate or the \c to values. By default these values are supplied by the framework --
+specified the objects to animate or the \c to values. By default these values are supplied by the framework;
the animation will animate any \c targets whose \c x and \c y have changed, and the \c to values will be those
defined in the end state. You can always supply explicit values to override these implicit values when needed.
-\code
-Transition {
- from: "*"
- to: "MyState"
- reversible: true
- SequentialAnimation {
- NumberAnimation {
- duration: 1000
- easing.type: "OutBounce"
- // animate myItem's x and y if they have changed in the state
- target: myItem
- properties: "x,y"
- }
- NumberAnimation {
- duration: 1000
- // animate myItem2's y to 200, regardless of what happens in the state
- target: myItem2
- property: "y"
- to: 200
- }
- }
-}
-\endcode
+\snippet doc/src/snippets/declarative/animation.qml transitions-2
QML transitions have selectors to determine which state changes a transition should apply to.
The following transition will only be triggered when we enter into the \c "details" state.
+(The "*" value is a wildcard value that specifies the transition should be applied when changing
+from \e any state to the "details" state.)
\code
Transition {
@@ -188,30 +120,7 @@ Transitions can happen in parallel, in sequence, or in any combination of the tw
animations in a transition will happen in parallel. The following example shows a rather complex transition
making use of both sequential and parallel animations:
-\code
-Transition {
- from: "*"
- to: "MyState"
- reversible: true
- SequentialAnimation {
- ColorAnimation { duration: 1000 }
- PauseAnimation { duration: 1000 }
- ParallelAnimation {
- NumberAnimation {
- duration: 1000
- easing.type: "OutBounce"
- targets: box1
- properties: "x,y"
- }
- NumberAnimation {
- duration: 1000
- targets: box2
- properties: "x,y"
- }
- }
- }
-}
-\endcode
+\snippet doc/src/snippets/declarative/animation.qml transitions-3
\section1 Property Behaviors
@@ -219,24 +128,15 @@ A \l{Behavior}{property behavior} specifies a default animation to run whenever
of what caused the change. The \c enabled property can be used to force a \l Behavior
to only apply under certain circumstances.
-In the following snippet, we specify that we want the x position of redRect to be animated
-whenever it changes. The animation will last 300 milliseconds and use an InOutQuad easing curve.
+In the following snippet, we specify that we want the \c x position of \c redRect to be animated
+whenever it changes. The animation will last 300 milliseconds and use an \l{PropertyAnimation::easing.type}{Easing.InOutQuad} easing curve.
-\qml
-Rectangle {
- id: redRect
- color: "red"
- width: 100; height: 100
- Behavior on x { NumberAnimation { duration: 300; easing.type: "InOutQuad" } }
-}
-\endqml
+\snippet doc/src/snippets/declarative/animation.qml behavior
Like using an animation as a value source, when used in a Behavior and animation does not need to specify
a \c target or \c property.
-To trigger this behavior, we could:
-\list
-\o Enter a state that changes x
+To trigger this behavior, we could enter a state that changes \c x:
\qml
State {
@@ -249,7 +149,7 @@ State {
}
\endqml
-\o Update x from a script
+Or, update \c x from a script:
\qml
MouseArea {
@@ -257,11 +157,10 @@ MouseArea {
onClicked: redRect.x = 24;
}
\endqml
-\endlist
-If x were bound to another property, triggering the binding would also trigger the behavior.
+If \c x were bound to another property, triggering the binding would also trigger the behavior.
-If a state change has a transition animation matching a property with a Behavior, the transition animation
-will override the Behavior for that state change.
+If a state change has a transition animation matching a property with a \l Behavior, the transition animation
+will override the \l Behavior for that state change.
*/
diff --git a/doc/src/declarative/basictypes.qdoc b/doc/src/declarative/basictypes.qdoc
index 6901947811..87dab81077 100644
--- a/doc/src/declarative/basictypes.qdoc
+++ b/doc/src/declarative/basictypes.qdoc
@@ -40,319 +40,377 @@
****************************************************************************/
/*!
- \page qdeclarativebasictypes.html
- \title QML Basic Types
+ \page qdeclarativebasictypes.html
+ \title QML Basic Types
- QML uses a set of property types, which are primitive within QML.
- These basic types are referenced throughout the documentation of the
- QML elements. Almost all of them are exactly what you would expect.
+ QML has a set of primitive types, as listed below, that are used throughout
+ the \l {QML Elements}.
- \annotatedlist qmlbasictypes
+ Some of these types can also be used for defining
+ \c property values in QML. See \l{Extending types from QML} for the
+ list of types that can be used for \c property values.
+
+ \annotatedlist qmlbasictypes
*/
/*!
- \qmlbasictype int
- \ingroup qmlbasictypes
+ \qmlbasictype int
+ \ingroup qmlbasictypes
- \brief An integer is a whole number, e.g. 0, 10, or -20.
+ \brief An integer is a whole number, e.g. 0, 10, or -20.
- An integer is a whole number, e.g. 0, 10, or -20. The possible \c
- int values range from around -2000000000 to around 2000000000,
- although most elements will only accept a reduced range (which they
- mention in their documentation).
+ An integer is a whole number, e.g. 0, 10, or -20. The possible \c
+ int values range from around -2000000000 to around 2000000000,
+ although most elements will only accept a reduced range (which they
+ mention in their documentation).
- Example:
- \qml
- Item { width: 100; height: 200 }
- \endqml
+ Example:
+ \qml
+ Item { width: 100; height: 200 }
+ \endqml
- \sa {QML Basic Types}
+ \sa {QML Basic Types}
*/
/*!
- \qmlbasictype bool
- \ingroup qmlbasictypes
+ \qmlbasictype bool
+ \ingroup qmlbasictypes
- \brief A boolean is a binary true/false value.
+ \brief A boolean is a binary true/false value.
- A boolean is a binary true/false value.
+ A boolean is a binary true/false value.
- Example:
- \qml
- Item { focus: true; clip: false }
- \endqml
+ Example:
+ \qml
+ Item { focus: true; clip: false }
+ \endqml
- \sa {QML Basic Types}
+ \sa {QML Basic Types}
*/
/*!
- \qmlbasictype real
- \ingroup qmlbasictypes
+ \qmlbasictype real
+ \ingroup qmlbasictypes
- \brief A real number has a decimal point, e.g. 1.2 or -29.8.
+ \brief A real number has a decimal point, e.g. 1.2 or -29.8.
- A real number has a decimal point, e.g. 1.2 or -29.8.
+ A real number has a decimal point, e.g. 1.2 or -29.8.
- Example:
- \qml
- Item { width: 100.45; height: 150.82 }
- \endqml
+ Example:
+ \qml
+ Item { width: 100.45; height: 150.82 }
+ \endqml
- \note In QML all reals are stored in single precision, \l
- {http://en.wikipedia.org/wiki/IEEE_754} {IEEE floating point}
- format.
+ \note In QML all reals are stored in single precision, \l
+ {http://en.wikipedia.org/wiki/IEEE_754} {IEEE floating point}
+ format.
- \sa {QML Basic Types}
+ \sa {QML Basic Types}
*/
/*!
- \qmlbasictype string
- \ingroup qmlbasictypes
+ \qmlbasictype string
+ \ingroup qmlbasictypes
- \brief A string is a free form text in quotes, e.g. "Hello world!".
+ \brief A string is a free form text in quotes, e.g. "Hello world!".
- A string is a free form text in quotes, e.g. "Hello world!".
+ A string is a free form text in quotes, e.g. "Hello world!".
- Example:
- \qml
- Text { text: "Hello world!" }
- \endqml
+ Example:
+ \qml
+ Text { text: "Hello world!" }
+ \endqml
- \sa {QML Basic Types}
+ \sa {QML Basic Types}
*/
/*!
- \qmlbasictype url
- \ingroup qmlbasictypes
+ \qmlbasictype url
+ \ingroup qmlbasictypes
- \brief A URL is a resource locator, like a file name.
+ \brief A URL is a resource locator, like a file name.
- A URL is a resource locator, like a file name. It can be either
- absolute, e.g. "http://qt.nokia.com", or relative, e.g.
- "pics/logo.png". A relative URL is resolved relative to the URL of
- the component where the URL is converted from a JavaScript string
- expression to a url property value.
+ A URL is a resource locator, like a file name. It can be either
+ absolute, e.g. "http://qt.nokia.com", or relative, e.g.
+ "pics/logo.png". A relative URL is resolved relative to the URL of
+ the component where the URL is converted from a JavaScript string
+ expression to a url property value.
- Example:
- \qml
- Image { source: "pics/logo.png" }
- \endqml
+ Example:
+ \qml
+ Image { source: "pics/logo.png" }
+ \endqml
- \raw HTML
- \endraw
+ \raw HTML
+ \endraw
- \sa {QML Basic Types}
+ \sa {QML Basic Types}
*/
/*!
- \qmlbasictype color
- \ingroup qmlbasictypes
-
- \brief A color is a standard color name in quotes.
-
- A color is a standard color name in quotes. It is normally specified
- as an \l {http://www.w3.org/TR/SVG/types.html#ColorKeywords} {SVG
- color name}. These names include colors like "red", "green" and
- "lightsteelblue".
-
- If the color you want isn't part of this list, colors can also be
- specified in hexidecimal triplets or quads that take the form \c
- "#RRGGBB" and \c "#AARRGGBB" respectively. For example, the color
- red corresponds to a triplet of \c "#FF0000" and a slightly
- transparent blue to a quad of \c "#800000FF".
-
- Example:
- \qml
- Rectangle { color: "steelblue" }
- Rectangle { color: "#FF0000" }
- Rectangle { color: "#800000FF" }
- \endqml
-
- \sa {QML Basic Types}
+ \qmlbasictype color
+ \ingroup qmlbasictypes
+
+ \brief A color is a standard color name in quotes.
+
+ A color is a standard color name in quotes. It is normally specified
+ as an \l {http://www.w3.org/TR/SVG/types.html#ColorKeywords} {SVG
+ color name}. These names include colors like "red", "green" and
+ "lightsteelblue".
+
+ If the color you want isn't part of this list, colors can also be
+ specified in hexidecimal triplets or quads that take the form \c
+ "#RRGGBB" and \c "#AARRGGBB" respectively. For example, the color
+ red corresponds to a triplet of \c "#FF0000" and a slightly
+ transparent blue to a quad of \c "#800000FF".
+
+ Example:
+ \qml
+ Rectangle { color: "steelblue" }
+ Rectangle { color: "#FF0000" }
+ Rectangle { color: "#800000FF" }
+ \endqml
+
+ Or with the \l{Qt::rgba()}{Qt.rgba()}, \l{Qt::hsla()}{Qt.hsla()}, \l{Qt::darker()}{Qt.darker()},
+ \l{Qt::lighter()}{Qt.lighter()} or \l{Qt::tint()}{Qt.tint()} functions:
+
+ \qml
+ Rectangle { color: Qt.rgba(255, 0, 0, 1) }
+ \endqml
+
+ \sa {QML Basic Types}
*/
/*!
- \qmlbasictype point
- \ingroup qmlbasictypes
+ \qmlbasictype point
+ \ingroup qmlbasictypes
+
+ \brief A point type has x and y attributes.
- \brief A point is specified as "x,y".
+ A \c point type has \c x and \c y attributes.
- A point is specified as "x,y".
+ To create a \c point value, specify it as a "x,y" string:
- Example:
- \qml
- Widget { pos: "0,20" }
- \endqml
+ \qml
+ CustomObject { myPointProperty: "0,20" }
+ \endqml
- \sa {QML Basic Types}
+ Or use the \l{Qt::point()}{Qt.point()} function:
+
+ \qml
+ CustomObject { myPointProperty: Qt.point(0, 20) }
+ \endqml
+
+ \sa {QML Basic Types}
*/
/*!
- \qmlbasictype size
- \ingroup qmlbasictypes
+ \qmlbasictype size
+ \ingroup qmlbasictypes
+
+ \brief A size type has width and height attributes
+
+ A \c size type has \c width and \c height attributes.
- \brief A size is specified as "width x height".
+ For example, to read the \l {Image::sourceSize} \c size property:
- A size is specified as "width x height".
+ \qml
+ Column {
+ Image { id: image; source: "logo.png" }
+ Text { text: image.sourceSize.width + "," + image.sourceSize.height }
+ }
+ \endqml
- Example:
- \qml
- Widget { size: "150x50" }
- \endqml
+ To create a \c size value, specify it as a "width x height" string:
- \sa {QML Basic Types}
+ \qml
+ LayoutItem { preferredSize: "150x50" }
+ \endqml
+
+ Or use the \l{Qt::size()}{Qt.size()} function:
+
+ \qml
+ LayoutItem { preferredSize: Qt.size(150, 50) }
+ \endqml
+
+ \sa {QML Basic Types}
*/
/*!
- \qmlbasictype rect
- \ingroup qmlbasictypes
+ \qmlbasictype rect
+ \ingroup qmlbasictypes
+
+ \brief A rect type has x, y, width and height attributes.
+
+ A \c rect type has \c x, \c y, \c width and \c height attributes.
+
+ For example, to read the \l {Item::childrenRect.x}{Item::childrenRect} \c rect property:
+ \qml
+ Rectangle {
+ width: childrenRect.width
+ height: childrenRect.height
- \brief A rect is specified as "x, y, width x height".
+ Rectangle { width: 100; height: 100 }
+ }
+ \endqml
- A rect is specified as "x, y, width x height".
+ To create a \c rect value, specify it as a "x, y, width x height" string:
- Example:
- \qml
- Widget { geometry: "50,50,100x100" }
- \endqml
+ \qml
+ CustomObject { myRectProperty: "50,50,100x100" }
+ \endqml
- \sa {QML Basic Types}
+ Or use the \l{Qt::rect()}{Qt.rect()} function:
+
+ \qml
+ CustomObject { myRectProperty: Qt.rect(50, 50, 100, 100) }
+ \endqml
+
+ \sa {QML Basic Types}
*/
/*!
- \qmlbasictype date
- \ingroup qmlbasictypes
+ \qmlbasictype date
+ \ingroup qmlbasictypes
+
+ \brief A date is specified as "YYYY-MM-DD".
- \brief A date is specified as "YYYY-MM-DD".
+ To create a \c date value, specify it as a "YYYY-MM-DD" string:
- A date is specified as "YYYY-MM-DD".
+ Example:
+ \qml
+ MyDatePicker { minDate: "2000-01-01"; maxDate: "2020-12-31" }
+ \endqml
- Example:
- \qml
- DatePicker { minDate: "2000-01-01"; maxDate: "2020-12-31" }
- \endqml
+ To read a date value returned from a C++ extension class, use
+ \l{Qt::formatDate()}{Qt.formatDate()} and \l{Qt::formatDateTime()}{Qt.formatDateTime()}.
- \sa {QML Basic Types}
+ \sa {QML Basic Types}
*/
/*!
- \qmlbasictype time
- \ingroup qmlbasictypes
+ \qmlbasictype time
+ \ingroup qmlbasictypes
- \brief A time is specified as "hh:mm:ss".
+ \brief A time is specified as "hh:mm:ss".
- A time is specified as "hh:mm:ss".
+ A time is specified as "hh:mm:ss".
- Example:
- \qml
- TimePicker { time: "14:22:15" }
- \endqml
+ Example:
+ \qml
+ MyTimePicker { time: "14:22:15" }
+ \endqml
- \sa {QML Basic Types}
+ To read a time value returned from a C++ extension class, use
+ \l{Qt::formatTime()}{Qt.formatTime()} and \l{Qt::formatDateTime()}{Qt.formatDateTime()}.
+
+ \sa {QML Basic Types}
*/
/*!
- \qmlbasictype font
- \ingroup qmlbasictypes
+ \qmlbasictype font
+ \ingroup qmlbasictypes
- \brief A font type has the properties of a QFont.
+ \brief A font type has the properties of a QFont.
- A font type has the properties of a QFont. The properties are:
+ A font type has the properties of a QFont. The properties are:
- \list
- \o \c string font.family
- \o \c bool font.bold
- \o \c bool font.italic
- \o \c bool font.underline
- \o \c real font.pointSize
- \o \c int font.pixelSize
- \endlist
+ \list
+ \o \c string font.family
+ \o \c bool font.bold
+ \o \c bool font.italic
+ \o \c bool font.underline
+ \o \c real font.pointSize
+ \o \c int font.pixelSize
+ \endlist
- Example:
- \qml
- Text { font.family: "Helvetica"; font.pointSize: 13; font.bold: true }
- \endqml
+ Example:
+ \qml
+ Text { font.family: "Helvetica"; font.pointSize: 13; font.bold: true }
+ \endqml
- \sa {QML Basic Types}
+ \sa {QML Basic Types}
*/
/*!
- \qmlbasictype action
- \ingroup qmlbasictypes
+ \qmlbasictype action
+ \ingroup qmlbasictypes
- \brief The action type has all the properties of QAction.
+ \brief The action type has all the properties of QAction.
- The action type has all the properties of QAction. The properties
- are:
+ The action type has all the properties of QAction. The properties
+ are:
- \list
- \o \c slot action.trigger - invoke the action
- \o \c bool action.enabled - true if the action is enabled
- \o \c string action.text - the text associated with the action
- \endlist
+ \list
+ \o \c slot action.trigger - invoke the action
+ \o \c bool action.enabled - true if the action is enabled
+ \o \c string action.text - the text associated with the action
+ \endlist
- Actions are used like this:
+ Actions are used like this:
- \qml
- MouseArea { onClicked: MyItem.myaction.trigger() }
- State { name: "enabled"; when: MyItem.myaction.enabled == true }
- Text { text: MyItem.someaction.text }
- \endqml
+ \qml
+ MouseArea { onClicked: myaction.trigger() }
+ State { name: "enabled"; when: myaction.enabled == true }
+ Text { text: someaction.text }
+ \endqml
- \sa {QML Basic Types}
+ \sa {QML Basic Types}
*/
/*!
- \qmlbasictype list
- \ingroup qmlbasictypes
-
- \brief A list of objects.
-
- A list of objects. While not technically a basic type, QML also
- supports lists of object types. When used from QML, the engine
- automatically appends each value to the list.
-
- For example, the \l Item class contains a list property named
- children that can be used like this:
-
- \qml
- Item {
- children: [
- Item { id: child1 },
- Rectangle { id: child2 },
- Text { id: child3 }
- ]
- }
- \endqml
- \c Child1, \c Child2 and \c Child3 will all be added to the children list
- in the order in which they appear.
-
- \sa {QML Basic Types}
+ \qmlbasictype list
+ \ingroup qmlbasictypes
+
+ \brief A list of objects.
+
+ A list of objects. While not technically a basic type, QML also
+ supports lists of object types. When used from QML, the engine
+ automatically appends each value to the list.
+
+ For example, the \l Item class contains a list property named
+ children that can be used like this:
+
+ \qml
+ Item {
+ children: [
+ Item { id: child1 },
+ Rectangle { id: child2 },
+ Text { id: child3 }
+ ]
+ }
+ \endqml
+ \c child1, \c child2 and \c child3 will all be added to the children list
+ in the order in which they appear.
+
+ \sa {QML Basic Types}
*/
/*!
- \qmlbasictype vector3d
- \ingroup qmlbasictypes
+ \qmlbasictype vector3d
+ \ingroup qmlbasictypes
+
+ \brief A vector3d type has x, y, and z attributes.
- \brief A vector3d is specified as "x,y,z".
+ A \c vector3d type has \c x, \c y, and \c z attributes.
- A vector3d is specified as "x,y,z".
+ To create a \c vector3d value, specify it as a "x,y,z" string:
- \qml
- Rotation { angle: 60; axis: "0,1,0" }
- \endqml
+ \qml
+ Rotation { angle: 60; axis: "0,1,0" }
+ \endqml
- or with the \c{Qt.vector3d()} helper function:
+ or with the \l{Qt::vector3d()}{Qt.vector3d()} function:
- \qml
- Rotation { angle: 60; axis: Qt.vector3d(0, 1, 0) }
- \endqml
+ \qml
+ Rotation { angle: 60; axis: Qt.vector3d(0, 1, 0) }
+ \endqml
- or as separate \c x, \c y, and \c z components:
+ or as separate \c x, \c y, and \c z components:
- \qml
- Rotation { angle: 60; axis.x: 0; axis.y: 1; axis.z: 0 }
- \endqml
+ \qml
+ Rotation { angle: 60; axis.x: 0; axis.y: 1; axis.z: 0 }
+ \endqml
- \sa {QML Basic Types}
+ \sa {QML Basic Types}
*/
diff --git a/doc/src/declarative/codingconventions.qdoc b/doc/src/declarative/codingconventions.qdoc
index 7ca206b713..4fa7d0c871 100644
--- a/doc/src/declarative/codingconventions.qdoc
+++ b/doc/src/declarative/codingconventions.qdoc
@@ -57,7 +57,7 @@ Through our documentation and examples, QML objects are always structured in the
\o id
\o property declarations
\o signal declarations
-\o javascript functions
+\o JavaScript functions
\o object properties
\o child objects
\o states
@@ -72,7 +72,6 @@ For example, a hypothetical \e photo QML object would look like this:
\snippet doc/src/snippets/declarative/codingconventions/photo.qml 0
-\target Grouped properties
\section1 Grouped properties
If using multiple properties from a group of properties,
@@ -102,7 +101,7 @@ we will write this:
\snippet doc/src/snippets/declarative/codingconventions/lists.qml 1
-\section1 Javascript code
+\section1 JavaScript code
If the script is a single expression, we recommend writing it inline:
@@ -116,7 +115,7 @@ If the script is more than a couple of lines long or can be used by different ob
\snippet doc/src/snippets/declarative/codingconventions/javascript.qml 2
-For long scripts, we will put the functions in their own javascript file and import it like this:
+For long scripts, we will put the functions in their own JavaScript file and import it like this:
\snippet doc/src/snippets/declarative/codingconventions/javascript-imports.qml 0
diff --git a/doc/src/declarative/declarativeui.qdoc b/doc/src/declarative/declarativeui.qdoc
index d79c4d238e..7a49d0a9cb 100644
--- a/doc/src/declarative/declarativeui.qdoc
+++ b/doc/src/declarative/declarativeui.qdoc
@@ -40,46 +40,42 @@
****************************************************************************/
/*!
-\title Declarative UI Using QML
+\title Qt Quick
\page declarativeui.html
-\brief The Qt Declarative module provides a declarative framework for building
-highly dynamic, custom user interfaces.
+\brief Qt Quick provides a declarative framework for building highly
+dynamic, custom user interfaces.
-\section1 \l{QML Elements}{Fast QML Elements Reference Page}
+Qt Quick provides a declarative framework for building highly dynamic,
+custom user interfaces from a rich set of \l {QML Elements}{QML elements}.
+Qt Quick helps programmers and designers collaborate to
+build the fluid user interfaces that are becoming common in portable
+consumer devices, such as mobile phones, media players, set-top boxes
+and netbooks.
-\raw HTML
-<br>
-\endraw
+QML is an extension to \l
+{http://www.ecma-international.org/publications/standards/Ecma-262.htm}
+{JavaScript}, that provides a mechanism to declaratively build an
+object tree of \l {QML Elements}{QML elements}. QML improves the
+integration between JavaScript and Qt's existing QObject based type
+system, adds support for automatic \l {Property Binding}{property
+bindings} and provides \l {Network Transparency}{network transparency}
+at the language level.
-\section1 Preamble
+The \l {QML Elements}{QML elements} are a sophisticated set of
+graphical and behavioral building blocks. These different elements
+are combined together in \l {QML Documents}{QML documents} to build
+components ranging in complexity from simple buttons and sliders, to
+complete internet-enabled applications like a \l
+{http://www.flickr.com}{Flickr} photo browser.
-Qt Declarative UI provides a declarative framework for building highly dynamic, custom
-user interfaces. Declarative UI helps programmers and designers collaborate to build
-the animation rich, fluid user interfaces that are becoming common in portable
-consumer devices, such as mobile phones, media players, set-top boxes and netbooks.
+Qt Quick builds on \l {QML for Qt programmers}{Qt's existing
+strengths}. QML can be be used to incrementally extend an existing
+application or to build completely new applications. QML is fully \l
+{Extending QML in C++}{extensible from C++}.
-The Qt Declarative module provides an engine for interpreting the declarative
-QML language, and a rich set of \bold { \l {QML Elements}{QML elements} }
-that can be used from QML.
+\section1 Getting Started
-QML is an extension to \l {http://www.ecma-international.org/publications/standards/Ecma-262.htm}
-{JavaScript}, that provides a mechanism to declaratively build an object tree
-of QML elements. QML improves the integration between JavaScript and Qt's
-existing QObject based type system, adds support for automatic
-\l {Property Binding}{property bindings} and provides \l {Network Transparency}{network transparency} at the language
-level.
-
-The QML elements are a sophisticated set of graphical and behavioral building
-blocks. These different elements are combined together in \l {QML Documents}{QML documents} to build components
-ranging in complexity from simple buttons and sliders, to complete
-internet-enabled applications like a \l {http://www.flickr.com}{Flickr} photo browser.
-
-Qt Declarative builds on \l {QML for Qt programmers}{Qt's existing strengths}.
-QML can be be used to incrementally extend an existing application or to build
-completely new applications. QML is fully \l {Extending QML in C++}{extensible from C++}.
-
-\section1 Getting Started:
\list
\o \l {Introduction to the QML language}
\o \l {QML Tutorial}{Tutorial: 'Hello World'}
@@ -88,7 +84,7 @@ completely new applications. QML is fully \l {Extending QML in C++}{extensible
\o \l {QML for Qt programmers}
\endlist
-\section1 Core QML Features:
+\section1 Core QML Features
\list
\o \l {QML Documents}
\o \l {Property Binding}
@@ -102,11 +98,11 @@ completely new applications. QML is fully \l {Extending QML in C++}{extensible
\o \l {qdeclarativemodules.html}{Modules}
\o \l {qdeclarativefocus.html}{Keyboard Focus}
\o \l {Extending types from QML}
-\o \l {Dynamic Object Creation}
+\o \l {qdeclarativedynamicobjects.html}{Dynamic Object Creation}
\o \l {qmlruntime.html}{The Qt Declarative Runtime}
\endlist
-\section1 Using QML with C++:
+\section1 Using QML with C++
\list
\o \l {Tutorial: Writing QML extensions with C++}
\o \l {Extending QML in C++}
@@ -114,7 +110,7 @@ completely new applications. QML is fully \l {Extending QML in C++}{extensible
\o \l {Integrating QML with existing Qt UI code}
\endlist
-\section1 Reference:
+\section1 Reference
\list
\o \l {QML Elements}
\o \l {QML Global Object}
@@ -122,6 +118,7 @@ completely new applications. QML is fully \l {Extending QML in C++}{extensible
\o \l {QML Security}
\o \l {QtDeclarative Module}
\o \l {Debugging QML}
+\o \l {QML Performance}
\o \l {QML Coding Conventions}
\endlist
*/
diff --git a/doc/src/declarative/dynamicobjects.qdoc b/doc/src/declarative/dynamicobjects.qdoc
index 4cb51982e4..5e606f468d 100644
--- a/doc/src/declarative/dynamicobjects.qdoc
+++ b/doc/src/declarative/dynamicobjects.qdoc
@@ -43,84 +43,68 @@
\page qdeclarativedynamicobjects.html
\title Dynamic Object Management
-QML has some support for dynamically loading and managing QML objects from
-within Javascript blocks. It is preferable to use the existing QML elements for
-dynamic object management wherever possible; these are \l{Loader},
-\l{Repeater}, \l{ListView}, \l{GridView} and \l{PathView}. It is also possible
-to dynamically create and manage objects from C++, and this is preferable for
-hybrid QML/C++ applications - see \l{Using QML in C++ Applications}.
-Dynamically creating and managing objects from
-within Javascript blocks is intended for when none of the existing QML elements
-fit the needs of your application, and you do not desire for your application
-to involve C++ code.
+QML provides a number of ways to dynamically create and manage QML objects.
+The \l{Loader}, \l{Repeater}, \l{ListView}, \l{GridView} and \l{PathView} elements
+all support dynamic object management. Objects can also be created and managed
+from C++, and this is the preferred method for hybrid QML/C++ applications
+(see \l{Using QML in C++ Applications}).
+
+QML also supports the dynamic creation of objects from within JavaScript
+code. This is useful if the existing QML elements do not fit the needs of your
+application, and there are no C++ components involved.
+
\section1 Creating Objects Dynamically
-There are two ways of creating objects dynamically. You can either create
-a component which instantiates items, or create an item from a string of QML.
-Creating a component is better for the situation where you have a predefined
-item which you want to manage dynamic instances of, and creating an item from
-a string of QML is intended for when the QML itself is generated at runtime.
+There are two ways to create objects dynamically from JavaScript. You can either call
+\l {Qt::createComponent()}{Qt.createComponent()} to create
+a component which instantiates items, or use \l{Qt::createQmlObject()}{Qt.createQmlObject()}
+to create an item from a string of QML.
+Creating a component is better if you have a predefined
+item, and you want to create dynamic instances of that item; creating an item from
+a string of QML is useful when the item QML itself is generated at runtime.
If you have a component specified in a QML file, you can dynamically load it with
-the \l {createComponent(url file)}{createComponent()} function on the \l{QML Global Object}.
+the \l {Qt::createComponent()}{Qt.createComponent()} function on the \l{QML Global Object}.
This function takes the URL of the QML file as its only argument and returns
a component object which can be used to create and load that QML file.
-Once you have a component you can use its \c createObject() method to create an instance of
-the component. Example QML script is below. Remember that QML files that might be loaded
- over the network cannot be expected to be ready immediately.
- \code
- var component;
- var sprite;
- function finishCreation() {
- if(component.isReady()) {
- sprite = component.createObject();
- if(sprite == 0) {
- // Error Handling
- } else {
- sprite.parent = page;
- sprite.x = 200;
- //...
- }
- } else if(component.isError()) {
- // Error Handling
- }
- }
-
- component = createComponent("Sprite.qml");
- if(component.isReady()) {
- finishCreation();
- } else {
- component.statusChanged.connect(finishCreation);
- }
- \endcode
-
- If you are certain the files will be local, you could simplify to
-
- \code
- component = createComponent("Sprite.qml");
- sprite = component.createObject();
- if(sprite == 0) {
- // Error Handling
- console.log(component.errorsString());
- } else {
- sprite.parent = page;
- sprite.x = 200;
- //...
- }
- \endcode
-
-After creating the item, remember to set its parent to an item within the scene.
-Otherwise your dynamically created item will not appear in the scene. When using files with relative paths, the path should
-be relative to the file where \c createComponent() is executed.
-
-If the QML does not exist until runtime, you can create a QML item from
-a string of QML using the \l{createQmlObject(string qml, object parent, string filepath)}{createQmlObject()} function, as in the following example:
-
- \code
- newObject = createQmlObject('import Qt 4.7; Rectangle { color: "red"; width: 20; height: 20 }',
- targetItem, "dynamicSnippet1");
- \endcode
+Once you have a component you can use its \l {Component::createObject()}{createObject()} method to create an instance of
+the component. This function takes exactly one argument, which is the parent for the new item. Since graphical items will
+not appear on the scene without a parent, it is recommended that you set the parent this way. However, if you wish to set
+the parent later you can safely pass null to this function.
+
+Here is an example. Here is a \c Sprite.qml, which defines a simple QML component:
+
+\snippet doc/src/snippets/declarative/Sprite.qml 0
+
+Our main application file, \c main.qml, imports a \c componentCreation.js JavaScript file
+that will create \c Sprite objects:
+
+\snippet doc/src/snippets/declarative/createComponent.qml 0
+
+Here is \c componentCreation.js. Remember that QML files that might be loaded
+over the network cannot be expected to be ready immediately:
+
+\snippet doc/src/snippets/declarative/componentCreation.js 0
+\codeline
+\snippet doc/src/snippets/declarative/componentCreation.js 1
+
+If you are certain the files will be local, you could simplify to:
+
+\snippet doc/src/snippets/declarative/componentCreation.js 2
+
+Notice that once a \c Sprite object is created, its parent is set to \c appWindow (defined
+in \c main.qml). After creating an item, you must set its parent to an item within the scene.
+Otherwise your dynamically created item will not appear in the scene.
+
+When using files with relative paths, the path should
+be relative to the file where \l {Qt::createComponent()}{Qt.createComponent()} is executed.
+
+If the QML component does not exist until runtime, you can create a QML item from
+a string of QML using the \l{Qt::createQmlObject()}{Qt.createQmlObject()} function, as in the following example:
+
+\snippet doc/src/snippets/declarative/createQmlObject.qml 0
+
The first argument is the string of QML to create. Just like in a new file, you will need to
import any types you wish to use. For importing files with relative paths, the path should
be relative to the file where the item in the second argument is defined. Remember to set the parent after
@@ -130,47 +114,44 @@ item, which is used for error reporting.
\section1 Maintaining Dynamically Created Objects
-Dynamically created objects may be used the same as other objects, however they
-will not have an id in QML.
+When managing dynamically created items, you must ensure the creation context
+outlives the created item. Otherwise, if the creation context is destroyed first,
+the bindings in the dynamic item will no longer work.
+
+The actual creation context depends on how an item is created:
+
+\list
+\o If \l {Qt::createComponent()}{Qt.createComponent()} is used, the creation context
+ is the QDeclarativeContext in which this method is called
+\o If \l{Qt::createQmlObject()}{Qt.createQmlObject()}
+ if called, it is the context of the item used as the second argument to this method
+\o If a \c {Component{}} item is defined and \l {Component::createObject()}{createObject()}
+ is called on that item, it is the context in which the \c Component is defined
+\endlist
+
+Also, note that while dynamically created objects may be used the same as other objects, they
+do not have an id in QML.
-A restriction which you need to manage with dynamically created items,
-is that the creation context must outlive the
-created item. The creation context is the QDeclarativeContext in which \c createComponent()
-was called, or the context in which the Component element, or the item used as the
-second argument to \c createQmlObject(), was specified. If the creation
-context is destroyed before the dynamic item is, then bindings in the dynamic item will
-fail to work.
\section1 Deleting Objects Dynamically
-You should generally avoid dynamically deleting objects that you did not
-dynamically create. In many UIs, it is sufficient to set the opacity to 0 or
-to move the item off of the edge of the screen. If you have lots of dynamically
-created items however, deleting them when they are no longer used will provide
-a worthwhile performance benefit. Note that you should never manually delete
-items which were dynamically created by QML Elements such as \l{Loader}.
-
-To manually delete a QML item, call its destroy method. This method has one
-argument, which is an approximate delay in ms and which defaults to zero. This
-allows you to wait until the completion of an animation or transition. An example:
-
-\code
- Component {
- id: fadesOut
- Rectangle{
- id: rect
- width: 40; height: 40;
- NumberAnimation on opacity { from:1; to:0; duration: 1000 }
- Component.onCompleted: rect.destroy(1000);
- }
- }
- function createFadesOut(parentItem)
- {
- var object = fadesOut.createObject();
- object.parent = parentItem;
- }
-\endcode
-In the above example, the dynamically created rectangle calls destroy as soon as it's created,
- but delays long enough for its fade out animation to play.
+In many user interfaces, it is sufficient to set an item's opacity to 0 or
+to move the item off the screen instead of deleting the item. If you have
+lots of dynamically created items, however, you may receive a worthwhile
+performance benefit if unused items are deleted.
+
+Note that you should never manually delete items that were dynamically created
+by QML elements (such as \l Loader). Also, you should generally avoid deleting
+items that you did not dynamically create yourself.
+
+Items can be deleted using the \c destroy() method. This method has an optional
+argument (which defaults to 0) that specifies the approximate delay in milliseconds
+before the object is to be destroyed. This allows you to wait until the completion of
+an animation or transition. An example:
+
+\snippet doc/src/snippets/declarative/dynamicObjects.qml 0
+
+Here, \c Rectangle objects are destroyed one second after they are created, which is long
+enough for the \c NumberAnimation to be played before the object is destroyed.
*/
diff --git a/doc/src/declarative/elements.qdoc b/doc/src/declarative/elements.qdoc
index 79fe90996d..31fa948b43 100644
--- a/doc/src/declarative/elements.qdoc
+++ b/doc/src/declarative/elements.qdoc
@@ -59,8 +59,8 @@ The following table lists the QML elements provided by the \l {QtDeclarative}{Qt
\o \l State
\o \l PropertyChanges
\o \l StateGroup
+\o \l StateChangeScript
\o \l ParentChange (Item-specific)
-\o \l StateChangeScript (Item-specific)
\o \l AnchorChanges (Item-specific)
\endlist
@@ -76,6 +76,7 @@ The following table lists the QML elements provided by the \l {QtDeclarative}{Qt
\o \l ParentAnimation
\o \l AnchorAnimation
\o \l SmoothedAnimation
+\o \l Vector3dAnimation
\o \l PropertyAction
\o \l ScriptAction
\o \l Transition
@@ -120,11 +121,22 @@ The following table lists the QML elements provided by the \l {QtDeclarative}{Qt
\list
\o \l Item
\o \l Rectangle
+ \list
+ \o \l Gradient
+ \list
+ \o \l GradientStop
+ \endlist
+ \endlist
\o \l Image
\o \l BorderImage
\o \l AnimatedImage
\o \l Text
\o \l TextInput
+ \list
+ \o \l IntValidator
+ \o \l DoubleValidator
+ \o \l RegExpValidator
+ \endlist
\o \l TextEdit
\endlist
@@ -142,6 +154,7 @@ The following table lists the QML elements provided by the \l {QtDeclarative}{Qt
\o \l Loader
\o \l Repeater
\o \l SystemPalette
+\o \l FontLoader
\o \l LayoutItem
\endlist
@@ -155,8 +168,8 @@ The following table lists the QML elements provided by the \l {QtDeclarative}{Qt
\header
\o \bold {Views}
\o \bold {Positioners}
-\o \bold {Media}
\o \bold {Effects}
+\o
\row
\o
@@ -189,13 +202,6 @@ The following table lists the QML elements provided by the \l {QtDeclarative}{Qt
\o
\list
-\o \l SoundEffect
-\o \l Audio
-\o \l Video
-\endlist
-
-\o
-\list
\o \l Particles (experimental)
\list
\o \l ParticleMotionLinear
diff --git a/doc/src/declarative/example-slideswitch.qdoc b/doc/src/declarative/example-slideswitch.qdoc
index c14208e74d..27b7f3814f 100644
--- a/doc/src/declarative/example-slideswitch.qdoc
+++ b/doc/src/declarative/example-slideswitch.qdoc
@@ -45,7 +45,7 @@
This example shows how to create a reusable switch component in QML.
-The code for this example can be found in the \c $QTDIR/examples/declarative/slideswitch directory.
+The code for this example can be found in the \c $QTDIR/examples/declarative/ui-components/slideswitch directory.
\section1 Overview
@@ -61,12 +61,12 @@ The elements that composed the switch are:
\endlist
\section1 Switch.qml
-\snippet examples/declarative/slideswitch/content/Switch.qml 0
+\snippet examples/declarative/ui-components/slideswitch/content/Switch.qml 0
\section1 Walkthrough
\section2 Interface
-\snippet examples/declarative/slideswitch/content/Switch.qml 1
+\snippet examples/declarative/ui-components/slideswitch/content/Switch.qml 1
This property is the interface of the switch. By default, the switch is off and this property is \c false.
It can be used to activate/disactivate the switch or to query its current state.
@@ -81,14 +81,14 @@ Text { text: "The switch is on"; visible: mySwitch.on == true }
the text will only be visible when the switch is on.
\section2 Images and user interaction
-\snippet examples/declarative/slideswitch/content/Switch.qml 4
+\snippet examples/declarative/ui-components/slideswitch/content/Switch.qml 4
First, we create the background image of the switch.
In order for the switch to toggle when the user clicks on the background, we add a \l{MouseArea} as a child item of the image.
A \c MouseArea has a \c onClicked property that is triggered when the item is clicked. For the moment we will just call a
\c toggle() function. We will see what this function does in a moment.
-\snippet examples/declarative/slideswitch/content/Switch.qml 5
+\snippet examples/declarative/ui-components/slideswitch/content/Switch.qml 5
Then, we place the image of the knob on top of the background.
The interaction here is a little more complex. We want the knob to move with the finger when it is clicked. That is what the \c drag
@@ -96,7 +96,7 @@ property of the \c MouseArea is for. We also want to toggle the switch if the kn
in the \c dorelease() function that is called in the \c onReleased property.
\section2 States
-\snippet examples/declarative/slideswitch/content/Switch.qml 6
+\snippet examples/declarative/ui-components/slideswitch/content/Switch.qml 6
We define the two states of the switch:
\list
@@ -110,13 +110,13 @@ For more information on states see \l{qmlstates}{QML States}.
We add two JavaScript functions to our switch:
-\snippet examples/declarative/slideswitch/content/Switch.qml 2
+\snippet examples/declarative/ui-components/slideswitch/content/Switch.qml 2
This first function is called when the background image or the knob are clicked. We simply want the switch to toggle between the two
states (\e on and \e off).
-\snippet examples/declarative/slideswitch/content/Switch.qml 3
+\snippet examples/declarative/ui-components/slideswitch/content/Switch.qml 3
This second function is called when the knob is released and we want to make sure that the knob does not end up between states
(neither \e on nor \e off). If it is the case call the \c toggle() function otherwise we do nothing.
@@ -124,7 +124,7 @@ This second function is called when the knob is released and we want to make sur
For more information on scripts see \l{Integrating JavaScript}.
\section2 Transition
-\snippet examples/declarative/slideswitch/content/Switch.qml 7
+\snippet examples/declarative/ui-components/slideswitch/content/Switch.qml 7
At this point, when the switch toggles between the two states the knob will instantly change its \c x position between 1 and 78.
In order for the the knob to move smoothly we add a transition that will animate the \c x property with an easing curve for a duration of 200ms.
@@ -133,5 +133,5 @@ For more information on transitions see \l{state-transitions}{QML Transitions}.
\section1 Usage
The switch can be used in a QML file, like this:
-\snippet examples/declarative/slideswitch/slideswitch.qml 0
+\snippet examples/declarative/ui-components/slideswitch/slideswitch.qml 0
*/
diff --git a/doc/src/declarative/examples.qdoc b/doc/src/declarative/examples.qdoc
index e01459f690..ad8c10ccf1 100644
--- a/doc/src/declarative/examples.qdoc
+++ b/doc/src/declarative/examples.qdoc
@@ -40,12 +40,10 @@
****************************************************************************/
/*!
-\page qdeclarativeexamples.html
-\title QML Examples and Demos
-
-\previouspage Graphics View Examples
-\contentspage Qt Examples
-\nextpage Painting Examples
+ \page qdeclarativeexamples.html
+ \title QML Examples and Demos
+ \brief Building UI's with QML
+ \ingroup all-examples
\section1 Running the examples
@@ -55,74 +53,133 @@ sub-directory that show how to use various aspects of QML. In addition, the
applications. These demos are intended to show integrated functionality
rather than being instructive on specific elements.
-To run the examples and demos, you can use Qt Creator or the included \l {Qt Declarative UI Runtime}{qml}
+To run the examples and demos, you can use Qt Creator or the included \l {Qt Declarative UI Runtime}{qmlviewer}
command-line application. It has some useful options, revealed by:
\code
- bin/qml -help
+ bin/qmlviewer -help
\endcode
For example, from your build directory, run:
\code
- bin/qml $QTDIR/demos/declarative/samegame/samegame.qml
+ bin/qmlviewer $QTDIR/demos/declarative/samegame/samegame.qml
\endcode
\section1 Examples
+\section2 Animation
+\list
+\o \l{declarative/animation/basics}{Basics}
+\o \l{declarative/animation/behaviors}{Behaviors}
+\o \l{declarative/animation/easing}{Easing types}
+\o \l{declarative/animation/states}{States}
+\endlist
+
+\section2 Image Elements
+\list
+\o \l{declarative/imageelements/borderimage}{BorderImage}
+\o \l{declarative/imageelements/image}{Image}
+\endlist
+
+\section2 Positioners
+\list
+\o \l{declarative/positioners}{Example}
+\endlist
+
+\section2 Key Interaction
+\list
+\o \l{declarative/keyinteraction/focus}{Focus}
+\endlist
+
+\section2 Touch Interaction
+\list
+\o \l{declarative/touchinteraction/gestures}{Gestures}
+\o \l{declarative/touchinteraction/mousearea}{MouseArea}
+\endlist
+
+\section2 UI Components
+\list
+\o \l{declarative/ui-components/dialcontrol}{Dial control}
+\o \l{declarative/ui-components/flipable}{Flipable}
+\o \l{declarative/ui-components/progressbar}{Progress bar}
+\o \l{declarative/ui-components/scrollbar}{Scroll bar}
+\o \l{declarative/ui-components/searchbox}{Search box}
+\o \l{declarative/ui-components/slideswitch}{Slide switch}
+\o \l{declarative/ui-components/spinner}{Spinner}
+\o \l{declarative/ui-components/tabwidget}{Tab widget}
+\endlist
+
+\section2 Models and Views
+\list
+\o \l{declarative/modelviews/gridview}{GridView}
+\o \l{declarative/modelviews/listview}{ListView}
+\o \l{declarative/modelviews/objectlistmodel}{Object ListModel}
+\o \l{declarative/modelviews/package}{Package}
+\o \l{declarative/modelviews/parallax}{Parallax}
+\o \l{declarative/modelviews/stringlistmodel}{String ListModel}
+\o \l{declarative/modelviews/visualitemmodel}{VisualItemModel}
+\o \l{declarative/modelviews/webview}{WebView}
+\endlist
+
+\section2 XML
\list
-\o \l{declarative/animations}{Animations}
-\o \l{declarative/aspectratio}{Aspect Ratio}
-\o \l{declarative/behaviors}{Behaviors}
-\o \l{declarative/border-image}{Border Image}
-\o \l{declarative/clocks}{Clocks}
-\o \l{declarative/connections}{Connections}
-\o \l{declarative/dial}{Dial}
-\o \l{declarative/dynamic}{Dynamic}
-\o \l{declarative/extending}{Extending}
-\o \l{declarative/fillmode}{Fillmode}
-\o \l{declarative/flipable}{Flipable}
-\o \l{declarative/focus}{Focus}
-\o \l{declarative/fonts}{Fonts}
-\o \l{declarative/gridview}{GridView}
-\o \l{declarative/imageprovider}{Image Provider}
-\o \l{declarative/images}{Images}
-\o \l{declarative/layouts}{Layouts}
-\o \l{declarative/listmodel-threaded}{ListModel Threaded}
-\o \l{declarative/listview}{ListView}
-\o \l{declarative/mousearea}{Mouse Area}
-\o \l{declarative/objectlistmodel}{Object ListModel}
-\o \l{declarative/package}{Package}
-\o \l{declarative/parallax}{Parallax}
-\o \l{declarative/plugins}{Plugins}
-\o \l{declarative/progressbar}{Progress Bars}
-\o \l{declarative/proxywidgets}{Proxy Widgets}
-\o \l{declarative/scrollbar}{Scrollbar}
-\o \l{declarative/searchbox}{Search Box}
-\o \l{declarative/slideswitch}{Slide Switch}
-\o \l{declarative/sql}{SQL}
-\o \l{declarative/states}{States}
-\o \l{declarative/stringlistmodel}{String ListModel}
-\o \l{declarative/tabwidget}{Tab Widget}
-\o \l{declarative/tic-tac-toe}{Tic-Tac-Toe}
-\o \l{declarative/tvtennis}{TV Tennis}
-\o \l{declarative/velocity}{Velocity}
-\o \l{declarative/webview}{WebView}
-\o \l{declarative/workerscript}{WorkerScript}
-\o \l{declarative/xmldata}{XML Data}
-\o \l{declarative/xmlhttprequest}{XMLHttpRequest}
+\o \l{declarative/xml/xmlhttprequest}{XmlHttpRequest}
+\endlist
+
+\section2 Internationalization (i18n)
+\list
+\o \l{declarative/i18n}{Example}
+\endlist
+
+\section2 Threading
+\list
+\o \l{declarative/threading/threadedlistmodel}{Threaded ListModel}
+\o \l{declarative/threading/workerscript}{WorkerScript}
+\endlist
+
+\section2 SQL Local Storage
+\list
+\o \l{declarative/sqllocalstorage}{Example}
+\endlist
+
+\section2 C++ Extensions
+\list
+\o \l{declarative-cppextensions-reference.html}{Reference examples}
+\o \l{declarative/cppextensions/plugins}{Plugins}
+\o \l{declarative-cppextensions-qgraphicslayouts.html}{QGraphicsLayouts}
+\o \l{declarative/cppextensions/qwidgets}{QWidgets}
+\o \l{declarative/cppextensions/imageprovider}{Image provider}
+\o \l{declarative/cppextensions/networkaccessmanagerfactory}{Network access manager factory}
+\endlist
+\section2 Toys
+\list
+\o \l{declarative/toys/clocks}{Clocks}
+\o \l{declarative/toys/corkboards}{Corkboards}
+\o \l{declarative/toys/dynamicscene}{Dynamic Scene}
+\o \l{declarative/toys/tic-tac-toe}{Tic Tac Toe}
+\o \l{declarative/toys/tvtennis}{TV Tennis}
\endlist
+
\section1 Demos
\list
\o \l{demos/declarative/calculator}{Calculator}
+\o \l{demos/declarative/flickr}{Flickr Mobile}
\o \l{demos/declarative/minehunt}{Minehunt}
\o \l{demos/declarative/photoviewer}{Photo Viewer}
-\o \l{demos/declarative/flickr}{Flickr Mobile}
+\o \l{demos/declarative/rssnews}{RSS News Reader}
\o \l{demos/declarative/samegame}{Same Game}
\o \l{demos/declarative/snake}{Snake}
\endlist
+\section1 Labs
+
+\list
+\o \l{src/imports/folderlistmodel}{Folder List Model} - a C++ model plugin
+\endlist
+
*/
+
diff --git a/doc/src/declarative/extending-examples.qdoc b/doc/src/declarative/extending-examples.qdoc
deleted file mode 100644
index 307162ef30..0000000000
--- a/doc/src/declarative/extending-examples.qdoc
+++ /dev/null
@@ -1,304 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-/*!
-\example declarative/extending/adding
-\title Extending QML - Adding Types Example
-
-The Adding Types Example shows how to add a new element type, \c Person, to QML.
-The \c Person type can be used from QML like this:
-
-\snippet examples/declarative/extending/adding/example.qml 0
-
-\section1 Declare the Person class
-
-All QML elements map to C++ types. Here we declare a basic C++ Person class
-with the two properties we want accessible on the QML type - name and shoeSize.
-Although in this example we use the same name for the C++ class as the QML
-element, the C++ class can be named differently, or appear in a namespace.
-
-\snippet examples/declarative/extending/adding/person.h 0
-
-\section1 Define the Person class
-
-\snippet examples/declarative/extending/adding/person.cpp 0
-
-The Person class implementation is quite basic. The property accessors simply
-return members of the object instance.
-
-The implementation must also be registered using the QML_REGISTER_TYPE() macro. This macro
-registers the Person class with QML as a type in the People library version 1.0,
-and defines the mapping between the C++ and QML class names.
-
-\section1 Running the example
-
-The main.cpp file in the example includes a simple shell application that
-loads and runs the QML snippet shown at the beginning of this page.
-*/
-
-/*!
-\example declarative/extending/properties
-\title Extending QML - Object and List Property Types Example
-
-This example builds on:
-\list
-\o \l {Extending QML - Adding Types Example}
-\endlist
-
-The Object and List Property Types example shows how to add object and list
-properties in QML. This example adds a BirthdayParty element that specifies
-a birthday party, consisting of a celebrant and a list of guests. People are
-specified using the People QML type built in the previous example.
-
-\snippet examples/declarative/extending/properties/example.qml 0
-
-\section1 Declare the BirthdayParty
-
-The BirthdayParty class is declared like this:
-
-\snippet examples/declarative/extending/properties/birthdayparty.h 0
-\snippet examples/declarative/extending/properties/birthdayparty.h 1
-\snippet examples/declarative/extending/properties/birthdayparty.h 2
-\snippet examples/declarative/extending/properties/birthdayparty.h 3
-
-The class contains a member to store the celebrant object, and also a
-QList<Person *> member.
-
-In QML, the type of a list properties - and the guests property is a list of
-people - are all of type QDeclarativeListProperty<T>. QDeclarativeListProperty is simple value
-type that contains a set of function pointers. QML calls these function
-pointers whenever it needs to read from, write to or otherwise interact with
-the list. In addition to concrete lists like the people list used in this
-example, the use of QDeclarativeListProperty allows for "virtual lists" and other advanced
-scenarios.
-
-\section2 Define the BirthdayParty
-
-The implementation of BirthdayParty property accessors is straight forward.
-
-\snippet examples/declarative/extending/properties/birthdayparty.cpp 0
-
-\section1 Running the example
-
-The main.cpp file in the example includes a simple shell application that
-loads and runs the QML snippet shown at the beginning of this page.
-*/
-
-/*!
-\example declarative/extending/coercion
-\title Extending QML - Inheritance and Coercion Example
-
-This example builds on:
-\list
-\o \l {Extending QML - Object and List Property Types Example}
-\o \l {Extending QML - Adding Types Example}
-\endlist
-
-The Inheritance and Coercion Example shows how to use base classes to assign
-elements of more than one type to a property. It specializes the Person element
-developed in the previous examples into two elements - a \c Boy and a \c Girl.
-
-\snippet examples/declarative/extending/coercion/example.qml 0
-
-\section1 Declare Boy and Girl
-
-\snippet examples/declarative/extending/coercion/person.h 0
-
-The Person class remains unaltered in this example and the Boy and Girl C++
-classes are trivial extensions of it. As an example, the inheritance used here
-is a little contrived, but in real applications it is likely that the two
-extensions would add additional properties or modify the Person classes
-behavior.
-
-\section2 Define People as a base class
-
-The implementation of the People class itself has not changed since the the
-previous example. However, as we have repurposed the People class as a common
-base for Boy and Girl, we want to prevent it from being instantiated from QML
-directly - an explicit Boy or Girl should be instantiated instead.
-
-\snippet examples/declarative/extending/coercion/main.cpp 0
-
-While we want to disallow instantiating Person from within QML, it still needs
-to be registered with the QML engine, so that it can be used as a property type
-and other types can be coerced to it. To register a type, without defining a
-named mapping into QML, we call the QML_REGISTER_NOCREATE_TYPE() macro instead of
-the QML_REGISTER_TYPE() macro used previously.
-
-\section2 Define Boy and Girl
-
-The implementation of Boy and Girl are trivial.
-
-\snippet examples/declarative/extending/coercion/person.cpp 1
-
-All that is necessary is to implement the constructor, and to register the types
-and their QML name with the QML engine.
-
-\section1 Running the example
-
-The BirthdayParty element has not changed since the previous example. The
-celebrant and guests property still use the People type.
-
-\snippet examples/declarative/extending/coercion/birthdayparty.h 0
-
-However, as all three types, Person, Boy and Girl, have been registered with the
-QML system, on assignment QML automatically (and type-safely) converts the Boy
-and Girl objects into a Person.
-
-The main.cpp file in the example includes a simple shell application that
-loads and runs the QML snippet shown at the beginning of this page.
-*/
-
-/*!
-\example declarative/extending/default
-\title Extending QML - Default Property Example
-
-This example builds on:
-\list
-\o \l {Extending QML - Inheritance and Coercion Example}
-\o \l {Extending QML - Object and List Property Types Example}
-\o \l {Extending QML - Adding Types Example}
-\endlist
-
-The Default Property Example is a minor modification of the
-\l {Extending QML - Inheritance and Coercion Example} that simplifies the
-specification of a BirthdayParty through the use of a default property.
-
-\snippet examples/declarative/extending/default/example.qml 0
-
-\section1 Declaring the BirthdayParty class
-
-The only difference between this example and the last, is the addition of the
-\c DefaultProperty class info annotation.
-
-\snippet examples/declarative/extending/default/birthdayparty.h 0
-
-The default property specifies the property to assign to whenever an explicit
-property is not specified, in the case of the BirthdayParty element the guest
-property. It is purely a syntactic simplification, the behavior is identical
-to specifying the property by name, but it can add a more natural feel in many
-situations. The default property must be either an object or list property.
-
-\section1 Running the example
-
-The main.cpp file in the example includes a simple shell application that
-loads and runs the QML snippet shown at the beginning of this page.
-*/
-
-/*!
-\example declarative/extending/grouped
-\title Extending QML - Grouped Properties Example
-
-This example builds on:
-\list
-\o \l {Extending QML - Default Property Example}
-\o \l {Extending QML - Inheritance and Coercion Example}
-\o \l {Extending QML - Object and List Property Types Example}
-\o \l {Extending QML - Adding Types Example}
-\endlist
-
-*/
-
-/*!
-\example declarative/extending/grouped
-\title Extending QML - Attached Properties Example
-
-This example builds on:
-\list
-\o \l {Extending QML - Grouped Properties Example}
-\o \l {Extending QML - Default Property Example}
-\o \l {Extending QML - Inheritance and Coercion Example}
-\o \l {Extending QML - Object and List Property Types Example}
-\o \l {Extending QML - Adding Types Example}
-\endlist
-
-*/
-
-/*!
-\example declarative/extending/signal
-\title Extending QML - Signal Support Example
-
-This example builds on:
-\list
-\o \l {Extending QML - Attached Properties Example}
-\o \l {Extending QML - Grouped Properties Example}
-\o \l {Extending QML - Default Property Example}
-\o \l {Extending QML - Inheritance and Coercion Example}
-\o \l {Extending QML - Object and List Property Types Example}
-\o \l {Extending QML - Adding Types Example}
-\endlist
-
-*/
-
-/*!
-\example declarative/extending/valuesource
-\title Extending QML - Property Value Source Example
-
-This example builds on:
-\list
-\o \l {Extending QML - Signal Support Example}
-\o \l {Extending QML - Attached Properties Example}
-\o \l {Extending QML - Grouped Properties Example}
-\o \l {Extending QML - Default Property Example}
-\o \l {Extending QML - Inheritance and Coercion Example}
-\o \l {Extending QML - Object and List Property Types Example}
-\o \l {Extending QML - Adding Types Example}
-\endlist
-
-*/
-
-/*!
-\example declarative/extending/binding
-\title Extending QML - Binding Example
-
-This example builds on:
-\list
-\o \l {Extending QML - Property Value Source Example}
-\o \l {Extending QML - Signal Support Example}
-\o \l {Extending QML - Attached Properties Example}
-\o \l {Extending QML - Grouped Properties Example}
-\o \l {Extending QML - Default Property Example}
-\o \l {Extending QML - Inheritance and Coercion Example}
-\o \l {Extending QML - Object and List Property Types Example}
-\o \l {Extending QML - Adding Types Example}
-\endlist
-
-*/
diff --git a/doc/src/declarative/extending-tutorial.qdoc b/doc/src/declarative/extending-tutorial.qdoc
index f00b858098..7ec9087350 100644
--- a/doc/src/declarative/extending-tutorial.qdoc
+++ b/doc/src/declarative/extending-tutorial.qdoc
@@ -107,7 +107,7 @@ The class implementation in \c musician.cpp simply sets and returns the \c m_nam
Our QML file, \c app.qml, creates a \c Musician item and display the musician's details
using a standard QML \l Text item:
-\quotefile declarative/tutorials/extending/chapter1-basics/app.qml
+\snippet declarative/tutorials/extending/chapter1-basics/app.qml 0
We'll also create a C++ application that uses a QDeclarativeView to run and
display \c app.qml. The application must register the \c Musician type
@@ -147,7 +147,7 @@ to the console and then emits a "performanceEnded" signal.
Other elements would be able to call \c perform() and receive
\c performanceEnded() signals like this:
-\quotefile declarative/tutorials/extending/chapter2-methods/app.qml
+\snippet declarative/tutorials/extending/chapter2-methods/app.qml 0
To do this, we add a \c perform() method and a \c performanceEnded() signal
to our C++ class:
@@ -193,7 +193,7 @@ other elements' values when property values change.
Let's enable property bindings for the \c instrument property. That means
if we have code like this:
-\quotefile declarative/tutorials/extending/chapter3-bindings/app.qml
+\snippet declarative/tutorials/extending/chapter3-bindings/app.qml 0
The "instrument: reddy.instrument" statement binds the \c instrument value of
\c craig to the \c instrument of \c reddy.
@@ -275,7 +275,7 @@ For example, let's change the type of the \c instrument property from a string t
new type called "Instrument". Instead of assigning a string value to \c instrument,
we assign an \c Instrument value:
-\quotefile declarative/tutorials/extending/chapter4-customPropertyTypes/app.qml
+\snippet declarative/tutorials/extending/chapter4-customPropertyTypes/app.qml 0
Like \c Musician, this new \c Instrument type has to inherit from QObject and declare
its properties with Q_PROPERTY():
diff --git a/doc/src/declarative/extending.qdoc b/doc/src/declarative/extending.qdoc
index 1c159e401c..03c0ec4ac5 100644
--- a/doc/src/declarative/extending.qdoc
+++ b/doc/src/declarative/extending.qdoc
@@ -56,13 +56,16 @@ QML for their own independent use.
\section1 Adding Types
\target adding-types
-\snippet examples/declarative/extending/adding/example.qml 0
+\snippet examples/declarative/cppextensions/referenceexamples/adding/example.qml 0
The QML snippet shown above instantiates one \c Person instance and sets
the \c name and \c shoeSize properties on it. Everything in QML ultimately comes down
to either instantiating an object instance, or assigning a property a value.
+
QML relies heavily on Qt's meta object system and can only instantiate classes
-that derive from QObject.
+that derive from QObject. For visual element types, this will usually mean a subclass
+of QDeclarativeItem; for models used with the view elements, a subclass of QAbstractItemModel;
+and for abitrary objects with properties, a direct subclass of QObject.
The QML engine has no intrinsic knowledge of any class types. Instead the
programmer must register the C++ types with their corresponding QML names.
@@ -121,7 +124,7 @@ the \c Person type.
\section1 Object and List Property Types
-\snippet examples/declarative/extending/properties/example.qml 0
+\snippet examples/declarative/cppextensions/referenceexamples/properties/example.qml 0
The QML snippet shown above assigns a \c Person object to the \c BirthdayParty's
\c host property, and assigns three \c Person objects to the guests property.
@@ -136,7 +139,7 @@ Properties that are pointers to objects or Qt interfaces are declared with the
Q_PROPERTY() macro, just like other properties. The \c host property
declaration looks like this:
-\snippet examples/declarative/extending/properties/birthdayparty.h 1
+\snippet examples/declarative/cppextensions/referenceexamples/properties/birthdayparty.h 1
As long as the property type, in this case \c Person, is registered with QML the
property can be assigned.
@@ -165,14 +168,14 @@ As with object properties, the type \a T must be registered with QML.
The \c guest property declaration looks like this:
-\snippet examples/declarative/extending/properties/birthdayparty.h 2
+\snippet examples/declarative/cppextensions/referenceexamples/properties/birthdayparty.h 2
\l {Extending QML - Object and List Property Types Example} shows the complete
code used to create the \c BirthdayParty type.
\section1 Inheritance and Coercion
-\snippet examples/declarative/extending/coercion/example.qml 0
+\snippet examples/declarative/cppextensions/referenceexamples/coercion/example.qml 0
The QML snippet shown above assigns a \c Boy object to the \c BirthdayParty's
\c host property, and assigns three other objects to the \c guests property.
@@ -214,7 +217,7 @@ code used to create the \c Boy and \c Girl types.
\section1 Default Property
-\snippet examples/declarative/extending/default/example.qml 0
+\snippet examples/declarative/cppextensions/referenceexamples/default/example.qml 0
The QML snippet shown above assigns a collection of objects to the
\c BirthdayParty's default property.
@@ -246,7 +249,7 @@ specify a default property.
\section1 Grouped Properties
-\snippet examples/declarative/extending/grouped/example.qml 1
+\snippet examples/declarative/cppextensions/referenceexamples/grouped/example.qml 1
The QML snippet shown above assigns a number of properties to the \c Boy object,
including four properties using the grouped property syntax.
@@ -259,7 +262,7 @@ different types through implementation reuse.
A grouped property block is implemented as a read-only object property. The
\c shoe property shown is declared like this:
-\snippet examples/declarative/extending/grouped/person.h 1
+\snippet examples/declarative/cppextensions/referenceexamples/grouped/person.h 1
The \c ShoeDescription type declares the properties available to the grouped
property block - in this case the \c size, \c color, \c brand and \c price properties.
@@ -271,7 +274,7 @@ implement the \c shoe property grouping.
\section1 Attached Properties
-\snippet examples/declarative/extending/attached/example.qml 1
+\snippet examples/declarative/cppextensions/referenceexamples/attached/example.qml 1
The QML snippet shown above assigns a date to the \c rsvp property using the attached
property syntax.
@@ -393,8 +396,8 @@ this situation, but it must not crash.
\section1 Signal Support
-\snippet examples/declarative/extending/signal/example.qml 0
-\snippet examples/declarative/extending/signal/example.qml 1
+\snippet examples/declarative/cppextensions/referenceexamples/signal/example.qml 0
+\snippet examples/declarative/cppextensions/referenceexamples/signal/example.qml 1
The QML snippet shown above associates the evaluation of a JavaScript expression
with the emission of a Qt signal.
@@ -406,7 +409,7 @@ signal name: "on" is prepended, and the first letter of the signal name upper
cased. For example, the signal used in the example above has the following
C++ signature:
-\snippet examples/declarative/extending/signal/birthdayparty.h 0
+\snippet examples/declarative/cppextensions/referenceexamples/signal/birthdayparty.h 0
In classes with multiple signals with the same name, only the final signal
is accessible as a signal property. Note that signals with the same name
@@ -422,10 +425,13 @@ value will not be accessible from script.
\l {Extending QML - Signal Support Example} shows the complete code used to
implement the onPartyStarted signal property.
+If you want to use signals from items not created in QML, you can access their
+signals with the \l {Connections} element.
+
\section1 Property Value Sources
-\snippet examples/declarative/extending/valuesource/example.qml 0
-\snippet examples/declarative/extending/valuesource/example.qml 1
+\snippet examples/declarative/cppextensions/referenceexamples/valuesource/example.qml 0
+\snippet examples/declarative/cppextensions/referenceexamples/valuesource/example.qml 1
The QML snippet shown above applies a property value source to the \c announcment property.
A property value source generates a value for a property that changes over time.
@@ -440,7 +446,7 @@ The example shown here is rather contrived: the \c announcment property of the
the \c HappyBirthdaySong value source generates the lyrics of the song
"Happy Birthday".
-\snippet examples/declarative/extending/valuesource/birthdayparty.h 0
+\snippet examples/declarative/cppextensions/referenceexamples/valuesource/birthdayparty.h 0
Normally, assigning an object to a string property would not be allowed. In
the case of a property value source, rather than assigning the object instance
@@ -453,9 +459,9 @@ QDeclarativePropertyValueSource::setTarget(), that the QML engine invokes when
associating the property value source with a property. The relevant part of
the \c HappyBirthdaySong type declaration looks like this:
-\snippet examples/declarative/extending/valuesource/happybirthdaysong.h 0
-\snippet examples/declarative/extending/valuesource/happybirthdaysong.h 1
-\snippet examples/declarative/extending/valuesource/happybirthdaysong.h 2
+\snippet examples/declarative/cppextensions/referenceexamples/valuesource/happybirthdaysong.h 0
+\snippet examples/declarative/cppextensions/referenceexamples/valuesource/happybirthdaysong.h 1
+\snippet examples/declarative/cppextensions/referenceexamples/valuesource/happybirthdaysong.h 2
In all other respects, property value sources are regular QML types. They must
be registered with the QML engine using the same macros as other types, and can
@@ -471,8 +477,8 @@ implement the \c HappyBirthdaySong property value source.
\section1 Property Binding
-\snippet examples/declarative/extending/binding/example.qml 0
-\snippet examples/declarative/extending/binding/example.qml 1
+\snippet examples/declarative/cppextensions/referenceexamples/binding/example.qml 0
+\snippet examples/declarative/cppextensions/referenceexamples/binding/example.qml 1
The QML snippet shown above uses a property binding to ensure the
\c HappyBirthdaySong's \c name property remains up to date with the \c host.
@@ -492,7 +498,7 @@ the property's value. QML relies on the presence of a
Here is the \c host property declaration:
-\snippet examples/declarative/extending/binding/birthdayparty.h 0
+\snippet examples/declarative/cppextensions/referenceexamples/binding/birthdayparty.h 0
The NOTIFY attribute is followed by a signal name. It is the responsibility of
the class implementer to ensure that whenever the property's value changes, the
@@ -531,7 +537,7 @@ subsequently change. The most common case of this is when a type uses
only freed when the object is deleted. In these cases, the CONSTANT attribute
may be added to the property declaration instead of a NOTIFY signal.
-\snippet examples/declarative/extending/binding/person.h 0
+\snippet examples/declarative/cppextensions/referenceexamples/binding/person.h 0
Extreme care must be taken here or applications using your type may misbehave.
The CONSTANT attribute should only be used for properties whose value is set,
@@ -543,7 +549,7 @@ include NOTIFY signals for use in binding.
\section1 Extension Objects
-\snippet examples/declarative/extending/extended/example.qml 0
+\snippet examples/declarative/cppextensions/referenceexamples/extended/example.qml 0
The QML snippet shown above adds a new property to an existing C++ type without
modifying its source code.
@@ -893,9 +899,13 @@ in other projects without the use of C++. Components can also help to reduce
duplication inside one project by limiting the need for large numbers of
copy-and-pasted blocks.
-Any snippet of QML code can become a component, just by placing it in the file
-"<Name>.qml" where <Name> is the new element name, and begins with an uppercase
-letter. These QML files automatically become available as new QML element types
+Any snippet of QML code can become a component, just by placing it in the file "<Name>.qml"
+where <Name> is the new element name, and begins with an uppercase letter. Note that
+the case of all characters in the <Name> are significant on some filesystems, notably
+UNIX filesystems. It is recommended that the case of the filename matches the case of
+the component name in QML exactly, regardless of the platform the QML will be deployed to.
+
+These QML files automatically become available as new QML element types
to other QML components and applications in the same directory.
For example, here we show how a component named "Box" is defined and used
diff --git a/doc/src/declarative/focus.qdoc b/doc/src/declarative/focus.qdoc
index e5c1d328e4..4c4a31771c 100644
--- a/doc/src/declarative/focus.qdoc
+++ b/doc/src/declarative/focus.qdoc
@@ -67,7 +67,12 @@ item and thus subsequently be \l {QEvent::ignore()}{ignored}.
\code
Item {
Item {
- Keys.onPressed: if (event.key == Qt.Key_A) { console.log('Key A was pressed'); event.accepted = true }
+ Keys.onPressed: {
+ if (event.key == Qt.Key_A) {
+ console.log('Key A was pressed');
+ event.accepted = true;
+ }
+ }
Rectangle {}
}
}
@@ -291,28 +296,7 @@ print the name of the current list item.
\table
\row
-\o \code
-Rectangle {
- color: "lightsteelblue"; width: 240; height: 320
-
- ListView {
- id: myView; anchors.fill: parent; focus: true
- model: ListModel {
- ListElement { name: "Bob" }
- ListElement { name: "John" }
- ListElement { name: "Michael" }
- }
- delegate: FocusScope {
- width: contents.width; height: contents.height
- Text {
- focus: true
- text: name
- Keys.onReturnPressed: console.log(name)
- }
- }
- }
-}
-\endcode
+\o \snippet doc/src/snippets/declarative/focusscopes.qml 0
\o \image declarative-qmlfocus4.png
\endtable
diff --git a/doc/src/declarative/globalobject.qdoc b/doc/src/declarative/globalobject.qdoc
index 57eaae7717..3121e9532f 100644
--- a/doc/src/declarative/globalobject.qdoc
+++ b/doc/src/declarative/globalobject.qdoc
@@ -49,250 +49,9 @@ Contains all the properties of the JavaScript global object, plus:
\section1 Qt Object
-The Qt object provides useful enums and functions from Qt, for use in all QML
+The \l{Qt}{Qt object} provides useful enums and functions from Qt, for use in all QML
files.
-\section2 Enums
-The Qt object contains all enums in the Qt namespace. For example, you can
-access the AlignLeft member of the Qt::AlignmentFlag enum with \c Qt.AlignLeft.
-
-For a full list of enums, see the \l{Qt Namespace} documentation.
-
-\section2 Types
-The Qt object also contains helper functions for creating objects of specific
-data types. This is primarily useful when setting the properties of an item
-when the property has one of the following types:
-
-\list
-\o Color
-\o Rect
-\o Point
-\o Size
-\o Vector3D
-\endlist
-
-There are also string based constructors for these types, see \l{qdeclarativebasictypes.html}{Qml Types}.
-
-\section3 Qt.rgba(qreal red, qreal green, qreal blue, qreal alpha)
-This function returns a Color with the specified \c red, \c green, \c blue and \c alpha components. All components should be in the range 0-1 inclusive.
-
-\section3 Qt.hsla(qreal hue, qreal saturation, qreal lightness, qreal alpha)
-This function returns a Color with the specified \c hue, \c saturation, \c lightness and \c alpha components. All components should be in the range 0-1 inclusive.
-
-\section3 Qt.rect(int x, int y, int width, int height)
-This function returns a Rect with the top-left corner at \c x, \c y and the specified \c width and \c height.
-\section3 Qt.point(int x, int y)
-This function returns a Point with the specified \c x and \c y coordinates.
-\section3 Qt.size(int width, int height)
-This function returns as Size with the specified \c width and \c height.
-\section3 Qt.vector3d(real x, real y, real z)
-This function returns a Vector3D with the specified \c x, \c y and \c z.
-
-\section2 Formatters
-The Qt object contains several functions for formatting dates and times.
-
-\section3 Qt.formatDate(datetime date, variant format)
-This function returns the string representation of \c date, formatted according to \c format.
-\section3 Qt.formatTime(datetime time, variant format)
-This function returns the string representation of \c time, formatted according to \c format.
-\section3 Qt.formatDateTime(datetime dateTime, variant format)
-This function returns the string representation of \c dateTime, formatted according to \c format.
-
-\c format for the above formatting functions can be specified as follows.
-
- These expressions may be used for the date:
-
- \table
- \header \i Expression \i Output
- \row \i d \i the day as number without a leading zero (1 to 31)
- \row \i dd \i the day as number with a leading zero (01 to 31)
- \row \i ddd
- \i the abbreviated localized day name (e.g. 'Mon' to 'Sun').
- Uses QDate::shortDayName().
- \row \i dddd
- \i the long localized day name (e.g. 'Monday' to 'Qt::Sunday').
- Uses QDate::longDayName().
- \row \i M \i the month as number without a leading zero (1-12)
- \row \i MM \i the month as number with a leading zero (01-12)
- \row \i MMM
- \i the abbreviated localized month name (e.g. 'Jan' to 'Dec').
- Uses QDate::shortMonthName().
- \row \i MMMM
- \i the long localized month name (e.g. 'January' to 'December').
- Uses QDate::longMonthName().
- \row \i yy \i the year as two digit number (00-99)
- \row \i yyyy \i the year as four digit number
- \endtable
-
- These expressions may be used for the time:
-
- \table
- \header \i Expression \i Output
- \row \i h
- \i the hour without a leading zero (0 to 23 or 1 to 12 if AM/PM display)
- \row \i hh
- \i the hour with a leading zero (00 to 23 or 01 to 12 if AM/PM display)
- \row \i m \i the minute without a leading zero (0 to 59)
- \row \i mm \i the minute with a leading zero (00 to 59)
- \row \i s \i the second without a leading zero (0 to 59)
- \row \i ss \i the second with a leading zero (00 to 59)
- \row \i z \i the milliseconds without leading zeroes (0 to 999)
- \row \i zzz \i the milliseconds with leading zeroes (000 to 999)
- \row \i AP
- \i use AM/PM display. \e AP will be replaced by either "AM" or "PM".
- \row \i ap
- \i use am/pm display. \e ap will be replaced by either "am" or "pm".
- \endtable
-
- All other input characters will be ignored. Any sequence of characters that
- are enclosed in singlequotes will be treated as text and not be used as an
- expression. Two consecutive singlequotes ("''") are replaced by a singlequote
- in the output.
-
- Example format strings (assumed that the date and time is 21 May 2001
- 14:13:09):
-
- \table
- \header \i Format \i Result
- \row \i dd.MM.yyyy \i 21.05.2001
- \row \i ddd MMMM d yy \i Tue May 21 01
- \row \i hh:mm:ss.zzz \i 14:13:09.042
- \row \i h:m:s ap \i 2:13:9 pm
- \endtable
-
-If no format is specified the locale's short format is used. Alternatively, you can specify
-\c Qt.DefaultLocaleLongDate to get the locale's long format.
-
-\section2 Functions
-The Qt object also contains the following miscellaneous functions which expose Qt functionality for use in QML.
-
-\section3 Qt.lighter(color baseColor)
-This function returns a color 50% lighter than \c baseColor. See QColor::lighter() for further details.
-\section3 Qt.darker(color baseColor)
-This function returns a color 50% darker than \c baseColor. See QColor::darker() for further details.
-\section3 Qt.tint(color baseColor, color tintColor)
- This function allows tinting one color with another.
-
- The tint color should usually be mostly transparent, or you will not be able to see the underlying color. The below example provides a slight red tint by having the tint color be pure red which is only 1/16th opaque.
-
- \qml
- Rectangle { x: 0; width: 80; height: 80; color: "lightsteelblue" }
- Rectangle { x: 100; width: 80; height: 80; color: Qt.tint("lightsteelblue", "#10FF0000") }
- \endqml
- \image declarative-rect_tint.png
-
- Tint is most useful when a subtle change is intended to be conveyed due to some event; you can then use tinting to more effectively tune the visible color.
-
-\section3 Qt.openUrlExternally(url target)
-This function attempts to open the specified \c target url in an external application, based on the user's desktop preferences. It will return true if it succeeds, and false otherwise.
-
-\section3 Qt.md5(data)
-This function returns a hex string of the md5 hash of \c data.
-
-\section3 Qt.btoa(data)
-Binary to ASCII - this function returns a base64 encoding of \c data.
-
-\section3 Qt.atob(data)
-ASCII to binary - this function returns a base64 decoding of \c data.
-
-\section3 Qt.quit()
-This function causes the QML engine to emit the quit signal, which in
-\l {Qt Declarative UI Runtime}{qml} causes the runtime to quit.
-
-\section3 Qt.resolvedUrl(url)
-This function returns \c url resolved relative to the URL of the
-caller.
-
-\section3 Qt.isQtObject(object)
-Returns true if \c object is a valid reference to a Qt or QML object, otherwise false.
-
-\section1 Dynamic Object Creation
-The following functions on the global object allow you to dynamically create QML
-items from files or strings. See \l{Dynamic Object Management} for an overview
-of their use.
-
-\section2 createComponent(url file)
- This function takes the URL of a QML file as its only argument. It returns
- a component object which can be used to create and load that QML file.
-
- Example QML script is below. Remember that QML files that might be loaded
- over the network cannot be expected to be ready immediately.
- \code
- var component;
- var sprite;
- function finishCreation(){
- if(component.isReady()){
- sprite = component.createObject();
- if(sprite == null){
- // Error Handling
- }else{
- sprite.parent = page;
- sprite.x = 200;
- //...
- }
- }else if(component.isError()){
- // Error Handling
- }
- }
-
- component = createComponent("Sprite.qml");
- if(component.isReady()){
- finishCreation();
- }else{
- component.statusChanged.connect(finishCreation);
- }
- \endcode
-
- If you are certain the files will be local, you could simplify to
-
- \code
- component = createComponent("Sprite.qml");
- sprite = component.createObject();
- if(sprite == null){
- // Error Handling
- console.log(component.errorsString());
- }else{
- sprite.parent = page;
- sprite.x = 200;
- //...
- }
- \endcode
-
- The methods and properties of the Component element are defined in its own
- page, but when using it dynamically only two methods are usually used.
- Component.createObject() returns the created object or null if there is an error.
- If there is an error, Component.errorsString() describes what the error was.
-
- If you want to just create an arbitrary string of QML, instead of
- loading a QML file, consider the createQmlObject() function.
-
-\section2 createQmlObject(string qml, object parent, string filepath)
- Creates a new object from the specified string of QML. It requires a
- second argument, which is the id of an existing QML object to use as
- the new object's parent. If a third argument is provided, this is used
- for error reporting as the filepath that the QML came from.
-
- Example (where targetItem is the id of an existing QML item):
- \code
- newObject = createQmlObject('import Qt 4.7; Rectangle {color: "red"; width: 20; height: 20}',
- targetItem, "dynamicSnippet1");
- \endcode
-
- This function is intended for use inside QML only. It is intended to behave
- similarly to eval, but for creating QML elements.
-
- Returns the created object, or null if there is an error. In the case of an
- error, a QtScript Error object is thrown. This object has the additional property,
- qmlErrors, which is an array of all the errors encountered when trying to execute the
- QML. Each object in the array has the members: lineNumber, columnNumber, fileName and message.
-
- Note that this function returns immediately, and therefore may not work if
- the QML loads new components. If you are trying to load a new component,
- for example from a QML file, consider the createComponent() function
- instead. 'New components' refers to external QML files that have not yet
- been loaded, and so it is safe to use createQmlObject to load built-in
- components.
-
\section1 XMLHttpRequest
\target XMLHttpRequest
@@ -382,7 +141,7 @@ of QDeclarativeEngine::offlineStoragePath(), currently as SQLite databases.
The API can be used from JavaScript functions in your QML:
-\quotefile declarative/sql/hello.qml
+\snippet declarative/sqllocalstorage/hello.qml 0
The API conforms to the Synchronous API of the HTML5 Web Database API,
\link http://www.w3.org/TR/2009/WD-webdatabase-20091029/ W3C Working Draft 29 October 2009\endlink.
diff --git a/doc/src/declarative/integrating.qdoc b/doc/src/declarative/integrating.qdoc
index 0051f091bc..728eb1389a 100644
--- a/doc/src/declarative/integrating.qdoc
+++ b/doc/src/declarative/integrating.qdoc
@@ -81,7 +81,7 @@ of simple and dynamic elements.
\section2 Adding QML widgets to a QGraphicsScene
-If you have an existing UI based on the \l{The Graphics View Framework}{Graphics View Framework},
+If you have an existing UI based on the \l{Graphics View Framework},
you can integrate QML widgets directly into your QGraphicsScene. Use
QDeclarativeComponent to create a QGraphicsObject from a QML file, and
place the graphics object into your scene using \l{QGraphicsScene::addItem()}, or
@@ -110,51 +110,11 @@ of QML UIs:
\section2 Loading QGraphicsWidget objects in QML
An alternative approach is to expose your existing QGraphicsWidget objects to
-QML and construct your scene in QML instead. To do this, you need to register
-any custom C++ types and create a plugin that registers the custom types
-so that they can be used from your QML file.
+QML and construct your scene in QML instead. See the \l {declarative-cppextensions-qgraphicslayouts.html}{graphics layouts example}
+which shows how to expose Qt's graphics layout classes to QML in order
+to use QGraphicsWidget with classes like QGraphicsLinearLayout and QGraphicsGridLayout.
-Here is an example. Suppose you have two classes, \c RedSquare and \c BlueCircle,
-that both inherit from QGraphicsWidget:
-
-\c [graphicswidgets/redsquare.h]
-\snippet doc/src/declarative/snippets/integrating/graphicswidgets/redsquare.h 0
-
-\c [graphicswidgets/bluecircle.h]
-\snippet doc/src/declarative/snippets/integrating/graphicswidgets/bluecircle.h 0
-
-Then, create a plugin by subclassing QDeclarativeExtensionPlugin, and register the
-types by calling qmlRegisterType(). Also export the plugin with Q_EXPORT_PLUGIN2.
-
-\c [graphicswidgets/shapesplugin.cpp]
-\snippet doc/src/declarative/snippets/integrating/graphicswidgets/shapesplugin.cpp 0
-
-Now write a project file that creates the plugin:
-
-\c [graphicswidgets/graphicswidgets.pro]
-\quotefile doc/src/declarative/snippets/integrating/graphicswidgets/graphicswidgets.pro
-
-And add a \c qmldir file that includes the \c graphicswidgets plugin from the \c lib
-subdirectory (as defined in the project file):
-
-\c [graphicswidgets/qmldir]
-\quotefile doc/src/declarative/snippets/integrating/graphicswidgets/qmldir
-
-Now, we can write a QML file that uses the \c RedSquare and \c BlueCircle widgets.
-(As an example, we can also create \c QGraphicsWidget items if we import the \c Qt.widgets
-module.)
-
-\c [main.qml]
-\quotefile doc/src/declarative/snippets/integrating/graphicswidgets/main.qml
-
-Here is a screenshot of the result:
-
-\image declarative-integrating-graphicswidgets.png
-
-
-Note this approach of creating your graphics objects from QML does not work
-with QGraphicsItems that are not QGraphicsObject-based, since they are not QObjects.
-
-See \l{Extending QML in C++} for further information on using C++ types.
+To expose your existing QGraphicsWidget classes to QML, use \l {qmlRegisterType()}.
+See \l{Extending QML in C++} for further information on using C++ types in QML.
*/
diff --git a/doc/src/declarative/pics/anchorchanges.png b/doc/src/declarative/pics/anchorchanges.png
new file mode 100644
index 0000000000..4973e4e9aa
--- /dev/null
+++ b/doc/src/declarative/pics/anchorchanges.png
Binary files differ
diff --git a/doc/src/declarative/pics/gridview-highlight.png b/doc/src/declarative/pics/gridview-highlight.png
new file mode 100644
index 0000000000..b54af37f93
--- /dev/null
+++ b/doc/src/declarative/pics/gridview-highlight.png
Binary files differ
diff --git a/doc/src/declarative/pics/gridview-simple.png b/doc/src/declarative/pics/gridview-simple.png
new file mode 100644
index 0000000000..a102939f2b
--- /dev/null
+++ b/doc/src/declarative/pics/gridview-simple.png
Binary files differ
diff --git a/doc/src/declarative/pics/gridview.png b/doc/src/declarative/pics/gridview.png
deleted file mode 100644
index 37268932d3..0000000000
--- a/doc/src/declarative/pics/gridview.png
+++ /dev/null
Binary files differ
diff --git a/doc/src/declarative/pics/listmodel-nested.png b/doc/src/declarative/pics/listmodel-nested.png
new file mode 100644
index 0000000000..ee7ffba67a
--- /dev/null
+++ b/doc/src/declarative/pics/listmodel-nested.png
Binary files differ
diff --git a/doc/src/declarative/pics/listmodel.png b/doc/src/declarative/pics/listmodel.png
new file mode 100644
index 0000000000..7ab1771f15
--- /dev/null
+++ b/doc/src/declarative/pics/listmodel.png
Binary files differ
diff --git a/doc/src/declarative/pics/trivialListView.png b/doc/src/declarative/pics/listview-highlight.png
index dc5c6b3b57..dc5c6b3b57 100644
--- a/doc/src/declarative/pics/trivialListView.png
+++ b/doc/src/declarative/pics/listview-highlight.png
Binary files differ
diff --git a/doc/src/declarative/pics/listview-simple.png b/doc/src/declarative/pics/listview-simple.png
new file mode 100644
index 0000000000..71a1c5172f
--- /dev/null
+++ b/doc/src/declarative/pics/listview-simple.png
Binary files differ
diff --git a/doc/src/declarative/pics/parentchange.png b/doc/src/declarative/pics/parentchange.png
new file mode 100644
index 0000000000..93206fbbb2
--- /dev/null
+++ b/doc/src/declarative/pics/parentchange.png
Binary files differ
diff --git a/doc/src/declarative/pics/rect-border-width.png b/doc/src/declarative/pics/rect-border-width.png
new file mode 100644
index 0000000000..c3c6c2ccb9
--- /dev/null
+++ b/doc/src/declarative/pics/rect-border-width.png
Binary files differ
diff --git a/doc/src/declarative/pics/repeater-modeldata.png b/doc/src/declarative/pics/repeater-modeldata.png
new file mode 100644
index 0000000000..6d8df0d9d5
--- /dev/null
+++ b/doc/src/declarative/pics/repeater-modeldata.png
Binary files differ
diff --git a/doc/src/declarative/pics/repeater-simple.png b/doc/src/declarative/pics/repeater-simple.png
new file mode 100644
index 0000000000..6da62951dc
--- /dev/null
+++ b/doc/src/declarative/pics/repeater-simple.png
Binary files differ
diff --git a/doc/src/declarative/pics/translate.png b/doc/src/declarative/pics/translate.png
new file mode 100644
index 0000000000..baf58b0eb6
--- /dev/null
+++ b/doc/src/declarative/pics/translate.png
Binary files differ
diff --git a/doc/src/declarative/pics/visualitemmodel.png b/doc/src/declarative/pics/visualitemmodel.png
new file mode 100644
index 0000000000..5e6d1325b2
--- /dev/null
+++ b/doc/src/declarative/pics/visualitemmodel.png
Binary files differ
diff --git a/doc/src/declarative/qdeclarativedebugging.qdoc b/doc/src/declarative/qdeclarativedebugging.qdoc
index 4ff7fdebdb..99dd2d2887 100644
--- a/doc/src/declarative/qdeclarativedebugging.qdoc
+++ b/doc/src/declarative/qdeclarativedebugging.qdoc
@@ -60,8 +60,35 @@ Rectangle {
\section1 Debugging Transitions
When a transition doesn't look quite right, it can be helpful to view it in slow
-motion to see what is happening more clearly. The \l {Qt Declarative UI Runtime}{qml} tool provides a
-"Slow Down Animations" menu option to facilitate this.
+motion to see what is happening more clearly. This functionality is supported
+in the \l {Qt Declarative UI Runtime}{qmlviewer} tool: to enable this,
+click on the "Debugging" menu, then "Slow Down Animations".
+
+
+\section1 Debugging module imports
+
+The \c QML_IMPORT_TRACE environment variable can be set to enable debug output
+from QML's import loading mechanisms.
+
+For example, for a simple QML file like this:
+
+\qml
+import Qt 4.7
+
+Rectangle { width: 100; height: 100 }
+\endqml
+
+If you set \c {QML_IMPORT_TRACE=1} before running the \l {Qt Declarative UI Runtime}{qmlviewer}
+(or your QML C++ application), you will see output similar to this:
+
+\code
+QDeclarativeImportDatabase::addImportPath "/qt-sdk/imports"
+QDeclarativeImportDatabase::addImportPath "/qt-sdk/bin/QMLViewer.app/Contents/MacOS"
+QDeclarativeImportDatabase::addToImport 0x106237370 "." -1.-1 File as ""
+QDeclarativeImportDatabase::addToImport 0x106237370 "Qt" 4.7 Library as ""
+QDeclarativeImportDatabase::resolveType "Rectangle" = "QDeclarativeRectangle"
+\endcode
+
\section1 Debugging with Qt Creator
diff --git a/doc/src/declarative/qdeclarativedocument.qdoc b/doc/src/declarative/qdeclarativedocument.qdoc
index bc099ced80..833651243f 100644
--- a/doc/src/declarative/qdeclarativedocument.qdoc
+++ b/doc/src/declarative/qdeclarativedocument.qdoc
@@ -96,9 +96,6 @@ Once created, instances are not dependent on the component that created them, so
operate on independent data. Here is an example of a simple "Button" component that is
instantiated four times, each with a different value for its \c text property.
-\table
-\row
-\o
\raw HTML
<table><tr><td>
\endraw
@@ -125,10 +122,19 @@ BorderImage {
\raw HTML
</td> </tr> </table>
\endraw
-\endtable
-In addition to the top-level component that all QML documents define, documents may also
-include additional \e inline components. Inline components are declared using the
+Any snippet of QML code can become a component, just by placing it in the file "<Name>.qml"
+where <Name> is the new element name, and begins with an uppercase letter. Note that
+the case of all characters in the <Name> are significant on some filesystems, notably
+UNIX filesystems. It is recommended that the case of the filename matches the case of
+the component name in QML exactly, regardless of the platform the QML will be deployed to.
+
+These QML files automatically become available as new QML element types
+to other QML components and applications in the same directory.
+
+In addition to the top-level component that all QML documents define, and any reusable
+components placed in separate files, documents may also
+include \e inline components. Inline components are declared using the
\l Component element, as can be seen in the first example above. Inline components share
all the characteristics of regular top-level components and use the same \c import list as their
containing QML document. Components are one of the most basic building blocks in QML, and are
diff --git a/doc/src/declarative/qdeclarativeintro.qdoc b/doc/src/declarative/qdeclarativeintro.qdoc
index a98c9e17cb..acf4ec91ac 100644
--- a/doc/src/declarative/qdeclarativeintro.qdoc
+++ b/doc/src/declarative/qdeclarativeintro.qdoc
@@ -60,10 +60,13 @@ technologies like HTML and CSS, but it's not required.
QML looks like this:
\code
+import Qt 4.7
+
Rectangle {
width: 200
height: 200
- color: "white"
+ color: "blue"
+
Image {
source: "pics/logo.png"
anchors.centerIn: parent
diff --git a/doc/src/declarative/qdeclarativemodels.qdoc b/doc/src/declarative/qdeclarativemodels.qdoc
index 91acb3c8e2..109d390e70 100644
--- a/doc/src/declarative/qdeclarativemodels.qdoc
+++ b/doc/src/declarative/qdeclarativemodels.qdoc
@@ -99,7 +99,8 @@ There are a number of QML elements that operate using data models:
\endlist
QML supports several types of data model, which may be provided by QML
-or C++ (via QDeclarativeContext::setContextProperty(), for example).
+or C++ (via QDeclarativeContext::setContextProperty() or as plugin types,
+for example).
\section1 QML Data Models
@@ -143,6 +144,28 @@ ListView {
}
\endcode
+It is also possible to manipulate the ListModel directly via JavaScript.
+In this case, the first item inserted will determine the roles available
+to any views using the model. For example, if an empty ListModel is
+created and populated via JavaScript the roles provided by the first
+insertion are the only roles that will be shown in the view:
+
+\code
+Item {
+ ListModel {
+ id: fruitModel
+ }
+ MouseArea {
+ anchors.fill: parent
+ onClicked: fruitModel.append({"cost": 5.95, "name":"Pizza"})
+ }
+}
+\endcode
+
+When the MouseArea is clicked fruitModel will have two roles, "cost" and "name".
+Even if subsequent roles are added, only the first two will be handled by views
+using the model.
+
\section2 XmlListModel
@@ -188,8 +211,13 @@ will be positioned by the view.
\section1 C++ Data Models
+Models defined in C++ can be made available to QML either from a C++ application or from a
+\l{QDeclarativeExtensionPlugin}{QML C++ plugin}.
+
\section2 QAbstractItemModel
+A model can be defined by subclassing QAbstractItemModel.
+
QAbstractItemModel provides the roles set via the QAbstractItemModel::setRoleNames() method.
The default role names set by Qt are:
@@ -205,7 +233,18 @@ The default role names set by Qt are:
\o decoration
\endtable
-QAbstractItemModel presents a heirachy of tables. Views currently provided by QML
+The model could be made available to QML either directly:
+
+\code
+QDeclarativeContext *ctxt = view.rootContext();
+MyModel *model = new MyModel; // subclass of QAbstractItemModel
+ctxt->setContextProperty("myModel", model);
+\endcode
+
+or by registering the subclass as a new QML type in
+a \l{QDeclarativeExtensionPlugin}{QML C++ plugin}.
+
+QAbstractItemModel presents a heirachy of tables, but views currently provided by QML
can only display list data.
In order to display child lists of a heirachical model
the VisualDataModel element provides several properties and functions for use
@@ -220,7 +259,7 @@ with models of type QAbstractItemModel:
\section2 QStringList
-QStringList provides the contents of the list via the \e modelData role:
+A model may be a simple QStringList, which provides the contents of the list via the \e modelData role:
\table
\row
@@ -283,7 +322,9 @@ QDeclarativeContext *ctxt = view.rootContext();
ctxt->setContextProperty("myModel", QVariant::fromValue(dataList));
\endcode
-The properties of the object may then be accessed in the delegate:
+The QObject* is available as the \c modelData property. As a convenience,
+the properties of the object are also made available directly in the
+delegate's context:
\code
ListView {
@@ -295,13 +336,18 @@ ListView {
Rectangle {
height: 25
width: 100
- color: model.color
+ color: model.modelData.color
Text { text: name }
}
}
}
\endcode
+Note the use of the fully qualified access to the \c color property.
+The properties of the object are not replicated in the \c model
+object, since they are easily available via the modelData
+object.
+
Note: There is no way for the view to know that the contents of a QList
have changed. If the QList is changed, it will be necessary to reset
the model by calling QDeclarativeContext::setContextProperty() again.
diff --git a/doc/src/declarative/qdeclarativeperformance.qdoc b/doc/src/declarative/qdeclarativeperformance.qdoc
new file mode 100644
index 0000000000..b535e4bb06
--- /dev/null
+++ b/doc/src/declarative/qdeclarativeperformance.qdoc
@@ -0,0 +1,120 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the documentation of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+/*!
+\page qdeclarativeperformance.html
+\title QML Performance
+
+\section1 Opaque Items
+
+Items hidden behind an opaque item incur a cost. If an item will be enitrely
+obscured by an opaque item, set its opacity to 0. One common example of
+this is when a "details" page is shown over the main application view.
+
+\section1 Clipping
+
+\e clip is set to false by default. Enable clipping only when necessary.
+
+\section1 Anchors vs. Binding
+
+It is more efficient to use anchors rather than bindings to position items
+relative to each other. Consider this use of bindings to position rect2
+relative to rect1:
+
+\code
+Rectangle {
+ id: rect1
+ x: 20
+ width: 200; height: 200
+}
+Rectange {
+ id: rect2
+ x: rect1.x
+ y: rect1.y + rect1.height
+ width: rect1.width - 20
+ height: 200
+}
+\endcode
+
+This is achieved more efficiently using anchors:
+
+\code
+Rectangle {
+ id: rect1
+ x: 20
+ width: 200; height: 200
+}
+Rectange {
+ id: rect2
+ height: 200
+ anchors.left: rect1.left
+ anchors.top: rect1.bottom
+ anchors.right: rect1.right
+ anchors.rightMargin: 20
+}
+\endcode
+
+\section1 Images
+
+Images consume a great deal of memory and may also be costly to load. In order
+to deal with large images efficiently it is recommended that the Image::sourceSize
+property be set to a size no greater than that necessary to render it. Beware that
+changing the sourceSize will cause the image to be reloaded.
+
+Images on the local filesystem are usually loaded synchronously. This is usually
+the desired behavior for user interface elements, however for large images that
+do not necessarily need to be visible immediately, set the Image::asynchronous
+property to true. This will load the image in a low priority thread.
+
+\section1 View Delegates
+
+Delegates must be created quickly as the view is flicked. There are two important
+aspects to maintaining a smooth view:
+
+\list
+\o Small delegates - keep the amount of QML to a minimum. Have just enough
+QML in the delegate to display the necessary information. Any additional functionality
+that is only needed when the delegate is clicked, for example, should be created by
+a Loader as needed.
+\o Fast data access - ensure the data model is as fast as possible.
+\endlist
+
+*/
diff --git a/doc/src/declarative/qdeclarativestates.qdoc b/doc/src/declarative/qdeclarativestates.qdoc
index fd0c677728..43b5c31746 100644
--- a/doc/src/declarative/qdeclarativestates.qdoc
+++ b/doc/src/declarative/qdeclarativestates.qdoc
@@ -70,58 +70,30 @@ In QML:
\o A state can affect the properties of other objects, not just the object owning the state (and not just that object's children).
\endlist
+To define a state for an item, add a \l State element to the \l{Item::states}{states} property. To
+change the current state of an \l Item, set the \l{Item::state}{state} property to the name
+of the required state.
+
Here is an example of using states. In the default state \c myRect is positioned at 0,0. In the 'moved' state it is positioned at 50,50. Clicking within the mouse area changes the state from the default state to the 'moved' state, thus moving the rectangle.
-\qml
-Item {
- id: myItem
-
- Rectangle {
- id: myRect
- width: 100
- height: 100
- color: "red"
- }
-
- states: [
- State {
- name: "moved"
- PropertyChanges {
- target: myRect
- x: 50
- y: 50
- }
- }
- ]
-
- MouseArea {
- anchors.fill: parent
- onClicked: myItem.state = 'moved'
- }
-}
-\endqml
+\snippet doc/src/snippets/declarative/states.qml 0
+\snippet doc/src/snippets/declarative/states.qml 1
State changes can be animated using \l{state-transitions}{Transitions}.
-For example, adding this code to the above \c {Item {}} element animates the transition to the "moved" state:
+For example, adding this code to the above \c Item element animates the transition to the "moved" state:
-\qml
- transitions: [
- Transition {
- NumberAnimation { properties: "x,y"; duration: 500 }
- }
- ]
-\endqml
+\snippet doc/src/snippets/declarative/states.qml transitions
See \l{state-transitions}{Transitions} for more information.
Other things you can do in a state change:
\list
-\o override signal handlers with PropertyChanges
-\o change an item's visual parent with ParentChange
-\o change an item's anchors with AnchorChanges
-\o run some script with StateChangeScript
+\o Override signal handlers with PropertyChanges
+\o Change an item's visual parent with ParentChange
+\o Change an item's anchors with AnchorChanges
+\o Run some script with StateChangeScript
\endlist
*/
diff --git a/doc/src/declarative/qml-intro.qdoc b/doc/src/declarative/qml-intro.qdoc
new file mode 100644
index 0000000000..848e094cbc
--- /dev/null
+++ b/doc/src/declarative/qml-intro.qdoc
@@ -0,0 +1,967 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the documentation of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+
+
+/*!
+
+\page qml-intro.html
+\title Beginning Qt Quick
+
+
+\section1 Overview
+
+
+QML is a high level, scripted language. Its commands, more correctly \e elements,
+leverage the power and efficiency of the Qt libraries to make easy to use
+commands that perform intuitive functions. Draw a rectangle, display an image at
+a position and so on. Behind these elements are complex C++ libraries that
+efficiently perform the action. As with any graphical application, always
+consider that this ability to easily build graphically rich applications means
+that some care may be needed to prevent performance problems.
+
+The language also allows more flexibility of these commands by using
+Javascript rather than C++ to add new layers of logic to your application.
+Javascript is easier to learn than C++ and can be embedded into the QML
+files or imported from a separate file.
+
+\bold{In QML the types of various 'objects' are referred to as \l {QML
+Elements}{ elements}}.
+
+An element usually has various \e properties that help define the element. For
+example, if we created an element called Circle then the radius of the circle
+would be a property.
+
+
+\section1 A First Look
+
+The basic syntax of an \l {QML Elements}{element} is
+
+ \code
+ SomeElement {
+ id: myObject
+ ... some other things here ...
+ }
+ \endcode
+
+Here we are defining a new object. We specify its 'type' first as SomeElement.
+Then within matching braces { ... } we specify the various parts of our
+element.
+
+The \c id is a unique identifier for the element, it must start with a lower
+case letter and only contain letters, numbers and underscores. It is this
+particular object's name. If this SomeElement \l {QML Elements}{element} was
+a Rectangle instead and it was one of many then the \e optional unique id
+would allow us to manipulate each element individually.
+
+Each visual element is ultimately based on, or inherits from, an element
+called \l Item. \l Item has certain properties and actions that may be
+useful. The properties have default values so you need only specify the
+ones you will need.
+
+Take a simple element such as a \l Rectangle. It has an \c id, we will call
+it \e myRectangle, it has a \c width and a \c height. Imagine that we
+want a rectangle that is 500 pixels by 400 pixels in the x and y directions
+(horizontal by vertical).
+
+We can implement this \l Rectangle with these properties this way
+
+ \code
+ import Qt 4.7
+
+ // This is a comment. And below myRectangle is defined.
+ Rectangle {
+ id: myRectangle
+ width: 500
+ height: 400
+ }
+ \endcode
+
+This is a valid QML script. To run it, copy it and save it to a file, say
+myexample.qml, and on the command line run the command
+
+ \code
+ qml myexample.qml
+ \endcode
+
+It will create a very boring rectangle in its own window.
+
+
+
+\section1 Hello World!
+
+We can now add some color and text to make a Hello World QML program.
+
+\l Rectangle has the property \l {Rectangle::color}{color} to produce a
+background color.
+
+Text is handled by a different element called \l Text. We need to create a
+\l Text object inside the \l Rectangle and set its \l {Text::text}{text}
+property to "Hello World!". So to set the text to 'Hello world' and the
+background colour to light gray,
+
+ \code
+ import Qt 4.7
+
+ Rectangle {
+ id: myRectangle
+ width: 500
+ height: 400
+
+ Text { text: "Hello World!" }
+
+ color: "lightgray"
+ }
+ \endcode
+
+
+\section1 Hello World Again
+
+From now on we will not always show the import statement for Qt but it
+should still be there when you create your QML scripts.
+
+To make our Hello World example a little nicer set the position of the text
+to be at pixel position x = 100, y = 100 within the displayed window. This
+position belongs to the \l Text element so we set the position inside its
+definition. Note that we separate different QML statements on the same line
+with a semi-colon, or we could have simply put each statement on a new line
+
+ \code
+ Text {
+ text: "<h2>Hello World</h2>"; color: "darkgreen"
+ x: 100; y:100
+ }
+ \endcode
+
+Not only did we reposition the text, but the text was altered by adding
+HTML tags to change the font size. The text color was also changed from the
+default black to dark green by using a standard string for the color's SVG
+name.
+
+We could also have used a hexadecimal string for the RGB (red-green-blue, as
+#rrggbb) values of the color similar to the method used in HTML. For
+example, mostly blue with a green tint,
+
+ \code
+ Text {
+ text: "<h1>Hello world again</h1>"
+ color: "#002288"
+ x: 100; y: 100
+ }
+ \endcode
+
+All of these changes occurred within the \l Text object which is the scope
+of these property changes.
+
+Other objects may use the information but it belongs to the element where
+the property has been defined.
+
+
+\section1 Images
+
+To add an image to our little application we use the \l Image element. An
+\l Image uses a path to an image file, and has properties to control
+the aspect ratio, the image size, to tile the area amongst others. The
+source of the image, the path to the file, is a URL. Therefore the file can
+be local: \e {mydir/myimage1.png}. Or it can be remote:
+\e {"http://www.example.com/images/myimage1.png"}.
+
+ \code
+ Image {
+ source: "images/qt-logo.png"
+ }
+ \endcode
+
+This displays the image, as we would expect, at the top left of the window.
+The position of the default x = 0, y = 0 coordinate. The example here uses
+a PNG file, but it could have been one of various supported formats,
+including JPG and GIF.
+
+Let us reposition the image and enlarge it. Place it at the same 'x' offset
+as the "Hello world again" text, but put it another 50 pixels below the
+text, also make it 150 by 150 pixels in size,
+
+ \code
+ Image {
+ source: "images/qt-logo.png"
+ x: 100; y: 150
+ width: 150; height: 150
+ }
+ \endcode
+
+Adding the Hello World example, with the text and the image example we can
+write a simple piece of QML that starts to look a bit better.
+
+ \code
+ import Qt 4.7
+
+ Rectangle {
+ id: myRectangle
+ width: 500
+ height: 400
+
+ // A light gray background
+ color: "lightgray"
+
+ // Position and color some text
+ Text {
+ text: "<h1>Hello world again</h1>"
+ color: "darkgreen"
+ x: 100; y: 100
+ }
+
+ // Using the opportunity to resize the image.
+ Image {
+ source: "images/qt-logo.png"
+ x: 100; y: 150
+ width: 150; height: 150
+ }
+
+ }
+ \endcode
+
+The result is still quite simple
+
+\image qml-intro-helloa.png
+
+
+\section1 Anchors: Aligning Elements
+
+Using absolute positioning, such as saying x = 100 and y = 150, works well
+until the user or developer stretches or increases the size of the window.
+Then the positions need to be recalculated. What would be nice would be a
+relative means of positioning of objects in a window or rectangle. For
+example, we want to place an image at the bottom of a rectangle, we would
+like to specify the image's location as the 'bottom of the window', not a
+specific coordinate. We can do this with the anchors property, which
+objects inherit from Item.
+
+The anchors property is really a property group. It is a collection of
+related properties. It has properties within it which can be used by means
+of the dot notation.
+
+The dot notation uses object \c{id}s and property names to use a particular
+object or property. Say I have a rectangle r1, which contains a rectangle
+r2, which contains an Item item1, which has an 'x' property I want to
+change. I just use the dot notation to identify it: r1.r2.item1.x
+
+If we want to position an image at the bottom of the rectangle it is
+inside. I have to specify that the bottom of the image is also at the
+bottom of the rectangle
+
+ \code
+ import Qt 4.7
+
+ Rectangle {
+ id: myWin
+ width: 500
+ height: 400
+
+ Image {
+ id: image1
+ source: "images/qt-logo.png"
+ width: 150; height: 150
+ anchors.bottom: myWin.bottom
+ }
+ }
+ \endcode
+
+This places the logo at the bottom left of the window.
+
+\image qml-intro-anchors1.png "A simple anchor"
+
+We would like it centered and not touching the bottom of the window, for
+aesthetic reasons. For the centering we use the horizontalCenter property,
+and to prevent the touching of the image to the bottom of the rectangle,
+the bottomMargin property is used. So the new actions for the script are
+
+ \list
+ \o set the bottom of the image (anchors.bottom) to be the bottom of the window
+ \o move the image to be in the horizontal center of the window
+ \o set a margin of 10 pixels so that the image does not touch the bottom window border
+ \endlist
+
+Encoded into QML the script becomes
+
+ \code
+ import Qt 4.7
+
+ Rectangle {
+ id: myWin
+ width: 500
+ height: 400
+
+ Image {
+ id: image1
+ source: "images/qt-logo.png"
+ width: 150; height: 150
+ anchors.bottom: myWin.bottom
+ anchors.horizontalCenter: myWin.horizontalCenter
+ anchors.bottomMargin: 10
+ }
+ }
+ \endcode
+
+
+Run this and resize the window. You will see that now the position of the
+image adjusts during the resize.
+
+\image qml-intro-anchors2.png "Image Centered at the Bottom"
+
+You can also add another object say a block of descriptive text and place
+it above or below the image or to the side. This code places some text just
+above the image
+
+ \code
+ Text {
+ text: "<h2>The Qt Logo</h2>"
+ anchors.bottom: image1.top
+ anchors.horizontalCenter: myWin.horizontalCenter
+ anchors.bottomMargin: 15
+ }
+ \endcode
+
+\image qml-intro-anchors3.png
+
+\note \e anchors is a property group, to be used within the object. When
+referencing these properties from another object we use the property
+directly, instead of saying:
+
+ \code
+ myRectangle.anchors.top // Wrong
+ \endcode
+
+we use
+
+ \code
+ myRectangle.top // Correct
+ \endcode
+
+
+
+
+\section1 Transformations
+
+We can transform a graphical object to get additional effects. Rotate a
+piece of text by 180 degrees to display upside-down text. Rotate an image
+by 90 degrees to lay it on its side. These transformations require
+additonal information.
+
+For rotation, the additional information includes: the origin relative to
+the object being rotated, the axis of rotation, and the angle in degrees to
+rotate the image through in a clockwise direction. The axis does not have
+to be the z-axis, the line between your eyes and the image, it could be
+along the vertical y-axis or the horizontal x-axis. We have three
+dimensions to play with. For simplicity in this example we will rotate
+about the z-axis by 90 degrees in a negative direction, anti-clockwise.
+
+Rotation of text was also suggested. It could also be useful to scale the
+text. We can do both. The \l {Item::transform}{transform} property is a
+\e list of \l Transform elements, so using the list syntax
+
+ \code
+ myList: [ listElement1, listElement2, ... } ]
+ \endcode
+
+we can produce a list of transformations.
+
+The text will be rotated by 45 degrees anti-clockwise and scaled
+vertically by a factor of 1.5 and by 1.2 horizontally.
+
+Using the example above as the basis for this we have,
+
+ \code
+ import Qt 4.7
+
+ Rectangle {
+ id: myWin
+ width: 500
+ height: 400
+
+ Image {
+ id: image1
+ source: "images/qt-logo.png"
+ width: 150; height: 150
+ anchors.bottom: myWin.bottom
+ anchors.horizontalCenter: myWin.horizontalCenter
+ anchors.bottomMargin: 10
+
+ transform: Rotation {
+ origin.x: 75; origin.y: 75
+ axis{ x: 0; y: 0; z:1 } angle: -90
+ }
+
+ }
+
+ Text {
+ text: "<h2>The Qt Logo -- taking it easy</h2>"
+ anchors.bottom: image1.top
+ anchors.horizontalCenter: myWin.horizontalCenter
+ anchors.bottomMargin: 15
+
+ transform: [
+ Scale { xScale: 1.5; yScale: 1.2 } ,
+
+ Rotation {
+ origin.x: 75; origin.y: 75
+ axis{ x: 0; y: 0; z:1 } angle: -45
+ }
+ ]
+ }
+ }
+ \endcode
+
+The code block in \c image1 starting with \c transform specifies that the
+\l {Item::transform}{transform} property will be a Rotation through -90
+degrees, which is anti-clockwise, about the z-axis running through the
+center of the image at (75,75), since the image is 150 x 150 pixels.
+
+The other transformation available is \l Translate. This produces a change
+in position of the item.
+
+\note In a list of transformations the order of the transformations is
+important. In the above example try swapping around the Scale transform with
+the Rotation transform, remember to remove or add the comma. The results are
+acceptable for our little test but not the same.
+
+
+\section1 Animations
+
+Animation in QML is done by animating properties of objects. Properties
+that are numbers, colors, Rectangles, points and directions. In QML these
+are \l {QML Basic Types} named as real, int, color, rect, point, size, and
+vector3d. There are a number of different ways to do animation. Here we
+will look at a few of them.
+
+\section2 Number Animation
+
+Previously we have used a rotation transformation to change the orientation
+of an image. We could easily animate this rotation so that instead of a
+straight rotation counter-clockwise of 90 degrees we could rotate the image
+through a full 360 degrees in an animation. The axis of rotation wont
+change, the position of the center of the image will not change, only the
+angle will change. Therefore, a NumberAnimation of a rotation's angle should
+be enough for the task. If we wish for a simple rotation about the center
+of the image then we can use the \c rotation property that is inherited
+from \l Item. The rotation property is a real number that specifies the
+angle in a clockwise direction for the rotation of the object. Here is the
+code for our animated rotating image.
+
+ \code
+ import Qt 4.7
+
+ Rectangle {
+ id: mainRec
+ width: 600
+ height: 400
+
+ Image {
+ id: image1
+ source: "images/qt-logo.png"
+ x: 200; y: 100
+ width: 100; height: 100
+
+ // Animate a rotation
+ transformOrigin: Item.Center
+ NumberAnimation on rotation {
+ from: 0; to: 360
+ duration: 2000
+ loops: Animation.Infinite
+ }
+ }
+ }
+ \endcode
+
+The \c {transformOrigin: Item.Center} is redundant since this is the default
+axis of rotation anyway. But if you change \c Center to \c BottomRight you
+will see an interesting variation.
+
+Also if instead the \l Rotation transformation had been used then we would have
+more control over the various parameters. We could vary the axis, to be not
+just a different offset from the z-axis but along the y-axis, x-axis or
+combination. For example, if the task had been to animate the rotation
+about the y-axis passing through the center of the image then the following
+code would do it.
+
+ \code
+ import Qt 4.7
+
+ Rectangle {
+ id: mainRec
+ width: 600
+ height: 400
+
+ Image {
+ id: image1
+ source: "images/qt-logo.png"
+ x: 200; y: 100
+ width: 100; height: 100
+
+ // Animate a rotation
+ transform: Rotation {
+ origin.x: 50; origin.y: 50; axis {x:0; y:1; z:0} angle:0
+ NumberAnimation on angle {
+ from: 0; to: 360;
+ duration: 3000;
+ loops: Animation.Infinite
+ }
+ }
+ }
+ }
+ \endcode
+
+Here there is a rectangle 600 by 400 pixels. Placed within that rectangle
+is an image 100 by 100 pixels. It is rotated about the center of the image
+about the y-axis so that it looks as if it is rotating about an invisible
+vertical string holding it up. The time it takes to complete the rotation is 3
+seconds (3,000 milliseconds). The NumberAnimation is applied to the angle
+taking it from 0 (no change) to 360 degrees, back where it started.
+Strictly speaking it isn't necessary to go from 0 to 360 since the same
+location is duplicated, but it makes it easier to read in this example and
+it has no visible effect on the animation. The number of loops that the
+animation will execute is set to \c {Animation.Infinite} which means that the
+animation is in an endless loop.
+
+To see an interesting variation. Change the axis to \c {axis { x:1; y:1; z:1
+}}. This is a line coming from the center of the image downwards to the
+right and out of the screen. Although the change is simple the rotation
+seems complex.
+
+\section2 Sequential Animation
+
+For a more complex animation we will need two images. The first image will
+be placed at the center of a window (Rectangle) and the second image will
+be at the upper left of the window. The animation will move the second
+image from the top left of the window to the bottom right. In doing so we
+will be animating the position and the size of the image.
+
+First create two images
+
+ \code
+ import Qt 4.7
+
+ Rectangle {
+ id: mainRec
+ width: 600
+ height: 400
+ z: 0
+
+ Image {
+ id: image1
+ source: "images/qt-logo.png"
+ x: 20; y: 20 ; z: 1
+ width: 100; height: 100
+ }
+
+ Image {
+ id: image2
+ source: "images/qt-logo.png"
+ width: 100; height: 100
+ x: (mainRec.width - 100)/2; y: (mainRec.height - 100)/2
+ z: 2
+ }
+ }
+ \endcode
+
+We will add to 'image1' a SequentialAnimation from x = 20 to the target of
+x = 450. The 'from' values will be used because we will be repeating the
+animation, so the object needs to know where the original position is, both
+x and y. The SequentialAnimation of x will set it to repeat by indicating
+that the number of animation loops is infinite, meaning that the 'loop'
+counter will be set to a value Animation.Infinite that indicates an endless
+cycle. Also there will be a NumberAnimation to vary the numeric property
+between the x values and over a given duration. After the NumberAnimation
+there will be a PauseAnimation that will pause the animation for 500
+milliseconds (half a second) simply for the visual effect.
+
+ \code
+ SequentialAnimation on x {
+ loops: Animation.Infinite
+ NumberAnimation { from: 20; to: 450; easing.type: "InOutQuad";
+duration: 2000 }
+ PauseAnimation { duration: 500 }
+ }
+ \endcode
+
+A similar block of code is written for the animation of the 'y' value of
+the position.
+
+We will also animate the scale of the object, so as it goes from top left
+to bottom right of the window it will become smaller until about midway,
+and then become larger. To complete the animation we will set the 'z'
+values of the images. 'z' is the stacking order, the z-axis effectively
+points out from the screen to your eyes with the default value of 'z' being
+0. So if we set the Rectangle to have z with value zero, just to be sure,
+and image1 to 1 and image2 to 2 then image2 will be in the foreground and
+image1 in the background. When image1 passes image2 it will pass behind it.
+The completed code looks like
+
+ \code
+ Rectangle {
+ id: mainRec
+ width: 600
+ height: 400
+ z: 0
+
+ Image {
+ id: image2
+ source: "images/qt-logo.png"
+ width: 100; height: 100
+ x: (mainRec.width - 100)/2; y: (mainRec.height - 100)/2
+ z: 2
+ }
+
+ Image {
+ id: image1
+ source: "images/qt-logo.png"
+ x: 20; y: 20 ; z: 1
+ width: 100; height: 100
+
+ SequentialAnimation on x {
+ loops: Animation.Infinite
+ NumberAnimation {
+ from: 20; to: 450
+ easing.type: "InOutQuad"; duration: 2000
+ }
+ PauseAnimation { duration: 500 }
+ }
+
+ SequentialAnimation on y {
+ loops: Animation.Infinite
+ NumberAnimation {
+ from: 20; to: 250
+ easing.type: "InOutQuad"; duration: 2000
+ }
+ PauseAnimation { duration: 500 }
+ }
+
+ SequentialAnimation on scale {
+ loops: Animation.Infinite
+ NumberAnimation { from: 1; to: 0.5; duration: 1000 }
+ NumberAnimation { from: 0.5; to: 1; duration: 1000 }
+ PauseAnimation { duration: 500 }
+ }
+ }
+ }
+ \endcode
+
+The \c {easing.type} has many options, expressed as a string. It specifies the
+kind of equation that describes the acceleration of the property value, not
+necessarily position, over time.
+
+For example, \e InOutQuad means that at the start and the end of the animation the
+'velocity' is low but the acceleration or deceleration is high. Much like a car
+accelerating from stop, and decelerating to stop at the end of a journey,
+with the maximum speed being in the middle. Examine the \l {PropertyAnimation::easing.type}
+{easing} documentation and the various graphs that show the effect. The horizontal
+axis, 'progress', can be thought of as time. The vertical axis is the value
+of the particular property.
+
+In discussing animation we need to describe three objects: State, MouseArea
+and Signals. Although independent of the animation elements, animation
+delivers some of the best examples that illustrate these new elements.
+
+
+
+\section2 Animation Summary
+
+\table
+ \header
+ \o Name
+ \o Description
+ \row
+ \o PropertyAnimation
+ \o a property value on a target object is varied to a specified value over a given time.
+
+ \row
+ \o NumberAnimation
+ \o animate a numeric property from one value to another over a given time.
+
+ \row
+ \o PauseAnimation
+ \o results in the task waiting for the specified duration, in milliseconds.
+
+ \row
+ \o SequentialAnimation
+ \o allows us to list in order the animation events we want to occur, first A then B then C and so on.
+
+ \row
+ \o ParallelAnimation
+ \o enables us to run different animations at the same time instead of sequentially.
+
+\endtable
+
+
+
+
+
+\section1 Using States
+
+A state is a defined set of values in the configuration of an object and
+often depends on the previous state. For example, a glass could be in a
+state we call 'HalfFull' if it is being filled with a liquid and has
+reached half of its total capacity. We could also have a state called
+HalfEmpty which is the state that occurs when the amount of liquid drops to
+half of the glass's capacity. Both states represent the same amount of
+liquid, but we consider them different. Likewise, states in a program
+represent not just values but may include how the current values were
+reached.
+
+When a state changes a \e transition occurs. This is an opportunity to make
+changes or take actions that depend on the movement to the new state. For
+example, if we had a scene in the country where the state variable has two
+states "daylight" and "night". Then when the state changes to "night" at
+this transition the sky would be made dark, stars would be shown, the
+countryside would be darkened. And when the state changes to "daylight" the
+opposite changes would be made: the sky is now blue, the scenery is green,
+there is a sun in the sky.
+
+Here is a simple QML program that shows the change of state in the above
+example. We have two rectangles, the top one is the 'sky' and the bottom
+one is the 'ground'. We will animate the change from daylight to night.
+There will be two states, but we only need to define one since 'daylight'
+will be the default state. We will just go to 'night' by clicking and
+holding the left mouse button down, releasing the mouse button will reverse
+the process
+
+ \code
+ import Qt 4.7
+
+ Rectangle {
+ id: mainRectangle
+ width: 600
+ height: 400
+ color: "black"
+
+ Rectangle {
+ id: sky
+ width: 600
+ height: 200
+ y: 0
+ color: "lightblue"
+ }
+
+ Rectangle {
+ id: ground
+ width: 600; height: 200
+ y: 200
+ color: "green"
+ }
+
+ MouseArea {
+ id: mousearea
+ anchors.fill: mainRectangle
+ }
+
+ states: [ State {
+ name: "night"
+ when: mousearea.pressed == true
+ PropertyChanges { target: sky; color: "darkblue" }
+ PropertyChanges { target: ground; color: "black" }
+ },
+ State {
+ name: "daylight"
+ when: mousearea.pressed == false
+ PropertyChanges { target: sky; color: "lightblue" }
+ PropertyChanges { target: ground; color: "green" }
+ }
+ ]
+
+ transitions: [ Transition {
+ from: "daylight"; to: "night"
+ ColorAnimation { duration: 1000 }
+ },
+ Transition {
+ from: "night"; to: "daylight"
+ ColorAnimation { duration: 500 }
+ }
+ ]
+ }
+ \endcode
+
+Several new things appear in this sample. Firstly, we use a \l MouseArea
+element to detect mouse clicks in the \e mainRectangle. Secondly, we use
+the list notation [ thing1 , thing2, ... ] to build a list of states and a
+list of transitions.
+
+\l MouseArea defines a region that will respond to mouse clicks. In this case
+we are only concerned with when the mouse is pressed or not pressed, not
+the particular button or other details. The area of the MouseArea is the
+entire main window, mainRectangle, so that clicking anywhere in this region
+will start the animation. Since we are using the 'pressed' mouse state,
+then the animation will move from 'daylight' to 'night' only while the mouse
+button remains pressed.
+
+When the button is released the 'daylight' state is entered and the
+transition from 'night' to 'daylight' is triggered causing the animation to
+run. The transition specifies the duration in milliseconds of the
+ColorAnimation, while the state specifies the color of the new state.
+
+The PropertyChanges command is the way that we nominate which properties
+will change in a change of state, and what new value the property will
+take. Since, for example, we want the 'sky' region to turn to dark blue and
+the 'ground' region to turn to black for the 'night' state, then the
+rectangles for those regions are the 'target' and the property in the target
+is 'color'.
+
+
+\section1 Signals
+
+Signals are simply events that can be hooked up to actions we want performed.
+In QML they are usually preceded by the word 'on', for example in the animation
+using a MouseArea the signal was \l {MouseArea::onPressed}{onPressed}. If
+you look at the C++ documentation you will see a lot of talk about
+\l {Signals & Slots}{Signals and Slots}. Signals are connected to Slots. The
+signal represents an event and the Slot is the function that does something
+based on that event. You can also have Signals connected to other Signals, so
+that one Signal (event) triggers another Signal (event), and so forth. It is
+nice to know this is what happens beneath the QML layer but not essential for
+using QML.
+
+Most elements do not have Signals associated with them. However, a few like
+the \l Audio element have many signals. Some of the \l Audio signals are
+used to represent events such as when the audio is stopped, play is pressed,
+paused, and reaching the end of the media. They allow the developer to connect,
+ for example, the press of a user interface button (perhaps a MouseArea) to
+ some QML that will handle this event.
+
+
+\section1 Analyzing An Example: Dial Control
+
+In the Qt \e {examples/declarative/ui-components} folder you will find a folder
+\e {dialcontrol} which contains the \e dialcontrol example.
+
+\image qml-dial.png "QML Dial example with Slider"
+
+In essence this small application has a sliding bar that you can slide using
+a mouse, and a graphical dial that responds to the position of the slider.
+
+The code for the example is in two parts: Dial.qml and dialcontrol.qml.
+
+\e {Dial.qml} can be found in the \e content sub-directory. It defines a \c Dial
+component similar to an odometer. Eventually, the example will hook up a slider
+component so that moving the slider will change the position of a needle on the
+dial.
+
+The code for the \c Dial, identified by the name of the file, contains four images
+in overlapping order: the background (numbers and divisions), the shadow of the
+needle, the needle itself, and finally the 'glass' overlay (containing
+transparent layers).
+
+The \c needle_shadow.png image has a \l Rotation assigned to the \e transform
+attribute of the \l Image. The rotation is set to match the angle of the needle
+image angle value \e {needleRotation.angle}. Both the needle and the
+needle_shadow have the same default \e x and \e y values but the rotation origin
+for the needle is slightly different so that a shadow will be evident as the
+needle moves.
+
+\snippet ../../examples/declarative/ui-components/dialcontrol/content/Dial.qml needle_shadow
+
+And the needle
+
+\snippet ../../examples/declarative/ui-components/dialcontrol/content/Dial.qml needle
+
+The final image is the overlay which simply has a position defined.
+
+\snippet ../../examples/declarative/ui-components/dialcontrol/content/Dial.qml overlay
+
+\e {dialcontrol.qml} in the \e {examples/declarative/ui-components/dialcontrol} directory is the
+main file of the example. It defines the visual environment that the Dial
+will fit into. Because the \e Dial component and the images live in the \e
+content sub-directory we will have to import this into \e dialcontrol.qml. So the
+start of the file looks like
+
+ \code
+ import Qt 4.7
+ import "content"
+ \endcode
+
+The visual space is bound by a 300 by 300 pixel \l Rectangle which is given
+a gray color. Inside this rectangle is our component \e Dial and a \l Rectangle.
+Inside the rectangle called 'container' is another rectangle with the
+interesting name 'slider'.
+
+\snippet ../../examples/declarative/ui-components/dialcontrol/dialcontrol.qml 0
+
+The Dial component, named 'dial, is \e anchored to the center of the main
+rectangle. The \c value attribute of 'dial' is set to a value based on the
+'slider' horizontal position and the 'container' width. So changes to the
+'slider' position will change the Dial \c value which is used in Dial to compute
+the rotation of the needle image. Notice this piece of code in Dial where
+the change in \c value modifies the position of the needle.
+
+ \code
+ SpringFollow on angle {
+ spring: 1.4
+ damping: .15
+ to: Math.min(Math.max(-130, root.value*2.6 - 130), 133)
+ }
+ \endcode
+
+This is part of the \c needleRotation that rotates the needle and causes the
+rotation of its shadow. \l SpringFollow is an element that modifies the value
+of that rotation angle \e to and mimics the oscillatory behavior of a spring,
+with the appropriate \e spring constant to control the acceleration and the \e
+damping to control how quickly the effect dies away.
+
+The 'container' is light gray with a color gradient defined using
+\l GradientStop. The gradient is applied vertically. If you need a horizontal
+gradient then you could apply the vertical gradient and then rotate the item
+by 90 degrees.
+
+The 'slider' is dark gray and also has a vertical color gradient. The most
+important thing about the 'slider' is that it has a MouseArea defined, which
+specifies a \c {drag.target} on itself along the X-axis. With minimum
+and maximum values on the X-axis defined. So we can click on the 'slider' and
+drag it left and right within the confines of the 'container'. The motion of
+the 'slider' will then change the \c value attribute in \e Dial as discussed
+already.
+
+Also notice the use of a \c radius value for a rectangle. This produces rounded
+corners. That is how the 'container' and 'slider' are displayed with a
+pleasant rounded look.
+
+
+
+*/
+
+
+
diff --git a/doc/src/declarative/qmlruntime.qdoc b/doc/src/declarative/qmlruntime.qdoc
index a724c7d1e0..66b4b2bf76 100644
--- a/doc/src/declarative/qmlruntime.qdoc
+++ b/doc/src/declarative/qmlruntime.qdoc
@@ -42,19 +42,18 @@
/*!
\page qmlruntime.html
\title Qt Declarative UI Runtime
- \keyword qml runtime
+ \keyword QML Viewer
\ingroup qttools
This page documents the \e{Declarative UI Runtime} for the Qt GUI
- toolkit, and the \c qml executable which can be used to run apps
- written for the runtime. The \c qml executable reads a declarative user interface definition
- (\c .qml) file and displays the user interface it describes.
+ toolkit, and the \QQV which can be used to run apps
+ written for the runtime. The \QQV reads a declarative
+ user interface definition (\c .qml) file and displays the user interface it describes.
- QML is a runtime, as you can run plain qml files which pull in their required modules.
+ QML is a runtime, as you can run plain QML files which pull in their required modules.
To run apps with the QML runtime, you can either start the runtime
- from your own application (using a QDeclarativeView) or with the simple \c qml application.
- The \c qml application can be
- installed in a production environment, assuming that it is not already
+ from your own application (using a QDeclarativeView) or with the simple \QQV.
+ The launcher can be installed in a production environment, assuming that it is not already
present in the system. It is generally packaged alongside Qt.
To deploy an application using the QML runtime, you have two options:
@@ -62,18 +61,18 @@
\list
\o Write your own Qt application including a QDeclarative view and deploy it the same as
any other Qt application (not discussed further on this page), or
- \o Write a main QML file for your application, and run your application using the included \c qml tool.
+ \o Write a main QML file for your application, and run your application using the included \QQV.
\endlist
- To run an application with the \c qml tool, pass the filename as an argument:
+ To run an application with the \QQV, pass the filename as an argument:
\code
- qml myQmlFile.qml
+ qmlviewer myQmlFile.qml
\endcode
- Deploying a QML application via the \c qml executable allows for QML only deployments, but can also
+ Deploying a QML application via the \QQV allows for QML only deployments, but can also
include custom C++ modules just as easily. Below is an example of how you might structure
- a complex application deployed via the qml runtime, it is a listing of the files that would
+ a complex application deployed via the QML runtime, it is a listing of the files that would
be included in the deployment package.
\code
@@ -93,8 +92,8 @@
as the appropriate module file is chosen based on platform naming conventions. The C++
modules must contain a QDeclarativeExtentionPlugin subclass.
- The application would be executed either with your own application, the command 'qml MyApp.qml' or by
- opening the qml file if your system has the \c qml executable registered as the handler for qml files. The MyApp.qml file would have access
+ The application would be executed either with your own application, the command 'qmlviewer MyApp.qml' or by
+ opening the file if your system has the \QQV registered as the handler for QML files. The MyApp.qml file would have access
to all of the deployed types using the import statements such as the following:
\code
@@ -102,19 +101,36 @@
import "OtherModule" 1.0 as Other
\endcode
- \section1 \c qml application functionality
- The \c qml application implements some additional functionality to help it serve the role of a launcher
- for myriad applications. If you implement your own launcher application, you may also wish to reimplement
+ \section1 Qt QML Viewer functionality
+ The \QQV implements some additional functionality to help it supporting
+ myriad applications. If you implement your own application, you may also wish to reimplement
some or all of this functionality. However, much of this functionality is intended to aid the prototyping of
- qml applications and may not be necessary for a deployed application.
+ QML applications and may not be necessary for a deployed application.
\section2 Options
- When run with the \c -help option, qml shows available options.
+ When run with the \c -help option, \c qmlviewer shows available options.
+
+ \section2 Translations
+
+ When the launcher loads an initial QML file, it will install a translation file from
+ a "i18n" subdirectory relative to that initial QML file. The actual translation file
+ loaded will be according to the system locale and have the form
+ "qml_<language>.qm", where <language> is a two-letter ISO 639 language,
+ such as "qml_fr.qm", optionally followed by an underscore and an uppercase two-letter ISO 3166 country
+ code, such as "qml_fr_FR.qm" or "qml_fr_CA.qm".
+
+ Such files can be created using \l{Qt Linguist}.
+
+ See the \l{scripting.html#internationalization}{Qt Internationalization} documentation for information about how to make
+ the JavaScript in QML files use translatable strings.
+
+ Additionally, the launcher will load translation files specified on the
+ command line via the \c -translation option.
\section2 Dummy Data
- The secondary use of the qml runtime is to allow QML files to be viewed with
+ The secondary use of the launcher is to allow QML files to be viewed with
dummy data. This is useful when prototyping the UI, as the dummy data can
be later replaced with actual data and bindings from a C++ plugin.
To provide dummy data: create a directory called "dummydata" in the same directory as
@@ -136,19 +152,27 @@
\section2 Runtime Object
- All applications using the qmlruntime will have access to the 'runtime'
+ All applications using the launcher will have access to the \c runtime
property on the root context. This property contains several pieces of
information about the runtime environment of the application.
\section3 Screen Orientation
- A special piece of dummy data which is integrated into the runtime is
+ A special piece of dummy data which is integrated into the launcher is
a simple orientation property. The orientation can be set via the
- settings menu in the application, or by pressing Ctrl+T to toggle it.
+ settings menu in the application, or by pressing Ctrl+T to rotate it.
+
+ To use this from within your QML file, access \c runtime.orientation,
+ which can be one of the following values:
+
+ \list
+ \o \c Orientation.Portrait
+ \o \c Orientation.Landscape
+ \o \c Orientation.PortraitInverted (Portrait orientation, upside-down)
+ \o \c Orientation.LandscapeInverted (Landscape orientation, upside-down)
+ \endlist
- To use this from within your QML file, access runtime.orientation,
- which can be either Orientation.Landscape or Orientation.Portrait and which can be bound to in your
- application. An example is below:
+ These values can be bound to in your application. For example:
\code
Item {
@@ -156,13 +180,13 @@
}
\endcode
- This allows your application to respond to the orientation of the screen changing. The runtime
+ This allows your application to respond to changes in the screen's orientation. The launcher
will automatically update this on some platforms (currently the N900 only) to match the physical
screen's orientation. On other plaforms orientation changes will only happen when explictly asked for.
\section3 Window Active
- The runtime.isActiveWindow property tells whether the main window of the qml runtime is currently active
+ The \c runtime.isActiveWindow property tells whether the main window of the launcher is currently active
or not. This is especially useful for embedded devices when you want to pause parts of your application,
including animations, when your application loses focus or goes to the background.
diff --git a/doc/src/declarative/qtbinding.qdoc b/doc/src/declarative/qtbinding.qdoc
index d024ff24fa..784c59ad88 100644
--- a/doc/src/declarative/qtbinding.qdoc
+++ b/doc/src/declarative/qtbinding.qdoc
@@ -97,17 +97,17 @@ The following example shows how to expose a background color to a QML file throu
\row
\o
\c {// main.cpp}
-\snippet doc/src/declarative/snippets/qtbinding/contextproperties/main.cpp 0
+\snippet doc/src/snippets/declarative/qtbinding/contextproperties/main.cpp 0
\o
\c {// main.qml}
-\snippet doc/src/declarative/snippets/qtbinding/contextproperties/main.qml 0
+\snippet doc/src/snippets/declarative/qtbinding/contextproperties/main.qml 0
\endtable
Or, if you want \c main.cpp to create the component without showing it in a QDeclarativeView, you could create an instance of QDeclarativeContext using QDeclarativeEngine::rootContext() instead:
-\snippet doc/src/declarative/snippets/qtbinding/contextproperties/main.cpp 1
+\snippet doc/src/snippets/declarative/qtbinding/contextproperties/main.cpp 1
Context properties work just like normal properties in QML bindings - if the \c backgroundColor
context property in this example was changed to red, the component object instances would
@@ -135,15 +135,15 @@ allow QML to set values.
The following example creates a \c CustomPalette object, and sets it as the \c palette context
property.
-\snippet doc/src/declarative/snippets/qtbinding/custompalette/custompalette.h 0
+\snippet doc/src/snippets/declarative/qtbinding/custompalette/custompalette.h 0
-\snippet doc/src/declarative/snippets/qtbinding/custompalette/main.cpp 0
+\snippet doc/src/snippets/declarative/qtbinding/custompalette/main.cpp 0
The QML that follows references the palette object, and its properties, to set the appropriate
background and text colors. When the window is clicked, the palette's text color is changed, and
the window text will update accordingly.
-\snippet doc/src/declarative/snippets/qtbinding/custompalette/main.qml 0
+\snippet doc/src/snippets/declarative/qtbinding/custompalette/main.qml 0
To detect when a C++ property value - in this case the \c CustomPalette's \c text property -
changes, the property must have a corresponding NOTIFY signal. The NOTIFY signal specifies a signal
@@ -185,12 +185,12 @@ This example toggles the "Stopwatch" object on/off when the MouseArea is clicked
\row
\o
\c {// main.cpp}
-\snippet doc/src/declarative/snippets/qtbinding/stopwatch/stopwatch.h 0
-\snippet doc/src/declarative/snippets/qtbinding/stopwatch/main.cpp 0
+\snippet doc/src/snippets/declarative/qtbinding/stopwatch/stopwatch.h 0
+\snippet doc/src/snippets/declarative/qtbinding/stopwatch/main.cpp 0
\o
\c {// main.qml}
-\snippet doc/src/declarative/snippets/qtbinding/stopwatch/main.qml 0
+\snippet doc/src/snippets/declarative/qtbinding/stopwatch/main.qml 0
\endtable
@@ -258,16 +258,21 @@ QML content can be loaded from \l {The Qt Resource System} using the \e qrc: URL
For example:
\c [project/example.qrc]
-\quotefile doc/src/declarative/snippets/qtbinding/resources/example.qrc
+\quotefile doc/src/snippets/declarative/qtbinding/resources/example.qrc
\c [project/project.pro]
-\quotefile doc/src/declarative/snippets/qtbinding/resources/resources.pro
+\quotefile doc/src/snippets/declarative/qtbinding/resources/resources.pro
\c [project/main.cpp]
-\snippet doc/src/declarative/snippets/qtbinding/resources/main.cpp 0
+\snippet doc/src/snippets/declarative/qtbinding/resources/main.cpp 0
\c [project/main.qml]
-\snippet doc/src/declarative/snippets/qtbinding/resources/main.qml 0
+\snippet doc/src/snippets/declarative/qtbinding/resources/main.qml 0
+Note that the resource system cannot be accessed from QML directly. If the main QML file is
+loaded as a resource, all files specifed as relative paths in QML will also be loaded from
+the resource system. Using the resource system is completely transparent to the QML layer.
+This also means that if the main QML file is not loaded as a resource then files in the resource
+system cannot be accessed from QML.
*/
diff --git a/doc/src/declarative/qtdeclarative.qdoc b/doc/src/declarative/qtdeclarative.qdoc
index 670a218425..f7cb722209 100644
--- a/doc/src/declarative/qtdeclarative.qdoc
+++ b/doc/src/declarative/qtdeclarative.qdoc
@@ -62,7 +62,7 @@
\endcode
For more information on the Qt Declarative module, see the
- \l{declarativeui.html}{Declarative UI} documentation.
+ \l{declarativeui.html}{Qt Quick} documentation.
*/
@@ -112,7 +112,7 @@
Returns the QML type id.
- \sa qmlRegisterTypeNotAvailable
+ \sa qmlRegisterTypeNotAvailable()
*/
/*!
@@ -147,7 +147,7 @@ fun.qml: Get back to work, slacker!
Without this, a generic "Game is not a type" message would be given.
- \sa qmlRegisterUncreatableType
+ \sa qmlRegisterUncreatableType()
*/
/*!
diff --git a/doc/src/declarative/snippets/integrating/graphicswidgets/bluecircle.h b/doc/src/declarative/snippets/integrating/graphicswidgets/bluecircle.h
deleted file mode 100644
index 73d66b75f5..0000000000
--- a/doc/src/declarative/snippets/integrating/graphicswidgets/bluecircle.h
+++ /dev/null
@@ -1,55 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-//![0]
-#include <QGraphicsWidget>
-#include <QPainter>
-
-class BlueCircle : public QGraphicsWidget
-{
- Q_OBJECT
-public:
- void paint(QPainter *painter, const QStyleOptionGraphicsItem *, QWidget *)
- {
- painter->setPen(QColor(Qt::blue));
- painter->drawEllipse(0, 0, size().width(), size().height());
- }
-};
-//![0]
diff --git a/doc/src/declarative/snippets/integrating/graphicswidgets/graphicswidgets.pro b/doc/src/declarative/snippets/integrating/graphicswidgets/graphicswidgets.pro
deleted file mode 100644
index 21c8a37f13..0000000000
--- a/doc/src/declarative/snippets/integrating/graphicswidgets/graphicswidgets.pro
+++ /dev/null
@@ -1,13 +0,0 @@
-TEMPLATE = lib
-CONFIG += qt plugin
-QT += declarative
-
-HEADERS += redsquare.h \
- bluecircle.h
-
-SOURCES += shapesplugin.cpp
-
-DESTDIR = lib
-OBJECTS_DIR = tmp
-MOC_DIR = tmp
-
diff --git a/doc/src/declarative/snippets/integrating/graphicswidgets/main.qml b/doc/src/declarative/snippets/integrating/graphicswidgets/main.qml
deleted file mode 100644
index ffcf79de31..0000000000
--- a/doc/src/declarative/snippets/integrating/graphicswidgets/main.qml
+++ /dev/null
@@ -1,32 +0,0 @@
-import Qt 4.7
-import Qt.widgets 4.7
-
-Rectangle {
- width: 200
- height: 200
-
- RedSquare {
- id: square
- width: 80
- height: 80
- }
-
- BlueCircle {
- anchors.left: square.right
- width: 80
- height: 80
- }
-
- QGraphicsWidget {
- anchors.top: square.bottom
- size.width: 80
- size.height: 80
- layout: QGraphicsLinearLayout {
- LayoutItem {
- preferredSize: "100x100"
- Rectangle { color: "yellow"; anchors.fill: parent }
- }
- }
- }
-}
-
diff --git a/doc/src/declarative/snippets/integrating/graphicswidgets/qmldir b/doc/src/declarative/snippets/integrating/graphicswidgets/qmldir
deleted file mode 100644
index f94dad2a65..0000000000
--- a/doc/src/declarative/snippets/integrating/graphicswidgets/qmldir
+++ /dev/null
@@ -1 +0,0 @@
-plugin graphicswidgets lib
diff --git a/doc/src/declarative/snippets/integrating/graphicswidgets/redsquare.h b/doc/src/declarative/snippets/integrating/graphicswidgets/redsquare.h
deleted file mode 100644
index 3050662544..0000000000
--- a/doc/src/declarative/snippets/integrating/graphicswidgets/redsquare.h
+++ /dev/null
@@ -1,54 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-//![0]
-#include <QGraphicsWidget>
-#include <QPainter>
-
-class RedSquare : public QGraphicsWidget
-{
- Q_OBJECT
-public:
- void paint(QPainter *painter, const QStyleOptionGraphicsItem *, QWidget *)
- {
- painter->fillRect(0, 0, size().width(), size().height(), QColor(Qt::red));
- }
-};
-//![0]
diff --git a/doc/src/declarative/snippets/integrating/graphicswidgets/shapesplugin.cpp b/doc/src/declarative/snippets/integrating/graphicswidgets/shapesplugin.cpp
deleted file mode 100644
index 4c18ef371f..0000000000
--- a/doc/src/declarative/snippets/integrating/graphicswidgets/shapesplugin.cpp
+++ /dev/null
@@ -1,61 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-//![0]
-#include "redsquare.h"
-#include "bluecircle.h"
-
-#include <QtDeclarative/QDeclarativeExtensionPlugin>
-#include <QtDeclarative/qdeclarative.h>
-
-class ShapesPlugin : public QDeclarativeExtensionPlugin
-{
- Q_OBJECT
-public:
- void registerTypes(const char *uri) {
- qmlRegisterType<RedSquare>(uri, 1, 0, "RedSquare");
- qmlRegisterType<BlueCircle>(uri, 1, 0, "BlueCircle");
- }
-};
-
-#include "shapesplugin.moc"
-
-Q_EXPORT_PLUGIN2(shapesplugin, ShapesPlugin);
-//![0]
diff --git a/doc/src/declarative/snippets/qtbinding/contextproperties/main.qml b/doc/src/declarative/snippets/qtbinding/contextproperties/main.qml
deleted file mode 100644
index 1053f7337d..0000000000
--- a/doc/src/declarative/snippets/qtbinding/contextproperties/main.qml
+++ /dev/null
@@ -1,15 +0,0 @@
-//![0]
-import Qt 4.7
-
-Rectangle {
- width: 300
- height: 300
-
- color: backgroundColor
-
- Text {
- anchors.centerIn: parent
- text: "Hello Yellow World!"
- }
-}
-//![0]
diff --git a/doc/src/declarative/snippets/qtbinding/custompalette/main.qml b/doc/src/declarative/snippets/qtbinding/custompalette/main.qml
deleted file mode 100644
index f1a3b4f8c0..0000000000
--- a/doc/src/declarative/snippets/qtbinding/custompalette/main.qml
+++ /dev/null
@@ -1,22 +0,0 @@
-//![0]
-import Qt 4.7
-
-Rectangle {
- width: 240
- height: 320
- color: palette.background
-
- Text {
- anchors.centerIn: parent
- color: palette.text
- text: "Click me to change color!"
- }
-
- MouseArea {
- anchors.fill: parent
- onClicked: {
- palette.text = "blue";
- }
- }
-}
-//![0]
diff --git a/doc/src/declarative/snippets/qtbinding/resources/main.qml b/doc/src/declarative/snippets/qtbinding/resources/main.qml
deleted file mode 100644
index dfe923f84a..0000000000
--- a/doc/src/declarative/snippets/qtbinding/resources/main.qml
+++ /dev/null
@@ -1,7 +0,0 @@
-//![0]
-import Qt 4.7
-
-Image {
- source: "images/background.png"
-}
-//![0]
diff --git a/doc/src/declarative/snippets/qtbinding/stopwatch/main.qml b/doc/src/declarative/snippets/qtbinding/stopwatch/main.qml
deleted file mode 100644
index 2efa542d78..0000000000
--- a/doc/src/declarative/snippets/qtbinding/stopwatch/main.qml
+++ /dev/null
@@ -1,18 +0,0 @@
-//![0]
-import Qt 4.7
-
-Rectangle {
- width: 300
- height: 300
-
- MouseArea {
- anchors.fill: parent
- onClicked: {
- if (stopwatch.isRunning())
- stopwatch.stop()
- else
- stopwatch.start();
- }
- }
-}
-//![0]
diff --git a/doc/src/declarative/tutorial.qdoc b/doc/src/declarative/tutorial.qdoc
index 1a93d05b45..75c0f851ab 100644
--- a/doc/src/declarative/tutorial.qdoc
+++ b/doc/src/declarative/tutorial.qdoc
@@ -57,10 +57,10 @@ The tutorial's source code is located in the $QTDIR/examples/declarative/tutoria
Tutorial chapters:
-\list
-\o \l {QML Tutorial 1 - Basic Types}
-\o \l {QML Tutorial 2 - QML Component}
-\o \l {QML Tutorial 3 - States and Transitions}
+\list 1
+\o \l {QML Tutorial 1 - Basic Types}{Basic Types}
+\o \l {QML Tutorial 2 - QML Components}{QML Components}
+\o \l {QML Tutorial 3 - States and Transitions}{States and Transitions}
\endlist
*/
@@ -86,7 +86,7 @@ Here is the QML code for the application:
\section2 Import
First, we need to import the types that we need for this example. Most QML files will import the built-in QML
-types (like \l{Rectangle}, \l{Image}, ...) that come with Qt with:
+types (like \l{Rectangle}, \l{Image}, ...) that come with Qt, using:
\snippet examples/declarative/tutorials/helloworld/tutorial1.qml 3
@@ -95,7 +95,7 @@ types (like \l{Rectangle}, \l{Image}, ...) that come with Qt with:
\snippet examples/declarative/tutorials/helloworld/tutorial1.qml 1
We declare a root element of type \l{Rectangle}. It is one of the basic building blocks you can use to create an application in QML.
-We give it an \c{id} to be able to refer to it later. In this case, we call it \e page.
+We give it an \c{id} to be able to refer to it later. In this case, we call it "page".
We also set the \c width, \c height and \c color properties.
The \l{Rectangle} element contains many other properties (such as \c x and \c y), but these are left at their default values.
@@ -103,15 +103,16 @@ The \l{Rectangle} element contains many other properties (such as \c x and \c y)
\snippet examples/declarative/tutorials/helloworld/tutorial1.qml 2
-We add a \l Text element as a child of our root element that will display the text 'Hello world!'.
+We add a \l Text element as a child of the root Rectangle element that displays the text 'Hello world!'.
The \c y property is used to position the text vertically at 30 pixels from the top of its parent.
-The \c font.pointSize and \c font.bold properties are related to fonts and use the \l{dot properties}{dot notation}.
-
The \c anchors.horizontalCenter property refers to the horizontal center of an element.
In this case, we specify that our text element should be horizontally centered in the \e page element (see \l{anchor-layout}{Anchor-based Layout}).
+The \c font.pointSize and \c font.bold properties are related to fonts and use the \l{dot properties}{dot notation}.
+
+
\section2 Viewing the example
To view what you have created, run the \l{Qt Declarative UI Runtime}{qml} tool (located in the \c bin directory) with your filename as the first argument.
@@ -124,7 +125,7 @@ bin/qml $QTDIR/examples/declarative/tutorials/helloworld/tutorial1.qml
/*!
\page qml-tutorial2.html
-\title QML Tutorial 2 - QML Component
+\title QML Tutorial 2 - QML Components
\contentspage QML Tutorial
\previouspage QML Tutorial 1 - Basic Types
\nextpage QML Tutorial 3 - States and Transitions
@@ -134,10 +135,10 @@ This chapter adds a color picker to change the color of the text.
\image declarative-tutorial2.png
Our color picker is made of six cells with different colors.
-To avoid writing the same code multiple times, we first create a new \c Cell component.
+To avoid writing the same code multiple times for each cell, we create a new \c Cell component.
A component provides a way of defining a new type that we can re-use in other QML files.
-A QML component is like a black-box and interacts with the outside world through properties, signals and slots and is generally
-defined in its own QML file (for more details, see \l {Defining new Components}).
+A QML component is like a black-box and interacts with the outside world through properties, signals and functions and is generally
+defined in its own QML file. (For more details, see \l {Defining new Components}).
The component's filename must always start with a capital letter.
Here is the QML code for \c Cell.qml:
@@ -157,7 +158,7 @@ An \l Item is the most basic visual element in QML and is often used as a contai
We declare a \c cellColor property. This property is accessible from \e outside our component, this allows us
to instantiate the cells with different colors.
-This property is just an alias to an existing property - the color of the rectangle that compose the cell (see \l{intro-properties}{Properties}).
+This property is just an alias to an existing property - the color of the rectangle that compose the cell (see \l{Adding new properties}).
\snippet examples/declarative/tutorials/helloworld/Cell.qml 5
diff --git a/doc/src/demos/boxes.qdoc b/doc/src/demos/boxes.qdoc
index aeb2513cec..367eb52eb0 100644
--- a/doc/src/demos/boxes.qdoc
+++ b/doc/src/demos/boxes.qdoc
@@ -44,7 +44,7 @@
\title Boxes
This demo shows Qt's ability to combine advanced OpenGL rendering with the
- the \l{The Graphics View Framework}{Graphics View} framework.
+ the \l{Graphics View Framework}.
\image boxes-demo.png
diff --git a/doc/src/deployment/deployment.qdoc b/doc/src/deployment/deployment.qdoc
index 16718f35e2..51974afeac 100644
--- a/doc/src/deployment/deployment.qdoc
+++ b/doc/src/deployment/deployment.qdoc
@@ -775,24 +775,8 @@
assemblies at the
\l {http://msdn.microsoft.com/en-us/library/aa376307.aspx}{MSDN website}.
- There are two ways to include the run time libraries: by bundling them
- directly with your application or by installing them on the end-user's
- system.
-
- To bundle the run time libraries with your application, copy the directory
-
- \snippet doc/src/snippets/code/doc_src_deployment.qdoc 22
-
- into the folder where your executable is, so that you are including a
- \c Microsoft.VC80.CRT directory alongside your application's executable. If
- you are bundling the runtimes and need to deploy plugins as well, you have
- to remove the manifest from the plugins (embedded as a resource) by adding
- the following line to the \c{.pro} file of the plugins you are compiling:
-
- \snippet doc/src/snippets/code/doc_src_deployment.qdoc 23
-
- \warning If you skip the step above, the plugins will not load on some
- systems.
+ The correct way to include the runtime libraries with your application
+ is to ensure that they are installed on the end-user's system.
To install the runtime libraries on the end-user's system, you need to
include the appropriate Visual C++ Redistributable Package (VCRedist)
@@ -823,11 +807,11 @@
In brief the steps are
\list 1
-
+
\o create a folder structure on the development computer that will match the target USB stick directory structure, for example '\\app' and for your dlls, '\\app\\lib'.
-
+
\o on the development computer, from the appropriate 'redist' folder copy over Microsoft.VC80.CRT and Microsoft.VC80.MFC to the directories '\\app' and '\\app\\lib' on the development PC.
-
+
\o xcopy the \\app folder to the target USB stick.
\endlist
diff --git a/doc/src/development/assistant-manual.qdoc b/doc/src/development/assistant-manual.qdoc
index 7d56ea1c22..afc636136a 100644
--- a/doc/src/development/assistant-manual.qdoc
+++ b/doc/src/development/assistant-manual.qdoc
@@ -359,7 +359,7 @@
The \menu{Options} page lets you specify the homepage \QA will display when
you click the \gui{Home} button in \QA's main user interface. You can specify
- the hompage by typing it here or clicking on one of the buttons below the
+ the homepage by typing it here or clicking on one of the buttons below the
textbox. \gui{Current Page} sets the currently displayed page as your home
page while \gui{Restore to default} will reset your home page to the default
home page.
diff --git a/doc/src/development/developing-on-mac.qdoc b/doc/src/development/developing-on-mac.qdoc
index 785858f6be..0c0af797e6 100644
--- a/doc/src/development/developing-on-mac.qdoc
+++ b/doc/src/development/developing-on-mac.qdoc
@@ -41,9 +41,8 @@
/*!
\page developing-on-mac.html
- \title Developing Qt Applications on Mac OS X
- \brief A overview of items to be aware of when developing Qt applications
- on Mac OS X
+ \title Developing Qt Applications for Mac OS X
+ \brief Information for developing Qt applications for Mac OS X
\ingroup platform-specific
\tableofcontents
diff --git a/doc/src/development/qmake-manual.qdoc b/doc/src/development/qmake-manual.qdoc
index 688122b974..c63e96cbc1 100644
--- a/doc/src/development/qmake-manual.qdoc
+++ b/doc/src/development/qmake-manual.qdoc
@@ -347,6 +347,7 @@
\row \o vcapp \o Creates a Visual Studio Project file to build
an application.
\row \o vclib \o Creates a Visual Studio Project file to build a library.
+ \row \o vcsubdirs \o Creates a Visual Studio Solution file to build projects in sub-directories.
\endtable
See the \l{qmake Tutorial} for advice on writing project files for
diff --git a/doc/src/development/rcc.qdoc b/doc/src/development/rcc.qdoc
index 1541e1112b..999408b1a2 100644
--- a/doc/src/development/rcc.qdoc
+++ b/doc/src/development/rcc.qdoc
@@ -60,28 +60,30 @@
\row \o \c{-o} \o \c{file} \o Write output to \c{file} rather than to stdout.
\row \o \c{-name} \o \c{name} \o Create an external initialization
- function with \c{name}.
-
- \row \o \c{-threshold} \o \c{level} \o Specifies a threshold \c{level} (in
- bytes) to use when deciding whether
- to compress a file. If the file is
- smaller than the threshold \c{level},
- it is not compressed. The default
- threshold level is 70 bytes.
-
+ function with \c{name}.
+
+ \row \o \c{-threshold} \o \c{level} \o Specifies a threshold \c{level} (as a
+ percentage) to use when deciding whether to compress
+ a file. If the reduction in the file size is greater than
+ the threshold \c{level}, it is compressed; otherwise,
+ the uncompressed data is stored instead. The default
+ threshold level is 70%, meaning that compressed files
+ which are 30% or less of their original size are
+ stored as compressed data.
+
\row \o \c{-compress} \o \c{level} \o Compress input files to the given
- compression \c{level}, which is an
- integer in the range 1 to 9. Level 1
- does the least compression but is
- fastest. Level 9 does the most
- compression but is slowest. To turn
- off compression, use \c{-no-compress}.
- The default value for \c{level} is -1,
- which means use zlib's default
- compression level.
+ compression \c{level}, which is an
+ integer in the range 1 to 9. Level 1
+ does the least compression but is
+ fastest. Level 9 does the most
+ compression but is slowest. To turn
+ off compression, use \c{-no-compress}.
+ The default value for \c{level} is -1,
+ which means use zlib's default
+ compression level.
\row \o \c{-root} \o \c{path} \o Prefix the resource access path with \c{path}.
- The default is no prefix.
+ The default is no prefix.
\row \o \c{-no-compress} \o \o Disable compression.
diff --git a/doc/src/diagrams/modelview-move-rows-1.sk b/doc/src/diagrams/modelview-move-rows-1.sk
new file mode 100644
index 0000000000..dc90cfb770
--- /dev/null
+++ b/doc/src/diagrams/modelview-move-rows-1.sk
@@ -0,0 +1,271 @@
+##Sketch 1 2
+document()
+layout('A4',0)
+layer('Layer 1',1,1,0,0,(0,0,0))
+fp((1,1,1))
+lw(1)
+ld((5, 5))
+r(30,0,0,-30,220,515)
+fp((1,1,1))
+lw(1)
+r(30,0,0,-30,220,665)
+fp((1,1,1))
+lw(1)
+r(30,0,0,-30,415.038,664.044)
+fp((1,1,1))
+lw(1)
+r(30,0,0,-30,220,425)
+fp((1,1,1))
+lw(1)
+r(30,0,0,-30,415,337.5)
+fp((1,1,1))
+lw(1)
+r(30,0,0,-30,220,605)
+fp((1,1,1))
+lw(1)
+r(30,0,0,-30,415.038,515.177)
+fp((1,1,1))
+lw(1)
+r(30,0,0,-30,220,575)
+fp((1,1,1))
+lw(1)
+r(30,0,0,-30,415.038,485.177)
+fp((0.753,0.753,1))
+lw(1)
+r(30,0,0,-30,277.5,575)
+fp((0.753,0.753,1))
+lw(1)
+r(30,0,0,-30,220,335)
+fp((0.753,0.753,1))
+lw(1)
+r(30,0,0,-30,415,575)
+fp((1,1,1))
+lw(1)
+r(30,0,0,-30,220,545)
+fp((1,1,1))
+lw(1)
+r(30,0,0,-30.262,220,305.262)
+fp((1,1,1))
+lw(1)
+r(30,0,0,-30,415,307.5)
+fp((1,1,1))
+lw(1)
+r(30,0,0,-30,415.038,455.177)
+fp((1,1,1))
+lw(1)
+r(30,0,0,-30,220,635)
+fp((1,1,1))
+lw(1)
+r(30,0,0,-30,415.038,545.177)
+fp((1,1,1))
+lw(1)
+r(30,0,0,-30,220,695)
+fp((1,1,1))
+lw(1)
+r(30,0,0,-30.956,415.038,695)
+fp((1,1,1))
+lw(1)
+r(30,0,0,-30,220,455)
+fp((1,1,1))
+lw(1)
+r(30,0,0,-30,415,367.5)
+fp((0.753,0.753,1))
+lw(1)
+r(30,0,0,-30,277.5,605)
+fp((0.753,0.753,1))
+lw(1)
+r(30,0,0,-30,220,365)
+fp((0.753,0.753,1))
+lw(1)
+r(30,0,0,-30,415,605)
+fp((0.753,0.753,1))
+lw(1)
+r(30,0,0,-30,277.5,635)
+fp((0.753,0.753,1))
+lw(1)
+r(30,0,0,-30,220,395)
+fp((0.753,0.753,1))
+lw(1)
+r(30,0,0,-30,415,635)
+le()
+lw(1)
+r(165,0,0,-230,210,705)
+fp((0,0,0))
+le()
+lw(1)
+Fn('Helvetica')
+Fs(20)
+txt('0',(229.44,673.14))
+fp((0,0,0))
+le()
+lw(1)
+Fn('Helvetica')
+Fs(20)
+txt('0',(424.478,672.184))
+fp((0,0,0))
+le()
+lw(1)
+Fn('Helvetica')
+Fs(20)
+txt('0',(229.44,433.14))
+fp((0,0,0))
+le()
+lw(1)
+Fn('Helvetica')
+Fs(20)
+txt('0',(424.44,345.64))
+fp((0,0,0))
+le()
+lw(1)
+Fn('Helvetica')
+Fs(20)
+txt('1',(229.44,643.14))
+fp((0,0,0))
+le()
+lw(1)
+Fn('Helvetica')
+Fs(20)
+txt('1',(424.478,642.184))
+fp((0,0,0))
+le()
+lw(1)
+Fn('Helvetica')
+Fs(20)
+txt('1',(229.44,403.14))
+fp((0,0,0))
+le()
+lw(1)
+Fn('Helvetica')
+Fs(20)
+txt('1',(424.44,315.64))
+fp((0,0,0))
+le()
+lw(1)
+Fn('Helvetica')
+Fs(20)
+txt('2',(229.44,613.14))
+fp((0.503,0.503,0.503))
+le()
+lw(1)
+Fn('Helvetica')
+Fs(20)
+txt('2',(424.478,523.317))
+fp((0,0,0))
+le()
+lw(1)
+Fn('Helvetica')
+Fs(20)
+txt('2',(286.94,613.14))
+fp((0,0,0))
+le()
+lw(1)
+Fn('Helvetica')
+Fs(20)
+txt('2',(229.44,373.14))
+fp((0,0,0))
+le()
+lw(1)
+Fn('Helvetica')
+Fs(20)
+txt('2',(424.44,613.14))
+fp((0,0,0))
+le()
+lw(1)
+Fn('Helvetica')
+Fs(20)
+txt('3',(229.44,583.14))
+fp((0.503,0.503,0.503))
+le()
+lw(1)
+Fn('Helvetica')
+Fs(20)
+txt('3',(424.478,493.317))
+fp((0,0,0))
+le()
+lw(1)
+Fn('Helvetica')
+Fs(20)
+txt('3',(286.94,583.14))
+fp((0,0,0))
+le()
+lw(1)
+Fn('Helvetica')
+Fs(20)
+txt('3',(229.44,343.14))
+fp((0,0,0))
+le()
+lw(1)
+Fn('Helvetica')
+Fs(20)
+txt('3',(424.44,583.14))
+fp((0,0,0))
+le()
+lw(1)
+Fn('Helvetica')
+Fs(20)
+txt('4',(229.44,553.14))
+fp((0.503,0.503,0.503))
+le()
+lw(1)
+Fn('Helvetica')
+Fs(20)
+txt('4',(424.478,463.317))
+fp((0,0,0))
+le()
+lw(1)
+Fn('Helvetica')
+Fs(20)
+txt('4',(286.94,553.14))
+fp((0,0,0))
+le()
+lw(1)
+Fn('Helvetica')
+Fs(20)
+txt('4',(229.44,313.14))
+fp((0,0,0))
+le()
+lw(1)
+Fn('Helvetica')
+Fs(20)
+txt('4',(424.44,553.14))
+fp((0,0,0))
+le()
+lw(1)
+Fn('Helvetica')
+Fs(20)
+txt('5',(229.44,523.14))
+fp((0,0,0))
+le()
+lw(1)
+Fn('Helvetica')
+Fs(20)
+txt('5',(229.133,283.402))
+fp((0.503,0.503,0.503))
+le()
+lw(1)
+Fn('Helvetica')
+Fs(20)
+txt('5',(424.44,285.64))
+fp((0.503,0.503,0.503))
+le()
+lw(1)
+Fn('Helvetica')
+Fs(20)
+txt('5',(424.478,433.317))
+lw(1.5)
+la2(([(-4.0, 3.0), (2.0, 0.0), (-4.0, -3.0), (-4.0, 3.0)], 1))
+b()
+bs(277.5,635,0)
+bs(252.5,635,0)
+lw(1.5)
+la2(([(-4.0, 3.0), (2.0, 0.0), (-4.0, -3.0), (-4.0, 3.0)], 1))
+b()
+bs(292.5,380,0)
+bs(292.5,542.5,0)
+lw(1.5)
+la2(([(-4.0, 3.0), (2.0, 0.0), (-4.0, -3.0), (-4.0, 3.0)], 1))
+b()
+bs(250,380,0)
+bs(290,380,0)
+guidelayer('Guide Lines',1,0,0,1,(0,0,1))
+grid((0,0,2.5,2.5),1,(0,0,1),'Grid')
diff --git a/doc/src/diagrams/modelview-move-rows-2.sk b/doc/src/diagrams/modelview-move-rows-2.sk
new file mode 100644
index 0000000000..7ddb95e8a6
--- /dev/null
+++ b/doc/src/diagrams/modelview-move-rows-2.sk
@@ -0,0 +1,271 @@
+##Sketch 1 2
+document()
+layout('A4',0)
+layer('Layer 1',1,1,0,0,(0,0,0))
+fp((1,1,1))
+lw(1)
+ld((5, 5))
+r(30,0,0,-30,220,515)
+fp((1,1,1))
+lw(1)
+r(30,0,0,-30,220,665)
+fp((1,1,1))
+lw(1)
+r(30,0,0,-30,415.038,664.044)
+fp((1,1,1))
+lw(1)
+r(30,0,0,-30,220,425)
+fp((1,1,1))
+lw(1)
+r(30,0,0,-30,415,337.5)
+fp((1,1,1))
+lw(1)
+r(30,0,0,-30,220,605)
+fp((1,1,1))
+lw(1)
+r(30,0,0,-30,415,605)
+fp((1,1,1))
+lw(1)
+r(30,0,0,-30,220,575)
+fp((1,1,1))
+lw(1)
+r(30,0,0,-30,415,575)
+fp((0.753,0.753,1))
+lw(1)
+r(30,0,0,-30,275,455)
+fp((0.753,0.753,1))
+lw(1)
+r(30,0,0,-30,220,335)
+fp((0.753,0.753,1))
+lw(1)
+r(30,0,0,-30,415,455)
+fp((1,1,1))
+lw(1)
+r(30,0,0,-30,220,545)
+fp((1,1,1))
+lw(1)
+r(30,0,0,-30,415,545)
+fp((1,1,1))
+lw(1)
+r(29.6927,0,0,-30,220,305.262)
+fp((1,1,1))
+lw(1)
+r(30,0,0,-30,415,307.5)
+fp((1,1,1))
+lw(1)
+r(30,0,0,-30,220,635)
+fp((1,1,1))
+lw(1)
+r(30,0,0,-30,415,635)
+fp((1,1,1))
+lw(1)
+r(30,0,0,-30,220,695)
+fp((1,1,1))
+lw(1)
+r(30,0,0,-30,415.038,694.044)
+fp((1,1,1))
+lw(1)
+r(30,0,0,-30,220,455)
+fp((1,1,1))
+lw(1)
+r(30,0,0,-30,415,367.5)
+fp((0.753,0.753,1))
+lw(1)
+r(30,0,0,-30,275,485)
+fp((0.753,0.753,1))
+lw(1)
+r(30,0,0,-30,220,365)
+fp((0.753,0.753,1))
+lw(1)
+r(30,0,0,-30,415,485)
+fp((0.753,0.753,1))
+lw(1)
+r(30,0,0,-30,275,515)
+fp((0.753,0.753,1))
+lw(1)
+r(30,0,0,-30,220,395)
+fp((0.753,0.753,1))
+lw(1)
+r(30,0,0,-30,415,515)
+le()
+lw(1)
+r(165,0,0,-230,210,705)
+fp((0,0,0))
+le()
+lw(1)
+Fn('Helvetica')
+Fs(20)
+txt('0',(229.44,673.14))
+fp((0,0,0))
+le()
+lw(1)
+Fn('Helvetica')
+Fs(20)
+txt('0',(424.478,672.184))
+fp((0,0,0))
+le()
+lw(1)
+Fn('Helvetica')
+Fs(20)
+txt('0',(229.44,433.14))
+fp((0,0,0))
+le()
+lw(1)
+Fn('Helvetica')
+Fs(20)
+txt('0',(424.44,345.64))
+fp((0,0,0))
+le()
+lw(1)
+Fn('Helvetica')
+Fs(20)
+txt('1',(229.44,643.14))
+fp((0,0,0))
+le()
+lw(1)
+Fn('Helvetica')
+Fs(20)
+txt('1',(424.478,642.184))
+fp((0,0,0))
+le()
+lw(1)
+Fn('Helvetica')
+Fs(20)
+txt('1',(229.44,403.14))
+fp((0,0,0))
+le()
+lw(1)
+Fn('Helvetica')
+Fs(20)
+txt('1',(424.44,315.64))
+fp((0,0,0))
+le()
+lw(1)
+Fn('Helvetica')
+Fs(20)
+txt('2',(229.44,613.14))
+fp((0,0,0))
+le()
+lw(1)
+Fn('Helvetica')
+Fs(20)
+txt('2',(424.44,613.14))
+fp((0,0,0))
+le()
+lw(1)
+Fn('Helvetica')
+Fs(20)
+txt('2',(284.44,493.14))
+fp((0,0,0))
+le()
+lw(1)
+Fn('Helvetica')
+Fs(20)
+txt('2',(229.44,373.14))
+fp((0,0,0))
+le()
+lw(1)
+Fn('Helvetica')
+Fs(20)
+txt('2',(424.44,493.14))
+fp((0,0,0))
+le()
+lw(1)
+Fn('Helvetica')
+Fs(20)
+txt('3',(229.44,583.14))
+fp((0,0,0))
+le()
+lw(1)
+Fn('Helvetica')
+Fs(20)
+txt('3',(424.44,583.14))
+fp((0,0,0))
+le()
+lw(1)
+Fn('Helvetica')
+Fs(20)
+txt('3',(284.44,463.14))
+fp((0,0,0))
+le()
+lw(1)
+Fn('Helvetica')
+Fs(20)
+txt('3',(229.44,343.14))
+fp((0,0,0))
+le()
+lw(1)
+Fn('Helvetica')
+Fs(20)
+txt('3',(424.44,463.14))
+fp((0,0,0))
+le()
+lw(1)
+Fn('Helvetica')
+Fs(20)
+txt('4',(229.44,553.14))
+fp((0,0,0))
+le()
+lw(1)
+Fn('Helvetica')
+Fs(20)
+txt('4',(424.44,553.14))
+fp((0,0,0))
+le()
+lw(1)
+Fn('Helvetica')
+Fs(20)
+txt('4',(284.44,433.14))
+fp((0,0,0))
+le()
+lw(1)
+Fn('Helvetica')
+Fs(20)
+txt('4',(229.44,313.14))
+fp((0,0,0))
+le()
+lw(1)
+Fn('Helvetica')
+Fs(20)
+txt('4',(424.44,433.14))
+fp((0,0,0))
+le()
+lw(1)
+Fn('Helvetica')
+Fs(20)
+txt('5',(229.44,523.14))
+fp((0,0,0))
+le()
+lw(1)
+Fn('Helvetica')
+Fs(20)
+txt('5',(424.44,523.14))
+fp((0,0,0))
+le()
+lw(1)
+Fn('Helvetica')
+Fs(20)
+txt('5',(229.133,283.402))
+fp((0.503,0.503,0.503))
+le()
+lw(1)
+Fn('Helvetica')
+Fs(20)
+txt('5',(424.44,285.64))
+lw(1.5)
+la2(([(-4.0, 3.0), (2.0, 0.0), (-4.0, -3.0), (-4.0, 3.0)], 1))
+b()
+bs(275,515,0)
+bs(252.5,515,0)
+lw(1.5)
+la2(([(-4.0, 3.0), (2.0, 0.0), (-4.0, -3.0), (-4.0, 3.0)], 1))
+b()
+bs(292.5,380,0)
+bs(292.5,422.5,0)
+lw(1.5)
+la2(([(-4.0, 3.0), (2.0, 0.0), (-4.0, -3.0), (-4.0, 3.0)], 1))
+b()
+bs(250,380,0)
+bs(290,380,0)
+guidelayer('Guide Lines',1,0,0,1,(0,0,1))
+grid((0,0,2.5,2.5),1,(0,0,1),'Grid')
diff --git a/doc/src/diagrams/modelview-move-rows-3.sk b/doc/src/diagrams/modelview-move-rows-3.sk
new file mode 100644
index 0000000000..6c28bb905b
--- /dev/null
+++ b/doc/src/diagrams/modelview-move-rows-3.sk
@@ -0,0 +1,136 @@
+##Sketch 1 2
+document()
+layout('A4',0)
+layer('Layer 1',1,1,0,0,(0,0,0))
+G()
+fp((1,1,1))
+lw(1)
+r(30,0,0,-30,211.449,486.649)
+fp((1,1,1))
+lw(1)
+r(30,0,0,-30,336.446,461.649)
+lw(1)
+r(30,0,0,-30,211.449,396.649)
+lw(1)
+r(30,0,0,-30,336.449,401.388)
+fp((1,1,1))
+lw(1)
+r(30,0,0,-30,211.449,366.911)
+fp((1,1,1))
+lw(1)
+r(30,0,0,-30,336.449,371.649)
+fp((1,1,1))
+lw(1)
+r(30,0,0,-30,211.449,516.649)
+fp((1,1,1))
+lw(1)
+r(30,0,0,-30,336.446,491.649)
+lw(1)
+r(30,0,0,-30,211.449,426.649)
+lw(1)
+r(30,0,0,-30,336.449,431.388)
+fp((0.753,0.753,1))
+lw(1)
+r(30,0,0,-30,263.949,516.649)
+fp((0.753,0.753,1))
+lw(1)
+r(30,0,0,-30,336.449,521.649)
+fp((0.753,0.753,1))
+lw(1)
+r(30,0,0,-30,211.449,456.649)
+fp((0,0,0))
+le()
+lw(1)
+Fn('Helvetica')
+Fs(20)
+txt('0',(220.889,494.789))
+fp((0.503,0.503,0.503))
+le()
+lw(1)
+Fn('Helvetica')
+Fs(20)
+txt('0',(345.886,469.789))
+fp((0,0,0))
+le()
+lw(1)
+Fn('Helvetica')
+Fs(20)
+txt('1',(220.889,464.789))
+fp((0.503,0.503,0.503))
+le()
+lw(1)
+Fn('Helvetica')
+Fs(20)
+txt('1',(345.886,439.789))
+fp((0,0,0))
+le()
+lw(1)
+Fn('Helvetica')
+Fs(20)
+txt('2',(273.389,494.789))
+fp((0,0,0))
+le()
+lw(1)
+Fn('Helvetica')
+Fs(20)
+txt('2',(345.889,499.789))
+fp((0,0,0))
+le()
+lw(1)
+Fn('Helvetica')
+Fs(20)
+txt('2',(220.889,434.789))
+fp((0,0,0))
+le()
+lw(1)
+Fn('Helvetica')
+Fs(20)
+txt('3',(220.889,404.789))
+fp((0,0,0))
+le()
+lw(1)
+Fn('Helvetica')
+Fs(20)
+txt('3',(345.889,409.528))
+fp((0,0,0))
+le()
+lw(1)
+Fn('Helvetica')
+Fs(20)
+txt('4',(220.889,374.789))
+fp((0,0,0))
+le()
+lw(1)
+Fn('Helvetica')
+Fs(20)
+txt('4',(345.889,379.528))
+fp((0,0,0))
+le()
+lw(1)
+Fn('Helvetica')
+Fs(20)
+txt('5',(220.582,345.051))
+fp((0,0,0))
+le()
+lw(1)
+Fn('Helvetica')
+Fs(20)
+txt('5',(346.498,349.789))
+lw(1.5)
+la2(([(-4.0, 3.0), (2.0, 0.0), (-4.0, -3.0), (-4.0, 3.0)], 1))
+b()
+bs(263.949,516.649,0)
+bs(243.949,516.649,0)
+lw(1.5)
+la2(([(-4.0, 3.0), (2.0, 0.0), (-4.0, -3.0), (-4.0, 3.0)], 1))
+b()
+bs(278.949,441.649,0)
+bs(278.949,484.149,0)
+lw(1.5)
+la2(([(-4.0, 3.0), (2.0, 0.0), (-4.0, -3.0), (-4.0, 3.0)], 1))
+b()
+bs(241.449,441.649,0)
+bs(276.449,441.649,0)
+G_()
+guidelayer('Guide Lines',1,0,0,1,(0,0,1))
+grid((0,0,2.5,2.5),1,(0,0,1),'Grid')
diff --git a/doc/src/diagrams/modelview-move-rows-4.sk b/doc/src/diagrams/modelview-move-rows-4.sk
new file mode 100644
index 0000000000..c74fd286c5
--- /dev/null
+++ b/doc/src/diagrams/modelview-move-rows-4.sk
@@ -0,0 +1,136 @@
+##Sketch 1 2
+document()
+layout('A4',0)
+layer('Layer 1',1,1,0,0,(0,0,0))
+G()
+fp((1,1,1))
+lw(1)
+r(30,0,0,-30,211.449,482.601)
+fp((1,1,1))
+lw(1)
+r(30,0,0,-30,336.449,487.601)
+lw(1)
+r(30,0,0,-30,211.449,392.781)
+lw(1)
+r(30,0,0,-30,336.449,397.34)
+fp((1,1,1))
+lw(1)
+r(30,0,0,-30.442,211.449,363.043)
+fp((1,1,1))
+lw(1)
+r(30,0,0,-30,336.449,367.601)
+fp((1,1,1))
+lw(1)
+r(30,0,0,-30,211.449,512.601)
+fp((1,1,1))
+lw(1)
+r(30,0,0,-30,336.449,517.601)
+lw(1)
+r(30,0,0,-30,211.449,422.601)
+lw(1)
+r(30,0,0,-30,336.449,457.601)
+fp((0.753,0.753,1))
+lw(1)
+r(30,0,0,-30,263.949,392.601)
+fp((0.753,0.753,1))
+lw(1)
+r(30,0,0,-30,336.449,427.601)
+fp((0.753,0.753,1))
+lw(1)
+r(30,0,0,-30,211.449,452.601)
+fp((0,0,0))
+le()
+lw(1)
+Fn('Helvetica')
+Fs(20)
+txt('0',(220.889,490.741))
+fp((0,0,0))
+le()
+lw(1)
+Fn('Helvetica')
+Fs(20)
+txt('0',(345.889,495.741))
+fp((0,0,0))
+le()
+lw(1)
+Fn('Helvetica')
+Fs(20)
+txt('1',(220.889,460.741))
+fp((0,0,0))
+le()
+lw(1)
+Fn('Helvetica')
+Fs(20)
+txt('1',(345.889,465.741))
+fp((0,0,0))
+le()
+lw(1)
+Fn('Helvetica')
+Fs(20)
+txt('2',(273.389,370.741))
+fp((0,0,0))
+le()
+lw(1)
+Fn('Helvetica')
+Fs(20)
+txt('2',(345.889,405.741))
+fp((0,0,0))
+le()
+lw(1)
+Fn('Helvetica')
+Fs(20)
+txt('2',(220.889,430.741))
+fp((0,0,0))
+le()
+lw(1)
+Fn('Helvetica')
+Fs(20)
+txt('3',(220.889,400.741))
+fp((0.503,0.503,0.503))
+le()
+lw(1)
+Fn('Helvetica')
+Fs(20)
+txt('3',(345.889,435.741))
+fp((0,0,0))
+le()
+lw(1)
+Fn('Helvetica')
+Fs(20)
+txt('4',(220.889,370.741))
+fp((0,0,0))
+le()
+lw(1)
+Fn('Helvetica')
+Fs(20)
+txt('4',(345.889,375.48))
+fp((0,0,0))
+le()
+lw(1)
+Fn('Helvetica')
+Fs(20)
+txt('5',(220.889,341.183))
+fp((0,0,0))
+le()
+lw(1)
+Fn('Helvetica')
+Fs(20)
+txt('5',(345.889,345.741))
+lw(1.5)
+la2(([(-4.0, 3.0), (2.0, 0.0), (-4.0, -3.0), (-4.0, 3.0)], 1))
+b()
+bs(263.949,392.601,0)
+bs(243.949,392.601,0)
+lw(1.5)
+la2(([(-4.0, 3.0), (2.0, 0.0), (-4.0, -3.0), (-4.0, 3.0)], 1))
+b()
+bs(278.949,437.601,0)
+bs(278.949,395.101,0)
+lw(1.5)
+la2(([(-4.0, 3.0), (2.0, 0.0), (-4.0, -3.0), (-4.0, 3.0)], 1))
+b()
+bs(241.449,437.601,0)
+bs(276.449,437.601,0)
+G_()
+guidelayer('Guide Lines',1,0,0,1,(0,0,1))
+grid((0,0,2.5,2.5),1,(0,0,1),'Grid')
diff --git a/doc/src/examples/diagramscene.qdoc b/doc/src/examples/diagramscene.qdoc
index 87c973a888..a39f89a7e7 100644
--- a/doc/src/examples/diagramscene.qdoc
+++ b/doc/src/examples/diagramscene.qdoc
@@ -54,13 +54,13 @@
colors, and it is possible to change the font, style, and
underline of the text.
- The Qt graphics view framework is designed to manage and
- display custom 2D graphics items. The main classes of the
- framework are QGraphicsItem, QGraphicsScene and QGraphicsView. The
- graphics scene manages the items and provides a surface for them.
+ The Qt graphics view framework is designed to manage and display
+ custom 2D graphics items. The main classes of the framework are
+ QGraphicsItem, QGraphicsScene and QGraphicsView. The graphics
+ scene manages the items and provides a surface for them.
QGraphicsView is a widget that is used to render a scene on the
- screen. See the \l{The Graphics View Framework}{overview document}
- for a more detailed description of the framework.
+ screen. See the \l{Graphics View Framework} for a more detailed
+ description of the framework.
In this example we show how to create such custom graphics
scenes and items by implementing classes that inherit
diff --git a/doc/src/examples/drilldown.qdoc b/doc/src/examples/drilldown.qdoc
index ca994e8e4d..2b87840bee 100644
--- a/doc/src/examples/drilldown.qdoc
+++ b/doc/src/examples/drilldown.qdoc
@@ -292,7 +292,7 @@
\codeline
\snippet examples/sql/drilldown/view.h 1
- The QGraphicsView class is part of the \l {The Graphics View
+ The QGraphicsView class is part of the \l {Graphics View
Framework} which we will use to display the images of Nokia's
Qt offices. To be able to respond to user interaction;
i.e., showing the
@@ -388,8 +388,8 @@
reason we must create a custom item class is that we want to catch
the item's hover events, animating the item when the mouse cursor
is hovering over the image (by default, no items accept hover
- events). Please see the \l{The Graphics View Framework}
- documentation and the \l{Graphics View Examples} for more details.
+ events). Please see the \l{Graphics View Framework} documentation
+ and the \l{Graphics View Examples} for more details.
\snippet examples/sql/drilldown/view.cpp 5
@@ -399,7 +399,7 @@
function calls the private \c showInformation() function to pop up
the associated information window.
- \l {The Graphics View Framework} provides the qgraphicsitem_cast()
+ The \l {Graphics View Framework} provides the qgraphicsitem_cast()
function to determine whether the given QGraphicsItem instance is
of a given type. Note that if the event is not related to any of
our image items, we pass it on to the base class implementation.
@@ -456,7 +456,7 @@
borders.
Finally, we store the location ID that this particular record is
- associated with as well as a z-value. In the \l {The Graphics View
+ associated with as well as a z-value. In the \l {Graphics View
Framework}, an item's z-value determines its position in the item
stack. An item of high Z-value will be drawn on top of an item
with a lower z-value if they share the same parent item. We also
@@ -477,7 +477,7 @@
there is no current mouse grabber item. They are sent when the
mouse cursor enters an item, when it moves around inside the item,
and when the cursor leaves an item. As we mentioned earlier, none
- of the \l {The Graphics View Framework}'s items accept hover
+ of the \l {Graphics View Framework}'s items accept hover
event's by default.
The QTimeLine class provides a timeline for controlling
diff --git a/doc/src/examples/elasticnodes.qdoc b/doc/src/examples/elasticnodes.qdoc
index edc62d85c0..e6e6594156 100644
--- a/doc/src/examples/elasticnodes.qdoc
+++ b/doc/src/examples/elasticnodes.qdoc
@@ -83,7 +83,7 @@
also reimplements \l{QGraphicsItem::shape()}{shape()} to ensure its hit
area has an elliptic shape (as opposed to the default bounding rectangle).
- For edge management purposes the node provides a simple API for adding
+ For edge management purposes, the node provides a simple API for adding
edges to a node, and for listing all connected edges.
The \l{QGraphicsItem::advance()}{advance()} reimplementation is called
@@ -126,16 +126,21 @@
\snippet examples/graphicsview/elasticnodes/node.cpp 2
- The \e calculateForces() function implements the elastic forces effect that
- pulls and pushes on nodes in the grid. In addition to this algorithm, the
- user can move one node around with the mouse. Because we do not want the
- two to interfere, we start by checking if this \c Node is the current mouse
- grabber item (i.e., QGraphicsScene::mouseGrabberItem()). Because we need to
- find all neighboring (but not necessarily connected) nodes, we also make
- sure the item is part of a scene in the first place.
+ There are two ways to move a node. The \c calculateForces() function
+ implements the elastic effect that pulls and pushes on nodes in the grid.
+ In addition, the user can directly move one node around with the mouse.
+ Because we do not want the two approaches to operate at the same time on
+ the same node, we start \c calculateForces() by checking if this \c Node is
+ the current mouse grabber item (i.e., QGraphicsScene::mouseGrabberItem()).
+ Because we need to find all neighboring (but not necessarily connected)
+ nodes, we also make sure the item is part of a scene in the first place.
\snippet examples/graphicsview/elasticnodes/node.cpp 3
+ The "elastic" effect comes from an algorithm that applies pushing and
+ pulling forces. The effect is impressive, and surprisingly simple to
+ implement.
+
The algorithm has two steps: the first is to calculate the forces that push
the nodes apart, and the second is to subtract the forces that pull the
nodes together. First we need to find all the nodes in the graph. We call
@@ -143,19 +148,20 @@
qgraphicsitem_cast() to look for \c Node instances.
We make use of \l{QGraphicsItem::mapFromItem()}{mapFromItem()} to create a
- vector pointing from this node to each other node, in \l{The Graphics View
- Coordinate System}{local coordinates}. We use the decomposed components of
- this vector to determine the direction and strength of force that apply to
- the node. The forces are added up for each node, and weighted so that the
- closest nodes are given the strongest force. The sum of all forces are
- stored in \e xvel (X-velocity) and \e yvel (Y-velocity).
+ temporary vector pointing from this node to each other node, in \l{The
+ Graphics View Coordinate System}{local coordinates}. We use the decomposed
+ components of this vector to determine the direction and strength of force
+ that should apply to the node. The forces accumulate for each node, and are
+ then adjusted so that the closest nodes are given the strongest force, with
+ rapid degradation when distance increases. The sum of all forces is stored
+ in \c xvel (X-velocity) and \c yvel (Y-velocity).
\snippet examples/graphicsview/elasticnodes/node.cpp 4
- The edges between the nodes represent the forces that pull the nodes
- together. By visiting each edge that is connected to this node, we can use
- a similar approach as above to find the direction and strength of all
- forces. These forces are subtracted from \e xvel and \e yvel.
+ The edges between the nodes represent forces that pull the nodes together.
+ By visiting each edge that is connected to this node, we can use a similar
+ approach as above to find the direction and strength of all pulling forces.
+ These forces are subtracted from \c xvel and \c yvel.
\snippet examples/graphicsview/elasticnodes/node.cpp 5
@@ -166,20 +172,20 @@
\snippet examples/graphicsview/elasticnodes/node.cpp 6
- The final step of \e calculateForces() determines the node's new position.
+ The final step of \c calculateForces() determines the node's new position.
We add the force to the node's current position. We also make sure the new
position stays inside of our defined boundaries. We don't actually move the
- item in this function; that's done in a separate step, from \e advance().
+ item in this function; that's done in a separate step, from \c advance().
\snippet examples/graphicsview/elasticnodes/node.cpp 7
- The \e advance() function updates the item's current position. It is called
- from \e GraphWidget::timerEvent(). If the node's position changed, the
+ The \c advance() function updates the item's current position. It is called
+ from \c GraphWidget::timerEvent(). If the node's position changed, the
function returns true; otherwise false is returned.
\snippet examples/graphicsview/elasticnodes/node.cpp 8
- The \e Node's bounding rectangle is a 20x20 sized rectangle centered around
+ The \c Node's bounding rectangle is a 20x20 sized rectangle centered around
its origin (0, 0), adjusted by 2 units in all directions to compensate for
the node's outline stroke, and by 3 units down and to the right to make
room for a simple drop shadow.
@@ -188,8 +194,8 @@
The shape is a simple ellipse. This ensures that you must click inside the
node's elliptic shape in order to drag it around. You can test this effect
- by running the example, and zooming far enough in so that the nodes become
- very large. Without reimplementing \l{QGraphicsItem::shape()}{shape()}, the
+ by running the example, and zooming far in so that the nodes are very
+ large. Without reimplementing \l{QGraphicsItem::shape()}{shape()}, the
item's hit area would be identical to its bounding rectangle (i.e.,
rectangular).
@@ -197,7 +203,7 @@
This function implements the node's painting. We start by drawing a simple
dark gray elliptic drop shadow at (-7, -7), that is, (3, 3) units down and
- to the right.
+ to the right from the top-left corner (-10, -10) of the ellipse.
We then draw an ellipse with a radial gradient fill. This fill is either
Qt::yellow to Qt::darkYellow when raised, or the opposite when sunken. In
@@ -217,8 +223,8 @@
calculations.
This notification is the only reason why the nodes need to keep a pointer
- back to the \e GraphWidget. Another approach could be to provide such
- notification using a signal; in such case, \e Node would need to inherit
+ back to the \c GraphWidget. Another approach could be to provide such
+ notification using a signal; in such case, \c Node would need to inherit
from QGraphicsObject.
\snippet examples/graphicsview/elasticnodes/node.cpp 12
@@ -226,14 +232,14 @@
Because we have set the \l{QGraphicsItem::ItemIsMovable}{ItemIsMovable}
flag, we don't need to implement the logic that moves the node according to
mouse input; this is already provided for us. We still need to reimplement
- the mouse press and release handlers though, to update the nodes' visual
+ the mouse press and release handlers, though, to update the nodes' visual
appearance (i.e., sunken or raised).
\section1 Edge Class Definition
- The \e Edge class represents the arrow-lines between the nodes in this
+ The \c Edge class represents the arrow-lines between the nodes in this
example. The class is very simple: it maintains a source- and destination
- node pointer, and provides an \e adjust() function that makes sure the line
+ node pointer, and provides an \c adjust() function that makes sure the line
starts at the position of the source, and ends at the position of the
destination. The edges are the only items that change continuously as
forces pull and push on the nodes.
@@ -242,13 +248,13 @@
\snippet examples/graphicsview/elasticnodes/edge.h 0
- \e Edge inherits from QGraphicsItem, as it's a simple class that has no use
+ \c Edge inherits from QGraphicsItem, as it's a simple class that has no use
for signals, slots, and properties (compare to QGraphicsObject).
The constructor takes two node pointers as input. Both pointers are
mandatory in this example. We also provide get-functions for each node.
- The \e adjust() function repositions the edge, and the item also implements
+ The \c adjust() function repositions the edge, and the item also implements
\l{QGraphicsItem::boundingRect()}{boundingRect()} and
\{QGraphicsItem::paint()}{paint()}.
@@ -256,7 +262,7 @@
\snippet examples/graphicsview/elasticnodes/edge.cpp 0
- The \e Edge constructor initializes its arrowSize data member to 10 units;
+ The \c Edge constructor initializes its \c arrowSize data member to 10 units;
this determines the size of the arrow which is drawn in
\l{QGraphicsItem::paint()}{paint()}.
@@ -265,7 +271,7 @@
This ensures that the edge items are not considered for mouse input at all
(i.e., you cannot click the edges). Then, the source and destination
pointers are updated, this edge is registered with each node, and we call
- \e adjust() to update this edge's start end end position.
+ \c adjust() to update this edge's start end end position.
\snippet examples/graphicsview/elasticnodes/edge.cpp 1
@@ -274,7 +280,7 @@
\snippet examples/graphicsview/elasticnodes/edge.cpp 2
- In \e adjust(), we define two points: \e sourcePoint, and \e destPoint,
+ In \c adjust(), we define two points: \c sourcePoint, and \c destPoint,
pointing at the source and destination nodes' origins respectively. Each
point is calculated using \l{The Graphics View Coordinate System}{local
coordinates}.
@@ -295,7 +301,7 @@
It's important to notice that we call
\l{QGraphicsItem::prepareGeometryChange()}{prepareGeometryChange()} in this
- function. The reason is that the variables \e sourcePoint and \e destPoint
+ function. The reason is that the variables \c sourcePoint and \c destPoint
are used directly when painting, and they are returned from the
\l{QGraphicsItem::boundingRect()}{boundingRect()} reimplementation. We must
always call
@@ -338,26 +344,26 @@
\section1 GraphWidget Class Definition
- \e GraphWidget is a subclass of QGraphicsView, which provides the main
+ \c GraphWidget is a subclass of QGraphicsView, which provides the main
window with scrollbars.
\snippet examples/graphicsview/elasticnodes/graphwidget.h 0
- It provides a basic constructor that initializes the scene, an \e
+ The class provides a basic constructor that initializes the scene, an \c
itemMoved() function to notify changes in the scene's node graph, a few
event handlers, a reimplementation of
\l{QGraphicsView::drawBackground()}{drawBackground()}, and a helper
- function for scaling the view by mouse or keyboard.
+ function for scaling the view by using the mouse wheel or keyboard.
\snippet examples/graphicsview/elasticnodes/graphwidget.cpp 0
- \e GraphicsWidget's constructor creates the scene, and because most items
- move around most of the time, it sets QGraphicsScene::NoIndex. Then the
- scene gets a fixed \l{QGraphicsScene::sceneRect}{scene rectangle}.
- The scene is then assigned to the \e GraphWidget view.
+ \c GraphicsWidget's constructor creates the scene, and because most items
+ move around most of the time, it sets QGraphicsScene::NoIndex. The scene
+ then gets a fixed \l{QGraphicsScene::sceneRect}{scene rectangle}, and is
+ assigned to the \c GraphWidget view.
The view enables QGraphicsView::CacheBackground to cache rendering of its
- static and somewhat complex background. Because the graph renders a close
+ static, and somewhat complex, background. Because the graph renders a close
collection of small items that all move around, it's unnecessary for
Graphics View to waste time finding accurate update regions, so we set the
QGraphicsView::BoundingRectViewportUpdate viewport update mode. The default
@@ -381,15 +387,15 @@
\snippet examples/graphicsview/elasticnodes/graphwidget.cpp 2
- \e GraphWidget is notified of node movement through this \e itemMoved()
+ \c GraphWidget is notified of node movement through this \c itemMoved()
function. Its job is simply to restart the main timer in case it's not
running already. The timer is designed to stop when the graph stabilizes,
and start once it's unstable again.
\snippet examples/graphicsview/elasticnodes/graphwidget.cpp 3
- This is \e GraphWidget's key event handler. The arrow keys move the center
- node around, the '+' and '-' keys zoom in and out by calling \e
+ This is \c GraphWidget's key event handler. The arrow keys move the center
+ node around, the '+' and '-' keys zoom in and out by calling \c
scaleView(), and the enter and space keys randomize the positions of the
nodes. All other key events (e.g., page up and page down) are handled by
QGraphicsView's default implementation.
@@ -398,16 +404,16 @@
The timer event handler's job is to run the whole force calculation
machinery as a smooth animation. Each time the timer is triggered, the
- handler will find all nodes in the scene, and call \e
+ handler will find all nodes in the scene, and call \c
Node::calculateForces() on each node, one at a time. Then, in a final step
- it will call \e Node::advance() to move all nodes to their new positions.
- By checking the return value of \e advance(), we can decide if the grid
+ it will call \c Node::advance() to move all nodes to their new positions.
+ By checking the return value of \c advance(), we can decide if the grid
stabilized (i.e., no nodes moved). If so, we can stop the timer.
\snippet examples/graphicsview/elasticnodes/graphwidget.cpp 5
In the wheel event handler, we convert the mouse wheel delta to a scale
- factor, and pass this factor to \e scaleView(). This approach takes into
+ factor, and pass this factor to \c scaleView(). This approach takes into
account the speed that the wheel is rolled. The faster you roll the mouse
wheel, the faster the view will zoom.
@@ -415,24 +421,24 @@
The view's background is rendered in a reimplementation of
QGraphicsView::drawBackground(). We draw a large rectangle filled with a
- linear gradient, with a drop shadow, and then render text in top. The text
- is rendered twice to give a similar simple drop-shadow effect.
+ linear gradient, add a drop shadow, and then render text on top. The text
+ is rendered twice for a simple drop-shadow effect.
This background rendering is quite expensive; this is why the view enables
QGraphicsView::CacheBackground.
\snippet examples/graphicsview/elasticnodes/graphwidget.cpp 7
- The \e scaleView() helper function checks that the scale factor stays
+ The \c scaleView() helper function checks that the scale factor stays
within certain limits (i.e., you cannot zoom too far in nor too far out),
- and then applies this scale.
+ and then applies this scale to the view.
\section1 The main() Function
- In contrast to the complexity of the rest of this example, the \e main()
+ In contrast to the complexity of the rest of this example, the \c main()
function is very simple: We create a QApplication instance, seed the
- randomizer using qsrand(), and then create and show an instance of \e
- GraphWidget. Because all nodes in the grid are moved initially, the \e
+ randomizer using qsrand(), and then create and show an instance of \c
+ GraphWidget. Because all nodes in the grid are moved initially, the \c
GraphWidget timer will start immediately after control has returned to the
event loop.
*/
diff --git a/doc/src/examples/fingerpaint.qdoc b/doc/src/examples/fingerpaint.qdoc
index e5eb4ef926..7eb1512d7b 100644
--- a/doc/src/examples/fingerpaint.qdoc
+++ b/doc/src/examples/fingerpaint.qdoc
@@ -46,5 +46,5 @@
The Finger Paint example shows the use of multi-touch with a custom widget
to create a simple painting application.
- \image multitouch-fingerpaint.png
+ \image multitouch-fingerpaint-example.png
*/
diff --git a/doc/src/examples/mandelbrot.qdoc b/doc/src/examples/mandelbrot.qdoc
index 7a3c1cd4df..11173a8173 100644
--- a/doc/src/examples/mandelbrot.qdoc
+++ b/doc/src/examples/mandelbrot.qdoc
@@ -285,7 +285,7 @@
\snippet examples/threads/mandelbrot/mandelbrotwidget.cpp 8
If the pixmap has the right scale factor, we draw the pixmap directly onto
- the widget. Otherwise, we scale and translate the \l{The Coordinate
+ the widget. Otherwise, we scale and translate the \l{Coordinate
System}{coordinate system} before we draw the pixmap. By reverse mapping
the widget's rectangle using the scaled painter matrix, we also make sure
that only the exposed areas of the pixmap are drawn. The calls to
diff --git a/doc/src/examples/padnavigator.qdoc b/doc/src/examples/padnavigator.qdoc
index 70e131ed6c..e29a3b2ee8 100644
--- a/doc/src/examples/padnavigator.qdoc
+++ b/doc/src/examples/padnavigator.qdoc
@@ -43,9 +43,555 @@
\example graphicsview/padnavigator
\title Pad Navigator Example
- The Pad Navigator Example shows how you can use Graphics View
- together with embedded widgets to create a simple but useful
- dynamic user interface for embedded devices.
+ The Pad Navigator Example shows how you can use Graphics View together with
+ embedded widgets and Qt's \l{State Machine Framework} to create a simple
+ but useful, dynamic, animated user interface.
\image padnavigator-example.png
+
+ The interface consists of a flippable, rotating pad with icons that can be
+ selected using the arrow keys on your keyboard or keypad. Pressing enter
+ will flip the pad around and reveal its back side, which has a form
+ embedded into a QGraphicsProxyWidget. You can interact with the form, and
+ press the enter key to flip back to the front side of the pad at any time.
+
+ Graphics View provides the QGraphicsScene class for managing and
+ interacting with a large number of custom-made 2D graphical items derived
+ from the QGraphicsItem class, and a QGraphicsView widget for visualizing
+ the items, with support for zooming and rotation.
+
+ This example consists of a \c RoundRectItem class, a \c FlippablePad class,
+ a \c PadNavigator class, a \c SplashItem class, and a \c main() function.
+
+ \section1 RoundRectItem Class Definition
+
+ The \c RoundRectItem class is used by itself to diplay the icons on the
+ pad, and as a base class for \c FlippablePad, the class for the pad itself.
+ The role of the class is to paint a round rectangle of a specified size and
+ gradient color, and optionally to paint a pixmap icon on top. To support \c
+ FlippablePad it also allows filling its contents with a plain window
+ background color.
+
+ Let's start by reviewing the \c RoundRectItem class declaration.
+
+ \snippet examples/graphicsview/padnavigator/roundrectitem.h 0
+
+ \c RoundRectItem inherits QGraphicsObject, which makes it easy to control
+ its properties using QPropertyAnimation. Its constructor takes a rectangle
+ to determine its bounds, and a color.
+
+ Besides implementing the mandatory \l{QGraphicsItem::paint()}{paint()} and
+ \l{QGraphicsItem::boundingRect()}{boundingRect()} pure virtual functions,
+ it also provides the \c pixmap and \c fill properties.
+
+ The \c pixmap property sets an optional pixmap that is drawn on top of the
+ round rectangle. The \c fill property will, when true, fill the round
+ rectangle contents with a fixed QPalette::Window background color.
+ Otherwise the contents are filled using a gradient based on the color
+ passed to \c RoundRectItem's constructor.
+
+ \snippet examples/graphicsview/padnavigator/roundrectitem.h 1
+
+ The private data members are:
+
+ \list
+ \o \c pix: The optional pixmap that is drawn on top of the rectangle.
+ \o \c fillRect: Corresponds to the \c fill property.
+ \o \c color: The configurable gradient color fill of the rectangle.
+ \o \c bounds: The bounds of the rectangle.
+ \o \c gradient: A precalculated gradient used to fill the rectangle.
+ \endlist
+
+ We will now review the \c RoundRectItem implementation. Let's start by
+ looking at its constructor:
+
+ \snippet examples/graphicsview/padnavigator/roundrectitem.cpp 0
+
+ The constructor initializes its member variables and forwards the \c parent
+ argument to QGraphicsObject's constructor. It then constructs the linear
+ gradient that is used in \l{QGraphicsItem::paint()}{paint()} to draw the
+ round rectangle's gradient background. The linear gradient's starting point
+ is at the top-left corner of the bounds, and the end is at the bottom-left
+ corner. The start color is identical to the color passed as an argument,
+ and a slightly darker color is chosen for the final stop.
+
+ We store this gradient as a member variable to avoid having to recreate the
+ gradient every time the item is repainted.
+
+ Finally we set the cache mode
+ \l{QGraphicsItem::ItemCoordinateCache}{ItemCoordinateCache}. This mode
+ causes the item's rendering to be cached into an off-screen pixmap that
+ remains persistent as we move and transform the item. This mode is ideal
+ for this example, and works particularily well with OpenGL and OpenGL ES.
+
+ \snippet examples/graphicsview/padnavigator/roundrectitem.cpp 1
+
+ The \c pixmap property implementation simple returns the member pixmap, or
+ sets it and then calls \l{QGraphicsItem::update()}{update()}.
+
+ \snippet examples/graphicsview/padnavigator/roundrectitem.cpp 2
+
+ As the \l{QGraphicsItem::paint()}{paint()} implementation below draws a
+ simple drop shadow down and to the right of the item, we return a slightly
+ adjusted rectangle from \l{QGraphicsItem::boundingRect()}{boundingRect()}.
+
+ \snippet examples/graphicsview/padnavigator/roundrectitem.cpp 3
+
+ The \l{QGraphicsItem::paint()}{paint()} implementation starts by rendering
+ a semi transparent black round rectangle drop shadow, two units down and to
+ the right of the main item.
+
+ \snippet examples/graphicsview/padnavigator/roundrectitem.cpp 4
+
+ We then draw the "foreground" round rectangle itself. The fill depends on
+ the \c fill property; if true, we will with a plain QPalette::Window color.
+ We get the corrent brush from QApplication::palette(). We assign a single
+ unit wide pen for the stroke, assign the brush, and then draw the
+ rectangle.
+
+ \snippet examples/graphicsview/padnavigator/roundrectitem.cpp 5
+
+ If a pixmap has been assigned to the \e pixmap property, we draw this
+ pixmap in the center of the rectangle item. The pixmaps are scaled to match
+ the size of the icons; in arguably a better approach would have been to
+ store the icons with the right size in the first places.
+
+ \snippet examples/graphicsview/padnavigator/roundrectitem.cpp 6
+
+ Finally, for completeness we include the \c fill property implementation.
+ It returns the \c fill member variable's value, and when assigned to, it
+ calls \l{QGraphicsItem::update()}{update()}.
+
+ As mentioned already, \c RoundRectItem is the base class for \c
+ FlippablePad, which is the class representing the tilting pad itself. We
+ will proceed to reviewing \c FlippablePad.
+
+ \section1 FlippablePad Class Definition
+
+ \c FlippablePad is, in addition to its inherited \c RoundRectItem
+ responsibilities, responsible for creating and managing a grid of icons.
+
+ \snippet examples/graphicsview/padnavigator/flippablepad.h 0
+
+ Its declaration is very simple: It inherits \c RoundRectItem and does not
+ need any special polymorphic behavior. It's suitable to declare its own
+ constructor, and a getter-function that allows \c PadNavigator to access
+ the icons in the grid by (row, column).
+
+ The example has no "real" behavior or logic of any kind, and because of
+ that, the icons do not need to provide any \e behavior or special
+ interactions management. In a real application, however, it would be
+ natural for the \c FlippablePad and its icons to handle more of the
+ navigation logic. In this example, we have chosen to leave this to
+ the \c PadNavigator class, which we will get back to below.
+
+ We will now review the \c FlippablePad implementation. This implementation
+ starts with two helper functions: \c boundsFromSize() and \c
+ posForLocation():
+
+ \snippet examples/graphicsview/padnavigator/flippablepad.cpp 0
+
+ \c boundsForSize() takes a QSize argument, and returns the bounding
+ rectangle of the flippable pad item. The QSize determines how many rows and
+ columns the icon grid should have. Each icon is given 150x150 units of
+ space, and this determines the bounds.
+
+ \snippet examples/graphicsview/padnavigator/flippablepad.cpp 1
+
+ \c posForLocation() returns the position of an icon given its row and
+ column position. Like \c boundsForSize(), the function assumes each icon is
+ given 150x150 units of space, and that all icons are centered around the
+ flippable pad item's origin (0, 0).
+
+ \snippet examples/graphicsview/padnavigator/flippablepad.cpp 2
+
+ The \c FlippablePad constructor passes suitable bounds (using \c
+ boundsForSize()) and specific color to \c RoundRectItem's constructor.
+
+ \snippet examples/graphicsview/padnavigator/flippablepad.cpp 3
+
+ It then loads pixmaps from compiled-in resources to use for its icons.
+ QDirIterator is very useful in this context, as it allows us to fetch all
+ resource "*.png" files inside the \c :/images directory without explicitly
+ naming the files.
+
+ We also make sure not to load more pixmaps than we need.
+
+ \snippet examples/graphicsview/padnavigator/flippablepad.cpp 4
+
+ Now that we have the pixmaps, we can create icons, position then and assign
+ pixmaps. We start by finding a suitable size and color for the icons, and
+ initializing a convenient grid structure for storing the icons. This \c
+ iconGrid is also used later to find the icon for a specific (column, row)
+ location.
+
+ For each row and column in our grid, we proceed to constructing each icon
+ as an instance of \c RoundRectItem. The item is placed by using the \c
+ posForLocation() helper function. To make room for the slip-behind
+ selection item, we give each icon a \l{QGraphicsItem::zValue()}{Z-value} of
+ 1. The pixmaps are distributed to the icons in round-robin fasion.
+
+ Again, this approach is only suitable for example purposes. In a real-life
+ application where each icon represents a specific action, it would be more
+ natural to assign the pixmaps directly, or that the icons themselves
+ provide suitable pixmaps.
+
+ \snippet examples/graphicsview/padnavigator/flippablepad.cpp 5
+
+ Finally, the \c iconAt() function returns a pointer to the icon at a
+ specific row and column. It makes a somewhat bold assumption that the input
+ is valid, which is fair because the \c PadNavigator class only calls this
+ function with correct input.
+
+ We will now review the \c SplashItem class.
+
+ \section1 SplashItem Class Definition
+
+ The \c SplashItem class represents the "splash window", a semitransparent
+ white overlay with text that appears immediately after the application has
+ started, and disappears after pressing any key. The animation is controlled
+ by \c PadNavigator; this class is very simple by itself.
+
+ \snippet examples/graphicsview/padnavigator/splashitem.h 0
+
+ The class declaration shows that \c SplashItem inherits QGraphicsObject to
+ allow it to be controlled by QPropertyAnimation. It reimplements the
+ mandatory \l{QGraphicsItem::paint()}{paint()} and
+ \l{QGraphicsItem::boundingRect()}{boundingRect()} pure virtual functions,
+ and keeps a \c text member variable which will contain the information text
+ displayed on this splash item.
+
+ Let's look at its implementation.
+
+ \snippet examples/graphicsview/padnavigator/splashitem.cpp 0
+
+ The constructor forwards to QGraphicsObject as expected, assigns a text
+ message to the \c text member variable, and enables
+ \l{QGraphicsItem::DeviceCoordinateCache}{DeviceCoordinateCache}. This cache
+ mode is suitable because the splash item only moves and is never
+ transformed, and because it contains text, it's important that it has a
+ pixel perfect visual appearance (in constrast to
+ \l{QGraphicsItem::ItemCoordinateCache}{ItemCoordinateCache}, where the
+ visual appearance is not as good).
+
+ We use caching to avoid having to relayout and rerender the text for each
+ frame. An alterative approach would be to use the new QStaticText class.
+
+ \snippet examples/graphicsview/padnavigator/splashitem.cpp 1
+
+ \c SplashItem's bounding rectangle is fixed at (400x175).
+
+ \snippet examples/graphicsview/padnavigator/splashitem.cpp 2
+
+ The \l{QGraphicsItem::paint()}{paint()} implementation draws a clipped
+ round rectangle with a thick 2-unit border and a semi-transparent white
+ background. It proceeds to finding a suitable text area by adjusting the
+ splash item's bounding rectangle with 10 units in each side. The text is
+ rendered inside this rectangle, with top-left alignment, and with word
+ wrapping enabled.
+
+ The main class now remains. We will proceed to reviewing \c PadNavigator.
+
+ \section1 PadNavigator Class Definition
+
+ \c PadNavigator represents the main window of our Pad Navigator Example
+ application. It creates and controls a somewhat complex state machine, and
+ several animations. Its class declaration is very simple:
+
+ \snippet examples/graphicsview/padnavigator/padnavigator.h 0
+
+ It inherits QGraphicsView and reimplements only one function:
+ \l{QGraphicsView::resizeEvent()}{resizeEvent()}, to ensure the scene is
+ scaled to fit inside the view when resizing the main window.
+
+ The \c PadNavigator constructor takes a QSize argument that determines the
+ number or rows and columns in the grid.
+
+ It also keeps a private member instance, \c form, which is the generated
+ code for the pad's back side item's QGraphicsProxyWidget-embedded form.
+
+ \snippet examples/graphicsview/padnavigator/padnavigator.cpp 0
+
+ \c PadNavigator's constructor is a bit long. In short, its job is to create
+ all items, including the \c FlippablePad, the \c SplashItem and the
+ QGraphicsProxyWidget \c backItem, and then to set up all animations, states
+ and transitions that control the behavior of the application.
+
+ It starts out simple, by forwarding to QGraphicsView's constructor.
+
+ \snippet examples/graphicsview/padnavigator/padnavigator.cpp 1
+
+ The first item to be created is \c SplashItem. This is going to be a top-level
+ item in the scene, next to \c FlippablePad, and stacked on top of it, so we
+ assign it a \l{QGraphicsItem::zValue()}{Z-value} of 1.
+
+ \snippet examples/graphicsview/padnavigator/padnavigator.cpp 2
+
+ Now we construct the \c FlippablePad item, passing its column-row count to
+ its constructor.
+
+ The pad is constrolled by three transformations, and we create one
+ QGraphicsRotation object for each of these.
+
+ \list
+ \o \c flipRotation: Rotates the grid around its Qt::YAxis. This rotation is
+ animated from 0 to 180, and eventually back, when enter is pressed on the
+ keyboard, flipping the pad around.
+ \o \c xRotation: Rotates the grid around its Qt::XAxis. This is used to
+ tilt the pad vertically corresponding to which item is currently selected.
+ This way, the selected item is always kept in front.
+ \o \c yRotation: Rotates the grid around its Qt::YAxis. This is used to
+ tilt the pad horizontally corresponding to which item is selected. This
+ way, the selected item is always kept in front.
+ \endlist
+
+ The combination of all three rotations is assigned via
+ QGraphicsItem::setTransformations().
+
+ \snippet examples/graphicsview/padnavigator/padnavigator.cpp 3
+
+ Now we construct the QGraphicsProxyWidget-embedded \c backItem. The proxy
+ widget is created as a child of the pad. We create a new QWidget and
+ populate it with the \c form member. To ensure the \c hostName line edit is
+ the first to receive input focus when this item is shown, we call
+ \l{QWidget::setFocus()}{setFocus()} immediately. This will not give the
+ widget focus right away; it will only prepare the item to automatically
+ receive focus once it is shown.
+
+ The QWidget based form is embedded into the proxy widget. The proxy is
+ hidden initially; we only want to show it when the pad is rotated at least
+ 90 degrees, and we also rotate the proxy itself by 180 degrees. This way we
+ give the impression that the proxy widget is "behind" the flipped pad, when
+ in fact, it's actually \e{on top of it}.
+
+ We enable \l{QGraphicsItem::ItemCoordinateCache}{ItemCoordinateCache} to
+ ensure the flip animation can run smoothly.
+
+ \snippet examples/graphicsview/padnavigator/padnavigator.cpp 4
+
+ We now create the selection item. This is simply another instance of \c
+ RoundRectItem that is slightly larger than the icons on the pad. We create
+ it as an immediate child of the \c FlippablePad, so the selection item is a
+ sibling to all the icons. By giving it a
+ \l{QGraphicsItem::zValue()}{Z-value} of 0.5 we ensure it will slide beteen
+ the pad and its icons.
+
+ What follows now is a series of animation initializations.
+
+ \snippet examples/graphicsview/padnavigator/padnavigator.cpp 5
+
+ We begin with the animations that apply to the splash item. The first
+ animation, \c smoothSplashMove, ensures that the "y" property of \c splash
+ will be animated with a 250-millisecond duration
+ \l{QEasingCurve::InQuad}{InQuad} easing function. \c smoothSplashOpacity
+ ensures the opacity of \c splash eases in and out in 250 milliseconds.
+
+ The values are assigned by \c PadNavigator's state machine, which is
+ created later.
+
+ \snippet examples/graphicsview/padnavigator/padnavigator.cpp 6
+
+ These are the animations that control the selection item's movement and the
+ \c xRotation and \c yRotation QGraphicsRotation objects that tilt the pad.
+ All animations have a duration of 125 milliseconds, and they all use the
+ \l{QEasingCurve::InOutQuad}{InOutQuad} easing function.
+
+ \snippet examples/graphicsview/padnavigator/padnavigator.cpp 7
+
+ We now create the animations that control the flip-effect when you press
+ the enter key. The main goal is to rotate the pad by 180 degrees or back,
+ but we also need to make sure the selection item's tilt rotations are reset
+ back to 0 when the pad is flipped, and restored back to their original
+ values when flipped back:
+
+ \list
+ \o \c smoothFlipRotation: Animates the main 180 degree rotation of the pad.
+ \o \c smoothFlipScale: Scales the pad out and then in again while the pad is rotating.
+ \o \c smoothFlipXRotation: Animates the selection item's X-tilt to 0 and back.
+ \o \c smoothFlipYRotation: Animates the selection item's Y-tilt to 0 and back.
+ \o \c flipAnimation: A parallel animation group that ensures all the above animations are run in parallel.
+ \endlist
+
+ All animations are given a 500 millisecond duration and an
+ \l{QEasingCurve::InOutQuad}{InOutQuad} easing function.
+
+ It's worth taking a close look at \c smoothFlipScale. This animation's
+ start and end values are both 1.0, but at animation step 0.5 the
+ animation's value is 0.7. This means that after 50% of the animation's
+ duration, or 250 milliseconds, the pad will be scaled down to 0.7x of its
+ original size, which gives a great visual effect while flipping.
+
+ \snippet examples/graphicsview/padnavigator/padnavigator.cpp 8
+
+ This section uses a trick to ensure that certain properties are assigned
+ precisely when the flip animation passes 50%, or 90 degrees, rotation. In
+ short, the pad's icons and selection item are all hidden, the pad's \c fill
+ property is enabled, and \c backItem is shown when flipping over. When
+ flipping back, the reverse properties are applied.
+
+ The way this is achieved is by running a sequential animation in parallel
+ to the other animations. This sequence, dubbed \c setVariablesSequence,
+ starts with a 250 millisecond pause, and then executes several animations
+ with a duration of 0. Each animation will ensure that properties are set
+ immediate at this point.
+
+ This approach can also be used to call functions or set any other
+ properties at a specific time while an animation is running.
+
+ \snippet examples/graphicsview/padnavigator/padnavigator.cpp 9
+
+ We will now create the state machine. The whole \c PadNavigator state
+ machinery is controlled by one single state machine that has a
+ straight-forward state structure. The state engine itself is created
+ as a child of the \c PadNavigator itself. We then create three top level
+ states:
+
+ \list
+ \o \c splashState: The initial state where the splash item is visible.
+ \o \c frontState: The base state where the splash is gone and we can see
+ the front side of the pad, and navigate the selection item.
+ \o \c backState: The flipped state where the \c backItem is visible, and we
+ can interact with the QGraphicsProxyWidget-embedded form.
+ \endlist
+
+ \snippet examples/graphicsview/padnavigator/padnavigator.cpp 10
+
+ Each state assigns specific properties to objects on entry. Most
+ interesting perhaps is the assignment of the value 0.0 to the pad's \c
+ flipRotation angle property when in \c frontState, and 180.0 when in \c
+ backState. At the end of this section we register default animations with
+ the state engine; these animations will apply to their respective objects
+ and properties for any state transition. Otherwise it's common to assign
+ animations to specific transitions.
+
+ The \c splashState state is set as the initial state. This is required
+ before we start the state engine. We proceed with creating some
+ transitions.
+
+ \snippet examples/graphicsview/padnavigator/padnavigator.cpp 11
+
+ QEventTransition defines a very flexible transition type. You can use this
+ class to trigger a transition based on an object receiving an event of a
+ specific type. In this case, we would like to transition from \c
+ splashState into \c frontState if \c PadNavigator receives any key press
+ event (QEvent::KeyPress).
+
+ We register the \c splashItem's animations to this transition to ensure they
+ are used to animate the item's movement and opacity.
+
+ \snippet examples/graphicsview/padnavigator/padnavigator.cpp 12
+
+ We use QKeyEventTransition to capture specific key events. In this case, we
+ detect that the user presses Qt::Key_Return or Qt::Key_Enter, and use this
+ to trigger transitions between \c frontState and backState. We register \c
+ flipAnimation, our complex parallel animation group, with these
+ transitions.
+
+ We continue by defining the states for each of the icons in the grid.
+
+ \snippet examples/graphicsview/padnavigator/padnavigator.cpp 13
+
+ We will use state groups to control transitions between icons. Each icon
+ represents a \e substate of \c frontState. We will then define transitions
+ between the states by detecting key presses, using QKeyEventTransition.
+
+ We start by creating all the substates, and at the same time we create a
+ temporary grid structure for the states to make it easier to find which
+ states represents icons that are up, down, left and to the right each
+ other.
+
+ Once the first substate is known, we set this up as the initial substate of
+ \c frontState. We will use the (0, 0), or top-left, icon for the initial
+ substate. We initialze the selection item's position to be exactly where
+ the top-left icon is.
+
+ \snippet examples/graphicsview/padnavigator/padnavigator.cpp 14
+
+ We can now create four transitions for each icon. Each transition ensures
+ that we move to the state corresponding to which arrow key has been
+ pressed. It's clear from this techinique that we could design any other
+ specific transitions to and from each of the sub states depending on these
+ and other keys.
+
+ \snippet examples/graphicsview/padnavigator/padnavigator.cpp 15
+
+ Also, for each of the icons, we assign suitable values to the \c xRotation
+ and \c yRotation objects' "angle"-properties. If you recall, these
+ properties "tilt" the pad corresponding to which item is currently
+ selected. We ensure each icon is invisible when the pad is flipped, and
+ visible when the pad is not flipped. To ensure the visible property is
+ assigned at the right time, we add property-controlling animations to the
+ \c setVariableSequence animation defined earlier.
+
+ \snippet examples/graphicsview/padnavigator/padnavigator.cpp 16
+
+ We are now finished with all states, transitions, and animations. We now
+ create the scene that will contain all our items. The scene gets a defined
+ background pixmap, and we disable item indexing (as most items in this
+ scene are animated). We add our \c pad item to the scene, and use its
+ bounding rectangle to fixate the scene rectangle. This rectangle is used by
+ the view to find a suitable size for the application window.
+
+ Then the scene is assigned to the view, or in our case, \c PadNavigator
+ itself.
+
+ \snippet examples/graphicsview/padnavigator/padnavigator.cpp 17
+
+ Now that the scene has received its final size, we can position the splash
+ item at the very top, find its fade-out position, and add it to the scene.
+
+ \snippet examples/graphicsview/padnavigator/padnavigator.cpp 18
+
+ The view toggles a few necessary properties:
+
+ \list
+ \o It disables its scroll bars - this application has no use for scroll bars.
+ \o It assigns a minimum size. This is necessary to avoid numerical errors
+ in our fit-in-view \c resizeEvent() implementation.
+ \o It sets \l{QGraphicsView::FullViewportUpdate}{FullViewportUpdate}, to
+ ensure QGraphicsView doesn't spend time figuring out precisely what needs
+ to be redrawn. This application is very simple - if anything changes,
+ everything is updated.
+ \o It enables background caching - this makes no performance difference
+ with OpenGL, but without OpenGL it avoids unnecessary re-scaling of the
+ background pixmap.
+ \o It sets render hints that increase rendering quality.
+ \o If OpenGL is supported, a QGLWidget viewport is assigned to the view.
+ \endlist
+
+ Finally, we start the state engine.
+
+ \snippet examples/graphicsview/padnavigator/padnavigator.cpp 19
+
+ The \l{QGraphicsView::resizeEvent()}{resizeEvent()} implementation calls
+ the base implementation, and then calls QGraphicsView::fitInView() to scale
+ the scene so that it fits perfectly inside the view.
+
+ By resizing the main application window, you can see this effect yourself.
+ The scene contents grow when you make the window larger, and shrink when
+ you make it smaller, while keeping the aspect ratio intact.
+
+ \section1 The main() Function
+
+ \snippet examples/graphicsview/padnavigator/main.cpp 0
+
+ The \c main function creates the QApplication instance, uses
+ Q_INIT_RESOURCE to ensure our compiled-in resources aren't removed by the
+ linker, and then creates a 3x3 \c PadNavigator instance and shows it.
+
+ Our flippable pad shows up with a suitable splash item once control returns
+ to the event loop.
+
+ \section1 Performance Notes
+
+ The example uses OpenGL if this is available, to achieve optimal
+ performance; otherwise perspective tranformations can be quite costly.
+
+ Although this example does use QGraphicsProxyWidget to demonstrate
+ integration of Qt widget components integrated into Graphics View, using
+ QGraphicsProxyWidget comes with a performance penalty, and is therefore not
+ recommended for embedded development.
+
+ This example uses extensive item caching to avoid rerendering of static
+ elements, at the expense of graphics memory.
*/
diff --git a/doc/src/examples/pinchzoom.qdoc b/doc/src/examples/pinchzoom.qdoc
index 726b1b3311..867b2b3a8a 100644
--- a/doc/src/examples/pinchzoom.qdoc
+++ b/doc/src/examples/pinchzoom.qdoc
@@ -46,5 +46,5 @@
The Pinch Zoom example shows how to use low-level multi-touch information
to recognize a gesture.
- \image multitouch-pinchzoom.png
+ \image multitouch-pinchzoom-example.png
*/
diff --git a/doc/src/examples/pixelator.qdoc b/doc/src/examples/pixelator.qdoc
index 09ae3e8d09..95099e14d9 100644
--- a/doc/src/examples/pixelator.qdoc
+++ b/doc/src/examples/pixelator.qdoc
@@ -80,8 +80,6 @@
functions to indicate the dimensions of the image and supply data to other
components.
- For convenience, the image to be used is passed in the constructor.
-
\section1 ImageModel Class Implementation
The constructor is trivial:
@@ -89,7 +87,7 @@
\snippet examples/itemviews/pixelator/imagemodel.cpp 0
The \c setImage() function sets the image that will be used by the model:
-
+
\snippet examples/itemviews/pixelator/imagemodel.cpp 1
The QAbstractItemModel::reset() call tells the view(s) that the model
@@ -233,7 +231,7 @@
This enables the items to be drawn without any gaps between them. Removing
the headers also prevents the user from adjusting the sizes of individual
rows and columns.
-
+
We also set the minimum section size to 1 on the headers. If we
didn't, the headers would default to a larger size, preventing
us from displaying really small items (which can be specified
diff --git a/doc/src/examples/qml-examples.qdoc b/doc/src/examples/qml-examples.qdoc
index 93e4a4689d..b6069f20d8 100644
--- a/doc/src/examples/qml-examples.qdoc
+++ b/doc/src/examples/qml-examples.qdoc
@@ -40,79 +40,162 @@
****************************************************************************/
/*!
- \title Animations
- \example declarative/animations
+ \title Animation: Basics
+ \example declarative/animation/basics
- This example shows how to use animations in QML.
+ This example shows how to create \l{QML Animation}{animations} in QML.
*/
/*!
- \title AspectRatio
- \example declarative/aspectratio
+ \title Animation: Behaviors
+ \example declarative/animation/behaviors
- This example shows how to implement different aspect ratios in QML.
+ This example shows how to use QML behaviors.
*/
/*!
- \example declarative/behaviors
- \title Behaviors
+ \title Animation: Easing types
+ \example declarative/animation/easing
+
+ This example shows the different easing modes available for \l{QML Animation}{animations}.
+*/
+
+/*!
+ \title Animation: States
+ \example declarative/animation/states
+
+ This example shows how to use \l{States}{states} and \l{Transitions}{transitions}.
+*/
+
+/*!
+ \title Image Elements: Border Image
+ \example declarative/imageelements/borderimage
+
+ This example shows how to use the BorderImage element.
+*/
+
+/*!
+ \title Image Elements: Image
+ \example declarative/imageelements/image
+
+ This example shows how to use the Image element and its \l{Image::fillMode}{fillModes}.
+
+ \image qml-image-example.png
+*/
+
+/*!
+ \page declarative-cppextensions-reference.html
+ \title C++ Extensions: Reference examples
+
+ These examples show how QML can be extended from C++ in various ways.
+
+ The code for these examples is used throughout the \l {Extending QML in C++} reference
+ documentation, which highlights the main principles demonstrated in each example.
+
+ Furthermore, here are additional pages that discuss each example in detail:
+
+ \list
+ \o \l {declarative/cppextensions/referenceexamples/adding}{Adding Types}
+ \o \l {declarative/cppextensions/referenceexamples/properties}{Object and List Property Types}
+ \o \l {declarative/cppextensions/referenceexamples/coercion}{Inheritance and Coercion}
+ \o \l {declarative/cppextensions/referenceexamples/default}{Default Property}
+ \o \l {declarative/cppextensions/referenceexamples/grouped}{Grouped Properties}
+ \o \l {declarative/cppextensions/referenceexamples/attached}{Attached Properties}
+ \o \l {declarative/cppextensions/referenceexamples/signal}{Signal Support}
+ \o \l {declarative/cppextensions/referenceexamples/valuesource}{Property Value Source}
+ \o \l {declarative/cppextensions/referenceexamples/binding}{Binding}
+ \endlist
+
+ \note These examples all print information to the console to demonstrate the concepts presented.
+ Ensure that you are able to view the application output when running these examples.
+ For example, the dbgView tool on Windows can be used to display application output.
*/
/*!
- \title Border Image
- \example declarative/border-image
+ \title C++ Extensions: Plugins
+ \example declarative/cppextensions/plugins
- This example shows how to use a BorderImage in QML.
+ This example shows how to create a C++ plugin extension by subclassing QDeclarativeExtensionPlugin.
*/
/*!
- \title Clocks
- \example declarative/clocks
+ \title LayoutItem
+ \example declarative/cppextensions/qgraphicslayouts/layoutitem
- This example shows how to create a Clock component and reuse it in a grid.
+ This example show how to use the LayoutItem element to integrate QML items into an existing
+ \l{Graphics View Framework}{Graphics View}-based application.
*/
+/*!
+ \title QGraphicsGridLayout
+ \example declarative/cppextensions/qgraphicslayouts/qgraphicsgridlayout
+ This example shows how to use QGraphicsGridLayout to lay out QML items. This is
+ useful if you need to integrate Qt \l{Graphics View Framework}{Graphics View} layouts with
+ QML.
+*/
/*!
- \title Connections
- \example declarative/connections
+ \title QGraphicsLinearLayout
+ \example declarative/cppextensions/qgraphicslayouts/qgraphicslinearlayout
+
+ This example shows how to use QGraphicsLinearLayout to lay out QML items. This is
+ useful if you need to integrate Qt \l{Graphics View Framework}{Graphics View} layouts with
+ QML.
+*/
+/*!
+ \page declarative-cppextensions-qgraphicslayouts.html
+ \title C++ Extensions: QGraphicsLayouts
+
+ These examples show how to integrate \l{Graphics View Framework}{Graphics View}
+ layout components with QML:
- This example shows how to use a Connection element in QML.
+ \list
+ \o \l{declarative/cppextensions/qgraphicslayouts/layoutitem}{LayoutItem}
+ \o \l{declarative/cppextensions/qgraphicslayouts/qgraphicsgridlayout}{QGraphicsGridLayout}
+ \o \l{declarative/cppextensions/qgraphicslayouts/qgraphicslinearlayout}{QGraphicsLinearLayout}
+ \endlist
*/
/*!
- \title Dial
- \example declarative/dial
+ \title C++ Extensions: QWidgets
+ \example declarative/cppextensions/qwidgets
- This example shows how to implement a dial in QML.
+ This example shows how to embed QWidget-based objects into QML using QGraphicsProxyWidget.
*/
/*!
- \title Dynamic
- \example declarative/dynamic
+ \title C++ Extensions: Image Provider
+ \example declarative/cppextensions/imageprovider
- This example shows how to create dynamic objects QML.
+ This examples shows how to use QDeclarativeImageProvider to serve images asynchronously
+ into a QML item.
*/
/*!
- \example declarative/extending
- \title Extending
+ \title C++ Extensions: Network access manager
+ \example declarative/cppextensions/networkaccessmanagerfactory
+
+ This example shows how to use QDeclarativeNetworkAccessManagerFactory to create a QNetworkAccessManager
+ with a proxy.
*/
/*!
- \example declarative/fillmode
- \title Fillmode
+ \title Internationlization
+ \example declarative/i18n
+
+ This example shows how to enable text translation in QML.
*/
/*!
- \title Flipable
- \example declarative/flipable
+ \title Positioners
+ \example declarative/positioners
- This example shows how to use a Flipable element in QML.
+ This example shows how to use positioner elements such as Row, Column,
+ Grid and Flow.
*/
/*!
- \title Focus
- \example declarative/focus
+ \title Key Interaction: Focus
+ \example declarative/keyinteraction/focus
This example shows how to handle keys and focus in QML.
@@ -120,141 +203,238 @@
*/
/*!
- \example declarative/fonts
- \title Fonts
+ \title Models and Views: GridView
+ \example declarative/modelviews/gridview
+
+ This example shows how to use the GridView element.
*/
/*!
- \example declarative/gridview
- \title GridView
+ \title Models and Views: ListView
+ \example declarative/modelviews/listview
+
+ This example shows how to use the ListView element.
*/
/*!
- \example declarative/imageprovider
- \title Image Provider
+ \title Models and Views: Object ListModel
+ \example declarative/modelviews/objectlistmodel
+
+ This example shows how to create a C++ extension that exposes a
+ QList<QObject*> as a model in QML.
*/
/*!
- \example declarative/images
- \title Images
+ \title Models and Views: Package
+ \example declarative/modelviews/package
+
+ This example shows how to use the Package element.
*/
/*!
- \example declarative/layouts
- \title Layouts
+ \title Models and Views: Parallax
+ \example declarative/modelviews/parallax
+
+ This example shows how to combine and switch between views.
*/
/*!
- \example declarative/listmodel-threaded
- \title ListModel Threaded
+ \title Models and Views: String ListModel
+ \example declarative/modelviews/stringlistmodel
+
+ This example shows how to create a C++ extension that exposes a
+ QStringList as a model in QML.
*/
/*!
- \example declarative/listview
- \title ListView
+ \title Models and Views: VisualItemModel
+ \example declarative/modelviews/visualitemmodel
+
+ This example shows how to use the VisualItemModel element.
*/
/*!
- \example declarative/mousearea
- \title Mouse Area
+ \title Models and Views: WebView
+ \example declarative/modelviews/webview
+
+ This example shows how to use the WebView element.
*/
/*!
- \example declarative/objectlistmodel
- \title Object ListModel
+ \title SQL Local Storage
+ \example declarative/sqllocalstorage
+
+ This example shows how to use the SQL Local Storage API in QML.
*/
/*!
- \example declarative/package
- \title Package
+ \title Text: Fonts
+ \example declarative/text/fonts
+
+ This example shows how to discover available fonts from QML and use
+ fonts in different ways.
*/
/*!
- \example declarative/parallax
- \title Parallax
+ \title Threading: Threaded ListModel
+ \example declarative/threading/threadedlistmodel
+
+ This example shows how to use a ListModel from multiple threads using
+ WorkerScript.
*/
/*!
- \example declarative/plugins
- \title Plugins
+ \title Threading: WorkerScript
+ \example declarative/threading/workerscript
+
+ This example shows how to use the WorkerScript element for threading in QML.
*/
/*!
- \example declarative/progressbar
- \title Progress Bars
+ \title Toys: Clocks
+ \example declarative/toys/clocks
+
+ This example displays a set of clocks with different times for different cities.
+ Each clock is created by combining \l Image elements with \l Rotation transforms
+ and \l SpringFollow animations.
+
+ \image qml-clocks-example.png
*/
/*!
- \example declarative/proxywidgets
- \title Proxy Widgets
+ \title Toys: Corkboards
+ \example declarative/toys/corkboards
+
+ This example presents a flickable set of interactive corkboards. It is created
+ through a combination of elements like \l ListModel, \l Repeater and \l TextEdit
+ together with rotation and scaling transforms, animation and mouse interaction.
+
+ \image qml-corkboards-example.png
*/
/*!
- \example declarative/scrollbar
- \title Scrollbar
+ \title Toys: Dynamic Scene
+ \example declarative/toys/dynamicscene
+
+ This example presents an interactive drag-and-drop scene. It demonstrates
+ how to use QML's \l{Dynamic Object Creation} support to dynamically create and
+ destroy objects.
+
+ \image qml-dynamicscene-example.png
*/
/*!
- \example declarative/searchbox
- \title Search Box
+ \title Toys: Tic-Tac-Toe
+ \example declarative/toys/tic-tac-toe
+
+ This example presents a simple implementation of Tic Tac Toe.
+
+ \image qml-tic-tac-toe-example.png
*/
/*!
- \example declarative/slideswitch
- \title Slide Switch
+ \title Toys: TV Tennis
+ \example declarative/toys/tvtennis
+
+ This example shows how to use animation components such as \l SpringFollow,
+ \l SequentialAnimation and \l PropertyAction to create a game of TV tennis.
+
+ \image qml-tvtennis-example.png
*/
/*!
- \example declarative/sql
- \title SQL
+ \title Touch Interaction: Gestures
+ \example declarative/touchinteraction/gestures
+
+ This example shows how to use the GestureArea element.
*/
/*!
- \example declarative/states
- \title States
+ \title Touch Interaction: Mouse Area
+ \example declarative/touchinteraction/mousearea
+
+ This example shows how to use the MouseArea element.
*/
/*!
- \example declarative/stringlistmodel
- \title String ListModel
+ \title UI Components: Dial
+ \example declarative/ui-components/dialcontrol
+
+ This example presents an interactive speedometer-type dial by combining
+ \l Image elements with \l Rotation transforms and \l SpringFollow animations.
+
+ \image qml-dialcontrol-example.png
*/
+
/*!
- \example declarative/tabwidget
- \title Tab Widget
+ \title UI Components: Flipable
+ \example declarative/ui-components/flipable
+
+ This example shows how to use the Flipable element.
+
+ \image qml-flipable-example.png
*/
/*!
- \example declarative/tic-tac-toe
- \title Tic-Tac-Toe
+ \title UI Components: Progress Bars
+ \example declarative/ui-components/progressbar
+
+ This example shows how to create a progress bar.
+
+ \image qml-progressbar-example.png
*/
/*!
- \example declarative/tvtennis
- \title TV Tennis
+ \title UI Components: Scroll Bar
+ \example declarative/ui-components/scrollbar
+
+ This example shows how to create scroll bars for a Flickable element
+ using the \l {Flickable::visibleArea.xPosition}{Flickable::visibleArea}
+ properties.
+
+ \image qml-scrollbar-example.png
*/
/*!
- \example declarative/velocity
- \title Velocity
+ \title UI Components: Search Box
+ \example declarative/ui-components/searchbox
+
+ This example shows how to create a search box.
+
+ \image qml-searchbox-example.png
*/
/*!
- \example declarative/webview
- \title WebView
+ \title UI Components: Slide Switch
+ \example declarative/ui-components/slideswitch
+
+ This example shows how to create a slide switch.
+
+ \image qml-slideswitch-example.png
*/
/*!
- \example declarative/workerscript
- \title WorkerScript
+ \title UI Components: Spinner
+ \example declarative/ui-components/spinner
+
+ This example shows how to create a spinner-type component.
+
+ \image qml-spinner-example.png
*/
/*!
- \example declarative/xmldata
- \title XML Data
+ \title UI Components: Tab Widget
+ \example declarative/ui-components/tabwidget
+
+ This example shows how to create a tab widget.
+
+ \image qml-tabwidget-example.png
*/
/*!
- \example declarative/xmlhttprequest
- \title XMLHttpRequest
+ \title XML: XMLHttpRequest
+ \example declarative/xml/xmlhttprequest
+
+ This example shows how to use \l XmlHttpRequest in QML.
*/
diff --git a/doc/src/examples/qml-extending.qdoc b/doc/src/examples/qml-extending.qdoc
new file mode 100644
index 0000000000..09108d667e
--- /dev/null
+++ b/doc/src/examples/qml-extending.qdoc
@@ -0,0 +1,302 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the documentation of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+/*!
+\example declarative/cppextensions/referenceexamples/adding
+\title Extending QML - Adding Types Example
+
+The Adding Types Example shows how to add a new element type, \c Person, to QML.
+The \c Person type can be used from QML like this:
+
+\snippet examples/declarative/cppextensions/referenceexamples/adding/example.qml 0
+
+\section1 Declare the Person class
+
+All QML elements map to C++ types. Here we declare a basic C++ Person class
+with the two properties we want accessible on the QML type - name and shoeSize.
+Although in this example we use the same name for the C++ class as the QML
+element, the C++ class can be named differently, or appear in a namespace.
+
+\snippet examples/declarative/cppextensions/referenceexamples/adding/person.h 0
+
+\section1 Define the Person class
+
+\snippet examples/declarative/cppextensions/referenceexamples/adding/person.cpp 0
+
+The Person class implementation is quite basic. The property accessors simply
+return members of the object instance.
+
+The \c main.cpp file also calls the \c qmlRegisterType() function to
+register the \c Person type with QML as a type in the People library version 1.0,
+and defines the mapping between the C++ and QML class names.
+
+\section1 Running the example
+
+The main.cpp file in the example includes a simple shell application that
+loads and runs the QML snippet shown at the beginning of this page.
+*/
+
+/*!
+\example declarative/cppextensions/referenceexamples/properties
+\title Extending QML - Object and List Property Types Example
+
+This example builds on:
+\list
+\o \l {Extending QML - Adding Types Example}
+\endlist
+
+The Object and List Property Types example shows how to add object and list
+properties in QML. This example adds a BirthdayParty element that specifies
+a birthday party, consisting of a celebrant and a list of guests. People are
+specified using the People QML type built in the previous example.
+
+\snippet examples/declarative/cppextensions/referenceexamples/properties/example.qml 0
+
+\section1 Declare the BirthdayParty
+
+The BirthdayParty class is declared like this:
+
+\snippet examples/declarative/cppextensions/referenceexamples/properties/birthdayparty.h 0
+\snippet examples/declarative/cppextensions/referenceexamples/properties/birthdayparty.h 1
+\snippet examples/declarative/cppextensions/referenceexamples/properties/birthdayparty.h 2
+\snippet examples/declarative/cppextensions/referenceexamples/properties/birthdayparty.h 3
+
+The class contains a member to store the celebrant object, and also a
+QList<Person *> member.
+
+In QML, the type of a list properties - and the guests property is a list of
+people - are all of type QDeclarativeListProperty<T>. QDeclarativeListProperty is simple value
+type that contains a set of function pointers. QML calls these function
+pointers whenever it needs to read from, write to or otherwise interact with
+the list. In addition to concrete lists like the people list used in this
+example, the use of QDeclarativeListProperty allows for "virtual lists" and other advanced
+scenarios.
+
+\section2 Define the BirthdayParty
+
+The implementation of BirthdayParty property accessors is straight forward.
+
+\snippet examples/declarative/cppextensions/referenceexamples/properties/birthdayparty.cpp 0
+
+\section1 Running the example
+
+The main.cpp file in the example includes a simple shell application that
+loads and runs the QML snippet shown at the beginning of this page.
+*/
+
+/*!
+\example declarative/cppextensions/referenceexamples/coercion
+\title Extending QML - Inheritance and Coercion Example
+
+This example builds on:
+\list
+\o \l {Extending QML - Object and List Property Types Example}
+\o \l {Extending QML - Adding Types Example}
+\endlist
+
+The Inheritance and Coercion Example shows how to use base classes to assign
+elements of more than one type to a property. It specializes the Person element
+developed in the previous examples into two elements - a \c Boy and a \c Girl.
+
+\snippet examples/declarative/cppextensions/referenceexamples/coercion/example.qml 0
+
+\section1 Declare Boy and Girl
+
+\snippet examples/declarative/cppextensions/referenceexamples/coercion/person.h 0
+
+The Person class remains unaltered in this example and the Boy and Girl C++
+classes are trivial extensions of it. As an example, the inheritance used here
+is a little contrived, but in real applications it is likely that the two
+extensions would add additional properties or modify the Person classes
+behavior.
+
+\section2 Define People as a base class
+
+The implementation of the People class itself has not changed since the the
+previous example. However, as we have repurposed the People class as a common
+base for Boy and Girl, we want to prevent it from being instantiated from QML
+directly - an explicit Boy or Girl should be instantiated instead.
+
+\snippet examples/declarative/cppextensions/referenceexamples/coercion/main.cpp 0
+
+While we want to disallow instantiating Person from within QML, it still needs
+to be registered with the QML engine, so that it can be used as a property type
+and other types can be coerced to it.
+
+\section2 Define Boy and Girl
+
+The implementation of Boy and Girl are trivial.
+
+\snippet examples/declarative/cppextensions/referenceexamples/coercion/person.cpp 1
+
+All that is necessary is to implement the constructor, and to register the types
+and their QML name with the QML engine.
+
+\section1 Running the example
+
+The BirthdayParty element has not changed since the previous example. The
+celebrant and guests property still use the People type.
+
+\snippet examples/declarative/cppextensions/referenceexamples/coercion/birthdayparty.h 0
+
+However, as all three types, Person, Boy and Girl, have been registered with the
+QML system, on assignment QML automatically (and type-safely) converts the Boy
+and Girl objects into a Person.
+
+The main.cpp file in the example includes a simple shell application that
+loads and runs the QML snippet shown at the beginning of this page.
+*/
+
+/*!
+\example declarative/cppextensions/referenceexamples/default
+\title Extending QML - Default Property Example
+
+This example builds on:
+\list
+\o \l {Extending QML - Inheritance and Coercion Example}
+\o \l {Extending QML - Object and List Property Types Example}
+\o \l {Extending QML - Adding Types Example}
+\endlist
+
+The Default Property Example is a minor modification of the
+\l {Extending QML - Inheritance and Coercion Example} that simplifies the
+specification of a BirthdayParty through the use of a default property.
+
+\snippet examples/declarative/cppextensions/referenceexamples/default/example.qml 0
+
+\section1 Declaring the BirthdayParty class
+
+The only difference between this example and the last, is the addition of the
+\c DefaultProperty class info annotation.
+
+\snippet examples/declarative/cppextensions/referenceexamples/default/birthdayparty.h 0
+
+The default property specifies the property to assign to whenever an explicit
+property is not specified, in the case of the BirthdayParty element the guest
+property. It is purely a syntactic simplification, the behavior is identical
+to specifying the property by name, but it can add a more natural feel in many
+situations. The default property must be either an object or list property.
+
+\section1 Running the example
+
+The main.cpp file in the example includes a simple shell application that
+loads and runs the QML snippet shown at the beginning of this page.
+*/
+
+/*!
+\example declarative/cppextensions/referenceexamples/grouped
+\title Extending QML - Grouped Properties Example
+
+This example builds on:
+\list
+\o \l {Extending QML - Default Property Example}
+\o \l {Extending QML - Inheritance and Coercion Example}
+\o \l {Extending QML - Object and List Property Types Example}
+\o \l {Extending QML - Adding Types Example}
+\endlist
+
+*/
+
+/*!
+\example declarative/cppextensions/referenceexamples/attached
+\title Extending QML - Attached Properties Example
+
+This example builds on:
+\list
+\o \l {Extending QML - Grouped Properties Example}
+\o \l {Extending QML - Default Property Example}
+\o \l {Extending QML - Inheritance and Coercion Example}
+\o \l {Extending QML - Object and List Property Types Example}
+\o \l {Extending QML - Adding Types Example}
+\endlist
+
+*/
+
+/*!
+\example declarative/cppextensions/referenceexamples/signal
+\title Extending QML - Signal Support Example
+
+This example builds on:
+\list
+\o \l {Extending QML - Attached Properties Example}
+\o \l {Extending QML - Grouped Properties Example}
+\o \l {Extending QML - Default Property Example}
+\o \l {Extending QML - Inheritance and Coercion Example}
+\o \l {Extending QML - Object and List Property Types Example}
+\o \l {Extending QML - Adding Types Example}
+\endlist
+
+*/
+
+/*!
+\example declarative/cppextensions/referenceexamples/valuesource
+\title Extending QML - Property Value Source Example
+
+This example builds on:
+\list
+\o \l {Extending QML - Signal Support Example}
+\o \l {Extending QML - Attached Properties Example}
+\o \l {Extending QML - Grouped Properties Example}
+\o \l {Extending QML - Default Property Example}
+\o \l {Extending QML - Inheritance and Coercion Example}
+\o \l {Extending QML - Object and List Property Types Example}
+\o \l {Extending QML - Adding Types Example}
+\endlist
+
+*/
+
+/*!
+\example declarative/cppextensions/referenceexamples/binding
+\title Extending QML - Binding Example
+
+This example builds on:
+\list
+\o \l {Extending QML - Property Value Source Example}
+\o \l {Extending QML - Signal Support Example}
+\o \l {Extending QML - Attached Properties Example}
+\o \l {Extending QML - Grouped Properties Example}
+\o \l {Extending QML - Default Property Example}
+\o \l {Extending QML - Inheritance and Coercion Example}
+\o \l {Extending QML - Object and List Property Types Example}
+\o \l {Extending QML - Adding Types Example}
+\endlist
+
+*/
diff --git a/doc/src/examples/qml-flickr.qdoc b/doc/src/examples/qml-flickr.qdoc
index ebf3250f0b..43fcf1f6cf 100644
--- a/doc/src/examples/qml-flickr.qdoc
+++ b/doc/src/examples/qml-flickr.qdoc
@@ -45,5 +45,5 @@
This demo shows how to write a mobile Flickr browser application in QML.
- \image qml-flickr-example.png
+ \image qml-flickr-demo.png
*/
diff --git a/doc/src/examples/qml-folderlistmodel.qdoc b/doc/src/examples/qml-folderlistmodel.qdoc
new file mode 100644
index 0000000000..b820528c9c
--- /dev/null
+++ b/doc/src/examples/qml-folderlistmodel.qdoc
@@ -0,0 +1,144 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the documentation of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+/*!
+
+\title FolderListModel - a C++ model plugin
+\example src/imports/folderlistmodel
+
+This plugin shows how to make a C++ model available to QML. It presents
+a simple file list for a single folder (directory) and allows the presented
+folder to be changed.
+
+\image declarative-folderlistmodel.png The FolderListModel used to choose a QML file
+
+We do not explain the model implementation in detail, but rather focus on the mechanics of
+making the model available to QML.
+
+\section1 Usage from QML
+
+The type we are creating can be used from QML like this:
+
+\snippet doc/src/snippets/declarative/folderlistmodel.qml 0
+
+\section1 Defining the Model
+
+We are subclassing QAbstractListModel which will allow us to give data to QML and
+send notifications when the data changes:
+
+\snippet src/imports/folderlistmodel/qdeclarativefolderlistmodel.h class begin
+
+As you see, we also inherit the QDeclarativeParserStatus interface, so that we
+can delay initial processing until we have all properties set (via componentComplete() below).
+
+The first thing to do when devising a new type for QML is to define the properties
+you want the type to have:
+
+\snippet src/imports/folderlistmodel/qdeclarativefolderlistmodel.h class props
+
+The purposes of each of these should be pretty obvious - in QML we will set the folder
+to display (a file: URL), and the kinds of files we want to show in the view of the model.
+
+Next are the constructor, destructor, and standard QAbstractListModel subclassing requirements:
+
+\snippet src/imports/folderlistmodel/qdeclarativefolderlistmodel.h abslistmodel
+
+The data() function is where we provide model values. The rowCount() function
+is also a standard part of the QAbstractListModel interface, but we also want to provide
+a simpler count property:
+
+\snippet src/imports/folderlistmodel/qdeclarativefolderlistmodel.h count
+
+Then we have the functions for the remaining properties which we defined above:
+
+\snippet src/imports/folderlistmodel/qdeclarativefolderlistmodel.h prop funcs
+
+Imperative actions upon the model are made available to QML via a Q_INVOKABLE tag on
+a normal member function. The isFolder(index) function says whether the value at \e index
+is a folder:
+
+\snippet src/imports/folderlistmodel/qdeclarativefolderlistmodel.h isfolder
+
+Then we have the QDeclarativeParserStatus interface:
+
+\snippet src/imports/folderlistmodel/qdeclarativefolderlistmodel.h parserstatus
+
+Then the NOTIFY function for the folders property. The implementation will emit this
+when the folder property is changed.
+
+\snippet src/imports/folderlistmodel/qdeclarativefolderlistmodel.h notifier
+
+The class ends with some implementation details:
+
+\snippet src/imports/folderlistmodel/qdeclarativefolderlistmodel.h class end
+
+Lastly, the boilerplare to declare the type for QML use:
+
+\snippet src/imports/folderlistmodel/qdeclarativefolderlistmodel.h qml decl
+
+\section1 Connecting the Model to QML
+
+To make this class available to QML, we only need to make a simple subclass of QDeclarativeExtensionPlugin:
+
+\snippet src/imports/folderlistmodel/plugin.cpp class decl
+
+and then use the standard Qt plugin export macro:
+
+\snippet src/imports/folderlistmodel/plugin.cpp plugin export decl
+
+Finally, in order for QML to connect the "import" statement to our plugin, we list it in the qmldir file:
+
+\l{src/imports/folderlistmodel/qmldir}
+
+This qmldir file and the compiled plugin will be installed in \c $QTDIR/imports/Qt/labs/folderlistmodel/ where
+the QML engine will find it (since \c $QTDIR/imports is the value of QLibraryInf::libraryPath()).
+
+\section1 Implementing the Model
+
+We'll not discuss the model implementation in detail, as it is not specific to QML - any Qt C++ model
+can be interfaced to QML.
+This implementation is basically just takes the krufty old QDirModel,
+which is a tree with lots of detailed roles and re-presents it as a simpler list model where
+each item is just a fileName and a filePath (as a file: URL rather than a plain file, since QML
+works with URLs for all content).
+
+\l{src/imports/folderlistmodel/qdeclarativefolderlistmodel.cpp}
+*/
diff --git a/doc/src/examples/qml-minehunt.qdoc b/doc/src/examples/qml-minehunt.qdoc
index 773f21646d..b2c662d91f 100644
--- a/doc/src/examples/qml-minehunt.qdoc
+++ b/doc/src/examples/qml-minehunt.qdoc
@@ -43,7 +43,8 @@
\title Minehunt
\example demos/declarative/minehunt
- This demo shows how to create a simple Minehunt game with QML and C++.
+ This demo shows how to create a simple Minehunt game, using QML for the
+ UI and a C++ plugin for the game logic.
- \image qml-minehunt-example.png
+ \image qml-minehunt-demo.png
*/
diff --git a/doc/src/examples/qml-photoviewer.qdoc b/doc/src/examples/qml-photoviewer.qdoc
index d1c3da287e..d2114b90f9 100644
--- a/doc/src/examples/qml-photoviewer.qdoc
+++ b/doc/src/examples/qml-photoviewer.qdoc
@@ -45,5 +45,5 @@
This demo shows how to write a Flickr photo viewer application in QML.
- \image qml-photoviewer-example.png
+ \image qml-photoviewer-demo.png
*/
diff --git a/doc/src/examples/qml-rssnews.qdoc b/doc/src/examples/qml-rssnews.qdoc
new file mode 100644
index 0000000000..801efd9ab1
--- /dev/null
+++ b/doc/src/examples/qml-rssnews.qdoc
@@ -0,0 +1,49 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the documentation of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+/*!
+ \title RSS News
+ \example demos/declarative/rssnews
+
+ This demo shows how to write a RSS news reader in QML.
+
+ \image qml-rssnews-demo.png
+*/
diff --git a/doc/src/examples/qml-samegame.qdoc b/doc/src/examples/qml-samegame.qdoc
index d9a9c7c433..5b78b0cf42 100644
--- a/doc/src/examples/qml-samegame.qdoc
+++ b/doc/src/examples/qml-samegame.qdoc
@@ -43,7 +43,8 @@
\title Same Game
\example demos/declarative/samegame
- This demo shows how to write a Same Game in QML.
+ This demo shows how to write a 'Same Game' game in QML, using Javascript
+ for all the game logic.
- \image qml-samegame-example.png
+ \image qml-samegame-demo.png
*/
diff --git a/doc/src/examples/qml-snake.qdoc b/doc/src/examples/qml-snake.qdoc
index 373ca133af..3125f2d939 100644
--- a/doc/src/examples/qml-snake.qdoc
+++ b/doc/src/examples/qml-snake.qdoc
@@ -43,7 +43,8 @@
\title Snake
\example demos/declarative/snake
- This demo shows how to write a Snake game in QML.
+ This demo shows how to write a Snake game in QML, controlled by the
+ keyboard as well as the mouse.
- \image qml-snake-example.png
+ \image qml-snake-demo.png
*/
diff --git a/doc/src/examples/qml-twitter.qdoc b/doc/src/examples/qml-twitter.qdoc
new file mode 100644
index 0000000000..0e663606f0
--- /dev/null
+++ b/doc/src/examples/qml-twitter.qdoc
@@ -0,0 +1,50 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the documentation of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+/*!
+ \title Twitter Mobile
+ \example demos/declarative/twitter
+
+ This demo shows how to write a mobile Twitter client in QML. Use it to
+ tweet us(@qtbynokia) how much you like our demos!
+
+ \image qml-twitter-demo.png
+*/
diff --git a/doc/src/examples/transformations.qdoc b/doc/src/examples/transformations.qdoc
index 0d8de1d4d0..0c246cb72a 100644
--- a/doc/src/examples/transformations.qdoc
+++ b/doc/src/examples/transformations.qdoc
@@ -87,7 +87,7 @@
tranformation matrix that you can retrieve using the
QPainter::worldTransform() function. A matrix transforms a point in the
plane to another point. For more information about the
- transformation matrix, see the \l {The Coordinate System} and
+ transformation matrix, see the \l {Coordinate System} and
QTransform documentation.
\snippet examples/painting/transformations/renderarea.h 0
@@ -374,7 +374,7 @@
All the tranformation operations operate on QPainter's
tranformation matrix. For more information about the
- transformation matrix, see the \l {The Coordinate System} and
+ transformation matrix, see the \l {Coordinate System} and
QTransform documentation.
The Qt reference documentation provides several painting
diff --git a/doc/src/examples/undoframework.qdoc b/doc/src/examples/undoframework.qdoc
index adb38b6c2c..aab25fa499 100644
--- a/doc/src/examples/undoframework.qdoc
+++ b/doc/src/examples/undoframework.qdoc
@@ -67,7 +67,7 @@
available through the edit menu. The user can also select a command
from the undo view.
- We use the \l{The Graphics View Framework}{graphics view
+ We use the \l{Graphics View Framework}{graphics view
framework} to implement the diagram. We only treat the related
code briefly as the framework has examples of its own (e.g., the
\l{Diagram Scene Example}).
diff --git a/doc/src/examples/waitconditions.qdoc b/doc/src/examples/waitconditions.qdoc
index 1d3ff849e3..d4f680e4e5 100644
--- a/doc/src/examples/waitconditions.qdoc
+++ b/doc/src/examples/waitconditions.qdoc
@@ -92,7 +92,7 @@
Together, the wait conditions, the mutex, and the \c numUsedBytes
counter ensure that the producer is never more than \c BufferSize
bytes ahead of the consumer, and that the consumer never reads
- data that the consumer hasn't generated yet.
+ data that the producer hasn't generated yet.
\section1 Producer Class
diff --git a/doc/src/external-resources.qdoc b/doc/src/external-resources.qdoc
index 3ca50b4b99..249c10a14e 100644
--- a/doc/src/external-resources.qdoc
+++ b/doc/src/external-resources.qdoc
@@ -422,3 +422,8 @@
\externalpage http://www.w3.org/XML/Schema
\title XML Schema
*/
+
+/*!
+ \externalpage http://opensource.org/licenses/bsd-license.php
+ \title New and Modified BSD Licenses
+*/
diff --git a/doc/src/files-and-resources/datastreamformat.qdoc b/doc/src/files-and-resources/datastreamformat.qdoc
index bab2c2c3e0..c4be7bbd59 100644
--- a/doc/src/files-and-resources/datastreamformat.qdoc
+++ b/doc/src/files-and-resources/datastreamformat.qdoc
@@ -41,7 +41,8 @@
/*!
\page datastreamformat.html
- \title Format of the QDataStream Operators
+ \title Serializing Qt Data Types
+ \ingroup qt-network
\brief Representations of data types that can be serialized by QDataStream.
The \l QDataStream allows you to serialize some of the Qt data types.
diff --git a/doc/src/files-and-resources/resources.qdoc b/doc/src/files-and-resources/resources.qdoc
index 00646ac5ca..83d74a3d93 100644
--- a/doc/src/files-and-resources/resources.qdoc
+++ b/doc/src/files-and-resources/resources.qdoc
@@ -54,6 +54,8 @@
/*!
\page resources.html
\title The Qt Resource System
+ \ingroup qt-network
+ \brief A platform-independent mechanism for storing binary files in an application.
\keyword resource system
diff --git a/doc/src/frameworks-technologies/accessible.qdoc b/doc/src/frameworks-technologies/accessible.qdoc
index 101d22a4ae..0aff214a21 100644
--- a/doc/src/frameworks-technologies/accessible.qdoc
+++ b/doc/src/frameworks-technologies/accessible.qdoc
@@ -47,8 +47,10 @@
/*!
\page accessible.html
\title Accessibility
-
- \ingroup frameworks-technologies
+ \brief How to make your applications accessible to those with disabilities.
+
+ \ingroup technology-apis
+ \ingroup best-practices
\tableofcontents
diff --git a/doc/src/frameworks-technologies/activeqt-container.qdoc b/doc/src/frameworks-technologies/activeqt-container.qdoc
index c1c09479f7..03cfa8f3f6 100644
--- a/doc/src/frameworks-technologies/activeqt-container.qdoc
+++ b/doc/src/frameworks-technologies/activeqt-container.qdoc
@@ -41,10 +41,11 @@
/*!
\page activeqt-container.html
- \title Using ActiveX controls and COM objects in Qt
+ \title Using ActiveX controls and COM in Qt
+ \ingroup qt-activex
- \brief The QAxContainer module is a Windows-only extension for
- accessing ActiveX controls and COM objects.
+ \brief A Windows-only extension for accessing ActiveX controls and
+ COM objects.
The QAxContainer module is part of the \l ActiveQt framework. It
provides a library implementing a QWidget subclass, QAxWidget,
diff --git a/doc/src/frameworks-technologies/activeqt-server.qdoc b/doc/src/frameworks-technologies/activeqt-server.qdoc
index 4afcee1114..900953a311 100644
--- a/doc/src/frameworks-technologies/activeqt-server.qdoc
+++ b/doc/src/frameworks-technologies/activeqt-server.qdoc
@@ -41,10 +41,10 @@
/*!
\page activeqt-server.html
- \title Building ActiveX servers and controls with Qt
+ \title Building ActiveX servers in Qt
+ \ingroup qt-activex
- \brief The QAxServer module is a Windows-only static library that
- you can use to turn a standard Qt binary into a COM server.
+ \brief A Windows-only static library for turning a Qt binary into a COM server.
The QAxServer module is part of the \l ActiveQt framework. It
consists of three classes:
diff --git a/doc/src/frameworks-technologies/activeqt.qdoc b/doc/src/frameworks-technologies/activeqt.qdoc
index b752122dad..5a3b23ebeb 100644
--- a/doc/src/frameworks-technologies/activeqt.qdoc
+++ b/doc/src/frameworks-technologies/activeqt.qdoc
@@ -53,12 +53,12 @@
/*!
\page activeqt.html
- \title ActiveQt Framework
+ \title Qt's ActiveX Framework (ActiveQt)
\brief An overview of Qt's ActiveX and COM integration on Windows.
- \ingroup platform-specific
- \ingroup frameworks-technologies
+ \ingroup qt-activex
\keyword ActiveQt
+ \target ActiveQt Framework
Qt's ActiveX and COM support allows Qt for Windows developers to:
@@ -71,16 +71,16 @@
\endlist
For more information about using ActiveX with Qt, see
- \l{Building ActiveX servers and controls with Qt}.
+ \l{Building ActiveX servers in Qt}.
The ActiveQt framework consists of two modules:
\list
- \o The \l{Using ActiveX controls and COM objects in Qt}{QAxContainer}
+ \o The \l{Using ActiveX controls and COM in Qt}{QAxContainer}
module is a static library implementing QObject and QWidget subclasses,
QAxObject and QAxWidget, that act as containers for COM objects and
ActiveX controls.
- \o The \l{Building ActiveX servers and controls with Qt}{QAxServer}
+ \o The \l{Building ActiveX servers in Qt}{QAxServer}
module is a static library that implements
functionality for in-process and executable COM servers. This
module provides the QAxAggregated, QAxBindable and QAxFactory
diff --git a/doc/src/frameworks-technologies/animation.qdoc b/doc/src/frameworks-technologies/animation.qdoc
index 5548b57590..dc705ba85d 100644
--- a/doc/src/frameworks-technologies/animation.qdoc
+++ b/doc/src/frameworks-technologies/animation.qdoc
@@ -47,6 +47,7 @@
/*!
\page animation-overview.html
\title The Animation Framework
+ \ingroup qt-gui-concepts
\brief An overview of the Animation Framework
diff --git a/doc/src/frameworks-technologies/containers.qdoc b/doc/src/frameworks-technologies/containers.qdoc
index 505b65c987..5b184fa519 100644
--- a/doc/src/frameworks-technologies/containers.qdoc
+++ b/doc/src/frameworks-technologies/containers.qdoc
@@ -58,7 +58,7 @@
/*!
\page containers.html
\title Generic Containers
- \ingroup frameworks-technologies
+ \ingroup technology-apis
\ingroup groups
\keyword container class
\keyword container classes
diff --git a/doc/src/frameworks-technologies/dbus-adaptors.qdoc b/doc/src/frameworks-technologies/dbus-adaptors.qdoc
index 5fc7a7930f..3dd0e4dea6 100644
--- a/doc/src/frameworks-technologies/dbus-adaptors.qdoc
+++ b/doc/src/frameworks-technologies/dbus-adaptors.qdoc
@@ -42,7 +42,9 @@
/*!
\page usingadaptors.html
\title Using QtDBus Adaptors
+ \brief How to create and use DBus adaptors in Qt.
+ \ingroup technology-apis
\ingroup best-practices
Adaptors are special classes that are attached to any QObject-derived class
diff --git a/doc/src/frameworks-technologies/dbus-intro.qdoc b/doc/src/frameworks-technologies/dbus-intro.qdoc
index 1fe2ed2810..10726e5e7a 100644
--- a/doc/src/frameworks-technologies/dbus-intro.qdoc
+++ b/doc/src/frameworks-technologies/dbus-intro.qdoc
@@ -45,7 +45,7 @@
\brief An introduction to Inter-Process Communication and Remote Procedure Calling with D-Bus.
\keyword QtDBus
- \ingroup frameworks-technologies
+ \ingroup technology-apis
\section1 Introduction
diff --git a/doc/src/frameworks-technologies/desktop-integration.qdoc b/doc/src/frameworks-technologies/desktop-integration.qdoc
index 7f01ae337d..59b2570e80 100644
--- a/doc/src/frameworks-technologies/desktop-integration.qdoc
+++ b/doc/src/frameworks-technologies/desktop-integration.qdoc
@@ -40,16 +40,12 @@
****************************************************************************/
/*!
- \group desktop
- \title Desktop Integration Classes
-*/
-
-/*!
\page desktop-integration.html
\title Desktop Integration
\brief Integrating with the user's desktop environment.
\ingroup best-practices
+ \ingroup qt-gui-concepts
Qt applications behave well in the user's desktop environment, but certain
integrations require additional, and sometimes platform specific, techniques.
diff --git a/doc/src/frameworks-technologies/dnd.qdoc b/doc/src/frameworks-technologies/dnd.qdoc
index 49468de308..f728972b2a 100644
--- a/doc/src/frameworks-technologies/dnd.qdoc
+++ b/doc/src/frameworks-technologies/dnd.qdoc
@@ -40,18 +40,12 @@
****************************************************************************/
/*!
- \group draganddrop
- \title Drag And Drop Classes
-
- \brief Classes dealing with drag and drop and mime type encoding and decoding.
-*/
-
-/*!
\page dnd.html
\title Drag and Drop
\brief An overview of the drag and drop system provided by Qt.
- \ingroup frameworks-technologies
+ \ingroup technology-apis
+ \ingroup qt-gui-concepts
Drag and drop provides a simple visual mechanism which users can use
to transfer information between and within applications. (In the
@@ -64,9 +58,9 @@
This document describes the basic drag and drop mechanism and
outlines the approach used to enable it in custom widgets. Drag
and drop operations are also supported by Qt's item views and by
- the graphics view framework; more information is available in the
- \l{Using Drag and Drop with Item Views} and \l{The Graphics View
- Framework} documents.
+ the graphics view framework. More information is available in
+ \l{Using Drag and Drop with Item Views} and \l{Graphics View
+ Framework}.
\section1 Drag and Drop Classes
diff --git a/doc/src/frameworks-technologies/eventsandfilters.qdoc b/doc/src/frameworks-technologies/eventsandfilters.qdoc
index 96ee18c818..0cd60b8440 100644
--- a/doc/src/frameworks-technologies/eventsandfilters.qdoc
+++ b/doc/src/frameworks-technologies/eventsandfilters.qdoc
@@ -54,7 +54,8 @@
/*!
\page eventsandfilters.html
- \title Events and Event Filters
+ \title The Event System
+ \ingroup qt-basic-concepts
\brief A guide to event handling in Qt.
\ingroup frameworks-technologies
diff --git a/doc/src/frameworks-technologies/gestures.qdoc b/doc/src/frameworks-technologies/gestures.qdoc
index 1b395b0e45..c999fa6e46 100644
--- a/doc/src/frameworks-technologies/gestures.qdoc
+++ b/doc/src/frameworks-technologies/gestures.qdoc
@@ -42,12 +42,13 @@
/*!
\page gestures-overview.html
\title Gestures Programming
- \ingroup frameworks-technologies
\startpage index.html Qt Reference Documentation
+ \ingroup technology-apis
+ \ingroup qt-gui-concepts
- \brief An overview of the Qt support for Gesture programming.
+ \brief An overview of Qt support for Gesture programming.
- Qt includes a framework for gesture programming that gives has the ability
+ Qt includes a framework for gesture programming that has the ability
to form gestures from a series of events, independently of the input methods
used. A gesture could be a particular movement of a mouse, a touch screen
action, or a series of events from some other source. The nature of the input,
diff --git a/doc/src/frameworks-technologies/graphicsview.qdoc b/doc/src/frameworks-technologies/graphicsview.qdoc
index 6844aed680..b13f98e67f 100644
--- a/doc/src/frameworks-technologies/graphicsview.qdoc
+++ b/doc/src/frameworks-technologies/graphicsview.qdoc
@@ -46,12 +46,11 @@
/*!
\page graphicsview.html
- \title The Graphics View Framework
+ \title Graphics View Framework
+ \ingroup qt-graphics
\brief An overview of the Graphics View framework for interactive 2D
graphics.
- \ingroup frameworks-technologies
-
\keyword Graphics View
\keyword GraphicsView
\keyword Graphics
@@ -221,9 +220,10 @@
allow you to map between the three coordinate systems.
When rendering, Graphics View's scene coordinates correspond to
- QPainter's \e logical coordinates, and view coordinates are the same as
- \e device coordinates. In \l{The Coordinate System}, you can read about
- the relationship between logical coordinates and device coordinates.
+ QPainter's \e logical coordinates, and view coordinates are the
+ same as \e device coordinates. In the \l{Coordinate System}
+ documentation, you can read about the relationship between
+ logical coordinates and device coordinates.
\img graphicsview-parentchild.png
@@ -436,11 +436,12 @@
\section2 Animation
- Graphics View supports animation at several levels. You can easily
- assemble animation by using the Animation Framework. For that you'll
- need your items to inherit from QGraphicsObject and associate
- QPropertyAnimation with them. QPropertyAnimation allows to animate any
- QObject property.
+ Graphics View supports animation at several levels. You can
+ easily assemble animation by using the Animation Framework.
+ For that you'll need your items to inherit from
+ QGraphicsObject and associate QPropertyAnimation with
+ them. QPropertyAnimation allows to animate any QObject
+ property.
Another option is to create a custom item that inherits from QObject
and QGraphicsItem. The item can the set up its own timers, and control
diff --git a/doc/src/frameworks-technologies/implicit-sharing.qdoc b/doc/src/frameworks-technologies/implicit-sharing.qdoc
index e4d6f65d33..f42ec93766 100644
--- a/doc/src/frameworks-technologies/implicit-sharing.qdoc
+++ b/doc/src/frameworks-technologies/implicit-sharing.qdoc
@@ -50,7 +50,7 @@
/*!
\page implicit-sharing.html
\title Implicit Sharing
- \ingroup frameworks-technologies
+ \ingroup qt-basic-concepts
\brief Reference counting for fast copying.
diff --git a/doc/src/frameworks-technologies/ipc.qdoc b/doc/src/frameworks-technologies/ipc.qdoc
index 18a9455355..b49a816f85 100644
--- a/doc/src/frameworks-technologies/ipc.qdoc
+++ b/doc/src/frameworks-technologies/ipc.qdoc
@@ -44,7 +44,8 @@
\title Inter-Process Communication in Qt
\brief Inter-Process communication in Qt applications.
- \ingroup frameworks-technologies
+ \ingroup technology-apis
+ \ingroup qt-network
Qt provides several ways to implement Inter-Process Communication
(IPC) in Qt applications.
diff --git a/doc/src/frameworks-technologies/model-view-programming.qdoc b/doc/src/frameworks-technologies/model-view-programming.qdoc
index 7568981e1f..3bac8ce2e7 100644
--- a/doc/src/frameworks-technologies/model-view-programming.qdoc
+++ b/doc/src/frameworks-technologies/model-view-programming.qdoc
@@ -46,71 +46,13 @@
/*!
\page model-view-programming.html
- \nextpage An Introduction to Model/View Programming
- \startpage index.html Qt Reference Documentation
\title Model/View Programming
- \brief A guide to the extensible model/view architecture used by Qt's
- item view classes.
+ \brief A guide to Qt's extensible model/view architecture.
- \ingroup frameworks-technologies
+ \section1 Introduction to Model/View Programming
- \list
- \o \l{An Introduction to Model/View Programming}
- \tableofcontents{1 An Introduction to Model/View Programming}
- \o \l{Using Models and Views}
- \tableofcontents{1 Using Models and Views}
- \o \l{Model Classes}
- \tableofcontents{1 Model Classes}
- \o \l{Creating New Models}
- \tableofcontents{1 Creating New Models}
- \o \l{View Classes}
- \tableofcontents{1 View Classes}
- \o \l{Handling Selections in Item Views}
- \tableofcontents{1 Handling Selections in Item Views}
- \o \l{Delegate Classes}
- \tableofcontents{1 Delegate Classes}
- \o \l{Item View Convenience Classes}
- \tableofcontents{1 Item View Convenience Classes}
- \o \l{Using Drag and Drop with Item Views}
- \tableofcontents{1 Using Drag and Drop with Item Views}
- \o \l{Proxy Models}
- \tableofcontents{1 Proxy Models}
- \o \l{Model Subclassing Reference}
- \tableofcontents{1 Model Subclassing Reference}
- \endlist
-
- \keyword Model/View Classes
- \section1 All Model/View Classes
-
- These classes use the model/view design pattern in which the
- underlying data (in the model) is kept separate from the way the data
- is presented and manipulated by the user (in the view).
-
- \annotatedlist model-view
-
- \section1 Related Examples
-
- \list
- \o \l{itemviews/dirview}{Dir View}
- \o \l{itemviews/spinboxdelegate}{Spin Box Delegate}
- \o \l{itemviews/pixelator}{Pixelator}
- \o \l{itemviews/simpletreemodel}{Simple Tree Model}
- \o \l{itemviews/chart}{Chart}
- \endlist
-*/
-
-/*!
- \page model-view-introduction.html
- \previouspage Model/View Programming
- \nextpage Using Models and Views
- \startpage index.html Qt Reference Documentation
-
- \title An Introduction to Model/View Programming
-
- \tableofcontents
-
- Qt 4 introduces a new set of item view classes that use a model/view
+ Qt 4 introduced a new set of item view classes that use a model/view
architecture to manage the relationship between data and the way it
is presented to the user. The separation of functionality introduced by
this architecture gives developers greater flexibility to customize the
@@ -121,7 +63,7 @@
view system. Each of the components in the architecture is explained,
and examples are given that show how to use the classes provided.
- \section1 The Model/View Architecture
+ \section2 The model/view architecture
Model-View-Controller (MVC) is a design pattern originating from
Smalltalk that is often used when building user interfaces.
@@ -185,7 +127,7 @@
model and view about the state of the editor.
\endlist
- \section2 Models
+ \section3 Models
All item models are based on the QAbstractItemModel class. This class
defines an interface that is used by views and delegates to access data.
@@ -225,7 +167,7 @@
QAbstractItemModel, QAbstractListModel, or QAbstractTableModel to create
your own custom models.
- \section2 Views
+ \section3 Views
Complete implementations are provided for different kinds of
views: QListView displays a list of items, QTableView displays data
@@ -237,7 +179,7 @@
The available views are examined in the section on \l{View Classes}.
- \section2 Delegates
+ \section3 Delegates
QAbstractItemDelegate is the abstract base class for delegates in the
model/view framework. Since Qt 4.4, the default delegate implementation is
@@ -251,7 +193,7 @@
Delegates are described in the section on \l{Delegate Classes}.
- \section2 Sorting
+ \section3 Sorting
There are two ways of approaching sorting in the model/view
architecture; which approach to choose depends on your underlying
@@ -272,7 +214,7 @@
before presenting the data in the view. This is covered in detail
in the section on \l {Proxy Models}.
- \section2 Convenience Classes
+ \section3 Convenience classes
A number of \e convenience classes are derived from the standard view
classes for the benefit of applications that rely on Qt's item-based
@@ -293,24 +235,13 @@
classes, such as QListView, QTableView, and QTreeView with
QStandardItemModel.
- \section1 The Model/View Components
+ \section1 Using models and views
- The following sections describe the way in which the model/view pattern
- is used in Qt. Each section provides an example of use, and is followed
- by a section showing how you can create new components.
-*/
-
-/*!
- \page model-view-using.html
- \contentspage model-view-programming.html Contents
- \previouspage An Introduction to Model/View Programming
- \nextpage Model Classes
+ The following sections explain how to use the model/view pattern
+ in Qt. Each section includes an an example and is followed by a
+ section showing how to create new components.
- \title Using Models and Views
-
- \tableofcontents
-
- \section1 Introduction
+ \section2 Two models included in Qt
Two of the standard models provided by Qt are QStandardItemModel and
QFileSystemModel. QStandardItemModel is a multi-purpose model that can be
@@ -325,7 +256,7 @@
to set up a model for use with ready-made views, and explore how to
manipulate data using model indexes.
- \section1 Using Views with an Existing Model
+ \section2 Using views with an existing model
The QListView and QTreeView classes are the most suitable views
to use with QFileSystemModel. The example presented below displays the
@@ -361,7 +292,7 @@
The \c index() function used in this case is unique to QFileSystemModel; we
supply it with a directory and it returns a model index. Model indexes are
- discussed in the \l{Model Classes} chapter.
+ discussed in \l{Model Classes}.
The rest of the function just displays the views within a splitter
widget, and runs the application's event loop:
@@ -369,23 +300,15 @@
\snippet doc/src/snippets/shareddirmodel/main.cpp 8
In the above example, we neglected to mention how to handle selections
- of items. This subject is covered in more detail in the chapter on
- \l{Handling Selections in Item Views}. Before examining how selections
- are handled, you may find it useful to read the \l{Model Classes} chapter
- which describes the concepts used in the model/view framework.
-*/
+ of items. This subject is covered in more detail in the section about
+ \l{Handling Selections in Item Views}.
-/*!
- \page model-view-model.html
- \contentspage model-view-programming.html Contents
- \previouspage Using Models and Views
- \nextpage Creating New Models
-
- \title Model Classes
+ \section1 Model classes
- \tableofcontents
+ Before examining how selections are handled, you may find it
+ useful to examine the concepts used in the model/view framework.
- \section1 Basic Concepts
+ \section2 Basic concepts
In the model/view architecture, the model provides a standard interface
that views and delegates use to access data. In Qt, the standard
@@ -401,11 +324,11 @@
Models also notify any attached views about changes to data through the
signals and slots mechanism.
- This chapter describes some basic concepts that are central to the way
+ This section describes some basic concepts that are central to the way
item of data are accessed by other components via a model class. More
- advanced concepts are discussed in later chapters.
+ advanced concepts are discussed in later sections.
- \section2 Model Indexes
+ \section3 Model indexes
To ensure that the representation of the data is kept separate from the
way it is accessed, the concept of a \e{model index} is introduced. Each
@@ -435,7 +358,7 @@
and the model index of a parent item. The following sections describe
and explain these properties in detail.
- \section2 Rows and Columns
+ \section3 Rows and columns
In its most basic form, a model can be accessed as a simple table in which
items are located by their row and column numbers. \e{This does not mean
@@ -468,7 +391,7 @@
section.
\endtable
- \section2 Parents of Items
+ \section3 Parents of items
The table-like interface to item data provided by models is ideal when
using data in a table or list view; the row and column number system maps
@@ -501,7 +424,7 @@
\snippet doc/src/snippets/code/doc_src_model-view-programming.qdoc 5
\endtable
- \section2 Item Roles
+ \section3 Item roles
Items in a model can perform various \e roles for other components,
allowing different kinds of data to be supplied for different situations.
@@ -534,7 +457,7 @@
interpret or ignore this information as required. It is also possible to
define additional roles for application-specific purposes.
- \section2 Summary of Concepts
+ \section3 Summary
\list
\o Model indexes give views and delegates information about the location
@@ -546,17 +469,16 @@
components, such as views and delegates.
\o If a valid model index is specified for the parent item when an index is
requested using \l{QAbstractItemModel::index()}{index()}, the index
- returned will refer to an item beneath that parent item in the
- model.
+ returned refers to an item beneath that parent item in the model.
The index obtained refers to a child of that item.
\o If an invalid model index is specified for the parent item when an index
is requested using \l{QAbstractItemModel::index()}{index()}, the index
- returned will refer to a top-level item in the model.
+ returned refers to a top-level item in the model.
\o The \l{Qt::ItemDataRole}{role} distinguishes between the
different kinds of data associated with an item.
\endlist
- \section2 Using Model Indexes
+ \section2 Using model indexes
To demonstrate how data can be retrieved from a model, using model
indexes, we set up a QFileSystemModel without a view and display the
@@ -610,26 +532,16 @@
to the model.
\endlist
+ \section2 Further reading
- \section1 Further Reading
-
- New models can be created by implementing the standard interface provided
- by QAbstractItemModel. In the \l{Creating New Models} chapter, we will
- demonstrate this by creating a convenient ready-to-use model for holding
- lists of strings.
-*/
-
-/*!
- \page model-view-view.html
- \contentspage model-view-programming.html Contents
- \previouspage Creating New Models
- \nextpage Handling Selections in Item Views
+ New models can be created by implementing the standard interface
+ provided by QAbstractItemModel. In the \l{Creating New Models}
+ section, we demonstrate this by creating a convenient ready-to-use
+ model for holding lists of strings.
- \title View Classes
+ \section1 View classes
- \tableofcontents
-
- \section1 Concepts
+ \section2 Concepts
In the model/view architecture, the view obtains items of data from the
model and presents them to the user. The way that the data is
@@ -668,7 +580,7 @@
subclassed from the QHeaderView class to provide more specialized
labels for views.
- \section1 Using an Existing View
+ \section2 Using an existing view
Qt provides three ready-to-use view classes that present data from
models in ways that are familiar to most users.
@@ -686,7 +598,7 @@
facilities, and can be customized to suit the needs of more specialized
user interfaces.
- \section2 Using a Model
+ \section3 Using a model
We take the string list model that \l{Creating New Models}{we created as
an example model}, set it up with some data, and construct a view to
@@ -697,8 +609,8 @@
Note that the \c StringListModel is declared as a \l QAbstractItemModel.
This allows us to use the abstract interface to the model, and
- ensures that the code will still work even if we replace the string list
- model with a different model in the future.
+ ensures that the code still works, even if we replace the string list
+ model with a different model.
The list view provided by \l QListView is sufficient for presenting
the items in the string list model. We construct the view, and set up
@@ -721,7 +633,7 @@
list model. Since the model is editable, the view automatically allows
each item in the list to be edited using the default delegate.
- \section2 Using Multiple Views onto the Same Model
+ \section3 Using multiple views of a model
Providing multiple views onto the same model is simply a matter of
setting the same model for each view. In the following code we create
@@ -745,7 +657,7 @@
selection model. This can be useful in certain situations but, for
many applications, a shared selection model is desirable.
- \section1 Handling Selections of Items
+ \section2 Handling selections of items
The mechanism for handling selections of items within views is provided
by the \l QItemSelectionModel class. All of the standard views construct
@@ -758,13 +670,12 @@
when we want to provide multiple consistent views onto the same model
data.
- Generally, unless you are subclassing a model or view, you will not
- need to manipulate the contents of selections directly. However, the
- interface to the selection model can be accessed, if required, and
- this is explored in the chapter on
- \l{Handling Selections in Item Views}.
+ Generally, unless you are subclassing a model or view, you don't
+ need to manipulate the contents of selections directly. However,
+ the interface to the selection model can be accessed, if required,
+ and this is explored in \l{Handling Selections in Item Views}.
- \section2 Sharing Selections Between Views
+ \section3 Sharing selections among views
Although it is convenient that the view classes provide their own
selection models by default, when we use more than one view onto the
@@ -788,19 +699,9 @@
each view; for example, a contiguous selection in a table view can be
represented as a fragmented set of highlighted items in a tree view.
-*/
-
-/*!
- \page model-view-delegate.html
- \contentspage model-view-programming.html Contents
- \previouspage Handling Selections in Item Views
- \nextpage Item View Convenience Classes
-
- \title Delegate Classes
-
- \tableofcontents
+ \section1 Delegate classes
- \section1 Concepts
+ \section2 Concepts
Unlike the Model-View-Controller pattern, the model/view design does not
include a completely separate component for managing interaction with
@@ -821,13 +722,13 @@
Editors for delegates can be implemented either by using widgets to manage
the editing process or by handling events directly.
- The first approach is covered later in this chapter, and it is also
+ The first approach is covered later in this section, and it is also
shown in the \l{Spin Box Delegate Example}{Spin Box Delegate} example.
The \l{Pixelator Example}{Pixelator} example shows how to create a
custom delegate that performs specialized rendering for a table view.
- \section1 Using an Existing Delegate
+ \section2 Using an existing delegate
The standard views provided with Qt use instances of \l QItemDelegate
to provide editing facilities. This default implementation of the
@@ -845,15 +746,15 @@
necessary to use this function when setting the delegate for a custom
view.
- \section1 A Simple Delegate
+ \section2 A simple delegate
- The delegate implemented here uses a \l QSpinBox to provide editing
- facilities, and is mainly intended for use with models that display
- integers. Although we set up a custom integer-based table model for
- this purpose, we could easily have used \l QStandardItemModel instead
- since the custom delegate will control data entry. We construct a
- table view to display the contents of the model, and this will use
- the custom delegate for editing.
+ The delegate implemented here uses a \l QSpinBox to provide
+ editing facilities, and is mainly intended for use with models
+ that display integers. Although we set up a custom integer-based
+ table model for this purpose, we could easily have used \l
+ QStandardItemModel instead, since the custom delegate controls
+ data entry. We construct a table view to display the contents of
+ the model, and this will use the custom delegate for editing.
\img spinboxdelegate-example.png
@@ -866,7 +767,7 @@
Note that no editor widgets are set up when the delegate is
constructed. We only construct an editor widget when it is needed.
- \section2 Providing an Editor
+ \section3 Providing an editor
In this example, when the table view needs to provide an editor, it
asks the delegate to provide an editor widget that is appropriate
@@ -906,7 +807,7 @@
the model, in which case we would need to cast the widget to the
appropriate type before accessing its member functions.
- \section2 Submitting Data to the Model
+ \section3 Submitting data to the model
When the user has finished editing the value in the spin box, the view
asks the delegate to store the edited value in the model by calling the
@@ -935,7 +836,7 @@
delegate with different kinds of models because \l{QVariant}
provides sensible default values for unexpected data.
- \section2 Updating the Editor's Geometry
+ \section3 Updating the editor's geometry
It is the responsibility of the delegate to manage the editor's
geometry. The geometry must be set when the editor is created, and
@@ -951,7 +852,7 @@
position the editor in relation to the other elements in the item.
\target EditingHints
- \section2 Editing Hints
+ \section3 Editing hints
After editing, delegates should provide hints to the other components
about the result of the editing process, and provide hints that will
@@ -982,19 +883,10 @@
Delegates do not have to emit these hints, but those that do not will
be less integrated into applications, and will be less usable than
those that emit hints to support common editing actions.
-*/
-
-/*!
- \page model-view-selection.html
- \contentspage model-view-programming.html Contents
- \previouspage View Classes
- \nextpage Delegate Classes
- \title Handling Selections in Item Views
+ \section1 Handling selections in item views
- \tableofcontents
-
- \section1 Concepts
+ \section2 Concepts
The selection model used in the item view classes offers many improvements
over the selection model used in Qt 3. It provides a more general
@@ -1022,8 +914,7 @@
after its application through the use of certain types of selection
commands. These are discussed later in this section.
-
- \section2 Current Item and Selected Items
+ \section3 Current item &amp selected items
In a view, there is always a current item and a selected item - two
independent states. An item can be the current item and selected at the
@@ -1068,8 +959,7 @@
be informed of changes to the selection model via the signals and slots
mechanism.
-
- \section1 Using a Selection Model
+ \section2 Using a selection model
The standard view classes provide default selection models that can
be used in most applications. A selection model belonging to one view
@@ -1088,8 +978,7 @@
each having a different effect on the selections already present in the
selection model.
-
- \section2 Selecting Items
+ \section3 Selecting items
To demonstrate some of the principal features of selections, we construct
an instance of a custom table model with 32 items in total, and open a
@@ -1122,12 +1011,12 @@
The selection of items can be modified using various operations that
are defined by the selection flags. The selection that results from
- these operations may have a complex structure, but will be represented
+ these operations may have a complex structure, but it is represented
efficiently by the selection model. The use of different selection
flags to manipulate the selected items is described when we examine
how to update a selection.
- \section2 Reading the Selection State
+ \section3 Reading the selection state
The model indexes stored in the selection model can be read using
the \l{QItemSelectionModel::selectedIndexes()}{selectedIndexes()}
@@ -1176,7 +1065,7 @@
Monitoring selections made by the user is straightforward with these
signals, but we can also update the selection model directly.
- \section2 Updating a Selection
+ \section3 Updating a selection
Selection commands are provided by a combination of selection flags,
defined by \l{QItemSelectionModel::SelectionFlag}.
@@ -1215,7 +1104,7 @@
with a command that is a combination of
\l{QItemSelectionModel::SelectionFlag}{Select} and
\l{QItemSelectionModel::SelectionFlag}{Rows}, the
- entire row containing the item referred to will be selected.
+ entire row containing the item referred to is selected.
The following code demonstrates the use of the
\l{QItemSelectionModel::SelectionFlag}{Rows} and
\l{QItemSelectionModel::SelectionFlag}{Columns} flags:
@@ -1248,7 +1137,7 @@
has the effect of resetting the selection model's collection of model
indexes.
- \section2 Selecting All Items in a Model
+ \section3 Selecting all items in a model
To select all items in a model, it is necessary to create a
selection for each level of the model that covers all items in that
@@ -1271,19 +1160,8 @@
\l{QAbstractItemModel::hasChildren()}{hasChildren()} function is used to
determine whether any given item is the parent of another level of
items.
-*/
-
-/*!
- \page model-view-creating-models.html
- \contentspage model-view-programming.html Contents
- \previouspage Model Classes
- \nextpage View Classes
-
- \title Creating New Models
- \tableofcontents
-
- \section1 Introduction
+ \section1 Creating new models
The separation of functionality between the model/view components allows
models to be created that can take advantage of existing views. This
@@ -1301,9 +1179,9 @@
for interfaces to simpler non-hierarchical data structures, and are
easier to use as a starting point for simple list and table models.
- In this chapter, we create a simple read-only model to explore
+ In this section, we create a simple read-only model to explore
the basic principles of the model/view architecture. Later in this
- chapter, we will adapt this simple model so that items can be modified
+ section, we adapt this simple model so that items can be modified
by the user.
For an example of a more complex model, see the
@@ -1312,21 +1190,21 @@
The requirements of QAbstractItemModel subclasses is described in more
detail in the \l{Model Subclassing Reference} document.
- \section1 Designing a Model
+ \section2 Designing a model
- When creating a new model for an existing data structure, it is important
- to consider which type of model should be used to provide an interface
- onto the data. If the data structure can be represented as a
- list or table of items, you can subclass QAbstractListModel or
- QAbstractTableModel since these classes provide suitable default
- implementations for many functions.
+ When creating a new model for an existing data structure, it is
+ important to consider which type of model should be used to
+ provide an interface onto the data. If the data structure can be
+ represented as a list or table of items, you can subclass
+ QAbstractListModel or QAbstractTableModel since these classes
+ provide suitable default implementations for many functions.
- However, if the underlying data structure can only be represented by a
- hierarchical tree structure, it is necessary to subclass
+ However, if the underlying data structure can only be represented
+ by a hierarchical tree structure, it is necessary to subclass
QAbstractItemModel. This approach is taken in the
\l{itemviews/simpletreemodel}{Simple Tree Model} example.
- In this chapter, we will implement a simple model based on a list of
+ In this section, we implement a simple model based on a list of
strings, so the QAbstractListModel provides an ideal base class on
which to build.
@@ -1338,7 +1216,7 @@
interact with it using the standard API. The model described below
provides a custom constructor for just this purpose.
- \section1 A Read-Only Example Model
+ \section2 A read-only example model
The model implemented here is a simple, non-hierarchical, read-only data
model based on the standard QStringListModel class. It has a \l QStringList
@@ -1355,7 +1233,6 @@
functions as there are default implementations for most of the
interface. The class declaration is as follows:
-
\snippet doc/src/snippets/stringlistmodel/model.h 0
\snippet doc/src/snippets/stringlistmodel/model.h 1
\codeline
@@ -1379,7 +1256,7 @@
The list of strings is stored internally in the \c stringList private
member variable.
- \section2 Dimensions of The Model
+ \section3 Dimensions of the model
We want the number of rows in the model to be the same as the number of
strings in the string list. We implement the
@@ -1394,7 +1271,7 @@
reimplement the \l{QAbstractItemModel::columnCount()}{columnCount()}
function.
- \section2 Model Headers and Data
+ \section3 Model headers &amp data
For items in the view, we want to return the strings in the string list.
The \l{QAbstractItemModel::data()}{data()} function is responsible for
@@ -1433,7 +1310,7 @@
\l{Qt::ItemDataRole}{ToolTipRole} that views can use to
display information about items in a tooltip.
- \section1 An Editable Model
+ \section2 An editable model
The read-only model shows how simple choices could be presented to the
user but, for many applications, an editable list model is much more
@@ -1447,7 +1324,7 @@
\snippet doc/src/snippets/stringlistmodel/model.h 2
\snippet doc/src/snippets/stringlistmodel/model.h 3
- \section2 Making the Model Editable
+ \section3 Making the model editable
A delegate checks whether an item is editable before creating an
editor. The model must let the delegate know that its items are
@@ -1473,7 +1350,7 @@
\l{Qt::ItemDataRole}{EditRole} since this is the role used by the
standard item delegate. For boolean values, however, you can use
Qt::CheckStateRole and set the Qt::ItemIsUserCheckable flag; a
- checkbox will then be used for editing the value. The underlying
+ checkbox is then used for editing the value. The underlying
data in this model is the same for all roles, so this detail just
makes it easier to integrate the model with standard components.
@@ -1487,7 +1364,7 @@
\snippet doc/src/snippets/stringlistmodel/model.cpp 1
- \section2 Inserting and Removing Rows
+ \section3 Inserting &amp removing rows
It is possible to change the number of rows and columns in a model. In the
string list model it only makes sense to change the number of rows, so we
@@ -1536,39 +1413,29 @@
operation and let other components know that the dimensions of the model
have changed.
- \section1 Next Steps
+ \section2 Next steps
We can display the data provided by this model, or any other model, using
the \l QListView class to present the model's items in the form of a vertical
list.
For the string list model, this view also provides a default editor so that
the items can be manipulated. We examine the possibilities made available by
- the standard view classes in the chapter on \l{View Classes}.
+ the standard view classes in \l{View Classes}.
The \l{Model Subclassing Reference} document discusses the requirements of
QAbstractItemModel subclasses in more detail, and provides a guide to the
virtual functions that must be implemented to enable various features in
different types of models.
-*/
-
-/*!
- \page model-view-convenience.html
- \contentspage model-view-programming.html Contents
- \previouspage Delegate Classes
- \nextpage Using Drag and Drop with Item Views
-
- \title Item View Convenience Classes
- \tableofcontents
+ \section1 Item view convenience classes
- \section1 Overview
-
- Alongside the model/view classes, Qt 4 also includes standard widgets to
- provide classic item-based container widgets. These behave in a similar
- way to the item view classes in Qt 3, but have been rewritten to use the
- underlying model/view framework for performance and maintainability. The
- old item view classes are still available in the compatibility library
- (see the \l{porting4.html}{Porting Guide} for more information).
+ Qt 4 also introduced some standard widgets to provide classic
+ item-based container widgets. These behave in a similar way to the
+ item view classes in Qt 3, but have been rewritten to use the
+ underlying model/view framework for performance and
+ maintainability. The old item view classes are still available in
+ the compatibility library (see the \l{porting4.html}{Porting
+ Guide} for more information).
The item-based widgets have been given names which reflect their uses:
\c QListWidget provides a list of items, \c QTreeWidget displays a
@@ -1577,7 +1444,7 @@
class which implements common behavior for item selection and header
management.
- \section1 List Widgets
+ \section2 List widgets
Single level lists of items are typically displayed using a \c QListWidget
and a number of \c{QListWidgetItem}s. A list widget is constructed in the
@@ -1612,8 +1479,7 @@
\snippet doc/src/snippets/qlistwidget-using/mainwindow.cpp 4
\snippet doc/src/snippets/qlistwidget-using/mainwindow.cpp 5
-
- \section1 Tree Widgets
+ \section2 Tree widgets
Trees or hierarchical lists of items are provided by the \c QTreeWidget
and \c QTreeWidgetItem classes. Each item in the tree widget can have
@@ -1668,8 +1534,7 @@
\snippet doc/src/snippets/qtreewidget-using/mainwindow.cpp 8
\snippet doc/src/snippets/qtreewidget-using/mainwindow.cpp 9
-
- \section1 Table Widgets
+ \section2 Table widgets
Tables of items similar to those found in spreadsheet applications
are constructed with the \c QTableWidget and \c QTableWidgetItem. These
@@ -1693,7 +1558,7 @@
Note that the rows and columns in the table begin at zero.
- \section1 Common Features
+ \section2 Common features
There are a number of item-based features common to each of the
convenience classes that are available through the same interfaces
@@ -1702,7 +1567,7 @@
Look at the list of \l{Model/View Classes} for each of the widgets
for more details about the use of each function used.
- \section2 Hidden Items
+ \section3 Hidden items
It is sometimes useful to be able to hide items in an item view widget
rather than remove them. Items for all of the above widgets can be
@@ -1713,7 +1578,7 @@
Since this operation is item-based, the same function is available for
all three convenience classes.
- \section2 Selections
+ \section3 Selections
The way items are selected is controlled by the widget's selection mode
(\l{QAbstractItemView::SelectionMode}).
@@ -1764,7 +1629,7 @@
current item may not lie within the selection, depending on the way the
user formed the selection.
- \section2 Searching
+ \section3 Searching
It is often useful to be able to find items within an item view widget,
either as a developer or as a service to present to users. All three
@@ -1782,19 +1647,8 @@
The above code causes items in a tree widget to be selected if they
contain the text given in the search string. This pattern can also be
used in the list and table widgets.
-*/
-
-/*!
- \page model-view-dnd.html
- \contentspage model-view-programming.html Contents
- \previouspage Item View Convenience Classes
- \nextpage Proxy Models
- \title Using Drag and Drop with Item Views
-
- \tableofcontents
-
- \section1 Overview
+ \section1 Using drag &amp drop with item views
Qt's drag and drop infrastructure is fully supported by the model/view framework.
Items in lists, tables, and trees can be dragged within the views, and data can be
@@ -1813,7 +1667,7 @@
See also the \l{Model Subclassing Reference} for more information about
enabling drag and drop support in new models.
- \section1 Using Convenience Views
+ \section2 Using convenience views
Each of the types of item used with QListWidget, QTableWidget, and QTreeWidget
is configured to use a different set of flags by default. For example, each
@@ -1852,7 +1706,7 @@
\snippet doc/src/snippets/qlistwidget-dnd/mainwindow.cpp 1
- \section1 Using Model/View Classes
+ \section2 Using model/view classes
Setting up a view for drag and drop follows the same pattern used with the
convenience views. For example, a QListView can be set up in the same way as a
@@ -1874,7 +1728,7 @@
of QAbstractItemModel::removeRows(), either directly or by inheriting the
implementation from its base class.
- \section2 Enabling Drag and Drop for Items
+ \section3 Enabling drag &amp drop for items
Models indicate to views which items can be dragged, and which will accept drops,
by reimplementing the QAbstractItemModel::flags() function to provide suitable
@@ -1894,7 +1748,7 @@
obtain a default set of flags by calling its implementation of the flags()
function.
- \section2 Encoding Exported Data
+ \section3 Encoding exported data
When items of data are exported from a model in a drag and drop operation, they
are encoded into an appropriate format corresponding to one or more MIME types.
@@ -1923,7 +1777,7 @@
and that stream operators must be implemented for them. See the QMetaObject
class description for details.
- \section2 Inserting Dropped Data into a Model
+ \section3 Inserting dropped data into a model
The way that any given model handles dropped data depends on both its type
(list, table, or tree) and the way its contents is likely to be presented to
@@ -1988,7 +1842,7 @@
example shown here, the model only has one level, so this approach is not
appropriate.
- \section2 Decoding Imported Data
+ \section3 Decoding imported data
Each implementation of \l{QAbstractItemModel::dropMimeData()}{dropMimeData()} must
also decode the data and insert it into the model's underlying data structure.
@@ -2007,19 +1861,8 @@
QAbstractItemModel::insertRows() and QAbstractItemModel::setData() functions.
\sa {Item Views Puzzle Example}
-*/
-
-/*!
- \page model-view-proxy-models.html
- \contentspage model-view-programming.html Contents
- \previouspage Using Drag and Drop with Item Views
- \nextpage Model Subclassing Reference
- \title Proxy Models
-
- \tableofcontents
-
- \section1 Overview
+ \section1 Proxy models
In the model/view framework, items of data supplied by a single model can be shared
by any number of views, and each of these can possibly represent the same information
@@ -2042,7 +1885,7 @@
framework ensure that each view is updated appropriately no matter how many proxy models
are placed between itself and the source model.
- \section1 Using Proxy Models
+ \section2 Using proxy models
Proxy models can be inserted between an existing model and any number of views.
Qt is supplied with a standard proxy model, QSortFilterProxyModel, that is usually
@@ -2061,7 +1904,7 @@
in applications. More specialized proxy models can be created by subclassing this
classes and implementing the required comparison operations.
- \section1 Customizing Proxy Models
+ \section2 Customizing proxy models
Generally, the type of processing used in a proxy model involves mapping each item of
data from its original location in the source model to either a different location in
@@ -2074,7 +1917,7 @@
being supplied to views, and also allows the contents of a source model to
be supplied to views as pre-sorted data.
- \section2 Custom Filtering Models
+ \section3 Custom filtering models
The QSortFilterProxyModel class provides a filtering model that is fairly versatile,
and which can be used in a variety of common situations. For advanced users,
@@ -2095,7 +1938,7 @@
return true to ensure that all items are passed through to views; reimplementations
of these functions should return false to filter out individual rows and columns.
- \section2 Custom Sorting Models
+ \section3 Custom sorting models
QSortFilterProxyModel instances use Qt's built-in qStableSort() function to set up
mappings between items in the source model and those in the proxy model, allowing a
@@ -2103,18 +1946,8 @@
source model. To provide custom sorting behavior, reimplement the
\l{QSortFilterProxyModel::lessThan()}{lessThan()} function to perform custom
comparisons.
-*/
-
-/*!
- \page model-view-model-subclassing.html
- \contentspage model-view-programming.html Contents
- \previouspage Proxy Models
-
- \title Model Subclassing Reference
- \tableofcontents
-
- \section1 Introduction
+ \section1 Model subclassing reference
Model subclasses need to provide implementations of many of the virtual functions
defined in the QAbstractItemModel base class. The number of these functions that need
@@ -2143,13 +1976,13 @@
For more information, see the \l
{"Item View Classes" Chapter of C++ GUI Programming with Qt 4}.
- \section1 Item Data Handling
+ \section2 Item data handling
Models can provide varying levels of access to the data they provide: They can be
simple read-only components, some models may support resizing operations, and
others may allow items to be edited.
- \section2 Read-Only Access
+ \section2 Read-Only access
To provide read-only access to data provided by a model, the following functions
\e{must} be implemented in the model's subclass:
@@ -2185,7 +2018,7 @@
provide this function because it is already implemented in QAbstractListModel.
\endtable
- \section2 Editable Items
+ \section3 Editable items
Editable models allow items of data to be modified, and may also provide
functions to allow rows and columns to be inserted and removed. To enable
@@ -2211,7 +2044,7 @@
signal to inform other components of the change.
\endtable
- \section2 Resizable Models
+ \section3 Resizable models
All types of model can support the insertion and removal of rows. Table models
and hierarchical models can also support the insertion and removal of columns.
@@ -2271,7 +2104,7 @@
it is necessary to emit the \l{QAbstractItemModel::layoutChanged()}{layoutChanged()}
signal to cause any attached views to be updated.
- \section2 Lazy Population of Model Data
+ \section3 Lazy population of model data
Lazy population of model data effectively allows requests for information
about the model to be deferred until it is actually needed by views.
@@ -2305,13 +2138,12 @@
children may be displayed incorrectly in some views until the user
attempts to view the non-existent child items.
-
- \section1 Navigation and Model Index Creation
+ \section2 Navigation &amp model index creation
Hierarchical models need to provide functions that views can call to navigate the
tree-like structures they expose, and obtain model indexes for items.
- \section2 Parents and Children
+ \section3 Parents &amp children
Since the structure exposed to views is determined by the underlying data
structure, it is up to each model subclass to create its own model indexes
@@ -2335,7 +2167,7 @@
models to supply some unique identifier to this function to ensure that
the model index can be re-associated with its corresponding item later on.
- \section1 Drag and Drop Support and MIME Type Handling
+ \section2 Drag &amp drop support and MIME type handling
The model/view classes support drag and drop operations, providing default behavior
that is sufficient for many applications. However, it is also possible to customize
@@ -2347,7 +2179,7 @@
The \l{#Convenience Views}{Convenience Views} section provides an overview of this
behavior.
- \section2 MIME Data
+ \section3 MIME data
By default, the built-in models and views use an internal MIME type
(\c{application/x-qabstractitemmodeldatalist}) to pass around information about
@@ -2394,7 +2226,7 @@
the QMimeData::setImageData(), QMimeData::setColorData(), and
QMimeData::setHtml() functions.
- \section2 Accepting Dropped Data
+ \section3 Accepting dropped data
When a drag and drop operation is performed over a view, the underlying model is
queried to determine which types of operation it supports and the MIME types
@@ -2466,7 +2298,7 @@
For more information about drag and drop with item views, refer to
\l{Using Drag and Drop with Item Views}.
- \section2 Convenience Views
+ \section3 Convenience views
The convenience views (QListWidget, QTableWidget, and QTreeWidget) override
the default drag and drop functionality to provide less flexible, but more
@@ -2477,7 +2309,7 @@
into the model. For more information on drag and drop in convenience views,
you can see \l{Using Drag and Drop with Item Views}.
- \section1 Performance Optimization for Large Amounts of Data
+ \section2 Performance optimization for large amounts of data
The \l{QAbstractItemModel::}{canFetchMore()} function checks if the parent
has more data available and returns true or false accordingly. The
@@ -2498,4 +2330,23 @@
\l{QAbstractItemModel::}{canFetchMore()} and \l{QAbstractItemModel::}
{fetchMore()} must be reimplemented as their default implementation returns
false and does nothing.
+
+ \keyword Model/View Classes
+ \section1 The model/view classes
+
+ These classes use the model/view design pattern in which the
+ underlying data (in the model) is kept separate from the way the
+ data is presented and manipulated by the user (in the view).
+
+ \annotatedlist model-view
+
+ \section1 Related examples
+
+ \list
+ \o \l{itemviews/dirview}{Dir View}
+ \o \l{itemviews/spinboxdelegate}{Spin Box Delegate}
+ \o \l{itemviews/pixelator}{Pixelator}
+ \o \l{itemviews/simpletreemodel}{Simple Tree Model}
+ \o \l{itemviews/chart}{Chart}
+ \endlist
*/
diff --git a/doc/src/frameworks-technologies/phonon.qdoc b/doc/src/frameworks-technologies/phonon.qdoc
index 2d035c7d42..61b906e5ca 100644
--- a/doc/src/frameworks-technologies/phonon.qdoc
+++ b/doc/src/frameworks-technologies/phonon.qdoc
@@ -41,8 +41,10 @@
/*!
\page phonon-overview.html
- \title Phonon Overview
- \ingroup frameworks-technologies
+ \title Phonon multimedia framework
+ \brief Using the Phonon multimedia framework in Qt.
+ \ingroup technology-apis
+ \ingroup best-practices
\tableofcontents
diff --git a/doc/src/frameworks-technologies/threads.qdoc b/doc/src/frameworks-technologies/threads.qdoc
index fd6bebb59b..f7dde590e5 100644
--- a/doc/src/frameworks-technologies/threads.qdoc
+++ b/doc/src/frameworks-technologies/threads.qdoc
@@ -47,6 +47,7 @@
/*!
\page threads.html
\title Thread Support in Qt
+ \ingroup qt-basic-concepts
\brief A detailed discussion of thread handling in Qt.
\ingroup frameworks-technologies
diff --git a/doc/src/frameworks-technologies/unicode.qdoc b/doc/src/frameworks-technologies/unicode.qdoc
index 8fa168a4e8..88393a0bd7 100644
--- a/doc/src/frameworks-technologies/unicode.qdoc
+++ b/doc/src/frameworks-technologies/unicode.qdoc
@@ -58,7 +58,7 @@
\keyword Unicode
- \ingroup frameworks-technologies
+ \ingroup technology-apis
Unicode is a multi-byte character set, portable across all major
computing platforms and with decent coverage over most of the world.
diff --git a/doc/src/getting-started/demos.qdoc b/doc/src/getting-started/demos.qdoc
index 6974634123..9d39e080b0 100644
--- a/doc/src/getting-started/demos.qdoc
+++ b/doc/src/getting-started/demos.qdoc
@@ -53,15 +53,14 @@
\l{Qt Examples} and are used to highlight certain features of
Qt.
- \table 50%
+ \table
\header
\o {2,1} Getting an Overview
\row
\o \inlineimage qtdemo-small.png
- \o
- If you run the \l{Examples and Demos Launcher}, you'll see many of Qt's
+ \o If you run the \l{Examples and Demos Launcher}, you'll see many of Qt's
widgets in action.
-
+
The \l{Qt Widget Gallery} also provides overviews of selected Qt
widgets in each of the styles used on various supported platforms.
\endtable
@@ -127,16 +126,15 @@
\section1 Graphics View
\list
- \o \l{demos/chip}{40000 Chips} uses the
- \l{The Graphics View Framework}{Graphics View} framework to efficiently
- display a large number of individual graphical items on a scrolling canvas,
- highlighting features such as rotation, zooming, level of detail control,
- and item selection.
- \o \l{demos/embeddeddialogs}{Embedded Dialogs} showcases Qt 4.4's \e{Widgets on
- the Canvas} feature by embedding a multitude of fully-working dialogs into a
- scene.
+ \o \l{demos/chip}{40000 Chips} uses the \l{Graphics View Framework} to
+ efficiently display a large number of individual graphical items on
+ a scrolling canvas and highlighting features including rotation,
+ zooming, level of detail control, and item selection.
+ \o \l{demos/embeddeddialogs}{Embedded Dialogs} showcases Qt 4.4's
+ \e{Widgets on the Canvas} feature by embedding several
+ fully-functional dialogs in a scene.
\o \l{demos/boxes}{Boxes} showcases Qt's OpenGL support and the
- integration with the Graphics View framework.
+ integration with the \l{Graphics View Framework}.
\endlist
\section1 Tools
@@ -186,7 +184,7 @@
\o \l{demos/embedded/fluidlauncher}{Fluid Launcher} demo application launcher for embedded screens
\o \l{demos/embedded/lightmaps}{Light Maps} demonstrates OpenStreetMap integration with WebKit.
\o \l{demos/embedded/raycasting}{Ray Casting} demonstrates the use of ray casting with the
- \l{The Graphics View Framework}{Graphics View} framework.
+ \l{Graphics View Framework}.
\o \l{demos/embedded/styledemo}{Embedded Styles} demonstrates the use of styles.
\o \l{demos/embedded/weatherinfo}{Weather Info} fetches weather information from the Web.
\endlist
diff --git a/doc/src/getting-started/examples.qdoc b/doc/src/getting-started/examples.qdoc
index 542f672607..643e42b432 100644
--- a/doc/src/getting-started/examples.qdoc
+++ b/doc/src/getting-started/examples.qdoc
@@ -40,430 +40,46 @@
****************************************************************************/
/*!
- \page examples-overview.html
- \raw HTML
- <script>
- document.location.href = "examples.html";
- </script>
- \endraw
- Click this \l{Qt Examples}{link} if you don't get redirected.
-*/
-
-/*!
- \page examples.html
- \title Qt Examples
- \brief The example programs provided with Qt.
-
- \previouspage Tutorials
- \contentspage How to Learn Qt
- \nextpage Qt Demonstrations
-
- Qt is supplied with a variety of examples that cover almost every aspect
- of development. They are not all designed to be impressive when you run
- them, but their source code is carefully written to show good Qt
- programming practices. You can launch any of these programs from the
- \l{Examples and Demos Launcher} application.
-
- These examples are ordered by functional area, but many examples often
- use features from many parts of Qt to highlight one area in particular.
- If you are new to Qt, you should probably start by going through the
- \l{Tutorials} before you have a look at the
- \l{mainwindows/application}{Application} example.
-
- In addition to the examples and the tutorial, Qt includes a
- \l{Qt Demonstrations}{selection of demos} that deliberately show off
- Qt's features. You might want to look at these as well.
-
- \section1 \l{Widgets Examples}{Widgets}
- \beginfloatleft
- \l{Widgets Examples}{\inlineimage widget-examples.png
- }
-
- \endfloat
- Qt comes with a large range of standard widgets that users of modern
- applications have come to expect. You can also develop your own custom
- widgets and controls, and use them alongside standard widgets.
-
- It is even possible to provide custom styles and themes for widgets that can
- be used to change the appearance of standard widgets and appropriately
- written custom widgets.
-
- \clearfloat
- \section1 \l{Dialog Examples}{Dialogs}
- \beginfloatleft
- \l{Dialog Examples}{\inlineimage dialog-examples.png
- }
-
- \endfloat
- Qt includes standard dialogs for many common operations, such as file
- selection, printing, and color selection.
-
- Custom dialogs can also be created for specialized modal or modeless
- interactions with users.
-
- \clearfloat
- \section1 \l{Main Window Examples}{Main Windows}
- \beginfloatleft
- \l{Main Window Examples}{\inlineimage mainwindow-examples.png
- }
-
- \endfloat
- All the standard features of application main windows are provided by Qt.
-
- Main windows can have pull down menus, tool bars, and dock windows. These
- separate forms of user input are unified in an integrated action system that
- also supports keyboard shortcuts and accelerator keys in menu items.
-
- \clearfloat
- \section1 \l{Layout Examples}{Layouts}
- \beginfloatleft
- \l{Layout Examples}{\inlineimage layout-examples.png
- }
-
- \endfloat
- Qt uses a layout-based approach to widget management. Widgets are arranged in
- the optimal positions in windows based on simple layout rules, leading to a
- consistent look and feel.
-
- Custom layouts can be used to provide more control over the positions and
- sizes of child widgets.
-
- \clearfloat
- \section1 \l{Item Views Examples}{Item Views}
- \beginfloatleft
- \l{Item Views Examples}{\inlineimage itemview-examples.png
- }
-
- \endfloat
- Item views are widgets that typically display data sets. Qt 4's model/view
- framework lets you handle large data sets by separating the underlying data
- from the way it is represented to the user, and provides support for
- customized rendering through the use of delegates.
-
- \clearfloat
- \section1 \l{Graphics View Examples}{Graphics View}
- \beginfloatleft
- \l{Graphics View Examples}{\inlineimage graphicsview-examples.png
- }
-
- \endfloat
- Qt is provided with a comprehensive canvas through the GraphicsView
- classes.
-
- \clearfloat
- \section1 \l{QML Examples and Demos}{Declarative}
- \beginfloatleft
- \l{QML Examples and Demos}{\inlineimage declarative-examples.png
- }
-
- \endfloat
- The Qt Declarative module provides a declarative framework for building
- highly dynamic, custom user interfaces.
+ \group all-examples
+ \title Qt Examples
- \clearfloat
- \section1 \l{Painting Examples}{Painting}
- \beginfloatleft
- \l{Painting Examples}{\inlineimage painting-examples.png
- }
+ Qt includes a set of examples that cover nearly every aspect of Qt
+ development. They aren't meant to be impressive when you run them,
+ but in each case the source code has been carefully written to
+ illustrate one or more best Qt programming practices.
- \endfloat
- Qt's painting system is able to render vector graphics, images, and outline
- font-based text with sub-pixel accuracy accuracy using anti-aliasing to
- improve rendering quality.
-
- \clearfloat
- \section1 \l{Rich Text Examples}{Rich Text}
- \beginfloatleft
- \l{Rich Text Examples}{\inlineimage richtext-examples.png
- }
-
- \endfloat
- Qt provides powerful document-oriented rich text engine that supports Unicode
- and right-to-left scripts. Documents can be manipulated using a cursor-based
- API, and their contents can be imported and exported as both HTML and in a
- custom XML format.
-
- \clearfloat
- \section1 \l{Desktop Examples}{Desktop}
- \beginfloatleft
- \l{Desktop Examples}{\inlineimage desktop-examples.png
- }
-
- \endfloat
- Qt provides features to enable applications to integrate with the user's
- preferred desktop environment.
-
- Features such as system tray icons, access to the desktop widget, and
- support for desktop services can be used to improve the appearance of
- applications and take advantage of underlying desktop facilities.
-
- \clearfloat
- \section1 \l{Drag and Drop Examples}{Drag and Drop}
- \beginfloatleft
- \l{Drag and Drop Examples}{\inlineimage draganddrop-examples.png
- }
-
- \endfloat
- Qt supports native drag and drop on all platforms via an extensible
- MIME-based system that enables applications to send data to each other in the
- most appropriate formats.
+ You can run the examples from the \l{Examples and Demos Launcher}
+ application (except see \l{QML Examples and Demos} {QML Examples}
+ for special instructions for running thos examples).
- Drag and drop can also be implemented for internal use by applications.
+ The examples are listed below by functional area. Each example
+ listed in a particular functional area is meant to illustrate how
+ best to use Qt to do some particular task in that functional area,
+ but the examples will often use features from other functional
+ areas as well for completeness.
- \clearfloat
- \section1 \l{Threading and Concurrent Programming Examples}{Threading and Concurrent Programming}
- \beginfloatleft
- \l{Threading and Concurrent Programming Examples}{\inlineimage thread-examples.png
- }
+ If you are new to Qt, you should probably start by going through
+ the \l{Tutorials}, and then begin with the
+ \l{mainwindows/application} {Application} example.
- \endfloat
- Qt 4 makes it easier than ever to write multithreaded applications. More
- classes have been made usable from non-GUI threads, and the signals and slots
- mechanism can now be used to communicate between threads.
+ In addition to these examples and the \l{Tutorials}{tutorials}, Qt
+ includes a \l{Qt Demonstrations}{selection of demos} that
+ deliberately show off Qt's features. You might want to look at
+ these as well.
- The QtConcurrent namespace includes a collection of classes and functions
- for straightforward concurrent programming.
+ These examples are provided under the terms of the \l{BSD License}.
- \clearfloat
- \section1 \l{Tools Examples}{Tools}
- \beginfloatleft
- \l{Tools Examples}{\inlineimage tool-examples.png
- }
- \endfloat
- Qt is equipped with a range of capable tool classes, from containers and
- iterators to classes for string handling and manipulation.
+ \section1 Examples by Functional Area
- Other classes provide application infrastructure support, handling plugin
- loading and managing configuration files.
-
- \clearfloat
- \section1 \l{Network Examples}{Network}
- \beginfloatleft
- \l{Network Examples}{\inlineimage network-examples.png
- }
-
- \endfloat
- Qt is provided with an extensive set of network classes to support both
- client-based and server side network programming.
-
- \clearfloat
- \section1 \l{Inter-Process Communication Examples}{Inter-Process Communication}
- \beginfloatleft
- \l{Inter-Process Communication Examples}{\inlineimage ipc-examples.png
- }
-
- \endfloat
- Simple, lightweight inter-process communication can be performed using shared
- memory and local sockets.
-
- \clearfloat
- \section1 \l{OpenGL Examples}{OpenGL} and \l{OpenVG Examples}{OpenVG} Examples
- \beginfloatleft
- \l{OpenGL Examples}{\inlineimage opengl-examples.png
- }
-
- \endfloat
- Qt provides support for integration with OpenGL implementations on all
- platforms, giving developers the opportunity to display hardware accelerated
- 3D graphics alongside a more conventional user interface.
-
- Qt provides support for integration with OpenVG implementations on
- platforms with suitable drivers.
-
- \clearfloat
- \section1 \l{Multimedia Examples}{Multimedia Framework}
- \beginfloatleft
- \l{Multimedia Examples}{\inlineimage phonon-examples.png
- }
-
- \endfloat
- Qt provides low-level audio support on linux,windows and mac platforms by default and
- an audio plugin API to allow developers to implement there own audio support for
- custom devices and platforms.
-
- The Phonon Multimedia Framework brings multimedia support to Qt applications.
-
- \clearfloat
- \section1 \l{SQL Examples}{SQL}
- \beginfloatleft
- \l{SQL Examples}{\inlineimage sql-examples.png
- }
-
- \endfloat
- Qt provides extensive database interoperability, with support for products
- from both open source and proprietary vendors.
-
- SQL support is integrated with Qt's model/view architecture, making it easier
- to provide GUI integration for your database applications.
-
- \clearfloat
- \section1 \l{XML Examples}{XML}
- \beginfloatleft
- \l{XML Examples}{\inlineimage xml-examples.png
- }
-
- \endfloat
- XML parsing and handling is supported through SAX and DOM compliant APIs
- as well as streaming classes.
-
- The XQuery/XPath and XML Schema engines in the QtXmlPatterns modules
- provide classes for querying XML files and custom data models.
-
- \clearfloat
- \section1 \l{Qt Designer Examples}{Qt Designer}
- \beginfloatleft
- \l{Qt Designer Examples}{\inlineimage designer-examples.png
- }
-
- \endfloat
- Qt Designer is a capable graphical user interface designer that lets you
- create and configure forms without writing code. GUIs created with
- Qt Designer can be compiled into an application or created at run-time.
-
- \clearfloat
- \section1 \l{UiTools Examples}{UiTools}
- \beginfloatleft
- \l{UiTools Examples}{\inlineimage uitools-examples.png
- }
-
- \endfloat
- User interfaces created with Qt Designer can be loaded and displayed at
- run-time using the facilities of the QtUiTools module without the need
- to generate code in advance.
-
- \clearfloat
- \section1 \l{Qt Linguist Examples}{Qt Linguist}
- \beginfloatleft
- \l{Qt Linguist Examples}{\inlineimage linguist-examples.png
- }
-
- \endfloat
- Internationalization is a core feature of Qt.
-
- \clearfloat
- \section1 \l{Qt Script Examples}{Qt Script}
- \beginfloatleft
- \l{Qt Script Examples}{\inlineimage qtscript-examples.png
- }
-
- \endfloat
- Qt is provided with a powerful embedded scripting environment through the QtScript
- classes.
-
- \clearfloat
- \section1 \l{WebKit Examples}{WebKit}
- \beginfloatleft
- \l{WebKit Examples}{\inlineimage webkit-examples.png
- }
-
- \endfloat
- Qt provides an integrated Web browser component based on WebKit, the popular
- open source browser engine.
-
- \clearfloat
- \section1 \l{Help System Examples}{Help System}
- \beginfloatleft
- \l{Help System Examples}{\inlineimage assistant-examples.png
- }
-
- \endfloat
- Support for interactive help is provided by the Qt Assistant application.
- Developers can take advantages of the facilities it offers to display
- specially-prepared documentation to users of their applications.
-
- \clearfloat
- \section1 \l{State Machine Examples}{State Machine}
- \beginfloatleft
- \l{State Machine Examples}{\inlineimage statemachine-examples.png
- }
-
- \endfloat
- Qt provides a powerful hierarchical finite state machine through the Qt State
- Machine classes.
-
- \clearfloat
- \section1 \l{Animation Framework Examples}{Animation Framework}
- \beginfloatleft
- \l{Animation Framework Examples}{\inlineimage animation-examples.png
- }
-
- \endfloat
- These examples show to to use the \l{The Animation Framework}{animation framework}
- to build highly animated, high-performance GUIs.
-
- \clearfloat
- \section1 \l{Multi-Touch Examples}{Multi-Touch Framework}
- \beginfloatleft
- \l{Multi-Touch Examples}{\inlineimage multitouch-examples.png
- }
-
- \endfloat
- Support for multi-touch input makes it possible for developers to create
- extensible and intuitive user interfaces.
-
- \clearfloat
- \section1 \l{Gestures Examples}{Gestures}
- \beginfloatleft
- \l{Gestures Examples}{\inlineimage gestures-examples.png
- }
-
- \endfloat
- Applications can be written to respond to gestures as a natural input method.
- These examples show how to enable support for standard and custom gestures in
- applications.
-
- \clearfloat
- \section1 \l{D-Bus Examples}{D-Bus}
- \beginfloatleft
- \l{D-Bus Examples}{\inlineimage dbus-examples.png
- }
-
- \endfloat
- Systems with limited resources, specialized hardware, and small
- screens require special attention.
-
- \clearfloat
- \section1 \l{Qt for Embedded Linux Examples}{Qt for Embedded Linux}
- \beginfloatleft
- \l{Qt for Embedded Linux Examples}{\inlineimage qt-embedded-examples.png
- }
-
- \endfloat
- D-Bus is an inter-process communication protocol for Unix/Linux systems.
- These examples demonstrate how to write application that communicate with
- each other.
-
- \clearfloat
- \section1 \l{ActiveQt Examples}{ActiveQt}
- \beginfloatleft
- \l{ActiveQt Examples}{\inlineimage activeqt-examples.png
- }
-
- \endfloat
- These examples demonstrate how to write ActiveX controls and control servers
- with Qt, and how to use ActiveX controls and COM objects in a Qt application.
-
- \clearfloat
- \section1 \l{Qt Quarterly}{Qt Quarterly}
- \beginfloatleft
- \l{Qt Quarterly}{\inlineimage qq-thumbnail.png
- }
-
- \endfloat
- One more valuable source for examples and explanations of Qt
- features is the archive of \l{Qt Quarterly}, a newsletter for
- Qt developers.
-
- \clearfloat
+ \generatelist{related}
*/
/*!
\page examples-widgets.html
- \title Widgets Examples
-
- \contentspage Qt Examples
- \nextpage Dialog Examples
+ \title Widget Examples
+ \ingroup all-examples
+ \brief Lots of examples of how to use different kinds of widgets.
\image widget-examples.png
@@ -509,11 +125,9 @@
/*!
\page examples-dialogs.html
+ \ingroup all-examples
\title Dialog Examples
-
- \previouspage Widgets Examples
- \contentspage Qt Examples
- \nextpage Main Window Examples
+ \brief Using Qt's standard dialogs and building and using custom dialogs.
\image dialog-examples.png
@@ -539,11 +153,9 @@
/*!
\page examples-mainwindow.html
+ \ingroup all-examples
\title Main Window Examples
-
- \previouspage Dialog Examples
- \contentspage Qt Examples
- \nextpage Layout Examples
+ \brief Building applications around a main window.
\image mainwindow-examples.png
@@ -567,11 +179,9 @@
/*!
\page examples-layouts.html
+ \ingroup all-examples
\title Layout Examples
-
- \previouspage Main Window Examples
- \contentspage Qt Examples
- \nextpage Item Views Examples
+ \brief Using Qt's layout-based approach to widget management.
\image layout-examples.png
@@ -594,11 +204,9 @@
/*!
\page examples-itemviews.html
+ \ingroup all-examples
\title Item Views Examples
-
- \previouspage Layout Examples
- \contentspage Qt Examples
- \nextpage Graphics View Examples
+ \brief Using the model/view design pattern to separate presentation from data.
\image itemview-examples.png
@@ -632,11 +240,9 @@
/*!
\page examples-graphicsview.html
+ \ingroup all-examples
\title Graphics View Examples
-
- \previouspage Item Views Examples
- \contentspage Qt Examples
- \nextpage QML Examples and Demos
+ \brief Using Qt to manage and interact with a large (potentially) number of graphics items.
\image graphicsview-examples.png
@@ -651,6 +257,7 @@
\o \l{graphicsview/diagramscene}{Diagram Scene}\raisedaster
\o \l{graphicsview/dragdroprobot}{Drag and Drop Robot}\raisedaster
\o \l{graphicsview/elasticnodes}{Elastic Nodes}\raisedaster
+ \o \l{graphicsview/padnavigator}{Pad Navigator}\raisedaster
\o \l{graphicsview/portedasteroids}{Ported Asteroids}
\o \l{graphicsview/portedcanvas}{Ported Canvas}
\endlist
@@ -677,11 +284,9 @@
/*!
\page examples-painting.html
+ \ingroup all-examples
\title Painting Examples
-
- \previouspage QML Examples and Demos
- \contentspage Qt Examples
- \nextpage Rich Text Examples
+ \brief How to use the Qt painting system
\image painting-examples.png
@@ -709,11 +314,9 @@
/*!
\page examples-richtext.html
+ \ingroup all-examples
\title Rich Text Examples
-
- \previouspage Painting Examples
- \contentspage Qt Examples
- \nextpage Desktop Examples
+ \brief Using the document-oriented rich text engine
\image richtext-examples.png
@@ -732,11 +335,9 @@
/*!
\page examples-desktop.html
+ \ingroup all-examples
\title Desktop Examples
-
- \previouspage Rich Text Examples
- \contentspage Qt Examples
- \nextpage Drag and Drop Examples
+ \brief Integrating your Qt application with your favorite desktop
\image desktop-examples.png
@@ -755,11 +356,9 @@
/*!
\page examples-draganddrop.html
- \title Drag and Drop Examples
-
- \previouspage Desktop Examples
- \contentspage Qt Examples
- \nextpage Threading and Concurrent Programming Examples
+ \ingroup all-examples
+ \title Drag &amp Drop Examples
+ \brief How to access your platform's native darg &amp drop functionality
\image draganddrop-examples.png
@@ -783,11 +382,9 @@
/*!
\page examples-threadandconcurrent.html
+ \ingroup all-examples
\title Threading and Concurrent Programming Examples
-
- \previouspage Drag and Drop Examples
- \contentspage Qt Examples
- \nextpage Tools Examples
+ \brief Threading and concurrent programming in Qt
\image thread-examples.png
@@ -823,11 +420,9 @@
/*!
\page examples.tools.html
+ \ingroup all-examples
\title Tools Examples
-
- \previouspage Threading and Concurrent Programming Examples
- \contentspage Qt Examples
- \nextpage Network Examples
+ \brief Using Qt's containers, iterators, and other tool classes
\image tool-examples.png
@@ -861,11 +456,9 @@
/*!
\page examples-network.html
+ \ingroup all-examples
\title Network Examples
-
- \previouspage Tools Examples
- \contentspage Qt Examples
- \nextpage Inter-Process Communication Examples
+ \brief How to do network programming in Qt
\image network-examples.png
@@ -899,11 +492,9 @@
/*!
\page examples-ipc.html
- \title Inter-Process Communication Examples
-
- \previouspage Network Examples
- \contentspage Qt Examples
- \nextpage OpenGL Examples
+ \ingroup all-examples
+ \title IPC Examples
+ \brief Inter-Process Communication with Qt
\image ipc-examples.png
@@ -916,11 +507,9 @@
/*!
\page examples-opengl.html
+ \ingroup all-examples
\title OpenGL Examples
-
- \previouspage Inter-Process Communication Examples
- \contentspage Qt Examples
- \nextpage OpenVG Examples
+ \brief Accessing OpenGL from Qt
\image opengl-examples.png
@@ -950,11 +539,9 @@
/*!
\page examples-openvg.html
+ \ingroup all-examples
\title OpenVG Examples
-
- \previouspage OpenGL Examples
- \contentspage Qt Examples
- \nextpage Multimedia Examples
+ \brief Accessing OpenVG from Qt
\image openvg-examples.png
@@ -971,11 +558,9 @@
/*!
\page examples-multimedia.html
+ \ingroup all-examples
\title Multimedia Examples
-
- \previouspage OpenGL Examples
- \contentspage Qt Examples
- \nextpage SQL Examples
+ \brief Audio, video, and Phonon with Qt
\image phonon-examples.png
@@ -1020,11 +605,9 @@
/*!
\page examples-sql.html
+ \ingroup all-examples
\title SQL Examples
-
- \previouspage Multimedia Examples
- \contentspage Qt Examples
- \nextpage XML Examples
+ \brief Accessing your SQL database from Qt
\image sql-examples.png
@@ -1049,11 +632,9 @@
/*!
\page examples-xml.html
+ \ingroup all-examples
\title XML Examples
-
- \previouspage SQL Examples
- \contentspage Qt Examples
- \nextpage Qt Designer Examples
+ \brief Using XML with Qt
\image xml-examples.png XML
@@ -1085,11 +666,9 @@
/*!
\page examples-designer.html
+ \ingroup all-examples
\title Qt Designer Examples
-
- \previouspage XML Examples
- \contentspage Qt Examples
- \nextpage UiTools Examples
+ \brief Using Qt Designer to build your UI
\image designer-examples.png QtDesigner
@@ -1110,11 +689,9 @@
/*!
\page examples-uitools.html
+ \ingroup all-examples
\title UiTools Examples
-
- \previouspage Qt Designer Examples
- \contentspage Qt Examples
- \nextpage Qt Linguist Examples
+ \brief Using the QtUiTools module
\image uitools-examples.png UiTools
@@ -1126,11 +703,9 @@
/*!
\page examples-linguist.html
+ \ingroup all-examples
\title Qt Linguist Examples
-
- \previouspage UiTools Examples
- \contentspage Qt Examples
- \nextpage Qt Script Examples
+ \brief Using Qt Linguist to internationalize your Qt application
\image linguist-examples.png
@@ -1146,11 +721,9 @@
/*!
\page examples-script.html
+ \ingroup all-examples
\title Qt Script Examples
-
- \previouspage Qt Linguist Examples
- \contentspage Qt Examples
- \nextpage WebKit Examples
+ \brief Using the Qt scripting environment
\image qtscript-examples.png QtScript
@@ -1175,11 +748,9 @@
/*!
\page examples-webkit.html
+ \ingroup all-examples
\title WebKit Examples
-
- \previouspage Qt Script Examples
- \contentspage Qt Examples
- \nextpage Help System Examples
+ \brief Using WebKit in your Qt application
\image webkit-examples.png WebKit
@@ -1215,12 +786,10 @@
*/
/*!
- \page examples-helpsystem.html
+ \page examples-helpsystem.html
+ \ingroup all-examples
\title Help System Examples
-
- \previouspage WebKit Examples
- \contentspage Qt Examples
- \nextpage State Machine Examples
+ \brief Adding interactive help to your Qt application
\image assistant-examples.png HelpSystem
@@ -1239,11 +808,9 @@
/*!
\page examples-statemachine.html
+ \ingroup all-examples
\title State Machine Examples
-
- \previouspage Help System Examples
- \contentspage Qt Examples
- \nextpage Animation Framework Examples
+ \brief Using Qt's finite state machine classes
\image statemachine-examples.png StateMachine
@@ -1265,11 +832,9 @@
/*!
\page examples-animation.html
+ \ingroup all-examples
\title Animation Framework Examples
-
- \previouspage State Machine Examples
- \contentspage Qt Examples
- \nextpage Multi-Touch Examples
+ \brief Doing animations with Qt
\image animation-examples.png Animation
@@ -1287,11 +852,9 @@
/*!
\page examples-multitouch.html
+ \ingroup all-examples
\title Multi-Touch Examples
-
- \previouspage Animation Framework Examples
- \contentspage Qt Examples
- \nextpage Gestures Examples
+ \brief Using Qt's multi-touch input capability
Support for multi-touch input makes it possible for developers to create
extensible and intuitive user interfaces.
@@ -1306,11 +869,9 @@
/*!
\page examples-gestures.html
+ \ingroup all-examples
\title Gestures Examples
-
- \previouspage Multi-Touch Examples
- \contentspage Qt Examples
- \nextpage D-Bus Examples
+ \brief Gesture programming examples
The API of the gesture framework is not yet finalized and
still subject to change.
@@ -1322,11 +883,9 @@
/*!
\page examples-dbus.html
+ \ingroup all-examples
\title D-Bus Examples
-
- \previouspage Gestures Examples
- \contentspage Qt Examples
- \nextpage Qt for Embedded Linux Examples
+ \brief Using D-Bus from Qt applications
\list
\o \l{dbus/dbus-chat}{Chat}
@@ -1341,11 +900,9 @@
/*!
\page examples-embeddedlinux.html
+ \ingroup all-examples
\title Qt for Embedded Linux Examples
-
- \previouspage D-Bus Examples
- \contentspage Qt Examples
- \nextpage ActiveQt Examples
+ \brief Using Qt in Embedded Linux
\image qt-embedded-examples.png QtEmbedded
@@ -1363,11 +920,9 @@
/*!
\page examples-activeqt.html
+ \ingroup all-examples
\title ActiveQt Examples
-
- \previouspage Qt for Embedded Linux Examples
- \contentspage Qt Examples
- \nextpage Qt Quarterly
+ \brief Using ActiveX from Qt applications
\image activeqt-examples.png ActiveQt
diff --git a/doc/src/getting-started/how-to-learn-qt.qdoc b/doc/src/getting-started/how-to-learn-qt.qdoc
index ce8f5218f6..642421b07f 100644
--- a/doc/src/getting-started/how-to-learn-qt.qdoc
+++ b/doc/src/getting-started/how-to-learn-qt.qdoc
@@ -59,11 +59,11 @@
If you want to design your user interfaces using a design tool, then
read at least the first few chapters of the \l{Qt Designer manual}.
- By now you'll have produced some small working applications and have a
- broad feel for Qt programming. You could start work on your own
- projects straight away, but we recommend reading a couple of key
- overviews to deepen your understanding of Qt: \l{Qt Object Model}
- and \l{Signals and Slots}.
+ By now you'll have produced some small working applications and
+ have a broad feel for Qt programming. You could start work on your
+ own projects straight away, but we recommend reading a couple of
+ key overviews to deepen your understanding of Qt: The Qt \l{Object
+ Model} and \l{Signals and Slots}.
\beginfloatleft
\inlineimage qtdemo-small.png
diff --git a/doc/src/getting-started/installation.qdoc b/doc/src/getting-started/installation.qdoc
index 3ea351e35f..4a96a39461 100644
--- a/doc/src/getting-started/installation.qdoc
+++ b/doc/src/getting-started/installation.qdoc
@@ -703,21 +703,19 @@ If you are using pre-built binaries, follow the instructions given in the
\ingroup qtsymbian
\brief How to install Qt on the Symbian platform using Linux.
-\note Qt for the Symbian platform has some requirements that are given in more detail
-in the \l{Qt for the Symbian platform Requirements} document. TODO list requirements like SDK here.
-
\note \bold {This document describes how to install and configure Qt for
the Symbian platform from scratch, using Linux as the build host.
-Qt does not come with a binary package for Linux yet, but if you want to avoid
-the full build of Qt and start developing applications right away, you can
-download drop-in binaries from here: TODO}
+Qt for Symbian binaries can be downloaded directly so development of
+applications using Qt for Symbian can start right away.}
\list 1
\o Setup the development environment
- TODO Make sure your Symbian development environment is correctly installed and
- patched as explained in the \l{Qt for the Symbian platform Requirements} document.
+ \note Qt for the Symbian platform has some requirements on the development
+ platform. The Symbian SDK for Linux as well as a cross compiler for the ARM
+ processor used on Symbian devices should be present on the development machine.
+ See {http://qt.gitorious.org/qt/pages/QtCreatorSymbianLinux} for more details.
\o Install Qt
@@ -770,7 +768,7 @@ download drop-in binaries from here: TODO}
The Qt libraries are built with "All -Tcb" capability, so that
they can support all types of applications. However, these
- capabilities are automatically lowered if you make a selfsigned
+ capabilities are automatically lowered if you make a self-signed
package.
\o Building a Qt package with a Symbian developer certificate
@@ -826,7 +824,7 @@ download drop-in binaries from here: TODO}
Note the identifier on the line where your Symbian device
appears. Then execute the following, using the first and
- second part of the identifier in place of \c XXXX,
+ second part of the identifier in place of \c XXX,
respectively.
\snippet doc/src/snippets/code/doc_src_installation.qdoc 44
@@ -961,7 +959,7 @@ download drop-in binaries from here: TODO}
\l{http://www.microsoft.com/downloads/details.aspx?FamilyID=0baf2b35-c656-4969-ace8-e4c0c0716adb&amp;DisplayLang=en}{here}.
\endlist
- \sa {Known Issues in %VERSION%}
+ \sa {Known Issues}
*/
/*!
@@ -971,7 +969,7 @@ download drop-in binaries from here: TODO}
\brief Setting up the Mac OS X environment for Qt.
\previouspage General Qt Requirements
- \sa {Known Issues in %VERSION%}
+ \sa {Known Issues}
*/
/*!
@@ -1110,7 +1108,7 @@ download drop-in binaries from here: TODO}
distributions; try searching for \c gstreamer or \c libgstreamer in your
distribution's package repository to find suitable packages.
- \sa {Known Issues in %VERSION%}
+ \sa {Known Issues}
*/
/*!
@@ -1164,7 +1162,7 @@ download drop-in binaries from here: TODO}
information on Windows CE Customization can be found
\l{Windows CE - Working with Custom SDKs}{here}.
- \sa {Known Issues in %VERSION%}
+ \sa {Known Issues}
*/
/*!
@@ -1174,7 +1172,7 @@ download drop-in binaries from here: TODO}
\brief Setting up the Embedded Linux environment for Qt.
\previouspage General Qt Requirements
- \sa {Known Issues in %VERSION%}
+ \sa {Known Issues}
\section1 Building Qt for Embedded Linux with uclibc
@@ -1274,5 +1272,5 @@ download drop-in binaries from here: TODO}
We recommend you to take a look at \l{http://developer.symbian.org/wiki/index.php/Qt_Quick_Start}{Symbian Foundation - Qt Quick Start}
to get more information about how to setup the development environment.
- \sa {Known Issues in %VERSION%}
+ \sa {Known Issues}
*/
diff --git a/doc/src/getting-started/known-issues.qdoc b/doc/src/getting-started/known-issues.qdoc
index b73e15de59..5b6b2fc240 100644
--- a/doc/src/getting-started/known-issues.qdoc
+++ b/doc/src/getting-started/known-issues.qdoc
@@ -41,15 +41,15 @@
/*!
\page known-issues.html
- \title Known Issues in %VERSION%
+ \title Known Issues
\ingroup platform-specific
- \brief A summary of known issues in Qt %VERSION% at the time of release.
+ \brief A summary of known issues in this Qt version at the time of release.
- An up-to-date list of known issues with Qt %VERSION% can be found via the
+ An up-to-date list of known issues can be found at
\l{http://bugreports.qt.nokia.com/}{Qt Bug Tracker}.
- For a list list of known bugs in Qt %VERSION%, see the \l{Task Tracker}
- on the Qt website.
+ For a list list of known bugs, see the \l{Task Tracker} at the Qt
+ website.
An overview of known issues may also be found at:
\l{http://qt.gitorious.org/qt/pages/QtKnownIssues}
diff --git a/doc/src/howtos/HWacceleration.qdoc b/doc/src/howtos/HWacceleration.qdoc
index fbc657cd27..c7b1a72081 100644
--- a/doc/src/howtos/HWacceleration.qdoc
+++ b/doc/src/howtos/HWacceleration.qdoc
@@ -41,17 +41,20 @@
/*!
\page HWAcc_rendering.html
- \title Using hardware acceleration on embedded platforms.
+ \title Hardware Acceleration &amp Embedded Platforms.
+ \brief How to use hardware acceleration for fast rendering.
\ingroup best-practices
\section1 Abstract
+
This document describes how to use hardware acceleration for fast
- rendering on embedded platforms supported by Qt. In short, it explains
- how the graphics pipeline works. Since there might be differences to
- how the APIs are being used on different embedded platforms, a table
- links to documentation dedicated to platform specific documentation
- for each supported hardware acceleration API.
+ rendering on embedded platforms supported by Qt. In short, it
+ explains how the graphics pipeline works. Since there might be
+ differences to how the APIs are being used on different embedded
+ platforms, a table links to documentation dedicated to platform
+ specific documentation for each supported hardware acceleration
+ API.
\input platforms/emb-hardwareacceleration.qdocinc
diff --git a/doc/src/howtos/accelerators.qdoc b/doc/src/howtos/accelerators.qdoc
index 65f1defc59..b6ef5c2a6d 100644
--- a/doc/src/howtos/accelerators.qdoc
+++ b/doc/src/howtos/accelerators.qdoc
@@ -42,6 +42,7 @@
/*!
\page accelerators.html
\title Standard Accelerator Keys
+ \brief Recommended accelerator keys.
\ingroup best-practices
diff --git a/doc/src/howtos/appicon.qdoc b/doc/src/howtos/appicon.qdoc
index dd39509a25..9377961257 100644
--- a/doc/src/howtos/appicon.qdoc
+++ b/doc/src/howtos/appicon.qdoc
@@ -42,6 +42,7 @@
/*!
\page appicon.html
\title Setting the Application Icon
+ \brief How to set your application's icon.
\ingroup best-practices
diff --git a/doc/src/howtos/guibooks.qdoc b/doc/src/howtos/guibooks.qdoc
index 1a706704f5..aa108d127d 100644
--- a/doc/src/howtos/guibooks.qdoc
+++ b/doc/src/howtos/guibooks.qdoc
@@ -43,6 +43,7 @@
\page guibooks.html
\title Books about GUI Design
\ingroup best-practices
+ \brief Some recommended books about GUI design.
This is not a comprehensive list -- there are many other books worth
buying. Here we mention just a few user interface books that don't
@@ -96,8 +97,6 @@
Microsoft Windows User Experience}}, ISBN 1-55615-679-0,
is Microsoft's look and feel bible. Indispensable for everyone who
has customers that worship Microsoft, and it's quite good, too.
- It is also available
- \link http://msdn.microsoft.com/library/en-us/dnwue/html/welcome.asp online\endlink.
\bold{\l{http://www.amazon.com/exec/obidos/ASIN/047159900X/trolltech/t}{The Icon Book}}
by William Horton, ISBN 0-471-59900-X, is perhaps the only thorough
diff --git a/doc/src/howtos/openvg.qdoc b/doc/src/howtos/openvg.qdoc
index f70ed54bfd..f4a34cda30 100644
--- a/doc/src/howtos/openvg.qdoc
+++ b/doc/src/howtos/openvg.qdoc
@@ -172,8 +172,25 @@
\endlist
The other members of QPainter::CompositionMode are not supported
- because OpenVG 1.1 does not have an equivalent in its \c VGBlendMode
- enumeration. Any attempt to set an unsupported mode will result in
+ unless the \c{VG_KHR_advanced_blending} extension is present,
+ in which case the following additional modes are supported:
+
+ \list
+ \o QPainter::CompositionMode_Overlay
+ \o QPainter::CompositionMode_ColorDodge
+ \o QPainter::CompositionMode_ColorBurn
+ \o QPainter::CompositionMode_HardLight
+ \o QPainter::CompositionMode_SoftLight
+ \o QPainter::CompositionMode_Difference
+ \o QPainter::CompositionMode_Exclusion
+ \o QPainter::CompositionMode_SourceOut
+ \o QPainter::CompositionMode_DestinationOut
+ \o QPainter::CompositionMode_SourceAtop
+ \o QPainter::CompositionMode_DestinationAtop
+ \o QPainter::CompositionMode_Xor
+ \endlist
+
+ Any attempt to set an unsupported mode will result in
the actual mode being set to QPainter::CompositionMode_SourceOver.
Client applications should avoid using unsupported modes.
@@ -245,7 +262,10 @@
The QVG_SCISSOR_CLIP define will disable clipping with vgMask() or
vgRenderToMask() and instead use the scissor rectangle list to perform
- clipping. Clipping with an arbitrary QPainterPath will not be supported.
+ clipping. Clipping with an arbitrary QPainterPath will need to convert
+ the path into a series of rectangles. If the number of rectangles
+ exceeds VG_MAX_SCISSOR_RECTS, then the results will not be exact.
+
The QVG_SCISSOR_CLIP define should only be used if the OpenVG engine
does not support vgMask() or vgRenderToMask().
diff --git a/doc/src/howtos/qtdesigner.qdoc b/doc/src/howtos/qtdesigner.qdoc
index 2dd7fcfe67..92041f0a74 100644
--- a/doc/src/howtos/qtdesigner.qdoc
+++ b/doc/src/howtos/qtdesigner.qdoc
@@ -42,6 +42,7 @@
/*!
\page qtdesigner-components.html
\title Creating and Using Components for Qt Designer
+ \brief How to create and use custom widget plugins.
\ingroup best-practices
\tableofcontents
diff --git a/doc/src/howtos/restoring-geometry.qdoc b/doc/src/howtos/restoring-geometry.qdoc
index 36c5e4f4e4..e72b99320c 100644
--- a/doc/src/howtos/restoring-geometry.qdoc
+++ b/doc/src/howtos/restoring-geometry.qdoc
@@ -42,7 +42,7 @@
/*!
\page restoring-geometry.html
\title Restoring a Window's Geometry
-
+ \brief How to save &amp restore window geometry.
\ingroup best-practices
This document describes how to save and restore a \l{Window
diff --git a/doc/src/howtos/session.qdoc b/doc/src/howtos/session.qdoc
index e2e87a89dc..f53af0433d 100644
--- a/doc/src/howtos/session.qdoc
+++ b/doc/src/howtos/session.qdoc
@@ -42,7 +42,7 @@
/*!
\page session.html
\title Session Management
-
+ \brief How to do session management with Qt.
\ingroup best-practices
A \e session is a group of running applications, each of which has a
diff --git a/doc/src/howtos/sharedlibrary.qdoc b/doc/src/howtos/sharedlibrary.qdoc
index 70fc4db562..ed803ed7cb 100644
--- a/doc/src/howtos/sharedlibrary.qdoc
+++ b/doc/src/howtos/sharedlibrary.qdoc
@@ -42,7 +42,7 @@
/*!
\page sharedlibrary.html
\title Creating Shared Libraries
-
+ \brief How to create shared libraries.
\ingroup best-practices
The following sections list certain things that should be taken into
diff --git a/doc/src/howtos/timers.qdoc b/doc/src/howtos/timers.qdoc
index cfc2fb4abd..b0019167eb 100644
--- a/doc/src/howtos/timers.qdoc
+++ b/doc/src/howtos/timers.qdoc
@@ -42,7 +42,7 @@
/*!
\page timers.html
\title Timers
- \brief How to use timers in your application.
+ \brief How to use Qt timers in your application.
\ingroup best-practices
diff --git a/doc/src/images/declarative-folderlistmodel.png b/doc/src/images/declarative-folderlistmodel.png
new file mode 100644
index 0000000000..a469f9683e
--- /dev/null
+++ b/doc/src/images/declarative-folderlistmodel.png
Binary files differ
diff --git a/doc/src/images/declarative-image_fillMode.gif b/doc/src/images/declarative-image_fillMode.gif
deleted file mode 100644
index eb0a9afb7f..0000000000
--- a/doc/src/images/declarative-image_fillMode.gif
+++ /dev/null
Binary files differ
diff --git a/doc/src/images/declarative-integrating-graphicswidgets.png b/doc/src/images/declarative-integrating-graphicswidgets.png
deleted file mode 100644
index d57f4b9206..0000000000
--- a/doc/src/images/declarative-integrating-graphicswidgets.png
+++ /dev/null
Binary files differ
diff --git a/doc/src/images/declarative-qtlogo-preserveaspectcrop.png b/doc/src/images/declarative-qtlogo-preserveaspectcrop.png
new file mode 100644
index 0000000000..64fb086fac
--- /dev/null
+++ b/doc/src/images/declarative-qtlogo-preserveaspectcrop.png
Binary files differ
diff --git a/doc/src/images/declarative-qtlogo-preserveaspectfit.png b/doc/src/images/declarative-qtlogo-preserveaspectfit.png
new file mode 100644
index 0000000000..2585fa5f5f
--- /dev/null
+++ b/doc/src/images/declarative-qtlogo-preserveaspectfit.png
Binary files differ
diff --git a/doc/src/images/declarative-qtlogo-stretch.png b/doc/src/images/declarative-qtlogo-stretch.png
new file mode 100644
index 0000000000..32a0114e4e
--- /dev/null
+++ b/doc/src/images/declarative-qtlogo-stretch.png
Binary files differ
diff --git a/doc/src/images/declarative-qtlogo-tile.png b/doc/src/images/declarative-qtlogo-tile.png
new file mode 100644
index 0000000000..7d1b9d0485
--- /dev/null
+++ b/doc/src/images/declarative-qtlogo-tile.png
Binary files differ
diff --git a/doc/src/images/declarative-qtlogo-tilehorizontally.png b/doc/src/images/declarative-qtlogo-tilehorizontally.png
new file mode 100644
index 0000000000..367a8c7d0b
--- /dev/null
+++ b/doc/src/images/declarative-qtlogo-tilehorizontally.png
Binary files differ
diff --git a/doc/src/images/declarative-qtlogo-tilevertically.png b/doc/src/images/declarative-qtlogo-tilevertically.png
new file mode 100644
index 0000000000..68afafa8c3
--- /dev/null
+++ b/doc/src/images/declarative-qtlogo-tilevertically.png
Binary files differ
diff --git a/doc/src/images/declarative-qtlogo1.png b/doc/src/images/declarative-qtlogo.png
index 940d159ae4..940d159ae4 100644
--- a/doc/src/images/declarative-qtlogo1.png
+++ b/doc/src/images/declarative-qtlogo.png
Binary files differ
diff --git a/doc/src/images/declarative-qtlogo2.png b/doc/src/images/declarative-qtlogo2.png
deleted file mode 100644
index b1d128a294..0000000000
--- a/doc/src/images/declarative-qtlogo2.png
+++ /dev/null
Binary files differ
diff --git a/doc/src/images/declarative-qtlogo3.png b/doc/src/images/declarative-qtlogo3.png
deleted file mode 100644
index d5165248cf..0000000000
--- a/doc/src/images/declarative-qtlogo3.png
+++ /dev/null
Binary files differ
diff --git a/doc/src/images/declarative-qtlogo4.png b/doc/src/images/declarative-qtlogo4.png
deleted file mode 100644
index 7c8aa64210..0000000000
--- a/doc/src/images/declarative-qtlogo4.png
+++ /dev/null
Binary files differ
diff --git a/doc/src/images/declarative-qtlogo5.png b/doc/src/images/declarative-qtlogo5.png
deleted file mode 100644
index b7b3513e53..0000000000
--- a/doc/src/images/declarative-qtlogo5.png
+++ /dev/null
Binary files differ
diff --git a/doc/src/images/declarative-qtlogo6.png b/doc/src/images/declarative-qtlogo6.png
deleted file mode 100644
index 07a078f912..0000000000
--- a/doc/src/images/declarative-qtlogo6.png
+++ /dev/null
Binary files differ
diff --git a/doc/src/images/modelview-move-rows-1.png b/doc/src/images/modelview-move-rows-1.png
new file mode 100644
index 0000000000..b629a72dd4
--- /dev/null
+++ b/doc/src/images/modelview-move-rows-1.png
Binary files differ
diff --git a/doc/src/images/modelview-move-rows-2.png b/doc/src/images/modelview-move-rows-2.png
new file mode 100644
index 0000000000..674ca18f78
--- /dev/null
+++ b/doc/src/images/modelview-move-rows-2.png
Binary files differ
diff --git a/doc/src/images/modelview-move-rows-3.png b/doc/src/images/modelview-move-rows-3.png
new file mode 100644
index 0000000000..5445dd599c
--- /dev/null
+++ b/doc/src/images/modelview-move-rows-3.png
Binary files differ
diff --git a/doc/src/images/modelview-move-rows-4.png b/doc/src/images/modelview-move-rows-4.png
new file mode 100644
index 0000000000..ecd65bac6c
--- /dev/null
+++ b/doc/src/images/modelview-move-rows-4.png
Binary files differ
diff --git a/doc/src/images/multitouch-fingerpaint-example.png b/doc/src/images/multitouch-fingerpaint-example.png
new file mode 100644
index 0000000000..c741b65526
--- /dev/null
+++ b/doc/src/images/multitouch-fingerpaint-example.png
Binary files differ
diff --git a/doc/src/images/qml-clocks-example.png b/doc/src/images/qml-clocks-example.png
new file mode 100644
index 0000000000..1b352b589b
--- /dev/null
+++ b/doc/src/images/qml-clocks-example.png
Binary files differ
diff --git a/doc/src/images/qml-corkboards-example.png b/doc/src/images/qml-corkboards-example.png
new file mode 100644
index 0000000000..8acffa7b64
--- /dev/null
+++ b/doc/src/images/qml-corkboards-example.png
Binary files differ
diff --git a/doc/src/images/qml-dial.png b/doc/src/images/qml-dial.png
new file mode 100644
index 0000000000..da5c031c40
--- /dev/null
+++ b/doc/src/images/qml-dial.png
Binary files differ
diff --git a/doc/src/images/qml-dialcontrol-example.png b/doc/src/images/qml-dialcontrol-example.png
new file mode 100644
index 0000000000..74cd645d3a
--- /dev/null
+++ b/doc/src/images/qml-dialcontrol-example.png
Binary files differ
diff --git a/doc/src/images/qml-dynamicscene-example.png b/doc/src/images/qml-dynamicscene-example.png
new file mode 100644
index 0000000000..1f725d1b09
--- /dev/null
+++ b/doc/src/images/qml-dynamicscene-example.png
Binary files differ
diff --git a/doc/src/images/qml-flickr-example.png b/doc/src/images/qml-flickr-demo.png
index 71ea567929..71ea567929 100644
--- a/doc/src/images/qml-flickr-example.png
+++ b/doc/src/images/qml-flickr-demo.png
Binary files differ
diff --git a/doc/src/images/qml-flipable-example.png b/doc/src/images/qml-flipable-example.png
new file mode 100644
index 0000000000..dd68a66cef
--- /dev/null
+++ b/doc/src/images/qml-flipable-example.png
Binary files differ
diff --git a/doc/src/images/qml-image-example.png b/doc/src/images/qml-image-example.png
new file mode 100644
index 0000000000..c1951c0dae
--- /dev/null
+++ b/doc/src/images/qml-image-example.png
Binary files differ
diff --git a/doc/src/images/qml-intro-anchors1.png b/doc/src/images/qml-intro-anchors1.png
new file mode 100644
index 0000000000..fdb301ea22
--- /dev/null
+++ b/doc/src/images/qml-intro-anchors1.png
Binary files differ
diff --git a/doc/src/images/qml-intro-anchors2.png b/doc/src/images/qml-intro-anchors2.png
new file mode 100644
index 0000000000..84f43bd3df
--- /dev/null
+++ b/doc/src/images/qml-intro-anchors2.png
Binary files differ
diff --git a/doc/src/images/qml-intro-anchors3.png b/doc/src/images/qml-intro-anchors3.png
new file mode 100644
index 0000000000..21ae97baf7
--- /dev/null
+++ b/doc/src/images/qml-intro-anchors3.png
Binary files differ
diff --git a/doc/src/images/qml-intro-helloa.png b/doc/src/images/qml-intro-helloa.png
new file mode 100644
index 0000000000..00b34b0208
--- /dev/null
+++ b/doc/src/images/qml-intro-helloa.png
Binary files differ
diff --git a/doc/src/images/qml-minehunt-example.png b/doc/src/images/qml-minehunt-demo.png
index 3b6956936f..3b6956936f 100644
--- a/doc/src/images/qml-minehunt-example.png
+++ b/doc/src/images/qml-minehunt-demo.png
Binary files differ
diff --git a/doc/src/images/qml-photoviewer-example.png b/doc/src/images/qml-photoviewer-demo.png
index be6f1bf1f9..be6f1bf1f9 100644
--- a/doc/src/images/qml-photoviewer-example.png
+++ b/doc/src/images/qml-photoviewer-demo.png
Binary files differ
diff --git a/doc/src/images/qml-progressbar-example.png b/doc/src/images/qml-progressbar-example.png
new file mode 100644
index 0000000000..3ddd6c64ad
--- /dev/null
+++ b/doc/src/images/qml-progressbar-example.png
Binary files differ
diff --git a/doc/src/images/qml-rssnews-demo.png b/doc/src/images/qml-rssnews-demo.png
new file mode 100644
index 0000000000..948ef4d87c
--- /dev/null
+++ b/doc/src/images/qml-rssnews-demo.png
Binary files differ
diff --git a/doc/src/images/qml-samegame-example.png b/doc/src/images/qml-samegame-demo.png
index c17b4e0775..c17b4e0775 100644
--- a/doc/src/images/qml-samegame-example.png
+++ b/doc/src/images/qml-samegame-demo.png
Binary files differ
diff --git a/doc/src/images/qml-searchbox-example.png b/doc/src/images/qml-searchbox-example.png
new file mode 100644
index 0000000000..97d12bba89
--- /dev/null
+++ b/doc/src/images/qml-searchbox-example.png
Binary files differ
diff --git a/doc/src/images/qml-slideswitch-example.png b/doc/src/images/qml-slideswitch-example.png
new file mode 100644
index 0000000000..17cb3eb36b
--- /dev/null
+++ b/doc/src/images/qml-slideswitch-example.png
Binary files differ
diff --git a/doc/src/images/qml-snake-example.png b/doc/src/images/qml-snake-demo.png
index d3c077d1f8..d3c077d1f8 100644
--- a/doc/src/images/qml-snake-example.png
+++ b/doc/src/images/qml-snake-demo.png
Binary files differ
diff --git a/doc/src/images/qml-spinner-example.png b/doc/src/images/qml-spinner-example.png
new file mode 100644
index 0000000000..ed381f8aa7
--- /dev/null
+++ b/doc/src/images/qml-spinner-example.png
Binary files differ
diff --git a/doc/src/images/qml-tabwidget-example.png b/doc/src/images/qml-tabwidget-example.png
new file mode 100644
index 0000000000..05887f3d1a
--- /dev/null
+++ b/doc/src/images/qml-tabwidget-example.png
Binary files differ
diff --git a/doc/src/images/qml-tic-tac-toe-example.png b/doc/src/images/qml-tic-tac-toe-example.png
new file mode 100644
index 0000000000..5a5cc8262b
--- /dev/null
+++ b/doc/src/images/qml-tic-tac-toe-example.png
Binary files differ
diff --git a/doc/src/images/qml-tvtennis-example.png b/doc/src/images/qml-tvtennis-example.png
new file mode 100644
index 0000000000..ac2b5276bd
--- /dev/null
+++ b/doc/src/images/qml-tvtennis-example.png
Binary files differ
diff --git a/doc/src/images/qml-twitter-demo.png b/doc/src/images/qml-twitter-demo.png
new file mode 100644
index 0000000000..63d6486a5a
--- /dev/null
+++ b/doc/src/images/qml-twitter-demo.png
Binary files differ
diff --git a/doc/src/index.qdoc b/doc/src/index.qdoc
index 2e6f9bd44e..b759435811 100644
--- a/doc/src/index.qdoc
+++ b/doc/src/index.qdoc
@@ -44,16 +44,15 @@
\keyword Qt Reference Documentation
\raw HTML
- <div class="indexbox" >
+ <div class="indexbox guide" >
<div class="heading">
Qt Developer Guide</div>
<div class="indexboxcont indexboxbar">
- <div class="section indexIcon">
- <img src="images/qt_guide.png" alt="" /></div>
+ <div class="section indexIcon"><span></span></div>
<div class="section">
<p>Qt is a cross-platform application and UI framework. Using Qt, you can write web-enabled applications once and deploy them across desktop, mobile and embedded operating systems without rewriting the source code.</p>
</div>
- <div class="section sectionlist lastcol">
+ <div class="section sectionlist">
<ul>
<li><a href="">Getting started</a></li>
<li><a href="installation.html">Installation &amp; first steps</a></li>
@@ -65,50 +64,50 @@
</div>
</div>
</div>
- <div class="indexbox">
+ <div class="indexbox api">
<div class="heading">
Qt API Overviews</div>
- <div class="indexboxcont indexboxbar tricol">
- <div class="sectionlist">
+ <div class="indexboxcont indexboxbar ">
+ <div class="sectionlist tricol">
<ul>
- <li><a href="modules.html">All modules</a></li>
- <li><a href="classes.html">All classes</a></li>
- <li><a href="namespaces.html">All namespaces</a></li>
- <li><a href="functions.html">All functions</a></li>
- <li><a href="platform-specific.html">Platform support &amp; specifics</a></li>
+ <li><a href="classes.html">Class index</a></li>
+ <li><a href="functions.html">Function index</a></li>
+ <li><a href="modules.html">Modules</a></li>
+ <li><a href="namespaces.html">Namespaces</a></li>
+ <li><a href="qtglobal.html">Global stuff</a></li>
+ <li><a href="qdeclarativeelements.html">QML elements</a></li>
</ul>
</div>
- <div class="sectionlist">
+ <div class="sectionlist tricol">
<ul>
- <li><a href="object.html">QObject model</a></li>
- <li><a href="application-windows.html">Window architecture</a></li>
- <li><a href="widgets-and-layouts.html">Styles &amp; layout</a></li>
- <li><a href="eventsandfilters.html">Event handling</a></li>
- <li><a href="paintsystem.html">Paint system</a></li>
+ <li><a href="qt-basic-concepts.html">Basic Qt Architecture</a></li>
+ <li><a href="declarativeui.html">Device UI's &amp; Qt Quick</a></li>
+ <li><a href="qt-gui-concepts.html">Desktop UI components</a></li>
+ <li><a href="platform-specific.html">Platform-specific info</a></li>
+ <li><a href="qt-graphics.html">Graphics, Painting &amp Printing</a></li>
+ <li><a href="qt-network.html">Input/Output &amp networking</a></li>
</ul>
</div>
- <div class="lastcol">
+ <div class="sectionlist">
<ul>
- <li><a href="graphicsview.html">Canvas UI with Graphics View</a></li>
- <li><a href="declarativeui.html">UI design &amp; Qt Quick</a></li>
- <li><a href="io.html">Input/output</a></li>
- <li><a href="webintegration.html">Integrating Web Content</a></li>
- <li><a href="developing-with-qt.html">X-platform, debug &amp; deploy</a></li>
+ <li><a href="model-view-programming.html">Model/View programming</a></li>
+ <li><a href="technology-apis.html">Qt API's for other technologies</a></li>
+ <li><a href="best-practices.html">Qt How-to's &amp best practices</a></li>
+ <li><a href="developing-with-qt.html">Cross-platform development</a></li>
</ul>
</div>
</div>
</div>
- <div class="indexbox">
+ <div class="indexbox tools">
<div class="heading">
Qt Tools</div>
<div class="indexboxcont">
- <div class="section indexIcon">
- <img src="images/qt_tools.png" alt="" /></div>
+ <div class="section indexIcon"><span></span></div>
<div class="section">
<p>Qt offers a selection of development tools for different tasks. Use Qt Creator for
project and code management as well as building powerfull UIs.</p>
</div>
- <div class="section sectionlist lastcol">
+ <div class="section sectionlist">
<ul>
<li><a href="http://doc.qt.nokia.com/qtcreator-1.3/index.html">Qt Creator</a></li>
<li><a href="designer-manual.html">Qt Designer</a></li>
@@ -118,9 +117,8 @@
<li><a href="qvfb.html">Virtual Framebuffer</a></li>
</ul>
</div>
- </div>
- </div>
-
+ </div>
+ </div>
\endraw
*/
diff --git a/doc/src/internationalization/linguist-manual.qdoc b/doc/src/internationalization/linguist-manual.qdoc
index 424dec2708..4493deb527 100644
--- a/doc/src/internationalization/linguist-manual.qdoc
+++ b/doc/src/internationalization/linguist-manual.qdoc
@@ -252,6 +252,9 @@
can also process Localization Interchange File Format (XLIFF)
format files; files in this format typically have file names that
end with the \c .xlf suffix.
+
+ \note The minimum supported version for XLIFF format files is
+ 1.1. XLIFF 1.0 version files are not supported.
Pass the \c -help option to \c lupdate to obtain the list of
supported options:
@@ -962,8 +965,10 @@
application.
\o \c .xlf \e {XLIFF files} \BR are human-readable XML files that adhere
to the international XML Localization Interchange File Format. \QL
- can be used to edit XLIFF files generated by other programs. For standard
- Qt projects, however, only the TS file format is used.
+ can be used to edit XLIFF files generated by other programs. However, for
+ standard Qt projects, only the TS file format is used. \note The minimum
+ supported version for XLIFF format files is 1.1. XLIFF 1.0 version files
+ are not supported.
\o QM \e {Qt message files} \BR are binary files that contain
translations used by an application at run-time. These files are
generated by \l lrelease, but can also be generated by \QL.
diff --git a/doc/src/ja_JP/development/designer-manual.qdoc b/doc/src/ja_JP/development/designer-manual.qdoc
new file mode 100644
index 0000000000..585af166a2
--- /dev/null
+++ b/doc/src/ja_JP/development/designer-manual.qdoc
@@ -0,0 +1,175 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the documentation of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+/*!
+ \page designer-quick-start.html
+
+ \title Qt Designer クイックガイド
+
+ \QD を使うための基本的な手順は、以下の\bold{四つ}です。
+
+ \list 1
+ \o フォームとオブジェクトを選択する
+ \o フォームにオブジェクトを配置する
+ \o スロットにシグナルを接続する
+ \o フォームをプレビューする
+ \endlist
+
+ \image rgbController-screenshot.png
+
+ Red、Green、Blue(RGB)の値を操作するために必要なコントロールを含む
+ 小さなウィジェット(上記スクリーンショット参照)を設計する場合を想定します。
+ このウィジェットは、画像処理プログラム内のどこからでも表示できるウィジェットです。
+
+ \table
+ \row
+ \i \inlineimage designer-choosing-form.png
+ \i \bold{フォームを選択する}
+
+ \gui{新しいフォーム} ダイアログから \gui Widget を選択して開始します。
+ \endtable
+
+
+ \table
+ \row
+ \i \inlineimage rgbController-arrangement.png
+ \i \bold{フォームにウィジェットを配置する}
+
+ 3つのラベル(Label)、スピンボックス(Spin Box)、垂直方向のスライダ(Vertical Slider)をフォーム上へドラッグします。
+ ラベルの既定の文字列を変更するには、文字列をダブルクリックします。
+ 希望するレイアウトに合わせて配置します。
+ \endtable
+
+ 画像のようにこれらのウィジェットを配置するには、
+ レイアウトにウィジェットを配置する必要があります。
+ これを3つグループに対して行います。
+ まず "RED" ラベルを選択します。
+ 次に、\key Ctrl (Mac OS X では \key Command)キーを押したまま、対応するスピンボックスとスライダを選択します。
+ \gui{フォーム} メニューで、\gui{格子状に並べる}を選択します。
+
+ \table
+ \row
+ \i \inlineimage rgbController-form-gridLayout.png
+ \i \inlineimage rgbController-selectForLayout.png
+ \endtable
+
+ 他の2つのラベルに対しても、対応するスピンボックスとスライダごとにこの手順を繰り返します。
+
+ 次の手順は、これら3つのレイアウトを組み合わせて、1つの\bold{メインレイアウト}を作成することです。
+ メインレイアウトとは、トップレベルウィジェット(この場合は QWidget)のレイアウトです。
+ トップレベルウィジェットにレイアウトを配置することは重要です。
+ そうでなければ、ウィンドウをサイズ変更したときにウィンドウ上のウィジェットのサイズが変更されません。
+ レイアウトを設定するには、フォーム上の3つのレイアウト以外の任意の場所で\gui{右クリック}し、\gui{水平に並べる}を選択します。
+ または、\gui{格子状に並べる}を選択することもできます。
+ そのどちらでも同じ配置(以下を参照)で表示されます。
+
+ \image rgbController-final-layout.png
+
+ \note メインレイアウトはフォームに表示できません。
+ メインレイアウトがインストールされているかどうかを確認するには、
+ フォームをサイズ変更してみます。
+ インストールされている場合は、各ウィジェットのサイズが適宜変更されます。
+ または、\QD の \gui{Object Inspector} で確認することもできます。
+ トップレベルウィジェットにレイアウトが配置されていない場合、
+ その横に崩れたレイアウトのアイコン \inlineimage rgbController-no-toplevel-layout.png
+ が表示されます。
+
+ スライダをクリックして特定の値までドラッグするときに、
+ スピンボックスにスライダの位置を反映させます。
+ この操作を行うには、スライダの \l{QAbstractSlider::}{valueChanged()}
+ シグナルをスピンボックスの \l{QSpinBox::}{setValue()}
+ スロットに接続する必要があります。
+ また、逆方向、すなわちスピンボックスの \l{QSpinBox::}{valueChanged()}
+ シグナルをスライダの \l{QAbstractSlider::value()}{setValue()} スロットに接続する必要があります。
+
+ この操作を行うには、\key{F4} キーを押すか、\gui{編集|シグナル/スロットの編集} を選択し、
+ \gui{シグナル/スロットの編集}モードに切り替える必要があります。
+
+ \table
+ \row
+ \i \inlineimage rgbController-signalsAndSlots.png
+ \i \bold{シグナルをスロットに接続する}
+
+ スライダをクリックし、カーソルをスピンボックスまでドラッグします。
+ 以下のような \gui{シグナルスロットを設定} ダイアログがポップアップ表示されます。
+ 適切なシグナルとスロットを選択し、\gui OK をクリックします。
+ \endtable
+
+ \image rgbController-configure-connection1.png
+
+ 手順を(逆の順序で)繰り返し、
+ スピンボックスをクリックしてカーソルをスライダまでドラッグし、
+ スピンボックスの \l{QSpinBox::}{valueChanged()} シグナルを、
+ スライダの \l{QAbstractSlider::value()}{setValue()} スロットに接続します。
+
+ 以下のスクリーンショットは、適切なシグナルとスロットを選択するためのガイドとして利用できます。
+
+ \image rgbController-configure-connection2.png
+
+ RGBコントローラーの "RED" コンポーネントのオブジェクトが正常に接続されたので、
+ "GREEN" および "BLUE" コンポーネントにも同じ手順を繰り返します。
+
+ RGB値の範囲は 0 ~ 255 であるため、
+ スピンボックスとスライダを特定の範囲に制限する必要があります。
+
+ \table
+ \row
+ \i \inlineimage rgbController-property-editing.png
+ \i \bold{ウィジェットのプロパティを設定する}
+
+ 最初のスピンボックスをクリックします。
+ \gui{プロパティエディタ}に \l{QSpinBox} のプロパティが表示されます。
+ \l{QSpinBox::}{maximum} のプロパティに、"255" と入力します。
+ 次に、最初の垂直方向のスライダをクリックすると、
+ \l{QAbstractSlider} のプロパティが表示されます。
+ \l{QAbstractSlider::}{maximum} のプロパティにも、"255" と入力します。
+ 残りのスピンボックスとスライダに対しても、この処理を繰り返します。
+ \endtable
+
+ ここで、フォームをプレビューし、アプリケーションの外観を確認します。
+ この操作を行うには、\key{Ctrl + R} を押すか、
+ \gui{フォーム}メニューから\gui{プレビュー}を選択します。
+ スライダをドラッグすると、
+ スピンボックスにその値が反映されます(逆の場合も同じ)。
+ またサイズを変更し、子ウィジェットの管理に使用するレイアウトが
+ どのようにウィンドウのさまざまなサイズに対応しているか確認します。
+*/
+
diff --git a/doc/src/ja_JP/development/qmake-manual.qdoc b/doc/src/ja_JP/development/qmake-manual.qdoc
new file mode 100644
index 0000000000..8c9297fa20
--- /dev/null
+++ b/doc/src/ja_JP/development/qmake-manual.qdoc
@@ -0,0 +1,212 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the documentation of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+/*!
+ \page qmake-tutorial.html
+ \title qmake チュートリアル
+
+ このチュートリアルでは \c qmake の使い方を説明します。
+ このチュートリアルを読み終わったら \c qmake
+ のユーザガイドを読むことをお勧めします。
+
+ \section1 簡単な例
+
+ アプリケーションの基本的な実装は既に完了していて、
+ 次のファイルが作成されていると仮定します。
+
+ \list
+ \o hello.cpp
+ \o hello.h
+ \o main.cpp
+ \endlist
+
+ これらのファイルは Qt ディストリビューションの
+ \c{examples/qmake/tutorial} ディレクトリにあります。
+ アプリケーションの設定について知っておくべきことは、
+ それが Qt で書かれているということだけです。
+ まず、テキストエディタで \c{examples/qmake/tutorial} に
+ \c hello.pro というファイルを作成します。
+ 最初にすることは、開発プロジェクトに含まれるソースファイルとヘッダファイルを
+ \c qmake に教える行を追加することです。
+
+ ソースファイルをプロジェクトファイルに追加します。
+ これには \l{qmake Variable Reference#SOURCES}{SOURCES} 変数を使います。
+ 新しい行を作り、\c{SOURCES +=}、続いて hello.cpp を入力します。
+ つまり、以下のようになります:
+
+ \snippet doc/src/snippets/code/doc_src_qmake-manual.qdoc 108
+
+ これを以下のようになるまでプロジェクトの各ソースファイルに対して行います:
+
+ \snippet doc/src/snippets/code/doc_src_qmake-manual.qdoc 109
+
+ make に似たシンタックスを使いたい場合は、
+ 以下のように改行をエスケープしてすべてのファイルを 1 行に書きます:
+
+ \snippet doc/src/snippets/code/doc_src_qmake-manual.qdoc 110
+
+ ソースファイルの一覧をプロジェクトファイルに追加しました。
+ 次にヘッダファイルを追加します。
+ ヘッダファイルはソースファイルと全く同じ方法で追加することができます。
+ ただし変数は \l{qmake Variable Reference#HEADERS}{HEADERS}
+ を使います。
+
+ これを終えると、プロジェクトファイルは以下のようになるでしょう:
+
+ \snippet doc/src/snippets/code/doc_src_qmake-manual.qdoc 111
+
+ ターゲットの名前は自動的に設定され、
+ プロジェクトファイルと同じ名前になります。
+ ただしプラットフォームに合わせたサフィックスがつけられます。
+ 例えば、プロジェクトファイルが \c hello.pro である場合、
+ ターゲットは Windows では \c hello.exe 、Unix では \c hello になります。
+ プロジェクトファイルで別の名前を指定することもできます:
+
+ \snippet doc/src/snippets/code/doc_src_qmake-manual.qdoc 112
+
+ 最後に \l{qmake Variable Reference#CONFIG}{CONFIG} 変数を設定します。
+ このアプリケーションは Qt アプリケーションなので \c CONFIG に
+ \c qt を追加する必要があります。
+ \c qmake は リンクの必要があるライブラリを追加し、
+ \c moc と \c uic の実行コマンドが Makefile に含まれるようにします。
+
+ 最終的なプロジェクトファイルは以下のようになります:
+
+ \snippet doc/src/snippets/code/doc_src_qmake-manual.qdoc 113
+
+ \c qmake を使って、このアプリケーションのための Makefile を生成します。
+ プロジェクトのディレクトリでコマンドラインに次のように入力します:
+
+ \snippet doc/src/snippets/code/doc_src_qmake-manual.qdoc 114
+
+ そして、使用するコンパイラによって \c make または \c nmake を入力します。
+
+ Visual Studio ユーザの場合、\c qmake は、以下のように
+ \c .dsp ファイルまたは \c .vcproj ファイルも作成できます:
+
+ \snippet doc/src/snippets/code/doc_src_qmake-manual.qdoc 115
+
+ \section1 アプリケーションをデバッグできるようにする
+
+ アプリケーションのリリースバージョンはデバッグシンボルなどのデバッグ情報を含みません。
+ 開発中は、関連情報を含むアプリケーションのデバッグバージョンを作成するのが便利です。
+ これは、プロジェクトファイルの \c CONFIG 変数に \c debug
+ を追加することで簡単に実現できます。
+
+ たとえば:
+
+ \snippet doc/src/snippets/code/doc_src_qmake-manual.qdoc 116
+
+ 直前の例と同様に、Makefile を生成するには \c qmake を使います。
+ アプリケーションをデバッグ環境で実行する際に役に立つ情報を得られるようになります。
+
+ \section1 プラットフォーム固有のソースファイルを追加する
+
+ 数時間コーディングをしていると、
+ アプリケーションにプラットフォーム固有な部分が出てきて
+ プラットフォーム固有のコードを別のファイルに分けたい場合があるかもしれません。
+ ここでは 2 つのファイル \c hellowin.cpp と \c hellounix.cpp があるとして、
+ これをプロジェクトファイルに追加します。
+ これらのファイルをそのまま \c SOURCES 変数に追加することはできません。
+ なぜなら、両方のファイルが Makefile に追加されてしまうからです。
+ \c qmake が実行されたプラットフォームにしたがって処理されるスコープを使う必要があります。
+
+ Windows 用のファイルを追加するシンプルなスコープは以下のようになります:
+
+ \snippet doc/src/snippets/code/doc_src_qmake-manual.qdoc 117
+
+ \c qmake が Windows 上で実行されると、ソースファイルのリストに
+ \c hellowin.cpp が追加されます。
+ \c qmake が他のプラットフォームで実行された場合、この部分は無視されます。
+ 次に Unix 用ファイルのスコープを作成します。
+
+ これを終えると、プロジェクトファイルは以下のようになります:
+
+ \snippet doc/src/snippets/code/doc_src_qmake-manual.qdoc 118
+
+ これまでと同様に、Makefile を生成するには \c qmake を使います。
+
+ \section1 ファイルが存在しない場合に qmake を中止する
+
+ 特定のファイルが存在しない場合に Makefile を作成したくない場合、
+ exists() 関数を使ってファイルが存在するかどうかを確認することができます。
+ また error() 関数を使って \c qmake の処理を中止させることができます。
+ これらの関数はスコープとして動作します。
+ 使い方はスコープの条件をこれらの関数で置き換えるだけです。
+ \c main.cpp ファイルの確認は以下のようになります :
+
+ \snippet doc/src/snippets/code/doc_src_qmake-manual.qdoc 119
+
+ 記号 \c{!} はテストを否定します。
+ つまり \c{exists( main.cpp )} はファイルが存在する場合に真になり、
+ \c{!exists( main.cpp )} はファイルが存在しない場合に真になります。
+
+ \snippet doc/src/snippets/code/doc_src_qmake-manual.qdoc 120
+
+ 前と同様に、\c qmake を実行して Makefile を生成します。
+ 仮に \c main.cpp の名前を変更すると、上記のメッセージが表示され、
+ \c qmake は処理を中止します。
+
+ \section1 複数の条件をチェックする
+
+ Windows を使っていて、
+ コマンドラインからこのアプリケーションを実行したときに
+ qDebug() の出力を見ることができるようにしたい場合、
+ アプリケーションをコンソールの設定を追加してビルドする必要があります。
+ Windows で Makefile をこの設定にするには、
+ \c CONFIG に \c console を追加します。
+ Windows で実行されていて、\e{かつ} \c CONFIG にすでに \c debug
+ がある場合にのみ \c CONFIG を追加したい場合があるかもしれません。
+ このような場合、2 つのスコープをネストさせて使います。
+ まず 1 つのスコープを作成し、その中にもう 1 つスコープを作成します。
+ そして 2 つのスコープの中に設定を書きます。例えば:
+
+ \snippet doc/src/snippets/code/doc_src_qmake-manual.qdoc 121
+
+ ネストされたスコープはコロンを使ってつなぐことができます。
+ 最終的なプロジェクトファイルは以下のようになります:
+
+ \snippet doc/src/snippets/code/doc_src_qmake-manual.qdoc 122
+
+ 以上です。\c qmake のチュートリアルが終了しました。
+ それでは、あなたの開発プロジェクトのプロジェクトファイルを作成してみましょう。
+*/
+
diff --git a/doc/src/ja_JP/development/qtestlib.qdoc b/doc/src/ja_JP/development/qtestlib.qdoc
new file mode 100644
index 0000000000..65c4c3f336
--- /dev/null
+++ b/doc/src/ja_JP/development/qtestlib.qdoc
@@ -0,0 +1,432 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the documentation of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+/*!
+ \page qtestlib-tutorial.html
+ \brief QTestLib を使ったテストの導入ガイド
+ \contentspage QTestLib マニュアル
+ \nextpage {第1章: ユニットテストの作成}{第1章}
+
+ \title QTestLib チュートリアル
+
+ このチュートリアルでは QTestLib フレームワークの機能の初歩的な使い方を説明します。
+ このチュートリアルは全5章で構成されています:
+
+ \list 1
+ \o \l {第1章: ユニットテストの作成}{ユニットテストの作成}
+ \o \l {第2章: データドリブンテスト}{データドリブンテスト}
+ \o \l {第3章: GUI イベントのシミュレート}{GUI イベントのシミュレート}
+ \o \l {第4章: GUI イベントの再現}{GUI イベントの再現}
+ \o \l {第5章: ベンチマークの作成}{ベンチマークの作成}
+ \endlist
+
+*/
+
+
+/*!
+ \example qtestlib/tutorial1
+
+ \contentspage {QTestLib チュートリアル}{目次}
+ \nextpage {第2章: データドリブンテスト}{第2章}
+
+ \title 第1章: ユニットテストの作成
+
+ 第1章では、クラスのテストを行うシンプルなユニットテストを作成して実行する方法を説明します。
+
+ \section1 テストを作成する
+
+ QString クラスの挙動をテストすると仮定しましょう。
+ まず、テスト関数を含むクラスが必要です。
+ このクラスは、 QObject を継承する必要があります:
+
+ \snippet examples/qtestlib/tutorial1/testqstring.cpp 0
+
+ QTest ヘッダーを include してください。
+ それから、テストフレームワークがテスト関数を検索して実行できるよう、
+ テスト関数を private slot として宣言する必要があります。
+
+ 次に、テスト関数を実装します。実装は以下のようになります:
+
+ \snippet doc/src/snippets/code/doc_src_qtestlib.qdoc 8
+
+ \l QVERIFY() マクロは、引数として渡される式を評価します。
+ 式が真と評価されるとテスト関数の実行が継続されます。
+ そうでなければ、エラーメッセージがテストログに追加されテスト関数の実行が停止します。
+
+ テストログに詳細情報を追加したい場合は、
+ \l QCOMPARE() マクロを代わりに使用してください:
+
+ \snippet examples/qtestlib/tutorial1/testqstring.cpp 1
+
+ 文字列が等しくない場合、両方の文字列の内容がテストログに追加され、
+ 比較に失敗した理由を直ちに確認できます。
+
+ 最後に、テストケースを実行可能にするために以下の2行が必要となります:
+
+ \snippet examples/qtestlib/tutorial1/testqstring.cpp 2
+
+ \l QTEST_MAIN() マクロは、すべてのテスト関数を実行するシンプルな
+ \c main() 関数に展開されます。
+ テストクラスの宣言と実装が \c .cpp ファイルに存在する場合、
+ Qt のメタオブジェクト機能を動作させるために、
+ 生成された moc ファイルを include する必要があります。
+
+ \section1 テストを実行する
+
+ 作成したテストを実行してみましょう。
+ テストが \c testqstring.cpp
+ として空のディレクトリに保存されていると仮定して、
+ qmake を使用してプロジェクトを作成し、makefile を生成します。
+
+ \snippet doc/src/snippets/code/doc_src_qtestlib.qdoc 9
+
+ \bold {注:} Windows をお使いの場合、 \c make を \c nmake または、
+ 任意のビルドツールに置き換えてください。
+
+ 作成した実行ファイルを実行すると、次の出力が表示されます:
+
+ \snippet doc/src/snippets/code/doc_src_qtestlib.qdoc 10
+
+ おめでとうございます!
+ QTestLib フレームワークを使用して、
+ 最初のユニットテストの作成と実行に成功しました。
+*/
+
+/*!
+ \example qtestlib/tutorial2
+
+ \previouspage {第1章: ユニットテストの作成}{第1章}
+ \contentspage {QTestLib チュートリアル}{目次}
+ \nextpage {第3章: GUI イベントのシミュレート}{第3章}
+
+ \title 第2章: データドリブンテスト
+
+ 本章ではテストを複数回、それぞれ異なるテストデータを使用して行う方法について、
+ 例を示しながら説明します。
+
+ これまでは、テストデータをテスト関数にハードコードしていました。
+ この場合、テストデータを追加した関数は以下のようになります:
+
+ \snippet doc/src/snippets/code/doc_src_qtestlib.qdoc 11
+
+ 関数が繰り返しを行うコードによって分散するのを防ぐために、
+ QTestLib はテストデータのテスト関数への追加をサポートします。
+ そのために、別の private slot をテストクラスに追加する必要があります:
+
+ \snippet examples/qtestlib/tutorial2/testqstring.cpp 0
+
+ \section1 データ関数を記述する
+
+ テスト関数に関連するデータ関数では、テスト関数と同じ関数名を使用して、
+ 末尾に \c{_data} を追加します。
+ データ関数は以下のようになります:
+
+ \snippet examples/qtestlib/tutorial2/testqstring.cpp 1
+
+ まず、 \l QTest::addColumn() 関数を使用して、
+ テストテーブルの2つの要素(テスト文字列(\c{"string"})および、
+ QString::toUpper() 関数をその文字列に適用するときに予期された結果(\c{"result"}))
+ を定義します。
+
+ 次に、 \l QTest::newRow() 関数を使用して、
+ データをテーブルに追加します。
+ それぞれのデータセットは、テストテーブルでは別々の行(Row)になります。
+
+ \l QTest::newRow() は、データセット名をその引数として受け付けます。
+ テストに失敗した場合、テストログでこのデータセット名が使用され、
+ 失敗したデータの一覧が表示されます。
+ 続いて、最初に任意の文字列(\c{"string"})を、次に
+ QString::toUpper() 関数をその文字列(\c{"string"})に適用するときに予期された結果(\c{"result"})の順に、
+ テーブル行にデータセットをストリーミングします。
+
+ テストデータとは、二次元テーブルを指します。
+ ここでは、\c string および \c result と呼ばれる2つの列と3つの行が含まれます。
+ さらに、インデックスと同様に、各行に名前を関連付けます:
+
+ \table
+ \header
+ \o index
+ \o name
+ \o string
+ \o result
+ \row
+ \o 0
+ \o all lower
+ \o "hello"
+ \o HELLO
+ \row
+ \o 1
+ \o mixed
+ \o "Hello"
+ \o HELLO
+ \row
+ \o 2
+ \o all upper
+ \o "HELLO"
+ \o HELLO
+ \endtable
+
+ \section1 テスト関数を書き換える
+
+ ここで、テスト関数の書き換えを行います:
+
+ \snippet examples/qtestlib/tutorial2/testqstring.cpp 2
+
+ TestQString::toUpper() 関数は 3 回実行されます。
+ すなわち、関連する TestQString::toUpper_data()
+ 関数で作成したテストテーブルの各エントリ毎に一度実行されます。
+
+ TestQString::toUpper() 関数では
+ まず、 \l QFETCH() マクロを使用して、データセットの2つの要素を取得します。
+ \l QFETCH() は、要素のデータタイプと要素名の、
+ 2 つの引数を取ります。
+ 次に \l QCOMPARE() マクロを使用して、テストを実行します。
+
+ このアプローチにより、テストの修正を行うことなく
+ テストに新規データを非常に簡単に追加できます。
+
+ このテストの場合も、テストケースを実行可能にするには、
+ 同様に以下の2行が必要です:
+
+ \snippet examples/qtestlib/tutorial2/testqstring.cpp 3
+
+ これまでと同様に、 \l QTEST_MAIN() マクロは
+ すべてのテスト関数を実行するシンプルな
+ \c main() 関数に展開されます。
+ テストクラスの宣言と実装が \c .cpp ファイルに存在する場合、
+ Qt のメタオブジェクト機能を動作させるために、
+ 生成された moc ファイルを include する必要があります。
+
+*/
+
+/*!
+ \example qtestlib/tutorial3
+
+ \previouspage {第2章: データドリブンテスト}{第2章}
+ \contentspage {QTestLib チュートリアル}{目次}
+ \nextpage {第4章: GUI イベントの再現}{第4章}
+
+ \title 第3章: GUI イベントのシミュレート
+
+ QTestLib にはグラフィカルユーザインターフェースをテストするための機能があります。
+ QTestLib は、ネイティブなウィンドウシステムのイベントをシミュレートする代わりに、
+ Qt の内部で使われるイベントを送信します。
+ このため、テストが実行されるコンピュータには
+ 副次的な悪影響が発生しません。
+
+ 本章では、シンプルな GUI テストを作成する方法を確認します。
+
+ \section1 GUI テストを作成する
+
+ 今回は、 QLineEdit クラスの挙動をテストすると仮定しましょう。
+ これまでと同様に、テスト関数を含むクラスが必要です:
+
+ \snippet examples/qtestlib/tutorial3/testgui.cpp 0
+
+ 唯一の違いは、 QTest だけでなく、 QtGui クラスの宣言を
+ include する必要があることです。
+
+ \snippet examples/qtestlib/tutorial3/testgui.cpp 1
+
+ テスト関数を実装する際は、最初に QLineEdit を作成します。
+ 次に、 \l QTest::keyClicks() 関数を使用して、
+ "hello world" をラインエディットに入力する操作をシミュレートします。
+
+ \note キーボードショートカットを正しくテストするには、
+ ウィジェットの表示も必要になります。
+
+ QTest::keyClicks() は、
+ ウィジェットのキーシーケンスの入力をシミュレートします。
+ 必要に応じてキーボード修飾子の指定や、
+ 各キー入力後の遅延(ミリ秒単位)を指定することができます。
+ 同様に、 QTest::keyClick() 、 QTest::keyPress() 、 QTest::keyRelease() 、
+ QTest::mouseClick() 、 QTest::mouseDClick() 、 QTest::mouseMove() 、
+ QTest::mousePress() 及び QTest::mouseRelease() 関数を使用して、
+ 関連付けられた GUI イベントをシミュレートできます。
+
+ 最後に、 \l QCOMPARE() マクロを使用して、
+ ラインエディットの文字列が正しいかどうか確認します。
+
+ これまでと同様に、
+ テストケースを実行可能にするには、
+ 以下の2行が必要です:
+
+ \snippet examples/qtestlib/tutorial3/testgui.cpp 2
+
+ QTEST_MAIN() マクロは
+ すべてのテスト関数を実行するシンプルな
+ \c main() 関数に展開されます。
+ テストクラスの宣言と実装が \c .cpp ファイルに存在する場合、
+ Qt のメタオブジェクト機能を動作させるために、
+ 生成された moc ファイルを include する必要があります。
+*/
+
+/*!
+ \example qtestlib/tutorial4
+
+ \previouspage {第3章: GUI イベントのシミュレート}{第3章}
+ \contentspage {QTestLib チュートリアル}{目次}
+ \nextpage {第5章: ベンチマークの作成}{第5章}
+
+ \title 第4章: GUI イベントの再現
+
+ 本章では、GUI イベントをシミュレートしたり、
+ あるウィジェットで一連の GUI イベントを再生したり保存したりする方法について説明します。
+
+ 一連のイベントを保存して再生するアプローチは、
+ \l{第2章: データドリブンテスト}{第2章}
+ で説明したアプローチとよく似ています。
+ 必要な変更は、テストクラスにデータ関数を追加することです:
+
+ \snippet examples/qtestlib/tutorial4/testgui.cpp 0
+
+ \section1 データ関数を記述する
+
+ これまでと同様にテスト関数に関連するデータ関数では、
+ テスト関数と同じ名前を使用して末尾に \c{_data} を追加します。
+
+ \snippet examples/qtestlib/tutorial4/testgui.cpp 1
+
+ まず、 QTest::addColumn() 関数を使用して、
+ テーブルの2つの要素(GUI イベントのリスト(\c{"events"})および、
+ QWidget のイベントのリストを適用するときに予期された結果(\c{"expected"}))を定義します。
+ 最初の要素の型は \l QTestEventList であることに注意してください。
+
+ QTestEventList では、後で使用するテストデータの保存を行うために
+ GUI イベントを読み込んだり、 QWidget ウィジェットで再生したりできます。
+
+ 現在のデータ関数で、 \l QTestEventList を2つ作成します。
+ 最初のリストには 'a' キーを一度だけ入力します。
+ QTestEventList::addKeyClick() 関数を使用して、
+ リストにイベントを追加します。
+ 次に、QTest::newRow() 関数を使用してデータセットに名前を付けて、
+ テーブルにイベントリストおよび予期された結果をストリーミングします。
+
+ 2つ目のリストには、2つのキー入力('a' に続いてバックスペース(Qt::Key_Backspace))を設定します。
+ QTestEventList::addKeyClick() を使用してリストにイベントを追加し、
+ QTest::newRow() を使用して名前を関連付けたテーブルにイベントリストおよび予期された結果を挿入します。
+
+ \section1 テスト関数を書き換える
+
+ ここで、テストの書き換えを行います:
+
+ \snippet examples/qtestlib/tutorial4/testgui.cpp 2
+
+ TestGui::testGui() 関数は2回実行されます。
+ 関連する TestGui::testGui_data()
+ 関数で作成したテストデータの各エントリ毎にそれぞれ実行されます。
+
+ まず、\l QFETCH() マクロを使用して、データセットの2つの要素を取得します。
+ \l QFETCH() は、要素のデータ型と要素名の2つの引数を取ります。
+ 次に QLineEdit を作成し、 QTestEventList::simulate() 関数を使用して
+ ウィジェットにイベントのリストを適用します。
+
+ 最後に、 QCOMPARE() マクロを使用してラインエディットの文字列が正しいかどうか確認します。
+
+ これまでと同様に、
+ テストケースを実行可能にするには、
+ 以下の2行が必要です:
+
+ \snippet examples/qtestlib/tutorial4/testgui.cpp 3
+
+ \l QTEST_MAIN() マクロは
+ すべてのテスト関数を実行するシンプルな
+ \c main() 関数に展開されます。
+ テストクラスの宣言と実装が \c .cpp ファイルに存在する場合、
+ Qt のメタオブジェクト機能を動作させるために、
+ 生成された moc ファイルを include する必要があります。
+*/
+
+/*!
+ \example qtestlib/tutorial5
+
+ \previouspage {第4章: GUI イベントの再現}{第4章}
+ \contentspage {QTestLib チュートリアル}{目次}
+
+ \title 第5章: ベンチマークの作成
+
+ 最終章となる本章では QTestLib を使ってベンチマークを作成する方法について説明します。
+
+ \section1 ベンチマークの作成
+ ベンチマークを作成するには QBENCHMARK マクロを用いてテスト関数を拡張します。
+ ベンチマークテスト関数には通常、テストの準備コードと測定するコードを含む
+ QBENCHMARK マクロが一つ含まれます。
+ QString::localeAwareCompare() のベンチマークを行う関数は以下のようになります。
+
+ \snippet examples/qtestlib/tutorial5/benchmarking.cpp 0
+
+ 測定の準備は関数の最初に行われています。
+ この時点では測定は始まっていません。
+ QBENCHMARK マクロで囲まれたブロックの中身のみが計測されます。
+ このブロックの内部は正確な測定を行うために、何度か繰り返し実行される場合があります。
+
+ \l {testlib-benchmarking-measurement}{ベンチマークの方法}(バックエンド)は何種類か用意されており、
+ コマンドライン引数から選択することが出来ます。
+
+ \section1 データ関数
+
+ データ関数は複数のデータでベンチマークを行うテストを作成するのに有用です。
+ たとえば、ロケール準拠と標準的な比較を行う場合は以下のようになります。
+
+ \snippet examples/qtestlib/tutorial5/benchmarking.cpp 1
+
+ テスト関数ではデータに従ってベンチマークする手法を決定します。
+
+ \snippet examples/qtestlib/tutorial5/benchmarking.cpp 2
+
+ "if (useLocaleCompare)" 文はそのオーバヘッドを測定対象外とするために
+ QBENCHMARK マクロのブロックの外部にあります。
+ ベンチマークの実行時にはそれぞれどちらか一つの QBENCHMARK マクロが実行されます。
+
+ \section1 外部ツール
+
+ テストデータの可視化を行うためのツールが Qt Labs Web サイトの
+ \l{qtestlib-tools} プロジェクトに含まれています。
+ そこには実行したテストの結果からパフォーマンスを比較したり、
+ パフォーマンスのWeb用グラフを作成するツールが含まれています。
+
+ それらのツールの詳細と簡単なグラフの例は
+ \l{qtestlib-tools Announcement} を参照してください。
+
+*/
+
+
+
diff --git a/doc/src/ja_JP/examples/arrowpad.qdoc b/doc/src/ja_JP/examples/arrowpad.qdoc
new file mode 100644
index 0000000000..25182647da
--- /dev/null
+++ b/doc/src/ja_JP/examples/arrowpad.qdoc
@@ -0,0 +1,248 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the documentation of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+/*!
+ \example linguist/arrowpad
+ \title サンプル: アローパッド
+
+ この例では、\e {Qt Linguist} の主なコンセプトである"文脈"について、
+ 少し詳しく取り上げて説明します。
+ また、2つ以上の言語を使用する方法についても説明します。
+
+ \image linguist-arrowpad_en.png
+
+ アプリケーションで使用可能な言語の数に制限はありませんが、
+ ここではフランス語とオランダ語の2言語の翻訳を使用します。
+ \c arrowpad.pro の関連する行は以下のとおりです。
+
+ \snippet examples/linguist/arrowpad/arrowpad.pro 0
+ \codeline
+ \snippet examples/linguist/arrowpad/arrowpad.pro 1
+
+ \c lupdate を実行すると、2つの類似したメッセージファイル
+ \c arrowpad_fr.ts と \c arrowpad_nl.ts が作成されます。
+ これらのファイルにはすべてのソーステキストとその文脈が含まれます。
+ それらのテキストは \c tr() の呼び出しを通じて翻訳対象として
+ ソースコード内でマークされているものです。
+
+ Qt アプリケーションの翻訳の詳細については、
+ \l{Qt Linguist manual}{Qt Linguist マニュアル} をご覧ください。
+
+ \section1 各行の簡単な解説
+
+ \c arrowpad.h では、 QWidget の派生クラスである \c ArrowPad
+ クラスを定義します。
+ 上記のスクリーンショットで
+ 中央の 4 つのボタンを持つウィジェットが \c ArrowPad です。
+
+ \snippet examples/linguist/arrowpad/arrowpad.h 0
+ \snippet examples/linguist/arrowpad/arrowpad.h 1
+ \snippet examples/linguist/arrowpad/arrowpad.h 2
+
+ \c lupdate を実行するとソーステキストの抽出だけでなく、
+ 文脈へのグループ化を行うことができます。
+ ソーステキストが表示されるクラスの名前が文脈となります。
+ 従って、この例では、"ArrowPad" が
+ \c ArrowPad クラスの文字列の文脈です。
+ \c Q_OBJECT のマクロは、以下の内容で
+ \c ArrowPad に \c tr(x) を定義します:
+
+ \snippet doc/src/snippets/code/doc_src_examples_arrowpad.qdoc 0
+
+ 各ソーステキストが表示されるクラスを把握しておくと、
+ \e {Qt Linguist} で論理的に関連のある文字列をグループ化することが出来ます。
+ 例えば、ダイアログ内のすべての文字列には
+ ダイアログのクラス名の文脈が含まれるため、同時に表示されます。
+ 文字列が表示される文脈によって翻訳の内容が影響を受ける場合があるため、
+ 翻訳者にとって有用な情報となります。
+ 一部の翻訳では、キーボードショートカットを変更する必要があります。
+ また、同じグループにまとめられた特定の文脈(クラス)
+ にすべてのソーステキストを含めることにより、
+ 翻訳者はコンフリクトを起こすことなく、
+ より簡単にショートカットを変更できます。
+
+ \c arrowpad.cpp で、\c ArrowPad クラスを実装します。
+
+ \snippet examples/linguist/arrowpad/arrowpad.cpp 0
+ \snippet examples/linguist/arrowpad/arrowpad.cpp 1
+ \snippet examples/linguist/arrowpad/arrowpad.cpp 2
+ \snippet examples/linguist/arrowpad/arrowpad.cpp 3
+
+ ラベルはユーザ表示可能な文字列であるため、
+ ボタンのラベルごとに \c ArrowPad::tr() を呼び出します。
+
+ \image linguist-arrowpad_en.png
+
+ \snippet examples/linguist/arrowpad/mainwindow.h 0
+ \snippet examples/linguist/arrowpad/mainwindow.h 1
+
+ 上記のスクリーンショットでは、ウィンドウ全体が \c MainWindow です。
+ これは、\c mainwindow.h ヘッダーファイルで定義します。
+ ここでも、\c MainWindow が \e {Qt Linguist} の文脈になるよう、
+ \c Q_OBJECT を使用します。
+
+ \snippet examples/linguist/arrowpad/mainwindow.cpp 0
+
+ \c MainWindow と \c mainwindow.cpp を実装する際に、
+ \c ArrowPad クラスのインスタンスを作成します。
+
+ \snippet examples/linguist/arrowpad/mainwindow.cpp 1
+
+ また、\c MainWindow::tr() を、
+ アクションおよびショートカット用に、計 2 回呼び出します。
+
+ \c tr() を使用して、言語によって異なるキーをサポートします。
+ 英語の場合、"Ctrl+Q" は Quit (終了) に適していますが、
+ オランダ語の翻訳者は "Ctrl+A" (Afsluiten の場合) を、
+ ドイツ語の翻訳者は "Strg+E" (Beenden の場合) を使うといいでしょう。
+ \key Ctrl キーショートカットを \c tr() で使用する場合は
+ 引数を 2 つ使用して、
+ ショートカットが実行する機能を2番目の引数に記述してください。
+
+ \c main.cpp で定義した標準的な \c main() 関数は、以下のようになります。
+
+ \snippet examples/linguist/arrowpad/main.cpp 2
+ \snippet examples/linguist/arrowpad/main.cpp 3
+
+ 現在のロケールに基づいて、使用する翻訳を選択します。
+ 例えば、QLocale::system() は、
+ \c LANG 環境変数の設定によって影響を受ける場合があります。
+ \c .qm メッセージファイル(および TS ファイル)の命名規則に
+ ロケールを使用すると、
+ 簡単にロケールに基づいて翻訳ファイルを選択することが
+ できるようになります。
+
+ 選択したロケールに QM メッセージファイルが存在しない場合、
+ 元のソーステキストが使用され、エラーは生成されません。
+
+ \section1 フランス語からオランダ語に翻訳する
+
+ ここでは、サンプルアプリケーションをフランス語に翻訳することから始めます。
+ \e {Qt Linguist} を起動し、\c arrowpad_fr.ts の作業を行います。
+ 2つの文脈 ("ArrowPad" および "MainWindow")
+ にグループ化された7つのソーステキスト ("\&Up", "\&Left" 等)
+ が含まれているはずです。
+
+ 次に、以下の翻訳を入力します:
+
+ \list
+ \o \c ArrowPad
+ \list
+ \o \&Up - \&Haut
+ \o \&Left - \&Gauche
+ \o \&Right - \&Droite
+ \o \&Down - \&Bas
+ \endlist
+ \o \c MainWindow
+ \list
+ \o E\&xit - \&Quitter
+ \o Ctrl+Q - Ctrl+Q
+ \o \&File - \&Fichier
+ \endlist
+ \endlist
+
+ 翻訳の入力が終わったら、 \key{Ctrl+Return} (もしくは\gui {完了にして次へ}
+ ボタン)を押すと、
+ 翻訳が完了とマークされ次のソーステキストに移動するため便利です。
+
+ ファイルを保存して、オランダ語の翻訳でも同じ手順を実行し、
+ \c arrowpad_nl.ts の作業を行います:
+
+ \list
+ \o \c ArrowPad
+ \list
+ \o \&Up - \&Omhoog
+ \o \&Left - \&Links
+ \o \&Right - \&Rechts
+ \o \&Down - Omlaa\&g
+ \endlist
+ \o \c MainWindow
+ \list
+ \o E\&xit - \&Afsluiten
+ \o Ctrl+Q - Ctrl+A
+ \o File - \&Bestand
+ \endlist
+ \endlist
+
+ \c tt1_fr.ts と \c tt1_nl.ts の翻訳ソースファイルは
+ QM ファイルに変換する必要があります。
+ 以前と同様の方法で \e {Qt Linguist} を使用して変換できますが、
+ コマンドラインツール \c lrelease を使うと
+ \e {Qt Linguist} から個々の \gui {ファイル|リリース} を読み込まなくても、
+ アプリケーションの\e{すべての} QM ァイルを作成できます。
+
+ 以下を入力します:
+
+ \snippet doc/src/snippets/code/doc_src_examples_arrowpad.qdoc 1
+
+ これにより、\c arrowpad_fr.qm と \c arrowpad_nl.qm が作成されます。
+ \c LANG 環境変数を \c fr に設定します。
+ Unix では、以下の2つのコマンドのいずれかが機能します。
+
+ \snippet doc/src/snippets/code/doc_src_examples_arrowpad.qdoc 2
+
+ Windows では、\c autoexec.bat を修正するか、以下を実行します。
+
+ \snippet doc/src/snippets/code/doc_src_examples_arrowpad.qdoc 3
+
+ プログラムを実行すると、フランス語版が表示されます:
+
+ \image linguist-arrowpad_fr.png
+
+ \c LANG=nl を設定し、オランダ語でも同じ手順を実行します。
+ これで、オランダ語版が表示されます:
+
+ \image linguist-arrowpad_nl.png
+
+ \section1 エクササイズ
+
+ \e {Qt Linguist} で未完了の翻訳を行います。
+ 例えば、各テキストのチェックマークをクリックして翻訳を未完了の状態にして保存します。
+ その後、 \c lupdate 、\c lrelease 、サンプルの順に実行します。
+ この変更がどのような影響を及ぼしましたか。
+
+ \c LANG=fr_CA (フランス語(カナダ))に設定し、
+ サンプルプログラムを再実行します。
+ \c LANG=fr の場合と同じ結果になる理由を説明してください。
+
+ オランダ語翻訳のショートカットのいずれかを変更し、
+ \e \&Bestand と \e \&Boven の競合を解消します。
+*/
diff --git a/doc/src/ja_JP/examples/hellotr.qdoc b/doc/src/ja_JP/examples/hellotr.qdoc
new file mode 100644
index 0000000000..cc01b81eb7
--- /dev/null
+++ b/doc/src/ja_JP/examples/hellotr.qdoc
@@ -0,0 +1,200 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the documentation of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+/*!
+ \example linguist/hellotr
+ \title サンプル: こんにちは tr()
+
+ これは、小さな Hello World プログラムを日本語に翻訳する例です。
+ 以下のスクリーンショットは英語版です。
+
+ \image linguist-hellotr_en.png
+
+ Qt アプリケーションの翻訳に関する詳細は、\l{Qt Linguist manual}
+ をご覧ください。
+
+ \section1 各行の簡単な解説
+
+ \snippet examples/ja_JP/linguist/hellotr/main.cpp 0
+
+ この行では、 QTranslator クラスの宣言を読み込みます。
+ QTranslator クラスのオブジェクトは、
+ ユーザに表示する文字列を翻訳します。
+
+ \snippet examples/ja_JP/linguist/hellotr/main.cpp 5
+
+ 親をもたない QTranslator オブジェクトを作成します。
+
+ \snippet examples/ja_JP/linguist/hellotr/main.cpp 6
+
+ プログラムで使用するソーステキストの日本語の翻訳を含む、
+ \c hellotr_ja.qm ( \c .qm というファイル拡張子は省略します)
+ と呼ばれるファイルを読み込みます。
+ ファイルが見つからなくてもエラーは発生しません。
+
+ \snippet examples/ja_JP/linguist/hellotr/main.cpp 7
+
+ \c hellotr_ja.qm の翻訳を、プログラムで使用する翻訳プールに追加します。
+
+ \snippet examples/ja_JP/linguist/hellotr/main.cpp 8
+
+ "Hello world!" を表示するプッシュボタンを作成します。
+ 検索した \c hellotr_ja.qm に "Hello world!" の翻訳が含まれている場合、
+ その翻訳が表示されます。
+ 含まれていない場合、翻訳前のテキストがそのまま表示されます。
+
+ QObject を継承するすべてのクラスには、\c tr() 関数が含まれます。
+ QObject クラスのメンバ関数内では、\c QPushButton::tr("Hello world!")
+ や \c QObject::tr("Hello world!") の代わりに、シンプルに
+ \c tr("Hello world!") を使います。
+
+ \section1 英語版のアプリケーションを実行する
+
+ 翻訳ファイル \c hellotr_ja.qm の作成が終わっていないため、
+ 以下のアプリケーションを起動したときに元の文字列が表示されます。
+
+ \image linguist-hellotr_en.png
+
+ \section1 日本語のメッセージファイルを作成する
+
+ 最初のステップは、プロジェクトのすべてのソースファイルを列挙する
+ \c hellotr.pro を作成することです。
+ プロジェクトファイルは、qmake プロジェクトファイルまたは、通常の
+ makefile である可能性があります。
+ 以下の記述を含むプロジェクトファイルを作成してください。
+
+ \snippet examples/ja_JP/linguist/hellotr/hellotr.pro 0
+ \snippet examples/ja_JP/linguist/hellotr/hellotr.pro 1
+
+ \c TRANSLATIONS は、管理するメッセージファイルを指します。
+ この例では、日本語の翻訳のみ管理します。
+
+ ファイル拡張子は、\c .qm ではなく、\c .ts であることにご注意ください。
+ \c .ts は翻訳のソースファイルのフォーマットであり、
+ アプリケーションの開発時に使用します。
+ プログラマーまたはリリースマネージャーは \c lupdate プログラムを実行し、
+ ソースコードから抽出したソーステキストを使用して
+ TS ファイルの生成と更新を行います。
+ 翻訳者は、 \e {Qt Linguist} を使用して TS ファイルの読み取りと更新を行い、
+ 翻訳の追加と編集を行います。
+
+ TS の形式は、ユーザが直接閲覧可能な XML 形式であるため、
+ 直接Eメールで送信したり、簡単にバージョン管理の対象にすることが出来ます。
+ このファイルを手動で編集する場合、XML の既定のエンコードは UTF-8 で、
+ Latin1(ISO 8859-1)ではないことに気をつけてください。
+ '\oslash'(ノルウェー語の o にスラッシュが付いたもの)などの
+ Latin1 文字を入力する1つの方法は、XML エンティティ "&#xf8;"
+ を使用することです。
+ これはすべての Unicode 4.0 文字に対して有効です。
+
+ 翻訳が完了したら、\c lrelease プログラムを使用して、
+ TS ファイルを QM ファイル(Qt Message ファイル)形式に変換します。
+ QM 形式は、極めて高速な検索性能を実現するようにデザインされた
+ コンパクトなライブラリ形式です。
+ \c lupdate と \c lrelease はどちらも、
+ プロジェクト全体のソースファイルとヘッダーファイル
+ (プロジェクトファイルの HEADERS および SOURCES 行で指定されている)
+ を読み取り、\c tr() 関数呼び出しの際に表示される文字列を抽出します。
+
+ \c lupdate は、メッセージファイル(この場合は \c hellotr_ja.ts)
+ の作成と更新を行い、これらをソースコードと同期させるために使用します。
+ \c lupdate にはデータの削除機能がないため、
+ \c lupdate はいつでも安全に実行できます。
+ 例えば、ソースが変更されるたびに TS ファイルが更新されるよう、
+ makefile に記述できます。
+
+ それでは、以下のように \c lupdate を実行してみましょう:
+
+ \snippet doc/src/ja_JP/snippets/code/doc_src_examples_hellotr.qdoc 0
+
+ (\c -verbose オプションは、操作を説明するメッセージを表示するよう
+ \c lupdate に指示します。)
+ 現在のディレクトリに、以下の内容で
+ \c hellotr_ja.ts ファイルが作成されていると思います:
+
+ \snippet doc/src/ja_JP/snippets/code/doc_src_examples_hellotr.qdoc 1
+
+ ツール (\c lupdate、 \e {Qt Linguist}、\c lrelease)
+ を使用して読み取りと更新を行うため、
+ ファイル形式を理解する必要はありません。
+
+ \section1 Qt Linguist を使用して日本語に翻訳する
+
+ XML やテキストエディタを使用して、TS ファイルを翻訳することも出来ますが、
+ ここでは \e {Qt Linguist} を使用して翻訳を行います。
+
+ \e {Qt Linguist} を起動するには、以下を入力します。
+
+ \snippet doc/src/ja_JP/snippets/code/doc_src_examples_hellotr.qdoc 2
+
+ 左上のペインに "QPushButton" が表示されるはずです。
+ これをダブルクリックし、次に "Hello world!" をクリックして、
+ \gui Translation ペイン (ウィンドウ右中央)に
+ "こんにちは、世界!" と入力します。
+ 感嘆符(!)を忘れないように付けてください!
+
+ \gui{完了} チェックボックスをオンにして、
+ メニューバーから \gui{ファイル|保存} を選択します。
+ TS ファイルから、以下の記述がなくなります。
+
+ \snippet doc/src/ja_JP/snippets/code/doc_src_examples_hellotr.qdoc 3
+
+ その代わりに以下が含まれます。
+
+ \snippet doc/src/ja_JP/snippets/code/doc_src_examples_hellotr.qdoc 4
+
+ \section1 日本語版のアプリケーションを実行する
+
+ 日本語版のアプリケーションを実行する前に、
+ TS ファイルから QM ファイルを生成する必要があります。
+ QM ファイルは、\e {Qt Linguist}(単一の TS ファイルの場合)のメニューから、
+ もしくは、コマンドラインプログラム \c lrelease を使用して生成できます。
+ \c lrelease を使用する場合、
+ プロジェクトファイルに列挙されている TS ファイルごとに
+ 1 つの QM ファイルを作成することが出来ます。
+ \e {Qt Linguist} のメニューバーから \gui{ファイル|リリース} を選択し、
+ ポップアップ表示される \gui{ファイルの保存} ダイアログで\gui{保存}を選択し、
+ \c hellotr_ja.ts から \c hellotr_ja.qm を生成します。
+ 今すぐ \c hellotr プログラムを再実行してみましょう。
+ これで、ボタンに "こんにちは、世界!" と表示されます。
+
+ \image linguist-hellotr_ja.png
+*/
diff --git a/doc/src/ja_JP/examples/trollprint.qdoc b/doc/src/ja_JP/examples/trollprint.qdoc
new file mode 100644
index 0000000000..16867742a1
--- /dev/null
+++ b/doc/src/ja_JP/examples/trollprint.qdoc
@@ -0,0 +1,286 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the documentation of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+/*!
+ \example linguist/trollprint
+ \title サンプル: トロールプリント
+
+ トロールプリント(Troll Print)は、
+ ユーザがプリンタの設定をするためのサンプルアプリケーションです。
+ これには、英語とポルトガル語の2つのバージョンが用意されています。
+
+ \image linguist-trollprint_10_en.png
+
+ この例では、いくつかのポルトガル語の翻訳を含む翻訳ファイル
+ \c trollprint_pt.ts を用意しました。
+
+ 同じアプリケーションの2つのバージョン、
+ Troll Print 1.0 と 1.1 をリリースすることを想定します。
+ 1つのバージョンで作成した翻訳を次のリリースで再利用する方法を習得します。
+ (このチュートリアルでは、いくつかのソースファイルの編集が必要です。
+ 新しい一時ディレクトリにすべてのファイルをコピーして、
+ ここで作業を行うのがベストでしょう。)
+
+ Qtアプリケーションの翻訳の詳細については、
+ \l{Qt Linguist manual}{Qt Linguist マニュアル} をご覧ください。
+
+ \section1 各行の簡単な解説
+
+ \c PrintPanel クラスを \c printpanel.h で宣言します。
+
+ \snippet examples/linguist/trollprint/printpanel.h 0
+
+ \c PrintPanel は QWidget の派生クラスです。
+ \c tr() が正しく動作するには、\c Q_OBJECT マクロが必要です。
+
+ 実装ファイルは \c printpanel.cpp です。
+
+ \snippet examples/linguist/trollprint/printpanel.cpp 0
+
+ Troll Print 1.0 で一部のコードがコメントアウトされています。
+ Troll Print 1.1 にバージョンアップする際に、
+ コメントから戻してください。
+
+ \snippet examples/linguist/trollprint/printpanel.cpp 1
+ \snippet examples/linguist/trollprint/printpanel.cpp 2
+
+ PrintPanel では、\c tr("Enabled") と \c tr("Disabled")
+ を2回ずつ使用することに注意してください。
+ "Enabled" と "Disabled" はどちらも同じ文脈で表示されるため、
+ \e {Qt Linguist} では、それぞれ1回目の使用に対してのみ表示され、
+ 2回目以降の使用に対しては翻訳が流用されるため表示されません。
+ これは便利な時間短縮ツールですが、ポルトガル語などの一部の言語では、
+ 2回目の使用に対して異なる翻訳が必要になります。
+ これから、\e {Qt Linguist}で、
+ すべての \c tr() に対して異なる翻訳を表示できるように設定する方法を学習します。
+
+ \c MainWindow, \c mainwindow.h はシンプルなヘッダーファイルです。
+ \c mainwindow.cpp の実装には、翻訳対象としてマークする必要のある
+ ユーザに表示するソーステキストがあります。
+
+ \snippet examples/linguist/trollprint/mainwindow.cpp 0
+
+ ウィンドウのタイトルは翻訳する必要があります。
+
+ \snippet examples/linguist/trollprint/mainwindow.cpp 1
+ \snippet examples/linguist/trollprint/mainwindow.cpp 3
+
+ また、アクションとメニューも翻訳する必要があります。
+ キーボードショートカット "Ctrl+Q" に対して使用している \c tr()
+ の第 2 引数は、このショートカットがどのような機能を有しているかを
+ 翻訳者に示す唯一の情報であることに注意してください。
+
+ \snippet examples/linguist/trollprint/main.cpp 0
+
+ \c main.cpp の \c main() 関数は、
+ \l{linguist/arrowpad}{アローパッド} の例の場合と同じになります。
+ 具体的には、現在のロケールに基づいて、翻訳ファイルを選択します。
+
+ \section1 英語とポルトガル語で Troll Print 1.0 を実行する
+
+ 既存の \c trollprint_pt.ts ファイルの翻訳を使用します。
+
+ \c LANG 環境変数を \c pt に設定して、\c trollprint を実行します。
+ QM ファイルがないため、スクリーンショットは英語版のままです。
+ ここで、\c lrelease (例: \c {lrelease trollprint.pro})を実行し、
+ サンプルを再実行します。
+ これで、ポルトガル語版(Troll Imprimir 1.0)になりました:
+
+ \image linguist-trollprint_10_pt_bad.png
+
+ 翻訳は正しく表示されていますが、誤りがあります。
+ 文法的に正しいポルトガル語では、
+ "Enabled" が2回目に使用されるときの正しい翻訳は、
+ "Ativado" ではなく "Ativadas" であり、
+ "Disabled" が2回目に翻訳されるときも、
+ 語尾を同様に変化させる必要があります。
+
+ \e {Qt Linguist} で \c trollprint_pt.ts を開くと、
+ ソースコードには "Enabled" と "Disabled" が2回ずつ使われていますが、
+ 翻訳ソースファイルでは1回ずつしか使われていません。
+ これは、\e {Qt Linguist} では、
+ ソーステキストが重複する場合は翻訳を流用することにより、
+ 翻訳者の作業を最小限に抑えようとするためです。
+ このように類似した翻訳に誤りがある場合、
+ プログラマは繰り返し使用する際に翻訳の曖昧さを排除する必要があります。
+ これは、2個の引数を取る\c tr() を使用することにより、
+ 容易に実行できます。
+
+ 実際には、翻訳者の"文脈"は変更する必要のある文字列が表示されるクラスに対するクラス名であるため、
+ どのファイルを変更すべきか簡単に特定できます。
+ この場合、ファイルは \c printpanel.cpp であり、
+ 変更すべき行は4行あります。
+ ラジオボタンの最初のペアの \c tr() 呼び出しに、2つ目の引数 "two-sided"(両面) をに追加します:
+
+ \snippet doc/src/snippets/code/doc_src_examples_trollprint.qdoc 0
+
+ そして、ラジオボタンの2番目のペアの \c tr() 呼び出しに、
+ 2つ目の引数 "colors"(色) を追加します。
+
+ \snippet doc/src/snippets/code/doc_src_examples_trollprint.qdoc 1
+
+ ここで、\c lupdate を実行し、\e {Qt Linguist} で
+ \c trollprint_pt.ts を開きます。2 つの変更個所がわかるはずです。
+
+ まず、翻訳ソースファイルには、\e{3組}の "Enabled" と
+ "Disabled" のペアが含まれています。
+ 最初のペアは、既に利用されていないテキストであることを意味する灰色になっています。
+ これは、 \c tr() 内の文字列が第二引数を追加した新たな
+ \c tr() の文字列で置き換えられたからです。
+ 2番目のペアには、"two-sided"(両面) というコメントが含まれており、
+ 3番目のペアには、"colors"(色) というコメントが含まれています。
+ これらのコメントは、\e {Qt Linguist} に
+ \gui {開発者のコメント} として表示されます。
+
+ 次に、翻訳者の作業を最小限に抑えるために、
+ 新たに使用される "Enabled" と "Disabled" の文字列に対して、
+ 訳語 "Ativado" と "Desativado" が自動的に使用されます。
+ これらの訳語は、これらの原語が2回目に使用される場合の正しい翻訳ではありません。
+ ここからが、チュートリアルの出発点です。
+
+ 2番目の "Ativado" を "Ativadas" に、
+ 2番目の "Desativado" を "Desativadas" に変更し、保存して終了します。
+ \c lrelease を実行して最新のバイナリ \c trollprint_pt.qm ファイルを作成し、
+ Troll Print (または Troll Imprimir) を実行します。
+
+ \image linguist-trollprint_10_pt_good.png
+
+ \e {Qt Linguist} では "comments" と呼ばれる
+ \c tr() 呼び出しの2つ目の引数は、
+ 同じ文脈(クラス)で発生する類似したソーステキストを識別します。
+ コメントは、たとえば Ctrl キーによるキーボードショートカットが
+ ショートカットによって実行される機能を伝達する唯一の手段である場合等に、
+ 翻訳者に情報を提供するのに便利です。
+
+ 翻訳者に情報を提供する他の手段は、
+ 翻訳の必要があるソーステキストを含むアプリケーションの
+ 特定の部分への移動方法に関する情報を提供することです。
+ これにより、翻訳者は、翻訳が表示される文脈を確認し、
+ 翻訳を検索してテストを行うことができます。
+ これは、ソースコードで \c TRANSLATOR
+ コメントを使用して行います:
+
+ \snippet doc/src/snippets/code/doc_src_examples_trollprint.qdoc 2
+
+ 一部のソースファイル、特にダイアログクラスのコメントに
+ ダイアログに到達するまでに必要な操作を記述します。
+ また、\c mainwindow.cpp や \c printpanel.cpp など、
+ 適切なサンプルファイルにこれらを追加することもできます。
+ \c lupdate を実行して \e {Qt Linguist} を起動し、
+ \c trollprint_pt.ts を読み込みます。
+ ソーステキストの一覧を参照する際に、
+ \gui{ソーステキスト}と\gui{開発者のコメント}
+ の領域に表示されるコメントを確認できます。
+
+ 特に大きなプログラムでは、翻訳者が自分の翻訳を探し、
+ それが適切かどうかを確認することが困難な場合があります。
+ コメントは役立つナビゲーション情報を提供するため、
+ 翻訳に要する時間を節約できます:
+
+ \snippet doc/src/snippets/code/doc_src_examples_trollprint.qdoc 3
+
+ \section1 Troll Print 1.1
+
+ これから、Troll Print のバージョン 1.1 のリリースの準備を行います。
+ テキストエディターを起動して、次の手順に従って変更を行ってください:
+
+ \list
+ \o \c printpanel.cpp の文字列 "\<b\>TROLL PRINT\</b\>" を引数に
+ QLabel を作成する2つの行のコメントを解除します。
+ \o ソースの変更: \c printpanel.cpp で、"2-sided" を
+ "Two-sided" に置き換えます。
+ \o \c mainwindow.cpp で、すべての "1.0" を "1.1" に置き換えます。
+ \o \c mainwindow.cpp で、著作権表示の年号を 1999-2000 に更新します。
+ \endlist
+
+ (実際のアプリケーションでは、バージョン番号と著作権表示の年号は
+ const または #define をつかって定義するでしょう。)
+
+ 終了したら、\c lupdate を実行し、\e {Qt Linguist} で
+ \c trollprint_pt.ts を開きます。以下の項目は、特別なコンテンツです:
+
+ \list
+ \o \c MainWindow
+ \list
+ \o Troll Print 1.0 - 古いテキストとして灰色でマーク
+ \o About Troll Print 1.0 - 古いテキストとして灰色でマーク
+ \o Troll Print 1.0. Copyright 1999 Software, Inc. -
+ 古いテキストとして灰色でマーク
+ \o Troll Print 1.1 - 自動的に "Troll Imprimir 1.1" に翻訳(未完了)
+ \o About Troll Print 1.1 - 自動的に "Troll Imprimir 1.1" に翻訳(未完了)
+ \o Troll Print 1.1. Copyright 1999-2000 Software,
+ Inc. - 自動的に "Troll Imprimir 1.1.
+ Copyright 1999-2000 Software, Inc." に翻訳(未完了)
+ \endlist
+ \o \c PrintPanel
+ \list
+ \o 2-sided - 古いテキストとして灰色でマーク
+ \o \<b\>TROLL PRINT\</b\> - 未翻訳のテキストとして"?"マーク
+ \o Two-sided - 未翻訳のテキストとして"?"マーク
+ \endlist
+ \endlist
+
+ \c lupdate は、修正を容易に行い、数字の処理を効率的に行うために、
+ 様々な処理を行っています。
+
+ \c MainWindow の翻訳の見直しを行います。
+ "\<b\>TROLL PRINT\</b\>" を "\<b\>TROLL IMPRIMIR\</b\>" と翻訳します。
+ "Two-sided" を翻訳する際には、\gui{フレーズと推測} の欄から
+ "2-lados" をダブルクリックして訳に選択した後に、
+ "2" を "Dois" に変更します。
+
+ 保存して終了し、\c lrelease を実行します。
+ ポルトガル語版の表示は以下のようになります:
+
+ \image linguist-trollprint_11_pt.png
+
+ \gui{Ajuda|Sobre} (\gui{Help|About}) を選択し、
+ バージョン情報ボックスを確認します。
+
+ \gui{Ajuda|Sobre Qt} (\gui{Help|About Qt}) を選択した場合、
+ 英語版のダイアログが表示されます。
+ Qt の翻訳はまだ終わっていません。
+ 詳細については、\l{Internationalization with Qt} を参照してください。
+
+ ここで、\c LANG=en を設定し、元の英語版を実行してみてください:
+
+ \image linguist-trollprint_11_en.png
+*/
diff --git a/doc/src/ja_JP/getting-started/tutorials.qdoc b/doc/src/ja_JP/getting-started/tutorials.qdoc
new file mode 100644
index 0000000000..701ba88443
--- /dev/null
+++ b/doc/src/ja_JP/getting-started/tutorials.qdoc
@@ -0,0 +1,101 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the documentation of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+/*!
+ \page tutorials.html
+ \title チュートリアル
+
+ \contentspage How to Learn Qt
+ \nextpage Qt Examples
+
+ \brief Qt の学習を助けるチュートリアルやガイドの概要
+
+ \nextpage Qt Examples
+
+ Qt で提供されているこれらのチュートリアルやガイドは
+ 新たに Qt の開発を始めるユーザの良い助けとなります。
+ これらのドキュメントでは ウィジェットの基本的な使い方から始まり
+ ステップバイステップでアプリケーションの使い方を学ぶことが出来ます。
+
+ \table
+ \row
+ \o{2,1} \l{ウィジェットのチュートリアル}{\bold ウィジェット}
+ \o{2,1} \l{チュートリアル: アドレス帳}{\bold {アドレス帳}}
+ \row
+ \o \image widget-examples.png Widgets
+ \o
+ ウィジェットとレイアウトを使って GUI アプリケーションを作成する
+ 初心者向けのガイドです。
+
+ \o \image addressbook-tutorial.png AddressBook
+ \o
+ 完全な機能を持つアドレス帳アプリケーションを作成する 7 章で構成されたガイドです。
+
+ \row
+ \o{2,1} \l{Qt Designer クイックガイド}{\bold{Qt Designer}}
+ \o{2,1} \l{Qt Linguist Manual: Programmers#Tutorials}{\bold {Qt Linguist}}
+ \row
+ \o \image designer-examples.png QtDesigner
+ \o
+ \QD を使ってフォームを生成する基本的な手順を説明するクイックガイドです。
+
+ \o \image linguist-examples.png QtLinguist
+ \o
+ \l{サンプル: こんにちは tr()}{こんにちは tr()}、
+ \l{サンプル: アローパッド}{アローパッド}、
+ \l{サンプル: トロールプリント}{トロールプリント}
+ の三例を通じて翻訳の方法を説明します。
+
+ \row
+ \o{2,1} \l{QTestLib チュートリアル}{\bold QTestLib}
+ \o{2,1} \l{qmake チュートリアル}{\bold qmake}
+ \row
+ \o{2,1}
+ Qt のユニットテストフレームワークである QTestLib の機能の初歩的な使い方を説明するチュートリアルです。
+ このチュートリアルは4章で構成されています。
+
+ \o{2,1}
+ \c qmake の使い方を説明するチュートリアルです。
+ このチュートリアルを卒業した後は \l{qmake Manual}{qmake user guide}(英語)
+ を読むことをお勧めします。
+
+ \endtable
+*/
diff --git a/doc/src/ja_JP/images/linguist-hellotr_en.png b/doc/src/ja_JP/images/linguist-hellotr_en.png
new file mode 100644
index 0000000000..05aa9452e0
--- /dev/null
+++ b/doc/src/ja_JP/images/linguist-hellotr_en.png
Binary files differ
diff --git a/doc/src/ja_JP/images/linguist-hellotr_ja.png b/doc/src/ja_JP/images/linguist-hellotr_ja.png
new file mode 100644
index 0000000000..d9beb016a2
--- /dev/null
+++ b/doc/src/ja_JP/images/linguist-hellotr_ja.png
Binary files differ
diff --git a/doc/src/ja_JP/snippets/code/doc_src_examples_hellotr.qdoc b/doc/src/ja_JP/snippets/code/doc_src_examples_hellotr.qdoc
new file mode 100644
index 0000000000..e05cd12db9
--- /dev/null
+++ b/doc/src/ja_JP/snippets/code/doc_src_examples_hellotr.qdoc
@@ -0,0 +1,72 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the documentation of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+//! [0]
+lupdate -verbose hellotr.pro
+//! [0]
+
+
+//! [1]
+<!DOCTYPE TS><TS>
+<context>
+ <name>QPushButton</name>
+ <message>
+ <source>Hello world!</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+</TS>
+//! [1]
+
+
+//! [2]
+linguist hellotr_ja.ts
+//! [2]
+
+
+//! [3]
+<translation type='unfinished'></translation>
+//! [3]
+
+
+//! [4]
+<translation>こんにちは、世界!</translation>
+//! [4]
diff --git a/doc/src/ja_JP/tutorials/addressbook.qdoc b/doc/src/ja_JP/tutorials/addressbook.qdoc
new file mode 100644
index 0000000000..9fb1059d0f
--- /dev/null
+++ b/doc/src/ja_JP/tutorials/addressbook.qdoc
@@ -0,0 +1,1070 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the documentation of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+/*!
+ \page tutorials-addressbook.html
+
+ \title チュートリアル: アドレス帳
+ \brief シンプルだが、完全な機能を持つアプリケーションの作成を通じた
+ GUI プログラミングへの導入。
+
+ このチュートリアルでは、Qt クロスプラットフォームフレームワークを使用した
+ GUI プログラミングの概要について説明しています。
+
+ \image addressbook-tutorial-screenshot.png
+
+ \omit
+ It doesn't cover everything; the emphasis is on teaching the programming
+ philosophy of GUI programming, and Qt's features are introduced as needed.
+ Some commonly used features are never used in this tutorial.
+ \endomit
+
+ このチュートリアルでは以下に示す Qt の基本的な機能を学ぶことが出来ます:
+
+ \list
+ \o ウィジェットとレイアウトマネージャ
+ \o コンテナクラス
+ \o シグナル/スロット
+ \o 入力デバイスと出力デバイス
+ \endlist
+
+ Qt を初めて利用する方は、最初に \l{How to Learn Qt} をご覧ください。
+
+ チュートリアルの目次:
+
+ \list 1
+ \o \l{tutorials/addressbook/part1}{ユーザインターフェースの設計}
+ \o \l{tutorials/addressbook/part2}{アドレスの追加}
+ \o \l{tutorials/addressbook/part3}{項目間のナビゲーション}
+ \o \l{tutorials/addressbook/part4}{アドレスの編集と削除}
+ \o \l{tutorials/addressbook/part5}{検索機能の追加}
+ \o \l{tutorials/addressbook/part6}{読み込みと保存}
+ \o \l{tutorials/addressbook/part7}{その他の機能}
+ \endlist
+
+ このチュートリアルのソースコードは、Qt の
+ \c examples/tutorials/addressbook ディレクトリに置かれています。
+
+ この小さなアプリケーションは本格的な最新の GUI
+ アプリケーションのようには見えませんが、
+ 複雑なアプリケーションで使用される多くの基本的な技術が採用されています。
+ このチュートリアルが終わったら、
+ メニューやツールバー、ステータスバーなどを表示する
+ 小さな GUI アプリケーションである
+ \l{mainwindows/application}{Application}
+ のサンプルをチェックすることをお勧めします。
+
+*/
+
+/*!
+ \page tutorials-addressbook-part1.html
+
+ \example tutorials/addressbook/part1
+ \title 第1章 - ユーザインターフェースのデザイン
+
+ 本チュートリアルの第1章では
+ アドレス帳アプリケーションで使用する基本的なインターフェース
+ (GUI) の設計について説明します。
+
+ GUI プログラム作成の最初のステップは、
+ ユーザインターフェースを設計することです。
+ 本章の目標は、基本的なアドレス帳アプリケーションを実装するのに必要な
+ ラベルと入力フィールドを設定することです。
+ 下図は、ここで作成しようとしているアドレス帳のスクリーンショットです。
+
+ \image addressbook-tutorial-part1-screenshot.png
+
+ ユーザがアドレス帳に名前や住所を入力できるようにするには、
+ 2つの QLabel のオブジェクトである \c nameLabel 及び \c addressLabel と、
+ 入力フィールドとして QLineEdit オブジェクトの \c nameLine と
+ QTextEdit オブジェクトの \c addressText が必要です。
+ 使用するウィジェットとその配置は下図に示してあります。
+
+ \image addressbook-tutorial-part1-labeled-screenshot.png
+
+ 以下の3つのファイルを使用してこのアドレス帳を実装します:
+
+ \list
+ \o \c{addressbook.h} - \c AddressBook クラスを宣言するファイル、
+ \o \c{addressbook.cpp} - \c AddressBook クラスを実装するファイル、
+ \o \c{main.cpp} - \c AddressBook クラスのインスタンスを持つ
+ \c main() 関数を含むファイル。
+ \endlist
+
+ \section1 Qt プログラミング - 派生クラスの作成
+
+ Qt プログラムを作成する際は、
+ 通常 Qt オブジェクトの派生クラスを作成して機能を追加します。
+ これは、カスタムウィジットや標準的なウィジェットの集合体を作成する場合の
+ 重要なコンセプトの1つです。
+ ウィジェットの挙動の拡張や変更のために派生クラスを作成することには
+ 以下のような利点があります:
+
+ \list
+ \o 仮想関数または純粋仮想関数の実装を行って要求される機能を実装できます。
+ 必要によっては基底クラスの実装にフォールバックして利用できます。
+
+ \o これにより、アプリケーションのその他の部分が
+ ユーザインターフェースの個々のウィジェットを指定する必要がないよう、
+ ユーザインターフェースの一部をクラス内にカプセル化できます。
+
+ \o 派生クラスは、同一のアプリケーションまたはライブラリに
+ 複数のカスタムウィジットを作成するために使用できます。
+ また、派生クラスのコードは、他のプロジェクトで再利用可能です。
+
+ \endlist
+
+ Qt ではアドレス帳ウィジェットを提供していないため、
+ 標準的な Qt ウィジェットクラスを継承して機能を追加します。
+ 本チュートリアルで作成する \c AddressBook クラスは、
+ 基本的なアドレス帳ウィジェットが必要な場合に再利用できます。
+
+ \section1 AddressBook クラスの宣言
+
+ \l{tutorials/addressbook/part1/addressbook.h}{\c addressbook.h}
+ ファイルは、 \c AddressBook クラスを宣言するために使用します。
+
+ ここでは \c AddressBook を QWidget の派生クラスとし、
+ コンストラクタを宣言することから始めます。
+ また、 Q_OBJECT マクロを使用して、クラスで多言語化機能及び、
+ Qt のシグナル/スロット機能が使われていることを示します。
+ ただし、現段階ではこれらの機能の全てを使わない場合もあります。
+
+ \snippet tutorials/addressbook/part1/addressbook.h class definition
+
+ クラスは、 前述した QLineEdit と QTextEdit のプライベートなインスタンス
+ \c nameLine と \c addressText の宣言を保有します。
+ 後述の章で、 \c nameLine 及び \c addressText に保存したデータが、
+ 多くのアドレス帳の機能で必要になることがわかるでしょう。
+
+ 我々が使用する QLabel オブジェクトは、
+ 一旦作成すると後で参照する必要がないため、宣言する必要はありません。
+ Qt でオブジェクトの所有権を追跡する方法については、次節で説明します。
+
+ Q_OBJECT マクロ自体は、Qt のより高度な機能を実装します。
+ ここでは、 Q_OBJECT マクロを、 \l{QObject::}{tr()} 及び
+ \l{QObject::}{connect()} 関数を使用可能にする
+ ショートカットとみなしたほうが良いでしょう。
+
+ これで、 \c addressbook.h ファイルが完成しました。
+ 次は対応する \c addressbook.cpp ファイルの実装を行います。
+
+ \section1 AddressBook クラスの実装
+
+ \c AddressBook のコンストラクタは、 \a{parent} パラメータとして
+ QWidget を受け取ります。
+ 慣例により、このパラメータを基底クラスのコンストラクタに渡します。
+ 親が複数の子を所有できるというこの所有概念は、
+ Qt でウィジェットのグループ化を行う場合に有用です。
+ 例えば、親を削除すると、親に属する子も全て削除されます。
+
+ \snippet tutorials/addressbook/part1/addressbook.cpp constructor and input fields
+
+ このコンストラクタ内で、 \c nameLine と \c addressText のインスタンスを生成し、
+ 2つのローカル QLabel オブジェクトの \c nameLabel と \c addressLabel
+ を宣言し、そのインスタンスを生成します。
+ \l{QObject::tr()}{tr()} 関数は、
+ 翻訳した文字列が存在する場合にそれを返します。
+ そうでない場合は、引数の文字列自体を返します。
+ この関数は文字列が他の言語に翻訳されるようにマークする役目を持ちます。
+ 翻訳可能な文字列を使用するたびに、マークしてください。
+
+ Qt を使用してプログラミングを行う場合、
+ レイアウトが機能する仕組みを理解していると便利です。
+ Qt は主に、以下の3つのレイアウトクラスを提供します。
+ ウィジェットの配置を処理するための QHBoxLayout 、 QVBoxLayout 及び
+ QGridLayout です。
+
+ \image addressbook-tutorial-part1-labeled-layout.png
+
+ ここでは、 QGridLayout を使って、
+ ラベルと入力フィールドを配置します。
+ QGridLayout は、有効なスペースを格子状に分割し、
+ 行/列番号により指定するセルに、ウィジェットを配置します。
+ 上図は、レイアウトセルとウィジェットの位置を示しており、
+ 以下のコードを使用して、この配置を指定します:
+
+ \snippet tutorials/addressbook/part1/addressbook.cpp layout
+
+ \c addressLabel は、追加引数として Qt::AlignTop を用いて配置されていることに注意してください。
+ これは、セル(1,0) で縦方向の中央に配置されないようにするためです。
+ Qt のレイアウトにおける基本概念については、
+ \l{Layout Management} のドキュメントをご覧ください。
+
+ ウィジェットにレイアウトオブジェクトをインストールするには、
+ ウィジェットの \l{QWidget::setLayout()}{setLayout()}
+ 関数を呼び出す必要があります。
+
+ \snippet tutorials/addressbook/part1/addressbook.cpp setting the layout
+
+ 最後に、ウィジェットのタイトルを "Simple Address Book" とします。
+
+ \section1 アプリケーションを実行する
+
+ 別のファイル \c main.cpp に、 \c main() 関数に実装します。
+ この関数内で、QApplication である \c app のインスタンスを生成します。
+ QApplication は、既定のフォントやカーソルなど
+ アプリケーションに共通な複数のリソース及び、
+ イベントループの実行に関与しています。
+ 従って、Qt を使用する全ての GUI アプリケーションでは、
+ 必ず QApplication が存在します。
+
+ \snippet tutorials/addressbook/part1/main.cpp main function
+
+ スタックに新しい \c AddressBook ウィジェットを生成し、
+ \l{QWidget::show()}{show()} 関数を呼び出して表示します。
+ ただし、ウィジェットはアプリケーションのイベントループが
+ 開始されるまで表示されません。
+ アプリケーションの \l{QApplication::}{exec()} 関数を呼び出して、
+ イベントループを開始します。
+ この関数により返された結果は、 \c main() 関数の戻り値として使用されます。
+ この時点で、スタックで \c AddressBook
+ をインスタンス化した理由が明らかになります。
+ イベントループが終了すると \c main() 関数のスコープの外に移動します。
+ それに伴って \c AddressBook 及び、
+ これに属する全ての子ウィジェットが削除されるため、
+ メモリリークを防ぐことができます。
+*/
+
+/*!
+ \page tutorials-addressbook-part2.html
+
+ \example tutorials/addressbook/part2
+ \title 第2章 - アドレスの追加
+
+ 基本的なアドレス帳アプリケーションを作成するための次の手順は、
+ ユーザからの操作を可能にすることです。
+
+ \image addressbook-tutorial-part2-add-contact.png
+
+ 新しい連絡先を追加するために、
+ ユーザがクリックするプッシュボタンを作成します。
+ また、これらの連絡先を整理して保存するために、
+ 何らかのデータ構造が必要になります。
+
+ \section1 AddressBook クラスの宣言
+
+ ラベルと入力フィールドの設定が完了しているため、
+ 連絡先を追加する際に必要なプッシュボタンを追加します。
+ \c addressbook.h ファイルに、
+ 3つの QPushButton オブジェクトを宣言し、
+ 対応する3つの public slot を作成します。
+
+ \snippet tutorials/addressbook/part2/addressbook.h slots
+
+ スロットとは特定のシグナルに応答して呼び出される関数をいいます。
+ このコンセプトについては、 \c AddressBook
+ クラスを実装する際にさらに詳細に取り上げます。
+ なお、Qt のシグナル/スロットのコンセプトの概要については、
+ \l{Signals and Slots} のドキュメントを参照してください。
+
+ 3つの QPushButton オブジェクト \c addButton 、 \c submitButton 、
+ \c cancelButton は、前章の \c nameLine と \c addressText とともに、
+ プライベート変数宣言に含まれています。
+
+ \snippet tutorials/addressbook/part2/addressbook.h pushbutton declaration
+
+ アドレス帳の連絡先を横断して表示するには、
+ 連絡先保持用のコンテナが必要です。
+ QMap のオブジェクトである \c contacts をこの目的に使用します。
+ \c contacts にはキーとして連絡先の名前 \e key
+ とそれに対応する値として連絡先の住所 \e value を格納します。
+
+ \snippet tutorials/addressbook/part2/addressbook.h remaining private variables
+
+ QString の2つのプライベートオブジェクトとして \c oldName と \c oldAddress
+ も宣言します。
+ これらのオブジェクトは、ユーザが \gui Add
+ をクリックする前に最後に表示した連絡先の名前と住所が含まれている必要があります。
+ ユーザが \gui Cancel
+ をクリックすると、最後に表示した連絡先の詳細に戻って表示することが出来ます。
+
+ \section1 AddressBook クラスの実装
+
+ \c AddressBook のコンストラクタ内で、連絡先の詳細を編集することなく
+ 表示のみを行えるよう、 \c nameLine と \c addressText
+ を読み取り専用に設定します。
+
+ \dots
+ \snippet tutorials/addressbook/part2/addressbook.cpp setting readonly 1
+ \dots
+ \snippet tutorials/addressbook/part2/addressbook.cpp setting readonly 2
+
+ 次に、プッシュボタン \c addButton 、 \c submitButton 、 \c cancelButton
+ のインスタンスを生成します。
+
+ \snippet tutorials/addressbook/part2/addressbook.cpp pushbutton declaration
+
+ \c addButton を、 \l{QPushButton::show()} 関数を呼び出して表示します。
+ \c submitButton と \c cancelButton は、
+ \l{QPushButton::hide()}{hide()} を呼び出して非表示にします。
+ これら2つのプッシュボタンはユーザが \gui Add
+ をクリックした場合にのみ表示され、後に説明する
+ \c addContact() によって処理されます。
+
+ \snippet tutorials/addressbook/part2/addressbook.cpp connecting signals and slots
+
+ 各プッシュボタンの \l{QPushButton::clicked()}{clicked()} を、
+ それぞれのスロットに接続します。
+ 下図はこれを説明したものです。
+
+ \image addressbook-tutorial-part2-signals-and-slots.png
+
+ 次に、 QVBoxLayout を使用して、
+ アドレス帳ウィジェットの右側にプッシュボタンを
+ 上下一列に配置します。
+
+ \snippet tutorials/addressbook/part2/addressbook.cpp vertical layout
+
+ \l{QBoxLayout::addStretch()}{addStretch()} 関数は、
+ プッシュボタンを等間隔に並べるのではなく、
+ ウィジェット上部に近づけて配置するために使用します。
+ 下図は、\l{QBoxLayout::addStretch()}{addStretch()} を使用した場合と、
+ 使用しない場合の違いを示しています。
+
+ \image addressbook-tutorial-part2-stretch-effects.png
+
+ 次に、\l{QGridLayout::addLayout()}{addLayout()} を使用して、
+ \c buttonLayout1 を \c mainLayout に追加します。
+ \c buttonLayout1 は \c mainLayout の子となり、
+ レイアウトが入れ子になりました。
+
+ \snippet tutorials/addressbook/part2/addressbook.cpp grid layout
+
+ レイアウトの配置は以下のようになります:
+
+ \image addressbook-tutorial-part2-labeled-layout.png
+
+ \c addContact() では、最後に表示した連絡先の詳細を、
+ \c oldName と \c oldAddress に保存します。
+ 次に、これらの入力フィールドをクリアし、読み取り専用モードを解除します。
+ \c nameLine にフォーカスをセットして、 \c submitButton と \c cancelButton を表示します。
+
+ \snippet tutorials/addressbook/part2/addressbook.cpp addContact
+
+ \c submitContact() 関数は、以下の次の3つの要素から成ります:
+
+ \list 1
+
+ \o \c nameLine 及び \c addressText から連絡先の詳細を抽出し、
+ QString オブジェクトに保存します。
+ また、ユーザが入力フィールドに何も入力せずに
+ \gui Submit をクリックしないよう確認します。
+ どちらかのフィールドが空であれば、ユーザに名前と住所の入力を求める
+ QMessageBox が表示されます。
+
+ \snippet tutorials/addressbook/part2/addressbook.cpp submitContact part1
+
+ \o 続けて、連絡先が既に存在するかどうか確認します。
+ 存在しない場合は \c contacts に連絡先を追加して QMessageBox を表示し、
+ 連絡先が追加されたことをユーザに知らせます。
+
+ \snippet tutorials/addressbook/part2/addressbook.cpp submitContact part2
+
+ 連絡先が既に存在する場合、 QMessageBox を表示し、
+ 連絡先が重複して追加されないように
+ 連絡先が存在することをユーザに知らせます。
+ \c contacts オブジェクトは、名前と住所のキー値のペアで構成されているため、
+ \e key が一意であることを確認します。
+
+ \o 上記の両方の事例に対処したら、
+ 以下のコードを使ってプッシュボタンを通常の状態に戻します:
+
+ \snippet tutorials/addressbook/part2/addressbook.cpp submitContact part3
+
+ \endlist
+
+ 以下のスクリーンショットは、ユーザに情報メッセージを表示するために使用する
+ QMessageBox オブジェクトです。
+
+ \image addressbook-tutorial-part2-add-successful.png
+
+ \c cancel() 関数は、最後に表示した連絡先の詳細を復元して
+ \c addButton を有効にし、 \c submitButton と \c cancelButton
+ を非表示にします。
+
+ \snippet tutorials/addressbook/part2/addressbook.cpp cancel
+
+ 連絡先を追加する際の概念は、ユーザがいつでも自由に
+ \gui{送信} または \gui{キャンセル} をクリックできるようにすることです。
+ 以下のフローチャートは、この概念を詳細に説明しています:
+
+ \image addressbook-tutorial-part2-add-flowchart.png
+*/
+
+/*!
+ \page tutorials-addressbook-part3.html
+
+ \example tutorials/addressbook/part3
+ \title 第3章 - 項目間のナビゲーション
+
+ アドレス帳アプリケーションは、半分完成しました。
+ 次に表示する連絡先を変更するために、いくつかの関数を追加します。
+ しかし、最初に、これらの連絡先を保存するために使用するデータ構造の種類を決める必要があります。
+
+ 第2章では、連絡先の名前 \e key 及び、連絡先の住所 \e value
+ の鍵と値のペアで QMap を使用しました。
+ これは、この事例で使用するのに適した構造です。
+ ただし、各項目間を移動して表示するには、多少の機能拡張が必要です。
+
+ QMap を、最初の要素と最後の要素を含むすべての要素が接続された
+ 循環リストに似たデータ構造に、機能拡張します。
+ 下図はこのデータ構造を説明したものです。
+
+ \image addressbook-tutorial-part3-linkedlist.png
+
+ \section1 AddressBook クラスの宣言
+
+ アドレス帳アプリケーションにナビゲーション機能を追加するには、
+ \c AddressBook クラスに2つのスロットを追加する必要があります。
+ next() 及び \c previous() を
+ \c addressbook.h ファイルに追加します。
+
+ \snippet tutorials/addressbook/part3/addressbook.h navigation functions
+
+ また、新たに2つの QPushButton オブジェクトが必要になります。
+ プライベート変数として
+ \c nextButton と \c previousButton を宣言します。
+
+ \snippet tutorials/addressbook/part3/addressbook.h navigation pushbuttons
+
+ \section1 AddressBook クラスの実装
+
+ \c addressbook.cpp の \c AddressBook コンストラクタでは、
+ \c nextButton と \c previousButton のインスタンスを生成し
+ 初期設定で無効にします。
+ これは、アドレス帳に複数の連絡先が存在しない場合、
+ ナビゲーションを有効にしないためです。
+
+ \snippet tutorials/addressbook/part3/addressbook.cpp navigation pushbuttons
+
+ これらのプッシュボタンを、それぞれスロットに接続します:
+
+ \snippet tutorials/addressbook/part3/addressbook.cpp connecting navigation signals
+
+ 以下の画像は、ここで作成しようとしている
+ グラフィカルユーザインターフェースです。
+ 最終アプリケーションが完成間近であることがわかるでしょう。
+
+ \image addressbook-tutorial-part3-screenshot.png
+
+ \c next() と \c previous() では基本的な規約に従って、
+ \c nextButton を右側に、 \c previousButton を左側に配置します。
+ 直感的でわかりやすいレイアウトに仕上げるために、
+ QHBoxLayout を使用してウィジェットを横に並べて配置します:
+
+ \snippet tutorials/addressbook/part3/addressbook.cpp navigation layout
+
+ 次に、 \c mainLayout に、QHBoxLayout のオブジェクトである
+ \c buttonLayout2 を追加します。
+
+ \snippet tutorials/addressbook/part3/addressbook.cpp adding navigation layout
+
+ 下図は、 \c mainLayout のウィジェットの配置を示します。
+ \image addressbook-tutorial-part3-labeled-layout.png
+
+ \c addContact() 関数内部では、
+ ユーザが連絡先を追加しているときに移動しないよう、
+ これらのボタンを無効にする必要があります。
+
+ \snippet tutorials/addressbook/part3/addressbook.cpp disabling navigation
+
+ また、 \c submitContact() 関数では、 \c contacts のサイズに応じて、
+ ナビゲーションボタン \c nextButton 及び \c previousButton を有効にします。
+ 前述のように、アドレス帳に複数の連絡先が存在しない場合は、
+ ナビゲーションを有効にできません。
+ 以下のコードは、その処理方法を示しています。
+
+ \snippet tutorials/addressbook/part3/addressbook.cpp enabling navigation
+
+ \c cancel() 関数にも、これらの処理を含めます。
+
+ ここで、QMap のオブジェクト \c contacts を使って、
+ 循環リストをエミュレートしましょう。
+ \c next() 関数で、 \c contacts のイテレータを作成し、次に:
+
+ \list
+ \o イテレータが \c contacts の末尾にない場合は、次の項目に移動します。
+
+ \o イテレータが \c contacts の末尾にある場合は、
+ \c contacts の先頭に移動します。
+ これによって、QMap が循環リストのように機能するという印象を与えます。
+ \endlist
+
+ \snippet tutorials/addressbook/part3/addressbook.cpp next() function
+
+ \c contacts 内の正しいオブジェクトに移動したら、
+ \c nameLine と \c addressText に内容を表示します。
+
+ 同様に、 \c previous() 関数で、 \c contacts のイテレータを作成し、次に:
+ \list
+ \o イテレータが \c contacts の末尾にある場合は、
+ 表示をクリアして戻ります。
+
+ \o イテレータが \c contacts の先頭にある場合は、末尾に移動します。
+
+ \o イテレータを直前の項目に移動します。
+ \endlist
+
+ \snippet tutorials/addressbook/part3/addressbook.cpp previous() function
+
+ もう一度、 \c contacts に現在のオブジェクトの内容を表示します。
+*/
+
+/*!
+ \page tutorials-addressbook-part4.html
+
+ \example tutorials/addressbook/part4
+ \title 第4章 - アドレスの編集と削除
+
+ 本章では、アドレス帳アプリケーションに保存されている
+ 連絡先の内容を変更する方法について説明します。
+
+ \image addressbook-tutorial-screenshot.png
+
+ ここでは、連絡先を整理して保存するだけでなく、
+ ナビゲーションが可能なアドレス帳を作成します。
+ 必要に応じて連絡先の詳細を変更できるよう、
+ 編集・削除機能を追加すると便利です。
+ ただし、列挙型書式の若干の改善が必要になります。
+ 前章では、次の2つのモードを扱いました:
+ \c AddingMode 及び \c NavigationMode -
+ ただし、これらは列挙型として定義しませんでした。
+ 代わりに、対応するボタンを手動で有効または無効にし、
+ 複数行のコードを繰り返します。
+
+ 本章では、以下のような2つの異なる値を持つ \c Mode 列挙型を定義します:
+
+ \list
+ \o \c{NavigationMode}
+ \o \c{AddingMode}
+ \o \c{EditingMode}
+ \endlist
+
+ \section1 AddressBook クラスの宣言
+
+ \c addressbook.h ファイルをアップデートし、 \c Mode 列挙型を追加します:
+
+ \snippet tutorials/addressbook/part4/addressbook.h Mode enum
+
+ また、public slot として2つの新しいスロット
+ \c editContact() 及び \c removeContact() を追加します。
+
+ \snippet tutorials/addressbook/part4/addressbook.h edit and remove slots
+
+ モードを切り替えるために、すべての QPushButton オブジェクトの
+ 有効化/無効化を制御する \c updateInterface() 関数を導入します。
+ また、前述の編集と削除を行うスロット用に、2つの新しいボタン
+ \c editButton 及び \c removeButton を追加します。
+
+ \snippet tutorials/addressbook/part4/addressbook.h updateInterface() declaration
+ \dots
+ \snippet tutorials/addressbook/part4/addressbook.h buttons declaration
+ \dots
+ \snippet tutorials/addressbook/part4/addressbook.h mode declaration
+
+ 最後に、現在のモードを保持する列挙型の \c currentMode を宣言します。
+
+ \section1 AddressBook クラスの実装
+
+ ここで、アドレス帳アプリケーションのモード変更機能を実装する必要があります。
+ アドレス帳をはじめて起動するときは、
+ メモリに連絡先が保存されていないため、
+ コンストラクタでは、 \c editButton 及び \c removeButton
+ のインスタンスの生成と無効化を行います。
+
+ \snippet tutorials/addressbook/part4/addressbook.cpp edit and remove buttons
+
+ また、ボタンをそれぞれのスロット \c editContact() 及び \c removeContact()
+ に接続し、 \c buttonLayout1 に追加します。
+
+ \snippet tutorials/addressbook/part4/addressbook.cpp connecting edit and remove
+ \dots
+ \snippet tutorials/addressbook/part4/addressbook.cpp adding edit and remove to the layout
+
+ \c editContact() は、モードを \c EditingMode に切り替える前に、
+ 連絡先の古い詳細情報を、 \c oldName と \c oldAddress に保存します。
+ このモードでは、 \c submitButton と \c cancelButton
+ の両方が有効になるため、ユーザは連絡先の詳細を変更し、
+ どちらか一方のボタンをクリックできます。
+
+ \snippet tutorials/addressbook/part4/addressbook.cpp editContact() function
+
+ \c submitContact() 関数は、 \c{if-else} ステートメントにより、
+ 2つの処理に分割しています。
+ \c currentMode が \c AddingMode であるかどうかを確認します。
+ その場合、連絡先追加の処理を行います。
+
+ \snippet tutorials/addressbook/part4/addressbook.cpp submitContact() function beginning
+ \dots
+ \snippet tutorials/addressbook/part4/addressbook.cpp submitContact() function part1
+
+ \c AddingMode でない場合、 \c currentMode が \c EditingMode
+ であるかどうか確認します。
+ その場合、 \c oldName を \c name と比較します。
+ 名前を変更した場合、 \c contacts から古い連絡先を削除し、
+ 新たに更新した連絡先を挿入します。
+
+ \snippet tutorials/addressbook/part4/addressbook.cpp submitContact() function part2
+
+ 住所のみを変更した場合 (たとえば、 \c oldAddress は \c address と異なる)、
+ 連絡先の住所を更新します。
+ 最後に、 \c currentMode を \c NavigationMode に設定します。
+ これは、無効にしたプッシュボタンをすべて再び有効にするための重要なステップです。
+
+ アドレス帳から連絡先の削除を行う
+ \c removeContact() 関数を実装します。
+ この関数では、まず連絡先が \c contacts に存在するかどうか確認します。
+
+ \snippet tutorials/addressbook/part4/addressbook.cpp removeContact() function
+
+ 存在する場合、ユーザに削除を確認するために、QMessageBox を表示します。
+ ユーザが確認したら、 \c previous() を呼び出して、
+ ユーザインターフェースで他の連絡先を表示できることを確認し、
+ QMap の \l{QMap::remove()}{remove()} 関数を使用して連絡先を削除します。
+ 念のため、QMessageBox を表示してユーザに知らせます。
+ この関数で使用するメッセージボックスを以下に示します:
+
+ \image addressbook-tutorial-part4-remove.png
+
+ \section2 ユーザインターフェースを更新する
+
+ 既に、 \c updateInterface() 関数が
+ 現在のモードに応じてプッシュボタンの有効化と無効化を行うための
+ 手段であることを説明しました。
+ この関数は、渡される \c mode 引数に応じて現在のモードを更新します。
+ なお、引数の値を確認する前に \c currentMode に代入しています。
+
+ このとき、それぞれのプッシュボタンは、
+ 現在のモードに応じて有効または無効になります。
+ \c AddingMode 及び \c EditingMode でのコードを以下に示します:
+
+ \snippet tutorials/addressbook/part4/addressbook.cpp update interface() part 1
+
+ \c NavigationMode の場合、 QPushButton::setEnabled()
+ 関数のパラメータに条件を含めます。
+ これは、アドレス帳に少なくとも1つ以上の連絡先が存在する場合に、
+ \c editButton と \c removeButton が有効であることを確認するためのものです。
+ \c nextButton と \c previousButton は、
+ アドレス帳に少なくとも2つ以上の連絡先が存在する場合にのみ有効になります。
+
+ \snippet tutorials/addressbook/part4/addressbook.cpp update interface() part 2
+
+ モードの設定及び、同一関数内でのユーザインターフェースの更新を行うタスクを実行することにより、
+ アプリケーションの内部状態により
+ ユーザインターフェースが「非同期」になる可能性を防ぎます。
+*/
+
+/*!
+ \page tutorials-addressbook-part5.html
+
+ \example tutorials/addressbook/part5
+ \title 第5章 - 検索機能の追加
+
+ 本章では、アドレス帳アプリケーションの連絡先と住所を
+ 検索する方法について説明します。
+
+ \image addressbook-tutorial-part5-screenshot.png
+
+ アドレス帳アプリケーションへ連絡先の追加を繰り返すと、
+ \e Next 及び \e Previous ボタンによる連絡先のナビゲートが面倒になります。
+ この場合、\e{検索(Find)}機能を使うと、
+ 連絡先の検索をより効率的に行うことができます。
+ 上記スクリーンショットは、\e Find ボタン及び、
+ パネル上のボタンの位置を示します。
+
+ ユーザーが \e Find ボタンをクリックすると、
+ 連絡先の名前の入力を求めるダイアログを表示します。
+ Qt が提供する QDialog クラスを継承して \c FindDialog クラスを導入します。
+
+ \section1 FindDialog クラスの宣言
+
+ \image addressbook-tutorial-part5-finddialog.png
+
+ QDialog を継承するには、最初に、QDialog のヘッダーを
+ \c finddialog.h ファイルで include する必要があります。
+ また、これらのウィジェットをダイアログクラスで使用するため、
+ 前方宣言を使用して QLineEdit と QPushButton を宣言します。
+
+ \c AddressBook クラスと同様に、 \c FindDialog クラスには Q_OBJECT
+ マクロが含まれ、ダイアログが別のウィンドウとして開かれる場合でも、
+ コンストラクタは親 QWidget を取るように定義されます。
+
+ \snippet tutorials/addressbook/part5/finddialog.h FindDialog header
+
+ \c FindDialog のインスタンスを保持するクラスにより使用される
+ パブリック関数 \c getFindText() を定義します。
+ この関数を経由してユーザが入力した検索文字列を取得します。
+ また、ユーザが \gui Find ボタンをクリックしたときに検索文字列を処理するために、
+ public slot として \c findClicked() を定義します。
+
+ 最後に、\gui Find ボタンに対応するプライベート変数として \c findButton 、
+ ユーザが検索文字列を入力するラインエディット \c lineEdit 及び、
+ 後の作業で使用する検索文字列を保存するために使用する内部文字列として
+ \c findText の定義を行います。
+
+ \section1 FindDialog クラスの実装
+
+ \c FindDialog のコンストラクタ内で、プライベート変数の
+ \c lineEdit 、 \c findButton 及び \c findText を設定します。
+ QHBoxLayout を用いてウィジェットを配置します。
+
+ \snippet tutorials/addressbook/part5/finddialog.cpp constructor
+
+ シグナルをそれぞれのスロットに接続し、
+ レイアウトとウィンドウのタイトルを設定します。
+ \c findButton の \l{QPushButton::clicked()} シグナルは、
+ \c findClicked() と \l{QDialog::accept()}{accept()}
+ に接続されていることがわかります。
+ QDialog により提供される \l{QDialog::accept()}{accept()} スロットは
+ ダイアログを非表示にして、結果コードを \l{QDialog::}{Accepted}
+ に設定します。
+ この関数を使用して、 \c AddressBook の \c findContact() 関数に、
+ \c FindDialog オブジェクトが閉じていることを知らせます。
+ この論理については、 \c findContact() 関数について取り上げる際に、
+ さらに詳細に説明します。
+
+ \image addressbook-tutorial-part5-signals-and-slots.png
+
+ \c findClicked() で、ユーザが連絡先の名前を入力せずに
+ \gui Find ボタンをクリックしたかどうか確認するために
+ \c lineEdit を検証します。
+ 次に、 \c lineEdit から抽出した検索文字列を \c findText に設定します。
+ その後、 \c lineEdit のコンテンツをクリアし、ダイアログを非表示にします。
+
+ \snippet tutorials/addressbook/part5/finddialog.cpp findClicked() function
+
+ \c findText 変数用のパブリックな取得関数
+ \c getFindText() を実装します。
+ コンストラクタ及び \c findClicked() 関数でのみ
+ \c findText を直接設定するため、
+ \c getFindText() に対応する設定関数は作成しません。
+ \c getFindText() はパブリックであるため、インスタンスを生成し
+ \c FindDialog を使用するクラスは、
+ ユーザが入力して確定した検索文字列にいつでもアクセスできます。
+
+ \snippet tutorials/addressbook/part5/finddialog.cpp getFindText() function
+
+ \section1 AddressBook クラスの宣言
+
+ \c AddressBook クラス内部から \c FindDialog を使用できるよう、
+ \c addressbook.h ファイルに \c finddialog.h を含めます。
+
+ \snippet tutorials/addressbook/part5/addressbook.h include finddialog's header
+
+ これまでのところ、アドレス帳の全機能に、
+ QPushButton とそのボタンに対応するスロットが含まれています。
+ 同様に、\gui{検索(Find)}機能には、
+ \c findButton 及び \c findContact() が含まれています。
+
+ \c findButton はプライベート変数として宣言され、
+ \c findContact() 関数は public slot として宣言されます。
+
+ \snippet tutorials/addressbook/part5/addressbook.h findContact() declaration
+ \dots
+ \snippet tutorials/addressbook/part5/addressbook.h findButton declaration
+
+ 最後に、 \c FindDialog のインスタンスを参照するためのプライベート変数
+ \c dialog を宣言します。
+
+ \snippet tutorials/addressbook/part5/addressbook.h FindDialog declaration
+
+ インスタンス化されたダイアログは複数回使用します。
+ プライベート変数を使用すると、
+ クラスの複数の場所から参照できるようになります。
+
+ \section1 AddressBook クラスの実装
+
+ \c AddressBook クラスのコンストラクタ内で、
+ プライベートオブジェクトの \c findButton と \c findDialog
+ のインスタンスを生成します:
+
+ \snippet tutorials/addressbook/part5/addressbook.cpp instantiating findButton
+ \dots
+ \snippet tutorials/addressbook/part5/addressbook.cpp instantiating FindDialog
+
+ 次に、 \c findButton の \l{QPushButton::clicked()}{clicked()} シグナルを、
+ \c findContact() に接続します。
+
+ \snippet tutorials/addressbook/part5/addressbook.cpp signals and slots for find
+
+ 後は、 \c findContact() 関数のコードだけです:
+
+ \snippet tutorials/addressbook/part5/addressbook.cpp findContact() function
+
+ \c FindDialog インスタンスの \c dialog を表示することから始めます。
+ これは、ユーザが検索用に連絡先の名前を入力するためのものです。
+ ユーザがダイアログの \c findButton をクリックすると
+ ダイアログが非表示になり、結果コードが QDialog::Accepted に設定されます。
+ これにより、 \c if ステートメントが常に真になります。
+
+ 続けて、検索文字列の抽出を行います。
+ この場合、検索文字列は \c contactName で、
+ \c FindDialog の \c getFindText() 関数を使用して取得します。
+ アドレス帳に連絡先が存在する場合、直ちに表示します。
+ 存在しない場合、検索が失敗したことを示す以下の QMessageBox が表示されます。
+
+ \image addressbook-tutorial-part5-notfound.png
+*/
+
+/*!
+ \page tutorials-addressbook-part6.html
+
+ \example tutorials/addressbook/part6
+ \title 第6章 - 読み込みと保存
+
+ 本章では、アドレス帳アプリケーションの読み込みと保存処理で使用する、
+ Qt のファイル処理機能について説明します。
+
+ \image addressbook-tutorial-part6-screenshot.png
+
+ 連絡先の参照及び検索機能は便利な機能ですが、
+ 連絡先の保存と読み込みが可能になるまではアドレス帳は完成しません。
+
+ Qt は \l{Input/Output and Networking}{入出力}
+ 用のクラスを様々提供していますが、
+ 今回は簡単に組み合わせて使用できる QFile と QDataStream の2つのクラスを選択しました。
+
+ QFile のオブジェクトは、
+ 読み込みと書き込みが可能なディスク上のファイルを表します。
+ QFile は、さまざまなデバイスを表すより一般的な QIODevice クラスの派生クラスです。
+
+ QDataStream オブジェクトは、バイナリデータを QIODevice に保存して、
+ 後でもう一度取得できるようシリアライズするために使用します。
+ パラメータとしてそれぞれのデバイスを使用すると、
+ ストリームを開くのと同じくらい簡単に、 QIODevice
+ からの読み込みと書き込みを行うことができます。
+
+ \section1 AddressBook クラスの宣言
+
+ 2つの QPushButton オブジェクトの \c loadButton と \c saveButton
+ に加えて、2つの public slot の \c saveToFile() と \c loadFromFile()
+ を宣言します。
+
+ \snippet tutorials/addressbook/part6/addressbook.h save and load functions declaration
+ \dots
+ \snippet tutorials/addressbook/part6/addressbook.h save and load buttons declaration
+
+ \section1 AddressBook クラスの実装
+
+ コンストラクタで、 \c loadButton と \c saveButton のインスタンスを生成します。
+ 理想的には、プッシュボタンのラベルを、
+ "Load contacts from a file"(「ファイルから連絡先を読み込む」)及び、
+ "Save contacts to a file"(「連絡先をファイルに保存する」)
+ に設定するほうがよりユーザーフレンドリーです。
+ ただし、他のプッシュボタンのサイズを考慮して、
+ \gui{Load...}及び\gui{Save...}に設定します。
+ Qt は、 \l{QWidget::setToolTip()}{setToolTip()} を使用して
+ ツールチップを簡単に設定する方法を提供していますので、
+ 以下のコードでプッシュボタンにツールチップを設定します:
+
+ \snippet tutorials/addressbook/part6/addressbook.cpp tooltip 1
+ \dots
+ \snippet tutorials/addressbook/part6/addressbook.cpp tooltip 2
+
+ ここには記載していませんが、
+ これまで実装した他の機能のように右側のレイアウトパネル
+ \c button1Layout にプッシュボタンを追加し、
+ プッシュボタンの \l{QPushButton::clicked()}{clicked()}
+ シグナルをそれぞれのスロットに接続します。
+
+ 保存機能の場合、最初に QFileDialog::getSaveFileName() を使用して、
+ \c fileName を取得します。
+ これは、QFileDialog により提供される簡易関数で、
+ モーダルなファイルダイアログをポップアップ表示させ、
+ ユーザはファイル名を入力したり、既存の \c{.abk} ファイルを選択することが出来ます。
+ \c{.abk} ファイルは、
+ 連絡先を保存したときに作成されるアドレス帳の拡張子です。
+
+ \snippet tutorials/addressbook/part6/addressbook.cpp saveToFile() function part1
+
+ 以下のスクリーンショットのようなネイティブのファイルダイアログが表示されます:
+
+ \image addressbook-tutorial-part6-save.png
+
+ \c fileName が空ではない場合、 \c fileName を用いて
+ QFile のオブジェクト \c file を作成します。
+ QFile は QIODevice の派生クラスであるため、
+ QDataStream から使用できます。
+
+ 次に、ファイルを \l{QIODevice::}{WriteOnly} モードでオープンします。
+ オープンに失敗した場合、 QMessageBox を表示してユーザに知らせます。
+
+ \snippet tutorials/addressbook/part6/addressbook.cpp saveToFile() function part2
+
+ オープンに成功した場合、 QDataStream のインスタンス \c out を生成して、
+ 開いているファイルに書き込みます。
+ QDataStream では、同じバージョンのストリームを使用して、
+ 読み込みと書き込みを行う必要があります。
+ \c file にシリアライズする前に、
+ \l{QDataStream::Qt_4_5}{Qt 4.5で導入されたバージョン}
+ を今回使用するバージョンとして設定します。
+
+ \snippet tutorials/addressbook/part6/addressbook.cpp saveToFile() function part3
+
+ 読み込み機能の場合も QFileDialog::getOpenFileName() を使用して
+ \c fileName を取得します。
+ この関数は QFileDialog::getSaveFileName() に対応するものであり、
+ モーダルなファイルダイアログをポップアップ表示させ、
+ ユーザはファイル名を入力したり、既存の \c{.abk}
+ ファイルを選択してアドレス帳に読み込ことができます。
+
+ \snippet tutorials/addressbook/part6/addressbook.cpp loadFromFile() function part1
+
+ たとえば、 Windows では、この関数は、以下のスクリーンショットのような
+ ネイティブのファイルダイアログをポップアップ表示させます。
+
+ \image addressbook-tutorial-part6-load.png
+
+ \c fileName が空ではない場合、 QFile のオブジェクト
+ \c file を使用して、 \l{QIODevice::}{ReadOnly} モードでオープンします。
+ \c saveToFile() の実装の場合と同様に、オープンに失敗した場合は
+ QMessageBox を表示して、ユーザに知らせます。
+
+ \snippet tutorials/addressbook/part6/addressbook.cpp loadFromFile() function part2
+
+ オープンに成功した場合、
+ QDataStream のインスタンス \c in を生成して前記のようにバージョン設定を行い、
+ シリアライズしたデータを \c contacts のデータ構造に読み込みます。
+ \c contacts オブジェクトはデータが読み込まれる前に空にするので、
+ ファイルの読み込みプロセスは簡素化されます。
+ より高度な方法では、一時オブジェクトの QMap に読み込んで、
+ 重複していない連絡先を \c contacts にコピーします。
+
+ \snippet tutorials/addressbook/part6/addressbook.cpp loadFromFile() function part3
+
+ ファイルから読み込んだ連絡先を表示するには、
+ 最初に取得したデータを検証し、
+ 読み込んだファイルにアドレス帳の連絡先が実際に含まれているか確認します。
+ 含まれている場合、最初の連絡先を表示します。
+ 含まれていない場合、QMessageBox を表示して、
+ 問題があることをユーザに知らせます。
+ 最後にインターフェースを更新し、適宜
+ プッシュボタンの有効化と無効化を行います。
+*/
+
+/*!
+ \page tutorials-addressbook-part7.html
+
+ \example tutorials/addressbook/part7
+ \title 第7章 - 追加機能
+
+ 本章では、アドレス帳アプリケーションを
+ 普段の生活で便利に使用するための追加機能について説明します。
+
+ \image addressbook-tutorial-part7-screenshot.png
+
+ アドレス帳アプリケーションは、それ自体で便利ですが、
+ 他のアプリケーションとデータの交換ができればなお便利です。
+ vCard 形式は、この目的で使用可能な一般的なファイル形式です。
+ 本章では、連絡先を vCard ファイル(\c{.vcf})
+ にエクスポートできるよう、アドレス帳クライアントを拡張します。
+
+ \section1 AddressBook クラスの宣言
+
+ QPushButton のオブジェクト \c exportButton 及び、
+ 対応する public slot の \c exportAsVCard() を
+ \c addressbook.h ファイルの \c AddressBook クラスに追加します。
+
+ \snippet tutorials/addressbook/part7/addressbook.h exportAsVCard() declaration
+ \dots
+ \snippet tutorials/addressbook/part7/addressbook.h exportButton declaration
+
+ \section1 AddressBook クラスの実装
+
+ \c AddressBook のコンストラクタで、 \c exportButton の
+ \l{QPushButton::clicked()}{clicked()} シグナルを
+ \c exportAsVCard() に接続します。
+ このボタンも、右側のボタンのパネルの処理を行うレイアウトである
+ \c buttonLayout1 に追加します。
+
+ \c exportAsVCard() 関数では、
+ 連絡先の名前を \c name に抽出することから始めます。
+ \c firstName 、 \c lastName 及び \c nameList を宣言します。
+ 次に \c name を検索し、最初の空白のインデックスを取得します。
+ 空白が存在する場合、連絡先の名前を \c firstName と
+ \c lastName に分割します。
+ 次に、空白をアンダースコア ("_") に置き換えます。
+ 空白が存在しない場合は、連絡先にファーストネーム(名)
+ しか保存されていない可能性があります。
+
+ \snippet tutorials/addressbook/part7/addressbook.cpp export function part1
+
+ \c saveToFile() 関数と同様に、ユーザがファイルの場所を選択できるよう
+ ファイルダイアログを開きます。
+ 選択したファイル名を使用して、
+ 書き込みを行うための QFile のインスタンスを生成します。
+
+ ファイルを \l{QIODevice::}{WriteOnly} モードでオープンします。
+ オープンに失敗した場合、 QMessageBox を表示して、
+ 問題があることをユーザに知らせて戻ります。
+ オープンに成功した場合、 QTextStream のオブジェクト \c out へ
+ パラメータファイルを渡します。
+ QDataStream のように、QTextStream クラスは、
+ プレーンテキストファイルの読み込みと書き込みを行う機能を提供します。
+ 結果として、生成された \c{.vcf} は
+ テキストエディターで開いて編集することができます。
+
+ \snippet tutorials/addressbook/part7/addressbook.cpp export function part2
+
+ まず \c{BEGIN:VCARD} タグ、次に \c{VERSION:2.1} タグの順に
+ vCard ファイルに書き込みます。
+ 連絡先の名前は、 \c{N:} タグを使用して書き込みます。
+ vCard の "File as" プロパティを設定する \c{FN:} タグを書き込む際は、
+ 連絡先にラストネーム(姓)が含まれているかどうかを確認する必要があります。
+ 含まれている場合、 \c nameList の情報を使用して入力します。
+ 含まれていない場合、 \c firstName のみを書き込みます。
+
+ \snippet tutorials/addressbook/part7/addressbook.cpp export function part3
+
+ 続けて連絡先の住所の書き込みを行います。
+ 住所のセミコロンには、"\\" をエスケープ文字として追加する必要があります。
+ 改行はセミコロンに置き換えられ、コンマはスペースに置き換えられます。
+ 次に、 \c{ADR;HOME:;} タグ、 \c address 、
+ \c{END:VCARD} タグの順に書き込みます。
+
+ \snippet tutorials/addressbook/part7/addressbook.cpp export function part4
+
+ 最後に、vCard のエクスポートに成功したことをユーザに知らせるために、
+ QMessageBox が表示されます。
+
+ \e{vCard は、\l{http://www.imc.org}{Internet Mail Consortium} の登録商標です。}
+*/
diff --git a/doc/src/ja_JP/tutorials/widgets-tutorial.qdoc b/doc/src/ja_JP/tutorials/widgets-tutorial.qdoc
new file mode 100644
index 0000000000..6a6b1a2347
--- /dev/null
+++ b/doc/src/ja_JP/tutorials/widgets-tutorial.qdoc
@@ -0,0 +1,257 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the documentation of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+/*!
+ \page widgets-tutorial.html
+ \title ウィジェットのチュートリアル
+ \brief 本チュートリアルではウィジェットとレイアウトの基本的な使い方を説明し、それらが GUI アプリケーションの開発でどのように使われるかを説明します。
+
+ \section1 はじめに
+
+ ウィジェットは Qt によるグラフィカルユーザインターフェース(GUI)アプリケーションの基本構成要素です。
+ ボタン、ラベル、テキストエディターなどの各 GUI コンポーネントはウィジェットであり、
+ 既存のウィンドウのユーザーインタフェース内に配置したり、独立したウィンドウとして表示することができます。
+ それぞれのコンポーネントは QWidget の派生クラスとして実装されます。
+ QWidget 自体は QObject の派生クラスです。
+
+ QWidget は抽象クラスではなく、
+ 他のウィジェット用のコンテナとして使用されたり、
+ カスタムウィジェットを作る場合の基底クラスとして使用されます。
+ 他のウィジェットを配置するウィンドウとしてもよく使われます。
+
+ \l{QObject} と同様に QWidget は所有権を示すために親オブジェクトを指定して生成できるため、
+ 親オブジェクトが使用されなくなった場合には破棄されます。
+ ウィジェットではこの親子関係が他の意味も持ちます。
+ 子ウィジェットは親ウィジェットが使用する領域内に表示されます。
+ これは、ウィンドウを削除するとそのウィンドウに含まれる全てのウィジェットが自動的に破棄されることを意味します。
+
+ \section1 main 関数の記述
+
+ Qt の GUI サンプルの多くは標準的なアプリケーションの初期化コードを含む
+ \c{main.cpp} ファイルと、アプリケーションのロジックやカスタム
+ GUI コンポーネントを含むいくつかのソース/ヘッダファイルから構成されています。
+
+ \c{main.cpp} 内の典型的な \c main() 関数は以下のようになります:
+
+ \snippet doc/src/snippets/widgets-tutorial/template.cpp main.cpp body
+
+ 最初に、コマンドラインから渡される引数を渡して QApplication のオブジェクトを生成します。
+ ウィジェットを生成して表示した後、 QApplication::exec() を呼び出して Qt のイベントループを開始します。
+ この関数から戻ってくるまでアプリケーションの制御は Qt 側にて行われます。最後に、\c{main()} は QApplication::exec() から取得された値を返します。
+
+ \section1 簡単なウィジェットのサンプル
+
+ 以下の簡単なウィジェットのサンプルでは \c main() 関数の中にコードを記述しています。
+
+ \list
+ \o \l {tutorials/widgets/toplevel}{ウィンドウの作成}
+
+ \o \l {tutorials/widgets/childwidget}{子ウィジェット}
+
+ \o \l {tutorials/widgets/windowlayout}{レイアウトの利用}
+
+ \o \l {tutorials/widgets/nestedlayouts}{複雑なレイアウト}
+ \endlist
+
+ \section1 複雑なウィジェットのサンプル
+
+ \l{Widgets examples}{より高度なサンプル} の場合、ウィジェットやレイアウトのためのコードは他のファイルに記述されています。
+ 例えば、メインウインドウ用の GUI は、 QMainWindow 派生クラスのコンストラクタで作成されるでしょう。
+
+ \section1 サンプルのビルド
+
+ Qt のバイナリパッケージを取得してインストールするか、Qt を自分でコンパイルした場合には既にこのチュートリアルで説明されているサンプルはビルドされ、実行する準備ができています。
+ これらを変更し再コンパイルをしたい場合は、次の手順に従う必要があります:
+
+ \list 1
+ \o コマンドラインで、再コンパイルしたいサンプルを含むディレクトリに移動します。
+ \o \c qmake と入力し、\key{Return} キーを押します。
+ うまくいかない場合は、現在のパス内にこの実行ファイルが存在することを確認するか、
+ フルパスを指定して実行してください。
+ \o Linux/Unix および Mac OS X の場合、\c make と入力し、\key{Return} キーを押します。
+ Windows 上の Visual Studio の場合、\c nmake と入力し、\key{Return} キーを押します。
+ \endlist
+
+ 現在のディレクトリに実行ファイルが生成されます。
+ Windows では、このファイルは \c debug または \c release
+ ディレクトリに配置されているかもしれません。
+ このファイルを実行すると、作業中のサンプルコードの動作を確認できます。
+*/
+
+/*!
+ \example tutorials/widgets/toplevel
+ \title ウィジェットのチュートリアル - ウィンドウの作成
+
+ 親を持たないウィジェットを作成した場合、そのウィジェットは表示時にウィンドウ(\e{トップレベルウィジェット})として扱われます。
+ このウィジェットが必要なくなった場合にそれを破棄してくれる親ウィジェットがないため、トップレベルウィジェットの管理は開発者が行ってください。
+
+ 以下のサンプルでは QWidget を使用してウィンドウを作成し、サイズを指定して表示します:
+
+ \raw HTML
+ <table align="left" width="100%">
+ <tr class="qt-code"><td>
+ \endraw
+ \snippet tutorials/widgets/toplevel/main.cpp main program
+ \raw HTML
+ </td><td align="right">
+ \endraw
+ \inlineimage widgets-tutorial-toplevel.png
+ \raw HTML
+ </td></tr>
+ </table>
+ \endraw
+
+ 実際の GUI を作成するには、ウィンドウ内にウィジェットを配置する必要があります。
+ これは、ウィジェットのコンストラクタに QWidget のインスタンスを渡すことで実現します。
+ 詳細は本チュートリアルの次の章で示します。
+*/
+
+/*!
+ \example tutorials/widgets/childwidget
+ \title ウィジェットのチュートリアル - 子ウィジェット
+
+ 前のサンプルで作成したウィンドウに子ウィジェットを追加するために、
+ 親として \c window を子ウィジェットのコンストラクタに渡します。
+ ここでは、ウィンドウにボタンを追加し特定の場所に配置します:
+
+ \raw HTML
+ <table align="left" width="100%">
+ <tr class="qt-code"><td>
+ \endraw
+ \snippet tutorials/widgets/childwidget/main.cpp main program
+ \raw HTML
+ </td><td align="right">
+ \endraw
+ \inlineimage widgets-tutorial-childwidget.png
+ \raw HTML
+ </td></tr>
+ </table>
+ \endraw
+
+ このボタンはウィンドウの子になり、
+ ウィンドウが破棄された場合にはボタンも破棄されるでしょう。
+ ウィンドウを非表示化したり閉じた際には、自動的に破棄はされません。
+ サンプルが終了する場合には破棄されるでしょう。
+*/
+
+/*!
+ \example tutorials/widgets/windowlayout
+ \title ウィジェットのチュートリアル - レイアウトの利用
+
+ 一般的に子ウィジェットは、位置とサイズを明確に指定するのではなく、
+ レイアウトオブジェクトを使用してウィンドウ内に配置します。
+ ここでは、ラベルとラインエディットを生成し、横に並べて配置します。
+
+ \raw HTML
+ <table align="left" width="100%">
+ <tr class="qt-code"><td>
+ \endraw
+ \snippet tutorials/widgets/windowlayout/main.cpp main program
+ \raw HTML
+ </td><td align="right">
+ \endraw
+ \inlineimage widgets-tutorial-windowlayout.png
+ \raw HTML
+ </td></tr>
+ </table>
+ \endraw
+
+ 生成する \c layout オブジェクトは、 \l{QHBoxLayout::}{addWidget()} 関数を使って設定されたウィジェットの位置とサイズを管理します。
+ また、\l{QWidget::}{setLayout()} を使用してレイアウトをウィンドウに設定します。
+ レイアウトはそれ自体は目には見えない存在です。
+ レイアウトの管理対象となっているウィジェット(や他のレイアウト)に対しての効果としてのみ、その存在を確認できます。
+
+ 上記サンプルにおいて、各ウィジェットの所有権はあまり明確ではありません。
+ 親オブジェクトのない3つのウィジェットと1つのレイアウトを作成するため、
+ 空のウィンドウと、ラベルとラインエディットをそれぞれ含む別々のウィンドウが表示されるように見えるかもしれません。
+ しかし、レイアウトにラベルとラインエディットを管理するように指定すると、
+ ウィンドウにそのレイアウトを設定した際に「親の再指定」が行われるため、
+ ウィジェットおよびレイアウト自体がそのウィンドウの子になります。
+*/
+
+/*!
+ \example tutorials/widgets/nestedlayouts
+ \title ウィジェットのチュートリアル - 複雑なレイアウト
+
+ ウィジェットの中に他のウィジェットを含めることができるように、
+ レイアウトは異なるレベルでのウィジェットのグループ化にも使用されます。
+ ここではウィンドウ上部にラベルとラインエディットを隣り合わせに配置し、
+ その下に検索結果が表示されるテーブルビューを表示します。
+
+ これは、レイアウトを2つ作成して行います。\c{queryLayout} は、QLabel と QLineEdit を左右に並べて表示する QHBoxLayout です。
+ \c{mainLayout} は、\c{queryLayout} と QTableView を上下に並べて表示する QVBoxLayout です。
+
+ \raw HTML
+ <table align="left" width="100%">
+ <tr class="qt-code"><td>
+ \endraw
+ \snippet tutorials/widgets/nestedlayouts/main.cpp first part
+ \snippet tutorials/widgets/nestedlayouts/main.cpp last part
+ \raw HTML
+ </td><td align="right">
+ \endraw
+ \inlineimage widgets-tutorial-nestedlayouts.png
+ \raw HTML
+ </td></tr>
+ </table>
+ \endraw
+
+ \c{mainLayout} の \l{QBoxLayout::}{addLayout()} 関数にて追加された
+ \c{queryLayout} と \c{resultView} は追加された順番で上から並べられます。
+
+ ここでは QTableView ウィジェット \c resultView に表示されるデータを含むモデルの設定のコードは省略していますが、
+ 後ほど示します。
+
+ QHBoxLayout や QVBoxLayout と共に Qt から提供される QGridLayout および QFormLayout を使用することにより、
+ より複雑なユーザインターフェースの構築が可能になります。
+ これらのレイアウトの効果は、\l{Qt Designer} を実行して確認できます。
+
+ \section1 モデルを設定する
+
+ 上記のコードでは、レイアウトの有効利用に重点を置いていたため、
+ テーブルのデータについては示していませんでした。
+ 以下のコードで、モデルには行に対応する項目が含まれ、それぞれの行には2つの列のデータが設定されていることがわかるでしょう。
+
+ \snippet tutorials/widgets/nestedlayouts/main.cpp set up the model
+
+ モデルとビューの有効利用については、\l{Item Views Examples} および
+ \l{Model/View Programming} の概要に含まれています。
+*/
diff --git a/doc/src/legal/opensourceedition.qdoc b/doc/src/legal/opensourceedition.qdoc
index d95e107648..cbd043ea7d 100644
--- a/doc/src/legal/opensourceedition.qdoc
+++ b/doc/src/legal/opensourceedition.qdoc
@@ -46,18 +46,21 @@
\ingroup licensing
\brief Information about the license and features of the Open Source Edition.
- Free (or open source) software is software that comes with a license
+ Free and Open Source Software (FOSS) is software that comes with a license
that gives users certain rights. In particular the right to use the
software, to modify it, to obtain its source, and to pass it on (under
the same terms). Notice that the term "free" is about rights, not
- money. The Free Software Foundation (creators of the GNU GPL) speaks
+ money. The Free Software Foundation, the creator of the GNU GPL, speaks
of free in this context as in "free speech", not as in "no cost".
Nokia supports the free software concept by providing the Qt Open Source
Edition, which is licensed under the \l{GNU General Public License (GPL)}
(version 3) and the \l{GNU Lesser General Public License (LGPL)} (version 2.1).
You can use this edition of Qt to create and distribute software with licenses
- that are compatible to these free software licenses.
+ that are compatible with these free software licenses.
+
+ Additionally, the \l{Qt Examples}{examples} included with Qt are provided under
+ the terms of the \l{BSD License}.
The support of open source with the Open Source Versions of Qt has enabled large
successful software projects like KDE to thrive, with thousands of developers
@@ -73,8 +76,8 @@
More information on Free and Open Source software is available online:
\list
- \o GNU GPL: \l http://www.gnu.org/.
- \o Open Source licensing: \l http://www.opensource.org/.
+ \o GNU GPL, GNU LGPL: \l http://www.gnu.org/
+ \o Open Source licensing: \l http://www.opensource.org/
\endlist
See \l{Licensing Information} for a collection of documents about licenses
@@ -85,6 +88,5 @@
the sales department at http://qt.nokia.com/contact.
If you are in doubt what edition of Qt is right for your project,
- please contact
- \l{mailto:qt-info@nokia.com}{qt-info@nokia.com}.
+ please contact \l{mailto:qt-info@nokia.com}{qt-info@nokia.com}.
*/
diff --git a/doc/src/modules.qdoc b/doc/src/modules.qdoc
index 1ab1c000c2..2c0744bc81 100644
--- a/doc/src/modules.qdoc
+++ b/doc/src/modules.qdoc
@@ -41,7 +41,7 @@
/*!
\group modules
- \title All Qt Modules
+ \title All Modules
\startpage index.html Qt Reference Documentation
\nextpage QtCore
@@ -96,8 +96,8 @@
/*!
\module QtCore
\title QtCore Module
- \contentspage All Qt Modules
- \previouspage All Qt Modules
+ \contentspage All Modules
+ \previouspage All Modules
\nextpage QtGui
\ingroup modules
@@ -115,7 +115,7 @@
/*!
\module QtGui
\title QtGui Module
- \contentspage All Qt Modules
+ \contentspage All Modules
\previouspage QtCore
\nextpage QtNetwork
\ingroup modules
@@ -132,7 +132,7 @@
\module QtMultimedia
\page qtmultimedia-module.html
\title QtMultimedia Module
- \contentspage All Qt Modules
+ \contentspage All Modules
\previouspage QtCore
\nextpage QtNetwork
\ingroup modules
@@ -156,7 +156,7 @@
/*!
\module QtNetwork
\title QtNetwork Module
- \contentspage All Qt Modules
+ \contentspage All Modules
\previouspage QtMultimedia
\nextpage QtOpenGL
\ingroup modules
@@ -178,7 +178,7 @@
/*!
\module QtOpenGL
\title QtOpenGL Module
- \contentspage All Qt Modules
+ \contentspage All Modules
\previouspage QtNetwork
\nextpage QtOpenVG
\ingroup modules
@@ -231,7 +231,7 @@
\module QtOpenVG
\title QtOpenVG Module
\since 4.6
- \contentspage All Qt Modules
+ \contentspage All Modules
\previouspage QtOpenGL
\nextpage QtScript
\ingroup modules
@@ -286,7 +286,7 @@
\module QtScript
\title QtScript Module
\since 4.3
- \contentspage All Qt Modules
+ \contentspage All Modules
\previouspage QtOpenVG
\nextpage QtScriptTools
\ingroup modules
@@ -346,7 +346,7 @@
\module QtScriptTools
\title QtScriptTools Module
\since 4.5
- \contentspage All Qt Modules
+ \contentspage All Modules
\previouspage QtScript
\nextpage QtSql
\ingroup modules
@@ -370,7 +370,7 @@
/*!
\module QtSql
\title QtSql Module
- \contentspage All Qt Modules
+ \contentspage All Modules
\previouspage QtScript
\nextpage QtSvg
\ingroup modules
@@ -393,7 +393,7 @@
\module QtSvg
\title QtSvg Module
\since 4.1
- \contentspage All Qt Modules
+ \contentspage All Modules
\previouspage QtSql
\nextpage QtWebKit
\ingroup modules
@@ -444,7 +444,7 @@
/*!
\module QtXml
\title QtXml Module
- \contentspage All Qt Modules
+ \contentspage All Modules
\previouspage QtSvg
\nextpage QtXmlPatterns
\ingroup modules
@@ -471,7 +471,7 @@
\module QtXmlPatterns
\title QtXmlPatterns Module
\since 4.4
- \contentspage All Qt Modules
+ \contentspage All Modules
\previouspage QtXml
\nextpage Phonon Module
\ingroup modules
@@ -551,7 +551,7 @@
\page phonon-module.html
\module Phonon
\title Phonon Module
- \contentspage All Qt Modules
+ \contentspage All Modules
\previouspage QtXmlPatterns
\nextpage Qt3Support
\ingroup modules
@@ -621,7 +621,7 @@
/*!
\module Qt3Support
\title Qt3Support Module
- \contentspage All Qt Modules
+ \contentspage All Modules
\previouspage Phonon Module
\nextpage QtDesigner
\ingroup modules
@@ -654,7 +654,7 @@
/*!
\module QtDesigner
\title QtDesigner Module
- \contentspage All Qt Modules
+ \contentspage All Modules
\previouspage Qt3Support
\nextpage QtUiTools
\ingroup modules
@@ -681,7 +681,7 @@
\module QtUiTools
\title QtUiTools Module
\since 4.1
- \contentspage All Qt Modules
+ \contentspage All Modules
\previouspage QtDesigner
\nextpage QtHelp
\ingroup modules
@@ -717,7 +717,7 @@
/*!
\module QtHelp
\title QtHelp Module
- \contentspage All Qt Modules
+ \contentspage All Modules
\previouspage QtUiTools
\nextpage QtTest
\ingroup modules
@@ -776,7 +776,7 @@
/*!
\module QtTest
\title QtTest Module
- \contentspage All Qt Modules
+ \contentspage All Modules
\previouspage QtHelp
\nextpage QAxContainer
\ingroup modules
@@ -806,7 +806,7 @@
/*!
\module QAxContainer
\title QAxContainer Module
- \contentspage All Qt Modules
+ \contentspage All Modules
\previouspage QtTest
\nextpage QAxServer
\ingroup modules
@@ -858,7 +858,7 @@
/*!
\module QAxServer
\title QAxServer Module
- \contentspage All Qt Modules
+ \contentspage All Modules
\previouspage QAxContainer
\nextpage QtDBus module
\ingroup modules
@@ -910,7 +910,7 @@
/*!
\module QtDBus
\title QtDBus module
- \contentspage All Qt Modules
+ \contentspage All Modules
\previouspage QAxServer
\ingroup modules
diff --git a/doc/src/network-programming/bearermanagement.qdoc b/doc/src/network-programming/bearermanagement.qdoc
index 10d697a709..b10481e53a 100644
--- a/doc/src/network-programming/bearermanagement.qdoc
+++ b/doc/src/network-programming/bearermanagement.qdoc
@@ -40,12 +40,11 @@
****************************************************************************/
/*!
-\page bearer-management.html
+ \page bearer-management.html
-\title Bearer Management
-\brief An API to control the system's connectivity state.
-
-\ingroup network
+ \title Bearer Management
+ \ingroup qt-network
+ \brief An API to control the system's connectivity state.
Bearer Management controls the connectivity state of the system so that
the user can start or stop interfaces or roam transparently between
diff --git a/doc/src/network-programming/qtnetwork.qdoc b/doc/src/network-programming/qtnetwork.qdoc
index 36f48cf45e..91348092cf 100644
--- a/doc/src/network-programming/qtnetwork.qdoc
+++ b/doc/src/network-programming/qtnetwork.qdoc
@@ -50,6 +50,7 @@
/*!
\page network-programming.html
\title Network Programming
+ \ingroup qt-network
\brief An Introduction to Network Programming with Qt
The QtNetwork module offers classes that allow you to write TCP/IP clients
diff --git a/doc/src/network-programming/ssl.qdoc b/doc/src/network-programming/ssl.qdoc
index 2feb7b654d..7f365a9f45 100644
--- a/doc/src/network-programming/ssl.qdoc
+++ b/doc/src/network-programming/ssl.qdoc
@@ -40,11 +40,11 @@
****************************************************************************/
/*!
- \group ssl
+ \page ssl.html
\title Secure Sockets Layer (SSL) Classes
- \ingroup groups
-
\brief Classes for secure communication over network sockets.
+ \ingroup qt-network
+
\keyword SSL
The classes below provide support for secure network communication using
diff --git a/doc/src/objectmodel/metaobjects.qdoc b/doc/src/objectmodel/metaobjects.qdoc
index c1b0ea66e0..f6fcc44885 100644
--- a/doc/src/objectmodel/metaobjects.qdoc
+++ b/doc/src/objectmodel/metaobjects.qdoc
@@ -41,9 +41,11 @@
/*!
\page metaobjects.html
- \title Meta-Object System
+ \title The Meta-Object System
+ \ingroup qt-basic-concepts
\brief An overview of Qt's meta-object system and introspection capabilities.
\keyword meta-object
+ \target Meta-Object System
Qt's meta-object system provides the signals and slots mechanism for
inter-object communication, run-time type information, and the dynamic
diff --git a/doc/src/objectmodel/object.qdoc b/doc/src/objectmodel/object.qdoc
index 2f06004217..8ae91ec773 100644
--- a/doc/src/objectmodel/object.qdoc
+++ b/doc/src/objectmodel/object.qdoc
@@ -41,11 +41,10 @@
/*!
\page object.html
- \title Qt Object Model
+ \title Object Model
+ \ingroup qt-basic-concepts
\brief A description of the powerful features made possible by Qt's dynamic object model.
- \ingroup frameworks-technologies
-
The standard C++ object model provides very efficient runtime
support for the object paradigm. But its static nature is
inflexibile in certain problem domains. Graphical user interface
@@ -60,11 +59,11 @@
communication called \l{signals and slots}
\o queryable and designable \l{Qt's Property System}{object
properties}
- \o powerful \l{events and event filters}
+ \o powerful \l{The Event System}{events and event filters}
\o contextual \l{i18n}{string translation for internationalization}
\o sophisticated interval driven \l timers that make it possible
to elegantly integrate many tasks in an event-driven GUI
- \o hierarchical and queryable \l{Object Trees and Object Ownership}{object
+ \o hierarchical and queryable \l{Object Trees & Ownership}{object
trees} that organize object ownership in a natural way
\o guarded pointers (QPointer) that are automatically
set to 0 when the referenced object is destroyed, unlike normal C++
@@ -114,7 +113,7 @@
\o might have a unique \l{QObject::objectName()}. If we copy a Qt
Object, what name should we give the copy?
- \o has a location in an \l{Object Trees and Object Ownership}
+ \o has a location in an \l{Object Trees & Ownership}
{object hierarchy}. If we copy a Qt Object, where should the copy
be located?
diff --git a/doc/src/objectmodel/objecttrees.qdoc b/doc/src/objectmodel/objecttrees.qdoc
index 11824aec55..97d646a7cb 100644
--- a/doc/src/objectmodel/objecttrees.qdoc
+++ b/doc/src/objectmodel/objecttrees.qdoc
@@ -41,7 +41,8 @@
/*!
\page objecttrees.html
- \title Object Trees and Object Ownership
+ \title Object Trees & Ownership
+ \ingroup qt-basic-concepts
\brief Information about the parent-child pattern used to describe
object ownership in Qt.
diff --git a/doc/src/objectmodel/properties.qdoc b/doc/src/objectmodel/properties.qdoc
index a807caf2db..7f876c3f18 100644
--- a/doc/src/objectmodel/properties.qdoc
+++ b/doc/src/objectmodel/properties.qdoc
@@ -41,8 +41,10 @@
/*!
\page properties.html
- \title Qt's Property System
+ \title The Property System
+ \ingroup qt-basic-concepts
\brief An overview of Qt's property system.
+ \target Qt's Property System
Qt provides a sophisticated property system similar to the ones
supplied by some compiler vendors. However, as a compiler- and
diff --git a/doc/src/objectmodel/signalsandslots.qdoc b/doc/src/objectmodel/signalsandslots.qdoc
index 0f3f618426..f33badf908 100644
--- a/doc/src/objectmodel/signalsandslots.qdoc
+++ b/doc/src/objectmodel/signalsandslots.qdoc
@@ -41,7 +41,8 @@
/*!
\page signalsandslots.html
- \title Signals and Slots
+ \title Signals & Slots
+ \ingroup qt-basic-concepts
\brief An overview of Qt's signals and slots inter-object
communication mechanism.
diff --git a/doc/src/overviews.qdoc b/doc/src/overviews.qdoc
index 7302e30a34..c3c59af4ab 100644
--- a/doc/src/overviews.qdoc
+++ b/doc/src/overviews.qdoc
@@ -48,26 +48,97 @@
*/
/*!
- \group frameworks-technologies
- \title Frameworks and Technologies
+ \group qt-basic-concepts
+ \title Basic Qt Architecture
- \brief Documentation about the frameworks and technologies in Qt
+ \brief The basic architecture of the Qt cross-platform application and UI framework.
- These documents dive into the frameworks of classes that Qt provides,
- and provide background information about the technical solutions used
- in Qt's architecture.
+ Qt is a cross-platform application and UI framework for writing
+ web-enabled applications for desktop, mobile, and embedded
+ operating systems. These pages explain basic architectural
+ concepts of Qt:
+
+ \generatelist {related}
+ */
+
+/*!
+ \group qt-gui-concepts
+ \title Qt Desktop UI Components
+
+ \brief The Qt components for constructing native look & feel desktop UI's.
+
+ These pages are about Qt's traditional set of GUI components for
+ building both native look ^ feel and custom UI's for the desktop
+ environment. Use \l {declarativeui.html} {Qt Quick} for building
+ UI's for mobile devices.
+
+ \generatelist {related}
+ */
+
+/*!
+ \group qt-graphics
+ \title Qt Graphics and Painting
+
+ \brief The Qt components for doing graphics.
+
+ \generatelist {related}
+ */
+
+/*!
+ \group qt-network
+ \title Network programming with Qt
+
+ \brief The these pages are about Qt's support for network programming.
+
+ \generatelist {related}
+ */
+
+/*!
+ \group technology-apis
+ \title Qt API's for other technologies
+
+ These pages document Qt's API's for some widely-used standards and
+ technologies.
\generatelist{related}
*/
/*!
+ \group qt-activex
+ \title Qt For ActiveX
+ \brief Qt API's for using ActiveX controls, servers, and COM.
+ \ingroup technology-apis
+ \ingroup platform-specific
+
+ These pages document Qt's API's for developing with ActiveX
+ controls, servers, and COM.
+
+ \generatelist{related}
+*/
+
+/*!
+ \group qt-sql
+ \title Using SQL in Qt
+ \brief Qt API's for using SQL.
+ \ingroup technology-apis
+ \ingroup best-practices
+
+ These pages document Qt's API's for using SQL database systems
+ in Qt applications.
+
+ \generatelist{related}
+*/
+
+/*!
\group best-practices
\title How-To's and Best Practices
\brief How-To Guides and Best Practices
- These documents provide guidelines and best practices explaining
- how to use Qt to solve specific technical problems.
+ These documents provide guidelines and best practices for using Qt
+ to solve specific technical problems. They are listed
+ alphabetically by the first word in the title, so scan the entire
+ list to find what you want.
\generatelist{related}
*/
diff --git a/doc/src/painting-and-printing/coordsys.qdoc b/doc/src/painting-and-printing/coordsys.qdoc
index 5807f57146..d6714b809e 100644
--- a/doc/src/painting-and-printing/coordsys.qdoc
+++ b/doc/src/painting-and-printing/coordsys.qdoc
@@ -41,14 +41,11 @@
/*!
\page coordsys.html
- \title The Coordinate System
+ \title Coordinate System
+ \ingroup qt-graphics
\brief Information about the coordinate system used by the paint
system.
- \previouspage Drawing and Filling
- \contentspage The Paint System
- \nextpage Reading and Writing Image Files
-
The coordinate system is controlled by the QPainter
class. Together with the QPaintDevice and QPaintEngine classes,
QPainter form the basis of Qt's painting system, Arthur. QPainter
diff --git a/doc/src/painting-and-printing/paintsystem.qdoc b/doc/src/painting-and-printing/paintsystem.qdoc
index 802751f3d2..c106f35923 100644
--- a/doc/src/painting-and-printing/paintsystem.qdoc
+++ b/doc/src/painting-and-printing/paintsystem.qdoc
@@ -60,7 +60,9 @@
/*!
\page paintsystem.html
- \title The Paint System
+ \title Paint System
+ \brief A system for painting on the screen or on print devices using the same API
+ \ingroup qt-graphics
\ingroup frameworks-technologies
Qt's paint system enables painting on screen and print devices
@@ -87,7 +89,7 @@
\o \l{Classes for Painting}
\o \l{Paint Devices and Backends}
\o \l{Drawing and Filling}
- \o \l{The Coordinate System}
+ \o \l{Coordinate System}
\o \l{Reading and Writing Image Files}
\o \l{Styling}
\o \l{Printing with Qt}
@@ -337,10 +339,10 @@
Normally, QPainter draws in a "natural" coordinate system, but it
is able to perform view and world transformations using the
- QTransform class. For more information, see \l {The Coordinate
- System} documentation which also describes the rendering process,
- i.e. the relation between the logical representation and the
- rendered pixels, and the benefits of anti-aliased painting.
+ QTransform class. For more information, see \l {Coordinate
+ System}, which also describes the rendering process, i.e. the
+ relation between the logical representation and the rendered
+ pixels, and the benefits of anti-aliased painting.
\table 100%
\row \o
@@ -566,5 +568,5 @@
\endtable
For more information about widget styling and appearance, see the
- documentation about \l{Implementing Styles and Style Aware Widgets}.
+ \l{Styles &amp Style Aware Widgets}.
*/
diff --git a/doc/src/painting-and-printing/printing.qdoc b/doc/src/painting-and-printing/printing.qdoc
index 3d6ade23c7..6dad097cd3 100644
--- a/doc/src/painting-and-printing/printing.qdoc
+++ b/doc/src/painting-and-printing/printing.qdoc
@@ -49,6 +49,7 @@
/*!
\page printing.html
\title Printing with Qt
+ \ingroup qt-graphics
\previouspage Styling
\contentspage The Paint System
diff --git a/doc/src/platforms/emb-openvg.qdocinc b/doc/src/platforms/emb-openvg.qdocinc
index 2f9cc21d61..877d70cc91 100644
--- a/doc/src/platforms/emb-openvg.qdocinc
+++ b/doc/src/platforms/emb-openvg.qdocinc
@@ -135,8 +135,25 @@ transformations for non-image elements in performance critical code.
\endlist
The other members of QPainter::CompositionMode are not supported
-because OpenVG 1.1 does not have an equivalent in its \c VGBlendMode
-enumeration. Any attempt to set an unsupported mode will result in
+unless the \c{VG_KHR_advanced_blending} extension is present,
+in which case the following additional modes are supported:
+
+\list
+\o QPainter::CompositionMode_Overlay
+\o QPainter::CompositionMode_ColorDodge
+\o QPainter::CompositionMode_ColorBurn
+\o QPainter::CompositionMode_HardLight
+\o QPainter::CompositionMode_SoftLight
+\o QPainter::CompositionMode_Difference
+\o QPainter::CompositionMode_Exclusion
+\o QPainter::CompositionMode_SourceOut
+\o QPainter::CompositionMode_DestinationOut
+\o QPainter::CompositionMode_SourceAtop
+\o QPainter::CompositionMode_DestinationAtop
+\o QPainter::CompositionMode_Xor
+\endlist
+
+Any attempt to set an unsupported mode will result in
the actual mode being set to QPainter::CompositionMode_SourceOver.
Client applications should avoid using unsupported modes.
@@ -208,7 +225,9 @@ The QVG_NO_RENDER_TO_MASK define will disable the use of vgRenderToMask().
The QVG_SCISSOR_CLIP define will disable clipping with vgMask() or
vgRenderToMask() and instead use the scissor rectangle list to perform
-clipping. Clipping with an arbitrary QPainterPath will not be supported.
+clipping. Clipping with an arbitrary QPainterPath will need to convert
+the path into a series of rectangles. If the number of rectangles
+exceeds VG_MAX_SCISSOR_RECTS, then the results will not be exact.
The QVG_SCISSOR_CLIP define should only be used if the OpenVG engine does
not support vgMask() or vgRenderToMask().
diff --git a/doc/src/platforms/emb-qvfb.qdoc b/doc/src/platforms/emb-qvfb.qdoc
index bcadb73c50..ceec027d09 100644
--- a/doc/src/platforms/emb-qvfb.qdoc
+++ b/doc/src/platforms/emb-qvfb.qdoc
@@ -146,17 +146,13 @@
\list
\o ClamshellPhone
- \o pda
- \o PDAPhone
- \o Qt ExtendedPDA
- \o Qt ExtendedPhone-Advanced
- \o Qt ExtendedPhone-Simple
+ \o PortableMedia
+ \o S60-nHD-Touchscreen
+ \o S60-QVGA-Candybar
\o SmartPhone
\o SmartPhone2
\o SmartPhoneWithButtons
\o TouchscreenPhone
- \o Trolltech-Keypad
- \o Trolltech-Touchscreen
\endlist
In addition, it is possible to create custom skins.
diff --git a/doc/src/platforms/platform-notes.qdoc b/doc/src/platforms/platform-notes.qdoc
index 8f5b6a558f..16e0c0ff77 100644
--- a/doc/src/platforms/platform-notes.qdoc
+++ b/doc/src/platforms/platform-notes.qdoc
@@ -517,7 +517,7 @@
Note that some modules rely on other modules. If your application uses
QtXmlPatterns, QtWebkit or QtScript it may still require \c NetworkServices
- \o as these modules rely on QtNetwork to go online.
+ as these modules rely on QtNetwork to go online.
For more information see the documentation of the individual Qt classes. If
a class does not mention Symbian capabilities, it requires none.
diff --git a/doc/src/platforms/symbian-introduction.qdoc b/doc/src/platforms/symbian-introduction.qdoc
index 591d6f18dd..316764b7c6 100644
--- a/doc/src/platforms/symbian-introduction.qdoc
+++ b/doc/src/platforms/symbian-introduction.qdoc
@@ -127,6 +127,7 @@
\row \o \c run \o Run the application on the emulator.
\row \o \c runonphone \o Run the application on a device.
\row \o \c sis \o Create signed \c .sis file for project.
+ \row \o \c unsigned_sis \o Create unsigned \c .sis file for project.
\row \o \c installer_sis \o Create signed \l{Smart Installer}{smart installer}
\c .sis file for project.
Smart installer will attempt to download
@@ -191,7 +192,11 @@
\table
\row \o -i \o Install the package right away using PC suite.
\row \o -p \o Only preprocess the template \c .pkg file.
- \row \o -c=<file> \o Read certificate information from a file.
+ \row \o -c <file> \o Read certificate information from a file.
+ \row \o -u \o Preserves unsigned package.
+ \row \o -o \o Creates only unsigned package.
+ \row \o -s \o Generates stub sis for ROM.
+ \row \o -n <name> \o Specifies the final sis name.
\endtable
Execute the \c{createpackage.pl} script without any
diff --git a/doc/src/porting/porting4-canvas.qdoc b/doc/src/porting/porting4-canvas.qdoc
index b69f53b5d6..592f430888 100644
--- a/doc/src/porting/porting4-canvas.qdoc
+++ b/doc/src/porting/porting4-canvas.qdoc
@@ -56,7 +56,7 @@
number of custom-made 2D graphical items, and a view widget for
visualizing the items, with support for zooming and rotation. Graphics
View was introduced in Qt 4.2, replacing its predecessor, QCanvas. For
- more on Graphics View, see \l{The Graphics View Framework}.
+ more on Graphics View, see \l{Graphics View Framework}.
This document walks through the steps needed, class by class and function
by function, to port a QCanvas application to Graphics View.
diff --git a/doc/src/porting/porting4.qdoc b/doc/src/porting/porting4.qdoc
index 1b6eeb7729..75fe844564 100644
--- a/doc/src/porting/porting4.qdoc
+++ b/doc/src/porting/porting4.qdoc
@@ -1000,8 +1000,8 @@
\row \o \c QCanvasView \o Q3CanvasView
\endtable
- \l{The Graphics View Framework} replaces QCanvas. For more on porting to
- Graphics View, see \l{Porting to Graphics View}.
+ The \l{Graphics View Framework} replaces QCanvas. For more on
+ porting to Graphics View, see \l{Porting to Graphics View}.
\section1 QColor
diff --git a/doc/src/scripting/scripting.qdoc b/doc/src/scripting/scripting.qdoc
index 2c229891e1..1f203a6c17 100644
--- a/doc/src/scripting/scripting.qdoc
+++ b/doc/src/scripting/scripting.qdoc
@@ -362,7 +362,7 @@
By default, the script engine does not take ownership of the
QObject that is passed to QScriptEngine::newQObject(); the object
is managed according to Qt's object ownership (see
- \l{Object Trees and Object Ownership}). This mode is appropriate
+ \l{Object Trees & Ownership}). This mode is appropriate
when, for example, you are wrapping C++ objects that are part of
your application's core; that is, they should persist regardless of
what happens in the scripting environment. Another way of stating
@@ -627,9 +627,9 @@
To completely understand how to make C++ objects available to Qt
Script, some basic knowledge of the Qt meta-object system is very
- helpful. We recommend that you read the \l{Qt Object Model}. The
- information in this document and the documents it links to are very
- useful for understanding how to implement application objects.
+ helpful. We recommend that you read about the Qt \l{Object Model}
+ and \l{The Meta-Object System}, which are useful for understanding
+ how to implement application objects.
However, this knowledge is not essential in the simplest cases.
To make an object available in QtScript, it must derive from
diff --git a/doc/src/snippets/code/src_corelib_kernel_qabstractitemmodel.cpp b/doc/src/snippets/code/src_corelib_kernel_qabstractitemmodel.cpp
index 22ea2401d8..e3ad483d6c 100644
--- a/doc/src/snippets/code/src_corelib_kernel_qabstractitemmodel.cpp
+++ b/doc/src/snippets/code/src_corelib_kernel_qabstractitemmodel.cpp
@@ -67,3 +67,23 @@ beginInsertColumns(parent, 6, 8);
//! [5]
beginRemoveColumns(parent, 4, 6);
//! [5]
+
+
+//! [6]
+beginMoveRows(sourceParent, 2, 4, destinationParent, 2);
+//! [6]
+
+
+//! [7]
+beginMoveRows(sourceParent, 2, 4, destinationParent, 6);
+//! [7]
+
+
+//! [8]
+beginMoveRows(parent, 2, 2, parent, 0);
+//! [8]
+
+
+//! [9]
+beginMoveRows(parent, 2, 2, parent, 4);
+//! [9]
diff --git a/doc/src/snippets/code/src_gui_graphicsview_qgraphicsitem.cpp b/doc/src/snippets/code/src_gui_graphicsview_qgraphicsitem.cpp
index 4f2766108a..81099a7308 100644
--- a/doc/src/snippets/code/src_gui_graphicsview_qgraphicsitem.cpp
+++ b/doc/src/snippets/code/src_gui_graphicsview_qgraphicsitem.cpp
@@ -271,3 +271,9 @@ class QGraphicsPathItem : public QAbstractGraphicsShapeItem
};
//! [18]
+//! [19]
+QTransform xform = item->deviceTransform(view->viewportTransform());
+QRect deviceRect = xform.mapRect(rect).toAlignedRect();
+view->viewport()->scroll(dx, dy, deviceRect);
+//! [19]
+
diff --git a/doc/src/snippets/declarative/Sprite.qml b/doc/src/snippets/declarative/Sprite.qml
new file mode 100644
index 0000000000..5f32b0ae80
--- /dev/null
+++ b/doc/src/snippets/declarative/Sprite.qml
@@ -0,0 +1,46 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+//![0]
+import Qt 4.7
+
+Rectangle { width: 80; height: 50; color: "red" }
+//![0]
diff --git a/doc/src/snippets/declarative/anchorchanges.qml b/doc/src/snippets/declarative/anchorchanges.qml
new file mode 100644
index 0000000000..993618bc98
--- /dev/null
+++ b/doc/src/snippets/declarative/anchorchanges.qml
@@ -0,0 +1,69 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+//![0]
+import Qt 4.7
+
+Rectangle {
+ id: window
+ width: 120; height: 120
+ color: "black"
+
+ Rectangle { id: myRect; width: 50; height: 50; color: "red" }
+
+ states: State {
+ name: "reanchored"
+
+ AnchorChanges {
+ target: myRect
+ anchors.top: window.top
+ anchors.bottom: window.bottom
+ }
+ PropertyChanges {
+ target: myRect
+ anchors.topMargin: 10
+ anchors.bottomMargin: 10
+ }
+ }
+
+ MouseArea { anchors.fill: parent; onClicked: window.state = "reanchored" }
+}
+//![0]
+
diff --git a/doc/src/snippets/declarative/animation.qml b/doc/src/snippets/declarative/animation.qml
new file mode 100644
index 0000000000..65acd36e8e
--- /dev/null
+++ b/doc/src/snippets/declarative/animation.qml
@@ -0,0 +1,181 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+import Qt 4.7
+
+Row {
+
+//![property-anim-1]
+Rectangle {
+ id: rect
+ width: 120; height: 200
+
+ Image {
+ id: img
+ source: "pics/qt.png"
+ x: 60 - img.width/2
+ y: 0
+
+ SequentialAnimation on y {
+ loops: Animation.Infinite
+ NumberAnimation { to: 200 - img.height; easing.type: Easing.OutBounce; duration: 2000 }
+ PauseAnimation { duration: 1000 }
+ NumberAnimation { to: 0; easing.type: Easing.OutQuad; duration: 1000 }
+ }
+ }
+}
+//![property-anim-1]
+
+//![property-anim-2]
+Rectangle {
+ width: 200; height: 200
+
+ Rectangle {
+ color: "red"
+ width: 50; height: 50
+ NumberAnimation on x { to: 50 }
+ }
+}
+//![property-anim-2]
+
+
+Item {
+//![property-anim-3]
+PropertyAnimation {
+ id: animation
+ target: image
+ property: "scale"
+ from: 1; to: 0.5
+}
+
+Image {
+ id: image
+ source: "pics/qt.png"
+ MouseArea {
+ anchors.fill: parent
+ onPressed: animation.start()
+ }
+}
+//![property-anim-3]
+}
+
+
+//![transitions-1]
+transitions: [
+ Transition {
+ NumberAnimation {
+ properties: "x,y"
+ easing.type: Easing.OutBounce
+ duration: 200
+ }
+ }
+]
+//![transitions-1]
+
+
+//![transitions-2]
+Transition {
+ from: "*"
+ to: "MyState"
+ reversible: true
+
+ SequentialAnimation {
+ NumberAnimation {
+ duration: 1000
+ easing.type: Easing.OutBounce
+
+ // animate myItem's x and y if they have changed in the state
+ target: myItem
+ properties: "x,y"
+ }
+
+ NumberAnimation {
+ duration: 1000
+
+ // animate myItem2's y to 200, regardless of what happens in the state
+ target: myItem2
+ property: "y"
+ to: 200
+ }
+ }
+}
+//![transitions-2]
+
+
+//![transitions-3]
+Transition {
+ from: "*"
+ to: "MyState"
+ reversible: true
+
+ SequentialAnimation {
+ ColorAnimation { duration: 1000 }
+ PauseAnimation { duration: 1000 }
+
+ ParallelAnimation {
+ NumberAnimation {
+ duration: 1000
+ easing.type: Easing.OutBounce
+ targets: box1
+ properties: "x,y"
+ }
+ NumberAnimation {
+ duration: 1000
+ targets: box2
+ properties: "x,y"
+ }
+ }
+ }
+}
+//![transitions-3]
+
+//![behavior]
+Rectangle {
+ id: redRect
+ color: "red"
+ width: 100; height: 100
+
+ Behavior on x {
+ NumberAnimation { duration: 300; easing.type: Easing.InOutQuad }
+ }
+}
+//![behavior]
+
+}
diff --git a/doc/src/snippets/declarative/border-image.qml b/doc/src/snippets/declarative/border-image.qml
deleted file mode 100644
index 9c4247ed50..0000000000
--- a/doc/src/snippets/declarative/border-image.qml
+++ /dev/null
@@ -1,29 +0,0 @@
-import Qt 4.7
-
-Rectangle {
- id: page
- color: "white"
- width: 520; height: 280
-
- Row {
- anchors.centerIn: parent
- spacing: 50
-//! [0]
-BorderImage {
- width: 180; height: 180
- border { left: 30; top: 30; right: 30; bottom: 30 }
- horizontalTileMode: BorderImage.Stretch
- verticalTileMode: BorderImage.Stretch
- source: "content/colors.png"
-}
-
-BorderImage {
- width: 180; height: 180
- border { left: 30; top: 30; right: 30; bottom: 30 }
- horizontalTileMode: BorderImage.Round
- verticalTileMode: BorderImage.Round
- source: "content/colors.png"
-}
-//! [0]
- }
-}
diff --git a/doc/src/snippets/declarative/borderimage.qml b/doc/src/snippets/declarative/borderimage.qml
new file mode 100644
index 0000000000..62b6def536
--- /dev/null
+++ b/doc/src/snippets/declarative/borderimage.qml
@@ -0,0 +1,70 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+import Qt 4.7
+
+Rectangle {
+ id: page
+ color: "white"
+ width: 520; height: 280
+
+ Row {
+ anchors.centerIn: parent
+ spacing: 50
+//! [0]
+BorderImage {
+ width: 180; height: 180
+ border { left: 30; top: 30; right: 30; bottom: 30 }
+ horizontalTileMode: BorderImage.Stretch
+ verticalTileMode: BorderImage.Stretch
+ source: "content/colors.png"
+}
+
+BorderImage {
+ width: 180; height: 180
+ border { left: 30; top: 30; right: 30; bottom: 30 }
+ horizontalTileMode: BorderImage.Round
+ verticalTileMode: BorderImage.Round
+ source: "content/colors.png"
+}
+//! [0]
+ }
+}
diff --git a/doc/src/snippets/declarative/codingconventions/dotproperties.qml b/doc/src/snippets/declarative/codingconventions/dotproperties.qml
index 942b0b1bcc..69743bad24 100644
--- a/doc/src/snippets/declarative/codingconventions/dotproperties.qml
+++ b/doc/src/snippets/declarative/codingconventions/dotproperties.qml
@@ -1,3 +1,44 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
import Qt 4.7
Item {
diff --git a/doc/src/snippets/declarative/codingconventions/javascript-imports.qml b/doc/src/snippets/declarative/codingconventions/javascript-imports.qml
index 417366c694..86d8b69bc2 100644
--- a/doc/src/snippets/declarative/codingconventions/javascript-imports.qml
+++ b/doc/src/snippets/declarative/codingconventions/javascript-imports.qml
@@ -1,3 +1,44 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
import Qt 4.7
//![0]
diff --git a/doc/src/snippets/declarative/codingconventions/javascript.qml b/doc/src/snippets/declarative/codingconventions/javascript.qml
index 64b5a4001f..39885dbb9c 100644
--- a/doc/src/snippets/declarative/codingconventions/javascript.qml
+++ b/doc/src/snippets/declarative/codingconventions/javascript.qml
@@ -1,3 +1,44 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
import Qt 4.7
Rectangle {
diff --git a/doc/src/snippets/declarative/codingconventions/lists.qml b/doc/src/snippets/declarative/codingconventions/lists.qml
index 63e81002b1..55a50c63ea 100644
--- a/doc/src/snippets/declarative/codingconventions/lists.qml
+++ b/doc/src/snippets/declarative/codingconventions/lists.qml
@@ -1,3 +1,44 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
import Qt 4.7
Item {
diff --git a/doc/src/snippets/declarative/codingconventions/photo.qml b/doc/src/snippets/declarative/codingconventions/photo.qml
index c28c2c985a..5421a8b188 100644
--- a/doc/src/snippets/declarative/codingconventions/photo.qml
+++ b/doc/src/snippets/declarative/codingconventions/photo.qml
@@ -1,3 +1,44 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
import Qt 4.7
//! [0]
diff --git a/doc/src/snippets/declarative/comments.qml b/doc/src/snippets/declarative/comments.qml
index ab1bbc9b18..9873cbec90 100644
--- a/doc/src/snippets/declarative/comments.qml
+++ b/doc/src/snippets/declarative/comments.qml
@@ -1,3 +1,44 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
import Qt 4.7
Text {
diff --git a/doc/src/snippets/declarative/componentCreation.js b/doc/src/snippets/declarative/componentCreation.js
new file mode 100644
index 0000000000..25bc10cc89
--- /dev/null
+++ b/doc/src/snippets/declarative/componentCreation.js
@@ -0,0 +1,47 @@
+//![0]
+var component;
+var sprite;
+
+function finishCreation() {
+ if (component.status == Component.Ready) {
+ sprite = component.createObject(appWindow);
+ if (sprite == null) {
+ // Error Handling
+ } else {
+ sprite.x = 100;
+ sprite.y = 100;
+ // ...
+ }
+ } else if (component.status == Component.Error) {
+ // Error Handling
+ console.log("Error loading component:", component.errorString());
+ }
+}
+//![0]
+
+function createSpriteObjects() {
+
+//![1]
+component = Qt.createComponent("Sprite.qml");
+if (component.status == Component.Ready)
+ finishCreation();
+else
+ component.statusChanged.connect(finishCreation);
+//![1]
+
+//![2]
+component = Qt.createComponent("Sprite.qml");
+sprite = component.createObject(appWindow);
+
+if (sprite == null) {
+ // Error Handling
+ console.log("Error loading component:", component.errorString());
+} else {
+ sprite.x = 100;
+ sprite.y = 100;
+ // ...
+}
+//![2]
+
+}
+
diff --git a/doc/src/snippets/declarative/createComponent.qml b/doc/src/snippets/declarative/createComponent.qml
new file mode 100644
index 0000000000..3686188c45
--- /dev/null
+++ b/doc/src/snippets/declarative/createComponent.qml
@@ -0,0 +1,52 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+//![0]
+import Qt 4.7
+import "componentCreation.js" as MyModule
+
+Rectangle {
+ id: appWindow
+ width: 300; height: 300
+
+ Component.onCompleted: MyModule.createSpriteObjects();
+}
+//![0]
diff --git a/doc/src/snippets/declarative/createQmlObject.qml b/doc/src/snippets/declarative/createQmlObject.qml
new file mode 100644
index 0000000000..f274e40f34
--- /dev/null
+++ b/doc/src/snippets/declarative/createQmlObject.qml
@@ -0,0 +1,59 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+import Qt 4.7
+
+Rectangle {
+ id: parentItem
+ property QtObject newObject
+
+ width: 100
+ height: 100
+
+ function createIt() {
+//![0]
+newObject = Qt.createQmlObject('import Qt 4.7; Rectangle {color: "red"; width: 20; height: 20}',
+ parentItem, "dynamicSnippet1");
+//![0]
+ }
+
+ Component.onCompleted: createIt()
+}
diff --git a/doc/src/snippets/declarative/drag.qml b/doc/src/snippets/declarative/drag.qml
deleted file mode 100644
index 9465efb531..0000000000
--- a/doc/src/snippets/declarative/drag.qml
+++ /dev/null
@@ -1,18 +0,0 @@
-import Qt 4.7
-
-//! [0]
-Rectangle {
- id: blurtest; width: 600; height: 200; color: "white"
- Image {
- id: pic; source: "qtlogo-64.png"; anchors.verticalCenter: parent.verticalCenter
- opacity: (600.0-pic.x) / 600;
- MouseArea {
- anchors.fill: parent
- drag.target: pic
- drag.axis: "XAxis"
- drag.minimumX: 0
- drag.maximumX: blurtest.width-pic.width
- }
- }
-}
-//! [0]
diff --git a/doc/src/snippets/declarative/dynamicObjects.qml b/doc/src/snippets/declarative/dynamicObjects.qml
new file mode 100644
index 0000000000..1d1de6c55a
--- /dev/null
+++ b/doc/src/snippets/declarative/dynamicObjects.qml
@@ -0,0 +1,70 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+import Qt 4.7
+
+//![0]
+Rectangle {
+ id: rootItem
+ width: 300
+ height: 300
+
+ Component {
+ id: rectComponent
+
+ Rectangle {
+ id: rect
+ width: 40; height: 40;
+ color: "red"
+
+ NumberAnimation on opacity { from: 1; to: 0; duration: 1000 }
+
+ Component.onCompleted: rect.destroy(1000);
+ }
+ }
+
+ function createRectangle() {
+ var object = rectComponent.createObject(rootItem);
+ }
+
+ Component.onCompleted: createRectangle()
+}
+//![0]
diff --git a/doc/src/snippets/declarative/flickableScrollbar.qml b/doc/src/snippets/declarative/flickableScrollbar.qml
new file mode 100644
index 0000000000..7f92c524d8
--- /dev/null
+++ b/doc/src/snippets/declarative/flickableScrollbar.qml
@@ -0,0 +1,67 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+import Qt 4.7
+
+//![0]
+Rectangle {
+ width: 200; height: 200
+
+ Flickable {
+ id: flickable
+//![0]
+ anchors.fill: parent
+ contentWidth: image.width; contentHeight: image.height
+
+ Image { id: image; source: "pics/qt.png" }
+//![1]
+ }
+
+ Rectangle {
+ id: scrollbar
+ anchors.right: flickable.right
+ y: flickable.visibleArea.yPosition * flickable.height
+ width: 10
+ height: flickable.visibleArea.heightRatio * flickable.height
+ color: "black"
+ }
+}
+//![1]
diff --git a/doc/src/snippets/declarative/flipable.qml b/doc/src/snippets/declarative/flipable.qml
index ae743450f1..f4e6b6f6ac 100644
--- a/doc/src/snippets/declarative/flipable.qml
+++ b/doc/src/snippets/declarative/flipable.qml
@@ -1,3 +1,44 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
//! [0]
import Qt 4.7
diff --git a/doc/src/snippets/declarative/focusscopes.qml b/doc/src/snippets/declarative/focusscopes.qml
new file mode 100644
index 0000000000..557d72f986
--- /dev/null
+++ b/doc/src/snippets/declarative/focusscopes.qml
@@ -0,0 +1,68 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+import Qt 4.7
+
+//![0]
+Rectangle {
+ color: "lightsteelblue"; width: 240; height: 320
+
+ ListView {
+ anchors.fill: parent
+ focus: true
+
+ model: ListModel {
+ ListElement { name: "Bob" }
+ ListElement { name: "John" }
+ ListElement { name: "Michael" }
+ }
+
+ delegate: FocusScope {
+ width: childrenRect.width; height: childrenRect.height
+ TextInput {
+ focus: true
+ text: name
+ Keys.onReturnPressed: console.log(name)
+ }
+ }
+ }
+ }
+//![0]
diff --git a/doc/src/snippets/declarative/folderlistmodel.qml b/doc/src/snippets/declarative/folderlistmodel.qml
new file mode 100644
index 0000000000..9809e44ccc
--- /dev/null
+++ b/doc/src/snippets/declarative/folderlistmodel.qml
@@ -0,0 +1,58 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+//![0]
+import Qt 4.7
+import Qt.labs.folderlistmodel 1.0
+
+ListView {
+ FolderListModel {
+ id: foldermodel
+ nameFilters: ["*.qml"]
+ }
+ Component {
+ id: filedelegate
+ Text { text: fileName }
+ }
+ model: foldermodel
+ delegate: filedelegate
+}
+//![0]
diff --git a/doc/src/snippets/declarative/gradient.qml b/doc/src/snippets/declarative/gradient.qml
index 168398d34f..7a68233e3b 100644
--- a/doc/src/snippets/declarative/gradient.qml
+++ b/doc/src/snippets/declarative/gradient.qml
@@ -1,5 +1,47 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
import Qt 4.7
+//![code]
Rectangle {
width: 100; height: 100
gradient: Gradient {
@@ -8,3 +50,4 @@ Rectangle {
GradientStop { position: 1.0; color: "green" }
}
}
+//![code]
diff --git a/doc/src/snippets/declarative/gridview/ContactModel.qml b/doc/src/snippets/declarative/gridview/ContactModel.qml
new file mode 100644
index 0000000000..2da4660bb2
--- /dev/null
+++ b/doc/src/snippets/declarative/gridview/ContactModel.qml
@@ -0,0 +1,64 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+//![0]
+import Qt 4.7
+
+ListModel {
+
+ ListElement {
+ name: "Jim Williams"
+ portrait: "pics/portrait.png"
+ }
+ ListElement {
+ name: "John Brown"
+ portrait: "pics/portrait.png"
+ }
+ ListElement {
+ name: "Bill Smyth"
+ portrait: "pics/portrait.png"
+ }
+ ListElement {
+ name: "Sam Wise"
+ portrait: "pics/portrait.png"
+ }
+}
+//![0]
diff --git a/doc/src/snippets/declarative/gridview/dummydata/ContactModel.qml b/doc/src/snippets/declarative/gridview/dummydata/ContactModel.qml
deleted file mode 100644
index 90f139db23..0000000000
--- a/doc/src/snippets/declarative/gridview/dummydata/ContactModel.qml
+++ /dev/null
@@ -1,25 +0,0 @@
-import Qt 4.7
-
-ListModel {
- id: contactModel
- ListElement {
- name: "Bill Smith"
- number: "555 3264"
- portrait: "pics/portrait.png"
- }
- ListElement {
- name: "Jim Williams"
- number: "555 5673"
- portrait: "pics/portrait.png"
- }
- ListElement {
- name: "John Brown"
- number: "555 8426"
- portrait: "pics/portrait.png"
- }
- ListElement {
- name: "Sam Wise"
- number: "555 0473"
- portrait: "pics/portrait.png"
- }
-}
diff --git a/doc/src/snippets/declarative/gridview/gridview.qml b/doc/src/snippets/declarative/gridview/gridview.qml
index 1d3df9796f..0b3bbf33a9 100644
--- a/doc/src/snippets/declarative/gridview/gridview.qml
+++ b/doc/src/snippets/declarative/gridview/gridview.qml
@@ -1,47 +1,136 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+//![import]
import Qt 4.7
+//![import]
+
+Rectangle {
+ width: childrenRect.width; height: childrenRect.height
+
+Row {
+
+//![classdocs simple]
+GridView {
+ width: 300; height: 200
+
+ model: ContactModel {}
+ delegate: Column {
+ Image { source: portrait; anchors.horizontalCenter: parent.horizontalCenter }
+ Text { text: name; anchors.horizontalCenter: parent.horizontalCenter }
+ }
+}
+//![classdocs simple]
-//! [3]
+
+//![classdocs advanced]
Rectangle {
- width: 240; height: 180; color: "white"
- // ContactModel model is defined in dummydata/ContactModel.qml
- // The viewer automatically loads files in dummydata/* to assist
- // development without a real data source.
-
- // Define a delegate component. A component will be
- // instantiated for each visible item in the list.
-//! [0]
+ width: 300; height: 200
+
Component {
- id: delegate
+ id: contactDelegate
Item {
- id: wrapper
- width: 80; height: 78
+ width: grid.cellWidth; height: grid.cellHeight
Column {
+ anchors.fill: parent
Image { source: portrait; anchors.horizontalCenter: parent.horizontalCenter }
Text { text: name; anchors.horizontalCenter: parent.horizontalCenter }
}
}
}
-//! [0]
- // Define a highlight component. Just one of these will be instantiated
- // by each ListView and placed behind the current item.
-//! [1]
- Component {
- id: highlight
- Rectangle {
- color: "lightsteelblue"
- radius: 5
- }
- }
-//! [1]
- // The actual grid
-//! [2]
+
GridView {
- width: parent.width; height: parent.height
- model: ContactModel; delegate: delegate
+ id: grid
+ anchors.fill: parent
cellWidth: 80; cellHeight: 80
- highlight: highlight
+
+ model: ContactModel {}
+ delegate: contactDelegate
+ highlight: Rectangle { color: "lightsteelblue"; radius: 5 }
focus: true
}
-//! [2]
}
-//! [3]
+//![classdocs advanced]
+
+//![delayRemove]
+Component {
+ id: delegate
+ Item {
+ GridView.onRemove: SequentialAnimation {
+ PropertyAction { target: wrapper; property: "GridView.delayRemove"; value: true }
+ NumberAnimation { target: wrapper; property: "scale"; to: 0; duration: 250; easing.type: Easing.InOutQuad }
+ PropertyAction { target: wrapper; property: "GridView.delayRemove"; value: false }
+ }
+ }
+}
+//![delayRemove]
+
+//![highlightFollowsCurrentItem]
+Component {
+ id: highlight
+ Rectangle {
+ width: view.cellWidth; height: view.cellHeight
+ color: "lightsteelblue"; radius: 5
+ SpringFollow on x { to: view.currentItem.x; spring: 3; damping: 0.2 }
+ SpringFollow on y { to: view.currentItem.y; spring: 3; damping: 0.2 }
+ }
+}
+
+GridView {
+ id: view
+ width: 300; height: 200
+ cellWidth: 80; cellHeight: 80
+
+ model: ContactModel {}
+ delegate: Column {
+ Image { source: portrait; anchors.horizontalCenter: parent.horizontalCenter }
+ Text { text: name; anchors.horizontalCenter: parent.horizontalCenter }
+ }
+
+ highlight: highlight
+ highlightFollowsCurrentItem: false
+ focus: true
+}
+//![highlightFollowsCurrentItem]
+
+}
+
+}
diff --git a/doc/src/snippets/declarative/listmodel-modify.qml b/doc/src/snippets/declarative/listmodel-modify.qml
new file mode 100644
index 0000000000..03fb31415f
--- /dev/null
+++ b/doc/src/snippets/declarative/listmodel-modify.qml
@@ -0,0 +1,97 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+import Qt 4.7
+
+Rectangle {
+ width: 200; height: 200
+
+ListModel {
+ id: fruitModel
+
+ ListElement {
+ name: "Apple"
+ cost: 2.45
+ attributes: [
+ ListElement { description: "Core" },
+ ListElement { description: "Deciduous" }
+ ]
+ }
+ ListElement {
+ name: "Orange"
+ cost: 3.25
+ attributes: [
+ ListElement { description: "Citrus" }
+ ]
+ }
+ ListElement {
+ name: "Banana"
+ cost: 1.95
+ attributes: [
+ ListElement { description: "Tropical" },
+ ListElement { description: "Seedless" }
+ ]
+ }
+}
+
+//![delegate]
+ Component {
+ id: fruitDelegate
+ Item {
+ width: 200; height: 50
+ Text { text: name }
+ Text { text: '$' + cost; anchors.right: parent.right }
+
+ // Double the price when clicked.
+ MouseArea {
+ anchors.fill: parent
+ onClicked: fruitModel.setProperty(index, "cost", cost * 2)
+ }
+ }
+ }
+//![delegate]
+
+ListView {
+ width: 200; height: 200
+ model: fruitModel
+ delegate: fruitDelegate
+}
+
+}
diff --git a/doc/src/snippets/declarative/listmodel-nested.qml b/doc/src/snippets/declarative/listmodel-nested.qml
new file mode 100644
index 0000000000..4ae43ff370
--- /dev/null
+++ b/doc/src/snippets/declarative/listmodel-nested.qml
@@ -0,0 +1,103 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+import Qt 4.7
+
+Rectangle {
+ width: 200; height: 200
+
+
+//![model]
+ListModel {
+ id: fruitModel
+
+ ListElement {
+ name: "Apple"
+ cost: 2.45
+ attributes: [
+ ListElement { description: "Core" },
+ ListElement { description: "Deciduous" }
+ ]
+ }
+ ListElement {
+ name: "Orange"
+ cost: 3.25
+ attributes: [
+ ListElement { description: "Citrus" }
+ ]
+ }
+ ListElement {
+ name: "Banana"
+ cost: 1.95
+ attributes: [
+ ListElement { description: "Tropical" },
+ ListElement { description: "Seedless" }
+ ]
+ }
+}
+//![model]
+
+//![delegate]
+Component {
+ id: fruitDelegate
+ Item {
+ width: 200; height: 50
+ Text { id: nameField; text: name }
+ Text { text: '$' + cost; anchors.left: nameField.right }
+ Row {
+ anchors.top: nameField.bottom
+ spacing: 5
+ Text { text: "Attributes:" }
+ Repeater {
+ model: attributes
+ Text { text: description }
+ }
+ }
+ }
+}
+//![delegate]
+
+ListView {
+ width: 200; height: 200
+ model: fruitModel
+ delegate: fruitDelegate
+}
+
+}
diff --git a/doc/src/snippets/declarative/listmodel-simple.qml b/doc/src/snippets/declarative/listmodel-simple.qml
new file mode 100644
index 0000000000..00b8cb00d3
--- /dev/null
+++ b/doc/src/snippets/declarative/listmodel-simple.qml
@@ -0,0 +1,80 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+//![0]
+import Qt 4.7
+
+Rectangle {
+ width: 200; height: 200
+
+ ListModel {
+ id: fruitModel
+//![0]
+ ListElement {
+ name: "Apple"
+ cost: 2.45
+ }
+ ListElement {
+ name: "Orange"
+ cost: 3.25
+ }
+ ListElement {
+ name: "Banana"
+ cost: 1.95
+ }
+//![1]
+ }
+
+ Component {
+ id: fruitDelegate
+ Row {
+ spacing: 10
+ Text { text: name }
+ Text { text: '$' + cost }
+ }
+ }
+
+ ListView {
+ anchors.fill: parent
+ model: fruitModel
+ delegate: fruitDelegate
+ }
+}
+//![1]
diff --git a/doc/src/snippets/declarative/listmodel.qml b/doc/src/snippets/declarative/listmodel.qml
new file mode 100644
index 0000000000..91b82306ef
--- /dev/null
+++ b/doc/src/snippets/declarative/listmodel.qml
@@ -0,0 +1,60 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+//![0]
+import Qt 4.7
+
+ListModel {
+ id: fruitModel
+
+ ListElement {
+ name: "Apple"
+ cost: 2.45
+ }
+ ListElement {
+ name: "Orange"
+ cost: 3.25
+ }
+ ListElement {
+ name: "Banana"
+ cost: 1.95
+ }
+}
+//![0]
diff --git a/doc/src/snippets/declarative/listview/ContactModel.qml b/doc/src/snippets/declarative/listview/ContactModel.qml
new file mode 100644
index 0000000000..f9eb4cbc59
--- /dev/null
+++ b/doc/src/snippets/declarative/listview/ContactModel.qml
@@ -0,0 +1,59 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+//![0]
+import Qt 4.7
+
+ListModel {
+ ListElement {
+ name: "Bill Smith"
+ number: "555 3264"
+ }
+ ListElement {
+ name: "John Brown"
+ number: "555 8426"
+ }
+ ListElement {
+ name: "Sam Wise"
+ number: "555 0473"
+ }
+}
+//![0]
diff --git a/doc/src/snippets/declarative/listview/dummydata/ContactModel.qml b/doc/src/snippets/declarative/listview/dummydata/ContactModel.qml
deleted file mode 100644
index 20687cf61d..0000000000
--- a/doc/src/snippets/declarative/listview/dummydata/ContactModel.qml
+++ /dev/null
@@ -1,17 +0,0 @@
-import Qt 4.7
-
-ListModel {
- id: contactModel
- ListElement {
- name: "Bill Smith"
- number: "555 3264"
- }
- ListElement {
- name: "John Brown"
- number: "555 8426"
- }
- ListElement {
- name: "Sam Wise"
- number: "555 0473"
- }
-}
diff --git a/doc/src/snippets/declarative/listview/highlight.qml b/doc/src/snippets/declarative/listview/highlight.qml
deleted file mode 100644
index 794b3f26d4..0000000000
--- a/doc/src/snippets/declarative/listview/highlight.qml
+++ /dev/null
@@ -1,63 +0,0 @@
-import Qt 4.7
-
-Rectangle {
- width: 180; height: 200; color: "white"
-
- // ContactModel model is defined in dummydata/ContactModel.qml
- // The viewer automatically loads files in dummydata/* to assist
- // development without a real data source.
-
- // Define a delegate component. A component will be
- // instantiated for each visible item in the list.
-//! [0]
- Component {
- id: delegate
- Item {
- id: wrapper
- width: 180; height: 40
- Column {
- x: 5; y: 5
- Text { text: '<b>Name:</b> ' + name }
- Text { text: '<b>Number:</b> ' + number }
- }
- // Use the ListView.isCurrentItem attached property to
- // indent the item if it is the current item.
- states: [
- State {
- name: "Current"
- when: wrapper.ListView.isCurrentItem
- PropertyChanges { target: wrapper; x: 10 }
- }
- ]
- transitions: [
- Transition { NumberAnimation { properties: "x"; duration: 200 } }
- ]
- }
- }
-//! [0]
- // Specify a highlight with custom movement. Note that autoHighlight
- // is set to false in the ListView so that we can control how the
- // highlight moves to the current item.
-//! [1]
- Component {
- id: highlight
- Rectangle {
- width: 180; height: 40
- color: "lightsteelblue"; radius: 5
- SpringFollow on y {
- to: list.currentItem.y
- spring: 3
- damping: 0.2
- }
- }
- }
- ListView {
- id: list
- width: parent.height; height: parent.height
- model: ContactModel; delegate: delegate
- highlight: highlight
- highlightFollowsCurrentItem: false
- focus: true
- }
-//! [1]
-}
diff --git a/doc/src/snippets/declarative/listview/listview.qml b/doc/src/snippets/declarative/listview/listview.qml
index 61bf126ea0..e44eb0b1e1 100644
--- a/doc/src/snippets/declarative/listview/listview.qml
+++ b/doc/src/snippets/declarative/listview/listview.qml
@@ -1,49 +1,142 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+//![import]
import Qt 4.7
+//![import]
-//! [3]
-Rectangle {
- width: 180; height: 200; color: "white"
+Item {
+
+//![classdocs simple]
+ListView {
+ width: 180; height: 200
+
+ model: ContactModel {}
+ delegate: Text {
+ text: name + ": " + number
+ }
+}
+//![classdocs simple]
- // ContactModel model is defined in dummydata/ContactModel.qml
- // The viewer automatically loads files in dummydata/* to assist
- // development without a real data source.
+//![classdocs advanced]
+Rectangle {
+ width: 180; height: 200
- // Define a delegate component. A component will be
- // instantiated for each visible item in the list.
-//! [0]
Component {
- id: delegate
+ id: contactDelegate
Item {
- id: wrapper
width: 180; height: 40
Column {
- x: 5; y: 5
Text { text: '<b>Name:</b> ' + name }
Text { text: '<b>Number:</b> ' + number }
}
}
}
-//! [0]
- // Define a highlight component. Just one of these will be instantiated
- // by each ListView and placed behind the current item.
-//! [1]
- Component {
- id: highlight
- Rectangle {
- color: "lightsteelblue"
- radius: 5
- }
- }
-//! [1]
- // The actual list
-//! [2]
+
ListView {
- width: parent.width; height: parent.height
- model: ContactModel
- delegate: delegate
- highlight: highlight
+ anchors.fill: parent
+ model: ContactModel {}
+ delegate: contactDelegate
+ highlight: Rectangle { color: "lightsteelblue"; radius: 5 }
focus: true
}
-//! [2]
}
-//! [3]
+//![classdocs advanced]
+
+//![delayRemove]
+Component {
+ id: delegate
+ Item {
+ ListView.onRemove: SequentialAnimation {
+ PropertyAction { target: wrapper; property: "ListView.delayRemove"; value: true }
+ NumberAnimation { target: wrapper; property: "scale"; to: 0; duration: 250; easing.type: Easing.InOutQuad }
+ PropertyAction { target: wrapper; property: "ListView.delayRemove"; value: false }
+ }
+ }
+}
+//![delayRemove]
+
+//![highlightFollowsCurrentItem]
+Component {
+ id: highlight
+ Rectangle {
+ width: 180; height: 40
+ color: "lightsteelblue"; radius: 5
+ SpringFollow on y {
+ to: list.currentItem.y
+ spring: 3
+ damping: 0.2
+ }
+ }
+}
+
+ListView {
+ id: list
+ width: 180; height: 200
+ model: ContactModel {}
+ delegate: Text { text: name }
+
+ highlight: highlight
+ highlightFollowsCurrentItem: false
+ focus: true
+}
+//![highlightFollowsCurrentItem]
+
+//![isCurrentItem]
+ListView {
+ width: 180; height: 200
+
+ Component {
+ id: contactsDelegate
+ Text {
+ id: contactInfo
+ text: name + ": " + number
+ color: contactInfo.ListView.isCurrentItem ? "red" : "black"
+ }
+ }
+
+ model: ContactModel {}
+ delegate: contactsDelegate
+ focus: true
+}
+//![isCurrentItem]
+
+}
diff --git a/doc/src/snippets/declarative/mousearea.qml b/doc/src/snippets/declarative/mousearea.qml
new file mode 100644
index 0000000000..c6071c7729
--- /dev/null
+++ b/doc/src/snippets/declarative/mousearea.qml
@@ -0,0 +1,119 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+//! [import]
+import Qt 4.7
+//! [import]
+
+Rectangle {
+ width: childrenRect.width
+ height: childrenRect.height
+
+Row {
+
+//! [intro]
+Rectangle {
+ width: 100; height: 100
+ color: "green"
+
+ MouseArea {
+ anchors.fill: parent
+ onClicked: { parent.color = 'red' }
+ }
+}
+//! [intro]
+
+//! [intro-extended]
+Rectangle {
+ width: 100; height: 100
+ color: "green"
+
+ MouseArea {
+ anchors.fill: parent
+ acceptedButtons: Qt.LeftButton | Qt.RightButton
+ onClicked: {
+ if (mouse.button == Qt.RightButton)
+ parent.color = 'blue';
+ else
+ parent.color = 'red';
+ }
+ }
+}
+//! [intro-extended]
+
+//! [drag]
+Rectangle {
+ id: container
+ width: 600; height: 200
+
+ Image {
+ id: pic
+ source: "pics/qt.png"
+ opacity: (600.0 - pic.x) / 600
+
+ MouseArea {
+ anchors.fill: parent
+ drag.target: pic
+ drag.axis: Drag.XAxis
+ drag.minimumX: 0
+ drag.maximumX: container.width - pic.width
+ }
+ }
+}
+//! [drag]
+
+//! [mousebuttons]
+Text {
+ text: mouseArea.pressedButtons & Qt.RightButton ? "right" : ""
+ horizontalAlignment: Text.AlignHCenter
+ verticalAlignment: Text.AlignVCenter
+
+ MouseArea {
+ id: mouseArea
+ anchors.fill: parent
+ acceptedButtons: Qt.LeftButton | Qt.RightButton
+ }
+}
+//! [mousebuttons]
+
+}
+
+}
diff --git a/doc/src/snippets/declarative/mouseregion.qml b/doc/src/snippets/declarative/mouseregion.qml
deleted file mode 100644
index a4640698c8..0000000000
--- a/doc/src/snippets/declarative/mouseregion.qml
+++ /dev/null
@@ -1,26 +0,0 @@
-import Qt 4.7
-
-Rectangle { width: 200; height: 100
-Row {
-//! [0]
-Rectangle { width: 100; height: 100; color: "green"
- MouseArea { anchors.fill: parent; onClicked: { parent.color = 'red' } }
-}
-//! [0]
-//! [1]
-Rectangle {
- width: 100; height: 100; color: "green"
- MouseArea {
- anchors.fill: parent
- acceptedButtons: Qt.LeftButton | Qt.RightButton
- onClicked: {
- if (mouse.button == Qt.RightButton)
- parent.color = 'blue';
- else
- parent.color = 'red';
- }
- }
-}
-//! [1]
-}
-}
diff --git a/doc/src/snippets/declarative/parentchange.qml b/doc/src/snippets/declarative/parentchange.qml
new file mode 100644
index 0000000000..7f5718a43f
--- /dev/null
+++ b/doc/src/snippets/declarative/parentchange.qml
@@ -0,0 +1,69 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+//![0]
+import Qt 4.7
+
+Rectangle {
+ width: 200
+ height: 100
+
+ Rectangle {
+ id: redRect
+ width: 100; height: 100
+ color: "red"
+ }
+
+ Rectangle {
+ id: blueRect
+ x: redRect.width
+ width: 50; height: 50
+ color: "blue"
+
+ states: State {
+ name: "reparented"
+ ParentChange { target: blueRect; parent: redRect; x: 10; y: 10 }
+ }
+
+ MouseArea { anchors.fill: parent; onClicked: blueRect.state = "reparented" }
+ }
+}
+//![0]
+
diff --git a/doc/src/snippets/declarative/pathview/ContactModel.qml b/doc/src/snippets/declarative/pathview/ContactModel.qml
new file mode 100644
index 0000000000..1a042a378f
--- /dev/null
+++ b/doc/src/snippets/declarative/pathview/ContactModel.qml
@@ -0,0 +1,59 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+//![0]
+import Qt 4.7
+
+ListModel {
+ ListElement {
+ name: "Bill Jones"
+ icon: "pics/qtlogo.png"
+ }
+ ListElement {
+ name: "Jane Doe"
+ icon: "pics/qtlogo.png"
+ }
+ ListElement {
+ name: "John Smith"
+ icon: "pics/qtlogo.png"
+ }
+}
+//![0]
diff --git a/doc/src/snippets/declarative/pathview/dummydata/MenuModel.qml b/doc/src/snippets/declarative/pathview/dummydata/MenuModel.qml
deleted file mode 100644
index 400407659c..0000000000
--- a/doc/src/snippets/declarative/pathview/dummydata/MenuModel.qml
+++ /dev/null
@@ -1,17 +0,0 @@
-import Qt 4.7
-
-ListModel {
- id: menuModel
- ListElement {
- name: "Bill Jones"
- icon: "pics/qtlogo-64.png"
- }
- ListElement {
- name: "Jane Doe"
- icon: "pics/qtlogo-64.png"
- }
- ListElement {
- name: "John Smith"
- icon: "pics/qtlogo-64.png"
- }
-}
diff --git a/doc/src/snippets/declarative/pathview/pathattributes.qml b/doc/src/snippets/declarative/pathview/pathattributes.qml
index ba860c2e43..3ba3b952a0 100644
--- a/doc/src/snippets/declarative/pathview/pathattributes.qml
+++ b/doc/src/snippets/declarative/pathview/pathattributes.qml
@@ -1,13 +1,54 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+//! [0]
import Qt 4.7
Rectangle {
- width: 240; height: 200; color: 'white'
-//! [0]
+ width: 240; height: 200
+
//! [1]
Component {
id: delegate
Item {
- id: wrapper
width: 80; height: 80
scale: PathView.scale
opacity: PathView.opacity
@@ -18,9 +59,12 @@ Rectangle {
}
}
//! [1]
+
//! [2]
PathView {
- anchors.fill: parent; model: MenuModel; delegate: delegate
+ anchors.fill: parent
+ model: ContactModel {}
+ delegate: delegate
path: Path {
startX: 120; startY: 100
PathAttribute { name: "scale"; value: 1.0 }
@@ -32,5 +76,5 @@ Rectangle {
}
}
//! [2]
-//! [0]
}
+//! [0]
diff --git a/doc/src/snippets/declarative/pathview/pathview.qml b/doc/src/snippets/declarative/pathview/pathview.qml
index 3686398e11..1669847359 100644
--- a/doc/src/snippets/declarative/pathview/pathview.qml
+++ b/doc/src/snippets/declarative/pathview/pathview.qml
@@ -1,24 +1,65 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+//! [0]
import Qt 4.7
Rectangle {
- width: 240; height: 200; color: 'white'
-//! [0]
+ width: 240; height: 200
+
//! [1]
Component {
id: delegate
- Item {
- id: wrapper
- width: 80; height: 80
- Column {
- Image { anchors.horizontalCenter: name.horizontalCenter; width: 64; height: 64; source: icon }
- Text { text: name; font.pointSize: 16}
- }
+ Column {
+ Image { anchors.horizontalCenter: name.horizontalCenter; width: 64; height: 64; source: icon }
+ Text { text: name; font.pointSize: 16 }
}
}
//! [1]
+
//! [2]
PathView {
- anchors.fill: parent; model: MenuModel; delegate: delegate
+ anchors.fill: parent
+ model: ContactModel {}
+ delegate: delegate
path: Path {
startX: 120; startY: 100
PathQuad { x: 120; y: 25; controlX: 260; controlY: 75 }
@@ -26,5 +67,5 @@ Rectangle {
}
}
//! [2]
-//! [0]
}
+//! [0]
diff --git a/doc/src/snippets/declarative/pathview/pics/qtlogo-64.png b/doc/src/snippets/declarative/pathview/pics/qtlogo.png
index 4f68e162de..4f68e162de 100644
--- a/doc/src/snippets/declarative/pathview/pics/qtlogo-64.png
+++ b/doc/src/snippets/declarative/pathview/pics/qtlogo.png
Binary files differ
diff --git a/doc/src/declarative/snippets/qtbinding/contextproperties/contextproperties.pro b/doc/src/snippets/declarative/qtbinding/contextproperties/contextproperties.pro
index 68eeaf211b..68eeaf211b 100644
--- a/doc/src/declarative/snippets/qtbinding/contextproperties/contextproperties.pro
+++ b/doc/src/snippets/declarative/qtbinding/contextproperties/contextproperties.pro
diff --git a/doc/src/declarative/snippets/qtbinding/contextproperties/main.cpp b/doc/src/snippets/declarative/qtbinding/contextproperties/main.cpp
index 4073a6cc20..4073a6cc20 100644
--- a/doc/src/declarative/snippets/qtbinding/contextproperties/main.cpp
+++ b/doc/src/snippets/declarative/qtbinding/contextproperties/main.cpp
diff --git a/doc/src/snippets/declarative/qtbinding/contextproperties/main.qml b/doc/src/snippets/declarative/qtbinding/contextproperties/main.qml
new file mode 100644
index 0000000000..59fbe1aec6
--- /dev/null
+++ b/doc/src/snippets/declarative/qtbinding/contextproperties/main.qml
@@ -0,0 +1,56 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+//![0]
+import Qt 4.7
+
+Rectangle {
+ width: 300
+ height: 300
+
+ color: backgroundColor
+
+ Text {
+ anchors.centerIn: parent
+ text: "Hello Yellow World!"
+ }
+}
+//![0]
diff --git a/doc/src/declarative/snippets/qtbinding/custompalette/custompalette.h b/doc/src/snippets/declarative/qtbinding/custompalette/custompalette.h
index d0d253a602..d0d253a602 100644
--- a/doc/src/declarative/snippets/qtbinding/custompalette/custompalette.h
+++ b/doc/src/snippets/declarative/qtbinding/custompalette/custompalette.h
diff --git a/doc/src/declarative/snippets/qtbinding/custompalette/custompalette.pro b/doc/src/snippets/declarative/qtbinding/custompalette/custompalette.pro
index e6af0d033e..e6af0d033e 100644
--- a/doc/src/declarative/snippets/qtbinding/custompalette/custompalette.pro
+++ b/doc/src/snippets/declarative/qtbinding/custompalette/custompalette.pro
diff --git a/doc/src/declarative/snippets/qtbinding/custompalette/main.cpp b/doc/src/snippets/declarative/qtbinding/custompalette/main.cpp
index dc651f6d68..dc651f6d68 100644
--- a/doc/src/declarative/snippets/qtbinding/custompalette/main.cpp
+++ b/doc/src/snippets/declarative/qtbinding/custompalette/main.cpp
diff --git a/doc/src/snippets/declarative/qtbinding/custompalette/main.qml b/doc/src/snippets/declarative/qtbinding/custompalette/main.qml
new file mode 100644
index 0000000000..7dce022145
--- /dev/null
+++ b/doc/src/snippets/declarative/qtbinding/custompalette/main.qml
@@ -0,0 +1,63 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+//![0]
+import Qt 4.7
+
+Rectangle {
+ width: 240
+ height: 320
+ color: palette.background
+
+ Text {
+ anchors.centerIn: parent
+ color: palette.text
+ text: "Click me to change color!"
+ }
+
+ MouseArea {
+ anchors.fill: parent
+ onClicked: {
+ palette.text = "blue";
+ }
+ }
+}
+//![0]
diff --git a/doc/src/declarative/snippets/qtbinding/resources/example.qrc b/doc/src/snippets/declarative/qtbinding/resources/example.qrc
index 5e4941512b..5e4941512b 100644
--- a/doc/src/declarative/snippets/qtbinding/resources/example.qrc
+++ b/doc/src/snippets/declarative/qtbinding/resources/example.qrc
diff --git a/doc/src/declarative/snippets/qtbinding/resources/images/background.png b/doc/src/snippets/declarative/qtbinding/resources/images/background.png
index e69de29bb2..e69de29bb2 100644
--- a/doc/src/declarative/snippets/qtbinding/resources/images/background.png
+++ b/doc/src/snippets/declarative/qtbinding/resources/images/background.png
diff --git a/doc/src/declarative/snippets/qtbinding/resources/main.cpp b/doc/src/snippets/declarative/qtbinding/resources/main.cpp
index 5459b9e289..5459b9e289 100644
--- a/doc/src/declarative/snippets/qtbinding/resources/main.cpp
+++ b/doc/src/snippets/declarative/qtbinding/resources/main.cpp
diff --git a/doc/src/snippets/declarative/qtbinding/resources/main.qml b/doc/src/snippets/declarative/qtbinding/resources/main.qml
new file mode 100644
index 0000000000..bf31b54a91
--- /dev/null
+++ b/doc/src/snippets/declarative/qtbinding/resources/main.qml
@@ -0,0 +1,48 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+//![0]
+import Qt 4.7
+
+Image {
+ source: "images/background.png"
+}
+//![0]
diff --git a/doc/src/declarative/snippets/qtbinding/resources/resources.pro b/doc/src/snippets/declarative/qtbinding/resources/resources.pro
index cc01ee126f..cc01ee126f 100644
--- a/doc/src/declarative/snippets/qtbinding/resources/resources.pro
+++ b/doc/src/snippets/declarative/qtbinding/resources/resources.pro
diff --git a/doc/src/declarative/snippets/qtbinding/stopwatch/main.cpp b/doc/src/snippets/declarative/qtbinding/stopwatch/main.cpp
index 537a2888ff..537a2888ff 100644
--- a/doc/src/declarative/snippets/qtbinding/stopwatch/main.cpp
+++ b/doc/src/snippets/declarative/qtbinding/stopwatch/main.cpp
diff --git a/doc/src/snippets/declarative/qtbinding/stopwatch/main.qml b/doc/src/snippets/declarative/qtbinding/stopwatch/main.qml
new file mode 100644
index 0000000000..2184a5d968
--- /dev/null
+++ b/doc/src/snippets/declarative/qtbinding/stopwatch/main.qml
@@ -0,0 +1,59 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+//![0]
+import Qt 4.7
+
+Rectangle {
+ width: 300
+ height: 300
+
+ MouseArea {
+ anchors.fill: parent
+ onClicked: {
+ if (stopwatch.isRunning())
+ stopwatch.stop()
+ else
+ stopwatch.start();
+ }
+ }
+}
+//![0]
diff --git a/doc/src/declarative/snippets/qtbinding/stopwatch/stopwatch.cpp b/doc/src/snippets/declarative/qtbinding/stopwatch/stopwatch.cpp
index 4954a5f52f..4954a5f52f 100644
--- a/doc/src/declarative/snippets/qtbinding/stopwatch/stopwatch.cpp
+++ b/doc/src/snippets/declarative/qtbinding/stopwatch/stopwatch.cpp
diff --git a/doc/src/declarative/snippets/qtbinding/stopwatch/stopwatch.h b/doc/src/snippets/declarative/qtbinding/stopwatch/stopwatch.h
index 8d17121b1c..8d17121b1c 100644
--- a/doc/src/declarative/snippets/qtbinding/stopwatch/stopwatch.h
+++ b/doc/src/snippets/declarative/qtbinding/stopwatch/stopwatch.h
diff --git a/doc/src/declarative/snippets/qtbinding/stopwatch/stopwatch.pro b/doc/src/snippets/declarative/qtbinding/stopwatch/stopwatch.pro
index d803e6a351..d803e6a351 100644
--- a/doc/src/declarative/snippets/qtbinding/stopwatch/stopwatch.pro
+++ b/doc/src/snippets/declarative/qtbinding/stopwatch/stopwatch.pro
diff --git a/doc/src/snippets/declarative/rect-border-width.qml b/doc/src/snippets/declarative/rect-border-width.qml
new file mode 100644
index 0000000000..73ce9f6393
--- /dev/null
+++ b/doc/src/snippets/declarative/rect-border-width.qml
@@ -0,0 +1,60 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+import Qt 4.7
+
+//![0]
+Rectangle {
+ width: 100; height: 100
+ color: "yellow"
+
+ Rectangle {
+ anchors.fill: parent
+ anchors.margins: 10
+ clip: true
+
+ Rectangle {
+ anchors.fill: parent
+ border.width: 1
+ }
+ }
+}
+//![0]
diff --git a/doc/src/snippets/declarative/repeater-index.qml b/doc/src/snippets/declarative/repeater-index.qml
deleted file mode 100644
index 709eaf2082..0000000000
--- a/doc/src/snippets/declarative/repeater-index.qml
+++ /dev/null
@@ -1,15 +0,0 @@
-import Qt 4.7
-
-Rectangle {
- width: 50; height: childrenRect.height; color: "white"
-
-//! [0]
- Column {
- Repeater {
- model: 10
- Text { text: "I'm item " + index }
- }
- }
-//! [0]
-}
-
diff --git a/doc/src/snippets/declarative/repeater.qml b/doc/src/snippets/declarative/repeater.qml
index 02a820886c..be5d62df11 100644
--- a/doc/src/snippets/declarative/repeater.qml
+++ b/doc/src/snippets/declarative/repeater.qml
@@ -1,16 +1,90 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+//! [import]
import Qt 4.7
+//! [import]
-Rectangle {
- width: 220; height: 20; color: "white"
+Row {
-//! [0]
- Row {
- Rectangle { width: 10; height: 20; color: "red" }
- Repeater {
- model: 10
- Rectangle { width: 20; height: 20; radius: 10; color: "green" }
+//! [simple]
+Row {
+ Repeater {
+ model: 3
+ Rectangle {
+ width: 100; height: 40
+ border.width: 1
+ color: "yellow"
}
- Rectangle { width: 10; height: 20; color: "blue" }
}
-//! [0]
+}
+//! [simple]
+
+//! [index]
+Column {
+ Repeater {
+ model: 10
+ Text { text: "I'm item " + index }
+ }
+}
+//! [index]
+
+//! [modeldata]
+Column {
+ Repeater {
+ model: ["apples", "oranges", "pears"]
+ Text { text: "Data: " + modelData }
+ }
+}
+//! [modeldata]
+
+//! [layout]
+Row {
+ Rectangle { width: 10; height: 20; color: "red" }
+ Repeater {
+ model: 10
+ Rectangle { width: 20; height: 20; radius: 10; color: "green" }
+ }
+ Rectangle { width: 10; height: 20; color: "blue" }
+}
+//! [layout]
+
}
diff --git a/doc/src/snippets/declarative/rotation.qml b/doc/src/snippets/declarative/rotation.qml
index f2fd78c42d..54372928e9 100644
--- a/doc/src/snippets/declarative/rotation.qml
+++ b/doc/src/snippets/declarative/rotation.qml
@@ -1,33 +1,70 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+//! [0]
import Qt 4.7
-Rectangle {
- width: 360; height: 80
- color: "white"
-//! [0]
- Row {
- x: 10; y: 10
- spacing: 10
- Image { source: "pics/qt.png" }
- Image {
- source: "pics/qt.png"
- transform: Rotation { origin.x: 30; origin.y: 30; axis { x: 0; y: 1; z: 0 } angle: 18 }
- smooth: true
- }
- Image {
- source: "pics/qt.png"
- transform: Rotation { origin.x: 30; origin.y: 30; axis { x: 0; y: 1; z: 0 } angle: 36 }
- smooth: true
- }
- Image {
- source: "pics/qt.png"
- transform: Rotation { origin.x: 30; origin.y: 30; axis { x: 0; y: 1; z: 0 } angle: 54 }
- smooth: true
- }
- Image {
- source: "pics/qt.png"
- transform: Rotation { origin.x: 30; origin.y: 30; axis { x: 0; y: 1; z: 0 } angle: 72 }
- smooth: true
- }
+Row {
+ x: 10; y: 10
+ spacing: 10
+
+ Image { source: "pics/qt.png" }
+ Image {
+ source: "pics/qt.png"
+ transform: Rotation { origin.x: 30; origin.y: 30; axis { x: 0; y: 1; z: 0 } angle: 18 }
+ smooth: true
+ }
+ Image {
+ source: "pics/qt.png"
+ transform: Rotation { origin.x: 30; origin.y: 30; axis { x: 0; y: 1; z: 0 } angle: 36 }
+ smooth: true
+ }
+ Image {
+ source: "pics/qt.png"
+ transform: Rotation { origin.x: 30; origin.y: 30; axis { x: 0; y: 1; z: 0 } angle: 54 }
+ smooth: true
+ }
+ Image {
+ source: "pics/qt.png"
+ transform: Rotation { origin.x: 30; origin.y: 30; axis { x: 0; y: 1; z: 0 } angle: 72 }
+ smooth: true
}
-//! [0]
}
+//! [0]
diff --git a/doc/src/snippets/declarative/state.qml b/doc/src/snippets/declarative/state.qml
new file mode 100644
index 0000000000..a99c2e27d7
--- /dev/null
+++ b/doc/src/snippets/declarative/state.qml
@@ -0,0 +1,69 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+//![0]
+import Qt 4.7
+
+Rectangle {
+ id: myRect
+ width: 100; height: 100
+ color: "black"
+
+ states: [
+ State {
+ name: "clicked"
+ PropertyChanges {
+ target: myRect
+ color: "red"
+ }
+ }
+ ]
+
+ MouseArea {
+ anchors.fill: parent
+ onClicked: {
+ if (myRect.state == "") // i.e. the default state
+ myRect.state = "clicked";
+ else
+ myRect.state = "";
+ }
+ }
+}
+//![0]
diff --git a/doc/src/snippets/declarative/states.qml b/doc/src/snippets/declarative/states.qml
new file mode 100644
index 0000000000..c3b1796e2c
--- /dev/null
+++ b/doc/src/snippets/declarative/states.qml
@@ -0,0 +1,81 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+//![0]
+import Qt 4.7
+
+Item {
+ id: myItem
+ width: 200; height: 200
+
+ Rectangle {
+ id: myRect
+ width: 100; height: 100
+ color: "red"
+ }
+
+ states: [
+ State {
+ name: "moved"
+ PropertyChanges {
+ target: myRect
+ x: 50
+ y: 50
+ }
+ }
+ ]
+
+ MouseArea {
+ anchors.fill: parent
+ onClicked: myItem.state = 'moved'
+ }
+//![0]
+
+//![transitions]
+transitions: [
+ Transition {
+ NumberAnimation { properties: "x,y"; duration: 500 }
+ }
+]
+//![transitions]
+
+//![1]
+}
+//![1]
diff --git a/doc/src/snippets/declarative/systempalette.qml b/doc/src/snippets/declarative/systempalette.qml
new file mode 100644
index 0000000000..98b333e25e
--- /dev/null
+++ b/doc/src/snippets/declarative/systempalette.qml
@@ -0,0 +1,55 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+//![0]
+import Qt 4.7
+
+Rectangle {
+ SystemPalette { id: myPalette; colorGroup: SystemPalette.Active }
+
+ width: 640; height: 480
+ color: myPalette.window
+
+ Text {
+ anchors.fill: parent
+ text: "Hello!"; color: myPalette.windowText
+ }
+}
+//![0]
diff --git a/doc/src/snippets/declarative/texteditor.qml b/doc/src/snippets/declarative/texteditor.qml
new file mode 100644
index 0000000000..6735c6cf91
--- /dev/null
+++ b/doc/src/snippets/declarative/texteditor.qml
@@ -0,0 +1,73 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+import Qt 4.7
+
+//![0]
+Flickable {
+ id: flick
+
+ width: 300; height: 200;
+ contentWidth: edit.paintedWidth
+ contentHeight: edit.paintedHeight
+ clip: true
+
+ function ensureVisible(r)
+ {
+ if (contentX >= r.x)
+ contentX = r.x;
+ else if (contentX+width <= r.x+r.width)
+ contentX = r.x+r.width-width;
+ if (contentY >= r.y)
+ contentY = r.y;
+ else if (contentY+height <= r.y+r.height)
+ contentY = r.y+r.height-height;
+ }
+
+ TextEdit {
+ id: edit
+ width: flick.width
+ height: flick.height
+ focus: true
+ wrapMode: TextEdit.Wrap
+ onCursorRectangleChanged: flick.ensureVisible(cursorRectangle)
+ }
+}
+//![0]
diff --git a/doc/src/snippets/declarative/visualdatamodel.qml b/doc/src/snippets/declarative/visualdatamodel.qml
new file mode 100644
index 0000000000..cdde5131b2
--- /dev/null
+++ b/doc/src/snippets/declarative/visualdatamodel.qml
@@ -0,0 +1,65 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+//![0]
+import Qt 4.7
+
+Rectangle {
+ width: 200; height: 100
+
+ VisualDataModel {
+ id: visualModel
+ model: ListModel {
+ ListElement { name: "Apple" }
+ ListElement { name: "Orange" }
+ }
+ delegate: Rectangle {
+ height: 25
+ width: 100
+ Text { text: "Name: " + name}
+ }
+ }
+
+ ListView {
+ anchors.fill: parent
+ model: visualModel
+ }
+}
+//![0]
diff --git a/doc/src/snippets/declarative/visualdatamodel_rootindex/main.cpp b/doc/src/snippets/declarative/visualdatamodel_rootindex/main.cpp
new file mode 100644
index 0000000000..174adee24f
--- /dev/null
+++ b/doc/src/snippets/declarative/visualdatamodel_rootindex/main.cpp
@@ -0,0 +1,63 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+#include <QDeclarativeView>
+#include <QDeclarativeContext>
+
+#include <QApplication>
+#include <QDirModel>
+
+//![0]
+int main(int argc, char ** argv)
+{
+ QApplication app(argc, argv);
+
+ QDeclarativeView view;
+
+ QDirModel model;
+ view.rootContext()->setContextProperty("dirModel", &model);
+
+ view.setSource(QUrl::fromLocalFile("view.qml"));
+ view.show();
+
+ return app.exec();
+}
+//![0]
+
diff --git a/doc/src/snippets/declarative/visualdatamodel_rootindex/view.qml b/doc/src/snippets/declarative/visualdatamodel_rootindex/view.qml
new file mode 100644
index 0000000000..e623faa7ad
--- /dev/null
+++ b/doc/src/snippets/declarative/visualdatamodel_rootindex/view.qml
@@ -0,0 +1,66 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+//![0]
+import Qt 4.7
+
+ListView {
+ id: view
+ width: 300
+ height: 400
+
+ model: VisualDataModel {
+ model: dirModel
+
+ delegate: Rectangle {
+ width: 200; height: 25
+ Text { text: filePath }
+
+ MouseArea {
+ anchors.fill: parent
+ onClicked: {
+ if (hasModelChildren)
+ view.model.rootIndex = view.model.modelIndex(index)
+ }
+ }
+ }
+ }
+}
+//![0]
diff --git a/doc/src/snippets/declarative/visualdatamodel_rootindex/visualdatamodel_rootindex.pro b/doc/src/snippets/declarative/visualdatamodel_rootindex/visualdatamodel_rootindex.pro
new file mode 100644
index 0000000000..fec070cb5d
--- /dev/null
+++ b/doc/src/snippets/declarative/visualdatamodel_rootindex/visualdatamodel_rootindex.pro
@@ -0,0 +1,4 @@
+TEMPLATE = app
+QT += gui declarative
+
+SOURCES += main.cpp
diff --git a/doc/src/snippets/declarative/workerscript.qml b/doc/src/snippets/declarative/workerscript.qml
index 838e7e5f73..e07911ab88 100644
--- a/doc/src/snippets/declarative/workerscript.qml
+++ b/doc/src/snippets/declarative/workerscript.qml
@@ -1,3 +1,44 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
//![0]
import Qt 4.7
diff --git a/doc/src/snippets/declarative/xmlrole.qml b/doc/src/snippets/declarative/xmlrole.qml
new file mode 100644
index 0000000000..6d04dafdcd
--- /dev/null
+++ b/doc/src/snippets/declarative/xmlrole.qml
@@ -0,0 +1,81 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+import Qt 4.7
+
+Rectangle {
+ width: 300; height: 200
+
+//![0]
+XmlListModel {
+ id: model
+//![0]
+ source: "xmlrole.xml"
+
+//![1]
+ // XmlRole queries will be made on <book> elements
+ query: "/catalogue/book"
+
+ // query the book title
+ XmlRole { name: "title"; query: "title/string()" }
+
+ // query the book's year
+ XmlRole { name: "year"; query: "year/number()" }
+
+ // query the book's type (the '@' indicates 'type' is an attribute, not an element)
+ XmlRole { name: "type"; query: "@type/string()" }
+
+ // query the book's first listed author (note in XPath the first index is 1, not 0)
+ XmlRole { name: "first_author"; query: "author[1]/string()" }
+}
+//![1]
+
+ListView {
+ width: 300; height: 200
+ model: model
+ delegate: Column {
+ Text { text: title + " (" + type + ")"; font.bold: true }
+ Text { text: first_author }
+ Text { text: year }
+ }
+}
+
+}
diff --git a/doc/src/snippets/declarative/xmlrole.xml b/doc/src/snippets/declarative/xmlrole.xml
new file mode 100644
index 0000000000..c9f999e523
--- /dev/null
+++ b/doc/src/snippets/declarative/xmlrole.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="iso-8859-1" ?>
+<catalogue>
+ <book type="Hardcover">
+ <title>C++ GUI Programming with Qt 4</title>
+ <year>2006</year>
+ <author>Jasmin Blanchette</author>
+ <author>Mark Summerfield</author>
+ </book>
+ <book type="Paperback">
+ <title>Programming with Qt</title>
+ <year>2002</year>
+ <author>Matthias Kalle Dalheimer</author>
+ </book>
+ </catalogue>
diff --git a/doc/src/snippets/qxmlschema/main.cpp b/doc/src/snippets/qxmlschema/main.cpp
index 83fb245633..26a87413d3 100644
--- a/doc/src/snippets/qxmlschema/main.cpp
+++ b/doc/src/snippets/qxmlschema/main.cpp
@@ -91,11 +91,8 @@ void Schema::loadFromData() const
" elementFormDefault=\"qualified\">"
"</xsd:schema>" );
- QBuffer buffer(&data);
- buffer.open(QIODevice::ReadOnly);
-
QXmlSchema schema;
- schema.load(&buffer);
+ schema.load(data);
if (schema.isValid())
qDebug() << "schema is valid";
diff --git a/doc/src/sql-programming/qsqldatatype-table.qdoc b/doc/src/sql-programming/qsqldatatype-table.qdoc
index fc961f5351..329222b65e 100644
--- a/doc/src/sql-programming/qsqldatatype-table.qdoc
+++ b/doc/src/sql-programming/qsqldatatype-table.qdoc
@@ -41,19 +41,20 @@
/*!
\page sql-types.html
- \title Recommended Use of Data Types in Databases
+ \title Data Types for Qt-supported Database Systems
+ \brief Recommended data types for database systems
- \ingroup best-practices
+ \ingroup qt-sql
- \section1 Recommended Use of Types in Qt Supported Databases
+ \section1 Recommended Data Types for Qt-Supported Database Systems
- This table shows the recommended data types used when extracting data
- from the databases supported in Qt. It is important to note that the
- types used in Qt are not necessarily valid as input to the specific
- database. One example could be that a double would work perfectly as
- input for floating point records in a database, but not necessarily
- as a storage format for output from the database since it would be stored
- with 64-bit precision in C++.
+ This table shows the recommended data types for extracting data from
+ the databases supported in Qt. Note that types used in Qt are not
+ necessarily valid as input types to a specific database
+ system. e.g., A double might work perfectly as input for floating
+ point records in a particular database, but not necessarily as a
+ storage format for output from that database, because it would be
+ stored with 64-bit precision in C++.
\tableofcontents
diff --git a/doc/src/sql-programming/sql-driver.qdoc b/doc/src/sql-programming/sql-driver.qdoc
index 6bccd8361d..f0e4e522f3 100644
--- a/doc/src/sql-programming/sql-driver.qdoc
+++ b/doc/src/sql-programming/sql-driver.qdoc
@@ -44,7 +44,7 @@
\title SQL Database Drivers
\brief How to configure and install QtSql drivers for supported databases.
- \ingroup best-practices
+ \ingroup qt-sql
The QtSql module uses driver \l{How to Create Qt
Plugins}{plugins} to communicate with the different database
diff --git a/doc/src/sql-programming/sql-programming.qdoc b/doc/src/sql-programming/sql-programming.qdoc
index f1f3e5e75a..936e555127 100644
--- a/doc/src/sql-programming/sql-programming.qdoc
+++ b/doc/src/sql-programming/sql-programming.qdoc
@@ -49,6 +49,7 @@
/*!
\page sql-programming.html
\title SQL Programming
+ \ingroup qt-sql
\nextpage Connecting to Databases
\brief Database integration for Qt applications.
@@ -72,7 +73,7 @@
\endlist
\o \l{Executing SQL Statements}
\list
- \o \l{Recommended Use of Data Types in Databases}
+ \o \l{Data Types for Qt-supported Database Systems}
\endlist
\o \l{Using the SQL Model Classes}
\o \l{Presenting Data in a Table View}
@@ -118,6 +119,7 @@
/*!
\page sql-connecting.html
\title Connecting to Databases
+ \ingroup qt-sql
\contentspage SQL Programming
\previouspage SQL Programming
@@ -187,6 +189,7 @@
/*!
\page sql-sqlstatements.html
\title Executing SQL Statements
+ \ingroup qt-sql
\previouspage Connecting to Databases
\contentspage SQL Programming
@@ -237,8 +240,9 @@
QVariant::toString() and QVariant::toInt() to convert
variants to QString and \c int.
- For an overview of the recommended types used with Qt supported
- Databases, please refer to \l{Recommended Use of Data Types in Databases}{this table}.
+ For an overview of the recommended types for use with Qt-supported
+ Databases, please refer to \l{Data Types for Qt-supported Database
+ Systems} {this table}.
You can iterate back and forth using QSqlQuery::next(),
QSqlQuery::previous(), QSqlQuery::first(), QSqlQuery::last(), and
@@ -337,6 +341,7 @@
/*!
\page sql-model.html
\title Using the SQL Model Classes
+ \ingroup qt-sql
\previouspage Executing SQL Statements
\contentspage SQL Programming
@@ -483,6 +488,7 @@
/*!
\page sql-presenting.html
\title Presenting Data in a Table View
+ \ingroup qt-sql
\previouspage Using the SQL Model Classes
\contentspage SQL Programming
@@ -587,6 +593,7 @@
/*!
\page sql-forms.html
\title Creating Data-Aware Forms
+ \ingroup qt-sql
\previouspage Presenting Data in a Table View
\contentspage SQL Programming
diff --git a/doc/src/template/images/api_examples.png b/doc/src/template/images/api_examples.png
deleted file mode 100755
index 1fcbc96bd1..0000000000
--- a/doc/src/template/images/api_examples.png
+++ /dev/null
Binary files differ
diff --git a/doc/src/template/images/api_lookup.png b/doc/src/template/images/api_lookup.png
deleted file mode 100755
index 1cffd5e352..0000000000
--- a/doc/src/template/images/api_lookup.png
+++ /dev/null
Binary files differ
diff --git a/doc/src/template/images/api_topics.png b/doc/src/template/images/api_topics.png
deleted file mode 100755
index a76a6c3ed2..0000000000
--- a/doc/src/template/images/api_topics.png
+++ /dev/null
Binary files differ
diff --git a/doc/src/template/images/arrow_down.png b/doc/src/template/images/arrow_down.png
new file mode 100644
index 0000000000..9d01e97f6a
--- /dev/null
+++ b/doc/src/template/images/arrow_down.png
Binary files differ
diff --git a/doc/src/template/images/bg_l.png b/doc/src/template/images/bg_l.png
index 95470c78cc..90b1da10b9 100755
--- a/doc/src/template/images/bg_l.png
+++ b/doc/src/template/images/bg_l.png
Binary files differ
diff --git a/doc/src/template/images/bg_l_blank.png b/doc/src/template/images/bg_l_blank.png
index e0eca3f1c3..5a9673d81b 100755
--- a/doc/src/template/images/bg_l_blank.png
+++ b/doc/src/template/images/bg_l_blank.png
Binary files differ
diff --git a/doc/src/template/images/bg_ll.png b/doc/src/template/images/bg_ll.png
deleted file mode 100755
index 99796e7b5f..0000000000
--- a/doc/src/template/images/bg_ll.png
+++ /dev/null
Binary files differ
diff --git a/doc/src/template/images/bg_ll_blank.png b/doc/src/template/images/bg_ll_blank.png
index 95a1c45e04..95a1c45e04 100755..100644
--- a/doc/src/template/images/bg_ll_blank.png
+++ b/doc/src/template/images/bg_ll_blank.png
Binary files differ
diff --git a/doc/src/template/images/bg_lr.png b/doc/src/template/images/bg_lr.png
deleted file mode 100755
index fef1d17bbe..0000000000
--- a/doc/src/template/images/bg_lr.png
+++ /dev/null
Binary files differ
diff --git a/doc/src/template/images/bg_r.png b/doc/src/template/images/bg_r.png
index 42a35a546f..f0fb121dea 100755
--- a/doc/src/template/images/bg_r.png
+++ b/doc/src/template/images/bg_r.png
Binary files differ
diff --git a/doc/src/template/images/bg_ul.png b/doc/src/template/images/bg_ul.png
deleted file mode 100755
index 303181f18f..0000000000
--- a/doc/src/template/images/bg_ul.png
+++ /dev/null
Binary files differ
diff --git a/doc/src/template/images/bg_ul_blank.png b/doc/src/template/images/bg_ul_blank.png
index 70512614cc..70512614cc 100755..100644
--- a/doc/src/template/images/bg_ul_blank.png
+++ b/doc/src/template/images/bg_ul_blank.png
Binary files differ
diff --git a/doc/src/template/images/bg_ur.png b/doc/src/template/images/bg_ur.png
deleted file mode 100755
index bfa51a4cee..0000000000
--- a/doc/src/template/images/bg_ur.png
+++ /dev/null
Binary files differ
diff --git a/doc/src/template/images/bg_ur_blank.png b/doc/src/template/images/bg_ur_blank.png
deleted file mode 100755
index 57799616c0..0000000000
--- a/doc/src/template/images/bg_ur_blank.png
+++ /dev/null
Binary files differ
diff --git a/doc/src/template/images/box_bg.png b/doc/src/template/images/box_bg.png
index 232655a818..3322f923f8 100755
--- a/doc/src/template/images/box_bg.png
+++ b/doc/src/template/images/box_bg.png
Binary files differ
diff --git a/doc/src/template/images/breadcrumb.png b/doc/src/template/images/breadcrumb.png
index f0571ce1b5..0ded5514d2 100755
--- a/doc/src/template/images/breadcrumb.png
+++ b/doc/src/template/images/breadcrumb.png
Binary files differ
diff --git a/doc/src/template/images/bullet_gt.png b/doc/src/template/images/bullet_gt.png
index 88759256ce..7561b4edc4 100755
--- a/doc/src/template/images/bullet_gt.png
+++ b/doc/src/template/images/bullet_gt.png
Binary files differ
diff --git a/doc/src/template/images/bullet_sq.png b/doc/src/template/images/bullet_sq.png
index db85ee3400..a84845e3c7 100755
--- a/doc/src/template/images/bullet_sq.png
+++ b/doc/src/template/images/bullet_sq.png
Binary files differ
diff --git a/doc/src/template/images/content_bg.png b/doc/src/template/images/content_bg.png
deleted file mode 100755
index 416397d047..0000000000
--- a/doc/src/template/images/content_bg.png
+++ /dev/null
Binary files differ
diff --git a/doc/src/template/images/form_bg.png b/doc/src/template/images/form_bg.png
deleted file mode 100755
index bf2ee54464..0000000000
--- a/doc/src/template/images/form_bg.png
+++ /dev/null
Binary files differ
diff --git a/doc/src/template/images/header.png b/doc/src/template/images/header.png
deleted file mode 100644
index 141488b860..0000000000
--- a/doc/src/template/images/header.png
+++ /dev/null
Binary files differ
diff --git a/doc/src/template/images/header_bg.png b/doc/src/template/images/header_bg.png
new file mode 100644
index 0000000000..a436aa61ef
--- /dev/null
+++ b/doc/src/template/images/header_bg.png
Binary files differ
diff --git a/doc/src/template/images/page.png b/doc/src/template/images/page.png
new file mode 100644
index 0000000000..1db151bd31
--- /dev/null
+++ b/doc/src/template/images/page.png
Binary files differ
diff --git a/doc/src/template/images/page_bg.png b/doc/src/template/images/page_bg.png
index fb7d051a28..9b3bd999df 100755
--- a/doc/src/template/images/page_bg.png
+++ b/doc/src/template/images/page_bg.png
Binary files differ
diff --git a/doc/src/template/images/print.png b/doc/src/template/images/print.png
deleted file mode 100755
index 4581da1870..0000000000
--- a/doc/src/template/images/print.png
+++ /dev/null
Binary files differ
diff --git a/doc/src/template/images/qt_guide.png b/doc/src/template/images/qt_guide.png
deleted file mode 100755
index 9f53a052eb..0000000000
--- a/doc/src/template/images/qt_guide.png
+++ /dev/null
Binary files differ
diff --git a/doc/src/template/images/qt_icon.png b/doc/src/template/images/qt_icon.png
deleted file mode 100755
index fbaee35843..0000000000
--- a/doc/src/template/images/qt_icon.png
+++ /dev/null
Binary files differ
diff --git a/doc/src/template/images/qt_ref_doc.png b/doc/src/template/images/qt_ref_doc.png
deleted file mode 100755
index 141488b860..0000000000
--- a/doc/src/template/images/qt_ref_doc.png
+++ /dev/null
Binary files differ
diff --git a/doc/src/template/images/qt_tools.png b/doc/src/template/images/qt_tools.png
deleted file mode 100755
index cc24179819..0000000000
--- a/doc/src/template/images/qt_tools.png
+++ /dev/null
Binary files differ
diff --git a/doc/src/template/images/sep.png b/doc/src/template/images/sep.png
deleted file mode 100755
index c895646f23..0000000000
--- a/doc/src/template/images/sep.png
+++ /dev/null
Binary files differ
diff --git a/doc/src/template/images/spinner.gif b/doc/src/template/images/spinner.gif
new file mode 100644
index 0000000000..1ed786f2ec
--- /dev/null
+++ b/doc/src/template/images/spinner.gif
Binary files differ
diff --git a/doc/src/template/images/sprites-combined.png b/doc/src/template/images/sprites-combined.png
index 41860225c7..3a48b21f6b 100755
--- a/doc/src/template/images/sprites-combined.png
+++ b/doc/src/template/images/sprites-combined.png
Binary files differ
diff --git a/doc/src/template/scripts/functions.js b/doc/src/template/scripts/functions.js
index fa454e3101..58a0248591 100755
--- a/doc/src/template/scripts/functions.js
+++ b/doc/src/template/scripts/functions.js
@@ -1,10 +1,8 @@
-
/* START non link areas where cursor should change to pointing hand */
$('.t_button').mouseover(function() {
$('.t_button').css('cursor','pointer');
/*document.getElementById(this.id).style.cursor='pointer';*/
});
-
/* END non link areas */
$('#smallA').click(function() {
$('.content .heading,.content h1, .content h2, .content h3, .content p, .content li, .content table').css('font-size','smaller');
@@ -35,27 +33,160 @@ $('#bigA').click(function() {
$(this).addClass('active')
});
-function doSearch(str){
-
-if (str.length>3)
- {
- alert('Search is not yet activated.');
- // document.getElementById("refWrapper").innerHTML="";
- return;
- }
- else
- return;
-
-// var url="indexSearch.php";
-// url=url+"?q="+str;
- // url=url+"&sid="+Math.random();
- // var url="http://localhost:8983/solr/select?";
- // url=url+"&q="+str;
- // url=url+"&fq=&start=0&rows=10&fl=&qt=&wt=&explainOther=&hl.fl=";
-
- // $.get(url, function(data){
- // alert(data);
- // document.getElementById("refWrapper").innerHTML=data;
- //});
-
-} \ No newline at end of file
+$('.feedclose').click(function() {
+ $('.bd').show();
+ $('.hd').show();
+ $('.footer').show();
+ $('#feedbackBox').hide();
+ $('#blurpage').hide();
+});
+
+$('.feedback').click(function() {
+ $('.bd').hide();
+ $('.hd').hide();
+ $('.footer').hide();
+ $('#feedbackBox').show();
+ $('#blurpage').show();
+});
+var lookupCount = 0;
+var articleCount = 0;
+var exampleCount = 0;
+var qturl = ""; // change from "http://doc.qt.nokia.com/4.6/" to 0 so we can have relative links
+
+function processNokiaData(response){
+ var propertyTags = response.getElementsByTagName('page');
+
+ for (var i=0; i< propertyTags.length; i++) {
+ var linkStart = "<li class=\"liveResult\"><a href='"+qturl+"";
+ var linkEnd = "</a></li>";
+
+ if(propertyTags[i].getElementsByTagName('pageType')[0].firstChild.nodeValue == 'APIPage'){
+ lookupCount++;
+
+
+ for (var j=0; j< propertyTags[i].getElementsByTagName('pageWords').length; j++){
+ full_li_element = linkStart + propertyTags[i].getElementsByTagName('pageUrl')[j].firstChild.nodeValue;
+ full_li_element = full_li_element + "'>" + propertyTags[i].getElementsByTagName('pageTitle')[0].firstChild.nodeValue + linkEnd;
+
+ $('#ul001').append(full_li_element);
+ $('#ul001 .defaultLink').css('display','none');
+
+ }
+ }
+
+ if(propertyTags[i].getElementsByTagName('pageType')[0].firstChild.nodeValue == 'Article'){
+ articleCount++;
+
+
+ for (var j=0; j< propertyTags[i].getElementsByTagName('pageWords').length; j++){
+ full_li_element = linkStart + propertyTags[i].getElementsByTagName('pageUrl')[j].firstChild.nodeValue;
+ full_li_element =full_li_element + "'>" + propertyTags[i].getElementsByTagName('pageTitle')[0].firstChild.nodeValue + linkEnd ;
+
+ $('#ul002').append(full_li_element);
+ $('#ul002 .defaultLink').css('display','none');
+
+ }
+ }
+ if(propertyTags[i].getElementsByTagName('pageType')[0].firstChild.nodeValue == 'Example'){
+ exampleCount++;
+
+
+ for (var j=0; j< propertyTags[i].getElementsByTagName('pageWords').length; j++){
+ full_li_element = linkStart + propertyTags[i].getElementsByTagName('pageUrl')[j].firstChild.nodeValue;
+ full_li_element =full_li_element + "'>" + propertyTags[i].getElementsByTagName('pageTitle')[0].firstChild.nodeValue + linkEnd ;
+
+ $('#ul003').append(full_li_element);
+ $('#ul003 .defaultLink').css('display','none');
+
+ }
+ }
+ if(i==propertyTags.length){$('#pageType').removeClass('loading');}
+
+ }
+
+ if(lookupCount == 0){$('#ul001').prepend('<li class=\"liveResult noMatch\">Found no result</li>');$('#ul001 li').css('display','block');$('.sidebar .search form input').removeClass('loading');}
+ if(articleCount == 0){$('#ul002').prepend('<li class=\"liveResult noMatch\">Found no result</li>');$('#ul002 li').css('display','block');}
+ if(exampleCount == 0){$('#ul003').prepend('<li class=\"liveResult noMatch\">Found no result</li>');$('#ul003 li').css('display','block');}
+ // reset count variables;
+ lookupCount=0;
+ articleCount = 0;
+ exampleCount = 0;
+
+}
+//build regular expression object to find empty string or any number of blank
+var blankRE=/^\s*$/;
+function CheckEmptyAndLoadList()
+{
+ var pageUrl = window.location.href;
+ var pageVal = $('title').html();
+ $('#feedUrl').remove();
+ $('#pageVal').remove();
+ $('#feedform').append('<input id="feedUrl" name="feedUrl" value="'+pageUrl+'" style="display:none;">');
+ $('#feedform').append('<input id="pageVal" name="pageVal" value="'+pageVal+'" style="display:none;">');
+ $('.liveResult').remove();
+ $('.defaultLink').css('display','block');
+ var value = document.getElementById('pageType').value;
+ if((blankRE.test(value)) || (value.length < 3))
+ {
+ //empty inputbox
+ // load default li elements into the ul if empty
+ // loadAllList(); // replaced
+ $('.defaultLink').css('display','block');
+ // $('.liveResult').css('display','none');
+ }else{
+ $('.defaultLink').css('display','none');
+ }
+}
+/*
+$(window).resize(function(){
+if($(window).width()<400)
+ $('body').addClass('offline');
+else
+ $('body').removeClass('offline');
+ });
+ */
+// Loads on doc ready
+ $(document).ready(function () {
+ //alert(pageUrl);
+ //$('#pageUrl').attr('foo',pageUrl);
+ var pageTitle = $('title').html();
+ var currentString = $('#pageType').val() ;
+ if(currentString.length < 1){
+ $('.defaultLink').css('display','block');
+ CheckEmptyAndLoadList();
+ }
+
+ $('#pageType').keyup(function () {
+ var searchString = $('#pageType').val() ;
+ if ((searchString == null) || (searchString.length < 3)) {
+ $('#pageType').removeClass('loading');
+ $('.liveResult').remove(); // replaces removeResults();
+ CheckEmptyAndLoadList();
+ $('.report').remove();
+ // debug$('.content').prepend('<li>too short or blank</li>'); // debug
+ return;
+ }
+ if (this.timer) clearTimeout(this.timer);
+ this.timer = setTimeout(function () {
+ $('#pageType').addClass('loading');
+ // debug$('.content').prepend('<li>new search started </li>');// debug
+ // debug$('.content').prepend('<p class=\"report\">Search string ' +searchString +'</p>'); // debug
+
+ $.ajax({
+ contentType: "application/x-www-form-urlencoded",
+ url: 'http://' + location.host + '/nokiasearch/GetDataServlet',
+ data: 'searchString='+searchString,
+ dataType:'xml',
+ type: 'post',
+ success: function (response, textStatus) {
+
+ $('.liveResult').remove(); // replaces removeResults();
+ $('#pageType').removeClass('loading');
+
+ processNokiaData(response);
+
+ }
+ });
+ }, 500);
+ });
+ });
diff --git a/doc/src/template/scripts/narrow.js b/doc/src/template/scripts/narrow.js
new file mode 100644
index 0000000000..12d0ce89d5
--- /dev/null
+++ b/doc/src/template/scripts/narrow.js
@@ -0,0 +1,78 @@
+var narrowInit = function() {
+ /* TODO:
+ Could probably be more efficient, not hardcoding each element to be created
+ */
+ // 1: Create search form
+ var narrowSearch = $('<div id="narrowsearch"></div>');
+ var searchform = $("#qtdocsearch");
+ narrowSearch.append(searchform);
+ $("#qtdocheader .content .qtref").after(narrowSearch);
+
+ // 2: Create dropdowns
+ var narrowmenu = $('<ul id="narrowmenu" class="sf-menu"></ul>');
+
+ // Lookup
+ var lookuptext = $("#lookup h2").attr("title");
+ $("#lookup ul").removeAttr("id");
+ $("#lookup ul li").removeAttr("class");
+ $("#lookup ul li").removeAttr("style");
+ var lookupul = $("#lookup ul");
+ var lookuplist = $('<li></li>');
+ var lookuplink = $('<a href="#"></a>');
+ lookuplink.append(lookuptext);
+ lookuplist.append(lookuplink);
+ lookuplist.append(lookupul);
+ narrowmenu.append(lookuplist);
+
+ // Topics
+ var topicstext = $("#topics h2").attr("title");
+ $("#topics ul").removeAttr("id");
+ $("#topics ul li").removeAttr("class");
+ $("#topics ul li").removeAttr("style");
+ var topicsul = $("#topics ul");
+ var topicslist = $('<li></li>');
+ var topicslink = $('<a href="#"></a>');
+ topicslink.append(topicstext);
+ topicslist.append(topicslink);
+ topicslist.append(topicsul);
+ narrowmenu.append(topicslist);
+
+ // Examples
+ var examplestext = $("#examples h2").attr("title");
+ $("#examples ul").removeAttr("id");
+ $("#examples ul li").removeAttr("class");
+ $("#examples ul li").removeAttr("style");
+ var examplesul = $("#examples ul");
+ var exampleslist = $('<li></li>');
+ var exampleslink = $('<a href="#"></a>');
+ exampleslink.append(examplestext);
+ exampleslist.append(exampleslink);
+ exampleslist.append(examplesul);
+ narrowmenu.append(exampleslist);
+
+ $("#shortCut").after(narrowmenu);
+ $('ul#narrowmenu').superfish({
+ delay: 100,
+ autoArrows: false,
+ disableHI: true
+ });
+}
+
+$(document).ready(function(){
+ if ($('body').hasClass('narrow')) {
+ narrowInit();
+ }
+});
+
+$(window).bind('resize', function () {
+ if($(window).width()<600) {
+ $('body').addClass('narrow');
+
+ if ($("#narrowsearch").length == 0) {
+ narrowInit();
+ }
+ }
+ else {
+ $('body').removeClass('narrow');
+ }
+}); \ No newline at end of file
diff --git a/doc/src/template/scripts/superfish.js b/doc/src/template/scripts/superfish.js
new file mode 100644
index 0000000000..c6a9c7de04
--- /dev/null
+++ b/doc/src/template/scripts/superfish.js
@@ -0,0 +1,121 @@
+
+/*
+ * Superfish v1.4.8 - jQuery menu widget
+ * Copyright (c) 2008 Joel Birch
+ *
+ * Dual licensed under the MIT and GPL licenses:
+ * http://www.opensource.org/licenses/mit-license.php
+ * http://www.gnu.org/licenses/gpl.html
+ *
+ * CHANGELOG: http://users.tpg.com.au/j_birch/plugins/superfish/changelog.txt
+ */
+
+;(function($){
+ $.fn.superfish = function(op){
+
+ var sf = $.fn.superfish,
+ c = sf.c,
+ $arrow = $(['<span class="',c.arrowClass,'"> &#187;</span>'].join('')),
+ over = function(){
+ var $$ = $(this), menu = getMenu($$);
+ clearTimeout(menu.sfTimer);
+ $$.showSuperfishUl().siblings().hideSuperfishUl();
+ },
+ out = function(){
+ var $$ = $(this), menu = getMenu($$), o = sf.op;
+ clearTimeout(menu.sfTimer);
+ menu.sfTimer=setTimeout(function(){
+ o.retainPath=($.inArray($$[0],o.$path)>-1);
+ $$.hideSuperfishUl();
+ if (o.$path.length && $$.parents(['li.',o.hoverClass].join('')).length<1){over.call(o.$path);}
+ },o.delay);
+ },
+ getMenu = function($menu){
+ var menu = $menu.parents(['ul.',c.menuClass,':first'].join(''))[0];
+ sf.op = sf.o[menu.serial];
+ return menu;
+ },
+ addArrow = function($a){ $a.addClass(c.anchorClass).append($arrow.clone()); };
+
+ return this.each(function() {
+ var s = this.serial = sf.o.length;
+ var o = $.extend({},sf.defaults,op);
+ o.$path = $('li.'+o.pathClass,this).slice(0,o.pathLevels).each(function(){
+ $(this).addClass([o.hoverClass,c.bcClass].join(' '))
+ .filter('li:has(ul)').removeClass(o.pathClass);
+ });
+ sf.o[s] = sf.op = o;
+
+ $('li:has(ul)',this)[($.fn.hoverIntent && !o.disableHI) ? 'hoverIntent' : 'hover'](over,out).each(function() {
+ if (o.autoArrows) addArrow( $('>a:first-child',this) );
+ })
+ .not('.'+c.bcClass)
+ .hideSuperfishUl();
+
+ var $a = $('a',this);
+ $a.each(function(i){
+ var $li = $a.eq(i).parents('li');
+ $a.eq(i).focus(function(){over.call($li);}).blur(function(){out.call($li);});
+ });
+ o.onInit.call(this);
+
+ }).each(function() {
+ var menuClasses = [c.menuClass];
+ if (sf.op.dropShadows && !($.browser.msie && $.browser.version < 7)) menuClasses.push(c.shadowClass);
+ $(this).addClass(menuClasses.join(' '));
+ });
+ };
+
+ var sf = $.fn.superfish;
+ sf.o = [];
+ sf.op = {};
+ sf.IE7fix = function(){
+ var o = sf.op;
+ if ($.browser.msie && $.browser.version > 6 && o.dropShadows && o.animation.opacity!=undefined)
+ this.toggleClass(sf.c.shadowClass+'-off');
+ };
+ sf.c = {
+ bcClass : 'sf-breadcrumb',
+ menuClass : 'sf-js-enabled',
+ anchorClass : 'sf-with-ul',
+ arrowClass : 'sf-sub-indicator',
+ shadowClass : 'sf-shadow'
+ };
+ sf.defaults = {
+ hoverClass : 'sfHover',
+ pathClass : 'overideThisToUse',
+ pathLevels : 1,
+ delay : 800,
+ animation : {opacity:'show'},
+ speed : 'normal',
+ autoArrows : true,
+ dropShadows : true,
+ disableHI : false, // true disables hoverIntent detection
+ onInit : function(){}, // callback functions
+ onBeforeShow: function(){},
+ onShow : function(){},
+ onHide : function(){}
+ };
+ $.fn.extend({
+ hideSuperfishUl : function(){
+ var o = sf.op,
+ not = (o.retainPath===true) ? o.$path : '';
+ o.retainPath = false;
+ var $ul = $(['li.',o.hoverClass].join(''),this).add(this).not(not).removeClass(o.hoverClass)
+ .find('>ul').hide().css('visibility','hidden');
+ o.onHide.call($ul);
+ return this;
+ },
+ showSuperfishUl : function(){
+ var o = sf.op,
+ sh = sf.c.shadowClass+'-off',
+ $ul = this.addClass(o.hoverClass)
+ .find('>ul:hidden').css('visibility','visible');
+ sf.IE7fix.call($ul);
+ o.onBeforeShow.call($ul);
+ $ul.animate(o.animation,o.speed,function(){ sf.IE7fix.call($ul); o.onShow.call($ul); });
+ return this;
+ }
+ });
+
+})(jQuery);
diff --git a/doc/src/template/style/OfflineStyle.css b/doc/src/template/style/OfflineStyle.css
new file mode 100644
index 0000000000..ddd580af53
--- /dev/null
+++ b/doc/src/template/style/OfflineStyle.css
@@ -0,0 +1,819 @@
+@media screen
+{
+ html
+ {
+ color: #000000;
+ background: #FFFFFF;
+ }
+ body, div, dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6, pre, code, form, fieldset, legend, input, button, textarea, p, blockquote, th, td
+ {
+ margin: 0;
+ padding: 0;
+ }
+ table
+ {
+ border-collapse: collapse;
+ border-spacing: 0;
+ }
+ fieldset, img
+ {
+ border: 0;
+ }
+ address, caption, cite, code, dfn, em, strong, th, var, optgroup
+ {
+ font-style: inherit;
+ font-weight: inherit;
+ }
+ del, ins
+ {
+ text-decoration: none;
+ }
+ li
+ {
+ list-style: none;
+ }
+ caption, th
+ {
+ text-align: left;
+ }
+ h1, h2, h3, h4, h5, h6
+ {
+ font-size: 100%;
+ }
+ q:before, q:after
+ {
+ content: '';
+ }
+ abbr, acronym
+ {
+ border: 0;
+ font-variant: normal;
+ }
+ sup
+ {
+ vertical-align: baseline;
+ }
+ sub
+ {
+ vertical-align: baseline;
+ }
+ tt, .qmlreadonly span, .qmldefault span
+ {
+ word-spacing:5px;
+ }
+ .heading
+ {
+ font: normal 600 16px/1.0 Arial;
+ }
+ .subtitle
+ {
+ font-size: 13px;
+ }
+ .small-subtitle
+ {
+ font-size: 13px;
+ }
+ legend
+ {
+ color: #000000;
+ }
+ input, button, textarea, select, optgroup, option
+ {
+ font-family: inherit;
+ font-size: inherit;
+ font-style: inherit;
+ font-weight: inherit;
+ }
+ input, button, textarea, select
+ {
+ font-size: 100%;
+ }
+ body
+ {
+ font: normal 13px/1.2 Verdana;
+ color: #363534;
+ }
+ strong
+ {
+ font-weight: bold;
+ }
+ em
+ {
+ font-style: italic;
+ }
+ a
+ {
+ color: #00732f;
+ text-decoration: none;
+ }
+ .header, .footer, .wrapper
+ {
+ /*min-width: 600px;*/
+ max-width: 1500px;
+ margin: 0 5px;
+ }
+ .wrapper
+ {
+ position:relative;
+ top:50px;
+ }
+ .wrapper .bd
+ {
+ position: relative;
+ }
+
+ .header, .footer
+ {
+ display: block;
+ clear: both;
+ overflow: hidden;
+ }
+ .header
+ {
+ height: 115px;
+ position: relative;
+ }
+
+
+ .header .qtref
+ {
+ position: absolute;
+ top: 28px;
+ left: 88px;
+ width: 302px;
+ height: 22px;
+ }
+ .header .qtref span
+ {
+ display: block;
+ height: 22px;
+ }
+ .wrap .content h1
+ {
+ font: 600 18px/1.2 Arial;
+ }
+ .wrap .content h2
+ {
+ font: 600 16px/1.2 Arial;
+ }
+ .wrap .content h3
+ {
+ font: 600 14px/1.2 Arial;
+ }
+ .wrap .content h4
+ {
+ font: 600 12px/1.2 Arial;
+ }
+
+ .wrap .content p
+ {
+ line-height: 20px;
+ padding: 5px;
+ }
+ .wrap .content table p
+ {
+ line-height: 20px;
+ padding: 0px;
+ }
+ .wrap .content ul
+ {
+ padding-left: 25px;
+ padding-top: 10px;
+ }
+ a:hover
+ {
+ color: #4c0033;
+ text-decoration: underline;
+ }
+ .content a:visited
+ {
+ color: #4c0033;
+ text-decoration: none;
+ }
+ .content a:visited:hover
+ {
+ color: #4c0033;
+ text-decoration: underline;
+ }
+
+ pre
+ {
+ border: 1px solid #DDDDDD;
+ margin: 0 20px 10px 10px;
+ padding: 20px 15px 20px 20px;
+ overflow-x: auto;
+ }
+ table, pre
+ {
+ -moz-border-radius: 7px 7px 7px 7px;
+ background-color: #F6F6F6;
+ border: 1px solid #E6E6E6;
+ border-collapse: separate;
+ font-size: 11px;
+ /*min-width: 395px;*/
+ margin-bottom: 25px;
+ display: inline-block;
+ }
+ thead
+ {
+ margin-top: 5px;
+ font:600 12px/1.2 Arial;
+ }
+ th
+ {
+ padding: 5px 15px 5px 15px;
+ background-color: #E1E1E1;
+ /* border-bottom: 1px solid #E6E6E6;*/
+ border-left: 1px solid #E6E6E6;
+ /* border-right: 1px solid #E6E6E6;*/
+ }
+ td
+ {
+ padding: 3px 15px 3px 20px;
+ /* border-left: 1px solid #E6E6E6;
+ border-right: 1px solid #E6E6E6;*/
+ }
+ tr.odd td:hover, tr.even td:hover
+ {
+ /* border-right: 1px solid #C3C3C3;
+ border-left: 1px solid #C3C3C3;*/
+ }
+
+ td.rightAlign
+ {
+ padding: 3px 15px 3px 10px;
+ }
+ table tr.odd
+ {
+ border-left: 1px solid #E6E6E6;
+ background-color: #F6F6F6;
+ color: #66666E;
+ }
+ table tr.even
+ {
+ border-left: 1px solid #E6E6E6;
+ background-color: #ffffff;
+ color: #66666E;
+ }
+ table tr.odd td:hover, table tr.even td:hover
+ {
+ background-color: #E6E6E6;
+ }
+
+ span.comment
+ {
+ color: #8B0000;
+ font-style: italic;
+ }
+ span.string, span.char
+ {
+ color: #254117;
+ }
+
+ .qmltype
+ {
+ text-align: center;
+ font-size: 160%;
+ }
+ .qmlreadonly
+ {
+ float: right;
+ color: #254117;
+ }
+
+ .qmldefault
+ {
+ float: right;
+ color: red;
+ }
+
+ .footer
+ {
+ border-top:1px solid #E5E5E5;
+ min-height: 100px;
+ color: #797775;
+ font: normal 9px/1 Verdana;
+ text-align: center;
+ padding-top: 40px;
+ margin: 0;
+ }
+
+
+ .wrap
+ {
+ margin: 0 5px 0 5px;
+ }
+ .wrap .toolbar
+ {
+ display:block;
+ }
+
+ .wrap .breadcrumb ul li
+ {
+ float: left;
+ background: url(../images/breadcrumb.png) no-repeat 0 5px;
+ padding-left: 15px;
+ margin-left: 15px;
+ font-weight: bold;
+ }
+ .wrap .breadcrumb ul li.last
+ {
+ font-weight: normal;
+ }
+ .wrap .breadcrumb ul li a
+ {
+ /* color: #363534;*/
+ color: #00732F;
+ }
+ .wrap .breadcrumb ul li.first
+ {
+ background-image: none;
+ padding-left: 0;
+ margin-left: 0;
+ }
+ .wrap .content
+ {
+ word-wrap:break-word;
+ }
+ .wrap .content li
+ {
+ padding-left: 12px;
+ background: url(../images/bullet_sq.png) no-repeat 0 5px;
+ font: normal 400 10pt/1 Verdana;
+ margin-bottom: 10px;
+ }
+
+ .offline .wrap .content
+ {
+ padding-top: 15px;
+ }
+
+ .header:after, .footer:after, .breadcrumb:after, .wrap .content:after, .group:after
+ {
+ content: ".";
+ display: block;
+ height: 0;
+ clear: both;
+ visibility: hidden;
+ }
+
+ hr
+ {
+ background-color: #E6E6E6;
+ border: 1px solid #E6E6E6;
+ height: 1px;
+ width: 100%;
+ text-align: left;
+ margin: 5px 0px 5px 0px;
+ }
+
+ .content .alignedsummary
+ {
+ margin: 5px;
+ width:100%;
+ }
+
+
+ .toc
+ {
+ float: right;
+ -moz-border-radius: 7px 7px 7px 7px;
+ background-color: #F6F6F6;
+ border: 1px solid #DDDDDD;
+ margin: 0 20px 10px 10px;
+ padding: 20px 15px 20px 20px;
+ height: auto;
+ width: 200px;
+ }
+
+ .toc h3, .generic a
+ {
+ font: 600 12px/1.2 Arial;
+ }
+
+ .wrap .content .toc ul
+ {
+ padding-left: 0px;
+ }
+
+
+ .wrap .content .toc .level2
+ {
+ margin-left: 15px;
+ }
+
+ .wrap .content .toc .level3
+ {
+ margin-left: 30px;
+ }
+
+ .content .toc li
+ {
+ font: normal 10px/1.2 Verdana;
+ background: url(../images/bullet_dn.png) no-repeat 0 5px;
+ }
+
+
+ .generic{
+ max-width:75%;
+ }
+ .generic td{
+ padding:0;
+ }
+
+ .generic .odd .alphaChar{
+ background-color: #F6F6F6;
+ }
+
+ .generic .even .alphaChar{
+ background-color: #FFFFFF;
+ }
+
+ .highlightedCode
+ {
+ margin:10px;
+ }
+
+ .flowList{
+ vertical-align:top;
+ }
+ .alphaChar{
+ width:100%;
+ background-color:#F6F6F6;
+ border:1px solid #E6E6E6;
+ font-size:12pt;
+ padding-left:10px;
+ margin-top:10px;
+ margin-bottom:10px;
+ }
+
+ .flowList dl{
+ }
+ .flowList dd{
+ display:inline-block;
+ margin-left:10px;
+ width:250px;
+ }
+ .wrap .content .flowList p{
+ padding:0px;
+ }
+
+ .relpage
+ {
+ -moz-border-radius: 7px 7px 7px 7px;
+ border: 1px solid #DDDDDD;
+ padding: 25px 25px;
+ clear: both;
+ }
+ .relpage ul
+ {
+ float: none;
+ padding: 15px;
+ }
+ .content .relpage li
+ {
+ font: normal 11px/1.2 Verdana;
+ }
+ h3.fn, span.fn
+ {
+ background-color: #F6F6F6;
+ border-width: 1px;
+ border-style: solid;
+ border-color: #E6E6E6;
+ font-weight: bold;
+ word-spacing:3px;
+ }
+
+ .functionIndex {
+ font-size:12pt;
+ word-spacing:10px;
+ margin-bottom:10px;
+ background-color: #F6F6F6;
+ border-width: 1px;
+ border-style: solid;
+ border-color: #E6E6E6;
+ width:100%;
+ }
+
+ .centerAlign { text-align:center;}
+ .rightAlign {text-align:right;}
+ .leftAlign {text-align:left;}
+ .topAlign{vertical-align:top }
+ .functionIndex a{display:inline-block;}
+
+ /* start index box */
+ .indexbox
+ {
+ width: 100%;
+ display:inline-block;
+ }
+
+ .indexboxcont { display: block; }
+
+ .indexboxbar
+ {
+ border-bottom:1px solid #E5E5E5;
+ margin-bottom: 25px;
+ }
+
+ .indexboxcont .section
+ {
+ display: inline-block;
+ padding:0 2% 0 1%;
+ vertical-align:top;
+ }
+
+ .indexboxcont .section {
+ float: left;
+ }
+
+ .indexboxcont .section p
+ {
+ padding-top: 20px;
+ padding-bottom: 20px;
+ }
+ .indexboxcont .sectionlist
+ {
+ display: inline-block;
+ vertical-align:top;
+ padding: 0;
+ }
+ .indexboxcont .sectionlist ul
+ {
+ margin-bottom: 20px;
+ }
+
+ .indexboxcont .sectionlist ul li
+ {
+ line-height: 12px;
+ }
+
+ .content .indexboxcont li
+ {
+ font: normal 600 13px/1 Verdana;
+ }
+
+ .indexbox a:hover, .indexbox a:visited:hover
+ {
+ color: #4c0033;
+ text-decoration: underline;
+ }
+
+ .indexbox a:visited
+ {
+ color: #00732f;
+ text-decoration: none;
+ }
+
+ .indexbox .indexIcon {
+ width: 11%;
+ }
+
+
+ .indexboxcont:after
+ {
+ content: ".";
+ display: block;
+ height: 0;
+ clear: both;
+ visibility: hidden;
+ }
+
+ body.offline
+ {
+ background-image: none;
+ }
+
+ .offline .footer {
+ margin: 0;
+ }
+ .offline .header
+ {
+ width: 100%;
+ margin: 0;
+ height: auto;
+ background-color: #ffffff;
+ padding: 10px 0 5px 0;
+ overflow: visible;
+ border-bottom: solid #E5E5E5 1px;
+ z-index:1;
+ position:fixed;
+ }
+
+ .offline .header .content
+ {
+ }
+ .offline .header .qtref
+ {
+ color: #00732F;
+ position: static;
+ float: left;
+ margin-left: 5px;
+ font: bold 18px/1 Arial;
+ }
+
+ .offline .header .qtref:visited
+ {
+ color: #00732F;
+ }
+ .offline .header .qtref:hover
+ {
+ color: #00732F;
+ text-decoration:none;
+ }
+ .offline .header .qtref span
+ {
+ background-image: none;
+ text-indent: 0;
+ text-decoration:none;
+ }
+
+ .offline .wrap
+ {
+ margin: 0 5px 0 5px;
+ }
+
+ .offline .wrap .toolbar
+ {
+ display:block;
+ padding-top:5px;
+ }
+
+ .offline .wrap .breadcrumb ul li {
+ font-weight: normal;
+ }
+
+ .offline .wrap .breadcrumb ul li a {
+ /*color: #44a51c;*/
+ }
+
+ .offline .wrap .breadcrumb ul li.last a {
+ /*color: #363534;*/
+ }
+
+
+
+ .narrow .indexboxcont .section {
+ width: 64%;
+ padding-left: 0;
+ }
+
+ .narrow .indexboxcont .sectionlist {
+ width: 32.5%;
+ }
+
+ .header .icon,
+ .sidebar,
+ .feedback,
+ .t_button,
+ .feedback,
+ #feedbackBox,
+ #feedback,
+ #blurpage,
+ .indexbox .indexIcon span,
+ .wrapper .hd,
+ .offline .indexbox .indexIcon,
+ .offline .header #nav-logo,
+ #offlinemenu,
+ #offlinesearch,
+ .offline .header #nav-topright,
+ .offline .header #shortCut ,
+ .offline .wrapper .hd,
+ .offline .wrapper .ft,
+ .offline .sidebar,
+ .offline .wrap .feedback
+ {
+ display:none;
+ }
+
+ /* end offline mode */
+#narrowmenu {
+ display: none;
+ float: right;
+ margin: 15px 40px 0 0;
+ font-size: 11px;
+ }
+
+ .narrow #narrowmenu {
+ display: block;
+ }
+
+ #narrowsearch{
+ display:none;
+ }
+
+ #narrowmenu ul
+ {
+ border-bottom:solid 1px #E5E5E5;
+ border-left:solid 1px #E5E5E5;
+ border-right:solid 1px #E5E5E5;
+ }
+
+ #narrowmenu a {
+ line-height: 1.1;
+ background: url(../images/arrow_down.png) no-repeat 100% 50%;
+ white-space: nowrap;
+ padding: 0 16px 0 5px;
+ }
+
+ #narrowmenu li {
+ margin-left: 20px;
+ }
+
+ #narrowmenu li li {
+ margin: 0 0 5px 0;
+ }
+
+ #narrowmenu li li a {
+ padding: 0;
+ background-image: none;
+ }
+
+ #narrowmenu li,
+ #narrowmenu li ul {
+ background-color: #fff;
+ }
+
+ #narrowmenu li ul {
+ width: auto;
+ padding: 5px;
+ margin-top:-15px;
+ }
+
+ .sf-menu li:hover ul, .sf-menu li.sfHover ul {
+ top: 1.2em;
+ }
+.sf-menu, .sf-menu * {
+ margin: 0;
+ padding: 0;
+ list-style: none;
+}
+.sf-menu {
+ line-height: 1.0;
+}
+.sf-menu ul {
+ position: absolute;
+ top: -999em;
+ width: 10em; /* left offset of submenus need to match (see below) */
+}
+.sf-menu ul li {
+ width: 100%;
+}
+.sf-menu li:hover {
+ visibility: inherit; /* fixes IE7 'sticky bug' */
+}
+.sf-menu li {
+ float: left;
+ position: relative;
+}
+.sf-menu a {
+ display: block;
+ position: relative;
+}
+.sf-menu li:hover ul,
+.sf-menu li.sfHover ul {
+ left: 0;
+ top: 2.5em; /* match top ul list item height */
+ z-index: 99;
+}
+ul.sf-menu li:hover li ul,
+ul.sf-menu li.sfHover li ul {
+ top: -999em;
+}
+ul.sf-menu li li:hover ul,
+ul.sf-menu li li.sfHover ul {
+ left: 10em; /* match ul width */
+ top: 0;
+}
+ul.sf-menu li li:hover li ul,
+ul.sf-menu li li.sfHover li ul {
+ top: -999em;
+}
+ul.sf-menu li li li:hover ul,
+ul.sf-menu li li li.sfHover ul {
+ left: 10em; /* match ul width */
+ top: 0;
+}
+
+}
+/* end of screen media */
+
+/* start of print media */
+
+@media print
+{
+ input, textarea, .header, .footer, .toolbar, .feedback, .wrapper .hd, .wrapper .bd .sidebar, .wrapper .ft
+ {
+ display: none;
+ background: none;
+ }
+ .content
+ {
+ position: absolute;
+ top: 0px;
+ left: 0px;
+ background: none;
+ display: block;
+ }
+}
+/* end of print media */
diff --git a/doc/src/template/style/narrow.css b/doc/src/template/style/narrow.css
new file mode 100644
index 0000000000..05159aa568
--- /dev/null
+++ b/doc/src/template/style/narrow.css
@@ -0,0 +1,250 @@
+ /* start narrow mode */
+
+ body.narrow
+ {
+ background-image: none;
+ }
+
+ .narrow a {
+ color: #44a51c;
+ }
+
+ .narrow .header, .narrow .header .content, .narrow .footer, .narrow .wrapper {
+ margin: 0 7px;
+ min-width: 300px;
+ }
+
+ .narrow .footer {
+ margin: 0;
+ }
+ .narrow .header
+ {
+ width: 100%;
+ margin: 0;
+ height: auto;
+ background: #fff url(../images/header_bg.png) repeat-x 0 100%;
+ padding: 10px 0 5px 0;
+ overflow: visible;
+ }
+
+ .narrow .header .content
+ {
+ }
+
+ .narrow .header #nav-logo
+ {
+ display: none;
+ }
+
+ .narrow .header .qtref
+ {
+ width: auto;
+ height: auto;
+ color: #363534;
+ position: static;
+ float: left;
+ margin-left: 25px;
+ font: bold 18px/1 Arial;
+ }
+
+ .narrow .header .qtref a
+ {
+ color: #363534;
+ }
+
+ .narrow .header .qtref span
+ {
+ background-image: none;
+ text-indent: 0;
+ }
+
+ .narrow .header #nav-topright
+ {
+ display: none;
+ }
+
+ .narrow .header #shortCut
+ {
+ clear: both;
+ font-weight: normal;
+ position: static;
+ float: left;
+ margin: 15px 0 0 25px;
+ overflow: hidden;
+ padding: 0;
+ height: auto;
+ }
+
+ .narrow .header #shortCut ul
+ {
+ float: none;
+ margin: 0;
+ width: auto;
+ font-size: 11px;
+ }
+
+ .narrow .header #shortCut ul li
+ {
+ background-image: none;
+ }
+
+ .narrow .header #shortCut ul .shortCut-topleft-active,
+ .narrow .header #shortCut ul .shortCut-topleft-inactive
+ {
+ background-image: none;
+ height: auto;
+ padding: 0;
+ width: auto;
+ }
+ .narrow .header #shortCut ul li a
+ {
+ color: #44a51c;
+ }
+
+ .narrow .wrapper .hd
+ {
+ background: url(../images/bg_ul_blank.png) no-repeat 0 0;
+ }
+
+ .narrow .wrapper .bd
+ {
+ background: url(../images/bg_l_blank.png) repeat-y 0 0;
+ }
+
+ .narrow .wrapper .ft
+ {
+ background: url(../images/bg_ll_blank.png) no-repeat 0 0;
+ }
+
+ .narrow .sidebar
+ {
+ display: none;
+ }
+
+ .narrow .wrap
+ {
+ margin: 0 5px 0 5px;
+ }
+
+ .narrow .wrap .toolbar
+ {
+ border-bottom: none;
+ }
+
+ .narrow .wrap .content
+ {
+ padding-top: 15px;
+ }
+
+ .narrow .wrap .feedback
+ {
+ display: none;
+ }
+
+ .narrow .wrap .breadcrumb ul li {
+ font-weight: normal;
+ }
+
+ .narrow .wrap .breadcrumb ul li a {
+ color: #44a51c;
+ }
+
+ .narrow .wrap .breadcrumb ul li.last a {
+ color: #363534;
+ }
+
+ #narrowsearch {
+ display: none;
+ }
+
+ .narrow #narrowsearch {
+ display: block;
+ float: right;
+ margin-right: 25px;
+ _position: relative;
+ }
+
+ .narrow #narrowsearch fieldset {
+ _position: absolute;
+ _margin-top: -1px;
+ }
+
+ .narrow #narrowsearch {
+ background: url("http://doc.qt.nokia.com/prototype/html/images/sprites-combined.png") no-repeat scroll -6px -348px transparent;
+ height: 21px;
+ padding: 2px 0 0 5px;
+ width: 167px;
+ }
+
+ .narrow #narrowsearch input {
+ border: none;
+ font: 13px/1.2 Verdana;
+ height: 19px;
+ outline: none;
+ padding: 0;
+ width: 158px;
+ *border: 1px solid #fff;
+ *height: 17px;
+ _height: 18px;
+ }
+
+ .narrow .indexbox .indexIcon {
+ display: none;
+ }
+
+ .narrow .indexboxcont .section {
+ width: 64%;
+ padding-left: 0;
+ }
+
+ .narrow .indexboxcont .sectionlist {
+ width: 32.5%;
+ }
+
+ #narrowmenu {
+ display: none;
+ float: right;
+ margin: 15px 40px 0 0;
+ font-size: 11px;
+ }
+
+ .narrow #narrowmenu {
+ display: block;
+ }
+
+ #narrowmenu a {
+ line-height: 1.1;
+ background: url(../images/arrow_down.png) no-repeat 100% 50%;
+ white-space: nowrap;
+ padding: 0 16px 0 5px;
+ }
+
+ #narrowmenu li {
+ margin-left: 20px;
+ }
+
+ #narrowmenu li li {
+ margin: 0 0 5px 0;
+ }
+
+ #narrowmenu li li a {
+ padding: 0;
+ background-image: none;
+ }
+
+ #narrowmenu li,
+ #narrowmenu li ul {
+ background-color: #fff;
+ margin-top:-1px;
+ }
+
+ #narrowmenu li ul {
+ width: auto;
+ padding: 5px;
+ }
+
+ .sf-menu li:hover ul, .sf-menu li.sfHover ul {
+ top: 1.2em;
+ }
+
+ /* end narrow mode */
diff --git a/doc/src/template/style/style.css b/doc/src/template/style/style.css
index d5920b9ddd..47fe2e0a04 100755
--- a/doc/src/template/style/style.css
+++ b/doc/src/template/style/style.css
@@ -39,7 +39,7 @@
h1, h2, h3, h4, h5, h6
{
font-size: 100%;
- font-weight: normal;
+/* font-weight: normal; */
}
q:before, q:after
{
@@ -58,6 +58,23 @@
{
vertical-align: baseline;
}
+ tt, .qmlreadonly span, .qmldefault span
+ {
+ word-spacing:5px;
+ }
+ .heading
+ {
+ font: normal 600 16px/1.0 Arial;
+ padding-bottom: 15px;
+ }
+ .subtitle
+ {
+ font-size: 13px;
+ }
+ .small-subtitle
+ {
+ font-size: 13px;
+ }
legend
{
color: #000000;
@@ -73,7 +90,6 @@
{
font-size: 100%;
}
- /* Page style */
html
{
background-color: #e5e5e5;
@@ -92,6 +108,11 @@
{
font-style: italic;
}
+ a
+ {
+ color: #00732f;
+ text-decoration: none;
+ }
.header, .footer, .wrapper
{
min-width: 600px;
@@ -106,23 +127,19 @@
{
padding-left: 216px;
height: 15px;
- background: url(../images/bg_ul.png) no-repeat 0 0;
+ background: url(../images/page.png) no-repeat 0 0;
overflow: hidden;
}
.offline .wrapper .hd
{
- background: url(../images/bg_ul_blank.png) no-repeat 0 0;
+ background: url(../images/page.png) no-repeat 0 -15px;
}
.wrapper .hd span
{
height: 15px;
display: block;
- background: url(../images/bg_ur.png) no-repeat 100% 0;
overflow: hidden;
- }
- .offline .wrapper .hd span
- {
- /* background: url(../images/bg_ur_blank.png) no-repeat 100% 0; */
+ background: url(../images/page.png) no-repeat 100% -30px;
}
.wrapper .bd
{
@@ -137,18 +154,18 @@
{
padding-left: 216px;
height: 15px;
- background: url(../images/bg_ll.png) no-repeat 0 0;
+ background: url(../images/page.png) no-repeat 0 -75px;
overflow: hidden;
}
.offline .wrapper .ft
{
- background: url(../images/bg_ll_blank.png) no-repeat 0 0;
+ background: url(../images/page.png) no-repeat 0 -90px;
}
.wrapper .ft span
{
height: 15px;
display: block;
- background: url(../images/bg_lr.png) no-repeat 100% 0;
+ background: url(../images/page.png) no-repeat 100% -60px;
overflow: hidden;
}
.header, .footer
@@ -182,186 +199,9 @@
width: 302px;
height: 22px;
text-indent: -999em;
- background: url(../images/qt_ref_doc.png) no-repeat 0 0;
- }
- /* header elements */
- #nav-topright
- {
- height: 70px;
- }
-
- #nav-topright ul
- {
- list-style-type: none;
- float: right;
- width: 370px;
- margin-top: 11px;
- }
-
- #nav-topright li
- {
- display: inline-block;
- margin-right: 20px;
- float: left;
- }
-
- #nav-topright li.nav-topright-last
- {
- margin-right: 0;
- }
-
- #nav-topright li a
- {
- background: transparent url(../images/sprites-combined.png) no-repeat;
- height: 18px;
- display: block;
- overflow: hidden;
- text-indent: -9999px;
- }
-
- #nav-topright li.nav-topright-home a
- {
- width: 65px;
- background-position: -2px -91px;
- }
-
- #nav-topright li.nav-topright-home a:hover
- {
- background-position: -2px -117px;
- }
-
-
- #nav-topright li.nav-topright-dev a
- {
- width: 30px;
- background-position: -76px -91px;
- }
-
- #nav-topright li.nav-topright-dev a:hover
- {
- background-position: -76px -117px;
- }
-
-
- #nav-topright li.nav-topright-labs a
- {
- width: 40px;
- background-position: -114px -91px;
- }
-
- #nav-topright li.nav-topright-labs a:hover
- {
- background-position: -114px -117px;
- }
-
- #nav-topright li.nav-topright-doc a
- {
- width: 32px;
- background-position: -162px -91px;
- }
-
- #nav-topright li.nav-topright-doc a:hover, #nav-topright li.nav-topright-doc-active a
- {
- background-position: -162px -117px;
- }
-
- #nav-topright li.nav-topright-blog a
- {
- width: 40px;
- background-position: -203px -91px;
- }
-
- #nav-topright li.nav-topright-blog a:hover, #nav-topright li.nav-topright-blog-active a
- {
- background-position: -203px -117px;
- }
-
- #nav-topright li.nav-topright-shop a
- {
- width: 40px;
- background-position: -252px -91px;
- }
-
- #nav-topright li.nav-topright-shop a:hover, #nav-topright li.nav-topright-shop-active a
- {
- background-position: -252px -117px;
- }
-
- #nav-logo
- {
- background: transparent url( "../images/sprites-combined.png" ) no-repeat 0 -225px;
- left: -3px;
- position: absolute;
- width: 75px;
- height: 75px;
- top: 13px;
- }
- #nav-logo a
- {
- width: 75px;
- height: 75px;
- display: block;
- text-indent: -9999px;
- overflow: hidden;
- }
- /* Clearing */
- .header:after, .footer:after, .breadcrumb:after, .wrap .content:after, .group:after
- {
- content: ".";
- display: block;
- height: 0;
- clear: both;
- visibility: hidden;
+ background: url(../images/sprites-combined.png) no-repeat -78px -235px;
}
- /* ^ Clearing */
-
-
- .shortCut-topleft-inactive
- {
- padding-left: 3px;
- background: transparent url( "../images/sprites-combined.png" ) no-repeat 0px -58px;
- height: 20px;
- width: 93px;
- }
- .shortCut-topleft-inactive span
- {
- font-variant: normal;
- }
- #shortCut
- {
- padding-top: 10px;
- font-weight: bolder;
- color: #b0adab;
- }
- #shortCut ul
- {
- list-style-type: none;
- float: left;
- width: 347px;
- margin-left: 100px;
- }
- #shortCut li
- {
- display: inline-block;
- margin-right: 25px;
- float: left;
- white-space: nowrap;
- }
- #shortCut li a
- {
- color: #b0adab;
- text-decoration: none;
- }
- #shortCut li a:hover
- {
- color: #44a51c;
- text-decoration: none;
- }
-
- /* end of header elements */
-
- /* menu element */
.sidebar
{
float: left;
@@ -369,32 +209,32 @@
width: 200px;
font-size: 11px;
}
- .sidebar a
- {
- color: #00732f;
- text-decoration: none;
- }
- .offline .sidebar, .offline .feedback
+
+ .offline .sidebar, .offline .feedback, .offline .t_button
{
display: none;
}
+
.sidebar .searchlabel
{
padding: 0 0 2px 17px;
font: normal bold 11px/1.2 Verdana;
}
+
.sidebar .search
{
padding: 0 15px 0 16px;
}
+
.sidebar .search form
{
- width: 167px;
- height: 21px;
- padding: 2px 0 0 5px;
- background: url(../images/form_bg.png) no-repeat 0 0;
+ background: url(../images/sprites-combined.png) no-repeat -6px -348px;
+ height:21px;
+ padding:2px 0 0 5px;
+ width:167px;
}
- .sidebar .search form fieldset input#searchstring
+
+ .sidebar .search form input#pageType
{
width: 158px;
height: 19px;
@@ -403,35 +243,68 @@
outline: none;
font: 13px/1.2 Verdana;
}
+
.sidebar .box
{
padding: 17px 15px 5px 16px;
}
+
.sidebar .box .first
{
background-image: none;
}
+
.sidebar .box h2
{
font: normal 18px/1.2 Arial;
- padding: 15px 0 0 40px;
+ padding: 0;
min-height: 32px;
}
+ .sidebar .box h2 span
+ {
+ overflow: hidden;
+ display: inline-block;
+ }
.sidebar .box#lookup h2
{
- background: url(../images/api_lookup.png) no-repeat 0 0;
+ background-image: none;
+ }
+ .sidebar #lookup.box h2 span
+ {
+ background: url(../images/sprites-combined.png) no-repeat -6px -311px;
+ width: 27px;
+ height: 35px;
+ margin-right: 13px;
}
.sidebar .box#topics h2
{
- background: url(../images/api_topics.png) no-repeat 0 0;
+ background-image: none;
+ }
+ .sidebar #topics.box h2 span
+ {
+ background: url(../images/sprites-combined.png) no-repeat -94px -311px;
+ width: 27px;
+ height: 32px;
+ margin-right: 13px;
}
.sidebar .box#examples h2
{
- background: url(../images/api_examples.png) no-repeat 0 0;
+ background-image: none;
}
+ .sidebar #examples.box h2 span
+ {
+ background: url(../images/sprites-combined.png) no-repeat -48px -311px;
+ width: 30px;
+ height: 31px;
+ margin-right: 9px;
+ }
+
.sidebar .box .list
{
display: block;
+ max-height:200px;
+ overflow-y:auto;
+ overflow-x:none;
}
.sidebar .box .live
{
@@ -443,33 +316,34 @@
{
text-decoration: underline;
}
+ .sidebar .box ul
+ {
+ padding:10px;
+ }
.sidebar .box ul li
{
padding-left: 12px;
background: url(../images/bullet_gt.png) no-repeat 0 5px;
- margin-bottom: 15px;
+ margin-bottom: 5px;
}
.sidebar .bottombar
{
background: url(../images/box_bg.png) repeat-x 0 bottom;
}
- /* content elements */
.wrap
{
- overflow: hidden;
+ margin: 0 5px 0 208px;
+ overflow: visible;
}
.offline .wrap
{
margin: 0 5px 0 5px;
}
- /* tool bar */
.wrap .toolbar
{
background-color: #fafafa;
border-bottom: 1px solid #d1d1d1;
- height: 20px;
- margin-left: 3px;
- margin-right: 5px;
+ height: 20px;
position: relative;
}
.wrap .toolbar .toolblock
@@ -487,7 +361,7 @@
{
padding: 0 0 10px 21px;
right: 5px;
- vertical-align: top;
+ vertical-align: middle;
overflow: hidden;
}
.wrap .toolbar .toolbuttons .active
@@ -507,32 +381,56 @@
font-weight: bold;
color: #B0ADAB;
}
- #smallA
+
+ .toolbuttons #print
+ {
+ border-left: 1px solid #c5c4c4;
+ margin-top: 0;
+ padding-left: 7px;
+ text-indent: 0;
+ }
+ .toolbuttons #print a
+ {
+ width: 16px;
+ height: 16px;
+ }
+
+ .toolbuttons #print a span
+ {
+ width: 16px;
+ height: 16px;
+ text-indent: -999em;
+ display: block;
+ overflow: hidden;
+ background: url(../images/sprites-combined.png) no-repeat -137px -311px;
+ }
+
+ .toolbuttons #smallA
{
font-size: 10pt;
}
- #medA
+ .toolbuttons #medA
{
font-size: 12pt;
}
- #bigA
+ .toolbuttons #bigA
{
font-size: 14pt;
+ margin-right: 7px;
}
+
#smallA:hover, #medA:hover, #bigA:hover
{
color: #00732F;
}
- #print
+
+ .offline .wrap .breadcrumb
{
- font-size: 14pt;
- line-height: 20pt;
}
- #printIcon
+
+ .wrap .breadcrumb ul
{
- margin-left: 5px;
}
- /* bread crumbs */
.wrap .breadcrumb ul li
{
float: left;
@@ -545,6 +443,10 @@
{
font-weight: normal;
}
+ .wrap .breadcrumb ul li a
+ {
+ color: #363534;
+ }
.wrap .breadcrumb ul li.first
{
background-image: none;
@@ -554,29 +456,30 @@
.wrap .content
{
padding: 30px;
- position: relative;
+ word-wrap:break-word;
}
- /* text elements */
- .heading
+
+ .wrap .content li
{
- font: normal 600 16px/1.0 Arial;
- padding-bottom: 15px;
+ padding-left: 12px;
+ background: url(../images/bullet_sq.png) no-repeat 0 5px;
+ font: normal 400 10pt/1 Verdana;
+ /* color: #44a51c;*/
+ margin-bottom: 10px;
}
-
- .subtitle
+ .content li:hover
{
- font-size: 13px;
+ /* text-decoration: underline;*/
}
- .small-subtitle
+ .offline .wrap .content
{
- font-size: 13px;
+ padding-top: 15px;
}
-
+
.wrap .content h1
{
font: 600 18px/1.2 Arial;
- padding-bottom: 15px;
}
.wrap .content h2
{
@@ -588,25 +491,18 @@
}
.wrap .content p
{
- line-height:20px;
- padding:10px 5px 10px 5px;
+ line-height: 20px;
+ padding: 5px;
}
+ .wrap .content table p
+ {
+ line-height: 20px;
+ padding: 0px;
+ }
.wrap .content ul
{
padding-left: 25px;
- }
- .wrap .content li
- {
- padding-left: 12px;
- background: url(../images/bullet_sq.png) no-repeat 0 5px;
- font: normal 400 10pt/1 Verdana;
- margin-bottom: 10px;
- line-height: 14px;
- }
- a
- {
- color: #00732F;
- text-decoration: none;
+ padding-top: 10px;
}
a:hover
{
@@ -618,22 +514,26 @@
color: #4c0033;
text-decoration: none;
}
- .offline .wrap .content
+ .content a:visited:hover
{
- padding-top: 15px;
- }
- .footer
+ color: #4c0033;
+ text-decoration: underline;
+ } .footer
{
min-height: 100px;
color: #797775;
font: normal 9px/1 Verdana;
text-align: center;
padding-top: 40px;
+ background-color: #E6E7E8;
+ margin: 0;
}
.feedback
{
- float: right;
- padding-right: 10px;
+ float: none;
+ position: absolute;
+ right: 15px;
+ bottom: 10px;
font: normal 8px/1 Verdana;
color: #B0ADAB;
}
@@ -644,37 +544,244 @@
color: #00732F;
text-decoration: underline;
}
+ .header:after, .footer:after, .breadcrumb:after, .wrap .content:after, .group:after
+ {
+ content: ".";
+ display: block;
+ height: 0;
+ clear: both;
+ visibility: hidden;
+ }
+ #nav-topright
+ {
+ height: 70px;
+ }
+
+ #nav-topright ul
+ {
+ list-style-type: none;
+ float: right;
+ width: 370px;
+ margin-top: 11px;
+ }
+
+ #nav-topright li
+ {
+ display: inline-block;
+ margin-right: 20px;
+ float: left;
+ }
+
+ #nav-topright li.nav-topright-last
+ {
+ margin-right: 0;
+ }
+
+ #nav-topright li a
+ {
+ background: transparent url(../images/sprites-combined.png) no-repeat;
+ height: 18px;
+ display: block;
+ overflow: hidden;
+ text-indent: -9999px;
+ }
+
+ #nav-topright li.nav-topright-home a
+ {
+ width: 65px;
+ background-position: -2px -91px;
+ }
+
+ #nav-topright li.nav-topright-home a:hover
+ {
+ background-position: -2px -117px;
+ }
+
+
+ #nav-topright li.nav-topright-dev a
+ {
+ width: 30px;
+ background-position: -76px -91px;
+ }
+
+ #nav-topright li.nav-topright-dev a:hover
+ {
+ background-position: -76px -117px;
+ }
+
+
+ #nav-topright li.nav-topright-labs a
+ {
+ width: 40px;
+ background-position: -114px -91px;
+ }
+
+ #nav-topright li.nav-topright-labs a:hover
+ {
+ background-position: -114px -117px;
+ }
+
+ #nav-topright li.nav-topright-doc a
+ {
+ width: 32px;
+ background-position: -162px -91px;
+ }
+
+ #nav-topright li.nav-topright-doc a:hover, #nav-topright li.nav-topright-doc-active a
+ {
+ background-position: -162px -117px;
+ }
+
+ #nav-topright li.nav-topright-blog a
+ {
+ width: 40px;
+ background-position: -203px -91px;
+ }
+
+ #nav-topright li.nav-topright-blog a:hover, #nav-topright li.nav-topright-blog-active a
+ {
+ background-position: -203px -117px;
+ }
+
+ #nav-topright li.nav-topright-shop a
+ {
+ width: 40px;
+ background-position: -252px -91px;
+ }
+
+ #nav-topright li.nav-topright-shop a:hover, #nav-topright li.nav-topright-shop-active a
+ {
+ background-position: -252px -117px;
+ }
+
+ #nav-logo
+ {
+ background: transparent url(../images/sprites-combined.png ) no-repeat 0 -225px;
+ left: -3px;
+ position: absolute;
+ width: 75px;
+ height: 75px;
+ top: 13px;
+ }
+ #nav-logo a
+ {
+ width: 75px;
+ height: 75px;
+ display: block;
+ text-indent: -9999px;
+ overflow: hidden;
+ }
+
+
+ .shortCut-topleft-inactive
+ {
+ padding-left: 3px;
+ background: transparent url( ../images/sprites-combined.png) no-repeat 0px -58px;
+ height: 20px;
+ width: 47px;
+ }
+ .shortCut-topleft-inactive span
+ {
+ font-variant: normal;
+ }
+ .shortCut-topleft-inactive span a:hover, .shortCut-topleft-active a:hover
+ {
+ text-decoration:none;
+ }
+ #shortCut
+ {
+ padding-top: 10px;
+ font-weight: bolder;
+ color: #b0adab;
+ }
+ #shortCut ul
+ {
+ list-style-type: none;
+ float: left;
+ width: 347px;
+ margin-left: 100px;
+ }
+ #shortCut li
+ {
+ display: inline-block;
+ margin-right: 25px;
+ float: left;
+ white-space: nowrap;
+ }
+ #shortCut li a
+ {
+ color: #b0adab;
+ }
+ #shortCut li a:hover
+ {
+ color: #44a51c;
+ }
+
hr
{
- background-color: #e0e0e0;
+ background-color: #E6E6E6;
+ border: 1px solid #E6E6E6;
height: 1px;
width: 100%;
text-align: left;
margin: 15px 0px 15px 0px;
}
-
+
.content .alignedsummary
{
margin: 15px;
}
- /* tables */
+ pre
+ {
+ border: 1px solid #DDDDDD;
+ margin: 0 20px 10px 10px;
+ padding: 20px 15px 20px 20px;
+ overflow-x: auto;
+ }
table, pre
{
-moz-border-radius: 7px 7px 7px 7px;
background-color: #F6F6F6;
border: 1px solid #E6E6E6;
border-collapse: separate;
- font-size: 11px;
- min-width: 395px;
+ font-size: 11px;
+ /*min-width: 395px;*/
margin-bottom: 25px;
+ display: inline-block;
+ }
+ thead
+ {
+ margin-top: 5px;
+ font:600 12px/1.2 Arial;
+ }
+ th
+ {
+ padding: 5px 15px 5px 15px;
+ background-color: #E1E1E1;
+ /* border-bottom: 1px solid #E6E6E6;*/
+ border-left: 1px solid #E6E6E6;
+ /* border-right: 1px solid #E6E6E6;*/
}
- thead{margin-top: 5px;}
- th{ padding: 3px 15px 3px 15px;}
- td{padding: 3px 15px 3px 20px;}
+ td
+ {
+ padding: 3px 15px 3px 20px;
+ /* border-left: 1px solid #E6E6E6;
+ border-right: 1px solid #E6E6E6;*/
+ }
+ tr.odd td:hover, tr.even td:hover
+ {
+ /* border-right: 1px solid #C3C3C3;
+ border-left: 1px solid #C3C3C3;*/
+ }
+
+ td.rightAlign
+ {
+ padding: 3px 15px 3px 10px;
+ }
table tr.odd
{
border-left: 1px solid #E6E6E6;
- background-color: #F6F6F6;
+ background-color: #F6F6F6;
color: #66666E;
}
table tr.even
@@ -683,14 +790,11 @@
background-color: #ffffff;
color: #66666E;
}
- table tr.odd:hover
- {
- background-color: #E6E6E6;
- }
- table tr.even:hover
+ table tr.odd td:hover, table tr.even td:hover
{
background-color: #E6E6E6;
}
+
span.comment
{
color: #8B0000;
@@ -700,15 +804,7 @@
{
color: #254117;
}
- pre
- {
- -moz-border-radius:7px 7px 7px 7px;
- background-color:#F6F6F6;
- border:1px solid #DDDDDD;
- margin:0 20px 10px 10px;
- padding:20px 15px 20px 20px;
- overflow-x:auto;
- }
+
.qmltype
{
text-align: center;
@@ -736,11 +832,11 @@
#feedbackBox
{
- display:none;
- -moz-border-radius:7px 7px 7px 7px;
- border:1px solid #DDDDDD;
- position:fixed;
- top:100px;
+ display: none;
+ -moz-border-radius: 7px 7px 7px 7px;
+ border: 1px solid #DDDDDD;
+ position: fixed;
+ top: 100px;
left: 33%;
height: 190px;
width: 400px;
@@ -748,29 +844,29 @@
background-color: #e6e7e8;
z-index: 4;
}
- #feedcloseX a
+ #feedcloseX
{
- display:inline;
+ display: inline;
padding: 5px 5px 0 0;
- margin-bottom:3px;
+ margin-bottom: 3px;
color: #363534;
- font-weight:600;
+ font-weight: 600;
float: right;
text-decoration: none;
}
+
#feedbox
- /* here */
{
- display:inline;
+ display: inline;
width: 370px;
height: 120px;
- margin:0px 25px 10px 15px;
+ margin: 0px 25px 10px 15px;
}
#feedsubmit
{
- display:inline;
- float:right;
- margin:4px 32px 0 0;
+ display: inline;
+ float: right;
+ margin: 4px 32px 0 0;
}
#blurpage
{
@@ -786,36 +882,77 @@
}
.toc
{
- float: right;
- -moz-border-radius:7px 7px 7px 7px;
- background-color:#F6F6F6;
- border:1px solid #DDDDDD;
- margin:0 20px 10px 10px;
- padding:20px 15px 20px 20px;
+ float: right;
+ -moz-border-radius: 7px 7px 7px 7px;
+ background-color: #F6F6F6;
+ border: 1px solid #DDDDDD;
+ margin: 0 20px 10px 10px;
+ padding: 20px 15px 20px 20px;
height: auto;
width: 200px;
}
- .toc h3
+ .toc h3, .generic a
{
- font:600 12px/1.2 Arial;
+ font: 600 12px/1.2 Arial;
}
+
+ .generic{
+ max-width:75%;
+ }
+ .generic td{
+ padding:0;
+ }
+
+ .generic .odd .alphaChar{
+ background-color: #F6F6F6;
+ }
+
+ .generic .even .alphaChar{
+ background-color: #FFFFFF;
+ }
+
+ .alignedsummary{}
+ .propsummary{}
+ .memItemLeft{}
+ .memItemRight{}
+ .bottomAlign{}
+ .highlightedCode
+ {
+ margin:10px;
+ }
+ .LegaleseLeft{}
+ .valuelist{}
+ .annotated{}
+ .obsolete{}
+ .compat{}
+ .flags{}
+ .qmlsummary{}
+ .qmlitem{}
+ .qmlproto{}
+ .qmlname{}
+ .qmlreadonly{}
+ .qmldefault{}
+ .qmldoc{}
+ .qt-style{}
+ .redFont{}
+ code{}
.wrap .content .toc ul
{
- /* float: left;*/
padding-left: 0px;
-
}
.wrap .content .toc .level2
{
- /* float: left;*/
- padding-left: 15px;
-
+ margin-left: 15px;
+ }
+
+ .wrap .content .toc .level3
+ {
+ margin-left: 30px;
}
-
.content .toc li
{
@@ -823,133 +960,220 @@
background: url(../images/bullet_dn.png) no-repeat 0 5px;
}
- .relpage
+ .relpage
{
-moz-border-radius: 7px 7px 7px 7px;
border: 1px solid #DDDDDD;
padding: 25px 25px;
- clear:both;
+ clear: both;
}
.relpage ul
{
float: none;
padding: 15px;
}
- .content .relpage li
+ .content .relpage li
{
font: normal 11px/1.2 Verdana;
}
- /* edit */
h3.fn, span.fn
{
background-color: #F6F6F6;
border-width: 1px;
border-style: solid;
border-color: #E6E6E6;
- font-weight: bold;
- /* padding: 6px 0px 6px 10px;*/
- /* margin: 42px 0px 0px 0px;*/
+ font-weight: bold;
+ word-spacing:3px;
}
- /* edit */
- .indexbox
- {
- width: 100%;
- }
- .content .indexboxcont li
- {
- font: normal 600 13px/1 Verdana;
- }
+ .functionIndex {
+ font-size:12pt;
+ word-spacing:10px;
+ margin-bottom:10px;
+ background-color: #F6F6F6;
+ border-width: 1px;
+ border-style: solid;
+ border-color: #E6E6E6;
+ width:100%;
+ }
+
+ .centerAlign
+ {
+ text-align:center;
+ }
+
+ .rightAlign
+ {
+ text-align:right;
+ }
- /* .indexbox a
- {
- color: #00732f;
- text-decoration: none;
- }*/
- .indexbox a:hover, .indexbox a:visited:hover
- {
- color: #4c0033;
- text-decoration: underline;
- }
- .indexbox a:visited
+
+ .leftAlign
+ {
+ text-align:left;
+ }
+
+ .topAlign{
+ vertical-align:top
+ }
+
+ .functionIndex a{
+ display:inline-block;
+ }
+
+ /* start index box */
+ .indexbox
{
- color: #00732f;
- text-decoration: none;
+ width: 100%;
+ display:inline-block;
}
.indexboxcont
{
display: block;
+ /* overflow: hidden;*/
}
.indexboxbar
{
- background: transparent url( "../images/horBar.png" ) repeat-x left bottom;
+ background: transparent url(../images/horBar.png ) repeat-x left bottom;
margin-bottom: 25px;
+ /* background-image: none;
+ border-bottom: 1px solid #e2e2e2;*/
}
.indexboxcont .section
{
- display: inline-block;
+ display: inline-block;
width: 49%;
*width:42%;
_width:42%;
padding:0 2% 0 1%;
vertical-align:top;
+
}
.indexboxcont .indexIcon
- {
+ {
width: 11%;
*width:18%;
_width:18%;
overflow:hidden;
+
}
+
+.indexboxcont .section {
+ float: left;
+}
+
.indexboxcont .section p
- {
+ {
padding-top: 20px;
padding-bottom: 20px;
}
-
.indexboxcont .sectionlist
{
display: inline-block;
- width: 33%;
- margin-right: -2px;
- vertical-align: top;
+ vertical-align:top;
+ width: 32.5%;
padding: 0;
}
- .tricol
- {
-
- }
.indexboxcont .sectionlist ul
{
- padding-left: 15px;
margin-bottom: 20px;
}
-/*
+
.indexboxcont .sectionlist ul li
{
line-height: 12px;
}
-*/
- .lastcol
+
+ .content .indexboxcont li
{
- display: inline-block;
- vertical-align: top;
- padding: 0;
- max-width: 25%;
+ font: normal 600 13px/1 Verdana;
}
- .tricol .lastcol
+ .indexbox a:hover, .indexbox a:visited:hover
{
- margin-left:-6px;
+ color: #4c0033;
+ text-decoration: underline;
}
- /*.toc ul*/
+ .indexbox a:visited
+ {
+ color: #00732f;
+ text-decoration: none;
+ }
+
+ .indexbox .indexIcon {
+ width: 11%;
+ }
+
+
+ .indexbox .indexIcon span
+ {
+ display: block;
+ }
+
+ .indexbox.guide .indexIcon span
+ {
+ width: 96px;
+ height: 137px;
+ background: url(../images/sprites-combined.png) no-repeat -5px -376px;
+ padding: 0;
+ }
+
+ .indexbox.tools .indexIcon span
+ {
+ width: 115px;
+ height: 137px;
+ background: url(../images/sprites-combined.png) no-repeat -111px -376px;
+ padding: 0;
+ }
+ .indexboxcont:after
+ {
+ content: ".";
+ display: block;
+ height: 0;
+ clear: both;
+ visibility: hidden;
+ }
+
+.sidebar .search form input.loading
+{
+ background:url("../images/spinner.gif") no-repeat scroll right center transparent;
+}
+
+ /* end of screen media */
+
+.flowList{
+vertical-align:top;
+}
+.alphaChar{
+width:100%;
+background-color:#F6F6F6;
+border:1px solid #E6E6E6;
+font-size:12pt;
+padding-left:10px;
+margin-top:10px;
+margin-bottom:10px;
+}
+
+.flowList dl{
+}
+.flowList dd{
+display:inline-block;
+margin-left:10px;
+width:250px;
+}
+.wrap .content .flowList p{
+padding:0px;
+}
+pre.highlightedCode {
+ display: block;
+ overflow:hidden;
+}
- /* end page elements */
}
/* end of screen media */
@@ -957,7 +1181,7 @@
@media print
{
- .header, .footer, .toolbar, .feedback, .wrapper .hd, .wrapper .bd .sidebar, .wrapper .ft
+ input, textarea, .header, .footer, .toolbar, .feedback, .wrapper .hd, .wrapper .bd .sidebar, .wrapper .ft
{
display: none;
background: none;
diff --git a/doc/src/template/style/superfish.css b/doc/src/template/style/superfish.css
new file mode 100644
index 0000000000..0cf0f7dc96
--- /dev/null
+++ b/doc/src/template/style/superfish.css
@@ -0,0 +1,51 @@
+.sf-menu, .sf-menu * {
+ margin: 0;
+ padding: 0;
+ list-style: none;
+}
+.sf-menu {
+ line-height: 1.0;
+}
+.sf-menu ul {
+ position: absolute;
+ top: -999em;
+ width: 10em; /* left offset of submenus need to match (see below) */
+}
+.sf-menu ul li {
+ width: 100%;
+}
+.sf-menu li:hover {
+ visibility: inherit; /* fixes IE7 'sticky bug' */
+}
+.sf-menu li {
+ float: left;
+ position: relative;
+}
+.sf-menu a {
+ display: block;
+ position: relative;
+}
+.sf-menu li:hover ul,
+.sf-menu li.sfHover ul {
+ left: 0;
+ top: 2.5em; /* match top ul list item height */
+ z-index: 99;
+}
+ul.sf-menu li:hover li ul,
+ul.sf-menu li.sfHover li ul {
+ top: -999em;
+}
+ul.sf-menu li li:hover ul,
+ul.sf-menu li li.sfHover ul {
+ left: 10em; /* match ul width */
+ top: 0;
+}
+ul.sf-menu li li:hover li ul,
+ul.sf-menu li li.sfHover li ul {
+ top: -999em;
+}
+ul.sf-menu li li li:hover ul,
+ul.sf-menu li li li.sfHover ul {
+ left: 10em; /* match ul width */
+ top: 0;
+}
diff --git a/doc/src/template/style/superfish_skin.css b/doc/src/template/style/superfish_skin.css
new file mode 100644
index 0000000000..8d84827c41
--- /dev/null
+++ b/doc/src/template/style/superfish_skin.css
@@ -0,0 +1,83 @@
+
+/*** DEMO SKIN ***/
+.sf-menu {
+ float: left;
+ margin-bottom: 1em;
+}
+.sf-menu a {
+ border-left: 1px solid #fff;
+ border-top: 1px solid #CFDEFF;
+ padding: .75em 1em;
+ text-decoration:none;
+}
+.sf-menu a, .sf-menu a:visited { /* visited pseudo selector so IE6 applies text colour*/
+ color: #13a;
+}
+.sf-menu li {
+ background: #BDD2FF;
+}
+.sf-menu li li {
+ background: #AABDE6;
+}
+.sf-menu li li li {
+ background: #9AAEDB;
+}
+.sf-menu li:hover, .sf-menu li.sfHover,
+.sf-menu a:focus, .sf-menu a:hover, .sf-menu a:active {
+ background: #CFDEFF;
+ outline: 0;
+}
+
+/*** arrows **/
+.sf-menu a.sf-with-ul {
+ padding-right: 2.25em;
+ min-width: 1px; /* trigger IE7 hasLayout so spans position accurately */
+}
+.sf-sub-indicator {
+ position: absolute;
+ display: block;
+ right: .75em;
+ top: 1.05em; /* IE6 only */
+ width: 10px;
+ height: 10px;
+ text-indent: -999em;
+ overflow: hidden;
+ background: url('../images/arrows-ffffff.png') no-repeat -10px -100px; /* 8-bit indexed alpha png. IE6 gets solid image only */
+}
+a > .sf-sub-indicator { /* give all except IE6 the correct values */
+ top: .8em;
+ background-position: 0 -100px; /* use translucent arrow for modern browsers*/
+}
+/* apply hovers to modern browsers */
+a:focus > .sf-sub-indicator,
+a:hover > .sf-sub-indicator,
+a:active > .sf-sub-indicator,
+li:hover > a > .sf-sub-indicator,
+li.sfHover > a > .sf-sub-indicator {
+ background-position: -10px -100px; /* arrow hovers for modern browsers*/
+}
+
+/* point right for anchors in subs */
+.sf-menu ul .sf-sub-indicator { background-position: -10px 0; }
+.sf-menu ul a > .sf-sub-indicator { background-position: 0 0; }
+/* apply hovers to modern browsers */
+.sf-menu ul a:focus > .sf-sub-indicator,
+.sf-menu ul a:hover > .sf-sub-indicator,
+.sf-menu ul a:active > .sf-sub-indicator,
+.sf-menu ul li:hover > a > .sf-sub-indicator,
+.sf-menu ul li.sfHover > a > .sf-sub-indicator {
+ background-position: -10px 0; /* arrow hovers for modern browsers*/
+}
+
+/*** shadows for all but IE6 ***/
+.sf-shadow ul {
+ background: url('../images/shadow.png') no-repeat bottom right;
+ padding: 0 8px 9px 0;
+ -moz-border-radius-bottomleft: 17px;
+ -moz-border-radius-topright: 17px;
+ -webkit-border-top-right-radius: 17px;
+ -webkit-border-bottom-left-radius: 17px;
+}
+.sf-shadow ul.sf-shadow-off {
+ background: transparent;
+}
diff --git a/doc/src/tutorials/addressbook-fr.qdoc b/doc/src/tutorials/addressbook-fr.qdoc
index 98c44a3266..85a9acffbb 100644
--- a/doc/src/tutorials/addressbook-fr.qdoc
+++ b/doc/src/tutorials/addressbook-fr.qdoc
@@ -42,10 +42,6 @@
/*!
\page tutorials-addressbook-fr.html
- \startpage {index.html}{Qt Reference Documentation}
- \contentspage Tutorials
- \nextpage {tutorials/addressbook-fr/part1}{Chapitre 1}
-
\title Tutoriel "Carnet d'adresses"
\brief Une introduction à la programation d'interface graphique montrant comment construire une application simple avec Qt.
@@ -93,8 +89,7 @@
/*!
\page tutorials-addressbook-fr-part1.html
- \contentspage {Tutoriel "Carnet d'adresses"}{Sommaire}
- \nextpage {tutorials/addressbook-fr/part2}{Chapitre 2}
+
\example tutorials/addressbook-fr/part1
\title Carnet d'adresses 1 - Conception de l'interface utilisateur
@@ -252,9 +247,7 @@
/*!
\page tutorials-addressbook-fr-part2.html
- \previouspage {tutorials/addressbook-fr/part1}{Chapitre 1}
- \contentspage {Tutoriel "Carnet d'adresses"}{Sommaire}
- \nextpage {tutorials/addressbook-fr/part3}{Chapitre 3}
+
\example tutorials/addressbook-fr/part2
\title Carnet d'adresses 2 - Ajouter des adresses
@@ -414,9 +407,7 @@
/*!
\page tutorials-addressbook-fr-part3.html
- \previouspage {tutorials/addressbook-fr/part2}{Chapitre 2}
- \contentspage {Tutoriel "Carnet d'adresses"}{Sommaire}
- \nextpage {tutorials/addressbook-fr/part4}{Chapitre 4}
+
\example tutorials/addressbook-fr/part3
\title Carnet d'adresses 3 - Navigation entre les éléments
@@ -536,9 +527,7 @@
/*!
\page tutorials-addressbook-fr-part4.html
- \previouspage {tutorials/addressbook-fr/part3}{Chapitre 3}
- \contentspage {Tutoriel "Carnet d'adresses"}{Sommaire}
- \nextpage {tutorials/addressbook-fr/part5}{Chapitre 5}
+
\example tutorials/addressbook-fr/part4
\title Carnet d'Adresses 4 - éditer et supprimer des adresses
@@ -688,9 +677,7 @@
/*!
\page tutorials-addressbook-fr-part5.html
- \previouspage {tutorials/addressbook-fr/part4}{Chapitre 4}
- \contentspage {Tutoriel "Carnet d'adresses"}{Sommaire}
- \nextpage {tutorials/addressbook-fr/part6}{Chapitre 6}
+
\example tutorials/addressbook-fr/part5
\title Carnet d'adresse 5 - Ajout d'une fonction de recherche
@@ -839,9 +826,7 @@
/*!
\page tutorials-addressbook-part6.html
- \previouspage {tutorials/addressbook-fr/part5}{Chapitre 5}
- \contentspage {Tutoriel "Carnet d'adresses"}{Sommaire}
- \nextpage {tutorials/addressbook-fr/part7}{Chapitre 7}
+
\example tutorials/addressbook-fr/part6
\title Carnet d'Adresses 6 - Sauvegarde et chargement
@@ -978,8 +963,7 @@
/*!
\page tutorials-addressbook-fr-part7.html
- \previouspage {tutorials/addressbook-fr/part6}{Chapitre 6}
- \contentspage {Tutoriel "Carnet d'adresses"}{Sommaire}
+
\example tutorials/addressbook-fr/part7
\title Carnet d'adresse 7 - Fonctionnalités avancées
diff --git a/doc/src/tutorials/addressbook.qdoc b/doc/src/tutorials/addressbook.qdoc
index 04410eb1dd..e5cb448a8a 100644
--- a/doc/src/tutorials/addressbook.qdoc
+++ b/doc/src/tutorials/addressbook.qdoc
@@ -42,15 +42,11 @@
/*!
\page tutorials-addressbook.html
- \startpage {index.html}{Qt Reference Documentation}
- \contentspage Tutorials
- \nextpage {tutorials/addressbook/part1}{Chapter 1}
-
\title Address Book Tutorial
\brief An introduction to GUI programming, showing how to put together a
simple yet fully-functioning application.
- This tutorial gives an introduction to GUI programming using the Qt
+ This tutorial is an introduction to GUI programming with the Qt
cross-platform framework.
\image addressbook-tutorial-screenshot.png
@@ -61,8 +57,8 @@
Some commonly used features are never used in this tutorial.
\endomit
- In the process, we will learn about some basic technologies provided by Qt,
- such as
+ In this tutorial, you will learn about some of the basic
+ components of Qt, including:
\list
\o Widgets and layout managers
@@ -71,13 +67,9 @@
\o Input and output devices
\endlist
- If you are completely new to Qt, please read \l{How to Learn Qt} if you
- have not already done so.
-
- The tutorial's source code is located in Qt's \c examples/tutorials/addressbook
- directory.
+ If you are new to Qt, we recommend reading \l{How to Learn Qt} first.
- Tutorial chapters:
+ Tutorial contents:
\list 1
\o \l{tutorials/addressbook/part1}{Designing the User Interface}
@@ -89,28 +81,30 @@
\o \l{tutorials/addressbook/part7}{Additional Features}
\endlist
- Although this little application does not look much like a fully-fledged
- modern GUI application, it uses many of the basic techniques that are used
- in more complex applications. After you have worked through it, we
- recommend checking out the \l{mainwindows/application}{Application}
- example, which presents a small GUI application, with menus, toolbars, a
- status bar, and so on.
+ The tutorial source code is located in \c{examples/tutorials/addressbook}.
+
+ Although this little application does not look much like a
+ fully-fledged modern GUI application, it uses many of the basic
+ elements that are used in more complex applications. After you
+ have worked through this tutorial, we recommend reading the
+ \l{mainwindows/application}{Application} example, which presents a
+ small GUI application, with menus, toolbars, a status bar, and so
+ on.
*/
/*!
\page tutorials-addressbook-part1.html
- \contentspage {Address Book Tutorial}{Contents}
- \nextpage {tutorials/addressbook/part2}{Chapter 2}
+
\example tutorials/addressbook/part1
- \title Address Book 1 - Designing the User Interface
+ \title Part 1 - Designing the User Interface
- The first part of this tutorial covers the design of the basic graphical
- user interface (GUI) we use for the Address Book application.
+ This first part covers the design of the basic graphical user
+ interface (GUI) for our address book application.
- The first step to creating a GUI program is to design the user interface.
- In this chapter, our goal is to set up the labels and input fields needed
- to implement a basic address book application. The figure below is a
- screenshot of our expected output.
+ The first step in creating a GUI program is to design the user
+ interface. Here the our goal is to set up the labels and input
+ fields to implement a basic address book. The figure below is a
+ screenshot of the expected output.
\image addressbook-tutorial-part1-screenshot.png
@@ -169,14 +163,15 @@
\snippet tutorials/addressbook/part1/addressbook.h class definition
- The class holds declarations of \c nameLine and \c addressText, the
- private instances of QLineEdit and QTextEdit mentioned earlier.
- You will see, in the coming chapters, that data stored in \c nameLine and
- \c addressText is needed for many of the address book's functions.
+ The class holds declarations of \c nameLine and \c addressText,
+ the private instances of QLineEdit and QTextEdit mentioned
+ earlier. The data stored in \c nameLine and \c addressText will
+ be needed for many of the address book functions.
- We do not need to include declarations of the QLabel objects we will use
- because we will not need to reference them once they have been created.
- The way Qt tracks the ownership of objects is explained in the next section.
+ We don't include declarations of the QLabel objects we will use
+ because we will not need to reference them once they have been
+ created. The way Qt tracks the ownership of objects is explained
+ in the next section.
The Q_OBJECT macro itself implements some of the more advanced features of Qt.
For now, it is useful to think of the Q_OBJECT macro as a shortcut which allows
@@ -195,15 +190,14 @@
\snippet tutorials/addressbook/part1/addressbook.cpp constructor and input fields
- Within this constructor, we declare and instantiate two local QLabel objects,
- \c nameLabel and \c addressLabel, as well as instantiate \c nameLine and
- \c addressText. The
- \l{QObject::tr()}{tr()} function returns a translated version of the
- string, if there is one available; otherwise, it returns the string itself.
- Think of this function as an \c{<insert translation here>} marker to mark
- QString objects for translation. You will notice, in the coming chapters as
- well as in the \l{Qt Examples}, that we include it whenever we use a
- translatable string.
+ In this constructor, the QLabel objects \c nameLabel and \c
+ addressLabel are instantiated, as well as \c nameLine and \c
+ addressText. The \l{QObject::tr()}{tr()} function returns a
+ translated version of the string, if there is one
+ available. Otherwise it returns the string itself. This function
+ marks its QString parameter as one that should be translated into
+ other languages. It should be used wherever a translatable string
+ appears.
When programming with Qt, it is useful to know how layouts work.
Qt provides three main layout classes: QHBoxLayout, QVBoxLayout
@@ -254,14 +248,12 @@
/*!
\page tutorials-addressbook-part2.html
- \previouspage Address Book 1 - Designing the User Interface
- \contentspage {Address Book Tutorial}{Contents}
- \nextpage {tutorials/addressbook/part3}{Chapter 3}
+
\example tutorials/addressbook/part2
- \title Address Book 2 - Adding Addresses
+ \title Part 2 - Adding Addresses
- The next step to creating our basic address book application is to allow
- a little bit of user interaction.
+ The next step in creating the address book is to implement some
+ user interactions.
\image addressbook-tutorial-part2-add-contact.png
@@ -283,9 +275,9 @@
However, for an overview of Qt's signals and slots concept, you can refer
to the \l{Signals and Slots} document.
- Three QPushButton objects: \c addButton, \c submitButton and
- \c cancelButton, are now included in our private variable declarations,
- along with \c nameLine and \c addressText from the last chapter.
+ Three QPushButton objects (\c addButton, \c submitButton, and
+ \c cancelButton) are now included in our private variable declarations,
+ along with \c nameLine and \c addressText.
\snippet tutorials/addressbook/part2/addressbook.h pushbutton declaration
@@ -407,20 +399,20 @@
/*!
\page tutorials-addressbook-part3.html
- \previouspage Address Book 2 - Adding Addresses
- \contentspage {Address Book Tutorial}{Contents}
- \nextpage {tutorials/addressbook/part4}{Chapter 4}
+
\example tutorials/addressbook/part3
- \title Address Book 3 - Navigating between Entries
+ \title Part 3 - Navigating between Entries
- The address book application is now half complete. We need to add some
- functions to navigate between contacts. But first, we have to decide
- what sort of a data structure we would like to use to hold these contacts.
+ The address book is now about half complete. We should add the
+ capability to navigate among the contacts, but first we must
+ decide what sort of a data structure we need for containing these
+ contacts.
- In Chapter 2, we used a QMap of key-value pairs with the contact's name
- as the \e key, and the contact's address as the \e value. This works well
- for our case. However, in order to navigate and display each entry, a
- little bit of enhancement is needed.
+ In the previous section, we used a QMap of key-value pairs with
+ the contact's name as the \e key, and the contact's address as the
+ \e value. This works well for our case. However, in order to
+ navigate and display each entry, a little bit of enhancement is
+ needed.
We enhance the QMap by making it replicate a data structure similar to a
circularly-linked list, where all elements are connected, including the
@@ -431,9 +423,9 @@
\section1 Defining the AddressBook Class
- In order to add navigation functions to the address book application, we
- need to add two more slots to our \c AddressBook class: \c next() and
- \c previous(). These are added to our \c addressbook.h file:
+ To add navigation functions to the address book, we must add two
+ more slots to the \c AddressBook class: \c next() and \c
+ previous() to the \c addressbook.h file:
\snippet tutorials/addressbook/part3/addressbook.h navigation functions
@@ -455,8 +447,7 @@
\snippet tutorials/addressbook/part3/addressbook.cpp connecting navigation signals
- The image below is our expected graphical user interface. Notice that it
- is getting closer to our final application.
+ The image below is the expected graphical user interface.
\image addressbook-tutorial-part3-screenshot.png
@@ -525,27 +516,26 @@
/*!
\page tutorials-addressbook-part4.html
- \previouspage Address Book 3 - Navigating between Entries
- \contentspage {Address Book Tutorial}{Contents}
- \nextpage {tutorials/addressbook/part5}{Chapter 5}
+
\example tutorials/addressbook/part4
- \title Address Book 4 - Editing and Removing Addresses
+ \title Part 4 - Editing and Removing Addresses
- In this chapter, we look at ways to modify the contents of contacts stored
- in the address book application.
+ Now we look at ways to modify the contents of contacts stored in
+ the address book.
\image addressbook-tutorial-screenshot.png
- We now have an address book that not only holds contacts in an organized
- manner, but also allows navigation. It would be convenient to include
- edit and remove functions so that a contact's details can be changed
- when needed. However, this requires a little improvement, in the form of
- enums. In our previous chapters, we had two modes: \c{AddingMode} and
- \c{NavigationMode} - but they were not defined as enums. Instead, we
- enabled and disabled the corresponding buttons manually, resulting in
- multiple lines of repeated code.
+ We now have an address book that not only holds contacts in an
+ organized manner, but also allows navigation. It would be
+ convenient to include edit and remove functions so that a
+ contact's details can be changed when needed. However, this
+ requires a little improvement, in the form of enums. We defined
+ two modes: \c{AddingMode} and \c{NavigationMode}, but they were
+ not defined as enum values. Instead, we enabled and disabled the
+ corresponding buttons manually, resulting in multiple lines of
+ repeated code.
- In this chapter, we define the \c Mode enum with three different values:
+ Here we define the \c Mode enum with three different values:
\list
\o \c{NavigationMode},
@@ -579,10 +569,10 @@
\section1 Implementing the AddressBook Class
- We now have to implement the mode-changing features of the address book
- application. The \c editButton and \c removeButton are instantiated and
- disabled by default, as the address book starts up with zero contacts in
- memory.
+ We now implement the mode-changing features of the address
+ book. The \c editButton and \c removeButton are instantiated and
+ disabled by default. The address book starts with zero contacts
+ in memory.
\snippet tutorials/addressbook/part4/addressbook.cpp edit and remove buttons
@@ -653,33 +643,31 @@
\snippet tutorials/addressbook/part4/addressbook.cpp update interface() part 2
- By performing the task of setting the mode and updating the user interface in
- the same function, we avoid the possibility of the user interface getting "out
- of sync" with the internal state of the application.
-*/
+ By setting the mode and updating the user interface in the same
+ function, we avoid the possibility of the user interface getting
+ out of sync with the internal state of the application.
+ */
/*!
\page tutorials-addressbook-part5.html
- \previouspage Address Book 4 - Editing and Removing Addresses
- \contentspage {Address Book Tutorial}{Contents}
- \nextpage {tutorials/addressbook/part6}{Chapter 6}
+
\example tutorials/addressbook/part5
- \title Address Book 5 - Adding a Find Function
+ \title Part 5 - Adding a Find Function
- In this chapter, we look at ways to locate contacts and addresses in
- the address book application.
+ Here we look at ways to locate contacts and addresses in the
+ address book.
\image addressbook-tutorial-part5-screenshot.png
- As we keep adding contacts to our address book application, it becomes
- tedious to navigate them with the \e Next and \e Previous buttons. In this
- case, a \e Find function would be more efficient in looking up contacts.
- The screenshot above shows the \e Find button and its position on the panel
- of buttons.
+ As we add contacts to our address book, it becomes tedious to
+ navigate the list with the \e Next and \e Previous buttons. A \e
+ Find function would be more efficient. The screenshot above shows
+ the \e Find button and its position on the panel of buttons.
- When the user clicks on the \e Find button, it is useful to display a
- dialog that can prompt the user for a contact's name. Qt provides QDialog,
- which we subclass in this chapter, to implement a \c FindDialog class.
+ When the user clicks on the \e Find button, it is useful to
+ display a dialog that prompts for a contact's name. Qt provides
+ QDialog, which we subclass here to implement a \c FindDialog
+ class.
\section1 Defining the FindDialog Class
@@ -806,20 +794,18 @@
/*!
\page tutorials-addressbook-part6.html
- \previouspage Address Book 5 - Adding a Find Function
- \contentspage {Address Book Tutorial}{Contents}
- \nextpage {tutorials/addressbook/part7}{Chapter 7}
+
\example tutorials/addressbook/part6
- \title Address Book 6 - Loading and Saving
+ \title Part 6 - Loading and Saving
- This chapter covers the file handling features of Qt that we use to write
- loading and saving routines for the address book application.
+ This part covers the Qt file handling features we use to write
+ loading and saving routines for the address book.
\image addressbook-tutorial-part6-screenshot.png
- Although browsing and searching for contacts are useful features, our
- address book is not ready for use until we can save existing contacts and
- load them again at a later time.
+ Although browsing and searching the contact list are useful
+ features, our address book is not complete until we can save
+ existing contacts and load them again at a later time.
Qt provides a number of classes for \l{Input/Output and Networking}
{input and output}, but we have chosen to use two which are simple to use
@@ -930,21 +916,20 @@
/*!
\page tutorials-addressbook-part7.html
- \previouspage Address Book 6 - Loading and Saving
- \contentspage {Address Book Tutorial}{Contents}
+
\example tutorials/addressbook/part7
- \title Address Book 7 - Additional Features
+ \title Part 7 - Additional Features
- This chapter covers some additional features that make the address book
- application more convenient for everyday use.
+ This part covers some additional features that make the address
+ book more convenient for the frequent user.
\image addressbook-tutorial-part7-screenshot.png
- Although our address book application is useful in its own right, it would
- be useful if we could exchange contact data with other applications.
- The vCard format is a popular file format that can be used for this purpose.
- In this chapter, we extend our address book client to allow contacts to
- be exported to vCard \c{.vcf} files.
+ Although our address book is useful in isolation, it would be
+ better if we could exchange contact data with other applications.
+ The vCard format is a popular file format that can be used for
+ this purpose. Here we extend our address book client to allow
+ contacts to be exported to vCard \c{.vcf} files.
\section1 Defining the AddressBook Class
diff --git a/doc/src/tutorials/widgets-tutorial.qdoc b/doc/src/tutorials/widgets-tutorial.qdoc
index 2b04035d32..2b5f8cce25 100644
--- a/doc/src/tutorials/widgets-tutorial.qdoc
+++ b/doc/src/tutorials/widgets-tutorial.qdoc
@@ -45,84 +45,97 @@
\brief This tutorial covers basic usage of widgets and layouts, showing how
they are used to build GUI applications.
- \startpage {index.html}{Qt Reference Documentation}
- \contentspage Tutorials
- \nextpage {tutorials/widgets/toplevel}{Creating a Window}
-
-
\section1 Introduction
- Widgets are the basic building blocks of graphical user interface (GUI)
- applications made with Qt. Each GUI component, such as a button, label or
- text editor, is a widget and can be placed within an existing user
- interface or displayed as an independent window. Each type of component
- is provided by a particular subclass of QWidget, which is itself a
- subclass of QObject.
-
- QWidget is not an abstract class; it can be used as a container for other
- widgets, and can be subclassed with minimal effort to create custom
- widgets. It is most often used to create windows in which other widgets
- are placed.
-
- As with \l{QObject}s, widgets can be created with parent objects to
- indicate ownership, ensuring that objects are deleted when they are no
- longer used. With widgets, these parent-child relationships have an
- additional meaning: each child is displayed within the screen area
- occupied by its parent. This means that, when a window is deleted, all
- the widgets it contains are automatically deleted.
+ Widgets are the basic building blocks for graphical user interface
+ (GUI) applications built with Qt. Each GUI component (e.g.
+ buttons, labels, text editor) is a \l{QWidget}{widget} that is
+ placed somewhere within a user interface window, or is displayed
+ as an independent window. Each type of widge is provided by a
+ subclass of QWidget, which is itself a subclass of QObject.
+
+ QWidget is not an abstract class. It can be used as a container
+ for other widgets, and it can be subclassed with minimal effort to
+ create new, custom widgets. QWidget is often used to create a
+ window inside which other \l{QWidget}s are placed.
+
+ As with \l{QObject}s, \l{QWidget}s can be created with parent
+ objects to indicate ownership, ensuring that objects are deleted
+ when they are no longer used. With widgets, these parent-child
+ relationships have an additional meaning: Each child widget is
+ displayed within the screen area occupied by its parent widget.
+ This means that when you delete a window widget, all the child
+ widgets it contains are also deleted.
\section1 Writing a main Function
- Many of the GUI examples in Qt follow the pattern of having a \c{main.cpp}
- file containing code to initialize the application, and a number of other
- source and header files containing the application logic and custom GUI
- components.
+ Many of the GUI examples provided with Qt follow the pattern of
+ having a \c{main.cpp} file, which contains the standard code to
+ initialize the application, plus any number of other source/header
+ files that contain the application logic and custom GUI components.
- A typical \c main() function, written in \c{main.cpp}, looks like this:
+ A typical \c main() function in \c{main.cpp} looks like this:
\snippet doc/src/snippets/widgets-tutorial/template.cpp main.cpp body
- We first construct a QApplication object which is configured using any
- arguments passed in from the command line. After any widgets have been
- created and shown, we call QApplication::exec() to start Qt's event loop.
- Control passes to Qt until this function returns, at which point we return
- the value we obtain from this function.
+ First, a QApplication object is constructed, which can be
+ configured with arguments passed in from the command line. After
+ the widgets have been created and shown, QApplication::exec() is
+ called to start Qt's event loop. Control passes to Qt until this
+ function returns. Finally, \c{main()} returns the value returned
+ by QApplication::exec().
- In each part of this tutorial, we provide an example that is written
- entirely within a \c main() function. In more sophisticated examples, the
- code to set up widgets and layouts is written in other parts of the
- example. For example, the GUI for a main window may be set up in the
- constructor of a QMainWindow subclass.
+ \section1 Simple widget examples
+
+ Each of theses simple widget examples is written entirely within
+ the \c main() function.
+
+ \list
+ \o \l {tutorials/widgets/toplevel} {Creating a window}
+
+ \o \l {tutorials/widgets/childwidget} {Creating child widgets}
+
+ \o \l {tutorials/widgets/windowlayout} {Using layouts}
+
+ \o \l {tutorials/widgets/nestedlayouts} {Nested layouts}
+ \endlist
+
+ \section1 Real world widget examples
- The \l{Widgets examples} are a good place to look for
- more complex and complete examples and applications.
+ In these \l{Widget examples} {more advanced examples}, the code
+ that creates the widgets and layouts is stored in other files. For
+ example, the GUI for a main window may be created in the
+ constructor of a QMainWindow subclass.
- \section1 Building Examples and Tutorials
+ \section1 Building The Examples
- If you obtained a binary package of Qt or compiled it yourself, the
- examples described in this tutorial should already be ready to run.
- However, if you may wish to modify them and recompile them, you need to
- perform the following steps:
+ If you installed a binary package to get Qt, or if you compiled Qt
+ yourself, the examples described in this tutorial should already
+ be built and ready to run. If you wish to modify and recompile
+ them, follow these steps:
\list 1
- \o At the command line, enter the directory containing the example you
- wish to recompile.
- \o Type \c qmake and press \key{Return}. If this doesn't work, make sure
- that the executable is on your path, or enter its full location.
- \o On Linux/Unix and Mac OS X, type \c make and press \key{Return};
- on Windows with Visual Studio, type \c nmake and press \key{Return}.
+
+ \o From a command prompt, enter the directory containing the
+ example you have modified.
+
+ \o Type \c qmake and press \key{Return}. If this doesn't work,
+ make sure that the executable is on your path, or enter its
+ full location.
+
+ \o On Linux/Unix and Mac OS X, type \c make and press
+ \key{Return}; on Windows with Visual Studio, type \c nmake and
+ press \key{Return}.
+
\endlist
- An executable file should have been created within the current directory.
- On Windows, this file may be located within a \c debug or \c release
- subdirectory. You can run this file to see the example code at work.
+ An executable file is created in the current directory. On
+ Windows, this file may be located in a \c debug or \c release
+ subdirectory. You can run this executable to see the example code
+ at work.
*/
/*!
- \page widgets-tutorial-toplevel.html
- \contentspage {Widgets Tutorial}{Contents}
- \previouspage {Widgets Tutorial}
- \nextpage {Widgets Tutorial - Child Widgets}
\example tutorials/widgets/toplevel
\title Widgets Tutorial - Creating a Window
@@ -151,13 +164,10 @@
To create a real GUI, we need to place widgets inside the window. To do
this, we pass a QWidget instance to a widget's constructor, as we will
demonstrate in the next part of this tutorial.
+
*/
/*!
- \page widgets-tutorial-childwidget.html
- \contentspage {Widgets Tutorial}{Contents}
- \previouspage {Widgets Tutorial - Creating a Window}
- \nextpage {Widgets Tutorial - Using Layouts}
\example tutorials/widgets/childwidget
\title Widgets Tutorial - Child Widgets
@@ -185,10 +195,6 @@
*/
/*!
- \page widgets-tutorial-windowlayout.html
- \contentspage {Widgets Tutorial}{Contents}
- \previouspage {Widgets Tutorial - Child Widgets}
- \nextpage {Widgets Tutorial - Nested Layouts}
\example tutorials/widgets/windowlayout
\title Widgets Tutorial - Using Layouts
@@ -228,9 +234,6 @@
*/
/*!
- \page widgets-tutorial-nestedlayouts.html
- \contentspage {Widgets Tutorial}{Contents}
- \previouspage {Widgets Tutorial - Using Layouts}
\example tutorials/widgets/nestedlayouts
\title Widgets Tutorial - Nested Layouts
diff --git a/doc/src/widgets-and-layouts/focus.qdoc b/doc/src/widgets-and-layouts/focus.qdoc
index 71f41d5246..5ccfb636bc 100644
--- a/doc/src/widgets-and-layouts/focus.qdoc
+++ b/doc/src/widgets-and-layouts/focus.qdoc
@@ -82,7 +82,7 @@
Pressing \key Tab is by far the most common way to move focus
using the keyboard. (Sometimes in data-entry applications Enter
does the same as \key{Tab}; this can easily be achieved in Qt by
- implementing an \l{Events and Event Filters}{event filter}.)
+ implementing an \l{The Event System}{event filter}.)
Pressing \key Tab, in all window systems in common use today,
moves the keyboard focus to the next widget in a circular
diff --git a/doc/src/widgets-and-layouts/layout.qdoc b/doc/src/widgets-and-layouts/layout.qdoc
index 0cfde22f24..2ca202f61c 100644
--- a/doc/src/widgets-and-layouts/layout.qdoc
+++ b/doc/src/widgets-and-layouts/layout.qdoc
@@ -47,6 +47,7 @@
/*!
\page layout.html
\title Layout Management
+ \ingroup qt-gui-concepts
\brief A tour of the standard layout managers and an introduction to custom
layouts.
diff --git a/doc/src/widgets-and-layouts/styles.qdoc b/doc/src/widgets-and-layouts/styles.qdoc
index 9a28715b83..b031deca2d 100644
--- a/doc/src/widgets-and-layouts/styles.qdoc
+++ b/doc/src/widgets-and-layouts/styles.qdoc
@@ -47,14 +47,9 @@
/*!
\page style-reference.html
- \title Implementing Styles and Style Aware Widgets
- \brief An overview of styles and the styling of widgets.
-
- \ingroup frameworks-technologies
-
- \previouspage Widget Classes
- \contentspage Widgets and Layouts
- \nextpage {Qt Style Sheets}{Style sheets}
+ \title Styles &amp Style Aware Widgets
+ \ingroup qt-gui-concepts
+ \brief Styles and the styling of widgets.
Styles (classes that inherit QStyle) draw on behalf of widgets
and encapsulate the look and feel of a GUI. The QStyle class is
@@ -90,8 +85,6 @@
current style. This document shows how widgets draw themselves
and which possibilities the style gives them.
- \tableofcontents
-
\section1 Classes for Widget Styling
These classes are used to customize an application's appearance and
diff --git a/doc/src/widgets-and-layouts/widgets.qdoc b/doc/src/widgets-and-layouts/widgets.qdoc
index 7bd27b6984..c93a380a80 100644
--- a/doc/src/widgets-and-layouts/widgets.qdoc
+++ b/doc/src/widgets-and-layouts/widgets.qdoc
@@ -40,130 +40,119 @@
****************************************************************************/
/*!
- \page widgets-and-layouts.html
- \title Widgets and Layouts
-
- \ingroup frameworks-technologies
-
- \nextpage Widget Classes
-
- The primary elements for designing user interfaces in Qt are widgets and layouts.
-
- \section1 Widgets
-
- \l{Widget Classes}{Widgets} can display data and status information, receive
- user input, and provide a container for other widgets that should be grouped
- together. A widget that is not embedded in a parent widget is called a
- \l{Application Windows and Dialogs}{window}.
-
- \image parent-child-widgets.png A parent widget containing various child widgets.
-
- The QWidget class provides the basic capability to render to the screen, and to
- handle user input events. All UI elements that Qt provides are either subclasses
- of QWidget, or are used in connection with a QWidget subclass. Creating custom
- widgets is done by subclassing QWidget or a suitable subclass and reimplementing
- the virtual event handlers.
-
- \section1 Layouts
-
- \l{Layout Management}{Layouts} are an elegant and flexible way to automatically
- arrange child widgets within their container. Each widget reports its size requirements
- to the layout through the \l{QWidget::}{sizeHint} and \l{QWidget::}{sizePolicy}
- properties, and the layout distributes the available space accordingly.
-
- \table
- \row
- \o \image qgridlayout-with-5-children.png
- \o \image qformlayout-with-6-children.png
- \endtable
-
- \l{Qt Designer Manual}{\QD} is a powerful tool for interactively creating and
- arranging widgets in layouts.
-
- \section1 Widget Styles
-
- \l{Implementing Styles and Style Aware Widgets}{Styles} draw on behalf of widgets
- and encapsulate the look and feel of a GUI. Qt's built-in widgets use the QStyle
- class to perform nearly all of their drawing, ensuring that they look exactly like
- the equivalent native widgets.
+ \page widgets-and-layouts.html
+ \title Widgets and Layouts
+ \ingroup qt-gui-concepts
+ \brief The primary elements for designing user interfaces in Qt.
+
+ \section1 Widgets
+
+ Widgets are the primary elements for creating user interfaces in Qt.
+ \l{The Widget Classes}{Widgets} can display data and status information,
+ receive user input, and provide a container for other widgets that
+ should be grouped together. A widget that is not embedded in a
+ parent widget is called a \l{Window and Dialog Widgets} {window}.
+
+ \image parent-child-widgets.png A parent widget containing various child widgets.
+
+ The QWidget class provides the basic capability to render to the
+ screen, and to handle user input events. All UI elements that Qt
+ provides are either subclasses of QWidget, or are used in connection
+ with a QWidget subclass. Creating custom widgets is done by
+ subclassing QWidget or a suitable subclass and reimplementing the
+ virtual event handlers.
+
+ \section1 Layouts
+
+ \l{Layout Management}{Layouts} are an elegant and flexible way to
+ automatically arrange child widgets within their container. Each
+ widget reports its size requirements to the layout through the
+ \l{QWidget::}{sizeHint} and \l{QWidget::}{sizePolicy} properties,
+ and the layout distributes the available space accordingly.
+
+ \table
+ \row
+ \o \image qgridlayout-with-5-children.png
+ \o \image qformlayout-with-6-children.png
+ \endtable
+
+ \l{Qt Designer Manual}{\QD} is a powerful tool for interactively creating and
+ arranging widgets in layouts.
+
+ \section1 Widget Styles
+
+ \l{Styles &amp Style Aware Widgets}{Styles} draw on behalf of
+ widgets and encapsulate the look and feel of a GUI. Qt's built-in
+ widgets use the QStyle class to perform nearly all of their drawing,
+ ensuring that they look exactly like the equivalent native widgets.
- \table
- \row
- \o \image windowsxp-tabwidget.png
- \o \image plastique-tabwidget.png
- \o \image macintosh-tabwidget.png
- \endtable
-
- \l{Qt Style Sheets} are a powerful mechanism that allows you to customize the
- appearance of widgets, in addition to what is already possible by subclassing QStyle.
-*/
-
-/*!
- \page widget-classes.html
- \title Widget Classes
+ \table
+ \row
+ \o \image windowsxp-tabwidget.png
+ \o \image plastique-tabwidget.png
+ \o \image macintosh-tabwidget.png
+ \endtable
- \contentspage Widgets and Layouts
- \nextpage Layout Management
+ \l{Qt Style Sheets} are a powerful mechanism that allows you to customize the
+ appearance of widgets, in addition to what is already possible by subclassing QStyle.
- Below you find a list of all widget classes in Qt. You can also browse the
- widget classes Qt provides in the various supported styles in the
- \l{Qt Widget Gallery}.
+ \section1 The Widget Classes
- \tableofcontents
+ The following sections list the widget classes. See the \l{Qt Widget
+ Gallery} for some examples.
- \section1 Basic Widgets
+ \section2 Basic Widgets
- These basic widgets (controls), such as buttons, comboboxes and scroll bars, are
- designed for direct use.
+ These basic widgets (controls), e.g. buttons, comboboxes and
+ scroll bars, are designed for direct use.
- \table
- \row
- \o \image windows-label.png
- \o \image windowsvista-pushbutton.png
- \o \image gtk-progressbar.png
- \row
- \o \image plastique-combobox.png
- \o \image macintosh-radiobutton.png
- \o \image cde-lineedit.png
- \endtable
+ \table
+ \row
+ \o \image windows-label.png
+ \o \image windowsvista-pushbutton.png
+ \o \image gtk-progressbar.png
+ \row
+ \o \image plastique-combobox.png
+ \o \image macintosh-radiobutton.png
+ \o \image cde-lineedit.png
+ \endtable
- \annotatedlist basicwidgets
+ \annotatedlist basicwidgets
- \section1 Advanced Widgets
+ \section2 Advanced Widgets
- Advanced GUI widgets such as tab widgets and progress bars provide more
- complex user interface controls.
+ Advanced GUI widgets, e.g. tab widgets and progress bars, provide
+ more complex user interface controls.
- \table
- \row
- \o \image windowsxp-treeview.png
- \o \image gtk-calendarwidget.png
- \o \image qundoview.png
- \endtable
+ \table
+ \row
+ \o \image windowsxp-treeview.png
+ \o \image gtk-calendarwidget.png
+ \o \image qundoview.png
+ \endtable
- \annotatedlist advanced
+ \annotatedlist advanced
- \table
- \row
- \o \image windowsvista-tabwidget.png
- \o \image macintosh-groupbox.png
- \endtable
+ \table
+ \row
+ \o \image windowsvista-tabwidget.png
+ \o \image macintosh-groupbox.png
+ \endtable
- \section1 Organizer Widgets
+ \section2 Organizer Widgets
- Classes like splitters, tab bars, button groups, etc are used to
- organize and group GUI primitives into more complex applications or
- dialogs.
+ Classes like splitters, tab bars, button groups, etc are used for
+ organizing and grouping GUI primitives into more complex
+ applications and dialogs.
- \annotatedlist organizers
+ \annotatedlist organizers
- \section1 Abstract Widget Classes
+ \section2 Abstract Widget Classes
- Abstract widget classes usable through subclassing. They are generally
- not usable in themselves, but provide functionality that can be used
- by inheriting these classes.
+ The abstract widget classes are base classes. They are not usable as
+ standalone classes but provide functionality when they are subclassed.
- \annotatedlist abstractwidgets
+ \annotatedlist abstractwidgets
*/
/*!
diff --git a/doc/src/windows-and-dialogs/dialogs.qdoc b/doc/src/windows-and-dialogs/dialogs.qdoc
index acee0c5767..0b0a842074 100644
--- a/doc/src/windows-and-dialogs/dialogs.qdoc
+++ b/doc/src/windows-and-dialogs/dialogs.qdoc
@@ -52,6 +52,7 @@
/*!
\page dialogs.html
\title Dialog Windows
+ \ingroup qt-gui-concepts
\brief An overview over dialog windows.
\previouspage The Application Main Window
diff --git a/doc/src/windows-and-dialogs/mainwindow.qdoc b/doc/src/windows-and-dialogs/mainwindow.qdoc
index 6adfa75be5..db9a63611d 100644
--- a/doc/src/windows-and-dialogs/mainwindow.qdoc
+++ b/doc/src/windows-and-dialogs/mainwindow.qdoc
@@ -46,10 +46,9 @@
/*!
\page application-windows.html
- \title Application Windows and Dialogs
- \ingroup frameworks-technologies
-
- \nextpage The Application Main Window
+ \title Window and Dialog Widgets
+ \brief Windows and Dialogs in Qt.
+ \ingroup qt-gui-concepts
A \l{Widgets Tutorial}{widget} that is not embedded in a parent widget is called a window.
Usually, windows have a frame and a title bar, although it is also possible to create
@@ -81,7 +80,7 @@
\section1 Main Windows and Dialogs
- \l{The Application Main Window} provides the framework for building the
+ The \l{Application Main Window} provides the framework for building the
application's main user interface, and are created by subclassing QMainWindow.
QMainWindow has its own layout to which you can add a \l{QMenuBar}{menu bar},
\l{QToolBar}{tool bars}, \l{QDockWidget}{dockable widgets} and a
@@ -164,12 +163,9 @@
/*!
\page mainwindow.html
- \title The Application Main Window
- \brief Everything you need for a typical modern main application window,
- including menus, toolbars, workspace, etc.
-
- \contentspage Application Windows and Dialogs
- \nextpage Dialog Windows
+ \title Application Main Window
+ \ingroup qt-gui-concepts
+ \brief Creating the application window.
\tableofcontents
diff --git a/examples/activeqt/activeqt.pro b/examples/activeqt/activeqt.pro
index 262e1a1506..79d257a7bd 100644
--- a/examples/activeqt/activeqt.pro
+++ b/examples/activeqt/activeqt.pro
@@ -11,7 +11,7 @@ contains(QT_CONFIG, opengl):SUBDIRS += opengl
# For now only the contain examples with mingw, for the others you need
# an IDL compiler
-win32-g++|wince*:SUBDIRS = webbrowser
+win32-g++*|wince*:SUBDIRS = webbrowser
# install
target.path = $$[QT_INSTALL_EXAMPLES]/activeqt
diff --git a/examples/activeqt/comapp/main.cpp b/examples/activeqt/comapp/main.cpp
index b5e6f4c042..cb0b57c75e 100644
--- a/examples/activeqt/comapp/main.cpp
+++ b/examples/activeqt/comapp/main.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/activeqt/dotnet/wrapper/lib/networker.cpp b/examples/activeqt/dotnet/wrapper/lib/networker.cpp
index 73a2aac2b0..2ef4699a34 100644
--- a/examples/activeqt/dotnet/wrapper/lib/networker.cpp
+++ b/examples/activeqt/dotnet/wrapper/lib/networker.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/activeqt/dotnet/wrapper/lib/networker.h b/examples/activeqt/dotnet/wrapper/lib/networker.h
index b673b49517..6d43922b50 100644
--- a/examples/activeqt/dotnet/wrapper/lib/networker.h
+++ b/examples/activeqt/dotnet/wrapper/lib/networker.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/activeqt/dotnet/wrapper/lib/tools.cpp b/examples/activeqt/dotnet/wrapper/lib/tools.cpp
index b827c780b3..48c40ed3c1 100644
--- a/examples/activeqt/dotnet/wrapper/lib/tools.cpp
+++ b/examples/activeqt/dotnet/wrapper/lib/tools.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/activeqt/dotnet/wrapper/lib/tools.h b/examples/activeqt/dotnet/wrapper/lib/tools.h
index ba477071ad..fa695140df 100644
--- a/examples/activeqt/dotnet/wrapper/lib/tools.h
+++ b/examples/activeqt/dotnet/wrapper/lib/tools.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/activeqt/dotnet/wrapper/lib/worker.cpp b/examples/activeqt/dotnet/wrapper/lib/worker.cpp
index 881a5d233f..5277a0f192 100644
--- a/examples/activeqt/dotnet/wrapper/lib/worker.cpp
+++ b/examples/activeqt/dotnet/wrapper/lib/worker.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/activeqt/dotnet/wrapper/lib/worker.h b/examples/activeqt/dotnet/wrapper/lib/worker.h
index 2394705ca9..e5be5f64c2 100644
--- a/examples/activeqt/dotnet/wrapper/lib/worker.h
+++ b/examples/activeqt/dotnet/wrapper/lib/worker.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/activeqt/hierarchy/main.cpp b/examples/activeqt/hierarchy/main.cpp
index 3f2601813e..b3b6f33f9f 100644
--- a/examples/activeqt/hierarchy/main.cpp
+++ b/examples/activeqt/hierarchy/main.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/activeqt/hierarchy/objects.cpp b/examples/activeqt/hierarchy/objects.cpp
index b33f7b6174..918f219335 100644
--- a/examples/activeqt/hierarchy/objects.cpp
+++ b/examples/activeqt/hierarchy/objects.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/activeqt/hierarchy/objects.h b/examples/activeqt/hierarchy/objects.h
index c2eeb6d2f1..fb7099cdd7 100644
--- a/examples/activeqt/hierarchy/objects.h
+++ b/examples/activeqt/hierarchy/objects.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/activeqt/menus/main.cpp b/examples/activeqt/menus/main.cpp
index c5e1cb1a30..46153a4b25 100644
--- a/examples/activeqt/menus/main.cpp
+++ b/examples/activeqt/menus/main.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/activeqt/menus/menus.cpp b/examples/activeqt/menus/menus.cpp
index 078f115ed4..9203c59687 100644
--- a/examples/activeqt/menus/menus.cpp
+++ b/examples/activeqt/menus/menus.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/activeqt/menus/menus.h b/examples/activeqt/menus/menus.h
index 4cd1cdd69f..53990447b2 100644
--- a/examples/activeqt/menus/menus.h
+++ b/examples/activeqt/menus/menus.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/activeqt/multiple/ax1.h b/examples/activeqt/multiple/ax1.h
index 79de73ac76..7bcd2162ea 100644
--- a/examples/activeqt/multiple/ax1.h
+++ b/examples/activeqt/multiple/ax1.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/activeqt/multiple/ax2.h b/examples/activeqt/multiple/ax2.h
index be93a589f8..39422a69a7 100644
--- a/examples/activeqt/multiple/ax2.h
+++ b/examples/activeqt/multiple/ax2.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/activeqt/multiple/main.cpp b/examples/activeqt/multiple/main.cpp
index dc716bb17f..b316ae4ec2 100644
--- a/examples/activeqt/multiple/main.cpp
+++ b/examples/activeqt/multiple/main.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/activeqt/opengl/glbox.cpp b/examples/activeqt/opengl/glbox.cpp
index 3fe4b65d0d..0534ceaba7 100644
--- a/examples/activeqt/opengl/glbox.cpp
+++ b/examples/activeqt/opengl/glbox.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/activeqt/opengl/glbox.h b/examples/activeqt/opengl/glbox.h
index dc054e2b14..d1c190181a 100644
--- a/examples/activeqt/opengl/glbox.h
+++ b/examples/activeqt/opengl/glbox.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/activeqt/opengl/globjwin.cpp b/examples/activeqt/opengl/globjwin.cpp
index 55fd0b8330..ff5b61a500 100644
--- a/examples/activeqt/opengl/globjwin.cpp
+++ b/examples/activeqt/opengl/globjwin.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/activeqt/opengl/globjwin.h b/examples/activeqt/opengl/globjwin.h
index e967f3e3f9..a1a3e39b79 100644
--- a/examples/activeqt/opengl/globjwin.h
+++ b/examples/activeqt/opengl/globjwin.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/activeqt/opengl/main.cpp b/examples/activeqt/opengl/main.cpp
index f8f0f6b127..3b6f067786 100644
--- a/examples/activeqt/opengl/main.cpp
+++ b/examples/activeqt/opengl/main.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/activeqt/qutlook/addressview.cpp b/examples/activeqt/qutlook/addressview.cpp
index 7c0b122ab8..b03808b597 100644
--- a/examples/activeqt/qutlook/addressview.cpp
+++ b/examples/activeqt/qutlook/addressview.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/activeqt/qutlook/addressview.h b/examples/activeqt/qutlook/addressview.h
index 0819945fb6..ab9f7f996f 100644
--- a/examples/activeqt/qutlook/addressview.h
+++ b/examples/activeqt/qutlook/addressview.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/activeqt/qutlook/main.cpp b/examples/activeqt/qutlook/main.cpp
index 250b4aa16b..7acdec02c4 100644
--- a/examples/activeqt/qutlook/main.cpp
+++ b/examples/activeqt/qutlook/main.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/activeqt/simple/main.cpp b/examples/activeqt/simple/main.cpp
index d6aa3a5ba6..9251d635aa 100644
--- a/examples/activeqt/simple/main.cpp
+++ b/examples/activeqt/simple/main.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/activeqt/webbrowser/main.cpp b/examples/activeqt/webbrowser/main.cpp
index fd89ed3ce6..4ce10e3709 100644
--- a/examples/activeqt/webbrowser/main.cpp
+++ b/examples/activeqt/webbrowser/main.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/activeqt/webbrowser/webaxwidget.h b/examples/activeqt/webbrowser/webaxwidget.h
index f5c8148650..59a0fa4324 100644
--- a/examples/activeqt/webbrowser/webaxwidget.h
+++ b/examples/activeqt/webbrowser/webaxwidget.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/activeqt/wrapper/main.cpp b/examples/activeqt/wrapper/main.cpp
index 4defab01c6..ee6cd88841 100644
--- a/examples/activeqt/wrapper/main.cpp
+++ b/examples/activeqt/wrapper/main.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/animation/animatedtiles/main.cpp b/examples/animation/animatedtiles/main.cpp
index 28704928a5..0659e144cb 100644
--- a/examples/animation/animatedtiles/main.cpp
+++ b/examples/animation/animatedtiles/main.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the QtCore module of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/animation/appchooser/main.cpp b/examples/animation/appchooser/main.cpp
index 211b27bd3c..14dd7552fe 100644
--- a/examples/animation/appchooser/main.cpp
+++ b/examples/animation/appchooser/main.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the QtCore module of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/animation/easing/animation.h b/examples/animation/easing/animation.h
index 595997ad8d..3cfb82e2c7 100644
--- a/examples/animation/easing/animation.h
+++ b/examples/animation/easing/animation.h
@@ -6,35 +6,34 @@
**
** This file is part of the QtCore module of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/animation/easing/main.cpp b/examples/animation/easing/main.cpp
index 2b143b95f0..3cdc46ae56 100644
--- a/examples/animation/easing/main.cpp
+++ b/examples/animation/easing/main.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the QtCore module of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/animation/easing/window.cpp b/examples/animation/easing/window.cpp
index 3117b7a6bc..a555024e81 100644
--- a/examples/animation/easing/window.cpp
+++ b/examples/animation/easing/window.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the QtCore module of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/animation/easing/window.h b/examples/animation/easing/window.h
index b835d604e2..3173382335 100644
--- a/examples/animation/easing/window.h
+++ b/examples/animation/easing/window.h
@@ -6,35 +6,34 @@
**
** This file is part of the QtCore module of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/animation/moveblocks/main.cpp b/examples/animation/moveblocks/main.cpp
index d70326ecee..b033e1247a 100644
--- a/examples/animation/moveblocks/main.cpp
+++ b/examples/animation/moveblocks/main.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the QtCore module of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/animation/states/main.cpp b/examples/animation/states/main.cpp
index 84a588c579..199c059f21 100644
--- a/examples/animation/states/main.cpp
+++ b/examples/animation/states/main.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the QtCore module of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/animation/stickman/animation.cpp b/examples/animation/stickman/animation.cpp
index bfd3e80aef..b2a7c0aed7 100644
--- a/examples/animation/stickman/animation.cpp
+++ b/examples/animation/stickman/animation.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the QtCore module of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/animation/stickman/animation.h b/examples/animation/stickman/animation.h
index bae0fe1134..4475191b26 100644
--- a/examples/animation/stickman/animation.h
+++ b/examples/animation/stickman/animation.h
@@ -6,35 +6,34 @@
**
** This file is part of the QtCore module of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/animation/stickman/graphicsview.cpp b/examples/animation/stickman/graphicsview.cpp
index 35cb97036d..dea99c6e9c 100644
--- a/examples/animation/stickman/graphicsview.cpp
+++ b/examples/animation/stickman/graphicsview.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the QtCore module of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/animation/stickman/graphicsview.h b/examples/animation/stickman/graphicsview.h
index 060755106e..ad9827d21a 100644
--- a/examples/animation/stickman/graphicsview.h
+++ b/examples/animation/stickman/graphicsview.h
@@ -6,35 +6,34 @@
**
** This file is part of the QtCore module of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/animation/stickman/lifecycle.cpp b/examples/animation/stickman/lifecycle.cpp
index 4a467e3685..8778046302 100644
--- a/examples/animation/stickman/lifecycle.cpp
+++ b/examples/animation/stickman/lifecycle.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the QtCore module of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/animation/stickman/lifecycle.h b/examples/animation/stickman/lifecycle.h
index d076eb2998..760bdb9287 100644
--- a/examples/animation/stickman/lifecycle.h
+++ b/examples/animation/stickman/lifecycle.h
@@ -6,35 +6,34 @@
**
** This file is part of the QtCore module of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/animation/stickman/main.cpp b/examples/animation/stickman/main.cpp
index 0c6222a528..84a7654ba9 100644
--- a/examples/animation/stickman/main.cpp
+++ b/examples/animation/stickman/main.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the QtCore module of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/animation/stickman/node.cpp b/examples/animation/stickman/node.cpp
index 609e9bdfb3..d193b945b8 100644
--- a/examples/animation/stickman/node.cpp
+++ b/examples/animation/stickman/node.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the QtCore module of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/animation/stickman/node.h b/examples/animation/stickman/node.h
index 479217c98b..54b2e27818 100644
--- a/examples/animation/stickman/node.h
+++ b/examples/animation/stickman/node.h
@@ -6,35 +6,34 @@
**
** This file is part of the QtCore module of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/animation/stickman/stickman.cpp b/examples/animation/stickman/stickman.cpp
index 918a5d0c21..f733895854 100644
--- a/examples/animation/stickman/stickman.cpp
+++ b/examples/animation/stickman/stickman.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the QtCore module of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/animation/stickman/stickman.h b/examples/animation/stickman/stickman.h
index 924fbea79e..311fff95e1 100644
--- a/examples/animation/stickman/stickman.h
+++ b/examples/animation/stickman/stickman.h
@@ -6,35 +6,34 @@
**
** This file is part of the QtCore module of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/dbus/complexpingpong/complexping.cpp b/examples/dbus/complexpingpong/complexping.cpp
index 182e2c6353..4525d835e3 100644
--- a/examples/dbus/complexpingpong/complexping.cpp
+++ b/examples/dbus/complexpingpong/complexping.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/dbus/complexpingpong/complexping.h b/examples/dbus/complexpingpong/complexping.h
index 34d12d8bc5..e0678fedca 100644
--- a/examples/dbus/complexpingpong/complexping.h
+++ b/examples/dbus/complexpingpong/complexping.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/dbus/complexpingpong/complexpong.cpp b/examples/dbus/complexpingpong/complexpong.cpp
index 8412aaa503..abfdc4f476 100644
--- a/examples/dbus/complexpingpong/complexpong.cpp
+++ b/examples/dbus/complexpingpong/complexpong.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/dbus/complexpingpong/complexpong.h b/examples/dbus/complexpingpong/complexpong.h
index bdcd7f7484..7211228b0b 100644
--- a/examples/dbus/complexpingpong/complexpong.h
+++ b/examples/dbus/complexpingpong/complexpong.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/dbus/complexpingpong/ping-common.h b/examples/dbus/complexpingpong/ping-common.h
index b08b957018..913c90ae9d 100644
--- a/examples/dbus/complexpingpong/ping-common.h
+++ b/examples/dbus/complexpingpong/ping-common.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/dbus/dbus-chat/chat.cpp b/examples/dbus/dbus-chat/chat.cpp
index 588bc18f0f..a10cb877c0 100644
--- a/examples/dbus/dbus-chat/chat.cpp
+++ b/examples/dbus/dbus-chat/chat.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/dbus/dbus-chat/chat.h b/examples/dbus/dbus-chat/chat.h
index 47824edc5a..1f439c2915 100644
--- a/examples/dbus/dbus-chat/chat.h
+++ b/examples/dbus/dbus-chat/chat.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/dbus/dbus-chat/chat_adaptor.cpp b/examples/dbus/dbus-chat/chat_adaptor.cpp
index 77e7ab081b..53b00a3e3c 100644
--- a/examples/dbus/dbus-chat/chat_adaptor.cpp
+++ b/examples/dbus/dbus-chat/chat_adaptor.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
**
diff --git a/examples/dbus/dbus-chat/chat_adaptor.h b/examples/dbus/dbus-chat/chat_adaptor.h
index 47b7f8f6e8..386a4a6edf 100644
--- a/examples/dbus/dbus-chat/chat_adaptor.h
+++ b/examples/dbus/dbus-chat/chat_adaptor.h
@@ -6,35 +6,34 @@
**
** This file is part of the test suite of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
**
diff --git a/examples/dbus/dbus-chat/chat_interface.cpp b/examples/dbus/dbus-chat/chat_interface.cpp
index 3aba098dfa..14697efe04 100644
--- a/examples/dbus/dbus-chat/chat_interface.cpp
+++ b/examples/dbus/dbus-chat/chat_interface.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
**
diff --git a/examples/dbus/dbus-chat/chat_interface.h b/examples/dbus/dbus-chat/chat_interface.h
index a6aa2df880..44a950c9fe 100644
--- a/examples/dbus/dbus-chat/chat_interface.h
+++ b/examples/dbus/dbus-chat/chat_interface.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
**
diff --git a/examples/dbus/listnames/listnames.cpp b/examples/dbus/listnames/listnames.cpp
index e2953c1aac..de8e9b640b 100644
--- a/examples/dbus/listnames/listnames.cpp
+++ b/examples/dbus/listnames/listnames.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/dbus/pingpong/ping-common.h b/examples/dbus/pingpong/ping-common.h
index b08b957018..913c90ae9d 100644
--- a/examples/dbus/pingpong/ping-common.h
+++ b/examples/dbus/pingpong/ping-common.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/dbus/pingpong/ping.cpp b/examples/dbus/pingpong/ping.cpp
index b45fae45e4..bd3ed1827b 100644
--- a/examples/dbus/pingpong/ping.cpp
+++ b/examples/dbus/pingpong/ping.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/dbus/pingpong/pong.cpp b/examples/dbus/pingpong/pong.cpp
index 87a2548638..2b6285fc1a 100644
--- a/examples/dbus/pingpong/pong.cpp
+++ b/examples/dbus/pingpong/pong.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/dbus/pingpong/pong.h b/examples/dbus/pingpong/pong.h
index e1284469ee..98f7ed27c7 100644
--- a/examples/dbus/pingpong/pong.h
+++ b/examples/dbus/pingpong/pong.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/dbus/remotecontrolledcar/car/car.cpp b/examples/dbus/remotecontrolledcar/car/car.cpp
index 8143b599e2..69463b9390 100644
--- a/examples/dbus/remotecontrolledcar/car/car.cpp
+++ b/examples/dbus/remotecontrolledcar/car/car.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/dbus/remotecontrolledcar/car/car.h b/examples/dbus/remotecontrolledcar/car/car.h
index 2042eb4a85..5ef046e3eb 100644
--- a/examples/dbus/remotecontrolledcar/car/car.h
+++ b/examples/dbus/remotecontrolledcar/car/car.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/dbus/remotecontrolledcar/car/car_adaptor.cpp b/examples/dbus/remotecontrolledcar/car/car_adaptor.cpp
index da7505b0e8..72f69cfa44 100644
--- a/examples/dbus/remotecontrolledcar/car/car_adaptor.cpp
+++ b/examples/dbus/remotecontrolledcar/car/car_adaptor.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
**
diff --git a/examples/dbus/remotecontrolledcar/car/car_adaptor.h b/examples/dbus/remotecontrolledcar/car/car_adaptor.h
index b8b5602209..90282cd42a 100644
--- a/examples/dbus/remotecontrolledcar/car/car_adaptor.h
+++ b/examples/dbus/remotecontrolledcar/car/car_adaptor.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
**
diff --git a/examples/dbus/remotecontrolledcar/car/main.cpp b/examples/dbus/remotecontrolledcar/car/main.cpp
index eab82a7155..159b334b62 100644
--- a/examples/dbus/remotecontrolledcar/car/main.cpp
+++ b/examples/dbus/remotecontrolledcar/car/main.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/dbus/remotecontrolledcar/controller/car_interface.cpp b/examples/dbus/remotecontrolledcar/controller/car_interface.cpp
index 21662b434f..f5dde85364 100644
--- a/examples/dbus/remotecontrolledcar/controller/car_interface.cpp
+++ b/examples/dbus/remotecontrolledcar/controller/car_interface.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
**
diff --git a/examples/dbus/remotecontrolledcar/controller/car_interface.h b/examples/dbus/remotecontrolledcar/controller/car_interface.h
index 228481cfb3..d34fdeec01 100644
--- a/examples/dbus/remotecontrolledcar/controller/car_interface.h
+++ b/examples/dbus/remotecontrolledcar/controller/car_interface.h
@@ -6,35 +6,34 @@
**
** This file is part of the test suite of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
**
diff --git a/examples/dbus/remotecontrolledcar/controller/controller.cpp b/examples/dbus/remotecontrolledcar/controller/controller.cpp
index 5fca9e3217..f836bcb727 100644
--- a/examples/dbus/remotecontrolledcar/controller/controller.cpp
+++ b/examples/dbus/remotecontrolledcar/controller/controller.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/dbus/remotecontrolledcar/controller/controller.h b/examples/dbus/remotecontrolledcar/controller/controller.h
index caadff93c4..e24ea06cd8 100644
--- a/examples/dbus/remotecontrolledcar/controller/controller.h
+++ b/examples/dbus/remotecontrolledcar/controller/controller.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/dbus/remotecontrolledcar/controller/main.cpp b/examples/dbus/remotecontrolledcar/controller/main.cpp
index a014b2f87b..7479cbd79f 100644
--- a/examples/dbus/remotecontrolledcar/controller/main.cpp
+++ b/examples/dbus/remotecontrolledcar/controller/main.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/declarative/README b/examples/declarative/README
new file mode 100644
index 0000000000..578c2458a6
--- /dev/null
+++ b/examples/declarative/README
@@ -0,0 +1,41 @@
+The Qt Declarative module provides the ability to specify and implement
+your user interface declaratively, using the Qt Meta-Object Language (QML). This
+language is very expressive and human readable, and can be used by
+designers to actually implement their UI vision. QML UIs can integrate
+with C++ code in many ways, including being loaded as a part of a C++ UI
+and loading data models from C++ and interacting with them.
+
+The example launcher provided with Qt can be used to explore each of the
+examples in this directory. But most can also be viewed directly with the
+QML viewer utility, without requiring compilation.
+
+Documentation for these examples can be found via the Tutorials and Examples
+link in the main Qt documentation.
+
+
+Finding the Qt Examples and Demos launcher
+==========================================
+
+On Windows:
+
+The launcher can be accessed via the Windows Start menu. Select the menu
+entry entitled "Qt Examples and Demos" entry in the submenu containing
+the Qt tools.
+
+On Mac OS X:
+
+For the binary distribution, the qtdemo executable is installed in the
+/Developer/Applications/Qt directory. For the source distribution, it is
+installed alongside the other Qt tools on the path specified when Qt is
+configured.
+
+On Unix/Linux:
+
+The qtdemo executable is installed alongside the other Qt tools on the path
+specified when Qt is configured.
+
+On all platforms:
+
+The source code for the launcher can be found in the demos/qtdemo directory
+in the Qt package. This example is built at the same time as the Qt libraries,
+tools, examples, and demonstrations.
diff --git a/examples/declarative/aspectratio/aspectratio.qmlproject b/examples/declarative/animation/animation.qmlproject
index d4909f8685..d4909f8685 100644
--- a/examples/declarative/aspectratio/aspectratio.qmlproject
+++ b/examples/declarative/animation/animation.qmlproject
diff --git a/examples/declarative/behaviors/behaviors.qmlproject b/examples/declarative/animation/basics/basics.qmlproject
index d4909f8685..d4909f8685 100644
--- a/examples/declarative/behaviors/behaviors.qmlproject
+++ b/examples/declarative/animation/basics/basics.qmlproject
diff --git a/examples/declarative/animation/basics/color-animation.qml b/examples/declarative/animation/basics/color-animation.qml
new file mode 100644
index 0000000000..6d8b46c2f1
--- /dev/null
+++ b/examples/declarative/animation/basics/color-animation.qml
@@ -0,0 +1,110 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+import Qt 4.7
+import Qt.labs.particles 1.0
+
+Item {
+ id: window
+ width: 640; height: 480
+
+ // Let's draw the sky...
+ Rectangle {
+ anchors { left: parent.left; top: parent.top; right: parent.right; bottom: parent.verticalCenter }
+ gradient: Gradient {
+ GradientStop {
+ position: 0.0
+ SequentialAnimation on color {
+ loops: Animation.Infinite
+ ColorAnimation { from: "DeepSkyBlue"; to: "#0E1533"; duration: 5000 }
+ ColorAnimation { from: "#0E1533"; to: "DeepSkyBlue"; duration: 5000 }
+ }
+ }
+ GradientStop {
+ position: 1.0
+ SequentialAnimation on color {
+ loops: Animation.Infinite
+ ColorAnimation { from: "SkyBlue"; to: "#437284"; duration: 5000 }
+ ColorAnimation { from: "#437284"; to: "SkyBlue"; duration: 5000 }
+ }
+ }
+ }
+ }
+
+ // the sun, moon, and stars
+ Item {
+ width: parent.width; height: 2 * parent.height
+ NumberAnimation on rotation { from: 0; to: 360; duration: 10000; loops: Animation.Infinite }
+ Image {
+ source: "images/sun.png"; y: 10; anchors.horizontalCenter: parent.horizontalCenter
+ rotation: -3 * parent.rotation
+ }
+ Image {
+ source: "images/moon.png"; y: parent.height - 74; anchors.horizontalCenter: parent.horizontalCenter
+ rotation: -parent.rotation
+ }
+ Particles {
+ x: 0; y: parent.height/2; width: parent.width; height: parent.height/2
+ source: "images/star.png"; angleDeviation: 360; velocity: 0
+ velocityDeviation: 0; count: parent.width / 10; fadeInDuration: 2800
+ SequentialAnimation on opacity {
+ loops: Animation.Infinite
+ NumberAnimation { from: 0; to: 1; duration: 5000 }
+ NumberAnimation { from: 1; to: 0; duration: 5000 }
+ }
+ }
+ }
+
+ // ...and the ground.
+ Rectangle {
+ anchors { left: parent.left; top: parent.verticalCenter; right: parent.right; bottom: parent.bottom }
+ gradient: Gradient {
+ GradientStop {
+ position: 0.0
+ SequentialAnimation on color {
+ loops: Animation.Infinite
+ ColorAnimation { from: "ForestGreen"; to: "#001600"; duration: 5000 }
+ ColorAnimation { from: "#001600"; to: "ForestGreen"; duration: 5000 }
+ }
+ }
+ GradientStop { position: 1.0; color: "DarkGreen" }
+ }
+ }
+}
diff --git a/examples/declarative/animations/images/face-smile.png b/examples/declarative/animation/basics/images/face-smile.png
index 3d66d72578..3d66d72578 100644
--- a/examples/declarative/animations/images/face-smile.png
+++ b/examples/declarative/animation/basics/images/face-smile.png
Binary files differ
diff --git a/examples/declarative/animations/images/moon.png b/examples/declarative/animation/basics/images/moon.png
index 9407b2b4f0..9407b2b4f0 100644
--- a/examples/declarative/animations/images/moon.png
+++ b/examples/declarative/animation/basics/images/moon.png
Binary files differ
diff --git a/examples/declarative/animations/images/shadow.png b/examples/declarative/animation/basics/images/shadow.png
index 8270565e87..8270565e87 100644
--- a/examples/declarative/animations/images/shadow.png
+++ b/examples/declarative/animation/basics/images/shadow.png
Binary files differ
diff --git a/examples/declarative/animations/images/star.png b/examples/declarative/animation/basics/images/star.png
index 27ef924267..27ef924267 100644
--- a/examples/declarative/animations/images/star.png
+++ b/examples/declarative/animation/basics/images/star.png
Binary files differ
diff --git a/examples/declarative/animations/images/sun.png b/examples/declarative/animation/basics/images/sun.png
index 7713ca5ce7..7713ca5ce7 100644
--- a/examples/declarative/animations/images/sun.png
+++ b/examples/declarative/animation/basics/images/sun.png
Binary files differ
diff --git a/examples/declarative/animation/basics/property-animation.qml b/examples/declarative/animation/basics/property-animation.qml
new file mode 100644
index 0000000000..0fb253a376
--- /dev/null
+++ b/examples/declarative/animation/basics/property-animation.qml
@@ -0,0 +1,103 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+import Qt 4.7
+
+Item {
+ id: window
+ width: 320; height: 480
+
+ // Let's draw the sky...
+ Rectangle {
+ anchors { left: parent.left; top: parent.top; right: parent.right; bottom: parent.verticalCenter }
+ gradient: Gradient {
+ GradientStop { position: 0.0; color: "DeepSkyBlue" }
+ GradientStop { position: 1.0; color: "LightSkyBlue" }
+ }
+ }
+
+ // ...and the ground.
+ Rectangle {
+ anchors { left: parent.left; top: parent.verticalCenter; right: parent.right; bottom: parent.bottom }
+ gradient: Gradient {
+ GradientStop { position: 0.0; color: "ForestGreen" }
+ GradientStop { position: 1.0; color: "DarkGreen" }
+ }
+ }
+
+ // The shadow for the smiley face
+ Image {
+ anchors.horizontalCenter: parent.horizontalCenter
+ source: "images/shadow.png"; y: smiley.minHeight + 58
+
+ // The scale property depends on the y position of the smiley face.
+ scale: smiley.y * 0.5 / (smiley.minHeight - smiley.maxHeight)
+ }
+
+ Image {
+ id: smiley
+ property int maxHeight: window.height / 3
+ property int minHeight: 2 * window.height / 3
+
+ anchors.horizontalCenter: parent.horizontalCenter
+ source: "images/face-smile.png"; y: minHeight
+
+ // Animate the y property. Setting loops to Animation.Infinite makes the
+ // animation repeat indefinitely, otherwise it would only run once.
+ SequentialAnimation on y {
+ loops: Animation.Infinite
+
+ // Move from minHeight to maxHeight in 300ms, using the OutExpo easing function
+ NumberAnimation {
+ from: smiley.minHeight; to: smiley.maxHeight
+ easing.type: Easing.OutExpo; duration: 300
+ }
+
+ // Then move back to minHeight in 1 second, using the OutBounce easing function
+ NumberAnimation {
+ from: smiley.maxHeight; to: smiley.minHeight
+ easing.type: Easing.OutBounce; duration: 1000
+ }
+
+ // Then pause for 500ms
+ PauseAnimation { duration: 500 }
+ }
+ }
+}
diff --git a/examples/declarative/animation/behaviors/SideRect.qml b/examples/declarative/animation/behaviors/SideRect.qml
new file mode 100644
index 0000000000..76cb3f5f6d
--- /dev/null
+++ b/examples/declarative/animation/behaviors/SideRect.qml
@@ -0,0 +1,62 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+import Qt 4.7
+
+Rectangle {
+ id: myRect
+
+ property string text
+
+ width: 75; height: 50
+ radius: 6
+ color: "#646464"
+ border.width: 4; border.color: "white"
+
+ MouseArea {
+ anchors.fill: parent
+ hoverEnabled: true
+ onEntered: {
+ focusRect.x = myRect.x;
+ focusRect.y = myRect.y;
+ focusRect.text = myRect.text;
+ }
+ }
+}
diff --git a/examples/declarative/animation/behaviors/behavior-example.qml b/examples/declarative/animation/behaviors/behavior-example.qml
new file mode 100644
index 0000000000..91845fc90b
--- /dev/null
+++ b/examples/declarative/animation/behaviors/behavior-example.qml
@@ -0,0 +1,119 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+import Qt 4.7
+
+Rectangle {
+ width: 600; height: 400
+ color: "#343434"
+
+ Rectangle {
+ anchors.centerIn: parent
+ width: 200; height: 200
+ radius: 30
+ color: "transparent"
+ border.width: 4; border.color: "white"
+
+
+ SideRect {
+ id: leftRect
+ anchors { verticalCenter: parent.verticalCenter; horizontalCenter: parent.left }
+ text: "Left"
+ }
+
+ SideRect {
+ id: rightRect
+ anchors { verticalCenter: parent.verticalCenter; horizontalCenter: parent.right }
+ text: "Right"
+ }
+
+ SideRect {
+ id: topRect
+ anchors { verticalCenter: parent.top; horizontalCenter: parent.horizontalCenter }
+ text: "Top"
+ }
+
+ SideRect {
+ id: bottomRect
+ anchors { verticalCenter: parent.bottom; horizontalCenter: parent.horizontalCenter }
+ text: "Bottom"
+ }
+
+
+ Rectangle {
+ id: focusRect
+
+ property string text
+
+ x: 62.5; y: 75; width: 75; height: 50
+ radius: 6
+ border.width: 4; border.color: "white"
+ color: "firebrick"
+
+ // Setting an 'elastic' behavior on the focusRect's x property.
+ Behavior on x {
+ NumberAnimation { easing.type: Easing.OutElastic; easing.amplitude: 3.0; easing.period: 2.0; duration: 300 }
+ }
+
+ // Setting an 'elastic' behavior on the focusRect's y property.
+ Behavior on y {
+ NumberAnimation { easing.type: Easing.OutElastic; easing.amplitude: 3.0; easing.period: 2.0; duration: 300 }
+ }
+
+ Text {
+ id: focusText
+ text: focusRect.text
+ anchors.centerIn: parent
+ color: "white"
+ font.pixelSize: 16; font.bold: true
+
+ // Setting a behavior on the focusText's x property:
+ // Set the opacity to 0, set the new text value, then set the opacity back to 1.
+ Behavior on text {
+ SequentialAnimation {
+ NumberAnimation { target: focusText; property: "opacity"; to: 0; duration: 150 }
+ PropertyAction { }
+ NumberAnimation { target: focusText; property: "opacity"; to: 1; duration: 150 }
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/examples/declarative/border-image/border-image.qmlproject b/examples/declarative/animation/behaviors/behaviors.qmlproject
index d4909f8685..d4909f8685 100644
--- a/examples/declarative/border-image/border-image.qmlproject
+++ b/examples/declarative/animation/behaviors/behaviors.qmlproject
diff --git a/examples/declarative/animation/easing/easing.qml b/examples/declarative/animation/easing/easing.qml
new file mode 100644
index 0000000000..9cdbad142b
--- /dev/null
+++ b/examples/declarative/animation/easing/easing.qml
@@ -0,0 +1,145 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+import Qt 4.7
+
+Rectangle {
+ id: window
+ width: 600; height: 460; color: "#232323"
+
+ ListModel {
+ id: easingTypes
+ ListElement { name: "Easing.Linear"; type: Easing.Linear; ballColor: "DarkRed" }
+ ListElement { name: "Easing.InQuad"; type: Easing.InQuad; ballColor: "IndianRed" }
+ ListElement { name: "Easing.OutQuad"; type: Easing.OutQuad; ballColor: "Salmon" }
+ ListElement { name: "Easing.InOutQuad"; type: Easing.InOutQuad; ballColor: "Tomato" }
+ ListElement { name: "Easing.OutInQuad"; type: Easing.OutInQuad; ballColor: "DarkOrange" }
+ ListElement { name: "Easing.InCubic"; type: Easing.InCubic; ballColor: "Gold" }
+ ListElement { name: "Easing.OutCubic"; type: Easing.OutCubic; ballColor: "Yellow" }
+ ListElement { name: "Easing.InOutCubic"; type: Easing.InOutCubic; ballColor: "PeachPuff" }
+ ListElement { name: "Easing.OutInCubic"; type: Easing.OutInCubic; ballColor: "Thistle" }
+ ListElement { name: "Easing.InQuart"; type: Easing.InQuart; ballColor: "Orchid" }
+ ListElement { name: "Easing.OutQuart"; type: Easing.OutQuart; ballColor: "Purple" }
+ ListElement { name: "Easing.InOutQuart"; type: Easing.InOutQuart; ballColor: "SlateBlue" }
+ ListElement { name: "Easing.OutInQuart"; type: Easing.OutInQuart; ballColor: "Chartreuse" }
+ ListElement { name: "Easing.InQuint"; type: Easing.InQuint; ballColor: "LimeGreen" }
+ ListElement { name: "Easing.OutQuint"; type: Easing.OutQuint; ballColor: "SeaGreen" }
+ ListElement { name: "Easing.InOutQuint"; type: Easing.InOutQuint; ballColor: "DarkGreen" }
+ ListElement { name: "Easing.OutInQuint"; type: Easing.OutInQuint; ballColor: "Olive" }
+ ListElement { name: "Easing.InSine"; type: Easing.InSine; ballColor: "DarkSeaGreen" }
+ ListElement { name: "Easing.OutSine"; type: Easing.OutSine; ballColor: "Teal" }
+ ListElement { name: "Easing.InOutSine"; type: Easing.InOutSine; ballColor: "Turquoise" }
+ ListElement { name: "Easing.OutInSine"; type: Easing.OutInSine; ballColor: "SteelBlue" }
+ ListElement { name: "Easing.InExpo"; type: Easing.InExpo; ballColor: "SkyBlue" }
+ ListElement { name: "Easing.OutExpo"; type: Easing.OutExpo; ballColor: "RoyalBlue" }
+ ListElement { name: "Easing.InOutExpo"; type: Easing.InOutExpo; ballColor: "MediumBlue" }
+ ListElement { name: "Easing.OutInExpo"; type: Easing.OutInExpo; ballColor: "MidnightBlue" }
+ ListElement { name: "Easing.InCirc"; type: Easing.InCirc; ballColor: "CornSilk" }
+ ListElement { name: "Easing.OutCirc"; type: Easing.OutCirc; ballColor: "Bisque" }
+ ListElement { name: "Easing.InOutCirc"; type: Easing.InOutCirc; ballColor: "RosyBrown" }
+ ListElement { name: "Easing.OutInCirc"; type: Easing.OutInCirc; ballColor: "SandyBrown" }
+ ListElement { name: "Easing.InElastic"; type: Easing.InElastic; ballColor: "DarkGoldenRod" }
+ ListElement { name: "Easing.OutElastic"; type: Easing.OutElastic; ballColor: "Chocolate" }
+ ListElement { name: "Easing.InOutElastic"; type: Easing.InOutElastic; ballColor: "SaddleBrown" }
+ ListElement { name: "Easing.OutInElastic"; type: Easing.OutInElastic; ballColor: "Brown" }
+ ListElement { name: "Easing.InBack"; type: Easing.InBack; ballColor: "Maroon" }
+ ListElement { name: "Easing.OutBack"; type: Easing.OutBack; ballColor: "LavenderBlush" }
+ ListElement { name: "Easing.InOutBack"; type: Easing.InOutBack; ballColor: "MistyRose" }
+ ListElement { name: "Easing.OutInBack"; type: Easing.OutInBack; ballColor: "Gainsboro" }
+ ListElement { name: "Easing.OutBounce"; type: Easing.OutBounce; ballColor: "Silver" }
+ ListElement { name: "Easing.InBounce"; type: Easing.InBounce; ballColor: "DimGray" }
+ ListElement { name: "Easing.InOutBounce"; type: Easing.InOutBounce; ballColor: "SlateGray" }
+ ListElement { name: "Easing.OutInBounce"; type: Easing.OutInBounce; ballColor: "DarkSlateGray" }
+ }
+
+ Component {
+ id: delegate
+
+ Item {
+ height: 42; width: window.width
+
+ Text { text: name; anchors.centerIn: parent; color: "White" }
+
+ Rectangle {
+ id: slot1; color: "#121212"; x: 30; height: 32; width: 32
+ border.color: "#343434"; border.width: 1; radius: 8
+ anchors.verticalCenter: parent.verticalCenter
+ }
+
+ Rectangle {
+ id: slot2; color: "#121212"; x: window.width - 62; height: 32; width: 32
+ border.color: "#343434"; border.width: 1; radius: 8
+ anchors.verticalCenter: parent.verticalCenter
+ }
+
+ Rectangle {
+ id: rect; x: 30; color: "#454545"
+ border.color: "White"; border.width: 2
+ height: 32; width: 32; radius: 8
+ anchors.verticalCenter: parent.verticalCenter
+
+ MouseArea {
+ onClicked: if (rect.state == '') rect.state = "right"; else rect.state = ''
+ anchors.fill: parent
+ }
+
+ states : State {
+ name: "right"
+ PropertyChanges { target: rect; x: window.width - 62; color: ballColor }
+ }
+
+ transitions: Transition {
+ NumberAnimation { properties: "x"; easing.type: type; duration: 1000 }
+ ColorAnimation { properties: "color"; easing.type: type; duration: 1000 }
+ }
+ }
+ }
+ }
+
+ Flickable {
+ anchors.fill: parent; contentHeight: layout.height
+
+ Column {
+ id: layout
+ anchors.left: parent.left; anchors.right: parent.right
+ Repeater { model: easingTypes; delegate: delegate }
+ }
+ }
+}
diff --git a/examples/declarative/clocks/clocks.qmlproject b/examples/declarative/animation/easing/easing.qmlproject
index d4909f8685..d4909f8685 100644
--- a/examples/declarative/clocks/clocks.qmlproject
+++ b/examples/declarative/animation/easing/easing.qmlproject
diff --git a/examples/declarative/animation/states/states.qml b/examples/declarative/animation/states/states.qml
new file mode 100644
index 0000000000..77101d0396
--- /dev/null
+++ b/examples/declarative/animation/states/states.qml
@@ -0,0 +1,101 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+import Qt 4.7
+
+Rectangle {
+ id: page
+ width: 640; height: 480
+ color: "#343434"
+
+ Image {
+ id: userIcon
+ x: topLeftRect.x; y: topLeftRect.y
+ source: "user.png"
+ }
+
+ Rectangle {
+ id: topLeftRect
+
+ anchors { left: parent.left; top: parent.top; leftMargin: 10; topMargin: 20 }
+ width: 64; height: 64
+ color: "Transparent"; border.color: "Gray"; radius: 6
+
+ // Clicking in here sets the state to the default state, returning the image to
+ // its initial position
+ MouseArea { anchors.fill: parent; onClicked: page.state = '' }
+ }
+
+ Rectangle {
+ id: middleRightRect
+
+ anchors { right: parent.right; verticalCenter: parent.verticalCenter; rightMargin: 20 }
+ width: 64; height: 64
+ color: "Transparent"; border.color: "Gray"; radius: 6
+
+ // Clicking in here sets the state to 'middleRight'
+ MouseArea { anchors.fill: parent; onClicked: page.state = 'middleRight' }
+ }
+
+ Rectangle {
+ id: bottomLeftRect
+
+ anchors { left: parent.left; bottom: parent.bottom; leftMargin: 10; bottomMargin: 20 }
+ width: 64; height: 64
+ color: "Transparent"; border.color: "Gray"; radius: 6
+
+ // Clicking in here sets the state to 'bottomLeft'
+ MouseArea { anchors.fill: parent; onClicked: page.state = 'bottomLeft' }
+ }
+
+ states: [
+ // In state 'middleRight', move the image to middleRightRect
+ State {
+ name: "middleRight"
+ PropertyChanges { target: userIcon; x: middleRightRect.x; y: middleRightRect.y }
+ },
+
+ // In state 'bottomLeft', move the image to bottomLeftRect
+ State {
+ name: "bottomLeft"
+ PropertyChanges { target: userIcon; x: bottomLeftRect.x; y: bottomLeftRect.y }
+ }
+ ]
+}
diff --git a/examples/declarative/states/states.qmlproject b/examples/declarative/animation/states/states.qmlproject
index d4909f8685..d4909f8685 100644
--- a/examples/declarative/states/states.qmlproject
+++ b/examples/declarative/animation/states/states.qmlproject
diff --git a/examples/declarative/animation/states/transitions.qml b/examples/declarative/animation/states/transitions.qml
new file mode 100644
index 0000000000..1df60ae557
--- /dev/null
+++ b/examples/declarative/animation/states/transitions.qml
@@ -0,0 +1,130 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+import Qt 4.7
+
+/*
+ This is exactly the same as states.qml, except that we have appended
+ a set of transitions to apply animations when the item changes
+ between each state.
+*/
+
+Rectangle {
+ id: page
+ width: 640; height: 480
+ color: "#343434"
+
+ Image {
+ id: userIcon
+ x: topLeftRect.x; y: topLeftRect.y
+ source: "user.png"
+ }
+
+ Rectangle {
+ id: topLeftRect
+
+ anchors { left: parent.left; top: parent.top; leftMargin: 10; topMargin: 20 }
+ width: 64; height: 64
+ color: "Transparent"; border.color: "Gray"; radius: 6
+
+ // Clicking in here sets the state to the default state, returning the image to
+ // its initial position
+ MouseArea { anchors.fill: parent; onClicked: page.state = '' }
+ }
+
+ Rectangle {
+ id: middleRightRect
+
+ anchors { right: parent.right; verticalCenter: parent.verticalCenter; rightMargin: 20 }
+ width: 64; height: 64
+ color: "Transparent"; border.color: "Gray"; radius: 6
+
+ // Clicking in here sets the state to 'middleRight'
+ MouseArea { anchors.fill: parent; onClicked: page.state = 'middleRight' }
+ }
+
+ Rectangle {
+ id: bottomLeftRect
+
+ anchors { left: parent.left; bottom: parent.bottom; leftMargin: 10; bottomMargin: 20 }
+ width: 64; height: 64
+ color: "Transparent"; border.color: "Gray"; radius: 6
+
+ // Clicking in here sets the state to 'bottomLeft'
+ MouseArea { anchors.fill: parent; onClicked: page.state = 'bottomLeft' }
+ }
+
+ states: [
+ // In state 'middleRight', move the image to middleRightRect
+ State {
+ name: "middleRight"
+ PropertyChanges { target: userIcon; x: middleRightRect.x; y: middleRightRect.y }
+ },
+
+ // In state 'bottomLeft', move the image to bottomLeftRect
+ State {
+ name: "bottomLeft"
+ PropertyChanges { target: userIcon; x: bottomLeftRect.x; y: bottomLeftRect.y }
+ }
+ ]
+
+ // Transitions define how the properties change when the item moves between each state
+ transitions: [
+
+ // When transitioning to 'middleRight' move x,y over a duration of 1 second,
+ // with OutBounce easing function.
+ Transition {
+ from: "*"; to: "middleRight"
+ NumberAnimation { properties: "x,y"; easing.type: Easing.OutBounce; duration: 1000 }
+ },
+
+ // When transitioning to 'bottomLeft' move x,y over a duration of 2 seconds,
+ // with InOutQuad easing function.
+ Transition {
+ from: "*"; to: "bottomLeft"
+ NumberAnimation { properties: "x,y"; easing.type: Easing.InOutQuad; duration: 2000 }
+ },
+
+ // For any other state changes move x,y linearly over duration of 200ms.
+ Transition {
+ NumberAnimation { properties: "x,y"; duration: 200 }
+ }
+ ]
+}
diff --git a/examples/declarative/states/user.png b/examples/declarative/animation/states/user.png
index dd7d7a2417..dd7d7a2417 100644
--- a/examples/declarative/states/user.png
+++ b/examples/declarative/animation/states/user.png
Binary files differ
diff --git a/examples/declarative/animations/color-animation.qml b/examples/declarative/animations/color-animation.qml
deleted file mode 100644
index 3616a3188f..0000000000
--- a/examples/declarative/animations/color-animation.qml
+++ /dev/null
@@ -1,71 +0,0 @@
-import Qt 4.7
-import Qt.labs.particles 1.0
-
-Item {
- id: window
- width: 640; height: 480
-
- // Let's draw the sky...
- Rectangle {
- anchors { left: parent.left; top: parent.top; right: parent.right; bottom: parent.verticalCenter }
- gradient: Gradient {
- GradientStop {
- position: 0.0
- SequentialAnimation on color {
- loops: Animation.Infinite
- ColorAnimation { from: "DeepSkyBlue"; to: "#0E1533"; duration: 5000 }
- ColorAnimation { from: "#0E1533"; to: "DeepSkyBlue"; duration: 5000 }
- }
- }
- GradientStop {
- position: 1.0
- SequentialAnimation on color {
- loops: Animation.Infinite
- ColorAnimation { from: "SkyBlue"; to: "#437284"; duration: 5000 }
- ColorAnimation { from: "#437284"; to: "SkyBlue"; duration: 5000 }
- }
- }
- }
- }
-
- // the sun, moon, and stars
- Item {
- width: parent.width; height: 2 * parent.height
- transformOrigin: Item.Center
- NumberAnimation on rotation { from: 0; to: 360; duration: 10000; loops: Animation.Infinite }
- Image {
- source: "images/sun.png"; y: 10; anchors.horizontalCenter: parent.horizontalCenter
- transformOrigin: Item.Center; rotation: -3 * parent.rotation
- }
- Image {
- source: "images/moon.png"; y: parent.height - 74; anchors.horizontalCenter: parent.horizontalCenter
- transformOrigin: Item.Center; rotation: -parent.rotation
- }
- Particles {
- x: 0; y: parent.height/2; width: parent.width; height: parent.height/2
- source: "images/star.png"; angleDeviation: 360; velocity: 0
- velocityDeviation: 0; count: parent.width / 10; fadeInDuration: 2800
- SequentialAnimation on opacity {
- loops: Animation.Infinite
- NumberAnimation { from: 0; to: 1; duration: 5000 }
- NumberAnimation { from: 1; to: 0; duration: 5000 }
- }
- }
- }
-
- // ...and the ground.
- Rectangle {
- anchors { left: parent.left; top: parent.verticalCenter; right: parent.right; bottom: parent.bottom }
- gradient: Gradient {
- GradientStop {
- position: 0.0
- SequentialAnimation on color {
- loops: Animation.Infinite
- ColorAnimation { from: "ForestGreen"; to: "#001600"; duration: 5000 }
- ColorAnimation { from: "#001600"; to: "ForestGreen"; duration: 5000 }
- }
- }
- GradientStop { position: 1.0; color: "DarkGreen" }
- }
- }
-}
diff --git a/examples/declarative/animations/easing.qml b/examples/declarative/animations/easing.qml
deleted file mode 100644
index b0f9669779..0000000000
--- a/examples/declarative/animations/easing.qml
+++ /dev/null
@@ -1,99 +0,0 @@
-import Qt 4.7
-
-Rectangle {
- id: window
- width: 600; height: 460; color: "#232323"
-
- ListModel {
- id: easingTypes
- ListElement { type: "Linear"; ballColor: "DarkRed" }
- ListElement { type: "InQuad"; ballColor: "IndianRed" }
- ListElement { type: "OutQuad"; ballColor: "Salmon" }
- ListElement { type: "InOutQuad"; ballColor: "Tomato" }
- ListElement { type: "OutInQuad"; ballColor: "DarkOrange" }
- ListElement { type: "InCubic"; ballColor: "Gold" }
- ListElement { type: "OutCubic"; ballColor: "Yellow" }
- ListElement { type: "InOutCubic"; ballColor: "PeachPuff" }
- ListElement { type: "OutInCubic"; ballColor: "Thistle" }
- ListElement { type: "InQuart"; ballColor: "Orchid" }
- ListElement { type: "OutQuart"; ballColor: "Purple" }
- ListElement { type: "InOutQuart"; ballColor: "SlateBlue" }
- ListElement { type: "OutInQuart"; ballColor: "Chartreuse" }
- ListElement { type: "InQuint"; ballColor: "LimeGreen" }
- ListElement { type: "OutQuint"; ballColor: "SeaGreen" }
- ListElement { type: "InOutQuint"; ballColor: "DarkGreen" }
- ListElement { type: "OutInQuint"; ballColor: "Olive" }
- ListElement { type: "InSine"; ballColor: "DarkSeaGreen" }
- ListElement { type: "OutSine"; ballColor: "Teal" }
- ListElement { type: "InOutSine"; ballColor: "Turquoise" }
- ListElement { type: "OutInSine"; ballColor: "SteelBlue" }
- ListElement { type: "InExpo"; ballColor: "SkyBlue" }
- ListElement { type: "OutExpo"; ballColor: "RoyalBlue" }
- ListElement { type: "InOutExpo"; ballColor: "MediumBlue" }
- ListElement { type: "OutInExpo"; ballColor: "MidnightBlue" }
- ListElement { type: "InCirc"; ballColor: "CornSilk" }
- ListElement { type: "OutCirc"; ballColor: "Bisque" }
- ListElement { type: "InOutCirc"; ballColor: "RosyBrown" }
- ListElement { type: "OutInCirc"; ballColor: "SandyBrown" }
- ListElement { type: "InElastic"; ballColor: "DarkGoldenRod" }
- ListElement { type: "OutElastic"; ballColor: "Chocolate" }
- ListElement { type: "InOutElastic"; ballColor: "SaddleBrown" }
- ListElement { type: "OutInElastic"; ballColor: "Brown" }
- ListElement { type: "InBack"; ballColor: "Maroon" }
- ListElement { type: "OutBack"; ballColor: "LavenderBlush" }
- ListElement { type: "InOutBack"; ballColor: "MistyRose" }
- ListElement { type: "OutInBack"; ballColor: "Gainsboro" }
- ListElement { type: "OutBounce"; ballColor: "Silver" }
- ListElement { type: "InBounce"; ballColor: "DimGray" }
- ListElement { type: "InOutBounce"; ballColor: "SlateGray" }
- ListElement { type: "OutInBounce"; ballColor: "DarkSlateGray" }
- }
-
- Component {
- id: delegate
-
- Item {
- height: 42; width: window.width
- Text { text: type; anchors.centerIn: parent; color: "White" }
- Rectangle {
- id: slot1; color: "#121212"; x: 30; height: 32; width: 32
- border.color: "#343434"; border.width: 1; radius: 8; anchors.verticalCenter: parent.verticalCenter
- }
- Rectangle {
- id: slot2; color: "#121212"; x: window.width - 62; height: 32; width: 32
- border.color: "#343434"; border.width: 1; radius: 8; anchors.verticalCenter: parent.verticalCenter
- }
- Rectangle {
- id: rect; x: 30; color: "#454545"
- border.color: "White"; border.width: 2
- height: 32; width: 32; radius: 8; anchors.verticalCenter: parent.verticalCenter
-
- MouseArea {
- onClicked: if (rect.state == '') rect.state = "right"; else rect.state = ''
- anchors.fill: parent
- }
-
- states : State {
- name: "right"
- PropertyChanges { target: rect; x: window.width - 62; color: ballColor }
- }
-
- transitions: Transition {
- // ParallelAnimation {
- NumberAnimation { properties: "x"; easing.type: type; duration: 1000 }
- ColorAnimation { properties: "color"; easing.type: type; duration: 1000 }
- // }
- }
- }
- }
- }
-
- Flickable {
- anchors.fill: parent; contentHeight: layout.height
- Column {
- id: layout
- anchors.left: parent.left; anchors.right: parent.right
- Repeater { model: easingTypes; delegate: delegate }
- }
- }
-}
diff --git a/examples/declarative/animations/property-animation.qml b/examples/declarative/animations/property-animation.qml
deleted file mode 100644
index 5afe8ef749..0000000000
--- a/examples/declarative/animations/property-animation.qml
+++ /dev/null
@@ -1,64 +0,0 @@
-import Qt 4.7
-
-Item {
- id: window
- width: 320; height: 480
-
- // Let's draw the sky...
- Rectangle {
- anchors { left: parent.left; top: parent.top; right: parent.right; bottom: parent.verticalCenter }
- gradient: Gradient {
- GradientStop { position: 0.0; color: "DeepSkyBlue" }
- GradientStop { position: 1.0; color: "LightSkyBlue" }
- }
- }
-
- // ...and the ground.
- Rectangle {
- anchors { left: parent.left; top: parent.verticalCenter; right: parent.right; bottom: parent.bottom }
- gradient: Gradient {
- GradientStop { position: 0.0; color: "ForestGreen" }
- GradientStop { position: 1.0; color: "DarkGreen" }
- }
- }
-
- // The shadow for the smiley face
- Image {
- anchors.horizontalCenter: parent.horizontalCenter
- source: "images/shadow.png"; y: smiley.minHeight + 58
- transformOrigin: Item.Center
-
- // The scale property depends on the y position of the smiley face.
- scale: smiley.y * 0.5 / (smiley.minHeight - smiley.maxHeight)
- }
-
- Image {
- id: smiley
- property int maxHeight: window.height / 3
- property int minHeight: 2 * window.height / 3
-
- anchors.horizontalCenter: parent.horizontalCenter
- source: "images/face-smile.png"; y: minHeight
-
- // Animate the y property. Setting loops to Animation.Infinite makes the
- // animation repeat indefinitely, otherwise it would only run once.
- SequentialAnimation on y {
- loops: Animation.Infinite
-
- // Move from minHeight to maxHeight in 300ms, using the OutExpo easing function
- NumberAnimation {
- from: smiley.minHeight; to: smiley.maxHeight
- easing.type: "OutExpo"; duration: 300
- }
-
- // Then move back to minHeight in 1 second, using the OutBounce easing function
- NumberAnimation {
- from: smiley.maxHeight; to: smiley.minHeight
- easing.type: "OutBounce"; duration: 1000
- }
-
- // Then pause for 500ms
- PauseAnimation { duration: 500 }
- }
- }
-}
diff --git a/examples/declarative/aspectratio/face_fit.qml b/examples/declarative/aspectratio/face_fit.qml
deleted file mode 100644
index 52cd4c249d..0000000000
--- a/examples/declarative/aspectratio/face_fit.qml
+++ /dev/null
@@ -1,26 +0,0 @@
-import Qt 4.7
-
-// Here, we implement a hybrid of the "scale to fit" and "scale and crop"
-// behaviours which will crop up to 25% from *one* dimension if necessary
-// to fully scale the other. This is a realistic algorithm, for example
-// when the edges of the image contain less vital information than the
-// center - such as a face.
-//
-Rectangle {
- // default size: whole image, unscaled
- width: face.width
- height: face.height
- color: "gray"
- clip: true
-
- Image {
- id: face
- smooth: true
- anchors.centerIn: parent
- source: "pics/face.png"
- x: (parent.width-width*scale)/2
- y: (parent.height-height*scale)/2
- scale: Math.max(Math.min(parent.width/width*1.333,parent.height/height),
- Math.min(parent.width/width,parent.height/height*1.333))
- }
-}
diff --git a/examples/declarative/aspectratio/face_fit_animated.qml b/examples/declarative/aspectratio/face_fit_animated.qml
deleted file mode 100644
index 63fc9c6961..0000000000
--- a/examples/declarative/aspectratio/face_fit_animated.qml
+++ /dev/null
@@ -1,28 +0,0 @@
-import Qt 4.7
-
-// Here, we extend the "face_fit" example with animation to show how truly
-// diverse and usage-specific behaviours are made possible by NOT putting a
-// hard-coded aspect ratio feature into the Image primitive.
-//
-Rectangle {
- // default size: whole image, unscaled
- width: face.width
- height: face.height
- color: "gray"
- clip: true
-
- Image {
- id: face
- smooth: true
- anchors.centerIn: parent
- source: "pics/face.png"
- x: (parent.width-width*scale)/2
- y: (parent.height-height*scale)/2
- SpringFollow on scale {
- to: Math.max(Math.min(face.parent.width/face.width*1.333,face.parent.height/face.height),
- Math.min(face.parent.width/face.width,face.parent.height/face.height*1.333))
- spring: 1
- damping: 0.05
- }
- }
-}
diff --git a/examples/declarative/aspectratio/scale_and_crop.qml b/examples/declarative/aspectratio/scale_and_crop.qml
deleted file mode 100644
index a4381042fe..0000000000
--- a/examples/declarative/aspectratio/scale_and_crop.qml
+++ /dev/null
@@ -1,21 +0,0 @@
-import Qt 4.7
-
-// Here, we implement "Scale and Crop" behaviour.
-//
-Rectangle {
- // default size: whole image, unscaled
- width: face.width
- height: face.height
- color: "gray"
- clip: true
-
- Image {
- id: face
- smooth: true
- anchors.centerIn: parent
- source: "pics/face.png"
- x: (parent.width-width*scale)/2
- y: (parent.height-height*scale)/2
- scale: Math.max(parent.width/width,parent.height/height)
- }
-}
diff --git a/examples/declarative/aspectratio/scale_and_crop_simple.qml b/examples/declarative/aspectratio/scale_and_crop_simple.qml
deleted file mode 100644
index 1160ec54e8..0000000000
--- a/examples/declarative/aspectratio/scale_and_crop_simple.qml
+++ /dev/null
@@ -1,20 +0,0 @@
-import Qt 4.7
-
-// Here, we implement "Scale to Fit" behaviour, using the
-// fillMode property.
-//
-Rectangle {
- // default size: whole image, unscaled
- width: face.width
- height: face.height
- color: "gray"
- clip: true
-
- Image {
- id: face
- smooth: true
- source: "pics/face.png"
- fillMode: Image.PreserveAspectCrop
- anchors.fill: parent
- }
-}
diff --git a/examples/declarative/aspectratio/scale_and_sidecrop.qml b/examples/declarative/aspectratio/scale_and_sidecrop.qml
deleted file mode 100644
index 5593ab8416..0000000000
--- a/examples/declarative/aspectratio/scale_and_sidecrop.qml
+++ /dev/null
@@ -1,22 +0,0 @@
-import Qt 4.7
-
-// Here, we implement a variant of "Scale and Crop" behaviour, where we
-// crop the sides if necessary to fully fit vertically, but not the reverse.
-//
-Rectangle {
- // default size: whole image, unscaled
- width: face.width
- height: face.height
- color: "gray"
- clip: true
-
- Image {
- id: face
- smooth: true
- anchors.centerIn: parent
- source: "pics/face.png"
- x: (parent.width-width*scale)/2
- y: (parent.height-height*scale)/2
- scale: parent.height/height
- }
-}
diff --git a/examples/declarative/aspectratio/scale_to_fit.qml b/examples/declarative/aspectratio/scale_to_fit.qml
deleted file mode 100644
index 724a36eeae..0000000000
--- a/examples/declarative/aspectratio/scale_to_fit.qml
+++ /dev/null
@@ -1,22 +0,0 @@
-import Qt 4.7
-
-// Here, we implement "Scale to Fit" behaviour "manually", rather
-// than using the preserveAspect property.
-//
-Rectangle {
- // default size: whole image, unscaled
- width: face.width
- height: face.height
- color: "gray"
- clip: true
-
- Image {
- id: face
- smooth: true
- anchors.centerIn: parent
- source: "pics/face.png"
- x: (parent.width-width*scale)/2
- y: (parent.height-height*scale)/2
- scale: Math.min(parent.width/width,parent.height/height)
- }
-}
diff --git a/examples/declarative/aspectratio/scale_to_fit_simple.qml b/examples/declarative/aspectratio/scale_to_fit_simple.qml
deleted file mode 100644
index 0e960b4bd1..0000000000
--- a/examples/declarative/aspectratio/scale_to_fit_simple.qml
+++ /dev/null
@@ -1,20 +0,0 @@
-import Qt 4.7
-
-// Here, we implement "Scale to Fit" behaviour, using the
-// fillMode property.
-//
-Rectangle {
- // default size: whole image, unscaled
- width: face.width
- height: face.height
- color: "gray"
- clip: true
-
- Image {
- id: face
- smooth: true
- source: "pics/face.png"
- fillMode: Image.PreserveAspectFit
- anchors.fill: parent
- }
-}
diff --git a/examples/declarative/behaviors/SideRect.qml b/examples/declarative/behaviors/SideRect.qml
deleted file mode 100644
index d32bd7b7a5..0000000000
--- a/examples/declarative/behaviors/SideRect.qml
+++ /dev/null
@@ -1,22 +0,0 @@
-import Qt 4.7
-
-Rectangle {
- id: myRect
-
- property string text
-
- width: 75; height: 50
- radius: 6
- color: "#646464"
- border.width: 4; border.color: "white"
-
- MouseArea {
- anchors.fill: parent
- hoverEnabled: true
- onEntered: {
- focusRect.x = myRect.x;
- focusRect.y = myRect.y;
- focusRect.text = myRect.text;
- }
- }
-}
diff --git a/examples/declarative/behaviors/behavior-example.qml b/examples/declarative/behaviors/behavior-example.qml
deleted file mode 100644
index b7bae6c5d7..0000000000
--- a/examples/declarative/behaviors/behavior-example.qml
+++ /dev/null
@@ -1,79 +0,0 @@
-import Qt 4.7
-
-Rectangle {
- width: 600; height: 400
- color: "#343434"
-
- Rectangle {
- anchors.centerIn: parent
- width: 200; height: 200
- radius: 30
- color: "transparent"
- border.width: 4; border.color: "white"
-
-
- SideRect {
- id: leftRect
- anchors { verticalCenter: parent.verticalCenter; horizontalCenter: parent.left }
- text: "Left"
- }
-
- SideRect {
- id: rightRect
- anchors { verticalCenter: parent.verticalCenter; horizontalCenter: parent.right }
- text: "Right"
- }
-
- SideRect {
- id: topRect
- anchors { verticalCenter: parent.top; horizontalCenter: parent.horizontalCenter }
- text: "Top"
- }
-
- SideRect {
- id: bottomRect
- anchors { verticalCenter: parent.bottom; horizontalCenter: parent.horizontalCenter }
- text: "Bottom"
- }
-
-
- Rectangle {
- id: focusRect
-
- property string text
-
- x: 62.5; y: 75; width: 75; height: 50
- radius: 6
- border.width: 4; border.color: "white"
- color: "firebrick"
-
- // Setting an 'elastic' behavior on the focusRect's x property.
- Behavior on x {
- NumberAnimation { easing.type: "OutElastic"; easing.amplitude: 3.0; easing.period: 2.0; duration: 300 }
- }
-
- // Setting an 'elastic' behavior on the focusRect's y property.
- Behavior on y {
- NumberAnimation { easing.type: "OutElastic"; easing.amplitude: 3.0; easing.period: 2.0; duration: 300 }
- }
-
- Text {
- id: focusText
- text: focusRect.text
- anchors.centerIn: parent
- color: "white"
- font.pixelSize: 16; font.bold: true
-
- // Setting a behavior on the focusText's x property:
- // Set the opacity to 0, set the new text value, then set the opacity back to 1.
- Behavior on text {
- SequentialAnimation {
- NumberAnimation { target: focusText; property: "opacity"; to: 0; duration: 150 }
- PropertyAction { }
- NumberAnimation { target: focusText; property: "opacity"; to: 1; duration: 150 }
- }
- }
- }
- }
- }
-}
diff --git a/examples/declarative/border-image/animated.qml b/examples/declarative/border-image/animated.qml
deleted file mode 100644
index c3ff9eff6a..0000000000
--- a/examples/declarative/border-image/animated.qml
+++ /dev/null
@@ -1,54 +0,0 @@
-import Qt 4.7
-import "content"
-
-Rectangle {
- id: page
- width: 1030; height: 540
-
- MyBorderImage {
- x: 20; y: 20; minWidth: 120; maxWidth: 240
- minHeight: 120; maxHeight: 240
- source: "content/colors.png"; margin: 30
- }
- MyBorderImage {
- x: 270; y: 20; minWidth: 120; maxWidth: 240
- minHeight: 120; maxHeight: 240
- source: "content/colors.png"; margin: 30
- horizontalMode: BorderImage.Repeat; verticalMode: BorderImage.Repeat
- }
- MyBorderImage {
- x: 520; y: 20; minWidth: 120; maxWidth: 240
- minHeight: 120; maxHeight: 240
- source: "content/colors.png"; margin: 30
- horizontalMode: BorderImage.Stretch; verticalMode: BorderImage.Repeat
- }
- MyBorderImage {
- x: 770; y: 20; minWidth: 120; maxWidth: 240
- minHeight: 120; maxHeight: 240
- source: "content/colors.png"; margin: 30
- horizontalMode: BorderImage.Round; verticalMode: BorderImage.Round
- }
- MyBorderImage {
- x: 20; y: 280; minWidth: 60; maxWidth: 200
- minHeight: 40; maxHeight: 200
- source: "content/bw.png"; margin: 10
- }
- MyBorderImage {
- x: 270; y: 280; minWidth: 60; maxWidth: 200
- minHeight: 40; maxHeight: 200
- source: "content/bw.png"; margin: 10
- horizontalMode: BorderImage.Repeat; verticalMode: BorderImage.Repeat
- }
- MyBorderImage {
- x: 520; y: 280; minWidth: 60; maxWidth: 200
- minHeight: 40; maxHeight: 200
- source: "content/bw.png"; margin: 10
- horizontalMode: BorderImage.Stretch; verticalMode: BorderImage.Repeat
- }
- MyBorderImage {
- x: 770; y: 280; minWidth: 60; maxWidth: 200
- minHeight: 40; maxHeight: 200
- source: "content/bw.png"; margin: 10
- horizontalMode: BorderImage.Round; verticalMode: BorderImage.Round
- }
-}
diff --git a/examples/declarative/border-image/borders.qml b/examples/declarative/border-image/borders.qml
deleted file mode 100644
index 3743f7e8f9..0000000000
--- a/examples/declarative/border-image/borders.qml
+++ /dev/null
@@ -1,17 +0,0 @@
-import Qt 4.7
-
-Rectangle {
- id: page
- width: 520; height: 280
-
- BorderImage {
- x: 20; y: 20; width: 230; height: 240
- smooth: true
- source: "content/colors-stretch.sci"
- }
- BorderImage {
- x: 270; y: 20; width: 230; height: 240
- smooth: true
- source: "content/colors-round.sci"
- }
-}
diff --git a/examples/declarative/border-image/content/MyBorderImage.qml b/examples/declarative/border-image/content/MyBorderImage.qml
deleted file mode 100644
index f65f0932ca..0000000000
--- a/examples/declarative/border-image/content/MyBorderImage.qml
+++ /dev/null
@@ -1,37 +0,0 @@
-import Qt 4.7
-
-Item {
- property alias horizontalMode: image.horizontalTileMode
- property alias verticalMode: image.verticalTileMode
- property alias source: image.source
-
- property int minWidth
- property int minHeight
- property int maxWidth
- property int maxHeight
- property int margin
-
- id: container
- width: 240; height: 240
-
- BorderImage {
- id: image; x: container.width / 2 - width / 2; y: container.height / 2 - height / 2
-
- SequentialAnimation on width {
- loops: Animation.Infinite
- NumberAnimation { from: container.minWidth; to: container.maxWidth; duration: 2000; easing.type: "InOutQuad"}
- NumberAnimation { from: container.maxWidth; to: container.minWidth; duration: 2000; easing.type: "InOutQuad" }
- }
-
- SequentialAnimation on height {
- loops: Animation.Infinite
- NumberAnimation { from: container.minHeight; to: container.maxHeight; duration: 2000; easing.type: "InOutQuad"}
- NumberAnimation { from: container.maxHeight; to: container.minHeight; duration: 2000; easing.type: "InOutQuad" }
- }
-
- border.top: container.margin
- border.left: container.margin
- border.bottom: container.margin
- border.right: container.margin
- }
-}
diff --git a/examples/declarative/clocks/clocks.qml b/examples/declarative/clocks/clocks.qml
deleted file mode 100644
index 22cf82072d..0000000000
--- a/examples/declarative/clocks/clocks.qml
+++ /dev/null
@@ -1,14 +0,0 @@
-import Qt 4.7
-import "content"
-
-Rectangle {
- width: 640; height: 240
- color: "#646464"
-
- Row {
- anchors.centerIn: parent
- Clock { city: "New York"; shift: -4 }
- Clock { city: "Mumbai"; shift: 5.5 }
- Clock { city: "Tokyo"; shift: 9 }
- }
-}
diff --git a/examples/declarative/clocks/content/Clock.qml b/examples/declarative/clocks/content/Clock.qml
deleted file mode 100644
index 3426e6a421..0000000000
--- a/examples/declarative/clocks/content/Clock.qml
+++ /dev/null
@@ -1,83 +0,0 @@
-import Qt 4.7
-
-Item {
- id: clock
- width: 200; height: 230
-
- property alias city: cityLabel.text
- property variant hours
- property variant minutes
- property variant seconds
- property variant shift : 0
- property bool night: false
-
- function timeChanged() {
- var date = new Date;
- hours = shift ? date.getUTCHours() + Math.floor(clock.shift) : date.getHours()
- night = ( hours < 7 || hours > 19 )
- minutes = shift ? date.getUTCMinutes() + ((clock.shift % 1) * 60) : date.getMinutes()
- seconds = date.getUTCSeconds();
- }
-
- Timer {
- interval: 100; running: true; repeat: true; triggeredOnStart: true
- onTriggered: clock.timeChanged()
- }
-
- Image { id: background; source: "clock.png"; visible: clock.night == false }
- Image { source: "clock-night.png"; visible: clock.night == true }
-
- Image {
- x: 92.5; y: 27
- source: "hour.png"
- smooth: true
- transform: Rotation {
- id: hourRotation
- origin.x: 7.5; origin.y: 73; angle: 0
- SpringFollow on angle {
- spring: 2; damping: 0.2; modulus: 360
- to: (clock.hours * 30) + (clock.minutes * 0.5)
- }
- }
- }
-
- Image {
- x: 93.5; y: 17
- source: "minute.png"
- smooth: true
- transform: Rotation {
- id: minuteRotation
- origin.x: 6.5; origin.y: 83; angle: 0
- SpringFollow on angle {
- spring: 2; damping: 0.2; modulus: 360
- to: clock.minutes * 6
- }
- }
- }
-
- Image {
- x: 97.5; y: 20
- source: "second.png"
- smooth: true
- transform: Rotation {
- id: secondRotation
- origin.x: 2.5; origin.y: 80; angle: 0
- SpringFollow on angle {
- spring: 5; damping: 0.25; modulus: 360
- to: clock.seconds * 6
- }
- }
- }
-
- Image {
- anchors.centerIn: background; source: "center.png"
- }
-
- Text {
- id: cityLabel
- y: 200; anchors.horizontalCenter: parent.horizontalCenter
- color: "white"
- font.bold: true; font.pixelSize: 14
- style: Text.Raised; styleColor: "black"
- }
-}
diff --git a/examples/declarative/connections/connections-example.qml b/examples/declarative/connections/connections-example.qml
deleted file mode 100644
index fbef968867..0000000000
--- a/examples/declarative/connections/connections-example.qml
+++ /dev/null
@@ -1,38 +0,0 @@
-import Qt 4.7
-import "content"
-
-Rectangle {
- id: window
-
- property int angle: 0
-
- width: 640; height: 480
- color: "#646464"
-
- Image {
- id: image
- source: "content/bg1.jpg"
- anchors.centerIn: parent
- transformOrigin: Item.Center
- rotation: window.angle
-
- Behavior on rotation {
- NumberAnimation { easing.type: "OutCubic"; duration: 300 }
- }
- }
-
- Button {
- id: leftButton
- image: "content/rotate-left.png"
- anchors { left: parent.left; bottom: parent.bottom; leftMargin: 10; bottomMargin: 10 }
- }
-
- Button {
- id: rightButton
- image: "content/rotate-right.png"
- anchors { right: parent.right; bottom: parent.bottom; rightMargin: 10; bottomMargin: 10 }
- }
-
- Connections { target: leftButton; onClicked: window.angle -= 90 }
- Connections { target: rightButton; onClicked: window.angle += 90 }
-}
diff --git a/examples/declarative/connections/content/Button.qml b/examples/declarative/connections/content/Button.qml
deleted file mode 100644
index f95afbb709..0000000000
--- a/examples/declarative/connections/content/Button.qml
+++ /dev/null
@@ -1,12 +0,0 @@
-import Qt 4.7
-
-Item {
- id: button
- width: 48; height: 48
-
- property alias image: icon.source
- signal clicked
-
- Image { id: icon }
- MouseArea { anchors.fill: icon; onClicked: button.clicked() }
-}
diff --git a/examples/declarative/connections/content/bg1.jpg b/examples/declarative/connections/content/bg1.jpg
deleted file mode 100644
index dfc7cee6ad..0000000000
--- a/examples/declarative/connections/content/bg1.jpg
+++ /dev/null
Binary files differ
diff --git a/examples/declarative/connections/content/rotate-left.png b/examples/declarative/connections/content/rotate-left.png
deleted file mode 100644
index c30387e44e..0000000000
--- a/examples/declarative/connections/content/rotate-left.png
+++ /dev/null
Binary files differ
diff --git a/examples/declarative/connections/content/rotate-right.png b/examples/declarative/connections/content/rotate-right.png
deleted file mode 100644
index 1b05674b1f..0000000000
--- a/examples/declarative/connections/content/rotate-right.png
+++ /dev/null
Binary files differ
diff --git a/examples/declarative/cppextensions/cppextensions.pro b/examples/declarative/cppextensions/cppextensions.pro
new file mode 100644
index 0000000000..33762feb32
--- /dev/null
+++ b/examples/declarative/cppextensions/cppextensions.pro
@@ -0,0 +1,10 @@
+TEMPLATE = subdirs
+
+SUBDIRS += \
+ imageprovider \
+ plugins \
+ networkaccessmanagerfactory \
+ qwidgets \
+ qgraphicslayouts \
+ referenceexamples
+
diff --git a/examples/declarative/connections/connections.qmlproject b/examples/declarative/cppextensions/cppextensions.qmlproject
index d4909f8685..d4909f8685 100644
--- a/examples/declarative/connections/connections.qmlproject
+++ b/examples/declarative/cppextensions/cppextensions.qmlproject
diff --git a/examples/declarative/cppextensions/imageprovider/ImageProviderCore/qmldir b/examples/declarative/cppextensions/imageprovider/ImageProviderCore/qmldir
new file mode 100644
index 0000000000..6be88bccec
--- /dev/null
+++ b/examples/declarative/cppextensions/imageprovider/ImageProviderCore/qmldir
@@ -0,0 +1,2 @@
+plugin qmlimageproviderplugin
+
diff --git a/examples/declarative/cppextensions/imageprovider/imageprovider-example.qml b/examples/declarative/cppextensions/imageprovider/imageprovider-example.qml
new file mode 100644
index 0000000000..5890c91182
--- /dev/null
+++ b/examples/declarative/cppextensions/imageprovider/imageprovider-example.qml
@@ -0,0 +1,65 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+import Qt 4.7
+import "ImageProviderCore"
+//![0]
+ListView {
+ width: 100; height: 100
+ anchors.fill: parent
+
+ model: myModel
+
+ delegate: Component {
+ Item {
+ width: 100
+ height: 50
+ Text {
+ text: "Loading..."
+ anchors.centerIn: parent
+ }
+ Image {
+ source: modelData
+ sourceSize: "50x25"
+ }
+ }
+ }
+}
+//![0]
diff --git a/examples/declarative/cppextensions/imageprovider/imageprovider.cpp b/examples/declarative/cppextensions/imageprovider/imageprovider.cpp
new file mode 100644
index 0000000000..0281b4a36b
--- /dev/null
+++ b/examples/declarative/cppextensions/imageprovider/imageprovider.cpp
@@ -0,0 +1,117 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the demonstration applications of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+
+#include <qdeclarativeextensionplugin.h>
+
+#include <qdeclarativeengine.h>
+#include <qdeclarativecontext.h>
+#include <qdeclarative.h>
+#include <qdeclarativeitem.h>
+#include <qdeclarativeimageprovider.h>
+#include <qdeclarativeview.h>
+#include <QImage>
+#include <QPainter>
+
+/*
+ This example illustrates using a QDeclarativeImageProvider to serve
+ images asynchronously.
+*/
+
+//![0]
+class ColorImageProvider : public QDeclarativeImageProvider
+{
+public:
+ // This is run in a low priority thread.
+ QImage request(const QString &id, QSize *size, const QSize &req_size)
+ {
+ if (size) *size = QSize(100,50);
+ QImage image(
+ req_size.width() > 0 ? req_size.width() : 100,
+ req_size.height() > 0 ? req_size.height() : 50,
+ QImage::Format_RGB32);
+ image.fill(QColor(id).rgba());
+ QPainter p(&image);
+ QFont f = p.font();
+ f.setPixelSize(30);
+ p.setFont(f);
+ p.setPen(Qt::black);
+ if (req_size.isValid())
+ p.scale(req_size.width()/100.0, req_size.height()/50.0);
+ p.drawText(QRectF(0,0,100,50),Qt::AlignCenter,id);
+ return image;
+ }
+};
+
+
+class ImageProviderExtensionPlugin : public QDeclarativeExtensionPlugin
+{
+ Q_OBJECT
+public:
+ void registerTypes(const char *uri) {
+ Q_UNUSED(uri);
+
+ }
+
+ void initializeEngine(QDeclarativeEngine *engine, const char *uri) {
+ Q_UNUSED(uri);
+
+ engine->addImageProvider("colors", new ColorImageProvider);
+
+ QStringList dataList;
+ dataList.append("image://colors/red");
+ dataList.append("image://colors/green");
+ dataList.append("image://colors/blue");
+ dataList.append("image://colors/brown");
+ dataList.append("image://colors/orange");
+ dataList.append("image://colors/purple");
+ dataList.append("image://colors/yellow");
+
+ QDeclarativeContext *ctxt = engine->rootContext();
+ ctxt->setContextProperty("myModel", QVariant::fromValue(dataList));
+ }
+
+};
+
+#include "imageprovider.moc"
+
+Q_EXPORT_PLUGIN(ImageProviderExtensionPlugin);
+//![0]
+
diff --git a/examples/declarative/cppextensions/imageprovider/imageprovider.pro b/examples/declarative/cppextensions/imageprovider/imageprovider.pro
new file mode 100644
index 0000000000..f218c30dc5
--- /dev/null
+++ b/examples/declarative/cppextensions/imageprovider/imageprovider.pro
@@ -0,0 +1,29 @@
+TEMPLATE = lib
+CONFIG += qt plugin
+QT += declarative
+
+DESTDIR = ImageProviderCore
+TARGET = qmlimageproviderplugin
+
+SOURCES += imageprovider.cpp
+
+sources.files = $$SOURCES imageprovider.qml imageprovider.pro
+sources.path = $$[QT_INSTALL_EXAMPLES]/declarative/imageprovider
+
+target.path = $$[QT_INSTALL_EXAMPLES]/declarative/imageprovider/ImageProviderCore
+
+ImageProviderCore_sources.files = \
+ ImageProviderCore/qmldir
+ImageProviderCore_sources.path = $$[QT_INSTALL_EXAMPLES]/declarative/imageprovider/ImageProviderCore
+
+INSTALLS = sources ImageProviderCore_sources target
+
+symbian:{
+ load(data_caging_paths)
+ include($$QT_SOURCE_TREE/examples/symbianpkgrules.pri)
+ TARGET.EPOCALLOWDLLDATA = 1
+
+ importFiles.sources = qmlimageproviderplugin.dll ImageProviderCore/qmldir
+ importFiles.path = ImageProviderCore
+ DEPLOYMENT = importFiles
+}
diff --git a/examples/declarative/imageprovider/imageprovider.qmlproject b/examples/declarative/cppextensions/imageprovider/imageprovider.qmlproject
index d4909f8685..d4909f8685 100644
--- a/examples/declarative/imageprovider/imageprovider.qmlproject
+++ b/examples/declarative/cppextensions/imageprovider/imageprovider.qmlproject
diff --git a/examples/declarative/cppextensions/networkaccessmanagerfactory/main.cpp b/examples/declarative/cppextensions/networkaccessmanagerfactory/main.cpp
new file mode 100644
index 0000000000..13212cad01
--- /dev/null
+++ b/examples/declarative/cppextensions/networkaccessmanagerfactory/main.cpp
@@ -0,0 +1,108 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the demonstration applications of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include <QApplication>
+#include <QNetworkAccessManager>
+#include <QNetworkProxy>
+
+#include <QDeclarativeEngine>
+#include <QDeclarativeNetworkAccessManagerFactory>
+#include <QDeclarativeView>
+
+
+/*
+ This example illustrates using a QDeclarativeNetworkAccessManagerFactory to
+ create a QNetworkAccessManager with a proxy.
+
+ Usage:
+ networkaccessmanagerfactory [-host <proxy> -port <port>] [file]
+*/
+
+static QString proxyHost;
+static int proxyPort = 0;
+
+class MyNetworkAccessManagerFactory : public QDeclarativeNetworkAccessManagerFactory
+{
+public:
+ virtual QNetworkAccessManager *create(QObject *parent);
+};
+
+QNetworkAccessManager *MyNetworkAccessManagerFactory::create(QObject *parent)
+{
+ QNetworkAccessManager *nam = new QNetworkAccessManager(parent);
+ if (!proxyHost.isEmpty()) {
+ qDebug() << "Created QNetworkAccessManager using proxy" << (proxyHost + ":" + QString::number(proxyPort));
+ QNetworkProxy proxy(QNetworkProxy::HttpCachingProxy, proxyHost, proxyPort);
+ nam->setProxy(proxy);
+ }
+
+ return nam;
+}
+
+int main(int argc, char ** argv)
+{
+ QUrl source("qrc:view.qml");
+
+ QApplication app(argc, argv);
+
+ for (int i = 1; i < argc; ++i) {
+ QString arg(argv[i]);
+ if (arg == "-host" && i < argc-1) {
+ proxyHost = argv[++i];
+ } else if (arg == "-port" && i < argc-1) {
+ arg = argv[++i];
+ proxyPort = arg.toInt();
+ } else if (arg[0] != '-') {
+ source = QUrl::fromLocalFile(arg);
+ } else {
+ qWarning() << "Usage: networkaccessmanagerfactory [-host <proxy> -port <port>] [file]";
+ exit(1);
+ }
+ }
+
+ QDeclarativeView view;
+ view.engine()->setNetworkAccessManagerFactory(new MyNetworkAccessManagerFactory);
+
+ view.setSource(source);
+ view.show();
+
+ return app.exec();
+}
+
diff --git a/examples/declarative/cppextensions/networkaccessmanagerfactory/networkaccessmanagerfactory.pro b/examples/declarative/cppextensions/networkaccessmanagerfactory/networkaccessmanagerfactory.pro
new file mode 100644
index 0000000000..74d8db321d
--- /dev/null
+++ b/examples/declarative/cppextensions/networkaccessmanagerfactory/networkaccessmanagerfactory.pro
@@ -0,0 +1,9 @@
+TEMPLATE = app
+TARGET = networkaccessmanagerfactory
+DEPENDPATH += .
+INCLUDEPATH += .
+QT += declarative network
+
+# Input
+SOURCES += main.cpp
+RESOURCES += networkaccessmanagerfactory.qrc
diff --git a/examples/declarative/dial/dial.qmlproject b/examples/declarative/cppextensions/networkaccessmanagerfactory/networkaccessmanagerfactory.qmlproject
index d4909f8685..d4909f8685 100644
--- a/examples/declarative/dial/dial.qmlproject
+++ b/examples/declarative/cppextensions/networkaccessmanagerfactory/networkaccessmanagerfactory.qmlproject
diff --git a/examples/declarative/objectlistmodel/objectlistmodel.qrc b/examples/declarative/cppextensions/networkaccessmanagerfactory/networkaccessmanagerfactory.qrc
index 17e9301471..17e9301471 100644
--- a/examples/declarative/objectlistmodel/objectlistmodel.qrc
+++ b/examples/declarative/cppextensions/networkaccessmanagerfactory/networkaccessmanagerfactory.qrc
diff --git a/examples/declarative/cppextensions/networkaccessmanagerfactory/view.qml b/examples/declarative/cppextensions/networkaccessmanagerfactory/view.qml
new file mode 100644
index 0000000000..4b849e0713
--- /dev/null
+++ b/examples/declarative/cppextensions/networkaccessmanagerfactory/view.qml
@@ -0,0 +1,47 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+import Qt 4.7
+
+Image {
+ width: 100
+ height: 100
+ source: "http://qt.nokia.com/logo.png"
+}
diff --git a/examples/declarative/plugins/README b/examples/declarative/cppextensions/plugins/README
index fe519f83bd..fe519f83bd 100644
--- a/examples/declarative/plugins/README
+++ b/examples/declarative/cppextensions/plugins/README
diff --git a/examples/declarative/cppextensions/plugins/com/nokia/TimeExample/Clock.qml b/examples/declarative/cppextensions/plugins/com/nokia/TimeExample/Clock.qml
new file mode 100644
index 0000000000..37128b5aa6
--- /dev/null
+++ b/examples/declarative/cppextensions/plugins/com/nokia/TimeExample/Clock.qml
@@ -0,0 +1,90 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+import Qt 4.7
+
+Rectangle {
+ id: clock
+ width: 200; height: 200; color: "gray"
+
+ property alias city: cityLabel.text
+ property variant hours
+ property variant minutes
+ property variant shift : 0
+
+ Image { id: background; source: "clock.png" }
+
+ Image {
+ x: 92.5; y: 27
+ source: "hour.png"
+ smooth: true
+ transform: Rotation {
+ id: hourRotation
+ origin.x: 7.5; origin.y: 73; angle: 0
+ SpringFollow on angle {
+ spring: 2; damping: 0.2; modulus: 360
+ to: (clock.hours * 30) + (clock.minutes * 0.5)
+ }
+ }
+ }
+
+ Image {
+ x: 93.5; y: 17
+ source: "minute.png"
+ smooth: true
+ transform: Rotation {
+ id: minuteRotation
+ origin.x: 6.5; origin.y: 83; angle: 0
+ SpringFollow on angle {
+ spring: 2; damping: 0.2; modulus: 360
+ to: clock.minutes * 6
+ }
+ }
+ }
+
+ Image {
+ anchors.centerIn: background; source: "center.png"
+ }
+
+ Text {
+ id: cityLabel; font.bold: true; font.pixelSize: 14; y:200; color: "white"
+ anchors.horizontalCenter: parent.horizontalCenter
+ }
+}
diff --git a/examples/declarative/clocks/content/center.png b/examples/declarative/cppextensions/plugins/com/nokia/TimeExample/center.png
index 7fbd802a44..7fbd802a44 100755..100644
--- a/examples/declarative/clocks/content/center.png
+++ b/examples/declarative/cppextensions/plugins/com/nokia/TimeExample/center.png
Binary files differ
diff --git a/examples/declarative/clocks/content/clock.png b/examples/declarative/cppextensions/plugins/com/nokia/TimeExample/clock.png
index 462edacc0e..462edacc0e 100755..100644
--- a/examples/declarative/clocks/content/clock.png
+++ b/examples/declarative/cppextensions/plugins/com/nokia/TimeExample/clock.png
Binary files differ
diff --git a/examples/declarative/clocks/content/hour.png b/examples/declarative/cppextensions/plugins/com/nokia/TimeExample/hour.png
index f8061a1235..f8061a1235 100755..100644
--- a/examples/declarative/clocks/content/hour.png
+++ b/examples/declarative/cppextensions/plugins/com/nokia/TimeExample/hour.png
Binary files differ
diff --git a/examples/declarative/clocks/content/minute.png b/examples/declarative/cppextensions/plugins/com/nokia/TimeExample/minute.png
index 1297ec7c2b..1297ec7c2b 100755..100644
--- a/examples/declarative/clocks/content/minute.png
+++ b/examples/declarative/cppextensions/plugins/com/nokia/TimeExample/minute.png
Binary files differ
diff --git a/examples/declarative/cppextensions/plugins/com/nokia/TimeExample/qmldir b/examples/declarative/cppextensions/plugins/com/nokia/TimeExample/qmldir
new file mode 100644
index 0000000000..e1288cfac0
--- /dev/null
+++ b/examples/declarative/cppextensions/plugins/com/nokia/TimeExample/qmldir
@@ -0,0 +1,2 @@
+Clock 1.0 Clock.qml
+plugin qmlqtimeexampleplugin
diff --git a/examples/declarative/cppextensions/plugins/plugin.cpp b/examples/declarative/cppextensions/plugins/plugin.cpp
new file mode 100644
index 0000000000..355ca3fb7e
--- /dev/null
+++ b/examples/declarative/cppextensions/plugins/plugin.cpp
@@ -0,0 +1,151 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the examples of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include <QtDeclarative/QDeclarativeExtensionPlugin>
+#include <QtDeclarative/qdeclarative.h>
+#include <qdebug.h>
+#include <qdatetime.h>
+#include <qbasictimer.h>
+#include <qapplication.h>
+
+// Implements a "TimeModel" class with hour and minute properties
+// that change on-the-minute yet efficiently sleep the rest
+// of the time.
+
+class MinuteTimer : public QObject
+{
+ Q_OBJECT
+public:
+ MinuteTimer(QObject *parent) : QObject(parent)
+ {
+ }
+
+ void start()
+ {
+ if (!timer.isActive()) {
+ time = QTime::currentTime();
+ timer.start(60000-time.second()*1000, this);
+ }
+ }
+
+ void stop()
+ {
+ timer.stop();
+ }
+
+ int hour() const { return time.hour(); }
+ int minute() const { return time.minute(); }
+
+signals:
+ void timeChanged();
+
+protected:
+ void timerEvent(QTimerEvent *)
+ {
+ QTime now = QTime::currentTime();
+ if (now.second() == 59 && now.minute() == time.minute() && now.hour() == time.hour()) {
+ // just missed time tick over, force it, wait extra 0.5 seconds
+ time.addSecs(60);
+ timer.start(60500, this);
+ } else {
+ time = now;
+ timer.start(60000-time.second()*1000, this);
+ }
+ emit timeChanged();
+ }
+
+private:
+ QTime time;
+ QBasicTimer timer;
+};
+
+class TimeModel : public QObject
+{
+ Q_OBJECT
+ Q_PROPERTY(int hour READ hour NOTIFY timeChanged)
+ Q_PROPERTY(int minute READ minute NOTIFY timeChanged)
+
+public:
+ TimeModel(QObject *parent=0) : QObject(parent)
+ {
+ if (++instances == 1) {
+ if (!timer)
+ timer = new MinuteTimer(qApp);
+ connect(timer, SIGNAL(timeChanged()), this, SIGNAL(timeChanged()));
+ timer->start();
+ }
+ }
+
+ ~TimeModel()
+ {
+ if (--instances == 0) {
+ timer->stop();
+ }
+ }
+
+ int minute() const { return timer->minute(); }
+ int hour() const { return timer->hour(); }
+
+signals:
+ void timeChanged();
+
+private:
+ QTime t;
+ static MinuteTimer *timer;
+ static int instances;
+};
+
+int TimeModel::instances=0;
+MinuteTimer *TimeModel::timer=0;
+
+class QExampleQmlPlugin : public QDeclarativeExtensionPlugin
+{
+ Q_OBJECT
+public:
+ void registerTypes(const char *uri)
+ {
+ Q_ASSERT(uri == QLatin1String("com.nokia.TimeExample"));
+ qmlRegisterType<TimeModel>(uri, 1, 0, "Time");
+ }
+};
+
+#include "plugin.moc"
+
+Q_EXPORT_PLUGIN2(qmlqtimeexampleplugin, QExampleQmlPlugin);
diff --git a/examples/declarative/cppextensions/plugins/plugins.pro b/examples/declarative/cppextensions/plugins/plugins.pro
new file mode 100644
index 0000000000..b7610a8823
--- /dev/null
+++ b/examples/declarative/cppextensions/plugins/plugins.pro
@@ -0,0 +1,29 @@
+TEMPLATE = lib
+CONFIG += qt plugin
+QT += declarative
+
+DESTDIR = com/nokia/TimeExample
+TARGET = qmlqtimeexampleplugin
+
+SOURCES += plugin.cpp
+
+qdeclarativesources.files += \
+ com/nokia/TimeExample/qmldir \
+ com/nokia/TimeExample/center.png \
+ com/nokia/TimeExample/clock.png \
+ com/nokia/TimeExample/Clock.qml \
+ com/nokia/TimeExample/hour.png \
+ com/nokia/TimeExample/minute.png
+
+qdeclarativesources.path += $$[QT_INSTALL_EXAMPLES]/declarative/plugins/com/nokia/TimeExample
+
+sources.files += plugins.pro plugin.cpp plugins.qml README
+sources.path += $$[QT_INSTALL_EXAMPLES]/declarative/plugins
+target.path += $$[QT_INSTALL_EXAMPLES]/declarative/plugins/com/nokia/TimeExample
+
+INSTALLS += qdeclarativesources sources target
+
+symbian {
+ include($$QT_SOURCE_TREE/examples/symbianpkgrules.pri)
+ TARGET.EPOCALLOWDLLDATA = 1
+}
diff --git a/examples/declarative/cppextensions/plugins/plugins.qml b/examples/declarative/cppextensions/plugins/plugins.qml
new file mode 100644
index 0000000000..183201797f
--- /dev/null
+++ b/examples/declarative/cppextensions/plugins/plugins.qml
@@ -0,0 +1,51 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+import com.nokia.TimeExample 1.0 // import types from the plugin
+
+Clock { // this class is defined in QML (com/nokia/TimeExample/Clock.qml)
+
+ Time { // this class is defined in C++ (plugin.cpp)
+ id: time
+ }
+
+ hours: time.hour
+ minutes: time.minute
+}
diff --git a/examples/declarative/plugins/plugins.qmlproject b/examples/declarative/cppextensions/plugins/plugins.qmlproject
index d4909f8685..d4909f8685 100644
--- a/examples/declarative/plugins/plugins.qmlproject
+++ b/examples/declarative/cppextensions/plugins/plugins.qmlproject
diff --git a/examples/declarative/cppextensions/qgraphicslayouts/layoutitem/layoutitem.pro b/examples/declarative/cppextensions/qgraphicslayouts/layoutitem/layoutitem.pro
new file mode 100644
index 0000000000..77c6b2a287
--- /dev/null
+++ b/examples/declarative/cppextensions/qgraphicslayouts/layoutitem/layoutitem.pro
@@ -0,0 +1,8 @@
+TEMPLATE = app
+TARGET =
+DEPENDPATH += .
+INCLUDEPATH += .
+QT += declarative
+
+SOURCES += main.cpp
+RESOURCES += layoutitem.qrc
diff --git a/examples/declarative/cppextensions/qgraphicslayouts/layoutitem/layoutitem.qml b/examples/declarative/cppextensions/qgraphicslayouts/layoutitem/layoutitem.qml
new file mode 100644
index 0000000000..6f377c521c
--- /dev/null
+++ b/examples/declarative/cppextensions/qgraphicslayouts/layoutitem/layoutitem.qml
@@ -0,0 +1,57 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+import Qt 4.7
+
+LayoutItem { //Sized by the layout
+ id: resizable
+
+ minimumSize: "100x100"
+ maximumSize: "300x300"
+ preferredSize: "100x100"
+
+ Rectangle { color: "yellow"; anchors.fill: parent }
+
+ Rectangle {
+ width: 100; height: 100
+ anchors.top: parent.top; anchors.right: parent.right
+ color: "green"
+ }
+}
diff --git a/examples/declarative/dynamic/dynamic.qmlproject b/examples/declarative/cppextensions/qgraphicslayouts/layoutitem/layoutitem.qmlproject
index d4909f8685..d4909f8685 100644
--- a/examples/declarative/dynamic/dynamic.qmlproject
+++ b/examples/declarative/cppextensions/qgraphicslayouts/layoutitem/layoutitem.qmlproject
diff --git a/examples/declarative/cppextensions/qgraphicslayouts/layoutitem/layoutitem.qrc b/examples/declarative/cppextensions/qgraphicslayouts/layoutitem/layoutitem.qrc
new file mode 100644
index 0000000000..2e5257866d
--- /dev/null
+++ b/examples/declarative/cppextensions/qgraphicslayouts/layoutitem/layoutitem.qrc
@@ -0,0 +1,5 @@
+<!DOCTYPE RCC><RCC version="1.0">
+<qresource>
+ <file>layoutitem.qml</file>
+</qresource>
+</RCC>
diff --git a/examples/declarative/cppextensions/qgraphicslayouts/layoutitem/main.cpp b/examples/declarative/cppextensions/qgraphicslayouts/layoutitem/main.cpp
new file mode 100644
index 0000000000..20a83e7bee
--- /dev/null
+++ b/examples/declarative/cppextensions/qgraphicslayouts/layoutitem/main.cpp
@@ -0,0 +1,74 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the examples of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include <QApplication>
+#include <QGraphicsView>
+#include <QGraphicsScene>
+#include <QGraphicsWidget>
+#include <QGraphicsLinearLayout>
+#include <QDeclarativeComponent>
+#include <QDeclarativeEngine>
+
+/* This example demonstrates using a LayoutItem to let QML snippets integrate
+ nicely with existing QGraphicsView applications designed with GraphicsLayouts
+*/
+int main(int argc, char* argv[])
+{
+ QApplication app(argc, argv);
+
+ //Set up a graphics scene with a QGraphicsWidget and Layout
+ QGraphicsView view;
+ QGraphicsScene scene;
+ QGraphicsWidget *widget = new QGraphicsWidget();
+ QGraphicsLinearLayout *layout = new QGraphicsLinearLayout();
+ widget->setLayout(layout);
+ scene.addItem(widget);
+ view.setScene(&scene);
+
+ //Add the QML snippet into the layout
+ QDeclarativeEngine engine;
+ QDeclarativeComponent c(&engine, QUrl(":layoutitem.qml"));
+ QGraphicsLayoutItem* obj = qobject_cast<QGraphicsLayoutItem*>(c.create());
+ layout->addItem(obj);
+
+ widget->setGeometry(QRectF(0,0, 400,400));
+ view.show();
+ return app.exec();
+}
diff --git a/examples/declarative/cppextensions/qgraphicslayouts/qgraphicsgridlayout/gridlayout.cpp b/examples/declarative/cppextensions/qgraphicslayouts/qgraphicsgridlayout/gridlayout.cpp
new file mode 100644
index 0000000000..b52305e699
--- /dev/null
+++ b/examples/declarative/cppextensions/qgraphicslayouts/qgraphicsgridlayout/gridlayout.cpp
@@ -0,0 +1,188 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include "gridlayout.h"
+
+#include <QGraphicsWidget>
+#include <QDebug>
+
+GridLayoutAttached::GridLayoutAttached(QObject *parent)
+: QObject(parent), m_row(-1), m_column(-1), m_rowspan(1), m_colspan(1), m_alignment(-1), m_rowStretch(-1),
+ m_colStretch(-1), m_rowSpacing(-1), m_colSpacing(-1), m_rowPrefHeight(-1), m_rowMaxHeight(-1), m_rowMinHeight(-1),
+ m_rowFixHeight(-1), m_colPrefwidth(-1), m_colMaxwidth(-1), m_colMinwidth(-1), m_colFixwidth(-1)
+{
+}
+
+void GridLayoutAttached::setAlignment(Qt::Alignment a)
+{
+ if (m_alignment != a) {
+ m_alignment = a;
+ emit alignmentChanged(reinterpret_cast<QGraphicsLayoutItem*>(parent()), m_alignment);
+ }
+}
+
+QHash<QGraphicsLayoutItem*, GridLayoutAttached*> GraphicsGridLayoutObject::attachedProperties;
+
+GraphicsGridLayoutObject::GraphicsGridLayoutObject(QObject *parent)
+: QObject(parent)
+{
+}
+
+GraphicsGridLayoutObject::~GraphicsGridLayoutObject()
+{
+}
+
+void GraphicsGridLayoutObject::addWidget(QGraphicsWidget *widget)
+{
+ //use attached properties
+ if (QObject *obj = attachedProperties.value(qobject_cast<QGraphicsLayoutItem*>(widget))) {
+ int row = static_cast<GridLayoutAttached *>(obj)->row();
+ int column = static_cast<GridLayoutAttached *>(obj)->column();
+ int rowSpan = static_cast<GridLayoutAttached *>(obj)->rowSpan();
+ int columnSpan = static_cast<GridLayoutAttached *>(obj)->columnSpan();
+ if (row == -1 || column == -1) {
+ qWarning() << "Must set row and column for an item in a grid layout";
+ return;
+ }
+ addItem(widget, row, column, rowSpan, columnSpan);
+ }
+}
+
+void GraphicsGridLayoutObject::addLayoutItem(QGraphicsLayoutItem *item)
+{
+ //use attached properties
+ if (GridLayoutAttached *obj = attachedProperties.value(item)) {
+ int row = obj->row();
+ int column = obj->column();
+ int rowSpan = obj->rowSpan();
+ int columnSpan = obj->columnSpan();
+ Qt::Alignment alignment = obj->alignment();
+
+ if (row == -1 || column == -1) {
+ qWarning() << "Must set row and column for an item in a grid layout";
+ return;
+ }
+
+ if (obj->rowSpacing() != -1)
+ setRowSpacing(row, obj->rowSpacing());
+ if (obj->columnSpacing() != -1)
+ setColumnSpacing(column, obj->columnSpacing());
+ if (obj->rowStretchFactor() != -1)
+ setRowStretchFactor(row, obj->rowStretchFactor());
+ if (obj->columnStretchFactor() != -1)
+ setColumnStretchFactor(column, obj->columnStretchFactor());
+ if (obj->rowPreferredHeight() != -1)
+ setRowPreferredHeight(row, obj->rowPreferredHeight());
+ if (obj->rowMaximumHeight() != -1)
+ setRowMaximumHeight(row, obj->rowMaximumHeight());
+ if (obj->rowMinimumHeight() != -1)
+ setRowMinimumHeight(row, obj->rowMinimumHeight());
+ if (obj->rowFixedHeight() != -1)
+ setRowFixedHeight(row, obj->rowFixedHeight());
+ if (obj->columnPreferredWidth() != -1)
+ setColumnPreferredWidth(row, obj->columnPreferredWidth());
+ if (obj->columnMaximumWidth() != -1)
+ setColumnMaximumWidth(row, obj->columnMaximumWidth());
+ if (obj->columnMinimumWidth() != -1)
+ setColumnMinimumWidth(row, obj->columnMinimumWidth());
+ if (obj->columnFixedWidth() != -1)
+ setColumnFixedWidth(row, obj->columnFixedWidth());
+
+ addItem(item, row, column, rowSpan, columnSpan);
+
+ if (alignment != -1)
+ setAlignment(item, alignment);
+ QObject::connect(obj, SIGNAL(alignmentChanged(QGraphicsLayoutItem*, Qt::Alignment)),
+ this, SLOT(updateAlignment(QGraphicsLayoutItem*, Qt::Alignment)));
+ }
+}
+
+void GraphicsGridLayoutObject::removeAt(int index)
+{
+ QGraphicsLayoutItem *item = itemAt(index);
+ if (item) {
+ GridLayoutAttached *obj = attachedProperties.value(item);
+ obj->disconnect(this);
+ attachedProperties.remove(item);
+ }
+ QGraphicsGridLayout::removeAt(index);
+}
+
+void GraphicsGridLayoutObject::clearChildren()
+{
+ // do not delete the removed items; they will be deleted by the QML engine
+ while (count() > 0)
+ removeAt(count()-1);
+}
+
+qreal GraphicsGridLayoutObject::spacing() const
+{
+ if (verticalSpacing() == horizontalSpacing())
+ return verticalSpacing();
+ return -1;
+}
+
+qreal GraphicsGridLayoutObject::contentsMargin() const
+{
+ qreal a, b, c, d;
+ getContentsMargins(&a, &b, &c, &d);
+ if (a == b && a == c && a == d)
+ return a;
+ return -1;
+}
+
+void GraphicsGridLayoutObject::setContentsMargin(qreal m)
+{
+ setContentsMargins(m, m, m, m);
+}
+
+void GraphicsGridLayoutObject::updateAlignment(QGraphicsLayoutItem *item, Qt::Alignment alignment)
+{
+ QGraphicsGridLayout::setAlignment(item, alignment);
+}
+
+GridLayoutAttached *GraphicsGridLayoutObject::qmlAttachedProperties(QObject *obj)
+{
+ GridLayoutAttached *rv = new GridLayoutAttached(obj);
+ if (qobject_cast<QGraphicsLayoutItem*>(obj))
+ attachedProperties.insert(qobject_cast<QGraphicsLayoutItem*>(obj), rv);
+ return rv;
+}
+
diff --git a/examples/declarative/cppextensions/qgraphicslayouts/qgraphicsgridlayout/gridlayout.h b/examples/declarative/cppextensions/qgraphicslayouts/qgraphicsgridlayout/gridlayout.h
new file mode 100644
index 0000000000..ca2cedcfbb
--- /dev/null
+++ b/examples/declarative/cppextensions/qgraphicslayouts/qgraphicsgridlayout/gridlayout.h
@@ -0,0 +1,217 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#ifndef GRIDLAYOUT_H
+#define GRIDLAYOUT_H
+
+#include <qdeclarative.h>
+
+#include <QGraphicsGridLayout>
+#include <QGraphicsLayoutItem>
+
+class GridLayoutAttached;
+class GraphicsGridLayoutObject : public QObject, public QGraphicsGridLayout
+{
+ Q_OBJECT
+ Q_INTERFACES(QGraphicsLayout QGraphicsLayoutItem)
+
+ Q_PROPERTY(QDeclarativeListProperty<QGraphicsLayoutItem> children READ children)
+ Q_PROPERTY(qreal spacing READ spacing WRITE setSpacing)
+ Q_PROPERTY(qreal contentsMargin READ contentsMargin WRITE setContentsMargin)
+ Q_PROPERTY(qreal verticalSpacing READ verticalSpacing WRITE setVerticalSpacing)
+ Q_PROPERTY(qreal horizontalSpacing READ horizontalSpacing WRITE setHorizontalSpacing)
+ Q_CLASSINFO("DefaultProperty", "children")
+
+public:
+ GraphicsGridLayoutObject(QObject * = 0);
+ ~GraphicsGridLayoutObject();
+
+ QDeclarativeListProperty<QGraphicsLayoutItem> children() { return QDeclarativeListProperty<QGraphicsLayoutItem>(this, 0, children_append, children_count, children_at, children_clear); }
+
+ qreal spacing() const;
+ qreal contentsMargin() const;
+ void setContentsMargin(qreal);
+
+ void removeAt(int index);
+
+ static GridLayoutAttached *qmlAttachedProperties(QObject *);
+
+private slots:
+ void updateAlignment(QGraphicsLayoutItem*,Qt::Alignment);
+
+private:
+ friend class GraphicsLayoutAttached;
+
+ void addWidget(QGraphicsWidget *);
+ void clearChildren();
+ void addLayoutItem(QGraphicsLayoutItem *);
+
+ static void children_append(QDeclarativeListProperty<QGraphicsLayoutItem> *prop, QGraphicsLayoutItem *item) {
+ static_cast<GraphicsGridLayoutObject*>(prop->object)->addLayoutItem(item);
+ }
+
+ static void children_clear(QDeclarativeListProperty<QGraphicsLayoutItem> *prop) {
+ static_cast<GraphicsGridLayoutObject*>(prop->object)->clearChildren();
+ }
+
+ static int children_count(QDeclarativeListProperty<QGraphicsLayoutItem> *prop) {
+ return static_cast<GraphicsGridLayoutObject*>(prop->object)->count();
+ }
+
+ static QGraphicsLayoutItem *children_at(QDeclarativeListProperty<QGraphicsLayoutItem> *prop, int index) {
+ return static_cast<GraphicsGridLayoutObject*>(prop->object)->itemAt(index);
+ }
+
+ static QHash<QGraphicsLayoutItem*, GridLayoutAttached*> attachedProperties;
+};
+
+
+class GridLayoutAttached : public QObject
+{
+ Q_OBJECT
+
+ Q_PROPERTY(int row READ row WRITE setRow)
+ Q_PROPERTY(int column READ column WRITE setColumn)
+
+ Q_PROPERTY(int rowSpan READ rowSpan WRITE setRowSpan)
+ Q_PROPERTY(int columnSpan READ columnSpan WRITE setColumnSpan)
+ Q_PROPERTY(Qt::Alignment alignment READ alignment WRITE setAlignment)
+
+ Q_PROPERTY(int rowStretchFactor READ rowStretchFactor WRITE setRowStretchFactor)
+ Q_PROPERTY(int columnStretchFactor READ columnStretchFactor WRITE setColumnStretchFactor)
+ Q_PROPERTY(int rowSpacing READ rowSpacing WRITE setRowSpacing)
+ Q_PROPERTY(int columnSpacing READ columnSpacing WRITE setColumnSpacing)
+
+ Q_PROPERTY(int rowPreferredHeight READ rowPreferredHeight WRITE setRowPreferredHeight)
+ Q_PROPERTY(int rowMinimumHeight READ rowMinimumHeight WRITE setRowMinimumHeight)
+ Q_PROPERTY(int rowMaximumHeight READ rowMaximumHeight WRITE setRowMaximumHeight)
+ Q_PROPERTY(int rowFixedHeight READ rowFixedHeight WRITE setRowFixedHeight)
+
+ Q_PROPERTY(int columnPreferredWidth READ columnPreferredWidth WRITE setColumnPreferredWidth)
+ Q_PROPERTY(int columnMaximumWidth READ columnMaximumWidth WRITE setColumnMaximumWidth)
+ Q_PROPERTY(int columnMinimumWidth READ columnMinimumWidth WRITE setColumnMinimumWidth)
+ Q_PROPERTY(int columnFixedWidth READ columnFixedWidth WRITE setColumnFixedWidth)
+
+public:
+ GridLayoutAttached(QObject *parent);
+
+ int row() const { return m_row; }
+ void setRow(int r) { m_row = r; }
+
+ int column() const { return m_column; }
+ void setColumn(int c) { m_column = c; }
+
+ int rowSpan() const { return m_rowspan; }
+ void setRowSpan(int rs) { m_rowspan = rs; }
+
+ int columnSpan() const { return m_colspan; }
+ void setColumnSpan(int cs) { m_colspan = cs; }
+
+ Qt::Alignment alignment() const { return m_alignment; }
+ void setAlignment(Qt::Alignment a);
+
+ int rowStretchFactor() const { return m_rowStretch; }
+ void setRowStretchFactor(int f) { m_rowStretch = f; }
+ int columnStretchFactor() const { return m_colStretch; }
+ void setColumnStretchFactor(int f) { m_colStretch = f; }
+
+ int rowSpacing() const { return m_rowSpacing; }
+ void setRowSpacing(int s) { m_rowSpacing = s; }
+ int columnSpacing() const { return m_colSpacing; }
+ void setColumnSpacing(int s) { m_colSpacing = s; }
+
+ int rowPreferredHeight() const { return m_rowPrefHeight; }
+ void setRowPreferredHeight(int s) { m_rowPrefHeight = s; }
+
+ int rowMaximumHeight() const { return m_rowMaxHeight; }
+ void setRowMaximumHeight(int s) { m_rowMaxHeight = s; }
+
+ int rowMinimumHeight() const { return m_rowMinHeight; }
+ void setRowMinimumHeight(int s) { m_rowMinHeight = s; }
+
+ int rowFixedHeight() const { return m_rowFixHeight; }
+ void setRowFixedHeight(int s) { m_rowFixHeight = s; }
+
+ int columnPreferredWidth() const { return m_colPrefwidth; }
+ void setColumnPreferredWidth(int s) { m_colPrefwidth = s; }
+
+ int columnMaximumWidth() const { return m_colMaxwidth; }
+ void setColumnMaximumWidth(int s) { m_colMaxwidth = s; }
+
+ int columnMinimumWidth() const { return m_colMinwidth; }
+ void setColumnMinimumWidth(int s) { m_colMinwidth = s; }
+
+ int columnFixedWidth() const { return m_colFixwidth; }
+ void setColumnFixedWidth(int s) { m_colFixwidth = s; }
+
+signals:
+ void alignmentChanged(QGraphicsLayoutItem*, Qt::Alignment);
+
+private:
+ int m_row;
+ int m_column;
+
+ int m_rowspan;
+ int m_colspan;
+ Qt::Alignment m_alignment;
+
+ int m_rowStretch;
+ int m_colStretch;
+ int m_rowSpacing;
+ int m_colSpacing;
+
+ int m_rowPrefHeight;
+ int m_rowMaxHeight;
+ int m_rowMinHeight;
+ int m_rowFixHeight;
+
+ int m_colPrefwidth;
+ int m_colMaxwidth;
+ int m_colMinwidth;
+ int m_colFixwidth;
+};
+
+QML_DECLARE_INTERFACE(QGraphicsLayoutItem)
+QML_DECLARE_INTERFACE(QGraphicsLayout)
+QML_DECLARE_TYPE(GraphicsGridLayoutObject)
+QML_DECLARE_TYPEINFO(GraphicsGridLayoutObject, QML_HAS_ATTACHED_PROPERTIES)
+
+#endif
+
diff --git a/examples/declarative/cppextensions/qgraphicslayouts/qgraphicsgridlayout/gridlayout.qrc b/examples/declarative/cppextensions/qgraphicslayouts/qgraphicsgridlayout/gridlayout.qrc
new file mode 100644
index 0000000000..bdf8312124
--- /dev/null
+++ b/examples/declarative/cppextensions/qgraphicslayouts/qgraphicsgridlayout/gridlayout.qrc
@@ -0,0 +1,6 @@
+<!DOCTYPE RCC><RCC version="1.0">
+<qresource>
+ <file>qgraphicsgridlayout.qml</file>
+</qresource>
+</RCC>
+
diff --git a/examples/declarative/cppextensions/qgraphicslayouts/qgraphicsgridlayout/main.cpp b/examples/declarative/cppextensions/qgraphicslayouts/qgraphicsgridlayout/main.cpp
new file mode 100644
index 0000000000..6525cb31c7
--- /dev/null
+++ b/examples/declarative/cppextensions/qgraphicslayouts/qgraphicsgridlayout/main.cpp
@@ -0,0 +1,63 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the plugins of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include "gridlayout.h"
+
+#include <qdeclarative.h>
+#include <QDeclarativeView>
+
+#include <QApplication>
+
+int main(int argc, char* argv[])
+{
+ QApplication app(argc, argv);
+
+ qmlRegisterInterface<QGraphicsLayoutItem>("QGraphicsLayoutItem");
+ qmlRegisterInterface<QGraphicsLayout>("QGraphicsLayout");
+ qmlRegisterType<GraphicsGridLayoutObject>("GridLayouts", 4, 7, "GraphicsGridLayout");
+
+ QDeclarativeView view;
+ view.setSource(QUrl(":qgraphicsgridlayout.qml"));
+ view.show();
+
+ return app.exec();
+};
+
+
diff --git a/examples/declarative/cppextensions/qgraphicslayouts/qgraphicsgridlayout/qgraphicsgridlayout.pro b/examples/declarative/cppextensions/qgraphicslayouts/qgraphicsgridlayout/qgraphicsgridlayout.pro
new file mode 100644
index 0000000000..ae6373d49b
--- /dev/null
+++ b/examples/declarative/cppextensions/qgraphicslayouts/qgraphicsgridlayout/qgraphicsgridlayout.pro
@@ -0,0 +1,15 @@
+TEMPLATE = app
+TARGET = qgraphicsgridlayout
+QT += declarative
+
+SOURCES += \
+ gridlayout.cpp \
+ main.cpp
+
+HEADERS += \
+ gridlayout.h
+
+RESOURCES += \
+ gridlayout.qrc
+
+
diff --git a/examples/declarative/cppextensions/qgraphicslayouts/qgraphicsgridlayout/qgraphicsgridlayout.qml b/examples/declarative/cppextensions/qgraphicslayouts/qgraphicsgridlayout/qgraphicsgridlayout.qml
new file mode 100644
index 0000000000..50026f1274
--- /dev/null
+++ b/examples/declarative/cppextensions/qgraphicslayouts/qgraphicsgridlayout/qgraphicsgridlayout.qml
@@ -0,0 +1,100 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+import Qt 4.7
+import GridLayouts 4.7
+
+Item {
+ width: 400
+ height: 400
+
+ QGraphicsWidget {
+ size.width: parent.width
+ size.height: parent.height
+
+ /*
+ Below we create a grid layout using the GraphicsGridLayout item
+ (defined by the GraphicsGridLayoutObject class in gridlayout.h).
+
+ The row, column etc. are set through attached properties on
+ GraphicsGridLayout, using the properties defined in the
+ GridLayoutAttached class (also defined in gridlayout.h).
+ */
+
+ layout: GraphicsGridLayout {
+ LayoutItem {
+ GraphicsGridLayout.row: 0
+ GraphicsGridLayout.column: 0
+ minimumSize: "100x100"
+ maximumSize: "300x300"
+ preferredSize: "200x200"
+ Rectangle { color: "red"; anchors.fill: parent }
+ }
+ LayoutItem {
+ GraphicsGridLayout.row: 0
+ GraphicsGridLayout.column: 1
+ minimumSize: "100x100"
+ maximumSize: "200x200"
+ preferredSize: "200x200"
+ Rectangle { color: "orange"; anchors.fill: parent }
+ }
+ LayoutItem {
+ GraphicsGridLayout.row: 1
+ GraphicsGridLayout.column: 0
+ GraphicsGridLayout.columnSpan: 2
+ minimumSize: "100x100"
+ Rectangle { color: "yellow"; anchors.fill: parent }
+ }
+ LayoutItem {
+ GraphicsGridLayout.row: 2
+ GraphicsGridLayout.column: 0
+ preferredSize: "200x200"
+ Rectangle { color: "green"; anchors.fill: parent }
+ }
+ LayoutItem {
+ GraphicsGridLayout.row: 2
+ GraphicsGridLayout.column: 1
+ preferredSize: "200x200"
+ Rectangle { color: "blue"; anchors.fill: parent }
+ }
+ }
+ }
+}
+
diff --git a/examples/declarative/cppextensions/qgraphicslayouts/qgraphicslayouts.pro b/examples/declarative/cppextensions/qgraphicslayouts/qgraphicslayouts.pro
new file mode 100644
index 0000000000..672120a82e
--- /dev/null
+++ b/examples/declarative/cppextensions/qgraphicslayouts/qgraphicslayouts.pro
@@ -0,0 +1,6 @@
+TEMPLATE = subdirs
+
+SUBDIRS += \
+ layoutitem \
+ qgraphicsgridlayout \
+ qgraphicslinearlayout
diff --git a/examples/declarative/extending/extending.qmlproject b/examples/declarative/cppextensions/qgraphicslayouts/qgraphicslayouts.qmlproject
index d4909f8685..d4909f8685 100644
--- a/examples/declarative/extending/extending.qmlproject
+++ b/examples/declarative/cppextensions/qgraphicslayouts/qgraphicslayouts.qmlproject
diff --git a/examples/declarative/cppextensions/qgraphicslayouts/qgraphicslinearlayout/linearlayout.cpp b/examples/declarative/cppextensions/qgraphicslayouts/qgraphicslinearlayout/linearlayout.cpp
new file mode 100644
index 0000000000..d0e978342a
--- /dev/null
+++ b/examples/declarative/cppextensions/qgraphicslayouts/qgraphicslinearlayout/linearlayout.cpp
@@ -0,0 +1,175 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include "linearlayout.h"
+
+#include <QGraphicsWidget>
+#include <QGraphicsLayoutItem>
+
+LinearLayoutAttached::LinearLayoutAttached(QObject *parent)
+: QObject(parent), m_stretch(1), m_alignment(Qt::AlignTop), m_spacing(0)
+{
+}
+
+void LinearLayoutAttached::setStretchFactor(int f)
+{
+ if (m_stretch != f) {
+ m_stretch = f;
+ emit stretchChanged(reinterpret_cast<QGraphicsLayoutItem*>(parent()), m_stretch);
+ }
+}
+
+void LinearLayoutAttached::setSpacing(int s)
+{
+ if (m_spacing != s) {
+ m_spacing = s;
+ emit spacingChanged(reinterpret_cast<QGraphicsLayoutItem*>(parent()), m_spacing);
+ }
+}
+
+void LinearLayoutAttached::setAlignment(Qt::Alignment a)
+{
+ if (m_alignment != a) {
+ m_alignment = a;
+ emit alignmentChanged(reinterpret_cast<QGraphicsLayoutItem*>(parent()), m_alignment);
+ }
+}
+
+GraphicsLinearLayoutStretchItemObject::GraphicsLinearLayoutStretchItemObject(QObject *parent)
+ : QObject(parent)
+{
+}
+
+QSizeF GraphicsLinearLayoutStretchItemObject::sizeHint(Qt::SizeHint which, const QSizeF &constraint) const
+{
+ Q_UNUSED(which);
+ Q_UNUSED(constraint);
+ return QSizeF();
+}
+
+
+GraphicsLinearLayoutObject::GraphicsLinearLayoutObject(QObject *parent)
+: QObject(parent)
+{
+}
+
+GraphicsLinearLayoutObject::~GraphicsLinearLayoutObject()
+{
+}
+
+void GraphicsLinearLayoutObject::insertLayoutItem(int index, QGraphicsLayoutItem *item)
+{
+ insertItem(index, item);
+
+ if (LinearLayoutAttached *obj = attachedProperties.value(item)) {
+ setStretchFactor(item, obj->stretchFactor());
+ setAlignment(item, obj->alignment());
+ updateSpacing(item, obj->spacing());
+ QObject::connect(obj, SIGNAL(stretchChanged(QGraphicsLayoutItem*,int)),
+ this, SLOT(updateStretch(QGraphicsLayoutItem*,int)));
+ QObject::connect(obj, SIGNAL(alignmentChanged(QGraphicsLayoutItem*,Qt::Alignment)),
+ this, SLOT(updateAlignment(QGraphicsLayoutItem*,Qt::Alignment)));
+ QObject::connect(obj, SIGNAL(spacingChanged(QGraphicsLayoutItem*,int)),
+ this, SLOT(updateSpacing(QGraphicsLayoutItem*,int)));
+ }
+}
+
+void GraphicsLinearLayoutObject::removeAt(int index)
+{
+ QGraphicsLayoutItem *item = itemAt(index);
+ if (item) {
+ LinearLayoutAttached *obj = attachedProperties.value(item);
+ obj->disconnect(this);
+ attachedProperties.remove(item);
+ }
+ QGraphicsLinearLayout::removeAt(index);
+}
+
+void GraphicsLinearLayoutObject::clearChildren()
+{
+ // do not delete the removed items; they will be deleted by the QML engine
+ while (count() > 0)
+ removeAt(count()-1);
+}
+
+qreal GraphicsLinearLayoutObject::contentsMargin() const
+{
+ qreal a, b, c, d;
+ getContentsMargins(&a, &b, &c, &d);
+ if (a == b && a == c && a == d)
+ return a;
+ return -1;
+}
+
+void GraphicsLinearLayoutObject::setContentsMargin(qreal m)
+{
+ setContentsMargins(m, m, m, m);
+}
+
+void GraphicsLinearLayoutObject::updateStretch(QGraphicsLayoutItem *item, int stretch)
+{
+ QGraphicsLinearLayout::setStretchFactor(item, stretch);
+}
+
+void GraphicsLinearLayoutObject::updateSpacing(QGraphicsLayoutItem* item, int spacing)
+{
+ for (int i=0; i < count(); i++){
+ if (itemAt(i) == item) {
+ QGraphicsLinearLayout::setItemSpacing(i, spacing);
+ return;
+ }
+ }
+}
+
+void GraphicsLinearLayoutObject::updateAlignment(QGraphicsLayoutItem *item, Qt::Alignment alignment)
+{
+ QGraphicsLinearLayout::setAlignment(item, alignment);
+}
+
+QHash<QGraphicsLayoutItem*, LinearLayoutAttached*> GraphicsLinearLayoutObject::attachedProperties;
+LinearLayoutAttached *GraphicsLinearLayoutObject::qmlAttachedProperties(QObject *obj)
+{
+ LinearLayoutAttached *rv = new LinearLayoutAttached(obj);
+ if (qobject_cast<QGraphicsLayoutItem*>(obj))
+ attachedProperties.insert(qobject_cast<QGraphicsLayoutItem*>(obj), rv);
+ return rv;
+}
+
+
diff --git a/examples/declarative/cppextensions/qgraphicslayouts/qgraphicslinearlayout/linearlayout.h b/examples/declarative/cppextensions/qgraphicslayouts/qgraphicslinearlayout/linearlayout.h
new file mode 100644
index 0000000000..d9391ca54a
--- /dev/null
+++ b/examples/declarative/cppextensions/qgraphicslayouts/qgraphicslinearlayout/linearlayout.h
@@ -0,0 +1,152 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#ifndef LINEARLAYOUT_H
+#define LINEARLAYOUT_H
+
+#include <qdeclarative.h>
+
+#include <QGraphicsLinearLayout>
+#include <QGraphicsLayoutItem>
+
+class GraphicsLinearLayoutStretchItemObject : public QObject, public QGraphicsLayoutItem
+{
+ Q_OBJECT
+ Q_INTERFACES(QGraphicsLayoutItem)
+public:
+ GraphicsLinearLayoutStretchItemObject(QObject *parent = 0);
+
+ virtual QSizeF sizeHint(Qt::SizeHint, const QSizeF &) const;
+};
+
+
+class LinearLayoutAttached;
+class GraphicsLinearLayoutObject : public QObject, public QGraphicsLinearLayout
+{
+ Q_OBJECT
+ Q_INTERFACES(QGraphicsLayout QGraphicsLayoutItem)
+
+ Q_PROPERTY(QDeclarativeListProperty<QGraphicsLayoutItem> children READ children)
+ Q_PROPERTY(Qt::Orientation orientation READ orientation WRITE setOrientation)
+ Q_PROPERTY(qreal spacing READ spacing WRITE setSpacing)
+ Q_PROPERTY(qreal contentsMargin READ contentsMargin WRITE setContentsMargin)
+ Q_CLASSINFO("DefaultProperty", "children")
+public:
+ GraphicsLinearLayoutObject(QObject * = 0);
+ ~GraphicsLinearLayoutObject();
+
+ QDeclarativeListProperty<QGraphicsLayoutItem> children() { return QDeclarativeListProperty<QGraphicsLayoutItem>(this, 0, children_append, children_count, children_at, children_clear); }
+
+ qreal contentsMargin() const;
+ void setContentsMargin(qreal);
+
+ void removeAt(int index);
+
+ static LinearLayoutAttached *qmlAttachedProperties(QObject *);
+
+private slots:
+ void updateStretch(QGraphicsLayoutItem*,int);
+ void updateSpacing(QGraphicsLayoutItem*,int);
+ void updateAlignment(QGraphicsLayoutItem*,Qt::Alignment);
+
+private:
+ friend class LinearLayoutAttached;
+
+ void clearChildren();
+ void insertLayoutItem(int, QGraphicsLayoutItem *);
+
+ static void children_append(QDeclarativeListProperty<QGraphicsLayoutItem> *prop, QGraphicsLayoutItem *item) {
+ static_cast<GraphicsLinearLayoutObject*>(prop->object)->insertLayoutItem(-1, item);
+ }
+
+ static void children_clear(QDeclarativeListProperty<QGraphicsLayoutItem> *prop) {
+ static_cast<GraphicsLinearLayoutObject*>(prop->object)->clearChildren();
+ }
+
+ static int children_count(QDeclarativeListProperty<QGraphicsLayoutItem> *prop) {
+ return static_cast<GraphicsLinearLayoutObject*>(prop->object)->count();
+ }
+
+ static QGraphicsLayoutItem *children_at(QDeclarativeListProperty<QGraphicsLayoutItem> *prop, int index) {
+ return static_cast<GraphicsLinearLayoutObject*>(prop->object)->itemAt(index);
+ }
+
+ static QHash<QGraphicsLayoutItem*, LinearLayoutAttached*> attachedProperties;
+};
+
+
+class LinearLayoutAttached : public QObject
+{
+ Q_OBJECT
+
+ Q_PROPERTY(int stretchFactor READ stretchFactor WRITE setStretchFactor NOTIFY stretchChanged)
+ Q_PROPERTY(Qt::Alignment alignment READ alignment WRITE setAlignment NOTIFY alignmentChanged)
+ Q_PROPERTY(int spacing READ spacing WRITE setSpacing NOTIFY spacingChanged)
+
+public:
+ LinearLayoutAttached(QObject *parent);
+
+ int stretchFactor() const { return m_stretch; }
+ void setStretchFactor(int f);
+ Qt::Alignment alignment() const { return m_alignment; }
+ void setAlignment(Qt::Alignment a);
+ int spacing() const { return m_spacing; }
+ void setSpacing(int s);
+
+signals:
+ void stretchChanged(QGraphicsLayoutItem*, int);
+ void alignmentChanged(QGraphicsLayoutItem*, Qt::Alignment);
+ void spacingChanged(QGraphicsLayoutItem*, int);
+
+private:
+ int m_stretch;
+ Qt::Alignment m_alignment;
+ int m_spacing;
+};
+
+QML_DECLARE_INTERFACE(QGraphicsLayoutItem)
+QML_DECLARE_INTERFACE(QGraphicsLayout)
+QML_DECLARE_TYPE(GraphicsLinearLayoutStretchItemObject)
+QML_DECLARE_TYPE(GraphicsLinearLayoutObject)
+QML_DECLARE_TYPEINFO(GraphicsLinearLayoutObject, QML_HAS_ATTACHED_PROPERTIES)
+
+#endif
+
+
diff --git a/examples/declarative/cppextensions/qgraphicslayouts/qgraphicslinearlayout/linearlayout.qrc b/examples/declarative/cppextensions/qgraphicslayouts/qgraphicslinearlayout/linearlayout.qrc
new file mode 100644
index 0000000000..93a3533bfe
--- /dev/null
+++ b/examples/declarative/cppextensions/qgraphicslayouts/qgraphicslinearlayout/linearlayout.qrc
@@ -0,0 +1,6 @@
+<!DOCTYPE RCC><RCC version="1.0">
+<qresource>
+ <file>qgraphicslinearlayout.qml</file>
+</qresource>
+</RCC>
+
diff --git a/examples/declarative/cppextensions/qgraphicslayouts/qgraphicslinearlayout/main.cpp b/examples/declarative/cppextensions/qgraphicslayouts/qgraphicslinearlayout/main.cpp
new file mode 100644
index 0000000000..f8d08c2f4b
--- /dev/null
+++ b/examples/declarative/cppextensions/qgraphicslayouts/qgraphicslinearlayout/main.cpp
@@ -0,0 +1,64 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the plugins of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include "linearlayout.h"
+
+#include <qdeclarative.h>
+#include <QDeclarativeView>
+
+#include <QApplication>
+
+int main(int argc, char* argv[])
+{
+ QApplication app(argc, argv);
+
+ qmlRegisterInterface<QGraphicsLayoutItem>("QGraphicsLayoutItem");
+ qmlRegisterInterface<QGraphicsLayout>("QGraphicsLayout");
+ qmlRegisterType<GraphicsLinearLayoutStretchItemObject>("LinearLayouts", 4, 7, "GraphicsLinearLayoutStretchItem");
+ qmlRegisterType<GraphicsLinearLayoutObject>("LinearLayouts", 4, 7, "GraphicsLinearLayout");
+
+ QDeclarativeView view;
+ view.setSource(QUrl(":qgraphicslinearlayout.qml"));
+ view.show();
+
+ return app.exec();
+};
+
+
diff --git a/examples/declarative/cppextensions/qgraphicslayouts/qgraphicslinearlayout/qgraphicslinearlayout.pro b/examples/declarative/cppextensions/qgraphicslayouts/qgraphicslinearlayout/qgraphicslinearlayout.pro
new file mode 100644
index 0000000000..79eb6ff8b4
--- /dev/null
+++ b/examples/declarative/cppextensions/qgraphicslayouts/qgraphicslinearlayout/qgraphicslinearlayout.pro
@@ -0,0 +1,15 @@
+TEMPLATE = app
+TARGET = qgraphicslinearlayout
+QT += declarative
+
+SOURCES += \
+ linearlayout.cpp \
+ main.cpp
+
+HEADERS += \
+ linearlayout.h
+
+RESOURCES += \
+ linearlayout.qrc
+
+
diff --git a/examples/declarative/cppextensions/qgraphicslayouts/qgraphicslinearlayout/qgraphicslinearlayout.qml b/examples/declarative/cppextensions/qgraphicslayouts/qgraphicslinearlayout/qgraphicslinearlayout.qml
new file mode 100644
index 0000000000..9a0bd55e5e
--- /dev/null
+++ b/examples/declarative/cppextensions/qgraphicslayouts/qgraphicslinearlayout/qgraphicslinearlayout.qml
@@ -0,0 +1,79 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+import Qt 4.7
+import LinearLayouts 4.7
+
+Item {
+ width: 400
+ height: 400
+
+ QGraphicsWidget {
+ size.width: parent.width
+ size.height: parent.height
+
+ /*
+ Below we create a linear layout using the GraphicsLinearLayout item
+ (defined by the GraphicsLinearLayoutObject class in linearlayout.h).
+
+ The first LayoutItem uses 'GraphicsLinearLayout.spacing' to set the
+ item's spacing: this is an attached property, set using the
+ properties defined in the LinearLayoutAttached class (also defined
+ in linearlayout.h).
+ */
+
+ layout: GraphicsLinearLayout {
+ LayoutItem {
+ GraphicsLinearLayout.spacing: 50
+ minimumSize: "100x100"
+ maximumSize: "200x200"
+ preferredSize: "100x100"
+ Rectangle { color: "yellow"; anchors.fill: parent }
+ }
+ LayoutItem {
+ minimumSize: "100x100"
+ maximumSize: "400x400"
+ preferredSize: "300x300"
+ Rectangle { color: "green"; anchors.fill: parent }
+ }
+ }
+ }
+}
+
diff --git a/examples/declarative/cppextensions/qwidgets/QWidgets/qmldir b/examples/declarative/cppextensions/qwidgets/QWidgets/qmldir
new file mode 100644
index 0000000000..a7c1d95c76
--- /dev/null
+++ b/examples/declarative/cppextensions/qwidgets/QWidgets/qmldir
@@ -0,0 +1 @@
+plugin qmlqwidgetsplugin
diff --git a/examples/declarative/cppextensions/qwidgets/README b/examples/declarative/cppextensions/qwidgets/README
new file mode 100644
index 0000000000..e2f1b2ba56
--- /dev/null
+++ b/examples/declarative/cppextensions/qwidgets/README
@@ -0,0 +1,6 @@
+This example shows how to embed QWidget-based objects into QML.
+
+To run:
+
+ make install
+ qml qwidgets.qml
diff --git a/examples/declarative/cppextensions/qwidgets/qwidgets.cpp b/examples/declarative/cppextensions/qwidgets/qwidgets.cpp
new file mode 100644
index 0000000000..47d3932f87
--- /dev/null
+++ b/examples/declarative/cppextensions/qwidgets/qwidgets.cpp
@@ -0,0 +1,97 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the examples of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include <QtDeclarative/QDeclarativeExtensionPlugin>
+#include <QtDeclarative/qdeclarative.h>
+#include <QtGui/QGraphicsProxyWidget>
+#include <QtGui/QPushButton>
+#include <QDebug>
+
+class MyPushButton : public QGraphicsProxyWidget
+{
+ Q_OBJECT
+ Q_PROPERTY(QString text READ text WRITE setText NOTIFY textChanged)
+
+public:
+ MyPushButton(QGraphicsItem* parent = 0)
+ : QGraphicsProxyWidget(parent)
+ {
+ widget = new QPushButton("MyPushButton");
+ widget->setAttribute(Qt::WA_NoSystemBackground);
+ setWidget(widget);
+
+ QObject::connect(widget, SIGNAL(clicked(bool)), this, SIGNAL(clicked(bool)));
+ }
+
+ QString text() const
+ {
+ return widget->text();
+ }
+
+ void setText(const QString& text)
+ {
+ if (text != widget->text()) {
+ widget->setText(text);
+ emit textChanged();
+ }
+ }
+
+Q_SIGNALS:
+ void clicked(bool);
+ void textChanged();
+
+private:
+ QPushButton *widget;
+};
+
+class QWidgetsPlugin : public QDeclarativeExtensionPlugin
+{
+ Q_OBJECT
+public:
+ void registerTypes(const char *uri)
+ {
+ qmlRegisterType<MyPushButton>(uri, 1, 0, "MyPushButton");
+ }
+};
+
+#include "qwidgets.moc"
+
+Q_EXPORT_PLUGIN2(qmlqwidgetsplugin, QWidgetsPlugin);
diff --git a/examples/declarative/cppextensions/qwidgets/qwidgets.pro b/examples/declarative/cppextensions/qwidgets/qwidgets.pro
new file mode 100644
index 0000000000..8d878045e0
--- /dev/null
+++ b/examples/declarative/cppextensions/qwidgets/qwidgets.pro
@@ -0,0 +1,25 @@
+TEMPLATE = lib
+CONFIG += qt plugin
+QT += declarative
+
+DESTDIR = QWidgets
+TARGET = qmlqwidgetsplugin
+
+SOURCES += qwidgets.cpp
+
+sources.files += qwidgets.pro qwidgets.cpp qwidgets.qml
+sources.path += $$[QT_INSTALL_EXAMPLES]/declarative/plugins
+target.path += $$[QT_INSTALL_EXAMPLES]/declarative/plugins
+
+INSTALLS += sources target
+
+symbian:{
+ load(data_caging_paths)
+ include($$QT_SOURCE_TREE/examples/symbianpkgrules.pri)
+ TARGET.EPOCALLOWDLLDATA = 1
+
+ importFiles.sources = qmlqwidgetsplugin.dll QWidgets/qmldir
+ importFiles.path = QWidgets
+
+ DEPLOYMENT = importFiles
+}
diff --git a/examples/declarative/cppextensions/qwidgets/qwidgets.qml b/examples/declarative/cppextensions/qwidgets/qwidgets.qml
new file mode 100644
index 0000000000..c1edc80515
--- /dev/null
+++ b/examples/declarative/cppextensions/qwidgets/qwidgets.qml
@@ -0,0 +1,110 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+import Qt 4.7
+import "QWidgets" 1.0
+
+Rectangle {
+ id: window
+
+ property int margin: 30
+
+ width: 640; height: 480
+ color: palette.window
+
+ SystemPalette { id: palette }
+
+ MyPushButton {
+ id: button1
+ x: margin; y: margin
+ text: "Right"
+ transformOriginPoint: Qt.point(width / 2, height / 2)
+
+ onClicked: window.state = "right"
+ }
+
+ MyPushButton {
+ id: button2
+ x: margin; y: margin + 30
+ text: "Bottom"
+ transformOriginPoint: Qt.point(width / 2, height / 2)
+
+ onClicked: window.state = "bottom"
+ }
+
+ MyPushButton {
+ id: button3
+ x: margin; y: margin + 60
+ text: "Quit"
+ transformOriginPoint: Qt.point(width / 2, height / 2)
+
+ onClicked: Qt.quit()
+ }
+
+ states: [
+ State {
+ name: "right"
+ PropertyChanges { target: button1; x: window.width - width - margin; text: "Left"; onClicked: window.state = "" }
+ PropertyChanges { target: button2; x: window.width - width - margin }
+ PropertyChanges { target: button3; x: window.width - width - margin }
+ PropertyChanges { target: window; color: Qt.darker(palette.window) }
+ },
+ State {
+ name: "bottom"
+ PropertyChanges { target: button1; y: window.height - height - margin; rotation: 180 }
+ PropertyChanges {
+ target: button2
+ x: button1.x + button1.width + 10; y: window.height - height - margin
+ rotation: 180
+ text: "Top"
+ onClicked: window.state = ""
+ }
+ PropertyChanges { target: button3; x: button2.x + button2.width + 10; y: window.height - height - margin; rotation: 180 }
+ PropertyChanges { target: window; color: Qt.lighter(palette.window) }
+ }
+ ]
+
+ transitions: Transition {
+ ParallelAnimation {
+ NumberAnimation { properties: "x,y,rotation"; duration: 600; easing.type: Easing.OutQuad }
+ ColorAnimation { target: window; duration: 600 }
+ }
+ }
+}
diff --git a/examples/declarative/fillmode/fillmode.qmlproject b/examples/declarative/cppextensions/qwidgets/qwidgets.qmlproject
index d4909f8685..d4909f8685 100644
--- a/examples/declarative/fillmode/fillmode.qmlproject
+++ b/examples/declarative/cppextensions/qwidgets/qwidgets.qmlproject
diff --git a/examples/declarative/extending/adding/adding.pro b/examples/declarative/cppextensions/referenceexamples/adding/adding.pro
index 6072de42cc..6072de42cc 100644
--- a/examples/declarative/extending/adding/adding.pro
+++ b/examples/declarative/cppextensions/referenceexamples/adding/adding.pro
diff --git a/examples/declarative/extending/adding/adding.qrc b/examples/declarative/cppextensions/referenceexamples/adding/adding.qrc
index e2fa01d5e7..e2fa01d5e7 100644
--- a/examples/declarative/extending/adding/adding.qrc
+++ b/examples/declarative/cppextensions/referenceexamples/adding/adding.qrc
diff --git a/examples/declarative/cppextensions/referenceexamples/adding/example.qml b/examples/declarative/cppextensions/referenceexamples/adding/example.qml
new file mode 100644
index 0000000000..da3ddfcce2
--- /dev/null
+++ b/examples/declarative/cppextensions/referenceexamples/adding/example.qml
@@ -0,0 +1,48 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+// ![0]
+import People 1.0
+
+Person {
+ name: "Bob Jones"
+ shoeSize: 12
+}
+// ![0]
diff --git a/examples/declarative/cppextensions/referenceexamples/adding/main.cpp b/examples/declarative/cppextensions/referenceexamples/adding/main.cpp
new file mode 100644
index 0000000000..f429b6e70c
--- /dev/null
+++ b/examples/declarative/cppextensions/referenceexamples/adding/main.cpp
@@ -0,0 +1,64 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the examples of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+#include <QCoreApplication>
+#include <QDeclarativeEngine>
+#include <QDeclarativeComponent>
+#include <QDebug>
+#include "person.h"
+
+int main(int argc, char ** argv)
+{
+ QCoreApplication app(argc, argv);
+//![0]
+ qmlRegisterType<Person>("People", 1,0, "Person");
+//![0]
+
+ QDeclarativeEngine engine;
+ QDeclarativeComponent component(&engine, ":example.qml");
+ Person *person = qobject_cast<Person *>(component.create());
+ if (person) {
+ qWarning() << "The person's name is" << person->name();
+ qWarning() << "They wear a" << person->shoeSize() << "sized shoe";
+ } else {
+ qWarning() << "An error occured";
+ }
+
+ return 0;
+}
diff --git a/examples/declarative/cppextensions/referenceexamples/adding/person.cpp b/examples/declarative/cppextensions/referenceexamples/adding/person.cpp
new file mode 100644
index 0000000000..336600b548
--- /dev/null
+++ b/examples/declarative/cppextensions/referenceexamples/adding/person.cpp
@@ -0,0 +1,68 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the examples of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+#include "person.h"
+
+// ![0]
+Person::Person(QObject *parent)
+: QObject(parent), m_shoeSize(0)
+{
+}
+
+QString Person::name() const
+{
+ return m_name;
+}
+
+void Person::setName(const QString &n)
+{
+ m_name = n;
+}
+
+int Person::shoeSize() const
+{
+ return m_shoeSize;
+}
+
+void Person::setShoeSize(int s)
+{
+ m_shoeSize = s;
+}
+
+// ![0]
diff --git a/examples/declarative/cppextensions/referenceexamples/adding/person.h b/examples/declarative/cppextensions/referenceexamples/adding/person.h
new file mode 100644
index 0000000000..e6defbbc27
--- /dev/null
+++ b/examples/declarative/cppextensions/referenceexamples/adding/person.h
@@ -0,0 +1,65 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the examples of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+#ifndef PERSON_H
+#define PERSON_H
+
+#include <QObject>
+// ![0]
+class Person : public QObject
+{
+ Q_OBJECT
+ Q_PROPERTY(QString name READ name WRITE setName)
+ Q_PROPERTY(int shoeSize READ shoeSize WRITE setShoeSize)
+public:
+ Person(QObject *parent = 0);
+
+ QString name() const;
+ void setName(const QString &);
+
+ int shoeSize() const;
+ void setShoeSize(int);
+
+private:
+ QString m_name;
+ int m_shoeSize;
+};
+// ![0]
+
+#endif // PERSON_H
diff --git a/examples/declarative/extending/attached/attached.pro b/examples/declarative/cppextensions/referenceexamples/attached/attached.pro
index f6d76ed27f..f6d76ed27f 100644
--- a/examples/declarative/extending/attached/attached.pro
+++ b/examples/declarative/cppextensions/referenceexamples/attached/attached.pro
diff --git a/examples/declarative/extending/attached/attached.qrc b/examples/declarative/cppextensions/referenceexamples/attached/attached.qrc
index e2fa01d5e7..e2fa01d5e7 100644
--- a/examples/declarative/extending/attached/attached.qrc
+++ b/examples/declarative/cppextensions/referenceexamples/attached/attached.qrc
diff --git a/examples/declarative/cppextensions/referenceexamples/attached/birthdayparty.cpp b/examples/declarative/cppextensions/referenceexamples/attached/birthdayparty.cpp
new file mode 100644
index 0000000000..2b830d4dd9
--- /dev/null
+++ b/examples/declarative/cppextensions/referenceexamples/attached/birthdayparty.cpp
@@ -0,0 +1,91 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the examples of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+#include "birthdayparty.h"
+
+BirthdayPartyAttached::BirthdayPartyAttached(QObject *object)
+: QObject(object)
+{
+}
+
+QDate BirthdayPartyAttached::rsvp() const
+{
+ return m_rsvp;
+}
+
+void BirthdayPartyAttached::setRsvp(const QDate &d)
+{
+ m_rsvp = d;
+}
+
+BirthdayParty::BirthdayParty(QObject *parent)
+: QObject(parent), m_host(0)
+{
+}
+
+Person *BirthdayParty::host() const
+{
+ return m_host;
+}
+
+void BirthdayParty::setHost(Person *c)
+{
+ m_host = c;
+}
+
+QDeclarativeListProperty<Person> BirthdayParty::guests()
+{
+ return QDeclarativeListProperty<Person>(this, m_guests);
+}
+
+int BirthdayParty::guestCount() const
+{
+ return m_guests.count();
+}
+
+Person *BirthdayParty::guest(int index) const
+{
+ return m_guests.at(index);
+}
+
+BirthdayPartyAttached *BirthdayParty::qmlAttachedProperties(QObject *object)
+{
+ return new BirthdayPartyAttached(object);
+}
+
diff --git a/examples/declarative/cppextensions/referenceexamples/attached/birthdayparty.h b/examples/declarative/cppextensions/referenceexamples/attached/birthdayparty.h
new file mode 100644
index 0000000000..f2a3802f2d
--- /dev/null
+++ b/examples/declarative/cppextensions/referenceexamples/attached/birthdayparty.h
@@ -0,0 +1,86 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the examples of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+#ifndef BIRTHDAYPARTY_H
+#define BIRTHDAYPARTY_H
+
+#include <QObject>
+#include <QDate>
+#include <qdeclarative.h>
+#include "person.h"
+
+class BirthdayPartyAttached : public QObject
+{
+ Q_OBJECT
+ Q_PROPERTY(QDate rsvp READ rsvp WRITE setRsvp)
+public:
+ BirthdayPartyAttached(QObject *object);
+
+ QDate rsvp() const;
+ void setRsvp(const QDate &);
+
+private:
+ QDate m_rsvp;
+};
+
+class BirthdayParty : public QObject
+{
+ Q_OBJECT
+ Q_PROPERTY(Person *host READ host WRITE setHost)
+ Q_PROPERTY(QDeclarativeListProperty<Person> guests READ guests)
+ Q_CLASSINFO("DefaultProperty", "guests")
+public:
+ BirthdayParty(QObject *parent = 0);
+
+ Person *host() const;
+ void setHost(Person *);
+
+ QDeclarativeListProperty<Person> guests();
+ int guestCount() const;
+ Person *guest(int) const;
+
+ static BirthdayPartyAttached *qmlAttachedProperties(QObject *);
+private:
+ Person *m_host;
+ QList<Person *> m_guests;
+};
+
+QML_DECLARE_TYPEINFO(BirthdayParty, QML_HAS_ATTACHED_PROPERTIES)
+
+#endif // BIRTHDAYPARTY_H
diff --git a/examples/declarative/cppextensions/referenceexamples/attached/example.qml b/examples/declarative/cppextensions/referenceexamples/attached/example.qml
new file mode 100644
index 0000000000..62f336dd66
--- /dev/null
+++ b/examples/declarative/cppextensions/referenceexamples/attached/example.qml
@@ -0,0 +1,71 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+import People 1.0
+
+BirthdayParty {
+ host: Boy {
+ name: "Bob Jones"
+ shoe { size: 12; color: "white"; brand: "Nike"; price: 90.0 }
+ }
+
+ // ![1]
+ Boy {
+ name: "Leo Hodges"
+ shoe { size: 10; color: "black"; brand: "Reebok"; price: 59.95 }
+
+ BirthdayParty.rsvp: "2009-07-06"
+ }
+ // ![1]
+ Boy {
+ name: "Jack Smith"
+ shoe { size: 8; color: "blue"; brand: "Puma"; price: 19.95 }
+ }
+ Girl {
+ name: "Anne Brown"
+ shoe.size: 7
+ shoe.color: "red"
+ shoe.brand: "Marc Jacobs"
+ shoe.price: 699.99
+
+ BirthdayParty.rsvp: "2009-07-01"
+ }
+}
+
diff --git a/examples/declarative/cppextensions/referenceexamples/attached/main.cpp b/examples/declarative/cppextensions/referenceexamples/attached/main.cpp
new file mode 100644
index 0000000000..22e844fd63
--- /dev/null
+++ b/examples/declarative/cppextensions/referenceexamples/attached/main.cpp
@@ -0,0 +1,90 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the examples of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+#include <QCoreApplication>
+#include <QDeclarativeEngine>
+#include <QDeclarativeComponent>
+#include <QDebug>
+#include "birthdayparty.h"
+#include "person.h"
+
+int main(int argc, char ** argv)
+{
+ QCoreApplication app(argc, argv);
+
+ qmlRegisterType<BirthdayPartyAttached>();
+ qmlRegisterType<BirthdayParty>("People", 1,0, "BirthdayParty");
+ qmlRegisterType<ShoeDescription>();
+ qmlRegisterType<Person>();
+ qmlRegisterType<Boy>("People", 1,0, "Boy");
+ qmlRegisterType<Girl>("People", 1,0, "Girl");
+
+ QDeclarativeEngine engine;
+ QDeclarativeComponent component(&engine, ":example.qml");
+ BirthdayParty *party = qobject_cast<BirthdayParty *>(component.create());
+
+ if (party && party->host()) {
+ qWarning() << party->host()->name() << "is having a birthday!";
+
+ if (qobject_cast<Boy *>(party->host()))
+ qWarning() << "He is inviting:";
+ else
+ qWarning() << "She is inviting:";
+
+ for (int ii = 0; ii < party->guestCount(); ++ii) {
+ Person *guest = party->guest(ii);
+
+ QDate rsvpDate;
+ QObject *attached =
+ qmlAttachedPropertiesObject<BirthdayParty>(guest, false);
+ if (attached)
+ rsvpDate = attached->property("rsvp").toDate();
+
+ if (rsvpDate.isNull())
+ qWarning() << " " << guest->name() << "RSVP date: Hasn't RSVP'd";
+ else
+ qWarning() << " " << guest->name() << "RSVP date:" << qPrintable(rsvpDate.toString());
+ }
+
+ } else {
+ qWarning() << "An error occured";
+ }
+
+ return 0;
+}
diff --git a/examples/declarative/cppextensions/referenceexamples/attached/person.cpp b/examples/declarative/cppextensions/referenceexamples/attached/person.cpp
new file mode 100644
index 0000000000..27d5e640a4
--- /dev/null
+++ b/examples/declarative/cppextensions/referenceexamples/attached/person.cpp
@@ -0,0 +1,118 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the examples of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+#include "person.h"
+
+ShoeDescription::ShoeDescription(QObject *parent)
+: QObject(parent), m_size(0), m_price(0)
+{
+}
+
+int ShoeDescription::size() const
+{
+ return m_size;
+}
+
+void ShoeDescription::setSize(int s)
+{
+ m_size = s;
+}
+
+QColor ShoeDescription::color() const
+{
+ return m_color;
+}
+
+void ShoeDescription::setColor(const QColor &c)
+{
+ m_color = c;
+}
+
+QString ShoeDescription::brand() const
+{
+ return m_brand;
+}
+
+void ShoeDescription::setBrand(const QString &b)
+{
+ m_brand = b;
+}
+
+qreal ShoeDescription::price() const
+{
+ return m_price;
+}
+
+void ShoeDescription::setPrice(qreal p)
+{
+ m_price = p;
+}
+
+Person::Person(QObject *parent)
+: QObject(parent)
+{
+}
+
+QString Person::name() const
+{
+ return m_name;
+}
+
+void Person::setName(const QString &n)
+{
+ m_name = n;
+}
+
+ShoeDescription *Person::shoe()
+{
+ return &m_shoe;
+}
+
+
+Boy::Boy(QObject * parent)
+: Person(parent)
+{
+}
+
+
+Girl::Girl(QObject * parent)
+: Person(parent)
+{
+}
+
diff --git a/examples/declarative/cppextensions/referenceexamples/attached/person.h b/examples/declarative/cppextensions/referenceexamples/attached/person.h
new file mode 100644
index 0000000000..e8da6bb0d4
--- /dev/null
+++ b/examples/declarative/cppextensions/referenceexamples/attached/person.h
@@ -0,0 +1,105 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the examples of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+#ifndef PERSON_H
+#define PERSON_H
+
+#include <QObject>
+#include <QColor>
+
+class ShoeDescription : public QObject
+{
+ Q_OBJECT
+ Q_PROPERTY(int size READ size WRITE setSize)
+ Q_PROPERTY(QColor color READ color WRITE setColor)
+ Q_PROPERTY(QString brand READ brand WRITE setBrand)
+ Q_PROPERTY(qreal price READ price WRITE setPrice)
+public:
+ ShoeDescription(QObject *parent = 0);
+
+ int size() const;
+ void setSize(int);
+
+ QColor color() const;
+ void setColor(const QColor &);
+
+ QString brand() const;
+ void setBrand(const QString &);
+
+ qreal price() const;
+ void setPrice(qreal);
+private:
+ int m_size;
+ QColor m_color;
+ QString m_brand;
+ qreal m_price;
+};
+
+class Person : public QObject
+{
+ Q_OBJECT
+ Q_PROPERTY(QString name READ name WRITE setName)
+ Q_PROPERTY(ShoeDescription *shoe READ shoe)
+public:
+ Person(QObject *parent = 0);
+
+ QString name() const;
+ void setName(const QString &);
+
+ ShoeDescription *shoe();
+private:
+ QString m_name;
+ ShoeDescription m_shoe;
+};
+
+class Boy : public Person
+{
+ Q_OBJECT
+public:
+ Boy(QObject * parent = 0);
+};
+
+class Girl : public Person
+{
+ Q_OBJECT
+public:
+ Girl(QObject * parent = 0);
+};
+
+#endif // PERSON_H
diff --git a/examples/declarative/extending/binding/binding.pro b/examples/declarative/cppextensions/referenceexamples/binding/binding.pro
index 896ce259f4..896ce259f4 100644
--- a/examples/declarative/extending/binding/binding.pro
+++ b/examples/declarative/cppextensions/referenceexamples/binding/binding.pro
diff --git a/examples/declarative/extending/binding/binding.qrc b/examples/declarative/cppextensions/referenceexamples/binding/binding.qrc
index e2fa01d5e7..e2fa01d5e7 100644
--- a/examples/declarative/extending/binding/binding.qrc
+++ b/examples/declarative/cppextensions/referenceexamples/binding/binding.qrc
diff --git a/examples/declarative/cppextensions/referenceexamples/binding/birthdayparty.cpp b/examples/declarative/cppextensions/referenceexamples/binding/birthdayparty.cpp
new file mode 100644
index 0000000000..121fe8c871
--- /dev/null
+++ b/examples/declarative/cppextensions/referenceexamples/binding/birthdayparty.cpp
@@ -0,0 +1,113 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the examples of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+#include "birthdayparty.h"
+
+BirthdayPartyAttached::BirthdayPartyAttached(QObject *object)
+: QObject(object)
+{
+}
+
+QDate BirthdayPartyAttached::rsvp() const
+{
+ return m_rsvp;
+}
+
+void BirthdayPartyAttached::setRsvp(const QDate &d)
+{
+ if (d != m_rsvp) {
+ m_rsvp = d;
+ emit rsvpChanged();
+ }
+}
+
+
+BirthdayParty::BirthdayParty(QObject *parent)
+: QObject(parent), m_host(0)
+{
+}
+
+Person *BirthdayParty::host() const
+{
+ return m_host;
+}
+
+void BirthdayParty::setHost(Person *c)
+{
+ if (c == m_host) return;
+ m_host = c;
+ emit hostChanged();
+}
+
+QDeclarativeListProperty<Person> BirthdayParty::guests()
+{
+ return QDeclarativeListProperty<Person>(this, m_guests);
+}
+
+int BirthdayParty::guestCount() const
+{
+ return m_guests.count();
+}
+
+Person *BirthdayParty::guest(int index) const
+{
+ return m_guests.at(index);
+}
+
+void BirthdayParty::startParty()
+{
+ QTime time = QTime::currentTime();
+ emit partyStarted(time);
+}
+
+QString BirthdayParty::announcement() const
+{
+ return QString();
+}
+
+void BirthdayParty::setAnnouncement(const QString &speak)
+{
+ qWarning() << qPrintable(speak);
+}
+
+BirthdayPartyAttached *BirthdayParty::qmlAttachedProperties(QObject *object)
+{
+ return new BirthdayPartyAttached(object);
+}
+
diff --git a/examples/declarative/cppextensions/referenceexamples/binding/birthdayparty.h b/examples/declarative/cppextensions/referenceexamples/binding/birthdayparty.h
new file mode 100644
index 0000000000..9b04bb87c4
--- /dev/null
+++ b/examples/declarative/cppextensions/referenceexamples/binding/birthdayparty.h
@@ -0,0 +1,102 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the examples of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+#ifndef BIRTHDAYPARTY_H
+#define BIRTHDAYPARTY_H
+
+#include <QObject>
+#include <QDate>
+#include <QDebug>
+#include <qdeclarative.h>
+#include "person.h"
+
+class BirthdayPartyAttached : public QObject
+{
+ Q_OBJECT
+ Q_PROPERTY(QDate rsvp READ rsvp WRITE setRsvp NOTIFY rsvpChanged)
+public:
+ BirthdayPartyAttached(QObject *object);
+
+ QDate rsvp() const;
+ void setRsvp(const QDate &);
+
+signals:
+ void rsvpChanged();
+
+private:
+ QDate m_rsvp;
+};
+
+class BirthdayParty : public QObject
+{
+ Q_OBJECT
+// ![0]
+ Q_PROPERTY(Person *host READ host WRITE setHost NOTIFY hostChanged)
+// ![0]
+ Q_PROPERTY(QDeclarativeListProperty<Person> guests READ guests)
+ Q_PROPERTY(QString announcement READ announcement WRITE setAnnouncement)
+ Q_CLASSINFO("DefaultProperty", "guests")
+public:
+ BirthdayParty(QObject *parent = 0);
+
+ Person *host() const;
+ void setHost(Person *);
+
+ QDeclarativeListProperty<Person> guests();
+ int guestCount() const;
+ Person *guest(int) const;
+
+ QString announcement() const;
+ void setAnnouncement(const QString &);
+
+ static BirthdayPartyAttached *qmlAttachedProperties(QObject *);
+
+ void startParty();
+signals:
+ void partyStarted(const QTime &time);
+ void hostChanged();
+
+private:
+ Person *m_host;
+ QList<Person *> m_guests;
+};
+
+QML_DECLARE_TYPEINFO(BirthdayParty, QML_HAS_ATTACHED_PROPERTIES)
+
+#endif // BIRTHDAYPARTY_H
diff --git a/examples/declarative/cppextensions/referenceexamples/binding/example.qml b/examples/declarative/cppextensions/referenceexamples/binding/example.qml
new file mode 100644
index 0000000000..8f359b08ee
--- /dev/null
+++ b/examples/declarative/cppextensions/referenceexamples/binding/example.qml
@@ -0,0 +1,77 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+import People 1.0
+
+// ![0]
+BirthdayParty {
+ id: theParty
+
+ HappyBirthdaySong on announcement { name: theParty.host.name }
+
+ host: Boy {
+ name: "Bob Jones"
+ shoe { size: 12; color: "white"; brand: "Nike"; price: 90.0 }
+ }
+// ![0]
+ onPartyStarted: console.log("This party started rockin' at " + time);
+
+
+ Boy {
+ name: "Leo Hodges"
+ BirthdayParty.rsvp: "2009-07-06"
+ shoe { size: 10; color: "black"; brand: "Reebok"; price: 59.95 }
+ }
+ Boy {
+ name: "Jack Smith"
+ shoe { size: 8; color: "blue"; brand: "Puma"; price: 19.95 }
+ }
+ Girl {
+ name: "Anne Brown"
+ BirthdayParty.rsvp: "2009-07-01"
+ shoe.size: 7
+ shoe.color: "red"
+ shoe.brand: "Marc Jacobs"
+ shoe.price: 699.99
+ }
+
+// ![1]
+}
+// ![1]
diff --git a/examples/declarative/cppextensions/referenceexamples/binding/happybirthdaysong.cpp b/examples/declarative/cppextensions/referenceexamples/binding/happybirthdaysong.cpp
new file mode 100644
index 0000000000..0950b0c899
--- /dev/null
+++ b/examples/declarative/cppextensions/referenceexamples/binding/happybirthdaysong.cpp
@@ -0,0 +1,85 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the examples of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+#include "happybirthdaysong.h"
+#include <QTimer>
+
+HappyBirthdaySong::HappyBirthdaySong(QObject *parent)
+: QObject(parent), m_line(-1)
+{
+ setName(QString());
+ QTimer *timer = new QTimer(this);
+ QObject::connect(timer, SIGNAL(timeout()), this, SLOT(advance()));
+ timer->start(1000);
+}
+
+void HappyBirthdaySong::setTarget(const QDeclarativeProperty &p)
+{
+ m_target = p;
+}
+
+QString HappyBirthdaySong::name() const
+{
+ return m_name;
+}
+
+void HappyBirthdaySong::setName(const QString &name)
+{
+ if (m_name == name)
+ return;
+
+ m_name = name;
+
+ m_lyrics.clear();
+ m_lyrics << "Happy birthday to you,";
+ m_lyrics << "Happy birthday to you,";
+ m_lyrics << "Happy birthday dear " + m_name + ",";
+ m_lyrics << "Happy birthday to you!";
+ m_lyrics << "";
+
+ emit nameChanged();
+}
+
+void HappyBirthdaySong::advance()
+{
+ m_line = (m_line + 1) % m_lyrics.count();
+
+ m_target.write(m_lyrics.at(m_line));
+}
+
diff --git a/examples/declarative/cppextensions/referenceexamples/binding/happybirthdaysong.h b/examples/declarative/cppextensions/referenceexamples/binding/happybirthdaysong.h
new file mode 100644
index 0000000000..9052f6e9c4
--- /dev/null
+++ b/examples/declarative/cppextensions/referenceexamples/binding/happybirthdaysong.h
@@ -0,0 +1,74 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the examples of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+#ifndef HAPPYBIRTHDAYSONG_H
+#define HAPPYBIRTHDAYSONG_H
+
+#include <QDeclarativePropertyValueSource>
+#include <QDeclarativeProperty>
+
+#include <QStringList>
+
+class HappyBirthdaySong : public QObject, public QDeclarativePropertyValueSource
+{
+ Q_OBJECT
+ Q_PROPERTY(QString name READ name WRITE setName NOTIFY nameChanged)
+ Q_INTERFACES(QDeclarativePropertyValueSource)
+public:
+ HappyBirthdaySong(QObject *parent = 0);
+
+ virtual void setTarget(const QDeclarativeProperty &);
+
+ QString name() const;
+ void setName(const QString &);
+
+private slots:
+ void advance();
+
+signals:
+ void nameChanged();
+private:
+ int m_line;
+ QStringList m_lyrics;
+ QDeclarativeProperty m_target;
+ QString m_name;
+};
+
+#endif // HAPPYBIRTHDAYSONG_H
+
diff --git a/examples/declarative/cppextensions/referenceexamples/binding/main.cpp b/examples/declarative/cppextensions/referenceexamples/binding/main.cpp
new file mode 100644
index 0000000000..29da9946e2
--- /dev/null
+++ b/examples/declarative/cppextensions/referenceexamples/binding/main.cpp
@@ -0,0 +1,92 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the examples of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+#include <QCoreApplication>
+#include <QDeclarativeEngine>
+#include <QDeclarativeComponent>
+#include <QDebug>
+#include "birthdayparty.h"
+#include "happybirthdaysong.h"
+#include "person.h"
+
+int main(int argc, char ** argv)
+{
+ QCoreApplication app(argc, argv);
+ qmlRegisterType<BirthdayPartyAttached>();
+ qmlRegisterType<BirthdayParty>("People", 1,0, "BirthdayParty");
+ qmlRegisterType<HappyBirthdaySong>("People", 1,0, "HappyBirthdaySong");
+ qmlRegisterType<ShoeDescription>();
+ qmlRegisterType<Person>();
+ qmlRegisterType<Boy>("People", 1,0, "Boy");
+ qmlRegisterType<Girl>("People", 1,0, "Girl");
+
+ QDeclarativeEngine engine;
+ QDeclarativeComponent component(&engine, ":example.qml");
+ BirthdayParty *party = qobject_cast<BirthdayParty *>(component.create());
+
+ if (party && party->host()) {
+ qWarning() << party->host()->name() << "is having a birthday!";
+
+ if (qobject_cast<Boy *>(party->host()))
+ qWarning() << "He is inviting:";
+ else
+ qWarning() << "She is inviting:";
+
+ for (int ii = 0; ii < party->guestCount(); ++ii) {
+ Person *guest = party->guest(ii);
+
+ QDate rsvpDate;
+ QObject *attached =
+ qmlAttachedPropertiesObject<BirthdayParty>(guest, false);
+ if (attached)
+ rsvpDate = attached->property("rsvp").toDate();
+
+ if (rsvpDate.isNull())
+ qWarning() << " " << guest->name() << "RSVP date: Hasn't RSVP'd";
+ else
+ qWarning() << " " << guest->name() << "RSVP date:" << qPrintable(rsvpDate.toString());
+ }
+
+ party->startParty();
+ } else {
+ qWarning() << "An error occured";
+ }
+
+ return app.exec();
+}
diff --git a/examples/declarative/cppextensions/referenceexamples/binding/person.cpp b/examples/declarative/cppextensions/referenceexamples/binding/person.cpp
new file mode 100644
index 0000000000..c7fa0a3a8d
--- /dev/null
+++ b/examples/declarative/cppextensions/referenceexamples/binding/person.cpp
@@ -0,0 +1,138 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the examples of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+#include "person.h"
+
+ShoeDescription::ShoeDescription(QObject *parent)
+: QObject(parent), m_size(0), m_price(0)
+{
+}
+
+int ShoeDescription::size() const
+{
+ return m_size;
+}
+
+void ShoeDescription::setSize(int s)
+{
+ if (m_size == s)
+ return;
+
+ m_size = s;
+ emit shoeChanged();
+}
+
+QColor ShoeDescription::color() const
+{
+ return m_color;
+}
+
+void ShoeDescription::setColor(const QColor &c)
+{
+ if (m_color == c)
+ return;
+
+ m_color = c;
+ emit shoeChanged();
+}
+
+QString ShoeDescription::brand() const
+{
+ return m_brand;
+}
+
+void ShoeDescription::setBrand(const QString &b)
+{
+ if (m_brand == b)
+ return;
+
+ m_brand = b;
+ emit shoeChanged();
+}
+
+qreal ShoeDescription::price() const
+{
+ return m_price;
+}
+
+void ShoeDescription::setPrice(qreal p)
+{
+ if (m_price == p)
+ return;
+
+ m_price = p;
+ emit shoeChanged();
+}
+
+Person::Person(QObject *parent)
+: QObject(parent)
+{
+}
+
+QString Person::name() const
+{
+ return m_name;
+}
+
+void Person::setName(const QString &n)
+{
+ if (m_name == n)
+ return;
+
+ m_name = n;
+ emit nameChanged();
+}
+
+ShoeDescription *Person::shoe()
+{
+ return &m_shoe;
+}
+
+
+Boy::Boy(QObject * parent)
+: Person(parent)
+{
+}
+
+
+Girl::Girl(QObject * parent)
+: Person(parent)
+{
+}
+
diff --git a/examples/declarative/cppextensions/referenceexamples/binding/person.h b/examples/declarative/cppextensions/referenceexamples/binding/person.h
new file mode 100644
index 0000000000..58ba9cc289
--- /dev/null
+++ b/examples/declarative/cppextensions/referenceexamples/binding/person.h
@@ -0,0 +1,113 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the examples of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+#ifndef PERSON_H
+#define PERSON_H
+
+#include <QObject>
+#include <QColor>
+
+class ShoeDescription : public QObject
+{
+ Q_OBJECT
+ Q_PROPERTY(int size READ size WRITE setSize NOTIFY shoeChanged)
+ Q_PROPERTY(QColor color READ color WRITE setColor NOTIFY shoeChanged)
+ Q_PROPERTY(QString brand READ brand WRITE setBrand NOTIFY shoeChanged)
+ Q_PROPERTY(qreal price READ price WRITE setPrice NOTIFY shoeChanged)
+public:
+ ShoeDescription(QObject *parent = 0);
+
+ int size() const;
+ void setSize(int);
+
+ QColor color() const;
+ void setColor(const QColor &);
+
+ QString brand() const;
+ void setBrand(const QString &);
+
+ qreal price() const;
+ void setPrice(qreal);
+signals:
+ void shoeChanged();
+
+private:
+ int m_size;
+ QColor m_color;
+ QString m_brand;
+ qreal m_price;
+};
+
+class Person : public QObject
+{
+ Q_OBJECT
+ Q_PROPERTY(QString name READ name WRITE setName NOTIFY nameChanged)
+// ![0]
+ Q_PROPERTY(ShoeDescription *shoe READ shoe CONSTANT)
+// ![0]
+public:
+ Person(QObject *parent = 0);
+
+ QString name() const;
+ void setName(const QString &);
+
+ ShoeDescription *shoe();
+signals:
+ void nameChanged();
+
+private:
+ QString m_name;
+ ShoeDescription m_shoe;
+};
+
+class Boy : public Person
+{
+ Q_OBJECT
+public:
+ Boy(QObject * parent = 0);
+};
+
+class Girl : public Person
+{
+ Q_OBJECT
+public:
+ Girl(QObject * parent = 0);
+};
+
+#endif // PERSON_H
diff --git a/examples/declarative/cppextensions/referenceexamples/coercion/birthdayparty.cpp b/examples/declarative/cppextensions/referenceexamples/coercion/birthdayparty.cpp
new file mode 100644
index 0000000000..f80fe20d28
--- /dev/null
+++ b/examples/declarative/cppextensions/referenceexamples/coercion/birthdayparty.cpp
@@ -0,0 +1,71 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the examples of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+#include "birthdayparty.h"
+
+BirthdayParty::BirthdayParty(QObject *parent)
+: QObject(parent), m_host(0)
+{
+}
+
+Person *BirthdayParty::host() const
+{
+ return m_host;
+}
+
+void BirthdayParty::setHost(Person *c)
+{
+ m_host = c;
+}
+
+QDeclarativeListProperty<Person> BirthdayParty::guests()
+{
+ return QDeclarativeListProperty<Person>(this, m_guests);
+}
+
+int BirthdayParty::guestCount() const
+{
+ return m_guests.count();
+}
+
+Person *BirthdayParty::guest(int index) const
+{
+ return m_guests.at(index);
+}
+
diff --git a/examples/declarative/cppextensions/referenceexamples/coercion/birthdayparty.h b/examples/declarative/cppextensions/referenceexamples/coercion/birthdayparty.h
new file mode 100644
index 0000000000..a470866b67
--- /dev/null
+++ b/examples/declarative/cppextensions/referenceexamples/coercion/birthdayparty.h
@@ -0,0 +1,69 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the examples of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+#ifndef BIRTHDAYPARTY_H
+#define BIRTHDAYPARTY_H
+
+#include <QObject>
+#include <QDeclarativeListProperty>
+#include "person.h"
+
+class BirthdayParty : public QObject
+{
+ Q_OBJECT
+// ![0]
+ Q_PROPERTY(Person *host READ host WRITE setHost)
+ Q_PROPERTY(QDeclarativeListProperty<Person> guests READ guests)
+// ![0]
+public:
+ BirthdayParty(QObject *parent = 0);
+
+ Person *host() const;
+ void setHost(Person *);
+
+ QDeclarativeListProperty<Person> guests();
+ int guestCount() const;
+ Person *guest(int) const;
+
+private:
+ Person *m_host;
+ QList<Person *> m_guests;
+};
+
+#endif // BIRTHDAYPARTY_H
diff --git a/examples/declarative/extending/coercion/coercion.pro b/examples/declarative/cppextensions/referenceexamples/coercion/coercion.pro
index c8daed813a..c8daed813a 100644
--- a/examples/declarative/extending/coercion/coercion.pro
+++ b/examples/declarative/cppextensions/referenceexamples/coercion/coercion.pro
diff --git a/examples/declarative/extending/coercion/coercion.qrc b/examples/declarative/cppextensions/referenceexamples/coercion/coercion.qrc
index e2fa01d5e7..e2fa01d5e7 100644
--- a/examples/declarative/extending/coercion/coercion.qrc
+++ b/examples/declarative/cppextensions/referenceexamples/coercion/coercion.qrc
diff --git a/examples/declarative/cppextensions/referenceexamples/coercion/example.qml b/examples/declarative/cppextensions/referenceexamples/coercion/example.qml
new file mode 100644
index 0000000000..eaf36381ce
--- /dev/null
+++ b/examples/declarative/cppextensions/referenceexamples/coercion/example.qml
@@ -0,0 +1,55 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+import People 1.0
+
+// ![0]
+BirthdayParty {
+ host: Boy {
+ name: "Bob Jones"
+ shoeSize: 12
+ }
+ guests: [
+ Boy { name: "Leo Hodges" },
+ Boy { name: "Jack Smith" },
+ Girl { name: "Anne Brown" }
+ ]
+}
+// ![0]
diff --git a/examples/declarative/cppextensions/referenceexamples/coercion/main.cpp b/examples/declarative/cppextensions/referenceexamples/coercion/main.cpp
new file mode 100644
index 0000000000..9b32c8ba59
--- /dev/null
+++ b/examples/declarative/cppextensions/referenceexamples/coercion/main.cpp
@@ -0,0 +1,77 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the examples of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+#include <QCoreApplication>
+#include <QDeclarativeEngine>
+#include <QDeclarativeComponent>
+#include <QDebug>
+#include "birthdayparty.h"
+#include "person.h"
+
+int main(int argc, char ** argv)
+{
+ QCoreApplication app(argc, argv);
+
+ qmlRegisterType<BirthdayParty>("People", 1,0, "BirthdayParty");
+// ![0]
+ qmlRegisterType<Person>();
+// ![0]
+ qmlRegisterType<Boy>("People", 1,0, "Boy");
+ qmlRegisterType<Girl>("People", 1,0, "Girl");
+
+ QDeclarativeEngine engine;
+ QDeclarativeComponent component(&engine, ":example.qml");
+ BirthdayParty *party = qobject_cast<BirthdayParty *>(component.create());
+
+ if (party && party->host()) {
+ qWarning() << party->host()->name() << "is having a birthday!";
+
+ if (qobject_cast<Boy *>(party->host()))
+ qWarning() << "He is inviting:";
+ else
+ qWarning() << "She is inviting:";
+
+ for (int ii = 0; ii < party->guestCount(); ++ii)
+ qWarning() << " " << party->guest(ii)->name();
+ } else {
+ qWarning() << "An error occured";
+ }
+
+ return 0;
+}
diff --git a/examples/declarative/cppextensions/referenceexamples/coercion/person.cpp b/examples/declarative/cppextensions/referenceexamples/coercion/person.cpp
new file mode 100644
index 0000000000..2b1b77a9a4
--- /dev/null
+++ b/examples/declarative/cppextensions/referenceexamples/coercion/person.cpp
@@ -0,0 +1,79 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the examples of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+#include "person.h"
+
+Person::Person(QObject *parent)
+: QObject(parent), m_shoeSize(0)
+{
+}
+
+QString Person::name() const
+{
+ return m_name;
+}
+
+void Person::setName(const QString &n)
+{
+ m_name = n;
+}
+
+int Person::shoeSize() const
+{
+ return m_shoeSize;
+}
+
+void Person::setShoeSize(int s)
+{
+ m_shoeSize = s;
+}
+
+// ![1]
+Boy::Boy(QObject * parent)
+: Person(parent)
+{
+}
+
+
+Girl::Girl(QObject * parent)
+: Person(parent)
+{
+}
+
+// ![1]
diff --git a/examples/declarative/cppextensions/referenceexamples/coercion/person.h b/examples/declarative/cppextensions/referenceexamples/coercion/person.h
new file mode 100644
index 0000000000..626667836d
--- /dev/null
+++ b/examples/declarative/cppextensions/referenceexamples/coercion/person.h
@@ -0,0 +1,82 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the examples of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+#ifndef PERSON_H
+#define PERSON_H
+
+#include <QObject>
+
+class Person : public QObject
+{
+ Q_OBJECT
+ Q_PROPERTY(QString name READ name WRITE setName)
+ Q_PROPERTY(int shoeSize READ shoeSize WRITE setShoeSize)
+public:
+ Person(QObject *parent = 0);
+
+ QString name() const;
+ void setName(const QString &);
+
+ int shoeSize() const;
+ void setShoeSize(int);
+private:
+ QString m_name;
+ int m_shoeSize;
+};
+
+
+// ![0]
+class Boy : public Person
+{
+ Q_OBJECT
+public:
+ Boy(QObject * parent = 0);
+};
+
+
+class Girl : public Person
+{
+ Q_OBJECT
+public:
+ Girl(QObject * parent = 0);
+};
+
+// ![0]
+
+#endif // PERSON_H
diff --git a/examples/declarative/cppextensions/referenceexamples/default/birthdayparty.cpp b/examples/declarative/cppextensions/referenceexamples/default/birthdayparty.cpp
new file mode 100644
index 0000000000..f80fe20d28
--- /dev/null
+++ b/examples/declarative/cppextensions/referenceexamples/default/birthdayparty.cpp
@@ -0,0 +1,71 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the examples of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+#include "birthdayparty.h"
+
+BirthdayParty::BirthdayParty(QObject *parent)
+: QObject(parent), m_host(0)
+{
+}
+
+Person *BirthdayParty::host() const
+{
+ return m_host;
+}
+
+void BirthdayParty::setHost(Person *c)
+{
+ m_host = c;
+}
+
+QDeclarativeListProperty<Person> BirthdayParty::guests()
+{
+ return QDeclarativeListProperty<Person>(this, m_guests);
+}
+
+int BirthdayParty::guestCount() const
+{
+ return m_guests.count();
+}
+
+Person *BirthdayParty::guest(int index) const
+{
+ return m_guests.at(index);
+}
+
diff --git a/examples/declarative/cppextensions/referenceexamples/default/birthdayparty.h b/examples/declarative/cppextensions/referenceexamples/default/birthdayparty.h
new file mode 100644
index 0000000000..48a2599582
--- /dev/null
+++ b/examples/declarative/cppextensions/referenceexamples/default/birthdayparty.h
@@ -0,0 +1,70 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the examples of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+#ifndef BIRTHDAYPARTY_H
+#define BIRTHDAYPARTY_H
+
+#include <QObject>
+#include <QDeclarativeListProperty>
+#include "person.h"
+
+// ![0]
+class BirthdayParty : public QObject
+{
+ Q_OBJECT
+ Q_PROPERTY(Person *host READ host WRITE setHost)
+ Q_PROPERTY(QDeclarativeListProperty<Person> guests READ guests)
+ Q_CLASSINFO("DefaultProperty", "guests")
+public:
+ BirthdayParty(QObject *parent = 0);
+
+ Person *host() const;
+ void setHost(Person *);
+
+ QDeclarativeListProperty<Person> guests();
+ int guestCount() const;
+ Person *guest(int) const;
+
+private:
+ Person *m_host;
+ QList<Person *> m_guests;
+};
+// ![0]
+
+#endif // BIRTHDAYPARTY_H
diff --git a/examples/declarative/extending/default/default.pro b/examples/declarative/cppextensions/referenceexamples/default/default.pro
index 32aff0bd8c..32aff0bd8c 100644
--- a/examples/declarative/extending/default/default.pro
+++ b/examples/declarative/cppextensions/referenceexamples/default/default.pro
diff --git a/examples/declarative/extending/default/default.qrc b/examples/declarative/cppextensions/referenceexamples/default/default.qrc
index e2fa01d5e7..e2fa01d5e7 100644
--- a/examples/declarative/extending/default/default.qrc
+++ b/examples/declarative/cppextensions/referenceexamples/default/default.qrc
diff --git a/examples/declarative/cppextensions/referenceexamples/default/example.qml b/examples/declarative/cppextensions/referenceexamples/default/example.qml
new file mode 100644
index 0000000000..5c7635e64e
--- /dev/null
+++ b/examples/declarative/cppextensions/referenceexamples/default/example.qml
@@ -0,0 +1,54 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+import People 1.0
+
+// ![0]
+BirthdayParty {
+ host: Boy {
+ name: "Bob Jones"
+ shoeSize: 12
+ }
+
+ Boy { name: "Leo Hodges" }
+ Boy { name: "Jack Smith" }
+ Girl { name: "Anne Brown" }
+}
+// ![0]
diff --git a/examples/declarative/cppextensions/referenceexamples/default/main.cpp b/examples/declarative/cppextensions/referenceexamples/default/main.cpp
new file mode 100644
index 0000000000..f3a706810c
--- /dev/null
+++ b/examples/declarative/cppextensions/referenceexamples/default/main.cpp
@@ -0,0 +1,75 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the examples of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+#include <QCoreApplication>
+#include <QDeclarativeEngine>
+#include <QDeclarativeComponent>
+#include <QDebug>
+#include "birthdayparty.h"
+#include "person.h"
+
+int main(int argc, char ** argv)
+{
+ QCoreApplication app(argc, argv);
+
+ qmlRegisterType<BirthdayParty>("People", 1,0, "BirthdayParty");
+ qmlRegisterType<Person>();
+ qmlRegisterType<Boy>("People", 1,0, "Boy");
+ qmlRegisterType<Girl>("People", 1,0, "Girl");
+
+ QDeclarativeEngine engine;
+ QDeclarativeComponent component(&engine, ":example.qml");
+ BirthdayParty *party = qobject_cast<BirthdayParty *>(component.create());
+
+ if (party && party->host()) {
+ qWarning() << party->host()->name() << "is having a birthday!";
+
+ if (qobject_cast<Boy *>(party->host()))
+ qWarning() << "He is inviting:";
+ else
+ qWarning() << "She is inviting:";
+
+ for (int ii = 0; ii < party->guestCount(); ++ii)
+ qWarning() << " " << party->guest(ii)->name();
+ } else {
+ qWarning() << "An error occured";
+ }
+
+ return 0;
+}
diff --git a/examples/declarative/cppextensions/referenceexamples/default/person.cpp b/examples/declarative/cppextensions/referenceexamples/default/person.cpp
new file mode 100644
index 0000000000..b4d92fff46
--- /dev/null
+++ b/examples/declarative/cppextensions/referenceexamples/default/person.cpp
@@ -0,0 +1,78 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the examples of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+#include "person.h"
+
+Person::Person(QObject *parent)
+: QObject(parent), m_shoeSize(0)
+{
+}
+
+QString Person::name() const
+{
+ return m_name;
+}
+
+void Person::setName(const QString &n)
+{
+ m_name = n;
+}
+
+int Person::shoeSize() const
+{
+ return m_shoeSize;
+}
+
+void Person::setShoeSize(int s)
+{
+ m_shoeSize = s;
+}
+
+
+Boy::Boy(QObject * parent)
+: Person(parent)
+{
+}
+
+
+Girl::Girl(QObject * parent)
+: Person(parent)
+{
+}
+
diff --git a/examples/declarative/cppextensions/referenceexamples/default/person.h b/examples/declarative/cppextensions/referenceexamples/default/person.h
new file mode 100644
index 0000000000..0178ebb0c4
--- /dev/null
+++ b/examples/declarative/cppextensions/referenceexamples/default/person.h
@@ -0,0 +1,77 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the examples of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+#ifndef PERSON_H
+#define PERSON_H
+
+#include <QObject>
+
+class Person : public QObject
+{
+ Q_OBJECT
+ Q_PROPERTY(QString name READ name WRITE setName)
+ Q_PROPERTY(int shoeSize READ shoeSize WRITE setShoeSize)
+public:
+ Person(QObject *parent = 0);
+
+ QString name() const;
+ void setName(const QString &);
+
+ int shoeSize() const;
+ void setShoeSize(int);
+private:
+ QString m_name;
+ int m_shoeSize;
+};
+
+class Boy : public Person
+{
+ Q_OBJECT
+public:
+ Boy(QObject * parent = 0);
+};
+
+class Girl : public Person
+{
+ Q_OBJECT
+public:
+ Girl(QObject * parent = 0);
+};
+
+#endif // PERSON_H
diff --git a/examples/declarative/cppextensions/referenceexamples/extended/example.qml b/examples/declarative/cppextensions/referenceexamples/extended/example.qml
new file mode 100644
index 0000000000..7a7670844c
--- /dev/null
+++ b/examples/declarative/cppextensions/referenceexamples/extended/example.qml
@@ -0,0 +1,47 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+import People 1.0
+
+// ![0]
+QLineEdit {
+ leftMargin: 20
+}
+// ![0]
diff --git a/examples/declarative/extending/extended/extended.pro b/examples/declarative/cppextensions/referenceexamples/extended/extended.pro
index 97af286eb4..97af286eb4 100644
--- a/examples/declarative/extending/extended/extended.pro
+++ b/examples/declarative/cppextensions/referenceexamples/extended/extended.pro
diff --git a/examples/declarative/extending/extended/extended.qrc b/examples/declarative/cppextensions/referenceexamples/extended/extended.qrc
index e2fa01d5e7..e2fa01d5e7 100644
--- a/examples/declarative/extending/extended/extended.qrc
+++ b/examples/declarative/cppextensions/referenceexamples/extended/extended.qrc
diff --git a/examples/declarative/cppextensions/referenceexamples/extended/lineedit.cpp b/examples/declarative/cppextensions/referenceexamples/extended/lineedit.cpp
new file mode 100644
index 0000000000..4df0191b8d
--- /dev/null
+++ b/examples/declarative/cppextensions/referenceexamples/extended/lineedit.cpp
@@ -0,0 +1,104 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the examples of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+#include "lineedit.h"
+#include <qdeclarative.h>
+
+LineEditExtension::LineEditExtension(QObject *object)
+: QObject(object), m_lineedit(static_cast<QLineEdit *>(object))
+{
+}
+
+int LineEditExtension::leftMargin() const
+{
+ int l, r, t, b;
+ m_lineedit->getTextMargins(&l, &t, &r, &b);
+ return l;
+}
+
+void LineEditExtension::setLeftMargin(int m)
+{
+ int l, r, t, b;
+ m_lineedit->getTextMargins(&l, &t, &r, &b);
+ m_lineedit->setTextMargins(m, t, r, b);
+}
+
+int LineEditExtension::rightMargin() const
+{
+ int l, r, t, b;
+ m_lineedit->getTextMargins(&l, &t, &r, &b);
+ return r;
+}
+
+void LineEditExtension::setRightMargin(int m)
+{
+ int l, r, t, b;
+ m_lineedit->getTextMargins(&l, &t, &r, &b);
+ m_lineedit->setTextMargins(l, t, m, b);
+}
+
+int LineEditExtension::topMargin() const
+{
+ int l, r, t, b;
+ m_lineedit->getTextMargins(&l, &t, &r, &b);
+ return t;
+}
+
+void LineEditExtension::setTopMargin(int m)
+{
+ int l, r, t, b;
+ m_lineedit->getTextMargins(&l, &t, &r, &b);
+ m_lineedit->setTextMargins(l, m, r, b);
+}
+
+int LineEditExtension::bottomMargin() const
+{
+ int l, r, t, b;
+ m_lineedit->getTextMargins(&l, &t, &r, &b);
+ return b;
+}
+
+void LineEditExtension::setBottomMargin(int m)
+{
+ int l, r, t, b;
+ m_lineedit->getTextMargins(&l, &t, &r, &b);
+ m_lineedit->setTextMargins(l, t, r, m);
+}
+
+
diff --git a/examples/declarative/cppextensions/referenceexamples/extended/lineedit.h b/examples/declarative/cppextensions/referenceexamples/extended/lineedit.h
new file mode 100644
index 0000000000..8c22302b23
--- /dev/null
+++ b/examples/declarative/cppextensions/referenceexamples/extended/lineedit.h
@@ -0,0 +1,73 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the examples of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+#ifndef LINEEDIT_H
+#define LINEEDIT_H
+
+#include <QLineEdit>
+
+class LineEditExtension : public QObject
+{
+ Q_OBJECT
+ Q_PROPERTY(int leftMargin READ leftMargin WRITE setLeftMargin NOTIFY marginsChanged)
+ Q_PROPERTY(int rightMargin READ rightMargin WRITE setRightMargin NOTIFY marginsChanged)
+ Q_PROPERTY(int topMargin READ topMargin WRITE setTopMargin NOTIFY marginsChanged)
+ Q_PROPERTY(int bottomMargin READ bottomMargin WRITE setBottomMargin NOTIFY marginsChanged)
+public:
+ LineEditExtension(QObject *);
+
+ int leftMargin() const;
+ void setLeftMargin(int);
+
+ int rightMargin() const;
+ void setRightMargin(int);
+
+ int topMargin() const;
+ void setTopMargin(int);
+
+ int bottomMargin() const;
+ void setBottomMargin(int);
+signals:
+ void marginsChanged();
+
+private:
+ QLineEdit *m_lineedit;
+};
+
+#endif // LINEEDIT_H
diff --git a/examples/declarative/cppextensions/referenceexamples/extended/main.cpp b/examples/declarative/cppextensions/referenceexamples/extended/main.cpp
new file mode 100644
index 0000000000..fb7ce1a2a4
--- /dev/null
+++ b/examples/declarative/cppextensions/referenceexamples/extended/main.cpp
@@ -0,0 +1,64 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the examples of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+#include <QApplication>
+#include <QDeclarativeEngine>
+#include <QDeclarativeComponent>
+#include <QDebug>
+#include <QLineEdit>
+#include "lineedit.h"
+
+int main(int argc, char ** argv)
+{
+ QApplication app(argc, argv);
+
+ qmlRegisterExtendedType<QLineEdit, LineEditExtension>("People", 1,0, "QLineEdit");
+
+ QDeclarativeEngine engine;
+ QDeclarativeComponent component(&engine, ":example.qml");
+ QLineEdit *edit = qobject_cast<QLineEdit *>(component.create());
+
+ if (edit) {
+ edit->show();
+ return app.exec();
+ } else {
+ qWarning() << "An error occured";
+ return 0;
+ }
+}
diff --git a/examples/declarative/cppextensions/referenceexamples/grouped/birthdayparty.cpp b/examples/declarative/cppextensions/referenceexamples/grouped/birthdayparty.cpp
new file mode 100644
index 0000000000..f80fe20d28
--- /dev/null
+++ b/examples/declarative/cppextensions/referenceexamples/grouped/birthdayparty.cpp
@@ -0,0 +1,71 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the examples of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+#include "birthdayparty.h"
+
+BirthdayParty::BirthdayParty(QObject *parent)
+: QObject(parent), m_host(0)
+{
+}
+
+Person *BirthdayParty::host() const
+{
+ return m_host;
+}
+
+void BirthdayParty::setHost(Person *c)
+{
+ m_host = c;
+}
+
+QDeclarativeListProperty<Person> BirthdayParty::guests()
+{
+ return QDeclarativeListProperty<Person>(this, m_guests);
+}
+
+int BirthdayParty::guestCount() const
+{
+ return m_guests.count();
+}
+
+Person *BirthdayParty::guest(int index) const
+{
+ return m_guests.at(index);
+}
+
diff --git a/examples/declarative/cppextensions/referenceexamples/grouped/birthdayparty.h b/examples/declarative/cppextensions/referenceexamples/grouped/birthdayparty.h
new file mode 100644
index 0000000000..83a6bb11a5
--- /dev/null
+++ b/examples/declarative/cppextensions/referenceexamples/grouped/birthdayparty.h
@@ -0,0 +1,69 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the examples of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+#ifndef BIRTHDAYPARTY_H
+#define BIRTHDAYPARTY_H
+
+#include <QObject>
+#include <QDeclarativeListProperty>
+#include "person.h"
+
+class BirthdayParty : public QObject
+{
+ Q_OBJECT
+ Q_PROPERTY(Person *host READ host WRITE setHost)
+ Q_PROPERTY(QDeclarativeListProperty<Person> guests READ guests)
+ Q_CLASSINFO("DefaultProperty", "guests")
+public:
+ BirthdayParty(QObject *parent = 0);
+
+ Person *host() const;
+ void setHost(Person *);
+
+ QDeclarativeListProperty<Person> guests();
+ int guestCount() const;
+ Person *guest(int) const;
+
+private:
+ Person *m_host;
+ QList<Person *> m_guests;
+};
+
+
+#endif // BIRTHDAYPARTY_H
diff --git a/examples/declarative/cppextensions/referenceexamples/grouped/example.qml b/examples/declarative/cppextensions/referenceexamples/grouped/example.qml
new file mode 100644
index 0000000000..8cd8f5d147
--- /dev/null
+++ b/examples/declarative/cppextensions/referenceexamples/grouped/example.qml
@@ -0,0 +1,73 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+import People 1.0
+
+// ![0]
+BirthdayParty {
+ host: Boy {
+ name: "Bob Jones"
+ shoe { size: 12; color: "white"; brand: "Nike"; price: 90.0 }
+ }
+
+ Boy {
+ name: "Leo Hodges"
+ shoe { size: 10; color: "black"; brand: "Reebok"; price: 59.95 }
+ }
+ // ![1]
+ Boy {
+ name: "Jack Smith"
+ shoe {
+ size: 8
+ color: "blue"
+ brand: "Puma"
+ price: 19.95
+ }
+ }
+ // ![1]
+ Girl {
+ name: "Anne Brown"
+ shoe.size: 7
+ shoe.color: "red"
+ shoe.brand: "Marc Jacobs"
+ shoe.price: 699.99
+ }
+}
+// ![0]
diff --git a/examples/declarative/extending/grouped/grouped.pro b/examples/declarative/cppextensions/referenceexamples/grouped/grouped.pro
index 576e1d202c..576e1d202c 100644
--- a/examples/declarative/extending/grouped/grouped.pro
+++ b/examples/declarative/cppextensions/referenceexamples/grouped/grouped.pro
diff --git a/examples/declarative/extending/grouped/grouped.qrc b/examples/declarative/cppextensions/referenceexamples/grouped/grouped.qrc
index e2fa01d5e7..e2fa01d5e7 100644
--- a/examples/declarative/extending/grouped/grouped.qrc
+++ b/examples/declarative/cppextensions/referenceexamples/grouped/grouped.qrc
diff --git a/examples/declarative/cppextensions/referenceexamples/grouped/main.cpp b/examples/declarative/cppextensions/referenceexamples/grouped/main.cpp
new file mode 100644
index 0000000000..f2e0f556f0
--- /dev/null
+++ b/examples/declarative/cppextensions/referenceexamples/grouped/main.cpp
@@ -0,0 +1,85 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the examples of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+#include <QCoreApplication>
+#include <QDeclarativeEngine>
+#include <QDeclarativeComponent>
+#include <QDebug>
+#include "birthdayparty.h"
+#include "person.h"
+
+int main(int argc, char ** argv)
+{
+ QCoreApplication app(argc, argv);
+
+ qmlRegisterType<BirthdayParty>("People", 1,0, "BirthdayParty");
+ qmlRegisterType<ShoeDescription>();
+ qmlRegisterType<Person>();
+ qmlRegisterType<Boy>("People", 1,0, "Boy");
+ qmlRegisterType<Girl>("People", 1,0, "Girl");
+
+ QDeclarativeEngine engine;
+ QDeclarativeComponent component(&engine, ":example.qml");
+ BirthdayParty *party = qobject_cast<BirthdayParty *>(component.create());
+
+ if (party && party->host()) {
+ qWarning() << party->host()->name() << "is having a birthday!";
+
+ if (qobject_cast<Boy *>(party->host()))
+ qWarning() << "He is inviting:";
+ else
+ qWarning() << "She is inviting:";
+
+ Person *bestShoe = 0;
+ for (int ii = 0; ii < party->guestCount(); ++ii) {
+ Person *guest = party->guest(ii);
+ qWarning() << " " << guest->name();
+
+ if (!bestShoe || bestShoe->shoe()->price() < guest->shoe()->price())
+ bestShoe = guest;
+ }
+ if (bestShoe)
+ qWarning() << bestShoe->name() << "is wearing the best shoes!";
+
+ } else {
+ qWarning() << "An error occured";
+ }
+
+ return 0;
+}
diff --git a/examples/declarative/cppextensions/referenceexamples/grouped/person.cpp b/examples/declarative/cppextensions/referenceexamples/grouped/person.cpp
new file mode 100644
index 0000000000..27d5e640a4
--- /dev/null
+++ b/examples/declarative/cppextensions/referenceexamples/grouped/person.cpp
@@ -0,0 +1,118 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the examples of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+#include "person.h"
+
+ShoeDescription::ShoeDescription(QObject *parent)
+: QObject(parent), m_size(0), m_price(0)
+{
+}
+
+int ShoeDescription::size() const
+{
+ return m_size;
+}
+
+void ShoeDescription::setSize(int s)
+{
+ m_size = s;
+}
+
+QColor ShoeDescription::color() const
+{
+ return m_color;
+}
+
+void ShoeDescription::setColor(const QColor &c)
+{
+ m_color = c;
+}
+
+QString ShoeDescription::brand() const
+{
+ return m_brand;
+}
+
+void ShoeDescription::setBrand(const QString &b)
+{
+ m_brand = b;
+}
+
+qreal ShoeDescription::price() const
+{
+ return m_price;
+}
+
+void ShoeDescription::setPrice(qreal p)
+{
+ m_price = p;
+}
+
+Person::Person(QObject *parent)
+: QObject(parent)
+{
+}
+
+QString Person::name() const
+{
+ return m_name;
+}
+
+void Person::setName(const QString &n)
+{
+ m_name = n;
+}
+
+ShoeDescription *Person::shoe()
+{
+ return &m_shoe;
+}
+
+
+Boy::Boy(QObject * parent)
+: Person(parent)
+{
+}
+
+
+Girl::Girl(QObject * parent)
+: Person(parent)
+{
+}
+
diff --git a/examples/declarative/cppextensions/referenceexamples/grouped/person.h b/examples/declarative/cppextensions/referenceexamples/grouped/person.h
new file mode 100644
index 0000000000..fef9fdda93
--- /dev/null
+++ b/examples/declarative/cppextensions/referenceexamples/grouped/person.h
@@ -0,0 +1,107 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the examples of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+#ifndef PERSON_H
+#define PERSON_H
+
+#include <QObject>
+#include <QColor>
+
+class ShoeDescription : public QObject
+{
+ Q_OBJECT
+ Q_PROPERTY(int size READ size WRITE setSize)
+ Q_PROPERTY(QColor color READ color WRITE setColor)
+ Q_PROPERTY(QString brand READ brand WRITE setBrand)
+ Q_PROPERTY(qreal price READ price WRITE setPrice)
+public:
+ ShoeDescription(QObject *parent = 0);
+
+ int size() const;
+ void setSize(int);
+
+ QColor color() const;
+ void setColor(const QColor &);
+
+ QString brand() const;
+ void setBrand(const QString &);
+
+ qreal price() const;
+ void setPrice(qreal);
+private:
+ int m_size;
+ QColor m_color;
+ QString m_brand;
+ qreal m_price;
+};
+
+class Person : public QObject
+{
+ Q_OBJECT
+ Q_PROPERTY(QString name READ name WRITE setName)
+// ![1]
+ Q_PROPERTY(ShoeDescription *shoe READ shoe)
+// ![1]
+public:
+ Person(QObject *parent = 0);
+
+ QString name() const;
+ void setName(const QString &);
+
+ ShoeDescription *shoe();
+private:
+ QString m_name;
+ ShoeDescription m_shoe;
+};
+
+class Boy : public Person
+{
+ Q_OBJECT
+public:
+ Boy(QObject * parent = 0);
+};
+
+class Girl : public Person
+{
+ Q_OBJECT
+public:
+ Girl(QObject * parent = 0);
+};
+
+#endif // PERSON_H
diff --git a/examples/declarative/cppextensions/referenceexamples/properties/birthdayparty.cpp b/examples/declarative/cppextensions/referenceexamples/properties/birthdayparty.cpp
new file mode 100644
index 0000000000..0b42656dce
--- /dev/null
+++ b/examples/declarative/cppextensions/referenceexamples/properties/birthdayparty.cpp
@@ -0,0 +1,73 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the examples of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+#include "birthdayparty.h"
+
+BirthdayParty::BirthdayParty(QObject *parent)
+: QObject(parent), m_host(0)
+{
+}
+
+// ![0]
+Person *BirthdayParty::host() const
+{
+ return m_host;
+}
+
+void BirthdayParty::setHost(Person *c)
+{
+ m_host = c;
+}
+
+QDeclarativeListProperty<Person> BirthdayParty::guests()
+{
+ return QDeclarativeListProperty<Person>(this, m_guests);
+}
+
+int BirthdayParty::guestCount() const
+{
+ return m_guests.count();
+}
+
+Person *BirthdayParty::guest(int index) const
+{
+ return m_guests.at(index);
+}
+// ![0]
+
diff --git a/examples/declarative/cppextensions/referenceexamples/properties/birthdayparty.h b/examples/declarative/cppextensions/referenceexamples/properties/birthdayparty.h
new file mode 100644
index 0000000000..20a596b10e
--- /dev/null
+++ b/examples/declarative/cppextensions/referenceexamples/properties/birthdayparty.h
@@ -0,0 +1,75 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the examples of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+#ifndef BIRTHDAYPARTY_H
+#define BIRTHDAYPARTY_H
+
+#include <QObject>
+#include <QDeclarativeListProperty>
+#include "person.h"
+
+// ![0]
+class BirthdayParty : public QObject
+{
+ Q_OBJECT
+// ![0]
+// ![1]
+ Q_PROPERTY(Person *host READ host WRITE setHost)
+// ![1]
+// ![2]
+ Q_PROPERTY(QDeclarativeListProperty<Person> guests READ guests)
+// ![2]
+// ![3]
+public:
+ BirthdayParty(QObject *parent = 0);
+
+ Person *host() const;
+ void setHost(Person *);
+
+ QDeclarativeListProperty<Person> guests();
+ int guestCount() const;
+ Person *guest(int) const;
+
+private:
+ Person *m_host;
+ QList<Person *> m_guests;
+};
+// ![3]
+
+#endif // BIRTHDAYPARTY_H
diff --git a/examples/declarative/cppextensions/referenceexamples/properties/example.qml b/examples/declarative/cppextensions/referenceexamples/properties/example.qml
new file mode 100644
index 0000000000..1468a4fa10
--- /dev/null
+++ b/examples/declarative/cppextensions/referenceexamples/properties/example.qml
@@ -0,0 +1,55 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+import People 1.0
+
+// ![0]
+BirthdayParty {
+ host: Person {
+ name: "Bob Jones"
+ shoeSize: 12
+ }
+ guests: [
+ Person { name: "Leo Hodges" },
+ Person { name: "Jack Smith" },
+ Person { name: "Anne Brown" }
+ ]
+}
+// ![0]
diff --git a/examples/declarative/cppextensions/referenceexamples/properties/main.cpp b/examples/declarative/cppextensions/referenceexamples/properties/main.cpp
new file mode 100644
index 0000000000..b5dafe211b
--- /dev/null
+++ b/examples/declarative/cppextensions/referenceexamples/properties/main.cpp
@@ -0,0 +1,68 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the examples of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+#include <QCoreApplication>
+#include <QDeclarativeEngine>
+#include <QDeclarativeComponent>
+#include <QDebug>
+#include "birthdayparty.h"
+#include "person.h"
+
+int main(int argc, char ** argv)
+{
+ QCoreApplication app(argc, argv);
+
+ qmlRegisterType<BirthdayParty>("People", 1,0, "BirthdayParty");
+ qmlRegisterType<Person>("People", 1,0, "Person");
+
+ QDeclarativeEngine engine;
+ QDeclarativeComponent component(&engine, ":example.qml");
+ BirthdayParty *party = qobject_cast<BirthdayParty *>(component.create());
+
+ if (party && party->host()) {
+ qWarning() << party->host()->name() << "is having a birthday!";
+ qWarning() << "They are inviting:";
+ for (int ii = 0; ii < party->guestCount(); ++ii)
+ qWarning() << " " << party->guest(ii)->name();
+ } else {
+ qWarning() << "An error occured";
+ }
+
+ return 0;
+}
diff --git a/examples/declarative/cppextensions/referenceexamples/properties/person.cpp b/examples/declarative/cppextensions/referenceexamples/properties/person.cpp
new file mode 100644
index 0000000000..beffe78cf6
--- /dev/null
+++ b/examples/declarative/cppextensions/referenceexamples/properties/person.cpp
@@ -0,0 +1,66 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the examples of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+#include "person.h"
+
+Person::Person(QObject *parent)
+: QObject(parent), m_shoeSize(0)
+{
+}
+
+QString Person::name() const
+{
+ return m_name;
+}
+
+void Person::setName(const QString &n)
+{
+ m_name = n;
+}
+
+int Person::shoeSize() const
+{
+ return m_shoeSize;
+}
+
+void Person::setShoeSize(int s)
+{
+ m_shoeSize = s;
+}
+
diff --git a/examples/declarative/cppextensions/referenceexamples/properties/person.h b/examples/declarative/cppextensions/referenceexamples/properties/person.h
new file mode 100644
index 0000000000..8c950da184
--- /dev/null
+++ b/examples/declarative/cppextensions/referenceexamples/properties/person.h
@@ -0,0 +1,63 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the examples of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+#ifndef PERSON_H
+#define PERSON_H
+
+#include <QObject>
+
+class Person : public QObject
+{
+ Q_OBJECT
+ Q_PROPERTY(QString name READ name WRITE setName)
+ Q_PROPERTY(int shoeSize READ shoeSize WRITE setShoeSize)
+public:
+ Person(QObject *parent = 0);
+
+ QString name() const;
+ void setName(const QString &);
+
+ int shoeSize() const;
+ void setShoeSize(int);
+private:
+ QString m_name;
+ int m_shoeSize;
+};
+
+#endif // PERSON_H
diff --git a/examples/declarative/extending/properties/properties.pro b/examples/declarative/cppextensions/referenceexamples/properties/properties.pro
index a8f430150d..a8f430150d 100644
--- a/examples/declarative/extending/properties/properties.pro
+++ b/examples/declarative/cppextensions/referenceexamples/properties/properties.pro
diff --git a/examples/declarative/extending/properties/properties.qrc b/examples/declarative/cppextensions/referenceexamples/properties/properties.qrc
index e2fa01d5e7..e2fa01d5e7 100644
--- a/examples/declarative/extending/properties/properties.qrc
+++ b/examples/declarative/cppextensions/referenceexamples/properties/properties.qrc
diff --git a/examples/declarative/extending/extending.pro b/examples/declarative/cppextensions/referenceexamples/referenceexamples.pro
index 169c7abde2..169c7abde2 100644
--- a/examples/declarative/extending/extending.pro
+++ b/examples/declarative/cppextensions/referenceexamples/referenceexamples.pro
diff --git a/examples/declarative/flipable/flipable.qmlproject b/examples/declarative/cppextensions/referenceexamples/referenceexamples.qmlproject
index d4909f8685..d4909f8685 100644
--- a/examples/declarative/flipable/flipable.qmlproject
+++ b/examples/declarative/cppextensions/referenceexamples/referenceexamples.qmlproject
diff --git a/examples/declarative/cppextensions/referenceexamples/signal/birthdayparty.cpp b/examples/declarative/cppextensions/referenceexamples/signal/birthdayparty.cpp
new file mode 100644
index 0000000000..391e5ae378
--- /dev/null
+++ b/examples/declarative/cppextensions/referenceexamples/signal/birthdayparty.cpp
@@ -0,0 +1,98 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the examples of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+#include "birthdayparty.h"
+
+BirthdayPartyAttached::BirthdayPartyAttached(QObject *object)
+: QObject(object)
+{
+}
+
+QDate BirthdayPartyAttached::rsvp() const
+{
+ return m_rsvp;
+}
+
+void BirthdayPartyAttached::setRsvp(const QDate &d)
+{
+ m_rsvp = d;
+}
+
+
+BirthdayParty::BirthdayParty(QObject *parent)
+: QObject(parent), m_host(0)
+{
+}
+
+Person *BirthdayParty::host() const
+{
+ return m_host;
+}
+
+void BirthdayParty::setHost(Person *c)
+{
+ m_host = c;
+}
+
+QDeclarativeListProperty<Person> BirthdayParty::guests()
+{
+ return QDeclarativeListProperty<Person>(this, m_guests);
+}
+
+int BirthdayParty::guestCount() const
+{
+ return m_guests.count();
+}
+
+Person *BirthdayParty::guest(int index) const
+{
+ return m_guests.at(index);
+}
+
+void BirthdayParty::startParty()
+{
+ QTime time = QTime::currentTime();
+ emit partyStarted(time);
+}
+
+BirthdayPartyAttached *BirthdayParty::qmlAttachedProperties(QObject *object)
+{
+ return new BirthdayPartyAttached(object);
+}
+
diff --git a/examples/declarative/cppextensions/referenceexamples/signal/birthdayparty.h b/examples/declarative/cppextensions/referenceexamples/signal/birthdayparty.h
new file mode 100644
index 0000000000..6042d02b72
--- /dev/null
+++ b/examples/declarative/cppextensions/referenceexamples/signal/birthdayparty.h
@@ -0,0 +1,92 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the examples of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+#ifndef BIRTHDAYPARTY_H
+#define BIRTHDAYPARTY_H
+
+#include <QObject>
+#include <QDate>
+#include <qdeclarative.h>
+#include "person.h"
+
+class BirthdayPartyAttached : public QObject
+{
+ Q_OBJECT
+ Q_PROPERTY(QDate rsvp READ rsvp WRITE setRsvp)
+public:
+ BirthdayPartyAttached(QObject *object);
+
+ QDate rsvp() const;
+ void setRsvp(const QDate &);
+
+private:
+ QDate m_rsvp;
+};
+
+class BirthdayParty : public QObject
+{
+ Q_OBJECT
+ Q_PROPERTY(Person *host READ host WRITE setHost)
+ Q_PROPERTY(QDeclarativeListProperty<Person> guests READ guests)
+ Q_CLASSINFO("DefaultProperty", "guests")
+public:
+ BirthdayParty(QObject *parent = 0);
+
+ Person *host() const;
+ void setHost(Person *);
+
+ QDeclarativeListProperty<Person> guests();
+ int guestCount() const;
+ Person *guest(int) const;
+
+ static BirthdayPartyAttached *qmlAttachedProperties(QObject *);
+
+ void startParty();
+// ![0]
+signals:
+ void partyStarted(const QTime &time);
+// ![0]
+
+private:
+ Person *m_host;
+ QList<Person *> m_guests;
+};
+QML_DECLARE_TYPEINFO(BirthdayParty, QML_HAS_ATTACHED_PROPERTIES)
+
+#endif // BIRTHDAYPARTY_H
diff --git a/examples/declarative/cppextensions/referenceexamples/signal/example.qml b/examples/declarative/cppextensions/referenceexamples/signal/example.qml
new file mode 100644
index 0000000000..f4c6439304
--- /dev/null
+++ b/examples/declarative/cppextensions/referenceexamples/signal/example.qml
@@ -0,0 +1,72 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+import People 1.0
+
+// ![0]
+BirthdayParty {
+ onPartyStarted: console.log("This party started rockin' at " + time);
+// ![0]
+
+ host: Boy {
+ name: "Bob Jones"
+ shoe { size: 12; color: "white"; brand: "Nike"; price: 90.0 }
+ }
+
+ Boy {
+ name: "Leo Hodges"
+ BirthdayParty.rsvp: "2009-07-06"
+ shoe { size: 10; color: "black"; brand: "Reebok"; price: 59.95 }
+ }
+ Boy {
+ name: "Jack Smith"
+ shoe { size: 8; color: "blue"; brand: "Puma"; price: 19.95 }
+ }
+ Girl {
+ name: "Anne Brown"
+ BirthdayParty.rsvp: "2009-07-01"
+ shoe.size: 7
+ shoe.color: "red"
+ shoe.brand: "Marc Jacobs"
+ shoe.price: 699.99
+ }
+// ![1]
+}
+// ![1]
diff --git a/examples/declarative/cppextensions/referenceexamples/signal/main.cpp b/examples/declarative/cppextensions/referenceexamples/signal/main.cpp
new file mode 100644
index 0000000000..6add975518
--- /dev/null
+++ b/examples/declarative/cppextensions/referenceexamples/signal/main.cpp
@@ -0,0 +1,91 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the examples of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+#include <QCoreApplication>
+#include <QDeclarativeEngine>
+#include <QDeclarativeComponent>
+#include <QDebug>
+#include "birthdayparty.h"
+#include "person.h"
+
+int main(int argc, char ** argv)
+{
+ QCoreApplication app(argc, argv);
+
+ qmlRegisterType<BirthdayPartyAttached>();
+ qmlRegisterType<BirthdayParty>("People", 1,0, "BirthdayParty");
+ qmlRegisterType<ShoeDescription>();
+ qmlRegisterType<Person>();
+ qmlRegisterType<Boy>("People", 1,0, "Boy");
+ qmlRegisterType<Girl>("People", 1,0, "Girl");
+
+ QDeclarativeEngine engine;
+ QDeclarativeComponent component(&engine, ":example.qml");
+ BirthdayParty *party = qobject_cast<BirthdayParty *>(component.create());
+
+ if (party && party->host()) {
+ qWarning() << party->host()->name() << "is having a birthday!";
+
+ if (qobject_cast<Boy *>(party->host()))
+ qWarning() << "He is inviting:";
+ else
+ qWarning() << "She is inviting:";
+
+ for (int ii = 0; ii < party->guestCount(); ++ii) {
+ Person *guest = party->guest(ii);
+
+ QDate rsvpDate;
+ QObject *attached =
+ qmlAttachedPropertiesObject<BirthdayParty>(guest, false);
+ if (attached)
+ rsvpDate = attached->property("rsvp").toDate();
+
+ if (rsvpDate.isNull())
+ qWarning() << " " << guest->name() << "RSVP date: Hasn't RSVP'd";
+ else
+ qWarning() << " " << guest->name() << "RSVP date:" << qPrintable(rsvpDate.toString());
+ }
+
+ party->startParty();
+ } else {
+ qWarning() << "An error occured";
+ }
+
+ return 0;
+}
diff --git a/examples/declarative/cppextensions/referenceexamples/signal/person.cpp b/examples/declarative/cppextensions/referenceexamples/signal/person.cpp
new file mode 100644
index 0000000000..27d5e640a4
--- /dev/null
+++ b/examples/declarative/cppextensions/referenceexamples/signal/person.cpp
@@ -0,0 +1,118 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the examples of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+#include "person.h"
+
+ShoeDescription::ShoeDescription(QObject *parent)
+: QObject(parent), m_size(0), m_price(0)
+{
+}
+
+int ShoeDescription::size() const
+{
+ return m_size;
+}
+
+void ShoeDescription::setSize(int s)
+{
+ m_size = s;
+}
+
+QColor ShoeDescription::color() const
+{
+ return m_color;
+}
+
+void ShoeDescription::setColor(const QColor &c)
+{
+ m_color = c;
+}
+
+QString ShoeDescription::brand() const
+{
+ return m_brand;
+}
+
+void ShoeDescription::setBrand(const QString &b)
+{
+ m_brand = b;
+}
+
+qreal ShoeDescription::price() const
+{
+ return m_price;
+}
+
+void ShoeDescription::setPrice(qreal p)
+{
+ m_price = p;
+}
+
+Person::Person(QObject *parent)
+: QObject(parent)
+{
+}
+
+QString Person::name() const
+{
+ return m_name;
+}
+
+void Person::setName(const QString &n)
+{
+ m_name = n;
+}
+
+ShoeDescription *Person::shoe()
+{
+ return &m_shoe;
+}
+
+
+Boy::Boy(QObject * parent)
+: Person(parent)
+{
+}
+
+
+Girl::Girl(QObject * parent)
+: Person(parent)
+{
+}
+
diff --git a/examples/declarative/cppextensions/referenceexamples/signal/person.h b/examples/declarative/cppextensions/referenceexamples/signal/person.h
new file mode 100644
index 0000000000..e8da6bb0d4
--- /dev/null
+++ b/examples/declarative/cppextensions/referenceexamples/signal/person.h
@@ -0,0 +1,105 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the examples of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+#ifndef PERSON_H
+#define PERSON_H
+
+#include <QObject>
+#include <QColor>
+
+class ShoeDescription : public QObject
+{
+ Q_OBJECT
+ Q_PROPERTY(int size READ size WRITE setSize)
+ Q_PROPERTY(QColor color READ color WRITE setColor)
+ Q_PROPERTY(QString brand READ brand WRITE setBrand)
+ Q_PROPERTY(qreal price READ price WRITE setPrice)
+public:
+ ShoeDescription(QObject *parent = 0);
+
+ int size() const;
+ void setSize(int);
+
+ QColor color() const;
+ void setColor(const QColor &);
+
+ QString brand() const;
+ void setBrand(const QString &);
+
+ qreal price() const;
+ void setPrice(qreal);
+private:
+ int m_size;
+ QColor m_color;
+ QString m_brand;
+ qreal m_price;
+};
+
+class Person : public QObject
+{
+ Q_OBJECT
+ Q_PROPERTY(QString name READ name WRITE setName)
+ Q_PROPERTY(ShoeDescription *shoe READ shoe)
+public:
+ Person(QObject *parent = 0);
+
+ QString name() const;
+ void setName(const QString &);
+
+ ShoeDescription *shoe();
+private:
+ QString m_name;
+ ShoeDescription m_shoe;
+};
+
+class Boy : public Person
+{
+ Q_OBJECT
+public:
+ Boy(QObject * parent = 0);
+};
+
+class Girl : public Person
+{
+ Q_OBJECT
+public:
+ Girl(QObject * parent = 0);
+};
+
+#endif // PERSON_H
diff --git a/examples/declarative/extending/signal/signal.pro b/examples/declarative/cppextensions/referenceexamples/signal/signal.pro
index 6367a38536..6367a38536 100644
--- a/examples/declarative/extending/signal/signal.pro
+++ b/examples/declarative/cppextensions/referenceexamples/signal/signal.pro
diff --git a/examples/declarative/extending/signal/signal.qrc b/examples/declarative/cppextensions/referenceexamples/signal/signal.qrc
index e2fa01d5e7..e2fa01d5e7 100644
--- a/examples/declarative/extending/signal/signal.qrc
+++ b/examples/declarative/cppextensions/referenceexamples/signal/signal.qrc
diff --git a/examples/declarative/cppextensions/referenceexamples/valuesource/birthdayparty.cpp b/examples/declarative/cppextensions/referenceexamples/valuesource/birthdayparty.cpp
new file mode 100644
index 0000000000..54adae0650
--- /dev/null
+++ b/examples/declarative/cppextensions/referenceexamples/valuesource/birthdayparty.cpp
@@ -0,0 +1,108 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the examples of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+#include "birthdayparty.h"
+
+BirthdayPartyAttached::BirthdayPartyAttached(QObject *object)
+: QObject(object)
+{
+}
+
+QDate BirthdayPartyAttached::rsvp() const
+{
+ return m_rsvp;
+}
+
+void BirthdayPartyAttached::setRsvp(const QDate &d)
+{
+ m_rsvp = d;
+}
+
+
+BirthdayParty::BirthdayParty(QObject *parent)
+: QObject(parent), m_host(0)
+{
+}
+
+Person *BirthdayParty::host() const
+{
+ return m_host;
+}
+
+void BirthdayParty::setHost(Person *c)
+{
+ m_host = c;
+}
+
+QDeclarativeListProperty<Person> BirthdayParty::guests()
+{
+ return QDeclarativeListProperty<Person>(this, m_guests);
+}
+
+int BirthdayParty::guestCount() const
+{
+ return m_guests.count();
+}
+
+Person *BirthdayParty::guest(int index) const
+{
+ return m_guests.at(index);
+}
+
+void BirthdayParty::startParty()
+{
+ QTime time = QTime::currentTime();
+ emit partyStarted(time);
+}
+
+QString BirthdayParty::announcement() const
+{
+ return QString();
+}
+
+void BirthdayParty::setAnnouncement(const QString &speak)
+{
+ qWarning() << qPrintable(speak);
+}
+
+BirthdayPartyAttached *BirthdayParty::qmlAttachedProperties(QObject *object)
+{
+ return new BirthdayPartyAttached(object);
+}
+
diff --git a/examples/declarative/cppextensions/referenceexamples/valuesource/birthdayparty.h b/examples/declarative/cppextensions/referenceexamples/valuesource/birthdayparty.h
new file mode 100644
index 0000000000..1a87f9e101
--- /dev/null
+++ b/examples/declarative/cppextensions/referenceexamples/valuesource/birthdayparty.h
@@ -0,0 +1,97 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the examples of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+#ifndef BIRTHDAYPARTY_H
+#define BIRTHDAYPARTY_H
+
+#include <QObject>
+#include <QDate>
+#include <QDebug>
+#include <qdeclarative.h>
+#include "person.h"
+
+class BirthdayPartyAttached : public QObject
+{
+ Q_OBJECT
+ Q_PROPERTY(QDate rsvp READ rsvp WRITE setRsvp)
+public:
+ BirthdayPartyAttached(QObject *object);
+
+ QDate rsvp() const;
+ void setRsvp(const QDate &);
+
+private:
+ QDate m_rsvp;
+};
+
+class BirthdayParty : public QObject
+{
+ Q_OBJECT
+ Q_PROPERTY(Person *host READ host WRITE setHost)
+ Q_PROPERTY(QDeclarativeListProperty<Person> guests READ guests)
+// ![0]
+ Q_PROPERTY(QString announcement READ announcement WRITE setAnnouncement)
+// ![0]
+ Q_CLASSINFO("DefaultProperty", "guests")
+public:
+ BirthdayParty(QObject *parent = 0);
+
+ Person *host() const;
+ void setHost(Person *);
+
+ QDeclarativeListProperty<Person> guests();
+ int guestCount() const;
+ Person *guest(int) const;
+
+ QString announcement() const;
+ void setAnnouncement(const QString &);
+
+ static BirthdayPartyAttached *qmlAttachedProperties(QObject *);
+
+ void startParty();
+signals:
+ void partyStarted(const QTime &time);
+
+private:
+ Person *m_host;
+ QList<Person *> m_guests;
+};
+QML_DECLARE_TYPEINFO(BirthdayParty, QML_HAS_ATTACHED_PROPERTIES)
+
+#endif // BIRTHDAYPARTY_H
diff --git a/examples/declarative/cppextensions/referenceexamples/valuesource/example.qml b/examples/declarative/cppextensions/referenceexamples/valuesource/example.qml
new file mode 100644
index 0000000000..4f9e6eb410
--- /dev/null
+++ b/examples/declarative/cppextensions/referenceexamples/valuesource/example.qml
@@ -0,0 +1,76 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+import People 1.0
+
+// ![0]
+BirthdayParty {
+ HappyBirthdaySong on announcement { name: "Bob Jones" }
+// ![0]
+
+ onPartyStarted: console.log("This party started rockin' at " + time);
+
+
+ host: Boy {
+ name: "Bob Jones"
+ shoe { size: 12; color: "white"; brand: "Nike"; price: 90.0 }
+ }
+
+ Boy {
+ name: "Leo Hodges"
+ BirthdayParty.rsvp: "2009-07-06"
+ shoe { size: 10; color: "black"; brand: "Reebok"; price: 59.95 }
+ }
+ Boy {
+ name: "Jack Smith"
+ shoe { size: 8; color: "blue"; brand: "Puma"; price: 19.95 }
+ }
+ Girl {
+ name: "Anne Brown"
+ BirthdayParty.rsvp: "2009-07-01"
+ shoe.size: 7
+ shoe.color: "red"
+ shoe.brand: "Marc Jacobs"
+ shoe.price: 699.99
+ }
+
+// ![1]
+}
+// ![1]
diff --git a/examples/declarative/cppextensions/referenceexamples/valuesource/happybirthdaysong.cpp b/examples/declarative/cppextensions/referenceexamples/valuesource/happybirthdaysong.cpp
new file mode 100644
index 0000000000..ac5ac5afba
--- /dev/null
+++ b/examples/declarative/cppextensions/referenceexamples/valuesource/happybirthdaysong.cpp
@@ -0,0 +1,80 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the examples of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+#include "happybirthdaysong.h"
+#include <QTimer>
+
+HappyBirthdaySong::HappyBirthdaySong(QObject *parent)
+: QObject(parent), m_line(-1)
+{
+ setName(QString());
+ QTimer *timer = new QTimer(this);
+ QObject::connect(timer, SIGNAL(timeout()), this, SLOT(advance()));
+ timer->start(1000);
+}
+
+void HappyBirthdaySong::setTarget(const QDeclarativeProperty &p)
+{
+ m_target = p;
+}
+
+QString HappyBirthdaySong::name() const
+{
+ return m_name;
+}
+
+void HappyBirthdaySong::setName(const QString &name)
+{
+ m_name = name;
+
+ m_lyrics.clear();
+ m_lyrics << "Happy birthday to you,";
+ m_lyrics << "Happy birthday to you,";
+ m_lyrics << "Happy birthday dear " + m_name + ",";
+ m_lyrics << "Happy birthday to you!";
+ m_lyrics << "";
+}
+
+void HappyBirthdaySong::advance()
+{
+ m_line = (m_line + 1) % m_lyrics.count();
+
+ m_target.write(m_lyrics.at(m_line));
+}
+
diff --git a/examples/declarative/cppextensions/referenceexamples/valuesource/happybirthdaysong.h b/examples/declarative/cppextensions/referenceexamples/valuesource/happybirthdaysong.h
new file mode 100644
index 0000000000..fb114ec6ea
--- /dev/null
+++ b/examples/declarative/cppextensions/referenceexamples/valuesource/happybirthdaysong.h
@@ -0,0 +1,79 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the examples of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+#ifndef HAPPYBIRTHDAYSONG_H
+#define HAPPYBIRTHDAYSONG_H
+
+#include <QDeclarativePropertyValueSource>
+#include <QDeclarativeProperty>
+#include <qdeclarative.h>
+
+#include <QStringList>
+
+// ![0]
+class HappyBirthdaySong : public QObject, public QDeclarativePropertyValueSource
+{
+ Q_OBJECT
+ Q_INTERFACES(QDeclarativePropertyValueSource)
+// ![0]
+ Q_PROPERTY(QString name READ name WRITE setName)
+// ![1]
+public:
+ HappyBirthdaySong(QObject *parent = 0);
+
+ virtual void setTarget(const QDeclarativeProperty &);
+// ![1]
+
+ QString name() const;
+ void setName(const QString &);
+
+private slots:
+ void advance();
+
+private:
+ int m_line;
+ QStringList m_lyrics;
+ QDeclarativeProperty m_target;
+ QString m_name;
+// ![2]
+};
+// ![2]
+
+#endif // HAPPYBIRTHDAYSONG_H
+
diff --git a/examples/declarative/cppextensions/referenceexamples/valuesource/main.cpp b/examples/declarative/cppextensions/referenceexamples/valuesource/main.cpp
new file mode 100644
index 0000000000..5752af7431
--- /dev/null
+++ b/examples/declarative/cppextensions/referenceexamples/valuesource/main.cpp
@@ -0,0 +1,93 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the examples of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+#include <QCoreApplication>
+#include <QDeclarativeEngine>
+#include <QDeclarativeComponent>
+#include <QDebug>
+#include "birthdayparty.h"
+#include "happybirthdaysong.h"
+#include "person.h"
+
+int main(int argc, char ** argv)
+{
+ QCoreApplication app(argc, argv);
+
+ qmlRegisterType<BirthdayPartyAttached>();
+ qmlRegisterType<BirthdayParty>("People", 1,0, "BirthdayParty");
+ qmlRegisterType<HappyBirthdaySong>("People", 1,0, "HappyBirthdaySong");
+ qmlRegisterType<ShoeDescription>();
+ qmlRegisterType<Person>();
+ qmlRegisterType<Boy>("People", 1,0, "Boy");
+ qmlRegisterType<Girl>("People", 1,0, "Girl");
+
+ QDeclarativeEngine engine;
+ QDeclarativeComponent component(&engine, ":example.qml");
+ BirthdayParty *party = qobject_cast<BirthdayParty *>(component.create());
+
+ if (party && party->host()) {
+ qWarning() << party->host()->name() << "is having a birthday!";
+
+ if (qobject_cast<Boy *>(party->host()))
+ qWarning() << "He is inviting:";
+ else
+ qWarning() << "She is inviting:";
+
+ for (int ii = 0; ii < party->guestCount(); ++ii) {
+ Person *guest = party->guest(ii);
+
+ QDate rsvpDate;
+ QObject *attached =
+ qmlAttachedPropertiesObject<BirthdayParty>(guest, false);
+ if (attached)
+ rsvpDate = attached->property("rsvp").toDate();
+
+ if (rsvpDate.isNull())
+ qWarning() << " " << guest->name() << "RSVP date: Hasn't RSVP'd";
+ else
+ qWarning() << " " << guest->name() << "RSVP date:" << qPrintable(rsvpDate.toString());
+ }
+
+ party->startParty();
+ } else {
+ qWarning() << "An error occured";
+ }
+
+ return app.exec();
+}
diff --git a/examples/declarative/cppextensions/referenceexamples/valuesource/person.cpp b/examples/declarative/cppextensions/referenceexamples/valuesource/person.cpp
new file mode 100644
index 0000000000..27d5e640a4
--- /dev/null
+++ b/examples/declarative/cppextensions/referenceexamples/valuesource/person.cpp
@@ -0,0 +1,118 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the examples of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+#include "person.h"
+
+ShoeDescription::ShoeDescription(QObject *parent)
+: QObject(parent), m_size(0), m_price(0)
+{
+}
+
+int ShoeDescription::size() const
+{
+ return m_size;
+}
+
+void ShoeDescription::setSize(int s)
+{
+ m_size = s;
+}
+
+QColor ShoeDescription::color() const
+{
+ return m_color;
+}
+
+void ShoeDescription::setColor(const QColor &c)
+{
+ m_color = c;
+}
+
+QString ShoeDescription::brand() const
+{
+ return m_brand;
+}
+
+void ShoeDescription::setBrand(const QString &b)
+{
+ m_brand = b;
+}
+
+qreal ShoeDescription::price() const
+{
+ return m_price;
+}
+
+void ShoeDescription::setPrice(qreal p)
+{
+ m_price = p;
+}
+
+Person::Person(QObject *parent)
+: QObject(parent)
+{
+}
+
+QString Person::name() const
+{
+ return m_name;
+}
+
+void Person::setName(const QString &n)
+{
+ m_name = n;
+}
+
+ShoeDescription *Person::shoe()
+{
+ return &m_shoe;
+}
+
+
+Boy::Boy(QObject * parent)
+: Person(parent)
+{
+}
+
+
+Girl::Girl(QObject * parent)
+: Person(parent)
+{
+}
+
diff --git a/examples/declarative/cppextensions/referenceexamples/valuesource/person.h b/examples/declarative/cppextensions/referenceexamples/valuesource/person.h
new file mode 100644
index 0000000000..e8da6bb0d4
--- /dev/null
+++ b/examples/declarative/cppextensions/referenceexamples/valuesource/person.h
@@ -0,0 +1,105 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the examples of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+#ifndef PERSON_H
+#define PERSON_H
+
+#include <QObject>
+#include <QColor>
+
+class ShoeDescription : public QObject
+{
+ Q_OBJECT
+ Q_PROPERTY(int size READ size WRITE setSize)
+ Q_PROPERTY(QColor color READ color WRITE setColor)
+ Q_PROPERTY(QString brand READ brand WRITE setBrand)
+ Q_PROPERTY(qreal price READ price WRITE setPrice)
+public:
+ ShoeDescription(QObject *parent = 0);
+
+ int size() const;
+ void setSize(int);
+
+ QColor color() const;
+ void setColor(const QColor &);
+
+ QString brand() const;
+ void setBrand(const QString &);
+
+ qreal price() const;
+ void setPrice(qreal);
+private:
+ int m_size;
+ QColor m_color;
+ QString m_brand;
+ qreal m_price;
+};
+
+class Person : public QObject
+{
+ Q_OBJECT
+ Q_PROPERTY(QString name READ name WRITE setName)
+ Q_PROPERTY(ShoeDescription *shoe READ shoe)
+public:
+ Person(QObject *parent = 0);
+
+ QString name() const;
+ void setName(const QString &);
+
+ ShoeDescription *shoe();
+private:
+ QString m_name;
+ ShoeDescription m_shoe;
+};
+
+class Boy : public Person
+{
+ Q_OBJECT
+public:
+ Boy(QObject * parent = 0);
+};
+
+class Girl : public Person
+{
+ Q_OBJECT
+public:
+ Girl(QObject * parent = 0);
+};
+
+#endif // PERSON_H
diff --git a/examples/declarative/extending/valuesource/valuesource.pro b/examples/declarative/cppextensions/referenceexamples/valuesource/valuesource.pro
index 0626c98f9c..0626c98f9c 100644
--- a/examples/declarative/extending/valuesource/valuesource.pro
+++ b/examples/declarative/cppextensions/referenceexamples/valuesource/valuesource.pro
diff --git a/examples/declarative/extending/valuesource/valuesource.qrc b/examples/declarative/cppextensions/referenceexamples/valuesource/valuesource.qrc
index e2fa01d5e7..e2fa01d5e7 100644
--- a/examples/declarative/extending/valuesource/valuesource.qrc
+++ b/examples/declarative/cppextensions/referenceexamples/valuesource/valuesource.qrc
diff --git a/examples/declarative/declarative.pro b/examples/declarative/declarative.pro
index e37c3d4ccd..e3d922c2cf 100644
--- a/examples/declarative/declarative.pro
+++ b/examples/declarative/declarative.pro
@@ -2,51 +2,28 @@ TEMPLATE = subdirs
# These examples contain some C++ and need to be built
SUBDIRS = \
- extending \
- imageprovider \
- objectlistmodel \
- stringlistmodel \
- plugins \
- proxywidgets
+ cppextensions \
+ modelviews \
+ tutorials
# plugins uses a 'Time' class that conflicts with symbian e32std.h also defining a class of the same name
symbian:SUBDIRS -= plugins
# These examples contain no C++ and can simply be copied
sources.files = \
- animations \
- aspectratio \
- behaviors \
- border-image \
- clocks \
- connections \
- dial \
- dynamic \
- effects \
- fillmode \
- focus \
- fonts \
- gridview \
- layouts \
- listview \
- mousearea \
- package \
- parallax \
- progressbar \
- scrollbar \
- searchbox \
- slideswitch \
- sql \
- states \
- tabwidget \
- tic-tac-toe \
- tutorials \
- tvtennis \
- velocity \
- webview \
- workerlistmodel \
- workerscript \
- xmldata \
- xmlhttprequest
+ animation \
+ cppextensions \
+ i18n \
+ imageelements \
+ keyinteraction \
+ positioners \
+ sqllocalstorage \
+ text \
+ threading \
+ touchinteraction \
+ toys \
+ ui-components \
+ xml
+
sources.path = $$[QT_INSTALL_EXAMPLES]/declarative
INSTALLS += sources
diff --git a/examples/declarative/dial/content/Dial.qml b/examples/declarative/dial/content/Dial.qml
deleted file mode 100644
index f9ab3e3fc0..0000000000
--- a/examples/declarative/dial/content/Dial.qml
+++ /dev/null
@@ -1,37 +0,0 @@
-import Qt 4.7
-
-Item {
- id: root
- property real value : 0
-
- width: 210; height: 210
-
- Image { source: "background.png" }
-
- Image {
- x: 93
- y: 35
- source: "needle_shadow.png"
- transform: Rotation {
- origin.x: 11; origin.y: 67
- angle: needleRotation.angle
- }
- }
- Image {
- id: needle
- x: 95; y: 33
- smooth: true
- source: "needle.png"
- transform: Rotation {
- id: needleRotation
- origin.x: 7; origin.y: 65
- angle: -130
- SpringFollow on angle {
- spring: 1.4
- damping: .15
- to: Math.min(Math.max(-130, root.value*2.6 - 130), 133)
- }
- }
- }
- Image { x: 21; y: 18; source: "overlay.png" }
-}
diff --git a/examples/declarative/dial/dial-example.qml b/examples/declarative/dial/dial-example.qml
deleted file mode 100644
index fd899a5cb2..0000000000
--- a/examples/declarative/dial/dial-example.qml
+++ /dev/null
@@ -1,44 +0,0 @@
-import Qt 4.7
-import "content"
-
-Rectangle {
- color: "#545454"
- width: 300; height: 300
-
- // Dial with a slider to adjust it
- Dial {
- id: dial
- anchors.centerIn: parent
- value: slider.x * 100 / (container.width - 34)
- }
-
- Rectangle {
- id: container
- anchors { bottom: parent.bottom; left: parent.left; right: parent.right; leftMargin: 20; rightMargin: 20; bottomMargin: 10 }
- height: 16
-
- radius: 8
- opacity: 0.7
- smooth: true
- gradient: Gradient {
- GradientStop { position: 0.0; color: "gray" }
- GradientStop { position: 1.0; color: "white" }
- }
-
- Rectangle {
- id: slider
- x: 1; y: 1; width: 30; height: 14
- radius: 6
- smooth: true
- gradient: Gradient {
- GradientStop { position: 0.0; color: "#424242" }
- GradientStop { position: 1.0; color: "black" }
- }
-
- MouseArea {
- anchors.fill: parent
- drag.target: parent; drag.axis: "XAxis"; drag.minimumX: 2; drag.maximumX: container.width - 32
- }
- }
- }
-}
diff --git a/examples/declarative/dynamic/dynamic.qml b/examples/declarative/dynamic/dynamic.qml
deleted file mode 100644
index 0e6e197aac..0000000000
--- a/examples/declarative/dynamic/dynamic.qml
+++ /dev/null
@@ -1,157 +0,0 @@
-import Qt 4.7
-import Qt.labs.particles 1.0
-import "qml"
-
-Item {
- id: window
- //This is a desktop-sized example
- width: 1024; height: 512
- property int activeSuns: 0
-
- //This is the message that pops up when there's an error
- Rectangle{
- id: dialog
- opacity: 0
- anchors.centerIn: parent
- width: dialogText.width + 6
- height: dialogText.height + 6
- border.color: 'black'
- color: 'lightsteelblue'
- z: 65535 //Arbitrary number chosen to be above all the items, including the scaled perspective ones.
- function show(str){
- dialogText.text = str;
- dialogAnim.start();
- }
- Text{
- id: dialogText
- x:3
- y:3
- font.pixelSize: 14
- }
- SequentialAnimation{
- id: dialogAnim
- NumberAnimation{target: dialog; property:"opacity"; to: 1; duration: 1000}
- PauseAnimation{duration: 5000}
- NumberAnimation{target: dialog; property:"opacity"; to: 0; duration: 1000}
- }
- }
-
- // sky
- Rectangle { id: sky
- anchors { left: parent.left; top: parent.top; right: toolbox.right; bottom: parent.verticalCenter }
- gradient: Gradient {
- GradientStop { id: stopA; position: 0.0; color: "#0E1533" }
- GradientStop { id: stopB; position: 1.0; color: "#437284" }
- }
- }
-
- // stars (when there's no sun)
- Particles {
- id: stars
- x: 0; y: 0; width: parent.width; height: parent.height / 2
- source: "images/star.png"; angleDeviation: 360; velocity: 0
- velocityDeviation: 0; count: parent.width / 10; fadeInDuration: 2800
- opacity: 1
- }
-
- // ground, which has a z such that the sun can set behind it
- Rectangle {
- id: ground
- z: 2
- anchors { left: parent.left; top: parent.verticalCenter; right: toolbox.right; bottom: parent.bottom }
- gradient: Gradient {
- GradientStop { position: 0.0; color: "ForestGreen" }
- GradientStop { position: 1.0; color: "DarkGreen" }
- }
- }
-
- //Day state, for when you place a sun
- states: State {
- name: "Day"; when: window.activeSuns > 0
- PropertyChanges { target: stopA; color: "DeepSkyBlue"}
- PropertyChanges { target: stopB; color: "SkyBlue"}
- PropertyChanges { target: stars; opacity: 0 }
- }
-
- transitions: Transition {
- PropertyAnimation { duration: 3000 }
- ColorAnimation { duration: 3000 }
- }
-
- SystemPalette { id: activePalette }
-
- // toolbox
- Rectangle {
- id: toolbox
- z: 3 //Above ground
- color: activePalette.window;
- width: 480
- anchors { right: parent.right; top:parent.top; bottom: parent.bottom }
- Rectangle { //Not a child of any positioner
- border.color: "black";
- width: toolRow.width + 4
- height: toolRow.height + 4
- x: toolboxPositioner.x + toolRow.x - 2
- y: toolboxPositioner.y + toolRow.y - 2
- }
- Column {
- id: toolboxPositioner
- anchors.centerIn: parent
- spacing: 8
- Text { text: "Drag an item into the scene." }
- Row {
- id: toolRow
- spacing: 8;
- PaletteItem {
- anchors.verticalCenter: parent.verticalCenter
- file: "Sun.qml";
- image: "../images/sun.png"
- }
- PaletteItem {
- file: "GenericItem.qml"
- image: "../images/moon.png"
- }
- PaletteItem {
- anchors.verticalCenter: parent.verticalCenter
- file: "PerspectiveItem.qml"
- image: "../images/tree_s.png"
- }
- PaletteItem {
- anchors.verticalCenter: parent.verticalCenter
- file: "PerspectiveItem.qml"
- image: "../images/rabbit_brown.png"
- }
- PaletteItem {
- anchors.verticalCenter: parent.verticalCenter
- file: "PerspectiveItem.qml"
- image: "../images/rabbit_bw.png"
- }
- }
- Text { text: "Active Suns: " + activeSuns }
- Rectangle { width: 440; height: 1; color: "black" }
- Text { text: "Arbitrary QML: " }
- TextEdit {
- id: qmlText
- width: 460
- height: 220
- readOnly: false
- focusOnPress: true
- font.pixelSize: 14
-
- text: "import Qt 4.7\nImage {\n id: smile;\n x: 500*Math.random();\n y: 200*Math.random(); \n source: 'images/face-smile.png';\n NumberAnimation on opacity { \n to: 0; duration: 1500;\n }\n Component.onCompleted: smile.destroy(1500);\n}"
- }
- Button {
- text: "Create"
- function makeCustom() {
- try{
- Qt.createQmlObject(qmlText.text, window, 'CustomObject');
- }catch(err){
- dialog.show('Error on line ' + err.qmlErrors[0].lineNumber + '\n' + err.qmlErrors[0].message );
- }
- }
- onClicked: makeCustom();
- }
- }
- }
-
-}
diff --git a/examples/declarative/dynamic/qml/Button.qml b/examples/declarative/dynamic/qml/Button.qml
deleted file mode 100644
index 53588bb04c..0000000000
--- a/examples/declarative/dynamic/qml/Button.qml
+++ /dev/null
@@ -1,24 +0,0 @@
-import Qt 4.7
-
-Rectangle {
- id: container
-
- property variant text
- signal clicked
-
- SystemPalette { id: activePalette }
- height: text.height + 10
- width: text.width + 20
- border.width: 1
- radius: 4; smooth: true
- gradient: Gradient {
- GradientStop { position: 0.0;
- color: if(!mr.pressed){activePalette.light;}else{activePalette.button;}
- }
- GradientStop { position: 1.0;
- color: if(!mr.pressed){activePalette.button;}else{activePalette.dark;}
- }
- }
- MouseArea { id:mr; anchors.fill: parent; onClicked: container.clicked() }
- Text { id: text; anchors.centerIn:parent; font.pointSize: 10; text: parent.text; color: activePalette.buttonText }
-}
diff --git a/examples/declarative/dynamic/qml/GenericItem.qml b/examples/declarative/dynamic/qml/GenericItem.qml
deleted file mode 100644
index faac06d715..0000000000
--- a/examples/declarative/dynamic/qml/GenericItem.qml
+++ /dev/null
@@ -1,13 +0,0 @@
-import Qt 4.7
-
-Item{
- property bool created: false
- property string image
- width: imageItem.width
- height: imageItem.height
- z: 2
- Image{
- id: imageItem
- source: image;
- }
-}
diff --git a/examples/declarative/dynamic/qml/PaletteItem.qml b/examples/declarative/dynamic/qml/PaletteItem.qml
deleted file mode 100644
index e8f2ed42f7..0000000000
--- a/examples/declarative/dynamic/qml/PaletteItem.qml
+++ /dev/null
@@ -1,13 +0,0 @@
-import Qt 4.7
-import "itemCreation.js" as Code
-
-GenericItem {
- id: itemButton
- property string file
- MouseArea {
- anchors.fill: parent;
- onPressed: Code.startDrag(mouse);
- onPositionChanged: Code.moveDrag(mouse);
- onReleased: Code.endDrag(mouse);
- }
-}
diff --git a/examples/declarative/dynamic/qml/PerspectiveItem.qml b/examples/declarative/dynamic/qml/PerspectiveItem.qml
deleted file mode 100644
index 3cbe64a247..0000000000
--- a/examples/declarative/dynamic/qml/PerspectiveItem.qml
+++ /dev/null
@@ -1,16 +0,0 @@
-import Qt 4.7
-
-Image {
- id: tree
- property bool created: false
- property double scaleFactor: Math.max((y+height-250)*0.01, 0.3)
- property double scaledBottom: y + (height+height*scaleFactor)/2
- property bool onLand: scaledBottom > window.height/2
- property string image //Needed for compatibility with GenericItem
- opacity: onLand ? 1 : 0.25
- onCreatedChanged: if (created && !onLand) { tree.destroy() } else { z = scaledBottom }
- scale: scaleFactor
- transformOrigin: "Center"
- source: image; smooth: true
- onYChanged: z = scaledBottom
-}
diff --git a/examples/declarative/dynamic/qml/Sun.qml b/examples/declarative/dynamic/qml/Sun.qml
deleted file mode 100644
index 362796402a..0000000000
--- a/examples/declarative/dynamic/qml/Sun.qml
+++ /dev/null
@@ -1,24 +0,0 @@
-import Qt 4.7
-
-Image {
- id: sun
- property bool created: false
- property string image: "../images/sun.png"
- onCreatedChanged: if(created){window.activeSuns++;}else{window.activeSuns--;}
-
- source: image;
- z: 1
-
- //x and y get set when instantiated
- //head offscreen
- NumberAnimation on y {
- to: window.height / 2;
- running: created
- onRunningChanged: if (running) duration = (window.height - sun.y) * 10; else state = "OffScreen";
- }
-
- states: State {
- name: "OffScreen";
- StateChangeScript { script: { sun.created = false; sun.destroy() } }
- }
-}
diff --git a/examples/declarative/dynamic/qml/itemCreation.js b/examples/declarative/dynamic/qml/itemCreation.js
deleted file mode 100644
index 98d48a8c53..0000000000
--- a/examples/declarative/dynamic/qml/itemCreation.js
+++ /dev/null
@@ -1,82 +0,0 @@
-var itemComponent = null;
-var draggedItem = null;
-var startingMouse;
-var startingZ;
-//Until QT-2385 is resolved we need to convert to scene coordinates manually
-var xOffset;
-var yOffset;
-function setSceneOffset()
-{
- xOffset = 0;
- yOffset = 0;
- var p = itemButton;
- while(p != window){
- xOffset += p.x;
- yOffset += p.y;
- p = p.parent;
- }
-}
-
-function startDrag(mouse)
-{
- setSceneOffset();
- startingMouse = { x: mouse.x, y: mouse.y }
- loadComponent();
-}
-
-//Creation is split into two functions due to an asyncronous wait while
-//possible external files are loaded.
-
-function loadComponent() {
- if (itemComponent != null) //Already loaded the component
- createItem();
-
- itemComponent = Qt.createComponent(itemButton.file);
- //console.log(itemButton.file)
- if(itemComponent.isLoading){
- component.statusChanged.connect(finishCreation);
- }else{//Depending on the content, it can be ready or error immediately
- createItem();
- }
-}
-
-function createItem() {
- if (itemComponent.isReady && draggedItem == null) {
- draggedItem = itemComponent.createObject();
- draggedItem.parent = window;
- draggedItem.image = itemButton.image;
- draggedItem.x = xOffset;
- draggedItem.y = yOffset;
- startingZ = draggedItem.z;
- draggedItem.z = 4;//On top
- } else if (itemComponent.isError) {
- draggedItem = null;
- console.log("error creating component");
- console.log(component.errorsString());
- }
-}
-
-function moveDrag(mouse)
-{
- if(draggedItem == null)
- return;
-
- draggedItem.x = mouse.x + xOffset - startingMouse.x;
- draggedItem.y = mouse.y + yOffset - startingMouse.y;
-}
-
-function endDrag(mouse)
-{
- if(draggedItem == null)
- return;
-
- if(draggedItem.x + draggedItem.width > toolbox.x){ //Don't drop it in the toolbox
- draggedItem.destroy();
- draggedItem = null;
- }else{
- draggedItem.z = startingZ;
- draggedItem.created = true;
- draggedItem = null;
- }
-}
-
diff --git a/examples/declarative/extending/adding/example.qml b/examples/declarative/extending/adding/example.qml
deleted file mode 100644
index dc891e7f81..0000000000
--- a/examples/declarative/extending/adding/example.qml
+++ /dev/null
@@ -1,8 +0,0 @@
-// ![0]
-import People 1.0
-
-Person {
- name: "Bob Jones"
- shoeSize: 12
-}
-// ![0]
diff --git a/examples/declarative/extending/adding/main.cpp b/examples/declarative/extending/adding/main.cpp
deleted file mode 100644
index 7b33895188..0000000000
--- a/examples/declarative/extending/adding/main.cpp
+++ /dev/null
@@ -1,65 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the examples of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-#include <QCoreApplication>
-#include <QDeclarativeEngine>
-#include <QDeclarativeComponent>
-#include <QDebug>
-#include "person.h"
-
-int main(int argc, char ** argv)
-{
- QCoreApplication app(argc, argv);
-//![0]
- qmlRegisterType<Person>("People", 1,0, "Person");
-//![0]
-
- QDeclarativeEngine engine;
- QDeclarativeComponent component(&engine, ":example.qml");
- Person *person = qobject_cast<Person *>(component.create());
- if (person) {
- qWarning() << "The person's name is" << person->name();
- qWarning() << "They wear a" << person->shoeSize() << "sized shoe";
- } else {
- qWarning() << "An error occured";
- }
-
- return 0;
-}
diff --git a/examples/declarative/extending/adding/person.cpp b/examples/declarative/extending/adding/person.cpp
deleted file mode 100644
index cdf08e0281..0000000000
--- a/examples/declarative/extending/adding/person.cpp
+++ /dev/null
@@ -1,69 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the examples of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-#include "person.h"
-
-// ![0]
-Person::Person(QObject *parent)
-: QObject(parent), m_shoeSize(0)
-{
-}
-
-QString Person::name() const
-{
- return m_name;
-}
-
-void Person::setName(const QString &n)
-{
- m_name = n;
-}
-
-int Person::shoeSize() const
-{
- return m_shoeSize;
-}
-
-void Person::setShoeSize(int s)
-{
- m_shoeSize = s;
-}
-
-// ![0]
diff --git a/examples/declarative/extending/adding/person.h b/examples/declarative/extending/adding/person.h
deleted file mode 100644
index d6de9a9fe8..0000000000
--- a/examples/declarative/extending/adding/person.h
+++ /dev/null
@@ -1,66 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the examples of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-#ifndef PERSON_H
-#define PERSON_H
-
-#include <QObject>
-// ![0]
-class Person : public QObject
-{
- Q_OBJECT
- Q_PROPERTY(QString name READ name WRITE setName)
- Q_PROPERTY(int shoeSize READ shoeSize WRITE setShoeSize)
-public:
- Person(QObject *parent = 0);
-
- QString name() const;
- void setName(const QString &);
-
- int shoeSize() const;
- void setShoeSize(int);
-
-private:
- QString m_name;
- int m_shoeSize;
-};
-// ![0]
-
-#endif // PERSON_H
diff --git a/examples/declarative/extending/attached/birthdayparty.cpp b/examples/declarative/extending/attached/birthdayparty.cpp
deleted file mode 100644
index 7fa1748a5d..0000000000
--- a/examples/declarative/extending/attached/birthdayparty.cpp
+++ /dev/null
@@ -1,92 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the examples of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-#include "birthdayparty.h"
-
-BirthdayPartyAttached::BirthdayPartyAttached(QObject *object)
-: QObject(object)
-{
-}
-
-QDate BirthdayPartyAttached::rsvp() const
-{
- return m_rsvp;
-}
-
-void BirthdayPartyAttached::setRsvp(const QDate &d)
-{
- m_rsvp = d;
-}
-
-BirthdayParty::BirthdayParty(QObject *parent)
-: QObject(parent), m_host(0)
-{
-}
-
-Person *BirthdayParty::host() const
-{
- return m_host;
-}
-
-void BirthdayParty::setHost(Person *c)
-{
- m_host = c;
-}
-
-QDeclarativeListProperty<Person> BirthdayParty::guests()
-{
- return QDeclarativeListProperty<Person>(this, m_guests);
-}
-
-int BirthdayParty::guestCount() const
-{
- return m_guests.count();
-}
-
-Person *BirthdayParty::guest(int index) const
-{
- return m_guests.at(index);
-}
-
-BirthdayPartyAttached *BirthdayParty::qmlAttachedProperties(QObject *object)
-{
- return new BirthdayPartyAttached(object);
-}
-
diff --git a/examples/declarative/extending/attached/birthdayparty.h b/examples/declarative/extending/attached/birthdayparty.h
deleted file mode 100644
index 1c66f8cceb..0000000000
--- a/examples/declarative/extending/attached/birthdayparty.h
+++ /dev/null
@@ -1,87 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the examples of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-#ifndef BIRTHDAYPARTY_H
-#define BIRTHDAYPARTY_H
-
-#include <QObject>
-#include <QDate>
-#include <qdeclarative.h>
-#include "person.h"
-
-class BirthdayPartyAttached : public QObject
-{
- Q_OBJECT
- Q_PROPERTY(QDate rsvp READ rsvp WRITE setRsvp)
-public:
- BirthdayPartyAttached(QObject *object);
-
- QDate rsvp() const;
- void setRsvp(const QDate &);
-
-private:
- QDate m_rsvp;
-};
-
-class BirthdayParty : public QObject
-{
- Q_OBJECT
- Q_PROPERTY(Person *host READ host WRITE setHost)
- Q_PROPERTY(QDeclarativeListProperty<Person> guests READ guests)
- Q_CLASSINFO("DefaultProperty", "guests")
-public:
- BirthdayParty(QObject *parent = 0);
-
- Person *host() const;
- void setHost(Person *);
-
- QDeclarativeListProperty<Person> guests();
- int guestCount() const;
- Person *guest(int) const;
-
- static BirthdayPartyAttached *qmlAttachedProperties(QObject *);
-private:
- Person *m_host;
- QList<Person *> m_guests;
-};
-
-QML_DECLARE_TYPEINFO(BirthdayParty, QML_HAS_ATTACHED_PROPERTIES)
-
-#endif // BIRTHDAYPARTY_H
diff --git a/examples/declarative/extending/attached/example.qml b/examples/declarative/extending/attached/example.qml
deleted file mode 100644
index 50f0a32894..0000000000
--- a/examples/declarative/extending/attached/example.qml
+++ /dev/null
@@ -1,31 +0,0 @@
-import People 1.0
-
-BirthdayParty {
- host: Boy {
- name: "Bob Jones"
- shoe { size: 12; color: "white"; brand: "Nike"; price: 90.0 }
- }
-
- // ![1]
- Boy {
- name: "Leo Hodges"
- shoe { size: 10; color: "black"; brand: "Reebok"; price: 59.95 }
-
- BirthdayParty.rsvp: "2009-07-06"
- }
- // ![1]
- Boy {
- name: "Jack Smith"
- shoe { size: 8; color: "blue"; brand: "Puma"; price: 19.95 }
- }
- Girl {
- name: "Anne Brown"
- shoe.size: 7
- shoe.color: "red"
- shoe.brand: "Marc Jacobs"
- shoe.price: 699.99
-
- BirthdayParty.rsvp: "2009-07-01"
- }
-}
-
diff --git a/examples/declarative/extending/attached/main.cpp b/examples/declarative/extending/attached/main.cpp
deleted file mode 100644
index f1055aec47..0000000000
--- a/examples/declarative/extending/attached/main.cpp
+++ /dev/null
@@ -1,91 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the examples of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-#include <QCoreApplication>
-#include <QDeclarativeEngine>
-#include <QDeclarativeComponent>
-#include <QDebug>
-#include "birthdayparty.h"
-#include "person.h"
-
-int main(int argc, char ** argv)
-{
- QCoreApplication app(argc, argv);
-
- qmlRegisterType<BirthdayPartyAttached>();
- qmlRegisterType<BirthdayParty>("People", 1,0, "BirthdayParty");
- qmlRegisterType<ShoeDescription>();
- qmlRegisterType<Person>();
- qmlRegisterType<Boy>("People", 1,0, "Boy");
- qmlRegisterType<Girl>("People", 1,0, "Girl");
-
- QDeclarativeEngine engine;
- QDeclarativeComponent component(&engine, ":example.qml");
- BirthdayParty *party = qobject_cast<BirthdayParty *>(component.create());
-
- if (party && party->host()) {
- qWarning() << party->host()->name() << "is having a birthday!";
-
- if (qobject_cast<Boy *>(party->host()))
- qWarning() << "He is inviting:";
- else
- qWarning() << "She is inviting:";
-
- for (int ii = 0; ii < party->guestCount(); ++ii) {
- Person *guest = party->guest(ii);
-
- QDate rsvpDate;
- QObject *attached =
- qmlAttachedPropertiesObject<BirthdayParty>(guest, false);
- if (attached)
- rsvpDate = attached->property("rsvp").toDate();
-
- if (rsvpDate.isNull())
- qWarning() << " " << guest->name() << "RSVP date: Hasn't RSVP'd";
- else
- qWarning() << " " << guest->name() << "RSVP date:" << qPrintable(rsvpDate.toString());
- }
-
- } else {
- qWarning() << "An error occured";
- }
-
- return 0;
-}
diff --git a/examples/declarative/extending/attached/person.cpp b/examples/declarative/extending/attached/person.cpp
deleted file mode 100644
index 0a9e508302..0000000000
--- a/examples/declarative/extending/attached/person.cpp
+++ /dev/null
@@ -1,119 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the examples of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-#include "person.h"
-
-ShoeDescription::ShoeDescription(QObject *parent)
-: QObject(parent), m_size(0), m_price(0)
-{
-}
-
-int ShoeDescription::size() const
-{
- return m_size;
-}
-
-void ShoeDescription::setSize(int s)
-{
- m_size = s;
-}
-
-QColor ShoeDescription::color() const
-{
- return m_color;
-}
-
-void ShoeDescription::setColor(const QColor &c)
-{
- m_color = c;
-}
-
-QString ShoeDescription::brand() const
-{
- return m_brand;
-}
-
-void ShoeDescription::setBrand(const QString &b)
-{
- m_brand = b;
-}
-
-qreal ShoeDescription::price() const
-{
- return m_price;
-}
-
-void ShoeDescription::setPrice(qreal p)
-{
- m_price = p;
-}
-
-Person::Person(QObject *parent)
-: QObject(parent)
-{
-}
-
-QString Person::name() const
-{
- return m_name;
-}
-
-void Person::setName(const QString &n)
-{
- m_name = n;
-}
-
-ShoeDescription *Person::shoe()
-{
- return &m_shoe;
-}
-
-
-Boy::Boy(QObject * parent)
-: Person(parent)
-{
-}
-
-
-Girl::Girl(QObject * parent)
-: Person(parent)
-{
-}
-
diff --git a/examples/declarative/extending/attached/person.h b/examples/declarative/extending/attached/person.h
deleted file mode 100644
index 2f444c564d..0000000000
--- a/examples/declarative/extending/attached/person.h
+++ /dev/null
@@ -1,106 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the examples of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-#ifndef PERSON_H
-#define PERSON_H
-
-#include <QObject>
-#include <QColor>
-
-class ShoeDescription : public QObject
-{
- Q_OBJECT
- Q_PROPERTY(int size READ size WRITE setSize)
- Q_PROPERTY(QColor color READ color WRITE setColor)
- Q_PROPERTY(QString brand READ brand WRITE setBrand)
- Q_PROPERTY(qreal price READ price WRITE setPrice)
-public:
- ShoeDescription(QObject *parent = 0);
-
- int size() const;
- void setSize(int);
-
- QColor color() const;
- void setColor(const QColor &);
-
- QString brand() const;
- void setBrand(const QString &);
-
- qreal price() const;
- void setPrice(qreal);
-private:
- int m_size;
- QColor m_color;
- QString m_brand;
- qreal m_price;
-};
-
-class Person : public QObject
-{
- Q_OBJECT
- Q_PROPERTY(QString name READ name WRITE setName)
- Q_PROPERTY(ShoeDescription *shoe READ shoe)
-public:
- Person(QObject *parent = 0);
-
- QString name() const;
- void setName(const QString &);
-
- ShoeDescription *shoe();
-private:
- QString m_name;
- ShoeDescription m_shoe;
-};
-
-class Boy : public Person
-{
- Q_OBJECT
-public:
- Boy(QObject * parent = 0);
-};
-
-class Girl : public Person
-{
- Q_OBJECT
-public:
- Girl(QObject * parent = 0);
-};
-
-#endif // PERSON_H
diff --git a/examples/declarative/extending/binding/birthdayparty.cpp b/examples/declarative/extending/binding/birthdayparty.cpp
deleted file mode 100644
index 000bb1fd4f..0000000000
--- a/examples/declarative/extending/binding/birthdayparty.cpp
+++ /dev/null
@@ -1,114 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the examples of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-#include "birthdayparty.h"
-
-BirthdayPartyAttached::BirthdayPartyAttached(QObject *object)
-: QObject(object)
-{
-}
-
-QDate BirthdayPartyAttached::rsvp() const
-{
- return m_rsvp;
-}
-
-void BirthdayPartyAttached::setRsvp(const QDate &d)
-{
- if (d != m_rsvp) {
- m_rsvp = d;
- emit rsvpChanged();
- }
-}
-
-
-BirthdayParty::BirthdayParty(QObject *parent)
-: QObject(parent), m_host(0)
-{
-}
-
-Person *BirthdayParty::host() const
-{
- return m_host;
-}
-
-void BirthdayParty::setHost(Person *c)
-{
- if (c == m_host) return;
- m_host = c;
- emit hostChanged();
-}
-
-QDeclarativeListProperty<Person> BirthdayParty::guests()
-{
- return QDeclarativeListProperty<Person>(this, m_guests);
-}
-
-int BirthdayParty::guestCount() const
-{
- return m_guests.count();
-}
-
-Person *BirthdayParty::guest(int index) const
-{
- return m_guests.at(index);
-}
-
-void BirthdayParty::startParty()
-{
- QTime time = QTime::currentTime();
- emit partyStarted(time);
-}
-
-QString BirthdayParty::announcement() const
-{
- return QString();
-}
-
-void BirthdayParty::setAnnouncement(const QString &speak)
-{
- qWarning() << qPrintable(speak);
-}
-
-BirthdayPartyAttached *BirthdayParty::qmlAttachedProperties(QObject *object)
-{
- return new BirthdayPartyAttached(object);
-}
-
diff --git a/examples/declarative/extending/binding/birthdayparty.h b/examples/declarative/extending/binding/birthdayparty.h
deleted file mode 100644
index c3f033e30c..0000000000
--- a/examples/declarative/extending/binding/birthdayparty.h
+++ /dev/null
@@ -1,103 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the examples of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-#ifndef BIRTHDAYPARTY_H
-#define BIRTHDAYPARTY_H
-
-#include <QObject>
-#include <QDate>
-#include <QDebug>
-#include <qdeclarative.h>
-#include "person.h"
-
-class BirthdayPartyAttached : public QObject
-{
- Q_OBJECT
- Q_PROPERTY(QDate rsvp READ rsvp WRITE setRsvp NOTIFY rsvpChanged)
-public:
- BirthdayPartyAttached(QObject *object);
-
- QDate rsvp() const;
- void setRsvp(const QDate &);
-
-signals:
- void rsvpChanged();
-
-private:
- QDate m_rsvp;
-};
-
-class BirthdayParty : public QObject
-{
- Q_OBJECT
-// ![0]
- Q_PROPERTY(Person *host READ host WRITE setHost NOTIFY hostChanged)
-// ![0]
- Q_PROPERTY(QDeclarativeListProperty<Person> guests READ guests)
- Q_PROPERTY(QString announcement READ announcement WRITE setAnnouncement)
- Q_CLASSINFO("DefaultProperty", "guests")
-public:
- BirthdayParty(QObject *parent = 0);
-
- Person *host() const;
- void setHost(Person *);
-
- QDeclarativeListProperty<Person> guests();
- int guestCount() const;
- Person *guest(int) const;
-
- QString announcement() const;
- void setAnnouncement(const QString &);
-
- static BirthdayPartyAttached *qmlAttachedProperties(QObject *);
-
- void startParty();
-signals:
- void partyStarted(const QTime &time);
- void hostChanged();
-
-private:
- Person *m_host;
- QList<Person *> m_guests;
-};
-
-QML_DECLARE_TYPEINFO(BirthdayParty, QML_HAS_ATTACHED_PROPERTIES)
-
-#endif // BIRTHDAYPARTY_H
diff --git a/examples/declarative/extending/binding/example.qml b/examples/declarative/extending/binding/example.qml
deleted file mode 100644
index 82eb3be94e..0000000000
--- a/examples/declarative/extending/binding/example.qml
+++ /dev/null
@@ -1,37 +0,0 @@
-import People 1.0
-
-// ![0]
-BirthdayParty {
- id: theParty
-
- HappyBirthdaySong on announcement { name: theParty.host.name }
-
- host: Boy {
- name: "Bob Jones"
- shoe { size: 12; color: "white"; brand: "Nike"; price: 90.0 }
- }
-// ![0]
- onPartyStarted: console.log("This party started rockin' at " + time);
-
-
- Boy {
- name: "Leo Hodges"
- BirthdayParty.rsvp: "2009-07-06"
- shoe { size: 10; color: "black"; brand: "Reebok"; price: 59.95 }
- }
- Boy {
- name: "Jack Smith"
- shoe { size: 8; color: "blue"; brand: "Puma"; price: 19.95 }
- }
- Girl {
- name: "Anne Brown"
- BirthdayParty.rsvp: "2009-07-01"
- shoe.size: 7
- shoe.color: "red"
- shoe.brand: "Marc Jacobs"
- shoe.price: 699.99
- }
-
-// ![1]
-}
-// ![1]
diff --git a/examples/declarative/extending/binding/happybirthdaysong.cpp b/examples/declarative/extending/binding/happybirthdaysong.cpp
deleted file mode 100644
index a40e7fbd7a..0000000000
--- a/examples/declarative/extending/binding/happybirthdaysong.cpp
+++ /dev/null
@@ -1,86 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the examples of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-#include "happybirthdaysong.h"
-#include <QTimer>
-
-HappyBirthdaySong::HappyBirthdaySong(QObject *parent)
-: QObject(parent), m_line(-1)
-{
- setName(QString());
- QTimer *timer = new QTimer(this);
- QObject::connect(timer, SIGNAL(timeout()), this, SLOT(advance()));
- timer->start(1000);
-}
-
-void HappyBirthdaySong::setTarget(const QDeclarativeProperty &p)
-{
- m_target = p;
-}
-
-QString HappyBirthdaySong::name() const
-{
- return m_name;
-}
-
-void HappyBirthdaySong::setName(const QString &name)
-{
- if (m_name == name)
- return;
-
- m_name = name;
-
- m_lyrics.clear();
- m_lyrics << "Happy birthday to you,";
- m_lyrics << "Happy birthday to you,";
- m_lyrics << "Happy birthday dear " + m_name + ",";
- m_lyrics << "Happy birthday to you!";
- m_lyrics << "";
-
- emit nameChanged();
-}
-
-void HappyBirthdaySong::advance()
-{
- m_line = (m_line + 1) % m_lyrics.count();
-
- m_target.write(m_lyrics.at(m_line));
-}
-
diff --git a/examples/declarative/extending/binding/happybirthdaysong.h b/examples/declarative/extending/binding/happybirthdaysong.h
deleted file mode 100644
index e825b86092..0000000000
--- a/examples/declarative/extending/binding/happybirthdaysong.h
+++ /dev/null
@@ -1,75 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the examples of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-#ifndef HAPPYBIRTHDAYSONG_H
-#define HAPPYBIRTHDAYSONG_H
-
-#include <QDeclarativePropertyValueSource>
-#include <QDeclarativeProperty>
-
-#include <QStringList>
-
-class HappyBirthdaySong : public QObject, public QDeclarativePropertyValueSource
-{
- Q_OBJECT
- Q_PROPERTY(QString name READ name WRITE setName NOTIFY nameChanged)
- Q_INTERFACES(QDeclarativePropertyValueSource)
-public:
- HappyBirthdaySong(QObject *parent = 0);
-
- virtual void setTarget(const QDeclarativeProperty &);
-
- QString name() const;
- void setName(const QString &);
-
-private slots:
- void advance();
-
-signals:
- void nameChanged();
-private:
- int m_line;
- QStringList m_lyrics;
- QDeclarativeProperty m_target;
- QString m_name;
-};
-
-#endif // HAPPYBIRTHDAYSONG_H
-
diff --git a/examples/declarative/extending/binding/main.cpp b/examples/declarative/extending/binding/main.cpp
deleted file mode 100644
index 2495676908..0000000000
--- a/examples/declarative/extending/binding/main.cpp
+++ /dev/null
@@ -1,93 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the examples of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-#include <QCoreApplication>
-#include <QDeclarativeEngine>
-#include <QDeclarativeComponent>
-#include <QDebug>
-#include "birthdayparty.h"
-#include "happybirthdaysong.h"
-#include "person.h"
-
-int main(int argc, char ** argv)
-{
- QCoreApplication app(argc, argv);
- qmlRegisterType<BirthdayPartyAttached>();
- qmlRegisterType<BirthdayParty>("People", 1,0, "BirthdayParty");
- qmlRegisterType<HappyBirthdaySong>("People", 1,0, "HappyBirthdaySong");
- qmlRegisterType<ShoeDescription>();
- qmlRegisterType<Person>();
- qmlRegisterType<Boy>("People", 1,0, "Boy");
- qmlRegisterType<Girl>("People", 1,0, "Girl");
-
- QDeclarativeEngine engine;
- QDeclarativeComponent component(&engine, ":example.qml");
- BirthdayParty *party = qobject_cast<BirthdayParty *>(component.create());
-
- if (party && party->host()) {
- qWarning() << party->host()->name() << "is having a birthday!";
-
- if (qobject_cast<Boy *>(party->host()))
- qWarning() << "He is inviting:";
- else
- qWarning() << "She is inviting:";
-
- for (int ii = 0; ii < party->guestCount(); ++ii) {
- Person *guest = party->guest(ii);
-
- QDate rsvpDate;
- QObject *attached =
- qmlAttachedPropertiesObject<BirthdayParty>(guest, false);
- if (attached)
- rsvpDate = attached->property("rsvp").toDate();
-
- if (rsvpDate.isNull())
- qWarning() << " " << guest->name() << "RSVP date: Hasn't RSVP'd";
- else
- qWarning() << " " << guest->name() << "RSVP date:" << qPrintable(rsvpDate.toString());
- }
-
- party->startParty();
- } else {
- qWarning() << "An error occured";
- }
-
- return app.exec();
-}
diff --git a/examples/declarative/extending/binding/person.cpp b/examples/declarative/extending/binding/person.cpp
deleted file mode 100644
index 9a2248f92d..0000000000
--- a/examples/declarative/extending/binding/person.cpp
+++ /dev/null
@@ -1,139 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the examples of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-#include "person.h"
-
-ShoeDescription::ShoeDescription(QObject *parent)
-: QObject(parent), m_size(0), m_price(0)
-{
-}
-
-int ShoeDescription::size() const
-{
- return m_size;
-}
-
-void ShoeDescription::setSize(int s)
-{
- if (m_size == s)
- return;
-
- m_size = s;
- emit shoeChanged();
-}
-
-QColor ShoeDescription::color() const
-{
- return m_color;
-}
-
-void ShoeDescription::setColor(const QColor &c)
-{
- if (m_color == c)
- return;
-
- m_color = c;
- emit shoeChanged();
-}
-
-QString ShoeDescription::brand() const
-{
- return m_brand;
-}
-
-void ShoeDescription::setBrand(const QString &b)
-{
- if (m_brand == b)
- return;
-
- m_brand = b;
- emit shoeChanged();
-}
-
-qreal ShoeDescription::price() const
-{
- return m_price;
-}
-
-void ShoeDescription::setPrice(qreal p)
-{
- if (m_price == p)
- return;
-
- m_price = p;
- emit shoeChanged();
-}
-
-Person::Person(QObject *parent)
-: QObject(parent)
-{
-}
-
-QString Person::name() const
-{
- return m_name;
-}
-
-void Person::setName(const QString &n)
-{
- if (m_name == n)
- return;
-
- m_name = n;
- emit nameChanged();
-}
-
-ShoeDescription *Person::shoe()
-{
- return &m_shoe;
-}
-
-
-Boy::Boy(QObject * parent)
-: Person(parent)
-{
-}
-
-
-Girl::Girl(QObject * parent)
-: Person(parent)
-{
-}
-
diff --git a/examples/declarative/extending/binding/person.h b/examples/declarative/extending/binding/person.h
deleted file mode 100644
index 2a68da0c50..0000000000
--- a/examples/declarative/extending/binding/person.h
+++ /dev/null
@@ -1,114 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the examples of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-#ifndef PERSON_H
-#define PERSON_H
-
-#include <QObject>
-#include <QColor>
-
-class ShoeDescription : public QObject
-{
- Q_OBJECT
- Q_PROPERTY(int size READ size WRITE setSize NOTIFY shoeChanged)
- Q_PROPERTY(QColor color READ color WRITE setColor NOTIFY shoeChanged)
- Q_PROPERTY(QString brand READ brand WRITE setBrand NOTIFY shoeChanged)
- Q_PROPERTY(qreal price READ price WRITE setPrice NOTIFY shoeChanged)
-public:
- ShoeDescription(QObject *parent = 0);
-
- int size() const;
- void setSize(int);
-
- QColor color() const;
- void setColor(const QColor &);
-
- QString brand() const;
- void setBrand(const QString &);
-
- qreal price() const;
- void setPrice(qreal);
-signals:
- void shoeChanged();
-
-private:
- int m_size;
- QColor m_color;
- QString m_brand;
- qreal m_price;
-};
-
-class Person : public QObject
-{
- Q_OBJECT
- Q_PROPERTY(QString name READ name WRITE setName NOTIFY nameChanged)
-// ![0]
- Q_PROPERTY(ShoeDescription *shoe READ shoe CONSTANT)
-// ![0]
-public:
- Person(QObject *parent = 0);
-
- QString name() const;
- void setName(const QString &);
-
- ShoeDescription *shoe();
-signals:
- void nameChanged();
-
-private:
- QString m_name;
- ShoeDescription m_shoe;
-};
-
-class Boy : public Person
-{
- Q_OBJECT
-public:
- Boy(QObject * parent = 0);
-};
-
-class Girl : public Person
-{
- Q_OBJECT
-public:
- Girl(QObject * parent = 0);
-};
-
-#endif // PERSON_H
diff --git a/examples/declarative/extending/coercion/birthdayparty.cpp b/examples/declarative/extending/coercion/birthdayparty.cpp
deleted file mode 100644
index 4f415a3cb1..0000000000
--- a/examples/declarative/extending/coercion/birthdayparty.cpp
+++ /dev/null
@@ -1,72 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the examples of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-#include "birthdayparty.h"
-
-BirthdayParty::BirthdayParty(QObject *parent)
-: QObject(parent), m_host(0)
-{
-}
-
-Person *BirthdayParty::host() const
-{
- return m_host;
-}
-
-void BirthdayParty::setHost(Person *c)
-{
- m_host = c;
-}
-
-QDeclarativeListProperty<Person> BirthdayParty::guests()
-{
- return QDeclarativeListProperty<Person>(this, m_guests);
-}
-
-int BirthdayParty::guestCount() const
-{
- return m_guests.count();
-}
-
-Person *BirthdayParty::guest(int index) const
-{
- return m_guests.at(index);
-}
-
diff --git a/examples/declarative/extending/coercion/birthdayparty.h b/examples/declarative/extending/coercion/birthdayparty.h
deleted file mode 100644
index ee77e9a603..0000000000
--- a/examples/declarative/extending/coercion/birthdayparty.h
+++ /dev/null
@@ -1,70 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the examples of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-#ifndef BIRTHDAYPARTY_H
-#define BIRTHDAYPARTY_H
-
-#include <QObject>
-#include <QDeclarativeListProperty>
-#include "person.h"
-
-class BirthdayParty : public QObject
-{
- Q_OBJECT
-// ![0]
- Q_PROPERTY(Person *host READ host WRITE setHost)
- Q_PROPERTY(QDeclarativeListProperty<Person> guests READ guests)
-// ![0]
-public:
- BirthdayParty(QObject *parent = 0);
-
- Person *host() const;
- void setHost(Person *);
-
- QDeclarativeListProperty<Person> guests();
- int guestCount() const;
- Person *guest(int) const;
-
-private:
- Person *m_host;
- QList<Person *> m_guests;
-};
-
-#endif // BIRTHDAYPARTY_H
diff --git a/examples/declarative/extending/coercion/example.qml b/examples/declarative/extending/coercion/example.qml
deleted file mode 100644
index 7b459504a4..0000000000
--- a/examples/declarative/extending/coercion/example.qml
+++ /dev/null
@@ -1,15 +0,0 @@
-import People 1.0
-
-// ![0]
-BirthdayParty {
- host: Boy {
- name: "Bob Jones"
- shoeSize: 12
- }
- guests: [
- Boy { name: "Leo Hodges" },
- Boy { name: "Jack Smith" },
- Girl { name: "Anne Brown" }
- ]
-}
-// ![0]
diff --git a/examples/declarative/extending/coercion/main.cpp b/examples/declarative/extending/coercion/main.cpp
deleted file mode 100644
index 2c7b5455b4..0000000000
--- a/examples/declarative/extending/coercion/main.cpp
+++ /dev/null
@@ -1,78 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the examples of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-#include <QCoreApplication>
-#include <QDeclarativeEngine>
-#include <QDeclarativeComponent>
-#include <QDebug>
-#include "birthdayparty.h"
-#include "person.h"
-
-int main(int argc, char ** argv)
-{
- QCoreApplication app(argc, argv);
-
- qmlRegisterType<BirthdayParty>("People", 1,0, "BirthdayParty");
-// ![0]
- qmlRegisterType<Person>();
-// ![0]
- qmlRegisterType<Boy>("People", 1,0, "Boy");
- qmlRegisterType<Girl>("People", 1,0, "Girl");
-
- QDeclarativeEngine engine;
- QDeclarativeComponent component(&engine, ":example.qml");
- BirthdayParty *party = qobject_cast<BirthdayParty *>(component.create());
-
- if (party && party->host()) {
- qWarning() << party->host()->name() << "is having a birthday!";
-
- if (qobject_cast<Boy *>(party->host()))
- qWarning() << "He is inviting:";
- else
- qWarning() << "She is inviting:";
-
- for (int ii = 0; ii < party->guestCount(); ++ii)
- qWarning() << " " << party->guest(ii)->name();
- } else {
- qWarning() << "An error occured";
- }
-
- return 0;
-}
diff --git a/examples/declarative/extending/coercion/person.cpp b/examples/declarative/extending/coercion/person.cpp
deleted file mode 100644
index 5b5203add6..0000000000
--- a/examples/declarative/extending/coercion/person.cpp
+++ /dev/null
@@ -1,80 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the examples of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-#include "person.h"
-
-Person::Person(QObject *parent)
-: QObject(parent), m_shoeSize(0)
-{
-}
-
-QString Person::name() const
-{
- return m_name;
-}
-
-void Person::setName(const QString &n)
-{
- m_name = n;
-}
-
-int Person::shoeSize() const
-{
- return m_shoeSize;
-}
-
-void Person::setShoeSize(int s)
-{
- m_shoeSize = s;
-}
-
-// ![1]
-Boy::Boy(QObject * parent)
-: Person(parent)
-{
-}
-
-
-Girl::Girl(QObject * parent)
-: Person(parent)
-{
-}
-
-// ![1]
diff --git a/examples/declarative/extending/coercion/person.h b/examples/declarative/extending/coercion/person.h
deleted file mode 100644
index 1c95da7d57..0000000000
--- a/examples/declarative/extending/coercion/person.h
+++ /dev/null
@@ -1,83 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the examples of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-#ifndef PERSON_H
-#define PERSON_H
-
-#include <QObject>
-
-class Person : public QObject
-{
- Q_OBJECT
- Q_PROPERTY(QString name READ name WRITE setName)
- Q_PROPERTY(int shoeSize READ shoeSize WRITE setShoeSize)
-public:
- Person(QObject *parent = 0);
-
- QString name() const;
- void setName(const QString &);
-
- int shoeSize() const;
- void setShoeSize(int);
-private:
- QString m_name;
- int m_shoeSize;
-};
-
-
-// ![0]
-class Boy : public Person
-{
- Q_OBJECT
-public:
- Boy(QObject * parent = 0);
-};
-
-
-class Girl : public Person
-{
- Q_OBJECT
-public:
- Girl(QObject * parent = 0);
-};
-
-// ![0]
-
-#endif // PERSON_H
diff --git a/examples/declarative/extending/default/birthdayparty.cpp b/examples/declarative/extending/default/birthdayparty.cpp
deleted file mode 100644
index 4f415a3cb1..0000000000
--- a/examples/declarative/extending/default/birthdayparty.cpp
+++ /dev/null
@@ -1,72 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the examples of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-#include "birthdayparty.h"
-
-BirthdayParty::BirthdayParty(QObject *parent)
-: QObject(parent), m_host(0)
-{
-}
-
-Person *BirthdayParty::host() const
-{
- return m_host;
-}
-
-void BirthdayParty::setHost(Person *c)
-{
- m_host = c;
-}
-
-QDeclarativeListProperty<Person> BirthdayParty::guests()
-{
- return QDeclarativeListProperty<Person>(this, m_guests);
-}
-
-int BirthdayParty::guestCount() const
-{
- return m_guests.count();
-}
-
-Person *BirthdayParty::guest(int index) const
-{
- return m_guests.at(index);
-}
-
diff --git a/examples/declarative/extending/default/birthdayparty.h b/examples/declarative/extending/default/birthdayparty.h
deleted file mode 100644
index 974104075c..0000000000
--- a/examples/declarative/extending/default/birthdayparty.h
+++ /dev/null
@@ -1,71 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the examples of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-#ifndef BIRTHDAYPARTY_H
-#define BIRTHDAYPARTY_H
-
-#include <QObject>
-#include <QDeclarativeListProperty>
-#include "person.h"
-
-// ![0]
-class BirthdayParty : public QObject
-{
- Q_OBJECT
- Q_PROPERTY(Person *host READ host WRITE setHost)
- Q_PROPERTY(QDeclarativeListProperty<Person> guests READ guests)
- Q_CLASSINFO("DefaultProperty", "guests")
-public:
- BirthdayParty(QObject *parent = 0);
-
- Person *host() const;
- void setHost(Person *);
-
- QDeclarativeListProperty<Person> guests();
- int guestCount() const;
- Person *guest(int) const;
-
-private:
- Person *m_host;
- QList<Person *> m_guests;
-};
-// ![0]
-
-#endif // BIRTHDAYPARTY_H
diff --git a/examples/declarative/extending/default/example.qml b/examples/declarative/extending/default/example.qml
deleted file mode 100644
index c0f3cbb54a..0000000000
--- a/examples/declarative/extending/default/example.qml
+++ /dev/null
@@ -1,14 +0,0 @@
-import People 1.0
-
-// ![0]
-BirthdayParty {
- host: Boy {
- name: "Bob Jones"
- shoeSize: 12
- }
-
- Boy { name: "Leo Hodges" }
- Boy { name: "Jack Smith" }
- Girl { name: "Anne Brown" }
-}
-// ![0]
diff --git a/examples/declarative/extending/default/main.cpp b/examples/declarative/extending/default/main.cpp
deleted file mode 100644
index 2ffd180922..0000000000
--- a/examples/declarative/extending/default/main.cpp
+++ /dev/null
@@ -1,76 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the examples of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-#include <QCoreApplication>
-#include <QDeclarativeEngine>
-#include <QDeclarativeComponent>
-#include <QDebug>
-#include "birthdayparty.h"
-#include "person.h"
-
-int main(int argc, char ** argv)
-{
- QCoreApplication app(argc, argv);
-
- qmlRegisterType<BirthdayParty>("People", 1,0, "BirthdayParty");
- qmlRegisterType<Person>();
- qmlRegisterType<Boy>("People", 1,0, "Boy");
- qmlRegisterType<Girl>("People", 1,0, "Girl");
-
- QDeclarativeEngine engine;
- QDeclarativeComponent component(&engine, ":example.qml");
- BirthdayParty *party = qobject_cast<BirthdayParty *>(component.create());
-
- if (party && party->host()) {
- qWarning() << party->host()->name() << "is having a birthday!";
-
- if (qobject_cast<Boy *>(party->host()))
- qWarning() << "He is inviting:";
- else
- qWarning() << "She is inviting:";
-
- for (int ii = 0; ii < party->guestCount(); ++ii)
- qWarning() << " " << party->guest(ii)->name();
- } else {
- qWarning() << "An error occured";
- }
-
- return 0;
-}
diff --git a/examples/declarative/extending/default/person.cpp b/examples/declarative/extending/default/person.cpp
deleted file mode 100644
index 69216d3539..0000000000
--- a/examples/declarative/extending/default/person.cpp
+++ /dev/null
@@ -1,79 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the examples of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-#include "person.h"
-
-Person::Person(QObject *parent)
-: QObject(parent), m_shoeSize(0)
-{
-}
-
-QString Person::name() const
-{
- return m_name;
-}
-
-void Person::setName(const QString &n)
-{
- m_name = n;
-}
-
-int Person::shoeSize() const
-{
- return m_shoeSize;
-}
-
-void Person::setShoeSize(int s)
-{
- m_shoeSize = s;
-}
-
-
-Boy::Boy(QObject * parent)
-: Person(parent)
-{
-}
-
-
-Girl::Girl(QObject * parent)
-: Person(parent)
-{
-}
-
diff --git a/examples/declarative/extending/default/person.h b/examples/declarative/extending/default/person.h
deleted file mode 100644
index 3e5686023b..0000000000
--- a/examples/declarative/extending/default/person.h
+++ /dev/null
@@ -1,78 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the examples of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-#ifndef PERSON_H
-#define PERSON_H
-
-#include <QObject>
-
-class Person : public QObject
-{
- Q_OBJECT
- Q_PROPERTY(QString name READ name WRITE setName)
- Q_PROPERTY(int shoeSize READ shoeSize WRITE setShoeSize)
-public:
- Person(QObject *parent = 0);
-
- QString name() const;
- void setName(const QString &);
-
- int shoeSize() const;
- void setShoeSize(int);
-private:
- QString m_name;
- int m_shoeSize;
-};
-
-class Boy : public Person
-{
- Q_OBJECT
-public:
- Boy(QObject * parent = 0);
-};
-
-class Girl : public Person
-{
- Q_OBJECT
-public:
- Girl(QObject * parent = 0);
-};
-
-#endif // PERSON_H
diff --git a/examples/declarative/extending/extended/example.qml b/examples/declarative/extending/extended/example.qml
deleted file mode 100644
index 985ce2008c..0000000000
--- a/examples/declarative/extending/extended/example.qml
+++ /dev/null
@@ -1,7 +0,0 @@
-import People 1.0
-
-// ![0]
-QLineEdit {
- leftMargin: 20
-}
-// ![0]
diff --git a/examples/declarative/extending/extended/lineedit.cpp b/examples/declarative/extending/extended/lineedit.cpp
deleted file mode 100644
index 0e521ecf0a..0000000000
--- a/examples/declarative/extending/extended/lineedit.cpp
+++ /dev/null
@@ -1,105 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the examples of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-#include "lineedit.h"
-#include <qdeclarative.h>
-
-LineEditExtension::LineEditExtension(QObject *object)
-: QObject(object), m_lineedit(static_cast<QLineEdit *>(object))
-{
-}
-
-int LineEditExtension::leftMargin() const
-{
- int l, r, t, b;
- m_lineedit->getTextMargins(&l, &t, &r, &b);
- return l;
-}
-
-void LineEditExtension::setLeftMargin(int m)
-{
- int l, r, t, b;
- m_lineedit->getTextMargins(&l, &t, &r, &b);
- m_lineedit->setTextMargins(m, t, r, b);
-}
-
-int LineEditExtension::rightMargin() const
-{
- int l, r, t, b;
- m_lineedit->getTextMargins(&l, &t, &r, &b);
- return r;
-}
-
-void LineEditExtension::setRightMargin(int m)
-{
- int l, r, t, b;
- m_lineedit->getTextMargins(&l, &t, &r, &b);
- m_lineedit->setTextMargins(l, t, m, b);
-}
-
-int LineEditExtension::topMargin() const
-{
- int l, r, t, b;
- m_lineedit->getTextMargins(&l, &t, &r, &b);
- return t;
-}
-
-void LineEditExtension::setTopMargin(int m)
-{
- int l, r, t, b;
- m_lineedit->getTextMargins(&l, &t, &r, &b);
- m_lineedit->setTextMargins(l, m, r, b);
-}
-
-int LineEditExtension::bottomMargin() const
-{
- int l, r, t, b;
- m_lineedit->getTextMargins(&l, &t, &r, &b);
- return b;
-}
-
-void LineEditExtension::setBottomMargin(int m)
-{
- int l, r, t, b;
- m_lineedit->getTextMargins(&l, &t, &r, &b);
- m_lineedit->setTextMargins(l, t, r, m);
-}
-
-
diff --git a/examples/declarative/extending/extended/lineedit.h b/examples/declarative/extending/extended/lineedit.h
deleted file mode 100644
index 3a464b0666..0000000000
--- a/examples/declarative/extending/extended/lineedit.h
+++ /dev/null
@@ -1,74 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the examples of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-#ifndef LINEEDIT_H
-#define LINEEDIT_H
-
-#include <QLineEdit>
-
-class LineEditExtension : public QObject
-{
- Q_OBJECT
- Q_PROPERTY(int leftMargin READ leftMargin WRITE setLeftMargin NOTIFY marginsChanged)
- Q_PROPERTY(int rightMargin READ rightMargin WRITE setRightMargin NOTIFY marginsChanged)
- Q_PROPERTY(int topMargin READ topMargin WRITE setTopMargin NOTIFY marginsChanged)
- Q_PROPERTY(int bottomMargin READ bottomMargin WRITE setBottomMargin NOTIFY marginsChanged)
-public:
- LineEditExtension(QObject *);
-
- int leftMargin() const;
- void setLeftMargin(int);
-
- int rightMargin() const;
- void setRightMargin(int);
-
- int topMargin() const;
- void setTopMargin(int);
-
- int bottomMargin() const;
- void setBottomMargin(int);
-signals:
- void marginsChanged();
-
-private:
- QLineEdit *m_lineedit;
-};
-
-#endif // LINEEDIT_H
diff --git a/examples/declarative/extending/extended/main.cpp b/examples/declarative/extending/extended/main.cpp
deleted file mode 100644
index ca7242d3ba..0000000000
--- a/examples/declarative/extending/extended/main.cpp
+++ /dev/null
@@ -1,65 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the examples of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-#include <QApplication>
-#include <QDeclarativeEngine>
-#include <QDeclarativeComponent>
-#include <QDebug>
-#include <QLineEdit>
-#include "lineedit.h"
-
-int main(int argc, char ** argv)
-{
- QApplication app(argc, argv);
-
- qmlRegisterExtendedType<QLineEdit, LineEditExtension>("People", 1,0, "QLineEdit");
-
- QDeclarativeEngine engine;
- QDeclarativeComponent component(&engine, ":example.qml");
- QLineEdit *edit = qobject_cast<QLineEdit *>(component.create());
-
- if (edit) {
- edit->show();
- return app.exec();
- } else {
- qWarning() << "An error occured";
- return 0;
- }
-}
diff --git a/examples/declarative/extending/grouped/birthdayparty.cpp b/examples/declarative/extending/grouped/birthdayparty.cpp
deleted file mode 100644
index 4f415a3cb1..0000000000
--- a/examples/declarative/extending/grouped/birthdayparty.cpp
+++ /dev/null
@@ -1,72 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the examples of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-#include "birthdayparty.h"
-
-BirthdayParty::BirthdayParty(QObject *parent)
-: QObject(parent), m_host(0)
-{
-}
-
-Person *BirthdayParty::host() const
-{
- return m_host;
-}
-
-void BirthdayParty::setHost(Person *c)
-{
- m_host = c;
-}
-
-QDeclarativeListProperty<Person> BirthdayParty::guests()
-{
- return QDeclarativeListProperty<Person>(this, m_guests);
-}
-
-int BirthdayParty::guestCount() const
-{
- return m_guests.count();
-}
-
-Person *BirthdayParty::guest(int index) const
-{
- return m_guests.at(index);
-}
-
diff --git a/examples/declarative/extending/grouped/birthdayparty.h b/examples/declarative/extending/grouped/birthdayparty.h
deleted file mode 100644
index 31d21b24b3..0000000000
--- a/examples/declarative/extending/grouped/birthdayparty.h
+++ /dev/null
@@ -1,70 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the examples of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-#ifndef BIRTHDAYPARTY_H
-#define BIRTHDAYPARTY_H
-
-#include <QObject>
-#include <QDeclarativeListProperty>
-#include "person.h"
-
-class BirthdayParty : public QObject
-{
- Q_OBJECT
- Q_PROPERTY(Person *host READ host WRITE setHost)
- Q_PROPERTY(QDeclarativeListProperty<Person> guests READ guests)
- Q_CLASSINFO("DefaultProperty", "guests")
-public:
- BirthdayParty(QObject *parent = 0);
-
- Person *host() const;
- void setHost(Person *);
-
- QDeclarativeListProperty<Person> guests();
- int guestCount() const;
- Person *guest(int) const;
-
-private:
- Person *m_host;
- QList<Person *> m_guests;
-};
-
-
-#endif // BIRTHDAYPARTY_H
diff --git a/examples/declarative/extending/grouped/example.qml b/examples/declarative/extending/grouped/example.qml
deleted file mode 100644
index 91b7a061f1..0000000000
--- a/examples/declarative/extending/grouped/example.qml
+++ /dev/null
@@ -1,33 +0,0 @@
-import People 1.0
-
-// ![0]
-BirthdayParty {
- host: Boy {
- name: "Bob Jones"
- shoe { size: 12; color: "white"; brand: "Nike"; price: 90.0 }
- }
-
- Boy {
- name: "Leo Hodges"
- shoe { size: 10; color: "black"; brand: "Reebok"; price: 59.95 }
- }
- // ![1]
- Boy {
- name: "Jack Smith"
- shoe {
- size: 8
- color: "blue"
- brand: "Puma"
- price: 19.95
- }
- }
- // ![1]
- Girl {
- name: "Anne Brown"
- shoe.size: 7
- shoe.color: "red"
- shoe.brand: "Marc Jacobs"
- shoe.price: 699.99
- }
-}
-// ![0]
diff --git a/examples/declarative/extending/grouped/main.cpp b/examples/declarative/extending/grouped/main.cpp
deleted file mode 100644
index baf32cffc2..0000000000
--- a/examples/declarative/extending/grouped/main.cpp
+++ /dev/null
@@ -1,86 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the examples of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-#include <QCoreApplication>
-#include <QDeclarativeEngine>
-#include <QDeclarativeComponent>
-#include <QDebug>
-#include "birthdayparty.h"
-#include "person.h"
-
-int main(int argc, char ** argv)
-{
- QCoreApplication app(argc, argv);
-
- qmlRegisterType<BirthdayParty>("People", 1,0, "BirthdayParty");
- qmlRegisterType<ShoeDescription>();
- qmlRegisterType<Person>();
- qmlRegisterType<Boy>("People", 1,0, "Boy");
- qmlRegisterType<Girl>("People", 1,0, "Girl");
-
- QDeclarativeEngine engine;
- QDeclarativeComponent component(&engine, ":example.qml");
- BirthdayParty *party = qobject_cast<BirthdayParty *>(component.create());
-
- if (party && party->host()) {
- qWarning() << party->host()->name() << "is having a birthday!";
-
- if (qobject_cast<Boy *>(party->host()))
- qWarning() << "He is inviting:";
- else
- qWarning() << "She is inviting:";
-
- Person *bestShoe = 0;
- for (int ii = 0; ii < party->guestCount(); ++ii) {
- Person *guest = party->guest(ii);
- qWarning() << " " << guest->name();
-
- if (!bestShoe || bestShoe->shoe()->price() < guest->shoe()->price())
- bestShoe = guest;
- }
- if (bestShoe)
- qWarning() << bestShoe->name() << "is wearing the best shoes!";
-
- } else {
- qWarning() << "An error occured";
- }
-
- return 0;
-}
diff --git a/examples/declarative/extending/grouped/person.cpp b/examples/declarative/extending/grouped/person.cpp
deleted file mode 100644
index 0a9e508302..0000000000
--- a/examples/declarative/extending/grouped/person.cpp
+++ /dev/null
@@ -1,119 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the examples of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-#include "person.h"
-
-ShoeDescription::ShoeDescription(QObject *parent)
-: QObject(parent), m_size(0), m_price(0)
-{
-}
-
-int ShoeDescription::size() const
-{
- return m_size;
-}
-
-void ShoeDescription::setSize(int s)
-{
- m_size = s;
-}
-
-QColor ShoeDescription::color() const
-{
- return m_color;
-}
-
-void ShoeDescription::setColor(const QColor &c)
-{
- m_color = c;
-}
-
-QString ShoeDescription::brand() const
-{
- return m_brand;
-}
-
-void ShoeDescription::setBrand(const QString &b)
-{
- m_brand = b;
-}
-
-qreal ShoeDescription::price() const
-{
- return m_price;
-}
-
-void ShoeDescription::setPrice(qreal p)
-{
- m_price = p;
-}
-
-Person::Person(QObject *parent)
-: QObject(parent)
-{
-}
-
-QString Person::name() const
-{
- return m_name;
-}
-
-void Person::setName(const QString &n)
-{
- m_name = n;
-}
-
-ShoeDescription *Person::shoe()
-{
- return &m_shoe;
-}
-
-
-Boy::Boy(QObject * parent)
-: Person(parent)
-{
-}
-
-
-Girl::Girl(QObject * parent)
-: Person(parent)
-{
-}
-
diff --git a/examples/declarative/extending/grouped/person.h b/examples/declarative/extending/grouped/person.h
deleted file mode 100644
index a031e69046..0000000000
--- a/examples/declarative/extending/grouped/person.h
+++ /dev/null
@@ -1,108 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the examples of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-#ifndef PERSON_H
-#define PERSON_H
-
-#include <QObject>
-#include <QColor>
-
-class ShoeDescription : public QObject
-{
- Q_OBJECT
- Q_PROPERTY(int size READ size WRITE setSize)
- Q_PROPERTY(QColor color READ color WRITE setColor)
- Q_PROPERTY(QString brand READ brand WRITE setBrand)
- Q_PROPERTY(qreal price READ price WRITE setPrice)
-public:
- ShoeDescription(QObject *parent = 0);
-
- int size() const;
- void setSize(int);
-
- QColor color() const;
- void setColor(const QColor &);
-
- QString brand() const;
- void setBrand(const QString &);
-
- qreal price() const;
- void setPrice(qreal);
-private:
- int m_size;
- QColor m_color;
- QString m_brand;
- qreal m_price;
-};
-
-class Person : public QObject
-{
- Q_OBJECT
- Q_PROPERTY(QString name READ name WRITE setName)
-// ![1]
- Q_PROPERTY(ShoeDescription *shoe READ shoe)
-// ![1]
-public:
- Person(QObject *parent = 0);
-
- QString name() const;
- void setName(const QString &);
-
- ShoeDescription *shoe();
-private:
- QString m_name;
- ShoeDescription m_shoe;
-};
-
-class Boy : public Person
-{
- Q_OBJECT
-public:
- Boy(QObject * parent = 0);
-};
-
-class Girl : public Person
-{
- Q_OBJECT
-public:
- Girl(QObject * parent = 0);
-};
-
-#endif // PERSON_H
diff --git a/examples/declarative/extending/properties/birthdayparty.cpp b/examples/declarative/extending/properties/birthdayparty.cpp
deleted file mode 100644
index 27d17a1b08..0000000000
--- a/examples/declarative/extending/properties/birthdayparty.cpp
+++ /dev/null
@@ -1,74 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the examples of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-#include "birthdayparty.h"
-
-BirthdayParty::BirthdayParty(QObject *parent)
-: QObject(parent), m_host(0)
-{
-}
-
-// ![0]
-Person *BirthdayParty::host() const
-{
- return m_host;
-}
-
-void BirthdayParty::setHost(Person *c)
-{
- m_host = c;
-}
-
-QDeclarativeListProperty<Person> BirthdayParty::guests()
-{
- return QDeclarativeListProperty<Person>(this, m_guests);
-}
-
-int BirthdayParty::guestCount() const
-{
- return m_guests.count();
-}
-
-Person *BirthdayParty::guest(int index) const
-{
- return m_guests.at(index);
-}
-// ![0]
-
diff --git a/examples/declarative/extending/properties/birthdayparty.h b/examples/declarative/extending/properties/birthdayparty.h
deleted file mode 100644
index 39ce9bada6..0000000000
--- a/examples/declarative/extending/properties/birthdayparty.h
+++ /dev/null
@@ -1,76 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the examples of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-#ifndef BIRTHDAYPARTY_H
-#define BIRTHDAYPARTY_H
-
-#include <QObject>
-#include <QDeclarativeListProperty>
-#include "person.h"
-
-// ![0]
-class BirthdayParty : public QObject
-{
- Q_OBJECT
-// ![0]
-// ![1]
- Q_PROPERTY(Person *host READ host WRITE setHost)
-// ![1]
-// ![2]
- Q_PROPERTY(QDeclarativeListProperty<Person> guests READ guests)
-// ![2]
-// ![3]
-public:
- BirthdayParty(QObject *parent = 0);
-
- Person *host() const;
- void setHost(Person *);
-
- QDeclarativeListProperty<Person> guests();
- int guestCount() const;
- Person *guest(int) const;
-
-private:
- Person *m_host;
- QList<Person *> m_guests;
-};
-// ![3]
-
-#endif // BIRTHDAYPARTY_H
diff --git a/examples/declarative/extending/properties/example.qml b/examples/declarative/extending/properties/example.qml
deleted file mode 100644
index 35abdd6066..0000000000
--- a/examples/declarative/extending/properties/example.qml
+++ /dev/null
@@ -1,15 +0,0 @@
-import People 1.0
-
-// ![0]
-BirthdayParty {
- host: Person {
- name: "Bob Jones"
- shoeSize: 12
- }
- guests: [
- Person { name: "Leo Hodges" },
- Person { name: "Jack Smith" },
- Person { name: "Anne Brown" }
- ]
-}
-// ![0]
diff --git a/examples/declarative/extending/properties/main.cpp b/examples/declarative/extending/properties/main.cpp
deleted file mode 100644
index 85e95845a0..0000000000
--- a/examples/declarative/extending/properties/main.cpp
+++ /dev/null
@@ -1,69 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the examples of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-#include <QCoreApplication>
-#include <QDeclarativeEngine>
-#include <QDeclarativeComponent>
-#include <QDebug>
-#include "birthdayparty.h"
-#include "person.h"
-
-int main(int argc, char ** argv)
-{
- QCoreApplication app(argc, argv);
-
- qmlRegisterType<BirthdayParty>("People", 1,0, "BirthdayParty");
- qmlRegisterType<Person>("People", 1,0, "Person");
-
- QDeclarativeEngine engine;
- QDeclarativeComponent component(&engine, ":example.qml");
- BirthdayParty *party = qobject_cast<BirthdayParty *>(component.create());
-
- if (party && party->host()) {
- qWarning() << party->host()->name() << "is having a birthday!";
- qWarning() << "They are inviting:";
- for (int ii = 0; ii < party->guestCount(); ++ii)
- qWarning() << " " << party->guest(ii)->name();
- } else {
- qWarning() << "An error occured";
- }
-
- return 0;
-}
diff --git a/examples/declarative/extending/properties/person.cpp b/examples/declarative/extending/properties/person.cpp
deleted file mode 100644
index 92c54f5847..0000000000
--- a/examples/declarative/extending/properties/person.cpp
+++ /dev/null
@@ -1,67 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the examples of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-#include "person.h"
-
-Person::Person(QObject *parent)
-: QObject(parent), m_shoeSize(0)
-{
-}
-
-QString Person::name() const
-{
- return m_name;
-}
-
-void Person::setName(const QString &n)
-{
- m_name = n;
-}
-
-int Person::shoeSize() const
-{
- return m_shoeSize;
-}
-
-void Person::setShoeSize(int s)
-{
- m_shoeSize = s;
-}
-
diff --git a/examples/declarative/extending/properties/person.h b/examples/declarative/extending/properties/person.h
deleted file mode 100644
index 0029b094c2..0000000000
--- a/examples/declarative/extending/properties/person.h
+++ /dev/null
@@ -1,64 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the examples of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-#ifndef PERSON_H
-#define PERSON_H
-
-#include <QObject>
-
-class Person : public QObject
-{
- Q_OBJECT
- Q_PROPERTY(QString name READ name WRITE setName)
- Q_PROPERTY(int shoeSize READ shoeSize WRITE setShoeSize)
-public:
- Person(QObject *parent = 0);
-
- QString name() const;
- void setName(const QString &);
-
- int shoeSize() const;
- void setShoeSize(int);
-private:
- QString m_name;
- int m_shoeSize;
-};
-
-#endif // PERSON_H
diff --git a/examples/declarative/extending/signal/birthdayparty.cpp b/examples/declarative/extending/signal/birthdayparty.cpp
deleted file mode 100644
index 740c8c9cde..0000000000
--- a/examples/declarative/extending/signal/birthdayparty.cpp
+++ /dev/null
@@ -1,99 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the examples of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-#include "birthdayparty.h"
-
-BirthdayPartyAttached::BirthdayPartyAttached(QObject *object)
-: QObject(object)
-{
-}
-
-QDate BirthdayPartyAttached::rsvp() const
-{
- return m_rsvp;
-}
-
-void BirthdayPartyAttached::setRsvp(const QDate &d)
-{
- m_rsvp = d;
-}
-
-
-BirthdayParty::BirthdayParty(QObject *parent)
-: QObject(parent), m_host(0)
-{
-}
-
-Person *BirthdayParty::host() const
-{
- return m_host;
-}
-
-void BirthdayParty::setHost(Person *c)
-{
- m_host = c;
-}
-
-QDeclarativeListProperty<Person> BirthdayParty::guests()
-{
- return QDeclarativeListProperty<Person>(this, m_guests);
-}
-
-int BirthdayParty::guestCount() const
-{
- return m_guests.count();
-}
-
-Person *BirthdayParty::guest(int index) const
-{
- return m_guests.at(index);
-}
-
-void BirthdayParty::startParty()
-{
- QTime time = QTime::currentTime();
- emit partyStarted(time);
-}
-
-BirthdayPartyAttached *BirthdayParty::qmlAttachedProperties(QObject *object)
-{
- return new BirthdayPartyAttached(object);
-}
-
diff --git a/examples/declarative/extending/signal/birthdayparty.h b/examples/declarative/extending/signal/birthdayparty.h
deleted file mode 100644
index ae4dd39205..0000000000
--- a/examples/declarative/extending/signal/birthdayparty.h
+++ /dev/null
@@ -1,93 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the examples of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-#ifndef BIRTHDAYPARTY_H
-#define BIRTHDAYPARTY_H
-
-#include <QObject>
-#include <QDate>
-#include <qdeclarative.h>
-#include "person.h"
-
-class BirthdayPartyAttached : public QObject
-{
- Q_OBJECT
- Q_PROPERTY(QDate rsvp READ rsvp WRITE setRsvp)
-public:
- BirthdayPartyAttached(QObject *object);
-
- QDate rsvp() const;
- void setRsvp(const QDate &);
-
-private:
- QDate m_rsvp;
-};
-
-class BirthdayParty : public QObject
-{
- Q_OBJECT
- Q_PROPERTY(Person *host READ host WRITE setHost)
- Q_PROPERTY(QDeclarativeListProperty<Person> guests READ guests)
- Q_CLASSINFO("DefaultProperty", "guests")
-public:
- BirthdayParty(QObject *parent = 0);
-
- Person *host() const;
- void setHost(Person *);
-
- QDeclarativeListProperty<Person> guests();
- int guestCount() const;
- Person *guest(int) const;
-
- static BirthdayPartyAttached *qmlAttachedProperties(QObject *);
-
- void startParty();
-// ![0]
-signals:
- void partyStarted(const QTime &time);
-// ![0]
-
-private:
- Person *m_host;
- QList<Person *> m_guests;
-};
-QML_DECLARE_TYPEINFO(BirthdayParty, QML_HAS_ATTACHED_PROPERTIES)
-
-#endif // BIRTHDAYPARTY_H
diff --git a/examples/declarative/extending/signal/example.qml b/examples/declarative/extending/signal/example.qml
deleted file mode 100644
index 83d6a23184..0000000000
--- a/examples/declarative/extending/signal/example.qml
+++ /dev/null
@@ -1,32 +0,0 @@
-import People 1.0
-
-// ![0]
-BirthdayParty {
- onPartyStarted: console.log("This party started rockin' at " + time);
-// ![0]
-
- host: Boy {
- name: "Bob Jones"
- shoe { size: 12; color: "white"; brand: "Nike"; price: 90.0 }
- }
-
- Boy {
- name: "Leo Hodges"
- BirthdayParty.rsvp: "2009-07-06"
- shoe { size: 10; color: "black"; brand: "Reebok"; price: 59.95 }
- }
- Boy {
- name: "Jack Smith"
- shoe { size: 8; color: "blue"; brand: "Puma"; price: 19.95 }
- }
- Girl {
- name: "Anne Brown"
- BirthdayParty.rsvp: "2009-07-01"
- shoe.size: 7
- shoe.color: "red"
- shoe.brand: "Marc Jacobs"
- shoe.price: 699.99
- }
-// ![1]
-}
-// ![1]
diff --git a/examples/declarative/extending/signal/main.cpp b/examples/declarative/extending/signal/main.cpp
deleted file mode 100644
index 453f688426..0000000000
--- a/examples/declarative/extending/signal/main.cpp
+++ /dev/null
@@ -1,92 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the examples of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-#include <QCoreApplication>
-#include <QDeclarativeEngine>
-#include <QDeclarativeComponent>
-#include <QDebug>
-#include "birthdayparty.h"
-#include "person.h"
-
-int main(int argc, char ** argv)
-{
- QCoreApplication app(argc, argv);
-
- qmlRegisterType<BirthdayPartyAttached>();
- qmlRegisterType<BirthdayParty>("People", 1,0, "BirthdayParty");
- qmlRegisterType<ShoeDescription>();
- qmlRegisterType<Person>();
- qmlRegisterType<Boy>("People", 1,0, "Boy");
- qmlRegisterType<Girl>("People", 1,0, "Girl");
-
- QDeclarativeEngine engine;
- QDeclarativeComponent component(&engine, ":example.qml");
- BirthdayParty *party = qobject_cast<BirthdayParty *>(component.create());
-
- if (party && party->host()) {
- qWarning() << party->host()->name() << "is having a birthday!";
-
- if (qobject_cast<Boy *>(party->host()))
- qWarning() << "He is inviting:";
- else
- qWarning() << "She is inviting:";
-
- for (int ii = 0; ii < party->guestCount(); ++ii) {
- Person *guest = party->guest(ii);
-
- QDate rsvpDate;
- QObject *attached =
- qmlAttachedPropertiesObject<BirthdayParty>(guest, false);
- if (attached)
- rsvpDate = attached->property("rsvp").toDate();
-
- if (rsvpDate.isNull())
- qWarning() << " " << guest->name() << "RSVP date: Hasn't RSVP'd";
- else
- qWarning() << " " << guest->name() << "RSVP date:" << qPrintable(rsvpDate.toString());
- }
-
- party->startParty();
- } else {
- qWarning() << "An error occured";
- }
-
- return 0;
-}
diff --git a/examples/declarative/extending/signal/person.cpp b/examples/declarative/extending/signal/person.cpp
deleted file mode 100644
index 0a9e508302..0000000000
--- a/examples/declarative/extending/signal/person.cpp
+++ /dev/null
@@ -1,119 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the examples of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-#include "person.h"
-
-ShoeDescription::ShoeDescription(QObject *parent)
-: QObject(parent), m_size(0), m_price(0)
-{
-}
-
-int ShoeDescription::size() const
-{
- return m_size;
-}
-
-void ShoeDescription::setSize(int s)
-{
- m_size = s;
-}
-
-QColor ShoeDescription::color() const
-{
- return m_color;
-}
-
-void ShoeDescription::setColor(const QColor &c)
-{
- m_color = c;
-}
-
-QString ShoeDescription::brand() const
-{
- return m_brand;
-}
-
-void ShoeDescription::setBrand(const QString &b)
-{
- m_brand = b;
-}
-
-qreal ShoeDescription::price() const
-{
- return m_price;
-}
-
-void ShoeDescription::setPrice(qreal p)
-{
- m_price = p;
-}
-
-Person::Person(QObject *parent)
-: QObject(parent)
-{
-}
-
-QString Person::name() const
-{
- return m_name;
-}
-
-void Person::setName(const QString &n)
-{
- m_name = n;
-}
-
-ShoeDescription *Person::shoe()
-{
- return &m_shoe;
-}
-
-
-Boy::Boy(QObject * parent)
-: Person(parent)
-{
-}
-
-
-Girl::Girl(QObject * parent)
-: Person(parent)
-{
-}
-
diff --git a/examples/declarative/extending/signal/person.h b/examples/declarative/extending/signal/person.h
deleted file mode 100644
index 2f444c564d..0000000000
--- a/examples/declarative/extending/signal/person.h
+++ /dev/null
@@ -1,106 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the examples of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-#ifndef PERSON_H
-#define PERSON_H
-
-#include <QObject>
-#include <QColor>
-
-class ShoeDescription : public QObject
-{
- Q_OBJECT
- Q_PROPERTY(int size READ size WRITE setSize)
- Q_PROPERTY(QColor color READ color WRITE setColor)
- Q_PROPERTY(QString brand READ brand WRITE setBrand)
- Q_PROPERTY(qreal price READ price WRITE setPrice)
-public:
- ShoeDescription(QObject *parent = 0);
-
- int size() const;
- void setSize(int);
-
- QColor color() const;
- void setColor(const QColor &);
-
- QString brand() const;
- void setBrand(const QString &);
-
- qreal price() const;
- void setPrice(qreal);
-private:
- int m_size;
- QColor m_color;
- QString m_brand;
- qreal m_price;
-};
-
-class Person : public QObject
-{
- Q_OBJECT
- Q_PROPERTY(QString name READ name WRITE setName)
- Q_PROPERTY(ShoeDescription *shoe READ shoe)
-public:
- Person(QObject *parent = 0);
-
- QString name() const;
- void setName(const QString &);
-
- ShoeDescription *shoe();
-private:
- QString m_name;
- ShoeDescription m_shoe;
-};
-
-class Boy : public Person
-{
- Q_OBJECT
-public:
- Boy(QObject * parent = 0);
-};
-
-class Girl : public Person
-{
- Q_OBJECT
-public:
- Girl(QObject * parent = 0);
-};
-
-#endif // PERSON_H
diff --git a/examples/declarative/extending/valuesource/birthdayparty.cpp b/examples/declarative/extending/valuesource/birthdayparty.cpp
deleted file mode 100644
index b915f4f9eb..0000000000
--- a/examples/declarative/extending/valuesource/birthdayparty.cpp
+++ /dev/null
@@ -1,109 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the examples of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-#include "birthdayparty.h"
-
-BirthdayPartyAttached::BirthdayPartyAttached(QObject *object)
-: QObject(object)
-{
-}
-
-QDate BirthdayPartyAttached::rsvp() const
-{
- return m_rsvp;
-}
-
-void BirthdayPartyAttached::setRsvp(const QDate &d)
-{
- m_rsvp = d;
-}
-
-
-BirthdayParty::BirthdayParty(QObject *parent)
-: QObject(parent), m_host(0)
-{
-}
-
-Person *BirthdayParty::host() const
-{
- return m_host;
-}
-
-void BirthdayParty::setHost(Person *c)
-{
- m_host = c;
-}
-
-QDeclarativeListProperty<Person> BirthdayParty::guests()
-{
- return QDeclarativeListProperty<Person>(this, m_guests);
-}
-
-int BirthdayParty::guestCount() const
-{
- return m_guests.count();
-}
-
-Person *BirthdayParty::guest(int index) const
-{
- return m_guests.at(index);
-}
-
-void BirthdayParty::startParty()
-{
- QTime time = QTime::currentTime();
- emit partyStarted(time);
-}
-
-QString BirthdayParty::announcement() const
-{
- return QString();
-}
-
-void BirthdayParty::setAnnouncement(const QString &speak)
-{
- qWarning() << qPrintable(speak);
-}
-
-BirthdayPartyAttached *BirthdayParty::qmlAttachedProperties(QObject *object)
-{
- return new BirthdayPartyAttached(object);
-}
-
diff --git a/examples/declarative/extending/valuesource/birthdayparty.h b/examples/declarative/extending/valuesource/birthdayparty.h
deleted file mode 100644
index 5f257815a5..0000000000
--- a/examples/declarative/extending/valuesource/birthdayparty.h
+++ /dev/null
@@ -1,98 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the examples of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-#ifndef BIRTHDAYPARTY_H
-#define BIRTHDAYPARTY_H
-
-#include <QObject>
-#include <QDate>
-#include <QDebug>
-#include <qdeclarative.h>
-#include "person.h"
-
-class BirthdayPartyAttached : public QObject
-{
- Q_OBJECT
- Q_PROPERTY(QDate rsvp READ rsvp WRITE setRsvp)
-public:
- BirthdayPartyAttached(QObject *object);
-
- QDate rsvp() const;
- void setRsvp(const QDate &);
-
-private:
- QDate m_rsvp;
-};
-
-class BirthdayParty : public QObject
-{
- Q_OBJECT
- Q_PROPERTY(Person *host READ host WRITE setHost)
- Q_PROPERTY(QDeclarativeListProperty<Person> guests READ guests)
-// ![0]
- Q_PROPERTY(QString announcement READ announcement WRITE setAnnouncement)
-// ![0]
- Q_CLASSINFO("DefaultProperty", "guests")
-public:
- BirthdayParty(QObject *parent = 0);
-
- Person *host() const;
- void setHost(Person *);
-
- QDeclarativeListProperty<Person> guests();
- int guestCount() const;
- Person *guest(int) const;
-
- QString announcement() const;
- void setAnnouncement(const QString &);
-
- static BirthdayPartyAttached *qmlAttachedProperties(QObject *);
-
- void startParty();
-signals:
- void partyStarted(const QTime &time);
-
-private:
- Person *m_host;
- QList<Person *> m_guests;
-};
-QML_DECLARE_TYPEINFO(BirthdayParty, QML_HAS_ATTACHED_PROPERTIES)
-
-#endif // BIRTHDAYPARTY_H
diff --git a/examples/declarative/extending/valuesource/example.qml b/examples/declarative/extending/valuesource/example.qml
deleted file mode 100644
index 5b8c8affc8..0000000000
--- a/examples/declarative/extending/valuesource/example.qml
+++ /dev/null
@@ -1,36 +0,0 @@
-import People 1.0
-
-// ![0]
-BirthdayParty {
- HappyBirthdaySong on announcement { name: "Bob Jones" }
-// ![0]
-
- onPartyStarted: console.log("This party started rockin' at " + time);
-
-
- host: Boy {
- name: "Bob Jones"
- shoe { size: 12; color: "white"; brand: "Nike"; price: 90.0 }
- }
-
- Boy {
- name: "Leo Hodges"
- BirthdayParty.rsvp: "2009-07-06"
- shoe { size: 10; color: "black"; brand: "Reebok"; price: 59.95 }
- }
- Boy {
- name: "Jack Smith"
- shoe { size: 8; color: "blue"; brand: "Puma"; price: 19.95 }
- }
- Girl {
- name: "Anne Brown"
- BirthdayParty.rsvp: "2009-07-01"
- shoe.size: 7
- shoe.color: "red"
- shoe.brand: "Marc Jacobs"
- shoe.price: 699.99
- }
-
-// ![1]
-}
-// ![1]
diff --git a/examples/declarative/extending/valuesource/happybirthdaysong.cpp b/examples/declarative/extending/valuesource/happybirthdaysong.cpp
deleted file mode 100644
index 8ea5c2b56e..0000000000
--- a/examples/declarative/extending/valuesource/happybirthdaysong.cpp
+++ /dev/null
@@ -1,81 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the examples of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-#include "happybirthdaysong.h"
-#include <QTimer>
-
-HappyBirthdaySong::HappyBirthdaySong(QObject *parent)
-: QObject(parent), m_line(-1)
-{
- setName(QString());
- QTimer *timer = new QTimer(this);
- QObject::connect(timer, SIGNAL(timeout()), this, SLOT(advance()));
- timer->start(1000);
-}
-
-void HappyBirthdaySong::setTarget(const QDeclarativeProperty &p)
-{
- m_target = p;
-}
-
-QString HappyBirthdaySong::name() const
-{
- return m_name;
-}
-
-void HappyBirthdaySong::setName(const QString &name)
-{
- m_name = name;
-
- m_lyrics.clear();
- m_lyrics << "Happy birthday to you,";
- m_lyrics << "Happy birthday to you,";
- m_lyrics << "Happy birthday dear " + m_name + ",";
- m_lyrics << "Happy birthday to you!";
- m_lyrics << "";
-}
-
-void HappyBirthdaySong::advance()
-{
- m_line = (m_line + 1) % m_lyrics.count();
-
- m_target.write(m_lyrics.at(m_line));
-}
-
diff --git a/examples/declarative/extending/valuesource/happybirthdaysong.h b/examples/declarative/extending/valuesource/happybirthdaysong.h
deleted file mode 100644
index 3d079098e7..0000000000
--- a/examples/declarative/extending/valuesource/happybirthdaysong.h
+++ /dev/null
@@ -1,80 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the examples of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-#ifndef HAPPYBIRTHDAYSONG_H
-#define HAPPYBIRTHDAYSONG_H
-
-#include <QDeclarativePropertyValueSource>
-#include <QDeclarativeProperty>
-#include <qdeclarative.h>
-
-#include <QStringList>
-
-// ![0]
-class HappyBirthdaySong : public QObject, public QDeclarativePropertyValueSource
-{
- Q_OBJECT
- Q_INTERFACES(QDeclarativePropertyValueSource)
-// ![0]
- Q_PROPERTY(QString name READ name WRITE setName)
-// ![1]
-public:
- HappyBirthdaySong(QObject *parent = 0);
-
- virtual void setTarget(const QDeclarativeProperty &);
-// ![1]
-
- QString name() const;
- void setName(const QString &);
-
-private slots:
- void advance();
-
-private:
- int m_line;
- QStringList m_lyrics;
- QDeclarativeProperty m_target;
- QString m_name;
-// ![2]
-};
-// ![2]
-
-#endif // HAPPYBIRTHDAYSONG_H
-
diff --git a/examples/declarative/extending/valuesource/main.cpp b/examples/declarative/extending/valuesource/main.cpp
deleted file mode 100644
index 00840ee5fc..0000000000
--- a/examples/declarative/extending/valuesource/main.cpp
+++ /dev/null
@@ -1,94 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the examples of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-#include <QCoreApplication>
-#include <QDeclarativeEngine>
-#include <QDeclarativeComponent>
-#include <QDebug>
-#include "birthdayparty.h"
-#include "happybirthdaysong.h"
-#include "person.h"
-
-int main(int argc, char ** argv)
-{
- QCoreApplication app(argc, argv);
-
- qmlRegisterType<BirthdayPartyAttached>();
- qmlRegisterType<BirthdayParty>("People", 1,0, "BirthdayParty");
- qmlRegisterType<HappyBirthdaySong>("People", 1,0, "HappyBirthdaySong");
- qmlRegisterType<ShoeDescription>();
- qmlRegisterType<Person>();
- qmlRegisterType<Boy>("People", 1,0, "Boy");
- qmlRegisterType<Girl>("People", 1,0, "Girl");
-
- QDeclarativeEngine engine;
- QDeclarativeComponent component(&engine, ":example.qml");
- BirthdayParty *party = qobject_cast<BirthdayParty *>(component.create());
-
- if (party && party->host()) {
- qWarning() << party->host()->name() << "is having a birthday!";
-
- if (qobject_cast<Boy *>(party->host()))
- qWarning() << "He is inviting:";
- else
- qWarning() << "She is inviting:";
-
- for (int ii = 0; ii < party->guestCount(); ++ii) {
- Person *guest = party->guest(ii);
-
- QDate rsvpDate;
- QObject *attached =
- qmlAttachedPropertiesObject<BirthdayParty>(guest, false);
- if (attached)
- rsvpDate = attached->property("rsvp").toDate();
-
- if (rsvpDate.isNull())
- qWarning() << " " << guest->name() << "RSVP date: Hasn't RSVP'd";
- else
- qWarning() << " " << guest->name() << "RSVP date:" << qPrintable(rsvpDate.toString());
- }
-
- party->startParty();
- } else {
- qWarning() << "An error occured";
- }
-
- return app.exec();
-}
diff --git a/examples/declarative/extending/valuesource/person.cpp b/examples/declarative/extending/valuesource/person.cpp
deleted file mode 100644
index 0a9e508302..0000000000
--- a/examples/declarative/extending/valuesource/person.cpp
+++ /dev/null
@@ -1,119 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the examples of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-#include "person.h"
-
-ShoeDescription::ShoeDescription(QObject *parent)
-: QObject(parent), m_size(0), m_price(0)
-{
-}
-
-int ShoeDescription::size() const
-{
- return m_size;
-}
-
-void ShoeDescription::setSize(int s)
-{
- m_size = s;
-}
-
-QColor ShoeDescription::color() const
-{
- return m_color;
-}
-
-void ShoeDescription::setColor(const QColor &c)
-{
- m_color = c;
-}
-
-QString ShoeDescription::brand() const
-{
- return m_brand;
-}
-
-void ShoeDescription::setBrand(const QString &b)
-{
- m_brand = b;
-}
-
-qreal ShoeDescription::price() const
-{
- return m_price;
-}
-
-void ShoeDescription::setPrice(qreal p)
-{
- m_price = p;
-}
-
-Person::Person(QObject *parent)
-: QObject(parent)
-{
-}
-
-QString Person::name() const
-{
- return m_name;
-}
-
-void Person::setName(const QString &n)
-{
- m_name = n;
-}
-
-ShoeDescription *Person::shoe()
-{
- return &m_shoe;
-}
-
-
-Boy::Boy(QObject * parent)
-: Person(parent)
-{
-}
-
-
-Girl::Girl(QObject * parent)
-: Person(parent)
-{
-}
-
diff --git a/examples/declarative/extending/valuesource/person.h b/examples/declarative/extending/valuesource/person.h
deleted file mode 100644
index 2f444c564d..0000000000
--- a/examples/declarative/extending/valuesource/person.h
+++ /dev/null
@@ -1,106 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the examples of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-#ifndef PERSON_H
-#define PERSON_H
-
-#include <QObject>
-#include <QColor>
-
-class ShoeDescription : public QObject
-{
- Q_OBJECT
- Q_PROPERTY(int size READ size WRITE setSize)
- Q_PROPERTY(QColor color READ color WRITE setColor)
- Q_PROPERTY(QString brand READ brand WRITE setBrand)
- Q_PROPERTY(qreal price READ price WRITE setPrice)
-public:
- ShoeDescription(QObject *parent = 0);
-
- int size() const;
- void setSize(int);
-
- QColor color() const;
- void setColor(const QColor &);
-
- QString brand() const;
- void setBrand(const QString &);
-
- qreal price() const;
- void setPrice(qreal);
-private:
- int m_size;
- QColor m_color;
- QString m_brand;
- qreal m_price;
-};
-
-class Person : public QObject
-{
- Q_OBJECT
- Q_PROPERTY(QString name READ name WRITE setName)
- Q_PROPERTY(ShoeDescription *shoe READ shoe)
-public:
- Person(QObject *parent = 0);
-
- QString name() const;
- void setName(const QString &);
-
- ShoeDescription *shoe();
-private:
- QString m_name;
- ShoeDescription m_shoe;
-};
-
-class Boy : public Person
-{
- Q_OBJECT
-public:
- Boy(QObject * parent = 0);
-};
-
-class Girl : public Person
-{
- Q_OBJECT
-public:
- Girl(QObject * parent = 0);
-};
-
-#endif // PERSON_H
diff --git a/examples/declarative/fillmode/content/QtLogo.qml b/examples/declarative/fillmode/content/QtLogo.qml
deleted file mode 100644
index 6dd714d41c..0000000000
--- a/examples/declarative/fillmode/content/QtLogo.qml
+++ /dev/null
@@ -1,30 +0,0 @@
-import Qt 4.7
-
-Item {
- id: qtLogo
-
- property alias fillMode: image.fillMode
- property alias label: labelText.text
-
- width: ((window.width - 20) - ((grid.columns - 1) * grid.spacing)) / grid.columns
- height: ((window.height - 20) - ((grid.rows - 1) * grid.spacing)) / grid.rows
-
- Column {
- anchors.fill: parent
-
- Rectangle {
- height: qtLogo.height - 30; width: qtLogo.width
- border.color: "black"; clip: true
-
- Image {
- id: image
- anchors.fill: parent; smooth: true; source: "qt-logo.png"
- }
- }
-
- Text {
- id: labelText; anchors.horizontalCenter: parent.horizontalCenter
- height: 30; verticalAlignment: Text.AlignVCenter
- }
- }
-}
diff --git a/examples/declarative/fillmode/fillmode.qml b/examples/declarative/fillmode/fillmode.qml
deleted file mode 100644
index e5b0336442..0000000000
--- a/examples/declarative/fillmode/fillmode.qml
+++ /dev/null
@@ -1,22 +0,0 @@
-import Qt 4.7
-import "content"
-
-Rectangle {
- id: window
-
- width: 800; height: 480
- color: "#cdcdcd"
-
- Grid {
- id: grid
- anchors { fill: parent; topMargin: 10; leftMargin: 10; rightMargin: 10; bottomMargin: 10 }
- columns: 3; rows: 2; spacing: 20
-
- QtLogo { fillMode: Image.Stretch; label: "Stretch" }
- QtLogo { fillMode: Image.PreserveAspectFit; label: "PreserveAspectFit" }
- QtLogo { fillMode: Image.PreserveAspectCrop; label: "PreserveAspectCrop" }
- QtLogo { fillMode: Image.Tile; label: "Tile" }
- QtLogo { fillMode: Image.TileHorizontally; label: "TileHorizontally" }
- QtLogo { fillMode: Image.TileVertically; label: "TileVertically" }
- }
-}
diff --git a/examples/declarative/flipable/content/Card.qml b/examples/declarative/flipable/content/Card.qml
deleted file mode 100644
index 2577d890e4..0000000000
--- a/examples/declarative/flipable/content/Card.qml
+++ /dev/null
@@ -1,38 +0,0 @@
-import Qt 4.7
-
-Flipable {
- id: container
-
- property alias image: frontImage.source
- property bool flipped: true
- property int xAxis: 0
- property int yAxis: 0
- property int angle: 0
-
- width: front.width; height: front.height; state: "back"
-
- front: Image { id: frontImage; smooth: true }
- back: Image { source: "back.png"; smooth: true }
-
- MouseArea { anchors.fill: parent; onClicked: container.flipped = !container.flipped }
-
- transform: Rotation {
- id: rotation; origin.x: container.width / 2; origin.y: container.height / 2
- axis.x: container.xAxis; axis.y: container.yAxis; axis.z: 0
- }
-
- states: State {
- name: "back"; when: container.flipped
- PropertyChanges { target: rotation; angle: container.angle }
- }
-
- transitions: Transition {
- ParallelAnimation {
- NumberAnimation { target: rotation; properties: "angle"; duration: 600 }
- SequentialAnimation {
- NumberAnimation { target: container; property: "scale"; to: 0.75; duration: 300 }
- NumberAnimation { target: container; property: "scale"; to: 1.0; duration: 300 }
- }
- }
- }
-}
diff --git a/examples/declarative/flipable/flipable-example.qml b/examples/declarative/flipable/flipable-example.qml
deleted file mode 100644
index 4e09569ea1..0000000000
--- a/examples/declarative/flipable/flipable-example.qml
+++ /dev/null
@@ -1,15 +0,0 @@
-import Qt 4.7
-import "content"
-
-Rectangle {
- id: window
-
- width: 480; height: 320
- color: "darkgreen"
-
- Row {
- anchors.centerIn: parent; spacing: 30
- Card { image: "content/9_club.png"; angle: 180; yAxis: 1 }
- Card { image: "content/5_heart.png"; angle: 540; xAxis: 1 }
- }
-}
diff --git a/examples/declarative/focus/Core/ContextMenu.qml b/examples/declarative/focus/Core/ContextMenu.qml
deleted file mode 100644
index 49a54bc61a..0000000000
--- a/examples/declarative/focus/Core/ContextMenu.qml
+++ /dev/null
@@ -1,18 +0,0 @@
-import Qt 4.7
-
-FocusScope {
- id: container
-
- property bool open: false
-
- Item {
- anchors.fill: parent
-
- Rectangle {
- anchors.fill: parent
- color: "#D1DBBD"
- focus: true
- Keys.onRightPressed: mainView.focus = true
- }
- }
-}
diff --git a/examples/declarative/focus/Core/GridMenu.qml b/examples/declarative/focus/Core/GridMenu.qml
deleted file mode 100644
index 3f727fda6b..0000000000
--- a/examples/declarative/focus/Core/GridMenu.qml
+++ /dev/null
@@ -1,61 +0,0 @@
-import Qt 4.7
-
-FocusScope {
- property alias interactive: gridView.interactive
-
- onWantsFocusChanged: if (wantsFocus) mainView.state = ""
-
- Rectangle {
- anchors.fill: parent
- clip: true
- gradient: Gradient {
- GradientStop { position: 0.0; color: "#193441" }
- GradientStop { position: 1.0; color: Qt.darker("#193441") }
- }
-
- GridView {
- id: gridView
- x: 20; width: parent.width - 40; height: parent.height
- cellWidth: 152; cellHeight: 152
- focus: true
- model: 12
- KeyNavigation.down: listViews
- KeyNavigation.left: contextMenu
-
- delegate: Item {
- id: container
- width: GridView.view.cellWidth; height: GridView.view.cellHeight
-
- Rectangle {
- id: content
- color: "transparent"
- smooth: true
- anchors.centerIn: parent; width: container.width - 40; height: container.height - 40; radius: 10
-
- Rectangle { color: "#91AA9D"; x: 3; y: 3; width: parent.width - 6; height: parent.height - 6; radius: 8 }
- Image { source: "images/qt-logo.png"; anchors.centerIn: parent; smooth: true }
- }
-
- MouseArea {
- id: mouseArea
- anchors.fill: parent
- hoverEnabled: true
-
- onClicked: {
- GridView.view.currentIndex = index
- container.forceFocus()
- }
- }
-
- states: State {
- name: "active"; when: container.focus == true
- PropertyChanges { target: content; color: "#FCFFF5"; scale: 1.1 }
- }
-
- transitions: Transition {
- NumberAnimation { properties: "scale"; duration: 100 }
- }
- }
- }
- }
-}
diff --git a/examples/declarative/focus/Core/ListViewDelegate.qml b/examples/declarative/focus/Core/ListViewDelegate.qml
deleted file mode 100644
index 14e2548f2a..0000000000
--- a/examples/declarative/focus/Core/ListViewDelegate.qml
+++ /dev/null
@@ -1,40 +0,0 @@
-import Qt 4.7
-
-Item {
- id: container
- x: 5; width: ListView.view.width - 10; height: 60
-
- Rectangle {
- id: content
- anchors.centerIn: parent; width: container.width - 40; height: container.height - 10
- color: "transparent"
- smooth: true
- radius: 10
-
- Rectangle { color: "#91AA9D"; x: 3; y: 3; width: parent.width - 6; height: parent.height - 6; radius: 8 }
- Text {
- text: "List element " + (index + 1); color: "#193441"; font.bold: false; anchors.centerIn: parent
- font.pixelSize: 14
- }
- }
-
- MouseArea {
- id: mouseArea
- anchors.fill: parent
- hoverEnabled: true
-
- onClicked: {
- ListView.view.currentIndex = index
- container.forceFocus()
- }
- }
-
- states: State {
- name: "active"; when: container.focus == true
- PropertyChanges { target: content; color: "#FCFFF5"; scale: 1.1 }
- }
-
- transitions: Transition {
- NumberAnimation { properties: "scale"; duration: 100 }
- }
-}
diff --git a/examples/declarative/focus/Core/ListViews.qml b/examples/declarative/focus/Core/ListViews.qml
deleted file mode 100644
index 089f821f30..0000000000
--- a/examples/declarative/focus/Core/ListViews.qml
+++ /dev/null
@@ -1,62 +0,0 @@
-import Qt 4.7
-
-FocusScope {
- clip: true
-
- onWantsFocusChanged: if (wantsFocus) mainView.state = "showListViews"
-
- ListView {
- id: list1
- y: wantsFocus ? 10 : 40; width: parent.width / 3; height: parent.height - 20
- focus: true
- KeyNavigation.up: gridMenu; KeyNavigation.left: contextMenu; KeyNavigation.right: list2
- model: 10; cacheBuffer: 200
- delegate: ListViewDelegate {}
-
- Behavior on y {
- NumberAnimation { duration: 600; easing.type: "OutQuint" }
- }
- }
-
- ListView {
- id: list2
- y: wantsFocus ? 10 : 40; x: parent.width / 3; width: parent.width / 3; height: parent.height - 20
- KeyNavigation.up: gridMenu; KeyNavigation.left: list1; KeyNavigation.right: list3
- model: 10; cacheBuffer: 200
- delegate: ListViewDelegate {}
-
- Behavior on y {
- NumberAnimation { duration: 600; easing.type: "OutQuint" }
- }
- }
-
- ListView {
- id: list3
- y: wantsFocus ? 10 : 40; x: 2 * parent.width / 3; width: parent.width / 3; height: parent.height - 20
- KeyNavigation.up: gridMenu; KeyNavigation.left: list2
- model: 10; cacheBuffer: 200
- delegate: ListViewDelegate {}
-
- Behavior on y {
- NumberAnimation { duration: 600; easing.type: "OutQuint" }
- }
- }
-
- Rectangle { width: parent.width; height: 1; color: "#D1DBBD" }
-
- Rectangle {
- y: 1; width: parent.width; height: 10
- gradient: Gradient {
- GradientStop { position: 0.0; color: "#3E606F" }
- GradientStop { position: 1.0; color: "transparent" }
- }
- }
-
- Rectangle {
- y: parent.height - 10; width: parent.width; height: 10
- gradient: Gradient {
- GradientStop { position: 1.0; color: "#3E606F" }
- GradientStop { position: 0.0; color: "transparent" }
- }
- }
-}
diff --git a/examples/declarative/focus/Core/images/qt-logo.png b/examples/declarative/focus/Core/images/qt-logo.png
deleted file mode 100644
index 14ddf2a028..0000000000
--- a/examples/declarative/focus/Core/images/qt-logo.png
+++ /dev/null
Binary files differ
diff --git a/examples/declarative/focus/focus.qml b/examples/declarative/focus/focus.qml
deleted file mode 100644
index 22b0e503b2..0000000000
--- a/examples/declarative/focus/focus.qml
+++ /dev/null
@@ -1,69 +0,0 @@
-import Qt 4.7
-import "Core"
-
-Rectangle {
- id: window
-
- width: 800; height: 480
- color: "#3E606F"
-
- FocusScope {
- id: mainView
-
- width: parent.width; height: parent.height
- focus: true
-
- GridMenu {
- id: gridMenu
-
- width: parent.width; height: 320
- focus: true
- interactive: parent.wantsFocus
- }
-
- ListViews {
- id: listViews
- y: 320; width: parent.width; height: 320
- }
-
- Rectangle {
- id: shade
- color: "black"; opacity: 0; anchors.fill: parent
- }
-
- states: State {
- name: "showListViews"
- PropertyChanges { target: gridMenu; y: -160 }
- PropertyChanges { target: listViews; y: 160 }
- }
-
- transitions: Transition {
- NumberAnimation { properties: "y"; duration: 600; easing.type: "OutQuint" }
- }
- }
-
- Image {
- source: "Core/images/arrow.png"
- rotation: 90
- anchors.verticalCenter: parent.verticalCenter
-
- MouseArea {
- anchors { fill: parent; leftMargin: -10; topMargin: -10; rightMargin: -10; bottomMargin: -10 }
- onClicked: window.state = "contextMenuOpen"
- }
- }
-
- ContextMenu { id: contextMenu; x: -265; width: 260; height: parent.height }
-
- states: State {
- name: "contextMenuOpen"
- when: !mainView.wantsFocus
- PropertyChanges { target: contextMenu; x: 0; open: true }
- PropertyChanges { target: mainView; x: 130 }
- PropertyChanges { target: shade; opacity: 0.25 }
- }
-
- transitions: Transition {
- NumberAnimation { properties: "x,opacity"; duration: 600; easing.type: "OutQuint" }
- }
-}
diff --git a/examples/declarative/fonts/banner.qml b/examples/declarative/fonts/banner.qml
deleted file mode 100644
index 353354acb7..0000000000
--- a/examples/declarative/fonts/banner.qml
+++ /dev/null
@@ -1,21 +0,0 @@
-import Qt 4.7
-
-Rectangle {
- id: screen
-
- property int pixelSize: screen.height * 1.25
- property color textColor: "lightsteelblue"
- property string text: "Hello world! "
-
- width: 640; height: 320
- color: "steelblue"
-
- Row {
- y: -screen.height / 4.5
-
- NumberAnimation on x { from: 0; to: -text.width; duration: 6000; loops: Animation.Infinite }
- Text { id: text; font.pixelSize: screen.pixelSize; color: screen.textColor; text: screen.text }
- Text { font.pixelSize: screen.pixelSize; color: screen.textColor; text: screen.text }
- Text { font.pixelSize: screen.pixelSize; color: screen.textColor; text: screen.text }
- }
-}
diff --git a/examples/declarative/fonts/fonts.qml b/examples/declarative/fonts/fonts.qml
deleted file mode 100644
index ae31b036fc..0000000000
--- a/examples/declarative/fonts/fonts.qml
+++ /dev/null
@@ -1,64 +0,0 @@
-import Qt 4.7
-
-Rectangle {
- property string myText: "The quick brown fox jumps over the lazy dog."
-
- width: 800; height: 480
- color: "steelblue"
-
- FontLoader { id: fixedFont; name: "Courier" }
- FontLoader { id: localFont; source: "fonts/tarzeau_ocr_a.ttf" }
- FontLoader { id: webFont; source: "http://www.princexml.com/fonts/steffmann/Starburst.ttf" }
-
- Column {
- anchors { fill: parent; leftMargin: 10; rightMargin: 10 }
- spacing: 15
-
- Text {
- text: myText
- color: "lightsteelblue"
- width: parent.width
- elide: Text.ElideRight
- font.family: "Times"; font.pointSize: 42
- }
- Text {
- text: myText
- color: "lightsteelblue"
- width: parent.width
- elide: Text.ElideLeft
- font { family: "Times"; pointSize: 42; capitalization: Font.AllUppercase }
- }
- Text {
- text: myText
- color: "lightsteelblue"
- width: parent.width
- elide: Text.ElideMiddle
- font { family: fixedFont.name; pointSize: 42; weight: Font.Bold; capitalization: Font.AllLowercase }
- }
- Text {
- text: myText
- color: "lightsteelblue"
- width: parent.width
- elide: Text.ElideRight
- font { family: fixedFont.name; pointSize: 42; italic: true; capitalization: Font.SmallCaps }
- }
- Text {
- text: myText
- color: "lightsteelblue"
- width: parent.width
- elide: Text.ElideLeft
- font { family: localFont.name; pointSize: 42; capitalization: Font.Capitalize }
- }
- Text {
- text: {
- if (webFont.status == 1) myText
- else if (webFont.status == 2) "Loading..."
- else if (webFont.status == 3) "Error loading font"
- }
- color: "lightsteelblue"
- width: parent.width
- elide: Text.ElideMiddle
- font.family: webFont.name; font.pointSize: 42
- }
- }
-}
diff --git a/examples/declarative/fonts/hello.qml b/examples/declarative/fonts/hello.qml
deleted file mode 100644
index d4d0e4cee4..0000000000
--- a/examples/declarative/fonts/hello.qml
+++ /dev/null
@@ -1,38 +0,0 @@
-import Qt 4.7
-
-Rectangle {
- id: screen
-
- width: 800; height: 480
- color: "black"
-
- Item {
- id: container
- x: screen.width / 2; y: screen.height / 2
-
- Text {
- id: text
- anchors.centerIn: parent
- color: "white"
- text: "Hello world!"
- font.pixelSize: 60
-
- SequentialAnimation on font.letterSpacing {
- loops: Animation.Infinite;
- NumberAnimation { from: 100; to: 300; easing.type: "InQuad"; duration: 3000 }
- ScriptAction {
- script: {
- container.y = (screen.height / 4) + (Math.random() * screen.height / 2)
- container.x = (screen.width / 4) + (Math.random() * screen.width / 2)
- }
- }
- }
-
- SequentialAnimation on opacity {
- loops: Animation.Infinite;
- NumberAnimation { from: 1; to: 0; duration: 2600 }
- PauseAnimation { duration: 400 }
- }
- }
- }
-}
diff --git a/examples/declarative/gestures/experimental-gestures.qml b/examples/declarative/gestures/experimental-gestures.qml
deleted file mode 100644
index cb190ea0ee..0000000000
--- a/examples/declarative/gestures/experimental-gestures.qml
+++ /dev/null
@@ -1,36 +0,0 @@
-import Qt 4.7
-import Qt.labs.gestures 1.0
-
-// Only works on platforms with Touch support.
-
-Rectangle {
- id: rect
- width: 320
- height: 180
-
- Text {
- anchors.centerIn: parent
- text: "Tap / TapAndHold / Pan / Pinch / Swipe\nOnly works on platforms with Touch support."
- horizontalAlignment: Text.Center
- }
-
- GestureArea {
- anchors.fill: parent
- focus: true
-
- // Only some of the many gesture properties are shown. See Gesture documentation.
-
- onTap:
- console.log("tap pos = (",gesture.position.x,",",gesture.position.y,")")
- onTapAndHold:
- console.log("tap and hold pos = (",gesture.position.x,",",gesture.position.y,")")
- onPan:
- console.log("pan delta = (",gesture.delta.x,",",gesture.delta.y,") acceleration = ",gesture.acceleration)
- onPinch:
- console.log("pinch center = (",gesture.centerPoint.x,",",gesture.centerPoint.y,") rotation =",gesture.rotationAngle," scale =",gesture.scaleFactor)
- onSwipe:
- console.log("swipe angle=",gesture.swipeAngle)
- onGesture:
- console.log("gesture hot spot = (",gesture.hotSpot.x,",",gesture.hotSpot.y,")")
- }
-}
diff --git a/examples/declarative/gridview/gridview-example.qml b/examples/declarative/gridview/gridview-example.qml
deleted file mode 100644
index a5f41fb874..0000000000
--- a/examples/declarative/gridview/gridview-example.qml
+++ /dev/null
@@ -1,49 +0,0 @@
-import Qt 4.7
-
-Rectangle {
- width: 300; height: 400
- color: "white"
-
- ListModel {
- id: appModel
- ListElement { name: "Music"; icon: "pics/AudioPlayer_48.png" }
- ListElement { name: "Movies"; icon: "pics/VideoPlayer_48.png" }
- ListElement { name: "Camera"; icon: "pics/Camera_48.png" }
- ListElement { name: "Calendar"; icon: "pics/DateBook_48.png" }
- ListElement { name: "Messaging"; icon: "pics/EMail_48.png" }
- ListElement { name: "Todo List"; icon: "pics/TodoList_48.png" }
- ListElement { name: "Contacts"; icon: "pics/AddressBook_48.png" }
- }
-
- Component {
- id: appDelegate
-
- Item {
- width: 100; height: 100
-
- Image {
- id: myIcon
- y: 20; anchors.horizontalCenter: parent.horizontalCenter
- source: icon
- }
- Text {
- anchors { top: myIcon.bottom; horizontalCenter: parent.horizontalCenter }
- text: name
- }
- }
- }
-
- Component {
- id: appHighlight
- Rectangle { width: 80; height: 80; color: "lightsteelblue" }
- }
-
- GridView {
- anchors.fill: parent
- cellWidth: 100; cellHeight: 100
- highlight: appHighlight
- focus: true
- model: appModel
- delegate: appDelegate
- }
-}
diff --git a/examples/declarative/i18n/i18n.qml b/examples/declarative/i18n/i18n.qml
new file mode 100644
index 0000000000..7bbb19c33c
--- /dev/null
+++ b/examples/declarative/i18n/i18n.qml
@@ -0,0 +1,77 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+import Qt 4.7
+
+//
+// The QML runtime automatically loads a translation from the i18n subdirectory of the root
+// QML file, based on the system language.
+//
+// The files are created/updated by running:
+//
+// lupdate i18n.qml -ts i18n/base.ts
+//
+// Translations for new languages are created by copying i18n/base.ts to i18n/qml_<lang>.ts
+// The .ts files can then be edited with Linguist:
+//
+// linguist i18n/qml_fr.ts
+//
+// The run-time translation files are then generaeted by running:
+//
+// lrelease i18n/*.ts
+//
+
+Rectangle {
+ width: 640; height: 480
+
+ Column {
+ anchors.fill: parent; spacing: 20
+
+ Text {
+ text: "If a translation is available for the system language (eg. French) then the string below will translated (eg. 'Bonjour'). Otherwise is will show 'Hello'."
+ width: parent.width; wrapMode: Text.WordWrap
+ }
+
+ Text {
+ text: qsTr("Hello")
+ font.pointSize: 25; anchors.horizontalCenter: parent.horizontalCenter
+ }
+ }
+}
diff --git a/examples/declarative/focus/focus.qmlproject b/examples/declarative/i18n/i18n.qmlproject
index d4909f8685..d4909f8685 100644
--- a/examples/declarative/focus/focus.qmlproject
+++ b/examples/declarative/i18n/i18n.qmlproject
diff --git a/examples/declarative/i18n/i18n/base.ts b/examples/declarative/i18n/i18n/base.ts
new file mode 100644
index 0000000000..82547a1f93
--- /dev/null
+++ b/examples/declarative/i18n/i18n/base.ts
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.0" sourcelanguage="en">
+<context>
+ <name>i18n</name>
+ <message>
+ <location filename="../i18n.qml" line="30"/>
+ <source>Hello</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+</TS>
diff --git a/examples/declarative/i18n/i18n/qml_en_AU.qm b/examples/declarative/i18n/i18n/qml_en_AU.qm
new file mode 100644
index 0000000000..fb8b710349
--- /dev/null
+++ b/examples/declarative/i18n/i18n/qml_en_AU.qm
Binary files differ
diff --git a/examples/declarative/i18n/i18n/qml_en_AU.ts b/examples/declarative/i18n/i18n/qml_en_AU.ts
new file mode 100644
index 0000000000..e991affe7f
--- /dev/null
+++ b/examples/declarative/i18n/i18n/qml_en_AU.ts
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.0" language="en_AU" sourcelanguage="en">
+<context>
+ <name>i18n</name>
+ <message>
+ <location filename="../i18n.qml" line="30"/>
+ <source>Hello</source>
+ <translation>G&apos;day</translation>
+ </message>
+</context>
+</TS>
diff --git a/examples/declarative/i18n/i18n/qml_fr.qm b/examples/declarative/i18n/i18n/qml_fr.qm
new file mode 100644
index 0000000000..583562ecca
--- /dev/null
+++ b/examples/declarative/i18n/i18n/qml_fr.qm
Binary files differ
diff --git a/examples/declarative/i18n/i18n/qml_fr.ts b/examples/declarative/i18n/i18n/qml_fr.ts
new file mode 100644
index 0000000000..365abd95c2
--- /dev/null
+++ b/examples/declarative/i18n/i18n/qml_fr.ts
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.0" language="fr" sourcelanguage="en">
+<context>
+ <name>i18n</name>
+ <message>
+ <location filename="../i18n.qml" line="30"/>
+ <source>Hello</source>
+ <translation>Bonjour</translation>
+ </message>
+</context>
+</TS>
diff --git a/examples/declarative/imageelements/borderimage/borderimage.qml b/examples/declarative/imageelements/borderimage/borderimage.qml
new file mode 100644
index 0000000000..98e573eb40
--- /dev/null
+++ b/examples/declarative/imageelements/borderimage/borderimage.qml
@@ -0,0 +1,97 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+import Qt 4.7
+import "content"
+
+Rectangle {
+ id: page
+ width: 1030; height: 540
+
+ Grid {
+ anchors.centerIn: parent; spacing: 20
+
+ MyBorderImage {
+ minWidth: 120; maxWidth: 240; minHeight: 120; maxHeight: 240
+ source: "content/colors.png"; margin: 30
+ }
+
+ MyBorderImage {
+ minWidth: 120; maxWidth: 240; minHeight: 120; maxHeight: 240
+ source: "content/colors.png"; margin: 30
+ horizontalMode: BorderImage.Repeat; verticalMode: BorderImage.Repeat
+ }
+
+ MyBorderImage {
+ minWidth: 120; maxWidth: 240; minHeight: 120; maxHeight: 240
+ source: "content/colors.png"; margin: 30
+ horizontalMode: BorderImage.Stretch; verticalMode: BorderImage.Repeat
+ }
+
+ MyBorderImage {
+ minWidth: 120; maxWidth: 240; minHeight: 120; maxHeight: 240
+ source: "content/colors.png"; margin: 30
+ horizontalMode: BorderImage.Round; verticalMode: BorderImage.Round
+ }
+
+ MyBorderImage {
+ minWidth: 60; maxWidth: 200; minHeight: 40; maxHeight: 200
+ source: "content/bw.png"; margin: 10
+ }
+
+ MyBorderImage {
+ minWidth: 60; maxWidth: 200; minHeight: 40; maxHeight: 200
+ source: "content/bw.png"; margin: 10
+ horizontalMode: BorderImage.Repeat; verticalMode: BorderImage.Repeat
+ }
+
+ MyBorderImage {
+ minWidth: 60; maxWidth: 200; minHeight: 40; maxHeight: 200
+ source: "content/bw.png"; margin: 10
+ horizontalMode: BorderImage.Stretch; verticalMode: BorderImage.Repeat
+ }
+
+ MyBorderImage {
+ minWidth: 60; maxWidth: 200; minHeight: 40; maxHeight: 200
+ source: "content/bw.png"; margin: 10
+ horizontalMode: BorderImage.Round; verticalMode: BorderImage.Round
+ }
+ }
+}
diff --git a/examples/declarative/fonts/fonts.qmlproject b/examples/declarative/imageelements/borderimage/borderimage.qmlproject
index d4909f8685..d4909f8685 100644
--- a/examples/declarative/fonts/fonts.qmlproject
+++ b/examples/declarative/imageelements/borderimage/borderimage.qmlproject
diff --git a/examples/declarative/imageelements/borderimage/content/MyBorderImage.qml b/examples/declarative/imageelements/borderimage/content/MyBorderImage.qml
new file mode 100644
index 0000000000..10e6822734
--- /dev/null
+++ b/examples/declarative/imageelements/borderimage/content/MyBorderImage.qml
@@ -0,0 +1,90 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+import Qt 4.7
+
+Item {
+ id: container
+
+ property alias horizontalMode: image.horizontalTileMode
+ property alias verticalMode: image.verticalTileMode
+ property alias source: image.source
+
+ property int minWidth
+ property int minHeight
+ property int maxWidth
+ property int maxHeight
+ property int margin
+
+ width: 240; height: 240
+
+ BorderImage {
+ id: image; anchors.centerIn: parent
+
+ SequentialAnimation on width {
+ loops: Animation.Infinite
+ NumberAnimation {
+ from: container.minWidth; to: container.maxWidth
+ duration: 2000; easing.type: Easing.InOutQuad
+ }
+ NumberAnimation {
+ from: container.maxWidth; to: container.minWidth
+ duration: 2000; easing.type: Easing.InOutQuad
+ }
+ }
+
+ SequentialAnimation on height {
+ loops: Animation.Infinite
+ NumberAnimation {
+ from: container.minHeight; to: container.maxHeight
+ duration: 2000; easing.type: Easing.InOutQuad
+ }
+ NumberAnimation {
+ from: container.maxHeight; to: container.minHeight
+ duration: 2000; easing.type: Easing.InOutQuad
+ }
+ }
+
+ border.top: container.margin
+ border.left: container.margin
+ border.bottom: container.margin
+ border.right: container.margin
+ }
+}
diff --git a/examples/declarative/imageelements/borderimage/content/ShadowRectangle.qml b/examples/declarative/imageelements/borderimage/content/ShadowRectangle.qml
new file mode 100644
index 0000000000..0806fc8753
--- /dev/null
+++ b/examples/declarative/imageelements/borderimage/content/ShadowRectangle.qml
@@ -0,0 +1,54 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+import Qt 4.7
+
+Item {
+ property alias color : rectangle.color
+
+ BorderImage {
+ anchors.fill: rectangle
+ anchors { leftMargin: -6; topMargin: -6; rightMargin: -8; bottomMargin: -8 }
+ border { left: 10; top: 10; right: 10; bottom: 10 }
+ source: "shadow.png"; smooth: true
+ }
+
+ Rectangle { id: rectangle; anchors.fill: parent }
+}
diff --git a/examples/declarative/border-image/content/bw.png b/examples/declarative/imageelements/borderimage/content/bw.png
index 486eaae96e..486eaae96e 100644
--- a/examples/declarative/border-image/content/bw.png
+++ b/examples/declarative/imageelements/borderimage/content/bw.png
Binary files differ
diff --git a/examples/declarative/border-image/content/colors-round.sci b/examples/declarative/imageelements/borderimage/content/colors-round.sci
index 506f6f5f99..506f6f5f99 100644
--- a/examples/declarative/border-image/content/colors-round.sci
+++ b/examples/declarative/imageelements/borderimage/content/colors-round.sci
diff --git a/examples/declarative/border-image/content/colors-stretch.sci b/examples/declarative/imageelements/borderimage/content/colors-stretch.sci
index e4989a723c..e4989a723c 100644
--- a/examples/declarative/border-image/content/colors-stretch.sci
+++ b/examples/declarative/imageelements/borderimage/content/colors-stretch.sci
diff --git a/examples/declarative/border-image/content/colors.png b/examples/declarative/imageelements/borderimage/content/colors.png
index dfb62f3d64..dfb62f3d64 100644
--- a/examples/declarative/border-image/content/colors.png
+++ b/examples/declarative/imageelements/borderimage/content/colors.png
Binary files differ
diff --git a/examples/declarative/imageelements/borderimage/content/shadow.png b/examples/declarative/imageelements/borderimage/content/shadow.png
new file mode 100644
index 0000000000..431af8545d
--- /dev/null
+++ b/examples/declarative/imageelements/borderimage/content/shadow.png
Binary files differ
diff --git a/examples/declarative/imageelements/borderimage/shadows.qml b/examples/declarative/imageelements/borderimage/shadows.qml
new file mode 100644
index 0000000000..365d29304b
--- /dev/null
+++ b/examples/declarative/imageelements/borderimage/shadows.qml
@@ -0,0 +1,64 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+import Qt 4.7
+import "content"
+
+Rectangle {
+ id: window
+
+ width: 480; height: 320
+ color: "gray"
+
+ ShadowRectangle {
+ anchors.centerIn: parent; width: 250; height: 250
+ color: "lightsteelblue"
+ }
+
+ ShadowRectangle {
+ anchors.centerIn: parent; width: 200; height: 200
+ color: "steelblue"
+ }
+
+ ShadowRectangle {
+ anchors.centerIn: parent; width: 150; height: 150
+ color: "thistle"
+ }
+}
diff --git a/examples/declarative/imageelements/image/ImageCell.qml b/examples/declarative/imageelements/image/ImageCell.qml
new file mode 100644
index 0000000000..bd232b9502
--- /dev/null
+++ b/examples/declarative/imageelements/image/ImageCell.qml
@@ -0,0 +1,60 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+import Qt 4.7
+
+Item {
+ property alias mode: image.fillMode
+ property alias caption: captionItem.text
+
+ width: parent.cellWidth; height: parent.cellHeight
+
+ Image {
+ id: image
+ width: parent.width; height: parent.height - captionItem.height
+ source: "face-smile.png"
+ clip: true // only makes a difference if mode is PreserveAspectCrop
+ smooth: true
+ }
+
+ Text {
+ id: captionItem
+ anchors.horizontalCenter: parent.horizontalCenter; anchors.bottom: parent.bottom
+ }
+}
diff --git a/examples/declarative/dynamic/images/face-smile.png b/examples/declarative/imageelements/image/face-smile.png
index 3d66d72578..3d66d72578 100644
--- a/examples/declarative/dynamic/images/face-smile.png
+++ b/examples/declarative/imageelements/image/face-smile.png
Binary files differ
diff --git a/examples/declarative/imageelements/image/image.qml b/examples/declarative/imageelements/image/image.qml
new file mode 100644
index 0000000000..bc5ae376dc
--- /dev/null
+++ b/examples/declarative/imageelements/image/image.qml
@@ -0,0 +1,66 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+import Qt 4.7
+
+Rectangle {
+ width: 490
+ height: 285
+
+ Grid {
+ property int cellWidth: (width - (spacing * (columns - 1))) / columns
+ property int cellHeight: (height - (spacing * (rows - 1))) / rows
+
+ anchors.fill: parent
+ anchors.margins: 30
+
+ columns: 3
+ rows: 2
+ spacing: 30
+
+ ImageCell { mode: Image.Stretch; caption: "Stretch" }
+ ImageCell { mode: Image.PreserveAspectFit; caption: "PreserveAspectFit" }
+ ImageCell { mode: Image.PreserveAspectCrop; caption: "PreserveAspectCrop" }
+
+ ImageCell { mode: Image.Tile; caption: "Tile" }
+ ImageCell { mode: Image.TileHorizontally; caption: "TileHorizontally" }
+ ImageCell { mode: Image.TileVertically; caption: "TileVertically" }
+ }
+}
diff --git a/examples/declarative/gestures/gestures.qmlproject b/examples/declarative/imageelements/image/image.qmlproject
index d4909f8685..d4909f8685 100644
--- a/examples/declarative/gestures/gestures.qmlproject
+++ b/examples/declarative/imageelements/image/image.qmlproject
diff --git a/examples/declarative/gridview/gridview.qmlproject b/examples/declarative/imageelements/imageelements.qmlproject
index d4909f8685..d4909f8685 100644
--- a/examples/declarative/gridview/gridview.qmlproject
+++ b/examples/declarative/imageelements/imageelements.qmlproject
diff --git a/examples/declarative/imageprovider/ImageProviderCore/qmldir b/examples/declarative/imageprovider/ImageProviderCore/qmldir
deleted file mode 100644
index 1028590a84..0000000000
--- a/examples/declarative/imageprovider/ImageProviderCore/qmldir
+++ /dev/null
@@ -1,2 +0,0 @@
-plugin imageprovider
-
diff --git a/examples/declarative/imageprovider/imageprovider-example.qml b/examples/declarative/imageprovider/imageprovider-example.qml
deleted file mode 100644
index d774112f0c..0000000000
--- a/examples/declarative/imageprovider/imageprovider-example.qml
+++ /dev/null
@@ -1,25 +0,0 @@
-import Qt 4.7
-import "ImageProviderCore"
-//![0]
-ListView {
- width: 100; height: 100
- anchors.fill: parent
-
- model: myModel
-
- delegate: Component {
- Item {
- width: 100
- height: 50
- Text {
- text: "Loading..."
- anchors.centerIn: parent
- }
- Image {
- source: modelData
- sourceSize: "50x25"
- }
- }
- }
-}
-//![0]
diff --git a/examples/declarative/imageprovider/imageprovider.cpp b/examples/declarative/imageprovider/imageprovider.cpp
deleted file mode 100644
index 4c4aa94d85..0000000000
--- a/examples/declarative/imageprovider/imageprovider.cpp
+++ /dev/null
@@ -1,118 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the demonstration applications of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-
-#include <qdeclarativeextensionplugin.h>
-
-#include <qdeclarativeengine.h>
-#include <qdeclarativecontext.h>
-#include <qdeclarative.h>
-#include <qdeclarativeitem.h>
-#include <qdeclarativeimageprovider.h>
-#include <qdeclarativeview.h>
-#include <QImage>
-#include <QPainter>
-
-/*
- This example illustrates using a QDeclarativeImageProvider to serve
- images asynchronously.
-*/
-
-//![0]
-class ColorImageProvider : public QDeclarativeImageProvider
-{
-public:
- // This is run in a low priority thread.
- QImage request(const QString &id, QSize *size, const QSize &req_size)
- {
- if (size) *size = QSize(100,50);
- QImage image(
- req_size.width() > 0 ? req_size.width() : 100,
- req_size.height() > 0 ? req_size.height() : 50,
- QImage::Format_RGB32);
- image.fill(QColor(id).rgba());
- QPainter p(&image);
- QFont f = p.font();
- f.setPixelSize(30);
- p.setFont(f);
- p.setPen(Qt::black);
- if (req_size.isValid())
- p.scale(req_size.width()/100.0, req_size.height()/50.0);
- p.drawText(QRectF(0,0,100,50),Qt::AlignCenter,id);
- return image;
- }
-};
-
-
-class ImageProviderExtensionPlugin : public QDeclarativeExtensionPlugin
-{
- Q_OBJECT
-public:
- void registerTypes(const char *uri) {
- Q_UNUSED(uri);
-
- }
-
- void initializeEngine(QDeclarativeEngine *engine, const char *uri) {
- Q_UNUSED(uri);
-
- engine->addImageProvider("colors", new ColorImageProvider);
-
- QStringList dataList;
- dataList.append("image://colors/red");
- dataList.append("image://colors/green");
- dataList.append("image://colors/blue");
- dataList.append("image://colors/brown");
- dataList.append("image://colors/orange");
- dataList.append("image://colors/purple");
- dataList.append("image://colors/yellow");
-
- QDeclarativeContext *ctxt = engine->rootContext();
- ctxt->setContextProperty("myModel", QVariant::fromValue(dataList));
- }
-
-};
-
-#include "imageprovider.moc"
-
-Q_EXPORT_PLUGIN(ImageProviderExtensionPlugin);
-//![0]
-
diff --git a/examples/declarative/imageprovider/imageprovider.pro b/examples/declarative/imageprovider/imageprovider.pro
deleted file mode 100644
index 945a3014a5..0000000000
--- a/examples/declarative/imageprovider/imageprovider.pro
+++ /dev/null
@@ -1,25 +0,0 @@
-TEMPLATE = lib
-TARGET = imageprovider
-QT += declarative
-CONFIG += qt plugin
-
-TARGET = $$qtLibraryTarget($$TARGET)
-DESTDIR = ImageProviderCore
-
-# Input
-SOURCES += imageprovider.cpp
-
-sources.files = $$SOURCES imageprovider.qml imageprovider.pro
-sources.path = $$[QT_INSTALL_EXAMPLES]/declarative/imageprovider
-
-target.path = $$[QT_INSTALL_EXAMPLES]/declarative/imageprovider/ImageProviderCore
-
-ImageProviderCore_sources.files = \
- ImageProviderCore/qmldir
-ImageProviderCore_sources.path = $$[QT_INSTALL_EXAMPLES]/declarative/imageprovider/ImageProviderCore
-
-symbian:{
- TARGET.EPOCALLOWDLLDATA=1
-}
-
-INSTALLS = sources ImageProviderCore_sources target
diff --git a/examples/declarative/images/images.qml b/examples/declarative/images/images.qml
deleted file mode 100644
index e48ad5083b..0000000000
--- a/examples/declarative/images/images.qml
+++ /dev/null
@@ -1,72 +0,0 @@
-import Qt 4.7
-
-Rectangle {
- color: "white"
- width: grid.width + 50
- height: grid.height + 50
-
- Grid {
- id: grid
- x: 25; y: 25
- columns: 3
-
- Image {
- source: "content/lemonade.jpg"
- }
-
- Image {
- sourceSize.width: 50
- sourceSize.height: 50
- source: "content/lemonade.jpg"
- }
-
- Image {
- sourceSize.width: 50
- sourceSize.height: 50
- smooth: true
- source: "content/lemonade.jpg"
- }
-
- Image {
- scale: 1/3
- source: "content/lemonade.jpg"
- }
-
- Image {
- scale: 1/3
- sourceSize.width: 50
- sourceSize.height: 50
- source: "content/lemonade.jpg"
- }
-
- Image {
- scale: 1/3
- sourceSize.width: 50
- sourceSize.height: 50
- smooth: true
- source: "content/lemonade.jpg"
- }
-
- Image {
- width: 50; height: 50
- transform: Translate { x: 50 }
- source: "content/lemonade.jpg"
- }
-
- Image {
- width: 50; height: 50
- transform: Translate { x: 50 }
- sourceSize.width: 50
- sourceSize.height: 50
- source: "content/lemonade.jpg"
- }
-
- Image {
- width: 50; height: 50
- transform: Translate { x: 50 }
- sourceSize: "50x50" // syntactic sugar
- smooth: true
- source: "content/lemonade.jpg"
- }
- }
-}
diff --git a/examples/declarative/keyinteraction/focus/Core/ContextMenu.qml b/examples/declarative/keyinteraction/focus/Core/ContextMenu.qml
new file mode 100644
index 0000000000..15e77de938
--- /dev/null
+++ b/examples/declarative/keyinteraction/focus/Core/ContextMenu.qml
@@ -0,0 +1,58 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+import Qt 4.7
+
+FocusScope {
+ id: container
+
+ property bool open: false
+
+ Item {
+ anchors.fill: parent
+
+ Rectangle {
+ anchors.fill: parent
+ color: "#D1DBBD"
+ focus: true
+ Keys.onRightPressed: mainView.focus = true
+ }
+ }
+}
diff --git a/examples/declarative/keyinteraction/focus/Core/GridMenu.qml b/examples/declarative/keyinteraction/focus/Core/GridMenu.qml
new file mode 100644
index 0000000000..d0b45f5b7d
--- /dev/null
+++ b/examples/declarative/keyinteraction/focus/Core/GridMenu.qml
@@ -0,0 +1,101 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+import Qt 4.7
+
+FocusScope {
+ property alias interactive: gridView.interactive
+
+ onWantsFocusChanged: if (wantsFocus) mainView.state = ""
+
+ Rectangle {
+ anchors.fill: parent
+ clip: true
+ gradient: Gradient {
+ GradientStop { position: 0.0; color: "#193441" }
+ GradientStop { position: 1.0; color: Qt.darker("#193441") }
+ }
+
+ GridView {
+ id: gridView
+ x: 20; width: parent.width - 40; height: parent.height
+ cellWidth: 152; cellHeight: 152
+ focus: true
+ model: 12
+ KeyNavigation.down: listViews
+ KeyNavigation.left: contextMenu
+
+ delegate: Item {
+ id: container
+ width: GridView.view.cellWidth; height: GridView.view.cellHeight
+
+ Rectangle {
+ id: content
+ color: "transparent"
+ smooth: true
+ anchors.centerIn: parent; width: container.width - 40; height: container.height - 40; radius: 10
+
+ Rectangle { color: "#91AA9D"; x: 3; y: 3; width: parent.width - 6; height: parent.height - 6; radius: 8 }
+ Image { source: "images/qt-logo.png"; anchors.centerIn: parent; smooth: true }
+ }
+
+ MouseArea {
+ id: mouseArea
+ anchors.fill: parent
+ hoverEnabled: true
+
+ onClicked: {
+ GridView.view.currentIndex = index
+ container.forceFocus()
+ }
+ }
+
+ states: State {
+ name: "active"; when: container.focus == true
+ PropertyChanges { target: content; color: "#FCFFF5"; scale: 1.1 }
+ }
+
+ transitions: Transition {
+ NumberAnimation { properties: "scale"; duration: 100 }
+ }
+ }
+ }
+ }
+}
diff --git a/examples/declarative/keyinteraction/focus/Core/ListViewDelegate.qml b/examples/declarative/keyinteraction/focus/Core/ListViewDelegate.qml
new file mode 100644
index 0000000000..fba9b057a3
--- /dev/null
+++ b/examples/declarative/keyinteraction/focus/Core/ListViewDelegate.qml
@@ -0,0 +1,80 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+import Qt 4.7
+
+Item {
+ id: container
+ x: 5; width: ListView.view.width - 10; height: 60
+
+ Rectangle {
+ id: content
+ anchors.centerIn: parent; width: container.width - 40; height: container.height - 10
+ color: "transparent"
+ smooth: true
+ radius: 10
+
+ Rectangle { color: "#91AA9D"; x: 3; y: 3; width: parent.width - 6; height: parent.height - 6; radius: 8 }
+ Text {
+ text: "List element " + (index + 1); color: "#193441"; font.bold: false; anchors.centerIn: parent
+ font.pixelSize: 14
+ }
+ }
+
+ MouseArea {
+ id: mouseArea
+ anchors.fill: parent
+ hoverEnabled: true
+
+ onClicked: {
+ ListView.view.currentIndex = index
+ container.forceFocus()
+ }
+ }
+
+ states: State {
+ name: "active"; when: container.focus == true
+ PropertyChanges { target: content; color: "#FCFFF5"; scale: 1.1 }
+ }
+
+ transitions: Transition {
+ NumberAnimation { properties: "scale"; duration: 100 }
+ }
+}
diff --git a/examples/declarative/keyinteraction/focus/Core/ListViews.qml b/examples/declarative/keyinteraction/focus/Core/ListViews.qml
new file mode 100644
index 0000000000..670a3fa45b
--- /dev/null
+++ b/examples/declarative/keyinteraction/focus/Core/ListViews.qml
@@ -0,0 +1,102 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+import Qt 4.7
+
+FocusScope {
+ clip: true
+
+ onWantsFocusChanged: if (wantsFocus) mainView.state = "showListViews"
+
+ ListView {
+ id: list1
+ y: wantsFocus ? 10 : 40; width: parent.width / 3; height: parent.height - 20
+ focus: true
+ KeyNavigation.up: gridMenu; KeyNavigation.left: contextMenu; KeyNavigation.right: list2
+ model: 10; cacheBuffer: 200
+ delegate: ListViewDelegate {}
+
+ Behavior on y {
+ NumberAnimation { duration: 600; easing.type: Easing.OutQuint }
+ }
+ }
+
+ ListView {
+ id: list2
+ y: wantsFocus ? 10 : 40; x: parent.width / 3; width: parent.width / 3; height: parent.height - 20
+ KeyNavigation.up: gridMenu; KeyNavigation.left: list1; KeyNavigation.right: list3
+ model: 10; cacheBuffer: 200
+ delegate: ListViewDelegate {}
+
+ Behavior on y {
+ NumberAnimation { duration: 600; easing.type: Easing.OutQuint }
+ }
+ }
+
+ ListView {
+ id: list3
+ y: wantsFocus ? 10 : 40; x: 2 * parent.width / 3; width: parent.width / 3; height: parent.height - 20
+ KeyNavigation.up: gridMenu; KeyNavigation.left: list2
+ model: 10; cacheBuffer: 200
+ delegate: ListViewDelegate {}
+
+ Behavior on y {
+ NumberAnimation { duration: 600; easing.type: Easing.OutQuint }
+ }
+ }
+
+ Rectangle { width: parent.width; height: 1; color: "#D1DBBD" }
+
+ Rectangle {
+ y: 1; width: parent.width; height: 10
+ gradient: Gradient {
+ GradientStop { position: 0.0; color: "#3E606F" }
+ GradientStop { position: 1.0; color: "transparent" }
+ }
+ }
+
+ Rectangle {
+ y: parent.height - 10; width: parent.width; height: 10
+ gradient: Gradient {
+ GradientStop { position: 1.0; color: "#3E606F" }
+ GradientStop { position: 0.0; color: "transparent" }
+ }
+ }
+}
diff --git a/examples/declarative/focus/Core/images/arrow.png b/examples/declarative/keyinteraction/focus/Core/images/arrow.png
index 14978c2e56..14978c2e56 100644
--- a/examples/declarative/focus/Core/images/arrow.png
+++ b/examples/declarative/keyinteraction/focus/Core/images/arrow.png
Binary files differ
diff --git a/examples/declarative/fillmode/content/qt-logo.png b/examples/declarative/keyinteraction/focus/Core/images/qt-logo.png
index 14ddf2a028..14ddf2a028 100644
--- a/examples/declarative/fillmode/content/qt-logo.png
+++ b/examples/declarative/keyinteraction/focus/Core/images/qt-logo.png
Binary files differ
diff --git a/examples/declarative/focus/Core/qmldir b/examples/declarative/keyinteraction/focus/Core/qmldir
index e25d63c7b1..e25d63c7b1 100644
--- a/examples/declarative/focus/Core/qmldir
+++ b/examples/declarative/keyinteraction/focus/Core/qmldir
diff --git a/examples/declarative/keyinteraction/focus/focus.qml b/examples/declarative/keyinteraction/focus/focus.qml
new file mode 100644
index 0000000000..068ba1d001
--- /dev/null
+++ b/examples/declarative/keyinteraction/focus/focus.qml
@@ -0,0 +1,109 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+import Qt 4.7
+import "Core"
+
+Rectangle {
+ id: window
+
+ width: 800; height: 480
+ color: "#3E606F"
+
+ FocusScope {
+ id: mainView
+
+ width: parent.width; height: parent.height
+ focus: true
+
+ GridMenu {
+ id: gridMenu
+
+ width: parent.width; height: 320
+ focus: true
+ interactive: parent.wantsFocus
+ }
+
+ ListViews {
+ id: listViews
+ y: 320; width: parent.width; height: 320
+ }
+
+ Rectangle {
+ id: shade
+ color: "black"; opacity: 0; anchors.fill: parent
+ }
+
+ states: State {
+ name: "showListViews"
+ PropertyChanges { target: gridMenu; y: -160 }
+ PropertyChanges { target: listViews; y: 160 }
+ }
+
+ transitions: Transition {
+ NumberAnimation { properties: "y"; duration: 600; easing.type: Easing.OutQuint }
+ }
+ }
+
+ Image {
+ source: "Core/images/arrow.png"
+ rotation: 90
+ anchors.verticalCenter: parent.verticalCenter
+
+ MouseArea {
+ anchors { fill: parent; leftMargin: -10; topMargin: -10; rightMargin: -10; bottomMargin: -10 }
+ onClicked: window.state = "contextMenuOpen"
+ }
+ }
+
+ ContextMenu { id: contextMenu; x: -265; width: 260; height: parent.height }
+
+ states: State {
+ name: "contextMenuOpen"
+ when: !mainView.wantsFocus
+ PropertyChanges { target: contextMenu; x: 0; open: true }
+ PropertyChanges { target: mainView; x: 130 }
+ PropertyChanges { target: shade; opacity: 0.25 }
+ }
+
+ transitions: Transition {
+ NumberAnimation { properties: "x,opacity"; duration: 600; easing.type: Easing.OutQuint }
+ }
+}
diff --git a/examples/declarative/images/images.qmlproject b/examples/declarative/keyinteraction/focus/focus.qmlproject
index d4909f8685..d4909f8685 100644
--- a/examples/declarative/images/images.qmlproject
+++ b/examples/declarative/keyinteraction/focus/focus.qmlproject
diff --git a/examples/declarative/layouts/layouts.qmlproject b/examples/declarative/keyinteraction/keyinteraction.qmlproject
index d4909f8685..d4909f8685 100644
--- a/examples/declarative/layouts/layouts.qmlproject
+++ b/examples/declarative/keyinteraction/keyinteraction.qmlproject
diff --git a/examples/declarative/layouts/Button.qml b/examples/declarative/layouts/Button.qml
deleted file mode 100644
index 0f088938cf..0000000000
--- a/examples/declarative/layouts/Button.qml
+++ /dev/null
@@ -1,22 +0,0 @@
-import Qt 4.7
-
-Rectangle { border.color: "black"; color: "steelblue"; radius: 5; width: pix.width + textelement.width + 13; height: pix.height + 10; id: page
- property string text
- property string icon
- signal clicked
-
- Image { id: pix; x: 5; y:5; source: parent.icon}
- Text { id: textelement; text: page.text; color: "white"; x:pix.width+pix.x+3; anchors.verticalCenter: pix.verticalCenter;}
- MouseArea{ id:mr; anchors.fill: parent; onClicked: {parent.focus = true; page.clicked()}}
-
- states:
- State{ name:"pressed"; when:mr.pressed
- PropertyChanges {target:textelement; x: 5}
- PropertyChanges {target:pix; x:textelement.x+textelement.width + 3}
- }
-
- transitions:
- Transition{
- NumberAnimation { properties:"x,left"; easing.type:"InOutQuad"; duration:200 }
- }
-}
diff --git a/examples/declarative/layouts/layouts.qml b/examples/declarative/layouts/layouts.qml
deleted file mode 100644
index 391eab7ea9..0000000000
--- a/examples/declarative/layouts/layouts.qml
+++ /dev/null
@@ -1,29 +0,0 @@
-import Qt 4.7
-import Qt.widgets 4.7
-
-Item {
- id: resizable
-
- width: 400
- height: 400
-
- QGraphicsWidget {
- size.width: parent.width
- size.height: parent.height
-
- layout: QGraphicsLinearLayout {
- LayoutItem {
- minimumSize: "100x100"
- maximumSize: "300x300"
- preferredSize: "100x100"
- Rectangle { color: "yellow"; anchors.fill: parent }
- }
- LayoutItem {
- minimumSize: "100x100"
- maximumSize: "400x400"
- preferredSize: "200x200"
- Rectangle { color: "green"; anchors.fill: parent }
- }
- }
- }
-}
diff --git a/examples/declarative/layouts/positioners.qml b/examples/declarative/layouts/positioners.qml
deleted file mode 100644
index 3703b59ccc..0000000000
--- a/examples/declarative/layouts/positioners.qml
+++ /dev/null
@@ -1,213 +0,0 @@
-import Qt 4.7
-
-Rectangle {
- id: page
- width: 420; height: 420
-
- Column {
- id: layout1
- y: 0
- move: Transition {
- NumberAnimation { properties: "y"; easing.type: "OutBounce" }
- }
- add: Transition {
- NumberAnimation { properties: "y"; easing.type: "OutQuad" }
- }
-
- Rectangle { color: "red"; width: 100; height: 50; border.color: "black"; radius: 15 }
-
- Rectangle {
- id: blueV1
- width: 100; height: 50
- color: "lightsteelblue"
- border.color: "black"
- radius: 15
- Behavior on opacity { NumberAnimation {} }
- }
-
- Rectangle { color: "green"; width: 100; height: 50; border.color: "black"; radius: 15 }
-
- Rectangle {
- id: blueV2
- width: 100; height: 50
- color: "lightsteelblue"
- border.color: "black"
- radius: 15
- Behavior on opacity { NumberAnimation {} }
- }
-
- Rectangle { color: "orange"; width: 100; height: 50; border.color: "black"; radius: 15 }
- }
-
- Row {
- id: layout2
- y: 300
- move: Transition {
- NumberAnimation { properties: "x"; easing.type: "OutBounce" }
- }
- add: Transition {
- NumberAnimation { properties: "x"; easing.type: "OutQuad" }
- }
-
- Rectangle { color: "red"; width: 50; height: 100; border.color: "black"; radius: 15 }
-
- Rectangle {
- id: blueH1
- width: 50; height: 100
- color: "lightsteelblue"
- border.color: "black"
- radius: 15
- Behavior on opacity { NumberAnimation {} }
- }
-
- Rectangle { color: "green"; width: 50; height: 100; border.color: "black"; radius: 15 }
-
- Rectangle {
- id: blueH2
- width: 50; height: 100
- color: "lightsteelblue"
- border.color: "black"
- radius: 15
- Behavior on opacity { NumberAnimation {} }
- }
-
- Rectangle { color: "orange"; width: 50; height: 100; border.color: "black"; radius: 15 }
- }
-
- Button {
- x: 135; y: 90
- text: "Remove"
- icon: "del.png"
-
- onClicked: {
- blueH2.opacity = 0
- blueH1.opacity = 0
- blueV1.opacity = 0
- blueV2.opacity = 0
- blueG1.opacity = 0
- blueG2.opacity = 0
- blueG3.opacity = 0
- blueF1.opacity = 0
- blueF2.opacity = 0
- blueF3.opacity = 0
- }
- }
-
- Button {
- x: 145; y: 140
- text: "Add"
- icon: "add.png"
-
- onClicked: {
- blueH2.opacity = 1
- blueH1.opacity = 1
- blueV1.opacity = 1
- blueV2.opacity = 1
- blueG1.opacity = 1
- blueG2.opacity = 1
- blueG3.opacity = 1
- blueF1.opacity = 1
- blueF2.opacity = 1
- blueF3.opacity = 1
- }
- }
-
- Grid {
- x: 260; y: 0
- columns: 3
-
- move: Transition {
- NumberAnimation { properties: "x,y"; easing.type: "OutBounce" }
- }
-
- add: Transition {
- NumberAnimation { properties: "x,y"; easing.type: "OutBounce" }
- }
-
- Rectangle { color: "red"; width: 50; height: 50; border.color: "black"; radius: 15 }
-
- Rectangle {
- id: blueG1
- width: 50; height: 50
- color: "lightsteelblue"
- border.color: "black"
- radius: 15
- Behavior on opacity { NumberAnimation {} }
- }
-
- Rectangle { color: "green"; width: 50; height: 50; border.color: "black"; radius: 15 }
-
- Rectangle {
- id: blueG2
- width: 50; height: 50
- color: "lightsteelblue"
- border.color: "black"
- radius: 15
- Behavior on opacity { NumberAnimation {} }
- }
-
- Rectangle { color: "orange"; width: 50; height: 50; border.color: "black"; radius: 15 }
-
- Rectangle {
- id: blueG3
- width: 50; height: 50
- color: "lightsteelblue"
- border.color: "black"
- radius: 15
- Behavior on opacity { NumberAnimation {} }
- }
-
- Rectangle { color: "red"; width: 50; height: 50; border.color: "black"; radius: 15 }
- Rectangle { color: "green"; width: 50; height: 50; border.color: "black"; radius: 15 }
- Rectangle { color: "orange"; width: 50; height: 50; border.color: "black"; radius: 15 }
- }
-
- Flow {
- id: layout4
- x: 260; y: 250; width: 150
-
- move: Transition {
- NumberAnimation { properties: "x,y"; easing.type: "OutBounce" }
- }
-
- add: Transition {
- NumberAnimation { properties: "x,y"; easing.type: "OutBounce" }
- }
-
- Rectangle { color: "red"; width: 50; height: 50; border.color: "black"; radius: 15 }
-
- Rectangle {
- id: blueF1
- width: 60; height: 50
- color: "lightsteelblue"
- border.color: "black"
- radius: 15
- Behavior on opacity { NumberAnimation {} }
- }
-
- Rectangle { color: "green"; width: 30; height: 50; border.color: "black"; radius: 15 }
-
- Rectangle {
- id: blueF2
- width: 60; height: 50
- color: "lightsteelblue"
- border.color: "black"
- radius: 15
- Behavior on opacity { NumberAnimation {} }
- }
-
- Rectangle { color: "orange"; width: 50; height: 50; border.color: "black"; radius: 15 }
-
- Rectangle {
- id: blueF3
- width: 40; height: 50
- color: "lightsteelblue"
- border.color: "black"
- radius: 15
- Behavior on opacity { NumberAnimation {} }
- }
-
- Rectangle { color: "red"; width: 80; height: 50; border.color: "black"; radius: 15 }
- }
-
-}
diff --git a/examples/declarative/listmodel-threaded/timedisplay.qml b/examples/declarative/listmodel-threaded/timedisplay.qml
deleted file mode 100644
index bad7010deb..0000000000
--- a/examples/declarative/listmodel-threaded/timedisplay.qml
+++ /dev/null
@@ -1,32 +0,0 @@
-// ![0]
-import Qt 4.7
-
-ListView {
- width: 200
- height: 300
-
- model: listModel
- delegate: Component {
- Text { text: time }
- }
-
- ListModel { id: listModel }
-
- WorkerScript {
- id: worker
- source: "dataloader.js"
- }
-
- Timer {
- id: timer
- interval: 2000; repeat: true
- running: true
- triggeredOnStart: true
-
- onTriggered: {
- var msg = {'action': 'appendCurrentTime', 'model': listModel};
- worker.sendMessage(msg);
- }
- }
-}
-// ![0]
diff --git a/examples/declarative/listview/content/ClickAutoRepeating.qml b/examples/declarative/listview/content/ClickAutoRepeating.qml
deleted file mode 100644
index f65c2b3727..0000000000
--- a/examples/declarative/listview/content/ClickAutoRepeating.qml
+++ /dev/null
@@ -1,31 +0,0 @@
-import Qt 4.7
-
-Item {
- id: page
- property int repeatdelay: 300
- property int repeatperiod: 75
- property bool isPressed: false
-
- signal pressed
- signal released
- signal clicked
-
- SequentialAnimation on isPressed {
- running: false
- id: autoRepeat
- PropertyAction { target: page; property: "isPressed"; value: true }
- ScriptAction { script: page.pressed() }
- ScriptAction { script: page.clicked() }
- PauseAnimation { duration: repeatdelay }
- SequentialAnimation {
- loops: Animation.Infinite
- ScriptAction { script: page.clicked() }
- PauseAnimation { duration: repeatperiod }
- }
- }
- MouseArea {
- anchors.fill: parent
- onPressed: autoRepeat.start()
- onReleased: { autoRepeat.stop(); parent.isPressed = false; page.released() }
- }
-}
diff --git a/examples/declarative/listview/content/MediaButton.qml b/examples/declarative/listview/content/MediaButton.qml
deleted file mode 100644
index a625b4c4ef..0000000000
--- a/examples/declarative/listview/content/MediaButton.qml
+++ /dev/null
@@ -1,35 +0,0 @@
-import Qt 4.7
-
-Item {
- property variant text
- signal clicked
-
- id: container
- Image {
- id: normal
- source: "pics/button.png"
- }
- Image {
- id: pressed
- source: "pics/button-pressed.png"
- opacity: 0
- }
- MouseArea {
- id: clickRegion
- anchors.fill: normal
- onClicked: { container.clicked(); }
- }
- Text {
- font.bold: true
- color: "white"
- anchors.centerIn: normal
- text: container.text
- }
- width: normal.width
-
- states: State {
- name: "Pressed"
- when: clickRegion.pressed == true
- PropertyChanges { target: pressed; opacity: 1 }
- }
-}
diff --git a/examples/declarative/listview/content/pics/add.png b/examples/declarative/listview/content/pics/add.png
deleted file mode 100644
index f29d84b492..0000000000
--- a/examples/declarative/listview/content/pics/add.png
+++ /dev/null
Binary files differ
diff --git a/examples/declarative/listview/content/pics/del.png b/examples/declarative/listview/content/pics/del.png
deleted file mode 100644
index 1d753a3bc5..0000000000
--- a/examples/declarative/listview/content/pics/del.png
+++ /dev/null
Binary files differ
diff --git a/examples/declarative/listview/content/pics/lemonade.jpg b/examples/declarative/listview/content/pics/lemonade.jpg
deleted file mode 100644
index db445c9ac8..0000000000
--- a/examples/declarative/listview/content/pics/lemonade.jpg
+++ /dev/null
Binary files differ
diff --git a/examples/declarative/listview/content/pics/trash.png b/examples/declarative/listview/content/pics/trash.png
deleted file mode 100644
index 20425957a5..0000000000
--- a/examples/declarative/listview/content/pics/trash.png
+++ /dev/null
Binary files differ
diff --git a/examples/declarative/listview/dummydata/MyPetsModel.qml b/examples/declarative/listview/dummydata/MyPetsModel.qml
deleted file mode 100644
index f15dda39f5..0000000000
--- a/examples/declarative/listview/dummydata/MyPetsModel.qml
+++ /dev/null
@@ -1,61 +0,0 @@
-import Qt 4.7
-
-// ListModel allows free form list models to be defined and populated.
-
-ListModel {
- id: petsModel
- ListElement {
- name: "Polly"
- type: "Parrot"
- age: 12
- size: "Small"
- }
- ListElement {
- name: "Penny"
- type: "Turtle"
- age: 4
- size: "Small"
- }
- ListElement {
- name: "Warren"
- type: "Rabbit"
- age: 2
- size: "Small"
- }
- ListElement {
- name: "Spot"
- type: "Dog"
- age: 9
- size: "Medium"
- }
- ListElement {
- name: "Schrödinger"
- type: "Cat"
- age: 2
- size: "Medium"
- }
- ListElement {
- name: "Joey"
- type: "Kangaroo"
- age: 1
- size: "Medium"
- }
- ListElement {
- name: "Kimba"
- type: "Bunny"
- age: 65
- size: "Large"
- }
- ListElement {
- name: "Rover"
- type: "Dog"
- age: 5
- size: "Large"
- }
- ListElement {
- name: "Tiny"
- type: "Elephant"
- age: 15
- size: "Large"
- }
-}
diff --git a/examples/declarative/listview/dummydata/Recipes.qml b/examples/declarative/listview/dummydata/Recipes.qml
deleted file mode 100644
index f707c82c8a..0000000000
--- a/examples/declarative/listview/dummydata/Recipes.qml
+++ /dev/null
@@ -1,90 +0,0 @@
-import Qt 4.7
-
-ListModel {
- id: recipesModel
- ListElement {
- title: "Pancakes"
- picture: "content/pics/pancakes.jpg"
- ingredients: "<html>
- <ul>
- <li> 1 cup (150g) self-raising flour
- <li> 1 tbs caster sugar
- <li> 3/4 cup (185ml) milk
- <li> 1 egg
- </ul>
- </html>"
- method: "<html>
- <ol>
- <li> Sift flour and sugar together into a bowl. Add a pinch of salt.
- <li> Beat milk and egg together, then add to dry ingredients. Beat until smooth.
- <li> Pour mixture into a pan on medium heat and cook until bubbles appear on the surface.
- <li> Turn over and cook other side until golden.
- </ol>
- </html>"
- }
- ListElement {
- title: "Fruit Salad"
- picture: "content/pics/fruit-salad.jpg"
- ingredients: "* Seasonal Fruit"
- method: "* Chop fruit and place in a bowl."
- }
- ListElement {
- title: "Vegetable Soup"
- picture: "content/pics/vegetable-soup.jpg"
- ingredients: "<html>
- <ul>
- <li> 1 onion
- <li> 1 turnip
- <li> 1 potato
- <li> 1 carrot
- <li> 1 head of celery
- <li> 1 1/2 litres of water
- </ul>
- </html>"
- method: "<html>
- <ol>
- <li> Chop vegetables.
- <li> Boil in water until vegetables soften.
- <li> Season with salt and pepper to taste.
- </ol>
- </html>"
- }
- ListElement {
- title: "Hamburger"
- picture: "content/pics/hamburger.jpg"
- ingredients: "<html>
- <ul>
- <li> 500g minced beef
- <li> Seasoning
- <li> lettuce, tomato, onion, cheese
- <li> 1 hamburger bun for each burger
- </ul>
- </html>"
- method: "<html>
- <ol>
- <li> Mix the beef, together with seasoning, in a food processor.
- <li> Shape the beef into burgers.
- <li> Grill the burgers for about 5 mins on each side (until cooked through)
- <li> Serve each burger on a bun with ketchup, cheese, lettuce, tomato and onion.
- </ol>
- </html>"
- }
- ListElement {
- title: "Lemonade"
- picture: "content/pics/lemonade.jpg"
- ingredients: "<html>
- <ul>
- <li> 1 cup Lemon Juice
- <li> 1 cup Sugar
- <li> 6 Cups of Water (2 cups warm water, 4 cups cold water)
- </ul>
- </html>"
- method: "<html>
- <ol>
- <li> Pour 2 cups of warm water into a pitcher and stir in sugar until it dissolves.
- <li> Pour in lemon juice, stir again, and add 4 cups of cold water.
- <li> Chill or serve over ice cubes.
- </ol>
- </html>"
- }
-}
diff --git a/examples/declarative/listview/dynamic.qml b/examples/declarative/listview/dynamic.qml
deleted file mode 100644
index 236a9c5257..0000000000
--- a/examples/declarative/listview/dynamic.qml
+++ /dev/null
@@ -1,210 +0,0 @@
-import Qt 4.7
-import "content"
-import "../scrollbar"
-
-Rectangle {
- id: container
- width: 640; height: 480
- color: "#343434"
-
- ListModel {
- id: fruitModel
-
- ListElement {
- name: "Apple"; cost: 2.45
- attributes: [
- ListElement { description: "Core" },
- ListElement { description: "Deciduous" }
- ]
- }
- ListElement {
- name: "Banana"; cost: 1.95
- attributes: [
- ListElement { description: "Tropical" },
- ListElement { description: "Seedless" }
- ]
- }
- ListElement {
- name: "Cumquat"; cost: 3.25
- attributes: [
- ListElement { description: "Citrus" }
- ]
- }
- ListElement {
- name: "Durian"; cost: 9.95
- attributes: [
- ListElement { description: "Tropical" },
- ListElement { description: "Smelly" }
- ]
- }
- ListElement {
- name: "Elderberry"; cost: 0.05
- attributes: [
- ListElement { description: "Berry" }
- ]
- }
- ListElement {
- name: "Fig"; cost: 0.25
- attributes: [
- ListElement { description: "Flower" }
- ]
- }
- }
-
- Component {
- id: fruitDelegate
-
- Item {
- width: container.width; height: 55
-
- Column {
- id: moveButtons
- x: 5; width: childrenRect.width; anchors.verticalCenter: parent.verticalCenter
-
- Image {
- source: "content/pics/go-up.png"
- MouseArea { anchors.fill: parent; onClicked: fruitModel.move(index,index-1,1) }
- }
- Image { source: "content/pics/go-down.png"
- MouseArea { anchors.fill: parent; onClicked: fruitModel.move(index,index+1,1) }
- }
- }
-
- Column {
- anchors { right: itemButtons.left; verticalCenter: parent.verticalCenter; left: moveButtons.right; leftMargin: 10 }
-
- Text {
- id: label
- width: parent.width
- color: "White"
- font.bold: true; font.pixelSize: 15
- text: name; elide: Text.ElideRight
- }
- Row {
- spacing: 5
- Repeater {
- model: attributes
- Component {
- Text { text: description; color: "White" }
- }
- }
- }
- }
-
- Row {
- id: itemButtons
-
- anchors { right: removeButton.left; rightMargin: 35; verticalCenter: parent.verticalCenter }
- width: childrenRect.width
- spacing: 10
-
- Image {
- source: "content/pics/list-add.png"
- scale: clickUp.isPressed ? 0.9 : 1
- transformOrigin: Item.Center
-
- ClickAutoRepeating {
- id: clickUp
- anchors.fill: parent
- onClicked: fruitModel.setProperty(index, "cost", cost+0.25)
- }
- }
-
- Text { id: costText; text: '$'+Number(cost).toFixed(2); font.pixelSize: 15; color: "White"; font.bold: true; }
-
- Image {
- source: "content/pics/list-remove.png"
- scale: clickDown.isPressed ? 0.9 : 1
- transformOrigin: Item.Center
-
- ClickAutoRepeating {
- id: clickDown
- anchors.fill: parent
- onClicked: fruitModel.setProperty(index, "cost", Math.max(0,cost-0.25))
- }
- }
- }
- Image {
- id: removeButton
- anchors { verticalCenter: parent.verticalCenter; right: parent.right; rightMargin: 10 }
- source: "content/pics/archive-remove.png"
-
- MouseArea { anchors.fill:parent; onClicked: fruitModel.remove(index) }
- }
- }
- }
-
- ListView {
- id: view
- anchors { top: parent.top; left: parent.left; right: parent.right; bottom: buttons.top }
- model: fruitModel
- delegate: fruitDelegate
- }
-
- // Attach scrollbar to the right edge of the view.
- ScrollBar {
- id: verticalScrollBar
-
- width: 8; height: view.height; anchors.right: view.right
- opacity: 0
- orientation: "Vertical"
- position: view.visibleArea.yPosition
- pageSize: view.visibleArea.heightRatio
-
- // Only show the scrollbar when the view is moving.
- states: State {
- name: "ShowBars"; when: view.moving
- PropertyChanges { target: verticalScrollBar; opacity: 1 }
- }
- transitions: Transition {
- NumberAnimation { properties: "opacity"; duration: 400 }
- }
- }
-
- Row {
- id: buttons
-
- x: 8; width: childrenRect.width; height: childrenRect.height
- anchors { bottom: parent.bottom; bottomMargin: 8 }
- spacing: 8
-
- Image {
- source: "content/pics/archive-insert.png"
-
- MouseArea {
- anchors.fill: parent
- onClicked: {
- fruitModel.append({
- "name": "Pizza Margarita",
- "cost": 5.95,
- "attributes": [{"description": "Cheese"},{"description": "Tomato"}]
- })
- }
- }
- }
-
- Image {
- source: "content/pics/archive-insert.png"
-
- MouseArea {
- anchors.fill: parent;
- onClicked: {
- fruitModel.insert(0, {
- "name": "Pizza Supreme",
- "cost": 9.95,
- "attributes": [{"description": "Cheese"},{"description": "Tomato"},{"description": "The Works"}]
- })
- }
- }
- }
-
- Image {
- source: "content/pics/archive-remove.png"
-
- MouseArea {
- anchors.fill: parent
- onClicked: fruitModel.clear()
- }
- }
- }
-}
diff --git a/examples/declarative/listview/highlight.qml b/examples/declarative/listview/highlight.qml
deleted file mode 100644
index 50ba2f73e6..0000000000
--- a/examples/declarative/listview/highlight.qml
+++ /dev/null
@@ -1,55 +0,0 @@
-import Qt 4.7
-
-Rectangle {
- width: 400; height: 300
-
- // MyPets model is defined in dummydata/MyPetsModel.qml
- // The viewer automatically loads files in dummydata/* to assist
- // development without a real data source.
- // This one contains my pets.
-
- // Define a delegate component. A component will be
- // instantiated for each visible item in the list.
- Component {
- id: petDelegate
- Item {
- id: wrapper
- width: 200; height: 50
- Column {
- Text { text: 'Name: ' + name }
- Text { text: 'Type: ' + type }
- Text { text: 'Age: ' + age }
- }
- // Use the ListView.isCurrentItem attached property to
- // indent the item if it is the current item.
- states: State {
- name: "Current"
- when: wrapper.ListView.isCurrentItem
- PropertyChanges { target: wrapper; x: 10 }
- }
- transitions: Transition {
- NumberAnimation { properties: "x"; duration: 200 }
- }
- }
- }
- // Specify a highlight with custom movement. Note that highlightFollowsCurrentItem
- // is set to false in the ListView so that we can control how the
- // highlight moves to the current item.
- Component {
- id: petHighlight
- Rectangle {
- width: 200; height: 50
- color: "#FFFF88"
- SpringFollow on y { to: list1.currentItem.y; spring: 3; damping: 0.1 }
- }
- }
-
- ListView {
- id: list1
- width: 200; height: parent.height
- model: MyPetsModel
- delegate: petDelegate
- highlight: petHighlight; highlightFollowsCurrentItem: false
- focus: true
- }
-}
diff --git a/examples/declarative/listview/itemlist.qml b/examples/declarative/listview/itemlist.qml
deleted file mode 100644
index e387f28001..0000000000
--- a/examples/declarative/listview/itemlist.qml
+++ /dev/null
@@ -1,67 +0,0 @@
-// This example demonstrates placing items in a view using
-// a VisualItemModel
-
-import Qt 4.7
-
-Rectangle {
- color: "lightgray"
- width: 240
- height: 320
-
- VisualItemModel {
- id: itemModel
-
- Rectangle {
- width: view.width; height: view.height
- color: "#FFFEF0"
- Text { text: "Page 1"; font.bold: true; anchors.centerIn: parent }
- }
- Rectangle {
- width: view.width; height: view.height
- color: "#F0FFF7"
- Text { text: "Page 2"; font.bold: true; anchors.centerIn: parent }
- }
- Rectangle {
- width: view.width; height: view.height
- color: "#F4F0FF"
- Text { text: "Page 3"; font.bold: true; anchors.centerIn: parent }
- }
- }
-
- ListView {
- id: view
- anchors { fill: parent; bottomMargin: 30 }
- model: itemModel
- preferredHighlightBegin: 0; preferredHighlightEnd: 0
- highlightRangeMode: "StrictlyEnforceRange"
- orientation: ListView.Horizontal
- snapMode: ListView.SnapOneItem; flickDeceleration: 2000
- }
-
- Rectangle {
- width: 240; height: 30
- anchors { top: view.bottom; bottom: parent.bottom }
- color: "gray"
-
- Row {
- anchors.centerIn: parent
- spacing: 20
-
- Repeater {
- model: itemModel.count
-
- Rectangle {
- width: 5; height: 5
- radius: 3
- color: view.currentIndex == index ? "blue" : "white"
-
- MouseArea {
- width: 20; height: 20
- anchors.centerIn: parent
- onClicked: view.currentIndex = index
- }
- }
- }
- }
- }
-}
diff --git a/examples/declarative/listview/listview-example.qml b/examples/declarative/listview/listview-example.qml
deleted file mode 100644
index 6feedf6a97..0000000000
--- a/examples/declarative/listview/listview-example.qml
+++ /dev/null
@@ -1,93 +0,0 @@
-import Qt 4.7
-
-Rectangle {
- width: 600; height: 300
-
- // MyPets model is defined in dummydata/MyPetsModel.qml
- // The viewer automatically loads files in dummydata/* to assist
- // development without a real data source.
- // This one contains my pets.
-
- // Define a delegate component. A component will be
- // instantiated for each visible item in the list.
- Component {
- id: petDelegate
- Item {
- width: 200; height: 50
- Column {
- Text { text: 'Name: ' + name }
- Text { text: 'Type: ' + type }
- Text { text: 'Age: ' + age }
- }
- }
- }
-
- // Define a highlight component. Just one of these will be instantiated
- // by each ListView and placed behind the current item.
- Component {
- id: petHighlight
- Rectangle { color: "#FFFF88" }
- }
-
- // Show the model in three lists, with different highlight ranges.
- // preferredHighlightBegin and preferredHighlightEnd set the
- // range in which to attempt to maintain the highlight.
- //
- // Note that the second and third ListView
- // set their currentIndex to be the same as the first, and that
- // the first ListView is given keyboard focus.
- //
- // The default mode allows the currentItem to move freely
- // within the visible area. If it would move outside the visible
- // area, the view is scrolled to keep it visible.
- //
- // The second list sets a highlight range which attempts to keep the
- // current item within the the bounds of the range, however
- // items will not scroll beyond the beginning or end of the view,
- // forcing the highlight to move outside the range at the ends.
- //
- // The third list sets the highlightRangeMode to StrictlyEnforceRange
- // and sets a range smaller than the height of an item. This
- // forces the current item to change when the view is flicked,
- // since the highlight is unable to move.
- //
- // Note that the first ListView sets its currentIndex to be equal to
- // the third ListView's currentIndex. By flicking List3 with
- // the mouse, the current index of List1 will be changed.
-
- ListView {
- id: list1
- width: 200; height: parent.height
- model: MyPetsModel
- delegate: petDelegate
-
- highlight: petHighlight
- currentIndex: list3.currentIndex
- focus: true
- }
-
- ListView {
- id: list2
- x: 200; width: 200; height: parent.height
- model: MyPetsModel
- delegate: petDelegate
-
- highlight: petHighlight
- currentIndex: list1.currentIndex
- preferredHighlightBegin: 80; preferredHighlightEnd: 220
- highlightRangeMode: "ApplyRange"
- }
-
- ListView {
- id: list3
- x: 400; width: 200; height: parent.height
- model: MyPetsModel
- delegate: petDelegate
-
- highlight: Rectangle { color: "lightsteelblue" }
- currentIndex: list1.currentIndex
- preferredHighlightBegin: 125; preferredHighlightEnd: 125
- highlightRangeMode: "StrictlyEnforceRange"
- flickDeceleration: 1000
- }
-}
diff --git a/examples/declarative/listview/recipes.qml b/examples/declarative/listview/recipes.qml
deleted file mode 100644
index 990e272483..0000000000
--- a/examples/declarative/listview/recipes.qml
+++ /dev/null
@@ -1,160 +0,0 @@
-import Qt 4.7
-import "content"
-
-// This example illustrates expanding a list item to show a more detailed view
-
-Rectangle {
- id: page
- width: 400; height: 240
- color: "black"
-
- // Delegate for the recipes. This delegate has two modes:
- // 1. the list mode (default), which just shows the picture and title of the recipe.
- // 2. the details mode, which also shows the ingredients and method.
- Component {
- id: recipeDelegate
-
- Item {
- id: wrapper
-
- // Create a property to contain the visibility of the details.
- // We can bind multiple element's opacity to this one property,
- // rather than having a "PropertyChanges" line for each element we
- // want to fade.
- property real detailsOpacity : 0
-
- width: list.width
-
- // A simple rounded rectangle for the background
- Rectangle {
- id: background
- x: 1; y: 2; width: parent.width - 2; height: parent.height - 4
- color: "#FEFFEE"
- border.color: "#FFBE4F"
- radius: 5
- }
-
- // This mouse region covers the entire delegate.
- // When clicked it changes mode to 'Details'. If we are already
- // in Details mode, then no change will happen.
- MouseArea {
- id: pageMouse
- anchors.fill: parent
- onClicked: wrapper.state = 'Details';
- }
-
- // Layout the page. Picture, title and ingredients at the top, method at the
- // bottom. Note that elements that should not be visible in the list
- // mode have their opacity set to wrapper.detailsOpacity.
- Row {
- id: topLayout
- x: 10; y: 10; height: recipePic.height; width: parent.width
- spacing: 10
-
- Image {
- id: recipePic
- source: picture; width: 48; height: 48
- }
-
- Column {
- width: background.width-recipePic.width-20; height: recipePic.height;
- spacing: 5
-
- Text { id: name; text: title; font.bold: true; font.pointSize: 16 }
-
- Text {
- text: "Ingredients"
- font.pointSize: 12; font.bold: true
- opacity: wrapper.detailsOpacity
- }
-
- Text {
- text: ingredients
- wrapMode: Text.WordWrap
- width: parent.width
- opacity: wrapper.detailsOpacity
- }
- }
- }
-
- Item {
- id: details
- x: 10; width: parent.width-20
- anchors { top: topLayout.bottom; topMargin: 10; bottom: parent.bottom; bottomMargin: 10 }
- opacity: wrapper.detailsOpacity
-
- Text {
- id: methodTitle
- anchors.top: parent.top
- text: "Method"
- font.pointSize: 12; font.bold: true
- }
-
- Flickable {
- id: flick
- width: parent.width
- anchors { top: methodTitle.bottom; bottom: parent.bottom }
- contentHeight: methodText.height; clip: true
-
- Text { id: methodText; text: method; wrapMode: Text.WordWrap; width: details.width }
- }
-
- Image {
- anchors { right: flick.right; top: flick.top }
- source: "content/pics/moreUp.png"
- opacity: flick.atYBeginning ? 0 : 1
- }
-
- Image {
- anchors { right: flick.right; bottom: flick.bottom }
- source: "content/pics/moreDown.png"
- opacity: flick.atYEnd ? 0 : 1
- }
- }
-
- // A button to close the detailed view, i.e. set the state back to default ('').
- MediaButton {
- y: 10; anchors { right: background.right; rightMargin: 5 }
- opacity: wrapper.detailsOpacity
- text: "Close"
-
- onClicked: wrapper.state = '';
- }
-
- // Set the default height to the height of the picture, plus margin.
- height: 68
-
- states: State {
- name: "Details"
-
- PropertyChanges { target: background; color: "white" }
- PropertyChanges { target: recipePic; width: 128; height: 128 } // Make picture bigger
- PropertyChanges { target: wrapper; detailsOpacity: 1; x: 0 } // Make details visible
- PropertyChanges { target: wrapper; height: list.height } // Fill the entire list area with the detailed view
-
- // Move the list so that this item is at the top.
- PropertyChanges { target: wrapper.ListView.view; explicit: true; contentY: wrapper.y }
-
- // Disallow flicking while we're in detailed view
- PropertyChanges { target: wrapper.ListView.view; interactive: false }
- }
-
- transitions: Transition {
- // Make the state changes smooth
- ParallelAnimation {
- ColorAnimation { property: "color"; duration: 500 }
- NumberAnimation { duration: 300; properties: "detailsOpacity,x,contentY,height,width" }
- }
- }
- }
- }
-
- // The actual list
- ListView {
- id: list
- anchors.fill: parent
- clip: true
- model: Recipes
- delegate: recipeDelegate
- }
-}
diff --git a/examples/declarative/listview/sections.qml b/examples/declarative/listview/sections.qml
deleted file mode 100644
index 0a81f63b10..0000000000
--- a/examples/declarative/listview/sections.qml
+++ /dev/null
@@ -1,71 +0,0 @@
-import Qt 4.7
-
-//! [0]
-Rectangle {
- width: 200
- height: 240
-
- // MyPets model is defined in dummydata/MyPetsModel.qml
- // The viewer automatically loads files in dummydata/* to assist
- // development without a real data source.
- // This one contains my pets.
-
- // Define a delegate component that includes a separator for sections.
- Component {
- id: petDelegate
-
- Item {
- id: wrapper
- width: 200
- height: desc.height // height is the combined height of the description and the section separator
-
- Item {
- id: desc
- x: 5; height: layout.height + 4
-
- Column {
- id: layout
- y: 2
- Text { text: 'Name: ' + name }
- Text { text: 'Type: ' + type }
- Text { text: 'Age: ' + age }
- }
- }
- }
- }
-
- // Define a highlight component. Just one of these will be instantiated
- // by each ListView and placed behind the current item.
- Component {
- id: petHighlight
- Rectangle { color: "#FFFF88" }
- }
-
- // The list
- ListView {
- id: myList
-
- width: 200; height: parent.height
- model: MyPetsModel
- delegate: petDelegate
- highlight: petHighlight
- focus: true
-
- // The sectionExpression is simply the size of the pet.
- // We use this to determine which section we are in above.
- section.property: "size"
- section.criteria: ViewSection.FullString
- section.delegate: Rectangle {
- color: "lightsteelblue"
- width: 200
- height: 20
- Text {
- x: 2; height: parent.height
- verticalAlignment: 'AlignVCenter'
- text: section
- font.bold: true
- }
- }
- }
-}
-//! [0]
diff --git a/examples/declarative/modelviews/gridview/gridview-example.qml b/examples/declarative/modelviews/gridview/gridview-example.qml
new file mode 100644
index 0000000000..740f205c05
--- /dev/null
+++ b/examples/declarative/modelviews/gridview/gridview-example.qml
@@ -0,0 +1,89 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+import Qt 4.7
+
+Rectangle {
+ width: 300; height: 400
+ color: "white"
+
+ ListModel {
+ id: appModel
+ ListElement { name: "Music"; icon: "pics/AudioPlayer_48.png" }
+ ListElement { name: "Movies"; icon: "pics/VideoPlayer_48.png" }
+ ListElement { name: "Camera"; icon: "pics/Camera_48.png" }
+ ListElement { name: "Calendar"; icon: "pics/DateBook_48.png" }
+ ListElement { name: "Messaging"; icon: "pics/EMail_48.png" }
+ ListElement { name: "Todo List"; icon: "pics/TodoList_48.png" }
+ ListElement { name: "Contacts"; icon: "pics/AddressBook_48.png" }
+ }
+
+ Component {
+ id: appDelegate
+
+ Item {
+ width: 100; height: 100
+
+ Image {
+ id: myIcon
+ y: 20; anchors.horizontalCenter: parent.horizontalCenter
+ source: icon
+ }
+ Text {
+ anchors { top: myIcon.bottom; horizontalCenter: parent.horizontalCenter }
+ text: name
+ }
+ }
+ }
+
+ Component {
+ id: appHighlight
+ Rectangle { width: 80; height: 80; color: "lightsteelblue" }
+ }
+
+ GridView {
+ anchors.fill: parent
+ cellWidth: 100; cellHeight: 100
+ highlight: appHighlight
+ focus: true
+ model: appModel
+ delegate: appDelegate
+ }
+}
diff --git a/examples/declarative/listmodel-threaded/listmodel-threaded.qmlproject b/examples/declarative/modelviews/gridview/gridview.qmlproject
index d4909f8685..d4909f8685 100644
--- a/examples/declarative/listmodel-threaded/listmodel-threaded.qmlproject
+++ b/examples/declarative/modelviews/gridview/gridview.qmlproject
diff --git a/examples/declarative/gridview/pics/AddressBook_48.png b/examples/declarative/modelviews/gridview/pics/AddressBook_48.png
index 1ab7c8eec1..1ab7c8eec1 100644
--- a/examples/declarative/gridview/pics/AddressBook_48.png
+++ b/examples/declarative/modelviews/gridview/pics/AddressBook_48.png
Binary files differ
diff --git a/examples/declarative/gridview/pics/AudioPlayer_48.png b/examples/declarative/modelviews/gridview/pics/AudioPlayer_48.png
index f4b8689f87..f4b8689f87 100644
--- a/examples/declarative/gridview/pics/AudioPlayer_48.png
+++ b/examples/declarative/modelviews/gridview/pics/AudioPlayer_48.png
Binary files differ
diff --git a/examples/declarative/gridview/pics/Camera_48.png b/examples/declarative/modelviews/gridview/pics/Camera_48.png
index c76b524945..c76b524945 100644
--- a/examples/declarative/gridview/pics/Camera_48.png
+++ b/examples/declarative/modelviews/gridview/pics/Camera_48.png
Binary files differ
diff --git a/examples/declarative/gridview/pics/DateBook_48.png b/examples/declarative/modelviews/gridview/pics/DateBook_48.png
index 58f5787fb8..58f5787fb8 100644
--- a/examples/declarative/gridview/pics/DateBook_48.png
+++ b/examples/declarative/modelviews/gridview/pics/DateBook_48.png
Binary files differ
diff --git a/examples/declarative/gridview/pics/EMail_48.png b/examples/declarative/modelviews/gridview/pics/EMail_48.png
index d6d84a61be..d6d84a61be 100644
--- a/examples/declarative/gridview/pics/EMail_48.png
+++ b/examples/declarative/modelviews/gridview/pics/EMail_48.png
Binary files differ
diff --git a/examples/declarative/gridview/pics/TodoList_48.png b/examples/declarative/modelviews/gridview/pics/TodoList_48.png
index 0988448d9b..0988448d9b 100644
--- a/examples/declarative/gridview/pics/TodoList_48.png
+++ b/examples/declarative/modelviews/gridview/pics/TodoList_48.png
Binary files differ
diff --git a/examples/declarative/gridview/pics/VideoPlayer_48.png b/examples/declarative/modelviews/gridview/pics/VideoPlayer_48.png
index 52638c50a7..52638c50a7 100644
--- a/examples/declarative/gridview/pics/VideoPlayer_48.png
+++ b/examples/declarative/modelviews/gridview/pics/VideoPlayer_48.png
Binary files differ
diff --git a/examples/declarative/modelviews/listview/PetsModel.qml b/examples/declarative/modelviews/listview/PetsModel.qml
new file mode 100644
index 0000000000..70cdcddd09
--- /dev/null
+++ b/examples/declarative/modelviews/listview/PetsModel.qml
@@ -0,0 +1,101 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+import Qt 4.7
+
+// ListModel allows free form list models to be defined and populated.
+
+ListModel {
+ id: petsModel
+ ListElement {
+ name: "Polly"
+ type: "Parrot"
+ age: 12
+ size: "Small"
+ }
+ ListElement {
+ name: "Penny"
+ type: "Turtle"
+ age: 4
+ size: "Small"
+ }
+ ListElement {
+ name: "Warren"
+ type: "Rabbit"
+ age: 2
+ size: "Small"
+ }
+ ListElement {
+ name: "Spot"
+ type: "Dog"
+ age: 9
+ size: "Medium"
+ }
+ ListElement {
+ name: "Schrödinger"
+ type: "Cat"
+ age: 2
+ size: "Medium"
+ }
+ ListElement {
+ name: "Joey"
+ type: "Kangaroo"
+ age: 1
+ size: "Medium"
+ }
+ ListElement {
+ name: "Kimba"
+ type: "Bunny"
+ age: 65
+ size: "Large"
+ }
+ ListElement {
+ name: "Rover"
+ type: "Dog"
+ age: 5
+ size: "Large"
+ }
+ ListElement {
+ name: "Tiny"
+ type: "Elephant"
+ age: 15
+ size: "Large"
+ }
+}
diff --git a/examples/declarative/modelviews/listview/RecipesModel.qml b/examples/declarative/modelviews/listview/RecipesModel.qml
new file mode 100644
index 0000000000..03ab961683
--- /dev/null
+++ b/examples/declarative/modelviews/listview/RecipesModel.qml
@@ -0,0 +1,130 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+import Qt 4.7
+
+ListModel {
+ id: recipesModel
+ ListElement {
+ title: "Pancakes"
+ picture: "content/pics/pancakes.jpg"
+ ingredients: "<html>
+ <ul>
+ <li> 1 cup (150g) self-raising flour
+ <li> 1 tbs caster sugar
+ <li> 3/4 cup (185ml) milk
+ <li> 1 egg
+ </ul>
+ </html>"
+ method: "<html>
+ <ol>
+ <li> Sift flour and sugar together into a bowl. Add a pinch of salt.
+ <li> Beat milk and egg together, then add to dry ingredients. Beat until smooth.
+ <li> Pour mixture into a pan on medium heat and cook until bubbles appear on the surface.
+ <li> Turn over and cook other side until golden.
+ </ol>
+ </html>"
+ }
+ ListElement {
+ title: "Fruit Salad"
+ picture: "content/pics/fruit-salad.jpg"
+ ingredients: "* Seasonal Fruit"
+ method: "* Chop fruit and place in a bowl."
+ }
+ ListElement {
+ title: "Vegetable Soup"
+ picture: "content/pics/vegetable-soup.jpg"
+ ingredients: "<html>
+ <ul>
+ <li> 1 onion
+ <li> 1 turnip
+ <li> 1 potato
+ <li> 1 carrot
+ <li> 1 head of celery
+ <li> 1 1/2 litres of water
+ </ul>
+ </html>"
+ method: "<html>
+ <ol>
+ <li> Chop vegetables.
+ <li> Boil in water until vegetables soften.
+ <li> Season with salt and pepper to taste.
+ </ol>
+ </html>"
+ }
+ ListElement {
+ title: "Hamburger"
+ picture: "content/pics/hamburger.jpg"
+ ingredients: "<html>
+ <ul>
+ <li> 500g minced beef
+ <li> Seasoning
+ <li> lettuce, tomato, onion, cheese
+ <li> 1 hamburger bun for each burger
+ </ul>
+ </html>"
+ method: "<html>
+ <ol>
+ <li> Mix the beef, together with seasoning, in a food processor.
+ <li> Shape the beef into burgers.
+ <li> Grill the burgers for about 5 mins on each side (until cooked through)
+ <li> Serve each burger on a bun with ketchup, cheese, lettuce, tomato and onion.
+ </ol>
+ </html>"
+ }
+ ListElement {
+ title: "Lemonade"
+ picture: "content/pics/lemonade.jpg"
+ ingredients: "<html>
+ <ul>
+ <li> 1 cup Lemon Juice
+ <li> 1 cup Sugar
+ <li> 6 Cups of Water (2 cups warm water, 4 cups cold water)
+ </ul>
+ </html>"
+ method: "<html>
+ <ol>
+ <li> Pour 2 cups of warm water into a pitcher and stir in sugar until it dissolves.
+ <li> Pour in lemon juice, stir again, and add 4 cups of cold water.
+ <li> Chill or serve over ice cubes.
+ </ol>
+ </html>"
+ }
+}
diff --git a/examples/declarative/modelviews/listview/content/PressAndHoldButton.qml b/examples/declarative/modelviews/listview/content/PressAndHoldButton.qml
new file mode 100644
index 0000000000..7c174e3a34
--- /dev/null
+++ b/examples/declarative/modelviews/listview/content/PressAndHoldButton.qml
@@ -0,0 +1,79 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+import Qt 4.7
+
+Image {
+ id: container
+
+ property int repeatDelay: 300
+ property int repeatDuration: 75
+ property bool pressed: false
+
+ signal clicked
+
+ scale: pressed ? 0.9 : 1
+
+ SequentialAnimation on pressed {
+ id: autoRepeatClicks
+ running: false
+
+ PropertyAction { target: container; property: "pressed"; value: true }
+ ScriptAction { script: container.clicked() }
+ PauseAnimation { duration: repeatDelay }
+
+ SequentialAnimation {
+ loops: Animation.Infinite
+ ScriptAction { script: container.clicked() }
+ PauseAnimation { duration: repeatDuration }
+ }
+ }
+
+ MouseArea {
+ anchors.fill: parent
+
+ onPressed: autoRepeatClicks.start()
+ onReleased: {
+ autoRepeatClicks.stop()
+ container.pressed = false
+ }
+ }
+}
+
diff --git a/examples/declarative/modelviews/listview/content/TextButton.qml b/examples/declarative/modelviews/listview/content/TextButton.qml
new file mode 100644
index 0000000000..ded7a11414
--- /dev/null
+++ b/examples/declarative/modelviews/listview/content/TextButton.qml
@@ -0,0 +1,78 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+import Qt 4.7
+
+Rectangle {
+ id: container
+
+ property alias text: label.text
+
+ signal clicked
+
+ width: label.width + 20; height: label.height + 6
+ smooth: true
+ radius: 10
+
+ gradient: Gradient {
+ GradientStop { id: gradientStop; position: 0.0; color: palette.light }
+ GradientStop { position: 1.0; color: palette.button }
+ }
+
+ SystemPalette { id: palette }
+
+ MouseArea {
+ id: mouseArea
+ anchors.fill: parent
+ onClicked: { container.clicked() }
+ }
+
+ Text {
+ id: label
+ anchors.centerIn: parent
+ }
+
+ states: State {
+ name: "pressed"
+ when: mouseArea.pressed
+ PropertyChanges { target: gradientStop; color: palette.dark }
+ }
+}
+
diff --git a/examples/declarative/listview/content/pics/archive-insert.png b/examples/declarative/modelviews/listview/content/pics/archive-insert.png
index b706248162..b706248162 100644
--- a/examples/declarative/listview/content/pics/archive-insert.png
+++ b/examples/declarative/modelviews/listview/content/pics/archive-insert.png
Binary files differ
diff --git a/examples/declarative/listview/content/pics/archive-remove.png b/examples/declarative/modelviews/listview/content/pics/archive-remove.png
index 9640f6b055..9640f6b055 100644
--- a/examples/declarative/listview/content/pics/archive-remove.png
+++ b/examples/declarative/modelviews/listview/content/pics/archive-remove.png
Binary files differ
diff --git a/examples/declarative/listview/content/pics/button-pressed.png b/examples/declarative/modelviews/listview/content/pics/button-pressed.png
index e434d327f2..e434d327f2 100644
--- a/examples/declarative/listview/content/pics/button-pressed.png
+++ b/examples/declarative/modelviews/listview/content/pics/button-pressed.png
Binary files differ
diff --git a/examples/declarative/listview/content/pics/button.png b/examples/declarative/modelviews/listview/content/pics/button.png
index 56a63ce641..56a63ce641 100644
--- a/examples/declarative/listview/content/pics/button.png
+++ b/examples/declarative/modelviews/listview/content/pics/button.png
Binary files differ
diff --git a/examples/declarative/listview/content/pics/fruit-salad.jpg b/examples/declarative/modelviews/listview/content/pics/fruit-salad.jpg
index da5a6b10a2..da5a6b10a2 100644
--- a/examples/declarative/listview/content/pics/fruit-salad.jpg
+++ b/examples/declarative/modelviews/listview/content/pics/fruit-salad.jpg
Binary files differ
diff --git a/examples/declarative/listview/content/pics/go-down.png b/examples/declarative/modelviews/listview/content/pics/go-down.png
index 63331a575a..63331a575a 100644
--- a/examples/declarative/listview/content/pics/go-down.png
+++ b/examples/declarative/modelviews/listview/content/pics/go-down.png
Binary files differ
diff --git a/examples/declarative/listview/content/pics/go-up.png b/examples/declarative/modelviews/listview/content/pics/go-up.png
index 4459024ea8..4459024ea8 100644
--- a/examples/declarative/listview/content/pics/go-up.png
+++ b/examples/declarative/modelviews/listview/content/pics/go-up.png
Binary files differ
diff --git a/examples/declarative/listview/content/pics/hamburger.jpg b/examples/declarative/modelviews/listview/content/pics/hamburger.jpg
index d0a15be1bf..d0a15be1bf 100644
--- a/examples/declarative/listview/content/pics/hamburger.jpg
+++ b/examples/declarative/modelviews/listview/content/pics/hamburger.jpg
Binary files differ
diff --git a/examples/declarative/images/content/lemonade.jpg b/examples/declarative/modelviews/listview/content/pics/lemonade.jpg
index db445c9ac8..db445c9ac8 100644
--- a/examples/declarative/images/content/lemonade.jpg
+++ b/examples/declarative/modelviews/listview/content/pics/lemonade.jpg
Binary files differ
diff --git a/examples/declarative/listview/content/pics/list-add.png b/examples/declarative/modelviews/listview/content/pics/list-add.png
index e029787c71..e029787c71 100644
--- a/examples/declarative/listview/content/pics/list-add.png
+++ b/examples/declarative/modelviews/listview/content/pics/list-add.png
Binary files differ
diff --git a/examples/declarative/listview/content/pics/list-remove.png b/examples/declarative/modelviews/listview/content/pics/list-remove.png
index 2bb1a59831..2bb1a59831 100644
--- a/examples/declarative/listview/content/pics/list-remove.png
+++ b/examples/declarative/modelviews/listview/content/pics/list-remove.png
Binary files differ
diff --git a/examples/declarative/listview/content/pics/moreDown.png b/examples/declarative/modelviews/listview/content/pics/moreDown.png
index 31a35d5c20..31a35d5c20 100644
--- a/examples/declarative/listview/content/pics/moreDown.png
+++ b/examples/declarative/modelviews/listview/content/pics/moreDown.png
Binary files differ
diff --git a/examples/declarative/listview/content/pics/moreUp.png b/examples/declarative/modelviews/listview/content/pics/moreUp.png
index fefb9c9098..fefb9c9098 100644
--- a/examples/declarative/listview/content/pics/moreUp.png
+++ b/examples/declarative/modelviews/listview/content/pics/moreUp.png
Binary files differ
diff --git a/examples/declarative/listview/content/pics/pancakes.jpg b/examples/declarative/modelviews/listview/content/pics/pancakes.jpg
index 60c439638e..60c439638e 100644
--- a/examples/declarative/listview/content/pics/pancakes.jpg
+++ b/examples/declarative/modelviews/listview/content/pics/pancakes.jpg
Binary files differ
diff --git a/examples/declarative/listview/content/pics/vegetable-soup.jpg b/examples/declarative/modelviews/listview/content/pics/vegetable-soup.jpg
index 9dce332041..9dce332041 100644
--- a/examples/declarative/listview/content/pics/vegetable-soup.jpg
+++ b/examples/declarative/modelviews/listview/content/pics/vegetable-soup.jpg
Binary files differ
diff --git a/examples/declarative/modelviews/listview/dynamiclist.qml b/examples/declarative/modelviews/listview/dynamiclist.qml
new file mode 100644
index 0000000000..0e290f53e4
--- /dev/null
+++ b/examples/declarative/modelviews/listview/dynamiclist.qml
@@ -0,0 +1,203 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+import Qt 4.7
+import "content"
+
+// This example shows how items can be dynamically added to and removed from
+// a ListModel, and how these list modifications can be animated.
+
+Rectangle {
+ id: container
+ width: 640; height: 480
+ color: "#343434"
+
+ // The model:
+ ListModel {
+ id: fruitModel
+
+ ListElement {
+ name: "Apple"; cost: 2.45
+ attributes: [
+ ListElement { description: "Core" },
+ ListElement { description: "Deciduous" }
+ ]
+ }
+ ListElement {
+ name: "Banana"; cost: 1.95
+ attributes: [
+ ListElement { description: "Tropical" },
+ ListElement { description: "Seedless" }
+ ]
+ }
+ ListElement {
+ name: "Cumquat"; cost: 3.25
+ attributes: [
+ ListElement { description: "Citrus" }
+ ]
+ }
+ ListElement {
+ name: "Durian"; cost: 9.95
+ attributes: [
+ ListElement { description: "Tropical" },
+ ListElement { description: "Smelly" }
+ ]
+ }
+ }
+
+ // The delegate for each fruit in the model:
+ Component {
+ id: listDelegate
+
+ Item {
+ id: delegateItem
+ width: listView.width; height: 55
+ clip: true
+
+ Row {
+ anchors.verticalCenter: parent.verticalCenter
+ spacing: 10
+
+ Column {
+ Image {
+ source: "content/pics/go-up.png"
+ MouseArea { anchors.fill: parent; onClicked: fruitModel.move(index,index-1,1) }
+ }
+ Image { source: "content/pics/go-down.png"
+ MouseArea { anchors.fill: parent; onClicked: fruitModel.move(index,index+1,1) }
+ }
+ }
+
+ Column {
+ anchors.verticalCenter: parent.verticalCenter
+
+ Text {
+ text: name
+ font.pixelSize: 15
+ color: "white"
+ }
+ Row {
+ spacing: 5
+ Repeater {
+ model: attributes
+ Text { text: description; color: "White" }
+ }
+ }
+ }
+ }
+
+ Row {
+ anchors.verticalCenter: parent.verticalCenter
+ anchors.right: parent.right
+ spacing: 10
+
+ PressAndHoldButton {
+ anchors.verticalCenter: parent.verticalCenter
+ source: "content/pics/list-add.png"
+ onClicked: fruitModel.setProperty(index, "cost", cost + 0.25)
+ }
+
+ Text {
+ id: costText
+ anchors.verticalCenter: parent.verticalCenter
+ text: '$' + Number(cost).toFixed(2)
+ font.pixelSize: 15
+ color: "white"
+ font.bold: true
+ }
+
+ PressAndHoldButton {
+ anchors.verticalCenter: parent.verticalCenter
+ source: "content/pics/list-remove.png"
+ onClicked: fruitModel.setProperty(index, "cost", Math.max(0,cost-0.25))
+ }
+
+ Image {
+ source: "content/pics/archive-remove.png"
+ MouseArea { anchors.fill:parent; onClicked: fruitModel.remove(index) }
+ }
+ }
+
+ // Animate adding and removing of items:
+
+ ListView.onAdd: SequentialAnimation {
+ PropertyAction { target: delegateItem; property: "height"; value: 0 }
+ NumberAnimation { target: delegateItem; property: "height"; to: 55; duration: 250; easing.type: Easing.InOutQuad }
+ }
+
+ ListView.onRemove: SequentialAnimation {
+ PropertyAction { target: delegateItem; property: "ListView.delayRemove"; value: true }
+ NumberAnimation { target: delegateItem; property: "height"; to: 0; duration: 250; easing.type: Easing.InOutQuad }
+
+ // Make sure delayRemove is set back to false so that the item can be destroyed
+ PropertyAction { target: delegateItem; property: "ListView.delayRemove"; value: false }
+ }
+ }
+ }
+
+ // The view:
+ ListView {
+ id: listView
+ anchors.fill: parent; anchors.margins: 20
+ model: fruitModel
+ delegate: listDelegate
+ }
+
+ Row {
+ anchors { left: parent.left; bottom: parent.bottom; margins: 20 }
+ spacing: 10
+
+ TextButton {
+ text: "Add an item"
+ onClicked: {
+ fruitModel.append({
+ "name": "Pizza Margarita",
+ "cost": 5.95,
+ "attributes": [{"description": "Cheese"}, {"description": "Tomato"}]
+ })
+ }
+ }
+
+ TextButton {
+ text: "Remove all items"
+ onClicked: fruitModel.clear()
+ }
+ }
+}
+
diff --git a/examples/declarative/modelviews/listview/expandingdelegates.qml b/examples/declarative/modelviews/listview/expandingdelegates.qml
new file mode 100644
index 0000000000..94ea48fe86
--- /dev/null
+++ b/examples/declarative/modelviews/listview/expandingdelegates.qml
@@ -0,0 +1,202 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+import Qt 4.7
+import "content"
+
+// This example illustrates expanding a list item to show a more detailed view.
+
+Rectangle {
+ id: page
+ width: 400; height: 240
+ color: "black"
+
+ // Delegate for the recipes. This delegate has two modes:
+ // 1. List mode (default), which just shows the picture and title of the recipe.
+ // 2. Details mode, which also shows the ingredients and method.
+ Component {
+ id: recipeDelegate
+
+ Item {
+ id: recipe
+
+ // Create a property to contain the visibility of the details.
+ // We can bind multiple element's opacity to this one property,
+ // rather than having a "PropertyChanges" line for each element we
+ // want to fade.
+ property real detailsOpacity : 0
+
+ width: listView.width
+ height: 70
+
+ // A simple rounded rectangle for the background
+ Rectangle {
+ id: background
+ x: 2; y: 2; width: parent.width - x*2; height: parent.height - y*2
+ color: "ivory"
+ border.color: "orange"
+ radius: 5
+ }
+
+ // This mouse region covers the entire delegate.
+ // When clicked it changes mode to 'Details'. If we are already
+ // in Details mode, then no change will happen.
+ MouseArea {
+ anchors.fill: parent
+ onClicked: recipe.state = 'Details';
+ }
+
+ // Lay out the page: picture, title and ingredients at the top, and method at the
+ // bottom. Note that elements that should not be visible in the list
+ // mode have their opacity set to recipe.detailsOpacity.
+ Row {
+ id: topLayout
+ x: 10; y: 10; height: recipeImage.height; width: parent.width
+ spacing: 10
+
+ Image {
+ id: recipeImage
+ width: 50; height: 50
+ source: picture
+ }
+
+ Column {
+ width: background.width - recipeImage.width - 20; height: recipeImage.height
+ spacing: 5
+
+ Text {
+ text: title
+ font.bold: true; font.pointSize: 16
+ }
+
+ Text {
+ text: "Ingredients"
+ font.pointSize: 12; font.bold: true
+ opacity: recipe.detailsOpacity
+ }
+
+ Text {
+ text: ingredients
+ wrapMode: Text.WordWrap
+ width: parent.width
+ opacity: recipe.detailsOpacity
+ }
+ }
+ }
+
+ Item {
+ id: details
+ x: 10; width: parent.width - 20
+ anchors { top: topLayout.bottom; topMargin: 10; bottom: parent.bottom; bottomMargin: 10 }
+ opacity: recipe.detailsOpacity
+
+ Text {
+ id: methodTitle
+ anchors.top: parent.top
+ text: "Method"
+ font.pointSize: 12; font.bold: true
+ }
+
+ Flickable {
+ id: flick
+ width: parent.width
+ anchors { top: methodTitle.bottom; bottom: parent.bottom }
+ contentHeight: methodText.height; clip: true
+
+ Text { id: methodText; text: method; wrapMode: Text.WordWrap; width: details.width }
+ }
+
+ Image {
+ anchors { right: flick.right; top: flick.top }
+ source: "content/pics/moreUp.png"
+ opacity: flick.atYBeginning ? 0 : 1
+ }
+
+ Image {
+ anchors { right: flick.right; bottom: flick.bottom }
+ source: "content/pics/moreDown.png"
+ opacity: flick.atYEnd ? 0 : 1
+ }
+ }
+
+ // A button to close the detailed view, i.e. set the state back to default ('').
+ TextButton {
+ y: 10
+ anchors { right: background.right; rightMargin: 10 }
+ opacity: recipe.detailsOpacity
+ text: "Close"
+
+ onClicked: recipe.state = '';
+ }
+
+ states: State {
+ name: "Details"
+
+ PropertyChanges { target: background; color: "white" }
+ PropertyChanges { target: recipeImage; width: 130; height: 130 } // Make picture bigger
+ PropertyChanges { target: recipe; detailsOpacity: 1; x: 0 } // Make details visible
+ PropertyChanges { target: recipe; height: listView.height } // Fill the entire list area with the detailed view
+
+ // Move the list so that this item is at the top.
+ PropertyChanges { target: recipe.ListView.view; explicit: true; contentY: recipe.y }
+
+ // Disallow flicking while we're in detailed view
+ PropertyChanges { target: recipe.ListView.view; interactive: false }
+ }
+
+ transitions: Transition {
+ // Make the state changes smooth
+ ParallelAnimation {
+ ColorAnimation { property: "color"; duration: 500 }
+ NumberAnimation { duration: 300; properties: "detailsOpacity,x,contentY,height,width" }
+ }
+ }
+ }
+ }
+
+ // The actual list
+ ListView {
+ id: listView
+ anchors.fill: parent
+ model: RecipesModel {}
+ delegate: recipeDelegate
+ clip: true
+ }
+}
diff --git a/examples/declarative/modelviews/listview/highlight.qml b/examples/declarative/modelviews/listview/highlight.qml
new file mode 100644
index 0000000000..5748974fe6
--- /dev/null
+++ b/examples/declarative/modelviews/listview/highlight.qml
@@ -0,0 +1,93 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+import Qt 4.7
+
+Rectangle {
+ width: 200; height: 300
+
+ // Define a delegate component. A component will be
+ // instantiated for each visible item in the list.
+ Component {
+ id: petDelegate
+ Item {
+ id: wrapper
+ width: 200; height: 55
+ Column {
+ Text { text: 'Name: ' + name }
+ Text { text: 'Type: ' + type }
+ Text { text: 'Age: ' + age }
+ }
+ // indent the item if it is the current item
+ states: State {
+ name: "Current"
+ when: wrapper.ListView.isCurrentItem
+ PropertyChanges { target: wrapper; x: 20 }
+ }
+ transitions: Transition {
+ NumberAnimation { properties: "x"; duration: 200 }
+ }
+ }
+ }
+
+ // Define a highlight with customised movement between items.
+ Component {
+ id: highlightBar
+ Rectangle {
+ width: 200; height: 50
+ color: "#FFFF88"
+ SpringFollow on y { to: listView.currentItem.y; spring: 3; damping: 0.1 }
+ }
+ }
+
+ ListView {
+ id: listView
+ width: 200; height: parent.height
+
+ model: PetsModel {}
+ delegate: petDelegate
+ focus: true
+
+ // Set the highlight delegate. Note we must also set highlightFollowsCurrentItem
+ // to false so the highlight delegate can control how the highlight is moved.
+ highlight: highlightBar
+ highlightFollowsCurrentItem: false
+ }
+}
diff --git a/examples/declarative/modelviews/listview/highlightranges.qml b/examples/declarative/modelviews/listview/highlightranges.qml
new file mode 100644
index 0000000000..162d8b76bc
--- /dev/null
+++ b/examples/declarative/modelviews/listview/highlightranges.qml
@@ -0,0 +1,119 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+import Qt 4.7
+
+Rectangle {
+ width: 600; height: 300
+
+ // Show the model in three lists, with different highlight ranges.
+ // preferredHighlightBegin and preferredHighlightEnd set the
+ // range in which to attempt to maintain the highlight.
+ //
+ // The second and third ListView set their currentIndex to be the
+ // same as the first, and the first ListView is given keyboard focus.
+ //
+ // The first list does not set a highlight range, so its currentItem
+ // can move freely within the visible area. If it moves outside the
+ // visible area, the view is automatically scrolled to keep the current
+ // item visible.
+ //
+ // The second list sets a highlight range which attempts to keep the
+ // current item within the the bounds of the range. However,
+ // items will not scroll beyond the beginning or end of the view,
+ // forcing the highlight to move outside the range at the ends.
+ //
+ // The third list sets the highlightRangeMode to StrictlyEnforceRange
+ // and sets a range smaller than the height of an item. This
+ // forces the current item to change when the view is flicked,
+ // since the highlight is unable to move.
+ //
+ // Note that the first ListView sets its currentIndex to be equal to
+ // the third ListView's currentIndex. By flicking List3 with
+ // the mouse, the current index of List1 will be changed.
+
+ ListView {
+ id: list1
+ width: 200; height: parent.height
+ model: PetsModel {}
+ delegate: petDelegate
+
+ highlight: Rectangle { color: "lightsteelblue" }
+ currentIndex: list3.currentIndex
+ focus: true
+ }
+
+ ListView {
+ id: list2
+ x: list1.width
+ width: 200; height: parent.height
+ model: PetsModel {}
+ delegate: petDelegate
+
+ highlight: Rectangle { color: "yellow" }
+ currentIndex: list1.currentIndex
+ preferredHighlightBegin: 80; preferredHighlightEnd: 220
+ highlightRangeMode: ListView.ApplyRange
+ }
+
+ ListView {
+ id: list3
+ x: list1.width + list2.width
+ width: 200; height: parent.height
+ model: PetsModel {}
+ delegate: petDelegate
+
+ highlight: Rectangle { color: "yellow" }
+ currentIndex: list1.currentIndex
+ preferredHighlightBegin: 125; preferredHighlightEnd: 125
+ highlightRangeMode: ListView.StrictlyEnforceRange
+ }
+
+ // The delegate for each list
+ Component {
+ id: petDelegate
+ Column {
+ width: 200
+ Text { text: 'Name: ' + name }
+ Text { text: 'Type: ' + type }
+ Text { text: 'Age: ' + age }
+ }
+ }
+}
diff --git a/examples/declarative/listview/listview.qmlproject b/examples/declarative/modelviews/listview/listview.qmlproject
index d4909f8685..d4909f8685 100644
--- a/examples/declarative/listview/listview.qmlproject
+++ b/examples/declarative/modelviews/listview/listview.qmlproject
diff --git a/examples/declarative/modelviews/listview/sections.qml b/examples/declarative/modelviews/listview/sections.qml
new file mode 100644
index 0000000000..8c038a0289
--- /dev/null
+++ b/examples/declarative/modelviews/listview/sections.qml
@@ -0,0 +1,84 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+import Qt 4.7
+
+//! [0]
+Rectangle {
+ id: container
+ width: 200
+ height: 250
+
+ ListModel {
+ id: animalsModel
+ ListElement { name: "Parrot"; size: "Small" }
+ ListElement { name: "Guinea pig"; size: "Small" }
+ ListElement { name: "Dog"; size: "Medium" }
+ ListElement { name: "Cat"; size: "Medium" }
+ ListElement { name: "Elephant"; size: "Large" }
+ }
+
+ // The delegate for each section header
+ Component {
+ id: sectionHeading
+ Rectangle {
+ width: container.width
+ height: childrenRect.height
+ color: "lightsteelblue"
+
+ Text {
+ text: section
+ font.bold: true
+ }
+ }
+ }
+
+ ListView {
+ anchors.fill: parent
+ model: animalsModel
+ delegate: Text { text: name }
+
+ section.property: "size"
+ section.criteria: ViewSection.FullString
+ section.delegate: sectionHeading
+ }
+}
+//! [0]
+
diff --git a/examples/declarative/modelviews/modelviews.pro b/examples/declarative/modelviews/modelviews.pro
new file mode 100644
index 0000000000..b811e44dc9
--- /dev/null
+++ b/examples/declarative/modelviews/modelviews.pro
@@ -0,0 +1,7 @@
+TEMPLATE = subdirs
+
+SUBDIRS += \
+ objectlistmodel \
+ stringlistmodel
+
+
diff --git a/examples/declarative/mousearea/mousearea.qmlproject b/examples/declarative/modelviews/modelviews.qmlproject
index d4909f8685..d4909f8685 100644
--- a/examples/declarative/mousearea/mousearea.qmlproject
+++ b/examples/declarative/modelviews/modelviews.qmlproject
diff --git a/examples/declarative/modelviews/objectlistmodel/dataobject.cpp b/examples/declarative/modelviews/objectlistmodel/dataobject.cpp
new file mode 100644
index 0000000000..2a42ea39e0
--- /dev/null
+++ b/examples/declarative/modelviews/objectlistmodel/dataobject.cpp
@@ -0,0 +1,78 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include <QDebug>
+#include "dataobject.h"
+
+DataObject::DataObject(QObject *parent)
+ : QObject(parent)
+{
+}
+
+DataObject::DataObject(const QString &name, const QString &color, QObject *parent)
+ : QObject(parent), m_name(name), m_color(color)
+{
+}
+
+QString DataObject::name() const
+{
+ return m_name;
+}
+
+void DataObject::setName(const QString &name)
+{
+ if (name != m_name) {
+ m_name = name;
+ emit nameChanged();
+ }
+}
+
+QString DataObject::color() const
+{
+ return m_color;
+}
+
+void DataObject::setColor(const QString &color)
+{
+ if (color != m_color) {
+ m_color = color;
+ emit colorChanged();
+ }
+}
diff --git a/examples/declarative/modelviews/objectlistmodel/dataobject.h b/examples/declarative/modelviews/objectlistmodel/dataobject.h
new file mode 100644
index 0000000000..c61e50c36c
--- /dev/null
+++ b/examples/declarative/modelviews/objectlistmodel/dataobject.h
@@ -0,0 +1,72 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#ifndef DATAOBJECT_H
+#define DATAOBJECT_H
+
+#include <QObject>
+
+class DataObject : public QObject
+{
+ Q_OBJECT
+
+ Q_PROPERTY(QString name READ name WRITE setName NOTIFY nameChanged)
+ Q_PROPERTY(QString color READ color WRITE setColor NOTIFY colorChanged)
+
+public:
+ DataObject(QObject *parent=0);
+ DataObject(const QString &name, const QString &color, QObject *parent=0);
+
+ QString name() const;
+ void setName(const QString &name);
+
+ QString color() const;
+ void setColor(const QString &color);
+
+signals:
+ void nameChanged();
+ void colorChanged();
+
+private:
+ QString m_name;
+ QString m_color;
+};
+
+#endif // DATAOBJECT_H
diff --git a/examples/declarative/modelviews/objectlistmodel/main.cpp b/examples/declarative/modelviews/objectlistmodel/main.cpp
new file mode 100644
index 0000000000..25de8d1b07
--- /dev/null
+++ b/examples/declarative/modelviews/objectlistmodel/main.cpp
@@ -0,0 +1,76 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the demonstration applications of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include <QApplication>
+
+#include <qdeclarativeengine.h>
+#include <qdeclarativecontext.h>
+#include <qdeclarative.h>
+#include <qdeclarativeitem.h>
+#include <qdeclarativeview.h>
+
+#include "dataobject.h"
+
+/*
+ This example illustrates exposing a QList<QObject*> as a
+ model in QML
+*/
+
+int main(int argc, char ** argv)
+{
+ QApplication app(argc, argv);
+
+ QDeclarativeView view;
+
+ QList<QObject*> dataList;
+ dataList.append(new DataObject("Item 1", "red"));
+ dataList.append(new DataObject("Item 2", "green"));
+ dataList.append(new DataObject("Item 3", "blue"));
+ dataList.append(new DataObject("Item 4", "yellow"));
+
+ QDeclarativeContext *ctxt = view.rootContext();
+ ctxt->setContextProperty("myModel", QVariant::fromValue(dataList));
+
+ view.setSource(QUrl("qrc:view.qml"));
+ view.show();
+
+ return app.exec();
+}
+
diff --git a/examples/declarative/objectlistmodel/objectlistmodel.pro b/examples/declarative/modelviews/objectlistmodel/objectlistmodel.pro
index 869cde35af..869cde35af 100644
--- a/examples/declarative/objectlistmodel/objectlistmodel.pro
+++ b/examples/declarative/modelviews/objectlistmodel/objectlistmodel.pro
diff --git a/examples/declarative/objectlistmodel/objectlistmodel.qmlproject b/examples/declarative/modelviews/objectlistmodel/objectlistmodel.qmlproject
index d4909f8685..d4909f8685 100644
--- a/examples/declarative/objectlistmodel/objectlistmodel.qmlproject
+++ b/examples/declarative/modelviews/objectlistmodel/objectlistmodel.qmlproject
diff --git a/examples/declarative/stringlistmodel/stringlistmodel.qrc b/examples/declarative/modelviews/objectlistmodel/objectlistmodel.qrc
index 17e9301471..17e9301471 100644
--- a/examples/declarative/stringlistmodel/stringlistmodel.qrc
+++ b/examples/declarative/modelviews/objectlistmodel/objectlistmodel.qrc
diff --git a/examples/declarative/modelviews/objectlistmodel/view.qml b/examples/declarative/modelviews/objectlistmodel/view.qml
new file mode 100644
index 0000000000..034121c4bc
--- /dev/null
+++ b/examples/declarative/modelviews/objectlistmodel/view.qml
@@ -0,0 +1,56 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+import Qt 4.7
+
+ListView {
+ width: 100
+ height: 100
+ anchors.fill: parent
+ model: myModel
+ delegate: Component {
+ Rectangle {
+ height: 25
+ width: 100
+ color: model.modelData.color
+ Text { text: name }
+ }
+ }
+}
diff --git a/examples/declarative/modelviews/package/Delegate.qml b/examples/declarative/modelviews/package/Delegate.qml
new file mode 100644
index 0000000000..9c42876ef4
--- /dev/null
+++ b/examples/declarative/modelviews/package/Delegate.qml
@@ -0,0 +1,88 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+import Qt 4.7
+
+//![0]
+Package {
+ Text { id: listDelegate; width: 200; height: 25; text: 'Empty'; Package.name: 'list' }
+ Text { id: gridDelegate; width: 100; height: 50; text: 'Empty'; Package.name: 'grid' }
+
+ Rectangle {
+ id: wrapper
+ width: 200; height: 25
+ color: 'lightsteelblue'
+
+ Text { text: display; anchors.centerIn: parent }
+ MouseArea {
+ anchors.fill: parent
+ onClicked: {
+ if (wrapper.state == 'inList')
+ wrapper.state = 'inGrid';
+ else
+ wrapper.state = 'inList';
+ }
+ }
+
+ state: 'inList'
+ states: [
+ State {
+ name: 'inList'
+ ParentChange { target: wrapper; parent: listDelegate }
+ },
+ State {
+ name: 'inGrid'
+ ParentChange {
+ target: wrapper; parent: gridDelegate
+ x: 0; y: 0; width: gridDelegate.width; height: gridDelegate.height
+ }
+ }
+ ]
+
+ transitions: [
+ Transition {
+ ParentAnimation {
+ NumberAnimation { properties: 'x,y,width,height'; duration: 300 }
+ }
+ }
+ ]
+ }
+}
+//![0]
diff --git a/examples/declarative/package/package.qmlproject b/examples/declarative/modelviews/package/package.qmlproject
index d4909f8685..d4909f8685 100644
--- a/examples/declarative/package/package.qmlproject
+++ b/examples/declarative/modelviews/package/package.qmlproject
diff --git a/examples/declarative/modelviews/package/view.qml b/examples/declarative/modelviews/package/view.qml
new file mode 100644
index 0000000000..152881a4f0
--- /dev/null
+++ b/examples/declarative/modelviews/package/view.qml
@@ -0,0 +1,75 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+import Qt 4.7
+
+Item {
+ width: 400
+ height: 200
+
+ ListModel {
+ id: myModel
+ ListElement { display: "One" }
+ ListElement { display: "Two" }
+ ListElement { display: "Three" }
+ ListElement { display: "Four" }
+ ListElement { display: "Five" }
+ ListElement { display: "Six" }
+ ListElement { display: "Seven" }
+ ListElement { display: "Eight" }
+ }
+ //![0]
+ VisualDataModel {
+ id: visualModel
+ delegate: Delegate {}
+ model: myModel
+ }
+
+ ListView {
+ width: 200; height:200
+ model: visualModel.parts.list
+ }
+ GridView {
+ x: 200; width: 200; height:200
+ cellHeight: 50
+ model: visualModel.parts.grid
+ }
+ //![0]
+}
diff --git a/examples/declarative/modelviews/parallax/parallax.qml b/examples/declarative/modelviews/parallax/parallax.qml
new file mode 100644
index 0000000000..ec52a244dd
--- /dev/null
+++ b/examples/declarative/modelviews/parallax/parallax.qml
@@ -0,0 +1,81 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+import Qt 4.7
+import "../../toys/clocks/content"
+import "qml"
+
+Rectangle {
+ id: root
+
+ width: 320; height: 480
+
+ ParallaxView {
+ id: parallax
+ anchors.fill: parent
+ background: "pics/background.jpg"
+
+ Item {
+ property url icon: "pics/yast-wol.png"
+ width: 320; height: 480
+ Clock { anchors.centerIn: parent }
+ }
+
+ Item {
+ property url icon: "pics/home-page.svg"
+ width: 320; height: 480
+ Smiley { }
+ }
+
+ Item {
+ property url icon: "pics/yast-joystick.png"
+ width: 320; height: 480
+
+ Loader {
+ anchors { top: parent.top; topMargin: 10; horizontalCenter: parent.horizontalCenter }
+ width: 300; height: 400
+ clip: true;
+ source: "../../../../demos/declarative/samegame/samegame.qml"
+ }
+ }
+
+ currentIndex: root.currentIndex
+ }
+}
diff --git a/examples/declarative/parallax/parallax.qmlproject b/examples/declarative/modelviews/parallax/parallax.qmlproject
index d4909f8685..d4909f8685 100644
--- a/examples/declarative/parallax/parallax.qmlproject
+++ b/examples/declarative/modelviews/parallax/parallax.qmlproject
diff --git a/examples/declarative/parallax/pics/background.jpg b/examples/declarative/modelviews/parallax/pics/background.jpg
index 61cca2f138..61cca2f138 100644
--- a/examples/declarative/parallax/pics/background.jpg
+++ b/examples/declarative/modelviews/parallax/pics/background.jpg
Binary files differ
diff --git a/examples/declarative/parallax/pics/face-smile.png b/examples/declarative/modelviews/parallax/pics/face-smile.png
index 3d66d72578..3d66d72578 100644
--- a/examples/declarative/parallax/pics/face-smile.png
+++ b/examples/declarative/modelviews/parallax/pics/face-smile.png
Binary files differ
diff --git a/examples/declarative/parallax/pics/home-page.svg b/examples/declarative/modelviews/parallax/pics/home-page.svg
index 4f16958844..4f16958844 100644
--- a/examples/declarative/parallax/pics/home-page.svg
+++ b/examples/declarative/modelviews/parallax/pics/home-page.svg
diff --git a/examples/declarative/parallax/pics/shadow.png b/examples/declarative/modelviews/parallax/pics/shadow.png
index 8270565e87..8270565e87 100644
--- a/examples/declarative/parallax/pics/shadow.png
+++ b/examples/declarative/modelviews/parallax/pics/shadow.png
Binary files differ
diff --git a/examples/declarative/parallax/pics/yast-joystick.png b/examples/declarative/modelviews/parallax/pics/yast-joystick.png
index 858cea0301..858cea0301 100644
--- a/examples/declarative/parallax/pics/yast-joystick.png
+++ b/examples/declarative/modelviews/parallax/pics/yast-joystick.png
Binary files differ
diff --git a/examples/declarative/parallax/pics/yast-wol.png b/examples/declarative/modelviews/parallax/pics/yast-wol.png
index 7712180a3b..7712180a3b 100644
--- a/examples/declarative/parallax/pics/yast-wol.png
+++ b/examples/declarative/modelviews/parallax/pics/yast-wol.png
Binary files differ
diff --git a/examples/declarative/modelviews/parallax/qml/ParallaxView.qml b/examples/declarative/modelviews/parallax/qml/ParallaxView.qml
new file mode 100644
index 0000000000..adf0885c16
--- /dev/null
+++ b/examples/declarative/modelviews/parallax/qml/ParallaxView.qml
@@ -0,0 +1,123 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+import Qt 4.7
+
+Item {
+ id: root
+
+ property alias background: background.source
+ default property alias content: visualModel.children
+ property int currentIndex: 0
+
+ Image {
+ id: background
+ fillMode: Image.TileHorizontally
+ x: -list.contentX / 2
+ width: Math.max(list.contentWidth, parent.width)
+ }
+
+ ListView {
+ id: list
+
+ currentIndex: root.currentIndex
+ onCurrentIndexChanged: root.currentIndex = currentIndex
+
+ orientation: Qt.Horizontal
+ boundsBehavior: Flickable.DragOverBounds
+ anchors.fill: parent
+ model: VisualItemModel { id: visualModel }
+
+ highlightRangeMode: ListView.StrictlyEnforceRange
+ snapMode: ListView.SnapOneItem
+ }
+
+ ListView {
+ id: selector
+
+ Rectangle {
+ color: "#60FFFFFF"
+ x: -10; y: -10; radius: 10; z: -1
+ width: parent.width + 20; height: parent.height + 20
+ }
+ currentIndex: root.currentIndex
+ onCurrentIndexChanged: root.currentIndex = currentIndex
+
+ height: 50
+ anchors.bottom: parent.bottom
+ anchors.horizontalCenter: parent.horizontalCenter
+ width: Math.min(count * 50, parent.width - 20)
+ interactive: width == parent.width - 20
+ orientation: Qt.Horizontal
+
+ delegate: Item {
+ width: 50; height: 50
+ id: delegateRoot
+
+ Image {
+ id: image
+ source: modelData.icon
+ smooth: true
+ scale: 0.8
+ }
+
+ MouseArea {
+ anchors.fill: parent
+ onClicked: { root.currentIndex = index }
+ }
+
+ states: State {
+ name: "Selected"
+ when: delegateRoot.ListView.isCurrentItem == true
+ PropertyChanges {
+ target: image
+ scale: 1
+ y: -5
+ }
+ }
+ transitions: Transition {
+ NumberAnimation {
+ properties: "scale,y"
+ }
+ }
+ }
+ model: visualModel.children
+ }
+}
diff --git a/examples/declarative/modelviews/parallax/qml/Smiley.qml b/examples/declarative/modelviews/parallax/qml/Smiley.qml
new file mode 100644
index 0000000000..8399664bca
--- /dev/null
+++ b/examples/declarative/modelviews/parallax/qml/Smiley.qml
@@ -0,0 +1,86 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+import Qt 4.7
+
+Item {
+ id: window
+ width: 320; height: 480
+
+ // The shadow for the smiley face
+ Image {
+ anchors.horizontalCenter: parent.horizontalCenter
+ source: "../pics/shadow.png"; y: smiley.minHeight + 58
+
+ // The scale property depends on the y position of the smiley face.
+ scale: smiley.y * 0.5 / (smiley.minHeight - smiley.maxHeight)
+ }
+
+ Image {
+ id: smiley
+ property int maxHeight: window.height / 3
+ property int minHeight: 2 * window.height / 3
+
+ anchors.horizontalCenter: parent.horizontalCenter
+ source: "../pics/face-smile.png"; y: minHeight
+
+ // Animate the y property. Setting repeat to true makes the
+ // animation repeat indefinitely, otherwise it would only run once.
+ SequentialAnimation on y {
+ loops: Animation.Infinite
+
+ // Move from minHeight to maxHeight in 300ms, using the OutExpo easing function
+ NumberAnimation {
+ from: smiley.minHeight; to: smiley.maxHeight
+ easing.type: Easing.OutExpo; duration: 300
+ }
+
+ // Then move back to minHeight in 1 second, using the OutBounce easing function
+ NumberAnimation {
+ from: smiley.maxHeight; to: smiley.minHeight
+ easing.type: Easing.OutBounce; duration: 1000
+ }
+
+ // Then pause for 500ms
+ PauseAnimation { duration: 500 }
+ }
+ }
+}
+
diff --git a/examples/declarative/modelviews/stringlistmodel/main.cpp b/examples/declarative/modelviews/stringlistmodel/main.cpp
new file mode 100644
index 0000000000..b2ebd4beea
--- /dev/null
+++ b/examples/declarative/modelviews/stringlistmodel/main.cpp
@@ -0,0 +1,75 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the demonstration applications of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include <QApplication>
+
+#include <qdeclarativeengine.h>
+#include <qdeclarativecontext.h>
+#include <qdeclarative.h>
+#include <qdeclarativeitem.h>
+#include <qdeclarativeview.h>
+
+
+/*
+ This example illustrates exposing a QStringList as a
+ model in QML
+*/
+
+int main(int argc, char ** argv)
+{
+ QApplication app(argc, argv);
+
+ QDeclarativeView view;
+
+ QStringList dataList;
+ dataList.append("Item 1");
+ dataList.append("Item 2");
+ dataList.append("Item 3");
+ dataList.append("Item 4");
+
+ QDeclarativeContext *ctxt = view.rootContext();
+ ctxt->setContextProperty("myModel", QVariant::fromValue(dataList));
+
+ view.setSource(QUrl("qrc:view.qml"));
+ view.show();
+
+ return app.exec();
+}
+
diff --git a/examples/declarative/stringlistmodel/stringlistmodel.pro b/examples/declarative/modelviews/stringlistmodel/stringlistmodel.pro
index 23dc481f88..23dc481f88 100644
--- a/examples/declarative/stringlistmodel/stringlistmodel.pro
+++ b/examples/declarative/modelviews/stringlistmodel/stringlistmodel.pro
diff --git a/examples/declarative/modelviews/stringlistmodel/stringlistmodel.qrc b/examples/declarative/modelviews/stringlistmodel/stringlistmodel.qrc
new file mode 100644
index 0000000000..17e9301471
--- /dev/null
+++ b/examples/declarative/modelviews/stringlistmodel/stringlistmodel.qrc
@@ -0,0 +1,5 @@
+<!DOCTYPE RCC><RCC version="1.0">
+<qresource>
+ <file>view.qml</file>
+</qresource>
+</RCC>
diff --git a/examples/declarative/modelviews/stringlistmodel/view.qml b/examples/declarative/modelviews/stringlistmodel/view.qml
new file mode 100644
index 0000000000..ec5597df7b
--- /dev/null
+++ b/examples/declarative/modelviews/stringlistmodel/view.qml
@@ -0,0 +1,55 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+import Qt 4.7
+
+ListView {
+ width: 100
+ height: 100
+ anchors.fill: parent
+ model: myModel
+ delegate: Component {
+ Rectangle {
+ height: 25
+ width: 100
+ Text { text: modelData }
+ }
+ }
+}
diff --git a/examples/declarative/modelviews/visualitemmodel/visualitemmodel.qml b/examples/declarative/modelviews/visualitemmodel/visualitemmodel.qml
new file mode 100644
index 0000000000..1b44e05266
--- /dev/null
+++ b/examples/declarative/modelviews/visualitemmodel/visualitemmodel.qml
@@ -0,0 +1,107 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+// This example demonstrates placing items in a view using
+// a VisualItemModel
+
+import Qt 4.7
+
+Rectangle {
+ color: "lightgray"
+ width: 240
+ height: 320
+
+ VisualItemModel {
+ id: itemModel
+
+ Rectangle {
+ width: view.width; height: view.height
+ color: "#FFFEF0"
+ Text { text: "Page 1"; font.bold: true; anchors.centerIn: parent }
+ }
+ Rectangle {
+ width: view.width; height: view.height
+ color: "#F0FFF7"
+ Text { text: "Page 2"; font.bold: true; anchors.centerIn: parent }
+ }
+ Rectangle {
+ width: view.width; height: view.height
+ color: "#F4F0FF"
+ Text { text: "Page 3"; font.bold: true; anchors.centerIn: parent }
+ }
+ }
+
+ ListView {
+ id: view
+ anchors { fill: parent; bottomMargin: 30 }
+ model: itemModel
+ preferredHighlightBegin: 0; preferredHighlightEnd: 0
+ highlightRangeMode: ListView.StrictlyEnforceRange
+ orientation: ListView.Horizontal
+ snapMode: ListView.SnapOneItem; flickDeceleration: 2000
+ }
+
+ Rectangle {
+ width: 240; height: 30
+ anchors { top: view.bottom; bottom: parent.bottom }
+ color: "gray"
+
+ Row {
+ anchors.centerIn: parent
+ spacing: 20
+
+ Repeater {
+ model: itemModel.count
+
+ Rectangle {
+ width: 5; height: 5
+ radius: 3
+ color: view.currentIndex == index ? "blue" : "white"
+
+ MouseArea {
+ width: 20; height: 20
+ anchors.centerIn: parent
+ onClicked: view.currentIndex = index
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/examples/declarative/progressbar/progressbar.qmlproject b/examples/declarative/modelviews/visualitemmodel/visualitemmodel.qmlproject
index d4909f8685..d4909f8685 100644
--- a/examples/declarative/progressbar/progressbar.qmlproject
+++ b/examples/declarative/modelviews/visualitemmodel/visualitemmodel.qmlproject
diff --git a/examples/declarative/webview/alerts.html b/examples/declarative/modelviews/webview/alerts.html
index 82caddf7fb..82caddf7fb 100644
--- a/examples/declarative/webview/alerts.html
+++ b/examples/declarative/modelviews/webview/alerts.html
diff --git a/examples/declarative/modelviews/webview/alerts.qml b/examples/declarative/modelviews/webview/alerts.qml
new file mode 100644
index 0000000000..73034504a9
--- /dev/null
+++ b/examples/declarative/modelviews/webview/alerts.qml
@@ -0,0 +1,98 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+import Qt 4.7
+import org.webkit 1.0
+
+WebView {
+ id: webView
+ width: 120
+ height: 150
+ url: "alerts.html"
+
+ onAlert: popup.show(message)
+
+ Rectangle {
+ id: popup
+
+ color: "red"
+ border.color: "black"; border.width: 2
+ radius: 4
+
+ y: parent.height // off "screen"
+ anchors.horizontalCenter: parent.horizontalCenter
+ width: label.width+5
+ height: label.height+5
+
+ opacity: 0
+
+ function show(t) {
+ label.text = t
+ popup.state = "visible"
+ timer.start()
+ }
+ states: State {
+ name: "visible"
+ PropertyChanges { target: popup; opacity: 1 }
+ PropertyChanges { target: popup; y: (webView.height-popup.height)/2 }
+ }
+
+ transitions: [
+ Transition { from: ""; PropertyAnimation { properties: "opacity,y"; duration: 65 } },
+ Transition { from: "visible"; PropertyAnimation { properties: "opacity,y"; duration: 500 } }
+ ]
+
+ Timer {
+ id: timer
+ interval: 1000
+ onTriggered: popup.state = ""
+ }
+
+ Text {
+ id: label
+ anchors.centerIn: parent
+ color: "white"
+ font.pixelSize: 20
+ width: webView.width*0.75
+ wrapMode: Text.WordWrap
+ horizontalAlignment: Text.AlignHCenter
+ }
+ }
+}
diff --git a/examples/declarative/modelviews/webview/autosize.qml b/examples/declarative/modelviews/webview/autosize.qml
new file mode 100644
index 0000000000..556b42903d
--- /dev/null
+++ b/examples/declarative/modelviews/webview/autosize.qml
@@ -0,0 +1,102 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+import Qt 4.7
+import org.webkit 1.0
+
+// The WebView size is determined by the width, height,
+// preferredWidth, and preferredHeight properties.
+Rectangle {
+ id: rect
+ width: 200
+ height: layout.height
+
+ Column {
+ id: layout
+ spacing: 2
+ WebView {
+ html: "No width defined."
+ Rectangle {
+ color: "#10000000"
+ anchors.fill: parent
+ }
+ }
+ WebView {
+ width: rect.width
+ html: "The width is full."
+ Rectangle {
+ color: "#10000000"
+ anchors.fill: parent
+ }
+ }
+ WebView {
+ width: rect.width/2
+ html: "The width is half."
+ Rectangle {
+ color: "#10000000"
+ anchors.fill: parent
+ }
+ }
+ WebView {
+ preferredWidth: rect.width/2
+ html: "The preferredWidth is half."
+ Rectangle {
+ color: "#10000000"
+ anchors.fill: parent
+ }
+ }
+ WebView {
+ preferredWidth: rect.width/2
+ html: "The_preferredWidth_is_half."
+ Rectangle {
+ color: "#10000000"
+ anchors.fill: parent
+ }
+ }
+ WebView {
+ width: rect.width/2
+ html: "The_width_is_half."
+ Rectangle {
+ color: "#10000000"
+ anchors.fill: parent
+ }
+ }
+ }
+}
diff --git a/examples/declarative/modelviews/webview/content/FieldText.qml b/examples/declarative/modelviews/webview/content/FieldText.qml
new file mode 100644
index 0000000000..17fa4cd51f
--- /dev/null
+++ b/examples/declarative/modelviews/webview/content/FieldText.qml
@@ -0,0 +1,195 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+import Qt 4.7
+
+Item {
+ id: fieldText
+ height: 30
+ property string text: ""
+ property string label: ""
+ property bool mouseGrabbed: false
+ signal confirmed
+ signal cancelled
+ signal startEdit
+
+ function edit() {
+ if (!mouseGrabbed) {
+ fieldText.startEdit();
+ fieldText.state='editing';
+ mouseGrabbed=true;
+ }
+ }
+
+ function confirm() {
+ fieldText.state='';
+ fieldText.text = textEdit.text;
+ mouseGrabbed=false;
+ fieldText.confirmed();
+ }
+
+ function reset() {
+ textEdit.text = fieldText.text;
+ fieldText.state='';
+ mouseGrabbed=false;
+ fieldText.cancelled();
+ }
+
+ Image {
+ id: cancelIcon
+ width: 22
+ height: 22
+ anchors.right: parent.right
+ anchors.rightMargin: 4
+ anchors.verticalCenter: parent.verticalCenter
+ source: "pics/cancel.png"
+ opacity: 0
+ }
+
+ Image {
+ id: confirmIcon
+ width: 22
+ height: 22
+ anchors.left: parent.left
+ anchors.leftMargin: 4
+ anchors.verticalCenter: parent.verticalCenter
+ source: "pics/ok.png"
+ opacity: 0
+ }
+
+ TextInput {
+ id: textEdit
+ text: fieldText.text
+ focus: false
+ anchors.left: parent.left
+ anchors.leftMargin: 0
+ anchors.right: parent.right
+ anchors.rightMargin: 0
+ anchors.verticalCenter: parent.verticalCenter
+ color: "black"
+ font.bold: true
+ readOnly: true
+ onAccepted: confirm()
+ Keys.onEscapePressed: reset()
+ }
+
+ Text {
+ id: textLabel
+ x: 5
+ width: parent.width-10
+ anchors.verticalCenter: parent.verticalCenter
+ horizontalAlignment: Text.AlignHCenter
+ color: fieldText.state == "editing" ? "#505050" : "#AAAAAA"
+ font.italic: true
+ font.bold: true
+ text: label
+ opacity: textEdit.text == '' ? 1 : 0
+ Behavior on opacity {
+ NumberAnimation {
+ property: "opacity"
+ duration: 250
+ }
+ }
+ }
+
+ MouseArea {
+ anchors.fill: cancelIcon
+ onClicked: { reset() }
+ }
+
+ MouseArea {
+ anchors.fill: confirmIcon
+ onClicked: { confirm() }
+ }
+
+ MouseArea {
+ id: editRegion
+ anchors.fill: textEdit
+ onClicked: { edit() }
+ }
+
+ states: [
+ State {
+ name: "editing"
+ PropertyChanges {
+ target: confirmIcon
+ opacity: 1
+ }
+ PropertyChanges {
+ target: cancelIcon
+ opacity: 1
+ }
+ PropertyChanges {
+ target: textEdit
+ color: "black"
+ readOnly: false
+ focus: true
+ }
+ PropertyChanges {
+ target: editRegion
+ opacity: 0
+ }
+ PropertyChanges {
+ target: textEdit.anchors
+ leftMargin: 34
+ }
+ PropertyChanges {
+ target: textEdit.anchors
+ rightMargin: 34
+ }
+ }
+ ]
+
+ transitions: [
+ Transition {
+ from: ""
+ to: "*"
+ reversible: true
+ NumberAnimation {
+ properties: "opacity,leftMargin,rightMargin"
+ duration: 200
+ }
+ ColorAnimation {
+ property: "color"
+ duration: 150
+ }
+ }
+ ]
+}
diff --git a/examples/declarative/modelviews/webview/content/Mapping/Map.qml b/examples/declarative/modelviews/webview/content/Mapping/Map.qml
new file mode 100644
index 0000000000..be708ee57d
--- /dev/null
+++ b/examples/declarative/modelviews/webview/content/Mapping/Map.qml
@@ -0,0 +1,66 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+import Qt 4.7
+import org.webkit 1.0
+
+Item {
+ id: page
+ property real latitude: -34.397
+ property real longitude: 150.644
+ property string address: ""
+ property alias status: js.status
+ WebView {
+ id: map
+ anchors.fill: parent
+ url: "map.html"
+ javaScriptWindowObjects: QtObject {
+ id: js
+ WebView.windowObjectName: "qml"
+ property real lat: page.latitude
+ property real lng: page.longitude
+ property string address: page.address
+ property string status: "Loading"
+ onAddressChanged: { if (map.url != "" && map.progress==1) map.evaluateJavaScript("goToAddress()") }
+ }
+ pressGrabTime: 0
+ onLoadFinished: { evaluateJavaScript("goToAddress()"); }
+ }
+}
diff --git a/examples/declarative/modelviews/webview/content/Mapping/map.html b/examples/declarative/modelviews/webview/content/Mapping/map.html
new file mode 100755
index 0000000000..a98da5430f
--- /dev/null
+++ b/examples/declarative/modelviews/webview/content/Mapping/map.html
@@ -0,0 +1,60 @@
+<html>
+<head>
+<meta name="viewport" content="initial-scale=1.0, user-scalable=no" />
+<script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=false"></script>
+<script type="text/javascript">
+ var geocoder
+ var map
+ function goToLatLng(latlng,bounds) {
+ if (map) {
+ map.setCenter(latlng)
+ map.fitBounds(bounds)
+ } else {
+ var myOptions = {
+ zoom: 8,
+ center: latlng,
+ mapTypeId: google.maps.MapTypeId.ROADMAP
+ };
+ map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);
+ }
+ }
+ function initialize() {
+ geocoder = new google.maps.Geocoder();
+ if (window.qml.address) {
+ goToAddress()
+ } else {
+ goToLatLng(new google.maps.LatLng(window.qml.lat,window.qml.lng));
+ }
+ if (navigator.geolocation) {
+ navigator.geolocation.getCurrentPosition(function(position) {
+ initialLocation = new google.maps.LatLng(position.coords.latitude,position.coords.longitude);
+ window.qml.lat = initialLocation.lat;
+ window.qml.lng = initialLocation.lng;
+ goToLatLng(initialLocation);
+ });
+ }
+ }
+ function goToAddress() {
+ if (geocoder) {
+ var req = {
+ address: window.qml.address,
+ }
+ if (map)
+ req.bounds = map.getBounds()
+ window.qml.status = "Loading";
+ geocoder.geocode(req, function(results, status) {
+ if (status == google.maps.GeocoderStatus.OK) {
+ window.qml.status = "Ready";
+ goToLatLng(results[0].geometry.location,results[0].geometry.bounds);
+ } else {
+ window.qml.status = "Error";
+ }
+ });
+ }
+ }
+</script>
+</head>
+<body onload="initialize()" leftmargin="0px" topmargin="0px" marginwidth="0px" marginheight="0px">
+ <div id="map_canvas" style="width:100%; height:100%"></div>
+</body>
+</html>
diff --git a/examples/declarative/modelviews/webview/content/SpinSquare.qml b/examples/declarative/modelviews/webview/content/SpinSquare.qml
new file mode 100644
index 0000000000..ec83056140
--- /dev/null
+++ b/examples/declarative/modelviews/webview/content/SpinSquare.qml
@@ -0,0 +1,65 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+import Qt 4.7
+
+Item {
+ property variant period : 250
+ property variant color : "black"
+ id: root
+
+ Item {
+ x: root.width/2
+ y: root.height/2
+ Rectangle {
+ color: root.color
+ x: -width/2
+ y: -height/2
+ width: root.width
+ height: width
+ }
+ NumberAnimation on rotation {
+ from: 0
+ to: 360
+ loops: Animation.Infinite
+ duration: root.period
+ }
+ }
+}
diff --git a/demos/declarative/webbrowser/content/fieldtext/pics/cancel.png b/examples/declarative/modelviews/webview/content/pics/cancel.png
index ecc95331f2..ecc95331f2 100644
--- a/demos/declarative/webbrowser/content/fieldtext/pics/cancel.png
+++ b/examples/declarative/modelviews/webview/content/pics/cancel.png
Binary files differ
diff --git a/demos/declarative/webbrowser/content/fieldtext/pics/ok.png b/examples/declarative/modelviews/webview/content/pics/ok.png
index 5795f04fbf..5795f04fbf 100644
--- a/demos/declarative/webbrowser/content/fieldtext/pics/ok.png
+++ b/examples/declarative/modelviews/webview/content/pics/ok.png
Binary files differ
diff --git a/examples/declarative/modelviews/webview/googleMaps.qml b/examples/declarative/modelviews/webview/googleMaps.qml
new file mode 100644
index 0000000000..1c999401fc
--- /dev/null
+++ b/examples/declarative/modelviews/webview/googleMaps.qml
@@ -0,0 +1,83 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+// This example demonstrates how Web services such as Google Maps can be
+// abstracted as QML types. Here we have a "Mapping" module with a "Map"
+// type. The Map type has an address property. Setting that property moves
+// the map. The underlying implementation uses WebView and the Google Maps
+// API, but users from QML don't need to understand the implementation in
+// order to create a Map.
+
+import Qt 4.7
+import org.webkit 1.0
+import "content/Mapping"
+
+Map {
+ id: map
+ width: 300
+ height: 300
+ address: "Paris"
+
+ Rectangle {
+ x: 70
+ width: input.width + 20
+ height: input.height + 4
+ anchors.bottom: parent.bottom; anchors.bottomMargin: 5
+ radius: 5
+ opacity: map.status == "Ready" ? 1 : 0
+
+ TextInput {
+ id: input
+ text: map.address
+ anchors.centerIn: parent
+ Keys.onReturnPressed: map.address = input.text
+ }
+ }
+
+ Text {
+ id: loading
+ anchors.centerIn: parent
+ text: map.status == "Error" ? "Error" : "Loading"
+ opacity: map.status == "Ready" ? 0 : 1
+ font.pixelSize: 30
+
+ Behavior on opacity { NumberAnimation{} }
+ }
+}
diff --git a/examples/declarative/modelviews/webview/inline-html.qml b/examples/declarative/modelviews/webview/inline-html.qml
new file mode 100644
index 0000000000..875c903f13
--- /dev/null
+++ b/examples/declarative/modelviews/webview/inline-html.qml
@@ -0,0 +1,55 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+import Qt 4.7
+import org.webkit 1.0
+
+// Inline HTML with loose formatting can be
+// set on the html property.
+WebView {
+ html:"\
+ <body bgcolor=white>\
+ <table border=1>\
+ <tr><th><th>One<th>Two<th>Three\
+ <tr><th>1<td>X<td>1<td>X\
+ <tr><th>2<td>0<td>X<td>0\
+ <tr><th>3<td>X<td>1<td>X\
+ </table>"
+}
diff --git a/examples/declarative/webview/newwindows.html b/examples/declarative/modelviews/webview/newwindows.html
index f169599387..f169599387 100644
--- a/examples/declarative/webview/newwindows.html
+++ b/examples/declarative/modelviews/webview/newwindows.html
diff --git a/examples/declarative/modelviews/webview/newwindows.qml b/examples/declarative/modelviews/webview/newwindows.qml
new file mode 100644
index 0000000000..4ea3e68f8d
--- /dev/null
+++ b/examples/declarative/modelviews/webview/newwindows.qml
@@ -0,0 +1,71 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+// Demonstrates opening new WebViews from HTML
+//
+// Note that to open windows from JavaScript, you will need to
+// allow it on WebView with settings.javascriptCanOpenWindows: true
+
+import Qt 4.7
+import org.webkit 1.0
+
+Grid {
+ columns: 3
+ id: pages
+ height: 300; width: 600
+
+ Component {
+ id: webViewPage
+ Rectangle {
+ width: webView.width
+ height: webView.height
+ border.color: "gray"
+
+ WebView {
+ id: webView
+ newWindowComponent: webViewPage
+ newWindowParent: pages
+ url: "newwindows.html"
+ }
+ }
+ }
+
+ Loader { sourceComponent: webViewPage }
+}
diff --git a/examples/declarative/modelviews/webview/transparent.qml b/examples/declarative/modelviews/webview/transparent.qml
new file mode 100644
index 0000000000..92c15780c7
--- /dev/null
+++ b/examples/declarative/modelviews/webview/transparent.qml
@@ -0,0 +1,55 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+import Qt 4.7
+import org.webkit 1.0
+
+// The WebView background is transparent
+// if the HTML does not specify a background
+Rectangle {
+ color: "green"
+ width: web.width
+ height: web.height
+
+ WebView {
+ id: web
+ html: "Hello <b>World!</b>"
+ }
+}
diff --git a/examples/declarative/webview/webview.qmlproject b/examples/declarative/modelviews/webview/webview.qmlproject
index d4909f8685..d4909f8685 100644
--- a/examples/declarative/webview/webview.qmlproject
+++ b/examples/declarative/modelviews/webview/webview.qmlproject
diff --git a/examples/declarative/mousearea/mouse.qml b/examples/declarative/mousearea/mouse.qml
deleted file mode 100644
index 67302a83d9..0000000000
--- a/examples/declarative/mousearea/mouse.qml
+++ /dev/null
@@ -1,47 +0,0 @@
-import Qt 4.7
-
-Rectangle {
- width: 200; height: 200
-
- Rectangle {
- width: 50; height: 50
- color: "red"
-
- Text { text: "Click"; anchors.centerIn: parent }
-
- MouseArea {
- anchors.fill: parent
- hoverEnabled: true
- acceptedButtons: Qt.LeftButton | Qt.RightButton
-
- onPressed: console.log('press (x: ' + mouse.x + ' y: ' + mouse.y + ' button: ' + (mouse.button == Qt.RightButton ? 'right' : 'left') + ' Shift: ' + (mouse.modifiers & Qt.ShiftModifier ? 'true' : 'false') + ')')
- onReleased: console.log('release (x: ' + mouse.x + ' y: ' + mouse.y + ' isClick: ' + mouse.isClick + ' wasHeld: ' + mouse.wasHeld + ')')
- onClicked: console.log('click (x: ' + mouse.x + ' y: ' + mouse.y + ' wasHeld: ' + mouse.wasHeld + ')')
- onDoubleClicked: console.log('double click (x: ' + mouse.x + ' y: ' + mouse.y + ')')
- onPressAndHold: console.log('press and hold')
- onEntered: console.log('entered ' + pressed)
- onExited: console.log('exited ' + pressed)
- }
- }
-
- Rectangle {
- y: 100; width: 50; height: 50
- color: "blue"
-
- Text { text: "Drag"; anchors.centerIn: parent }
-
- MouseArea {
- anchors.fill: parent
- drag.target: parent
- drag.axis: "XAxis"
- drag.minimumX: 0
- drag.maximumX: 150
-
- onPressed: console.log('press')
- onReleased: console.log('release (isClick: ' + mouse.isClick + ') (wasHeld: ' + mouse.wasHeld + ')')
- onClicked: console.log('click' + '(wasHeld: ' + mouse.wasHeld + ')')
- onDoubleClicked: console.log('double click')
- onPressAndHold: console.log('press and hold')
- }
- }
-}
diff --git a/examples/declarative/objectlistmodel/dataobject.cpp b/examples/declarative/objectlistmodel/dataobject.cpp
deleted file mode 100644
index 4c44ee4cc2..0000000000
--- a/examples/declarative/objectlistmodel/dataobject.cpp
+++ /dev/null
@@ -1,73 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the QtDeclarative module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include <QDebug>
-#include "dataobject.h"
-
-DataObject::DataObject(QObject *parent)
- : QObject(parent)
-{
-}
-
-DataObject::DataObject(const QString &name, const QString &color, QObject *parent)
- : QObject(parent), m_name(name), m_color(color)
-{
-}
-
-QString DataObject::name() const
-{
- return m_name;
-}
-
-void DataObject::setName(const QString &name)
-{
- m_name = name;
-}
-
-QString DataObject::color() const
-{
- return m_color;
-}
-
-void DataObject::setColor(const QString &color)
-{
- m_color = color;
-}
diff --git a/examples/declarative/objectlistmodel/dataobject.h b/examples/declarative/objectlistmodel/dataobject.h
deleted file mode 100644
index 68044747ab..0000000000
--- a/examples/declarative/objectlistmodel/dataobject.h
+++ /dev/null
@@ -1,69 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the QtDeclarative module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef DATAOBJECT_H
-#define DATAOBJECT_H
-
-#include <QObject>
-
-class DataObject : public QObject
-{
- Q_OBJECT
-
- Q_PROPERTY(QString name READ name WRITE setName)
- Q_PROPERTY(QString color READ color WRITE setColor)
-
-public:
- DataObject(QObject *parent=0);
- DataObject(const QString &name, const QString &color, QObject *parent=0);
-
- QString name() const;
- void setName(const QString &name);
-
- QString color() const;
- void setColor(const QString &color);
-
-private:
- QString m_name;
- QString m_color;
-};
-
-#endif // DATAOBJECT_H
diff --git a/examples/declarative/objectlistmodel/main.cpp b/examples/declarative/objectlistmodel/main.cpp
deleted file mode 100644
index b210570234..0000000000
--- a/examples/declarative/objectlistmodel/main.cpp
+++ /dev/null
@@ -1,77 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the demonstration applications of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include <QApplication>
-
-#include <qdeclarativeengine.h>
-#include <qdeclarativecontext.h>
-#include <qdeclarative.h>
-#include <qdeclarativeitem.h>
-#include <qdeclarativeview.h>
-
-#include "dataobject.h"
-
-/*
- This example illustrates exposing a QList<QObject*> as a
- model in QML
-*/
-
-int main(int argc, char ** argv)
-{
- QApplication app(argc, argv);
-
- QDeclarativeView view;
-
- QList<QObject*> dataList;
- dataList.append(new DataObject("Item 1", "red"));
- dataList.append(new DataObject("Item 2", "green"));
- dataList.append(new DataObject("Item 3", "blue"));
- dataList.append(new DataObject("Item 4", "yellow"));
-
- QDeclarativeContext *ctxt = view.rootContext();
- ctxt->setContextProperty("myModel", QVariant::fromValue(dataList));
-
- view.setSource(QUrl("qrc:view.qml"));
- view.show();
-
- return app.exec();
-}
-
diff --git a/examples/declarative/objectlistmodel/view.qml b/examples/declarative/objectlistmodel/view.qml
deleted file mode 100644
index 908e388c05..0000000000
--- a/examples/declarative/objectlistmodel/view.qml
+++ /dev/null
@@ -1,16 +0,0 @@
-import Qt 4.7
-
-ListView {
- width: 100
- height: 100
- anchors.fill: parent
- model: myModel
- delegate: Component {
- Rectangle {
- height: 25
- width: 100
- color: model.color
- Text { text: name }
- }
- }
-}
diff --git a/examples/declarative/package/Delegate.qml b/examples/declarative/package/Delegate.qml
deleted file mode 100644
index 785fde6d3e..0000000000
--- a/examples/declarative/package/Delegate.qml
+++ /dev/null
@@ -1,48 +0,0 @@
-import Qt 4.7
-
-//![0]
-Package {
- Text { id: listDelegate; width: 200; height: 25; text: 'Empty'; Package.name: 'list' }
- Text { id: gridDelegate; width: 100; height: 50; text: 'Empty'; Package.name: 'grid' }
-
- Rectangle {
- id: wrapper
- width: 200; height: 25
- color: 'lightsteelblue'
-
- Text { text: display; anchors.centerIn: parent }
- MouseArea {
- anchors.fill: parent
- onClicked: {
- if (wrapper.state == 'inList')
- wrapper.state = 'inGrid';
- else
- wrapper.state = 'inList';
- }
- }
-
- state: 'inList'
- states: [
- State {
- name: 'inList'
- ParentChange { target: wrapper; parent: listDelegate }
- },
- State {
- name: 'inGrid'
- ParentChange {
- target: wrapper; parent: gridDelegate
- x: 0; y: 0; width: gridDelegate.width; height: gridDelegate.height
- }
- }
- ]
-
- transitions: [
- Transition {
- ParentAnimation {
- NumberAnimation { properties: 'x,y,width,height'; duration: 300 }
- }
- }
- ]
- }
-}
-//![0]
diff --git a/examples/declarative/package/view.qml b/examples/declarative/package/view.qml
deleted file mode 100644
index 67f896b76c..0000000000
--- a/examples/declarative/package/view.qml
+++ /dev/null
@@ -1,35 +0,0 @@
-import Qt 4.7
-
-Item {
- width: 400
- height: 200
-
- ListModel {
- id: myModel
- ListElement { display: "One" }
- ListElement { display: "Two" }
- ListElement { display: "Three" }
- ListElement { display: "Four" }
- ListElement { display: "Five" }
- ListElement { display: "Six" }
- ListElement { display: "Seven" }
- ListElement { display: "Eight" }
- }
- //![0]
- VisualDataModel {
- id: visualModel
- delegate: Delegate {}
- model: myModel
- }
-
- ListView {
- width: 200; height:200
- model: visualModel.parts.list
- }
- GridView {
- x: 200; width: 200; height:200
- cellHeight: 50
- model: visualModel.parts.grid
- }
- //![0]
-}
diff --git a/examples/declarative/parallax/parallax.qml b/examples/declarative/parallax/parallax.qml
deleted file mode 100644
index cb0437da38..0000000000
--- a/examples/declarative/parallax/parallax.qml
+++ /dev/null
@@ -1,41 +0,0 @@
-import Qt 4.7
-import "../clocks/content"
-import "qml"
-
-Rectangle {
- id: root
-
- width: 320; height: 480
-
- ParallaxView {
- id: parallax
- anchors.fill: parent
- background: "pics/background.jpg"
-
- Item {
- property url icon: "pics/yast-wol.png"
- width: 320; height: 480
- Clock { anchors.centerIn: parent }
- }
-
- Item {
- property url icon: "pics/home-page.svg"
- width: 320; height: 480
- Smiley { }
- }
-
- Item {
- property url icon: "pics/yast-joystick.png"
- width: 320; height: 480
-
- Loader {
- anchors { top: parent.top; topMargin: 10; horizontalCenter: parent.horizontalCenter }
- width: 300; height: 400
- clip: true; resizeMode: Loader.SizeItemToLoader
- source: "../../../demos/declarative/samegame/samegame.qml"
- }
- }
-
- currentIndex: root.currentIndex
- }
-}
diff --git a/examples/declarative/parallax/qml/ParallaxView.qml b/examples/declarative/parallax/qml/ParallaxView.qml
deleted file mode 100644
index 4b38d459eb..0000000000
--- a/examples/declarative/parallax/qml/ParallaxView.qml
+++ /dev/null
@@ -1,84 +0,0 @@
-import Qt 4.7
-
-Item {
- id: root
-
- property alias background: background.source
- default property alias content: visualModel.children
- property int currentIndex: 0
-
- Image {
- id: background
- fillMode: Image.TileHorizontally
- x: -list.contentX / 2
- width: Math.max(list.contentWidth, parent.width)
- }
-
- ListView {
- id: list
-
- currentIndex: root.currentIndex
- onCurrentIndexChanged: root.currentIndex = currentIndex
-
- orientation: "Horizontal"
- boundsBehavior: Flickable.DragOverBounds
- anchors.fill: parent
- model: VisualItemModel { id: visualModel }
-
- highlightRangeMode: ListView.StrictlyEnforceRange
- snapMode: ListView.SnapOneItem
- }
-
- ListView {
- id: selector
-
- Rectangle {
- color: "#60FFFFFF"
- x: -10; y: -10; radius: 10; z: -1
- width: parent.width + 20; height: parent.height + 20
- }
- currentIndex: root.currentIndex
- onCurrentIndexChanged: root.currentIndex = currentIndex
-
- height: 50
- anchors.bottom: parent.bottom
- anchors.horizontalCenter: parent.horizontalCenter
- width: Math.min(count * 50, parent.width - 20)
- interactive: width == parent.width - 20
- orientation: "Horizontal"
-
- delegate: Item {
- width: 50; height: 50
- id: delegateRoot
-
- Image {
- id: image
- source: modelData.icon
- smooth: true
- scale: 0.8
- transformOrigin: "Center"
- }
-
- MouseArea {
- anchors.fill: parent
- onClicked: { root.currentIndex = index }
- }
-
- states: State {
- name: "Selected"
- when: delegateRoot.ListView.isCurrentItem == true
- PropertyChanges {
- target: image
- scale: 1
- y: -5
- }
- }
- transitions: Transition {
- NumberAnimation {
- properties: "scale,y"
- }
- }
- }
- model: visualModel.children
- }
-}
diff --git a/examples/declarative/parallax/qml/Smiley.qml b/examples/declarative/parallax/qml/Smiley.qml
deleted file mode 100644
index b1e1ae82cc..0000000000
--- a/examples/declarative/parallax/qml/Smiley.qml
+++ /dev/null
@@ -1,47 +0,0 @@
-import Qt 4.7
-
-Item {
- id: window
- width: 320; height: 480
-
- // The shadow for the smiley face
- Image {
- anchors.horizontalCenter: parent.horizontalCenter
- source: "../pics/shadow.png"; y: smiley.minHeight + 58
- transformOrigin: Item.Center
-
- // The scale property depends on the y position of the smiley face.
- scale: smiley.y * 0.5 / (smiley.minHeight - smiley.maxHeight)
- }
-
- Image {
- id: smiley
- property int maxHeight: window.height / 3
- property int minHeight: 2 * window.height / 3
-
- anchors.horizontalCenter: parent.horizontalCenter
- source: "../pics/face-smile.png"; y: minHeight
-
- // Animate the y property. Setting repeat to true makes the
- // animation repeat indefinitely, otherwise it would only run once.
- SequentialAnimation on y {
- loops: Animation.Infinite
-
- // Move from minHeight to maxHeight in 300ms, using the OutExpo easing function
- NumberAnimation {
- from: smiley.minHeight; to: smiley.maxHeight
- easing.type: "OutExpo"; duration: 300
- }
-
- // Then move back to minHeight in 1 second, using the OutBounce easing function
- NumberAnimation {
- from: smiley.maxHeight; to: smiley.minHeight
- easing.type: "OutBounce"; duration: 1000
- }
-
- // Then pause for 500ms
- PauseAnimation { duration: 500 }
- }
- }
-}
-
diff --git a/examples/declarative/plugins/com/nokia/TimeExample/Clock.qml b/examples/declarative/plugins/com/nokia/TimeExample/Clock.qml
deleted file mode 100644
index 0048372bc6..0000000000
--- a/examples/declarative/plugins/com/nokia/TimeExample/Clock.qml
+++ /dev/null
@@ -1,50 +0,0 @@
-import Qt 4.7
-
-Rectangle {
- id: clock
- width: 200; height: 200; color: "gray"
-
- property alias city: cityLabel.text
- property variant hours
- property variant minutes
- property variant shift : 0
-
- Image { id: background; source: "clock.png" }
-
- Image {
- x: 92.5; y: 27
- source: "hour.png"
- smooth: true
- transform: Rotation {
- id: hourRotation
- origin.x: 7.5; origin.y: 73; angle: 0
- SpringFollow on angle {
- spring: 2; damping: 0.2; modulus: 360
- to: (clock.hours * 30) + (clock.minutes * 0.5)
- }
- }
- }
-
- Image {
- x: 93.5; y: 17
- source: "minute.png"
- smooth: true
- transform: Rotation {
- id: minuteRotation
- origin.x: 6.5; origin.y: 83; angle: 0
- SpringFollow on angle {
- spring: 2; damping: 0.2; modulus: 360
- to: clock.minutes * 6
- }
- }
- }
-
- Image {
- anchors.centerIn: background; source: "center.png"
- }
-
- Text {
- id: cityLabel; font.bold: true; font.pixelSize: 14; y:200; color: "white"
- anchors.horizontalCenter: parent.horizontalCenter
- }
-}
diff --git a/examples/declarative/plugins/com/nokia/TimeExample/qmldir b/examples/declarative/plugins/com/nokia/TimeExample/qmldir
deleted file mode 100644
index e9ef11530f..0000000000
--- a/examples/declarative/plugins/com/nokia/TimeExample/qmldir
+++ /dev/null
@@ -1,2 +0,0 @@
-Clock 1.0 Clock.qml
-plugin qtimeexampleqmlplugin
diff --git a/examples/declarative/plugins/plugin.cpp b/examples/declarative/plugins/plugin.cpp
deleted file mode 100644
index fb51b0ca6b..0000000000
--- a/examples/declarative/plugins/plugin.cpp
+++ /dev/null
@@ -1,152 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the examples of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include <QtDeclarative/QDeclarativeExtensionPlugin>
-#include <QtDeclarative/qdeclarative.h>
-#include <qdebug.h>
-#include <qdatetime.h>
-#include <qbasictimer.h>
-#include <qapplication.h>
-
-// Implements a "TimeModel" class with hour and minute properties
-// that change on-the-minute yet efficiently sleep the rest
-// of the time.
-
-class MinuteTimer : public QObject
-{
- Q_OBJECT
-public:
- MinuteTimer(QObject *parent) : QObject(parent)
- {
- }
-
- void start()
- {
- if (!timer.isActive()) {
- time = QTime::currentTime();
- timer.start(60000-time.second()*1000, this);
- }
- }
-
- void stop()
- {
- timer.stop();
- }
-
- int hour() const { return time.hour(); }
- int minute() const { return time.minute(); }
-
-signals:
- void timeChanged();
-
-protected:
- void timerEvent(QTimerEvent *)
- {
- QTime now = QTime::currentTime();
- if (now.second() == 59 && now.minute() == time.minute() && now.hour() == time.hour()) {
- // just missed time tick over, force it, wait extra 0.5 seconds
- time.addSecs(60);
- timer.start(60500, this);
- } else {
- time = now;
- timer.start(60000-time.second()*1000, this);
- }
- emit timeChanged();
- }
-
-private:
- QTime time;
- QBasicTimer timer;
-};
-
-class TimeModel : public QObject
-{
- Q_OBJECT
- Q_PROPERTY(int hour READ hour NOTIFY timeChanged)
- Q_PROPERTY(int minute READ minute NOTIFY timeChanged)
-
-public:
- TimeModel(QObject *parent=0) : QObject(parent)
- {
- if (++instances == 1) {
- if (!timer)
- timer = new MinuteTimer(qApp);
- connect(timer, SIGNAL(timeChanged()), this, SIGNAL(timeChanged()));
- timer->start();
- }
- }
-
- ~TimeModel()
- {
- if (--instances == 0) {
- timer->stop();
- }
- }
-
- int minute() const { return timer->minute(); }
- int hour() const { return timer->hour(); }
-
-signals:
- void timeChanged();
-
-private:
- QTime t;
- static MinuteTimer *timer;
- static int instances;
-};
-
-int TimeModel::instances=0;
-MinuteTimer *TimeModel::timer=0;
-
-class QExampleQmlPlugin : public QDeclarativeExtensionPlugin
-{
- Q_OBJECT
-public:
- void registerTypes(const char *uri)
- {
- Q_ASSERT(uri == QLatin1String("com.nokia.TimeExample"));
- qmlRegisterType<TimeModel>(uri, 1, 0, "Time");
- }
-};
-
-#include "plugin.moc"
-
-Q_EXPORT_PLUGIN2(qtimeexampleqmlplugin, QExampleQmlPlugin);
diff --git a/examples/declarative/plugins/plugins.pro b/examples/declarative/plugins/plugins.pro
deleted file mode 100644
index b501ae3af9..0000000000
--- a/examples/declarative/plugins/plugins.pro
+++ /dev/null
@@ -1,31 +0,0 @@
-TEMPLATE = lib
-DESTDIR = com/nokia/TimeExample
-TARGET = qtimeexampleqmlplugin
-CONFIG += qt plugin
-QT += declarative
-
-SOURCES += plugin.cpp
-
-qdeclarativesources.files += \
- com/nokia/TimeExample/qmldir \
- com/nokia/TimeExample/center.png \
- com/nokia/TimeExample/clock.png \
- com/nokia/TimeExample/Clock.qml \
- com/nokia/TimeExample/hour.png \
- com/nokia/TimeExample/minute.png
-
-qdeclarativesources.path += $$[QT_INSTALL_EXAMPLES]/declarative/plugins/com/nokia/TimeExample
-
-sources.files += plugins.pro plugin.cpp plugins.qml README
-sources.path += $$[QT_INSTALL_EXAMPLES]/declarative/plugins
-
-target.path += $$[QT_INSTALL_EXAMPLES]/declarative/plugins/com/nokia/TimeExample
-
-symbian:{
- TARGET.EPOCALLOWDLLDATA=1
-}
-
-
-INSTALLS += qdeclarativesources sources target
-
-symbian: include($$QT_SOURCE_TREE/examples/symbianpkgrules.pri)
diff --git a/examples/declarative/plugins/plugins.qml b/examples/declarative/plugins/plugins.qml
deleted file mode 100644
index 449cd9a905..0000000000
--- a/examples/declarative/plugins/plugins.qml
+++ /dev/null
@@ -1,11 +0,0 @@
-import com.nokia.TimeExample 1.0 // import types from the plugin
-
-Clock { // this class is defined in QML (com/nokia/TimeExample/Clock.qml)
-
- Time { // this class is defined in C++ (plugin.cpp)
- id: time
- }
-
- hours: time.hour
- minutes: time.minute
-}
diff --git a/examples/declarative/positioners/Button.qml b/examples/declarative/positioners/Button.qml
new file mode 100644
index 0000000000..bb8c9c7916
--- /dev/null
+++ b/examples/declarative/positioners/Button.qml
@@ -0,0 +1,78 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+import Qt 4.7
+
+Rectangle {
+ id: page
+
+ property string text
+ property string icon
+ signal clicked
+
+ border.color: "black"; color: "steelblue"; radius: 5
+ width: pix.width + textelement.width + 13
+ height: pix.height + 10
+
+ Image { id: pix; x: 5; y:5; source: parent.icon }
+
+ Text {
+ id: textelement
+ text: page.text; color: "white"
+ x: pix.width + pix.x + 3
+ anchors.verticalCenter: pix.verticalCenter
+ }
+
+ MouseArea {
+ id: mr
+ anchors.fill: parent
+ onClicked: { parent.focus = true; page.clicked() }
+ }
+
+ states: State {
+ name: "pressed"; when: mr.pressed
+ PropertyChanges { target: textelement; x: 5 }
+ PropertyChanges { target: pix; x: textelement.x + textelement.width + 3 }
+ }
+
+ transitions: Transition {
+ NumberAnimation { properties: "x,left"; easing.type: Easing.InOutQuad; duration: 200 }
+ }
+}
diff --git a/examples/declarative/layouts/add.png b/examples/declarative/positioners/add.png
index f29d84b492..f29d84b492 100644
--- a/examples/declarative/layouts/add.png
+++ b/examples/declarative/positioners/add.png
Binary files differ
diff --git a/examples/declarative/layouts/del.png b/examples/declarative/positioners/del.png
index 1d753a3bc5..1d753a3bc5 100644
--- a/examples/declarative/layouts/del.png
+++ b/examples/declarative/positioners/del.png
Binary files differ
diff --git a/examples/declarative/positioners/positioners.qml b/examples/declarative/positioners/positioners.qml
new file mode 100644
index 0000000000..d16d3df360
--- /dev/null
+++ b/examples/declarative/positioners/positioners.qml
@@ -0,0 +1,253 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+import Qt 4.7
+
+Rectangle {
+ id: page
+ width: 420; height: 420
+
+ Column {
+ id: layout1
+ y: 0
+ move: Transition {
+ NumberAnimation { properties: "y"; easing.type: Easing.OutBounce }
+ }
+ add: Transition {
+ NumberAnimation { properties: "y"; easing.type: Easing.OutQuad }
+ }
+
+ Rectangle { color: "red"; width: 100; height: 50; border.color: "black"; radius: 15 }
+
+ Rectangle {
+ id: blueV1
+ width: 100; height: 50
+ color: "lightsteelblue"
+ border.color: "black"
+ radius: 15
+ Behavior on opacity { NumberAnimation {} }
+ }
+
+ Rectangle { color: "green"; width: 100; height: 50; border.color: "black"; radius: 15 }
+
+ Rectangle {
+ id: blueV2
+ width: 100; height: 50
+ color: "lightsteelblue"
+ border.color: "black"
+ radius: 15
+ Behavior on opacity { NumberAnimation {} }
+ }
+
+ Rectangle { color: "orange"; width: 100; height: 50; border.color: "black"; radius: 15 }
+ }
+
+ Row {
+ id: layout2
+ y: 300
+ move: Transition {
+ NumberAnimation { properties: "x"; easing.type: Easing.OutBounce }
+ }
+ add: Transition {
+ NumberAnimation { properties: "x"; easing.type: Easing.OutQuad }
+ }
+
+ Rectangle { color: "red"; width: 50; height: 100; border.color: "black"; radius: 15 }
+
+ Rectangle {
+ id: blueH1
+ width: 50; height: 100
+ color: "lightsteelblue"
+ border.color: "black"
+ radius: 15
+ Behavior on opacity { NumberAnimation {} }
+ }
+
+ Rectangle { color: "green"; width: 50; height: 100; border.color: "black"; radius: 15 }
+
+ Rectangle {
+ id: blueH2
+ width: 50; height: 100
+ color: "lightsteelblue"
+ border.color: "black"
+ radius: 15
+ Behavior on opacity { NumberAnimation {} }
+ }
+
+ Rectangle { color: "orange"; width: 50; height: 100; border.color: "black"; radius: 15 }
+ }
+
+ Button {
+ x: 135; y: 90
+ text: "Remove"
+ icon: "del.png"
+
+ onClicked: {
+ blueH2.opacity = 0
+ blueH1.opacity = 0
+ blueV1.opacity = 0
+ blueV2.opacity = 0
+ blueG1.opacity = 0
+ blueG2.opacity = 0
+ blueG3.opacity = 0
+ blueF1.opacity = 0
+ blueF2.opacity = 0
+ blueF3.opacity = 0
+ }
+ }
+
+ Button {
+ x: 145; y: 140
+ text: "Add"
+ icon: "add.png"
+
+ onClicked: {
+ blueH2.opacity = 1
+ blueH1.opacity = 1
+ blueV1.opacity = 1
+ blueV2.opacity = 1
+ blueG1.opacity = 1
+ blueG2.opacity = 1
+ blueG3.opacity = 1
+ blueF1.opacity = 1
+ blueF2.opacity = 1
+ blueF3.opacity = 1
+ }
+ }
+
+ Grid {
+ x: 260; y: 0
+ columns: 3
+
+ move: Transition {
+ NumberAnimation { properties: "x,y"; easing.type: Easing.OutBounce }
+ }
+
+ add: Transition {
+ NumberAnimation { properties: "x,y"; easing.type: Easing.OutBounce }
+ }
+
+ Rectangle { color: "red"; width: 50; height: 50; border.color: "black"; radius: 15 }
+
+ Rectangle {
+ id: blueG1
+ width: 50; height: 50
+ color: "lightsteelblue"
+ border.color: "black"
+ radius: 15
+ Behavior on opacity { NumberAnimation {} }
+ }
+
+ Rectangle { color: "green"; width: 50; height: 50; border.color: "black"; radius: 15 }
+
+ Rectangle {
+ id: blueG2
+ width: 50; height: 50
+ color: "lightsteelblue"
+ border.color: "black"
+ radius: 15
+ Behavior on opacity { NumberAnimation {} }
+ }
+
+ Rectangle { color: "orange"; width: 50; height: 50; border.color: "black"; radius: 15 }
+
+ Rectangle {
+ id: blueG3
+ width: 50; height: 50
+ color: "lightsteelblue"
+ border.color: "black"
+ radius: 15
+ Behavior on opacity { NumberAnimation {} }
+ }
+
+ Rectangle { color: "red"; width: 50; height: 50; border.color: "black"; radius: 15 }
+ Rectangle { color: "green"; width: 50; height: 50; border.color: "black"; radius: 15 }
+ Rectangle { color: "orange"; width: 50; height: 50; border.color: "black"; radius: 15 }
+ }
+
+ Flow {
+ id: layout4
+ x: 260; y: 250; width: 150
+
+ move: Transition {
+ NumberAnimation { properties: "x,y"; easing.type: Easing.OutBounce }
+ }
+
+ add: Transition {
+ NumberAnimation { properties: "x,y"; easing.type: Easing.OutBounce }
+ }
+
+ Rectangle { color: "red"; width: 50; height: 50; border.color: "black"; radius: 15 }
+
+ Rectangle {
+ id: blueF1
+ width: 60; height: 50
+ color: "lightsteelblue"
+ border.color: "black"
+ radius: 15
+ Behavior on opacity { NumberAnimation {} }
+ }
+
+ Rectangle { color: "green"; width: 30; height: 50; border.color: "black"; radius: 15 }
+
+ Rectangle {
+ id: blueF2
+ width: 60; height: 50
+ color: "lightsteelblue"
+ border.color: "black"
+ radius: 15
+ Behavior on opacity { NumberAnimation {} }
+ }
+
+ Rectangle { color: "orange"; width: 50; height: 50; border.color: "black"; radius: 15 }
+
+ Rectangle {
+ id: blueF3
+ width: 40; height: 50
+ color: "lightsteelblue"
+ border.color: "black"
+ radius: 15
+ Behavior on opacity { NumberAnimation {} }
+ }
+
+ Rectangle { color: "red"; width: 80; height: 50; border.color: "black"; radius: 15 }
+ }
+
+}
diff --git a/examples/declarative/positioners/positioners.qmlproject b/examples/declarative/positioners/positioners.qmlproject
new file mode 100644
index 0000000000..e5262175c5
--- /dev/null
+++ b/examples/declarative/positioners/positioners.qmlproject
@@ -0,0 +1,18 @@
+/* File generated by QtCreator */
+
+import QmlProject 1.0
+
+Project {
+ /* Include .qml, .js, and image files from current directory and subdirectories */
+ QmlFiles {
+ directory: "."
+ }
+ JavaScriptFiles {
+ directory: "."
+ }
+ ImageFiles {
+ directory: "."
+ }
+ /* List of plugin directories passed to QML runtime */
+ // importPaths: [ " ../exampleplugin " ]
+}
diff --git a/examples/declarative/positioners/positioners.qmlproject.user b/examples/declarative/positioners/positioners.qmlproject.user
new file mode 100644
index 0000000000..593479d605
--- /dev/null
+++ b/examples/declarative/positioners/positioners.qmlproject.user
@@ -0,0 +1,41 @@
+<!DOCTYPE QtCreatorProject>
+<qtcreator>
+ <data>
+ <variable>ProjectExplorer.Project.ActiveTarget</variable>
+ <value type="int">0</value>
+ </data>
+ <data>
+ <variable>ProjectExplorer.Project.EditorSettings</variable>
+ <valuemap type="QVariantMap">
+ <value key="EditorConfiguration.Codec" type="QByteArray">UTF-8</value>
+ </valuemap>
+ </data>
+ <data>
+ <variable>ProjectExplorer.Project.Target.0</variable>
+ <valuemap type="QVariantMap">
+ <value key="ProjectExplorer.ProjectConfiguration.DisplayName" type="QString">QML Runtime</value>
+ <value key="ProjectExplorer.ProjectConfiguration.Id" type="QString">QmlProjectManager.QmlTarget</value>
+ <value key="ProjectExplorer.Target.ActiveBuildConfiguration" type="int">-1</value>
+ <value key="ProjectExplorer.Target.ActiveRunConfiguration" type="int">0</value>
+ <value key="ProjectExplorer.Target.BuildConfigurationCount" type="int">0</value>
+ <valuemap key="ProjectExplorer.Target.RunConfiguration.0" type="QVariantMap">
+ <value key="ProjectExplorer.ProjectConfiguration.DisplayName" type="QString">QML Runtime</value>
+ <value key="ProjectExplorer.ProjectConfiguration.Id" type="QString">QmlProjectManager.QmlRunConfiguration</value>
+ <value key="QmlProjectManager.QmlRunConfiguration.DebugServerAddress" type="QString">127.0.0.1</value>
+ <value key="QmlProjectManager.QmlRunConfiguration.DebugServerPort" type="int">3768</value>
+ <value key="QmlProjectManager.QmlRunConfiguration.MainScript" type="QString">positioners.qml</value>
+ <value key="QmlProjectManager.QmlRunConfiguration.QDeclarativeViewer" type="QString"></value>
+ <value key="QmlProjectManager.QmlRunConfiguration.QDeclarativeViewerArguments" type="QString"></value>
+ </valuemap>
+ <value key="ProjectExplorer.Target.RunConfigurationCount" type="int">1</value>
+ </valuemap>
+ </data>
+ <data>
+ <variable>ProjectExplorer.Project.TargetCount</variable>
+ <value type="int">1</value>
+ </data>
+ <data>
+ <variable>ProjectExplorer.Project.Updater.FileVersion</variable>
+ <value type="int">4</value>
+ </data>
+</qtcreator>
diff --git a/examples/declarative/progressbar/content/ProgressBar.qml b/examples/declarative/progressbar/content/ProgressBar.qml
deleted file mode 100644
index bc36df5cfd..0000000000
--- a/examples/declarative/progressbar/content/ProgressBar.qml
+++ /dev/null
@@ -1,43 +0,0 @@
-import Qt 4.7
-
-Item {
- id: progressbar
-
- property int minimum: 0
- property int maximum: 100
- property int value: 0
- property alias color: gradient1.color
- property alias secondColor: gradient2.color
-
- width: 250; height: 23
- clip: true
-
- BorderImage {
- source: "background.png"
- width: parent.width; height: parent.height
- border { left: 4; top: 4; right: 4; bottom: 4 }
- }
-
- Rectangle {
- id: highlight
-
- property int widthDest: ((progressbar.width * (value - minimum)) / (maximum - minimum) - 6)
-
- width: highlight.widthDest
- Behavior on width { SmoothedAnimation { velocity: 1200 } }
-
- anchors { left: parent.left; top: parent.top; bottom: parent.bottom; leftMargin: 3; topMargin: 3; bottomMargin: 3 }
- radius: 1
- gradient: Gradient {
- GradientStop { id: gradient1; position: 0.0 }
- GradientStop { id: gradient2; position: 1.0 }
- }
-
- }
- Text {
- anchors { right: highlight.right; rightMargin: 6; verticalCenter: parent.verticalCenter }
- color: "white"
- font.bold: true
- text: Math.floor((value - minimum) / (maximum - minimum) * 100) + '%'
- }
-}
diff --git a/examples/declarative/progressbar/progressbars.qml b/examples/declarative/progressbar/progressbars.qml
deleted file mode 100644
index 55fd682ca7..0000000000
--- a/examples/declarative/progressbar/progressbars.qml
+++ /dev/null
@@ -1,33 +0,0 @@
-import Qt 4.7
-import "content"
-
-Rectangle {
- id: main
-
- width: 600; height: 405
- color: "#edecec"
-
- Flickable {
- anchors.fill: parent
- contentHeight: column.height + 20
-
- Column {
- id: column
- x: 10; y: 10
- spacing: 10
-
- Repeater {
- model: 25
-
- ProgressBar {
- property int r: Math.floor(Math.random() * 5000 + 1000)
- width: main.width - 20
-
- NumberAnimation on value { duration: r; from: 0; to: 100; loops: Animation.Infinite }
- ColorAnimation on color { duration: r; from: "lightsteelblue"; to: "thistle"; loops: Animation.Infinite }
- ColorAnimation on secondColor { duration: r; from: "steelblue"; to: "#CD96CD"; loops: Animation.Infinite }
- }
- }
- }
- }
-}
diff --git a/examples/declarative/proxywidgets/ProxyWidgets/qmldir b/examples/declarative/proxywidgets/ProxyWidgets/qmldir
deleted file mode 100644
index e55267c429..0000000000
--- a/examples/declarative/proxywidgets/ProxyWidgets/qmldir
+++ /dev/null
@@ -1 +0,0 @@
-plugin proxywidgetsplugin
diff --git a/examples/declarative/proxywidgets/README b/examples/declarative/proxywidgets/README
deleted file mode 100644
index f50fa22e4d..0000000000
--- a/examples/declarative/proxywidgets/README
+++ /dev/null
@@ -1,4 +0,0 @@
-To run:
-
- make install
- qml proxywidgets.qml
diff --git a/examples/declarative/proxywidgets/proxywidgets.cpp b/examples/declarative/proxywidgets/proxywidgets.cpp
deleted file mode 100644
index 067eb2c9f7..0000000000
--- a/examples/declarative/proxywidgets/proxywidgets.cpp
+++ /dev/null
@@ -1,97 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the examples of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include <QtDeclarative/QDeclarativeExtensionPlugin>
-#include <QtDeclarative/qdeclarative.h>
-#include <QtGui/QGraphicsProxyWidget>
-#include <QtGui/QPushButton>
-#include <QDebug>
-
-class MyPushButton : public QGraphicsProxyWidget
-{
- Q_OBJECT
- Q_PROPERTY(QString text READ text WRITE setText NOTIFY textChanged)
-
-public:
- MyPushButton(QGraphicsItem* parent = 0)
- : QGraphicsProxyWidget(parent)
- {
- widget = new QPushButton("MyPushButton");
- widget->setAttribute(Qt::WA_NoSystemBackground);
- setWidget(widget);
-
- QObject::connect(widget, SIGNAL(clicked(bool)), this, SIGNAL(clicked(bool)));
- }
-
- QString text() const
- {
- return widget->text();
- }
-
- void setText(const QString& text)
- {
- if (text != widget->text()) {
- widget->setText(text);
- emit textChanged();
- }
- }
-
-Q_SIGNALS:
- void clicked(bool);
- void textChanged();
-
-private:
- QPushButton *widget;
-};
-
-class ProxyWidgetsPlugin : public QDeclarativeExtensionPlugin
-{
- Q_OBJECT
-public:
- void registerTypes(const char *uri)
- {
- qmlRegisterType<MyPushButton>(uri, 1, 0, "MyPushButton");
- }
-};
-
-#include "proxywidgets.moc"
-
-Q_EXPORT_PLUGIN2(proxywidgetsplugin, ProxyWidgetsPlugin);
diff --git a/examples/declarative/proxywidgets/proxywidgets.pro b/examples/declarative/proxywidgets/proxywidgets.pro
deleted file mode 100644
index cb07d80e33..0000000000
--- a/examples/declarative/proxywidgets/proxywidgets.pro
+++ /dev/null
@@ -1,21 +0,0 @@
-TEMPLATE = lib
-DESTDIR = ProxyWidgets
-TARGET = proxywidgetsplugin
-CONFIG += qt plugin
-QT += declarative
-
-SOURCES += proxywidgets.cpp
-
-sources.files += proxywidgets.pro proxywidgets.cpp proxywidgets.qml
-
-sources.path += $$[QT_INSTALL_EXAMPLES]/declarative/plugins
-
-target.path += $$[QT_INSTALL_EXAMPLES]/declarative/plugins
-
-INSTALLS += sources target
-
-symbian: include($$QT_SOURCE_TREE/examples/symbianpkgrules.pri)
-
-symbian:{
- TARGET.EPOCALLOWDLLDATA = 1
-} \ No newline at end of file
diff --git a/examples/declarative/proxywidgets/proxywidgets.qml b/examples/declarative/proxywidgets/proxywidgets.qml
deleted file mode 100644
index 46dcf99a7f..0000000000
--- a/examples/declarative/proxywidgets/proxywidgets.qml
+++ /dev/null
@@ -1,70 +0,0 @@
-import Qt 4.7
-import "ProxyWidgets" 1.0
-
-Rectangle {
- id: window
-
- property int margin: 30
-
- width: 640; height: 480
- color: palette.window
-
- SystemPalette { id: palette }
-
- MyPushButton {
- id: button1
- x: margin; y: margin
- text: "Right"
- transformOriginPoint: Qt.point(width / 2, height / 2)
-
- onClicked: window.state = "right"
- }
-
- MyPushButton {
- id: button2
- x: margin; y: margin + 30
- text: "Bottom"
- transformOriginPoint: Qt.point(width / 2, height / 2)
-
- onClicked: window.state = "bottom"
- }
-
- MyPushButton {
- id: button3
- x: margin; y: margin + 60
- text: "Quit"
- transformOriginPoint: Qt.point(width / 2, height / 2)
-
- onClicked: Qt.quit()
- }
-
- states: [
- State {
- name: "right"
- PropertyChanges { target: button1; x: window.width - width - margin; text: "Left"; onClicked: window.state = "" }
- PropertyChanges { target: button2; x: window.width - width - margin }
- PropertyChanges { target: button3; x: window.width - width - margin }
- PropertyChanges { target: window; color: Qt.darker(palette.window) }
- },
- State {
- name: "bottom"
- PropertyChanges { target: button1; y: window.height - height - margin; rotation: 180 }
- PropertyChanges {
- target: button2
- x: button1.x + button1.width + 10; y: window.height - height - margin
- rotation: 180
- text: "Top"
- onClicked: window.state = ""
- }
- PropertyChanges { target: button3; x: button2.x + button2.width + 10; y: window.height - height - margin; rotation: 180 }
- PropertyChanges { target: window; color: Qt.lighter(palette.window) }
- }
- ]
-
- transitions: Transition {
- ParallelAnimation {
- NumberAnimation { properties: "x,y,rotation"; duration: 600; easing.type: "OutQuad" }
- ColorAnimation { target: window; duration: 600 }
- }
- }
-}
diff --git a/examples/declarative/scrollbar/ScrollBar.qml b/examples/declarative/scrollbar/ScrollBar.qml
deleted file mode 100644
index 5433156f19..0000000000
--- a/examples/declarative/scrollbar/ScrollBar.qml
+++ /dev/null
@@ -1,33 +0,0 @@
-import Qt 4.7
-
-Item {
- id: scrollBar
-
- // The properties that define the scrollbar's state.
- // position and pageSize are in the range 0.0 - 1.0. They are relative to the
- // height of the page, i.e. a pageSize of 0.5 means that you can see 50%
- // of the height of the view.
- // orientation can be either 'Vertical' or 'Horizontal'
- property real position
- property real pageSize
- property variant orientation : "Vertical"
-
- // A light, semi-transparent background
- Rectangle {
- id: background
- anchors.fill: parent
- radius: orientation == 'Vertical' ? (width/2 - 1) : (height/2 - 1)
- color: "white"
- opacity: 0.3
- }
- // Size the bar to the required size, depending upon the orientation.
- Rectangle {
- x: orientation == 'Vertical' ? 1 : (scrollBar.position * (scrollBar.width-2) + 1)
- y: orientation == 'Vertical' ? (scrollBar.position * (scrollBar.height-2) + 1) : 1
- width: orientation == 'Vertical' ? (parent.width-2) : (scrollBar.pageSize * (scrollBar.width-2))
- height: orientation == 'Vertical' ? (scrollBar.pageSize * (scrollBar.height-2)) : (parent.height-2)
- radius: orientation == 'Vertical' ? (width/2 - 1) : (height/2 - 1)
- color: "black"
- opacity: 0.7
- }
-}
diff --git a/examples/declarative/scrollbar/display.qml b/examples/declarative/scrollbar/display.qml
deleted file mode 100644
index cb1da16ef4..0000000000
--- a/examples/declarative/scrollbar/display.qml
+++ /dev/null
@@ -1,54 +0,0 @@
-import Qt 4.7
-
-Rectangle {
- width: 640
- height: 480
-
- // Create a flickable to view a large image.
- Flickable {
- id: view
- anchors.fill: parent
- contentWidth: picture.width
- contentHeight: picture.height
-
- Image {
- id: picture
- source: "pics/niagara_falls.jpg"
- asynchronous: true
- }
-
- // Only show the scrollbars when the view is moving.
- states: State {
- name: "ShowBars"
- when: view.moving
- PropertyChanges { target: verticalScrollBar; opacity: 1 }
- PropertyChanges { target: horizontalScrollBar; opacity: 1 }
- }
-
- transitions: Transition {
- from: "*"; to: "*"
- NumberAnimation { properties: "opacity"; duration: 400 }
- }
- }
-
- // Attach scrollbars to the right and bottom edges of the view.
- ScrollBar {
- id: verticalScrollBar
- width: 12; height: view.height-12
- anchors.right: view.right
- opacity: 0
- orientation: "Vertical"
- position: view.visibleArea.yPosition
- pageSize: view.visibleArea.heightRatio
- }
-
- ScrollBar {
- id: horizontalScrollBar
- width: view.width-12; height: 12
- anchors.bottom: view.bottom
- opacity: 0
- orientation: "Horizontal"
- position: view.visibleArea.xPosition
- pageSize: view.visibleArea.widthRatio
- }
-}
diff --git a/examples/declarative/searchbox/SearchBox.qml b/examples/declarative/searchbox/SearchBox.qml
deleted file mode 100644
index aae7ee982a..0000000000
--- a/examples/declarative/searchbox/SearchBox.qml
+++ /dev/null
@@ -1,65 +0,0 @@
-import Qt 4.7
-
-FocusScope {
- id: focusScope
- width: 250; height: 28
-
- BorderImage {
- source: "images/lineedit-bg.png"
- width: parent.width; height: parent.height
- border { left: 4; top: 4; right: 4; bottom: 4 }
- }
-
- BorderImage {
- source: "images/lineedit-bg-focus.png"
- width: parent.width; height: parent.height
- border { left: 4; top: 4; right: 4; bottom: 4 }
- visible: parent.wantsFocus ? true : false
- }
-
- Text {
- id: typeSomething
- anchors.fill: parent; anchors.leftMargin: 8
- verticalAlignment: Text.AlignVCenter
- text: "Type something..."
- color: "gray"
- font.italic: true
- }
-
- MouseArea { anchors.fill: parent; onClicked: focusScope.focus = true }
-
- TextInput {
- id: textInput
- anchors { left: parent.left; leftMargin: 8; verticalCenter: parent.verticalCenter }
- focus: true
- }
-
- Image {
- id: clear
- anchors { right: parent.right; rightMargin: 8; verticalCenter: parent.verticalCenter }
- source: "images/edit-clear-locationbar-rtl.png"
- opacity: 0
-
- MouseArea {
- anchors.fill: parent
- onClicked: { textInput.text = ''; focusScope.focus = true }
- }
- }
-
- states: State {
- name: "hasText"; when: textInput.text != ''
- PropertyChanges { target: typeSomething; opacity: 0 }
- PropertyChanges { target: clear; opacity: 1 }
- }
-
- transitions: [
- Transition {
- from: ""; to: "hasText"
- NumberAnimation { exclude: typeSomething; properties: "opacity" }
- },
- Transition {
- from: "hasText"; to: ""
- NumberAnimation { properties: "opacity" }
- }
- ]
-}
diff --git a/examples/declarative/searchbox/main.qml b/examples/declarative/searchbox/main.qml
deleted file mode 100644
index 9f734735c7..0000000000
--- a/examples/declarative/searchbox/main.qml
+++ /dev/null
@@ -1,15 +0,0 @@
-import Qt 4.7
-
-Rectangle {
- width: 500; height: 250
- color: "#edecec"
-
- Column {
- anchors { horizontalCenter: parent.horizontalCenter; verticalCenter: parent.verticalCenter }
- spacing: 10
-
- SearchBox { id: search1; KeyNavigation.tab: search2; KeyNavigation.backtab: search3; focus: true }
- SearchBox { id: search2; KeyNavigation.tab: search3; KeyNavigation.backtab: search1 }
- SearchBox { id: search3; KeyNavigation.tab: search1; KeyNavigation.backtab: search2 }
- }
-}
diff --git a/examples/declarative/slideswitch/content/Switch.qml b/examples/declarative/slideswitch/content/Switch.qml
deleted file mode 100644
index a8fa6ef730..0000000000
--- a/examples/declarative/slideswitch/content/Switch.qml
+++ /dev/null
@@ -1,76 +0,0 @@
-//![0]
-import Qt 4.7
-
-Item {
- id: toggleswitch
- width: background.width; height: background.height
-
-//![1]
- property bool on: false
-//![1]
-
-//![2]
- function toggle() {
- if (toggleswitch.state == "on")
- toggleswitch.state = "off";
- else toggleswitch.state = "on";
- }
-//![2]
-
-//![3]
- function dorelease() {
- if (knob.x == 1) {
- if (toggleswitch.state == "off") return;
- }
- if (knob.x == 78) {
- if (toggleswitch.state == "on") return;
- }
- toggle();
- }
-//![3]
-
-//![4]
- Image {
- id: background
- source: "background.svg"
- MouseArea { anchors.fill: parent; onClicked: toggle() }
- }
-//![4]
-
-//![5]
- Image {
- id: knob
- x: 1; y: 2
- source: "knob.svg"
-
- MouseArea {
- anchors.fill: parent
- drag.target: knob; drag.axis: "XAxis"; drag.minimumX: 1; drag.maximumX: 78
- onClicked: toggle()
- onReleased: dorelease()
- }
- }
-//![5]
-
-//![6]
- states: [
- State {
- name: "on"
- PropertyChanges { target: knob; x: 78 }
- PropertyChanges { target: toggleswitch; on: true }
- },
- State {
- name: "off"
- PropertyChanges { target: knob; x: 1 }
- PropertyChanges { target: toggleswitch; on: false }
- }
- ]
-//![6]
-
-//![7]
- transitions: Transition {
- NumberAnimation { properties: "x"; easing.type: "InOutQuad"; duration: 200 }
- }
-//![7]
-}
-//![0]
diff --git a/examples/declarative/slideswitch/slideswitch.qml b/examples/declarative/slideswitch/slideswitch.qml
deleted file mode 100644
index 51c3c77a9d..0000000000
--- a/examples/declarative/slideswitch/slideswitch.qml
+++ /dev/null
@@ -1,11 +0,0 @@
-import Qt 4.7
-import "content"
-
-Rectangle {
- color: "white"
- width: 400; height: 250
-
-//![0]
- Switch { anchors.centerIn: parent; on: false }
-//![0]
-}
diff --git a/examples/declarative/sql/hello.qml b/examples/declarative/sql/hello.qml
deleted file mode 100644
index 8b021b7618..0000000000
--- a/examples/declarative/sql/hello.qml
+++ /dev/null
@@ -1,31 +0,0 @@
-import Qt 4.7
-
-Text {
- text: "?"
-
- function findGreetings() {
- var db = openDatabaseSync("QDeclarativeExampleDB", "1.0", "The Example QML SQL!", 1000000);
-
- db.transaction(
- function(tx) {
- // Create the database if it doesn't already exist
- tx.executeSql('CREATE TABLE IF NOT EXISTS Greeting(salutation TEXT, salutee TEXT)');
-
- // Add (another) greeting row
- tx.executeSql('INSERT INTO Greeting VALUES(?, ?)', [ 'hello', 'world' ]);
-
- // Show all added greetings
- var rs = tx.executeSql('SELECT * FROM Greeting');
-
- var r = ""
- for(var i = 0; i < rs.rows.length; i++) {
- r += rs.rows.item(i).salutation + ", " + rs.rows.item(i).salutee + "\n"
- }
- text = r
- }
- )
- }
-
- Component.onCompleted: findGreetings()
-}
-
diff --git a/examples/declarative/sqllocalstorage/hello.qml b/examples/declarative/sqllocalstorage/hello.qml
new file mode 100644
index 0000000000..421a74c0db
--- /dev/null
+++ b/examples/declarative/sqllocalstorage/hello.qml
@@ -0,0 +1,71 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+//![0]
+import Qt 4.7
+
+Text {
+ text: "?"
+
+ function findGreetings() {
+ var db = openDatabaseSync("QDeclarativeExampleDB", "1.0", "The Example QML SQL!", 1000000);
+
+ db.transaction(
+ function(tx) {
+ // Create the database if it doesn't already exist
+ tx.executeSql('CREATE TABLE IF NOT EXISTS Greeting(salutation TEXT, salutee TEXT)');
+
+ // Add (another) greeting row
+ tx.executeSql('INSERT INTO Greeting VALUES(?, ?)', [ 'hello', 'world' ]);
+
+ // Show all added greetings
+ var rs = tx.executeSql('SELECT * FROM Greeting');
+
+ var r = ""
+ for(var i = 0; i < rs.rows.length; i++) {
+ r += rs.rows.item(i).salutation + ", " + rs.rows.item(i).salutee + "\n"
+ }
+ text = r
+ }
+ )
+ }
+
+ Component.onCompleted: findGreetings()
+}
+//![0]
diff --git a/examples/declarative/proxywidgets/proxywidgets.qmlproject b/examples/declarative/sqllocalstorage/sqllocalstorage.qmlproject
index d4909f8685..d4909f8685 100644
--- a/examples/declarative/proxywidgets/proxywidgets.qmlproject
+++ b/examples/declarative/sqllocalstorage/sqllocalstorage.qmlproject
diff --git a/examples/declarative/states/states.qml b/examples/declarative/states/states.qml
deleted file mode 100644
index 4429e78e68..0000000000
--- a/examples/declarative/states/states.qml
+++ /dev/null
@@ -1,61 +0,0 @@
-import Qt 4.7
-
-Rectangle {
- id: page
- width: 640; height: 480
- color: "#343434"
-
- Image {
- id: userIcon
- x: topLeftRect.x; y: topLeftRect.y
- source: "user.png"
- }
-
- Rectangle {
- id: topLeftRect
-
- anchors { left: parent.left; top: parent.top; leftMargin: 10; topMargin: 20 }
- width: 64; height: 64
- color: "Transparent"; border.color: "Gray"; radius: 6
-
- // Clicking in here sets the state to the default state, returning the image to
- // its initial position
- MouseArea { anchors.fill: parent; onClicked: page.state = '' }
- }
-
- Rectangle {
- id: middleRightRect
-
- anchors { right: parent.right; verticalCenter: parent.verticalCenter; rightMargin: 20 }
- width: 64; height: 64
- color: "Transparent"; border.color: "Gray"; radius: 6
-
- // Clicking in here sets the state to 'middleRight'
- MouseArea { anchors.fill: parent; onClicked: page.state = 'middleRight' }
- }
-
- Rectangle {
- id: bottomLeftRect
-
- anchors { left: parent.left; bottom: parent.bottom; leftMargin: 10; bottomMargin: 20 }
- width: 64; height: 64
- color: "Transparent"; border.color: "Gray"; radius: 6
-
- // Clicking in here sets the state to 'bottomLeft'
- MouseArea { anchors.fill: parent; onClicked: page.state = 'bottomLeft' }
- }
-
- states: [
- // In state 'middleRight', move the image to middleRightRect
- State {
- name: "middleRight"
- PropertyChanges { target: userIcon; x: middleRightRect.x; y: middleRightRect.y }
- },
-
- // In state 'bottomLeft', move the image to bottomLeftRect
- State {
- name: "bottomLeft"
- PropertyChanges { target: userIcon; x: bottomLeftRect.x; y: bottomLeftRect.y }
- }
- ]
-}
diff --git a/examples/declarative/states/transitions.qml b/examples/declarative/states/transitions.qml
deleted file mode 100644
index d1b1dd6335..0000000000
--- a/examples/declarative/states/transitions.qml
+++ /dev/null
@@ -1,90 +0,0 @@
-import Qt 4.7
-
-/*
- This is exactly the same as states.qml, except that we have appended
- a set of transitions to apply animations when the item changes
- between each state.
-*/
-
-Rectangle {
- id: page
- width: 640; height: 480
- color: "#343434"
-
- Image {
- id: userIcon
- x: topLeftRect.x; y: topLeftRect.y
- source: "user.png"
- }
-
- Rectangle {
- id: topLeftRect
-
- anchors { left: parent.left; top: parent.top; leftMargin: 10; topMargin: 20 }
- width: 64; height: 64
- color: "Transparent"; border.color: "Gray"; radius: 6
-
- // Clicking in here sets the state to the default state, returning the image to
- // its initial position
- MouseArea { anchors.fill: parent; onClicked: page.state = '' }
- }
-
- Rectangle {
- id: middleRightRect
-
- anchors { right: parent.right; verticalCenter: parent.verticalCenter; rightMargin: 20 }
- width: 64; height: 64
- color: "Transparent"; border.color: "Gray"; radius: 6
-
- // Clicking in here sets the state to 'middleRight'
- MouseArea { anchors.fill: parent; onClicked: page.state = 'middleRight' }
- }
-
- Rectangle {
- id: bottomLeftRect
-
- anchors { left: parent.left; bottom: parent.bottom; leftMargin: 10; bottomMargin: 20 }
- width: 64; height: 64
- color: "Transparent"; border.color: "Gray"; radius: 6
-
- // Clicking in here sets the state to 'bottomLeft'
- MouseArea { anchors.fill: parent; onClicked: page.state = 'bottomLeft' }
- }
-
- states: [
- // In state 'middleRight', move the image to middleRightRect
- State {
- name: "middleRight"
- PropertyChanges { target: userIcon; x: middleRightRect.x; y: middleRightRect.y }
- },
-
- // In state 'bottomLeft', move the image to bottomLeftRect
- State {
- name: "bottomLeft"
- PropertyChanges { target: userIcon; x: bottomLeftRect.x; y: bottomLeftRect.y }
- }
- ]
-
- // Transitions define how the properties change when the item moves between each state
- transitions: [
-
- // When transitioning to 'middleRight' move x,y over a duration of 1 second,
- // with OutBounce easing function.
- Transition {
- from: "*"; to: "middleRight"
- NumberAnimation { properties: "x,y"; easing.type: "OutBounce"; duration: 1000 }
- },
-
- // When transitioning to 'bottomLeft' move x,y over a duration of 2 seconds,
- // with InOutQuad easing function.
- Transition {
- from: "*"; to: "bottomLeft"
- NumberAnimation { properties: "x,y"; easing.type: "InOutQuad"; duration: 2000 }
- },
-
- // For any other state changes move x,y linearly over duration of 200ms.
- Transition {
- NumberAnimation { properties: "x,y"; duration: 200 }
- }
- ]
-}
diff --git a/examples/declarative/stringlistmodel/main.cpp b/examples/declarative/stringlistmodel/main.cpp
deleted file mode 100644
index abbffa7048..0000000000
--- a/examples/declarative/stringlistmodel/main.cpp
+++ /dev/null
@@ -1,76 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the demonstration applications of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include <QApplication>
-
-#include <qdeclarativeengine.h>
-#include <qdeclarativecontext.h>
-#include <qdeclarative.h>
-#include <qdeclarativeitem.h>
-#include <qdeclarativeview.h>
-
-
-/*
- This example illustrates exposing a QStringList as a
- model in QML
-*/
-
-int main(int argc, char ** argv)
-{
- QApplication app(argc, argv);
-
- QDeclarativeView view;
-
- QStringList dataList;
- dataList.append("Item 1");
- dataList.append("Item 2");
- dataList.append("Item 3");
- dataList.append("Item 4");
-
- QDeclarativeContext *ctxt = view.rootContext();
- ctxt->setContextProperty("myModel", QVariant::fromValue(dataList));
-
- view.setSource(QUrl("qrc:view.qml"));
- view.show();
-
- return app.exec();
-}
-
diff --git a/examples/declarative/stringlistmodel/view.qml b/examples/declarative/stringlistmodel/view.qml
deleted file mode 100644
index 41c03d93d2..0000000000
--- a/examples/declarative/stringlistmodel/view.qml
+++ /dev/null
@@ -1,15 +0,0 @@
-import Qt 4.7
-
-ListView {
- width: 100
- height: 100
- anchors.fill: parent
- model: myModel
- delegate: Component {
- Rectangle {
- height: 25
- width: 100
- Text { text: modelData }
- }
- }
-}
diff --git a/examples/declarative/tabwidget/TabWidget.qml b/examples/declarative/tabwidget/TabWidget.qml
deleted file mode 100644
index 26d25b47b5..0000000000
--- a/examples/declarative/tabwidget/TabWidget.qml
+++ /dev/null
@@ -1,57 +0,0 @@
-import Qt 4.7
-
-Item {
- id: tabWidget
-
- property int current: 0
- default property alias content: stack.children
-
- onCurrentChanged: setOpacities()
- Component.onCompleted: setOpacities()
-
- function setOpacities()
- {
- for (var i = 0; i < stack.children.length; ++i) {
- stack.children[i].opacity = i == current ? 1 : 0
- }
- }
-
- Row {
- id: header
- Repeater {
- delegate: Rectangle {
- width: tabWidget.width / stack.children.length; height: 36
-
- Rectangle {
- width: parent.width; height: 1
- anchors { bottom: parent.bottom; bottomMargin: 1 }
- color: "#acb2c2"
- }
- BorderImage {
- anchors { fill: parent; leftMargin: 2; topMargin: 5; rightMargin: 1 }
- border { left: 7; right: 7 }
- source: "tab.png"
- visible: tabWidget.current == index
- }
- Text {
- horizontalAlignment: Qt.AlignHCenter; verticalAlignment: Qt.AlignVCenter
- anchors.fill: parent
- text: stack.children[index].title
- elide: Text.ElideRight
- font.bold: tabWidget.current == index
- }
- MouseArea {
- anchors.fill: parent
- onClicked: tabWidget.current = index
- }
- }
- model: stack.children.length
- }
- }
-
- Item {
- id: stack
- width: tabWidget.width
- anchors.top: header.bottom; anchors.bottom: tabWidget.bottom
- }
-}
diff --git a/examples/declarative/tabwidget/tabs.qml b/examples/declarative/tabwidget/tabs.qml
deleted file mode 100644
index fba203cc24..0000000000
--- a/examples/declarative/tabwidget/tabs.qml
+++ /dev/null
@@ -1,59 +0,0 @@
-import Qt 4.7
-
-TabWidget {
- id: tabs
- width: 640; height: 480
-
- Rectangle {
- property string title: "Red"
- anchors.fill: parent
- color: "#e3e3e3"
-
- Rectangle {
- anchors { fill: parent; topMargin: 20; leftMargin: 20; rightMargin: 20; bottomMargin: 20 }
- color: "#ff7f7f"
- Text {
- width: parent.width - 20
- anchors.centerIn: parent; horizontalAlignment: Qt.AlignHCenter
- text: "Roses are red"
- font.pixelSize: 20
- wrapMode: Text.WordWrap
- }
- }
- }
-
- Rectangle {
- property string title: "Green"
- anchors.fill: parent
- color: "#e3e3e3"
-
- Rectangle {
- anchors { fill: parent; topMargin: 20; leftMargin: 20; rightMargin: 20; bottomMargin: 20 }
- color: "#7fff7f"
- Text {
- width: parent.width - 20
- anchors.centerIn: parent; horizontalAlignment: Qt.AlignHCenter
- text: "Flower stems are green"
- font.pixelSize: 20
- wrapMode: Text.WordWrap
- }
- }
- }
-
- Rectangle {
- property string title: "Blue"
- anchors.fill: parent; color: "#e3e3e3"
-
- Rectangle {
- anchors { fill: parent; topMargin: 20; leftMargin: 20; rightMargin: 20; bottomMargin: 20 }
- color: "#7f7fff"
- Text {
- width: parent.width - 20
- anchors.centerIn: parent; horizontalAlignment: Qt.AlignHCenter
- text: "Violets are blue"
- font.pixelSize: 20
- wrapMode: Text.WordWrap
- }
- }
- }
-}
diff --git a/examples/declarative/text/edit/edit.qml b/examples/declarative/text/edit/edit.qml
new file mode 100644
index 0000000000..4668ab2d8d
--- /dev/null
+++ b/examples/declarative/text/edit/edit.qml
@@ -0,0 +1,253 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+import Qt 4.7
+
+Rectangle {
+ id: editor
+ color: "lightGrey"
+ width: 640; height: 480
+
+ Rectangle {
+ color: "white"
+ anchors.fill: parent
+ anchors.margins: 20
+
+ BorderImage {
+ id: startHandle
+ source: "pics/startHandle.sci"
+ opacity: 0.0
+ width: 10
+ x: edit.positionToRectangle(edit.selectionStart).x-flick.contentX-width
+ y: edit.positionToRectangle(edit.selectionStart).y-flick.contentY
+ height: edit.positionToRectangle(edit.selectionStart).height
+ }
+
+ BorderImage {
+ id: endHandle
+ source: "pics/endHandle.sci"
+ opacity: 0.0
+ width: 10
+ x: edit.positionToRectangle(edit.selectionEnd).x-flick.contentX
+ y: edit.positionToRectangle(edit.selectionEnd).y-flick.contentY
+ height: edit.positionToRectangle(edit.selectionEnd).height
+ }
+
+ Flickable {
+ id: flick
+
+ anchors.fill: parent
+ contentWidth: edit.paintedWidth
+ contentHeight: edit.paintedHeight
+ interactive: true
+ clip: true
+
+ function ensureVisible(r)
+ {
+ if (contentX >= r.x)
+ contentX = r.x;
+ else if (contentX+width <= r.x+r.width)
+ contentX = r.x+r.width-width;
+ if (contentY >= r.y)
+ contentY = r.y;
+ else if (contentY+height <= r.y+r.height)
+ contentY = r.y+r.height-height;
+ }
+
+ TextEdit {
+ id: edit
+ width: flick.width
+ height: flick.height
+ focus: true
+ wrapMode: TextEdit.Wrap
+ onCursorRectangleChanged: flick.ensureVisible(cursorRectangle)
+ text: "<h1>Text Selection</h1>"
+ +"<p>This example is a whacky text selection mechanisms, showing how these can be implemented in the TextEdit element, to cater for whatever style is appropriate for the target platform."
+ +"<p><b>Press-and-hold</b> to select a word, then drag the selection handles."
+ +"<p><b>Drag outside the selection</b> to scroll the text."
+ +"<p><b>Click inside the selection</b> to cut/copy/paste/cancel selection."
+ +"<p>It's too whacky to let you paste if there is no current selection."
+ MouseArea {
+ x: -startHandle.width
+ y: 0
+ width: parent.width+startHandle.width+endHandle.width
+ height: parent.height
+ property string drag: "";
+ property int pressPos;
+ onPressAndHold: {
+ if (editor.state == "") {
+ edit.cursorPosition = edit.positionAt(mouse.x+x,mouse.y+y);
+ edit.selectWord();
+ editor.state = "selection"
+ }
+ }
+ onClicked: {
+ if (editor.state == "") {
+ edit.cursorPosition = edit.positionAt(mouse.x+x,mouse.y+y);
+ if (!edit.focus)
+ edit.focus = true;
+ edit.openSoftwareInputPanel();
+ }
+ }
+ function hitHandle(h,x,y) { return x>=h.x+flick.contentX && x<h.x+flick.contentX+h.width && y>=h.y+flick.contentY && y<h.y+flick.contentY+h.height }
+ onPressed: {
+ if (editor.state == "selection") {
+ if (hitHandle(startHandle,mouse.x+x,mouse.y+y)) {
+ drag = "start"
+ flick.interactive = false
+ } else if (hitHandle(endHandle,mouse.x+x,mouse.y+y)) {
+ drag = "end"
+ flick.interactive = false
+ } else {
+ var pos = edit.positionAt(mouse.x+x,mouse.y+y);
+ if (pos >= edit.selectionStart && pos <= edit.selectionEnd) {
+ drag = "selection"
+ flick.interactive = false
+ } else {
+ drag = ""
+ flick.interactive = true
+ }
+ }
+ }
+ }
+ onReleased: {
+ if (editor.state == "selection") {
+ if (drag == "selection") {
+ editor.state = "menu"
+ }
+ drag = ""
+ }
+ flick.interactive = true
+ }
+ onPositionChanged: {
+ if (editor.state == "selection" && drag != "") {
+ if (drag == "start") {
+ var pos = edit.positionAt(mouse.x+x+startHandle.width/2,mouse.y+y);
+ var e = edit.selectionEnd;
+ if (e < pos)
+ e = pos;
+ edit.select(pos,e);
+ } else if (drag == "end") {
+ var pos = edit.positionAt(mouse.x+x-endHandle.width/2,mouse.y+y);
+ var s = edit.selectionStart;
+ if (s > pos)
+ s = pos;
+ edit.select(s,pos);
+ }
+ }
+ }
+ }
+ }
+ }
+
+ Item {
+ id: menu
+ opacity: 0.0
+ width: 100
+ height: 120
+ anchors.centerIn: parent
+ Rectangle {
+ border.width: 1
+ border.color: "darkBlue"
+ radius: 15
+ color: "#806080FF"
+ anchors.fill: parent
+ }
+ Column {
+ anchors.centerIn: parent
+ spacing: 8
+ Rectangle {
+ border.width: 1
+ border.color: "darkBlue"
+ color: "#ff7090FF"
+ width: 60
+ height: 16
+ Text { anchors.centerIn: parent; text: "Cut" }
+ MouseArea { anchors.fill: parent;
+ onClicked: { edit.cut(); editor.state = "" } }
+ }
+ Rectangle {
+ border.width: 1
+ border.color: "darkBlue"
+ color: "#ff7090FF"
+ width: 60
+ height: 16
+ Text { anchors.centerIn: parent; text: "Copy" }
+ MouseArea { anchors.fill: parent;
+ onClicked: { edit.copy(); editor.state = "selection" } }
+ }
+ Rectangle {
+ border.width: 1
+ border.color: "darkBlue"
+ color: "#ff7090FF"
+ width: 60
+ height: 16
+ Text { anchors.centerIn: parent; text: "Paste" }
+ MouseArea { anchors.fill: parent;
+ onClicked: { edit.paste(); edit.cursorPosition = edit.selectionEnd; editor.state = "" } }
+ }
+ Rectangle {
+ border.width: 1
+ border.color: "darkBlue"
+ color: "#ff7090FF"
+ width: 60
+ height: 16
+ Text { anchors.centerIn: parent; text: "Deselect" }
+ MouseArea { anchors.fill: parent;
+ onClicked: { edit.cursorPosition = edit.selectionEnd; edit.select(edit.cursorPosition,edit.cursorPosition); editor.state = "" } }
+ }
+ }
+ }
+ }
+
+ states: [
+ State {
+ name: "selection"
+ PropertyChanges { target: startHandle; opacity: 1.0 }
+ PropertyChanges { target: endHandle; opacity: 1.0 }
+ },
+ State {
+ name: "menu"
+ PropertyChanges { target: startHandle; opacity: 0.5 }
+ PropertyChanges { target: endHandle; opacity: 0.5 }
+ PropertyChanges { target: menu; opacity: 1.0 }
+ }
+ ]
+}
diff --git a/examples/declarative/text/edit/pics/endHandle.png b/examples/declarative/text/edit/pics/endHandle.png
new file mode 100644
index 0000000000..1a4bc5d7a0
--- /dev/null
+++ b/examples/declarative/text/edit/pics/endHandle.png
Binary files differ
diff --git a/examples/declarative/text/edit/pics/endHandle.sci b/examples/declarative/text/edit/pics/endHandle.sci
new file mode 100644
index 0000000000..4f51f24278
--- /dev/null
+++ b/examples/declarative/text/edit/pics/endHandle.sci
@@ -0,0 +1,5 @@
+border.left: 0
+border.top: 6
+border.bottom: 6
+border.right: 6
+source: endHandle.png
diff --git a/examples/declarative/text/edit/pics/startHandle.png b/examples/declarative/text/edit/pics/startHandle.png
new file mode 100644
index 0000000000..deedcd5c91
--- /dev/null
+++ b/examples/declarative/text/edit/pics/startHandle.png
Binary files differ
diff --git a/examples/declarative/text/edit/pics/startHandle.sci b/examples/declarative/text/edit/pics/startHandle.sci
new file mode 100644
index 0000000000..f9eae204c1
--- /dev/null
+++ b/examples/declarative/text/edit/pics/startHandle.sci
@@ -0,0 +1,5 @@
+border.left: 6
+border.top: 6
+border.bottom: 6
+border.right: 0
+source: startHandle.png
diff --git a/examples/declarative/text/fonts/availableFonts.qml b/examples/declarative/text/fonts/availableFonts.qml
new file mode 100644
index 0000000000..19bf59c3a3
--- /dev/null
+++ b/examples/declarative/text/fonts/availableFonts.qml
@@ -0,0 +1,57 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+import Qt 4.7
+
+Rectangle {
+ width: 480; height: 640; color: "steelblue"
+
+ ListView {
+ anchors.fill: parent; model: Qt.fontFamilies()
+
+ delegate: Item {
+ height: 40; width: ListView.view.width
+ Text {
+ anchors.centerIn: parent
+ text: modelData; font.family: modelData; font.pixelSize: 24; color: "white"
+ }
+ }
+ }
+}
diff --git a/examples/declarative/text/fonts/banner.qml b/examples/declarative/text/fonts/banner.qml
new file mode 100644
index 0000000000..c4b2719eba
--- /dev/null
+++ b/examples/declarative/text/fonts/banner.qml
@@ -0,0 +1,61 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+import Qt 4.7
+
+Rectangle {
+ id: screen
+
+ property int pixelSize: screen.height * 1.25
+ property color textColor: "lightsteelblue"
+ property string text: "Hello world! "
+
+ width: 640; height: 320
+ color: "steelblue"
+
+ Row {
+ y: -screen.height / 4.5
+
+ NumberAnimation on x { from: 0; to: -text.width; duration: 6000; loops: Animation.Infinite }
+ Text { id: text; font.pixelSize: screen.pixelSize; color: screen.textColor; text: screen.text }
+ Text { font.pixelSize: screen.pixelSize; color: screen.textColor; text: screen.text }
+ Text { font.pixelSize: screen.pixelSize; color: screen.textColor; text: screen.text }
+ }
+}
diff --git a/examples/declarative/text/fonts/fonts.qml b/examples/declarative/text/fonts/fonts.qml
new file mode 100644
index 0000000000..8ed39a9bef
--- /dev/null
+++ b/examples/declarative/text/fonts/fonts.qml
@@ -0,0 +1,104 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+import Qt 4.7
+
+Rectangle {
+ property string myText: "The quick brown fox jumps over the lazy dog."
+
+ width: 800; height: 480
+ color: "steelblue"
+
+ FontLoader { id: fixedFont; name: "Courier" }
+ FontLoader { id: localFont; source: "fonts/tarzeau_ocr_a.ttf" }
+ FontLoader { id: webFont; source: "http://www.princexml.com/fonts/steffmann/Starburst.ttf" }
+
+ Column {
+ anchors { fill: parent; leftMargin: 10; rightMargin: 10 }
+ spacing: 15
+
+ Text {
+ text: myText
+ color: "lightsteelblue"
+ width: parent.width
+ elide: Text.ElideRight
+ font.family: "Times"; font.pointSize: 42
+ }
+ Text {
+ text: myText
+ color: "lightsteelblue"
+ width: parent.width
+ elide: Text.ElideLeft
+ font { family: "Times"; pointSize: 42; capitalization: Font.AllUppercase }
+ }
+ Text {
+ text: myText
+ color: "lightsteelblue"
+ width: parent.width
+ elide: Text.ElideMiddle
+ font { family: fixedFont.name; pointSize: 42; weight: Font.Bold; capitalization: Font.AllLowercase }
+ }
+ Text {
+ text: myText
+ color: "lightsteelblue"
+ width: parent.width
+ elide: Text.ElideRight
+ font { family: fixedFont.name; pointSize: 42; italic: true; capitalization: Font.SmallCaps }
+ }
+ Text {
+ text: myText
+ color: "lightsteelblue"
+ width: parent.width
+ elide: Text.ElideLeft
+ font { family: localFont.name; pointSize: 42; capitalization: Font.Capitalize }
+ }
+ Text {
+ text: {
+ if (webFont.status == FontLoader.Ready) myText
+ else if (webFont.status == FontLoader.Loading) "Loading..."
+ else if (webFont.status == FontLoader.Error) "Error loading font"
+ }
+ color: "lightsteelblue"
+ width: parent.width
+ elide: Text.ElideMiddle
+ font.family: webFont.name; font.pointSize: 42
+ }
+ }
+}
diff --git a/examples/declarative/scrollbar/scrollbar.qmlproject b/examples/declarative/text/fonts/fonts.qmlproject
index d4909f8685..d4909f8685 100644
--- a/examples/declarative/scrollbar/scrollbar.qmlproject
+++ b/examples/declarative/text/fonts/fonts.qmlproject
diff --git a/examples/declarative/fonts/fonts/tarzeau_ocr_a.ttf b/examples/declarative/text/fonts/fonts/tarzeau_ocr_a.ttf
index cf93f9651f..cf93f9651f 100644
--- a/examples/declarative/fonts/fonts/tarzeau_ocr_a.ttf
+++ b/examples/declarative/text/fonts/fonts/tarzeau_ocr_a.ttf
Binary files differ
diff --git a/examples/declarative/text/fonts/hello.qml b/examples/declarative/text/fonts/hello.qml
new file mode 100644
index 0000000000..888110885f
--- /dev/null
+++ b/examples/declarative/text/fonts/hello.qml
@@ -0,0 +1,78 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+import Qt 4.7
+
+Rectangle {
+ id: screen
+
+ width: 800; height: 480
+ color: "black"
+
+ Item {
+ id: container
+ x: screen.width / 2; y: screen.height / 2
+
+ Text {
+ id: text
+ anchors.centerIn: parent
+ color: "white"
+ text: "Hello world!"
+ font.pixelSize: 60
+
+ SequentialAnimation on font.letterSpacing {
+ loops: Animation.Infinite;
+ NumberAnimation { from: 100; to: 300; easing.type: Easing.InQuad; duration: 3000 }
+ ScriptAction {
+ script: {
+ container.y = (screen.height / 4) + (Math.random() * screen.height / 2)
+ container.x = (screen.width / 4) + (Math.random() * screen.width / 2)
+ }
+ }
+ }
+
+ SequentialAnimation on opacity {
+ loops: Animation.Infinite;
+ NumberAnimation { from: 1; to: 0; duration: 2600 }
+ PauseAnimation { duration: 400 }
+ }
+ }
+ }
+}
diff --git a/examples/declarative/searchbox/searchbox.qmlproject b/examples/declarative/text/text.qmlproject
index d4909f8685..d4909f8685 100644
--- a/examples/declarative/searchbox/searchbox.qmlproject
+++ b/examples/declarative/text/text.qmlproject
diff --git a/examples/declarative/listmodel-threaded/dataloader.js b/examples/declarative/threading/threadedlistmodel/dataloader.js
index d720f09d83..d720f09d83 100644
--- a/examples/declarative/listmodel-threaded/dataloader.js
+++ b/examples/declarative/threading/threadedlistmodel/dataloader.js
diff --git a/examples/declarative/slideswitch/slideswitch.qmlproject b/examples/declarative/threading/threadedlistmodel/threadedlistmodel.qmlproject
index d4909f8685..d4909f8685 100644
--- a/examples/declarative/slideswitch/slideswitch.qmlproject
+++ b/examples/declarative/threading/threadedlistmodel/threadedlistmodel.qmlproject
diff --git a/examples/declarative/threading/threadedlistmodel/timedisplay.qml b/examples/declarative/threading/threadedlistmodel/timedisplay.qml
new file mode 100644
index 0000000000..997f7a0d79
--- /dev/null
+++ b/examples/declarative/threading/threadedlistmodel/timedisplay.qml
@@ -0,0 +1,72 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+// ![0]
+import Qt 4.7
+
+ListView {
+ width: 200
+ height: 300
+
+ model: listModel
+ delegate: Component {
+ Text { text: time }
+ }
+
+ ListModel { id: listModel }
+
+ WorkerScript {
+ id: worker
+ source: "dataloader.js"
+ }
+
+ Timer {
+ id: timer
+ interval: 2000; repeat: true
+ running: true
+ triggeredOnStart: true
+
+ onTriggered: {
+ var msg = {'action': 'appendCurrentTime', 'model': listModel};
+ worker.sendMessage(msg);
+ }
+ }
+}
+// ![0]
diff --git a/examples/declarative/sql/sql.qmlproject b/examples/declarative/threading/threading.qmlproject
index d4909f8685..d4909f8685 100644
--- a/examples/declarative/sql/sql.qmlproject
+++ b/examples/declarative/threading/threading.qmlproject
diff --git a/examples/declarative/workerscript/workerscript.js b/examples/declarative/threading/workerscript/workerscript.js
index f76471f920..f76471f920 100644
--- a/examples/declarative/workerscript/workerscript.js
+++ b/examples/declarative/threading/workerscript/workerscript.js
diff --git a/examples/declarative/threading/workerscript/workerscript.qml b/examples/declarative/threading/workerscript/workerscript.qml
new file mode 100644
index 0000000000..8d986a306c
--- /dev/null
+++ b/examples/declarative/threading/workerscript/workerscript.qml
@@ -0,0 +1,83 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+import Qt 4.7
+
+Rectangle {
+ width: 480; height: 320
+
+ WorkerScript {
+ id: myWorker
+ source: "workerscript.js"
+
+ onMessage: {
+ console.log("Moved " + messageObject.xmove + " along the X axis.");
+ console.log("Moved " + messageObject.ymove + " along the Y axis.");
+ console.log("Moved " + messageObject.move + " pixels.");
+ }
+ }
+
+ Rectangle {
+ width: 200; height: 200
+ anchors.left: parent.left; anchors.leftMargin: 20
+ color: "red"
+
+ MouseArea {
+ anchors.fill: parent
+ onClicked: myWorker.sendMessage( { rectangle: "red", x: mouse.x, y: mouse.y } );
+ }
+ }
+
+ Rectangle {
+ width: 200; height: 200
+ anchors.right: parent.right; anchors.rightMargin: 20
+ color: "blue"
+
+ MouseArea {
+ anchors.fill: parent
+ onClicked: myWorker.sendMessage( { rectangle: "blue", x: mouse.x, y: mouse.y } );
+ }
+ }
+
+ Text {
+ text: "Click a Rectangle!"
+ anchors { horizontalCenter: parent.horizontalCenter; bottom: parent.bottom; bottomMargin: 50 }
+ }
+}
diff --git a/examples/declarative/workerscript/workerscript.qmlproject b/examples/declarative/threading/workerscript/workerscript.qmlproject
index d4909f8685..d4909f8685 100644
--- a/examples/declarative/workerscript/workerscript.qmlproject
+++ b/examples/declarative/threading/workerscript/workerscript.qmlproject
diff --git a/examples/declarative/tic-tac-toe/content/Button.qml b/examples/declarative/tic-tac-toe/content/Button.qml
deleted file mode 100644
index ecf18cd0f7..0000000000
--- a/examples/declarative/tic-tac-toe/content/Button.qml
+++ /dev/null
@@ -1,37 +0,0 @@
-import Qt 4.7
-
-Rectangle {
- id: container
-
- property string text: "Button"
- property bool down: false
- property string mainCol: "lightgray"
- property string darkCol: "darkgray"
- property string lightCol: "white"
-
- width: buttonLabel.width + 20; height: buttonLabel.height + 6
- border { width: 1; color: Qt.darker(mainCol) }
- radius: 8;
- color: mainCol
- smooth: true
-
- gradient: Gradient {
- GradientStop {
- id: topGrad; position: 0.0
- color: if (container.down) { darkCol } else { lightCol }
- }
- GradientStop { position: 1.0; color: mainCol }
- }
-
- signal clicked
-
- MouseArea { id: mr; anchors.fill: parent; onClicked: container.clicked() }
-
- Text {
- id: buttonLabel
-
- anchors.centerIn: container
- text: container.text;
- font.pixelSize: 14
- }
-}
diff --git a/examples/declarative/tic-tac-toe/content/TicTac.qml b/examples/declarative/tic-tac-toe/content/TicTac.qml
deleted file mode 100644
index d2479430ff..0000000000
--- a/examples/declarative/tic-tac-toe/content/TicTac.qml
+++ /dev/null
@@ -1,20 +0,0 @@
-import Qt 4.7
-
-Item {
- signal clicked
-
- states: [
- State { name: "X"; PropertyChanges { target: image; source: "pics/x.png" } },
- State { name: "O"; PropertyChanges { target: image; source: "pics/o.png" } }
- ]
-
- Image {
- id: image
- anchors.centerIn: parent
- }
-
- MouseArea {
- anchors.fill: parent
- onClicked: parent.clicked()
- }
-}
diff --git a/examples/declarative/tic-tac-toe/content/tic-tac-toe.js b/examples/declarative/tic-tac-toe/content/tic-tac-toe.js
deleted file mode 100644
index f8d6d9ff20..0000000000
--- a/examples/declarative/tic-tac-toe/content/tic-tac-toe.js
+++ /dev/null
@@ -1,145 +0,0 @@
-function winner(board)
-{
- for (var i=0; i<3; ++i) {
- if (board.children[i].state!=""
- && board.children[i].state==board.children[i+3].state
- && board.children[i].state==board.children[i+6].state)
- return true
-
- if (board.children[i*3].state!=""
- && board.children[i*3].state==board.children[i*3+1].state
- && board.children[i*3].state==board.children[i*3+2].state)
- return true
- }
-
- if (board.children[0].state!=""
- && board.children[0].state==board.children[4].state!=""
- && board.children[0].state==board.children[8].state!="")
- return true
-
- if (board.children[2].state!=""
- && board.children[2].state==board.children[4].state!=""
- && board.children[2].state==board.children[6].state!="")
- return true
-
- return false
-}
-
-function restart()
-{
- // No moves left - start again
- for (var i=0; i<9; ++i)
- board.children[i].state = ""
-}
-
-function makeMove(pos,player)
-{
- board.children[pos].state = player
- if (winner(board)) {
- win(player + " wins")
- return true
- } else {
- return false
- }
-}
-
-function computerTurn()
-{
- var r = Math.random();
- if(r < game.difficulty){
- smartAI();
- }else{
- randAI();
- }
-}
-
-function smartAI()
-{
- function boardCopy(a){
- var ret = new Object;
- ret.children = new Array(9);
- for(var i = 0; i<9; i++){
- ret.children[i] = new Object;
- ret.children[i].state = a.children[i].state;
- }
- return ret;
- }
- for(var i=0; i<9; i++){
- var simpleBoard = boardCopy(board);
- if (board.children[i].state == "") {
- simpleBoard.children[i].state = "O";
- if(winner(simpleBoard)){
- makeMove(i,"O")
- return
- }
- }
- }
- for(var i=0; i<9; i++){
- var simpleBoard = boardCopy(board);
- if (board.children[i].state == "") {
- simpleBoard.children[i].state = "X";
- if(winner(simpleBoard)){
- makeMove(i,"O")
- return
- }
- }
- }
- function thwart(a,b,c){//If they are at a, try b or c
- if (board.children[a].state == "X") {
- if (board.children[b].state == "") {
- makeMove(b,"O")
- return true
- }else if (board.children[c].state == "") {
- makeMove(c,"O")
- return true
- }
- }
- return false;
- }
- if(thwart(4,0,2)) return;
- if(thwart(0,4,3)) return;
- if(thwart(2,4,1)) return;
- if(thwart(6,4,7)) return;
- if(thwart(8,4,5)) return;
- if(thwart(1,4,2)) return;
- if(thwart(3,4,0)) return;
- if(thwart(5,4,8)) return;
- if(thwart(7,4,6)) return;
- for(var i =0; i<9; i++){//Backup
- if (board.children[i].state == "") {
- makeMove(i,"O")
- return
- }
- }
- restart();
-}
-
-function randAI()
-{
- var open = 0;
- for (var i=0; i<9; ++i)
- if (board.children[i].state == "") {
- open += 1;
- }
- if(open == 0){
- restart();
- return;
- }
- var openA = new Array(open);//JS doesn't have lists I can append to (i think)
- var acc = 0;
- for (var i=0; i<9; ++i)
- if (board.children[i].state == "") {
- openA[acc] = i;
- acc += 1;
- }
- var choice = openA[Math.floor(Math.random() * open)];
- makeMove(choice, "O");
-}
-
-function win(s)
-{
- msg.text = s
- msg.opacity = 1
- endtimer.running = true
-}
-
diff --git a/examples/declarative/tic-tac-toe/tic-tac-toe.qml b/examples/declarative/tic-tac-toe/tic-tac-toe.qml
deleted file mode 100644
index dd13052891..0000000000
--- a/examples/declarative/tic-tac-toe/tic-tac-toe.qml
+++ /dev/null
@@ -1,77 +0,0 @@
-import Qt 4.7
-import "content"
-import "content/tic-tac-toe.js" as Logic
-
-Item {
- id: game
-
- property bool show: false
- property real difficulty: 1.0 //chance it will actually think
-
- width: 440
- height: 480
- anchors.fill: parent
-
- Image {
- id: boardimage
- anchors { verticalCenter: parent.verticalCenter; horizontalCenter: parent.horizontalCenter }
- source: "content/pics/board.png"
- }
-
- Grid {
- id: board
- anchors.fill: boardimage
- columns: 3
-
- Repeater {
- model: 9
- TicTac {
- width: board.width/3
- height: board.height/3
- onClicked: {
- if (!endtimer.running) {
- if (!Logic.makeMove(index,"X"))
- Logic.computerTurn()
- }
- }
- }
- }
-
- Timer {
- id: endtimer
- interval: 1600
- onTriggered: { msg.opacity = 0; Logic.restart() }
- }
- }
-
- Row {
- spacing: 4
- anchors { top: board.bottom; horizontalCenter: board.horizontalCenter }
-
- Button {
- text: "Hard"
- onClicked: game.difficulty = 1.0;
- down: game.difficulty == 1.0
- }
- Button {
- text: "Moderate"
- onClicked: game.difficulty = 0.8;
- down: game.difficulty == 0.8
- }
- Button {
- text: "Easy"
- onClicked: game.difficulty = 0.2;
- down: game.difficulty == 0.2
- }
- }
-
- Text {
- id: msg
-
- anchors.centerIn: parent
- opacity: 0
- color: "blue"
- style: Text.Outline; styleColor: "white"
- font.pixelSize: 50; font.bold: true
- }
-}
diff --git a/examples/declarative/touchinteraction/gestures/experimental-gestures.qml b/examples/declarative/touchinteraction/gestures/experimental-gestures.qml
new file mode 100644
index 0000000000..02a197328f
--- /dev/null
+++ b/examples/declarative/touchinteraction/gestures/experimental-gestures.qml
@@ -0,0 +1,76 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+import Qt 4.7
+import Qt.labs.gestures 1.0
+
+// Only works on platforms with Touch support.
+
+Rectangle {
+ id: rect
+ width: 320
+ height: 180
+
+ Text {
+ anchors.centerIn: parent
+ text: "Tap / TapAndHold / Pan / Pinch / Swipe\nOnly works on platforms with Touch support."
+ horizontalAlignment: Text.Center
+ }
+
+ GestureArea {
+ anchors.fill: parent
+ focus: true
+
+ // Only some of the many gesture properties are shown. See Gesture documentation.
+
+ onTap:
+ console.log("tap pos = (",gesture.position.x,",",gesture.position.y,")")
+ onTapAndHold:
+ console.log("tap and hold pos = (",gesture.position.x,",",gesture.position.y,")")
+ onPan:
+ console.log("pan delta = (",gesture.delta.x,",",gesture.delta.y,") acceleration = ",gesture.acceleration)
+ onPinch:
+ console.log("pinch center = (",gesture.centerPoint.x,",",gesture.centerPoint.y,") rotation =",gesture.rotationAngle," scale =",gesture.scaleFactor)
+ onSwipe:
+ console.log("swipe angle=",gesture.swipeAngle)
+ onGesture:
+ console.log("gesture hot spot = (",gesture.hotSpot.x,",",gesture.hotSpot.y,")")
+ }
+}
diff --git a/examples/declarative/tabwidget/tabwidget.qmlproject b/examples/declarative/touchinteraction/gestures/gestures.qmlproject
index d4909f8685..d4909f8685 100644
--- a/examples/declarative/tabwidget/tabwidget.qmlproject
+++ b/examples/declarative/touchinteraction/gestures/gestures.qmlproject
diff --git a/examples/declarative/touchinteraction/mousearea/mouse.qml b/examples/declarative/touchinteraction/mousearea/mouse.qml
new file mode 100644
index 0000000000..9d2ace3f1b
--- /dev/null
+++ b/examples/declarative/touchinteraction/mousearea/mouse.qml
@@ -0,0 +1,87 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+import Qt 4.7
+
+Rectangle {
+ width: 200; height: 200
+
+ Rectangle {
+ width: 50; height: 50
+ color: "red"
+
+ Text { text: "Click"; anchors.centerIn: parent }
+
+ MouseArea {
+ anchors.fill: parent
+ hoverEnabled: true
+ acceptedButtons: Qt.LeftButton | Qt.RightButton
+
+ onPressed: console.log('press (x: ' + mouse.x + ' y: ' + mouse.y + ' button: ' + (mouse.button == Qt.RightButton ? 'right' : 'left') + ' Shift: ' + (mouse.modifiers & Qt.ShiftModifier ? 'true' : 'false') + ')')
+ onReleased: console.log('release (x: ' + mouse.x + ' y: ' + mouse.y + ' isClick: ' + mouse.isClick + ' wasHeld: ' + mouse.wasHeld + ')')
+ onClicked: console.log('click (x: ' + mouse.x + ' y: ' + mouse.y + ' wasHeld: ' + mouse.wasHeld + ')')
+ onDoubleClicked: console.log('double click (x: ' + mouse.x + ' y: ' + mouse.y + ')')
+ onPressAndHold: console.log('press and hold')
+ onEntered: console.log('entered ' + pressed)
+ onExited: console.log('exited ' + pressed)
+ }
+ }
+
+ Rectangle {
+ y: 100; width: 50; height: 50
+ color: "blue"
+
+ Text { text: "Drag"; anchors.centerIn: parent }
+
+ MouseArea {
+ anchors.fill: parent
+ drag.target: parent
+ drag.axis: Drag.XAxis
+ drag.minimumX: 0
+ drag.maximumX: 150
+
+ onPressed: console.log('press')
+ onReleased: console.log('release (isClick: ' + mouse.isClick + ') (wasHeld: ' + mouse.wasHeld + ')')
+ onClicked: console.log('click' + '(wasHeld: ' + mouse.wasHeld + ')')
+ onDoubleClicked: console.log('double click')
+ onPressAndHold: console.log('press and hold')
+ }
+ }
+}
diff --git a/examples/declarative/tic-tac-toe/tic-tac-toe.qmlproject b/examples/declarative/touchinteraction/mousearea/mousearea.qmlproject
index d4909f8685..d4909f8685 100644
--- a/examples/declarative/tic-tac-toe/tic-tac-toe.qmlproject
+++ b/examples/declarative/touchinteraction/mousearea/mousearea.qmlproject
diff --git a/examples/declarative/tvtennis/tvtennis.qmlproject b/examples/declarative/touchinteraction/touchinteraction.qmlproject
index d4909f8685..d4909f8685 100644
--- a/examples/declarative/tvtennis/tvtennis.qmlproject
+++ b/examples/declarative/touchinteraction/touchinteraction.qmlproject
diff --git a/examples/declarative/toys/README b/examples/declarative/toys/README
new file mode 100644
index 0000000000..ff4d0242d7
--- /dev/null
+++ b/examples/declarative/toys/README
@@ -0,0 +1,37 @@
+These pure QML examples demonstrate
+some of what can be easily done using just a few QML files.
+
+The example launcher provided with Qt can be used to explore each of the
+examples in this directory. They can also be viewed directly with the
+QML viewer utility, without requiring compilation.
+
+Documentation for these examples can be found via the Tutorial and Examples
+link in the main Qt documentation.
+
+
+Finding the Qt Examples and Demos launcher
+==========================================
+
+On Windows:
+
+The launcher can be accessed via the Windows Start menu. Select the menu
+entry entitled "Qt Examples and Demos" entry in the submenu containing
+the Qt tools.
+
+On Mac OS X:
+
+For the binary distribution, the qtdemo executable is installed in the
+/Developer/Applications/Qt directory. For the source distribution, it is
+installed alongside the other Qt tools on the path specified when Qt is
+configured.
+
+On Unix/Linux:
+
+The qtdemo executable is installed alongside the other Qt tools on the path
+specified when Qt is configured.
+
+On all platforms:
+
+The source code for the launcher can be found in the demos/qtdemo directory
+in the Qt package. This example is built at the same time as the Qt libraries,
+tools, examples, and demonstrations.
diff --git a/examples/declarative/toys/clocks/clocks.qml b/examples/declarative/toys/clocks/clocks.qml
new file mode 100644
index 0000000000..124e391cbf
--- /dev/null
+++ b/examples/declarative/toys/clocks/clocks.qml
@@ -0,0 +1,54 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+import Qt 4.7
+import "content"
+
+Rectangle {
+ width: 640; height: 240
+ color: "#646464"
+
+ Row {
+ anchors.centerIn: parent
+ Clock { city: "New York"; shift: -4 }
+ Clock { city: "Mumbai"; shift: 5.5 }
+ Clock { city: "Tokyo"; shift: 9 }
+ }
+}
diff --git a/examples/declarative/velocity/velocity.qmlproject b/examples/declarative/toys/clocks/clocks.qmlproject
index d4909f8685..d4909f8685 100644
--- a/examples/declarative/velocity/velocity.qmlproject
+++ b/examples/declarative/toys/clocks/clocks.qmlproject
diff --git a/examples/declarative/toys/clocks/content/Clock.qml b/examples/declarative/toys/clocks/content/Clock.qml
new file mode 100644
index 0000000000..136573b69f
--- /dev/null
+++ b/examples/declarative/toys/clocks/content/Clock.qml
@@ -0,0 +1,123 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+import Qt 4.7
+
+Item {
+ id: clock
+ width: 200; height: 230
+
+ property alias city: cityLabel.text
+ property variant hours
+ property variant minutes
+ property variant seconds
+ property variant shift : 0
+ property bool night: false
+
+ function timeChanged() {
+ var date = new Date;
+ hours = shift ? date.getUTCHours() + Math.floor(clock.shift) : date.getHours()
+ night = ( hours < 7 || hours > 19 )
+ minutes = shift ? date.getUTCMinutes() + ((clock.shift % 1) * 60) : date.getMinutes()
+ seconds = date.getUTCSeconds();
+ }
+
+ Timer {
+ interval: 100; running: true; repeat: true; triggeredOnStart: true
+ onTriggered: clock.timeChanged()
+ }
+
+ Image { id: background; source: "clock.png"; visible: clock.night == false }
+ Image { source: "clock-night.png"; visible: clock.night == true }
+
+ Image {
+ x: 92.5; y: 27
+ source: "hour.png"
+ smooth: true
+ transform: Rotation {
+ id: hourRotation
+ origin.x: 7.5; origin.y: 73; angle: 0
+ SpringFollow on angle {
+ spring: 2; damping: 0.2; modulus: 360
+ to: (clock.hours * 30) + (clock.minutes * 0.5)
+ }
+ }
+ }
+
+ Image {
+ x: 93.5; y: 17
+ source: "minute.png"
+ smooth: true
+ transform: Rotation {
+ id: minuteRotation
+ origin.x: 6.5; origin.y: 83; angle: 0
+ SpringFollow on angle {
+ spring: 2; damping: 0.2; modulus: 360
+ to: clock.minutes * 6
+ }
+ }
+ }
+
+ Image {
+ x: 97.5; y: 20
+ source: "second.png"
+ smooth: true
+ transform: Rotation {
+ id: secondRotation
+ origin.x: 2.5; origin.y: 80; angle: 0
+ SpringFollow on angle {
+ spring: 5; damping: 0.25; modulus: 360
+ to: clock.seconds * 6
+ }
+ }
+ }
+
+ Image {
+ anchors.centerIn: background; source: "center.png"
+ }
+
+ Text {
+ id: cityLabel
+ y: 200; anchors.horizontalCenter: parent.horizontalCenter
+ color: "white"
+ font.bold: true; font.pixelSize: 14
+ style: Text.Raised; styleColor: "black"
+ }
+}
diff --git a/examples/declarative/clocks/content/background.png b/examples/declarative/toys/clocks/content/background.png
index a885950862..a885950862 100644
--- a/examples/declarative/clocks/content/background.png
+++ b/examples/declarative/toys/clocks/content/background.png
Binary files differ
diff --git a/examples/declarative/plugins/com/nokia/TimeExample/center.png b/examples/declarative/toys/clocks/content/center.png
index 7fbd802a44..7fbd802a44 100644
--- a/examples/declarative/plugins/com/nokia/TimeExample/center.png
+++ b/examples/declarative/toys/clocks/content/center.png
Binary files differ
diff --git a/examples/declarative/clocks/content/clock-night.png b/examples/declarative/toys/clocks/content/clock-night.png
index cc7151a397..cc7151a397 100755..100644
--- a/examples/declarative/clocks/content/clock-night.png
+++ b/examples/declarative/toys/clocks/content/clock-night.png
Binary files differ
diff --git a/examples/declarative/plugins/com/nokia/TimeExample/clock.png b/examples/declarative/toys/clocks/content/clock.png
index 462edacc0e..462edacc0e 100644
--- a/examples/declarative/plugins/com/nokia/TimeExample/clock.png
+++ b/examples/declarative/toys/clocks/content/clock.png
Binary files differ
diff --git a/examples/declarative/plugins/com/nokia/TimeExample/hour.png b/examples/declarative/toys/clocks/content/hour.png
index f8061a1235..f8061a1235 100644
--- a/examples/declarative/plugins/com/nokia/TimeExample/hour.png
+++ b/examples/declarative/toys/clocks/content/hour.png
Binary files differ
diff --git a/examples/declarative/plugins/com/nokia/TimeExample/minute.png b/examples/declarative/toys/clocks/content/minute.png
index 1297ec7c2b..1297ec7c2b 100644
--- a/examples/declarative/plugins/com/nokia/TimeExample/minute.png
+++ b/examples/declarative/toys/clocks/content/minute.png
Binary files differ
diff --git a/examples/declarative/clocks/content/second.png b/examples/declarative/toys/clocks/content/second.png
index 4aa9fb5e8e..4aa9fb5e8e 100755..100644
--- a/examples/declarative/clocks/content/second.png
+++ b/examples/declarative/toys/clocks/content/second.png
Binary files differ
diff --git a/examples/declarative/toys/corkboards/Day.qml b/examples/declarative/toys/corkboards/Day.qml
new file mode 100644
index 0000000000..cc297b13f8
--- /dev/null
+++ b/examples/declarative/toys/corkboards/Day.qml
@@ -0,0 +1,146 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+import Qt 4.7
+
+Component {
+ Item {
+ property variant stickies
+
+ id: page
+ width: 840; height: 480
+
+ Image { source: "cork.jpg" }
+
+ MouseArea {
+ anchors.fill: parent
+ onClicked: page.focus = false;
+ }
+
+ Text {
+ text: name; x: 15; y: 8; height: 40; width: 370
+ font.pixelSize: 18; font.bold: true; color: "white"
+ style: Text.Outline; styleColor: "black"
+ }
+
+ Repeater {
+ model: notes
+ Item {
+ id: stickyPage
+
+ property int randomX: Math.random() * 500 + 100
+ property int randomY: Math.random() * 200 + 50
+
+ x: randomX; y: randomY
+
+ SpringFollow on rotation {
+ to: -flickable.horizontalVelocity / 100
+ spring: 2.0; damping: 0.15
+ }
+
+ Item {
+ id: sticky
+ scale: 0.7
+
+ Image {
+ id: stickyImage
+ x: 8 + -width * 0.6 / 2; y: -20
+ source: "note-yellow.png"
+ scale: 0.6; transformOrigin: Item.TopLeft
+ smooth: true
+ }
+
+ TextEdit {
+ id: myText
+ x: -104; y: 36; width: 215; height: 200
+ smooth: true
+ font.pixelSize: 24
+ readOnly: false
+ rotation: -8
+ text: noteText
+ }
+
+ Item {
+ x: stickyImage.x; y: -20
+ width: stickyImage.width * stickyImage.scale
+ height: stickyImage.height * stickyImage.scale
+
+ MouseArea {
+ id: mouse
+ anchors.fill: parent
+ drag.target: stickyPage
+ drag.axis: Drag.XandYAxis
+ drag.minimumY: 0
+ drag.maximumY: page.height - 80
+ drag.minimumX: 100
+ drag.maximumX: page.width - 140
+ onClicked: { myText.focus = true; myText.openSoftwareInputPanel(); }
+ }
+ }
+ }
+
+ Image {
+ x: -width / 2; y: -height * 0.5 / 2
+ source: "tack.png"
+ scale: 0.7; transformOrigin: Item.TopLeft
+ }
+
+ states: State {
+ name: "pressed"
+ when: mouse.pressed
+ PropertyChanges { target: sticky; rotation: 8; scale: 1 }
+ PropertyChanges { target: page; z: 8 }
+ }
+
+ transitions: Transition {
+ NumberAnimation { properties: "rotation,scale"; duration: 200 }
+ }
+ }
+ }
+ }
+}
+
+
+
+
+
+
+
+
diff --git a/examples/declarative/velocity/cork.jpg b/examples/declarative/toys/corkboards/cork.jpg
index 160bc002bf..160bc002bf 100644
--- a/examples/declarative/velocity/cork.jpg
+++ b/examples/declarative/toys/corkboards/cork.jpg
Binary files differ
diff --git a/examples/declarative/toys/corkboards/corkboards.qml b/examples/declarative/toys/corkboards/corkboards.qml
new file mode 100644
index 0000000000..a4679c9d60
--- /dev/null
+++ b/examples/declarative/toys/corkboards/corkboards.qml
@@ -0,0 +1,115 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+import Qt 4.7
+
+Rectangle {
+ width: 800; height: 480
+ color: "#464646"
+
+ ListModel {
+ id: list
+
+ ListElement {
+ name: "Sunday"
+ notes: [
+ ListElement { noteText: "Lunch" },
+ ListElement { noteText: "Birthday Party" }
+ ]
+ }
+
+ ListElement {
+ name: "Monday"
+ notes: [
+ ListElement { noteText: "Pickup kids from\nschool\n4.30pm" },
+ ListElement { noteText: "Checkout Qt" }, ListElement { noteText: "Read email" }
+ ]
+ }
+
+ ListElement {
+ name: "Tuesday"
+ notes: [
+ ListElement { noteText: "Walk dog" },
+ ListElement { noteText: "Buy newspaper" }
+ ]
+ }
+
+ ListElement {
+ name: "Wednesday"
+ notes: [ ListElement { noteText: "Cook dinner" } ]
+ }
+
+ ListElement {
+ name: "Thursday"
+ notes: [
+ ListElement { noteText: "Meeting\n5.30pm" },
+ ListElement { noteText: "Weed garden" }
+ ]
+ }
+
+ ListElement {
+ name: "Friday"
+ notes: [
+ ListElement { noteText: "More work" },
+ ListElement { noteText: "Grocery shopping" }
+ ]
+ }
+
+ ListElement {
+ name: "Saturday"
+ notes: [
+ ListElement { noteText: "Drink" },
+ ListElement { noteText: "Download Qt\nPlay with QML" }
+ ]
+ }
+ }
+
+ ListView {
+ id: flickable
+
+ anchors.fill: parent
+ focus: true
+ highlightRangeMode: ListView.StrictlyEnforceRange
+ orientation: ListView.Horizontal
+ snapMode: ListView.SnapOneItem
+ model: list
+ delegate: Day { }
+ }
+}
diff --git a/examples/declarative/xmldata/xmldata.qmlproject b/examples/declarative/toys/corkboards/corkboards.qmlproject
index d4909f8685..d4909f8685 100644
--- a/examples/declarative/xmldata/xmldata.qmlproject
+++ b/examples/declarative/toys/corkboards/corkboards.qmlproject
diff --git a/examples/declarative/velocity/note-yellow.png b/examples/declarative/toys/corkboards/note-yellow.png
index 8ddecc8b03..8ddecc8b03 100644
--- a/examples/declarative/velocity/note-yellow.png
+++ b/examples/declarative/toys/corkboards/note-yellow.png
Binary files differ
diff --git a/examples/declarative/velocity/tack.png b/examples/declarative/toys/corkboards/tack.png
index cef2d1cd23..cef2d1cd23 100644
--- a/examples/declarative/velocity/tack.png
+++ b/examples/declarative/toys/corkboards/tack.png
Binary files differ
diff --git a/examples/declarative/toys/dynamicscene/dynamicscene.qml b/examples/declarative/toys/dynamicscene/dynamicscene.qml
new file mode 100644
index 0000000000..1edb841da6
--- /dev/null
+++ b/examples/declarative/toys/dynamicscene/dynamicscene.qml
@@ -0,0 +1,223 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+import Qt 4.7
+import Qt.labs.particles 1.0
+import "qml"
+
+Item {
+ id: window
+
+ property int activeSuns: 0
+
+ //This is a desktop-sized example
+ width: 800; height: 480
+
+
+ MouseArea {
+ anchors.fill: parent
+ onClicked: window.focus = false;
+ }
+
+ //This is the message box that pops up when there's an error
+ Rectangle {
+ id: dialog
+
+ opacity: 0
+ anchors.centerIn: parent
+ width: dialogText.width + 6; height: dialogText.height + 6
+ border.color: 'black'
+ color: 'lightsteelblue'
+ z: 65535 //Arbitrary number chosen to be above all the items, including the scaled perspective ones.
+
+ function show(str){
+ dialogText.text = str;
+ dialogAnim.start();
+ }
+
+ Text {
+ id: dialogText
+ x: 3; y: 3
+ font.pixelSize: 14
+ }
+
+ SequentialAnimation {
+ id: dialogAnim
+ NumberAnimation { target: dialog; property:"opacity"; to: 1; duration: 1000 }
+ PauseAnimation { duration: 5000 }
+ NumberAnimation { target: dialog; property:"opacity"; to: 0; duration: 1000 }
+ }
+ }
+
+ // sky
+ Rectangle {
+ id: sky
+ anchors { left: parent.left; top: parent.top; right: toolbox.right; bottom: parent.verticalCenter }
+ gradient: Gradient {
+ GradientStop { id: gradientStopA; position: 0.0; color: "#0E1533" }
+ GradientStop { id: gradientStopB; position: 1.0; color: "#437284" }
+ }
+ }
+
+ // stars (when there's no sun)
+ Particles {
+ id: stars
+ x: 0; y: 0; width: parent.width; height: parent.height / 2
+ source: "images/star.png"
+ angleDeviation: 360
+ velocity: 0; velocityDeviation: 0
+ count: parent.width / 10
+ fadeInDuration: 2800
+ opacity: 1
+ }
+
+ // ground
+ Rectangle {
+ id: ground
+ z: 2 // just above the sun so that the sun can set behind it
+ anchors { left: parent.left; top: parent.verticalCenter; right: toolbox.left; bottom: parent.bottom }
+ gradient: Gradient {
+ GradientStop { position: 0.0; color: "ForestGreen" }
+ GradientStop { position: 1.0; color: "DarkGreen" }
+ }
+ }
+
+ SystemPalette { id: activePalette }
+
+ // right-hand panel
+ Rectangle {
+ id: toolbox
+
+ width: 380
+ color: activePalette.window
+ anchors { right: parent.right; top: parent.top; bottom: parent.bottom }
+
+ Column {
+ anchors.centerIn: parent
+ spacing: 8
+
+ Text { text: "Drag an item into the scene." }
+
+ Rectangle {
+ width: childrenRect.width + 10; height: childrenRect.height + 10
+ border.color: "black"
+
+ Row {
+ anchors.centerIn: parent
+ spacing: 8
+
+ PaletteItem {
+ anchors.verticalCenter: parent.verticalCenter
+ componentFile: "Sun.qml"
+ image: "../images/sun.png"
+ }
+ PaletteItem {
+ anchors.verticalCenter: parent.verticalCenter
+ componentFile: "GenericSceneItem.qml"
+ image: "../images/moon.png"
+ }
+ PaletteItem {
+ anchors.verticalCenter: parent.verticalCenter
+ componentFile: "PerspectiveItem.qml"
+ image: "../images/tree_s.png"
+ }
+ PaletteItem {
+ anchors.verticalCenter: parent.verticalCenter
+ componentFile: "PerspectiveItem.qml"
+ image: "../images/rabbit_brown.png"
+ }
+ PaletteItem {
+ anchors.verticalCenter: parent.verticalCenter
+ componentFile: "PerspectiveItem.qml"
+ image: "../images/rabbit_bw.png"
+ }
+ }
+ }
+
+ Text { text: "Active Suns: " + activeSuns }
+
+ Rectangle { width: parent.width; height: 1; color: "black" }
+
+ Text { text: "Arbitrary QML:" }
+
+ Rectangle {
+ width: 360; height: 240
+
+ TextEdit {
+ id: qmlText
+ anchors.fill: parent; anchors.margins: 5
+ readOnly: false
+ focusOnPress: true
+ font.pixelSize: 14
+ wrapMode: TextEdit.WordWrap
+
+ text: "import Qt 4.7\nImage {\n id: smile\n x: 360 * Math.random()\n y: 180 * Math.random() \n source: 'images/face-smile.png'\n NumberAnimation on opacity { \n to: 0; duration: 1500\n }\n Component.onCompleted: smile.destroy(1500);\n}"
+ }
+ }
+
+ Button {
+ text: "Create"
+ onClicked: {
+ try {
+ Qt.createQmlObject(qmlText.text, window, 'CustomObject');
+ } catch(err) {
+ dialog.show('Error on line ' + err.qmlErrors[0].lineNumber + '\n' + err.qmlErrors[0].message);
+ }
+ }
+ }
+ }
+ }
+
+ //Day state, for when a sun is added to the scene
+ states: State {
+ name: "Day"
+ when: window.activeSuns > 0
+
+ PropertyChanges { target: gradientStopA; color: "DeepSkyBlue" }
+ PropertyChanges { target: gradientStopB; color: "SkyBlue" }
+ PropertyChanges { target: stars; opacity: 0 }
+ }
+
+ transitions: Transition {
+ PropertyAnimation { duration: 3000 }
+ ColorAnimation { duration: 3000 }
+ }
+
+}
diff --git a/examples/declarative/xmlhttprequest/xmlhttprequest.qmlproject b/examples/declarative/toys/dynamicscene/dynamicscene.qmlproject
index d4909f8685..d4909f8685 100644
--- a/examples/declarative/xmlhttprequest/xmlhttprequest.qmlproject
+++ b/examples/declarative/toys/dynamicscene/dynamicscene.qmlproject
diff --git a/examples/declarative/dynamic/images/NOTE b/examples/declarative/toys/dynamicscene/images/NOTE
index fcd87f9132..fcd87f9132 100644
--- a/examples/declarative/dynamic/images/NOTE
+++ b/examples/declarative/toys/dynamicscene/images/NOTE
diff --git a/examples/declarative/aspectratio/pics/face.png b/examples/declarative/toys/dynamicscene/images/face-smile.png
index 3d66d72578..3d66d72578 100644
--- a/examples/declarative/aspectratio/pics/face.png
+++ b/examples/declarative/toys/dynamicscene/images/face-smile.png
Binary files differ
diff --git a/examples/declarative/dynamic/images/moon.png b/examples/declarative/toys/dynamicscene/images/moon.png
index 1c0d6066a8..1c0d6066a8 100644
--- a/examples/declarative/dynamic/images/moon.png
+++ b/examples/declarative/toys/dynamicscene/images/moon.png
Binary files differ
diff --git a/examples/declarative/dynamic/images/rabbit_brown.png b/examples/declarative/toys/dynamicscene/images/rabbit_brown.png
index ebfdeed332..ebfdeed332 100644
--- a/examples/declarative/dynamic/images/rabbit_brown.png
+++ b/examples/declarative/toys/dynamicscene/images/rabbit_brown.png
Binary files differ
diff --git a/examples/declarative/dynamic/images/rabbit_bw.png b/examples/declarative/toys/dynamicscene/images/rabbit_bw.png
index 7bff9b92ca..7bff9b92ca 100644
--- a/examples/declarative/dynamic/images/rabbit_bw.png
+++ b/examples/declarative/toys/dynamicscene/images/rabbit_bw.png
Binary files differ
diff --git a/examples/declarative/dynamic/images/star.png b/examples/declarative/toys/dynamicscene/images/star.png
index 27ef924267..27ef924267 100644
--- a/examples/declarative/dynamic/images/star.png
+++ b/examples/declarative/toys/dynamicscene/images/star.png
Binary files differ
diff --git a/examples/declarative/dynamic/images/sun.png b/examples/declarative/toys/dynamicscene/images/sun.png
index 7713ca5ce7..7713ca5ce7 100644
--- a/examples/declarative/dynamic/images/sun.png
+++ b/examples/declarative/toys/dynamicscene/images/sun.png
Binary files differ
diff --git a/examples/declarative/dynamic/images/tree_s.png b/examples/declarative/toys/dynamicscene/images/tree_s.png
index 6eac35a729..6eac35a729 100644
--- a/examples/declarative/dynamic/images/tree_s.png
+++ b/examples/declarative/toys/dynamicscene/images/tree_s.png
Binary files differ
diff --git a/examples/declarative/toys/dynamicscene/qml/Button.qml b/examples/declarative/toys/dynamicscene/qml/Button.qml
new file mode 100644
index 0000000000..7e51293e92
--- /dev/null
+++ b/examples/declarative/toys/dynamicscene/qml/Button.qml
@@ -0,0 +1,80 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+import Qt 4.7
+
+Rectangle {
+ id: container
+
+ property variant text
+ signal clicked
+
+ height: text.height + 10; width: text.width + 20
+ border.width: 1
+ radius: 4
+ smooth: true
+
+ gradient: Gradient {
+ GradientStop {
+ position: 0.0
+ color: !mouseArea.pressed ? activePalette.light : activePalette.button
+ }
+ GradientStop {
+ position: 1.0
+ color: !mouseArea.pressed ? activePalette.button : activePalette.dark
+ }
+ }
+
+ SystemPalette { id: activePalette }
+
+ MouseArea {
+ id: mouseArea
+ anchors.fill: parent
+ onClicked: container.clicked()
+ }
+
+ Text {
+ id: text
+ anchors.centerIn:parent
+ font.pointSize: 10
+ text: parent.text
+ color: activePalette.buttonText
+ }
+}
diff --git a/examples/declarative/toys/dynamicscene/qml/GenericSceneItem.qml b/examples/declarative/toys/dynamicscene/qml/GenericSceneItem.qml
new file mode 100644
index 0000000000..7e090d8b3d
--- /dev/null
+++ b/examples/declarative/toys/dynamicscene/qml/GenericSceneItem.qml
@@ -0,0 +1,49 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+import Qt 4.7
+
+Image {
+ property bool created: false
+ property string image
+
+ source: image
+
+}
diff --git a/examples/declarative/toys/dynamicscene/qml/PaletteItem.qml b/examples/declarative/toys/dynamicscene/qml/PaletteItem.qml
new file mode 100644
index 0000000000..855a34b7a7
--- /dev/null
+++ b/examples/declarative/toys/dynamicscene/qml/PaletteItem.qml
@@ -0,0 +1,59 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+import Qt 4.7
+import "itemCreation.js" as Code
+
+Image {
+ id: paletteItem
+
+ property string componentFile
+ property string image
+
+ source: image
+
+ MouseArea {
+ anchors.fill: parent
+
+ onPressed: Code.startDrag(mouse);
+ onPositionChanged: Code.continueDrag(mouse);
+ onReleased: Code.endDrag(mouse);
+ }
+}
diff --git a/examples/declarative/toys/dynamicscene/qml/PerspectiveItem.qml b/examples/declarative/toys/dynamicscene/qml/PerspectiveItem.qml
new file mode 100644
index 0000000000..aa5b06d8f6
--- /dev/null
+++ b/examples/declarative/toys/dynamicscene/qml/PerspectiveItem.qml
@@ -0,0 +1,65 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+import Qt 4.7
+
+Image {
+ id: rootItem
+
+ property bool created: false
+ property string image
+
+ property double scaledBottom: y + (height + height*scale) / 2
+ property bool onLand: scaledBottom > window.height / 2
+
+ source: image
+ opacity: onLand ? 1 : 0.25
+ scale: Math.max((y + height - 250) * 0.01, 0.3)
+ smooth: true
+
+ onCreatedChanged: {
+ if (created && !onLand)
+ rootItem.destroy();
+ else
+ z = scaledBottom;
+ }
+
+ onYChanged: z = scaledBottom;
+}
diff --git a/examples/declarative/toys/dynamicscene/qml/Sun.qml b/examples/declarative/toys/dynamicscene/qml/Sun.qml
new file mode 100644
index 0000000000..4b2bcdb890
--- /dev/null
+++ b/examples/declarative/toys/dynamicscene/qml/Sun.qml
@@ -0,0 +1,78 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+import Qt 4.7
+
+Image {
+ id: sun
+
+ property bool created: false
+ property string image: "../images/sun.png"
+
+ source: image
+
+ // once item is created, start moving offscreen
+ NumberAnimation on y {
+ to: window.height / 2
+ running: created
+ onRunningChanged: {
+ if (running)
+ duration = (window.height - sun.y) * 10;
+ else
+ state = "OffScreen"
+ }
+ }
+
+ states: State {
+ name: "OffScreen"
+ StateChangeScript {
+ script: { sun.created = false; sun.destroy() }
+ }
+ }
+
+ onCreatedChanged: {
+ if (created) {
+ sun.z = 1; // above the sky but below the ground layer
+ window.activeSuns++;
+ } else {
+ window.activeSuns--;
+ }
+ }
+}
diff --git a/examples/declarative/toys/dynamicscene/qml/itemCreation.js b/examples/declarative/toys/dynamicscene/qml/itemCreation.js
new file mode 100644
index 0000000000..e74f7b0310
--- /dev/null
+++ b/examples/declarative/toys/dynamicscene/qml/itemCreation.js
@@ -0,0 +1,65 @@
+var itemComponent = null;
+var draggedItem = null;
+var startingMouse;
+var posnInWindow;
+
+function startDrag(mouse)
+{
+ posnInWindow = paletteItem.mapToItem(window, 0, 0);
+ startingMouse = { x: mouse.x, y: mouse.y }
+ loadComponent();
+}
+
+//Creation is split into two functions due to an asynchronous wait while
+//possible external files are loaded.
+
+function loadComponent() {
+ if (itemComponent != null) { // component has been previously loaded
+ createItem();
+ return;
+ }
+
+ itemComponent = Qt.createComponent(paletteItem.componentFile);
+ if (itemComponent.status == Component.Loading) //Depending on the content, it can be ready or error immediately
+ component.statusChanged.connect(createItem);
+ else
+ createItem();
+}
+
+function createItem() {
+ if (itemComponent.status == Component.Ready && draggedItem == null) {
+ draggedItem = itemComponent.createObject(window);
+ draggedItem.image = paletteItem.image;
+ draggedItem.x = posnInWindow.x;
+ draggedItem.y = posnInWindow.y;
+ draggedItem.z = 3; // make sure created item is above the ground layer
+ } else if (itemComponent.status == Component.Error) {
+ draggedItem = null;
+ console.log("error creating component");
+ console.log(itemComponent.errorString());
+ }
+}
+
+function continueDrag(mouse)
+{
+ if (draggedItem == null)
+ return;
+
+ draggedItem.x = mouse.x + posnInWindow.x - startingMouse.x;
+ draggedItem.y = mouse.y + posnInWindow.y - startingMouse.y;
+}
+
+function endDrag(mouse)
+{
+ if (draggedItem == null)
+ return;
+
+ if (draggedItem.x + draggedItem.width > toolbox.x) { //Don't drop it in the toolbox
+ draggedItem.destroy();
+ draggedItem = null;
+ } else {
+ draggedItem.created = true;
+ draggedItem = null;
+ }
+}
+
diff --git a/examples/declarative/toys/tic-tac-toe/content/Button.qml b/examples/declarative/toys/tic-tac-toe/content/Button.qml
new file mode 100644
index 0000000000..d0f387ff0e
--- /dev/null
+++ b/examples/declarative/toys/tic-tac-toe/content/Button.qml
@@ -0,0 +1,79 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+import Qt 4.7
+
+Rectangle {
+ id: container
+
+ property string text
+ property bool pressed: false
+
+ signal clicked
+
+ width: buttonLabel.width + 20; height: buttonLabel.height + 6
+ border { width: 1; color: Qt.darker(container.color) }
+ radius: 8
+ color: "lightgray"
+ smooth: true
+
+ gradient: Gradient {
+ GradientStop {
+ position: 0.0
+ color: container.pressed ? "darkgray" : "white"
+ }
+ GradientStop {
+ position: 1.0
+ color: container.color
+ }
+ }
+
+ MouseArea {
+ anchors.fill: parent
+ onClicked: container.clicked()
+ }
+
+ Text {
+ id: buttonLabel
+ anchors.centerIn: container
+ text: container.text
+ font.pixelSize: 14
+ }
+}
diff --git a/examples/declarative/toys/tic-tac-toe/content/TicTac.qml b/examples/declarative/toys/tic-tac-toe/content/TicTac.qml
new file mode 100644
index 0000000000..36c9dae00b
--- /dev/null
+++ b/examples/declarative/toys/tic-tac-toe/content/TicTac.qml
@@ -0,0 +1,60 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+import Qt 4.7
+
+Item {
+ signal clicked
+
+ states: [
+ State { name: "X"; PropertyChanges { target: image; source: "pics/x.png" } },
+ State { name: "O"; PropertyChanges { target: image; source: "pics/o.png" } }
+ ]
+
+ Image {
+ id: image
+ anchors.centerIn: parent
+ }
+
+ MouseArea {
+ anchors.fill: parent
+ onClicked: parent.clicked()
+ }
+}
diff --git a/examples/declarative/tic-tac-toe/content/pics/board.png b/examples/declarative/toys/tic-tac-toe/content/pics/board.png
index 7e5b7ba27c..7e5b7ba27c 100644
--- a/examples/declarative/tic-tac-toe/content/pics/board.png
+++ b/examples/declarative/toys/tic-tac-toe/content/pics/board.png
Binary files differ
diff --git a/examples/declarative/tic-tac-toe/content/pics/o.png b/examples/declarative/toys/tic-tac-toe/content/pics/o.png
index abc7ee020b..abc7ee020b 100644
--- a/examples/declarative/tic-tac-toe/content/pics/o.png
+++ b/examples/declarative/toys/tic-tac-toe/content/pics/o.png
Binary files differ
diff --git a/examples/declarative/tic-tac-toe/content/pics/x.png b/examples/declarative/toys/tic-tac-toe/content/pics/x.png
index ddc65c83b8..ddc65c83b8 100644
--- a/examples/declarative/tic-tac-toe/content/pics/x.png
+++ b/examples/declarative/toys/tic-tac-toe/content/pics/x.png
Binary files differ
diff --git a/examples/declarative/toys/tic-tac-toe/content/tic-tac-toe.js b/examples/declarative/toys/tic-tac-toe/content/tic-tac-toe.js
new file mode 100644
index 0000000000..5a166b750f
--- /dev/null
+++ b/examples/declarative/toys/tic-tac-toe/content/tic-tac-toe.js
@@ -0,0 +1,149 @@
+function winner(board)
+{
+ for (var i=0; i<3; ++i) {
+ if (board.children[i].state != ""
+ && board.children[i].state == board.children[i+3].state
+ && board.children[i].state == board.children[i+6].state)
+ return true
+
+ if (board.children[i*3].state != ""
+ && board.children[i*3].state == board.children[i*3+1].state
+ && board.children[i*3].state == board.children[i*3+2].state)
+ return true
+ }
+
+ if (board.children[0].state != ""
+ && board.children[0].state == board.children[4].state != ""
+ && board.children[0].state == board.children[8].state != "")
+ return true
+
+ if (board.children[2].state != ""
+ && board.children[2].state == board.children[4].state != ""
+ && board.children[2].state == board.children[6].state != "")
+ return true
+
+ return false
+}
+
+function restartGame()
+{
+ game.running = true
+
+ for (var i=0; i<9; ++i)
+ board.children[i].state = ""
+}
+
+function makeMove(pos, player)
+{
+ board.children[pos].state = player
+ if (winner(board)) {
+ gameFinished(player + " wins")
+ return true
+ } else {
+ return false
+ }
+}
+
+function canPlayAtPos(pos)
+{
+ return board.children[pos].state == ""
+}
+
+function computerTurn()
+{
+ var r = Math.random();
+ if (r < game.difficulty)
+ smartAI();
+ else
+ randomAI();
+}
+
+function smartAI()
+{
+ function boardCopy(a) {
+ var ret = new Object;
+ ret.children = new Array(9);
+ for (var i = 0; i<9; i++) {
+ ret.children[i] = new Object;
+ ret.children[i].state = a.children[i].state;
+ }
+ return ret;
+ }
+
+ for (var i=0; i<9; i++) {
+ var simpleBoard = boardCopy(board);
+ if (canPlayAtPos(i)) {
+ simpleBoard.children[i].state = "O";
+ if (winner(simpleBoard)) {
+ makeMove(i, "O")
+ return
+ }
+ }
+ }
+ for (var i=0; i<9; i++) {
+ var simpleBoard = boardCopy(board);
+ if (canPlayAtPos(i)) {
+ simpleBoard.children[i].state = "X";
+ if (winner(simpleBoard)) {
+ makeMove(i, "O")
+ return
+ }
+ }
+ }
+
+ function thwart(a,b,c) { //If they are at a, try b or c
+ if (board.children[a].state == "X") {
+ if (canPlayAtPos(b)) {
+ makeMove(b, "O")
+ return true
+ } else if (canPlayAtPos(c)) {
+ makeMove(c, "O")
+ return true
+ }
+ }
+ return false;
+ }
+
+ if (thwart(4,0,2)) return;
+ if (thwart(0,4,3)) return;
+ if (thwart(2,4,1)) return;
+ if (thwart(6,4,7)) return;
+ if (thwart(8,4,5)) return;
+ if (thwart(1,4,2)) return;
+ if (thwart(3,4,0)) return;
+ if (thwart(5,4,8)) return;
+ if (thwart(7,4,6)) return;
+
+ for (var i =0; i<9; i++) {
+ if (canPlayAtPos(i)) {
+ makeMove(i, "O")
+ return
+ }
+ }
+ restartGame();
+}
+
+function randomAI()
+{
+ var unfilledPosns = new Array();
+
+ for (var i=0; i<9; ++i) {
+ if (canPlayAtPos(i))
+ unfilledPosns.push(i);
+ }
+
+ if (unfilledPosns.length == 0) {
+ restartGame();
+ } else {
+ var choice = unfilledPosns[Math.floor(Math.random() * unfilledPosns.length)];
+ makeMove(choice, "O");
+ }
+}
+
+function gameFinished(message)
+{
+ messageDisplay.text = message
+ messageDisplay.visible = true
+ game.running = false
+}
+
diff --git a/examples/declarative/toys/tic-tac-toe/tic-tac-toe.qml b/examples/declarative/toys/tic-tac-toe/tic-tac-toe.qml
new file mode 100644
index 0000000000..34c31309b3
--- /dev/null
+++ b/examples/declarative/toys/tic-tac-toe/tic-tac-toe.qml
@@ -0,0 +1,121 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+import Qt 4.7
+import "content"
+import "content/tic-tac-toe.js" as Logic
+
+Rectangle {
+ id: game
+
+ property bool running: true
+ property real difficulty: 1.0 //chance it will actually think
+
+ width: display.width; height: display.height + 10
+
+ Image {
+ id: boardImage
+ source: "content/pics/board.png"
+ }
+
+ Text {
+ id: messageDisplay
+ anchors.centerIn: parent
+ color: "blue"
+ style: Text.Outline; styleColor: "white"
+ font.pixelSize: 50; font.bold: true
+ visible: false
+
+ Timer {
+ running: messageDisplay.visible
+ onTriggered: {
+ messageDisplay.visible = false;
+ Logic.restartGame();
+ }
+ }
+ }
+
+ Column {
+ id: display
+
+ Grid {
+ id: board
+ width: boardImage.width; height: boardImage.height
+ columns: 3
+
+ Repeater {
+ model: 9
+
+ TicTac {
+ width: board.width/3
+ height: board.height/3
+
+ onClicked: {
+ if (game.running && Logic.canPlayAtPos(index)) {
+ if (!Logic.makeMove(index, "X"))
+ Logic.computerTurn();
+ }
+ }
+ }
+ }
+ }
+
+ Row {
+ spacing: 4
+ anchors.horizontalCenter: parent.horizontalCenter
+
+ Button {
+ text: "Hard"
+ pressed: game.difficulty == 1.0
+ onClicked: { game.difficulty = 1.0 }
+ }
+ Button {
+ text: "Moderate"
+ pressed: game.difficulty == 0.8
+ onClicked: { game.difficulty = 0.8 }
+ }
+ Button {
+ text: "Easy"
+ pressed: game.difficulty == 0.2
+ onClicked: { game.difficulty = 0.2 }
+ }
+ }
+ }
+}
diff --git a/examples/declarative/toys/tic-tac-toe/tic-tac-toe.qmlproject b/examples/declarative/toys/tic-tac-toe/tic-tac-toe.qmlproject
new file mode 100644
index 0000000000..d4909f8685
--- /dev/null
+++ b/examples/declarative/toys/tic-tac-toe/tic-tac-toe.qmlproject
@@ -0,0 +1,16 @@
+import QmlProject 1.0
+
+Project {
+ /* Include .qml, .js, and image files from current directory and subdirectories */
+ QmlFiles {
+ directory: "."
+ }
+ JavaScriptFiles {
+ directory: "."
+ }
+ ImageFiles {
+ directory: "."
+ }
+ /* List of plugin directories passed to QML runtime */
+ // importPaths: [ " ../exampleplugin " ]
+}
diff --git a/examples/declarative/toys/toys.qmlproject b/examples/declarative/toys/toys.qmlproject
new file mode 100644
index 0000000000..d4909f8685
--- /dev/null
+++ b/examples/declarative/toys/toys.qmlproject
@@ -0,0 +1,16 @@
+import QmlProject 1.0
+
+Project {
+ /* Include .qml, .js, and image files from current directory and subdirectories */
+ QmlFiles {
+ directory: "."
+ }
+ JavaScriptFiles {
+ directory: "."
+ }
+ ImageFiles {
+ directory: "."
+ }
+ /* List of plugin directories passed to QML runtime */
+ // importPaths: [ " ../exampleplugin " ]
+}
diff --git a/examples/declarative/toys/tvtennis/tvtennis.qml b/examples/declarative/toys/tvtennis/tvtennis.qml
new file mode 100644
index 0000000000..726c649e4a
--- /dev/null
+++ b/examples/declarative/toys/tvtennis/tvtennis.qml
@@ -0,0 +1,111 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+import Qt 4.7
+
+Rectangle {
+ id: page
+ width: 640; height: 480
+ color: "Black"
+
+ // Make a ball to bounce
+ Rectangle {
+ id: ball
+
+ // Add a property for the target y coordinate
+ property int targetY : page.height - 10
+ property variant direction : "right"
+
+ x: 20; width: 20; height: 20; z: 1
+ color: "Lime"
+
+ // Move the ball to the right and back to the left repeatedly
+ SequentialAnimation on x {
+ loops: Animation.Infinite
+ NumberAnimation { to: page.width - 40; duration: 2000 }
+ PropertyAction { target: ball; property: "direction"; value: "left" }
+ NumberAnimation { to: 20; duration: 2000 }
+ PropertyAction { target: ball; property: "direction"; value: "right" }
+ }
+
+ // Make y follow the target y coordinate, with a velocity of 200
+ SpringFollow on y { to: ball.targetY; velocity: 200 }
+
+ // Detect the ball hitting the top or bottom of the view and bounce it
+ onYChanged: {
+ if (y <= 0) {
+ targetY = page.height - 20;
+ } else if (y >= page.height - 20) {
+ targetY = 0;
+ }
+ }
+ }
+
+ // Place bats to the left and right of the view, following the y
+ // coordinates of the ball.
+ Rectangle {
+ id: leftBat
+ color: "Lime"
+ x: 2; width: 20; height: 90
+ SpringFollow on y {
+ to: ball.y - 45; velocity: 300
+ enabled: ball.direction == 'left'
+ }
+ }
+ Rectangle {
+ id: rightBat
+ color: "Lime"
+ x: page.width - 22; width: 20; height: 90
+ SpringFollow on y {
+ to: ball.y-45; velocity: 300
+ enabled: ball.direction == 'right'
+ }
+ }
+
+ // The rest, to make it look realistic, if neither ever scores...
+ Rectangle { color: "Lime"; x: page.width/2-80; y: 0; width: 40; height: 60 }
+ Rectangle { color: "Black"; x: page.width/2-70; y: 10; width: 20; height: 40 }
+ Rectangle { color: "Lime"; x: page.width/2+40; y: 0; width: 40; height: 60 }
+ Rectangle { color: "Black"; x: page.width/2+50; y: 10; width: 20; height: 40 }
+ Repeater {
+ model: page.height / 20
+ Rectangle { color: "Lime"; x: page.width/2-5; y: index * 20; width: 10; height: 10 }
+ }
+}
diff --git a/examples/declarative/toys/tvtennis/tvtennis.qmlproject b/examples/declarative/toys/tvtennis/tvtennis.qmlproject
new file mode 100644
index 0000000000..d4909f8685
--- /dev/null
+++ b/examples/declarative/toys/tvtennis/tvtennis.qmlproject
@@ -0,0 +1,16 @@
+import QmlProject 1.0
+
+Project {
+ /* Include .qml, .js, and image files from current directory and subdirectories */
+ QmlFiles {
+ directory: "."
+ }
+ JavaScriptFiles {
+ directory: "."
+ }
+ ImageFiles {
+ directory: "."
+ }
+ /* List of plugin directories passed to QML runtime */
+ // importPaths: [ " ../exampleplugin " ]
+}
diff --git a/examples/declarative/tutorials/extending/chapter1-basics/app.qml b/examples/declarative/tutorials/extending/chapter1-basics/app.qml
index 15dcd2d366..9af155cdc1 100644
--- a/examples/declarative/tutorials/extending/chapter1-basics/app.qml
+++ b/examples/declarative/tutorials/extending/chapter1-basics/app.qml
@@ -1,3 +1,43 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+//![0]
import Music 1.0
import Qt 4.7
@@ -15,3 +55,4 @@ Rectangle {
text: aMusician.name + " plays the " + aMusician.instrument
}
}
+//![0]
diff --git a/examples/declarative/tutorials/extending/chapter1-basics/main.cpp b/examples/declarative/tutorials/extending/chapter1-basics/main.cpp
index 0e71bb0ce1..8ef6965ea8 100644
--- a/examples/declarative/tutorials/extending/chapter1-basics/main.cpp
+++ b/examples/declarative/tutorials/extending/chapter1-basics/main.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the documentation of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/declarative/tutorials/extending/chapter1-basics/musician.cpp b/examples/declarative/tutorials/extending/chapter1-basics/musician.cpp
index b545f84b14..6c42f310b9 100644
--- a/examples/declarative/tutorials/extending/chapter1-basics/musician.cpp
+++ b/examples/declarative/tutorials/extending/chapter1-basics/musician.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the documentation of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/declarative/tutorials/extending/chapter1-basics/musician.h b/examples/declarative/tutorials/extending/chapter1-basics/musician.h
index 70ade82c4b..f9a0537502 100644
--- a/examples/declarative/tutorials/extending/chapter1-basics/musician.h
+++ b/examples/declarative/tutorials/extending/chapter1-basics/musician.h
@@ -6,35 +6,34 @@
**
** This file is part of the documentation of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/declarative/tutorials/extending/chapter2-methods/app.qml b/examples/declarative/tutorials/extending/chapter2-methods/app.qml
index 35e083efc3..02d33c2f1b 100644
--- a/examples/declarative/tutorials/extending/chapter2-methods/app.qml
+++ b/examples/declarative/tutorials/extending/chapter2-methods/app.qml
@@ -1,3 +1,43 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+//![0]
import Music 1.0
import Qt 4.7
@@ -17,3 +57,4 @@ Rectangle {
onClicked: aMusician.perform()
}
}
+//![0]
diff --git a/examples/declarative/tutorials/extending/chapter2-methods/main.cpp b/examples/declarative/tutorials/extending/chapter2-methods/main.cpp
index 0e71bb0ce1..8ef6965ea8 100644
--- a/examples/declarative/tutorials/extending/chapter2-methods/main.cpp
+++ b/examples/declarative/tutorials/extending/chapter2-methods/main.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the documentation of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/declarative/tutorials/extending/chapter2-methods/musician.cpp b/examples/declarative/tutorials/extending/chapter2-methods/musician.cpp
index 3df19e3d55..0ce0022251 100644
--- a/examples/declarative/tutorials/extending/chapter2-methods/musician.cpp
+++ b/examples/declarative/tutorials/extending/chapter2-methods/musician.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the documentation of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/declarative/tutorials/extending/chapter2-methods/musician.h b/examples/declarative/tutorials/extending/chapter2-methods/musician.h
index dc48759ecd..86849ba237 100644
--- a/examples/declarative/tutorials/extending/chapter2-methods/musician.h
+++ b/examples/declarative/tutorials/extending/chapter2-methods/musician.h
@@ -6,35 +6,34 @@
**
** This file is part of the documentation of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/declarative/tutorials/extending/chapter3-bindings/app.qml b/examples/declarative/tutorials/extending/chapter3-bindings/app.qml
index 0460b0b318..8bf6ecfaf6 100644
--- a/examples/declarative/tutorials/extending/chapter3-bindings/app.qml
+++ b/examples/declarative/tutorials/extending/chapter3-bindings/app.qml
@@ -1,3 +1,43 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+//![0]
import Music 1.0
import Qt 4.7
@@ -29,3 +69,4 @@ Rectangle {
}
}
}
+//![0]
diff --git a/examples/declarative/tutorials/extending/chapter3-bindings/main.cpp b/examples/declarative/tutorials/extending/chapter3-bindings/main.cpp
index 0e71bb0ce1..8ef6965ea8 100644
--- a/examples/declarative/tutorials/extending/chapter3-bindings/main.cpp
+++ b/examples/declarative/tutorials/extending/chapter3-bindings/main.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the documentation of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/declarative/tutorials/extending/chapter3-bindings/musician.cpp b/examples/declarative/tutorials/extending/chapter3-bindings/musician.cpp
index eb615f6a3c..5f9ead4bfe 100644
--- a/examples/declarative/tutorials/extending/chapter3-bindings/musician.cpp
+++ b/examples/declarative/tutorials/extending/chapter3-bindings/musician.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the documentation of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/declarative/tutorials/extending/chapter3-bindings/musician.h b/examples/declarative/tutorials/extending/chapter3-bindings/musician.h
index 39887be42c..0b0addb997 100644
--- a/examples/declarative/tutorials/extending/chapter3-bindings/musician.h
+++ b/examples/declarative/tutorials/extending/chapter3-bindings/musician.h
@@ -6,35 +6,34 @@
**
** This file is part of the documentation of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/declarative/tutorials/extending/chapter4-customPropertyTypes/app.qml b/examples/declarative/tutorials/extending/chapter4-customPropertyTypes/app.qml
index ae9272e744..d76f80120f 100644
--- a/examples/declarative/tutorials/extending/chapter4-customPropertyTypes/app.qml
+++ b/examples/declarative/tutorials/extending/chapter4-customPropertyTypes/app.qml
@@ -1,3 +1,43 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+//![0]
import Music 1.0
import Qt 4.7
@@ -11,3 +51,4 @@ Item {
Component.onCompleted: console.log("Reddy plays the " + reddy.instrument.type)
}
+//![0]
diff --git a/examples/declarative/tutorials/extending/chapter4-customPropertyTypes/instrument.cpp b/examples/declarative/tutorials/extending/chapter4-customPropertyTypes/instrument.cpp
index 13cd2fe8a8..9ca96f6386 100644
--- a/examples/declarative/tutorials/extending/chapter4-customPropertyTypes/instrument.cpp
+++ b/examples/declarative/tutorials/extending/chapter4-customPropertyTypes/instrument.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the documentation of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/declarative/tutorials/extending/chapter4-customPropertyTypes/instrument.h b/examples/declarative/tutorials/extending/chapter4-customPropertyTypes/instrument.h
index e2f09be883..9971207f0f 100644
--- a/examples/declarative/tutorials/extending/chapter4-customPropertyTypes/instrument.h
+++ b/examples/declarative/tutorials/extending/chapter4-customPropertyTypes/instrument.h
@@ -6,35 +6,34 @@
**
** This file is part of the documentation of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/declarative/tutorials/extending/chapter4-customPropertyTypes/main.cpp b/examples/declarative/tutorials/extending/chapter4-customPropertyTypes/main.cpp
index cbbbc0fd7f..d94cb036cb 100644
--- a/examples/declarative/tutorials/extending/chapter4-customPropertyTypes/main.cpp
+++ b/examples/declarative/tutorials/extending/chapter4-customPropertyTypes/main.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the documentation of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/declarative/tutorials/extending/chapter4-customPropertyTypes/musician.cpp b/examples/declarative/tutorials/extending/chapter4-customPropertyTypes/musician.cpp
index 6b66d5d841..e62efb197d 100644
--- a/examples/declarative/tutorials/extending/chapter4-customPropertyTypes/musician.cpp
+++ b/examples/declarative/tutorials/extending/chapter4-customPropertyTypes/musician.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the documentation of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/declarative/tutorials/extending/chapter4-customPropertyTypes/musician.h b/examples/declarative/tutorials/extending/chapter4-customPropertyTypes/musician.h
index d0aa1185fc..8f67f61cc0 100644
--- a/examples/declarative/tutorials/extending/chapter4-customPropertyTypes/musician.h
+++ b/examples/declarative/tutorials/extending/chapter4-customPropertyTypes/musician.h
@@ -6,35 +6,34 @@
**
** This file is part of the documentation of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/declarative/tutorials/extending/chapter5-plugins/app.qml b/examples/declarative/tutorials/extending/chapter5-plugins/app.qml
index 51c1232e62..9c050b873c 100644
--- a/examples/declarative/tutorials/extending/chapter5-plugins/app.qml
+++ b/examples/declarative/tutorials/extending/chapter5-plugins/app.qml
@@ -1,3 +1,43 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
import Qt 4.7
Item {
diff --git a/examples/declarative/tutorials/extending/chapter5-plugins/chapter5-plugins.pro b/examples/declarative/tutorials/extending/chapter5-plugins/chapter5-plugins.pro
index 7ec68e9a49..483da8fc9a 100644
--- a/examples/declarative/tutorials/extending/chapter5-plugins/chapter5-plugins.pro
+++ b/examples/declarative/tutorials/extending/chapter5-plugins/chapter5-plugins.pro
@@ -2,6 +2,10 @@ TEMPLATE = lib
CONFIG += qt plugin
QT += declarative
+DESTDIR = lib
+OBJECTS_DIR = tmp
+MOC_DIR = tmp
+
HEADERS += musician.h \
instrument.h \
musicplugin.h
@@ -10,6 +14,7 @@ SOURCES += musician.cpp \
instrument.cpp \
musicplugin.cpp
-DESTDIR = lib
-OBJECTS_DIR = tmp
-MOC_DIR = tmp
+symbian {
+ include($$QT_SOURCE_TREE/examples/symbianpkgrules.pri)
+ TARGET.EPOCALLOWDLLDATA = 1
+}
diff --git a/examples/declarative/tutorials/extending/chapter5-plugins/instrument.cpp b/examples/declarative/tutorials/extending/chapter5-plugins/instrument.cpp
index 13cd2fe8a8..9ca96f6386 100644
--- a/examples/declarative/tutorials/extending/chapter5-plugins/instrument.cpp
+++ b/examples/declarative/tutorials/extending/chapter5-plugins/instrument.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the documentation of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/declarative/tutorials/extending/chapter5-plugins/instrument.h b/examples/declarative/tutorials/extending/chapter5-plugins/instrument.h
index 15f9fae9bd..ce1e7ce808 100644
--- a/examples/declarative/tutorials/extending/chapter5-plugins/instrument.h
+++ b/examples/declarative/tutorials/extending/chapter5-plugins/instrument.h
@@ -6,35 +6,34 @@
**
** This file is part of the documentation of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/declarative/tutorials/extending/chapter5-plugins/musician.cpp b/examples/declarative/tutorials/extending/chapter5-plugins/musician.cpp
index 6b66d5d841..e62efb197d 100644
--- a/examples/declarative/tutorials/extending/chapter5-plugins/musician.cpp
+++ b/examples/declarative/tutorials/extending/chapter5-plugins/musician.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the documentation of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/declarative/tutorials/extending/chapter5-plugins/musician.h b/examples/declarative/tutorials/extending/chapter5-plugins/musician.h
index 3c3eb2eba9..b92063131c 100644
--- a/examples/declarative/tutorials/extending/chapter5-plugins/musician.h
+++ b/examples/declarative/tutorials/extending/chapter5-plugins/musician.h
@@ -6,35 +6,34 @@
**
** This file is part of the documentation of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/declarative/tutorials/extending/chapter5-plugins/musicplugin.cpp b/examples/declarative/tutorials/extending/chapter5-plugins/musicplugin.cpp
index e2f62446ef..76acf0144d 100644
--- a/examples/declarative/tutorials/extending/chapter5-plugins/musicplugin.cpp
+++ b/examples/declarative/tutorials/extending/chapter5-plugins/musicplugin.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the documentation of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/declarative/tutorials/extending/chapter5-plugins/musicplugin.h b/examples/declarative/tutorials/extending/chapter5-plugins/musicplugin.h
index df8c9abba6..d6a5392431 100644
--- a/examples/declarative/tutorials/extending/chapter5-plugins/musicplugin.h
+++ b/examples/declarative/tutorials/extending/chapter5-plugins/musicplugin.h
@@ -6,35 +6,34 @@
**
** This file is part of the documentation of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/declarative/tutorials/extending/extending.pro b/examples/declarative/tutorials/extending/extending.pro
new file mode 100644
index 0000000000..0c86fed2d1
--- /dev/null
+++ b/examples/declarative/tutorials/extending/extending.pro
@@ -0,0 +1,9 @@
+TEMPLATE = subdirs
+
+SUBDIRS += \
+ chapter1-basics \
+ chapter2-methods \
+ chapter3-bindings \
+ chapter4-customPropertyTypes \
+ chapter5-plugins
+
diff --git a/examples/declarative/tutorials/helloworld/Cell.qml b/examples/declarative/tutorials/helloworld/Cell.qml
index 1e52a673e8..e070df0771 100644
--- a/examples/declarative/tutorials/helloworld/Cell.qml
+++ b/examples/declarative/tutorials/helloworld/Cell.qml
@@ -1,3 +1,43 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
//![0]
import Qt 4.7
diff --git a/examples/declarative/tutorials/helloworld/tutorial1.qml b/examples/declarative/tutorials/helloworld/tutorial1.qml
index 5e27b45ebc..21f340adcf 100644
--- a/examples/declarative/tutorials/helloworld/tutorial1.qml
+++ b/examples/declarative/tutorials/helloworld/tutorial1.qml
@@ -1,3 +1,43 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
//![0]
//![3]
import Qt 4.7
@@ -14,8 +54,9 @@ Rectangle {
Text {
id: helloText
text: "Hello world!"
+ y: 30
+ anchors.horizontalCenter: page.horizontalCenter
font.pointSize: 24; font.bold: true
- y: 30; anchors.horizontalCenter: page.horizontalCenter
}
//![2]
}
diff --git a/examples/declarative/tutorials/helloworld/tutorial2.qml b/examples/declarative/tutorials/helloworld/tutorial2.qml
index 085efa483d..3296f3c42b 100644
--- a/examples/declarative/tutorials/helloworld/tutorial2.qml
+++ b/examples/declarative/tutorials/helloworld/tutorial2.qml
@@ -1,3 +1,43 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
//![0]
import Qt 4.7
@@ -9,8 +49,9 @@ Rectangle {
Text {
id: helloText
text: "Hello world!"
+ y: 30
+ anchors.horizontalCenter: page.horizontalCenter
font.pointSize: 24; font.bold: true
- y: 30; anchors.horizontalCenter: page.horizontalCenter
}
Grid {
diff --git a/examples/declarative/tutorials/helloworld/tutorial3.qml b/examples/declarative/tutorials/helloworld/tutorial3.qml
index 4bf4970512..d68097530f 100644
--- a/examples/declarative/tutorials/helloworld/tutorial3.qml
+++ b/examples/declarative/tutorials/helloworld/tutorial3.qml
@@ -1,3 +1,43 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
//![0]
import Qt 4.7
@@ -9,8 +49,9 @@ Rectangle {
Text {
id: helloText
text: "Hello world!"
+ y: 30
+ anchors.horizontalCenter: page.horizontalCenter
font.pointSize: 24; font.bold: true
- y: 30; anchors.horizontalCenter: page.horizontalCenter
//![1]
MouseArea { id: mouseArea; anchors.fill: parent }
@@ -27,7 +68,7 @@ Rectangle {
transitions: Transition {
from: ""; to: "down"; reversible: true
ParallelAnimation {
- NumberAnimation { properties: "y,rotation"; duration: 500; easing.type: "InOutQuad" }
+ NumberAnimation { properties: "y,rotation"; duration: 500; easing.type: Easing.InOutQuad }
ColorAnimation { duration: 500 }
}
}
diff --git a/examples/declarative/tutorials/samegame/samegame1/Block.qml b/examples/declarative/tutorials/samegame/samegame1/Block.qml
index a23654b2a4..56d8ecf65b 100644
--- a/examples/declarative/tutorials/samegame/samegame1/Block.qml
+++ b/examples/declarative/tutorials/samegame/samegame1/Block.qml
@@ -1,3 +1,43 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
//![0]
import Qt 4.7
@@ -7,7 +47,7 @@ Item {
Image {
id: img
anchors.fill: parent
- source: "../shared/pics/redStone.png";
+ source: "../shared/pics/redStone.png"
}
}
//![0]
diff --git a/examples/declarative/tutorials/samegame/samegame1/Button.qml b/examples/declarative/tutorials/samegame/samegame1/Button.qml
index e84b1ceb6a..8f9b5bb4bf 100644
--- a/examples/declarative/tutorials/samegame/samegame1/Button.qml
+++ b/examples/declarative/tutorials/samegame/samegame1/Button.qml
@@ -1,3 +1,43 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
//![0]
import Qt 4.7
@@ -8,9 +48,9 @@ Rectangle {
signal clicked
- width: buttonLabel.width + 20; height: buttonLabel.height + 6
- smooth: true
+ width: buttonLabel.width + 20; height: buttonLabel.height + 5
border { width: 1; color: Qt.darker(activePalette.button) }
+ smooth: true
radius: 8
// color the button with a gradient
@@ -27,8 +67,17 @@ Rectangle {
GradientStop { position: 1.0; color: activePalette.button }
}
- MouseArea { id: mouseArea; anchors.fill: parent; onClicked: container.clicked() }
+ MouseArea {
+ id: mouseArea
+ anchors.fill: parent
+ onClicked: container.clicked();
+ }
- Text { id: buttonLabel; text: container.text; anchors.centerIn: container; color: activePalette.buttonText }
+ Text {
+ id: buttonLabel
+ anchors.centerIn: container
+ color: activePalette.buttonText
+ text: container.text
+ }
}
//![0]
diff --git a/examples/declarative/tutorials/samegame/samegame1/samegame.qml b/examples/declarative/tutorials/samegame/samegame1/samegame.qml
index b6e01fda18..68f87122c1 100644
--- a/examples/declarative/tutorials/samegame/samegame1/samegame.qml
+++ b/examples/declarative/tutorials/samegame/samegame1/samegame.qml
@@ -1,3 +1,43 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
//![0]
import Qt 4.7
@@ -22,21 +62,20 @@ Rectangle {
Rectangle {
id: toolBar
- width: parent.width; height: 32
+ width: parent.width; height: 30
color: activePalette.window
anchors.bottom: screen.bottom
Button {
- anchors { left: parent.left; leftMargin: 3; verticalCenter: parent.verticalCenter }
+ anchors { left: parent.left; verticalCenter: parent.verticalCenter }
text: "New Game"
onClicked: console.log("This doesn't do anything yet...")
}
Text {
id: score
- anchors { right: parent.right; rightMargin: 3; verticalCenter: parent.verticalCenter }
+ anchors { right: parent.right; verticalCenter: parent.verticalCenter }
text: "Score: Who knows?"
- font.bold: true
}
}
}
diff --git a/examples/declarative/tutorials/samegame/samegame2/Block.qml b/examples/declarative/tutorials/samegame/samegame2/Block.qml
index 4e71e60ffd..a7a6eec832 100644
--- a/examples/declarative/tutorials/samegame/samegame2/Block.qml
+++ b/examples/declarative/tutorials/samegame/samegame2/Block.qml
@@ -1,3 +1,43 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
import Qt 4.7
Item {
@@ -6,6 +46,6 @@ Item {
Image {
id: img
anchors.fill: parent
- source: "../shared/pics/redStone.png";
+ source: "../shared/pics/redStone.png"
}
}
diff --git a/examples/declarative/tutorials/samegame/samegame2/Button.qml b/examples/declarative/tutorials/samegame/samegame2/Button.qml
index 737d886bd0..f8883c024a 100644
--- a/examples/declarative/tutorials/samegame/samegame2/Button.qml
+++ b/examples/declarative/tutorials/samegame/samegame2/Button.qml
@@ -1,3 +1,43 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
import Qt 4.7
Rectangle {
@@ -7,9 +47,9 @@ Rectangle {
signal clicked
- width: buttonLabel.width + 20; height: buttonLabel.height + 6
- smooth: true
+ width: buttonLabel.width + 20; height: buttonLabel.height + 5
border { width: 1; color: Qt.darker(activePalette.button) }
+ smooth: true
radius: 8
// color the button with a gradient
@@ -26,7 +66,16 @@ Rectangle {
GradientStop { position: 1.0; color: activePalette.button }
}
- MouseArea { id: mouseArea; anchors.fill: parent; onClicked: container.clicked() }
+ MouseArea {
+ id: mouseArea
+ anchors.fill: parent
+ onClicked: container.clicked();
+ }
- Text { id: buttonLabel; text: container.text; anchors.centerIn: container; color: activePalette.buttonText }
+ Text {
+ id: buttonLabel
+ anchors.centerIn: container
+ color: activePalette.buttonText
+ text: container.text
+ }
}
diff --git a/examples/declarative/tutorials/samegame/samegame2/samegame.js b/examples/declarative/tutorials/samegame/samegame2/samegame.js
index e5c790d45a..c749dc17b1 100644
--- a/examples/declarative/tutorials/samegame/samegame2/samegame.js
+++ b/examples/declarative/tutorials/samegame/samegame2/samegame.js
@@ -37,17 +37,16 @@ function createBlock(column, row) {
if (component == null)
component = Qt.createComponent("Block.qml");
- // Note that if Block.qml was not a local file, component.isReady would be
- // false and we should wait for the component's statusChanged() signal to
- // know when the file is downloaded and fully loaded before calling createObject().
- if (component.isReady) {
- var dynamicObject = component.createObject();
+ // Note that if Block.qml was not a local file, component.status would be
+ // Loading and we should wait for the component's statusChanged() signal to
+ // know when the file is downloaded and ready before calling createObject().
+ if (component.status == Component.Ready) {
+ var dynamicObject = component.createObject(background);
if (dynamicObject == null) {
console.log("error creating block");
- console.log(component.errorsString());
+ console.log(component.errorString());
return false;
}
- dynamicObject.parent = background;
dynamicObject.x = column * blockSize;
dynamicObject.y = row * blockSize;
dynamicObject.width = blockSize;
@@ -55,7 +54,7 @@ function createBlock(column, row) {
board[index(column, row)] = dynamicObject;
} else {
console.log("error loading block component");
- console.log(component.errorsString());
+ console.log(component.errorString());
return false;
}
return true;
diff --git a/examples/declarative/tutorials/samegame/samegame2/samegame.qml b/examples/declarative/tutorials/samegame/samegame2/samegame.qml
index a7d1fbacca..492c9143d6 100644
--- a/examples/declarative/tutorials/samegame/samegame2/samegame.qml
+++ b/examples/declarative/tutorials/samegame/samegame2/samegame.qml
@@ -1,3 +1,43 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
import Qt 4.7
//![2]
import "samegame.js" as SameGame
@@ -30,7 +70,7 @@ Rectangle {
//![1]
Button {
- anchors { left: parent.left; leftMargin: 3; verticalCenter: parent.verticalCenter }
+ anchors { left: parent.left; verticalCenter: parent.verticalCenter }
text: "New Game"
onClicked: SameGame.startNewGame()
}
@@ -38,9 +78,8 @@ Rectangle {
Text {
id: score
- anchors { right: parent.right; rightMargin: 3; verticalCenter: parent.verticalCenter }
+ anchors { right: parent.right; verticalCenter: parent.verticalCenter }
text: "Score: Who knows?"
- font.bold: true
}
}
}
diff --git a/examples/declarative/tutorials/samegame/samegame3/Block.qml b/examples/declarative/tutorials/samegame/samegame3/Block.qml
index 7411259336..ec41c6461d 100644
--- a/examples/declarative/tutorials/samegame/samegame3/Block.qml
+++ b/examples/declarative/tutorials/samegame/samegame3/Block.qml
@@ -1,3 +1,43 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
//![0]
import Qt 4.7
diff --git a/examples/declarative/tutorials/samegame/samegame3/Button.qml b/examples/declarative/tutorials/samegame/samegame3/Button.qml
index 737d886bd0..f8883c024a 100644
--- a/examples/declarative/tutorials/samegame/samegame3/Button.qml
+++ b/examples/declarative/tutorials/samegame/samegame3/Button.qml
@@ -1,3 +1,43 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
import Qt 4.7
Rectangle {
@@ -7,9 +47,9 @@ Rectangle {
signal clicked
- width: buttonLabel.width + 20; height: buttonLabel.height + 6
- smooth: true
+ width: buttonLabel.width + 20; height: buttonLabel.height + 5
border { width: 1; color: Qt.darker(activePalette.button) }
+ smooth: true
radius: 8
// color the button with a gradient
@@ -26,7 +66,16 @@ Rectangle {
GradientStop { position: 1.0; color: activePalette.button }
}
- MouseArea { id: mouseArea; anchors.fill: parent; onClicked: container.clicked() }
+ MouseArea {
+ id: mouseArea
+ anchors.fill: parent
+ onClicked: container.clicked();
+ }
- Text { id: buttonLabel; text: container.text; anchors.centerIn: container; color: activePalette.buttonText }
+ Text {
+ id: buttonLabel
+ anchors.centerIn: container
+ color: activePalette.buttonText
+ text: container.text
+ }
}
diff --git a/examples/declarative/tutorials/samegame/samegame3/Dialog.qml b/examples/declarative/tutorials/samegame/samegame3/Dialog.qml
index 15b3b2f0dd..d838205fd6 100644
--- a/examples/declarative/tutorials/samegame/samegame3/Dialog.qml
+++ b/examples/declarative/tutorials/samegame/samegame3/Dialog.qml
@@ -1,32 +1,71 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
//![0]
import Qt 4.7
Rectangle {
- id: page
-
- signal closed
+ id: container
- function forceClose() {
- page.closed();
- page.opacity = 0;
+ function show(text) {
+ dialogText.text = text;
+ container.opacity = 1;
}
- function show(txt) {
- dialogText.text = txt;
- page.opacity = 1;
+ function hide() {
+ container.opacity = 0;
}
- width: dialogText.width + 20; height: dialogText.height + 20
- color: "white"
- border.width: 1
+ width: dialogText.width + 20
+ height: dialogText.height + 20
opacity: 0
- Behavior on opacity {
- NumberAnimation { duration: 1000 }
+ Text {
+ id: dialogText
+ anchors.centerIn: parent
+ text: ""
}
- Text { id: dialogText; anchors.centerIn: parent; text: "Hello World!" }
-
- MouseArea { anchors.fill: parent; onClicked: forceClose(); }
+ MouseArea {
+ anchors.fill: parent
+ onClicked: hide();
+ }
}
//![0]
diff --git a/examples/declarative/tutorials/samegame/samegame3/samegame.js b/examples/declarative/tutorials/samegame/samegame3/samegame.js
index da0f76e573..df5bdfb049 100644
--- a/examples/declarative/tutorials/samegame/samegame3/samegame.js
+++ b/examples/declarative/tutorials/samegame/samegame3/samegame.js
@@ -17,7 +17,7 @@ function startNewGame() {
maxIndex = maxRow * maxColumn;
//Close dialogs
- dialog.forceClose();
+ dialog.hide();
//Initialize Board
board = new Array(maxIndex);
@@ -34,18 +34,17 @@ function createBlock(column, row) {
if (component == null)
component = Qt.createComponent("Block.qml");
- // Note that if Block.qml was not a local file, component.isReady would be
- // false and we should wait for the component's statusChanged() signal to
- // know when the file is downloaded and fully loaded before calling createObject().
- if (component.isReady) {
- var dynamicObject = component.createObject();
+ // Note that if Block.qml was not a local file, component.status would be
+ // Loading and we should wait for the component's statusChanged() signal to
+ // know when the file is downloaded and ready before calling createObject().
+ if (component.status == Component.Ready) {
+ var dynamicObject = component.createObject(gameCanvas);
if (dynamicObject == null) {
console.log("error creating block");
- console.log(component.errorsString());
+ console.log(component.errorString());
return false;
}
dynamicObject.type = Math.floor(Math.random() * 3);
- dynamicObject.parent = gameCanvas;
dynamicObject.x = column * gameCanvas.blockSize;
dynamicObject.y = row * gameCanvas.blockSize;
dynamicObject.width = gameCanvas.blockSize;
@@ -53,16 +52,15 @@ function createBlock(column, row) {
board[index(column, row)] = dynamicObject;
} else {
console.log("error loading block component");
- console.log(component.errorsString());
+ console.log(component.errorString());
return false;
}
return true;
}
-var fillFound;
-//Set after a floodFill call to the number of blocks found
-var floodBoard;
-//Set to 1 if the floodFill reaches off that node
+var fillFound; //Set after a floodFill call to the number of blocks found
+var floodBoard; //Set to 1 if the floodFill reaches off that node
+
//![1]
function handleClick(xPos, yPos) {
var column = Math.floor(xPos / gameCanvas.blockSize);
diff --git a/examples/declarative/tutorials/samegame/samegame3/samegame.qml b/examples/declarative/tutorials/samegame/samegame3/samegame.qml
index 50f9d5db84..21d4291d8e 100644
--- a/examples/declarative/tutorials/samegame/samegame3/samegame.qml
+++ b/examples/declarative/tutorials/samegame/samegame3/samegame.qml
@@ -1,3 +1,43 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
//![0]
import Qt 4.7
import "samegame.js" as SameGame
@@ -30,7 +70,6 @@ Rectangle {
width: parent.width - (parent.width % blockSize)
height: parent.height - (parent.height % blockSize)
anchors.centerIn: parent
- z: 20
MouseArea {
anchors.fill: parent
@@ -41,26 +80,29 @@ Rectangle {
}
//![2]
- Dialog { id: dialog; anchors.centerIn: parent; z: 21 }
+ Dialog {
+ id: dialog
+ anchors.centerIn: parent
+ z: 100
+ }
//![2]
Rectangle {
id: toolBar
- width: parent.width; height: 32
+ width: parent.width; height: 30
color: activePalette.window
anchors.bottom: screen.bottom
Button {
- anchors { left: parent.left; leftMargin: 3; verticalCenter: parent.verticalCenter }
+ anchors { left: parent.left; verticalCenter: parent.verticalCenter }
text: "New Game"
onClicked: SameGame.startNewGame()
}
Text {
id: score
- anchors { right: parent.right; rightMargin: 3; verticalCenter: parent.verticalCenter }
+ anchors { right: parent.right; verticalCenter: parent.verticalCenter }
text: "Score: Who knows?"
- font.bold: true
}
}
}
diff --git a/examples/declarative/tutorials/samegame/samegame4/content/BoomBlock.qml b/examples/declarative/tutorials/samegame/samegame4/content/BoomBlock.qml
index d6ef2e5fb2..1f51e13dd9 100644
--- a/examples/declarative/tutorials/samegame/samegame4/content/BoomBlock.qml
+++ b/examples/declarative/tutorials/samegame/samegame4/content/BoomBlock.qml
@@ -1,3 +1,43 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
import Qt 4.7
import Qt.labs.particles 1.0
diff --git a/examples/declarative/tutorials/samegame/samegame4/content/Button.qml b/examples/declarative/tutorials/samegame/samegame4/content/Button.qml
index 737d886bd0..f8883c024a 100644
--- a/examples/declarative/tutorials/samegame/samegame4/content/Button.qml
+++ b/examples/declarative/tutorials/samegame/samegame4/content/Button.qml
@@ -1,3 +1,43 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
import Qt 4.7
Rectangle {
@@ -7,9 +47,9 @@ Rectangle {
signal clicked
- width: buttonLabel.width + 20; height: buttonLabel.height + 6
- smooth: true
+ width: buttonLabel.width + 20; height: buttonLabel.height + 5
border { width: 1; color: Qt.darker(activePalette.button) }
+ smooth: true
radius: 8
// color the button with a gradient
@@ -26,7 +66,16 @@ Rectangle {
GradientStop { position: 1.0; color: activePalette.button }
}
- MouseArea { id: mouseArea; anchors.fill: parent; onClicked: container.clicked() }
+ MouseArea {
+ id: mouseArea
+ anchors.fill: parent
+ onClicked: container.clicked();
+ }
- Text { id: buttonLabel; text: container.text; anchors.centerIn: container; color: activePalette.buttonText }
+ Text {
+ id: buttonLabel
+ anchors.centerIn: container
+ color: activePalette.buttonText
+ text: container.text
+ }
}
diff --git a/examples/declarative/tutorials/samegame/samegame4/content/Dialog.qml b/examples/declarative/tutorials/samegame/samegame4/content/Dialog.qml
index 6848534ade..c216c088e6 100644
--- a/examples/declarative/tutorials/samegame/samegame4/content/Dialog.qml
+++ b/examples/declarative/tutorials/samegame/samegame4/content/Dialog.qml
@@ -1,30 +1,107 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
import Qt 4.7
+//![0]
Rectangle {
- id: page
+ id: container
+//![0]
+//![1]
+ property string inputText: textInput.text
signal closed
- function forceClose() {
- page.closed();
- page.opacity = 0;
+ function show(text) {
+ dialogText.text = text;
+ container.opacity = 1;
+ textInput.opacity = 0;
+ }
+
+ function showWithInput(text) {
+ show(text);
+ textInput.opacity = 1;
+ textInput.focus = true;
+ textInput.text = ""
}
- function show(txt) {
- dialogText.text = txt;
- page.opacity = 1;
+ function hide() {
+ textInput.focus = false;
+ container.opacity = 0;
+ container.closed();
}
+//![1]
- width: dialogText.width + 20; height: dialogText.height + 20
- color: "white"
- border.width: 1
+ width: dialogText.width + textInput.width + 20
+ height: dialogText.height + 20
opacity: 0
+ visible: opacity > 0
+
+ Text {
+ id: dialogText
+ anchors { verticalCenter: parent.verticalCenter; left: parent.left; leftMargin: 10 }
+ text: ""
+ }
+
+//![2]
+ TextInput {
+ id: textInput
+ anchors { verticalCenter: parent.verticalCenter; left: dialogText.right }
+ width: 80
+ text: ""
- Behavior on opacity {
- NumberAnimation { duration: 1000 }
+ onAccepted: container.hide() // close dialog when Enter is pressed
}
+//![2]
- Text { id: dialogText; anchors.centerIn: parent; text: "Hello World!" }
+ MouseArea {
+ anchors.fill: parent
+
+ onClicked: {
+ if (textInput.text == "" && textInput.opacity > 0)
+ textInput.openSoftwareInputPanel();
+ else
+ hide();
+ }
+ }
- MouseArea { anchors.fill: parent; onClicked: forceClose(); }
+//![3]
}
+//![3]
diff --git a/examples/declarative/tutorials/samegame/samegame4/content/samegame.js b/examples/declarative/tutorials/samegame/samegame4/content/samegame.js
index 1454f0b6a9..930a3d8734 100755
--- a/examples/declarative/tutorials/samegame/samegame4/content/samegame.js
+++ b/examples/declarative/tutorials/samegame/samegame4/content/samegame.js
@@ -25,8 +25,8 @@ function startNewGame() {
maxIndex = maxRow * maxColumn;
//Close dialogs
- nameInputDialog.forceClose();
- dialog.forceClose();
+ nameInputDialog.hide();
+ dialog.hide();
//Initialize Board
board = new Array(maxIndex);
@@ -45,18 +45,17 @@ function createBlock(column, row) {
if (component == null)
component = Qt.createComponent("content/BoomBlock.qml");
- // Note that if Block.qml was not a local file, component.isReady would be
- // false and we should wait for the component's statusChanged() signal to
- // know when the file is downloaded and fully loaded before calling createObject().
- if (component.isReady) {
- var dynamicObject = component.createObject();
+ // Note that if Block.qml was not a local file, component.status would be
+ // Loading and we should wait for the component's statusChanged() signal to
+ // know when the file is downloaded and ready before calling createObject().
+ if (component.status == Component.Ready) {
+ var dynamicObject = component.createObject(gameCanvas);
if (dynamicObject == null) {
console.log("error creating block");
- console.log(component.errorsString());
+ console.log(component.errorString());
return false;
}
dynamicObject.type = Math.floor(Math.random() * 3);
- dynamicObject.parent = gameCanvas;
dynamicObject.x = column * gameCanvas.blockSize;
dynamicObject.targetX = column * gameCanvas.blockSize;
dynamicObject.targetY = row * gameCanvas.blockSize;
@@ -66,16 +65,15 @@ function createBlock(column, row) {
board[index(column, row)] = dynamicObject;
} else {
console.log("error loading block component");
- console.log(component.errorsString());
+ console.log(component.errorString());
return false;
}
return true;
}
-var fillFound;
-//Set after a floodFill call to the number of blocks found
-var floodBoard;
-//Set to 1 if the floodFill reaches off that node
+var fillFound; //Set after a floodFill call to the number of blocks found
+var floodBoard; //Set to 1 if the floodFill reaches off that node
+
function handleClick(xPos, yPos) {
var column = Math.floor(xPos / gameCanvas.blockSize);
var row = Math.floor(yPos / gameCanvas.blockSize);
@@ -157,7 +155,9 @@ function shuffleDown() {
}
}
+//![3]
function victoryCheck() {
+//![3]
//Award bonus points if no blocks left
var deservesBonus = true;
for (var column = maxColumn - 1; column >= 0; column--)
@@ -166,12 +166,14 @@ function victoryCheck() {
if (deservesBonus)
gameCanvas.score += 500;
+//![4]
//Check whether game has finished
if (deservesBonus || !(floodMoveCheck(0, maxRow - 1, -1))) {
gameDuration = new Date() - gameDuration;
- nameInputDialog.show("You won! Please enter your name: ");
+ nameInputDialog.showWithInput("You won! Please enter your name: ");
}
}
+//![4]
//only floods up and right, to see if it can find adjacent same-typed blocks
function floodMoveCheck(column, row, type) {
diff --git a/examples/declarative/tutorials/samegame/samegame4/samegame.qml b/examples/declarative/tutorials/samegame/samegame4/samegame.qml
index 404af0a2a7..c66f1fe2c7 100644
--- a/examples/declarative/tutorials/samegame/samegame4/samegame.qml
+++ b/examples/declarative/tutorials/samegame/samegame4/samegame.qml
@@ -1,3 +1,43 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
import Qt 4.7
import "content"
import "content/samegame.js" as SameGame
@@ -25,7 +65,7 @@ Rectangle {
property int score: 0
property int blockSize: 40
- z: 20; anchors.centerIn: parent
+ anchors.centerIn: parent
width: parent.width - (parent.width % blockSize);
height: parent.height - (parent.height % blockSize);
@@ -35,53 +75,41 @@ Rectangle {
}
}
- Dialog { id: dialog; anchors.centerIn: parent; z: 21 }
+ Dialog {
+ id: dialog
+ anchors.centerIn: parent
+ z: 100
+ }
//![0]
Dialog {
id: nameInputDialog
-
anchors.centerIn: parent
- z: 22
+ z: 100
- Text {
- id: dialogText
- opacity: 0
- text: " You won! Please enter your name:"
- }
-
- TextInput {
- id: nameInput
- width: 72
- anchors { verticalCenter: parent.verticalCenter; left: dialogText.right }
- focus: true
-
- onAccepted: {
- if (nameInputDialog.opacity == 1 && nameInput.text != "")
- SameGame.saveHighScore(nameInput.text);
- nameInputDialog.forceClose();
- }
+ onClosed: {
+ if (nameInputDialog.inputText != "")
+ SameGame.saveHighScore(nameInputDialog.inputText);
}
}
//![0]
Rectangle {
id: toolBar
- width: parent.width; height: 32
+ width: parent.width; height: 30
color: activePalette.window
anchors.bottom: screen.bottom
Button {
- anchors { left: parent.left; leftMargin: 3; verticalCenter: parent.verticalCenter }
+ anchors { left: parent.left; verticalCenter: parent.verticalCenter }
text: "New Game"
onClicked: SameGame.startNewGame()
}
Text {
id: score
- anchors { right: parent.right; rightMargin: 3; verticalCenter: parent.verticalCenter }
+ anchors { right: parent.right; verticalCenter: parent.verticalCenter }
text: "Score: " + gameCanvas.score
- font.bold: true
}
}
}
diff --git a/examples/declarative/tutorials/tutorials.pro b/examples/declarative/tutorials/tutorials.pro
new file mode 100644
index 0000000000..0a82c1e704
--- /dev/null
+++ b/examples/declarative/tutorials/tutorials.pro
@@ -0,0 +1,5 @@
+TEMPLATE = subdirs
+
+SUBDIRS += \
+ extending
+
diff --git a/examples/declarative/tvtennis/click.wav b/examples/declarative/tvtennis/click.wav
deleted file mode 100644
index 26c46f84f0..0000000000
--- a/examples/declarative/tvtennis/click.wav
+++ /dev/null
Binary files differ
diff --git a/examples/declarative/tvtennis/paddle.wav b/examples/declarative/tvtennis/paddle.wav
deleted file mode 100644
index 604e0e520d..0000000000
--- a/examples/declarative/tvtennis/paddle.wav
+++ /dev/null
Binary files differ
diff --git a/examples/declarative/tvtennis/tvtennis.qml b/examples/declarative/tvtennis/tvtennis.qml
deleted file mode 100644
index 354a16f53f..0000000000
--- a/examples/declarative/tvtennis/tvtennis.qml
+++ /dev/null
@@ -1,79 +0,0 @@
-import Qt 4.7
-import Qt.multimedia 4.7
-
-Rectangle {
- id: page
- width: 640; height: 480
- color: "Black"
-
- // Make a ball to bounce
- Rectangle {
- id: ball
-
- // Add a property for the target y coordinate
- property int targetY : page.height - 10
- property variant direction : "right"
-
- x: 20; width: 20; height: 20; z: 1
- color: "Lime"
-
- SoundEffect { id: paddle; source: "paddle.wav" }
- SoundEffect { id: wall; source: "click.wav" }
-
- // Move the ball to the right and back to the left repeatedly
- SequentialAnimation on x {
- loops: Animation.Infinite
- NumberAnimation { to: page.width - 40; duration: 2000 }
- ScriptAction { script: paddle.play() }
- PropertyAction { target: ball; property: "direction"; value: "left" }
- NumberAnimation { to: 20; duration: 2000 }
- ScriptAction { script: paddle.play() }
- PropertyAction { target: ball; property: "direction"; value: "right" }
- }
-
- // Make y follow the target y coordinate, with a velocity of 200
- SpringFollow on y { to: ball.targetY; velocity: 200 }
-
- // Detect the ball hitting the top or bottom of the view and bounce it
- onYChanged: {
- if (y <= 0) {
- wall.play();
- targetY = page.height - 20;
- } else if (y >= page.height - 20) {
- wall.play();
- targetY = 0;
- }
- }
- }
-
- // Place bats to the left and right of the view, following the y
- // coordinates of the ball.
- Rectangle {
- id: leftBat
- color: "Lime"
- x: 2; width: 20; height: 90
- SpringFollow on y {
- to: ball.y - 45; velocity: 300
- enabled: ball.direction == 'left'
- }
- }
- Rectangle {
- id: rightBat
- color: "Lime"
- x: page.width - 22; width: 20; height: 90
- SpringFollow on y {
- to: ball.y-45; velocity: 300
- enabled: ball.direction == 'right'
- }
- }
-
- // The rest, to make it look realistic, if neither ever scores...
- Rectangle { color: "Lime"; x: page.width/2-80; y: 0; width: 40; height: 60 }
- Rectangle { color: "Black"; x: page.width/2-70; y: 10; width: 20; height: 40 }
- Rectangle { color: "Lime"; x: page.width/2+40; y: 0; width: 40; height: 60 }
- Rectangle { color: "Black"; x: page.width/2+50; y: 10; width: 20; height: 40 }
- Repeater {
- model: page.height / 20
- Rectangle { color: "Lime"; x: page.width/2-5; y: index * 20; width: 10; height: 10 }
- }
-}
diff --git a/examples/declarative/ui-components/README b/examples/declarative/ui-components/README
new file mode 100644
index 0000000000..7eecec104a
--- /dev/null
+++ b/examples/declarative/ui-components/README
@@ -0,0 +1,39 @@
+With Qt Declarative, it is easy to implement the UI components that you need
+in exactly the way that you want. These examples demonstrate this by creating
+a selection of user interface components where the look and feel has been
+completely defined in a QML file.
+
+The example launcher provided with Qt can be used to explore each of the
+examples in this directory. But most can also be viewed directly with the
+QML viewer utility, without requiring compilation.
+
+Documentation for these examples can be found via the Tutorials and Examples
+link in the main Qt documentation.
+
+
+Finding the Qt Examples and Demos launcher
+==========================================
+
+On Windows:
+
+The launcher can be accessed via the Windows Start menu. Select the menu
+entry entitled "Qt Examples and Demos" entry in the submenu containing
+the Qt tools.
+
+On Mac OS X:
+
+For the binary distribution, the qtdemo executable is installed in the
+/Developer/Applications/Qt directory. For the source distribution, it is
+installed alongside the other Qt tools on the path specified when Qt is
+configured.
+
+On Unix/Linux:
+
+The qtdemo executable is installed alongside the other Qt tools on the path
+specified when Qt is configured.
+
+On all platforms:
+
+The source code for the launcher can be found in the demos/qtdemo directory
+in the Qt package. This example is built at the same time as the Qt libraries,
+tools, examples, and demonstrations.
diff --git a/examples/declarative/ui-components/dialcontrol/content/Dial.qml b/examples/declarative/ui-components/dialcontrol/content/Dial.qml
new file mode 100644
index 0000000000..2b421bf7c8
--- /dev/null
+++ b/examples/declarative/ui-components/dialcontrol/content/Dial.qml
@@ -0,0 +1,83 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+import Qt 4.7
+
+Item {
+ id: root
+ property real value : 0
+
+ width: 210; height: 210
+
+ Image { source: "background.png" }
+
+//! [needle_shadow]
+ Image {
+ x: 93
+ y: 35
+ source: "needle_shadow.png"
+ transform: Rotation {
+ origin.x: 11; origin.y: 67
+ angle: needleRotation.angle
+ }
+ }
+//! [needle_shadow]
+//! [needle]
+ Image {
+ id: needle
+ x: 95; y: 33
+ smooth: true
+ source: "needle.png"
+ transform: Rotation {
+ id: needleRotation
+ origin.x: 7; origin.y: 65
+ angle: -130
+ SpringFollow on angle {
+ spring: 1.4
+ damping: .15
+ to: Math.min(Math.max(-130, root.value*2.6 - 130), 133)
+ }
+ }
+ }
+//! [needle]
+//! [overlay]
+ Image { x: 21; y: 18; source: "overlay.png" }
+//! [overlay]
+}
diff --git a/examples/declarative/dial/content/background.png b/examples/declarative/ui-components/dialcontrol/content/background.png
index 75d555d7ab..75d555d7ab 100644
--- a/examples/declarative/dial/content/background.png
+++ b/examples/declarative/ui-components/dialcontrol/content/background.png
Binary files differ
diff --git a/examples/declarative/dial/content/needle.png b/examples/declarative/ui-components/dialcontrol/content/needle.png
index 2d19f75039..2d19f75039 100644
--- a/examples/declarative/dial/content/needle.png
+++ b/examples/declarative/ui-components/dialcontrol/content/needle.png
Binary files differ
diff --git a/examples/declarative/dial/content/needle_shadow.png b/examples/declarative/ui-components/dialcontrol/content/needle_shadow.png
index 8d8a928cc5..8d8a928cc5 100644
--- a/examples/declarative/dial/content/needle_shadow.png
+++ b/examples/declarative/ui-components/dialcontrol/content/needle_shadow.png
Binary files differ
diff --git a/examples/declarative/dial/content/overlay.png b/examples/declarative/ui-components/dialcontrol/content/overlay.png
index 3860a7b590..3860a7b590 100644
--- a/examples/declarative/dial/content/overlay.png
+++ b/examples/declarative/ui-components/dialcontrol/content/overlay.png
Binary files differ
diff --git a/examples/declarative/ui-components/dialcontrol/dialcontrol.qml b/examples/declarative/ui-components/dialcontrol/dialcontrol.qml
new file mode 100644
index 0000000000..95df68c638
--- /dev/null
+++ b/examples/declarative/ui-components/dialcontrol/dialcontrol.qml
@@ -0,0 +1,90 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+import Qt 4.7
+import "content"
+
+//! [0]
+Rectangle {
+ color: "#545454"
+ width: 300; height: 300
+
+ // Dial with a slider to adjust it
+ Dial {
+ id: dial
+ anchors.centerIn: parent
+ value: slider.x * 100 / (container.width - 34)
+ }
+
+ Rectangle {
+ id: container
+ anchors { bottom: parent.bottom; left: parent.left
+ right: parent.right; leftMargin: 20; rightMargin: 20
+ bottomMargin: 10
+ }
+ height: 16
+
+ radius: 8
+ opacity: 0.7
+ smooth: true
+ gradient: Gradient {
+ GradientStop { position: 0.0; color: "gray" }
+ GradientStop { position: 1.0; color: "white" }
+ }
+
+ Rectangle {
+ id: slider
+ x: 1; y: 1; width: 30; height: 14
+ radius: 6
+ smooth: true
+ gradient: Gradient {
+ GradientStop { position: 0.0; color: "#424242" }
+ GradientStop { position: 1.0; color: "black" }
+ }
+
+ MouseArea {
+ anchors.fill: parent
+ drag.target: parent; drag.axis: Drag.XAxis
+ drag.minimumX: 2; drag.maximumX: container.width - 32
+ }
+ }
+ }
+}
+//! [0] \ No newline at end of file
diff --git a/examples/declarative/ui-components/dialcontrol/dialcontrol.qmlproject b/examples/declarative/ui-components/dialcontrol/dialcontrol.qmlproject
new file mode 100644
index 0000000000..d4909f8685
--- /dev/null
+++ b/examples/declarative/ui-components/dialcontrol/dialcontrol.qmlproject
@@ -0,0 +1,16 @@
+import QmlProject 1.0
+
+Project {
+ /* Include .qml, .js, and image files from current directory and subdirectories */
+ QmlFiles {
+ directory: "."
+ }
+ JavaScriptFiles {
+ directory: "."
+ }
+ ImageFiles {
+ directory: "."
+ }
+ /* List of plugin directories passed to QML runtime */
+ // importPaths: [ " ../exampleplugin " ]
+}
diff --git a/examples/declarative/flipable/content/5_heart.png b/examples/declarative/ui-components/flipable/content/5_heart.png
index fb59d81453..fb59d81453 100644
--- a/examples/declarative/flipable/content/5_heart.png
+++ b/examples/declarative/ui-components/flipable/content/5_heart.png
Binary files differ
diff --git a/examples/declarative/flipable/content/9_club.png b/examples/declarative/ui-components/flipable/content/9_club.png
index 2545001904..2545001904 100644
--- a/examples/declarative/flipable/content/9_club.png
+++ b/examples/declarative/ui-components/flipable/content/9_club.png
Binary files differ
diff --git a/examples/declarative/ui-components/flipable/content/Card.qml b/examples/declarative/ui-components/flipable/content/Card.qml
new file mode 100644
index 0000000000..91a442b7ea
--- /dev/null
+++ b/examples/declarative/ui-components/flipable/content/Card.qml
@@ -0,0 +1,78 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+import Qt 4.7
+
+Flipable {
+ id: container
+
+ property alias image: frontImage.source
+ property bool flipped: true
+ property int xAxis: 0
+ property int yAxis: 0
+ property int angle: 0
+
+ width: front.width; height: front.height; state: "back"
+
+ front: Image { id: frontImage; smooth: true }
+ back: Image { source: "back.png"; smooth: true }
+
+ MouseArea { anchors.fill: parent; onClicked: container.flipped = !container.flipped }
+
+ transform: Rotation {
+ id: rotation; origin.x: container.width / 2; origin.y: container.height / 2
+ axis.x: container.xAxis; axis.y: container.yAxis; axis.z: 0
+ }
+
+ states: State {
+ name: "back"; when: container.flipped
+ PropertyChanges { target: rotation; angle: container.angle }
+ }
+
+ transitions: Transition {
+ ParallelAnimation {
+ NumberAnimation { target: rotation; properties: "angle"; duration: 600 }
+ SequentialAnimation {
+ NumberAnimation { target: container; property: "scale"; to: 0.75; duration: 300 }
+ NumberAnimation { target: container; property: "scale"; to: 1.0; duration: 300 }
+ }
+ }
+ }
+}
diff --git a/examples/declarative/flipable/content/back.png b/examples/declarative/ui-components/flipable/content/back.png
index f715d7487e..f715d7487e 100644
--- a/examples/declarative/flipable/content/back.png
+++ b/examples/declarative/ui-components/flipable/content/back.png
Binary files differ
diff --git a/examples/declarative/ui-components/flipable/flipable.qml b/examples/declarative/ui-components/flipable/flipable.qml
new file mode 100644
index 0000000000..479e35b413
--- /dev/null
+++ b/examples/declarative/ui-components/flipable/flipable.qml
@@ -0,0 +1,55 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+import Qt 4.7
+import "content"
+
+Rectangle {
+ id: window
+
+ width: 480; height: 320
+ color: "darkgreen"
+
+ Row {
+ anchors.centerIn: parent; spacing: 30
+ Card { image: "content/9_club.png"; angle: 180; yAxis: 1 }
+ Card { image: "content/5_heart.png"; angle: 540; xAxis: 1 }
+ }
+}
diff --git a/examples/declarative/ui-components/flipable/flipable.qmlproject b/examples/declarative/ui-components/flipable/flipable.qmlproject
new file mode 100644
index 0000000000..d4909f8685
--- /dev/null
+++ b/examples/declarative/ui-components/flipable/flipable.qmlproject
@@ -0,0 +1,16 @@
+import QmlProject 1.0
+
+Project {
+ /* Include .qml, .js, and image files from current directory and subdirectories */
+ QmlFiles {
+ directory: "."
+ }
+ JavaScriptFiles {
+ directory: "."
+ }
+ ImageFiles {
+ directory: "."
+ }
+ /* List of plugin directories passed to QML runtime */
+ // importPaths: [ " ../exampleplugin " ]
+}
diff --git a/examples/declarative/ui-components/progressbar/content/ProgressBar.qml b/examples/declarative/ui-components/progressbar/content/ProgressBar.qml
new file mode 100644
index 0000000000..829ab9bb85
--- /dev/null
+++ b/examples/declarative/ui-components/progressbar/content/ProgressBar.qml
@@ -0,0 +1,83 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+import Qt 4.7
+
+Item {
+ id: progressbar
+
+ property int minimum: 0
+ property int maximum: 100
+ property int value: 0
+ property alias color: gradient1.color
+ property alias secondColor: gradient2.color
+
+ width: 250; height: 23
+ clip: true
+
+ BorderImage {
+ source: "background.png"
+ width: parent.width; height: parent.height
+ border { left: 4; top: 4; right: 4; bottom: 4 }
+ }
+
+ Rectangle {
+ id: highlight
+
+ property int widthDest: ((progressbar.width * (value - minimum)) / (maximum - minimum) - 6)
+
+ width: highlight.widthDest
+ Behavior on width { SmoothedAnimation { velocity: 1200 } }
+
+ anchors { left: parent.left; top: parent.top; bottom: parent.bottom; leftMargin: 3; topMargin: 3; bottomMargin: 3 }
+ radius: 1
+ gradient: Gradient {
+ GradientStop { id: gradient1; position: 0.0 }
+ GradientStop { id: gradient2; position: 1.0 }
+ }
+
+ }
+ Text {
+ anchors { right: highlight.right; rightMargin: 6; verticalCenter: parent.verticalCenter }
+ color: "white"
+ font.bold: true
+ text: Math.floor((value - minimum) / (maximum - minimum) * 100) + '%'
+ }
+}
diff --git a/examples/declarative/progressbar/content/background.png b/examples/declarative/ui-components/progressbar/content/background.png
index 9044226f85..9044226f85 100644
--- a/examples/declarative/progressbar/content/background.png
+++ b/examples/declarative/ui-components/progressbar/content/background.png
Binary files differ
diff --git a/examples/declarative/ui-components/progressbar/main.qml b/examples/declarative/ui-components/progressbar/main.qml
new file mode 100644
index 0000000000..22f8dbdd4b
--- /dev/null
+++ b/examples/declarative/ui-components/progressbar/main.qml
@@ -0,0 +1,73 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+import Qt 4.7
+import "content"
+
+Rectangle {
+ id: main
+
+ width: 600; height: 405
+ color: "#edecec"
+
+ Flickable {
+ anchors.fill: parent
+ contentHeight: column.height + 20
+
+ Column {
+ id: column
+ x: 10; y: 10
+ spacing: 10
+
+ Repeater {
+ model: 25
+
+ ProgressBar {
+ property int r: Math.floor(Math.random() * 5000 + 1000)
+ width: main.width - 20
+
+ NumberAnimation on value { duration: r; from: 0; to: 100; loops: Animation.Infinite }
+ ColorAnimation on color { duration: r; from: "lightsteelblue"; to: "thistle"; loops: Animation.Infinite }
+ ColorAnimation on secondColor { duration: r; from: "steelblue"; to: "#CD96CD"; loops: Animation.Infinite }
+ }
+ }
+ }
+ }
+}
diff --git a/examples/declarative/ui-components/progressbar/progressbar.qmlproject b/examples/declarative/ui-components/progressbar/progressbar.qmlproject
new file mode 100644
index 0000000000..d4909f8685
--- /dev/null
+++ b/examples/declarative/ui-components/progressbar/progressbar.qmlproject
@@ -0,0 +1,16 @@
+import QmlProject 1.0
+
+Project {
+ /* Include .qml, .js, and image files from current directory and subdirectories */
+ QmlFiles {
+ directory: "."
+ }
+ JavaScriptFiles {
+ directory: "."
+ }
+ ImageFiles {
+ directory: "."
+ }
+ /* List of plugin directories passed to QML runtime */
+ // importPaths: [ " ../exampleplugin " ]
+}
diff --git a/examples/declarative/ui-components/scrollbar/ScrollBar.qml b/examples/declarative/ui-components/scrollbar/ScrollBar.qml
new file mode 100644
index 0000000000..ba9a52a601
--- /dev/null
+++ b/examples/declarative/ui-components/scrollbar/ScrollBar.qml
@@ -0,0 +1,73 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+import Qt 4.7
+
+Item {
+ id: scrollBar
+
+ // The properties that define the scrollbar's state.
+ // position and pageSize are in the range 0.0 - 1.0. They are relative to the
+ // height of the page, i.e. a pageSize of 0.5 means that you can see 50%
+ // of the height of the view.
+ // orientation can be either Qt.Vertical or Qt.Horizontal
+ property real position
+ property real pageSize
+ property variant orientation : Qt.Vertical
+
+ // A light, semi-transparent background
+ Rectangle {
+ id: background
+ anchors.fill: parent
+ radius: orientation == Qt.Vertical ? (width/2 - 1) : (height/2 - 1)
+ color: "white"
+ opacity: 0.3
+ }
+ // Size the bar to the required size, depending upon the orientation.
+ Rectangle {
+ x: orientation == Qt.Vertical ? 1 : (scrollBar.position * (scrollBar.width-2) + 1)
+ y: orientation == Qt.Vertical ? (scrollBar.position * (scrollBar.height-2) + 1) : 1
+ width: orientation == Qt.Vertical ? (parent.width-2) : (scrollBar.pageSize * (scrollBar.width-2))
+ height: orientation == Qt.Vertical ? (scrollBar.pageSize * (scrollBar.height-2)) : (parent.height-2)
+ radius: orientation == Qt.Vertical ? (width/2 - 1) : (height/2 - 1)
+ color: "black"
+ opacity: 0.7
+ }
+}
diff --git a/examples/declarative/ui-components/scrollbar/main.qml b/examples/declarative/ui-components/scrollbar/main.qml
new file mode 100644
index 0000000000..1f7992b542
--- /dev/null
+++ b/examples/declarative/ui-components/scrollbar/main.qml
@@ -0,0 +1,94 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+import Qt 4.7
+
+Rectangle {
+ width: 640
+ height: 480
+
+ // Create a flickable to view a large image.
+ Flickable {
+ id: view
+ anchors.fill: parent
+ contentWidth: picture.width
+ contentHeight: picture.height
+
+ Image {
+ id: picture
+ source: "pics/niagara_falls.jpg"
+ asynchronous: true
+ }
+
+ // Only show the scrollbars when the view is moving.
+ states: State {
+ name: "ShowBars"
+ when: view.movingVertically || view.movingHorizontally
+ PropertyChanges { target: verticalScrollBar; opacity: 1 }
+ PropertyChanges { target: horizontalScrollBar; opacity: 1 }
+ }
+
+ transitions: Transition {
+ from: "*"; to: "*"
+ NumberAnimation { properties: "opacity"; duration: 400 }
+ }
+ }
+
+ // Attach scrollbars to the right and bottom edges of the view.
+ ScrollBar {
+ id: verticalScrollBar
+ width: 12; height: view.height-12
+ anchors.right: view.right
+ opacity: 0
+ orientation: Qt.Vertical
+ position: view.visibleArea.yPosition
+ pageSize: view.visibleArea.heightRatio
+ }
+
+ ScrollBar {
+ id: horizontalScrollBar
+ width: view.width-12; height: 12
+ anchors.bottom: view.bottom
+ opacity: 0
+ orientation: Qt.Horizontal
+ position: view.visibleArea.xPosition
+ pageSize: view.visibleArea.widthRatio
+ }
+}
diff --git a/examples/declarative/scrollbar/pics/niagara_falls.jpg b/examples/declarative/ui-components/scrollbar/pics/niagara_falls.jpg
index 618d808ccf..618d808ccf 100644
--- a/examples/declarative/scrollbar/pics/niagara_falls.jpg
+++ b/examples/declarative/ui-components/scrollbar/pics/niagara_falls.jpg
Binary files differ
diff --git a/examples/declarative/ui-components/scrollbar/scrollbar.qmlproject b/examples/declarative/ui-components/scrollbar/scrollbar.qmlproject
new file mode 100644
index 0000000000..d4909f8685
--- /dev/null
+++ b/examples/declarative/ui-components/scrollbar/scrollbar.qmlproject
@@ -0,0 +1,16 @@
+import QmlProject 1.0
+
+Project {
+ /* Include .qml, .js, and image files from current directory and subdirectories */
+ QmlFiles {
+ directory: "."
+ }
+ JavaScriptFiles {
+ directory: "."
+ }
+ ImageFiles {
+ directory: "."
+ }
+ /* List of plugin directories passed to QML runtime */
+ // importPaths: [ " ../exampleplugin " ]
+}
diff --git a/examples/declarative/ui-components/searchbox/SearchBox.qml b/examples/declarative/ui-components/searchbox/SearchBox.qml
new file mode 100644
index 0000000000..eaa6b6bb80
--- /dev/null
+++ b/examples/declarative/ui-components/searchbox/SearchBox.qml
@@ -0,0 +1,105 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+import Qt 4.7
+
+FocusScope {
+ id: focusScope
+ width: 250; height: 28
+
+ BorderImage {
+ source: "images/lineedit-bg.png"
+ width: parent.width; height: parent.height
+ border { left: 4; top: 4; right: 4; bottom: 4 }
+ }
+
+ BorderImage {
+ source: "images/lineedit-bg-focus.png"
+ width: parent.width; height: parent.height
+ border { left: 4; top: 4; right: 4; bottom: 4 }
+ visible: parent.wantsFocus ? true : false
+ }
+
+ Text {
+ id: typeSomething
+ anchors.fill: parent; anchors.leftMargin: 8
+ verticalAlignment: Text.AlignVCenter
+ text: "Type something..."
+ color: "gray"
+ font.italic: true
+ }
+
+ MouseArea { anchors.fill: parent; onClicked: { focusScope.focus = true; textInput.openSoftwareInputPanel(); } }
+
+ TextInput {
+ id: textInput
+ anchors { left: parent.left; leftMargin: 8; verticalCenter: parent.verticalCenter }
+ focus: true
+ }
+
+ Image {
+ id: clear
+ anchors { right: parent.right; rightMargin: 8; verticalCenter: parent.verticalCenter }
+ source: "images/edit-clear-locationbar-rtl.png"
+ opacity: 0
+
+ MouseArea {
+ anchors.fill: parent
+ onClicked: { textInput.text = ''; focusScope.focus = true; textInput.openSoftwareInputPanel(); }
+ }
+ }
+
+ states: State {
+ name: "hasText"; when: textInput.text != ''
+ PropertyChanges { target: typeSomething; opacity: 0 }
+ PropertyChanges { target: clear; opacity: 1 }
+ }
+
+ transitions: [
+ Transition {
+ from: ""; to: "hasText"
+ NumberAnimation { exclude: typeSomething; properties: "opacity" }
+ },
+ Transition {
+ from: "hasText"; to: ""
+ NumberAnimation { properties: "opacity" }
+ }
+ ]
+}
diff --git a/examples/declarative/searchbox/images/edit-clear-locationbar-rtl.png b/examples/declarative/ui-components/searchbox/images/edit-clear-locationbar-rtl.png
index 91eb270695..91eb270695 100644
--- a/examples/declarative/searchbox/images/edit-clear-locationbar-rtl.png
+++ b/examples/declarative/ui-components/searchbox/images/edit-clear-locationbar-rtl.png
Binary files differ
diff --git a/examples/declarative/searchbox/images/lineedit-bg-focus.png b/examples/declarative/ui-components/searchbox/images/lineedit-bg-focus.png
index bbfac38d2d..bbfac38d2d 100644
--- a/examples/declarative/searchbox/images/lineedit-bg-focus.png
+++ b/examples/declarative/ui-components/searchbox/images/lineedit-bg-focus.png
Binary files differ
diff --git a/examples/declarative/searchbox/images/lineedit-bg.png b/examples/declarative/ui-components/searchbox/images/lineedit-bg.png
index 9044226f85..9044226f85 100644
--- a/examples/declarative/searchbox/images/lineedit-bg.png
+++ b/examples/declarative/ui-components/searchbox/images/lineedit-bg.png
Binary files differ
diff --git a/examples/declarative/ui-components/searchbox/main.qml b/examples/declarative/ui-components/searchbox/main.qml
new file mode 100644
index 0000000000..bf3bed8d8b
--- /dev/null
+++ b/examples/declarative/ui-components/searchbox/main.qml
@@ -0,0 +1,60 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+import Qt 4.7
+
+Rectangle {
+ id: page
+ width: 500; height: 250
+ color: "#edecec"
+
+ MouseArea {
+ anchors.fill: parent
+ onClicked: page.focus = false;
+ }
+ Column {
+ anchors { horizontalCenter: parent.horizontalCenter; verticalCenter: parent.verticalCenter }
+ spacing: 10
+
+ SearchBox { id: search1; KeyNavigation.tab: search2; KeyNavigation.backtab: search3; focus: true }
+ SearchBox { id: search2; KeyNavigation.tab: search3; KeyNavigation.backtab: search1 }
+ SearchBox { id: search3; KeyNavigation.tab: search1; KeyNavigation.backtab: search2 }
+ }
+}
diff --git a/examples/declarative/ui-components/searchbox/searchbox.qmlproject b/examples/declarative/ui-components/searchbox/searchbox.qmlproject
new file mode 100644
index 0000000000..d4909f8685
--- /dev/null
+++ b/examples/declarative/ui-components/searchbox/searchbox.qmlproject
@@ -0,0 +1,16 @@
+import QmlProject 1.0
+
+Project {
+ /* Include .qml, .js, and image files from current directory and subdirectories */
+ QmlFiles {
+ directory: "."
+ }
+ JavaScriptFiles {
+ directory: "."
+ }
+ ImageFiles {
+ directory: "."
+ }
+ /* List of plugin directories passed to QML runtime */
+ // importPaths: [ " ../exampleplugin " ]
+}
diff --git a/examples/declarative/ui-components/slideswitch/content/Switch.qml b/examples/declarative/ui-components/slideswitch/content/Switch.qml
new file mode 100644
index 0000000000..b0ce0c0777
--- /dev/null
+++ b/examples/declarative/ui-components/slideswitch/content/Switch.qml
@@ -0,0 +1,116 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+//![0]
+import Qt 4.7
+
+Item {
+ id: toggleswitch
+ width: background.width; height: background.height
+
+//![1]
+ property bool on: false
+//![1]
+
+//![2]
+ function toggle() {
+ if (toggleswitch.state == "on")
+ toggleswitch.state = "off";
+ else toggleswitch.state = "on";
+ }
+//![2]
+
+//![3]
+ function dorelease() {
+ if (knob.x == 1) {
+ if (toggleswitch.state == "off") return;
+ }
+ if (knob.x == 78) {
+ if (toggleswitch.state == "on") return;
+ }
+ toggle();
+ }
+//![3]
+
+//![4]
+ Image {
+ id: background
+ source: "background.svg"
+ MouseArea { anchors.fill: parent; onClicked: toggle() }
+ }
+//![4]
+
+//![5]
+ Image {
+ id: knob
+ x: 1; y: 2
+ source: "knob.svg"
+
+ MouseArea {
+ anchors.fill: parent
+ drag.target: knob; drag.axis: Drag.XAxis; drag.minimumX: 1; drag.maximumX: 78
+ onClicked: toggle()
+ onReleased: dorelease()
+ }
+ }
+//![5]
+
+//![6]
+ states: [
+ State {
+ name: "on"
+ PropertyChanges { target: knob; x: 78 }
+ PropertyChanges { target: toggleswitch; on: true }
+ },
+ State {
+ name: "off"
+ PropertyChanges { target: knob; x: 1 }
+ PropertyChanges { target: toggleswitch; on: false }
+ }
+ ]
+//![6]
+
+//![7]
+ transitions: Transition {
+ NumberAnimation { properties: "x"; easing.type: Easing.InOutQuad; duration: 200 }
+ }
+//![7]
+}
+//![0]
diff --git a/examples/declarative/slideswitch/content/background.svg b/examples/declarative/ui-components/slideswitch/content/background.svg
index f920d3e47a..f920d3e47a 100644
--- a/examples/declarative/slideswitch/content/background.svg
+++ b/examples/declarative/ui-components/slideswitch/content/background.svg
diff --git a/examples/declarative/slideswitch/content/knob.svg b/examples/declarative/ui-components/slideswitch/content/knob.svg
index fb6933718e..fb6933718e 100644
--- a/examples/declarative/slideswitch/content/knob.svg
+++ b/examples/declarative/ui-components/slideswitch/content/knob.svg
diff --git a/examples/declarative/ui-components/slideswitch/slideswitch.qml b/examples/declarative/ui-components/slideswitch/slideswitch.qml
new file mode 100644
index 0000000000..e94ebfe013
--- /dev/null
+++ b/examples/declarative/ui-components/slideswitch/slideswitch.qml
@@ -0,0 +1,51 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+import Qt 4.7
+import "content"
+
+Rectangle {
+ color: "white"
+ width: 400; height: 250
+
+//![0]
+ Switch { anchors.centerIn: parent; on: false }
+//![0]
+}
diff --git a/examples/declarative/ui-components/slideswitch/slideswitch.qmlproject b/examples/declarative/ui-components/slideswitch/slideswitch.qmlproject
new file mode 100644
index 0000000000..d4909f8685
--- /dev/null
+++ b/examples/declarative/ui-components/slideswitch/slideswitch.qmlproject
@@ -0,0 +1,16 @@
+import QmlProject 1.0
+
+Project {
+ /* Include .qml, .js, and image files from current directory and subdirectories */
+ QmlFiles {
+ directory: "."
+ }
+ JavaScriptFiles {
+ directory: "."
+ }
+ ImageFiles {
+ directory: "."
+ }
+ /* List of plugin directories passed to QML runtime */
+ // importPaths: [ " ../exampleplugin " ]
+}
diff --git a/examples/declarative/ui-components/spinner/content/Spinner.qml b/examples/declarative/ui-components/spinner/content/Spinner.qml
new file mode 100644
index 0000000000..55fc542b1e
--- /dev/null
+++ b/examples/declarative/ui-components/spinner/content/Spinner.qml
@@ -0,0 +1,65 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+import Qt 4.7
+
+Image {
+ property alias model: view.model
+ property alias delegate: view.delegate
+ property alias currentIndex: view.currentIndex
+ property real itemHeight: 30
+ source: "spinner-bg.png"
+ clip: true
+ PathView {
+ id: view
+ anchors.fill: parent
+ pathItemCount: height/itemHeight
+ preferredHighlightBegin: 0.5
+ preferredHighlightEnd: 0.5
+ highlight: Image { source: "spinner-select.png"; width: view.width; height: itemHeight+4 }
+ dragMargin: view.width/2
+ path: Path {
+ startX: view.width/2; startY: -itemHeight/2
+ PathLine { x: view.width/2; y: view.pathItemCount*itemHeight + itemHeight }
+ }
+ }
+ Keys.onDownPressed: view.incrementCurrentIndex()
+ Keys.onUpPressed: view.decrementCurrentIndex()
+}
diff --git a/examples/declarative/ui-components/spinner/content/spinner-bg.png b/examples/declarative/ui-components/spinner/content/spinner-bg.png
new file mode 100644
index 0000000000..b3556f1f9f
--- /dev/null
+++ b/examples/declarative/ui-components/spinner/content/spinner-bg.png
Binary files differ
diff --git a/examples/declarative/ui-components/spinner/content/spinner-select.png b/examples/declarative/ui-components/spinner/content/spinner-select.png
new file mode 100644
index 0000000000..95a17a1fe2
--- /dev/null
+++ b/examples/declarative/ui-components/spinner/content/spinner-select.png
Binary files differ
diff --git a/examples/declarative/ui-components/spinner/main.qml b/examples/declarative/ui-components/spinner/main.qml
new file mode 100644
index 0000000000..4403ada9d0
--- /dev/null
+++ b/examples/declarative/ui-components/spinner/main.qml
@@ -0,0 +1,58 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+import Qt 4.7
+import "content"
+
+Rectangle {
+ width: 240; height: 320
+ Column {
+ y: 20; x: 20; spacing: 20
+ Spinner {
+ id: spinner
+ width: 200; height: 240
+ focus: true
+ model: 20
+ itemHeight: 30
+ delegate: Text { font.pixelSize: 25; text: index; height: 30 }
+ }
+ Text { text: "Current item index: " + spinner.currentIndex }
+ }
+}
diff --git a/examples/declarative/ui-components/spinner/spinner.qmlproject b/examples/declarative/ui-components/spinner/spinner.qmlproject
new file mode 100644
index 0000000000..d4909f8685
--- /dev/null
+++ b/examples/declarative/ui-components/spinner/spinner.qmlproject
@@ -0,0 +1,16 @@
+import QmlProject 1.0
+
+Project {
+ /* Include .qml, .js, and image files from current directory and subdirectories */
+ QmlFiles {
+ directory: "."
+ }
+ JavaScriptFiles {
+ directory: "."
+ }
+ ImageFiles {
+ directory: "."
+ }
+ /* List of plugin directories passed to QML runtime */
+ // importPaths: [ " ../exampleplugin " ]
+}
diff --git a/examples/declarative/ui-components/tabwidget/TabWidget.qml b/examples/declarative/ui-components/tabwidget/TabWidget.qml
new file mode 100644
index 0000000000..93db4ff654
--- /dev/null
+++ b/examples/declarative/ui-components/tabwidget/TabWidget.qml
@@ -0,0 +1,97 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+import Qt 4.7
+
+Item {
+ id: tabWidget
+
+ property int current: 0
+ default property alias content: stack.children
+
+ onCurrentChanged: setOpacities()
+ Component.onCompleted: setOpacities()
+
+ function setOpacities()
+ {
+ for (var i = 0; i < stack.children.length; ++i) {
+ stack.children[i].opacity = i == current ? 1 : 0
+ }
+ }
+
+ Row {
+ id: header
+ Repeater {
+ delegate: Rectangle {
+ width: tabWidget.width / stack.children.length; height: 36
+
+ Rectangle {
+ width: parent.width; height: 1
+ anchors { bottom: parent.bottom; bottomMargin: 1 }
+ color: "#acb2c2"
+ }
+ BorderImage {
+ anchors { fill: parent; leftMargin: 2; topMargin: 5; rightMargin: 1 }
+ border { left: 7; right: 7 }
+ source: "tab.png"
+ visible: tabWidget.current == index
+ }
+ Text {
+ horizontalAlignment: Qt.AlignHCenter; verticalAlignment: Qt.AlignVCenter
+ anchors.fill: parent
+ text: stack.children[index].title
+ elide: Text.ElideRight
+ font.bold: tabWidget.current == index
+ }
+ MouseArea {
+ anchors.fill: parent
+ onClicked: tabWidget.current = index
+ }
+ }
+ model: stack.children.length
+ }
+ }
+
+ Item {
+ id: stack
+ width: tabWidget.width
+ anchors.top: header.bottom; anchors.bottom: tabWidget.bottom
+ }
+}
diff --git a/examples/declarative/ui-components/tabwidget/main.qml b/examples/declarative/ui-components/tabwidget/main.qml
new file mode 100644
index 0000000000..e11902a516
--- /dev/null
+++ b/examples/declarative/ui-components/tabwidget/main.qml
@@ -0,0 +1,99 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+import Qt 4.7
+
+TabWidget {
+ id: tabs
+ width: 640; height: 480
+
+ Rectangle {
+ property string title: "Red"
+ anchors.fill: parent
+ color: "#e3e3e3"
+
+ Rectangle {
+ anchors { fill: parent; topMargin: 20; leftMargin: 20; rightMargin: 20; bottomMargin: 20 }
+ color: "#ff7f7f"
+ Text {
+ width: parent.width - 20
+ anchors.centerIn: parent; horizontalAlignment: Qt.AlignHCenter
+ text: "Roses are red"
+ font.pixelSize: 20
+ wrapMode: Text.WordWrap
+ }
+ }
+ }
+
+ Rectangle {
+ property string title: "Green"
+ anchors.fill: parent
+ color: "#e3e3e3"
+
+ Rectangle {
+ anchors { fill: parent; topMargin: 20; leftMargin: 20; rightMargin: 20; bottomMargin: 20 }
+ color: "#7fff7f"
+ Text {
+ width: parent.width - 20
+ anchors.centerIn: parent; horizontalAlignment: Qt.AlignHCenter
+ text: "Flower stems are green"
+ font.pixelSize: 20
+ wrapMode: Text.WordWrap
+ }
+ }
+ }
+
+ Rectangle {
+ property string title: "Blue"
+ anchors.fill: parent; color: "#e3e3e3"
+
+ Rectangle {
+ anchors { fill: parent; topMargin: 20; leftMargin: 20; rightMargin: 20; bottomMargin: 20 }
+ color: "#7f7fff"
+ Text {
+ width: parent.width - 20
+ anchors.centerIn: parent; horizontalAlignment: Qt.AlignHCenter
+ text: "Violets are blue"
+ font.pixelSize: 20
+ wrapMode: Text.WordWrap
+ }
+ }
+ }
+}
diff --git a/examples/declarative/tabwidget/tab.png b/examples/declarative/ui-components/tabwidget/tab.png
index ad8021605f..ad8021605f 100644
--- a/examples/declarative/tabwidget/tab.png
+++ b/examples/declarative/ui-components/tabwidget/tab.png
Binary files differ
diff --git a/examples/declarative/ui-components/tabwidget/tabwidget.qmlproject b/examples/declarative/ui-components/tabwidget/tabwidget.qmlproject
new file mode 100644
index 0000000000..d4909f8685
--- /dev/null
+++ b/examples/declarative/ui-components/tabwidget/tabwidget.qmlproject
@@ -0,0 +1,16 @@
+import QmlProject 1.0
+
+Project {
+ /* Include .qml, .js, and image files from current directory and subdirectories */
+ QmlFiles {
+ directory: "."
+ }
+ JavaScriptFiles {
+ directory: "."
+ }
+ ImageFiles {
+ directory: "."
+ }
+ /* List of plugin directories passed to QML runtime */
+ // importPaths: [ " ../exampleplugin " ]
+}
diff --git a/examples/declarative/ui-components/ui-components.qmlproject b/examples/declarative/ui-components/ui-components.qmlproject
new file mode 100644
index 0000000000..d4909f8685
--- /dev/null
+++ b/examples/declarative/ui-components/ui-components.qmlproject
@@ -0,0 +1,16 @@
+import QmlProject 1.0
+
+Project {
+ /* Include .qml, .js, and image files from current directory and subdirectories */
+ QmlFiles {
+ directory: "."
+ }
+ JavaScriptFiles {
+ directory: "."
+ }
+ ImageFiles {
+ directory: "."
+ }
+ /* List of plugin directories passed to QML runtime */
+ // importPaths: [ " ../exampleplugin " ]
+}
diff --git a/examples/declarative/velocity/Day.qml b/examples/declarative/velocity/Day.qml
deleted file mode 100644
index 433295b88c..0000000000
--- a/examples/declarative/velocity/Day.qml
+++ /dev/null
@@ -1,101 +0,0 @@
-import Qt 4.7
-
-Component {
- Item {
- property variant stickies
-
- id: page
- width: 840; height: 480
-
- Image { source: "cork.jpg" }
-
- Text {
- text: name; x: 15; y: 8; height: 40; width: 370
- font.pixelSize: 18; font.bold: true; color: "white"
- style: Text.Outline; styleColor: "black"
- }
-
- Repeater {
- model: notes
- Item {
- id: stickyPage
-
- property int randomX: Math.random() * 500 + 100
- property int randomY: Math.random() * 200 + 50
-
- x: randomX; y: randomY
-
- SpringFollow on rotation {
- to: -flickable.horizontalVelocity / 100
- spring: 2.0; damping: 0.15
- }
-
- Item {
- id: sticky
- scale: 0.7
-
- Image {
- id: stickyImage
- x: 8 + -width * 0.6 / 2; y: -20
- source: "note-yellow.png"
- scale: 0.6; transformOrigin: Item.TopLeft
- smooth: true
- }
-
- TextEdit {
- id: myText
- x: -104; y: 36; width: 215; height: 200
- smooth: true
- font.pixelSize: 24
- readOnly: false
- rotation: -8
- text: noteText
- }
-
- Item {
- x: stickyImage.x; y: -20
- width: stickyImage.width * stickyImage.scale
- height: stickyImage.height * stickyImage.scale
-
- MouseArea {
- id: mouse
- anchors.fill: parent
- drag.target: stickyPage
- drag.axis: "XandYAxis"
- drag.minimumY: 0
- drag.maximumY: page.height - 80
- drag.minimumX: 100
- drag.maximumX: page.width - 140
- onClicked: { myText.focus = true }
- }
- }
- }
-
- Image {
- x: -width / 2; y: -height * 0.5 / 2
- source: "tack.png"
- scale: 0.7; transformOrigin: Item.TopLeft
- }
-
- states: State {
- name: "pressed"
- when: mouse.pressed
- PropertyChanges { target: sticky; rotation: 8; scale: 1 }
- PropertyChanges { target: page; z: 8 }
- }
-
- transitions: Transition {
- NumberAnimation { properties: "rotation,scale"; duration: 200 }
- }
- }
- }
- }
-}
-
-
-
-
-
-
-
-
diff --git a/examples/declarative/velocity/velocity.qml b/examples/declarative/velocity/velocity.qml
deleted file mode 100644
index 871bafc488..0000000000
--- a/examples/declarative/velocity/velocity.qml
+++ /dev/null
@@ -1,75 +0,0 @@
-import Qt 4.7
-
-Rectangle {
- width: 800; height: 480
- color: "#464646"
-
- ListModel {
- id: list
-
- ListElement {
- name: "Sunday"
- notes: [
- ListElement { noteText: "Lunch" },
- ListElement { noteText: "Birthday Party" }
- ]
- }
-
- ListElement {
- name: "Monday"
- notes: [
- ListElement { noteText: "Pickup kids from\nschool\n4.30pm" },
- ListElement { noteText: "Checkout Qt" }, ListElement { noteText: "Read email" }
- ]
- }
-
- ListElement {
- name: "Tuesday"
- notes: [
- ListElement { noteText: "Walk dog" },
- ListElement { noteText: "Buy newspaper" }
- ]
- }
-
- ListElement {
- name: "Wednesday"
- notes: [ ListElement { noteText: "Cook dinner" } ]
- }
-
- ListElement {
- name: "Thursday"
- notes: [
- ListElement { noteText: "Meeting\n5.30pm" },
- ListElement { noteText: "Weed garden" }
- ]
- }
-
- ListElement {
- name: "Friday"
- notes: [
- ListElement { noteText: "More work" },
- ListElement { noteText: "Grocery shopping" }
- ]
- }
-
- ListElement {
- name: "Saturday"
- notes: [
- ListElement { noteText: "Drink" },
- ListElement { noteText: "Download Qt\nPlay with QML" }
- ]
- }
- }
-
- ListView {
- id: flickable
-
- anchors.fill: parent
- focus: true
- highlightRangeMode: ListView.StrictlyEnforceRange
- orientation: ListView.Horizontal
- snapMode: ListView.SnapOneItem
- model: list
- delegate: Day { }
- }
-}
diff --git a/examples/declarative/webview/alerts.qml b/examples/declarative/webview/alerts.qml
deleted file mode 100644
index 6a5a0d2d97..0000000000
--- a/examples/declarative/webview/alerts.qml
+++ /dev/null
@@ -1,58 +0,0 @@
-import Qt 4.7
-import org.webkit 1.0
-
-WebView {
- id: webView
- width: 120
- height: 150
- url: "alerts.html"
-
- onAlert: popup.show(message)
-
- Rectangle {
- id: popup
-
- color: "red"
- border.color: "black"; border.width: 2
- radius: 4
-
- y: parent.height // off "screen"
- anchors.horizontalCenter: parent.horizontalCenter
- width: label.width+5
- height: label.height+5
-
- opacity: 0
-
- function show(t) {
- label.text = t
- popup.state = "visible"
- timer.start()
- }
- states: State {
- name: "visible"
- PropertyChanges { target: popup; opacity: 1 }
- PropertyChanges { target: popup; y: (webView.height-popup.height)/2 }
- }
-
- transitions: [
- Transition { from: ""; PropertyAnimation { properties: "opacity,y"; duration: 65 } },
- Transition { from: "visible"; PropertyAnimation { properties: "opacity,y"; duration: 500 } }
- ]
-
- Timer {
- id: timer
- interval: 1000
- onTriggered: popup.state = ""
- }
-
- Text {
- id: label
- anchors.centerIn: parent
- color: "white"
- font.pixelSize: 20
- width: webView.width*0.75
- wrapMode: Text.WordWrap
- horizontalAlignment: "AlignHCenter"
- }
- }
-}
diff --git a/examples/declarative/webview/autosize.qml b/examples/declarative/webview/autosize.qml
deleted file mode 100644
index 9632883eed..0000000000
--- a/examples/declarative/webview/autosize.qml
+++ /dev/null
@@ -1,62 +0,0 @@
-import Qt 4.7
-import org.webkit 1.0
-
-// The WebView size is determined by the width, height,
-// preferredWidth, and preferredHeight properties.
-Rectangle {
- id: rect
- width: 200
- height: layout.height
-
- Column {
- id: layout
- spacing: 2
- WebView {
- html: "No width defined."
- Rectangle {
- color: "#10000000"
- anchors.fill: parent
- }
- }
- WebView {
- width: rect.width
- html: "The width is full."
- Rectangle {
- color: "#10000000"
- anchors.fill: parent
- }
- }
- WebView {
- width: rect.width/2
- html: "The width is half."
- Rectangle {
- color: "#10000000"
- anchors.fill: parent
- }
- }
- WebView {
- preferredWidth: rect.width/2
- html: "The preferredWidth is half."
- Rectangle {
- color: "#10000000"
- anchors.fill: parent
- }
- }
- WebView {
- preferredWidth: rect.width/2
- html: "The_preferredWidth_is_half."
- Rectangle {
- color: "#10000000"
- anchors.fill: parent
- }
- }
- WebView {
- width: rect.width/2
- html: "The_width_is_half."
- Rectangle {
- color: "#10000000"
- anchors.fill: parent
- }
- }
- }
-}
diff --git a/examples/declarative/webview/content/FieldText.qml b/examples/declarative/webview/content/FieldText.qml
deleted file mode 100644
index d1d003f8e2..0000000000
--- a/examples/declarative/webview/content/FieldText.qml
+++ /dev/null
@@ -1,157 +0,0 @@
-import Qt 4.7
-
-Item {
- id: fieldText
- height: 30
- property string text: ""
- property string label: ""
- property bool mouseGrabbed: false
- signal confirmed
- signal cancelled
- signal startEdit
-
- function edit() {
- if (!mouseGrabbed) {
- fieldText.startEdit();
- fieldText.state='editing';
- mouseGrabbed=true;
- }
- }
-
- function confirm() {
- fieldText.state='';
- fieldText.text = textEdit.text;
- mouseGrabbed=false;
- fieldText.confirmed();
- }
-
- function reset() {
- textEdit.text = fieldText.text;
- fieldText.state='';
- mouseGrabbed=false;
- fieldText.cancelled();
- }
-
- Image {
- id: cancelIcon
- width: 22
- height: 22
- anchors.right: parent.right
- anchors.rightMargin: 4
- anchors.verticalCenter: parent.verticalCenter
- source: "pics/cancel.png"
- opacity: 0
- }
-
- Image {
- id: confirmIcon
- width: 22
- height: 22
- anchors.left: parent.left
- anchors.leftMargin: 4
- anchors.verticalCenter: parent.verticalCenter
- source: "pics/ok.png"
- opacity: 0
- }
-
- TextInput {
- id: textEdit
- text: fieldText.text
- focus: false
- anchors.left: parent.left
- anchors.leftMargin: 0
- anchors.right: parent.right
- anchors.rightMargin: 0
- anchors.verticalCenter: parent.verticalCenter
- color: "black"
- font.bold: true
- readOnly: true
- onAccepted: confirm()
- Keys.onEscapePressed: reset()
- }
-
- Text {
- id: textLabel
- x: 5
- width: parent.width-10
- anchors.verticalCenter: parent.verticalCenter
- horizontalAlignment: Text.AlignHCenter
- color: fieldText.state == "editing" ? "#505050" : "#AAAAAA"
- font.italic: true
- font.bold: true
- text: label
- opacity: textEdit.text == '' ? 1 : 0
- Behavior on opacity {
- NumberAnimation {
- property: "opacity"
- duration: 250
- }
- }
- }
-
- MouseArea {
- anchors.fill: cancelIcon
- onClicked: { reset() }
- }
-
- MouseArea {
- anchors.fill: confirmIcon
- onClicked: { confirm() }
- }
-
- MouseArea {
- id: editRegion
- anchors.fill: textEdit
- onClicked: { edit() }
- }
-
- states: [
- State {
- name: "editing"
- PropertyChanges {
- target: confirmIcon
- opacity: 1
- }
- PropertyChanges {
- target: cancelIcon
- opacity: 1
- }
- PropertyChanges {
- target: textEdit
- color: "black"
- readOnly: false
- focus: true
- selectionStart: 0
- selectionEnd: -1
- }
- PropertyChanges {
- target: editRegion
- opacity: 0
- }
- PropertyChanges {
- target: textEdit.anchors
- leftMargin: 34
- }
- PropertyChanges {
- target: textEdit.anchors
- rightMargin: 34
- }
- }
- ]
-
- transitions: [
- Transition {
- from: ""
- to: "*"
- reversible: true
- NumberAnimation {
- properties: "opacity,leftMargin,rightMargin"
- duration: 200
- }
- ColorAnimation {
- property: "color"
- duration: 150
- }
- }
- ]
-}
diff --git a/examples/declarative/webview/content/Mapping/Map.qml b/examples/declarative/webview/content/Mapping/Map.qml
deleted file mode 100644
index 5d3ba818e7..0000000000
--- a/examples/declarative/webview/content/Mapping/Map.qml
+++ /dev/null
@@ -1,26 +0,0 @@
-import Qt 4.7
-import org.webkit 1.0
-
-Item {
- id: page
- property real latitude: -34.397
- property real longitude: 150.644
- property string address: ""
- property alias status: js.status
- WebView {
- id: map
- anchors.fill: parent
- url: "map.html"
- javaScriptWindowObjects: QtObject {
- id: js
- WebView.windowObjectName: "qml"
- property real lat: page.latitude
- property real lng: page.longitude
- property string address: page.address
- property string status: "Loading"
- onAddressChanged: { if (map.url != "" && map.progress==1) map.evaluateJavaScript("goToAddress()") }
- }
- pressGrabTime: 0
- onLoadFinished: { evaluateJavaScript("goToAddress()"); }
- }
-}
diff --git a/examples/declarative/webview/content/Mapping/map.html b/examples/declarative/webview/content/Mapping/map.html
deleted file mode 100755
index a8726fd654..0000000000
--- a/examples/declarative/webview/content/Mapping/map.html
+++ /dev/null
@@ -1,52 +0,0 @@
-<html>
-<head>
-<meta name="viewport" content="initial-scale=1.0, user-scalable=no" />
-<script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=false"></script>
-<script type="text/javascript">
- var geocoder
- var map
- function goToLatLng(latlng,bounds) {
- if (map) {
- map.setCenter(latlng)
- map.fitBounds(bounds)
- } else {
- var myOptions = {
- zoom: 8,
- center: latlng,
- mapTypeId: google.maps.MapTypeId.ROADMAP
- };
- map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);
- }
- }
- function initialize() {
- geocoder = new google.maps.Geocoder();
- if (window.qml.address) {
- goToAddress()
- } else {
- goToLatLng(new google.maps.LatLng(window.qml.lat,window.qml.lng));
- }
- }
- function goToAddress() {
- if (geocoder) {
- var req = {
- address: window.qml.address,
- }
- if (map)
- req.bounds = map.getBounds()
- window.qml.status = "Loading";
- geocoder.geocode(req, function(results, status) {
- if (status == google.maps.GeocoderStatus.OK) {
- window.qml.status = "Ready";
- goToLatLng(results[0].geometry.location,results[0].geometry.bounds);
- } else {
- window.qml.status = "Error";
- }
- });
- }
- }
-</script>
-</head>
-<body onload="initialize()" leftmargin="0px" topmargin="0px" marginwidth="0px" marginheight="0px">
- <div id="map_canvas" style="width:100%; height:100%"></div>
-</body>
-</html>
diff --git a/examples/declarative/webview/content/SpinSquare.qml b/examples/declarative/webview/content/SpinSquare.qml
deleted file mode 100644
index dba48d4ff0..0000000000
--- a/examples/declarative/webview/content/SpinSquare.qml
+++ /dev/null
@@ -1,25 +0,0 @@
-import Qt 4.7
-
-Item {
- property variant period : 250
- property variant color : "black"
- id: root
-
- Item {
- x: root.width/2
- y: root.height/2
- Rectangle {
- color: root.color
- x: -width/2
- y: -height/2
- width: root.width
- height: width
- }
- NumberAnimation on rotation {
- from: 0
- to: 360
- loops: Animation.Infinite
- duration: root.period
- }
- }
-}
diff --git a/examples/declarative/webview/content/pics/cancel.png b/examples/declarative/webview/content/pics/cancel.png
deleted file mode 100644
index ecc95331f2..0000000000
--- a/examples/declarative/webview/content/pics/cancel.png
+++ /dev/null
Binary files differ
diff --git a/examples/declarative/webview/content/pics/ok.png b/examples/declarative/webview/content/pics/ok.png
deleted file mode 100644
index 5795f04fbf..0000000000
--- a/examples/declarative/webview/content/pics/ok.png
+++ /dev/null
Binary files differ
diff --git a/examples/declarative/webview/googleMaps.qml b/examples/declarative/webview/googleMaps.qml
deleted file mode 100644
index 55060127aa..0000000000
--- a/examples/declarative/webview/googleMaps.qml
+++ /dev/null
@@ -1,43 +0,0 @@
-// This example demonstrates how Web services such as Google Maps can be
-// abstracted as QML types. Here we have a "Mapping" module with a "Map"
-// type. The Map type has an address property. Setting that property moves
-// the map. The underlying implementation uses WebView and the Google Maps
-// API, but users from QML don't need to understand the implementation in
-// order to create a Map.
-
-import Qt 4.7
-import org.webkit 1.0
-import "content/Mapping"
-
-Map {
- id: map
- width: 300
- height: 300
- address: "Paris"
-
- Rectangle {
- x: 70
- width: input.width + 20
- height: input.height + 4
- anchors.bottom: parent.bottom; anchors.bottomMargin: 5
- radius: 5
- opacity: map.status == "Ready" ? 1 : 0
-
- TextInput {
- id: input
- text: map.address
- anchors.centerIn: parent
- Keys.onReturnPressed: map.address = input.text
- }
- }
-
- Text {
- id: loading
- anchors.centerIn: parent
- text: map.status == "Error" ? "Error" : "Loading"
- opacity: map.status == "Ready" ? 0 : 1
- font.pixelSize: 30
-
- Behavior on opacity { NumberAnimation{} }
- }
-}
diff --git a/examples/declarative/webview/inline-html.qml b/examples/declarative/webview/inline-html.qml
deleted file mode 100644
index eec7fc6f76..0000000000
--- a/examples/declarative/webview/inline-html.qml
+++ /dev/null
@@ -1,15 +0,0 @@
-import Qt 4.7
-import org.webkit 1.0
-
-// Inline HTML with loose formatting can be
-// set on the html property.
-WebView {
- html:"\
- <body bgcolor=white>\
- <table border=1>\
- <tr><th><th>One<th>Two<th>Three\
- <tr><th>1<td>X<td>1<td>X\
- <tr><th>2<td>0<td>X<td>0\
- <tr><th>3<td>X<td>1<td>X\
- </table>"
-}
diff --git a/examples/declarative/webview/newwindows.qml b/examples/declarative/webview/newwindows.qml
deleted file mode 100644
index 2e4a72efff..0000000000
--- a/examples/declarative/webview/newwindows.qml
+++ /dev/null
@@ -1,31 +0,0 @@
-// Demonstrates opening new WebViews from HTML
-//
-// Note that to open windows from JavaScript, you will need to
-// allow it on WebView with settings.javascriptCanOpenWindows: true
-
-import Qt 4.7
-import org.webkit 1.0
-
-Grid {
- columns: 3
- id: pages
- height: 300; width: 600
-
- Component {
- id: webViewPage
- Rectangle {
- width: webView.width
- height: webView.height
- border.color: "gray"
-
- WebView {
- id: webView
- newWindowComponent: webViewPage
- newWindowParent: pages
- url: "newwindows.html"
- }
- }
- }
-
- Loader { sourceComponent: webViewPage }
-}
diff --git a/examples/declarative/webview/transparent.qml b/examples/declarative/webview/transparent.qml
deleted file mode 100644
index e4efc31bcf..0000000000
--- a/examples/declarative/webview/transparent.qml
+++ /dev/null
@@ -1,15 +0,0 @@
-import Qt 4.7
-import org.webkit 1.0
-
-// The WebView background is transparent
-// if the HTML does not specify a background
-Rectangle {
- color: "green"
- width: web.width
- height: web.height
-
- WebView {
- id: web
- html: "Hello <b>World!</b>"
- }
-}
diff --git a/examples/declarative/workerscript/workerscript.qml b/examples/declarative/workerscript/workerscript.qml
deleted file mode 100644
index 2294a81394..0000000000
--- a/examples/declarative/workerscript/workerscript.qml
+++ /dev/null
@@ -1,43 +0,0 @@
-import Qt 4.7
-
-Rectangle {
- width: 480; height: 320
-
- WorkerScript {
- id: myWorker
- source: "workerscript.js"
-
- onMessage: {
- console.log("Moved " + messageObject.xmove + " along the X axis.");
- console.log("Moved " + messageObject.ymove + " along the Y axis.");
- console.log("Moved " + messageObject.move + " pixels.");
- }
- }
-
- Rectangle {
- width: 200; height: 200
- anchors.left: parent.left; anchors.leftMargin: 20
- color: "red"
-
- MouseArea {
- anchors.fill: parent
- onClicked: myWorker.sendMessage( { rectangle: "red", x: mouse.x, y: mouse.y } );
- }
- }
-
- Rectangle {
- width: 200; height: 200
- anchors.right: parent.right; anchors.rightMargin: 20
- color: "blue"
-
- MouseArea {
- anchors.fill: parent
- onClicked: myWorker.sendMessage( { rectangle: "blue", x: mouse.x, y: mouse.y } );
- }
- }
-
- Text {
- text: "Click a Rectangle!"
- anchors { horizontalCenter: parent.horizontalCenter; bottom: parent.bottom; bottomMargin: 50 }
- }
-}
diff --git a/examples/declarative/xml/xml.qmlproject b/examples/declarative/xml/xml.qmlproject
new file mode 100644
index 0000000000..d4909f8685
--- /dev/null
+++ b/examples/declarative/xml/xml.qmlproject
@@ -0,0 +1,16 @@
+import QmlProject 1.0
+
+Project {
+ /* Include .qml, .js, and image files from current directory and subdirectories */
+ QmlFiles {
+ directory: "."
+ }
+ JavaScriptFiles {
+ directory: "."
+ }
+ ImageFiles {
+ directory: "."
+ }
+ /* List of plugin directories passed to QML runtime */
+ // importPaths: [ " ../exampleplugin " ]
+}
diff --git a/examples/declarative/xml/xmlhttprequest/test.qml b/examples/declarative/xml/xmlhttprequest/test.qml
new file mode 100644
index 0000000000..e5f0875420
--- /dev/null
+++ b/examples/declarative/xml/xmlhttprequest/test.qml
@@ -0,0 +1,76 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+import Qt 4.7
+
+Rectangle {
+ width: 800; height: 600
+
+ MouseArea {
+ anchors.fill: parent
+
+ onClicked: {
+ var doc = new XMLHttpRequest();
+ doc.onreadystatechange = function() {
+ if (doc.readyState == XMLHttpRequest.HEADERS_RECEIVED) {
+ console.log("Headers -->");
+ console.log(doc.getAllResponseHeaders ());
+ console.log("Last modified -->");
+ console.log(doc.getResponseHeader ("Last-Modified"));
+ }
+ else if (doc.readyState == XMLHttpRequest.DONE) {
+
+ var a = doc.responseXML.documentElement;
+ for (var ii = 0; ii < a.childNodes.length; ++ii) {
+ console.log(a.childNodes[ii].nodeName);
+ }
+ console.log("Headers -->");
+ console.log(doc.getAllResponseHeaders ());
+ console.log("Last modified -->");
+ console.log(doc.getResponseHeader ("Last-Modified"));
+
+ }
+ }
+
+ doc.open("GET", "test.xml");
+ doc.send();
+ }
+ }
+}
diff --git a/examples/declarative/xmlhttprequest/test.xml b/examples/declarative/xml/xmlhttprequest/test.xml
index 8b7f1e116d..8b7f1e116d 100644
--- a/examples/declarative/xmlhttprequest/test.xml
+++ b/examples/declarative/xml/xmlhttprequest/test.xml
diff --git a/examples/declarative/xml/xmlhttprequest/xmlhttprequest.qmlproject b/examples/declarative/xml/xmlhttprequest/xmlhttprequest.qmlproject
new file mode 100644
index 0000000000..d4909f8685
--- /dev/null
+++ b/examples/declarative/xml/xmlhttprequest/xmlhttprequest.qmlproject
@@ -0,0 +1,16 @@
+import QmlProject 1.0
+
+Project {
+ /* Include .qml, .js, and image files from current directory and subdirectories */
+ QmlFiles {
+ directory: "."
+ }
+ JavaScriptFiles {
+ directory: "."
+ }
+ ImageFiles {
+ directory: "."
+ }
+ /* List of plugin directories passed to QML runtime */
+ // importPaths: [ " ../exampleplugin " ]
+}
diff --git a/examples/declarative/xmldata/daringfireball.qml b/examples/declarative/xmldata/daringfireball.qml
deleted file mode 100644
index a1df80948e..0000000000
--- a/examples/declarative/xmldata/daringfireball.qml
+++ /dev/null
@@ -1,48 +0,0 @@
-import Qt 4.7
-
-Rectangle {
- color: "white"
- width: 600; height: 600
-
- XmlListModel {
- id: feedModel
- source: "http://daringfireball.net/index.xml"
- query: "/feed/entry"
- namespaceDeclarations: "declare default element namespace 'http://www.w3.org/2005/Atom';"
- XmlRole { name: "title"; query: "title/string()" }
- XmlRole { name: "tagline"; query: "author/name/string()" }
- XmlRole { name: "content"; query: "content/string()" }
- }
-
- Component {
- id: feedDelegate
- Item {
- height: childrenRect.height + 20
- Text {
- id: titleText
- x: 10
- text: title; font.bold: true
- }
- Text {
- anchors { left: titleText.right; leftMargin: 10 }
- text: 'by ' + tagline
- font.italic: true
- }
- Text {
- x: 10
- width: 580
- anchors.top: titleText.bottom
- text: content
- wrapMode: Text.WordWrap
-
- onLinkActivated: { console.log('link clicked: ' + link) }
- }
- }
- }
-
- ListView {
- anchors.fill: parent
- model: feedModel
- delegate: feedDelegate
- }
-}
diff --git a/examples/declarative/xmldata/yahoonews.qml b/examples/declarative/xmldata/yahoonews.qml
deleted file mode 100644
index 668778e721..0000000000
--- a/examples/declarative/xmldata/yahoonews.qml
+++ /dev/null
@@ -1,83 +0,0 @@
-import Qt 4.7
-
-Rectangle {
- width: 600; height: 600
-
- gradient: Gradient {
- GradientStop { position: 0; color: "black" }
- GradientStop { position: 1.0; color: "#AAAAAA" }
- }
-
- XmlListModel {
- id: feedModel
- source: "http://rss.news.yahoo.com/rss/oceania"
- query: "/rss/channel/item"
- XmlRole { name: "title"; query: "title/string()" }
- XmlRole { name: "link"; query: "link/string()" }
- XmlRole { name: "description"; query: "description/string()" }
- }
-
- Component {
- id: feedDelegate
-
- Item {
- id: delegate
- height: wrapper.height + 10
-
- MouseArea {
- anchors.fill: wrapper
- onPressed: delegate.ListView.view.currentIndex = index;
- onClicked: if (wrapper.state == 'Details') wrapper.state = ''; else wrapper.state = 'Details';
- }
-
- Rectangle {
- id: wrapper
-
- width: 580; y: 5; height: titleText.height + 10
- color: "#F0F0F0"
- radius: 5
-
- Text {
- id: titleText
- x: 10; y: 5
- text: '<a href=\'' + link + '\'>' + title + '</a>'
- font { bold: true; family: "Helvetica"; pointSize: 14 }
-
- onLinkActivated: { console.log('link clicked: ' + link) }
- }
-
- Text {
- id: descriptionText
- x: 10; width: 560
- anchors.top: titleText.bottom; anchors.topMargin: 5
- text: description
- wrapMode: Text.WordWrap
- font.family: "Helvetica"
- opacity: 0
- }
-
- states: State {
- name: "Details"
- PropertyChanges { target: wrapper; height: childrenRect.height + 10 }
- PropertyChanges { target: descriptionText; opacity: 1 }
- }
-
- transitions: Transition {
- from: "*"; to: "Details"; reversible: true
- SequentialAnimation {
- NumberAnimation { duration: 200; properties: "height"; easing.type: "OutQuad" }
- NumberAnimation { duration: 200; properties: "opacity" }
- }
- }
- }
- }
- }
-
- ListView {
- id: list
- x: 10; y: 10
- width: parent.width - 20; height: parent.height - 20
- model: feedModel
- delegate: feedDelegate
- }
-}
diff --git a/examples/declarative/xmlhttprequest/test.qml b/examples/declarative/xmlhttprequest/test.qml
deleted file mode 100644
index c7e7e6dec3..0000000000
--- a/examples/declarative/xmlhttprequest/test.qml
+++ /dev/null
@@ -1,36 +0,0 @@
-import Qt 4.7
-
-Rectangle {
- width: 800; height: 600
-
- MouseArea {
- anchors.fill: parent
-
- onClicked: {
- var doc = new XMLHttpRequest();
- doc.onreadystatechange = function() {
- if (doc.readyState == XMLHttpRequest.HEADERS_RECEIVED) {
- console.log("Headers -->");
- console.log(doc.getAllResponseHeaders ());
- console.log("Last modified -->");
- console.log(doc.getResponseHeader ("Last-Modified"));
- }
- else if (doc.readyState == XMLHttpRequest.DONE) {
-
- var a = doc.responseXML.documentElement;
- for (var ii = 0; ii < a.childNodes.length; ++ii) {
- console.log(a.childNodes[ii].nodeName);
- }
- console.log("Headers -->");
- console.log(doc.getAllResponseHeaders ());
- console.log("Last modified -->");
- console.log(doc.getResponseHeader ("Last-Modified"));
-
- }
- }
-
- doc.open("GET", "test.xml");
- doc.send();
- }
- }
-}
diff --git a/examples/designer/calculatorbuilder/calculatorform.cpp b/examples/designer/calculatorbuilder/calculatorform.cpp
index b3b814ebab..34c869e3aa 100644
--- a/examples/designer/calculatorbuilder/calculatorform.cpp
+++ b/examples/designer/calculatorbuilder/calculatorform.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/designer/calculatorbuilder/calculatorform.h b/examples/designer/calculatorbuilder/calculatorform.h
index 7cc9b375bc..27bfdee1ce 100644
--- a/examples/designer/calculatorbuilder/calculatorform.h
+++ b/examples/designer/calculatorbuilder/calculatorform.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/designer/calculatorbuilder/main.cpp b/examples/designer/calculatorbuilder/main.cpp
index f298f19688..87a85bf6c4 100644
--- a/examples/designer/calculatorbuilder/main.cpp
+++ b/examples/designer/calculatorbuilder/main.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/designer/calculatorform/calculatorform.cpp b/examples/designer/calculatorform/calculatorform.cpp
index cf51143934..784a7484e4 100644
--- a/examples/designer/calculatorform/calculatorform.cpp
+++ b/examples/designer/calculatorform/calculatorform.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/designer/calculatorform/calculatorform.h b/examples/designer/calculatorform/calculatorform.h
index cba9b46a63..ce511b2a1c 100644
--- a/examples/designer/calculatorform/calculatorform.h
+++ b/examples/designer/calculatorform/calculatorform.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/designer/calculatorform/main.cpp b/examples/designer/calculatorform/main.cpp
index 8d9452dad1..55b731a5c3 100644
--- a/examples/designer/calculatorform/main.cpp
+++ b/examples/designer/calculatorform/main.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/designer/containerextension/multipagewidget.cpp b/examples/designer/containerextension/multipagewidget.cpp
index d743630b22..4fac692383 100644
--- a/examples/designer/containerextension/multipagewidget.cpp
+++ b/examples/designer/containerextension/multipagewidget.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/designer/containerextension/multipagewidget.h b/examples/designer/containerextension/multipagewidget.h
index c4c613698a..afe2624694 100644
--- a/examples/designer/containerextension/multipagewidget.h
+++ b/examples/designer/containerextension/multipagewidget.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/designer/containerextension/multipagewidgetcontainerextension.cpp b/examples/designer/containerextension/multipagewidgetcontainerextension.cpp
index d7909eec01..81c3262c3e 100644
--- a/examples/designer/containerextension/multipagewidgetcontainerextension.cpp
+++ b/examples/designer/containerextension/multipagewidgetcontainerextension.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/designer/containerextension/multipagewidgetcontainerextension.h b/examples/designer/containerextension/multipagewidgetcontainerextension.h
index 7dd1b1fe70..362a893a4e 100644
--- a/examples/designer/containerextension/multipagewidgetcontainerextension.h
+++ b/examples/designer/containerextension/multipagewidgetcontainerextension.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/designer/containerextension/multipagewidgetextensionfactory.cpp b/examples/designer/containerextension/multipagewidgetextensionfactory.cpp
index 45975216dd..942d8ce163 100644
--- a/examples/designer/containerextension/multipagewidgetextensionfactory.cpp
+++ b/examples/designer/containerextension/multipagewidgetextensionfactory.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/designer/containerextension/multipagewidgetextensionfactory.h b/examples/designer/containerextension/multipagewidgetextensionfactory.h
index 0850b7433d..df578bfbfd 100644
--- a/examples/designer/containerextension/multipagewidgetextensionfactory.h
+++ b/examples/designer/containerextension/multipagewidgetextensionfactory.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/designer/containerextension/multipagewidgetplugin.cpp b/examples/designer/containerextension/multipagewidgetplugin.cpp
index 89e28d88e9..ec1f123fa7 100644
--- a/examples/designer/containerextension/multipagewidgetplugin.cpp
+++ b/examples/designer/containerextension/multipagewidgetplugin.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/designer/containerextension/multipagewidgetplugin.h b/examples/designer/containerextension/multipagewidgetplugin.h
index a7d8dd8bd0..b1341e10cc 100644
--- a/examples/designer/containerextension/multipagewidgetplugin.h
+++ b/examples/designer/containerextension/multipagewidgetplugin.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/designer/customwidgetplugin/analogclock.cpp b/examples/designer/customwidgetplugin/analogclock.cpp
index 046521e568..03a37658b6 100644
--- a/examples/designer/customwidgetplugin/analogclock.cpp
+++ b/examples/designer/customwidgetplugin/analogclock.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/designer/customwidgetplugin/analogclock.h b/examples/designer/customwidgetplugin/analogclock.h
index 4535e34c04..f15b09c8cf 100644
--- a/examples/designer/customwidgetplugin/analogclock.h
+++ b/examples/designer/customwidgetplugin/analogclock.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/designer/customwidgetplugin/customwidgetplugin.cpp b/examples/designer/customwidgetplugin/customwidgetplugin.cpp
index 0688f310fb..bf4ded4338 100644
--- a/examples/designer/customwidgetplugin/customwidgetplugin.cpp
+++ b/examples/designer/customwidgetplugin/customwidgetplugin.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/designer/customwidgetplugin/customwidgetplugin.h b/examples/designer/customwidgetplugin/customwidgetplugin.h
index 51f921e183..ff2c3ce25a 100644
--- a/examples/designer/customwidgetplugin/customwidgetplugin.h
+++ b/examples/designer/customwidgetplugin/customwidgetplugin.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/designer/taskmenuextension/tictactoe.cpp b/examples/designer/taskmenuextension/tictactoe.cpp
index e878ece0e0..8fb755fd4b 100644
--- a/examples/designer/taskmenuextension/tictactoe.cpp
+++ b/examples/designer/taskmenuextension/tictactoe.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/designer/taskmenuextension/tictactoe.h b/examples/designer/taskmenuextension/tictactoe.h
index c4a8b5b90b..4066e118fe 100644
--- a/examples/designer/taskmenuextension/tictactoe.h
+++ b/examples/designer/taskmenuextension/tictactoe.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/designer/taskmenuextension/tictactoedialog.cpp b/examples/designer/taskmenuextension/tictactoedialog.cpp
index 2fbe2765f9..20b27594a3 100644
--- a/examples/designer/taskmenuextension/tictactoedialog.cpp
+++ b/examples/designer/taskmenuextension/tictactoedialog.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/designer/taskmenuextension/tictactoedialog.h b/examples/designer/taskmenuextension/tictactoedialog.h
index 3d810dde7a..387d72dbb7 100644
--- a/examples/designer/taskmenuextension/tictactoedialog.h
+++ b/examples/designer/taskmenuextension/tictactoedialog.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/designer/taskmenuextension/tictactoeplugin.cpp b/examples/designer/taskmenuextension/tictactoeplugin.cpp
index b23300a5dd..9cf6e3bb11 100644
--- a/examples/designer/taskmenuextension/tictactoeplugin.cpp
+++ b/examples/designer/taskmenuextension/tictactoeplugin.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/designer/taskmenuextension/tictactoeplugin.h b/examples/designer/taskmenuextension/tictactoeplugin.h
index ba101f9f47..517c316321 100644
--- a/examples/designer/taskmenuextension/tictactoeplugin.h
+++ b/examples/designer/taskmenuextension/tictactoeplugin.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/designer/taskmenuextension/tictactoetaskmenu.cpp b/examples/designer/taskmenuextension/tictactoetaskmenu.cpp
index 217019d083..1c0cb74b24 100644
--- a/examples/designer/taskmenuextension/tictactoetaskmenu.cpp
+++ b/examples/designer/taskmenuextension/tictactoetaskmenu.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/designer/taskmenuextension/tictactoetaskmenu.h b/examples/designer/taskmenuextension/tictactoetaskmenu.h
index dea4617534..6dced7401e 100644
--- a/examples/designer/taskmenuextension/tictactoetaskmenu.h
+++ b/examples/designer/taskmenuextension/tictactoetaskmenu.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/designer/worldtimeclockbuilder/main.cpp b/examples/designer/worldtimeclockbuilder/main.cpp
index 3d1eb3f195..b4b872a0d7 100644
--- a/examples/designer/worldtimeclockbuilder/main.cpp
+++ b/examples/designer/worldtimeclockbuilder/main.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/designer/worldtimeclockplugin/worldtimeclock.cpp b/examples/designer/worldtimeclockplugin/worldtimeclock.cpp
index 57b50ce331..eccb3090cc 100644
--- a/examples/designer/worldtimeclockplugin/worldtimeclock.cpp
+++ b/examples/designer/worldtimeclockplugin/worldtimeclock.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/designer/worldtimeclockplugin/worldtimeclock.h b/examples/designer/worldtimeclockplugin/worldtimeclock.h
index 0935e51349..8d1edf62bd 100644
--- a/examples/designer/worldtimeclockplugin/worldtimeclock.h
+++ b/examples/designer/worldtimeclockplugin/worldtimeclock.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/designer/worldtimeclockplugin/worldtimeclockplugin.cpp b/examples/designer/worldtimeclockplugin/worldtimeclockplugin.cpp
index 2bc47796be..2a154286b3 100644
--- a/examples/designer/worldtimeclockplugin/worldtimeclockplugin.cpp
+++ b/examples/designer/worldtimeclockplugin/worldtimeclockplugin.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/designer/worldtimeclockplugin/worldtimeclockplugin.h b/examples/designer/worldtimeclockplugin/worldtimeclockplugin.h
index 40e88f2755..7a1b947ace 100644
--- a/examples/designer/worldtimeclockplugin/worldtimeclockplugin.h
+++ b/examples/designer/worldtimeclockplugin/worldtimeclockplugin.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/desktop/screenshot/main.cpp b/examples/desktop/screenshot/main.cpp
index 9ebfb9d29b..2cfbb6e894 100644
--- a/examples/desktop/screenshot/main.cpp
+++ b/examples/desktop/screenshot/main.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/desktop/screenshot/screenshot.cpp b/examples/desktop/screenshot/screenshot.cpp
index 9704292cb1..303f4d86e5 100644
--- a/examples/desktop/screenshot/screenshot.cpp
+++ b/examples/desktop/screenshot/screenshot.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/desktop/screenshot/screenshot.h b/examples/desktop/screenshot/screenshot.h
index cc92537715..425a0e5349 100644
--- a/examples/desktop/screenshot/screenshot.h
+++ b/examples/desktop/screenshot/screenshot.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/desktop/systray/main.cpp b/examples/desktop/systray/main.cpp
index a313103294..7c40123929 100644
--- a/examples/desktop/systray/main.cpp
+++ b/examples/desktop/systray/main.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/desktop/systray/window.cpp b/examples/desktop/systray/window.cpp
index 58c1c08e64..a3ade553c4 100644
--- a/examples/desktop/systray/window.cpp
+++ b/examples/desktop/systray/window.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/desktop/systray/window.h b/examples/desktop/systray/window.h
index 62dce0c7ce..504fd1ebd3 100644
--- a/examples/desktop/systray/window.h
+++ b/examples/desktop/systray/window.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/dialogs/classwizard/classwizard.cpp b/examples/dialogs/classwizard/classwizard.cpp
index 9c7e45363f..e16407c318 100644
--- a/examples/dialogs/classwizard/classwizard.cpp
+++ b/examples/dialogs/classwizard/classwizard.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/dialogs/classwizard/classwizard.h b/examples/dialogs/classwizard/classwizard.h
index 17d3def213..0e65961b90 100644
--- a/examples/dialogs/classwizard/classwizard.h
+++ b/examples/dialogs/classwizard/classwizard.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/dialogs/classwizard/main.cpp b/examples/dialogs/classwizard/main.cpp
index 98c4567560..652f1ef2d0 100644
--- a/examples/dialogs/classwizard/main.cpp
+++ b/examples/dialogs/classwizard/main.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/dialogs/configdialog/configdialog.cpp b/examples/dialogs/configdialog/configdialog.cpp
index 4b91496fbb..38f47a9efa 100644
--- a/examples/dialogs/configdialog/configdialog.cpp
+++ b/examples/dialogs/configdialog/configdialog.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/dialogs/configdialog/configdialog.h b/examples/dialogs/configdialog/configdialog.h
index 46e44a6284..c2946de626 100644
--- a/examples/dialogs/configdialog/configdialog.h
+++ b/examples/dialogs/configdialog/configdialog.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/dialogs/configdialog/main.cpp b/examples/dialogs/configdialog/main.cpp
index d83be3eb7e..cc0c4bfe24 100644
--- a/examples/dialogs/configdialog/main.cpp
+++ b/examples/dialogs/configdialog/main.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/dialogs/configdialog/pages.cpp b/examples/dialogs/configdialog/pages.cpp
index 3eca399434..0397991d74 100644
--- a/examples/dialogs/configdialog/pages.cpp
+++ b/examples/dialogs/configdialog/pages.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/dialogs/configdialog/pages.h b/examples/dialogs/configdialog/pages.h
index 68a578aa28..9b8a0c1ed9 100644
--- a/examples/dialogs/configdialog/pages.h
+++ b/examples/dialogs/configdialog/pages.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/dialogs/extension/finddialog.cpp b/examples/dialogs/extension/finddialog.cpp
index 56283282cf..4569c81571 100644
--- a/examples/dialogs/extension/finddialog.cpp
+++ b/examples/dialogs/extension/finddialog.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/dialogs/extension/finddialog.h b/examples/dialogs/extension/finddialog.h
index bd469ce597..07024152d8 100644
--- a/examples/dialogs/extension/finddialog.h
+++ b/examples/dialogs/extension/finddialog.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/dialogs/extension/main.cpp b/examples/dialogs/extension/main.cpp
index 8b411544a2..c60658579b 100644
--- a/examples/dialogs/extension/main.cpp
+++ b/examples/dialogs/extension/main.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/dialogs/findfiles/main.cpp b/examples/dialogs/findfiles/main.cpp
index a0686b68ec..ab53c16467 100644
--- a/examples/dialogs/findfiles/main.cpp
+++ b/examples/dialogs/findfiles/main.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/dialogs/findfiles/window.cpp b/examples/dialogs/findfiles/window.cpp
index 2af70fe62f..2611154bb2 100644
--- a/examples/dialogs/findfiles/window.cpp
+++ b/examples/dialogs/findfiles/window.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/dialogs/findfiles/window.h b/examples/dialogs/findfiles/window.h
index 9e250e24a7..839a9345da 100644
--- a/examples/dialogs/findfiles/window.h
+++ b/examples/dialogs/findfiles/window.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/dialogs/licensewizard/licensewizard.cpp b/examples/dialogs/licensewizard/licensewizard.cpp
index 837682e253..b5dac9dad2 100644
--- a/examples/dialogs/licensewizard/licensewizard.cpp
+++ b/examples/dialogs/licensewizard/licensewizard.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/dialogs/licensewizard/licensewizard.h b/examples/dialogs/licensewizard/licensewizard.h
index eb9f5b945e..f5b2d0b502 100644
--- a/examples/dialogs/licensewizard/licensewizard.h
+++ b/examples/dialogs/licensewizard/licensewizard.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/dialogs/licensewizard/main.cpp b/examples/dialogs/licensewizard/main.cpp
index a312948b38..f2e6bfa12b 100644
--- a/examples/dialogs/licensewizard/main.cpp
+++ b/examples/dialogs/licensewizard/main.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/dialogs/sipdialog/dialog.cpp b/examples/dialogs/sipdialog/dialog.cpp
index c73f1fc847..abe7aefc6a 100644
--- a/examples/dialogs/sipdialog/dialog.cpp
+++ b/examples/dialogs/sipdialog/dialog.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/dialogs/sipdialog/dialog.h b/examples/dialogs/sipdialog/dialog.h
index edc08e9669..dbf56b564b 100644
--- a/examples/dialogs/sipdialog/dialog.h
+++ b/examples/dialogs/sipdialog/dialog.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/dialogs/sipdialog/main.cpp b/examples/dialogs/sipdialog/main.cpp
index 84cd3b37e8..f9e5f44f7a 100644
--- a/examples/dialogs/sipdialog/main.cpp
+++ b/examples/dialogs/sipdialog/main.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/dialogs/standarddialogs/dialog.cpp b/examples/dialogs/standarddialogs/dialog.cpp
index 92ed334ce9..bf4f453c73 100644
--- a/examples/dialogs/standarddialogs/dialog.cpp
+++ b/examples/dialogs/standarddialogs/dialog.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/dialogs/standarddialogs/dialog.h b/examples/dialogs/standarddialogs/dialog.h
index fb6b64f677..dd8922c8ff 100644
--- a/examples/dialogs/standarddialogs/dialog.h
+++ b/examples/dialogs/standarddialogs/dialog.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/dialogs/standarddialogs/main.cpp b/examples/dialogs/standarddialogs/main.cpp
index 361c02e843..96350d1e35 100644
--- a/examples/dialogs/standarddialogs/main.cpp
+++ b/examples/dialogs/standarddialogs/main.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/dialogs/tabdialog/main.cpp b/examples/dialogs/tabdialog/main.cpp
index c624af5447..35951accd3 100644
--- a/examples/dialogs/tabdialog/main.cpp
+++ b/examples/dialogs/tabdialog/main.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/dialogs/tabdialog/tabdialog.cpp b/examples/dialogs/tabdialog/tabdialog.cpp
index 2005ea00b9..7156ef6e50 100644
--- a/examples/dialogs/tabdialog/tabdialog.cpp
+++ b/examples/dialogs/tabdialog/tabdialog.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/dialogs/tabdialog/tabdialog.h b/examples/dialogs/tabdialog/tabdialog.h
index 442e0efd9a..e55d6c2959 100644
--- a/examples/dialogs/tabdialog/tabdialog.h
+++ b/examples/dialogs/tabdialog/tabdialog.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/dialogs/trivialwizard/trivialwizard.cpp b/examples/dialogs/trivialwizard/trivialwizard.cpp
index df8bae48b2..40d8342638 100644
--- a/examples/dialogs/trivialwizard/trivialwizard.cpp
+++ b/examples/dialogs/trivialwizard/trivialwizard.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/draganddrop/delayedencoding/images/example.svg b/examples/draganddrop/delayedencoding/images/example.svg
index 4c7930a325..05798be187 100644
--- a/examples/draganddrop/delayedencoding/images/example.svg
+++ b/examples/draganddrop/delayedencoding/images/example.svg
@@ -7,35 +7,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
************************************************************************ -->
diff --git a/examples/draganddrop/delayedencoding/main.cpp b/examples/draganddrop/delayedencoding/main.cpp
index 8323ec808b..8eb091d79b 100644
--- a/examples/draganddrop/delayedencoding/main.cpp
+++ b/examples/draganddrop/delayedencoding/main.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/draganddrop/delayedencoding/mimedata.cpp b/examples/draganddrop/delayedencoding/mimedata.cpp
index 4dce408cba..c0875f7a82 100644
--- a/examples/draganddrop/delayedencoding/mimedata.cpp
+++ b/examples/draganddrop/delayedencoding/mimedata.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/draganddrop/delayedencoding/mimedata.h b/examples/draganddrop/delayedencoding/mimedata.h
index f25f74b809..4766a5c097 100644
--- a/examples/draganddrop/delayedencoding/mimedata.h
+++ b/examples/draganddrop/delayedencoding/mimedata.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/draganddrop/delayedencoding/sourcewidget.cpp b/examples/draganddrop/delayedencoding/sourcewidget.cpp
index 3e0629d00f..983612136e 100644
--- a/examples/draganddrop/delayedencoding/sourcewidget.cpp
+++ b/examples/draganddrop/delayedencoding/sourcewidget.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/draganddrop/delayedencoding/sourcewidget.h b/examples/draganddrop/delayedencoding/sourcewidget.h
index 9ea2573247..e32705c0fe 100644
--- a/examples/draganddrop/delayedencoding/sourcewidget.h
+++ b/examples/draganddrop/delayedencoding/sourcewidget.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/draganddrop/draggableicons/dragwidget.cpp b/examples/draganddrop/draggableicons/dragwidget.cpp
index d77b37c3f6..34b20e697f 100644
--- a/examples/draganddrop/draggableicons/dragwidget.cpp
+++ b/examples/draganddrop/draggableicons/dragwidget.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/draganddrop/draggableicons/dragwidget.h b/examples/draganddrop/draggableicons/dragwidget.h
index b31bbadfbc..4c07e60090 100644
--- a/examples/draganddrop/draggableicons/dragwidget.h
+++ b/examples/draganddrop/draggableicons/dragwidget.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/draganddrop/draggableicons/main.cpp b/examples/draganddrop/draggableicons/main.cpp
index 9aa63f0443..6571085d2b 100644
--- a/examples/draganddrop/draggableicons/main.cpp
+++ b/examples/draganddrop/draggableicons/main.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/draganddrop/draggabletext/draglabel.cpp b/examples/draganddrop/draggabletext/draglabel.cpp
index ac8ee4cb63..9c0970bec7 100644
--- a/examples/draganddrop/draggabletext/draglabel.cpp
+++ b/examples/draganddrop/draggabletext/draglabel.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/draganddrop/draggabletext/draglabel.h b/examples/draganddrop/draggabletext/draglabel.h
index 520c024eab..f4fc0d7532 100644
--- a/examples/draganddrop/draggabletext/draglabel.h
+++ b/examples/draganddrop/draggabletext/draglabel.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/draganddrop/draggabletext/dragwidget.cpp b/examples/draganddrop/draggabletext/dragwidget.cpp
index 1fd40becce..4a9b290f57 100644
--- a/examples/draganddrop/draggabletext/dragwidget.cpp
+++ b/examples/draganddrop/draggabletext/dragwidget.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/draganddrop/draggabletext/dragwidget.h b/examples/draganddrop/draggabletext/dragwidget.h
index 814bd9f2f4..19c9bbabed 100644
--- a/examples/draganddrop/draggabletext/dragwidget.h
+++ b/examples/draganddrop/draggabletext/dragwidget.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/draganddrop/draggabletext/main.cpp b/examples/draganddrop/draggabletext/main.cpp
index 10f2623a04..b3da0bd0ce 100644
--- a/examples/draganddrop/draggabletext/main.cpp
+++ b/examples/draganddrop/draggabletext/main.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/draganddrop/dropsite/droparea.cpp b/examples/draganddrop/dropsite/droparea.cpp
index a40c028f10..39396a3470 100644
--- a/examples/draganddrop/dropsite/droparea.cpp
+++ b/examples/draganddrop/dropsite/droparea.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/draganddrop/dropsite/droparea.h b/examples/draganddrop/dropsite/droparea.h
index 98a6a0593f..6f0c431cfe 100644
--- a/examples/draganddrop/dropsite/droparea.h
+++ b/examples/draganddrop/dropsite/droparea.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/draganddrop/dropsite/dropsitewindow.cpp b/examples/draganddrop/dropsite/dropsitewindow.cpp
index d99907ec47..7a062430a3 100644
--- a/examples/draganddrop/dropsite/dropsitewindow.cpp
+++ b/examples/draganddrop/dropsite/dropsitewindow.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/draganddrop/dropsite/dropsitewindow.h b/examples/draganddrop/dropsite/dropsitewindow.h
index 6b3c12dc9d..42e43f8c42 100644
--- a/examples/draganddrop/dropsite/dropsitewindow.h
+++ b/examples/draganddrop/dropsite/dropsitewindow.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/draganddrop/dropsite/main.cpp b/examples/draganddrop/dropsite/main.cpp
index 8b2b7f54a8..8afce34740 100644
--- a/examples/draganddrop/dropsite/main.cpp
+++ b/examples/draganddrop/dropsite/main.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/draganddrop/fridgemagnets/draglabel.cpp b/examples/draganddrop/fridgemagnets/draglabel.cpp
index b43470543e..5134d51398 100644
--- a/examples/draganddrop/fridgemagnets/draglabel.cpp
+++ b/examples/draganddrop/fridgemagnets/draglabel.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/draganddrop/fridgemagnets/draglabel.h b/examples/draganddrop/fridgemagnets/draglabel.h
index 35581479ea..c02d9c5c81 100644
--- a/examples/draganddrop/fridgemagnets/draglabel.h
+++ b/examples/draganddrop/fridgemagnets/draglabel.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/draganddrop/fridgemagnets/dragwidget.cpp b/examples/draganddrop/fridgemagnets/dragwidget.cpp
index e570fbf2ed..85470a2376 100644
--- a/examples/draganddrop/fridgemagnets/dragwidget.cpp
+++ b/examples/draganddrop/fridgemagnets/dragwidget.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/draganddrop/fridgemagnets/dragwidget.h b/examples/draganddrop/fridgemagnets/dragwidget.h
index 929415ea4f..9c997d5fa1 100644
--- a/examples/draganddrop/fridgemagnets/dragwidget.h
+++ b/examples/draganddrop/fridgemagnets/dragwidget.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/draganddrop/fridgemagnets/main.cpp b/examples/draganddrop/fridgemagnets/main.cpp
index 3c517bd93d..4a816960f9 100644
--- a/examples/draganddrop/fridgemagnets/main.cpp
+++ b/examples/draganddrop/fridgemagnets/main.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
@@ -45,16 +44,14 @@
int main(int argc, char *argv[])
{
Q_INIT_RESOURCE(fridgemagnets);
- bool smallScreen = false;
- for (int i=0; i<argc; i++)
- if (QString(argv[i]) == "-small-screen")
- smallScreen = true;
QApplication app(argc, argv);
#ifdef QT_KEYPAD_NAVIGATION
QApplication::setNavigationMode(Qt::NavigationModeCursorAuto);
#endif
DragWidget window;
+
+ bool smallScreen = QApplication::arguments().contains("-small-screen");
if (smallScreen)
window.showFullScreen();
else
diff --git a/examples/draganddrop/puzzle/main.cpp b/examples/draganddrop/puzzle/main.cpp
index e603adc756..9b9c80141f 100644
--- a/examples/draganddrop/puzzle/main.cpp
+++ b/examples/draganddrop/puzzle/main.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/draganddrop/puzzle/mainwindow.cpp b/examples/draganddrop/puzzle/mainwindow.cpp
index c59103dcf6..9b2abdabcc 100644
--- a/examples/draganddrop/puzzle/mainwindow.cpp
+++ b/examples/draganddrop/puzzle/mainwindow.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/draganddrop/puzzle/mainwindow.h b/examples/draganddrop/puzzle/mainwindow.h
index 187428c7ef..26b8bbaddc 100644
--- a/examples/draganddrop/puzzle/mainwindow.h
+++ b/examples/draganddrop/puzzle/mainwindow.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/draganddrop/puzzle/pieceslist.cpp b/examples/draganddrop/puzzle/pieceslist.cpp
index 4feb873fe0..77e87231ca 100644
--- a/examples/draganddrop/puzzle/pieceslist.cpp
+++ b/examples/draganddrop/puzzle/pieceslist.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/draganddrop/puzzle/pieceslist.h b/examples/draganddrop/puzzle/pieceslist.h
index ba7f9505db..c8ca7f4d8b 100644
--- a/examples/draganddrop/puzzle/pieceslist.h
+++ b/examples/draganddrop/puzzle/pieceslist.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/draganddrop/puzzle/puzzlewidget.cpp b/examples/draganddrop/puzzle/puzzlewidget.cpp
index edcc2b0848..128486c98f 100644
--- a/examples/draganddrop/puzzle/puzzlewidget.cpp
+++ b/examples/draganddrop/puzzle/puzzlewidget.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/draganddrop/puzzle/puzzlewidget.h b/examples/draganddrop/puzzle/puzzlewidget.h
index a031a41f88..c78d1c0c97 100644
--- a/examples/draganddrop/puzzle/puzzlewidget.h
+++ b/examples/draganddrop/puzzle/puzzlewidget.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/effects/blurpicker/blureffect.cpp b/examples/effects/blurpicker/blureffect.cpp
index e365088328..f42ddb8dd2 100644
--- a/examples/effects/blurpicker/blureffect.cpp
+++ b/examples/effects/blurpicker/blureffect.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/effects/blurpicker/blureffect.h b/examples/effects/blurpicker/blureffect.h
index 2a35451ffe..994ccf4d74 100644
--- a/examples/effects/blurpicker/blureffect.h
+++ b/examples/effects/blurpicker/blureffect.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/effects/blurpicker/blurpicker.cpp b/examples/effects/blurpicker/blurpicker.cpp
index 4c8293f882..458cd383bd 100644
--- a/examples/effects/blurpicker/blurpicker.cpp
+++ b/examples/effects/blurpicker/blurpicker.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/effects/blurpicker/blurpicker.h b/examples/effects/blurpicker/blurpicker.h
index 3e3dde4cb4..e24577b5a8 100644
--- a/examples/effects/blurpicker/blurpicker.h
+++ b/examples/effects/blurpicker/blurpicker.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/effects/blurpicker/main.cpp b/examples/effects/blurpicker/main.cpp
index e1830fbe89..aa57692884 100644
--- a/examples/effects/blurpicker/main.cpp
+++ b/examples/effects/blurpicker/main.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/effects/fademessage/fademessage.cpp b/examples/effects/fademessage/fademessage.cpp
index 7e7fc34d2a..ee983140b7 100644
--- a/examples/effects/fademessage/fademessage.cpp
+++ b/examples/effects/fademessage/fademessage.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/effects/fademessage/fademessage.h b/examples/effects/fademessage/fademessage.h
index 3702111a37..0e880e5f2b 100644
--- a/examples/effects/fademessage/fademessage.h
+++ b/examples/effects/fademessage/fademessage.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/effects/fademessage/main.cpp b/examples/effects/fademessage/main.cpp
index a4062ab34f..a9034d50f5 100644
--- a/examples/effects/fademessage/main.cpp
+++ b/examples/effects/fademessage/main.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/effects/lighting/lighting.cpp b/examples/effects/lighting/lighting.cpp
index a855f21523..d744a95c51 100644
--- a/examples/effects/lighting/lighting.cpp
+++ b/examples/effects/lighting/lighting.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/effects/lighting/lighting.h b/examples/effects/lighting/lighting.h
index f0d63481ff..f94ddb5f03 100644
--- a/examples/effects/lighting/lighting.h
+++ b/examples/effects/lighting/lighting.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/effects/lighting/main.cpp b/examples/effects/lighting/main.cpp
index 6f33b3a110..3d8c3f7f6e 100644
--- a/examples/effects/lighting/main.cpp
+++ b/examples/effects/lighting/main.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/gestures/imagegestures/imagewidget.cpp b/examples/gestures/imagegestures/imagewidget.cpp
index c839456b44..6eabe134ef 100644
--- a/examples/gestures/imagegestures/imagewidget.cpp
+++ b/examples/gestures/imagegestures/imagewidget.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/gestures/imagegestures/imagewidget.h b/examples/gestures/imagegestures/imagewidget.h
index 2d25141c05..1d77cf166d 100644
--- a/examples/gestures/imagegestures/imagewidget.h
+++ b/examples/gestures/imagegestures/imagewidget.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/gestures/imagegestures/main.cpp b/examples/gestures/imagegestures/main.cpp
index 2f6ae1bbd6..94baad2177 100644
--- a/examples/gestures/imagegestures/main.cpp
+++ b/examples/gestures/imagegestures/main.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/gestures/imagegestures/mainwidget.cpp b/examples/gestures/imagegestures/mainwidget.cpp
index 7e69e66a4e..93a55a1460 100644
--- a/examples/gestures/imagegestures/mainwidget.cpp
+++ b/examples/gestures/imagegestures/mainwidget.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/gestures/imagegestures/mainwidget.h b/examples/gestures/imagegestures/mainwidget.h
index 72f1583a18..1f9594a2fe 100644
--- a/examples/gestures/imagegestures/mainwidget.h
+++ b/examples/gestures/imagegestures/mainwidget.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/graphicsview/anchorlayout/main.cpp b/examples/graphicsview/anchorlayout/main.cpp
index 1f8b9a2baa..87810c9083 100644
--- a/examples/graphicsview/anchorlayout/main.cpp
+++ b/examples/graphicsview/anchorlayout/main.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/graphicsview/basicgraphicslayouts/layoutitem.cpp b/examples/graphicsview/basicgraphicslayouts/layoutitem.cpp
index 590a78b510..c751f346d4 100644
--- a/examples/graphicsview/basicgraphicslayouts/layoutitem.cpp
+++ b/examples/graphicsview/basicgraphicslayouts/layoutitem.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/graphicsview/basicgraphicslayouts/layoutitem.h b/examples/graphicsview/basicgraphicslayouts/layoutitem.h
index 7f8260ae08..a6ffc9590a 100644
--- a/examples/graphicsview/basicgraphicslayouts/layoutitem.h
+++ b/examples/graphicsview/basicgraphicslayouts/layoutitem.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/graphicsview/basicgraphicslayouts/main.cpp b/examples/graphicsview/basicgraphicslayouts/main.cpp
index e7466e0eed..eac65e5ac4 100644
--- a/examples/graphicsview/basicgraphicslayouts/main.cpp
+++ b/examples/graphicsview/basicgraphicslayouts/main.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/graphicsview/basicgraphicslayouts/window.cpp b/examples/graphicsview/basicgraphicslayouts/window.cpp
index 42c1446073..c9208b49d0 100644
--- a/examples/graphicsview/basicgraphicslayouts/window.cpp
+++ b/examples/graphicsview/basicgraphicslayouts/window.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/graphicsview/basicgraphicslayouts/window.h b/examples/graphicsview/basicgraphicslayouts/window.h
index c928283e2f..5cbf819afe 100644
--- a/examples/graphicsview/basicgraphicslayouts/window.h
+++ b/examples/graphicsview/basicgraphicslayouts/window.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/graphicsview/collidingmice/main.cpp b/examples/graphicsview/collidingmice/main.cpp
index 5ef701a69a..179904810a 100644
--- a/examples/graphicsview/collidingmice/main.cpp
+++ b/examples/graphicsview/collidingmice/main.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/graphicsview/collidingmice/mouse.cpp b/examples/graphicsview/collidingmice/mouse.cpp
index 452138d16a..e018a1dab3 100644
--- a/examples/graphicsview/collidingmice/mouse.cpp
+++ b/examples/graphicsview/collidingmice/mouse.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/graphicsview/collidingmice/mouse.h b/examples/graphicsview/collidingmice/mouse.h
index 20b2c6beef..03f4f59c0d 100644
--- a/examples/graphicsview/collidingmice/mouse.h
+++ b/examples/graphicsview/collidingmice/mouse.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/graphicsview/diagramscene/arrow.cpp b/examples/graphicsview/diagramscene/arrow.cpp
index 0d0e553b29..afc5b3c2ab 100644
--- a/examples/graphicsview/diagramscene/arrow.cpp
+++ b/examples/graphicsview/diagramscene/arrow.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/graphicsview/diagramscene/arrow.h b/examples/graphicsview/diagramscene/arrow.h
index c966f518d4..9b1711ad5f 100644
--- a/examples/graphicsview/diagramscene/arrow.h
+++ b/examples/graphicsview/diagramscene/arrow.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/graphicsview/diagramscene/diagramitem.cpp b/examples/graphicsview/diagramscene/diagramitem.cpp
index 41534d1be3..84b9785621 100644
--- a/examples/graphicsview/diagramscene/diagramitem.cpp
+++ b/examples/graphicsview/diagramscene/diagramitem.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/graphicsview/diagramscene/diagramitem.h b/examples/graphicsview/diagramscene/diagramitem.h
index 324ba813d5..3ffcc1700f 100644
--- a/examples/graphicsview/diagramscene/diagramitem.h
+++ b/examples/graphicsview/diagramscene/diagramitem.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/graphicsview/diagramscene/diagramscene.cpp b/examples/graphicsview/diagramscene/diagramscene.cpp
index 58a8ed4e51..28e774402f 100644
--- a/examples/graphicsview/diagramscene/diagramscene.cpp
+++ b/examples/graphicsview/diagramscene/diagramscene.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/graphicsview/diagramscene/diagramscene.h b/examples/graphicsview/diagramscene/diagramscene.h
index 67406e849a..bbcd9d0240 100644
--- a/examples/graphicsview/diagramscene/diagramscene.h
+++ b/examples/graphicsview/diagramscene/diagramscene.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/graphicsview/diagramscene/diagramtextitem.cpp b/examples/graphicsview/diagramscene/diagramtextitem.cpp
index af648c9d40..d3b65c8c02 100644
--- a/examples/graphicsview/diagramscene/diagramtextitem.cpp
+++ b/examples/graphicsview/diagramscene/diagramtextitem.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/graphicsview/diagramscene/diagramtextitem.h b/examples/graphicsview/diagramscene/diagramtextitem.h
index 2b4ff53fe6..850b390305 100644
--- a/examples/graphicsview/diagramscene/diagramtextitem.h
+++ b/examples/graphicsview/diagramscene/diagramtextitem.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/graphicsview/diagramscene/main.cpp b/examples/graphicsview/diagramscene/main.cpp
index 833d79e8f9..e1ea3d3372 100644
--- a/examples/graphicsview/diagramscene/main.cpp
+++ b/examples/graphicsview/diagramscene/main.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/graphicsview/diagramscene/mainwindow.cpp b/examples/graphicsview/diagramscene/mainwindow.cpp
index 6331b74fae..f09c552b64 100644
--- a/examples/graphicsview/diagramscene/mainwindow.cpp
+++ b/examples/graphicsview/diagramscene/mainwindow.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/graphicsview/diagramscene/mainwindow.h b/examples/graphicsview/diagramscene/mainwindow.h
index 41c9d7b4ad..c8b2b33fc7 100644
--- a/examples/graphicsview/diagramscene/mainwindow.h
+++ b/examples/graphicsview/diagramscene/mainwindow.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/graphicsview/dragdroprobot/coloritem.cpp b/examples/graphicsview/dragdroprobot/coloritem.cpp
index 08edd38aec..b6113fdf9b 100644
--- a/examples/graphicsview/dragdroprobot/coloritem.cpp
+++ b/examples/graphicsview/dragdroprobot/coloritem.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/graphicsview/dragdroprobot/coloritem.h b/examples/graphicsview/dragdroprobot/coloritem.h
index eb19db693c..f03a6701e6 100644
--- a/examples/graphicsview/dragdroprobot/coloritem.h
+++ b/examples/graphicsview/dragdroprobot/coloritem.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/graphicsview/dragdroprobot/main.cpp b/examples/graphicsview/dragdroprobot/main.cpp
index 2669c41c89..758d04024c 100644
--- a/examples/graphicsview/dragdroprobot/main.cpp
+++ b/examples/graphicsview/dragdroprobot/main.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/graphicsview/dragdroprobot/robot.cpp b/examples/graphicsview/dragdroprobot/robot.cpp
index 705bd9d873..44ecda3a47 100644
--- a/examples/graphicsview/dragdroprobot/robot.cpp
+++ b/examples/graphicsview/dragdroprobot/robot.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/graphicsview/dragdroprobot/robot.h b/examples/graphicsview/dragdroprobot/robot.h
index f5ff32c054..9090d16633 100644
--- a/examples/graphicsview/dragdroprobot/robot.h
+++ b/examples/graphicsview/dragdroprobot/robot.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/graphicsview/elasticnodes/edge.cpp b/examples/graphicsview/elasticnodes/edge.cpp
index 634fbee63b..4143b09c89 100644
--- a/examples/graphicsview/elasticnodes/edge.cpp
+++ b/examples/graphicsview/elasticnodes/edge.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/graphicsview/elasticnodes/edge.h b/examples/graphicsview/elasticnodes/edge.h
index 58cc89c232..929555991d 100644
--- a/examples/graphicsview/elasticnodes/edge.h
+++ b/examples/graphicsview/elasticnodes/edge.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/graphicsview/elasticnodes/graphwidget.cpp b/examples/graphicsview/elasticnodes/graphwidget.cpp
index 8b419b8d5f..43cfb83f0a 100644
--- a/examples/graphicsview/elasticnodes/graphwidget.cpp
+++ b/examples/graphicsview/elasticnodes/graphwidget.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/graphicsview/elasticnodes/graphwidget.h b/examples/graphicsview/elasticnodes/graphwidget.h
index 3f78a5ffb4..a71b3e459d 100644
--- a/examples/graphicsview/elasticnodes/graphwidget.h
+++ b/examples/graphicsview/elasticnodes/graphwidget.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/graphicsview/elasticnodes/main.cpp b/examples/graphicsview/elasticnodes/main.cpp
index 45568c2e46..817d6ff7e2 100644
--- a/examples/graphicsview/elasticnodes/main.cpp
+++ b/examples/graphicsview/elasticnodes/main.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/graphicsview/elasticnodes/node.cpp b/examples/graphicsview/elasticnodes/node.cpp
index 495aa89746..f303b7c7be 100644
--- a/examples/graphicsview/elasticnodes/node.cpp
+++ b/examples/graphicsview/elasticnodes/node.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/graphicsview/elasticnodes/node.h b/examples/graphicsview/elasticnodes/node.h
index 990346ecd7..ac35f7d335 100644
--- a/examples/graphicsview/elasticnodes/node.h
+++ b/examples/graphicsview/elasticnodes/node.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/graphicsview/flowlayout/flowlayout.cpp b/examples/graphicsview/flowlayout/flowlayout.cpp
index 63d844c7ae..2ec5ac0153 100644
--- a/examples/graphicsview/flowlayout/flowlayout.cpp
+++ b/examples/graphicsview/flowlayout/flowlayout.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/graphicsview/flowlayout/flowlayout.h b/examples/graphicsview/flowlayout/flowlayout.h
index 865cb21b1b..1828294fb8 100644
--- a/examples/graphicsview/flowlayout/flowlayout.h
+++ b/examples/graphicsview/flowlayout/flowlayout.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/graphicsview/flowlayout/main.cpp b/examples/graphicsview/flowlayout/main.cpp
index 34c4c3e443..5b90d49320 100644
--- a/examples/graphicsview/flowlayout/main.cpp
+++ b/examples/graphicsview/flowlayout/main.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/graphicsview/flowlayout/window.cpp b/examples/graphicsview/flowlayout/window.cpp
index 96c7e58361..c8314bdda3 100644
--- a/examples/graphicsview/flowlayout/window.cpp
+++ b/examples/graphicsview/flowlayout/window.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/graphicsview/flowlayout/window.h b/examples/graphicsview/flowlayout/window.h
index db7461f505..ef8790e979 100644
--- a/examples/graphicsview/flowlayout/window.h
+++ b/examples/graphicsview/flowlayout/window.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/graphicsview/padnavigator/backside.ui b/examples/graphicsview/padnavigator/backside.ui
deleted file mode 100644
index afa488c6f4..0000000000
--- a/examples/graphicsview/padnavigator/backside.ui
+++ /dev/null
@@ -1,208 +0,0 @@
-<ui version="4.0" >
- <class>BackSide</class>
- <widget class="QWidget" name="BackSide" >
- <property name="geometry" >
- <rect>
- <x>0</x>
- <y>0</y>
- <width>378</width>
- <height>385</height>
- </rect>
- </property>
- <property name="windowTitle" >
- <string>BackSide</string>
- </property>
- <layout class="QVBoxLayout" name="verticalLayout_2" >
- <item>
- <widget class="QGroupBox" name="groupBox" >
- <property name="title" >
- <string>Settings</string>
- </property>
- <property name="flat" >
- <bool>true</bool>
- </property>
- <property name="checkable" >
- <bool>true</bool>
- </property>
- <layout class="QGridLayout" name="gridLayout" >
- <item row="0" column="0" >
- <widget class="QLabel" name="label" >
- <property name="text" >
- <string>Title:</string>
- </property>
- </widget>
- </item>
- <item row="0" column="1" >
- <widget class="QLineEdit" name="hostName" >
- <property name="text" >
- <string>Pad Navigator Example</string>
- </property>
- </widget>
- </item>
- <item row="1" column="0" >
- <widget class="QLabel" name="label_2" >
- <property name="text" >
- <string>Modified:</string>
- </property>
- </widget>
- </item>
- <item row="2" column="0" >
- <widget class="QLabel" name="label_3" >
- <property name="text" >
- <string>Extent</string>
- </property>
- </widget>
- </item>
- <item row="2" column="1" >
- <layout class="QHBoxLayout" name="horizontalLayout" >
- <item>
- <widget class="QSlider" name="horizontalSlider" >
- <property name="value" >
- <number>42</number>
- </property>
- <property name="orientation" >
- <enum>Qt::Horizontal</enum>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QSpinBox" name="spinBox" >
- <property name="value" >
- <number>42</number>
- </property>
- </widget>
- </item>
- </layout>
- </item>
- <item row="1" column="1" >
- <widget class="QDateTimeEdit" name="dateTimeEdit" />
- </item>
- </layout>
- </widget>
- </item>
- <item>
- <widget class="QGroupBox" name="groupBox_2" >
- <property name="title" >
- <string>Other input</string>
- </property>
- <property name="flat" >
- <bool>true</bool>
- </property>
- <property name="checkable" >
- <bool>true</bool>
- </property>
- <layout class="QHBoxLayout" name="horizontalLayout_2" >
- <item>
- <widget class="QTreeWidget" name="treeWidget" >
- <column>
- <property name="text" >
- <string>Widgets On Graphics View</string>
- </property>
- </column>
- <item>
- <property name="text" >
- <string>QGraphicsProxyWidget</string>
- </property>
- <item>
- <property name="text" >
- <string>QGraphicsWidget</string>
- </property>
- <item>
- <property name="text" >
- <string>QObject</string>
- </property>
- </item>
- <item>
- <property name="text" >
- <string>QGraphicsItem</string>
- </property>
- </item>
- <item>
- <property name="text" >
- <string>QGraphicsLayoutItem</string>
- </property>
- </item>
- </item>
- </item>
- <item>
- <property name="text" >
- <string>QGraphicsGridLayout</string>
- </property>
- <item>
- <property name="text" >
- <string>QGraphicsLayout</string>
- </property>
- <item>
- <property name="text" >
- <string>QGraphicsLayoutItem</string>
- </property>
- </item>
- </item>
- </item>
- <item>
- <property name="text" >
- <string>QGraphicsLinearLayout</string>
- </property>
- <item>
- <property name="text" >
- <string>QGraphicsLayout</string>
- </property>
- <item>
- <property name="text" >
- <string>QGraphicsLayoutItem</string>
- </property>
- </item>
- </item>
- </item>
- </widget>
- </item>
- </layout>
- </widget>
- </item>
- </layout>
- </widget>
- <tabstops>
- <tabstop>groupBox</tabstop>
- <tabstop>hostName</tabstop>
- <tabstop>dateTimeEdit</tabstop>
- <tabstop>horizontalSlider</tabstop>
- <tabstop>spinBox</tabstop>
- <tabstop>groupBox_2</tabstop>
- <tabstop>treeWidget</tabstop>
- </tabstops>
- <resources/>
- <connections>
- <connection>
- <sender>horizontalSlider</sender>
- <signal>valueChanged(int)</signal>
- <receiver>spinBox</receiver>
- <slot>setValue(int)</slot>
- <hints>
- <hint type="sourcelabel" >
- <x>184</x>
- <y>125</y>
- </hint>
- <hint type="destinationlabel" >
- <x>275</x>
- <y>127</y>
- </hint>
- </hints>
- </connection>
- <connection>
- <sender>spinBox</sender>
- <signal>valueChanged(int)</signal>
- <receiver>horizontalSlider</receiver>
- <slot>setValue(int)</slot>
- <hints>
- <hint type="sourcelabel" >
- <x>272</x>
- <y>114</y>
- </hint>
- <hint type="destinationlabel" >
- <x>190</x>
- <y>126</y>
- </hint>
- </hints>
- </connection>
- </connections>
-</ui>
diff --git a/examples/graphicsview/padnavigator/flippablepad.cpp b/examples/graphicsview/padnavigator/flippablepad.cpp
new file mode 100644
index 0000000000..ab805b0e85
--- /dev/null
+++ b/examples/graphicsview/padnavigator/flippablepad.cpp
@@ -0,0 +1,98 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the examples of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include "flippablepad.h"
+
+#include <QtGui/QtGui>
+
+//! [0]
+static QRectF boundsFromSize(const QSize &size)
+{
+ return QRectF((-size.width() / 2.0) * 150, (-size.height() / 2.0) * 150,
+ size.width() * 150, size.height() * 150);
+}
+//! [0]
+
+//! [1]
+static QPointF posForLocation(int column, int row, const QSize &size)
+{
+ return QPointF(column * 150, row * 150)
+ - QPointF((size.width() - 1) * 75, (size.height() - 1) * 75);
+}
+//! [1]
+
+//! [2]
+FlippablePad::FlippablePad(const QSize &size, QGraphicsItem *parent)
+ : RoundRectItem(boundsFromSize(size), QColor(226, 255, 92, 64), parent)
+{
+//! [2]
+//! [3]
+ int numIcons = size.width() * size.height();
+ QList<QPixmap> pixmaps;
+ QDirIterator it(":/images", QStringList() << "*.png");
+ while (it.hasNext() && pixmaps.size() < numIcons)
+ pixmaps << it.next();
+//! [3]
+
+//! [4]
+ const QRectF iconRect(-54, -54, 108, 108);
+ const QColor iconColor(214, 240, 110, 128);
+ iconGrid.resize(size.height());
+ int n = 0;
+
+ for (int y = 0; y < size.height(); ++y) {
+ iconGrid[y].resize(size.width());
+ for (int x = 0; x < size.width(); ++x) {
+ RoundRectItem *rect = new RoundRectItem(iconRect, iconColor, this);
+ rect->setZValue(1);
+ rect->setPos(posForLocation(x, y, size));
+ rect->setPixmap(pixmaps.at(n++ % pixmaps.size()));
+ iconGrid[y][x] = rect;
+ }
+ }
+}
+//! [4]
+
+//! [5]
+RoundRectItem *FlippablePad::iconAt(int column, int row) const
+{
+ return iconGrid[row][column];
+}
+//! [5]
diff --git a/examples/graphicsview/padnavigator/flippablepad.h b/examples/graphicsview/padnavigator/flippablepad.h
new file mode 100644
index 0000000000..ad9c078d3f
--- /dev/null
+++ b/examples/graphicsview/padnavigator/flippablepad.h
@@ -0,0 +1,63 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the examples of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#ifndef FLIPPABLEPAD_H
+#define FLIPPABLEPAD_H
+
+#include "roundrectitem.h"
+
+#include <QGraphicsObject>
+#include <QLinearGradient>
+#include <QVector>
+
+//! [0]
+class FlippablePad : public RoundRectItem
+{
+public:
+ FlippablePad(const QSize &size, QGraphicsItem *parent = 0);
+
+ RoundRectItem *iconAt(int column, int row) const;
+
+private:
+ QVector<QVector<RoundRectItem *> > iconGrid;
+};
+//! [0]
+
+#endif // FLIPPABLEPAD_H
diff --git a/examples/graphicsview/padnavigator/form.ui b/examples/graphicsview/padnavigator/form.ui
new file mode 100644
index 0000000000..fc7d12321e
--- /dev/null
+++ b/examples/graphicsview/padnavigator/form.ui
@@ -0,0 +1,208 @@
+<ui version="4.0" >
+ <class>Form</class>
+ <widget class="QWidget" name="Form" >
+ <property name="geometry" >
+ <rect>
+ <x>0</x>
+ <y>0</y>
+ <width>378</width>
+ <height>385</height>
+ </rect>
+ </property>
+ <property name="windowTitle" >
+ <string>BackSide</string>
+ </property>
+ <layout class="QVBoxLayout" name="verticalLayout_2" >
+ <item>
+ <widget class="QGroupBox" name="groupBox" >
+ <property name="title" >
+ <string>Settings</string>
+ </property>
+ <property name="flat" >
+ <bool>true</bool>
+ </property>
+ <property name="checkable" >
+ <bool>true</bool>
+ </property>
+ <layout class="QGridLayout" name="gridLayout" >
+ <item row="0" column="0" >
+ <widget class="QLabel" name="label" >
+ <property name="text" >
+ <string>Title:</string>
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="1" >
+ <widget class="QLineEdit" name="hostName" >
+ <property name="text" >
+ <string>Pad Navigator Example</string>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="0" >
+ <widget class="QLabel" name="label_2" >
+ <property name="text" >
+ <string>Modified:</string>
+ </property>
+ </widget>
+ </item>
+ <item row="2" column="0" >
+ <widget class="QLabel" name="label_3" >
+ <property name="text" >
+ <string>Extent</string>
+ </property>
+ </widget>
+ </item>
+ <item row="2" column="1" >
+ <layout class="QHBoxLayout" name="horizontalLayout" >
+ <item>
+ <widget class="QSlider" name="horizontalSlider" >
+ <property name="value" >
+ <number>42</number>
+ </property>
+ <property name="orientation" >
+ <enum>Qt::Horizontal</enum>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QSpinBox" name="spinBox" >
+ <property name="value" >
+ <number>42</number>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </item>
+ <item row="1" column="1" >
+ <widget class="QDateTimeEdit" name="dateTimeEdit" />
+ </item>
+ </layout>
+ </widget>
+ </item>
+ <item>
+ <widget class="QGroupBox" name="groupBox_2" >
+ <property name="title" >
+ <string>Other input</string>
+ </property>
+ <property name="flat" >
+ <bool>true</bool>
+ </property>
+ <property name="checkable" >
+ <bool>true</bool>
+ </property>
+ <layout class="QHBoxLayout" name="horizontalLayout_2" >
+ <item>
+ <widget class="QTreeWidget" name="treeWidget" >
+ <column>
+ <property name="text" >
+ <string>Widgets On Graphics View</string>
+ </property>
+ </column>
+ <item>
+ <property name="text" >
+ <string>QGraphicsProxyWidget</string>
+ </property>
+ <item>
+ <property name="text" >
+ <string>QGraphicsWidget</string>
+ </property>
+ <item>
+ <property name="text" >
+ <string>QObject</string>
+ </property>
+ </item>
+ <item>
+ <property name="text" >
+ <string>QGraphicsItem</string>
+ </property>
+ </item>
+ <item>
+ <property name="text" >
+ <string>QGraphicsLayoutItem</string>
+ </property>
+ </item>
+ </item>
+ </item>
+ <item>
+ <property name="text" >
+ <string>QGraphicsGridLayout</string>
+ </property>
+ <item>
+ <property name="text" >
+ <string>QGraphicsLayout</string>
+ </property>
+ <item>
+ <property name="text" >
+ <string>QGraphicsLayoutItem</string>
+ </property>
+ </item>
+ </item>
+ </item>
+ <item>
+ <property name="text" >
+ <string>QGraphicsLinearLayout</string>
+ </property>
+ <item>
+ <property name="text" >
+ <string>QGraphicsLayout</string>
+ </property>
+ <item>
+ <property name="text" >
+ <string>QGraphicsLayoutItem</string>
+ </property>
+ </item>
+ </item>
+ </item>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ <tabstops>
+ <tabstop>groupBox</tabstop>
+ <tabstop>hostName</tabstop>
+ <tabstop>dateTimeEdit</tabstop>
+ <tabstop>horizontalSlider</tabstop>
+ <tabstop>spinBox</tabstop>
+ <tabstop>groupBox_2</tabstop>
+ <tabstop>treeWidget</tabstop>
+ </tabstops>
+ <resources/>
+ <connections>
+ <connection>
+ <sender>horizontalSlider</sender>
+ <signal>valueChanged(int)</signal>
+ <receiver>spinBox</receiver>
+ <slot>setValue(int)</slot>
+ <hints>
+ <hint type="sourcelabel" >
+ <x>184</x>
+ <y>125</y>
+ </hint>
+ <hint type="destinationlabel" >
+ <x>275</x>
+ <y>127</y>
+ </hint>
+ </hints>
+ </connection>
+ <connection>
+ <sender>spinBox</sender>
+ <signal>valueChanged(int)</signal>
+ <receiver>horizontalSlider</receiver>
+ <slot>setValue(int)</slot>
+ <hints>
+ <hint type="sourcelabel" >
+ <x>272</x>
+ <y>114</y>
+ </hint>
+ <hint type="destinationlabel" >
+ <x>190</x>
+ <y>126</y>
+ </hint>
+ </hints>
+ </connection>
+ </connections>
+</ui>
diff --git a/examples/graphicsview/padnavigator/main.cpp b/examples/graphicsview/padnavigator/main.cpp
index fb6c120556..0d9c26bdf0 100644
--- a/examples/graphicsview/padnavigator/main.cpp
+++ b/examples/graphicsview/padnavigator/main.cpp
@@ -6,54 +6,51 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
-#include <QtGui>
-#ifndef QT_NO_OPENGL
-# include <QtOpenGL>
-#endif
+#include "padnavigator.h"
-#include "panel.h"
+#include <QtGui/QtGui>
+//! [0]
int main(int argc, char *argv[])
{
QApplication app(argc, argv);
Q_INIT_RESOURCE(padnavigator);
- Panel panel(3, 3);
- panel.setFocus();
- panel.show();
+ PadNavigator navigator(QSize(3, 3));
+ navigator.show();
return app.exec();
}
+//! [0]
diff --git a/examples/graphicsview/padnavigator/padnavigator.cpp b/examples/graphicsview/padnavigator/padnavigator.cpp
new file mode 100644
index 0000000000..49886647e0
--- /dev/null
+++ b/examples/graphicsview/padnavigator/padnavigator.cpp
@@ -0,0 +1,306 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the examples of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include "flippablepad.h"
+#include "padnavigator.h"
+#include "splashitem.h"
+
+#include <QtGui/QtGui>
+#ifndef QT_NO_OPENGL
+#include <QtOpenGL/QtOpenGL>
+#endif
+
+//! [0]
+PadNavigator::PadNavigator(const QSize &size, QWidget *parent)
+ : QGraphicsView(parent)
+{
+//! [0]
+//! [1]
+ // Splash item
+ SplashItem *splash = new SplashItem;
+ splash->setZValue(1);
+//! [1]
+
+//! [2]
+ // Pad item
+ FlippablePad *pad = new FlippablePad(size);
+ QGraphicsRotation *flipRotation = new QGraphicsRotation(pad);
+ QGraphicsRotation *xRotation = new QGraphicsRotation(pad);
+ QGraphicsRotation *yRotation = new QGraphicsRotation(pad);
+ flipRotation->setAxis(Qt::YAxis);
+ xRotation->setAxis(Qt::YAxis);
+ yRotation->setAxis(Qt::XAxis);
+ pad->setTransformations(QList<QGraphicsTransform *>()
+ << flipRotation
+ << xRotation << yRotation);
+//! [2]
+
+//! [3]
+ // Back (proxy widget) item
+ QGraphicsProxyWidget *backItem = new QGraphicsProxyWidget(pad);
+ QWidget *widget = new QWidget;
+ form.setupUi(widget);
+ form.hostName->setFocus();
+ backItem->setWidget(widget);
+ backItem->setVisible(false);
+ backItem->setFocus();
+ backItem->setCacheMode(QGraphicsItem::ItemCoordinateCache);
+ const QRectF r = backItem->rect();
+ backItem->setTransform(QTransform()
+ .rotate(180, Qt::YAxis)
+ .translate(-r.width()/2, -r.height()/2));
+//! [3]
+
+//! [4]
+ // Selection item
+ RoundRectItem *selectionItem = new RoundRectItem(QRectF(-60, -60, 120, 120),
+ Qt::gray, pad);
+ selectionItem->setZValue(0.5);
+//! [4]
+
+//! [5]
+ // Splash animations
+ QPropertyAnimation *smoothSplashMove = new QPropertyAnimation(splash, "y");
+ QPropertyAnimation *smoothSplashOpacity = new QPropertyAnimation(splash, "opacity");
+ smoothSplashMove->setEasingCurve(QEasingCurve::InQuad);
+ smoothSplashMove->setDuration(250);
+ smoothSplashOpacity->setDuration(250);
+//! [5]
+
+//! [6]
+ // Selection animation
+ QPropertyAnimation *smoothXSelection = new QPropertyAnimation(selectionItem, "x");
+ QPropertyAnimation *smoothYSelection = new QPropertyAnimation(selectionItem, "y");
+ QPropertyAnimation *smoothXRotation = new QPropertyAnimation(xRotation, "angle");
+ QPropertyAnimation *smoothYRotation = new QPropertyAnimation(yRotation, "angle");
+ smoothXSelection->setDuration(125);
+ smoothYSelection->setDuration(125);
+ smoothXRotation->setDuration(125);
+ smoothYRotation->setDuration(125);
+ smoothXSelection->setEasingCurve(QEasingCurve::InOutQuad);
+ smoothYSelection->setEasingCurve(QEasingCurve::InOutQuad);
+ smoothXRotation->setEasingCurve(QEasingCurve::InOutQuad);
+ smoothYRotation->setEasingCurve(QEasingCurve::InOutQuad);
+//! [6]
+
+//! [7]
+ // Flip animation setup
+ QPropertyAnimation *smoothFlipRotation = new QPropertyAnimation(flipRotation, "angle");
+ QPropertyAnimation *smoothFlipScale = new QPropertyAnimation(pad, "scale");
+ QPropertyAnimation *smoothFlipXRotation = new QPropertyAnimation(xRotation, "angle");
+ QPropertyAnimation *smoothFlipYRotation = new QPropertyAnimation(yRotation, "angle");
+ QParallelAnimationGroup *flipAnimation = new QParallelAnimationGroup(this);
+ smoothFlipScale->setDuration(500);
+ smoothFlipRotation->setDuration(500);
+ smoothFlipXRotation->setDuration(500);
+ smoothFlipYRotation->setDuration(500);
+ smoothFlipScale->setEasingCurve(QEasingCurve::InOutQuad);
+ smoothFlipRotation->setEasingCurve(QEasingCurve::InOutQuad);
+ smoothFlipXRotation->setEasingCurve(QEasingCurve::InOutQuad);
+ smoothFlipYRotation->setEasingCurve(QEasingCurve::InOutQuad);
+ smoothFlipScale->setKeyValueAt(0, qVariantValue<qreal>(1.0));
+ smoothFlipScale->setKeyValueAt(0.5, qVariantValue<qreal>(0.7));
+ smoothFlipScale->setKeyValueAt(1, qVariantValue<qreal>(1.0));
+ flipAnimation->addAnimation(smoothFlipRotation);
+ flipAnimation->addAnimation(smoothFlipScale);
+ flipAnimation->addAnimation(smoothFlipXRotation);
+ flipAnimation->addAnimation(smoothFlipYRotation);
+//! [7]
+
+//! [8]
+ // Flip animation delayed property assignment
+ QSequentialAnimationGroup *setVariablesSequence = new QSequentialAnimationGroup;
+ QPropertyAnimation *setFillAnimation = new QPropertyAnimation(pad, "fill");
+ QPropertyAnimation *setBackItemVisibleAnimation = new QPropertyAnimation(backItem, "visible");
+ QPropertyAnimation *setSelectionItemVisibleAnimation = new QPropertyAnimation(selectionItem, "visible");
+ setFillAnimation->setDuration(0);
+ setBackItemVisibleAnimation->setDuration(0);
+ setSelectionItemVisibleAnimation->setDuration(0);
+ setVariablesSequence->addPause(250);
+ setVariablesSequence->addAnimation(setBackItemVisibleAnimation);
+ setVariablesSequence->addAnimation(setSelectionItemVisibleAnimation);
+ setVariablesSequence->addAnimation(setFillAnimation);
+ flipAnimation->addAnimation(setVariablesSequence);
+//! [8]
+
+//! [9]
+ // Build the state machine
+ QStateMachine *stateMachine = new QStateMachine(this);
+ QState *splashState = new QState(stateMachine);
+ QState *frontState = new QState(stateMachine);
+ QHistoryState *historyState = new QHistoryState(frontState);
+ QState *backState = new QState(stateMachine);
+//! [9]
+//! [10]
+ frontState->assignProperty(pad, "fill", false);
+ frontState->assignProperty(splash, "opacity", 0.0);
+ frontState->assignProperty(backItem, "visible", false);
+ frontState->assignProperty(flipRotation, "angle", qVariantValue<qreal>(0.0));
+ frontState->assignProperty(selectionItem, "visible", true);
+ backState->assignProperty(pad, "fill", true);
+ backState->assignProperty(backItem, "visible", true);
+ backState->assignProperty(xRotation, "angle", qVariantValue<qreal>(0.0));
+ backState->assignProperty(yRotation, "angle", qVariantValue<qreal>(0.0));
+ backState->assignProperty(flipRotation, "angle", qVariantValue<qreal>(180.0));
+ backState->assignProperty(selectionItem, "visible", false);
+ stateMachine->addDefaultAnimation(smoothXRotation);
+ stateMachine->addDefaultAnimation(smoothYRotation);
+ stateMachine->addDefaultAnimation(smoothXSelection);
+ stateMachine->addDefaultAnimation(smoothYSelection);
+ stateMachine->setInitialState(splashState);
+//! [10]
+
+//! [11]
+ // Transitions
+ QEventTransition *anyKeyTransition = new QEventTransition(this, QEvent::KeyPress, splashState);
+ anyKeyTransition->setTargetState(frontState);
+ anyKeyTransition->addAnimation(smoothSplashMove);
+ anyKeyTransition->addAnimation(smoothSplashOpacity);
+//! [11]
+
+//! [12]
+ QKeyEventTransition *enterTransition = new QKeyEventTransition(this, QEvent::KeyPress,
+ Qt::Key_Enter, backState);
+ QKeyEventTransition *returnTransition = new QKeyEventTransition(this, QEvent::KeyPress,
+ Qt::Key_Return, backState);
+ QKeyEventTransition *backEnterTransition = new QKeyEventTransition(this, QEvent::KeyPress,
+ Qt::Key_Enter, frontState);
+ QKeyEventTransition *backReturnTransition = new QKeyEventTransition(this, QEvent::KeyPress,
+ Qt::Key_Return, frontState);
+ enterTransition->setTargetState(historyState);
+ returnTransition->setTargetState(historyState);
+ backEnterTransition->setTargetState(backState);
+ backReturnTransition->setTargetState(backState);
+ enterTransition->addAnimation(flipAnimation);
+ returnTransition->addAnimation(flipAnimation);
+ backEnterTransition->addAnimation(flipAnimation);
+ backReturnTransition->addAnimation(flipAnimation);
+//! [12]
+
+//! [13]
+ // Create substates for each icon; store in temporary grid.
+ int columns = size.width();
+ int rows = size.height();
+ QVector< QVector< QState * > > stateGrid;
+ stateGrid.resize(rows);
+ for (int y = 0; y < rows; ++y) {
+ stateGrid[y].resize(columns);
+ for (int x = 0; x < columns; ++x)
+ stateGrid[y][x] = new QState(frontState);
+ }
+ frontState->setInitialState(stateGrid[0][0]);
+ selectionItem->setPos(pad->iconAt(0, 0)->pos());
+//! [13]
+
+//! [14]
+ // Enable key navigation using state transitions
+ for (int y = 0; y < rows; ++y) {
+ for (int x = 0; x < columns; ++x) {
+ QState *state = stateGrid[y][x];
+ QKeyEventTransition *rightTransition = new QKeyEventTransition(this, QEvent::KeyPress,
+ Qt::Key_Right, state);
+ QKeyEventTransition *leftTransition = new QKeyEventTransition(this, QEvent::KeyPress,
+ Qt::Key_Left, state);
+ QKeyEventTransition *downTransition = new QKeyEventTransition(this, QEvent::KeyPress,
+ Qt::Key_Down, state);
+ QKeyEventTransition *upTransition = new QKeyEventTransition(this, QEvent::KeyPress,
+ Qt::Key_Up, state);
+ rightTransition->setTargetState(stateGrid[y][(x + 1) % columns]);
+ leftTransition->setTargetState(stateGrid[y][((x - 1) + columns) % columns]);
+ downTransition->setTargetState(stateGrid[(y + 1) % rows][x]);
+ upTransition->setTargetState(stateGrid[((y - 1) + rows) % rows][x]);
+//! [14]
+//! [15]
+ RoundRectItem *icon = pad->iconAt(x, y);
+ state->assignProperty(xRotation, "angle", -icon->x() / 6.0);
+ state->assignProperty(yRotation, "angle", icon->y() / 6.0);
+ state->assignProperty(selectionItem, "x", icon->x());
+ state->assignProperty(selectionItem, "y", icon->y());
+ frontState->assignProperty(icon, "visible", true);
+ backState->assignProperty(icon, "visible", false);
+
+ QPropertyAnimation *setIconVisibleAnimation = new QPropertyAnimation(icon, "visible");
+ setIconVisibleAnimation->setDuration(0);
+ setVariablesSequence->addAnimation(setIconVisibleAnimation);
+ }
+ }
+//! [15]
+
+//! [16]
+ // Scene
+ QGraphicsScene *scene = new QGraphicsScene(this);
+ scene->setBackgroundBrush(QPixmap(":/images/blue_angle_swirl.jpg"));
+ scene->setItemIndexMethod(QGraphicsScene::NoIndex);
+ scene->addItem(pad);
+ scene->setSceneRect(scene->itemsBoundingRect());
+ setScene(scene);
+//! [16]
+
+//! [17]
+ // Adjust splash item to scene contents
+ const QRectF sbr = splash->boundingRect();
+ splash->setPos(-sbr.width() / 2, scene->sceneRect().top() - 2);
+ frontState->assignProperty(splash, "y", splash->y() - 100.0);
+ scene->addItem(splash);
+//! [17]
+
+//! [18]
+ // View
+ setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
+ setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
+ setMinimumSize(50, 50);
+ setViewportUpdateMode(FullViewportUpdate);
+ setCacheMode(CacheBackground);
+ setRenderHints(QPainter::Antialiasing | QPainter::SmoothPixmapTransform | QPainter::TextAntialiasing);
+#ifndef QT_NO_OPENGL
+ setViewport(new QGLWidget(QGLFormat(QGL::SampleBuffers)));
+#endif
+
+ stateMachine->start();
+//! [18]
+}
+
+//! [19]
+void PadNavigator::resizeEvent(QResizeEvent *event)
+{
+ QGraphicsView::resizeEvent(event);
+ fitInView(scene()->sceneRect(), Qt::KeepAspectRatio);
+}
+//! [19]
diff --git a/examples/graphicsview/padnavigator/padnavigator.h b/examples/graphicsview/padnavigator/padnavigator.h
new file mode 100644
index 0000000000..7db5d0e02d
--- /dev/null
+++ b/examples/graphicsview/padnavigator/padnavigator.h
@@ -0,0 +1,70 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the examples of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#ifndef PADNAVIGATOR_H
+#define PADNAVIGATOR_H
+
+#include <QGraphicsView>
+#include "ui_form.h"
+
+QT_BEGIN_NAMESPACE
+
+class QState;
+class QStateMachine;
+class Ui_Form;
+
+QT_END_NAMESPACE
+
+//! [0]
+class PadNavigator : public QGraphicsView
+{
+ Q_OBJECT
+public:
+ explicit PadNavigator(const QSize &size, QWidget *parent = 0);
+
+protected:
+ void resizeEvent(QResizeEvent *event);
+
+private:
+ Ui_Form form;
+};
+//! [0]
+
+#endif // PADNAVIGATOR_H
diff --git a/examples/graphicsview/padnavigator/padnavigator.pro b/examples/graphicsview/padnavigator/padnavigator.pro
index d6f536ceab..93ea293d8b 100644
--- a/examples/graphicsview/padnavigator/padnavigator.pro
+++ b/examples/graphicsview/padnavigator/padnavigator.pro
@@ -1,19 +1,20 @@
-HEADERS += \
- panel.h \
- roundrectitem.h \
- splashitem.h
+SOURCES += main.cpp \
+ roundrectitem.cpp \
+ flippablepad.cpp \
+ padnavigator.cpp \
+ splashitem.cpp
-SOURCES += \
- panel.cpp \
- roundrectitem.cpp \
- splashitem.cpp \
- main.cpp
+HEADERS += \
+ roundrectitem.h \
+ flippablepad.h \
+ padnavigator.h \
+ splashitem.h
RESOURCES += \
- padnavigator.qrc
+ padnavigator.qrc
FORMS += \
- backside.ui
+ form.ui
contains(QT_CONFIG, opengl):QT += opengl
diff --git a/examples/graphicsview/padnavigator/panel.cpp b/examples/graphicsview/padnavigator/panel.cpp
deleted file mode 100644
index c4a5cd95b2..0000000000
--- a/examples/graphicsview/padnavigator/panel.cpp
+++ /dev/null
@@ -1,238 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the examples of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "panel.h"
-#include "roundrectitem.h"
-#include "splashitem.h"
-#include "ui_backside.h"
-
-#ifndef QT_NO_OPENGL
-#include <QtOpenGL/QtOpenGL>
-#else
-#endif
-#include <QtGui/QtGui>
-
-#include <math.h>
-
-Panel::Panel(int width, int height)
- : selectedX(0),
- selectedY(0),
- width(width),
- height(height),
- flipped(false),
- flipLeft(true)
-{
- setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
- setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
- setCacheMode(CacheBackground);
- setViewportUpdateMode(FullViewportUpdate);
- setRenderHints(QPainter::Antialiasing | QPainter::SmoothPixmapTransform
- | QPainter::TextAntialiasing);
- setBackgroundBrush(QPixmap(":/images/blue_angle_swirl.jpg"));
-#ifndef QT_NO_OPENGL
- setViewport(new QGLWidget(QGLFormat(QGL::SampleBuffers)));
-#endif
- setMinimumSize(50, 50);
-
- selectionTimeLine = new QTimeLine(150, this);
- flipTimeLine = new QTimeLine(500, this);
-
- QRectF bounds((-width / 2.0) * 150, (-height / 2.0) * 150, width * 150, height * 150);
-
- scene = new QGraphicsScene(bounds, this);
- scene->setItemIndexMethod(QGraphicsScene::NoIndex);
- setScene(scene);
-
- baseItem = new RoundRectItem(bounds, QColor(226, 255, 92, 64));
- scene->addItem(baseItem);
-
- QWidget *embed = new QWidget;
- ui = new Ui_BackSide;
- ui->setupUi(embed);
- ui->hostName->setFocus();
-
- backItem = new RoundRectItem(bounds, embed->palette().window(), embed);
- backItem->setTransform(QTransform().rotate(180, Qt::YAxis));
- backItem->setParentItem(baseItem);
-
- selectionItem = new RoundRectItem(QRectF(-60, -60, 120, 120), Qt::gray);
- selectionItem->setParentItem(baseItem);
- selectionItem->setZValue(-1);
- selectionItem->setPos(posForLocation(0, 0));
- startPos = selectionItem->pos();
-
- grid = new QGraphicsItem **[height];
-
- for (int y = 0; y < height; ++y) {
- grid[y] = new QGraphicsItem *[width];
-
- for (int x = 0; x < width; ++x) {
- RoundRectItem *item = new RoundRectItem(QRectF(-54, -54, 108, 108),
- QColor(214, 240, 110, 128));
- item->setPos(posForLocation(x, y));
-
- item->setParentItem(baseItem);
- item->setFlag(QGraphicsItem::ItemIsFocusable);
- grid[y][x] = item;
-
- switch (qrand() % 9) {
- case 0: item->setPixmap(QPixmap(":/images/kontact_contacts.png")); break;
- case 1: item->setPixmap(QPixmap(":/images/kontact_journal.png")); break;
- case 2: item->setPixmap(QPixmap(":/images/kontact_notes.png")); break;
- case 3: item->setPixmap(QPixmap(":/images/kopeteavailable.png")); break;
- case 4: item->setPixmap(QPixmap(":/images/metacontact_online.png")); break;
- case 5: item->setPixmap(QPixmap(":/images/minitools.png")); break;
- case 6: item->setPixmap(QPixmap(":/images/kontact_journal.png")); break;
- case 7: item->setPixmap(QPixmap(":/images/kontact_contacts.png")); break;
- case 8: item->setPixmap(QPixmap(":/images/kopeteavailable.png")); break;
- default:
- break;
- }
-
- connect(item, SIGNAL(activated()), this, SLOT(flip()));
- }
- }
-
- grid[0][0]->setFocus();
-
- connect(backItem, SIGNAL(activated()),
- this, SLOT(flip()));
- connect(selectionTimeLine, SIGNAL(valueChanged(qreal)),
- this, SLOT(updateSelectionStep(qreal)));
- connect(flipTimeLine, SIGNAL(valueChanged(qreal)),
- this, SLOT(updateFlipStep(qreal)));
-
- splash = new SplashItem;
- splash->setZValue(5);
- splash->setPos(-splash->rect().width() / 2, scene->sceneRect().top());
- scene->addItem(splash);
-
- splash->grabKeyboard();
-
- updateSelectionStep(0);
-
- setWindowTitle(tr("Pad Navigator Example"));
-}
-
-Panel::~Panel()
-{
- for (int y = 0; y < height; ++y)
- delete [] grid[y];
- delete [] grid;
-}
-
-void Panel::keyPressEvent(QKeyEvent *event)
-{
- if (splash->isVisible() || event->key() == Qt::Key_Return || flipped) {
- QGraphicsView::keyPressEvent(event);
- return;
- }
-
- selectedX = (selectedX + width + (event->key() == Qt::Key_Right) - (event->key() == Qt::Key_Left)) % width;
- selectedY = (selectedY + height + (event->key() == Qt::Key_Down) - (event->key() == Qt::Key_Up)) % height;
- grid[selectedY][selectedX]->setFocus();
-
- selectionTimeLine->stop();
- startPos = selectionItem->pos();
- endPos = posForLocation(selectedX, selectedY);
- selectionTimeLine->start();
-}
-
-void Panel::resizeEvent(QResizeEvent *event)
-{
- QGraphicsView::resizeEvent(event);
- fitInView(scene->sceneRect(), Qt::KeepAspectRatio);
-}
-
-void Panel::updateSelectionStep(qreal val)
-{
- QPointF newPos(startPos.x() + (endPos - startPos).x() * val,
- startPos.y() + (endPos - startPos).y() * val);
- selectionItem->setPos(newPos);
-
- QTransform transform;
- yrot = newPos.x() / 6.0;
- xrot = newPos.y() / 6.0;
- transform.rotate(newPos.x() / 6.0, Qt::YAxis);
- transform.rotate(newPos.y() / 6.0, Qt::XAxis);
- baseItem->setTransform(transform);
-}
-
-void Panel::updateFlipStep(qreal val)
-{
- qreal finalxrot = xrot - xrot * val;
- qreal finalyrot;
- if (flipLeft)
- finalyrot = yrot - yrot * val - 180 * val;
- else
- finalyrot = yrot - yrot * val + 180 * val;
- QTransform transform;
- transform.rotate(finalyrot, Qt::YAxis);
- transform.rotate(finalxrot, Qt::XAxis);
- qreal scale = 1 - sin(3.14 * val) * 0.3;
- transform.scale(scale, scale);
- baseItem->setTransform(transform);
- if (val == 0)
- grid[selectedY][selectedX]->setFocus();
-}
-
-void Panel::flip()
-{
- if (flipTimeLine->state() == QTimeLine::Running)
- return;
-
- if (flipTimeLine->currentValue() == 0) {
- flipTimeLine->setDirection(QTimeLine::Forward);
- flipTimeLine->start();
- flipped = true;
- flipLeft = selectionItem->pos().x() < 0;
- } else {
- flipTimeLine->setDirection(QTimeLine::Backward);
- flipTimeLine->start();
- flipped = false;
- }
-}
-
-QPointF Panel::posForLocation(int x, int y) const
-{
- return QPointF(x * 150, y * 150)
- - QPointF((width - 1) * 75, (height - 1) * 75);
-}
diff --git a/examples/graphicsview/padnavigator/panel.h b/examples/graphicsview/padnavigator/panel.h
deleted file mode 100644
index 908092b49a..0000000000
--- a/examples/graphicsview/padnavigator/panel.h
+++ /dev/null
@@ -1,92 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the examples of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include <QtGui/qgraphicsview.h>
-
-QT_BEGIN_NAMESPACE
-class QTimeLine;
-class Ui_BackSide;
-QT_END_NAMESPACE
-
-class RoundRectItem;
-
-class Panel : public QGraphicsView
-{
- Q_OBJECT
-public:
- Panel(int width, int height);
- ~Panel();
-
-protected:
- void keyPressEvent(QKeyEvent *event);
- void resizeEvent(QResizeEvent *event);
-
-private Q_SLOTS:
- void updateSelectionStep(qreal val);
- void updateFlipStep(qreal val);
- void flip();
-
-private:
- QPointF posForLocation(int x, int y) const;
-
- QGraphicsScene *scene;
- RoundRectItem *selectionItem;
- RoundRectItem *baseItem;
- RoundRectItem *backItem;
- QGraphicsWidget *splash;
- QTimeLine *selectionTimeLine;
- QTimeLine *flipTimeLine;
- int selectedX, selectedY;
-
- QGraphicsItem ***grid;
-
- QPointF startPos;
- QPointF endPos;
- qreal xrot, yrot;
- qreal xrot2, yrot2;
-
- int width;
- int height;
- bool flipped;
- bool flipLeft;
-
- Ui_BackSide *ui;
-};
diff --git a/examples/graphicsview/padnavigator/roundrectitem.cpp b/examples/graphicsview/padnavigator/roundrectitem.cpp
index d53eea4adc..3713ab17a8 100644
--- a/examples/graphicsview/padnavigator/roundrectitem.cpp
+++ b/examples/graphicsview/padnavigator/roundrectitem.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
@@ -43,122 +42,72 @@
#include <QtGui/QtGui>
-RoundRectItem::RoundRectItem(const QRectF &rect, const QBrush &brush, QWidget *embeddedWidget)
- : QGraphicsRectItem(rect),
- brush(brush),
- timeLine(75),
- lastVal(0),
- opa(1),
- proxyWidget(0)
+//! [0]
+RoundRectItem::RoundRectItem(const QRectF &bounds, const QColor &color,
+ QGraphicsItem *parent)
+ : QGraphicsObject(parent), fillRect(false), bounds(bounds)
{
- connect(&timeLine, SIGNAL(valueChanged(qreal)),
- this, SLOT(updateValue(qreal)));
-
- if (embeddedWidget) {
- proxyWidget = new QGraphicsProxyWidget(this);
- proxyWidget->setFocusPolicy(Qt::StrongFocus);
- proxyWidget->setWidget(embeddedWidget);
- proxyWidget->setGeometry(boundingRect().adjusted(25, 25, -25, -25));
- }
-}
-
-void RoundRectItem::paint(QPainter *painter, const QStyleOptionGraphicsItem *, QWidget *)
-{
- QTransform x = painter->worldTransform();
-
- QLineF unit = x.map(QLineF(0, 0, 1, 1));
- if (unit.p1().x() > unit.p2().x() || unit.p1().y() > unit.p2().y()) {
- if (proxyWidget && proxyWidget->isVisible()) {
- proxyWidget->hide();
- proxyWidget->setGeometry(rect());
- }
- return;
- }
-
- if (proxyWidget && !proxyWidget->isVisible()) {
- proxyWidget->show();
- proxyWidget->setFocus();
- }
- if (proxyWidget && proxyWidget->pos() != QPoint())
- proxyWidget->setGeometry(boundingRect().adjusted(25, 25, -25, -25));
-
- painter->setOpacity(opacity());
- painter->setPen(Qt::NoPen);
- painter->setBrush(QColor(0, 0, 0, 64));
- painter->drawRoundRect(rect().translated(2, 2));
-
- if (!proxyWidget) {
- QLinearGradient gradient(rect().topLeft(), rect().bottomRight());
- const QColor col = brush.color();
- gradient.setColorAt(0, col);
- gradient.setColorAt(1, col.dark(int(200 + lastVal * 50)));
- painter->setBrush(gradient);
- } else {
- painter->setBrush(brush);
- }
-
- painter->setPen(QPen(Qt::black, 1));
- painter->drawRoundRect(rect());
- if (!pix.isNull()) {
- painter->scale(1.95, 1.95);
- painter->drawPixmap(-pix.width() / 2, -pix.height() / 2, pix);;
- }
+ gradient.setStart(bounds.topLeft());
+ gradient.setFinalStop(bounds.bottomRight());
+ gradient.setColorAt(0, color);
+ gradient.setColorAt(1, color.dark(200));
+ setCacheMode(ItemCoordinateCache);
}
+//! [0]
-QRectF RoundRectItem::boundingRect() const
+//! [1]
+QPixmap RoundRectItem::pixmap() const
{
- qreal penW = 0.5;
- qreal shadowW = 2.0;
- return rect().adjusted(-penW, -penW, penW + shadowW, penW + shadowW);
+ return pix;
}
-
void RoundRectItem::setPixmap(const QPixmap &pixmap)
{
pix = pixmap;
- if (scene() && isVisible())
- update();
+ update();
}
+//! [1]
-qreal RoundRectItem::opacity() const
+//! [2]
+QRectF RoundRectItem::boundingRect() const
{
- RoundRectItem *parent = parentItem() ? (RoundRectItem *)parentItem() : 0;
- return opa + (parent ? parent->opacity() : 0);
+ return bounds.adjusted(0, 0, 2, 2);
}
+//! [2]
-void RoundRectItem::setOpacity(qreal opacity)
+//! [3]
+void RoundRectItem::paint(QPainter *painter, const QStyleOptionGraphicsItem *option,
+ QWidget *widget)
{
- opa = opacity;
- update();
-}
-
-void RoundRectItem::keyPressEvent(QKeyEvent *event)
-{
- if (event->isAutoRepeat() || event->key() != Qt::Key_Return
- || (timeLine.state() == QTimeLine::Running && timeLine.direction() == QTimeLine::Forward)) {
- QGraphicsRectItem::keyPressEvent(event);
- return;
+ Q_UNUSED(option);
+ Q_UNUSED(widget);
+ painter->setPen(Qt::NoPen);
+ painter->setBrush(QColor(0, 0, 0, 64));
+ painter->drawRoundRect(bounds.translated(2, 2));
+//! [3]
+//! [4]
+ if (fillRect)
+ painter->setBrush(QApplication::palette().brush(QPalette::Window));
+ else
+ painter->setBrush(gradient);
+ painter->setPen(QPen(Qt::black, 1));
+ painter->drawRoundRect(bounds);
+//! [4]
+//! [5]
+ if (!pix.isNull()) {
+ painter->scale(1.95, 1.95);
+ painter->drawPixmap(-pix.width() / 2, -pix.height() / 2, pix);
}
-
- timeLine.stop();
- timeLine.setDirection(QTimeLine::Forward);
- timeLine.start();
- emit activated();
}
+//! [5]
-void RoundRectItem::keyReleaseEvent(QKeyEvent *event)
+//! [6]
+bool RoundRectItem::fill() const
{
- if (event->key() != Qt::Key_Return) {
- QGraphicsRectItem::keyReleaseEvent(event);
- return;
- }
- timeLine.stop();
- timeLine.setDirection(QTimeLine::Backward);
- timeLine.start();
+ return fillRect;
}
-
-void RoundRectItem::updateValue(qreal value)
+void RoundRectItem::setFill(bool fill)
{
- lastVal = value;
- if (!proxyWidget)
- setTransform(QTransform().scale(1 - value / 10.0, 1 - value / 10.0));
+ fillRect = fill;
+ update();
}
+//! [6]
diff --git a/examples/graphicsview/padnavigator/roundrectitem.h b/examples/graphicsview/padnavigator/roundrectitem.h
index 683c09ffd9..53b92cc5f9 100644
--- a/examples/graphicsview/padnavigator/roundrectitem.h
+++ b/examples/graphicsview/padnavigator/roundrectitem.h
@@ -6,78 +6,70 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
-#include <QtCore/qobject.h>
-#include <QtCore/qtimeline.h>
-#include <QtGui/qgraphicsitem.h>
-#include <QtGui/qbrush.h>
+#ifndef ROUNDRECTITEM_H
+#define ROUNDRECTITEM_H
-QT_BEGIN_NAMESPACE
-class QGraphicsProxyWidget;
-QT_END_NAMESPACE
+#include <QGraphicsObject>
+#include <QLinearGradient>
-class RoundRectItem : public QObject, public QGraphicsRectItem
+//! [0]
+class RoundRectItem : public QGraphicsObject
{
Q_OBJECT
+ Q_PROPERTY(bool fill READ fill WRITE setFill)
public:
- RoundRectItem(const QRectF &rect, const QBrush &brush, QWidget *embeddedWidget = 0);
-
- void paint(QPainter *painter, const QStyleOptionGraphicsItem *, QWidget *);
- QRectF boundingRect() const;
+ RoundRectItem(const QRectF &bounds, const QColor &color,
+ QGraphicsItem *parent = 0);
+ QPixmap pixmap() const;
void setPixmap(const QPixmap &pixmap);
- qreal opacity() const;
- void setOpacity(qreal opacity);
-
-Q_SIGNALS:
- void activated();
-
-protected:
- void keyPressEvent(QKeyEvent *event);
- void keyReleaseEvent(QKeyEvent *event);
+ QRectF boundingRect() const;
+ void paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget = 0);
-private slots:
- void updateValue(qreal value);
+ bool fill() const;
+ void setFill(bool fill);
+//! [0]
+//! [1]
private:
- QBrush brush;
QPixmap pix;
- QTimeLine timeLine;
- qreal lastVal;
- qreal opa;
-
- QGraphicsProxyWidget *proxyWidget;
+ bool fillRect;
+ QRectF bounds;
+ QLinearGradient gradient;
};
+//! [1]
+
+#endif // ROUNDRECTITEM_H
diff --git a/examples/graphicsview/padnavigator/splashitem.cpp b/examples/graphicsview/padnavigator/splashitem.cpp
index b5b03d49fa..796454dbe3 100644
--- a/examples/graphicsview/padnavigator/splashitem.cpp
+++ b/examples/graphicsview/padnavigator/splashitem.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
@@ -43,31 +42,36 @@
#include <QtGui/QtGui>
+//! [0]
SplashItem::SplashItem(QGraphicsItem *parent)
- : QGraphicsWidget(parent)
+ : QGraphicsObject(parent)
{
- opacity = 1.0;
-
-
- timeLine = new QTimeLine(350);
- timeLine->setCurveShape(QTimeLine::EaseInCurve);
- connect(timeLine, SIGNAL(valueChanged(qreal)), this, SLOT(setValue(qreal)));
-
text = tr("Welcome to the Pad Navigator Example. You can use the"
" keyboard arrows to navigate the icons, and press enter"
- " to activate an item. Please press any key to continue.");
- resize(400, 175);
+ " to activate an item. Press any key to begin.");
+ setCacheMode(DeviceCoordinateCache);
}
+//! [0]
-void SplashItem::paint(QPainter *painter, const QStyleOptionGraphicsItem *, QWidget *)
+//! [1]
+QRectF SplashItem::boundingRect() const
{
- painter->setOpacity(opacity);
+ return QRectF(0, 0, 400, 175);
+}
+//! [1]
+
+//! [2]
+void SplashItem::paint(QPainter *painter, const QStyleOptionGraphicsItem *option,
+ QWidget *widget)
+{
+ Q_UNUSED(option);
+ Q_UNUSED(widget);
painter->setPen(QPen(Qt::black, 2));
painter->setBrush(QColor(245, 245, 255, 220));
- painter->setClipRect(rect());
+ painter->setClipRect(boundingRect());
painter->drawRoundRect(3, -100 + 3, 400 - 6, 250 - 6);
- QRectF textRect = rect().adjusted(10, 10, -10, -10);
+ QRectF textRect = boundingRect().adjusted(10, 10, -10, -10);
int flags = Qt::AlignTop | Qt::AlignLeft | Qt::TextWordWrap;
QFont font;
@@ -76,17 +80,4 @@ void SplashItem::paint(QPainter *painter, const QStyleOptionGraphicsItem *, QWid
painter->setFont(font);
painter->drawText(textRect, flags, text);
}
-
-void SplashItem::keyPressEvent(QKeyEvent * /* event */)
-{
- if (timeLine->state() == QTimeLine::NotRunning)
- timeLine->start();
-}
-
-void SplashItem::setValue(qreal value)
-{
- opacity = 1 - value;
- setPos(x(), scene()->sceneRect().top() - rect().height() * value);
- if (value == 1)
- hide();
-}
+//! [2]
diff --git a/examples/graphicsview/padnavigator/splashitem.h b/examples/graphicsview/padnavigator/splashitem.h
index 7a33bee6d4..330f607369 100644
--- a/examples/graphicsview/padnavigator/splashitem.h
+++ b/examples/graphicsview/padnavigator/splashitem.h
@@ -6,58 +6,56 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
-#include <QtCore/qobject.h>
-#include <QtCore/qtimeline.h>
-#include <QtGui/qgraphicswidget.h>
+#ifndef SPLASHITEM_H
+#define SPLASHITEM_H
-class SplashItem : public QGraphicsWidget
+#include <QGraphicsObject>
+
+//! [0]
+class SplashItem : public QGraphicsObject
{
Q_OBJECT
public:
- SplashItem(QGraphicsItem *parent = 0);
- void paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget);
-
-protected:
- void keyPressEvent(QKeyEvent *event);
+ explicit SplashItem(QGraphicsItem *parent = 0);
-private Q_SLOTS:
- void setValue(qreal value);
+ QRectF boundingRect() const;
+ void paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget = 0);
private:
- QTimeLine *timeLine;
QString text;
- qreal opacity;
};
+//! [0]
+
+#endif // SPLASHITEM_H
diff --git a/examples/graphicsview/portedasteroids/animateditem.cpp b/examples/graphicsview/portedasteroids/animateditem.cpp
index fd4b769f2b..368dccbc78 100644
--- a/examples/graphicsview/portedasteroids/animateditem.cpp
+++ b/examples/graphicsview/portedasteroids/animateditem.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/graphicsview/portedasteroids/animateditem.h b/examples/graphicsview/portedasteroids/animateditem.h
index 58d976f972..2a52a06daf 100644
--- a/examples/graphicsview/portedasteroids/animateditem.h
+++ b/examples/graphicsview/portedasteroids/animateditem.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/graphicsview/portedasteroids/ledmeter.cpp b/examples/graphicsview/portedasteroids/ledmeter.cpp
index f4d7e94293..fbf5ec22d9 100644
--- a/examples/graphicsview/portedasteroids/ledmeter.cpp
+++ b/examples/graphicsview/portedasteroids/ledmeter.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/graphicsview/portedasteroids/ledmeter.h b/examples/graphicsview/portedasteroids/ledmeter.h
index d4e7459aba..8d216407f6 100644
--- a/examples/graphicsview/portedasteroids/ledmeter.h
+++ b/examples/graphicsview/portedasteroids/ledmeter.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/graphicsview/portedasteroids/main.cpp b/examples/graphicsview/portedasteroids/main.cpp
index 2ad1a083b8..66083d0f5c 100644
--- a/examples/graphicsview/portedasteroids/main.cpp
+++ b/examples/graphicsview/portedasteroids/main.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/graphicsview/portedasteroids/sprites.h b/examples/graphicsview/portedasteroids/sprites.h
index 932e5ff85d..6d78815cd3 100644
--- a/examples/graphicsview/portedasteroids/sprites.h
+++ b/examples/graphicsview/portedasteroids/sprites.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/graphicsview/portedasteroids/toplevel.cpp b/examples/graphicsview/portedasteroids/toplevel.cpp
index 105af786b3..46bdb6d33b 100644
--- a/examples/graphicsview/portedasteroids/toplevel.cpp
+++ b/examples/graphicsview/portedasteroids/toplevel.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/graphicsview/portedasteroids/toplevel.h b/examples/graphicsview/portedasteroids/toplevel.h
index fa96128bd8..694e22e7cf 100644
--- a/examples/graphicsview/portedasteroids/toplevel.h
+++ b/examples/graphicsview/portedasteroids/toplevel.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/graphicsview/portedasteroids/view.cpp b/examples/graphicsview/portedasteroids/view.cpp
index 8332ed8809..0497e008ac 100644
--- a/examples/graphicsview/portedasteroids/view.cpp
+++ b/examples/graphicsview/portedasteroids/view.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/graphicsview/portedasteroids/view.h b/examples/graphicsview/portedasteroids/view.h
index 35ecd5b930..e0393c7069 100644
--- a/examples/graphicsview/portedasteroids/view.h
+++ b/examples/graphicsview/portedasteroids/view.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/graphicsview/portedcanvas/blendshadow.cpp b/examples/graphicsview/portedcanvas/blendshadow.cpp
index e4e58b6a54..bdea2ed596 100644
--- a/examples/graphicsview/portedcanvas/blendshadow.cpp
+++ b/examples/graphicsview/portedcanvas/blendshadow.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/graphicsview/portedcanvas/canvas.cpp b/examples/graphicsview/portedcanvas/canvas.cpp
index f69ba9e5e6..2620b7c888 100644
--- a/examples/graphicsview/portedcanvas/canvas.cpp
+++ b/examples/graphicsview/portedcanvas/canvas.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/graphicsview/portedcanvas/canvas.h b/examples/graphicsview/portedcanvas/canvas.h
index 9d28dc82cc..bb65cda296 100644
--- a/examples/graphicsview/portedcanvas/canvas.h
+++ b/examples/graphicsview/portedcanvas/canvas.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/graphicsview/portedcanvas/main.cpp b/examples/graphicsview/portedcanvas/main.cpp
index 513c0e1a16..90a264e1ef 100644
--- a/examples/graphicsview/portedcanvas/main.cpp
+++ b/examples/graphicsview/portedcanvas/main.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/graphicsview/portedcanvas/makeimg.cpp b/examples/graphicsview/portedcanvas/makeimg.cpp
index 8325b0292d..469204f8c8 100644
--- a/examples/graphicsview/portedcanvas/makeimg.cpp
+++ b/examples/graphicsview/portedcanvas/makeimg.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/graphicsview/simpleanchorlayout/main.cpp b/examples/graphicsview/simpleanchorlayout/main.cpp
index cb2ba24de8..9cb4006301 100644
--- a/examples/graphicsview/simpleanchorlayout/main.cpp
+++ b/examples/graphicsview/simpleanchorlayout/main.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/graphicsview/weatheranchorlayout/main.cpp b/examples/graphicsview/weatheranchorlayout/main.cpp
index 391fdd8fdf..7d811885fc 100644
--- a/examples/graphicsview/weatheranchorlayout/main.cpp
+++ b/examples/graphicsview/weatheranchorlayout/main.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/help/contextsensitivehelp/helpbrowser.cpp b/examples/help/contextsensitivehelp/helpbrowser.cpp
index 2230a68311..c1f5d43462 100644
--- a/examples/help/contextsensitivehelp/helpbrowser.cpp
+++ b/examples/help/contextsensitivehelp/helpbrowser.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/help/contextsensitivehelp/helpbrowser.h b/examples/help/contextsensitivehelp/helpbrowser.h
index 4b3ed24ca4..1e4608085c 100644
--- a/examples/help/contextsensitivehelp/helpbrowser.h
+++ b/examples/help/contextsensitivehelp/helpbrowser.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/help/contextsensitivehelp/main.cpp b/examples/help/contextsensitivehelp/main.cpp
index 455523b210..ed8e841837 100644
--- a/examples/help/contextsensitivehelp/main.cpp
+++ b/examples/help/contextsensitivehelp/main.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/help/contextsensitivehelp/wateringconfigdialog.cpp b/examples/help/contextsensitivehelp/wateringconfigdialog.cpp
index edf579d323..47fda73ace 100644
--- a/examples/help/contextsensitivehelp/wateringconfigdialog.cpp
+++ b/examples/help/contextsensitivehelp/wateringconfigdialog.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/help/contextsensitivehelp/wateringconfigdialog.h b/examples/help/contextsensitivehelp/wateringconfigdialog.h
index 288f7c8306..c996ae3907 100644
--- a/examples/help/contextsensitivehelp/wateringconfigdialog.h
+++ b/examples/help/contextsensitivehelp/wateringconfigdialog.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/help/remotecontrol/main.cpp b/examples/help/remotecontrol/main.cpp
index e8ff7e242b..d5561607c1 100644
--- a/examples/help/remotecontrol/main.cpp
+++ b/examples/help/remotecontrol/main.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/help/remotecontrol/remotecontrol.cpp b/examples/help/remotecontrol/remotecontrol.cpp
index b51d8f7556..8daf6ef604 100644
--- a/examples/help/remotecontrol/remotecontrol.cpp
+++ b/examples/help/remotecontrol/remotecontrol.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/help/remotecontrol/remotecontrol.h b/examples/help/remotecontrol/remotecontrol.h
index 6166134e03..fa019270ca 100644
--- a/examples/help/remotecontrol/remotecontrol.h
+++ b/examples/help/remotecontrol/remotecontrol.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/help/simpletextviewer/assistant.cpp b/examples/help/simpletextviewer/assistant.cpp
index 3acc1938a3..cf8efda783 100644
--- a/examples/help/simpletextviewer/assistant.cpp
+++ b/examples/help/simpletextviewer/assistant.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/help/simpletextviewer/assistant.h b/examples/help/simpletextviewer/assistant.h
index 026e0a0ab7..36f6bbc960 100644
--- a/examples/help/simpletextviewer/assistant.h
+++ b/examples/help/simpletextviewer/assistant.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/help/simpletextviewer/findfiledialog.cpp b/examples/help/simpletextviewer/findfiledialog.cpp
index b16cdc1d13..4bef0ec4d0 100644
--- a/examples/help/simpletextviewer/findfiledialog.cpp
+++ b/examples/help/simpletextviewer/findfiledialog.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/help/simpletextviewer/findfiledialog.h b/examples/help/simpletextviewer/findfiledialog.h
index cb3913f58a..51c48131d2 100644
--- a/examples/help/simpletextviewer/findfiledialog.h
+++ b/examples/help/simpletextviewer/findfiledialog.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/help/simpletextviewer/main.cpp b/examples/help/simpletextviewer/main.cpp
index 5d96b9253f..887afc7d89 100644
--- a/examples/help/simpletextviewer/main.cpp
+++ b/examples/help/simpletextviewer/main.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/help/simpletextviewer/mainwindow.cpp b/examples/help/simpletextviewer/mainwindow.cpp
index 5bfbd7d656..9c228ce197 100644
--- a/examples/help/simpletextviewer/mainwindow.cpp
+++ b/examples/help/simpletextviewer/mainwindow.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/help/simpletextviewer/mainwindow.h b/examples/help/simpletextviewer/mainwindow.h
index 705a1a5c62..f8991b0cff 100644
--- a/examples/help/simpletextviewer/mainwindow.h
+++ b/examples/help/simpletextviewer/mainwindow.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/help/simpletextviewer/textedit.cpp b/examples/help/simpletextviewer/textedit.cpp
index 93c452b3f2..c30a831afc 100644
--- a/examples/help/simpletextviewer/textedit.cpp
+++ b/examples/help/simpletextviewer/textedit.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/help/simpletextviewer/textedit.h b/examples/help/simpletextviewer/textedit.h
index f84eed6e66..5c310db328 100644
--- a/examples/help/simpletextviewer/textedit.h
+++ b/examples/help/simpletextviewer/textedit.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/ipc/localfortuneclient/client.cpp b/examples/ipc/localfortuneclient/client.cpp
index c14f0e90f5..a17ad9fd5b 100644
--- a/examples/ipc/localfortuneclient/client.cpp
+++ b/examples/ipc/localfortuneclient/client.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/ipc/localfortuneclient/client.h b/examples/ipc/localfortuneclient/client.h
index 5a8c9fb094..c0d2b305c0 100644
--- a/examples/ipc/localfortuneclient/client.h
+++ b/examples/ipc/localfortuneclient/client.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/ipc/localfortuneclient/main.cpp b/examples/ipc/localfortuneclient/main.cpp
index be3321faf6..51f4eac50f 100644
--- a/examples/ipc/localfortuneclient/main.cpp
+++ b/examples/ipc/localfortuneclient/main.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/ipc/localfortuneserver/main.cpp b/examples/ipc/localfortuneserver/main.cpp
index 3530109a58..82e015e146 100644
--- a/examples/ipc/localfortuneserver/main.cpp
+++ b/examples/ipc/localfortuneserver/main.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/ipc/localfortuneserver/server.cpp b/examples/ipc/localfortuneserver/server.cpp
index 305d62b130..e7cb085cbc 100644
--- a/examples/ipc/localfortuneserver/server.cpp
+++ b/examples/ipc/localfortuneserver/server.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/ipc/localfortuneserver/server.h b/examples/ipc/localfortuneserver/server.h
index 4e254cd8ce..82823898d8 100644
--- a/examples/ipc/localfortuneserver/server.h
+++ b/examples/ipc/localfortuneserver/server.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/ipc/sharedmemory/dialog.cpp b/examples/ipc/sharedmemory/dialog.cpp
index 5468edef53..38088c0361 100644
--- a/examples/ipc/sharedmemory/dialog.cpp
+++ b/examples/ipc/sharedmemory/dialog.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/ipc/sharedmemory/dialog.h b/examples/ipc/sharedmemory/dialog.h
index 266755a447..383aa51879 100644
--- a/examples/ipc/sharedmemory/dialog.h
+++ b/examples/ipc/sharedmemory/dialog.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/ipc/sharedmemory/main.cpp b/examples/ipc/sharedmemory/main.cpp
index 0ae81d7143..cf5394994e 100644
--- a/examples/ipc/sharedmemory/main.cpp
+++ b/examples/ipc/sharedmemory/main.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/itemviews/addressbook/adddialog.cpp b/examples/itemviews/addressbook/adddialog.cpp
index 39dd499dda..8b34360913 100644
--- a/examples/itemviews/addressbook/adddialog.cpp
+++ b/examples/itemviews/addressbook/adddialog.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/itemviews/addressbook/adddialog.h b/examples/itemviews/addressbook/adddialog.h
index bd2c1ccb7e..3710772226 100644
--- a/examples/itemviews/addressbook/adddialog.h
+++ b/examples/itemviews/addressbook/adddialog.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/itemviews/addressbook/addresswidget.cpp b/examples/itemviews/addressbook/addresswidget.cpp
index 45cb204d98..e226643452 100644
--- a/examples/itemviews/addressbook/addresswidget.cpp
+++ b/examples/itemviews/addressbook/addresswidget.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/itemviews/addressbook/addresswidget.h b/examples/itemviews/addressbook/addresswidget.h
index d83e41cf11..3048057083 100644
--- a/examples/itemviews/addressbook/addresswidget.h
+++ b/examples/itemviews/addressbook/addresswidget.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/itemviews/addressbook/main.cpp b/examples/itemviews/addressbook/main.cpp
index 6692ed3679..3f4ecc30bf 100644
--- a/examples/itemviews/addressbook/main.cpp
+++ b/examples/itemviews/addressbook/main.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/itemviews/addressbook/mainwindow.cpp b/examples/itemviews/addressbook/mainwindow.cpp
index 3c3f430397..8cfc795e8a 100644
--- a/examples/itemviews/addressbook/mainwindow.cpp
+++ b/examples/itemviews/addressbook/mainwindow.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/itemviews/addressbook/mainwindow.h b/examples/itemviews/addressbook/mainwindow.h
index 5823568b72..948f22e8b7 100644
--- a/examples/itemviews/addressbook/mainwindow.h
+++ b/examples/itemviews/addressbook/mainwindow.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/itemviews/addressbook/newaddresstab.cpp b/examples/itemviews/addressbook/newaddresstab.cpp
index 8823a4e3ed..55a723f179 100644
--- a/examples/itemviews/addressbook/newaddresstab.cpp
+++ b/examples/itemviews/addressbook/newaddresstab.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/itemviews/addressbook/newaddresstab.h b/examples/itemviews/addressbook/newaddresstab.h
index 6f130733e0..c02bcaa434 100644
--- a/examples/itemviews/addressbook/newaddresstab.h
+++ b/examples/itemviews/addressbook/newaddresstab.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/itemviews/addressbook/tablemodel.cpp b/examples/itemviews/addressbook/tablemodel.cpp
index 4125e6a17d..603c926bb9 100644
--- a/examples/itemviews/addressbook/tablemodel.cpp
+++ b/examples/itemviews/addressbook/tablemodel.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/itemviews/addressbook/tablemodel.h b/examples/itemviews/addressbook/tablemodel.h
index 0771499444..ce0786384a 100644
--- a/examples/itemviews/addressbook/tablemodel.h
+++ b/examples/itemviews/addressbook/tablemodel.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/itemviews/basicsortfiltermodel/main.cpp b/examples/itemviews/basicsortfiltermodel/main.cpp
index 3618b16670..231751b82a 100644
--- a/examples/itemviews/basicsortfiltermodel/main.cpp
+++ b/examples/itemviews/basicsortfiltermodel/main.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/itemviews/basicsortfiltermodel/window.cpp b/examples/itemviews/basicsortfiltermodel/window.cpp
index 7b659c748a..dcc882a941 100644
--- a/examples/itemviews/basicsortfiltermodel/window.cpp
+++ b/examples/itemviews/basicsortfiltermodel/window.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/itemviews/basicsortfiltermodel/window.h b/examples/itemviews/basicsortfiltermodel/window.h
index 41dea892b8..ed66a31862 100644
--- a/examples/itemviews/basicsortfiltermodel/window.h
+++ b/examples/itemviews/basicsortfiltermodel/window.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/itemviews/chart/main.cpp b/examples/itemviews/chart/main.cpp
index 163fe43ee8..5eee83ad86 100644
--- a/examples/itemviews/chart/main.cpp
+++ b/examples/itemviews/chart/main.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/itemviews/chart/mainwindow.cpp b/examples/itemviews/chart/mainwindow.cpp
index 081a230046..a1485dcb71 100644
--- a/examples/itemviews/chart/mainwindow.cpp
+++ b/examples/itemviews/chart/mainwindow.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/itemviews/chart/mainwindow.h b/examples/itemviews/chart/mainwindow.h
index f3bd92622b..90f273349f 100644
--- a/examples/itemviews/chart/mainwindow.h
+++ b/examples/itemviews/chart/mainwindow.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/itemviews/chart/pieview.cpp b/examples/itemviews/chart/pieview.cpp
index c9e3f7b759..0c7c6a47c4 100644
--- a/examples/itemviews/chart/pieview.cpp
+++ b/examples/itemviews/chart/pieview.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/itemviews/chart/pieview.h b/examples/itemviews/chart/pieview.h
index 620f5f7756..6069649dfa 100644
--- a/examples/itemviews/chart/pieview.h
+++ b/examples/itemviews/chart/pieview.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/itemviews/coloreditorfactory/colorlisteditor.cpp b/examples/itemviews/coloreditorfactory/colorlisteditor.cpp
index 751fa943d3..1af5831414 100644
--- a/examples/itemviews/coloreditorfactory/colorlisteditor.cpp
+++ b/examples/itemviews/coloreditorfactory/colorlisteditor.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/itemviews/coloreditorfactory/colorlisteditor.h b/examples/itemviews/coloreditorfactory/colorlisteditor.h
index c267d17e5c..1418de71c8 100644
--- a/examples/itemviews/coloreditorfactory/colorlisteditor.h
+++ b/examples/itemviews/coloreditorfactory/colorlisteditor.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/itemviews/coloreditorfactory/main.cpp b/examples/itemviews/coloreditorfactory/main.cpp
index 370d1db3db..69ac9dd370 100644
--- a/examples/itemviews/coloreditorfactory/main.cpp
+++ b/examples/itemviews/coloreditorfactory/main.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/itemviews/coloreditorfactory/window.cpp b/examples/itemviews/coloreditorfactory/window.cpp
index e37c5fdaf1..48a06f24d2 100644
--- a/examples/itemviews/coloreditorfactory/window.cpp
+++ b/examples/itemviews/coloreditorfactory/window.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/itemviews/coloreditorfactory/window.h b/examples/itemviews/coloreditorfactory/window.h
index 5561c27720..48b9fbf9a3 100644
--- a/examples/itemviews/coloreditorfactory/window.h
+++ b/examples/itemviews/coloreditorfactory/window.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/itemviews/combowidgetmapper/main.cpp b/examples/itemviews/combowidgetmapper/main.cpp
index 1ea9717901..a9a2578c3d 100644
--- a/examples/itemviews/combowidgetmapper/main.cpp
+++ b/examples/itemviews/combowidgetmapper/main.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/itemviews/combowidgetmapper/window.cpp b/examples/itemviews/combowidgetmapper/window.cpp
index 8f6ff60b18..d93bd03fe2 100644
--- a/examples/itemviews/combowidgetmapper/window.cpp
+++ b/examples/itemviews/combowidgetmapper/window.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/itemviews/combowidgetmapper/window.h b/examples/itemviews/combowidgetmapper/window.h
index 2658499714..818c612ab0 100644
--- a/examples/itemviews/combowidgetmapper/window.h
+++ b/examples/itemviews/combowidgetmapper/window.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/itemviews/customsortfiltermodel/main.cpp b/examples/itemviews/customsortfiltermodel/main.cpp
index 00c5d66384..fccdb5d131 100644
--- a/examples/itemviews/customsortfiltermodel/main.cpp
+++ b/examples/itemviews/customsortfiltermodel/main.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/itemviews/customsortfiltermodel/mysortfilterproxymodel.cpp b/examples/itemviews/customsortfiltermodel/mysortfilterproxymodel.cpp
index 4e092db893..62c71a51ec 100644
--- a/examples/itemviews/customsortfiltermodel/mysortfilterproxymodel.cpp
+++ b/examples/itemviews/customsortfiltermodel/mysortfilterproxymodel.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/itemviews/customsortfiltermodel/mysortfilterproxymodel.h b/examples/itemviews/customsortfiltermodel/mysortfilterproxymodel.h
index 05378fd32e..71669b586d 100644
--- a/examples/itemviews/customsortfiltermodel/mysortfilterproxymodel.h
+++ b/examples/itemviews/customsortfiltermodel/mysortfilterproxymodel.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/itemviews/customsortfiltermodel/window.cpp b/examples/itemviews/customsortfiltermodel/window.cpp
index c06f1effcf..a0c1feb4f3 100644
--- a/examples/itemviews/customsortfiltermodel/window.cpp
+++ b/examples/itemviews/customsortfiltermodel/window.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/itemviews/customsortfiltermodel/window.h b/examples/itemviews/customsortfiltermodel/window.h
index 367a1eb6fc..fe78d8ef71 100644
--- a/examples/itemviews/customsortfiltermodel/window.h
+++ b/examples/itemviews/customsortfiltermodel/window.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/itemviews/dirview/main.cpp b/examples/itemviews/dirview/main.cpp
index 5f33810895..713bb0d615 100644
--- a/examples/itemviews/dirview/main.cpp
+++ b/examples/itemviews/dirview/main.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/itemviews/editabletreemodel/main.cpp b/examples/itemviews/editabletreemodel/main.cpp
index bcbf55309a..792ac83503 100644
--- a/examples/itemviews/editabletreemodel/main.cpp
+++ b/examples/itemviews/editabletreemodel/main.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/itemviews/editabletreemodel/mainwindow.cpp b/examples/itemviews/editabletreemodel/mainwindow.cpp
index 027c8160cc..de0014e8fa 100644
--- a/examples/itemviews/editabletreemodel/mainwindow.cpp
+++ b/examples/itemviews/editabletreemodel/mainwindow.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/itemviews/editabletreemodel/mainwindow.h b/examples/itemviews/editabletreemodel/mainwindow.h
index 88477c65a6..65ef47c954 100644
--- a/examples/itemviews/editabletreemodel/mainwindow.h
+++ b/examples/itemviews/editabletreemodel/mainwindow.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/itemviews/editabletreemodel/treeitem.cpp b/examples/itemviews/editabletreemodel/treeitem.cpp
index aa2cade421..212b485c79 100644
--- a/examples/itemviews/editabletreemodel/treeitem.cpp
+++ b/examples/itemviews/editabletreemodel/treeitem.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/itemviews/editabletreemodel/treeitem.h b/examples/itemviews/editabletreemodel/treeitem.h
index eb32c00f00..80137be2c4 100644
--- a/examples/itemviews/editabletreemodel/treeitem.h
+++ b/examples/itemviews/editabletreemodel/treeitem.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/itemviews/editabletreemodel/treemodel.cpp b/examples/itemviews/editabletreemodel/treemodel.cpp
index e46fdcff66..862a99ea1d 100644
--- a/examples/itemviews/editabletreemodel/treemodel.cpp
+++ b/examples/itemviews/editabletreemodel/treemodel.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/itemviews/editabletreemodel/treemodel.h b/examples/itemviews/editabletreemodel/treemodel.h
index 291c6b7cb8..5e94b595eb 100644
--- a/examples/itemviews/editabletreemodel/treemodel.h
+++ b/examples/itemviews/editabletreemodel/treemodel.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/itemviews/fetchmore/filelistmodel.cpp b/examples/itemviews/fetchmore/filelistmodel.cpp
index 75102cd956..942150e234 100644
--- a/examples/itemviews/fetchmore/filelistmodel.cpp
+++ b/examples/itemviews/fetchmore/filelistmodel.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
@@ -93,7 +92,7 @@ void FileListModel::fetchMore(const QModelIndex & /* index */)
int remainder = fileList.size() - fileCount;
int itemsToFetch = qMin(100, remainder);
- beginInsertRows(QModelIndex(), fileCount, fileCount+itemsToFetch);
+ beginInsertRows(QModelIndex(), fileCount, fileCount+itemsToFetch-1);
fileCount += itemsToFetch;
diff --git a/examples/itemviews/fetchmore/filelistmodel.h b/examples/itemviews/fetchmore/filelistmodel.h
index bb3f4b7c6d..0009ef2c76 100644
--- a/examples/itemviews/fetchmore/filelistmodel.h
+++ b/examples/itemviews/fetchmore/filelistmodel.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/itemviews/fetchmore/main.cpp b/examples/itemviews/fetchmore/main.cpp
index 875f78f888..b7c9c0cf9a 100644
--- a/examples/itemviews/fetchmore/main.cpp
+++ b/examples/itemviews/fetchmore/main.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/itemviews/fetchmore/window.cpp b/examples/itemviews/fetchmore/window.cpp
index 4c06e6bd01..3c0852a835 100644
--- a/examples/itemviews/fetchmore/window.cpp
+++ b/examples/itemviews/fetchmore/window.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/itemviews/fetchmore/window.h b/examples/itemviews/fetchmore/window.h
index 039e022474..270be25536 100644
--- a/examples/itemviews/fetchmore/window.h
+++ b/examples/itemviews/fetchmore/window.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/itemviews/frozencolumn/freezetablewidget.cpp b/examples/itemviews/frozencolumn/freezetablewidget.cpp
index 16658c6841..6bd4839a6f 100644
--- a/examples/itemviews/frozencolumn/freezetablewidget.cpp
+++ b/examples/itemviews/frozencolumn/freezetablewidget.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/itemviews/frozencolumn/freezetablewidget.h b/examples/itemviews/frozencolumn/freezetablewidget.h
index d99ab83f75..b99e8e2cd4 100644
--- a/examples/itemviews/frozencolumn/freezetablewidget.h
+++ b/examples/itemviews/frozencolumn/freezetablewidget.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/itemviews/frozencolumn/main.cpp b/examples/itemviews/frozencolumn/main.cpp
index 7af48022b6..9714bc5a12 100644
--- a/examples/itemviews/frozencolumn/main.cpp
+++ b/examples/itemviews/frozencolumn/main.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/itemviews/pixelator/imagemodel.cpp b/examples/itemviews/pixelator/imagemodel.cpp
index 75170b5b53..3641cb0a3e 100644
--- a/examples/itemviews/pixelator/imagemodel.cpp
+++ b/examples/itemviews/pixelator/imagemodel.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/itemviews/pixelator/imagemodel.h b/examples/itemviews/pixelator/imagemodel.h
index 84b4fecb78..cc36683666 100644
--- a/examples/itemviews/pixelator/imagemodel.h
+++ b/examples/itemviews/pixelator/imagemodel.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/itemviews/pixelator/main.cpp b/examples/itemviews/pixelator/main.cpp
index ea7d81538c..06e1d80c66 100644
--- a/examples/itemviews/pixelator/main.cpp
+++ b/examples/itemviews/pixelator/main.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/itemviews/pixelator/mainwindow.cpp b/examples/itemviews/pixelator/mainwindow.cpp
index 7d64a726a9..f330f84eac 100644
--- a/examples/itemviews/pixelator/mainwindow.cpp
+++ b/examples/itemviews/pixelator/mainwindow.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/itemviews/pixelator/mainwindow.h b/examples/itemviews/pixelator/mainwindow.h
index 6133d1ffdf..a518fc722a 100644
--- a/examples/itemviews/pixelator/mainwindow.h
+++ b/examples/itemviews/pixelator/mainwindow.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/itemviews/pixelator/pixeldelegate.cpp b/examples/itemviews/pixelator/pixeldelegate.cpp
index fcb30e4365..78c7689852 100644
--- a/examples/itemviews/pixelator/pixeldelegate.cpp
+++ b/examples/itemviews/pixelator/pixeldelegate.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/itemviews/pixelator/pixeldelegate.h b/examples/itemviews/pixelator/pixeldelegate.h
index 4b31a16a04..4eb98ef894 100644
--- a/examples/itemviews/pixelator/pixeldelegate.h
+++ b/examples/itemviews/pixelator/pixeldelegate.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/itemviews/puzzle/main.cpp b/examples/itemviews/puzzle/main.cpp
index e603adc756..9b9c80141f 100644
--- a/examples/itemviews/puzzle/main.cpp
+++ b/examples/itemviews/puzzle/main.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/itemviews/puzzle/mainwindow.cpp b/examples/itemviews/puzzle/mainwindow.cpp
index 86ed5a7542..7b10103fa5 100644
--- a/examples/itemviews/puzzle/mainwindow.cpp
+++ b/examples/itemviews/puzzle/mainwindow.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/itemviews/puzzle/mainwindow.h b/examples/itemviews/puzzle/mainwindow.h
index bdbcd22059..38d56fd2cf 100644
--- a/examples/itemviews/puzzle/mainwindow.h
+++ b/examples/itemviews/puzzle/mainwindow.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/itemviews/puzzle/piecesmodel.cpp b/examples/itemviews/puzzle/piecesmodel.cpp
index 5fa8511aeb..e110cf1df0 100644
--- a/examples/itemviews/puzzle/piecesmodel.cpp
+++ b/examples/itemviews/puzzle/piecesmodel.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/itemviews/puzzle/piecesmodel.h b/examples/itemviews/puzzle/piecesmodel.h
index 2bd0bc86b7..15774f2492 100644
--- a/examples/itemviews/puzzle/piecesmodel.h
+++ b/examples/itemviews/puzzle/piecesmodel.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/itemviews/puzzle/puzzlewidget.cpp b/examples/itemviews/puzzle/puzzlewidget.cpp
index be73f6d78d..63d489b124 100644
--- a/examples/itemviews/puzzle/puzzlewidget.cpp
+++ b/examples/itemviews/puzzle/puzzlewidget.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/itemviews/puzzle/puzzlewidget.h b/examples/itemviews/puzzle/puzzlewidget.h
index a031a41f88..c78d1c0c97 100644
--- a/examples/itemviews/puzzle/puzzlewidget.h
+++ b/examples/itemviews/puzzle/puzzlewidget.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/itemviews/simpledommodel/domitem.cpp b/examples/itemviews/simpledommodel/domitem.cpp
index 6c84c172ca..9d36d3f8de 100644
--- a/examples/itemviews/simpledommodel/domitem.cpp
+++ b/examples/itemviews/simpledommodel/domitem.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/itemviews/simpledommodel/domitem.h b/examples/itemviews/simpledommodel/domitem.h
index a54bb07110..6901fea546 100644
--- a/examples/itemviews/simpledommodel/domitem.h
+++ b/examples/itemviews/simpledommodel/domitem.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/itemviews/simpledommodel/dommodel.cpp b/examples/itemviews/simpledommodel/dommodel.cpp
index a3fd1e090d..04df1c39ff 100644
--- a/examples/itemviews/simpledommodel/dommodel.cpp
+++ b/examples/itemviews/simpledommodel/dommodel.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/itemviews/simpledommodel/dommodel.h b/examples/itemviews/simpledommodel/dommodel.h
index e9a0e2196b..305356fea3 100644
--- a/examples/itemviews/simpledommodel/dommodel.h
+++ b/examples/itemviews/simpledommodel/dommodel.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/itemviews/simpledommodel/main.cpp b/examples/itemviews/simpledommodel/main.cpp
index ec04002339..6ba79f15e2 100644
--- a/examples/itemviews/simpledommodel/main.cpp
+++ b/examples/itemviews/simpledommodel/main.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/itemviews/simpledommodel/mainwindow.cpp b/examples/itemviews/simpledommodel/mainwindow.cpp
index 85c8c98ff1..23b84163fa 100644
--- a/examples/itemviews/simpledommodel/mainwindow.cpp
+++ b/examples/itemviews/simpledommodel/mainwindow.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/itemviews/simpledommodel/mainwindow.h b/examples/itemviews/simpledommodel/mainwindow.h
index 8310ad0644..63e8705b56 100644
--- a/examples/itemviews/simpledommodel/mainwindow.h
+++ b/examples/itemviews/simpledommodel/mainwindow.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/itemviews/simpletreemodel/main.cpp b/examples/itemviews/simpletreemodel/main.cpp
index a9d941df51..5007ebc2ce 100644
--- a/examples/itemviews/simpletreemodel/main.cpp
+++ b/examples/itemviews/simpletreemodel/main.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/itemviews/simpletreemodel/treeitem.cpp b/examples/itemviews/simpletreemodel/treeitem.cpp
index 27e9636d9d..04eea9490b 100644
--- a/examples/itemviews/simpletreemodel/treeitem.cpp
+++ b/examples/itemviews/simpletreemodel/treeitem.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/itemviews/simpletreemodel/treeitem.h b/examples/itemviews/simpletreemodel/treeitem.h
index 01ce43ae56..addbec5bc9 100644
--- a/examples/itemviews/simpletreemodel/treeitem.h
+++ b/examples/itemviews/simpletreemodel/treeitem.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/itemviews/simpletreemodel/treemodel.cpp b/examples/itemviews/simpletreemodel/treemodel.cpp
index e81c890c4c..f46e733544 100644
--- a/examples/itemviews/simpletreemodel/treemodel.cpp
+++ b/examples/itemviews/simpletreemodel/treemodel.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/itemviews/simpletreemodel/treemodel.h b/examples/itemviews/simpletreemodel/treemodel.h
index b9b12dcd27..3969e7a530 100644
--- a/examples/itemviews/simpletreemodel/treemodel.h
+++ b/examples/itemviews/simpletreemodel/treemodel.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/itemviews/simplewidgetmapper/main.cpp b/examples/itemviews/simplewidgetmapper/main.cpp
index 1ea9717901..a9a2578c3d 100644
--- a/examples/itemviews/simplewidgetmapper/main.cpp
+++ b/examples/itemviews/simplewidgetmapper/main.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/itemviews/simplewidgetmapper/window.cpp b/examples/itemviews/simplewidgetmapper/window.cpp
index 91a68da067..28ce205c50 100644
--- a/examples/itemviews/simplewidgetmapper/window.cpp
+++ b/examples/itemviews/simplewidgetmapper/window.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/itemviews/simplewidgetmapper/window.h b/examples/itemviews/simplewidgetmapper/window.h
index 0cf6bf99fa..4836a5998c 100644
--- a/examples/itemviews/simplewidgetmapper/window.h
+++ b/examples/itemviews/simplewidgetmapper/window.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/itemviews/spinboxdelegate/delegate.cpp b/examples/itemviews/spinboxdelegate/delegate.cpp
index 05af3d4412..18ec5f9b60 100644
--- a/examples/itemviews/spinboxdelegate/delegate.cpp
+++ b/examples/itemviews/spinboxdelegate/delegate.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/itemviews/spinboxdelegate/delegate.h b/examples/itemviews/spinboxdelegate/delegate.h
index 8595fc785b..ca813e726a 100644
--- a/examples/itemviews/spinboxdelegate/delegate.h
+++ b/examples/itemviews/spinboxdelegate/delegate.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/itemviews/spinboxdelegate/main.cpp b/examples/itemviews/spinboxdelegate/main.cpp
index f9f45e2bae..a3c4dd39c7 100644
--- a/examples/itemviews/spinboxdelegate/main.cpp
+++ b/examples/itemviews/spinboxdelegate/main.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/itemviews/stardelegate/main.cpp b/examples/itemviews/stardelegate/main.cpp
index 65c340afdd..d9f655d3d3 100644
--- a/examples/itemviews/stardelegate/main.cpp
+++ b/examples/itemviews/stardelegate/main.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/itemviews/stardelegate/stardelegate.cpp b/examples/itemviews/stardelegate/stardelegate.cpp
index a963d60ea6..44dd54f36f 100644
--- a/examples/itemviews/stardelegate/stardelegate.cpp
+++ b/examples/itemviews/stardelegate/stardelegate.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/itemviews/stardelegate/stardelegate.h b/examples/itemviews/stardelegate/stardelegate.h
index 39d579ef22..d57b4aa2e8 100644
--- a/examples/itemviews/stardelegate/stardelegate.h
+++ b/examples/itemviews/stardelegate/stardelegate.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/itemviews/stardelegate/stareditor.cpp b/examples/itemviews/stardelegate/stareditor.cpp
index 1f05a9271b..50e3386890 100644
--- a/examples/itemviews/stardelegate/stareditor.cpp
+++ b/examples/itemviews/stardelegate/stareditor.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/itemviews/stardelegate/stareditor.h b/examples/itemviews/stardelegate/stareditor.h
index 75586a02d5..3e970cc625 100644
--- a/examples/itemviews/stardelegate/stareditor.h
+++ b/examples/itemviews/stardelegate/stareditor.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/itemviews/stardelegate/starrating.cpp b/examples/itemviews/stardelegate/starrating.cpp
index 1b2ed6cc03..6632ec3636 100644
--- a/examples/itemviews/stardelegate/starrating.cpp
+++ b/examples/itemviews/stardelegate/starrating.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/itemviews/stardelegate/starrating.h b/examples/itemviews/stardelegate/starrating.h
index bbdf07258d..2fad893b33 100644
--- a/examples/itemviews/stardelegate/starrating.h
+++ b/examples/itemviews/stardelegate/starrating.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/ja_JP/linguist/hellotr/hellotr.pro b/examples/ja_JP/linguist/hellotr/hellotr.pro
new file mode 100644
index 0000000000..3846bfb4da
--- /dev/null
+++ b/examples/ja_JP/linguist/hellotr/hellotr.pro
@@ -0,0 +1,13 @@
+#! [0]
+SOURCES = main.cpp
+#! [0] #! [1]
+TRANSLATIONS = hellotr_ja.ts
+#! [1]
+
+# install
+target.path = $$[QT_INSTALL_EXAMPLES]/linguist/hellotr
+sources.files = $$SOURCES *.pro
+sources.path = $$[QT_INSTALL_EXAMPLES]/linguist/hellotr
+INSTALLS += target sources
+
+symbian: include($$QT_SOURCE_TREE/examples/symbianpkgrules.pri)
diff --git a/examples/ja_JP/linguist/hellotr/main.cpp b/examples/ja_JP/linguist/hellotr/main.cpp
new file mode 100644
index 0000000000..ad122e97ca
--- /dev/null
+++ b/examples/ja_JP/linguist/hellotr/main.cpp
@@ -0,0 +1,71 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the examples of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include <QApplication>
+#include <QPushButton>
+//! [0]
+#include <QTranslator>
+//! [0]
+
+//! [1] //! [2]
+int main(int argc, char *argv[])
+//! [1] //! [3] //! [4]
+{
+ QApplication app(argc, argv);
+//! [3]
+
+//! [5]
+ QTranslator translator;
+//! [5] //! [6]
+ translator.load("hellotr_ja");
+//! [6] //! [7]
+ app.installTranslator(&translator);
+//! [4] //! [7]
+
+//! [8]
+ QPushButton hello(QPushButton::tr("Hello world!"));
+//! [8]
+ hello.resize(100, 30);
+
+ hello.show();
+ return app.exec();
+}
+//! [2]
diff --git a/examples/layouts/basiclayouts/dialog.cpp b/examples/layouts/basiclayouts/dialog.cpp
index df58d39e31..2faa94dbb8 100644
--- a/examples/layouts/basiclayouts/dialog.cpp
+++ b/examples/layouts/basiclayouts/dialog.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/layouts/basiclayouts/dialog.h b/examples/layouts/basiclayouts/dialog.h
index 7826984a2c..4628dbcd57 100644
--- a/examples/layouts/basiclayouts/dialog.h
+++ b/examples/layouts/basiclayouts/dialog.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/layouts/basiclayouts/main.cpp b/examples/layouts/basiclayouts/main.cpp
index cd54ffa65c..8250d49936 100644
--- a/examples/layouts/basiclayouts/main.cpp
+++ b/examples/layouts/basiclayouts/main.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/layouts/borderlayout/borderlayout.cpp b/examples/layouts/borderlayout/borderlayout.cpp
index 75385400e5..649dd3f507 100644
--- a/examples/layouts/borderlayout/borderlayout.cpp
+++ b/examples/layouts/borderlayout/borderlayout.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/layouts/borderlayout/borderlayout.h b/examples/layouts/borderlayout/borderlayout.h
index 4da19ce338..6b595f30d7 100644
--- a/examples/layouts/borderlayout/borderlayout.h
+++ b/examples/layouts/borderlayout/borderlayout.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/layouts/borderlayout/main.cpp b/examples/layouts/borderlayout/main.cpp
index a0686b68ec..ab53c16467 100644
--- a/examples/layouts/borderlayout/main.cpp
+++ b/examples/layouts/borderlayout/main.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/layouts/borderlayout/window.cpp b/examples/layouts/borderlayout/window.cpp
index 413e5e8bf8..9accafe5df 100644
--- a/examples/layouts/borderlayout/window.cpp
+++ b/examples/layouts/borderlayout/window.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/layouts/borderlayout/window.h b/examples/layouts/borderlayout/window.h
index 671b79f4b8..5a87b80bf3 100644
--- a/examples/layouts/borderlayout/window.h
+++ b/examples/layouts/borderlayout/window.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/layouts/dynamiclayouts/dialog.cpp b/examples/layouts/dynamiclayouts/dialog.cpp
index d1599e4a9a..d2028be834 100644
--- a/examples/layouts/dynamiclayouts/dialog.cpp
+++ b/examples/layouts/dynamiclayouts/dialog.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/layouts/dynamiclayouts/dialog.h b/examples/layouts/dynamiclayouts/dialog.h
index 2480ef650b..475d0a1ebb 100644
--- a/examples/layouts/dynamiclayouts/dialog.h
+++ b/examples/layouts/dynamiclayouts/dialog.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/layouts/dynamiclayouts/main.cpp b/examples/layouts/dynamiclayouts/main.cpp
index cd54ffa65c..8250d49936 100644
--- a/examples/layouts/dynamiclayouts/main.cpp
+++ b/examples/layouts/dynamiclayouts/main.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/layouts/flowlayout/flowlayout.cpp b/examples/layouts/flowlayout/flowlayout.cpp
index 773d3f366e..dc4bb0cc9c 100644
--- a/examples/layouts/flowlayout/flowlayout.cpp
+++ b/examples/layouts/flowlayout/flowlayout.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/layouts/flowlayout/flowlayout.h b/examples/layouts/flowlayout/flowlayout.h
index f361c35e5f..da1c0685c3 100644
--- a/examples/layouts/flowlayout/flowlayout.h
+++ b/examples/layouts/flowlayout/flowlayout.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/layouts/flowlayout/main.cpp b/examples/layouts/flowlayout/main.cpp
index a0686b68ec..ab53c16467 100644
--- a/examples/layouts/flowlayout/main.cpp
+++ b/examples/layouts/flowlayout/main.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/layouts/flowlayout/window.cpp b/examples/layouts/flowlayout/window.cpp
index 31e86a3751..b95ca150c6 100644
--- a/examples/layouts/flowlayout/window.cpp
+++ b/examples/layouts/flowlayout/window.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/layouts/flowlayout/window.h b/examples/layouts/flowlayout/window.h
index a58c8d1126..2dafe67ee5 100644
--- a/examples/layouts/flowlayout/window.h
+++ b/examples/layouts/flowlayout/window.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/linguist/arrowpad/arrowpad.cpp b/examples/linguist/arrowpad/arrowpad.cpp
index d1a3442b98..7901250d0d 100644
--- a/examples/linguist/arrowpad/arrowpad.cpp
+++ b/examples/linguist/arrowpad/arrowpad.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/linguist/arrowpad/arrowpad.h b/examples/linguist/arrowpad/arrowpad.h
index 46f7dfde92..c4c04bcc3b 100644
--- a/examples/linguist/arrowpad/arrowpad.h
+++ b/examples/linguist/arrowpad/arrowpad.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/linguist/arrowpad/main.cpp b/examples/linguist/arrowpad/main.cpp
index 659a7ff9d6..928e0681bf 100644
--- a/examples/linguist/arrowpad/main.cpp
+++ b/examples/linguist/arrowpad/main.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/linguist/arrowpad/mainwindow.cpp b/examples/linguist/arrowpad/mainwindow.cpp
index 2a31d9f593..b86cf6190f 100644
--- a/examples/linguist/arrowpad/mainwindow.cpp
+++ b/examples/linguist/arrowpad/mainwindow.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/linguist/arrowpad/mainwindow.h b/examples/linguist/arrowpad/mainwindow.h
index a958999a49..d263dfc57a 100644
--- a/examples/linguist/arrowpad/mainwindow.h
+++ b/examples/linguist/arrowpad/mainwindow.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/linguist/hellotr/main.cpp b/examples/linguist/hellotr/main.cpp
index 518a8e89ee..192e940943 100644
--- a/examples/linguist/hellotr/main.cpp
+++ b/examples/linguist/hellotr/main.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/linguist/trollprint/main.cpp b/examples/linguist/trollprint/main.cpp
index 257d2e8260..dbfefb7dde 100644
--- a/examples/linguist/trollprint/main.cpp
+++ b/examples/linguist/trollprint/main.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/linguist/trollprint/mainwindow.cpp b/examples/linguist/trollprint/mainwindow.cpp
index 35e30cbb07..750eabbe7d 100644
--- a/examples/linguist/trollprint/mainwindow.cpp
+++ b/examples/linguist/trollprint/mainwindow.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/linguist/trollprint/mainwindow.h b/examples/linguist/trollprint/mainwindow.h
index 6a8323e30b..6070fb6f2f 100644
--- a/examples/linguist/trollprint/mainwindow.h
+++ b/examples/linguist/trollprint/mainwindow.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/linguist/trollprint/printpanel.cpp b/examples/linguist/trollprint/printpanel.cpp
index 86ee6a1433..21453c9ea8 100644
--- a/examples/linguist/trollprint/printpanel.cpp
+++ b/examples/linguist/trollprint/printpanel.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/linguist/trollprint/printpanel.h b/examples/linguist/trollprint/printpanel.h
index eb55aaad24..902af06c29 100644
--- a/examples/linguist/trollprint/printpanel.h
+++ b/examples/linguist/trollprint/printpanel.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/mainwindows/application/main.cpp b/examples/mainwindows/application/main.cpp
index d85b145780..483f0ac101 100644
--- a/examples/mainwindows/application/main.cpp
+++ b/examples/mainwindows/application/main.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/mainwindows/application/mainwindow.cpp b/examples/mainwindows/application/mainwindow.cpp
index cd066f7a07..3a4049578f 100644
--- a/examples/mainwindows/application/mainwindow.cpp
+++ b/examples/mainwindows/application/mainwindow.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/mainwindows/application/mainwindow.h b/examples/mainwindows/application/mainwindow.h
index 4dc1949991..ac9bbfab3b 100644
--- a/examples/mainwindows/application/mainwindow.h
+++ b/examples/mainwindows/application/mainwindow.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/mainwindows/dockwidgets/main.cpp b/examples/mainwindows/dockwidgets/main.cpp
index 9d7853d72e..b7e2bdd3d7 100644
--- a/examples/mainwindows/dockwidgets/main.cpp
+++ b/examples/mainwindows/dockwidgets/main.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/mainwindows/dockwidgets/mainwindow.cpp b/examples/mainwindows/dockwidgets/mainwindow.cpp
index 209449ca24..d551df331d 100644
--- a/examples/mainwindows/dockwidgets/mainwindow.cpp
+++ b/examples/mainwindows/dockwidgets/mainwindow.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/mainwindows/dockwidgets/mainwindow.h b/examples/mainwindows/dockwidgets/mainwindow.h
index e07dc2f9d0..b90357078e 100644
--- a/examples/mainwindows/dockwidgets/mainwindow.h
+++ b/examples/mainwindows/dockwidgets/mainwindow.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/mainwindows/mdi/main.cpp b/examples/mainwindows/mdi/main.cpp
index 4b0bb1ee06..c47fac1257 100644
--- a/examples/mainwindows/mdi/main.cpp
+++ b/examples/mainwindows/mdi/main.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/mainwindows/mdi/mainwindow.cpp b/examples/mainwindows/mdi/mainwindow.cpp
index 26dfe2d1ec..5fade3d082 100644
--- a/examples/mainwindows/mdi/mainwindow.cpp
+++ b/examples/mainwindows/mdi/mainwindow.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/mainwindows/mdi/mainwindow.h b/examples/mainwindows/mdi/mainwindow.h
index 3b692bfb01..bd21357818 100644
--- a/examples/mainwindows/mdi/mainwindow.h
+++ b/examples/mainwindows/mdi/mainwindow.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/mainwindows/mdi/mdichild.cpp b/examples/mainwindows/mdi/mdichild.cpp
index 8e26c66616..24905a1b05 100644
--- a/examples/mainwindows/mdi/mdichild.cpp
+++ b/examples/mainwindows/mdi/mdichild.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/mainwindows/mdi/mdichild.h b/examples/mainwindows/mdi/mdichild.h
index dc5bfea1d8..95f99c85be 100644
--- a/examples/mainwindows/mdi/mdichild.h
+++ b/examples/mainwindows/mdi/mdichild.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/mainwindows/menus/main.cpp b/examples/mainwindows/menus/main.cpp
index 6e38406bfc..af2f793dd1 100644
--- a/examples/mainwindows/menus/main.cpp
+++ b/examples/mainwindows/menus/main.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/mainwindows/menus/mainwindow.cpp b/examples/mainwindows/menus/mainwindow.cpp
index 7100760afb..c61e36f520 100644
--- a/examples/mainwindows/menus/mainwindow.cpp
+++ b/examples/mainwindows/menus/mainwindow.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/mainwindows/menus/mainwindow.h b/examples/mainwindows/menus/mainwindow.h
index 4df44f886a..108420df6f 100644
--- a/examples/mainwindows/menus/mainwindow.h
+++ b/examples/mainwindows/menus/mainwindow.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/mainwindows/recentfiles/main.cpp b/examples/mainwindows/recentfiles/main.cpp
index 29dc4c058b..5b4aca1376 100644
--- a/examples/mainwindows/recentfiles/main.cpp
+++ b/examples/mainwindows/recentfiles/main.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/mainwindows/recentfiles/mainwindow.cpp b/examples/mainwindows/recentfiles/mainwindow.cpp
index 3daaa33cdc..ac717cbf32 100644
--- a/examples/mainwindows/recentfiles/mainwindow.cpp
+++ b/examples/mainwindows/recentfiles/mainwindow.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/mainwindows/recentfiles/mainwindow.h b/examples/mainwindows/recentfiles/mainwindow.h
index 795b8a3ed4..8b3d7d7db4 100644
--- a/examples/mainwindows/recentfiles/mainwindow.h
+++ b/examples/mainwindows/recentfiles/mainwindow.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/mainwindows/sdi/main.cpp b/examples/mainwindows/sdi/main.cpp
index 05d78b39dd..482bd682b3 100644
--- a/examples/mainwindows/sdi/main.cpp
+++ b/examples/mainwindows/sdi/main.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/mainwindows/sdi/mainwindow.cpp b/examples/mainwindows/sdi/mainwindow.cpp
index cdba79964a..cd7666d1d7 100644
--- a/examples/mainwindows/sdi/mainwindow.cpp
+++ b/examples/mainwindows/sdi/mainwindow.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/mainwindows/sdi/mainwindow.h b/examples/mainwindows/sdi/mainwindow.h
index 47a85138e7..101ebb20de 100644
--- a/examples/mainwindows/sdi/mainwindow.h
+++ b/examples/mainwindows/sdi/mainwindow.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/multimedia/audiodevices/audiodevices.cpp b/examples/multimedia/audiodevices/audiodevices.cpp
index 7d09c382db..5dc2ef172b 100644
--- a/examples/multimedia/audiodevices/audiodevices.cpp
+++ b/examples/multimedia/audiodevices/audiodevices.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
@@ -44,6 +43,40 @@
#include "audiodevices.h"
+// Utility functions for converting QAudioFormat fields into text
+
+QString toString(QAudioFormat::SampleType sampleType)
+{
+ QString result("Unknown");
+ switch (sampleType) {
+ case QAudioFormat::SignedInt:
+ result = "SignedInt";
+ break;
+ case QAudioFormat::UnSignedInt:
+ result = "UnSignedInt";
+ break;
+ case QAudioFormat::Float:
+ result = "Float";
+ break;
+ }
+ return result;
+}
+
+QString toString(QAudioFormat::Endian endian)
+{
+ QString result("Unknown");
+ switch (endian) {
+ case QAudioFormat::LittleEndian:
+ result = "LittleEndian";
+ break;
+ case QAudioFormat::BigEndian:
+ result = "BigEndian";
+ break;
+ }
+ return result;
+}
+
+
AudioDevicesBase::AudioDevicesBase(QWidget *parent, Qt::WFlags f)
: QMainWindow(parent, f)
{
@@ -67,6 +100,7 @@ AudioTest::AudioTest(QWidget *parent, Qt::WFlags f)
connect(sampleSizesBox, SIGNAL(activated(int)), SLOT(sampleSizeChanged(int)));
connect(sampleTypesBox, SIGNAL(activated(int)), SLOT(sampleTypeChanged(int)));
connect(endianBox, SIGNAL(activated(int)), SLOT(endianChanged(int)));
+ connect(populateTableButton, SIGNAL(clicked()), SLOT(populateTable()));
modeBox->setCurrentIndex(0);
modeChanged(0);
@@ -81,12 +115,11 @@ AudioTest::~AudioTest()
void AudioTest::test()
{
// tries to set all the settings picked.
- logOutput->clear();
- logOutput->append("NOTE: an invalid codec audio/test exists for testing, to get a fail condition.");
+ testResult->clear();
if (!deviceInfo.isNull()) {
if (deviceInfo.isFormatSupported(settings)) {
- logOutput->append(tr("Success"));
+ testResult->setText(tr("Success"));
nearestFreq->setText("");
nearestChannel->setText("");
nearestCodec->setText("");
@@ -95,40 +128,23 @@ void AudioTest::test()
nearestEndian->setText("");
} else {
QAudioFormat nearest = deviceInfo.nearestFormat(settings);
- logOutput->append(tr("Failed"));
+ testResult->setText(tr("Failed"));
nearestFreq->setText(QString("%1").arg(nearest.frequency()));
nearestChannel->setText(QString("%1").arg(nearest.channels()));
nearestCodec->setText(nearest.codec());
nearestSampleSize->setText(QString("%1").arg(nearest.sampleSize()));
-
- switch(nearest.sampleType()) {
- case QAudioFormat::SignedInt:
- nearestSampleType->setText("SignedInt");
- break;
- case QAudioFormat::UnSignedInt:
- nearestSampleType->setText("UnSignedInt");
- break;
- case QAudioFormat::Float:
- nearestSampleType->setText("Float");
- break;
- case QAudioFormat::Unknown:
- nearestSampleType->setText("Unknown");
- }
- switch(nearest.byteOrder()) {
- case QAudioFormat::LittleEndian:
- nearestEndian->setText("LittleEndian");
- break;
- case QAudioFormat::BigEndian:
- nearestEndian->setText("BigEndian");
- }
+ nearestSampleType->setText(toString(nearest.sampleType()));
+ nearestEndian->setText(toString(nearest.byteOrder()));
}
}
else
- logOutput->append(tr("No Device"));
+ testResult->setText(tr("No Device"));
}
void AudioTest::modeChanged(int idx)
{
+ testResult->clear();
+
// mode has changed
if (idx == 0)
mode = QAudio::AudioInput;
@@ -138,10 +154,15 @@ void AudioTest::modeChanged(int idx)
deviceBox->clear();
foreach (const QAudioDeviceInfo &deviceInfo, QAudioDeviceInfo::availableDevices(mode))
deviceBox->addItem(deviceInfo.deviceName(), qVariantFromValue(deviceInfo));
+
+ deviceBox->setCurrentIndex(0);
+ deviceChanged(0);
}
void AudioTest::deviceChanged(int idx)
{
+ testResult->clear();
+
if (deviceBox->count() == 0)
return;
@@ -180,38 +201,68 @@ void AudioTest::deviceChanged(int idx)
sampleTypesBox->clear();
QList<QAudioFormat::SampleType> sampleTypez = deviceInfo.supportedSampleTypes();
- for (int i = 0; i < sampleTypez.size(); ++i) {
- switch(sampleTypez.at(i)) {
- case QAudioFormat::SignedInt:
- sampleTypesBox->addItem("SignedInt");
- break;
- case QAudioFormat::UnSignedInt:
- sampleTypesBox->addItem("UnSignedInt");
- break;
- case QAudioFormat::Float:
- sampleTypesBox->addItem("Float");
- break;
- case QAudioFormat::Unknown:
- sampleTypesBox->addItem("Unknown");
- }
- if (sampleTypez.size())
- settings.setSampleType(sampleTypez.at(0));
- }
+
+ for (int i = 0; i < sampleTypez.size(); ++i)
+ sampleTypesBox->addItem(toString(sampleTypez.at(i)));
+ if (sampleTypez.size())
+ settings.setSampleType(sampleTypez.at(0));
endianBox->clear();
QList<QAudioFormat::Endian> endianz = deviceInfo.supportedByteOrders();
- for (int i = 0; i < endianz.size(); ++i) {
- switch (endianz.at(i)) {
- case QAudioFormat::LittleEndian:
- endianBox->addItem("Little Endian");
- break;
- case QAudioFormat::BigEndian:
- endianBox->addItem("Big Endian");
- break;
- }
- }
+ for (int i = 0; i < endianz.size(); ++i)
+ endianBox->addItem(toString(endianz.at(i)));
if (endianz.size())
settings.setByteOrder(endianz.at(0));
+
+ allFormatsTable->clearContents();
+}
+
+void AudioTest::populateTable()
+{
+ int row = 0;
+
+ QAudioFormat format;
+ foreach (QString codec, deviceInfo.supportedCodecs()) {
+ format.setCodec(codec);
+ foreach (int frequency, deviceInfo.supportedFrequencies()) {
+ format.setFrequency(frequency);
+ foreach (int channels, deviceInfo.supportedChannels()) {
+ format.setChannels(channels);
+ foreach (QAudioFormat::SampleType sampleType, deviceInfo.supportedSampleTypes()) {
+ format.setSampleType(sampleType);
+ foreach (int sampleSize, deviceInfo.supportedSampleSizes()) {
+ format.setSampleSize(sampleSize);
+ foreach (QAudioFormat::Endian endian, deviceInfo.supportedByteOrders()) {
+ format.setByteOrder(endian);
+ if (deviceInfo.isFormatSupported(format)) {
+ allFormatsTable->setRowCount(row + 1);
+
+ QTableWidgetItem *codecItem = new QTableWidgetItem(format.codec());
+ allFormatsTable->setItem(row, 0, codecItem);
+
+ QTableWidgetItem *frequencyItem = new QTableWidgetItem(QString("%1").arg(format.frequency()));
+ allFormatsTable->setItem(row, 1, frequencyItem);
+
+ QTableWidgetItem *channelsItem = new QTableWidgetItem(QString("%1").arg(format.channels()));
+ allFormatsTable->setItem(row, 2, channelsItem);
+
+ QTableWidgetItem *sampleTypeItem = new QTableWidgetItem(toString(format.sampleType()));
+ allFormatsTable->setItem(row, 3, sampleTypeItem);
+
+ QTableWidgetItem *sampleSizeItem = new QTableWidgetItem(QString("%1").arg(format.sampleSize()));
+ allFormatsTable->setItem(row, 4, sampleSizeItem);
+
+ QTableWidgetItem *byteOrderItem = new QTableWidgetItem(toString(format.byteOrder()));
+ allFormatsTable->setItem(row, 5, byteOrderItem);
+
+ ++row;
+ }
+ }
+ }
+ }
+ }
+ }
+ }
}
void AudioTest::freqChanged(int idx)
diff --git a/examples/multimedia/audiodevices/audiodevices.h b/examples/multimedia/audiodevices/audiodevices.h
index 15ace92e24..3b8f074709 100644
--- a/examples/multimedia/audiodevices/audiodevices.h
+++ b/examples/multimedia/audiodevices/audiodevices.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
@@ -74,5 +73,7 @@ private slots:
void sampleTypeChanged(int idx);
void endianChanged(int idx);
void test();
+ void populateTable();
+
};
diff --git a/examples/multimedia/audiodevices/audiodevicesbase.ui b/examples/multimedia/audiodevices/audiodevicesbase.ui
index 667a6e5d64..23b45d7366 100644
--- a/examples/multimedia/audiodevices/audiodevicesbase.ui
+++ b/examples/multimedia/audiodevices/audiodevicesbase.ui
@@ -6,8 +6,8 @@
<rect>
<x>0</x>
<y>0</y>
- <width>320</width>
- <height>300</height>
+ <width>679</width>
+ <height>598</height>
</rect>
</property>
<property name="windowTitle">
@@ -30,58 +30,30 @@
<property name="geometry">
<rect>
<x>0</x>
- <y>-192</y>
- <width>282</width>
- <height>471</height>
+ <y>0</y>
+ <width>659</width>
+ <height>558</height>
</rect>
</property>
- <layout class="QVBoxLayout" name="verticalLayout_2">
- <item>
- <layout class="QGridLayout" name="gridLayout">
+ <layout class="QGridLayout" name="gridLayout_4">
+ <item row="0" column="0">
+ <layout class="QGridLayout" name="gridLayout_2">
<item row="0" column="0">
- <widget class="QLabel" name="deviceLabel">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Preferred" vsizetype="Preferred">
- <horstretch>1</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
+ <widget class="QLabel" name="modeLabel">
<property name="text">
- <string>Device</string>
+ <string>Mode</string>
</property>
</widget>
</item>
<item row="0" column="1">
- <widget class="QLabel" name="modeLabel">
+ <widget class="QLabel" name="deviceLabel">
<property name="text">
- <string>Mode</string>
+ <string>Device</string>
</property>
</widget>
</item>
<item row="1" column="0">
- <widget class="QComboBox" name="deviceBox">
- <property name="sizePolicy">
- <sizepolicy hsizetype="MinimumExpanding" vsizetype="Fixed">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="minimumSize">
- <size>
- <width>150</width>
- <height>0</height>
- </size>
- </property>
- </widget>
- </item>
- <item row="1" column="1">
<widget class="QComboBox" name="modeBox">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
<item>
<property name="text">
<string>Input</string>
@@ -94,203 +66,322 @@
</item>
</widget>
</item>
- <item row="2" column="0">
- <widget class="QLabel" name="actualLabel">
- <property name="frameShape">
- <enum>QFrame::Panel</enum>
- </property>
- <property name="frameShadow">
- <enum>QFrame::Raised</enum>
- </property>
- <property name="text">
- <string>Actual Settings</string>
- </property>
- <property name="alignment">
- <set>Qt::AlignCenter</set>
- </property>
- </widget>
- </item>
- <item row="2" column="1">
- <widget class="QLabel" name="nearestLabel">
- <property name="frameShape">
- <enum>QFrame::Panel</enum>
- </property>
- <property name="frameShadow">
- <enum>QFrame::Raised</enum>
- </property>
- <property name="text">
- <string>Nearest Settings</string>
- </property>
- <property name="alignment">
- <set>Qt::AlignCenter</set>
- </property>
- </widget>
- </item>
- <item row="3" column="0">
- <widget class="QLabel" name="actualFreqLabel">
- <property name="text">
- <string>Frequency</string>
- </property>
- </widget>
- </item>
- <item row="3" column="1">
- <widget class="QLabel" name="nearestFreqLabel">
- <property name="text">
- <string>Frequency</string>
- </property>
- </widget>
- </item>
- <item row="4" column="0">
- <widget class="QComboBox" name="frequencyBox"/>
- </item>
- <item row="4" column="1">
- <widget class="QLineEdit" name="nearestFreq">
- <property name="enabled">
- <bool>false</bool>
- </property>
- </widget>
- </item>
- <item row="5" column="0">
- <widget class="QLabel" name="actualChannelsLabel">
- <property name="text">
- <string>Channels</string>
- </property>
- </widget>
- </item>
- <item row="5" column="1">
- <widget class="QLabel" name="nearestChannelLabel">
- <property name="text">
- <string>Channel</string>
- </property>
- </widget>
- </item>
- <item row="6" column="0">
- <widget class="QComboBox" name="channelsBox"/>
- </item>
- <item row="6" column="1">
- <widget class="QLineEdit" name="nearestChannel">
- <property name="enabled">
- <bool>false</bool>
- </property>
- </widget>
- </item>
- <item row="7" column="0">
- <widget class="QLabel" name="actualCodecLabel">
- <property name="text">
- <string>Codecs</string>
- </property>
- </widget>
- </item>
- <item row="7" column="1">
- <widget class="QLabel" name="nearestCodecLabel">
- <property name="text">
- <string>Codec</string>
- </property>
- </widget>
- </item>
- <item row="8" column="0">
- <widget class="QComboBox" name="codecsBox"/>
- </item>
- <item row="8" column="1">
- <widget class="QLineEdit" name="nearestCodec">
- <property name="enabled">
- <bool>false</bool>
- </property>
- </widget>
- </item>
- <item row="9" column="0">
- <widget class="QLabel" name="actualSampleSizeLabel">
- <property name="text">
- <string>SampleSize</string>
- </property>
- </widget>
- </item>
- <item row="9" column="1">
- <widget class="QLabel" name="nearestSampleSizeLabel">
- <property name="text">
- <string>SampleSize</string>
- </property>
- </widget>
- </item>
- <item row="10" column="0">
- <widget class="QComboBox" name="sampleSizesBox"/>
- </item>
- <item row="10" column="1">
- <widget class="QLineEdit" name="nearestSampleSize">
- <property name="enabled">
- <bool>false</bool>
- </property>
- </widget>
- </item>
- <item row="11" column="0">
- <widget class="QLabel" name="actualSampleTypeLabel">
- <property name="text">
- <string>SampleType</string>
- </property>
- </widget>
- </item>
- <item row="11" column="1">
- <widget class="QLabel" name="nearestSampleTypeLabel">
- <property name="text">
- <string>SampleType</string>
- </property>
- </widget>
- </item>
- <item row="12" column="0">
- <widget class="QComboBox" name="sampleTypesBox"/>
- </item>
- <item row="12" column="1">
- <widget class="QLineEdit" name="nearestSampleType">
- <property name="enabled">
- <bool>false</bool>
- </property>
- </widget>
- </item>
- <item row="13" column="0">
- <widget class="QLabel" name="actualEndianLabel">
- <property name="text">
- <string>Endianess</string>
- </property>
- </widget>
- </item>
- <item row="13" column="1">
- <widget class="QLabel" name="nearestEndianLabel">
- <property name="text">
- <string>Endianess</string>
- </property>
- </widget>
- </item>
- <item row="14" column="0">
- <widget class="QComboBox" name="endianBox"/>
- </item>
- <item row="14" column="1">
- <widget class="QLineEdit" name="nearestEndian">
- <property name="enabled">
- <bool>false</bool>
- </property>
- </widget>
- </item>
- <item row="15" column="0" colspan="2">
- <widget class="QTextEdit" name="logOutput">
- <property name="enabled">
- <bool>false</bool>
- </property>
- <property name="sizePolicy">
- <sizepolicy hsizetype="Expanding" vsizetype="Expanding">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="horizontalScrollBarPolicy">
- <enum>Qt::ScrollBarAlwaysOff</enum>
- </property>
- </widget>
- </item>
- <item row="16" column="0" colspan="2">
- <widget class="QPushButton" name="testButton">
- <property name="text">
- <string>Test</string>
- </property>
+ <item row="1" column="1">
+ <widget class="QComboBox" name="deviceBox"/>
+ </item>
+ <item row="2" column="0" colspan="2">
+ <widget class="QTabWidget" name="tabWidget">
+ <property name="currentIndex">
+ <number>0</number>
+ </property>
+ <widget class="QWidget" name="testFormatTab">
+ <attribute name="title">
+ <string>Test format</string>
+ </attribute>
+ <layout class="QGridLayout" name="gridLayout">
+ <item row="0" column="1">
+ <widget class="QLabel" name="actualLabel">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="frameShape">
+ <enum>QFrame::NoFrame</enum>
+ </property>
+ <property name="frameShadow">
+ <enum>QFrame::Plain</enum>
+ </property>
+ <property name="text">
+ <string>&lt;i&gt;Actual Settings&lt;/i&gt;</string>
+ </property>
+ <property name="textFormat">
+ <enum>Qt::RichText</enum>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignCenter</set>
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="2">
+ <widget class="QLabel" name="nearestLabel">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="frameShape">
+ <enum>QFrame::NoFrame</enum>
+ </property>
+ <property name="frameShadow">
+ <enum>QFrame::Plain</enum>
+ </property>
+ <property name="text">
+ <string>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt;
+&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;&quot;&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-style:italic;&quot;&gt;Nearest Settings&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
+ </property>
+ <property name="textFormat">
+ <enum>Qt::RichText</enum>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignCenter</set>
+ </property>
+ </widget>
+ </item>
+ <item row="3" column="1">
+ <widget class="QComboBox" name="frequencyBox">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Expanding" vsizetype="Fixed">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ </widget>
+ </item>
+ <item row="3" column="2">
+ <widget class="QLineEdit" name="nearestFreq">
+ <property name="enabled">
+ <bool>false</bool>
+ </property>
+ </widget>
+ </item>
+ <item row="5" column="1">
+ <widget class="QComboBox" name="channelsBox"/>
+ </item>
+ <item row="5" column="2">
+ <widget class="QLineEdit" name="nearestChannel">
+ <property name="enabled">
+ <bool>false</bool>
+ </property>
+ </widget>
+ </item>
+ <item row="9" column="1">
+ <widget class="QComboBox" name="sampleSizesBox"/>
+ </item>
+ <item row="9" column="2">
+ <widget class="QLineEdit" name="nearestSampleSize">
+ <property name="enabled">
+ <bool>false</bool>
+ </property>
+ </widget>
+ </item>
+ <item row="14" column="1">
+ <widget class="QComboBox" name="endianBox"/>
+ </item>
+ <item row="14" column="2">
+ <widget class="QLineEdit" name="nearestEndian">
+ <property name="enabled">
+ <bool>false</bool>
+ </property>
+ </widget>
+ </item>
+ <item row="15" column="1">
+ <widget class="QPushButton" name="testButton">
+ <property name="text">
+ <string>Test</string>
+ </property>
+ </widget>
+ </item>
+ <item row="15" column="2">
+ <widget class="QLabel" name="testResult">
+ <property name="text">
+ <string/>
+ </property>
+ </widget>
+ </item>
+ <item row="3" column="0">
+ <widget class="QLabel" name="actualFreqLabel">
+ <property name="text">
+ <string>Frequency (Hz)</string>
+ </property>
+ </widget>
+ </item>
+ <item row="5" column="0">
+ <widget class="QLabel" name="actualChannelLabel">
+ <property name="text">
+ <string>Channels</string>
+ </property>
+ </widget>
+ </item>
+ <item row="9" column="0">
+ <widget class="QLabel" name="actualSampleSizeLabel">
+ <property name="text">
+ <string>Sample size (bits)</string>
+ </property>
+ </widget>
+ </item>
+ <item row="14" column="0">
+ <widget class="QLabel" name="actualEndianLabel">
+ <property name="text">
+ <string>Endianess</string>
+ </property>
+ </widget>
+ </item>
+ <item row="16" column="0" colspan="3">
+ <widget class="QLabel" name="label">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="text">
+ <string>Note: an invalid codec 'audio/test' exists in order to allow an invalid format to be constructed, and therefore to trigger a 'nearest format' calculation.</string>
+ </property>
+ <property name="wordWrap">
+ <bool>true</bool>
+ </property>
+ </widget>
+ </item>
+ <item row="2" column="0">
+ <widget class="QLabel" name="actualCodecLabel">
+ <property name="text">
+ <string>Codec</string>
+ </property>
+ </widget>
+ </item>
+ <item row="2" column="2">
+ <widget class="QLineEdit" name="nearestCodec">
+ <property name="enabled">
+ <bool>false</bool>
+ </property>
+ </widget>
+ </item>
+ <item row="2" column="1">
+ <widget class="QComboBox" name="codecsBox"/>
+ </item>
+ <item row="6" column="0">
+ <widget class="QLabel" name="actualSampleTypeLabel">
+ <property name="text">
+ <string>SampleType</string>
+ </property>
+ </widget>
+ </item>
+ <item row="6" column="1">
+ <widget class="QComboBox" name="sampleTypesBox"/>
+ </item>
+ <item row="6" column="2">
+ <widget class="QLineEdit" name="nearestSampleType">
+ <property name="enabled">
+ <bool>false</bool>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ <widget class="QWidget" name="tab">
+ <attribute name="title">
+ <string>All formats</string>
+ </attribute>
+ <layout class="QVBoxLayout" name="verticalLayout_2">
+ <item>
+ <widget class="QPushButton" name="populateTableButton">
+ <property name="text">
+ <string>Populate table</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QTableWidget" name="allFormatsTable">
+ <property name="editTriggers">
+ <set>QAbstractItemView::NoEditTriggers</set>
+ </property>
+ <property name="dragDropOverwriteMode">
+ <bool>false</bool>
+ </property>
+ <property name="selectionMode">
+ <enum>QAbstractItemView::NoSelection</enum>
+ </property>
+ <property name="selectionBehavior">
+ <enum>QAbstractItemView::SelectItems</enum>
+ </property>
+ <property name="textElideMode">
+ <enum>Qt::ElideNone</enum>
+ </property>
+ <property name="sortingEnabled">
+ <bool>false</bool>
+ </property>
+ <property name="wordWrap">
+ <bool>false</bool>
+ </property>
+ <property name="cornerButtonEnabled">
+ <bool>false</bool>
+ </property>
+ <attribute name="horizontalHeaderHighlightSections">
+ <bool>false</bool>
+ </attribute>
+ <attribute name="verticalHeaderVisible">
+ <bool>false</bool>
+ </attribute>
+ <attribute name="verticalHeaderHighlightSections">
+ <bool>false</bool>
+ </attribute>
+ <attribute name="verticalHeaderVisible">
+ <bool>false</bool>
+ </attribute>
+ <attribute name="horizontalHeaderHighlightSections">
+ <bool>false</bool>
+ </attribute>
+ <attribute name="verticalHeaderHighlightSections">
+ <bool>false</bool>
+ </attribute>
+ <column>
+ <property name="text">
+ <string>Codec</string>
+ </property>
+ <property name="textAlignment">
+ <set>AlignHCenter|AlignVCenter|AlignCenter</set>
+ </property>
+ </column>
+ <column>
+ <property name="text">
+ <string>Frequency (Hz)</string>
+ </property>
+ <property name="textAlignment">
+ <set>AlignHCenter|AlignVCenter|AlignCenter</set>
+ </property>
+ </column>
+ <column>
+ <property name="text">
+ <string>Channels</string>
+ </property>
+ <property name="textAlignment">
+ <set>AlignHCenter|AlignVCenter|AlignCenter</set>
+ </property>
+ </column>
+ <column>
+ <property name="text">
+ <string>Sample type</string>
+ </property>
+ <property name="textAlignment">
+ <set>AlignHCenter|AlignVCenter|AlignCenter</set>
+ </property>
+ </column>
+ <column>
+ <property name="text">
+ <string>Sample size (bits)</string>
+ </property>
+ <property name="textAlignment">
+ <set>AlignHCenter|AlignVCenter|AlignCenter</set>
+ </property>
+ </column>
+ <column>
+ <property name="text">
+ <string>Endianness</string>
+ </property>
+ <property name="textAlignment">
+ <set>AlignHCenter|AlignVCenter|AlignCenter</set>
+ </property>
+ </column>
+ </widget>
+ </item>
+ </layout>
+ </widget>
</widget>
</item>
</layout>
diff --git a/examples/multimedia/audiodevices/main.cpp b/examples/multimedia/audiodevices/main.cpp
index 0ea18a1167..1962723c3c 100644
--- a/examples/multimedia/audiodevices/main.cpp
+++ b/examples/multimedia/audiodevices/main.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
@@ -49,7 +48,11 @@ int main(int argv, char **args)
app.setApplicationName("Audio Device Test");
AudioTest audio;
+#ifdef Q_OS_SYMBIAN
+ audio.showMaximized();
+#else
audio.show();
+#endif
return app.exec();
}
diff --git a/examples/multimedia/audioinput/audioinput.cpp b/examples/multimedia/audioinput/audioinput.cpp
index af72385506..4a408a06f8 100644
--- a/examples/multimedia/audioinput/audioinput.cpp
+++ b/examples/multimedia/audioinput/audioinput.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/multimedia/audioinput/audioinput.h b/examples/multimedia/audioinput/audioinput.h
index be721de3d8..2f4b2061dc 100644
--- a/examples/multimedia/audioinput/audioinput.h
+++ b/examples/multimedia/audioinput/audioinput.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/multimedia/audioinput/main.cpp b/examples/multimedia/audioinput/main.cpp
index 42104cffd7..9a9eb7042d 100644
--- a/examples/multimedia/audioinput/main.cpp
+++ b/examples/multimedia/audioinput/main.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/multimedia/audiooutput/audiooutput.cpp b/examples/multimedia/audiooutput/audiooutput.cpp
index cbadf02304..bc2324e0ad 100644
--- a/examples/multimedia/audiooutput/audiooutput.cpp
+++ b/examples/multimedia/audiooutput/audiooutput.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/multimedia/audiooutput/audiooutput.h b/examples/multimedia/audiooutput/audiooutput.h
index 889482b0c1..004ca49d65 100644
--- a/examples/multimedia/audiooutput/audiooutput.h
+++ b/examples/multimedia/audiooutput/audiooutput.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/multimedia/audiooutput/main.cpp b/examples/multimedia/audiooutput/main.cpp
index b2b3a068a2..f411aeba19 100644
--- a/examples/multimedia/audiooutput/main.cpp
+++ b/examples/multimedia/audiooutput/main.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/multimedia/videographicsitem/main.cpp b/examples/multimedia/videographicsitem/main.cpp
index 4031010630..bf3f331aa2 100644
--- a/examples/multimedia/videographicsitem/main.cpp
+++ b/examples/multimedia/videographicsitem/main.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/multimedia/videographicsitem/videoitem.cpp b/examples/multimedia/videographicsitem/videoitem.cpp
index c587c17ac3..196601e038 100644
--- a/examples/multimedia/videographicsitem/videoitem.cpp
+++ b/examples/multimedia/videographicsitem/videoitem.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/multimedia/videographicsitem/videoitem.h b/examples/multimedia/videographicsitem/videoitem.h
index 733b289c76..0839c79980 100644
--- a/examples/multimedia/videographicsitem/videoitem.h
+++ b/examples/multimedia/videographicsitem/videoitem.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/multimedia/videographicsitem/videoplayer.cpp b/examples/multimedia/videographicsitem/videoplayer.cpp
index 4e1f5caeca..f98f5427a5 100644
--- a/examples/multimedia/videographicsitem/videoplayer.cpp
+++ b/examples/multimedia/videographicsitem/videoplayer.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
@@ -116,7 +115,20 @@ VideoPlayer::~VideoPlayer()
void VideoPlayer::openFile()
{
- QString fileName = QFileDialog::getOpenFileName(this, tr("Open Movie"));
+ QStringList supportedFormats;
+ foreach (QString fmt, QMovie::supportedFormats())
+ supportedFormats << fmt;
+ foreach (QString fmt, QImageReader::supportedImageFormats())
+ supportedFormats << fmt;
+
+ QString filter = "Images (";
+ foreach ( QString fmt, supportedFormats) {
+ filter.append(QString("*.%1 ").arg(fmt));
+ }
+ filter.append(")");
+
+ QString fileName = QFileDialog::getOpenFileName(this, tr("Open Movie"),
+ QDir::homePath(), filter);
if (!fileName.isEmpty()) {
videoItem->stop();
diff --git a/examples/multimedia/videographicsitem/videoplayer.h b/examples/multimedia/videographicsitem/videoplayer.h
index ccb0a083eb..e16d9abb6e 100644
--- a/examples/multimedia/videographicsitem/videoplayer.h
+++ b/examples/multimedia/videographicsitem/videoplayer.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/multimedia/videowidget/main.cpp b/examples/multimedia/videowidget/main.cpp
index b32794904f..b6fac52a19 100644
--- a/examples/multimedia/videowidget/main.cpp
+++ b/examples/multimedia/videowidget/main.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/multimedia/videowidget/videoplayer.cpp b/examples/multimedia/videowidget/videoplayer.cpp
index 12d17cf795..ad12069888 100644
--- a/examples/multimedia/videowidget/videoplayer.cpp
+++ b/examples/multimedia/videowidget/videoplayer.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
@@ -97,7 +96,20 @@ VideoPlayer::~VideoPlayer()
void VideoPlayer::openFile()
{
- QString fileName = QFileDialog::getOpenFileName(this, tr("Open Movie"));
+ QStringList supportedFormats;
+ foreach (QString fmt, QMovie::supportedFormats())
+ supportedFormats << fmt;
+ foreach (QString fmt, QImageReader::supportedImageFormats())
+ supportedFormats << fmt;
+
+ QString filter = "Images (";
+ foreach ( QString fmt, supportedFormats) {
+ filter.append(QString("*.%1 ").arg(fmt));
+ }
+ filter.append(")");
+
+ QString fileName = QFileDialog::getOpenFileName(this, tr("Open Movie"),
+ QDir::homePath(), filter);
if (!fileName.isEmpty()) {
surface->stop();
diff --git a/examples/multimedia/videowidget/videoplayer.h b/examples/multimedia/videowidget/videoplayer.h
index 69944599ff..12d5b13a2b 100644
--- a/examples/multimedia/videowidget/videoplayer.h
+++ b/examples/multimedia/videowidget/videoplayer.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/multimedia/videowidget/videowidget.cpp b/examples/multimedia/videowidget/videowidget.cpp
index 25b3618443..bab28d08ab 100644
--- a/examples/multimedia/videowidget/videowidget.cpp
+++ b/examples/multimedia/videowidget/videowidget.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/multimedia/videowidget/videowidget.h b/examples/multimedia/videowidget/videowidget.h
index ba5f64167f..917e0063d9 100644
--- a/examples/multimedia/videowidget/videowidget.h
+++ b/examples/multimedia/videowidget/videowidget.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/multimedia/videowidget/videowidgetsurface.cpp b/examples/multimedia/videowidget/videowidgetsurface.cpp
index 5a37cd3926..2dee8eb374 100644
--- a/examples/multimedia/videowidget/videowidgetsurface.cpp
+++ b/examples/multimedia/videowidget/videowidgetsurface.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/multimedia/videowidget/videowidgetsurface.h b/examples/multimedia/videowidget/videowidgetsurface.h
index 39802b87a9..aace41b9ed 100644
--- a/examples/multimedia/videowidget/videowidgetsurface.h
+++ b/examples/multimedia/videowidget/videowidgetsurface.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/multitouch/dials/main.cpp b/examples/multitouch/dials/main.cpp
index 89cce15362..4c7cc1e99b 100644
--- a/examples/multitouch/dials/main.cpp
+++ b/examples/multitouch/dials/main.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the QtGui module of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/multitouch/fingerpaint/main.cpp b/examples/multitouch/fingerpaint/main.cpp
index e051c0dd5e..1d9b61d68e 100644
--- a/examples/multitouch/fingerpaint/main.cpp
+++ b/examples/multitouch/fingerpaint/main.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/multitouch/fingerpaint/mainwindow.cpp b/examples/multitouch/fingerpaint/mainwindow.cpp
index 9b5ece009f..ec42da3cee 100644
--- a/examples/multitouch/fingerpaint/mainwindow.cpp
+++ b/examples/multitouch/fingerpaint/mainwindow.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/multitouch/fingerpaint/mainwindow.h b/examples/multitouch/fingerpaint/mainwindow.h
index 054b3f6fce..714748ec7a 100644
--- a/examples/multitouch/fingerpaint/mainwindow.h
+++ b/examples/multitouch/fingerpaint/mainwindow.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/multitouch/fingerpaint/scribblearea.cpp b/examples/multitouch/fingerpaint/scribblearea.cpp
index a48bad0ec2..f16c33486a 100644
--- a/examples/multitouch/fingerpaint/scribblearea.cpp
+++ b/examples/multitouch/fingerpaint/scribblearea.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/multitouch/fingerpaint/scribblearea.h b/examples/multitouch/fingerpaint/scribblearea.h
index b073b71b4e..2e4fbda8ab 100644
--- a/examples/multitouch/fingerpaint/scribblearea.h
+++ b/examples/multitouch/fingerpaint/scribblearea.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/multitouch/knobs/knob.cpp b/examples/multitouch/knobs/knob.cpp
index ce2506b0e0..6ddd9b3bf8 100644
--- a/examples/multitouch/knobs/knob.cpp
+++ b/examples/multitouch/knobs/knob.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/multitouch/knobs/knob.h b/examples/multitouch/knobs/knob.h
index 50ab9355fe..d4e8730399 100644
--- a/examples/multitouch/knobs/knob.h
+++ b/examples/multitouch/knobs/knob.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/multitouch/knobs/main.cpp b/examples/multitouch/knobs/main.cpp
index 9214b34048..0866f789f3 100644
--- a/examples/multitouch/knobs/main.cpp
+++ b/examples/multitouch/knobs/main.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/multitouch/pinchzoom/graphicsview.cpp b/examples/multitouch/pinchzoom/graphicsview.cpp
index 9089cb3d7c..041e49427e 100644
--- a/examples/multitouch/pinchzoom/graphicsview.cpp
+++ b/examples/multitouch/pinchzoom/graphicsview.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/multitouch/pinchzoom/graphicsview.h b/examples/multitouch/pinchzoom/graphicsview.h
index 8dcbdefd47..c762786f16 100644
--- a/examples/multitouch/pinchzoom/graphicsview.h
+++ b/examples/multitouch/pinchzoom/graphicsview.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/multitouch/pinchzoom/main.cpp b/examples/multitouch/pinchzoom/main.cpp
index 63a705c1a2..8abc993e89 100644
--- a/examples/multitouch/pinchzoom/main.cpp
+++ b/examples/multitouch/pinchzoom/main.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/multitouch/pinchzoom/mouse.cpp b/examples/multitouch/pinchzoom/mouse.cpp
index 19ccf29626..82617fedff 100644
--- a/examples/multitouch/pinchzoom/mouse.cpp
+++ b/examples/multitouch/pinchzoom/mouse.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/multitouch/pinchzoom/mouse.h b/examples/multitouch/pinchzoom/mouse.h
index 3bdcc13d1b..241f8abbb3 100644
--- a/examples/multitouch/pinchzoom/mouse.h
+++ b/examples/multitouch/pinchzoom/mouse.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/network/bearercloud/bearercloud.cpp b/examples/network/bearercloud/bearercloud.cpp
index 27a296d10d..9e58c737f3 100644
--- a/examples/network/bearercloud/bearercloud.cpp
+++ b/examples/network/bearercloud/bearercloud.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/network/bearercloud/bearercloud.h b/examples/network/bearercloud/bearercloud.h
index 09de4c62ec..ac066958e0 100644
--- a/examples/network/bearercloud/bearercloud.h
+++ b/examples/network/bearercloud/bearercloud.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/network/bearercloud/cloud.cpp b/examples/network/bearercloud/cloud.cpp
index d0410345f1..2856c71dd5 100644
--- a/examples/network/bearercloud/cloud.cpp
+++ b/examples/network/bearercloud/cloud.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/network/bearercloud/cloud.h b/examples/network/bearercloud/cloud.h
index 9e25fb60e2..3f44447b58 100644
--- a/examples/network/bearercloud/cloud.h
+++ b/examples/network/bearercloud/cloud.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/network/bearercloud/main.cpp b/examples/network/bearercloud/main.cpp
index 86ef46ffc0..c0c0023219 100644
--- a/examples/network/bearercloud/main.cpp
+++ b/examples/network/bearercloud/main.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/network/bearermonitor/bearermonitor.cpp b/examples/network/bearermonitor/bearermonitor.cpp
index 4a6c6ff350..4a04b4c630 100644
--- a/examples/network/bearermonitor/bearermonitor.cpp
+++ b/examples/network/bearermonitor/bearermonitor.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
@@ -255,6 +254,7 @@ void BearerMonitor::onlineStateChanged(bool isOnline)
void BearerMonitor::registerNetwork()
{
QTreeWidgetItem *item = treeWidget->currentItem();
+ if (!item) return;
QNetworkConfiguration configuration =
manager.configurationFromIdentifier(item->data(0, Qt::UserRole).toString());
@@ -276,6 +276,7 @@ void BearerMonitor::registerNetwork()
void BearerMonitor::unregisterNetwork()
{
QTreeWidgetItem *item = treeWidget->currentItem();
+ if (!item) return;
QNetworkConfiguration configuration =
manager.configurationFromIdentifier(item->data(0, Qt::UserRole).toString());
@@ -384,6 +385,7 @@ void BearerMonitor::createSessionFor(QTreeWidgetItem *item)
void BearerMonitor::createNewSession()
{
QTreeWidgetItem *item = treeWidget->currentItem();
+ if (!item) return;
createSessionFor(item);
}
diff --git a/examples/network/bearermonitor/bearermonitor.h b/examples/network/bearermonitor/bearermonitor.h
index 3172b5bbd8..45e7275345 100644
--- a/examples/network/bearermonitor/bearermonitor.h
+++ b/examples/network/bearermonitor/bearermonitor.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/network/bearermonitor/main.cpp b/examples/network/bearermonitor/main.cpp
index b7ac4feb96..0bbbb56f05 100644
--- a/examples/network/bearermonitor/main.cpp
+++ b/examples/network/bearermonitor/main.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/network/bearermonitor/sessionwidget.cpp b/examples/network/bearermonitor/sessionwidget.cpp
index 443f4b2774..8b5693aaa0 100644
--- a/examples/network/bearermonitor/sessionwidget.cpp
+++ b/examples/network/bearermonitor/sessionwidget.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
@@ -59,7 +58,7 @@ SessionWidget::SessionWidget(const QNetworkConfiguration &config, QWidget *paren
connect(session, SIGNAL(stateChanged(QNetworkSession::State)),
this, SLOT(updateSession()));
connect(session, SIGNAL(error(QNetworkSession::SessionError)),
- this, SLOT(updateSession()));
+ this, SLOT(updateSessionError(QNetworkSession::SessionError)));
updateSession();
@@ -105,7 +104,6 @@ void SessionWidget::deleteSession()
void SessionWidget::updateSession()
{
updateSessionState(session->state());
- updateSessionError(session->error());
if (session->state() == QNetworkSession::Connected)
statsTimer = startTimer(1000);
@@ -128,12 +126,14 @@ void SessionWidget::updateSession()
void SessionWidget::openSession()
{
+ clearError();
session->open();
updateSession();
}
void SessionWidget::openSyncSession()
{
+ clearError();
session->open();
session->waitForOpened();
updateSession();
@@ -141,12 +141,14 @@ void SessionWidget::openSyncSession()
void SessionWidget::closeSession()
{
+ clearError();
session->close();
updateSession();
}
void SessionWidget::stopSession()
{
+ clearError();
session->stop();
updateSession();
}
@@ -195,3 +197,8 @@ void SessionWidget::updateSessionError(QNetworkSession::SessionError error)
errorString->setText(session->errorString());
}
+void SessionWidget::clearError()
+{
+ lastError->clear();
+ errorString->clear();
+}
diff --git a/examples/network/bearermonitor/sessionwidget.h b/examples/network/bearermonitor/sessionwidget.h
index 5e9d62c6ca..5b5827bc7c 100644
--- a/examples/network/bearermonitor/sessionwidget.h
+++ b/examples/network/bearermonitor/sessionwidget.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
@@ -63,7 +62,7 @@ public:
private:
void updateSessionState(QNetworkSession::State state);
- void updateSessionError(QNetworkSession::SessionError error);
+ void clearError();
private Q_SLOTS:
void openSession();
@@ -71,9 +70,12 @@ private Q_SLOTS:
void closeSession();
void stopSession();
void updateSession();
+ void updateSessionError(QNetworkSession::SessionError error);
#if defined(Q_WS_MAEMO_5) || defined(Q_WS_MAEMO_6)
void deleteSession();
#endif
+
+
private:
QNetworkSession *session;
int statsTimer;
diff --git a/examples/network/bearermonitor/sessionwidget.ui b/examples/network/bearermonitor/sessionwidget.ui
index 45135f543a..56a2d0e516 100644
--- a/examples/network/bearermonitor/sessionwidget.ui
+++ b/examples/network/bearermonitor/sessionwidget.ui
@@ -195,7 +195,7 @@
<item>
<widget class="QLabel" name="errorStringLabel">
<property name="text">
- <string>Error String</string>
+ <string>Error String:</string>
</property>
</widget>
</item>
diff --git a/examples/network/blockingfortuneclient/blockingclient.cpp b/examples/network/blockingfortuneclient/blockingclient.cpp
index 98b61cddec..696f08b3d0 100644
--- a/examples/network/blockingfortuneclient/blockingclient.cpp
+++ b/examples/network/blockingfortuneclient/blockingclient.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/network/blockingfortuneclient/blockingclient.h b/examples/network/blockingfortuneclient/blockingclient.h
index ad67e0bba6..ad00948b7b 100644
--- a/examples/network/blockingfortuneclient/blockingclient.h
+++ b/examples/network/blockingfortuneclient/blockingclient.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/network/blockingfortuneclient/fortunethread.cpp b/examples/network/blockingfortuneclient/fortunethread.cpp
index db8a337175..b501f5fbda 100644
--- a/examples/network/blockingfortuneclient/fortunethread.cpp
+++ b/examples/network/blockingfortuneclient/fortunethread.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/network/blockingfortuneclient/fortunethread.h b/examples/network/blockingfortuneclient/fortunethread.h
index 8060a0dd0d..3b05a59794 100644
--- a/examples/network/blockingfortuneclient/fortunethread.h
+++ b/examples/network/blockingfortuneclient/fortunethread.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/network/blockingfortuneclient/main.cpp b/examples/network/blockingfortuneclient/main.cpp
index fdf66e31bc..dc692071c8 100644
--- a/examples/network/blockingfortuneclient/main.cpp
+++ b/examples/network/blockingfortuneclient/main.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/network/broadcastreceiver/main.cpp b/examples/network/broadcastreceiver/main.cpp
index 32aceaccf9..8483271ad2 100644
--- a/examples/network/broadcastreceiver/main.cpp
+++ b/examples/network/broadcastreceiver/main.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/network/broadcastreceiver/receiver.cpp b/examples/network/broadcastreceiver/receiver.cpp
index 5b0cd6393a..0c03b0ce17 100644
--- a/examples/network/broadcastreceiver/receiver.cpp
+++ b/examples/network/broadcastreceiver/receiver.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/network/broadcastreceiver/receiver.h b/examples/network/broadcastreceiver/receiver.h
index efd4027eb3..885382a011 100644
--- a/examples/network/broadcastreceiver/receiver.h
+++ b/examples/network/broadcastreceiver/receiver.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/network/broadcastsender/main.cpp b/examples/network/broadcastsender/main.cpp
index 35d61e0364..93093226a2 100644
--- a/examples/network/broadcastsender/main.cpp
+++ b/examples/network/broadcastsender/main.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/network/broadcastsender/sender.cpp b/examples/network/broadcastsender/sender.cpp
index fc30fca3fc..074a04f549 100644
--- a/examples/network/broadcastsender/sender.cpp
+++ b/examples/network/broadcastsender/sender.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/network/broadcastsender/sender.h b/examples/network/broadcastsender/sender.h
index 16c23d1499..1170bb114a 100644
--- a/examples/network/broadcastsender/sender.h
+++ b/examples/network/broadcastsender/sender.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/network/download/main.cpp b/examples/network/download/main.cpp
index 6aa99eadf7..c322a448b9 100644
--- a/examples/network/download/main.cpp
+++ b/examples/network/download/main.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/network/downloadmanager/downloadmanager.cpp b/examples/network/downloadmanager/downloadmanager.cpp
index 2d95158913..b58d1f1612 100644
--- a/examples/network/downloadmanager/downloadmanager.cpp
+++ b/examples/network/downloadmanager/downloadmanager.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/network/downloadmanager/downloadmanager.h b/examples/network/downloadmanager/downloadmanager.h
index 0e859fd454..d6d1abd701 100644
--- a/examples/network/downloadmanager/downloadmanager.h
+++ b/examples/network/downloadmanager/downloadmanager.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/network/downloadmanager/main.cpp b/examples/network/downloadmanager/main.cpp
index 1e7a64437b..182522fdef 100644
--- a/examples/network/downloadmanager/main.cpp
+++ b/examples/network/downloadmanager/main.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/network/downloadmanager/textprogressbar.cpp b/examples/network/downloadmanager/textprogressbar.cpp
index a72a15f7c3..ceba0922bd 100644
--- a/examples/network/downloadmanager/textprogressbar.cpp
+++ b/examples/network/downloadmanager/textprogressbar.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/network/downloadmanager/textprogressbar.h b/examples/network/downloadmanager/textprogressbar.h
index 7d75398c2a..91ea04dd10 100644
--- a/examples/network/downloadmanager/textprogressbar.h
+++ b/examples/network/downloadmanager/textprogressbar.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/network/fortuneclient/client.cpp b/examples/network/fortuneclient/client.cpp
index bbd38d47a2..b9a85c4f7e 100644
--- a/examples/network/fortuneclient/client.cpp
+++ b/examples/network/fortuneclient/client.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/network/fortuneclient/client.h b/examples/network/fortuneclient/client.h
index dfaf4aefa2..50a9037577 100644
--- a/examples/network/fortuneclient/client.h
+++ b/examples/network/fortuneclient/client.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/network/fortuneclient/main.cpp b/examples/network/fortuneclient/main.cpp
index ed9280b8d7..2f67f473d1 100644
--- a/examples/network/fortuneclient/main.cpp
+++ b/examples/network/fortuneclient/main.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/network/fortuneserver/main.cpp b/examples/network/fortuneserver/main.cpp
index 8d5a12801e..29fe777f44 100644
--- a/examples/network/fortuneserver/main.cpp
+++ b/examples/network/fortuneserver/main.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/network/fortuneserver/server.cpp b/examples/network/fortuneserver/server.cpp
index da53d2dc12..98234e0506 100644
--- a/examples/network/fortuneserver/server.cpp
+++ b/examples/network/fortuneserver/server.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/network/fortuneserver/server.h b/examples/network/fortuneserver/server.h
index c0f49f3ac1..2d8d116062 100644
--- a/examples/network/fortuneserver/server.h
+++ b/examples/network/fortuneserver/server.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/network/googlesuggest/googlesuggest.cpp b/examples/network/googlesuggest/googlesuggest.cpp
index 0c85773bf7..a4f7c836be 100644
--- a/examples/network/googlesuggest/googlesuggest.cpp
+++ b/examples/network/googlesuggest/googlesuggest.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/network/googlesuggest/googlesuggest.h b/examples/network/googlesuggest/googlesuggest.h
index 3f3c7dacde..ffadbb1f3c 100644
--- a/examples/network/googlesuggest/googlesuggest.h
+++ b/examples/network/googlesuggest/googlesuggest.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/network/googlesuggest/main.cpp b/examples/network/googlesuggest/main.cpp
index e7b05af51a..84b423edf8 100644
--- a/examples/network/googlesuggest/main.cpp
+++ b/examples/network/googlesuggest/main.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/network/googlesuggest/searchbox.cpp b/examples/network/googlesuggest/searchbox.cpp
index 8ef6f00cfe..df6799399d 100644
--- a/examples/network/googlesuggest/searchbox.cpp
+++ b/examples/network/googlesuggest/searchbox.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/network/googlesuggest/searchbox.h b/examples/network/googlesuggest/searchbox.h
index b3c451fa81..525328929e 100644
--- a/examples/network/googlesuggest/searchbox.h
+++ b/examples/network/googlesuggest/searchbox.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/network/http/httpwindow.cpp b/examples/network/http/httpwindow.cpp
index ec7cd331f3..b1ea98ca7d 100644
--- a/examples/network/http/httpwindow.cpp
+++ b/examples/network/http/httpwindow.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/network/http/httpwindow.h b/examples/network/http/httpwindow.h
index 83898af04d..99fba595a4 100644
--- a/examples/network/http/httpwindow.h
+++ b/examples/network/http/httpwindow.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/network/http/main.cpp b/examples/network/http/main.cpp
index 817b2be804..678a1a371e 100644
--- a/examples/network/http/main.cpp
+++ b/examples/network/http/main.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/network/loopback/dialog.cpp b/examples/network/loopback/dialog.cpp
index b504e36ce8..bdf07208b1 100644
--- a/examples/network/loopback/dialog.cpp
+++ b/examples/network/loopback/dialog.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/network/loopback/dialog.h b/examples/network/loopback/dialog.h
index c2c1807d4a..0901631e3c 100644
--- a/examples/network/loopback/dialog.h
+++ b/examples/network/loopback/dialog.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/network/loopback/main.cpp b/examples/network/loopback/main.cpp
index d746700223..504dcb16f0 100644
--- a/examples/network/loopback/main.cpp
+++ b/examples/network/loopback/main.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/network/network-chat/chatdialog.cpp b/examples/network/network-chat/chatdialog.cpp
index da652701be..14fabaa181 100644
--- a/examples/network/network-chat/chatdialog.cpp
+++ b/examples/network/network-chat/chatdialog.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/network/network-chat/chatdialog.h b/examples/network/network-chat/chatdialog.h
index bde4940708..3dba53b786 100644
--- a/examples/network/network-chat/chatdialog.h
+++ b/examples/network/network-chat/chatdialog.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/network/network-chat/client.cpp b/examples/network/network-chat/client.cpp
index f516783fd3..6f7da6bae6 100644
--- a/examples/network/network-chat/client.cpp
+++ b/examples/network/network-chat/client.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/network/network-chat/client.h b/examples/network/network-chat/client.h
index bc7c3d5699..7ce29faad7 100644
--- a/examples/network/network-chat/client.h
+++ b/examples/network/network-chat/client.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/network/network-chat/connection.cpp b/examples/network/network-chat/connection.cpp
index 5c636b9cb5..e28772cb81 100644
--- a/examples/network/network-chat/connection.cpp
+++ b/examples/network/network-chat/connection.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/network/network-chat/connection.h b/examples/network/network-chat/connection.h
index 74f19cd94d..5b03763413 100644
--- a/examples/network/network-chat/connection.h
+++ b/examples/network/network-chat/connection.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/network/network-chat/main.cpp b/examples/network/network-chat/main.cpp
index 5bb2223a6e..7226217db2 100644
--- a/examples/network/network-chat/main.cpp
+++ b/examples/network/network-chat/main.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/network/network-chat/peermanager.cpp b/examples/network/network-chat/peermanager.cpp
index 430031bb2b..5a12c22bb6 100644
--- a/examples/network/network-chat/peermanager.cpp
+++ b/examples/network/network-chat/peermanager.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/network/network-chat/peermanager.h b/examples/network/network-chat/peermanager.h
index 3243127189..f1bee1e093 100644
--- a/examples/network/network-chat/peermanager.h
+++ b/examples/network/network-chat/peermanager.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/network/network-chat/server.cpp b/examples/network/network-chat/server.cpp
index d4e6d42e06..49021ba713 100644
--- a/examples/network/network-chat/server.cpp
+++ b/examples/network/network-chat/server.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/network/network-chat/server.h b/examples/network/network-chat/server.h
index c4e57dbccb..4f81954cb4 100644
--- a/examples/network/network-chat/server.h
+++ b/examples/network/network-chat/server.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/network/qftp/ftpwindow.cpp b/examples/network/qftp/ftpwindow.cpp
index 3fd62f8aa1..635b679cfe 100644
--- a/examples/network/qftp/ftpwindow.cpp
+++ b/examples/network/qftp/ftpwindow.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/network/qftp/ftpwindow.h b/examples/network/qftp/ftpwindow.h
index dde33835a0..25a7a56e01 100644
--- a/examples/network/qftp/ftpwindow.h
+++ b/examples/network/qftp/ftpwindow.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/network/qftp/main.cpp b/examples/network/qftp/main.cpp
index 1520e00022..bdbfd5c245 100644
--- a/examples/network/qftp/main.cpp
+++ b/examples/network/qftp/main.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/network/qftp/sym_iap_util.h b/examples/network/qftp/sym_iap_util.h
index f23d82f260..bea447c574 100644
--- a/examples/network/qftp/sym_iap_util.h
+++ b/examples/network/qftp/sym_iap_util.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/network/securesocketclient/certificateinfo.cpp b/examples/network/securesocketclient/certificateinfo.cpp
index 45525d6f6d..8c44ac0939 100644
--- a/examples/network/securesocketclient/certificateinfo.cpp
+++ b/examples/network/securesocketclient/certificateinfo.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/network/securesocketclient/certificateinfo.h b/examples/network/securesocketclient/certificateinfo.h
index 1aec30cbf5..99ccfdfd74 100644
--- a/examples/network/securesocketclient/certificateinfo.h
+++ b/examples/network/securesocketclient/certificateinfo.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/network/securesocketclient/main.cpp b/examples/network/securesocketclient/main.cpp
index 471f75a87e..e4a0fc882f 100644
--- a/examples/network/securesocketclient/main.cpp
+++ b/examples/network/securesocketclient/main.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/network/securesocketclient/sslclient.cpp b/examples/network/securesocketclient/sslclient.cpp
index 0d6a581722..205e3369df 100644
--- a/examples/network/securesocketclient/sslclient.cpp
+++ b/examples/network/securesocketclient/sslclient.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/network/securesocketclient/sslclient.h b/examples/network/securesocketclient/sslclient.h
index 78d1912c0a..4de724ebe7 100644
--- a/examples/network/securesocketclient/sslclient.h
+++ b/examples/network/securesocketclient/sslclient.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/network/threadedfortuneserver/dialog.cpp b/examples/network/threadedfortuneserver/dialog.cpp
index 97d4d63a6d..3b85d8f291 100644
--- a/examples/network/threadedfortuneserver/dialog.cpp
+++ b/examples/network/threadedfortuneserver/dialog.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/network/threadedfortuneserver/dialog.h b/examples/network/threadedfortuneserver/dialog.h
index 84f61ca016..b8e865ac76 100644
--- a/examples/network/threadedfortuneserver/dialog.h
+++ b/examples/network/threadedfortuneserver/dialog.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/network/threadedfortuneserver/fortuneserver.cpp b/examples/network/threadedfortuneserver/fortuneserver.cpp
index a6e8f0d163..7cdd28d7b7 100644
--- a/examples/network/threadedfortuneserver/fortuneserver.cpp
+++ b/examples/network/threadedfortuneserver/fortuneserver.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/network/threadedfortuneserver/fortuneserver.h b/examples/network/threadedfortuneserver/fortuneserver.h
index 995cf10175..2ad2c8b2dc 100644
--- a/examples/network/threadedfortuneserver/fortuneserver.h
+++ b/examples/network/threadedfortuneserver/fortuneserver.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/network/threadedfortuneserver/fortunethread.cpp b/examples/network/threadedfortuneserver/fortunethread.cpp
index 6910149565..c27a006b43 100644
--- a/examples/network/threadedfortuneserver/fortunethread.cpp
+++ b/examples/network/threadedfortuneserver/fortunethread.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/network/threadedfortuneserver/fortunethread.h b/examples/network/threadedfortuneserver/fortunethread.h
index 2392fb6a56..f6bff9b494 100644
--- a/examples/network/threadedfortuneserver/fortunethread.h
+++ b/examples/network/threadedfortuneserver/fortunethread.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/network/threadedfortuneserver/main.cpp b/examples/network/threadedfortuneserver/main.cpp
index 9ec0cf456e..5b4a614f42 100644
--- a/examples/network/threadedfortuneserver/main.cpp
+++ b/examples/network/threadedfortuneserver/main.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/network/torrent/addtorrentdialog.cpp b/examples/network/torrent/addtorrentdialog.cpp
index 69d615f3ec..cba04addc1 100644
--- a/examples/network/torrent/addtorrentdialog.cpp
+++ b/examples/network/torrent/addtorrentdialog.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/network/torrent/addtorrentdialog.h b/examples/network/torrent/addtorrentdialog.h
index 11fb85435b..7453291218 100644
--- a/examples/network/torrent/addtorrentdialog.h
+++ b/examples/network/torrent/addtorrentdialog.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/network/torrent/bencodeparser.cpp b/examples/network/torrent/bencodeparser.cpp
index f1bad307b4..d6b6078b0e 100644
--- a/examples/network/torrent/bencodeparser.cpp
+++ b/examples/network/torrent/bencodeparser.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/network/torrent/bencodeparser.h b/examples/network/torrent/bencodeparser.h
index 5d8e65fcb5..22595d28d7 100644
--- a/examples/network/torrent/bencodeparser.h
+++ b/examples/network/torrent/bencodeparser.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/network/torrent/connectionmanager.cpp b/examples/network/torrent/connectionmanager.cpp
index 2592302457..48813fab28 100644
--- a/examples/network/torrent/connectionmanager.cpp
+++ b/examples/network/torrent/connectionmanager.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/network/torrent/connectionmanager.h b/examples/network/torrent/connectionmanager.h
index 37e7b4d4eb..630a08fe34 100644
--- a/examples/network/torrent/connectionmanager.h
+++ b/examples/network/torrent/connectionmanager.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/network/torrent/filemanager.cpp b/examples/network/torrent/filemanager.cpp
index 072d6d1c09..13f4181c17 100644
--- a/examples/network/torrent/filemanager.cpp
+++ b/examples/network/torrent/filemanager.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/network/torrent/filemanager.h b/examples/network/torrent/filemanager.h
index 14207b66cc..c706c55ee3 100644
--- a/examples/network/torrent/filemanager.h
+++ b/examples/network/torrent/filemanager.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/network/torrent/main.cpp b/examples/network/torrent/main.cpp
index bdf9df6738..d21340eb80 100644
--- a/examples/network/torrent/main.cpp
+++ b/examples/network/torrent/main.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/network/torrent/mainwindow.cpp b/examples/network/torrent/mainwindow.cpp
index 12f43de009..212d75021b 100644
--- a/examples/network/torrent/mainwindow.cpp
+++ b/examples/network/torrent/mainwindow.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/network/torrent/mainwindow.h b/examples/network/torrent/mainwindow.h
index 3e43e0f91a..bbed9103a2 100644
--- a/examples/network/torrent/mainwindow.h
+++ b/examples/network/torrent/mainwindow.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/network/torrent/metainfo.cpp b/examples/network/torrent/metainfo.cpp
index 1b012f144c..a6e7511984 100644
--- a/examples/network/torrent/metainfo.cpp
+++ b/examples/network/torrent/metainfo.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/network/torrent/metainfo.h b/examples/network/torrent/metainfo.h
index fdb48d2b89..c132063271 100644
--- a/examples/network/torrent/metainfo.h
+++ b/examples/network/torrent/metainfo.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/network/torrent/peerwireclient.cpp b/examples/network/torrent/peerwireclient.cpp
index 5d8a6bb697..74e220dade 100644
--- a/examples/network/torrent/peerwireclient.cpp
+++ b/examples/network/torrent/peerwireclient.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/network/torrent/peerwireclient.h b/examples/network/torrent/peerwireclient.h
index 9095f0a106..8d862bedac 100644
--- a/examples/network/torrent/peerwireclient.h
+++ b/examples/network/torrent/peerwireclient.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/network/torrent/ratecontroller.cpp b/examples/network/torrent/ratecontroller.cpp
index 4a29a07a11..382da574f5 100644
--- a/examples/network/torrent/ratecontroller.cpp
+++ b/examples/network/torrent/ratecontroller.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/network/torrent/ratecontroller.h b/examples/network/torrent/ratecontroller.h
index d2a7af9bc8..7c29327f27 100644
--- a/examples/network/torrent/ratecontroller.h
+++ b/examples/network/torrent/ratecontroller.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/network/torrent/torrentclient.cpp b/examples/network/torrent/torrentclient.cpp
index f78ecbda00..5e25b9a3f9 100644
--- a/examples/network/torrent/torrentclient.cpp
+++ b/examples/network/torrent/torrentclient.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/network/torrent/torrentclient.h b/examples/network/torrent/torrentclient.h
index f9c093beab..2da1f6bc8d 100644
--- a/examples/network/torrent/torrentclient.h
+++ b/examples/network/torrent/torrentclient.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/network/torrent/torrentserver.cpp b/examples/network/torrent/torrentserver.cpp
index a6acfcd9d4..9e0bdd9a98 100644
--- a/examples/network/torrent/torrentserver.cpp
+++ b/examples/network/torrent/torrentserver.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/network/torrent/torrentserver.h b/examples/network/torrent/torrentserver.h
index e8fd91fd22..ce4e3e069a 100644
--- a/examples/network/torrent/torrentserver.h
+++ b/examples/network/torrent/torrentserver.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/network/torrent/trackerclient.cpp b/examples/network/torrent/trackerclient.cpp
index 2397737e0e..61d7e95e53 100644
--- a/examples/network/torrent/trackerclient.cpp
+++ b/examples/network/torrent/trackerclient.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/network/torrent/trackerclient.h b/examples/network/torrent/trackerclient.h
index 05b9f0ef8a..e4b936451a 100644
--- a/examples/network/torrent/trackerclient.h
+++ b/examples/network/torrent/trackerclient.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/opengl/2dpainting/glwidget.cpp b/examples/opengl/2dpainting/glwidget.cpp
index 796b5c0c88..f28ae25f21 100644
--- a/examples/opengl/2dpainting/glwidget.cpp
+++ b/examples/opengl/2dpainting/glwidget.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/opengl/2dpainting/glwidget.h b/examples/opengl/2dpainting/glwidget.h
index 3262fc840c..ad80fe97c2 100644
--- a/examples/opengl/2dpainting/glwidget.h
+++ b/examples/opengl/2dpainting/glwidget.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/opengl/2dpainting/helper.cpp b/examples/opengl/2dpainting/helper.cpp
index 5fc70b4365..c230f46352 100644
--- a/examples/opengl/2dpainting/helper.cpp
+++ b/examples/opengl/2dpainting/helper.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/opengl/2dpainting/helper.h b/examples/opengl/2dpainting/helper.h
index 3e78acd53f..ab3bf32e22 100644
--- a/examples/opengl/2dpainting/helper.h
+++ b/examples/opengl/2dpainting/helper.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/opengl/2dpainting/main.cpp b/examples/opengl/2dpainting/main.cpp
index 875f78f888..b7c9c0cf9a 100644
--- a/examples/opengl/2dpainting/main.cpp
+++ b/examples/opengl/2dpainting/main.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/opengl/2dpainting/widget.cpp b/examples/opengl/2dpainting/widget.cpp
index 78b4099727..eb96864575 100644
--- a/examples/opengl/2dpainting/widget.cpp
+++ b/examples/opengl/2dpainting/widget.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/opengl/2dpainting/widget.h b/examples/opengl/2dpainting/widget.h
index c40bcbc088..6fbd585857 100644
--- a/examples/opengl/2dpainting/widget.h
+++ b/examples/opengl/2dpainting/widget.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/opengl/2dpainting/window.cpp b/examples/opengl/2dpainting/window.cpp
index a16640fe51..3f0e85d443 100644
--- a/examples/opengl/2dpainting/window.cpp
+++ b/examples/opengl/2dpainting/window.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/opengl/2dpainting/window.h b/examples/opengl/2dpainting/window.h
index dd9ceb26ed..bbdb5ac627 100644
--- a/examples/opengl/2dpainting/window.h
+++ b/examples/opengl/2dpainting/window.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/opengl/framebufferobject/glwidget.cpp b/examples/opengl/framebufferobject/glwidget.cpp
index e7c048cd29..227fe6abd2 100644
--- a/examples/opengl/framebufferobject/glwidget.cpp
+++ b/examples/opengl/framebufferobject/glwidget.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/opengl/framebufferobject/glwidget.h b/examples/opengl/framebufferobject/glwidget.h
index b91a4c4807..f29dc21af7 100644
--- a/examples/opengl/framebufferobject/glwidget.h
+++ b/examples/opengl/framebufferobject/glwidget.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/opengl/framebufferobject/main.cpp b/examples/opengl/framebufferobject/main.cpp
index d465befaa2..1837b9f194 100644
--- a/examples/opengl/framebufferobject/main.cpp
+++ b/examples/opengl/framebufferobject/main.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/opengl/framebufferobject2/glwidget.cpp b/examples/opengl/framebufferobject2/glwidget.cpp
index e1c57e0ef9..9cc1ba0db6 100644
--- a/examples/opengl/framebufferobject2/glwidget.cpp
+++ b/examples/opengl/framebufferobject2/glwidget.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/opengl/framebufferobject2/glwidget.h b/examples/opengl/framebufferobject2/glwidget.h
index e5f628db89..3babe4b196 100644
--- a/examples/opengl/framebufferobject2/glwidget.h
+++ b/examples/opengl/framebufferobject2/glwidget.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/opengl/framebufferobject2/main.cpp b/examples/opengl/framebufferobject2/main.cpp
index 3b9fbb7de1..37980517b9 100644
--- a/examples/opengl/framebufferobject2/main.cpp
+++ b/examples/opengl/framebufferobject2/main.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/opengl/grabber/glwidget.cpp b/examples/opengl/grabber/glwidget.cpp
index ee712c9a0f..2c3040e56c 100644
--- a/examples/opengl/grabber/glwidget.cpp
+++ b/examples/opengl/grabber/glwidget.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/opengl/grabber/glwidget.h b/examples/opengl/grabber/glwidget.h
index bebbec1bb2..8742293862 100644
--- a/examples/opengl/grabber/glwidget.h
+++ b/examples/opengl/grabber/glwidget.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/opengl/grabber/main.cpp b/examples/opengl/grabber/main.cpp
index f5632657c0..ba6d248d77 100644
--- a/examples/opengl/grabber/main.cpp
+++ b/examples/opengl/grabber/main.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/opengl/grabber/mainwindow.cpp b/examples/opengl/grabber/mainwindow.cpp
index 2adbb6799e..48063f0023 100644
--- a/examples/opengl/grabber/mainwindow.cpp
+++ b/examples/opengl/grabber/mainwindow.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/opengl/grabber/mainwindow.h b/examples/opengl/grabber/mainwindow.h
index e222b5ec76..248e81d5ff 100644
--- a/examples/opengl/grabber/mainwindow.h
+++ b/examples/opengl/grabber/mainwindow.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/opengl/hellogl/glwidget.cpp b/examples/opengl/hellogl/glwidget.cpp
index 11db2d500e..acf2f7f85e 100644
--- a/examples/opengl/hellogl/glwidget.cpp
+++ b/examples/opengl/hellogl/glwidget.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/opengl/hellogl/glwidget.h b/examples/opengl/hellogl/glwidget.h
index 31e9285006..da805bc4f4 100644
--- a/examples/opengl/hellogl/glwidget.h
+++ b/examples/opengl/hellogl/glwidget.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/opengl/hellogl/main.cpp b/examples/opengl/hellogl/main.cpp
index d320da2330..bc7f633cb8 100644
--- a/examples/opengl/hellogl/main.cpp
+++ b/examples/opengl/hellogl/main.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/opengl/hellogl/window.cpp b/examples/opengl/hellogl/window.cpp
index 89fa8b5156..ab09ab6eba 100644
--- a/examples/opengl/hellogl/window.cpp
+++ b/examples/opengl/hellogl/window.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/opengl/hellogl/window.h b/examples/opengl/hellogl/window.h
index 44ef186fcd..82d3d395db 100644
--- a/examples/opengl/hellogl/window.h
+++ b/examples/opengl/hellogl/window.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/opengl/hellogl_es/bubble.cpp b/examples/opengl/hellogl_es/bubble.cpp
index 041309687e..787ec0539d 100644
--- a/examples/opengl/hellogl_es/bubble.cpp
+++ b/examples/opengl/hellogl_es/bubble.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/opengl/hellogl_es/bubble.h b/examples/opengl/hellogl_es/bubble.h
index 4069d25062..79af9f5ed6 100644
--- a/examples/opengl/hellogl_es/bubble.h
+++ b/examples/opengl/hellogl_es/bubble.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/opengl/hellogl_es/glwidget.cpp b/examples/opengl/hellogl_es/glwidget.cpp
index 8a6543d7f8..e55869fd60 100644
--- a/examples/opengl/hellogl_es/glwidget.cpp
+++ b/examples/opengl/hellogl_es/glwidget.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/opengl/hellogl_es/glwidget.h b/examples/opengl/hellogl_es/glwidget.h
index 3b2b5d42f7..8c9bcd5aa9 100644
--- a/examples/opengl/hellogl_es/glwidget.h
+++ b/examples/opengl/hellogl_es/glwidget.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/opengl/hellogl_es/main.cpp b/examples/opengl/hellogl_es/main.cpp
index ba3b2e68c7..7bb03eb4d2 100644
--- a/examples/opengl/hellogl_es/main.cpp
+++ b/examples/opengl/hellogl_es/main.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/opengl/hellogl_es/mainwindow.cpp b/examples/opengl/hellogl_es/mainwindow.cpp
index a736fc2427..4e1ad938cf 100644
--- a/examples/opengl/hellogl_es/mainwindow.cpp
+++ b/examples/opengl/hellogl_es/mainwindow.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/opengl/hellogl_es/mainwindow.h b/examples/opengl/hellogl_es/mainwindow.h
index b22da3f07e..0fadda995b 100644
--- a/examples/opengl/hellogl_es/mainwindow.h
+++ b/examples/opengl/hellogl_es/mainwindow.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/opengl/hellogl_es2/bubble.cpp b/examples/opengl/hellogl_es2/bubble.cpp
index 041309687e..787ec0539d 100644
--- a/examples/opengl/hellogl_es2/bubble.cpp
+++ b/examples/opengl/hellogl_es2/bubble.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/opengl/hellogl_es2/bubble.h b/examples/opengl/hellogl_es2/bubble.h
index 4069d25062..79af9f5ed6 100644
--- a/examples/opengl/hellogl_es2/bubble.h
+++ b/examples/opengl/hellogl_es2/bubble.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/opengl/hellogl_es2/glwidget.cpp b/examples/opengl/hellogl_es2/glwidget.cpp
index 795201d31c..efa6e1ae47 100644
--- a/examples/opengl/hellogl_es2/glwidget.cpp
+++ b/examples/opengl/hellogl_es2/glwidget.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/opengl/hellogl_es2/glwidget.h b/examples/opengl/hellogl_es2/glwidget.h
index 53efb57219..9198720179 100644
--- a/examples/opengl/hellogl_es2/glwidget.h
+++ b/examples/opengl/hellogl_es2/glwidget.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/opengl/hellogl_es2/main.cpp b/examples/opengl/hellogl_es2/main.cpp
index ba3b2e68c7..7bb03eb4d2 100644
--- a/examples/opengl/hellogl_es2/main.cpp
+++ b/examples/opengl/hellogl_es2/main.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/opengl/hellogl_es2/mainwindow.cpp b/examples/opengl/hellogl_es2/mainwindow.cpp
index a736fc2427..4e1ad938cf 100644
--- a/examples/opengl/hellogl_es2/mainwindow.cpp
+++ b/examples/opengl/hellogl_es2/mainwindow.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/opengl/hellogl_es2/mainwindow.h b/examples/opengl/hellogl_es2/mainwindow.h
index b22da3f07e..0fadda995b 100644
--- a/examples/opengl/hellogl_es2/mainwindow.h
+++ b/examples/opengl/hellogl_es2/mainwindow.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/opengl/overpainting/bubble.cpp b/examples/opengl/overpainting/bubble.cpp
index c0a3781447..5f5ef349dc 100644
--- a/examples/opengl/overpainting/bubble.cpp
+++ b/examples/opengl/overpainting/bubble.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/opengl/overpainting/bubble.h b/examples/opengl/overpainting/bubble.h
index 0a150ce7a4..4f8ebe66d2 100644
--- a/examples/opengl/overpainting/bubble.h
+++ b/examples/opengl/overpainting/bubble.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/opengl/overpainting/glwidget.cpp b/examples/opengl/overpainting/glwidget.cpp
index a5e4144b4e..79629013b2 100644
--- a/examples/opengl/overpainting/glwidget.cpp
+++ b/examples/opengl/overpainting/glwidget.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/opengl/overpainting/glwidget.h b/examples/opengl/overpainting/glwidget.h
index 46fbbbc9ca..0dd7d661f4 100644
--- a/examples/opengl/overpainting/glwidget.h
+++ b/examples/opengl/overpainting/glwidget.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/opengl/overpainting/main.cpp b/examples/opengl/overpainting/main.cpp
index 187557b0c0..c52309bc2e 100644
--- a/examples/opengl/overpainting/main.cpp
+++ b/examples/opengl/overpainting/main.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/opengl/pbuffers/cube.cpp b/examples/opengl/pbuffers/cube.cpp
index d22393acc0..813b8f4e3a 100644
--- a/examples/opengl/pbuffers/cube.cpp
+++ b/examples/opengl/pbuffers/cube.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/opengl/pbuffers/cube.h b/examples/opengl/pbuffers/cube.h
index 9175905b01..a1e5ba936b 100644
--- a/examples/opengl/pbuffers/cube.h
+++ b/examples/opengl/pbuffers/cube.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/opengl/pbuffers/glwidget.cpp b/examples/opengl/pbuffers/glwidget.cpp
index b201990978..6f4f0603b2 100644
--- a/examples/opengl/pbuffers/glwidget.cpp
+++ b/examples/opengl/pbuffers/glwidget.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/opengl/pbuffers/glwidget.h b/examples/opengl/pbuffers/glwidget.h
index 24618385f5..b37b2025be 100644
--- a/examples/opengl/pbuffers/glwidget.h
+++ b/examples/opengl/pbuffers/glwidget.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/opengl/pbuffers/main.cpp b/examples/opengl/pbuffers/main.cpp
index 10cf2d07e6..8a4861ab6f 100644
--- a/examples/opengl/pbuffers/main.cpp
+++ b/examples/opengl/pbuffers/main.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/opengl/pbuffers2/glwidget.cpp b/examples/opengl/pbuffers2/glwidget.cpp
index 68fb2bb310..0432e0e69b 100644
--- a/examples/opengl/pbuffers2/glwidget.cpp
+++ b/examples/opengl/pbuffers2/glwidget.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/opengl/pbuffers2/glwidget.h b/examples/opengl/pbuffers2/glwidget.h
index d0c719d429..ff637caaa3 100644
--- a/examples/opengl/pbuffers2/glwidget.h
+++ b/examples/opengl/pbuffers2/glwidget.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/opengl/pbuffers2/main.cpp b/examples/opengl/pbuffers2/main.cpp
index 89da47d09a..a14f398624 100644
--- a/examples/opengl/pbuffers2/main.cpp
+++ b/examples/opengl/pbuffers2/main.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/opengl/samplebuffers/glwidget.cpp b/examples/opengl/samplebuffers/glwidget.cpp
index 454baf866d..5a59554158 100644
--- a/examples/opengl/samplebuffers/glwidget.cpp
+++ b/examples/opengl/samplebuffers/glwidget.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/opengl/samplebuffers/glwidget.h b/examples/opengl/samplebuffers/glwidget.h
index 9ea4c13572..12a0f5dbd9 100644
--- a/examples/opengl/samplebuffers/glwidget.h
+++ b/examples/opengl/samplebuffers/glwidget.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/opengl/samplebuffers/main.cpp b/examples/opengl/samplebuffers/main.cpp
index 5262728bbb..a03835143f 100644
--- a/examples/opengl/samplebuffers/main.cpp
+++ b/examples/opengl/samplebuffers/main.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/opengl/shared/qtlogo.cpp b/examples/opengl/shared/qtlogo.cpp
index 117ffb89a0..0352d29a40 100644
--- a/examples/opengl/shared/qtlogo.cpp
+++ b/examples/opengl/shared/qtlogo.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/opengl/shared/qtlogo.h b/examples/opengl/shared/qtlogo.h
index 18a7544d29..cbe3765f74 100644
--- a/examples/opengl/shared/qtlogo.h
+++ b/examples/opengl/shared/qtlogo.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/opengl/textures/glwidget.cpp b/examples/opengl/textures/glwidget.cpp
index d5083c1e93..9a757480f9 100644
--- a/examples/opengl/textures/glwidget.cpp
+++ b/examples/opengl/textures/glwidget.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/opengl/textures/glwidget.h b/examples/opengl/textures/glwidget.h
index c046360974..5f665013e5 100644
--- a/examples/opengl/textures/glwidget.h
+++ b/examples/opengl/textures/glwidget.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/opengl/textures/main.cpp b/examples/opengl/textures/main.cpp
index 98a2a3e7af..e8b57b8ba1 100644
--- a/examples/opengl/textures/main.cpp
+++ b/examples/opengl/textures/main.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/opengl/textures/window.cpp b/examples/opengl/textures/window.cpp
index 71554c0851..39247c3ba9 100644
--- a/examples/opengl/textures/window.cpp
+++ b/examples/opengl/textures/window.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/opengl/textures/window.h b/examples/opengl/textures/window.h
index 77b60c29af..60f7bf89bd 100644
--- a/examples/opengl/textures/window.h
+++ b/examples/opengl/textures/window.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/openvg/star/main.cpp b/examples/openvg/star/main.cpp
index 11d9671f06..61a0111a8c 100644
--- a/examples/openvg/star/main.cpp
+++ b/examples/openvg/star/main.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the QtOpenGL module of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/openvg/star/starwidget.cpp b/examples/openvg/star/starwidget.cpp
index 794ede9c5d..b78d6ba5c5 100644
--- a/examples/openvg/star/starwidget.cpp
+++ b/examples/openvg/star/starwidget.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the QtOpenGL module of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/openvg/star/starwidget.h b/examples/openvg/star/starwidget.h
index 197e72e01d..c656095e6f 100644
--- a/examples/openvg/star/starwidget.h
+++ b/examples/openvg/star/starwidget.h
@@ -6,35 +6,34 @@
**
** This file is part of the QtOpenGL module of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/painting/basicdrawing/main.cpp b/examples/painting/basicdrawing/main.cpp
index 9c74651e6f..d2cc97e353 100644
--- a/examples/painting/basicdrawing/main.cpp
+++ b/examples/painting/basicdrawing/main.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/painting/basicdrawing/renderarea.cpp b/examples/painting/basicdrawing/renderarea.cpp
index 7386107689..f2e568a8e5 100644
--- a/examples/painting/basicdrawing/renderarea.cpp
+++ b/examples/painting/basicdrawing/renderarea.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/painting/basicdrawing/renderarea.h b/examples/painting/basicdrawing/renderarea.h
index 9fac43748c..441cab8f83 100644
--- a/examples/painting/basicdrawing/renderarea.h
+++ b/examples/painting/basicdrawing/renderarea.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/painting/basicdrawing/window.cpp b/examples/painting/basicdrawing/window.cpp
index 671f4aba45..7b6a6a7a6a 100644
--- a/examples/painting/basicdrawing/window.cpp
+++ b/examples/painting/basicdrawing/window.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/painting/basicdrawing/window.h b/examples/painting/basicdrawing/window.h
index 0fa4ecf87d..7cf10e7718 100644
--- a/examples/painting/basicdrawing/window.h
+++ b/examples/painting/basicdrawing/window.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/painting/concentriccircles/circlewidget.cpp b/examples/painting/concentriccircles/circlewidget.cpp
index 43f43c7dd6..f25397c6a2 100644
--- a/examples/painting/concentriccircles/circlewidget.cpp
+++ b/examples/painting/concentriccircles/circlewidget.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/painting/concentriccircles/circlewidget.h b/examples/painting/concentriccircles/circlewidget.h
index f905206a65..01e098afe2 100644
--- a/examples/painting/concentriccircles/circlewidget.h
+++ b/examples/painting/concentriccircles/circlewidget.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/painting/concentriccircles/main.cpp b/examples/painting/concentriccircles/main.cpp
index a0686b68ec..ab53c16467 100644
--- a/examples/painting/concentriccircles/main.cpp
+++ b/examples/painting/concentriccircles/main.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/painting/concentriccircles/window.cpp b/examples/painting/concentriccircles/window.cpp
index 663aa74bec..2d77ad3883 100644
--- a/examples/painting/concentriccircles/window.cpp
+++ b/examples/painting/concentriccircles/window.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/painting/concentriccircles/window.h b/examples/painting/concentriccircles/window.h
index 2beb8da54f..98c7556f22 100644
--- a/examples/painting/concentriccircles/window.h
+++ b/examples/painting/concentriccircles/window.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/painting/fontsampler/main.cpp b/examples/painting/fontsampler/main.cpp
index 6e38406bfc..af2f793dd1 100644
--- a/examples/painting/fontsampler/main.cpp
+++ b/examples/painting/fontsampler/main.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/painting/fontsampler/mainwindow.cpp b/examples/painting/fontsampler/mainwindow.cpp
index abca1e7284..36b916a161 100644
--- a/examples/painting/fontsampler/mainwindow.cpp
+++ b/examples/painting/fontsampler/mainwindow.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/painting/fontsampler/mainwindow.h b/examples/painting/fontsampler/mainwindow.h
index b974958b0a..d00d49b975 100644
--- a/examples/painting/fontsampler/mainwindow.h
+++ b/examples/painting/fontsampler/mainwindow.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/painting/imagecomposition/imagecomposer.cpp b/examples/painting/imagecomposition/imagecomposer.cpp
index 2644381fde..e4ce08054a 100644
--- a/examples/painting/imagecomposition/imagecomposer.cpp
+++ b/examples/painting/imagecomposition/imagecomposer.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/painting/imagecomposition/imagecomposer.h b/examples/painting/imagecomposition/imagecomposer.h
index 41f8aca47c..33775ffd7c 100644
--- a/examples/painting/imagecomposition/imagecomposer.h
+++ b/examples/painting/imagecomposition/imagecomposer.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/painting/imagecomposition/main.cpp b/examples/painting/imagecomposition/main.cpp
index 86c5538a19..d56fc6f6fd 100644
--- a/examples/painting/imagecomposition/main.cpp
+++ b/examples/painting/imagecomposition/main.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/painting/painterpaths/main.cpp b/examples/painting/painterpaths/main.cpp
index a0686b68ec..ab53c16467 100644
--- a/examples/painting/painterpaths/main.cpp
+++ b/examples/painting/painterpaths/main.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/painting/painterpaths/renderarea.cpp b/examples/painting/painterpaths/renderarea.cpp
index ce3bff179d..a4cf199aa9 100644
--- a/examples/painting/painterpaths/renderarea.cpp
+++ b/examples/painting/painterpaths/renderarea.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/painting/painterpaths/renderarea.h b/examples/painting/painterpaths/renderarea.h
index e972a6ab87..c63387d2df 100644
--- a/examples/painting/painterpaths/renderarea.h
+++ b/examples/painting/painterpaths/renderarea.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/painting/painterpaths/window.cpp b/examples/painting/painterpaths/window.cpp
index fdfb17c275..df1255437e 100644
--- a/examples/painting/painterpaths/window.cpp
+++ b/examples/painting/painterpaths/window.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/painting/painterpaths/window.h b/examples/painting/painterpaths/window.h
index 2dc2d4e25b..f35518d27c 100644
--- a/examples/painting/painterpaths/window.h
+++ b/examples/painting/painterpaths/window.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/painting/svggenerator/displaywidget.cpp b/examples/painting/svggenerator/displaywidget.cpp
index 89d20f34a2..202b8d53ec 100644
--- a/examples/painting/svggenerator/displaywidget.cpp
+++ b/examples/painting/svggenerator/displaywidget.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/painting/svggenerator/displaywidget.h b/examples/painting/svggenerator/displaywidget.h
index 99db9b8245..6c120605a1 100644
--- a/examples/painting/svggenerator/displaywidget.h
+++ b/examples/painting/svggenerator/displaywidget.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/painting/svggenerator/main.cpp b/examples/painting/svggenerator/main.cpp
index a0686b68ec..ab53c16467 100644
--- a/examples/painting/svggenerator/main.cpp
+++ b/examples/painting/svggenerator/main.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/painting/svggenerator/window.cpp b/examples/painting/svggenerator/window.cpp
index 701d533d00..abb4f84eec 100644
--- a/examples/painting/svggenerator/window.cpp
+++ b/examples/painting/svggenerator/window.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/painting/svggenerator/window.h b/examples/painting/svggenerator/window.h
index d43025adc8..8031420814 100644
--- a/examples/painting/svggenerator/window.h
+++ b/examples/painting/svggenerator/window.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/painting/svgviewer/main.cpp b/examples/painting/svgviewer/main.cpp
index b53339b61c..5a38f824ed 100644
--- a/examples/painting/svgviewer/main.cpp
+++ b/examples/painting/svgviewer/main.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/painting/svgviewer/mainwindow.cpp b/examples/painting/svgviewer/mainwindow.cpp
index 1252ec941a..7298604b98 100644
--- a/examples/painting/svgviewer/mainwindow.cpp
+++ b/examples/painting/svgviewer/mainwindow.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/painting/svgviewer/mainwindow.h b/examples/painting/svgviewer/mainwindow.h
index f5aadbf38b..be5410d57c 100644
--- a/examples/painting/svgviewer/mainwindow.h
+++ b/examples/painting/svgviewer/mainwindow.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/painting/svgviewer/svgview.cpp b/examples/painting/svgviewer/svgview.cpp
index ccf05348b7..196f01c11a 100644
--- a/examples/painting/svgviewer/svgview.cpp
+++ b/examples/painting/svgviewer/svgview.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/painting/svgviewer/svgview.h b/examples/painting/svgviewer/svgview.h
index 51fd1b5682..7d4032f8e5 100644
--- a/examples/painting/svgviewer/svgview.h
+++ b/examples/painting/svgviewer/svgview.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/painting/svgviewer/svgviewer.pro b/examples/painting/svgviewer/svgviewer.pro
index 5af87314a6..4809b91dac 100644
--- a/examples/painting/svgviewer/svgviewer.pro
+++ b/examples/painting/svgviewer/svgviewer.pro
@@ -17,15 +17,15 @@ sources.path = $$[QT_INSTALL_EXAMPLES]/painting/svgviewer
INSTALLS += target sources
wince*: {
- addFiles.sources = files\*.svg
- addFiles.path = \My Documents
+ addFiles.sources = files\\*.svg
+ addFiles.path = "\\My Documents"
DEPLOYMENT += addFiles
}
symbian: {
TARGET.UID3 = 0xA000A64E
include($$QT_SOURCE_TREE/examples/symbianpkgrules.pri)
- addFiles.sources = files\*.svg
+ addFiles.sources = files\\*.svg
addFiles.path = .
DEPLOYMENT += addFiles
}
diff --git a/examples/painting/transformations/main.cpp b/examples/painting/transformations/main.cpp
index a0686b68ec..ab53c16467 100644
--- a/examples/painting/transformations/main.cpp
+++ b/examples/painting/transformations/main.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/painting/transformations/renderarea.cpp b/examples/painting/transformations/renderarea.cpp
index 82a4ce6327..d9de2accf8 100644
--- a/examples/painting/transformations/renderarea.cpp
+++ b/examples/painting/transformations/renderarea.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/painting/transformations/renderarea.h b/examples/painting/transformations/renderarea.h
index 445e5a6c9e..186b7cff0a 100644
--- a/examples/painting/transformations/renderarea.h
+++ b/examples/painting/transformations/renderarea.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/painting/transformations/window.cpp b/examples/painting/transformations/window.cpp
index 6f605503da..8e958c7cc4 100644
--- a/examples/painting/transformations/window.cpp
+++ b/examples/painting/transformations/window.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/painting/transformations/window.h b/examples/painting/transformations/window.h
index e28af583a0..6bdd595638 100644
--- a/examples/painting/transformations/window.h
+++ b/examples/painting/transformations/window.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/phonon/capabilities/main.cpp b/examples/phonon/capabilities/main.cpp
index 65866cb566..63aa252da7 100644
--- a/examples/phonon/capabilities/main.cpp
+++ b/examples/phonon/capabilities/main.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/phonon/capabilities/window.cpp b/examples/phonon/capabilities/window.cpp
index ba379825f1..b9594fe828 100644
--- a/examples/phonon/capabilities/window.cpp
+++ b/examples/phonon/capabilities/window.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/phonon/capabilities/window.h b/examples/phonon/capabilities/window.h
index a0da461da0..e16154f8d4 100644
--- a/examples/phonon/capabilities/window.h
+++ b/examples/phonon/capabilities/window.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/phonon/qmusicplayer/main.cpp b/examples/phonon/qmusicplayer/main.cpp
index 64a7fb52ce..2f4f0cef53 100644
--- a/examples/phonon/qmusicplayer/main.cpp
+++ b/examples/phonon/qmusicplayer/main.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/phonon/qmusicplayer/mainwindow.cpp b/examples/phonon/qmusicplayer/mainwindow.cpp
index a4b05e0a95..477813859b 100644
--- a/examples/phonon/qmusicplayer/mainwindow.cpp
+++ b/examples/phonon/qmusicplayer/mainwindow.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
***************************************************************************/
diff --git a/examples/phonon/qmusicplayer/mainwindow.h b/examples/phonon/qmusicplayer/mainwindow.h
index 48f3a59963..cff52563b7 100644
--- a/examples/phonon/qmusicplayer/mainwindow.h
+++ b/examples/phonon/qmusicplayer/mainwindow.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/qmake/precompile/main.cpp b/examples/qmake/precompile/main.cpp
index 77e13a1c94..4c80fe312b 100644
--- a/examples/qmake/precompile/main.cpp
+++ b/examples/qmake/precompile/main.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/qmake/precompile/mydialog.cpp b/examples/qmake/precompile/mydialog.cpp
index 0eb5825e62..6fe6cbfcbd 100644
--- a/examples/qmake/precompile/mydialog.cpp
+++ b/examples/qmake/precompile/mydialog.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/qmake/precompile/mydialog.h b/examples/qmake/precompile/mydialog.h
index 040e267069..63f50f5ff7 100644
--- a/examples/qmake/precompile/mydialog.h
+++ b/examples/qmake/precompile/mydialog.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/qmake/precompile/myobject.cpp b/examples/qmake/precompile/myobject.cpp
index fcca76d5da..827e7a3e41 100644
--- a/examples/qmake/precompile/myobject.cpp
+++ b/examples/qmake/precompile/myobject.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/qmake/precompile/myobject.h b/examples/qmake/precompile/myobject.h
index ca7a53a024..8402bf5fa0 100644
--- a/examples/qmake/precompile/myobject.h
+++ b/examples/qmake/precompile/myobject.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/qmake/precompile/stable.h b/examples/qmake/precompile/stable.h
index 42e74dc730..8e3826ce57 100644
--- a/examples/qmake/precompile/stable.h
+++ b/examples/qmake/precompile/stable.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/qmake/precompile/util.cpp b/examples/qmake/precompile/util.cpp
index c072458424..cbb1913f6a 100644
--- a/examples/qmake/precompile/util.cpp
+++ b/examples/qmake/precompile/util.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/qmake/tutorial/hello.cpp b/examples/qmake/tutorial/hello.cpp
index 3b697a1267..8015ec1dd2 100644
--- a/examples/qmake/tutorial/hello.cpp
+++ b/examples/qmake/tutorial/hello.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/qmake/tutorial/hello.h b/examples/qmake/tutorial/hello.h
index 6365c7eb43..cc9c14c994 100644
--- a/examples/qmake/tutorial/hello.h
+++ b/examples/qmake/tutorial/hello.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/qmake/tutorial/hellounix.cpp b/examples/qmake/tutorial/hellounix.cpp
index 694e55a46e..b57ea7aaab 100644
--- a/examples/qmake/tutorial/hellounix.cpp
+++ b/examples/qmake/tutorial/hellounix.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/qmake/tutorial/hellowin.cpp b/examples/qmake/tutorial/hellowin.cpp
index 2843797c22..248b3d1bbc 100644
--- a/examples/qmake/tutorial/hellowin.cpp
+++ b/examples/qmake/tutorial/hellowin.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/qmake/tutorial/main.cpp b/examples/qmake/tutorial/main.cpp
index 0177f8a2c4..cace4fe16a 100644
--- a/examples/qmake/tutorial/main.cpp
+++ b/examples/qmake/tutorial/main.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/qtconcurrent/imagescaling/imagescaling.cpp b/examples/qtconcurrent/imagescaling/imagescaling.cpp
index e800f26365..4d20651b0a 100644
--- a/examples/qtconcurrent/imagescaling/imagescaling.cpp
+++ b/examples/qtconcurrent/imagescaling/imagescaling.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/qtconcurrent/imagescaling/imagescaling.h b/examples/qtconcurrent/imagescaling/imagescaling.h
index 2ebb2dce8c..db3516d9ed 100644
--- a/examples/qtconcurrent/imagescaling/imagescaling.h
+++ b/examples/qtconcurrent/imagescaling/imagescaling.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/qtconcurrent/imagescaling/main.cpp b/examples/qtconcurrent/imagescaling/main.cpp
index 96ae46e000..50f5b570f2 100644
--- a/examples/qtconcurrent/imagescaling/main.cpp
+++ b/examples/qtconcurrent/imagescaling/main.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/qtconcurrent/map/main.cpp b/examples/qtconcurrent/map/main.cpp
index 6068d305ea..3c519bafc2 100644
--- a/examples/qtconcurrent/map/main.cpp
+++ b/examples/qtconcurrent/map/main.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/qtconcurrent/progressdialog/main.cpp b/examples/qtconcurrent/progressdialog/main.cpp
index 04a18dcf55..a54f4d3a3c 100644
--- a/examples/qtconcurrent/progressdialog/main.cpp
+++ b/examples/qtconcurrent/progressdialog/main.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/qtconcurrent/runfunction/main.cpp b/examples/qtconcurrent/runfunction/main.cpp
index 6c3d188142..3d38012c2d 100644
--- a/examples/qtconcurrent/runfunction/main.cpp
+++ b/examples/qtconcurrent/runfunction/main.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/qtconcurrent/wordcount/main.cpp b/examples/qtconcurrent/wordcount/main.cpp
index 3d44b807ed..94111e1cf2 100644
--- a/examples/qtconcurrent/wordcount/main.cpp
+++ b/examples/qtconcurrent/wordcount/main.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/qtestlib/tutorial1/testqstring.cpp b/examples/qtestlib/tutorial1/testqstring.cpp
index 256f92c91a..32e35adbfd 100644
--- a/examples/qtestlib/tutorial1/testqstring.cpp
+++ b/examples/qtestlib/tutorial1/testqstring.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/qtestlib/tutorial2/testqstring.cpp b/examples/qtestlib/tutorial2/testqstring.cpp
index fbdc12c4e5..864e62dbd0 100644
--- a/examples/qtestlib/tutorial2/testqstring.cpp
+++ b/examples/qtestlib/tutorial2/testqstring.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/qtestlib/tutorial3/testgui.cpp b/examples/qtestlib/tutorial3/testgui.cpp
index ff1f3023ae..fd9d889642 100644
--- a/examples/qtestlib/tutorial3/testgui.cpp
+++ b/examples/qtestlib/tutorial3/testgui.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/qtestlib/tutorial4/testgui.cpp b/examples/qtestlib/tutorial4/testgui.cpp
index 2b2cd4bcbc..961ad30955 100644
--- a/examples/qtestlib/tutorial4/testgui.cpp
+++ b/examples/qtestlib/tutorial4/testgui.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/qtestlib/tutorial5/benchmarking.cpp b/examples/qtestlib/tutorial5/benchmarking.cpp
index d20188ee64..57d15c7d8d 100644
--- a/examples/qtestlib/tutorial5/benchmarking.cpp
+++ b/examples/qtestlib/tutorial5/benchmarking.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/qtestlib/tutorial5/containers.cpp b/examples/qtestlib/tutorial5/containers.cpp
index fe68c85d0e..254af36ef9 100644
--- a/examples/qtestlib/tutorial5/containers.cpp
+++ b/examples/qtestlib/tutorial5/containers.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the test suite of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/qws/dbscreen/dbscreen.cpp b/examples/qws/dbscreen/dbscreen.cpp
index a22c3733df..7c322e4f45 100644
--- a/examples/qws/dbscreen/dbscreen.cpp
+++ b/examples/qws/dbscreen/dbscreen.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/qws/dbscreen/dbscreen.h b/examples/qws/dbscreen/dbscreen.h
index 2a9b9caa92..f8496f5918 100644
--- a/examples/qws/dbscreen/dbscreen.h
+++ b/examples/qws/dbscreen/dbscreen.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/qws/dbscreen/dbscreendriverplugin.cpp b/examples/qws/dbscreen/dbscreendriverplugin.cpp
index 969f26199c..b79dada35e 100644
--- a/examples/qws/dbscreen/dbscreendriverplugin.cpp
+++ b/examples/qws/dbscreen/dbscreendriverplugin.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/qws/framebuffer/main.c b/examples/qws/framebuffer/main.c
index bc75de13a5..7b66d87f0e 100644
--- a/examples/qws/framebuffer/main.c
+++ b/examples/qws/framebuffer/main.c
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/qws/mousecalibration/calibration.cpp b/examples/qws/mousecalibration/calibration.cpp
index c5e6c8342d..ba6a111a4e 100644
--- a/examples/qws/mousecalibration/calibration.cpp
+++ b/examples/qws/mousecalibration/calibration.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/qws/mousecalibration/calibration.h b/examples/qws/mousecalibration/calibration.h
index 2f7f234c48..60d546c3fe 100644
--- a/examples/qws/mousecalibration/calibration.h
+++ b/examples/qws/mousecalibration/calibration.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/qws/mousecalibration/main.cpp b/examples/qws/mousecalibration/main.cpp
index 0689249f0f..2795a04617 100644
--- a/examples/qws/mousecalibration/main.cpp
+++ b/examples/qws/mousecalibration/main.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/qws/mousecalibration/scribblewidget.cpp b/examples/qws/mousecalibration/scribblewidget.cpp
index 1c1dbf12fa..5d2ca2bde8 100644
--- a/examples/qws/mousecalibration/scribblewidget.cpp
+++ b/examples/qws/mousecalibration/scribblewidget.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/qws/mousecalibration/scribblewidget.h b/examples/qws/mousecalibration/scribblewidget.h
index fa01c1a596..af923a0b02 100644
--- a/examples/qws/mousecalibration/scribblewidget.h
+++ b/examples/qws/mousecalibration/scribblewidget.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/qws/simpledecoration/analogclock.cpp b/examples/qws/simpledecoration/analogclock.cpp
index 046521e568..03a37658b6 100644
--- a/examples/qws/simpledecoration/analogclock.cpp
+++ b/examples/qws/simpledecoration/analogclock.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/qws/simpledecoration/analogclock.h b/examples/qws/simpledecoration/analogclock.h
index d071ce140f..8acb6cf37e 100644
--- a/examples/qws/simpledecoration/analogclock.h
+++ b/examples/qws/simpledecoration/analogclock.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/qws/simpledecoration/main.cpp b/examples/qws/simpledecoration/main.cpp
index 4c02873988..a82bcc5c26 100644
--- a/examples/qws/simpledecoration/main.cpp
+++ b/examples/qws/simpledecoration/main.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/qws/simpledecoration/mydecoration.cpp b/examples/qws/simpledecoration/mydecoration.cpp
index 12ed171d9f..7f10538812 100644
--- a/examples/qws/simpledecoration/mydecoration.cpp
+++ b/examples/qws/simpledecoration/mydecoration.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/qws/simpledecoration/mydecoration.h b/examples/qws/simpledecoration/mydecoration.h
index 6201511028..36510a0b62 100644
--- a/examples/qws/simpledecoration/mydecoration.h
+++ b/examples/qws/simpledecoration/mydecoration.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/qws/svgalib/svgalibpaintdevice.cpp b/examples/qws/svgalib/svgalibpaintdevice.cpp
index 86613d2e59..098e69ddf5 100644
--- a/examples/qws/svgalib/svgalibpaintdevice.cpp
+++ b/examples/qws/svgalib/svgalibpaintdevice.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/qws/svgalib/svgalibpaintdevice.h b/examples/qws/svgalib/svgalibpaintdevice.h
index 6f19a7cf8a..5a0af72481 100644
--- a/examples/qws/svgalib/svgalibpaintdevice.h
+++ b/examples/qws/svgalib/svgalibpaintdevice.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/qws/svgalib/svgalibpaintengine.cpp b/examples/qws/svgalib/svgalibpaintengine.cpp
index 59740da7e7..65b79275c4 100644
--- a/examples/qws/svgalib/svgalibpaintengine.cpp
+++ b/examples/qws/svgalib/svgalibpaintengine.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/qws/svgalib/svgalibpaintengine.h b/examples/qws/svgalib/svgalibpaintengine.h
index 27b77eea3c..409861c878 100644
--- a/examples/qws/svgalib/svgalibpaintengine.h
+++ b/examples/qws/svgalib/svgalibpaintengine.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/qws/svgalib/svgalibplugin.cpp b/examples/qws/svgalib/svgalibplugin.cpp
index 9331d917fb..a1441f607d 100644
--- a/examples/qws/svgalib/svgalibplugin.cpp
+++ b/examples/qws/svgalib/svgalibplugin.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/qws/svgalib/svgalibscreen.cpp b/examples/qws/svgalib/svgalibscreen.cpp
index 5587ed105e..2731ec3c83 100644
--- a/examples/qws/svgalib/svgalibscreen.cpp
+++ b/examples/qws/svgalib/svgalibscreen.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/qws/svgalib/svgalibscreen.h b/examples/qws/svgalib/svgalibscreen.h
index 1cd773a428..e988388382 100644
--- a/examples/qws/svgalib/svgalibscreen.h
+++ b/examples/qws/svgalib/svgalibscreen.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/qws/svgalib/svgalibsurface.cpp b/examples/qws/svgalib/svgalibsurface.cpp
index 5bbd0606fc..9e03809369 100644
--- a/examples/qws/svgalib/svgalibsurface.cpp
+++ b/examples/qws/svgalib/svgalibsurface.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/qws/svgalib/svgalibsurface.h b/examples/qws/svgalib/svgalibsurface.h
index 8cff5efeda..6eb09417c7 100644
--- a/examples/qws/svgalib/svgalibsurface.h
+++ b/examples/qws/svgalib/svgalibsurface.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/richtext/calendar/main.cpp b/examples/richtext/calendar/main.cpp
index b1a4c12e7a..b2db525ad2 100644
--- a/examples/richtext/calendar/main.cpp
+++ b/examples/richtext/calendar/main.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/richtext/calendar/mainwindow.cpp b/examples/richtext/calendar/mainwindow.cpp
index f078900e28..5db1b605e5 100644
--- a/examples/richtext/calendar/mainwindow.cpp
+++ b/examples/richtext/calendar/mainwindow.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/richtext/calendar/mainwindow.h b/examples/richtext/calendar/mainwindow.h
index 65dffa0dad..06a7f0f752 100644
--- a/examples/richtext/calendar/mainwindow.h
+++ b/examples/richtext/calendar/mainwindow.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/richtext/orderform/detailsdialog.cpp b/examples/richtext/orderform/detailsdialog.cpp
index 1636d3159c..caef17e47c 100644
--- a/examples/richtext/orderform/detailsdialog.cpp
+++ b/examples/richtext/orderform/detailsdialog.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/richtext/orderform/detailsdialog.h b/examples/richtext/orderform/detailsdialog.h
index e9bfffc96f..577e7245a3 100644
--- a/examples/richtext/orderform/detailsdialog.h
+++ b/examples/richtext/orderform/detailsdialog.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/richtext/orderform/main.cpp b/examples/richtext/orderform/main.cpp
index 2691e74ad4..df14269190 100644
--- a/examples/richtext/orderform/main.cpp
+++ b/examples/richtext/orderform/main.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/richtext/orderform/mainwindow.cpp b/examples/richtext/orderform/mainwindow.cpp
index c9fc175ebc..4c6ee2105b 100644
--- a/examples/richtext/orderform/mainwindow.cpp
+++ b/examples/richtext/orderform/mainwindow.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/richtext/orderform/mainwindow.h b/examples/richtext/orderform/mainwindow.h
index 20dfb476b4..e4902b100c 100644
--- a/examples/richtext/orderform/mainwindow.h
+++ b/examples/richtext/orderform/mainwindow.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/richtext/syntaxhighlighter/highlighter.cpp b/examples/richtext/syntaxhighlighter/highlighter.cpp
index 0cd5b6bfaf..450876515b 100644
--- a/examples/richtext/syntaxhighlighter/highlighter.cpp
+++ b/examples/richtext/syntaxhighlighter/highlighter.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/richtext/syntaxhighlighter/highlighter.h b/examples/richtext/syntaxhighlighter/highlighter.h
index 7adecbccb8..01b8402b27 100644
--- a/examples/richtext/syntaxhighlighter/highlighter.h
+++ b/examples/richtext/syntaxhighlighter/highlighter.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/richtext/syntaxhighlighter/main.cpp b/examples/richtext/syntaxhighlighter/main.cpp
index 104af44d3b..82a225efeb 100644
--- a/examples/richtext/syntaxhighlighter/main.cpp
+++ b/examples/richtext/syntaxhighlighter/main.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/richtext/syntaxhighlighter/mainwindow.cpp b/examples/richtext/syntaxhighlighter/mainwindow.cpp
index a34426ed6f..cc699dd5e7 100644
--- a/examples/richtext/syntaxhighlighter/mainwindow.cpp
+++ b/examples/richtext/syntaxhighlighter/mainwindow.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/richtext/syntaxhighlighter/mainwindow.h b/examples/richtext/syntaxhighlighter/mainwindow.h
index f9a5e23cb0..3b03d18b7d 100644
--- a/examples/richtext/syntaxhighlighter/mainwindow.h
+++ b/examples/richtext/syntaxhighlighter/mainwindow.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/richtext/textobject/main.cpp b/examples/richtext/textobject/main.cpp
index c8d6fbba9a..14ccf7965e 100644
--- a/examples/richtext/textobject/main.cpp
+++ b/examples/richtext/textobject/main.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/richtext/textobject/svgtextobject.cpp b/examples/richtext/textobject/svgtextobject.cpp
index f0fa0d306a..c84725d107 100644
--- a/examples/richtext/textobject/svgtextobject.cpp
+++ b/examples/richtext/textobject/svgtextobject.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/richtext/textobject/svgtextobject.h b/examples/richtext/textobject/svgtextobject.h
index 3944bcf223..d61a39d190 100644
--- a/examples/richtext/textobject/svgtextobject.h
+++ b/examples/richtext/textobject/svgtextobject.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/richtext/textobject/window.cpp b/examples/richtext/textobject/window.cpp
index 3ce45e2a73..2e8191b20b 100644
--- a/examples/richtext/textobject/window.cpp
+++ b/examples/richtext/textobject/window.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/richtext/textobject/window.h b/examples/richtext/textobject/window.h
index fb925b886d..aa6d0c2ae4 100644
--- a/examples/richtext/textobject/window.h
+++ b/examples/richtext/textobject/window.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/script/calculator/main.cpp b/examples/script/calculator/main.cpp
index da42e2b7af..8030a87d96 100644
--- a/examples/script/calculator/main.cpp
+++ b/examples/script/calculator/main.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/script/context2d/context2d.cpp b/examples/script/context2d/context2d.cpp
index 7926097f18..c4087364f9 100644
--- a/examples/script/context2d/context2d.cpp
+++ b/examples/script/context2d/context2d.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/script/context2d/context2d.h b/examples/script/context2d/context2d.h
index 2783989da6..b28f19a950 100644
--- a/examples/script/context2d/context2d.h
+++ b/examples/script/context2d/context2d.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/script/context2d/domimage.cpp b/examples/script/context2d/domimage.cpp
index aa5c27d901..801e1a2a8a 100644
--- a/examples/script/context2d/domimage.cpp
+++ b/examples/script/context2d/domimage.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/script/context2d/domimage.h b/examples/script/context2d/domimage.h
index f1937382d3..c0e5ba3b90 100644
--- a/examples/script/context2d/domimage.h
+++ b/examples/script/context2d/domimage.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/script/context2d/environment.cpp b/examples/script/context2d/environment.cpp
index 75d5b1a0ff..2d4240d8ec 100644
--- a/examples/script/context2d/environment.cpp
+++ b/examples/script/context2d/environment.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/script/context2d/environment.h b/examples/script/context2d/environment.h
index b5ca0a10cf..afdd24ac34 100644
--- a/examples/script/context2d/environment.h
+++ b/examples/script/context2d/environment.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/script/context2d/main.cpp b/examples/script/context2d/main.cpp
index 95daf2b8c9..1c5b8ac28d 100644
--- a/examples/script/context2d/main.cpp
+++ b/examples/script/context2d/main.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
@@ -46,14 +45,10 @@ int main(int argc, char **argv)
{
Q_INIT_RESOURCE(context2d);
- bool smallScreen = false;
- for (int i = 0; i < argc; i++)
- if (QString(argv[i]) == "-small-screen")
- smallScreen = true;
-
QApplication app(argc, argv);
Window win;
+ bool smallScreen = QApplication::arguments().contains("-small-screen");
if (!smallScreen) {
win.show();
} else {
diff --git a/examples/script/context2d/qcontext2dcanvas.cpp b/examples/script/context2d/qcontext2dcanvas.cpp
index 5e74a0eceb..b693778efb 100644
--- a/examples/script/context2d/qcontext2dcanvas.cpp
+++ b/examples/script/context2d/qcontext2dcanvas.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/script/context2d/qcontext2dcanvas.h b/examples/script/context2d/qcontext2dcanvas.h
index b58b7c05a9..5702c0772f 100644
--- a/examples/script/context2d/qcontext2dcanvas.h
+++ b/examples/script/context2d/qcontext2dcanvas.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/script/context2d/window.cpp b/examples/script/context2d/window.cpp
index 4082388d06..ebf250406e 100644
--- a/examples/script/context2d/window.cpp
+++ b/examples/script/context2d/window.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/script/context2d/window.h b/examples/script/context2d/window.h
index b9020d5f07..8e46b313fa 100644
--- a/examples/script/context2d/window.h
+++ b/examples/script/context2d/window.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/script/customclass/bytearrayclass.cpp b/examples/script/customclass/bytearrayclass.cpp
index 239b4b4eb9..5ecee0a673 100644
--- a/examples/script/customclass/bytearrayclass.cpp
+++ b/examples/script/customclass/bytearrayclass.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/script/customclass/bytearrayclass.h b/examples/script/customclass/bytearrayclass.h
index 3f7ce22e5b..7bd600d5eb 100644
--- a/examples/script/customclass/bytearrayclass.h
+++ b/examples/script/customclass/bytearrayclass.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/script/customclass/bytearrayprototype.cpp b/examples/script/customclass/bytearrayprototype.cpp
index f4075527bf..ee8f53c714 100644
--- a/examples/script/customclass/bytearrayprototype.cpp
+++ b/examples/script/customclass/bytearrayprototype.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/script/customclass/bytearrayprototype.h b/examples/script/customclass/bytearrayprototype.h
index 83d5544b2d..684a376fe6 100644
--- a/examples/script/customclass/bytearrayprototype.h
+++ b/examples/script/customclass/bytearrayprototype.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/script/customclass/main.cpp b/examples/script/customclass/main.cpp
index 308abf2fdb..cc79d6e9ea 100644
--- a/examples/script/customclass/main.cpp
+++ b/examples/script/customclass/main.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/script/defaultprototypes/main.cpp b/examples/script/defaultprototypes/main.cpp
index 8b8e1f2355..6131c4c84e 100644
--- a/examples/script/defaultprototypes/main.cpp
+++ b/examples/script/defaultprototypes/main.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/script/defaultprototypes/prototypes.cpp b/examples/script/defaultprototypes/prototypes.cpp
index d75baa54e8..23a8fdcf25 100644
--- a/examples/script/defaultprototypes/prototypes.cpp
+++ b/examples/script/defaultprototypes/prototypes.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/script/defaultprototypes/prototypes.h b/examples/script/defaultprototypes/prototypes.h
index 38b6556063..ed97f46289 100644
--- a/examples/script/defaultprototypes/prototypes.h
+++ b/examples/script/defaultprototypes/prototypes.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/script/helloscript/main.cpp b/examples/script/helloscript/main.cpp
index dddfad1dd1..3013e7c720 100644
--- a/examples/script/helloscript/main.cpp
+++ b/examples/script/helloscript/main.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/script/marshal/main.cpp b/examples/script/marshal/main.cpp
index e361e77738..adfeaf19fe 100644
--- a/examples/script/marshal/main.cpp
+++ b/examples/script/marshal/main.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/script/qscript/main.cpp b/examples/script/qscript/main.cpp
index d2d2813e6e..777f445767 100644
--- a/examples/script/qscript/main.cpp
+++ b/examples/script/qscript/main.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/script/qsdbg/main.cpp b/examples/script/qsdbg/main.cpp
index 12a8caa595..71350ddbd8 100644
--- a/examples/script/qsdbg/main.cpp
+++ b/examples/script/qsdbg/main.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/script/qsdbg/scriptbreakpointmanager.cpp b/examples/script/qsdbg/scriptbreakpointmanager.cpp
index 51f8897d47..4ba2616bd4 100644
--- a/examples/script/qsdbg/scriptbreakpointmanager.cpp
+++ b/examples/script/qsdbg/scriptbreakpointmanager.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/script/qsdbg/scriptbreakpointmanager.h b/examples/script/qsdbg/scriptbreakpointmanager.h
index f3f27af6c1..41de3d027b 100644
--- a/examples/script/qsdbg/scriptbreakpointmanager.h
+++ b/examples/script/qsdbg/scriptbreakpointmanager.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/script/qsdbg/scriptdebugger.cpp b/examples/script/qsdbg/scriptdebugger.cpp
index 18df67fd7e..2357ea7196 100644
--- a/examples/script/qsdbg/scriptdebugger.cpp
+++ b/examples/script/qsdbg/scriptdebugger.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/script/qsdbg/scriptdebugger.h b/examples/script/qsdbg/scriptdebugger.h
index 8bc96ed1fd..584f960f19 100644
--- a/examples/script/qsdbg/scriptdebugger.h
+++ b/examples/script/qsdbg/scriptdebugger.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/script/qstetrix/main.cpp b/examples/script/qstetrix/main.cpp
index 5d1dc7616c..e12e26da58 100644
--- a/examples/script/qstetrix/main.cpp
+++ b/examples/script/qstetrix/main.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/script/qstetrix/tetrixboard.cpp b/examples/script/qstetrix/tetrixboard.cpp
index f35740d3b8..1e71b00981 100644
--- a/examples/script/qstetrix/tetrixboard.cpp
+++ b/examples/script/qstetrix/tetrixboard.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/script/qstetrix/tetrixboard.h b/examples/script/qstetrix/tetrixboard.h
index 781ec395a0..ee3aef0218 100644
--- a/examples/script/qstetrix/tetrixboard.h
+++ b/examples/script/qstetrix/tetrixboard.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/sql/cachedtable/main.cpp b/examples/sql/cachedtable/main.cpp
index 9ec20304c5..530eb4c972 100644
--- a/examples/sql/cachedtable/main.cpp
+++ b/examples/sql/cachedtable/main.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/sql/cachedtable/tableeditor.cpp b/examples/sql/cachedtable/tableeditor.cpp
index f18abef750..3ee952a77f 100644
--- a/examples/sql/cachedtable/tableeditor.cpp
+++ b/examples/sql/cachedtable/tableeditor.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/sql/cachedtable/tableeditor.h b/examples/sql/cachedtable/tableeditor.h
index 68aab06cd0..ad3b6bc1cc 100644
--- a/examples/sql/cachedtable/tableeditor.h
+++ b/examples/sql/cachedtable/tableeditor.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/sql/connection.h b/examples/sql/connection.h
index 4c92cbcd52..41ed91dab2 100644
--- a/examples/sql/connection.h
+++ b/examples/sql/connection.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/sql/drilldown/imageitem.cpp b/examples/sql/drilldown/imageitem.cpp
index a16021912e..d540a9b0c7 100644
--- a/examples/sql/drilldown/imageitem.cpp
+++ b/examples/sql/drilldown/imageitem.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/sql/drilldown/imageitem.h b/examples/sql/drilldown/imageitem.h
index 67ad86fe64..ca24e7e728 100644
--- a/examples/sql/drilldown/imageitem.h
+++ b/examples/sql/drilldown/imageitem.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/sql/drilldown/informationwindow.cpp b/examples/sql/drilldown/informationwindow.cpp
index 79211e2b9d..3ef7b7f771 100644
--- a/examples/sql/drilldown/informationwindow.cpp
+++ b/examples/sql/drilldown/informationwindow.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/sql/drilldown/informationwindow.h b/examples/sql/drilldown/informationwindow.h
index c18024a947..af248920dd 100644
--- a/examples/sql/drilldown/informationwindow.h
+++ b/examples/sql/drilldown/informationwindow.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/sql/drilldown/main.cpp b/examples/sql/drilldown/main.cpp
index a8331efb26..f455402d58 100644
--- a/examples/sql/drilldown/main.cpp
+++ b/examples/sql/drilldown/main.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/sql/drilldown/view.cpp b/examples/sql/drilldown/view.cpp
index adcee90ae8..f68b21a6fa 100644
--- a/examples/sql/drilldown/view.cpp
+++ b/examples/sql/drilldown/view.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/sql/drilldown/view.h b/examples/sql/drilldown/view.h
index 58a336a632..f7e4979cf4 100644
--- a/examples/sql/drilldown/view.h
+++ b/examples/sql/drilldown/view.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/sql/masterdetail/database.h b/examples/sql/masterdetail/database.h
index 50c29a4c37..a56da869f2 100644
--- a/examples/sql/masterdetail/database.h
+++ b/examples/sql/masterdetail/database.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/sql/masterdetail/dialog.cpp b/examples/sql/masterdetail/dialog.cpp
index f458f1bfd5..16f019235b 100644
--- a/examples/sql/masterdetail/dialog.cpp
+++ b/examples/sql/masterdetail/dialog.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/sql/masterdetail/dialog.h b/examples/sql/masterdetail/dialog.h
index 7ab8001354..f767279fa1 100644
--- a/examples/sql/masterdetail/dialog.h
+++ b/examples/sql/masterdetail/dialog.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/sql/masterdetail/main.cpp b/examples/sql/masterdetail/main.cpp
index c768da0b02..d17cc9f7c2 100644
--- a/examples/sql/masterdetail/main.cpp
+++ b/examples/sql/masterdetail/main.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/sql/masterdetail/mainwindow.cpp b/examples/sql/masterdetail/mainwindow.cpp
index ce13b192eb..b8c9df6d75 100644
--- a/examples/sql/masterdetail/mainwindow.cpp
+++ b/examples/sql/masterdetail/mainwindow.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/sql/masterdetail/mainwindow.h b/examples/sql/masterdetail/mainwindow.h
index 9c38476b66..f635994a62 100644
--- a/examples/sql/masterdetail/mainwindow.h
+++ b/examples/sql/masterdetail/mainwindow.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/sql/querymodel/customsqlmodel.cpp b/examples/sql/querymodel/customsqlmodel.cpp
index 08e89207b7..f444acf0ce 100644
--- a/examples/sql/querymodel/customsqlmodel.cpp
+++ b/examples/sql/querymodel/customsqlmodel.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/sql/querymodel/customsqlmodel.h b/examples/sql/querymodel/customsqlmodel.h
index c098e27063..b723f499ea 100644
--- a/examples/sql/querymodel/customsqlmodel.h
+++ b/examples/sql/querymodel/customsqlmodel.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/sql/querymodel/editablesqlmodel.cpp b/examples/sql/querymodel/editablesqlmodel.cpp
index fc0c599de2..86ebfec2da 100644
--- a/examples/sql/querymodel/editablesqlmodel.cpp
+++ b/examples/sql/querymodel/editablesqlmodel.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/sql/querymodel/editablesqlmodel.h b/examples/sql/querymodel/editablesqlmodel.h
index e14db8a87b..21605bbde5 100644
--- a/examples/sql/querymodel/editablesqlmodel.h
+++ b/examples/sql/querymodel/editablesqlmodel.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/sql/querymodel/main.cpp b/examples/sql/querymodel/main.cpp
index aa0be2a8b1..daf95c439e 100644
--- a/examples/sql/querymodel/main.cpp
+++ b/examples/sql/querymodel/main.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/sql/relationaltablemodel/relationaltablemodel.cpp b/examples/sql/relationaltablemodel/relationaltablemodel.cpp
index 5a051478fe..640b273316 100644
--- a/examples/sql/relationaltablemodel/relationaltablemodel.cpp
+++ b/examples/sql/relationaltablemodel/relationaltablemodel.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/sql/sqlwidgetmapper/main.cpp b/examples/sql/sqlwidgetmapper/main.cpp
index 1ea9717901..a9a2578c3d 100644
--- a/examples/sql/sqlwidgetmapper/main.cpp
+++ b/examples/sql/sqlwidgetmapper/main.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/sql/sqlwidgetmapper/window.cpp b/examples/sql/sqlwidgetmapper/window.cpp
index 2317728485..698da3f163 100644
--- a/examples/sql/sqlwidgetmapper/window.cpp
+++ b/examples/sql/sqlwidgetmapper/window.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/sql/sqlwidgetmapper/window.h b/examples/sql/sqlwidgetmapper/window.h
index 3b56474122..5d8d1d7ef7 100644
--- a/examples/sql/sqlwidgetmapper/window.h
+++ b/examples/sql/sqlwidgetmapper/window.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/sql/tablemodel/tablemodel.cpp b/examples/sql/tablemodel/tablemodel.cpp
index ae6c0f98a7..f47c370f51 100644
--- a/examples/sql/tablemodel/tablemodel.cpp
+++ b/examples/sql/tablemodel/tablemodel.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/statemachine/eventtransitions/main.cpp b/examples/statemachine/eventtransitions/main.cpp
index ddfeb1a513..ab673d76b1 100644
--- a/examples/statemachine/eventtransitions/main.cpp
+++ b/examples/statemachine/eventtransitions/main.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the QtCore module of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/statemachine/factorial/main.cpp b/examples/statemachine/factorial/main.cpp
index e5eeb850c9..1800562ccb 100644
--- a/examples/statemachine/factorial/main.cpp
+++ b/examples/statemachine/factorial/main.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the QtCore module of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/statemachine/pingpong/main.cpp b/examples/statemachine/pingpong/main.cpp
index 5f29904146..9e5fdaad08 100644
--- a/examples/statemachine/pingpong/main.cpp
+++ b/examples/statemachine/pingpong/main.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the QtCore module of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/statemachine/rogue/main.cpp b/examples/statemachine/rogue/main.cpp
index 3095c8c4a0..e6b068c3a6 100644
--- a/examples/statemachine/rogue/main.cpp
+++ b/examples/statemachine/rogue/main.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the documentation of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/statemachine/rogue/movementtransition.h b/examples/statemachine/rogue/movementtransition.h
index b8c40a5c70..4ccbfbc856 100644
--- a/examples/statemachine/rogue/movementtransition.h
+++ b/examples/statemachine/rogue/movementtransition.h
@@ -6,35 +6,34 @@
**
** This file is part of the documentation of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/statemachine/rogue/window.cpp b/examples/statemachine/rogue/window.cpp
index 26b016227c..ad48af17be 100644
--- a/examples/statemachine/rogue/window.cpp
+++ b/examples/statemachine/rogue/window.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the documentation of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/statemachine/rogue/window.h b/examples/statemachine/rogue/window.h
index 38b883558b..b0f44dc7bf 100644
--- a/examples/statemachine/rogue/window.h
+++ b/examples/statemachine/rogue/window.h
@@ -6,35 +6,34 @@
**
** This file is part of the documentation of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/statemachine/trafficlight/main.cpp b/examples/statemachine/trafficlight/main.cpp
index 7389149b4d..3ae8f910a7 100644
--- a/examples/statemachine/trafficlight/main.cpp
+++ b/examples/statemachine/trafficlight/main.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the QtCore module of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/statemachine/twowaybutton/main.cpp b/examples/statemachine/twowaybutton/main.cpp
index a72bd054a6..9eaae3634e 100644
--- a/examples/statemachine/twowaybutton/main.cpp
+++ b/examples/statemachine/twowaybutton/main.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the QtCore module of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/threads/mandelbrot/main.cpp b/examples/threads/mandelbrot/main.cpp
index 996c7b2974..38a712549d 100644
--- a/examples/threads/mandelbrot/main.cpp
+++ b/examples/threads/mandelbrot/main.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/threads/mandelbrot/mandelbrotwidget.cpp b/examples/threads/mandelbrot/mandelbrotwidget.cpp
index 3a41b84ef0..f2ac2ad3aa 100644
--- a/examples/threads/mandelbrot/mandelbrotwidget.cpp
+++ b/examples/threads/mandelbrot/mandelbrotwidget.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/threads/mandelbrot/mandelbrotwidget.h b/examples/threads/mandelbrot/mandelbrotwidget.h
index dfef2990d2..de300086a6 100644
--- a/examples/threads/mandelbrot/mandelbrotwidget.h
+++ b/examples/threads/mandelbrot/mandelbrotwidget.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/threads/mandelbrot/renderthread.cpp b/examples/threads/mandelbrot/renderthread.cpp
index 1abc705401..87fbb847c8 100644
--- a/examples/threads/mandelbrot/renderthread.cpp
+++ b/examples/threads/mandelbrot/renderthread.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/threads/mandelbrot/renderthread.h b/examples/threads/mandelbrot/renderthread.h
index 5d607cefec..420ec8e775 100644
--- a/examples/threads/mandelbrot/renderthread.h
+++ b/examples/threads/mandelbrot/renderthread.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/threads/queuedcustomtype/block.cpp b/examples/threads/queuedcustomtype/block.cpp
index 80b28899d2..1e491e31b6 100644
--- a/examples/threads/queuedcustomtype/block.cpp
+++ b/examples/threads/queuedcustomtype/block.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/threads/queuedcustomtype/block.h b/examples/threads/queuedcustomtype/block.h
index 26da072e9d..8bc556156e 100644
--- a/examples/threads/queuedcustomtype/block.h
+++ b/examples/threads/queuedcustomtype/block.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/threads/queuedcustomtype/main.cpp b/examples/threads/queuedcustomtype/main.cpp
index 34f0c991e7..8e6d0098b0 100644
--- a/examples/threads/queuedcustomtype/main.cpp
+++ b/examples/threads/queuedcustomtype/main.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/threads/queuedcustomtype/renderthread.cpp b/examples/threads/queuedcustomtype/renderthread.cpp
index 41b4561ae6..203a1c9f48 100644
--- a/examples/threads/queuedcustomtype/renderthread.cpp
+++ b/examples/threads/queuedcustomtype/renderthread.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/threads/queuedcustomtype/renderthread.h b/examples/threads/queuedcustomtype/renderthread.h
index a19d08353a..fc092f3c86 100644
--- a/examples/threads/queuedcustomtype/renderthread.h
+++ b/examples/threads/queuedcustomtype/renderthread.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/threads/queuedcustomtype/window.cpp b/examples/threads/queuedcustomtype/window.cpp
index 973783a57a..ea0d77b36d 100644
--- a/examples/threads/queuedcustomtype/window.cpp
+++ b/examples/threads/queuedcustomtype/window.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/threads/queuedcustomtype/window.h b/examples/threads/queuedcustomtype/window.h
index 4ee38775ec..40bbc57209 100644
--- a/examples/threads/queuedcustomtype/window.h
+++ b/examples/threads/queuedcustomtype/window.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/threads/semaphores/semaphores.cpp b/examples/threads/semaphores/semaphores.cpp
index 0261d71c99..e91a676b62 100644
--- a/examples/threads/semaphores/semaphores.cpp
+++ b/examples/threads/semaphores/semaphores.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/threads/waitconditions/waitconditions.cpp b/examples/threads/waitconditions/waitconditions.cpp
index d95613779c..57b92acb56 100644
--- a/examples/threads/waitconditions/waitconditions.cpp
+++ b/examples/threads/waitconditions/waitconditions.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/tools/codecs/main.cpp b/examples/tools/codecs/main.cpp
index f5632657c0..ba6d248d77 100644
--- a/examples/tools/codecs/main.cpp
+++ b/examples/tools/codecs/main.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/tools/codecs/mainwindow.cpp b/examples/tools/codecs/mainwindow.cpp
index 2bb8a03e6d..63517bd1aa 100644
--- a/examples/tools/codecs/mainwindow.cpp
+++ b/examples/tools/codecs/mainwindow.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/tools/codecs/mainwindow.h b/examples/tools/codecs/mainwindow.h
index dea7421028..4f580be60d 100644
--- a/examples/tools/codecs/mainwindow.h
+++ b/examples/tools/codecs/mainwindow.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/tools/codecs/previewform.cpp b/examples/tools/codecs/previewform.cpp
index 4b5aaad2b1..d5440d00f1 100644
--- a/examples/tools/codecs/previewform.cpp
+++ b/examples/tools/codecs/previewform.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/tools/codecs/previewform.h b/examples/tools/codecs/previewform.h
index 938dcee2c9..b1836243b2 100644
--- a/examples/tools/codecs/previewform.h
+++ b/examples/tools/codecs/previewform.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/tools/completer/fsmodel.cpp b/examples/tools/completer/fsmodel.cpp
index 9a5a772116..409ba369c6 100644
--- a/examples/tools/completer/fsmodel.cpp
+++ b/examples/tools/completer/fsmodel.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/tools/completer/fsmodel.h b/examples/tools/completer/fsmodel.h
index 0ec9ce96f8..89d72d4176 100644
--- a/examples/tools/completer/fsmodel.h
+++ b/examples/tools/completer/fsmodel.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/tools/completer/main.cpp b/examples/tools/completer/main.cpp
index 3eaaa46363..b28a5cca76 100644
--- a/examples/tools/completer/main.cpp
+++ b/examples/tools/completer/main.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/tools/completer/mainwindow.cpp b/examples/tools/completer/mainwindow.cpp
index b1f6759153..21e141d109 100644
--- a/examples/tools/completer/mainwindow.cpp
+++ b/examples/tools/completer/mainwindow.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/tools/completer/mainwindow.h b/examples/tools/completer/mainwindow.h
index 72216facb7..e3b8dca375 100644
--- a/examples/tools/completer/mainwindow.h
+++ b/examples/tools/completer/mainwindow.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/tools/contiguouscache/main.cpp b/examples/tools/contiguouscache/main.cpp
index af9ab6d3f2..a34a3c23d4 100644
--- a/examples/tools/contiguouscache/main.cpp
+++ b/examples/tools/contiguouscache/main.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/tools/contiguouscache/randomlistmodel.cpp b/examples/tools/contiguouscache/randomlistmodel.cpp
index edd28b37a4..c735ee2852 100644
--- a/examples/tools/contiguouscache/randomlistmodel.cpp
+++ b/examples/tools/contiguouscache/randomlistmodel.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/tools/contiguouscache/randomlistmodel.h b/examples/tools/contiguouscache/randomlistmodel.h
index 94e37bfa8c..99fff1f66b 100644
--- a/examples/tools/contiguouscache/randomlistmodel.h
+++ b/examples/tools/contiguouscache/randomlistmodel.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/tools/customcompleter/main.cpp b/examples/tools/customcompleter/main.cpp
index f5adab546e..5c0c1a166d 100644
--- a/examples/tools/customcompleter/main.cpp
+++ b/examples/tools/customcompleter/main.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/tools/customcompleter/mainwindow.cpp b/examples/tools/customcompleter/mainwindow.cpp
index 48c5431e29..36fb94ce45 100644
--- a/examples/tools/customcompleter/mainwindow.cpp
+++ b/examples/tools/customcompleter/mainwindow.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/tools/customcompleter/mainwindow.h b/examples/tools/customcompleter/mainwindow.h
index 26a284fad8..ba4de5bf98 100644
--- a/examples/tools/customcompleter/mainwindow.h
+++ b/examples/tools/customcompleter/mainwindow.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/tools/customcompleter/textedit.cpp b/examples/tools/customcompleter/textedit.cpp
index 791f1771dc..5467e53f27 100644
--- a/examples/tools/customcompleter/textedit.cpp
+++ b/examples/tools/customcompleter/textedit.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/tools/customcompleter/textedit.h b/examples/tools/customcompleter/textedit.h
index 401f679b7d..b80645fd8f 100644
--- a/examples/tools/customcompleter/textedit.h
+++ b/examples/tools/customcompleter/textedit.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/tools/customtype/main.cpp b/examples/tools/customtype/main.cpp
index b77cd9236d..229cd188d0 100644
--- a/examples/tools/customtype/main.cpp
+++ b/examples/tools/customtype/main.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/tools/customtype/message.cpp b/examples/tools/customtype/message.cpp
index d27159e593..01d588a50d 100644
--- a/examples/tools/customtype/message.cpp
+++ b/examples/tools/customtype/message.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/tools/customtype/message.h b/examples/tools/customtype/message.h
index 4ef48d454a..8d41ab69c2 100644
--- a/examples/tools/customtype/message.h
+++ b/examples/tools/customtype/message.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/tools/customtypesending/main.cpp b/examples/tools/customtypesending/main.cpp
index a3f944f541..2badf8472a 100644
--- a/examples/tools/customtypesending/main.cpp
+++ b/examples/tools/customtypesending/main.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/tools/customtypesending/message.cpp b/examples/tools/customtypesending/message.cpp
index 5562f5ae05..4e2d97264d 100644
--- a/examples/tools/customtypesending/message.cpp
+++ b/examples/tools/customtypesending/message.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/tools/customtypesending/message.h b/examples/tools/customtypesending/message.h
index ae7298aae5..000cbdd33e 100644
--- a/examples/tools/customtypesending/message.h
+++ b/examples/tools/customtypesending/message.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/tools/customtypesending/window.cpp b/examples/tools/customtypesending/window.cpp
index a910fbfeb5..6e1ecf531a 100644
--- a/examples/tools/customtypesending/window.cpp
+++ b/examples/tools/customtypesending/window.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/tools/customtypesending/window.h b/examples/tools/customtypesending/window.h
index 0d31bf14c3..ecc8507821 100644
--- a/examples/tools/customtypesending/window.h
+++ b/examples/tools/customtypesending/window.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/tools/echoplugin/echowindow/echointerface.h b/examples/tools/echoplugin/echowindow/echointerface.h
index b5c925e9e2..d3a8295d72 100644
--- a/examples/tools/echoplugin/echowindow/echointerface.h
+++ b/examples/tools/echoplugin/echowindow/echointerface.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/tools/echoplugin/echowindow/echowindow.cpp b/examples/tools/echoplugin/echowindow/echowindow.cpp
index dcab927964..2d6384218a 100644
--- a/examples/tools/echoplugin/echowindow/echowindow.cpp
+++ b/examples/tools/echoplugin/echowindow/echowindow.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/tools/echoplugin/echowindow/echowindow.h b/examples/tools/echoplugin/echowindow/echowindow.h
index d57849e7cb..4a5eb48ce0 100644
--- a/examples/tools/echoplugin/echowindow/echowindow.h
+++ b/examples/tools/echoplugin/echowindow/echowindow.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/tools/echoplugin/echowindow/main.cpp b/examples/tools/echoplugin/echowindow/main.cpp
index 84e77e10f7..c2dbfa478f 100644
--- a/examples/tools/echoplugin/echowindow/main.cpp
+++ b/examples/tools/echoplugin/echowindow/main.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/tools/echoplugin/plugin/echoplugin.cpp b/examples/tools/echoplugin/plugin/echoplugin.cpp
index 3b2721eddc..0cf5dad9a4 100644
--- a/examples/tools/echoplugin/plugin/echoplugin.cpp
+++ b/examples/tools/echoplugin/plugin/echoplugin.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/tools/echoplugin/plugin/echoplugin.h b/examples/tools/echoplugin/plugin/echoplugin.h
index 524c1329ec..9ad3ee49bd 100644
--- a/examples/tools/echoplugin/plugin/echoplugin.h
+++ b/examples/tools/echoplugin/plugin/echoplugin.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/tools/i18n/languagechooser.cpp b/examples/tools/i18n/languagechooser.cpp
index 215046c4ad..094a98ea51 100644
--- a/examples/tools/i18n/languagechooser.cpp
+++ b/examples/tools/i18n/languagechooser.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/tools/i18n/languagechooser.h b/examples/tools/i18n/languagechooser.h
index f6dcc368e9..9444c5ef81 100644
--- a/examples/tools/i18n/languagechooser.h
+++ b/examples/tools/i18n/languagechooser.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/tools/i18n/main.cpp b/examples/tools/i18n/main.cpp
index 43bebb7c4c..06127eb75f 100644
--- a/examples/tools/i18n/main.cpp
+++ b/examples/tools/i18n/main.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/tools/i18n/mainwindow.cpp b/examples/tools/i18n/mainwindow.cpp
index ba3cf63f33..0470934d86 100644
--- a/examples/tools/i18n/mainwindow.cpp
+++ b/examples/tools/i18n/mainwindow.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/tools/i18n/mainwindow.h b/examples/tools/i18n/mainwindow.h
index 3a9ec98e83..eb8b280080 100644
--- a/examples/tools/i18n/mainwindow.h
+++ b/examples/tools/i18n/mainwindow.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/tools/inputpanel/main.cpp b/examples/tools/inputpanel/main.cpp
index f5ba39b1b3..936b859d7a 100644
--- a/examples/tools/inputpanel/main.cpp
+++ b/examples/tools/inputpanel/main.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/tools/inputpanel/myinputpanel.cpp b/examples/tools/inputpanel/myinputpanel.cpp
index 60517bfbc1..21e9c08832 100644
--- a/examples/tools/inputpanel/myinputpanel.cpp
+++ b/examples/tools/inputpanel/myinputpanel.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/tools/inputpanel/myinputpanel.h b/examples/tools/inputpanel/myinputpanel.h
index 55f5579f61..741aaef1e1 100644
--- a/examples/tools/inputpanel/myinputpanel.h
+++ b/examples/tools/inputpanel/myinputpanel.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/tools/inputpanel/myinputpanelcontext.cpp b/examples/tools/inputpanel/myinputpanelcontext.cpp
index 62c2aa8922..da5c263a00 100644
--- a/examples/tools/inputpanel/myinputpanelcontext.cpp
+++ b/examples/tools/inputpanel/myinputpanelcontext.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/tools/inputpanel/myinputpanelcontext.h b/examples/tools/inputpanel/myinputpanelcontext.h
index 6ce19afa7b..5e45fd7b6a 100644
--- a/examples/tools/inputpanel/myinputpanelcontext.h
+++ b/examples/tools/inputpanel/myinputpanelcontext.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/tools/plugandpaint/interfaces.h b/examples/tools/plugandpaint/interfaces.h
index 6a7303dd98..73ea63b4e2 100644
--- a/examples/tools/plugandpaint/interfaces.h
+++ b/examples/tools/plugandpaint/interfaces.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/tools/plugandpaint/main.cpp b/examples/tools/plugandpaint/main.cpp
index 322447a4dc..897c985106 100644
--- a/examples/tools/plugandpaint/main.cpp
+++ b/examples/tools/plugandpaint/main.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/tools/plugandpaint/mainwindow.cpp b/examples/tools/plugandpaint/mainwindow.cpp
index a68c60a4c0..0fc0f4dc29 100644
--- a/examples/tools/plugandpaint/mainwindow.cpp
+++ b/examples/tools/plugandpaint/mainwindow.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/tools/plugandpaint/mainwindow.h b/examples/tools/plugandpaint/mainwindow.h
index a6a37b3170..8e8470ffd7 100644
--- a/examples/tools/plugandpaint/mainwindow.h
+++ b/examples/tools/plugandpaint/mainwindow.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/tools/plugandpaint/paintarea.cpp b/examples/tools/plugandpaint/paintarea.cpp
index 7b0b882bce..3bf2861434 100644
--- a/examples/tools/plugandpaint/paintarea.cpp
+++ b/examples/tools/plugandpaint/paintarea.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/tools/plugandpaint/paintarea.h b/examples/tools/plugandpaint/paintarea.h
index b1690f5120..6782f9bb77 100644
--- a/examples/tools/plugandpaint/paintarea.h
+++ b/examples/tools/plugandpaint/paintarea.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/tools/plugandpaint/plugindialog.cpp b/examples/tools/plugandpaint/plugindialog.cpp
index 82a08f3504..525620fe10 100644
--- a/examples/tools/plugandpaint/plugindialog.cpp
+++ b/examples/tools/plugandpaint/plugindialog.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/tools/plugandpaint/plugindialog.h b/examples/tools/plugandpaint/plugindialog.h
index 7a05391a80..6ef9341ed9 100644
--- a/examples/tools/plugandpaint/plugindialog.h
+++ b/examples/tools/plugandpaint/plugindialog.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/tools/plugandpaintplugins/basictools/basictoolsplugin.cpp b/examples/tools/plugandpaintplugins/basictools/basictoolsplugin.cpp
index eff67ea36c..3f595b36e6 100644
--- a/examples/tools/plugandpaintplugins/basictools/basictoolsplugin.cpp
+++ b/examples/tools/plugandpaintplugins/basictools/basictoolsplugin.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/tools/plugandpaintplugins/basictools/basictoolsplugin.h b/examples/tools/plugandpaintplugins/basictools/basictoolsplugin.h
index a079bbec1a..cf7cf4b9de 100644
--- a/examples/tools/plugandpaintplugins/basictools/basictoolsplugin.h
+++ b/examples/tools/plugandpaintplugins/basictools/basictoolsplugin.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/tools/plugandpaintplugins/extrafilters/extrafiltersplugin.cpp b/examples/tools/plugandpaintplugins/extrafilters/extrafiltersplugin.cpp
index a1067d2190..875317370f 100644
--- a/examples/tools/plugandpaintplugins/extrafilters/extrafiltersplugin.cpp
+++ b/examples/tools/plugandpaintplugins/extrafilters/extrafiltersplugin.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/tools/plugandpaintplugins/extrafilters/extrafiltersplugin.h b/examples/tools/plugandpaintplugins/extrafilters/extrafiltersplugin.h
index 3f254e867c..d04e40d1ad 100644
--- a/examples/tools/plugandpaintplugins/extrafilters/extrafiltersplugin.h
+++ b/examples/tools/plugandpaintplugins/extrafilters/extrafiltersplugin.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/tools/regexp/main.cpp b/examples/tools/regexp/main.cpp
index 0cc61a36e3..84bd0e45c9 100644
--- a/examples/tools/regexp/main.cpp
+++ b/examples/tools/regexp/main.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/tools/regexp/regexpdialog.cpp b/examples/tools/regexp/regexpdialog.cpp
index dd02ea3020..539dd08459 100644
--- a/examples/tools/regexp/regexpdialog.cpp
+++ b/examples/tools/regexp/regexpdialog.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/tools/regexp/regexpdialog.h b/examples/tools/regexp/regexpdialog.h
index a61bd298f7..16724bf0bc 100644
--- a/examples/tools/regexp/regexpdialog.h
+++ b/examples/tools/regexp/regexpdialog.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/tools/settingseditor/locationdialog.cpp b/examples/tools/settingseditor/locationdialog.cpp
index 8d3c0d7c29..73d4d9ced4 100644
--- a/examples/tools/settingseditor/locationdialog.cpp
+++ b/examples/tools/settingseditor/locationdialog.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/tools/settingseditor/locationdialog.h b/examples/tools/settingseditor/locationdialog.h
index f42f6c2bbb..fa3c430f68 100644
--- a/examples/tools/settingseditor/locationdialog.h
+++ b/examples/tools/settingseditor/locationdialog.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/tools/settingseditor/main.cpp b/examples/tools/settingseditor/main.cpp
index f5632657c0..ba6d248d77 100644
--- a/examples/tools/settingseditor/main.cpp
+++ b/examples/tools/settingseditor/main.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/tools/settingseditor/mainwindow.cpp b/examples/tools/settingseditor/mainwindow.cpp
index 3007172a23..bce4b9a3c3 100644
--- a/examples/tools/settingseditor/mainwindow.cpp
+++ b/examples/tools/settingseditor/mainwindow.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/tools/settingseditor/mainwindow.h b/examples/tools/settingseditor/mainwindow.h
index d08d6e27dd..c32bd59b0b 100644
--- a/examples/tools/settingseditor/mainwindow.h
+++ b/examples/tools/settingseditor/mainwindow.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/tools/settingseditor/settingstree.cpp b/examples/tools/settingseditor/settingstree.cpp
index 99a2a759b9..c42b286b79 100644
--- a/examples/tools/settingseditor/settingstree.cpp
+++ b/examples/tools/settingseditor/settingstree.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/tools/settingseditor/settingstree.h b/examples/tools/settingseditor/settingstree.h
index 9d45146d75..67be85d20c 100644
--- a/examples/tools/settingseditor/settingstree.h
+++ b/examples/tools/settingseditor/settingstree.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/tools/settingseditor/variantdelegate.cpp b/examples/tools/settingseditor/variantdelegate.cpp
index 330233792c..451a88fea6 100644
--- a/examples/tools/settingseditor/variantdelegate.cpp
+++ b/examples/tools/settingseditor/variantdelegate.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/tools/settingseditor/variantdelegate.h b/examples/tools/settingseditor/variantdelegate.h
index fbe1777fc4..9064461fbf 100644
--- a/examples/tools/settingseditor/variantdelegate.h
+++ b/examples/tools/settingseditor/variantdelegate.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/tools/styleplugin/plugin/simplestyle.cpp b/examples/tools/styleplugin/plugin/simplestyle.cpp
index 96fba5ae5b..bc5ac87d34 100644
--- a/examples/tools/styleplugin/plugin/simplestyle.cpp
+++ b/examples/tools/styleplugin/plugin/simplestyle.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/tools/styleplugin/plugin/simplestyle.h b/examples/tools/styleplugin/plugin/simplestyle.h
index 8422b1fea3..6bfb3be233 100644
--- a/examples/tools/styleplugin/plugin/simplestyle.h
+++ b/examples/tools/styleplugin/plugin/simplestyle.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/tools/styleplugin/plugin/simplestyleplugin.cpp b/examples/tools/styleplugin/plugin/simplestyleplugin.cpp
index cd352b16c3..5378cfb931 100644
--- a/examples/tools/styleplugin/plugin/simplestyleplugin.cpp
+++ b/examples/tools/styleplugin/plugin/simplestyleplugin.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/tools/styleplugin/plugin/simplestyleplugin.h b/examples/tools/styleplugin/plugin/simplestyleplugin.h
index d298487790..6028a4e6cd 100644
--- a/examples/tools/styleplugin/plugin/simplestyleplugin.h
+++ b/examples/tools/styleplugin/plugin/simplestyleplugin.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/tools/styleplugin/stylewindow/main.cpp b/examples/tools/styleplugin/stylewindow/main.cpp
index d394f98216..98a97e8d23 100644
--- a/examples/tools/styleplugin/stylewindow/main.cpp
+++ b/examples/tools/styleplugin/stylewindow/main.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/tools/styleplugin/stylewindow/stylewindow.cpp b/examples/tools/styleplugin/stylewindow/stylewindow.cpp
index 3d29add26d..030d0661fc 100644
--- a/examples/tools/styleplugin/stylewindow/stylewindow.cpp
+++ b/examples/tools/styleplugin/stylewindow/stylewindow.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/tools/styleplugin/stylewindow/stylewindow.h b/examples/tools/styleplugin/stylewindow/stylewindow.h
index 13a4a2f6f7..d45f1325ae 100644
--- a/examples/tools/styleplugin/stylewindow/stylewindow.h
+++ b/examples/tools/styleplugin/stylewindow/stylewindow.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/tools/treemodelcompleter/main.cpp b/examples/tools/treemodelcompleter/main.cpp
index 908494ac39..b0a147215c 100644
--- a/examples/tools/treemodelcompleter/main.cpp
+++ b/examples/tools/treemodelcompleter/main.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/tools/treemodelcompleter/mainwindow.cpp b/examples/tools/treemodelcompleter/mainwindow.cpp
index 20aa313fe2..0448e9d5be 100644
--- a/examples/tools/treemodelcompleter/mainwindow.cpp
+++ b/examples/tools/treemodelcompleter/mainwindow.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/tools/treemodelcompleter/mainwindow.h b/examples/tools/treemodelcompleter/mainwindow.h
index b1d59d0697..4e187e96b2 100644
--- a/examples/tools/treemodelcompleter/mainwindow.h
+++ b/examples/tools/treemodelcompleter/mainwindow.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/tools/treemodelcompleter/treemodelcompleter.cpp b/examples/tools/treemodelcompleter/treemodelcompleter.cpp
index c7c26a4874..38492a8670 100644
--- a/examples/tools/treemodelcompleter/treemodelcompleter.cpp
+++ b/examples/tools/treemodelcompleter/treemodelcompleter.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/tools/treemodelcompleter/treemodelcompleter.h b/examples/tools/treemodelcompleter/treemodelcompleter.h
index cb1aada857..493aaae4fb 100644
--- a/examples/tools/treemodelcompleter/treemodelcompleter.h
+++ b/examples/tools/treemodelcompleter/treemodelcompleter.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/tools/undoframework/commands.cpp b/examples/tools/undoframework/commands.cpp
index 7883489018..702a17ba5c 100644
--- a/examples/tools/undoframework/commands.cpp
+++ b/examples/tools/undoframework/commands.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/tools/undoframework/commands.h b/examples/tools/undoframework/commands.h
index c0b88befaf..815295230e 100644
--- a/examples/tools/undoframework/commands.h
+++ b/examples/tools/undoframework/commands.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/tools/undoframework/diagramitem.cpp b/examples/tools/undoframework/diagramitem.cpp
index 433838e639..51b7584fd8 100644
--- a/examples/tools/undoframework/diagramitem.cpp
+++ b/examples/tools/undoframework/diagramitem.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/tools/undoframework/diagramitem.h b/examples/tools/undoframework/diagramitem.h
index 421e430972..a83cf1e128 100644
--- a/examples/tools/undoframework/diagramitem.h
+++ b/examples/tools/undoframework/diagramitem.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/tools/undoframework/diagramscene.cpp b/examples/tools/undoframework/diagramscene.cpp
index 3e959cee98..4cc777dd17 100644
--- a/examples/tools/undoframework/diagramscene.cpp
+++ b/examples/tools/undoframework/diagramscene.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/tools/undoframework/diagramscene.h b/examples/tools/undoframework/diagramscene.h
index 179f614384..b7517a5df1 100644
--- a/examples/tools/undoframework/diagramscene.h
+++ b/examples/tools/undoframework/diagramscene.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/tools/undoframework/main.cpp b/examples/tools/undoframework/main.cpp
index f2e71420de..3876612e77 100644
--- a/examples/tools/undoframework/main.cpp
+++ b/examples/tools/undoframework/main.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/tools/undoframework/mainwindow.cpp b/examples/tools/undoframework/mainwindow.cpp
index 0c41ee6e5e..b4b7ee5f7f 100644
--- a/examples/tools/undoframework/mainwindow.cpp
+++ b/examples/tools/undoframework/mainwindow.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/tools/undoframework/mainwindow.h b/examples/tools/undoframework/mainwindow.h
index f1ded69b65..4b91d8668f 100644
--- a/examples/tools/undoframework/mainwindow.h
+++ b/examples/tools/undoframework/mainwindow.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/tutorials/addressbook-fr/part1/addressbook.cpp b/examples/tutorials/addressbook-fr/part1/addressbook.cpp
index 723edbf986..8173b0b4a6 100644
--- a/examples/tutorials/addressbook-fr/part1/addressbook.cpp
+++ b/examples/tutorials/addressbook-fr/part1/addressbook.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/tutorials/addressbook-fr/part1/addressbook.h b/examples/tutorials/addressbook-fr/part1/addressbook.h
index 23be6b95a3..6b14a5be1d 100644
--- a/examples/tutorials/addressbook-fr/part1/addressbook.h
+++ b/examples/tutorials/addressbook-fr/part1/addressbook.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/tutorials/addressbook-fr/part1/main.cpp b/examples/tutorials/addressbook-fr/part1/main.cpp
index e33ef17e56..bc956952ec 100644
--- a/examples/tutorials/addressbook-fr/part1/main.cpp
+++ b/examples/tutorials/addressbook-fr/part1/main.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/tutorials/addressbook-fr/part2/addressbook.cpp b/examples/tutorials/addressbook-fr/part2/addressbook.cpp
index 993df5b978..1fa9d529b0 100644
--- a/examples/tutorials/addressbook-fr/part2/addressbook.cpp
+++ b/examples/tutorials/addressbook-fr/part2/addressbook.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/tutorials/addressbook-fr/part2/addressbook.h b/examples/tutorials/addressbook-fr/part2/addressbook.h
index d6f3e4af21..fcd253b451 100644
--- a/examples/tutorials/addressbook-fr/part2/addressbook.h
+++ b/examples/tutorials/addressbook-fr/part2/addressbook.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/tutorials/addressbook-fr/part2/main.cpp b/examples/tutorials/addressbook-fr/part2/main.cpp
index e33ef17e56..bc956952ec 100644
--- a/examples/tutorials/addressbook-fr/part2/main.cpp
+++ b/examples/tutorials/addressbook-fr/part2/main.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/tutorials/addressbook-fr/part3/addressbook.cpp b/examples/tutorials/addressbook-fr/part3/addressbook.cpp
index 59b297a27c..840f52935b 100644
--- a/examples/tutorials/addressbook-fr/part3/addressbook.cpp
+++ b/examples/tutorials/addressbook-fr/part3/addressbook.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/tutorials/addressbook-fr/part3/addressbook.h b/examples/tutorials/addressbook-fr/part3/addressbook.h
index a28ad44b8e..f805b5a6e8 100644
--- a/examples/tutorials/addressbook-fr/part3/addressbook.h
+++ b/examples/tutorials/addressbook-fr/part3/addressbook.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/tutorials/addressbook-fr/part3/main.cpp b/examples/tutorials/addressbook-fr/part3/main.cpp
index 86479d07af..fc9763c069 100644
--- a/examples/tutorials/addressbook-fr/part3/main.cpp
+++ b/examples/tutorials/addressbook-fr/part3/main.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/tutorials/addressbook-fr/part4/addressbook.cpp b/examples/tutorials/addressbook-fr/part4/addressbook.cpp
index e4e451f193..f6390a4b97 100644
--- a/examples/tutorials/addressbook-fr/part4/addressbook.cpp
+++ b/examples/tutorials/addressbook-fr/part4/addressbook.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/tutorials/addressbook-fr/part4/addressbook.h b/examples/tutorials/addressbook-fr/part4/addressbook.h
index 2fb9fbd13b..3cbaf2ceff 100644
--- a/examples/tutorials/addressbook-fr/part4/addressbook.h
+++ b/examples/tutorials/addressbook-fr/part4/addressbook.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/tutorials/addressbook-fr/part4/main.cpp b/examples/tutorials/addressbook-fr/part4/main.cpp
index 86479d07af..fc9763c069 100644
--- a/examples/tutorials/addressbook-fr/part4/main.cpp
+++ b/examples/tutorials/addressbook-fr/part4/main.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/tutorials/addressbook-fr/part5/addressbook.cpp b/examples/tutorials/addressbook-fr/part5/addressbook.cpp
index ca259f2765..80c18c33f6 100644
--- a/examples/tutorials/addressbook-fr/part5/addressbook.cpp
+++ b/examples/tutorials/addressbook-fr/part5/addressbook.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/tutorials/addressbook-fr/part5/addressbook.h b/examples/tutorials/addressbook-fr/part5/addressbook.h
index 16a866b93d..8b77f71698 100644
--- a/examples/tutorials/addressbook-fr/part5/addressbook.h
+++ b/examples/tutorials/addressbook-fr/part5/addressbook.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/tutorials/addressbook-fr/part5/finddialog.cpp b/examples/tutorials/addressbook-fr/part5/finddialog.cpp
index 3e13468a88..ce158bbec1 100644
--- a/examples/tutorials/addressbook-fr/part5/finddialog.cpp
+++ b/examples/tutorials/addressbook-fr/part5/finddialog.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/tutorials/addressbook-fr/part5/finddialog.h b/examples/tutorials/addressbook-fr/part5/finddialog.h
index dd525c77fc..80575fa949 100644
--- a/examples/tutorials/addressbook-fr/part5/finddialog.h
+++ b/examples/tutorials/addressbook-fr/part5/finddialog.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/tutorials/addressbook-fr/part5/main.cpp b/examples/tutorials/addressbook-fr/part5/main.cpp
index 86479d07af..fc9763c069 100644
--- a/examples/tutorials/addressbook-fr/part5/main.cpp
+++ b/examples/tutorials/addressbook-fr/part5/main.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/tutorials/addressbook-fr/part6/addressbook.cpp b/examples/tutorials/addressbook-fr/part6/addressbook.cpp
index e6c54742a9..fc411908ae 100644
--- a/examples/tutorials/addressbook-fr/part6/addressbook.cpp
+++ b/examples/tutorials/addressbook-fr/part6/addressbook.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/tutorials/addressbook-fr/part6/addressbook.h b/examples/tutorials/addressbook-fr/part6/addressbook.h
index d28ba024fd..e35921f1b9 100644
--- a/examples/tutorials/addressbook-fr/part6/addressbook.h
+++ b/examples/tutorials/addressbook-fr/part6/addressbook.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/tutorials/addressbook-fr/part6/finddialog.cpp b/examples/tutorials/addressbook-fr/part6/finddialog.cpp
index 2cda3754db..6f5f6e167f 100644
--- a/examples/tutorials/addressbook-fr/part6/finddialog.cpp
+++ b/examples/tutorials/addressbook-fr/part6/finddialog.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/tutorials/addressbook-fr/part6/finddialog.h b/examples/tutorials/addressbook-fr/part6/finddialog.h
index 99c865c690..a415e744f8 100644
--- a/examples/tutorials/addressbook-fr/part6/finddialog.h
+++ b/examples/tutorials/addressbook-fr/part6/finddialog.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/tutorials/addressbook-fr/part6/main.cpp b/examples/tutorials/addressbook-fr/part6/main.cpp
index 86479d07af..fc9763c069 100644
--- a/examples/tutorials/addressbook-fr/part6/main.cpp
+++ b/examples/tutorials/addressbook-fr/part6/main.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/tutorials/addressbook-fr/part7/addressbook.cpp b/examples/tutorials/addressbook-fr/part7/addressbook.cpp
index 07b8a5f357..3ab87021e9 100644
--- a/examples/tutorials/addressbook-fr/part7/addressbook.cpp
+++ b/examples/tutorials/addressbook-fr/part7/addressbook.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/tutorials/addressbook-fr/part7/addressbook.h b/examples/tutorials/addressbook-fr/part7/addressbook.h
index 6b8e02a4b7..bc465259fc 100644
--- a/examples/tutorials/addressbook-fr/part7/addressbook.h
+++ b/examples/tutorials/addressbook-fr/part7/addressbook.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/tutorials/addressbook-fr/part7/finddialog.cpp b/examples/tutorials/addressbook-fr/part7/finddialog.cpp
index 2cda3754db..6f5f6e167f 100644
--- a/examples/tutorials/addressbook-fr/part7/finddialog.cpp
+++ b/examples/tutorials/addressbook-fr/part7/finddialog.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/tutorials/addressbook-fr/part7/finddialog.h b/examples/tutorials/addressbook-fr/part7/finddialog.h
index 99c865c690..a415e744f8 100644
--- a/examples/tutorials/addressbook-fr/part7/finddialog.h
+++ b/examples/tutorials/addressbook-fr/part7/finddialog.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/tutorials/addressbook-fr/part7/main.cpp b/examples/tutorials/addressbook-fr/part7/main.cpp
index 86479d07af..fc9763c069 100644
--- a/examples/tutorials/addressbook-fr/part7/main.cpp
+++ b/examples/tutorials/addressbook-fr/part7/main.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/tutorials/addressbook/part1/addressbook.cpp b/examples/tutorials/addressbook/part1/addressbook.cpp
index 723edbf986..8173b0b4a6 100644
--- a/examples/tutorials/addressbook/part1/addressbook.cpp
+++ b/examples/tutorials/addressbook/part1/addressbook.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/tutorials/addressbook/part1/addressbook.h b/examples/tutorials/addressbook/part1/addressbook.h
index 23be6b95a3..6b14a5be1d 100644
--- a/examples/tutorials/addressbook/part1/addressbook.h
+++ b/examples/tutorials/addressbook/part1/addressbook.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/tutorials/addressbook/part1/main.cpp b/examples/tutorials/addressbook/part1/main.cpp
index e33ef17e56..bc956952ec 100644
--- a/examples/tutorials/addressbook/part1/main.cpp
+++ b/examples/tutorials/addressbook/part1/main.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/tutorials/addressbook/part2/addressbook.cpp b/examples/tutorials/addressbook/part2/addressbook.cpp
index 993df5b978..1fa9d529b0 100644
--- a/examples/tutorials/addressbook/part2/addressbook.cpp
+++ b/examples/tutorials/addressbook/part2/addressbook.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/tutorials/addressbook/part2/addressbook.h b/examples/tutorials/addressbook/part2/addressbook.h
index d6f3e4af21..fcd253b451 100644
--- a/examples/tutorials/addressbook/part2/addressbook.h
+++ b/examples/tutorials/addressbook/part2/addressbook.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/tutorials/addressbook/part2/main.cpp b/examples/tutorials/addressbook/part2/main.cpp
index e33ef17e56..bc956952ec 100644
--- a/examples/tutorials/addressbook/part2/main.cpp
+++ b/examples/tutorials/addressbook/part2/main.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/tutorials/addressbook/part3/addressbook.cpp b/examples/tutorials/addressbook/part3/addressbook.cpp
index 5b391590f9..28a570a7a6 100644
--- a/examples/tutorials/addressbook/part3/addressbook.cpp
+++ b/examples/tutorials/addressbook/part3/addressbook.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
@@ -126,6 +125,7 @@ void AddressBook::submitContact()
if (name == "" || address == "") {
QMessageBox::information(this, tr("Empty Field"),
tr("Please enter a name and address."));
+ return;
}
if (!contacts.contains(name)) {
diff --git a/examples/tutorials/addressbook/part3/addressbook.h b/examples/tutorials/addressbook/part3/addressbook.h
index a28ad44b8e..f805b5a6e8 100644
--- a/examples/tutorials/addressbook/part3/addressbook.h
+++ b/examples/tutorials/addressbook/part3/addressbook.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/tutorials/addressbook/part3/main.cpp b/examples/tutorials/addressbook/part3/main.cpp
index 86479d07af..fc9763c069 100644
--- a/examples/tutorials/addressbook/part3/main.cpp
+++ b/examples/tutorials/addressbook/part3/main.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/tutorials/addressbook/part4/addressbook.cpp b/examples/tutorials/addressbook/part4/addressbook.cpp
index a4bf4593f8..55d551fb50 100644
--- a/examples/tutorials/addressbook/part4/addressbook.cpp
+++ b/examples/tutorials/addressbook/part4/addressbook.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
@@ -135,6 +134,7 @@ void AddressBook::submitContact()
if (name == "" || address == "") {
QMessageBox::information(this, tr("Empty Field"),
tr("Please enter a name and address."));
+ return;
}
//! [submitContact() function part1]
if (currentMode == AddingMode) {
diff --git a/examples/tutorials/addressbook/part4/addressbook.h b/examples/tutorials/addressbook/part4/addressbook.h
index 2fb9fbd13b..3cbaf2ceff 100644
--- a/examples/tutorials/addressbook/part4/addressbook.h
+++ b/examples/tutorials/addressbook/part4/addressbook.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/tutorials/addressbook/part4/main.cpp b/examples/tutorials/addressbook/part4/main.cpp
index 86479d07af..fc9763c069 100644
--- a/examples/tutorials/addressbook/part4/main.cpp
+++ b/examples/tutorials/addressbook/part4/main.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/tutorials/addressbook/part5/addressbook.cpp b/examples/tutorials/addressbook/part5/addressbook.cpp
index ca259f2765..1b3f45167a 100644
--- a/examples/tutorials/addressbook/part5/addressbook.cpp
+++ b/examples/tutorials/addressbook/part5/addressbook.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
@@ -142,6 +141,7 @@ void AddressBook::submitContact()
if (name == "" || address == "") {
QMessageBox::information(this, tr("Empty Field"),
tr("Please enter a name and address."));
+ return;
}
if (currentMode == AddingMode) {
diff --git a/examples/tutorials/addressbook/part5/addressbook.h b/examples/tutorials/addressbook/part5/addressbook.h
index 16a866b93d..8b77f71698 100644
--- a/examples/tutorials/addressbook/part5/addressbook.h
+++ b/examples/tutorials/addressbook/part5/addressbook.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/tutorials/addressbook/part5/finddialog.cpp b/examples/tutorials/addressbook/part5/finddialog.cpp
index 3e13468a88..ce158bbec1 100644
--- a/examples/tutorials/addressbook/part5/finddialog.cpp
+++ b/examples/tutorials/addressbook/part5/finddialog.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/tutorials/addressbook/part5/finddialog.h b/examples/tutorials/addressbook/part5/finddialog.h
index dd525c77fc..80575fa949 100644
--- a/examples/tutorials/addressbook/part5/finddialog.h
+++ b/examples/tutorials/addressbook/part5/finddialog.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/tutorials/addressbook/part5/main.cpp b/examples/tutorials/addressbook/part5/main.cpp
index 86479d07af..fc9763c069 100644
--- a/examples/tutorials/addressbook/part5/main.cpp
+++ b/examples/tutorials/addressbook/part5/main.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/tutorials/addressbook/part6/addressbook.cpp b/examples/tutorials/addressbook/part6/addressbook.cpp
index e6c54742a9..724971c90d 100644
--- a/examples/tutorials/addressbook/part6/addressbook.cpp
+++ b/examples/tutorials/addressbook/part6/addressbook.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
@@ -148,6 +147,7 @@ void AddressBook::submitContact()
if (name == "" || address == "") {
QMessageBox::information(this, tr("Empty Field"),
tr("Please enter a name and address."));
+ return;
}
if (currentMode == AddingMode) {
diff --git a/examples/tutorials/addressbook/part6/addressbook.h b/examples/tutorials/addressbook/part6/addressbook.h
index d28ba024fd..e35921f1b9 100644
--- a/examples/tutorials/addressbook/part6/addressbook.h
+++ b/examples/tutorials/addressbook/part6/addressbook.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/tutorials/addressbook/part6/finddialog.cpp b/examples/tutorials/addressbook/part6/finddialog.cpp
index 2cda3754db..6f5f6e167f 100644
--- a/examples/tutorials/addressbook/part6/finddialog.cpp
+++ b/examples/tutorials/addressbook/part6/finddialog.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/tutorials/addressbook/part6/finddialog.h b/examples/tutorials/addressbook/part6/finddialog.h
index 99c865c690..a415e744f8 100644
--- a/examples/tutorials/addressbook/part6/finddialog.h
+++ b/examples/tutorials/addressbook/part6/finddialog.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/tutorials/addressbook/part6/main.cpp b/examples/tutorials/addressbook/part6/main.cpp
index 86479d07af..fc9763c069 100644
--- a/examples/tutorials/addressbook/part6/main.cpp
+++ b/examples/tutorials/addressbook/part6/main.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/tutorials/addressbook/part7/addressbook.cpp b/examples/tutorials/addressbook/part7/addressbook.cpp
index 07b8a5f357..bf00298a60 100644
--- a/examples/tutorials/addressbook/part7/addressbook.cpp
+++ b/examples/tutorials/addressbook/part7/addressbook.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
@@ -150,6 +149,7 @@ void AddressBook::submitContact()
if (name == "" || address == "") {
QMessageBox::information(this, tr("Empty Field"),
tr("Please enter a name and address."));
+ return;
}
if (currentMode == AddingMode) {
diff --git a/examples/tutorials/addressbook/part7/addressbook.h b/examples/tutorials/addressbook/part7/addressbook.h
index 6b8e02a4b7..bc465259fc 100644
--- a/examples/tutorials/addressbook/part7/addressbook.h
+++ b/examples/tutorials/addressbook/part7/addressbook.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/tutorials/addressbook/part7/finddialog.cpp b/examples/tutorials/addressbook/part7/finddialog.cpp
index 2cda3754db..6f5f6e167f 100644
--- a/examples/tutorials/addressbook/part7/finddialog.cpp
+++ b/examples/tutorials/addressbook/part7/finddialog.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/tutorials/addressbook/part7/finddialog.h b/examples/tutorials/addressbook/part7/finddialog.h
index 99c865c690..a415e744f8 100644
--- a/examples/tutorials/addressbook/part7/finddialog.h
+++ b/examples/tutorials/addressbook/part7/finddialog.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/tutorials/addressbook/part7/main.cpp b/examples/tutorials/addressbook/part7/main.cpp
index 86479d07af..fc9763c069 100644
--- a/examples/tutorials/addressbook/part7/main.cpp
+++ b/examples/tutorials/addressbook/part7/main.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/tutorials/widgets/childwidget/main.cpp b/examples/tutorials/widgets/childwidget/main.cpp
index dfb2ab63ce..14e616e7b9 100644
--- a/examples/tutorials/widgets/childwidget/main.cpp
+++ b/examples/tutorials/widgets/childwidget/main.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the documentation of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/tutorials/widgets/nestedlayouts/main.cpp b/examples/tutorials/widgets/nestedlayouts/main.cpp
index 86f6939908..093216026b 100644
--- a/examples/tutorials/widgets/nestedlayouts/main.cpp
+++ b/examples/tutorials/widgets/nestedlayouts/main.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the documentation of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/tutorials/widgets/toplevel/main.cpp b/examples/tutorials/widgets/toplevel/main.cpp
index 311ca6c203..ee65ccb505 100644
--- a/examples/tutorials/widgets/toplevel/main.cpp
+++ b/examples/tutorials/widgets/toplevel/main.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the documentation of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/tutorials/widgets/windowlayout/main.cpp b/examples/tutorials/widgets/windowlayout/main.cpp
index 5802ea0b9b..d0991082d8 100644
--- a/examples/tutorials/widgets/windowlayout/main.cpp
+++ b/examples/tutorials/widgets/windowlayout/main.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the documentation of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/uitools/multipleinheritance/calculatorform.cpp b/examples/uitools/multipleinheritance/calculatorform.cpp
index 8e66e35be4..c9f3a6d58a 100644
--- a/examples/uitools/multipleinheritance/calculatorform.cpp
+++ b/examples/uitools/multipleinheritance/calculatorform.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/uitools/multipleinheritance/calculatorform.h b/examples/uitools/multipleinheritance/calculatorform.h
index 5c41ce0e46..369f875198 100644
--- a/examples/uitools/multipleinheritance/calculatorform.h
+++ b/examples/uitools/multipleinheritance/calculatorform.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/uitools/multipleinheritance/main.cpp b/examples/uitools/multipleinheritance/main.cpp
index 7cf6ac537f..e60025d6f1 100644
--- a/examples/uitools/multipleinheritance/main.cpp
+++ b/examples/uitools/multipleinheritance/main.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/uitools/textfinder/main.cpp b/examples/uitools/textfinder/main.cpp
index 2a1e3f7a1d..618c97d1cb 100644
--- a/examples/uitools/textfinder/main.cpp
+++ b/examples/uitools/textfinder/main.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/uitools/textfinder/textfinder.cpp b/examples/uitools/textfinder/textfinder.cpp
index 1b7c14b053..4bb6600a11 100644
--- a/examples/uitools/textfinder/textfinder.cpp
+++ b/examples/uitools/textfinder/textfinder.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/uitools/textfinder/textfinder.h b/examples/uitools/textfinder/textfinder.h
index 2b70c83820..7a49bf871b 100644
--- a/examples/uitools/textfinder/textfinder.h
+++ b/examples/uitools/textfinder/textfinder.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/webkit/domtraversal/main.cpp b/examples/webkit/domtraversal/main.cpp
index 9341d05aed..9e6c58bc1d 100644
--- a/examples/webkit/domtraversal/main.cpp
+++ b/examples/webkit/domtraversal/main.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/webkit/domtraversal/window.cpp b/examples/webkit/domtraversal/window.cpp
index 8b15669753..86a531b2e7 100644
--- a/examples/webkit/domtraversal/window.cpp
+++ b/examples/webkit/domtraversal/window.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/webkit/domtraversal/window.h b/examples/webkit/domtraversal/window.h
index c47d0b283a..10e7d89362 100644
--- a/examples/webkit/domtraversal/window.h
+++ b/examples/webkit/domtraversal/window.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/webkit/fancybrowser/main.cpp b/examples/webkit/fancybrowser/main.cpp
index 23f97130eb..92ed6c097c 100644
--- a/examples/webkit/fancybrowser/main.cpp
+++ b/examples/webkit/fancybrowser/main.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/webkit/fancybrowser/mainwindow.cpp b/examples/webkit/fancybrowser/mainwindow.cpp
index 649983139e..c07fbe39aa 100644
--- a/examples/webkit/fancybrowser/mainwindow.cpp
+++ b/examples/webkit/fancybrowser/mainwindow.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/webkit/fancybrowser/mainwindow.h b/examples/webkit/fancybrowser/mainwindow.h
index d3f8e7ebf1..506d37f914 100644
--- a/examples/webkit/fancybrowser/mainwindow.h
+++ b/examples/webkit/fancybrowser/mainwindow.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/webkit/formextractor/formextractor.cpp b/examples/webkit/formextractor/formextractor.cpp
index 6b8f511fb4..fd1d5146a5 100644
--- a/examples/webkit/formextractor/formextractor.cpp
+++ b/examples/webkit/formextractor/formextractor.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/webkit/formextractor/formextractor.h b/examples/webkit/formextractor/formextractor.h
index b31716c93c..a7cc5572a0 100644
--- a/examples/webkit/formextractor/formextractor.h
+++ b/examples/webkit/formextractor/formextractor.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/webkit/formextractor/main.cpp b/examples/webkit/formextractor/main.cpp
index 69cc67a3cc..6597f6f2f4 100644
--- a/examples/webkit/formextractor/main.cpp
+++ b/examples/webkit/formextractor/main.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/webkit/formextractor/mainwindow.cpp b/examples/webkit/formextractor/mainwindow.cpp
index ea16c17cd3..3e8fa8b34f 100644
--- a/examples/webkit/formextractor/mainwindow.cpp
+++ b/examples/webkit/formextractor/mainwindow.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/webkit/formextractor/mainwindow.h b/examples/webkit/formextractor/mainwindow.h
index 23a9887690..5ffc766bd9 100644
--- a/examples/webkit/formextractor/mainwindow.h
+++ b/examples/webkit/formextractor/mainwindow.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/webkit/framecapture/framecapture.cpp b/examples/webkit/framecapture/framecapture.cpp
index e3ffdb827d..fea1018631 100644
--- a/examples/webkit/framecapture/framecapture.cpp
+++ b/examples/webkit/framecapture/framecapture.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/webkit/framecapture/framecapture.h b/examples/webkit/framecapture/framecapture.h
index a096584719..7207a23ec9 100644
--- a/examples/webkit/framecapture/framecapture.h
+++ b/examples/webkit/framecapture/framecapture.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/webkit/framecapture/main.cpp b/examples/webkit/framecapture/main.cpp
index 58b9234d13..79e28e6ac8 100644
--- a/examples/webkit/framecapture/main.cpp
+++ b/examples/webkit/framecapture/main.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/webkit/googlechat/googlechat.cpp b/examples/webkit/googlechat/googlechat.cpp
index 8eb033cb0d..bed7f7a85f 100644
--- a/examples/webkit/googlechat/googlechat.cpp
+++ b/examples/webkit/googlechat/googlechat.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/webkit/googlechat/googlechat.h b/examples/webkit/googlechat/googlechat.h
index 617587a906..7b1d126d67 100644
--- a/examples/webkit/googlechat/googlechat.h
+++ b/examples/webkit/googlechat/googlechat.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/webkit/googlechat/main.cpp b/examples/webkit/googlechat/main.cpp
index 4e74acdc13..e3eae76554 100644
--- a/examples/webkit/googlechat/main.cpp
+++ b/examples/webkit/googlechat/main.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/webkit/previewer/main.cpp b/examples/webkit/previewer/main.cpp
index d18ce26927..c557a18364 100644
--- a/examples/webkit/previewer/main.cpp
+++ b/examples/webkit/previewer/main.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/webkit/previewer/mainwindow.cpp b/examples/webkit/previewer/mainwindow.cpp
index 42b6fa72f9..2d8f5d1cb4 100644
--- a/examples/webkit/previewer/mainwindow.cpp
+++ b/examples/webkit/previewer/mainwindow.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/webkit/previewer/mainwindow.h b/examples/webkit/previewer/mainwindow.h
index 5bbdbd7b71..46a9419606 100644
--- a/examples/webkit/previewer/mainwindow.h
+++ b/examples/webkit/previewer/mainwindow.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/webkit/previewer/previewer.cpp b/examples/webkit/previewer/previewer.cpp
index f9fbab484e..2ad73ba7ac 100644
--- a/examples/webkit/previewer/previewer.cpp
+++ b/examples/webkit/previewer/previewer.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/webkit/previewer/previewer.h b/examples/webkit/previewer/previewer.h
index 77b27094cc..f15fa3b8ca 100644
--- a/examples/webkit/previewer/previewer.h
+++ b/examples/webkit/previewer/previewer.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/webkit/simpleselector/main.cpp b/examples/webkit/simpleselector/main.cpp
index b63e5ebf19..45f7a2eacd 100644
--- a/examples/webkit/simpleselector/main.cpp
+++ b/examples/webkit/simpleselector/main.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/webkit/simpleselector/window.cpp b/examples/webkit/simpleselector/window.cpp
index 578a806413..f91c99a4d2 100644
--- a/examples/webkit/simpleselector/window.cpp
+++ b/examples/webkit/simpleselector/window.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/webkit/simpleselector/window.h b/examples/webkit/simpleselector/window.h
index e79a25f8b1..e9da0ef945 100644
--- a/examples/webkit/simpleselector/window.h
+++ b/examples/webkit/simpleselector/window.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/widgets/analogclock/analogclock.cpp b/examples/widgets/analogclock/analogclock.cpp
index f5c3b52f3c..f76c7ae691 100644
--- a/examples/widgets/analogclock/analogclock.cpp
+++ b/examples/widgets/analogclock/analogclock.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/widgets/analogclock/analogclock.h b/examples/widgets/analogclock/analogclock.h
index ca6513feae..4500af1200 100644
--- a/examples/widgets/analogclock/analogclock.h
+++ b/examples/widgets/analogclock/analogclock.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/widgets/analogclock/main.cpp b/examples/widgets/analogclock/main.cpp
index 7926a89745..7e2876b9b1 100644
--- a/examples/widgets/analogclock/main.cpp
+++ b/examples/widgets/analogclock/main.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/widgets/calculator/button.cpp b/examples/widgets/calculator/button.cpp
index b7924e965e..0b83fca580 100644
--- a/examples/widgets/calculator/button.cpp
+++ b/examples/widgets/calculator/button.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/widgets/calculator/button.h b/examples/widgets/calculator/button.h
index 4340a1555e..6ddb9bc5e2 100644
--- a/examples/widgets/calculator/button.h
+++ b/examples/widgets/calculator/button.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/widgets/calculator/calculator.cpp b/examples/widgets/calculator/calculator.cpp
index 1cba60682d..08faa8deca 100644
--- a/examples/widgets/calculator/calculator.cpp
+++ b/examples/widgets/calculator/calculator.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/widgets/calculator/calculator.h b/examples/widgets/calculator/calculator.h
index 46ef01283f..fb6648f1c4 100644
--- a/examples/widgets/calculator/calculator.h
+++ b/examples/widgets/calculator/calculator.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/widgets/calculator/main.cpp b/examples/widgets/calculator/main.cpp
index fe40d253f8..d4cb8aa831 100644
--- a/examples/widgets/calculator/main.cpp
+++ b/examples/widgets/calculator/main.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/widgets/calendarwidget/main.cpp b/examples/widgets/calendarwidget/main.cpp
index c046d90382..fe44973733 100644
--- a/examples/widgets/calendarwidget/main.cpp
+++ b/examples/widgets/calendarwidget/main.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/widgets/calendarwidget/window.cpp b/examples/widgets/calendarwidget/window.cpp
index cda3b05a45..4d9e9bc4b5 100644
--- a/examples/widgets/calendarwidget/window.cpp
+++ b/examples/widgets/calendarwidget/window.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/widgets/calendarwidget/window.h b/examples/widgets/calendarwidget/window.h
index 56328733d3..9f1ca0b321 100644
--- a/examples/widgets/calendarwidget/window.h
+++ b/examples/widgets/calendarwidget/window.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/widgets/charactermap/characterwidget.cpp b/examples/widgets/charactermap/characterwidget.cpp
index f089ee804b..e5089dd86f 100644
--- a/examples/widgets/charactermap/characterwidget.cpp
+++ b/examples/widgets/charactermap/characterwidget.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/widgets/charactermap/characterwidget.h b/examples/widgets/charactermap/characterwidget.h
index 4344bdf5f3..5b700cb09c 100644
--- a/examples/widgets/charactermap/characterwidget.h
+++ b/examples/widgets/charactermap/characterwidget.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/widgets/charactermap/main.cpp b/examples/widgets/charactermap/main.cpp
index 6e38406bfc..af2f793dd1 100644
--- a/examples/widgets/charactermap/main.cpp
+++ b/examples/widgets/charactermap/main.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/widgets/charactermap/mainwindow.cpp b/examples/widgets/charactermap/mainwindow.cpp
index 1974c2f47a..65b7525790 100644
--- a/examples/widgets/charactermap/mainwindow.cpp
+++ b/examples/widgets/charactermap/mainwindow.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/widgets/charactermap/mainwindow.h b/examples/widgets/charactermap/mainwindow.h
index cfd4bc3b4a..014a357b88 100644
--- a/examples/widgets/charactermap/mainwindow.h
+++ b/examples/widgets/charactermap/mainwindow.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/widgets/codeeditor/codeeditor.cpp b/examples/widgets/codeeditor/codeeditor.cpp
index dc3f61a5ce..47c4825bfc 100644
--- a/examples/widgets/codeeditor/codeeditor.cpp
+++ b/examples/widgets/codeeditor/codeeditor.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/widgets/codeeditor/codeeditor.h b/examples/widgets/codeeditor/codeeditor.h
index 4e8de664f6..897f9835eb 100644
--- a/examples/widgets/codeeditor/codeeditor.h
+++ b/examples/widgets/codeeditor/codeeditor.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/widgets/codeeditor/main.cpp b/examples/widgets/codeeditor/main.cpp
index 14d64cd1c0..897ea62434 100644
--- a/examples/widgets/codeeditor/main.cpp
+++ b/examples/widgets/codeeditor/main.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/widgets/digitalclock/digitalclock.cpp b/examples/widgets/digitalclock/digitalclock.cpp
index aa299cf988..aab543fb3c 100644
--- a/examples/widgets/digitalclock/digitalclock.cpp
+++ b/examples/widgets/digitalclock/digitalclock.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/widgets/digitalclock/digitalclock.h b/examples/widgets/digitalclock/digitalclock.h
index deefb25e30..ff8d9949a0 100644
--- a/examples/widgets/digitalclock/digitalclock.h
+++ b/examples/widgets/digitalclock/digitalclock.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/widgets/digitalclock/main.cpp b/examples/widgets/digitalclock/main.cpp
index 35aa68e185..343610db1f 100644
--- a/examples/widgets/digitalclock/main.cpp
+++ b/examples/widgets/digitalclock/main.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/widgets/groupbox/main.cpp b/examples/widgets/groupbox/main.cpp
index a0686b68ec..ab53c16467 100644
--- a/examples/widgets/groupbox/main.cpp
+++ b/examples/widgets/groupbox/main.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/widgets/groupbox/window.cpp b/examples/widgets/groupbox/window.cpp
index d1dd70013d..231c83dd60 100644
--- a/examples/widgets/groupbox/window.cpp
+++ b/examples/widgets/groupbox/window.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/widgets/groupbox/window.h b/examples/widgets/groupbox/window.h
index 7a72b1f839..4722142b36 100644
--- a/examples/widgets/groupbox/window.h
+++ b/examples/widgets/groupbox/window.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/widgets/icons/iconpreviewarea.cpp b/examples/widgets/icons/iconpreviewarea.cpp
index 1604f1f876..ac4988dabe 100644
--- a/examples/widgets/icons/iconpreviewarea.cpp
+++ b/examples/widgets/icons/iconpreviewarea.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/widgets/icons/iconpreviewarea.h b/examples/widgets/icons/iconpreviewarea.h
index 93991b20fe..f8e10d278f 100644
--- a/examples/widgets/icons/iconpreviewarea.h
+++ b/examples/widgets/icons/iconpreviewarea.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/widgets/icons/iconsizespinbox.cpp b/examples/widgets/icons/iconsizespinbox.cpp
index c9cddf0e1b..35c14b67be 100644
--- a/examples/widgets/icons/iconsizespinbox.cpp
+++ b/examples/widgets/icons/iconsizespinbox.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/widgets/icons/iconsizespinbox.h b/examples/widgets/icons/iconsizespinbox.h
index fe40c831d6..a6d4d3c4c4 100644
--- a/examples/widgets/icons/iconsizespinbox.h
+++ b/examples/widgets/icons/iconsizespinbox.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/widgets/icons/imagedelegate.cpp b/examples/widgets/icons/imagedelegate.cpp
index 69f7706f6d..72bc3553f8 100644
--- a/examples/widgets/icons/imagedelegate.cpp
+++ b/examples/widgets/icons/imagedelegate.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/widgets/icons/imagedelegate.h b/examples/widgets/icons/imagedelegate.h
index 8d69d4019f..df91f48185 100644
--- a/examples/widgets/icons/imagedelegate.h
+++ b/examples/widgets/icons/imagedelegate.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/widgets/icons/main.cpp b/examples/widgets/icons/main.cpp
index f5632657c0..ba6d248d77 100644
--- a/examples/widgets/icons/main.cpp
+++ b/examples/widgets/icons/main.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/widgets/icons/mainwindow.cpp b/examples/widgets/icons/mainwindow.cpp
index 3745d32d50..4cc5214a1f 100644
--- a/examples/widgets/icons/mainwindow.cpp
+++ b/examples/widgets/icons/mainwindow.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/widgets/icons/mainwindow.h b/examples/widgets/icons/mainwindow.h
index 637f54541b..5dc2d7a6f9 100644
--- a/examples/widgets/icons/mainwindow.h
+++ b/examples/widgets/icons/mainwindow.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/widgets/imageviewer/imageviewer.cpp b/examples/widgets/imageviewer/imageviewer.cpp
index f6c02dfcd4..62ee27a538 100644
--- a/examples/widgets/imageviewer/imageviewer.cpp
+++ b/examples/widgets/imageviewer/imageviewer.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/widgets/imageviewer/imageviewer.h b/examples/widgets/imageviewer/imageviewer.h
index 75d28ce2b2..88c3dc3b03 100644
--- a/examples/widgets/imageviewer/imageviewer.h
+++ b/examples/widgets/imageviewer/imageviewer.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/widgets/imageviewer/main.cpp b/examples/widgets/imageviewer/main.cpp
index 600985f891..9f8fdfcd7f 100644
--- a/examples/widgets/imageviewer/main.cpp
+++ b/examples/widgets/imageviewer/main.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/widgets/lineedits/main.cpp b/examples/widgets/lineedits/main.cpp
index a0686b68ec..ab53c16467 100644
--- a/examples/widgets/lineedits/main.cpp
+++ b/examples/widgets/lineedits/main.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/widgets/lineedits/window.cpp b/examples/widgets/lineedits/window.cpp
index 2935f5ebd6..1e2d53f592 100644
--- a/examples/widgets/lineedits/window.cpp
+++ b/examples/widgets/lineedits/window.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/widgets/lineedits/window.h b/examples/widgets/lineedits/window.h
index ba781ca409..e1e2a93293 100644
--- a/examples/widgets/lineedits/window.h
+++ b/examples/widgets/lineedits/window.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/widgets/movie/main.cpp b/examples/widgets/movie/main.cpp
index 112986a5ad..7557c1fd53 100644
--- a/examples/widgets/movie/main.cpp
+++ b/examples/widgets/movie/main.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/widgets/movie/movieplayer.cpp b/examples/widgets/movie/movieplayer.cpp
index cab171d18f..fc4d4e3ff1 100644
--- a/examples/widgets/movie/movieplayer.cpp
+++ b/examples/widgets/movie/movieplayer.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/widgets/movie/movieplayer.h b/examples/widgets/movie/movieplayer.h
index 1141304e1f..67f544969a 100644
--- a/examples/widgets/movie/movieplayer.h
+++ b/examples/widgets/movie/movieplayer.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/widgets/scribble/main.cpp b/examples/widgets/scribble/main.cpp
index 6e38406bfc..af2f793dd1 100644
--- a/examples/widgets/scribble/main.cpp
+++ b/examples/widgets/scribble/main.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/widgets/scribble/mainwindow.cpp b/examples/widgets/scribble/mainwindow.cpp
index 26d2da3fdf..f4e2258f18 100644
--- a/examples/widgets/scribble/mainwindow.cpp
+++ b/examples/widgets/scribble/mainwindow.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/widgets/scribble/mainwindow.h b/examples/widgets/scribble/mainwindow.h
index cef51db616..a6d22bf092 100644
--- a/examples/widgets/scribble/mainwindow.h
+++ b/examples/widgets/scribble/mainwindow.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/widgets/scribble/scribblearea.cpp b/examples/widgets/scribble/scribblearea.cpp
index 4305bd5a5f..090e0a40a7 100644
--- a/examples/widgets/scribble/scribblearea.cpp
+++ b/examples/widgets/scribble/scribblearea.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/widgets/scribble/scribblearea.h b/examples/widgets/scribble/scribblearea.h
index 86e2538107..9c4396cfe1 100644
--- a/examples/widgets/scribble/scribblearea.h
+++ b/examples/widgets/scribble/scribblearea.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/widgets/shapedclock/main.cpp b/examples/widgets/shapedclock/main.cpp
index 754cd76c20..3dcc6bf1ce 100644
--- a/examples/widgets/shapedclock/main.cpp
+++ b/examples/widgets/shapedclock/main.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/widgets/shapedclock/shapedclock.cpp b/examples/widgets/shapedclock/shapedclock.cpp
index 95855dfb9c..2793fde015 100644
--- a/examples/widgets/shapedclock/shapedclock.cpp
+++ b/examples/widgets/shapedclock/shapedclock.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/widgets/shapedclock/shapedclock.h b/examples/widgets/shapedclock/shapedclock.h
index 7da903f112..9bde6dc105 100644
--- a/examples/widgets/shapedclock/shapedclock.h
+++ b/examples/widgets/shapedclock/shapedclock.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/widgets/sliders/main.cpp b/examples/widgets/sliders/main.cpp
index a0686b68ec..ab53c16467 100644
--- a/examples/widgets/sliders/main.cpp
+++ b/examples/widgets/sliders/main.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/widgets/sliders/slidersgroup.cpp b/examples/widgets/sliders/slidersgroup.cpp
index 4878f17d93..723012a4c5 100644
--- a/examples/widgets/sliders/slidersgroup.cpp
+++ b/examples/widgets/sliders/slidersgroup.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/widgets/sliders/slidersgroup.h b/examples/widgets/sliders/slidersgroup.h
index 68eb9786c0..d17366b077 100644
--- a/examples/widgets/sliders/slidersgroup.h
+++ b/examples/widgets/sliders/slidersgroup.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/widgets/sliders/window.cpp b/examples/widgets/sliders/window.cpp
index fa45ec019c..97d0a05d36 100644
--- a/examples/widgets/sliders/window.cpp
+++ b/examples/widgets/sliders/window.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/widgets/sliders/window.h b/examples/widgets/sliders/window.h
index 8f19238714..12f1c127cf 100644
--- a/examples/widgets/sliders/window.h
+++ b/examples/widgets/sliders/window.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/widgets/softkeys/main.cpp b/examples/widgets/softkeys/main.cpp
index bec61a8a0e..2100f6d977 100644
--- a/examples/widgets/softkeys/main.cpp
+++ b/examples/widgets/softkeys/main.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/widgets/softkeys/softkeys.cpp b/examples/widgets/softkeys/softkeys.cpp
index e5c2e73ebb..33552de30b 100644
--- a/examples/widgets/softkeys/softkeys.cpp
+++ b/examples/widgets/softkeys/softkeys.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/widgets/softkeys/softkeys.h b/examples/widgets/softkeys/softkeys.h
index d533484c62..ccdc4092d3 100644
--- a/examples/widgets/softkeys/softkeys.h
+++ b/examples/widgets/softkeys/softkeys.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/widgets/spinboxes/main.cpp b/examples/widgets/spinboxes/main.cpp
index a0686b68ec..ab53c16467 100644
--- a/examples/widgets/spinboxes/main.cpp
+++ b/examples/widgets/spinboxes/main.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/widgets/spinboxes/window.cpp b/examples/widgets/spinboxes/window.cpp
index b17a15523a..fe2c6da2bb 100644
--- a/examples/widgets/spinboxes/window.cpp
+++ b/examples/widgets/spinboxes/window.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/widgets/spinboxes/window.h b/examples/widgets/spinboxes/window.h
index ae37a9cd74..8c4609332b 100644
--- a/examples/widgets/spinboxes/window.h
+++ b/examples/widgets/spinboxes/window.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/widgets/styles/main.cpp b/examples/widgets/styles/main.cpp
index 1a1e3bc604..cf74622113 100644
--- a/examples/widgets/styles/main.cpp
+++ b/examples/widgets/styles/main.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/widgets/styles/norwegianwoodstyle.cpp b/examples/widgets/styles/norwegianwoodstyle.cpp
index 285571c032..009decf5ce 100644
--- a/examples/widgets/styles/norwegianwoodstyle.cpp
+++ b/examples/widgets/styles/norwegianwoodstyle.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/widgets/styles/norwegianwoodstyle.h b/examples/widgets/styles/norwegianwoodstyle.h
index 4909352469..19ac70e7b5 100644
--- a/examples/widgets/styles/norwegianwoodstyle.h
+++ b/examples/widgets/styles/norwegianwoodstyle.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/widgets/styles/widgetgallery.cpp b/examples/widgets/styles/widgetgallery.cpp
index 195516007f..7d851c801f 100644
--- a/examples/widgets/styles/widgetgallery.cpp
+++ b/examples/widgets/styles/widgetgallery.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/widgets/styles/widgetgallery.h b/examples/widgets/styles/widgetgallery.h
index 39ac21103b..d698ec9f37 100644
--- a/examples/widgets/styles/widgetgallery.h
+++ b/examples/widgets/styles/widgetgallery.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/widgets/stylesheet/main.cpp b/examples/widgets/stylesheet/main.cpp
index d569916eda..a2af83138a 100644
--- a/examples/widgets/stylesheet/main.cpp
+++ b/examples/widgets/stylesheet/main.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/widgets/stylesheet/mainwindow.cpp b/examples/widgets/stylesheet/mainwindow.cpp
index fee781c28d..0ccd53d4e4 100644
--- a/examples/widgets/stylesheet/mainwindow.cpp
+++ b/examples/widgets/stylesheet/mainwindow.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/widgets/stylesheet/mainwindow.h b/examples/widgets/stylesheet/mainwindow.h
index cce08f08cc..3c8bf11525 100644
--- a/examples/widgets/stylesheet/mainwindow.h
+++ b/examples/widgets/stylesheet/mainwindow.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/widgets/stylesheet/stylesheeteditor.cpp b/examples/widgets/stylesheet/stylesheeteditor.cpp
index 4b0bc9afeb..6fba380160 100644
--- a/examples/widgets/stylesheet/stylesheeteditor.cpp
+++ b/examples/widgets/stylesheet/stylesheeteditor.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/widgets/stylesheet/stylesheeteditor.h b/examples/widgets/stylesheet/stylesheeteditor.h
index 09ea4645ac..b264395a42 100644
--- a/examples/widgets/stylesheet/stylesheeteditor.h
+++ b/examples/widgets/stylesheet/stylesheeteditor.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/widgets/tablet/main.cpp b/examples/widgets/tablet/main.cpp
index 7f862cf4d2..8a45f3764e 100644
--- a/examples/widgets/tablet/main.cpp
+++ b/examples/widgets/tablet/main.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/widgets/tablet/mainwindow.cpp b/examples/widgets/tablet/mainwindow.cpp
index ae1d5d34ac..c64c0cc436 100644
--- a/examples/widgets/tablet/mainwindow.cpp
+++ b/examples/widgets/tablet/mainwindow.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/widgets/tablet/mainwindow.h b/examples/widgets/tablet/mainwindow.h
index bca25d725f..cae53ab3dc 100644
--- a/examples/widgets/tablet/mainwindow.h
+++ b/examples/widgets/tablet/mainwindow.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/widgets/tablet/tabletapplication.cpp b/examples/widgets/tablet/tabletapplication.cpp
index d03c9aef2b..da877cee29 100644
--- a/examples/widgets/tablet/tabletapplication.cpp
+++ b/examples/widgets/tablet/tabletapplication.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/widgets/tablet/tabletapplication.h b/examples/widgets/tablet/tabletapplication.h
index 62d29a083b..600219d313 100644
--- a/examples/widgets/tablet/tabletapplication.h
+++ b/examples/widgets/tablet/tabletapplication.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/widgets/tablet/tabletcanvas.cpp b/examples/widgets/tablet/tabletcanvas.cpp
index 4d8f37a17e..1503f07841 100644
--- a/examples/widgets/tablet/tabletcanvas.cpp
+++ b/examples/widgets/tablet/tabletcanvas.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/widgets/tablet/tabletcanvas.h b/examples/widgets/tablet/tabletcanvas.h
index 240fb18b93..e5be134f97 100644
--- a/examples/widgets/tablet/tabletcanvas.h
+++ b/examples/widgets/tablet/tabletcanvas.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/widgets/tetrix/main.cpp b/examples/widgets/tetrix/main.cpp
index 95bbe3b381..1e5bd3a8d8 100644
--- a/examples/widgets/tetrix/main.cpp
+++ b/examples/widgets/tetrix/main.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/widgets/tetrix/tetrixboard.cpp b/examples/widgets/tetrix/tetrixboard.cpp
index 1e1cf51dad..9d77cea9ca 100644
--- a/examples/widgets/tetrix/tetrixboard.cpp
+++ b/examples/widgets/tetrix/tetrixboard.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/widgets/tetrix/tetrixboard.h b/examples/widgets/tetrix/tetrixboard.h
index 069d663a5e..c79843b968 100644
--- a/examples/widgets/tetrix/tetrixboard.h
+++ b/examples/widgets/tetrix/tetrixboard.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/widgets/tetrix/tetrixpiece.cpp b/examples/widgets/tetrix/tetrixpiece.cpp
index 9db60402da..f59901f04e 100644
--- a/examples/widgets/tetrix/tetrixpiece.cpp
+++ b/examples/widgets/tetrix/tetrixpiece.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/widgets/tetrix/tetrixpiece.h b/examples/widgets/tetrix/tetrixpiece.h
index 10754ffaa3..f69015dfca 100644
--- a/examples/widgets/tetrix/tetrixpiece.h
+++ b/examples/widgets/tetrix/tetrixpiece.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/widgets/tetrix/tetrixwindow.cpp b/examples/widgets/tetrix/tetrixwindow.cpp
index 66a9da9db7..52221b1645 100644
--- a/examples/widgets/tetrix/tetrixwindow.cpp
+++ b/examples/widgets/tetrix/tetrixwindow.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/widgets/tetrix/tetrixwindow.h b/examples/widgets/tetrix/tetrixwindow.h
index 16255b16f5..bfe6bf1e30 100644
--- a/examples/widgets/tetrix/tetrixwindow.h
+++ b/examples/widgets/tetrix/tetrixwindow.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/widgets/tooltips/main.cpp b/examples/widgets/tooltips/main.cpp
index ca78c681bd..cb5334403f 100644
--- a/examples/widgets/tooltips/main.cpp
+++ b/examples/widgets/tooltips/main.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/widgets/tooltips/shapeitem.cpp b/examples/widgets/tooltips/shapeitem.cpp
index 5f2315eb51..273c453155 100644
--- a/examples/widgets/tooltips/shapeitem.cpp
+++ b/examples/widgets/tooltips/shapeitem.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/widgets/tooltips/shapeitem.h b/examples/widgets/tooltips/shapeitem.h
index 821f8fc452..2c2c68225d 100644
--- a/examples/widgets/tooltips/shapeitem.h
+++ b/examples/widgets/tooltips/shapeitem.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/widgets/tooltips/sortingbox.cpp b/examples/widgets/tooltips/sortingbox.cpp
index c2bc185bdc..9176a79fd6 100644
--- a/examples/widgets/tooltips/sortingbox.cpp
+++ b/examples/widgets/tooltips/sortingbox.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/widgets/tooltips/sortingbox.h b/examples/widgets/tooltips/sortingbox.h
index 71fa8ca19d..11541ad736 100644
--- a/examples/widgets/tooltips/sortingbox.h
+++ b/examples/widgets/tooltips/sortingbox.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/widgets/validators/ledwidget.cpp b/examples/widgets/validators/ledwidget.cpp
index df77c515be..91a1b682cc 100644
--- a/examples/widgets/validators/ledwidget.cpp
+++ b/examples/widgets/validators/ledwidget.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/widgets/validators/ledwidget.h b/examples/widgets/validators/ledwidget.h
index 2f942be4b4..fc4da75b7c 100644
--- a/examples/widgets/validators/ledwidget.h
+++ b/examples/widgets/validators/ledwidget.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/widgets/validators/localeselector.cpp b/examples/widgets/validators/localeselector.cpp
index 0640cd7c55..e4aae1abb8 100644
--- a/examples/widgets/validators/localeselector.cpp
+++ b/examples/widgets/validators/localeselector.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/widgets/validators/localeselector.h b/examples/widgets/validators/localeselector.h
index 545b3d4c2d..16d1e53c9f 100644
--- a/examples/widgets/validators/localeselector.h
+++ b/examples/widgets/validators/localeselector.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/widgets/validators/main.cpp b/examples/widgets/validators/main.cpp
index 969356c037..2e84b20874 100644
--- a/examples/widgets/validators/main.cpp
+++ b/examples/widgets/validators/main.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/widgets/wiggly/dialog.cpp b/examples/widgets/wiggly/dialog.cpp
index 0838472574..fb2e5ad882 100644
--- a/examples/widgets/wiggly/dialog.cpp
+++ b/examples/widgets/wiggly/dialog.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/widgets/wiggly/dialog.h b/examples/widgets/wiggly/dialog.h
index 4249cd9802..2d0fed190a 100644
--- a/examples/widgets/wiggly/dialog.h
+++ b/examples/widgets/wiggly/dialog.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/widgets/wiggly/main.cpp b/examples/widgets/wiggly/main.cpp
index 4a6cd5d8b1..b8b523f643 100644
--- a/examples/widgets/wiggly/main.cpp
+++ b/examples/widgets/wiggly/main.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
@@ -46,16 +45,13 @@
int main(int argc, char *argv[])
{
QApplication app(argc, argv);
- bool smallScreen = false;
- for (int i=0; i<argc; i++)
- if (QString(argv[i]) == "-small-screen")
- smallScreen = true;
- Dialog dialog(0,smallScreen);
- if (!smallScreen){
+ bool smallScreen = QApplication::arguments().contains("-small-screen");
+
+ Dialog dialog(0, smallScreen);
+
+ if (!smallScreen)
dialog.show();
- }
- else{
+ else
dialog.showFullScreen();
- }
return app.exec();
}
diff --git a/examples/widgets/wiggly/wigglywidget.cpp b/examples/widgets/wiggly/wigglywidget.cpp
index 94b8889853..959522f811 100644
--- a/examples/widgets/wiggly/wigglywidget.cpp
+++ b/examples/widgets/wiggly/wigglywidget.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/widgets/wiggly/wigglywidget.h b/examples/widgets/wiggly/wigglywidget.h
index cb576ea190..8d4fd96e93 100644
--- a/examples/widgets/wiggly/wigglywidget.h
+++ b/examples/widgets/wiggly/wigglywidget.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/widgets/windowflags/controllerwindow.cpp b/examples/widgets/windowflags/controllerwindow.cpp
index fb82b8f664..c2bbdf496e 100644
--- a/examples/widgets/windowflags/controllerwindow.cpp
+++ b/examples/widgets/windowflags/controllerwindow.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/widgets/windowflags/controllerwindow.h b/examples/widgets/windowflags/controllerwindow.h
index 21d7c804c3..ef5b7eaaaa 100644
--- a/examples/widgets/windowflags/controllerwindow.h
+++ b/examples/widgets/windowflags/controllerwindow.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/widgets/windowflags/main.cpp b/examples/widgets/windowflags/main.cpp
index cfccce507f..83f55a2b89 100644
--- a/examples/widgets/windowflags/main.cpp
+++ b/examples/widgets/windowflags/main.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/widgets/windowflags/previewwindow.cpp b/examples/widgets/windowflags/previewwindow.cpp
index 4f1a31c148..28292efede 100644
--- a/examples/widgets/windowflags/previewwindow.cpp
+++ b/examples/widgets/windowflags/previewwindow.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/widgets/windowflags/previewwindow.h b/examples/widgets/windowflags/previewwindow.h
index bdd4635626..cf45ff09bd 100644
--- a/examples/widgets/windowflags/previewwindow.h
+++ b/examples/widgets/windowflags/previewwindow.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/xml/dombookmarks/dombookmarks.pro b/examples/xml/dombookmarks/dombookmarks.pro
index 25e21cd24e..f906d2f354 100644
--- a/examples/xml/dombookmarks/dombookmarks.pro
+++ b/examples/xml/dombookmarks/dombookmarks.pro
@@ -15,6 +15,6 @@ symbian: include($$QT_SOURCE_TREE/examples/symbianpkgrules.pri)
wince*: {
addFiles.sources = frank.xbel jennifer.xbel
- addFiles.path = \My Documents
+ addFiles.path = "\\My Documents"
DEPLOYMENT += addFiles
}
diff --git a/examples/xml/dombookmarks/main.cpp b/examples/xml/dombookmarks/main.cpp
index 6472bd4c67..3b68da9902 100644
--- a/examples/xml/dombookmarks/main.cpp
+++ b/examples/xml/dombookmarks/main.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/xml/dombookmarks/mainwindow.cpp b/examples/xml/dombookmarks/mainwindow.cpp
index 449ee54915..8e2a0c0fdf 100644
--- a/examples/xml/dombookmarks/mainwindow.cpp
+++ b/examples/xml/dombookmarks/mainwindow.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/xml/dombookmarks/mainwindow.h b/examples/xml/dombookmarks/mainwindow.h
index 53151b0850..a6b7dc934f 100644
--- a/examples/xml/dombookmarks/mainwindow.h
+++ b/examples/xml/dombookmarks/mainwindow.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/xml/dombookmarks/xbeltree.cpp b/examples/xml/dombookmarks/xbeltree.cpp
index cdce1de84b..eb3a35cd75 100644
--- a/examples/xml/dombookmarks/xbeltree.cpp
+++ b/examples/xml/dombookmarks/xbeltree.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/xml/dombookmarks/xbeltree.h b/examples/xml/dombookmarks/xbeltree.h
index dc67fc9075..b0d8582abf 100644
--- a/examples/xml/dombookmarks/xbeltree.h
+++ b/examples/xml/dombookmarks/xbeltree.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/xml/htmlinfo/main.cpp b/examples/xml/htmlinfo/main.cpp
index 09ac316cce..066edb6973 100644
--- a/examples/xml/htmlinfo/main.cpp
+++ b/examples/xml/htmlinfo/main.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/xml/rsslisting/main.cpp b/examples/xml/rsslisting/main.cpp
index 6ded111868..95c8a8957c 100644
--- a/examples/xml/rsslisting/main.cpp
+++ b/examples/xml/rsslisting/main.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/xml/rsslisting/rsslisting.cpp b/examples/xml/rsslisting/rsslisting.cpp
index 3ddc65cc42..b7c9eb0e4c 100644
--- a/examples/xml/rsslisting/rsslisting.cpp
+++ b/examples/xml/rsslisting/rsslisting.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/xml/rsslisting/rsslisting.h b/examples/xml/rsslisting/rsslisting.h
index fd456650fb..8939dfd930 100644
--- a/examples/xml/rsslisting/rsslisting.h
+++ b/examples/xml/rsslisting/rsslisting.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/xml/saxbookmarks/main.cpp b/examples/xml/saxbookmarks/main.cpp
index 02975d45d8..8c766364c7 100644
--- a/examples/xml/saxbookmarks/main.cpp
+++ b/examples/xml/saxbookmarks/main.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/xml/saxbookmarks/mainwindow.cpp b/examples/xml/saxbookmarks/mainwindow.cpp
index c31d3ca69d..d0863f9b51 100644
--- a/examples/xml/saxbookmarks/mainwindow.cpp
+++ b/examples/xml/saxbookmarks/mainwindow.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/xml/saxbookmarks/mainwindow.h b/examples/xml/saxbookmarks/mainwindow.h
index 200640bf6b..07e3f6c7bf 100644
--- a/examples/xml/saxbookmarks/mainwindow.h
+++ b/examples/xml/saxbookmarks/mainwindow.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/xml/saxbookmarks/saxbookmarks.pro b/examples/xml/saxbookmarks/saxbookmarks.pro
index 4af3ddd6dc..7293bd1f64 100644
--- a/examples/xml/saxbookmarks/saxbookmarks.pro
+++ b/examples/xml/saxbookmarks/saxbookmarks.pro
@@ -15,7 +15,7 @@ INSTALLS += target sources
wince*: {
addFiles.sources = frank.xbel jennifer.xbel
- addFiles.path = \My Documents
+ addFiles.path = "\\My Documents"
DEPLOYMENT += addFiles
}
diff --git a/examples/xml/saxbookmarks/xbelgenerator.cpp b/examples/xml/saxbookmarks/xbelgenerator.cpp
index 31d98315e3..1e50b3ccc1 100644
--- a/examples/xml/saxbookmarks/xbelgenerator.cpp
+++ b/examples/xml/saxbookmarks/xbelgenerator.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/xml/saxbookmarks/xbelgenerator.h b/examples/xml/saxbookmarks/xbelgenerator.h
index b80653f4ca..6d26194d42 100644
--- a/examples/xml/saxbookmarks/xbelgenerator.h
+++ b/examples/xml/saxbookmarks/xbelgenerator.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/xml/saxbookmarks/xbelhandler.cpp b/examples/xml/saxbookmarks/xbelhandler.cpp
index 866591c575..52e56ed731 100644
--- a/examples/xml/saxbookmarks/xbelhandler.cpp
+++ b/examples/xml/saxbookmarks/xbelhandler.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/xml/saxbookmarks/xbelhandler.h b/examples/xml/saxbookmarks/xbelhandler.h
index 4a7a087d1e..15b664cfd8 100644
--- a/examples/xml/saxbookmarks/xbelhandler.h
+++ b/examples/xml/saxbookmarks/xbelhandler.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/xml/streambookmarks/main.cpp b/examples/xml/streambookmarks/main.cpp
index 0cae7fbaa3..6ddcb36da7 100644
--- a/examples/xml/streambookmarks/main.cpp
+++ b/examples/xml/streambookmarks/main.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/xml/streambookmarks/mainwindow.cpp b/examples/xml/streambookmarks/mainwindow.cpp
index 26c270afc0..ce327d7963 100644
--- a/examples/xml/streambookmarks/mainwindow.cpp
+++ b/examples/xml/streambookmarks/mainwindow.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/xml/streambookmarks/mainwindow.h b/examples/xml/streambookmarks/mainwindow.h
index e56d88a6f3..74503c574d 100644
--- a/examples/xml/streambookmarks/mainwindow.h
+++ b/examples/xml/streambookmarks/mainwindow.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/xml/streambookmarks/xbelreader.cpp b/examples/xml/streambookmarks/xbelreader.cpp
index 71ed62acb5..7ed62f62ea 100644
--- a/examples/xml/streambookmarks/xbelreader.cpp
+++ b/examples/xml/streambookmarks/xbelreader.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/xml/streambookmarks/xbelreader.h b/examples/xml/streambookmarks/xbelreader.h
index 78c87b1e2b..43595f98a6 100644
--- a/examples/xml/streambookmarks/xbelreader.h
+++ b/examples/xml/streambookmarks/xbelreader.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/xml/streambookmarks/xbelwriter.cpp b/examples/xml/streambookmarks/xbelwriter.cpp
index 70d6de3b3d..d5944364a9 100644
--- a/examples/xml/streambookmarks/xbelwriter.cpp
+++ b/examples/xml/streambookmarks/xbelwriter.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/xml/streambookmarks/xbelwriter.h b/examples/xml/streambookmarks/xbelwriter.h
index cb871cd21b..be7fe52e19 100644
--- a/examples/xml/streambookmarks/xbelwriter.h
+++ b/examples/xml/streambookmarks/xbelwriter.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/xml/xmlstreamlint/main.cpp b/examples/xml/xmlstreamlint/main.cpp
index de640ae2c1..3780dfacb2 100644
--- a/examples/xml/xmlstreamlint/main.cpp
+++ b/examples/xml/xmlstreamlint/main.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/xmlpatterns/filetree/filetree.cpp b/examples/xmlpatterns/filetree/filetree.cpp
index c1dcbbfc1c..195ba32a34 100644
--- a/examples/xmlpatterns/filetree/filetree.cpp
+++ b/examples/xmlpatterns/filetree/filetree.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/xmlpatterns/filetree/filetree.h b/examples/xmlpatterns/filetree/filetree.h
index 0b3a6ae680..f19d6ef531 100644
--- a/examples/xmlpatterns/filetree/filetree.h
+++ b/examples/xmlpatterns/filetree/filetree.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/xmlpatterns/filetree/main.cpp b/examples/xmlpatterns/filetree/main.cpp
index b619aef684..358cf5a627 100644
--- a/examples/xmlpatterns/filetree/main.cpp
+++ b/examples/xmlpatterns/filetree/main.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/xmlpatterns/filetree/mainwindow.cpp b/examples/xmlpatterns/filetree/mainwindow.cpp
index 43b87d7967..5b9b0c3ff0 100644
--- a/examples/xmlpatterns/filetree/mainwindow.cpp
+++ b/examples/xmlpatterns/filetree/mainwindow.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/xmlpatterns/filetree/mainwindow.h b/examples/xmlpatterns/filetree/mainwindow.h
index 7d420efef8..ed82595b3b 100644
--- a/examples/xmlpatterns/filetree/mainwindow.h
+++ b/examples/xmlpatterns/filetree/mainwindow.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/xmlpatterns/qobjectxmlmodel/main.cpp b/examples/xmlpatterns/qobjectxmlmodel/main.cpp
index e704d9c133..1fcdb77b65 100644
--- a/examples/xmlpatterns/qobjectxmlmodel/main.cpp
+++ b/examples/xmlpatterns/qobjectxmlmodel/main.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/xmlpatterns/qobjectxmlmodel/mainwindow.cpp b/examples/xmlpatterns/qobjectxmlmodel/mainwindow.cpp
index e38ef0fd2c..a801ad3fd9 100644
--- a/examples/xmlpatterns/qobjectxmlmodel/mainwindow.cpp
+++ b/examples/xmlpatterns/qobjectxmlmodel/mainwindow.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/xmlpatterns/qobjectxmlmodel/mainwindow.h b/examples/xmlpatterns/qobjectxmlmodel/mainwindow.h
index 8da34994f0..de024e24e2 100644
--- a/examples/xmlpatterns/qobjectxmlmodel/mainwindow.h
+++ b/examples/xmlpatterns/qobjectxmlmodel/mainwindow.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/xmlpatterns/qobjectxmlmodel/qobjectxmlmodel.cpp b/examples/xmlpatterns/qobjectxmlmodel/qobjectxmlmodel.cpp
index b459b98c99..891bbaac87 100644
--- a/examples/xmlpatterns/qobjectxmlmodel/qobjectxmlmodel.cpp
+++ b/examples/xmlpatterns/qobjectxmlmodel/qobjectxmlmodel.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/xmlpatterns/qobjectxmlmodel/qobjectxmlmodel.h b/examples/xmlpatterns/qobjectxmlmodel/qobjectxmlmodel.h
index 148ac4574a..05309603f2 100644
--- a/examples/xmlpatterns/qobjectxmlmodel/qobjectxmlmodel.h
+++ b/examples/xmlpatterns/qobjectxmlmodel/qobjectxmlmodel.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/xmlpatterns/recipes/main.cpp b/examples/xmlpatterns/recipes/main.cpp
index aaa3253abe..a0d7d27249 100644
--- a/examples/xmlpatterns/recipes/main.cpp
+++ b/examples/xmlpatterns/recipes/main.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/xmlpatterns/recipes/querymainwindow.cpp b/examples/xmlpatterns/recipes/querymainwindow.cpp
index f41f8e997c..0fd2483c52 100644
--- a/examples/xmlpatterns/recipes/querymainwindow.cpp
+++ b/examples/xmlpatterns/recipes/querymainwindow.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/xmlpatterns/recipes/querymainwindow.h b/examples/xmlpatterns/recipes/querymainwindow.h
index 7838ed99a2..b4ddf921c5 100644
--- a/examples/xmlpatterns/recipes/querymainwindow.h
+++ b/examples/xmlpatterns/recipes/querymainwindow.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/xmlpatterns/schema/main.cpp b/examples/xmlpatterns/schema/main.cpp
index b9c36ccf07..821b2d3e87 100644
--- a/examples/xmlpatterns/schema/main.cpp
+++ b/examples/xmlpatterns/schema/main.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/xmlpatterns/schema/mainwindow.cpp b/examples/xmlpatterns/schema/mainwindow.cpp
index 7847fcb2ec..6ac1a04247 100644
--- a/examples/xmlpatterns/schema/mainwindow.cpp
+++ b/examples/xmlpatterns/schema/mainwindow.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/xmlpatterns/schema/mainwindow.h b/examples/xmlpatterns/schema/mainwindow.h
index 3626768e5e..94affe3f7d 100644
--- a/examples/xmlpatterns/schema/mainwindow.h
+++ b/examples/xmlpatterns/schema/mainwindow.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/xmlpatterns/shared/xmlsyntaxhighlighter.cpp b/examples/xmlpatterns/shared/xmlsyntaxhighlighter.cpp
index f86d33fabf..13a4959d78 100644
--- a/examples/xmlpatterns/shared/xmlsyntaxhighlighter.cpp
+++ b/examples/xmlpatterns/shared/xmlsyntaxhighlighter.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/xmlpatterns/shared/xmlsyntaxhighlighter.h b/examples/xmlpatterns/shared/xmlsyntaxhighlighter.h
index f53f62e9d8..6205d53a2c 100644
--- a/examples/xmlpatterns/shared/xmlsyntaxhighlighter.h
+++ b/examples/xmlpatterns/shared/xmlsyntaxhighlighter.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/xmlpatterns/trafficinfo/main.cpp b/examples/xmlpatterns/trafficinfo/main.cpp
index 21e075f639..12ff77d008 100644
--- a/examples/xmlpatterns/trafficinfo/main.cpp
+++ b/examples/xmlpatterns/trafficinfo/main.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/xmlpatterns/trafficinfo/mainwindow.cpp b/examples/xmlpatterns/trafficinfo/mainwindow.cpp
index d59084b8b5..f12d2ee98b 100644
--- a/examples/xmlpatterns/trafficinfo/mainwindow.cpp
+++ b/examples/xmlpatterns/trafficinfo/mainwindow.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/xmlpatterns/trafficinfo/mainwindow.h b/examples/xmlpatterns/trafficinfo/mainwindow.h
index a29866e2d8..aa951dbe61 100644
--- a/examples/xmlpatterns/trafficinfo/mainwindow.h
+++ b/examples/xmlpatterns/trafficinfo/mainwindow.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/xmlpatterns/trafficinfo/stationdialog.cpp b/examples/xmlpatterns/trafficinfo/stationdialog.cpp
index b96c03042a..cec0ba3920 100644
--- a/examples/xmlpatterns/trafficinfo/stationdialog.cpp
+++ b/examples/xmlpatterns/trafficinfo/stationdialog.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/xmlpatterns/trafficinfo/stationdialog.h b/examples/xmlpatterns/trafficinfo/stationdialog.h
index b4964e30d5..ee235efa36 100644
--- a/examples/xmlpatterns/trafficinfo/stationdialog.h
+++ b/examples/xmlpatterns/trafficinfo/stationdialog.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/xmlpatterns/trafficinfo/stationquery.cpp b/examples/xmlpatterns/trafficinfo/stationquery.cpp
index 5b2a09b05d..eebfa4d177 100644
--- a/examples/xmlpatterns/trafficinfo/stationquery.cpp
+++ b/examples/xmlpatterns/trafficinfo/stationquery.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/xmlpatterns/trafficinfo/stationquery.h b/examples/xmlpatterns/trafficinfo/stationquery.h
index cf52fde446..928e83f9b2 100644
--- a/examples/xmlpatterns/trafficinfo/stationquery.h
+++ b/examples/xmlpatterns/trafficinfo/stationquery.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/xmlpatterns/trafficinfo/timequery.cpp b/examples/xmlpatterns/trafficinfo/timequery.cpp
index 43d1fb6a5c..8900149dcb 100644
--- a/examples/xmlpatterns/trafficinfo/timequery.cpp
+++ b/examples/xmlpatterns/trafficinfo/timequery.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/xmlpatterns/trafficinfo/timequery.h b/examples/xmlpatterns/trafficinfo/timequery.h
index f186c6438c..8ddd6706e8 100644
--- a/examples/xmlpatterns/trafficinfo/timequery.h
+++ b/examples/xmlpatterns/trafficinfo/timequery.h
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/xmlpatterns/xquery/globalVariables/globals.cpp b/examples/xmlpatterns/xquery/globalVariables/globals.cpp
index a9d2240886..4d80318952 100644
--- a/examples/xmlpatterns/xquery/globalVariables/globals.cpp
+++ b/examples/xmlpatterns/xquery/globalVariables/globals.cpp
@@ -6,35 +6,34 @@
**
** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/mkspecs/common/qws.conf b/mkspecs/common/qws.conf
index 2e8ae2c4ae..59820b8083 100644
--- a/mkspecs/common/qws.conf
+++ b/mkspecs/common/qws.conf
@@ -12,5 +12,11 @@ QMAKE_INCREMENTAL_STYLE = sublib
# modifications to linux.conf
QMAKE_INCDIR_X11 =
QMAKE_LIBDIR_X11 =
+QMAKE_INCDIR_OPENGL =
+QMAKE_LIBDIR_OPENGL =
+QMAKE_INCDIR_OPENGL_ES1 =
+QMAKE_LIBDIR_OPENGL_ES1 =
+QMAKE_INCDIR_OPENGL_ES2 =
+QMAKE_LIBDIR_OPENGL_ES2 =
QMAKE_LIBS_X11 =
QMAKE_LIBS_X11SM =
diff --git a/mkspecs/common/symbian/symbian-makefile.conf b/mkspecs/common/symbian/symbian-makefile.conf
index 3801effb84..ab0c5b982a 100644
--- a/mkspecs/common/symbian/symbian-makefile.conf
+++ b/mkspecs/common/symbian/symbian-makefile.conf
@@ -13,7 +13,13 @@ QMAKE_RUN_CC_IMP = $(CC) -c $(CFLAGS) $(INCPATH) -o $@ $<
QMAKE_RUN_CXX = $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $obj $src
QMAKE_RUN_CXX_IMP = $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $<
-QMAKE_ELF2E32_FLAGS +=
+QMAKE_ELF2E32_FLAGS = --dlldata \
+ --heap=0x00020000,0x00800000 \
+ --stack=0x00014000 \
+ --fpu=softvfp \
+ --unfrozen \
+ --compressionmethod bytepair \
+ --unpaged
include(../../common/unix.conf)
@@ -25,7 +31,7 @@ QMAKE_PREFIX_STATICLIB =
QMAKE_EXTENSION_STATICLIB = lib
QMAKE_SYMBIAN_SHLIB = 1
-DEFINES *= __PRODUCT_INCLUDE__=\<$${EPOCROOT}epoc32/include/variant/symbian_os.hrh\> \
+DEFINES *= __PRODUCT_INCLUDE__=\\<$${EPOCROOT}epoc32/include/variant/symbian_os.hrh\\> \
__SYMBIAN32__ \
__MARM_INTERWORK__ \
_UNICODE \
diff --git a/mkspecs/common/symbian/symbian-mmp.conf b/mkspecs/common/symbian/symbian-mmp.conf
index 1ab228f184..5a7b2d22ba 100644
--- a/mkspecs/common/symbian/symbian-mmp.conf
+++ b/mkspecs/common/symbian/symbian-mmp.conf
@@ -38,14 +38,22 @@ INCLUDEPATH = \
# RVCT seems to do this automatically, but WINSCW compiler does not, so add it here.
MMP_RULES += "USERINCLUDE ."
-exists($${EPOCROOT}epoc32/release/winscw/udeb/z/system/install/series60v5.0.sis )|exists($${EPOCROOT}epoc32/data/z/system/install/series60v5.0.sis) {
- S60_VERSION = 5.0
+exists($${EPOCROOT}epoc32/release/winscw/udeb/z/system/install/series60v5.2.sis)|exists($${EPOCROOT}epoc32/data/z/system/install/series60v5.2.sis) {
+ S60_VERSION = 5.2 symbian3
} else {
- exists($${EPOCROOT}epoc32/release/winscw/udeb/z/system/install/series60v3.2.sis )|exists($${EPOCROOT}epoc32/data/z/system/install/series60v3.2.sis) {
- S60_VERSION = 3.2
+ exists($${EPOCROOT}epoc32/release/winscw/udeb/z/system/install/series60v5.1.sis)|exists($${EPOCROOT}epoc32/data/z/system/install/series60v5.1.sis) {
+ S60_VERSION = 5.1 symbian2
} else {
- S60_VERSION = 3.1
- MMP_RULES -= PAGED BYTEPAIRCOMPRESSTARGET
+ exists($${EPOCROOT}epoc32/release/winscw/udeb/z/system/install/series60v5.0.sis)|exists($${EPOCROOT}epoc32/data/z/system/install/series60v5.0.sis) {
+ S60_VERSION = 5.0
+ } else {
+ exists($${EPOCROOT}epoc32/release/winscw/udeb/z/system/install/series60v3.2.sis)|exists($${EPOCROOT}epoc32/data/z/system/install/series60v3.2.sis) {
+ S60_VERSION = 3.2
+ } else {
+ S60_VERSION = 3.1
+ MMP_RULES -= PAGED BYTEPAIRCOMPRESSTARGET
+ }
+ }
}
}
diff --git a/mkspecs/common/symbian/symbian.conf b/mkspecs/common/symbian/symbian.conf
index 0bd0bf20ea..b037d3c3da 100644
--- a/mkspecs/common/symbian/symbian.conf
+++ b/mkspecs/common/symbian/symbian.conf
@@ -3,7 +3,7 @@
#
TEMPLATE = app
-CONFIG += qt warn_on release incremental link_prl sis_targets
+CONFIG += qt warn_on release incremental link_prl sis_targets run_on_phone
QT += core gui
QMAKE_INCREMENTAL_STYLE = sublib
@@ -66,7 +66,7 @@ QMAKE_LINK_OBJECT_MAX =
QMAKE_LINK_OBJECT_SCRIPT=
QMAKE_LIBS = -llibc -llibm -leuser -llibdl
-QMAKE_LIBS_CORE = $$QMAKE_LIBS -lefsrv -lhal
+QMAKE_LIBS_CORE = $$QMAKE_LIBS -lefsrv -lhal -lbafl
QMAKE_LIBS_GUI = $$QMAKE_LIBS_CORE -lfbscli -lbitgdi -lgdi -lws32 -lapgrfx -lcone -leikcore -lmediaclientaudio -leikcoctl -leiksrv -lapparc -lcentralrepository
QMAKE_LIBS_NETWORK =
QMAKE_LIBS_EGL = -llibEGL
@@ -119,13 +119,14 @@ load(symbian/platform_paths)
default_deployment.pkg_prerules += pkg_depends_webkit pkg_depends_qt pkg_platform_dependencies
-# Supports S60 3.0, 3.1, 3.2 and 5.0 by default
+# Supports S60 3.0, 3.1, 3.2, 5.0 and Symbian^3 by default
pkg_platform_dependencies = \
"; Default HW/platform dependencies" \
"[0x101F7961],0,0,0,{\"S60ProductID\"}" \
"[0x102032BE],0,0,0,{\"S60ProductID\"}" \
"[0x102752AE],0,0,0,{\"S60ProductID\"}" \
"[0x1028315F],0,0,0,{\"S60ProductID\"}" \
+ "[0x20022e6d],0,0,0,{\"S60ProductID\"}" \
" "
DEPLOYMENT += default_deployment
diff --git a/mkspecs/common/wince/qmake.conf b/mkspecs/common/wince/qmake.conf
index 705cdc363d..57b89b9650 100644
--- a/mkspecs/common/wince/qmake.conf
+++ b/mkspecs/common/wince/qmake.conf
@@ -70,9 +70,9 @@ QMAKE_LIBS_OPENGL_ES2 = libGLESv2.lib
QMAKE_LIBS_QT_ENTRY = -lqtmain
-QMAKE_MOC = $$[QT_INSTALL_BINS]\moc.exe
-QMAKE_UIC = $$[QT_INSTALL_BINS]\uic.exe
-QMAKE_IDC = $$[QT_INSTALL_BINS]\idc.exe
+QMAKE_MOC = $$[QT_INSTALL_BINS]\\moc.exe
+QMAKE_UIC = $$[QT_INSTALL_BINS]\\uic.exe
+QMAKE_IDC = $$[QT_INSTALL_BINS]\\idc.exe
QMAKE_IDL = midl
QMAKE_LIB = lib
diff --git a/mkspecs/features/dbusadaptors.prf b/mkspecs/features/dbusadaptors.prf
index 241ace6112..3463d586dd 100644
--- a/mkspecs/features/dbusadaptors.prf
+++ b/mkspecs/features/dbusadaptors.prf
@@ -1,11 +1,8 @@
-isEmpty(QMAKE_QDBUSXML2CPP) {
- win32:QMAKE_QDBUSXML2CPP = $$[QT_INSTALL_BINS]\qdbusxml2cpp.exe
- else:QMAKE_QDBUSXML2CPP = $$[QT_INSTALL_BINS]/qdbusxml2cpp
-}
+qtPrepareTool(QMAKE_QDBUSXML2CPP, qdbusxml2cpp)
for(DBUS_ADAPTOR, $$list($$unique(DBUS_ADAPTORS))) {
- !contains(DBUS_ADAPTOR, .*\w\.xml$) {
+ !contains(DBUS_ADAPTOR, .*\\w\\.xml$) {
warning("Invalid D-BUS adaptor: '$${DBUS_ADAPTOR}', please use 'com.mydomain.myinterface.xml' instead.")
next()
}
diff --git a/mkspecs/features/dbusinterfaces.prf b/mkspecs/features/dbusinterfaces.prf
index c32597a4fe..1828802a44 100644
--- a/mkspecs/features/dbusinterfaces.prf
+++ b/mkspecs/features/dbusinterfaces.prf
@@ -1,13 +1,10 @@
load(moc)
-isEmpty(QMAKE_QDBUSXML2CPP) {
- win32:QMAKE_QDBUSXML2CPP = $$[QT_INSTALL_BINS]\qdbusxml2cpp.exe
- else:QMAKE_QDBUSXML2CPP = $$[QT_INSTALL_BINS]/qdbusxml2cpp
-}
+qtPrepareTool(QMAKE_QDBUSXML2CPP, qdbusxml2cpp)
for(DBUS_INTERFACE, $$list($$unique(DBUS_INTERFACES))) {
- !contains(DBUS_INTERFACE, .*\w\.xml$) {
+ !contains(DBUS_INTERFACE, .*\\w\\.xml$) {
warning("Invalid D-BUS interface : '$${DBUS_INTERFACE}', please use 'com.mydomain.myinterface.xml' instead.")
next()
}
diff --git a/mkspecs/features/default_pre.prf b/mkspecs/features/default_pre.prf
index 6442594240..2e82f03eb9 100644
--- a/mkspecs/features/default_pre.prf
+++ b/mkspecs/features/default_pre.prf
@@ -1,2 +1,3 @@
load(exclusive_builds)
+### Qt 5: remove "uic" and "resources" - or add "qt"
CONFIG = lex yacc warn_on debug uic resources $$CONFIG
diff --git a/mkspecs/features/incredibuild_xge.prf b/mkspecs/features/incredibuild_xge.prf
index e241ca4591..a81a0ccde1 100644
--- a/mkspecs/features/incredibuild_xge.prf
+++ b/mkspecs/features/incredibuild_xge.prf
@@ -1,11 +1,11 @@
contains(TEMPLATE, "vc.*")|contains(TEMPLATE_PREFIX, "vc") {
- EOC = \$\$escape_expand(\n\t)
+ EOC = $$escape_expand(\\n\\t)
# The VCPROJ generator will replace the \r\h with the coded \r\n: &#x0d;&#x0a;
# No other generator understands the \h
- win32-msvc2*|wince*msvc*: EOC = \$\$escape_expand(\r\h)
+ win32-msvc2*|wince*msvc*: EOC = $$escape_expand(\\r\\h)
for(xge, INCREDIBUILD_XGE) {
- eval($${xge}.commands = Rem IncrediBuild_AllowRemote $$EOC Rem IncrediBuild_OutputFile $$replace($${xge}.output,/,\\) $$EOC $$eval($${xge}.commands))
+ $${xge}.commands = Rem IncrediBuild_AllowRemote $$EOC Rem IncrediBuild_OutputFile $$replace($${xge}.output,/,\\) $$EOC $$eval($${xge}.commands)
}
}
diff --git a/mkspecs/features/lex.prf b/mkspecs/features/lex.prf
index df76a68c19..43d8fbd038 100644
--- a/mkspecs/features/lex.prf
+++ b/mkspecs/features/lex.prf
@@ -14,9 +14,9 @@
QMAKE_LEXEXTRAFLAGS = $$QMAKE_LEXFLAGS
!yacc_no_name_mangle:QMAKE_LEXEXTRAFLAGS += $$QMAKE_LEXFLAGS_MANGLE
- lex.commands = $$QMAKE_LEX $$QMAKE_LEXEXTRAFLAGS ${QMAKE_FILE_IN}$$escape_expand(\n\t) \
- $$QMAKE_DEL_FILE $${QMAKE_CPP_MOD_MOC}${QMAKE_FILE_BASE}_lex$${first(QMAKE_EXT_CPP)}$$escape_expand(\n\t) \
- $$QMAKE_MOVE lex.${QMAKE_FILE_BASE}.c $${QMAKE_CPP_MOD_MOC}${QMAKE_FILE_BASE}_lex$${first(QMAKE_EXT_CPP)}$$escape_expand(\n\t)
+ lex.commands = $$QMAKE_LEX $$QMAKE_LEXEXTRAFLAGS ${QMAKE_FILE_IN}$$escape_expand(\\n\\t) \
+ $$QMAKE_DEL_FILE $${QMAKE_CPP_MOD_MOC}${QMAKE_FILE_BASE}_lex$${first(QMAKE_EXT_CPP)}$$escape_expand(\\n\\t) \
+ $$QMAKE_MOVE lex.${QMAKE_FILE_BASE}.c $${QMAKE_CPP_MOD_MOC}${QMAKE_FILE_BASE}_lex$${first(QMAKE_EXT_CPP)}$$escape_expand(\\n\\t)
lex.output = $${QMAKE_CPP_MOD_MOC}${QMAKE_FILE_BASE}_lex$${first(QMAKE_EXT_CPP)}
silent:lex.commands = @echo Lex ${QMAKE_FILE_IN} && $$lex.commands
diff --git a/mkspecs/features/moc.prf b/mkspecs/features/moc.prf
index d12f5adbbc..abda78fe47 100644
--- a/mkspecs/features/moc.prf
+++ b/mkspecs/features/moc.prf
@@ -1,9 +1,6 @@
#global defaults
-isEmpty(QMAKE_MOC) {
- contains(QMAKE_HOST.os,Windows):QMAKE_MOC = $$[QT_INSTALL_BINS]\moc.exe
- else:QMAKE_MOC = $$[QT_INSTALL_BINS]/moc
-}
+qtPrepareTool(QMAKE_MOC, moc)
isEmpty(MOC_DIR):MOC_DIR = .
isEmpty(QMAKE_H_MOD_MOC):QMAKE_H_MOD_MOC = moc_
isEmpty(QMAKE_EXT_CPP_MOC):QMAKE_EXT_CPP_MOC = .moc
@@ -17,13 +14,13 @@ win32:count($$list($$INCLUDEPATH), 40, >) {
WIN_INCLUDETEMP=$$INCLUDETEMP
- EOC = $$escape_expand(\n\t)
+ EOC = $$escape_expand(\\n\\t)
if(contains(TEMPLATE, "vc.*")|contains(TEMPLATE_PREFIX, "vc")) {
# the VCPROJ generator will replace the \r\h with the coded \r\n: &#x0d;&#x0a;
# No other generator understands the \h
- if(win32-msvc2*|wince*msvc*): EOC = $$escape_expand(\r\h)
- else: EOC = $$escape_expand(\\)$$escape_expand(\n\t)
+ if(win32-msvc2*|wince*msvc*): EOC = $$escape_expand(\\r\\h)
+ else: EOC = $$escape_expand(\\\\\\n\\t)
}
unset(INCFILELIST)
diff --git a/mkspecs/features/qt.prf b/mkspecs/features/qt.prf
index 7b0b4afd8b..e8946debbb 100644
--- a/mkspecs/features/qt.prf
+++ b/mkspecs/features/qt.prf
@@ -31,12 +31,15 @@ plugin { #Qt plugins
}
}
+#handle modules
+for(mod,$$list($$files($$[QMAKE_MKSPECS]/modules/qt_*.pri))):include($$mod)
+
#handle includes
INCLUDEPATH = $$QMAKE_INCDIR_QT $$INCLUDEPATH #prepending prevents us from picking up "stale" includes
win32:INCLUDEPATH += $$QMAKE_INCDIR_QT/ActiveQt
# As order does matter for static libs, we reorder the QT variable here
-TMPLIBS = declarative webkit phonon mediaservices multimedia dbus testlib script scripttools svg qt3support sql xmlpatterns xml egl opengl openvg gui network core
+TMPLIBS = declarative webkit phonon multimedia dbus testlib script scripttools svg qt3support sql xmlpatterns xml egl opengl openvg gui network core
for(QTLIB, $$list($$TMPLIBS)) {
contains(QT, $$QTLIB): QT_ORDERED += $$QTLIB
}
@@ -175,7 +178,6 @@ for(QTLIB, $$list($$lower($$unique(QT)))) {
}
} else:isEqual(QTLIB, declarative):qlib = QtDeclarative
else:isEqual(QTLIB, multimedia):qlib = QtMultimedia
- else:isEqual(QTLIB, mediaservices):qlib = QtMediaServices
else:message("Unknown QT: $$QTLIB"):qlib =
!isEmpty(qlib) {
target_qt:isEqual(TARGET, qlib) {
diff --git a/mkspecs/features/qt_functions.prf b/mkspecs/features/qt_functions.prf
index 1be6d9bb44..a49c1a6a32 100644
--- a/mkspecs/features/qt_functions.prf
+++ b/mkspecs/features/qt_functions.prf
@@ -78,3 +78,14 @@ defineTest(qtAddLibrary) {
export(QMAKE_LFLAGS)
return(true)
}
+
+# variable, default
+defineTest(qtPrepareTool) {
+ isEmpty($$1) {
+ !isEmpty(QT_BUILD_TREE):$$1 = $$QT_BUILD_TREE/bin/$$2
+ else:$$1 = $$[QT_INSTALL_BINS]/$$2
+ }
+ $$1 ~= s,[/\\\\],$$QMAKE_DIR_SEP,
+ contains(QMAKE_HOST.os, Windows):!contains($$1, .*\\.exe$):$$1 = $$eval($$1).exe
+ export($$1)
+}
diff --git a/mkspecs/features/qttest_p4.prf b/mkspecs/features/qttest_p4.prf
index e3faef12f4..d1c7c2be93 100644
--- a/mkspecs/features/qttest_p4.prf
+++ b/mkspecs/features/qttest_p4.prf
@@ -1,51 +1,17 @@
isEmpty(TEMPLATE):TEMPLATE=app
-CONFIG += qt warn_on console depend_includepath
+CONFIG += qt warn_on console depend_includepath testcase
qtAddLibrary(QtTest)
symbian:{
TARGET.EPOCHEAPSIZE = 0x100000 0x2000000
# DEFINES += QTEST_NO_SPECIALIZATIONS
- TARGET.CAPABILITY="ALL -TCB"
+ TARGET.CAPABILITY="None"
RSS_RULES ="group_name=\"QtTests\";"
}
# prefix test binary with tst_
!contains(TARGET, ^tst_.*):TARGET = $$join(TARGET,,"tst_")
-
-check.files =
-check.path = .
-!isEmpty(DESTDIR): check.commands = cd ./$(DESTDIR) &&
-macx: check.commands += ./$(QMAKE_TARGET).app/Contents/MacOS/$(QMAKE_TARGET)
-else:unix: check.commands += ./$(QMAKE_TARGET)
-else:win32: {
- CONFIG(debug, debug|release):check.commands += $(DESTDIR_TARGET)
- else:check.commands += $(DESTDIR_TARGET)
-}
-embedded: check.commands += -qws
-QMAKE_EXTRA_TARGETS += check
-
-!debug_and_release|build_pass {
- check.depends = first
-} else {
- check.CONFIG = recursive
- # In debug and release mode, only run the test once.
- # Run debug if available, release otherwise.
- debug_and_release {
- check.target = dummy_check
- check.recurse_target = check
- debug {
- real_check.depends = debug-check
- real_check.target = check
- QMAKE_EXTRA_TARGETS += real_check
- } else {
- real_check.depends = release-check
- real_check.target = check
- QMAKE_EXTRA_TARGETS += real_check
- }
- }
-}
-
target.path += $$[QT_INSTALL_PREFIX]/tests/qt4
INSTALLS += target
diff --git a/mkspecs/features/resources.prf b/mkspecs/features/resources.prf
index eb33aabe60..a305a4f0eb 100644
--- a/mkspecs/features/resources.prf
+++ b/mkspecs/features/resources.prf
@@ -1,7 +1,5 @@
-isEmpty(QMAKE_RCC) {
- win32:QMAKE_RCC = $$[QT_INSTALL_BINS]$${DIR_SEPARATOR}rcc.exe
- else:QMAKE_RCC = $$[QT_INSTALL_BINS]$${DIR_SEPARATOR}rcc
-}
+defined(qtPrepareTool)|load(qt_functions) ### Qt 5: see default_pre.prf
+qtPrepareTool(QMAKE_RCC, rcc)
isEmpty(RCC_DIR):RCC_DIR = .
isEmpty(QMAKE_RESOURCE_PREFIX):QMAKE_RESOURCE_PREFIX = /tmp/
diff --git a/mkspecs/features/sis_targets.prf b/mkspecs/features/sis_targets.prf
index 7d70fc6225..37b758bc12 100644
--- a/mkspecs/features/sis_targets.prf
+++ b/mkspecs/features/sis_targets.prf
@@ -1,5 +1,15 @@
# Sis file creation
-contains(TEMPLATE, app)|!count(DEPLOYMENT, 1) {
+GENERATE_SIS_TARGETS = false
+
+contains(TEMPLATE, app): GENERATE_SIS_TARGETS = true
+else:!equals(DEPLOYMENT, default_deployment) {
+ for(dep_item, $$list($$DEPLOYMENT)) {
+ dep_item_sources = $$eval($${dep_item}.sources)
+ !isEmpty(dep_item_sources): GENERATE_SIS_TARGETS = true
+ }
+}
+
+equals(GENERATE_SIS_TARGETS, true) {
symbian-abld|symbian-sbsv2 {
sis_destdir =
make_cache_name = .make.cache
@@ -22,6 +32,24 @@ contains(TEMPLATE, app)|!count(DEPLOYMENT, 1) {
ok_sis_target.commands = createpackage.bat $(QT_SIS_OPTIONS) $$basename(TARGET)_template.pkg \
$(QT_SIS_TARGET) $(QT_SIS_CERTIFICATE) $(QT_SIS_KEY) $(QT_SIS_PASSPHRASE)
+ unsigned_sis_target.target = unsigned_sis
+ unsigned_sis_target.commands = $(if $(wildcard $$basename(TARGET)_template.pkg), \
+ $(if $(wildcard $$make_cache_name), \
+ $(MAKE) -f $(MAKEFILE) ok_unsigned_sis MAKEFILES=$$make_cache_name \
+ , \
+ $(if $(QT_SIS_TARGET), \
+ $(MAKE) -f $(MAKEFILE) ok_unsigned_sis \
+ , \
+ $(MAKE) -f $(MAKEFILE) fail_sis_nocache \
+ ) \
+ ) \
+ , \
+ $(MAKE) -f $(MAKEFILE) fail_sis_nopkg \
+ )
+
+ ok_unsigned_sis_target.target = ok_unsigned_sis
+ ok_unsigned_sis_target.commands = createpackage.bat $(QT_SIS_OPTIONS) -o $$basename(TARGET)_template.pkg $(QT_SIS_TARGET)
+
target_sis_target.target = $${sis_destdir}$${TARGET}.sis
target_sis_target.commands = $(MAKE) -f $(MAKEFILE) sis
@@ -59,11 +87,13 @@ contains(TEMPLATE, app)|!count(DEPLOYMENT, 1) {
)
ok_stub_sis_target.target = ok_stub_sis
- ok_stub_sis_target.commands = createpackage.bat -s $(QT_SIS_OPTIONS) $$basename(TARGET)_template.pkg \
+ ok_stub_sis_target.commands = createpackage.bat -s $(QT_SIS_OPTIONS) $$basename(TARGET)_stub.pkg \
$(QT_SIS_TARGET) $(QT_SIS_CERTIFICATE) $(QT_SIS_KEY) $(QT_SIS_PASSPHRASE)
QMAKE_EXTRA_TARGETS += sis_target \
ok_sis_target \
+ unsigned_sis_target \
+ ok_unsigned_sis_target \
target_sis_target \
installer_sis_target \
ok_installer_sis_target \
@@ -96,7 +126,7 @@ contains(TEMPLATE, app)|!count(DEPLOYMENT, 1) {
}
} else {
sis_destdir = $$DESTDIR
- !isEmpty(sis_destdir):!contains(sis_destdir, "[/\\]$"):sis_destdir = $${sis_destdir}/
+ !isEmpty(sis_destdir):!contains(sis_destdir, "[/\\\\]$"):sis_destdir = $${sis_destdir}/
contains(QMAKE_HOST.os, "Windows"):sis_destdir = $$replace(sis_destdir, "/", "\\")
sis_target.target = sis
@@ -104,6 +134,10 @@ contains(TEMPLATE, app)|!count(DEPLOYMENT, 1) {
- $(QT_SIS_CERTIFICATE) $(QT_SIS_KEY) $(QT_SIS_PASSPHRASE)
sis_target.depends = first
+ unsigned_sis_target.target = unsigned_sis
+ unsigned_sis_target.commands = createpackage $(QT_SIS_OPTIONS) -o $$basename(TARGET)_template.pkg
+ unsigned_sis_target.depends = first
+
target_sis_target.target = $${sis_destdir}$${TARGET}.sis
target_sis_target.commands = $(MAKE) -f $(MAKEFILE) sis
@@ -118,6 +152,7 @@ contains(TEMPLATE, app)|!count(DEPLOYMENT, 1) {
}
QMAKE_EXTRA_TARGETS += sis_target \
+ unsigned_sis_target \
target_sis_target \
installer_sis_target
}
@@ -129,7 +164,8 @@ contains(TEMPLATE, app)|!count(DEPLOYMENT, 1) {
} else {
# Make sure we build everything, since other sis targets in a recursive invocation
# may depend on them, even if this one is empty.
- sis_target.depends = first
+ # In abld/sbsv2, we assume that subdir has been built already, as all builds are recursive.
+ !symbian-abld:!symbian-sbsv2: sis_target.depends = first
}
sis_target.commands =
sis_target.target = sis
diff --git a/mkspecs/features/static.prf b/mkspecs/features/static.prf
index ef3af074b0..288852d5df 100644
--- a/mkspecs/features/static.prf
+++ b/mkspecs/features/static.prf
@@ -11,9 +11,4 @@ mac {
QMAKE_LFLAGS += $$QMAKE_LFLAGS_STATIC_LIB
}
-symbian {
- # we don't care about exports from static libraries, as they don't end up in DEF files
- MMP_RULES -= $$MMP_RULES_DONT_EXPORT_ALL_CLASS_IMPEDIMENTA
-}
-
!static_and_shared:fix_output_dirs:fixExclusiveOutputDirs(static, shared)
diff --git a/mkspecs/features/symbian/add_mmp_rules.prf b/mkspecs/features/symbian/add_mmp_rules.prf
index 5384dbe961..7f96b811a2 100644
--- a/mkspecs/features/symbian/add_mmp_rules.prf
+++ b/mkspecs/features/symbian/add_mmp_rules.prf
@@ -23,7 +23,7 @@ defineTest(addMMPRules) {
# No value defined for current condition, so use default
varVal = $$eval($${var}.default)
}
- !isEmpty(varVal): libBlock += "$$join(varVal,$$escape_expand(\n))"
+ !isEmpty(varVal): libBlock += "$$join(varVal,$$escape_expand(\\n))"
}
MMP_RULES += $$libBlock
diff --git a/mkspecs/features/symbian/application_icon.prf b/mkspecs/features/symbian/application_icon.prf
index 76f9ba10f4..c5654d92be 100644
--- a/mkspecs/features/symbian/application_icon.prf
+++ b/mkspecs/features/symbian/application_icon.prf
@@ -21,11 +21,11 @@ contains( CONFIG, no_icon ) {
# only uses filename from RSS_RULES.icon_file when referring to icon file name.
baseTarget = $$basename(TARGET)
baseTarget = $$replace(baseTarget, /,_)
- baseTarget = $$replace(baseTarget, \\,_)
+ baseTarget = $$replace(baseTarget, \\\\,_)
baseTarget = $$replace(baseTarget, " ",_)
symbian-abld|symbian-sbsv2 {
baseTarget = $$replace(baseTarget, -,_)
- baseTarget = $$replace(baseTarget, \.,_)
+ baseTarget = $$replace(baseTarget, \\.,_)
baseTarget = $$replace(baseTarget, :,_)
}
diff --git a/mkspecs/features/symbian/data_caging_paths.prf b/mkspecs/features/symbian/data_caging_paths.prf
index ae9bc096f5..6b709cc2d9 100644
--- a/mkspecs/features/symbian/data_caging_paths.prf
+++ b/mkspecs/features/symbian/data_caging_paths.prf
@@ -74,8 +74,8 @@ exists($${EPOCROOT}epoc32/include/data_caging_paths.prf) {
BOOTDATA_DIR = /resource/bootdata
}
-isEmpty(QT_PLUGINS_BASE_DIR): QT_PLUGINS_BASE_DIR = /$$RESOURCE_FILES_DIR/qt$${QT_LIBINFIX}/plugins
-isEmpty(QT_IMPORTS_BASE_DIR): QT_IMPORTS_BASE_DIR = /$$RESOURCE_FILES_DIR/qt/imports
+isEmpty(QT_PLUGINS_BASE_DIR): QT_PLUGINS_BASE_DIR = $$RESOURCE_FILES_DIR/qt$${QT_LIBINFIX}/plugins
+isEmpty(QT_IMPORTS_BASE_DIR): QT_IMPORTS_BASE_DIR = $$RESOURCE_FILES_DIR/qt/imports
isEmpty(HW_ZDIR): HW_ZDIR = epoc32/data/z
isEmpty(REG_RESOURCE_DIR): REG_RESOURCE_DIR = /private/10003a3f/apps
isEmpty(REG_RESOURCE_IMPORT_DIR): REG_RESOURCE_IMPORT_DIR = /private/10003a3f/import/apps \ No newline at end of file
diff --git a/mkspecs/features/symbian/def_files.prf b/mkspecs/features/symbian/def_files.prf
index a1f0c8d990..1b8e551192 100644
--- a/mkspecs/features/symbian/def_files.prf
+++ b/mkspecs/features/symbian/def_files.prf
@@ -7,7 +7,8 @@ symbian-abld|symbian-sbsv2 {
# Firstly, if the MMP_RULES already contain a defBlock variable, don't generate another one
# (this bit is slightly magic, because it depends upon everyone creating their DEFFILE statements
# in a defBlock variable; but otherwise we have to expand MMP_RULES then scan for the DEFFILE keyword)
- !contains(MMP_RULES, defBlock) {
+ # Similarly, explicit EXPORTUNFROZEN should block adding defBlock
+ !contains(MMP_RULES, defBlock):!contains(MMP_RULES, EXPORTUNFROZEN) {
# Apps are executables on Symbian, so don't have exports, and therefore don't have DEF files
# Plugins use standard DEF files, which qmake generates, so shouldn't be using these DEFFILE
# statements - they use the qmake generated statements instead
@@ -41,7 +42,7 @@ symbian-abld|symbian-sbsv2 {
}
}
-} else:contains(TEMPLATE, lib):!contains(CONFIG, static):!contains(CONFIG, staticlib) {
+} else:contains(TEMPLATE, lib):!contains(CONFIG, static):!contains(CONFIG, staticlib):!contains(CONFIG, plugin) {
!isEmpty(DEF_FILE) {
defFile = $$DEF_FILE
} else {
@@ -63,15 +64,15 @@ symbian-abld|symbian-sbsv2 {
freeze_target.target = freeze
freeze_target.depends = first
# The perl part is to convert to unix line endings and remove comments, which the s60 tools refuse to do.
- freeze_target.commands = perl -n -e \'next if (/; NEW/); s/\r//g; if (/MISSING:(.*)/x) { print(\"\$\$1 ABSENT\\n\"); } else { print; }\' < $$symbianObjdir/$${TARGET}.def > $$elf2e32FileToAdd
- #QMAKE_EXTRA_TARGETS += freeze_target
+ freeze_target.commands = perl -n -e \'next if (/; NEW/); s/\\r//g; if (/MISSING:(.*)/x) { print(\"\$\$1 ABSENT\\n\"); } else { print; }\' < $$symbianObjdir/$${TARGET}.def > $$elf2e32FileToAdd
+ QMAKE_EXTRA_TARGETS += freeze_target
} else:contains(TEMPLATE, subdirs) {
freeze_target.target = freeze
freeze_target.CONFIG = recursive
freeze_target.recurse = $$SUBDIRS
- #QMAKE_EXTRA_TARGETS += freeze_target
+ QMAKE_EXTRA_TARGETS += freeze_target
} else {
freeze_target.target = freeze
freeze_target.commands =
- #QMAKE_EXTRA_TARGETS += freeze_target
+ QMAKE_EXTRA_TARGETS += freeze_target
}
diff --git a/mkspecs/features/symbian/def_files_disabled.prf b/mkspecs/features/symbian/def_files_disabled.prf
index 557c5e3b6b..0344911f6d 100644
--- a/mkspecs/features/symbian/def_files_disabled.prf
+++ b/mkspecs/features/symbian/def_files_disabled.prf
@@ -8,6 +8,6 @@ CONFIG -= def_files
!contains(TEMPLATE, app):!contains(CONFIG, plugin):!contains(CONFIG, staticlib): {
# with EXPORTUNFROZEN enabled, new exports are included in the dll and dso/lib without
# needing to run abld/sbs freeze
- MMP_RULES += EXPORTUNFROZEN
+ MMP_RULES *= EXPORTUNFROZEN
}
}
diff --git a/mkspecs/features/symbian/moc.prf b/mkspecs/features/symbian/moc.prf
index 29e0d8d9b9..6030944c7d 100644
--- a/mkspecs/features/symbian/moc.prf
+++ b/mkspecs/features/symbian/moc.prf
@@ -1,17 +1,17 @@
load(moc)
symbian-abld|symbian-sbsv2 {
- RET = $$find(MOC_DIR, "(/|^)\.[^/]+/?$")
+ RET = $$find(MOC_DIR, "(/|^)\\.[^/]+/?$")
!isEmpty(RET):{
error("Symbian does not support directories starting with a dot. Please set MOC_DIR to a different value in your profile. MOC_DIR: $$MOC_DIR")
}
- RET = $$find(RCC_DIR, "(/|^)\.[^/]+/?$")
+ RET = $$find(RCC_DIR, "(/|^)\\.[^/]+/?$")
!isEmpty(RET):{
error("Symbian does not support directories starting with a dot. Please set RCC_DIR to a different value in your profile. RCC_DIR: $$RCC_DIR")
}
- RET = $$find(OBJECTS_DIR, "(/|^)\.[^/]+/?$")
+ RET = $$find(OBJECTS_DIR, "(/|^)\\.[^/]+/?$")
!isEmpty(RET):{
error("Symbian does not support directories starting with a dot. Please set OBJECTS_DIR to a different value in your profile. OBJECTS_DIR: $$OBJECTS_DIR")
}
diff --git a/mkspecs/features/symbian/platform_paths.prf b/mkspecs/features/symbian/platform_paths.prf
index f05a885db0..5c190c8532 100644
--- a/mkspecs/features/symbian/platform_paths.prf
+++ b/mkspecs/features/symbian/platform_paths.prf
@@ -45,8 +45,17 @@
# INCLUDEPATH += $$OS_LAYER_DBUS_SYSTEMINCLUDE
# INCLUDEPATH += $$OS_LAYER_LIBUTILITY_SYSTEMINCLUDE
#
+# These paths are primarily meant to be used as is in bld.inf and .mmp
+# files, so they do not contain epocroot when using official symbian
+# toolchains (symbian-abld or symbian-sbsv2).
+# For makefile based mkspecs, epocroot is prepended to all paths for
+# convenience.
#
-#
+# To use paths defined here in other contexts that require epocroot to be
+# prepended always, such as exists checks, please use prependEpocroot
+# replacement function:
+#
+# exists($$prependEpocroot($$MW_LAYER_PUBLIC_EXPORT_PATH(foobar.h)))
#
# ==============================================================================
@@ -472,6 +481,13 @@ exists($${EPOCROOT}epoc32/include/platform_paths.prf) {
STLLIB_USAGE_CW_FLAGS = "-wchar_t on"
STLLIB_USAGE_DEFINES = _WCHAR_T_DECLARED
-}
+ # Smart prepend of EPOCROOT to a string
+ defineReplace(prependEpocroot) {
+ contains(1, ^$${EPOCROOT}) {
+ return($$1)
+ } else {
+ return($${EPOCROOT}$$replace(1,"^/",))
+ }
+ }
-epocroot_prefix =
+}
diff --git a/mkspecs/features/symbian/qt.prf b/mkspecs/features/symbian/qt.prf
index 9fc9814d69..b5d3d98002 100644
--- a/mkspecs/features/symbian/qt.prf
+++ b/mkspecs/features/symbian/qt.prf
@@ -31,9 +31,16 @@ contains(CONFIG, qt):!contains(TARGET.UID3, 0x2001E61C):!contains(TARGET.UID3, 0
# Projects linking to webkit need dependency to webkit
contains(QT, webkit): {
+ # these can be overridden by mkspecs/modules/qt_webkit.pri
+ isEmpty(QT_WEBKIT_MAJOR_VERSION) {
+ QT_WEBKIT_MAJOR_VERSION = $${QT_MAJOR_VERSION}
+ QT_WEBKIT_MINOR_VERSION = $${QT_MINOR_VERSION}
+ QT_WEBKIT_PATCH_VERSION = $${QT_PATCH_VERSION}
+ }
+
pkg_depends_webkit += \
"; Dependency to Qt Webkit" \
- "(0x200267C2), $${QT_MAJOR_VERSION}, $${QT_MINOR_VERSION}, $${QT_PATCH_VERSION}, {\"QtWebKit\"}"
+ "(0x200267C2), $${QT_WEBKIT_MAJOR_VERSION}, $${QT_WEBKIT_MINOR_VERSION}, $${QT_WEBKIT_PATCH_VERSION}, {\"QtWebKit\"}"
} else {
default_deployment.pkg_prerules -= pkg_depends_webkit
}
diff --git a/mkspecs/features/symbian/run_on_phone.prf b/mkspecs/features/symbian/run_on_phone.prf
new file mode 100644
index 0000000000..6948a48f09
--- /dev/null
+++ b/mkspecs/features/symbian/run_on_phone.prf
@@ -0,0 +1,31 @@
+# make sure we have a sis file and then call 'runonphone' to execute it on the phone
+
+GENERATE_RUN_TARGETS = false
+
+contains(TEMPLATE, app): GENERATE_RUN_TARGETS = true
+else:!equals(DEPLOYMENT, default_deployment) {
+ for(dep_item, $$list($$DEPLOYMENT)) {
+ dep_item_sources = $$eval($${dep_item}.sources)
+ !isEmpty(dep_item_sources): GENERATE_RUN_TARGETS = true
+ }
+}
+
+equals(GENERATE_RUN_TARGETS, true) {
+ sis_destdir = $$DESTDIR
+ !isEmpty(sis_destdir):!contains(sis_destdir, "[/\\\\]$"):sis_destdir = $${sis_destdir}/
+ contains(QMAKE_HOST.os, "Windows"):sis_destdir = $$replace(sis_destdir, "/", "\\")
+
+ contains(SYMBIAN_PLATFORMS, "WINSCW"):contains(TEMPLATE, "app") {
+ run_target.target = run
+ run_target.commands = call "$${EPOCROOT}epoc32/release/winscw/udeb/$${TARGET}.exe" $(QT_RUN_OPTIONS)
+
+ QMAKE_EXTRA_TARGETS += run_target
+ }
+
+ runonphone_target.target = runonphone
+ runonphone_target.depends = sis
+ runonphone_target.commands = runonphone $(QT_RUN_ON_PHONE_OPTIONS) --sis "$${sis_destdir}$${TARGET}.sis"
+ contains(TEMPLATE, "app"):runonphone_target.commands += "$${TARGET}.exe" $(QT_RUN_OPTIONS)
+
+ QMAKE_EXTRA_TARGETS += runonphone_target
+}
diff --git a/mkspecs/features/symbian/symbian_building.prf b/mkspecs/features/symbian/symbian_building.prf
index b0cc6f2283..9fc4d1e945 100644
--- a/mkspecs/features/symbian/symbian_building.prf
+++ b/mkspecs/features/symbian/symbian_building.prf
@@ -1,7 +1,7 @@
# we have some module specific options (defined in qt.prf) lets add them
-!contains(TARGET, ".*[ -].*"):eval(TMPVAR = \$\$QMAKE_$${TARGET}_CXXFLAGS)
+!contains(TARGET, ".*[ -/].*"):eval(TMPVAR = \$\$QMAKE_$${TARGET}_CXXFLAGS)
!isEmpty(TMPVAR):QMAKE_CXXFLAGS += $$TMPVAR
-!contains(TARGET, ".*[ -].*"):eval(TMPVAR = \$\$QMAKE_$${TARGET}_LFLAGS)
+!contains(TARGET, ".*[ -/].*"):eval(TMPVAR = \$\$QMAKE_$${TARGET}_LFLAGS)
!isEmpty(TMPVAR) {
QMAKE_LFLAGS += $$TMPVAR
} else :linux-gcce { # lets provide a simple default. Without elf2e32 complains
@@ -22,16 +22,16 @@ contains(QMAKE_CFLAGS, "--thumb")|contains(QMAKE_CXXFLAGS, "--thumb")|contains(Q
}
defineReplace(processSymbianLibraries) {
- library = $$replace(1, "\.dll$", ".dso")
+ library = $$replace(1, "\\.dll$", ".dso")
library = $$replace(library, "^-l", "")
- isFullName = $$find(library, \.)
+ isFullName = $$find(library, \\.)
isEmpty(isFullName):library="$${library}.dso"
linux-gcce {
newLIB = "-l:$${library}"
} else {
newLIB = "$${library}"
}
- contains(library, "\.dso$")|contains(library, ".lib$"):PRE_TARGETDEPS += $$library
+ contains(library, "\\.dso$")|contains(library, "\\.lib$"):PRE_TARGETDEPS += $$library
return($$newLIB)
}
@@ -55,7 +55,7 @@ isEmpty(VERSION) {
}
# Check for version validity.
-!isEmpty(VERSION):!contains(VERSION, "[0-9]+"):!contains(VERSION, "[0-9]+\.[0-9]+")!contains(VERSION, "[0-9]+(\.[0-9]+){2}") {
+!isEmpty(VERSION):!contains(VERSION, "[0-9]+"):!contains(VERSION, "[0-9]+\\.[0-9]+")!contains(VERSION, "[0-9]+(\\.[0-9]+){2}") {
error("Invalid VERSION for Symbian: $$VERSION")
}
@@ -86,7 +86,7 @@ isEmpty(TARGET.UID2):TARGET.UID2 = 0x00000000
capability = $$replace(TARGET.CAPABILITY, " ", "+")
capability = $$join(capability, "+")
-capability = $$replace(capability, "\+-", "-")
+capability = $$replace(capability, "\\+-", "-")
isEmpty(capability): capability = "None"
capability = "--capability=$$capability"
@@ -96,17 +96,26 @@ contains(TEMPLATE, lib):!contains(CONFIG, static):!contains(CONFIG, staticlib) {
QMAKE_POST_LINK = $$replace(QMAKE_POST_LINK, "^@", "")
QMAKE_POST_LINK = && $$QMAKE_POST_LINK
}
+
+ contains(CONFIG, plugin):QMAKE_ELF2E32_FLAGS += --definput=plugin_commonu.def
+
# The tee and grep at the end work around the issue that elf2e32 doesn't return non-null on error.
# The comparison of dso files is to avoid extra building of modules that depend on this dso, in
# case it has not changed.
QMAKE_POST_LINK = $$QMAKE_MOVE $$symbianDestdir/$${TARGET}.dll $$symbianDestdir/$${TARGET}.sym \
- && elf2e32 --version=$$decVersion --sid=$$TARGET.SID --uid1=0x10000079 \
- --uid2=$$TARGET.UID2 --uid3=$$TARGET.UID3 --dlldata --heap=0x00020000,0x00800000 \
- --stack=0x00014000 --fpu=softvfp --targettype=DLL \
- --elfinput=$${symbianDestdir}/$${TARGET}.sym --output=$${symbianDestdir}/$${TARGET}.dll \
- --dso=$$symbianObjdir/$${TARGET}.dso --defoutput=$$symbianObjdir/$${TARGET}.def \
- --unfrozen --linkas=$${TARGET}\\{$${hexVersion}\\}\\[$${intUid3}\\].dll \
- --compressionmethod bytepair $$elf2e32_LIBPATH --unpaged $$capability \
+ && elf2e32 --version=$$decVersion \
+ --sid=$$TARGET.SID \
+ --uid1=0x10000079 \
+ --uid2=$$TARGET.UID2 \
+ --uid3=$$TARGET.UID3 \
+ --targettype=DLL \
+ --elfinput=$${symbianDestdir}/$${TARGET}.sym \
+ --output=$${symbianDestdir}/$${TARGET}.dll \
+ --dso=$$symbianObjdir/$${TARGET}.dso \
+ --defoutput=$$symbianObjdir/$${TARGET}.def \
+ --linkas=$${TARGET}\\{$${hexVersion}\\}\\[$${intUid3}\\].dll \
+ $$elf2e32_LIBPATH \
+ $$capability \
$$QMAKE_ELF2E32_FLAGS \
| tee elf2e32.log && test `grep -c 'Error:' elf2e32.log` = 0 && rm elf2e32.log \
&& if ! diff -q $${symbianObjdir}/$${TARGET}.dso $${symbianDestdir}/$${TARGET}.dso \
@@ -120,9 +129,10 @@ contains(TEMPLATE, lib):!contains(CONFIG, static):!contains(CONFIG, staticlib) {
QMAKE_CLEAN += $${symbianObjdir}/$${TARGET}.def
linux-armcc: {
- QMAKE_LIBS += -ledllstub.lib -ledll.lib\\(uc_dll_.o\\)
+ LIBS += usrt2_2.lib dfpaeabi.dso dfprvct2_2.dso drtaeabi.dso scppnwdl.dso drtrvct2_2.dso h_t__uf.l\\(switch8.o\\)
+ LIBS += -ledllstub.lib -ledll.lib\\(uc_dll_.o\\)
} else :linux-gcce {
- QMAKE_LIBS += \
+ LIBS += \
-l:edll.lib \
-l:usrt2_2.lib \
-l:dfpaeabi.dso \
@@ -144,12 +154,17 @@ contains(TEMPLATE, app):!contains(QMAKE_LINK, "^@.*") {
}
# the tee and grep at the end work around the issue that elf2e32 doesn't return non-null on error
QMAKE_POST_LINK = $$QMAKE_MOVE $$symbianDestdir/$${TARGET} $$symbianDestdir/$${TARGET}.sym \
- && elf2e32 --version $$decVersion --sid=$$TARGET.SID --uid1=0x1000007a \
- --uid2=$$TARGET.UID2 --uid3=$$TARGET.UID3 --dlldata --heap=0x00020000,0x00800000 \
- --stack=0x00014000 --fpu=softvfp --targettype=EXE \
- --elfinput=$${symbianDestdir}/$${TARGET}.sym --output=$${symbianDestdir}/$${TARGET}.exe \
- --unfrozen --linkas=$${TARGET}\\{$${hexVersion}\\}\\[$${intUid3}\\].exe \
- --compressionmethod bytepair $$elf2e32_LIBPATH --unpaged $$capability \
+ && elf2e32 --version $$decVersion \
+ --sid=$$TARGET.SID \
+ --uid1=0x1000007a \
+ --uid2=$$TARGET.UID2 \
+ --uid3=$$TARGET.UID3 \
+ --targettype=EXE \
+ --elfinput=$${symbianDestdir}/$${TARGET}.sym \
+ --output=$${symbianDestdir}/$${TARGET}.exe \
+ --linkas=$${TARGET}\\{$${hexVersion}\\}\\[$${intUid3}\\].exe \
+ $$elf2e32_LIBPATH \
+ $$capability \
$$QMAKE_ELF2E32_FLAGS \
| tee elf2e32.log && test `grep -c 'Error:' elf2e32.log` = 0 && rm elf2e32.log \
&& ln "$${symbianDestdir}/$${TARGET}.exe" "$${symbianDestdir}/$$TARGET" \
@@ -159,6 +174,7 @@ contains(TEMPLATE, app):!contains(QMAKE_LINK, "^@.*") {
QMAKE_CLEAN += $${symbianDestdir}/$${TARGET}
linux-armcc: {
+ QMAKE_LIBS += usrt2_2.lib dfpaeabi.dso dfprvct2_2.dso drtaeabi.dso scppnwdl.dso drtrvct2_2.dso h_t__uf.l\\(switch8.o\\)
QMAKE_LIBS += -leexe.lib\\(uc_exe_.o\\)
contains(CONFIG, "qt"):contains(QT, "core") { #if linking with QtCore
QMAKE_LIBS += -lqtmain$${QT_LIBINFIX}.lib
@@ -201,9 +217,9 @@ symbian_resources_INCLUDES += "-I $$symbian_resources_RCC_DIR"
for(symbian_resource, SYMBIAN_RESOURCES) {
symbian_resource = $$basename(symbian_resource)
- symbian_resource_clean = $$replace(symbian_resource, "\.rss$", ".rsc")
+ symbian_resource_clean = $$replace(symbian_resource, "\\.rss$", ".rsc")
QMAKE_DISTCLEAN += $${symbianDestdir}/$${symbian_resource_clean}
- symbian_resource_clean = $$replace(symbian_resource, "\.rss$", ".rpp")
+ symbian_resource_clean = $$replace(symbian_resource, "\\.rss$", ".rpp")
QMAKE_CLEAN += $${symbian_resources_RCC_DIR}/$${symbian_resource_clean}
}
diff --git a/mkspecs/features/testcase.prf b/mkspecs/features/testcase.prf
new file mode 100644
index 0000000000..7a7c9e305a
--- /dev/null
+++ b/mkspecs/features/testcase.prf
@@ -0,0 +1,65 @@
+!contains(TEMPLATE,subdirs) {
+
+check.files =
+check.path = .
+
+# If the test ends up in a different directory, we should cd to that directory.
+# Note that qmake modifies DESTDIR after this file is processed,
+# therefore, testing DESTDIR for emptiness is not sufficient.
+# Also note that in debug-and-release mode we don't want to cd into the debug/release
+# directory (e.g. if the test goes to foo/release/tst_thing.exe, we want to do
+# cd foo && release/tst_thing.exe ).
+MUNGED_DESTDIR=$$DESTDIR
+MUNGED_TARGET=$$TARGET
+win32:debug_and_release {
+ contains(DESTDIR,^release$)|contains(DESTDIR,^debug$):MUNGED_DESTDIR=
+
+ # In debug-and-release mode, the first ../ in TARGET breaks out of the debug/release
+ # subdirectory. However, since make's working directory is already outside of the
+ # debug/release subdirectory, this first ../ should be ignored when deciding if
+ # we have to change directory before running the test.
+ MUNGED_TARGET=$$replace(MUNGED_TARGET,^\\.\\./,)
+}
+!isEmpty(MUNGED_DESTDIR):!contains(MUNGED_DESTDIR,^\\./?):check.commands = cd $(DESTDIR) &&
+contains(MUNGED_TARGET,.*/.*):check.commands = cd $(DESTDIR) &&
+
+# Allow for a custom test runner script
+check.commands += $(TESTRUNNER)
+
+macx {
+ app_bundle: check.commands += ./$(QMAKE_TARGET).app/Contents/MacOS/$(QMAKE_TARGET)
+ else: check.commands += ./$(QMAKE_TARGET)
+}
+else:unix: check.commands += ./$(QMAKE_TARGET)
+else: check.commands += $(DESTDIR_TARGET)
+
+# For Qt/Embedded, run every test app as a QWS server
+embedded: check.commands += -qws
+
+# Allow for custom arguments to tests
+check.commands += $(TESTARGS)
+QMAKE_EXTRA_TARGETS *= check
+
+!debug_and_release|build_pass {
+ check.depends = first
+} else {
+ check.CONFIG = recursive
+ # In debug and release mode, only run the test once.
+ # Run debug if available, release otherwise.
+ debug_and_release {
+ check.target = dummy_check
+ check.recurse_target = check
+ debug {
+ real_check.depends = debug-check
+ real_check.target = check
+ QMAKE_EXTRA_TARGETS += real_check
+ } else {
+ real_check.depends = release-check
+ real_check.target = check
+ QMAKE_EXTRA_TARGETS += real_check
+ }
+ }
+}
+
+}
+
diff --git a/mkspecs/features/uic.prf b/mkspecs/features/uic.prf
index 8ebe0ea19a..5324e65997 100644
--- a/mkspecs/features/uic.prf
+++ b/mkspecs/features/uic.prf
@@ -1,13 +1,6 @@
-
-isEmpty(QMAKE_UIC3) {
- contains(QMAKE_HOST.os,Windows):QMAKE_UIC3 = $$[QT_INSTALL_BINS]$${DIR_SEPARATOR}uic3.exe
- else:QMAKE_UIC3 = $$[QT_INSTALL_BINS]/uic3
-}
-
-isEmpty(QMAKE_UIC) {
- contains(QMAKE_HOST.os,Windows):QMAKE_UIC = $$[QT_INSTALL_BINS]$${DIR_SEPARATOR}uic.exe
- else:QMAKE_UIC = $$[QT_INSTALL_BINS]/uic
-}
+defined(qtPrepareTool)|load(qt_functions) ### Qt 5: see default_pre.prf
+qtPrepareTool(QMAKE_UIC3, uic3)
+qtPrepareTool(QMAKE_UIC, uic)
isEmpty(UI_DIR):UI_DIR = .
isEmpty(UI_SOURCES_DIR):UI_SOURCES_DIR = $$UI_DIR
@@ -93,14 +86,14 @@ defineReplace(imageCollectionCmd) {
for(image, $$list($$split(1))) {
EMBEDDED_IMAGES += $$image
count(EMBEDDED_IMAGES, 5) {
- isEmpty(RET): RET += echo $$EMBEDDED_IMAGES > images.tmp $$escape_expand(\n\t)
- else: RET += echo $$EMBEDDED_IMAGES >> images.tmp $$escape_expand(\n\t)
+ isEmpty(RET): RET += echo $$EMBEDDED_IMAGES > images.tmp $$escape_expand(\\n\\t)
+ else: RET += echo $$EMBEDDED_IMAGES >> images.tmp $$escape_expand(\\n\\t)
unset(EMBEDDED_IMAGES)
}
}
- !isEmpty(EMBEDDED_IMAGES):RET += echo $$EMBEDDED_IMAGES >> images.tmp $$escape_expand(\n\t)
+ !isEmpty(EMBEDDED_IMAGES):RET += echo $$EMBEDDED_IMAGES >> images.tmp $$escape_expand(\\n\\t)
!isEmpty(RET) {
- RET += $$QMAKE_UIC3 -embed $$TARGET -f images.tmp -o $$2 $$escape_expand(\n\t)
+ RET += $$QMAKE_UIC3 -embed $$TARGET -f images.tmp -o $$2 $$escape_expand(\\n\\t)
return($$RET)
}
return($$QMAKE_UIC3 -embed $$TARGET $$1 -o $$2)
diff --git a/mkspecs/features/unix/separate_debug_info.prf b/mkspecs/features/unix/separate_debug_info.prf
index c6758286f8..40d52cbfc6 100644
--- a/mkspecs/features/unix/separate_debug_info.prf
+++ b/mkspecs/features/unix/separate_debug_info.prf
@@ -1,7 +1,7 @@
!separate_debug_info_nocopy:!staticlib:!static:!contains(TEMPLATE, subdirs):!isEmpty(QMAKE_OBJCOPY) {
QMAKE_SEPARATE_DEBUG_INFO = (test -z \"$(DESTDIR)\" || cd \"$(DESTDIR)\" ; targ=`basename $(TARGET)`; $$QMAKE_OBJCOPY --only-keep-debug \"\$\$targ\" \"\$\$targ.debug\" && $$QMAKE_OBJCOPY --strip-debug \"\$\$targ\" && $$QMAKE_OBJCOPY --add-gnu-debuglink=\"\$\$targ.debug\" \"\$\$targ\" && chmod -x \"\$\$targ.debug\" ) ;
- QMAKE_INSTALL_SEPARATE_DEBUG_INFO = test -z "$(DESTDIR)" || cd \"$(DESTDIR)\" ; $(INSTALL_FILE) `basename $(TARGET)`.debug $(INSTALL_ROOT)/\$\$target_path/
+ QMAKE_INSTALL_SEPARATE_DEBUG_INFO = test -z \"$(DESTDIR)\" || cd \"$(DESTDIR)\" ; $(INSTALL_FILE) `basename $(TARGET)`.debug $(INSTALL_ROOT)/\$\$target_path/
QMAKE_POST_LINK = $$QMAKE_SEPARATE_DEBUG_INFO $$QMAKE_POST_LINK
silent:QMAKE_POST_LINK = @echo creating $@.debug && $$QMAKE_POST_LINK
diff --git a/mkspecs/features/win32/embed_manifest_dll.prf b/mkspecs/features/win32/embed_manifest_dll.prf
index 60a55ce51b..7305c040e8 100644
--- a/mkspecs/features/win32/embed_manifest_dll.prf
+++ b/mkspecs/features/win32/embed_manifest_dll.prf
@@ -2,12 +2,12 @@ MANIFEST_DIR = $$OBJECTS_DIR
isEmpty(MANIFEST_DIR):MANIFEST_DIR = .
!if(plugin:no_plugin_manifest):if(win32-msvc2005*|win32-msvc2008*|win32-msvc2010*):!static:!equals(TEMPLATE_PREFIX, "vc"):equals(TEMPLATE, "lib") {
NOPATH_TARGET = $$TARGET
- NOPATH_TARGET ~= s,\\ , ,q # Remove space escaping (NOPATH_TARGET is quoted)
- NOPATH_TARGET ~= s,\\,/,g # Change to single type separators
+ NOPATH_TARGET ~= s,\\\\ , ,q # Remove space escaping (NOPATH_TARGET is quoted)
+ NOPATH_TARGET ~= s,\\\\,/,g # Change to single type separators
NOPATH_TARGET ~= s,^(.*/)+,, # Remove all paths
QMAKE_LFLAGS += /MANIFEST $$quote(/MANIFESTFILE:\"$${MANIFEST_DIR}\\$${NOPATH_TARGET}.intermediate.manifest\")
QMAKE_PREV_POST_LINK = $$QMAKE_POST_LINK
- QMAKE_POST_LINK = $$quote(mt.exe -nologo -manifest \"$$replace(MANIFEST_DIR,/,\\)\\$${NOPATH_TARGET}.intermediate.manifest\" -outputresource:$(DESTDIR_TARGET);2$$escape_expand(\n\t))
+ QMAKE_POST_LINK = $$quote(mt.exe -nologo -manifest \"$$replace(MANIFEST_DIR,/,\\)\\$${NOPATH_TARGET}.intermediate.manifest\" -outputresource:$(DESTDIR_TARGET);2$$escape_expand(\\n\\t))
QMAKE_POST_LINK += $$QMAKE_PREV_POST_LINK
QMAKE_CLEAN += \"$$replace(MANIFEST_DIR,/,\\)\\$${NOPATH_TARGET}.intermediate.manifest\"
}
diff --git a/mkspecs/features/win32/embed_manifest_exe.prf b/mkspecs/features/win32/embed_manifest_exe.prf
index 169134d921..5b37a6dcc5 100644
--- a/mkspecs/features/win32/embed_manifest_exe.prf
+++ b/mkspecs/features/win32/embed_manifest_exe.prf
@@ -2,12 +2,12 @@ MANIFEST_DIR = $$OBJECTS_DIR
isEmpty(MANIFEST_DIR):MANIFEST_DIR = .
if(win32-msvc2005*|win32-msvc2008*|win32-msvc2010*):!equals(TEMPLATE_PREFIX, "vc"):equals(TEMPLATE, "app") {
NOPATH_TARGET = $$TARGET
- NOPATH_TARGET ~= s,\\ , ,q # Remove space escaping (NOPATH_TARGET is quoted)
- NOPATH_TARGET ~= s,\\,/,g # Change to single type separators
+ NOPATH_TARGET ~= s,\\\\ , ,q # Remove space escaping (NOPATH_TARGET is quoted)
+ NOPATH_TARGET ~= s,\\\\,/,g # Change to single type separators
NOPATH_TARGET ~= s,^(.*/)+,, # Remove all paths
QMAKE_LFLAGS += /MANIFEST $$quote(/MANIFESTFILE:\"$${MANIFEST_DIR}\\$${NOPATH_TARGET}.intermediate.manifest\")
QMAKE_PREV_POST_LINK = $$QMAKE_POST_LINK
- QMAKE_POST_LINK = $$quote(mt.exe -nologo -manifest \"$$replace(MANIFEST_DIR,/,\\)\\$${NOPATH_TARGET}.intermediate.manifest\" -outputresource:$(DESTDIR_TARGET);1$$escape_expand(\n\t))
+ QMAKE_POST_LINK = $$quote(mt.exe -nologo -manifest \"$$replace(MANIFEST_DIR,/,\\)\\$${NOPATH_TARGET}.intermediate.manifest\" -outputresource:$(DESTDIR_TARGET);1$$escape_expand(\\n\\t))
QMAKE_POST_LINK += $$QMAKE_PREV_POST_LINK
QMAKE_CLEAN += \"$$replace(MANIFEST_DIR,/,\\)\\$${NOPATH_TARGET}.intermediate.manifest\"
}
diff --git a/mkspecs/features/win32/qaxcontainer.prf b/mkspecs/features/win32/qaxcontainer.prf
index 49edb2a792..34c6dfed42 100644
--- a/mkspecs/features/win32/qaxcontainer.prf
+++ b/mkspecs/features/win32/qaxcontainer.prf
@@ -8,9 +8,7 @@
LIBS += -lQAxContainer
}
-isEmpty(QMAKE_DUMPCPP) {
- win32:QMAKE_DUMPCPP = $$[QT_INSTALL_BINS]\dumpcpp.exe
-}
+qtPrepareTool(QMAKE_DUMPCPP, dumpcpp)
dumpcpp_decl.commands = $$QMAKE_DUMPCPP ${QMAKE_FILE_IN} -o ${QMAKE_FILE_BASE}
qaxcontainer_compat: dumpcpp_decl.commands += -compat
diff --git a/mkspecs/features/win32/qaxserver.prf b/mkspecs/features/win32/qaxserver.prf
index a18c421e6c..2899976644 100644
--- a/mkspecs/features/win32/qaxserver.prf
+++ b/mkspecs/features/win32/qaxserver.prf
@@ -14,14 +14,15 @@ equals(TEMPLATE, "vcapp"):ACTIVEQT_IDE = VisualStudio
equals(TEMPLATE, "vclib"):ACTIVEQT_IDE = VisualStudio
equals(ACTIVEQT_IDE, "VisualStudio") {
- ACTIVEQT_IDC = $${QMAKE_IDC}
+ ACTIVEQT_IDC = $${QMAKE_IDC} ### Qt5: remove me
+ qtPrepareTool(ACTIVEQT_IDC, idc)
ACTIVEQT_IDL = $${QMAKE_IDL}
ACTIVEQT_TARGET = "$(TargetPath)"
win32-msvc {
- ACTIVEQT_NEWLINE = $$escape_expand(\t)
+ ACTIVEQT_NEWLINE = $$escape_expand(\\t)
ACTIVEQT_OUTPUT = $(IntDir)/$${TARGET}
} else {
- ACTIVEQT_NEWLINE = $$escape_expand(\n\t)
+ ACTIVEQT_NEWLINE = $$escape_expand(\\n\\t)
ACTIVEQT_OUTPUT = $(IntDir)$${TARGET}
}
ACTIVEQT_TLBOUT = "$(TargetDir)/$${TARGET}.tlb"
@@ -30,7 +31,7 @@ equals(ACTIVEQT_IDE, "VisualStudio") {
equals(ACTIVEQT_IDE, "makefile") {
ACTIVEQT_IDC = -$(IDC)
ACTIVEQT_IDL = -$(IDL)
- ACTIVEQT_NEWLINE = $$escape_expand(\n\t)
+ ACTIVEQT_NEWLINE = $$escape_expand(\\n\\t)
ACTIVEQT_TARGET = $(DESTDIR_TARGET)
ACTIVEQT_OUTPUT = $(OBJECTS_DIR)/$${TARGET}
isEmpty(DESTDIR) {
diff --git a/mkspecs/features/yacc.prf b/mkspecs/features/yacc.prf
index c078e09c67..4d7e0a381b 100644
--- a/mkspecs/features/yacc.prf
+++ b/mkspecs/features/yacc.prf
@@ -21,10 +21,10 @@
!yacc_no_name_mangle:QMAKE_YACCDECLFLAGS += $$QMAKE_YACCFLAGS_MANGLE
yacc_decl.commands = \
- $$QMAKE_YACC $$QMAKE_YACCDECLFLAGS ${QMAKE_FILE_IN}$$escape_expand(\n\t) \
- $$QMAKE_DEL_FILE $${QMAKE_CPP_MOD_MOC}${QMAKE_FILE_BASE}_yacc$${first(QMAKE_EXT_H)} $${QMAKE_CPP_MOD_MOC}${QMAKE_FILE_BASE}_yacc$${first(QMAKE_EXT_CPP)}$$escape_expand(\n\t) \
- $$QMAKE_MOVE $${QMAKE_YACC_HEADER} $${QMAKE_CPP_MOD_MOC}${QMAKE_FILE_BASE}_yacc$${first(QMAKE_EXT_H)}$$escape_expand(\n\t) \
- $$QMAKE_MOVE $${QMAKE_YACC_SOURCE} $${QMAKE_CPP_MOD_MOC}${QMAKE_FILE_BASE}_yacc$${first(QMAKE_EXT_CPP)}$$escape_expand(\n\t)
+ $$QMAKE_YACC $$QMAKE_YACCDECLFLAGS ${QMAKE_FILE_IN}$$escape_expand(\\n\\t) \
+ $$QMAKE_DEL_FILE $${QMAKE_CPP_MOD_MOC}${QMAKE_FILE_BASE}_yacc$${first(QMAKE_EXT_H)} $${QMAKE_CPP_MOD_MOC}${QMAKE_FILE_BASE}_yacc$${first(QMAKE_EXT_CPP)}$$escape_expand(\\n\\t) \
+ $$QMAKE_MOVE $${QMAKE_YACC_HEADER} $${QMAKE_CPP_MOD_MOC}${QMAKE_FILE_BASE}_yacc$${first(QMAKE_EXT_H)}$$escape_expand(\\n\\t) \
+ $$QMAKE_MOVE $${QMAKE_YACC_SOURCE} $${QMAKE_CPP_MOD_MOC}${QMAKE_FILE_BASE}_yacc$${first(QMAKE_EXT_CPP)}$$escape_expand(\\n\\t)
yacc_decl.output = $${QMAKE_CPP_MOD_MOC}${QMAKE_FILE_BASE}_yacc$${first(QMAKE_EXT_H)}
silent:yacc_decl.commands = @echo Yacc ${QMAKE_FILE_IN} && $$yacc_decl.commands
@@ -35,7 +35,7 @@
yacc_impl.name = source for ${QMAKE_FILE_IN}
yacc_impl.input = YACCSOURCES
yacc_impl.variable_out = GENERATED_SOURCES
- yacc_impl.commands = $$escape_expand(\n) # We don't want any commands where, but if command is empty no rules are created
+ yacc_impl.commands = $$escape_expand(\\n) # We don't want any commands where, but if command is empty no rules are created
yacc_impl.depends = $${QMAKE_CPP_MOD_MOC}${QMAKE_FILE_BASE}_yacc$${first(QMAKE_EXT_H)} # Make sure we depend on the step above
yacc_impl.output = $${QMAKE_CPP_MOD_MOC}${QMAKE_FILE_BASE}_yacc$${first(QMAKE_EXT_CPP)} # Faked output from this step, output really created in step above
QMAKE_EXTRA_COMPILERS += yacc_impl
diff --git a/mkspecs/linux-g++-maemo/qmake.conf b/mkspecs/linux-g++-maemo/qmake.conf
index ca201bcc24..cced09029e 100644
--- a/mkspecs/linux-g++-maemo/qmake.conf
+++ b/mkspecs/linux-g++-maemo/qmake.conf
@@ -13,9 +13,6 @@ QMAKE_INCREMENTAL_STYLE = sublib
include(../common/g++.conf)
include(../common/linux.conf)
-# Work round scratchbox not having standard paths in it's default search path
-QMAKE_LFLAGS += -Wl,-rpath-link=/lib
-QMAKE_LFLAGS += -Wl,-rpath-link=/usr/lib
# Override the default lib/include directories for scratchbox:
QMAKE_INCDIR_X11 = /usr/include/X11
diff --git a/mkspecs/linux-icc/qmake.conf b/mkspecs/linux-icc/qmake.conf
index 3353180b40..3b26f7dbd6 100644
--- a/mkspecs/linux-icc/qmake.conf
+++ b/mkspecs/linux-icc/qmake.conf
@@ -21,13 +21,13 @@ QMAKE_LEX = flex
QMAKE_LEXFLAGS =
QMAKE_YACC = yacc
QMAKE_YACCFLAGS = -d
-QMAKE_CFLAGS = -wd654,1572
+QMAKE_CFLAGS =
QMAKE_CFLAGS_DEPS = -M
-QMAKE_CFLAGS_WARN_ON =
+QMAKE_CFLAGS_WARN_ON = -w1 -Wcheck -wd654,1572,411,873,1125
QMAKE_CFLAGS_WARN_OFF = -w
-QMAKE_CFLAGS_RELEASE = -O2
-QMAKE_CFLAGS_DEBUG = -g
-QMAKE_CFLAGS_SHLIB = -fPIC
+QMAKE_CFLAGS_RELEASE = -O2 -falign-functions=16 -ansi-alias -fstrict-aliasing
+QMAKE_CFLAGS_DEBUG = -O0 -g
+QMAKE_CFLAGS_SHLIB = -fPIC -fno-jump-tables
QMAKE_CFLAGS_STATIC_LIB = $$QMAKE_CFLAGS_SHLIB
QMAKE_CFLAGS_YACC =
QMAKE_CFLAGS_THREAD = -D_REENTRANT
@@ -58,11 +58,12 @@ QMAKE_LINK_SHLIB = icpc
QMAKE_LFLAGS =
QMAKE_LFLAGS_RELEASE =
QMAKE_LFLAGS_DEBUG =
-QMAKE_LFLAGS_SHLIB = -shared
+QMAKE_LFLAGS_SHLIB = -shared -shared-intel
QMAKE_LFLAGS_PLUGIN = $$QMAKE_LFLAGS_SHLIB
-QMAKE_LFLAGS_SONAME = -Qoption,ld,-soname,
+QMAKE_LFLAGS_SONAME = -Wl,-soname,
QMAKE_LFLAGS_THREAD =
-QMAKE_LFLAGS_RPATH = -Qoption,ld,-rpath,
+QMAKE_LFLAGS_NOUNDEF = -Wl,-z,defs
+QMAKE_LFLAGS_RPATH = -Wl,-rpath,
QMAKE_LIBS =
QMAKE_LIBS_DYNLOAD = -ldl
@@ -76,7 +77,7 @@ QMAKE_LIBS_THREAD = -lpthread
QMAKE_MOC = $$[QT_INSTALL_BINS]/moc
QMAKE_UIC = $$[QT_INSTALL_BINS]/uic
-QMAKE_AR = ar cqs
+QMAKE_AR = xiar cqs
QMAKE_OBJCOPY = objcopy
QMAKE_RANLIB =
@@ -99,8 +100,8 @@ QMAKE_CXXFLAGS_USE_PRECOMPILE = -pch-use ${QMAKE_PCH_OUTPUT} -include ${QMAKE_PC
QMAKE_CXXFLAGS_PRECOMPILE = -c -pch-create ${QMAKE_PCH_OUTPUT} -include ${QMAKE_PCH_INPUT} -o ${QMAKE_PCH_TEMP_OBJECT} ${QMAKE_PCH_TEMP_SOURCE}
# -Bsymbolic-functions (ld) support
-QMAKE_LFLAGS_BSYMBOLIC_FUNC = -Qoption,ld,-Bsymbolic-functions
-QMAKE_LFLAGS_DYNAMIC_LIST = -Qoption,ld,--dynamic-list,
+QMAKE_LFLAGS_BSYMBOLIC_FUNC = -Wl,-Bsymbolic-functions
+QMAKE_LFLAGS_DYNAMIC_LIST = -Wl,--dynamic-list,
# Symbol visibility control
QMAKE_CFLAGS_HIDESYMS += -fvisibility=hidden
diff --git a/src/3rdparty/webkit/WebKit/qt/qtwebkit_version.pri b/mkspecs/modules/qt_webkit_version.pri
index ffd192c315..ffd192c315 100644
--- a/src/3rdparty/webkit/WebKit/qt/qtwebkit_version.pri
+++ b/mkspecs/modules/qt_webkit_version.pri
diff --git a/mkspecs/symbian/linux-armcc/qmake.conf b/mkspecs/symbian/linux-armcc/qmake.conf
index 599e55241c..77fb1eadc9 100644
--- a/mkspecs/symbian/linux-armcc/qmake.conf
+++ b/mkspecs/symbian/linux-armcc/qmake.conf
@@ -6,8 +6,6 @@ include(../../common/symbian/symbian-makefile.conf)
include(../../common/armcc.conf)
-QMAKE_LIBS += usrt2_2.lib dfpaeabi.dso dfprvct2_2.dso drtaeabi.dso scppnwdl.dso drtrvct2_2.dso h_t__uf.l\\(switch8.o\\)
-
QMAKE_RVCT_LINKSTYLE = 1
# notice that the middle part of the following set of vars matches the TARGET content of the libs
@@ -33,8 +31,8 @@ QMAKE_QtWebKit_CXXFLAGS = --arm
# Move RW-section base address to start from 0xE00000 instead of the toolchain default 0x400000.
QMAKE_QtWebKit_LFLAGS = --rw-base 0xE00000
-QMAKE_CFLAGS += --dllimport_runtime --preinclude rvct2_2.h --diag_suppress 186,654,1300 --thumb --fpu softvfp --cpu 5T --enum_is_int -Ono_known_library --fpmode ieee_no_fenv --export_all_vtbl --no_vfe --apcs /inter $$QMAKE_CFLAGS.ARMCC
-QMAKE_CXXFLAGS += $$QMAKE_CFLAGS --no_parse_templates $$QMAKE_CXXFLAGS.ARMCC
+QMAKE_CFLAGS += --dllimport_runtime --preinclude rvct2_2.h --diag_suppress 186,654,1300 --thumb --fpu softvfp --cpu 5T --enum_is_int -Ono_known_library --fpmode ieee_no_fenv --no_vfe --apcs /inter $$QMAKE_CFLAGS.ARMCC
+QMAKE_CXXFLAGS += $$QMAKE_CFLAGS $$QMAKE_CXXFLAGS.ARMCC
QMAKE_LFLAGS += --symver_soname --diag_suppress 6331,6780 --bpabi --reloc --datacompressor=off --split --dll --no_scanlib
QMAKE_LFLAGS_APP += --entry _E32Startup
QMAKE_LFLAGS_SHLIB += --entry _E32Dll
diff --git a/mkspecs/symbian/linux-armcc/qplatformdefs.h b/mkspecs/symbian/linux-armcc/qplatformdefs.h
index db67648f8e..3b7d023873 100644
--- a/mkspecs/symbian/linux-armcc/qplatformdefs.h
+++ b/mkspecs/symbian/linux-armcc/qplatformdefs.h
@@ -1 +1,42 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the mkspecs of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
#include "../../common/symbian/qplatformdefs.h"
diff --git a/mkspecs/symbian/linux-gcce/qmake.conf b/mkspecs/symbian/linux-gcce/qmake.conf
index 57bb56ad89..faac2f12f1 100644
--- a/mkspecs/symbian/linux-gcce/qmake.conf
+++ b/mkspecs/symbian/linux-gcce/qmake.conf
@@ -83,13 +83,13 @@ for(line, QMAKE_GCC_SEARCH_DIRS) {
}
}
-QMAKE_LIBDIR += $${EPOCROOT}epoc32/release/armv5/lib
-
-INCLUDEPATH = ${EPOCROOT}epoc32/include/ \
- $${EPOCROOT}epoc32/include/variant \
- $${EPOCROOT}epoc32/include/stdapis \
- $${EPOCROOT}epoc32/include/gcce \
- ${EPOCROOT}epoc32/include/stdapis/sys \
- ${EPOCROOT}epoc32/include/stdapis/stlport \
+QMAKE_LIBDIR += $${EPOCROOT}/epoc32/release/armv5/lib
+
+INCLUDEPATH = ${EPOCROOT}/epoc32/include/ \
+ $${EPOCROOT}/epoc32/include/variant \
+ $${EPOCROOT}/epoc32/include/stdapis \
+ $${EPOCROOT}/epoc32/include/gcce \
+ ${EPOCROOT}/epoc32/include/stdapis/sys \
+ ${EPOCROOT}/epoc32/include/stdapis/stlport \
$$INCLUDEPATH
diff --git a/mkspecs/symbian/linux-gcce/qplatformdefs.h b/mkspecs/symbian/linux-gcce/qplatformdefs.h
index 4a658c59be..fcbd9ea33d 100644
--- a/mkspecs/symbian/linux-gcce/qplatformdefs.h
+++ b/mkspecs/symbian/linux-gcce/qplatformdefs.h
@@ -1,2 +1,43 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the mkspecs of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
#include "../../common/symbian/qplatformdefs.h"
diff --git a/mkspecs/unsupported/win32-g++-cross/qmake.conf b/mkspecs/unsupported/win32-g++-cross/qmake.conf
new file mode 100644
index 0000000000..e338a226d9
--- /dev/null
+++ b/mkspecs/unsupported/win32-g++-cross/qmake.conf
@@ -0,0 +1,101 @@
+#
+# qmake configuration for win32-g++-cross
+#
+# Written for MinGW cross building on Unix
+#
+
+MAKEFILE_GENERATOR = MINGW
+TEMPLATE = app
+CONFIG += qt warn_on release link_prl copy_dir_files debug_and_release debug_and_release_target precompile_header
+QT += core gui
+DEFINES += UNICODE QT_LARGEFILE_SUPPORT
+QMAKE_COMPILER_DEFINES += __GNUC__ WIN32
+
+QMAKE_EXT_OBJ = .o
+QMAKE_EXT_RES = _res.o
+
+QMAKE_CC = i686-pc-mingw32-gcc
+QMAKE_LEX = flex
+QMAKE_LEXFLAGS =
+QMAKE_YACC = byacc
+QMAKE_YACCFLAGS = -d
+QMAKE_CFLAGS = -pipe
+QMAKE_CFLAGS_DEPS = -M
+QMAKE_CFLAGS_WARN_ON = -Wall
+QMAKE_CFLAGS_WARN_OFF = -w
+QMAKE_CFLAGS_RELEASE = -O2
+QMAKE_CFLAGS_DEBUG = -g
+QMAKE_CFLAGS_YACC = -Wno-unused -Wno-parentheses
+
+QMAKE_CXX = i686-pc-mingw32-g++
+QMAKE_CXXFLAGS = $$QMAKE_CFLAGS
+QMAKE_CXXFLAGS_DEPS = $$QMAKE_CFLAGS_DEPS
+QMAKE_CXXFLAGS_WARN_ON = $$QMAKE_CFLAGS_WARN_ON
+QMAKE_CXXFLAGS_WARN_OFF = $$QMAKE_CFLAGS_WARN_OFF
+QMAKE_CXXFLAGS_RELEASE = $$QMAKE_CFLAGS_RELEASE
+QMAKE_CXXFLAGS_DEBUG = $$QMAKE_CFLAGS_DEBUG
+QMAKE_CXXFLAGS_YACC = $$QMAKE_CFLAGS_YACC
+QMAKE_CXXFLAGS_THREAD = $$QMAKE_CFLAGS_THREAD
+QMAKE_CXXFLAGS_RTTI_ON = -frtti
+QMAKE_CXXFLAGS_RTTI_OFF = -fno-rtti
+QMAKE_CXXFLAGS_EXCEPTIONS_ON = -fexceptions -mthreads
+QMAKE_CXXFLAGS_EXCEPTIONS_OFF = -fno-exceptions
+
+QMAKE_INCDIR =
+QMAKE_INCDIR_QT = $$[QT_INSTALL_HEADERS]
+QMAKE_LIBDIR_QT = $$[QT_INSTALL_LIBS]
+
+QMAKE_RUN_CC = $(CC) -c $(CFLAGS) $(INCPATH) -o $obj $src
+QMAKE_RUN_CC_IMP = $(CC) -c $(CFLAGS) $(INCPATH) -o $@ $<
+QMAKE_RUN_CXX = $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $obj $src
+QMAKE_RUN_CXX_IMP = $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $<
+
+QMAKE_LINK = i686-pc-mingw32-g++
+QMAKE_LINK_C = i686-pc-mingw32-gcc
+QMAKE_LFLAGS = -enable-stdcall-fixup -Wl,-enable-auto-import -Wl,-enable-runtime-pseudo-reloc
+QMAKE_LFLAGS_EXCEPTIONS_ON = -mthreads -Wl
+QMAKE_LFLAGS_EXCEPTIONS_OFF =
+QMAKE_LFLAGS_RELEASE = -Wl,-s
+QMAKE_LFLAGS_DEBUG =
+QMAKE_LFLAGS_CONSOLE = -Wl,-subsystem,console
+QMAKE_LFLAGS_WINDOWS = -Wl,-subsystem,windows
+QMAKE_LFLAGS_DLL = -shared
+QMAKE_LINK_OBJECT_MAX = 10
+QMAKE_LINK_OBJECT_SCRIPT= object_script
+
+
+QMAKE_LIBS =
+QMAKE_LIBS_CORE = -lkernel32 -luser32 -lshell32 -luuid -lole32 -ladvapi32 -lws2_32
+QMAKE_LIBS_GUI = -lgdi32 -lcomdlg32 -loleaut32 -limm32 -lwinmm -lwinspool -lws2_32 -lole32 -luuid -luser32 -ladvapi32
+QMAKE_LIBS_NETWORK = -lws2_32
+QMAKE_LIBS_OPENGL = -lopengl32 -lglu32 -lgdi32 -luser32
+QMAKE_LIBS_COMPAT = -ladvapi32 -lshell32 -lcomdlg32 -luser32 -lgdi32 -lws2_32
+QMAKE_LIBS_QT_ENTRY = -lmingw32 -lqtmain
+
+QMAKE_SH = bash
+
+MINGW_IN_SHELL = 1
+QMAKE_DIR_SEP = /
+QMAKE_COPY = cp
+QMAKE_COPY_DIR = cp -r
+QMAKE_MOVE = mv
+QMAKE_DEL_FILE = rm -f
+QMAKE_MKDIR = mkdir -p
+QMAKE_DEL_DIR = rmdir
+QMAKE_SYMBOLIC_LINK = ln -s
+QMAKE_CHK_DIR_EXISTS = test -d
+
+#QMAKE_IDC = i686-pc-mingw32-idc
+QMAKE_MOC = i686-pc-mingw32-moc
+QMAKE_RCC = i686-pc-mingw32-rcc
+QMAKE_UIC = i686-pc-mingw32-uic
+
+#QMAKE_IDL = midl
+QMAKE_LIB = i686-pc-mingw32-ar -ru
+QMAKE_RC = i686-pc-mingw32-windres
+QMAKE_ZIP = zip -r -9
+
+QMAKE_STRIP = i686-pc-mingw32-strip
+QMAKE_STRIPFLAGS_LIB += --strip-unneeded
+PKG_CONFIG = i686-pc-mingw32-pkg-config
+load(qt_config)
diff --git a/mkspecs/unsupported/win32-g++-cross/qplatformdefs.h b/mkspecs/unsupported/win32-g++-cross/qplatformdefs.h
new file mode 100644
index 0000000000..309e24a134
--- /dev/null
+++ b/mkspecs/unsupported/win32-g++-cross/qplatformdefs.h
@@ -0,0 +1,42 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the qmake spec of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include "../../win32-g++/qplatformdefs.h"
diff --git a/mkspecs/win32-borland/qmake.conf b/mkspecs/win32-borland/qmake.conf
index 63bf07aee2..2ba742c104 100644
--- a/mkspecs/win32-borland/qmake.conf
+++ b/mkspecs/win32-borland/qmake.conf
@@ -41,7 +41,7 @@ QMAKE_CXXFLAGS_EXCEPTIONS_ON =
QMAKE_CXXFLAGS_EXCEPTIONS_OFF = -x-
QMAKE_INCDIR =
-QMAKE_LIBDIR = $(BCB)\lib
+QMAKE_LIBDIR = $(BCB)\\lib
QMAKE_INCDIR_QT = $$[QT_INSTALL_HEADERS]
QMAKE_LIBDIR_QT = $$[QT_INSTALL_LIBS]
@@ -69,9 +69,9 @@ QMAKE_LIBS_QT_ENTRY = -lqtmain
#QMAKE_LIBS_OPENGL =
#QMAKE_LFLAGS_OPENGL = /dopengl32.dll
-QMAKE_MOC = $$[QT_INSTALL_BINS]\moc.exe
-QMAKE_UIC = $$[QT_INSTALL_BINS]\uic.exe
-QMAKE_IDC = $$[QT_INSTALL_BINS]\idc.exe
+QMAKE_MOC = $$[QT_INSTALL_BINS]\\moc.exe
+QMAKE_UIC = $$[QT_INSTALL_BINS]\\uic.exe
+QMAKE_IDC = $$[QT_INSTALL_BINS]\\idc.exe
QMAKE_IDL = midl
QMAKE_LIB = tlib /C /P256
diff --git a/mkspecs/win32-g++/qmake.conf b/mkspecs/win32-g++/qmake.conf
index b282f69c41..8881d02ddf 100644
--- a/mkspecs/win32-g++/qmake.conf
+++ b/mkspecs/win32-g++/qmake.conf
@@ -75,6 +75,7 @@ QMAKE_LIBS_QT_ENTRY = -lmingw32 -lqtmain
!isEmpty(QMAKE_SH) {
MINGW_IN_SHELL = 1
QMAKE_DIR_SEP = /
+ QMAKE_QMAKE ~= s,\\\\,/,
QMAKE_COPY = cp
QMAKE_COPY_DIR = xcopy /s /q /y /i
QMAKE_MOVE = mv
diff --git a/mkspecs/win32-icc/qmake.conf b/mkspecs/win32-icc/qmake.conf
index fcc769163d..acff5e1c32 100644
--- a/mkspecs/win32-icc/qmake.conf
+++ b/mkspecs/win32-icc/qmake.conf
@@ -67,9 +67,9 @@ QMAKE_LIBS_OPENGL = opengl32.lib glu32.lib gdi32.lib user32.lib delayimp.l
QMAKE_LIBS_COMPAT = advapi32.lib shell32.lib comdlg32.lib user32.lib gdi32.lib ws2_32.lib
QMAKE_LIBS_QT_ENTRY = -lqtmain
-QMAKE_MOC = $$[QT_INSTALL_BINS]\moc.exe
-QMAKE_UIC = $$[QT_INSTALL_BINS]\uic.exe
-QMAKE_IDC = $$[QT_INSTALL_BINS]\idc.exe
+QMAKE_MOC = $$[QT_INSTALL_BINS]\\moc.exe
+QMAKE_UIC = $$[QT_INSTALL_BINS]\\uic.exe
+QMAKE_IDC = $$[QT_INSTALL_BINS]\\idc.exe
QMAKE_IDL = midl
QMAKE_LIB = lib /NOLOGO
diff --git a/mkspecs/win32-msvc2003/qmake.conf b/mkspecs/win32-msvc2003/qmake.conf
index e92df120ea..534433182f 100644
--- a/mkspecs/win32-msvc2003/qmake.conf
+++ b/mkspecs/win32-msvc2003/qmake.conf
@@ -64,9 +64,9 @@ QMAKE_LIBS_COMPAT = advapi32.lib shell32.lib comdlg32.lib user32.lib gdi32
QMAKE_LIBS_QT_ENTRY = -lqtmain
-QMAKE_MOC = $$[QT_INSTALL_BINS]\moc.exe
-QMAKE_UIC = $$[QT_INSTALL_BINS]\uic.exe
-QMAKE_IDC = $$[QT_INSTALL_BINS]\idc.exe
+QMAKE_MOC = $$[QT_INSTALL_BINS]\\moc.exe
+QMAKE_UIC = $$[QT_INSTALL_BINS]\\uic.exe
+QMAKE_IDC = $$[QT_INSTALL_BINS]\\idc.exe
QMAKE_IDL = midl
QMAKE_LIB = lib /NOLOGO
diff --git a/mkspecs/win32-msvc2005/qmake.conf b/mkspecs/win32-msvc2005/qmake.conf
index 5ed8e01c45..84e831f6f9 100644
--- a/mkspecs/win32-msvc2005/qmake.conf
+++ b/mkspecs/win32-msvc2005/qmake.conf
@@ -67,9 +67,9 @@ QMAKE_LIBS_COMPAT = advapi32.lib shell32.lib comdlg32.lib user32.lib gdi32
QMAKE_LIBS_QT_ENTRY = -lqtmain
-QMAKE_MOC = $$[QT_INSTALL_BINS]\moc.exe
-QMAKE_UIC = $$[QT_INSTALL_BINS]\uic.exe
-QMAKE_IDC = $$[QT_INSTALL_BINS]\idc.exe
+QMAKE_MOC = $$[QT_INSTALL_BINS]\\moc.exe
+QMAKE_UIC = $$[QT_INSTALL_BINS]\\uic.exe
+QMAKE_IDC = $$[QT_INSTALL_BINS]\\idc.exe
QMAKE_IDL = midl
QMAKE_LIB = lib /NOLOGO
diff --git a/mkspecs/win32-msvc2008/qmake.conf b/mkspecs/win32-msvc2008/qmake.conf
index 373a36d994..3e0bfb53b1 100644
--- a/mkspecs/win32-msvc2008/qmake.conf
+++ b/mkspecs/win32-msvc2008/qmake.conf
@@ -67,9 +67,9 @@ QMAKE_LIBS_COMPAT = advapi32.lib shell32.lib comdlg32.lib user32.lib gdi32
QMAKE_LIBS_QT_ENTRY = -lqtmain
-QMAKE_MOC = $$[QT_INSTALL_BINS]\moc.exe
-QMAKE_UIC = $$[QT_INSTALL_BINS]\uic.exe
-QMAKE_IDC = $$[QT_INSTALL_BINS]\idc.exe
+QMAKE_MOC = $$[QT_INSTALL_BINS]\\moc.exe
+QMAKE_UIC = $$[QT_INSTALL_BINS]\\uic.exe
+QMAKE_IDC = $$[QT_INSTALL_BINS]\\idc.exe
QMAKE_IDL = midl
QMAKE_LIB = lib /NOLOGO
diff --git a/mkspecs/win32-msvc2010/qmake.conf b/mkspecs/win32-msvc2010/qmake.conf
index 2a48938de7..d9fe711a26 100644
--- a/mkspecs/win32-msvc2010/qmake.conf
+++ b/mkspecs/win32-msvc2010/qmake.conf
@@ -67,9 +67,9 @@ QMAKE_LIBS_COMPAT = advapi32.lib shell32.lib comdlg32.lib user32.lib gdi32
QMAKE_LIBS_QT_ENTRY = -lqtmain
-QMAKE_MOC = $$[QT_INSTALL_BINS]\moc.exe
-QMAKE_UIC = $$[QT_INSTALL_BINS]\uic.exe
-QMAKE_IDC = $$[QT_INSTALL_BINS]\idc.exe
+QMAKE_MOC = $$[QT_INSTALL_BINS]\\moc.exe
+QMAKE_UIC = $$[QT_INSTALL_BINS]\\uic.exe
+QMAKE_IDC = $$[QT_INSTALL_BINS]\\idc.exe
QMAKE_IDL = midl
QMAKE_LIB = lib /NOLOGO
diff --git a/projects.pro b/projects.pro
index fc7db1d153..373b04975e 100644
--- a/projects.pro
+++ b/projects.pro
@@ -104,33 +104,33 @@ unix:!symbian {
(cd qmake && $(MAKE) distclean);
}
win32 {
- confclean.commands += -$(DEL_FILE) src\core\global\qconfig.h $$escape_expand(\n\t) \
- -$(DEL_FILE) src\core\global\qconfig.cpp $$escape_expand(\n\t) \
- -$(DEL_FILE) mkspecs\qconfig.pri $$escape_expand(\n\t) \
- -$(DEL_FILE) .qmake.cache $$escape_expand(\n\t) \
+ confclean.commands += -$(DEL_FILE) src\\core\\global\\qconfig.h $$escape_expand(\\n\\t) \
+ -$(DEL_FILE) src\\core\\global\\qconfig.cpp $$escape_expand(\\n\\t) \
+ -$(DEL_FILE) mkspecs\\qconfig.pri $$escape_expand(\\n\\t) \
+ -$(DEL_FILE) .qmake.cache $$escape_expand(\\n\\t) \
(cd qmake && $(MAKE) distclean)
}
symbian {
confclean.depends += distclean
contains(QMAKE_HOST.os, "Windows") {
confclean.commands += \
- (cd src\tools\moc && $(MAKE) distclean) $$escape_expand(\n\t) \
- (cd src\tools\rcc && $(MAKE) distclean) $$escape_expand(\n\t) \
- (cd src\tools\uic && $(MAKE) distclean) $$escape_expand(\n\t) \
- -$(DEL_FILE) src\corelib\global\qconfig.h $$escape_expand(\n\t) \
- -$(DEL_FILE) src\corelib\global\qconfig.cpp $$escape_expand(\n\t) \
- -$(DEL_FILE) mkspecs\qconfig.pri $$escape_expand(\n\t) \
- -$(DEL_FILE) .qmake.cache $$escape_expand(\n\t) \
+ (cd src\\tools\\moc && $(MAKE) distclean) $$escape_expand(\\n\\t) \
+ (cd src\\tools\\rcc && $(MAKE) distclean) $$escape_expand(\\n\\t) \
+ (cd src\\tools\\uic && $(MAKE) distclean) $$escape_expand(\\n\\t) \
+ -$(DEL_FILE) src\\corelib\\global\\qconfig.h $$escape_expand(\\n\\t) \
+ -$(DEL_FILE) src\\corelib\\global\\qconfig.cpp $$escape_expand(\\n\\t) \
+ -$(DEL_FILE) mkspecs\\qconfig.pri $$escape_expand(\\n\\t) \
+ -$(DEL_FILE) .qmake.cache $$escape_expand(\\n\\t) \
(cd qmake && $(MAKE) distclean)
} else {
confclean.commands += \
- (cd src/tools/moc && $(MAKE) distclean) $$escape_expand(\n\t) \
- (cd src/tools/rcc && $(MAKE) distclean) $$escape_expand(\n\t) \
- (cd src/tools/uic && $(MAKE) distclean) $$escape_expand(\n\t) \
- -$(DEL_FILE) src/corelib/global/qconfig.h $$escape_expand(\n\t) \
- -$(DEL_FILE) src/corelib/global/qconfig.cpp $$escape_expand(\n\t) \
- -$(DEL_FILE) mkspecs/qconfig.pri $$escape_expand(\n\t) \
- -$(DEL_FILE) .qmake.cache $$escape_expand(\n\t) \
+ (cd src/tools/moc && $(MAKE) distclean) $$escape_expand(\\n\\t) \
+ (cd src/tools/rcc && $(MAKE) distclean) $$escape_expand(\\n\\t) \
+ (cd src/tools/uic && $(MAKE) distclean) $$escape_expand(\\n\\t) \
+ -$(DEL_FILE) src/corelib/global/qconfig.h $$escape_expand(\\n\\t) \
+ -$(DEL_FILE) src/corelib/global/qconfig.cpp $$escape_expand(\\n\\t) \
+ -$(DEL_FILE) mkspecs/qconfig.pri $$escape_expand(\\n\\t) \
+ -$(DEL_FILE) .qmake.cache $$escape_expand(\\n\\t) \
(cd qmake && $(MAKE) distclean)
}
}
@@ -165,6 +165,10 @@ unix {
DEFAULT_QMAKESPEC ~= s,^.*mkspecs/,,g
mkspecs.commands += $(DEL_FILE) $(INSTALL_ROOT)$$mkspecs.path/default; $(SYMLINK) $$DEFAULT_QMAKESPEC $(INSTALL_ROOT)$$mkspecs.path/default
}
+win32:!equals(QT_BUILD_TREE, $$QT_SOURCE_TREE) {
+ # When shadow building on Windows, the default mkspec only exists in the build tree.
+ mkspecs.files += $$QT_BUILD_TREE/mkspecs/default
+}
INSTALLS += mkspecs
false:macx { #mac install location
diff --git a/qmake/Makefile.win32 b/qmake/Makefile.win32
index 956fa9c5db..b58757cb3e 100644
--- a/qmake/Makefile.win32
+++ b/qmake/Makefile.win32
@@ -200,7 +200,7 @@ clean::
-del symmake.obj
-del symmake_abld.obj
-del symmake_sbsv2.obj
- -del symbiancommon.obj
+ -del symbiancommon.obj
-del initprojectdeploy_symbian.obj
-del registry.obj
-del epocroot.obj
@@ -442,7 +442,7 @@ pbuilder_pbx.obj: $(SOURCE_PATH)/qmake/generators/mac/pbuilder_pbx.cpp
makefiledeps.obj: $(SOURCE_PATH)/qmake/generators/makefiledeps.cpp
$(CXX) $(CXXFLAGS) generators/makefiledeps.cpp
-metamakefile.obj: $(SOURCE_PATH)/qmake/generators/metamakefile.cpp $(SOURCE_PATH)/qmake/generators/symbian/symbiancommon.obj
+metamakefile.obj: $(SOURCE_PATH)/qmake/generators/metamakefile.cpp
$(CXX) $(CXXFLAGS) generators/metamakefile.cpp
xmloutput.obj: $(SOURCE_PATH)/qmake/generators/xmloutput.cpp
diff --git a/qmake/Makefile.win32-g++ b/qmake/Makefile.win32-g++
index 477203df45..e52b8c6951 100644
--- a/qmake/Makefile.win32-g++
+++ b/qmake/Makefile.win32-g++
@@ -27,7 +27,7 @@ CFLAGS = -c -o$@ -O \
-DQT_BUILD_QMAKE -DQT_NO_THREAD -DQT_NO_QOBJECT -DQT_NO_GEOM_VARIANT -DQT_NO_DATASTREAM \
-DQT_BOOTSTRAPPED
CXXFLAGS = $(CFLAGS)
-LFLAGS = -static-libgcc -s
+LFLAGS = -static-libgcc -static-libstdc++ -s
LIBS = -lole32 -luuid
LINKQMAKE = g++ $(LFLAGS) -o qmake.exe $(OBJS) $(QTOBJS) $(LIBS)
ADDCLEAN =
@@ -326,3 +326,4 @@ qxmlstream.o: $(SOURCE_PATH)/src/corelib/xml/qxmlstream.cpp
qxmlutils.o: $(SOURCE_PATH)/src/corelib/xml/qxmlutils.cpp
$(CXX) $(CXXFLAGS) $(SOURCE_PATH)/src/corelib/xml/qxmlutils.cpp
+
diff --git a/qmake/Makefile.win32-g++-sh b/qmake/Makefile.win32-g++-sh
index 6aac39fe78..e4e2e6a3c9 100644
--- a/qmake/Makefile.win32-g++-sh
+++ b/qmake/Makefile.win32-g++-sh
@@ -27,7 +27,7 @@ CFLAGS = -c -o$@ -O \
-DQT_BUILD_QMAKE -DQT_NO_THREAD -DQT_NO_QOBJECT -DQT_NO_GEOM_VARIANT -DQT_NO_DATASTREAM \
-DQT_BOOTSTRAPPED
CXXFLAGS = $(CFLAGS)
-LFLAGS = -static-libgcc -s
+LFLAGS = -static-libgcc -static-libstdc++ -s
LIBS = -lole32 -luuid
LINKQMAKE = g++ $(LFLAGS) -o qmake.exe $(OBJS) $(QTOBJS) $(LIBS)
ADDCLEAN =
diff --git a/qmake/generators/mac/pbuilder_pbx.cpp b/qmake/generators/mac/pbuilder_pbx.cpp
index 1a7391b5dd..aa55f5119d 100644
--- a/qmake/generators/mac/pbuilder_pbx.cpp
+++ b/qmake/generators/mac/pbuilder_pbx.cpp
@@ -540,7 +540,7 @@ ProjectBuilderMakefileGenerator::writeMakeParts(QTextStream &t)
<< "\t\t\t" << writeSettings("name", "Qt Qmake") << ";" << "\n"
<< "\t\t\t" << writeSettings("neededFileNames", QStringList(), SettingsAsList, 4) << ";" << "\n"
<< "\t\t\t" << writeSettings("shellPath", "/bin/sh") << ";" << "\n"
- << "\t\t\t" << writeSettings("shellScript", fixForOutput("make -C " + escapeFilePath(qmake_getpwd()) + " -f " + escapeFilePath(mkfile))) << ";" << "\n"
+ << "\t\t\t" << writeSettings("shellScript", fixForOutput("make -C " + escapeFilePath(qmake_getpwd()) + " -f '" + escapeFilePath(mkfile) + "'")) << ";" << "\n"
<< "\t\t" << "};" << "\n";
}
@@ -789,7 +789,7 @@ ProjectBuilderMakefileGenerator::writeMakeParts(QTextStream &t)
<< "\t\t\t" << writeSettings("name", "Qt Preprocessors") << ";" << "\n"
<< "\t\t\t" << writeSettings("neededFileNames", fixListForOutput("QMAKE_PBX_OBJ"), SettingsAsList, 4) << ";" << "\n"
<< "\t\t\t" << writeSettings("shellPath", "/bin/sh") << ";" << "\n"
- << "\t\t\t" << writeSettings("shellScript", fixForOutput("make -C " + escapeFilePath(qmake_getpwd()) + " -f " + escapeFilePath(mkfile))) << ";" << "\n"
+ << "\t\t\t" << writeSettings("shellScript", fixForOutput("make -C " + escapeFilePath(qmake_getpwd()) + " -f '" + escapeFilePath(mkfile) + "'")) << ";" << "\n"
<< "\t\t" << "};" << "\n";
}
@@ -968,7 +968,7 @@ ProjectBuilderMakefileGenerator::writeMakeParts(QTextStream &t)
<< "\t\t\t" << writeSettings("name", "Qt Sublibs") << ";" << "\n"
<< "\t\t\t" << writeSettings("neededFileNames", QStringList(), SettingsAsList, 4) << ";" << "\n"
<< "\t\t\t" << writeSettings("shellPath", "/bin/sh") << "\n"
- << "\t\t\t" << writeSettings("shellScript", fixForOutput("make -C " + escapeFilePath(qmake_getpwd()) + " -f " + escapeFilePath(mkfile))) << ";" << "\n"
+ << "\t\t\t" << writeSettings("shellScript", fixForOutput("make -C " + escapeFilePath(qmake_getpwd()) + " -f '" + escapeFilePath(mkfile) + "'")) << ";" << "\n"
<< "\t\t" << "};" << "\n";
}
//LIBRARY BUILDPHASE
diff --git a/qmake/generators/makefile.cpp b/qmake/generators/makefile.cpp
index 29a2422784..d6b3e09d5b 100644
--- a/qmake/generators/makefile.cpp
+++ b/qmake/generators/makefile.cpp
@@ -972,7 +972,7 @@ MakefileGenerator::writePrlFile(QTextStream &t)
libs << "QMAKE_LIBS_PRIVATE";
t << "QMAKE_PRL_LIBS = ";
for(QStringList::Iterator it = libs.begin(); it != libs.end(); ++it)
- t << project->values((*it)).join(" ") << " ";
+ t << project->values((*it)).join(" ").replace('\\', "\\\\") << " ";
t << endl;
}
}
@@ -1236,7 +1236,7 @@ MakefileGenerator::writeInstalls(QTextStream &t, const QString &installs, bool n
target += "\n";
do_default = false;
for(QStringList::Iterator wild_it = tmp.begin(); wild_it != tmp.end(); ++wild_it) {
- QString wild = Option::fixPathToLocalOS((*wild_it), false, false);
+ QString wild = Option::fixPathToTargetOS((*wild_it), false, false);
QString dirstr = qmake_getpwd(), filestr = wild;
int slsh = filestr.lastIndexOf(Option::dir_sep);
if(slsh != -1) {
@@ -1277,13 +1277,26 @@ MakefileGenerator::writeInstalls(QTextStream &t, const QString &installs, bool n
}
QString local_dirstr = Option::fixPathToLocalOS(dirstr, true);
QStringList files = QDir(local_dirstr).entryList(QStringList(filestr));
- if(project->values((*it) + ".CONFIG").indexOf("no_check_exist") != -1 && files.isEmpty()) {
+ const QStringList &installConfigValues = project->values((*it) + ".CONFIG");
+ if (installConfigValues.contains("no_check_exist") && files.isEmpty()) {
if(!target.isEmpty())
target += "\t";
QString dst_file = filePrefixRoot(root, dst);
QFileInfo fi(fileInfo(wild));
- QString cmd = QString(fi.isExecutable() ? "-$(INSTALL_PROGRAM)" : "-$(INSTALL_FILE)") + " " +
- wild + " " + dst_file + "\n";
+ QString cmd;
+ if (installConfigValues.contains("directory")) {
+ cmd = QLatin1String("-$(INSTALL_DIR)");
+ if (!dst_file.endsWith(Option::dir_sep))
+ dst_file += Option::dir_sep;
+ dst_file += fi.fileName();
+ } else if (installConfigValues.contains("executable")) {
+ cmd = QLatin1String("-$(INSTALL_PROGRAM)");
+ } else if (installConfigValues.contains("data")) {
+ cmd = QLatin1String("-$(INSTALL_FILE)");
+ } else {
+ cmd = QString(fi.isExecutable() ? "-$(INSTALL_PROGRAM)" : "-$(INSTALL_FILE)");
+ }
+ cmd += " " + wild + " " + dst_file + "\n";
target += cmd;
if(!uninst.isEmpty())
uninst.append("\n\t");
diff --git a/qmake/generators/metamakefile.cpp b/qmake/generators/metamakefile.cpp
index 9c64544f74..e98831dd34 100644
--- a/qmake/generators/metamakefile.cpp
+++ b/qmake/generators/metamakefile.cpp
@@ -476,7 +476,7 @@ MetaMakefileGenerator::createMakefileGenerator(QMakeProject *proj, bool noIO)
mkfile = new NmakeMakefileGenerator;
} else if(gen == "MSBUILD") {
// Visual Studio >= v11.0
- if(proj->first("TEMPLATE").indexOf(QRegExp("^vc.*")) != -1 || proj->first("TEMPLATE").indexOf(QRegExp("^ce.*")) != -1)
+ if (proj->first("TEMPLATE").startsWith("vc"))
mkfile = new VcxprojGenerator;
else
mkfile = new NmakeMakefileGenerator;
@@ -529,9 +529,18 @@ MetaMakefileGenerator::modesForGenerator(const QString &gen,
*host_mode = Option::HOST_UNIX_MODE;
*target_mode = Option::TARG_UNIX_MODE;
#endif
- } else if (gen == "MSVC.NET" || gen == "MINGW" || gen == "BMAKE" || gen == "MSBUILD") {
+ } else if (gen == "MSVC.NET" || gen == "BMAKE" || gen == "MSBUILD") {
*host_mode = Option::HOST_WIN_MODE;
*target_mode = Option::TARG_WIN_MODE;
+ } else if (gen == "MINGW") {
+#if defined(Q_OS_MAC)
+ *host_mode = Option::HOST_MACX_MODE;
+#elif defined(Q_OS_UNIX)
+ *host_mode = Option::HOST_UNIX_MODE;
+#else
+ *host_mode = Option::HOST_WIN_MODE;
+#endif
+ *target_mode = Option::TARG_WIN_MODE;
} else if (gen == "PROJECTBUILDER" || gen == "XCODE") {
*host_mode = Option::HOST_MACX_MODE;
*target_mode = Option::TARG_MACX_MODE;
diff --git a/qmake/generators/symbian/initprojectdeploy_symbian.cpp b/qmake/generators/symbian/initprojectdeploy_symbian.cpp
index 6407412cca..4552185c5f 100644
--- a/qmake/generators/symbian/initprojectdeploy_symbian.cpp
+++ b/qmake/generators/symbian/initprojectdeploy_symbian.cpp
@@ -91,12 +91,13 @@ static void createPluginStub(const QFileInfo& info,
QStringList& generatedDirs,
QStringList& generatedFiles)
{
- QDir().mkpath(QLatin1String(PLUGIN_STUB_DIR));
- if (!generatedDirs.contains(PLUGIN_STUB_DIR))
- generatedDirs << PLUGIN_STUB_DIR;
+ QString pluginStubDir = Option::output_dir + QLatin1Char('/') + QLatin1String(PLUGIN_STUB_DIR);
+ QDir().mkpath(pluginStubDir);
+ if (!generatedDirs.contains(pluginStubDir))
+ generatedDirs << pluginStubDir;
// Plugin stubs must have different name from the actual plugins, because
// the toolchain for creating ROM images cannot handle non-binary .dll files properly.
- QFile stubFile(QLatin1String(PLUGIN_STUB_DIR "/") + info.completeBaseName() + "." SUFFIX_QTPLUGIN);
+ QFile stubFile(pluginStubDir + QLatin1Char('/') + info.completeBaseName() + QLatin1Char('.') + QLatin1String(SUFFIX_QTPLUGIN));
if (stubFile.open(QIODevice::WriteOnly)) {
if (!generatedFiles.contains(stubFile.fileName()))
generatedFiles << stubFile.fileName();
diff --git a/qmake/generators/symbian/symbian_makefile.h b/qmake/generators/symbian/symbian_makefile.h
index 061866ae2f..94f01453c7 100644
--- a/qmake/generators/symbian/symbian_makefile.h
+++ b/qmake/generators/symbian/symbian_makefile.h
@@ -94,6 +94,8 @@ public:
}
}
+ writeCustomDefFile();
+
return T::writeMakefile(t);
}
};
diff --git a/qmake/generators/symbian/symbiancommon.cpp b/qmake/generators/symbian/symbiancommon.cpp
index b730d9ea7a..3a4bdbc4c8 100644
--- a/qmake/generators/symbian/symbiancommon.cpp
+++ b/qmake/generators/symbian/symbiancommon.cpp
@@ -58,6 +58,8 @@
#define RSS_TAG_FOOTER "footer"
#define RSS_TAG_DEFAULT "default_rules" // Same as just giving rules without tag
+#define PLUGIN_COMMON_DEF_FILE_ACTUAL "plugin_commonu.def"
+
#define MANUFACTURER_NOTE_FILE "manufacturer_note.txt"
#define DEFAULT_MANUFACTURER_NOTE \
"The package is not supported for devices from this manufacturer. Please try the selfsigned " \
@@ -142,6 +144,13 @@ void SymbianCommonGenerator::removeEpocSpecialCharacters(QString& str)
removeSpecialCharacters(str);
}
+QString romPath(const QString& path)
+{
+ if(path.length() > 2 && path[1] == ':')
+ return QLatin1String("z:") + path.mid(2);
+ return QLatin1String("z:") + path;
+}
+
void SymbianCommonGenerator::generatePkgFile(const QString &iconFile, bool epocBuild)
{
QMakeProject *project = generator->project;
@@ -150,9 +159,8 @@ void SymbianCommonGenerator::generatePkgFile(const QString &iconFile, bool epocB
pkgTarget = project->first("TARGET");
pkgTarget = generator->unescapeFilePath(pkgTarget);
pkgTarget = removePathSeparators(pkgTarget);
- QString pkgFilename = QString("%1_template.%2").arg(pkgTarget).arg("pkg");
- if (!Option::output_dir.isEmpty())
- pkgFilename = Option::output_dir + '/' + pkgFilename;
+ QString pkgFilename = Option::output_dir + QLatin1Char('/') +
+ QString("%1_template.pkg").arg(pkgTarget);
QFile pkgFile(pkgFilename);
if (!pkgFile.open(QIODevice::WriteOnly | QIODevice::Text)) {
@@ -160,8 +168,19 @@ void SymbianCommonGenerator::generatePkgFile(const QString &iconFile, bool epocB
return;
}
+ QString stubPkgFileName = Option::output_dir + QLatin1Char('/') +
+ QString("%1_stub.pkg").arg(pkgTarget);
+
+ QFile stubPkgFile(stubPkgFileName);
+ if (!stubPkgFile.open(QIODevice::WriteOnly | QIODevice::Text)) {
+ PRINT_FILE_CREATE_ERROR(stubPkgFileName);
+ return;
+ }
+
generatedFiles << pkgFile.fileName();
QTextStream t(&pkgFile);
+ generatedFiles << stubPkgFile.fileName();
+ QTextStream ts(&stubPkgFile);
QString installerSisHeader = project->values("DEPLOYMENT.installer_header").join("\n");
if (installerSisHeader.isEmpty())
@@ -173,14 +192,15 @@ void SymbianCommonGenerator::generatePkgFile(const QString &iconFile, bool epocB
QString dateStr = QDateTime::currentDateTime().toString(Qt::ISODate);
// Header info
- QString wrapperPkgFilename = QString("%1_installer.%2")
- .arg(pkgTarget)
- .arg("pkg");
+ QString wrapperPkgFilename = Option::output_dir + QLatin1Char('/') + QString("%1_installer.%2")
+ .arg(pkgTarget).arg("pkg");
+
QString headerComment = "; %1 generated by qmake at %2\n"
"; This file is generated by qmake and should not be modified by the user\n"
";\n\n";
t << headerComment.arg(pkgFilename).arg(dateStr);
tw << headerComment.arg(wrapperPkgFilename).arg(dateStr);
+ ts << headerComment.arg(stubPkgFileName).arg(dateStr);
// Construct QStringList from pkg_prerules since we need search it before printed to file
// Note: Though there can't be more than one language or header line, use stringlists
@@ -230,6 +250,7 @@ void SymbianCommonGenerator::generatePkgFile(const QString &iconFile, bool epocB
t << languageRules.join("\n") << endl;
tw << languageRules.join("\n") << endl;
+ ts << languageRules.join("\n") << endl;
// name of application, UID and version
QString applicationVersion = project->first("VERSION").isEmpty() ? "1,0,0" : project->first("VERSION").replace('.', ',');
@@ -245,10 +266,14 @@ void SymbianCommonGenerator::generatePkgFile(const QString &iconFile, bool epocB
tw << installerSisHeader << endl;
}
- if (headerRules.isEmpty())
+ if (headerRules.isEmpty()) {
t << sisHeader.arg(visualTarget).arg(uid3).arg(applicationVersion);
- else
+ ts << sisHeader.arg(visualTarget).arg(uid3).arg(applicationVersion);
+ }
+ else {
t << headerRules.join("\n") << endl;
+ ts << headerRules.join("\n") << endl;
+ }
// Localized vendor name
QString vendorName;
@@ -263,22 +288,33 @@ void SymbianCommonGenerator::generatePkgFile(const QString &iconFile, bool epocB
t << vendorName;
tw << vendorName;
+ ts << vendorName;
// PKG pre-rules - these are added before actual file installations i.e. SIS package body
if (rawPkgPreRules.size()) {
QString comment = "\n; Manual PKG pre-rules from PRO files\n";
t << comment;
tw << comment;
+ ts << comment;
foreach(QString item, rawPkgPreRules) {
- // Only regular pkg file should have package dependencies or pkg header if that is
- // defined using prerules.
- if (!item.startsWith("(") && !item.startsWith("#")) {
+ // Only regular pkg file should have package dependencies
+ if (item.startsWith("(")) {
+ t << item << endl;
+ }
+ // stub pkg file should not have platform dependencies
+ else if (item.startsWith("[")) {
+ t << item << endl;
+ tw << item << endl;
+ }
+ else {
+ t << item << endl;
+ ts << item << endl;
tw << item << endl;
}
- t << item << endl;
}
t << endl;
+ ts << endl;
tw << endl;
}
@@ -320,41 +356,54 @@ void SymbianCommonGenerator::generatePkgFile(const QString &iconFile, bool epocB
// deploy .exe file
t << "; Executable and default resource files" << endl;
QString exeFile = fixedTarget + ".exe";
- t << QString("\"%1/%2\" - \"%3\\%4\"")
+ t << QString("\"%1/%2\" - \"%3\\%4\"")
.arg(destDirBin)
.arg(exeFile)
.arg(installPathBin)
.arg(exeFile) << endl;
+ ts << QString("\"\" - \"%1\\%2\"")
+ .arg(romPath(installPathBin))
+ .arg(exeFile) << endl;
// deploy rsc & reg_rsc file
if (!project->isActiveConfig("no_icon")) {
- t << QString("\"%1/%2\" - \"%3\\%4\"")
+ t << QString("\"%1/%2\" - \"%3\\%4\"")
.arg(destDirResource)
.arg(fixedTarget + ".rsc")
.arg(installPathResource)
.arg(fixedTarget + ".rsc") << endl;
+ ts << QString("\"\" - \"%1\\%2\"")
+ .arg(romPath(installPathResource))
+ .arg(fixedTarget + ".rsc") << endl;
- t << QString("\"%1/%2\" - \"%3\\%4\"")
+ t << QString("\"%1/%2\" - \"%3\\%4\"")
.arg(destDirRegResource)
.arg(fixedTarget + "_reg.rsc")
.arg(installPathRegResource)
.arg(fixedTarget + "_reg.rsc") << endl;
+ ts << QString("\"\" - \"%1\\%2\"")
+ .arg(romPath(installPathRegResource))
+ .arg(fixedTarget + "_reg.rsc") << endl;
if (!iconFile.isEmpty()) {
if (epocBuild) {
- t << QString("\"%1epoc32/data/z%2\" - \"!:%3\"")
+ t << QString("\"%1epoc32/data/z%2\" - \"!:%3\"")
.arg(epocRoot())
.arg(iconFile)
.arg(QDir::toNativeSeparators(iconFile)) << endl << endl;
+ ts << QString("\"\" - \"%1\"")
+ .arg(romPath(QDir::toNativeSeparators(iconFile))) << endl << endl;
} else {
QDir mifIconDir(project->first("DESTDIR"));
QFileInfo mifIcon(mifIconDir.relativeFilePath(project->first("TARGET")));
QString mifIconFileName = mifIcon.fileName();
mifIconFileName.append(".mif");
- t << QString("\"%1/%2\" - \"!:%3\"")
+ t << QString("\"%1/%2\" - \"!:%3\"")
.arg(mifIcon.path())
.arg(mifIconFileName)
.arg(QDir::toNativeSeparators(iconFile)) << endl << endl;
+ ts << QString("\"\" - \"%1\"")
+ .arg(romPath(QDir::toNativeSeparators(iconFile))) << endl << endl;
}
}
}
@@ -384,15 +433,14 @@ void SymbianCommonGenerator::generatePkgFile(const QString &iconFile, bool epocB
if (from.size() > 1 && from.at(1) == QLatin1Char(':'))
from = from.mid(2);
from.prepend(zDir);
- } else {
- if (from.size() > 1 && from.at(1) == QLatin1Char(':'))
- from = from.mid(2);
}
}
- t << QString("\"%1\" - \"%2\"").arg(from.replace('\\','/')).arg(to) << endl;
+ t << QString("\"%1\" - \"%2\"").arg(from.replace('\\','/')).arg(to) << endl;
+ ts << QString("\"\" - \"%1\"").arg(romPath(to)) << endl;
}
t << endl;
+ ts << endl;
// PKG post-rules - these are added after actual file installations i.e. SIS package body
t << "; Manual PKG post-rules from PRO files" << endl;
@@ -452,7 +500,7 @@ void SymbianCommonGenerator::generatePkgFile(const QString &iconFile, bool epocB
// Wrapped files deployment
QString currentPath = qmake_getpwd();
QString sisName = QString("%1.sis").arg(pkgTarget);
- twf << "\"" << currentPath << "/" << sisName << "\" - \"c:\\adm\\" << sisName << "\"" << endl;
+ twf << "\"" << currentPath << "/" << sisName << "\" - \"c:\\private\\2002CCCE\\import\\" << sisName << "\"" << endl;
QString bootStrapPath = QLibraryInfo::location(QLibraryInfo::PrefixPath);
bootStrapPath.append("/smartinstaller.sis");
@@ -726,6 +774,40 @@ void SymbianCommonGenerator::readRssRules(QString &numberOfIcons,
}
}
+void SymbianCommonGenerator::writeCustomDefFile()
+{
+ if (targetType == TypePlugin && !generator->project->isActiveConfig("stdbinary")) {
+ // Create custom def file for plugin
+ QFile ft(Option::output_dir + QLatin1Char('/') + QLatin1String(PLUGIN_COMMON_DEF_FILE_ACTUAL));
+
+ if (ft.open(QIODevice::WriteOnly)) {
+ generatedFiles << ft.fileName();
+ QTextStream t(&ft);
+
+ t << "; ==============================================================================" << endl;
+ t << "; Generated by qmake (" << qmake_version() << ") (Qt " QT_VERSION_STR ") on: ";
+ t << QDateTime::currentDateTime().toString(Qt::ISODate) << endl;
+ t << "; This file is generated by qmake and should not be modified by the" << endl;
+ t << "; user." << endl;
+ t << "; Name : " PLUGIN_COMMON_DEF_FILE_ACTUAL << endl;
+ t << "; Part of : " << generator->project->values("TARGET").join(" ") << endl;
+ t << "; Description : Fixes common plugin symbols to known ordinals" << endl;
+ t << "; Version : " << endl;
+ t << ";" << endl;
+ t << "; ==============================================================================" << "\n" << endl;
+
+ t << endl;
+
+ t << "EXPORTS" << endl;
+ t << "\tqt_plugin_query_verification_data @ 1 NONAME" << endl;
+ t << "\tqt_plugin_instance @ 2 NONAME" << endl;
+ t << endl;
+ } else {
+ PRINT_FILE_CREATE_ERROR(QString(PLUGIN_COMMON_DEF_FILE_ACTUAL))
+ }
+ }
+}
+
QStringList SymbianCommonGenerator::symbianLangCodesFromTsFiles()
{
QStringList tsfiles;
diff --git a/qmake/generators/symbian/symbiancommon.h b/qmake/generators/symbian/symbiancommon.h
index 3efe5a4174..dae1e4aa50 100644
--- a/qmake/generators/symbian/symbiancommon.h
+++ b/qmake/generators/symbian/symbiancommon.h
@@ -81,6 +81,8 @@ protected:
QString &iconFile,
QMap<QString, QStringList> &userRssRules);
+ void writeCustomDefFile();
+
QStringList symbianLangCodesFromTsFiles();
void fillQt2S60LangMapTable();
diff --git a/qmake/generators/symbian/symmake.cpp b/qmake/generators/symbian/symmake.cpp
index faafb20303..ff58270e40 100644
--- a/qmake/generators/symbian/symmake.cpp
+++ b/qmake/generators/symbian/symmake.cpp
@@ -55,7 +55,6 @@
#define RESOURCE_DIRECTORY_MMP "/resource/apps"
#define REGISTRATION_RESOURCE_DIRECTORY_HW "/private/10003a3f/import/apps"
#define PLUGIN_COMMON_DEF_FILE_FOR_MMP "./plugin_common.def"
-#define PLUGIN_COMMON_DEF_FILE_ACTUAL "plugin_commonu.def"
#define BLD_INF_FILENAME_LEN (sizeof(BLD_INF_FILENAME) - 1)
#define BLD_INF_RULES_BASE "BLD_INF_RULES."
@@ -175,6 +174,12 @@ void SymbianMakefileGenerator::writeHeader(QTextStream &t)
bool SymbianMakefileGenerator::writeMakefile(QTextStream &t)
{
+ if(!project->values("QMAKE_FAILED_REQUIREMENTS").isEmpty()) {
+ fprintf(stderr, "Project files not generated because all requirements are not met:\n\t%s\n",
+ qPrintable(var("QMAKE_FAILED_REQUIREMENTS")));
+ return false;
+ }
+
writeHeader(t);
QString numberOfIcons;
@@ -208,7 +213,7 @@ bool SymbianMakefileGenerator::writeMakefile(QTextStream &t)
// Generate empty wrapper makefile here, because wrapper makefile must exist before writeMkFile,
// but all required data is not yet available.
bool isPrimaryMakefile = true;
- QString wrapperFileName("Makefile");
+ QString wrapperFileName = Option::output_dir + QLatin1Char('/') + QLatin1String("Makefile");
QString outputFileName = fileInfo(Option::output.fileName()).fileName();
if (outputFileName != BLD_INF_FILENAME) {
wrapperFileName.append(".").append(outputFileName.startsWith(BLD_INF_FILENAME)
@@ -240,10 +245,8 @@ bool SymbianMakefileGenerator::writeMakefile(QTextStream &t)
shortProFilename.replace(0, shortProFilename.lastIndexOf("/") + 1, QString(""));
shortProFilename.replace(Option::pro_ext, QString(""));
- QString mmpFilename = shortProFilename;
- mmpFilename.append("_");
- mmpFilename.append(uid3);
- mmpFilename.append(Option::mmp_ext);
+ QString mmpFilename = Option::output_dir + QLatin1Char('/') + shortProFilename + QLatin1Char('_')
+ + uid3 + Option::mmp_ext;
writeMmpFile(mmpFilename, symbianLangCodes);
if (targetType == TypeExe) {
@@ -260,40 +263,6 @@ bool SymbianMakefileGenerator::writeMakefile(QTextStream &t)
return true;
}
-void SymbianMakefileGenerator::writeCustomDefFile()
-{
- if (targetType == TypePlugin && !project->isActiveConfig("stdbinary")) {
- // Create custom def file for plugin
- QFile ft(QLatin1String(PLUGIN_COMMON_DEF_FILE_ACTUAL));
-
- if (ft.open(QIODevice::WriteOnly)) {
- generatedFiles << ft.fileName();
- QTextStream t(&ft);
-
- t << "; ==============================================================================" << endl;
- t << "; Generated by qmake (" << qmake_version() << ") (Qt " QT_VERSION_STR ") on: ";
- t << QDateTime::currentDateTime().toString(Qt::ISODate) << endl;
- t << "; This file is generated by qmake and should not be modified by the" << endl;
- t << "; user." << endl;
- t << "; Name : " PLUGIN_COMMON_DEF_FILE_ACTUAL << endl;
- t << "; Part of : " << project->values("TARGET").join(" ") << endl;
- t << "; Description : Fixes common plugin symbols to known ordinals" << endl;
- t << "; Version : " << endl;
- t << ";" << endl;
- t << "; ==============================================================================" << "\n" << endl;
-
- t << endl;
-
- t << "EXPORTS" << endl;
- t << "\tqt_plugin_query_verification_data @ 1 NONAME" << endl;
- t << "\tqt_plugin_instance @ 2 NONAME" << endl;
- t << endl;
- } else {
- PRINT_FILE_CREATE_ERROR(QString(PLUGIN_COMMON_DEF_FILE_ACTUAL))
- }
- }
-}
-
void SymbianMakefileGenerator::init()
{
MakefileGenerator::init();
@@ -1143,17 +1112,3 @@ void SymbianMakefileGenerator::generateDistcleanTargets(QTextStream& t)
t << "distclean: clean dodistclean" << endl;
t << endl;
}
-
-void SymbianMakefileGenerator::generateExecutionTargets(QTextStream& t, const QStringList& platforms)
-{
- // create execution targets
- if (targetType == TypeExe) {
- if (platforms.contains("winscw")) {
- t << "run:" << endl;
- t << "\t-call " << epocRoot() << "epoc32/release/winscw/udeb/" << fixedTarget << ".exe " << "$(QT_RUN_OPTIONS)" << endl;
- }
- t << "runonphone: sis" << endl;
- t << "\trunonphone $(QT_RUN_ON_PHONE_OPTIONS) --sis " << fixedTarget << ".sis " << fixedTarget << ".exe " << "$(QT_RUN_OPTIONS)" << endl;
- t << endl;
- }
-}
diff --git a/qmake/generators/symbian/symmake.h b/qmake/generators/symbian/symmake.h
index a584a9a6c5..9853790511 100644
--- a/qmake/generators/symbian/symmake.h
+++ b/qmake/generators/symbian/symmake.h
@@ -117,8 +117,6 @@ protected:
void writeMmpFileBinaryVersionPart(QTextStream& t);
void writeMmpFileRulesPart(QTextStream& t);
- void writeCustomDefFile();
-
void appendIfnotExist(QStringList &list, QString value);
void appendIfnotExist(QStringList &list, QStringList values);
@@ -131,7 +129,6 @@ protected:
const QString& itemSuffix);
void generateDistcleanTargets(QTextStream& t);
- void generateExecutionTargets(QTextStream& t, const QStringList& platforms);
// Subclass implements
virtual void writeBldInfExtensionRulesPart(QTextStream& t, const QString &iconTargetFile) = 0;
diff --git a/qmake/generators/symbian/symmake_abld.cpp b/qmake/generators/symbian/symmake_abld.cpp
index 0ba1a3c835..d60528bd2f 100644
--- a/qmake/generators/symbian/symmake_abld.cpp
+++ b/qmake/generators/symbian/symmake_abld.cpp
@@ -199,7 +199,7 @@ void SymbianAbldMakefileGenerator::writeWrapperMakefile(QFile& wrapperFile, bool
t << "# ==============================================================================" << "\n" << endl;
t << endl;
- t << "MAKEFILE = " << wrapperFile.fileName() << endl;
+ t << "MAKEFILE = " << fileInfo(wrapperFile.fileName()).fileName() << endl;
t << "QMAKE = " << var("QMAKE_QMAKE") << endl;
t << "DEL_FILE = " << var("QMAKE_DEL_FILE") << endl;
t << "DEL_DIR = " << var("QMAKE_DEL_DIR") << endl;
@@ -409,8 +409,6 @@ void SymbianAbldMakefileGenerator::writeWrapperMakefile(QFile& wrapperFile, bool
t << "\t$(ABLD)" << testClause << " reallyclean " << item << " urel" << endl;
}
t << endl;
-
- generateExecutionTargets(t, debugPlatforms);
}
void SymbianAbldMakefileGenerator::writeBldInfExtensionRulesPart(QTextStream& t, const QString &iconTargetFile)
diff --git a/qmake/generators/symbian/symmake_sbsv2.cpp b/qmake/generators/symbian/symmake_sbsv2.cpp
index 3a6706ad12..78f6f85c34 100644
--- a/qmake/generators/symbian/symmake_sbsv2.cpp
+++ b/qmake/generators/symbian/symmake_sbsv2.cpp
@@ -99,7 +99,9 @@ void SymbianSbsv2MakefileGenerator::writeSbsDeploymentList(const DeploymentList&
fromItem.replace("\\", "/");
toItem.replace("\\", "/");
#if defined(Q_OS_WIN)
- toItem.prepend(QDir::current().absolutePath().left(2)); // add drive
+ // add drive if it doesn't have one yet
+ if (toItem.size() > 1 && toItem[1] != QLatin1Char(':'))
+ toItem.prepend(QDir::current().absolutePath().left(2));
#endif
t << "OPTION DEPLOY_SOURCE " << fromItem << endl;
t << "OPTION DEPLOY_TARGET " << toItem << endl;
@@ -143,7 +145,7 @@ void SymbianSbsv2MakefileGenerator::writeWrapperMakefile(QFile& wrapperFile, boo
t << "#" << endl;
t << "# ==============================================================================" << "\n" << endl;
t << endl;
- t << "MAKEFILE = " << wrapperFile.fileName() << endl;
+ t << "MAKEFILE = " << fileInfo(wrapperFile.fileName()).fileName() << endl;
t << "QMAKE = " << var("QMAKE_QMAKE") << endl;
t << "DEL_FILE = " << var("QMAKE_DEL_FILE") << endl;
t << "DEL_DIR = " << var("QMAKE_DEL_DIR") << endl;
@@ -282,8 +284,6 @@ void SymbianSbsv2MakefileGenerator::writeWrapperMakefile(QFile& wrapperFile, boo
t << "\t$(SBS) reallyclean -c " << item << "_urel" << testClause << endl;
}
t << endl;
-
- generateExecutionTargets(t, debugPlatforms);
}
void SymbianSbsv2MakefileGenerator::writeBldInfExtensionRulesPart(QTextStream& t, const QString &iconTargetFile)
diff --git a/qmake/generators/win32/mingw_make.cpp b/qmake/generators/win32/mingw_make.cpp
index 0936d15072..5685d6b5df 100644
--- a/qmake/generators/win32/mingw_make.cpp
+++ b/qmake/generators/win32/mingw_make.cpp
@@ -371,7 +371,12 @@ void MingwMakefileGenerator::writeObjectsPart(QTextStream &t)
ar_script_file += "." + var("BUILD_NAME");
}
createArObjectScriptFile(ar_script_file, var("DEST_TARGET"), project->values("OBJECTS"));
- objectsLinkLine = "ar -M < " + ar_script_file;
+ // QMAKE_LIB is used for win32, including mingw, whereas QMAKE_AR is used on Unix.
+ // Strip off any options since the ar commands will be read from file.
+ QString ar_cmd = var("QMAKE_LIB").section(" ", 0, 0);;
+ if (ar_cmd.isEmpty())
+ ar_cmd = "ar";
+ objectsLinkLine = ar_cmd + " -M < " + ar_script_file;
} else {
QString ld_script_file = var("QMAKE_LINK_OBJECT_SCRIPT") + "." + var("TARGET");
if (!var("BUILD_NAME").isEmpty()) {
diff --git a/qmake/generators/win32/msbuild_objectmodel.cpp b/qmake/generators/win32/msbuild_objectmodel.cpp
index 522d5174e7..bf874b267d 100644
--- a/qmake/generators/win32/msbuild_objectmodel.cpp
+++ b/qmake/generators/win32/msbuild_objectmodel.cpp
@@ -385,6 +385,7 @@ VCXCLCompilerTool::VCXCLCompilerTool()
DisableLanguageExtensions(unset),
EnableFiberSafeOptimizations(unset),
EnablePREfast(unset),
+ ExceptionHandling("false"),
ExpandAttributedSource(unset),
FloatingPointExceptions(unset),
ForceConformanceInForLoopScope(unset),
@@ -396,6 +397,7 @@ VCXCLCompilerTool::VCXCLCompilerTool()
MultiProcessorCompilation(unset),
OmitDefaultLibName(unset),
OmitFramePointers(unset),
+ Optimization("Disabled"),
OpenMPSupport(unset),
PreprocessKeepComments(unset),
PreprocessSuppressLineNumbers(unset),
@@ -2655,6 +2657,14 @@ bool VCXFilter::outputFileConfig(XmlOutput &xml, XmlOutput &xmlFilter, const QSt
xml << tag("ClCompile")
<< attrTag("Include",Option::fixPathToLocalOS(filename));
+ } else if(filename.endsWith(".res")) {
+
+ xmlFilter << tag("CustomBuild")
+ << attrTag("Include",Option::fixPathToLocalOS(filename))
+ << attrTagS("Filter", filtername);
+
+ xml << tag("CustomBuild")
+ << attrTag("Include",Option::fixPathToLocalOS(filename));
} else {
xmlFilter << tag("CustomBuild")
@@ -2664,6 +2674,16 @@ bool VCXFilter::outputFileConfig(XmlOutput &xml, XmlOutput &xmlFilter, const QSt
xml << tag("CustomBuild")
<< attrTag("Include",Option::fixPathToLocalOS(filename));
}
+ } else if(filtername == "Root Files") {
+
+ if (filename.endsWith(".rc")) {
+
+ xmlFilter << tag("ResourceCompile")
+ << attrTag("Include",Option::fixPathToLocalOS(filename));
+
+ xml << tag("ResourceCompile")
+ << attrTag("Include",Option::fixPathToLocalOS(filename));
+ }
}
}
@@ -2695,8 +2715,6 @@ bool VCXFilter::outputFileConfig(XmlOutput &xml, XmlOutput &xmlFilter, const QSt
<< attrTag("Condition", QString("'$(Configuration)|$(Platform)'=='%1'").arg((*Config).Name))
<< valueTag(CompilerTool.PrecompiledHeader);
}
-
- //xml << CompilerTool;
}
}
@@ -3022,6 +3040,14 @@ void VCXProject::outputFileConfigs(XmlOutput &xml,
xml << tag("ClCompile")
<< attrTag("Include",Option::fixPathToLocalOS(info.file));
+ } else if(info.file.endsWith(".res")) {
+
+ xmlFilter << tag("CustomBuild")
+ << attrTag("Include",Option::fixPathToLocalOS(info.file))
+ << attrTagS("Filter", filtername);
+
+ xml << tag("CustomBuild")
+ << attrTag("Include",Option::fixPathToLocalOS(info.file));
} else {
xmlFilter << tag("CustomBuild")
@@ -3032,6 +3058,16 @@ void VCXProject::outputFileConfigs(XmlOutput &xml,
<< attrTag("Include",Option::fixPathToLocalOS(info.file));
}
+ } else if(filtername == "Root Files") {
+
+ if (info.file.endsWith(".rc")) {
+
+ xmlFilter << tag("ResourceCompile")
+ << attrTag("Include",Option::fixPathToLocalOS(info.file));
+
+ xml << tag("ResourceCompile")
+ << attrTag("Include",Option::fixPathToLocalOS(info.file));
+ }
} else {
xmlFilter << tag("None")
@@ -3328,6 +3364,7 @@ XmlOutput &operator<<(XmlOutput &xml, VCXProject &tool)
for (int x = 0; x < tool.ExtraCompilers.count(); ++x) {
tool.outputFilter(xml, xmlFilter, tool.ExtraCompilers.at(x));
}
+ tool.outputFilter(xml, xmlFilter, "Root Files");
xml << import("Project", "$(VCTargetsPath)\\Microsoft.Cpp.targets");
diff --git a/qmake/generators/win32/msvc_objectmodel.cpp b/qmake/generators/win32/msvc_objectmodel.cpp
index 604aa8a820..e23e119815 100644
--- a/qmake/generators/win32/msvc_objectmodel.cpp
+++ b/qmake/generators/win32/msvc_objectmodel.cpp
@@ -360,8 +360,11 @@ inline XmlOutput::xml_output xformUsePrecompiledHeaderForNET2005(pchOption whatP
inline XmlOutput::xml_output xformExceptionHandlingNET2005(exceptionHandling eh, DotNET compilerVersion)
{
- if (eh == ehDefault)
- return noxml();
+ if (eh == ehDefault) {
+ if (compilerVersion >= NET2005)
+ return attrE(_ExceptionHandling, ehNone);
+ return attrS(_ExceptionHandling, "false");
+ }
if (compilerVersion >= NET2005)
return attrE(_ExceptionHandling, eh);
@@ -674,6 +677,12 @@ bool VCCLCompilerTool::parseOption(const char* option)
if(third == 'd')
RuntimeLibrary = rtMultiThreadedDebug;
break;
+ } else if (second == 'P') {
+ if (config->CompilerVersion >= NET2005)
+ AdditionalOptions += option;
+ else
+ warn_msg(WarnLogic, "/MP option is not supported in Visual C++ < 2005, ignoring.");
+ break;
}
found = false; break;
case 'O':
diff --git a/qmake/generators/win32/msvc_objectmodel.h b/qmake/generators/win32/msvc_objectmodel.h
index 3f60a1333a..97f85702b1 100644
--- a/qmake/generators/win32/msvc_objectmodel.h
+++ b/qmake/generators/win32/msvc_objectmodel.h
@@ -59,7 +59,7 @@ enum DotNET {
NET2003 = 0x71,
NET2005 = 0x80,
NET2008 = 0x90,
- NET2010 = 0x91
+ NET2010 = 0xa0
};
/*
diff --git a/qmake/generators/win32/msvc_vcxproj.cpp b/qmake/generators/win32/msvc_vcxproj.cpp
index da93fe3d3a..05c151120a 100644
--- a/qmake/generators/win32/msvc_vcxproj.cpp
+++ b/qmake/generators/win32/msvc_vcxproj.cpp
@@ -89,7 +89,6 @@ bool VcxprojGenerator::writeMakefile(QTextStream &t)
return true;
}
return project->isActiveConfig("build_pass");
- return true;
}
diff --git a/qmake/option.cpp b/qmake/option.cpp
index 13e855c9e4..8db3797612 100644
--- a/qmake/option.cpp
+++ b/qmake/option.cpp
@@ -304,6 +304,7 @@ Option::parseCommandLine(int argc, char **argv, int skip)
} else if(opt == "nodependheuristics") {
Option::mkfile::do_dep_heuristics = false;
} else if(opt == "E") {
+ fprintf(stderr, "-E is deprecated. Use -d instead.\n");
Option::mkfile::do_preprocess = true;
} else if(opt == "cache") {
Option::mkfile::cachefile = argv[++x];
@@ -558,7 +559,6 @@ void Option::applyHostMode()
Option::dir_sep = "/";
Option::obj_ext = ".o";
}
- Option::qmake_abslocation = Option::fixPathToTargetOS(Option::qmake_abslocation);
}
bool Option::postProcessProject(QMakeProject *project)
diff --git a/qmake/project.cpp b/qmake/project.cpp
index 998d1734b9..9cf6a6f3fc 100644
--- a/qmake/project.cpp
+++ b/qmake/project.cpp
@@ -671,6 +671,7 @@ QMakeProject::reset()
scope_blocks.push(ScopeBlock());
iterator = 0;
function = 0;
+ backslashWarned = false;
}
bool
@@ -1046,7 +1047,7 @@ QMakeProject::parse(const QString &t, QMap<QString, QStringList> &place, int num
SKIP_WS(d, d_off, s.length());
QString vals = s.mid(d_off); // vals now contains the space separated list of values
int rbraces = vals.count('}'), lbraces = vals.count('{');
- if(scope_blocks.count() > 1 && rbraces - lbraces == 1) {
+ if(scope_blocks.count() > 1 && rbraces - lbraces == 1 && vals.endsWith('}')) {
debug_msg(1, "Project Parser: %s:%d : Leaving block %d", parser.file.toLatin1().constData(),
parser.line_no, scope_blocks.count());
ScopeBlock sb = scope_blocks.pop();
@@ -1073,7 +1074,7 @@ QMakeProject::parse(const QString &t, QMap<QString, QStringList> &place, int num
}
if(vals.contains('=') && numLines > 1)
- warn_msg(WarnParser, "Detected possible line continuation: {%s} %s:%d",
+ warn_msg(WarnParser, "Possible accidental line continuation: {%s} at %s:%d",
var.toLatin1().constData(), parser.file.toLatin1().constData(), parser.line_no);
QStringList &varlist = place[var]; // varlist is the list in the symbol table
@@ -2933,6 +2934,11 @@ QMakeProject::doVariableReplaceExpand(const QString &str, QMap<QString, QStringL
break;
}
}
+ if(!escape && !backslashWarned) {
+ backslashWarned = true;
+ warn_msg(WarnDeprecated, "%s:%d: Unescaped backslashes are deprecated.",
+ parser.file.toLatin1().constData(), parser.line_no);
+ }
if(escape || !replaced)
unicode =0;
} else if(!quote && (unicode == SINGLEQUOTE || unicode == DOUBLEQUOTE)) {
@@ -3099,13 +3105,12 @@ QStringList &QMakeProject::values(const QString &_var, QMap<QString, QStringList
place[var] = QStringList(Option::obj_ext);
}
} else if (var == QLatin1String("QMAKE_QMAKE")) {
- if (place[var].isEmpty()) {
- if (!Option::qmake_abslocation.isNull())
- place[var] = QStringList(Option::qmake_abslocation);
- else
- place[var] = QStringList(Option::fixPathToTargetOS(
- QLibraryInfo::location(QLibraryInfo::BinariesPath) + "/qmake", false));
- }
+ if (place[var].isEmpty())
+ place[var] = QStringList(Option::fixPathToTargetOS(
+ !Option::qmake_abslocation.isEmpty()
+ ? Option::qmake_abslocation
+ : QLibraryInfo::location(QLibraryInfo::BinariesPath) + "/qmake",
+ false));
} else if (var == QLatin1String("EPOCROOT")) {
if (place[var].isEmpty())
place[var] = QStringList(epocRoot());
diff --git a/qmake/project.h b/qmake/project.h
index 0c542db10a..fd8ced1f37 100644
--- a/qmake/project.h
+++ b/qmake/project.h
@@ -80,6 +80,7 @@ class QMakeProject
bool recursive;
bool own_prop;
+ bool backslashWarned;
QString pfile, cfile;
QMakeProperty *prop;
void reset();
diff --git a/qmake/qmake.pri b/qmake/qmake.pri
index 0163839d04..a7e0ab16b7 100644
--- a/qmake/qmake.pri
+++ b/qmake/qmake.pri
@@ -13,7 +13,8 @@ SOURCES += project.cpp property.cpp main.cpp generators/makefile.cpp \
generators/xmloutput.cpp generators/win32/borland_bmake.cpp \
generators/win32/msvc_nmake.cpp generators/projectgenerator.cpp \
generators/win32/msvc_vcproj.cpp \
- generators/win32/msvc_objectmodel.cpp \
+ generators/win32/msvc_vcxproj.cpp \
+ generators/win32/msvc_objectmodel.cpp generators/win32/msbuild_objectmodel.cpp \
generators/symbian/symbiancommon.cpp \
generators/symbian/symmake.cpp \
generators/symbian/symmake_abld.cpp \
@@ -24,11 +25,12 @@ SOURCES += project.cpp property.cpp main.cpp generators/makefile.cpp \
HEADERS += project.h property.h generators/makefile.h \
generators/unix/unixmake.h meta.h option.h cachekeys.h \
- generators/win32/winmakefile.h generators/projectgenerator.h \
+ generators/win32/winmakefile.h generators/win32/mingw_make.h generators/projectgenerator.h \
generators/makefiledeps.h generators/metamakefile.h generators/mac/pbuilder_pbx.h \
generators/xmloutput.h generators/win32/borland_bmake.h generators/win32/msvc_nmake.h \
generators/win32/msvc_vcproj.h \
- generators/win32/mingw_make.h generators/win32/msvc_objectmodel.h \
+ generators/win32/msvc_vcxproj.h \
+ generators/win32/msvc_objectmodel.h generators/win32/msbuild_objectmodel.h \
generators/symbian/symbiancommon.h \
generators/symbian/symmake.h \
generators/symbian/symmake_abld.h \
@@ -132,7 +134,7 @@ bootstrap { #Qt code
} else:win32 {
SOURCES += qfsfileengine_win.cpp qfsfileengine_iterator_win.cpp qsettings_win.cpp
win32-msvc*:LIBS += ole32.lib advapi32.lib
- win32-g++:LIBS += -lole32 -luuid
+ win32-g++*:LIBS += -lole32 -luuid
}
qnx {
diff --git a/src/3rdparty/harfbuzz/src/harfbuzz-buffer.h b/src/3rdparty/harfbuzz/src/harfbuzz-buffer.h
index b1344072da..0d7c2c2c7c 100644
--- a/src/3rdparty/harfbuzz/src/harfbuzz-buffer.h
+++ b/src/3rdparty/harfbuzz/src/harfbuzz-buffer.h
@@ -32,6 +32,10 @@
HB_BEGIN_HEADER
+#ifdef HB_USE_PACKED_STRUCTS
+#pragma pack(push, 1)
+#endif
+
typedef struct HB_GlyphItemRec_ {
HB_UInt gindex;
HB_UInt properties;
@@ -48,13 +52,13 @@ typedef struct HB_PositionRec_ {
HB_Fixed y_advance;
HB_UShort back; /* number of glyphs to go back
for drawing current glyph */
+ HB_Short cursive_chain; /* character to which this connects,
+ may be positive or negative; used
+ only internally */
HB_Bool new_advance; /* if set, the advance width values are
absolute, i.e., they won't be
added to the original glyph's value
but rather replace them. */
- HB_Short cursive_chain; /* character to which this connects,
- may be positive or negative; used
- only internally */
} HB_PositionRec, *HB_Position;
@@ -66,12 +70,12 @@ typedef struct HB_BufferRec_{
HB_UInt in_pos;
HB_UInt out_pos;
- HB_Bool separate_out;
HB_GlyphItem in_string;
HB_GlyphItem out_string;
HB_GlyphItem alt_string;
HB_Position positions;
HB_UShort max_ligID;
+ HB_Bool separate_out;
} HB_BufferRec, *HB_Buffer;
HB_Error
@@ -89,6 +93,10 @@ hb_buffer_add_glyph( HB_Buffer buffer,
HB_UInt properties,
HB_UInt cluster );
+#ifdef HB_USE_PACKED_STRUCTS
+#pragma pack(pop)
+#endif
+
HB_END_HEADER
#endif /* HARFBUZZ_BUFFER_H */
diff --git a/src/3rdparty/harfbuzz/src/harfbuzz-dump.c b/src/3rdparty/harfbuzz/src/harfbuzz-dump.c
index 8c81da12fc..a1ef6b6b56 100644
--- a/src/3rdparty/harfbuzz/src/harfbuzz-dump.c
+++ b/src/3rdparty/harfbuzz/src/harfbuzz-dump.c
@@ -519,13 +519,14 @@ Dump_ValueRecord (HB_ValueRecord *ValueRecord, FILE *stream, int indent, HB_Type
if (value_format & HB_GPOS_FORMAT_HAVE_Y_ADVANCE)
DUMP_FINT (ValueRecord, XAdvance);
if (value_format & HB_GPOS_FORMAT_HAVE_X_PLACEMENT_DEVICE)
- RECURSE (Device, Device, &ValueRecord->XPlacementDevice);
+ RECURSE (Device, Device, &*ValueRecord->XPlacementDevice);
if (value_format & HB_GPOS_FORMAT_HAVE_Y_PLACEMENT_DEVICE)
- RECURSE (Device, Device, &ValueRecord->YPlacementDevice);
+ RECURSE (Device, Device, &*ValueRecord->YPlacementDevice);
if (value_format & HB_GPOS_FORMAT_HAVE_X_ADVANCE_DEVICE)
- RECURSE (Device, Device, &ValueRecord->XAdvanceDevice);
+ RECURSE (Device, Device, &*ValueRecord->XAdvanceDevice);
if (value_format & HB_GPOS_FORMAT_HAVE_Y_ADVANCE_DEVICE)
- RECURSE (Device, Device, &ValueRecord->YAdvanceDevice);
+ RECURSE (Device, Device, &*ValueRecord->YAdvanceDevice);
+#ifdef HB_SUPPORT_MULTIPLE_MASTER
if (value_format & HB_GPOS_FORMAT_HAVE_X_ID_PLACEMENT)
DUMP_FUINT (ValueRecord, XIdPlacement);
if (value_format & HB_GPOS_FORMAT_HAVE_Y_ID_PLACEMENT)
@@ -534,6 +535,7 @@ Dump_ValueRecord (HB_ValueRecord *ValueRecord, FILE *stream, int indent, HB_Type
DUMP_FUINT (ValueRecord, XIdAdvance);
if (value_format & HB_GPOS_FORMAT_HAVE_Y_ID_ADVANCE)
DUMP_FUINT (ValueRecord, XIdAdvance);
+#endif
}
static void
diff --git a/src/3rdparty/harfbuzz/src/harfbuzz-external.h b/src/3rdparty/harfbuzz/src/harfbuzz-external.h
index 760749b950..7644f0dd43 100644
--- a/src/3rdparty/harfbuzz/src/harfbuzz-external.h
+++ b/src/3rdparty/harfbuzz/src/harfbuzz-external.h
@@ -146,11 +146,7 @@ HB_CharCategory HB_GetUnicodeCharCategory(HB_UChar32 ch);
int HB_GetUnicodeCharCombiningClass(HB_UChar32 ch);
HB_UChar16 HB_GetMirroredChar(HB_UChar16 ch);
-void *HB_Library_Resolve(const char *library, const char *symbol);
-
-void *HB_TextCodecForMib(int mib);
-char *HB_TextCodec_ConvertFromUnicode(void *codec, const HB_UChar16 *unicode, hb_uint32 length, hb_uint32 *outputLength);
-void HB_TextCodec_FreeResult(char *);
+void *HB_Library_Resolve(const char *library, int version, const char *symbol);
HB_END_HEADER
diff --git a/src/3rdparty/harfbuzz/src/harfbuzz-gdef-private.h b/src/3rdparty/harfbuzz/src/harfbuzz-gdef-private.h
index da06b6fb94..2a6d9581f9 100644
--- a/src/3rdparty/harfbuzz/src/harfbuzz-gdef-private.h
+++ b/src/3rdparty/harfbuzz/src/harfbuzz-gdef-private.h
@@ -34,12 +34,16 @@
HB_BEGIN_HEADER
+#ifdef HB_USE_PACKED_STRUCTS
+#pragma pack(push, 1)
+#endif
+
/* Attachment related structures */
struct HB_AttachPoint_
{
- HB_UShort PointCount; /* size of the PointIndex array */
HB_UShort* PointIndex; /* array of contour points */
+ HB_UShort PointCount; /* size of the PointIndex array */
};
/* Ligature Caret related structures */
@@ -62,32 +66,36 @@ typedef struct HB_CaretValueFormat2_ HB_CaretValueFormat2;
struct HB_CaretValueFormat3_
{
+ HB_Device* Device; /* Device table for x or y value */
HB_Short Coordinate; /* x or y value (in design units) */
- HB_Device Device; /* Device table for x or y value */
};
typedef struct HB_CaretValueFormat3_ HB_CaretValueFormat3;
+#ifdef HB_SUPPORT_MULTIPLE_MASTER
struct HB_CaretValueFormat4_
{
HB_UShort IdCaretValue; /* metric ID */
};
typedef struct HB_CaretValueFormat4_ HB_CaretValueFormat4;
+#endif
struct HB_CaretValue_
{
- HB_UShort CaretValueFormat; /* 1, 2, 3, or 4 */
-
union
{
HB_CaretValueFormat1 cvf1;
HB_CaretValueFormat2 cvf2;
HB_CaretValueFormat3 cvf3;
+#ifdef HB_SUPPORT_MULTIPLE_MASTER
HB_CaretValueFormat4 cvf4;
+#endif
} cvf;
+
+ HB_Byte CaretValueFormat; /* 1, 2, 3, or 4 */
};
typedef struct HB_CaretValue_ HB_CaretValue;
@@ -95,10 +103,9 @@ typedef struct HB_CaretValue_ HB_CaretValue;
struct HB_LigGlyph_
{
- HB_Bool loaded;
-
- HB_UShort CaretCount; /* number of caret values */
HB_CaretValue* CaretValue; /* array of caret values */
+ HB_UShort CaretCount; /* number of caret values */
+ HB_Bool loaded;
};
@@ -119,6 +126,10 @@ _HB_GDEF_LoadMarkAttachClassDef_From_LookupFlags( HB_GDEFHeader* gdef,
HB_Lookup* lo,
HB_UShort num_lookups );
+#ifdef HB_USE_PACKED_STRUCTS
+#pragma pack(pop)
+#endif
+
HB_END_HEADER
#endif /* HARFBUZZ_GDEF_PRIVATE_H */
diff --git a/src/3rdparty/harfbuzz/src/harfbuzz-gdef.c b/src/3rdparty/harfbuzz/src/harfbuzz-gdef.c
index ff3a1f4738..c0c6f2cf9a 100644
--- a/src/3rdparty/harfbuzz/src/harfbuzz-gdef.c
+++ b/src/3rdparty/harfbuzz/src/harfbuzz-gdef.c
@@ -442,7 +442,11 @@ static HB_Error Load_CaretValue( HB_CaretValue* cv,
if ( ACCESS_Frame( 2L ) )
return error;
+#ifdef HB_SUPPORT_MULTIPLE_MASTER
cv->cvf.cvf4.IdCaretValue = GET_UShort();
+#else
+ (void) GET_UShort();
+#endif
FORGET_Frame();
break;
diff --git a/src/3rdparty/harfbuzz/src/harfbuzz-gdef.h b/src/3rdparty/harfbuzz/src/harfbuzz-gdef.h
index b6dcadcf88..f9a03dde9d 100644
--- a/src/3rdparty/harfbuzz/src/harfbuzz-gdef.h
+++ b/src/3rdparty/harfbuzz/src/harfbuzz-gdef.h
@@ -31,6 +31,10 @@
HB_BEGIN_HEADER
+#ifdef HB_USE_PACKED_STRUCTS
+#pragma pack(push, 1)
+#endif
+
/* GDEF glyph properties. Note that HB_GDEF_COMPONENT has no corresponding
* flag in the LookupFlag field. */
#define HB_GDEF_BASE_GLYPH 0x0002
@@ -44,12 +48,11 @@ typedef struct HB_AttachPoint_ HB_AttachPoint;
struct HB_AttachList_
{
- HB_Bool loaded;
-
+ HB_AttachPoint* AttachPoint; /* array of AttachPoint tables */
HB_Coverage Coverage; /* Coverage table */
HB_UShort GlyphCount; /* number of glyphs with
attachments */
- HB_AttachPoint* AttachPoint; /* array of AttachPoint tables */
+ HB_Bool loaded;
};
typedef struct HB_AttachList_ HB_AttachList;
@@ -58,11 +61,10 @@ typedef struct HB_LigGlyph_ HB_LigGlyph;
struct HB_LigCaretList_
{
- HB_Bool loaded;
-
+ HB_LigGlyph* LigGlyph; /* array of LigGlyph tables */
HB_Coverage Coverage; /* Coverage table */
HB_UShort LigGlyphCount; /* number of ligature glyphs */
- HB_LigGlyph* LigGlyph; /* array of LigGlyph tables */
+ HB_Bool loaded;
};
typedef struct HB_LigCaretList_ HB_LigCaretList;
@@ -91,18 +93,18 @@ typedef struct HB_LigCaretList_ HB_LigCaretList;
struct HB_GDEFHeader_
{
+ HB_UShort** NewGlyphClasses;
HB_UInt offset;
+ HB_UInt MarkAttachClassDef_offset;
HB_16Dot16 Version;
HB_ClassDefinition GlyphClassDef;
HB_AttachList AttachList;
HB_LigCaretList LigCaretList;
- HB_UInt MarkAttachClassDef_offset;
HB_ClassDefinition MarkAttachClassDef; /* new in OT 1.2 */
HB_UShort LastGlyph;
- HB_UShort** NewGlyphClasses;
};
typedef struct HB_GDEFHeader_ HB_GDEFHeader;
@@ -129,6 +131,9 @@ HB_Error HB_GDEF_Build_ClassDefinition( HB_GDEFHeader* gdef,
HB_UShort* glyph_array,
HB_UShort* class_array );
+#ifdef HB_USE_PACKED_STRUCTS
+#pragma pack(pop)
+#endif
HB_END_HEADER
diff --git a/src/3rdparty/harfbuzz/src/harfbuzz-global.h b/src/3rdparty/harfbuzz/src/harfbuzz-global.h
index d4e6b466b6..bccd6a265d 100644
--- a/src/3rdparty/harfbuzz/src/harfbuzz-global.h
+++ b/src/3rdparty/harfbuzz/src/harfbuzz-global.h
@@ -39,6 +39,10 @@
#define HB_END_HEADER /* nothing */
#endif
+#if defined(__GNUC__) || defined(_MSC_VER)
+#define HB_USE_PACKED_STRUCTS
+#endif
+
HB_BEGIN_HEADER
#ifndef FALSE
diff --git a/src/3rdparty/harfbuzz/src/harfbuzz-gpos-private.h b/src/3rdparty/harfbuzz/src/harfbuzz-gpos-private.h
index 4110700844..d513c27d2b 100644
--- a/src/3rdparty/harfbuzz/src/harfbuzz-gpos-private.h
+++ b/src/3rdparty/harfbuzz/src/harfbuzz-gpos-private.h
@@ -32,6 +32,9 @@
HB_BEGIN_HEADER
+#ifdef HB_USE_PACKED_STRUCTS
+#pragma pack(push, 1)
+#endif
/* shared tables */
@@ -45,18 +48,20 @@ struct HB_ValueRecord_
advance */
HB_Short YAdvance; /* vertical adjustment for
advance */
- HB_Device XPlacementDevice; /* device table for horizontal
+ HB_Device* XPlacementDevice; /* device table for horizontal
placement */
- HB_Device YPlacementDevice; /* device table for vertical
+ HB_Device* YPlacementDevice; /* device table for vertical
placement */
- HB_Device XAdvanceDevice; /* device table for horizontal
+ HB_Device* XAdvanceDevice; /* device table for horizontal
advance */
- HB_Device YAdvanceDevice; /* device table for vertical
+ HB_Device* YAdvanceDevice; /* device table for vertical
advance */
+#ifdef HB_SUPPORT_MULTIPLE_MASTER
HB_UShort XIdPlacement; /* horizontal placement metric ID */
HB_UShort YIdPlacement; /* vertical placement metric ID */
HB_UShort XIdAdvance; /* horizontal advance metric ID */
HB_UShort YIdAdvance; /* vertical advance metric ID */
+#endif
};
typedef struct HB_ValueRecord_ HB_ValueRecord;
@@ -102,13 +107,14 @@ struct HB_AnchorFormat3_
{
HB_Short XCoordinate; /* horizontal value */
HB_Short YCoordinate; /* vertical value */
- HB_Device XDeviceTable; /* device table for X coordinate */
- HB_Device YDeviceTable; /* device table for Y coordinate */
+ HB_Device* XDeviceTable; /* device table for X coordinate */
+ HB_Device* YDeviceTable; /* device table for Y coordinate */
};
typedef struct HB_AnchorFormat3_ HB_AnchorFormat3;
+#ifdef HB_SUPPORT_MULTIPLE_MASTER
struct HB_AnchorFormat4_
{
HB_UShort XIdAnchor; /* horizontal metric ID */
@@ -116,11 +122,12 @@ struct HB_AnchorFormat4_
};
typedef struct HB_AnchorFormat4_ HB_AnchorFormat4;
+#endif
struct HB_Anchor_
{
- HB_UShort PosFormat; /* 1, 2, 3, or 4 -- 0 indicates
+ HB_Byte PosFormat; /* 1, 2, 3, or 4 -- 0 indicates
that there is no Anchor table */
union
@@ -128,7 +135,9 @@ struct HB_Anchor_
HB_AnchorFormat1 af1;
HB_AnchorFormat2 af2;
HB_AnchorFormat3 af3;
+#ifdef HB_SUPPORT_MULTIPLE_MASTER
HB_AnchorFormat4 af4;
+#endif
} af;
};
@@ -175,7 +184,7 @@ typedef struct HB_SinglePosFormat2_ HB_SinglePosFormat2;
struct HB_SinglePos_
{
- HB_UShort PosFormat; /* 1 or 2 */
+ HB_Byte PosFormat; /* 1 or 2 */
HB_Coverage Coverage; /* Coverage table */
HB_UShort ValueFormat; /* format of ValueRecord table */
@@ -255,7 +264,7 @@ typedef struct HB_PairPosFormat2_ HB_PairPosFormat2;
struct HB_PairPos_
{
- HB_UShort PosFormat; /* 1 or 2 */
+ HB_Byte PosFormat; /* 1 or 2 */
HB_Coverage Coverage; /* Coverage table */
HB_UShort ValueFormat1; /* format of ValueRecord table
for first glyph */
@@ -507,7 +516,7 @@ typedef struct HB_ContextPosFormat3_ HB_ContextPosFormat3;
struct HB_ContextPos_
{
- HB_UShort PosFormat; /* 1, 2, or 3 */
+ HB_Byte PosFormat; /* 1, 2, or 3 */
union
{
@@ -656,7 +665,7 @@ typedef struct HB_ChainContextPosFormat3_ HB_ChainContextPosFormat3;
struct HB_ChainContextPos_
{
- HB_UShort PosFormat; /* 1, 2, or 3 */
+ HB_Byte PosFormat; /* 1, 2, or 3 */
union
{
@@ -707,6 +716,10 @@ HB_INTERNAL void
_HB_GPOS_Free_SubTable( HB_GPOS_SubTable* st,
HB_UShort lookup_type );
+#ifdef HB_USE_PACKED_STRUCTS
+#pragma pack(pop)
+#endif
+
HB_END_HEADER
#endif /* HARFBUZZ_GPOS_PRIVATE_H */
diff --git a/src/3rdparty/harfbuzz/src/harfbuzz-gpos.c b/src/3rdparty/harfbuzz/src/harfbuzz-gpos.c
index 356dc01099..61e42fd772 100644
--- a/src/3rdparty/harfbuzz/src/harfbuzz-gpos.c
+++ b/src/3rdparty/harfbuzz/src/harfbuzz-gpos.c
@@ -57,6 +57,7 @@ static HB_Error GPOS_Do_Glyph_Lookup( GPOS_Instance* gpi,
+#ifdef HB_SUPPORT_MULTIPLE_MASTER
/* the client application must replace this with something more
meaningful if multiple master fonts are to be supported. */
@@ -71,6 +72,7 @@ static HB_Error default_mmfunc( HB_Font font,
HB_UNUSED(data);
return ERR(HB_Err_Not_Covered); /* ERR() call intended */
}
+#endif
@@ -97,7 +99,9 @@ HB_Error HB_Load_GPOS_Table( HB_Stream stream,
if ( ALLOC ( gpos, sizeof( *gpos ) ) )
return error;
+#ifdef HB_SUPPORT_MULTIPLE_MASTER
gpos->mmfunc = default_mmfunc;
+#endif
/* skip version */
@@ -278,9 +282,7 @@ static HB_Error Load_ValueRecord( HB_ValueRecord* vr,
else
{
empty1:
- vr->XPlacementDevice.StartSize = 0;
- vr->XPlacementDevice.EndSize = 0;
- vr->XPlacementDevice.DeltaValue = NULL;
+ vr->XPlacementDevice = 0;
}
if ( format & HB_GPOS_FORMAT_HAVE_Y_PLACEMENT_DEVICE )
@@ -309,9 +311,7 @@ static HB_Error Load_ValueRecord( HB_ValueRecord* vr,
else
{
empty2:
- vr->YPlacementDevice.StartSize = 0;
- vr->YPlacementDevice.EndSize = 0;
- vr->YPlacementDevice.DeltaValue = NULL;
+ vr->YPlacementDevice = 0;
}
if ( format & HB_GPOS_FORMAT_HAVE_X_ADVANCE_DEVICE )
@@ -340,9 +340,7 @@ static HB_Error Load_ValueRecord( HB_ValueRecord* vr,
else
{
empty3:
- vr->XAdvanceDevice.StartSize = 0;
- vr->XAdvanceDevice.EndSize = 0;
- vr->XAdvanceDevice.DeltaValue = NULL;
+ vr->XAdvanceDevice = 0;
}
if ( format & HB_GPOS_FORMAT_HAVE_Y_ADVANCE_DEVICE )
@@ -371,9 +369,7 @@ static HB_Error Load_ValueRecord( HB_ValueRecord* vr,
else
{
empty4:
- vr->YAdvanceDevice.StartSize = 0;
- vr->YAdvanceDevice.EndSize = 0;
- vr->YAdvanceDevice.DeltaValue = NULL;
+ vr->YAdvanceDevice = 0;
}
if ( format & HB_GPOS_FORMAT_HAVE_X_ID_PLACEMENT )
@@ -381,48 +377,72 @@ static HB_Error Load_ValueRecord( HB_ValueRecord* vr,
if ( ACCESS_Frame( 2L ) )
goto Fail1;
+#ifdef HB_SUPPORT_MULTIPLE_MASTER
vr->XIdPlacement = GET_UShort();
+#else
+ (void) GET_UShort();
+#endif
FORGET_Frame();
}
+#ifdef HB_SUPPORT_MULTIPLE_MASTER
else
vr->XIdPlacement = 0;
+#endif
if ( format & HB_GPOS_FORMAT_HAVE_Y_ID_PLACEMENT )
{
if ( ACCESS_Frame( 2L ) )
goto Fail1;
+#ifdef HB_SUPPORT_MULTIPLE_MASTER
vr->YIdPlacement = GET_UShort();
+#else
+ (void) GET_UShort();
+#endif
FORGET_Frame();
}
+#ifdef HB_SUPPORT_MULTIPLE_MASTER
else
vr->YIdPlacement = 0;
+#endif
if ( format & HB_GPOS_FORMAT_HAVE_X_ID_ADVANCE )
{
if ( ACCESS_Frame( 2L ) )
goto Fail1;
+#ifdef HB_SUPPORT_MULTIPLE_MASTER
vr->XIdAdvance = GET_UShort();
+#else
+ (void) GET_UShort();
+#endif
FORGET_Frame();
}
+#ifdef HB_SUPPORT_MULTIPLE_MASTER
else
vr->XIdAdvance = 0;
+#endif
if ( format & HB_GPOS_FORMAT_HAVE_Y_ID_ADVANCE )
{
if ( ACCESS_Frame( 2L ) )
goto Fail1;
+#ifdef HB_SUPPORT_MULTIPLE_MASTER
vr->YIdAdvance = GET_UShort();
+#else
+ (void) GET_UShort();
+#endif
FORGET_Frame();
}
+#ifdef HB_SUPPORT_MULTIPLE_MASTER
else
vr->YIdAdvance = 0;
+#endif
return HB_Err_Ok;
@@ -457,10 +477,12 @@ static HB_Error Get_ValueRecord( GPOS_Instance* gpi,
HB_UShort format,
HB_Position gd )
{
- HB_Fixed value;
HB_Short pixel_value;
HB_Error error = HB_Err_Ok;
+#ifdef HB_SUPPORT_MULTIPLE_MASTER
HB_GPOSHeader* gpos = gpi->gpos;
+ HB_Fixed value;
+#endif
HB_UShort x_ppem, y_ppem;
HB_16Dot16 x_scale, y_scale;
@@ -511,6 +533,7 @@ static HB_Error Get_ValueRecord( GPOS_Instance* gpi,
}
}
+#ifdef HB_SUPPORT_MULTIPLE_MASTER
/* values returned from mmfunc() are already in fractional pixels */
if ( format & HB_GPOS_FORMAT_HAVE_X_ID_PLACEMENT )
@@ -545,6 +568,7 @@ static HB_Error Get_ValueRecord( GPOS_Instance* gpi,
return error;
gd->y_advance += value;
}
+#endif
return error;
}
@@ -619,9 +643,7 @@ static HB_Error Load_Anchor( HB_Anchor* an,
}
else
{
- an->af.af3.XDeviceTable.StartSize = 0;
- an->af.af3.XDeviceTable.EndSize = 0;
- an->af.af3.XDeviceTable.DeltaValue = NULL;
+ an->af.af3.XDeviceTable = 0;
}
if ( ACCESS_Frame( 2L ) )
@@ -644,9 +666,7 @@ static HB_Error Load_Anchor( HB_Anchor* an,
}
else
{
- an->af.af3.YDeviceTable.StartSize = 0;
- an->af.af3.YDeviceTable.EndSize = 0;
- an->af.af3.YDeviceTable.DeltaValue = NULL;
+ an->af.af3.YDeviceTable = 0;
}
break;
@@ -654,8 +674,13 @@ static HB_Error Load_Anchor( HB_Anchor* an,
if ( ACCESS_Frame( 4L ) )
return error;
+#ifdef HB_SUPPORT_MULTIPLE_MASTER
an->af.af4.XIdAnchor = GET_UShort();
an->af.af4.YIdAnchor = GET_UShort();
+#else
+ (void) GET_UShort();
+ (void) GET_UShort();
+#endif
FORGET_Frame();
break;
@@ -690,7 +715,9 @@ static HB_Error Get_Anchor( GPOS_Instance* gpi,
{
HB_Error error = HB_Err_Ok;
+#ifdef HB_SUPPORT_MULTIPLE_MASTER
HB_GPOSHeader* gpos = gpi->gpos;
+#endif
HB_UShort ap;
HB_Short pixel_value;
@@ -756,6 +783,7 @@ static HB_Error Get_Anchor( GPOS_Instance* gpi,
break;
case 4:
+#ifdef HB_SUPPORT_MULTIPLE_MASTER
error = (gpos->mmfunc)( gpi->font, an->af.af4.XIdAnchor,
x_value, gpos->data );
if ( error )
@@ -766,6 +794,9 @@ static HB_Error Get_Anchor( GPOS_Instance* gpi,
if ( error )
return error;
break;
+#else
+ return ERR(HB_Err_Not_Covered);
+#endif
}
return error;
@@ -5966,8 +5997,7 @@ HB_Error HB_GPOS_Clear_Features( HB_GPOSHeader* gpos )
return HB_Err_Ok;
}
-
-
+#ifdef HB_SUPPORT_MULTIPLE_MASTER
HB_Error HB_GPOS_Register_MM_Function( HB_GPOSHeader* gpos,
HB_MMFunction mmfunc,
void* data )
@@ -5980,6 +6010,7 @@ HB_Error HB_GPOS_Register_MM_Function( HB_GPOSHeader* gpos,
return HB_Err_Ok;
}
+#endif
/* If `dvi' is TRUE, glyph contour points for anchor points and device
tables are ignored -- you will get device independent values. */
diff --git a/src/3rdparty/harfbuzz/src/harfbuzz-gpos.h b/src/3rdparty/harfbuzz/src/harfbuzz-gpos.h
index 2840dae480..92bff84a94 100644
--- a/src/3rdparty/harfbuzz/src/harfbuzz-gpos.h
+++ b/src/3rdparty/harfbuzz/src/harfbuzz-gpos.h
@@ -44,6 +44,7 @@ HB_BEGIN_HEADER
#define HB_GPOS_LOOKUP_CHAIN 8
#define HB_GPOS_LOOKUP_EXTENSION 9
+#ifdef HB_SUPPORT_MULTIPLE_MASTER
/* A pointer to a function which accesses the PostScript interpreter.
Multiple Master fonts need this interface to convert a metric ID
(as stored in an OpenType font version 1.2 or higher) `metric_id'
@@ -59,6 +60,7 @@ typedef HB_Error (*HB_MMFunction)(HB_Font font,
HB_UShort metric_id,
HB_Fixed* metric_value,
void* data );
+#endif
struct HB_GPOSHeader_
@@ -71,12 +73,14 @@ struct HB_GPOSHeader_
HB_GDEFHeader* gdef;
+#ifdef HB_SUPPORT_MULTIPLE_MASTER
/* this is OpenType 1.2 -- Multiple Master fonts need this
callback function to get various metric values from the
PostScript interpreter. */
HB_MMFunction mmfunc;
void* data;
+#endif
};
typedef struct HB_GPOSHeader_ HB_GPOSHeader;
@@ -129,9 +133,11 @@ HB_Error HB_GPOS_Add_Feature( HB_GPOSHeader* gpos,
HB_Error HB_GPOS_Clear_Features( HB_GPOSHeader* gpos );
+#ifdef HB_SUPPORT_MULTIPLE_MASTER
HB_Error HB_GPOS_Register_MM_Function( HB_GPOSHeader* gpos,
HB_MMFunction mmfunc,
void* data );
+#endif
/* If `dvi' is TRUE, glyph contour points for anchor points and device
tables are ignored -- you will get device independent values. */
diff --git a/src/3rdparty/harfbuzz/src/harfbuzz-gsub-private.h b/src/3rdparty/harfbuzz/src/harfbuzz-gsub-private.h
index dd5ffdf6f5..7eb329e20c 100644
--- a/src/3rdparty/harfbuzz/src/harfbuzz-gsub-private.h
+++ b/src/3rdparty/harfbuzz/src/harfbuzz-gsub-private.h
@@ -32,6 +32,9 @@
HB_BEGIN_HEADER
+#ifdef HB_USE_PACKED_STRUCTS
+#pragma pack(push, 1)
+#endif
typedef union HB_GSUB_SubTable_ HB_GSUB_SubTable;
@@ -48,9 +51,9 @@ typedef struct HB_SingleSubstFormat1_ HB_SingleSubstFormat1;
struct HB_SingleSubstFormat2_
{
+ HB_UShort* Substitute; /* array of substitute glyph IDs */
HB_UShort GlyphCount; /* number of glyph IDs in
Substitute array */
- HB_UShort* Substitute; /* array of substitute glyph IDs */
};
typedef struct HB_SingleSubstFormat2_ HB_SingleSubstFormat2;
@@ -58,14 +61,14 @@ typedef struct HB_SingleSubstFormat2_ HB_SingleSubstFormat2;
struct HB_SingleSubst_
{
- HB_UShort SubstFormat; /* 1 or 2 */
- HB_Coverage Coverage; /* Coverage table */
-
union
{
HB_SingleSubstFormat1 ssf1;
HB_SingleSubstFormat2 ssf2;
} ssf;
+
+ HB_Coverage Coverage; /* Coverage table */
+ HB_Byte SubstFormat; /* 1 or 2 */
};
typedef struct HB_SingleSubst_ HB_SingleSubst;
@@ -75,10 +78,10 @@ typedef struct HB_SingleSubst_ HB_SingleSubst;
struct HB_Sequence_
{
- HB_UShort GlyphCount; /* number of glyph IDs in the
- Substitute array */
HB_UShort* Substitute; /* string of glyph IDs to
substitute */
+ HB_UShort GlyphCount; /* number of glyph IDs in the
+ Substitute array */
};
typedef struct HB_Sequence_ HB_Sequence;
@@ -86,10 +89,10 @@ typedef struct HB_Sequence_ HB_Sequence;
struct HB_MultipleSubst_
{
- HB_UShort SubstFormat; /* always 1 */
+ HB_Sequence* Sequence; /* array of Sequence tables */
HB_Coverage Coverage; /* Coverage table */
+ HB_UShort SubstFormat; /* always 1 */
HB_UShort SequenceCount; /* number of Sequence tables */
- HB_Sequence* Sequence; /* array of Sequence tables */
};
typedef struct HB_MultipleSubst_ HB_MultipleSubst;
@@ -99,9 +102,9 @@ typedef struct HB_MultipleSubst_ HB_MultipleSubst;
struct HB_AlternateSet_
{
+ HB_UShort* Alternate; /* array of alternate glyph IDs */
HB_UShort GlyphCount; /* number of glyph IDs in the
Alternate array */
- HB_UShort* Alternate; /* array of alternate glyph IDs */
};
typedef struct HB_AlternateSet_ HB_AlternateSet;
@@ -109,11 +112,11 @@ typedef struct HB_AlternateSet_ HB_AlternateSet;
struct HB_AlternateSubst_
{
- HB_UShort SubstFormat; /* always 1 */
+ HB_AlternateSet* AlternateSet; /* array of AlternateSet tables */
HB_Coverage Coverage; /* Coverage table */
+ HB_UShort SubstFormat; /* always 1 */
HB_UShort AlternateSetCount;
/* number of AlternateSet tables */
- HB_AlternateSet* AlternateSet; /* array of AlternateSet tables */
};
typedef struct HB_AlternateSubst_ HB_AlternateSubst;
@@ -123,10 +126,10 @@ typedef struct HB_AlternateSubst_ HB_AlternateSubst;
struct HB_Ligature_
{
+ HB_UShort* Component; /* array of component glyph IDs */
HB_UShort LigGlyph; /* glyphID of ligature
to substitute */
HB_UShort ComponentCount; /* number of components in ligature */
- HB_UShort* Component; /* array of component glyph IDs */
};
typedef struct HB_Ligature_ HB_Ligature;
@@ -134,8 +137,8 @@ typedef struct HB_Ligature_ HB_Ligature;
struct HB_LigatureSet_
{
- HB_UShort LigatureCount; /* number of Ligature tables */
HB_Ligature* Ligature; /* array of Ligature tables */
+ HB_UShort LigatureCount; /* number of Ligature tables */
};
typedef struct HB_LigatureSet_ HB_LigatureSet;
@@ -143,10 +146,10 @@ typedef struct HB_LigatureSet_ HB_LigatureSet;
struct HB_LigatureSubst_
{
- HB_UShort SubstFormat; /* always 1 */
+ HB_LigatureSet* LigatureSet; /* array of LigatureSet tables */
HB_Coverage Coverage; /* Coverage table */
+ HB_UShort SubstFormat; /* always 1 */
HB_UShort LigatureSetCount; /* number of LigatureSet tables */
- HB_LigatureSet* LigatureSet; /* array of LigatureSet tables */
};
typedef struct HB_LigatureSubst_ HB_LigatureSubst;
@@ -168,13 +171,13 @@ typedef struct HB_SubstLookupRecord_ HB_SubstLookupRecord;
struct HB_SubRule_
{
- HB_UShort GlyphCount; /* total number of input glyphs */
- HB_UShort SubstCount; /* number of SubstLookupRecord
- tables */
HB_UShort* Input; /* array of input glyph IDs */
HB_SubstLookupRecord* SubstLookupRecord;
/* array of SubstLookupRecord
tables */
+ HB_UShort GlyphCount; /* total number of input glyphs */
+ HB_UShort SubstCount; /* number of SubstLookupRecord
+ tables */
};
typedef struct HB_SubRule_ HB_SubRule;
@@ -182,8 +185,8 @@ typedef struct HB_SubRule_ HB_SubRule;
struct HB_SubRuleSet_
{
- HB_UShort SubRuleCount; /* number of SubRule tables */
HB_SubRule* SubRule; /* array of SubRule tables */
+ HB_UShort SubRuleCount; /* number of SubRule tables */
};
typedef struct HB_SubRuleSet_ HB_SubRuleSet;
@@ -191,9 +194,9 @@ typedef struct HB_SubRuleSet_ HB_SubRuleSet;
struct HB_ContextSubstFormat1_
{
+ HB_SubRuleSet* SubRuleSet; /* array of SubRuleSet tables */
HB_Coverage Coverage; /* Coverage table */
HB_UShort SubRuleSetCount; /* number of SubRuleSet tables */
- HB_SubRuleSet* SubRuleSet; /* array of SubRuleSet tables */
};
typedef struct HB_ContextSubstFormat1_ HB_ContextSubstFormat1;
@@ -201,13 +204,13 @@ typedef struct HB_ContextSubstFormat1_ HB_ContextSubstFormat1;
struct HB_SubClassRule_
{
- HB_UShort GlyphCount; /* total number of context classes */
- HB_UShort SubstCount; /* number of SubstLookupRecord
- tables */
HB_UShort* Class; /* array of classes */
HB_SubstLookupRecord* SubstLookupRecord;
/* array of SubstLookupRecord
tables */
+ HB_UShort GlyphCount; /* total number of context classes */
+ HB_UShort SubstCount; /* number of SubstLookupRecord
+ tables */
};
typedef struct HB_SubClassRule_ HB_SubClassRule;
@@ -215,9 +218,9 @@ typedef struct HB_SubClassRule_ HB_SubClassRule;
struct HB_SubClassSet_
{
+ HB_SubClassRule* SubClassRule; /* array of SubClassRule tables */
HB_UShort SubClassRuleCount;
/* number of SubClassRule tables */
- HB_SubClassRule* SubClassRule; /* array of SubClassRule tables */
};
typedef struct HB_SubClassSet_ HB_SubClassSet;
@@ -229,13 +232,13 @@ typedef struct HB_SubClassSet_ HB_SubClassSet;
struct HB_ContextSubstFormat2_
{
- HB_UShort MaxContextLength;
- /* maximal context length */
+ HB_SubClassSet* SubClassSet; /* array of SubClassSet tables */
HB_Coverage Coverage; /* Coverage table */
HB_ClassDefinition ClassDef; /* ClassDef table */
HB_UShort SubClassSetCount;
/* number of SubClassSet tables */
- HB_SubClassSet* SubClassSet; /* array of SubClassSet tables */
+ HB_UShort MaxContextLength;
+ /* maximal context length */
};
typedef struct HB_ContextSubstFormat2_ HB_ContextSubstFormat2;
@@ -243,11 +246,11 @@ typedef struct HB_ContextSubstFormat2_ HB_ContextSubstFormat2;
struct HB_ContextSubstFormat3_
{
- HB_UShort GlyphCount; /* number of input glyphs */
- HB_UShort SubstCount; /* number of SubstLookupRecords */
HB_Coverage* Coverage; /* array of Coverage tables */
HB_SubstLookupRecord* SubstLookupRecord;
/* array of substitution lookups */
+ HB_UShort GlyphCount; /* number of input glyphs */
+ HB_UShort SubstCount; /* number of SubstLookupRecords */
};
typedef struct HB_ContextSubstFormat3_ HB_ContextSubstFormat3;
@@ -255,14 +258,14 @@ typedef struct HB_ContextSubstFormat3_ HB_ContextSubstFormat3;
struct HB_ContextSubst_
{
- HB_UShort SubstFormat; /* 1, 2, or 3 */
-
union
{
HB_ContextSubstFormat1 csf1;
HB_ContextSubstFormat2 csf2;
HB_ContextSubstFormat3 csf3;
} csf;
+
+ HB_Byte SubstFormat; /* 1, 2, or 3 */
};
typedef struct HB_ContextSubst_ HB_ContextSubst;
@@ -272,18 +275,18 @@ typedef struct HB_ContextSubst_ HB_ContextSubst;
struct HB_ChainSubRule_
{
+ HB_UShort* Backtrack; /* array of backtrack glyph IDs */
+ HB_UShort* Input; /* array of input glyph IDs */
+ HB_UShort* Lookahead; /* array of lookahead glyph IDs */
+ HB_SubstLookupRecord* SubstLookupRecord;
+ /* array of SubstLookupRecords */
HB_UShort BacktrackGlyphCount;
/* total number of backtrack glyphs */
- HB_UShort* Backtrack; /* array of backtrack glyph IDs */
HB_UShort InputGlyphCount;
/* total number of input glyphs */
- HB_UShort* Input; /* array of input glyph IDs */
HB_UShort LookaheadGlyphCount;
/* total number of lookahead glyphs */
- HB_UShort* Lookahead; /* array of lookahead glyph IDs */
HB_UShort SubstCount; /* number of SubstLookupRecords */
- HB_SubstLookupRecord* SubstLookupRecord;
- /* array of SubstLookupRecords */
};
typedef struct HB_ChainSubRule_ HB_ChainSubRule;
@@ -291,9 +294,9 @@ typedef struct HB_ChainSubRule_ HB_ChainSubRule;
struct HB_ChainSubRuleSet_
{
+ HB_ChainSubRule* ChainSubRule; /* array of ChainSubRule tables */
HB_UShort ChainSubRuleCount;
/* number of ChainSubRule tables */
- HB_ChainSubRule* ChainSubRule; /* array of ChainSubRule tables */
};
typedef struct HB_ChainSubRuleSet_ HB_ChainSubRuleSet;
@@ -301,11 +304,11 @@ typedef struct HB_ChainSubRuleSet_ HB_ChainSubRuleSet;
struct HB_ChainContextSubstFormat1_
{
+ HB_ChainSubRuleSet* ChainSubRuleSet;
+ /* array of ChainSubRuleSet tables */
HB_Coverage Coverage; /* Coverage table */
HB_UShort ChainSubRuleSetCount;
/* number of ChainSubRuleSet tables */
- HB_ChainSubRuleSet* ChainSubRuleSet;
- /* array of ChainSubRuleSet tables */
};
typedef struct HB_ChainContextSubstFormat1_ HB_ChainContextSubstFormat1;
@@ -313,20 +316,20 @@ typedef struct HB_ChainContextSubstFormat1_ HB_ChainContextSubstFormat1;
struct HB_ChainSubClassRule_
{
+ HB_UShort* Backtrack; /* array of backtrack classes */
+ HB_UShort* Input; /* array of context classes */
+ HB_UShort* Lookahead; /* array of lookahead classes */
+ HB_SubstLookupRecord* SubstLookupRecord;
+ /* array of substitution lookups */
HB_UShort BacktrackGlyphCount;
/* total number of backtrack
classes */
- HB_UShort* Backtrack; /* array of backtrack classes */
HB_UShort InputGlyphCount;
/* total number of context classes */
- HB_UShort* Input; /* array of context classes */
HB_UShort LookaheadGlyphCount;
/* total number of lookahead
classes */
- HB_UShort* Lookahead; /* array of lookahead classes */
HB_UShort SubstCount; /* number of SubstLookupRecords */
- HB_SubstLookupRecord* SubstLookupRecord;
- /* array of substitution lookups */
};
typedef struct HB_ChainSubClassRule_ HB_ChainSubClassRule;
@@ -334,12 +337,12 @@ typedef struct HB_ChainSubClassRule_ HB_ChainSubClassRule;
struct HB_ChainSubClassSet_
{
- HB_UShort ChainSubClassRuleCount;
- /* number of ChainSubClassRule
- tables */
HB_ChainSubClassRule* ChainSubClassRule;
/* array of ChainSubClassRule
tables */
+ HB_UShort ChainSubClassRuleCount;
+ /* number of ChainSubClassRule
+ tables */
};
typedef struct HB_ChainSubClassSet_ HB_ChainSubClassSet;
@@ -351,27 +354,27 @@ typedef struct HB_ChainSubClassSet_ HB_ChainSubClassSet;
struct HB_ChainContextSubstFormat2_
{
+ HB_ChainSubClassSet* ChainSubClassSet;
+ /* array of ChainSubClassSet
+ tables */
HB_Coverage Coverage; /* Coverage table */
- HB_UShort MaxBacktrackLength;
- /* maximal backtrack length */
HB_ClassDefinition BacktrackClassDef;
/* BacktrackClassDef table */
- HB_UShort MaxInputLength;
- /* maximal input length */
HB_ClassDefinition InputClassDef;
/* InputClassDef table */
- HB_UShort MaxLookaheadLength;
- /* maximal lookahead length */
HB_ClassDefinition LookaheadClassDef;
/* LookaheadClassDef table */
HB_UShort ChainSubClassSetCount;
/* number of ChainSubClassSet
tables */
- HB_ChainSubClassSet* ChainSubClassSet;
- /* array of ChainSubClassSet
- tables */
+ HB_UShort MaxBacktrackLength;
+ /* maximal backtrack length */
+ HB_UShort MaxLookaheadLength;
+ /* maximal lookahead length */
+ HB_UShort MaxInputLength;
+ /* maximal input length */
};
typedef struct HB_ChainContextSubstFormat2_ HB_ChainContextSubstFormat2;
@@ -379,24 +382,24 @@ typedef struct HB_ChainContextSubstFormat2_ HB_ChainContextSubstFormat2;
struct HB_ChainContextSubstFormat3_
{
- HB_UShort BacktrackGlyphCount;
- /* number of backtrack glyphs */
HB_Coverage* BacktrackCoverage;
/* array of backtrack Coverage
tables */
- HB_UShort InputGlyphCount;
- /* number of input glyphs */
HB_Coverage* InputCoverage;
/* array of input coverage
tables */
- HB_UShort LookaheadGlyphCount;
- /* number of lookahead glyphs */
HB_Coverage* LookaheadCoverage;
/* array of lookahead coverage
tables */
- HB_UShort SubstCount; /* number of SubstLookupRecords */
HB_SubstLookupRecord* SubstLookupRecord;
/* array of substitution lookups */
+ HB_UShort BacktrackGlyphCount;
+ /* number of backtrack glyphs */
+ HB_UShort InputGlyphCount;
+ /* number of input glyphs */
+ HB_UShort LookaheadGlyphCount;
+ /* number of lookahead glyphs */
+ HB_UShort SubstCount; /* number of SubstLookupRecords */
};
typedef struct HB_ChainContextSubstFormat3_ HB_ChainContextSubstFormat3;
@@ -404,14 +407,14 @@ typedef struct HB_ChainContextSubstFormat3_ HB_ChainContextSubstFormat3;
struct HB_ChainContextSubst_
{
- HB_UShort SubstFormat; /* 1, 2, or 3 */
-
union
{
HB_ChainContextSubstFormat1 ccsf1;
HB_ChainContextSubstFormat2 ccsf2;
HB_ChainContextSubstFormat3 ccsf3;
} ccsf;
+
+ HB_Byte SubstFormat; /* 1, 2, or 3 */
};
typedef struct HB_ChainContextSubst_ HB_ChainContextSubst;
@@ -421,9 +424,9 @@ typedef struct HB_ChainContextSubst_ HB_ChainContextSubst;
/* LookupType 7 */
struct HB_ExtensionSubst_
{
+ HB_GSUB_SubTable *subtable; /* referenced subtable */
HB_UShort SubstFormat; /* always 1 */
HB_UShort LookuptType; /* lookup-type of referenced subtable */
- HB_GSUB_SubTable *subtable; /* referenced subtable */
};
typedef struct HB_ExtensionSubst_ HB_ExtensionSubst;
@@ -433,16 +436,16 @@ typedef struct HB_ExtensionSubst_ HB_ExtensionSubst;
/* LookupType 8 */
struct HB_ReverseChainContextSubst_
{
- HB_UShort SubstFormat; /* always 1 */
- HB_Coverage Coverage; /* coverage table for input glyphs */
- HB_UShort BacktrackGlyphCount; /* number of backtrack glyphs */
+ HB_Coverage* LookaheadCoverage; /* array of lookahead Coverage
+ tables */
+ HB_UShort* Substitute; /* array of substitute Glyph ID */
HB_Coverage* BacktrackCoverage; /* array of backtrack Coverage
tables */
+ HB_Coverage Coverage; /* coverage table for input glyphs */
+ HB_UShort SubstFormat; /* always 1 */
+ HB_UShort BacktrackGlyphCount; /* number of backtrack glyphs */
HB_UShort LookaheadGlyphCount; /* number of lookahead glyphs */
- HB_Coverage* LookaheadCoverage; /* array of lookahead Coverage
- tables */
HB_UShort GlyphCount; /* number of Glyph IDs */
- HB_UShort* Substitute; /* array of substitute Glyph ID */
};
typedef struct HB_ReverseChainContextSubst_ HB_ReverseChainContextSubst;
@@ -471,6 +474,10 @@ HB_INTERNAL void
_HB_GSUB_Free_SubTable( HB_GSUB_SubTable* st,
HB_UShort lookup_type );
+#ifdef HB_USE_PACKED_STRUCTS
+#pragma pack(pop)
+#endif
+
HB_END_HEADER
#endif /* HARFBUZZ_GSUB_PRIVATE_H */
diff --git a/src/3rdparty/harfbuzz/src/harfbuzz-gsub.h b/src/3rdparty/harfbuzz/src/harfbuzz-gsub.h
index 1ca3f0c3c8..b00df4401f 100644
--- a/src/3rdparty/harfbuzz/src/harfbuzz-gsub.h
+++ b/src/3rdparty/harfbuzz/src/harfbuzz-gsub.h
@@ -32,6 +32,10 @@
HB_BEGIN_HEADER
+#ifdef HB_USE_PACKED_STRUCTS
+#pragma pack(push, 1)
+#endif
+
/* Lookup types for glyph substitution */
#define HB_GSUB_LOOKUP_SINGLE 1
@@ -60,6 +64,14 @@ typedef HB_UShort (*HB_AltFunction)(HB_UInt pos,
struct HB_GSUBHeader_
{
+ HB_GDEFHeader* gdef;
+
+ /* the next two fields are used for an alternate substitution callback
+ function to select the proper alternate glyph. */
+
+ void* data;
+ HB_AltFunction altfunc;
+
HB_UInt offset;
HB_16Dot16 Version;
@@ -67,14 +79,6 @@ struct HB_GSUBHeader_
HB_ScriptList ScriptList;
HB_FeatureList FeatureList;
HB_LookupList LookupList;
-
- HB_GDEFHeader* gdef;
-
- /* the next two fields are used for an alternate substitution callback
- function to select the proper alternate glyph. */
-
- HB_AltFunction altfunc;
- void* data;
};
typedef struct HB_GSUBHeader_ HB_GSUBHeader;
@@ -135,6 +139,9 @@ HB_Error HB_GSUB_Register_Alternate_Function( HB_GSUBHeader* gsub,
HB_Error HB_GSUB_Apply_String( HB_GSUBHeader* gsub,
HB_Buffer buffer );
+#ifdef HB_USE_PACKED_STRUCTS
+#pragma pack(pop)
+#endif
HB_END_HEADER
diff --git a/src/3rdparty/harfbuzz/src/harfbuzz-hangul.c b/src/3rdparty/harfbuzz/src/harfbuzz-hangul.c
index a819dacf7f..6f89ed6b0b 100644
--- a/src/3rdparty/harfbuzz/src/harfbuzz-hangul.c
+++ b/src/3rdparty/harfbuzz/src/harfbuzz-hangul.c
@@ -130,7 +130,7 @@ static int hangul_nextSyllableBoundary(const HB_UChar16 *s, int start, int end)
static const HB_OpenTypeFeature hangul_features [] = {
{ HB_MAKE_TAG('c', 'c', 'm', 'p'), CcmpProperty },
{ HB_MAKE_TAG('l', 'j', 'm', 'o'), CcmpProperty },
- { HB_MAKE_TAG('j', 'j', 'm', 'o'), CcmpProperty },
+ { HB_MAKE_TAG('v', 'j', 'm', 'o'), CcmpProperty },
{ HB_MAKE_TAG('t', 'j', 'm', 'o'), CcmpProperty },
{ 0, 0 }
};
diff --git a/src/3rdparty/harfbuzz/src/harfbuzz-open-private.h b/src/3rdparty/harfbuzz/src/harfbuzz-open-private.h
index 73dd383d52..1f7b353857 100644
--- a/src/3rdparty/harfbuzz/src/harfbuzz-open-private.h
+++ b/src/3rdparty/harfbuzz/src/harfbuzz-open-private.h
@@ -69,7 +69,7 @@ _HB_OPEN_Load_EmptyOrClassDefinition( HB_ClassDefinition* cd,
HB_UInt base_offset,
HB_Stream input );
HB_INTERNAL HB_Error
-_HB_OPEN_Load_Device( HB_Device* d,
+_HB_OPEN_Load_Device( HB_Device** d,
HB_Stream input );
HB_INTERNAL void _HB_OPEN_Free_ScriptList( HB_ScriptList* sl );
@@ -79,7 +79,7 @@ HB_INTERNAL void _HB_OPEN_Free_LookupList( HB_LookupList* ll,
HB_INTERNAL void _HB_OPEN_Free_Coverage( HB_Coverage* c );
HB_INTERNAL void _HB_OPEN_Free_ClassDefinition( HB_ClassDefinition* cd );
-HB_INTERNAL void _HB_OPEN_Free_Device( HB_Device* d );
+HB_INTERNAL void _HB_OPEN_Free_Device( HB_Device** d );
@@ -93,7 +93,7 @@ _HB_OPEN_Get_Class( HB_ClassDefinition* cd,
HB_UShort* klass,
HB_UShort* index );
HB_INTERNAL HB_Error
-_HB_OPEN_Get_Device( HB_Device* d,
+_HB_OPEN_Get_Device( HB_Device** d,
HB_UShort size,
HB_Short* value );
diff --git a/src/3rdparty/harfbuzz/src/harfbuzz-open.c b/src/3rdparty/harfbuzz/src/harfbuzz-open.c
index 0fe1e4ddb3..255b7e6c89 100644
--- a/src/3rdparty/harfbuzz/src/harfbuzz-open.c
+++ b/src/3rdparty/harfbuzz/src/harfbuzz-open.c
@@ -1282,9 +1282,10 @@ _HB_OPEN_Get_Class( HB_ClassDefinition* cd,
HB_INTERNAL HB_Error
-_HB_OPEN_Load_Device( HB_Device* d,
+_HB_OPEN_Load_Device( HB_Device** device,
HB_Stream stream )
{
+ HB_Device* d;
HB_Error error;
HB_UShort n, count;
@@ -1295,6 +1296,14 @@ _HB_OPEN_Load_Device( HB_Device* d,
if ( ACCESS_Frame( 6L ) )
return error;
+ if ( ALLOC( *device, sizeof(HB_Device)) )
+ {
+ *device = 0;
+ return error;
+ }
+
+ d = *device;
+
d->StartSize = GET_UShort();
d->EndSize = GET_UShort();
d->DeltaFormat = GET_UShort();
@@ -1318,11 +1327,17 @@ _HB_OPEN_Load_Device( HB_Device* d,
( 4 - d->DeltaFormat ) ) + 1;
if ( ALLOC_ARRAY( d->DeltaValue, count, HB_UShort ) )
+ {
+ FREE( *device );
+ *device = 0;
return error;
+ }
if ( ACCESS_Frame( count * 2L ) )
{
FREE( d->DeltaValue );
+ FREE( *device );
+ *device = 0;
return error;
}
@@ -1338,9 +1353,13 @@ _HB_OPEN_Load_Device( HB_Device* d,
HB_INTERNAL void
-_HB_OPEN_Free_Device( HB_Device* d )
+_HB_OPEN_Free_Device( HB_Device** d )
{
- FREE( d->DeltaValue );
+ if ( *d )
+ {
+ FREE( (*d)->DeltaValue );
+ FREE( *d );
+ }
}
@@ -1380,12 +1399,21 @@ _HB_OPEN_Free_Device( HB_Device* d )
mask = 0x00FF */
HB_INTERNAL HB_Error
-_HB_OPEN_Get_Device( HB_Device* d,
+_HB_OPEN_Get_Device( HB_Device** device,
HB_UShort size,
HB_Short* value )
{
+ HB_Device* d;
HB_UShort byte, bits, mask, f, s;
+ HB_Error error;
+
+ if ( ALLOC( *device, sizeof(HB_Device)) )
+ {
+ *device = 0;
+ return error;
+ }
+ d = *device;
f = d->DeltaFormat;
@@ -1408,6 +1436,8 @@ _HB_OPEN_Get_Device( HB_Device* d,
else
{
*value = 0;
+ FREE( *device );
+ *device = 0;
return HB_Err_Not_Covered;
}
}
diff --git a/src/3rdparty/harfbuzz/src/harfbuzz-open.h b/src/3rdparty/harfbuzz/src/harfbuzz-open.h
index bdc635832e..4ba6cf5803 100644
--- a/src/3rdparty/harfbuzz/src/harfbuzz-open.h
+++ b/src/3rdparty/harfbuzz/src/harfbuzz-open.h
@@ -30,6 +30,10 @@
HB_BEGIN_HEADER
+#ifdef HB_USE_PACKED_STRUCTS
+#pragma pack(push, 1)
+#endif
+
/* Use this if a feature applies to all glyphs */
#define HB_ALL_GLYPHS 0xFFFF
@@ -42,10 +46,10 @@ HB_BEGIN_HEADER
struct HB_LangSys_
{
+ HB_UShort* FeatureIndex; /* array of Feature indices */
HB_UShort LookupOrderOffset; /* always 0 for TT Open 1.0 */
HB_UShort ReqFeatureIndex; /* required FeatureIndex */
HB_UShort FeatureCount; /* number of Feature indices */
- HB_UShort* FeatureIndex; /* array of Feature indices */
};
typedef struct HB_LangSys_ HB_LangSys;
@@ -53,8 +57,8 @@ typedef struct HB_LangSys_ HB_LangSys;
struct HB_LangSysRecord_
{
- HB_UInt LangSysTag; /* LangSysTag identifier */
HB_LangSys LangSys; /* LangSys table */
+ HB_UInt LangSysTag; /* LangSysTag identifier */
};
typedef struct HB_LangSysRecord_ HB_LangSysRecord;
@@ -62,9 +66,9 @@ typedef struct HB_LangSysRecord_ HB_LangSysRecord;
struct HB_ScriptTable_
{
+ HB_LangSysRecord* LangSysRecord; /* array of LangSysRecords */
HB_LangSys DefaultLangSys; /* DefaultLangSys table */
HB_UShort LangSysCount; /* number of LangSysRecords */
- HB_LangSysRecord* LangSysRecord; /* array of LangSysRecords */
};
typedef struct HB_ScriptTable_ HB_ScriptTable;
@@ -81,8 +85,8 @@ typedef struct HB_ScriptRecord_ HB_ScriptRecord;
struct HB_ScriptList_
{
- HB_UShort ScriptCount; /* number of ScriptRecords */
HB_ScriptRecord* ScriptRecord; /* array of ScriptRecords */
+ HB_UShort ScriptCount; /* number of ScriptRecords */
};
typedef struct HB_ScriptList_ HB_ScriptList;
@@ -92,9 +96,9 @@ typedef struct HB_ScriptList_ HB_ScriptList;
struct HB_Feature_
{
+ HB_UShort* LookupListIndex; /* array of LookupList indices */
HB_UShort FeatureParams; /* always 0 for TT Open 1.0 */
HB_UShort LookupListCount; /* number of LookupList indices */
- HB_UShort* LookupListIndex; /* array of LookupList indices */
};
typedef struct HB_Feature_ HB_Feature;
@@ -111,9 +115,9 @@ typedef struct HB_FeatureRecord_ HB_FeatureRecord;
struct HB_FeatureList_
{
- HB_UShort FeatureCount; /* number of FeatureRecords */
- HB_FeatureRecord* FeatureRecord; /* array of FeatureRecords */
HB_UShort* ApplyOrder; /* order to apply features */
+ HB_FeatureRecord* FeatureRecord; /* array of FeatureRecords */
+ HB_UShort FeatureCount; /* number of FeatureRecords */
HB_UShort ApplyCount; /* number of elements in ApplyOrder */
};
@@ -127,10 +131,10 @@ typedef struct HB_SubTable_ HB_SubTable;
struct HB_Lookup_
{
+ HB_SubTable* SubTable; /* array of SubTables */
HB_UShort LookupType; /* Lookup type */
HB_UShort LookupFlag; /* Lookup qualifiers */
HB_UShort SubTableCount; /* number of SubTables */
- HB_SubTable* SubTable; /* array of SubTables */
};
typedef struct HB_Lookup_ HB_Lookup;
@@ -144,9 +148,9 @@ typedef struct HB_Lookup_ HB_Lookup;
struct HB_LookupList_
{
- HB_UShort LookupCount; /* number of Lookups */
HB_Lookup* Lookup; /* array of Lookup records */
HB_UInt* Properties; /* array of flags */
+ HB_UShort LookupCount; /* number of Lookups */
};
typedef struct HB_LookupList_ HB_LookupList;
@@ -167,8 +171,8 @@ typedef struct HB_LookupList_ HB_LookupList;
struct HB_CoverageFormat1_
{
- HB_UShort GlyphCount; /* number of glyphs in GlyphArray */
HB_UShort* GlyphArray; /* array of glyph IDs */
+ HB_UShort GlyphCount; /* number of glyphs in GlyphArray */
};
typedef struct HB_CoverageFormat1_ HB_CoverageFormat1;
@@ -187,8 +191,8 @@ typedef struct HB_RangeRecord_ HB_RangeRecord;
struct HB_CoverageFormat2_
{
- HB_UShort RangeCount; /* number of RangeRecords */
HB_RangeRecord* RangeRecord; /* array of RangeRecords */
+ HB_UShort RangeCount; /* number of RangeRecords */
};
typedef struct HB_CoverageFormat2_ HB_CoverageFormat2;
@@ -196,7 +200,7 @@ typedef struct HB_CoverageFormat2_ HB_CoverageFormat2;
struct HB_Coverage_
{
- HB_UShort CoverageFormat; /* 1 or 2 */
+ HB_Byte CoverageFormat; /* 1 or 2 */
union
{
@@ -210,10 +214,10 @@ typedef struct HB_Coverage_ HB_Coverage;
struct HB_ClassDefFormat1_
{
+ HB_UShort* ClassValueArray; /* array of class values */
HB_UShort StartGlyph; /* first glyph ID of the
ClassValueArray */
HB_UShort GlyphCount; /* size of the ClassValueArray */
- HB_UShort* ClassValueArray; /* array of class values */
};
typedef struct HB_ClassDefFormat1_ HB_ClassDefFormat1;
@@ -231,10 +235,10 @@ typedef struct HB_ClassRangeRecord_ HB_ClassRangeRecord;
struct HB_ClassDefFormat2_
{
- HB_UShort ClassRangeCount;
- /* number of ClassRangeRecords */
HB_ClassRangeRecord* ClassRangeRecord;
/* array of ClassRangeRecords */
+ HB_UShort ClassRangeCount;
+ /* number of ClassRangeRecords */
};
typedef struct HB_ClassDefFormat2_ HB_ClassDefFormat2;
@@ -242,15 +246,14 @@ typedef struct HB_ClassDefFormat2_ HB_ClassDefFormat2;
struct HB_ClassDefinition_
{
- HB_Bool loaded;
-
- HB_UShort ClassFormat; /* 1 or 2 */
-
union
{
HB_ClassDefFormat1 cd1;
HB_ClassDefFormat2 cd2;
} cd;
+
+ HB_Byte ClassFormat; /* 1 or 2 */
+ HB_Bool loaded;
};
typedef struct HB_ClassDefinition_ HB_ClassDefinition;
@@ -258,11 +261,11 @@ typedef struct HB_ClassDefinition_ HB_ClassDefinition;
struct HB_Device_
{
+ HB_UShort* DeltaValue; /* array of compressed data */
HB_UShort StartSize; /* smallest size to correct */
HB_UShort EndSize; /* largest size to correct */
- HB_UShort DeltaFormat; /* DeltaValue array data format:
+ HB_Byte DeltaFormat; /* DeltaValue array data format:
1, 2, or 3 */
- HB_UShort* DeltaValue; /* array of compressed data */
};
typedef struct HB_Device_ HB_Device;
@@ -276,6 +279,9 @@ enum HB_Type_
typedef enum HB_Type_ HB_Type;
+#ifdef HB_USE_PACKED_STRUCTS
+#pragma pack(pop)
+#endif
HB_END_HEADER
diff --git a/src/3rdparty/harfbuzz/src/harfbuzz-shaper.cpp b/src/3rdparty/harfbuzz/src/harfbuzz-shaper.cpp
index 4bc53c8970..ce4d4ac0ea 100644
--- a/src/3rdparty/harfbuzz/src/harfbuzz-shaper.cpp
+++ b/src/3rdparty/harfbuzz/src/harfbuzz-shaper.cpp
@@ -183,18 +183,15 @@ static void calcLineBreaks(const HB_UChar16 *uc, hb_uint32 len, HB_CharAttribute
if (ncls >= HB_LineBreak_CR)
goto next;
- // two complex chars (thai or lao), thai_attributes might override, but here we do a best guess
- if (cls == HB_LineBreak_SA && ncls == HB_LineBreak_SA) {
- lineBreakType = HB_Break;
- goto next;
- }
-
{
int tcls = ncls;
+ // for south east asian chars that require a complex (dictionary analysis), the unicode
+ // standard recommends to treat them as AL. thai_attributes and other attribute methods that
+ // do dictionary analysis can override
if (tcls >= HB_LineBreak_SA)
- tcls = HB_LineBreak_ID;
+ tcls = HB_LineBreak_AL;
if (cls >= HB_LineBreak_SA)
- cls = HB_LineBreak_ID;
+ cls = HB_LineBreak_AL;
int brk = breakTable[cls][tcls];
switch (brk) {
diff --git a/src/3rdparty/harfbuzz/src/harfbuzz-shaper.h b/src/3rdparty/harfbuzz/src/harfbuzz-shaper.h
index f7c7714743..32f57810f7 100644
--- a/src/3rdparty/harfbuzz/src/harfbuzz-shaper.h
+++ b/src/3rdparty/harfbuzz/src/harfbuzz-shaper.h
@@ -34,6 +34,22 @@
HB_BEGIN_HEADER
+#ifdef HB_USE_PACKED_STRUCTS
+#pragma pack(push, 1)
+#endif
+
+/*
+ using anything else than signed or unsigned for bitfields in C is non standard,
+ but accepted by almost all compilers. And it gives a significant reduction in
+ memory consumption as HB_CharAttributes and HB_GlyphAttributes will not have
+ a 4 byte alignment
+*/
+#ifdef __xlC__
+typedef unsigned hb_bitfield;
+#else
+typedef hb_uint8 hb_bitfield;
+#endif
+
typedef enum {
HB_Script_Common,
HB_Script_Greek,
@@ -123,12 +139,12 @@ typedef enum {
typedef struct {
- /*HB_LineBreakType*/ unsigned lineBreakType :2;
- /*HB_Bool*/ unsigned whiteSpace :1; /* A unicode whitespace character, except NBSP, ZWNBSP */
- /*HB_Bool*/ unsigned charStop :1; /* Valid cursor position (for left/right arrow) */
- /*HB_Bool*/ unsigned wordBoundary :1;
- /*HB_Bool*/ unsigned sentenceBoundary :1;
- unsigned unused :2;
+ /*HB_LineBreakType*/ hb_bitfield lineBreakType :2;
+ /*HB_Bool*/ hb_bitfield whiteSpace :1; /* A unicode whitespace character, except NBSP, ZWNBSP */
+ /*HB_Bool*/ hb_bitfield charStop :1; /* Valid cursor position (for left/right arrow) */
+ /*HB_Bool*/ hb_bitfield wordBoundary :1;
+ /*HB_Bool*/ hb_bitfield sentenceBoundary :1;
+ hb_bitfield unused :2;
} HB_CharAttributes;
void HB_GetCharAttributes(const HB_UChar16 *string, hb_uint32 stringLength,
@@ -181,12 +197,12 @@ typedef enum {
* it like that. If this is a problem please tell Trolltech :)
*/
typedef struct {
- unsigned justification :4; /* Justification class */
- unsigned clusterStart :1; /* First glyph of representation of cluster */
- unsigned mark :1; /* needs to be positioned around base char */
- unsigned zeroWidth :1; /* ZWJ, ZWNJ etc, with no width */
- unsigned dontPrint :1;
- unsigned combiningClass :8;
+ hb_bitfield justification :4; /* Justification class */
+ hb_bitfield clusterStart :1; /* First glyph of representation of cluster */
+ hb_bitfield mark :1; /* needs to be positioned around base char */
+ hb_bitfield zeroWidth :1; /* ZWJ, ZWNJ etc, with no width */
+ hb_bitfield dontPrint :1;
+ hb_bitfield combiningClass :8;
} HB_GlyphAttributes;
typedef struct HB_FaceRec_ {
@@ -269,6 +285,10 @@ struct HB_ShaperItem_ {
HB_Bool HB_ShapeItem(HB_ShaperItem *item);
+#ifdef HB_USE_PACKED_STRUCTS
+#pragma pack(pop)
+#endif
+
HB_END_HEADER
#endif
diff --git a/src/3rdparty/harfbuzz/src/harfbuzz-stream.h b/src/3rdparty/harfbuzz/src/harfbuzz-stream.h
index 999193696d..a155cc277c 100644
--- a/src/3rdparty/harfbuzz/src/harfbuzz-stream.h
+++ b/src/3rdparty/harfbuzz/src/harfbuzz-stream.h
@@ -30,15 +30,21 @@
HB_BEGIN_HEADER
+#ifdef HB_USE_PACKED_STRUCTS
+#pragma pack(push, 1)
+#endif
+
typedef struct HB_StreamRec_
{
HB_Byte* base;
+ HB_Byte* cursor;
HB_UInt size;
HB_UInt pos;
-
- HB_Byte* cursor;
} HB_StreamRec;
+#ifdef HB_USE_PACKED_STRUCTS
+#pragma pack(pop)
+#endif
HB_END_HEADER
diff --git a/src/3rdparty/harfbuzz/src/harfbuzz-thai.c b/src/3rdparty/harfbuzz/src/harfbuzz-thai.c
index 1d1aa2fcfc..fc2bdbfc89 100644
--- a/src/3rdparty/harfbuzz/src/harfbuzz-thai.c
+++ b/src/3rdparty/harfbuzz/src/harfbuzz-thai.c
@@ -27,57 +27,79 @@
#include "harfbuzz-external.h"
#include <assert.h>
+#include <stdio.h>
+
+typedef int (*th_brk_def)(const char*, int[], int);
+static th_brk_def th_brk = 0;
+static int libthai_resolved = 0;
+
+static void resolve_libthai()
+{
+ if (!th_brk)
+ th_brk = (th_brk_def)HB_Library_Resolve("thai", 0, "th_brk");
+ libthai_resolved = 1;
+}
+
+static void to_tis620(const HB_UChar16 *string, hb_uint32 len, const char *cstr)
+{
+ hb_uint32 i;
+ unsigned char *result = (unsigned char *)cstr;
+
+ for (i = 0; i < len; ++i) {
+ if (string[i] <= 0xa0)
+ result[i] = (unsigned char)string[i];
+ if (string[i] >= 0xe01 && string[i] <= 0xe5b)
+ result[i] = (unsigned char)(string[i] - 0xe00 + 0xa0);
+ else
+ result[i] = '?';
+ }
+}
static void thaiWordBreaks(const HB_UChar16 *string, hb_uint32 len, HB_CharAttributes *attributes)
{
- typedef int (*th_brk_def)(const char*, int[], int);
- static void *thaiCodec = 0;
- static th_brk_def th_brk = 0;
- char *cstr = 0;
+ char s[128];
+ char *cstr = s;
int brp[128];
int *break_positions = brp;
hb_uint32 numbreaks;
hb_uint32 i;
- if (!thaiCodec)
- thaiCodec = HB_TextCodecForMib(2259);
-
- /* load libthai dynamically */
- if (!th_brk && thaiCodec) {
- th_brk = (th_brk_def)HB_Library_Resolve("thai", "th_brk");
- if (!th_brk)
- thaiCodec = 0;
- }
+ if (!libthai_resolved)
+ resolve_libthai();
if (!th_brk)
return;
- cstr = HB_TextCodec_ConvertFromUnicode(thaiCodec, string, len, 0);
- if (!cstr)
- return;
+ if (len > 128)
+ cstr = (char *)malloc(len*sizeof(char));
+
+ to_tis620(string, len, cstr);
- break_positions = brp;
numbreaks = th_brk(cstr, break_positions, 128);
if (numbreaks > 128) {
break_positions = (int *)malloc(numbreaks * sizeof(int));
numbreaks = th_brk(cstr, break_positions, numbreaks);
}
- for (i = 0; i < len; ++i)
+ for (i = 0; i < len; ++i) {
attributes[i].lineBreakType = HB_NoBreak;
+ attributes[i].wordBoundary = FALSE;
+ }
for (i = 0; i < numbreaks; ++i) {
- if (break_positions[i] > 0)
+ if (break_positions[i] > 0) {
attributes[break_positions[i]-1].lineBreakType = HB_Break;
+ attributes[i].wordBoundary = TRUE;
+ }
}
if (break_positions != brp)
free(break_positions);
- HB_TextCodec_FreeResult(cstr);
+ if (len > 128)
+ free(cstr);
}
-
void HB_ThaiAttributes(HB_Script script, const HB_UChar16 *text, hb_uint32 from, hb_uint32 len, HB_CharAttributes *attributes)
{
assert(script == HB_Script_Thai);
diff --git a/src/3rdparty/harfbuzz/tests/fuzzing/fuzz.cc b/src/3rdparty/harfbuzz/tests/fuzzing/fuzz.cc
new file mode 100644
index 0000000000..133577a09c
--- /dev/null
+++ b/src/3rdparty/harfbuzz/tests/fuzzing/fuzz.cc
@@ -0,0 +1,124 @@
+// This is a fuzzing harness for Harfbuzz. Since Harfbuzz's input is generally
+// expected to be controlled by a remote party it's a possible vector for
+// security issues.
+//
+// Fuzzing is a black-box testing scheme where the black-box (Harfbuzz's shaping
+// engine in this case) is fed random input to see if it will misbehave.
+// Misbehaviours can often be turned into security or crash issues.
+//
+// It's expected that one will generally run this under valgrind in order to get
+// better detection of problems.
+
+#include <stdint.h>
+#include <stdio.h>
+
+#include <ft2build.h>
+#include FT_FREETYPE_H
+
+#include "../../src/harfbuzz-shaper.h"
+#include "../../src/harfbuzz-global.h"
+#include "../../src/harfbuzz-gpos.h"
+
+extern "C" {
+#include "../../contrib/harfbuzz-unicode.h"
+#include "../../contrib/harfbuzz-freetype.h"
+}
+
+static FT_Library freetype;
+
+static FT_Face loadFace(const char *path)
+{
+ FT_Face face;
+
+ if (FT_New_Face(freetype, path, /* index */ 0, &face))
+ return 0;
+ return face;
+}
+
+static const int kWidth = 100;
+static const int kHeight = 100;
+
+static int
+usage(const char *argv0) {
+ fprintf(stderr, "Usage: %s <TTF file>\n", argv0);
+ return 1;
+}
+
+int
+main(int argc, char **argv) {
+ FT_Init_FreeType(&freetype);
+
+ if (argc != 2)
+ return usage(argv[0]);
+
+ FT_Face face;
+ if (FT_New_Face(freetype, argv[1], 0 /* face index */, &face)) {
+ fprintf(stderr, "Failed to load font file\n");
+ return 1;
+ }
+
+ HB_Face hbFace = HB_NewFace(face, hb_freetype_table_sfnt_get);
+
+ HB_FontRec hbFont;
+ hbFont.klass = &hb_freetype_class;
+ hbFont.userData = face;
+ hbFont.x_ppem = face->size->metrics.x_ppem;
+ hbFont.y_ppem = face->size->metrics.y_ppem;
+ hbFont.x_scale = face->size->metrics.x_scale;
+ hbFont.y_scale = face->size->metrics.y_scale;
+
+ // This is the maximum number of bytes of input which we'll feed to Harfbuzz
+ // in one shot. We also overload it and make it the size of the output arrays
+ // as well. (Must be a power of two.)
+ static const unsigned kMaxInputBytes = 1024;
+ uint8_t str[kMaxInputBytes];
+
+ HB_ShaperItem shaper_item;
+ shaper_item.kerning_applied = false;
+ shaper_item.string = (HB_UChar16 *) str;
+ shaper_item.stringLength = 0;
+ shaper_item.item.bidiLevel = 0;
+ shaper_item.shaperFlags = 0;
+ shaper_item.font = &hbFont;
+ shaper_item.face = hbFace;
+ shaper_item.glyphIndicesPresent = false;
+ shaper_item.initialGlyphCount = 0;
+
+ HB_Glyph out_glyphs[kMaxInputBytes];
+ HB_GlyphAttributes out_attrs[kMaxInputBytes];
+ HB_Fixed out_advs[kMaxInputBytes];
+ HB_FixedPoint out_offsets[kMaxInputBytes];
+ unsigned short out_logClusters[kMaxInputBytes];
+
+ shaper_item.glyphs = out_glyphs;
+ shaper_item.attributes = out_attrs;
+ shaper_item.advances = out_advs;
+ shaper_item.offsets = out_offsets;
+ shaper_item.log_clusters = out_logClusters;
+ shaper_item.num_glyphs = kMaxInputBytes;
+
+ FILE *urandom = fopen("/dev/urandom", "rb");
+ if (!urandom) {
+ fprintf(stderr, "Cannot open /dev/urandom\n");
+ return 1;
+ }
+
+ for (;;) {
+ uint16_t len;
+ fread(&len, sizeof(len), 1, urandom);
+ len &= (kMaxInputBytes - 1);
+ len &= ~1;
+ fread(str, len, 1, urandom);
+
+ ssize_t iterator = 0;
+
+ for (;;) {
+ if (!hb_utf16_script_run_next(NULL, &shaper_item.item, (uint16_t *) str, len >> 1, &iterator))
+ break;
+
+ HB_ShapeItem(&shaper_item);
+ }
+ }
+
+ HB_FreeFace(hbFace);
+}
diff --git a/src/3rdparty/harfbuzz/tests/linebreaking/harfbuzz-qt.cpp b/src/3rdparty/harfbuzz/tests/linebreaking/harfbuzz-qt.cpp
index ea030526c6..f0048b75ef 100644
--- a/src/3rdparty/harfbuzz/tests/linebreaking/harfbuzz-qt.cpp
+++ b/src/3rdparty/harfbuzz/tests/linebreaking/harfbuzz-qt.cpp
@@ -79,30 +79,9 @@ void HB_GetGraphemeAndLineBreakClass(HB_UChar32 ch, HB_GraphemeClass *grapheme,
*lineBreak = (HB_LineBreakClass) prop->line_break_class;
}
-void *HB_Library_Resolve(const char *library, const char *symbol)
+void *HB_Library_Resolve(const char *library, int version, const char *symbol)
{
- return QLibrary::resolve(library, symbol);
-}
-
-void *HB_TextCodecForMib(int mib)
-{
- return QTextCodec::codecForMib(mib);
-}
-
-char *HB_TextCodec_ConvertFromUnicode(void *codec, const HB_UChar16 *unicode, hb_uint32 length, hb_uint32 *outputLength)
-{
- QByteArray data = reinterpret_cast<QTextCodec *>(codec)->fromUnicode((const QChar *)unicode, length);
- // ### suboptimal
- char *output = (char *)malloc(data.length() + 1);
- memcpy(output, data.constData(), data.length() + 1);
- if (outputLength)
- *outputLength = data.length();
- return output;
-}
-
-void HB_TextCodec_FreeResult(char *string)
-{
- free(string);
+ return QLibrary::resolve(library, version, symbol);
}
}
diff --git a/src/3rdparty/javascriptcore/JavaScriptCore/ChangeLog b/src/3rdparty/javascriptcore/JavaScriptCore/ChangeLog
index 11572b04e3..b0873ab233 100644
--- a/src/3rdparty/javascriptcore/JavaScriptCore/ChangeLog
+++ b/src/3rdparty/javascriptcore/JavaScriptCore/ChangeLog
@@ -1,3 +1,34 @@
+2010-05-10 Laszlo Gombos <laszlo.1.gombos@nokia.com>
+
+ Reviewed by Darin Adler.
+
+ [Qt] Disable JIT support for mingw-w64
+ https://bugs.webkit.org/show_bug.cgi?id=38747
+
+ Disale JIT for mingw-w64 as it is reportedly
+ unstable.
+
+ Thanks for Vanboxem Rruben for the investigation.
+
+ * wtf/Platform.h:
+
+2010-04-28 Simon Hausmann <simon.hausmann@nokia.com>, Kent Hansen <kent.hansen@nokia.com>
+
+ Reviewed by Darin Adler.
+
+ JSC's currentThreadStackBase is not reentrant on some platforms
+ https://bugs.webkit.org/show_bug.cgi?id=37195
+
+ This function needs to be reentrant to avoid memory corruption on platforms where
+ the implementation uses global variables.
+
+ This patch adds a mutex lock where necessary and makes the Symbian implementation
+ reentrant.
+
+ * runtime/Collector.cpp:
+ (JSC::currentThreadStackBaseMutex):
+ (JSC::currentThreadStackBase):
+
2010-04-14 Kent Hansen <kent.hansen@nokia.com>
Reviewed by Maciej Stachowiak.
@@ -24,6 +55,20 @@
* wtf/VMTags.h:
+2010-04-02 Ruben Van Boxem <vanboxem.ruben@gmail.com>
+
+ Reviewed by Eric Seidel.
+
+ Mingw-w64 fixes for JavaScriptCore
+ https://bugs.webkit.org/show_bug.cgi?id=35607
+
+ * runtime/Collector.cpp: use the msvc code for mingw-w64 (but not mingw-w32)
+ (JSC::Heap::allocateBlock):
+ (JSC::Heap::freeBlockPtr):
+ (JSC::currentThreadStackBase):
+ (JSC::currentThreadStackBase):
+ * wtf/Platform.h: added COMPILER(MINGW64) check to differentiate between mingw.org and mingw-w64 functions
+
2010-03-29 Patrick Gansterer <paroga@paroga.com>
Reviewed by Darin Adler.
diff --git a/src/3rdparty/javascriptcore/JavaScriptCore/jit/JITStubs.cpp b/src/3rdparty/javascriptcore/JavaScriptCore/jit/JITStubs.cpp
index 022689b422..b3c229e1fd 100644
--- a/src/3rdparty/javascriptcore/JavaScriptCore/jit/JITStubs.cpp
+++ b/src/3rdparty/javascriptcore/JavaScriptCore/jit/JITStubs.cpp
@@ -1094,6 +1094,10 @@ RVCT()
#define DEFINE_STUB_FUNCTION(rtype, op) rtype JIT_STUB cti_##op(STUB_ARGS_DECLARATION)
#endif
+#if COMPILER(GCC)
+#pragma GCC visibility push(hidden)
+#endif
+
DEFINE_STUB_FUNCTION(EncodedJSValue, op_convert_this)
{
STUB_INIT_STACK_FRAME(stackFrame);
@@ -3205,6 +3209,10 @@ DEFINE_STUB_FUNCTION(EncodedJSValue, to_object)
return JSValue::encode(stackFrame.args[0].jsValue().toObject(callFrame));
}
+#if COMPILER(GCC)
+#pragma GCC visibility pop
+#endif
+
} // namespace JSC
#endif // ENABLE(JIT)
diff --git a/src/3rdparty/javascriptcore/JavaScriptCore/runtime/Collector.cpp b/src/3rdparty/javascriptcore/JavaScriptCore/runtime/Collector.cpp
index 29df7a517e..eafcc23c48 100644
--- a/src/3rdparty/javascriptcore/JavaScriptCore/runtime/Collector.cpp
+++ b/src/3rdparty/javascriptcore/JavaScriptCore/runtime/Collector.cpp
@@ -231,7 +231,7 @@ NEVER_INLINE CollectorBlock* Heap::allocateBlock()
#elif OS(WINCE)
void* address = VirtualAlloc(NULL, BLOCK_SIZE, MEM_COMMIT | MEM_RESERVE, PAGE_READWRITE);
#elif OS(WINDOWS)
-#if COMPILER(MINGW) && !CPU(X86_64)
+#if COMPILER(MINGW) && !COMPILER(MINGW64)
void* address = __mingw_aligned_malloc(BLOCK_SIZE, BLOCK_SIZE);
#else
void* address = _aligned_malloc(BLOCK_SIZE, BLOCK_SIZE);
@@ -324,7 +324,7 @@ NEVER_INLINE void Heap::freeBlockPtr(CollectorBlock* block)
#elif OS(WINCE)
VirtualFree(block, 0, MEM_RELEASE);
#elif OS(WINDOWS)
-#if COMPILER(MINGW) && !CPU(X86_64)
+#if COMPILER(MINGW) && !COMPILER(MINGW64)
__mingw_aligned_free(block);
#else
_aligned_free(block);
@@ -637,6 +637,8 @@ static inline void* currentThreadStackBase()
#elif OS(HPUX)
return hpux_get_stack_base();
#elif OS(QNX)
+ AtomicallyInitializedStatic(Mutex&, mutex = *new Mutex);
+ MutexLocker locker(mutex);
return currentThreadStackBaseQNX();
#elif OS(SOLARIS)
stack_t s;
@@ -660,19 +662,17 @@ static inline void* currentThreadStackBase()
pthread_stackseg_np(thread, &stack);
return stack.ss_sp;
#elif OS(SYMBIAN)
- static void* stackBase = 0;
- if (stackBase == 0) {
- TThreadStackInfo info;
- RThread thread;
- thread.StackInfo(info);
- stackBase = (void*)info.iBase;
- }
- return (void*)stackBase;
+ TThreadStackInfo info;
+ RThread thread;
+ thread.StackInfo(info);
+ return (void*)info.iBase;
#elif OS(HAIKU)
thread_info threadInfo;
get_thread_info(find_thread(NULL), &threadInfo);
return threadInfo.stack_end;
#elif OS(UNIX)
+ AtomicallyInitializedStatic(Mutex&, mutex = *new Mutex);
+ MutexLocker locker(mutex);
static void* stackBase = 0;
static size_t stackSize = 0;
static pthread_t stackThread;
@@ -695,6 +695,8 @@ static inline void* currentThreadStackBase()
}
return static_cast<char*>(stackBase) + stackSize;
#elif OS(WINCE)
+ AtomicallyInitializedStatic(Mutex&, mutex = *new Mutex);
+ MutexLocker locker(mutex);
if (g_stackBase)
return g_stackBase;
else {
diff --git a/src/3rdparty/javascriptcore/JavaScriptCore/wtf/Platform.h b/src/3rdparty/javascriptcore/JavaScriptCore/wtf/Platform.h
index b3e3dbae34..be5f51b18c 100644
--- a/src/3rdparty/javascriptcore/JavaScriptCore/wtf/Platform.h
+++ b/src/3rdparty/javascriptcore/JavaScriptCore/wtf/Platform.h
@@ -79,9 +79,14 @@
#endif
/* COMPILER(MINGW) - MinGW GCC */
-#if defined(MINGW) || defined(__MINGW32__)
+/* COMPILER(MINGW64) - mingw-w64 GCC - only used as additional check to exclude mingw.org specific functions */
+#if defined(__MINGW32__)
#define WTF_COMPILER_MINGW 1
-#endif
+#include <_mingw.h> /* private MinGW header */
+ #if defined(__MINGW64_VERSION_MAJOR) /* best way to check for mingw-w64 vs mingw.org */
+ #define WTF_COMPILER_MINGW64 1
+ #endif /* __MINGW64_VERSION_MAJOR */
+#endif /* __MINGW32__ */
/* COMPILER(SUNCC) - Sun CC compiler, also known as Sun Studio or Sun Pro */
#if defined(__SUNPRO_CC) || defined(__SUNPRO_C)
@@ -964,6 +969,7 @@ on MinGW. See https://bugs.webkit.org/show_bug.cgi?id=29268 */
#if PLATFORM(QT)
#if (CPU(X86) && OS(WINDOWS) && COMPILER(MINGW) && GCC_VERSION >= 40100) \
+ || (CPU(X86_64) && OS(WINDOWS) && COMPILER(MINGW64) && GCC_VERSION >= 40100) \
|| (CPU(X86) && OS(WINDOWS) && COMPILER(MSVC)) \
|| (CPU(X86) && OS(LINUX) && GCC_VERSION >= 40100) \
|| (CPU(X86_64) && OS(LINUX) && GCC_VERSION >= 40100) \
diff --git a/src/3rdparty/javascriptcore/VERSION b/src/3rdparty/javascriptcore/VERSION
index 9a02027710..daecc37cbb 100644
--- a/src/3rdparty/javascriptcore/VERSION
+++ b/src/3rdparty/javascriptcore/VERSION
@@ -4,8 +4,8 @@ This is a snapshot of JavaScriptCore from
The commit imported was from the
- javascriptcore-snapshot-20042010 branch/tag
+ javascriptcore-snapshot-16062010 branch/tag
and has the sha1 checksum
- c589321ffdda5e93cf77e2cf2cf43afe3e996f6e
+ 8b2d3443afca194f8ac50a63151dc9d19a150582
diff --git a/src/3rdparty/javascriptcore/WebKit.pri b/src/3rdparty/javascriptcore/WebKit.pri
index 0dd07992f9..9aaaa996d8 100644
--- a/src/3rdparty/javascriptcore/WebKit.pri
+++ b/src/3rdparty/javascriptcore/WebKit.pri
@@ -36,7 +36,7 @@ building-libs {
win32-*|wince* {
CONFIG(debug, debug|release):build_pass: QTWEBKITLIBNAME = $${QTWEBKITLIBNAME}d
QTWEBKITLIBNAME = $${QTWEBKITLIBNAME}$${QT_MAJOR_VERSION}
- win32-g++: LIBS += -l$$QTWEBKITLIBNAME
+ win32-g++*: LIBS += -l$$QTWEBKITLIBNAME
else: LIBS += $${QTWEBKITLIBNAME}.lib
} else {
LIBS += -lQtWebKit
diff --git a/src/3rdparty/phonon/mmf/abstractaudioeffect.cpp b/src/3rdparty/phonon/mmf/abstractaudioeffect.cpp
index 6cfeb768ae..9b64ab3ff2 100644
--- a/src/3rdparty/phonon/mmf/abstractaudioeffect.cpp
+++ b/src/3rdparty/phonon/mmf/abstractaudioeffect.cpp
@@ -184,6 +184,8 @@ int AbstractAudioEffect::effectParameterChanged(
const EffectParameter &param, const QVariant &value)
{
// Default implementation
+ Q_UNUSED(param)
+ Q_UNUSED(value)
Q_ASSERT_X(false, Q_FUNC_INFO, "Effect has no parameters");
return 0;
}
diff --git a/src/3rdparty/phonon/mmf/abstractaudioeffect.h b/src/3rdparty/phonon/mmf/abstractaudioeffect.h
index d71993b146..70adcf644f 100644
--- a/src/3rdparty/phonon/mmf/abstractaudioeffect.h
+++ b/src/3rdparty/phonon/mmf/abstractaudioeffect.h
@@ -118,6 +118,10 @@ private:
// for each of the effects. Using this reduces repetition of boilerplate
// in the implementations of the backend effect nodes.
+#ifdef Q_CC_NOKIAX86
+# pragma warn_illtokenpasting off
+#endif
+
#define PHONON_MMF_DEFINE_EFFECT_FUNCTIONS(Effect) \
\
void Effect##::createEffect(AudioPlayer::NativePlayer *player) \
diff --git a/src/3rdparty/phonon/mmf/audiooutput.cpp b/src/3rdparty/phonon/mmf/audiooutput.cpp
index c6be20b3de..358868379b 100644
--- a/src/3rdparty/phonon/mmf/audiooutput.cpp
+++ b/src/3rdparty/phonon/mmf/audiooutput.cpp
@@ -78,6 +78,9 @@ bool MMF::AudioOutput::setOutputDevice(int index)
{
Q_ASSERT_X(index == AudioOutputDeviceID, Q_FUNC_INFO,
"We only support one output device, with id 0");
+#ifdef QT_NO_DEBUG
+ Q_UNUSED(index)
+#endif
return true;
}
diff --git a/src/3rdparty/phonon/mmf/bassboost.cpp b/src/3rdparty/phonon/mmf/bassboost.cpp
index c7af93924b..67076f62d0 100644
--- a/src/3rdparty/phonon/mmf/bassboost.cpp
+++ b/src/3rdparty/phonon/mmf/bassboost.cpp
@@ -49,6 +49,7 @@ const char* BassBoost::description()
bool BassBoost::getParameters(CMdaAudioOutputStream *stream,
QList<EffectParameter> &parameters)
{
+ Q_UNUSED(parameters)
QScopedPointer<CBassBoost> effect;
TRAPD(err, effect.reset(CBassBoost::NewL(*stream)));
return (KErrNone == err);
diff --git a/src/3rdparty/phonon/mmf/effectfactory.cpp b/src/3rdparty/phonon/mmf/effectfactory.cpp
index c5e33d5c7a..4643978d2f 100644
--- a/src/3rdparty/phonon/mmf/effectfactory.cpp
+++ b/src/3rdparty/phonon/mmf/effectfactory.cpp
@@ -183,8 +183,9 @@ EffectFactory::EffectData EffectFactory::getData()
/* defaultValue */ QVariant(bool(true)));
data.m_parameters.append(param);
- if (data.m_supported = BackendNode::getParameters
- (stream.data(), data.m_parameters)) {
+ data.m_supported = BackendNode::getParameters(stream.data(),
+ data.m_parameters);
+ if (data.m_supported) {
const QString description = QCoreApplication::translate
("Phonon::MMF::EffectFactory", BackendNode::description());
data.m_descriptions.insert("name", description);
diff --git a/src/3rdparty/phonon/mmf/loudness.cpp b/src/3rdparty/phonon/mmf/loudness.cpp
index 1079a35653..ca05ab0989 100644
--- a/src/3rdparty/phonon/mmf/loudness.cpp
+++ b/src/3rdparty/phonon/mmf/loudness.cpp
@@ -49,6 +49,7 @@ const char* Loudness::description()
bool Loudness::getParameters(CMdaAudioOutputStream *stream,
QList<EffectParameter> &parameters)
{
+ Q_UNUSED(parameters)
QScopedPointer<CLoudness> effect;
TRAPD(err, effect.reset(CLoudness::NewL(*stream)));
return (KErrNone == err);
diff --git a/src/3rdparty/phonon/qt7/audiodevice.mm b/src/3rdparty/phonon/qt7/audiodevice.mm
index 6bec62d8ea..3aae0ee4cf 100644
--- a/src/3rdparty/phonon/qt7/audiodevice.mm
+++ b/src/3rdparty/phonon/qt7/audiodevice.mm
@@ -149,7 +149,6 @@ QString AudioDevice::deviceSourceName(AudioDeviceID deviceID)
size = sizeof(translation);
err = AudioDeviceGetProperty(deviceID, 0, 0, kAudioDevicePropertyDataSourceNameForIDCFString, &size, &translation);
if (err != noErr){
- CFRelease(cfName);
return QString();
}
QString name = PhononCFString::toQString(cfName);
diff --git a/src/3rdparty/webkit/.tag b/src/3rdparty/webkit/.tag
index 75fc5e7fa7..f5b6af387b 100644
--- a/src/3rdparty/webkit/.tag
+++ b/src/3rdparty/webkit/.tag
@@ -1 +1 @@
-b4aa5e1ddc41edab895132aba3cc66d9d7129444
+6623b5da196390748dc619461739f9cb84524736
diff --git a/src/3rdparty/webkit/ChangeLog b/src/3rdparty/webkit/ChangeLog
index 70eff7d4d1..51d08a037e 100644
--- a/src/3rdparty/webkit/ChangeLog
+++ b/src/3rdparty/webkit/ChangeLog
@@ -1,3 +1,46 @@
+2010-06-17 Mark Brand <mabrand@mabrand.nl>
+
+ Reviewed by Simon Hausmann.
+
+ [Qt] use "win32-g++*" scope to match all MinGW makespecs
+
+ The scope "win32-g++" comes from the name of the makespec. However, it
+ is frequently used to check for MinGW. This works fine as long as
+ win32-g++ is the only makespec for MinGW. Now we need the wildcard
+ to cover "win32-g++-cross" as well.
+
+ * WebKit.pri:
+
+2010-05-04 Laszlo Gombos <laszlo.1.gombos@nokia.com>
+
+ Unreviewed, build fix for Symbian.
+
+ [Symbian] Symbian builds does not support shadow builds
+
+ Revision r54715 broke the Symbian build. For Symbian
+ the include directory is generated in the root of the source tree.
+ This patch sets the INCLUDEPATH accordingly for Symbian.
+
+ * WebKit.pri:
+
+2010-05-14 Simon Hausmann <simon.hausmann@nokia.com>
+
+ Rubber-stamped by Antti Koivisto.
+
+ [Qt] Rename QtLauncher to QtTestBrowser
+ https://bugs.webkit.org/show_bug.cgi?id=37665
+
+ * WebKit.pro:
+
+2010-05-12 Laszlo Gombos <laszlo.1.gombos@nokia.com>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ [Qt] Detect debug mode consistently
+ https://bugs.webkit.org/show_bug.cgi?id=38863
+
+ * WebKit.pri:
+
2010-04-09 Simon Hausmann <simon.hausmann@nokia.com>
Unreviewed crash fix.
diff --git a/src/3rdparty/webkit/JavaScriptCore/ChangeLog b/src/3rdparty/webkit/JavaScriptCore/ChangeLog
index 1439ae0db5..adaf39002e 100644
--- a/src/3rdparty/webkit/JavaScriptCore/ChangeLog
+++ b/src/3rdparty/webkit/JavaScriptCore/ChangeLog
@@ -1,12 +1,91 @@
-2010-05-02 Laszlo Gombos <laszlo.1.gombos@nokia.com>
+2010-06-17 Mark Brand <mabrand@mabrand.nl>
- Reviewed by Eric Seidel.
+ Reviewed by Simon Hausmann.
+
+ [Qt] use "win32-g++*" scope to match all MinGW makespecs
+
+ The scope "win32-g++" comes from the name of the makespec. However, it
+ is frequently used to check for MinGW. This works fine as long as
+ win32-g++ is the only makespec for MinGW. Now we need the wildcard
+ to cover "win32-g++-cross" as well.
+
+ * JavaScriptCore.pro:
+
+2010-06-07 Benjamin Poulain <benjamin.poulain@nokia.com>
+
+ Reviewed by Simon Hausmann.
+
+ [Qt] Crash when compiling on Snow Leopard and running on Leopard
+ https://bugs.webkit.org/show_bug.cgi?id=31403
+
+ Disable the use of pthread_setname_np and other symbols
+ when targetting Leopard.
+
+ Use the defines TARGETING_XX instead of BUILDING_ON_XX
+ for features that cannot be used before Snow Leopard.
+
+ * wtf/Platform.h:
+
+2010-04-20 Csaba Osztrogonác <ossy@webkit.org>
+
+ [Qt] Unreviewed speculative buildfix for WinCE after r57882
+ https://bugs.webkit.org/show_bug.cgi?id=37701
+
+ * JavaScriptCore.pri: missing wince* case added.
+
+2010-04-20 Csaba Osztrogonác <ossy@webkit.org>
+
+ Reviewed by Simon Hausmann.
+
+ [Qt] Target(WebCore,jsc,...) must depends on static library of JavaScriptCore
+ https://bugs.webkit.org/show_bug.cgi?id=37701
+
+ * JavaScriptCore.pri: dependency added.
+
+2010-05-10 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
+
+ Reviewed by Alexey Proskuryakov.
+
+ Fix a VS2010 assert in std::copy
+ https://bugs.webkit.org/show_bug.cgi?id=38630
+
+ The assert complains that the output iterator is null.
+
+ * wtf/Vector.h:
+ (WTF::::operator):
+
+2010-05-12 Laszlo Gombos <laszlo.1.gombos@nokia.com>
- [Qt] Enable JIT for QtWebKit on Symbian
- https://bugs.webkit.org/show_bug.cgi?id=38339
+ Reviewed by Kenneth Rohde Christiansen.
+
+ [Qt] Detect debug mode consistently
+ https://bugs.webkit.org/show_bug.cgi?id=38863
+
+ * JavaScriptCore.pri:
+ * JavaScriptCore.pro:
+ * jsc.pro:
+ * qt/api/QtScript.pro:
+
+2010-05-10 Laszlo Gombos <laszlo.1.gombos@nokia.com>
+
+ Reviewed by Darin Adler.
+
+ [Qt] Disable JIT support for mingw-w64
+ https://bugs.webkit.org/show_bug.cgi?id=38747
+
+ Disale JIT for mingw-w64 as it is reportedly
+ unstable.
+
+ Thanks for Vanboxem Rruben for the investigation.
+
+ * wtf/Platform.h:
+
+2010-05-06 Laszlo Gombos <laszlo.1.gombos@nokia.com>
+
+ Reviewed by Kenneth Rohde Christiansen.
- JIT on Symbian has been stable for quite some time, it
- is time to turn it on by default.
+ [Qt] Enable YARR_JIT for X86 Mac for QtWebKit
+ https://bugs.webkit.org/show_bug.cgi?id=38668
* wtf/Platform.h:
diff --git a/src/3rdparty/webkit/JavaScriptCore/JavaScriptCore.pri b/src/3rdparty/webkit/JavaScriptCore/JavaScriptCore.pri
index b7f6665838..cc4a1b31d2 100644
--- a/src/3rdparty/webkit/JavaScriptCore/JavaScriptCore.pri
+++ b/src/3rdparty/webkit/JavaScriptCore/JavaScriptCore.pri
@@ -1,6 +1,6 @@
# JavaScriptCore - Qt4 build info
VPATH += $$PWD
-CONFIG(debug, debug|release) {
+!CONFIG(release, debug|release) {
# Output in JavaScriptCore/<config>
JAVASCRIPTCORE_DESTDIR = debug
# Use a config-specific target to prevent parallel builds file clashes on Mac
@@ -75,19 +75,22 @@ defineTest(addJavaScriptCoreLib) {
# Argument is the relative path to JavaScriptCore.pro's qmake output
pathToJavaScriptCoreOutput = $$ARGS/$$JAVASCRIPTCORE_DESTDIR
- win32-msvc* {
+ win32-msvc*|wince* {
LIBS += -L$$pathToJavaScriptCoreOutput
LIBS += -l$$JAVASCRIPTCORE_TARGET
+ POST_TARGETDEPS += $${pathToJavaScriptCoreOutput}$${QMAKE_DIR_SEP}$${JAVASCRIPTCORE_TARGET}.lib
} else:symbian {
LIBS += -l$${JAVASCRIPTCORE_TARGET}.lib
# The default symbian build system does not use library paths at all. However when building with
# qmake's symbian makespec that uses Makefiles
QMAKE_LIBDIR += $$pathToJavaScriptCoreOutput
+ POST_TARGETDEPS += $${pathToJavaScriptCoreOutput}$${QMAKE_DIR_SEP}$${JAVASCRIPTCORE_TARGET}.lib
} else {
# Make sure jscore will be early in the list of libraries to workaround a bug in MinGW
# that can't resolve symbols from QtCore if libjscore comes after.
QMAKE_LIBDIR = $$pathToJavaScriptCoreOutput $$QMAKE_LIBDIR
LIBS += -l$$JAVASCRIPTCORE_TARGET
+ POST_TARGETDEPS += $${pathToJavaScriptCoreOutput}$${QMAKE_DIR_SEP}lib$${JAVASCRIPTCORE_TARGET}.a
}
win32-* {
@@ -101,6 +104,7 @@ defineTest(addJavaScriptCoreLib) {
export(QMAKE_LIBDIR)
export(LIBS)
+ export(POST_TARGETDEPS)
export(CONFIG)
return(true)
diff --git a/src/3rdparty/webkit/JavaScriptCore/JavaScriptCore.pro b/src/3rdparty/webkit/JavaScriptCore/JavaScriptCore.pro
index 8e086b3713..3f1ac86d4e 100644
--- a/src/3rdparty/webkit/JavaScriptCore/JavaScriptCore.pro
+++ b/src/3rdparty/webkit/JavaScriptCore/JavaScriptCore.pro
@@ -21,7 +21,7 @@ CONFIG(QTDIR_build) {
# This line was extracted from qbase.pri instead of including the whole file
win32|mac:!macx-xcode:CONFIG += debug_and_release
} else {
- CONFIG(debug, debug|release) {
+ !CONFIG(release, debug|release) {
OBJECTS_DIR = obj/debug
} else { # Release
OBJECTS_DIR = obj/release
@@ -43,7 +43,7 @@ CONFIG(QTDIR_build) {
}
# Pick up 3rdparty libraries from INCLUDE/LIB just like with MSVC
-win32-g++ {
+win32-g++* {
TMPPATH = $$quote($$(INCLUDE))
QMAKE_INCDIR_POST += $$split(TMPPATH,";")
TMPPATH = $$quote($$(LIB))
diff --git a/src/3rdparty/webkit/JavaScriptCore/qt/api/QtScript.pro b/src/3rdparty/webkit/JavaScriptCore/qt/api/QtScript.pro
index 88629c79f6..3c2691e06e 100644
--- a/src/3rdparty/webkit/JavaScriptCore/qt/api/QtScript.pro
+++ b/src/3rdparty/webkit/JavaScriptCore/qt/api/QtScript.pro
@@ -7,7 +7,7 @@ INCLUDEPATH += $$PWD
CONFIG += building-libs
isEmpty(JSC_GENERATED_SOURCES_DIR):JSC_GENERATED_SOURCES_DIR = ../../generated
-CONFIG(debug, debug|release) {
+!CONFIG(release, debug|release) {
OBJECTS_DIR = obj/debug
} else { # Release
OBJECTS_DIR = obj/release
diff --git a/src/3rdparty/webkit/JavaScriptCore/wtf/Platform.h b/src/3rdparty/webkit/JavaScriptCore/wtf/Platform.h
index c582905dbb..876e60e290 100644
--- a/src/3rdparty/webkit/JavaScriptCore/wtf/Platform.h
+++ b/src/3rdparty/webkit/JavaScriptCore/wtf/Platform.h
@@ -700,11 +700,11 @@
#define HAVE_SYS_TIME_H 1
#define HAVE_SYS_TIMEB_H 1
-#if !defined(BUILDING_ON_TIGER) && !defined(BUILDING_ON_LEOPARD)
+#if !defined(TARGETING_TIGER) && !defined(TARGETING_LEOPARD)
#define HAVE_DISPATCH_H 1
-#if !PLATFORM(IPHONE) && !PLATFORM(QT)
+#if !PLATFORM(IPHONE)
#define HAVE_MADV_FREE_REUSE 1
#define HAVE_MADV_FREE 1
#define HAVE_PTHREAD_SETNAME_NP 1
@@ -927,8 +927,6 @@ on MinGW. See https://bugs.webkit.org/show_bug.cgi?id=29268 */
#elif CPU(X86) && OS(WINDOWS) && COMPILER(MINGW) && GCC_VERSION >= 40100
#define ENABLE_JIT 1
#define WTF_USE_JIT_STUB_ARGUMENT_VA_LIST 1
-#elif CPU(X86_64) && OS(WINDOWS) && COMPILER(MINGW64) && GCC_VERSION >= 40100
- #define ENABLE_JIT 1
#elif CPU(X86) && OS(WINDOWS) && COMPILER(MSVC)
#define ENABLE_JIT 1
#define WTF_USE_JIT_STUB_ARGUMENT_REGISTER 1
@@ -939,8 +937,6 @@ on MinGW. See https://bugs.webkit.org/show_bug.cgi?id=29268 */
#define ENABLE_JIT 1
#elif CPU(ARM_TRADITIONAL) && OS(LINUX)
#define ENABLE_JIT 1
-#elif CPU(ARM_TRADITIONAL) && OS(SYMBIAN) && COMPILER(RVCT)
- #define ENABLE_JIT 1
#endif
#endif /* PLATFORM(QT) */
@@ -1010,8 +1006,9 @@ on MinGW. See https://bugs.webkit.org/show_bug.cgi?id=29268 */
|| (CPU(X86) && OS(LINUX) && GCC_VERSION >= 40100) \
|| (CPU(X86_64) && OS(LINUX) && GCC_VERSION >= 40100) \
|| (CPU(ARM_TRADITIONAL) && OS(LINUX)) \
- || (CPU(ARM_TRADITIONAL) && OS(SYMBIAN) && COMPILER(RVCT)) \
- || (CPU(MIPS) && OS(LINUX))
+ || (CPU(MIPS) && OS(LINUX)) \
+ || (CPU(X86) && OS(DARWIN)) \
+ || (CPU(X86_64) && OS(DARWIN))
#define ENABLE_YARR 1
#define ENABLE_YARR_JIT 1
#endif
diff --git a/src/3rdparty/webkit/JavaScriptCore/wtf/Vector.h b/src/3rdparty/webkit/JavaScriptCore/wtf/Vector.h
index e4950677b2..4d9ea61991 100644
--- a/src/3rdparty/webkit/JavaScriptCore/wtf/Vector.h
+++ b/src/3rdparty/webkit/JavaScriptCore/wtf/Vector.h
@@ -686,6 +686,12 @@ namespace WTF {
return *this;
}
+// Works around an assert in VS2010. See https://connect.microsoft.com/VisualStudio/feedback/details/558044/std-copy-should-not-check-dest-when-first-last
+#if COMPILER(MSVC) && defined(_ITERATOR_DEBUG_LEVEL) && _ITERATOR_DEBUG_LEVEL
+ if (!begin())
+ return *this;
+#endif
+
std::copy(other.begin(), other.begin() + size(), begin());
TypeOperations::uninitializedCopy(other.begin() + size(), other.end(), end());
m_size = other.size();
@@ -709,6 +715,12 @@ namespace WTF {
return *this;
}
+// Works around an assert in VS2010. See https://connect.microsoft.com/VisualStudio/feedback/details/558044/std-copy-should-not-check-dest-when-first-last
+#if COMPILER(MSVC) && defined(_ITERATOR_DEBUG_LEVEL) && _ITERATOR_DEBUG_LEVEL
+ if (!begin())
+ return *this;
+#endif
+
std::copy(other.begin(), other.begin() + size(), begin());
TypeOperations::uninitializedCopy(other.begin() + size(), other.end(), end());
m_size = other.size();
diff --git a/src/3rdparty/webkit/VERSION b/src/3rdparty/webkit/VERSION
index 98debf6eda..1e7351fd47 100644
--- a/src/3rdparty/webkit/VERSION
+++ b/src/3rdparty/webkit/VERSION
@@ -4,4 +4,4 @@ This is a snapshot of the Qt port of WebKit from
and has the sha1 checksum
- 07b60cf799680fcfb7785ee88e14f8030a5dbfa2
+ 6623b5da196390748dc619461739f9cb84524736
diff --git a/src/3rdparty/webkit/WebCore/ChangeLog b/src/3rdparty/webkit/WebCore/ChangeLog
index 6617b6617b..c17a8aa8a1 100644
--- a/src/3rdparty/webkit/WebCore/ChangeLog
+++ b/src/3rdparty/webkit/WebCore/ChangeLog
@@ -1,3 +1,1177 @@
+2010-06-17 Mark Brand <mabrand@mabrand.nl>
+
+ Reviewed by Simon Hausmann.
+
+ [Qt] use "win32-g++*" scope to match all MinGW makespecs
+
+ The scope "win32-g++" comes from the name of the makespec. However, it
+ is frequently used to check for MinGW. This works fine as long as
+ win32-g++ is the only makespec for MinGW. Now we need the wildcard
+ to cover "win32-g++-cross" as well.
+
+ * WebCore.pro:
+
+2010-06-16 Antonio Gomes <tonikitoo@webkit.org>
+
+ Reviewed by Kenneth Christiansen.
+
+ Spatial Navigation: using offset{Left,Top} is not enough to get the proper inner frames position
+ https://bugs.webkit.org/show_bug.cgi?id=39439
+
+ As pointed out by Darin Adler in https://bugs.webkit.org/show_bug.cgi?id=18662#c20,
+ "It's not correct to use the offsetLeft and offsetTop of the frame owner element's renderer because
+ that's just the distance from the offsetParent, not the absolute position".
+
+ Patch fixes that behavior by now considering the offsetTop and offsetLeft the offsetParent recursively,
+ starting from the HtmlFrameOwnerElement. Previously, only calling offsetTop and offsetLeft works
+ because all tests were done in htmls where the {i}frame element was a directly a child of the body,
+ e.g. <html>...<body><iframe src=xxx>....<body></html>.
+
+ Test: fast/events/spatial-navigation/snav-iframe-recursive-offset-parent.html
+
+ * page/SpatialNavigation.cpp:
+ (WebCore::renderRectRelativeToRootDocument):
+
+2010-06-16 Antonio Gomes <tonikitoo@webkit.org>
+
+ Reviewed by Simon Fraser.
+
+ Spatial Navigation: refactor scrollInDirection to work with scrollable content
+ https://bugs.webkit.org/show_bug.cgi?id=39195
+
+ scrollInDirection now receives as parameter the node that the Spatial Navigation
+ found as the more appropriated to move focus to. If it is in a scrollable container
+ (e.g. <div> with clipped overflow content), it scrolls recursively starting from
+ the container, not the current focused node.
+
+ Test: fast/events/spatial-navigation/snav-only-clipped-overflow-content.html
+
+ * page/FocusController.cpp:
+ (WebCore::FocusController::advanceFocusDirectionally):
+ * page/SpatialNavigation.cpp:
+ (WebCore::scrollInDirection):
+ * page/SpatialNavigation.h:
+
+2010-05-28 Viatcheslav Ostapenko <ostapenko.viatcheslav@nokia.com>
+
+ Reviewed by Simon Hausmann, Antti Koivisto
+
+ Make repaint throttling parameters runtime configurable.
+ https://bugs.webkit.org/show_bug.cgi?id=38401
+
+ REPAINT_THROTTLING now chooses default values for throttling parameters.
+ Should be removed when applications start using runtime configuration.
+
+ * page/FrameView.cpp:
+ (WebCore::FrameView::reset):
+ (WebCore::FrameView::updateDeferredRepaintDelay):
+ (WebCore::FrameView::setRepaintThrottlingDeferredRepaintDelay):
+ (WebCore::FrameView::setRepaintThrottlingnInitialDeferredRepaintDelayDuringLoading):
+ (WebCore::FrameView::setRepaintThrottlingMaxDeferredRepaintDelayDuringLoading):
+ (WebCore::FrameView::setRepaintThrottlingDeferredRepaintDelayIncrementDuringLoading):
+ * page/FrameView.h:
+
+2010-06-16 Dawit Alemayehu <adawit@kde.org>
+
+ Reviewed by Simon Hausmann.
+
+ [Qt] QtWebKit crashes while initializing flash plugin 10.1.53.64.
+ https://bugs.webkit.org/show_bug.cgi?id=40567
+
+ Avoid preventable crashes by ensuring gtk_init() is called in the
+ flash viewer plugins before calling NP_Initialize.
+
+ * plugins/qt/PluginPackageQt.cpp:
+ (WebCore::PluginPackage::load):
+
+2010-04-21 Zoltan Herczeg <zherczeg@webkit.org>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ [Qt] startAnimation() is not needed to preceede nativeImageForCurrentFrame()
+ https://bugs.webkit.org/show_bug.cgi?id=37844
+
+ nativeImageForCurrentFrame() resets the m_decoder parameter under Qt,
+ which is required by startAnimation() to detect frame and repetition counts.
+ Hence, Image::drawTiled cannot start animations under Qt:
+ <html><body background="animated.gif"></body></html> does not work
+
+ * platform/graphics/qt/ImageDecoderQt.cpp:
+ (WebCore::ImageDecoderQt::internalHandleCurrentImage):
+
+2010-05-28 Peter Kasting <pkasting@google.com>
+
+ Reviewed by Darin Adler.
+
+ https://bugs.webkit.org/show_bug.cgi?id=39857
+ Make GIFs loop the correct number of times. Previously, everyone looped
+ one time too few for non-infinitely-looping GIFs.
+
+ Modified a Qt manual test to be correct and moved it to the general
+ manual test directory.
+
+ * manual-tests/animated-gif-looping.html: Copied from WebCore/manual-tests/qt/qt-gif-test.html.
+ * manual-tests/qt/qt-10loop-anim.gif: Removed.
+ * manual-tests/qt/qt-anim.gif: Removed.
+ * manual-tests/qt/qt-gif-test.html: Removed.
+ * manual-tests/qt/qt-noanim.gif: Removed.
+ * manual-tests/resources/animated-10x.gif: Copied from WebCore/manual-tests/qt/qt-10loop-anim.gif and modified.
+ * manual-tests/resources/animated-infinite.gif: Copied from WebCore/manual-tests/qt/qt-anim.gif.
+ * manual-tests/resources/non-animated.gif: Copied from WebCore/manual-tests/qt/qt-noanim.gif.
+ * platform/graphics/BitmapImage.cpp:
+ (WebCore::BitmapImage::internalAdvanceAnimation): For a loop count of n, show a total of n + 1 animation cycles.
+ * platform/graphics/ImageSource.h:
+ * platform/graphics/cg/ImageSourceCG.cpp:
+ (WebCore::ImageSource::repetitionCount):
+ * platform/graphics/qt/ImageDecoderQt.cpp:
+ (WebCore::ImageDecoderQt::repetitionCount): Remove translation code now that WebCore matches Qt's internal handling of the loop count. Qt itself may still have a bug here.
+ * platform/image-decoders/gif/GIFImageDecoder.cpp:
+ (WebCore::GIFImageDecoder::repetitionCount):
+ * platform/image-decoders/gif/GIFImageReader.cpp:
+ (GIFImageReader::read): Translate loop count 0 to "loop infinitely" (by restoring one piece of the Mozilla code we'd removed).
+
+2010-05-04 Tucker Jay <jay.tucker@nokia.com>
+
+ Reviewed by Holger Freyther.
+
+ Animated GIF images does not animate 10x as expected by default.
+ https://bugs.webkit.org/show_bug.cgi?id=36818
+
+ Added test case to existing manual test to test the
+ fixed functionality.
+
+ * manual-tests/qt/qt-10loop-anim.gif: Added.
+ * manual-tests/qt/qt-gif-test.html:
+ * platform/graphics/qt/ImageDecoderQt.cpp:
+ (WebCore::ImageDecoderQt::repetitionCount):
+
+2010-05-16 Antonio Gomes <tonikitoo@webkit.org>
+
+ Unreviewed naming fixes of local variables used in Spatial Navigation methods.
+
+ Summary:
+ * "candidate" renamed to "node";
+ * "currentFocusCandidate" renamed to "candidate"
+ * "closestFocusCandidate" renamed to "closest"
+
+ That way naming is more consistent in the various Spatial Navigation methods.
+
+ * page/FocusController.cpp:
+ (WebCore::FocusController::findFocusableNodeInDirection):
+ (WebCore::FocusController::deepFindFocusableNodeInDirection):
+
+2010-06-14 Antonio Gomes <tonikitoo@webkit.org>
+
+ Reviewed by Simon Fraser and Kenneth Christiansen.
+
+ Spatial Navigation: make it work with focusable elements in overflow content
+ https://bugs.webkit.org/show_bug.cgi?id=36463
+
+ This patch addresses the problem with Spatial Navigation. It currently does not
+ properly traverse scrollable contents, including scrollable div's. For this to work,
+ a new class member called scrollableEnclosingBox was introduced to FocusCandidate class which
+ keeps track of the current scrollable box Node wrapping a FocusCandidate.
+
+ To make use of enclosingScrollableBox of FocusCandidate, the DOM traversal routine
+ (FocusController::findNextFocusableInDirection) was changed as follows: when it
+ encounters a scrollable Node, each focusable node which is 'inner' keeps track of
+ the container reference. By the time a sibling of the scrollable Node is encountered,
+ there is no need to track this reference any more and the traversal algorithm continues
+ normally.
+
+ The common case is obviously that there is no scrollable container wrapping it.
+
+ updateFocusCandiditeIfCloser logic was also adapted to fit the need of the
+ newly introduced enclosingScrollableBox class member, getting simpler and more
+ easily maintainable.
+
+ Tests: fast/events/spatial-navigation/snav-div-scrollable-but-without-focusable-content.html
+ fast/events/spatial-navigation/snav-clipped-overflow-content.html
+
+ * page/FocusController.cpp:
+ (WebCore::updateFocusCandidateInSameContainer):
+ (WebCore::updateFocusCandidateIfCloser):
+ (WebCore::FocusController::findFocusableNodeInDirection):
+ (WebCore::FocusController::deepFindFocusableNodeInDirection):
+ * page/SpatialNavigation.cpp:
+ (WebCore::isScrollableContainerNode):
+ * page/SpatialNavigation.h:
+ (WebCore::FocusCandidate::FocusCandidate):
+ (WebCore::FocusCandidate::isInScrollableContainer):
+
+2010-06-15 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
+
+ Reviewed by Simon Hausmann.
+
+ [Qt] The qt_webkit_version.pri file gets overwritten on install
+ https://bugs.webkit.org/show_bug.cgi?id=40487
+
+ Don't install qt_webkit_version.pri when building WebKit inside of Qt.
+ The import of WebKit into Qt will take care of providing the file
+ in mkspecs/modules and it'll be installed through projects.pro.
+
+ * WebCore.pro:
+
+2010-06-13 Noam Rosenthal <noam.rosenthal@nokia.com>
+
+ Reviewed by Eric Seidel.
+
+ [Qt] GraphicsLayer: recaching images creates an unnecessary deep copy
+ https://bugs.webkit.org/show_bug.cgi?id=40535
+
+ Made sure the painter ends its operation before copying the pixmap.
+
+ No new tests: this is an optimization.
+
+ * platform/graphics/qt/GraphicsLayerQt.cpp:
+ (WebCore::GraphicsLayerQtImpl::recache):
+
+2010-03-24 Dumitru Daniliuc <dumi@chromium.org>
+
+ Reviewed by Dimitri Glazkov.
+
+ Changing the V8 and JSC implementations of
+ SQLStatementErrorCallback to interpret as false all results that
+ could be converted to a false boolean. Pretty much a revert of
+ r54981.
+
+ https://bugs.webkit.org/show_bug.cgi?id=36569
+
+ * bindings/js/JSCustomSQLStatementErrorCallback.cpp:
+ (WebCore::JSCustomSQLStatementErrorCallback::handleEvent):
+ * bindings/v8/custom/V8CustomSQLStatementErrorCallback.cpp:
+ (WebCore::V8CustomSQLStatementErrorCallback::handleEvent):
+ * bindings/v8/custom/V8CustomVoidCallback.cpp:
+ (WebCore::invokeCallback):
+ * bindings/v8/custom/V8CustomVoidCallback.h:
+
+2010-06-13 Noam Rosenthal <noam.rosenthal@nokia.com>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ [Qt] tests/hybridPixmap fails
+ https://bugs.webkit.org/show_bug.cgi?id=37316
+
+ The problem was that JSC::Instance::createRuntimeObject was never called.
+ This is fixed by overloading newRuntimeObject and calling Instance::createRuntimeObject
+ in between, instead of creating the runtime object directly inside the static function
+ QtPixmapInstance::createRuntimeObject, which had to be renamed as to not overshadow the virtual function.
+
+ This fixes an existing test, tests/hybridPixmap
+
+ * bridge/qt/qt_pixmapruntime.cpp:
+ (JSC::Bindings::QtPixmapInstance::newRuntimeObject):
+ (JSC::Bindings::QtPixmapInstance::createPixmapRuntimeObject):
+ * bridge/qt/qt_pixmapruntime.h:
+ * bridge/qt/qt_runtime.cpp:
+ (JSC::Bindings::convertQVariantToValue):
+
+2010-06-07 Mahesh Kulakrni <mahesh.kulkarni@nokia.com>
+
+ Reviewed by Simon Hausmann.
+
+ [QT] QT_BEARER flag is not enabled on S60 properly
+ https://bugs.webkit.org/show_bug.cgi?id=39357
+
+ enable QT_BEARER for all platform based on qtmobility +
+ bearer module availability or for qt 4.7+
+
+ * WebCore.pri:
+
+2010-06-09 Csaba Osztrogonác <ossy@webkit.org>
+
+ Reviewed by Dirk Schulze.
+
+ [Qt] Imperfect dependency for generated SVGNames.cpp
+ https://bugs.webkit.org/show_bug.cgi?id=40359
+
+ * WebCore.pri: Missing dependency added.
+
+2010-06-08 Kenneth Rohde Christiansen <kenneth.christiansen@openbossa.org>
+
+ Unreviewed Buildbot fix.
+
+ Reset the Qt TextBreakIterator when reusing it.
+
+ * platform/text/qt/TextBreakIteratorQt.cpp:
+ (WebCore::setUpIterator):
+
+2010-06-08 Kenneth Rohde Christiansen <kenneth.christiansen@openbossa.org>
+
+ Reviewed by Antti Koivisto.
+
+ [Qt] TextBreakIterator Qt performance
+ https://bugs.webkit.org/show_bug.cgi?id=39958
+
+ Rework TextBreakIteratorQt to be more in line with the ICU version.
+
+ We now reuse iterators where ever possible. The string data is compared
+ with memcmp, which should be faster than using a hash, as you need
+ to traverse the full buffer in the case the strings don't match,
+ where as the compare would fail quickly.
+
+ * platform/text/qt/TextBreakIteratorQt.cpp:
+ (WebCore::TextBreakIterator::TextBreakIterator):
+ (WebCore::setUpIterator):
+ (WebCore::wordBreakIterator):
+ (WebCore::characterBreakIterator):
+ (WebCore::lineBreakIterator):
+ (WebCore::sentenceBreakIterator):
+
+2010-06-07 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
+
+ Reviewed by Simon Hausmann.
+
+ [Qt] Fix text selection drawing.
+ https://bugs.webkit.org/show_bug.cgi?id=40221
+
+ The regression was introduced in r60169.
+
+ * platform/graphics/qt/FontQt.cpp:
+ (WebCore::drawTextCommon):
+
+2010-06-04 No'am Rosenthal <noam.rosenthal@nokia.com>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ [Qt] Fix compilation with QT_NO_FEATURE
+ https://bugs.webkit.org/show_bug.cgi?id=38324
+
+ The #ifdef QT_NO_GRAPHICSEFFECT was in the wrong place, would have
+ made AC not work at all.
+
+ No new tests.
+
+ * platform/graphics/qt/GraphicsLayerQt.cpp:
+ (WebCore::GraphicsLayerQtImpl::flushChanges):
+
+2010-05-24 Tasuku Suzuki <tasuku.suzuki@nokia.com>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ [Qt] Fix compilation with QT_NO_TEMPORARYFILE
+ https://bugs.webkit.org/show_bug.cgi?id=38324
+
+ * platform/qt/FileSystemQt.cpp:
+ (WebCore::openTemporaryFile):
+
+2010-05-21 Tasuku Suzuki <tasuku.suzuki@nokia.com>
+
+ Reviewed by Simon Hausmann.
+
+ [Qt] Fix compilation with QT_NO_GRAPHICSEFFECT
+ https://bugs.webkit.org/show_bug.cgi?id=38324
+
+ * platform/graphics/qt/GraphicsLayerQt.cpp:
+ (WebCore::GraphicsLayerQtImpl::flushChanges):
+
+2010-05-02 Tasuku Suzuki <tasuku.suzuki@nokia.com>
+
+ Reviewed by Simon Hausmann.
+
+ [Qt] Fix compilation with QT_NO_BEARERMANAGEMENT
+ https://bugs.webkit.org/show_bug.cgi?id=38324
+
+ * platform/network/NetworkStateNotifier.h:
+ * platform/network/qt/NetworkStateNotifierQt.cpp:
+
+2010-05-02 Tasuku Suzuki <tasuku.suzuki@nokia.com>
+
+ Reviewed by Simon Hausmann.
+
+ [Qt] Fix compilation with QT_NO_LINEEDIT
+ https://bugs.webkit.org/show_bug.cgi?id=38324
+
+ * platform/qt/RenderThemeQt.cpp:
+ (WebCore::RenderThemeQt::~RenderThemeQt):
+ (WebCore::RenderThemeQt::findFrameLineWidth):
+
+2010-06-04 Simon Hausmann <simon.hausmann@nokia.com>
+
+ Reviewed by Tor Arne Vestbø.
+
+ [Qt] Compilation fails when compiling against Qt 4.7 and Qt Mobility is installed
+ https://bugs.webkit.org/show_bug.cgi?id=40116
+
+ CONFIG += mobility has the side-effect of pulling in mobility includes, which conflict
+ with Qt 4.7's bearer managenent includes and break the build.
+
+ * WebCore.pro:
+
+2010-06-03 Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
+
+ Reviewed by Simon Hausmann.
+
+ [Qt] Fix NPAPI support on Mac OS X/Cocoa-32
+
+ qt_mac_window_for() returns a NSWindow on Cocoa, so we were
+ passing in a NSWindow instead of a WindowRef as part of the
+ NP_CGContext.
+
+ https://bugs.webkit.org/show_bug.cgi?id=38762
+
+ * WebCore.gypi: Reflect rename
+ * WebCore.pro: Reflect rename
+ * plugins/mac/PluginViewMac.cpp: Renamed to PluginViewMac.mm
+ and fix bug by getting the Carbon windowRef from the NSWindow.
+ * wscript: Reflect rename
+
+2010-06-02 Nico Weber <thakis@chromium.org>
+
+ Reviewed by Simon Fraser.
+
+ Scroll events are sent twice per keypress for ports that don't have a platformWidget scrollbar
+ https://bugs.webkit.org/show_bug.cgi?id=39918
+
+ This was regressed by http://trac.webkit.org/changeset/58615 . Fix this by slightly tweaking
+ that patch.
+
+ Test: editing/input/page-up-down-scrolls.html
+
+ * page/FrameView.cpp:
+ (WebCore::FrameView::scrollPositionChanged):
+ * page/FrameView.h:
+ * platform/ScrollView.cpp:
+ (WebCore::ScrollView::valueChanged):
+ * platform/ScrollView.h:
+ (WebCore::ScrollView::repaintFixedElementsAfterScrolling):
+
+2010-06-02 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
+
+ Reviewed by Simon Hausmann.
+
+ [Qt] Fix make install on Symbian for headers in package builds when INSTALL_HEADERS is not defined
+
+ First we wrote inst_headers.output with $$[QT_INSTALL_HEADERS] and then
+ overwrote it with the $$INSTALL_HEADERS variant without checking if the
+ variable was set.
+
+ Fixed and cleaned up the logic of falling back to $$[QT_INSTALL_HEADERS].
+
+ * WebCore.pro:
+
+2010-06-01 No'am Rosenthal <noam.rosenthal@nokia.com>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ [Qt] GraphicsLayer: warnings when reloading page
+ https://bugs.webkit.org/show_bug.cgi?id=39694
+
+ Made sure recaching and masks aren't attempted on zero-size layers.
+
+ No new tests. Old tests (e.g. LayoutTests/compositing/masks) show the problem.
+
+ * platform/graphics/qt/GraphicsLayerQt.cpp:
+ (WebCore::MaskEffectQt::draw):
+ (WebCore::GraphicsLayerQtImpl::recache):
+
+2010-05-10 Rodrigo Belem <rodrigo.belem@openbossa.org>
+
+ Reviewed by Kenneth Christiansen , Simon Hausmann and Gustavo Noronha.
+
+ [Qt, Gtk] Allows build-webkit script to receive an install prefix as parameter
+ https://bugs.webkit.org/show_bug.cgi?id=26224
+
+ This patch adds the ability, in the QtWebkit build system, to change
+ the installation path.
+
+ * WebCore.pro:
+
+2010-06-01 Simon Hausmann <simon.hausmann@nokia.com>
+
+ Reviewed by Laszlo Gombos.
+
+ [Qt] Fix installation of the QtWebKit module .pri file when building inside of Qt
+
+ * WebCore.pro:
+
+2010-06-01 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
+
+ Reviewed by Simon Hausmann.
+
+ [Qt] Fix a QtWebKit.pc corruption problem.
+ https://bugs.webkit.org/show_bug.cgi?id=36826
+
+ The problem occurs while installing QtWebKit from trunk
+ or a source package.
+
+ * WebCore.pro:
+
+2010-06-01 Simon Hausmann <simon.hausmann@nokia.com>
+
+ Reviewed by Laszlo Gombos.
+
+ [Qt] Fix Symbian package dependencies of apps against QtWebKit when installing into Qt
+
+ Install the versioning qt_webkit_version.pri into $$[QMAKE_MKSPECS]/modules, which is
+ where mkspecs/features/qt.prf expects it.
+
+ * WebCore.pro:
+
+2010-05-17 Andreas Kling <andreas.kling@nokia.com>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ Bring CanvasRenderingContext2D's createImageData() in line with HTML5 spec
+ Added createImageData(ImageData) which returns a new ImageData with the same size as the one passed.
+ Changed createImageData(width, height) to use the absolute values of width and height.
+
+ https://bugs.webkit.org/show_bug.cgi?id=39189
+
+ Spec link:
+ http://www.whatwg.org/specs/web-apps/current-work/#dom-context-2d-createimagedata
+
+ Test: fast/canvas/canvas-createImageData.html
+
+ * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
+ (WebCore::JSCanvasRenderingContext2D::createImageData):
+ * html/canvas/CanvasRenderingContext2D.cpp:
+ (WebCore::CanvasRenderingContext2D::createImageData):
+ * html/canvas/CanvasRenderingContext2D.h:
+ * html/canvas/CanvasRenderingContext2D.idl:
+
+2010-05-16 Andreas Kling <andreas.kling@nokia.com>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ Properly handle invalid arguments to CanvasRenderingContext2D's getImageData() and putImageData().
+ Both should throw NOT_SUPPORTED_ERR when called with nonfinite arguments.
+ getImageData() should throw INDEX_SIZE_ERR if either width or height is 0.
+
+ https://bugs.webkit.org/show_bug.cgi?id=39175
+
+ Spec link:
+ http://www.whatwg.org/specs/web-apps/current-work/#pixel-manipulation
+
+ Test: fast/canvas/canvas-getImageData-invalid.html
+
+ * html/canvas/CanvasRenderingContext2D.cpp:
+ (WebCore::CanvasRenderingContext2D::createImageData):
+ (WebCore::CanvasRenderingContext2D::getImageData):
+ (WebCore::CanvasRenderingContext2D::putImageData):
+
+2010-05-31 Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
+
+ Reviewed by Simon Hausmann.
+
+ [Qt] Escape backslashes in the .pro files
+
+ qmake in Qt 4.7 warns about unescaped backspaces and deprecates them.
+
+ * WebCore.pro:
+
+2010-05-28 Antti Koivisto <koivisto@iki.fi>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ https://bugs.webkit.org/show_bug.cgi?id=39874
+ [Qt] Make tiled backing store more configurable
+
+ Make tile size, tile creation delay and tiling area dynamically configurable.
+
+ * platform/graphics/TiledBackingStore.cpp:
+ (WebCore::TiledBackingStore::TiledBackingStore):
+ (WebCore::TiledBackingStore::setTileSize):
+ (WebCore::TiledBackingStore::setTileCreationDelay):
+ (WebCore::TiledBackingStore::setKeepAndCoverAreaMultipliers):
+ (WebCore::TiledBackingStore::createTiles):
+ * platform/graphics/TiledBackingStore.h:
+ (WebCore::TiledBackingStore::tileSize):
+ (WebCore::TiledBackingStore::tileCreationDelay):
+ (WebCore::TiledBackingStore::getKeepAndCoverAreaMultipliers):
+
+2010-05-28 Andreas Kling <andreas.kling@nokia.com>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ [Qt] REGRESSION(r59837): Incorrect clipping of TransparencyLayers
+ https://bugs.webkit.org/show_bug.cgi?id=39784
+
+ Move coordinate transformation from TransparencyLayer to clipToImageBuffer()
+
+ * platform/graphics/qt/GraphicsContextQt.cpp:
+ (WebCore::TransparencyLayer::TransparencyLayer):
+ (WebCore::GraphicsContext::clipToImageBuffer):
+
+2010-05-13 Antti Koivisto <koivisto@iki.fi>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ https://bugs.webkit.org/show_bug.cgi?id=39063
+ [Qt] Tiled backing store checker pattern does not paint correctly when scaling factor is not 1
+
+ Use the dirty rect that has been adjusted for scaling instead of the original one.
+
+ * platform/graphics/TiledBackingStore.cpp:
+ (WebCore::TiledBackingStore::paint):
+
+2010-05-24 Kenneth Rohde Christiansen <kenneth@webkit.org>
+
+ Reviewed by Simon Hausmann.
+
+ [Qt] Make text filling work together with text stroke.
+
+ When the text has stroke a new QPen was set, overriding the pen
+ set for text filling. This patch fixes that by storing the two
+ pens and using where appropriate.
+
+ * platform/graphics/qt/FontQt.cpp:
+ (WebCore::Font::drawComplexText):
+
+2010-05-17 Antonio Gomes <tonikitoo@webkit.org>
+
+ Reviewed by Darin Adler.
+
+ Add an optional "starting node' parameter to scrollRecursively and scrollOverflow of EventHandler
+ https://bugs.webkit.org/show_bug.cgi?id=39217
+
+ It would be usefull if scrollOverflow and scrollRecursively methods of EventHandler
+ could receive a parameter to specify where to start scrolling from. Currently they
+ start scrolling from either the current focused node or the node where mouse last
+ pressed on. Patch proposes an aditional starting point as an optional parameter.
+ Since it is optional, all call sites can remain as are, and if a Null node is passed
+ in, both methods work as previously.
+
+ * page/EventHandler.cpp:
+ (WebCore::EventHandler::scrollOverflow):
+ (WebCore::EventHandler::scrollRecursively):
+ * page/EventHandler.h:
+
+2010-05-23 Noam Rosenthal <noam.rosenthal@nokia.com>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ [Qt] Using Accelerated Composing the rocket back animation on http://www.the-art-of-web.com/css/css-animation/ works differently as when not using AC.
+ https://bugs.webkit.org/show_bug.cgi?id=39513
+
+ The value of GraphicsLayer->transform() needs to be changed during the animation, regardless of m_fillsForward.
+ m_fillsForward should only apply at the end of the animation. Based on previous patch by Kenneth Christiansen.
+
+ * platform/graphics/qt/GraphicsLayerQt.cpp:
+ (WebCore::TransformAnimationQt::applyFrame):
+ (WebCore::OpacityAnimationQt::applyFrame):
+
+2010-05-25 Kenneth Rohde Christiansen <kenneth.christiansen@openbossa.org>
+
+ Reviewed by Laszlo Gombos.
+
+ [Qt] Running with accelerated compositing enabled sometimes result in a crash
+ https://bugs.webkit.org/show_bug.cgi?id=39609
+
+ Check if we have a scene before applying the workaround for
+ the QGraphicsScene bug where opacity change doesn't always have
+ immediate effect.
+
+ * platform/graphics/qt/GraphicsLayerQt.cpp:
+ (WebCore::OpacityAnimationQt::applyFrame):
+
+2010-05-19 Kenneth Rohde Christiansen <kenneth@webkit.org>
+
+ Reviewed by Simon Hausmann.
+
+ Fix painting when using clipToImageBuffer()
+
+ When we apply the transform of the parent painter to the painter of
+ the transparency layer, we adopt its coordinate system, thus offset
+ should not be in page coordinates, but in the coordinate system of
+ the parent painter.
+
+ * platform/graphics/qt/GraphicsContextQt.cpp:
+ (WebCore::TransparencyLayer::TransparencyLayer):
+
+2010-05-19 Andreas Kling <andreas.kling@nokia.com>
+
+ Reviewed by Simon Hausmann.
+
+ [Qt] REGRESSION: CoolClock isn't rendered properly
+
+ https://bugs.webkit.org/show_bug.cgi?id=38526
+
+ CanvasRenderingContext2D's arc() should connect to the previous point
+ with a straight line (HTML5 spec 4.8.11.1.8), but if the path is empty
+ to begin with, we don't want a line back to (0,0)
+ This also fixes the rendering artifact discussed in bug 36226.
+
+ Spec link:
+ http://www.whatwg.org/specs/web-apps/current-work/#dom-context-2d-arc
+
+ Test: fast/canvas/canvas-arc-connecting-line.html
+
+ * platform/graphics/qt/PathQt.cpp:
+ (WebCore::Path::addArc):
+
+2010-05-18 Kenneth Rohde Christiansen <kenneth@webkit.org>
+
+ Rubberstamped by Simon Hausmann.
+
+ Return null when creating an ImageBuffer failed, due to for
+ instance a nulled pixmap.
+
+ * platform/graphics/qt/ImageBufferQt.cpp:
+ (WebCore::ImageBufferData::ImageBufferData):
+ (WebCore::ImageBuffer::ImageBuffer):
+
+2010-05-17 Antti Koivisto <koivisto@iki.fi>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ https://bugs.webkit.org/show_bug.cgi?id=39218
+ [Qt] Tiled backing store tiles sometimes flicker when exiting a zoom animation
+
+ Tiles sometimes flicker when exiting a zoom animation. This happens as a result
+ of the visible rectangle being momentarily out of sync.
+
+ Instead of updating the visible rect by explicitly setting it, pull it through
+ the client and recompute in the WebKit level.
+
+ * page/ChromeClient.h:
+ (WebCore::ChromeClient::visibleRectForTiledBackingStore):
+ * page/Frame.cpp:
+ (WebCore::Frame::tiledBackingStoreVisibleRect):
+ * page/Frame.h:
+ * platform/graphics/TiledBackingStore.cpp:
+ (WebCore::TiledBackingStore::checkVisibleRectChanged):
+ (WebCore::TiledBackingStore::createTiles):
+ * platform/graphics/TiledBackingStore.h:
+ * platform/graphics/TiledBackingStoreClient.h:
+
+2010-05-18 Zoltan Herczeg <zherczeg@webkit.org>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ [Qt] Implementing clipToImageBuffer for Qt port.
+ https://bugs.webkit.org/show_bug.cgi?id=24289
+
+ The implementation combines pixmap layers and destinationIn
+ composition mode.
+
+ * platform/graphics/qt/GraphicsContextQt.cpp:
+ (WebCore::TransparencyLayer::TransparencyLayer):
+ (WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate):
+ (WebCore::GraphicsContext::savePlatformState):
+ (WebCore::GraphicsContext::restorePlatformState):
+ (WebCore::GraphicsContext::inTransparencyLayer):
+ (WebCore::GraphicsContext::beginTransparencyLayer):
+ (WebCore::GraphicsContext::endTransparencyLayer):
+ (WebCore::GraphicsContext::clipToImageBuffer):
+
+2010-05-16 Andreas Kling <andreas.kling@nokia.com>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ Canvas's toDataURL() should be case insensitive wrt the mimeType argument.
+ https://bugs.webkit.org/show_bug.cgi?id=39153
+
+ Spec link:
+ http://www.whatwg.org/specs/web-apps/current-work/#dom-canvas-todataurl
+
+ Test: fast/canvas/canvas-toDataURL-case-insensitive-mimetype.html
+
+ * dom/CanvasSurface.cpp:
+ (WebCore::CanvasSurface::toDataURL):
+
+2010-05-16 Andreas Kling <andreas.kling@nokia.com>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ Canvas's getContext() must return null when called with an invalid/unsupported parameter.
+ (HTML5 spec 4.8.11): http://www.whatwg.org/specs/web-apps/current-work/multipage/the-canvas-element.html#dom-canvas-getcontext
+
+ https://bugs.webkit.org/show_bug.cgi?id=39150
+
+ Test: fast/canvas/canvas-getContext-invalid.html
+
+ * bindings/js/JSHTMLCanvasElementCustom.cpp:
+ (WebCore::JSHTMLCanvasElement::getContext):
+ * bindings/v8/custom/V8HTMLCanvasElementCustom.cpp:
+ (WebCore::V8HTMLCanvasElement::getContextCallback):
+
+2010-05-17 Kenneth Rohde Christiansen <kenneth@webkit.org>
+
+ Reviewed by Laszlo Gombos.
+
+ REGRESSION(59563): [Qt] JSValue QtClass::fallbackObject can be optimized
+
+ Patch declared a variable index, which shadowed an earlier declared
+ variable.
+
+ * bridge/qt/qt_class.cpp:
+ (JSC::Bindings::QtClass::fallbackObject):
+
+2010-05-14 Noam Rosenthal <noam.rosenthal@nokia.com>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ [Qt] GraphicsLayer caches directly composited images
+ https://bugs.webkit.org/show_bug.cgi?id=38444
+
+ Directly-composited images and solid fills shouldn't be cached, as that cache
+ is never used (see GraphicsLayerQtImpl::paint). Cache is only relevant for HTML content,
+ but we were missing that test.
+ The fix makes sure we only cache HTML content.
+
+ No new tests: this is a minor optimization.
+
+ * platform/graphics/qt/GraphicsLayerQt.cpp:
+ (WebCore::GraphicsLayerQtImpl::flushChanges):
+
+2010-05-15 Anders Bakken <agbakken@gmail.com>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ Don't unnecessarily copy data when searching for methods in QtClass.
+
+ [Qt] JSValue QtClass::fallbackObject can be optimized
+ https://bugs.webkit.org/show_bug.cgi?id=37684
+
+ * bridge/qt/qt_class.cpp:
+ (JSC::Bindings::QtClass::fallbackObject):
+
+2010-05-06 Luiz Agostini <luiz.agostini@openbossa.org>
+
+ Rubber-stamped by Simon Hausmann.
+
+ [Qt] use QT_MOBILE_THEME in Symbian
+ https://bugs.webkit.org/show_bug.cgi?id=38440
+
+ Putting QT_MOBILE_THEME into use for Symbian.
+
+ * WebCore.pro:
+
+2010-05-14 Andreas Kling <andreas.kling@nokia.com>
+
+ Reviewed by Darin Adler.
+
+ CSSParser::parseColor() shouldn't alter 'color' unless passed a valid color string.
+ https://bugs.webkit.org/show_bug.cgi?id=39031
+
+ * css/CSSParser.cpp:
+ (WebCore::CSSParser::parseColor):
+ * editing/ApplyStyleCommand.cpp:
+ (WebCore::StyleChange::extractTextStyles): Don't depend on old behavior.
+ * html/canvas/CanvasRenderingContext2D.cpp:
+ (WebCore::CanvasRenderingContext2D::setShadow): Remove dead code.
+
+2010-05-14 Aaron Kennedy <tffeeb@gmail.com>
+
+ Reviewed by Simon Hausmann.
+
+ [Qt] JavaScript unable to invoke methods declared in QML
+ https://bugs.webkit.org/show_bug.cgi?id=38949
+
+ JavaScript code executed by webkit cannot call into QML declared
+ methods, as it does not check for dynamic meta objects.
+
+ * bridge/qt/qt_instance.cpp:
+ (JSC::Bindings::QtInstance::stringValue): Use QMetaObject::metacall.
+ * bridge/qt/qt_runtime.cpp:
+ (JSC::Bindings::QtRuntimeMetaMethod::call): Ditto.
+
+2010-05-12 Laszlo Gombos <laszlo.1.gombos@nokia.com>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ [Qt] Detect debug mode consistently
+ https://bugs.webkit.org/show_bug.cgi?id=38863
+
+ No new tests as there is no new functionality.
+
+ * WebCore.pro:
+
+2010-05-14 Andreas Kling <andreas.kling@nokia.com>
+
+ Reviewed by Darin Adler.
+
+ Ignore invalid values for various CanvasRenderingContext2D properties
+ (lineWidth, miterLimit, shadowOffsetX, shadowOffsetY and shadowBlur)
+
+ https://bugs.webkit.org/show_bug.cgi?id=38841
+
+ Test: fast/canvas/canvas-invalid-values.html
+
+ * html/canvas/CanvasRenderingContext2D.cpp:
+ (WebCore::CanvasRenderingContext2D::setLineWidth):
+ (WebCore::CanvasRenderingContext2D::setMiterLimit):
+ (WebCore::CanvasRenderingContext2D::setShadowOffsetX):
+ (WebCore::CanvasRenderingContext2D::setShadowOffsetY):
+ (WebCore::CanvasRenderingContext2D::setShadowBlur):
+
+2010-05-12 Noam Rosenthal <noam.rosenthal@nokia.com>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ [Qt] GraphicsLayer: depth-test causes flicker in certain situations
+
+ This patch removes the simplistic 2D depth test as it leads to flickering side effects.
+ https://bugs.webkit.org/show_bug.cgi?id=38370
+
+ Tested by http://webkit.org/blog-files/3d-transforms/morphing-cubes.html
+
+ * platform/graphics/qt/GraphicsLayerQt.cpp:
+ (WebCore::GraphicsLayerQtImpl::updateTransform):
+
+2010-04-29 James Robinson <jamesr@chromium.org>
+
+ Reviewed by Simon Fraser.
+
+ Calls FrameView::scrollPositionChanged whenever a ScrollView is scrolled
+ https://bugs.webkit.org/show_bug.cgi?id=38286
+
+ When a ScrollView's scroll position is changed, we have to call
+ FrameView::scrollPositionChanged to generate repaint invalidation for
+ fixed position elements. This ends up getting called indirectly when
+ the ScrollView has a platformWidget through the port layer
+ (see WebHTMLView.mm's _frameOrBoundsChanged method for how the mac
+ port does it) but not when there is no platformWidget.
+
+ This is tested by the fast/repaint/fixed-* tests when run in pixel
+ mode.
+
+ Test: fast/repaint/fixed-move-after-keyboard-scroll.html
+
+ * page/FrameView.h:
+ * platform/ScrollView.cpp:
+ (WebCore::ScrollView::valueChanged):
+ * platform/ScrollView.h:
+ (WebCore::ScrollView::scrollPositionChanged):
+
+2010-04-23 Kenneth Rohde Christiansen <kenneth@webkit.org>
+
+ Unreviewed build fix.
+
+ Change Media to StyleMedia
+
+ * DerivedSources.make:
+
+2010-04-22 Kenneth Rohde Christiansen <kenneth@webkit.org>
+
+ Reviewed by Laszlo Gombos.
+
+ Rename window.media to window.styleMedia
+ https://bugs.webkit.org/show_bug.cgi?id=36187
+
+ Rename the interface Media to StyleMedia as required by the
+ new CSSOM View spec.
+
+ * Android.derived.jscbindings.mk:
+ * Android.derived.v8bindings.mk:
+ * GNUmakefile.am:
+ * WebCore.gypi:
+ * WebCore.pri:
+ * WebCore.pro:
+ * WebCore.vcproj/WebCore.vcproj:
+ * WebCore.xcodeproj/project.pbxproj:
+ * css/Media.cpp: Removed.
+ * css/Media.h: Removed.
+ * css/Media.idl: Removed.
+ * css/StyleMedia.cpp: Added.
+ (WebCore::StyleMedia::StyleMedia):
+ (WebCore::StyleMedia::type):
+ (WebCore::StyleMedia::matchMedium):
+ * css/StyleMedia.h: Added.
+ (WebCore::StyleMedia::create):
+ (WebCore::StyleMedia::disconnectFrame):
+ * css/StyleMedia.idl: Added.
+ * page/DOMWindow.cpp:
+ (WebCore::DOMWindow::styleMedia):
+ * page/DOMWindow.h:
+ (WebCore::DOMWindow::optionalMedia):
+ * page/DOMWindow.idl:
+
+2010-04-22 Kenneth Rohde Christiansen <kenneth@webkit.org>
+
+ Reviewed by Simon Fraser.
+
+ Rename window.media to window.styleMedia
+ https://bugs.webkit.org/show_bug.cgi?id=36187
+
+ It has been defined that the AbstractView media extension
+ defined in the CSSOM View spec should be renamed to styleMedia.
+ This patch does that and updates the current layout tests
+ making use of it.
+
+ * page/AbstractView.idl:
+ * page/DOMWindow.cpp:
+ (WebCore::DOMWindow::styleMedia):
+ * page/DOMWindow.h:
+ * page/DOMWindow.idl:
+
+2010-05-11 Benjamin Poulain <benjamin.poulain@nokia.com>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ [Qt] fast/text/find-hidden-text.html
+ https://bugs.webkit.org/show_bug.cgi?id=32922
+
+ Use the real page step for populating the QStyleOption otherwhise
+ the size can be negative, which can break the QStyle used.
+
+ * platform/qt/ScrollbarThemeQt.cpp:
+ (WebCore::styleOptionSlider):
+
+2010-05-03 Antonio Gomes <tonikitoo@webkit.org>
+
+ Reviewed by Kenneth Christiansen.
+
+ Spatial Navigation: create a getter for the "fudgeFactor"
+ https://bugs.webkit.org/show_bug.cgi?id=38488
+
+ A couple of places in the Spatial Navigation code make use of a "fudge factor"
+ to improve precision by working around outline focus metrics and such. Patch adds
+ a helper method for unify getter operations of this value, instead of having it
+ declared locally in the various methods it is used.
+
+ No behaviour change.
+
+ * page/SpatialNavigation.cpp:
+ (WebCore::scrollIntoView):
+ (WebCore::deflateIfOverlapped):
+ * page/SpatialNavigation.h:
+ (WebCore::fudgeFactor):
+
+2010-05-10 Markus Goetz <Markus.Goetz@nokia.com>
+
+ Reviewed by Simon Hausmann.
+
+ Qt after 4.6.3 has its integrated DNS cache. Therefore some
+ code is not necessary anymore.
+
+ https://bugs.webkit.org/show_bug.cgi?id=38834
+
+ * platform/network/qt/DnsPrefetchHelper.h:
+ (WebCore::DnsPrefetchHelper::lookup):
+ (WebCore::DnsPrefetchHelper::lookedUp):
+
+2010-05-06 Laszlo Gombos <laszlo.1.gombos@nokia.com>
+
+ Unreviewed, build fix WinCE for QtWebKit.
+
+ [Qt] Compilation with Plugins disabled is broken
+ https://bugs.webkit.org/show_bug.cgi?id=31407
+
+ Rename platform/qt/TemporaryLinkStubs.cpp to avoid name collition on
+ Windows.
+
+ Thanks for Ismail "cartman" Donmez for help.
+
+ No new tests, as there is no new functionality.
+
+ * WebCore.gypi:
+ * WebCore.pro:
+ * platform/qt/TemporaryLinkStubs.cpp: Removed.
+ * platform/qt/TemporaryLinkStubsQt.cpp: Copied from WebCore/platform/qt/TemporaryLinkStubs.cpp.
+
+2010-04-23 Qi Zhang <qi.2.zhang@nokia.com>
+
+ Reviewed by Laszlo Gombos.
+
+ [Qt] LayoutTests/fast/canvas/pointInPath.html passed, actually it failed
+ https://bugs.webkit.org/show_bug.cgi?id=37276
+
+ QPainterPath::contains doesn't count the point on the bound.
+
+ * platform/graphics/qt/PathQt.cpp:
+ (WebCore::isPointOnPathBorder):
+ (WebCore::Path::contains):
+
+2010-05-07 Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
+
+ Reviewed by Simon Hausmann.
+
+ [Qt] Fix rendering of -webkit-user-select: none
+
+ -webkit-user-select: none is implemented by filling
+ the area with an invalid default-constructed Color.
+ In most ports passing an invalid color down to the
+ graphics backend seems to produce transparent fills.
+
+ In Qt the behavior of painting with an invalid QColor
+ is undefined, and in practice it results in painting
+ black opaque areas.
+
+ One way to fix this would be to use Qt::transparent
+ when converting an undefined Color to a QColor, but
+ Qt does not have short circuits for fully transparent
+ painting, and we actually end up in slow code paths
+ due to the transparency. So, we're better of doing the
+ short circuit in WebKit.
+
+ https://bugs.webkit.org/show_bug.cgi?id=38523
+
+ * platform/graphics/qt/GraphicsContextQt.cpp:
+
+2010-04-05 Robert Hogan <robert@webkit.org>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ [Qt] Fix infinite redirection loop in QNetworkReplyHandler
+
+ Put a maximum on consecutive redirections so we don't have to
+ worry about whether it's the same url or not.
+
+ Tolerate up to 10 consecutive redirections, anything beyond
+ that is considered a potentially infinite recursion in the
+ redirection requests. This is the same behaviour as Firefox.
+
+ https://bugs.webkit.org/show_bug.cgi?id=37097
+
+ * platform/network/qt/QNetworkReplyHandler.cpp:
+ (WebCore::QNetworkReplyHandler::QNetworkReplyHandler):
+ (WebCore::QNetworkReplyHandler::sendResponseIfNeeded):
+ * platform/network/qt/QNetworkReplyHandler.h:
+
+2010-04-05 Robert Hogan <robert@webkit.org>
+
+ Reviewed by Kenneth Rohde-Christiansen.
+
+ [Qt] Fix infinite redirection loop in QNetworkReplyHandler
+
+ Qt enters an infinite loop if a redirect response redirects to itself.
+
+ Fixes http/tests/xmlhttprequest/connection-error-sync.html
+
+ https://bugs.webkit.org/show_bug.cgi?id=37097
+
+ * platform/network/qt/QNetworkReplyHandler.cpp:
+ (WebCore::QNetworkReplyHandler::sendResponseIfNeeded):
+
+2010-05-07 Ben Murdoch <benm@google.com>
+
+ Reviewed by Darin Adler.
+
+ Potential crash in EventHandler::handleTouchEvent
+ https://bugs.webkit.org/show_bug.cgi?id=38646
+
+ Fix a ref counting bug that can cause a crash if the m_originatingouchPointTargets
+ hashmap holds the last ref to an EventTarget when the user lifts their finger.
+
+ This is very hard to reproduce in a consistent way and clearly a
+ simple logic error in the code, therefore no new tests.
+
+ * page/EventHandler.cpp:
+ (WebCore::EventHandler::handleTouchEvent): Don't let the RefPtr we get back from
+ the hasmap go out of scope so soon as it could delete the wrapped ptr if the
+ hashmap held the last ref (and we use the raw ptr that the RefPtr
+ wraps later in the WebCore::Touch constructor).
+
+2010-05-04 Ben Murdoch <benm@google.com>
+
+ Reviewed by Simon Hausmann.
+
+ Crash in handleTouchEvent: using dangling node ptrs in hashmap
+ https://bugs.webkit.org/show_bug.cgi?id=38514
+
+ When navigating away from a page, if you have your finger still
+ pressed and then lift it on the new page we see a crash if the
+ node got deleted as we still have a dangling pointer in the
+ m_originatingTouchPointTargets hashmap and try to use it as the
+ receiver to dispatch a touchend event.
+
+ Test: fast/events/touch/touch-stale-node-crash.html
+
+ * page/EventHandler.cpp:
+ (WebCore::EventHandler::clear): Clear the hashmap of touch targets.
+
2010-05-04 Luiz Agostini <luiz.agostini@openbossa.org>
Reviewed by Simon Hausmann.
diff --git a/src/3rdparty/webkit/WebCore/WebCore.gypi b/src/3rdparty/webkit/WebCore/WebCore.gypi
index caa79f292b..94a6052b03 100644
--- a/src/3rdparty/webkit/WebCore/WebCore.gypi
+++ b/src/3rdparty/webkit/WebCore/WebCore.gypi
@@ -18,10 +18,10 @@
'css/CSSVariablesDeclaration.idl',
'css/CSSVariablesRule.idl',
'css/Counter.idl',
- 'css/Media.idl',
'css/MediaList.idl',
- 'css/RGBColor.idl',
'css/Rect.idl',
+ 'css/RGBColor.idl',
+ 'css/StyleMedia.idl',
'css/StyleSheet.idl',
'css/StyleSheetList.idl',
'css/WebKitCSSKeyframeRule.idl',
@@ -1003,33 +1003,33 @@
'css/FontValue.h',
'css/MediaFeatureNames.cpp',
'css/MediaFeatureNames.h',
- 'css/Media.cpp',
- 'css/Media.h',
'css/MediaList.cpp',
'css/MediaList.h',
'css/MediaQuery.cpp',
- 'css/MediaQuery.h',
'css/MediaQueryEvaluator.cpp',
'css/MediaQueryEvaluator.h',
'css/MediaQueryExp.cpp',
'css/MediaQueryExp.h',
+ 'css/MediaQuery.h',
'css/Pair.h',
'css/Rect.h',
'css/RGBColor.cpp',
'css/RGBColor.h',
- 'css/SVGCSSComputedStyleDeclaration.cpp',
- 'css/SVGCSSParser.cpp',
- 'css/SVGCSSStyleSelector.cpp',
'css/ShadowValue.cpp',
'css/ShadowValue.h',
'css/StyleBase.cpp',
'css/StyleBase.h',
'css/StyleList.cpp',
'css/StyleList.h',
+ 'css/StyleMedia.cpp',
+ 'css/StyleMedia.h',
'css/StyleSheet.cpp',
'css/StyleSheet.h',
'css/StyleSheetList.cpp',
'css/StyleSheetList.h',
+ 'css/SVGCSSComputedStyleDeclaration.cpp',
+ 'css/SVGCSSParser.cpp',
+ 'css/SVGCSSStyleSelector.cpp',
'css/WebKitCSSKeyframeRule.cpp',
'css/WebKitCSSKeyframeRule.h',
'css/WebKitCSSKeyframesRule.cpp',
@@ -2640,7 +2640,7 @@
'platform/qt/SharedBufferQt.cpp',
'platform/qt/SharedTimerQt.cpp',
'platform/qt/SoundQt.cpp',
- 'platform/qt/TemporaryLinkStubs.cpp',
+ 'platform/qt/TemporaryLinkStubsQt.cpp',
'platform/qt/WheelEventQt.cpp',
'platform/qt/WidgetQt.cpp',
'platform/sql/SQLValue.cpp',
@@ -2920,7 +2920,7 @@
'plugins/gtk/xembed.h',
'plugins/mac/PluginDataMac.mm',
'plugins/mac/PluginPackageMac.cpp',
- 'plugins/mac/PluginViewMac.cpp',
+ 'plugins/mac/PluginViewMac.mm',
'plugins/qt/PluginDataQt.cpp',
'plugins/qt/PluginPackageQt.cpp',
'plugins/qt/PluginViewQt.cpp',
diff --git a/src/3rdparty/webkit/WebCore/WebCore.pri b/src/3rdparty/webkit/WebCore/WebCore.pri
index ad514a222a..97ae5261c0 100644
--- a/src/3rdparty/webkit/WebCore/WebCore.pri
+++ b/src/3rdparty/webkit/WebCore/WebCore.pri
@@ -101,18 +101,19 @@ greaterThan(QT_MINOR_VERSION, 5) {
DEFINES += ENABLE_XSLT=0
}
-!CONFIG(QTDIR_build):!contains(DEFINES, ENABLE_QT_BEARER=.) {
- symbian: {
- exists($${EPOCROOT}epoc32/release/winscw/udeb/QtBearer.lib)| \
- exists($${EPOCROOT}epoc32/release/armv5/lib/QtBearer.lib) {
+# Bearer management is part of Qt 4.7
+# for older version, check for mobility with bearer
+!contains(DEFINES, ENABLE_QT_BEARER=.) {
+ !lessThan(QT_MINOR_VERSION, 7) {
+ DEFINES += ENABLE_QT_BEARER=1
+ } else {
+ load(mobilityconfig, true)
+ contains(MOBILITY_CONFIG, bearer) {
DEFINES += ENABLE_QT_BEARER=1
}
}
}
-# Bearer management is part of Qt 4.7
-!lessThan(QT_MINOR_VERSION, 7):!contains(DEFINES, ENABLE_QT_BEARER=.):DEFINES += ENABLE_QT_BEARER=1
-
# Enable touch event support with Qt 4.6
!lessThan(QT_MINOR_VERSION, 6): DEFINES += ENABLE_TOUCH_EVENTS=1
@@ -227,10 +228,10 @@ IDL_BINDINGS += \
css/CSSValueList.idl \
css/CSSVariablesDeclaration.idl \
css/CSSVariablesRule.idl \
- css/Media.idl \
css/MediaList.idl \
- css/RGBColor.idl \
css/Rect.idl \
+ css/RGBColor.idl \
+ css/StyleMedia.idl \
css/StyleSheet.idl \
css/StyleSheetList.idl \
css/WebKitCSSKeyframeRule.idl \
@@ -593,6 +594,7 @@ contains(DEFINES, ENABLE_SVG=1) {
# GENERATOR 5-C:
svgnames.output = $${WC_GENERATED_SOURCES_DIR}/SVGNames.cpp
svgnames.input = SVG_NAMES
+ svgnames.depends = $$PWD/svg/svgattrs.in
svgnames.wkScript = $$PWD/dom/make_names.pl
svgnames.commands = perl -I$$PWD/bindings/scripts $$svgnames.wkScript --tags $$PWD/svg/svgtags.in --attrs $$PWD/svg/svgattrs.in --extraDefines \"$${DEFINES}\" --preprocessor \"$${QMAKE_MOC} -E\" --factory --wrapperFactory --outputDir $$WC_GENERATED_SOURCES_DIR
svgnames.wkExtraSources = $${WC_GENERATED_SOURCES_DIR}/SVGElementFactory.cpp $${WC_GENERATED_SOURCES_DIR}/JSSVGElementWrapperFactory.cpp
diff --git a/src/3rdparty/webkit/WebCore/WebCore.pro b/src/3rdparty/webkit/WebCore/WebCore.pro
index d6a97a2a28..afb1bcdf7a 100644
--- a/src/3rdparty/webkit/WebCore/WebCore.pro
+++ b/src/3rdparty/webkit/WebCore/WebCore.pro
@@ -60,7 +60,7 @@ CONFIG(standalone_package) {
isEmpty(WC_GENERATED_SOURCES_DIR):WC_GENERATED_SOURCES_DIR = generated
isEmpty(JSC_GENERATED_SOURCES_DIR):JSC_GENERATED_SOURCES_DIR = ../JavaScriptCore/generated
- CONFIG(debug, debug|release) {
+ !CONFIG(release, debug|release) {
OBJECTS_DIR = obj/debug
} else { # Release
OBJECTS_DIR = obj/release
@@ -75,7 +75,8 @@ CONFIG(QTDIR_build) {
!static: DEFINES += QT_MAKEDLL
symbian: TARGET =$$TARGET$${QT_LIBINFIX}
}
-include($$PWD/../WebKit/qt/qtwebkit_version.pri)
+moduleFile=$$PWD/../WebKit/qt/qt_webkit_version.pri
+include($$moduleFile)
VERSION = $${QT_WEBKIT_MAJOR_VERSION}.$${QT_WEBKIT_MINOR_VERSION}.$${QT_WEBKIT_PATCH_VERSION}
unix {
@@ -103,7 +104,7 @@ win32-msvc2005|win32-msvc2008:{
}
# Pick up 3rdparty libraries from INCLUDE/LIB just like with MSVC
-win32-g++ {
+win32-g++* {
TMPPATH = $$quote($$(INCLUDE))
QMAKE_INCDIR_POST += $$split(TMPPATH,";")
TMPPATH = $$quote($$(LIB))
@@ -126,7 +127,7 @@ maemo5|symbian|embedded {
DEFINES += ENABLE_FAST_MOBILE_SCROLLING=1
}
-maemo5 {
+maemo5|symbian {
DEFINES += WTF_USE_QT_MOBILE_THEME=1
}
@@ -160,7 +161,7 @@ defineTest(addExtraCompiler) {
for(file,input) {
base = $$basename(file)
- base ~= s/\..+//
+ base ~= s/\\..+//
newfile=$$replace(outputRule,\\$\\{QMAKE_FILE_BASE\\},$$base)
SOURCES += $$newfile
}
@@ -432,7 +433,6 @@ SOURCES += \
css/FontFamilyValue.cpp \
css/FontValue.cpp \
css/MediaFeatureNames.cpp \
- css/Media.cpp \
css/MediaList.cpp \
css/MediaQuery.cpp \
css/MediaQueryEvaluator.cpp \
@@ -441,6 +441,7 @@ SOURCES += \
css/ShadowValue.cpp \
css/StyleBase.cpp \
css/StyleList.cpp \
+ css/StyleMedia.cpp \
css/StyleSheet.cpp \
css/StyleSheetList.cpp \
css/WebKitCSSKeyframeRule.cpp \
@@ -1146,7 +1147,6 @@ HEADERS += \
css/FontFamilyValue.h \
css/FontValue.h \
css/MediaFeatureNames.h \
- css/Media.h \
css/MediaList.h \
css/MediaQueryEvaluator.h \
css/MediaQueryExp.h \
@@ -1155,6 +1155,7 @@ HEADERS += \
css/ShadowValue.h \
css/StyleBase.h \
css/StyleList.h \
+ css/StyleMedia.h \
css/StyleSheet.h \
css/StyleSheetList.h \
css/WebKitCSSKeyframeRule.h \
@@ -2082,7 +2083,7 @@ SOURCES += \
platform/qt/SoundQt.cpp \
platform/qt/LoggingQt.cpp \
platform/text/qt/StringQt.cpp \
- platform/qt/TemporaryLinkStubs.cpp \
+ platform/qt/TemporaryLinkStubsQt.cpp \
platform/text/qt/TextBoundariesQt.cpp \
platform/text/qt/TextBreakIteratorQt.cpp \
platform/text/qt/TextCodecQt.cpp \
@@ -2166,7 +2167,7 @@ contains(DEFINES, ENABLE_NETSCAPE_PLUGIN_API=1) {
mac {
SOURCES += \
plugins/mac/PluginPackageMac.cpp \
- plugins/mac/PluginViewMac.cpp
+ plugins/mac/PluginViewMac.mm
OBJECTIVE_SOURCES += \
platform/text/mac/StringImplMac.mm \
platform/mac/WebCoreNSStringExtras.mm
@@ -2496,8 +2497,12 @@ contains(DEFINES, ENABLE_QT_BEARER=1) {
SOURCES += \
platform/network/qt/NetworkStateNotifierQt.cpp
- CONFIG += mobility
- MOBILITY += bearer
+ # Bearer management is part of Qt 4.7, so don't accidentially
+ # pull in Qt Mobility when building against >= 4.7
+ !greaterThan(QT_MINOR_VERSION, 6) {
+ CONFIG += mobility
+ MOBILITY += bearer
+ }
}
contains(DEFINES, ENABLE_SVG=1) {
@@ -2847,18 +2852,34 @@ HEADERS += $$WEBKIT_API_HEADERS
!symbian {
headers.files = $$WEBKIT_INSTALL_HEADERS
- headers.path = $$[QT_INSTALL_HEADERS]/QtWebKit
- target.path = $$[QT_INSTALL_LIBS]
- INSTALLS += target headers
+ !isEmpty(INSTALL_HEADERS): headers.path = $$INSTALL_HEADERS/QtWebKit
+ else: headers.path = $$[QT_INSTALL_HEADERS]/QtWebKit
+
+ !isEmpty(INSTALL_LIBS): target.path = $$INSTALL_LIBS
+ else: target.path = $$[QT_INSTALL_LIBS]
+
+ modfile.files = $$moduleFile
+ modfile.path = $$[QMAKE_MKSPECS]/modules
+
+ INSTALLS += target headers modfile
} else {
# INSTALLS is not implemented in qmake's s60 generators, copy headers manually
inst_headers.commands = $$QMAKE_COPY ${QMAKE_FILE_NAME} ${QMAKE_FILE_OUT}
inst_headers.input = WEBKIT_INSTALL_HEADERS
- inst_headers.output = $$[QT_INSTALL_HEADERS]/QtWebKit/${QMAKE_FILE_BASE}${QMAKE_FILE_EXT}
+
+ !isEmpty(INSTALL_HEADERS): inst_headers.output = $$INSTALL_HEADERS/QtWebKit/${QMAKE_FILE_BASE}${QMAKE_FILE_EXT}
+ else: inst_headers.output = $$[QT_INSTALL_HEADERS]/QtWebKit/${QMAKE_FILE_BASE}${QMAKE_FILE_EXT}
+
QMAKE_EXTRA_COMPILERS += inst_headers
- install.depends += compiler_inst_headers_make_all
+ inst_modfile.commands = $$inst_headers.commands
+ inst_modfile.input = moduleFile
+ inst_modfile.output = $$[QMAKE_MKSPECS]/modules
+
+ QMAKE_EXTRA_COMPILERS += inst_modfile
+
+ install.depends += compiler_inst_headers_make_all compiler_inst_modfile_make_all
QMAKE_EXTRA_TARGETS += install
}
@@ -2876,7 +2897,7 @@ HEADERS += $$WEBKIT_API_HEADERS
QMAKE_PKGCONFIG_LIBDIR = $$target.path
QMAKE_PKGCONFIG_INCDIR = $$headers.path
QMAKE_PKGCONFIG_DESTDIR = pkgconfig
- lib_replace.match = $$DESTDIR
+ lib_replace.match = $$re_escape($$DESTDIR)
lib_replace.replace = $$[QT_INSTALL_LIBS]
QMAKE_PKGCONFIG_INSTALL_REPLACE += lib_replace
}
@@ -2910,7 +2931,7 @@ CONFIG(QTDIR_build) {
CONFIG += no_debug_info
}
-!win32-g++:win32:contains(QMAKE_HOST.arch, x86_64):{
+win32:!win32-g++*:contains(QMAKE_HOST.arch, x86_64):{
asm_compiler.commands = ml64 /c
asm_compiler.commands += /Fo ${QMAKE_FILE_OUT} ${QMAKE_FILE_IN}
asm_compiler.output = ${QMAKE_VAR_OBJECTS_DIR}${QMAKE_FILE_BASE}$${first(QMAKE_EXT_OBJ)}
diff --git a/src/3rdparty/webkit/WebCore/bindings/js/JSCanvasRenderingContext2DCustom.cpp b/src/3rdparty/webkit/WebCore/bindings/js/JSCanvasRenderingContext2DCustom.cpp
index a27192305e..0254d0fea6 100644
--- a/src/3rdparty/webkit/WebCore/bindings/js/JSCanvasRenderingContext2DCustom.cpp
+++ b/src/3rdparty/webkit/WebCore/bindings/js/JSCanvasRenderingContext2DCustom.cpp
@@ -361,6 +361,24 @@ JSValue JSCanvasRenderingContext2D::createPattern(ExecState* exec, const ArgList
return jsUndefined();
}
+JSValue JSCanvasRenderingContext2D::createImageData(ExecState* exec, const ArgList& args)
+{
+ // createImageData has two variants
+ // createImageData(ImageData)
+ // createImageData(width, height)
+ CanvasRenderingContext2D* context = static_cast<CanvasRenderingContext2D*>(impl());
+ RefPtr<ImageData> imageData = 0;
+
+ ExceptionCode ec = 0;
+ if (args.size() == 1)
+ imageData = context->createImageData(toImageData(args.at(0)), ec);
+ else if (args.size() == 2)
+ imageData = context->createImageData(args.at(0).toFloat(exec), args.at(1).toFloat(exec), ec);
+
+ setDOMException(exec, ec);
+ return toJS(exec, globalObject(), WTF::getPtr(imageData));
+}
+
JSValue JSCanvasRenderingContext2D::putImageData(ExecState* exec, const ArgList& args)
{
// putImageData has two variants
diff --git a/src/3rdparty/webkit/WebCore/bindings/js/JSCustomSQLStatementErrorCallback.cpp b/src/3rdparty/webkit/WebCore/bindings/js/JSCustomSQLStatementErrorCallback.cpp
index 4d5de79650..61785092bf 100644
--- a/src/3rdparty/webkit/WebCore/bindings/js/JSCustomSQLStatementErrorCallback.cpp
+++ b/src/3rdparty/webkit/WebCore/bindings/js/JSCustomSQLStatementErrorCallback.cpp
@@ -77,7 +77,7 @@ bool JSCustomSQLStatementErrorCallback::handleEvent(SQLTransaction* transaction,
// Therefore an exception and returning true are the same thing - so, return true on an exception
return true;
}
- return !result.isFalse();
+ return result.toBoolean(exec);
}
}
diff --git a/src/3rdparty/webkit/WebCore/bindings/js/JSHTMLCanvasElementCustom.cpp b/src/3rdparty/webkit/WebCore/bindings/js/JSHTMLCanvasElementCustom.cpp
index 80634f7c57..8f241f9b56 100644
--- a/src/3rdparty/webkit/WebCore/bindings/js/JSHTMLCanvasElementCustom.cpp
+++ b/src/3rdparty/webkit/WebCore/bindings/js/JSHTMLCanvasElementCustom.cpp
@@ -78,7 +78,10 @@ JSValue JSHTMLCanvasElement::getContext(ExecState* exec, const ArgList& args)
}
}
#endif
- return toJS(exec, globalObject(), WTF::getPtr(canvas->getContext(contextId, attrs.get())));
+ CanvasRenderingContext* context = canvas->getContext(contextId, attrs.get());
+ if (!context)
+ return jsNull();
+ return toJS(exec, globalObject(), WTF::getPtr(context));
}
} // namespace WebCore
diff --git a/src/3rdparty/webkit/WebCore/bridge/qt/qt_class.cpp b/src/3rdparty/webkit/WebCore/bridge/qt/qt_class.cpp
index cfd74d9388..2e1f6e6dd7 100644
--- a/src/3rdparty/webkit/WebCore/bridge/qt/qt_class.cpp
+++ b/src/3rdparty/webkit/WebCore/bridge/qt/qt_class.cpp
@@ -98,10 +98,12 @@ JSValue QtClass::fallbackObject(ExecState* exec, Instance* inst, const Identifie
if (m.access() == QMetaMethod::Private)
continue;
- QByteArray signature = m.signature();
- signature.truncate(signature.indexOf('('));
+ int iter = 0;
+ const char* signature = m.signature();
+ while (signature[iter] && signature[iter] != '(')
+ ++iter;
- if (normal == signature) {
+ if (normal == QByteArray::fromRawData(signature, iter)) {
QtRuntimeMetaMethod* val = new (exec) QtRuntimeMetaMethod(exec, identifier, static_cast<QtInstance*>(inst), index, normal, false);
qtinst->m_methods.insert(name, val);
return val;
diff --git a/src/3rdparty/webkit/WebCore/bridge/qt/qt_instance.cpp b/src/3rdparty/webkit/WebCore/bridge/qt/qt_instance.cpp
index f6f368be80..d40ab0b716 100644
--- a/src/3rdparty/webkit/WebCore/bridge/qt/qt_instance.cpp
+++ b/src/3rdparty/webkit/WebCore/bridge/qt/qt_instance.cpp
@@ -287,7 +287,7 @@ JSValue QtInstance::stringValue(ExecState* exec) const
void * qargs[1];
qargs[0] = ret.data();
- if (obj->qt_metacall(QMetaObject::InvokeMetaMethod, index, qargs) < 0) {
+ if (QMetaObject::metacall(obj, QMetaObject::InvokeMetaMethod, index, qargs) < 0) {
if (ret.isValid() && ret.canConvert(QVariant::String)) {
buf = ret.toString().toLatin1().constData(); // ### Latin 1? Ascii?
useDefault = false;
diff --git a/src/3rdparty/webkit/WebCore/bridge/qt/qt_pixmapruntime.cpp b/src/3rdparty/webkit/WebCore/bridge/qt/qt_pixmapruntime.cpp
index 803316d78f..3e6197f0af 100644
--- a/src/3rdparty/webkit/WebCore/bridge/qt/qt_pixmapruntime.cpp
+++ b/src/3rdparty/webkit/WebCore/bridge/qt/qt_pixmapruntime.cpp
@@ -346,10 +346,17 @@ returnEmptyVariant:
return QVariant::fromValue<QImage>(QImage());
return QVariant();
}
-JSObject* QtPixmapInstance::createRuntimeObject(ExecState* exec, PassRefPtr<RootObject> root, const QVariant& data)
+
+RuntimeObject* QtPixmapInstance::newRuntimeObject(ExecState* exec)
+{
+ return new(exec) QtPixmapRuntimeObject(exec, this);
+}
+
+JSObject* QtPixmapInstance::createPixmapRuntimeObject(ExecState* exec, PassRefPtr<RootObject> root, const QVariant& data)
{
JSLock lock(SilenceAssertionsOnly);
- return new(exec) QtPixmapRuntimeObject(exec, new QtPixmapInstance(root, data));
+ QtPixmapInstance* instance = new QtPixmapInstance(root, data);
+ return instance->createRuntimeObject(exec);
}
bool QtPixmapInstance::canHandle(QMetaType::Type hint)
diff --git a/src/3rdparty/webkit/WebCore/bridge/qt/qt_pixmapruntime.h b/src/3rdparty/webkit/WebCore/bridge/qt/qt_pixmapruntime.h
index a0e0e26849..de1bcee86e 100644
--- a/src/3rdparty/webkit/WebCore/bridge/qt/qt_pixmapruntime.h
+++ b/src/3rdparty/webkit/WebCore/bridge/qt/qt_pixmapruntime.h
@@ -42,7 +42,8 @@ public:
int height() const;
QPixmap toPixmap();
QImage toImage();
- static JSObject* createRuntimeObject(ExecState*, PassRefPtr<RootObject>, const QVariant&);
+ RuntimeObject* newRuntimeObject(ExecState* exec);
+ static JSObject* createPixmapRuntimeObject(ExecState*, PassRefPtr<RootObject>, const QVariant&);
static QVariant variantFromObject(JSObject*, QMetaType::Type hint);
static bool canHandle(QMetaType::Type hint);
};
diff --git a/src/3rdparty/webkit/WebCore/bridge/qt/qt_runtime.cpp b/src/3rdparty/webkit/WebCore/bridge/qt/qt_runtime.cpp
index 17758154a9..a39dc7a4de 100644
--- a/src/3rdparty/webkit/WebCore/bridge/qt/qt_runtime.cpp
+++ b/src/3rdparty/webkit/WebCore/bridge/qt/qt_runtime.cpp
@@ -877,7 +877,7 @@ JSValue convertQVariantToValue(ExecState* exec, PassRefPtr<RootObject> root, con
}
if (QtPixmapInstance::canHandle(static_cast<QMetaType::Type>(variant.type())))
- return QtPixmapInstance::createRuntimeObject(exec, root, variant);
+ return QtPixmapInstance::createPixmapRuntimeObject(exec, root, variant);
if (type == qMetaTypeId<QWebElement>()) {
if (!root->globalObject()->inherits(&JSDOMWindow::s_info))
@@ -1397,7 +1397,7 @@ JSValue QtRuntimeMetaMethod::call(ExecState* exec, JSObject* functionObject, JSV
int methodIndex;
JSObject* errorObj = 0;
if ((methodIndex = findMethodIndex(exec, obj->metaObject(), d->m_signature, d->m_allowPrivate, args, vargs, (void **)qargs, &errorObj)) != -1) {
- if (obj->qt_metacall(QMetaObject::InvokeMetaMethod, methodIndex, qargs) >= 0)
+ if (QMetaObject::metacall(obj, QMetaObject::InvokeMetaMethod, methodIndex, qargs) >= 0)
return jsUndefined();
if (vargs[0].isValid())
diff --git a/src/3rdparty/webkit/WebCore/css/CSSParser.cpp b/src/3rdparty/webkit/WebCore/css/CSSParser.cpp
index 214fc5149f..a5a8b5ccff 100644
--- a/src/3rdparty/webkit/WebCore/css/CSSParser.cpp
+++ b/src/3rdparty/webkit/WebCore/css/CSSParser.cpp
@@ -279,7 +279,6 @@ bool CSSParser::parseValue(CSSMutableStyleDeclaration* declaration, int id, cons
// possible to set up a default color.
bool CSSParser::parseColor(RGBA32& color, const String& string, bool strict)
{
- color = 0;
CSSParser parser(true);
// First try creating a color specified by name or the "#" syntax.
diff --git a/src/3rdparty/webkit/WebCore/css/Media.cpp b/src/3rdparty/webkit/WebCore/css/Media.cpp
deleted file mode 100644
index e238602c90..0000000000
--- a/src/3rdparty/webkit/WebCore/css/Media.cpp
+++ /dev/null
@@ -1,77 +0,0 @@
-/*
- * Copyright (C) 2009 Apple Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY APPLE COMPUTER, INC. ``AS IS'' AND ANY
- * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE COMPUTER, INC. OR
- * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
- * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
- * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
- * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#include "config.h"
-
-#include "Media.h"
-#include "CSSStyleSelector.h"
-#include "Frame.h"
-#include "FrameView.h"
-#include "MediaList.h"
-#include "MediaQueryEvaluator.h"
-
-namespace WebCore {
-
-Media::Media(Frame* frame)
- : m_frame(frame)
-{
-}
-
-String Media::type() const
-{
- FrameView* view = m_frame ? m_frame->view() : 0;
- if (view)
- return view->mediaType();
-
- return String();
-}
-
-bool Media::matchMedium(const String& query) const
-{
- if (!m_frame)
- return false;
-
- Document* document = m_frame->document();
- ASSERT(document);
- Element* documentElement = document->documentElement();
- ASSERT(documentElement);
-
- CSSStyleSelector* styleSelector = document->styleSelector();
- if (!styleSelector)
- return false;
-
- RefPtr<RenderStyle> rootStyle = styleSelector->styleForElement(documentElement, 0 /*defaultParent*/, false /*allowSharing*/, true /*resolveForRootDefault*/);
- RefPtr<MediaList> media = MediaList::create();
-
- ExceptionCode ec = 0;
- media->setMediaText(query, ec);
- if (ec)
- return false;
-
- MediaQueryEvaluator screenEval(type(), m_frame, rootStyle.get());
- return screenEval.eval(media.get());
-}
-
-} // namespace WebCore
diff --git a/src/3rdparty/webkit/WebCore/css/Media.h b/src/3rdparty/webkit/WebCore/css/Media.h
deleted file mode 100644
index ee6961b368..0000000000
--- a/src/3rdparty/webkit/WebCore/css/Media.h
+++ /dev/null
@@ -1,54 +0,0 @@
-/*
- * Copyright (C) 2009 Apple Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY APPLE COMPUTER, INC. ``AS IS'' AND ANY
- * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE COMPUTER, INC. OR
- * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
- * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
- * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
- * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#ifndef Media_h
-#define Media_h
-
-#include "DOMWindow.h"
-
-namespace WebCore {
-
-class Media : public RefCounted<Media> {
-public:
- static PassRefPtr<Media> create(Frame* frame)
- {
- return adoptRef(new Media(frame));
- }
-
- void disconnectFrame() { m_frame = 0; }
-
- String type() const;
-
- bool matchMedium(const String&) const;
-
-private:
- Media(Frame*);
-
- Frame* m_frame;
-};
-
-} // namespace
-
-#endif // Media_h
diff --git a/src/3rdparty/webkit/WebCore/css/Media.idl b/src/3rdparty/webkit/WebCore/css/Media.idl
deleted file mode 100644
index 1bf59007b8..0000000000
--- a/src/3rdparty/webkit/WebCore/css/Media.idl
+++ /dev/null
@@ -1,31 +0,0 @@
-/*
- * Copyright (C) 2009 Apple Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY APPLE COMPUTER, INC. ``AS IS'' AND ANY
- * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE COMPUTER, INC. OR
- * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
- * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
- * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
- * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-module view {
- interface Media {
- readonly attribute DOMString type;
- boolean matchMedium(in DOMString mediaquery);
- };
-}
diff --git a/src/3rdparty/webkit/WebCore/css/StyleMedia.cpp b/src/3rdparty/webkit/WebCore/css/StyleMedia.cpp
new file mode 100644
index 0000000000..6cb662fcff
--- /dev/null
+++ b/src/3rdparty/webkit/WebCore/css/StyleMedia.cpp
@@ -0,0 +1,77 @@
+/*
+ * Copyright (C) 2009 Apple Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE COMPUTER, INC. ``AS IS'' AND ANY
+ * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE COMPUTER, INC. OR
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+ * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+ * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
+ * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include "config.h"
+#include "StyleMedia.h"
+
+#include "CSSStyleSelector.h"
+#include "Frame.h"
+#include "FrameView.h"
+#include "MediaList.h"
+#include "MediaQueryEvaluator.h"
+
+namespace WebCore {
+
+StyleMedia::StyleMedia(Frame* frame)
+ : m_frame(frame)
+{
+}
+
+String StyleMedia::type() const
+{
+ FrameView* view = m_frame ? m_frame->view() : 0;
+ if (view)
+ return view->mediaType();
+
+ return String();
+}
+
+bool StyleMedia::matchMedium(const String& query) const
+{
+ if (!m_frame)
+ return false;
+
+ Document* document = m_frame->document();
+ ASSERT(document);
+ Element* documentElement = document->documentElement();
+ ASSERT(documentElement);
+
+ CSSStyleSelector* styleSelector = document->styleSelector();
+ if (!styleSelector)
+ return false;
+
+ RefPtr<RenderStyle> rootStyle = styleSelector->styleForElement(documentElement, 0 /*defaultParent*/, false /*allowSharing*/, true /*resolveForRootDefault*/);
+ RefPtr<MediaList> media = MediaList::create();
+
+ ExceptionCode ec = 0;
+ media->setMediaText(query, ec);
+ if (ec)
+ return false;
+
+ MediaQueryEvaluator screenEval(type(), m_frame, rootStyle.get());
+ return screenEval.eval(media.get());
+}
+
+} // namespace WebCore
diff --git a/src/3rdparty/webkit/WebCore/css/StyleMedia.h b/src/3rdparty/webkit/WebCore/css/StyleMedia.h
new file mode 100644
index 0000000000..761e6a3755
--- /dev/null
+++ b/src/3rdparty/webkit/WebCore/css/StyleMedia.h
@@ -0,0 +1,55 @@
+/*
+ * Copyright (C) 2009 Apple Inc. All rights reserved.
+ * Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies)
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE COMPUTER, INC. ``AS IS'' AND ANY
+ * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE COMPUTER, INC. OR
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+ * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+ * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
+ * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#ifndef StyleMedia_h
+#define StyleMedia_h
+
+#include "DOMWindow.h"
+
+namespace WebCore {
+
+class StyleMedia : public RefCounted<StyleMedia> {
+public:
+ static PassRefPtr<StyleMedia> create(Frame* frame)
+ {
+ return adoptRef(new StyleMedia(frame));
+ }
+
+ void disconnectFrame() { m_frame = 0; }
+
+ String type() const;
+
+ bool matchMedium(const String&) const;
+
+private:
+ StyleMedia(Frame*);
+
+ Frame* m_frame;
+};
+
+} // namespace
+
+#endif // StyleMedia_h
diff --git a/src/3rdparty/webkit/WebCore/css/StyleMedia.idl b/src/3rdparty/webkit/WebCore/css/StyleMedia.idl
new file mode 100644
index 0000000000..7be35cc60f
--- /dev/null
+++ b/src/3rdparty/webkit/WebCore/css/StyleMedia.idl
@@ -0,0 +1,32 @@
+/*
+ * Copyright (C) 2009 Apple Inc. All rights reserved.
+ * Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies)
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE COMPUTER, INC. ``AS IS'' AND ANY
+ * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE COMPUTER, INC. OR
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+ * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+ * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
+ * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+module view {
+ interface StyleMedia {
+ readonly attribute DOMString type;
+ boolean matchMedium(in DOMString mediaquery);
+ };
+}
diff --git a/src/3rdparty/webkit/WebCore/editing/ApplyStyleCommand.cpp b/src/3rdparty/webkit/WebCore/editing/ApplyStyleCommand.cpp
index 1c739ec5f7..529d9d37c4 100644
--- a/src/3rdparty/webkit/WebCore/editing/ApplyStyleCommand.cpp
+++ b/src/3rdparty/webkit/WebCore/editing/ApplyStyleCommand.cpp
@@ -212,7 +212,7 @@ void StyleChange::extractTextStyles(CSSMutableStyleDeclaration* style)
if (RefPtr<CSSValue> colorValue = style->getPropertyCSSValue(CSSPropertyColor)) {
ASSERT(colorValue->isPrimitiveValue());
CSSPrimitiveValue* primitiveColor = static_cast<CSSPrimitiveValue*>(colorValue.get());
- RGBA32 rgba;
+ RGBA32 rgba = 0;
if (primitiveColor->primitiveType() != CSSPrimitiveValue::CSS_RGBCOLOR) {
CSSParser::parseColor(rgba, colorValue->cssText());
// Need to take care of named color such as green and black
diff --git a/src/3rdparty/webkit/WebCore/generated/JSCanvasRenderingContext2D.cpp b/src/3rdparty/webkit/WebCore/generated/JSCanvasRenderingContext2D.cpp
index a991e8d018..d97b54a5f7 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSCanvasRenderingContext2D.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSCanvasRenderingContext2D.cpp
@@ -165,7 +165,7 @@ static const HashTableValue JSCanvasRenderingContext2DPrototypeTableValues[45] =
{ "drawImageFromRect", DontDelete|Function, (intptr_t)static_cast<NativeFunction>(jsCanvasRenderingContext2DPrototypeFunctionDrawImageFromRect), (intptr_t)0 },
{ "setShadow", DontDelete|Function, (intptr_t)static_cast<NativeFunction>(jsCanvasRenderingContext2DPrototypeFunctionSetShadow), (intptr_t)0 },
{ "createPattern", DontDelete|Function, (intptr_t)static_cast<NativeFunction>(jsCanvasRenderingContext2DPrototypeFunctionCreatePattern), (intptr_t)0 },
- { "createImageData", DontDelete|Function, (intptr_t)static_cast<NativeFunction>(jsCanvasRenderingContext2DPrototypeFunctionCreateImageData), (intptr_t)2 },
+ { "createImageData", DontDelete|Function, (intptr_t)static_cast<NativeFunction>(jsCanvasRenderingContext2DPrototypeFunctionCreateImageData), (intptr_t)0 },
{ "getImageData", DontDelete|Function, (intptr_t)static_cast<NativeFunction>(jsCanvasRenderingContext2DPrototypeFunctionGetImageData), (intptr_t)4 },
{ "putImageData", DontDelete|Function, (intptr_t)static_cast<NativeFunction>(jsCanvasRenderingContext2DPrototypeFunctionPutImageData), (intptr_t)0 },
{ 0, 0, 0, 0 }
@@ -1018,15 +1018,7 @@ JSValue JSC_HOST_CALL jsCanvasRenderingContext2DPrototypeFunctionCreateImageData
if (!thisValue.inherits(&JSCanvasRenderingContext2D::s_info))
return throwError(exec, TypeError);
JSCanvasRenderingContext2D* castedThisObj = static_cast<JSCanvasRenderingContext2D*>(asObject(thisValue));
- CanvasRenderingContext2D* imp = static_cast<CanvasRenderingContext2D*>(castedThisObj->impl());
- ExceptionCode ec = 0;
- float sw = args.at(0).toFloat(exec);
- float sh = args.at(1).toFloat(exec);
-
-
- JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->createImageData(sw, sh, ec)));
- setDOMException(exec, ec);
- return result;
+ return castedThisObj->createImageData(exec, args);
}
JSValue JSC_HOST_CALL jsCanvasRenderingContext2DPrototypeFunctionGetImageData(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
diff --git a/src/3rdparty/webkit/WebCore/generated/JSCanvasRenderingContext2D.h b/src/3rdparty/webkit/WebCore/generated/JSCanvasRenderingContext2D.h
index 218e455be5..92fabb7702 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSCanvasRenderingContext2D.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSCanvasRenderingContext2D.h
@@ -61,6 +61,7 @@ public:
JSC::JSValue drawImageFromRect(JSC::ExecState*, const JSC::ArgList&);
JSC::JSValue setShadow(JSC::ExecState*, const JSC::ArgList&);
JSC::JSValue createPattern(JSC::ExecState*, const JSC::ArgList&);
+ JSC::JSValue createImageData(JSC::ExecState*, const JSC::ArgList&);
JSC::JSValue putImageData(JSC::ExecState*, const JSC::ArgList&);
protected:
static const unsigned StructureFlags = JSC::OverridesGetOwnPropertySlot | Base::StructureFlags;
diff --git a/src/3rdparty/webkit/WebCore/generated/JSDOMWindow.cpp b/src/3rdparty/webkit/WebCore/generated/JSDOMWindow.cpp
index 04238bcfd9..11dfd2e591 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSDOMWindow.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSDOMWindow.cpp
@@ -152,7 +152,6 @@
#include "JSHTMLVideoElement.h"
#include "JSImageData.h"
#include "JSKeyboardEvent.h"
-#include "JSMedia.h"
#include "JSMediaError.h"
#include "JSMediaList.h"
#include "JSMessageChannel.h"
@@ -299,6 +298,7 @@
#include "JSSharedWorker.h"
#include "JSStorage.h"
#include "JSStorageEvent.h"
+#include "JSStyleMedia.h"
#include "JSStyleSheet.h"
#include "JSStyleSheetList.h"
#include "JSText.h"
@@ -334,11 +334,11 @@
#include "JSXPathResult.h"
#include "JSXSLTProcessor.h"
#include "KURL.h"
-#include "Media.h"
#include "Navigator.h"
#include "RegisteredEventListener.h"
#include "Screen.h"
#include "Storage.h"
+#include "StyleMedia.h"
#include "WebKitPoint.h"
#include <runtime/Error.h>
#include <runtime/JSNumberCell.h>
@@ -395,7 +395,7 @@ static const HashTableValue JSDOMWindowTableValues[409] =
{ "parent", DontDelete, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsDOMWindowParent), (intptr_t)setJSDOMWindowParent },
{ "top", DontDelete, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsDOMWindowTop), (intptr_t)setJSDOMWindowTop },
{ "document", DontDelete|ReadOnly, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsDOMWindowDocument), (intptr_t)0 },
- { "media", DontDelete|ReadOnly, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsDOMWindowMedia), (intptr_t)0 },
+ { "styleMedia", DontDelete|ReadOnly, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsDOMWindowStyleMedia), (intptr_t)0 },
{ "devicePixelRatio", DontDelete, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsDOMWindowDevicePixelRatio), (intptr_t)setJSDOMWindowDevicePixelRatio },
{ "applicationCache", DontDelete|ReadOnly, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsDOMWindowApplicationCache), (intptr_t)0 },
{ "sessionStorage", DontDelete|ReadOnly, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsDOMWindowSessionStorage), (intptr_t)0 },
@@ -1304,14 +1304,14 @@ JSValue jsDOMWindowDocument(ExecState* exec, JSValue slotBase, const Identifier&
return result;
}
-JSValue jsDOMWindowMedia(ExecState* exec, JSValue slotBase, const Identifier&)
+JSValue jsDOMWindowStyleMedia(ExecState* exec, JSValue slotBase, const Identifier&)
{
JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slotBase));
if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
UNUSED_PARAM(exec);
DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl());
- JSValue result = toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->media()));
+ JSValue result = toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->styleMedia()));
return result;
}
diff --git a/src/3rdparty/webkit/WebCore/generated/JSDOMWindow.h b/src/3rdparty/webkit/WebCore/generated/JSDOMWindow.h
index a6f325305c..7e50556deb 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSDOMWindow.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSDOMWindow.h
@@ -231,7 +231,7 @@ void setJSDOMWindowParent(JSC::ExecState*, JSC::JSObject*, JSC::JSValue);
JSC::JSValue jsDOMWindowTop(JSC::ExecState*, JSC::JSValue, const JSC::Identifier&);
void setJSDOMWindowTop(JSC::ExecState*, JSC::JSObject*, JSC::JSValue);
JSC::JSValue jsDOMWindowDocument(JSC::ExecState*, JSC::JSValue, const JSC::Identifier&);
-JSC::JSValue jsDOMWindowMedia(JSC::ExecState*, JSC::JSValue, const JSC::Identifier&);
+JSC::JSValue jsDOMWindowStyleMedia(JSC::ExecState*, JSC::JSValue, const JSC::Identifier&);
JSC::JSValue jsDOMWindowDevicePixelRatio(JSC::ExecState*, JSC::JSValue, const JSC::Identifier&);
void setJSDOMWindowDevicePixelRatio(JSC::ExecState*, JSC::JSObject*, JSC::JSValue);
JSC::JSValue jsDOMWindowApplicationCache(JSC::ExecState*, JSC::JSValue, const JSC::Identifier&);
diff --git a/src/3rdparty/webkit/WebCore/generated/JSMedia.cpp b/src/3rdparty/webkit/WebCore/generated/JSMedia.cpp
deleted file mode 100644
index 1579c2b8f1..0000000000
--- a/src/3rdparty/webkit/WebCore/generated/JSMedia.cpp
+++ /dev/null
@@ -1,201 +0,0 @@
-/*
- This file is part of the WebKit open source project.
- This file has been generated by generate-bindings.pl. DO NOT MODIFY!
-
- This library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Library General Public
- License as published by the Free Software Foundation; either
- version 2 of the License, or (at your option) any later version.
-
- This library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Library General Public License for more details.
-
- You should have received a copy of the GNU Library General Public License
- along with this library; see the file COPYING.LIB. If not, write to
- the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
- Boston, MA 02110-1301, USA.
-*/
-
-#include "config.h"
-#include "JSMedia.h"
-
-#include "KURL.h"
-#include "Media.h"
-#include <runtime/Error.h>
-#include <runtime/JSString.h>
-#include <wtf/GetPtr.h>
-
-using namespace JSC;
-
-namespace WebCore {
-
-ASSERT_CLASS_FITS_IN_CELL(JSMedia);
-
-/* Hash table */
-
-static const HashTableValue JSMediaTableValues[3] =
-{
- { "type", DontDelete|ReadOnly, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsMediaType), (intptr_t)0 },
- { "constructor", DontEnum|ReadOnly, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsMediaConstructor), (intptr_t)0 },
- { 0, 0, 0, 0 }
-};
-
-static JSC_CONST_HASHTABLE HashTable JSMediaTable =
-#if ENABLE(PERFECT_HASH_SIZE)
- { 3, JSMediaTableValues, 0 };
-#else
- { 4, 3, JSMediaTableValues, 0 };
-#endif
-
-/* Hash table for constructor */
-
-static const HashTableValue JSMediaConstructorTableValues[1] =
-{
- { 0, 0, 0, 0 }
-};
-
-static JSC_CONST_HASHTABLE HashTable JSMediaConstructorTable =
-#if ENABLE(PERFECT_HASH_SIZE)
- { 0, JSMediaConstructorTableValues, 0 };
-#else
- { 1, 0, JSMediaConstructorTableValues, 0 };
-#endif
-
-class JSMediaConstructor : public DOMConstructorObject {
-public:
- JSMediaConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
- : DOMConstructorObject(JSMediaConstructor::createStructure(globalObject->objectPrototype()), globalObject)
- {
- putDirect(exec->propertyNames().prototype, JSMediaPrototype::self(exec, globalObject), None);
- }
- virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
- virtual bool getOwnPropertyDescriptor(ExecState*, const Identifier&, PropertyDescriptor&);
- virtual const ClassInfo* classInfo() const { return &s_info; }
- static const ClassInfo s_info;
-
- static PassRefPtr<Structure> createStructure(JSValue proto)
- {
- return Structure::create(proto, TypeInfo(ObjectType, StructureFlags), AnonymousSlotCount);
- }
-
-protected:
- static const unsigned StructureFlags = OverridesGetOwnPropertySlot | ImplementsHasInstance | DOMConstructorObject::StructureFlags;
-};
-
-const ClassInfo JSMediaConstructor::s_info = { "MediaConstructor", 0, &JSMediaConstructorTable, 0 };
-
-bool JSMediaConstructor::getOwnPropertySlot(ExecState* exec, const Identifier& propertyName, PropertySlot& slot)
-{
- return getStaticValueSlot<JSMediaConstructor, DOMObject>(exec, &JSMediaConstructorTable, this, propertyName, slot);
-}
-
-bool JSMediaConstructor::getOwnPropertyDescriptor(ExecState* exec, const Identifier& propertyName, PropertyDescriptor& descriptor)
-{
- return getStaticValueDescriptor<JSMediaConstructor, DOMObject>(exec, &JSMediaConstructorTable, this, propertyName, descriptor);
-}
-
-/* Hash table for prototype */
-
-static const HashTableValue JSMediaPrototypeTableValues[2] =
-{
- { "matchMedium", DontDelete|Function, (intptr_t)static_cast<NativeFunction>(jsMediaPrototypeFunctionMatchMedium), (intptr_t)1 },
- { 0, 0, 0, 0 }
-};
-
-static JSC_CONST_HASHTABLE HashTable JSMediaPrototypeTable =
-#if ENABLE(PERFECT_HASH_SIZE)
- { 0, JSMediaPrototypeTableValues, 0 };
-#else
- { 2, 1, JSMediaPrototypeTableValues, 0 };
-#endif
-
-const ClassInfo JSMediaPrototype::s_info = { "MediaPrototype", 0, &JSMediaPrototypeTable, 0 };
-
-JSObject* JSMediaPrototype::self(ExecState* exec, JSGlobalObject* globalObject)
-{
- return getDOMPrototype<JSMedia>(exec, globalObject);
-}
-
-bool JSMediaPrototype::getOwnPropertySlot(ExecState* exec, const Identifier& propertyName, PropertySlot& slot)
-{
- return getStaticFunctionSlot<JSObject>(exec, &JSMediaPrototypeTable, this, propertyName, slot);
-}
-
-bool JSMediaPrototype::getOwnPropertyDescriptor(ExecState* exec, const Identifier& propertyName, PropertyDescriptor& descriptor)
-{
- return getStaticFunctionDescriptor<JSObject>(exec, &JSMediaPrototypeTable, this, propertyName, descriptor);
-}
-
-const ClassInfo JSMedia::s_info = { "Media", 0, &JSMediaTable, 0 };
-
-JSMedia::JSMedia(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<Media> impl)
- : DOMObjectWithGlobalPointer(structure, globalObject)
- , m_impl(impl)
-{
-}
-
-JSMedia::~JSMedia()
-{
- forgetDOMObject(this, impl());
-}
-
-JSObject* JSMedia::createPrototype(ExecState* exec, JSGlobalObject* globalObject)
-{
- return new (exec) JSMediaPrototype(JSMediaPrototype::createStructure(globalObject->objectPrototype()));
-}
-
-bool JSMedia::getOwnPropertySlot(ExecState* exec, const Identifier& propertyName, PropertySlot& slot)
-{
- return getStaticValueSlot<JSMedia, Base>(exec, &JSMediaTable, this, propertyName, slot);
-}
-
-bool JSMedia::getOwnPropertyDescriptor(ExecState* exec, const Identifier& propertyName, PropertyDescriptor& descriptor)
-{
- return getStaticValueDescriptor<JSMedia, Base>(exec, &JSMediaTable, this, propertyName, descriptor);
-}
-
-JSValue jsMediaType(ExecState* exec, JSValue slotBase, const Identifier&)
-{
- JSMedia* castedThis = static_cast<JSMedia*>(asObject(slotBase));
- UNUSED_PARAM(exec);
- Media* imp = static_cast<Media*>(castedThis->impl());
- JSValue result = jsString(exec, imp->type());
- return result;
-}
-
-JSValue jsMediaConstructor(ExecState* exec, JSValue slotBase, const Identifier&)
-{
- JSMedia* domObject = static_cast<JSMedia*>(asObject(slotBase));
- return JSMedia::getConstructor(exec, domObject->globalObject());
-}
-JSValue JSMedia::getConstructor(ExecState* exec, JSGlobalObject* globalObject)
-{
- return getDOMConstructor<JSMediaConstructor>(exec, static_cast<JSDOMGlobalObject*>(globalObject));
-}
-
-JSValue JSC_HOST_CALL jsMediaPrototypeFunctionMatchMedium(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
-{
- UNUSED_PARAM(args);
- if (!thisValue.inherits(&JSMedia::s_info))
- return throwError(exec, TypeError);
- JSMedia* castedThisObj = static_cast<JSMedia*>(asObject(thisValue));
- Media* imp = static_cast<Media*>(castedThisObj->impl());
- const UString& mediaquery = args.at(0).toString(exec);
-
-
- JSC::JSValue result = jsBoolean(imp->matchMedium(mediaquery));
- return result;
-}
-
-JSC::JSValue toJS(JSC::ExecState* exec, JSDOMGlobalObject* globalObject, Media* object)
-{
- return getDOMObjectWrapper<JSMedia>(exec, globalObject, object);
-}
-Media* toMedia(JSC::JSValue value)
-{
- return value.inherits(&JSMedia::s_info) ? static_cast<JSMedia*>(asObject(value))->impl() : 0;
-}
-
-}
diff --git a/src/3rdparty/webkit/WebCore/generated/JSMedia.h b/src/3rdparty/webkit/WebCore/generated/JSMedia.h
deleted file mode 100644
index 28515c9802..0000000000
--- a/src/3rdparty/webkit/WebCore/generated/JSMedia.h
+++ /dev/null
@@ -1,87 +0,0 @@
-/*
- This file is part of the WebKit open source project.
- This file has been generated by generate-bindings.pl. DO NOT MODIFY!
-
- This library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Library General Public
- License as published by the Free Software Foundation; either
- version 2 of the License, or (at your option) any later version.
-
- This library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Library General Public License for more details.
-
- You should have received a copy of the GNU Library General Public License
- along with this library; see the file COPYING.LIB. If not, write to
- the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
- Boston, MA 02110-1301, USA.
-*/
-
-#ifndef JSMedia_h
-#define JSMedia_h
-
-#include "JSDOMBinding.h"
-#include <runtime/JSGlobalObject.h>
-#include <runtime/ObjectPrototype.h>
-
-namespace WebCore {
-
-class Media;
-
-class JSMedia : public DOMObjectWithGlobalPointer {
- typedef DOMObjectWithGlobalPointer Base;
-public:
- JSMedia(NonNullPassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<Media>);
- virtual ~JSMedia();
- static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
- virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
- virtual bool getOwnPropertyDescriptor(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertyDescriptor&);
- virtual const JSC::ClassInfo* classInfo() const { return &s_info; }
- static const JSC::ClassInfo s_info;
-
- static PassRefPtr<JSC::Structure> createStructure(JSC::JSValue prototype)
- {
- return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType, StructureFlags), AnonymousSlotCount);
- }
-
- static JSC::JSValue getConstructor(JSC::ExecState*, JSC::JSGlobalObject*);
- Media* impl() const { return m_impl.get(); }
-
-private:
- RefPtr<Media> m_impl;
-protected:
- static const unsigned StructureFlags = JSC::OverridesGetOwnPropertySlot | Base::StructureFlags;
-};
-
-JSC::JSValue toJS(JSC::ExecState*, JSDOMGlobalObject*, Media*);
-Media* toMedia(JSC::JSValue);
-
-class JSMediaPrototype : public JSC::JSObject {
- typedef JSC::JSObject Base;
-public:
- static JSC::JSObject* self(JSC::ExecState*, JSC::JSGlobalObject*);
- virtual const JSC::ClassInfo* classInfo() const { return &s_info; }
- static const JSC::ClassInfo s_info;
- virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier&, JSC::PropertySlot&);
- virtual bool getOwnPropertyDescriptor(JSC::ExecState*, const JSC::Identifier&, JSC::PropertyDescriptor&);
- static PassRefPtr<JSC::Structure> createStructure(JSC::JSValue prototype)
- {
- return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType, StructureFlags), AnonymousSlotCount);
- }
- JSMediaPrototype(NonNullPassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { }
-protected:
- static const unsigned StructureFlags = JSC::OverridesGetOwnPropertySlot | Base::StructureFlags;
-};
-
-// Functions
-
-JSC::JSValue JSC_HOST_CALL jsMediaPrototypeFunctionMatchMedium(JSC::ExecState*, JSC::JSObject*, JSC::JSValue, const JSC::ArgList&);
-// Attributes
-
-JSC::JSValue jsMediaType(JSC::ExecState*, JSC::JSValue, const JSC::Identifier&);
-JSC::JSValue jsMediaConstructor(JSC::ExecState*, JSC::JSValue, const JSC::Identifier&);
-
-} // namespace WebCore
-
-#endif
diff --git a/src/3rdparty/webkit/WebCore/generated/JSStyleMedia.cpp b/src/3rdparty/webkit/WebCore/generated/JSStyleMedia.cpp
new file mode 100644
index 0000000000..b06bf09279
--- /dev/null
+++ b/src/3rdparty/webkit/WebCore/generated/JSStyleMedia.cpp
@@ -0,0 +1,201 @@
+/*
+ This file is part of the WebKit open source project.
+ This file has been generated by generate-bindings.pl. DO NOT MODIFY!
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 of the License, or (at your option) any later version.
+
+ This library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+#include "config.h"
+#include "JSStyleMedia.h"
+
+#include "KURL.h"
+#include "StyleMedia.h"
+#include <runtime/Error.h>
+#include <runtime/JSString.h>
+#include <wtf/GetPtr.h>
+
+using namespace JSC;
+
+namespace WebCore {
+
+ASSERT_CLASS_FITS_IN_CELL(JSStyleMedia);
+
+/* Hash table */
+
+static const HashTableValue JSStyleMediaTableValues[3] =
+{
+ { "type", DontDelete|ReadOnly, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsStyleMediaType), (intptr_t)0 },
+ { "constructor", DontEnum|ReadOnly, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsStyleMediaConstructor), (intptr_t)0 },
+ { 0, 0, 0, 0 }
+};
+
+static JSC_CONST_HASHTABLE HashTable JSStyleMediaTable =
+#if ENABLE(PERFECT_HASH_SIZE)
+ { 3, JSStyleMediaTableValues, 0 };
+#else
+ { 4, 3, JSStyleMediaTableValues, 0 };
+#endif
+
+/* Hash table for constructor */
+
+static const HashTableValue JSStyleMediaConstructorTableValues[1] =
+{
+ { 0, 0, 0, 0 }
+};
+
+static JSC_CONST_HASHTABLE HashTable JSStyleMediaConstructorTable =
+#if ENABLE(PERFECT_HASH_SIZE)
+ { 0, JSStyleMediaConstructorTableValues, 0 };
+#else
+ { 1, 0, JSStyleMediaConstructorTableValues, 0 };
+#endif
+
+class JSStyleMediaConstructor : public DOMConstructorObject {
+public:
+ JSStyleMediaConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
+ : DOMConstructorObject(JSStyleMediaConstructor::createStructure(globalObject->objectPrototype()), globalObject)
+ {
+ putDirect(exec->propertyNames().prototype, JSStyleMediaPrototype::self(exec, globalObject), None);
+ }
+ virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
+ virtual bool getOwnPropertyDescriptor(ExecState*, const Identifier&, PropertyDescriptor&);
+ virtual const ClassInfo* classInfo() const { return &s_info; }
+ static const ClassInfo s_info;
+
+ static PassRefPtr<Structure> createStructure(JSValue proto)
+ {
+ return Structure::create(proto, TypeInfo(ObjectType, StructureFlags), AnonymousSlotCount);
+ }
+
+protected:
+ static const unsigned StructureFlags = OverridesGetOwnPropertySlot | ImplementsHasInstance | DOMConstructorObject::StructureFlags;
+};
+
+const ClassInfo JSStyleMediaConstructor::s_info = { "StyleMediaConstructor", 0, &JSStyleMediaConstructorTable, 0 };
+
+bool JSStyleMediaConstructor::getOwnPropertySlot(ExecState* exec, const Identifier& propertyName, PropertySlot& slot)
+{
+ return getStaticValueSlot<JSStyleMediaConstructor, DOMObject>(exec, &JSStyleMediaConstructorTable, this, propertyName, slot);
+}
+
+bool JSStyleMediaConstructor::getOwnPropertyDescriptor(ExecState* exec, const Identifier& propertyName, PropertyDescriptor& descriptor)
+{
+ return getStaticValueDescriptor<JSStyleMediaConstructor, DOMObject>(exec, &JSStyleMediaConstructorTable, this, propertyName, descriptor);
+}
+
+/* Hash table for prototype */
+
+static const HashTableValue JSStyleMediaPrototypeTableValues[2] =
+{
+ { "matchMedium", DontDelete|Function, (intptr_t)static_cast<NativeFunction>(jsStyleMediaPrototypeFunctionMatchMedium), (intptr_t)1 },
+ { 0, 0, 0, 0 }
+};
+
+static JSC_CONST_HASHTABLE HashTable JSStyleMediaPrototypeTable =
+#if ENABLE(PERFECT_HASH_SIZE)
+ { 0, JSStyleMediaPrototypeTableValues, 0 };
+#else
+ { 2, 1, JSStyleMediaPrototypeTableValues, 0 };
+#endif
+
+const ClassInfo JSStyleMediaPrototype::s_info = { "StyleMediaPrototype", 0, &JSStyleMediaPrototypeTable, 0 };
+
+JSObject* JSStyleMediaPrototype::self(ExecState* exec, JSGlobalObject* globalObject)
+{
+ return getDOMPrototype<JSStyleMedia>(exec, globalObject);
+}
+
+bool JSStyleMediaPrototype::getOwnPropertySlot(ExecState* exec, const Identifier& propertyName, PropertySlot& slot)
+{
+ return getStaticFunctionSlot<JSObject>(exec, &JSStyleMediaPrototypeTable, this, propertyName, slot);
+}
+
+bool JSStyleMediaPrototype::getOwnPropertyDescriptor(ExecState* exec, const Identifier& propertyName, PropertyDescriptor& descriptor)
+{
+ return getStaticFunctionDescriptor<JSObject>(exec, &JSStyleMediaPrototypeTable, this, propertyName, descriptor);
+}
+
+const ClassInfo JSStyleMedia::s_info = { "StyleMedia", 0, &JSStyleMediaTable, 0 };
+
+JSStyleMedia::JSStyleMedia(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<StyleMedia> impl)
+ : DOMObjectWithGlobalPointer(structure, globalObject)
+ , m_impl(impl)
+{
+}
+
+JSStyleMedia::~JSStyleMedia()
+{
+ forgetDOMObject(this, impl());
+}
+
+JSObject* JSStyleMedia::createPrototype(ExecState* exec, JSGlobalObject* globalObject)
+{
+ return new (exec) JSStyleMediaPrototype(JSStyleMediaPrototype::createStructure(globalObject->objectPrototype()));
+}
+
+bool JSStyleMedia::getOwnPropertySlot(ExecState* exec, const Identifier& propertyName, PropertySlot& slot)
+{
+ return getStaticValueSlot<JSStyleMedia, Base>(exec, &JSStyleMediaTable, this, propertyName, slot);
+}
+
+bool JSStyleMedia::getOwnPropertyDescriptor(ExecState* exec, const Identifier& propertyName, PropertyDescriptor& descriptor)
+{
+ return getStaticValueDescriptor<JSStyleMedia, Base>(exec, &JSStyleMediaTable, this, propertyName, descriptor);
+}
+
+JSValue jsStyleMediaType(ExecState* exec, JSValue slotBase, const Identifier&)
+{
+ JSStyleMedia* castedThis = static_cast<JSStyleMedia*>(asObject(slotBase));
+ UNUSED_PARAM(exec);
+ StyleMedia* imp = static_cast<StyleMedia*>(castedThis->impl());
+ JSValue result = jsString(exec, imp->type());
+ return result;
+}
+
+JSValue jsStyleMediaConstructor(ExecState* exec, JSValue slotBase, const Identifier&)
+{
+ JSStyleMedia* domObject = static_cast<JSStyleMedia*>(asObject(slotBase));
+ return JSStyleMedia::getConstructor(exec, domObject->globalObject());
+}
+JSValue JSStyleMedia::getConstructor(ExecState* exec, JSGlobalObject* globalObject)
+{
+ return getDOMConstructor<JSStyleMediaConstructor>(exec, static_cast<JSDOMGlobalObject*>(globalObject));
+}
+
+JSValue JSC_HOST_CALL jsStyleMediaPrototypeFunctionMatchMedium(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
+{
+ UNUSED_PARAM(args);
+ if (!thisValue.inherits(&JSStyleMedia::s_info))
+ return throwError(exec, TypeError);
+ JSStyleMedia* castedThisObj = static_cast<JSStyleMedia*>(asObject(thisValue));
+ StyleMedia* imp = static_cast<StyleMedia*>(castedThisObj->impl());
+ const UString& mediaquery = args.at(0).toString(exec);
+
+
+ JSC::JSValue result = jsBoolean(imp->matchMedium(mediaquery));
+ return result;
+}
+
+JSC::JSValue toJS(JSC::ExecState* exec, JSDOMGlobalObject* globalObject, StyleMedia* object)
+{
+ return getDOMObjectWrapper<JSStyleMedia>(exec, globalObject, object);
+}
+StyleMedia* toStyleMedia(JSC::JSValue value)
+{
+ return value.inherits(&JSStyleMedia::s_info) ? static_cast<JSStyleMedia*>(asObject(value))->impl() : 0;
+}
+
+}
diff --git a/src/3rdparty/webkit/WebCore/generated/JSStyleMedia.h b/src/3rdparty/webkit/WebCore/generated/JSStyleMedia.h
new file mode 100644
index 0000000000..12601d54da
--- /dev/null
+++ b/src/3rdparty/webkit/WebCore/generated/JSStyleMedia.h
@@ -0,0 +1,87 @@
+/*
+ This file is part of the WebKit open source project.
+ This file has been generated by generate-bindings.pl. DO NOT MODIFY!
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 of the License, or (at your option) any later version.
+
+ This library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+#ifndef JSStyleMedia_h
+#define JSStyleMedia_h
+
+#include "JSDOMBinding.h"
+#include <runtime/JSGlobalObject.h>
+#include <runtime/ObjectPrototype.h>
+
+namespace WebCore {
+
+class StyleMedia;
+
+class JSStyleMedia : public DOMObjectWithGlobalPointer {
+ typedef DOMObjectWithGlobalPointer Base;
+public:
+ JSStyleMedia(NonNullPassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<StyleMedia>);
+ virtual ~JSStyleMedia();
+ static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
+ virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
+ virtual bool getOwnPropertyDescriptor(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertyDescriptor&);
+ virtual const JSC::ClassInfo* classInfo() const { return &s_info; }
+ static const JSC::ClassInfo s_info;
+
+ static PassRefPtr<JSC::Structure> createStructure(JSC::JSValue prototype)
+ {
+ return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType, StructureFlags), AnonymousSlotCount);
+ }
+
+ static JSC::JSValue getConstructor(JSC::ExecState*, JSC::JSGlobalObject*);
+ StyleMedia* impl() const { return m_impl.get(); }
+
+private:
+ RefPtr<StyleMedia> m_impl;
+protected:
+ static const unsigned StructureFlags = JSC::OverridesGetOwnPropertySlot | Base::StructureFlags;
+};
+
+JSC::JSValue toJS(JSC::ExecState*, JSDOMGlobalObject*, StyleMedia*);
+StyleMedia* toStyleMedia(JSC::JSValue);
+
+class JSStyleMediaPrototype : public JSC::JSObject {
+ typedef JSC::JSObject Base;
+public:
+ static JSC::JSObject* self(JSC::ExecState*, JSC::JSGlobalObject*);
+ virtual const JSC::ClassInfo* classInfo() const { return &s_info; }
+ static const JSC::ClassInfo s_info;
+ virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier&, JSC::PropertySlot&);
+ virtual bool getOwnPropertyDescriptor(JSC::ExecState*, const JSC::Identifier&, JSC::PropertyDescriptor&);
+ static PassRefPtr<JSC::Structure> createStructure(JSC::JSValue prototype)
+ {
+ return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType, StructureFlags), AnonymousSlotCount);
+ }
+ JSStyleMediaPrototype(NonNullPassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { }
+protected:
+ static const unsigned StructureFlags = JSC::OverridesGetOwnPropertySlot | Base::StructureFlags;
+};
+
+// Functions
+
+JSC::JSValue JSC_HOST_CALL jsStyleMediaPrototypeFunctionMatchMedium(JSC::ExecState*, JSC::JSObject*, JSC::JSValue, const JSC::ArgList&);
+// Attributes
+
+JSC::JSValue jsStyleMediaType(JSC::ExecState*, JSC::JSValue, const JSC::Identifier&);
+JSC::JSValue jsStyleMediaConstructor(JSC::ExecState*, JSC::JSValue, const JSC::Identifier&);
+
+} // namespace WebCore
+
+#endif
diff --git a/src/3rdparty/webkit/WebCore/html/HTMLCanvasElement.cpp b/src/3rdparty/webkit/WebCore/html/HTMLCanvasElement.cpp
index 30a620cd04..0c5159dea6 100644
--- a/src/3rdparty/webkit/WebCore/html/HTMLCanvasElement.cpp
+++ b/src/3rdparty/webkit/WebCore/html/HTMLCanvasElement.cpp
@@ -143,10 +143,12 @@ String HTMLCanvasElement::toDataURL(const String& mimeType, ExceptionCode& ec)
if (m_size.isEmpty() || !buffer())
return String("data:,");
- if (mimeType.isNull() || !MIMETypeRegistry::isSupportedImageMIMETypeForEncoding(mimeType))
+ String lowercaseMimeType = mimeType.lower();
+
+ if (mimeType.isNull() || !MIMETypeRegistry::isSupportedImageMIMETypeForEncoding(lowercaseMimeType))
return buffer()->toDataURL("image/png");
- return buffer()->toDataURL(mimeType);
+ return buffer()->toDataURL(lowercaseMimeType);
}
CanvasRenderingContext* HTMLCanvasElement::getContext(const String& type, CanvasContextAttributes* attrs)
diff --git a/src/3rdparty/webkit/WebCore/html/canvas/CanvasRenderingContext2D.cpp b/src/3rdparty/webkit/WebCore/html/canvas/CanvasRenderingContext2D.cpp
index 8add19cc94..9cec7a92b1 100644
--- a/src/3rdparty/webkit/WebCore/html/canvas/CanvasRenderingContext2D.cpp
+++ b/src/3rdparty/webkit/WebCore/html/canvas/CanvasRenderingContext2D.cpp
@@ -209,7 +209,7 @@ float CanvasRenderingContext2D::lineWidth() const
void CanvasRenderingContext2D::setLineWidth(float width)
{
- if (!(width > 0))
+ if (!(isfinite(width) && width > 0))
return;
state().m_lineWidth = width;
GraphicsContext* c = drawingContext();
@@ -259,7 +259,7 @@ float CanvasRenderingContext2D::miterLimit() const
void CanvasRenderingContext2D::setMiterLimit(float limit)
{
- if (!(limit > 0))
+ if (!(isfinite(limit) && limit > 0))
return;
state().m_miterLimit = limit;
GraphicsContext* c = drawingContext();
@@ -275,6 +275,8 @@ float CanvasRenderingContext2D::shadowOffsetX() const
void CanvasRenderingContext2D::setShadowOffsetX(float x)
{
+ if (!isfinite(x))
+ return;
state().m_shadowOffset.setWidth(x);
applyShadow();
}
@@ -286,6 +288,8 @@ float CanvasRenderingContext2D::shadowOffsetY() const
void CanvasRenderingContext2D::setShadowOffsetY(float y)
{
+ if (!isfinite(y))
+ return;
state().m_shadowOffset.setHeight(y);
applyShadow();
}
@@ -297,6 +301,8 @@ float CanvasRenderingContext2D::shadowBlur() const
void CanvasRenderingContext2D::setShadowBlur(float blur)
{
+ if (!(isfinite(blur) && blur >= 0))
+ return;
state().m_shadowBlur = blur;
applyShadow();
}
@@ -867,8 +873,6 @@ void CanvasRenderingContext2D::setShadow(float width, float height, float blur,
return;
RGBA32 rgba = makeRGBA32FromFloats(r, g, b, a); // default is transparent black
- if (!state().m_shadowColor.isEmpty())
- CSSParser::parseColor(rgba, state().m_shadowColor);
c->setShadow(IntSize(width, -height), state().m_shadowBlur, Color(rgba), DeviceColorSpace);
}
@@ -1274,14 +1278,30 @@ static PassRefPtr<ImageData> createEmptyImageData(const IntSize& size)
return data.get();
}
+PassRefPtr<ImageData> CanvasRenderingContext2D::createImageData(PassRefPtr<ImageData> imageData, ExceptionCode& ec) const
+{
+ if (!imageData) {
+ ec = NOT_SUPPORTED_ERR;
+ return 0;
+ }
+
+ IntSize size(imageData->width(), imageData->height());
+ return createEmptyImageData(size);
+}
+
PassRefPtr<ImageData> CanvasRenderingContext2D::createImageData(float sw, float sh, ExceptionCode& ec) const
{
ec = 0;
+ if (!sw || !sh) {
+ ec = INDEX_SIZE_ERR;
+ return 0;
+ }
if (!isfinite(sw) || !isfinite(sh)) {
ec = NOT_SUPPORTED_ERR;
return 0;
}
- FloatSize unscaledSize(sw, sh);
+
+ FloatSize unscaledSize(fabs(sw), fabs(sh));
IntSize scaledSize = canvas()->convertLogicalToDevice(unscaledSize);
if (scaledSize.width() < 1)
scaledSize.setWidth(1);
@@ -1297,7 +1317,15 @@ PassRefPtr<ImageData> CanvasRenderingContext2D::getImageData(float sx, float sy,
ec = SECURITY_ERR;
return 0;
}
-
+ if (!sw || !sh) {
+ ec = INDEX_SIZE_ERR;
+ return 0;
+ }
+ if (!isfinite(sx) || !isfinite(sy) || !isfinite(sw) || !isfinite(sh)) {
+ ec = NOT_SUPPORTED_ERR;
+ return 0;
+ }
+
FloatRect unscaledRect(sx, sy, sw, sh);
IntRect scaledRect = canvas()->convertLogicalToDevice(unscaledRect);
if (scaledRect.width() < 1)
@@ -1328,7 +1356,7 @@ void CanvasRenderingContext2D::putImageData(ImageData* data, float dx, float dy,
}
if (!isfinite(dx) || !isfinite(dy) || !isfinite(dirtyX) ||
!isfinite(dirtyY) || !isfinite(dirtyWidth) || !isfinite(dirtyHeight)) {
- ec = INDEX_SIZE_ERR;
+ ec = NOT_SUPPORTED_ERR;
return;
}
diff --git a/src/3rdparty/webkit/WebCore/html/canvas/CanvasRenderingContext2D.h b/src/3rdparty/webkit/WebCore/html/canvas/CanvasRenderingContext2D.h
index 553ffd293b..2220f7e675 100644
--- a/src/3rdparty/webkit/WebCore/html/canvas/CanvasRenderingContext2D.h
+++ b/src/3rdparty/webkit/WebCore/html/canvas/CanvasRenderingContext2D.h
@@ -178,6 +178,7 @@ namespace WebCore {
PassRefPtr<CanvasPattern> createPattern(HTMLImageElement*, const String& repetitionType, ExceptionCode&);
PassRefPtr<CanvasPattern> createPattern(HTMLCanvasElement*, const String& repetitionType, ExceptionCode&);
+ PassRefPtr<ImageData> createImageData(PassRefPtr<ImageData> imageData, ExceptionCode&) const;
PassRefPtr<ImageData> createImageData(float width, float height, ExceptionCode&) const;
PassRefPtr<ImageData> getImageData(float sx, float sy, float sw, float sh, ExceptionCode&) const;
void putImageData(ImageData*, float dx, float dy, ExceptionCode&);
diff --git a/src/3rdparty/webkit/WebCore/html/canvas/CanvasRenderingContext2D.idl b/src/3rdparty/webkit/WebCore/html/canvas/CanvasRenderingContext2D.idl
index f93a7525a9..3f7ead714a 100644
--- a/src/3rdparty/webkit/WebCore/html/canvas/CanvasRenderingContext2D.idl
+++ b/src/3rdparty/webkit/WebCore/html/canvas/CanvasRenderingContext2D.idl
@@ -105,13 +105,12 @@ module html {
[Custom] void drawImageFromRect(/* 10 */);
[Custom] void setShadow(/* 3 */);
[Custom] void createPattern(/* 2 */);
+ [Custom] ImageData createImageData(/* 3 */);
attribute [Custom] custom strokeStyle;
attribute [Custom] custom fillStyle;
// pixel manipulation
- ImageData createImageData(in float sw, in float sh)
- raises (DOMException);
ImageData getImageData(in float sx, in float sy, in float sw, in float sh)
raises(DOMException);
[Custom] void putImageData(/* in ImageData imagedata, in float dx, in float dy [, in float dirtyX, in float dirtyY, in float dirtyWidth, in float dirtyHeight] */);
diff --git a/src/3rdparty/webkit/WebCore/page/AbstractView.idl b/src/3rdparty/webkit/WebCore/page/AbstractView.idl
index 290bf4848a..e4ece0f575 100644
--- a/src/3rdparty/webkit/WebCore/page/AbstractView.idl
+++ b/src/3rdparty/webkit/WebCore/page/AbstractView.idl
@@ -32,7 +32,7 @@ module views {
OmitConstructor
] AbstractView {
readonly attribute Document document;
- readonly attribute Media media;
+ readonly attribute Media styleMedia;
};
}
diff --git a/src/3rdparty/webkit/WebCore/page/ChromeClient.h b/src/3rdparty/webkit/WebCore/page/ChromeClient.h
index 0bfdbaf78b..a01eef1cfd 100644
--- a/src/3rdparty/webkit/WebCore/page/ChromeClient.h
+++ b/src/3rdparty/webkit/WebCore/page/ChromeClient.h
@@ -222,7 +222,11 @@ namespace WebCore {
virtual bool supportsFullscreenForNode(const Node*) { return false; }
virtual void enterFullscreenForNode(Node*) { }
virtual void exitFullscreenForNode(Node*) { }
-
+
+#if ENABLE(TILED_BACKING_STORE)
+ virtual IntRect visibleRectForTiledBackingStore() const { return IntRect(); }
+#endif
+
#if PLATFORM(MAC)
virtual KeyboardUIMode keyboardUIMode() { return KeyboardAccessDefault; }
diff --git a/src/3rdparty/webkit/WebCore/page/DOMWindow.cpp b/src/3rdparty/webkit/WebCore/page/DOMWindow.cpp
index dd902005ef..8dcff5ca4f 100644
--- a/src/3rdparty/webkit/WebCore/page/DOMWindow.cpp
+++ b/src/3rdparty/webkit/WebCore/page/DOMWindow.cpp
@@ -57,7 +57,7 @@
#include "InspectorController.h"
#include "InspectorTimelineAgent.h"
#include "Location.h"
-#include "Media.h"
+#include "StyleMedia.h"
#include "MessageEvent.h"
#include "Navigator.h"
#include "NotificationCenter.h"
@@ -1112,10 +1112,10 @@ Document* DOMWindow::document() const
return m_frame->document();
}
-PassRefPtr<Media> DOMWindow::media() const
+PassRefPtr<StyleMedia> DOMWindow::styleMedia() const
{
if (!m_media)
- m_media = Media::create(m_frame);
+ m_media = StyleMedia::create(m_frame);
return m_media.get();
}
diff --git a/src/3rdparty/webkit/WebCore/page/DOMWindow.h b/src/3rdparty/webkit/WebCore/page/DOMWindow.h
index a70713b201..cf9bc88d66 100644
--- a/src/3rdparty/webkit/WebCore/page/DOMWindow.h
+++ b/src/3rdparty/webkit/WebCore/page/DOMWindow.h
@@ -56,7 +56,7 @@ namespace WebCore {
class IndexedDatabaseRequest;
class InspectorTimelineAgent;
class Location;
- class Media;
+ class StyleMedia;
class Navigator;
class Node;
class NotificationCenter;
@@ -187,7 +187,7 @@ namespace WebCore {
// DOM Level 2 AbstractView Interface
Document* document() const;
// CSSOM View Module
- PassRefPtr<Media> media() const;
+ PassRefPtr<StyleMedia> styleMedia() const;
// DOM Level 2 Style Interface
PassRefPtr<CSSStyleDeclaration> getComputedStyle(Element*, const String& pseudoElt) const;
@@ -353,7 +353,7 @@ namespace WebCore {
Console* optionalConsole() const { return m_console.get(); }
Navigator* optionalNavigator() const { return m_navigator.get(); }
Location* optionalLocation() const { return m_location.get(); }
- Media* optionalMedia() const { return m_media.get(); }
+ StyleMedia* optionalMedia() const { return m_media.get(); }
#if ENABLE(DOM_STORAGE)
Storage* optionalSessionStorage() const { return m_sessionStorage.get(); }
Storage* optionalLocalStorage() const { return m_localStorage.get(); }
@@ -390,7 +390,7 @@ namespace WebCore {
mutable RefPtr<Console> m_console;
mutable RefPtr<Navigator> m_navigator;
mutable RefPtr<Location> m_location;
- mutable RefPtr<Media> m_media;
+ mutable RefPtr<StyleMedia> m_media;
#if ENABLE(DOM_STORAGE)
mutable RefPtr<Storage> m_sessionStorage;
mutable RefPtr<Storage> m_localStorage;
diff --git a/src/3rdparty/webkit/WebCore/page/DOMWindow.idl b/src/3rdparty/webkit/WebCore/page/DOMWindow.idl
index 31e4d4fee8..33e49e83f7 100644
--- a/src/3rdparty/webkit/WebCore/page/DOMWindow.idl
+++ b/src/3rdparty/webkit/WebCore/page/DOMWindow.idl
@@ -141,7 +141,7 @@ module window {
readonly attribute Document document;
// CSSOM View Module
- readonly attribute Media media;
+ readonly attribute StyleMedia styleMedia;
// DOM Level 2 Style Interface
CSSStyleDeclaration getComputedStyle(in Element element,
diff --git a/src/3rdparty/webkit/WebCore/page/EventHandler.cpp b/src/3rdparty/webkit/WebCore/page/EventHandler.cpp
index 0a0e8c6458..c40299cf9a 100644
--- a/src/3rdparty/webkit/WebCore/page/EventHandler.cpp
+++ b/src/3rdparty/webkit/WebCore/page/EventHandler.cpp
@@ -230,6 +230,9 @@ void EventHandler::clear()
m_capturingMouseEventsNode = 0;
m_latchedWheelEventNode = 0;
m_previousWheelScrolledNode = 0;
+#if ENABLE(TOUCH_EVENTS)
+ m_originatingTouchPointTargets.clear();
+#endif
}
void EventHandler::selectClosestWordFromMouseEvent(const MouseEventWithHitTestResults& result)
@@ -926,9 +929,13 @@ void EventHandler::setMousePressNode(PassRefPtr<Node> node)
m_mousePressNode = node;
}
-bool EventHandler::scrollOverflow(ScrollDirection direction, ScrollGranularity granularity)
+bool EventHandler::scrollOverflow(ScrollDirection direction, ScrollGranularity granularity, Node* startingNode)
{
- Node* node = m_frame->document()->focusedNode();
+ Node* node = startingNode;
+
+ if (!node)
+ node = m_frame->document()->focusedNode();
+
if (!node)
node = m_mousePressNode.get();
@@ -943,9 +950,9 @@ bool EventHandler::scrollOverflow(ScrollDirection direction, ScrollGranularity g
return false;
}
-bool EventHandler::scrollRecursively(ScrollDirection direction, ScrollGranularity granularity)
+bool EventHandler::scrollRecursively(ScrollDirection direction, ScrollGranularity granularity, Node* startingNode)
{
- bool handled = scrollOverflow(direction, granularity);
+ bool handled = scrollOverflow(direction, granularity, startingNode);
if (!handled) {
Frame* frame = m_frame;
do {
@@ -2714,21 +2721,21 @@ bool EventHandler::handleTouchEvent(const PlatformTouchEvent& event)
// Increment the platform touch id by 1 to avoid storing a key of 0 in the hashmap.
unsigned touchPointTargetKey = point.id() + 1;
- EventTarget* touchTarget = 0;
+ RefPtr<EventTarget> touchTarget;
if (point.state() == PlatformTouchPoint::TouchPressed) {
m_originatingTouchPointTargets.set(touchPointTargetKey, target);
touchTarget = target;
} else if (point.state() == PlatformTouchPoint::TouchReleased || point.state() == PlatformTouchPoint::TouchCancelled) {
// The target should be the original target for this touch, so get it from the hashmap. As it's a release or cancel
// we also remove it from the map.
- touchTarget = m_originatingTouchPointTargets.take(touchPointTargetKey).get();
+ touchTarget = m_originatingTouchPointTargets.take(touchPointTargetKey);
} else
- touchTarget = m_originatingTouchPointTargets.get(touchPointTargetKey).get();
+ touchTarget = m_originatingTouchPointTargets.get(touchPointTargetKey);
- if (!touchTarget)
+ if (!touchTarget.get())
continue;
- RefPtr<Touch> touch = Touch::create(doc->frame(), touchTarget, point.id(),
+ RefPtr<Touch> touch = Touch::create(doc->frame(), touchTarget.get(), point.id(),
point.screenPos().x(), point.screenPos().y(),
adjustedPageX, adjustedPageY);
diff --git a/src/3rdparty/webkit/WebCore/page/EventHandler.h b/src/3rdparty/webkit/WebCore/page/EventHandler.h
index 282100d75b..a94e7bf3e6 100644
--- a/src/3rdparty/webkit/WebCore/page/EventHandler.h
+++ b/src/3rdparty/webkit/WebCore/page/EventHandler.h
@@ -130,9 +130,9 @@ public:
static Frame* subframeForTargetNode(Node*);
- bool scrollOverflow(ScrollDirection, ScrollGranularity);
+ bool scrollOverflow(ScrollDirection, ScrollGranularity, Node* startingNode = 0);
- bool scrollRecursively(ScrollDirection, ScrollGranularity);
+ bool scrollRecursively(ScrollDirection, ScrollGranularity, Node* startingNode = 0);
#if ENABLE(DRAG_SUPPORT)
bool shouldDragAutoNode(Node*, const IntPoint&) const; // -webkit-user-drag == auto
diff --git a/src/3rdparty/webkit/WebCore/page/FocusController.cpp b/src/3rdparty/webkit/WebCore/page/FocusController.cpp
index 6c2a956fc6..a285e52dd1 100644
--- a/src/3rdparty/webkit/WebCore/page/FocusController.cpp
+++ b/src/3rdparty/webkit/WebCore/page/FocusController.cpp
@@ -319,7 +319,7 @@ bool FocusController::advanceFocusDirectionally(FocusDirection direction, Keyboa
// if |node| element is not in the viewport.
if (hasOffscreenRect(node)) {
Frame* frame = node->document()->view()->frame();
- scrollInDirection(frame, direction);
+ scrollInDirection(frame, direction, focusCandidate);
return true;
}
@@ -341,105 +341,152 @@ bool FocusController::advanceFocusDirectionally(FocusDirection direction, Keyboa
return true;
}
-// FIXME: Make this method more modular, and simpler to understand and maintain.
-static void updateFocusCandidateIfCloser(Node* focusedNode, const FocusCandidate& candidate, FocusCandidate& closest)
+static void updateFocusCandidateInSameContainer(const FocusCandidate& candidate, FocusCandidate& closest)
{
- bool sameDocument = candidate.document() == closest.document();
- if (sameDocument) {
- if (closest.alignment > candidate.alignment
- || (closest.parentAlignment && candidate.alignment > closest.parentAlignment))
- return;
- } else if (closest.alignment > candidate.alignment
- && (closest.parentAlignment && candidate.alignment > closest.parentAlignment))
+ if (closest.isNull()) {
+ closest = candidate;
return;
+ }
- if (candidate.alignment != None
- || (closest.parentAlignment >= candidate.alignment
- && closest.document() == candidate.document())) {
+ if (candidate.alignment == closest.alignment) {
+ if (candidate.distance < closest.distance)
+ closest = candidate;
+ return;
+ }
- // If we are now in an higher precedent case, lets reset the current closest's
- // distance so we force it to be bigger than any result we will get from
- // spatialDistance().
- if (closest.alignment < candidate.alignment
- && closest.parentAlignment < candidate.alignment)
- closest.distance = maxDistance();
+ if (candidate.alignment > closest.alignment)
+ closest = candidate;
+}
- closest.alignment = candidate.alignment;
+static void updateFocusCandidateIfCloser(Node* focusedNode, const FocusCandidate& candidate, FocusCandidate& closest)
+{
+ // First, check the common case: neither candidate nor closest are
+ // inside scrollable content, then no need to care about enclosingScrollableBox
+ // heuristics or parent{Distance,Alignment}, but only distance and alignment.
+ if (!candidate.inScrollableContainer() && !closest.inScrollableContainer()) {
+ updateFocusCandidateInSameContainer(candidate, closest);
+ return;
}
- // Bail out if candidate's distance is larger than that of the closest candidate.
- if (candidate.distance >= closest.distance)
+ bool sameContainer = candidate.document() == closest.document() && candidate.enclosingScrollableBox == closest.enclosingScrollableBox;
+
+ // Second, if candidate and closest are in the same "container" (i.e. {i}frame or any
+ // scrollable block element), we can handle them as common case.
+ if (sameContainer) {
+ updateFocusCandidateInSameContainer(candidate, closest);
return;
+ }
- if (closest.isNull()) {
+ // Last, we are considering moving to a candidate located in a different enclosing
+ // scrollable box than closest.
+ bool isInInnerDocument = !isInRootDocument(focusedNode);
+
+ bool sameContainerAsCandidate = isInInnerDocument ? focusedNode->document() == candidate.document() :
+ focusedNode->isDescendantOf(candidate.enclosingScrollableBox);
+
+ bool sameContainerAsClosest = isInInnerDocument ? focusedNode->document() == closest.document() :
+ focusedNode->isDescendantOf(closest.enclosingScrollableBox);
+
+ // sameContainerAsCandidate and sameContainerAsClosest are mutually exclusive.
+ ASSERT(!(sameContainerAsCandidate && sameContainerAsClosest));
+
+ if (sameContainerAsCandidate) {
closest = candidate;
return;
}
- // If the focused node and the candadate are in the same document and current
- // closest candidate is not in an {i}frame that is preferable to get focused ...
- if (focusedNode->document() == candidate.document()
- && candidate.distance < closest.parentDistance)
- closest = candidate;
- else if (focusedNode->document() != candidate.document()) {
- // If the focusedNode is in an inner document and candidate is in a
- // different document, we only consider to change focus if there is not
- // another already good focusable candidate in the same document as focusedNode.
- if (!((isInRootDocument(candidate.node) && !isInRootDocument(focusedNode))
- && focusedNode->document() == closest.document()))
+ if (sameContainerAsClosest) {
+ // Nothing to be done.
+ return;
+ }
+
+ // NOTE: !sameContainerAsCandidate && !sameContainerAsClosest
+ // If distance is shorter, and we are talking about scrollable container,
+ // lets compare parent distance and alignment before anything.
+ if (candidate.distance < closest.distance) {
+ if (candidate.alignment >= closest.parentAlignment
+ || candidate.parentAlignment == closest.parentAlignment) {
closest = candidate;
+ return;
+ }
+
+ } else if (candidate.parentDistance < closest.distance) {
+ if (candidate.parentAlignment >= closest.alignment) {
+ closest = candidate;
+ return;
+ }
}
}
void FocusController::findFocusableNodeInDirection(Node* outer, Node* focusedNode,
FocusDirection direction, KeyboardEvent* event,
- FocusCandidate& closestFocusCandidate,
- const FocusCandidate& candidateParent)
+ FocusCandidate& closest, const FocusCandidate& candidateParent)
{
ASSERT(outer);
ASSERT(candidateParent.isNull()
|| candidateParent.node->hasTagName(frameTag)
- || candidateParent.node->hasTagName(iframeTag));
+ || candidateParent.node->hasTagName(iframeTag)
+ || isScrollableContainerNode(candidateParent.node));
+
+ // Walk all the child nodes and update closest if we find a nearer node.
+ Node* node = outer;
+ while (node) {
- // Walk all the child nodes and update closestFocusCandidate if we find a nearer node.
- Node* candidate = outer;
- while (candidate) {
// Inner documents case.
+ if (node->isFrameOwnerElement()) {
+ deepFindFocusableNodeInDirection(node, focusedNode, direction, event, closest);
- if (candidate->isFrameOwnerElement())
- deepFindFocusableNodeInDirection(candidate, focusedNode, direction, event, closestFocusCandidate);
- else if (candidate != focusedNode && candidate->isKeyboardFocusable(event)) {
- FocusCandidate currentFocusCandidate(candidate);
+ // Scrollable block elements (e.g. <div>, etc) case.
+ } else if (isScrollableContainerNode(node)) {
+ deepFindFocusableNodeInDirection(node, focusedNode, direction, event, closest);
+ node = node->traverseNextSibling();
+ continue;
+
+ } else if (node != focusedNode && node->isKeyboardFocusable(event)) {
+ FocusCandidate candidate(node);
+
+ // There are two ways to identify we are in a recursive call from deepFindFocusableNodeInDirection
+ // (i.e. processing an element in an iframe, frame or a scrollable block element):
+
+ // 1) If candidateParent is not null, and it holds the distance and alignment data of the
+ // parent container element itself;
+ // 2) Parent of outer is <frame> or <iframe>;
+ // 3) Parent is any other scrollable block element.
+ if (!candidateParent.isNull()) {
+ candidate.parentAlignment = candidateParent.alignment;
+ candidate.parentDistance = candidateParent.distance;
+ candidate.enclosingScrollableBox = candidateParent.node;
+
+ } else if (!isInRootDocument(outer)) {
+ if (Document* document = static_cast<Document*>(outer->parent()))
+ candidate.enclosingScrollableBox = static_cast<Node*>(document->ownerElement());
+
+ } else if (isScrollableContainerNode(outer->parent()))
+ candidate.enclosingScrollableBox = outer->parent();
// Get distance and alignment from current candidate.
- distanceDataForNode(direction, focusedNode, currentFocusCandidate);
+ distanceDataForNode(direction, focusedNode, candidate);
// Bail out if distance is maximum.
- if (currentFocusCandidate.distance == maxDistance()) {
- candidate = candidate->traverseNextNode(outer->parent());
+ if (candidate.distance == maxDistance()) {
+ node = node->traverseNextNode(outer->parent());
continue;
}
- // If candidateParent is not null, it means that we are in a recursive call
- // from deepFineFocusableNodeInDirection (i.e. processing an element in an iframe),
- // and holds the distance and alignment data of the iframe element itself.
- if (!candidateParent.isNull()) {
- currentFocusCandidate.parentAlignment = candidateParent.alignment;
- currentFocusCandidate.parentDistance = candidateParent.distance;
- }
-
- updateFocusCandidateIfCloser(focusedNode, currentFocusCandidate, closestFocusCandidate);
+ updateFocusCandidateIfCloser(focusedNode, candidate, closest);
}
- candidate = candidate->traverseNextNode(outer->parent());
+ node = node->traverseNextNode(outer->parent());
}
}
void FocusController::deepFindFocusableNodeInDirection(Node* container, Node* focusedNode,
FocusDirection direction, KeyboardEvent* event,
- FocusCandidate& closestFocusCandidate)
+ FocusCandidate& closest)
{
- ASSERT(container->hasTagName(frameTag) || container->hasTagName(iframeTag));
+ ASSERT(container->hasTagName(frameTag)
+ || container->hasTagName(iframeTag)
+ || isScrollableContainerNode(container));
// Track if focusedNode is a descendant of the current container node being processed.
bool descendantOfContainer = false;
@@ -459,10 +506,15 @@ void FocusController::deepFindFocusableNodeInDirection(Node* container, Node* fo
descendantOfContainer = innerDocument == focusedNode->document();
firstChild = innerDocument->firstChild();
+ // Scrollable block elements (e.g. <div>, etc)
+ } else if (isScrollableContainerNode(container)) {
+
+ firstChild = container->firstChild();
+ descendantOfContainer = focusedNode->isDescendantOf(container);
}
if (descendantOfContainer) {
- findFocusableNodeInDirection(firstChild, focusedNode, direction, event, closestFocusCandidate);
+ findFocusableNodeInDirection(firstChild, focusedNode, direction, event, closest);
return;
}
@@ -476,8 +528,8 @@ void FocusController::deepFindFocusableNodeInDirection(Node* container, Node* fo
return;
// FIXME: Consider alignment?
- if (candidateParent.distance < closestFocusCandidate.distance)
- findFocusableNodeInDirection(firstChild, focusedNode, direction, event, closestFocusCandidate, candidateParent);
+ if (candidateParent.distance < closest.distance)
+ findFocusableNodeInDirection(firstChild, focusedNode, direction, event, closest, candidateParent);
}
static bool relinquishesEditingFocus(Node *node)
diff --git a/src/3rdparty/webkit/WebCore/page/Frame.cpp b/src/3rdparty/webkit/WebCore/page/Frame.cpp
index 6dbca69246..379bf7d816 100644
--- a/src/3rdparty/webkit/WebCore/page/Frame.cpp
+++ b/src/3rdparty/webkit/WebCore/page/Frame.cpp
@@ -37,6 +37,7 @@
#include "CSSPropertyNames.h"
#include "CachedCSSStyleSheet.h"
#include "Chrome.h"
+#include "ChromeClient.h"
#include "DOMWindow.h"
#include "DocLoader.h"
#include "DocumentType.h"
@@ -1853,6 +1854,13 @@ IntRect Frame::tiledBackingStoreContentsRect()
return IntRect();
return IntRect(IntPoint(), m_view->contentsSize());
}
+
+IntRect Frame::tiledBackingStoreVisibleRect()
+{
+ if (!m_page)
+ return IntRect();
+ return m_page->chrome()->client()->visibleRectForTiledBackingStore();
+}
#endif
} // namespace WebCore
diff --git a/src/3rdparty/webkit/WebCore/page/Frame.h b/src/3rdparty/webkit/WebCore/page/Frame.h
index 67761f9475..a654cd718f 100644
--- a/src/3rdparty/webkit/WebCore/page/Frame.h
+++ b/src/3rdparty/webkit/WebCore/page/Frame.h
@@ -288,6 +288,7 @@ namespace WebCore {
virtual void tiledBackingStorePaint(GraphicsContext*, const IntRect&);
virtual void tiledBackingStorePaintEnd(const Vector<IntRect>& paintedArea);
virtual IntRect tiledBackingStoreContentsRect();
+ virtual IntRect tiledBackingStoreVisibleRect();
#endif
#if PLATFORM(MAC)
diff --git a/src/3rdparty/webkit/WebCore/page/FrameView.cpp b/src/3rdparty/webkit/WebCore/page/FrameView.cpp
index 39c92de43f..a53db367f8 100644
--- a/src/3rdparty/webkit/WebCore/page/FrameView.cpp
+++ b/src/3rdparty/webkit/WebCore/page/FrameView.cpp
@@ -80,23 +80,25 @@ using namespace HTMLNames;
double FrameView::sCurrentPaintTimeStamp = 0.0;
+// REPAINT_THROTTLING now chooses default values for throttling parameters.
+// Should be removed when applications start using runtime configuration.
#if ENABLE(REPAINT_THROTTLING)
// Normal delay
-static const double deferredRepaintDelay = 0.025;
+double FrameView::s_deferredRepaintDelay = 0.025;
// Negative value would mean that first few repaints happen without a delay
-static const double initialDeferredRepaintDelayDuringLoading = 0;
+double FrameView::s_initialDeferredRepaintDelayDuringLoading = 0;
// The delay grows on each repaint to this maximum value
-static const double maxDeferredRepaintDelayDuringLoading = 2.5;
+double FrameView::s_maxDeferredRepaintDelayDuringLoading = 2.5;
// On each repaint the delay increses by this amount
-static const double deferredRepaintDelayIncrementDuringLoading = 0.5;
+double FrameView::s_deferredRepaintDelayIncrementDuringLoading = 0.5;
#else
// FIXME: Repaint throttling could be good to have on all platform.
// The balance between CPU use and repaint frequency will need some tuning for desktop.
// More hooks may be needed to reset the delay on things like GIF and CSS animations.
-static const double deferredRepaintDelay = 0;
-static const double initialDeferredRepaintDelayDuringLoading = 0;
-static const double maxDeferredRepaintDelayDuringLoading = 0;
-static const double deferredRepaintDelayIncrementDuringLoading = 0;
+double FrameView::s_deferredRepaintDelay = 0;
+double FrameView::s_initialDeferredRepaintDelayDuringLoading = 0;
+double FrameView::s_maxDeferredRepaintDelayDuringLoading = 0;
+double FrameView::s_deferredRepaintDelayIncrementDuringLoading = 0;
#endif
// The maximum number of updateWidgets iterations that should be done before returning.
@@ -200,7 +202,7 @@ void FrameView::reset()
m_deferringRepaints = 0;
m_repaintCount = 0;
m_repaintRects.clear();
- m_deferredRepaintDelay = initialDeferredRepaintDelayDuringLoading;
+ m_deferredRepaintDelay = s_initialDeferredRepaintDelayDuringLoading;
m_deferredRepaintTimer.stop();
m_lastPaintTime = 0;
m_paintBehavior = PaintBehaviorNormal;
@@ -1060,7 +1062,11 @@ void FrameView::setScrollPosition(const IntPoint& scrollPoint)
void FrameView::scrollPositionChanged()
{
frame()->eventHandler()->sendScrollEvent();
+ repaintFixedElementsAfterScrolling();
+}
+void FrameView::repaintFixedElementsAfterScrolling()
+{
// For fixed position elements, update widget positions and compositing layers after scrolling,
// but only if we're not inside of layout.
// FIXME: we could skip this if we knew the page had no fixed position elements.
@@ -1214,13 +1220,13 @@ void FrameView::updateDeferredRepaintDelay()
{
Document* document = m_frame->document();
if (!document || (!document->parsing() && !document->docLoader()->requestCount())) {
- m_deferredRepaintDelay = deferredRepaintDelay;
+ m_deferredRepaintDelay = s_deferredRepaintDelay;
return;
}
- if (m_deferredRepaintDelay < maxDeferredRepaintDelayDuringLoading) {
- m_deferredRepaintDelay += deferredRepaintDelayIncrementDuringLoading;
- if (m_deferredRepaintDelay > maxDeferredRepaintDelayDuringLoading)
- m_deferredRepaintDelay = maxDeferredRepaintDelayDuringLoading;
+ if (m_deferredRepaintDelay < s_maxDeferredRepaintDelayDuringLoading) {
+ m_deferredRepaintDelay += s_deferredRepaintDelayIncrementDuringLoading;
+ if (m_deferredRepaintDelay > s_maxDeferredRepaintDelayDuringLoading)
+ m_deferredRepaintDelay = s_maxDeferredRepaintDelayDuringLoading;
}
}
@@ -2139,4 +2145,28 @@ IntPoint FrameView::convertFromContainingView(const IntPoint& parentPoint) const
return parentPoint;
}
+// Normal delay
+void FrameView::setRepaintThrottlingDeferredRepaintDelay(double p)
+{
+ s_deferredRepaintDelay = p;
+}
+
+// Negative value would mean that first few repaints happen without a delay
+void FrameView::setRepaintThrottlingnInitialDeferredRepaintDelayDuringLoading(double p)
+{
+ s_initialDeferredRepaintDelayDuringLoading = p;
+}
+
+// The delay grows on each repaint to this maximum value
+void FrameView::setRepaintThrottlingMaxDeferredRepaintDelayDuringLoading(double p)
+{
+ s_maxDeferredRepaintDelayDuringLoading = p;
+}
+
+// On each repaint the delay increases by this amount
+void FrameView::setRepaintThrottlingDeferredRepaintDelayIncrementDuringLoading(double p)
+{
+ s_deferredRepaintDelayIncrementDuringLoading = p;
+}
+
} // namespace WebCore
diff --git a/src/3rdparty/webkit/WebCore/page/FrameView.h b/src/3rdparty/webkit/WebCore/page/FrameView.h
index 7371d13643..71fa8cd9ae 100644
--- a/src/3rdparty/webkit/WebCore/page/FrameView.h
+++ b/src/3rdparty/webkit/WebCore/page/FrameView.h
@@ -140,6 +140,7 @@ public:
virtual void scrollRectIntoViewRecursively(const IntRect&);
virtual void setScrollPosition(const IntPoint&);
void scrollPositionChanged();
+ virtual void repaintFixedElementsAfterScrolling();
String mediaType() const;
void setMediaType(const String&);
@@ -209,6 +210,15 @@ public:
bool isFrameViewScrollCorner(RenderScrollbarPart* scrollCorner) const { return m_scrollCorner == scrollCorner; }
void invalidateScrollCorner();
+ // Normal delay
+ static void setRepaintThrottlingDeferredRepaintDelay(double p);
+ // Negative value would mean that first few repaints happen without a delay
+ static void setRepaintThrottlingnInitialDeferredRepaintDelayDuringLoading(double p);
+ // The delay grows on each repaint to this maximum value
+ static void setRepaintThrottlingMaxDeferredRepaintDelayDuringLoading(double p);
+ // On each repaint the delay increses by this amount
+ static void setRepaintThrottlingDeferredRepaintDelayIncrementDuringLoading(double p);
+
protected:
virtual bool scrollContentsFastPath(const IntSize& scrollDelta, const IntRect& rectToScroll, const IntRect& clipRect);
@@ -339,6 +349,11 @@ private:
// Renderer to hold our custom scroll corner.
RenderScrollbarPart* m_scrollCorner;
+
+ static double s_deferredRepaintDelay;
+ static double s_initialDeferredRepaintDelayDuringLoading;
+ static double s_maxDeferredRepaintDelayDuringLoading;
+ static double s_deferredRepaintDelayIncrementDuringLoading;
};
#if ENABLE(INSPECTOR)
diff --git a/src/3rdparty/webkit/WebCore/page/SpatialNavigation.cpp b/src/3rdparty/webkit/WebCore/page/SpatialNavigation.cpp
index 890eacd803..1ce61c32bb 100644
--- a/src/3rdparty/webkit/WebCore/page/SpatialNavigation.cpp
+++ b/src/3rdparty/webkit/WebCore/page/SpatialNavigation.cpp
@@ -124,8 +124,11 @@ static IntRect renderRectRelativeToRootDocument(RenderObject* render)
// Handle nested frames.
for (Frame* frame = render->document()->frame(); frame; frame = frame->tree()->parent()) {
- if (HTMLFrameOwnerElement* ownerElement = frame->ownerElement())
- rect.move(ownerElement->offsetLeft(), ownerElement->offsetTop());
+ if (Element* element = static_cast<Element*>(frame->ownerElement())) {
+ do {
+ rect.move(element->offsetLeft(), element->offsetTop());
+ } while ((element = element->offsetParent()));
+ }
}
return rect;
@@ -444,7 +447,7 @@ bool hasOffscreenRect(Node* node)
// In a bottom-up way, this method tries to scroll |frame| in a given direction
// |direction|, going up in the frame tree hierarchy in case it does not succeed.
-bool scrollInDirection(Frame* frame, FocusDirection direction)
+bool scrollInDirection(Frame* frame, FocusDirection direction, const FocusCandidate& candidate)
{
if (!frame)
return false;
@@ -468,6 +471,9 @@ bool scrollInDirection(Frame* frame, FocusDirection direction)
return false;
}
+ if (!candidate.isNull() && isScrollableContainerNode(candidate.enclosingScrollableBox))
+ return frame->eventHandler()->scrollRecursively(scrollDirection, ScrollByLine, candidate.enclosingScrollableBox);
+
return frame->eventHandler()->scrollRecursively(scrollDirection, ScrollByLine);
}
@@ -477,9 +483,8 @@ void scrollIntoView(Element* element)
// it is preferable to inflate |element|'s bounding rect a bit before
// scrolling it for accurate reason.
// Element's scrollIntoView method does not provide this flexibility.
- static const int fudgeFactor = 2;
IntRect bounds = element->getRect();
- bounds.inflate(fudgeFactor);
+ bounds.inflate(fudgeFactor());
element->renderer()->enclosingLayer()->scrollRectToVisible(bounds);
}
@@ -497,14 +502,14 @@ static void deflateIfOverlapped(IntRect& a, IntRect& b)
if (!a.intersects(b) || a.contains(b) || b.contains(a))
return;
- static const int fudgeFactor = -2;
+ int deflateFactor = -fudgeFactor();
// Avoid negative width or height values.
- if ((a.width() + 2 * fudgeFactor > 0) && (a.height() + 2 * fudgeFactor > 0))
- a.inflate(fudgeFactor);
+ if ((a.width() + 2 * deflateFactor > 0) && (a.height() + 2 * deflateFactor > 0))
+ a.inflate(deflateFactor);
- if ((b.width() + 2 * fudgeFactor > 0) && (b.height() + 2 * fudgeFactor > 0))
- b.inflate(fudgeFactor);
+ if ((b.width() + 2 * deflateFactor > 0) && (b.height() + 2 * deflateFactor > 0))
+ b.inflate(deflateFactor);
}
static bool checkNegativeCoordsForNode(Node* node, const IntRect& curRect)
@@ -527,4 +532,17 @@ static bool checkNegativeCoordsForNode(Node* node, const IntRect& curRect)
return canBeScrolled;
}
+bool isScrollableContainerNode(Node* node)
+{
+ if (!node)
+ return false;
+
+ if (RenderObject* renderer = node->renderer()) {
+ return (renderer->isBox() && toRenderBox(renderer)->canBeScrolledAndHasScrollableArea()
+ && node->hasChildNodes() && !node->isDocumentNode());
+ }
+
+ return false;
+}
+
} // namespace WebCore
diff --git a/src/3rdparty/webkit/WebCore/page/SpatialNavigation.h b/src/3rdparty/webkit/WebCore/page/SpatialNavigation.h
index 90ff1cf0e6..06389a3a58 100644
--- a/src/3rdparty/webkit/WebCore/page/SpatialNavigation.h
+++ b/src/3rdparty/webkit/WebCore/page/SpatialNavigation.h
@@ -40,6 +40,11 @@ inline long long maxDistance()
return numeric_limits<long long>::max();
}
+inline unsigned int fudgeFactor()
+{
+ return 2;
+}
+
// Spatially speaking, two given elements in a web page can be:
// 1) Fully aligned: There is a full intersection between the rects, either
// vertically or horizontally.
@@ -92,6 +97,7 @@ enum RectsAlignment {
struct FocusCandidate {
FocusCandidate()
: node(0)
+ , enclosingScrollableBox(0)
, distance(maxDistance())
, parentDistance(maxDistance())
, alignment(None)
@@ -101,6 +107,7 @@ struct FocusCandidate {
FocusCandidate(Node* n)
: node(n)
+ , enclosingScrollableBox(0)
, distance(maxDistance())
, parentDistance(maxDistance())
, alignment(None)
@@ -109,9 +116,11 @@ struct FocusCandidate {
}
bool isNull() const { return !node; }
+ bool inScrollableContainer() const { return node && enclosingScrollableBox; }
Document* document() const { return node ? node->document() : 0; }
Node* node;
+ Node* enclosingScrollableBox;
long long distance;
long long parentDistance;
RectsAlignment alignment;
@@ -119,10 +128,11 @@ struct FocusCandidate {
};
void distanceDataForNode(FocusDirection direction, Node* start, FocusCandidate& candidate);
-bool scrollInDirection(Frame*, FocusDirection);
+bool scrollInDirection(Frame*, FocusDirection, const FocusCandidate& candidate = FocusCandidate());
void scrollIntoView(Element*);
bool hasOffscreenRect(Node*);
bool isInRootDocument(Node*);
+bool isScrollableContainerNode(Node*);
} // namspace WebCore
diff --git a/src/3rdparty/webkit/WebCore/platform/ScrollView.cpp b/src/3rdparty/webkit/WebCore/platform/ScrollView.cpp
index 5c70effada..5753e1dc7d 100644
--- a/src/3rdparty/webkit/WebCore/platform/ScrollView.cpp
+++ b/src/3rdparty/webkit/WebCore/platform/ScrollView.cpp
@@ -292,6 +292,7 @@ void ScrollView::valueChanged(Scrollbar* scrollbar)
if (scrollbarsSuppressed())
return;
+ repaintFixedElementsAfterScrolling();
scrollContents(scrollDelta);
}
diff --git a/src/3rdparty/webkit/WebCore/platform/ScrollView.h b/src/3rdparty/webkit/WebCore/platform/ScrollView.h
index 9134ddfba5..0f79fa8622 100644
--- a/src/3rdparty/webkit/WebCore/platform/ScrollView.h
+++ b/src/3rdparty/webkit/WebCore/platform/ScrollView.h
@@ -302,6 +302,9 @@ private:
// Called to update the scrollbars to accurately reflect the state of the view.
void updateScrollbars(const IntSize& desiredOffset);
+ // Called when the scroll position within this view changes. FrameView overrides this to generate repaint invalidations.
+ virtual void repaintFixedElementsAfterScrolling() {}
+
void platformInit();
void platformDestroy();
void platformAddChild(Widget*);
diff --git a/src/3rdparty/webkit/WebCore/platform/graphics/BitmapImage.cpp b/src/3rdparty/webkit/WebCore/platform/graphics/BitmapImage.cpp
index 910d39a0ac..799055d616 100644
--- a/src/3rdparty/webkit/WebCore/platform/graphics/BitmapImage.cpp
+++ b/src/3rdparty/webkit/WebCore/platform/graphics/BitmapImage.cpp
@@ -404,7 +404,9 @@ bool BitmapImage::internalAdvanceAnimation(bool skippingFrames)
// Get the repetition count again. If we weren't able to get a
// repetition count before, we should have decoded the whole image by
// now, so it should now be available.
- if (repetitionCount(true) && m_repetitionsComplete >= m_repetitionCount) {
+ // Note that we don't need to special-case cAnimationLoopOnce here
+ // because it is 0 (see comments on its declaration in ImageSource.h).
+ if (repetitionCount(true) != cAnimationLoopInfinite && m_repetitionsComplete > m_repetitionCount) {
m_animationFinished = true;
m_desiredFrameStartTime = 0;
--m_currentFrame;
diff --git a/src/3rdparty/webkit/WebCore/platform/graphics/ImageSource.h b/src/3rdparty/webkit/WebCore/platform/graphics/ImageSource.h
index 258fd0f695..0853d7beda 100644
--- a/src/3rdparty/webkit/WebCore/platform/graphics/ImageSource.h
+++ b/src/3rdparty/webkit/WebCore/platform/graphics/ImageSource.h
@@ -86,7 +86,22 @@ typedef RefPtr<SharedBitmap> NativeImagePtr;
#endif
#endif
-const int cAnimationLoopOnce = -1;
+// Right now GIFs are the only recognized image format that supports animation.
+// The animation system and the constants below are designed with this in mind.
+// GIFs have an optional 16-bit unsigned loop count that describes how an
+// animated GIF should be cycled. If the loop count is absent, the animation
+// cycles once; if it is 0, the animation cycles infinitely; otherwise the
+// animation plays n + 1 cycles (where n is the specified loop count). If the
+// GIF decoder defaults to cAnimationLoopOnce in the absence of any loop count
+// and translates an explicit "0" loop count to cAnimationLoopInfinite, then we
+// get a couple of nice side effects:
+// * By making cAnimationLoopOnce be 0, we allow the animation cycling code in
+// BitmapImage.cpp to avoid special-casing it, and simply treat all
+// non-negative loop counts identically.
+// * By making the other two constants negative, we avoid conflicts with any
+// real loop count values.
+const int cAnimationLoopOnce = 0;
+const int cAnimationLoopInfinite = -1;
const int cAnimationNone = -2;
class ImageSource : public Noncopyable {
diff --git a/src/3rdparty/webkit/WebCore/platform/graphics/TiledBackingStore.cpp b/src/3rdparty/webkit/WebCore/platform/graphics/TiledBackingStore.cpp
index 6214f1bb9b..1d6f237068 100644
--- a/src/3rdparty/webkit/WebCore/platform/graphics/TiledBackingStore.cpp
+++ b/src/3rdparty/webkit/WebCore/platform/graphics/TiledBackingStore.cpp
@@ -35,6 +35,9 @@ TiledBackingStore::TiledBackingStore(TiledBackingStoreClient* client)
, m_tileBufferUpdateTimer(new TileTimer(this, &TiledBackingStore::tileBufferUpdateTimerFired))
, m_tileCreationTimer(new TileTimer(this, &TiledBackingStore::tileCreationTimerFired))
, m_tileSize(defaultTileWidth, defaultTileHeight)
+ , m_tileCreationDelay(0.01)
+ , m_keepAreaMultiplier(2.f, 3.5f)
+ , m_coverAreaMultiplier(1.5f, 2.5f)
, m_contentsScale(1.f)
, m_pendingScale(0)
, m_contentsFrozen(false)
@@ -46,6 +49,25 @@ TiledBackingStore::~TiledBackingStore()
delete m_tileBufferUpdateTimer;
delete m_tileCreationTimer;
}
+
+void TiledBackingStore::setTileSize(const IntSize& size)
+{
+ m_tileSize = size;
+ m_tiles.clear();
+ startTileCreationTimer();
+}
+
+void TiledBackingStore::setTileCreationDelay(double delay)
+{
+ m_tileCreationDelay = delay;
+}
+
+void TiledBackingStore::setKeepAndCoverAreaMultipliers(const FloatSize& keepMultiplier, const FloatSize& coverMultiplier)
+{
+ m_keepAreaMultiplier = keepMultiplier;
+ m_coverAreaMultiplier = coverMultiplier;
+ startTileCreationTimer();
+}
void TiledBackingStore::invalidate(const IntRect& contentsDirtyRect)
{
@@ -120,22 +142,23 @@ void TiledBackingStore::paint(GraphicsContext* context, const IntRect& rect)
if (currentTile && currentTile->isReadyToPaint())
currentTile->paint(context, dirtyRect);
else {
- FloatRect tileRect = tileRectForCoordinate(currentCoordinate);
- FloatRect target = intersection(tileRect, FloatRect(rect));
- Tile::paintCheckerPattern(context, target);
+ IntRect tileRect = tileRectForCoordinate(currentCoordinate);
+ IntRect target = intersection(tileRect, dirtyRect);
+ if (target.isEmpty())
+ continue;
+ Tile::paintCheckerPattern(context, FloatRect(target));
}
}
}
context->restore();
}
-void TiledBackingStore::viewportChanged(const IntRect& contentsViewport)
+void TiledBackingStore::adjustVisibleRect()
{
- IntRect viewport = mapFromContents(contentsViewport);
- if (m_viewport == viewport)
+ IntRect visibleRect = mapFromContents(m_client->tiledBackingStoreVisibleRect());
+ if (m_previousVisibleRect == visibleRect)
return;
-
- m_viewport = viewport;
+ m_previousVisibleRect = visibleRect;
startTileCreationTimer();
}
@@ -177,24 +200,26 @@ void TiledBackingStore::createTiles()
{
if (m_contentsFrozen)
return;
+
+ IntRect visibleRect = mapFromContents(m_client->tiledBackingStoreVisibleRect());
+ m_previousVisibleRect = visibleRect;
- if (m_viewport.isEmpty())
+ if (visibleRect.isEmpty())
return;
// Remove tiles that extend outside the current contents rect.
dropOverhangingTiles();
- // FIXME: Make configurable/adapt to memory.
- IntRect keepRect = m_viewport;
- keepRect.inflateX(m_viewport.width());
- keepRect.inflateY(3 * m_viewport.height());
+ IntRect keepRect = visibleRect;
+ keepRect.inflateX(visibleRect.width() * (m_keepAreaMultiplier.width() - 1.f));
+ keepRect.inflateY(visibleRect.height() * (m_keepAreaMultiplier.height() - 1.f));
keepRect.intersect(contentsRect());
dropTilesOutsideRect(keepRect);
- IntRect coverRect = m_viewport;
- coverRect.inflateX(m_viewport.width() / 2);
- coverRect.inflateY(2 * m_viewport.height());
+ IntRect coverRect = visibleRect;
+ coverRect.inflateX(visibleRect.width() * (m_coverAreaMultiplier.width() - 1.f));
+ coverRect.inflateY(visibleRect.height() * (m_coverAreaMultiplier.height() - 1.f));
coverRect.intersect(contentsRect());
// Search for the tile position closest to the viewport center that does not yet contain a tile.
@@ -211,7 +236,7 @@ void TiledBackingStore::createTiles()
continue;
++requiredTileCount;
// Distance is 0 for all currently visible tiles.
- double distance = tileDistance(m_viewport, currentCoordinate);
+ double distance = tileDistance(visibleRect, currentCoordinate);
if (distance > shortestDistance)
continue;
if (distance < shortestDistance) {
@@ -236,7 +261,7 @@ void TiledBackingStore::createTiles()
// Keep creating tiles until the whole coverRect is covered.
if (requiredTileCount)
- m_tileCreationTimer->startOneShot(0);
+ m_tileCreationTimer->startOneShot(m_tileCreationDelay);
}
void TiledBackingStore::dropOverhangingTiles()
diff --git a/src/3rdparty/webkit/WebCore/platform/graphics/TiledBackingStore.h b/src/3rdparty/webkit/WebCore/platform/graphics/TiledBackingStore.h
index 8ed4336e47..58477db9db 100644
--- a/src/3rdparty/webkit/WebCore/platform/graphics/TiledBackingStore.h
+++ b/src/3rdparty/webkit/WebCore/platform/graphics/TiledBackingStore.h
@@ -41,7 +41,7 @@ public:
TiledBackingStore(TiledBackingStoreClient*);
~TiledBackingStore();
- void viewportChanged(const IntRect& viewportRect);
+ void adjustVisibleRect();
float contentsScale() { return m_contentsScale; }
void setContentsScale(float);
@@ -51,6 +51,20 @@ public:
void invalidate(const IntRect& dirtyRect);
void paint(GraphicsContext*, const IntRect&);
+
+ IntSize tileSize() { return m_tileSize; }
+ void setTileSize(const IntSize&);
+
+ double tileCreationDelay() const { return m_tileCreationDelay; }
+ void setTileCreationDelay(double delay);
+
+ // Tiled are dropped outside the keep area, and created for cover area. The values a relative to the viewport size.
+ void getKeepAndCoverAreaMultipliers(FloatSize& keepMultiplier, FloatSize& coverMultiplier)
+ {
+ keepMultiplier = m_keepAreaMultiplier;
+ coverMultiplier = m_coverAreaMultiplier;
+ }
+ void setKeepAndCoverAreaMultipliers(const FloatSize& keepMultiplier, const FloatSize& coverMultiplier);
private:
void startTileBufferUpdateTimer();
@@ -94,8 +108,11 @@ private:
TileTimer* m_tileCreationTimer;
IntSize m_tileSize;
+ double m_tileCreationDelay;
+ FloatSize m_keepAreaMultiplier;
+ FloatSize m_coverAreaMultiplier;
- IntRect m_viewport;
+ IntRect m_previousVisibleRect;
float m_contentsScale;
float m_pendingScale;
diff --git a/src/3rdparty/webkit/WebCore/platform/graphics/TiledBackingStoreClient.h b/src/3rdparty/webkit/WebCore/platform/graphics/TiledBackingStoreClient.h
index 4adbbab501..c5845b9783 100644
--- a/src/3rdparty/webkit/WebCore/platform/graphics/TiledBackingStoreClient.h
+++ b/src/3rdparty/webkit/WebCore/platform/graphics/TiledBackingStoreClient.h
@@ -29,6 +29,7 @@ public:
virtual void tiledBackingStorePaint(GraphicsContext*, const IntRect&) = 0;
virtual void tiledBackingStorePaintEnd(const Vector<IntRect>& paintedArea) = 0;
virtual IntRect tiledBackingStoreContentsRect() = 0;
+ virtual IntRect tiledBackingStoreVisibleRect() = 0;
};
#else
diff --git a/src/3rdparty/webkit/WebCore/platform/graphics/qt/FontQt.cpp b/src/3rdparty/webkit/WebCore/platform/graphics/qt/FontQt.cpp
index 1e92dccced..ae1033e105 100644
--- a/src/3rdparty/webkit/WebCore/platform/graphics/qt/FontQt.cpp
+++ b/src/3rdparty/webkit/WebCore/platform/graphics/qt/FontQt.cpp
@@ -73,28 +73,31 @@ void Font::drawComplexText(GraphicsContext* ctx, const TextRun& run, const Float
QPainter *p = ctx->platformContext();
+ QPen textFillPen;
if (ctx->textDrawingMode() & cTextFill) {
if (ctx->fillGradient()) {
QBrush brush(*ctx->fillGradient()->platformGradient());
brush.setTransform(ctx->fillGradient()->gradientSpaceTransform());
- p->setPen(QPen(brush, 0));
+ textFillPen = QPen(brush, 0);
} else if (ctx->fillPattern()) {
AffineTransform affine;
- p->setPen(QPen(QBrush(ctx->fillPattern()->createPlatformPattern(affine)), 0));
+ textFillPen = QPen(QBrush(ctx->fillPattern()->createPlatformPattern(affine)), 0);
} else
- p->setPen(QColor(ctx->fillColor()));
+ textFillPen = QPen(QColor(ctx->fillColor()));
}
+ QPen textStrokePen;
if (ctx->textDrawingMode() & cTextStroke) {
if (ctx->strokeGradient()) {
QBrush brush(*ctx->strokeGradient()->platformGradient());
brush.setTransform(ctx->strokeGradient()->gradientSpaceTransform());
- p->setPen(QPen(brush, ctx->strokeThickness()));
+ textStrokePen = QPen(brush, ctx->strokeThickness());
} else if (ctx->strokePattern()) {
AffineTransform affine;
- p->setPen(QPen(QBrush(ctx->strokePattern()->createPlatformPattern(affine)), ctx->strokeThickness()));
+ QBrush brush(ctx->strokePattern()->createPlatformPattern(affine));
+ textStrokePen = QPen(brush, ctx->strokeThickness());
} else
- p->setPen(QPen(QColor(ctx->strokeColor()), ctx->strokeThickness()));
+ textStrokePen = QPen(QColor(ctx->strokeColor()), ctx->strokeThickness());
}
String sanitized = Font::normalizeSpaces(String(run.characters(), run.length()));
@@ -143,6 +146,7 @@ void Font::drawComplexText(GraphicsContext* ctx, const TextRun& run, const Float
line.draw(p, pt);
p->restore();
}
+ p->setPen(textFillPen);
line.draw(p, pt);
p->restore();
return;
@@ -163,10 +167,13 @@ void Font::drawComplexText(GraphicsContext* ctx, const TextRun& run, const Float
if (ctx->textDrawingMode() & cTextStroke) {
QPainterPath path;
path.addText(pt, font(), string);
+ p->setPen(textStrokePen);
p->strokePath(path, p->pen());
}
- if (ctx->textDrawingMode() & cTextFill)
+ if (ctx->textDrawingMode() & cTextFill) {
+ p->setPen(textFillPen);
p->drawText(pt, string, flags, run.padding());
+ }
}
float Font::floatWidthForComplexText(const TextRun& run, HashSet<const SimpleFontData*>*) const
diff --git a/src/3rdparty/webkit/WebCore/platform/graphics/qt/GraphicsContextQt.cpp b/src/3rdparty/webkit/WebCore/platform/graphics/qt/GraphicsContextQt.cpp
index edac268f85..bdb810a57e 100644
--- a/src/3rdparty/webkit/WebCore/platform/graphics/qt/GraphicsContextQt.cpp
+++ b/src/3rdparty/webkit/WebCore/platform/graphics/qt/GraphicsContextQt.cpp
@@ -167,8 +167,11 @@ static inline Qt::FillRule toQtFillRule(WindRule rule)
}
struct TransparencyLayer : FastAllocBase {
- TransparencyLayer(const QPainter* p, const QRect &rect)
+ TransparencyLayer(const QPainter* p, const QRect &rect, qreal opacity, QPixmap& alphaMask)
: pixmap(rect.width(), rect.height())
+ , opacity(opacity)
+ , alphaMask(alphaMask)
+ , saveCounter(1) // see the comment for saveCounter
{
offset = rect.topLeft();
pixmap.fill(Qt::transparent);
@@ -182,7 +185,9 @@ struct TransparencyLayer : FastAllocBase {
painter.setFont(p->font());
if (painter.paintEngine()->hasFeature(QPaintEngine::PorterDuff))
painter.setCompositionMode(p->compositionMode());
- painter.setClipPath(p->clipPath());
+ // if the path is an empty region, this assignment disables all painting
+ if (!p->clipPath().isEmpty())
+ painter.setClipPath(p->clipPath());
}
TransparencyLayer()
@@ -193,6 +198,11 @@ struct TransparencyLayer : FastAllocBase {
QPoint offset;
QPainter painter;
qreal opacity;
+ // for clipToImageBuffer
+ QPixmap alphaMask;
+ // saveCounter is only used in combination with alphaMask
+ // otherwise, its value is unspecified
+ int saveCounter;
private:
TransparencyLayer(const TransparencyLayer &) {}
TransparencyLayer & operator=(const TransparencyLayer &) { return *this; }
@@ -217,6 +227,9 @@ public:
bool antiAliasingForRectsAndLines;
QStack<TransparencyLayer*> layers;
+ // Counting real layers. Required by inTransparencyLayer() calls
+ // For example, layers with valid alphaMask are not real layers
+ int layerCount;
QPainter* redirect;
// reuse this brush for solid color (to prevent expensive QBrush construction)
@@ -235,6 +248,7 @@ private:
GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate(QPainter* p)
{
painter = p;
+ layerCount = 0;
redirect = 0;
solidColor = QBrush(Qt::black);
@@ -289,11 +303,17 @@ AffineTransform GraphicsContext::getCTM() const
void GraphicsContext::savePlatformState()
{
+ if (!m_data->layers.isEmpty() && !m_data->layers.top()->alphaMask.isNull())
+ ++m_data->layers.top()->saveCounter;
m_data->p()->save();
}
void GraphicsContext::restorePlatformState()
{
+ if (!m_data->layers.isEmpty() && !m_data->layers.top()->alphaMask.isNull())
+ if (!--m_data->layers.top()->saveCounter)
+ endTransparencyLayer();
+
m_data->p()->restore();
if (!m_data->currentPath.isEmpty() && m_common->state.pathTransform.isInvertible()) {
@@ -641,12 +661,12 @@ void GraphicsContext::fillRect(const FloatRect& rect)
}
}
-void GraphicsContext::fillRect(const FloatRect& rect, const Color& c, ColorSpace colorSpace)
+void GraphicsContext::fillRect(const FloatRect& rect, const Color& color, ColorSpace colorSpace)
{
- if (paintingDisabled())
+ if (paintingDisabled() || !color.isValid())
return;
- m_data->solidColor.setColor(c);
+ m_data->solidColor.setColor(color);
QPainter* p = m_data->p();
if (m_common->state.shadowColor.isValid())
drawBorderlessRectShadow(this, p, rect);
@@ -655,7 +675,7 @@ void GraphicsContext::fillRect(const FloatRect& rect, const Color& c, ColorSpace
void GraphicsContext::fillRoundedRect(const IntRect& rect, const IntSize& topLeft, const IntSize& topRight, const IntSize& bottomLeft, const IntSize& bottomRight, const Color& color, ColorSpace colorSpace)
{
- if (paintingDisabled() || !color.alpha())
+ if (paintingDisabled() || !color.isValid() || !color.alpha())
return;
Path path = Path::createRoundedRectangle(rect, topLeft, topRight, bottomLeft, bottomRight);
@@ -678,7 +698,7 @@ void GraphicsContext::addPath(const Path& path)
bool GraphicsContext::inTransparencyLayer() const
{
- return !m_data->layers.isEmpty();
+ return m_data->layerCount;
}
PlatformPath* GraphicsContext::currentPath()
@@ -717,7 +737,7 @@ void GraphicsContext::drawFocusRing(const Vector<Path>& paths, int width, int of
*/
void GraphicsContext::drawFocusRing(const Vector<IntRect>& rects, int /* width */, int /* offset */, const Color& color)
{
- if (paintingDisabled())
+ if (paintingDisabled() || !color.isValid())
return;
unsigned rectCount = rects.size();
@@ -837,10 +857,9 @@ void GraphicsContext::beginTransparencyLayer(float opacity)
w = int(qBound(qreal(0), deviceClip.width(), (qreal)w) + 2);
h = int(qBound(qreal(0), deviceClip.height(), (qreal)h) + 2);
- TransparencyLayer * layer = new TransparencyLayer(m_data->p(), QRect(x, y, w, h));
-
- layer->opacity = opacity;
- m_data->layers.push(layer);
+ QPixmap emptyAlphaMask;
+ m_data->layers.push(new TransparencyLayer(m_data->p(), QRect(x, y, w, h), opacity, emptyAlphaMask));
+ ++m_data->layerCount;
}
void GraphicsContext::endTransparencyLayer()
@@ -849,6 +868,12 @@ void GraphicsContext::endTransparencyLayer()
return;
TransparencyLayer* layer = m_data->layers.pop();
+ if (!layer->alphaMask.isNull()) {
+ layer->painter.resetTransform();
+ layer->painter.setCompositionMode(QPainter::CompositionMode_DestinationIn);
+ layer->painter.drawPixmap(QPoint(), layer->alphaMask);
+ } else
+ --m_data->layerCount; // see the comment for layerCount
layer->painter.end();
QPainter* p = m_data->p();
@@ -1086,9 +1111,21 @@ void GraphicsContext::clipOutEllipseInRect(const IntRect& rect)
}
}
-void GraphicsContext::clipToImageBuffer(const FloatRect&, const ImageBuffer*)
+void GraphicsContext::clipToImageBuffer(const FloatRect& floatRect, const ImageBuffer* image)
{
- notImplemented();
+ if (paintingDisabled())
+ return;
+
+ QPixmap* nativeImage = image->image()->nativeImageForCurrentFrame();
+ if (!nativeImage)
+ return;
+
+ IntRect rect(floatRect);
+ QPixmap alphaMask = *nativeImage;
+ if (alphaMask.width() != rect.width() || alphaMask.height() != rect.height())
+ alphaMask = alphaMask.scaled(rect.width(), rect.height());
+
+ m_data->layers.push(new TransparencyLayer(m_data->p(), m_data->p()->transform().mapRect(rect), 1.0, alphaMask));
}
void GraphicsContext::addInnerRoundedRectClip(const IntRect& rect,
@@ -1141,8 +1178,9 @@ void GraphicsContext::setURLForRect(const KURL&, const IntRect&)
void GraphicsContext::setPlatformStrokeColor(const Color& color, ColorSpace colorSpace)
{
- if (paintingDisabled())
+ if (paintingDisabled() || !color.isValid())
return;
+
QPainter* p = m_data->p();
QPen newPen(p->pen());
m_data->solidColor.setColor(color);
@@ -1172,8 +1210,9 @@ void GraphicsContext::setPlatformStrokeThickness(float thickness)
void GraphicsContext::setPlatformFillColor(const Color& color, ColorSpace colorSpace)
{
- if (paintingDisabled())
+ if (paintingDisabled() || !color.isValid())
return;
+
m_data->solidColor.setColor(color);
m_data->p()->setBrush(m_data->solidColor);
}
diff --git a/src/3rdparty/webkit/WebCore/platform/graphics/qt/GraphicsLayerQt.cpp b/src/3rdparty/webkit/WebCore/platform/graphics/qt/GraphicsLayerQt.cpp
index 1c4c275e08..ad2ec9c2d1 100644
--- a/src/3rdparty/webkit/WebCore/platform/graphics/qt/GraphicsLayerQt.cpp
+++ b/src/3rdparty/webkit/WebCore/platform/graphics/qt/GraphicsLayerQt.cpp
@@ -43,6 +43,7 @@
namespace WebCore {
+#ifndef QT_NO_GRAPHICSEFFECT
class MaskEffectQt : public QGraphicsEffect {
public:
MaskEffectQt(QObject* parent, QGraphicsItem* maskLayer)
@@ -57,7 +58,12 @@ public:
// It's more efficient to do it this way because
// (a) we don't need the QBrush abstraction - we always end up using QGraphicsItem::paint from the mask layer
// (b) QGraphicsOpacityEffect detaches the pixmap, which is inefficient on OpenGL.
- QPixmap maskPixmap(sourceBoundingRect().toAlignedRect().size());
+ const QSize maskSize = sourceBoundingRect().toAlignedRect().size();
+ if (!maskSize.isValid() || maskSize.isEmpty()) {
+ drawSource(painter);
+ return;
+ }
+ QPixmap maskPixmap(maskSize);
// we need to do this so the pixmap would have hasAlpha()
maskPixmap.fill(Qt::transparent);
@@ -91,6 +97,7 @@ public:
QGraphicsItem* m_maskLayer;
};
+#endif // QT_NO_GRAPHICSEFFECT
class GraphicsLayerQtImpl : public QGraphicsObject {
Q_OBJECT
@@ -179,7 +186,9 @@ public:
TransformationMatrix m_transformRelativeToRootLayer;
bool m_transformAnimationRunning;
bool m_opacityAnimationRunning;
+#ifndef QT_NO_GRAPHICSEFFECT
QWeakPointer<MaskEffectQt> m_maskEffect;
+#endif
struct ContentData {
QPixmap pixmap;
@@ -294,7 +303,7 @@ const GraphicsLayerQtImpl* GraphicsLayerQtImpl::rootLayer() const
QPixmap GraphicsLayerQtImpl::recache(const QRegion& regionToUpdate)
{
- if (!m_layer->drawsContent())
+ if (!m_layer->drawsContent() || m_size.isEmpty() ||!m_size.isValid())
return QPixmap();
QRegion region = regionToUpdate;
@@ -321,6 +330,7 @@ QPixmap GraphicsLayerQtImpl::recache(const QRegion& regionToUpdate)
// Render the actual contents into the cache
painter.setCompositionMode(QPainter::CompositionMode_SourceOver);
m_layer->paintGraphicsLayerContents(gc, region.boundingRect());
+ painter.end();
m_backingStoreKey = QPixmapCache::insert(pixmap);
return pixmap;
@@ -357,14 +367,6 @@ void GraphicsLayerQtImpl::updateTransform()
return;
}
- // Simplistic depth test - we stack the item behind its parent if its computed z is lower than the parent's computed z at the item's center point.
- if (parent) {
- const QPointF centerPointMappedToRoot = rootLayer()->mapFromItem(this, m_size.width() / 2, m_size.height() / 2);
- setFlag(ItemStacksBehindParent,
- m_transformRelativeToRootLayer.mapPoint(FloatPoint3D(centerPointMappedToRoot.x(), centerPointMappedToRoot.y(), 0)).z() <
- parent->m_transformRelativeToRootLayer.mapPoint(FloatPoint3D(centerPointMappedToRoot.x(), centerPointMappedToRoot.y(), 0)).z());
- }
-
// The item is front-facing or backface-visibility is on.
setVisible(true);
@@ -523,6 +525,7 @@ void GraphicsLayerQtImpl::flushChanges(bool recursive, bool forceUpdateTransform
// we can't paint here, because we don't know if the mask layer
// itself is ready... we'll have to wait till this layer tries to paint
setFlag(ItemClipsChildrenToShape, m_layer->maskLayer() || m_layer->masksToBounds());
+#ifndef QT_NO_GRAPHICSEFFECT
setGraphicsEffect(0);
if (m_layer->maskLayer()) {
if (GraphicsLayerQtImpl* mask = qobject_cast<GraphicsLayerQtImpl*>(m_layer->maskLayer()->platformLayer()->toGraphicsObject())) {
@@ -530,6 +533,7 @@ void GraphicsLayerQtImpl::flushChanges(bool recursive, bool forceUpdateTransform
setGraphicsEffect(mask->m_maskEffect.data());
}
}
+#endif
}
if (m_changeMask & SizeChange) {
@@ -604,11 +608,17 @@ void GraphicsLayerQtImpl::flushChanges(bool recursive, bool forceUpdateTransform
if ((m_changeMask & ContentsOpaqueChange) && m_state.contentsOpaque != m_layer->contentsOpaque())
prepareGeometryChange();
+#ifndef QT_NO_GRAPHICSEFFECT
if (m_maskEffect)
m_maskEffect.data()->update();
- else if (m_changeMask & DisplayChange) {
+ else
+#endif
+ if (m_changeMask & DisplayChange) {
// Recache now: all the content is ready and we don't want to wait until the paint event.
- recache(m_pendingContent.regionToUpdate);
+ // We only need to do this for HTML content, there's no point in caching directly composited
+ // content like images or solid rectangles.
+ if (m_pendingContent.contentType == HTMLContentType)
+ recache(m_pendingContent.regionToUpdate);
update(m_pendingContent.regionToUpdate.boundingRect());
m_pendingContent.regionToUpdate = QRegion();
}
@@ -1197,9 +1207,9 @@ public:
transformMatrix.blend(m_sourceMatrix, progress);
}
+ m_layer.data()->m_layer->setTransform(transformMatrix);
+ // We force the actual opacity change, otherwise it would be ignored because of the animation.
m_layer.data()->setBaseTransform(transformMatrix);
- if (m_fillsForwards)
- m_layer.data()->m_layer->setTransform(m_layer.data()->m_baseTransform);
}
virtual void updateState(QAbstractAnimation::State newState, QAbstractAnimation::State oldState)
@@ -1237,18 +1247,19 @@ public:
if (m_fillsForwards)
setCurrentTime(1);
}
+
virtual void applyFrame(const qreal& fromValue, const qreal& toValue, qreal progress)
{
qreal opacity = qBound(qreal(0), fromValue + (toValue-fromValue)*progress, qreal(1));
// FIXME: this is a hack, due to a probable QGraphicsScene bug.
// Without this the opacity change doesn't always have immediate effect.
- if (!m_layer.data()->opacity() && opacity)
+ if (m_layer.data()->scene() && !m_layer.data()->opacity() && opacity)
m_layer.data()->scene()->update();
+ m_layer.data()->m_layer->setOpacity(opacity);
+ // We force the actual opacity change, otherwise it would be ignored because of the animation.
m_layer.data()->setOpacity(opacity);
- if (m_fillsForwards)
- m_layer.data()->m_layer->setOpacity(opacity);
}
virtual void updateState(QAbstractAnimation::State newState, QAbstractAnimation::State oldState)
diff --git a/src/3rdparty/webkit/WebCore/platform/graphics/qt/ImageBufferQt.cpp b/src/3rdparty/webkit/WebCore/platform/graphics/qt/ImageBufferQt.cpp
index d8315660a2..eafdcf04b4 100644
--- a/src/3rdparty/webkit/WebCore/platform/graphics/qt/ImageBufferQt.cpp
+++ b/src/3rdparty/webkit/WebCore/platform/graphics/qt/ImageBufferQt.cpp
@@ -46,12 +46,19 @@ namespace WebCore {
ImageBufferData::ImageBufferData(const IntSize& size)
: m_pixmap(size)
+ , m_painter(0)
{
+ if (m_pixmap.isNull())
+ return;
+
m_pixmap.fill(QColor(Qt::transparent));
- QPainter* painter = new QPainter(&m_pixmap);
+ QPainter* painter = new QPainter;
m_painter.set(painter);
+ if (!painter->begin(&m_pixmap))
+ return;
+
// Since ImageBuffer is used mainly for Canvas, explicitly initialize
// its painter's pen and brush with the corresponding canvas defaults
// NOTE: keep in sync with CanvasRenderingContext2D::State
@@ -72,8 +79,11 @@ ImageBuffer::ImageBuffer(const IntSize& size, ImageColorSpace, bool& success)
: m_data(size)
, m_size(size)
{
+ success = m_data.m_painter && m_data.m_painter->isActive();
+ if (!success)
+ return;
+
m_context.set(new GraphicsContext(m_data.m_painter.get()));
- success = true;
}
ImageBuffer::~ImageBuffer()
diff --git a/src/3rdparty/webkit/WebCore/platform/graphics/qt/ImageDecoderQt.cpp b/src/3rdparty/webkit/WebCore/platform/graphics/qt/ImageDecoderQt.cpp
index b10cc714f5..cc707da1b1 100644
--- a/src/3rdparty/webkit/WebCore/platform/graphics/qt/ImageDecoderQt.cpp
+++ b/src/3rdparty/webkit/WebCore/platform/graphics/qt/ImageDecoderQt.cpp
@@ -115,22 +115,8 @@ size_t ImageDecoderQt::frameCount()
int ImageDecoderQt::repetitionCount() const
{
- if (m_reader && m_reader->supportsAnimation()) {
+ if (m_reader && m_reader->supportsAnimation())
m_repetitionCount = m_reader->loopCount();
-
- // Qt and WebCore have a incompatible understanding of
- // the loop count and we can not completely map everything.
- // Qt | WebCore | description
- // -1 | 0 | infinite animation
- // 0 | cAnimationLoopOnce | show every frame once
- // n | n | no idea if that is supported
- // n/a | cAnimationNone | show only the first frame
- if (m_repetitionCount == -1)
- m_repetitionCount = 0;
- else if (m_repetitionCount == 0)
- m_repetitionCount = cAnimationLoopOnce;
- }
-
return m_repetitionCount;
}
@@ -205,6 +191,8 @@ bool ImageDecoderQt::internalHandleCurrentImage(size_t frameIndex)
// Now get the QImage from Qt and place it in the RGBA32Buffer
QImage img;
if (!m_reader->read(&img)) {
+ frameCount();
+ repetitionCount();
clearPointers();
return false;
}
diff --git a/src/3rdparty/webkit/WebCore/platform/graphics/qt/PathQt.cpp b/src/3rdparty/webkit/WebCore/platform/graphics/qt/PathQt.cpp
index ee4af7fe01..a7351a06e9 100644
--- a/src/3rdparty/webkit/WebCore/platform/graphics/qt/PathQt.cpp
+++ b/src/3rdparty/webkit/WebCore/platform/graphics/qt/PathQt.cpp
@@ -69,12 +69,41 @@ Path& Path::operator=(const Path& other)
return *this;
}
+// Check whether a point is on the border
+bool isPointOnPathBorder(const QPolygonF& border, const QPointF& p)
+{
+ QPointF p1 = border.at(0);
+ QPointF p2;
+
+ for (int i = 1; i < border.size(); ++i) {
+ p2 = border.at(i);
+ // (x1<=x<=x2||x1=>x>=x2) && (y1<=y<=y2||y1=>y>=y2) && (y2-y1)(x-x1) == (y-y1)(x2-x1)
+ // In which, (y2-y1)(x-x1) == (y-y1)(x2-x1) is from (y2-y1)/(x2-x1) == (y-y1)/(x-x1)
+ // it want to check the slope between p1 and p2 is same with slope between p and p1,
+ // if so then the three points lie on the same line.
+ // In which, (x1<=x<=x2||x1=>x>=x2) && (y1<=y<=y2||y1=>y>=y2) want to make sure p is
+ // between p1 and p2, not outside.
+ if (((p.x() <= p1.x() && p.x() >= p2.x()) || (p.x() >= p1.x() && p.x() <= p2.x()))
+ && ((p.y() <= p1.y() && p.y() >= p2.y()) || (p.y() >= p1.y() && p.y() <= p2.y()))
+ && (p2.y() - p1.y()) * (p.x() - p1.x()) == (p.y() - p1.y()) * (p2.x() - p1.x())) {
+ return true;
+ }
+ p1 = p2;
+ }
+ return false;
+}
+
bool Path::contains(const FloatPoint& point, WindRule rule) const
{
Qt::FillRule savedRule = m_path.fillRule();
const_cast<QPainterPath*>(&m_path)->setFillRule(rule == RULE_EVENODD ? Qt::OddEvenFill : Qt::WindingFill);
bool contains = m_path.contains(point);
+
+ if (!contains) {
+ // check whether the point is on the border
+ contains = isPointOnPathBorder(m_path.toFillPolygon(), point);
+ }
const_cast<QPainterPath*>(&m_path)->setFillRule(savedRule);
return contains;
@@ -269,9 +298,10 @@ void Path::addArc(const FloatPoint& p, float r, float sar, float ear, bool antic
span += ea - sa;
}
- // connect to the previous point by a straight line
- m_path.lineTo(QPointF(xc + radius * cos(sar),
- yc - radius * sin(sar)));
+ // If the path is empty, move to where the arc will start to avoid painting a line from (0,0)
+ // NOTE: QPainterPath::isEmpty() won't work here since it ignores a lone MoveToElement
+ if (!m_path.elementCount())
+ m_path.arcMoveTo(xs, ys, width, height, sa);
m_path.arcTo(xs, ys, width, height, sa, span);
diff --git a/src/3rdparty/webkit/WebCore/platform/network/NetworkStateNotifier.h b/src/3rdparty/webkit/WebCore/platform/network/NetworkStateNotifier.h
index 781259cf1a..d1f2db4405 100644
--- a/src/3rdparty/webkit/WebCore/platform/network/NetworkStateNotifier.h
+++ b/src/3rdparty/webkit/WebCore/platform/network/NetworkStateNotifier.h
@@ -44,6 +44,15 @@ typedef const struct __SCDynamicStore * SCDynamicStoreRef;
#include <windows.h>
+#elif PLATFORM(QT)
+
+#include <QtCore/qglobal.h>
+
+#ifdef QT_NO_BEARERMANAGEMENT
+#undef ENABLE_QT_BEARER
+#define ENABLE_QT_BEARER 0
+#endif
+
#endif
namespace WebCore {
diff --git a/src/3rdparty/webkit/WebCore/platform/network/qt/DnsPrefetchHelper.h b/src/3rdparty/webkit/WebCore/platform/network/qt/DnsPrefetchHelper.h
index 0d98fcb1ea..e3550251bb 100644
--- a/src/3rdparty/webkit/WebCore/platform/network/qt/DnsPrefetchHelper.h
+++ b/src/3rdparty/webkit/WebCore/platform/network/qt/DnsPrefetchHelper.h
@@ -42,6 +42,13 @@ namespace WebCore {
if (currentLookups >= 10)
return; // do not launch more than 10 lookups at the same time
+#if QT_VERSION >= QT_VERSION_CHECK(4, 6, 3)
+ currentLookups++;
+ QHostInfo::lookupHost(hostname, this, SLOT(lookedUp(QHostInfo)));
+#else
+ // This code is only needed for Qt versions that do not have
+ // the small Qt DNS cache yet.
+
QTime* entryTime = lookupCache.object(hostname);
if (entryTime && entryTime->elapsed() > 300*1000) {
// delete knowledge about lookup if it is already 300 seconds old
@@ -54,6 +61,7 @@ namespace WebCore {
currentLookups++;
QHostInfo::lookupHost(hostname, this, SLOT(lookedUp(QHostInfo)));
}
+#endif
}
void lookedUp(const QHostInfo&)
@@ -61,11 +69,14 @@ namespace WebCore {
// we do not cache the result, we throw it away.
// we currently rely on the OS to cache the results. If it does not do that
// then at least the ISP nameserver did it.
+ // Since Qt 4.6.3, Qt also has a small DNS cache.
currentLookups--;
}
protected:
+#if QT_VERSION < QT_VERSION_CHECK(4, 6, 3)
QCache<QString, QTime> lookupCache; // 100 entries
+#endif
int currentLookups;
};
diff --git a/src/3rdparty/webkit/WebCore/platform/network/qt/NetworkStateNotifierQt.cpp b/src/3rdparty/webkit/WebCore/platform/network/qt/NetworkStateNotifierQt.cpp
index 52512aae2f..3aae92a255 100644
--- a/src/3rdparty/webkit/WebCore/platform/network/qt/NetworkStateNotifierQt.cpp
+++ b/src/3rdparty/webkit/WebCore/platform/network/qt/NetworkStateNotifierQt.cpp
@@ -20,6 +20,8 @@
#include "config.h"
#include "NetworkStateNotifier.h"
+#if PLATFORM(QT) && ENABLE(QT_BEARER)
+
#include "NetworkStateNotifierPrivate.h"
#include "qnetworkconfigmanager.h"
@@ -89,4 +91,6 @@ void NetworkStateNotifier::setNetworkAccessAllowed(bool isAllowed)
} // namespace WebCore
+#endif
+
#include "moc_NetworkStateNotifierPrivate.cpp"
diff --git a/src/3rdparty/webkit/WebCore/platform/network/qt/QNetworkReplyHandler.cpp b/src/3rdparty/webkit/WebCore/platform/network/qt/QNetworkReplyHandler.cpp
index 403718fa74..abeb895689 100644
--- a/src/3rdparty/webkit/WebCore/platform/network/qt/QNetworkReplyHandler.cpp
+++ b/src/3rdparty/webkit/WebCore/platform/network/qt/QNetworkReplyHandler.cpp
@@ -49,6 +49,7 @@
#define SIGNAL_CONN Qt::QueuedConnection
#endif
+static const int gMaxRecursionLimit = 10;
namespace WebCore {
@@ -139,6 +140,7 @@ QNetworkReplyHandler::QNetworkReplyHandler(ResourceHandle* handle, LoadMode load
, m_shouldFinish(false)
, m_shouldSendResponse(false)
, m_shouldForwardData(false)
+ , m_redirectionTries(gMaxRecursionLimit)
{
const ResourceRequest &r = m_resourceHandle->request();
@@ -336,9 +338,18 @@ void QNetworkReplyHandler::sendResponseIfNeeded()
QUrl redirection = m_reply->attribute(QNetworkRequest::RedirectionTargetAttribute).toUrl();
if (redirection.isValid()) {
+ QUrl newUrl = m_reply->url().resolved(redirection);
+
+ m_redirectionTries--;
+ if (m_redirectionTries == 0) { // 10 or more redirections to the same url is considered infinite recursion
+ ResourceError error(newUrl.host(), 400 /*bad request*/,
+ newUrl.toString(),
+ QCoreApplication::translate("QWebPage", "Redirection limit reached"));
+ client->didFail(m_resourceHandle, error);
+ return;
+ }
m_redirected = true;
- QUrl newUrl = m_reply->url().resolved(redirection);
ResourceRequest newRequest = m_resourceHandle->request();
newRequest.setURL(newUrl);
diff --git a/src/3rdparty/webkit/WebCore/platform/network/qt/QNetworkReplyHandler.h b/src/3rdparty/webkit/WebCore/platform/network/qt/QNetworkReplyHandler.h
index eb5ae3c80a..1abad4e79c 100644
--- a/src/3rdparty/webkit/WebCore/platform/network/qt/QNetworkReplyHandler.h
+++ b/src/3rdparty/webkit/WebCore/platform/network/qt/QNetworkReplyHandler.h
@@ -82,6 +82,7 @@ private:
bool m_shouldFinish;
bool m_shouldSendResponse;
bool m_shouldForwardData;
+ int m_redirectionTries;
};
// Self destructing QIODevice for FormData
diff --git a/src/3rdparty/webkit/WebCore/platform/qt/FileSystemQt.cpp b/src/3rdparty/webkit/WebCore/platform/qt/FileSystemQt.cpp
index f9ced98538..54ecbf1696 100644
--- a/src/3rdparty/webkit/WebCore/platform/qt/FileSystemQt.cpp
+++ b/src/3rdparty/webkit/WebCore/platform/qt/FileSystemQt.cpp
@@ -117,6 +117,7 @@ Vector<String> listDirectory(const String& path, const String& filter)
CString openTemporaryFile(const char* prefix, PlatformFileHandle& handle)
{
+#ifndef QT_NO_TEMPORARYFILE
QTemporaryFile* tempFile = new QTemporaryFile(QLatin1String(prefix));
tempFile->setAutoRemove(false);
QFile* temp = tempFile;
@@ -124,6 +125,7 @@ CString openTemporaryFile(const char* prefix, PlatformFileHandle& handle)
handle = temp;
return String(temp->fileName()).utf8();
}
+#endif
handle = invalidPlatformFileHandle;
return CString();
}
diff --git a/src/3rdparty/webkit/WebCore/platform/qt/QWebPageClient.h b/src/3rdparty/webkit/WebCore/platform/qt/QWebPageClient.h
index 467941fe71..8e48d1f0f0 100644
--- a/src/3rdparty/webkit/WebCore/platform/qt/QWebPageClient.h
+++ b/src/3rdparty/webkit/WebCore/platform/qt/QWebPageClient.h
@@ -89,6 +89,8 @@ public:
virtual QStyle* style() const = 0;
+ virtual QRectF graphicsItemVisibleRect() const { return QRectF(); }
+
protected:
#ifndef QT_NO_CURSOR
virtual QCursor cursor() const = 0;
diff --git a/src/3rdparty/webkit/WebCore/platform/qt/RenderThemeQt.cpp b/src/3rdparty/webkit/WebCore/platform/qt/RenderThemeQt.cpp
index 577903b8c9..08b7aca686 100644
--- a/src/3rdparty/webkit/WebCore/platform/qt/RenderThemeQt.cpp
+++ b/src/3rdparty/webkit/WebCore/platform/qt/RenderThemeQt.cpp
@@ -163,7 +163,9 @@ RenderThemeQt::RenderThemeQt(Page* page)
RenderThemeQt::~RenderThemeQt()
{
delete m_fallbackStyle;
+#ifndef QT_NO_LINEEDIT
delete m_lineEdit;
+#endif
}
#if USE(QT_MOBILE_THEME)
@@ -264,11 +266,17 @@ bool RenderThemeQt::supportsControlTints() const
int RenderThemeQt::findFrameLineWidth(QStyle* style) const
{
+#ifndef QT_NO_LINEEDIT
if (!m_lineEdit)
m_lineEdit = new QLineEdit();
+#endif
QStyleOptionFrameV2 opt;
- return style->pixelMetric(QStyle::PM_DefaultFrameWidth, &opt, m_lineEdit);
+ QWidget* widget = 0;
+#ifndef QT_NO_LINEEDIT
+ widget = m_lineEdit;
+#endif
+ return style->pixelMetric(QStyle::PM_DefaultFrameWidth, &opt, widget);
}
static QRect inflateButtonRect(const QRect& originalRect, QStyle* style)
diff --git a/src/3rdparty/webkit/WebCore/platform/qt/ScrollbarThemeQt.cpp b/src/3rdparty/webkit/WebCore/platform/qt/ScrollbarThemeQt.cpp
index 04a2b1b0af..eb2d93489d 100644
--- a/src/3rdparty/webkit/WebCore/platform/qt/ScrollbarThemeQt.cpp
+++ b/src/3rdparty/webkit/WebCore/platform/qt/ScrollbarThemeQt.cpp
@@ -114,7 +114,7 @@ static QStyleOptionSlider* styleOptionSlider(Scrollbar* scrollbar, QWidget* widg
opt.state |= QStyle::State_Horizontal;
opt.sliderValue = scrollbar->value();
opt.sliderPosition = opt.sliderValue;
- opt.pageStep = scrollbar->visibleSize();
+ opt.pageStep = scrollbar->pageStep();
opt.singleStep = scrollbar->lineStep();
opt.minimum = 0;
opt.maximum = qMax(0, scrollbar->maximum());
diff --git a/src/3rdparty/webkit/WebCore/platform/qt/TemporaryLinkStubs.cpp b/src/3rdparty/webkit/WebCore/platform/qt/TemporaryLinkStubsQt.cpp
index 814f961516..814f961516 100644
--- a/src/3rdparty/webkit/WebCore/platform/qt/TemporaryLinkStubs.cpp
+++ b/src/3rdparty/webkit/WebCore/platform/qt/TemporaryLinkStubsQt.cpp
diff --git a/src/3rdparty/webkit/WebCore/platform/text/qt/TextBreakIteratorQt.cpp b/src/3rdparty/webkit/WebCore/platform/text/qt/TextBreakIteratorQt.cpp
index 5a8a812bfc..dda443f20b 100644
--- a/src/3rdparty/webkit/WebCore/platform/text/qt/TextBreakIteratorQt.cpp
+++ b/src/3rdparty/webkit/WebCore/platform/text/qt/TextBreakIteratorQt.cpp
@@ -33,31 +33,49 @@
namespace WebCore {
+ static unsigned char buffer[1024];
+
class TextBreakIterator : public QTextBoundaryFinder {
+ public:
+ TextBreakIterator(QTextBoundaryFinder::BoundaryType type, const UChar* string, int length)
+ : QTextBoundaryFinder(type, (const QChar*)string, length, buffer, sizeof(buffer))
+ , length(length)
+ , string(string) {}
+ TextBreakIterator()
+ : QTextBoundaryFinder()
+ , length(0)
+ , string(0) {}
+
+ int length;
+ const UChar* string;
};
- static QTextBoundaryFinder* iterator = 0;
- static unsigned char buffer[1024];
- TextBreakIterator* wordBreakIterator(const UChar* string, int length)
+ TextBreakIterator* setUpIterator(TextBreakIterator& iterator, QTextBoundaryFinder::BoundaryType type, const UChar* string, int length)
{
if (!string || !length)
return 0;
- if (!iterator)
- iterator = new QTextBoundaryFinder;
- *iterator = QTextBoundaryFinder(QTextBoundaryFinder::Word, (const QChar *)string, length, buffer, sizeof(buffer));
- return static_cast<TextBreakIterator*>(iterator);
+ if (iterator.isValid() && type == iterator.type() && length == iterator.length
+ && memcmp(string, iterator.string, length) == 0) {
+ iterator.toStart();
+ return &iterator;
+ }
+
+ iterator = TextBreakIterator(type, string, length);
+
+ return &iterator;
}
- TextBreakIterator* characterBreakIterator(const UChar* string, int length)
+ TextBreakIterator* wordBreakIterator(const UChar* string, int length)
{
- if (!string || !length)
- return 0;
- if (!iterator)
- iterator = new QTextBoundaryFinder;
+ static TextBreakIterator staticWordBreakIterator;
+ return setUpIterator(staticWordBreakIterator, QTextBoundaryFinder::Word, string, length);
+ }
- *iterator = QTextBoundaryFinder(QTextBoundaryFinder::Grapheme, (const QChar *)string, length, buffer, sizeof(buffer));
- return static_cast<TextBreakIterator*>(iterator);
+ TextBreakIterator* characterBreakIterator(const UChar* string, int length)
+ {
+ static TextBreakIterator staticCharacterBreakIterator;
+ return setUpIterator(staticCharacterBreakIterator, QTextBoundaryFinder::Grapheme, string, length);
}
TextBreakIterator* cursorMovementIterator(const UChar* string, int length)
@@ -67,25 +85,15 @@ namespace WebCore {
TextBreakIterator* lineBreakIterator(const UChar* string, int length)
{
- static QTextBoundaryFinder *iterator = 0;
- if (!string || !length)
- return 0;
- if (!iterator)
- iterator = new QTextBoundaryFinder;
-
- *iterator = QTextBoundaryFinder(QTextBoundaryFinder::Line, (const QChar *)string, length, buffer, sizeof(buffer));
- return static_cast<TextBreakIterator*>(iterator);
+ static TextBreakIterator staticLineBreakIterator;
+ return setUpIterator(staticLineBreakIterator, QTextBoundaryFinder::Line, string, length);
}
TextBreakIterator* sentenceBreakIterator(const UChar* string, int length)
{
- if (!string || !length)
- return 0;
- if (!iterator)
- iterator = new QTextBoundaryFinder;
+ static TextBreakIterator staticSentenceBreakIterator;
+ return setUpIterator(staticSentenceBreakIterator, QTextBoundaryFinder::Sentence, string, length);
- *iterator = QTextBoundaryFinder(QTextBoundaryFinder::Sentence, (const QChar *)string, length, buffer, sizeof(buffer));
- return static_cast<TextBreakIterator*>(iterator);
}
int textBreakFirst(TextBreakIterator* bi)
diff --git a/src/3rdparty/webkit/WebCore/plugins/mac/PluginViewMac.cpp b/src/3rdparty/webkit/WebCore/plugins/mac/PluginViewMac.cpp
deleted file mode 100644
index 1fd46767e3..0000000000
--- a/src/3rdparty/webkit/WebCore/plugins/mac/PluginViewMac.cpp
+++ /dev/null
@@ -1,830 +0,0 @@
-/*
- * Copyright (C) 2006, 2007 Apple Inc. All rights reserved.
- * Copyright (C) 2008 Collabora Ltd. All rights reserved.
- * Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies)
- * Copyright (C) 2009 Girish Ramakrishnan <girish@forwardbias.in>
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY APPLE COMPUTER, INC. ``AS IS'' AND ANY
- * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE COMPUTER, INC. OR
- * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
- * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
- * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
- * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#include "config.h"
-#include "PluginView.h"
-
-#include "Bridge.h"
-#include "Document.h"
-#include "DocumentLoader.h"
-#include "Element.h"
-#include "EventNames.h"
-#include "FocusController.h"
-#include "FrameLoader.h"
-#include "FrameLoadRequest.h"
-#include "FrameTree.h"
-#include "Frame.h"
-#include "FrameView.h"
-#include "GraphicsContext.h"
-#include "HostWindow.h"
-#include "HTMLNames.h"
-#include "HTMLPlugInElement.h"
-#include "Image.h"
-#include "JSDOMBinding.h"
-#include "KeyboardEvent.h"
-#include "MouseEvent.h"
-#include "NotImplemented.h"
-#include "Page.h"
-#include "PlatformMouseEvent.h"
-#include "PlatformKeyboardEvent.h"
-#include "PluginDebug.h"
-#include "PluginPackage.h"
-#include "PluginMainThreadScheduler.h"
-#include "RenderLayer.h"
-#include "ScriptController.h"
-#include "Settings.h"
-#include "npruntime_impl.h"
-#include "runtime_root.h"
-#include <runtime/JSLock.h>
-#include <runtime/JSValue.h>
-#include <wtf/RetainPtr.h>
-
-
-using JSC::ExecState;
-using JSC::Interpreter;
-using JSC::JSLock;
-using JSC::JSObject;
-using JSC::JSValue;
-using JSC::UString;
-
-#if PLATFORM(QT)
-#include <QWidget>
-#include <QKeyEvent>
-#include <QPainter>
-#include "QWebPageClient.h"
-QT_BEGIN_NAMESPACE
-extern Q_GUI_EXPORT OSWindowRef qt_mac_window_for(const QWidget* w);
-QT_END_NAMESPACE
-#endif
-
-#if PLATFORM(WX)
-#include <wx/defs.h>
-#include <wx/wx.h>
-#endif
-
-using std::min;
-
-using namespace WTF;
-
-namespace WebCore {
-
-using namespace HTMLNames;
-
-#ifndef NP_NO_CARBON
-static int modifiersForEvent(UIEventWithKeyState *event);
-#endif
-
-static inline WindowRef nativeWindowFor(PlatformWidget widget)
-{
-#if PLATFORM(QT)
- if (widget)
- return static_cast<WindowRef>(qt_mac_window_for(widget));
-#endif
-#if PLATFORM(WX)
- if (widget)
- return (WindowRef)widget->MacGetTopLevelWindowRef();
-#endif
- return 0;
-}
-
-static inline CGContextRef cgHandleFor(PlatformWidget widget)
-{
-#if PLATFORM(QT)
- if (widget)
- return (CGContextRef)widget->macCGHandle();
-#endif
-#if PLATFORM(WX)
- if (widget)
- return (CGContextRef)widget->MacGetCGContextRef();
-#endif
- return 0;
-}
-
-static inline IntPoint topLevelOffsetFor(PlatformWidget widget)
-{
-#if PLATFORM(QT)
- if (widget) {
- PlatformWidget topLevel = widget->window();
- return widget->mapTo(topLevel, QPoint(0, 0)) + topLevel->geometry().topLeft() - topLevel->pos();
- }
-#endif
-#if PLATFORM(WX)
- if (widget) {
- PlatformWidget toplevel = wxGetTopLevelParent(widget);
- return toplevel->ScreenToClient(widget->GetScreenPosition());
- }
-#endif
- return IntPoint();
-}
-
-// --------------- Lifetime management -----------------
-
-bool PluginView::platformStart()
-{
- ASSERT(m_isStarted);
- ASSERT(m_status == PluginStatusLoadedSuccessfully);
-
- if (m_drawingModel == NPDrawingModel(-1)) {
- // We default to QuickDraw, even though we don't support it,
- // since that's what Safari does, and some plugins expect this
- // behavior and never set the drawing model explicitly.
-#ifndef NP_NO_QUICKDRAW
- m_drawingModel = NPDrawingModelQuickDraw;
-#else
- // QuickDraw not available, so we have to default to CoreGraphics
- m_drawingModel = NPDrawingModelCoreGraphics;
-#endif
- }
-
- if (m_eventModel == NPEventModel(-1)) {
- // If the plug-in did not specify an event model
- // we default to Carbon, when it is available.
-#ifndef NP_NO_CARBON
- m_eventModel = NPEventModelCarbon;
-#else
- m_eventModel = NPEventModelCocoa;
-#endif
- }
-
- // Gracefully handle unsupported drawing or event models. We can do this
- // now since the drawing and event model can only be set during NPP_New.
-#ifndef NP_NO_CARBON
- NPBool eventModelSupported;
- if (getValueStatic(NPNVariable(NPNVsupportsCarbonBool + m_eventModel), &eventModelSupported) != NPERR_NO_ERROR
- || !eventModelSupported) {
-#endif
- m_status = PluginStatusCanNotLoadPlugin;
- LOG(Plugins, "Plug-in '%s' uses unsupported event model %s",
- m_plugin->name().utf8().data(), prettyNameForEventModel(m_eventModel));
- return false;
-#ifndef NP_NO_CARBON
- }
-#endif
-
-#ifndef NP_NO_QUICKDRAW
- NPBool drawingModelSupported;
- if (getValueStatic(NPNVariable(NPNVsupportsQuickDrawBool + m_drawingModel), &drawingModelSupported) != NPERR_NO_ERROR
- || !drawingModelSupported) {
-#endif
- m_status = PluginStatusCanNotLoadPlugin;
- LOG(Plugins, "Plug-in '%s' uses unsupported drawing model %s",
- m_plugin->name().utf8().data(), prettyNameForDrawingModel(m_drawingModel));
- return false;
-#ifndef NP_NO_QUICKDRAW
- }
-#endif
-
-#if PLATFORM(QT)
- // Set the platformPluginWidget only in the case of QWebView so that the context menu appears in the right place.
- // In all other cases, we use off-screen rendering
- if (QWebPageClient* client = m_parentFrame->view()->hostWindow()->platformPageClient()) {
- if (QWidget* widget = qobject_cast<QWidget*>(client->pluginParent()))
- setPlatformPluginWidget(widget);
- }
-#endif
-#if PLATFORM(WX)
- if (wxWindow* widget = m_parentFrame->view()->hostWindow()->platformPageClient())
- setPlatformPluginWidget(widget);
-#endif
-
- // Create a fake window relative to which all events will be sent when using offscreen rendering
- if (!platformPluginWidget()) {
-#ifndef NP_NO_CARBON
- // Make the default size really big. It is unclear why this is required but with a smaller size, mouse move
- // events don't get processed. Resizing the fake window to flash's size doesn't help.
- ::Rect windowBounds = { 0, 0, 1000, 1000 };
- CreateNewWindow(kDocumentWindowClass, kWindowStandardDocumentAttributes, &windowBounds, &m_fakeWindow);
- // Flash requires the window to be hilited to process mouse move events.
- HiliteWindow(m_fakeWindow, true);
-#endif
- }
-
- show();
-
- // TODO: Implement null timer throttling depending on plugin activation
- m_nullEventTimer.set(new Timer<PluginView>(this, &PluginView::nullEventTimerFired));
- m_nullEventTimer->startRepeating(0.02);
-
- m_lastMousePos.h = m_lastMousePos.v = 0;
-
- return true;
-}
-
-void PluginView::platformDestroy()
-{
- if (platformPluginWidget())
- setPlatformPluginWidget(0);
- else {
- CGContextRelease(m_contextRef);
-#ifndef NP_NO_CARBON
- if (m_fakeWindow)
- DisposeWindow(m_fakeWindow);
-#endif
- }
-}
-
-// Used before the plugin view has been initialized properly, and as a
-// fallback for variables that do not require a view to resolve.
-bool PluginView::platformGetValueStatic(NPNVariable variable, void* value, NPError* result)
-{
- switch (variable) {
- case NPNVToolkit:
- *static_cast<uint32*>(value) = 0;
- *result = NPERR_NO_ERROR;
- return true;
-
- case NPNVjavascriptEnabledBool:
- *static_cast<NPBool*>(value) = true;
- *result = NPERR_NO_ERROR;
- return true;
-
-#ifndef NP_NO_CARBON
- case NPNVsupportsCarbonBool:
- *static_cast<NPBool*>(value) = true;
- *result = NPERR_NO_ERROR;
- return true;
-
-#endif
- case NPNVsupportsCocoaBool:
- *static_cast<NPBool*>(value) = false;
- *result = NPERR_NO_ERROR;
- return true;
-
- // CoreGraphics is the only drawing model we support
- case NPNVsupportsCoreGraphicsBool:
- *static_cast<NPBool*>(value) = true;
- *result = NPERR_NO_ERROR;
- return true;
-
-#ifndef NP_NO_QUICKDRAW
- // QuickDraw is deprecated in 10.5 and not supported on 64-bit
- case NPNVsupportsQuickDrawBool:
-#endif
- case NPNVsupportsOpenGLBool:
- case NPNVsupportsCoreAnimationBool:
- *static_cast<NPBool*>(value) = false;
- *result = NPERR_NO_ERROR;
- return true;
-
- default:
- return false;
- }
-}
-
-// Used only for variables that need a view to resolve
-bool PluginView::platformGetValue(NPNVariable variable, void* value, NPError* error)
-{
- return false;
-}
-
-void PluginView::setParent(ScrollView* parent)
-{
- LOG(Plugins, "PluginView::setParent(%p)", parent);
-
- Widget::setParent(parent);
-
- if (parent)
- init();
-}
-
-// -------------- Geometry and painting ----------------
-
-void PluginView::show()
-{
- LOG(Plugins, "PluginView::show()");
-
- setSelfVisible(true);
-
- Widget::show();
-}
-
-void PluginView::hide()
-{
- LOG(Plugins, "PluginView::hide()");
-
- setSelfVisible(false);
-
- Widget::hide();
-}
-
-void PluginView::setFocus()
-{
- LOG(Plugins, "PluginView::setFocus()");
-
- if (platformPluginWidget())
-#if PLATFORM(QT)
- platformPluginWidget()->setFocus(Qt::OtherFocusReason);
-#else
- platformPluginWidget()->SetFocus();
-#endif
- else
- Widget::setFocus();
-
- // TODO: Also handle and pass on blur events (focus lost)
-
-#ifndef NP_NO_CARBON
- EventRecord record;
- record.what = getFocusEvent;
- record.message = 0;
- record.when = TickCount();
- record.where = globalMousePosForPlugin();
- record.modifiers = GetCurrentKeyModifiers();
-
- if (!dispatchNPEvent(record))
- LOG(Events, "PluginView::setFocus(): Get-focus event not accepted");
-#endif
-}
-
-void PluginView::setParentVisible(bool visible)
-{
- if (isParentVisible() == visible)
- return;
-
- Widget::setParentVisible(visible);
-}
-
-void PluginView::setNPWindowRect(const IntRect&)
-{
- setNPWindowIfNeeded();
-}
-
-void PluginView::setNPWindowIfNeeded()
-{
- if (!m_isStarted || !parent() || !m_plugin->pluginFuncs()->setwindow)
- return;
-
- CGContextRef newContextRef = 0;
- WindowRef newWindowRef = 0;
- if (platformPluginWidget()) {
- newContextRef = cgHandleFor(platformPluginWidget());
- newWindowRef = nativeWindowFor(platformPluginWidget());
- m_npWindow.type = NPWindowTypeWindow;
- } else {
- newContextRef = m_contextRef;
- newWindowRef = m_fakeWindow;
- m_npWindow.type = NPWindowTypeDrawable;
- }
-
- if (!newContextRef || !newWindowRef)
- return;
-
- m_npWindow.window = (void*)&m_npCgContext;
-#ifndef NP_NO_CARBON
- m_npCgContext.window = newWindowRef;
-#endif
- m_npCgContext.context = newContextRef;
-
- m_npWindow.x = m_windowRect.x();
- m_npWindow.y = m_windowRect.y();
- m_npWindow.width = m_windowRect.width();
- m_npWindow.height = m_windowRect.height();
-
- // TODO: (also clip against scrollbars, etc.)
- m_npWindow.clipRect.left = max(0, m_windowRect.x());
- m_npWindow.clipRect.top = max(0, m_windowRect.y());
- m_npWindow.clipRect.right = m_windowRect.x() + m_windowRect.width();
- m_npWindow.clipRect.bottom = m_windowRect.y() + m_windowRect.height();
-
- LOG(Plugins, "PluginView::setNPWindowIfNeeded(): window=%p, context=%p,"
- " window.x:%d window.y:%d window.width:%d window.height:%d window.clipRect size:%dx%d",
- newWindowRef, newContextRef, m_npWindow.x, m_npWindow.y, m_npWindow.width, m_npWindow.height,
- m_npWindow.clipRect.right - m_npWindow.clipRect.left, m_npWindow.clipRect.bottom - m_npWindow.clipRect.top);
-
- PluginView::setCurrentPluginView(this);
- JSC::JSLock::DropAllLocks dropAllLocks(JSC::SilenceAssertionsOnly);
- setCallingPlugin(true);
- m_plugin->pluginFuncs()->setwindow(m_instance, &m_npWindow);
- setCallingPlugin(false);
- PluginView::setCurrentPluginView(0);
-}
-
-void PluginView::updatePluginWidget()
-{
- if (!parent())
- return;
-
- ASSERT(parent()->isFrameView());
- FrameView* frameView = static_cast<FrameView*>(parent());
-
- IntRect oldWindowRect = m_windowRect;
- IntRect oldClipRect = m_clipRect;
-
- m_windowRect = frameView->contentsToWindow(frameRect());
- IntPoint offset = topLevelOffsetFor(platformPluginWidget());
- m_windowRect.move(offset.x(), offset.y());
-
- if (!platformPluginWidget()) {
- if (m_windowRect.size() != oldWindowRect.size()) {
- CGContextRelease(m_contextRef);
-#if PLATFORM(QT)
- m_pixmap = QPixmap(m_windowRect.size());
- m_pixmap.fill(Qt::transparent);
- m_contextRef = m_pixmap.isNull() ? 0 : qt_mac_cg_context(&m_pixmap);
-#endif
- }
- }
-
- m_clipRect = windowClipRect();
- m_clipRect.move(-m_windowRect.x(), -m_windowRect.y());
-
- if (platformPluginWidget() && (m_windowRect != oldWindowRect || m_clipRect != oldClipRect))
- setNPWindowIfNeeded();
-}
-
-void PluginView::paint(GraphicsContext* context, const IntRect& rect)
-{
- if (!m_isStarted || m_status != PluginStatusLoadedSuccessfully) {
- paintMissingPluginIcon(context, rect);
- return;
- }
-
- if (context->paintingDisabled())
- return;
-
- setNPWindowIfNeeded();
-
- CGContextRef cgContext = m_npCgContext.context;
- if (!cgContext)
- return;
-
- CGContextSaveGState(cgContext);
- if (platformPluginWidget()) {
- IntPoint offset = frameRect().location();
- CGContextTranslateCTM(cgContext, offset.x(), offset.y());
- }
-
- IntRect targetRect(frameRect());
- targetRect.intersects(rect);
-
- // clip the context so that plugin only updates the interested area.
- CGRect r;
- r.origin.x = targetRect.x() - frameRect().x();
- r.origin.y = targetRect.y() - frameRect().y();
- r.size.width = targetRect.width();
- r.size.height = targetRect.height();
- CGContextClipToRect(cgContext, r);
-
- if (!platformPluginWidget() && m_isTransparent) { // clean the pixmap in transparent mode
-#if PLATFORM(QT)
- QPainter painter(&m_pixmap);
- painter.setCompositionMode(QPainter::CompositionMode_Clear);
- painter.fillRect(QRectF(r.origin.x, r.origin.y, r.size.width, r.size.height), Qt::transparent);
-#endif
- }
-
-#ifndef NP_NO_CARBON
- EventRecord event;
- event.what = updateEvt;
- event.message = (long unsigned int)m_npCgContext.window;
- event.when = TickCount();
- event.where.h = 0;
- event.where.v = 0;
- event.modifiers = GetCurrentKeyModifiers();
-
- if (!dispatchNPEvent(event))
- LOG(Events, "PluginView::paint(): Paint event not accepted");
-#endif
-
- CGContextRestoreGState(cgContext);
-
- if (!platformPluginWidget()) {
-#if PLATFORM(QT)
- QPainter* painter = context->platformContext();
- painter->drawPixmap(targetRect.x(), targetRect.y(), m_pixmap,
- targetRect.x() - frameRect().x(), targetRect.y() - frameRect().y(), targetRect.width(), targetRect.height());
-#endif
- }
-}
-
-void PluginView::invalidateRect(const IntRect& rect)
-{
- if (platformPluginWidget())
-#if PLATFORM(QT)
- platformPluginWidget()->update(convertToContainingWindow(rect));
-#else
- platformPluginWidget()->RefreshRect(convertToContainingWindow(rect));
-#endif
- else
- invalidateWindowlessPluginRect(rect);
-}
-
-void PluginView::invalidateRect(NPRect* rect)
-{
- IntRect r(rect->left, rect->top, rect->right - rect->left, rect->bottom - rect->top);
- invalidateRect(r);
-}
-
-void PluginView::invalidateRegion(NPRegion region)
-{
- // TODO: optimize
- invalidate();
-}
-
-void PluginView::forceRedraw()
-{
- notImplemented();
-}
-
-
-// ----------------- Event handling --------------------
-
-void PluginView::handleMouseEvent(MouseEvent* event)
-{
- if (!m_isStarted)
- return;
-
-#ifndef NP_NO_CARBON
- EventRecord record;
-
- if (event->type() == eventNames().mousemoveEvent) {
- // Mouse movement is handled by null timer events
- m_lastMousePos = mousePosForPlugin(event);
- return;
- } else if (event->type() == eventNames().mouseoverEvent) {
- record.what = adjustCursorEvent;
- } else if (event->type() == eventNames().mouseoutEvent) {
- record.what = adjustCursorEvent;
- } else if (event->type() == eventNames().mousedownEvent) {
- record.what = mouseDown;
- // The plugin needs focus to receive keyboard events
- if (Page* page = m_parentFrame->page())
- page->focusController()->setFocusedFrame(m_parentFrame);
- m_parentFrame->document()->setFocusedNode(m_element);
- } else if (event->type() == eventNames().mouseupEvent) {
- record.what = mouseUp;
- } else {
- return;
- }
- record.where = mousePosForPlugin(event);
- record.modifiers = modifiersForEvent(event);
-
- if (!event->buttonDown())
- record.modifiers |= btnState;
-
- if (event->button() == 2)
- record.modifiers |= controlKey;
-
- if (!dispatchNPEvent(record)) {
- if (record.what == adjustCursorEvent)
- return; // Signals that the plugin wants a normal cursor
-
- LOG(Events, "PluginView::handleMouseEvent(): Mouse event type %d at %d,%d not accepted",
- record.what, record.where.h, record.where.v);
- } else {
- event->setDefaultHandled();
- }
-#endif
-}
-
-void PluginView::handleKeyboardEvent(KeyboardEvent* event)
-{
- if (!m_isStarted)
- return;
-
- LOG(Plugins, "PluginView::handleKeyboardEvent() ----------------- ");
-
- LOG(Plugins, "PV::hKE(): KE.keyCode: 0x%02X, KE.charCode: %d",
- event->keyCode(), event->charCode());
-
-#ifndef NP_NO_CARBON
- EventRecord record;
-
- if (event->type() == eventNames().keydownEvent) {
- // This event is the result of a PlatformKeyboardEvent::KeyDown which
- // was disambiguated into a PlatformKeyboardEvent::RawKeyDown. Since
- // we don't have access to the text here, we return, and wait for the
- // corresponding event based on PlatformKeyboardEvent::Char.
- return;
- } else if (event->type() == eventNames().keypressEvent) {
- // Which would be this one. This event was disambiguated from the same
- // PlatformKeyboardEvent::KeyDown, but to a PlatformKeyboardEvent::Char,
- // which retains the text from the original event. So, we can safely pass
- // on the event as a key-down event to the plugin.
- record.what = keyDown;
- } else if (event->type() == eventNames().keyupEvent) {
- // PlatformKeyboardEvent::KeyUp events always have the text, so nothing
- // fancy here.
- record.what = keyUp;
- } else {
- return;
- }
-
- const PlatformKeyboardEvent* platformEvent = event->keyEvent();
- int keyCode = platformEvent->nativeVirtualKeyCode();
-
- const String text = platformEvent->text();
- if (text.length() < 1) {
- event->setDefaultHandled();
- return;
- }
-
- WTF::RetainPtr<CFStringRef> cfText(WTF::AdoptCF, text.createCFString());
-
- LOG(Plugins, "PV::hKE(): PKE.text: %s, PKE.unmodifiedText: %s, PKE.keyIdentifier: %s",
- text.ascii().data(), platformEvent->unmodifiedText().ascii().data(),
- platformEvent->keyIdentifier().ascii().data());
-
- char charCodes[2] = { 0, 0 };
- if (!CFStringGetCString(cfText.get(), charCodes, 2, CFStringGetSystemEncoding())) {
- LOG_ERROR("Could not resolve character code using system encoding.");
- event->setDefaultHandled();
- return;
- }
-
- record.where = globalMousePosForPlugin();
- record.modifiers = modifiersForEvent(event);
- record.message = ((keyCode & 0xFF) << 8) | (charCodes[0] & 0xFF);
- record.when = TickCount();
-
- LOG(Plugins, "PV::hKE(): record.modifiers: %d", record.modifiers);
-
-#if PLATFORM(QT)
- LOG(Plugins, "PV::hKE(): PKE.qtEvent()->nativeVirtualKey: 0x%02X, charCode: %d",
- keyCode, int(uchar(charCodes[0])));
-#endif
-
- if (!dispatchNPEvent(record))
- LOG(Events, "PluginView::handleKeyboardEvent(): Keyboard event type %d not accepted", record.what);
- else
- event->setDefaultHandled();
-#endif
-}
-
-#ifndef NP_NO_CARBON
-void PluginView::nullEventTimerFired(Timer<PluginView>*)
-{
- EventRecord record;
-
- record.what = nullEvent;
- record.message = 0;
- record.when = TickCount();
- record.where = m_lastMousePos;
- record.modifiers = GetCurrentKeyModifiers();
- if (!Button())
- record.modifiers |= btnState;
-
- if (!dispatchNPEvent(record))
- LOG(Events, "PluginView::nullEventTimerFired(): Null event not accepted");
-}
-#endif
-
-#ifndef NP_NO_CARBON
-static int modifiersForEvent(UIEventWithKeyState* event)
-{
- int modifiers = 0;
-
- if (event->ctrlKey())
- modifiers |= controlKey;
-
- if (event->altKey())
- modifiers |= optionKey;
-
- if (event->metaKey())
- modifiers |= cmdKey;
-
- if (event->shiftKey())
- modifiers |= shiftKey;
-
- return modifiers;
-}
-#endif
-
-#ifndef NP_NO_CARBON
-static bool tigerOrBetter()
-{
- static SInt32 systemVersion = 0;
-
- if (!systemVersion) {
- if (Gestalt(gestaltSystemVersion, &systemVersion) != noErr)
- return false;
- }
-
- return systemVersion >= 0x1040;
-}
-#endif
-
-#ifndef NP_NO_CARBON
-Point PluginView::globalMousePosForPlugin() const
-{
- Point pos;
- GetGlobalMouse(&pos);
-
- float scaleFactor = tigerOrBetter() ? HIGetScaleFactor() : 1;
-
- pos.h = short(pos.h * scaleFactor);
- pos.v = short(pos.v * scaleFactor);
-
-#if PLATFORM(WX)
- // make sure the titlebar/toolbar size is included
- WindowRef windowRef = nativeWindowFor(platformPluginWidget());
- ::Rect content, structure;
-
- GetWindowBounds(windowRef, kWindowStructureRgn, &structure);
- GetWindowBounds(windowRef, kWindowContentRgn, &content);
-
- int top = content.top - structure.top;
- pos.v -= top;
-#endif
-
- return pos;
-}
-#endif
-
-#ifndef NP_NO_CARBON
-Point PluginView::mousePosForPlugin(MouseEvent* event) const
-{
- ASSERT(event);
- if (platformPluginWidget())
- return globalMousePosForPlugin();
-
- if (event->button() == 2) {
- // always pass the global position for right-click since Flash uses it to position the context menu
- return globalMousePosForPlugin();
- }
-
- Point pos;
- IntPoint postZoomPos = roundedIntPoint(m_element->renderer()->absoluteToLocal(event->absoluteLocation()));
- pos.h = postZoomPos.x() + m_windowRect.x();
- // The number 22 is the height of the title bar. As to why it figures in the calculation below
- // is left as an exercise to the reader :-)
- pos.v = postZoomPos.y() + m_windowRect.y() - 22;
- return pos;
-}
-#endif
-
-#ifndef NP_NO_CARBON
-bool PluginView::dispatchNPEvent(NPEvent& event)
-{
- PluginView::setCurrentPluginView(this);
- JSC::JSLock::DropAllLocks dropAllLocks(JSC::SilenceAssertionsOnly);
- setCallingPlugin(true);
-
- bool accepted = m_plugin->pluginFuncs()->event(m_instance, &event);
-
- setCallingPlugin(false);
- PluginView::setCurrentPluginView(0);
- return accepted;
-}
-#endif
-
-// ------------------- Miscellaneous ------------------
-
-NPError PluginView::handlePostReadFile(Vector<char>& buffer, uint32 len, const char* buf)
-{
- String filename(buf, len);
-
- if (filename.startsWith("file:///"))
- filename = filename.substring(8);
-
- if (!fileExists(filename))
- return NPERR_FILE_NOT_FOUND;
-
- FILE* fileHandle = fopen((filename.utf8()).data(), "r");
-
- if (fileHandle == 0)
- return NPERR_FILE_NOT_FOUND;
-
- int bytesRead = fread(buffer.data(), 1, 0, fileHandle);
-
- fclose(fileHandle);
-
- if (bytesRead <= 0)
- return NPERR_FILE_NOT_FOUND;
-
- return NPERR_NO_ERROR;
-}
-
-void PluginView::halt()
-{
-}
-
-void PluginView::restart()
-{
-}
-
-} // namespace WebCore
diff --git a/src/3rdparty/webkit/WebCore/plugins/mac/PluginViewMac.mm b/src/3rdparty/webkit/WebCore/plugins/mac/PluginViewMac.mm
new file mode 100644
index 0000000000..57d74abcc1
--- /dev/null
+++ b/src/3rdparty/webkit/WebCore/plugins/mac/PluginViewMac.mm
@@ -0,0 +1,833 @@
+/*
+ * Copyright (C) 2006, 2007 Apple Inc. All rights reserved.
+ * Copyright (C) 2008 Collabora Ltd. All rights reserved.
+ * Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies)
+ * Copyright (C) 2009 Girish Ramakrishnan <girish@forwardbias.in>
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE COMPUTER, INC. ``AS IS'' AND ANY
+ * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE COMPUTER, INC. OR
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+ * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+ * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
+ * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include "config.h"
+#include "PluginView.h"
+
+#include "Bridge.h"
+#include "Document.h"
+#include "DocumentLoader.h"
+#include "Element.h"
+#include "EventNames.h"
+#include "FocusController.h"
+#include "FrameLoader.h"
+#include "FrameLoadRequest.h"
+#include "FrameTree.h"
+#include "Frame.h"
+#include "FrameView.h"
+#include "GraphicsContext.h"
+#include "HostWindow.h"
+#include "HTMLNames.h"
+#include "HTMLPlugInElement.h"
+#include "Image.h"
+#include "JSDOMBinding.h"
+#include "KeyboardEvent.h"
+#include "MouseEvent.h"
+#include "NotImplemented.h"
+#include "Page.h"
+#include "PlatformMouseEvent.h"
+#include "PlatformKeyboardEvent.h"
+#include "PluginDebug.h"
+#include "PluginPackage.h"
+#include "PluginMainThreadScheduler.h"
+#include "RenderLayer.h"
+#include "ScriptController.h"
+#include "Settings.h"
+#include "npruntime_impl.h"
+#include "runtime_root.h"
+#include <runtime/JSLock.h>
+#include <runtime/JSValue.h>
+#include <wtf/RetainPtr.h>
+
+
+using JSC::ExecState;
+using JSC::Interpreter;
+using JSC::JSLock;
+using JSC::JSObject;
+using JSC::JSValue;
+using JSC::UString;
+
+#if PLATFORM(QT)
+#include <QWidget>
+#include <QKeyEvent>
+#include <QPainter>
+#include "QWebPageClient.h"
+QT_BEGIN_NAMESPACE
+extern Q_GUI_EXPORT OSWindowRef qt_mac_window_for(const QWidget* w);
+QT_END_NAMESPACE
+#endif
+
+#if PLATFORM(WX)
+#include <wx/defs.h>
+#include <wx/wx.h>
+#endif
+
+using std::min;
+
+using namespace WTF;
+
+namespace WebCore {
+
+using namespace HTMLNames;
+
+#ifndef NP_NO_CARBON
+static int modifiersForEvent(UIEventWithKeyState *event);
+#endif
+
+static inline WindowRef nativeWindowFor(PlatformWidget widget)
+{
+#if PLATFORM(QT)
+ if (widget)
+#if QT_MAC_USE_COCOA
+ return static_cast<WindowRef>([qt_mac_window_for(widget) windowRef]);
+#else
+ return static_cast<WindowRef>(qt_mac_window_for(widget));
+#endif
+#elif PLATFORM(WX)
+ if (widget)
+ return (WindowRef)widget->MacGetTopLevelWindowRef();
+#endif
+ return 0;
+}
+
+static inline CGContextRef cgHandleFor(PlatformWidget widget)
+{
+#if PLATFORM(QT)
+ if (widget)
+ return (CGContextRef)widget->macCGHandle();
+#endif
+#if PLATFORM(WX)
+ if (widget)
+ return (CGContextRef)widget->MacGetCGContextRef();
+#endif
+ return 0;
+}
+
+static inline IntPoint topLevelOffsetFor(PlatformWidget widget)
+{
+#if PLATFORM(QT)
+ if (widget) {
+ PlatformWidget topLevel = widget->window();
+ return widget->mapTo(topLevel, QPoint(0, 0)) + topLevel->geometry().topLeft() - topLevel->pos();
+ }
+#endif
+#if PLATFORM(WX)
+ if (widget) {
+ PlatformWidget toplevel = wxGetTopLevelParent(widget);
+ return toplevel->ScreenToClient(widget->GetScreenPosition());
+ }
+#endif
+ return IntPoint();
+}
+
+// --------------- Lifetime management -----------------
+
+bool PluginView::platformStart()
+{
+ ASSERT(m_isStarted);
+ ASSERT(m_status == PluginStatusLoadedSuccessfully);
+
+ if (m_drawingModel == NPDrawingModel(-1)) {
+ // We default to QuickDraw, even though we don't support it,
+ // since that's what Safari does, and some plugins expect this
+ // behavior and never set the drawing model explicitly.
+#ifndef NP_NO_QUICKDRAW
+ m_drawingModel = NPDrawingModelQuickDraw;
+#else
+ // QuickDraw not available, so we have to default to CoreGraphics
+ m_drawingModel = NPDrawingModelCoreGraphics;
+#endif
+ }
+
+ if (m_eventModel == NPEventModel(-1)) {
+ // If the plug-in did not specify an event model
+ // we default to Carbon, when it is available.
+#ifndef NP_NO_CARBON
+ m_eventModel = NPEventModelCarbon;
+#else
+ m_eventModel = NPEventModelCocoa;
+#endif
+ }
+
+ // Gracefully handle unsupported drawing or event models. We can do this
+ // now since the drawing and event model can only be set during NPP_New.
+#ifndef NP_NO_CARBON
+ NPBool eventModelSupported;
+ if (getValueStatic(NPNVariable(NPNVsupportsCarbonBool + m_eventModel), &eventModelSupported) != NPERR_NO_ERROR
+ || !eventModelSupported) {
+#endif
+ m_status = PluginStatusCanNotLoadPlugin;
+ LOG(Plugins, "Plug-in '%s' uses unsupported event model %s",
+ m_plugin->name().utf8().data(), prettyNameForEventModel(m_eventModel));
+ return false;
+#ifndef NP_NO_CARBON
+ }
+#endif
+
+#ifndef NP_NO_QUICKDRAW
+ NPBool drawingModelSupported;
+ if (getValueStatic(NPNVariable(NPNVsupportsQuickDrawBool + m_drawingModel), &drawingModelSupported) != NPERR_NO_ERROR
+ || !drawingModelSupported) {
+#endif
+ m_status = PluginStatusCanNotLoadPlugin;
+ LOG(Plugins, "Plug-in '%s' uses unsupported drawing model %s",
+ m_plugin->name().utf8().data(), prettyNameForDrawingModel(m_drawingModel));
+ return false;
+#ifndef NP_NO_QUICKDRAW
+ }
+#endif
+
+#if PLATFORM(QT)
+ // Set the platformPluginWidget only in the case of QWebView so that the context menu appears in the right place.
+ // In all other cases, we use off-screen rendering
+ if (QWebPageClient* client = m_parentFrame->view()->hostWindow()->platformPageClient()) {
+ if (QWidget* widget = qobject_cast<QWidget*>(client->pluginParent()))
+ setPlatformPluginWidget(widget);
+ }
+#endif
+#if PLATFORM(WX)
+ if (wxWindow* widget = m_parentFrame->view()->hostWindow()->platformPageClient())
+ setPlatformPluginWidget(widget);
+#endif
+
+ // Create a fake window relative to which all events will be sent when using offscreen rendering
+ if (!platformPluginWidget()) {
+#ifndef NP_NO_CARBON
+ // Make the default size really big. It is unclear why this is required but with a smaller size, mouse move
+ // events don't get processed. Resizing the fake window to flash's size doesn't help.
+ ::Rect windowBounds = { 0, 0, 1000, 1000 };
+ CreateNewWindow(kDocumentWindowClass, kWindowStandardDocumentAttributes, &windowBounds, &m_fakeWindow);
+ // Flash requires the window to be hilited to process mouse move events.
+ HiliteWindow(m_fakeWindow, true);
+#endif
+ }
+
+ show();
+
+ // TODO: Implement null timer throttling depending on plugin activation
+ m_nullEventTimer.set(new Timer<PluginView>(this, &PluginView::nullEventTimerFired));
+ m_nullEventTimer->startRepeating(0.02);
+
+ m_lastMousePos.h = m_lastMousePos.v = 0;
+
+ return true;
+}
+
+void PluginView::platformDestroy()
+{
+ if (platformPluginWidget())
+ setPlatformPluginWidget(0);
+ else {
+ CGContextRelease(m_contextRef);
+#ifndef NP_NO_CARBON
+ if (m_fakeWindow)
+ DisposeWindow(m_fakeWindow);
+#endif
+ }
+}
+
+// Used before the plugin view has been initialized properly, and as a
+// fallback for variables that do not require a view to resolve.
+bool PluginView::platformGetValueStatic(NPNVariable variable, void* value, NPError* result)
+{
+ switch (variable) {
+ case NPNVToolkit:
+ *static_cast<uint32*>(value) = 0;
+ *result = NPERR_NO_ERROR;
+ return true;
+
+ case NPNVjavascriptEnabledBool:
+ *static_cast<NPBool*>(value) = true;
+ *result = NPERR_NO_ERROR;
+ return true;
+
+#ifndef NP_NO_CARBON
+ case NPNVsupportsCarbonBool:
+ *static_cast<NPBool*>(value) = true;
+ *result = NPERR_NO_ERROR;
+ return true;
+
+#endif
+ case NPNVsupportsCocoaBool:
+ *static_cast<NPBool*>(value) = false;
+ *result = NPERR_NO_ERROR;
+ return true;
+
+ // CoreGraphics is the only drawing model we support
+ case NPNVsupportsCoreGraphicsBool:
+ *static_cast<NPBool*>(value) = true;
+ *result = NPERR_NO_ERROR;
+ return true;
+
+#ifndef NP_NO_QUICKDRAW
+ // QuickDraw is deprecated in 10.5 and not supported on 64-bit
+ case NPNVsupportsQuickDrawBool:
+#endif
+ case NPNVsupportsOpenGLBool:
+ case NPNVsupportsCoreAnimationBool:
+ *static_cast<NPBool*>(value) = false;
+ *result = NPERR_NO_ERROR;
+ return true;
+
+ default:
+ return false;
+ }
+}
+
+// Used only for variables that need a view to resolve
+bool PluginView::platformGetValue(NPNVariable variable, void* value, NPError* error)
+{
+ return false;
+}
+
+void PluginView::setParent(ScrollView* parent)
+{
+ LOG(Plugins, "PluginView::setParent(%p)", parent);
+
+ Widget::setParent(parent);
+
+ if (parent)
+ init();
+}
+
+// -------------- Geometry and painting ----------------
+
+void PluginView::show()
+{
+ LOG(Plugins, "PluginView::show()");
+
+ setSelfVisible(true);
+
+ Widget::show();
+}
+
+void PluginView::hide()
+{
+ LOG(Plugins, "PluginView::hide()");
+
+ setSelfVisible(false);
+
+ Widget::hide();
+}
+
+void PluginView::setFocus()
+{
+ LOG(Plugins, "PluginView::setFocus()");
+
+ if (platformPluginWidget())
+#if PLATFORM(QT)
+ platformPluginWidget()->setFocus(Qt::OtherFocusReason);
+#else
+ platformPluginWidget()->SetFocus();
+#endif
+ else
+ Widget::setFocus();
+
+ // TODO: Also handle and pass on blur events (focus lost)
+
+#ifndef NP_NO_CARBON
+ EventRecord record;
+ record.what = getFocusEvent;
+ record.message = 0;
+ record.when = TickCount();
+ record.where = globalMousePosForPlugin();
+ record.modifiers = GetCurrentKeyModifiers();
+
+ if (!dispatchNPEvent(record))
+ LOG(Events, "PluginView::setFocus(): Get-focus event not accepted");
+#endif
+}
+
+void PluginView::setParentVisible(bool visible)
+{
+ if (isParentVisible() == visible)
+ return;
+
+ Widget::setParentVisible(visible);
+}
+
+void PluginView::setNPWindowRect(const IntRect&)
+{
+ setNPWindowIfNeeded();
+}
+
+void PluginView::setNPWindowIfNeeded()
+{
+ if (!m_isStarted || !parent() || !m_plugin->pluginFuncs()->setwindow)
+ return;
+
+ CGContextRef newContextRef = 0;
+ WindowRef newWindowRef = 0;
+ if (platformPluginWidget()) {
+ newContextRef = cgHandleFor(platformPluginWidget());
+ newWindowRef = nativeWindowFor(platformPluginWidget());
+ m_npWindow.type = NPWindowTypeWindow;
+ } else {
+ newContextRef = m_contextRef;
+ newWindowRef = m_fakeWindow;
+ m_npWindow.type = NPWindowTypeDrawable;
+ }
+
+ if (!newContextRef || !newWindowRef)
+ return;
+
+ m_npWindow.window = (void*)&m_npCgContext;
+#ifndef NP_NO_CARBON
+ m_npCgContext.window = newWindowRef;
+#endif
+ m_npCgContext.context = newContextRef;
+
+ m_npWindow.x = m_windowRect.x();
+ m_npWindow.y = m_windowRect.y();
+ m_npWindow.width = m_windowRect.width();
+ m_npWindow.height = m_windowRect.height();
+
+ // TODO: (also clip against scrollbars, etc.)
+ m_npWindow.clipRect.left = max(0, m_windowRect.x());
+ m_npWindow.clipRect.top = max(0, m_windowRect.y());
+ m_npWindow.clipRect.right = m_windowRect.x() + m_windowRect.width();
+ m_npWindow.clipRect.bottom = m_windowRect.y() + m_windowRect.height();
+
+ LOG(Plugins, "PluginView::setNPWindowIfNeeded(): window=%p, context=%p,"
+ " window.x:%d window.y:%d window.width:%d window.height:%d window.clipRect size:%dx%d",
+ newWindowRef, newContextRef, m_npWindow.x, m_npWindow.y, m_npWindow.width, m_npWindow.height,
+ m_npWindow.clipRect.right - m_npWindow.clipRect.left, m_npWindow.clipRect.bottom - m_npWindow.clipRect.top);
+
+ PluginView::setCurrentPluginView(this);
+ JSC::JSLock::DropAllLocks dropAllLocks(JSC::SilenceAssertionsOnly);
+ setCallingPlugin(true);
+ m_plugin->pluginFuncs()->setwindow(m_instance, &m_npWindow);
+ setCallingPlugin(false);
+ PluginView::setCurrentPluginView(0);
+}
+
+void PluginView::updatePluginWidget()
+{
+ if (!parent())
+ return;
+
+ ASSERT(parent()->isFrameView());
+ FrameView* frameView = static_cast<FrameView*>(parent());
+
+ IntRect oldWindowRect = m_windowRect;
+ IntRect oldClipRect = m_clipRect;
+
+ m_windowRect = frameView->contentsToWindow(frameRect());
+ IntPoint offset = topLevelOffsetFor(platformPluginWidget());
+ m_windowRect.move(offset.x(), offset.y());
+
+ if (!platformPluginWidget()) {
+ if (m_windowRect.size() != oldWindowRect.size()) {
+ CGContextRelease(m_contextRef);
+#if PLATFORM(QT)
+ m_pixmap = QPixmap(m_windowRect.size());
+ m_pixmap.fill(Qt::transparent);
+ m_contextRef = m_pixmap.isNull() ? 0 : qt_mac_cg_context(&m_pixmap);
+#endif
+ }
+ }
+
+ m_clipRect = windowClipRect();
+ m_clipRect.move(-m_windowRect.x(), -m_windowRect.y());
+
+ if (platformPluginWidget() && (m_windowRect != oldWindowRect || m_clipRect != oldClipRect))
+ setNPWindowIfNeeded();
+}
+
+void PluginView::paint(GraphicsContext* context, const IntRect& rect)
+{
+ if (!m_isStarted || m_status != PluginStatusLoadedSuccessfully) {
+ paintMissingPluginIcon(context, rect);
+ return;
+ }
+
+ if (context->paintingDisabled())
+ return;
+
+ setNPWindowIfNeeded();
+
+ CGContextRef cgContext = m_npCgContext.context;
+ if (!cgContext)
+ return;
+
+ CGContextSaveGState(cgContext);
+ if (platformPluginWidget()) {
+ IntPoint offset = frameRect().location();
+ CGContextTranslateCTM(cgContext, offset.x(), offset.y());
+ }
+
+ IntRect targetRect(frameRect());
+ targetRect.intersects(rect);
+
+ // clip the context so that plugin only updates the interested area.
+ CGRect r;
+ r.origin.x = targetRect.x() - frameRect().x();
+ r.origin.y = targetRect.y() - frameRect().y();
+ r.size.width = targetRect.width();
+ r.size.height = targetRect.height();
+ CGContextClipToRect(cgContext, r);
+
+ if (!platformPluginWidget() && m_isTransparent) { // clean the pixmap in transparent mode
+#if PLATFORM(QT)
+ QPainter painter(&m_pixmap);
+ painter.setCompositionMode(QPainter::CompositionMode_Clear);
+ painter.fillRect(QRectF(r.origin.x, r.origin.y, r.size.width, r.size.height), Qt::transparent);
+#endif
+ }
+
+#ifndef NP_NO_CARBON
+ EventRecord event;
+ event.what = updateEvt;
+ event.message = (long unsigned int)m_npCgContext.window;
+ event.when = TickCount();
+ event.where.h = 0;
+ event.where.v = 0;
+ event.modifiers = GetCurrentKeyModifiers();
+
+ if (!dispatchNPEvent(event))
+ LOG(Events, "PluginView::paint(): Paint event not accepted");
+#endif
+
+ CGContextRestoreGState(cgContext);
+
+ if (!platformPluginWidget()) {
+#if PLATFORM(QT)
+ QPainter* painter = context->platformContext();
+ painter->drawPixmap(targetRect.x(), targetRect.y(), m_pixmap,
+ targetRect.x() - frameRect().x(), targetRect.y() - frameRect().y(), targetRect.width(), targetRect.height());
+#endif
+ }
+}
+
+void PluginView::invalidateRect(const IntRect& rect)
+{
+ if (platformPluginWidget())
+#if PLATFORM(QT)
+ platformPluginWidget()->update(convertToContainingWindow(rect));
+#else
+ platformPluginWidget()->RefreshRect(convertToContainingWindow(rect));
+#endif
+ else
+ invalidateWindowlessPluginRect(rect);
+}
+
+void PluginView::invalidateRect(NPRect* rect)
+{
+ IntRect r(rect->left, rect->top, rect->right - rect->left, rect->bottom - rect->top);
+ invalidateRect(r);
+}
+
+void PluginView::invalidateRegion(NPRegion region)
+{
+ // TODO: optimize
+ invalidate();
+}
+
+void PluginView::forceRedraw()
+{
+ notImplemented();
+}
+
+
+// ----------------- Event handling --------------------
+
+void PluginView::handleMouseEvent(MouseEvent* event)
+{
+ if (!m_isStarted)
+ return;
+
+#ifndef NP_NO_CARBON
+ EventRecord record;
+
+ if (event->type() == eventNames().mousemoveEvent) {
+ // Mouse movement is handled by null timer events
+ m_lastMousePos = mousePosForPlugin(event);
+ return;
+ } else if (event->type() == eventNames().mouseoverEvent) {
+ record.what = adjustCursorEvent;
+ } else if (event->type() == eventNames().mouseoutEvent) {
+ record.what = adjustCursorEvent;
+ } else if (event->type() == eventNames().mousedownEvent) {
+ record.what = mouseDown;
+ // The plugin needs focus to receive keyboard events
+ if (Page* page = m_parentFrame->page())
+ page->focusController()->setFocusedFrame(m_parentFrame);
+ m_parentFrame->document()->setFocusedNode(m_element);
+ } else if (event->type() == eventNames().mouseupEvent) {
+ record.what = mouseUp;
+ } else {
+ return;
+ }
+ record.where = mousePosForPlugin(event);
+ record.modifiers = modifiersForEvent(event);
+
+ if (!event->buttonDown())
+ record.modifiers |= btnState;
+
+ if (event->button() == 2)
+ record.modifiers |= controlKey;
+
+ if (!dispatchNPEvent(record)) {
+ if (record.what == adjustCursorEvent)
+ return; // Signals that the plugin wants a normal cursor
+
+ LOG(Events, "PluginView::handleMouseEvent(): Mouse event type %d at %d,%d not accepted",
+ record.what, record.where.h, record.where.v);
+ } else {
+ event->setDefaultHandled();
+ }
+#endif
+}
+
+void PluginView::handleKeyboardEvent(KeyboardEvent* event)
+{
+ if (!m_isStarted)
+ return;
+
+ LOG(Plugins, "PluginView::handleKeyboardEvent() ----------------- ");
+
+ LOG(Plugins, "PV::hKE(): KE.keyCode: 0x%02X, KE.charCode: %d",
+ event->keyCode(), event->charCode());
+
+#ifndef NP_NO_CARBON
+ EventRecord record;
+
+ if (event->type() == eventNames().keydownEvent) {
+ // This event is the result of a PlatformKeyboardEvent::KeyDown which
+ // was disambiguated into a PlatformKeyboardEvent::RawKeyDown. Since
+ // we don't have access to the text here, we return, and wait for the
+ // corresponding event based on PlatformKeyboardEvent::Char.
+ return;
+ } else if (event->type() == eventNames().keypressEvent) {
+ // Which would be this one. This event was disambiguated from the same
+ // PlatformKeyboardEvent::KeyDown, but to a PlatformKeyboardEvent::Char,
+ // which retains the text from the original event. So, we can safely pass
+ // on the event as a key-down event to the plugin.
+ record.what = keyDown;
+ } else if (event->type() == eventNames().keyupEvent) {
+ // PlatformKeyboardEvent::KeyUp events always have the text, so nothing
+ // fancy here.
+ record.what = keyUp;
+ } else {
+ return;
+ }
+
+ const PlatformKeyboardEvent* platformEvent = event->keyEvent();
+ int keyCode = platformEvent->nativeVirtualKeyCode();
+
+ const String text = platformEvent->text();
+ if (text.length() < 1) {
+ event->setDefaultHandled();
+ return;
+ }
+
+ WTF::RetainPtr<CFStringRef> cfText(WTF::AdoptCF, text.createCFString());
+
+ LOG(Plugins, "PV::hKE(): PKE.text: %s, PKE.unmodifiedText: %s, PKE.keyIdentifier: %s",
+ text.ascii().data(), platformEvent->unmodifiedText().ascii().data(),
+ platformEvent->keyIdentifier().ascii().data());
+
+ char charCodes[2] = { 0, 0 };
+ if (!CFStringGetCString(cfText.get(), charCodes, 2, CFStringGetSystemEncoding())) {
+ LOG_ERROR("Could not resolve character code using system encoding.");
+ event->setDefaultHandled();
+ return;
+ }
+
+ record.where = globalMousePosForPlugin();
+ record.modifiers = modifiersForEvent(event);
+ record.message = ((keyCode & 0xFF) << 8) | (charCodes[0] & 0xFF);
+ record.when = TickCount();
+
+ LOG(Plugins, "PV::hKE(): record.modifiers: %d", record.modifiers);
+
+#if PLATFORM(QT)
+ LOG(Plugins, "PV::hKE(): PKE.qtEvent()->nativeVirtualKey: 0x%02X, charCode: %d",
+ keyCode, int(uchar(charCodes[0])));
+#endif
+
+ if (!dispatchNPEvent(record))
+ LOG(Events, "PluginView::handleKeyboardEvent(): Keyboard event type %d not accepted", record.what);
+ else
+ event->setDefaultHandled();
+#endif
+}
+
+#ifndef NP_NO_CARBON
+void PluginView::nullEventTimerFired(Timer<PluginView>*)
+{
+ EventRecord record;
+
+ record.what = nullEvent;
+ record.message = 0;
+ record.when = TickCount();
+ record.where = m_lastMousePos;
+ record.modifiers = GetCurrentKeyModifiers();
+ if (!Button())
+ record.modifiers |= btnState;
+
+ if (!dispatchNPEvent(record))
+ LOG(Events, "PluginView::nullEventTimerFired(): Null event not accepted");
+}
+#endif
+
+#ifndef NP_NO_CARBON
+static int modifiersForEvent(UIEventWithKeyState* event)
+{
+ int modifiers = 0;
+
+ if (event->ctrlKey())
+ modifiers |= controlKey;
+
+ if (event->altKey())
+ modifiers |= optionKey;
+
+ if (event->metaKey())
+ modifiers |= cmdKey;
+
+ if (event->shiftKey())
+ modifiers |= shiftKey;
+
+ return modifiers;
+}
+#endif
+
+#ifndef NP_NO_CARBON
+static bool tigerOrBetter()
+{
+ static SInt32 systemVersion = 0;
+
+ if (!systemVersion) {
+ if (Gestalt(gestaltSystemVersion, &systemVersion) != noErr)
+ return false;
+ }
+
+ return systemVersion >= 0x1040;
+}
+#endif
+
+#ifndef NP_NO_CARBON
+Point PluginView::globalMousePosForPlugin() const
+{
+ Point pos;
+ GetGlobalMouse(&pos);
+
+ float scaleFactor = tigerOrBetter() ? HIGetScaleFactor() : 1;
+
+ pos.h = short(pos.h * scaleFactor);
+ pos.v = short(pos.v * scaleFactor);
+
+#if PLATFORM(WX)
+ // make sure the titlebar/toolbar size is included
+ WindowRef windowRef = nativeWindowFor(platformPluginWidget());
+ ::Rect content, structure;
+
+ GetWindowBounds(windowRef, kWindowStructureRgn, &structure);
+ GetWindowBounds(windowRef, kWindowContentRgn, &content);
+
+ int top = content.top - structure.top;
+ pos.v -= top;
+#endif
+
+ return pos;
+}
+#endif
+
+#ifndef NP_NO_CARBON
+Point PluginView::mousePosForPlugin(MouseEvent* event) const
+{
+ ASSERT(event);
+ if (platformPluginWidget())
+ return globalMousePosForPlugin();
+
+ if (event->button() == 2) {
+ // always pass the global position for right-click since Flash uses it to position the context menu
+ return globalMousePosForPlugin();
+ }
+
+ Point pos;
+ IntPoint postZoomPos = roundedIntPoint(m_element->renderer()->absoluteToLocal(event->absoluteLocation()));
+ pos.h = postZoomPos.x() + m_windowRect.x();
+ // The number 22 is the height of the title bar. As to why it figures in the calculation below
+ // is left as an exercise to the reader :-)
+ pos.v = postZoomPos.y() + m_windowRect.y() - 22;
+ return pos;
+}
+#endif
+
+#ifndef NP_NO_CARBON
+bool PluginView::dispatchNPEvent(NPEvent& event)
+{
+ PluginView::setCurrentPluginView(this);
+ JSC::JSLock::DropAllLocks dropAllLocks(JSC::SilenceAssertionsOnly);
+ setCallingPlugin(true);
+
+ bool accepted = m_plugin->pluginFuncs()->event(m_instance, &event);
+
+ setCallingPlugin(false);
+ PluginView::setCurrentPluginView(0);
+ return accepted;
+}
+#endif
+
+// ------------------- Miscellaneous ------------------
+
+NPError PluginView::handlePostReadFile(Vector<char>& buffer, uint32 len, const char* buf)
+{
+ String filename(buf, len);
+
+ if (filename.startsWith("file:///"))
+ filename = filename.substring(8);
+
+ if (!fileExists(filename))
+ return NPERR_FILE_NOT_FOUND;
+
+ FILE* fileHandle = fopen((filename.utf8()).data(), "r");
+
+ if (fileHandle == 0)
+ return NPERR_FILE_NOT_FOUND;
+
+ int bytesRead = fread(buffer.data(), 1, 0, fileHandle);
+
+ fclose(fileHandle);
+
+ if (bytesRead <= 0)
+ return NPERR_FILE_NOT_FOUND;
+
+ return NPERR_NO_ERROR;
+}
+
+void PluginView::halt()
+{
+}
+
+void PluginView::restart()
+{
+}
+
+} // namespace WebCore
diff --git a/src/3rdparty/webkit/WebCore/plugins/qt/PluginPackageQt.cpp b/src/3rdparty/webkit/WebCore/plugins/qt/PluginPackageQt.cpp
index 74deaf62d1..d5292fe04c 100644
--- a/src/3rdparty/webkit/WebCore/plugins/qt/PluginPackageQt.cpp
+++ b/src/3rdparty/webkit/WebCore/plugins/qt/PluginPackageQt.cpp
@@ -35,6 +35,8 @@
namespace WebCore {
+typedef void gtkInitFunc(int *argc, char ***argv);
+
bool PluginPackage::fetchInfo()
{
if (!load())
@@ -109,6 +111,7 @@ bool PluginPackage::load()
NP_InitializeFuncPtr NP_Initialize;
NPError npErr;
+ gtkInitFunc* gtkInit;
NP_Initialize = (NP_InitializeFuncPtr)m_module->resolve("NP_Initialize");
m_NPP_Shutdown = (NPP_ShutdownProcPtr)m_module->resolve("NP_Shutdown");
@@ -127,6 +130,26 @@ bool PluginPackage::load()
m_browserFuncs.getvalue = staticPluginQuirkRequiresGtkToolKit_NPN_GetValue;
}
+ // WORKAROUND: Prevent gtk based plugin crashes such as BR# 40567 by
+ // explicitly forcing the initializing of Gtk, i.e. calling gtk_init,
+ // whenver the symbol is present in the plugin library loaded above.
+ // Note that this workaround is based on code from the NSPluginClass ctor
+ // in KDE's kdebase/apps/nsplugins/viewer/nsplugin.cpp file.
+ gtkInit = (gtkInitFunc*)m_module->resolve("gtk_init");
+ if (gtkInit) {
+ // Prevent gtk_init() from replacing the X error handlers, since the Gtk
+ // handlers abort when they receive an X error, thus killing the viewer.
+#ifdef Q_WS_X11
+ int (*old_error_handler)(Display*, XErrorEvent*) = XSetErrorHandler(0);
+ int (*old_io_error_handler)(Display*) = XSetIOErrorHandler(0);
+#endif
+ gtkInit(0, 0);
+#ifdef Q_WS_X11
+ XSetErrorHandler(old_error_handler);
+ XSetIOErrorHandler(old_io_error_handler);
+#endif
+ }
+
#if defined(XP_UNIX)
npErr = NP_Initialize(&m_browserFuncs, &m_pluginFuncs);
#else
diff --git a/src/3rdparty/webkit/WebKit.pri b/src/3rdparty/webkit/WebKit.pri
index e73703976d..fcd289188d 100644
--- a/src/3rdparty/webkit/WebKit.pri
+++ b/src/3rdparty/webkit/WebKit.pri
@@ -22,9 +22,9 @@ building-libs {
QMAKE_FRAMEWORKPATH = $$OUTPUT_DIR/lib $$QMAKE_FRAMEWORKPATH
} else {
win32-*|wince* {
- CONFIG(debug, debug|release):build_pass: QTWEBKITLIBNAME = $${QTWEBKITLIBNAME}d
+ !CONFIG(release, debug|release):build_pass: QTWEBKITLIBNAME = $${QTWEBKITLIBNAME}d
QTWEBKITLIBNAME = $${QTWEBKITLIBNAME}$${QT_MAJOR_VERSION}
- win32-g++: LIBS += -l$$QTWEBKITLIBNAME
+ win32-g++*: LIBS += -l$$QTWEBKITLIBNAME
else: LIBS += $${QTWEBKITLIBNAME}.lib
} else {
LIBS += -lQtWebKit
@@ -48,7 +48,12 @@ CONFIG(release, debug|release) {
}
BASE_DIR = $$PWD
-INCLUDEPATH += $$OUTPUT_DIR/include/QtWebKit
+
+symbian {
+ INCLUDEPATH += $$PWD/include/QtWebKit
+} else {
+ INCLUDEPATH += $$OUTPUT_DIR/include/QtWebKit
+}
CONFIG -= warn_on
*-g++*:QMAKE_CXXFLAGS += -Wall -Wreturn-type -fno-strict-aliasing -Wcast-align -Wchar-subscripts -Wformat-security -Wreturn-type -Wno-unused-parameter -Wno-sign-compare -Wno-switch -Wno-switch-enum -Wundef -Wmissing-noreturn -Winit-self
diff --git a/src/3rdparty/webkit/WebKit.pro b/src/3rdparty/webkit/WebKit.pro
index 6d466e269a..84fcb56677 100644
--- a/src/3rdparty/webkit/WebKit.pro
+++ b/src/3rdparty/webkit/WebKit.pro
@@ -8,7 +8,7 @@ SUBDIRS += \
WebCore
# If the source exists, built it
-exists($$PWD/WebKitTools/QtLauncher): SUBDIRS += WebKitTools/QtLauncher
+exists($$PWD/WebKitTools/QtTestBrowser): SUBDIRS += WebKitTools/QtTestBrowser
exists($$PWD/JavaScriptCore/jsc.pro): SUBDIRS += JavaScriptCore/jsc.pro
exists($$PWD/WebKit/qt/tests): SUBDIRS += WebKit/qt/tests
exists($$PWD/WebKitTools/DumpRenderTree/qt/DumpRenderTree.pro): SUBDIRS += WebKitTools/DumpRenderTree/qt/DumpRenderTree.pro
diff --git a/src/3rdparty/webkit/WebKit/qt/Api/DerivedSources.pro b/src/3rdparty/webkit/WebKit/qt/Api/DerivedSources.pro
index 389fb5fbb1..62546f6b28 100644
--- a/src/3rdparty/webkit/WebKit/qt/Api/DerivedSources.pro
+++ b/src/3rdparty/webkit/WebKit/qt/Api/DerivedSources.pro
@@ -12,7 +12,7 @@ DOUBLE_ESCAPED_QUOTE = ""
ESCAPE = ""
win32-msvc*|symbian {
ESCAPE = "^"
-} else:win32-g++:isEmpty(QMAKE_SH) {
+} else:win32-g++*:isEmpty(QMAKE_SH) {
# MinGW's make will run makefile commands using sh, even if make
# was run from the Windows shell, if it finds sh in the path.
ESCAPE = "^"
@@ -28,7 +28,7 @@ qtheader_module.commands += echo $${QUOTE}$${LITERAL_HASH}define QT_QTWEBKIT_MOD
qtheader_module.commands += echo $${QUOTE}$${LITERAL_HASH}include $${ESCAPE}<QtNetwork/QtNetwork$${ESCAPE}>$${QUOTE} >> $${qtheader_module.target} &&
WEBKIT_CLASS_HEADERS = $${LITERAL_DOLLAR}$${LITERAL_DOLLAR}$${LITERAL_DOLLAR}$${LITERAL_DOLLAR}PWD/QtWebKit
-regex = ".*\sclass\sQWEBKIT_EXPORT\s(\w+)\s(.*)"
+regex = ".*\\sclass\\sQWEBKIT_EXPORT\\s(\\w+)\\s(.*)"
for(HEADER, WEBKIT_API_HEADERS) {
# 1. Append to QtWebKit header that includes all other header files
@@ -70,7 +70,7 @@ for(HEADER, WEBKIT_API_HEADERS) {
res = $$find(src, $$regex)
isEmpty(res):break()
- exp = $$replace(src, $$regex, "EXPORTED_CLASS = \1")
+ exp = $$replace(src, $$regex, "EXPORTED_CLASS = \\1")
eval($$exp)
CLASS_TARGET = "qtheader_$${EXPORTED_CLASS}"
@@ -87,7 +87,7 @@ for(HEADER, WEBKIT_API_HEADERS) {
# Qt's QRegExp does not support inline non-greedy matching,
# so we'll have to work around it by updating the haystack
- src = $$replace(src, $$regex, "\2")
+ src = $$replace(src, $$regex, "\\2")
src_words = $$join(src, $${LITERAL_WHITESPACE})
}
}
diff --git a/src/3rdparty/webkit/WebKit/qt/Api/qgraphicswebview.cpp b/src/3rdparty/webkit/WebKit/qt/Api/qgraphicswebview.cpp
index 0c13e43781..7a25646cc7 100644
--- a/src/3rdparty/webkit/WebKit/qt/Api/qgraphicswebview.cpp
+++ b/src/3rdparty/webkit/WebKit/qt/Api/qgraphicswebview.cpp
@@ -82,7 +82,6 @@ public:
, page(0)
, resizesToContents(false)
#if USE(ACCELERATED_COMPOSITING)
- , rootGraphicsLayer(0)
, shouldSync(false)
#endif
{
@@ -128,7 +127,7 @@ public:
#endif
void updateResizesToContentsForPage();
- QRectF graphicsItemVisibleRect() const;
+ virtual QRectF graphicsItemVisibleRect() const;
#if ENABLE(TILED_BACKING_STORE)
void updateTiledBackingStoreScale();
#endif
@@ -158,7 +157,7 @@ public:
enum { RootGraphicsLayerZValue, OverlayZValue };
#if USE(ACCELERATED_COMPOSITING)
- QGraphicsItem* rootGraphicsLayer;
+ QWeakPointer<QGraphicsObject> rootGraphicsLayer;
// we need to sync the layers if we get a special call from the WebCore
// compositor telling us to do so. We'll get that call from ChromeClientQt
bool shouldSync;
@@ -171,12 +170,11 @@ public:
QGraphicsWebViewPrivate::~QGraphicsWebViewPrivate()
{
#if USE(ACCELERATED_COMPOSITING)
- if (rootGraphicsLayer) {
- // we don't need to delete the root graphics layer
- // The lifecycle is managed in GraphicsLayerQt.cpp
- rootGraphicsLayer->setParentItem(0);
- q->scene()->removeItem(rootGraphicsLayer);
- }
+ if (!rootGraphicsLayer)
+ return;
+ // we don't need to delete the root graphics layer. The lifecycle is managed in GraphicsLayerQt.cpp.
+ rootGraphicsLayer.data()->setParentItem(0);
+ q->scene()->removeItem(rootGraphicsLayer.data());
#endif
}
@@ -204,12 +202,12 @@ void QGraphicsWebViewPrivate::createOrDeleteOverlay()
void QGraphicsWebViewPrivate::setRootGraphicsLayer(QGraphicsItem* layer)
{
if (rootGraphicsLayer) {
- rootGraphicsLayer->setParentItem(0);
- q->scene()->removeItem(rootGraphicsLayer);
+ rootGraphicsLayer.data()->setParentItem(0);
+ q->scene()->removeItem(rootGraphicsLayer.data());
QWebFramePrivate::core(q->page()->mainFrame())->view()->syncCompositingStateRecursive();
}
- rootGraphicsLayer = layer;
+ rootGraphicsLayer = layer ? layer->toGraphicsObject() : 0;
if (layer) {
layer->setFlag(QGraphicsItem::ItemClipsChildrenToShape, true);
@@ -231,7 +229,7 @@ void QGraphicsWebViewPrivate::updateCompositingScrollPosition()
{
if (rootGraphicsLayer && q->page() && q->page()->mainFrame()) {
const QPoint scrollPosition = q->page()->mainFrame()->scrollPosition();
- rootGraphicsLayer->setPos(-scrollPosition);
+ rootGraphicsLayer.data()->setPos(-scrollPosition);
}
}
#endif
@@ -599,12 +597,7 @@ void QGraphicsWebView::paint(QPainter* painter, const QStyleOptionGraphicsItem*
#if ENABLE(TILED_BACKING_STORE)
if (WebCore::TiledBackingStore* backingStore = QWebFramePrivate::core(page()->mainFrame())->tiledBackingStore()) {
// FIXME: We should set the backing store viewport earlier than in paint
- if (d->resizesToContents)
- backingStore->viewportChanged(WebCore::IntRect(d->graphicsItemVisibleRect()));
- else {
- QRectF visibleRect(d->page->mainFrame()->scrollPosition(), d->page->mainFrame()->geometry().size());
- backingStore->viewportChanged(WebCore::IntRect(visibleRect));
- }
+ backingStore->adjustVisibleRect();
// QWebFrame::render is a public API, bypass it for tiled rendering so behavior does not need to change.
WebCore::GraphicsContext context(painter);
page()->mainFrame()->d->renderFromTiledBackingStore(&context, option->exposedRect.toAlignedRect());
diff --git a/src/3rdparty/webkit/WebKit/qt/Api/qwebdatabase.cpp b/src/3rdparty/webkit/WebKit/qt/Api/qwebdatabase.cpp
index 4e8fd30bd7..ba039c7fca 100644
--- a/src/3rdparty/webkit/WebKit/qt/Api/qwebdatabase.cpp
+++ b/src/3rdparty/webkit/WebKit/qt/Api/qwebdatabase.cpp
@@ -39,8 +39,10 @@ using namespace WebCore;
access on a local computer through JavaScript. QWebDatabase is the C++ interface to these
databases.
- To get access to all databases defined by a security origin, use QWebSecurityOrigin::databases().
- Each database has an internal name(), as well as a user-friendly name, provided by displayName().
+ Databases are grouped together in security origins. To get access to all databases defined by
+ a security origin, use QWebSecurityOrigin::databases(). Each database has an internal name(),
+ as well as a user-friendly name, provided by displayName(). These names are specified when
+ creating the database in the JavaScript code.
WebKit uses SQLite to create and access the local SQL databases. The location of the database
file in the local file system is returned by fileName(). You can access the database directly
@@ -49,7 +51,7 @@ using namespace WebCore;
For each database the web site can define an expectedSize(). The current size of the database
in bytes is returned by size().
- For more information refer to the \l{http://dev.w3.org/html5/webdatabase/}{HTML 5 Draft Standard}.
+ For more information refer to the \l{http://dev.w3.org/html5/webdatabase/}{HTML5 Web SQL Database Draft Standard}.
\sa QWebSecurityOrigin
*/
@@ -80,7 +82,7 @@ QString QWebDatabase::name() const
}
/*!
- Returns the name of the database as seen by the user.
+ Returns the name of the database in a format that is suitable for display to the user.
*/
QString QWebDatabase::displayName() const
{
diff --git a/src/3rdparty/webkit/WebKit/qt/Api/qwebelement.cpp b/src/3rdparty/webkit/WebKit/qt/Api/qwebelement.cpp
index 955206d1ac..69146a2f71 100644
--- a/src/3rdparty/webkit/WebKit/qt/Api/qwebelement.cpp
+++ b/src/3rdparty/webkit/WebKit/qt/Api/qwebelement.cpp
@@ -84,13 +84,27 @@ public:
\snippet webkitsnippets/webelement/main.cpp Traversing with QWebElement
+ Individual elements can be inspected or changed using methods such as attribute()
+ or setAttribute(). For examle, to capture the user's input in a text field for later
+ use (auto-completion), a browser could do something like this:
+
+ \snippet webkitsnippets/webelement/main.cpp autocomplete1
+
+ When the same page is later revisited, the browser can fill in the text field automatically
+ by modifying the value attribute of the input element:
+
+ \snippet webkitsnippets/webelement/main.cpp autocomplete2
+
+ Another use case is to emulate a click event on an element. The following
+ code snippet demonstrates how to call the JavaScript DOM method click() of
+ a submit button:
+
+ \snippet webkitsnippets/webelement/main.cpp Calling a DOM element method
+
The underlying content of QWebElement is explicitly shared. Creating a copy
of a QWebElement does not create a copy of the content. Instead, both
instances point to the same element.
- The element's attributes can be read using attribute() and modified with
- setAttribute().
-
The contents of child elements can be converted to plain text with
toPlainText(); to XHTML using toInnerXml(). To include the element's tag in
the output, use toOuterXml().
diff --git a/src/3rdparty/webkit/WebKit/qt/Api/qwebframe.cpp b/src/3rdparty/webkit/WebKit/qt/Api/qwebframe.cpp
index 394ea176d2..721aaa6fd0 100644
--- a/src/3rdparty/webkit/WebKit/qt/Api/qwebframe.cpp
+++ b/src/3rdparty/webkit/WebKit/qt/Api/qwebframe.cpp
@@ -275,8 +275,9 @@ void QWEBKIT_EXPORT qt_drt_evaluateScriptInIsolatedWorld(QWebFrame* qFrame, int
JSC::JSValue result = frame->script()->executeScriptInWorld(mainThreadNormalWorld(), script, true).jsValue();
}
-static bool webframe_scrollOverflow(WebCore::Frame* frame, int dx, int dy, const QPoint& pos)
+bool QWEBKIT_EXPORT qtwebkit_webframe_scrollOverflow(QWebFrame* qFrame, int dx, int dy, const QPoint& pos)
{
+ WebCore::Frame* frame = QWebFramePrivate::core(qFrame);
if (!frame || !frame->document() || !frame->view() || !frame->eventHandler())
return false;
@@ -299,17 +300,24 @@ static bool webframe_scrollOverflow(WebCore::Frame* frame, int dx, int dy, const
bool scrolledHorizontal = false;
bool scrolledVertical = false;
- if (dx > 0)
- scrolledHorizontal = renderLayer->scroll(ScrollRight, ScrollByPixel, dx);
- else if (dx < 0)
- scrolledHorizontal = renderLayer->scroll(ScrollLeft, ScrollByPixel, qAbs(dx));
+ do {
+ if (dx > 0)
+ scrolledHorizontal = renderLayer->scroll(ScrollRight, ScrollByPixel, dx);
+ else if (dx < 0)
+ scrolledHorizontal = renderLayer->scroll(ScrollLeft, ScrollByPixel, qAbs(dx));
+
+ if (dy > 0)
+ scrolledVertical = renderLayer->scroll(ScrollDown, ScrollByPixel, dy);
+ else if (dy < 0)
+ scrolledVertical = renderLayer->scroll(ScrollUp, ScrollByPixel, qAbs(dy));
+
+ if (scrolledHorizontal || scrolledVertical)
+ return true;
- if (dy > 0)
- scrolledVertical = renderLayer->scroll(ScrollDown, ScrollByPixel, dy);
- else if (dy < 0)
- scrolledVertical = renderLayer->scroll(ScrollUp, ScrollByPixel, qAbs(dy));
+ renderLayer = renderLayer->parent();
+ } while (renderLayer);
- return (scrolledHorizontal || scrolledVertical);
+ return false;
}
@@ -325,7 +333,7 @@ void QWEBKIT_EXPORT qtwebkit_webframe_scrollRecursively(QWebFrame* qFrame, int d
if (!qFrame)
return;
- if (webframe_scrollOverflow(QWebFramePrivate::core(qFrame), dx, dy, pos))
+ if (qtwebkit_webframe_scrollOverflow(qFrame, dx, dy, pos))
return;
bool scrollHorizontal = false;
@@ -339,7 +347,7 @@ void QWEBKIT_EXPORT qtwebkit_webframe_scrollRecursively(QWebFrame* qFrame, int d
if (dy > 0) // scroll down
scrollVertical = qFrame->scrollBarValue(Qt::Vertical) < qFrame->scrollBarMaximum(Qt::Vertical);
- else if (dy < 0) //scroll up
+ else if (dy < 0) //scroll up
scrollVertical = qFrame->scrollBarValue(Qt::Vertical) > qFrame->scrollBarMinimum(Qt::Vertical);
if (scrollHorizontal || scrollVertical) {
@@ -552,8 +560,10 @@ void QWebFramePrivate::renderRelativeCoords(GraphicsContext* context, QWebFrame:
can connect to the web page's \l{QWebPage::}{frameCreated()} signal
to be notified when a new frame is created.
- The hitTestContent() function can be used to programmatically examine the
- contents of a frame.
+ There are multiple ways to programmatically examine the contents of a frame.
+ The hitTestContent() function can be used to find elements by coordinate.
+ For access to the underlying DOM tree, there is documentElement(),
+ findAllElements() and findFirstElement().
A QWebFrame can be printed onto a QPrinter using the print() function.
This function is marked as a slot and can be conveniently connected to
@@ -781,6 +791,10 @@ static inline QUrl ensureAbsoluteUrl(const QUrl &url)
\property QWebFrame::url
\brief the url of the frame currently viewed
+ Setting this property clears the view and loads the URL.
+
+ By default, this property contains an empty, invalid URL.
+
\sa urlChanged()
*/
diff --git a/src/3rdparty/webkit/WebKit/qt/Api/qwebhistory.cpp b/src/3rdparty/webkit/WebKit/qt/Api/qwebhistory.cpp
index d852012b66..06e6cfaeef 100644
--- a/src/3rdparty/webkit/WebKit/qt/Api/qwebhistory.cpp
+++ b/src/3rdparty/webkit/WebKit/qt/Api/qwebhistory.cpp
@@ -540,6 +540,8 @@ QDataStream& operator>>(QDataStream& source, QWebHistory& history)
d->lst->addItem(item);
}
d->lst->removeItem(nullItem);
+ // Update the HistoryController.
+ history.d->lst->page()->mainFrame()->loader()->history()->setCurrentItem(history.d->lst->entries()[currentIndex].get());
history.goToItem(history.itemAt(currentIndex));
}
}
diff --git a/src/3rdparty/webkit/WebKit/qt/Api/qwebhistoryinterface.cpp b/src/3rdparty/webkit/WebKit/qt/Api/qwebhistoryinterface.cpp
index 80567d1e02..61cf5af3f4 100644
--- a/src/3rdparty/webkit/WebKit/qt/Api/qwebhistoryinterface.cpp
+++ b/src/3rdparty/webkit/WebKit/qt/Api/qwebhistoryinterface.cpp
@@ -41,7 +41,7 @@ static void gCleanupInterface()
/*!
Sets a new default interface, \a defaultInterface, that will be used by all of WebKit
- for managing history.
+ to keep track of visited links.
If an interface without a parent has already been set, the old interface will be deleted.
When the application exists QWebHistoryInterface will automatically delete the
@@ -68,8 +68,9 @@ void QWebHistoryInterface::setDefaultInterface(QWebHistoryInterface* defaultInte
}
/*!
- Returns the default interface that will be used by WebKit. If no
- default interface has been set, QtWebkit will not track history.
+ Returns the default interface that will be used by WebKit. If no default interface has been set,
+ Webkit will not keep track of visited links and a null pointer will be returned.
+ \sa setDefaultInterface
*/
QWebHistoryInterface* QWebHistoryInterface::defaultInterface()
{
@@ -84,11 +85,15 @@ QWebHistoryInterface* QWebHistoryInterface::defaultInterface()
\inmodule QtWebKit
The QWebHistoryInterface is an interface that can be used to
- implement link history. It contains two pure virtual methods that
- are called by the WebKit engine. addHistoryEntry() is used to add
- pages that have been visited to the interface, while
- historyContains() is used to query whether this page has been
- visited by the user.
+ keep track of visited links. It contains two pure virtual methods that
+ are called by the WebKit engine: addHistoryEntry() is used to add
+ urls that have been visited to the interface, while
+ historyContains() is used to query whether the given url has been
+ visited by the user. By default the QWebHistoryInterface is not set, so WebKit does not keep
+ track of visited links.
+
+ \note The history tracked by QWebHistoryInterface is not specific to an instance of QWebPage
+ but applies to all pages.
*/
/*!
@@ -100,7 +105,7 @@ QWebHistoryInterface::QWebHistoryInterface(QObject* parent)
}
/*!
- Destructor. If this is currently the default interface it will be unset.
+ Destroys the interface. If this is currently the default interface it will be unset.
*/
QWebHistoryInterface::~QWebHistoryInterface()
{
diff --git a/src/3rdparty/webkit/WebKit/qt/Api/qwebinspector.cpp b/src/3rdparty/webkit/WebKit/qt/Api/qwebinspector.cpp
index c0e5277710..802ea98048 100644
--- a/src/3rdparty/webkit/WebKit/qt/Api/qwebinspector.cpp
+++ b/src/3rdparty/webkit/WebKit/qt/Api/qwebinspector.cpp
@@ -31,17 +31,23 @@
/*!
\class QWebInspector
\since 4.6
+ \inmodule QtWebKit
\brief The QWebInspector class allows the placement and control of a
QWebPage's inspector.
- The inspector allows you to see a page current hierarchy and loading
- statistics.
+ The inspector can display a page's hierarchy, its loading statistics and
+ the current state of its individual elements. It is mostly used by web
+ developers.
- The QWebPage to be inspected is determined with the setPage() method.
+ The QWebPage to be inspected must be specified using the setPage() method.
A typical use of QWebInspector follows:
\snippet webkitsnippets/qtwebkit_qwebinspector_snippet.cpp 0
+ A QWebInspector can be made visible either programmatically using
+ setVisible(), or by the user through the attached QWebPage's context
+ menu.
+
\note A QWebInspector will display a blank widget if either:
\list
\o page() is null
@@ -61,17 +67,16 @@
\section1 Inspector configuration persistence
The inspector allows the user to configure some options through its
- interface (e.g. the resource tracking "Always enable" option).
- These settings are persisted automatically by QtWebKit using QSettings.
-
- However since the QSettings object is instantiated using the empty
- constructor, QCoreApplication::setOrganizationName() and
- QCoreApplication::setApplicationName() must be called within your
- application to enable the persistence of these options.
+ user interface (e.g. the resource tracking "Always enable" option).
+ These settings will be persisted automatically by QtWebKit only if
+ your application previously called QCoreApplication::setOrganizationName()
+ and QCoreApplication::setApplicationName().
+ See QSettings's default constructor documentation for an explanation
+ of why this is necessary.
*/
/*!
- Constructs an empty QWebInspector with parent \a parent.
+ Constructs an unbound QWebInspector with \a parent as its parent.
*/
QWebInspector::QWebInspector(QWidget* parent)
: QWidget(parent)
@@ -89,16 +94,16 @@ QWebInspector::~QWebInspector()
}
/*!
- Sets the QWebPage to be inspected.
-
- There can only be one QWebInspector associated with a QWebPage
- and vices versa.
+ Bind this inspector to the QWebPage to be inspected.
- Calling with \a page as null will break the current association, if any.
-
- If \a page is already associated to another QWebInspector, the association
- will be replaced and the previous QWebInspector will have no page
- associated.
+ \bold {Notes:}
+ \list
+ \o There can only be one QWebInspector associated with a QWebPage
+ and vice versa.
+ \o Calling this method with a null \a page will break the current association, if any.
+ \o If \a page is already associated to another QWebInspector, the association
+ will be replaced and the previous QWebInspector will become unbound
+ \endlist
\sa page()
*/
diff --git a/src/3rdparty/webkit/WebKit/qt/Api/qwebkitversion.cpp b/src/3rdparty/webkit/WebKit/qt/Api/qwebkitversion.cpp
index 062839fab0..181913ba32 100644
--- a/src/3rdparty/webkit/WebKit/qt/Api/qwebkitversion.cpp
+++ b/src/3rdparty/webkit/WebKit/qt/Api/qwebkitversion.cpp
@@ -22,11 +22,21 @@
#include <WebKitVersion.h>
/*!
-
+ \relates QWebPage
+ \since 4.6
Returns the version number of WebKit at run-time as a string (for
- example, "531.3"). This is the version of WebKit the application
- was compiled against.
+ example, "531.3").
+
+ This version is commonly used in WebKit based browsers as part
+ of the user agent string. Web servers and JavaScript might use
+ it to identify the presence of certain WebKit engine features
+ and behaviour.
+ The evolution of this version is bound to the releases of Apple's
+ Safari browser. For a version specific to the QtWebKit library,
+ see QTWEBKIT_VERSION
+
+ \sa QWebPage::userAgentForUrl()
*/
QString qWebKitVersion()
{
@@ -34,11 +44,13 @@ QString qWebKitVersion()
}
/*!
-
+ \relates QWebPage
+ \since 4.6
Returns the 'major' version number of WebKit at run-time as an integer
(for example, 531). This is the version of WebKit the application
was compiled against.
+ \sa qWebKitVersion()
*/
int qWebKitMajorVersion()
{
@@ -46,13 +58,57 @@ int qWebKitMajorVersion()
}
/*!
-
+ \relates QWebPage
+ \since 4.6
Returns the 'minor' version number of WebKit at run-time as an integer
(for example, 3). This is the version of WebKit the application
was compiled against.
+ \sa qWebKitVersion()
*/
int qWebKitMinorVersion()
{
return WEBKIT_MINOR_VERSION;
}
+
+/*!
+ \macro QTWEBKIT_VERSION
+ \relates QWebPage
+
+ This macro expands a numeric value of the form 0xMMNNPP (MM =
+ major, NN = minor, PP = patch) that specifies QtWebKit's version
+ number. For example, if you compile your application against QtWebKit
+ 2.1.2, the QTWEBKIT_VERSION macro will expand to 0x020102.
+
+ You can use QTWEBKIT_VERSION to use the latest QtWebKit API where
+ available.
+
+ \sa QT_VERSION
+*/
+
+/*!
+ \macro QTWEBKIT_VERSION_STR
+ \relates QWebPage
+
+ This macro expands to a string that specifies QtWebKit's version number
+ (for example, "2.1.2"). This is the version against which the
+ application is compiled.
+
+ \sa QTWEBKIT_VERSION
+*/
+
+/*!
+ \macro QTWEBKIT_VERSION_CHECK
+ \relates QWebPage
+
+ Turns the major, minor and patch numbers of a version into an
+ integer, 0xMMNNPP (MM = major, NN = minor, PP = patch). This can
+ be compared with another similarly processed version id, for example
+ in a preprocessor statement:
+
+ \code
+ #if QTWEBKIT_VERSION >= QTWEBKIT_VERSION_CHECK(2, 1, 0)
+ // code to use API new in QtWebKit 2.1.0
+ #endif
+ \endcode
+*/
diff --git a/src/3rdparty/webkit/WebKit/qt/Api/qwebpage.cpp b/src/3rdparty/webkit/WebKit/qt/Api/qwebpage.cpp
index b8b50b780c..4460ad337c 100644
--- a/src/3rdparty/webkit/WebKit/qt/Api/qwebpage.cpp
+++ b/src/3rdparty/webkit/WebKit/qt/Api/qwebpage.cpp
@@ -51,6 +51,7 @@
#include "EditorClientQt.h"
#include "SecurityOrigin.h"
#include "Settings.h"
+#include "TiledBackingStore.h"
#include "Page.h"
#include "Pasteboard.h"
#include "FrameLoader.h"
@@ -119,15 +120,6 @@
using namespace WebCore;
-void QWEBKIT_EXPORT qt_wrt_setViewMode(QWebPage* page, const QString& mode)
-{
- QWebPagePrivate::priv(page)->viewMode = mode;
- WebCore::Frame* frame = QWebFramePrivate::core(page->mainFrame());
- WebCore::FrameView* view = frame->view();
- frame->document()->updateStyleSelector();
- view->forceLayout();
-}
-
void QWEBKIT_EXPORT qt_drt_overwritePluginDirectories()
{
PluginDatabase* db = PluginDatabase::installedPlugins(/* populate */ false);
@@ -1183,7 +1175,7 @@ void QWebPagePrivate::dragEnterEvent(QGraphicsSceneDragDropEvent* ev)
Qt::DropAction action = dragOpToDropAction(page->dragController()->dragEntered(&dragData));
ev->setDropAction(action);
if (action != Qt::IgnoreAction)
- ev->accept();
+ ev->acceptProposedAction();
#endif
}
@@ -1196,7 +1188,7 @@ void QWebPagePrivate::dragEnterEvent(QDragEnterEvent* ev)
ev->setDropAction(action);
// We must accept this event in order to receive the drag move events that are sent
// while the drag and drop action is in progress.
- ev->accept();
+ ev->acceptProposedAction();
#endif
}
@@ -1226,7 +1218,7 @@ void QWebPagePrivate::dragMoveEvent(QGraphicsSceneDragDropEvent* ev)
Qt::DropAction action = dragOpToDropAction(page->dragController()->dragUpdated(&dragData));
ev->setDropAction(action);
if (action != Qt::IgnoreAction)
- ev->accept();
+ ev->acceptProposedAction();
#endif
}
@@ -1240,7 +1232,7 @@ void QWebPagePrivate::dragMoveEvent(QDragMoveEvent* ev)
ev->setDropAction(action);
// We must accept this event in order to receive the drag move events that are sent
// while the drag and drop action is in progress.
- ev->accept();
+ ev->acceptProposedAction();
#endif
}
@@ -1250,7 +1242,7 @@ void QWebPagePrivate::dropEvent(QGraphicsSceneDragDropEvent* ev)
DragData dragData(ev->mimeData(), ev->pos().toPoint(),
QCursor::pos(), dropActionToDragOp(ev->possibleActions()));
if (page->dragController()->performDrag(&dragData))
- ev->accept();
+ ev->acceptProposedAction();
#endif
}
@@ -1262,7 +1254,7 @@ void QWebPagePrivate::dropEvent(QDropEvent* ev)
DragData dragData(ev->mimeData(), ev->pos(), QCursor::pos(),
dropActionToDragOp(Qt::DropAction(ev->dropAction())));
if (page->dragController()->performDrag(&dragData))
- ev->accept();
+ ev->acceptProposedAction();
#endif
}
@@ -1303,6 +1295,9 @@ void QWebPagePrivate::inputMethodEvent(QInputMethodEvent *ev)
{
WebCore::Frame *frame = page->focusController()->focusedOrMainFrame();
WebCore::Editor *editor = frame->editor();
+#if QT_VERSION >= 0x040600
+ QInputMethodEvent::Attribute selection(QInputMethodEvent::Selection, 0, 0, QVariant());
+#endif
if (!editor->canEdit()) {
ev->ignore();
@@ -1319,6 +1314,7 @@ void QWebPagePrivate::inputMethodEvent(QInputMethodEvent *ev)
renderTextControl = toRenderTextControl(renderer);
Vector<CompositionUnderline> underlines;
+ bool hasSelection = false;
for (int i = 0; i < ev->attributes().size(); ++i) {
const QInputMethodEvent::Attribute& a = ev->attributes().at(i);
@@ -1342,10 +1338,8 @@ void QWebPagePrivate::inputMethodEvent(QInputMethodEvent *ev)
}
#if QT_VERSION >= 0x040600
case QInputMethodEvent::Selection: {
- if (renderTextControl) {
- renderTextControl->setSelectionStart(qMin(a.start, (a.start + a.length)));
- renderTextControl->setSelectionEnd(qMax(a.start, (a.start + a.length)));
- }
+ selection = a;
+ hasSelection = true;
break;
}
#endif
@@ -1354,13 +1348,128 @@ void QWebPagePrivate::inputMethodEvent(QInputMethodEvent *ev)
if (!ev->commitString().isEmpty())
editor->confirmComposition(ev->commitString());
- else if (!ev->preeditString().isEmpty()) {
+ else {
+ // 1. empty preedit with a selection attribute, and start/end of 0 cancels composition
+ // 2. empty preedit with a selection attribute, and start/end of non-0 updates selection of current preedit text
+ // 3. populated preedit with a selection attribute, and start/end of 0 or non-0 updates selection of supplied preedit text
+ // 4. otherwise event is updating supplied pre-edit text
QString preedit = ev->preeditString();
- editor->setComposition(preedit, underlines, preedit.length(), 0);
+#if QT_VERSION >= 0x040600
+ if (hasSelection) {
+ QString text = (renderTextControl) ? QString(renderTextControl->text()) : QString();
+ if (preedit.isEmpty() && selection.start + selection.length > 0)
+ preedit = text;
+ editor->setComposition(preedit, underlines,
+ (selection.length < 0) ? selection.start + selection.length : selection.start,
+ (selection.length < 0) ? selection.start : selection.start + selection.length);
+ } else
+#endif
+ editor->setComposition(preedit, underlines, preedit.length(), 0);
}
+
ev->accept();
}
+#ifndef QT_NO_PROPERTIES
+typedef struct {
+ const char* name;
+ double deferredRepaintDelay;
+ double initialDeferredRepaintDelayDuringLoading;
+ double maxDeferredRepaintDelayDuringLoading;
+ double deferredRepaintDelayIncrementDuringLoading;
+} QRepaintThrottlingPreset;
+
+void QWebPagePrivate::dynamicPropertyChangeEvent(QDynamicPropertyChangeEvent* event)
+{
+ if (event->propertyName() == "_q_viewMode") {
+ QString mode = q->property("_q_viewMode").toString();
+ if (mode != viewMode) {
+ viewMode = mode;
+ WebCore::Frame* frame = QWebFramePrivate::core(q->mainFrame());
+ WebCore::FrameView* view = frame->view();
+ frame->document()->updateStyleSelector();
+ view->forceLayout();
+ }
+ } else if (event->propertyName() == "_q_HTMLTokenizerChunkSize") {
+ int chunkSize = q->property("_q_HTMLTokenizerChunkSize").toInt();
+ q->handle()->page->setCustomHTMLTokenizerChunkSize(chunkSize);
+ } else if (event->propertyName() == "_q_HTMLTokenizerTimeDelay") {
+ double timeDelay = q->property("_q_HTMLTokenizerTimeDelay").toDouble();
+ q->handle()->page->setCustomHTMLTokenizerTimeDelay(timeDelay);
+ } else if (event->propertyName() == "_q_RepaintThrottlingDeferredRepaintDelay") {
+ double p = q->property("_q_RepaintThrottlingDeferredRepaintDelay").toDouble();
+ FrameView::setRepaintThrottlingDeferredRepaintDelay(p);
+ } else if (event->propertyName() == "_q_RepaintThrottlingnInitialDeferredRepaintDelayDuringLoading") {
+ double p = q->property("_q_RepaintThrottlingnInitialDeferredRepaintDelayDuringLoading").toDouble();
+ FrameView::setRepaintThrottlingnInitialDeferredRepaintDelayDuringLoading(p);
+ } else if (event->propertyName() == "_q_RepaintThrottlingMaxDeferredRepaintDelayDuringLoading") {
+ double p = q->property("_q_RepaintThrottlingMaxDeferredRepaintDelayDuringLoading").toDouble();
+ FrameView::setRepaintThrottlingMaxDeferredRepaintDelayDuringLoading(p);
+ } else if (event->propertyName() == "_q_RepaintThrottlingDeferredRepaintDelayIncrementDuringLoading") {
+ double p = q->property("_q_RepaintThrottlingDeferredRepaintDelayIncrementDuringLoading").toDouble();
+ FrameView::setRepaintThrottlingDeferredRepaintDelayIncrementDuringLoading(p);
+ } else if (event->propertyName() == "_q_RepaintThrottlingPreset") {
+ static const QRepaintThrottlingPreset presets[] = {
+ { "NoThrottling", 0, 0, 0, 0 },
+ { "Legacy", 0.025, 0, 2.5, 0.5 },
+ { "Minimal", 0.01, 0, 1, 0.2 },
+ { "Medium", 0.025, 1, 5, 0.5 },
+ { "Heavy", 0.1, 2, 10, 1 }
+ };
+
+ QString p = q->property("_q_RepaintThrottlingPreset").toString();
+ for(int i = 0; i < sizeof(presets) / sizeof(presets[0]); i++) {
+ if(p == presets[i].name) {
+ FrameView::setRepaintThrottlingDeferredRepaintDelay(
+ presets[i].deferredRepaintDelay);
+ FrameView::setRepaintThrottlingnInitialDeferredRepaintDelayDuringLoading(
+ presets[i].initialDeferredRepaintDelayDuringLoading);
+ FrameView::setRepaintThrottlingMaxDeferredRepaintDelayDuringLoading(
+ presets[i].maxDeferredRepaintDelayDuringLoading);
+ FrameView::setRepaintThrottlingDeferredRepaintDelayIncrementDuringLoading(
+ presets[i].deferredRepaintDelayIncrementDuringLoading);
+ break;
+ }
+ }
+ }
+#if ENABLE(TILED_BACKING_STORE)
+ else if (event->propertyName() == "_q_TiledBackingStoreTileSize") {
+ WebCore::Frame* frame = QWebFramePrivate::core(q->mainFrame());
+ if (!frame->tiledBackingStore())
+ return;
+ QSize tileSize = q->property("_q_TiledBackingStoreTileSize").toSize();
+ frame->tiledBackingStore()->setTileSize(tileSize);
+ } else if (event->propertyName() == "_q_TiledBackingStoreTileCreationDelay") {
+ WebCore::Frame* frame = QWebFramePrivate::core(q->mainFrame());
+ if (!frame->tiledBackingStore())
+ return;
+ int tileCreationDelay = q->property("_q_TiledBackingStoreTileCreationDelay").toInt();
+ frame->tiledBackingStore()->setTileCreationDelay(static_cast<double>(tileCreationDelay) / 1000.);
+ } else if (event->propertyName() == "_q_TiledBackingStoreKeepAreaMultiplier") {
+ WebCore::Frame* frame = QWebFramePrivate::core(q->mainFrame());
+ if (!frame->tiledBackingStore())
+ return;
+ FloatSize keepMultiplier;
+ FloatSize coverMultiplier;
+ frame->tiledBackingStore()->getKeepAndCoverAreaMultipliers(keepMultiplier, coverMultiplier);
+ QSizeF qSize = q->property("_q_TiledBackingStoreKeepAreaMultiplier").toSizeF();
+ keepMultiplier = FloatSize(qSize.width(), qSize.height());
+ frame->tiledBackingStore()->setKeepAndCoverAreaMultipliers(keepMultiplier, coverMultiplier);
+ } else if (event->propertyName() == "_q_TiledBackingStoreCoverAreaMultiplier") {
+ WebCore::Frame* frame = QWebFramePrivate::core(q->mainFrame());
+ if (!frame->tiledBackingStore())
+ return;
+ FloatSize keepMultiplier;
+ FloatSize coverMultiplier;
+ frame->tiledBackingStore()->getKeepAndCoverAreaMultipliers(keepMultiplier, coverMultiplier);
+ QSizeF qSize = q->property("_q_TiledBackingStoreCoverAreaMultiplier").toSizeF();
+ coverMultiplier = FloatSize(qSize.width(), qSize.height());
+ frame->tiledBackingStore()->setKeepAndCoverAreaMultipliers(keepMultiplier, coverMultiplier);
+ }
+#endif
+}
+#endif
+
void QWebPagePrivate::shortcutOverrideEvent(QKeyEvent* event)
{
WebCore::Frame* frame = page->focusController()->focusedOrMainFrame();
@@ -1507,7 +1616,7 @@ QVariant QWebPage::inputMethodQuery(Qt::InputMethodQuery property) const
RefPtr<Range> range = editor->compositionRange();
return QVariant(renderTextControl->selectionEnd() - TextIterator::rangeLength(range.get()));
}
- return QVariant(renderTextControl->selectionEnd());
+ return QVariant(frame->selection()->extent().offsetInContainerNode());
}
return QVariant();
}
@@ -1539,7 +1648,7 @@ QVariant QWebPage::inputMethodQuery(Qt::InputMethodQuery property) const
RefPtr<Range> range = editor->compositionRange();
return QVariant(renderTextControl->selectionStart() - TextIterator::rangeLength(range.get()));
}
- return QVariant(renderTextControl->selectionStart());
+ return QVariant(frame->selection()->base().offsetInContainerNode());
}
return QVariant();
}
@@ -1616,7 +1725,7 @@ InspectorController* QWebPagePrivate::inspectorController()
/*!
\enum QWebPage::FindFlag
- This enum describes the options available to QWebPage's findText() function. The options
+ This enum describes the options available to the findText() function. The options
can be OR-ed together from the following list:
\value FindBackward Searches backwards instead of forwards.
@@ -1637,6 +1746,8 @@ InspectorController* QWebPagePrivate::inspectorController()
\value DelegateExternalLinks When activating links that point to documents not stored on the
local filesystem or an equivalent - such as the Qt resource system - then linkClicked() is emitted.
\value DelegateAllLinks Whenever a link is activated the linkClicked() signal is emitted.
+
+ \sa QWebPage::linkDelegationPolicy
*/
/*!
@@ -1651,6 +1762,8 @@ InspectorController* QWebPagePrivate::inspectorController()
\value NavigationTypeReload The user activated the reload action.
\value NavigationTypeFormResubmitted An HTML form was submitted a second time.
\value NavigationTypeOther A navigation to another document using a method not listed above.
+
+ \sa acceptNavigationRequest()
*/
/*!
@@ -1660,7 +1773,7 @@ InspectorController* QWebPagePrivate::inspectorController()
Actions only have an effect when they are applicable. The availability of
actions can be be determined by checking \l{QAction::}{isEnabled()} on the
- action returned by \l{QWebPage::}{action()}.
+ action returned by action().
One method of enabling the text editing, cursor movement, and text selection actions
is by setting \l contentEditable to true.
@@ -1677,6 +1790,7 @@ InspectorController* QWebPagePrivate::inspectorController()
\value Back Navigate back in the history of navigated links.
\value Forward Navigate forward in the history of navigated links.
\value Stop Stop loading the current page.
+ \value StopScheduledPageRefresh Stop all pending page refresh/redirect requests.
\value Reload Reload the current page.
\value ReloadAndBypassCache Reload the current page, but do not use any local cache. (Added in Qt 4.6)
\value Cut Cut the content currently selected into the clipboard.
@@ -1742,6 +1856,8 @@ InspectorController* QWebPagePrivate::inspectorController()
/*!
\enum QWebPage::WebWindowType
+ This enum describes the types of window that can be created by the createWindow() function.
+
\value WebBrowserWindow The window is a regular web browser window.
\value WebModalDialog The window acts as modal dialog.
*/
@@ -1758,11 +1874,13 @@ InspectorController* QWebPagePrivate::inspectorController()
to provide functionality like QWebView in a widget-less environment.
QWebPage's API is very similar to QWebView, as you are still provided with
- common functions like action() (known as \l{QWebView::}{pageAction()} in
- QWebView), triggerAction(), findText() and settings(). More QWebView-like
- functions can be found in the main frame of QWebPage, obtained via
- QWebPage::mainFrame(). For example, the load(), setUrl() and setHtml()
- unctions for QWebPage can be accessed using QWebFrame.
+ common functions like action() (known as
+ \l{QWebView::pageAction()}{pageAction}() in QWebView), triggerAction(),
+ findText() and settings(). More QWebView-like functions can be found in the
+ main frame of QWebPage, obtained via the mainFrame() function. For example,
+ the \l{QWebFrame::load()}{load}(), \l{QWebFrame::setUrl()}{setUrl}() and
+ \l{QWebFrame::setHtml()}{setHtml}() functions for QWebPage can be accessed
+ using QWebFrame.
The loadStarted() signal is emitted when the page begins to load.The
loadProgress() signal, on the other hand, is emitted whenever an element
@@ -1866,7 +1984,8 @@ QWebFrame *QWebPage::currentFrame() const
/*!
\since 4.6
- Returns the frame at the given point \a pos.
+ Returns the frame at the given point \a pos, or 0 if there is no frame at
+ that position.
\sa mainFrame(), currentFrame()
*/
@@ -1985,7 +2104,7 @@ bool QWebPage::javaScriptConfirm(QWebFrame *frame, const QString& msg)
result should be written to \a result and true should be returned. If the prompt was not cancelled by the
user, the implementation should return true and the result string must not be null.
- The default implementation uses QInputDialog::getText.
+ The default implementation uses QInputDialog::getText().
*/
bool QWebPage::javaScriptPrompt(QWebFrame *frame, const QString& msg, const QString& defaultValue, QString* result)
{
@@ -2077,6 +2196,15 @@ static void openNewWindow(const QUrl& url, WebCore::Frame* frame)
}
}
+static void collectChildFrames(QWebFrame* frame, QList<QWebFrame*>& list)
+{
+ list << frame->childFrames();
+ QListIterator<QWebFrame*> it(frame->childFrames());
+ while (it.hasNext()) {
+ collectChildFrames(it.next(), list);
+ }
+}
+
/*!
This function can be called to trigger the specified \a action.
It is also called by QtWebKit if the user triggers the action, for example
@@ -2173,6 +2301,16 @@ void QWebPage::triggerAction(WebAction action, bool)
#endif
break;
}
+ case StopScheduledPageRefresh: {
+ QWebFrame* topFrame = mainFrame();
+ topFrame->d->frame->redirectScheduler()->cancel();
+ QList<QWebFrame*> childFrames;
+ collectChildFrames(topFrame, childFrames);
+ QListIterator<QWebFrame*> it(childFrames);
+ while (it.hasNext())
+ it.next()->d->frame->redirectScheduler()->cancel();
+ break;
+ }
default:
command = QWebPagePrivate::editorCommandForWebActions(action);
break;
@@ -2199,6 +2337,8 @@ QSize QWebPage::viewportSize() const
By default, for a newly-created Web page, this property contains a size with
zero width and height.
+
+ \sa QWebFrame::render(), preferredContentsSize
*/
void QWebPage::setViewportSize(const QSize &size) const
{
@@ -2227,11 +2367,12 @@ QSize QWebPage::preferredContentsSize() const
/*!
\property QWebPage::preferredContentsSize
\since 4.6
- \brief the size of the fixed layout
+ \brief the preferred size of the contents
+
+ If this property is set to a valid size, it is used to lay out the page.
+ If it is not set (the default), the viewport size is used instead.
- The size affects the layout of the page in the viewport. If set to a fixed size of
- 1024x768 for example then webkit will layout the page as if the viewport were that size
- rather than something different.
+ \sa viewportSize
*/
void QWebPage::setPreferredContentsSize(const QSize &size) const
{
@@ -2579,9 +2720,11 @@ QAction *QWebPage::action(WebAction action) const
/*!
\property QWebPage::modified
- \brief whether the page contains unsubmitted form data
+ \brief whether the page contains unsubmitted form data, or the contents have been changed.
By default, this property is false.
+
+ \sa contentsChanged(), contentEditable, undoStack()
*/
bool QWebPage::isModified() const
{
@@ -2597,6 +2740,8 @@ bool QWebPage::isModified() const
#ifndef QT_NO_UNDOSTACK
/*!
Returns a pointer to the undo stack used for editable content.
+
+ \sa modified
*/
QUndoStack *QWebPage::undoStack() const
{
@@ -2708,6 +2853,11 @@ bool QWebPage::event(QEvent *ev)
d->touchEvent(static_cast<QTouchEvent*>(ev));
break;
#endif
+#ifndef QT_NO_PROPERTIES
+ case QEvent::DynamicPropertyChange:
+ d->dynamicPropertyChangeEvent(static_cast<QDynamicPropertyChangeEvent*>(ev));
+ break;
+#endif
default:
return QObject::event(ev);
}
@@ -2716,7 +2866,7 @@ bool QWebPage::event(QEvent *ev)
}
/*!
- Similar to QWidget::focusNextPrevChild it focuses the next focusable web element
+ Similar to QWidget::focusNextPrevChild() it focuses the next focusable web element
if \a next is true; otherwise the previous element is focused.
Returns true if it can find a new focusable element, or false if it can't.
@@ -2743,6 +2893,8 @@ bool QWebPage::focusNextPrevChild(bool next)
If this property is enabled the contents of the page can be edited by the user through a visible
cursor. If disabled (the default) only HTML elements in the web page with their
\c{contenteditable} attribute set are editable.
+
+ \sa modified, contentsChanged(), WebAction
*/
void QWebPage::setContentEditable(bool editable)
{
@@ -2912,17 +3064,21 @@ void QWebPage::updatePositionDependentActions(const QPoint &pos)
as a result of the user clicking on a "file upload" button in a HTML form where multiple
file selection is allowed.
- \omitvalue ErrorPageExtension (introduced in Qt 4.6)
+ \value ErrorPageExtension Whether the web page can provide an error page when loading fails.
+ (introduced in Qt 4.6)
+
+ \sa ChooseMultipleFilesExtensionOption, ChooseMultipleFilesExtensionReturn, ErrorPageExtensionOption, ErrorPageExtensionReturn
*/
/*!
\enum QWebPage::ErrorDomain
\since 4.6
- \internal
- \value QtNetwork
- \value Http
- \value WebKit
+ This enum describes the domain of an ErrorPageExtensionOption object (i.e. the layer in which the error occurred).
+
+ \value QtNetwork The error occurred in the QtNetwork layer; the error code is of type QNetworkReply::NetworkError.
+ \value Http The error occurred in the HTTP layer; the error code is a HTTP status code (see QNetworkRequest::HttpStatusCodeAttribute).
+ \value WebKit The error is an internal WebKit error.
*/
/*!
@@ -2932,7 +3088,18 @@ void QWebPage::updatePositionDependentActions(const QPoint &pos)
\inmodule QtWebKit
- \sa QWebPage::extension()
+ \sa QWebPage::extension() QWebPage::ExtensionReturn
+*/
+
+
+/*!
+ \class QWebPage::ExtensionReturn
+ \since 4.4
+ \brief The ExtensionReturn class provides an output result from a QWebPage's extension.
+
+ \inmodule QtWebKit
+
+ \sa QWebPage::extension() QWebPage::ExtensionOption
*/
/*!
@@ -2943,12 +3110,38 @@ void QWebPage::updatePositionDependentActions(const QPoint &pos)
\inmodule QtWebKit
- The ErrorPageExtensionOption class holds the \a url for which an error occoured as well as
+ The ErrorPageExtensionOption class holds the \a url for which an error occurred as well as
the associated \a frame.
The error itself is reported by an error \a domain, the \a error code as well as \a errorString.
- \sa QWebPage::ErrorPageExtensionReturn
+ \sa QWebPage::extension() QWebPage::ErrorPageExtensionReturn
+*/
+
+/*!
+ \variable QWebPage::ErrorPageExtensionOption::url
+ \brief the url for which an error occurred
+*/
+
+/*!
+ \variable QWebPage::ErrorPageExtensionOption::frame
+ \brief the frame associated with the error
+*/
+
+/*!
+ \variable QWebPage::ErrorPageExtensionOption::domain
+ \brief the domain that reported the error
+*/
+
+/*!
+ \variable QWebPage::ErrorPageExtensionOption::error
+ \brief the error code. Interpretation of the value depends on the \a domain
+ \sa QWebPage::ErrorDomain
+*/
+
+/*!
+ \variable QWebPage::ErrorPageExtensionOption::errorString
+ \brief a string that describes the error
*/
/*!
@@ -2969,7 +3162,7 @@ void QWebPage::updatePositionDependentActions(const QPoint &pos)
External objects such as stylesheets or images referenced in the HTML are located relative to
\a baseUrl.
- \sa QWebPage::ErrorPageExtensionOption, QString::toUtf8()
+ \sa QWebPage::extension() QWebPage::ErrorPageExtensionOption, QString::toUtf8()
*/
/*!
@@ -2978,6 +3171,29 @@ void QWebPage::updatePositionDependentActions(const QPoint &pos)
Constructs a new error page object.
*/
+
+/*!
+ \variable QWebPage::ErrorPageExtensionReturn::contentType
+ \brief the error page's content type
+*/
+
+/*!
+ \variable QWebPage::ErrorPageExtensionReturn::encoding
+ \brief the error page encoding
+*/
+
+/*!
+ \variable QWebPage::ErrorPageExtensionReturn::baseUrl
+ \brief the base url
+
+ External objects such as stylesheets or images referenced in the HTML are located relative to this url.
+*/
+
+/*!
+ \variable QWebPage::ErrorPageExtensionReturn::content
+ \brief the HTML content of the error page
+*/
+
/*!
\class QWebPage::ChooseMultipleFilesExtensionOption
\since 4.5
@@ -2989,7 +3205,22 @@ void QWebPage::updatePositionDependentActions(const QPoint &pos)
The ChooseMultipleFilesExtensionOption class holds the frame originating the request
and the suggested filenames which might be provided.
- \sa QWebPage::chooseFile(), QWebPage::ChooseMultipleFilesExtensionReturn
+ \sa QWebPage::extension() QWebPage::chooseFile(), QWebPage::ChooseMultipleFilesExtensionReturn
+*/
+
+/*!
+ \variable QWebPage::ChooseMultipleFilesExtensionOption::parentFrame
+ \brief The frame in which the request originated
+*/
+
+/*!
+ \variable QWebPage::ChooseMultipleFilesExtensionOption::suggestedFileNames
+ \brief The suggested filenames
+*/
+
+/*!
+ \variable QWebPage::ChooseMultipleFilesExtensionReturn::fileNames
+ \brief The selected filenames
*/
/*!
@@ -3003,14 +3234,17 @@ void QWebPage::updatePositionDependentActions(const QPoint &pos)
The ChooseMultipleFilesExtensionReturn class holds the filenames selected by the user
when the extension is invoked.
- \sa QWebPage::ChooseMultipleFilesExtensionOption
+ \sa QWebPage::extension() QWebPage::ChooseMultipleFilesExtensionOption
*/
/*!
This virtual function can be reimplemented in a QWebPage subclass to provide support for extensions. The \a option
argument is provided as input to the extension; the output results can be stored in \a output.
- The behavior of this function is determined by \a extension.
+ The behavior of this function is determined by \a extension. The \a option
+ and \a output values are typically casted to the corresponding types (for
+ example, ChooseMultipleFilesExtensionOption and
+ ChooseMultipleFilesExtensionReturn for ChooseMultipleFilesExtension).
You can call supportsExtension() to check if an extension is supported by the page.
@@ -3076,6 +3310,14 @@ bool QWebPage::findText(const QString &subString, FindFlags options)
} else
return d->page->markAllMatchesForText(subString, caseSensitivity, true, 0);
} else {
+ if (subString.isEmpty()) {
+ d->page->mainFrame()->selection()->clear();
+ Frame* frame = d->page->mainFrame()->tree()->firstChild();
+ while (frame) {
+ frame->selection()->clear();
+ frame = frame->tree()->traverseNextWithWrap(false);
+ }
+ }
::FindDirection direction = ::FindDirectionForward;
if (options & FindBackward)
direction = ::FindDirectionBackward;
@@ -3102,6 +3344,8 @@ QWebSettings *QWebPage::settings() const
A suggested filename may be provided in \a suggestedFile. The frame originating the
request is provided as \a parentFrame.
+
+ \sa ChooseMultipleFilesExtension
*/
QString QWebPage::chooseFile(QWebFrame *parentFrame, const QString& suggestedFile)
{
@@ -3213,12 +3457,37 @@ QString QWebPage::userAgentForUrl(const QUrl&) const
#elif defined Q_WS_X11
"X11"
#elif defined Q_OS_SYMBIAN
- "SymbianOS"
+ "Symbian"
#else
"Unknown"
#endif
);
+#if defined Q_OS_SYMBIAN
+ QSysInfo::SymbianVersion symbianVersion = QSysInfo::symbianVersion();
+ switch (symbianVersion) {
+ case QSysInfo::SV_9_2:
+ firstPartTemp += QString::fromLatin1("OS/9.2");
+ break;
+ case QSysInfo::SV_9_3:
+ firstPartTemp += QString::fromLatin1("OS/9.3");
+ break;
+ case QSysInfo::SV_9_4:
+ firstPartTemp += QString::fromLatin1("OS/9.4");
+ break;
+ case QSysInfo::SV_SF_2:
+ firstPartTemp += QString::fromLatin1("/2");
+ break;
+ case QSysInfo::SV_SF_3:
+ firstPartTemp += QString::fromLatin1("/3");
+ break;
+ case QSysInfo::SV_SF_4:
+ firstPartTemp += QString::fromLatin1("/4");
+ default:
+ break;
+ }
+#endif
+
firstPartTemp += QString::fromLatin1("; ");
// SSL support
@@ -3342,42 +3611,22 @@ QString QWebPage::userAgentForUrl(const QUrl&) const
firstPartTemp += QString::fromLatin1("Sun Solaris");
#elif defined Q_OS_ULTRIX
firstPartTemp += QString::fromLatin1("DEC Ultrix");
-#elif defined Q_OS_SYMBIAN
- firstPartTemp += QString::fromLatin1("SymbianOS");
- QSysInfo::SymbianVersion symbianVersion = QSysInfo::symbianVersion();
- switch (symbianVersion) {
- case QSysInfo::SV_9_2:
- firstPartTemp += QString::fromLatin1("/9.2");
- break;
- case QSysInfo::SV_9_3:
- firstPartTemp += QString::fromLatin1("/9.3");
- break;
- case QSysInfo::SV_9_4:
- firstPartTemp += QString::fromLatin1("/9.4");
- break;
- default:
- firstPartTemp += QString::fromLatin1("/Unknown");
- }
-
-#if defined Q_WS_S60
+#elif defined Q_WS_S60
firstPartTemp += QLatin1Char(' ');
- firstPartTemp += QString::fromLatin1("Series60");
QSysInfo::S60Version s60Version = QSysInfo::s60Version();
switch (s60Version) {
case QSysInfo::SV_S60_3_1:
- firstPartTemp += QString::fromLatin1("/3.1");
+ firstPartTemp += QString::fromLatin1("Series60/3.1");
break;
case QSysInfo::SV_S60_3_2:
- firstPartTemp += QString::fromLatin1("/3.2");
+ firstPartTemp += QString::fromLatin1("Series60/3.2");
break;
case QSysInfo::SV_S60_5_0:
- firstPartTemp += QString::fromLatin1("/5.0");
+ firstPartTemp += QString::fromLatin1("Series60/5.0");
break;
default:
- firstPartTemp += QString::fromLatin1("/Unknown");
+ break;
}
-#endif
-
#elif defined Q_OS_UNIX
firstPartTemp += QString::fromLatin1("UNIX BSD/SYSV system");
#elif defined Q_OS_UNIXWARE
@@ -3407,8 +3656,8 @@ QString QWebPage::userAgentForUrl(const QUrl&) const
QString thirdPartTemp;
thirdPartTemp.reserve(150);
-#if defined(Q_WS_S60) || defined(Q_WS_MAEMO_5)
- thirdPartTemp + QLatin1String(" Mobile Safari/");
+#if defined(Q_OS_SYMBIAN) || defined(Q_WS_MAEMO_5)
+ thirdPartTemp += QLatin1String(" Mobile Safari/");
#else
thirdPartTemp += QLatin1String(" Safari/");
#endif
@@ -3426,7 +3675,7 @@ QString QWebPage::userAgentForUrl(const QUrl&) const
languageName = d->client->ownerWidget()->locale().name();
else
languageName = QLocale().name();
- languageName[2] = QLatin1Char('-');
+ languageName.replace(QLatin1Char('_'), QLatin1Char('-'));
// Application name/version
QString appName = QCoreApplication::applicationName();
@@ -3465,7 +3714,7 @@ quint64 QWebPage::totalBytes() const
/*!
Returns the number of bytes that were received from the network to render the current page.
- \sa totalBytes()
+ \sa totalBytes(), loadProgress()
*/
quint64 QWebPage::bytesReceived() const
{
@@ -3497,7 +3746,7 @@ quint64 QWebPage::bytesReceived() const
This signal is emitted when a load of the page is finished.
\a ok will indicate whether the load was successful or any error occurred.
- \sa loadStarted()
+ \sa loadStarted(), ErrorPageExtension
*/
/*!
@@ -3524,12 +3773,15 @@ quint64 QWebPage::bytesReceived() const
\fn void QWebPage::frameCreated(QWebFrame *frame)
This signal is emitted whenever the page creates a new \a frame.
+
+ \sa currentFrame()
*/
/*!
\fn void QWebPage::selectionChanged()
- This signal is emitted whenever the selection changes.
+ This signal is emitted whenever the selection changes, either interactively
+ or programmatically (e.g. by calling triggerAction() with a selection action).
\sa selectedText()
*/
@@ -3541,7 +3793,7 @@ quint64 QWebPage::bytesReceived() const
This signal is emitted whenever the text in form elements changes
as well as other editable content.
- \sa contentEditable, QWebFrame::toHtml(), QWebFrame::toPlainText()
+ \sa contentEditable, modified, QWebFrame::toHtml(), QWebFrame::toPlainText()
*/
/*!
@@ -3617,9 +3869,9 @@ quint64 QWebPage::bytesReceived() const
\fn void QWebPage::microFocusChanged()
This signal is emitted when for example the position of the cursor in an editable form
- element changes. It is used inform input methods about the new on-screen position where
- the user is able to enter text. This signal is usually connected to QWidget's updateMicroFocus()
- slot.
+ element changes. It is used to inform input methods about the new on-screen position where
+ the user is able to enter text. This signal is usually connected to the
+ QWidget::updateMicroFocus() slot.
*/
/*!
@@ -3660,6 +3912,8 @@ quint64 QWebPage::bytesReceived() const
This signal is emitted whenever the web site shown in \a frame is asking to store data
to the database \a databaseName and the quota allocated to that web site is exceeded.
+
+ \sa QWebDatabase
*/
/*!
diff --git a/src/3rdparty/webkit/WebKit/qt/Api/qwebpage.h b/src/3rdparty/webkit/WebKit/qt/Api/qwebpage.h
index 1adde0617a..34f675bd9d 100644
--- a/src/3rdparty/webkit/WebKit/qt/Api/qwebpage.h
+++ b/src/3rdparty/webkit/WebKit/qt/Api/qwebpage.h
@@ -169,6 +169,8 @@ public:
AlignLeft,
AlignRight,
+ StopScheduledPageRefresh,
+
WebActionCount
};
diff --git a/src/3rdparty/webkit/WebKit/qt/Api/qwebpage_p.h b/src/3rdparty/webkit/WebKit/qt/Api/qwebpage_p.h
index 0712d0cc39..1b90a663ff 100644
--- a/src/3rdparty/webkit/WebKit/qt/Api/qwebpage_p.h
+++ b/src/3rdparty/webkit/WebKit/qt/Api/qwebpage_p.h
@@ -112,6 +112,10 @@ public:
void inputMethodEvent(QInputMethodEvent*);
+#ifndef QT_NO_PROPERTIES
+ void dynamicPropertyChangeEvent(QDynamicPropertyChangeEvent*);
+#endif
+
void shortcutOverrideEvent(QKeyEvent*);
void leaveEvent(QEvent*);
void handleClipboard(QEvent*, Qt::MouseButton);
diff --git a/src/3rdparty/webkit/WebKit/qt/Api/qwebpluginfactory.cpp b/src/3rdparty/webkit/WebKit/qt/Api/qwebpluginfactory.cpp
index 8ff13b10d9..b9180be940 100644
--- a/src/3rdparty/webkit/WebKit/qt/Api/qwebpluginfactory.cpp
+++ b/src/3rdparty/webkit/WebKit/qt/Api/qwebpluginfactory.cpp
@@ -23,32 +23,47 @@
/*!
\class QWebPluginFactory
\since 4.4
- \brief The QWebPluginFactory class creates plugins to be embedded into web
- pages.
+ \brief The QWebPluginFactory class is used to embed custom data types in web pages.
\inmodule QtWebKit
- QWebPluginFactory is a factory for creating plugins for QWebPage. A plugin
- factory can be installed on a QWebPage using QWebPage::setPluginFactory().
+ The HTML \c{<object>} tag is used to embed arbitrary content into a web page,
+ for example:
+
+ \code
+ <object type="application/x-pdf" data="http://qt.nokia.com/document.pdf" width="500" height="400"></object>
+ \endcode
+
+ QtWebkit will natively handle the most basic data types like \c{text/html} and
+ \c{image/jpeg}, but for any advanced or custom data types you will need to
+ provide a handler yourself.
+
+ QWebPluginFactory is a factory for creating plugins for QWebPage, where each
+ plugin provides support for one or more data types. A plugin factory can be
+ installed on a QWebPage using QWebPage::setPluginFactory().
\note The plugin factory is only used if plugins are enabled through QWebSettings.
- You can provide a QWebPluginFactory by implementing the plugins() and the
- create() method. For plugins() it is necessary to describe the plugins the
+ You provide a QWebPluginFactory by implementing the plugins() and the
+ create() methods. For plugins() it is necessary to describe the plugins the
factory can create, including a description and the supported MIME types.
The MIME types each plugin can handle should match the ones specified in
- in the HTML \c{<object>} tag.
+ in the HTML \c{<object>} tag of your content.
The create() method is called if the requested MIME type is supported. The
implementation has to return a new instance of the plugin requested for the
given MIME type and the specified URL.
+
+ The plugins themselves are subclasses of QObject, but currently only plugins
+ based on either QWidget or QGraphicsWidget are supported.
+
*/
/*!
\class QWebPluginFactory::Plugin
\since 4.4
- \brief the QWebPluginFactory::Plugin structure describes the properties of a plugin a QWebPluginFactory can create.
+ \brief The QWebPluginFactory::Plugin structure describes the properties of a plugin a QWebPluginFactory can create.
\inmodule QtWebKit
*/
@@ -132,7 +147,7 @@ QWebPluginFactory::~QWebPluginFactory()
supported plugins the factory can create.
\note Currently, this function is only called when JavaScript programs
- access the global \c plugins or \c mimetypes objects.
+ access the global \c plugins or \c mimetypes objects.
*/
/*!
@@ -183,6 +198,7 @@ void QWebPluginFactory::refreshPlugins()
/*!
\enum QWebPluginFactory::Extension
+ \internal
This enum describes the types of extensions that the plugin factory can support. Before using these extensions, you
should verify that the extension is supported by calling supportsExtension().
@@ -192,6 +208,7 @@ void QWebPluginFactory::refreshPlugins()
/*!
\class QWebPluginFactory::ExtensionOption
+ \internal
\since 4.4
\brief The ExtensionOption class provides an extended input argument to QWebPluginFactory's extension support.
@@ -202,6 +219,7 @@ void QWebPluginFactory::refreshPlugins()
/*!
\class QWebPluginFactory::ExtensionReturn
+ \internal
\since 4.4
\brief The ExtensionOption class provides an extended output argument to QWebPluginFactory's extension support.
@@ -214,6 +232,8 @@ void QWebPluginFactory::refreshPlugins()
This virtual function can be reimplemented in a QWebPluginFactory subclass to provide support for extensions. The \a option
argument is provided as input to the extension; the output results can be stored in \a output.
+ \internal
+
The behaviour of this function is determined by \a extension.
You can call supportsExtension() to check if an extension is supported by the factory.
@@ -233,6 +253,8 @@ bool QWebPluginFactory::extension(Extension extension, const ExtensionOption *op
/*!
This virtual function returns true if the plugin factory supports \a extension; otherwise false is returned.
+ \internal
+
\sa extension()
*/
bool QWebPluginFactory::supportsExtension(Extension extension) const
diff --git a/src/3rdparty/webkit/WebKit/qt/Api/qwebsecurityorigin.cpp b/src/3rdparty/webkit/WebKit/qt/Api/qwebsecurityorigin.cpp
index 6c26bd7ab4..7179eaa10c 100644
--- a/src/3rdparty/webkit/WebKit/qt/Api/qwebsecurityorigin.cpp
+++ b/src/3rdparty/webkit/WebKit/qt/Api/qwebsecurityorigin.cpp
@@ -63,6 +63,16 @@ void QWEBKIT_EXPORT qt_drt_setDomainRelaxationForbiddenForURLScheme(bool forbidd
\c{http://www.malicious.com/evil.html} from accessing \c{http://www.example.com/}'s resources,
because they are of a different security origin.
+ By default local schemes like \c{file://} and \c{qrc://} are concidered to be in the same
+ security origin, and can access each other's resources. You can add additional local schemes
+ by using QWebSecurityOrigin::addLocalScheme(), or override the default same-origin behavior
+ by setting QWebSettings::LocalContentCanAccessFileUrls to \c{false}.
+
+ \note Local resources are by default restricted from accessing remote content, which
+ means your \c{file://} will not be able to access \c{http://domain.com/foo.html}. You
+ can relax this restriction by setting QWebSettings::LocalContentCanAccessRemoteUrls to
+ \c{true}.
+
Call QWebFrame::securityOrigin() to get the QWebSecurityOrigin for a frame in a
web page, and use host(), scheme() and port() to identify the security origin.
@@ -219,7 +229,11 @@ QList<QWebDatabase> QWebSecurityOrigin::databases() const
\since 4.6
Adds the given \a scheme to the list of schemes that are considered equivalent
- to the \c file: scheme. They are not subject to cross domain restrictions.
+ to the \c file: scheme.
+
+ Cross domain restrictions depend on the two web settings QWebSettings::LocalContentCanAccessFileUrls
+ and QWebSettings::LocalContentCanAccessFileUrls. By default all local schemes are concidered to be
+ in the same security origin, and local schemes can not access remote content.
*/
void QWebSecurityOrigin::addLocalScheme(const QString& scheme)
{
@@ -231,6 +245,9 @@ void QWebSecurityOrigin::addLocalScheme(const QString& scheme)
Removes the given \a scheme from the list of local schemes.
+ \note You can not remove the \c{file://} scheme from the list
+ of local schemes.
+
\sa addLocalScheme()
*/
void QWebSecurityOrigin::removeLocalScheme(const QString& scheme)
@@ -240,7 +257,10 @@ void QWebSecurityOrigin::removeLocalScheme(const QString& scheme)
/*!
\since 4.6
- Returns a list of all the schemes that were set by the application as local schemes,
+ Returns a list of all the schemes concidered to be local.
+
+ By default this is \c{file://} and \c{qrc://}.
+
\sa addLocalScheme(), removeLocalScheme()
*/
QStringList QWebSecurityOrigin::localSchemes()
diff --git a/src/3rdparty/webkit/WebKit/qt/Api/qwebsettings.cpp b/src/3rdparty/webkit/WebKit/qt/Api/qwebsettings.cpp
index ae7f6a83a9..47b4f3b185 100644
--- a/src/3rdparty/webkit/WebKit/qt/Api/qwebsettings.cpp
+++ b/src/3rdparty/webkit/WebKit/qt/Api/qwebsettings.cpp
@@ -48,9 +48,7 @@
#include <QUrl>
#include <QFileInfo>
-#if ENABLE(QT_BEARER)
#include "NetworkStateNotifier.h"
-#endif
void QWEBKIT_EXPORT qt_networkAccessAllowed(bool isAllowed)
{
@@ -74,7 +72,6 @@ public:
QString localStoragePath;
QString offlineWebApplicationCachePath;
qint64 offlineStorageDefaultQuota;
- QUrl inspectorLocation;
void apply();
WebCore::Settings* settings;
@@ -248,6 +245,10 @@ void QWebSettingsPrivate::apply()
settings->setTiledBackingStoreEnabled(value);
#endif
+ value = attributes.value(QWebSettings::SiteSpecificQuirksEnabled,
+ global->attributes.value(QWebSettings::SiteSpecificQuirksEnabled));
+ settings->setNeedsSiteSpecificQuirks(value);
+
settings->setUsesPageCache(WebCore::pageCache()->capacity());
} else {
QList<QWebSettingsPrivate*> settings = *::allSettings();
@@ -289,8 +290,8 @@ QWebSettings* QWebSettings::globalSettings()
function. The \l{QWebSettings::WebAttribute}{WebAttribute} enum further describes
each attribute.
- QWebSettings also configures global properties such as the Web page memory
- cache and the Web page icon database, local database storage and offline
+ QWebSettings also configures global properties such as the web page memory
+ cache, icon database, local database storage and offline
applications storage.
\section1 Enabling Plugins
@@ -299,8 +300,8 @@ QWebSettings* QWebSettings::globalSettings()
\l{QWebSettings::PluginsEnabled}{PluginsEnabled} attribute. For many applications,
this attribute is enabled for all pages by setting it on the
\l{globalSettings()}{global settings object}. QtWebKit will always ignore this setting
- \when processing Qt plugins. The decision to allow a Qt plugin is made by the client
- \in its reimplementation of QWebPage::createPlugin.
+ when processing Qt plugins. The decision to allow a Qt plugin is made by the client
+ in its reimplementation of QWebPage::createPlugin().
\section1 Web Application Support
@@ -339,7 +340,7 @@ QWebSettings* QWebSettings::globalSettings()
\value MinimumFontSize The hard minimum font size.
\value MinimumLogicalFontSize The minimum logical font size that is applied
- after zooming with QWebFrame's textSizeMultiplier().
+ when zooming out with QWebFrame::setTextSizeMultiplier().
\value DefaultFontSize The default font size for regular text.
\value DefaultFixedFontSize The default font size for fixed-pitch text.
*/
@@ -361,66 +362,76 @@ QWebSettings* QWebSettings::globalSettings()
This enum describes various attributes that are configurable through QWebSettings.
\value AutoLoadImages Specifies whether images are automatically loaded in
- web pages.
+ web pages. This is enabled by default.
\value DnsPrefetchEnabled Specifies whether QtWebkit will try to pre-fetch DNS entries to
- speed up browsing. This only works as a global attribute. Only for Qt 4.6 and later.
+ speed up browsing. This only works as a global attribute. Only for Qt 4.6 and later. This is disabled by default.
\value JavascriptEnabled Enables or disables the running of JavaScript
- programs.
+ programs. This is enabled by default
\value JavaEnabled Enables or disables Java applets.
Currently Java applets are not supported.
- \value PluginsEnabled Enables or disables plugins in Web pages. Qt plugins
- with a mimetype such as "application/x-qt-plugin" are not affected by this setting.
+ \value PluginsEnabled Enables or disables plugins in Web pages (e.g. using NPAPI). Qt plugins
+ with a mimetype such as "application/x-qt-plugin" are not affected by this setting. This is disabled by default.
\value PrivateBrowsingEnabled Private browsing prevents WebKit from
- recording visited pages in the history and storing web page icons.
+ recording visited pages in the history and storing web page icons. This is disabled by default.
\value JavascriptCanOpenWindows Specifies whether JavaScript programs
- can open new windows.
+ can open new windows. This is disabled by default.
\value JavascriptCanAccessClipboard Specifies whether JavaScript programs
- can read or write to the clipboard.
+ can read or write to the clipboard. This is disabled by default.
\value DeveloperExtrasEnabled Enables extra tools for Web developers.
Currently this enables the "Inspect" element in the context menu as
- well as the use of QWebInspector which controls the WebKit WebInspector
- for web site debugging.
+ well as the use of QWebInspector which controls the web inspector
+ for web site debugging. This is disabled by default.
\value SpatialNavigationEnabled Enables or disables the Spatial Navigation
feature, which consists in the ability to navigate between focusable
elements in a Web page, such as hyperlinks and form controls, by using
- Left, Right, Up and Down arrow keys. For example, if an user presses the
+ Left, Right, Up and Down arrow keys. For example, if a user presses the
Right key, heuristics determine whether there is an element he might be
- trying to reach towards the right, and if there are multiple elements,
- which element he probably wants.
+ trying to reach towards the right and which element he probably wants.
+ This is disabled by default.
\value LinksIncludedInFocusChain Specifies whether hyperlinks should be
- included in the keyboard focus chain.
- \value ZoomTextOnly Specifies whether the zoom factor on a frame applies to
- only the text or all content.
+ included in the keyboard focus chain. This is enabled by default.
+ \value ZoomTextOnly Specifies whether the zoom factor on a frame applies
+ only to the text or to all content. This is disabled by default.
\value PrintElementBackgrounds Specifies whether the background color and images
- are also drawn when the page is printed.
+ are also drawn when the page is printed. This is enabled by default.
\value OfflineStorageDatabaseEnabled Specifies whether support for the HTML 5
- offline storage feature is enabled or not. Disabled by default.
+ offline storage feature is enabled or not. This is disabled by default.
\value OfflineWebApplicationCacheEnabled Specifies whether support for the HTML 5
- web application cache feature is enabled or not. Disabled by default.
+ web application cache feature is enabled or not. This is disabled by default.
\value LocalStorageEnabled Specifies whether support for the HTML 5
- local storage feature is enabled or not. Disabled by default.
+ local storage feature is enabled or not. This is disabled by default.
\value LocalStorageDatabaseEnabled \e{This enum value is deprecated.} Use
QWebSettings::LocalStorageEnabled instead.
- \value LocalContentCanAccessRemoteUrls Specifies whether locally loaded documents are allowed to access remote urls.
- \value LocalContentCanAccessFileUrls Specifies whether locally loaded documents are allowed to access other local urls.
- \value XSSAuditorEnabled Specifies whether load requests should be monitored for cross-site scripting attempts.
+ \value LocalContentCanAccessRemoteUrls Specifies whether locally loaded documents are
+ allowed to access remote urls. This is disabled by default. For more information
+ about security origins and local vs. remote content see QWebSecurityOrigin.
+ \value LocalContentCanAccessFileUrls Specifies whether locally loaded documents are
+ allowed to access other local urls. This is enabled by default. For more information
+ about security origins and local vs. remote content see QWebSecurityOrigin.
+ \value XSSAuditingEnabled Specifies whether load requests should be monitored for cross-site
+ scripting attempts. Suspicious scripts will be blocked and reported in the inspector's
+ JavaScript console. Enabling this feature might have an impact on performance
+ and it is disabled by default.
\value AcceleratedCompositingEnabled This feature, when used in conjunction with
QGraphicsWebView, accelerates animations of web content. CSS animations of the transform and
opacity properties will be rendered by composing the cached content of the animated elements.
- This feature is enabled by default
+ This is enabled by default.
\value TiledBackingStoreEnabled This setting enables the tiled backing store feature
for a QGraphicsWebView. With the tiled backing store enabled, the web page contents in and around
the current visible area is speculatively cached to bitmap tiles. The tiles are automatically kept
in sync with the web page as it changes. Enabling tiling can significantly speed up painting heavy
operations like scrolling. Enabling the feature increases memory consumption. It does not work well
with contents using CSS fixed positioning (see also \l{QGraphicsWebView::}{resizesToContents} property).
- \l{QGraphicsWebView::}{tiledBackingStoreFrozen} property allows application to temporarily freeze the contents of the backing store.
+ \l{QGraphicsWebView::}{tiledBackingStoreFrozen} property allows application to temporarily
+ freeze the contents of the backing store. This is disabled by default.
\value FrameFlatteningEnabled With this setting each subframe is expanded to its contents.
On touch devices, it is desired to not have any scrollable sub parts of the page
as it results in a confusing user experience, with scrolling sometimes scrolling sub parts
and at other times scrolling the page itself. For this reason iframes and framesets are
barely usable on touch devices. This will flatten all the frames to become one scrollable page.
- Disabled by default.
+ This is disabled by default.
+ \value SiteSpecificQuirksEnabled This setting enables WebKit's workaround for broken sites. It is
+ enabled by default.
*/
/*!
@@ -456,6 +467,7 @@ QWebSettings::QWebSettings()
d->attributes.insert(QWebSettings::AcceleratedCompositingEnabled, true);
d->attributes.insert(QWebSettings::TiledBackingStoreEnabled, false);
d->attributes.insert(QWebSettings::FrameFlatteningEnabled, false);
+ d->attributes.insert(QWebSettings::SiteSpecificQuirksEnabled, true);
d->offlineStorageDefaultQuota = 5 * 1024 * 1024;
d->defaultTextEncoding = QLatin1String("iso-8859-1");
}
@@ -525,7 +537,8 @@ void QWebSettings::resetFontSize(FontSize type)
with UTF-8 and Base64 encoded data, such as:
"data:text/css;charset=utf-8;base64,cCB7IGJhY2tncm91bmQtY29sb3I6IHJlZCB9Ow=="
- NOTE: In case the base 64 data is not valid the style will not be applied.
+
+ \note If the base64 data is not valid, the style will not be applied.
\sa userStyleSheetUrl()
*/
@@ -576,9 +589,11 @@ QString QWebSettings::defaultTextEncoding() const
Sets the path of the icon database to \a path. The icon database is used
to store "favicons" associated with web sites.
- \a path must point to an existing directory where the icons are stored.
+ \a path must point to an existing directory.
Setting an empty path disables the icon database.
+
+ \sa iconDatabasePath(), clearIconDatabase()
*/
void QWebSettings::setIconDatabasePath(const QString& path)
{
@@ -621,7 +636,7 @@ void QWebSettings::clearIconDatabase()
/*!
Returns the web site's icon for \a url.
- If the web site does not specify an icon, or the icon is not in the
+ If the web site does not specify an icon \bold OR if the icon is not in the
database, a null QIcon is returned.
\note The returned icon's size is arbitrary.
@@ -658,7 +673,7 @@ QWebPluginDatabase *QWebSettings::pluginDatabase()
Sets \a graphic to be drawn when QtWebKit needs to draw an image of the
given \a type.
- For example, when an image cannot be loaded the pixmap specified by
+ For example, when an image cannot be loaded, the pixmap specified by
\l{QWebSettings::WebGraphic}{MissingImageGraphic} is drawn instead.
\sa webGraphic()
@@ -676,9 +691,6 @@ void QWebSettings::setWebGraphic(WebGraphic type, const QPixmap& graphic)
Returns a previously set pixmap used to draw replacement graphics of the
specified \a type.
- For example, when an image cannot be loaded the pixmap specified by
- \l{QWebSettings::WebGraphic}{MissingImageGraphic} is drawn instead.
-
\sa setWebGraphic()
*/
QPixmap QWebSettings::webGraphic(WebGraphic type)
@@ -719,8 +731,7 @@ void QWebSettings::clearMemoryCaches()
Sets the maximum number of pages to hold in the memory page cache to \a pages.
The Page Cache allows for a nicer user experience when navigating forth or back
- to pages in the forward/back history, by pausing and resuming up to \a pages
- per page group.
+ to pages in the forward/back history, by pausing and resuming up to \a pages.
For more information about the feature, please refer to:
@@ -792,8 +803,8 @@ QString QWebSettings::fontFamily(FontFamily which) const
}
/*!
- Resets the actual font family to the default font family, specified by
- \a which.
+ Resets the actual font family specified by \a which to the one set
+ in the global QWebSettings instance.
This function has no effect on the global QWebSettings instance.
*/
@@ -835,7 +846,9 @@ bool QWebSettings::testAttribute(WebAttribute attr) const
/*!
\fn void QWebSettings::resetAttribute(WebAttribute attribute)
- Resets the setting of \a attribute.
+ Resets the setting of \a attribute to the value specified in the
+ global QWebSettings instance.
+
This function has no effect on the global QWebSettings instance.
\sa globalSettings()
@@ -851,12 +864,15 @@ void QWebSettings::resetAttribute(WebAttribute attr)
/*!
\since 4.5
- Sets the path for HTML5 offline storage to \a path.
+ Sets \a path as the save location for HTML5 client-side database storage data.
- \a path must point to an existing directory where the databases are stored.
+ \a path must point to an existing directory.
Setting an empty path disables the feature.
+ Support for client-side databases can enabled by setting the
+ \l{QWebSettings::OfflineStorageDatabaseEnabled}{OfflineStorageDatabaseEnabled} attribute.
+
\sa offlineStoragePath()
*/
void QWebSettings::setOfflineStoragePath(const QString& path)
@@ -869,7 +885,7 @@ void QWebSettings::setOfflineStoragePath(const QString& path)
/*!
\since 4.5
- Returns the path of the HTML5 offline storage or an empty string if the
+ Returns the path of the HTML5 client-side database storage or an empty string if the
feature is disabled.
\sa setOfflineStoragePath()
@@ -906,22 +922,24 @@ qint64 QWebSettings::offlineStorageDefaultQuota()
/*!
\since 4.6
- \relates QWebSettings
Sets the path for HTML5 offline web application cache storage to \a path.
An application cache acts like an HTTP cache in some sense. For documents
- that use the application cache via JavaScript, the loader mechinery will
+ that use the application cache via JavaScript, the loader engine will
first ask the application cache for the contents, before hitting the
network.
The feature is described in details at:
http://dev.w3.org/html5/spec/Overview.html#appcache
- \a path must point to an existing directory where the cache is stored.
+ \a path must point to an existing directory.
Setting an empty path disables the feature.
+ Support for offline web application cache storage can enabled by setting the
+ \l{QWebSettings::OfflineWebApplicationCacheEnabled}{OfflineWebApplicationCacheEnabled} attribute.
+
\sa offlineWebApplicationCachePath()
*/
void QWebSettings::setOfflineWebApplicationCachePath(const QString& path)
@@ -933,7 +951,6 @@ void QWebSettings::setOfflineWebApplicationCachePath(const QString& path)
/*!
\since 4.6
- \relates QWebSettings
Returns the path of the HTML5 offline web application cache storage
or an empty string if the feature is disabled.
@@ -980,7 +997,6 @@ qint64 QWebSettings::offlineWebApplicationCacheQuota()
/*!
\since 4.6
- \relates QWebSettings
Sets the path for HTML5 local storage to \a path.
@@ -999,33 +1015,7 @@ void QWebSettings::setLocalStoragePath(const QString& path)
}
/*!
- \since 4.7
-
- Specifies the \a location of a frontend to load with each web page when using Web Inspector.
-
- \sa inspectorUrl()
-*/
-void QWebSettings::setInspectorUrl(const QUrl& location)
-{
- d->inspectorLocation = location;
- d->apply();
-}
-
-/*!
- \since 4.7
-
- Returns the location of the Web Inspector frontend.
-
- \sa setInspectorUrl()
-*/
-QUrl QWebSettings::inspectorUrl() const
-{
- return d->inspectorLocation;
-}
-
-/*!
\since 4.6
- \relates QWebSettings
Returns the path for HTML5 local storage.
@@ -1038,13 +1028,14 @@ QString QWebSettings::localStoragePath() const
/*!
\since 4.6
- \relates QWebSettings
- Enables WebKit persistent data and sets the path to \a path.
- If the \a path is empty the path for persistent data is set to the
- user-specific data location specified by
- \l{QDesktopServices::DataLocation}{DataLocation}.
-
+ Enables WebKit data persistence and sets the path to \a path.
+ If \a path is empty, the user-specific data location specified by
+ \l{QDesktopServices::DataLocation}{DataLocation} will be used instead.
+
+ This method will simultaneously set and enable the iconDatabasePath(),
+ localStoragePath(), offlineStoragePath() and offlineWebApplicationCachePath().
+
\sa localStoragePath()
*/
void QWebSettings::enablePersistentStorage(const QString& path)
diff --git a/src/3rdparty/webkit/WebKit/qt/Api/qwebsettings.h b/src/3rdparty/webkit/WebKit/qt/Api/qwebsettings.h
index d2e536edd6..207a9b6652 100644
--- a/src/3rdparty/webkit/WebKit/qt/Api/qwebsettings.h
+++ b/src/3rdparty/webkit/WebKit/qt/Api/qwebsettings.h
@@ -63,7 +63,7 @@ public:
OfflineStorageDatabaseEnabled,
OfflineWebApplicationCacheEnabled,
LocalStorageEnabled,
-#ifdef QT_DEPRECATED
+#if defined(QT_DEPRECATED) || defined(qdoc)
LocalStorageDatabaseEnabled = LocalStorageEnabled,
#endif
LocalContentCanAccessRemoteUrls,
@@ -73,7 +73,8 @@ public:
SpatialNavigationEnabled,
LocalContentCanAccessFileUrls,
TiledBackingStoreEnabled,
- FrameFlatteningEnabled
+ FrameFlatteningEnabled,
+ SiteSpecificQuirksEnabled
};
enum WebGraphic {
MissingImageGraphic,
@@ -136,9 +137,6 @@ public:
void setLocalStoragePath(const QString& path);
QString localStoragePath() const;
- void setInspectorUrl(const QUrl &location);
- QUrl inspectorUrl() const;
-
static void clearMemoryCaches();
static void enablePersistentStorage(const QString& path = QString());
diff --git a/src/3rdparty/webkit/WebKit/qt/ChangeLog b/src/3rdparty/webkit/WebKit/qt/ChangeLog
index 555b14d9a8..475d22dad6 100644
--- a/src/3rdparty/webkit/WebKit/qt/ChangeLog
+++ b/src/3rdparty/webkit/WebKit/qt/ChangeLog
@@ -1,3 +1,543 @@
+2010-06-17 Mark Brand <mabrand@mabrand.nl>
+
+ Reviewed by Simon Hausmann.
+
+ [Qt] use "win32-g++*" scope to match all MinGW makespecs
+
+ The scope "win32-g++" comes from the name of the makespec. However, it
+ is frequently used to check for MinGW. This works fine as long as
+ win32-g++ is the only makespec for MinGW. Now we need the wildcard
+ to cover "win32-g++-cross" as well.
+
+ * Api/DerivedSources.pro:
+
+2010-05-28 Viatcheslav Ostapenko <ostapenko.viatcheslav@nokia.com>
+
+ Reviewed by Simon Hausmann, Antti Koivisto
+
+ [Qt] Add internal Qt Api to configure repaint throttling parameters.
+ https://bugs.webkit.org/show_bug.cgi?id=38401
+
+ * Api/qwebpage.cpp:
+ (QWebPagePrivate::dynamicPropertyChangeEvent):
+
+2010-06-12 Dawit Alemayehu <adawit@kde.org>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ Added an attribute to enable/disable site specific quirks mode in WebKit.
+ The attribute is enabled by default.
+
+ https://bugs.webkit.org/show_bug.cgi?id=40073
+
+ * Api/qwebsettings.cpp:
+ (QWebSettingsPrivate::apply):
+ (QWebSettings::QWebSettings):
+ * Api/qwebsettings.h:
+
+2010-06-09 Pierre Rossi <pierre.rossi@nokia.com>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ QWebPage::findText() does not clear selection when passed empty string
+ https://bugs.webkit.org/show_bug.cgi?id=31779
+
+ * Api/qwebpage.cpp:
+ (QWebPage::findText):
+ * tests/qwebpage/tst_qwebpage.cpp:
+ (tst_QWebPage::findText):
+
+2010-06-12 No'am Rosenthal <noam.rosenthal@nokia.com>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ [Qt] Add documentation to the QtWebkit bridge
+ https://bugs.webkit.org/show_bug.cgi?id=35861
+
+ The previous accepted patch was actually a faulty one; It was hard to trace since it's just a documentation
+ change. The new patch amends that, with the correct snippets and grammar fixes.
+
+ * docs/qtwebkit-bridge.qdoc:
+ * docs/webkitsnippets/qtwebkit_bridge_snippets.cpp:
+ (wrapInFunction):
+
+2010-06-11 Jesus Sanchez-Palencia <jesus@webkit.org>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ [Qt] Typo error in QWebPluginFactory Documentation
+ https://bugs.webkit.org/show_bug.cgi?id=40490
+
+ * Api/qwebpluginfactory.cpp:
+
+2010-06-10 Andy Shaw <andy.shaw@nokia.com>
+
+ Reviewed by Simon Hausmann.
+
+ REGRESSION: [Qt] When dragging onto a page that handles the drag in Javascript it will be a move and not a copy by default
+ https://bugs.webkit.org/show_bug.cgi?id=40401
+
+ The correct pattern in Qt for Dnd events is to use acceptProposedAction() instead
+ of accept().
+
+ * Api/qwebpage.cpp:
+ (QWebPagePrivate::dragEnterEvent):
+ (QWebPagePrivate::dragMoveEvent):
+ (QWebPagePrivate::dropEvent):
+
+2010-06-02 Tasuku Suzuki <tasuku.suzuki@nokia.com>
+
+ Reviewed by Shinichiro Hamaji.
+
+ [Qt] Fix compilation with QT_NO_PROPERTIES
+ https://bugs.webkit.org/show_bug.cgi?id=38324
+
+ * Api/qwebpage.cpp:
+ (QWebPage::event):
+ * Api/qwebpage_p.h:
+ * WebCoreSupport/InspectorClientQt.cpp:
+ (WebCore::InspectorClientQt::openInspectorFrontend):
+
+2010-05-17 Tasuku Suzuki <tasuku.suzuki@nokia.com>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ [Qt] Fix compilation with QT_NO_COMBOBOX
+ https://bugs.webkit.org/show_bug.cgi?id=38324
+
+ * WebCoreSupport/ChromeClientQt.cpp:
+ (WebCore::ChromeClientQt::createSelectPopup):
+ * WebCoreSupport/QtFallbackWebPopup.cpp:
+ * WebCoreSupport/QtFallbackWebPopup.h:
+
+2010-05-02 Tasuku Suzuki <tasuku.suzuki@nokia.com>
+
+ Reviewed by Simon Hausmann.
+
+ [Qt] Fix compilation with QT_NO_BEARERMANAGEMENT
+ https://bugs.webkit.org/show_bug.cgi?id=38324
+
+ * Api/qwebsettings.cpp:
+
+2010-03-24 Viatcheslav Ostapenko <ostapenko.viatcheslav@nokia.com>
+
+ Reviewed by Laszlo Gombos.
+
+ Auto-uppercase and predictive text need to be disabled for S60 (as for maemo)
+ https://bugs.webkit.org/show_bug.cgi?id=33176
+
+ * WebCoreSupport/EditorClientQt.cpp:
+
+2010-06-01 Noam Rosenthal <noam.rosenthal@nokia.com>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ [Qt] Add documentation to the QtWebkit bridge
+ https://bugs.webkit.org/show_bug.cgi?id=35861
+
+ This patch includes comprehensive qdoc documentation for the QtWebkit bridge.
+
+ * docs/qtwebkit-bridge.qdoc: Added.
+ * docs/qtwebkit.qdoc:
+ * docs/webkitsnippets/doc_src_qtscript.qdoc: Added.
+ * docs/webkitsnippets/qtwebkit_bridge_snippets.cpp: Added.
+ (wrapInFunction):
+
+2010-06-01 Simon Hausmann <simon.hausmann@nokia.com>
+
+ Reviewed by Laszlo Gombos.
+
+ [Qt] Rename versioning .pri file to what Qt's mkspecs/features/qt.pri expects.
+
+ * qt_webkit_version.pri: Renamed from WebKit/qt/qtwebkit_version.pri.
+
+2010-05-31 Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
+
+ Reviewed by Simon Hausmann.
+
+ [Qt] Escape backslashes in the .pro files
+
+ qmake in Qt 4.7 warns about unescaped backspaces and deprecates them.
+
+ * Api/DerivedSources.pro:
+ * docs/docs.pri:
+
+2010-05-19 Denis Dzyubenko <denis.dzyubenko@nokia.com>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ When creating the UA, do not sassmue the language code is a
+ two-letter iso639-1 code.
+
+ * Api/qwebpage.cpp:
+ (QWebPage::userAgentForUrl):
+
+2010-05-28 Antti Koivisto <koivisto@iki.fi>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ Add a missing #if ENABLE(), some null checking.
+
+ * Api/qwebpage.cpp:
+ (QWebPagePrivate::dynamicPropertyChangeEvent):
+
+2010-05-28 Antti Koivisto <koivisto@iki.fi>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ https://bugs.webkit.org/show_bug.cgi?id=39874
+ [Qt] Make tiled backing store more configurable
+
+ Make tile size, tile creation delay and tiling area dynamically configurable.
+
+ * Api/qwebpage.cpp:
+ (QWebPagePrivate::dynamicPropertyChangeEvent):
+
+2010-05-29 Dawit Alemayehu <adawit@kde.org>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ Added a WebAction to stop all pending page refresh/redirect
+ requests set through the <meta http-equiv="refresh"...> tag.
+
+ https://bugs.webkit.org/show_bug.cgi?id=29899
+
+ * Api/qwebpage.cpp:
+ (QWebPage::triggerAction):
+ * Api/qwebpage.h:
+ * tests/qwebpage/tst_qwebpage.cpp:
+ (tst_QWebPage::testStopScheduledPageRefresh):
+
+2010-04-20 Robert Hogan <robert@webkit.org>
+
+ Reviewed by Simon Hausmann.
+
+ [Qt] Add more support for textInputController
+
+ Add support for selectedRange(), setMarkedText(), insertText(),
+ and firstRectForCharacterRange().
+
+ https://bugs.webkit.org/show_bug.cgi?id=35702
+
+ * Api/qwebpage.cpp:
+ (QWebPagePrivate::inputMethodEvent):
+ * tests/qwebpage/tst_qwebpage.cpp:
+ (tst_QWebPage::inputMethods):
+
+2010-05-20 Janne Koskinen <janne.p.koskinen@digia.com>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ [Qt] WINSCW compile fix for qwebframe test
+ https://bugs.webkit.org/show_bug.cgi?id=38722
+
+ WINSCW cannot determine template type up the hierarchy
+ to common base class.
+
+ * tests/qwebframe/tst_qwebframe.cpp:
+
+2010-05-23 Laszlo Gombos <laszlo.1.gombos@nokia.com>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ [Qt] Update the Symbian version for the user agent
+ https://bugs.webkit.org/show_bug.cgi?id=38389
+
+ Fixes a regression introduced by r58648. Ensure that the "Symbian" string
+ is only listed one time in the User Agent string.
+
+ In addition make an effort to align the User Agent string to already
+ released WebKit based products for Symbian.
+
+ * Api/qwebpage.cpp:
+ (QWebPage::userAgentForUrl):
+
+2010-05-21 Simon Hausmann <simon.hausmann@nokia.com>
+
+ Symbian build fix.
+
+ [Qt] Updated the wins def file with one new export.
+
+ The DRT symbols are still missing, but I can't build DRT ;(
+
+ * symbian/bwins/QtWebKitu.def:
+
+2010-05-12 Simon Hausmann <simon.hausmann@nokia.com>
+
+ Reviewed by Laszlo Gombos.
+
+ Add a comment to explain the web inspector dynamic property url hook
+ and that it's there on purpose :)
+
+ https://bugs.webkit.org/show_bug.cgi?id=35340
+
+ * WebCoreSupport/InspectorClientQt.cpp:
+ (WebCore::InspectorClientQt::openInspectorFrontend):
+
+2010-05-06 Simon Hausmann <simon.hausmann@nokia.com>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ [Qt] Replace public inspector url with private property for QtLauncher
+ https://bugs.webkit.org/show_bug.cgi?id=35340
+
+ Replace the public API with a private dynamic property until this feature
+ is ready.
+
+ * Api/qwebsettings.cpp:
+ * Api/qwebsettings.h:
+ * WebCoreSupport/InspectorClientQt.cpp:
+ (WebCore::InspectorClientQt::openInspectorFrontend):
+ * symbian/bwins/QtWebKitu.def:
+ * symbian/eabi/QtWebKitu.def:
+
+2010-05-20 Luiz Agostini <luiz.agostini@openbossa.org>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ [Qt] Skipping popup focus test for maemo
+ https://bugs.webkit.org/show_bug.cgi?id=39314
+
+ Skipping popup focus test for maemo in qwebframe auto test.
+
+ The test method tst_QWebFrame::popupFocus() was testing popup focus AND input
+ field focus. The input field focus has been removed from the method popupFocus()
+ and a new test method named inputFieldFocus() has been added. Finally the test
+ method popupFocus() has been skipped for maemo.
+
+ * tests/qwebframe/tst_qwebframe.cpp:
+
+2010-05-20 Rajiv Ramanasankaran <rajiv.ramanasankaran@nokia.com>
+
+ Reviewed by Simon Hausmann.
+
+ [Qt] QWebPage::inputMethodQuery() returns wrong values for Qt::ImCursorPosition, Qt::ImAnchorPosition
+ https://bugs.webkit.org/show_bug.cgi?id=38779
+
+ The earlier implementation was written with the assumption that in this scenario the
+ anchor position always corresponds to the START index and that the current cursor position
+ always corresponds to the END index in WebKit.
+
+ Updated the implementation of QWebPage::inputMethodQuery(Qt::ImCursorPosition) and
+ QWebPage::inputMethodQuery(Qt::ImAnchorPosition) for the case where the Editor is not in
+ composition mode. In the non-composition mode, the Anchor and the Current cursor positions
+ correspond to the Base and Extent position offsets in WebKit.
+
+ Also added the auto-tests for the RIGHT to LEFT and LEFT to RIGHT selections.
+
+ * Api/qwebpage.cpp:
+ (QWebPage::inputMethodQuery): Now returning correct values for Qt::ImCursorPosition and
+ Qt::ImAnchorPosition when the Editor is not in composition mode.
+ * tests/qwebpage/tst_qwebpage.cpp:
+ (tst_QWebPage::inputMethods): Added auto-tests for RIGHT to LEFT and LEFT to RIGHT selections
+
+2010-05-12 Joe Ligman <joseph.ligman@nokia.com>
+
+ Reviewed by Laszlo Gombos.
+
+ [Qt] Nested overflow div does not scroll
+ https://bugs.webkit.org/show_bug.cgi?id=38641
+
+ Modify qtwebkit_webframe_scrollOverflow, if the current node's render layer
+ does not scroll it will try and scroll the parent's render layer. Also export
+ qtwebkit_webframe_scrollOverflow so we can use it independently of
+ qtwebkit_webframe_scrollRecursively
+
+ * Api/qwebframe.cpp:
+ (qtwebkit_webframe_scrollOverflow):
+ (qtwebkit_webframe_scrollRecursively):
+
+2010-05-17 Antti Koivisto <koivisto@iki.fi>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ https://bugs.webkit.org/show_bug.cgi?id=39218
+ [Qt] Tiled backing store tiles sometimes flicker when exiting a zoom animation
+
+ Tiles sometimes flicker when exiting a zoom animation. This happens as a result
+ of the visible rectangle being momentarily out of sync.
+
+ Instead of updating the visible rect by explicitly setting it, pull it through
+ the client and recompute in WebKit the level.
+
+ * Api/qgraphicswebview.cpp:
+ (QGraphicsWebView::paint):
+ * WebCoreSupport/ChromeClientQt.cpp:
+ (WebCore::ChromeClientQt::visibleRectForTiledBackingStore):
+ * WebCoreSupport/ChromeClientQt.h:
+
+2010-05-18 Jedrzej Nowacki <jedrzej.nowacki@nokia.com>
+
+ Reviewed by Simon Hausmann.
+
+ Fix QWebHistory serialization.
+
+ Regression was caused by bug 33224. The streaming function
+ should generate a documentSequenceNumber for all loaded values.
+
+ [Qt] tst_QWebHistory::serialize_2() fails
+ https://bugs.webkit.org/show_bug.cgi?id=37322
+
+ * Api/qwebhistory.cpp:
+ (operator>>):
+
+2010-05-14 Kent Hansen <kent.hansen@nokia.com>, Jocelyn Turcotte <jocelyn.turcotte@nokia.com>, Tor Arne Vestbø <tor.arne.vestbo@nokia.com>, Henry Haverinen <henry.haverinen@nokia.com>, Jedrzej Nowacki <jedrzej.nowacki@nokia.com>, Andreas Kling <andreas.kling@nokia.com>
+
+ Reviewed by Simon Hausmann.
+
+ [Qt] Merge overhaul of the QtWebKit API documentation
+
+ Numerous improvements in wording, qdoc warning fixes and
+ clarifications, done in a team work effort.
+
+ No functional changes.
+
+ * Api/qwebdatabase.cpp:
+ * Api/qwebelement.cpp:
+ * Api/qwebframe.cpp:
+ * Api/qwebhistoryinterface.cpp:
+ * Api/qwebinspector.cpp:
+ * Api/qwebkitversion.cpp:
+ * Api/qwebpage.cpp:
+ * Api/qwebpluginfactory.cpp:
+ * Api/qwebsecurityorigin.cpp:
+ * Api/qwebsettings.cpp:
+ * Api/qwebsettings.h:
+ * docs/qtwebkit.qdoc:
+ * docs/webkitsnippets/qtwebkit_qwebinspector_snippet.cpp:
+ (wrapInFunction):
+ * docs/webkitsnippets/webelement/main.cpp:
+ (findButtonAndClick):
+ (autocomplete1):
+ (autocomplete2):
+ (main):
+
+2010-05-14 Martin Smith <msmith@trolltech.com>
+
+ Reviewed by Simon Hausmann.
+
+ Documentation: Fix overview grouping.
+
+ * docs/qtwebkit.qdoc:
+
+2010-05-14 Benjamin Poulain <benjamin.poulain@nokia.com>
+
+ Reviewed by Laszlo Gombos.
+
+ [QT] Update the Symbian version for the user agent
+ https://bugs.webkit.org/show_bug.cgi?id=38389
+
+ Update the user agent for Symbian^2 to Symbian^4
+
+ * Api/qwebpage.cpp:
+ (QWebPage::userAgentForUrl):
+
+2010-05-11 Antonio Gomes <tonikitoo@webkit.org>
+
+ Reviewed by Kenneth Christiansen.
+
+ [Qt] emit initialLayoutCompleted signal from FrameLoaderClientQt::dispatchDidFirstVisuallyNonEmptyLayout
+ https://bugs.webkit.org/show_bug.cgi?id=38921
+
+ Emit initialLayoutCompleted signal from FrameLoaderClientQt::dispatchDidFirstVisuallyNonEmptyLayout
+ instead of FrameLoaderClientQt::dispatchDidFirstLayout , because the former ensures that a
+ visual content layed out on the frame.
+
+ It matches to QWebFrame::initialLayoutCompleted signal documentation at:
+
+ "... This is the first time you will see contents displayed on the frame ..."
+
+ * WebCoreSupport/FrameLoaderClientQt.cpp:
+ (WebCore::FrameLoaderClientQt::dispatchDidFirstLayout):
+ (WebCore::FrameLoaderClientQt::dispatchDidFirstVisuallyNonEmptyLayout):
+
+2010-05-11 Kenneth Rohde Christiansen <kenneth@webkit.org>
+
+ Reviewed by Laszlo Gombos.
+
+ [Qt] REGRESSION(r58497) tst_QGraphicsWebView::crashOnViewlessWebPages() is failing
+ https://bugs.webkit.org/show_bug.cgi?id=38655
+
+ Fix double free by moving the connect till after the resize.
+
+ The bug is causes by the fact that a resize of an empty page causes a
+ layout, thus deleting the qgraphicswebview before setHtml is called,
+ which then deletes it again, causing a double free.
+
+ * tests/qgraphicswebview/tst_qgraphicswebview.cpp:
+ (tst_QGraphicsWebView::crashOnViewlessWebPages):
+
+2010-05-11 Diego Gonzalez <diegohcg@webkit.org>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ [Qt] tst_QWebPage::inputMethods failing on Maemo5
+ https://bugs.webkit.org/show_bug.cgi?id=38685
+
+ Check if the SIP (Software Input Panel) is triggered, which normally
+ happens on mobile platforms, when a user input form receives a mouse click.
+
+ * tests/qwebpage/tst_qwebpage.cpp:
+ (tst_QWebPage::inputMethods):
+
+2010-05-09 Noam Rosenthal <noam.rosenthal@nokia.com>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ [Qt] Crash in QGraphicsWebViewPrivate::~QGraphicsWebViewPrivate when animation were used
+ https://bugs.webkit.org/show_bug.cgi?id=38574
+
+ The fix uses a QWeakPointer for rootGraphicsLayer, protecting from a crash in case the layer is deleted before the QGraphicsWebView.
+
+ * Api/qgraphicswebview.cpp:
+ (QGraphicsWebViewPrivate::QGraphicsWebViewPrivate):
+ (QGraphicsWebViewPrivate::~QGraphicsWebViewPrivate):
+ (QGraphicsWebViewPrivate::setRootGraphicsLayer):
+ (QGraphicsWebViewPrivate::updateCompositingScrollPosition):
+
+2010-05-03 Laszlo Gombos <laszlo.1.gombos@nokia.com>
+
+ Reviewed by Simon Hausmann.
+
+ [Qt] Expose HTMLTokenizer yielding parameters
+ https://bugs.webkit.org/show_bug.cgi?id=37023
+
+ Enables to set TimeDelay and ChunkSize for
+ HTMLTokenizer.
+
+ * Api/qwebpage.cpp:
+ (QWebPagePrivate::dynamicPropertyChangeEvent):
+
+2010-05-04 Laszlo Gombos <laszlo.1.gombos@nokia.com>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ [Qt] QWebPage viewMode property
+ https://bugs.webkit.org/show_bug.cgi?id=38119
+
+ Rename the property from wrt_viewMode to _q_viewMode.
+
+ * Api/qwebpage.cpp:
+ (QWebPagePrivate::dynamicPropertyChangeEvent):
+ * tests/qwebpage/tst_qwebpage.cpp:
+ (tst_QWebPage::viewModes):
+
+2010-04-28 Luiz Agostini <luiz.agostini@openbossa.org>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ [Qt] QWebPage viewMode property
+ https://bugs.webkit.org/show_bug.cgi?id=38119
+
+ Replacing method qt_wrt_setViewMode by wrt_viewMode property.
+
+ * Api/qwebpage.cpp:
+ (QWebPagePrivate::dynamicPropertyChangeEvent):
+ (QWebPage::event):
+ * Api/qwebpage_p.h:
+ * tests/qwebpage/tst_qwebpage.cpp:
+ (tst_QWebPage::wrt_viewModes):
+
2010-04-09 Tasuku Suzuki <tasuku.suzuki@nokia.com>
Reviewed by Simon Hausmann.
diff --git a/src/3rdparty/webkit/WebKit/qt/WebCoreSupport/ChromeClientQt.cpp b/src/3rdparty/webkit/WebKit/qt/WebCoreSupport/ChromeClientQt.cpp
index 9eb10d64e2..7d1c794c0c 100644
--- a/src/3rdparty/webkit/WebKit/qt/WebCoreSupport/ChromeClientQt.cpp
+++ b/src/3rdparty/webkit/WebKit/qt/WebCoreSupport/ChromeClientQt.cpp
@@ -559,13 +559,24 @@ bool ChromeClientQt::allowsAcceleratedCompositing() const
}
#endif
+
+#if ENABLE(TILED_BACKING_STORE)
+IntRect ChromeClientQt::visibleRectForTiledBackingStore() const
+{
+ if (!platformPageClient())
+ return IntRect();
+ return enclosingIntRect(FloatRect(platformPageClient()->graphicsItemVisibleRect()));
+}
+#endif
QtAbstractWebPopup* ChromeClientQt::createSelectPopup()
{
#if defined(Q_WS_MAEMO_5)
return new QtMaemoWebPopup;
-#else
+#elif !defined(QT_NO_COMBOBOX)
return new QtFallbackWebPopup;
+#else
+ return result;
#endif
}
diff --git a/src/3rdparty/webkit/WebKit/qt/WebCoreSupport/ChromeClientQt.h b/src/3rdparty/webkit/WebKit/qt/WebCoreSupport/ChromeClientQt.h
index f0a7c8ca3e..a47adf09d3 100644
--- a/src/3rdparty/webkit/WebKit/qt/WebCoreSupport/ChromeClientQt.h
+++ b/src/3rdparty/webkit/WebKit/qt/WebCoreSupport/ChromeClientQt.h
@@ -140,6 +140,10 @@ namespace WebCore {
virtual bool allowsAcceleratedCompositing() const;
#endif
+#if ENABLE(TILED_BACKING_STORE)
+ virtual IntRect visibleRectForTiledBackingStore() const;
+#endif
+
#if ENABLE(TOUCH_EVENTS)
virtual void needTouchEvents(bool) { }
#endif
diff --git a/src/3rdparty/webkit/WebKit/qt/WebCoreSupport/EditorClientQt.cpp b/src/3rdparty/webkit/WebKit/qt/WebCoreSupport/EditorClientQt.cpp
index 7b7f61038a..0ce638342d 100644
--- a/src/3rdparty/webkit/WebKit/qt/WebCoreSupport/EditorClientQt.cpp
+++ b/src/3rdparty/webkit/WebKit/qt/WebCoreSupport/EditorClientQt.cpp
@@ -613,11 +613,11 @@ void EditorClientQt::setInputMethodState(bool active)
}
}
webPageClient->setInputMethodHint(Qt::ImhHiddenText, isPasswordField);
-#ifdef Q_WS_MAEMO_5
- // Maemo 5 MicroB Browser disables auto-uppercase and predictive text, thus, so do we.
+#if defined(Q_WS_MAEMO_5) || defined(Q_OS_SYMBIAN)
+ // disables auto-uppercase and predictive text for mobile devices
webPageClient->setInputMethodHint(Qt::ImhNoAutoUppercase, true);
webPageClient->setInputMethodHint(Qt::ImhNoPredictiveText, true);
-#endif // Q_WS_MAEMO_5
+#endif // Q_WS_MAEMO_5 || Q_OS_SYMBIAN
#endif // QT_VERSION check
webPageClient->setInputMethodEnabled(active);
}
diff --git a/src/3rdparty/webkit/WebKit/qt/WebCoreSupport/FrameLoaderClientQt.cpp b/src/3rdparty/webkit/WebKit/qt/WebCoreSupport/FrameLoaderClientQt.cpp
index 4ad008bbfb..686bfccb60 100644
--- a/src/3rdparty/webkit/WebKit/qt/WebCoreSupport/FrameLoaderClientQt.cpp
+++ b/src/3rdparty/webkit/WebKit/qt/WebCoreSupport/FrameLoaderClientQt.cpp
@@ -414,13 +414,13 @@ void FrameLoaderClientQt::dispatchDidFinishLoad()
void FrameLoaderClientQt::dispatchDidFirstLayout()
{
- if (m_webFrame)
- emit m_webFrame->initialLayoutCompleted();
+ notImplemented();
}
void FrameLoaderClientQt::dispatchDidFirstVisuallyNonEmptyLayout()
{
- notImplemented();
+ if (m_webFrame)
+ emit m_webFrame->initialLayoutCompleted();
}
void FrameLoaderClientQt::dispatchShow()
diff --git a/src/3rdparty/webkit/WebKit/qt/WebCoreSupport/InspectorClientQt.cpp b/src/3rdparty/webkit/WebKit/qt/WebCoreSupport/InspectorClientQt.cpp
index 7fabbda86c..2d117008c6 100644
--- a/src/3rdparty/webkit/WebKit/qt/WebCoreSupport/InspectorClientQt.cpp
+++ b/src/3rdparty/webkit/WebKit/qt/WebCoreSupport/InspectorClientQt.cpp
@@ -88,12 +88,20 @@ void InspectorClientQt::openInspectorFrontend(WebCore::InspectorController*)
InspectorClientWebPage* inspectorPage = new InspectorClientWebPage(inspectorView);
inspectorView->setPage(inspectorPage);
- QUrl inspectorUrl = m_inspectedWebPage->settings()->inspectorUrl();
+ QWebInspector* inspector = m_inspectedWebPage->d->getOrCreateInspector();
+ // This is a known hook that allows changing the default URL for the
+ // Web inspector. This is used for SDK purposes. Please keep this hook
+ // around and don't remove it.
+ // https://bugs.webkit.org/show_bug.cgi?id=35340
+ QUrl inspectorUrl;
+#ifndef QT_NO_PROPERTIES
+ inspectorUrl = inspector->property("_q_inspectorUrl").toUrl();
+#endif
if (!inspectorUrl.isValid())
inspectorUrl = QUrl("qrc:/webkit/inspector/inspector.html");
inspectorView->page()->mainFrame()->load(inspectorUrl);
m_inspectedWebPage->d->inspectorFrontend = inspectorView;
- m_inspectedWebPage->d->getOrCreateInspector()->d->setFrontend(inspectorView);
+ inspector->d->setFrontend(inspectorView);
inspectorView->page()->d->page->inspectorController()->setInspectorFrontendClient(new InspectorFrontendClientQt(m_inspectedWebPage, inspectorView));
}
diff --git a/src/3rdparty/webkit/WebKit/qt/WebCoreSupport/QtFallbackWebPopup.cpp b/src/3rdparty/webkit/WebKit/qt/WebCoreSupport/QtFallbackWebPopup.cpp
index 7514077c9d..26420e5ebb 100644
--- a/src/3rdparty/webkit/WebKit/qt/WebCoreSupport/QtFallbackWebPopup.cpp
+++ b/src/3rdparty/webkit/WebKit/qt/WebCoreSupport/QtFallbackWebPopup.cpp
@@ -21,6 +21,8 @@
#include "config.h"
#include "QtFallbackWebPopup.h"
+#ifndef QT_NO_COMBOBOX
+
#include "HostWindow.h"
#include "PopupMenuClient.h"
#include "QWebPageClient.h"
@@ -225,3 +227,5 @@ void QtFallbackWebPopup::activeChanged(int index)
}
}
+
+#endif // QT_NO_COMBOBOX
diff --git a/src/3rdparty/webkit/WebKit/qt/WebCoreSupport/QtFallbackWebPopup.h b/src/3rdparty/webkit/WebKit/qt/WebCoreSupport/QtFallbackWebPopup.h
index 62b8aea542..6d2e1ff569 100644
--- a/src/3rdparty/webkit/WebKit/qt/WebCoreSupport/QtFallbackWebPopup.h
+++ b/src/3rdparty/webkit/WebKit/qt/WebCoreSupport/QtFallbackWebPopup.h
@@ -23,6 +23,8 @@
#include "QtAbstractWebPopup.h"
#include <QComboBox>
+#ifndef QT_NO_COMBOBOX
+
QT_BEGIN_NAMESPACE
class QGraphicsProxyWidget;
QT_END_NAMESPACE
@@ -67,4 +69,6 @@ private:
}
+#endif // QT_NO_COMBOBOX
+
#endif // QtFallbackWebPopup_h
diff --git a/src/3rdparty/webkit/WebKit/qt/docs/docs.pri b/src/3rdparty/webkit/WebKit/qt/docs/docs.pri
index 804817b12e..a56ddb4b70 100644
--- a/src/3rdparty/webkit/WebKit/qt/docs/docs.pri
+++ b/src/3rdparty/webkit/WebKit/qt/docs/docs.pri
@@ -3,7 +3,7 @@ include(../../../WebKit.pri)
unix {
QDOC = SRCDIR=$$PWD/../../.. OUTPUT_DIR=$$OUTPUT_DIR $$(QTDIR)/bin/qdoc3
} else {
- QDOC = $$(QTDIR)\bin\qdoc3.exe
+ QDOC = $$(QTDIR)\\bin\\qdoc3.exe
}
unix {
diff --git a/src/3rdparty/webkit/WebKit/qt/docs/qtwebkit-bridge.qdoc b/src/3rdparty/webkit/WebKit/qt/docs/qtwebkit-bridge.qdoc
new file mode 100644
index 0000000000..fa93293331
--- /dev/null
+++ b/src/3rdparty/webkit/WebKit/qt/docs/qtwebkit-bridge.qdoc
@@ -0,0 +1,427 @@
+/*!
+ \inmodule QtWebKit
+ \page qtwebkit-bridge.html
+ \title The QtWebKit Bridge
+ \contentspage QtWebKit
+ \section1 Overview
+ \section2 The technology
+
+ The QtWebKit bridge is a mechanism that extends WebKit's JavaScript environment to access native
+ objects that are represented as \l{QObject}s. It takes advantage of the \l{QObject} introspection,
+ a part of the \l{Qt Object Model}, which makes it easy to integrate with the dynamic JavaScript environment,
+ for example \l{QObject} properties map directly to JavaScript properties.
+
+ For example, both JavaScript and QObjects have properties: a construct that represent a getter/setter
+ pair under one name.
+
+ \section2 Use Cases
+
+ There are two main use cases for the QtWebKit bridge. Web content in a native application, and Thin Clients.
+
+ \section3 Web Content in a Native Application
+
+ This is a common use case in classic Qt application, and a design pattern used by several modern
+ applications. For example, an application that contains a media-player, playlist manager, and music store.
+ The playlist manager is usually best authored as a classic desktop application,
+ with the native-looking robust \l{QWidget}s helping with producing that application.
+ The media-player control, which usually looks custom, can be written using \l{The Graphics View framework}
+ or with in a declarative way with \l{QtDeclarative}. The music store, which shows dynamic content
+ from the internet and gets modified rapidly, is best authored in HTML and maintained on the server.
+
+ With the QtWebKit bridge, that music store component can interact with native parts of the application,
+ for example, if a file needs to be saved to a specific location.
+
+ \section3 Thin Client
+
+ Another use case is using Qt as a native backend to a full web application,
+ referred to here as a thin client. In this use-case, the entire UI is driven by
+ HTML, JavaScript and CSS, and native Qt-based components are used to allow that application
+ access to native features not usually exposed to the web, or to enable helper components that
+ are best written with C++.
+
+ An example for such a client is a UI for a video-on-demand service on a TV. The entire content and
+ UI can be kept on the server, served dynamically through HTTP and rendered with WebKit, with additional
+ native components for accessing hardware-specific features like extracting the list of images
+ out of the video.
+
+ \section2 Difference from Other Bridge Technologies
+
+ Of course QtWebKit is not the only bridge technology out there. NPAPI, for example,
+ is a long-time standard or web-native bridging. Due to Qt's meta-object system, full applications
+ built partially with web-technologies are much easier to develop. NPAPI, however, is more geared
+ towards cross-browser plugins, due to it being an accepted standard.
+
+ When developing a plugin for a browser, NPAPI is recommended. When developing a full application
+ that utilizes HTML-rendering, the QtWebKit bridge is recommended.
+
+ \section2 Relationship with QtScript
+
+ The QtWebKit bridge is similar to \l{QtScript}, especially to some of the features described in the
+ \l{Making Applications Scriptable} page. However, as of Qt 4.7, full QtScript API is not supported for web applications.
+ That is planned as an enhancement for future versions. You might notice that some of the features
+ described here are an exact copy of the ones described in the \l{Making Applications Scriptable} page. That is because
+ the QtWebKit bridge is a subset of that functionality, and this page tries to capture the full
+ capabilities available through the QtWebKit bridge specifically.
+
+ \section1 Accessing QObjects
+
+ \section2 Creating the link via QWebFrame
+
+ By default, no QObjects are accessible through the web environment, for security reasons.
+ To enable web content access for a native QObject, the application must explicitly grant it access,
+ using the following call:
+
+ \snippet webkitsnippets/qtwebkit_bridge_snippets.cpp 0
+
+ See \l{QWebFrame::addToJavaScriptWindowObject()} for more information.
+
+ \section2 Using Signals and Slots
+
+ The QtWebKit bridge adapts Qt's central \l{Signals and Slots} feature for
+ scripting. There are three principal ways to use signals and slots
+ with the QtWebKit bridge:
+
+ \list
+ \i \bold{Hybrid C++/script}: C++ application code connects a
+ signal to a script function. For example, the script function can be
+ a function that the user has typed in, or one that you have read from a
+ file. This approach is useful if you have a QObject but don't want
+ to expose the object itself to the scripting environment; you just
+ want a script to be able to define how a signal should be reacted
+ to, and leave it up to the C++ side of your application to establish
+ the connection.
+
+ \i \bold{Hybrid script/C++}: A script can connect signals and slots
+ to establish connections between pre-defined objects that the
+ application exposes to the scripting environment. In this scenario,
+ the slots themselves are still written in C++, but the definition of
+ the connections is fully dynamic (script-defined).
+
+ \i \bold{Purely script-defined}: A script can both define signal
+ handler functions (effectively "slots written in JavaScript"),
+ \e{and} set up the connections that utilize those handlers. For
+ example, a script can define a function that will handle the
+ QLineEdit::returnPressed() signal, and then connect that signal to the
+ script function.
+ \endlist
+
+ Note that QtScript functions such as qScriptConnect are unavilable in the web environment.
+
+ \section3 Signal to Function Connections
+
+ \snippet webkitsnippets/qtwebkit_bridge_snippets.cpp 6
+
+ In this form of connection, the argument to \c{connect()} is the
+ function to connect to the signal.
+
+ \snippet webkitsnippets/qtwebkit_bridge_snippets.cpp 7
+
+ The argument can be a JavaScript function, as in the above
+ example, or it can be a QObject slot, as in
+ the following example:
+
+ \snippet webkitsnippets/qtwebkit_bridge_snippets.cpp 8
+
+ When the argument is a QObject slot, the argument types of the
+ signal and slot do not necessarily have to be compatible;
+ If necessary, the QtWebKit bridge will, perform conversion of the signal
+ arguments to match the argument types of the slot.
+
+ To disconnect from a signal, you invoke the signal's
+ \c{disconnect()} function, passing the function to disconnect
+ as argument:
+
+ \snippet webkitsnippets/qtwebkit_bridge_snippets.cpp 9
+
+ When a script function is invoked in response to a signal, the
+ \c this object will be the Global Object.
+
+ \section3 Signal to Member Function Connections
+
+ \snippet webkitsnippets/qtwebkit_bridge_snippets.cpp 10
+
+ In this form of the \c{connect()} function, the first argument
+ is the object that will be bound to the variable, \c this, when
+ the function specified using the second argument is invoked.
+
+ If you have a push button in a form, you typically want to do
+ something involving the form in response to the button's
+ \c{clicked} signal; passing the form as the \c this object
+ makes sense in such a case.
+
+ \snippet webkitsnippets/qtwebkit_bridge_snippets.cpp 11
+
+ To disconnect from the signal, pass the same arguments to \c{disconnect()}:
+
+ \snippet webkitsnippets/qtwebkit_bridge_snippets.cpp 12
+
+ \section3 Signal to Named Member Function Connections
+
+ \snippet webkitsnippets/qtwebkit_bridge_snippets.cpp 14
+
+ This form of the \c{connect()} function requires that the first argument is
+ the object that will be bound to the variable \c{this} when a function is
+ invoked in response to the signal. The second argument specifies the
+ name of a function that is connected to the signal, and this refers to a
+ member function of the object passed as the first argument (thisObject
+ in the above scheme).
+
+ Note that the function is resolved when the connection is made, not
+ when the signal is emitted.
+
+ \snippet webkitsnippets/qtwebkit_bridge_snippets.cpp 15
+
+ To disconnect from the signal, pass the same arguments to \c{disconnect()}:
+
+ \snippet webkitsnippets/qtwebkit_bridge_snippets.cpp 17
+
+ \section3 Error Handling
+
+ When \c{connect()} or \c{disconnect()} succeeds, the function will
+ return \c{undefined}; otherwise, it will throw a script exception.
+ You can obtain an error message from the resulting \c{Error} object.
+ Example:
+
+ \snippet webkitsnippets/qtwebkit_bridge_snippets.cpp 18
+
+ \section3 Emitting Signals from Scripts
+
+ To emit a signal from script code, you simply invoke the signal
+ function, passing the relevant arguments:
+
+ \snippet webkitsnippets/qtwebkit_bridge_snippets.cpp 19
+
+ It is currently not possible to define a new signal in a script;
+ i.e., all signals must be defined by C++ classes.
+
+ \section3 Overloaded Signals and Slots
+
+ When a signal or slot is overloaded, the QtWebKit bridge will attempt to
+ pick the right overload based on the actual types of the QScriptValue arguments
+ involved in the function invocation. For example, if your class has slots
+ \c{myOverloadedSlot(int)} and \c{myOverloadedSlot(QString)}, the following
+ script code will behave reasonably:
+
+ \snippet webkitsnippets/qtwebkit_bridge_snippets.cpp 20
+
+ You can specify a particular overload by using array-style property access
+ with the \l{QMetaObject::normalizedSignature()}{normalized signature} of
+ the C++ function as the property name:
+
+ \snippet webkitsnippets/qtwebkit_bridge_snippets.cpp 21
+
+ If the overloads have different number of arguments, the QtWebKit bridge will
+ pick the overload with the argument count that best matches the
+ actual number of arguments passed to the slot.
+
+ For overloaded signals, JavaScript will throw an error if you try to connect
+ to the signal by name; you have to refer to the signal with the full
+ normalized signature of the particular overload you want to connect to.
+
+ \section3 Invokable Methods
+
+ Both slots and signals are invokable from script by default. In addition, it's also
+ possible to define a method that's invokable from script without it being a signal or a slot.
+ This is especially useful for functions with return types, as slots normally do not return anything
+ (it would be meaningless to return values from a slot, as the connected signals don't handle the returned data).
+ To make a non-slot method invokable, simply add the Q_INVOKABLE macro before its definition:
+
+ \snippet webkitsnippets/qtwebkit_bridge_snippets.cpp 22
+
+ \section2 Accessing Properties
+
+ The properties of the QObject are available as properties
+ of the corresponding JavaScript object. When you manipulate
+ a property in script code, the C++ get/set method for that
+ property will automatically be invoked. For example, if your
+ C++ class has a property declared as follows:
+
+ \snippet webkitsnippets/qtwebkit_bridge_snippets.cpp 23
+
+ then script code can do things like the following:
+
+ \snippet webkitsnippets/qtwebkit_bridge_snippets.cpp 24
+
+ \section2 Accessing Child QObjects
+
+ Every named child of the QObject (that is, for which
+ QObject::objectName() is not an empty string) is by default available as
+ a property of the JavaScript wrapper object. For example,
+ if you have a QDialog with a child widget whose \c{objectName} property is
+ \c{"okButton"}, you can access this object in script code through
+ the expression
+
+ \snippet webkitsnippets/qtwebkit_bridge_snippets.cpp 25
+
+ Since \c{objectName} is itself a Q_PROPERTY, you can manipulate
+ the name in script code to, for example, rename an object:
+
+ \snippet webkitsnippets/qtwebkit_bridge_snippets.cpp 26
+
+ \section2 Data types
+
+ When calling slots, receiving signals or accessing properties, usually some payload is involved.
+ For example, a property "text" might return a \l{QString} parameter.
+ The QtWebKit bridge does the job of converting between a given JavaScript data-type, and the
+ expected or given Qt type. Each Qt type has a coresponding set of rules of how JavaScript treats it.
+
+ The data type conversions are also applicable for the data returned from non-void invokable methods.
+
+ \section3 Numbers
+
+ All Qt numeric data types are converted to or from a JavaScript number. These include int, short, float,
+ double, and the porable Qt types (qreal, qint etc). A special case is \l{QChar};
+ If a slot expects a QChar, the QtWebKit bridge would use the unicode value in case of a number,
+ or the first character in a string.
+
+ Note that non-standard (typedefed) number types are not automatically converted to
+ or from a JavaScript number - it's advised to use standard number types for signal, slots
+ and properties.
+
+ When a non-number is passed as an argument to a method or property that expects a number,
+ the appropriate JavaScript conversion function (parseInt / parseFloat) would be used.
+
+ \section3 Strings
+
+ When JavaScript accesses methods or properties that expect a \l{QString}, the QtWebKit bridge
+ will automatically convert the value to a string (if it is not already a string), using the
+ built-in JavaScript toString method.
+
+ When a QString is passed to JavaScript from a signal or a property, The QtWebKit bridge will
+ convert it into a JavaScript string.
+
+ \section3 Date & Time
+
+ Both \l{QDate}, \l{QTime} and \l{QDateTime} are automatically translated to or from the JavaScript
+ Date object. If a number were passed as an argument to a method that expects one of the date/time
+ types, the QtWebKit bridge would treat it as a timestamp. If a sting is passed, QtWebKit would
+ try different Qt date parsing functions to find the right one.
+
+ \section3 Regular Expressions
+
+ The QtWebKit bridge would automatically convert JavaScript RegEx object to a \l{QRegExp}.
+ If a string is passed to a method expecting a \l{QRegExp}, the string would be converted
+ to that \l{QRegExp}.
+
+ \section3 Lists
+
+ The QtWebKit bridge treats several types of lists in a special way: \l{QVariantList}, \l{QStringList},
+ \l{QObjectList} and \l{QList}<int>. When a slot or property expects one of those list types,
+ the QtWebKit bridge would try to convert a JavaScript array into that type, converting each of
+ the array's elements to the single-element type of the list.
+
+ The most useful type of list is perhaps \l{QVariantList}, which can be converted to from any
+ JavaScript array.
+
+ \section3 Compound (JSON) objects
+
+ JavaScript compound objects, also known as JSON objects, are variables that hold a list
+ of key-value pairs, where all the keys are strings and the values can have any type.
+ This translates very well to \l{QVariantMap}, which is nothing more than a \l{QMap} of \l{QString}
+ to \l{QVariant}.
+
+ The seamless conversion between JSON objects and \l{QVariantMap} allows for a very convenient
+ way of passing arbitrary structured data between C++ and the JavaScript environment. The native \l{QObject} has
+ to make sure that compound values are converted to \l{QVariantMap}s and \l{QVariantList}s, and JavaScript is
+ guaranteed to receive them in a meaningful way.
+
+ Note that types that are not supported by JSON, such as JavaScript functions and getters/setters,
+ are not converted.
+
+ \section3 QVariants
+
+ When a slot or property accepts a \l{QVariant}, the QtWebKit bridge would create a \l{QVariant} that best
+ matches the argument passed by JavaScript. A string, for example, would become a \l{QVariant} holding a \l{QString},
+ a normal JSON object would become a \l{QVariantMap}, and a JavaScript array would become a \l{QVariantList}.
+
+ Using \l{QVariant}s generously in C++ in that way makes C++ programming feel a bit more like JavaScript programming,
+ as it adds another level of indirection. Passing \l{QVariant}s around like this q is very flexible, as the program can figure out
+ the type of argument in runtime just like JavaScript would do, but it also takes away from the type-safety and robust
+ nature of C++. It's recommended to use \l{QVariant}s only for convenience high-level functions, and to keep most of your
+ \l{QObject}s somewhat type-safe.
+
+ \section3 QObjects
+
+ A pointer to a \l{QObject} or a \l{QWidget} can be passed as payload in signals, slots and properties. That object
+ can then be used like an object that's exposed directly; i.e. its slots can be invoked, its signals connected to etc.
+ However, this functionality is fairly limited - the type used has to be \l{QObject}* or \l{QWidget}*. If the type
+ specified is a pointer to a non-\l{QWidget} subclass of \l{QObject}, the QtWebKit bridge would not recognize it to be
+ a \l{QObject}.
+
+ In general its advised to use care when passing \l{QObject}s as arguments, as those objects don't become owned by
+ the JavaScript engine; That means that the application developer has to be extra careful not to try to access
+ \l{QObject}s that have already been deleted by the native environment.
+
+ \section3 Pixmaps and Images
+
+ \since 4.7
+
+ The QtWebKit bridge handles \l{QPixmap}s and \l{QImage}s in a special way. Since QtWebKit stores \l{QPixmap}s to
+ represent HTML images, \l{QPixmap}s coming from the native environment can be used directly inside WebKit.
+ A \l{QImage} or a \l{QPixmap} coming from the Qt environment would convert to an intermediate JavaScript object,
+ that can be represented like this:
+
+ \snippet webkitsnippets/qtwebkit_bridge_snippets.cpp 1
+
+ The JavaScript environment can then use the pixmap it gets from Qt and display it inside the HTML environment,
+ by assigning it to an existing <img /> element using assignToHTMLImageElement. It can also use the toDataURL() function,
+ which allows using the pixmap as the src attribute of an image or as a background-image url. Note that the toDataURL()
+ function is costly and should be used with caution.
+
+ Example code:
+
+ C++:
+ \snippet webkitsnippets/qtwebkit_bridge_snippets.cpp 2
+
+ HTML:
+ \snippet webkitsnippets/qtwebkit_bridge_snippets.cpp 3
+
+ When a Qt object expects a \l{QImage} or a \l{QPixmap} as input, and the argument passed is an HTML image element,
+ the QtWebKit bridge would convert the pixmap assigned to that image element into a \l{QPixmap} or a \l{QImage}.
+
+ \since 4.7
+
+ \section3 QWebElement
+
+ A signal, slot or property that expects or returns a \l{QWebElement} can work seamlessly with JavaScript references
+ to DOM elements. The JavaScript environment can select DOM elements, keep them in variables, then pass them to Qt as
+ a \l{QWebElement}, and receive them back. Example:
+
+ C++:
+ \snippet webkitsnippets/qtwebkit_bridge_snippets.cpp 4
+
+ HTML:
+ \snippet webkitsnippets/qtwebkit_bridge_snippets.cpp 5
+
+ This is specifically useful to create custom renderers or extensions to the web environment. Instead of forcing Qt
+ to select the element, the web environment already selects the element and then send the selected element directly to Qt.
+
+ Note that \l{QWebElement}s are not thread safe - an object handling them has to live in the UI thread.
+
+ \section1 Architecture issues
+
+ \section2 Limiting the Scope of the Hybrid Layer
+
+ When using QtWebKit's hybrid features, it is a common pitfall to make the API exposed to JavaScript very rich and
+ use all its features. This, however, leads to complexity and can create bugs that are hard to trace.
+ Instead, it is advisable to keep the hybrid layer small and manageable: create a gate only when
+ there's an actual need for it, i.e. there's a new native enabler that requires a direct interface
+ to the application layer. Sometimes new functionality is better handled internally in the native layer
+ or in the web layer; simplicity is your friend.
+
+ This usually becomes more apparent when the hybrid layer can create or destroy objects, or uses
+ signals slots or properties with a \l{QObject}* argument. It is advised to be very careful and to treat
+ an exposed \l{QObject} as a system - with careful attention to memory management and object ownership.
+
+ \section2 Internet Security
+
+ When exposing native object to an open web environment, it is importwhichant to understand the security
+ implications. Think whether the exposed object enables the web environment access to things that
+ shouldn't be open, and whether the web content loaded by that web page comes from a trusted. In general, when
+ exposing native QObjects that give the web environment access to private information or to functionality
+ that's potentially harmful to the client, such exposure should be balanced by limiting the web page's
+ access to trusted URLs only with HTTPS, and by utilizing other measures as part of a security strategy.
+
+
+
+*/
diff --git a/src/3rdparty/webkit/WebKit/qt/docs/qtwebkit.qdoc b/src/3rdparty/webkit/WebKit/qt/docs/qtwebkit.qdoc
index 9e653e4dc5..d3f5502ef4 100644
--- a/src/3rdparty/webkit/WebKit/qt/docs/qtwebkit.qdoc
+++ b/src/3rdparty/webkit/WebKit/qt/docs/qtwebkit.qdoc
@@ -5,63 +5,11 @@
\previouspage QtSvg
\nextpage QtXml
\ingroup modules
+ \ingroup technology-apis
+
\brief The QtWebKit module provides a web browser engine as well as
classes to render and interact with web content.
- To include the definitions of the module's classes, use the
- following directive:
-
- \snippet webkitsnippets/qtwebkit_build_snippet.qdoc 1
-
- To link against the module, add this line to your \l qmake \c
- .pro file:
-
- \snippet webkitsnippets/qtwebkit_build_snippet.qdoc 0
-
- \section1 License Information
-
- This is a snapshot of the Qt port of WebKit. The exact version information
- can be found in the \c{src/3rdparty/webkit/VERSION} file supplied with Qt.
-
- Qt Commercial Edition licensees that wish to distribute applications that
- use the QtWebKit module need to be aware of their obligations under the
- GNU Library General Public License (LGPL).
-
- Developers using the Open Source Edition can choose to redistribute
- the module under the appropriate version of the GNU LGPL.
-
- \legalese
- WebKit is licensed under the GNU Library General Public License.
- Individual contributor names and copyright dates can be found
- inline in the code.
-
- This library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Library General Public
- License as published by the Free Software Foundation; either
- version 2 of the License, or (at your option) any later version.
-
- This library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Library General Public License for more details.
-
- You should have received a copy of the GNU Library General Public License
- along with this library; see the file COPYING.LIB. If not, write to
- the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
- Boston, MA 02110-1301, USA.
- \endlegalese
-*/
-
-/*!
- \page webintegration.html
- \title Integrating Web Content with QtWebKit
- \since 4.4
-
- \ingroup frameworks-technologies
-
- \keyword Browser
- \keyword Web Browser
-
QtWebKit provides a Web browser engine that makes it easy to embed content
from the World Wide Web into your Qt application. At the same time Web
content can be enhanced with native controls.
@@ -72,8 +20,9 @@
scripted with JavaScript.
A bridge between the JavaScript execution environment and the Qt object
- model makes it possible for custom QObjects to be scripted. Integration
- with the Qt networking module enables Web pages to be transparently loaded
+ model makes it possible for custom QObjects to be scripted. For detailed
+ documentation see \l{The QtWebkit Bridge}.
+ Integration with the Qt networking module enables Web pages to be transparently loaded
from Web servers, the local file system or even the Qt resource system.
In addition to providing pure rendering features, HTML documents can be
@@ -83,6 +32,20 @@
QtWebKit is based on the Open Source WebKit engine. More information about
WebKit itself can be found on the \l{WebKit Open Source Project} Web site.
+ \section1 Including In Your Project
+
+ To include the definitions of the module's classes, use the
+ following directive:
+
+ \snippet webkitsnippets/qtwebkit_build_snippet.qdoc 1
+
+ To link against the module, add this line to your \l qmake \c
+ .pro file:
+
+ \snippet webkitsnippets/qtwebkit_build_snippet.qdoc 0
+
+ \section1 Notes
+
\note Building the QtWebKit module with debugging symbols is problematic
on many platforms due to the size of the WebKit engine. We recommend
building the module only in release mode for embedded platforms.
@@ -97,10 +60,6 @@
Embedded Linux systems. See the \l{Qt for Embedded Linux Requirements}
document for more information.
- Topics:
-
- \tableofcontents
-
\section1 Architecture
The easiest way to render content is through the QWebView class. As a
@@ -193,4 +152,39 @@
\o The system \c{/Library/Internet Plug-Ins} directory
\endlist
\endtable
+
+
+ \section1 License Information
+
+ This is a snapshot of the Qt port of WebKit. The exact version information
+ can be found in the \c{src/3rdparty/webkit/VERSION} file supplied with Qt.
+
+ Qt Commercial Edition licensees that wish to distribute applications that
+ use the QtWebKit module need to be aware of their obligations under the
+ GNU Library General Public License (LGPL).
+
+ Developers using the Open Source Edition can choose to redistribute
+ the module under the appropriate version of the GNU LGPL.
+
+ \legalese
+ WebKit is licensed under the GNU Library General Public License.
+ Individual contributor names and copyright dates can be found
+ inline in the code.
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 of the License, or (at your option) any later version.
+
+ This library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+ \endlegalese
*/
+
diff --git a/src/3rdparty/webkit/WebKit/qt/docs/webkitsnippets/qtwebkit_bridge_snippets.cpp b/src/3rdparty/webkit/WebKit/qt/docs/webkitsnippets/qtwebkit_bridge_snippets.cpp
new file mode 100644
index 0000000000..62eeecaaf6
--- /dev/null
+++ b/src/3rdparty/webkit/WebKit/qt/docs/webkitsnippets/qtwebkit_bridge_snippets.cpp
@@ -0,0 +1,177 @@
+
+void wrapInFunction()
+{
+
+ //! [0]
+ // ...
+ QWebFrame *frame = myWebPage->mainFrame();
+ frame->addToJavaScriptWindowObject("someNameForMyObject", myObject);
+ // ...
+ //! [0]
+#if 0
+ //! [1]
+ {
+ width: ...,
+ height: ...,
+ toDataURL: function() { ... },
+ assignToHTMLImageElement: function(element) { ... }
+ }
+ //! [1]
+#endif
+ //! [2]
+ class MyObject : QObject {
+ Q_OBJECT
+ Q_PROPERTY(QPixmap myPixmap READ getPixmap)
+
+ public:
+ QPixmap getPixmap() const;
+ };
+
+ /* ... */
+
+ MyObject myObject;
+ myWebPage.mainFrame()->addToJavaScriptWindowObject("myObject", &myObject);
+
+ //! [2]
+#if 0
+ //! [3]
+ <html>
+ <head>
+ <script>
+ function loadImage() {
+ myObject.myPixmap.assignToHTMLImageElement(document.getElementById("imageElement"));
+ }
+ </script>
+ </head>
+ <body onload="loadImage()">
+ <img id="imageElement" width="300" height="200" />
+ </body>
+ </html>
+ //! [3]
+#endif
+ //! [4]
+ class MyObject : QObject {
+ Q_OBJECT
+
+ public slots:
+ void doSomethingWithWebElement(const QWebElement&);
+ };
+
+ /* ... */
+
+ MyObject myObject;
+ myWebPage.mainFrame()->addToJavaScriptWindowObject("myObject", &myObject);
+
+ //! [4]
+#if 0
+ //! [5]
+ <html>
+ <head>
+ <script>
+ function runExample() {
+ myObject.doSomethingWithWebElement(document.getElementById("someElement"));
+ }
+ </script>
+ </head>
+ <body onload="runExample()">
+ <span id="someElement">Text</span>
+ </body>
+ </html>
+ //! [5]
+ //! [6]
+ connect(function);
+ //! [6]
+ //! [7]
+ function myInterestingScriptFunction() { ... }
+ ...
+ myQObject.somethingChanged.connect(myInterestingScriptFunction);
+ //! [7]
+ //! [8]
+ myQObject.somethingChanged.connect(myOtherQObject.doSomething);
+ //! [8]
+ //! [9]
+ myQObject.somethingChanged.disconnect(myInterestingFunction);
+ myQObject.somethingChanged.disconnect(myOtherQObject.doSomething);
+ //! [9]
+ //! [10]
+ connect(thisObject, function)
+ //! [10]
+ //! [11]
+ var obj = { x: 123 };
+ var fun = function() { print(this.x); };
+ myQObject.somethingChanged.connect(obj, fun);
+ //! [11]
+ //! [12]
+ myQObject.somethingChanged.disconnect(obj, fun);
+ //! [12]
+ //! [13]
+ connect(function);
+ //! [13]
+ //! [14]
+ connect(thisObject, functionName)
+ //! [14]
+ //! [15]
+ var obj = { x: 123, fun: function() { print(this.x); } };
+ myQObject.somethingChanged.connect(obj, "fun");
+ //! [15]
+ //! [16]
+ connect(function);
+ //! [16]
+ //! [17]
+ myQObject.somethingChanged.disconnect(obj, "fun");
+ //! [17]
+ //! [18]
+ try {
+ myQObject.somethingChanged.connect(myQObject, "slotThatDoesntExist");
+ } catch (e) {
+ print(e);
+ }
+ //! [18]
+ //! [19]
+ myQObject.somethingChanged("hello");
+ //! [19]
+ //! [20]
+ myQObject.myOverloadedSlot(10); // will call the int overload
+ myQObject.myOverloadedSlot("10"); // will call the QString overload
+ //! [20]
+ //! [21]
+ myQObject['myOverloadedSlot(int)']("10"); // call int overload; the argument is converted to an int
+ myQObject['myOverloadedSlot(QString)'](10); // call QString overload; the argument is converted to a string
+ //! [21]
+ //! [22]
+ class MyObject : public QObject
+ {
+ Q_OBJECT
+
+ public:
+ Q_INVOKABLE void thisMethodIsInvokableInQtScript();
+ void thisMethodIsNotInvokableInQtScript();
+
+ ...
+ };
+ //! [22]
+ //! [23]
+ Q_PROPERTY(bool enabled READ enabled WRITE setEnabled)
+ //! [23]
+ //! [24]
+ myQObject.enabled = true;
+
+ ...
+
+ myQObject.enabled = !myQObject.enabled;
+ //! [24]
+ //! [25]
+ myQObject.enabled = true;
+
+ ...
+
+ myQObject.enabled = !myQObject.enabled;
+ //! [25]
+ //! [26]
+ myDialog.okButton
+ myDialog.okButton.objectName = "cancelButton";
+ // from now on, myDialog.cancelButton references the button
+ //! [26]
+#endif
+}
+
diff --git a/src/3rdparty/webkit/WebKit/qt/docs/webkitsnippets/qtwebkit_qwebinspector_snippet.cpp b/src/3rdparty/webkit/WebKit/qt/docs/webkitsnippets/qtwebkit_qwebinspector_snippet.cpp
index a6b662096c..07f1d452a5 100644
--- a/src/3rdparty/webkit/WebKit/qt/docs/webkitsnippets/qtwebkit_qwebinspector_snippet.cpp
+++ b/src/3rdparty/webkit/WebKit/qt/docs/webkitsnippets/qtwebkit_qwebinspector_snippet.cpp
@@ -9,8 +9,6 @@ void wrapInFunction()
QWebInspector *inspector = new QWebInspector;
inspector->setPage(page);
-
- connect(page, SIGNAL(webInspectorTriggered(QWebElement)), inspector, SLOT(show()));
//! [0]
}
diff --git a/src/3rdparty/webkit/WebKit/qt/docs/webkitsnippets/webelement/main.cpp b/src/3rdparty/webkit/WebKit/qt/docs/webkitsnippets/webelement/main.cpp
index 822b61c4cc..b1781a6f44 100644
--- a/src/3rdparty/webkit/WebKit/qt/docs/webkitsnippets/webelement/main.cpp
+++ b/src/3rdparty/webkit/WebKit/qt/docs/webkitsnippets/webelement/main.cpp
@@ -36,6 +36,59 @@ static void traverse()
//! [Traversing with QWebElement]
}
+static void findButtonAndClick()
+{
+
+ frame->setHtml("<form name=\"myform\" action=\"submit_form.asp\" method=\"get\">"
+ "<input type=\"text\" name=\"myfield\">"
+ "<input type=\"submit\" value=\"Submit\">"
+ "</form>");
+
+//! [Calling a DOM element method]
+
+ QWebElement document = frame->documentElement();
+ /* Assume that the document has the following structure:
+
+ <form name="myform" action="submit_form.asp" method="get">
+ <input type="text" name="myfield">
+ <input type="submit" value="Submit">
+ </form>
+
+ */
+
+ QWebElement button = document.findFirst("input[type=submit]");
+ button.evaluateJavaScript("click()");
+
+//! [Calling a DOM element method]
+
+ }
+
+static void autocomplete1()
+{
+ QWebElement document = frame->documentElement();
+
+//! [autocomplete1]
+ QWebElement firstTextInput = document.findFirst("input[type=text]");
+ QString storedText = firstTextInput.attribute("value");
+//! [autocomplete1]
+
+}
+
+
+static void autocomplete2()
+{
+
+ QWebElement document = frame->documentElement();
+ QString storedText = "text";
+
+//! [autocomplete2]
+ QWebElement firstTextInput = document.findFirst("input[type=text]");
+ textInput.setAttribute("value", storedText);
+//! [autocomplete2]
+
+}
+
+
static void findAll()
{
//! [FindAll]
@@ -65,5 +118,8 @@ int main(int argc, char *argv[])
frame = view->page()->mainFrame();
traverse();
findAll();
+ findButtonAndClick();
+ autocomplete1();
+ autocomplete2();
return 0;
}
diff --git a/src/3rdparty/webkit/WebKit/qt/qt_webkit_version.pri b/src/3rdparty/webkit/WebKit/qt/qt_webkit_version.pri
new file mode 100644
index 0000000000..ffd192c315
--- /dev/null
+++ b/src/3rdparty/webkit/WebKit/qt/qt_webkit_version.pri
@@ -0,0 +1,4 @@
+QT_WEBKIT_VERSION = 4.7.0
+QT_WEBKIT_MAJOR_VERSION = 4
+QT_WEBKIT_MINOR_VERSION = 7
+QT_WEBKIT_PATCH_VERSION = 0
diff --git a/src/3rdparty/webkit/WebKit/qt/symbian/bwins/QtWebKitu.def b/src/3rdparty/webkit/WebKit/qt/symbian/bwins/QtWebKitu.def
index a450f9ea69..969defee7c 100644
--- a/src/3rdparty/webkit/WebKit/qt/symbian/bwins/QtWebKitu.def
+++ b/src/3rdparty/webkit/WebKit/qt/symbian/bwins/QtWebKitu.def
@@ -625,7 +625,7 @@ EXPORTS
?qt_suspendActiveDOMObjects@@YAXPAVQWebFrame@@@Z @ 624 NONAME ; void qt_suspendActiveDOMObjects(class QWebFrame *)
?qtwebkit_webframe_scrollRecursively@@YA_NPAVQWebFrame@@HH@Z @ 625 NONAME ABSENT ; bool qtwebkit_webframe_scrollRecursively(class QWebFrame *, int, int)
?closeEvent@QWebInspector@@MAEXPAVQCloseEvent@@@Z @ 626 NONAME ; void QWebInspector::closeEvent(class QCloseEvent *)
- ?inspectorUrl@QWebSettings@@QBE?AVQUrl@@XZ @ 627 NONAME ; class QUrl QWebSettings::inspectorUrl(void) const
+ ?inspectorUrl@QWebSettings@@QBE?AVQUrl@@XZ @ 627 NONAME ABSENT ; class QUrl QWebSettings::inspectorUrl(void) const
?isTiledBackingStoreFrozen@QGraphicsWebView@@QBE_NXZ @ 628 NONAME ; bool QGraphicsWebView::isTiledBackingStoreFrozen(void) const
?pageChanged@QWebFrame@@IAEXXZ @ 629 NONAME ; void QWebFrame::pageChanged(void)
?qt_drt_enableCaretBrowsing@@YAXPAVQWebPage@@_N@Z @ 630 NONAME ; void qt_drt_enableCaretBrowsing(class QWebPage *, bool)
@@ -642,11 +642,12 @@ EXPORTS
?qt_drt_webinspector_executeScript@@YAXPAVQWebPage@@JABVQString@@@Z @ 641 NONAME ; void qt_drt_webinspector_executeScript(class QWebPage *, long, class QString const &)
?qt_drt_webinspector_show@@YAXPAVQWebPage@@@Z @ 642 NONAME ; void qt_drt_webinspector_show(class QWebPage *)
?qt_drt_workerThreadCount@@YAHXZ @ 643 NONAME ; int qt_drt_workerThreadCount(void)
- ?qt_wrt_setViewMode@@YAXPAVQWebPage@@ABVQString@@@Z @ 644 NONAME ; void qt_wrt_setViewMode(class QWebPage *, class QString const &)
+ ?qt_wrt_setViewMode@@YAXPAVQWebPage@@ABVQString@@@Z @ 644 NONAME ABSENT ; void qt_wrt_setViewMode(class QWebPage *, class QString const &)
?qtwebkit_webframe_scrollRecursively@@YAXPAVQWebFrame@@HHABVQPoint@@@Z @ 645 NONAME ; void qtwebkit_webframe_scrollRecursively(class QWebFrame *, int, int, class QPoint const &)
?resizesToContents@QGraphicsWebView@@QBE_NXZ @ 646 NONAME ; bool QGraphicsWebView::resizesToContents(void) const
?scrollToAnchor@QWebFrame@@QAEXABVQString@@@Z @ 647 NONAME ; void QWebFrame::scrollToAnchor(class QString const &)
- ?setInspectorUrl@QWebSettings@@QAEXABVQUrl@@@Z @ 648 NONAME ; void QWebSettings::setInspectorUrl(class QUrl const &)
+ ?setInspectorUrl@QWebSettings@@QAEXABVQUrl@@@Z @ 648 NONAME ABSENT ; void QWebSettings::setInspectorUrl(class QUrl const &)
?setResizesToContents@QGraphicsWebView@@QAEX_N@Z @ 649 NONAME ; void QGraphicsWebView::setResizesToContents(bool)
?setTiledBackingStoreFrozen@QGraphicsWebView@@QAEX_N@Z @ 650 NONAME ; void QGraphicsWebView::setTiledBackingStoreFrozen(bool)
+ ?qtwebkit_webframe_scrollOverflow@@YA_NPAVQWebFrame@@HHABVQPoint@@@Z @ 651 NONAME ; bool qtwebkit_webframe_scrollOverflow(QWebFrame *, int, int, const QPoint&)
diff --git a/src/3rdparty/webkit/WebKit/qt/symbian/eabi/QtWebKitu.def b/src/3rdparty/webkit/WebKit/qt/symbian/eabi/QtWebKitu.def
index 145fe0b567..e0f212521b 100644
--- a/src/3rdparty/webkit/WebKit/qt/symbian/eabi/QtWebKitu.def
+++ b/src/3rdparty/webkit/WebKit/qt/symbian/eabi/QtWebKitu.def
@@ -712,11 +712,61 @@ EXPORTS
_Z47qt_drt_setDomainRelaxationForbiddenForURLSchemebRK7QString @ 711 NONAME
_ZN9QWebFrame11pageChangedEv @ 712 NONAME
_ZN9QWebFrame14scrollToAnchorERK7QString @ 713 NONAME
- _ZN12QWebSettings15setInspectorUrlERK4QUrl @ 714 NONAME
+ _ZN12QWebSettings15setInspectorUrlERK4QUrl @ 714 NONAME ABSENT
_ZN13QWebInspector10closeEventEP11QCloseEvent @ 715 NONAME
_ZN16QGraphicsWebView26setTiledBackingStoreFrozenEb @ 716 NONAME
_ZNK16QGraphicsWebView25isTiledBackingStoreFrozenEv @ 717 NONAME
- _Z18qt_wrt_setViewModeP8QWebPageRK7QString @ 718 NONAME
+ _Z18qt_wrt_setViewModeP8QWebPageRK7QString @ 718 NONAME ABSENT
_Z19qt_drt_setMediaTypeP9QWebFrameRK7QString @ 719 NONAME
_Z26qt_drt_enableCaretBrowsingP8QWebPageb @ 720 NONAME
- _ZNK12QWebSettings12inspectorUrlEv @ 721 NONAME
+ _ZNK12QWebSettings12inspectorUrlEv @ 721 NONAME ABSENT
+ _ZN23DumpRenderTreeSupportQt19webPageSetGroupNameEP8QWebPageRK7QString @ 722 NONAME ABSENT
+ _ZN23DumpRenderTreeSupportQt16webPageGroupNameEP8QWebPage @ 723 NONAME ABSENT
+ _ZN23DumpRenderTreeSupportQt23garbageCollectorCollectEv @ 724 NONAME ABSENT
+ _Z32qtwebkit_webframe_scrollOverflowP9QWebFrameiiRK6QPoint @ 725 NONAME
+ _ZN23DumpRenderTreeSupportQt12setMediaTypeEP9QWebFrameRK7QString @ 726 NONAME ABSENT
+ _ZN23DumpRenderTreeSupportQt13numberOfPagesEP9QWebFrameff @ 727 NONAME ABSENT
+ _ZN23DumpRenderTreeSupportQt13selectedRangeEP8QWebPage @ 728 NONAME ABSENT
+ _ZN23DumpRenderTreeSupportQt14clearFrameNameEP9QWebFrame @ 729 NONAME ABSENT
+ _ZN23DumpRenderTreeSupportQt14pauseAnimationEP9QWebFrameRK7QStringdS4_ @ 730 NONAME ABSENT
+ _ZN23DumpRenderTreeSupportQt15dumpFrameLoaderEb @ 731 NONAME ABSENT
+ _ZN23DumpRenderTreeSupportQt16dumpNotificationEb @ 732 NONAME ABSENT
+ _ZN23DumpRenderTreeSupportQt16isCommandEnabledEP8QWebPageRK7QString @ 733 NONAME ABSENT
+ _ZN23DumpRenderTreeSupportQt16webInspectorShowEP8QWebPage @ 734 NONAME ABSENT
+ _ZN23DumpRenderTreeSupportQt17pauseSVGAnimationEP9QWebFrameRK7QStringdS4_ @ 735 NONAME ABSENT
+ _ZN23DumpRenderTreeSupportQt17webInspectorCloseEP8QWebPage @ 736 NONAME ABSENT
+ _ZN23DumpRenderTreeSupportQt17workerThreadCountEv @ 737 NONAME ABSENT
+ _ZN23DumpRenderTreeSupportQt18hasDocumentElementEP9QWebFrame @ 738 NONAME ABSENT
+ _ZN23DumpRenderTreeSupportQt20dumpEditingCallbacksEb @ 739 NONAME ABSENT
+ _ZN23DumpRenderTreeSupportQt21markerTextForListItemERK11QWebElement @ 740 NONAME ABSENT
+ _ZN23DumpRenderTreeSupportQt22javaScriptObjectsCountEv @ 741 NONAME ABSENT
+ _ZN23DumpRenderTreeSupportQt23setCaretBrowsingEnabledEP8QWebPageb @ 742 NONAME ABSENT
+ _ZN23DumpRenderTreeSupportQt24executeCoreCommandByNameEP8QWebPageRK7QStringS4_ @ 743 NONAME ABSENT
+ _ZN23DumpRenderTreeSupportQt21dumpSetAcceptsEditingEb @744 NONAME ABSENT
+ _ZN23DumpRenderTreeSupportQt22resumeActiveDOMObjectsEP9QWebFrame @745 NONAME ABSENT
+ _ZN23DumpRenderTreeSupportQt23suspendActiveDOMObjectsEP9QWebFrame @746 NONAME ABSENT
+ _ZN23DumpRenderTreeSupportQt24numberOfActiveAnimationsEP9QWebFrame @747 NONAME ABSENT
+ _ZN23DumpRenderTreeSupportQt24pageNumberForElementByIdEP9QWebFrameRK7QStringff @748 NONAME ABSENT
+ _ZN23DumpRenderTreeSupportQt25dumpResourceLoadCallbacksEb @749 NONAME ABSENT
+ _ZN23DumpRenderTreeSupportQt25pauseTransitionOfPropertyEP9QWebFrameRK7QStringdS4_ @750 NONAME ABSENT
+ _ZN23DumpRenderTreeSupportQt25setFrameFlatteningEnabledEP8QWebPageb @751 NONAME ABSENT
+ _ZN23DumpRenderTreeSupportQt25webInspectorExecuteScriptEP8QWebPagelRK7QString @752 NONAME ABSENT
+ _ZN23DumpRenderTreeSupportQt25whiteListAccessFromOriginERK7QStringS2_S2_b @753 NONAME ABSENT
+ _ZN23DumpRenderTreeSupportQt26counterValueForElementByIdEP9QWebFrameRK7QString @754 NONAME ABSENT
+ _ZN23DumpRenderTreeSupportQt26firstRectForCharacterRangeEP8QWebPageii @755 NONAME ABSENT
+ _ZN23DumpRenderTreeSupportQt26overwritePluginDirectoriesEv @756 NONAME ABSENT
+ _ZN23DumpRenderTreeSupportQt27resetOriginAccessWhiteListsEv @757 NONAME ABSENT
+ _ZN23DumpRenderTreeSupportQt27setSmartInsertDeleteEnabledEP8QWebPageb @758 NONAME ABSENT
+ _ZN23DumpRenderTreeSupportQt27setTimelineProfilingEnabledEP8QWebPageb @759 NONAME ABSENT
+ _ZN23DumpRenderTreeSupportQt28setDumpRenderTreeModeEnabledEb @760 NONAME ABSENT
+ _ZN23DumpRenderTreeSupportQt29dumpResourceLoadCallbacksPathERK7QString @761 NONAME ABSENT
+ _ZN23DumpRenderTreeSupportQt29evaluateScriptInIsolatedWorldEP9QWebFrameiRK7QString @762 NONAME ABSENT
+ _ZN23DumpRenderTreeSupportQt29setJavaScriptProfilingEnabledEP9QWebFrameb @763 NONAME ABSENT
+ _ZN23DumpRenderTreeSupportQt29setWillSendRequestReturnsNullEb @764 NONAME ABSENT
+ _ZN23DumpRenderTreeSupportQt30setWillSendRequestClearHeadersERK11QStringList @765 NONAME ABSENT
+ _ZN23DumpRenderTreeSupportQt33computedStyleIncludingVisitedInfoERK11QWebElement @766 NONAME ABSENT
+ _ZN23DumpRenderTreeSupportQt34setSelectTrailingWhitespaceEnabledEP8QWebPageb @767 NONAME ABSENT
+ _ZN23DumpRenderTreeSupportQt39elementDoesAutoCompleteForElementWithIdEP9QWebFrameRK7QString @768 NONAME ABSENT
+ _ZN23DumpRenderTreeSupportQt39setWillSendRequestReturnsNullOnRedirectEb @769 NONAME ABSENT
+ _ZN23DumpRenderTreeSupportQt40garbageCollectorCollectOnAlternateThreadEb @770 NONAME ABSENT
+ _ZN23DumpRenderTreeSupportQt40setDomainRelaxationForbiddenForURLSchemeEbRK7QString @771 NONAME ABSENT
diff --git a/src/3rdparty/webkit/WebKit/qt/tests/qgraphicswebview/tst_qgraphicswebview.cpp b/src/3rdparty/webkit/WebKit/qt/tests/qgraphicswebview/tst_qgraphicswebview.cpp
index 14f5820daf..ebe847d86c 100644
--- a/src/3rdparty/webkit/WebKit/qt/tests/qgraphicswebview/tst_qgraphicswebview.cpp
+++ b/src/3rdparty/webkit/WebKit/qt/tests/qgraphicswebview/tst_qgraphicswebview.cpp
@@ -84,16 +84,19 @@ void tst_QGraphicsWebView::crashOnViewlessWebPages()
WebPage* page = new WebPage;
webView->setPage(page);
page->webView = webView;
- connect(page->mainFrame(), SIGNAL(initialLayoutCompleted()), page, SLOT(aborting()));
-
scene.addItem(webView);
view.setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding);
view.resize(600, 480);
webView->resize(view.geometry().size());
+
QCoreApplication::processEvents();
view.show();
+ // Resizing the page will resize and layout the empty "about:blank"
+ // page, so we first connect the signal afterward.
+ connect(page->mainFrame(), SIGNAL(initialLayoutCompleted()), page, SLOT(aborting()));
+
page->mainFrame()->setHtml(QString("data:text/html,"
"<frameset cols=\"25%,75%\">"
"<frame src=\"data:text/html,foo \">"
@@ -101,6 +104,7 @@ void tst_QGraphicsWebView::crashOnViewlessWebPages()
"</frameset>"));
QVERIFY(waitForSignal(page, SIGNAL(loadFinished(bool))));
+ delete page;
}
void tst_QGraphicsWebView::microFocusCoordinates()
diff --git a/src/3rdparty/webkit/WebKit/qt/tests/qwebframe/tst_qwebframe.cpp b/src/3rdparty/webkit/WebKit/qt/tests/qwebframe/tst_qwebframe.cpp
index bea7a67dd3..76fdba336c 100644
--- a/src/3rdparty/webkit/WebKit/qt/tests/qwebframe/tst_qwebframe.cpp
+++ b/src/3rdparty/webkit/WebKit/qt/tests/qwebframe/tst_qwebframe.cpp
@@ -600,7 +600,12 @@ private slots:
void setHtmlWithBaseURL();
void ipv6HostEncoding();
void metaData();
+#if !defined(Q_WS_MAEMO_5)
+ // as maemo 5 does not use QComboBoxes to implement the popups
+ // this test does not make sense for it.
void popupFocus();
+#endif
+ void inputFieldFocus();
void hitTestContent();
void jsByteArray();
void ownership();
@@ -686,13 +691,13 @@ private:
QWebView* m_view;
QWebPage* m_page;
MyQObject* m_myObject;
- QWebView* m_popupTestView;
- int m_popupTestPaintCount;
+ QWebView* m_inputFieldsTestView;
+ int m_inputFieldTestPaintCount;
};
tst_QWebFrame::tst_QWebFrame()
: sTrue("true"), sFalse("false"), sUndefined("undefined"), sArray("array"), sFunction("function"), sError("error"),
- sString("string"), sObject("object"), sNumber("number"), m_popupTestView(0), m_popupTestPaintCount(0)
+ sString("string"), sObject("object"), sNumber("number"), m_inputFieldsTestView(0), m_inputFieldTestPaintCount(0)
{
}
@@ -702,10 +707,10 @@ tst_QWebFrame::~tst_QWebFrame()
bool tst_QWebFrame::eventFilter(QObject* watched, QEvent* event)
{
- // used on the popupFocus test
- if (watched == m_popupTestView) {
+ // used on the inputFieldFocus test
+ if (watched == m_inputFieldsTestView) {
if (event->type() == QEvent::Paint)
- m_popupTestPaintCount++;
+ m_inputFieldTestPaintCount++;
}
return QObject::eventFilter(watched, event);
}
@@ -780,7 +785,7 @@ void tst_QWebFrame::getSetStaticProperty()
QCOMPARE(vm.size(), 3);
QCOMPARE(vm.value("a").toInt(), 123);
QCOMPARE(vm.value("b").toString(), QLatin1String("foo"));
- QCOMPARE(vm.value("c").value<QObject*>(), m_myObject);
+ QCOMPARE(vm.value("c").value<QObject*>(), static_cast<QObject*>(m_myObject));
}
QCOMPARE(evalJS("myObject.variantMapProperty.a === 123"), sTrue);
QCOMPARE(evalJS("myObject.variantMapProperty.b === 'foo'"), sTrue);
@@ -2549,6 +2554,7 @@ void tst_QWebFrame::metaData()
QCOMPARE(metaData.value("nonexistant"), QString());
}
+#if !defined(Q_WS_MAEMO_5)
void tst_QWebFrame::popupFocus()
{
QWebView view;
@@ -2580,16 +2586,27 @@ void tst_QWebFrame::popupFocus()
// hide the popup and check if focus is on the page
combo->hidePopup();
QTRY_VERIFY(view.hasFocus() && !combo->view()->hasFocus()); // Focus should be back on the WebView
+}
+#endif
+
+void tst_QWebFrame::inputFieldFocus()
+{
+ QWebView view;
+ view.setHtml("<html><body><input type=\"text\"></input></body></html>");
+ view.resize(400, 100);
+ view.show();
+ view.setFocus();
+ QTRY_VERIFY(view.hasFocus());
// double the flashing time, should at least blink once already
int delay = qApp->cursorFlashTime() * 2;
// focus the lineedit and check if it blinks
- QTest::mouseClick(&view, Qt::LeftButton, 0, QPoint(200, 25));
- m_popupTestView = &view;
+ QTest::mouseClick(&view, Qt::LeftButton, 0, QPoint(25, 25));
+ m_inputFieldsTestView = &view;
view.installEventFilter( this );
QTest::qWait(delay);
- QVERIFY2(m_popupTestPaintCount >= 3,
+ QVERIFY2(m_inputFieldTestPaintCount >= 3,
"The input field should have a blinking caret");
}
diff --git a/src/3rdparty/webkit/WebKit/qt/tests/qwebpage/tst_qwebpage.cpp b/src/3rdparty/webkit/WebKit/qt/tests/qwebpage/tst_qwebpage.cpp
index f7eddd540d..0f2ca22aae 100644
--- a/src/3rdparty/webkit/WebKit/qt/tests/qwebpage/tst_qwebpage.cpp
+++ b/src/3rdparty/webkit/WebKit/qt/tests/qwebpage/tst_qwebpage.cpp
@@ -26,6 +26,7 @@
#include <QLocale>
#include <QMenu>
#include <QPushButton>
+#include <QStyle>
#include <QtTest/QtTest>
#include <QTextCharFormat>
#include <qgraphicsscene.h>
@@ -110,6 +111,8 @@ private slots:
void userAgentApplicationName();
void userAgentLocaleChange();
+ void viewModes();
+
void crashTests_LazyInitializationOfMainFrame();
void screenshot_data();
@@ -118,7 +121,9 @@ private slots:
void originatingObjectInNetworkRequests();
void testJSPrompt();
void showModalDialog();
-
+ void testStopScheduledPageRefresh();
+ void findText();
+
private:
QWebView* m_view;
QWebPage* m_page;
@@ -357,6 +362,21 @@ void tst_QWebPage::userStyleSheet()
QCOMPARE(networkManager->requestedUrls.at(0), QUrl("http://does.not/exist.png"));
}
+void tst_QWebPage::viewModes()
+{
+ m_view->setHtml("<body></body>");
+ m_page->setProperty("_q_viewMode", "minimized");
+
+ QVariant empty = m_page->mainFrame()->evaluateJavaScript("window.styleMedia.matchMedium(\"(-webkit-view-mode)\")");
+ QVERIFY(empty.type() == QVariant::Bool && empty.toBool());
+
+ QVariant minimized = m_page->mainFrame()->evaluateJavaScript("window.styleMedia.matchMedium(\"(-webkit-view-mode: minimized)\")");
+ QVERIFY(minimized.type() == QVariant::Bool && minimized.toBool());
+
+ QVariant maximized = m_page->mainFrame()->evaluateJavaScript("window.styleMedia.matchMedium(\"(-webkit-view-mode: maximized)\")");
+ QVERIFY(maximized.type() == QVariant::Bool && !maximized.toBool());
+}
+
void tst_QWebPage::modified()
{
m_page->mainFrame()->setUrl(QUrl("data:text/html,<body>blub"));
@@ -1350,7 +1370,27 @@ void tst_QWebPage::inputMethods()
page->event(&evrel);
#if QT_VERSION >= QT_VERSION_CHECK(4, 6, 0)
- QVERIFY(!viewEventSpy.contains(QEvent::RequestSoftwareInputPanel));
+ // This part of the test checks if the SIP (Software Input Panel) is triggered,
+ // which normally happens on mobile platforms, when a user input form receives
+ // a mouse click.
+ int inputPanel = 0;
+ if (viewType == "QWebView") {
+ if (QWebView* wv = qobject_cast<QWebView*>(view))
+ inputPanel = wv->style()->styleHint(QStyle::SH_RequestSoftwareInputPanel);
+ } else if (viewType == "QGraphicsWebView") {
+ if (QGraphicsWebView* wv = qobject_cast<QGraphicsWebView*>(view))
+ inputPanel = wv->style()->styleHint(QStyle::SH_RequestSoftwareInputPanel);
+ }
+
+ // For non-mobile platforms RequestSoftwareInputPanel event is not called
+ // because there is no SIP (Software Input Panel) triggered. In the case of a
+ // mobile platform, an input panel, e.g. virtual keyboard, is usually invoked
+ // and the RequestSoftwareInputPanel event is called. For these two situations
+ // this part of the test can verified as the checks below.
+ if (inputPanel)
+ QVERIFY(viewEventSpy.contains(QEvent::RequestSoftwareInputPanel));
+ else
+ QVERIFY(!viewEventSpy.contains(QEvent::RequestSoftwareInputPanel));
#endif
viewEventSpy.clear();
@@ -1412,11 +1452,16 @@ void tst_QWebPage::inputMethods()
QString selectionValue = variant.value<QString>();
QCOMPARE(selectionValue, QString("eb"));
- //Set selection with negative length
- inputAttributes << QInputMethodEvent::Attribute(QInputMethodEvent::Selection, 6, -5, QVariant());
+ //Cancel current composition first
+ inputAttributes << QInputMethodEvent::Attribute(QInputMethodEvent::Selection, 0, 0, QVariant());
QInputMethodEvent eventSelection2("",inputAttributes);
page->event(&eventSelection2);
+ //Set selection with negative length
+ inputAttributes << QInputMethodEvent::Attribute(QInputMethodEvent::Selection, 6, -5, QVariant());
+ QInputMethodEvent eventSelection3("",inputAttributes);
+ page->event(&eventSelection3);
+
//ImAnchorPosition
variant = page->inputMethodQuery(Qt::ImAnchorPosition);
anchorPosition = variant.toInt();
@@ -1454,6 +1499,98 @@ void tst_QWebPage::inputMethods()
QCOMPARE(value, QString("QtWebKit"));
#endif
+ // Cancel current composition first
+ inputAttributes << QInputMethodEvent::Attribute(QInputMethodEvent::Selection, 0, 0, QVariant());
+ QInputMethodEvent eventSelection4("", inputAttributes);
+ page->event(&eventSelection4);
+
+ // START - Tests for Selection when the Editor is NOT in Composition mode
+
+ // LEFT to RIGHT selection
+ // Deselect the selection by sending MouseButtonPress events
+ // This moves the current cursor to the end of the text
+ page->event(&evpres);
+ page->event(&evrel);
+
+ //Move to the start of the line
+ page->triggerAction(QWebPage::MoveToStartOfLine);
+
+ QKeyEvent keyRightEventPress(QEvent::KeyPress, Qt::Key_Right, Qt::NoModifier);
+ QKeyEvent keyRightEventRelease(QEvent::KeyRelease, Qt::Key_Right, Qt::NoModifier);
+
+ //Move 2 characters RIGHT
+ for (int j = 0; j < 2; ++j) {
+ page->event(&keyRightEventPress);
+ page->event(&keyRightEventRelease);
+ }
+
+ //Select to the end of the line
+ page->triggerAction(QWebPage::SelectEndOfLine);
+
+ //ImAnchorPosition QtWebKit
+ variant = page->inputMethodQuery(Qt::ImAnchorPosition);
+ anchorPosition = variant.toInt();
+ QCOMPARE(anchorPosition, 2);
+
+ //ImCursorPosition
+ variant = page->inputMethodQuery(Qt::ImCursorPosition);
+ cursorPosition = variant.toInt();
+ QCOMPARE(cursorPosition, 8);
+
+ //ImCurrentSelection
+ variant = page->inputMethodQuery(Qt::ImCurrentSelection);
+ selectionValue = variant.value<QString>();
+ QCOMPARE(selectionValue, QString("WebKit"));
+
+ //RIGHT to LEFT selection
+ //Deselect the selection (this moves the current cursor to the end of the text)
+ page->event(&evpres);
+ page->event(&evrel);
+
+ //ImAnchorPosition
+ variant = page->inputMethodQuery(Qt::ImAnchorPosition);
+ anchorPosition = variant.toInt();
+ QCOMPARE(anchorPosition, 8);
+
+ //ImCursorPosition
+ variant = page->inputMethodQuery(Qt::ImCursorPosition);
+ cursorPosition = variant.toInt();
+ QCOMPARE(cursorPosition, 8);
+
+ //ImCurrentSelection
+ variant = page->inputMethodQuery(Qt::ImCurrentSelection);
+ selectionValue = variant.value<QString>();
+ QCOMPARE(selectionValue, QString(""));
+
+ QKeyEvent keyLeftEventPress(QEvent::KeyPress, Qt::Key_Left, Qt::NoModifier);
+ QKeyEvent keyLeftEventRelease(QEvent::KeyRelease, Qt::Key_Left, Qt::NoModifier);
+
+ //Move 2 characters LEFT
+ for (int i = 0; i < 2; ++i) {
+ page->event(&keyLeftEventPress);
+ page->event(&keyLeftEventRelease);
+ }
+
+ //Select to the start of the line
+ page->triggerAction(QWebPage::SelectStartOfLine);
+
+ //ImAnchorPosition
+ variant = page->inputMethodQuery(Qt::ImAnchorPosition);
+ anchorPosition = variant.toInt();
+ QCOMPARE(anchorPosition, 6);
+
+ //ImCursorPosition
+ variant = page->inputMethodQuery(Qt::ImCursorPosition);
+ cursorPosition = variant.toInt();
+ QCOMPARE(cursorPosition, 0);
+
+ //ImCurrentSelection
+ variant = page->inputMethodQuery(Qt::ImCurrentSelection);
+ selectionValue = variant.value<QString>();
+ QCOMPARE(selectionValue, QString("QtWebK"));
+
+ //END - Tests for Selection when the Editor is not in Composition mode
+
//ImhHiddenText
QMouseEvent evpresPassword(QEvent::MouseButtonPress, inputs.at(1).geometry().center(), Qt::LeftButton, Qt::NoButton, Qt::NoModifier);
page->event(&evpresPassword);
@@ -1960,5 +2097,46 @@ void tst_QWebPage::showModalDialog()
QCOMPARE(res, QString("This is a test"));
}
+void tst_QWebPage::testStopScheduledPageRefresh()
+{
+ // Without QWebPage::StopScheduledPageRefresh
+ QWebPage page1;
+ page1.setNetworkAccessManager(new TestNetworkManager(&page1));
+ page1.mainFrame()->setHtml("<html><head>"
+ "<meta http-equiv=\"refresh\"content=\"0;URL=http://qt.nokia.com/favicon.ico\">"
+ "</head><body><h1>Page redirects immediately...</h1>"
+ "</body></html>");
+ QVERIFY(::waitForSignal(&page1, SIGNAL(loadFinished(bool))));
+ QTest::qWait(500);
+ QCOMPARE(page1.mainFrame()->url().toString(), QString("http://qt.nokia.com/favicon.ico"));
+
+ // With QWebPage::StopScheduledPageRefresh
+ QWebPage page2;
+ page2.setNetworkAccessManager(new TestNetworkManager(&page2));
+ page2.mainFrame()->setHtml("<html><head>"
+ "<meta http-equiv=\"refresh\"content=\"1;URL=http://qt.nokia.com/favicon.ico\">"
+ "</head><body><h1>Page redirect test with 1 sec timeout...</h1>"
+ "</body></html>");
+ page2.triggerAction(QWebPage::StopScheduledPageRefresh);
+ QTest::qWait(1500);
+ QCOMPARE(page2.mainFrame()->url().toString(), QString("about:blank"));
+}
+
+void tst_QWebPage::findText()
+{
+ m_view->setHtml(QString("<html><head></head><body><div>foo bar</div></body></html>"));
+ m_page->triggerAction(QWebPage::SelectAll);
+ QVERIFY(!m_page->selectedText().isEmpty());
+ m_page->findText("");
+ QVERIFY(m_page->selectedText().isEmpty());
+ QStringList words = (QStringList() << "foo" << "bar");
+ foreach (QString subString, words) {
+ m_page->findText(subString, QWebPage::FindWrapsAroundDocument);
+ QCOMPARE(m_page->selectedText(), subString);
+ m_page->findText("");
+ QVERIFY(m_page->selectedText().isEmpty());
+ }
+}
+
QTEST_MAIN(tst_QWebPage)
#include "tst_qwebpage.moc"
diff --git a/src/activeqt/container/container.pro b/src/activeqt/container/container.pro
index d654f927fe..4c9b3a8b4d 100644
--- a/src/activeqt/container/container.pro
+++ b/src/activeqt/container/container.pro
@@ -19,7 +19,7 @@ QTDIR_build:DESTDIR = $$QT_BUILD_TREE/lib
LIBS += -lole32 -loleaut32
!wince*:LIBS += -luser32 -lgdi32 -ladvapi32
-win32-g++:LIBS += -luuid
+win32-g++*:LIBS += -luuid
HEADERS = ../control/qaxaggregated.h \
qaxbase.h \
diff --git a/src/activeqt/control/control.pro b/src/activeqt/control/control.pro
index bf3647ee3c..361ca29a95 100644
--- a/src/activeqt/control/control.pro
+++ b/src/activeqt/control/control.pro
@@ -15,14 +15,14 @@ TARGET = QAxServer
}
CONFIG += qt warn_off staticlib
-QTDIR_build:DESTDIR = $$QT_BUILD_TREE\lib
+QTDIR_build:DESTDIR = $$QT_BUILD_TREE\\lib
DEFINES += QAX_SERVER
-win32-g++:DEFINES += QT_NEEDS_QMAIN
+win32-g++*:DEFINES += QT_NEEDS_QMAIN
win32-borland:DEFINES += QT_NEEDS_QMAIN
LIBS += -luser32 -lole32 -loleaut32 -lgdi32
-win32-g++:LIBS += -luuid
+win32-g++*:LIBS += -luuid
HEADERS = qaxaggregated.h \
qaxbindable.h \
diff --git a/src/activeqt/control/qaxbindable.cpp b/src/activeqt/control/qaxbindable.cpp
index 1a3fb61224..4816142a16 100644
--- a/src/activeqt/control/qaxbindable.cpp
+++ b/src/activeqt/control/qaxbindable.cpp
@@ -254,7 +254,7 @@ bool QAxBindable::writeData(QIODevice *sink)
in your subclass (unless you use QPointer), as the QWidget can
be destroyed by the ActiveQt framework at any time.
- \sa QAxBindable, QAxFactory, {ActiveQt Framework}
+ \sa QAxBindable, QAxFactory, {Qt's ActiveX Framework (ActiveQt)}
*/
/*!
diff --git a/src/corelib/animation/qabstractanimation.cpp b/src/corelib/animation/qabstractanimation.cpp
index 01570ade81..04342e72f0 100644
--- a/src/corelib/animation/qabstractanimation.cpp
+++ b/src/corelib/animation/qabstractanimation.cpp
@@ -369,6 +369,9 @@ void QAbstractAnimationPrivate::setState(QAbstractAnimation::State newState)
if (state == newState)
return;
+ if (loopCount == 0)
+ return;
+
QAbstractAnimation::State oldState = state;
int oldCurrentTime = currentTime;
int oldCurrentLoop = currentLoop;
diff --git a/src/corelib/arch/qatomic_alpha.h b/src/corelib/arch/qatomic_alpha.h
index 5d0b2b664f..6989c25f27 100644
--- a/src/corelib/arch/qatomic_alpha.h
+++ b/src/corelib/arch/qatomic_alpha.h
@@ -367,7 +367,7 @@ Q_INLINE_TEMPLATE bool QBasicAtomicPointer<T>::testAndSetRelease(T *expectedValu
template <typename T>
Q_INLINE_TEMPLATE T *QBasicAtomicPointer<T>::fetchAndStoreRelaxed(T *newValue)
{
- register void *old, *tmp;
+ register T *old, *tmp;
asm volatile("1:\n"
"ldq_l %0,%2\n" /* old=*ptr; */
"mov %3,%1\n" /* tmp=newval; */
@@ -385,7 +385,7 @@ Q_INLINE_TEMPLATE T *QBasicAtomicPointer<T>::fetchAndStoreRelaxed(T *newValue)
template <typename T>
Q_INLINE_TEMPLATE T *QBasicAtomicPointer<T>::fetchAndStoreAcquire(T *newValue)
{
- register void *old, *tmp;
+ register T *old, *tmp;
asm volatile("1:\n"
"ldq_l %0,%2\n" /* old=*ptr; */
"mov %3,%1\n" /* tmp=newval; */
@@ -404,7 +404,7 @@ Q_INLINE_TEMPLATE T *QBasicAtomicPointer<T>::fetchAndStoreAcquire(T *newValue)
template <typename T>
Q_INLINE_TEMPLATE T *QBasicAtomicPointer<T>::fetchAndStoreRelease(T *newValue)
{
- register void *old, *tmp;
+ register T *old, *tmp;
asm volatile("mb\n"
"1:\n"
"ldq_l %0,%2\n" /* old=*ptr; */
@@ -423,7 +423,7 @@ Q_INLINE_TEMPLATE T *QBasicAtomicPointer<T>::fetchAndStoreRelease(T *newValue)
template <typename T>
Q_INLINE_TEMPLATE T *QBasicAtomicPointer<T>::fetchAndAddRelaxed(qptrdiff valueToAdd)
{
- register void *old, *tmp;
+ register T *old, *tmp;
asm volatile("1:\n"
"ldq_l %0,%2\n" /* old=*ptr; */
"addq %0,%3,%1\n"/* tmp=old+value; */
@@ -441,7 +441,7 @@ Q_INLINE_TEMPLATE T *QBasicAtomicPointer<T>::fetchAndAddRelaxed(qptrdiff valueTo
template <typename T>
Q_INLINE_TEMPLATE T *QBasicAtomicPointer<T>::fetchAndAddAcquire(qptrdiff valueToAdd)
{
- register void *old, *tmp;
+ register T *old, *tmp;
asm volatile("1:\n"
"ldq_l %0,%2\n" /* old=*ptr; */
"addq %0,%3,%1\n"/* tmp=old+value; */
@@ -460,7 +460,7 @@ Q_INLINE_TEMPLATE T *QBasicAtomicPointer<T>::fetchAndAddAcquire(qptrdiff valueTo
template <typename T>
Q_INLINE_TEMPLATE T *QBasicAtomicPointer<T>::fetchAndAddRelease(qptrdiff valueToAdd)
{
- register void *old, *tmp;
+ register T *old, *tmp;
asm volatile("mb\n"
"1:\n"
"ldq_l %0,%2\n" /* old=*ptr; */
diff --git a/src/corelib/corelib.pro b/src/corelib/corelib.pro
index 5a810b1cbe..f9a7510158 100644
--- a/src/corelib/corelib.pro
+++ b/src/corelib/corelib.pro
@@ -3,6 +3,7 @@ QPRO_PWD = $$PWD
QT =
DEFINES += QT_BUILD_CORE_LIB QT_NO_USING_NAMESPACE
win32-msvc*|win32-icc:QMAKE_LFLAGS += /BASE:0x67000000
+irix-cc*:QMAKE_CXXFLAGS += -no_prelink -ptused
include(../qbase.pri)
include(animation/animation.pri)
diff --git a/src/corelib/global/qconfig-medium.h b/src/corelib/global/qconfig-medium.h
index ccd675917f..6cb6c2c1d3 100644
--- a/src/corelib/global/qconfig-medium.h
+++ b/src/corelib/global/qconfig-medium.h
@@ -213,6 +213,9 @@
#ifndef QT_NO_UNDOVIEW
# define QT_NO_UNDOVIEW
#endif
+#ifndef QT_NO_GESTURES
+# define QT_NO_GESTURES
+#endif
/* Widgets */
#ifndef QT_NO_LCDNUMBER
diff --git a/src/corelib/global/qconfig-minimal.h b/src/corelib/global/qconfig-minimal.h
index 99b16e8181..c285e99d2c 100644
--- a/src/corelib/global/qconfig-minimal.h
+++ b/src/corelib/global/qconfig-minimal.h
@@ -447,6 +447,9 @@
#ifndef QT_NO_UNDOVIEW
# define QT_NO_UNDOVIEW
#endif
+#ifndef QT_NO_GESTURES
+# define QT_NO_GESTURES
+#endif
/* Widgets */
#ifndef QT_NO_GROUPBOX
diff --git a/src/corelib/global/qconfig-small.h b/src/corelib/global/qconfig-small.h
index 1716b8dfb1..dd74dcf055 100644
--- a/src/corelib/global/qconfig-small.h
+++ b/src/corelib/global/qconfig-small.h
@@ -250,6 +250,9 @@
#ifndef QT_NO_SYSTEMTRAYICON
# define QT_NO_SYSTEMTRAYICON
#endif
+#ifndef QT_NO_GESTURES
+# define QT_NO_GESTURES
+#endif
/* Widgets */
#ifndef QT_NO_LCDNUMBER
diff --git a/src/corelib/global/qendian.h b/src/corelib/global/qendian.h
index 107854c2c0..d53504abe4 100644
--- a/src/corelib/global/qendian.h
+++ b/src/corelib/global/qendian.h
@@ -44,6 +44,14 @@
#include <QtCore/qglobal.h>
+#ifdef Q_OS_LINUX
+# include <features.h>
+#endif
+
+#ifdef __GLIBC__
+#include <byteswap.h>
+#endif
+
QT_BEGIN_HEADER
QT_BEGIN_NAMESPACE
@@ -264,6 +272,21 @@ template <> inline qint16 qFromBigEndian<qint16>(const uchar *src)
* and it is therefore a bit more convenient and in most cases more efficient.
*/
template <typename T> T qbswap(T source);
+
+#ifdef __GLIBC__
+template <> inline quint64 qbswap<quint64>(quint64 source)
+{
+ return bswap_64(source);
+}
+template <> inline quint32 qbswap<quint32>(quint32 source)
+{
+ return bswap_32(source);
+}
+template <> inline quint16 qbswap<quint16>(quint16 source)
+{
+ return bswap_16(source);
+}
+#else
template <> inline quint64 qbswap<quint64>(quint64 source)
{
return 0
@@ -292,6 +315,7 @@ template <> inline quint16 qbswap<quint16>(quint16 source)
| ((source & 0x00ff) << 8)
| ((source & 0xff00) >> 8) );
}
+#endif // __GLIBC__
// signed specializations
template <> inline qint64 qbswap<qint64>(qint64 source)
diff --git a/src/corelib/global/qfeatures.h b/src/corelib/global/qfeatures.h
index c66047adbd..b606843e82 100644
--- a/src/corelib/global/qfeatures.h
+++ b/src/corelib/global/qfeatures.h
@@ -85,6 +85,9 @@
// Freetype Font Engine
//#define QT_NO_FREETYPE
+// Gesture
+//#define QT_NO_GESTURES
+
// QGroupBox
//#define QT_NO_GROUPBOX
@@ -335,11 +338,6 @@
#define QT_NO_DATESTRING
#endif
-// QtDBus module
-#if !defined(QT_NO_DBUS) && (defined(QT_NO_PROPERTIES))
-#define QT_NO_DBUS
-#endif
-
// QDial
#if !defined(QT_NO_DIAL) && (defined(QT_NO_SLIDER))
#define QT_NO_DIAL
@@ -515,6 +513,11 @@
#define QT_NO_CONTEXTMENU
#endif
+// QtDBus module
+#if !defined(QT_NO_DBUS) && (defined(QT_NO_PROPERTIES) || defined(QT_NO_DOM))
+#define QT_NO_DBUS
+#endif
+
// File Transfer Protocol
#if !defined(QT_NO_FTP) && (defined(QT_NO_URLINFO) || defined(QT_NO_TEXTDATE))
#define QT_NO_FTP
diff --git a/src/corelib/global/qfeatures.txt b/src/corelib/global/qfeatures.txt
index ed173b1907..4d938a9b14 100644
--- a/src/corelib/global/qfeatures.txt
+++ b/src/corelib/global/qfeatures.txt
@@ -1185,6 +1185,12 @@ Requires: PROPERTIES
Name: State machine
SeeAlso: ???
+Feature: GESTURES
+Description: Provides a framework for gestures.
+Section: Utilities
+Requires:
+Name: Gesture
+SeeAlso: ???
# SVG
@@ -1373,7 +1379,7 @@ SeeAlso: ???
Feature: DBUS
Description: Provides classes for D-Bus.
Section: D-Bus
-Requires: PROPERTIES
+Requires: PROPERTIES DOM
Name: QtDBus module
SeeAlso: ???
diff --git a/src/corelib/global/qglobal.cpp b/src/corelib/global/qglobal.cpp
index 0e020518c7..f4f97027b5 100644
--- a/src/corelib/global/qglobal.cpp
+++ b/src/corelib/global/qglobal.cpp
@@ -2512,6 +2512,19 @@ void qFatal(const char *msg, ...)
// getenv is declared as deprecated in VS2005. This function
// makes use of the new secure getenv function.
+/*!
+ \relates <QtGlobal>
+
+ Returns the value of the environment variable with name \a
+ varName. To get the variable string, use QByteArray::constData().
+
+ \note qgetenv() was introduced because getenv() from the standard
+ C library was deprecated in VC2005 (and later versions). qgetenv()
+ uses the new replacement function in VC, and calls the standard C
+ library's implementation on all other platforms.
+
+ \sa qputenv()
+*/
QByteArray qgetenv(const char *varName)
{
#if defined(_MSC_VER) && _MSC_VER >= 1400
@@ -2531,6 +2544,20 @@ QByteArray qgetenv(const char *varName)
#endif
}
+/*!
+ \relates <QtGlobal>
+
+ This function sets the \a value of the environment variable named
+ \a varName. It will create the variable if it does not exist. It
+ returns 0 if the variable could not be set.
+
+ \note qputenv() was introduced because putenv() from the standard
+ C library was deprecated in VC2005 (and later versions). qputenv()
+ uses the replacement function in VC, and calls the standard C
+ library's implementation on all other platforms.
+
+ \sa qgetenv()
+*/
bool qputenv(const char *varName, const QByteArray& value)
{
#if defined(_MSC_VER) && _MSC_VER >= 1400
diff --git a/src/corelib/global/qglobal.h b/src/corelib/global/qglobal.h
index 45153b8b53..815b7da256 100644
--- a/src/corelib/global/qglobal.h
+++ b/src/corelib/global/qglobal.h
@@ -1245,11 +1245,6 @@ class QDataStream;
# else
# define Q_MULTIMEDIA_EXPORT Q_DECL_IMPORT
# endif
-# if defined(QT_BUILD_MEDIASERVICES_LIB)
-# define Q_MEDIASERVICES_EXPORT Q_DECL_EXPORT
-# else
-# define Q_MEDIASERVICES_EXPORT Q_DECL_IMPORT
-# endif
# if defined(QT_BUILD_OPENVG_LIB)
# define Q_OPENVG_EXPORT Q_DECL_EXPORT
# else
@@ -1296,7 +1291,6 @@ class QDataStream;
# define Q_CANVAS_EXPORT Q_DECL_IMPORT
# define Q_OPENGL_EXPORT Q_DECL_IMPORT
# define Q_MULTIMEDIA_EXPORT Q_DECL_IMPORT
-# define Q_MEDIASERVICES_EXPORT Q_DECL_IMPORT
# define Q_OPENVG_EXPORT Q_DECL_IMPORT
# define Q_XML_EXPORT Q_DECL_IMPORT
# define Q_XMLPATTERNS_EXPORT Q_DECL_IMPORT
@@ -1325,7 +1319,6 @@ class QDataStream;
# define Q_DECLARATIVE_EXPORT Q_DECL_EXPORT
# define Q_OPENGL_EXPORT Q_DECL_EXPORT
# define Q_MULTIMEDIA_EXPORT Q_DECL_EXPORT
-# define Q_MEDIASERVICES_EXPORT Q_DECL_EXPORT
# define Q_OPENVG_EXPORT Q_DECL_EXPORT
# define Q_XML_EXPORT Q_DECL_EXPORT
# define Q_XMLPATTERNS_EXPORT Q_DECL_EXPORT
@@ -1341,7 +1334,6 @@ class QDataStream;
# define Q_DECLARATIVE_EXPORT
# define Q_OPENGL_EXPORT
# define Q_MULTIMEDIA_EXPORT
-# define Q_MEDIASERVICES_EXPORT
# define Q_XML_EXPORT
# define Q_XMLPATTERNS_EXPORT
# define Q_SCRIPT_EXPORT
@@ -2435,6 +2427,7 @@ QT3_SUPPORT Q_CORE_EXPORT const char *qInstallPathSysconf();
#if defined(Q_OS_SYMBIAN)
#ifdef SYMBIAN_BUILD_GCE
+#define Q_SYMBIAN_SUPPORTS_SURFACES
//RWsPointerCursor is fixed, so don't use low performance sprites
#define Q_SYMBIAN_FIXED_POINTER_CURSORS
#define Q_SYMBIAN_HAS_EXTENDED_BITMAP_TYPE
diff --git a/src/corelib/global/qnamespace.h b/src/corelib/global/qnamespace.h
index fe95851293..3a8b99fdd8 100644
--- a/src/corelib/global/qnamespace.h
+++ b/src/corelib/global/qnamespace.h
@@ -236,7 +236,8 @@ public:
TextJustificationForced = 0x10000,
TextForceLeftToRight = 0x20000,
TextForceRightToLeft = 0x40000,
- TextLongestVariant = 0x80000
+ TextLongestVariant = 0x80000,
+ TextBypassShaping = 0x100000
#if defined(QT3_SUPPORT) && !defined(Q_MOC_RUN)
,SingleLine = TextSingleLine,
@@ -947,6 +948,8 @@ public:
#endif
Key_MediaNext = 0x01000083,
Key_MediaRecord = 0x01000084,
+ Key_MediaPause = 0x1000085,
+ Key_MediaTogglePlayPause = 0x1000086,
Key_HomePage = 0x01000090,
Key_Favorites = 0x01000091,
Key_Search = 0x01000092,
@@ -1089,11 +1092,15 @@ public:
Key_Context2 = 0x01100001,
Key_Context3 = 0x01100002,
Key_Context4 = 0x01100003,
- Key_Call = 0x01100004,
- Key_Hangup = 0x01100005,
+ Key_Call = 0x01100004, // set absolute state to in a call (do not toggle state)
+ Key_Hangup = 0x01100005, // set absolute state to hang up (do not toggle state)
Key_Flip = 0x01100006,
- Key_Camera = 0x01100007,
- Key_CameraFocus = 0x01100008,
+ Key_ToggleCallHangup = 0x01100007, // a toggle key for answering, or hanging up, based on current call state
+ Key_VoiceDial = 0x01100008,
+ Key_LastNumberRedial = 0x01100009,
+
+ Key_Camera = 0x01100020,
+ Key_CameraFocus = 0x01100021,
Key_unknown = 0x01ffffff
};
@@ -1554,7 +1561,8 @@ public:
enum LayoutDirection {
LeftToRight,
- RightToLeft
+ RightToLeft,
+ LayoutDirectionAuto
};
enum AnchorPoint {
@@ -1719,6 +1727,7 @@ public:
};
Q_DECLARE_FLAGS(TouchPointStates, TouchPointState)
+#ifndef QT_NO_GESTURES
enum GestureState
{
NoGesture,
@@ -1748,6 +1757,7 @@ public:
IgnoredGesturesPropagateToParent = 0x04
};
Q_DECLARE_FLAGS(GestureFlags, GestureFlag)
+#endif // QT_NO_GESTURES
enum NavigationMode
{
@@ -1777,7 +1787,9 @@ Q_DECLARE_OPERATORS_FOR_FLAGS(Qt::MatchFlags)
Q_DECLARE_OPERATORS_FOR_FLAGS(Qt::TextInteractionFlags)
Q_DECLARE_OPERATORS_FOR_FLAGS(Qt::InputMethodHints)
Q_DECLARE_OPERATORS_FOR_FLAGS(Qt::TouchPointStates)
+#ifndef QT_NO_GESTURES
Q_DECLARE_OPERATORS_FOR_FLAGS(Qt::GestureFlags)
+#endif
typedef bool (*qInternalCallback)(void **);
diff --git a/src/corelib/global/qnamespace.qdoc b/src/corelib/global/qnamespace.qdoc
index f71ba9d5fd..abbc03eaeb 100644
--- a/src/corelib/global/qnamespace.qdoc
+++ b/src/corelib/global/qnamespace.qdoc
@@ -1317,7 +1317,7 @@
\value Key_Enter Typically located on the keypad.
\value Key_Insert
\value Key_Delete
- \value Key_Pause
+ \value Key_Pause The Pause/Break key (\note Not anything to do with pausing media)
\value Key_Print
\value Key_SysReq
\value Key_Clear
@@ -1615,12 +1615,14 @@
\value Key_BassDown
\value Key_TrebleUp
\value Key_TrebleDown
- \value Key_MediaPlay
- \value Key_MediaStop
+ \value Key_MediaPlay A key setting the state of the media player to play
+ \value Key_MediaStop A key setting the state of the media player to stop
\value Key_MediaPrevious
\omitvalue Key_MediaPrev
\value Key_MediaNext
\value Key_MediaRecord
+ \value Key_MediaPause A key setting the state of the media player to pause (\note not the pause/break key)
+ \value Key_MediaTogglePlayPause A key to toggle the play/pause state in the media player (rather than setting an absolute state)
\value Key_HomePage
\value Key_Favorites
\value Key_Search
@@ -1741,18 +1743,21 @@
\value Key_MediaLast
\value Key_unknown
- \value Key_Call
- \value Key_Camera
- \value Key_CameraFocus
+ \value Key_Call A key to answer or initiate a call (\see Key_ToggleCallHangup for a key to toggle current call state)
+ \value Key_Camera A key to activate the camera shutter
+ \value Key_CameraFocus A key to focus the camera
\value Key_Context1
\value Key_Context2
\value Key_Context3
\value Key_Context4
\value Key_Flip
- \value Key_Hangup
+ \value Key_Hangup A key to end an ongoing call (\see Key_ToggleCallHangup for a key to toggle current call state)
\value Key_No
\value Key_Select
\value Key_Yes
+ \value Key_ToggleCallHangup A key to toggle the current call state (ie. either answer, or hangup) depending on current call state
+ \value Key_VoiceDial
+ \value Key_LastNumberRedial
\value Key_Execute
\value Key_Printer
@@ -2567,15 +2572,23 @@
/*!
\enum Qt::LayoutDirection
- Specifies the direction of Qt's layouts:
+ Specifies the direction of Qt's layouts and text handling.
\value LeftToRight Left-to-right layout.
\value RightToLeft Right-to-left layout.
+ \value LayoutDirectionAuto Automatic layout.
Right-to-left layouts are necessary for certain languages,
notably Arabic and Hebrew.
- \sa QApplication::setLayoutDirection(), QWidget::setLayoutDirection()
+ LayoutDirectionAuto serves two purposes. When used in conjunction with widgets and layouts, it
+ will imply to use the layout direction set on the parent widget or QApplication. This
+ has the same effect as QWidget::unsetLayoutDirection().
+
+ When LayoutDirectoinAuto is used in conjunction with text layouting, it will imply that the text
+ directionality is determined from the content of the string to be layouted.
+
+ \sa QApplication::setLayoutDirection(), QWidget::setLayoutDirection(), QTextOption::setTextDirection(), QString::isRightToLeft()
*/
/*!
diff --git a/src/corelib/io/qdatastream.cpp b/src/corelib/io/qdatastream.cpp
index 3a9d284478..58f01901d7 100644
--- a/src/corelib/io/qdatastream.cpp
+++ b/src/corelib/io/qdatastream.cpp
@@ -91,8 +91,7 @@ QT_BEGIN_NAMESPACE
format that varies depending on the item's type. Supported Qt
types include QBrush, QColor, QDateTime, QFont, QPixmap, QString,
QVariant and many others. For the complete list of all Qt types
- supporting data streaming see the \l{Format of the QDataStream
- operators}.
+ supporting data streaming see \l{Serializing Qt Data Types}.
For integers it is best to always cast to a Qt integer type for
writing, and to read back into the same Qt integer type. This
diff --git a/src/corelib/io/qdebug.h b/src/corelib/io/qdebug.h
index bc68599f52..093312f412 100644
--- a/src/corelib/io/qdebug.h
+++ b/src/corelib/io/qdebug.h
@@ -254,6 +254,29 @@ inline QDebug operator<<(QDebug debug, const QContiguousCache<T> &cache)
return debug.space();
}
+#if defined(FORCE_UREF)
+template <class T>
+inline QDebug &operator<<(QDebug debug, const QFlags<T> &flags)
+#else
+template <class T>
+inline QDebug operator<<(QDebug debug, const QFlags<T> &flags)
+#endif
+{
+ debug.nospace() << "QFlags(";
+ bool needSeparator = false;
+ for (uint i = 0; i < sizeof(T) * 8; ++i) {
+ if (flags.testFlag(T(1 << i))) {
+ if (needSeparator)
+ debug.nospace() << '|';
+ else
+ needSeparator = true;
+ debug.nospace() << "0x" << QByteArray::number(T(1 << i), 16).constData();
+ }
+ }
+ debug << ')';
+ return debug.space();
+}
+
#if !defined(QT_NO_DEBUG_STREAM)
Q_CORE_EXPORT_INLINE QDebug qDebug() { return QDebug(QtDebugMsg); }
diff --git a/src/corelib/io/qfilesystemwatcher_symbian.cpp b/src/corelib/io/qfilesystemwatcher_symbian.cpp
index 69daae718a..6136742213 100644
--- a/src/corelib/io/qfilesystemwatcher_symbian.cpp
+++ b/src/corelib/io/qfilesystemwatcher_symbian.cpp
@@ -106,7 +106,7 @@ void QNotifyChangeEvent::DoCancel()
}
QSymbianFileSystemWatcherEngine::QSymbianFileSystemWatcherEngine() :
- errorCode(KErrNone), watcherStarted(false)
+ watcherStarted(false)
{
moveToThread(this);
}
@@ -122,11 +122,7 @@ QStringList QSymbianFileSystemWatcherEngine::addPaths(const QStringList &paths,
QMutexLocker locker(&mutex);
QStringList p = paths;
- if (!startWatcher()) {
- qWarning("Could not start QSymbianFileSystemWatcherEngine thread");
-
- return p;
- }
+ startWatcher();
QMutableListIterator<QString> it(p);
while (it.hasNext()) {
@@ -150,18 +146,17 @@ QStringList QSymbianFileSystemWatcherEngine::addPaths(const QStringList &paths,
filePath += QChar(L'/');
}
- currentEvent = NULL;
+ currentAddEvent = NULL;
QMetaObject::invokeMethod(this,
"addNativeListener",
Qt::QueuedConnection,
Q_ARG(QString, filePath));
syncCondition.wait(&mutex);
+ if (currentAddEvent) {
+ currentAddEvent->isDir = isDir;
- if (currentEvent) {
- currentEvent->isDir = isDir;
-
- activeObjectToPath.insert(currentEvent, path);
+ activeObjectToPath.insert(currentAddEvent, path);
it.remove();
if (isDir)
@@ -185,10 +180,10 @@ QStringList QSymbianFileSystemWatcherEngine::removePaths(const QStringList &path
while (it.hasNext()) {
QString path = it.next();
- currentEvent = activeObjectToPath.key(path);
- if (!currentEvent)
+ currentRemoveEvent = activeObjectToPath.key(path);
+ if (!currentRemoveEvent)
continue;
- activeObjectToPath.remove(currentEvent);
+ activeObjectToPath.remove(currentRemoveEvent);
QMetaObject::invokeMethod(this,
"removeNativeListener",
@@ -202,9 +197,6 @@ QStringList QSymbianFileSystemWatcherEngine::removePaths(const QStringList &path
directories->removeAll(path);
}
- if (activeObjectToPath.size() == 0)
- stop();
-
return p;
}
@@ -228,44 +220,31 @@ void QSymbianFileSystemWatcherEngine::stop()
}
// This method must be called inside mutex
-bool QSymbianFileSystemWatcherEngine::startWatcher()
+void QSymbianFileSystemWatcherEngine::startWatcher()
{
- bool retval = true;
-
if (!watcherStarted) {
setStackSize(0x5000);
start();
syncCondition.wait(&mutex);
-
- if (errorCode != KErrNone) {
- retval = false;
- } else {
- watcherStarted = true;
- }
+ watcherStarted = true;
}
- return retval;
}
void QSymbianFileSystemWatcherEngine::run()
{
- // Initialize file session
-
mutex.lock();
syncCondition.wakeOne();
mutex.unlock();
- if (errorCode == KErrNone) {
- exec();
+ exec();
- foreach(QNotifyChangeEvent *e, activeObjectToPath.keys()) {
- e->Cancel();
- delete e;
- }
-
- activeObjectToPath.clear();
- watcherStarted = false;
+ foreach(QNotifyChangeEvent *e, activeObjectToPath.keys()) {
+ e->Cancel();
+ delete e;
}
+
+ activeObjectToPath.clear();
}
void QSymbianFileSystemWatcherEngine::addNativeListener(const QString &directoryPath)
@@ -273,16 +252,16 @@ void QSymbianFileSystemWatcherEngine::addNativeListener(const QString &directory
QMutexLocker locker(&mutex);
QString nativeDir(QDir::toNativeSeparators(directoryPath));
TPtrC ptr(qt_QString2TPtrC(nativeDir));
- currentEvent = new QNotifyChangeEvent(qt_s60GetRFs(), ptr, this, directoryPath.endsWith(QChar(L'/'), Qt::CaseSensitive));
+ currentAddEvent = new QNotifyChangeEvent(qt_s60GetRFs(), ptr, this, directoryPath.endsWith(QChar(L'/'), Qt::CaseSensitive));
syncCondition.wakeOne();
}
void QSymbianFileSystemWatcherEngine::removeNativeListener()
{
QMutexLocker locker(&mutex);
- currentEvent->Cancel();
- delete currentEvent;
- currentEvent = NULL;
+ currentRemoveEvent->Cancel();
+ delete currentRemoveEvent;
+ currentRemoveEvent = NULL;
syncCondition.wakeOne();
}
diff --git a/src/corelib/io/qfilesystemwatcher_symbian_p.h b/src/corelib/io/qfilesystemwatcher_symbian_p.h
index 7e3f0452ac..e687a4a020 100644
--- a/src/corelib/io/qfilesystemwatcher_symbian_p.h
+++ b/src/corelib/io/qfilesystemwatcher_symbian_p.h
@@ -113,14 +113,14 @@ private:
friend class QNotifyChangeEvent;
void emitPathChanged(QNotifyChangeEvent *e);
- bool startWatcher();
+ void startWatcher();
QHash<QNotifyChangeEvent*, QString> activeObjectToPath;
QMutex mutex;
QWaitCondition syncCondition;
- int errorCode;
bool watcherStarted;
- QNotifyChangeEvent *currentEvent;
+ QNotifyChangeEvent *currentAddEvent;
+ QNotifyChangeEvent *currentRemoveEvent;
};
#endif // QT_NO_FILESYSTEMWATCHER
diff --git a/src/corelib/io/qfsfileengine_win.cpp b/src/corelib/io/qfsfileengine_win.cpp
index ec49f1af28..21930e18f9 100644
--- a/src/corelib/io/qfsfileengine_win.cpp
+++ b/src/corelib/io/qfsfileengine_win.cpp
@@ -1162,7 +1162,15 @@ bool QFSFileEnginePrivate::doStat() const
if (filePath.isEmpty())
return could_stat;
- QString fname = filePath.endsWith(QLatin1String(".lnk")) ? readLink(filePath) : filePath;
+ QString fname;
+ if(filePath.endsWith(QLatin1String(".lnk"))) {
+ fname = readLink(filePath);
+ if(fname.isEmpty())
+ return could_stat;
+ }
+ else
+ fname = filePath;
+
fname = fixIfRelativeUncPath(fname);
UINT oldmode = SetErrorMode(SEM_FAILCRITICALERRORS | SEM_NOOPENFILEERRORBOX);
diff --git a/src/corelib/io/qiodevice.cpp b/src/corelib/io/qiodevice.cpp
index bb11d6bb7c..d2e4f75cbf 100644
--- a/src/corelib/io/qiodevice.cpp
+++ b/src/corelib/io/qiodevice.cpp
@@ -810,6 +810,9 @@ qint64 QIODevice::read(char *data, qint64 maxSize)
}
}
+ if (!maxSize)
+ return readSoFar;
+
if ((d->openMode & Unbuffered) == 0 && maxSize < QIODEVICE_BUFFERSIZE) {
// In buffered mode, we try to fill up the QIODevice buffer before
// we do anything else.
@@ -1473,10 +1476,13 @@ bool QIODevice::getChar(char *c)
*/
qint64 QIODevice::peek(char *data, qint64 maxSize)
{
+ Q_D(QIODevice);
qint64 readBytes = read(data, maxSize);
- int i = readBytes;
- while (i > 0)
- ungetChar(data[i-- - 1]);
+ if (readBytes <= 0)
+ return readBytes;
+
+ d->buffer.ungetBlock(data, readBytes);
+ d->pos -= readBytes;
return readBytes;
}
@@ -1499,11 +1505,15 @@ qint64 QIODevice::peek(char *data, qint64 maxSize)
*/
QByteArray QIODevice::peek(qint64 maxSize)
{
+ Q_D(QIODevice);
QByteArray result = read(maxSize);
- int i = result.size();
- const char *data = result.constData();
- while (i > 0)
- ungetChar(data[i-- - 1]);
+
+ if (result.isEmpty())
+ return result;
+
+ d->buffer.ungetBlock(result.constData(), result.size());
+ d->pos -= result.size();
+
return result;
}
diff --git a/src/corelib/io/qiodevice_p.h b/src/corelib/io/qiodevice_p.h
index 94dadca76d..225a0b90a2 100644
--- a/src/corelib/io/qiodevice_p.h
+++ b/src/corelib/io/qiodevice_p.h
@@ -151,6 +151,15 @@ public:
len++;
*first = c;
}
+ void ungetBlock(const char* block, int size) {
+ if ((first - buf) < size) {
+ // underflow, the existing valid data needs to move to the end of the (potentially bigger) buffer
+ makeSpace(len + size, freeSpaceAtStart);
+ memcpy(first - size, block, size);
+ }
+ first -= size;
+ len += size;
+ }
private:
enum FreeSpacePos {freeSpaceAtStart, freeSpaceAtEnd};
diff --git a/src/corelib/io/qprocess.cpp b/src/corelib/io/qprocess.cpp
index 7725ca8406..b5e7a971a7 100644
--- a/src/corelib/io/qprocess.cpp
+++ b/src/corelib/io/qprocess.cpp
@@ -2022,7 +2022,7 @@ void QProcess::start(const QString &program, OpenMode mode)
\note Terminating running processes from other processes will typically
cause a panic in Symbian due to platform security.
- \sa \l {Symbian Platform Security Requirements}
+ \sa {Symbian Platform Security Requirements}
\sa kill()
*/
void QProcess::terminate()
@@ -2040,7 +2040,7 @@ void QProcess::terminate()
On Symbian, this function requires platform security capability
\c PowerMgmt. If absent, the process will panic with KERN-EXEC 46.
- \sa \l {Symbian Platform Security Requirements}
+ \sa {Symbian Platform Security Requirements}
\sa terminate()
*/
void QProcess::kill()
diff --git a/src/corelib/io/qresource.cpp b/src/corelib/io/qresource.cpp
index 783fbb020d..132abf90d2 100644
--- a/src/corelib/io/qresource.cpp
+++ b/src/corelib/io/qresource.cpp
@@ -580,7 +580,7 @@ QResource::addSearchPath(const QString &path)
\obsolete
Use QDir::searchPaths() instead.
-
+
Returns the current search path list. This list is consulted when
creating a relative resource.
@@ -928,7 +928,7 @@ public:
}
};
-#if defined(Q_OS_UNIX) && ! defined (Q_OS_NACL)
+#if defined(Q_OS_UNIX) && !defined(Q_OS_SYMBIAN) && ! defined (Q_OS_NACL)
#define QT_USE_MMAP
#endif
diff --git a/src/corelib/io/qurl.cpp b/src/corelib/io/qurl.cpp
index 4e580dd1a5..79a8ce40be 100644
--- a/src/corelib/io/qurl.cpp
+++ b/src/corelib/io/qurl.cpp
@@ -345,6 +345,7 @@ public:
bool hasQuery;
bool hasFragment;
bool isValid;
+ bool isHostValid;
char valueDelimiter;
char pairDelimiter;
@@ -3138,10 +3139,11 @@ static void toPunycodeHelper(const QChar *s, int ucLength, QString *output)
static const char * const idn_whitelist[] = {
- "ac", "at",
- "br",
+ "ac", "ar", "at",
+ "biz", "br",
"cat", "ch", "cl", "cn",
"de", "dk",
+ "es",
"fi",
"gr",
"hu",
@@ -3155,6 +3157,9 @@ static const char * const idn_whitelist[] = {
"se", "sh",
"th", "tm", "tw",
"vn",
+ "xn--mgbaam7a8h", // UAE
+ "xn--mgberp4a5d4ar", // Saudi Arabia
+ "xn--wgbh1c" // Egypt
};
static QStringList *user_idn_whitelist = 0;
@@ -3313,6 +3318,7 @@ static QString qt_ACE_do(const QString &domain, AceOperation op)
qt_nameprep(&result, prevLen);
labelLength = result.length() - prevLen;
register int toReserve = labelLength + 4 + 6; // "xn--" plus some extra bytes
+ aceForm.resize(0);
if (toReserve > aceForm.capacity())
aceForm.reserve(toReserve);
toPunycodeHelper(result.constData() + prevLen, result.size() - prevLen, &aceForm);
@@ -3349,6 +3355,7 @@ QUrlPrivate::QUrlPrivate()
ref = 1;
port = -1;
isValid = false;
+ isHostValid = true;
parsingMode = QUrl::TolerantMode;
valueDelimiter = '=';
pairDelimiter = '&';
@@ -3375,6 +3382,7 @@ QUrlPrivate::QUrlPrivate(const QUrlPrivate &copy)
hasQuery(copy.hasQuery),
hasFragment(copy.hasFragment),
isValid(copy.isValid),
+ isHostValid(copy.isHostValid),
valueDelimiter(copy.valueDelimiter),
pairDelimiter(copy.pairDelimiter),
stateFlags(copy.stateFlags),
@@ -3405,6 +3413,8 @@ QString QUrlPrivate::canonicalHost() const
that->host = host.toLower();
} else {
that->host = qt_ACE_do(host, NormalizeAce);
+ if (that->host.isNull())
+ that->isHostValid = false;
}
return that->host;
}
@@ -3481,6 +3491,7 @@ QString QUrlPrivate::authority(QUrl::FormattingOptions options) const
void QUrlPrivate::setAuthority(const QString &auth)
{
+ isHostValid = true;
if (auth.isEmpty()) {
setUserInfo(QString());
host.clear();
@@ -4175,7 +4186,7 @@ bool QUrl::isValid() const
if (!QURL_HASFLAG(d->stateFlags, QUrlPrivate::Parsed)) d->parse();
if (!QURL_HASFLAG(d->stateFlags, QUrlPrivate::Validated)) d->validate();
- return d->isValid;
+ return d->isValid && d->isHostValid;
}
/*!
@@ -4427,7 +4438,6 @@ void QUrl::setAuthority(const QString &authority)
if (!QURL_HASFLAG(d->stateFlags, QUrlPrivate::Parsed)) d->parse();
detach();
QURL_UNSETFLAG(d->stateFlags, QUrlPrivate::Validated | QUrlPrivate::Normalized);
-
d->setAuthority(authority);
}
@@ -4648,6 +4658,7 @@ void QUrl::setHost(const QString &host)
if (!d) d = new QUrlPrivate;
if (!QURL_HASFLAG(d->stateFlags, QUrlPrivate::Parsed)) d->parse();
detach();
+ d->isHostValid = true;
QURL_UNSETFLAG(d->stateFlags, QUrlPrivate::Validated | QUrlPrivate::Normalized | QUrlPrivate::HostCanonicalized);
d->host = host;
@@ -5557,6 +5568,12 @@ QUrl QUrl::resolved(const QUrl &relative) const
removeDotsFromPath(&t.d->encodedPath);
t.d->path.clear();
+#if defined(QURL_DEBUG)
+ qDebug("QUrl(\"%s\").resolved(\"%s\") = \"%s\"",
+ toEncoded().constData(),
+ relative.toEncoded().constData(),
+ t.toEncoded().constData());
+#endif
return t;
}
diff --git a/src/corelib/kernel/qabstractitemmodel.cpp b/src/corelib/kernel/qabstractitemmodel.cpp
index b0503be623..84152591da 100644
--- a/src/corelib/kernel/qabstractitemmodel.cpp
+++ b/src/corelib/kernel/qabstractitemmodel.cpp
@@ -2501,38 +2501,96 @@ bool QAbstractItemModelPrivate::allowMove(const QModelIndex &srcParent, int star
}
/*!
+ \since 4.6
+
Begins a row move operation.
When reimplementing a subclass, this method simplifies moving
entities in your model. This method is responsible for moving
persistent indexes in the model, which you would otherwise be
- required to do yourself.
-
- Using beginMoveRows and endMoveRows is an alternative to emitting
- layoutAboutToBeChanged and layoutChanged directly along with
- changePersistentIndexes. layoutAboutToBeChanged is emitted by
- this method for compatibility reasons.
+ required to do yourself. Using beginMoveRows and endMoveRows
+ is an alternative to emitting layoutAboutToBeChanged and
+ layoutChanged directly along with changePersistentIndexes.
+ layoutAboutToBeChanged is emitted by this method for compatibility
+ reasons.
The \a sourceParent index corresponds to the parent from which the
- rows are moved; \a sourceFirst and \a sourceLast are the row
- numbers of the rows to be moved. The \a destinationParent index
- corresponds to the parent into which the rows are moved. The \a
+ rows are moved; \a sourceFirst and \a sourceLast are the first and last
+ row numbers of the rows to be moved. The \a destinationParent index
+ corresponds to the parent into which those rows are moved. The \a
destinationChild is the row to which the rows will be moved. That
is, the index at row \a sourceFirst in \a sourceParent will become
- row \a destinationChild in \a destinationParent. Its siblings will
- be moved correspondingly.
+ row \a destinationChild in \a destinationParent, followed by all other
+ rows up to \a sourceLast.
+
+ However, when moving rows down in the same parent (\a sourceParent
+ and \a destinationParent are equal), the rows will be placed before the
+ \a destinationChild index. That is, if you wish to move rows 0 and 1 so
+ they will become rows 1 and 2, \a destinationChild should be 3. In this
+ case, the new index for the source row \c i (which is between
+ \a sourceFirst and \a sourceLast) is equal to
+ \c {(destinationChild-sourceLast-1+i)}.
+
+ Note that if \a sourceParent and \a destinationParent are the same,
+ you must ensure that the \a destinationChild is not within the range
+ of \a sourceFirst and \a sourceLast + 1. You must also ensure that you
+ do not attempt to move a row to one of its own children or ancestors.
+ This method returns false if either condition is true, in which case you
+ should abort your move operation.
- Note that \a sourceParent and \a destinationParent may be the
- same, in which case you must ensure that the \a destinationChild is
- not within the range of \a sourceFirst and \a sourceLast. You
- must also ensure that you do not attempt to move a row to one of
- its own chilren or ancestors. This method returns false if either
- condition is true, in which case you should abort your move
- operation.
+ \table 80%
+ \row
+ \o \inlineimage modelview-move-rows-1.png Moving rows to another parent
+ \o Specify the first and last row numbers for the span of rows in
+ the source parent you want to move in the model. Also specify
+ the row in the destination parent to move the span to.
- \sa endMoveRows()
+ For example, as shown in the diagram, we move three rows from
+ row 2 to 4 in the source, so \a sourceFirst is 2 and \a sourceLast is 4.
+ We move those items to above row 2 in the destination, so \a destinationRow is 2.
- \since 4.6
+ \snippet doc/src/snippets/code/src_corelib_kernel_qabstractitemmodel.cpp 6
+
+ This moves the three rows rows 2, 3, and 4 in the source to become 2, 3 and 4 in
+ the destination. Other affected siblings are displaced accordingly.
+ \row
+ \o \inlineimage modelview-move-rows-2.png Moving rows to append to another parent
+ \o To append rows to another parent, move them to after the last row.
+
+ For example, as shown in the diagram, we move three rows to a
+ collection of 6 existing rows (ending in row 5), so \a destinationStart is 6:
+
+ \snippet doc/src/snippets/code/src_corelib_kernel_qabstractitemmodel.cpp 7
+
+ This moves the target rows to the end of the target parent as 6, 7 and 8.
+ \row
+ \o \inlineimage modelview-move-rows-3.png Moving rows in the same parent up
+ \o To move rows within the same parent, specify the row to move them to.
+
+ For example, as shown in the diagram, we move one item from row 2 to row 0,
+ so \a sourceFirst and \a sourceLast are 2 and \a destinationChild is 0.
+
+ \snippet doc/src/snippets/code/src_corelib_kernel_qabstractitemmodel.cpp 8
+
+ Note that other rows may be displaced accordingly. Note also that when moving
+ items within the same parent you should not attempt invalid or no-op moves. In
+ the above example, item 2 is at row 2 before the move, so it can not be moved
+ to row 2 (where it is already) or row 3 (no-op as row 3 means above row 3, where
+ it is already)
+
+ \row
+ \o \inlineimage modelview-move-rows-4.png Moving rows in the same parent down
+ \o To move rows within the same parent, specify the row to move them to.
+
+ For example, as shown in the diagram, we move one item from row 2 to row 4,
+ so \a sourceFirst and \a sourceLast are 2 and \a destinationChild is 4.
+
+ \snippet doc/src/snippets/code/src_corelib_kernel_qabstractitemmodel.cpp 9
+
+ Note that other rows may be displaced accordingly.
+ \endtable
+
+ \sa endMoveRows()
*/
bool QAbstractItemModel::beginMoveRows(const QModelIndex &sourceParent, int sourceFirst, int sourceLast, const QModelIndex &destinationParent, int destinationChild)
{
@@ -2709,29 +2767,35 @@ void QAbstractItemModel::endRemoveColumns()
When reimplementing a subclass, this method simplifies moving
entities in your model. This method is responsible for moving
persistent indexes in the model, which you would otherwise be
- required to do yourself.
-
- Using beginMoveColumns and endMoveColumns is an alternative to
- emitting layoutAboutToBeChanged and layoutChanged directly along
- with changePersistentIndexes. layoutAboutToBeChanged is emitted
- by this method for compatibility reasons.
+ required to do yourself. Using beginMoveRows and endMoveRows
+ is an alternative to emitting layoutAboutToBeChanged and
+ layoutChanged directly along with changePersistentIndexes.
+ layoutAboutToBeChanged is emitted by this method for compatibility
+ reasons.
The \a sourceParent index corresponds to the parent from which the
- columns are moved; \a sourceFirst and \a sourceLast are the column
- numbers of the columns to be moved. The \a destinationParent index
- corresponds to the parent into which the columns are moved. The \a
- destinationChild is the column to which the columns will be
- moved. That is, the index at column \a sourceFirst in \a
- sourceParent will become column \a destinationChild in \a
- destinationParent. Its siblings will be moved correspondingly.
-
- Note that \a sourceParent and \a destinationParent may be the
- same, in which case you must ensure that the \a destinationChild
- is not within the range of \a sourceFirst and \a sourceLast. You
- must also ensure that you do not attempt to move a row to one of
- its own chilren or ancestors. This method returns false if either
- condition is true, in which case you should abort your move
- operation.
+ columns are moved; \a sourceFirst and \a sourceLast are the first and last
+ column numbers of the columns to be moved. The \a destinationParent index
+ corresponds to the parent into which those columns are moved. The \a
+ destinationChild is the column to which the columns will be moved. That
+ is, the index at column \a sourceFirst in \a sourceParent will become
+ column \a destinationChild in \a destinationParent, followed by all other
+ columns up to \a sourceLast.
+
+ However, when moving columns down in the same parent (\a sourceParent
+ and \a destinationParent are equal), the columnss will be placed before the
+ \a destinationChild index. That is, if you wish to move columns 0 and 1 so
+ they will become columns 1 and 2, \a destinationChild should be 3. In this
+ case, the new index for the source column \c i (which is between
+ \a sourceFirst and \a sourceLast) is equal to
+ \c {(destinationChild-sourceLast-1+i)}.
+
+ Note that if \a sourceParent and \a destinationParent are the same,
+ you must ensure that the \a destinationChild is not within the range
+ of \a sourceFirst and \a sourceLast + 1. You must also ensure that you
+ do not attempt to move a column to one of its own children or ancestors.
+ This method returns false if either condition is true, in which case you
+ should abort your move operation.
\sa endMoveColumns()
@@ -2790,7 +2854,7 @@ void QAbstractItemModel::endMoveColumns()
\note Use beginResetModel() and endResetModel() instead whenever possible.
Use this method only if there is no way to call beginResetModel() before invalidating the model.
- Otherwise it could lead to unexcpected behaviour, especially when used with proxy models.
+ Otherwise it could lead to unexpected behaviour, especially when used with proxy models.
*/
void QAbstractItemModel::reset()
{
diff --git a/src/corelib/kernel/qcoreapplication.cpp b/src/corelib/kernel/qcoreapplication.cpp
index 609e6b33ff..0a5e06e71e 100644
--- a/src/corelib/kernel/qcoreapplication.cpp
+++ b/src/corelib/kernel/qcoreapplication.cpp
@@ -63,6 +63,7 @@
#include <qvarlengtharray.h>
#include <private/qfactoryloader_p.h>
#include <private/qfunctions_p.h>
+#include <private/qlocale_p.h>
#ifdef Q_OS_SYMBIAN
# include <exception>
@@ -521,6 +522,9 @@ QCoreApplication::QCoreApplication(int &argc, char **argv)
QFactoryLoader::refreshAll();
#endif
+#if defined(Q_OS_SYMBIAN) && !defined(QT_NO_SYSTEMLOCALE)
+ d_func()->symbianInit();
+#endif
}
// ### move to QCoreApplicationPrivate constructor?
@@ -597,6 +601,15 @@ void QCoreApplication::init()
qt_startup_hook();
}
+#if defined(Q_OS_SYMBIAN) && !defined(QT_NO_SYSTEMLOCALE)
+void QCoreApplicationPrivate::symbianInit()
+{
+ if (!environmentChangeNotifier)
+ environmentChangeNotifier.reset(new QEnvironmentChangeNotifier);
+}
+#endif
+
+
/*!
Destroys the QCoreApplication object.
*/
@@ -1060,7 +1073,7 @@ void QCoreApplication::exit(int returnCode)
The event must be allocated on the heap since the post event queue
will take ownership of the event and delete it once it has been
- posted. It is \e {not safe} to modify or delete the event after
+ posted. It is \e {not safe} to access the event after
it has been posted.
When control returns to the main event loop, all events that are
@@ -1091,7 +1104,7 @@ void QCoreApplication::postEvent(QObject *receiver, QEvent *event)
The event must be allocated on the heap since the post event queue
will take ownership of the event and delete it once it has been
- posted. It is \e {not safe} to modify or delete the event after
+ posted. It is \e {not safe} to access the event after
it has been posted.
When control returns to the main event loop, all events that are
diff --git a/src/corelib/kernel/qcoreapplication_p.h b/src/corelib/kernel/qcoreapplication_p.h
index 77188d3601..e066137731 100644
--- a/src/corelib/kernel/qcoreapplication_p.h
+++ b/src/corelib/kernel/qcoreapplication_p.h
@@ -65,6 +65,9 @@ QT_BEGIN_NAMESPACE
typedef QList<QTranslator*> QTranslatorList;
+#if defined(Q_OS_SYMBIAN) && !defined(QT_NO_SYSTEMLOCALE)
+class QEnvironmentChangeNotifier;
+#endif
class QAbstractEventDispatcher;
class Q_CORE_EXPORT QCoreApplicationPrivate : public QObjectPrivate
@@ -113,6 +116,10 @@ public:
bool aboutToQuitEmitted;
QString cachedApplicationDirPath;
QString cachedApplicationFilePath;
+#if defined(Q_OS_SYMBIAN) && !defined(QT_NO_SYSTEMLOCALE)
+ QScopedPointer<QEnvironmentChangeNotifier> environmentChangeNotifier;
+ void symbianInit();
+#endif
static bool isTranslatorInstalled(QTranslator *translator);
diff --git a/src/corelib/kernel/qcoreevent.h b/src/corelib/kernel/qcoreevent.h
index a20d17160b..9d3513ae90 100644
--- a/src/corelib/kernel/qcoreevent.h
+++ b/src/corelib/kernel/qcoreevent.h
@@ -275,17 +275,19 @@ public:
TouchUpdate = 195,
TouchEnd = 196,
+#ifndef QT_NO_GESTURES
NativeGesture = 197, // Internal for platform gesture support
-
+#endif
RequestSoftwareInputPanel = 199,
CloseSoftwareInputPanel = 200,
UpdateSoftKeys = 201, // Internal for compressing soft key updates
WinIdChange = 203,
+#ifndef QT_NO_GESTURES
Gesture = 198,
GestureOverride = 202,
-
+#endif
// 512 reserved for Qt Jambi's MetaCall event
// 513 reserved for Qt Jambi's DeleteOnMainThread event
@@ -327,7 +329,9 @@ private:
friend class QGraphicsView;
friend class QGraphicsViewPrivate;
friend class QGraphicsScenePrivate;
+#ifndef QT_NO_GESTURES
friend class QGestureManager;
+#endif
};
class Q_CORE_EXPORT QTimerEvent : public QEvent
diff --git a/src/corelib/kernel/qeventdispatcher_glib.cpp b/src/corelib/kernel/qeventdispatcher_glib.cpp
index fd36be4450..9c1c827c43 100644
--- a/src/corelib/kernel/qeventdispatcher_glib.cpp
+++ b/src/corelib/kernel/qeventdispatcher_glib.cpp
@@ -246,6 +246,7 @@ struct GPostEventSource
GSource source;
QAtomicInt serialNumber;
int lastSerialNumber;
+ QEventDispatcherGlibPrivate *d;
};
static gboolean postEventSourcePrepare(GSource *s, gint *timeout)
@@ -274,6 +275,7 @@ static gboolean postEventSourceDispatch(GSource *s, GSourceFunc, gpointer)
GPostEventSource *source = reinterpret_cast<GPostEventSource *>(s);
source->lastSerialNumber = source->serialNumber;
QCoreApplication::sendPostedEvents();
+ source->d->runTimersOnceWithNormalPriority();
return true; // i dunno, george...
}
@@ -313,6 +315,7 @@ QEventDispatcherGlibPrivate::QEventDispatcherGlibPrivate(GMainContext *context)
postEventSource = reinterpret_cast<GPostEventSource *>(g_source_new(&postEventSourceFuncs,
sizeof(GPostEventSource)));
postEventSource->serialNumber = 1;
+ postEventSource->d = this;
g_source_set_can_recurse(&postEventSource->source, true);
g_source_attach(&postEventSource->source, mainContext);
diff --git a/src/corelib/kernel/qeventdispatcher_symbian.cpp b/src/corelib/kernel/qeventdispatcher_symbian.cpp
index a6d486e8ba..9d8ee5ae78 100644
--- a/src/corelib/kernel/qeventdispatcher_symbian.cpp
+++ b/src/corelib/kernel/qeventdispatcher_symbian.cpp
@@ -47,6 +47,8 @@
#include <unistd.h>
#include <errno.h>
+#include <net/if.h>
+
QT_BEGIN_NAMESPACE
#ifdef SYMBIAN_GRAPHICS_WSERV_QT_EFFECTS
@@ -98,25 +100,40 @@ static inline int qt_socket_select(int nfds, fd_set *readfds, fd_set *writefds,
class QSelectMutexGrabber
{
public:
- QSelectMutexGrabber(int fd, QMutex *mutex)
- : m_mutex(mutex)
+ QSelectMutexGrabber(int fd, QMutex *threadMutex, QMutex *selectCallMutex)
+ : m_threadMutex(threadMutex), m_selectCallMutex(selectCallMutex), bHasThreadLock(false)
{
- if (m_mutex->tryLock())
+ // see if selectThread is waiting m_waitCond
+ // if yes ... dont write to pipe
+ if (m_threadMutex->tryLock()) {
+ bHasThreadLock = true;
+ return;
+ }
+
+ // still check that SelectThread
+ // is in select call
+ if (m_selectCallMutex->tryLock()) {
+ m_selectCallMutex->unlock();
return;
+ }
char dummy = 0;
qt_pipe_write(fd, &dummy, 1);
- m_mutex->lock();
+ m_threadMutex->lock();
+ bHasThreadLock = true;
}
~QSelectMutexGrabber()
{
- m_mutex->unlock();
+ if(bHasThreadLock)
+ m_threadMutex->unlock();
}
private:
- QMutex *m_mutex;
+ QMutex *m_threadMutex;
+ QMutex *m_selectCallMutex;
+ bool bHasThreadLock;
};
/*
@@ -398,7 +415,12 @@ void QSelectThread::run()
int ret;
int savedSelectErrno;
- ret = qt_socket_select(maxfd, &readfds, &writefds, &exceptionfds, 0);
+ {
+ // helps fighting the race condition between
+ // selctthread and new socket requests (cancel, restart ...)
+ QMutexLocker locker(&m_selectCallMutex);
+ ret = qt_socket_select(maxfd, &readfds, &writefds, &exceptionfds, 0);
+ }
savedSelectErrno = errno;
char buffer;
@@ -462,9 +484,9 @@ void QSelectThread::run()
} // end for
// traversed all, so update
+ updateActivatedNotifiers(QSocketNotifier::Exception, &exceptionfds);
updateActivatedNotifiers(QSocketNotifier::Read, &readfds);
updateActivatedNotifiers(QSocketNotifier::Write, &writefds);
- updateActivatedNotifiers(QSocketNotifier::Exception, &exceptionfds);
break;
case EINTR: // Should never occur on Symbian, but this is future proof!
@@ -474,9 +496,9 @@ void QSelectThread::run()
break;
}
} else {
+ updateActivatedNotifiers(QSocketNotifier::Exception, &exceptionfds);
updateActivatedNotifiers(QSocketNotifier::Read, &readfds);
updateActivatedNotifiers(QSocketNotifier::Write, &writefds);
- updateActivatedNotifiers(QSocketNotifier::Exception, &exceptionfds);
}
m_waitCond.wait(&m_mutex);
@@ -493,7 +515,9 @@ void QSelectThread::requestSocketEvents ( QSocketNotifier *notifier, TRequestSta
start();
}
- QSelectMutexGrabber lock(m_pipeEnds[1], &m_mutex);
+ QMutexLocker locker(&m_grabberMutex);
+
+ QSelectMutexGrabber lock(m_pipeEnds[1], &m_mutex, &m_selectCallMutex);
Q_ASSERT(!m_AOStatuses.contains(notifier));
@@ -504,7 +528,9 @@ void QSelectThread::requestSocketEvents ( QSocketNotifier *notifier, TRequestSta
void QSelectThread::cancelSocketEvents ( QSocketNotifier *notifier )
{
- QSelectMutexGrabber lock(m_pipeEnds[1], &m_mutex);
+ QMutexLocker locker(&m_grabberMutex);
+
+ QSelectMutexGrabber lock(m_pipeEnds[1], &m_mutex, &m_selectCallMutex);
m_AOStatuses.remove(notifier);
@@ -513,7 +539,9 @@ void QSelectThread::cancelSocketEvents ( QSocketNotifier *notifier )
void QSelectThread::restart()
{
- QSelectMutexGrabber lock(m_pipeEnds[1], &m_mutex);
+ QMutexLocker locker(&m_grabberMutex);
+
+ QSelectMutexGrabber lock(m_pipeEnds[1], &m_mutex, &m_selectCallMutex);
m_waitCond.wakeAll();
}
@@ -569,13 +597,17 @@ void QSelectThread::updateActivatedNotifiers(QSocketNotifier::Type type, fd_set
* check if socket is in exception set
* then signal RequestComplete for it
*/
- qWarning("exception on %d [will close the socket handle - hack]", i.key()->socket());
+ qWarning("exception on %d [will do setdefaultif(0) - hack]", i.key()->socket());
// quick fix; there is a bug
// when doing read on socket
// errors not preoperly mapped
// after offline-ing the device
// on some devices we do get exception
- ::close(i.key()->socket());
+ // close all exiting sockets
+ // and reset default IAP
+ if(::setdefaultif(0) != KErrNone) // well we can't do much about it
+ qWarning("setdefaultif(0) failed");
+
toRemove.append(i.key());
TRequestStatus *status = i.value();
QEventDispatcherSymbian::RequestComplete(d->threadData->symbian_thread_handle, status, KErrNone);
@@ -1105,3 +1137,5 @@ void CQtActiveScheduler::Error(TInt aError) const
}
QT_END_NAMESPACE
+
+#include "moc_qeventdispatcher_symbian_p.cpp"
diff --git a/src/corelib/kernel/qeventdispatcher_symbian_p.h b/src/corelib/kernel/qeventdispatcher_symbian_p.h
index 05758cacd4..211ded4590 100644
--- a/src/corelib/kernel/qeventdispatcher_symbian_p.h
+++ b/src/corelib/kernel/qeventdispatcher_symbian_p.h
@@ -211,6 +211,26 @@ private:
QMutex m_mutex;
QWaitCondition m_waitCond;
bool m_quit;
+
+ // to protect when several
+ // requests like:
+ // requestSocketEvents
+ // cancelSocketEvents
+ // kick in the same time
+ // all will fight for m_mutex
+ //
+ // TODO: fix more elegantely
+ //
+ QMutex m_grabberMutex;
+
+ // this one will tell
+ // if selectthread is
+ // really in select call
+ // and will prevent
+ // writing to pipe that
+ // causes later in locking
+ // of the thread in waitcond
+ QMutex m_selectCallMutex;
};
class Q_CORE_EXPORT CQtActiveScheduler : public CActiveScheduler
@@ -221,6 +241,7 @@ public: // from CActiveScheduler
class Q_CORE_EXPORT QEventDispatcherSymbian : public QAbstractEventDispatcher
{
+ Q_OBJECT
Q_DECLARE_PRIVATE(QAbstractEventDispatcher)
public:
diff --git a/src/corelib/kernel/qeventdispatcher_win.cpp b/src/corelib/kernel/qeventdispatcher_win.cpp
index 135ec30347..cede8102e6 100644
--- a/src/corelib/kernel/qeventdispatcher_win.cpp
+++ b/src/corelib/kernel/qeventdispatcher_win.cpp
@@ -71,10 +71,12 @@ extern uint qGlobalPostedEventsCount();
#ifndef WM_TOUCH
# define WM_TOUCH 0x0240
#endif
+#ifndef QT_NO_GESTURES
#ifndef WM_GESTURE
# define WM_GESTURE 0x0119
# define WM_GESTURENOTIFY 0x011A
#endif
+#endif // QT_NO_GESTURES
enum {
WM_QT_SOCKETNOTIFIER = WM_USER,
@@ -738,8 +740,10 @@ bool QEventDispatcherWin32::processEvents(QEventLoop::ProcessEventsFlags flags)
|| msg.message == WM_MOUSEWHEEL
|| msg.message == WM_MOUSEHWHEEL
|| msg.message == WM_TOUCH
+#ifndef QT_NO_GESTURES
|| msg.message == WM_GESTURE
|| msg.message == WM_GESTURENOTIFY
+#endif
|| msg.message == WM_CLOSE)) {
// queue user input events for later processing
haveMessage = false;
diff --git a/src/corelib/kernel/qeventloop.cpp b/src/corelib/kernel/qeventloop.cpp
index 628afa7d9e..c19f718526 100644
--- a/src/corelib/kernel/qeventloop.cpp
+++ b/src/corelib/kernel/qeventloop.cpp
@@ -43,7 +43,7 @@
#include "qabstracteventdispatcher.h"
#include "qcoreapplication.h"
-#include "qdatetime.h"
+#include "qelapsedtimer.h"
#include "qobject_p.h"
#include <private/qthread_p.h>
@@ -247,7 +247,7 @@ void QEventLoop::processEvents(ProcessEventsFlags flags, int maxTime)
if (!d->threadData->eventDispatcher)
return;
- QTime start;
+ QElapsedTimer start;
start.start();
if (flags & DeferredDeletion)
QCoreApplication::sendPostedEvents(0, QEvent::DeferredDelete);
diff --git a/src/corelib/kernel/qfunctions_wince.cpp b/src/corelib/kernel/qfunctions_wince.cpp
index 8ad61260e2..e58feb303f 100644
--- a/src/corelib/kernel/qfunctions_wince.cpp
+++ b/src/corelib/kernel/qfunctions_wince.cpp
@@ -352,16 +352,18 @@ void *qt_wince_bsearch(const void *key,
size_t low = 0;
size_t high = num - 1;
while (low <= high) {
- unsigned int mid = ((unsigned) (low + high)) >> 1;
+ size_t mid = (low + high) >> 1;
int c = compare(key, (char*)base + mid * size);
- if (c < 0)
+ if (c < 0) {
+ if (!mid)
+ break;
high = mid - 1;
- else if (c > 0)
+ } else if (c > 0)
low = mid + 1;
else
return (char*) base + mid * size;
}
- return (NULL);
+ return 0;
}
void *lfind(const void* key, const void* base, size_t* elements, size_t size,
diff --git a/src/corelib/kernel/qmetaobject.cpp b/src/corelib/kernel/qmetaobject.cpp
index 4ad78fdd05..79a38cd1c1 100644
--- a/src/corelib/kernel/qmetaobject.cpp
+++ b/src/corelib/kernel/qmetaobject.cpp
@@ -1454,6 +1454,11 @@ QMetaMethod::MethodType QMetaMethod::methodType() const
If the "compute" slot does not take exactly one QString, one int
and one double in the specified order, the call will fail.
+ \warning this method will not test the validity of the arguments: \a object
+ must be an instance of the class of the QMetaObject of which this QMetaMethod
+ has been constructed with. The arguments must have the same type as the ones
+ expected by the method, else, the behaviour is undefined.
+
\sa Q_ARG(), Q_RETURN_ARG(), qRegisterMetaType(), QMetaObject::invokeMethod()
*/
bool QMetaMethod::invoke(QObject *object,
@@ -1473,6 +1478,8 @@ bool QMetaMethod::invoke(QObject *object,
if (!object || !mobj)
return false;
+ Q_ASSERT(mobj->cast(object));
+
// check return type
if (returnValue.data()) {
const char *retType = typeName();
diff --git a/src/corelib/kernel/qmetatype.cpp b/src/corelib/kernel/qmetatype.cpp
index ce9ed58e29..6ebaaa36dc 100644
--- a/src/corelib/kernel/qmetatype.cpp
+++ b/src/corelib/kernel/qmetatype.cpp
@@ -378,6 +378,8 @@ void QMetaType::registerStreamOperators(const char *typeName, SaveOperator saveO
void QMetaType::registerStreamOperators(int idx, SaveOperator saveOp,
LoadOperator loadOp)
{
+ if (idx < User)
+ return; //builtin types should not be registered;
QVector<QCustomTypeInfo> *ct = customTypes();
if (!ct)
return;
diff --git a/src/corelib/kernel/qobject.cpp b/src/corelib/kernel/qobject.cpp
index 6a6db515b9..8330e474a9 100644
--- a/src/corelib/kernel/qobject.cpp
+++ b/src/corelib/kernel/qobject.cpp
@@ -542,7 +542,7 @@ int QMetaCallEvent::placeMetaCall(QObject *object)
\reentrant
- QObject is the heart of the \l{Qt object model}. The central
+ QObject is the heart of the Qt \l{Object Model}. The central
feature in this model is a very powerful mechanism for seamless
object communication called \l{signals and slots}. You can
connect a signal to a slot with connect() and destroy the
@@ -551,13 +551,13 @@ int QMetaCallEvent::placeMetaCall(QObject *object)
protected functions connectNotify() and disconnectNotify() make
it possible to track connections.
- QObjects organize themselves in \l {Object Trees and Object
- Ownership} {object trees}. When you create a QObject with another
- object as parent, the object will automatically add itself to the
- parent's children() list. The parent takes ownership of the
- object; i.e., it will automatically delete its children in its
- destructor. You can look for an object by name and optionally type
- using findChild() or findChildren().
+ QObjects organize themselves in \l {Object Trees & Ownership}
+ {object trees}. When you create a QObject with another object as
+ parent, the object will automatically add itself to the parent's
+ children() list. The parent takes ownership of the object; i.e.,
+ it will automatically delete its children in its destructor. You
+ can look for an object by name and optionally type using
+ findChild() or findChildren().
Every object has an objectName() and its class name can be found
via the corresponding metaObject() (see QMetaObject::className()).
@@ -609,7 +609,7 @@ int QMetaCallEvent::placeMetaCall(QObject *object)
Qt classes derived from QObject (direct or indirect) use this
macro to declare their copy constructor and assignment operator to
be private. The reasoning is found in the discussion on
- \l{Identity vs Value} {Identity vs Value} on the \l{Qt Object
+ \l{Identity vs Value} {Identity vs Value} on the Qt \l{Object
Model} page.
The main consequence is that you should use pointers to QObject
@@ -656,7 +656,7 @@ int QMetaCallEvent::placeMetaCall(QObject *object)
\l{Writing Source Code for Translation} document.
\sa QMetaObject, QPointer, QObjectCleanupHandler, Q_DISABLE_COPY()
- \sa {Object Trees and Object Ownership}
+ \sa {Object Trees & Ownership}
*/
/*!
diff --git a/src/corelib/kernel/qtranslator.cpp b/src/corelib/kernel/qtranslator.cpp
index ca54c6cd8c..1321b14356 100644
--- a/src/corelib/kernel/qtranslator.cpp
+++ b/src/corelib/kernel/qtranslator.cpp
@@ -56,7 +56,7 @@
#include "qhash.h"
#include "qtranslator_p.h"
-#if defined(Q_OS_UNIX)
+#if defined(Q_OS_UNIX) && !defined(Q_OS_SYMBIAN)
#define QT_USE_MMAP
#include "private/qcore_unix_p.h"
#endif
diff --git a/src/corelib/thread/qreadwritelock.cpp b/src/corelib/thread/qreadwritelock.cpp
index bd07a9765a..1a9eb0b241 100644
--- a/src/corelib/thread/qreadwritelock.cpp
+++ b/src/corelib/thread/qreadwritelock.cpp
@@ -252,7 +252,7 @@ bool QReadWriteLock::tryLockForRead(int timeout)
while (d->accessCount < 0 || d->waitingWriters) {
++d->waitingReaders;
- bool success = d->readerWait.wait(&d->mutex, timeout < 0 ? ULONG_MAX : timeout);
+ bool success = d->readerWait.wait(&d->mutex, timeout < 0 ? ULONG_MAX : ulong(timeout));
--d->waitingReaders;
if (!success)
return false;
@@ -374,7 +374,7 @@ bool QReadWriteLock::tryLockForWrite(int timeout)
while (d->accessCount != 0) {
++d->waitingWriters;
- bool success = d->writerWait.wait(&d->mutex, timeout < 0 ? ULONG_MAX : timeout);
+ bool success = d->writerWait.wait(&d->mutex, timeout < 0 ? ULONG_MAX : ulong(timeout));
--d->waitingWriters;
if (!success)
diff --git a/src/corelib/thread/qwaitcondition_unix.cpp b/src/corelib/thread/qwaitcondition_unix.cpp
index 4a05dd8b7a..b371b0e29b 100644
--- a/src/corelib/thread/qwaitcondition_unix.cpp
+++ b/src/corelib/thread/qwaitcondition_unix.cpp
@@ -63,7 +63,8 @@ static void report_error(int code, const char *where, const char *what)
-struct QWaitConditionPrivate {
+class QWaitConditionPrivate {
+public:
pthread_mutex_t mutex;
pthread_cond_t cond;
int waiters;
diff --git a/src/corelib/tools/qbytearray.cpp b/src/corelib/tools/qbytearray.cpp
index 29a726388f..05d38f6727 100644
--- a/src/corelib/tools/qbytearray.cpp
+++ b/src/corelib/tools/qbytearray.cpp
@@ -2681,7 +2681,7 @@ void QByteArray::clear()
Writes byte array \a ba to the stream \a out and returns a reference
to the stream.
- \sa {Format of the QDataStream operators}
+ \sa {Serializing Qt Data Types}
*/
QDataStream &operator<<(QDataStream &out, const QByteArray &ba)
@@ -2698,7 +2698,7 @@ QDataStream &operator<<(QDataStream &out, const QByteArray &ba)
Reads a byte array into \a ba from the stream \a in and returns a
reference to the stream.
- \sa {Format of the QDataStream operators}
+ \sa {Serializing Qt Data Types}
*/
QDataStream &operator>>(QDataStream &in, QByteArray &ba)
diff --git a/src/corelib/tools/qchar.cpp b/src/corelib/tools/qchar.cpp
index 67ea00d063..ed0af4ec33 100644
--- a/src/corelib/tools/qchar.cpp
+++ b/src/corelib/tools/qchar.cpp
@@ -653,14 +653,41 @@ bool QChar::isSymbol() const
\fn bool QChar::isHighSurrogate() const
Returns true if the QChar is the high part of a utf16 surrogate
- (ie. if its code point is between 0xd800 and 0xdbff).
+ (ie. if its code point is between 0xd800 and 0xdbff, inclusive).
*/
/*!
\fn bool QChar::isLowSurrogate() const
Returns true if the QChar is the low part of a utf16 surrogate
- (ie. if its code point is between 0xdc00 and 0xdfff).
+ (ie. if its code point is between 0xdc00 and 0xdfff, inclusive).
+*/
+
+/*!
+ \fn static bool QChar::isHighSurrogate(uint ucs4)
+ \since 4.7
+
+ Returns true if the UCS-4-encoded character specified by \a ucs4
+ is the high part of a utf16 surrogate
+ (ie. if its code point is between 0xd800 and 0xdbff, inclusive).
+*/
+
+/*!
+ \fn static bool QChar::isLowSurrogate(uint ucs4)
+ \since 4.7
+
+ Returns true if the UCS-4-encoded character specified by \a ucs4
+ is the high part of a utf16 surrogate
+ (ie. if its code point is between 0xdc00 and 0xdfff, inclusive).
+*/
+
+/*!
+ \fn static bool QChar::requiresSurrogates(uint ucs4)
+ \since 4.7
+
+ Returns true if the UCS-4-encoded character specified by \a ucs4
+ can be splited to the high and low parts of a utf16 surrogate
+ (ie. if its code point is greater than or equals to 0x10000).
*/
/*!
@@ -1306,7 +1333,7 @@ QChar QChar::fromAscii(char c)
Writes the char \a chr to the stream \a out.
- \sa {Format of the QDataStream operators}
+ \sa {Serializing Qt Data Types}
*/
QDataStream &operator<<(QDataStream &out, const QChar &chr)
{
@@ -1319,7 +1346,7 @@ QDataStream &operator<<(QDataStream &out, const QChar &chr)
Reads a char from the stream \a in into char \a chr.
- \sa {Format of the QDataStream operators}
+ \sa {Serializing Qt Data Types}
*/
QDataStream &operator>>(QDataStream &in, QChar &chr)
{
@@ -1453,9 +1480,9 @@ static void decomposeHelper(QString *str, bool canonical, QChar::UnicodeVersion
if (!d || (canonical && tag != QChar::Canonical))
continue;
- s.replace(uc - utf16, ucs4 > 0x10000 ? 2 : 1, (const QChar *)d, length);
- // since the insert invalidates the pointers and we do decomposition recursive
int pos = uc - utf16;
+ s.replace(pos, QChar::requiresSurrogates(ucs4) ? 2 : 1, reinterpret_cast<const QChar *>(d), length);
+ // since the insert invalidates the pointers and we do decomposition recursive
utf16 = reinterpret_cast<unsigned short *>(s.data());
uc = utf16 + pos + length;
}
@@ -1540,46 +1567,52 @@ static void canonicalOrderHelper(QString *str, QChar::UnicodeVersion version, in
int p2 = pos+1;
uint u1 = s.at(pos).unicode();
if (QChar(u1).isHighSurrogate()) {
- ushort low = s.at(pos+1).unicode();
+ ushort low = s.at(p2).unicode();
if (QChar(low).isLowSurrogate()) {
- p2++;
u1 = QChar::surrogateToUcs4(u1, low);
if (p2 >= l)
break;
+ ++p2;
}
}
uint u2 = s.at(p2).unicode();
- if (QChar(u2).isHighSurrogate() && p2 < l-1) {
+ if (QChar(u2).isHighSurrogate() && p2 < l) {
ushort low = s.at(p2+1).unicode();
if (QChar(low).isLowSurrogate()) {
- p2++;
u2 = QChar::surrogateToUcs4(u2, low);
+ ++p2;
}
}
- int c2 = QChar::combiningClass(u2);
- if (QChar::unicodeVersion(u2) > version)
- c2 = 0;
-
+ ushort c2 = 0;
+ {
+ const QUnicodeTables::Properties *p = qGetProp(u2);
+ if ((QChar::UnicodeVersion)p->unicodeVersion <= version)
+ c2 = p->combiningClass;
+ }
if (c2 == 0) {
pos = p2+1;
continue;
}
- int c1 = QChar::combiningClass(u1);
- if (QChar::unicodeVersion(u1) > version)
- c1 = 0;
+
+ ushort c1 = 0;
+ {
+ const QUnicodeTables::Properties *p = qGetProp(u1);
+ if ((QChar::UnicodeVersion)p->unicodeVersion <= version)
+ c1 = p->combiningClass;
+ }
if (c1 > c2) {
QChar *uc = s.data();
int p = pos;
// exchange characters
- if (u2 < 0x10000) {
+ if (!QChar::requiresSurrogates(u2)) {
uc[p++] = u2;
} else {
uc[p++] = QChar::highSurrogate(u2);
uc[p++] = QChar::lowSurrogate(u2);
}
- if (u1 < 0x10000) {
+ if (!QChar::requiresSurrogates(u1)) {
uc[p++] = u1;
} else {
uc[p++] = QChar::highSurrogate(u1);
@@ -1591,7 +1624,7 @@ static void canonicalOrderHelper(QString *str, QChar::UnicodeVersion version, in
--pos;
} else {
++pos;
- if (u1 > 0x10000)
+ if (QChar::requiresSurrogates(u1))
++pos;
}
}
diff --git a/src/corelib/tools/qchar.h b/src/corelib/tools/qchar.h
index 1432c7f7d7..b9e7e01054 100644
--- a/src/corelib/tools/qchar.h
+++ b/src/corelib/tools/qchar.h
@@ -285,6 +285,15 @@ public:
inline void setCell(uchar cell);
inline void setRow(uchar row);
+ static inline bool isHighSurrogate(uint ucs4) {
+ return ((ucs4 & 0xfffffc00) == 0xd800);
+ }
+ static inline bool isLowSurrogate(uint ucs4) {
+ return ((ucs4 & 0xfffffc00) == 0xdc00);
+ }
+ static inline bool requiresSurrogates(uint ucs4) {
+ return (ucs4 >= 0x10000);
+ }
static inline uint surrogateToUcs4(ushort high, ushort low) {
return (uint(high)<<10) + low - 0x35fdc00;
}
@@ -349,11 +358,7 @@ private:
QChar(uchar c);
#endif
ushort ucs;
-}
-#if (defined(__arm__) || defined(__ARMEL__))
- Q_PACKED
-#endif
- ;
+};
Q_DECLARE_TYPEINFO(QChar, Q_MOVABLE_TYPE);
diff --git a/src/corelib/tools/qdatetime.cpp b/src/corelib/tools/qdatetime.cpp
index 9afcd804de..14b4a26b4a 100644
--- a/src/corelib/tools/qdatetime.cpp
+++ b/src/corelib/tools/qdatetime.cpp
@@ -1705,7 +1705,7 @@ int QTime::secsTo(const QTime &t) const
Note that the time will wrap if it passes midnight. See addSecs()
for an example.
- \sa addSecs(), msecsTo()
+ \sa addSecs(), msecsTo(), QDateTime::addMSecs()
*/
QTime QTime::addMSecs(int ms) const
@@ -1734,7 +1734,7 @@ QTime QTime::addMSecs(int ms) const
seconds in a day, the result is always between -86400000 and
86400000 ms.
- \sa secsTo(), addMSecs()
+ \sa secsTo(), addMSecs(), QDateTime::msecsTo()
*/
int QTime::msecsTo(const QTime &t) const
@@ -2042,10 +2042,11 @@ int QTime::elapsed() const
later.
You can increment (or decrement) a datetime by a given number of
- seconds using addSecs(), or days using addDays(). Similarly you can
- use addMonths() and addYears(). The daysTo() function returns the
- number of days between two datetimes, and secsTo() returns the
- number of seconds between two datetimes.
+ milliseconds using addMSecs(), seconds using addSecs(), or days
+ using addDays(). Similarly you can use addMonths() and addYears().
+ The daysTo() function returns the number of days between two datetimes,
+ secsTo() returns the number of seconds between two datetimes, and
+ msecsTo() returns the number of milliseconds between two datetimes.
QDateTime can store datetimes as \l{Qt::LocalTime}{local time} or
as \l{Qt::UTC}{UTC}. QDateTime::currentDateTime() returns a
@@ -2719,7 +2720,7 @@ QDateTime QDateTime::addSecs(int s) const
later than the datetime of this object (or earlier if \a msecs is
negative).
- \sa addSecs(), secsTo(), addDays(), addMonths(), addYears()
+ \sa addSecs(), msecsTo(), addDays(), addMonths(), addYears()
*/
QDateTime QDateTime::addMSecs(qint64 msecs) const
{
@@ -2731,7 +2732,7 @@ QDateTime QDateTime::addMSecs(qint64 msecs) const
datetime. If the \a other datetime is earlier than this datetime,
the value returned is negative.
- \sa addDays(), secsTo()
+ \sa addDays(), secsTo(), msecsTo()
*/
int QDateTime::daysTo(const QDateTime &other) const
@@ -2766,6 +2767,33 @@ int QDateTime::secsTo(const QDateTime &other) const
}
/*!
+ Returns the number of milliseconds from this datetime to the \a other
+ datetime. If the \a other datetime is earlier than this datetime,
+ the value returned is negative.
+
+ Before performing the comparison, the two datetimes are converted
+ to Qt::UTC to ensure that the result is correct if one of the two
+ datetimes has daylight saving time (DST) and the other doesn't.
+
+ \sa addMSecs(), daysTo(), QTime::msecsTo()
+*/
+
+qint64 QDateTime::msecsTo(const QDateTime &other) const
+{
+ QDate selfDate;
+ QDate otherDate;
+ QTime selfTime;
+ QTime otherTime;
+
+ d->getUTC(selfDate, selfTime);
+ other.d->getUTC(otherDate, otherTime);
+
+ return (static_cast<qint64>(selfDate.daysTo(otherDate)) * static_cast<qint64>(MSECS_PER_DAY))
+ + static_cast<qint64>(selfTime.msecsTo(otherTime));
+}
+
+
+/*!
\fn QDateTime QDateTime::toTimeSpec(Qt::TimeSpec specification) const
Returns a copy of this datetime configured to use the given time
@@ -3545,7 +3573,7 @@ void QDateTime::detach()
Writes the \a date to stream \a out.
- \sa {Format of the QDataStream operators}
+ \sa {Serializing Qt Data Types}
*/
QDataStream &operator<<(QDataStream &out, const QDate &date)
@@ -3558,7 +3586,7 @@ QDataStream &operator<<(QDataStream &out, const QDate &date)
Reads a date from stream \a in into the \a date.
- \sa {Format of the QDataStream operators}
+ \sa {Serializing Qt Data Types}
*/
QDataStream &operator>>(QDataStream &in, QDate &date)
@@ -3574,7 +3602,7 @@ QDataStream &operator>>(QDataStream &in, QDate &date)
Writes \a time to stream \a out.
- \sa {Format of the QDataStream operators}
+ \sa {Serializing Qt Data Types}
*/
QDataStream &operator<<(QDataStream &out, const QTime &time)
@@ -3587,7 +3615,7 @@ QDataStream &operator<<(QDataStream &out, const QTime &time)
Reads a time from stream \a in into the given \a time.
- \sa {Format of the QDataStream operators}
+ \sa {Serializing Qt Data Types}
*/
QDataStream &operator>>(QDataStream &in, QTime &time)
@@ -3603,7 +3631,7 @@ QDataStream &operator>>(QDataStream &in, QTime &time)
Writes \a dateTime to the \a out stream.
- \sa {Format of the QDataStream operators}
+ \sa {Serializing Qt Data Types}
*/
QDataStream &operator<<(QDataStream &out, const QDateTime &dateTime)
{
@@ -3618,7 +3646,7 @@ QDataStream &operator<<(QDataStream &out, const QDateTime &dateTime)
Reads a datetime from the stream \a in into \a dateTime.
- \sa {Format of the QDataStream operators}
+ \sa {Serializing Qt Data Types}
*/
QDataStream &operator>>(QDataStream &in, QDateTime &dateTime)
diff --git a/src/corelib/tools/qdatetime.h b/src/corelib/tools/qdatetime.h
index f445f1c16c..2466aeb47d 100644
--- a/src/corelib/tools/qdatetime.h
+++ b/src/corelib/tools/qdatetime.h
@@ -251,6 +251,7 @@ public:
inline QDateTime toUTC() const { return toTimeSpec(Qt::UTC); }
int daysTo(const QDateTime &) const;
int secsTo(const QDateTime &) const;
+ qint64 msecsTo(const QDateTime &) const;
bool operator==(const QDateTime &other) const;
inline bool operator!=(const QDateTime &other) const { return !(*this == other); }
diff --git a/src/corelib/tools/qeasingcurve.cpp b/src/corelib/tools/qeasingcurve.cpp
index 8fab963152..1734b03853 100644
--- a/src/corelib/tools/qeasingcurve.cpp
+++ b/src/corelib/tools/qeasingcurve.cpp
@@ -859,7 +859,7 @@ QDebug operator<<(QDebug debug, const QEasingCurve &item)
Writes the given \a easing curve to the given \a stream and returns a
reference to the stream.
- \sa {Format of the QDataStream Operators}
+ \sa {Serializing Qt Data Types}
*/
QDataStream &operator<<(QDataStream &stream, const QEasingCurve &easing)
@@ -884,7 +884,7 @@ QDataStream &operator<<(QDataStream &stream, const QEasingCurve &easing)
Reads an easing curve from the given \a stream into the given \a
easing curve and returns a reference to the stream.
- \sa {Format of the QDataStream Operators}
+ \sa {Serializing Qt Data Types}
*/
QDataStream &operator>>(QDataStream &stream, QEasingCurve &easing)
diff --git a/src/corelib/tools/qelapsedtimer.cpp b/src/corelib/tools/qelapsedtimer.cpp
index 28dfc235cf..cb5e701af8 100644
--- a/src/corelib/tools/qelapsedtimer.cpp
+++ b/src/corelib/tools/qelapsedtimer.cpp
@@ -137,7 +137,7 @@ QT_BEGIN_NAMESPACE
used.
\value SystemTime The human-readable system time. This clock is not monotonic.
- \value MonotonicClock The system's monotonic clock, usually found in Unix systems. This clock is not monotonic and does not overflow.
+ \value MonotonicClock The system's monotonic clock, usually found in Unix systems. This clock is monotonic and does not overflow.
\value TickCounter The system's tick counter, used on Windows and Symbian systems. This clock may overflow.
\value MachAbsoluteTime The Mach kernel's absolute time (Mac OS X). This clock is monotonic and does not overflow.
diff --git a/src/corelib/tools/qharfbuzz.cpp b/src/corelib/tools/qharfbuzz.cpp
index 1b6d334ee2..9166a1403d 100644
--- a/src/corelib/tools/qharfbuzz.cpp
+++ b/src/corelib/tools/qharfbuzz.cpp
@@ -102,45 +102,15 @@ HB_UChar16 HB_GetMirroredChar(HB_UChar16 ch)
return QChar::mirroredChar(ch);
}
-void *HB_Library_Resolve(const char *library, const char *symbol)
+void *HB_Library_Resolve(const char *library, int version, const char *symbol)
{
#ifdef QT_NO_LIBRARY
return 0;
#else
- return QLibrary::resolve(QLatin1String(library), symbol);
+ return QLibrary::resolve(QLatin1String(library), version, symbol);
#endif
}
-void *HB_TextCodecForMib(int mib)
-{
-#ifndef QT_NO_TEXTCODEC
- return QTextCodec::codecForMib(mib);
-#else
- return 0;
-#endif
-}
-
-char *HB_TextCodec_ConvertFromUnicode(void *codec, const HB_UChar16 *unicode, hb_uint32 length, hb_uint32 *outputLength)
-{
-#ifndef QT_NO_TEXTCODEC
- QByteArray data = reinterpret_cast<QTextCodec *>(codec)->fromUnicode((const QChar *)unicode, length);
- // ### suboptimal
- char *output = (char *)malloc(data.length() + 1);
- Q_CHECK_PTR(output);
- memcpy(output, data.constData(), data.length() + 1);
- if (outputLength)
- *outputLength = data.length();
- return output;
-#else
- return 0;
-#endif
-}
-
-void HB_TextCodec_FreeResult(char *string)
-{
- free(string);
-}
-
} // extern "C"
QT_BEGIN_NAMESPACE
diff --git a/src/corelib/tools/qhash.cpp b/src/corelib/tools/qhash.cpp
index 85a8b63115..2971c063c1 100644
--- a/src/corelib/tools/qhash.cpp
+++ b/src/corelib/tools/qhash.cpp
@@ -1666,7 +1666,7 @@ void QHashData::checkSanity()
This function requires the key and value types to implement \c
operator<<().
- \sa {Format of the QDataStream operators}
+ \sa {Serializing Qt Data Types}
*/
/*! \fn QDataStream &operator>>(QDataStream &in, QHash<Key, T> &hash)
@@ -1677,7 +1677,7 @@ void QHashData::checkSanity()
This function requires the key and value types to implement \c
operator>>().
- \sa {Format of the QDataStream operators}
+ \sa {Serializing Qt Data Types}
*/
/*! \class QMultiHash
diff --git a/src/corelib/tools/qhash.h b/src/corelib/tools/qhash.h
index 3374c80bd6..0777f069ec 100644
--- a/src/corelib/tools/qhash.h
+++ b/src/corelib/tools/qhash.h
@@ -931,7 +931,7 @@ public:
{ return QHash<Key, T>::insertMulti(key, value); }
inline QMultiHash &operator+=(const QMultiHash &other)
- { unite(other); return *this; }
+ { this->unite(other); return *this; }
inline QMultiHash operator+(const QMultiHash &other) const
{ QMultiHash result = *this; result += other; return result; }
@@ -1006,12 +1006,7 @@ Q_INLINE_TEMPLATE int QMultiHash<Key, T>::remove(const Key &key, const T &value)
typename QHash<Key, T>::iterator end(QHash<Key, T>::end());
while (i != end && i.key() == key) {
if (i.value() == value) {
-#if defined(Q_CC_RVCT)
- // RVCT has problems with scoping, apparently.
- i = QHash<Key, T>::erase(i);
-#else
- i = erase(i);
-#endif
+ i = this->erase(i);
++n;
} else {
++i;
diff --git a/src/corelib/tools/qline.cpp b/src/corelib/tools/qline.cpp
index 7275a969d6..babc1d8345 100644
--- a/src/corelib/tools/qline.cpp
+++ b/src/corelib/tools/qline.cpp
@@ -272,7 +272,7 @@ QDebug operator<<(QDebug d, const QLine &p)
Writes the given \a line to the given \a stream and returns a
reference to the stream.
- \sa {Format of the QDataStream Operators}
+ \sa {Serializing Qt Data Types}
*/
QDataStream &operator<<(QDataStream &stream, const QLine &line)
@@ -287,7 +287,7 @@ QDataStream &operator<<(QDataStream &stream, const QLine &line)
Reads a line from the given \a stream into the given \a line and
returns a reference to the stream.
- \sa {Format of the QDataStream Operators}
+ \sa {Serializing Qt Data Types}
*/
QDataStream &operator>>(QDataStream &stream, QLine &line)
@@ -834,7 +834,7 @@ QDebug operator<<(QDebug d, const QLineF &p)
Writes the given \a line to the given \a stream and returns a
reference to the stream.
- \sa {Format of the QDataStream Operators}
+ \sa {Serializing Qt Data Types}
*/
QDataStream &operator<<(QDataStream &stream, const QLineF &line)
@@ -849,7 +849,7 @@ QDataStream &operator<<(QDataStream &stream, const QLineF &line)
Reads a line from the given \a stream into the given \a line and
returns a reference to the stream.
- \sa {Format of the QDataStream Operators}
+ \sa {Serializing Qt Data Types}
*/
QDataStream &operator>>(QDataStream &stream, QLineF &line)
diff --git a/src/corelib/tools/qlocale.cpp b/src/corelib/tools/qlocale.cpp
index c3f67830ca..a51ee81023 100644
--- a/src/corelib/tools/qlocale.cpp
+++ b/src/corelib/tools/qlocale.cpp
@@ -129,6 +129,11 @@ inline bool isascii(int c)
}
#endif
+#if defined(Q_OS_SYMBIAN)
+void qt_symbianUpdateSystemPrivate();
+void qt_symbianInitSystemLocale();
+#endif
+
/******************************************************************************
** Helpers for accessing Qt locale database
*/
@@ -170,16 +175,17 @@ static QLocale::Language codeToLanguage(const QChar *code)
}
// Assumes that code is a
-// QChar code[2];
+// QChar code[3];
static QLocale::Country codeToCountry(const QChar *code)
{
ushort uc1 = code[0].unicode();
ushort uc2 = code[1].unicode();
+ ushort uc3 = code[2].unicode();
const unsigned char *c = country_code_list;
- for (; *c != 0; c += 2) {
- if (uc1 == c[0] && uc2 == c[1])
- return QLocale::Country((c - country_code_list)/2);
+ for (; *c != 0; c += 3) {
+ if (uc1 == c[0] && uc2 == c[1] && uc3 == c[2])
+ return QLocale::Country((c - country_code_list)/3);
}
return QLocale::AnyCountry;
@@ -207,10 +213,15 @@ static QString countryToCode(QLocale::Country country)
if (country == QLocale::AnyCountry)
return QString();
- QString code(2, Qt::Uninitialized);
- const unsigned char *c = country_code_list + 2*(uint(country));
+ const unsigned char *c = country_code_list + 3*(uint(country));
+
+ QString code(c[2] == 0 ? 2 : 3, Qt::Uninitialized);
+
code[0] = ushort(c[0]);
code[1] = ushort(c[1]);
+ if (c[2] != 0)
+ code[2] = ushort(c[2]);
+
return code;
}
@@ -246,7 +257,7 @@ static bool splitLocaleName(const QString &name, QChar *lang_begin, QChar *cntry
{
for (int i = 0; i < 3; ++i)
lang_begin[i] = 0;
- for (int i = 0; i < 2; ++i)
+ for (int i = 0; i < 3; ++i)
cntry_begin[i] = 0;
int l = name.length();
@@ -277,7 +288,7 @@ static bool splitLocaleName(const QString &name, QChar *lang_begin, QChar *cntry
break;
case 1:
// parsing country
- if (cntry - cntry_begin == 2) {
+ if (cntry - cntry_begin == 3) {
cntry_begin[0] = 0;
break;
}
@@ -301,7 +312,7 @@ void getLangAndCountry(const QString &name, QLocale::Language &lang, QLocale::Co
cntry = QLocale::AnyCountry;
QChar lang_code[3];
- QChar cntry_code[2];
+ QChar cntry_code[3];
if (!splitLocaleName(name, lang_code, cntry_code))
return;
@@ -419,7 +430,7 @@ QByteArray getWinLocaleName(LCID id = LOCALE_USER_DEFAULT)
if (id == LOCALE_USER_DEFAULT) {
result = envVarLocale();
QChar lang[3];
- QChar cntry[2];
+ QChar cntry[3];
if ( result == "C" || (!result.isEmpty()
&& splitLocaleName(QString::fromLocal8Bit(result), lang, cntry)) ) {
long id = 0;
@@ -743,6 +754,7 @@ struct WindowsToISOListElt {
char iso_name[6];
};
+/* NOTE: This array should be sorted by the first column! */
static const WindowsToISOListElt windows_to_iso_list[] = {
{ 0x0401, "ar_SA" },
{ 0x0402, "bg\0 " },
@@ -945,7 +957,7 @@ static QByteArray getMacLocaleName()
QByteArray result = envVarLocale();
QChar lang[3];
- QChar cntry[2];
+ QChar cntry[3];
if (result.isEmpty() || result != "C"
&& !splitLocaleName(QString::fromLocal8Bit(result), lang, cntry)) {
QCFType<CFLocaleRef> l = CFLocaleCopyCurrent();
@@ -1215,7 +1227,7 @@ QVariant QSystemLocale::query(QueryType type, QVariant in = QVariant()) const
case LanguageId:
case CountryId: {
QString preferredLanguage;
- QString preferredCountry;
+ QString preferredCountry(3, QChar()); // codeToCountry assumes QChar[3]
getMacPreferredLanguageAndCountry(&preferredLanguage, &preferredCountry);
QLocale::Language languageCode = (preferredLanguage.isEmpty() ? QLocale::C : codeToLanguage(preferredLanguage.data()));
QLocale::Country countryCode = (preferredCountry.isEmpty() ? QLocale::AnyCountry : codeToCountry(preferredCountry.data()));
@@ -1407,6 +1419,9 @@ static const QSystemLocale *systemLocale()
{
if (_systemLocale)
return _systemLocale;
+#if defined(Q_OS_SYMBIAN)
+ qt_symbianInitSystemLocale();
+#endif
return QSystemLocale_globalSystemLocale();
}
@@ -1417,6 +1432,10 @@ void QLocalePrivate::updateSystemPrivate()
system_lp = globalLocalePrivate();
*system_lp = *sys_locale->fallbackLocale().d();
+#if defined(Q_OS_SYMBIAN)
+ qt_symbianUpdateSystemPrivate();
+#endif
+
QVariant res = sys_locale->query(QSystemLocale::LanguageId, QVariant());
if (!res.isNull())
system_lp->m_language_id = res.toInt();
@@ -1570,7 +1589,7 @@ QDataStream &operator>>(QDataStream &ds, QLocale &l)
This constructor converts the locale name to a language/country
pair; it does not use the system locale database.
- QLocale's data is based on Common Locale Data Repository v1.8.0.
+ QLocale's data is based on Common Locale Data Repository v1.8.1.
The double-to-string and string-to-double conversion functions are
covered by the following licenses:
@@ -3459,6 +3478,25 @@ QLocale::MeasurementSystem QLocale::measurementSystem() const
}
/*!
+ \since 4.7
+
+ Returns the text direction of the language.
+*/
+Qt::LayoutDirection QLocale::textDirection() const
+{
+ Language lang = language();
+ if (lang == QLocale::Arabic ||
+ lang == QLocale::Hebrew ||
+ lang == QLocale::Persian ||
+ lang == QLocale::Urdu ||
+ lang == QLocale::Syriac)
+ return Qt::RightToLeft;
+
+ return Qt::LeftToRight;
+}
+
+
+/*!
\since 4.5
Returns the localized name of the "AM" suffix for times specified using
diff --git a/src/corelib/tools/qlocale.h b/src/corelib/tools/qlocale.h
index ac05c8685d..8b424bbc3a 100644
--- a/src/corelib/tools/qlocale.h
+++ b/src/corelib/tools/qlocale.h
@@ -586,7 +586,8 @@ public:
Serbia = 243,
SaintBarthelemy = 244,
SaintMartin = 245,
- LastCountry = SaintMartin
+ LatinAmericaAndTheCaribbean = 246,
+ LastCountry = LatinAmericaAndTheCaribbean
};
enum MeasurementSystem { MetricSystem, ImperialSystem };
@@ -665,6 +666,8 @@ public:
MeasurementSystem measurementSystem() const;
+ Qt::LayoutDirection textDirection() const;
+
inline bool operator==(const QLocale &other) const;
inline bool operator!=(const QLocale &other) const;
@@ -684,11 +687,7 @@ public:
struct Data {
quint16 index;
quint16 numberOptions;
- }
-#if (defined(__arm__) || defined(__ARMEL__))
- Q_PACKED
-#endif
- ;
+ };
private:
friend struct QLocalePrivate;
// ### We now use this field to pack an index into locale_data and NumberOptions.
diff --git a/src/corelib/tools/qlocale_data_p.h b/src/corelib/tools/qlocale_data_p.h
index 13e95f7e71..5f4a9c2d41 100644
--- a/src/corelib/tools/qlocale_data_p.h
+++ b/src/corelib/tools/qlocale_data_p.h
@@ -73,8 +73,8 @@ static const int ImperialMeasurementSystemsCount =
sizeof(ImperialMeasurementSystems)/sizeof(ImperialMeasurementSystems[0]);
/*
- This part of the file was generated on 2010-03-19 from the
- Common Locale Data Repository v1.8.0
+ This part of the file was generated on 2010-05-19 from the
+ Common Locale Data Repository v1.8.1
http://www.unicode.org/cldr/
@@ -197,108 +197,108 @@ static const quint16 locale_index[] = {
189, // Somali
193, // Spanish
0, // Sundanese
- 214, // Swahili
- 216, // Swedish
+ 215, // Swahili
+ 217, // Swedish
0, // Tagalog
- 218, // Tajik
- 219, // Tamil
- 221, // Tatar
- 222, // Telugu
- 223, // Thai
- 224, // Tibetan
- 226, // Tigrinya
- 228, // Tonga
- 229, // Tsonga
- 230, // Turkish
+ 219, // Tajik
+ 220, // Tamil
+ 222, // Tatar
+ 223, // Telugu
+ 224, // Thai
+ 225, // Tibetan
+ 227, // Tigrinya
+ 229, // Tonga
+ 230, // Tsonga
+ 231, // Turkish
0, // Turkmen
0, // Twi
- 231, // Uigur
- 232, // Ukrainian
- 233, // Urdu
- 235, // Uzbek
- 237, // Vietnamese
+ 232, // Uigur
+ 233, // Ukrainian
+ 234, // Urdu
+ 236, // Uzbek
+ 238, // Vietnamese
0, // Volapuk
- 238, // Welsh
- 239, // Wolof
- 240, // Xhosa
+ 239, // Welsh
+ 240, // Wolof
+ 241, // Xhosa
0, // Yiddish
- 241, // Yoruba
+ 242, // Yoruba
0, // Zhuang
- 242, // Zulu
- 243, // Nynorsk
- 244, // Bosnian
- 245, // Divehi
- 246, // Manx
- 247, // Cornish
- 248, // Akan
- 249, // Konkani
- 250, // Ga
- 251, // Igbo
- 252, // Kamba
- 253, // Syriac
- 254, // Blin
- 255, // Geez
- 257, // Koro
- 258, // Sidamo
- 259, // Atsam
- 260, // Tigre
- 261, // Jju
- 262, // Friulian
- 263, // Venda
- 264, // Ewe
- 266, // Walamo
- 267, // Hawaiian
- 268, // Tyap
- 269, // Chewa
- 270, // Filipino
- 271, // Swiss German
- 272, // Sichuan Yi
- 273, // Kpelle
- 275, // Low German
- 276, // South Ndebele
- 277, // Northern Sotho
- 278, // Northern Sami
- 280, // Taroko
- 281, // Gusii
- 282, // Taita
- 283, // Fulah
- 284, // Kikuyu
- 285, // Samburu
- 286, // Sena
- 287, // North Ndebele
- 288, // Rombo
- 289, // Tachelhit
- 290, // Kabyle
- 291, // Nyankole
- 292, // Bena
- 293, // Vunjo
- 294, // Bambara
- 295, // Embu
- 296, // Cherokee
- 297, // Morisyen
- 298, // Makonde
- 299, // Langi
- 300, // Ganda
- 301, // Bemba
- 302, // Kabuverdianu
- 303, // Meru
- 304, // Kalenjin
- 305, // Nama
- 306, // Machame
- 307, // Colognian
- 308, // Masai
- 310, // Soga
- 311, // Luyia
- 312, // Asu
- 313, // Teso
- 315, // Saho
- 316, // Koyra Chiini
- 317, // Rwa
- 318, // Luo
- 319, // Chiga
- 320, // Central Morocco Tamazight
- 321, // Koyraboro Senni
- 322, // Shambala
+ 243, // Zulu
+ 244, // Nynorsk
+ 245, // Bosnian
+ 246, // Divehi
+ 247, // Manx
+ 248, // Cornish
+ 249, // Akan
+ 250, // Konkani
+ 251, // Ga
+ 252, // Igbo
+ 253, // Kamba
+ 254, // Syriac
+ 255, // Blin
+ 256, // Geez
+ 258, // Koro
+ 259, // Sidamo
+ 260, // Atsam
+ 261, // Tigre
+ 262, // Jju
+ 263, // Friulian
+ 264, // Venda
+ 265, // Ewe
+ 267, // Walamo
+ 268, // Hawaiian
+ 269, // Tyap
+ 270, // Chewa
+ 271, // Filipino
+ 272, // Swiss German
+ 273, // Sichuan Yi
+ 274, // Kpelle
+ 276, // Low German
+ 277, // South Ndebele
+ 278, // Northern Sotho
+ 279, // Northern Sami
+ 281, // Taroko
+ 282, // Gusii
+ 283, // Taita
+ 284, // Fulah
+ 285, // Kikuyu
+ 286, // Samburu
+ 287, // Sena
+ 288, // North Ndebele
+ 289, // Rombo
+ 290, // Tachelhit
+ 291, // Kabyle
+ 292, // Nyankole
+ 293, // Bena
+ 294, // Vunjo
+ 295, // Bambara
+ 296, // Embu
+ 297, // Cherokee
+ 298, // Morisyen
+ 299, // Makonde
+ 300, // Langi
+ 301, // Ganda
+ 302, // Bemba
+ 303, // Kabuverdianu
+ 304, // Meru
+ 305, // Kalenjin
+ 306, // Nama
+ 307, // Machame
+ 308, // Colognian
+ 309, // Masai
+ 311, // Soga
+ 312, // Luyia
+ 313, // Asu
+ 314, // Teso
+ 316, // Saho
+ 317, // Koyra Chiini
+ 318, // Rwa
+ 319, // Luo
+ 320, // Chiga
+ 321, // Central Morocco Tamazight
+ 322, // Koyraboro Senni
+ 323, // Shambala
0 // trailing 0
};
@@ -315,7 +315,7 @@ static const QLocalePrivate locale_data[] = {
{ 6, 2, 44, 46, 59, 37, 48, 45, 43, 101, 115,8 , 123,18 , 42,7 , 49,12 , 776,48 , 824,78 , 902,24 , 803,48 , 851,78 , 929,24 , 383,28 , 411,58 , 469,14 , 383,28 , 411,58 , 469,14 , 7,2 , 7,2 }, // Albanian/Albania
{ 7, 69, 46, 44, 59, 37, 48, 45, 43, 101, 141,10 , 10,17 , 18,7 , 25,12 , 926,46 , 972,62 , 1034,24 , 953,46 , 999,62 , 1061,24 , 483,27 , 510,28 , 538,14 , 483,27 , 510,28 , 538,14 , 9,3 , 9,4 }, // Amharic/Ethiopia
{ 8, 186, 1643, 1644, 1563, 1642, 1632, 45, 43, 101, 151,10 , 161,18 , 18,7 , 61,12 , 1058,75 , 1058,75 , 1133,24 , 1085,75 , 1085,75 , 1160,24 , 552,52 , 604,52 , 656,14 , 552,52 , 604,52 , 656,14 , 12,1 , 13,1 }, // Arabic/SaudiArabia
- { 8, 3, 44, 46, 59, 37, 48, 45, 43, 101, 151,10 , 161,18 , 18,7 , 61,12 , 1058,75 , 1058,75 , 1133,24 , 1085,75 , 1085,75 , 1160,24 , 670,38 , 604,52 , 656,14 , 670,38 , 604,52 , 656,14 , 12,1 , 13,1 }, // Arabic/Algeria
+ { 8, 3, 44, 46, 59, 37, 48, 45, 43, 101, 179,8 , 161,18 , 18,7 , 61,12 , 1058,75 , 1058,75 , 1133,24 , 1085,75 , 1085,75 , 1160,24 , 670,38 , 604,52 , 656,14 , 670,38 , 604,52 , 656,14 , 12,1 , 13,1 }, // Arabic/Algeria
{ 8, 17, 1643, 1644, 1563, 1642, 1632, 45, 43, 101, 151,10 , 161,18 , 18,7 , 61,12 , 1058,75 , 1058,75 , 1133,24 , 1085,75 , 1085,75 , 1160,24 , 670,38 , 604,52 , 656,14 , 670,38 , 604,52 , 656,14 , 12,1 , 13,1 }, // Arabic/Bahrain
{ 8, 64, 1643, 1644, 1563, 1642, 1632, 45, 43, 101, 151,10 , 161,18 , 18,7 , 61,12 , 1058,75 , 1058,75 , 1133,24 , 1085,75 , 1085,75 , 1160,24 , 670,38 , 604,52 , 656,14 , 670,38 , 604,52 , 656,14 , 12,1 , 13,1 }, // Arabic/Egypt
{ 8, 103, 1643, 1644, 1563, 1642, 1632, 45, 43, 101, 151,10 , 161,18 , 18,7 , 61,12 , 1058,75 , 1058,75 , 1133,24 , 1085,75 , 1085,75 , 1160,24 , 670,38 , 604,52 , 656,14 , 670,38 , 604,52 , 656,14 , 12,1 , 13,1 }, // Arabic/Iraq
@@ -323,70 +323,70 @@ static const QLocalePrivate locale_data[] = {
{ 8, 115, 1643, 1644, 1563, 1642, 1632, 45, 43, 101, 151,10 , 161,18 , 18,7 , 61,12 , 1058,75 , 1058,75 , 1133,24 , 1085,75 , 1085,75 , 1160,24 , 670,38 , 604,52 , 656,14 , 670,38 , 604,52 , 656,14 , 12,1 , 13,1 }, // Arabic/Kuwait
{ 8, 119, 1643, 1644, 1563, 1642, 1632, 45, 43, 101, 151,10 , 161,18 , 18,7 , 61,12 , 1249,92 , 1249,92 , 1133,24 , 1276,92 , 1276,92 , 1160,24 , 552,52 , 604,52 , 656,14 , 552,52 , 604,52 , 656,14 , 12,1 , 13,1 }, // Arabic/Lebanon
{ 8, 122, 1643, 1644, 1563, 1642, 1632, 45, 43, 101, 151,10 , 161,18 , 18,7 , 61,12 , 1058,75 , 1058,75 , 1133,24 , 1085,75 , 1085,75 , 1160,24 , 670,38 , 604,52 , 656,14 , 670,38 , 604,52 , 656,14 , 12,1 , 13,1 }, // Arabic/LibyanArabJamahiriya
- { 8, 145, 44, 46, 59, 37, 48, 45, 43, 101, 151,10 , 161,18 , 18,7 , 61,12 , 1058,75 , 1058,75 , 1133,24 , 1085,75 , 1085,75 , 1160,24 , 670,38 , 604,52 , 656,14 , 670,38 , 604,52 , 656,14 , 12,1 , 13,1 }, // Arabic/Morocco
+ { 8, 145, 44, 46, 59, 37, 48, 45, 43, 101, 179,8 , 161,18 , 18,7 , 61,12 , 1058,75 , 1058,75 , 1133,24 , 1085,75 , 1085,75 , 1160,24 , 670,38 , 604,52 , 656,14 , 670,38 , 604,52 , 656,14 , 12,1 , 13,1 }, // Arabic/Morocco
{ 8, 162, 1643, 1644, 1563, 1642, 1632, 45, 43, 101, 151,10 , 161,18 , 18,7 , 61,12 , 1058,75 , 1058,75 , 1133,24 , 1085,75 , 1085,75 , 1160,24 , 670,38 , 604,52 , 656,14 , 670,38 , 604,52 , 656,14 , 12,1 , 13,1 }, // Arabic/Oman
{ 8, 175, 1643, 1644, 1563, 1642, 1632, 45, 43, 101, 151,10 , 161,18 , 18,7 , 61,12 , 1058,75 , 1058,75 , 1133,24 , 1085,75 , 1085,75 , 1160,24 , 552,52 , 604,52 , 656,14 , 552,52 , 604,52 , 656,14 , 12,1 , 13,1 }, // Arabic/Qatar
{ 8, 201, 1643, 1644, 1563, 1642, 1632, 45, 43, 101, 151,10 , 161,18 , 18,7 , 61,12 , 1058,75 , 1058,75 , 1133,24 , 1085,75 , 1085,75 , 1160,24 , 670,38 , 604,52 , 656,14 , 670,38 , 604,52 , 656,14 , 12,1 , 13,1 }, // Arabic/Sudan
{ 8, 207, 1643, 1644, 1563, 1642, 1632, 45, 43, 101, 151,10 , 161,18 , 18,7 , 61,12 , 1249,92 , 1249,92 , 1133,24 , 1276,92 , 1276,92 , 1160,24 , 552,52 , 604,52 , 656,14 , 552,52 , 604,52 , 656,14 , 12,1 , 13,1 }, // Arabic/SyrianArabRepublic
- { 8, 216, 44, 46, 59, 37, 48, 45, 43, 101, 151,10 , 161,18 , 18,7 , 61,12 , 1058,75 , 1058,75 , 1133,24 , 1085,75 , 1085,75 , 1160,24 , 552,52 , 604,52 , 656,14 , 552,52 , 604,52 , 656,14 , 12,1 , 13,1 }, // Arabic/Tunisia
+ { 8, 216, 44, 46, 59, 37, 48, 45, 43, 101, 179,8 , 161,18 , 18,7 , 61,12 , 1058,75 , 1058,75 , 1133,24 , 1085,75 , 1085,75 , 1160,24 , 552,52 , 604,52 , 656,14 , 552,52 , 604,52 , 656,14 , 12,1 , 13,1 }, // Arabic/Tunisia
{ 8, 223, 1643, 1644, 1563, 1642, 1632, 45, 43, 101, 151,10 , 161,18 , 18,7 , 61,12 , 1058,75 , 1058,75 , 1133,24 , 1085,75 , 1085,75 , 1160,24 , 670,38 , 604,52 , 656,14 , 670,38 , 604,52 , 656,14 , 12,1 , 13,1 }, // Arabic/UnitedArabEmirates
{ 8, 237, 1643, 1644, 1563, 1642, 1632, 45, 43, 101, 151,10 , 161,18 , 18,7 , 61,12 , 1058,75 , 1058,75 , 1133,24 , 1085,75 , 1085,75 , 1160,24 , 552,52 , 604,52 , 656,14 , 552,52 , 604,52 , 656,14 , 12,1 , 13,1 }, // Arabic/Yemen
- { 9, 11, 44, 46, 59, 37, 48, 45, 43, 101, 179,8 , 35,18 , 37,5 , 8,10 , 1341,48 , 1389,94 , 1483,27 , 1368,48 , 1416,94 , 134,27 , 708,28 , 736,62 , 798,14 , 708,28 , 736,62 , 798,14 , 13,3 , 14,3 }, // Armenian/Armenia
- { 10, 100, 46, 44, 59, 37, 48, 45, 43, 101, 187,8 , 195,18 , 73,8 , 81,12 , 1510,62 , 1572,88 , 1483,27 , 1510,62 , 1572,88 , 134,27 , 812,37 , 849,58 , 798,14 , 812,37 , 849,58 , 798,14 , 16,9 , 17,7 }, // Assamese/India
- { 12, 15, 44, 46, 59, 37, 48, 45, 43, 101, 213,8 , 221,19 , 37,5 , 8,10 , 1660,48 , 1708,77 , 1483,27 , 1660,48 , 1708,77 , 134,27 , 907,26 , 933,67 , 99,14 , 907,26 , 933,67 , 99,14 , 0,2 , 0,2 }, // Azerbaijani/Azerbaijan
- { 12, 102, 44, 46, 59, 37, 48, 45, 43, 101, 213,8 , 221,19 , 37,5 , 8,10 , 1660,48 , 1708,77 , 1483,27 , 1660,48 , 1708,77 , 134,27 , 907,26 , 933,67 , 99,14 , 907,26 , 933,67 , 99,14 , 0,2 , 0,2 }, // Azerbaijani/Iran
- { 14, 197, 44, 46, 59, 37, 48, 45, 43, 101, 72,10 , 240,31 , 37,5 , 8,10 , 1785,48 , 1833,93 , 1926,24 , 1785,48 , 1833,93 , 1926,24 , 1000,21 , 1021,68 , 798,14 , 1000,21 , 1021,68 , 798,14 , 0,2 , 0,2 }, // Basque/Spain
- { 15, 18, 46, 44, 59, 37, 2534, 45, 43, 101, 271,6 , 195,18 , 18,7 , 25,12 , 1950,90 , 1950,90 , 2040,33 , 1950,90 , 1950,90 , 2040,33 , 1089,37 , 1126,58 , 1184,18 , 1089,37 , 1126,58 , 1184,18 , 25,9 , 24,7 }, // Bengali/Bangladesh
- { 15, 100, 46, 44, 59, 37, 2534, 45, 43, 101, 271,6 , 195,18 , 18,7 , 25,12 , 1950,90 , 1950,90 , 2040,33 , 1950,90 , 1950,90 , 2040,33 , 1089,37 , 1126,58 , 1184,18 , 1089,37 , 1126,58 , 1184,18 , 25,9 , 24,7 }, // Bengali/India
- { 16, 25, 46, 44, 59, 37, 48, 45, 43, 101, 72,10 , 277,29 , 93,22 , 115,35 , 2073,75 , 2148,205 , 1483,27 , 2073,75 , 2148,205 , 134,27 , 1202,34 , 1236,79 , 798,14 , 1202,34 , 1236,79 , 798,14 , 0,2 , 0,2 }, // Bhutani/Bhutan
- { 19, 74, 46, 44, 59, 37, 48, 45, 43, 101, 72,10 , 306,18 , 37,5 , 8,10 , 1483,27 , 1483,27 , 1483,27 , 134,27 , 134,27 , 134,27 , 798,14 , 798,14 , 798,14 , 798,14 , 798,14 , 798,14 , 0,2 , 0,2 }, // Breton/France
- { 20, 33, 44, 160, 59, 37, 48, 45, 43, 101, 324,8 , 332,18 , 37,5 , 8,10 , 2353,59 , 2412,82 , 2494,24 , 2353,59 , 2412,82 , 2494,24 , 1315,21 , 1336,55 , 1391,14 , 1315,21 , 1336,55 , 1391,14 , 0,2 , 0,2 }, // Bulgarian/Bulgaria
- { 21, 147, 46, 44, 4170, 37, 4160, 45, 43, 101, 213,8 , 306,18 , 37,5 , 8,10 , 2518,43 , 2561,88 , 2649,24 , 2518,43 , 2561,88 , 2649,24 , 1405,25 , 1430,54 , 1484,14 , 1405,25 , 1430,54 , 1484,14 , 0,2 , 0,2 }, // Burmese/Myanmar
- { 22, 20, 44, 160, 59, 37, 48, 45, 43, 101, 350,6 , 10,17 , 150,5 , 155,10 , 2673,48 , 2721,99 , 2820,24 , 2673,48 , 2721,95 , 2816,24 , 1498,21 , 1519,56 , 1575,14 , 1498,21 , 1519,56 , 1575,14 , 34,10 , 31,13 }, // Byelorussian/Belarus
- { 23, 36, 44, 46, 59, 37, 48, 45, 43, 101, 356,8 , 364,30 , 165,4 , 169,26 , 2844,27 , 2871,71 , 1483,27 , 2840,27 , 2867,71 , 134,27 , 1589,19 , 1608,76 , 798,14 , 1589,19 , 1608,76 , 798,14 , 44,5 , 44,5 }, // Cambodian/Cambodia
- { 24, 197, 44, 46, 59, 37, 48, 45, 43, 101, 27,8 , 394,21 , 165,4 , 195,9 , 2942,60 , 3002,82 , 3084,24 , 2938,93 , 3031,115 , 3146,24 , 1684,21 , 1705,60 , 1765,14 , 1779,28 , 1807,60 , 1867,14 , 49,4 , 49,4 }, // Catalan/Spain
- { 25, 44, 46, 44, 59, 37, 48, 45, 43, 101, 415,6 , 421,13 , 204,6 , 210,11 , 3108,38 , 3108,38 , 3146,39 , 3170,39 , 3170,39 , 3170,39 , 1881,21 , 1902,28 , 1930,14 , 1881,21 , 1902,28 , 1930,14 , 0,2 , 0,2 }, // Chinese/China
- { 25, 97, 46, 44, 59, 37, 48, 45, 43, 101, 434,7 , 421,13 , 204,6 , 221,11 , 3108,38 , 3108,38 , 1483,27 , 3170,39 , 3170,39 , 134,27 , 1944,21 , 1902,28 , 1930,14 , 1944,21 , 1902,28 , 1930,14 , 0,2 , 0,2 }, // Chinese/HongKong
- { 25, 126, 46, 44, 59, 37, 48, 45, 43, 101, 434,7 , 441,15 , 204,6 , 221,11 , 3108,38 , 3108,38 , 1483,27 , 3170,39 , 3170,39 , 134,27 , 1944,21 , 1902,28 , 1930,14 , 1944,21 , 1902,28 , 1930,14 , 0,2 , 0,2 }, // Chinese/Macau
- { 25, 190, 46, 44, 59, 37, 48, 45, 43, 101, 27,8 , 421,13 , 232,7 , 210,11 , 3108,38 , 3108,38 , 3146,39 , 3170,39 , 3170,39 , 3170,39 , 1881,21 , 1902,28 , 1930,14 , 1881,21 , 1902,28 , 1930,14 , 0,2 , 0,2 }, // Chinese/Singapore
- { 25, 208, 46, 44, 59, 37, 48, 45, 43, 101, 456,6 , 421,13 , 204,6 , 221,11 , 3108,38 , 3108,38 , 1483,27 , 3170,39 , 3170,39 , 134,27 , 1944,21 , 1902,28 , 1930,14 , 1944,21 , 1902,28 , 1930,14 , 0,2 , 0,2 }, // Chinese/Taiwan
- { 27, 54, 44, 46, 59, 37, 48, 45, 43, 101, 462,13 , 475,19 , 37,5 , 8,10 , 3185,49 , 3234,94 , 3328,39 , 3209,49 , 3258,98 , 3356,39 , 1965,28 , 1993,58 , 2051,14 , 1965,28 , 1993,58 , 2051,14 , 0,2 , 0,2 }, // Croatian/Croatia
- { 28, 57, 44, 160, 59, 37, 48, 45, 43, 101, 350,6 , 494,18 , 165,4 , 195,9 , 3328,39 , 3367,82 , 3449,24 , 134,27 , 3395,84 , 3479,24 , 2065,21 , 2086,49 , 2135,14 , 2065,21 , 2086,49 , 2135,14 , 53,4 , 53,4 }, // Czech/CzechRepublic
- { 29, 58, 44, 46, 44, 37, 48, 45, 43, 101, 27,8 , 512,23 , 150,5 , 155,10 , 3473,48 , 3521,84 , 134,24 , 3503,59 , 3562,84 , 320,24 , 2149,28 , 2177,51 , 2228,14 , 2149,28 , 2177,51 , 2228,14 , 57,4 , 57,4 }, // Danish/Denmark
- { 30, 151, 44, 46, 59, 37, 48, 45, 43, 101, 535,8 , 99,16 , 37,5 , 8,10 , 3605,48 , 3653,88 , 134,24 , 3646,59 , 3705,88 , 320,24 , 2242,21 , 2263,59 , 2322,14 , 2242,21 , 2263,59 , 2322,14 , 0,2 , 0,2 }, // Dutch/Netherlands
- { 30, 21, 44, 46, 59, 37, 48, 45, 43, 101, 543,7 , 99,16 , 37,5 , 8,10 , 3605,48 , 3653,88 , 134,24 , 3646,59 , 3705,88 , 320,24 , 2242,21 , 2263,59 , 2322,14 , 2242,21 , 2263,59 , 2322,14 , 0,2 , 0,2 }, // Dutch/Belgium
- { 31, 225, 46, 44, 59, 37, 48, 45, 43, 101, 550,6 , 35,18 , 18,7 , 25,12 , 0,48 , 48,86 , 134,24 , 0,48 , 48,86 , 320,24 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 0,2 , 0,2 }, // English/UnitedStates
- { 31, 4, 46, 44, 59, 37, 48, 45, 43, 101, 550,6 , 35,18 , 18,7 , 25,12 , 0,48 , 48,86 , 134,24 , 0,48 , 48,86 , 320,24 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 0,2 , 0,2 }, // English/AmericanSamoa
- { 31, 13, 46, 44, 59, 37, 48, 45, 43, 101, 543,7 , 10,17 , 18,7 , 25,12 , 0,48 , 48,86 , 134,24 , 0,48 , 48,86 , 320,24 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 0,2 , 0,2 }, // English/Australia
+ { 9, 11, 44, 46, 59, 37, 48, 45, 43, 101, 187,8 , 35,18 , 37,5 , 8,10 , 1341,48 , 1389,94 , 1483,27 , 1368,48 , 1416,94 , 134,27 , 708,28 , 736,62 , 798,14 , 708,28 , 736,62 , 798,14 , 13,3 , 14,3 }, // Armenian/Armenia
+ { 10, 100, 46, 44, 59, 37, 48, 45, 43, 101, 195,8 , 203,18 , 73,8 , 81,12 , 1510,62 , 1572,88 , 1483,27 , 1510,62 , 1572,88 , 134,27 , 812,37 , 849,58 , 798,14 , 812,37 , 849,58 , 798,14 , 16,9 , 17,7 }, // Assamese/India
+ { 12, 15, 44, 46, 59, 37, 48, 45, 43, 101, 221,8 , 229,19 , 37,5 , 8,10 , 1660,48 , 1708,77 , 1483,27 , 1660,48 , 1708,77 , 134,27 , 907,26 , 933,67 , 99,14 , 907,26 , 933,67 , 99,14 , 0,2 , 0,2 }, // Azerbaijani/Azerbaijan
+ { 12, 102, 44, 46, 59, 37, 48, 45, 43, 101, 221,8 , 229,19 , 37,5 , 8,10 , 1660,48 , 1708,77 , 1483,27 , 1660,48 , 1708,77 , 134,27 , 907,26 , 933,67 , 99,14 , 907,26 , 933,67 , 99,14 , 0,2 , 0,2 }, // Azerbaijani/Iran
+ { 14, 197, 44, 46, 59, 37, 48, 45, 43, 101, 72,10 , 248,31 , 37,5 , 8,10 , 1785,48 , 1833,93 , 1926,24 , 1785,48 , 1833,93 , 1926,24 , 1000,21 , 1021,68 , 798,14 , 1000,21 , 1021,68 , 798,14 , 0,2 , 0,2 }, // Basque/Spain
+ { 15, 18, 46, 44, 59, 37, 2534, 45, 43, 101, 279,6 , 203,18 , 18,7 , 25,12 , 1950,90 , 1950,90 , 2040,33 , 1950,90 , 1950,90 , 2040,33 , 1089,37 , 1126,58 , 1184,18 , 1089,37 , 1126,58 , 1184,18 , 25,9 , 24,7 }, // Bengali/Bangladesh
+ { 15, 100, 46, 44, 59, 37, 2534, 45, 43, 101, 279,6 , 203,18 , 18,7 , 25,12 , 1950,90 , 1950,90 , 2040,33 , 1950,90 , 1950,90 , 2040,33 , 1089,37 , 1126,58 , 1184,18 , 1089,37 , 1126,58 , 1184,18 , 25,9 , 24,7 }, // Bengali/India
+ { 16, 25, 46, 44, 59, 37, 48, 45, 43, 101, 72,10 , 285,29 , 93,22 , 115,35 , 2073,75 , 2148,205 , 1483,27 , 2073,75 , 2148,205 , 134,27 , 1202,34 , 1236,79 , 798,14 , 1202,34 , 1236,79 , 798,14 , 0,2 , 0,2 }, // Bhutani/Bhutan
+ { 19, 74, 46, 44, 59, 37, 48, 45, 43, 101, 72,10 , 314,18 , 37,5 , 8,10 , 1483,27 , 1483,27 , 1483,27 , 134,27 , 134,27 , 134,27 , 798,14 , 798,14 , 798,14 , 798,14 , 798,14 , 798,14 , 0,2 , 0,2 }, // Breton/France
+ { 20, 33, 44, 160, 59, 37, 48, 45, 43, 101, 332,8 , 340,18 , 37,5 , 8,10 , 2353,59 , 2412,82 , 2494,24 , 2353,59 , 2412,82 , 2494,24 , 1315,21 , 1336,55 , 1391,14 , 1315,21 , 1336,55 , 1391,14 , 34,7 , 31,7 }, // Bulgarian/Bulgaria
+ { 21, 147, 46, 44, 4170, 37, 4160, 45, 43, 101, 221,8 , 314,18 , 37,5 , 8,10 , 2518,43 , 2561,88 , 2649,24 , 2518,43 , 2561,88 , 2649,24 , 1405,25 , 1430,54 , 1484,14 , 1405,25 , 1430,54 , 1484,14 , 0,2 , 0,2 }, // Burmese/Myanmar
+ { 22, 20, 44, 160, 59, 37, 48, 45, 43, 101, 358,6 , 10,17 , 150,5 , 155,10 , 2673,48 , 2721,99 , 2820,24 , 2673,48 , 2721,95 , 2816,24 , 1498,21 , 1519,56 , 1575,14 , 1498,21 , 1519,56 , 1575,14 , 41,10 , 38,13 }, // Byelorussian/Belarus
+ { 23, 36, 44, 46, 59, 37, 48, 45, 43, 101, 364,8 , 372,30 , 165,4 , 169,26 , 2844,27 , 2871,71 , 1483,27 , 2840,27 , 2867,71 , 134,27 , 1589,19 , 1608,76 , 798,14 , 1589,19 , 1608,76 , 798,14 , 51,5 , 51,5 }, // Cambodian/Cambodia
+ { 24, 197, 44, 46, 59, 37, 48, 45, 43, 101, 27,8 , 402,21 , 165,4 , 195,9 , 2942,60 , 3002,82 , 3084,24 , 2938,93 , 3031,115 , 3146,24 , 1684,21 , 1705,60 , 1765,14 , 1779,28 , 1807,60 , 1867,14 , 56,4 , 56,4 }, // Catalan/Spain
+ { 25, 44, 46, 44, 59, 37, 48, 45, 43, 101, 423,6 , 429,13 , 204,6 , 210,11 , 3108,38 , 3108,38 , 3146,39 , 3170,39 , 3170,39 , 3170,39 , 1881,21 , 1902,28 , 1930,14 , 1881,21 , 1902,28 , 1930,14 , 60,2 , 60,2 }, // Chinese/China
+ { 25, 97, 46, 44, 59, 37, 48, 45, 43, 101, 442,7 , 429,13 , 204,6 , 221,11 , 3108,38 , 3108,38 , 1483,27 , 3170,39 , 3170,39 , 134,27 , 1944,21 , 1902,28 , 1930,14 , 1944,21 , 1902,28 , 1930,14 , 60,2 , 60,2 }, // Chinese/HongKong
+ { 25, 126, 46, 44, 59, 37, 48, 45, 43, 101, 442,7 , 449,15 , 204,6 , 221,11 , 3108,38 , 3108,38 , 1483,27 , 3170,39 , 3170,39 , 134,27 , 1944,21 , 1902,28 , 1930,14 , 1944,21 , 1902,28 , 1930,14 , 60,2 , 60,2 }, // Chinese/Macau
+ { 25, 190, 46, 44, 59, 37, 48, 45, 43, 101, 27,8 , 429,13 , 232,7 , 210,11 , 3108,38 , 3108,38 , 3146,39 , 3170,39 , 3170,39 , 3170,39 , 1881,21 , 1902,28 , 1930,14 , 1881,21 , 1902,28 , 1930,14 , 60,2 , 60,2 }, // Chinese/Singapore
+ { 25, 208, 46, 44, 59, 37, 48, 45, 43, 101, 464,6 , 429,13 , 204,6 , 221,11 , 3108,38 , 3108,38 , 1483,27 , 3170,39 , 3170,39 , 134,27 , 1944,21 , 1902,28 , 1930,14 , 1944,21 , 1902,28 , 1930,14 , 60,2 , 60,2 }, // Chinese/Taiwan
+ { 27, 54, 44, 46, 59, 37, 48, 45, 43, 101, 470,13 , 483,19 , 37,5 , 8,10 , 3185,49 , 3234,94 , 3328,39 , 3209,49 , 3258,98 , 3356,39 , 1965,28 , 1993,58 , 2051,14 , 1965,28 , 1993,58 , 2051,14 , 0,2 , 0,2 }, // Croatian/Croatia
+ { 28, 57, 44, 160, 59, 37, 48, 45, 43, 101, 358,6 , 502,18 , 165,4 , 195,9 , 3328,39 , 3367,82 , 3449,24 , 134,27 , 3395,84 , 3479,24 , 2065,21 , 2086,49 , 2135,14 , 2065,21 , 2086,49 , 2135,14 , 62,4 , 62,4 }, // Czech/CzechRepublic
+ { 29, 58, 44, 46, 44, 37, 48, 45, 43, 101, 27,8 , 520,23 , 150,5 , 155,10 , 3473,48 , 3521,84 , 134,24 , 3503,59 , 3562,84 , 320,24 , 2149,28 , 2177,51 , 2228,14 , 2149,28 , 2177,51 , 2228,14 , 66,4 , 66,4 }, // Danish/Denmark
+ { 30, 151, 44, 46, 59, 37, 48, 45, 43, 101, 543,8 , 99,16 , 37,5 , 8,10 , 3605,48 , 3653,88 , 134,24 , 3646,59 , 3705,88 , 320,24 , 2242,21 , 2263,59 , 2322,14 , 2242,21 , 2263,59 , 2322,14 , 0,2 , 0,2 }, // Dutch/Netherlands
+ { 30, 21, 44, 46, 59, 37, 48, 45, 43, 101, 551,7 , 99,16 , 37,5 , 8,10 , 3605,48 , 3653,88 , 134,24 , 3646,59 , 3705,88 , 320,24 , 2242,21 , 2263,59 , 2322,14 , 2242,21 , 2263,59 , 2322,14 , 0,2 , 0,2 }, // Dutch/Belgium
+ { 31, 225, 46, 44, 59, 37, 48, 45, 43, 101, 558,6 , 35,18 , 18,7 , 25,12 , 0,48 , 48,86 , 134,24 , 0,48 , 48,86 , 320,24 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 0,2 , 0,2 }, // English/UnitedStates
+ { 31, 4, 46, 44, 59, 37, 48, 45, 43, 101, 558,6 , 35,18 , 18,7 , 25,12 , 0,48 , 48,86 , 134,24 , 0,48 , 48,86 , 320,24 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 0,2 , 0,2 }, // English/AmericanSamoa
+ { 31, 13, 46, 44, 59, 37, 48, 45, 43, 101, 551,7 , 10,17 , 18,7 , 25,12 , 0,48 , 48,86 , 134,24 , 0,48 , 48,86 , 320,24 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 0,2 , 0,2 }, // English/Australia
{ 31, 21, 44, 46, 59, 37, 48, 45, 43, 101, 27,8 , 99,16 , 37,5 , 239,24 , 0,48 , 48,86 , 134,24 , 0,48 , 48,86 , 320,24 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 0,2 , 0,2 }, // English/Belgium
- { 31, 22, 46, 44, 59, 37, 48, 45, 43, 101, 27,8 , 556,12 , 37,5 , 8,10 , 0,48 , 48,86 , 134,24 , 0,48 , 48,86 , 320,24 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 0,2 , 0,2 }, // English/Belize
+ { 31, 22, 46, 44, 59, 37, 48, 45, 43, 101, 27,8 , 564,12 , 37,5 , 8,10 , 0,48 , 48,86 , 134,24 , 0,48 , 48,86 , 320,24 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 0,2 , 0,2 }, // English/Belize
{ 31, 28, 46, 44, 59, 37, 48, 45, 43, 101, 27,8 , 82,17 , 18,7 , 25,12 , 0,48 , 48,86 , 134,24 , 0,48 , 48,86 , 320,24 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 0,2 , 0,2 }, // English/Botswana
- { 31, 38, 46, 44, 59, 37, 48, 45, 43, 101, 115,8 , 568,17 , 18,7 , 25,12 , 0,48 , 48,86 , 134,24 , 0,48 , 48,86 , 320,24 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 0,2 , 0,2 }, // English/Canada
- { 31, 89, 46, 44, 59, 37, 48, 45, 43, 101, 550,6 , 35,18 , 18,7 , 25,12 , 0,48 , 48,86 , 134,24 , 0,48 , 48,86 , 320,24 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 0,2 , 0,2 }, // English/Guam
- { 31, 97, 46, 44, 59, 37, 48, 45, 43, 101, 271,6 , 195,18 , 18,7 , 25,12 , 0,48 , 48,86 , 134,24 , 0,48 , 48,86 , 320,24 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 0,2 , 0,2 }, // English/HongKong
+ { 31, 38, 46, 44, 59, 37, 48, 45, 43, 101, 115,8 , 203,18 , 18,7 , 25,12 , 0,48 , 48,86 , 134,24 , 0,48 , 48,86 , 320,24 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 0,2 , 0,2 }, // English/Canada
+ { 31, 89, 46, 44, 59, 37, 48, 45, 43, 101, 558,6 , 35,18 , 18,7 , 25,12 , 0,48 , 48,86 , 134,24 , 0,48 , 48,86 , 320,24 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 0,2 , 0,2 }, // English/Guam
+ { 31, 97, 46, 44, 59, 37, 48, 45, 43, 101, 279,6 , 203,18 , 18,7 , 25,12 , 0,48 , 48,86 , 134,24 , 0,48 , 48,86 , 320,24 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 0,2 , 0,2 }, // English/HongKong
{ 31, 100, 46, 44, 59, 37, 48, 45, 43, 101, 27,8 , 99,16 , 18,7 , 25,12 , 0,48 , 48,86 , 134,24 , 0,48 , 48,86 , 320,24 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 0,2 , 0,2 }, // English/India
- { 31, 104, 46, 44, 59, 37, 48, 45, 43, 101, 141,10 , 99,16 , 37,5 , 8,10 , 0,48 , 48,86 , 134,24 , 0,48 , 48,86 , 320,24 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 49,4 , 49,4 }, // English/Ireland
- { 31, 107, 46, 44, 59, 37, 48, 45, 43, 101, 271,6 , 35,18 , 18,7 , 25,12 , 0,48 , 48,86 , 134,24 , 0,48 , 48,86 , 320,24 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 0,2 , 0,2 }, // English/Jamaica
+ { 31, 104, 46, 44, 59, 37, 48, 45, 43, 101, 141,10 , 99,16 , 37,5 , 8,10 , 0,48 , 48,86 , 134,24 , 0,48 , 48,86 , 320,24 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 56,4 , 56,4 }, // English/Ireland
+ { 31, 107, 46, 44, 59, 37, 48, 45, 43, 101, 279,6 , 35,18 , 18,7 , 25,12 , 0,48 , 48,86 , 134,24 , 0,48 , 48,86 , 320,24 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 0,2 , 0,2 }, // English/Jamaica
{ 31, 133, 46, 44, 59, 37, 48, 45, 43, 101, 141,10 , 10,17 , 37,5 , 8,10 , 0,48 , 48,86 , 134,24 , 0,48 , 48,86 , 320,24 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 0,2 , 0,2 }, // English/Malta
- { 31, 134, 46, 44, 59, 37, 48, 45, 43, 101, 550,6 , 35,18 , 18,7 , 25,12 , 0,48 , 48,86 , 134,24 , 0,48 , 48,86 , 320,24 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 0,2 , 0,2 }, // English/MarshallIslands
- { 31, 137, 46, 44, 59, 37, 48, 45, 43, 101, 550,6 , 35,18 , 18,7 , 25,12 , 0,48 , 48,86 , 134,24 , 0,48 , 48,86 , 320,24 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 0,2 , 0,2 }, // English/Mauritius
- { 31, 148, 46, 44, 59, 37, 48, 45, 43, 101, 550,6 , 35,18 , 18,7 , 25,12 , 0,48 , 48,86 , 134,24 , 0,48 , 48,86 , 320,24 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 0,2 , 0,2 }, // English/Namibia
- { 31, 154, 46, 44, 59, 37, 48, 45, 43, 101, 543,7 , 10,17 , 18,7 , 25,12 , 0,48 , 48,86 , 134,24 , 0,48 , 48,86 , 320,24 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 0,2 , 0,2 }, // English/NewZealand
- { 31, 160, 46, 44, 59, 37, 48, 45, 43, 101, 550,6 , 35,18 , 18,7 , 25,12 , 0,48 , 48,86 , 134,24 , 0,48 , 48,86 , 320,24 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 0,2 , 0,2 }, // English/NorthernMarianaIslands
+ { 31, 134, 46, 44, 59, 37, 48, 45, 43, 101, 558,6 , 35,18 , 18,7 , 25,12 , 0,48 , 48,86 , 134,24 , 0,48 , 48,86 , 320,24 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 0,2 , 0,2 }, // English/MarshallIslands
+ { 31, 137, 46, 44, 59, 37, 48, 45, 43, 101, 558,6 , 35,18 , 18,7 , 25,12 , 0,48 , 48,86 , 134,24 , 0,48 , 48,86 , 320,24 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 0,2 , 0,2 }, // English/Mauritius
+ { 31, 148, 46, 44, 59, 37, 48, 45, 43, 101, 558,6 , 35,18 , 18,7 , 25,12 , 0,48 , 48,86 , 134,24 , 0,48 , 48,86 , 320,24 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 0,2 , 0,2 }, // English/Namibia
+ { 31, 154, 46, 44, 59, 37, 48, 45, 43, 101, 551,7 , 10,17 , 18,7 , 25,12 , 0,48 , 48,86 , 134,24 , 0,48 , 48,86 , 320,24 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 0,2 , 0,2 }, // English/NewZealand
+ { 31, 160, 46, 44, 59, 37, 48, 45, 43, 101, 558,6 , 35,18 , 18,7 , 25,12 , 0,48 , 48,86 , 134,24 , 0,48 , 48,86 , 320,24 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 0,2 , 0,2 }, // English/NorthernMarianaIslands
{ 31, 163, 46, 44, 59, 37, 48, 45, 43, 101, 27,8 , 99,16 , 18,7 , 25,12 , 0,48 , 48,86 , 134,24 , 0,48 , 48,86 , 320,24 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 0,2 , 0,2 }, // English/Pakistan
- { 31, 170, 46, 44, 59, 37, 48, 45, 43, 101, 550,6 , 35,18 , 18,7 , 25,12 , 0,48 , 48,86 , 134,24 , 0,48 , 48,86 , 320,24 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 0,2 , 0,2 }, // English/Philippines
- { 31, 190, 46, 44, 59, 37, 48, 45, 43, 101, 271,6 , 35,18 , 18,7 , 25,12 , 0,48 , 48,86 , 134,24 , 0,48 , 48,86 , 320,24 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 0,2 , 0,2 }, // English/Singapore
- { 31, 195, 44, 160, 59, 37, 48, 45, 43, 101, 585,10 , 82,17 , 18,7 , 25,12 , 0,48 , 48,86 , 134,24 , 0,48 , 48,86 , 320,24 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 0,2 , 0,2 }, // English/SouthAfrica
- { 31, 215, 46, 44, 59, 37, 48, 45, 43, 101, 550,6 , 35,18 , 18,7 , 25,12 , 0,48 , 48,86 , 134,24 , 0,48 , 48,86 , 320,24 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 0,2 , 0,2 }, // English/TrinidadAndTobago
+ { 31, 170, 46, 44, 59, 37, 48, 45, 43, 101, 558,6 , 35,18 , 18,7 , 25,12 , 0,48 , 48,86 , 134,24 , 0,48 , 48,86 , 320,24 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 0,2 , 0,2 }, // English/Philippines
+ { 31, 190, 46, 44, 59, 37, 48, 45, 43, 101, 279,6 , 35,18 , 18,7 , 25,12 , 0,48 , 48,86 , 134,24 , 0,48 , 48,86 , 320,24 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 0,2 , 0,2 }, // English/Singapore
+ { 31, 195, 44, 160, 59, 37, 48, 45, 43, 101, 576,10 , 82,17 , 18,7 , 25,12 , 0,48 , 48,86 , 134,24 , 0,48 , 48,86 , 320,24 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 0,2 , 0,2 }, // English/SouthAfrica
+ { 31, 215, 46, 44, 59, 37, 48, 45, 43, 101, 558,6 , 35,18 , 18,7 , 25,12 , 0,48 , 48,86 , 134,24 , 0,48 , 48,86 , 320,24 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 0,2 , 0,2 }, // English/TrinidadAndTobago
{ 31, 224, 46, 44, 59, 37, 48, 45, 43, 101, 141,10 , 10,17 , 37,5 , 8,10 , 0,48 , 48,86 , 134,24 , 0,48 , 48,86 , 320,24 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 0,2 , 0,2 }, // English/UnitedKingdom
- { 31, 226, 46, 44, 59, 37, 48, 45, 43, 101, 550,6 , 35,18 , 18,7 , 25,12 , 0,48 , 48,86 , 134,24 , 0,48 , 48,86 , 320,24 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 0,2 , 0,2 }, // English/UnitedStatesMinorOutlyingIslands
- { 31, 234, 46, 44, 59, 37, 48, 45, 43, 101, 550,6 , 35,18 , 18,7 , 25,12 , 0,48 , 48,86 , 134,24 , 0,48 , 48,86 , 320,24 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 0,2 , 0,2 }, // English/USVirginIslands
- { 31, 240, 46, 44, 59, 37, 48, 45, 43, 101, 356,8 , 82,17 , 18,7 , 25,12 , 0,48 , 48,86 , 134,24 , 0,48 , 48,86 , 320,24 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 0,2 , 0,2 }, // English/Zimbabwe
- { 33, 68, 44, 160, 59, 37, 48, 45, 43, 101, 324,8 , 494,18 , 165,4 , 263,9 , 3741,59 , 3800,91 , 3891,24 , 3793,59 , 3852,91 , 3943,24 , 2336,14 , 2350,63 , 2336,14 , 2336,14 , 2350,63 , 2336,14 , 61,14 , 61,16 }, // Estonian/Estonia
- { 34, 71, 44, 46, 59, 37, 48, 8722, 43, 101, 535,8 , 82,17 , 37,5 , 8,10 , 3915,48 , 3963,83 , 134,24 , 3967,48 , 4015,83 , 320,24 , 2413,28 , 2441,74 , 2515,14 , 2413,28 , 2441,74 , 2515,14 , 0,2 , 0,2 }, // Faroese/FaroeIslands
- { 36, 73, 44, 160, 59, 37, 48, 45, 43, 101, 595,8 , 603,17 , 272,4 , 276,9 , 4046,69 , 4115,105 , 4220,24 , 4098,129 , 4098,129 , 4227,24 , 2529,21 , 2550,67 , 2617,14 , 2529,21 , 2631,81 , 2617,14 , 75,3 , 77,3 }, // Finnish/Finland
+ { 31, 226, 46, 44, 59, 37, 48, 45, 43, 101, 558,6 , 35,18 , 18,7 , 25,12 , 0,48 , 48,86 , 134,24 , 0,48 , 48,86 , 320,24 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 0,2 , 0,2 }, // English/UnitedStatesMinorOutlyingIslands
+ { 31, 234, 46, 44, 59, 37, 48, 45, 43, 101, 558,6 , 35,18 , 18,7 , 25,12 , 0,48 , 48,86 , 134,24 , 0,48 , 48,86 , 320,24 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 0,2 , 0,2 }, // English/USVirginIslands
+ { 31, 240, 46, 44, 59, 37, 48, 45, 43, 101, 364,8 , 82,17 , 18,7 , 25,12 , 0,48 , 48,86 , 134,24 , 0,48 , 48,86 , 320,24 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 0,2 , 0,2 }, // English/Zimbabwe
+ { 33, 68, 44, 160, 59, 37, 48, 45, 43, 101, 332,8 , 502,18 , 165,4 , 263,9 , 3741,59 , 3800,91 , 3891,24 , 3793,59 , 3852,91 , 3943,24 , 2336,14 , 2350,63 , 2336,14 , 2336,14 , 2350,63 , 2336,14 , 70,14 , 70,16 }, // Estonian/Estonia
+ { 34, 71, 44, 46, 59, 37, 48, 8722, 43, 101, 543,8 , 82,17 , 37,5 , 8,10 , 3915,48 , 3963,83 , 134,24 , 3967,48 , 4015,83 , 320,24 , 2413,28 , 2441,74 , 2515,14 , 2413,28 , 2441,74 , 2515,14 , 0,2 , 0,2 }, // Faroese/FaroeIslands
+ { 36, 73, 44, 160, 59, 37, 48, 45, 43, 101, 586,8 , 594,17 , 272,4 , 276,9 , 4046,69 , 4115,105 , 4220,24 , 4098,129 , 4098,129 , 4227,24 , 2529,21 , 2550,67 , 2617,14 , 2529,21 , 2631,81 , 2617,14 , 84,3 , 86,3 }, // Finnish/Finland
{ 37, 74, 44, 160, 59, 37, 48, 45, 43, 101, 27,8 , 99,16 , 37,5 , 8,10 , 4244,63 , 4307,85 , 134,24 , 4251,63 , 4314,85 , 320,24 , 2712,35 , 2747,52 , 2799,14 , 2712,35 , 2747,52 , 2799,14 , 0,2 , 0,2 }, // French/France
- { 37, 21, 44, 46, 59, 37, 48, 45, 43, 101, 543,7 , 99,16 , 37,5 , 285,23 , 4244,63 , 4307,85 , 134,24 , 4251,63 , 4314,85 , 320,24 , 2712,35 , 2747,52 , 2799,14 , 2712,35 , 2747,52 , 2799,14 , 0,2 , 0,2 }, // French/Belgium
+ { 37, 21, 44, 46, 59, 37, 48, 45, 43, 101, 551,7 , 99,16 , 37,5 , 285,23 , 4244,63 , 4307,85 , 134,24 , 4251,63 , 4314,85 , 320,24 , 2712,35 , 2747,52 , 2799,14 , 2712,35 , 2747,52 , 2799,14 , 0,2 , 0,2 }, // French/Belgium
{ 37, 37, 44, 160, 59, 37, 48, 45, 43, 101, 27,8 , 99,16 , 37,5 , 8,10 , 4244,63 , 4307,85 , 134,24 , 4251,63 , 4314,85 , 320,24 , 2712,35 , 2747,52 , 2799,14 , 2712,35 , 2747,52 , 2799,14 , 0,2 , 0,2 }, // French/Cameroon
{ 37, 38, 44, 160, 59, 37, 48, 45, 43, 101, 115,8 , 99,16 , 37,5 , 239,24 , 4244,63 , 4307,85 , 134,24 , 4251,63 , 4314,85 , 320,24 , 2712,35 , 2747,52 , 2799,14 , 2712,35 , 2747,52 , 2799,14 , 0,2 , 0,2 }, // French/Canada
{ 37, 41, 44, 160, 59, 37, 48, 45, 43, 101, 27,8 , 99,16 , 37,5 , 8,10 , 4244,63 , 4307,85 , 134,24 , 4251,63 , 4314,85 , 320,24 , 2712,35 , 2747,52 , 2799,14 , 2712,35 , 2747,52 , 2799,14 , 0,2 , 0,2 }, // French/CentralAfricanRepublic
@@ -401,232 +401,233 @@ static const QLocalePrivate locale_data[] = {
{ 37, 156, 44, 160, 59, 37, 48, 45, 43, 101, 27,8 , 99,16 , 37,5 , 8,10 , 4244,63 , 4307,85 , 134,24 , 4251,63 , 4314,85 , 320,24 , 2712,35 , 2747,52 , 2799,14 , 2712,35 , 2747,52 , 2799,14 , 0,2 , 0,2 }, // French/Niger
{ 37, 176, 44, 160, 59, 37, 48, 45, 43, 101, 27,8 , 99,16 , 37,5 , 8,10 , 4244,63 , 4307,85 , 134,24 , 4251,63 , 4314,85 , 320,24 , 2712,35 , 2747,52 , 2799,14 , 2712,35 , 2747,52 , 2799,14 , 0,2 , 0,2 }, // French/Reunion
{ 37, 187, 44, 160, 59, 37, 48, 45, 43, 101, 27,8 , 99,16 , 37,5 , 8,10 , 4244,63 , 4307,85 , 134,24 , 4251,63 , 4314,85 , 320,24 , 2712,35 , 2747,52 , 2799,14 , 2712,35 , 2747,52 , 2799,14 , 0,2 , 0,2 }, // French/Senegal
- { 37, 206, 46, 39, 59, 37, 48, 45, 43, 101, 324,8 , 10,17 , 37,5 , 308,14 , 4244,63 , 4307,85 , 134,24 , 4251,63 , 4314,85 , 320,24 , 2712,35 , 2747,52 , 2799,14 , 2712,35 , 2747,52 , 2799,14 , 0,2 , 0,2 }, // French/Switzerland
+ { 37, 206, 46, 39, 59, 37, 48, 45, 43, 101, 332,8 , 10,17 , 37,5 , 308,14 , 4244,63 , 4307,85 , 134,24 , 4251,63 , 4314,85 , 320,24 , 2712,35 , 2747,52 , 2799,14 , 2712,35 , 2747,52 , 2799,14 , 0,2 , 0,2 }, // French/Switzerland
{ 37, 244, 44, 160, 59, 37, 48, 45, 43, 101, 27,8 , 99,16 , 37,5 , 8,10 , 4244,63 , 4307,85 , 134,24 , 4251,63 , 4314,85 , 320,24 , 2712,35 , 2747,52 , 2799,14 , 2712,35 , 2747,52 , 2799,14 , 0,2 , 0,2 }, // French/Saint Barthelemy
{ 37, 245, 44, 160, 59, 37, 48, 45, 43, 101, 27,8 , 99,16 , 37,5 , 8,10 , 4244,63 , 4307,85 , 134,24 , 4251,63 , 4314,85 , 320,24 , 2712,35 , 2747,52 , 2799,14 , 2712,35 , 2747,52 , 2799,14 , 0,2 , 0,2 }, // French/Saint Martin
{ 40, 197, 44, 46, 59, 37, 48, 45, 43, 101, 27,8 , 82,17 , 37,5 , 8,10 , 4392,48 , 4440,87 , 4527,24 , 4399,48 , 4447,87 , 4534,24 , 2813,28 , 2841,49 , 2890,14 , 2813,28 , 2841,49 , 2890,14 , 0,2 , 0,2 }, // Galician/Spain
- { 41, 81, 44, 46, 59, 37, 48, 45, 43, 101, 213,8 , 306,18 , 37,5 , 8,10 , 4551,48 , 4599,99 , 4698,24 , 4558,48 , 4606,99 , 4705,24 , 2904,28 , 2932,62 , 2994,14 , 2904,28 , 2932,62 , 2994,14 , 0,2 , 0,2 }, // Georgian/Georgia
- { 42, 82, 44, 46, 59, 37, 48, 45, 43, 101, 324,8 , 494,18 , 37,5 , 8,10 , 4722,52 , 4774,83 , 134,24 , 4729,48 , 4777,83 , 320,24 , 3008,21 , 3029,60 , 3089,14 , 3103,28 , 3029,60 , 3089,14 , 0,2 , 0,2 }, // German/Germany
- { 42, 14, 44, 46, 59, 37, 48, 45, 43, 101, 324,8 , 620,19 , 37,5 , 8,10 , 4722,52 , 4857,83 , 134,24 , 4860,48 , 4908,83 , 320,24 , 3008,21 , 3029,60 , 3089,14 , 3103,28 , 3029,60 , 3089,14 , 0,2 , 0,2 }, // German/Austria
- { 42, 21, 44, 46, 59, 37, 48, 45, 43, 101, 543,7 , 99,16 , 37,5 , 239,24 , 4722,52 , 4774,83 , 134,24 , 4729,48 , 4777,83 , 320,24 , 3008,21 , 3029,60 , 3089,14 , 3131,28 , 3029,60 , 3089,14 , 0,2 , 0,2 }, // German/Belgium
- { 42, 123, 46, 39, 59, 37, 48, 45, 43, 101, 324,8 , 494,18 , 37,5 , 8,10 , 4722,52 , 4774,83 , 134,24 , 4729,48 , 4777,83 , 320,24 , 3008,21 , 3029,60 , 3089,14 , 3103,28 , 3029,60 , 3089,14 , 0,2 , 0,2 }, // German/Liechtenstein
- { 42, 125, 44, 46, 59, 37, 48, 45, 43, 101, 324,8 , 494,18 , 37,5 , 8,10 , 4722,52 , 4774,83 , 134,24 , 4729,48 , 4777,83 , 320,24 , 3008,21 , 3029,60 , 3089,14 , 3103,28 , 3029,60 , 3089,14 , 0,2 , 0,2 }, // German/Luxembourg
- { 42, 206, 46, 39, 59, 37, 48, 45, 43, 101, 324,8 , 494,18 , 37,5 , 8,10 , 4722,52 , 4774,83 , 134,24 , 4729,48 , 4777,83 , 320,24 , 3008,21 , 3029,60 , 3089,14 , 3103,28 , 3029,60 , 3089,14 , 0,2 , 0,2 }, // German/Switzerland
- { 43, 85, 44, 46, 44, 37, 48, 45, 43, 101, 271,6 , 10,17 , 18,7 , 25,12 , 4940,50 , 4990,115 , 5105,24 , 4991,50 , 5041,115 , 5156,24 , 3159,28 , 3187,55 , 3242,14 , 3159,28 , 3187,55 , 3242,14 , 78,4 , 80,4 }, // Greek/Greece
- { 43, 56, 44, 46, 44, 37, 48, 45, 43, 101, 271,6 , 10,17 , 18,7 , 25,12 , 4940,50 , 4990,115 , 5105,24 , 4991,50 , 5041,115 , 5156,24 , 3159,28 , 3187,55 , 3242,14 , 3159,28 , 3187,55 , 3242,14 , 78,4 , 80,4 }, // Greek/Cyprus
+ { 41, 81, 44, 46, 59, 37, 48, 45, 43, 101, 221,8 , 314,18 , 37,5 , 8,10 , 4551,48 , 4599,99 , 4698,24 , 4558,48 , 4606,99 , 4705,24 , 2904,28 , 2932,62 , 2994,14 , 2904,28 , 2932,62 , 2994,14 , 0,2 , 0,2 }, // Georgian/Georgia
+ { 42, 82, 44, 46, 59, 37, 48, 45, 43, 101, 332,8 , 502,18 , 37,5 , 8,10 , 4722,52 , 4774,83 , 134,24 , 4729,48 , 4777,83 , 320,24 , 3008,21 , 3029,60 , 3089,14 , 3103,28 , 3029,60 , 3089,14 , 87,5 , 89,6 }, // German/Germany
+ { 42, 14, 44, 46, 59, 37, 48, 45, 43, 101, 332,8 , 611,19 , 37,5 , 8,10 , 4722,52 , 4857,83 , 134,24 , 4860,48 , 4908,83 , 320,24 , 3008,21 , 3029,60 , 3089,14 , 3103,28 , 3029,60 , 3089,14 , 87,5 , 89,6 }, // German/Austria
+ { 42, 21, 44, 46, 59, 37, 48, 45, 43, 101, 551,7 , 99,16 , 37,5 , 239,24 , 4722,52 , 4774,83 , 134,24 , 4729,48 , 4777,83 , 320,24 , 3008,21 , 3029,60 , 3089,14 , 3131,28 , 3029,60 , 3089,14 , 87,5 , 89,6 }, // German/Belgium
+ { 42, 123, 46, 39, 59, 37, 48, 45, 43, 101, 332,8 , 502,18 , 37,5 , 8,10 , 4722,52 , 4774,83 , 134,24 , 4729,48 , 4777,83 , 320,24 , 3008,21 , 3029,60 , 3089,14 , 3103,28 , 3029,60 , 3089,14 , 87,5 , 89,6 }, // German/Liechtenstein
+ { 42, 125, 44, 46, 59, 37, 48, 45, 43, 101, 332,8 , 502,18 , 37,5 , 8,10 , 4722,52 , 4774,83 , 134,24 , 4729,48 , 4777,83 , 320,24 , 3008,21 , 3029,60 , 3089,14 , 3103,28 , 3029,60 , 3089,14 , 87,5 , 89,6 }, // German/Luxembourg
+ { 42, 206, 46, 39, 59, 37, 48, 45, 43, 101, 332,8 , 502,18 , 37,5 , 8,10 , 4722,52 , 4774,83 , 134,24 , 4729,48 , 4777,83 , 320,24 , 3008,21 , 3029,60 , 3089,14 , 3103,28 , 3029,60 , 3089,14 , 87,5 , 89,6 }, // German/Switzerland
+ { 43, 85, 44, 46, 44, 37, 48, 45, 43, 101, 279,6 , 10,17 , 18,7 , 25,12 , 4940,50 , 4990,115 , 5105,24 , 4991,50 , 5041,115 , 5156,24 , 3159,28 , 3187,55 , 3242,14 , 3159,28 , 3187,55 , 3242,14 , 92,4 , 95,4 }, // Greek/Greece
+ { 43, 56, 44, 46, 44, 37, 48, 45, 43, 101, 279,6 , 10,17 , 18,7 , 25,12 , 4940,50 , 4990,115 , 5105,24 , 4991,50 , 5041,115 , 5156,24 , 3159,28 , 3187,55 , 3242,14 , 3159,28 , 3187,55 , 3242,14 , 92,4 , 95,4 }, // Greek/Cyprus
{ 44, 86, 44, 46, 59, 37, 48, 8722, 43, 101, 72,10 , 82,17 , 18,7 , 25,12 , 3473,48 , 5129,96 , 134,24 , 5180,48 , 5228,96 , 320,24 , 3256,28 , 3284,98 , 3382,14 , 3256,28 , 3284,98 , 3382,14 , 0,2 , 0,2 }, // Greenlandic/Greenland
- { 46, 100, 46, 44, 59, 37, 48, 45, 43, 101, 639,7 , 195,18 , 322,8 , 330,13 , 5225,67 , 5292,87 , 5379,31 , 5324,67 , 5391,87 , 5478,31 , 3396,32 , 3428,53 , 3481,19 , 3396,32 , 3428,53 , 3481,19 , 82,14 , 84,14 }, // Gujarati/India
- { 47, 83, 46, 44, 59, 37, 48, 45, 43, 101, 271,6 , 195,18 , 37,5 , 8,10 , 5410,48 , 5458,85 , 5543,24 , 5509,48 , 5557,85 , 5642,24 , 3500,21 , 3521,52 , 3573,14 , 3500,21 , 3521,52 , 3573,14 , 0,2 , 0,2 }, // Hausa/Ghana
- { 47, 156, 46, 44, 59, 37, 48, 45, 43, 101, 271,6 , 195,18 , 37,5 , 8,10 , 5410,48 , 5458,85 , 5543,24 , 5509,48 , 5557,85 , 5642,24 , 3500,21 , 3521,52 , 3573,14 , 3500,21 , 3521,52 , 3573,14 , 0,2 , 0,2 }, // Hausa/Niger
- { 47, 157, 46, 44, 59, 37, 48, 45, 43, 101, 271,6 , 195,18 , 37,5 , 8,10 , 5410,48 , 5458,85 , 5543,24 , 5509,48 , 5557,85 , 5642,24 , 3500,21 , 3521,52 , 3573,14 , 3500,21 , 3521,52 , 3573,14 , 0,2 , 0,2 }, // Hausa/Nigeria
- { 47, 201, 46, 44, 59, 37, 48, 45, 43, 101, 271,6 , 195,18 , 37,5 , 8,10 , 5567,55 , 5622,99 , 5543,24 , 5666,55 , 5721,99 , 5642,24 , 3587,31 , 3618,57 , 3573,14 , 3587,31 , 3618,57 , 3573,14 , 0,2 , 0,2 }, // Hausa/Sudan
- { 48, 105, 46, 44, 59, 37, 48, 45, 43, 101, 27,8 , 646,18 , 37,5 , 8,10 , 5721,58 , 5779,72 , 1483,27 , 5820,48 , 5868,72 , 134,27 , 3675,46 , 3721,65 , 3786,14 , 3675,46 , 3721,65 , 3786,14 , 96,6 , 98,5 }, // Hebrew/Israel
- { 49, 100, 46, 44, 59, 37, 2406, 45, 43, 101, 664,6 , 10,17 , 18,7 , 25,12 , 5851,75 , 5851,75 , 5926,30 , 5940,75 , 5940,75 , 6015,30 , 3800,38 , 3838,57 , 3895,19 , 3800,38 , 3838,57 , 3895,19 , 102,9 , 103,7 }, // Hindi/India
- { 50, 98, 44, 160, 59, 37, 48, 45, 43, 101, 670,11 , 681,19 , 165,4 , 195,9 , 5956,64 , 6020,98 , 6118,25 , 6045,64 , 6109,98 , 6207,25 , 3914,19 , 3933,52 , 3985,17 , 3914,19 , 3933,52 , 3985,17 , 111,3 , 110,3 }, // Hungarian/Hungary
- { 51, 99, 44, 46, 59, 37, 48, 8722, 43, 101, 595,8 , 494,18 , 37,5 , 8,10 , 6143,48 , 6191,82 , 6273,24 , 6232,48 , 6280,82 , 6362,24 , 4002,28 , 4030,81 , 4111,14 , 4002,28 , 4030,81 , 4125,14 , 114,4 , 113,4 }, // Icelandic/Iceland
+ { 46, 100, 46, 44, 59, 37, 48, 45, 43, 101, 630,7 , 203,18 , 322,8 , 330,13 , 5225,67 , 5292,87 , 5379,31 , 5324,67 , 5391,87 , 5478,31 , 3396,32 , 3428,53 , 3481,19 , 3396,32 , 3428,53 , 3481,19 , 96,14 , 99,14 }, // Gujarati/India
+ { 47, 83, 46, 44, 59, 37, 48, 45, 43, 101, 279,6 , 203,18 , 37,5 , 8,10 , 5410,48 , 5458,85 , 5543,24 , 5509,48 , 5557,85 , 5642,24 , 3500,21 , 3521,52 , 3573,14 , 3500,21 , 3521,52 , 3573,14 , 0,2 , 0,2 }, // Hausa/Ghana
+ { 47, 156, 46, 44, 59, 37, 48, 45, 43, 101, 279,6 , 203,18 , 37,5 , 8,10 , 5410,48 , 5458,85 , 5543,24 , 5509,48 , 5557,85 , 5642,24 , 3500,21 , 3521,52 , 3573,14 , 3500,21 , 3521,52 , 3573,14 , 0,2 , 0,2 }, // Hausa/Niger
+ { 47, 157, 46, 44, 59, 37, 48, 45, 43, 101, 279,6 , 203,18 , 37,5 , 8,10 , 5410,48 , 5458,85 , 5543,24 , 5509,48 , 5557,85 , 5642,24 , 3500,21 , 3521,52 , 3573,14 , 3500,21 , 3521,52 , 3573,14 , 0,2 , 0,2 }, // Hausa/Nigeria
+ { 47, 201, 46, 44, 59, 37, 48, 45, 43, 101, 279,6 , 203,18 , 37,5 , 8,10 , 5567,55 , 5622,99 , 5543,24 , 5666,55 , 5721,99 , 5642,24 , 3587,31 , 3618,57 , 3573,14 , 3587,31 , 3618,57 , 3573,14 , 0,2 , 0,2 }, // Hausa/Sudan
+ { 48, 105, 46, 44, 59, 37, 48, 45, 43, 101, 27,8 , 637,18 , 37,5 , 8,10 , 5721,58 , 5779,72 , 1483,27 , 5820,48 , 5868,72 , 134,27 , 3675,46 , 3721,65 , 3786,14 , 3675,46 , 3721,65 , 3786,14 , 110,6 , 113,5 }, // Hebrew/Israel
+ { 49, 100, 46, 44, 59, 37, 2406, 45, 43, 101, 655,6 , 10,17 , 18,7 , 25,12 , 5851,75 , 5851,75 , 5926,30 , 5940,75 , 5940,75 , 6015,30 , 3800,38 , 3838,57 , 3895,19 , 3800,38 , 3838,57 , 3895,19 , 116,9 , 118,7 }, // Hindi/India
+ { 50, 98, 44, 160, 59, 37, 48, 45, 43, 101, 661,11 , 672,19 , 165,4 , 195,9 , 5956,64 , 6020,98 , 6118,25 , 6045,64 , 6109,98 , 6207,25 , 3914,19 , 3933,52 , 3985,17 , 3914,19 , 3933,52 , 3985,17 , 125,3 , 125,3 }, // Hungarian/Hungary
+ { 51, 99, 44, 46, 59, 37, 48, 8722, 43, 101, 586,8 , 502,18 , 37,5 , 8,10 , 6143,48 , 6191,82 , 6273,24 , 6232,48 , 6280,82 , 6362,24 , 4002,28 , 4030,81 , 4111,14 , 4002,28 , 4030,81 , 4125,14 , 128,4 , 128,4 }, // Icelandic/Iceland
{ 52, 101, 44, 46, 59, 37, 48, 45, 43, 101, 27,8 , 123,18 , 150,5 , 276,9 , 6297,48 , 6345,87 , 134,24 , 6386,48 , 6434,87 , 320,24 , 4139,28 , 4167,43 , 4210,14 , 4139,28 , 4167,43 , 4210,14 , 0,2 , 0,2 }, // Indonesian/Indonesia
- { 57, 104, 46, 44, 59, 37, 48, 45, 43, 101, 141,10 , 99,16 , 37,5 , 8,10 , 6432,62 , 6494,107 , 6601,24 , 6521,62 , 6583,107 , 6690,24 , 4224,37 , 4261,75 , 4336,14 , 4224,37 , 4261,75 , 4336,14 , 49,4 , 49,4 }, // Irish/Ireland
- { 58, 106, 44, 46, 59, 37, 48, 45, 43, 101, 27,8 , 99,16 , 37,5 , 8,10 , 6625,48 , 6673,94 , 6767,24 , 6714,48 , 6762,94 , 6856,24 , 4350,28 , 4378,57 , 4435,14 , 4350,28 , 4449,57 , 4435,14 , 118,2 , 117,2 }, // Italian/Italy
- { 58, 206, 46, 39, 59, 37, 48, 45, 43, 101, 324,8 , 10,17 , 37,5 , 308,14 , 6625,48 , 6673,94 , 6767,24 , 6714,48 , 6762,94 , 6856,24 , 4350,28 , 4378,57 , 4435,14 , 4350,28 , 4449,57 , 4435,14 , 118,2 , 117,2 }, // Italian/Switzerland
- { 59, 108, 46, 44, 59, 37, 48, 45, 43, 101, 213,8 , 421,13 , 165,4 , 343,10 , 3146,39 , 3146,39 , 1483,27 , 3170,39 , 3170,39 , 134,27 , 4506,14 , 4520,28 , 4506,14 , 4506,14 , 4520,28 , 4506,14 , 120,2 , 119,2 }, // Japanese/Japan
- { 61, 100, 46, 44, 59, 37, 3302, 45, 43, 101, 664,6 , 99,16 , 322,8 , 330,13 , 6791,86 , 6791,86 , 6877,31 , 6880,86 , 6880,86 , 6966,31 , 4548,28 , 4576,53 , 4629,19 , 4548,28 , 4576,53 , 4629,19 , 122,2 , 121,2 }, // Kannada/India
- { 63, 110, 44, 160, 59, 37, 48, 45, 43, 101, 324,8 , 700,22 , 37,5 , 8,10 , 6908,61 , 6969,83 , 1483,27 , 6997,61 , 7058,83 , 134,27 , 4648,28 , 4676,54 , 798,14 , 4648,28 , 4676,54 , 798,14 , 0,2 , 0,2 }, // Kazakh/Kazakhstan
- { 64, 179, 44, 46, 59, 37, 48, 45, 43, 101, 213,8 , 306,18 , 37,5 , 8,10 , 7052,60 , 7112,101 , 1483,27 , 7141,60 , 7201,101 , 134,27 , 4730,35 , 4765,84 , 798,14 , 4730,35 , 4765,84 , 798,14 , 0,2 , 0,2 }, // Kinyarwanda/Rwanda
- { 65, 116, 44, 160, 59, 37, 48, 45, 43, 101, 72,10 , 306,18 , 37,5 , 8,10 , 1483,27 , 1483,27 , 1483,27 , 134,27 , 134,27 , 134,27 , 798,14 , 798,14 , 798,14 , 798,14 , 798,14 , 798,14 , 0,2 , 0,2 }, // Kirghiz/Kyrgyzstan
- { 66, 114, 46, 44, 59, 37, 48, 45, 43, 101, 722,9 , 731,16 , 353,7 , 360,13 , 7213,39 , 7213,39 , 7213,39 , 7302,39 , 7302,39 , 7302,39 , 4849,14 , 4863,28 , 4849,14 , 4849,14 , 4863,28 , 4849,14 , 124,2 , 123,2 }, // Korean/RepublicOfKorea
- { 67, 102, 46, 44, 59, 37, 48, 45, 43, 101, 72,10 , 306,18 , 37,5 , 8,10 , 1483,27 , 1483,27 , 1483,27 , 134,27 , 134,27 , 134,27 , 4891,42 , 4891,42 , 4933,14 , 4891,42 , 4891,42 , 4933,14 , 0,2 , 0,2 }, // Kurdish/Iran
- { 67, 103, 46, 44, 59, 37, 48, 45, 43, 101, 72,10 , 306,18 , 37,5 , 8,10 , 1483,27 , 1483,27 , 1483,27 , 134,27 , 134,27 , 134,27 , 4891,42 , 4891,42 , 4933,14 , 4891,42 , 4891,42 , 4933,14 , 0,2 , 0,2 }, // Kurdish/Iraq
- { 67, 207, 46, 44, 59, 37, 48, 45, 43, 101, 72,10 , 306,18 , 37,5 , 8,10 , 7252,41 , 7293,51 , 7344,27 , 7341,41 , 7382,51 , 7433,27 , 4947,20 , 4967,39 , 5006,14 , 4947,20 , 4967,39 , 5006,14 , 0,2 , 0,2 }, // Kurdish/SyrianArabRepublic
- { 67, 217, 46, 44, 59, 37, 48, 45, 43, 101, 72,10 , 306,18 , 37,5 , 8,10 , 7252,41 , 7293,51 , 7344,27 , 7341,41 , 7382,51 , 7433,27 , 4947,20 , 4967,39 , 5006,14 , 4947,20 , 4967,39 , 5006,14 , 0,2 , 0,2 }, // Kurdish/Turkey
- { 69, 117, 46, 44, 59, 37, 48, 45, 43, 101, 356,8 , 747,18 , 165,4 , 373,21 , 7371,63 , 7434,75 , 1483,27 , 7460,63 , 7523,75 , 134,27 , 5020,24 , 5044,57 , 798,14 , 5020,24 , 5044,57 , 798,14 , 0,2 , 0,2 }, // Laothian/Lao
- { 71, 118, 44, 160, 59, 37, 48, 8722, 43, 101, 324,8 , 765,26 , 37,5 , 8,10 , 7509,65 , 7574,101 , 134,24 , 7598,65 , 7663,101 , 320,24 , 5101,21 , 5122,72 , 5194,14 , 5101,21 , 5122,72 , 5194,14 , 126,14 , 125,11 }, // Latvian/Latvia
- { 72, 49, 46, 44, 59, 37, 48, 45, 43, 101, 213,8 , 306,18 , 37,5 , 8,10 , 7675,39 , 7714,203 , 1483,27 , 7764,39 , 7803,203 , 134,27 , 5208,23 , 5231,98 , 798,14 , 5208,23 , 5231,98 , 798,14 , 0,2 , 0,2 }, // Lingala/DemocraticRepublicOfCongo
- { 72, 50, 46, 44, 59, 37, 48, 45, 43, 101, 213,8 , 306,18 , 37,5 , 8,10 , 7675,39 , 7714,203 , 1483,27 , 7764,39 , 7803,203 , 134,27 , 5208,23 , 5231,98 , 798,14 , 5208,23 , 5231,98 , 798,14 , 0,2 , 0,2 }, // Lingala/PeoplesRepublicOfCongo
- { 73, 124, 44, 46, 59, 37, 48, 8722, 43, 101, 72,10 , 791,26 , 37,5 , 8,10 , 7917,69 , 7986,96 , 8082,24 , 8006,48 , 8054,96 , 8150,24 , 5329,17 , 5346,89 , 5435,14 , 5449,21 , 5346,89 , 5435,14 , 140,9 , 136,6 }, // Lithuanian/Lithuania
- { 74, 127, 44, 46, 59, 37, 48, 45, 43, 101, 817,7 , 123,18 , 37,5 , 8,10 , 8106,63 , 8169,85 , 8254,24 , 8174,63 , 8237,85 , 8322,24 , 5470,34 , 5504,54 , 1391,14 , 5470,34 , 5504,54 , 1391,14 , 149,10 , 142,8 }, // Macedonian/Macedonia
- { 75, 128, 46, 44, 59, 37, 48, 45, 43, 101, 356,8 , 99,16 , 37,5 , 8,10 , 8278,48 , 8326,92 , 134,24 , 8346,48 , 8394,92 , 320,24 , 5558,34 , 5592,60 , 5652,14 , 5558,34 , 5592,60 , 5652,14 , 0,2 , 0,2 }, // Malagasy/Madagascar
- { 76, 130, 46, 44, 59, 37, 48, 45, 43, 101, 141,10 , 824,16 , 394,4 , 25,12 , 8418,49 , 8467,82 , 1483,27 , 8486,49 , 8535,82 , 134,27 , 5666,28 , 5694,43 , 798,14 , 5666,28 , 5694,43 , 798,14 , 0,2 , 0,2 }, // Malay/Malaysia
- { 76, 32, 44, 46, 59, 37, 48, 45, 43, 101, 141,10 , 556,12 , 165,4 , 398,14 , 8418,49 , 8467,82 , 1483,27 , 8486,49 , 8535,82 , 134,27 , 5666,28 , 5694,43 , 798,14 , 5666,28 , 5694,43 , 798,14 , 0,2 , 0,2 }, // Malay/BruneiDarussalam
- { 77, 100, 46, 44, 59, 37, 48, 45, 43, 101, 27,8 , 840,18 , 18,7 , 25,12 , 8549,66 , 8615,101 , 8716,31 , 8617,66 , 8683,101 , 8784,31 , 5737,47 , 5784,70 , 5854,22 , 5737,47 , 5784,70 , 5854,22 , 159,6 , 150,10 }, // Malayalam/India
- { 78, 133, 46, 44, 59, 37, 48, 45, 43, 101, 141,10 , 858,23 , 37,5 , 8,10 , 8747,48 , 8795,86 , 8881,24 , 8815,48 , 8863,86 , 8949,24 , 5876,28 , 5904,63 , 5967,14 , 5876,28 , 5904,63 , 5967,14 , 165,2 , 160,2 }, // Maltese/Malta
- { 79, 154, 46, 44, 59, 37, 48, 45, 43, 101, 72,10 , 306,18 , 37,5 , 8,10 , 8905,83 , 8905,83 , 1483,27 , 8973,83 , 8973,83 , 134,27 , 5981,48 , 5981,48 , 798,14 , 5981,48 , 5981,48 , 798,14 , 0,2 , 0,2 }, // Maori/NewZealand
- { 80, 100, 46, 44, 59, 37, 2406, 45, 43, 101, 664,6 , 99,16 , 412,7 , 419,12 , 8988,86 , 8988,86 , 9074,32 , 9056,86 , 9056,86 , 9142,32 , 6029,32 , 6061,53 , 3895,19 , 6029,32 , 6061,53 , 3895,19 , 122,2 , 121,2 }, // Marathi/India
- { 82, 44, 44, 160, 59, 37, 48, 45, 43, 101, 72,10 , 306,18 , 37,5 , 8,10 , 9106,48 , 9154,66 , 1483,27 , 9174,48 , 9222,66 , 134,27 , 6114,21 , 6135,43 , 798,14 , 6114,21 , 6135,43 , 798,14 , 0,2 , 0,2 }, // Mongolian/China
- { 82, 143, 44, 160, 59, 37, 48, 45, 43, 101, 72,10 , 306,18 , 37,5 , 8,10 , 9106,48 , 9154,66 , 1483,27 , 9174,48 , 9222,66 , 134,27 , 6114,21 , 6135,43 , 798,14 , 6114,21 , 6135,43 , 798,14 , 0,2 , 0,2 }, // Mongolian/Mongolia
- { 84, 100, 46, 44, 59, 37, 2406, 45, 43, 101, 72,10 , 306,18 , 37,5 , 8,10 , 9220,56 , 9276,80 , 9356,27 , 9288,56 , 9344,80 , 9424,27 , 6178,33 , 6211,54 , 6265,14 , 6178,33 , 6211,54 , 6265,14 , 102,9 , 103,7 }, // Nepali/India
- { 84, 150, 46, 44, 59, 37, 2406, 45, 43, 101, 72,10 , 306,18 , 37,5 , 8,10 , 9220,56 , 9383,85 , 9356,27 , 9288,56 , 9451,85 , 9424,27 , 6178,33 , 6279,54 , 6265,14 , 6178,33 , 6279,54 , 6265,14 , 167,14 , 162,14 }, // Nepali/Nepal
- { 85, 161, 44, 160, 59, 37, 48, 45, 43, 101, 324,8 , 603,17 , 37,5 , 431,16 , 9468,59 , 9527,83 , 134,24 , 9536,59 , 9595,83 , 320,24 , 6333,28 , 2177,51 , 2228,14 , 6361,35 , 2177,51 , 2228,14 , 0,2 , 0,2 }, // Norwegian/Norway
- { 86, 74, 46, 44, 59, 37, 48, 45, 43, 101, 72,10 , 306,18 , 37,5 , 8,10 , 9610,83 , 9610,83 , 1483,27 , 9678,83 , 9678,83 , 134,27 , 6396,57 , 6396,57 , 798,14 , 6396,57 , 6396,57 , 798,14 , 0,2 , 0,2 }, // Occitan/France
- { 87, 100, 46, 44, 59, 37, 2918, 45, 43, 101, 664,6 , 10,17 , 18,7 , 25,12 , 9693,89 , 9693,89 , 9782,32 , 9761,89 , 9761,89 , 9850,32 , 6453,33 , 6486,54 , 6540,18 , 6453,33 , 6486,54 , 6540,18 , 122,2 , 121,2 }, // Oriya/India
- { 88, 1, 1643, 1644, 59, 1642, 1776, 8722, 43, 101, 881,8 , 889,20 , 165,4 , 447,11 , 9814,68 , 9814,68 , 1483,27 , 9882,68 , 9882,68 , 134,27 , 6558,49 , 6558,49 , 798,14 , 6558,49 , 6558,49 , 798,14 , 181,4 , 176,4 }, // Pashto/Afghanistan
- { 89, 102, 1643, 1644, 1563, 1642, 1776, 8722, 43, 101, 550,6 , 35,18 , 165,4 , 447,11 , 9882,71 , 9953,70 , 10023,25 , 9950,71 , 10021,73 , 10094,25 , 6558,49 , 6558,49 , 6607,14 , 6558,49 , 6558,49 , 6607,14 , 185,10 , 180,10 }, // Persian/Iran
- { 89, 1, 1643, 1644, 1563, 1642, 1776, 8722, 43, 101, 550,6 , 35,18 , 165,4 , 447,11 , 10048,63 , 9953,70 , 10111,24 , 10119,63 , 10182,68 , 10250,24 , 6558,49 , 6558,49 , 6607,14 , 6558,49 , 6558,49 , 6607,14 , 185,10 , 180,10 }, // Persian/Afghanistan
- { 90, 172, 44, 160, 59, 37, 48, 45, 43, 101, 535,8 , 10,17 , 37,5 , 8,10 , 10135,48 , 10183,97 , 10280,24 , 10274,48 , 10322,99 , 10421,24 , 6621,34 , 6655,59 , 6714,14 , 6621,34 , 6655,59 , 6714,14 , 0,2 , 0,2 }, // Polish/Poland
- { 91, 173, 44, 160, 59, 37, 48, 45, 43, 101, 27,8 , 909,27 , 37,5 , 458,19 , 10304,48 , 10352,89 , 134,24 , 10445,48 , 10493,89 , 320,24 , 6728,28 , 6756,79 , 6835,14 , 6728,28 , 6756,79 , 6835,14 , 195,17 , 190,18 }, // Portuguese/Portugal
- { 91, 30, 44, 46, 59, 37, 48, 45, 43, 101, 27,8 , 909,27 , 37,5 , 458,19 , 10441,48 , 10489,89 , 134,24 , 10582,48 , 10630,89 , 320,24 , 6728,28 , 6849,79 , 6835,14 , 6728,28 , 6849,79 , 6835,14 , 0,2 , 0,2 }, // Portuguese/Brazil
- { 91, 92, 44, 46, 59, 37, 48, 45, 43, 101, 27,8 , 909,27 , 37,5 , 458,19 , 10441,48 , 10489,89 , 134,24 , 10582,48 , 10630,89 , 320,24 , 6728,28 , 6849,79 , 6835,14 , 6728,28 , 6849,79 , 6835,14 , 0,2 , 0,2 }, // Portuguese/GuineaBissau
- { 91, 146, 44, 46, 59, 37, 48, 45, 43, 101, 27,8 , 909,27 , 37,5 , 458,19 , 10441,48 , 10489,89 , 134,24 , 10582,48 , 10630,89 , 320,24 , 6728,28 , 6849,79 , 6835,14 , 6728,28 , 6849,79 , 6835,14 , 0,2 , 0,2 }, // Portuguese/Mozambique
- { 92, 100, 46, 44, 59, 37, 2662, 45, 43, 101, 141,10 , 123,18 , 18,7 , 25,12 , 10578,68 , 10578,68 , 10646,27 , 10719,68 , 10719,68 , 10787,27 , 6928,38 , 6966,55 , 7021,23 , 6928,38 , 6966,55 , 7021,23 , 212,5 , 208,4 }, // Punjabi/India
- { 92, 163, 46, 44, 59, 37, 2662, 45, 43, 101, 141,10 , 123,18 , 18,7 , 25,12 , 10673,67 , 10673,67 , 10646,27 , 10814,67 , 10814,67 , 10787,27 , 6928,38 , 7044,37 , 7021,23 , 6928,38 , 7044,37 , 7021,23 , 212,5 , 208,4 }, // Punjabi/Pakistan
- { 94, 206, 46, 8217, 59, 37, 48, 8722, 43, 101, 324,8 , 494,18 , 37,5 , 8,10 , 10740,67 , 10807,92 , 10899,24 , 10881,67 , 10948,92 , 11040,24 , 7081,23 , 7104,56 , 7160,14 , 7081,23 , 7104,56 , 7160,14 , 122,2 , 212,2 }, // RhaetoRomance/Switzerland
- { 95, 141, 44, 46, 59, 37, 48, 45, 43, 101, 936,10 , 10,17 , 37,5 , 8,10 , 10923,60 , 10983,98 , 11081,24 , 11064,60 , 11124,98 , 11222,24 , 7174,21 , 7195,48 , 2799,14 , 7174,21 , 7195,48 , 2799,14 , 0,2 , 0,2 }, // Romanian/Moldova
- { 95, 177, 44, 46, 59, 37, 48, 45, 43, 101, 936,10 , 10,17 , 37,5 , 8,10 , 10923,60 , 10983,98 , 11081,24 , 11064,60 , 11124,98 , 11222,24 , 7174,21 , 7195,48 , 2799,14 , 7174,21 , 7195,48 , 2799,14 , 0,2 , 0,2 }, // Romanian/Romania
- { 96, 178, 44, 160, 59, 37, 48, 45, 43, 101, 324,8 , 946,22 , 165,4 , 195,9 , 11105,62 , 11167,80 , 11247,24 , 11246,63 , 11309,82 , 11391,24 , 7243,21 , 7264,62 , 7326,14 , 7243,21 , 7340,62 , 7326,14 , 0,2 , 0,2 }, // Russian/RussianFederation
- { 96, 141, 44, 160, 59, 37, 48, 45, 43, 101, 324,8 , 946,22 , 165,4 , 195,9 , 11105,62 , 11167,80 , 11247,24 , 11246,63 , 11309,82 , 11391,24 , 7243,21 , 7264,62 , 7326,14 , 7243,21 , 7340,62 , 7326,14 , 0,2 , 0,2 }, // Russian/Moldova
- { 96, 222, 44, 160, 59, 37, 48, 45, 43, 101, 324,8 , 946,22 , 37,5 , 8,10 , 11105,62 , 11167,80 , 11247,24 , 11246,63 , 11309,82 , 11391,24 , 7243,21 , 7264,62 , 7326,14 , 7243,21 , 7340,62 , 7326,14 , 0,2 , 0,2 }, // Russian/Ukraine
- { 98, 41, 44, 46, 59, 37, 48, 45, 43, 101, 356,8 , 99,16 , 37,5 , 8,10 , 11271,48 , 11319,91 , 11410,24 , 11415,48 , 11463,91 , 11554,24 , 7402,28 , 7430,66 , 7496,14 , 7402,28 , 7430,66 , 7496,14 , 217,2 , 214,2 }, // Sangho/CentralAfricanRepublic
- { 99, 100, 46, 44, 59, 37, 2406, 45, 43, 101, 639,7 , 99,16 , 322,8 , 330,13 , 1483,27 , 1483,27 , 1483,27 , 134,27 , 134,27 , 134,27 , 798,14 , 798,14 , 798,14 , 798,14 , 798,14 , 798,14 , 0,2 , 0,2 }, // Sanskrit/India
- { 100, 241, 46, 44, 59, 37, 48, 45, 43, 101, 968,7 , 975,20 , 150,5 , 155,10 , 11434,48 , 11482,81 , 8254,24 , 11578,48 , 11626,81 , 8322,24 , 7510,28 , 7538,52 , 7590,14 , 7510,28 , 7538,52 , 7590,14 , 219,9 , 216,7 }, // Serbian/SerbiaAndMontenegro
- { 100, 27, 46, 44, 59, 37, 48, 45, 43, 101, 115,8 , 975,20 , 37,5 , 477,40 , 11434,48 , 11563,83 , 8254,24 , 11578,48 , 11707,83 , 8322,24 , 7604,28 , 7632,54 , 7590,14 , 7604,28 , 7632,54 , 7590,14 , 219,9 , 216,7 }, // Serbian/BosniaAndHerzegowina
- { 100, 238, 46, 44, 59, 37, 48, 45, 43, 101, 968,7 , 975,20 , 150,5 , 155,10 , 11434,48 , 11482,81 , 8254,24 , 11578,48 , 11626,81 , 8322,24 , 7510,28 , 7538,52 , 7590,14 , 7510,28 , 7538,52 , 7590,14 , 219,9 , 216,7 }, // Serbian/Yugoslavia
- { 100, 242, 46, 44, 59, 37, 48, 45, 43, 101, 968,7 , 975,20 , 150,5 , 155,10 , 11646,48 , 11694,81 , 11775,24 , 11790,48 , 11838,81 , 11919,24 , 7686,28 , 7714,54 , 2051,14 , 7686,28 , 7714,54 , 2051,14 , 228,9 , 223,7 }, // Serbian/Montenegro
- { 100, 243, 46, 44, 59, 37, 48, 45, 43, 101, 968,7 , 975,20 , 150,5 , 155,10 , 11434,48 , 11482,81 , 8254,24 , 11578,48 , 11626,81 , 8322,24 , 7510,28 , 7538,52 , 7590,14 , 7510,28 , 7538,52 , 7590,14 , 219,9 , 216,7 }, // Serbian/Serbia
- { 101, 241, 46, 44, 59, 37, 48, 45, 43, 101, 968,7 , 975,20 , 150,5 , 155,10 , 11646,48 , 11694,81 , 11775,24 , 11790,48 , 11838,81 , 11919,24 , 7686,28 , 7714,54 , 2051,14 , 7686,28 , 7714,54 , 2051,14 , 228,9 , 223,7 }, // SerboCroatian/SerbiaAndMontenegro
- { 101, 27, 46, 44, 59, 37, 48, 45, 43, 101, 968,7 , 975,20 , 150,5 , 155,10 , 11646,48 , 11694,81 , 11775,24 , 11790,48 , 11838,81 , 11919,24 , 7686,28 , 7714,54 , 2051,14 , 7686,28 , 7714,54 , 2051,14 , 228,9 , 223,7 }, // SerboCroatian/BosniaAndHerzegowina
- { 101, 238, 46, 44, 59, 37, 48, 45, 43, 101, 968,7 , 975,20 , 150,5 , 155,10 , 11646,48 , 11694,81 , 11775,24 , 11790,48 , 11838,81 , 11919,24 , 7686,28 , 7714,54 , 2051,14 , 7686,28 , 7714,54 , 2051,14 , 228,9 , 223,7 }, // SerboCroatian/Yugoslavia
- { 102, 120, 44, 160, 59, 37, 48, 45, 43, 101, 72,10 , 306,18 , 37,5 , 8,10 , 11799,48 , 11847,105 , 1483,27 , 11943,48 , 11991,105 , 134,27 , 7768,27 , 7795,61 , 798,14 , 7768,27 , 7795,61 , 798,14 , 0,2 , 0,2 }, // Sesotho/Lesotho
- { 102, 195, 44, 160, 59, 37, 48, 45, 43, 101, 72,10 , 306,18 , 37,5 , 8,10 , 11799,48 , 11847,105 , 1483,27 , 11943,48 , 11991,105 , 134,27 , 7768,27 , 7795,61 , 798,14 , 7768,27 , 7795,61 , 798,14 , 0,2 , 0,2 }, // Sesotho/SouthAfrica
- { 103, 195, 44, 160, 59, 37, 48, 45, 43, 101, 72,10 , 306,18 , 37,5 , 8,10 , 11952,48 , 12000,117 , 1483,27 , 12096,48 , 12144,117 , 134,27 , 7856,27 , 7883,64 , 798,14 , 7856,27 , 7883,64 , 798,14 , 0,2 , 0,2 }, // Setswana/SouthAfrica
+ { 57, 104, 46, 44, 59, 37, 48, 45, 43, 101, 141,10 , 99,16 , 37,5 , 8,10 , 6432,62 , 6494,107 , 6601,24 , 6521,62 , 6583,107 , 6690,24 , 4224,37 , 4261,75 , 4336,14 , 4224,37 , 4261,75 , 4336,14 , 56,4 , 56,4 }, // Irish/Ireland
+ { 58, 106, 44, 46, 59, 37, 48, 45, 43, 101, 27,8 , 99,16 , 37,5 , 8,10 , 6625,48 , 6673,94 , 6767,24 , 6714,48 , 6762,94 , 6856,24 , 4350,28 , 4378,57 , 4435,14 , 4350,28 , 4449,57 , 4435,14 , 132,2 , 132,2 }, // Italian/Italy
+ { 58, 206, 46, 39, 59, 37, 48, 45, 43, 101, 332,8 , 10,17 , 37,5 , 308,14 , 6625,48 , 6673,94 , 6767,24 , 6714,48 , 6762,94 , 6856,24 , 4350,28 , 4378,57 , 4435,14 , 4350,28 , 4449,57 , 4435,14 , 132,2 , 132,2 }, // Italian/Switzerland
+ { 59, 108, 46, 44, 59, 37, 48, 45, 43, 101, 221,8 , 429,13 , 165,4 , 343,10 , 3146,39 , 3146,39 , 1483,27 , 3170,39 , 3170,39 , 134,27 , 4506,14 , 4520,28 , 4506,14 , 4506,14 , 4520,28 , 4506,14 , 134,2 , 134,2 }, // Japanese/Japan
+ { 61, 100, 46, 44, 59, 37, 3302, 45, 43, 101, 655,6 , 99,16 , 322,8 , 330,13 , 6791,86 , 6791,86 , 6877,31 , 6880,86 , 6880,86 , 6966,31 , 4548,28 , 4576,53 , 4629,19 , 4548,28 , 4576,53 , 4629,19 , 136,2 , 136,2 }, // Kannada/India
+ { 63, 110, 44, 160, 59, 37, 48, 45, 43, 101, 332,8 , 691,22 , 37,5 , 8,10 , 6908,61 , 6969,83 , 1483,27 , 6997,61 , 7058,83 , 134,27 , 4648,28 , 4676,54 , 798,14 , 4648,28 , 4676,54 , 798,14 , 0,2 , 0,2 }, // Kazakh/Kazakhstan
+ { 64, 179, 44, 46, 59, 37, 48, 45, 43, 101, 221,8 , 314,18 , 37,5 , 8,10 , 7052,60 , 7112,101 , 1483,27 , 7141,60 , 7201,101 , 134,27 , 4730,35 , 4765,84 , 798,14 , 4730,35 , 4765,84 , 798,14 , 0,2 , 0,2 }, // Kinyarwanda/Rwanda
+ { 65, 116, 44, 160, 59, 37, 48, 45, 43, 101, 72,10 , 314,18 , 37,5 , 8,10 , 1483,27 , 1483,27 , 1483,27 , 134,27 , 134,27 , 134,27 , 798,14 , 798,14 , 798,14 , 798,14 , 798,14 , 798,14 , 0,2 , 0,2 }, // Kirghiz/Kyrgyzstan
+ { 66, 114, 46, 44, 59, 37, 48, 45, 43, 101, 713,9 , 722,16 , 353,7 , 360,13 , 7213,39 , 7213,39 , 7213,39 , 7302,39 , 7302,39 , 7302,39 , 4849,14 , 4863,28 , 4849,14 , 4849,14 , 4863,28 , 4849,14 , 138,2 , 138,2 }, // Korean/RepublicOfKorea
+ { 67, 102, 46, 44, 59, 37, 48, 45, 43, 101, 72,10 , 314,18 , 37,5 , 8,10 , 1483,27 , 1483,27 , 1483,27 , 134,27 , 134,27 , 134,27 , 4891,42 , 4891,42 , 4933,14 , 4891,42 , 4891,42 , 4933,14 , 0,2 , 0,2 }, // Kurdish/Iran
+ { 67, 103, 46, 44, 59, 37, 48, 45, 43, 101, 72,10 , 314,18 , 37,5 , 8,10 , 1483,27 , 1483,27 , 1483,27 , 134,27 , 134,27 , 134,27 , 4891,42 , 4891,42 , 4933,14 , 4891,42 , 4891,42 , 4933,14 , 0,2 , 0,2 }, // Kurdish/Iraq
+ { 67, 207, 46, 44, 59, 37, 48, 45, 43, 101, 72,10 , 314,18 , 37,5 , 8,10 , 7252,41 , 7293,51 , 7344,27 , 7341,41 , 7382,51 , 7433,27 , 4947,20 , 4967,39 , 5006,14 , 4947,20 , 4967,39 , 5006,14 , 0,2 , 0,2 }, // Kurdish/SyrianArabRepublic
+ { 67, 217, 46, 44, 59, 37, 48, 45, 43, 101, 72,10 , 314,18 , 37,5 , 8,10 , 7252,41 , 7293,51 , 7344,27 , 7341,41 , 7382,51 , 7433,27 , 4947,20 , 4967,39 , 5006,14 , 4947,20 , 4967,39 , 5006,14 , 0,2 , 0,2 }, // Kurdish/Turkey
+ { 69, 117, 46, 44, 59, 37, 48, 45, 43, 101, 364,8 , 738,18 , 165,4 , 373,21 , 7371,63 , 7434,75 , 1483,27 , 7460,63 , 7523,75 , 134,27 , 5020,24 , 5044,57 , 798,14 , 5020,24 , 5044,57 , 798,14 , 0,2 , 0,2 }, // Laothian/Lao
+ { 71, 118, 44, 160, 59, 37, 48, 8722, 43, 101, 332,8 , 756,26 , 37,5 , 8,10 , 7509,65 , 7574,101 , 134,24 , 7598,65 , 7663,101 , 320,24 , 5101,21 , 5122,72 , 5194,14 , 5101,21 , 5122,72 , 5194,14 , 140,14 , 140,11 }, // Latvian/Latvia
+ { 72, 49, 46, 44, 59, 37, 48, 45, 43, 101, 221,8 , 314,18 , 37,5 , 8,10 , 7675,39 , 7714,203 , 1483,27 , 7764,39 , 7803,203 , 134,27 , 5208,23 , 5231,98 , 798,14 , 5208,23 , 5231,98 , 798,14 , 0,2 , 0,2 }, // Lingala/DemocraticRepublicOfCongo
+ { 72, 50, 46, 44, 59, 37, 48, 45, 43, 101, 221,8 , 314,18 , 37,5 , 8,10 , 7675,39 , 7714,203 , 1483,27 , 7764,39 , 7803,203 , 134,27 , 5208,23 , 5231,98 , 798,14 , 5208,23 , 5231,98 , 798,14 , 0,2 , 0,2 }, // Lingala/PeoplesRepublicOfCongo
+ { 73, 124, 44, 46, 59, 37, 48, 8722, 43, 101, 72,10 , 782,26 , 37,5 , 8,10 , 7917,69 , 7986,96 , 8082,24 , 8006,48 , 8054,96 , 8150,24 , 5329,17 , 5346,89 , 5435,14 , 5449,21 , 5346,89 , 5435,14 , 154,9 , 151,6 }, // Lithuanian/Lithuania
+ { 74, 127, 44, 46, 59, 37, 48, 45, 43, 101, 808,7 , 123,18 , 37,5 , 8,10 , 8106,63 , 8169,85 , 8254,24 , 8174,63 , 8237,85 , 8322,24 , 5470,34 , 5504,54 , 1391,14 , 5470,34 , 5504,54 , 1391,14 , 163,10 , 157,8 }, // Macedonian/Macedonia
+ { 75, 128, 46, 44, 59, 37, 48, 45, 43, 101, 364,8 , 99,16 , 37,5 , 8,10 , 8278,48 , 8326,92 , 134,24 , 8346,48 , 8394,92 , 320,24 , 5558,34 , 5592,60 , 5652,14 , 5558,34 , 5592,60 , 5652,14 , 0,2 , 0,2 }, // Malagasy/Madagascar
+ { 76, 130, 46, 44, 59, 37, 48, 45, 43, 101, 141,10 , 815,16 , 394,4 , 25,12 , 8418,49 , 8467,82 , 1483,27 , 8486,49 , 8535,82 , 134,27 , 5666,28 , 5694,43 , 798,14 , 5666,28 , 5694,43 , 798,14 , 0,2 , 0,2 }, // Malay/Malaysia
+ { 76, 32, 44, 46, 59, 37, 48, 45, 43, 101, 141,10 , 564,12 , 165,4 , 398,14 , 8418,49 , 8467,82 , 1483,27 , 8486,49 , 8535,82 , 134,27 , 5666,28 , 5694,43 , 798,14 , 5666,28 , 5694,43 , 798,14 , 0,2 , 0,2 }, // Malay/BruneiDarussalam
+ { 77, 100, 46, 44, 59, 37, 48, 45, 43, 101, 27,8 , 831,18 , 18,7 , 25,12 , 8549,66 , 8615,101 , 8716,31 , 8617,66 , 8683,101 , 8784,31 , 5737,47 , 5784,70 , 5854,22 , 5737,47 , 5784,70 , 5854,22 , 173,6 , 165,10 }, // Malayalam/India
+ { 78, 133, 46, 44, 59, 37, 48, 45, 43, 101, 141,10 , 849,23 , 37,5 , 8,10 , 8747,48 , 8795,86 , 8881,24 , 8815,48 , 8863,86 , 8949,24 , 5876,28 , 5904,63 , 5967,14 , 5876,28 , 5904,63 , 5967,14 , 179,2 , 175,2 }, // Maltese/Malta
+ { 79, 154, 46, 44, 59, 37, 48, 45, 43, 101, 72,10 , 314,18 , 37,5 , 8,10 , 8905,83 , 8905,83 , 1483,27 , 8973,83 , 8973,83 , 134,27 , 5981,48 , 5981,48 , 798,14 , 5981,48 , 5981,48 , 798,14 , 0,2 , 0,2 }, // Maori/NewZealand
+ { 80, 100, 46, 44, 59, 37, 2406, 45, 43, 101, 655,6 , 99,16 , 412,7 , 419,12 , 8988,86 , 8988,86 , 9074,32 , 9056,86 , 9056,86 , 9142,32 , 6029,32 , 6061,53 , 3895,19 , 6029,32 , 6061,53 , 3895,19 , 136,2 , 136,2 }, // Marathi/India
+ { 82, 143, 44, 160, 59, 37, 48, 45, 43, 101, 72,10 , 314,18 , 37,5 , 8,10 , 9106,48 , 9154,66 , 1483,27 , 9174,48 , 9222,66 , 134,27 , 6114,21 , 6135,43 , 798,14 , 6114,21 , 6135,43 , 798,14 , 0,2 , 0,2 }, // Mongolian/Mongolia
+ { 82, 44, 44, 160, 59, 37, 48, 45, 43, 101, 72,10 , 314,18 , 37,5 , 8,10 , 9106,48 , 9154,66 , 1483,27 , 9174,48 , 9222,66 , 134,27 , 6114,21 , 6135,43 , 798,14 , 6114,21 , 6135,43 , 798,14 , 0,2 , 0,2 }, // Mongolian/China
+ { 84, 150, 46, 44, 59, 37, 2406, 45, 43, 101, 72,10 , 314,18 , 37,5 , 8,10 , 9220,56 , 9276,85 , 9361,27 , 9288,56 , 9344,85 , 9429,27 , 6178,33 , 6211,54 , 6265,14 , 6178,33 , 6211,54 , 6265,14 , 181,14 , 177,14 }, // Nepali/Nepal
+ { 84, 100, 46, 44, 59, 37, 2406, 45, 43, 101, 72,10 , 314,18 , 37,5 , 8,10 , 9220,56 , 9388,80 , 9361,27 , 9288,56 , 9456,80 , 9429,27 , 6178,33 , 6279,54 , 6265,14 , 6178,33 , 6279,54 , 6265,14 , 116,9 , 118,7 }, // Nepali/India
+ { 85, 161, 44, 160, 59, 37, 48, 45, 43, 101, 332,8 , 594,17 , 37,5 , 431,16 , 9468,59 , 9527,83 , 134,24 , 9536,59 , 9595,83 , 320,24 , 6333,28 , 2177,51 , 2228,14 , 6361,35 , 2177,51 , 2228,14 , 0,2 , 0,2 }, // Norwegian/Norway
+ { 86, 74, 46, 44, 59, 37, 48, 45, 43, 101, 72,10 , 314,18 , 37,5 , 8,10 , 9610,83 , 9610,83 , 1483,27 , 9678,83 , 9678,83 , 134,27 , 6396,57 , 6396,57 , 798,14 , 6396,57 , 6396,57 , 798,14 , 0,2 , 0,2 }, // Occitan/France
+ { 87, 100, 46, 44, 59, 37, 2918, 45, 43, 101, 655,6 , 10,17 , 18,7 , 25,12 , 9693,89 , 9693,89 , 9782,32 , 9761,89 , 9761,89 , 9850,32 , 6453,33 , 6486,54 , 6540,18 , 6453,33 , 6486,54 , 6540,18 , 136,2 , 136,2 }, // Oriya/India
+ { 88, 1, 1643, 1644, 59, 1642, 1776, 8722, 43, 101, 179,8 , 872,20 , 165,4 , 447,11 , 9814,68 , 9814,68 , 1483,27 , 9882,68 , 9882,68 , 134,27 , 6558,49 , 6558,49 , 798,14 , 6558,49 , 6558,49 , 798,14 , 195,4 , 191,4 }, // Pashto/Afghanistan
+ { 89, 102, 1643, 1644, 1563, 1642, 1776, 8722, 43, 101, 558,6 , 35,18 , 165,4 , 447,11 , 9882,71 , 9953,70 , 10023,25 , 9950,71 , 10021,73 , 10094,25 , 6558,49 , 6558,49 , 6607,14 , 6558,49 , 6558,49 , 6607,14 , 199,10 , 195,10 }, // Persian/Iran
+ { 89, 1, 1643, 1644, 1563, 1642, 1776, 8722, 43, 101, 558,6 , 35,18 , 165,4 , 447,11 , 10048,63 , 9953,70 , 10111,24 , 10119,63 , 10182,68 , 10250,24 , 6558,49 , 6558,49 , 6607,14 , 6558,49 , 6558,49 , 6607,14 , 199,10 , 195,10 }, // Persian/Afghanistan
+ { 90, 172, 44, 160, 59, 37, 48, 45, 43, 101, 892,10 , 10,17 , 37,5 , 8,10 , 10135,48 , 10183,97 , 10280,24 , 10274,48 , 10322,99 , 10421,24 , 6621,34 , 6655,59 , 6714,14 , 6621,34 , 6655,59 , 6714,14 , 0,2 , 0,2 }, // Polish/Poland
+ { 91, 173, 44, 160, 59, 37, 48, 45, 43, 101, 27,8 , 902,27 , 37,5 , 458,19 , 10304,48 , 10352,89 , 134,24 , 10445,48 , 10493,89 , 320,24 , 6728,28 , 6756,79 , 6835,14 , 6728,28 , 6756,79 , 6835,14 , 209,17 , 205,18 }, // Portuguese/Portugal
+ { 91, 30, 44, 46, 59, 37, 48, 45, 43, 101, 27,8 , 902,27 , 37,5 , 458,19 , 10441,48 , 10489,89 , 134,24 , 10582,48 , 10630,89 , 320,24 , 6728,28 , 6849,79 , 6835,14 , 6728,28 , 6849,79 , 6835,14 , 0,2 , 0,2 }, // Portuguese/Brazil
+ { 91, 92, 44, 46, 59, 37, 48, 45, 43, 101, 27,8 , 902,27 , 37,5 , 458,19 , 10441,48 , 10489,89 , 134,24 , 10582,48 , 10630,89 , 320,24 , 6728,28 , 6849,79 , 6835,14 , 6728,28 , 6849,79 , 6835,14 , 0,2 , 0,2 }, // Portuguese/GuineaBissau
+ { 91, 146, 44, 46, 59, 37, 48, 45, 43, 101, 27,8 , 902,27 , 37,5 , 458,19 , 10441,48 , 10489,89 , 134,24 , 10582,48 , 10630,89 , 320,24 , 6728,28 , 6849,79 , 6835,14 , 6728,28 , 6849,79 , 6835,14 , 0,2 , 0,2 }, // Portuguese/Mozambique
+ { 92, 100, 46, 44, 59, 37, 2662, 45, 43, 101, 141,10 , 123,18 , 18,7 , 25,12 , 10578,68 , 10578,68 , 10646,27 , 10719,68 , 10719,68 , 10787,27 , 6928,38 , 6966,55 , 7021,23 , 6928,38 , 6966,55 , 7021,23 , 226,5 , 223,4 }, // Punjabi/India
+ { 92, 163, 46, 44, 59, 37, 1632, 45, 43, 101, 141,10 , 123,18 , 18,7 , 25,12 , 10673,67 , 10673,67 , 10646,27 , 10814,67 , 10814,67 , 10787,27 , 6928,38 , 7044,37 , 7021,23 , 6928,38 , 7044,37 , 7021,23 , 226,5 , 223,4 }, // Punjabi/Pakistan
+ { 94, 206, 46, 8217, 59, 37, 48, 8722, 43, 101, 332,8 , 502,18 , 37,5 , 8,10 , 10740,67 , 10807,92 , 10899,24 , 10881,67 , 10948,92 , 11040,24 , 7081,23 , 7104,56 , 7160,14 , 7081,23 , 7104,56 , 7160,14 , 136,2 , 227,2 }, // RhaetoRomance/Switzerland
+ { 95, 141, 44, 46, 59, 37, 48, 45, 43, 101, 929,10 , 10,17 , 37,5 , 8,10 , 10923,60 , 10983,98 , 11081,24 , 11064,60 , 11124,98 , 11222,24 , 7174,21 , 7195,48 , 2799,14 , 7174,21 , 7195,48 , 2799,14 , 0,2 , 0,2 }, // Romanian/Moldova
+ { 95, 177, 44, 46, 59, 37, 48, 45, 43, 101, 929,10 , 10,17 , 37,5 , 8,10 , 10923,60 , 10983,98 , 11081,24 , 11064,60 , 11124,98 , 11222,24 , 7174,21 , 7195,48 , 2799,14 , 7174,21 , 7195,48 , 2799,14 , 0,2 , 0,2 }, // Romanian/Romania
+ { 96, 178, 44, 160, 59, 37, 48, 45, 43, 101, 332,8 , 939,22 , 165,4 , 195,9 , 11105,62 , 11167,80 , 11247,24 , 11246,63 , 11309,82 , 11391,24 , 7243,21 , 7264,62 , 7326,14 , 7243,21 , 7340,62 , 7326,14 , 0,2 , 0,2 }, // Russian/RussianFederation
+ { 96, 141, 44, 160, 59, 37, 48, 45, 43, 101, 332,8 , 939,22 , 165,4 , 195,9 , 11105,62 , 11167,80 , 11247,24 , 11246,63 , 11309,82 , 11391,24 , 7243,21 , 7264,62 , 7326,14 , 7243,21 , 7340,62 , 7326,14 , 0,2 , 0,2 }, // Russian/Moldova
+ { 96, 222, 44, 160, 59, 37, 48, 45, 43, 101, 332,8 , 939,22 , 37,5 , 8,10 , 11105,62 , 11167,80 , 11247,24 , 11246,63 , 11309,82 , 11391,24 , 7243,21 , 7264,62 , 7326,14 , 7243,21 , 7340,62 , 7326,14 , 0,2 , 0,2 }, // Russian/Ukraine
+ { 98, 41, 44, 46, 59, 37, 48, 45, 43, 101, 364,8 , 99,16 , 37,5 , 8,10 , 11271,48 , 11319,91 , 11410,24 , 11415,48 , 11463,91 , 11554,24 , 7402,28 , 7430,66 , 7496,14 , 7402,28 , 7430,66 , 7496,14 , 231,2 , 229,2 }, // Sangho/CentralAfricanRepublic
+ { 99, 100, 46, 44, 59, 37, 2406, 45, 43, 101, 630,7 , 99,16 , 322,8 , 330,13 , 1483,27 , 1483,27 , 1483,27 , 134,27 , 134,27 , 134,27 , 798,14 , 798,14 , 798,14 , 798,14 , 798,14 , 798,14 , 0,2 , 0,2 }, // Sanskrit/India
+ { 100, 241, 46, 44, 59, 37, 48, 45, 43, 101, 961,7 , 968,20 , 150,5 , 155,10 , 11434,48 , 11482,81 , 8254,24 , 11578,48 , 11626,81 , 8322,24 , 7510,28 , 7538,52 , 7590,14 , 7510,28 , 7538,52 , 7590,14 , 233,9 , 231,7 }, // Serbian/SerbiaAndMontenegro
+ { 100, 27, 46, 44, 59, 37, 48, 45, 43, 101, 115,8 , 968,20 , 37,5 , 477,40 , 11434,48 , 11563,83 , 8254,24 , 11578,48 , 11707,83 , 8322,24 , 7604,28 , 7632,54 , 7590,14 , 7604,28 , 7632,54 , 7590,14 , 233,9 , 231,7 }, // Serbian/BosniaAndHerzegowina
+ { 100, 238, 46, 44, 59, 37, 48, 45, 43, 101, 961,7 , 968,20 , 150,5 , 155,10 , 11434,48 , 11482,81 , 8254,24 , 11578,48 , 11626,81 , 8322,24 , 7510,28 , 7538,52 , 7590,14 , 7510,28 , 7538,52 , 7590,14 , 233,9 , 231,7 }, // Serbian/Yugoslavia
+ { 100, 242, 46, 44, 59, 37, 48, 45, 43, 101, 961,7 , 968,20 , 150,5 , 155,10 , 11646,48 , 11694,81 , 11775,24 , 11790,48 , 11838,81 , 11919,24 , 7686,28 , 7714,54 , 2051,14 , 7686,28 , 7714,54 , 2051,14 , 242,9 , 238,7 }, // Serbian/Montenegro
+ { 100, 243, 46, 44, 59, 37, 48, 45, 43, 101, 961,7 , 968,20 , 150,5 , 155,10 , 11434,48 , 11482,81 , 8254,24 , 11578,48 , 11626,81 , 8322,24 , 7510,28 , 7538,52 , 7590,14 , 7510,28 , 7538,52 , 7590,14 , 233,9 , 231,7 }, // Serbian/Serbia
+ { 101, 241, 46, 44, 59, 37, 48, 45, 43, 101, 961,7 , 968,20 , 150,5 , 155,10 , 11646,48 , 11694,81 , 11775,24 , 11790,48 , 11838,81 , 11919,24 , 7686,28 , 7714,54 , 2051,14 , 7686,28 , 7714,54 , 2051,14 , 242,9 , 238,7 }, // SerboCroatian/SerbiaAndMontenegro
+ { 101, 27, 46, 44, 59, 37, 48, 45, 43, 101, 961,7 , 968,20 , 150,5 , 155,10 , 11646,48 , 11694,81 , 11775,24 , 11790,48 , 11838,81 , 11919,24 , 7686,28 , 7714,54 , 2051,14 , 7686,28 , 7714,54 , 2051,14 , 242,9 , 238,7 }, // SerboCroatian/BosniaAndHerzegowina
+ { 101, 238, 46, 44, 59, 37, 48, 45, 43, 101, 961,7 , 968,20 , 150,5 , 155,10 , 11646,48 , 11694,81 , 11775,24 , 11790,48 , 11838,81 , 11919,24 , 7686,28 , 7714,54 , 2051,14 , 7686,28 , 7714,54 , 2051,14 , 242,9 , 238,7 }, // SerboCroatian/Yugoslavia
+ { 102, 120, 44, 160, 59, 37, 48, 45, 43, 101, 72,10 , 314,18 , 37,5 , 8,10 , 11799,48 , 11847,105 , 1483,27 , 11943,48 , 11991,105 , 134,27 , 7768,27 , 7795,61 , 798,14 , 7768,27 , 7795,61 , 798,14 , 0,2 , 0,2 }, // Sesotho/Lesotho
+ { 102, 195, 44, 160, 59, 37, 48, 45, 43, 101, 72,10 , 314,18 , 37,5 , 8,10 , 11799,48 , 11847,105 , 1483,27 , 11943,48 , 11991,105 , 134,27 , 7768,27 , 7795,61 , 798,14 , 7768,27 , 7795,61 , 798,14 , 0,2 , 0,2 }, // Sesotho/SouthAfrica
+ { 103, 195, 44, 160, 59, 37, 48, 45, 43, 101, 72,10 , 314,18 , 37,5 , 8,10 , 11952,48 , 12000,117 , 1483,27 , 12096,48 , 12144,117 , 134,27 , 7856,27 , 7883,64 , 798,14 , 7856,27 , 7883,64 , 798,14 , 0,2 , 0,2 }, // Setswana/SouthAfrica
{ 104, 240, 46, 44, 59, 37, 48, 45, 43, 101, 141,10 , 10,17 , 18,7 , 25,12 , 12117,47 , 12164,100 , 12264,24 , 12261,47 , 12308,100 , 12408,24 , 7947,32 , 7979,55 , 8034,14 , 7947,32 , 7979,55 , 8034,14 , 0,2 , 0,2 }, // Shona/Zimbabwe
- { 106, 198, 46, 44, 59, 37, 48, 45, 43, 101, 585,10 , 995,17 , 18,7 , 25,12 , 12288,54 , 12342,92 , 12434,32 , 12432,54 , 12486,92 , 12578,32 , 8048,30 , 8078,62 , 8140,19 , 8048,30 , 8078,62 , 8140,19 , 237,5 , 230,4 }, // Singhalese/SriLanka
- { 107, 195, 44, 160, 59, 37, 48, 45, 43, 101, 72,10 , 306,18 , 37,5 , 8,10 , 12466,48 , 12514,114 , 1483,27 , 12610,48 , 12658,114 , 134,27 , 8159,27 , 8186,68 , 798,14 , 8159,27 , 8186,68 , 798,14 , 0,2 , 0,2 }, // Siswati/SouthAfrica
- { 107, 204, 44, 160, 59, 37, 48, 45, 43, 101, 72,10 , 306,18 , 37,5 , 8,10 , 12466,48 , 12514,114 , 1483,27 , 12610,48 , 12658,114 , 134,27 , 8159,27 , 8186,68 , 798,14 , 8159,27 , 8186,68 , 798,14 , 0,2 , 0,2 }, // Siswati/Swaziland
- { 108, 191, 44, 160, 59, 37, 48, 45, 43, 101, 595,8 , 494,18 , 165,4 , 195,9 , 12628,48 , 12676,82 , 11775,24 , 12772,48 , 12820,89 , 11919,24 , 8254,21 , 8275,52 , 8327,14 , 8254,21 , 8275,52 , 8327,14 , 242,10 , 234,9 }, // Slovak/Slovakia
- { 109, 192, 44, 46, 59, 37, 48, 45, 43, 101, 1012,9 , 620,19 , 37,5 , 8,10 , 11646,48 , 12758,86 , 11775,24 , 11790,48 , 12909,86 , 11919,24 , 8341,28 , 8369,52 , 8421,14 , 8341,28 , 8369,52 , 8421,14 , 53,4 , 243,4 }, // Slovenian/Slovenia
- { 110, 194, 46, 44, 59, 37, 48, 45, 43, 101, 27,8 , 53,19 , 18,7 , 25,12 , 12844,48 , 12892,189 , 13081,24 , 12995,48 , 13043,189 , 13232,24 , 8435,28 , 8463,47 , 8510,14 , 8435,28 , 8463,47 , 8510,14 , 252,3 , 247,3 }, // Somali/Somalia
- { 110, 59, 46, 44, 59, 37, 48, 45, 43, 101, 27,8 , 53,19 , 18,7 , 25,12 , 12844,48 , 12892,189 , 13081,24 , 12995,48 , 13043,189 , 13232,24 , 8435,28 , 8463,47 , 8510,14 , 8435,28 , 8463,47 , 8510,14 , 252,3 , 247,3 }, // Somali/Djibouti
- { 110, 69, 46, 44, 59, 37, 48, 45, 43, 101, 27,8 , 53,19 , 18,7 , 25,12 , 12844,48 , 12892,189 , 13081,24 , 12995,48 , 13043,189 , 13232,24 , 8435,28 , 8463,47 , 8510,14 , 8435,28 , 8463,47 , 8510,14 , 252,3 , 247,3 }, // Somali/Ethiopia
- { 110, 111, 46, 44, 59, 37, 48, 45, 43, 101, 27,8 , 53,19 , 18,7 , 25,12 , 12844,48 , 12892,189 , 13081,24 , 12995,48 , 13043,189 , 13232,24 , 8435,28 , 8463,47 , 8510,14 , 8435,28 , 8463,47 , 8510,14 , 252,3 , 247,3 }, // Somali/Kenya
- { 111, 197, 44, 46, 59, 37, 48, 45, 43, 101, 27,8 , 1021,26 , 37,5 , 8,10 , 13105,48 , 13153,89 , 13242,24 , 13256,48 , 13304,89 , 13393,24 , 8524,28 , 8552,53 , 2799,14 , 8524,28 , 8552,53 , 2799,14 , 49,4 , 49,4 }, // Spanish/Spain
- { 111, 10, 44, 46, 59, 37, 48, 45, 43, 101, 27,8 , 1021,26 , 37,5 , 517,14 , 13105,48 , 13153,89 , 13242,24 , 13256,48 , 13304,89 , 13393,24 , 8524,28 , 8552,53 , 2799,14 , 8524,28 , 8552,53 , 2799,14 , 49,4 , 49,4 }, // Spanish/Argentina
- { 111, 26, 44, 46, 59, 37, 48, 45, 43, 101, 27,8 , 1021,26 , 37,5 , 8,10 , 13105,48 , 13153,89 , 13242,24 , 13256,48 , 13304,89 , 13393,24 , 8524,28 , 8552,53 , 2799,14 , 8524,28 , 8552,53 , 2799,14 , 49,4 , 49,4 }, // Spanish/Bolivia
- { 111, 43, 44, 46, 59, 37, 48, 45, 43, 101, 535,8 , 1021,26 , 165,4 , 8,10 , 13105,48 , 13153,89 , 13242,24 , 13256,48 , 13304,89 , 13393,24 , 8524,28 , 8552,53 , 2799,14 , 8524,28 , 8552,53 , 2799,14 , 49,4 , 49,4 }, // Spanish/Chile
- { 111, 47, 44, 46, 59, 37, 48, 45, 43, 101, 543,7 , 1021,26 , 165,4 , 8,10 , 13105,48 , 13153,89 , 13242,24 , 13256,48 , 13304,89 , 13393,24 , 8524,28 , 8552,53 , 2799,14 , 8524,28 , 8552,53 , 2799,14 , 49,4 , 49,4 }, // Spanish/Colombia
- { 111, 52, 44, 46, 59, 37, 48, 45, 43, 101, 27,8 , 1021,26 , 37,5 , 8,10 , 13105,48 , 13153,89 , 13242,24 , 13256,48 , 13304,89 , 13393,24 , 8524,28 , 8552,53 , 2799,14 , 8524,28 , 8552,53 , 2799,14 , 49,4 , 49,4 }, // Spanish/CostaRica
- { 111, 61, 46, 44, 59, 37, 48, 45, 43, 101, 27,8 , 1021,26 , 37,5 , 8,10 , 13105,48 , 13153,89 , 13242,24 , 13256,48 , 13304,89 , 13393,24 , 8524,28 , 8552,53 , 2799,14 , 8524,28 , 8552,53 , 2799,14 , 49,4 , 49,4 }, // Spanish/DominicanRepublic
- { 111, 63, 44, 46, 59, 37, 48, 45, 43, 101, 27,8 , 1021,26 , 165,4 , 8,10 , 13105,48 , 13153,89 , 13242,24 , 13256,48 , 13304,89 , 13393,24 , 8524,28 , 8552,53 , 2799,14 , 8524,28 , 8552,53 , 2799,14 , 49,4 , 49,4 }, // Spanish/Ecuador
- { 111, 65, 46, 44, 59, 37, 48, 45, 43, 101, 27,8 , 1021,26 , 37,5 , 8,10 , 13105,48 , 13153,89 , 13242,24 , 13256,48 , 13304,89 , 13393,24 , 8524,28 , 8552,53 , 2799,14 , 8524,28 , 8552,53 , 2799,14 , 49,4 , 49,4 }, // Spanish/ElSalvador
- { 111, 66, 44, 46, 59, 37, 48, 45, 43, 101, 27,8 , 1021,26 , 37,5 , 8,10 , 13105,48 , 13153,89 , 13242,24 , 13256,48 , 13304,89 , 13393,24 , 8524,28 , 8552,53 , 2799,14 , 8524,28 , 8552,53 , 2799,14 , 49,4 , 49,4 }, // Spanish/EquatorialGuinea
- { 111, 90, 46, 44, 59, 37, 48, 45, 43, 101, 543,7 , 1021,26 , 37,5 , 8,10 , 13105,48 , 13153,89 , 13242,24 , 13256,48 , 13304,89 , 13393,24 , 8524,28 , 8552,53 , 2799,14 , 8524,28 , 8552,53 , 2799,14 , 49,4 , 49,4 }, // Spanish/Guatemala
- { 111, 96, 46, 44, 59, 37, 48, 45, 43, 101, 27,8 , 1047,27 , 37,5 , 8,10 , 13105,48 , 13153,89 , 13242,24 , 13256,48 , 13304,89 , 13393,24 , 8524,28 , 8552,53 , 2799,14 , 8524,28 , 8552,53 , 2799,14 , 49,4 , 49,4 }, // Spanish/Honduras
- { 111, 139, 46, 44, 59, 37, 48, 45, 43, 101, 27,8 , 1021,26 , 37,5 , 8,10 , 13105,48 , 13153,89 , 13242,24 , 13256,48 , 13304,89 , 13393,24 , 8524,28 , 8552,53 , 2799,14 , 8524,28 , 8552,53 , 2799,14 , 49,4 , 49,4 }, // Spanish/Mexico
- { 111, 155, 46, 44, 59, 37, 48, 45, 43, 101, 27,8 , 1021,26 , 37,5 , 8,10 , 13105,48 , 13153,89 , 13242,24 , 13256,48 , 13304,89 , 13393,24 , 8524,28 , 8552,53 , 2799,14 , 8524,28 , 8552,53 , 2799,14 , 49,4 , 49,4 }, // Spanish/Nicaragua
- { 111, 166, 46, 44, 59, 37, 48, 45, 43, 101, 179,8 , 1021,26 , 37,5 , 8,10 , 13105,48 , 13153,89 , 13242,24 , 13256,48 , 13304,89 , 13393,24 , 8524,28 , 8552,53 , 2799,14 , 8524,28 , 8552,53 , 2799,14 , 49,4 , 49,4 }, // Spanish/Panama
- { 111, 168, 44, 46, 59, 37, 48, 45, 43, 101, 27,8 , 1021,26 , 37,5 , 8,10 , 13105,48 , 13153,89 , 13242,24 , 13256,48 , 13304,89 , 13393,24 , 8524,28 , 8552,53 , 2799,14 , 8524,28 , 8552,53 , 2799,14 , 49,4 , 49,4 }, // Spanish/Paraguay
- { 111, 169, 46, 44, 59, 37, 48, 45, 43, 101, 543,7 , 1021,26 , 37,5 , 531,15 , 13105,48 , 13153,89 , 13242,24 , 13256,48 , 13304,89 , 13393,24 , 8524,28 , 8552,53 , 2799,14 , 8524,28 , 8552,53 , 2799,14 , 49,4 , 49,4 }, // Spanish/Peru
- { 111, 174, 46, 44, 59, 37, 48, 45, 43, 101, 179,8 , 1021,26 , 37,5 , 8,10 , 13105,48 , 13153,89 , 13242,24 , 13256,48 , 13304,89 , 13393,24 , 8524,28 , 8552,53 , 2799,14 , 8524,28 , 8552,53 , 2799,14 , 49,4 , 49,4 }, // Spanish/PuertoRico
- { 111, 225, 46, 44, 59, 37, 48, 45, 43, 101, 550,6 , 1021,26 , 18,7 , 25,12 , 13105,48 , 13153,89 , 13242,24 , 13256,48 , 13304,89 , 13393,24 , 8524,28 , 8552,53 , 2799,14 , 8524,28 , 8552,53 , 2799,14 , 49,4 , 49,4 }, // Spanish/UnitedStates
- { 111, 227, 44, 46, 59, 37, 48, 45, 43, 101, 27,8 , 1021,26 , 37,5 , 8,10 , 13105,48 , 13153,89 , 13242,24 , 13256,48 , 13304,89 , 13393,24 , 8524,28 , 8552,53 , 2799,14 , 8524,28 , 8552,53 , 2799,14 , 49,4 , 49,4 }, // Spanish/Uruguay
- { 111, 231, 44, 46, 59, 37, 48, 45, 43, 101, 27,8 , 1021,26 , 37,5 , 8,10 , 13105,48 , 13153,89 , 13242,24 , 13256,48 , 13304,89 , 13393,24 , 8524,28 , 8552,53 , 2799,14 , 8524,28 , 8552,53 , 2799,14 , 49,4 , 49,4 }, // Spanish/Venezuela
- { 113, 111, 46, 44, 59, 37, 48, 45, 43, 101, 141,10 , 10,17 , 18,7 , 25,12 , 13266,48 , 13314,84 , 134,24 , 13417,48 , 13465,84 , 320,24 , 8605,22 , 8627,60 , 8687,14 , 8605,22 , 8627,60 , 8687,14 , 255,7 , 250,7 }, // Swahili/Kenya
- { 113, 210, 46, 44, 59, 37, 48, 45, 43, 101, 141,10 , 10,17 , 18,7 , 25,12 , 13266,48 , 13314,84 , 134,24 , 13417,48 , 13465,84 , 320,24 , 8605,22 , 8627,60 , 8687,14 , 8605,22 , 8627,60 , 8687,14 , 255,7 , 250,7 }, // Swahili/Tanzania
- { 114, 205, 44, 160, 59, 37, 48, 8722, 43, 101, 72,10 , 1074,30 , 37,5 , 431,16 , 3473,48 , 13398,86 , 134,24 , 5180,48 , 13549,86 , 320,24 , 8701,29 , 8730,50 , 2228,14 , 8701,29 , 8730,50 , 2228,14 , 262,2 , 257,2 }, // Swedish/Sweden
- { 114, 73, 44, 160, 59, 37, 48, 8722, 43, 101, 72,10 , 1074,30 , 37,5 , 431,16 , 3473,48 , 13398,86 , 134,24 , 5180,48 , 13549,86 , 320,24 , 8701,29 , 8730,50 , 2228,14 , 8701,29 , 8730,50 , 2228,14 , 262,2 , 257,2 }, // Swedish/Finland
- { 116, 209, 46, 44, 59, 37, 48, 45, 43, 101, 213,8 , 306,18 , 37,5 , 8,10 , 13484,48 , 13532,71 , 1483,27 , 13635,48 , 13683,71 , 134,27 , 8780,28 , 8808,55 , 798,14 , 8780,28 , 8808,55 , 798,14 , 0,2 , 0,2 }, // Tajik/Tajikistan
- { 117, 100, 46, 44, 59, 37, 48, 45, 43, 101, 664,6 , 195,18 , 18,7 , 25,12 , 13603,58 , 13661,86 , 13747,31 , 13754,58 , 13812,86 , 13898,31 , 8863,20 , 8883,49 , 8863,20 , 8863,20 , 8883,49 , 8863,20 , 122,2 , 121,2 }, // Tamil/India
- { 117, 198, 46, 44, 59, 37, 48, 45, 43, 101, 664,6 , 195,18 , 18,7 , 25,12 , 13603,58 , 13661,86 , 13747,31 , 13754,58 , 13812,86 , 13898,31 , 8863,20 , 8883,49 , 8863,20 , 8863,20 , 8883,49 , 8863,20 , 122,2 , 121,2 }, // Tamil/SriLanka
- { 118, 178, 44, 160, 59, 37, 48, 45, 43, 101, 936,10 , 1104,11 , 165,4 , 25,12 , 1483,27 , 1483,27 , 1483,27 , 134,27 , 134,27 , 134,27 , 798,14 , 798,14 , 798,14 , 798,14 , 798,14 , 798,14 , 0,2 , 0,2 }, // Tatar/RussianFederation
- { 119, 100, 46, 44, 59, 37, 48, 45, 43, 101, 535,8 , 99,16 , 18,7 , 25,12 , 13778,86 , 13778,86 , 13864,30 , 13929,86 , 13929,86 , 14015,30 , 8932,32 , 8964,60 , 9024,18 , 8932,32 , 8964,60 , 9024,18 , 0,2 , 0,2 }, // Telugu/India
- { 120, 211, 46, 44, 59, 37, 48, 45, 43, 101, 356,8 , 1115,19 , 165,4 , 546,27 , 13894,63 , 13957,98 , 13894,63 , 14045,63 , 14108,98 , 14206,24 , 9042,23 , 9065,68 , 9133,14 , 9042,23 , 9065,68 , 9133,14 , 264,10 , 259,10 }, // Thai/Thailand
- { 121, 44, 46, 44, 59, 37, 3872, 45, 43, 101, 72,10 , 306,18 , 37,5 , 8,10 , 14055,63 , 14118,158 , 1483,27 , 14230,63 , 14293,158 , 134,27 , 9147,49 , 9196,77 , 9273,21 , 9147,49 , 9196,77 , 9273,21 , 274,7 , 269,8 }, // Tibetan/China
- { 121, 100, 46, 44, 59, 37, 3872, 45, 43, 101, 72,10 , 306,18 , 37,5 , 8,10 , 14055,63 , 14118,158 , 1483,27 , 14230,63 , 14293,158 , 134,27 , 9147,49 , 9196,77 , 9273,21 , 9147,49 , 9196,77 , 9273,21 , 274,7 , 269,8 }, // Tibetan/India
- { 122, 67, 46, 44, 59, 37, 48, 45, 43, 101, 27,8 , 1134,23 , 18,7 , 25,12 , 14276,46 , 14322,54 , 1034,24 , 14451,46 , 14497,54 , 1061,24 , 9294,29 , 9294,29 , 9323,14 , 9294,29 , 9294,29 , 9323,14 , 281,7 , 277,7 }, // Tigrinya/Eritrea
- { 122, 69, 46, 44, 59, 37, 48, 45, 43, 101, 27,8 , 1157,23 , 18,7 , 25,12 , 926,46 , 972,62 , 1034,24 , 953,46 , 999,62 , 1061,24 , 9337,29 , 9337,29 , 9323,14 , 9337,29 , 9337,29 , 9323,14 , 281,7 , 277,7 }, // Tigrinya/Ethiopia
- { 123, 214, 46, 44, 59, 37, 48, 45, 43, 101, 271,6 , 99,16 , 37,5 , 8,10 , 14376,51 , 14427,87 , 14514,24 , 14551,51 , 14602,87 , 14689,24 , 9366,29 , 9395,60 , 9455,14 , 9366,29 , 9395,60 , 9455,14 , 0,2 , 0,2 }, // Tonga/Tonga
- { 124, 195, 44, 160, 59, 37, 48, 45, 43, 101, 72,10 , 306,18 , 37,5 , 8,10 , 14538,48 , 14586,122 , 1483,27 , 14713,48 , 14761,122 , 134,27 , 9469,27 , 9496,72 , 798,14 , 9469,27 , 9496,72 , 798,14 , 0,2 , 0,2 }, // Tsonga/SouthAfrica
- { 125, 217, 44, 46, 59, 37, 48, 45, 43, 101, 936,10 , 1180,17 , 37,5 , 8,10 , 14708,48 , 14756,75 , 14831,24 , 14883,48 , 14931,75 , 15006,24 , 9568,28 , 9596,54 , 9650,14 , 9568,28 , 9596,54 , 9650,14 , 0,2 , 0,2 }, // Turkish/Turkey
- { 128, 44, 46, 44, 59, 37, 48, 45, 43, 101, 72,10 , 306,18 , 37,5 , 8,10 , 1483,27 , 1483,27 , 1483,27 , 134,27 , 134,27 , 134,27 , 798,14 , 798,14 , 798,14 , 798,14 , 798,14 , 798,14 , 0,2 , 0,2 }, // Uigur/China
- { 129, 222, 44, 160, 59, 37, 48, 45, 43, 101, 324,8 , 1197,22 , 37,5 , 8,10 , 14855,48 , 14903,95 , 14998,24 , 15030,67 , 15097,87 , 15184,24 , 9664,21 , 9685,56 , 9741,14 , 9664,21 , 9685,56 , 9741,14 , 288,2 , 284,2 }, // Ukrainian/Ukraine
- { 130, 100, 46, 44, 59, 37, 48, 45, 43, 101, 271,6 , 1219,18 , 18,7 , 25,12 , 15022,67 , 15022,67 , 10111,24 , 15208,67 , 15208,67 , 10250,24 , 9755,36 , 9755,36 , 9791,14 , 9755,36 , 9755,36 , 9791,14 , 0,2 , 0,2 }, // Urdu/India
- { 130, 163, 46, 44, 59, 37, 48, 45, 43, 101, 271,6 , 1219,18 , 18,7 , 25,12 , 15022,67 , 15022,67 , 10111,24 , 15208,67 , 15208,67 , 10250,24 , 9755,36 , 9755,36 , 9791,14 , 9755,36 , 9755,36 , 9791,14 , 0,2 , 0,2 }, // Urdu/Pakistan
- { 131, 228, 44, 160, 59, 37, 48, 45, 43, 101, 213,8 , 306,18 , 37,5 , 8,10 , 13484,48 , 15089,115 , 11247,24 , 13635,48 , 15275,115 , 11391,24 , 9805,28 , 9833,53 , 9886,14 , 9805,28 , 9833,53 , 9886,14 , 0,2 , 0,2 }, // Uzbek/Uzbekistan
- { 131, 1, 44, 46, 59, 1642, 1776, 8722, 43, 101, 881,8 , 1237,33 , 165,4 , 447,11 , 15204,48 , 15252,68 , 11247,24 , 15390,48 , 10182,68 , 11391,24 , 9900,21 , 6558,49 , 9886,14 , 9900,21 , 6558,49 , 9886,14 , 0,2 , 0,2 }, // Uzbek/Afghanistan
- { 132, 232, 44, 46, 59, 37, 48, 45, 43, 101, 141,10 , 1270,31 , 37,5 , 8,10 , 15320,75 , 15395,130 , 1483,27 , 15438,75 , 15513,130 , 134,27 , 9921,33 , 9954,55 , 10009,21 , 9921,33 , 9954,55 , 10009,21 , 290,2 , 286,2 }, // Vietnamese/VietNam
- { 134, 224, 46, 44, 59, 37, 48, 45, 43, 101, 141,10 , 123,18 , 18,7 , 25,12 , 15525,53 , 15578,87 , 15665,24 , 15643,62 , 15705,86 , 15791,24 , 10030,29 , 10059,77 , 10136,14 , 10150,30 , 10059,77 , 10136,14 , 0,2 , 0,2 }, // Welsh/UnitedKingdom
- { 135, 187, 46, 44, 59, 37, 48, 45, 43, 101, 72,10 , 306,18 , 37,5 , 8,10 , 1483,27 , 1483,27 , 1483,27 , 134,27 , 134,27 , 134,27 , 798,14 , 798,14 , 798,14 , 798,14 , 798,14 , 798,14 , 0,2 , 0,2 }, // Wolof/Senegal
- { 136, 195, 44, 160, 59, 37, 48, 45, 43, 101, 72,10 , 306,18 , 37,5 , 8,10 , 15689,48 , 15737,91 , 1483,27 , 15815,48 , 15863,91 , 134,27 , 10180,28 , 10208,61 , 798,14 , 10180,28 , 10208,61 , 798,14 , 0,2 , 0,2 }, // Xhosa/SouthAfrica
- { 138, 157, 46, 44, 59, 37, 48, 45, 43, 101, 141,10 , 10,17 , 18,7 , 25,12 , 15828,73 , 15901,121 , 1483,27 , 15954,73 , 16027,121 , 134,27 , 10269,44 , 10313,69 , 798,14 , 10269,44 , 10313,69 , 798,14 , 292,5 , 288,5 }, // Yoruba/Nigeria
- { 140, 195, 44, 160, 59, 37, 48, 45, 43, 101, 72,10 , 82,17 , 18,7 , 25,12 , 16022,48 , 16070,104 , 134,24 , 16148,48 , 16196,90 , 320,24 , 10382,28 , 10410,68 , 10478,14 , 10382,28 , 10410,68 , 10478,14 , 0,2 , 0,2 }, // Zulu/SouthAfrica
- { 141, 161, 44, 160, 59, 37, 48, 8722, 43, 101, 324,8 , 603,17 , 37,5 , 431,16 , 3915,48 , 9527,83 , 134,24 , 3967,48 , 9595,83 , 320,24 , 10492,28 , 10520,51 , 2228,14 , 10492,28 , 10520,51 , 2228,14 , 297,9 , 293,11 }, // Nynorsk/Norway
- { 142, 27, 44, 46, 59, 37, 48, 45, 43, 101, 213,8 , 306,18 , 37,5 , 8,10 , 16174,48 , 16222,83 , 1483,27 , 16286,48 , 16334,83 , 134,27 , 10571,28 , 10599,58 , 798,14 , 10571,28 , 10599,58 , 798,14 , 0,2 , 0,2 }, // Bosnian/BosniaAndHerzegowina
- { 143, 131, 46, 44, 44, 37, 48, 45, 43, 101, 664,6 , 99,16 , 322,8 , 330,13 , 1483,27 , 1483,27 , 1483,27 , 134,27 , 134,27 , 134,27 , 798,14 , 798,14 , 798,14 , 798,14 , 798,14 , 798,14 , 0,2 , 0,2 }, // Divehi/Maldives
- { 144, 224, 46, 44, 59, 37, 48, 45, 43, 101, 27,8 , 82,17 , 37,5 , 8,10 , 16305,102 , 16407,140 , 1483,27 , 16417,102 , 16519,140 , 134,27 , 10657,30 , 10687,57 , 798,14 , 10657,30 , 10687,57 , 798,14 , 49,4 , 49,4 }, // Manx/UnitedKingdom
- { 145, 224, 46, 44, 59, 37, 48, 45, 43, 101, 141,10 , 99,16 , 37,5 , 8,10 , 16547,46 , 16593,124 , 1483,27 , 16659,46 , 16705,124 , 134,27 , 10744,28 , 10772,60 , 798,14 , 10744,28 , 10772,60 , 798,14 , 49,4 , 49,4 }, // Cornish/UnitedKingdom
- { 146, 83, 46, 160, 59, 37, 48, 45, 43, 101, 213,8 , 306,18 , 37,5 , 8,10 , 16717,48 , 16765,192 , 1483,27 , 16829,48 , 16877,192 , 134,27 , 10832,28 , 10860,49 , 10909,14 , 10832,28 , 10860,49 , 10909,14 , 306,2 , 304,2 }, // Akan/Ghana
- { 147, 100, 46, 44, 59, 37, 48, 45, 43, 101, 664,6 , 99,16 , 18,7 , 25,12 , 16957,87 , 16957,87 , 1483,27 , 17069,87 , 17069,87 , 134,27 , 6029,32 , 10923,55 , 798,14 , 6029,32 , 10923,55 , 798,14 , 308,5 , 306,5 }, // Konkani/India
- { 148, 83, 46, 44, 59, 37, 48, 45, 43, 101, 213,8 , 306,18 , 37,5 , 8,10 , 17044,48 , 17092,94 , 1483,27 , 17156,48 , 17204,94 , 134,27 , 10978,26 , 11004,34 , 798,14 , 10978,26 , 11004,34 , 798,14 , 0,2 , 0,2 }, // Ga/Ghana
- { 149, 157, 46, 44, 59, 37, 48, 45, 43, 101, 141,10 , 10,17 , 18,7 , 25,12 , 17186,48 , 17234,86 , 1483,27 , 17298,48 , 17346,86 , 134,27 , 11038,29 , 11067,57 , 798,14 , 11038,29 , 11067,57 , 798,14 , 313,4 , 311,4 }, // Igbo/Nigeria
- { 150, 111, 46, 44, 59, 37, 48, 45, 43, 101, 141,10 , 10,17 , 18,7 , 25,12 , 17320,48 , 17368,189 , 17557,24 , 17432,48 , 17480,189 , 17669,24 , 11124,28 , 11152,74 , 11226,14 , 11124,28 , 11152,74 , 11226,14 , 317,9 , 315,7 }, // Kamba/Kenya
- { 151, 207, 46, 44, 59, 37, 48, 45, 43, 101, 141,10 , 1301,13 , 394,4 , 25,12 , 17581,65 , 17581,65 , 1483,27 , 17693,65 , 17693,65 , 134,27 , 798,14 , 798,14 , 798,14 , 798,14 , 798,14 , 798,14 , 0,2 , 0,2 }, // Syriac/SyrianArabRepublic
- { 152, 67, 46, 44, 59, 37, 48, 45, 43, 101, 27,8 , 1314,22 , 18,7 , 25,12 , 17646,47 , 17693,77 , 17770,24 , 17758,47 , 17805,77 , 17882,24 , 11240,26 , 11266,43 , 11309,14 , 11240,26 , 11266,43 , 11309,14 , 0,2 , 0,2 }, // Blin/Eritrea
- { 153, 67, 46, 4808, 59, 37, 48, 45, 43, 101, 27,8 , 1336,23 , 18,7 , 25,12 , 17794,49 , 17794,49 , 17843,24 , 17906,49 , 17906,49 , 17955,24 , 11323,29 , 11323,29 , 11352,14 , 11323,29 , 11323,29 , 11352,14 , 0,2 , 0,2 }, // Geez/Eritrea
- { 153, 69, 46, 4808, 59, 37, 48, 45, 43, 101, 27,8 , 1336,23 , 18,7 , 25,12 , 17794,49 , 17794,49 , 17843,24 , 17906,49 , 17906,49 , 17955,24 , 11323,29 , 11323,29 , 11352,14 , 11323,29 , 11323,29 , 11352,14 , 0,2 , 0,2 }, // Geez/Ethiopia
- { 154, 53, 46, 44, 59, 37, 48, 45, 43, 101, 213,8 , 306,18 , 37,5 , 8,10 , 17867,48 , 17915,124 , 1483,27 , 17979,48 , 18027,124 , 134,27 , 11366,28 , 11394,54 , 798,14 , 11366,28 , 11394,54 , 798,14 , 0,2 , 0,2 }, // Koro/IvoryCoast
+ { 106, 198, 46, 44, 59, 37, 48, 45, 43, 101, 576,10 , 988,17 , 18,7 , 25,12 , 12288,54 , 12342,92 , 12434,32 , 12432,54 , 12486,92 , 12578,32 , 8048,30 , 8078,62 , 8140,19 , 8048,30 , 8078,62 , 8140,19 , 251,5 , 245,4 }, // Singhalese/SriLanka
+ { 107, 195, 44, 160, 59, 37, 48, 45, 43, 101, 72,10 , 314,18 , 37,5 , 8,10 , 12466,48 , 12514,114 , 1483,27 , 12610,48 , 12658,114 , 134,27 , 8159,27 , 8186,68 , 798,14 , 8159,27 , 8186,68 , 798,14 , 0,2 , 0,2 }, // Siswati/SouthAfrica
+ { 107, 204, 44, 160, 59, 37, 48, 45, 43, 101, 72,10 , 314,18 , 37,5 , 8,10 , 12466,48 , 12514,114 , 1483,27 , 12610,48 , 12658,114 , 134,27 , 8159,27 , 8186,68 , 798,14 , 8159,27 , 8186,68 , 798,14 , 0,2 , 0,2 }, // Siswati/Swaziland
+ { 108, 191, 44, 160, 59, 37, 48, 45, 43, 101, 586,8 , 502,18 , 165,4 , 195,9 , 12628,48 , 12676,82 , 11775,24 , 12772,48 , 12820,89 , 11919,24 , 8254,21 , 8275,52 , 8327,14 , 8254,21 , 8275,52 , 8327,14 , 256,10 , 249,9 }, // Slovak/Slovakia
+ { 109, 192, 44, 46, 59, 37, 48, 45, 43, 101, 1005,9 , 611,19 , 37,5 , 8,10 , 11646,48 , 12758,86 , 11775,24 , 11790,48 , 12909,86 , 11919,24 , 8341,28 , 8369,52 , 8421,14 , 8341,28 , 8369,52 , 8421,14 , 62,4 , 258,4 }, // Slovenian/Slovenia
+ { 110, 194, 46, 44, 59, 37, 48, 45, 43, 101, 27,8 , 53,19 , 18,7 , 25,12 , 12844,48 , 12892,189 , 13081,24 , 12995,48 , 13043,189 , 13232,24 , 8435,28 , 8463,47 , 8510,14 , 8435,28 , 8463,47 , 8510,14 , 266,3 , 262,3 }, // Somali/Somalia
+ { 110, 59, 46, 44, 59, 37, 48, 45, 43, 101, 27,8 , 53,19 , 18,7 , 25,12 , 12844,48 , 12892,189 , 13081,24 , 12995,48 , 13043,189 , 13232,24 , 8435,28 , 8463,47 , 8510,14 , 8435,28 , 8463,47 , 8510,14 , 266,3 , 262,3 }, // Somali/Djibouti
+ { 110, 69, 46, 44, 59, 37, 48, 45, 43, 101, 27,8 , 53,19 , 18,7 , 25,12 , 12844,48 , 12892,189 , 13081,24 , 12995,48 , 13043,189 , 13232,24 , 8435,28 , 8463,47 , 8510,14 , 8435,28 , 8463,47 , 8510,14 , 266,3 , 262,3 }, // Somali/Ethiopia
+ { 110, 111, 46, 44, 59, 37, 48, 45, 43, 101, 27,8 , 53,19 , 18,7 , 25,12 , 12844,48 , 12892,189 , 13081,24 , 12995,48 , 13043,189 , 13232,24 , 8435,28 , 8463,47 , 8510,14 , 8435,28 , 8463,47 , 8510,14 , 266,3 , 262,3 }, // Somali/Kenya
+ { 111, 197, 44, 46, 59, 37, 48, 45, 43, 101, 27,8 , 1014,26 , 37,5 , 8,10 , 13105,48 , 13153,89 , 13242,24 , 13256,48 , 13304,89 , 13393,24 , 8524,28 , 8552,53 , 2799,14 , 8524,28 , 8552,53 , 2799,14 , 56,4 , 56,4 }, // Spanish/Spain
+ { 111, 10, 44, 46, 59, 37, 48, 45, 43, 101, 27,8 , 1014,26 , 37,5 , 517,14 , 13105,48 , 13153,89 , 13242,24 , 13256,48 , 13304,89 , 13393,24 , 8524,28 , 8552,53 , 2799,14 , 8524,28 , 8552,53 , 2799,14 , 56,4 , 56,4 }, // Spanish/Argentina
+ { 111, 26, 44, 46, 59, 37, 48, 45, 43, 101, 27,8 , 1014,26 , 37,5 , 8,10 , 13105,48 , 13153,89 , 13242,24 , 13256,48 , 13304,89 , 13393,24 , 8524,28 , 8552,53 , 2799,14 , 8524,28 , 8552,53 , 2799,14 , 56,4 , 56,4 }, // Spanish/Bolivia
+ { 111, 43, 44, 46, 59, 37, 48, 45, 43, 101, 543,8 , 1014,26 , 165,4 , 8,10 , 13105,48 , 13153,89 , 13242,24 , 13256,48 , 13304,89 , 13393,24 , 8524,28 , 8552,53 , 2799,14 , 8524,28 , 8552,53 , 2799,14 , 56,4 , 56,4 }, // Spanish/Chile
+ { 111, 47, 44, 46, 59, 37, 48, 45, 43, 101, 551,7 , 1014,26 , 165,4 , 8,10 , 13105,48 , 13153,89 , 13242,24 , 13256,48 , 13304,89 , 13393,24 , 8524,28 , 8552,53 , 2799,14 , 8524,28 , 8552,53 , 2799,14 , 56,4 , 56,4 }, // Spanish/Colombia
+ { 111, 52, 44, 46, 59, 37, 48, 45, 43, 101, 27,8 , 1014,26 , 37,5 , 8,10 , 13105,48 , 13153,89 , 13242,24 , 13256,48 , 13304,89 , 13393,24 , 8524,28 , 8552,53 , 2799,14 , 8524,28 , 8552,53 , 2799,14 , 56,4 , 56,4 }, // Spanish/CostaRica
+ { 111, 61, 46, 44, 59, 37, 48, 45, 43, 101, 27,8 , 1014,26 , 37,5 , 8,10 , 13105,48 , 13153,89 , 13242,24 , 13256,48 , 13304,89 , 13393,24 , 8524,28 , 8552,53 , 2799,14 , 8524,28 , 8552,53 , 2799,14 , 56,4 , 56,4 }, // Spanish/DominicanRepublic
+ { 111, 63, 44, 46, 59, 37, 48, 45, 43, 101, 27,8 , 1014,26 , 165,4 , 8,10 , 13105,48 , 13153,89 , 13242,24 , 13256,48 , 13304,89 , 13393,24 , 8524,28 , 8552,53 , 2799,14 , 8524,28 , 8552,53 , 2799,14 , 56,4 , 56,4 }, // Spanish/Ecuador
+ { 111, 65, 46, 44, 59, 37, 48, 45, 43, 101, 27,8 , 1014,26 , 37,5 , 8,10 , 13105,48 , 13153,89 , 13242,24 , 13256,48 , 13304,89 , 13393,24 , 8524,28 , 8552,53 , 2799,14 , 8524,28 , 8552,53 , 2799,14 , 56,4 , 56,4 }, // Spanish/ElSalvador
+ { 111, 66, 44, 46, 59, 37, 48, 45, 43, 101, 27,8 , 1014,26 , 37,5 , 8,10 , 13105,48 , 13153,89 , 13242,24 , 13256,48 , 13304,89 , 13393,24 , 8524,28 , 8552,53 , 2799,14 , 8524,28 , 8552,53 , 2799,14 , 56,4 , 56,4 }, // Spanish/EquatorialGuinea
+ { 111, 90, 46, 44, 59, 37, 48, 45, 43, 101, 551,7 , 1014,26 , 37,5 , 8,10 , 13105,48 , 13153,89 , 13242,24 , 13256,48 , 13304,89 , 13393,24 , 8524,28 , 8552,53 , 2799,14 , 8524,28 , 8552,53 , 2799,14 , 56,4 , 56,4 }, // Spanish/Guatemala
+ { 111, 96, 46, 44, 59, 37, 48, 45, 43, 101, 27,8 , 1040,27 , 37,5 , 8,10 , 13105,48 , 13153,89 , 13242,24 , 13256,48 , 13304,89 , 13393,24 , 8524,28 , 8552,53 , 2799,14 , 8524,28 , 8552,53 , 2799,14 , 56,4 , 56,4 }, // Spanish/Honduras
+ { 111, 139, 46, 44, 59, 37, 48, 45, 43, 101, 27,8 , 1014,26 , 37,5 , 8,10 , 13105,48 , 13153,89 , 13242,24 , 13256,48 , 13304,89 , 13393,24 , 8524,28 , 8552,53 , 2799,14 , 8524,28 , 8552,53 , 2799,14 , 56,4 , 56,4 }, // Spanish/Mexico
+ { 111, 155, 46, 44, 59, 37, 48, 45, 43, 101, 27,8 , 1014,26 , 37,5 , 8,10 , 13105,48 , 13153,89 , 13242,24 , 13256,48 , 13304,89 , 13393,24 , 8524,28 , 8552,53 , 2799,14 , 8524,28 , 8552,53 , 2799,14 , 56,4 , 56,4 }, // Spanish/Nicaragua
+ { 111, 166, 46, 44, 59, 37, 48, 45, 43, 101, 187,8 , 1014,26 , 37,5 , 8,10 , 13105,48 , 13153,89 , 13242,24 , 13256,48 , 13304,89 , 13393,24 , 8524,28 , 8552,53 , 2799,14 , 8524,28 , 8552,53 , 2799,14 , 56,4 , 56,4 }, // Spanish/Panama
+ { 111, 168, 44, 46, 59, 37, 48, 45, 43, 101, 27,8 , 1014,26 , 37,5 , 8,10 , 13105,48 , 13153,89 , 13242,24 , 13256,48 , 13304,89 , 13393,24 , 8524,28 , 8552,53 , 2799,14 , 8524,28 , 8552,53 , 2799,14 , 56,4 , 56,4 }, // Spanish/Paraguay
+ { 111, 169, 46, 44, 59, 37, 48, 45, 43, 101, 551,7 , 1014,26 , 37,5 , 531,15 , 13105,48 , 13153,89 , 13242,24 , 13256,48 , 13304,89 , 13393,24 , 8524,28 , 8552,53 , 2799,14 , 8524,28 , 8552,53 , 2799,14 , 56,4 , 56,4 }, // Spanish/Peru
+ { 111, 174, 46, 44, 59, 37, 48, 45, 43, 101, 187,8 , 1014,26 , 37,5 , 8,10 , 13105,48 , 13153,89 , 13242,24 , 13256,48 , 13304,89 , 13393,24 , 8524,28 , 8552,53 , 2799,14 , 8524,28 , 8552,53 , 2799,14 , 56,4 , 56,4 }, // Spanish/PuertoRico
+ { 111, 225, 46, 44, 59, 37, 48, 45, 43, 101, 558,6 , 1014,26 , 18,7 , 25,12 , 13105,48 , 13153,89 , 13242,24 , 13256,48 , 13304,89 , 13393,24 , 8524,28 , 8552,53 , 2799,14 , 8524,28 , 8552,53 , 2799,14 , 56,4 , 56,4 }, // Spanish/UnitedStates
+ { 111, 227, 44, 46, 59, 37, 48, 45, 43, 101, 27,8 , 1014,26 , 37,5 , 8,10 , 13105,48 , 13153,89 , 13242,24 , 13256,48 , 13304,89 , 13393,24 , 8524,28 , 8552,53 , 2799,14 , 8524,28 , 8552,53 , 2799,14 , 56,4 , 56,4 }, // Spanish/Uruguay
+ { 111, 231, 44, 46, 59, 37, 48, 45, 43, 101, 27,8 , 1014,26 , 37,5 , 8,10 , 13105,48 , 13153,89 , 13242,24 , 13256,48 , 13304,89 , 13393,24 , 8524,28 , 8552,53 , 2799,14 , 8524,28 , 8552,53 , 2799,14 , 56,4 , 56,4 }, // Spanish/Venezuela
+ { 111, 246, 46, 44, 59, 37, 48, 45, 43, 101, 27,8 , 1014,26 , 37,5 , 8,10 , 13105,48 , 13153,89 , 13242,24 , 13256,48 , 13304,89 , 13393,24 , 8524,28 , 8552,53 , 2799,14 , 8524,28 , 8552,53 , 2799,14 , 56,4 , 56,4 }, // Spanish/LatinAmericaAndTheCaribbean
+ { 113, 111, 46, 44, 59, 37, 48, 45, 43, 101, 141,10 , 10,17 , 18,7 , 25,12 , 13266,48 , 13314,84 , 134,24 , 13417,48 , 13465,84 , 320,24 , 8605,22 , 8627,60 , 8687,14 , 8605,22 , 8627,60 , 8687,14 , 269,7 , 265,7 }, // Swahili/Kenya
+ { 113, 210, 46, 44, 59, 37, 48, 45, 43, 101, 141,10 , 10,17 , 18,7 , 25,12 , 13266,48 , 13314,84 , 134,24 , 13417,48 , 13465,84 , 320,24 , 8605,22 , 8627,60 , 8687,14 , 8605,22 , 8627,60 , 8687,14 , 269,7 , 265,7 }, // Swahili/Tanzania
+ { 114, 205, 44, 160, 59, 37, 48, 8722, 43, 101, 72,10 , 1067,30 , 37,5 , 431,16 , 3473,48 , 13398,86 , 134,24 , 5180,48 , 13549,86 , 320,24 , 8701,29 , 8730,50 , 2228,14 , 8701,29 , 8730,50 , 2228,14 , 276,2 , 272,2 }, // Swedish/Sweden
+ { 114, 73, 44, 160, 59, 37, 48, 8722, 43, 101, 72,10 , 1067,30 , 37,5 , 431,16 , 3473,48 , 13398,86 , 134,24 , 5180,48 , 13549,86 , 320,24 , 8701,29 , 8730,50 , 2228,14 , 8701,29 , 8730,50 , 2228,14 , 276,2 , 272,2 }, // Swedish/Finland
+ { 116, 209, 46, 44, 59, 37, 48, 45, 43, 101, 221,8 , 314,18 , 37,5 , 8,10 , 13484,48 , 13532,71 , 1483,27 , 13635,48 , 13683,71 , 134,27 , 8780,28 , 8808,55 , 798,14 , 8780,28 , 8808,55 , 798,14 , 0,2 , 0,2 }, // Tajik/Tajikistan
+ { 117, 100, 46, 44, 59, 37, 48, 45, 43, 101, 655,6 , 203,18 , 18,7 , 25,12 , 13603,58 , 13661,88 , 13749,31 , 13754,58 , 13812,88 , 13900,31 , 8863,20 , 8883,49 , 8863,20 , 8863,20 , 8883,49 , 8863,20 , 136,2 , 136,2 }, // Tamil/India
+ { 117, 198, 46, 44, 59, 37, 48, 45, 43, 101, 655,6 , 203,18 , 18,7 , 25,12 , 13603,58 , 13661,88 , 13749,31 , 13754,58 , 13812,88 , 13900,31 , 8863,20 , 8883,49 , 8863,20 , 8863,20 , 8883,49 , 8863,20 , 136,2 , 136,2 }, // Tamil/SriLanka
+ { 118, 178, 44, 160, 59, 37, 48, 45, 43, 101, 929,10 , 1097,11 , 165,4 , 25,12 , 1483,27 , 1483,27 , 1483,27 , 134,27 , 134,27 , 134,27 , 798,14 , 798,14 , 798,14 , 798,14 , 798,14 , 798,14 , 0,2 , 0,2 }, // Tatar/RussianFederation
+ { 119, 100, 46, 44, 59, 37, 48, 45, 43, 101, 543,8 , 99,16 , 18,7 , 25,12 , 13780,86 , 13780,86 , 13866,30 , 13931,86 , 13931,86 , 14017,30 , 8932,32 , 8964,60 , 9024,18 , 8932,32 , 8964,60 , 9024,18 , 278,1 , 274,2 }, // Telugu/India
+ { 120, 211, 46, 44, 59, 37, 48, 45, 43, 101, 364,8 , 1108,19 , 165,4 , 546,27 , 13896,63 , 13959,98 , 13896,63 , 14047,63 , 14110,98 , 14208,24 , 9042,23 , 9065,68 , 9133,14 , 9042,23 , 9065,68 , 9133,14 , 279,10 , 276,10 }, // Thai/Thailand
+ { 121, 44, 46, 44, 59, 37, 3872, 45, 43, 101, 72,10 , 314,18 , 37,5 , 8,10 , 14057,63 , 14120,158 , 1483,27 , 14232,63 , 14295,158 , 134,27 , 9147,49 , 9196,77 , 9273,21 , 9147,49 , 9196,77 , 9273,21 , 289,7 , 286,8 }, // Tibetan/China
+ { 121, 100, 46, 44, 59, 37, 3872, 45, 43, 101, 72,10 , 314,18 , 37,5 , 8,10 , 14057,63 , 14120,158 , 1483,27 , 14232,63 , 14295,158 , 134,27 , 9147,49 , 9196,77 , 9273,21 , 9147,49 , 9196,77 , 9273,21 , 289,7 , 286,8 }, // Tibetan/India
+ { 122, 67, 46, 44, 59, 37, 48, 45, 43, 101, 27,8 , 1127,23 , 18,7 , 25,12 , 14278,46 , 14324,54 , 1034,24 , 14453,46 , 14499,54 , 1061,24 , 9294,29 , 9294,29 , 9323,14 , 9294,29 , 9294,29 , 9323,14 , 296,7 , 294,7 }, // Tigrinya/Eritrea
+ { 122, 69, 46, 44, 59, 37, 48, 45, 43, 101, 27,8 , 1150,23 , 18,7 , 25,12 , 926,46 , 972,62 , 1034,24 , 953,46 , 999,62 , 1061,24 , 9337,29 , 9337,29 , 9323,14 , 9337,29 , 9337,29 , 9323,14 , 296,7 , 294,7 }, // Tigrinya/Ethiopia
+ { 123, 214, 46, 44, 59, 37, 48, 45, 43, 101, 279,6 , 99,16 , 37,5 , 8,10 , 14378,51 , 14429,87 , 14516,24 , 14553,51 , 14604,87 , 14691,24 , 9366,29 , 9395,60 , 9455,14 , 9366,29 , 9395,60 , 9455,14 , 0,2 , 0,2 }, // Tonga/Tonga
+ { 124, 195, 44, 160, 59, 37, 48, 45, 43, 101, 72,10 , 314,18 , 37,5 , 8,10 , 14540,48 , 14588,122 , 1483,27 , 14715,48 , 14763,122 , 134,27 , 9469,27 , 9496,72 , 798,14 , 9469,27 , 9496,72 , 798,14 , 0,2 , 0,2 }, // Tsonga/SouthAfrica
+ { 125, 217, 44, 46, 59, 37, 48, 45, 43, 101, 929,10 , 1173,17 , 37,5 , 8,10 , 14710,48 , 14758,75 , 14833,24 , 14885,48 , 14933,75 , 15008,24 , 9568,28 , 9596,54 , 9650,14 , 9568,28 , 9596,54 , 9650,14 , 0,2 , 0,2 }, // Turkish/Turkey
+ { 128, 44, 46, 44, 59, 37, 48, 45, 43, 101, 72,10 , 314,18 , 37,5 , 8,10 , 1483,27 , 1483,27 , 1483,27 , 134,27 , 134,27 , 134,27 , 798,14 , 798,14 , 798,14 , 798,14 , 798,14 , 798,14 , 0,2 , 0,2 }, // Uigur/China
+ { 129, 222, 44, 160, 59, 37, 48, 45, 43, 101, 332,8 , 1190,22 , 37,5 , 8,10 , 14857,48 , 14905,95 , 15000,24 , 15032,67 , 15099,87 , 15186,24 , 9664,21 , 9685,56 , 9741,14 , 9664,21 , 9685,56 , 9741,14 , 303,2 , 301,2 }, // Ukrainian/Ukraine
+ { 130, 100, 46, 44, 59, 37, 48, 45, 43, 101, 279,6 , 1212,18 , 18,7 , 25,12 , 15024,67 , 15024,67 , 10111,24 , 15210,67 , 15210,67 , 10250,24 , 9755,36 , 9755,36 , 9791,14 , 9755,36 , 9755,36 , 9791,14 , 0,2 , 0,2 }, // Urdu/India
+ { 130, 163, 46, 44, 59, 37, 48, 45, 43, 101, 279,6 , 1212,18 , 18,7 , 25,12 , 15024,67 , 15024,67 , 10111,24 , 15210,67 , 15210,67 , 10250,24 , 9755,36 , 9755,36 , 9791,14 , 9755,36 , 9755,36 , 9791,14 , 0,2 , 0,2 }, // Urdu/Pakistan
+ { 131, 228, 44, 160, 59, 37, 48, 45, 43, 101, 221,8 , 314,18 , 37,5 , 8,10 , 13484,48 , 15091,115 , 11247,24 , 13635,48 , 15277,115 , 11391,24 , 9805,28 , 9833,53 , 9886,14 , 9805,28 , 9833,53 , 9886,14 , 0,2 , 0,2 }, // Uzbek/Uzbekistan
+ { 131, 1, 1643, 1644, 59, 1642, 1776, 8722, 43, 101, 179,8 , 1230,33 , 165,4 , 447,11 , 15206,48 , 15254,68 , 11247,24 , 15392,48 , 10182,68 , 11391,24 , 9900,21 , 6558,49 , 9886,14 , 9900,21 , 6558,49 , 9886,14 , 0,2 , 0,2 }, // Uzbek/Afghanistan
+ { 132, 232, 44, 46, 59, 37, 48, 45, 43, 101, 141,10 , 1263,31 , 37,5 , 8,10 , 15322,75 , 15397,130 , 1483,27 , 15440,75 , 15515,130 , 134,27 , 9921,33 , 9954,55 , 10009,21 , 9921,33 , 9954,55 , 10009,21 , 305,2 , 303,2 }, // Vietnamese/VietNam
+ { 134, 224, 46, 44, 59, 37, 48, 45, 43, 101, 141,10 , 123,18 , 18,7 , 25,12 , 15527,53 , 15580,87 , 15667,24 , 15645,62 , 15707,86 , 15793,24 , 10030,29 , 10059,77 , 10136,14 , 10150,30 , 10059,77 , 10136,14 , 0,2 , 0,2 }, // Welsh/UnitedKingdom
+ { 135, 187, 46, 44, 59, 37, 48, 45, 43, 101, 72,10 , 314,18 , 37,5 , 8,10 , 1483,27 , 1483,27 , 1483,27 , 134,27 , 134,27 , 134,27 , 798,14 , 798,14 , 798,14 , 798,14 , 798,14 , 798,14 , 0,2 , 0,2 }, // Wolof/Senegal
+ { 136, 195, 44, 160, 59, 37, 48, 45, 43, 101, 72,10 , 314,18 , 37,5 , 8,10 , 15691,48 , 15739,91 , 1483,27 , 15817,48 , 15865,91 , 134,27 , 10180,28 , 10208,61 , 798,14 , 10180,28 , 10208,61 , 798,14 , 0,2 , 0,2 }, // Xhosa/SouthAfrica
+ { 138, 157, 46, 44, 59, 37, 48, 45, 43, 101, 141,10 , 10,17 , 18,7 , 25,12 , 15830,73 , 15903,121 , 1483,27 , 15956,73 , 16029,121 , 134,27 , 10269,44 , 10313,69 , 798,14 , 10269,44 , 10313,69 , 798,14 , 307,5 , 305,5 }, // Yoruba/Nigeria
+ { 140, 195, 44, 160, 59, 37, 48, 45, 43, 101, 72,10 , 82,17 , 18,7 , 25,12 , 16024,48 , 16072,104 , 134,24 , 16150,48 , 16198,90 , 320,24 , 10382,28 , 10410,68 , 10478,14 , 10382,28 , 10410,68 , 10478,14 , 0,2 , 0,2 }, // Zulu/SouthAfrica
+ { 141, 161, 44, 160, 59, 37, 48, 8722, 43, 101, 332,8 , 594,17 , 37,5 , 431,16 , 3915,48 , 9527,83 , 134,24 , 3967,48 , 9595,83 , 320,24 , 10492,28 , 10520,51 , 2228,14 , 10492,28 , 10520,51 , 2228,14 , 312,9 , 310,11 }, // Nynorsk/Norway
+ { 142, 27, 44, 46, 59, 37, 48, 45, 43, 101, 221,8 , 314,18 , 37,5 , 8,10 , 16176,48 , 16224,83 , 1483,27 , 16288,48 , 16336,83 , 134,27 , 10571,28 , 10599,58 , 798,14 , 10571,28 , 10599,58 , 798,14 , 0,2 , 0,2 }, // Bosnian/BosniaAndHerzegowina
+ { 143, 131, 46, 44, 44, 37, 48, 45, 43, 101, 655,6 , 99,16 , 322,8 , 330,13 , 1483,27 , 1483,27 , 1483,27 , 134,27 , 134,27 , 134,27 , 798,14 , 798,14 , 798,14 , 798,14 , 798,14 , 798,14 , 0,2 , 0,2 }, // Divehi/Maldives
+ { 144, 224, 46, 44, 59, 37, 48, 45, 43, 101, 27,8 , 82,17 , 37,5 , 8,10 , 16307,102 , 16409,140 , 1483,27 , 16419,102 , 16521,140 , 134,27 , 10657,30 , 10687,57 , 798,14 , 10657,30 , 10687,57 , 798,14 , 56,4 , 56,4 }, // Manx/UnitedKingdom
+ { 145, 224, 46, 44, 59, 37, 48, 45, 43, 101, 141,10 , 99,16 , 37,5 , 8,10 , 16549,46 , 16595,124 , 1483,27 , 16661,46 , 16707,124 , 134,27 , 10744,28 , 10772,60 , 798,14 , 10744,28 , 10772,60 , 798,14 , 56,4 , 56,4 }, // Cornish/UnitedKingdom
+ { 146, 83, 46, 160, 59, 37, 48, 45, 43, 101, 221,8 , 314,18 , 37,5 , 8,10 , 16719,48 , 16767,192 , 1483,27 , 16831,48 , 16879,192 , 134,27 , 10832,28 , 10860,49 , 10909,14 , 10832,28 , 10860,49 , 10909,14 , 321,2 , 321,2 }, // Akan/Ghana
+ { 147, 100, 46, 44, 59, 37, 48, 45, 43, 101, 655,6 , 99,16 , 18,7 , 25,12 , 16959,87 , 16959,87 , 1483,27 , 17071,87 , 17071,87 , 134,27 , 6029,32 , 10923,55 , 798,14 , 6029,32 , 10923,55 , 798,14 , 323,5 , 323,5 }, // Konkani/India
+ { 148, 83, 46, 44, 59, 37, 48, 45, 43, 101, 221,8 , 314,18 , 37,5 , 8,10 , 17046,48 , 17094,94 , 1483,27 , 17158,48 , 17206,94 , 134,27 , 10978,26 , 11004,34 , 798,14 , 10978,26 , 11004,34 , 798,14 , 0,2 , 0,2 }, // Ga/Ghana
+ { 149, 157, 46, 44, 59, 37, 48, 45, 43, 101, 141,10 , 10,17 , 18,7 , 25,12 , 17188,48 , 17236,86 , 1483,27 , 17300,48 , 17348,86 , 134,27 , 11038,29 , 11067,57 , 798,14 , 11038,29 , 11067,57 , 798,14 , 328,4 , 328,4 }, // Igbo/Nigeria
+ { 150, 111, 46, 44, 59, 37, 48, 45, 43, 101, 141,10 , 10,17 , 18,7 , 25,12 , 17322,48 , 17370,189 , 17559,24 , 17434,48 , 17482,189 , 17671,24 , 11124,28 , 11152,74 , 11226,14 , 11124,28 , 11152,74 , 11226,14 , 332,9 , 332,7 }, // Kamba/Kenya
+ { 151, 207, 46, 44, 59, 37, 48, 45, 43, 101, 141,10 , 1294,13 , 394,4 , 25,12 , 17583,65 , 17583,65 , 1483,27 , 17695,65 , 17695,65 , 134,27 , 798,14 , 798,14 , 798,14 , 798,14 , 798,14 , 798,14 , 0,2 , 0,2 }, // Syriac/SyrianArabRepublic
+ { 152, 67, 46, 44, 59, 37, 48, 45, 43, 101, 27,8 , 1307,22 , 18,7 , 25,12 , 17648,47 , 17695,77 , 17772,24 , 17760,47 , 17807,77 , 17884,24 , 11240,26 , 11266,43 , 11309,14 , 11240,26 , 11266,43 , 11309,14 , 0,2 , 0,2 }, // Blin/Eritrea
+ { 153, 67, 46, 4808, 59, 37, 48, 45, 43, 101, 27,8 , 1329,23 , 18,7 , 25,12 , 17796,49 , 17796,49 , 17845,24 , 17908,49 , 17908,49 , 17957,24 , 11323,29 , 11323,29 , 11352,14 , 11323,29 , 11323,29 , 11352,14 , 0,2 , 0,2 }, // Geez/Eritrea
+ { 153, 69, 46, 4808, 59, 37, 48, 45, 43, 101, 27,8 , 1329,23 , 18,7 , 25,12 , 17796,49 , 17796,49 , 17845,24 , 17908,49 , 17908,49 , 17957,24 , 11323,29 , 11323,29 , 11352,14 , 11323,29 , 11323,29 , 11352,14 , 0,2 , 0,2 }, // Geez/Ethiopia
+ { 154, 53, 46, 44, 59, 37, 48, 45, 43, 101, 221,8 , 314,18 , 37,5 , 8,10 , 17869,48 , 17917,124 , 1483,27 , 17981,48 , 18029,124 , 134,27 , 11366,28 , 11394,54 , 798,14 , 11366,28 , 11394,54 , 798,14 , 0,2 , 0,2 }, // Koro/IvoryCoast
{ 155, 69, 46, 44, 59, 37, 48, 45, 43, 101, 27,8 , 53,19 , 18,7 , 25,12 , 1483,27 , 1483,27 , 1483,27 , 134,27 , 134,27 , 134,27 , 11448,28 , 11476,51 , 11527,14 , 11448,28 , 11476,51 , 11527,14 , 0,2 , 0,2 }, // Sidamo/Ethiopia
- { 156, 157, 46, 44, 59, 37, 48, 45, 43, 101, 213,8 , 306,18 , 37,5 , 8,10 , 18039,59 , 18098,129 , 1483,27 , 18151,59 , 18210,129 , 134,27 , 11541,35 , 11576,87 , 798,14 , 11541,35 , 11576,87 , 798,14 , 0,2 , 0,2 }, // Atsam/Nigeria
- { 157, 67, 46, 44, 59, 37, 48, 45, 43, 101, 27,8 , 1359,21 , 18,7 , 25,12 , 926,46 , 972,62 , 1034,24 , 953,46 , 999,62 , 1061,24 , 11663,27 , 11690,41 , 11731,14 , 11663,27 , 11690,41 , 11731,14 , 0,2 , 0,2 }, // Tigre/Eritrea
- { 158, 157, 46, 44, 59, 37, 48, 45, 43, 101, 213,8 , 306,18 , 37,5 , 8,10 , 18227,57 , 18284,178 , 1483,27 , 18339,57 , 18396,178 , 134,27 , 11745,28 , 11773,44 , 798,14 , 11745,28 , 11773,44 , 798,14 , 0,2 , 0,2 }, // Jju/Nigeria
- { 159, 106, 44, 46, 59, 37, 48, 45, 43, 101, 27,8 , 1380,27 , 37,5 , 8,10 , 18462,48 , 18510,77 , 18587,24 , 18574,48 , 18622,77 , 18699,24 , 11817,28 , 11845,50 , 2799,14 , 11817,28 , 11845,50 , 2799,14 , 0,2 , 0,2 }, // Friulian/Italy
- { 160, 195, 44, 160, 59, 37, 48, 45, 43, 101, 72,10 , 306,18 , 37,5 , 8,10 , 18611,48 , 18659,111 , 1483,27 , 18723,48 , 18771,111 , 134,27 , 11895,27 , 11922,70 , 798,14 , 11895,27 , 11922,70 , 798,14 , 0,2 , 0,2 }, // Venda/SouthAfrica
- { 161, 83, 46, 44, 59, 37, 48, 45, 43, 101, 141,10 , 10,17 , 18,7 , 25,12 , 18770,48 , 18818,87 , 18905,24 , 18882,48 , 18930,87 , 19017,24 , 11992,32 , 12024,44 , 12068,14 , 11992,32 , 12024,44 , 12068,14 , 306,2 , 304,2 }, // Ewe/Ghana
- { 161, 212, 46, 44, 59, 37, 48, 45, 43, 101, 141,10 , 10,17 , 18,7 , 25,12 , 18770,48 , 18818,87 , 18905,24 , 18882,48 , 18930,87 , 19017,24 , 11992,32 , 12024,44 , 12068,14 , 11992,32 , 12024,44 , 12068,14 , 306,2 , 304,2 }, // Ewe/Togo
- { 162, 69, 46, 8217, 59, 37, 48, 45, 43, 101, 27,8 , 1407,22 , 18,7 , 25,12 , 926,46 , 972,62 , 1034,24 , 953,46 , 999,62 , 1061,24 , 12082,27 , 12082,27 , 12109,14 , 12082,27 , 12082,27 , 12109,14 , 0,2 , 0,2 }, // Walamo/Ethiopia
- { 163, 225, 46, 44, 59, 37, 48, 45, 43, 101, 271,6 , 10,17 , 18,7 , 25,12 , 18929,59 , 18988,95 , 1483,27 , 19041,59 , 19100,95 , 134,27 , 12123,21 , 12144,57 , 798,14 , 12123,21 , 12144,57 , 798,14 , 0,2 , 0,2 }, // Hawaiian/UnitedStates
- { 164, 157, 46, 44, 59, 37, 48, 45, 43, 101, 213,8 , 306,18 , 37,5 , 8,10 , 19083,48 , 19131,153 , 1483,27 , 19195,48 , 19243,153 , 134,27 , 12201,28 , 12229,42 , 798,14 , 12201,28 , 12229,42 , 798,14 , 0,2 , 0,2 }, // Tyap/Nigeria
- { 165, 129, 46, 44, 59, 37, 48, 45, 43, 101, 72,10 , 306,18 , 37,5 , 8,10 , 19284,48 , 19332,91 , 1483,27 , 19396,48 , 19444,91 , 134,27 , 12271,28 , 12299,67 , 798,14 , 12271,28 , 12299,67 , 798,14 , 0,2 , 0,2 }, // Chewa/Malawi
- { 166, 170, 46, 44, 59, 37, 48, 45, 43, 101, 550,6 , 1429,18 , 37,5 , 8,10 , 19423,48 , 19471,88 , 19559,24 , 19535,48 , 19583,88 , 19671,24 , 12366,28 , 12394,55 , 12449,14 , 12463,28 , 12394,55 , 12449,14 , 0,2 , 0,2 }, // Filipino/Philippines
- { 167, 206, 46, 8217, 59, 37, 48, 8722, 43, 101, 324,8 , 494,18 , 37,5 , 8,10 , 19583,48 , 19631,86 , 134,24 , 4729,48 , 19695,86 , 320,24 , 12491,28 , 12519,63 , 3089,14 , 12491,28 , 12519,63 , 3089,14 , 326,5 , 322,4 }, // Swiss German/Switzerland
- { 168, 44, 46, 44, 59, 37, 48, 45, 43, 101, 72,10 , 306,18 , 37,5 , 8,10 , 1483,27 , 19717,38 , 1483,27 , 134,27 , 19781,38 , 134,27 , 12582,21 , 12603,28 , 12631,14 , 12582,21 , 12603,28 , 12631,14 , 331,2 , 326,2 }, // Sichuan Yi/China
- { 169, 91, 46, 44, 59, 37, 48, 45, 43, 101, 72,10 , 306,18 , 37,5 , 8,10 , 1483,27 , 1483,27 , 1483,27 , 134,27 , 134,27 , 134,27 , 798,14 , 798,14 , 798,14 , 798,14 , 798,14 , 798,14 , 0,2 , 0,2 }, // Kpelle/Guinea
- { 169, 121, 46, 44, 59, 37, 48, 45, 43, 101, 72,10 , 306,18 , 37,5 , 8,10 , 1483,27 , 1483,27 , 1483,27 , 134,27 , 134,27 , 134,27 , 798,14 , 798,14 , 798,14 , 798,14 , 798,14 , 798,14 , 0,2 , 0,2 }, // Kpelle/Liberia
- { 170, 82, 44, 46, 59, 37, 48, 45, 43, 101, 72,10 , 306,18 , 37,5 , 8,10 , 1483,27 , 1483,27 , 1483,27 , 134,27 , 134,27 , 134,27 , 798,14 , 798,14 , 798,14 , 798,14 , 798,14 , 798,14 , 0,2 , 0,2 }, // Low German/Germany
- { 171, 195, 44, 160, 59, 37, 48, 45, 43, 101, 72,10 , 306,18 , 37,5 , 8,10 , 19755,48 , 19803,100 , 1483,27 , 19819,48 , 19867,100 , 134,27 , 12645,27 , 12672,66 , 798,14 , 12645,27 , 12672,66 , 798,14 , 0,2 , 0,2 }, // South Ndebele/SouthAfrica
- { 172, 195, 44, 160, 59, 37, 48, 45, 43, 101, 72,10 , 306,18 , 37,5 , 8,10 , 19903,48 , 19951,94 , 1483,27 , 19967,48 , 20015,94 , 134,27 , 12738,27 , 12765,63 , 798,14 , 12738,27 , 12765,63 , 798,14 , 0,2 , 0,2 }, // Northern Sotho/SouthAfrica
- { 173, 73, 44, 160, 59, 37, 48, 8722, 43, 101, 72,10 , 306,18 , 37,5 , 8,10 , 20045,85 , 20130,145 , 20275,24 , 20109,85 , 20194,145 , 20339,24 , 12828,33 , 12861,65 , 12926,14 , 12828,33 , 12861,65 , 12926,14 , 0,2 , 0,2 }, // Northern Sami/Finland
- { 173, 161, 44, 160, 59, 37, 48, 8722, 43, 101, 72,10 , 306,18 , 37,5 , 8,10 , 20299,59 , 20130,145 , 20275,24 , 20363,59 , 20194,145 , 20339,24 , 12828,33 , 12940,75 , 13015,14 , 12828,33 , 12940,75 , 13015,14 , 0,2 , 0,2 }, // Northern Sami/Norway
- { 174, 208, 46, 44, 59, 37, 48, 45, 43, 101, 72,10 , 306,18 , 37,5 , 8,10 , 20358,48 , 20406,142 , 20548,24 , 20422,48 , 20470,142 , 20612,24 , 13029,28 , 13057,172 , 13229,14 , 13029,28 , 13057,172 , 13229,14 , 0,2 , 0,2 }, // Taroko/Taiwan
- { 175, 111, 46, 44, 59, 37, 48, 45, 43, 101, 141,10 , 10,17 , 18,7 , 25,12 , 20572,48 , 20620,88 , 20708,24 , 20636,48 , 20684,88 , 20772,24 , 13243,28 , 13271,62 , 13333,14 , 13243,28 , 13271,62 , 13333,14 , 333,5 , 328,10 }, // Gusii/Kenya
- { 176, 111, 46, 44, 59, 37, 48, 45, 43, 101, 141,10 , 10,17 , 18,7 , 25,12 , 20732,48 , 20780,221 , 21001,24 , 20796,48 , 20844,221 , 21065,24 , 13347,28 , 13375,106 , 13481,14 , 13347,28 , 13375,106 , 13481,14 , 338,10 , 338,10 }, // Taita/Kenya
- { 177, 187, 44, 160, 59, 37, 48, 45, 43, 101, 356,8 , 99,16 , 37,5 , 8,10 , 21025,48 , 21073,77 , 21150,24 , 21089,48 , 21137,77 , 21214,24 , 13495,28 , 13523,59 , 13582,14 , 13495,28 , 13523,59 , 13582,14 , 348,6 , 348,7 }, // Fulah/Senegal
- { 178, 111, 46, 44, 59, 37, 48, 45, 43, 101, 141,10 , 10,17 , 18,7 , 25,12 , 21174,48 , 21222,185 , 21407,24 , 21238,48 , 21286,185 , 21471,24 , 13596,28 , 13624,63 , 13687,14 , 13596,28 , 13624,63 , 13687,14 , 354,6 , 355,8 }, // Kikuyu/Kenya
- { 179, 111, 46, 44, 59, 37, 48, 45, 43, 101, 141,10 , 10,17 , 18,7 , 25,12 , 21431,48 , 21479,173 , 21652,24 , 21495,48 , 21543,173 , 21716,24 , 13701,28 , 13729,105 , 13834,14 , 13701,28 , 13729,105 , 13834,14 , 360,7 , 363,5 }, // Samburu/Kenya
- { 180, 146, 44, 46, 59, 37, 48, 45, 43, 101, 356,8 , 909,27 , 37,5 , 8,10 , 21676,48 , 21724,88 , 134,24 , 21740,48 , 21788,88 , 320,24 , 13848,28 , 13876,55 , 13931,14 , 13848,28 , 13876,55 , 13931,14 , 0,2 , 0,2 }, // Sena/Mozambique
- { 181, 240, 46, 44, 59, 37, 48, 45, 43, 101, 141,10 , 10,17 , 18,7 , 25,12 , 21812,48 , 21860,112 , 21972,24 , 21876,48 , 21924,112 , 22036,24 , 13945,28 , 13973,50 , 14023,14 , 13945,28 , 13973,50 , 14023,14 , 0,2 , 0,2 }, // North Ndebele/Zimbabwe
- { 182, 210, 46, 44, 59, 37, 48, 45, 43, 101, 141,10 , 10,17 , 18,7 , 25,12 , 21996,39 , 22035,194 , 22229,24 , 22060,39 , 22099,194 , 22293,24 , 14037,28 , 14065,65 , 14130,14 , 14037,28 , 14065,65 , 14130,14 , 367,8 , 368,7 }, // Rombo/Tanzania
- { 183, 145, 44, 160, 59, 37, 48, 45, 43, 101, 356,8 , 99,16 , 37,5 , 8,10 , 22253,48 , 22301,81 , 22382,24 , 22317,48 , 22365,81 , 22446,24 , 14144,30 , 14174,48 , 798,14 , 14144,30 , 14174,48 , 798,14 , 375,6 , 375,8 }, // Tachelhit/Morocco
- { 184, 3, 44, 160, 59, 37, 48, 45, 43, 101, 356,8 , 99,16 , 37,5 , 8,10 , 22406,48 , 22454,84 , 22538,24 , 22470,48 , 22518,84 , 22602,24 , 14222,30 , 14252,51 , 14303,14 , 14222,30 , 14252,51 , 14303,14 , 381,7 , 383,9 }, // Kabyle/Algeria
- { 185, 221, 46, 44, 59, 37, 48, 45, 43, 101, 141,10 , 10,17 , 18,7 , 25,12 , 22562,48 , 22610,152 , 134,24 , 22626,48 , 22674,152 , 320,24 , 14317,28 , 14345,74 , 14419,14 , 14317,28 , 14345,74 , 14419,14 , 0,2 , 0,2 }, // Nyankole/Uganda
- { 186, 210, 46, 44, 59, 37, 48, 45, 43, 101, 141,10 , 10,17 , 18,7 , 25,12 , 22762,48 , 22810,254 , 23064,24 , 22826,48 , 22874,254 , 23128,24 , 14433,28 , 14461,82 , 14543,14 , 14433,28 , 14461,82 , 14543,14 , 388,7 , 392,7 }, // Bena/Tanzania
- { 187, 210, 46, 44, 59, 37, 48, 45, 43, 101, 141,10 , 10,17 , 18,7 , 25,12 , 13266,48 , 23088,87 , 134,24 , 13417,48 , 23152,87 , 320,24 , 14557,28 , 14585,62 , 14647,14 , 14557,28 , 14585,62 , 14647,14 , 395,5 , 399,9 }, // Vunjo/Tanzania
- { 188, 132, 46, 44, 59, 37, 48, 45, 43, 101, 356,8 , 99,16 , 37,5 , 8,10 , 23175,47 , 23222,92 , 23314,24 , 23239,47 , 23286,92 , 23378,24 , 14661,28 , 14689,44 , 14733,14 , 14661,28 , 14689,44 , 14733,14 , 0,2 , 0,2 }, // Bambara/Mali
- { 189, 111, 46, 44, 59, 37, 48, 45, 43, 101, 141,10 , 10,17 , 18,7 , 25,12 , 23338,48 , 23386,207 , 23593,24 , 23402,48 , 23450,207 , 23657,24 , 14747,28 , 14775,64 , 14839,14 , 14747,28 , 14775,64 , 14839,14 , 400,2 , 408,2 }, // Embu/Kenya
- { 190, 225, 46, 44, 59, 37, 48, 45, 43, 101, 550,6 , 35,18 , 18,7 , 25,12 , 23617,36 , 23653,58 , 23711,24 , 23681,36 , 23717,58 , 23775,24 , 14853,28 , 14881,49 , 14930,14 , 14853,28 , 14881,49 , 14930,14 , 402,3 , 410,6 }, // Cherokee/UnitedStates
- { 191, 137, 46, 160, 59, 37, 48, 45, 43, 101, 356,8 , 99,16 , 37,5 , 8,10 , 23735,47 , 23782,68 , 23850,24 , 23799,47 , 23846,68 , 23914,24 , 14944,27 , 14971,48 , 15019,14 , 14944,27 , 14971,48 , 15019,14 , 0,2 , 0,2 }, // Morisyen/Mauritius
- { 192, 210, 46, 44, 59, 37, 48, 45, 43, 101, 141,10 , 10,17 , 18,7 , 25,12 , 13266,48 , 23874,264 , 134,24 , 13417,48 , 23938,264 , 320,24 , 15033,28 , 15061,133 , 14130,14 , 15033,28 , 15061,133 , 14130,14 , 405,4 , 416,5 }, // Makonde/Tanzania
- { 193, 210, 46, 44, 59, 37, 48, 45, 43, 101, 141,10 , 10,17 , 18,7 , 25,12 , 24138,83 , 24221,111 , 24332,24 , 24202,83 , 24285,111 , 24396,24 , 15194,36 , 15230,63 , 15293,14 , 15194,36 , 15230,63 , 15293,14 , 409,3 , 421,3 }, // Langi/Tanzania
- { 194, 221, 46, 44, 59, 37, 48, 45, 43, 101, 141,10 , 10,17 , 18,7 , 25,12 , 24356,48 , 24404,97 , 134,24 , 24420,48 , 24468,97 , 320,24 , 15307,28 , 15335,66 , 15401,14 , 15307,28 , 15335,66 , 15401,14 , 0,2 , 0,2 }, // Ganda/Uganda
- { 195, 239, 46, 44, 59, 37, 48, 45, 43, 101, 141,10 , 10,17 , 18,7 , 25,12 , 24501,48 , 24549,83 , 24632,24 , 24565,48 , 24613,83 , 24696,24 , 15415,80 , 15415,80 , 798,14 , 15415,80 , 15415,80 , 798,14 , 412,8 , 424,7 }, // Bemba/Zambia
- { 196, 39, 44, 46, 59, 37, 48, 45, 43, 101, 356,8 , 909,27 , 37,5 , 8,10 , 24656,48 , 24704,86 , 134,24 , 24720,48 , 24768,86 , 320,24 , 15495,28 , 15523,73 , 15596,14 , 15495,28 , 15523,73 , 15596,14 , 122,2 , 121,2 }, // Kabuverdianu/CapeVerde
- { 197, 111, 46, 44, 59, 37, 48, 45, 43, 101, 141,10 , 10,17 , 18,7 , 25,12 , 24790,48 , 24838,86 , 24924,24 , 24854,48 , 24902,86 , 24988,24 , 15610,28 , 15638,51 , 15689,14 , 15610,28 , 15638,51 , 15689,14 , 420,2 , 431,2 }, // Meru/Kenya
- { 198, 111, 46, 44, 59, 37, 48, 45, 43, 101, 141,10 , 10,17 , 18,7 , 25,12 , 24948,48 , 24996,111 , 25107,24 , 25012,48 , 25060,111 , 25171,24 , 15703,28 , 15731,93 , 15824,14 , 15703,28 , 15731,93 , 15824,14 , 422,4 , 433,4 }, // Kalenjin/Kenya
- { 199, 148, 46, 44, 59, 37, 48, 45, 43, 101, 141,10 , 10,17 , 18,7 , 25,12 , 0,48 , 25131,136 , 134,24 , 0,48 , 25195,136 , 320,24 , 15838,23 , 15861,92 , 15953,14 , 15838,23 , 15861,92 , 15953,14 , 426,7 , 437,5 }, // Nama/Namibia
- { 200, 210, 46, 44, 59, 37, 48, 45, 43, 101, 141,10 , 10,17 , 18,7 , 25,12 , 13266,48 , 23088,87 , 134,24 , 13417,48 , 23152,87 , 320,24 , 14557,28 , 14585,62 , 14647,14 , 14557,28 , 14585,62 , 14647,14 , 395,5 , 399,9 }, // Machame/Tanzania
- { 201, 82, 44, 160, 59, 37, 48, 8722, 43, 101, 1447,10 , 1457,23 , 37,5 , 8,10 , 25267,59 , 25326,87 , 134,24 , 25331,59 , 25390,87 , 320,24 , 15967,28 , 15995,72 , 3089,14 , 15967,28 , 15995,72 , 3089,14 , 0,2 , 0,2 }, // Colognian/Germany
- { 202, 111, 46, 44, 59, 37, 48, 45, 43, 101, 141,10 , 10,17 , 18,7 , 25,12 , 25413,51 , 25464,132 , 1483,27 , 25477,51 , 25528,132 , 134,27 , 14557,28 , 16067,58 , 14130,14 , 14557,28 , 16067,58 , 14130,14 , 433,9 , 442,6 }, // Masai/Kenya
- { 202, 210, 46, 44, 59, 37, 48, 45, 43, 101, 141,10 , 10,17 , 18,7 , 25,12 , 25413,51 , 25464,132 , 1483,27 , 25477,51 , 25528,132 , 134,27 , 14557,28 , 16067,58 , 14130,14 , 14557,28 , 16067,58 , 14130,14 , 433,9 , 442,6 }, // Masai/Tanzania
- { 203, 221, 46, 44, 59, 37, 48, 45, 43, 101, 141,10 , 10,17 , 18,7 , 25,12 , 24356,48 , 24404,97 , 134,24 , 24420,48 , 24468,97 , 320,24 , 16125,35 , 16160,65 , 16225,14 , 16125,35 , 16160,65 , 16225,14 , 442,6 , 448,6 }, // Soga/Uganda
- { 204, 111, 46, 44, 59, 37, 48, 45, 43, 101, 141,10 , 10,17 , 18,7 , 25,12 , 25596,48 , 13314,84 , 134,24 , 25660,48 , 13465,84 , 320,24 , 16239,21 , 16260,75 , 85,14 , 16239,21 , 16260,75 , 85,14 , 49,4 , 49,4 }, // Luyia/Kenya
- { 205, 210, 46, 44, 59, 37, 48, 45, 43, 101, 141,10 , 10,17 , 18,7 , 25,12 , 25644,48 , 13314,84 , 134,24 , 25708,48 , 13465,84 , 320,24 , 16335,28 , 8627,60 , 14647,14 , 16335,28 , 8627,60 , 14647,14 , 448,9 , 454,8 }, // Asu/Tanzania
- { 206, 111, 46, 44, 59, 37, 48, 45, 43, 101, 141,10 , 10,17 , 18,7 , 25,12 , 25692,48 , 25740,94 , 25834,24 , 25756,48 , 25804,94 , 25898,24 , 16363,28 , 16391,69 , 16460,14 , 16363,28 , 16391,69 , 16460,14 , 457,9 , 462,6 }, // Teso/Kenya
- { 206, 221, 46, 44, 59, 37, 48, 45, 43, 101, 141,10 , 10,17 , 18,7 , 25,12 , 25692,48 , 25740,94 , 25834,24 , 25756,48 , 25804,94 , 25898,24 , 16363,28 , 16391,69 , 16460,14 , 16363,28 , 16391,69 , 16460,14 , 457,9 , 462,6 }, // Teso/Uganda
+ { 156, 157, 46, 44, 59, 37, 48, 45, 43, 101, 221,8 , 314,18 , 37,5 , 8,10 , 18041,59 , 18100,129 , 1483,27 , 18153,59 , 18212,129 , 134,27 , 11541,35 , 11576,87 , 798,14 , 11541,35 , 11576,87 , 798,14 , 0,2 , 0,2 }, // Atsam/Nigeria
+ { 157, 67, 46, 44, 59, 37, 48, 45, 43, 101, 27,8 , 1352,21 , 18,7 , 25,12 , 926,46 , 972,62 , 1034,24 , 953,46 , 999,62 , 1061,24 , 11663,27 , 11690,41 , 11731,14 , 11663,27 , 11690,41 , 11731,14 , 0,2 , 0,2 }, // Tigre/Eritrea
+ { 158, 157, 46, 44, 59, 37, 48, 45, 43, 101, 221,8 , 314,18 , 37,5 , 8,10 , 18229,57 , 18286,178 , 1483,27 , 18341,57 , 18398,178 , 134,27 , 11745,28 , 11773,44 , 798,14 , 11745,28 , 11773,44 , 798,14 , 0,2 , 0,2 }, // Jju/Nigeria
+ { 159, 106, 44, 46, 59, 37, 48, 45, 43, 101, 27,8 , 1373,27 , 37,5 , 8,10 , 18464,48 , 18512,77 , 18589,24 , 18576,48 , 18624,77 , 18701,24 , 11817,28 , 11845,50 , 2799,14 , 11817,28 , 11845,50 , 2799,14 , 0,2 , 0,2 }, // Friulian/Italy
+ { 160, 195, 44, 160, 59, 37, 48, 45, 43, 101, 72,10 , 314,18 , 37,5 , 8,10 , 18613,48 , 18661,111 , 1483,27 , 18725,48 , 18773,111 , 134,27 , 11895,27 , 11922,70 , 798,14 , 11895,27 , 11922,70 , 798,14 , 0,2 , 0,2 }, // Venda/SouthAfrica
+ { 161, 83, 46, 44, 59, 37, 48, 45, 43, 101, 141,10 , 10,17 , 18,7 , 25,12 , 18772,48 , 18820,87 , 18907,24 , 18884,48 , 18932,87 , 19019,24 , 11992,32 , 12024,44 , 12068,14 , 11992,32 , 12024,44 , 12068,14 , 321,2 , 321,2 }, // Ewe/Ghana
+ { 161, 212, 46, 44, 59, 37, 48, 45, 43, 101, 141,10 , 10,17 , 18,7 , 25,12 , 18772,48 , 18820,87 , 18907,24 , 18884,48 , 18932,87 , 19019,24 , 11992,32 , 12024,44 , 12068,14 , 11992,32 , 12024,44 , 12068,14 , 321,2 , 321,2 }, // Ewe/Togo
+ { 162, 69, 46, 8217, 59, 37, 48, 45, 43, 101, 27,8 , 1400,22 , 18,7 , 25,12 , 926,46 , 972,62 , 1034,24 , 953,46 , 999,62 , 1061,24 , 12082,27 , 12082,27 , 12109,14 , 12082,27 , 12082,27 , 12109,14 , 0,2 , 0,2 }, // Walamo/Ethiopia
+ { 163, 225, 46, 44, 59, 37, 48, 45, 43, 101, 279,6 , 10,17 , 18,7 , 25,12 , 18931,59 , 18990,95 , 1483,27 , 19043,59 , 19102,95 , 134,27 , 12123,21 , 12144,57 , 798,14 , 12123,21 , 12144,57 , 798,14 , 0,2 , 0,2 }, // Hawaiian/UnitedStates
+ { 164, 157, 46, 44, 59, 37, 48, 45, 43, 101, 221,8 , 314,18 , 37,5 , 8,10 , 19085,48 , 19133,153 , 1483,27 , 19197,48 , 19245,153 , 134,27 , 12201,28 , 12229,42 , 798,14 , 12201,28 , 12229,42 , 798,14 , 0,2 , 0,2 }, // Tyap/Nigeria
+ { 165, 129, 46, 44, 59, 37, 48, 45, 43, 101, 72,10 , 314,18 , 37,5 , 8,10 , 19286,48 , 19334,91 , 1483,27 , 19398,48 , 19446,91 , 134,27 , 12271,28 , 12299,67 , 798,14 , 12271,28 , 12299,67 , 798,14 , 0,2 , 0,2 }, // Chewa/Malawi
+ { 166, 170, 46, 44, 59, 37, 48, 45, 43, 101, 558,6 , 1422,18 , 37,5 , 8,10 , 19425,48 , 19473,88 , 19561,24 , 19537,48 , 19585,88 , 19673,24 , 12366,28 , 12394,55 , 12449,14 , 12463,28 , 12394,55 , 12449,14 , 0,2 , 0,2 }, // Filipino/Philippines
+ { 167, 206, 46, 8217, 59, 37, 48, 8722, 43, 101, 332,8 , 502,18 , 37,5 , 8,10 , 19585,48 , 19633,86 , 134,24 , 4729,48 , 19697,86 , 320,24 , 12491,28 , 12519,63 , 3089,14 , 12491,28 , 12519,63 , 3089,14 , 87,5 , 339,4 }, // Swiss German/Switzerland
+ { 168, 44, 46, 44, 59, 37, 48, 45, 43, 101, 72,10 , 314,18 , 37,5 , 8,10 , 1483,27 , 19719,38 , 1483,27 , 134,27 , 19783,38 , 134,27 , 12582,21 , 12603,28 , 12631,14 , 12582,21 , 12603,28 , 12631,14 , 341,2 , 343,2 }, // Sichuan Yi/China
+ { 169, 91, 46, 44, 59, 37, 48, 45, 43, 101, 72,10 , 314,18 , 37,5 , 8,10 , 1483,27 , 1483,27 , 1483,27 , 134,27 , 134,27 , 134,27 , 798,14 , 798,14 , 798,14 , 798,14 , 798,14 , 798,14 , 0,2 , 0,2 }, // Kpelle/Guinea
+ { 169, 121, 46, 44, 59, 37, 48, 45, 43, 101, 72,10 , 314,18 , 37,5 , 8,10 , 1483,27 , 1483,27 , 1483,27 , 134,27 , 134,27 , 134,27 , 798,14 , 798,14 , 798,14 , 798,14 , 798,14 , 798,14 , 0,2 , 0,2 }, // Kpelle/Liberia
+ { 170, 82, 44, 46, 59, 37, 48, 45, 43, 101, 72,10 , 314,18 , 37,5 , 8,10 , 1483,27 , 1483,27 , 1483,27 , 134,27 , 134,27 , 134,27 , 798,14 , 798,14 , 798,14 , 798,14 , 798,14 , 798,14 , 0,2 , 0,2 }, // Low German/Germany
+ { 171, 195, 44, 160, 59, 37, 48, 45, 43, 101, 72,10 , 314,18 , 37,5 , 8,10 , 19757,48 , 19805,100 , 1483,27 , 19821,48 , 19869,100 , 134,27 , 12645,27 , 12672,66 , 798,14 , 12645,27 , 12672,66 , 798,14 , 0,2 , 0,2 }, // South Ndebele/SouthAfrica
+ { 172, 195, 44, 160, 59, 37, 48, 45, 43, 101, 72,10 , 314,18 , 37,5 , 8,10 , 19905,48 , 19953,94 , 1483,27 , 19969,48 , 20017,94 , 134,27 , 12738,27 , 12765,63 , 798,14 , 12738,27 , 12765,63 , 798,14 , 0,2 , 0,2 }, // Northern Sotho/SouthAfrica
+ { 173, 73, 44, 160, 59, 37, 48, 8722, 43, 101, 72,10 , 314,18 , 37,5 , 8,10 , 20047,85 , 20132,145 , 20277,24 , 20111,85 , 20196,145 , 20341,24 , 12828,33 , 12861,65 , 12926,14 , 12828,33 , 12861,65 , 12926,14 , 0,2 , 0,2 }, // Northern Sami/Finland
+ { 173, 161, 44, 160, 59, 37, 48, 8722, 43, 101, 72,10 , 314,18 , 37,5 , 8,10 , 20301,59 , 20132,145 , 20277,24 , 20365,59 , 20196,145 , 20341,24 , 12828,33 , 12940,75 , 13015,14 , 12828,33 , 12940,75 , 13015,14 , 0,2 , 0,2 }, // Northern Sami/Norway
+ { 174, 208, 46, 44, 59, 37, 48, 45, 43, 101, 72,10 , 314,18 , 37,5 , 8,10 , 20360,48 , 20408,142 , 20550,24 , 20424,48 , 20472,142 , 20614,24 , 13029,28 , 13057,172 , 13229,14 , 13029,28 , 13057,172 , 13229,14 , 0,2 , 0,2 }, // Taroko/Taiwan
+ { 175, 111, 46, 44, 59, 37, 48, 45, 43, 101, 141,10 , 10,17 , 18,7 , 25,12 , 20574,48 , 20622,88 , 20710,24 , 20638,48 , 20686,88 , 20774,24 , 13243,28 , 13271,62 , 13333,14 , 13243,28 , 13271,62 , 13333,14 , 343,5 , 345,10 }, // Gusii/Kenya
+ { 176, 111, 46, 44, 59, 37, 48, 45, 43, 101, 141,10 , 10,17 , 18,7 , 25,12 , 20734,48 , 20782,221 , 21003,24 , 20798,48 , 20846,221 , 21067,24 , 13347,28 , 13375,106 , 13481,14 , 13347,28 , 13375,106 , 13481,14 , 348,10 , 355,10 }, // Taita/Kenya
+ { 177, 187, 44, 160, 59, 37, 48, 45, 43, 101, 364,8 , 99,16 , 37,5 , 8,10 , 21027,48 , 21075,77 , 21152,24 , 21091,48 , 21139,77 , 21216,24 , 13495,28 , 13523,59 , 13582,14 , 13495,28 , 13523,59 , 13582,14 , 358,6 , 365,7 }, // Fulah/Senegal
+ { 178, 111, 46, 44, 59, 37, 48, 45, 43, 101, 141,10 , 10,17 , 18,7 , 25,12 , 21176,48 , 21224,185 , 21409,24 , 21240,48 , 21288,185 , 21473,24 , 13596,28 , 13624,63 , 13687,14 , 13596,28 , 13624,63 , 13687,14 , 364,6 , 372,8 }, // Kikuyu/Kenya
+ { 179, 111, 46, 44, 59, 37, 48, 45, 43, 101, 141,10 , 10,17 , 18,7 , 25,12 , 21433,48 , 21481,173 , 21654,24 , 21497,48 , 21545,173 , 21718,24 , 13701,28 , 13729,105 , 13834,14 , 13701,28 , 13729,105 , 13834,14 , 370,7 , 380,5 }, // Samburu/Kenya
+ { 180, 146, 44, 46, 59, 37, 48, 45, 43, 101, 364,8 , 902,27 , 37,5 , 8,10 , 21678,48 , 21726,88 , 134,24 , 21742,48 , 21790,88 , 320,24 , 13848,28 , 13876,55 , 13931,14 , 13848,28 , 13876,55 , 13931,14 , 0,2 , 0,2 }, // Sena/Mozambique
+ { 181, 240, 46, 44, 59, 37, 48, 45, 43, 101, 141,10 , 10,17 , 18,7 , 25,12 , 21814,48 , 21862,112 , 21974,24 , 21878,48 , 21926,112 , 22038,24 , 13945,28 , 13973,50 , 14023,14 , 13945,28 , 13973,50 , 14023,14 , 0,2 , 0,2 }, // North Ndebele/Zimbabwe
+ { 182, 210, 46, 44, 59, 37, 48, 45, 43, 101, 141,10 , 10,17 , 18,7 , 25,12 , 21998,39 , 22037,194 , 22231,24 , 22062,39 , 22101,194 , 22295,24 , 14037,28 , 14065,65 , 14130,14 , 14037,28 , 14065,65 , 14130,14 , 377,8 , 385,7 }, // Rombo/Tanzania
+ { 183, 145, 44, 160, 59, 37, 48, 45, 43, 101, 364,8 , 99,16 , 37,5 , 8,10 , 22255,48 , 22303,81 , 22384,24 , 22319,48 , 22367,81 , 22448,24 , 14144,30 , 14174,48 , 798,14 , 14144,30 , 14174,48 , 798,14 , 385,6 , 392,8 }, // Tachelhit/Morocco
+ { 184, 3, 44, 160, 59, 37, 48, 45, 43, 101, 364,8 , 99,16 , 37,5 , 8,10 , 22408,48 , 22456,84 , 22540,24 , 22472,48 , 22520,84 , 22604,24 , 14222,30 , 14252,51 , 14303,14 , 14222,30 , 14252,51 , 14303,14 , 391,7 , 400,9 }, // Kabyle/Algeria
+ { 185, 221, 46, 44, 59, 37, 48, 45, 43, 101, 141,10 , 10,17 , 18,7 , 25,12 , 22564,48 , 22612,152 , 134,24 , 22628,48 , 22676,152 , 320,24 , 14317,28 , 14345,74 , 14419,14 , 14317,28 , 14345,74 , 14419,14 , 0,2 , 0,2 }, // Nyankole/Uganda
+ { 186, 210, 46, 44, 59, 37, 48, 45, 43, 101, 141,10 , 10,17 , 18,7 , 25,12 , 22764,48 , 22812,254 , 23066,24 , 22828,48 , 22876,254 , 23130,24 , 14433,28 , 14461,82 , 14543,14 , 14433,28 , 14461,82 , 14543,14 , 398,7 , 409,7 }, // Bena/Tanzania
+ { 187, 210, 46, 44, 59, 37, 48, 45, 43, 101, 141,10 , 10,17 , 18,7 , 25,12 , 13266,48 , 23090,87 , 134,24 , 13417,48 , 23154,87 , 320,24 , 14557,28 , 14585,62 , 14647,14 , 14557,28 , 14585,62 , 14647,14 , 405,5 , 416,9 }, // Vunjo/Tanzania
+ { 188, 132, 46, 44, 59, 37, 48, 45, 43, 101, 364,8 , 99,16 , 37,5 , 8,10 , 23177,47 , 23224,92 , 23316,24 , 23241,47 , 23288,92 , 23380,24 , 14661,28 , 14689,44 , 14733,14 , 14661,28 , 14689,44 , 14733,14 , 0,2 , 0,2 }, // Bambara/Mali
+ { 189, 111, 46, 44, 59, 37, 48, 45, 43, 101, 141,10 , 10,17 , 18,7 , 25,12 , 23340,48 , 23388,207 , 23595,24 , 23404,48 , 23452,207 , 23659,24 , 14747,28 , 14775,64 , 14839,14 , 14747,28 , 14775,64 , 14839,14 , 410,2 , 425,2 }, // Embu/Kenya
+ { 190, 225, 46, 44, 59, 37, 48, 45, 43, 101, 558,6 , 35,18 , 18,7 , 25,12 , 23619,36 , 23655,58 , 23713,24 , 23683,36 , 23719,58 , 23777,24 , 14853,28 , 14881,49 , 14930,14 , 14853,28 , 14881,49 , 14930,14 , 412,3 , 427,6 }, // Cherokee/UnitedStates
+ { 191, 137, 46, 160, 59, 37, 48, 45, 43, 101, 364,8 , 99,16 , 37,5 , 8,10 , 23737,47 , 23784,68 , 23852,24 , 23801,47 , 23848,68 , 23916,24 , 14944,27 , 14971,48 , 15019,14 , 14944,27 , 14971,48 , 15019,14 , 0,2 , 0,2 }, // Morisyen/Mauritius
+ { 192, 210, 46, 44, 59, 37, 48, 45, 43, 101, 141,10 , 10,17 , 18,7 , 25,12 , 13266,48 , 23876,264 , 134,24 , 13417,48 , 23940,264 , 320,24 , 15033,28 , 15061,133 , 14130,14 , 15033,28 , 15061,133 , 14130,14 , 415,4 , 433,5 }, // Makonde/Tanzania
+ { 193, 210, 46, 44, 59, 37, 48, 45, 43, 101, 141,10 , 10,17 , 18,7 , 25,12 , 24140,83 , 24223,111 , 24334,24 , 24204,83 , 24287,111 , 24398,24 , 15194,36 , 15230,63 , 15293,14 , 15194,36 , 15230,63 , 15293,14 , 419,3 , 438,3 }, // Langi/Tanzania
+ { 194, 221, 46, 44, 59, 37, 48, 45, 43, 101, 141,10 , 10,17 , 18,7 , 25,12 , 24358,48 , 24406,97 , 134,24 , 24422,48 , 24470,97 , 320,24 , 15307,28 , 15335,66 , 15401,14 , 15307,28 , 15335,66 , 15401,14 , 0,2 , 0,2 }, // Ganda/Uganda
+ { 195, 239, 46, 44, 59, 37, 48, 45, 43, 101, 141,10 , 10,17 , 18,7 , 25,12 , 24503,48 , 24551,83 , 24634,24 , 24567,48 , 24615,83 , 24698,24 , 15415,80 , 15415,80 , 798,14 , 15415,80 , 15415,80 , 798,14 , 422,8 , 441,7 }, // Bemba/Zambia
+ { 196, 39, 44, 46, 59, 37, 48, 45, 43, 101, 364,8 , 902,27 , 37,5 , 8,10 , 24658,48 , 24706,86 , 134,24 , 24722,48 , 24770,86 , 320,24 , 15495,28 , 15523,73 , 15596,14 , 15495,28 , 15523,73 , 15596,14 , 136,2 , 136,2 }, // Kabuverdianu/CapeVerde
+ { 197, 111, 46, 44, 59, 37, 48, 45, 43, 101, 141,10 , 10,17 , 18,7 , 25,12 , 24792,48 , 24840,86 , 24926,24 , 24856,48 , 24904,86 , 24990,24 , 15610,28 , 15638,51 , 15689,14 , 15610,28 , 15638,51 , 15689,14 , 430,2 , 448,2 }, // Meru/Kenya
+ { 198, 111, 46, 44, 59, 37, 48, 45, 43, 101, 141,10 , 10,17 , 18,7 , 25,12 , 24950,48 , 24998,111 , 25109,24 , 25014,48 , 25062,111 , 25173,24 , 15703,28 , 15731,93 , 15824,14 , 15703,28 , 15731,93 , 15824,14 , 432,4 , 450,4 }, // Kalenjin/Kenya
+ { 199, 148, 46, 44, 59, 37, 48, 45, 43, 101, 141,10 , 10,17 , 18,7 , 25,12 , 0,48 , 25133,136 , 134,24 , 0,48 , 25197,136 , 320,24 , 15838,23 , 15861,92 , 15953,14 , 15838,23 , 15861,92 , 15953,14 , 436,7 , 454,5 }, // Nama/Namibia
+ { 200, 210, 46, 44, 59, 37, 48, 45, 43, 101, 141,10 , 10,17 , 18,7 , 25,12 , 13266,48 , 23090,87 , 134,24 , 13417,48 , 23154,87 , 320,24 , 14557,28 , 14585,62 , 14647,14 , 14557,28 , 14585,62 , 14647,14 , 405,5 , 416,9 }, // Machame/Tanzania
+ { 201, 82, 44, 160, 59, 37, 48, 8722, 43, 101, 1440,10 , 1450,23 , 37,5 , 8,10 , 25269,59 , 25328,87 , 134,24 , 25333,59 , 25392,87 , 320,24 , 15967,28 , 15995,72 , 3089,14 , 15967,28 , 15995,72 , 3089,14 , 0,2 , 0,2 }, // Colognian/Germany
+ { 202, 111, 46, 44, 59, 37, 48, 45, 43, 101, 141,10 , 10,17 , 18,7 , 25,12 , 25415,51 , 25466,132 , 1483,27 , 25479,51 , 25530,132 , 134,27 , 14557,28 , 16067,58 , 14130,14 , 14557,28 , 16067,58 , 14130,14 , 443,9 , 459,6 }, // Masai/Kenya
+ { 202, 210, 46, 44, 59, 37, 48, 45, 43, 101, 141,10 , 10,17 , 18,7 , 25,12 , 25415,51 , 25466,132 , 1483,27 , 25479,51 , 25530,132 , 134,27 , 14557,28 , 16067,58 , 14130,14 , 14557,28 , 16067,58 , 14130,14 , 443,9 , 459,6 }, // Masai/Tanzania
+ { 203, 221, 46, 44, 59, 37, 48, 45, 43, 101, 141,10 , 10,17 , 18,7 , 25,12 , 24358,48 , 24406,97 , 134,24 , 24422,48 , 24470,97 , 320,24 , 16125,35 , 16160,65 , 16225,14 , 16125,35 , 16160,65 , 16225,14 , 452,6 , 465,6 }, // Soga/Uganda
+ { 204, 111, 46, 44, 59, 37, 48, 45, 43, 101, 141,10 , 10,17 , 18,7 , 25,12 , 25598,48 , 13314,84 , 134,24 , 25662,48 , 13465,84 , 320,24 , 16239,21 , 16260,75 , 85,14 , 16239,21 , 16260,75 , 85,14 , 56,4 , 56,4 }, // Luyia/Kenya
+ { 205, 210, 46, 44, 59, 37, 48, 45, 43, 101, 141,10 , 10,17 , 18,7 , 25,12 , 25646,48 , 13314,84 , 134,24 , 25710,48 , 13465,84 , 320,24 , 16335,28 , 8627,60 , 14647,14 , 16335,28 , 8627,60 , 14647,14 , 458,9 , 471,8 }, // Asu/Tanzania
+ { 206, 111, 46, 44, 59, 37, 48, 45, 43, 101, 141,10 , 10,17 , 18,7 , 25,12 , 25694,48 , 25742,94 , 25836,24 , 25758,48 , 25806,94 , 25900,24 , 16363,28 , 16391,69 , 16460,14 , 16363,28 , 16391,69 , 16460,14 , 467,9 , 479,6 }, // Teso/Kenya
+ { 206, 221, 46, 44, 59, 37, 48, 45, 43, 101, 141,10 , 10,17 , 18,7 , 25,12 , 25694,48 , 25742,94 , 25836,24 , 25758,48 , 25806,94 , 25900,24 , 16363,28 , 16391,69 , 16460,14 , 16363,28 , 16391,69 , 16460,14 , 467,9 , 479,6 }, // Teso/Uganda
{ 207, 67, 46, 44, 59, 37, 48, 45, 43, 101, 27,8 , 53,19 , 18,7 , 25,12 , 317,48 , 518,118 , 494,24 , 344,48 , 545,118 , 521,24 , 16474,28 , 16502,56 , 16558,14 , 16474,28 , 16502,56 , 16558,14 , 0,2 , 0,2 }, // Saho/Eritrea
- { 208, 132, 46, 160, 59, 37, 48, 45, 43, 101, 356,8 , 99,16 , 37,5 , 8,10 , 25858,46 , 25904,88 , 25992,24 , 25922,46 , 25968,88 , 26056,24 , 16572,28 , 16600,53 , 16653,14 , 16572,28 , 16600,53 , 16653,14 , 466,6 , 468,6 }, // Koyra Chiini/Mali
- { 209, 210, 46, 44, 59, 37, 48, 45, 43, 101, 141,10 , 10,17 , 18,7 , 25,12 , 13266,48 , 23088,87 , 134,24 , 13417,48 , 23152,87 , 320,24 , 14557,28 , 14585,62 , 14647,14 , 14557,28 , 14585,62 , 14647,14 , 395,5 , 399,9 }, // Rwa/Tanzania
- { 210, 111, 46, 44, 59, 37, 48, 45, 43, 101, 141,10 , 10,17 , 18,7 , 25,12 , 26016,48 , 26064,186 , 26250,24 , 26080,48 , 26128,186 , 26314,24 , 16667,28 , 16695,69 , 16764,14 , 16667,28 , 16695,69 , 16764,14 , 472,2 , 474,2 }, // Luo/Kenya
- { 211, 221, 46, 44, 59, 37, 48, 45, 43, 101, 141,10 , 10,17 , 18,7 , 25,12 , 22562,48 , 22610,152 , 134,24 , 22626,48 , 22674,152 , 320,24 , 14317,28 , 14345,74 , 14419,14 , 14317,28 , 14345,74 , 14419,14 , 0,2 , 0,2 }, // Chiga/Uganda
- { 212, 145, 44, 160, 59, 37, 48, 45, 43, 101, 141,10 , 10,17 , 18,7 , 25,12 , 26274,48 , 26322,86 , 26408,24 , 26338,48 , 26386,86 , 26472,24 , 16778,28 , 16806,48 , 16854,14 , 16778,28 , 16806,48 , 16854,14 , 474,9 , 476,10 }, // Central Morocco Tamazight/Morocco
- { 213, 132, 46, 160, 59, 37, 48, 45, 43, 101, 356,8 , 99,16 , 37,5 , 8,10 , 25858,46 , 25904,88 , 25992,24 , 25922,46 , 25968,88 , 26056,24 , 16868,28 , 16896,54 , 16653,14 , 16868,28 , 16896,54 , 16653,14 , 466,6 , 468,6 }, // Koyraboro Senni/Mali
- { 214, 210, 46, 44, 59, 37, 48, 45, 43, 101, 141,10 , 10,17 , 18,7 , 25,12 , 13266,48 , 26432,84 , 134,24 , 13417,48 , 26496,84 , 320,24 , 16950,28 , 16978,63 , 8687,14 , 16950,28 , 16978,63 , 8687,14 , 483,5 , 486,8 }, // Shambala/Tanzania
+ { 208, 132, 46, 160, 59, 37, 48, 45, 43, 101, 364,8 , 99,16 , 37,5 , 8,10 , 25860,46 , 25906,88 , 25994,24 , 25924,46 , 25970,88 , 26058,24 , 16572,28 , 16600,53 , 16653,14 , 16572,28 , 16600,53 , 16653,14 , 476,6 , 485,6 }, // Koyra Chiini/Mali
+ { 209, 210, 46, 44, 59, 37, 48, 45, 43, 101, 141,10 , 10,17 , 18,7 , 25,12 , 13266,48 , 23090,87 , 134,24 , 13417,48 , 23154,87 , 320,24 , 14557,28 , 14585,62 , 14647,14 , 14557,28 , 14585,62 , 14647,14 , 405,5 , 416,9 }, // Rwa/Tanzania
+ { 210, 111, 46, 44, 59, 37, 48, 45, 43, 101, 141,10 , 10,17 , 18,7 , 25,12 , 26018,48 , 26066,186 , 26252,24 , 26082,48 , 26130,186 , 26316,24 , 16667,28 , 16695,69 , 16764,14 , 16667,28 , 16695,69 , 16764,14 , 482,2 , 491,2 }, // Luo/Kenya
+ { 211, 221, 46, 44, 59, 37, 48, 45, 43, 101, 141,10 , 10,17 , 18,7 , 25,12 , 22564,48 , 22612,152 , 134,24 , 22628,48 , 22676,152 , 320,24 , 14317,28 , 14345,74 , 14419,14 , 14317,28 , 14345,74 , 14419,14 , 0,2 , 0,2 }, // Chiga/Uganda
+ { 212, 145, 44, 160, 59, 37, 48, 45, 43, 101, 141,10 , 10,17 , 18,7 , 25,12 , 26276,48 , 26324,86 , 26410,24 , 26340,48 , 26388,86 , 26474,24 , 16778,28 , 16806,48 , 16854,14 , 16778,28 , 16806,48 , 16854,14 , 484,9 , 493,10 }, // Central Morocco Tamazight/Morocco
+ { 213, 132, 46, 160, 59, 37, 48, 45, 43, 101, 364,8 , 99,16 , 37,5 , 8,10 , 25860,46 , 25906,88 , 25994,24 , 25924,46 , 25970,88 , 26058,24 , 16868,28 , 16896,54 , 16653,14 , 16868,28 , 16896,54 , 16653,14 , 476,6 , 485,6 }, // Koyraboro Senni/Mali
+ { 214, 210, 46, 44, 59, 37, 48, 45, 43, 101, 141,10 , 10,17 , 18,7 , 25,12 , 13266,48 , 26434,84 , 134,24 , 13417,48 , 26498,84 , 320,24 , 16950,28 , 16978,63 , 8687,14 , 16950,28 , 16978,63 , 8687,14 , 493,5 , 503,8 }, // Shambala/Tanzania
{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0 } // trailing 0s
};
@@ -639,73 +640,72 @@ static const ushort date_format_data[] = {
0x64, 0x64, 0x64, 0x20, 0x64, 0x20, 0x4d, 0x4d, 0x4d, 0x4d, 0x20, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x2d, 0x4d, 0x4d,
0x2d, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x2c, 0x20, 0x64, 0x64, 0x20, 0x4d, 0x4d, 0x4d, 0x4d, 0x20, 0x79, 0x79, 0x79,
0x79, 0x64, 0x64, 0x2f, 0x4d, 0x4d, 0x2f, 0x79, 0x79, 0x79, 0x79, 0x64, 0x200f, 0x2f, 0x4d, 0x200f, 0x2f, 0x79, 0x79, 0x79,
-0x79, 0x64, 0x64, 0x64, 0x64, 0x60c, 0x20, 0x64, 0x20, 0x4d, 0x4d, 0x4d, 0x4d, 0x60c, 0x20, 0x79, 0x79, 0x79, 0x79, 0x4d,
-0x4d, 0x2f, 0x64, 0x64, 0x2f, 0x79, 0x79, 0x64, 0x2d, 0x4d, 0x2d, 0x79, 0x79, 0x79, 0x79, 0x64, 0x64, 0x64, 0x64, 0x2c,
-0x20, 0x64, 0x20, 0x4d, 0x4d, 0x4d, 0x4d, 0x2c, 0x20, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x2f, 0x4d, 0x4d, 0x2f, 0x64,
-0x64, 0x64, 0x64, 0x64, 0x64, 0x2c, 0x20, 0x64, 0x2c, 0x20, 0x4d, 0x4d, 0x4d, 0x4d, 0x2c, 0x20, 0x79, 0x79, 0x79, 0x79,
-0x64, 0x64, 0x64, 0x64, 0x2c, 0x20, 0x79, 0x79, 0x79, 0x79, 0x27, 0x65, 0x6b, 0x6f, 0x27, 0x20, 0x4d, 0x4d, 0x4d, 0x4d,
-0x27, 0x72, 0x65, 0x6e, 0x27, 0x20, 0x64, 0x64, 0x27, 0x61, 0x27, 0x64, 0x2f, 0x4d, 0x2f, 0x79, 0x79, 0xf66, 0xfa4, 0xfb1,
-0xf72, 0xf0b, 0xf63, 0xf7c, 0xf0b, 0x79, 0x79, 0x79, 0x79, 0x20, 0xf5f, 0xfb3, 0xf0b, 0x20, 0x4d, 0x4d, 0x4d, 0x4d, 0x20, 0xf5a,
-0xf7a, 0xf66, 0xf0b, 0x20, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x2c, 0x20, 0x79, 0x79, 0x79, 0x79, 0x20, 0x4d, 0x4d, 0x4d,
-0x4d, 0x20, 0x64, 0x64, 0x64, 0x64, 0x2e, 0x4d, 0x4d, 0x2e, 0x79, 0x79, 0x64, 0x64, 0x20, 0x4d, 0x4d, 0x4d, 0x4d, 0x20,
-0x79, 0x79, 0x79, 0x79, 0x2c, 0x20, 0x64, 0x64, 0x64, 0x64, 0x64, 0x2e, 0x4d, 0x2e, 0x79, 0x79, 0x64, 0x2f, 0x4d, 0x2f,
-0x79, 0x79, 0x79, 0x79, 0x64, 0x64, 0x64, 0x64, 0x20, 0x1790, 0x17d2, 0x1784, 0x17c3, 0x20, 0x64, 0x20, 0x1781, 0x17c2, 0x20, 0x4d,
-0x4d, 0x4d, 0x4d, 0x20, 0x1786, 0x17d2, 0x1793, 0x17b6, 0x17c6, 0x20, 0x79, 0x79, 0x79, 0x79, 0x64, 0x64, 0x64, 0x64, 0x20, 0x64,
-0x20, 0x4d, 0x4d, 0x4d, 0x4d, 0x20, 0x27, 0x64, 0x65, 0x27, 0x20, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x2d, 0x4d, 0x2d,
-0x64, 0x79, 0x79, 0x79, 0x79, 0x5e74, 0x4d, 0x6708, 0x64, 0x65e5, 0x64, 0x64, 0x64, 0x64, 0x79, 0x79, 0x5e74, 0x4d, 0x6708, 0x64,
-0x65e5, 0x79, 0x79, 0x79, 0x79, 0x5e74, 0x4d, 0x4d, 0x6708, 0x64, 0x64, 0x65e5, 0x64, 0x64, 0x64, 0x64, 0x79, 0x79, 0x2f, 0x4d,
-0x2f, 0x64, 0x64, 0x64, 0x2e, 0x20, 0x4d, 0x4d, 0x2e, 0x20, 0x79, 0x79, 0x79, 0x79, 0x2e, 0x64, 0x64, 0x64, 0x64, 0x2c,
-0x20, 0x64, 0x2e, 0x20, 0x4d, 0x4d, 0x4d, 0x4d, 0x20, 0x79, 0x79, 0x79, 0x79, 0x2e, 0x64, 0x64, 0x64, 0x64, 0x2c, 0x20,
-0x64, 0x2e, 0x20, 0x4d, 0x4d, 0x4d, 0x4d, 0x20, 0x79, 0x79, 0x79, 0x79, 0x64, 0x64, 0x64, 0x64, 0x20, 0x27, 0x64, 0x65,
-0x6e, 0x27, 0x20, 0x64, 0x2e, 0x20, 0x4d, 0x4d, 0x4d, 0x4d, 0x20, 0x79, 0x79, 0x79, 0x79, 0x64, 0x64, 0x2d, 0x4d, 0x4d,
-0x2d, 0x79, 0x79, 0x64, 0x2f, 0x4d, 0x4d, 0x2f, 0x79, 0x79, 0x4d, 0x2f, 0x64, 0x2f, 0x79, 0x79, 0x64, 0x64, 0x20, 0x4d,
-0x4d, 0x4d, 0x4d, 0x20, 0x79, 0x79, 0x79, 0x79, 0x64, 0x64, 0x64, 0x64, 0x2c, 0x64, 0x20, 0x4d, 0x4d, 0x4d, 0x4d, 0x2c,
-0x20, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x2f, 0x4d, 0x4d, 0x2f, 0x64, 0x64, 0x64, 0x2e, 0x4d, 0x2e, 0x79,
-0x79, 0x79, 0x79, 0x64, 0x64, 0x64, 0x64, 0x20, 0x64, 0x2e, 0x20, 0x4d, 0x4d, 0x4d, 0x4d, 0x20, 0x79, 0x79, 0x79, 0x79,
-0x64, 0x64, 0x64, 0x64, 0x2c, 0x20, 0x64, 0x64, 0x2e, 0x20, 0x4d, 0x4d, 0x4d, 0x4d, 0x20, 0x79, 0x79, 0x79, 0x79, 0x64,
-0x2d, 0x4d, 0x4d, 0x2d, 0x79, 0x79, 0x64, 0x64, 0x64, 0x64, 0x2c, 0x20, 0x64, 0x20, 0x5d1, 0x4d, 0x4d, 0x4d, 0x4d, 0x20,
-0x79, 0x79, 0x79, 0x79, 0x64, 0x2d, 0x4d, 0x2d, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x2e, 0x4d, 0x4d, 0x2e, 0x64, 0x64,
-0x2e, 0x79, 0x79, 0x79, 0x79, 0x2e, 0x20, 0x4d, 0x4d, 0x4d, 0x4d, 0x20, 0x64, 0x2e, 0x2c, 0x20, 0x64, 0x64, 0x64, 0x64,
-0x64, 0x64, 0x64, 0x64, 0x2c, 0x20, 0x64, 0x20, 0x4d, 0x4d, 0x4d, 0x4d, 0x20, 0x79, 0x79, 0x79, 0x79, 0x20, 0x27, 0x436,
-0x27, 0x2e, 0x79, 0x79, 0x2e, 0x20, 0x4d, 0x2e, 0x20, 0x64, 0x2e, 0x79, 0x79, 0x79, 0x79, 0xb144, 0x20, 0x4d, 0xc6d4, 0x20,
-0x64, 0xc77c, 0x20, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0xe97, 0xeb5, 0x20, 0x64, 0x20, 0x4d, 0x4d, 0x4d, 0x4d,
-0x20, 0x79, 0x79, 0x79, 0x79, 0x64, 0x64, 0x64, 0x64, 0x2c, 0x20, 0x79, 0x79, 0x79, 0x79, 0x2e, 0x20, 0x27, 0x67, 0x61,
-0x64, 0x61, 0x27, 0x20, 0x64, 0x2e, 0x20, 0x4d, 0x4d, 0x4d, 0x4d, 0x79, 0x79, 0x79, 0x79, 0x20, 0x27, 0x6d, 0x27, 0x2e,
-0x20, 0x4d, 0x4d, 0x4d, 0x4d, 0x20, 0x64, 0x20, 0x27, 0x64, 0x27, 0x2e, 0x2c, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x2e,
-0x4d, 0x2e, 0x79, 0x79, 0x64, 0x64, 0x64, 0x64, 0x20, 0x64, 0x64, 0x20, 0x4d, 0x4d, 0x4d, 0x20, 0x79, 0x79, 0x79, 0x79,
-0x79, 0x79, 0x79, 0x79, 0x2c, 0x20, 0x4d, 0x4d, 0x4d, 0x4d, 0x20, 0x64, 0x2c, 0x20, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64,
-0x64, 0x64, 0x2c, 0x20, 0x64, 0x20, 0x27, 0x74, 0x61, 0x27, 0x2019, 0x20, 0x4d, 0x4d, 0x4d, 0x4d, 0x20, 0x79, 0x79, 0x79,
-0x79, 0x79, 0x79, 0x79, 0x79, 0x2f, 0x4d, 0x2f, 0x64, 0x64, 0x64, 0x64, 0x64, 0x20, 0x62f, 0x20, 0x79, 0x79, 0x79, 0x79,
-0x20, 0x62f, 0x20, 0x4d, 0x4d, 0x4d, 0x4d, 0x20, 0x64, 0x64, 0x64, 0x64, 0x64, 0x2c, 0x20, 0x64, 0x20, 0x27, 0x64, 0x65,
-0x27, 0x20, 0x4d, 0x4d, 0x4d, 0x4d, 0x20, 0x27, 0x64, 0x65, 0x27, 0x20, 0x79, 0x79, 0x79, 0x79, 0x64, 0x64, 0x2e, 0x4d,
-0x4d, 0x2e, 0x79, 0x79, 0x79, 0x79, 0x64, 0x64, 0x64, 0x64, 0x2c, 0x20, 0x64, 0x20, 0x4d, 0x4d, 0x4d, 0x4d, 0x20, 0x79,
-0x79, 0x79, 0x79, 0xa0, 0x27, 0x433, 0x27, 0x2e, 0x64, 0x2e, 0x4d, 0x2e, 0x79, 0x79, 0x2e, 0x64, 0x64, 0x64, 0x64, 0x2c,
-0x20, 0x64, 0x64, 0x2e, 0x20, 0x4d, 0x4d, 0x4d, 0x4d, 0x20, 0x79, 0x79, 0x79, 0x79, 0x2e, 0x64, 0x64, 0x64, 0x64, 0x2c,
-0x20, 0x79, 0x79, 0x79, 0x79, 0x20, 0x4d, 0x4d, 0x4d, 0x4d, 0x20, 0x64, 0x64, 0x2e, 0x20, 0x4d, 0x4d, 0x2e, 0x20, 0x79,
-0x79, 0x64, 0x64, 0x64, 0x64, 0x20, 0x64, 0x20, 0x27, 0x64, 0x65, 0x27, 0x20, 0x4d, 0x4d, 0x4d, 0x4d, 0x20, 0x27, 0x64,
-0x65, 0x27, 0x20, 0x79, 0x79, 0x79, 0x79, 0x64, 0x64, 0x64, 0x64, 0x20, 0x64, 0x64, 0x20, 0x27, 0x64, 0x65, 0x27, 0x20,
-0x4d, 0x4d, 0x4d, 0x4d, 0x20, 0x27, 0x64, 0x65, 0x27, 0x20, 0x79, 0x79, 0x79, 0x79, 0x64, 0x64, 0x64, 0x64, 0x27, 0x65,
-0x6e, 0x27, 0x20, 0x27, 0x64, 0x65, 0x6e, 0x27, 0x20, 0x64, 0x3a, 0x27, 0x65, 0x27, 0x20, 0x4d, 0x4d, 0x4d, 0x4d, 0x20,
-0x79, 0x79, 0x79, 0x79, 0x64, 0x20, 0x4d, 0x4d, 0x4d, 0x4d, 0x20, 0x79, 0x79, 0x79, 0x79, 0x64, 0x64, 0x64, 0x64, 0xe17,
-0xe35, 0xe48, 0x20, 0x64, 0x20, 0x4d, 0x4d, 0x4d, 0x4d, 0x20, 0x79, 0x79, 0x79, 0x79, 0x64, 0x64, 0x64, 0x64, 0x1361, 0x20,
-0x64, 0x64, 0x20, 0x4d, 0x4d, 0x4d, 0x4d, 0x20, 0x1218, 0x12d3, 0x120d, 0x1272, 0x20, 0x79, 0x79, 0x79, 0x79, 0x64, 0x64, 0x64,
-0x64, 0x1363, 0x20, 0x64, 0x64, 0x20, 0x4d, 0x4d, 0x4d, 0x4d, 0x20, 0x1218, 0x12d3, 0x120d, 0x1272, 0x20, 0x79, 0x79, 0x79, 0x79,
-0x64, 0x64, 0x20, 0x4d, 0x4d, 0x4d, 0x4d, 0x20, 0x79, 0x79, 0x79, 0x79, 0x20, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64,
-0x64, 0x2c, 0x20, 0x64, 0x20, 0x4d, 0x4d, 0x4d, 0x4d, 0x20, 0x79, 0x79, 0x79, 0x79, 0x20, 0x27, 0x440, 0x27, 0x2e, 0x64,
-0x64, 0x64, 0x64, 0x2c, 0x20, 0x64, 0x2c, 0x20, 0x4d, 0x4d, 0x4d, 0x4d, 0x20, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
-0x79, 0x20, 0x646, 0x686, 0x6cc, 0x20, 0x6cc, 0x6cc, 0x644, 0x20, 0x64, 0x20, 0x646, 0x686, 0x6cc, 0x20, 0x4d, 0x4d, 0x4d, 0x4d,
-0x20, 0x64, 0x64, 0x64, 0x64, 0x20, 0x6a9, 0x648, 0x646, 0x6cc, 0x64, 0x64, 0x64, 0x64, 0x2c, 0x20, 0x27, 0x6e, 0x67, 0xe0,
-0x79, 0x27, 0x20, 0x64, 0x64, 0x20, 0x4d, 0x4d, 0x4d, 0x4d, 0x20, 0x27, 0x6e, 0x103, 0x6d, 0x27, 0x20, 0x79, 0x79, 0x79,
-0x79, 0x64, 0x64, 0x20, 0x4d, 0x4d, 0x4d, 0x4d, 0x2c, 0x20, 0x79, 0x79, 0x79, 0x79, 0x64, 0x64, 0x64, 0x64, 0x1361, 0x20,
-0x64, 0x64, 0x20, 0x4d, 0x4d, 0x4d, 0x4d, 0x20, 0x130d, 0x122d, 0x130b, 0x20, 0x79, 0x79, 0x79, 0x79, 0x64, 0x64, 0x64, 0x64,
-0x1365, 0x20, 0x64, 0x64, 0x20, 0x4d, 0x4d, 0x4d, 0x4d, 0x20, 0x1218, 0x12d3, 0x120d, 0x1275, 0x20, 0x79, 0x79, 0x79, 0x79, 0x64,
-0x64, 0x64, 0x64, 0x1361, 0x20, 0x64, 0x64, 0x20, 0x4d, 0x4d, 0x4d, 0x4d, 0x20, 0x12ee, 0x121d, 0x20, 0x79, 0x79, 0x79, 0x79,
-0x64, 0x64, 0x64, 0x64, 0x20, 0x64, 0x20, 0x27, 0x64, 0x69, 0x27, 0x20, 0x4d, 0x4d, 0x4d, 0x4d, 0x20, 0x27, 0x64, 0x61,
-0x6c, 0x27, 0x20, 0x79, 0x79, 0x79, 0x79, 0x64, 0x64, 0x64, 0x64, 0x1365, 0x20, 0x64, 0x64, 0x20, 0x4d, 0x4d, 0x4d, 0x4d,
-0x20, 0x130b, 0x120b, 0x1233, 0x20, 0x79, 0x79, 0x79, 0x79, 0x64, 0x64, 0x64, 0x64, 0x2c, 0x20, 0x4d, 0x4d, 0x4d, 0x4d, 0x20,
-0x64, 0x64, 0x20, 0x79, 0x79, 0x79, 0x79, 0x64, 0x2e, 0x20, 0x4d, 0x2e, 0x20, 0x79, 0x79, 0x79, 0x79, 0x64, 0x64, 0x64,
-0x64, 0x2c, 0x20, 0x27, 0x64, 0xe4, 0x27, 0x20, 0x64, 0x2e, 0x20, 0x4d, 0x4d, 0x4d, 0x4d, 0x20, 0x79, 0x79, 0x79, 0x79,
-
+0x79, 0x64, 0x64, 0x64, 0x64, 0x60c, 0x20, 0x64, 0x20, 0x4d, 0x4d, 0x4d, 0x4d, 0x60c, 0x20, 0x79, 0x79, 0x79, 0x79, 0x79,
+0x79, 0x79, 0x79, 0x2f, 0x4d, 0x2f, 0x64, 0x4d, 0x4d, 0x2f, 0x64, 0x64, 0x2f, 0x79, 0x79, 0x64, 0x2d, 0x4d, 0x2d, 0x79,
+0x79, 0x79, 0x79, 0x64, 0x64, 0x64, 0x64, 0x2c, 0x20, 0x64, 0x20, 0x4d, 0x4d, 0x4d, 0x4d, 0x2c, 0x20, 0x79, 0x79, 0x79,
+0x79, 0x79, 0x79, 0x2f, 0x4d, 0x4d, 0x2f, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x2c, 0x20, 0x64, 0x2c, 0x20, 0x4d, 0x4d,
+0x4d, 0x4d, 0x2c, 0x20, 0x79, 0x79, 0x79, 0x79, 0x64, 0x64, 0x64, 0x64, 0x2c, 0x20, 0x79, 0x79, 0x79, 0x79, 0x27, 0x65,
+0x6b, 0x6f, 0x27, 0x20, 0x4d, 0x4d, 0x4d, 0x4d, 0x27, 0x72, 0x65, 0x6e, 0x27, 0x20, 0x64, 0x64, 0x27, 0x61, 0x27, 0x64,
+0x2f, 0x4d, 0x2f, 0x79, 0x79, 0xf66, 0xfa4, 0xfb1, 0xf72, 0xf0b, 0xf63, 0xf7c, 0xf0b, 0x79, 0x79, 0x79, 0x79, 0x20, 0xf5f, 0xfb3,
+0xf0b, 0x20, 0x4d, 0x4d, 0x4d, 0x4d, 0x20, 0xf5a, 0xf7a, 0xf66, 0xf0b, 0x20, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x2c, 0x20,
+0x79, 0x79, 0x79, 0x79, 0x20, 0x4d, 0x4d, 0x4d, 0x4d, 0x20, 0x64, 0x64, 0x64, 0x64, 0x2e, 0x4d, 0x4d, 0x2e, 0x79, 0x79,
+0x64, 0x64, 0x20, 0x4d, 0x4d, 0x4d, 0x4d, 0x20, 0x79, 0x79, 0x79, 0x79, 0x2c, 0x20, 0x64, 0x64, 0x64, 0x64, 0x64, 0x2e,
+0x4d, 0x2e, 0x79, 0x79, 0x64, 0x2f, 0x4d, 0x2f, 0x79, 0x79, 0x79, 0x79, 0x64, 0x64, 0x64, 0x64, 0x20, 0x1790, 0x17d2, 0x1784,
+0x17c3, 0x20, 0x64, 0x20, 0x1781, 0x17c2, 0x20, 0x4d, 0x4d, 0x4d, 0x4d, 0x20, 0x1786, 0x17d2, 0x1793, 0x17b6, 0x17c6, 0x20, 0x79, 0x79,
+0x79, 0x79, 0x64, 0x64, 0x64, 0x64, 0x20, 0x64, 0x20, 0x4d, 0x4d, 0x4d, 0x4d, 0x20, 0x27, 0x64, 0x65, 0x27, 0x20, 0x79,
+0x79, 0x79, 0x79, 0x79, 0x79, 0x2d, 0x4d, 0x2d, 0x64, 0x79, 0x79, 0x79, 0x79, 0x5e74, 0x4d, 0x6708, 0x64, 0x65e5, 0x64, 0x64,
+0x64, 0x64, 0x79, 0x79, 0x5e74, 0x4d, 0x6708, 0x64, 0x65e5, 0x79, 0x79, 0x79, 0x79, 0x5e74, 0x4d, 0x4d, 0x6708, 0x64, 0x64, 0x65e5,
+0x64, 0x64, 0x64, 0x64, 0x79, 0x79, 0x2f, 0x4d, 0x2f, 0x64, 0x64, 0x64, 0x2e, 0x20, 0x4d, 0x4d, 0x2e, 0x20, 0x79, 0x79,
+0x79, 0x79, 0x2e, 0x64, 0x64, 0x64, 0x64, 0x2c, 0x20, 0x64, 0x2e, 0x20, 0x4d, 0x4d, 0x4d, 0x4d, 0x20, 0x79, 0x79, 0x79,
+0x79, 0x2e, 0x64, 0x64, 0x64, 0x64, 0x2c, 0x20, 0x64, 0x2e, 0x20, 0x4d, 0x4d, 0x4d, 0x4d, 0x20, 0x79, 0x79, 0x79, 0x79,
+0x64, 0x64, 0x64, 0x64, 0x20, 0x27, 0x64, 0x65, 0x6e, 0x27, 0x20, 0x64, 0x2e, 0x20, 0x4d, 0x4d, 0x4d, 0x4d, 0x20, 0x79,
+0x79, 0x79, 0x79, 0x64, 0x64, 0x2d, 0x4d, 0x4d, 0x2d, 0x79, 0x79, 0x64, 0x2f, 0x4d, 0x4d, 0x2f, 0x79, 0x79, 0x4d, 0x2f,
+0x64, 0x2f, 0x79, 0x79, 0x64, 0x64, 0x20, 0x4d, 0x4d, 0x4d, 0x4d, 0x20, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
+0x2f, 0x4d, 0x4d, 0x2f, 0x64, 0x64, 0x64, 0x2e, 0x4d, 0x2e, 0x79, 0x79, 0x79, 0x79, 0x64, 0x64, 0x64, 0x64, 0x20, 0x64,
+0x2e, 0x20, 0x4d, 0x4d, 0x4d, 0x4d, 0x20, 0x79, 0x79, 0x79, 0x79, 0x64, 0x64, 0x64, 0x64, 0x2c, 0x20, 0x64, 0x64, 0x2e,
+0x20, 0x4d, 0x4d, 0x4d, 0x4d, 0x20, 0x79, 0x79, 0x79, 0x79, 0x64, 0x2d, 0x4d, 0x4d, 0x2d, 0x79, 0x79, 0x64, 0x64, 0x64,
+0x64, 0x2c, 0x20, 0x64, 0x20, 0x5d1, 0x4d, 0x4d, 0x4d, 0x4d, 0x20, 0x79, 0x79, 0x79, 0x79, 0x64, 0x2d, 0x4d, 0x2d, 0x79,
+0x79, 0x79, 0x79, 0x79, 0x79, 0x2e, 0x4d, 0x4d, 0x2e, 0x64, 0x64, 0x2e, 0x79, 0x79, 0x79, 0x79, 0x2e, 0x20, 0x4d, 0x4d,
+0x4d, 0x4d, 0x20, 0x64, 0x2e, 0x2c, 0x20, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x2c, 0x20, 0x64, 0x20, 0x4d,
+0x4d, 0x4d, 0x4d, 0x20, 0x79, 0x79, 0x79, 0x79, 0x20, 0x27, 0x436, 0x27, 0x2e, 0x79, 0x79, 0x2e, 0x20, 0x4d, 0x2e, 0x20,
+0x64, 0x2e, 0x79, 0x79, 0x79, 0x79, 0xb144, 0x20, 0x4d, 0xc6d4, 0x20, 0x64, 0xc77c, 0x20, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64,
+0x64, 0x64, 0xe97, 0xeb5, 0x20, 0x64, 0x20, 0x4d, 0x4d, 0x4d, 0x4d, 0x20, 0x79, 0x79, 0x79, 0x79, 0x64, 0x64, 0x64, 0x64,
+0x2c, 0x20, 0x79, 0x79, 0x79, 0x79, 0x2e, 0x20, 0x27, 0x67, 0x61, 0x64, 0x61, 0x27, 0x20, 0x64, 0x2e, 0x20, 0x4d, 0x4d,
+0x4d, 0x4d, 0x79, 0x79, 0x79, 0x79, 0x20, 0x27, 0x6d, 0x27, 0x2e, 0x20, 0x4d, 0x4d, 0x4d, 0x4d, 0x20, 0x64, 0x20, 0x27,
+0x64, 0x27, 0x2e, 0x2c, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x2e, 0x4d, 0x2e, 0x79, 0x79, 0x64, 0x64, 0x64, 0x64, 0x20,
+0x64, 0x64, 0x20, 0x4d, 0x4d, 0x4d, 0x20, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x2c, 0x20, 0x4d, 0x4d, 0x4d,
+0x4d, 0x20, 0x64, 0x2c, 0x20, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x2c, 0x20, 0x64, 0x20, 0x27, 0x74, 0x61,
+0x27, 0x2019, 0x20, 0x4d, 0x4d, 0x4d, 0x4d, 0x20, 0x79, 0x79, 0x79, 0x79, 0x64, 0x64, 0x64, 0x64, 0x20, 0x62f, 0x20, 0x79,
+0x79, 0x79, 0x79, 0x20, 0x62f, 0x20, 0x4d, 0x4d, 0x4d, 0x4d, 0x20, 0x64, 0x64, 0x64, 0x2d, 0x4d, 0x4d, 0x2d, 0x79, 0x79,
+0x79, 0x79, 0x64, 0x64, 0x64, 0x64, 0x2c, 0x20, 0x64, 0x20, 0x27, 0x64, 0x65, 0x27, 0x20, 0x4d, 0x4d, 0x4d, 0x4d, 0x20,
+0x27, 0x64, 0x65, 0x27, 0x20, 0x79, 0x79, 0x79, 0x79, 0x64, 0x64, 0x2e, 0x4d, 0x4d, 0x2e, 0x79, 0x79, 0x79, 0x79, 0x64,
+0x64, 0x64, 0x64, 0x2c, 0x20, 0x64, 0x20, 0x4d, 0x4d, 0x4d, 0x4d, 0x20, 0x79, 0x79, 0x79, 0x79, 0xa0, 0x27, 0x433, 0x27,
+0x2e, 0x64, 0x2e, 0x4d, 0x2e, 0x79, 0x79, 0x2e, 0x64, 0x64, 0x64, 0x64, 0x2c, 0x20, 0x64, 0x64, 0x2e, 0x20, 0x4d, 0x4d,
+0x4d, 0x4d, 0x20, 0x79, 0x79, 0x79, 0x79, 0x2e, 0x64, 0x64, 0x64, 0x64, 0x2c, 0x20, 0x79, 0x79, 0x79, 0x79, 0x20, 0x4d,
+0x4d, 0x4d, 0x4d, 0x20, 0x64, 0x64, 0x2e, 0x20, 0x4d, 0x4d, 0x2e, 0x20, 0x79, 0x79, 0x64, 0x64, 0x64, 0x64, 0x20, 0x64,
+0x20, 0x27, 0x64, 0x65, 0x27, 0x20, 0x4d, 0x4d, 0x4d, 0x4d, 0x20, 0x27, 0x64, 0x65, 0x27, 0x20, 0x79, 0x79, 0x79, 0x79,
+0x64, 0x64, 0x64, 0x64, 0x20, 0x64, 0x64, 0x20, 0x27, 0x64, 0x65, 0x27, 0x20, 0x4d, 0x4d, 0x4d, 0x4d, 0x20, 0x27, 0x64,
+0x65, 0x27, 0x20, 0x79, 0x79, 0x79, 0x79, 0x64, 0x64, 0x64, 0x64, 0x27, 0x65, 0x6e, 0x27, 0x20, 0x27, 0x64, 0x65, 0x6e,
+0x27, 0x20, 0x64, 0x3a, 0x27, 0x65, 0x27, 0x20, 0x4d, 0x4d, 0x4d, 0x4d, 0x20, 0x79, 0x79, 0x79, 0x79, 0x64, 0x20, 0x4d,
+0x4d, 0x4d, 0x4d, 0x20, 0x79, 0x79, 0x79, 0x79, 0x64, 0x64, 0x64, 0x64, 0xe17, 0xe35, 0xe48, 0x20, 0x64, 0x20, 0x4d, 0x4d,
+0x4d, 0x4d, 0x20, 0x79, 0x79, 0x79, 0x79, 0x64, 0x64, 0x64, 0x64, 0x1361, 0x20, 0x64, 0x64, 0x20, 0x4d, 0x4d, 0x4d, 0x4d,
+0x20, 0x1218, 0x12d3, 0x120d, 0x1272, 0x20, 0x79, 0x79, 0x79, 0x79, 0x64, 0x64, 0x64, 0x64, 0x1363, 0x20, 0x64, 0x64, 0x20, 0x4d,
+0x4d, 0x4d, 0x4d, 0x20, 0x1218, 0x12d3, 0x120d, 0x1272, 0x20, 0x79, 0x79, 0x79, 0x79, 0x64, 0x64, 0x20, 0x4d, 0x4d, 0x4d, 0x4d,
+0x20, 0x79, 0x79, 0x79, 0x79, 0x20, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x2c, 0x20, 0x64, 0x20, 0x4d, 0x4d,
+0x4d, 0x4d, 0x20, 0x79, 0x79, 0x79, 0x79, 0x20, 0x27, 0x440, 0x27, 0x2e, 0x64, 0x64, 0x64, 0x64, 0x2c, 0x20, 0x64, 0x2c,
+0x20, 0x4d, 0x4d, 0x4d, 0x4d, 0x20, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x20, 0x646, 0x686, 0x6cc, 0x20, 0x6cc,
+0x6cc, 0x644, 0x20, 0x64, 0x20, 0x646, 0x686, 0x6cc, 0x20, 0x4d, 0x4d, 0x4d, 0x4d, 0x20, 0x64, 0x64, 0x64, 0x64, 0x20, 0x6a9,
+0x648, 0x646, 0x6cc, 0x64, 0x64, 0x64, 0x64, 0x2c, 0x20, 0x27, 0x6e, 0x67, 0xe0, 0x79, 0x27, 0x20, 0x64, 0x64, 0x20, 0x4d,
+0x4d, 0x4d, 0x4d, 0x20, 0x27, 0x6e, 0x103, 0x6d, 0x27, 0x20, 0x79, 0x79, 0x79, 0x79, 0x64, 0x64, 0x20, 0x4d, 0x4d, 0x4d,
+0x4d, 0x2c, 0x20, 0x79, 0x79, 0x79, 0x79, 0x64, 0x64, 0x64, 0x64, 0x1361, 0x20, 0x64, 0x64, 0x20, 0x4d, 0x4d, 0x4d, 0x4d,
+0x20, 0x130d, 0x122d, 0x130b, 0x20, 0x79, 0x79, 0x79, 0x79, 0x64, 0x64, 0x64, 0x64, 0x1365, 0x20, 0x64, 0x64, 0x20, 0x4d, 0x4d,
+0x4d, 0x4d, 0x20, 0x1218, 0x12d3, 0x120d, 0x1275, 0x20, 0x79, 0x79, 0x79, 0x79, 0x64, 0x64, 0x64, 0x64, 0x1361, 0x20, 0x64, 0x64,
+0x20, 0x4d, 0x4d, 0x4d, 0x4d, 0x20, 0x12ee, 0x121d, 0x20, 0x79, 0x79, 0x79, 0x79, 0x64, 0x64, 0x64, 0x64, 0x20, 0x64, 0x20,
+0x27, 0x64, 0x69, 0x27, 0x20, 0x4d, 0x4d, 0x4d, 0x4d, 0x20, 0x27, 0x64, 0x61, 0x6c, 0x27, 0x20, 0x79, 0x79, 0x79, 0x79,
+0x64, 0x64, 0x64, 0x64, 0x1365, 0x20, 0x64, 0x64, 0x20, 0x4d, 0x4d, 0x4d, 0x4d, 0x20, 0x130b, 0x120b, 0x1233, 0x20, 0x79, 0x79,
+0x79, 0x79, 0x64, 0x64, 0x64, 0x64, 0x2c, 0x20, 0x4d, 0x4d, 0x4d, 0x4d, 0x20, 0x64, 0x64, 0x20, 0x79, 0x79, 0x79, 0x79,
+0x64, 0x2e, 0x20, 0x4d, 0x2e, 0x20, 0x79, 0x79, 0x79, 0x79, 0x64, 0x64, 0x64, 0x64, 0x2c, 0x20, 0x27, 0x64, 0xe4, 0x27,
+0x20, 0x64, 0x2e, 0x20, 0x4d, 0x4d, 0x4d, 0x4d, 0x20, 0x79, 0x79, 0x79, 0x79
};
static const ushort time_format_data[] = {
@@ -1208,16 +1208,16 @@ static const ushort months_data[] = {
0x439, 0x3b, 0x413, 0x430, 0x445, 0x430, 0x439, 0x3b, 0x91c, 0x928, 0x3b, 0x92b, 0x947, 0x92c, 0x3b, 0x92e, 0x93e, 0x930, 0x94d, 0x91a,
0x3b, 0x905, 0x92a, 0x94d, 0x930, 0x93f, 0x3b, 0x92e, 0x947, 0x3b, 0x91c, 0x941, 0x928, 0x3b, 0x91c, 0x941, 0x932, 0x93e, 0x3b, 0x905,
0x917, 0x3b, 0x938, 0x947, 0x92a, 0x94d, 0x91f, 0x3b, 0x905, 0x915, 0x94d, 0x91f, 0x94b, 0x3b, 0x928, 0x94b, 0x92d, 0x947, 0x3b, 0x921,
-0x93f, 0x938, 0x947, 0x3b, 0x91c, 0x928, 0x935, 0x930, 0x940, 0x3b, 0x92b, 0x930, 0x935, 0x930, 0x940, 0x3b, 0x92e, 0x93e, 0x930, 0x94d,
-0x91a, 0x3b, 0x905, 0x92a, 0x94d, 0x930, 0x947, 0x932, 0x3b, 0x92e, 0x908, 0x3b, 0x91c, 0x941, 0x928, 0x3b, 0x91c, 0x941, 0x932, 0x93e,
-0x908, 0x3b, 0x905, 0x917, 0x938, 0x94d, 0x924, 0x3b, 0x938, 0x947, 0x92a, 0x94d, 0x91f, 0x947, 0x92e, 0x94d, 0x92c, 0x930, 0x3b, 0x905,
-0x915, 0x94d, 0x91f, 0x94b, 0x92c, 0x930, 0x3b, 0x928, 0x94b, 0x92d, 0x947, 0x92e, 0x94d, 0x92c, 0x930, 0x3b, 0x926, 0x93f, 0x938, 0x92e,
-0x94d, 0x92c, 0x930, 0x3b, 0x967, 0x3b, 0x968, 0x3b, 0x969, 0x3b, 0x96a, 0x3b, 0x96b, 0x3b, 0x96c, 0x3b, 0x96d, 0x3b, 0x96e, 0x3b,
-0x96f, 0x3b, 0x967, 0x966, 0x3b, 0x967, 0x967, 0x3b, 0x967, 0x968, 0x3b, 0x91c, 0x928, 0x935, 0x930, 0x940, 0x3b, 0x92b, 0x947, 0x92c,
-0x94d, 0x930, 0x941, 0x905, 0x930, 0x940, 0x3b, 0x92e, 0x93e, 0x930, 0x94d, 0x91a, 0x3b, 0x905, 0x92a, 0x94d, 0x930, 0x93f, 0x932, 0x3b,
-0x92e, 0x947, 0x3b, 0x91c, 0x941, 0x928, 0x3b, 0x91c, 0x941, 0x932, 0x93e, 0x908, 0x3b, 0x905, 0x917, 0x938, 0x94d, 0x924, 0x3b, 0x938,
-0x947, 0x92a, 0x94d, 0x91f, 0x947, 0x92e, 0x94d, 0x92c, 0x930, 0x3b, 0x905, 0x915, 0x94d, 0x91f, 0x94b, 0x92c, 0x930, 0x3b, 0x928, 0x94b,
-0x92d, 0x947, 0x92e, 0x94d, 0x92c, 0x930, 0x3b, 0x921, 0x93f, 0x938, 0x947, 0x92e, 0x94d, 0x92c, 0x930, 0x3b, 0x6a, 0x61, 0x6e, 0x2e,
+0x93f, 0x938, 0x947, 0x3b, 0x91c, 0x928, 0x935, 0x930, 0x940, 0x3b, 0x92b, 0x947, 0x92c, 0x94d, 0x930, 0x941, 0x905, 0x930, 0x940, 0x3b,
+0x92e, 0x93e, 0x930, 0x94d, 0x91a, 0x3b, 0x905, 0x92a, 0x94d, 0x930, 0x93f, 0x932, 0x3b, 0x92e, 0x947, 0x3b, 0x91c, 0x941, 0x928, 0x3b,
+0x91c, 0x941, 0x932, 0x93e, 0x908, 0x3b, 0x905, 0x917, 0x938, 0x94d, 0x924, 0x3b, 0x938, 0x947, 0x92a, 0x94d, 0x91f, 0x947, 0x92e, 0x94d,
+0x92c, 0x930, 0x3b, 0x905, 0x915, 0x94d, 0x91f, 0x94b, 0x92c, 0x930, 0x3b, 0x928, 0x94b, 0x92d, 0x947, 0x92e, 0x94d, 0x92c, 0x930, 0x3b,
+0x921, 0x93f, 0x938, 0x947, 0x92e, 0x94d, 0x92c, 0x930, 0x3b, 0x967, 0x3b, 0x968, 0x3b, 0x969, 0x3b, 0x96a, 0x3b, 0x96b, 0x3b, 0x96c,
+0x3b, 0x96d, 0x3b, 0x96e, 0x3b, 0x96f, 0x3b, 0x967, 0x966, 0x3b, 0x967, 0x967, 0x3b, 0x967, 0x968, 0x3b, 0x91c, 0x928, 0x935, 0x930,
+0x940, 0x3b, 0x92b, 0x930, 0x935, 0x930, 0x940, 0x3b, 0x92e, 0x93e, 0x930, 0x94d, 0x91a, 0x3b, 0x905, 0x92a, 0x94d, 0x930, 0x947, 0x932,
+0x3b, 0x92e, 0x908, 0x3b, 0x91c, 0x941, 0x928, 0x3b, 0x91c, 0x941, 0x932, 0x93e, 0x908, 0x3b, 0x905, 0x917, 0x938, 0x94d, 0x924, 0x3b,
+0x938, 0x947, 0x92a, 0x94d, 0x91f, 0x947, 0x92e, 0x94d, 0x92c, 0x930, 0x3b, 0x905, 0x915, 0x94d, 0x91f, 0x94b, 0x92c, 0x930, 0x3b, 0x928,
+0x94b, 0x92d, 0x947, 0x92e, 0x94d, 0x92c, 0x930, 0x3b, 0x926, 0x93f, 0x938, 0x92e, 0x94d, 0x92c, 0x930, 0x3b, 0x6a, 0x61, 0x6e, 0x2e,
0x3b, 0x66, 0x65, 0x62, 0x2e, 0x3b, 0x6d, 0x61, 0x72, 0x73, 0x3b, 0x61, 0x70, 0x72, 0x2e, 0x3b, 0x6d, 0x61, 0x69, 0x3b,
0x6a, 0x75, 0x6e, 0x69, 0x3b, 0x6a, 0x75, 0x6c, 0x69, 0x3b, 0x61, 0x75, 0x67, 0x2e, 0x3b, 0x73, 0x65, 0x70, 0x2e, 0x3b,
0x6f, 0x6b, 0x74, 0x2e, 0x3b, 0x6e, 0x6f, 0x76, 0x2e, 0x3b, 0x64, 0x65, 0x73, 0x2e, 0x3b, 0x6a, 0x61, 0x6e, 0x75, 0x61,
@@ -1434,643 +1434,643 @@ static const ushort months_data[] = {
0xbcd, 0x2e, 0x3b, 0xba8, 0xbb5, 0x2e, 0x3b, 0xb9f, 0xbbf, 0xb9a, 0x2e, 0x3b, 0xb9c, 0xba9, 0xbb5, 0xbb0, 0xbbf, 0x3b, 0xbaa, 0xbbf,
0xbaa, 0xbcd, 0xbb0, 0xbb5, 0xbb0, 0xbbf, 0x3b, 0xbae, 0xbbe, 0xbb0, 0xbcd, 0xb9a, 0xbcd, 0x3b, 0xb8f, 0xbaa, 0xbcd, 0xbb0, 0xbb2, 0xbcd,
0x3b, 0xbae, 0xbc7, 0x3b, 0xb9c, 0xbc2, 0xba9, 0xbcd, 0x3b, 0xb9c, 0xbc2, 0xbb2, 0xbc8, 0x3b, 0xb86, 0xb95, 0xbb8, 0xbcd, 0xb9f, 0xbcd,
-0x3b, 0xb9a, 0xbc6, 0xbaa, 0xbcd, 0xb9f, 0xbae, 0xbcd, 0xbaa, 0xbb0, 0xbcd, 0x3b, 0xb85, 0xb95, 0xbcd, 0xb9f, 0xbcb, 0xbaa, 0xbb0, 0xbcd,
-0x3b, 0xba8, 0xbb5, 0xbae, 0xbcd, 0xbaa, 0xbb0, 0xbcd, 0x3b, 0xb9f, 0xbbf, 0xb9a, 0xbae, 0xbcd, 0xbaa, 0xbb0, 0xbcd, 0x3b, 0xb9c, 0x3b,
-0xbaa, 0xbbf, 0x3b, 0xbae, 0xbbe, 0x3b, 0xb8f, 0x3b, 0xbae, 0xbc7, 0x3b, 0xb9c, 0xbc2, 0x3b, 0xb9c, 0xbc2, 0x3b, 0xb86, 0x3b, 0xb9a,
-0xbc6, 0x3b, 0xb85, 0x3b, 0xba8, 0x3b, 0xb9f, 0xbbf, 0x3b, 0xc1c, 0xc28, 0xc35, 0xc30, 0xc3f, 0x3b, 0xc2b, 0xc3f, 0xc2c, 0xc4d, 0xc30,
-0xc35, 0xc30, 0xc3f, 0x3b, 0xc2e, 0xc3e, 0xc30, 0xc4d, 0xc1a, 0xc3f, 0x3b, 0xc0f, 0xc2a, 0xc4d, 0xc30, 0xc3f, 0xc32, 0xc4d, 0x3b, 0xc2e,
-0xc47, 0x3b, 0xc1c, 0xc42, 0xc28, 0xc4d, 0x3b, 0xc1c, 0xc42, 0xc32, 0xc48, 0x3b, 0xc06, 0xc17, 0xc38, 0xc4d, 0xc1f, 0xc41, 0x3b, 0xc38,
-0xc46, 0xc2a, 0xc4d, 0xc1f, 0xc46, 0xc02, 0xc2c, 0xc30, 0xc4d, 0x3b, 0xc05, 0xc15, 0xc4d, 0xc1f, 0xc4b, 0xc2c, 0xc30, 0xc4d, 0x3b, 0xc28,
-0xc35, 0xc02, 0xc2c, 0xc30, 0xc4d, 0x3b, 0xc21, 0xc3f, 0xc38, 0xc46, 0xc02, 0xc2c, 0xc30, 0xc4d, 0x3b, 0xc1c, 0x3b, 0xc2b, 0xc3f, 0x3b,
-0xc2e, 0x3b, 0xc0e, 0x3b, 0xc2e, 0xc46, 0x3b, 0xc1c, 0xc41, 0x3b, 0xc1c, 0xc41, 0x3b, 0xc06, 0x3b, 0xc38, 0xc46, 0x3b, 0xc05, 0x3b,
-0xc28, 0x3b, 0xc21, 0xc3f, 0x3b, 0xe21, 0x2e, 0xe04, 0x2e, 0x3b, 0xe01, 0x2e, 0xe1e, 0x2e, 0x3b, 0xe21, 0xe35, 0x2e, 0xe04, 0x2e,
-0x3b, 0xe40, 0xe21, 0x2e, 0xe22, 0x2e, 0x3b, 0xe1e, 0x2e, 0xe04, 0x2e, 0x3b, 0xe21, 0xe34, 0x2e, 0xe22, 0x2e, 0x3b, 0xe01, 0x2e,
-0xe04, 0x2e, 0x3b, 0xe2a, 0x2e, 0xe04, 0x2e, 0x3b, 0xe01, 0x2e, 0xe22, 0x2e, 0x3b, 0xe15, 0x2e, 0xe04, 0x2e, 0x3b, 0xe1e, 0x2e,
-0xe22, 0x2e, 0x3b, 0xe18, 0x2e, 0xe04, 0x2e, 0x3b, 0xe21, 0xe01, 0xe23, 0xe32, 0xe04, 0xe21, 0x3b, 0xe01, 0xe38, 0xe21, 0xe20, 0xe32,
-0xe1e, 0xe31, 0xe19, 0xe18, 0xe4c, 0x3b, 0xe21, 0xe35, 0xe19, 0xe32, 0xe04, 0xe21, 0x3b, 0xe40, 0xe21, 0xe29, 0xe32, 0xe22, 0xe19, 0x3b,
-0xe1e, 0xe24, 0xe29, 0xe20, 0xe32, 0xe04, 0xe21, 0x3b, 0xe21, 0xe34, 0xe16, 0xe38, 0xe19, 0xe32, 0xe22, 0xe19, 0x3b, 0xe01, 0xe23, 0xe01,
-0xe0e, 0xe32, 0xe04, 0xe21, 0x3b, 0xe2a, 0xe34, 0xe07, 0xe2b, 0xe32, 0xe04, 0xe21, 0x3b, 0xe01, 0xe31, 0xe19, 0xe22, 0xe32, 0xe22, 0xe19,
-0x3b, 0xe15, 0xe38, 0xe25, 0xe32, 0xe04, 0xe21, 0x3b, 0xe1e, 0xe24, 0xe28, 0xe08, 0xe34, 0xe01, 0xe32, 0xe22, 0xe19, 0x3b, 0xe18, 0xe31,
-0xe19, 0xe27, 0xe32, 0xe04, 0xe21, 0x3b, 0xe21, 0x3b, 0xe01, 0x3b, 0xe21, 0x3b, 0xe21, 0x3b, 0xe1e, 0x3b, 0xe21, 0x3b, 0xe01, 0x3b,
-0xe2a, 0x3b, 0xe01, 0x3b, 0xe15, 0x3b, 0xe1e, 0x3b, 0xe18, 0x3b, 0xf5f, 0xfb3, 0xf0b, 0xf21, 0x3b, 0xf5f, 0xfb3, 0xf0b, 0xf22, 0x3b,
-0xf5f, 0xfb3, 0xf0b, 0xf23, 0x3b, 0xf5f, 0xfb3, 0xf0b, 0xf24, 0x3b, 0xf5f, 0xfb3, 0xf0b, 0xf25, 0x3b, 0xf5f, 0xfb3, 0xf0b, 0xf26, 0x3b,
-0xf5f, 0xfb3, 0xf0b, 0xf27, 0x3b, 0xf5f, 0xfb3, 0xf0b, 0xf28, 0x3b, 0xf5f, 0xfb3, 0xf0b, 0xf29, 0x3b, 0xf5f, 0xfb3, 0xf0b, 0xf21, 0xf20,
-0x3b, 0xf5f, 0xfb3, 0xf0b, 0xf21, 0xf21, 0x3b, 0xf5f, 0xfb3, 0xf0b, 0xf21, 0xf22, 0x3b, 0xf5f, 0xfb3, 0xf0b, 0xf56, 0xf0b, 0xf51, 0xf44,
-0xf0b, 0xf54, 0xf7c, 0xf0b, 0x3b, 0xf5f, 0xfb3, 0xf0b, 0xf56, 0xf0b, 0xf42, 0xf49, 0xf72, 0xf66, 0xf0b, 0xf54, 0xf0b, 0x3b, 0xf5f, 0xfb3,
-0xf0b, 0xf56, 0xf0b, 0xf66, 0xf74, 0xf58, 0xf0b, 0xf54, 0xf0b, 0x3b, 0xf5f, 0xfb3, 0xf0b, 0xf56, 0xf0b, 0xf56, 0xf5e, 0xf72, 0xf0b, 0xf54,
-0xf0b, 0x3b, 0xf5f, 0xfb3, 0xf0b, 0xf56, 0xf0b, 0xf63, 0xf94, 0xf0b, 0xf54, 0xf0b, 0x3b, 0xf5f, 0xfb3, 0xf0b, 0xf56, 0xf0b, 0xf51, 0xfb2,
-0xf74, 0xf42, 0xf0b, 0xf54, 0xf0b, 0x3b, 0xf5f, 0xfb3, 0xf0b, 0xf56, 0xf0b, 0xf56, 0xf51, 0xf74, 0xf53, 0xf0b, 0xf54, 0xf0b, 0x3b, 0xf5f,
-0xfb3, 0xf0b, 0xf56, 0xf0b, 0xf56, 0xf62, 0xf92, 0xfb1, 0xf51, 0xf0b, 0xf54, 0xf0b, 0x3b, 0xf5f, 0xfb3, 0xf0b, 0xf56, 0xf0b, 0xf51, 0xf42,
-0xf74, 0xf0b, 0xf54, 0xf0b, 0x3b, 0xf5f, 0xfb3, 0xf0b, 0xf56, 0xf0b, 0xf56, 0xf45, 0xf74, 0xf0b, 0xf54, 0xf0b, 0x3b, 0xf5f, 0xfb3, 0xf0b,
-0xf56, 0xf0b, 0xf56, 0xf45, 0xf74, 0xf0b, 0xf42, 0xf45, 0xf72, 0xf42, 0xf0b, 0xf54, 0xf0b, 0x3b, 0xf5f, 0xfb3, 0xf0b, 0xf56, 0xf0b, 0xf56,
-0xf45, 0xf74, 0xf0b, 0xf42, 0xf49, 0xf72, 0xf66, 0xf0b, 0xf54, 0xf0b, 0x3b, 0x1325, 0x122a, 0x3b, 0x1208, 0x12ab, 0x1272, 0x3b, 0x1218, 0x130b,
-0x1262, 0x3b, 0x121a, 0x12eb, 0x12dd, 0x3b, 0x130d, 0x1295, 0x1266, 0x3b, 0x1230, 0x1290, 0x3b, 0x1213, 0x121d, 0x1208, 0x3b, 0x1290, 0x1213, 0x1230,
-0x3b, 0x1218, 0x1235, 0x12a8, 0x3b, 0x1325, 0x1245, 0x121d, 0x3b, 0x1215, 0x12f3, 0x122d, 0x3b, 0x1273, 0x1215, 0x1233, 0x3b, 0x1325, 0x122a, 0x3b,
-0x1208, 0x12ab, 0x1272, 0x1275, 0x3b, 0x1218, 0x130b, 0x1262, 0x1275, 0x3b, 0x121a, 0x12eb, 0x12dd, 0x12eb, 0x3b, 0x130d, 0x1295, 0x1266, 0x1275, 0x3b,
-0x1230, 0x1290, 0x3b, 0x1213, 0x121d, 0x1208, 0x3b, 0x1290, 0x1213, 0x1230, 0x3b, 0x1218, 0x1235, 0x12a8, 0x1228, 0x121d, 0x3b, 0x1325, 0x1245, 0x121d,
-0x1272, 0x3b, 0x1215, 0x12f3, 0x122d, 0x3b, 0x1273, 0x1215, 0x1233, 0x1235, 0x3b, 0x53, 0x101, 0x6e, 0x3b, 0x46, 0x113, 0x70, 0x3b, 0x4d,
-0x61, 0x2bb, 0x61, 0x3b, 0x2bb, 0x45, 0x70, 0x65, 0x3b, 0x4d, 0x113, 0x3b, 0x53, 0x75, 0x6e, 0x3b, 0x53, 0x69, 0x75, 0x3b,
-0x2bb, 0x41, 0x6f, 0x6b, 0x3b, 0x53, 0x65, 0x70, 0x3b, 0x2bb, 0x4f, 0x6b, 0x61, 0x3b, 0x4e, 0x14d, 0x76, 0x3b, 0x54, 0x12b,
-0x73, 0x3b, 0x53, 0x101, 0x6e, 0x75, 0x61, 0x6c, 0x69, 0x3b, 0x46, 0x113, 0x70, 0x75, 0x65, 0x6c, 0x69, 0x3b, 0x4d, 0x61,
-0x2bb, 0x61, 0x73, 0x69, 0x3b, 0x2bb, 0x45, 0x70, 0x65, 0x6c, 0x65, 0x6c, 0x69, 0x3b, 0x4d, 0x113, 0x3b, 0x53, 0x75, 0x6e,
-0x65, 0x3b, 0x53, 0x69, 0x75, 0x6c, 0x61, 0x69, 0x3b, 0x2bb, 0x41, 0x6f, 0x6b, 0x6f, 0x73, 0x69, 0x3b, 0x53, 0x65, 0x70,
-0x69, 0x74, 0x65, 0x6d, 0x61, 0x3b, 0x2bb, 0x4f, 0x6b, 0x61, 0x74, 0x6f, 0x70, 0x61, 0x3b, 0x4e, 0x14d, 0x76, 0x65, 0x6d,
-0x61, 0x3b, 0x54, 0x12b, 0x73, 0x65, 0x6d, 0x61, 0x3b, 0x53, 0x3b, 0x46, 0x3b, 0x4d, 0x3b, 0x45, 0x3b, 0x4d, 0x3b, 0x53,
-0x3b, 0x53, 0x3b, 0x41, 0x3b, 0x53, 0x3b, 0x4f, 0x3b, 0x4e, 0x3b, 0x54, 0x3b, 0x53, 0x75, 0x6e, 0x3b, 0x59, 0x61, 0x6e,
-0x3b, 0x4b, 0x75, 0x6c, 0x3b, 0x44, 0x7a, 0x69, 0x3b, 0x4d, 0x75, 0x64, 0x3b, 0x4b, 0x68, 0x6f, 0x3b, 0x4d, 0x61, 0x77,
-0x3b, 0x4d, 0x68, 0x61, 0x3b, 0x4e, 0x64, 0x7a, 0x3b, 0x4e, 0x68, 0x6c, 0x3b, 0x48, 0x75, 0x6b, 0x3b, 0x4e, 0x27, 0x77,
-0x3b, 0x53, 0x75, 0x6e, 0x67, 0x75, 0x74, 0x69, 0x3b, 0x4e, 0x79, 0x65, 0x6e, 0x79, 0x65, 0x6e, 0x79, 0x61, 0x6e, 0x69,
-0x3b, 0x4e, 0x79, 0x65, 0x6e, 0x79, 0x61, 0x6e, 0x6b, 0x75, 0x6c, 0x75, 0x3b, 0x44, 0x7a, 0x69, 0x76, 0x61, 0x6d, 0x69,
-0x73, 0x6f, 0x6b, 0x6f, 0x3b, 0x4d, 0x75, 0x64, 0x79, 0x61, 0x78, 0x69, 0x68, 0x69, 0x3b, 0x4b, 0x68, 0x6f, 0x74, 0x61,
-0x76, 0x75, 0x78, 0x69, 0x6b, 0x61, 0x3b, 0x4d, 0x61, 0x77, 0x75, 0x77, 0x61, 0x6e, 0x69, 0x3b, 0x4d, 0x68, 0x61, 0x77,
-0x75, 0x72, 0x69, 0x3b, 0x4e, 0x64, 0x7a, 0x68, 0x61, 0x74, 0x69, 0x3b, 0x4e, 0x68, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x6c,
-0x61, 0x3b, 0x48, 0x75, 0x6b, 0x75, 0x72, 0x69, 0x3b, 0x4e, 0x27, 0x77, 0x65, 0x6e, 0x64, 0x7a, 0x61, 0x6d, 0x68, 0x61,
-0x6c, 0x61, 0x3b, 0x4f, 0x63, 0x61, 0x3b, 0x15e, 0x75, 0x62, 0x3b, 0x4d, 0x61, 0x72, 0x3b, 0x4e, 0x69, 0x73, 0x3b, 0x4d,
-0x61, 0x79, 0x3b, 0x48, 0x61, 0x7a, 0x3b, 0x54, 0x65, 0x6d, 0x3b, 0x41, 0x11f, 0x75, 0x3b, 0x45, 0x79, 0x6c, 0x3b, 0x45,
-0x6b, 0x69, 0x3b, 0x4b, 0x61, 0x73, 0x3b, 0x41, 0x72, 0x61, 0x3b, 0x4f, 0x63, 0x61, 0x6b, 0x3b, 0x15e, 0x75, 0x62, 0x61,
-0x74, 0x3b, 0x4d, 0x61, 0x72, 0x74, 0x3b, 0x4e, 0x69, 0x73, 0x61, 0x6e, 0x3b, 0x4d, 0x61, 0x79, 0x131, 0x73, 0x3b, 0x48,
-0x61, 0x7a, 0x69, 0x72, 0x61, 0x6e, 0x3b, 0x54, 0x65, 0x6d, 0x6d, 0x75, 0x7a, 0x3b, 0x41, 0x11f, 0x75, 0x73, 0x74, 0x6f,
-0x73, 0x3b, 0x45, 0x79, 0x6c, 0xfc, 0x6c, 0x3b, 0x45, 0x6b, 0x69, 0x6d, 0x3b, 0x4b, 0x61, 0x73, 0x131, 0x6d, 0x3b, 0x41,
-0x72, 0x61, 0x6c, 0x131, 0x6b, 0x3b, 0x4f, 0x3b, 0x15e, 0x3b, 0x4d, 0x3b, 0x4e, 0x3b, 0x4d, 0x3b, 0x48, 0x3b, 0x54, 0x3b,
-0x41, 0x3b, 0x45, 0x3b, 0x45, 0x3b, 0x4b, 0x3b, 0x41, 0x3b, 0x441, 0x456, 0x447, 0x2e, 0x3b, 0x43b, 0x44e, 0x442, 0x2e, 0x3b,
-0x431, 0x435, 0x440, 0x2e, 0x3b, 0x43a, 0x432, 0x456, 0x442, 0x2e, 0x3b, 0x442, 0x440, 0x430, 0x432, 0x2e, 0x3b, 0x447, 0x435, 0x440,
-0x432, 0x2e, 0x3b, 0x43b, 0x438, 0x43f, 0x2e, 0x3b, 0x441, 0x435, 0x440, 0x43f, 0x2e, 0x3b, 0x432, 0x435, 0x440, 0x2e, 0x3b, 0x436,
-0x43e, 0x432, 0x442, 0x2e, 0x3b, 0x43b, 0x438, 0x441, 0x442, 0x2e, 0x3b, 0x433, 0x440, 0x443, 0x434, 0x2e, 0x3b, 0x441, 0x456, 0x447,
-0x43d, 0x44f, 0x3b, 0x43b, 0x44e, 0x442, 0x43e, 0x433, 0x43e, 0x3b, 0x431, 0x435, 0x440, 0x435, 0x437, 0x43d, 0x44f, 0x3b, 0x43a, 0x432,
-0x456, 0x442, 0x43d, 0x44f, 0x3b, 0x442, 0x440, 0x430, 0x432, 0x43d, 0x44f, 0x3b, 0x447, 0x435, 0x440, 0x432, 0x43d, 0x44f, 0x3b, 0x43b,
-0x438, 0x43f, 0x43d, 0x44f, 0x3b, 0x441, 0x435, 0x440, 0x43f, 0x43d, 0x44f, 0x3b, 0x432, 0x435, 0x440, 0x435, 0x441, 0x43d, 0x44f, 0x3b,
-0x436, 0x43e, 0x432, 0x442, 0x43d, 0x44f, 0x3b, 0x43b, 0x438, 0x441, 0x442, 0x43e, 0x43f, 0x430, 0x434, 0x430, 0x3b, 0x433, 0x440, 0x443,
-0x434, 0x43d, 0x44f, 0x3b, 0x421, 0x3b, 0x41b, 0x3b, 0x411, 0x3b, 0x41a, 0x3b, 0x422, 0x3b, 0x427, 0x3b, 0x41b, 0x3b, 0x421, 0x3b,
-0x412, 0x3b, 0x416, 0x3b, 0x41b, 0x3b, 0x413, 0x3b, 0x62c, 0x646, 0x648, 0x631, 0x6cc, 0x3b, 0x641, 0x631, 0x648, 0x631, 0x6cc, 0x3b,
-0x645, 0x627, 0x631, 0x20, 0x686, 0x3b, 0x627, 0x67e, 0x631, 0x64a, 0x644, 0x3b, 0x645, 0x626, 0x3b, 0x62c, 0x648, 0x646, 0x3b, 0x62c,
-0x648, 0x644, 0x627, 0x626, 0x3b, 0x627, 0x6af, 0x633, 0x62a, 0x3b, 0x633, 0x62a, 0x645, 0x628, 0x631, 0x3b, 0x627, 0x6a9, 0x62a, 0x648,
-0x628, 0x631, 0x3b, 0x646, 0x648, 0x645, 0x628, 0x631, 0x3b, 0x62f, 0x633, 0x645, 0x628, 0x631, 0x3b, 0x41c, 0x443, 0x4b3, 0x430, 0x440,
-0x440, 0x430, 0x43c, 0x3b, 0x421, 0x430, 0x444, 0x430, 0x440, 0x3b, 0x420, 0x430, 0x431, 0x438, 0x443, 0x43b, 0x2d, 0x430, 0x432, 0x432,
-0x430, 0x43b, 0x3b, 0x420, 0x430, 0x431, 0x438, 0x443, 0x43b, 0x2d, 0x43e, 0x445, 0x438, 0x440, 0x3b, 0x416, 0x443, 0x43c, 0x43e, 0x434,
-0x438, 0x443, 0x43b, 0x2d, 0x443, 0x43b, 0x43e, 0x3b, 0x416, 0x443, 0x43c, 0x43e, 0x434, 0x438, 0x443, 0x43b, 0x2d, 0x443, 0x445, 0x440,
-0x43e, 0x3b, 0x420, 0x430, 0x436, 0x430, 0x431, 0x3b, 0x428, 0x430, 0x44a, 0x431, 0x43e, 0x43d, 0x3b, 0x420, 0x430, 0x43c, 0x430, 0x437,
-0x43e, 0x43d, 0x3b, 0x428, 0x430, 0x432, 0x432, 0x43e, 0x43b, 0x3b, 0x417, 0x438, 0x43b, 0x2d, 0x49b, 0x430, 0x44a, 0x434, 0x430, 0x3b,
-0x417, 0x438, 0x43b, 0x2d, 0x4b3, 0x438, 0x436, 0x436, 0x430, 0x3b, 0x62c, 0x646, 0x648, 0x3b, 0x641, 0x628, 0x631, 0x3b, 0x645, 0x627,
-0x631, 0x3b, 0x627, 0x67e, 0x631, 0x3b, 0x645, 0x640, 0x6cc, 0x3b, 0x62c, 0x648, 0x646, 0x3b, 0x62c, 0x648, 0x644, 0x3b, 0x627, 0x6af,
-0x633, 0x3b, 0x633, 0x67e, 0x62a, 0x3b, 0x627, 0x6a9, 0x62a, 0x3b, 0x646, 0x648, 0x645, 0x3b, 0x62f, 0x633, 0x645, 0x3b, 0x74, 0x68,
-0x67, 0x20, 0x31, 0x3b, 0x74, 0x68, 0x67, 0x20, 0x32, 0x3b, 0x74, 0x68, 0x67, 0x20, 0x33, 0x3b, 0x74, 0x68, 0x67, 0x20,
-0x34, 0x3b, 0x74, 0x68, 0x67, 0x20, 0x35, 0x3b, 0x74, 0x68, 0x67, 0x20, 0x36, 0x3b, 0x74, 0x68, 0x67, 0x20, 0x37, 0x3b,
-0x74, 0x68, 0x67, 0x20, 0x38, 0x3b, 0x74, 0x68, 0x67, 0x20, 0x39, 0x3b, 0x74, 0x68, 0x67, 0x20, 0x31, 0x30, 0x3b, 0x74,
-0x68, 0x67, 0x20, 0x31, 0x31, 0x3b, 0x74, 0x68, 0x67, 0x20, 0x31, 0x32, 0x3b, 0x74, 0x68, 0xe1, 0x6e, 0x67, 0x20, 0x6d,
-0x1ed9, 0x74, 0x3b, 0x74, 0x68, 0xe1, 0x6e, 0x67, 0x20, 0x68, 0x61, 0x69, 0x3b, 0x74, 0x68, 0xe1, 0x6e, 0x67, 0x20, 0x62,
-0x61, 0x3b, 0x74, 0x68, 0xe1, 0x6e, 0x67, 0x20, 0x74, 0x1b0, 0x3b, 0x74, 0x68, 0xe1, 0x6e, 0x67, 0x20, 0x6e, 0x103, 0x6d,
-0x3b, 0x74, 0x68, 0xe1, 0x6e, 0x67, 0x20, 0x73, 0xe1, 0x75, 0x3b, 0x74, 0x68, 0xe1, 0x6e, 0x67, 0x20, 0x62, 0x1ea3, 0x79,
-0x3b, 0x74, 0x68, 0xe1, 0x6e, 0x67, 0x20, 0x74, 0xe1, 0x6d, 0x3b, 0x74, 0x68, 0xe1, 0x6e, 0x67, 0x20, 0x63, 0x68, 0xed,
-0x6e, 0x3b, 0x74, 0x68, 0xe1, 0x6e, 0x67, 0x20, 0x6d, 0x1b0, 0x1edd, 0x69, 0x3b, 0x74, 0x68, 0xe1, 0x6e, 0x67, 0x20, 0x6d,
-0x1b0, 0x1edd, 0x69, 0x20, 0x6d, 0x1ed9, 0x74, 0x3b, 0x74, 0x68, 0xe1, 0x6e, 0x67, 0x20, 0x6d, 0x1b0, 0x1edd, 0x69, 0x20, 0x68,
-0x61, 0x69, 0x3b, 0x49, 0x6f, 0x6e, 0x3b, 0x43, 0x68, 0x77, 0x65, 0x66, 0x3b, 0x4d, 0x61, 0x77, 0x72, 0x74, 0x68, 0x3b,
-0x45, 0x62, 0x72, 0x69, 0x6c, 0x6c, 0x3b, 0x4d, 0x61, 0x69, 0x3b, 0x4d, 0x65, 0x68, 0x3b, 0x47, 0x6f, 0x72, 0x66, 0x66,
-0x3b, 0x41, 0x77, 0x73, 0x74, 0x3b, 0x4d, 0x65, 0x64, 0x69, 0x3b, 0x48, 0x79, 0x64, 0x3b, 0x54, 0x61, 0x63, 0x68, 0x3b,
-0x52, 0x68, 0x61, 0x67, 0x3b, 0x49, 0x6f, 0x6e, 0x61, 0x77, 0x72, 0x3b, 0x43, 0x68, 0x77, 0x65, 0x66, 0x72, 0x6f, 0x72,
-0x3b, 0x4d, 0x61, 0x77, 0x72, 0x74, 0x68, 0x3b, 0x45, 0x62, 0x72, 0x69, 0x6c, 0x6c, 0x3b, 0x4d, 0x61, 0x69, 0x3b, 0x4d,
-0x65, 0x68, 0x65, 0x66, 0x69, 0x6e, 0x3b, 0x47, 0x6f, 0x72, 0x66, 0x66, 0x65, 0x6e, 0x61, 0x66, 0x3b, 0x41, 0x77, 0x73,
-0x74, 0x3b, 0x4d, 0x65, 0x64, 0x69, 0x3b, 0x48, 0x79, 0x64, 0x72, 0x65, 0x66, 0x3b, 0x54, 0x61, 0x63, 0x68, 0x77, 0x65,
-0x64, 0x64, 0x3b, 0x52, 0x68, 0x61, 0x67, 0x66, 0x79, 0x72, 0x3b, 0x49, 0x3b, 0x43, 0x3b, 0x4d, 0x3b, 0x45, 0x3b, 0x4d,
-0x3b, 0x4d, 0x3b, 0x47, 0x3b, 0x41, 0x3b, 0x4d, 0x3b, 0x48, 0x3b, 0x54, 0x3b, 0x52, 0x3b, 0x4a, 0x61, 0x6e, 0x3b, 0x46,
-0x65, 0x62, 0x3b, 0x4d, 0x61, 0x74, 0x3b, 0x45, 0x70, 0x72, 0x3b, 0x4d, 0x65, 0x79, 0x3b, 0x4a, 0x75, 0x6e, 0x3b, 0x4a,
-0x75, 0x6c, 0x3b, 0x41, 0x67, 0x61, 0x3b, 0x53, 0x65, 0x70, 0x3b, 0x4f, 0x6b, 0x74, 0x3b, 0x4e, 0x6f, 0x76, 0x3b, 0x44,
-0x69, 0x73, 0x3b, 0x4a, 0x61, 0x6e, 0x79, 0x75, 0x77, 0x61, 0x72, 0x69, 0x3b, 0x46, 0x65, 0x62, 0x72, 0x75, 0x77, 0x61,
-0x72, 0x69, 0x3b, 0x4d, 0x61, 0x74, 0x73, 0x68, 0x69, 0x3b, 0x45, 0x70, 0x72, 0x65, 0x6c, 0x69, 0x3b, 0x4d, 0x65, 0x79,
-0x69, 0x3b, 0x4a, 0x75, 0x6e, 0x69, 0x3b, 0x4a, 0x75, 0x6c, 0x61, 0x79, 0x69, 0x3b, 0x41, 0x67, 0x61, 0x73, 0x74, 0x69,
-0x3b, 0x53, 0x65, 0x70, 0x74, 0x65, 0x6d, 0x62, 0x61, 0x3b, 0x4f, 0x6b, 0x74, 0x68, 0x6f, 0x62, 0x61, 0x3b, 0x4e, 0x6f,
-0x76, 0x65, 0x6d, 0x62, 0x61, 0x3b, 0x44, 0x69, 0x73, 0x65, 0x6d, 0x62, 0x61, 0x3b, 0x1e62, 0x1eb9, 0x301, 0x72, 0x1eb9, 0x323,
-0x3b, 0xc8, 0x72, 0xe8, 0x6c, 0xe8, 0x3b, 0x1eb8, 0x72, 0x1eb9, 0x300, 0x6e, 0xe0, 0x3b, 0xcc, 0x67, 0x62, 0xe9, 0x3b, 0x1eb8,
-0x300, 0x62, 0x69, 0x62, 0x69, 0x3b, 0xd2, 0x6b, 0xfa, 0x64, 0x75, 0x3b, 0x41, 0x67, 0x1eb9, 0x6d, 0x1ecd, 0x3b, 0xd2, 0x67,
-0xfa, 0x6e, 0x3b, 0x4f, 0x77, 0x65, 0x77, 0x65, 0x3b, 0x1ecc, 0x300, 0x77, 0xe0, 0x72, 0xe0, 0x3b, 0x42, 0xe9, 0x6c, 0xfa,
-0x3b, 0x1ecc, 0x300, 0x70, 0x1eb9, 0x300, 0x3b, 0x4f, 0x1e62, 0xf9, 0x20, 0x1e62, 0x1eb8, 0x301, 0x72, 0x1eb9, 0x301, 0x3b, 0x4f, 0x1e62,
-0xf9, 0x20, 0xc8, 0x72, 0xe8, 0x6c, 0xe8, 0x3b, 0x4f, 0x1e62, 0xf9, 0x20, 0x1eb8, 0x72, 0x1eb9, 0x300, 0x6e, 0xe0, 0x3b, 0x4f,
-0x1e62, 0xf9, 0x20, 0xcc, 0x67, 0x62, 0xe9, 0x3b, 0x4f, 0x1e62, 0xf9, 0x20, 0x1eb8, 0x300, 0x62, 0x69, 0x62, 0x69, 0x3b, 0x4f,
-0x1e62, 0xf9, 0x20, 0xd2, 0x6b, 0xfa, 0x64, 0x75, 0x3b, 0x4f, 0x1e62, 0xf9, 0x20, 0x41, 0x67, 0x1eb9, 0x6d, 0x1ecd, 0x3b, 0x4f,
-0x1e62, 0xf9, 0x20, 0xd2, 0x67, 0xfa, 0x6e, 0x3b, 0x4f, 0x1e62, 0xf9, 0x20, 0x4f, 0x77, 0x65, 0x77, 0x65, 0x3b, 0x4f, 0x1e62,
-0xf9, 0x20, 0x1ecc, 0x300, 0x77, 0xe0, 0x72, 0xe0, 0x3b, 0x4f, 0x1e62, 0xf9, 0x20, 0x42, 0xe9, 0x6c, 0xfa, 0x3b, 0x4f, 0x1e62,
-0xf9, 0x20, 0x1ecc, 0x300, 0x70, 0x1eb9, 0x300, 0x3b, 0x4a, 0x61, 0x6e, 0x3b, 0x46, 0x65, 0x62, 0x3b, 0x4d, 0x61, 0x73, 0x3b,
-0x41, 0x70, 0x72, 0x3b, 0x4d, 0x65, 0x79, 0x3b, 0x4a, 0x75, 0x6e, 0x3b, 0x4a, 0x75, 0x6c, 0x3b, 0x41, 0x67, 0x61, 0x3b,
-0x53, 0x65, 0x70, 0x3b, 0x4f, 0x6b, 0x74, 0x3b, 0x4e, 0x6f, 0x76, 0x3b, 0x44, 0x69, 0x73, 0x3b, 0x4a, 0x61, 0x6e, 0x75,
-0x77, 0x61, 0x72, 0x69, 0x3b, 0x46, 0x65, 0x62, 0x72, 0x75, 0x77, 0x61, 0x72, 0x69, 0x3b, 0x4d, 0x61, 0x73, 0x68, 0x69,
-0x3b, 0x41, 0x70, 0x72, 0x65, 0x6c, 0x69, 0x3b, 0x4d, 0x65, 0x79, 0x69, 0x3b, 0x4a, 0x75, 0x6e, 0x69, 0x3b, 0x4a, 0x75,
-0x6c, 0x61, 0x79, 0x69, 0x3b, 0x41, 0x67, 0x61, 0x73, 0x74, 0x69, 0x3b, 0x53, 0x65, 0x70, 0x74, 0x68, 0x65, 0x6d, 0x62,
-0x61, 0x3b, 0x4f, 0x6b, 0x74, 0x68, 0x6f, 0x62, 0x61, 0x3b, 0x4e, 0x6f, 0x76, 0x65, 0x6d, 0x62, 0x61, 0x3b, 0x44, 0x69,
-0x73, 0x65, 0x6d, 0x62, 0x61, 0x3b, 0x4a, 0x61, 0x6e, 0x3b, 0x46, 0x65, 0x62, 0x3b, 0x4d, 0x61, 0x72, 0x3b, 0x41, 0x70,
-0x72, 0x3b, 0x4d, 0x61, 0x6a, 0x3b, 0x4a, 0x75, 0x6e, 0x3b, 0x4a, 0x75, 0x6c, 0x3b, 0x41, 0x76, 0x67, 0x3b, 0x53, 0x65,
-0x70, 0x3b, 0x4f, 0x6b, 0x74, 0x3b, 0x4e, 0x6f, 0x76, 0x3b, 0x44, 0x65, 0x63, 0x3b, 0x4a, 0x61, 0x6e, 0x75, 0x61, 0x72,
-0x3b, 0x46, 0x65, 0x62, 0x72, 0x75, 0x61, 0x72, 0x3b, 0x4d, 0x61, 0x72, 0x74, 0x3b, 0x41, 0x70, 0x72, 0x69, 0x6c, 0x3b,
-0x4d, 0x61, 0x6a, 0x3b, 0x4a, 0x75, 0x6e, 0x69, 0x3b, 0x4a, 0x75, 0x6c, 0x69, 0x3b, 0x41, 0x76, 0x67, 0x75, 0x73, 0x74,
-0x3b, 0x53, 0x65, 0x70, 0x74, 0x65, 0x6d, 0x62, 0x61, 0x72, 0x3b, 0x4f, 0x6b, 0x74, 0x6f, 0x62, 0x61, 0x72, 0x3b, 0x4e,
-0x6f, 0x76, 0x65, 0x6d, 0x62, 0x61, 0x72, 0x3b, 0x44, 0x65, 0x63, 0x65, 0x6d, 0x62, 0x61, 0x72, 0x3b, 0x4a, 0x2d, 0x67,
-0x75, 0x65, 0x72, 0x3b, 0x54, 0x2d, 0x61, 0x72, 0x72, 0x65, 0x65, 0x3b, 0x4d, 0x61, 0x79, 0x72, 0x6e, 0x74, 0x3b, 0x41,
-0x76, 0x72, 0x72, 0x69, 0x6c, 0x3b, 0x42, 0x6f, 0x61, 0x6c, 0x64, 0x79, 0x6e, 0x3b, 0x4d, 0x2d, 0x73, 0x6f, 0x75, 0x72,
-0x65, 0x65, 0x3b, 0x4a, 0x2d, 0x73, 0x6f, 0x75, 0x72, 0x65, 0x65, 0x3b, 0x4c, 0x75, 0x61, 0x6e, 0x69, 0x73, 0x74, 0x79,
-0x6e, 0x3b, 0x4d, 0x2d, 0x66, 0x6f, 0x75, 0x79, 0x69, 0x72, 0x3b, 0x4a, 0x2d, 0x66, 0x6f, 0x75, 0x79, 0x69, 0x72, 0x3b,
-0x4d, 0x2e, 0x48, 0x6f, 0x75, 0x6e, 0x65, 0x79, 0x3b, 0x4d, 0x2e, 0x4e, 0x6f, 0x6c, 0x6c, 0x69, 0x63, 0x6b, 0x3b, 0x4a,
-0x65, 0x72, 0x72, 0x65, 0x79, 0x2d, 0x67, 0x65, 0x75, 0x72, 0x65, 0x65, 0x3b, 0x54, 0x6f, 0x73, 0x68, 0x69, 0x61, 0x67,
-0x68, 0x74, 0x2d, 0x61, 0x72, 0x72, 0x65, 0x65, 0x3b, 0x4d, 0x61, 0x79, 0x72, 0x6e, 0x74, 0x3b, 0x41, 0x76, 0x65, 0x72,
-0x69, 0x6c, 0x3b, 0x42, 0x6f, 0x61, 0x6c, 0x64, 0x79, 0x6e, 0x3b, 0x4d, 0x65, 0x61, 0x6e, 0x2d, 0x73, 0x6f, 0x75, 0x72,
-0x65, 0x65, 0x3b, 0x4a, 0x65, 0x72, 0x72, 0x65, 0x79, 0x2d, 0x73, 0x6f, 0x75, 0x72, 0x65, 0x65, 0x3b, 0x4c, 0x75, 0x61,
-0x6e, 0x69, 0x73, 0x74, 0x79, 0x6e, 0x3b, 0x4d, 0x65, 0x61, 0x6e, 0x2d, 0x66, 0x6f, 0x75, 0x79, 0x69, 0x72, 0x3b, 0x4a,
-0x65, 0x72, 0x72, 0x65, 0x79, 0x2d, 0x66, 0x6f, 0x75, 0x79, 0x69, 0x72, 0x3b, 0x4d, 0x65, 0x65, 0x20, 0x48, 0x6f, 0x75,
-0x6e, 0x65, 0x79, 0x3b, 0x4d, 0x65, 0x65, 0x20, 0x6e, 0x79, 0x20, 0x4e, 0x6f, 0x6c, 0x6c, 0x69, 0x63, 0x6b, 0x3b, 0x47,
-0x65, 0x6e, 0x3b, 0x57, 0x68, 0x65, 0x3b, 0x4d, 0x65, 0x72, 0x3b, 0x45, 0x62, 0x72, 0x3b, 0x4d, 0x65, 0x3b, 0x45, 0x66,
-0x6e, 0x3b, 0x47, 0x6f, 0x72, 0x3b, 0x45, 0x73, 0x74, 0x3b, 0x47, 0x77, 0x6e, 0x3b, 0x48, 0x65, 0x64, 0x3b, 0x44, 0x75,
-0x3b, 0x4b, 0x65, 0x76, 0x3b, 0x4d, 0x79, 0x73, 0x20, 0x47, 0x65, 0x6e, 0x76, 0x65, 0x72, 0x3b, 0x4d, 0x79, 0x73, 0x20,
-0x57, 0x68, 0x65, 0x76, 0x72, 0x65, 0x6c, 0x3b, 0x4d, 0x79, 0x73, 0x20, 0x4d, 0x65, 0x72, 0x74, 0x68, 0x3b, 0x4d, 0x79,
-0x73, 0x20, 0x45, 0x62, 0x72, 0x65, 0x6c, 0x3b, 0x4d, 0x79, 0x73, 0x20, 0x4d, 0x65, 0x3b, 0x4d, 0x79, 0x73, 0x20, 0x45,
-0x66, 0x61, 0x6e, 0x3b, 0x4d, 0x79, 0x73, 0x20, 0x47, 0x6f, 0x72, 0x74, 0x68, 0x65, 0x72, 0x65, 0x6e, 0x3b, 0x4d, 0x79,
-0x65, 0x20, 0x45, 0x73, 0x74, 0x3b, 0x4d, 0x79, 0x73, 0x20, 0x47, 0x77, 0x79, 0x6e, 0x67, 0x61, 0x6c, 0x61, 0x3b, 0x4d,
-0x79, 0x73, 0x20, 0x48, 0x65, 0x64, 0x72, 0x61, 0x3b, 0x4d, 0x79, 0x73, 0x20, 0x44, 0x75, 0x3b, 0x4d, 0x79, 0x73, 0x20,
-0x4b, 0x65, 0x76, 0x61, 0x72, 0x64, 0x68, 0x75, 0x3b, 0x53, 0x2d, 0x186, 0x3b, 0x4b, 0x2d, 0x186, 0x3b, 0x45, 0x2d, 0x186,
-0x3b, 0x45, 0x2d, 0x4f, 0x3b, 0x45, 0x2d, 0x4b, 0x3b, 0x4f, 0x2d, 0x41, 0x3b, 0x41, 0x2d, 0x4b, 0x3b, 0x44, 0x2d, 0x186,
-0x3b, 0x46, 0x2d, 0x190, 0x3b, 0x186, 0x2d, 0x41, 0x3b, 0x186, 0x2d, 0x4f, 0x3b, 0x4d, 0x2d, 0x186, 0x3b, 0x53, 0x61, 0x6e,
-0x64, 0x61, 0x2d, 0x186, 0x70, 0x25b, 0x70, 0x254, 0x6e, 0x3b, 0x4b, 0x77, 0x61, 0x6b, 0x77, 0x61, 0x72, 0x2d, 0x186, 0x67,
-0x79, 0x65, 0x66, 0x75, 0x6f, 0x3b, 0x45, 0x62, 0x254, 0x77, 0x2d, 0x186, 0x62, 0x65, 0x6e, 0x65, 0x6d, 0x3b, 0x45, 0x62,
-0x254, 0x62, 0x69, 0x72, 0x61, 0x2d, 0x4f, 0x66, 0x6f, 0x72, 0x69, 0x73, 0x75, 0x6f, 0x3b, 0x45, 0x73, 0x75, 0x73, 0x6f,
-0x77, 0x20, 0x41, 0x6b, 0x65, 0x74, 0x73, 0x65, 0x61, 0x62, 0x61, 0x2d, 0x4b, 0x254, 0x74, 0x254, 0x6e, 0x69, 0x6d, 0x62,
-0x61, 0x3b, 0x4f, 0x62, 0x69, 0x72, 0x61, 0x64, 0x65, 0x2d, 0x41, 0x79, 0x25b, 0x77, 0x6f, 0x68, 0x6f, 0x6d, 0x75, 0x6d,
-0x75, 0x3b, 0x41, 0x79, 0x25b, 0x77, 0x6f, 0x68, 0x6f, 0x2d, 0x4b, 0x69, 0x74, 0x61, 0x77, 0x6f, 0x6e, 0x73, 0x61, 0x3b,
-0x44, 0x69, 0x66, 0x75, 0x75, 0x2d, 0x186, 0x73, 0x61, 0x6e, 0x64, 0x61, 0x61, 0x3b, 0x46, 0x61, 0x6e, 0x6b, 0x77, 0x61,
-0x2d, 0x190, 0x62, 0x254, 0x3b, 0x186, 0x62, 0x25b, 0x73, 0x25b, 0x2d, 0x41, 0x68, 0x69, 0x6e, 0x69, 0x6d, 0x65, 0x3b, 0x186,
-0x62, 0x65, 0x72, 0x25b, 0x66, 0x25b, 0x77, 0x2d, 0x4f, 0x62, 0x75, 0x62, 0x75, 0x6f, 0x3b, 0x4d, 0x75, 0x6d, 0x75, 0x2d,
-0x186, 0x70, 0x25b, 0x6e, 0x69, 0x6d, 0x62, 0x61, 0x3b, 0x91c, 0x93e, 0x928, 0x947, 0x935, 0x93e, 0x930, 0x940, 0x3b, 0x92b, 0x947,
-0x92c, 0x94d, 0x930, 0x941, 0x935, 0x93e, 0x930, 0x940, 0x3b, 0x92e, 0x93e, 0x930, 0x94d, 0x91a, 0x3b, 0x90f, 0x92a, 0x94d, 0x930, 0x93f,
-0x932, 0x3b, 0x92e, 0x947, 0x3b, 0x91c, 0x942, 0x928, 0x3b, 0x91c, 0x941, 0x932, 0x948, 0x3b, 0x913, 0x917, 0x938, 0x94d, 0x91f, 0x3b,
-0x938, 0x947, 0x92a, 0x94d, 0x91f, 0x947, 0x902, 0x92c, 0x930, 0x3b, 0x913, 0x915, 0x94d, 0x91f, 0x94b, 0x92c, 0x930, 0x3b, 0x928, 0x94b,
-0x935, 0x94d, 0x939, 0x947, 0x902, 0x92c, 0x930, 0x3b, 0x921, 0x93f, 0x938, 0x947, 0x902, 0x92c, 0x930, 0x3b, 0x41, 0x68, 0x61, 0x3b,
-0x4f, 0x66, 0x6c, 0x3b, 0x4f, 0x63, 0x68, 0x3b, 0x41, 0x62, 0x65, 0x3b, 0x41, 0x67, 0x62, 0x3b, 0x4f, 0x74, 0x75, 0x3b,
-0x4d, 0x61, 0x61, 0x3b, 0x4d, 0x61, 0x6e, 0x3b, 0x47, 0x62, 0x6f, 0x3b, 0x41, 0x6e, 0x74, 0x3b, 0x41, 0x6c, 0x65, 0x3b,
-0x41, 0x66, 0x75, 0x3b, 0x41, 0x68, 0x61, 0x72, 0x61, 0x62, 0x61, 0x74, 0x61, 0x3b, 0x4f, 0x66, 0x6c, 0x6f, 0x3b, 0x4f,
-0x63, 0x68, 0x6f, 0x6b, 0x72, 0x69, 0x6b, 0x72, 0x69, 0x3b, 0x41, 0x62, 0x65, 0x69, 0x62, 0x65, 0x65, 0x3b, 0x41, 0x67,
-0x62, 0x65, 0x69, 0x6e, 0x61, 0x61, 0x3b, 0x4f, 0x74, 0x75, 0x6b, 0x77, 0x61, 0x64, 0x61, 0x6e, 0x3b, 0x4d, 0x61, 0x61,
-0x77, 0x65, 0x3b, 0x4d, 0x61, 0x6e, 0x79, 0x61, 0x77, 0x61, 0x6c, 0x65, 0x3b, 0x47, 0x62, 0x6f, 0x3b, 0x41, 0x6e, 0x74,
-0x6f, 0x6e, 0x3b, 0x41, 0x6c, 0x65, 0x6d, 0x6c, 0x65, 0x3b, 0x41, 0x66, 0x75, 0x61, 0x62, 0x65, 0x65, 0x3b, 0x4a, 0x65,
-0x6e, 0x3b, 0x46, 0x65, 0x62, 0x3b, 0x4d, 0x61, 0x61, 0x3b, 0x45, 0x70, 0x72, 0x3b, 0x4d, 0x65, 0x65, 0x3b, 0x4a, 0x75,
-0x75, 0x3b, 0x4a, 0x75, 0x6c, 0x3b, 0x1ecc, 0x67, 0x1ecd, 0x3b, 0x53, 0x65, 0x70, 0x3b, 0x1ecc, 0x6b, 0x74, 0x3b, 0x4e, 0x6f,
-0x76, 0x3b, 0x44, 0x69, 0x73, 0x3b, 0x4a, 0x65, 0x6e, 0x1ee5, 0x77, 0x61, 0x72, 0x1ecb, 0x3b, 0x46, 0x65, 0x62, 0x72, 0x1ee5,
-0x77, 0x61, 0x72, 0x1ecb, 0x3b, 0x4d, 0x61, 0x61, 0x63, 0x68, 0x1ecb, 0x3b, 0x45, 0x70, 0x72, 0x65, 0x6c, 0x3b, 0x4d, 0x65,
-0x65, 0x3b, 0x4a, 0x75, 0x75, 0x6e, 0x3b, 0x4a, 0x75, 0x6c, 0x61, 0x1ecb, 0x3b, 0x1ecc, 0x67, 0x1ecd, 0x1ecd, 0x73, 0x74, 0x3b,
-0x53, 0x65, 0x70, 0x74, 0x65, 0x6d, 0x62, 0x61, 0x3b, 0x1ecc, 0x6b, 0x74, 0x6f, 0x62, 0x61, 0x3b, 0x4e, 0x6f, 0x76, 0x65,
-0x6d, 0x62, 0x61, 0x3b, 0x44, 0x69, 0x73, 0x65, 0x6d, 0x62, 0x61, 0x3b, 0x4d, 0x62, 0x65, 0x3b, 0x4b, 0x65, 0x6c, 0x3b,
-0x4b, 0x74, 0x169, 0x3b, 0x4b, 0x61, 0x6e, 0x3b, 0x4b, 0x74, 0x6e, 0x3b, 0x54, 0x68, 0x61, 0x3b, 0x4d, 0x6f, 0x6f, 0x3b,
-0x4e, 0x79, 0x61, 0x3b, 0x4b, 0x6e, 0x64, 0x3b, 0x128, 0x6b, 0x75, 0x3b, 0x128, 0x6b, 0x6d, 0x3b, 0x128, 0x6b, 0x6c, 0x3b,
-0x4d, 0x77, 0x61, 0x69, 0x20, 0x77, 0x61, 0x20, 0x6d, 0x62, 0x65, 0x65, 0x3b, 0x4d, 0x77, 0x61, 0x69, 0x20, 0x77, 0x61,
-0x20, 0x6b, 0x65, 0x6c, 0x129, 0x3b, 0x4d, 0x77, 0x61, 0x69, 0x20, 0x77, 0x61, 0x20, 0x6b, 0x61, 0x74, 0x61, 0x74, 0x169,
-0x3b, 0x4d, 0x77, 0x61, 0x69, 0x20, 0x77, 0x61, 0x20, 0x6b, 0x61, 0x6e, 0x61, 0x3b, 0x4d, 0x77, 0x61, 0x69, 0x20, 0x77,
-0x61, 0x20, 0x6b, 0x61, 0x74, 0x61, 0x6e, 0x6f, 0x3b, 0x4d, 0x77, 0x61, 0x69, 0x20, 0x77, 0x61, 0x20, 0x74, 0x68, 0x61,
-0x6e, 0x74, 0x68, 0x61, 0x74, 0x169, 0x3b, 0x4d, 0x77, 0x61, 0x69, 0x20, 0x77, 0x61, 0x20, 0x6d, 0x75, 0x6f, 0x6e, 0x7a,
-0x61, 0x3b, 0x4d, 0x77, 0x61, 0x69, 0x20, 0x77, 0x61, 0x20, 0x6e, 0x79, 0x61, 0x61, 0x6e, 0x79, 0x61, 0x3b, 0x4d, 0x77,
-0x61, 0x69, 0x20, 0x77, 0x61, 0x20, 0x6b, 0x65, 0x6e, 0x64, 0x61, 0x3b, 0x4d, 0x77, 0x61, 0x69, 0x20, 0x77, 0x61, 0x20,
-0x129, 0x6b, 0x75, 0x6d, 0x69, 0x3b, 0x4d, 0x77, 0x61, 0x69, 0x20, 0x77, 0x61, 0x20, 0x129, 0x6b, 0x75, 0x6d, 0x69, 0x20,
-0x6e, 0x61, 0x20, 0x129, 0x6d, 0x77, 0x65, 0x3b, 0x4d, 0x77, 0x61, 0x69, 0x20, 0x77, 0x61, 0x20, 0x129, 0x6b, 0x75, 0x6d,
-0x69, 0x20, 0x6e, 0x61, 0x20, 0x69, 0x6c, 0x129, 0x3b, 0x4d, 0x3b, 0x4b, 0x3b, 0x4b, 0x3b, 0x4b, 0x3b, 0x4b, 0x3b, 0x54,
-0x3b, 0x4d, 0x3b, 0x4e, 0x3b, 0x4b, 0x3b, 0x128, 0x3b, 0x128, 0x3b, 0x128, 0x3b, 0x70f, 0x71f, 0x722, 0x20, 0x70f, 0x712, 0x3b,
-0x72b, 0x712, 0x71b, 0x3b, 0x710, 0x715, 0x72a, 0x3b, 0x722, 0x71d, 0x723, 0x722, 0x3b, 0x710, 0x71d, 0x72a, 0x3b, 0x71a, 0x719, 0x71d,
-0x72a, 0x722, 0x3b, 0x72c, 0x721, 0x718, 0x719, 0x3b, 0x710, 0x712, 0x3b, 0x710, 0x71d, 0x720, 0x718, 0x720, 0x3b, 0x70f, 0x72c, 0x72b,
-0x20, 0x70f, 0x710, 0x3b, 0x70f, 0x72c, 0x72b, 0x20, 0x70f, 0x712, 0x3b, 0x70f, 0x71f, 0x722, 0x20, 0x70f, 0x710, 0x3b, 0x120d, 0x12f0,
-0x1275, 0x3b, 0x12ab, 0x1265, 0x12bd, 0x3b, 0x12ad, 0x1265, 0x120b, 0x3b, 0x134b, 0x1305, 0x12ba, 0x3b, 0x12ad, 0x1262, 0x1245, 0x3b, 0x121d, 0x2f,
-0x1275, 0x3b, 0x12b0, 0x122d, 0x3b, 0x121b, 0x122d, 0x12eb, 0x3b, 0x12eb, 0x12b8, 0x1292, 0x3b, 0x1218, 0x1270, 0x1209, 0x3b, 0x121d, 0x2f, 0x121d,
-0x3b, 0x1270, 0x1215, 0x1233, 0x3b, 0x120d, 0x12f0, 0x1275, 0x122a, 0x3b, 0x12ab, 0x1265, 0x12bd, 0x1265, 0x1272, 0x3b, 0x12ad, 0x1265, 0x120b, 0x3b,
-0x134b, 0x1305, 0x12ba, 0x122a, 0x3b, 0x12ad, 0x1262, 0x1245, 0x122a, 0x3b, 0x121d, 0x12aa, 0x12a4, 0x120d, 0x20, 0x1275, 0x131f, 0x1292, 0x122a, 0x3b,
-0x12b0, 0x122d, 0x12a9, 0x3b, 0x121b, 0x122d, 0x12eb, 0x121d, 0x20, 0x1275, 0x122a, 0x3b, 0x12eb, 0x12b8, 0x1292, 0x20, 0x1218, 0x1233, 0x1245, 0x1208,
-0x122a, 0x3b, 0x1218, 0x1270, 0x1209, 0x3b, 0x121d, 0x12aa, 0x12a4, 0x120d, 0x20, 0x1218, 0x123d, 0x12c8, 0x122a, 0x3b, 0x1270, 0x1215, 0x1233, 0x1235,
-0x122a, 0x3b, 0x120d, 0x3b, 0x12ab, 0x3b, 0x12ad, 0x3b, 0x134b, 0x3b, 0x12ad, 0x3b, 0x121d, 0x3b, 0x12b0, 0x3b, 0x121b, 0x3b, 0x12eb, 0x3b,
-0x1218, 0x3b, 0x121d, 0x3b, 0x1270, 0x3b, 0x1320, 0x1210, 0x1228, 0x3b, 0x12a8, 0x1270, 0x1270, 0x3b, 0x1218, 0x1308, 0x1260, 0x3b, 0x12a0, 0x1280,
-0x12d8, 0x3b, 0x130d, 0x1295, 0x1263, 0x1275, 0x3b, 0x1220, 0x1295, 0x12e8, 0x3b, 0x1210, 0x1218, 0x1208, 0x3b, 0x1290, 0x1210, 0x1230, 0x3b, 0x12a8,
-0x1228, 0x1218, 0x3b, 0x1320, 0x1240, 0x1218, 0x3b, 0x1280, 0x12f0, 0x1228, 0x3b, 0x1280, 0x1220, 0x1220, 0x3b, 0x1320, 0x3b, 0x12a8, 0x3b, 0x1218,
-0x3b, 0x12a0, 0x3b, 0x130d, 0x3b, 0x1220, 0x3b, 0x1210, 0x3b, 0x1290, 0x3b, 0x12a8, 0x3b, 0x1320, 0x3b, 0x1280, 0x3b, 0x1280, 0x3b, 0x57,
-0x65, 0x79, 0x3b, 0x46, 0x61, 0x6e, 0x3b, 0x54, 0x61, 0x74, 0x3b, 0x4e, 0x61, 0x6e, 0x3b, 0x54, 0x75, 0x79, 0x3b, 0x54,
-0x73, 0x6f, 0x3b, 0x54, 0x61, 0x66, 0x3b, 0x57, 0x61, 0x72, 0x3b, 0x4b, 0x75, 0x6e, 0x3b, 0x42, 0x61, 0x6e, 0x3b, 0x4b,
-0x6f, 0x6d, 0x3b, 0x53, 0x61, 0x75, 0x3b, 0x46, 0x61, 0x69, 0x20, 0x57, 0x65, 0x79, 0x65, 0x6e, 0x65, 0x3b, 0x46, 0x61,
-0x69, 0x20, 0x46, 0x61, 0x6e, 0x69, 0x3b, 0x46, 0x61, 0x69, 0x20, 0x54, 0x61, 0x74, 0x61, 0x6b, 0x61, 0x3b, 0x46, 0x61,
-0x69, 0x20, 0x4e, 0x61, 0x6e, 0x67, 0x72, 0x61, 0x3b, 0x46, 0x61, 0x69, 0x20, 0x54, 0x75, 0x79, 0x6f, 0x3b, 0x46, 0x61,
-0x69, 0x20, 0x54, 0x73, 0x6f, 0x79, 0x69, 0x3b, 0x46, 0x61, 0x69, 0x20, 0x54, 0x61, 0x66, 0x61, 0x6b, 0x61, 0x3b, 0x46,
-0x61, 0x69, 0x20, 0x57, 0x61, 0x72, 0x61, 0x63, 0x68, 0x69, 0x3b, 0x46, 0x61, 0x69, 0x20, 0x4b, 0x75, 0x6e, 0x6f, 0x62,
-0x6f, 0x6b, 0x3b, 0x46, 0x61, 0x69, 0x20, 0x42, 0x61, 0x6e, 0x73, 0x6f, 0x6b, 0x3b, 0x46, 0x61, 0x69, 0x20, 0x4b, 0x6f,
-0x6d, 0x3b, 0x46, 0x61, 0x69, 0x20, 0x53, 0x61, 0x75, 0x6b, 0x3b, 0x44, 0x79, 0x6f, 0x6e, 0x3b, 0x42, 0x61, 0x61, 0x3b,
-0x41, 0x74, 0x61, 0x74, 0x3b, 0x41, 0x6e, 0x61, 0x73, 0x3b, 0x41, 0x74, 0x79, 0x6f, 0x3b, 0x41, 0x63, 0x68, 0x69, 0x3b,
-0x41, 0x74, 0x61, 0x72, 0x3b, 0x41, 0x77, 0x75, 0x72, 0x3b, 0x53, 0x68, 0x61, 0x64, 0x3b, 0x53, 0x68, 0x61, 0x6b, 0x3b,
-0x4e, 0x61, 0x62, 0x61, 0x3b, 0x4e, 0x61, 0x74, 0x61, 0x3b, 0x50, 0x65, 0x6e, 0x20, 0x44, 0x79, 0x6f, 0x6e, 0x3b, 0x50,
-0x65, 0x6e, 0x20, 0x42, 0x61, 0x27, 0x61, 0x3b, 0x50, 0x65, 0x6e, 0x20, 0x41, 0x74, 0x61, 0x74, 0x3b, 0x50, 0x65, 0x6e,
-0x20, 0x41, 0x6e, 0x61, 0x73, 0x3b, 0x50, 0x65, 0x6e, 0x20, 0x41, 0x74, 0x79, 0x6f, 0x6e, 0x3b, 0x50, 0x65, 0x6e, 0x20,
-0x41, 0x63, 0x68, 0x69, 0x72, 0x69, 0x6d, 0x3b, 0x50, 0x65, 0x6e, 0x20, 0x41, 0x74, 0x61, 0x72, 0x69, 0x62, 0x61, 0x3b,
-0x50, 0x65, 0x6e, 0x20, 0x41, 0x77, 0x75, 0x72, 0x72, 0x3b, 0x50, 0x65, 0x6e, 0x20, 0x53, 0x68, 0x61, 0x64, 0x6f, 0x6e,
-0x3b, 0x50, 0x65, 0x6e, 0x20, 0x53, 0x68, 0x61, 0x6b, 0x75, 0x72, 0x3b, 0x50, 0x65, 0x6e, 0x20, 0x4b, 0x75, 0x72, 0x20,
-0x4e, 0x61, 0x62, 0x61, 0x3b, 0x50, 0x65, 0x6e, 0x20, 0x4b, 0x75, 0x72, 0x20, 0x4e, 0x61, 0x74, 0x61, 0x74, 0x3b, 0x41,
-0x331, 0x79, 0x72, 0x3b, 0x41, 0x331, 0x68, 0x77, 0x3b, 0x41, 0x331, 0x74, 0x61, 0x3b, 0x41, 0x331, 0x6e, 0x61, 0x3b, 0x41,
-0x331, 0x70, 0x66, 0x3b, 0x41, 0x331, 0x6b, 0x69, 0x3b, 0x41, 0x331, 0x74, 0x79, 0x3b, 0x41, 0x331, 0x6e, 0x69, 0x3b, 0x41,
-0x331, 0x6b, 0x75, 0x3b, 0x53, 0x77, 0x61, 0x3b, 0x53, 0x62, 0x79, 0x3b, 0x53, 0x62, 0x68, 0x3b, 0x48, 0x79, 0x77, 0x61,
-0x6e, 0x20, 0x41, 0x331, 0x79, 0x72, 0x6e, 0x69, 0x67, 0x3b, 0x48, 0x79, 0x77, 0x61, 0x6e, 0x20, 0x41, 0x331, 0x68, 0x77,
-0x61, 0x3b, 0x48, 0x79, 0x77, 0x61, 0x6e, 0x20, 0x41, 0x331, 0x74, 0x61, 0x74, 0x3b, 0x48, 0x79, 0x77, 0x61, 0x6e, 0x20,
-0x41, 0x331, 0x6e, 0x61, 0x61, 0x69, 0x3b, 0x48, 0x79, 0x77, 0x61, 0x6e, 0x20, 0x41, 0x331, 0x70, 0x66, 0x77, 0x6f, 0x6e,
-0x3b, 0x48, 0x79, 0x77, 0x61, 0x6e, 0x20, 0x41, 0x331, 0x6b, 0x69, 0x74, 0x61, 0x74, 0x3b, 0x48, 0x79, 0x77, 0x61, 0x6e,
-0x20, 0x41, 0x331, 0x74, 0x79, 0x69, 0x72, 0x69, 0x6e, 0x3b, 0x48, 0x79, 0x77, 0x61, 0x6e, 0x20, 0x41, 0x331, 0x6e, 0x69,
-0x6e, 0x61, 0x69, 0x3b, 0x48, 0x79, 0x77, 0x61, 0x6e, 0x20, 0x41, 0x331, 0x6b, 0x75, 0x6d, 0x76, 0x69, 0x72, 0x69, 0x79,
-0x69, 0x6e, 0x3b, 0x48, 0x79, 0x77, 0x61, 0x6e, 0x20, 0x53, 0x77, 0x61, 0x6b, 0x3b, 0x48, 0x79, 0x77, 0x61, 0x6e, 0x20,
-0x53, 0x77, 0x61, 0x6b, 0x20, 0x42, 0x27, 0x61, 0x331, 0x79, 0x72, 0x6e, 0x69, 0x67, 0x3b, 0x48, 0x79, 0x77, 0x61, 0x6e,
-0x20, 0x53, 0x77, 0x61, 0x6b, 0x20, 0x42, 0x27, 0x61, 0x331, 0x68, 0x77, 0x61, 0x3b, 0x5a, 0x65, 0x6e, 0x3b, 0x46, 0x65,
-0x76, 0x3b, 0x4d, 0x61, 0x72, 0x3b, 0x41, 0x76, 0x72, 0x3b, 0x4d, 0x61, 0x69, 0x3b, 0x4a, 0x75, 0x67, 0x3b, 0x4c, 0x75,
-0x69, 0x3b, 0x41, 0x76, 0x6f, 0x3b, 0x53, 0x65, 0x74, 0x3b, 0x4f, 0x74, 0x75, 0x3b, 0x4e, 0x6f, 0x76, 0x3b, 0x44, 0x69,
-0x63, 0x3b, 0x5a, 0x65, 0x6e, 0xe2, 0x72, 0x3b, 0x46, 0x65, 0x76, 0x72, 0xe2, 0x72, 0x3b, 0x4d, 0x61, 0x72, 0xe7, 0x3b,
-0x41, 0x76, 0x72, 0xee, 0x6c, 0x3b, 0x4d, 0x61, 0x69, 0x3b, 0x4a, 0x75, 0x67, 0x6e, 0x3b, 0x4c, 0x75, 0x69, 0x3b, 0x41,
-0x76, 0x6f, 0x73, 0x74, 0x3b, 0x53, 0x65, 0x74, 0x65, 0x6d, 0x62, 0x61, 0x72, 0x3b, 0x4f, 0x74, 0x75, 0x62, 0x61, 0x72,
-0x3b, 0x4e, 0x6f, 0x76, 0x65, 0x6d, 0x62, 0x61, 0x72, 0x3b, 0x44, 0x69, 0x63, 0x65, 0x6d, 0x62, 0x61, 0x72, 0x3b, 0x5a,
-0x3b, 0x46, 0x3b, 0x4d, 0x3b, 0x41, 0x3b, 0x4d, 0x3b, 0x4a, 0x3b, 0x4c, 0x3b, 0x41, 0x3b, 0x53, 0x3b, 0x4f, 0x3b, 0x4e,
-0x3b, 0x44, 0x3b, 0x50, 0x68, 0x61, 0x3b, 0x4c, 0x75, 0x68, 0x3b, 0x1e70, 0x68, 0x61, 0x3b, 0x4c, 0x61, 0x6d, 0x3b, 0x53,
-0x68, 0x75, 0x3b, 0x4c, 0x77, 0x69, 0x3b, 0x4c, 0x77, 0x61, 0x3b, 0x1e70, 0x68, 0x61, 0x3b, 0x4b, 0x68, 0x75, 0x3b, 0x54,
-0x73, 0x68, 0x3b, 0x1e3c, 0x61, 0x72, 0x3b, 0x4e, 0x79, 0x65, 0x3b, 0x50, 0x68, 0x61, 0x6e, 0x64, 0x6f, 0x3b, 0x4c, 0x75,
-0x68, 0x75, 0x68, 0x69, 0x3b, 0x1e70, 0x68, 0x61, 0x66, 0x61, 0x6d, 0x75, 0x68, 0x77, 0x65, 0x3b, 0x4c, 0x61, 0x6d, 0x62,
-0x61, 0x6d, 0x61, 0x69, 0x3b, 0x53, 0x68, 0x75, 0x6e, 0x64, 0x75, 0x6e, 0x74, 0x68, 0x75, 0x6c, 0x65, 0x3b, 0x46, 0x75,
-0x6c, 0x77, 0x69, 0x3b, 0x46, 0x75, 0x6c, 0x77, 0x61, 0x6e, 0x61, 0x3b, 0x1e70, 0x68, 0x61, 0x6e, 0x67, 0x75, 0x6c, 0x65,
-0x3b, 0x4b, 0x68, 0x75, 0x62, 0x76, 0x75, 0x6d, 0x65, 0x64, 0x7a, 0x69, 0x3b, 0x54, 0x73, 0x68, 0x69, 0x6d, 0x65, 0x64,
-0x7a, 0x69, 0x3b, 0x1e3c, 0x61, 0x72, 0x61, 0x3b, 0x4e, 0x79, 0x65, 0x6e, 0x64, 0x61, 0x76, 0x68, 0x75, 0x73, 0x69, 0x6b,
-0x75, 0x3b, 0x44, 0x7a, 0x76, 0x3b, 0x44, 0x7a, 0x64, 0x3b, 0x54, 0x65, 0x64, 0x3b, 0x41, 0x66, 0x254, 0x3b, 0x44, 0x61,
-0x6d, 0x3b, 0x4d, 0x61, 0x73, 0x3b, 0x53, 0x69, 0x61, 0x3b, 0x44, 0x65, 0x61, 0x3b, 0x41, 0x6e, 0x79, 0x3b, 0x4b, 0x65,
-0x6c, 0x3b, 0x41, 0x64, 0x65, 0x3b, 0x44, 0x7a, 0x6d, 0x3b, 0x44, 0x7a, 0x6f, 0x76, 0x65, 0x3b, 0x44, 0x7a, 0x6f, 0x64,
-0x7a, 0x65, 0x3b, 0x54, 0x65, 0x64, 0x6f, 0x78, 0x65, 0x3b, 0x41, 0x66, 0x254, 0x66, 0x69, 0x25b, 0x3b, 0x44, 0x61, 0x6d,
-0x61, 0x3b, 0x4d, 0x61, 0x73, 0x61, 0x3b, 0x53, 0x69, 0x61, 0x6d, 0x6c, 0x254, 0x6d, 0x3b, 0x44, 0x65, 0x61, 0x73, 0x69,
-0x61, 0x6d, 0x69, 0x6d, 0x65, 0x3b, 0x41, 0x6e, 0x79, 0x254, 0x6e, 0x79, 0x254, 0x3b, 0x4b, 0x65, 0x6c, 0x65, 0x3b, 0x41,
-0x64, 0x65, 0x25b, 0x6d, 0x65, 0x6b, 0x70, 0x254, 0x78, 0x65, 0x3b, 0x44, 0x7a, 0x6f, 0x6d, 0x65, 0x3b, 0x44, 0x3b, 0x44,
-0x3b, 0x54, 0x3b, 0x41, 0x3b, 0x44, 0x3b, 0x4d, 0x3b, 0x53, 0x3b, 0x44, 0x3b, 0x41, 0x3b, 0x4b, 0x3b, 0x41, 0x3b, 0x44,
-0x3b, 0x49, 0x61, 0x6e, 0x2e, 0x3b, 0x50, 0x65, 0x70, 0x2e, 0x3b, 0x4d, 0x61, 0x6c, 0x2e, 0x3b, 0x2bb, 0x41, 0x70, 0x2e,
-0x3b, 0x4d, 0x65, 0x69, 0x3b, 0x49, 0x75, 0x6e, 0x2e, 0x3b, 0x49, 0x75, 0x6c, 0x2e, 0x3b, 0x2bb, 0x41, 0x75, 0x2e, 0x3b,
-0x4b, 0x65, 0x70, 0x2e, 0x3b, 0x2bb, 0x4f, 0x6b, 0x2e, 0x3b, 0x4e, 0x6f, 0x77, 0x2e, 0x3b, 0x4b, 0x65, 0x6b, 0x2e, 0x3b,
-0x49, 0x61, 0x6e, 0x75, 0x61, 0x6c, 0x69, 0x3b, 0x50, 0x65, 0x70, 0x65, 0x6c, 0x75, 0x61, 0x6c, 0x69, 0x3b, 0x4d, 0x61,
-0x6c, 0x61, 0x6b, 0x69, 0x3b, 0x2bb, 0x41, 0x70, 0x65, 0x6c, 0x69, 0x6c, 0x61, 0x3b, 0x4d, 0x65, 0x69, 0x3b, 0x49, 0x75,
-0x6e, 0x65, 0x3b, 0x49, 0x75, 0x6c, 0x61, 0x69, 0x3b, 0x2bb, 0x41, 0x75, 0x6b, 0x61, 0x6b, 0x65, 0x3b, 0x4b, 0x65, 0x70,
-0x61, 0x6b, 0x65, 0x6d, 0x61, 0x70, 0x61, 0x3b, 0x2bb, 0x4f, 0x6b, 0x61, 0x6b, 0x6f, 0x70, 0x61, 0x3b, 0x4e, 0x6f, 0x77,
-0x65, 0x6d, 0x61, 0x70, 0x61, 0x3b, 0x4b, 0x65, 0x6b, 0x65, 0x6d, 0x61, 0x70, 0x61, 0x3b, 0x4a, 0x75, 0x77, 0x3b, 0x53,
-0x77, 0x69, 0x3b, 0x54, 0x73, 0x61, 0x3b, 0x4e, 0x79, 0x61, 0x3b, 0x54, 0x73, 0x77, 0x3b, 0x41, 0x74, 0x61, 0x3b, 0x41,
-0x6e, 0x61, 0x3b, 0x41, 0x72, 0x69, 0x3b, 0x41, 0x6b, 0x75, 0x3b, 0x53, 0x77, 0x61, 0x3b, 0x4d, 0x61, 0x6e, 0x3b, 0x4d,
-0x61, 0x73, 0x3b, 0x5a, 0x77, 0x61, 0x74, 0x20, 0x4a, 0x75, 0x77, 0x75, 0x6e, 0x67, 0x3b, 0x5a, 0x77, 0x61, 0x74, 0x20,
-0x53, 0x77, 0x69, 0x79, 0x61, 0x6e, 0x67, 0x3b, 0x5a, 0x77, 0x61, 0x74, 0x20, 0x54, 0x73, 0x61, 0x74, 0x3b, 0x5a, 0x77,
-0x61, 0x74, 0x20, 0x4e, 0x79, 0x61, 0x69, 0x3b, 0x5a, 0x77, 0x61, 0x74, 0x20, 0x54, 0x73, 0x77, 0x6f, 0x6e, 0x3b, 0x5a,
-0x77, 0x61, 0x74, 0x20, 0x41, 0x74, 0x61, 0x61, 0x68, 0x3b, 0x5a, 0x77, 0x61, 0x74, 0x20, 0x41, 0x6e, 0x61, 0x74, 0x61,
-0x74, 0x3b, 0x5a, 0x77, 0x61, 0x74, 0x20, 0x41, 0x72, 0x69, 0x6e, 0x61, 0x69, 0x3b, 0x5a, 0x77, 0x61, 0x74, 0x20, 0x41,
-0x6b, 0x75, 0x62, 0x75, 0x6e, 0x79, 0x75, 0x6e, 0x67, 0x3b, 0x5a, 0x77, 0x61, 0x74, 0x20, 0x53, 0x77, 0x61, 0x67, 0x3b,
-0x5a, 0x77, 0x61, 0x74, 0x20, 0x4d, 0x61, 0x6e, 0x67, 0x6a, 0x75, 0x77, 0x61, 0x6e, 0x67, 0x3b, 0x5a, 0x77, 0x61, 0x74,
-0x20, 0x53, 0x77, 0x61, 0x67, 0x2d, 0x4d, 0x61, 0x2d, 0x53, 0x75, 0x79, 0x61, 0x6e, 0x67, 0x3b, 0x4a, 0x61, 0x6e, 0x3b,
-0x46, 0x65, 0x62, 0x3b, 0x4d, 0x61, 0x6c, 0x3b, 0x45, 0x70, 0x75, 0x3b, 0x4d, 0x65, 0x69, 0x3b, 0x4a, 0x75, 0x6e, 0x3b,
-0x4a, 0x75, 0x6c, 0x3b, 0x4f, 0x67, 0x61, 0x3b, 0x53, 0x65, 0x70, 0x3b, 0x4f, 0x6b, 0x75, 0x3b, 0x4e, 0x6f, 0x76, 0x3b,
-0x44, 0x69, 0x73, 0x3b, 0x4a, 0x61, 0x6e, 0x75, 0x77, 0x61, 0x6c, 0x65, 0x3b, 0x46, 0x65, 0x62, 0x75, 0x6c, 0x75, 0x77,
-0x61, 0x6c, 0x65, 0x3b, 0x4d, 0x61, 0x6c, 0x69, 0x63, 0x68, 0x69, 0x3b, 0x45, 0x70, 0x75, 0x6c, 0x6f, 0x3b, 0x4d, 0x65,
-0x69, 0x3b, 0x4a, 0x75, 0x6e, 0x69, 0x3b, 0x4a, 0x75, 0x6c, 0x61, 0x69, 0x3b, 0x4f, 0x67, 0x61, 0x73, 0x69, 0x74, 0x69,
-0x3b, 0x53, 0x65, 0x70, 0x75, 0x74, 0x65, 0x6d, 0x62, 0x61, 0x3b, 0x4f, 0x6b, 0x75, 0x74, 0x6f, 0x62, 0x61, 0x3b, 0x4e,
-0x6f, 0x76, 0x65, 0x6d, 0x62, 0x61, 0x3b, 0x44, 0x69, 0x73, 0x65, 0x6d, 0x62, 0x61, 0x3b, 0x45, 0x6e, 0x65, 0x3b, 0x50,
-0x65, 0x62, 0x3b, 0x4d, 0x61, 0x72, 0x3b, 0x41, 0x62, 0x72, 0x3b, 0x4d, 0x61, 0x79, 0x3b, 0x48, 0x75, 0x6e, 0x3b, 0x48,
-0x75, 0x6c, 0x3b, 0x41, 0x67, 0x6f, 0x3b, 0x53, 0x65, 0x74, 0x3b, 0x4f, 0x6b, 0x74, 0x3b, 0x4e, 0x6f, 0x62, 0x3b, 0x44,
-0x69, 0x73, 0x3b, 0x45, 0x6e, 0x65, 0x72, 0x6f, 0x3b, 0x50, 0x65, 0x62, 0x72, 0x65, 0x72, 0x6f, 0x3b, 0x4d, 0x61, 0x72,
-0x73, 0x6f, 0x3b, 0x41, 0x62, 0x72, 0x69, 0x6c, 0x3b, 0x4d, 0x61, 0x79, 0x6f, 0x3b, 0x48, 0x75, 0x6e, 0x79, 0x6f, 0x3b,
-0x48, 0x75, 0x6c, 0x79, 0x6f, 0x3b, 0x41, 0x67, 0x6f, 0x73, 0x74, 0x6f, 0x3b, 0x53, 0x65, 0x74, 0x79, 0x65, 0x6d, 0x62,
-0x72, 0x65, 0x3b, 0x4f, 0x6b, 0x74, 0x75, 0x62, 0x72, 0x65, 0x3b, 0x4e, 0x6f, 0x62, 0x79, 0x65, 0x6d, 0x62, 0x72, 0x65,
-0x3b, 0x44, 0x69, 0x73, 0x79, 0x65, 0x6d, 0x62, 0x72, 0x65, 0x3b, 0x45, 0x3b, 0x50, 0x3b, 0x4d, 0x3b, 0x41, 0x3b, 0x4d,
-0x3b, 0x48, 0x3b, 0x48, 0x3b, 0x41, 0x3b, 0x53, 0x3b, 0x4f, 0x3b, 0x4e, 0x3b, 0x44, 0x3b, 0x4a, 0x61, 0x6e, 0x75, 0x61,
-0x72, 0x3b, 0x46, 0x65, 0x62, 0x72, 0x75, 0x61, 0x72, 0x3b, 0x4d, 0xe4, 0x72, 0x7a, 0x3b, 0x41, 0x70, 0x72, 0x69, 0x6c,
-0x3b, 0x4d, 0x61, 0x69, 0x3b, 0x4a, 0x75, 0x6e, 0x69, 0x3b, 0x4a, 0x75, 0x6c, 0x69, 0x3b, 0x41, 0x75, 0x67, 0x75, 0x73,
-0x63, 0x68, 0x74, 0x3b, 0x53, 0x65, 0x70, 0x74, 0xe4, 0x6d, 0x62, 0x65, 0x72, 0x3b, 0x4f, 0x6b, 0x74, 0x6f, 0x6f, 0x62,
-0x65, 0x72, 0x3b, 0x4e, 0x6f, 0x76, 0xe4, 0x6d, 0x62, 0x65, 0x72, 0x3b, 0x44, 0x65, 0x7a, 0xe4, 0x6d, 0x62, 0x65, 0x72,
-0x3b, 0xa2cd, 0xa1aa, 0x3b, 0xa44d, 0xa1aa, 0x3b, 0xa315, 0xa1aa, 0x3b, 0xa1d6, 0xa1aa, 0x3b, 0xa26c, 0xa1aa, 0x3b, 0xa0d8, 0xa1aa, 0x3b, 0xa3c3,
-0xa1aa, 0x3b, 0xa246, 0xa1aa, 0x3b, 0xa22c, 0xa1aa, 0x3b, 0xa2b0, 0xa1aa, 0x3b, 0xa2b0, 0xa2aa, 0xa1aa, 0x3b, 0xa2b0, 0xa44b, 0xa1aa, 0x3b, 0x4a,
-0x61, 0x6e, 0x3b, 0x46, 0x65, 0x62, 0x3b, 0x4d, 0x61, 0x74, 0x3b, 0x41, 0x70, 0x72, 0x3b, 0x4d, 0x65, 0x79, 0x3b, 0x4a,
-0x75, 0x6e, 0x3b, 0x4a, 0x75, 0x6c, 0x3b, 0x41, 0x72, 0x68, 0x3b, 0x53, 0x65, 0x70, 0x3b, 0x4f, 0x6b, 0x74, 0x3b, 0x55,
-0x73, 0x69, 0x3b, 0x44, 0x69, 0x73, 0x3b, 0x4a, 0x61, 0x6e, 0x61, 0x62, 0x61, 0x72, 0x69, 0x3b, 0x75, 0x46, 0x65, 0x62,
-0x65, 0x72, 0x62, 0x61, 0x72, 0x69, 0x3b, 0x75, 0x4d, 0x61, 0x74, 0x6a, 0x68, 0x69, 0x3b, 0x75, 0x2d, 0x41, 0x70, 0x72,
-0x65, 0x6c, 0x69, 0x3b, 0x4d, 0x65, 0x79, 0x69, 0x3b, 0x4a, 0x75, 0x6e, 0x69, 0x3b, 0x4a, 0x75, 0x6c, 0x61, 0x79, 0x69,
-0x3b, 0x41, 0x72, 0x68, 0x6f, 0x73, 0x74, 0x6f, 0x73, 0x69, 0x3b, 0x53, 0x65, 0x70, 0x74, 0x65, 0x6d, 0x62, 0x61, 0x3b,
-0x4f, 0x6b, 0x74, 0x6f, 0x62, 0x61, 0x3b, 0x55, 0x73, 0x69, 0x6e, 0x79, 0x69, 0x6b, 0x68, 0x61, 0x62, 0x61, 0x3b, 0x44,
-0x69, 0x73, 0x65, 0x6d, 0x62, 0x61, 0x3b, 0x4a, 0x61, 0x6e, 0x3b, 0x46, 0x65, 0x62, 0x3b, 0x4d, 0x61, 0x74, 0x3b, 0x41,
-0x70, 0x6f, 0x3b, 0x4d, 0x65, 0x69, 0x3b, 0x4a, 0x75, 0x6e, 0x3b, 0x4a, 0x75, 0x6c, 0x3b, 0x41, 0x67, 0x6f, 0x3b, 0x53,
-0x65, 0x74, 0x3b, 0x4f, 0x6b, 0x74, 0x3b, 0x4e, 0x6f, 0x66, 0x3b, 0x44, 0x69, 0x73, 0x3b, 0x4a, 0x61, 0x6e, 0x61, 0x77,
-0x61, 0x72, 0x65, 0x3b, 0x46, 0x65, 0x62, 0x65, 0x72, 0x77, 0x61, 0x72, 0x65, 0x3b, 0x4d, 0x61, 0x74, 0x161, 0x68, 0x65,
-0x3b, 0x41, 0x70, 0x6f, 0x72, 0x65, 0x6c, 0x65, 0x3b, 0x4d, 0x65, 0x69, 0x3b, 0x4a, 0x75, 0x6e, 0x65, 0x3b, 0x4a, 0x75,
-0x6c, 0x61, 0x65, 0x3b, 0x41, 0x67, 0x6f, 0x73, 0x74, 0x6f, 0x73, 0x65, 0x3b, 0x53, 0x65, 0x74, 0x65, 0x6d, 0x65, 0x72,
-0x65, 0x3b, 0x4f, 0x6b, 0x74, 0x6f, 0x62, 0x6f, 0x72, 0x65, 0x3b, 0x4e, 0x6f, 0x66, 0x65, 0x6d, 0x65, 0x72, 0x65, 0x3b,
-0x44, 0x69, 0x73, 0x65, 0x6d, 0x65, 0x72, 0x65, 0x3b, 0x6f, 0x111, 0x111, 0x61, 0x6a, 0x61, 0x67, 0x65, 0x3b, 0x67, 0x75,
-0x6f, 0x76, 0x76, 0x61, 0x3b, 0x6e, 0x6a, 0x75, 0x6b, 0x10d, 0x61, 0x3b, 0x63, 0x75, 0x6f, 0x14b, 0x6f, 0x3b, 0x6d, 0x69,
-0x65, 0x73, 0x73, 0x65, 0x3b, 0x67, 0x65, 0x61, 0x73, 0x73, 0x65, 0x3b, 0x73, 0x75, 0x6f, 0x69, 0x64, 0x6e, 0x65, 0x3b,
-0x62, 0x6f, 0x72, 0x67, 0x65, 0x3b, 0x10d, 0x61, 0x6b, 0x10d, 0x61, 0x3b, 0x67, 0x6f, 0x6c, 0x67, 0x67, 0x6f, 0x74, 0x3b,
-0x73, 0x6b, 0xe1, 0x62, 0x6d, 0x61, 0x3b, 0x6a, 0x75, 0x6f, 0x76, 0x6c, 0x61, 0x3b, 0x6f, 0x111, 0x111, 0x61, 0x6a, 0x61,
-0x67, 0x65, 0x6d, 0xe1, 0x6e, 0x6e, 0x75, 0x3b, 0x67, 0x75, 0x6f, 0x76, 0x76, 0x61, 0x6d, 0xe1, 0x6e, 0x6e, 0x75, 0x3b,
-0x6e, 0x6a, 0x75, 0x6b, 0x10d, 0x61, 0x6d, 0xe1, 0x6e, 0x6e, 0x75, 0x3b, 0x63, 0x75, 0x6f, 0x14b, 0x6f, 0x6d, 0xe1, 0x6e,
-0x6e, 0x75, 0x3b, 0x6d, 0x69, 0x65, 0x73, 0x73, 0x65, 0x6d, 0xe1, 0x6e, 0x6e, 0x75, 0x3b, 0x67, 0x65, 0x61, 0x73, 0x73,
-0x65, 0x6d, 0xe1, 0x6e, 0x6e, 0x75, 0x3b, 0x73, 0x75, 0x6f, 0x69, 0x64, 0x6e, 0x65, 0x6d, 0xe1, 0x6e, 0x6e, 0x75, 0x3b,
-0x62, 0x6f, 0x72, 0x67, 0x65, 0x6d, 0xe1, 0x6e, 0x6e, 0x75, 0x3b, 0x10d, 0x61, 0x6b, 0x10d, 0x61, 0x6d, 0xe1, 0x6e, 0x6e,
-0x75, 0x3b, 0x67, 0x6f, 0x6c, 0x67, 0x67, 0x6f, 0x74, 0x6d, 0xe1, 0x6e, 0x6e, 0x75, 0x3b, 0x73, 0x6b, 0xe1, 0x62, 0x6d,
-0x61, 0x6d, 0xe1, 0x6e, 0x6e, 0x75, 0x3b, 0x6a, 0x75, 0x6f, 0x76, 0x6c, 0x61, 0x6d, 0xe1, 0x6e, 0x6e, 0x75, 0x3b, 0x4f,
-0x3b, 0x47, 0x3b, 0x4e, 0x3b, 0x43, 0x3b, 0x4d, 0x3b, 0x47, 0x3b, 0x53, 0x3b, 0x42, 0x3b, 0x10c, 0x3b, 0x47, 0x3b, 0x53,
-0x3b, 0x4a, 0x3b, 0x6f, 0x111, 0x111, 0x6a, 0x3b, 0x67, 0x75, 0x6f, 0x76, 0x3b, 0x6e, 0x6a, 0x75, 0x6b, 0x3b, 0x63, 0x75,
-0x6f, 0x3b, 0x6d, 0x69, 0x65, 0x73, 0x3b, 0x67, 0x65, 0x61, 0x73, 0x3b, 0x73, 0x75, 0x6f, 0x69, 0x3b, 0x62, 0x6f, 0x72,
-0x67, 0x3b, 0x10d, 0x61, 0x6b, 0x10d, 0x3b, 0x67, 0x6f, 0x6c, 0x67, 0x3b, 0x73, 0x6b, 0xe1, 0x62, 0x3b, 0x6a, 0x75, 0x6f,
-0x76, 0x3b, 0x4b, 0x69, 0x69, 0x3b, 0x44, 0x68, 0x69, 0x3b, 0x54, 0x72, 0x69, 0x3b, 0x53, 0x70, 0x69, 0x3b, 0x52, 0x69,
-0x69, 0x3b, 0x4d, 0x74, 0x69, 0x3b, 0x45, 0x6d, 0x69, 0x3b, 0x4d, 0x61, 0x69, 0x3b, 0x4d, 0x6e, 0x69, 0x3b, 0x4d, 0x78,
-0x69, 0x3b, 0x4d, 0x78, 0x6b, 0x3b, 0x4d, 0x78, 0x64, 0x3b, 0x4b, 0x69, 0x6e, 0x67, 0x61, 0x6c, 0x20, 0x69, 0x64, 0x61,
-0x73, 0x3b, 0x44, 0x68, 0x61, 0x20, 0x69, 0x64, 0x61, 0x73, 0x3b, 0x54, 0x72, 0x75, 0x20, 0x69, 0x64, 0x61, 0x73, 0x3b,
-0x53, 0x70, 0x61, 0x74, 0x20, 0x69, 0x64, 0x61, 0x73, 0x3b, 0x52, 0x69, 0x6d, 0x61, 0x20, 0x69, 0x64, 0x61, 0x73, 0x3b,
-0x4d, 0x61, 0x74, 0x61, 0x72, 0x75, 0x20, 0x69, 0x64, 0x61, 0x73, 0x3b, 0x45, 0x6d, 0x70, 0x69, 0x74, 0x75, 0x20, 0x69,
-0x64, 0x61, 0x73, 0x3b, 0x4d, 0x61, 0x73, 0x70, 0x61, 0x74, 0x20, 0x69, 0x64, 0x61, 0x73, 0x3b, 0x4d, 0x6e, 0x67, 0x61,
-0x72, 0x69, 0x20, 0x69, 0x64, 0x61, 0x73, 0x3b, 0x4d, 0x61, 0x78, 0x61, 0x6c, 0x20, 0x69, 0x64, 0x61, 0x73, 0x3b, 0x4d,
-0x61, 0x78, 0x61, 0x6c, 0x20, 0x6b, 0x69, 0x6e, 0x67, 0x61, 0x6c, 0x20, 0x69, 0x64, 0x61, 0x73, 0x3b, 0x4d, 0x61, 0x78,
-0x61, 0x6c, 0x20, 0x64, 0x68, 0x61, 0x20, 0x69, 0x64, 0x61, 0x73, 0x3b, 0x4b, 0x3b, 0x44, 0x3b, 0x54, 0x3b, 0x53, 0x3b,
-0x52, 0x3b, 0x4d, 0x3b, 0x45, 0x3b, 0x50, 0x3b, 0x41, 0x3b, 0x4d, 0x3b, 0x4b, 0x3b, 0x44, 0x3b, 0x43, 0x61, 0x6e, 0x3b,
-0x46, 0x65, 0x62, 0x3b, 0x4d, 0x61, 0x63, 0x3b, 0x41, 0x70, 0x72, 0x3b, 0x4d, 0x65, 0x69, 0x3b, 0x4a, 0x75, 0x6e, 0x3b,
-0x43, 0x75, 0x6c, 0x3b, 0x41, 0x67, 0x74, 0x3b, 0x53, 0x65, 0x70, 0x3b, 0x4f, 0x6b, 0x74, 0x3b, 0x4e, 0x6f, 0x62, 0x3b,
-0x44, 0x69, 0x73, 0x3b, 0x43, 0x68, 0x61, 0x6e, 0x75, 0x61, 0x72, 0x69, 0x3b, 0x46, 0x65, 0x62, 0x75, 0x72, 0x61, 0x72,
-0x69, 0x3b, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x3b, 0x41, 0x70, 0x69, 0x72, 0x69, 0x72, 0x69, 0x3b, 0x4d, 0x65, 0x69, 0x3b,
-0x4a, 0x75, 0x6e, 0x69, 0x3b, 0x43, 0x68, 0x75, 0x6c, 0x61, 0x69, 0x3b, 0x41, 0x67, 0x6f, 0x73, 0x74, 0x69, 0x3b, 0x53,
-0x65, 0x70, 0x74, 0x65, 0x6d, 0x62, 0x61, 0x3b, 0x4f, 0x6b, 0x69, 0x74, 0x6f, 0x62, 0x61, 0x3b, 0x4e, 0x6f, 0x62, 0x65,
-0x6d, 0x62, 0x61, 0x3b, 0x44, 0x69, 0x73, 0x65, 0x6d, 0x62, 0x61, 0x3b, 0x43, 0x3b, 0x46, 0x3b, 0x4d, 0x3b, 0x41, 0x3b,
-0x4d, 0x3b, 0x4a, 0x3b, 0x43, 0x3b, 0x41, 0x3b, 0x53, 0x3b, 0x4f, 0x3b, 0x4e, 0x3b, 0x44, 0x3b, 0x49, 0x6d, 0x62, 0x3b,
-0x4b, 0x61, 0x77, 0x3b, 0x4b, 0x61, 0x64, 0x3b, 0x4b, 0x61, 0x6e, 0x3b, 0x4b, 0x61, 0x73, 0x3b, 0x4b, 0x61, 0x72, 0x3b,
-0x4d, 0x66, 0x75, 0x3b, 0x57, 0x75, 0x6e, 0x3b, 0x49, 0x6b, 0x65, 0x3b, 0x49, 0x6b, 0x75, 0x3b, 0x49, 0x6d, 0x77, 0x3b,
-0x49, 0x77, 0x69, 0x3b, 0x4d, 0x6f, 0x72, 0x69, 0x20, 0x67, 0x68, 0x77, 0x61, 0x20, 0x69, 0x6d, 0x62, 0x69, 0x72, 0x69,
-0x3b, 0x4d, 0x6f, 0x72, 0x69, 0x20, 0x67, 0x68, 0x77, 0x61, 0x20, 0x6b, 0x61, 0x77, 0x69, 0x3b, 0x4d, 0x6f, 0x72, 0x69,
-0x20, 0x67, 0x68, 0x77, 0x61, 0x20, 0x6b, 0x61, 0x64, 0x61, 0x64, 0x75, 0x3b, 0x4d, 0x6f, 0x72, 0x69, 0x20, 0x67, 0x68,
-0x77, 0x61, 0x20, 0x6b, 0x61, 0x6e, 0x61, 0x3b, 0x4d, 0x6f, 0x72, 0x69, 0x20, 0x67, 0x68, 0x77, 0x61, 0x20, 0x6b, 0x61,
-0x73, 0x61, 0x6e, 0x75, 0x3b, 0x4d, 0x6f, 0x72, 0x69, 0x20, 0x67, 0x68, 0x77, 0x61, 0x20, 0x6b, 0x61, 0x72, 0x61, 0x6e,
-0x64, 0x61, 0x64, 0x75, 0x3b, 0x4d, 0x6f, 0x72, 0x69, 0x20, 0x67, 0x68, 0x77, 0x61, 0x20, 0x6d, 0x66, 0x75, 0x6e, 0x67,
-0x61, 0x64, 0x65, 0x3b, 0x4d, 0x6f, 0x72, 0x69, 0x20, 0x67, 0x68, 0x77, 0x61, 0x20, 0x77, 0x75, 0x6e, 0x79, 0x61, 0x6e,
-0x79, 0x61, 0x3b, 0x4d, 0x6f, 0x72, 0x69, 0x20, 0x67, 0x68, 0x77, 0x61, 0x20, 0x69, 0x6b, 0x65, 0x6e, 0x64, 0x61, 0x3b,
-0x4d, 0x6f, 0x72, 0x69, 0x20, 0x67, 0x68, 0x77, 0x61, 0x20, 0x69, 0x6b, 0x75, 0x6d, 0x69, 0x3b, 0x4d, 0x6f, 0x72, 0x69,
-0x20, 0x67, 0x68, 0x77, 0x61, 0x20, 0x69, 0x6b, 0x75, 0x6d, 0x69, 0x20, 0x6e, 0x61, 0x20, 0x69, 0x6d, 0x77, 0x65, 0x72,
-0x69, 0x3b, 0x4d, 0x6f, 0x72, 0x69, 0x20, 0x67, 0x68, 0x77, 0x61, 0x20, 0x69, 0x6b, 0x75, 0x6d, 0x69, 0x20, 0x6e, 0x61,
-0x20, 0x69, 0x77, 0x69, 0x3b, 0x49, 0x3b, 0x4b, 0x3b, 0x4b, 0x3b, 0x4b, 0x3b, 0x4b, 0x3b, 0x4b, 0x3b, 0x4d, 0x3b, 0x57,
-0x3b, 0x49, 0x3b, 0x49, 0x3b, 0x49, 0x3b, 0x49, 0x3b, 0x73, 0x69, 0x69, 0x3b, 0x63, 0x6f, 0x6c, 0x3b, 0x6d, 0x62, 0x6f,
-0x3b, 0x73, 0x65, 0x65, 0x3b, 0x64, 0x75, 0x75, 0x3b, 0x6b, 0x6f, 0x72, 0x3b, 0x6d, 0x6f, 0x72, 0x3b, 0x6a, 0x75, 0x6b,
-0x3b, 0x73, 0x6c, 0x74, 0x3b, 0x79, 0x61, 0x72, 0x3b, 0x6a, 0x6f, 0x6c, 0x3b, 0x62, 0x6f, 0x77, 0x3b, 0x73, 0x69, 0x69,
-0x6c, 0x6f, 0x3b, 0x63, 0x6f, 0x6c, 0x74, 0x65, 0x3b, 0x6d, 0x62, 0x6f, 0x6f, 0x79, 0x3b, 0x73, 0x65, 0x65, 0x257, 0x74,
-0x6f, 0x3b, 0x64, 0x75, 0x75, 0x6a, 0x61, 0x6c, 0x3b, 0x6b, 0x6f, 0x72, 0x73, 0x65, 0x3b, 0x6d, 0x6f, 0x72, 0x73, 0x6f,
-0x3b, 0x6a, 0x75, 0x6b, 0x6f, 0x3b, 0x73, 0x69, 0x69, 0x6c, 0x74, 0x6f, 0x3b, 0x79, 0x61, 0x72, 0x6b, 0x6f, 0x6d, 0x61,
-0x61, 0x3b, 0x6a, 0x6f, 0x6c, 0x61, 0x6c, 0x3b, 0x62, 0x6f, 0x77, 0x74, 0x65, 0x3b, 0x73, 0x3b, 0x63, 0x3b, 0x6d, 0x3b,
-0x73, 0x3b, 0x64, 0x3b, 0x6b, 0x3b, 0x6d, 0x3b, 0x6a, 0x3b, 0x73, 0x3b, 0x79, 0x3b, 0x6a, 0x3b, 0x62, 0x3b, 0x4a, 0x45,
-0x4e, 0x3b, 0x57, 0x4b, 0x52, 0x3b, 0x57, 0x47, 0x54, 0x3b, 0x57, 0x4b, 0x4e, 0x3b, 0x57, 0x54, 0x4e, 0x3b, 0x57, 0x54,
-0x44, 0x3b, 0x57, 0x4d, 0x4a, 0x3b, 0x57, 0x4e, 0x4e, 0x3b, 0x57, 0x4b, 0x44, 0x3b, 0x57, 0x49, 0x4b, 0x3b, 0x57, 0x4d,
-0x57, 0x3b, 0x44, 0x49, 0x54, 0x3b, 0x4e, 0x6a, 0x65, 0x6e, 0x75, 0x61, 0x72, 0x129, 0x3b, 0x4d, 0x77, 0x65, 0x72, 0x65,
-0x20, 0x77, 0x61, 0x20, 0x6b, 0x65, 0x72, 0x129, 0x3b, 0x4d, 0x77, 0x65, 0x72, 0x65, 0x20, 0x77, 0x61, 0x20, 0x67, 0x61,
-0x74, 0x61, 0x74, 0x169, 0x3b, 0x4d, 0x77, 0x65, 0x72, 0x65, 0x20, 0x77, 0x61, 0x20, 0x6b, 0x61, 0x6e, 0x61, 0x3b, 0x4d,
-0x77, 0x65, 0x72, 0x65, 0x20, 0x77, 0x61, 0x20, 0x67, 0x61, 0x74, 0x61, 0x6e, 0x6f, 0x3b, 0x4d, 0x77, 0x65, 0x72, 0x65,
-0x20, 0x77, 0x61, 0x20, 0x67, 0x61, 0x74, 0x61, 0x6e, 0x64, 0x61, 0x74, 0x169, 0x3b, 0x4d, 0x77, 0x65, 0x72, 0x65, 0x20,
-0x77, 0x61, 0x20, 0x6d, 0x169, 0x67, 0x77, 0x61, 0x6e, 0x6a, 0x61, 0x3b, 0x4d, 0x77, 0x65, 0x72, 0x65, 0x20, 0x77, 0x61,
-0x20, 0x6b, 0x61, 0x6e, 0x61, 0x6e, 0x61, 0x3b, 0x4d, 0x77, 0x65, 0x72, 0x65, 0x20, 0x77, 0x61, 0x20, 0x6b, 0x65, 0x6e,
-0x64, 0x61, 0x3b, 0x4d, 0x77, 0x65, 0x72, 0x65, 0x20, 0x77, 0x61, 0x20, 0x69, 0x6b, 0x169, 0x6d, 0x69, 0x3b, 0x4d, 0x77,
-0x65, 0x72, 0x65, 0x20, 0x77, 0x61, 0x20, 0x69, 0x6b, 0x169, 0x6d, 0x69, 0x20, 0x6e, 0x61, 0x20, 0x169, 0x6d, 0x77, 0x65,
-0x3b, 0x4e, 0x64, 0x69, 0x74, 0x68, 0x65, 0x6d, 0x62, 0x61, 0x3b, 0x4a, 0x3b, 0x4b, 0x3b, 0x47, 0x3b, 0x4b, 0x3b, 0x47,
-0x3b, 0x47, 0x3b, 0x4d, 0x3b, 0x4b, 0x3b, 0x4b, 0x3b, 0x49, 0x3b, 0x49, 0x3b, 0x44, 0x3b, 0x4f, 0x62, 0x6f, 0x3b, 0x57,
-0x61, 0x61, 0x3b, 0x4f, 0x6b, 0x75, 0x3b, 0x4f, 0x6e, 0x67, 0x3b, 0x49, 0x6d, 0x65, 0x3b, 0x49, 0x6c, 0x65, 0x3b, 0x53,
-0x61, 0x70, 0x3b, 0x49, 0x73, 0x69, 0x3b, 0x53, 0x61, 0x61, 0x3b, 0x54, 0x6f, 0x6d, 0x3b, 0x54, 0x6f, 0x62, 0x3b, 0x54,
-0x6f, 0x77, 0x3b, 0x4c, 0x61, 0x70, 0x61, 0x20, 0x6c, 0x65, 0x20, 0x6f, 0x62, 0x6f, 0x3b, 0x4c, 0x61, 0x70, 0x61, 0x20,
-0x6c, 0x65, 0x20, 0x77, 0x61, 0x61, 0x72, 0x65, 0x3b, 0x4c, 0x61, 0x70, 0x61, 0x20, 0x6c, 0x65, 0x20, 0x6f, 0x6b, 0x75,
-0x6e, 0x69, 0x3b, 0x4c, 0x61, 0x70, 0x61, 0x20, 0x6c, 0x65, 0x20, 0x6f, 0x6e, 0x67, 0x27, 0x77, 0x61, 0x6e, 0x3b, 0x4c,
-0x61, 0x70, 0x61, 0x20, 0x6c, 0x65, 0x20, 0x69, 0x6d, 0x65, 0x74, 0x3b, 0x4c, 0x61, 0x70, 0x61, 0x20, 0x6c, 0x65, 0x20,
-0x69, 0x6c, 0x65, 0x3b, 0x4c, 0x61, 0x70, 0x61, 0x20, 0x6c, 0x65, 0x20, 0x73, 0x61, 0x70, 0x61, 0x3b, 0x4c, 0x61, 0x70,
-0x61, 0x20, 0x6c, 0x65, 0x20, 0x69, 0x73, 0x69, 0x65, 0x74, 0x3b, 0x4c, 0x61, 0x70, 0x61, 0x20, 0x6c, 0x65, 0x20, 0x73,
-0x61, 0x61, 0x6c, 0x3b, 0x4c, 0x61, 0x70, 0x61, 0x20, 0x6c, 0x65, 0x20, 0x74, 0x6f, 0x6d, 0x6f, 0x6e, 0x3b, 0x4c, 0x61,
-0x70, 0x61, 0x20, 0x6c, 0x65, 0x20, 0x74, 0x6f, 0x6d, 0x6f, 0x6e, 0x20, 0x6f, 0x62, 0x6f, 0x3b, 0x4c, 0x61, 0x70, 0x61,
-0x20, 0x6c, 0x65, 0x20, 0x74, 0x6f, 0x6d, 0x6f, 0x6e, 0x20, 0x77, 0x61, 0x61, 0x72, 0x65, 0x3b, 0x4f, 0x3b, 0x57, 0x3b,
-0x4f, 0x3b, 0x4f, 0x3b, 0x49, 0x3b, 0x49, 0x3b, 0x53, 0x3b, 0x49, 0x3b, 0x53, 0x3b, 0x54, 0x3b, 0x54, 0x3b, 0x54, 0x3b,
-0x4a, 0x61, 0x6e, 0x3b, 0x46, 0x65, 0x76, 0x3b, 0x4d, 0x61, 0x72, 0x3b, 0x41, 0x62, 0x72, 0x3b, 0x4d, 0x61, 0x69, 0x3b,
-0x4a, 0x75, 0x6e, 0x3b, 0x4a, 0x75, 0x6c, 0x3b, 0x41, 0x75, 0x67, 0x3b, 0x53, 0x65, 0x74, 0x3b, 0x4f, 0x74, 0x75, 0x3b,
-0x4e, 0x6f, 0x76, 0x3b, 0x44, 0x65, 0x63, 0x3b, 0x4a, 0x61, 0x6e, 0x65, 0x69, 0x72, 0x6f, 0x3b, 0x46, 0x65, 0x76, 0x72,
-0x65, 0x69, 0x72, 0x6f, 0x3b, 0x4d, 0x61, 0x72, 0x63, 0x6f, 0x3b, 0x41, 0x62, 0x72, 0x69, 0x6c, 0x3b, 0x4d, 0x61, 0x69,
-0x6f, 0x3b, 0x4a, 0x75, 0x6e, 0x68, 0x6f, 0x3b, 0x4a, 0x75, 0x6c, 0x68, 0x6f, 0x3b, 0x41, 0x75, 0x67, 0x75, 0x73, 0x74,
-0x6f, 0x3b, 0x53, 0x65, 0x74, 0x65, 0x6d, 0x62, 0x72, 0x6f, 0x3b, 0x4f, 0x74, 0x75, 0x62, 0x72, 0x6f, 0x3b, 0x4e, 0x6f,
-0x76, 0x65, 0x6d, 0x62, 0x72, 0x6f, 0x3b, 0x44, 0x65, 0x63, 0x65, 0x6d, 0x62, 0x72, 0x6f, 0x3b, 0x5a, 0x69, 0x62, 0x3b,
-0x4e, 0x68, 0x6c, 0x3b, 0x4d, 0x62, 0x69, 0x3b, 0x4d, 0x61, 0x62, 0x3b, 0x4e, 0x6b, 0x77, 0x3b, 0x4e, 0x68, 0x6c, 0x3b,
-0x4e, 0x74, 0x75, 0x3b, 0x4e, 0x63, 0x77, 0x3b, 0x4d, 0x70, 0x61, 0x3b, 0x4d, 0x66, 0x75, 0x3b, 0x4c, 0x77, 0x65, 0x3b,
-0x4d, 0x70, 0x61, 0x3b, 0x5a, 0x69, 0x62, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x6c, 0x61, 0x3b, 0x4e, 0x68, 0x6c, 0x6f, 0x6c,
-0x61, 0x6e, 0x6a, 0x61, 0x3b, 0x4d, 0x62, 0x69, 0x6d, 0x62, 0x69, 0x74, 0x68, 0x6f, 0x3b, 0x4d, 0x61, 0x62, 0x61, 0x73,
-0x61, 0x3b, 0x4e, 0x6b, 0x77, 0x65, 0x6e, 0x6b, 0x77, 0x65, 0x7a, 0x69, 0x3b, 0x4e, 0x68, 0x6c, 0x61, 0x6e, 0x67, 0x75,
-0x6c, 0x61, 0x3b, 0x4e, 0x74, 0x75, 0x6c, 0x69, 0x6b, 0x61, 0x7a, 0x69, 0x3b, 0x4e, 0x63, 0x77, 0x61, 0x62, 0x61, 0x6b,
-0x61, 0x7a, 0x69, 0x3b, 0x4d, 0x70, 0x61, 0x6e, 0x64, 0x75, 0x6c, 0x61, 0x3b, 0x4d, 0x66, 0x75, 0x6d, 0x66, 0x75, 0x3b,
-0x4c, 0x77, 0x65, 0x7a, 0x69, 0x3b, 0x4d, 0x70, 0x61, 0x6c, 0x61, 0x6b, 0x61, 0x7a, 0x69, 0x3b, 0x5a, 0x3b, 0x4e, 0x3b,
-0x4d, 0x3b, 0x4d, 0x3b, 0x4e, 0x3b, 0x4e, 0x3b, 0x4e, 0x3b, 0x4e, 0x3b, 0x4d, 0x3b, 0x4d, 0x3b, 0x4c, 0x3b, 0x4d, 0x3b,
-0x4d, 0x31, 0x3b, 0x4d, 0x32, 0x3b, 0x4d, 0x33, 0x3b, 0x4d, 0x34, 0x3b, 0x4d, 0x35, 0x3b, 0x4d, 0x36, 0x3b, 0x4d, 0x37,
-0x3b, 0x4d, 0x38, 0x3b, 0x4d, 0x39, 0x3b, 0x4d, 0x31, 0x30, 0x3b, 0x4d, 0x31, 0x31, 0x3b, 0x4d, 0x31, 0x32, 0x3b, 0x4d,
-0x77, 0x65, 0x72, 0x69, 0x20, 0x77, 0x61, 0x20, 0x6b, 0x77, 0x61, 0x6e, 0x7a, 0x61, 0x3b, 0x4d, 0x77, 0x65, 0x72, 0x69,
-0x20, 0x77, 0x61, 0x20, 0x6b, 0x61, 0x69, 0x6c, 0x69, 0x3b, 0x4d, 0x77, 0x65, 0x72, 0x69, 0x20, 0x77, 0x61, 0x20, 0x6b,
-0x61, 0x74, 0x61, 0x74, 0x75, 0x3b, 0x4d, 0x77, 0x65, 0x72, 0x69, 0x20, 0x77, 0x61, 0x20, 0x6b, 0x61, 0x61, 0x6e, 0x61,
-0x3b, 0x4d, 0x77, 0x65, 0x72, 0x69, 0x20, 0x77, 0x61, 0x20, 0x74, 0x61, 0x6e, 0x75, 0x3b, 0x4d, 0x77, 0x65, 0x72, 0x69,
-0x20, 0x77, 0x61, 0x20, 0x73, 0x69, 0x74, 0x61, 0x3b, 0x4d, 0x77, 0x65, 0x72, 0x69, 0x20, 0x77, 0x61, 0x20, 0x73, 0x61,
-0x62, 0x61, 0x3b, 0x4d, 0x77, 0x65, 0x72, 0x69, 0x20, 0x77, 0x61, 0x20, 0x6e, 0x61, 0x6e, 0x65, 0x3b, 0x4d, 0x77, 0x65,
-0x72, 0x69, 0x20, 0x77, 0x61, 0x20, 0x74, 0x69, 0x73, 0x61, 0x3b, 0x4d, 0x77, 0x65, 0x72, 0x69, 0x20, 0x77, 0x61, 0x20,
-0x69, 0x6b, 0x75, 0x6d, 0x69, 0x3b, 0x4d, 0x77, 0x65, 0x72, 0x69, 0x20, 0x77, 0x61, 0x20, 0x69, 0x6b, 0x75, 0x6d, 0x69,
-0x20, 0x6e, 0x61, 0x20, 0x6d, 0x6f, 0x6a, 0x61, 0x3b, 0x4d, 0x77, 0x65, 0x72, 0x69, 0x20, 0x77, 0x61, 0x20, 0x69, 0x6b,
-0x75, 0x6d, 0x69, 0x20, 0x6e, 0x61, 0x20, 0x6d, 0x62, 0x69, 0x6c, 0x69, 0x3b, 0x4b, 0x3b, 0x4b, 0x3b, 0x4b, 0x3b, 0x4b,
-0x3b, 0x54, 0x3b, 0x53, 0x3b, 0x53, 0x3b, 0x4e, 0x3b, 0x54, 0x3b, 0x49, 0x3b, 0x49, 0x3b, 0x49, 0x3b, 0x69, 0x6e, 0x6e,
-0x3b, 0x62, 0x1e5b, 0x61, 0x3b, 0x6d, 0x61, 0x1e5b, 0x3b, 0x69, 0x62, 0x72, 0x3b, 0x6d, 0x61, 0x79, 0x3b, 0x79, 0x75, 0x6e,
-0x3b, 0x79, 0x75, 0x6c, 0x3b, 0x263, 0x75, 0x63, 0x3b, 0x63, 0x75, 0x74, 0x3b, 0x6b, 0x74, 0x75, 0x3b, 0x6e, 0x75, 0x77,
-0x3b, 0x64, 0x75, 0x6a, 0x3b, 0x69, 0x6e, 0x6e, 0x61, 0x79, 0x72, 0x3b, 0x62, 0x1e5b, 0x61, 0x79, 0x1e5b, 0x3b, 0x6d, 0x61,
-0x1e5b, 0x1e63, 0x3b, 0x69, 0x62, 0x72, 0x69, 0x72, 0x3b, 0x6d, 0x61, 0x79, 0x79, 0x75, 0x3b, 0x79, 0x75, 0x6e, 0x79, 0x75,
-0x3b, 0x79, 0x75, 0x6c, 0x79, 0x75, 0x7a, 0x3b, 0x263, 0x75, 0x63, 0x74, 0x3b, 0x63, 0x75, 0x74, 0x61, 0x6e, 0x62, 0x69,
-0x72, 0x3b, 0x6b, 0x74, 0x75, 0x62, 0x72, 0x3b, 0x6e, 0x75, 0x77, 0x61, 0x6e, 0x62, 0x69, 0x72, 0x3b, 0x64, 0x75, 0x6a,
-0x61, 0x6e, 0x62, 0x69, 0x72, 0x3b, 0x69, 0x3b, 0x62, 0x3b, 0x6d, 0x3b, 0x69, 0x3b, 0x6d, 0x3b, 0x79, 0x3b, 0x79, 0x3b,
-0x263, 0x3b, 0x63, 0x3b, 0x6b, 0x3b, 0x6e, 0x3b, 0x64, 0x3b, 0x59, 0x65, 0x6e, 0x3b, 0x46, 0x75, 0x72, 0x3b, 0x4d, 0x65,
-0x263, 0x3b, 0x59, 0x65, 0x62, 0x3b, 0x4d, 0x61, 0x79, 0x3b, 0x59, 0x75, 0x6e, 0x3b, 0x59, 0x75, 0x6c, 0x3b, 0x194, 0x75,
-0x63, 0x3b, 0x43, 0x74, 0x65, 0x3b, 0x54, 0x75, 0x62, 0x3b, 0x4e, 0x75, 0x6e, 0x3b, 0x44, 0x75, 0x1e7, 0x3b, 0x59, 0x65,
-0x6e, 0x6e, 0x61, 0x79, 0x65, 0x72, 0x3b, 0x46, 0x75, 0x1e5b, 0x61, 0x72, 0x3b, 0x4d, 0x65, 0x263, 0x72, 0x65, 0x73, 0x3b,
-0x59, 0x65, 0x62, 0x72, 0x69, 0x72, 0x3b, 0x4d, 0x61, 0x79, 0x79, 0x75, 0x3b, 0x59, 0x75, 0x6e, 0x79, 0x75, 0x3b, 0x59,
-0x75, 0x6c, 0x79, 0x75, 0x3b, 0x194, 0x75, 0x63, 0x74, 0x3b, 0x43, 0x74, 0x65, 0x6d, 0x62, 0x65, 0x1e5b, 0x3b, 0x54, 0x75,
-0x62, 0x65, 0x1e5b, 0x3b, 0x4e, 0x75, 0x6e, 0x65, 0x6d, 0x62, 0x65, 0x1e5b, 0x3b, 0x44, 0x75, 0x1e7, 0x65, 0x6d, 0x62, 0x65,
-0x1e5b, 0x3b, 0x59, 0x3b, 0x46, 0x3b, 0x4d, 0x3b, 0x59, 0x3b, 0x4d, 0x3b, 0x59, 0x3b, 0x59, 0x3b, 0x194, 0x3b, 0x43, 0x3b,
-0x54, 0x3b, 0x4e, 0x3b, 0x44, 0x3b, 0x4b, 0x42, 0x5a, 0x3b, 0x4b, 0x42, 0x52, 0x3b, 0x4b, 0x53, 0x54, 0x3b, 0x4b, 0x4b,
-0x4e, 0x3b, 0x4b, 0x54, 0x4e, 0x3b, 0x4b, 0x4d, 0x4b, 0x3b, 0x4b, 0x4d, 0x53, 0x3b, 0x4b, 0x4d, 0x4e, 0x3b, 0x4b, 0x4d,
-0x4e, 0x3b, 0x4b, 0x4b, 0x4d, 0x3b, 0x4b, 0x4e, 0x4b, 0x3b, 0x4b, 0x4e, 0x42, 0x3b, 0x4f, 0x6b, 0x77, 0x6f, 0x6b, 0x75,
-0x62, 0x61, 0x6e, 0x7a, 0x61, 0x3b, 0x4f, 0x6b, 0x77, 0x61, 0x6b, 0x61, 0x62, 0x69, 0x72, 0x69, 0x3b, 0x4f, 0x6b, 0x77,
-0x61, 0x6b, 0x61, 0x73, 0x68, 0x61, 0x74, 0x75, 0x3b, 0x4f, 0x6b, 0x77, 0x61, 0x6b, 0x61, 0x6e, 0x61, 0x3b, 0x4f, 0x6b,
-0x77, 0x61, 0x6b, 0x61, 0x74, 0x61, 0x61, 0x6e, 0x61, 0x3b, 0x4f, 0x6b, 0x77, 0x61, 0x6d, 0x75, 0x6b, 0x61, 0x61, 0x67,
-0x61, 0x3b, 0x4f, 0x6b, 0x77, 0x61, 0x6d, 0x75, 0x73, 0x68, 0x61, 0x6e, 0x6a, 0x75, 0x3b, 0x4f, 0x6b, 0x77, 0x61, 0x6d,
-0x75, 0x6e, 0x61, 0x61, 0x6e, 0x61, 0x3b, 0x4f, 0x6b, 0x77, 0x61, 0x6d, 0x77, 0x65, 0x6e, 0x64, 0x61, 0x3b, 0x4f, 0x6b,
-0x77, 0x61, 0x69, 0x6b, 0x75, 0x6d, 0x69, 0x3b, 0x4f, 0x6b, 0x77, 0x61, 0x69, 0x6b, 0x75, 0x6d, 0x69, 0x20, 0x6e, 0x61,
-0x20, 0x6b, 0x75, 0x6d, 0x77, 0x65, 0x3b, 0x4f, 0x6b, 0x77, 0x61, 0x69, 0x6b, 0x75, 0x6d, 0x69, 0x20, 0x6e, 0x61, 0x20,
-0x69, 0x62, 0x69, 0x72, 0x69, 0x3b, 0x48, 0x75, 0x74, 0x3b, 0x56, 0x69, 0x6c, 0x3b, 0x44, 0x61, 0x74, 0x3b, 0x54, 0x61,
-0x69, 0x3b, 0x48, 0x61, 0x6e, 0x3b, 0x53, 0x69, 0x74, 0x3b, 0x53, 0x61, 0x62, 0x3b, 0x4e, 0x61, 0x6e, 0x3b, 0x54, 0x69,
-0x73, 0x3b, 0x4b, 0x75, 0x6d, 0x3b, 0x4b, 0x6d, 0x6a, 0x3b, 0x4b, 0x6d, 0x62, 0x3b, 0x70, 0x61, 0x20, 0x6d, 0x77, 0x65,
-0x64, 0x7a, 0x69, 0x20, 0x67, 0x77, 0x61, 0x20, 0x68, 0x75, 0x74, 0x61, 0x6c, 0x61, 0x3b, 0x70, 0x61, 0x20, 0x6d, 0x77,
-0x65, 0x64, 0x7a, 0x69, 0x20, 0x67, 0x77, 0x61, 0x20, 0x77, 0x75, 0x76, 0x69, 0x6c, 0x69, 0x3b, 0x70, 0x61, 0x20, 0x6d,
-0x77, 0x65, 0x64, 0x7a, 0x69, 0x20, 0x67, 0x77, 0x61, 0x20, 0x77, 0x75, 0x64, 0x61, 0x74, 0x75, 0x3b, 0x70, 0x61, 0x20,
-0x6d, 0x77, 0x65, 0x64, 0x7a, 0x69, 0x20, 0x67, 0x77, 0x61, 0x20, 0x77, 0x75, 0x74, 0x61, 0x69, 0x3b, 0x70, 0x61, 0x20,
-0x6d, 0x77, 0x65, 0x64, 0x7a, 0x69, 0x20, 0x67, 0x77, 0x61, 0x20, 0x77, 0x75, 0x68, 0x61, 0x6e, 0x75, 0x3b, 0x70, 0x61,
-0x20, 0x6d, 0x77, 0x65, 0x64, 0x7a, 0x69, 0x20, 0x67, 0x77, 0x61, 0x20, 0x73, 0x69, 0x74, 0x61, 0x3b, 0x70, 0x61, 0x20,
-0x6d, 0x77, 0x65, 0x64, 0x7a, 0x69, 0x20, 0x67, 0x77, 0x61, 0x20, 0x73, 0x61, 0x62, 0x61, 0x3b, 0x70, 0x61, 0x20, 0x6d,
-0x77, 0x65, 0x64, 0x7a, 0x69, 0x20, 0x67, 0x77, 0x61, 0x20, 0x6e, 0x61, 0x6e, 0x65, 0x3b, 0x70, 0x61, 0x20, 0x6d, 0x77,
-0x65, 0x64, 0x7a, 0x69, 0x20, 0x67, 0x77, 0x61, 0x20, 0x74, 0x69, 0x73, 0x61, 0x3b, 0x70, 0x61, 0x20, 0x6d, 0x77, 0x65,
-0x64, 0x7a, 0x69, 0x20, 0x67, 0x77, 0x61, 0x20, 0x6b, 0x75, 0x6d, 0x69, 0x3b, 0x70, 0x61, 0x20, 0x6d, 0x77, 0x65, 0x64,
-0x7a, 0x69, 0x20, 0x67, 0x77, 0x61, 0x20, 0x6b, 0x75, 0x6d, 0x69, 0x20, 0x6e, 0x61, 0x20, 0x6d, 0x6f, 0x6a, 0x61, 0x3b,
-0x70, 0x61, 0x20, 0x6d, 0x77, 0x65, 0x64, 0x7a, 0x69, 0x20, 0x67, 0x77, 0x61, 0x20, 0x6b, 0x75, 0x6d, 0x69, 0x20, 0x6e,
-0x61, 0x20, 0x6d, 0x62, 0x69, 0x6c, 0x69, 0x3b, 0x48, 0x3b, 0x56, 0x3b, 0x44, 0x3b, 0x54, 0x3b, 0x48, 0x3b, 0x53, 0x3b,
-0x53, 0x3b, 0x4e, 0x3b, 0x54, 0x3b, 0x4b, 0x3b, 0x4b, 0x3b, 0x4b, 0x3b, 0x4a, 0x61, 0x6e, 0x75, 0x61, 0x72, 0x69, 0x3b,
-0x46, 0x65, 0x62, 0x72, 0x75, 0x61, 0x72, 0x69, 0x3b, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x3b, 0x41, 0x70, 0x72, 0x69, 0x6c,
-0x79, 0x69, 0x3b, 0x4d, 0x65, 0x69, 0x3b, 0x4a, 0x75, 0x6e, 0x79, 0x69, 0x3b, 0x4a, 0x75, 0x6c, 0x79, 0x61, 0x69, 0x3b,
-0x41, 0x67, 0x75, 0x73, 0x74, 0x69, 0x3b, 0x53, 0x65, 0x70, 0x74, 0x65, 0x6d, 0x62, 0x61, 0x3b, 0x4f, 0x6b, 0x74, 0x6f,
-0x62, 0x61, 0x3b, 0x4e, 0x6f, 0x76, 0x65, 0x6d, 0x62, 0x61, 0x3b, 0x44, 0x65, 0x73, 0x65, 0x6d, 0x62, 0x61, 0x3b, 0x7a,
-0x61, 0x6e, 0x3b, 0x66, 0x65, 0x62, 0x3b, 0x6e, 0x61, 0x72, 0x3b, 0x61, 0x77, 0x69, 0x3b, 0x6d, 0x25b, 0x3b, 0x7a, 0x75,
-0x77, 0x3b, 0x7a, 0x75, 0x6c, 0x3b, 0x75, 0x74, 0x69, 0x3b, 0x73, 0x25b, 0x74, 0x3b, 0x254, 0x6b, 0x75, 0x3b, 0x6e, 0x6f,
-0x77, 0x3b, 0x64, 0x65, 0x73, 0x3b, 0x7a, 0x61, 0x6e, 0x77, 0x75, 0x79, 0x65, 0x3b, 0x66, 0x65, 0x62, 0x75, 0x72, 0x75,
-0x79, 0x65, 0x3b, 0x6d, 0x61, 0x72, 0x69, 0x73, 0x69, 0x3b, 0x61, 0x77, 0x69, 0x72, 0x69, 0x6c, 0x69, 0x3b, 0x6d, 0x25b,
-0x3b, 0x7a, 0x75, 0x77, 0x25b, 0x6e, 0x3b, 0x7a, 0x75, 0x6c, 0x75, 0x79, 0x65, 0x3b, 0x75, 0x74, 0x69, 0x3b, 0x73, 0x25b,
-0x74, 0x61, 0x6e, 0x62, 0x75, 0x72, 0x75, 0x3b, 0x254, 0x6b, 0x75, 0x74, 0x254, 0x62, 0x75, 0x72, 0x75, 0x3b, 0x6e, 0x6f,
-0x77, 0x61, 0x6e, 0x62, 0x75, 0x72, 0x75, 0x3b, 0x64, 0x65, 0x73, 0x61, 0x6e, 0x62, 0x75, 0x72, 0x75, 0x3b, 0x5a, 0x3b,
-0x46, 0x3b, 0x4d, 0x3b, 0x41, 0x3b, 0x4d, 0x3b, 0x5a, 0x3b, 0x5a, 0x3b, 0x55, 0x3b, 0x53, 0x3b, 0x186, 0x3b, 0x4e, 0x3b,
-0x44, 0x3b, 0x4d, 0x62, 0x65, 0x3b, 0x4b, 0x61, 0x69, 0x3b, 0x4b, 0x61, 0x74, 0x3b, 0x4b, 0x61, 0x6e, 0x3b, 0x47, 0x61,
-0x74, 0x3b, 0x47, 0x61, 0x6e, 0x3b, 0x4d, 0x75, 0x67, 0x3b, 0x4b, 0x6e, 0x6e, 0x3b, 0x4b, 0x65, 0x6e, 0x3b, 0x49, 0x6b,
-0x75, 0x3b, 0x49, 0x6d, 0x77, 0x3b, 0x49, 0x67, 0x69, 0x3b, 0x4d, 0x77, 0x65, 0x72, 0x69, 0x20, 0x77, 0x61, 0x20, 0x6d,
-0x62, 0x65, 0x72, 0x65, 0x3b, 0x4d, 0x77, 0x65, 0x72, 0x69, 0x20, 0x77, 0x61, 0x20, 0x6b, 0x61, 0x129, 0x72, 0x69, 0x3b,
-0x4d, 0x77, 0x65, 0x72, 0x69, 0x20, 0x77, 0x61, 0x20, 0x6b, 0x61, 0x74, 0x68, 0x61, 0x74, 0x169, 0x3b, 0x4d, 0x77, 0x65,
-0x72, 0x69, 0x20, 0x77, 0x61, 0x20, 0x6b, 0x61, 0x6e, 0x61, 0x3b, 0x4d, 0x77, 0x65, 0x72, 0x69, 0x20, 0x77, 0x61, 0x20,
-0x67, 0x61, 0x74, 0x61, 0x6e, 0x6f, 0x3b, 0x4d, 0x77, 0x65, 0x72, 0x69, 0x20, 0x77, 0x61, 0x20, 0x67, 0x61, 0x74, 0x61,
-0x6e, 0x74, 0x61, 0x74, 0x169, 0x3b, 0x4d, 0x77, 0x65, 0x72, 0x69, 0x20, 0x77, 0x61, 0x20, 0x6d, 0x169, 0x67, 0x77, 0x61,
-0x6e, 0x6a, 0x61, 0x3b, 0x4d, 0x77, 0x65, 0x72, 0x69, 0x20, 0x77, 0x61, 0x20, 0x6b, 0x61, 0x6e, 0x61, 0x6e, 0x61, 0x3b,
-0x4d, 0x77, 0x65, 0x72, 0x69, 0x20, 0x77, 0x61, 0x20, 0x6b, 0x65, 0x6e, 0x64, 0x61, 0x3b, 0x4d, 0x77, 0x65, 0x72, 0x69,
-0x20, 0x77, 0x61, 0x20, 0x69, 0x6b, 0x169, 0x6d, 0x69, 0x3b, 0x4d, 0x77, 0x65, 0x72, 0x69, 0x20, 0x77, 0x61, 0x20, 0x69,
-0x6b, 0x169, 0x6d, 0x69, 0x20, 0x6e, 0x61, 0x20, 0x169, 0x6d, 0x77, 0x65, 0x3b, 0x4d, 0x77, 0x65, 0x72, 0x69, 0x20, 0x77,
-0x61, 0x20, 0x69, 0x6b, 0x169, 0x6d, 0x69, 0x20, 0x6e, 0x61, 0x20, 0x4b, 0x61, 0x129, 0x72, 0x129, 0x3b, 0x4d, 0x3b, 0x4b,
-0x3b, 0x4b, 0x3b, 0x4b, 0x3b, 0x47, 0x3b, 0x47, 0x3b, 0x4d, 0x3b, 0x4b, 0x3b, 0x4b, 0x3b, 0x49, 0x3b, 0x49, 0x3b, 0x49,
-0x3b, 0x13a4, 0x13c3, 0x3b, 0x13a7, 0x13a6, 0x3b, 0x13a0, 0x13c5, 0x3b, 0x13a7, 0x13ec, 0x3b, 0x13a0, 0x13c2, 0x3b, 0x13d5, 0x13ad, 0x3b, 0x13ab,
-0x13f0, 0x3b, 0x13a6, 0x13b6, 0x3b, 0x13da, 0x13b5, 0x3b, 0x13da, 0x13c2, 0x3b, 0x13c5, 0x13d3, 0x3b, 0x13a4, 0x13cd, 0x3b, 0x13a4, 0x13c3, 0x13b8,
-0x13d4, 0x13c5, 0x3b, 0x13a7, 0x13a6, 0x13b5, 0x3b, 0x13a0, 0x13c5, 0x13f1, 0x3b, 0x13a7, 0x13ec, 0x13c2, 0x3b, 0x13a0, 0x13c2, 0x13cd, 0x13ac, 0x13d8,
-0x3b, 0x13d5, 0x13ad, 0x13b7, 0x13f1, 0x3b, 0x13ab, 0x13f0, 0x13c9, 0x13c2, 0x3b, 0x13a6, 0x13b6, 0x13c2, 0x3b, 0x13da, 0x13b5, 0x13cd, 0x13d7, 0x3b,
-0x13da, 0x13c2, 0x13c5, 0x13d7, 0x3b, 0x13c5, 0x13d3, 0x13d5, 0x13c6, 0x3b, 0x13a4, 0x13cd, 0x13a9, 0x13f1, 0x3b, 0x13a4, 0x3b, 0x13a7, 0x3b, 0x13a0,
-0x3b, 0x13a7, 0x3b, 0x13a0, 0x3b, 0x13d5, 0x3b, 0x13ab, 0x3b, 0x13a6, 0x3b, 0x13da, 0x3b, 0x13da, 0x3b, 0x13c5, 0x3b, 0x13a4, 0x3b, 0x7a,
-0x61, 0x6e, 0x3b, 0x66, 0x65, 0x76, 0x3b, 0x6d, 0x61, 0x72, 0x3b, 0x61, 0x76, 0x72, 0x3b, 0x6d, 0x65, 0x3b, 0x7a, 0x69,
-0x6e, 0x3b, 0x7a, 0x69, 0x6c, 0x3b, 0x6f, 0x75, 0x74, 0x3b, 0x73, 0x65, 0x70, 0x3b, 0x6f, 0x6b, 0x74, 0x3b, 0x6e, 0x6f,
-0x76, 0x3b, 0x64, 0x65, 0x73, 0x3b, 0x7a, 0x61, 0x6e, 0x76, 0x69, 0x65, 0x3b, 0x66, 0x65, 0x76, 0x72, 0x69, 0x79, 0x65,
-0x3b, 0x6d, 0x61, 0x72, 0x73, 0x3b, 0x61, 0x76, 0x72, 0x69, 0x6c, 0x3b, 0x6d, 0x65, 0x3b, 0x7a, 0x69, 0x6e, 0x3b, 0x7a,
-0x69, 0x6c, 0x79, 0x65, 0x3b, 0x6f, 0x75, 0x74, 0x3b, 0x73, 0x65, 0x70, 0x74, 0x61, 0x6d, 0x3b, 0x6f, 0x6b, 0x74, 0x6f,
-0x62, 0x3b, 0x6e, 0x6f, 0x76, 0x61, 0x6d, 0x3b, 0x64, 0x65, 0x73, 0x61, 0x6d, 0x3b, 0x7a, 0x3b, 0x66, 0x3b, 0x6d, 0x3b,
-0x61, 0x3b, 0x6d, 0x3b, 0x7a, 0x3b, 0x7a, 0x3b, 0x6f, 0x3b, 0x73, 0x3b, 0x6f, 0x3b, 0x6e, 0x3b, 0x64, 0x3b, 0x4d, 0x77,
-0x65, 0x64, 0x69, 0x20, 0x4e, 0x74, 0x61, 0x6e, 0x64, 0x69, 0x3b, 0x4d, 0x77, 0x65, 0x64, 0x69, 0x20, 0x77, 0x61, 0x20,
-0x50, 0x69, 0x6c, 0x69, 0x3b, 0x4d, 0x77, 0x65, 0x64, 0x69, 0x20, 0x77, 0x61, 0x20, 0x54, 0x61, 0x74, 0x75, 0x3b, 0x4d,
-0x77, 0x65, 0x64, 0x69, 0x20, 0x77, 0x61, 0x20, 0x4e, 0x63, 0x68, 0x65, 0x63, 0x68, 0x69, 0x3b, 0x4d, 0x77, 0x65, 0x64,
-0x69, 0x20, 0x77, 0x61, 0x20, 0x4e, 0x6e, 0x79, 0x61, 0x6e, 0x6f, 0x3b, 0x4d, 0x77, 0x65, 0x64, 0x69, 0x20, 0x77, 0x61,
-0x20, 0x4e, 0x6e, 0x79, 0x61, 0x6e, 0x6f, 0x20, 0x6e, 0x61, 0x20, 0x55, 0x6d, 0x6f, 0x3b, 0x4d, 0x77, 0x65, 0x64, 0x69,
-0x20, 0x77, 0x61, 0x20, 0x4e, 0x6e, 0x79, 0x61, 0x6e, 0x6f, 0x20, 0x6e, 0x61, 0x20, 0x4d, 0x69, 0x76, 0x69, 0x6c, 0x69,
-0x3b, 0x4d, 0x77, 0x65, 0x64, 0x69, 0x20, 0x77, 0x61, 0x20, 0x4e, 0x6e, 0x79, 0x61, 0x6e, 0x6f, 0x20, 0x6e, 0x61, 0x20,
-0x4d, 0x69, 0x74, 0x61, 0x74, 0x75, 0x3b, 0x4d, 0x77, 0x65, 0x64, 0x69, 0x20, 0x77, 0x61, 0x20, 0x4e, 0x6e, 0x79, 0x61,
-0x6e, 0x6f, 0x20, 0x6e, 0x61, 0x20, 0x4e, 0x63, 0x68, 0x65, 0x63, 0x68, 0x69, 0x3b, 0x4d, 0x77, 0x65, 0x64, 0x69, 0x20,
-0x77, 0x61, 0x20, 0x4e, 0x6e, 0x79, 0x61, 0x6e, 0x6f, 0x20, 0x6e, 0x61, 0x20, 0x4e, 0x6e, 0x79, 0x61, 0x6e, 0x6f, 0x3b,
-0x4d, 0x77, 0x65, 0x64, 0x69, 0x20, 0x77, 0x61, 0x20, 0x4e, 0x6e, 0x79, 0x61, 0x6e, 0x6f, 0x20, 0x6e, 0x61, 0x20, 0x4e,
-0x6e, 0x79, 0x61, 0x6e, 0x6f, 0x20, 0x6e, 0x61, 0x20, 0x55, 0x3b, 0x4d, 0x77, 0x65, 0x64, 0x69, 0x20, 0x77, 0x61, 0x20,
-0x4e, 0x6e, 0x79, 0x61, 0x6e, 0x6f, 0x20, 0x6e, 0x61, 0x20, 0x4e, 0x6e, 0x79, 0x61, 0x6e, 0x6f, 0x20, 0x6e, 0x61, 0x20,
-0x4d, 0x3b, 0x46, 0xfa, 0x6e, 0x67, 0x61, 0x74, 0x268, 0x3b, 0x4e, 0x61, 0x61, 0x6e, 0x268, 0x3b, 0x4b, 0x65, 0x65, 0x6e,
-0x64, 0x61, 0x3b, 0x49, 0x6b, 0xfa, 0x6d, 0x69, 0x3b, 0x49, 0x6e, 0x79, 0x61, 0x6d, 0x62, 0x61, 0x6c, 0x61, 0x3b, 0x49,
-0x64, 0x77, 0x61, 0x61, 0x74, 0x61, 0x3b, 0x4d, 0x289, 0x289, 0x6e, 0x63, 0x68, 0x268, 0x3b, 0x56, 0x268, 0x268, 0x72, 0x268,
-0x3b, 0x53, 0x61, 0x61, 0x74, 0x289, 0x3b, 0x49, 0x6e, 0x79, 0x69, 0x3b, 0x53, 0x61, 0x61, 0x6e, 0x6f, 0x3b, 0x53, 0x61,
-0x73, 0x61, 0x74, 0x289, 0x3b, 0x4b, 0x289, 0x66, 0xfa, 0x6e, 0x67, 0x61, 0x74, 0x268, 0x3b, 0x4b, 0x289, 0x6e, 0x61, 0x61,
-0x6e, 0x268, 0x3b, 0x4b, 0x289, 0x6b, 0x65, 0x65, 0x6e, 0x64, 0x61, 0x3b, 0x4b, 0x77, 0x69, 0x69, 0x6b, 0x75, 0x6d, 0x69,
-0x3b, 0x4b, 0x77, 0x69, 0x69, 0x6e, 0x79, 0x61, 0x6d, 0x62, 0xe1, 0x6c, 0x61, 0x3b, 0x4b, 0x77, 0x69, 0x69, 0x64, 0x77,
-0x61, 0x61, 0x74, 0x61, 0x3b, 0x4b, 0x289, 0x6d, 0x289, 0x289, 0x6e, 0x63, 0x68, 0x268, 0x3b, 0x4b, 0x289, 0x76, 0x268, 0x268,
-0x72, 0x268, 0x3b, 0x4b, 0x289, 0x73, 0x61, 0x61, 0x74, 0x289, 0x3b, 0x4b, 0x77, 0x69, 0x69, 0x6e, 0x79, 0x69, 0x3b, 0x4b,
-0x289, 0x73, 0x61, 0x61, 0x6e, 0x6f, 0x3b, 0x4b, 0x289, 0x73, 0x61, 0x73, 0x61, 0x74, 0x289, 0x3b, 0x46, 0x3b, 0x4e, 0x3b,
-0x4b, 0x3b, 0x49, 0x3b, 0x49, 0x3b, 0x49, 0x3b, 0x4d, 0x3b, 0x56, 0x3b, 0x53, 0x3b, 0x49, 0x3b, 0x53, 0x3b, 0x53, 0x3b,
-0x4a, 0x61, 0x6e, 0x3b, 0x46, 0x65, 0x62, 0x3b, 0x4d, 0x61, 0x72, 0x3b, 0x41, 0x70, 0x75, 0x3b, 0x4d, 0x61, 0x61, 0x3b,
-0x4a, 0x75, 0x75, 0x3b, 0x4a, 0x75, 0x6c, 0x3b, 0x41, 0x67, 0x75, 0x3b, 0x53, 0x65, 0x62, 0x3b, 0x4f, 0x6b, 0x69, 0x3b,
-0x4e, 0x6f, 0x76, 0x3b, 0x44, 0x65, 0x73, 0x3b, 0x4a, 0x61, 0x6e, 0x77, 0x61, 0x6c, 0x69, 0x79, 0x6f, 0x3b, 0x46, 0x65,
-0x62, 0x77, 0x61, 0x6c, 0x69, 0x79, 0x6f, 0x3b, 0x4d, 0x61, 0x72, 0x69, 0x73, 0x69, 0x3b, 0x41, 0x70, 0x75, 0x6c, 0x69,
-0x3b, 0x4d, 0x61, 0x61, 0x79, 0x69, 0x3b, 0x4a, 0x75, 0x75, 0x6e, 0x69, 0x3b, 0x4a, 0x75, 0x6c, 0x61, 0x61, 0x79, 0x69,
-0x3b, 0x41, 0x67, 0x75, 0x73, 0x69, 0x74, 0x6f, 0x3b, 0x53, 0x65, 0x62, 0x75, 0x74, 0x74, 0x65, 0x6d, 0x62, 0x61, 0x3b,
-0x4f, 0x6b, 0x69, 0x74, 0x6f, 0x62, 0x62, 0x61, 0x3b, 0x4e, 0x6f, 0x76, 0x65, 0x6d, 0x62, 0x61, 0x3b, 0x44, 0x65, 0x73,
-0x65, 0x6d, 0x62, 0x61, 0x3b, 0x4a, 0x61, 0x6e, 0x3b, 0x46, 0x65, 0x62, 0x3b, 0x4d, 0x61, 0x63, 0x3b, 0x45, 0x70, 0x72,
-0x3b, 0x4d, 0x65, 0x69, 0x3b, 0x4a, 0x75, 0x6e, 0x3b, 0x4a, 0x75, 0x6c, 0x3b, 0x4f, 0x67, 0x61, 0x3b, 0x53, 0x65, 0x70,
-0x3b, 0x4f, 0x6b, 0x74, 0x3b, 0x4e, 0x6f, 0x76, 0x3b, 0x44, 0x69, 0x73, 0x3b, 0x4a, 0x61, 0x6e, 0x75, 0x61, 0x72, 0x69,
-0x3b, 0x46, 0x65, 0x62, 0x72, 0x75, 0x61, 0x72, 0x69, 0x3b, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x3b, 0x45, 0x70, 0x72, 0x65,
-0x6f, 0x3b, 0x4d, 0x65, 0x69, 0x3b, 0x4a, 0x75, 0x6e, 0x69, 0x3b, 0x4a, 0x75, 0x6c, 0x61, 0x69, 0x3b, 0x4f, 0x67, 0x61,
-0x73, 0x74, 0x69, 0x3b, 0x53, 0x65, 0x70, 0x74, 0x65, 0x6d, 0x62, 0x61, 0x3b, 0x4f, 0x6b, 0x74, 0x6f, 0x62, 0x61, 0x3b,
-0x4e, 0x6f, 0x76, 0x65, 0x6d, 0x62, 0x61, 0x3b, 0x44, 0x69, 0x73, 0x65, 0x6d, 0x62, 0x61, 0x3b, 0x4a, 0x3b, 0x46, 0x3b,
-0x4d, 0x3b, 0x45, 0x3b, 0x4d, 0x3b, 0x4a, 0x3b, 0x4a, 0x3b, 0x4f, 0x3b, 0x53, 0x3b, 0x4f, 0x3b, 0x4e, 0x3b, 0x44, 0x3b,
-0x4a, 0x61, 0x6e, 0x3b, 0x46, 0x65, 0x76, 0x3b, 0x4d, 0x61, 0x72, 0x3b, 0x41, 0x62, 0x72, 0x3b, 0x4d, 0x61, 0x69, 0x3b,
-0x4a, 0x75, 0x6e, 0x3b, 0x4a, 0x75, 0x6c, 0x3b, 0x41, 0x67, 0x6f, 0x3b, 0x53, 0x65, 0x74, 0x3b, 0x4f, 0x74, 0x75, 0x3b,
-0x4e, 0x75, 0x76, 0x3b, 0x44, 0x69, 0x7a, 0x3b, 0x4a, 0x61, 0x6e, 0x65, 0x72, 0x75, 0x3b, 0x46, 0x65, 0x76, 0x65, 0x72,
-0x65, 0x72, 0x75, 0x3b, 0x4d, 0x61, 0x72, 0x73, 0x75, 0x3b, 0x41, 0x62, 0x72, 0x69, 0x6c, 0x3b, 0x4d, 0x61, 0x69, 0x75,
-0x3b, 0x4a, 0x75, 0x6e, 0x68, 0x75, 0x3b, 0x4a, 0x75, 0x6c, 0x68, 0x75, 0x3b, 0x41, 0x67, 0x6f, 0x73, 0x74, 0x75, 0x3b,
-0x53, 0x65, 0x74, 0x65, 0x6e, 0x62, 0x72, 0x75, 0x3b, 0x4f, 0x74, 0x75, 0x62, 0x72, 0x75, 0x3b, 0x4e, 0x75, 0x76, 0x65,
-0x6e, 0x62, 0x72, 0x75, 0x3b, 0x44, 0x69, 0x7a, 0x65, 0x6e, 0x62, 0x72, 0x75, 0x3b, 0x4a, 0x41, 0x4e, 0x3b, 0x46, 0x45,
-0x42, 0x3b, 0x4d, 0x41, 0x43, 0x3b, 0x128, 0x50, 0x55, 0x3b, 0x4d, 0x128, 0x128, 0x3b, 0x4e, 0x4a, 0x55, 0x3b, 0x4e, 0x4a,
-0x52, 0x3b, 0x41, 0x47, 0x41, 0x3b, 0x53, 0x50, 0x54, 0x3b, 0x4f, 0x4b, 0x54, 0x3b, 0x4e, 0x4f, 0x56, 0x3b, 0x44, 0x45,
-0x43, 0x3b, 0x4a, 0x61, 0x6e, 0x75, 0x61, 0x72, 0x129, 0x3b, 0x46, 0x65, 0x62, 0x75, 0x72, 0x75, 0x61, 0x72, 0x129, 0x3b,
-0x4d, 0x61, 0x63, 0x68, 0x69, 0x3b, 0x128, 0x70, 0x75, 0x72, 0x169, 0x3b, 0x4d, 0x129, 0x129, 0x3b, 0x4e, 0x6a, 0x75, 0x6e,
-0x69, 0x3b, 0x4e, 0x6a, 0x75, 0x72, 0x61, 0x129, 0x3b, 0x41, 0x67, 0x61, 0x73, 0x74, 0x69, 0x3b, 0x53, 0x65, 0x70, 0x74,
-0x65, 0x6d, 0x62, 0x61, 0x3b, 0x4f, 0x6b, 0x74, 0x169, 0x62, 0x61, 0x3b, 0x4e, 0x6f, 0x76, 0x65, 0x6d, 0x62, 0x61, 0x3b,
-0x44, 0x69, 0x63, 0x65, 0x6d, 0x62, 0x61, 0x3b, 0x4a, 0x3b, 0x46, 0x3b, 0x4d, 0x3b, 0x128, 0x3b, 0x4d, 0x3b, 0x4e, 0x3b,
-0x4e, 0x3b, 0x41, 0x3b, 0x53, 0x3b, 0x4f, 0x3b, 0x4e, 0x3b, 0x44, 0x3b, 0x4d, 0x75, 0x6c, 0x3b, 0x4e, 0x67, 0x61, 0x3b,
-0x4b, 0x69, 0x70, 0x3b, 0x49, 0x77, 0x61, 0x3b, 0x4e, 0x67, 0x65, 0x3b, 0x57, 0x61, 0x6b, 0x3b, 0x52, 0x6f, 0x70, 0x3b,
-0x4b, 0x6f, 0x67, 0x3b, 0x42, 0x75, 0x72, 0x3b, 0x45, 0x70, 0x65, 0x3b, 0x54, 0x61, 0x69, 0x3b, 0x41, 0x65, 0x6e, 0x3b,
-0x4d, 0x75, 0x6c, 0x67, 0x75, 0x6c, 0x3b, 0x4e, 0x67, 0x27, 0x61, 0x74, 0x79, 0x61, 0x74, 0x6f, 0x3b, 0x4b, 0x69, 0x70,
-0x74, 0x61, 0x6d, 0x6f, 0x3b, 0x49, 0x77, 0x61, 0x74, 0x20, 0x6b, 0x75, 0x74, 0x3b, 0x4e, 0x67, 0x27, 0x65, 0x69, 0x79,
-0x65, 0x74, 0x3b, 0x57, 0x61, 0x6b, 0x69, 0x3b, 0x52, 0x6f, 0x70, 0x74, 0x75, 0x69, 0x3b, 0x4b, 0x69, 0x70, 0x6b, 0x6f,
-0x67, 0x61, 0x67, 0x61, 0x3b, 0x42, 0x75, 0x72, 0x65, 0x74, 0x3b, 0x45, 0x70, 0x65, 0x73, 0x6f, 0x3b, 0x4b, 0x69, 0x70,
-0x73, 0x75, 0x6e, 0x64, 0x65, 0x20, 0x6e, 0x65, 0x74, 0x61, 0x69, 0x3b, 0x4b, 0x69, 0x70, 0x73, 0x75, 0x6e, 0x64, 0x65,
-0x20, 0x6e, 0x65, 0x62, 0x6f, 0x20, 0x61, 0x65, 0x6e, 0x67, 0x3b, 0x4d, 0x3b, 0x4e, 0x3b, 0x4b, 0x3b, 0x49, 0x3b, 0x4e,
-0x3b, 0x57, 0x3b, 0x52, 0x3b, 0x4b, 0x3b, 0x42, 0x3b, 0x45, 0x3b, 0x4b, 0x3b, 0x4b, 0x3b, 0x1c3, 0x4b, 0x68, 0x61, 0x6e,
-0x6e, 0x69, 0x3b, 0x1c3, 0x4b, 0x68, 0x61, 0x6e, 0x1c0, 0x67, 0xf4, 0x61, 0x62, 0x3b, 0x1c0, 0x4b, 0x68, 0x75, 0x75, 0x1c1,
-0x6b, 0x68, 0xe2, 0x62, 0x3b, 0x1c3, 0x48, 0xf4, 0x61, 0x1c2, 0x6b, 0x68, 0x61, 0x69, 0x62, 0x3b, 0x1c3, 0x4b, 0x68, 0x61,
-0x69, 0x74, 0x73, 0xe2, 0x62, 0x3b, 0x47, 0x61, 0x6d, 0x61, 0x1c0, 0x61, 0x65, 0x62, 0x3b, 0x1c2, 0x4b, 0x68, 0x6f, 0x65,
-0x73, 0x61, 0x6f, 0x62, 0x3b, 0x41, 0x6f, 0x1c1, 0x6b, 0x68, 0x75, 0x75, 0x6d, 0xfb, 0x1c1, 0x6b, 0x68, 0xe2, 0x62, 0x3b,
-0x54, 0x61, 0x72, 0x61, 0x1c0, 0x6b, 0x68, 0x75, 0x75, 0x6d, 0xfb, 0x1c1, 0x6b, 0x68, 0xe2, 0x62, 0x3b, 0x1c2, 0x4e, 0xfb,
-0x1c1, 0x6e, 0xe2, 0x69, 0x73, 0x65, 0x62, 0x3b, 0x1c0, 0x48, 0x6f, 0x6f, 0x1c2, 0x67, 0x61, 0x65, 0x62, 0x3b, 0x48, 0xf4,
-0x61, 0x73, 0x6f, 0x72, 0x65, 0x1c1, 0x6b, 0x68, 0xe2, 0x62, 0x3b, 0x4a, 0x61, 0x6e, 0x2e, 0x3b, 0x46, 0xe4, 0x62, 0x2e,
-0x3b, 0x4d, 0x61, 0x72, 0x2e, 0x3b, 0x41, 0x70, 0x72, 0x2e, 0x3b, 0x4d, 0xe4, 0x69, 0x3b, 0x4a, 0x75, 0x6e, 0x2e, 0x3b,
-0x4a, 0x75, 0x6c, 0x2e, 0x3b, 0x4f, 0x75, 0x67, 0x2e, 0x3b, 0x53, 0xe4, 0x70, 0x2e, 0x3b, 0x4f, 0x6b, 0x74, 0x2e, 0x3b,
-0x4e, 0x6f, 0x76, 0x2e, 0x3b, 0x44, 0x65, 0x7a, 0x2e, 0x3b, 0x4a, 0x61, 0x6e, 0x6e, 0x65, 0x77, 0x61, 0x3b, 0x46, 0xe4,
-0x62, 0x72, 0x6f, 0x77, 0x61, 0x3b, 0x4d, 0xe4, 0xe4, 0x7a, 0x3b, 0x41, 0x70, 0x72, 0x65, 0x6c, 0x6c, 0x3b, 0x4d, 0xe4,
-0x69, 0x3b, 0x4a, 0x75, 0x75, 0x6e, 0x69, 0x3b, 0x4a, 0x75, 0x75, 0x6c, 0x69, 0x3b, 0x4f, 0x75, 0x6a, 0x6f, 0xdf, 0x3b,
-0x53, 0x65, 0x70, 0x74, 0xe4, 0x6d, 0x62, 0x65, 0x72, 0x3b, 0x4f, 0x6b, 0x74, 0x6f, 0x6f, 0x62, 0x65, 0x72, 0x3b, 0x4e,
-0x6f, 0x76, 0xe4, 0x6d, 0x62, 0x65, 0x72, 0x3b, 0x44, 0x65, 0x7a, 0xe4, 0x6d, 0x62, 0x65, 0x72, 0x3b, 0x44, 0x61, 0x6c,
-0x3b, 0x41, 0x72, 0xe1, 0x3b, 0x186, 0x25b, 0x6e, 0x3b, 0x44, 0x6f, 0x79, 0x3b, 0x4c, 0xe9, 0x70, 0x3b, 0x52, 0x6f, 0x6b,
-0x3b, 0x53, 0xe1, 0x73, 0x3b, 0x42, 0x254, 0x301, 0x72, 0x3b, 0x4b, 0xfa, 0x73, 0x3b, 0x47, 0xed, 0x73, 0x3b, 0x53, 0x68,
-0x289, 0x301, 0x3b, 0x4e, 0x74, 0x289, 0x301, 0x3b, 0x4f, 0x6c, 0x61, 0x64, 0x61, 0x6c, 0x289, 0x301, 0x3b, 0x41, 0x72, 0xe1,
-0x74, 0x3b, 0x186, 0x25b, 0x6e, 0x268, 0x301, 0x254, 0x268, 0x14b, 0x254, 0x6b, 0x3b, 0x4f, 0x6c, 0x6f, 0x64, 0x6f, 0x79, 0xed,
-0xf3, 0x72, 0xed, 0xea, 0x20, 0x69, 0x6e, 0x6b, 0xf3, 0x6b, 0xfa, 0xe2, 0x3b, 0x4f, 0x6c, 0x6f, 0x69, 0x6c, 0xe9, 0x70,
-0x16b, 0x6e, 0x79, 0x12b, 0x113, 0x20, 0x69, 0x6e, 0x6b, 0xf3, 0x6b, 0xfa, 0xe2, 0x3b, 0x4b, 0xfa, 0x6a, 0xfa, 0x254, 0x72,
-0x254, 0x6b, 0x3b, 0x4d, 0xf3, 0x72, 0x75, 0x73, 0xe1, 0x73, 0x69, 0x6e, 0x3b, 0x186, 0x6c, 0x254, 0x301, 0x268, 0x301, 0x62,
-0x254, 0x301, 0x72, 0xe1, 0x72, 0x25b, 0x3b, 0x4b, 0xfa, 0x73, 0x68, 0xee, 0x6e, 0x3b, 0x4f, 0x6c, 0x67, 0xed, 0x73, 0x61,
-0x6e, 0x3b, 0x50, 0x289, 0x73, 0x68, 0x289, 0x301, 0x6b, 0x61, 0x3b, 0x4e, 0x74, 0x289, 0x301, 0x14b, 0x289, 0x301, 0x73, 0x3b,
-0x4a, 0x61, 0x6e, 0x3b, 0x46, 0x65, 0x62, 0x3b, 0x4d, 0x61, 0x72, 0x3b, 0x41, 0x70, 0x72, 0x3b, 0x4d, 0x65, 0x69, 0x3b,
-0x4a, 0x75, 0x6e, 0x3b, 0x4a, 0x75, 0x6c, 0x3b, 0x41, 0x67, 0x6f, 0x3b, 0x53, 0x65, 0x70, 0x3b, 0x4f, 0x6b, 0x74, 0x3b,
-0x4e, 0x6f, 0x76, 0x3b, 0x44, 0x65, 0x73, 0x3b, 0x4a, 0x61, 0x6e, 0x3b, 0x46, 0x65, 0x62, 0x3b, 0x4d, 0x61, 0x63, 0x3b,
-0x41, 0x70, 0x72, 0x3b, 0x4d, 0x65, 0x69, 0x3b, 0x4a, 0x75, 0x6e, 0x3b, 0x4a, 0x75, 0x6c, 0x3b, 0x41, 0x67, 0x6f, 0x3b,
-0x53, 0x65, 0x70, 0x3b, 0x4f, 0x6b, 0x74, 0x3b, 0x4e, 0x6f, 0x76, 0x3b, 0x44, 0x65, 0x63, 0x3b, 0x52, 0x61, 0x72, 0x3b,
-0x4d, 0x75, 0x6b, 0x3b, 0x4b, 0x77, 0x61, 0x3b, 0x44, 0x75, 0x6e, 0x3b, 0x4d, 0x61, 0x72, 0x3b, 0x4d, 0x6f, 0x64, 0x3b,
-0x4a, 0x6f, 0x6c, 0x3b, 0x50, 0x65, 0x64, 0x3b, 0x53, 0x6f, 0x6b, 0x3b, 0x54, 0x69, 0x62, 0x3b, 0x4c, 0x61, 0x62, 0x3b,
-0x50, 0x6f, 0x6f, 0x3b, 0x4f, 0x72, 0x61, 0x72, 0x61, 0x3b, 0x4f, 0x6d, 0x75, 0x6b, 0x3b, 0x4f, 0x6b, 0x77, 0x61, 0x6d,
-0x67, 0x27, 0x3b, 0x4f, 0x64, 0x75, 0x6e, 0x67, 0x27, 0x65, 0x6c, 0x3b, 0x4f, 0x6d, 0x61, 0x72, 0x75, 0x6b, 0x3b, 0x4f,
-0x6d, 0x6f, 0x64, 0x6f, 0x6b, 0x27, 0x6b, 0x69, 0x6e, 0x67, 0x27, 0x6f, 0x6c, 0x3b, 0x4f, 0x6a, 0x6f, 0x6c, 0x61, 0x3b,
-0x4f, 0x70, 0x65, 0x64, 0x65, 0x6c, 0x3b, 0x4f, 0x73, 0x6f, 0x6b, 0x6f, 0x73, 0x6f, 0x6b, 0x6f, 0x6d, 0x61, 0x3b, 0x4f,
-0x74, 0x69, 0x62, 0x61, 0x72, 0x3b, 0x4f, 0x6c, 0x61, 0x62, 0x6f, 0x72, 0x3b, 0x4f, 0x70, 0x6f, 0x6f, 0x3b, 0x52, 0x3b,
-0x4d, 0x3b, 0x4b, 0x3b, 0x44, 0x3b, 0x4d, 0x3b, 0x4d, 0x3b, 0x4a, 0x3b, 0x50, 0x3b, 0x53, 0x3b, 0x54, 0x3b, 0x4c, 0x3b,
-0x50, 0x3b, 0x17d, 0x61, 0x6e, 0x3b, 0x46, 0x65, 0x65, 0x3b, 0x4d, 0x61, 0x72, 0x3b, 0x41, 0x77, 0x69, 0x3b, 0x4d, 0x65,
-0x3b, 0x17d, 0x75, 0x77, 0x3b, 0x17d, 0x75, 0x79, 0x3b, 0x55, 0x74, 0x3b, 0x53, 0x65, 0x6b, 0x3b, 0x4f, 0x6b, 0x74, 0x3b,
-0x4e, 0x6f, 0x6f, 0x3b, 0x44, 0x65, 0x65, 0x3b, 0x17d, 0x61, 0x6e, 0x77, 0x69, 0x79, 0x65, 0x3b, 0x46, 0x65, 0x65, 0x77,
-0x69, 0x72, 0x69, 0x79, 0x65, 0x3b, 0x4d, 0x61, 0x72, 0x73, 0x69, 0x3b, 0x41, 0x77, 0x69, 0x72, 0x69, 0x6c, 0x3b, 0x4d,
-0x65, 0x3b, 0x17d, 0x75, 0x77, 0x65, 0x14b, 0x3b, 0x17d, 0x75, 0x79, 0x79, 0x65, 0x3b, 0x55, 0x74, 0x3b, 0x53, 0x65, 0x6b,
-0x74, 0x61, 0x6e, 0x62, 0x75, 0x72, 0x3b, 0x4f, 0x6b, 0x74, 0x6f, 0x6f, 0x62, 0x75, 0x72, 0x3b, 0x4e, 0x6f, 0x6f, 0x77,
-0x61, 0x6e, 0x62, 0x75, 0x72, 0x3b, 0x44, 0x65, 0x65, 0x73, 0x61, 0x6e, 0x62, 0x75, 0x72, 0x3b, 0x17d, 0x3b, 0x46, 0x3b,
-0x4d, 0x3b, 0x41, 0x3b, 0x4d, 0x3b, 0x17d, 0x3b, 0x17d, 0x3b, 0x55, 0x3b, 0x53, 0x3b, 0x4f, 0x3b, 0x4e, 0x3b, 0x44, 0x3b,
-0x44, 0x41, 0x43, 0x3b, 0x44, 0x41, 0x52, 0x3b, 0x44, 0x41, 0x44, 0x3b, 0x44, 0x41, 0x4e, 0x3b, 0x44, 0x41, 0x48, 0x3b,
-0x44, 0x41, 0x55, 0x3b, 0x44, 0x41, 0x4f, 0x3b, 0x44, 0x41, 0x42, 0x3b, 0x44, 0x4f, 0x43, 0x3b, 0x44, 0x41, 0x50, 0x3b,
-0x44, 0x47, 0x49, 0x3b, 0x44, 0x41, 0x47, 0x3b, 0x44, 0x77, 0x65, 0x20, 0x6d, 0x61, 0x72, 0x20, 0x41, 0x63, 0x68, 0x69,
-0x65, 0x6c, 0x3b, 0x44, 0x77, 0x65, 0x20, 0x6d, 0x61, 0x72, 0x20, 0x41, 0x72, 0x69, 0x79, 0x6f, 0x3b, 0x44, 0x77, 0x65,
-0x20, 0x6d, 0x61, 0x72, 0x20, 0x41, 0x64, 0x65, 0x6b, 0x3b, 0x44, 0x77, 0x65, 0x20, 0x6d, 0x61, 0x72, 0x20, 0x41, 0x6e,
-0x67, 0x27, 0x77, 0x65, 0x6e, 0x3b, 0x44, 0x77, 0x65, 0x20, 0x6d, 0x61, 0x72, 0x20, 0x41, 0x62, 0x69, 0x63, 0x68, 0x3b,
-0x44, 0x77, 0x65, 0x20, 0x6d, 0x61, 0x72, 0x20, 0x41, 0x75, 0x63, 0x68, 0x69, 0x65, 0x6c, 0x3b, 0x44, 0x77, 0x65, 0x20,
-0x6d, 0x61, 0x72, 0x20, 0x41, 0x62, 0x69, 0x72, 0x69, 0x79, 0x6f, 0x3b, 0x44, 0x77, 0x65, 0x20, 0x6d, 0x61, 0x72, 0x20,
-0x41, 0x62, 0x6f, 0x72, 0x6f, 0x3b, 0x44, 0x77, 0x65, 0x20, 0x6d, 0x61, 0x72, 0x20, 0x4f, 0x63, 0x68, 0x69, 0x6b, 0x6f,
-0x3b, 0x44, 0x77, 0x65, 0x20, 0x6d, 0x61, 0x72, 0x20, 0x41, 0x70, 0x61, 0x72, 0x3b, 0x44, 0x77, 0x65, 0x20, 0x6d, 0x61,
-0x72, 0x20, 0x67, 0x69, 0x20, 0x61, 0x63, 0x68, 0x69, 0x65, 0x6c, 0x3b, 0x44, 0x77, 0x65, 0x20, 0x6d, 0x61, 0x72, 0x20,
-0x41, 0x70, 0x61, 0x72, 0x20, 0x67, 0x69, 0x20, 0x61, 0x72, 0x69, 0x79, 0x6f, 0x3b, 0x43, 0x3b, 0x52, 0x3b, 0x44, 0x3b,
-0x4e, 0x3b, 0x42, 0x3b, 0x55, 0x3b, 0x42, 0x3b, 0x42, 0x3b, 0x43, 0x3b, 0x50, 0x3b, 0x43, 0x3b, 0x50, 0x3b, 0x59, 0x65,
-0x6e, 0x3b, 0x59, 0x65, 0x62, 0x3b, 0x4d, 0x61, 0x72, 0x3b, 0x49, 0x62, 0x72, 0x3b, 0x4d, 0x61, 0x79, 0x3b, 0x59, 0x75,
-0x6e, 0x3b, 0x59, 0x75, 0x6c, 0x3b, 0x194, 0x75, 0x63, 0x3b, 0x43, 0x75, 0x74, 0x3b, 0x4b, 0x1e6d, 0x75, 0x3b, 0x4e, 0x77,
-0x61, 0x3b, 0x44, 0x75, 0x6a, 0x3b, 0x59, 0x65, 0x6e, 0x6e, 0x61, 0x79, 0x65, 0x72, 0x3b, 0x59, 0x65, 0x62, 0x72, 0x61,
-0x79, 0x65, 0x72, 0x3b, 0x4d, 0x61, 0x72, 0x73, 0x3b, 0x49, 0x62, 0x72, 0x69, 0x72, 0x3b, 0x4d, 0x61, 0x79, 0x79, 0x75,
-0x3b, 0x59, 0x75, 0x6e, 0x79, 0x75, 0x3b, 0x59, 0x75, 0x6c, 0x79, 0x75, 0x7a, 0x3b, 0x194, 0x75, 0x63, 0x74, 0x3b, 0x43,
-0x75, 0x74, 0x61, 0x6e, 0x62, 0x69, 0x72, 0x3b, 0x4b, 0x1e6d, 0x75, 0x62, 0x65, 0x72, 0x3b, 0x4e, 0x77, 0x61, 0x6e, 0x62,
-0x69, 0x72, 0x3b, 0x44, 0x75, 0x6a, 0x61, 0x6e, 0x62, 0x69, 0x72, 0x3b, 0x59, 0x3b, 0x59, 0x3b, 0x4d, 0x3b, 0x49, 0x3b,
-0x4d, 0x3b, 0x59, 0x3b, 0x59, 0x3b, 0x194, 0x3b, 0x43, 0x3b, 0x4b, 0x3b, 0x4e, 0x3b, 0x44, 0x3b, 0x4a, 0x61, 0x6e, 0x75,
-0x61, 0x6c, 0x69, 0x3b, 0x46, 0x65, 0x62, 0x6c, 0x75, 0x61, 0x6c, 0x69, 0x3b, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x3b, 0x41,
-0x70, 0x6c, 0x69, 0x6c, 0x69, 0x3b, 0x4d, 0x65, 0x69, 0x3b, 0x4a, 0x75, 0x6e, 0x69, 0x3b, 0x4a, 0x75, 0x6c, 0x61, 0x69,
-0x3b, 0x41, 0x67, 0x6f, 0x73, 0x74, 0x69, 0x3b, 0x53, 0x65, 0x70, 0x74, 0x65, 0x6d, 0x62, 0x61, 0x3b, 0x4f, 0x6b, 0x74,
-0x6f, 0x62, 0x61, 0x3b, 0x4e, 0x6f, 0x76, 0x65, 0x6d, 0x62, 0x61, 0x3b, 0x44, 0x65, 0x73, 0x65, 0x6d, 0x62, 0x61, 0x3b,
-
+0x3b, 0xb9a, 0xbc6, 0xbaa, 0xbcd, 0xb9f, 0xbc6, 0xbae, 0xbcd, 0xbaa, 0xbcd, 0xbb0, 0xbcd, 0x3b, 0xb85, 0xb95, 0xbcd, 0xb9f, 0xbcb, 0xbaa,
+0xbb0, 0xbcd, 0x3b, 0xba8, 0xbb5, 0xbae, 0xbcd, 0xbaa, 0xbb0, 0xbcd, 0x3b, 0xb9f, 0xbbf, 0xb9a, 0xbae, 0xbcd, 0xbaa, 0xbb0, 0xbcd, 0x3b,
+0xb9c, 0x3b, 0xbaa, 0xbbf, 0x3b, 0xbae, 0xbbe, 0x3b, 0xb8f, 0x3b, 0xbae, 0xbc7, 0x3b, 0xb9c, 0xbc2, 0x3b, 0xb9c, 0xbc2, 0x3b, 0xb86,
+0x3b, 0xb9a, 0xbc6, 0x3b, 0xb85, 0x3b, 0xba8, 0x3b, 0xb9f, 0xbbf, 0x3b, 0xc1c, 0xc28, 0xc35, 0xc30, 0xc3f, 0x3b, 0xc2b, 0xc3f, 0xc2c,
+0xc4d, 0xc30, 0xc35, 0xc30, 0xc3f, 0x3b, 0xc2e, 0xc3e, 0xc30, 0xc4d, 0xc1a, 0xc3f, 0x3b, 0xc0f, 0xc2a, 0xc4d, 0xc30, 0xc3f, 0xc32, 0xc4d,
+0x3b, 0xc2e, 0xc47, 0x3b, 0xc1c, 0xc42, 0xc28, 0xc4d, 0x3b, 0xc1c, 0xc42, 0xc32, 0xc48, 0x3b, 0xc06, 0xc17, 0xc38, 0xc4d, 0xc1f, 0xc41,
+0x3b, 0xc38, 0xc46, 0xc2a, 0xc4d, 0xc1f, 0xc46, 0xc02, 0xc2c, 0xc30, 0xc4d, 0x3b, 0xc05, 0xc15, 0xc4d, 0xc1f, 0xc4b, 0xc2c, 0xc30, 0xc4d,
+0x3b, 0xc28, 0xc35, 0xc02, 0xc2c, 0xc30, 0xc4d, 0x3b, 0xc21, 0xc3f, 0xc38, 0xc46, 0xc02, 0xc2c, 0xc30, 0xc4d, 0x3b, 0xc1c, 0x3b, 0xc2b,
+0xc3f, 0x3b, 0xc2e, 0x3b, 0xc0e, 0x3b, 0xc2e, 0xc46, 0x3b, 0xc1c, 0xc41, 0x3b, 0xc1c, 0xc41, 0x3b, 0xc06, 0x3b, 0xc38, 0xc46, 0x3b,
+0xc05, 0x3b, 0xc28, 0x3b, 0xc21, 0xc3f, 0x3b, 0xe21, 0x2e, 0xe04, 0x2e, 0x3b, 0xe01, 0x2e, 0xe1e, 0x2e, 0x3b, 0xe21, 0xe35, 0x2e,
+0xe04, 0x2e, 0x3b, 0xe40, 0xe21, 0x2e, 0xe22, 0x2e, 0x3b, 0xe1e, 0x2e, 0xe04, 0x2e, 0x3b, 0xe21, 0xe34, 0x2e, 0xe22, 0x2e, 0x3b,
+0xe01, 0x2e, 0xe04, 0x2e, 0x3b, 0xe2a, 0x2e, 0xe04, 0x2e, 0x3b, 0xe01, 0x2e, 0xe22, 0x2e, 0x3b, 0xe15, 0x2e, 0xe04, 0x2e, 0x3b,
+0xe1e, 0x2e, 0xe22, 0x2e, 0x3b, 0xe18, 0x2e, 0xe04, 0x2e, 0x3b, 0xe21, 0xe01, 0xe23, 0xe32, 0xe04, 0xe21, 0x3b, 0xe01, 0xe38, 0xe21,
+0xe20, 0xe32, 0xe1e, 0xe31, 0xe19, 0xe18, 0xe4c, 0x3b, 0xe21, 0xe35, 0xe19, 0xe32, 0xe04, 0xe21, 0x3b, 0xe40, 0xe21, 0xe29, 0xe32, 0xe22,
+0xe19, 0x3b, 0xe1e, 0xe24, 0xe29, 0xe20, 0xe32, 0xe04, 0xe21, 0x3b, 0xe21, 0xe34, 0xe16, 0xe38, 0xe19, 0xe32, 0xe22, 0xe19, 0x3b, 0xe01,
+0xe23, 0xe01, 0xe0e, 0xe32, 0xe04, 0xe21, 0x3b, 0xe2a, 0xe34, 0xe07, 0xe2b, 0xe32, 0xe04, 0xe21, 0x3b, 0xe01, 0xe31, 0xe19, 0xe22, 0xe32,
+0xe22, 0xe19, 0x3b, 0xe15, 0xe38, 0xe25, 0xe32, 0xe04, 0xe21, 0x3b, 0xe1e, 0xe24, 0xe28, 0xe08, 0xe34, 0xe01, 0xe32, 0xe22, 0xe19, 0x3b,
+0xe18, 0xe31, 0xe19, 0xe27, 0xe32, 0xe04, 0xe21, 0x3b, 0xe21, 0x3b, 0xe01, 0x3b, 0xe21, 0x3b, 0xe21, 0x3b, 0xe1e, 0x3b, 0xe21, 0x3b,
+0xe01, 0x3b, 0xe2a, 0x3b, 0xe01, 0x3b, 0xe15, 0x3b, 0xe1e, 0x3b, 0xe18, 0x3b, 0xf5f, 0xfb3, 0xf0b, 0xf21, 0x3b, 0xf5f, 0xfb3, 0xf0b,
+0xf22, 0x3b, 0xf5f, 0xfb3, 0xf0b, 0xf23, 0x3b, 0xf5f, 0xfb3, 0xf0b, 0xf24, 0x3b, 0xf5f, 0xfb3, 0xf0b, 0xf25, 0x3b, 0xf5f, 0xfb3, 0xf0b,
+0xf26, 0x3b, 0xf5f, 0xfb3, 0xf0b, 0xf27, 0x3b, 0xf5f, 0xfb3, 0xf0b, 0xf28, 0x3b, 0xf5f, 0xfb3, 0xf0b, 0xf29, 0x3b, 0xf5f, 0xfb3, 0xf0b,
+0xf21, 0xf20, 0x3b, 0xf5f, 0xfb3, 0xf0b, 0xf21, 0xf21, 0x3b, 0xf5f, 0xfb3, 0xf0b, 0xf21, 0xf22, 0x3b, 0xf5f, 0xfb3, 0xf0b, 0xf56, 0xf0b,
+0xf51, 0xf44, 0xf0b, 0xf54, 0xf7c, 0xf0b, 0x3b, 0xf5f, 0xfb3, 0xf0b, 0xf56, 0xf0b, 0xf42, 0xf49, 0xf72, 0xf66, 0xf0b, 0xf54, 0xf0b, 0x3b,
+0xf5f, 0xfb3, 0xf0b, 0xf56, 0xf0b, 0xf66, 0xf74, 0xf58, 0xf0b, 0xf54, 0xf0b, 0x3b, 0xf5f, 0xfb3, 0xf0b, 0xf56, 0xf0b, 0xf56, 0xf5e, 0xf72,
+0xf0b, 0xf54, 0xf0b, 0x3b, 0xf5f, 0xfb3, 0xf0b, 0xf56, 0xf0b, 0xf63, 0xf94, 0xf0b, 0xf54, 0xf0b, 0x3b, 0xf5f, 0xfb3, 0xf0b, 0xf56, 0xf0b,
+0xf51, 0xfb2, 0xf74, 0xf42, 0xf0b, 0xf54, 0xf0b, 0x3b, 0xf5f, 0xfb3, 0xf0b, 0xf56, 0xf0b, 0xf56, 0xf51, 0xf74, 0xf53, 0xf0b, 0xf54, 0xf0b,
+0x3b, 0xf5f, 0xfb3, 0xf0b, 0xf56, 0xf0b, 0xf56, 0xf62, 0xf92, 0xfb1, 0xf51, 0xf0b, 0xf54, 0xf0b, 0x3b, 0xf5f, 0xfb3, 0xf0b, 0xf56, 0xf0b,
+0xf51, 0xf42, 0xf74, 0xf0b, 0xf54, 0xf0b, 0x3b, 0xf5f, 0xfb3, 0xf0b, 0xf56, 0xf0b, 0xf56, 0xf45, 0xf74, 0xf0b, 0xf54, 0xf0b, 0x3b, 0xf5f,
+0xfb3, 0xf0b, 0xf56, 0xf0b, 0xf56, 0xf45, 0xf74, 0xf0b, 0xf42, 0xf45, 0xf72, 0xf42, 0xf0b, 0xf54, 0xf0b, 0x3b, 0xf5f, 0xfb3, 0xf0b, 0xf56,
+0xf0b, 0xf56, 0xf45, 0xf74, 0xf0b, 0xf42, 0xf49, 0xf72, 0xf66, 0xf0b, 0xf54, 0xf0b, 0x3b, 0x1325, 0x122a, 0x3b, 0x1208, 0x12ab, 0x1272, 0x3b,
+0x1218, 0x130b, 0x1262, 0x3b, 0x121a, 0x12eb, 0x12dd, 0x3b, 0x130d, 0x1295, 0x1266, 0x3b, 0x1230, 0x1290, 0x3b, 0x1213, 0x121d, 0x1208, 0x3b, 0x1290,
+0x1213, 0x1230, 0x3b, 0x1218, 0x1235, 0x12a8, 0x3b, 0x1325, 0x1245, 0x121d, 0x3b, 0x1215, 0x12f3, 0x122d, 0x3b, 0x1273, 0x1215, 0x1233, 0x3b, 0x1325,
+0x122a, 0x3b, 0x1208, 0x12ab, 0x1272, 0x1275, 0x3b, 0x1218, 0x130b, 0x1262, 0x1275, 0x3b, 0x121a, 0x12eb, 0x12dd, 0x12eb, 0x3b, 0x130d, 0x1295, 0x1266,
+0x1275, 0x3b, 0x1230, 0x1290, 0x3b, 0x1213, 0x121d, 0x1208, 0x3b, 0x1290, 0x1213, 0x1230, 0x3b, 0x1218, 0x1235, 0x12a8, 0x1228, 0x121d, 0x3b, 0x1325,
+0x1245, 0x121d, 0x1272, 0x3b, 0x1215, 0x12f3, 0x122d, 0x3b, 0x1273, 0x1215, 0x1233, 0x1235, 0x3b, 0x53, 0x101, 0x6e, 0x3b, 0x46, 0x113, 0x70,
+0x3b, 0x4d, 0x61, 0x2bb, 0x61, 0x3b, 0x2bb, 0x45, 0x70, 0x65, 0x3b, 0x4d, 0x113, 0x3b, 0x53, 0x75, 0x6e, 0x3b, 0x53, 0x69,
+0x75, 0x3b, 0x2bb, 0x41, 0x6f, 0x6b, 0x3b, 0x53, 0x65, 0x70, 0x3b, 0x2bb, 0x4f, 0x6b, 0x61, 0x3b, 0x4e, 0x14d, 0x76, 0x3b,
+0x54, 0x12b, 0x73, 0x3b, 0x53, 0x101, 0x6e, 0x75, 0x61, 0x6c, 0x69, 0x3b, 0x46, 0x113, 0x70, 0x75, 0x65, 0x6c, 0x69, 0x3b,
+0x4d, 0x61, 0x2bb, 0x61, 0x73, 0x69, 0x3b, 0x2bb, 0x45, 0x70, 0x65, 0x6c, 0x65, 0x6c, 0x69, 0x3b, 0x4d, 0x113, 0x3b, 0x53,
+0x75, 0x6e, 0x65, 0x3b, 0x53, 0x69, 0x75, 0x6c, 0x61, 0x69, 0x3b, 0x2bb, 0x41, 0x6f, 0x6b, 0x6f, 0x73, 0x69, 0x3b, 0x53,
+0x65, 0x70, 0x69, 0x74, 0x65, 0x6d, 0x61, 0x3b, 0x2bb, 0x4f, 0x6b, 0x61, 0x74, 0x6f, 0x70, 0x61, 0x3b, 0x4e, 0x14d, 0x76,
+0x65, 0x6d, 0x61, 0x3b, 0x54, 0x12b, 0x73, 0x65, 0x6d, 0x61, 0x3b, 0x53, 0x3b, 0x46, 0x3b, 0x4d, 0x3b, 0x45, 0x3b, 0x4d,
+0x3b, 0x53, 0x3b, 0x53, 0x3b, 0x41, 0x3b, 0x53, 0x3b, 0x4f, 0x3b, 0x4e, 0x3b, 0x54, 0x3b, 0x53, 0x75, 0x6e, 0x3b, 0x59,
+0x61, 0x6e, 0x3b, 0x4b, 0x75, 0x6c, 0x3b, 0x44, 0x7a, 0x69, 0x3b, 0x4d, 0x75, 0x64, 0x3b, 0x4b, 0x68, 0x6f, 0x3b, 0x4d,
+0x61, 0x77, 0x3b, 0x4d, 0x68, 0x61, 0x3b, 0x4e, 0x64, 0x7a, 0x3b, 0x4e, 0x68, 0x6c, 0x3b, 0x48, 0x75, 0x6b, 0x3b, 0x4e,
+0x27, 0x77, 0x3b, 0x53, 0x75, 0x6e, 0x67, 0x75, 0x74, 0x69, 0x3b, 0x4e, 0x79, 0x65, 0x6e, 0x79, 0x65, 0x6e, 0x79, 0x61,
+0x6e, 0x69, 0x3b, 0x4e, 0x79, 0x65, 0x6e, 0x79, 0x61, 0x6e, 0x6b, 0x75, 0x6c, 0x75, 0x3b, 0x44, 0x7a, 0x69, 0x76, 0x61,
+0x6d, 0x69, 0x73, 0x6f, 0x6b, 0x6f, 0x3b, 0x4d, 0x75, 0x64, 0x79, 0x61, 0x78, 0x69, 0x68, 0x69, 0x3b, 0x4b, 0x68, 0x6f,
+0x74, 0x61, 0x76, 0x75, 0x78, 0x69, 0x6b, 0x61, 0x3b, 0x4d, 0x61, 0x77, 0x75, 0x77, 0x61, 0x6e, 0x69, 0x3b, 0x4d, 0x68,
+0x61, 0x77, 0x75, 0x72, 0x69, 0x3b, 0x4e, 0x64, 0x7a, 0x68, 0x61, 0x74, 0x69, 0x3b, 0x4e, 0x68, 0x6c, 0x61, 0x6e, 0x67,
+0x75, 0x6c, 0x61, 0x3b, 0x48, 0x75, 0x6b, 0x75, 0x72, 0x69, 0x3b, 0x4e, 0x27, 0x77, 0x65, 0x6e, 0x64, 0x7a, 0x61, 0x6d,
+0x68, 0x61, 0x6c, 0x61, 0x3b, 0x4f, 0x63, 0x61, 0x3b, 0x15e, 0x75, 0x62, 0x3b, 0x4d, 0x61, 0x72, 0x3b, 0x4e, 0x69, 0x73,
+0x3b, 0x4d, 0x61, 0x79, 0x3b, 0x48, 0x61, 0x7a, 0x3b, 0x54, 0x65, 0x6d, 0x3b, 0x41, 0x11f, 0x75, 0x3b, 0x45, 0x79, 0x6c,
+0x3b, 0x45, 0x6b, 0x69, 0x3b, 0x4b, 0x61, 0x73, 0x3b, 0x41, 0x72, 0x61, 0x3b, 0x4f, 0x63, 0x61, 0x6b, 0x3b, 0x15e, 0x75,
+0x62, 0x61, 0x74, 0x3b, 0x4d, 0x61, 0x72, 0x74, 0x3b, 0x4e, 0x69, 0x73, 0x61, 0x6e, 0x3b, 0x4d, 0x61, 0x79, 0x131, 0x73,
+0x3b, 0x48, 0x61, 0x7a, 0x69, 0x72, 0x61, 0x6e, 0x3b, 0x54, 0x65, 0x6d, 0x6d, 0x75, 0x7a, 0x3b, 0x41, 0x11f, 0x75, 0x73,
+0x74, 0x6f, 0x73, 0x3b, 0x45, 0x79, 0x6c, 0xfc, 0x6c, 0x3b, 0x45, 0x6b, 0x69, 0x6d, 0x3b, 0x4b, 0x61, 0x73, 0x131, 0x6d,
+0x3b, 0x41, 0x72, 0x61, 0x6c, 0x131, 0x6b, 0x3b, 0x4f, 0x3b, 0x15e, 0x3b, 0x4d, 0x3b, 0x4e, 0x3b, 0x4d, 0x3b, 0x48, 0x3b,
+0x54, 0x3b, 0x41, 0x3b, 0x45, 0x3b, 0x45, 0x3b, 0x4b, 0x3b, 0x41, 0x3b, 0x441, 0x456, 0x447, 0x2e, 0x3b, 0x43b, 0x44e, 0x442,
+0x2e, 0x3b, 0x431, 0x435, 0x440, 0x2e, 0x3b, 0x43a, 0x432, 0x456, 0x442, 0x2e, 0x3b, 0x442, 0x440, 0x430, 0x432, 0x2e, 0x3b, 0x447,
+0x435, 0x440, 0x432, 0x2e, 0x3b, 0x43b, 0x438, 0x43f, 0x2e, 0x3b, 0x441, 0x435, 0x440, 0x43f, 0x2e, 0x3b, 0x432, 0x435, 0x440, 0x2e,
+0x3b, 0x436, 0x43e, 0x432, 0x442, 0x2e, 0x3b, 0x43b, 0x438, 0x441, 0x442, 0x2e, 0x3b, 0x433, 0x440, 0x443, 0x434, 0x2e, 0x3b, 0x441,
+0x456, 0x447, 0x43d, 0x44f, 0x3b, 0x43b, 0x44e, 0x442, 0x43e, 0x433, 0x43e, 0x3b, 0x431, 0x435, 0x440, 0x435, 0x437, 0x43d, 0x44f, 0x3b,
+0x43a, 0x432, 0x456, 0x442, 0x43d, 0x44f, 0x3b, 0x442, 0x440, 0x430, 0x432, 0x43d, 0x44f, 0x3b, 0x447, 0x435, 0x440, 0x432, 0x43d, 0x44f,
+0x3b, 0x43b, 0x438, 0x43f, 0x43d, 0x44f, 0x3b, 0x441, 0x435, 0x440, 0x43f, 0x43d, 0x44f, 0x3b, 0x432, 0x435, 0x440, 0x435, 0x441, 0x43d,
+0x44f, 0x3b, 0x436, 0x43e, 0x432, 0x442, 0x43d, 0x44f, 0x3b, 0x43b, 0x438, 0x441, 0x442, 0x43e, 0x43f, 0x430, 0x434, 0x430, 0x3b, 0x433,
+0x440, 0x443, 0x434, 0x43d, 0x44f, 0x3b, 0x421, 0x3b, 0x41b, 0x3b, 0x411, 0x3b, 0x41a, 0x3b, 0x422, 0x3b, 0x427, 0x3b, 0x41b, 0x3b,
+0x421, 0x3b, 0x412, 0x3b, 0x416, 0x3b, 0x41b, 0x3b, 0x413, 0x3b, 0x62c, 0x646, 0x648, 0x631, 0x6cc, 0x3b, 0x641, 0x631, 0x648, 0x631,
+0x6cc, 0x3b, 0x645, 0x627, 0x631, 0x20, 0x686, 0x3b, 0x627, 0x67e, 0x631, 0x64a, 0x644, 0x3b, 0x645, 0x626, 0x3b, 0x62c, 0x648, 0x646,
+0x3b, 0x62c, 0x648, 0x644, 0x627, 0x626, 0x3b, 0x627, 0x6af, 0x633, 0x62a, 0x3b, 0x633, 0x62a, 0x645, 0x628, 0x631, 0x3b, 0x627, 0x6a9,
+0x62a, 0x648, 0x628, 0x631, 0x3b, 0x646, 0x648, 0x645, 0x628, 0x631, 0x3b, 0x62f, 0x633, 0x645, 0x628, 0x631, 0x3b, 0x41c, 0x443, 0x4b3,
+0x430, 0x440, 0x440, 0x430, 0x43c, 0x3b, 0x421, 0x430, 0x444, 0x430, 0x440, 0x3b, 0x420, 0x430, 0x431, 0x438, 0x443, 0x43b, 0x2d, 0x430,
+0x432, 0x432, 0x430, 0x43b, 0x3b, 0x420, 0x430, 0x431, 0x438, 0x443, 0x43b, 0x2d, 0x43e, 0x445, 0x438, 0x440, 0x3b, 0x416, 0x443, 0x43c,
+0x43e, 0x434, 0x438, 0x443, 0x43b, 0x2d, 0x443, 0x43b, 0x43e, 0x3b, 0x416, 0x443, 0x43c, 0x43e, 0x434, 0x438, 0x443, 0x43b, 0x2d, 0x443,
+0x445, 0x440, 0x43e, 0x3b, 0x420, 0x430, 0x436, 0x430, 0x431, 0x3b, 0x428, 0x430, 0x44a, 0x431, 0x43e, 0x43d, 0x3b, 0x420, 0x430, 0x43c,
+0x430, 0x437, 0x43e, 0x43d, 0x3b, 0x428, 0x430, 0x432, 0x432, 0x43e, 0x43b, 0x3b, 0x417, 0x438, 0x43b, 0x2d, 0x49b, 0x430, 0x44a, 0x434,
+0x430, 0x3b, 0x417, 0x438, 0x43b, 0x2d, 0x4b3, 0x438, 0x436, 0x436, 0x430, 0x3b, 0x62c, 0x646, 0x648, 0x3b, 0x641, 0x628, 0x631, 0x3b,
+0x645, 0x627, 0x631, 0x3b, 0x627, 0x67e, 0x631, 0x3b, 0x645, 0x640, 0x6cc, 0x3b, 0x62c, 0x648, 0x646, 0x3b, 0x62c, 0x648, 0x644, 0x3b,
+0x627, 0x6af, 0x633, 0x3b, 0x633, 0x67e, 0x62a, 0x3b, 0x627, 0x6a9, 0x62a, 0x3b, 0x646, 0x648, 0x645, 0x3b, 0x62f, 0x633, 0x645, 0x3b,
+0x74, 0x68, 0x67, 0x20, 0x31, 0x3b, 0x74, 0x68, 0x67, 0x20, 0x32, 0x3b, 0x74, 0x68, 0x67, 0x20, 0x33, 0x3b, 0x74, 0x68,
+0x67, 0x20, 0x34, 0x3b, 0x74, 0x68, 0x67, 0x20, 0x35, 0x3b, 0x74, 0x68, 0x67, 0x20, 0x36, 0x3b, 0x74, 0x68, 0x67, 0x20,
+0x37, 0x3b, 0x74, 0x68, 0x67, 0x20, 0x38, 0x3b, 0x74, 0x68, 0x67, 0x20, 0x39, 0x3b, 0x74, 0x68, 0x67, 0x20, 0x31, 0x30,
+0x3b, 0x74, 0x68, 0x67, 0x20, 0x31, 0x31, 0x3b, 0x74, 0x68, 0x67, 0x20, 0x31, 0x32, 0x3b, 0x74, 0x68, 0xe1, 0x6e, 0x67,
+0x20, 0x6d, 0x1ed9, 0x74, 0x3b, 0x74, 0x68, 0xe1, 0x6e, 0x67, 0x20, 0x68, 0x61, 0x69, 0x3b, 0x74, 0x68, 0xe1, 0x6e, 0x67,
+0x20, 0x62, 0x61, 0x3b, 0x74, 0x68, 0xe1, 0x6e, 0x67, 0x20, 0x74, 0x1b0, 0x3b, 0x74, 0x68, 0xe1, 0x6e, 0x67, 0x20, 0x6e,
+0x103, 0x6d, 0x3b, 0x74, 0x68, 0xe1, 0x6e, 0x67, 0x20, 0x73, 0xe1, 0x75, 0x3b, 0x74, 0x68, 0xe1, 0x6e, 0x67, 0x20, 0x62,
+0x1ea3, 0x79, 0x3b, 0x74, 0x68, 0xe1, 0x6e, 0x67, 0x20, 0x74, 0xe1, 0x6d, 0x3b, 0x74, 0x68, 0xe1, 0x6e, 0x67, 0x20, 0x63,
+0x68, 0xed, 0x6e, 0x3b, 0x74, 0x68, 0xe1, 0x6e, 0x67, 0x20, 0x6d, 0x1b0, 0x1edd, 0x69, 0x3b, 0x74, 0x68, 0xe1, 0x6e, 0x67,
+0x20, 0x6d, 0x1b0, 0x1edd, 0x69, 0x20, 0x6d, 0x1ed9, 0x74, 0x3b, 0x74, 0x68, 0xe1, 0x6e, 0x67, 0x20, 0x6d, 0x1b0, 0x1edd, 0x69,
+0x20, 0x68, 0x61, 0x69, 0x3b, 0x49, 0x6f, 0x6e, 0x3b, 0x43, 0x68, 0x77, 0x65, 0x66, 0x3b, 0x4d, 0x61, 0x77, 0x72, 0x74,
+0x68, 0x3b, 0x45, 0x62, 0x72, 0x69, 0x6c, 0x6c, 0x3b, 0x4d, 0x61, 0x69, 0x3b, 0x4d, 0x65, 0x68, 0x3b, 0x47, 0x6f, 0x72,
+0x66, 0x66, 0x3b, 0x41, 0x77, 0x73, 0x74, 0x3b, 0x4d, 0x65, 0x64, 0x69, 0x3b, 0x48, 0x79, 0x64, 0x3b, 0x54, 0x61, 0x63,
+0x68, 0x3b, 0x52, 0x68, 0x61, 0x67, 0x3b, 0x49, 0x6f, 0x6e, 0x61, 0x77, 0x72, 0x3b, 0x43, 0x68, 0x77, 0x65, 0x66, 0x72,
+0x6f, 0x72, 0x3b, 0x4d, 0x61, 0x77, 0x72, 0x74, 0x68, 0x3b, 0x45, 0x62, 0x72, 0x69, 0x6c, 0x6c, 0x3b, 0x4d, 0x61, 0x69,
+0x3b, 0x4d, 0x65, 0x68, 0x65, 0x66, 0x69, 0x6e, 0x3b, 0x47, 0x6f, 0x72, 0x66, 0x66, 0x65, 0x6e, 0x61, 0x66, 0x3b, 0x41,
+0x77, 0x73, 0x74, 0x3b, 0x4d, 0x65, 0x64, 0x69, 0x3b, 0x48, 0x79, 0x64, 0x72, 0x65, 0x66, 0x3b, 0x54, 0x61, 0x63, 0x68,
+0x77, 0x65, 0x64, 0x64, 0x3b, 0x52, 0x68, 0x61, 0x67, 0x66, 0x79, 0x72, 0x3b, 0x49, 0x3b, 0x43, 0x3b, 0x4d, 0x3b, 0x45,
+0x3b, 0x4d, 0x3b, 0x4d, 0x3b, 0x47, 0x3b, 0x41, 0x3b, 0x4d, 0x3b, 0x48, 0x3b, 0x54, 0x3b, 0x52, 0x3b, 0x4a, 0x61, 0x6e,
+0x3b, 0x46, 0x65, 0x62, 0x3b, 0x4d, 0x61, 0x74, 0x3b, 0x45, 0x70, 0x72, 0x3b, 0x4d, 0x65, 0x79, 0x3b, 0x4a, 0x75, 0x6e,
+0x3b, 0x4a, 0x75, 0x6c, 0x3b, 0x41, 0x67, 0x61, 0x3b, 0x53, 0x65, 0x70, 0x3b, 0x4f, 0x6b, 0x74, 0x3b, 0x4e, 0x6f, 0x76,
+0x3b, 0x44, 0x69, 0x73, 0x3b, 0x4a, 0x61, 0x6e, 0x79, 0x75, 0x77, 0x61, 0x72, 0x69, 0x3b, 0x46, 0x65, 0x62, 0x72, 0x75,
+0x77, 0x61, 0x72, 0x69, 0x3b, 0x4d, 0x61, 0x74, 0x73, 0x68, 0x69, 0x3b, 0x45, 0x70, 0x72, 0x65, 0x6c, 0x69, 0x3b, 0x4d,
+0x65, 0x79, 0x69, 0x3b, 0x4a, 0x75, 0x6e, 0x69, 0x3b, 0x4a, 0x75, 0x6c, 0x61, 0x79, 0x69, 0x3b, 0x41, 0x67, 0x61, 0x73,
+0x74, 0x69, 0x3b, 0x53, 0x65, 0x70, 0x74, 0x65, 0x6d, 0x62, 0x61, 0x3b, 0x4f, 0x6b, 0x74, 0x68, 0x6f, 0x62, 0x61, 0x3b,
+0x4e, 0x6f, 0x76, 0x65, 0x6d, 0x62, 0x61, 0x3b, 0x44, 0x69, 0x73, 0x65, 0x6d, 0x62, 0x61, 0x3b, 0x1e62, 0x1eb9, 0x301, 0x72,
+0x1eb9, 0x323, 0x3b, 0xc8, 0x72, 0xe8, 0x6c, 0xe8, 0x3b, 0x1eb8, 0x72, 0x1eb9, 0x300, 0x6e, 0xe0, 0x3b, 0xcc, 0x67, 0x62, 0xe9,
+0x3b, 0x1eb8, 0x300, 0x62, 0x69, 0x62, 0x69, 0x3b, 0xd2, 0x6b, 0xfa, 0x64, 0x75, 0x3b, 0x41, 0x67, 0x1eb9, 0x6d, 0x1ecd, 0x3b,
+0xd2, 0x67, 0xfa, 0x6e, 0x3b, 0x4f, 0x77, 0x65, 0x77, 0x65, 0x3b, 0x1ecc, 0x300, 0x77, 0xe0, 0x72, 0xe0, 0x3b, 0x42, 0xe9,
+0x6c, 0xfa, 0x3b, 0x1ecc, 0x300, 0x70, 0x1eb9, 0x300, 0x3b, 0x4f, 0x1e62, 0xf9, 0x20, 0x1e62, 0x1eb8, 0x301, 0x72, 0x1eb9, 0x301, 0x3b,
+0x4f, 0x1e62, 0xf9, 0x20, 0xc8, 0x72, 0xe8, 0x6c, 0xe8, 0x3b, 0x4f, 0x1e62, 0xf9, 0x20, 0x1eb8, 0x72, 0x1eb9, 0x300, 0x6e, 0xe0,
+0x3b, 0x4f, 0x1e62, 0xf9, 0x20, 0xcc, 0x67, 0x62, 0xe9, 0x3b, 0x4f, 0x1e62, 0xf9, 0x20, 0x1eb8, 0x300, 0x62, 0x69, 0x62, 0x69,
+0x3b, 0x4f, 0x1e62, 0xf9, 0x20, 0xd2, 0x6b, 0xfa, 0x64, 0x75, 0x3b, 0x4f, 0x1e62, 0xf9, 0x20, 0x41, 0x67, 0x1eb9, 0x6d, 0x1ecd,
+0x3b, 0x4f, 0x1e62, 0xf9, 0x20, 0xd2, 0x67, 0xfa, 0x6e, 0x3b, 0x4f, 0x1e62, 0xf9, 0x20, 0x4f, 0x77, 0x65, 0x77, 0x65, 0x3b,
+0x4f, 0x1e62, 0xf9, 0x20, 0x1ecc, 0x300, 0x77, 0xe0, 0x72, 0xe0, 0x3b, 0x4f, 0x1e62, 0xf9, 0x20, 0x42, 0xe9, 0x6c, 0xfa, 0x3b,
+0x4f, 0x1e62, 0xf9, 0x20, 0x1ecc, 0x300, 0x70, 0x1eb9, 0x300, 0x3b, 0x4a, 0x61, 0x6e, 0x3b, 0x46, 0x65, 0x62, 0x3b, 0x4d, 0x61,
+0x73, 0x3b, 0x41, 0x70, 0x72, 0x3b, 0x4d, 0x65, 0x79, 0x3b, 0x4a, 0x75, 0x6e, 0x3b, 0x4a, 0x75, 0x6c, 0x3b, 0x41, 0x67,
+0x61, 0x3b, 0x53, 0x65, 0x70, 0x3b, 0x4f, 0x6b, 0x74, 0x3b, 0x4e, 0x6f, 0x76, 0x3b, 0x44, 0x69, 0x73, 0x3b, 0x4a, 0x61,
+0x6e, 0x75, 0x77, 0x61, 0x72, 0x69, 0x3b, 0x46, 0x65, 0x62, 0x72, 0x75, 0x77, 0x61, 0x72, 0x69, 0x3b, 0x4d, 0x61, 0x73,
+0x68, 0x69, 0x3b, 0x41, 0x70, 0x72, 0x65, 0x6c, 0x69, 0x3b, 0x4d, 0x65, 0x79, 0x69, 0x3b, 0x4a, 0x75, 0x6e, 0x69, 0x3b,
+0x4a, 0x75, 0x6c, 0x61, 0x79, 0x69, 0x3b, 0x41, 0x67, 0x61, 0x73, 0x74, 0x69, 0x3b, 0x53, 0x65, 0x70, 0x74, 0x68, 0x65,
+0x6d, 0x62, 0x61, 0x3b, 0x4f, 0x6b, 0x74, 0x68, 0x6f, 0x62, 0x61, 0x3b, 0x4e, 0x6f, 0x76, 0x65, 0x6d, 0x62, 0x61, 0x3b,
+0x44, 0x69, 0x73, 0x65, 0x6d, 0x62, 0x61, 0x3b, 0x4a, 0x61, 0x6e, 0x3b, 0x46, 0x65, 0x62, 0x3b, 0x4d, 0x61, 0x72, 0x3b,
+0x41, 0x70, 0x72, 0x3b, 0x4d, 0x61, 0x6a, 0x3b, 0x4a, 0x75, 0x6e, 0x3b, 0x4a, 0x75, 0x6c, 0x3b, 0x41, 0x76, 0x67, 0x3b,
+0x53, 0x65, 0x70, 0x3b, 0x4f, 0x6b, 0x74, 0x3b, 0x4e, 0x6f, 0x76, 0x3b, 0x44, 0x65, 0x63, 0x3b, 0x4a, 0x61, 0x6e, 0x75,
+0x61, 0x72, 0x3b, 0x46, 0x65, 0x62, 0x72, 0x75, 0x61, 0x72, 0x3b, 0x4d, 0x61, 0x72, 0x74, 0x3b, 0x41, 0x70, 0x72, 0x69,
+0x6c, 0x3b, 0x4d, 0x61, 0x6a, 0x3b, 0x4a, 0x75, 0x6e, 0x69, 0x3b, 0x4a, 0x75, 0x6c, 0x69, 0x3b, 0x41, 0x76, 0x67, 0x75,
+0x73, 0x74, 0x3b, 0x53, 0x65, 0x70, 0x74, 0x65, 0x6d, 0x62, 0x61, 0x72, 0x3b, 0x4f, 0x6b, 0x74, 0x6f, 0x62, 0x61, 0x72,
+0x3b, 0x4e, 0x6f, 0x76, 0x65, 0x6d, 0x62, 0x61, 0x72, 0x3b, 0x44, 0x65, 0x63, 0x65, 0x6d, 0x62, 0x61, 0x72, 0x3b, 0x4a,
+0x2d, 0x67, 0x75, 0x65, 0x72, 0x3b, 0x54, 0x2d, 0x61, 0x72, 0x72, 0x65, 0x65, 0x3b, 0x4d, 0x61, 0x79, 0x72, 0x6e, 0x74,
+0x3b, 0x41, 0x76, 0x72, 0x72, 0x69, 0x6c, 0x3b, 0x42, 0x6f, 0x61, 0x6c, 0x64, 0x79, 0x6e, 0x3b, 0x4d, 0x2d, 0x73, 0x6f,
+0x75, 0x72, 0x65, 0x65, 0x3b, 0x4a, 0x2d, 0x73, 0x6f, 0x75, 0x72, 0x65, 0x65, 0x3b, 0x4c, 0x75, 0x61, 0x6e, 0x69, 0x73,
+0x74, 0x79, 0x6e, 0x3b, 0x4d, 0x2d, 0x66, 0x6f, 0x75, 0x79, 0x69, 0x72, 0x3b, 0x4a, 0x2d, 0x66, 0x6f, 0x75, 0x79, 0x69,
+0x72, 0x3b, 0x4d, 0x2e, 0x48, 0x6f, 0x75, 0x6e, 0x65, 0x79, 0x3b, 0x4d, 0x2e, 0x4e, 0x6f, 0x6c, 0x6c, 0x69, 0x63, 0x6b,
+0x3b, 0x4a, 0x65, 0x72, 0x72, 0x65, 0x79, 0x2d, 0x67, 0x65, 0x75, 0x72, 0x65, 0x65, 0x3b, 0x54, 0x6f, 0x73, 0x68, 0x69,
+0x61, 0x67, 0x68, 0x74, 0x2d, 0x61, 0x72, 0x72, 0x65, 0x65, 0x3b, 0x4d, 0x61, 0x79, 0x72, 0x6e, 0x74, 0x3b, 0x41, 0x76,
+0x65, 0x72, 0x69, 0x6c, 0x3b, 0x42, 0x6f, 0x61, 0x6c, 0x64, 0x79, 0x6e, 0x3b, 0x4d, 0x65, 0x61, 0x6e, 0x2d, 0x73, 0x6f,
+0x75, 0x72, 0x65, 0x65, 0x3b, 0x4a, 0x65, 0x72, 0x72, 0x65, 0x79, 0x2d, 0x73, 0x6f, 0x75, 0x72, 0x65, 0x65, 0x3b, 0x4c,
+0x75, 0x61, 0x6e, 0x69, 0x73, 0x74, 0x79, 0x6e, 0x3b, 0x4d, 0x65, 0x61, 0x6e, 0x2d, 0x66, 0x6f, 0x75, 0x79, 0x69, 0x72,
+0x3b, 0x4a, 0x65, 0x72, 0x72, 0x65, 0x79, 0x2d, 0x66, 0x6f, 0x75, 0x79, 0x69, 0x72, 0x3b, 0x4d, 0x65, 0x65, 0x20, 0x48,
+0x6f, 0x75, 0x6e, 0x65, 0x79, 0x3b, 0x4d, 0x65, 0x65, 0x20, 0x6e, 0x79, 0x20, 0x4e, 0x6f, 0x6c, 0x6c, 0x69, 0x63, 0x6b,
+0x3b, 0x47, 0x65, 0x6e, 0x3b, 0x57, 0x68, 0x65, 0x3b, 0x4d, 0x65, 0x72, 0x3b, 0x45, 0x62, 0x72, 0x3b, 0x4d, 0x65, 0x3b,
+0x45, 0x66, 0x6e, 0x3b, 0x47, 0x6f, 0x72, 0x3b, 0x45, 0x73, 0x74, 0x3b, 0x47, 0x77, 0x6e, 0x3b, 0x48, 0x65, 0x64, 0x3b,
+0x44, 0x75, 0x3b, 0x4b, 0x65, 0x76, 0x3b, 0x4d, 0x79, 0x73, 0x20, 0x47, 0x65, 0x6e, 0x76, 0x65, 0x72, 0x3b, 0x4d, 0x79,
+0x73, 0x20, 0x57, 0x68, 0x65, 0x76, 0x72, 0x65, 0x6c, 0x3b, 0x4d, 0x79, 0x73, 0x20, 0x4d, 0x65, 0x72, 0x74, 0x68, 0x3b,
+0x4d, 0x79, 0x73, 0x20, 0x45, 0x62, 0x72, 0x65, 0x6c, 0x3b, 0x4d, 0x79, 0x73, 0x20, 0x4d, 0x65, 0x3b, 0x4d, 0x79, 0x73,
+0x20, 0x45, 0x66, 0x61, 0x6e, 0x3b, 0x4d, 0x79, 0x73, 0x20, 0x47, 0x6f, 0x72, 0x74, 0x68, 0x65, 0x72, 0x65, 0x6e, 0x3b,
+0x4d, 0x79, 0x65, 0x20, 0x45, 0x73, 0x74, 0x3b, 0x4d, 0x79, 0x73, 0x20, 0x47, 0x77, 0x79, 0x6e, 0x67, 0x61, 0x6c, 0x61,
+0x3b, 0x4d, 0x79, 0x73, 0x20, 0x48, 0x65, 0x64, 0x72, 0x61, 0x3b, 0x4d, 0x79, 0x73, 0x20, 0x44, 0x75, 0x3b, 0x4d, 0x79,
+0x73, 0x20, 0x4b, 0x65, 0x76, 0x61, 0x72, 0x64, 0x68, 0x75, 0x3b, 0x53, 0x2d, 0x186, 0x3b, 0x4b, 0x2d, 0x186, 0x3b, 0x45,
+0x2d, 0x186, 0x3b, 0x45, 0x2d, 0x4f, 0x3b, 0x45, 0x2d, 0x4b, 0x3b, 0x4f, 0x2d, 0x41, 0x3b, 0x41, 0x2d, 0x4b, 0x3b, 0x44,
+0x2d, 0x186, 0x3b, 0x46, 0x2d, 0x190, 0x3b, 0x186, 0x2d, 0x41, 0x3b, 0x186, 0x2d, 0x4f, 0x3b, 0x4d, 0x2d, 0x186, 0x3b, 0x53,
+0x61, 0x6e, 0x64, 0x61, 0x2d, 0x186, 0x70, 0x25b, 0x70, 0x254, 0x6e, 0x3b, 0x4b, 0x77, 0x61, 0x6b, 0x77, 0x61, 0x72, 0x2d,
+0x186, 0x67, 0x79, 0x65, 0x66, 0x75, 0x6f, 0x3b, 0x45, 0x62, 0x254, 0x77, 0x2d, 0x186, 0x62, 0x65, 0x6e, 0x65, 0x6d, 0x3b,
+0x45, 0x62, 0x254, 0x62, 0x69, 0x72, 0x61, 0x2d, 0x4f, 0x66, 0x6f, 0x72, 0x69, 0x73, 0x75, 0x6f, 0x3b, 0x45, 0x73, 0x75,
+0x73, 0x6f, 0x77, 0x20, 0x41, 0x6b, 0x65, 0x74, 0x73, 0x65, 0x61, 0x62, 0x61, 0x2d, 0x4b, 0x254, 0x74, 0x254, 0x6e, 0x69,
+0x6d, 0x62, 0x61, 0x3b, 0x4f, 0x62, 0x69, 0x72, 0x61, 0x64, 0x65, 0x2d, 0x41, 0x79, 0x25b, 0x77, 0x6f, 0x68, 0x6f, 0x6d,
+0x75, 0x6d, 0x75, 0x3b, 0x41, 0x79, 0x25b, 0x77, 0x6f, 0x68, 0x6f, 0x2d, 0x4b, 0x69, 0x74, 0x61, 0x77, 0x6f, 0x6e, 0x73,
+0x61, 0x3b, 0x44, 0x69, 0x66, 0x75, 0x75, 0x2d, 0x186, 0x73, 0x61, 0x6e, 0x64, 0x61, 0x61, 0x3b, 0x46, 0x61, 0x6e, 0x6b,
+0x77, 0x61, 0x2d, 0x190, 0x62, 0x254, 0x3b, 0x186, 0x62, 0x25b, 0x73, 0x25b, 0x2d, 0x41, 0x68, 0x69, 0x6e, 0x69, 0x6d, 0x65,
+0x3b, 0x186, 0x62, 0x65, 0x72, 0x25b, 0x66, 0x25b, 0x77, 0x2d, 0x4f, 0x62, 0x75, 0x62, 0x75, 0x6f, 0x3b, 0x4d, 0x75, 0x6d,
+0x75, 0x2d, 0x186, 0x70, 0x25b, 0x6e, 0x69, 0x6d, 0x62, 0x61, 0x3b, 0x91c, 0x93e, 0x928, 0x947, 0x935, 0x93e, 0x930, 0x940, 0x3b,
+0x92b, 0x947, 0x92c, 0x94d, 0x930, 0x941, 0x935, 0x93e, 0x930, 0x940, 0x3b, 0x92e, 0x93e, 0x930, 0x94d, 0x91a, 0x3b, 0x90f, 0x92a, 0x94d,
+0x930, 0x93f, 0x932, 0x3b, 0x92e, 0x947, 0x3b, 0x91c, 0x942, 0x928, 0x3b, 0x91c, 0x941, 0x932, 0x948, 0x3b, 0x913, 0x917, 0x938, 0x94d,
+0x91f, 0x3b, 0x938, 0x947, 0x92a, 0x94d, 0x91f, 0x947, 0x902, 0x92c, 0x930, 0x3b, 0x913, 0x915, 0x94d, 0x91f, 0x94b, 0x92c, 0x930, 0x3b,
+0x928, 0x94b, 0x935, 0x94d, 0x939, 0x947, 0x902, 0x92c, 0x930, 0x3b, 0x921, 0x93f, 0x938, 0x947, 0x902, 0x92c, 0x930, 0x3b, 0x41, 0x68,
+0x61, 0x3b, 0x4f, 0x66, 0x6c, 0x3b, 0x4f, 0x63, 0x68, 0x3b, 0x41, 0x62, 0x65, 0x3b, 0x41, 0x67, 0x62, 0x3b, 0x4f, 0x74,
+0x75, 0x3b, 0x4d, 0x61, 0x61, 0x3b, 0x4d, 0x61, 0x6e, 0x3b, 0x47, 0x62, 0x6f, 0x3b, 0x41, 0x6e, 0x74, 0x3b, 0x41, 0x6c,
+0x65, 0x3b, 0x41, 0x66, 0x75, 0x3b, 0x41, 0x68, 0x61, 0x72, 0x61, 0x62, 0x61, 0x74, 0x61, 0x3b, 0x4f, 0x66, 0x6c, 0x6f,
+0x3b, 0x4f, 0x63, 0x68, 0x6f, 0x6b, 0x72, 0x69, 0x6b, 0x72, 0x69, 0x3b, 0x41, 0x62, 0x65, 0x69, 0x62, 0x65, 0x65, 0x3b,
+0x41, 0x67, 0x62, 0x65, 0x69, 0x6e, 0x61, 0x61, 0x3b, 0x4f, 0x74, 0x75, 0x6b, 0x77, 0x61, 0x64, 0x61, 0x6e, 0x3b, 0x4d,
+0x61, 0x61, 0x77, 0x65, 0x3b, 0x4d, 0x61, 0x6e, 0x79, 0x61, 0x77, 0x61, 0x6c, 0x65, 0x3b, 0x47, 0x62, 0x6f, 0x3b, 0x41,
+0x6e, 0x74, 0x6f, 0x6e, 0x3b, 0x41, 0x6c, 0x65, 0x6d, 0x6c, 0x65, 0x3b, 0x41, 0x66, 0x75, 0x61, 0x62, 0x65, 0x65, 0x3b,
+0x4a, 0x65, 0x6e, 0x3b, 0x46, 0x65, 0x62, 0x3b, 0x4d, 0x61, 0x61, 0x3b, 0x45, 0x70, 0x72, 0x3b, 0x4d, 0x65, 0x65, 0x3b,
+0x4a, 0x75, 0x75, 0x3b, 0x4a, 0x75, 0x6c, 0x3b, 0x1ecc, 0x67, 0x1ecd, 0x3b, 0x53, 0x65, 0x70, 0x3b, 0x1ecc, 0x6b, 0x74, 0x3b,
+0x4e, 0x6f, 0x76, 0x3b, 0x44, 0x69, 0x73, 0x3b, 0x4a, 0x65, 0x6e, 0x1ee5, 0x77, 0x61, 0x72, 0x1ecb, 0x3b, 0x46, 0x65, 0x62,
+0x72, 0x1ee5, 0x77, 0x61, 0x72, 0x1ecb, 0x3b, 0x4d, 0x61, 0x61, 0x63, 0x68, 0x1ecb, 0x3b, 0x45, 0x70, 0x72, 0x65, 0x6c, 0x3b,
+0x4d, 0x65, 0x65, 0x3b, 0x4a, 0x75, 0x75, 0x6e, 0x3b, 0x4a, 0x75, 0x6c, 0x61, 0x1ecb, 0x3b, 0x1ecc, 0x67, 0x1ecd, 0x1ecd, 0x73,
+0x74, 0x3b, 0x53, 0x65, 0x70, 0x74, 0x65, 0x6d, 0x62, 0x61, 0x3b, 0x1ecc, 0x6b, 0x74, 0x6f, 0x62, 0x61, 0x3b, 0x4e, 0x6f,
+0x76, 0x65, 0x6d, 0x62, 0x61, 0x3b, 0x44, 0x69, 0x73, 0x65, 0x6d, 0x62, 0x61, 0x3b, 0x4d, 0x62, 0x65, 0x3b, 0x4b, 0x65,
+0x6c, 0x3b, 0x4b, 0x74, 0x169, 0x3b, 0x4b, 0x61, 0x6e, 0x3b, 0x4b, 0x74, 0x6e, 0x3b, 0x54, 0x68, 0x61, 0x3b, 0x4d, 0x6f,
+0x6f, 0x3b, 0x4e, 0x79, 0x61, 0x3b, 0x4b, 0x6e, 0x64, 0x3b, 0x128, 0x6b, 0x75, 0x3b, 0x128, 0x6b, 0x6d, 0x3b, 0x128, 0x6b,
+0x6c, 0x3b, 0x4d, 0x77, 0x61, 0x69, 0x20, 0x77, 0x61, 0x20, 0x6d, 0x62, 0x65, 0x65, 0x3b, 0x4d, 0x77, 0x61, 0x69, 0x20,
+0x77, 0x61, 0x20, 0x6b, 0x65, 0x6c, 0x129, 0x3b, 0x4d, 0x77, 0x61, 0x69, 0x20, 0x77, 0x61, 0x20, 0x6b, 0x61, 0x74, 0x61,
+0x74, 0x169, 0x3b, 0x4d, 0x77, 0x61, 0x69, 0x20, 0x77, 0x61, 0x20, 0x6b, 0x61, 0x6e, 0x61, 0x3b, 0x4d, 0x77, 0x61, 0x69,
+0x20, 0x77, 0x61, 0x20, 0x6b, 0x61, 0x74, 0x61, 0x6e, 0x6f, 0x3b, 0x4d, 0x77, 0x61, 0x69, 0x20, 0x77, 0x61, 0x20, 0x74,
+0x68, 0x61, 0x6e, 0x74, 0x68, 0x61, 0x74, 0x169, 0x3b, 0x4d, 0x77, 0x61, 0x69, 0x20, 0x77, 0x61, 0x20, 0x6d, 0x75, 0x6f,
+0x6e, 0x7a, 0x61, 0x3b, 0x4d, 0x77, 0x61, 0x69, 0x20, 0x77, 0x61, 0x20, 0x6e, 0x79, 0x61, 0x61, 0x6e, 0x79, 0x61, 0x3b,
+0x4d, 0x77, 0x61, 0x69, 0x20, 0x77, 0x61, 0x20, 0x6b, 0x65, 0x6e, 0x64, 0x61, 0x3b, 0x4d, 0x77, 0x61, 0x69, 0x20, 0x77,
+0x61, 0x20, 0x129, 0x6b, 0x75, 0x6d, 0x69, 0x3b, 0x4d, 0x77, 0x61, 0x69, 0x20, 0x77, 0x61, 0x20, 0x129, 0x6b, 0x75, 0x6d,
+0x69, 0x20, 0x6e, 0x61, 0x20, 0x129, 0x6d, 0x77, 0x65, 0x3b, 0x4d, 0x77, 0x61, 0x69, 0x20, 0x77, 0x61, 0x20, 0x129, 0x6b,
+0x75, 0x6d, 0x69, 0x20, 0x6e, 0x61, 0x20, 0x69, 0x6c, 0x129, 0x3b, 0x4d, 0x3b, 0x4b, 0x3b, 0x4b, 0x3b, 0x4b, 0x3b, 0x4b,
+0x3b, 0x54, 0x3b, 0x4d, 0x3b, 0x4e, 0x3b, 0x4b, 0x3b, 0x128, 0x3b, 0x128, 0x3b, 0x128, 0x3b, 0x70f, 0x71f, 0x722, 0x20, 0x70f,
+0x712, 0x3b, 0x72b, 0x712, 0x71b, 0x3b, 0x710, 0x715, 0x72a, 0x3b, 0x722, 0x71d, 0x723, 0x722, 0x3b, 0x710, 0x71d, 0x72a, 0x3b, 0x71a,
+0x719, 0x71d, 0x72a, 0x722, 0x3b, 0x72c, 0x721, 0x718, 0x719, 0x3b, 0x710, 0x712, 0x3b, 0x710, 0x71d, 0x720, 0x718, 0x720, 0x3b, 0x70f,
+0x72c, 0x72b, 0x20, 0x70f, 0x710, 0x3b, 0x70f, 0x72c, 0x72b, 0x20, 0x70f, 0x712, 0x3b, 0x70f, 0x71f, 0x722, 0x20, 0x70f, 0x710, 0x3b,
+0x120d, 0x12f0, 0x1275, 0x3b, 0x12ab, 0x1265, 0x12bd, 0x3b, 0x12ad, 0x1265, 0x120b, 0x3b, 0x134b, 0x1305, 0x12ba, 0x3b, 0x12ad, 0x1262, 0x1245, 0x3b,
+0x121d, 0x2f, 0x1275, 0x3b, 0x12b0, 0x122d, 0x3b, 0x121b, 0x122d, 0x12eb, 0x3b, 0x12eb, 0x12b8, 0x1292, 0x3b, 0x1218, 0x1270, 0x1209, 0x3b, 0x121d,
+0x2f, 0x121d, 0x3b, 0x1270, 0x1215, 0x1233, 0x3b, 0x120d, 0x12f0, 0x1275, 0x122a, 0x3b, 0x12ab, 0x1265, 0x12bd, 0x1265, 0x1272, 0x3b, 0x12ad, 0x1265,
+0x120b, 0x3b, 0x134b, 0x1305, 0x12ba, 0x122a, 0x3b, 0x12ad, 0x1262, 0x1245, 0x122a, 0x3b, 0x121d, 0x12aa, 0x12a4, 0x120d, 0x20, 0x1275, 0x131f, 0x1292,
+0x122a, 0x3b, 0x12b0, 0x122d, 0x12a9, 0x3b, 0x121b, 0x122d, 0x12eb, 0x121d, 0x20, 0x1275, 0x122a, 0x3b, 0x12eb, 0x12b8, 0x1292, 0x20, 0x1218, 0x1233,
+0x1245, 0x1208, 0x122a, 0x3b, 0x1218, 0x1270, 0x1209, 0x3b, 0x121d, 0x12aa, 0x12a4, 0x120d, 0x20, 0x1218, 0x123d, 0x12c8, 0x122a, 0x3b, 0x1270, 0x1215,
+0x1233, 0x1235, 0x122a, 0x3b, 0x120d, 0x3b, 0x12ab, 0x3b, 0x12ad, 0x3b, 0x134b, 0x3b, 0x12ad, 0x3b, 0x121d, 0x3b, 0x12b0, 0x3b, 0x121b, 0x3b,
+0x12eb, 0x3b, 0x1218, 0x3b, 0x121d, 0x3b, 0x1270, 0x3b, 0x1320, 0x1210, 0x1228, 0x3b, 0x12a8, 0x1270, 0x1270, 0x3b, 0x1218, 0x1308, 0x1260, 0x3b,
+0x12a0, 0x1280, 0x12d8, 0x3b, 0x130d, 0x1295, 0x1263, 0x1275, 0x3b, 0x1220, 0x1295, 0x12e8, 0x3b, 0x1210, 0x1218, 0x1208, 0x3b, 0x1290, 0x1210, 0x1230,
+0x3b, 0x12a8, 0x1228, 0x1218, 0x3b, 0x1320, 0x1240, 0x1218, 0x3b, 0x1280, 0x12f0, 0x1228, 0x3b, 0x1280, 0x1220, 0x1220, 0x3b, 0x1320, 0x3b, 0x12a8,
+0x3b, 0x1218, 0x3b, 0x12a0, 0x3b, 0x130d, 0x3b, 0x1220, 0x3b, 0x1210, 0x3b, 0x1290, 0x3b, 0x12a8, 0x3b, 0x1320, 0x3b, 0x1280, 0x3b, 0x1280,
+0x3b, 0x57, 0x65, 0x79, 0x3b, 0x46, 0x61, 0x6e, 0x3b, 0x54, 0x61, 0x74, 0x3b, 0x4e, 0x61, 0x6e, 0x3b, 0x54, 0x75, 0x79,
+0x3b, 0x54, 0x73, 0x6f, 0x3b, 0x54, 0x61, 0x66, 0x3b, 0x57, 0x61, 0x72, 0x3b, 0x4b, 0x75, 0x6e, 0x3b, 0x42, 0x61, 0x6e,
+0x3b, 0x4b, 0x6f, 0x6d, 0x3b, 0x53, 0x61, 0x75, 0x3b, 0x46, 0x61, 0x69, 0x20, 0x57, 0x65, 0x79, 0x65, 0x6e, 0x65, 0x3b,
+0x46, 0x61, 0x69, 0x20, 0x46, 0x61, 0x6e, 0x69, 0x3b, 0x46, 0x61, 0x69, 0x20, 0x54, 0x61, 0x74, 0x61, 0x6b, 0x61, 0x3b,
+0x46, 0x61, 0x69, 0x20, 0x4e, 0x61, 0x6e, 0x67, 0x72, 0x61, 0x3b, 0x46, 0x61, 0x69, 0x20, 0x54, 0x75, 0x79, 0x6f, 0x3b,
+0x46, 0x61, 0x69, 0x20, 0x54, 0x73, 0x6f, 0x79, 0x69, 0x3b, 0x46, 0x61, 0x69, 0x20, 0x54, 0x61, 0x66, 0x61, 0x6b, 0x61,
+0x3b, 0x46, 0x61, 0x69, 0x20, 0x57, 0x61, 0x72, 0x61, 0x63, 0x68, 0x69, 0x3b, 0x46, 0x61, 0x69, 0x20, 0x4b, 0x75, 0x6e,
+0x6f, 0x62, 0x6f, 0x6b, 0x3b, 0x46, 0x61, 0x69, 0x20, 0x42, 0x61, 0x6e, 0x73, 0x6f, 0x6b, 0x3b, 0x46, 0x61, 0x69, 0x20,
+0x4b, 0x6f, 0x6d, 0x3b, 0x46, 0x61, 0x69, 0x20, 0x53, 0x61, 0x75, 0x6b, 0x3b, 0x44, 0x79, 0x6f, 0x6e, 0x3b, 0x42, 0x61,
+0x61, 0x3b, 0x41, 0x74, 0x61, 0x74, 0x3b, 0x41, 0x6e, 0x61, 0x73, 0x3b, 0x41, 0x74, 0x79, 0x6f, 0x3b, 0x41, 0x63, 0x68,
+0x69, 0x3b, 0x41, 0x74, 0x61, 0x72, 0x3b, 0x41, 0x77, 0x75, 0x72, 0x3b, 0x53, 0x68, 0x61, 0x64, 0x3b, 0x53, 0x68, 0x61,
+0x6b, 0x3b, 0x4e, 0x61, 0x62, 0x61, 0x3b, 0x4e, 0x61, 0x74, 0x61, 0x3b, 0x50, 0x65, 0x6e, 0x20, 0x44, 0x79, 0x6f, 0x6e,
+0x3b, 0x50, 0x65, 0x6e, 0x20, 0x42, 0x61, 0x27, 0x61, 0x3b, 0x50, 0x65, 0x6e, 0x20, 0x41, 0x74, 0x61, 0x74, 0x3b, 0x50,
+0x65, 0x6e, 0x20, 0x41, 0x6e, 0x61, 0x73, 0x3b, 0x50, 0x65, 0x6e, 0x20, 0x41, 0x74, 0x79, 0x6f, 0x6e, 0x3b, 0x50, 0x65,
+0x6e, 0x20, 0x41, 0x63, 0x68, 0x69, 0x72, 0x69, 0x6d, 0x3b, 0x50, 0x65, 0x6e, 0x20, 0x41, 0x74, 0x61, 0x72, 0x69, 0x62,
+0x61, 0x3b, 0x50, 0x65, 0x6e, 0x20, 0x41, 0x77, 0x75, 0x72, 0x72, 0x3b, 0x50, 0x65, 0x6e, 0x20, 0x53, 0x68, 0x61, 0x64,
+0x6f, 0x6e, 0x3b, 0x50, 0x65, 0x6e, 0x20, 0x53, 0x68, 0x61, 0x6b, 0x75, 0x72, 0x3b, 0x50, 0x65, 0x6e, 0x20, 0x4b, 0x75,
+0x72, 0x20, 0x4e, 0x61, 0x62, 0x61, 0x3b, 0x50, 0x65, 0x6e, 0x20, 0x4b, 0x75, 0x72, 0x20, 0x4e, 0x61, 0x74, 0x61, 0x74,
+0x3b, 0x41, 0x331, 0x79, 0x72, 0x3b, 0x41, 0x331, 0x68, 0x77, 0x3b, 0x41, 0x331, 0x74, 0x61, 0x3b, 0x41, 0x331, 0x6e, 0x61,
+0x3b, 0x41, 0x331, 0x70, 0x66, 0x3b, 0x41, 0x331, 0x6b, 0x69, 0x3b, 0x41, 0x331, 0x74, 0x79, 0x3b, 0x41, 0x331, 0x6e, 0x69,
+0x3b, 0x41, 0x331, 0x6b, 0x75, 0x3b, 0x53, 0x77, 0x61, 0x3b, 0x53, 0x62, 0x79, 0x3b, 0x53, 0x62, 0x68, 0x3b, 0x48, 0x79,
+0x77, 0x61, 0x6e, 0x20, 0x41, 0x331, 0x79, 0x72, 0x6e, 0x69, 0x67, 0x3b, 0x48, 0x79, 0x77, 0x61, 0x6e, 0x20, 0x41, 0x331,
+0x68, 0x77, 0x61, 0x3b, 0x48, 0x79, 0x77, 0x61, 0x6e, 0x20, 0x41, 0x331, 0x74, 0x61, 0x74, 0x3b, 0x48, 0x79, 0x77, 0x61,
+0x6e, 0x20, 0x41, 0x331, 0x6e, 0x61, 0x61, 0x69, 0x3b, 0x48, 0x79, 0x77, 0x61, 0x6e, 0x20, 0x41, 0x331, 0x70, 0x66, 0x77,
+0x6f, 0x6e, 0x3b, 0x48, 0x79, 0x77, 0x61, 0x6e, 0x20, 0x41, 0x331, 0x6b, 0x69, 0x74, 0x61, 0x74, 0x3b, 0x48, 0x79, 0x77,
+0x61, 0x6e, 0x20, 0x41, 0x331, 0x74, 0x79, 0x69, 0x72, 0x69, 0x6e, 0x3b, 0x48, 0x79, 0x77, 0x61, 0x6e, 0x20, 0x41, 0x331,
+0x6e, 0x69, 0x6e, 0x61, 0x69, 0x3b, 0x48, 0x79, 0x77, 0x61, 0x6e, 0x20, 0x41, 0x331, 0x6b, 0x75, 0x6d, 0x76, 0x69, 0x72,
+0x69, 0x79, 0x69, 0x6e, 0x3b, 0x48, 0x79, 0x77, 0x61, 0x6e, 0x20, 0x53, 0x77, 0x61, 0x6b, 0x3b, 0x48, 0x79, 0x77, 0x61,
+0x6e, 0x20, 0x53, 0x77, 0x61, 0x6b, 0x20, 0x42, 0x27, 0x61, 0x331, 0x79, 0x72, 0x6e, 0x69, 0x67, 0x3b, 0x48, 0x79, 0x77,
+0x61, 0x6e, 0x20, 0x53, 0x77, 0x61, 0x6b, 0x20, 0x42, 0x27, 0x61, 0x331, 0x68, 0x77, 0x61, 0x3b, 0x5a, 0x65, 0x6e, 0x3b,
+0x46, 0x65, 0x76, 0x3b, 0x4d, 0x61, 0x72, 0x3b, 0x41, 0x76, 0x72, 0x3b, 0x4d, 0x61, 0x69, 0x3b, 0x4a, 0x75, 0x67, 0x3b,
+0x4c, 0x75, 0x69, 0x3b, 0x41, 0x76, 0x6f, 0x3b, 0x53, 0x65, 0x74, 0x3b, 0x4f, 0x74, 0x75, 0x3b, 0x4e, 0x6f, 0x76, 0x3b,
+0x44, 0x69, 0x63, 0x3b, 0x5a, 0x65, 0x6e, 0xe2, 0x72, 0x3b, 0x46, 0x65, 0x76, 0x72, 0xe2, 0x72, 0x3b, 0x4d, 0x61, 0x72,
+0xe7, 0x3b, 0x41, 0x76, 0x72, 0xee, 0x6c, 0x3b, 0x4d, 0x61, 0x69, 0x3b, 0x4a, 0x75, 0x67, 0x6e, 0x3b, 0x4c, 0x75, 0x69,
+0x3b, 0x41, 0x76, 0x6f, 0x73, 0x74, 0x3b, 0x53, 0x65, 0x74, 0x65, 0x6d, 0x62, 0x61, 0x72, 0x3b, 0x4f, 0x74, 0x75, 0x62,
+0x61, 0x72, 0x3b, 0x4e, 0x6f, 0x76, 0x65, 0x6d, 0x62, 0x61, 0x72, 0x3b, 0x44, 0x69, 0x63, 0x65, 0x6d, 0x62, 0x61, 0x72,
+0x3b, 0x5a, 0x3b, 0x46, 0x3b, 0x4d, 0x3b, 0x41, 0x3b, 0x4d, 0x3b, 0x4a, 0x3b, 0x4c, 0x3b, 0x41, 0x3b, 0x53, 0x3b, 0x4f,
+0x3b, 0x4e, 0x3b, 0x44, 0x3b, 0x50, 0x68, 0x61, 0x3b, 0x4c, 0x75, 0x68, 0x3b, 0x1e70, 0x68, 0x61, 0x3b, 0x4c, 0x61, 0x6d,
+0x3b, 0x53, 0x68, 0x75, 0x3b, 0x4c, 0x77, 0x69, 0x3b, 0x4c, 0x77, 0x61, 0x3b, 0x1e70, 0x68, 0x61, 0x3b, 0x4b, 0x68, 0x75,
+0x3b, 0x54, 0x73, 0x68, 0x3b, 0x1e3c, 0x61, 0x72, 0x3b, 0x4e, 0x79, 0x65, 0x3b, 0x50, 0x68, 0x61, 0x6e, 0x64, 0x6f, 0x3b,
+0x4c, 0x75, 0x68, 0x75, 0x68, 0x69, 0x3b, 0x1e70, 0x68, 0x61, 0x66, 0x61, 0x6d, 0x75, 0x68, 0x77, 0x65, 0x3b, 0x4c, 0x61,
+0x6d, 0x62, 0x61, 0x6d, 0x61, 0x69, 0x3b, 0x53, 0x68, 0x75, 0x6e, 0x64, 0x75, 0x6e, 0x74, 0x68, 0x75, 0x6c, 0x65, 0x3b,
+0x46, 0x75, 0x6c, 0x77, 0x69, 0x3b, 0x46, 0x75, 0x6c, 0x77, 0x61, 0x6e, 0x61, 0x3b, 0x1e70, 0x68, 0x61, 0x6e, 0x67, 0x75,
+0x6c, 0x65, 0x3b, 0x4b, 0x68, 0x75, 0x62, 0x76, 0x75, 0x6d, 0x65, 0x64, 0x7a, 0x69, 0x3b, 0x54, 0x73, 0x68, 0x69, 0x6d,
+0x65, 0x64, 0x7a, 0x69, 0x3b, 0x1e3c, 0x61, 0x72, 0x61, 0x3b, 0x4e, 0x79, 0x65, 0x6e, 0x64, 0x61, 0x76, 0x68, 0x75, 0x73,
+0x69, 0x6b, 0x75, 0x3b, 0x44, 0x7a, 0x76, 0x3b, 0x44, 0x7a, 0x64, 0x3b, 0x54, 0x65, 0x64, 0x3b, 0x41, 0x66, 0x254, 0x3b,
+0x44, 0x61, 0x6d, 0x3b, 0x4d, 0x61, 0x73, 0x3b, 0x53, 0x69, 0x61, 0x3b, 0x44, 0x65, 0x61, 0x3b, 0x41, 0x6e, 0x79, 0x3b,
+0x4b, 0x65, 0x6c, 0x3b, 0x41, 0x64, 0x65, 0x3b, 0x44, 0x7a, 0x6d, 0x3b, 0x44, 0x7a, 0x6f, 0x76, 0x65, 0x3b, 0x44, 0x7a,
+0x6f, 0x64, 0x7a, 0x65, 0x3b, 0x54, 0x65, 0x64, 0x6f, 0x78, 0x65, 0x3b, 0x41, 0x66, 0x254, 0x66, 0x69, 0x25b, 0x3b, 0x44,
+0x61, 0x6d, 0x61, 0x3b, 0x4d, 0x61, 0x73, 0x61, 0x3b, 0x53, 0x69, 0x61, 0x6d, 0x6c, 0x254, 0x6d, 0x3b, 0x44, 0x65, 0x61,
+0x73, 0x69, 0x61, 0x6d, 0x69, 0x6d, 0x65, 0x3b, 0x41, 0x6e, 0x79, 0x254, 0x6e, 0x79, 0x254, 0x3b, 0x4b, 0x65, 0x6c, 0x65,
+0x3b, 0x41, 0x64, 0x65, 0x25b, 0x6d, 0x65, 0x6b, 0x70, 0x254, 0x78, 0x65, 0x3b, 0x44, 0x7a, 0x6f, 0x6d, 0x65, 0x3b, 0x44,
+0x3b, 0x44, 0x3b, 0x54, 0x3b, 0x41, 0x3b, 0x44, 0x3b, 0x4d, 0x3b, 0x53, 0x3b, 0x44, 0x3b, 0x41, 0x3b, 0x4b, 0x3b, 0x41,
+0x3b, 0x44, 0x3b, 0x49, 0x61, 0x6e, 0x2e, 0x3b, 0x50, 0x65, 0x70, 0x2e, 0x3b, 0x4d, 0x61, 0x6c, 0x2e, 0x3b, 0x2bb, 0x41,
+0x70, 0x2e, 0x3b, 0x4d, 0x65, 0x69, 0x3b, 0x49, 0x75, 0x6e, 0x2e, 0x3b, 0x49, 0x75, 0x6c, 0x2e, 0x3b, 0x2bb, 0x41, 0x75,
+0x2e, 0x3b, 0x4b, 0x65, 0x70, 0x2e, 0x3b, 0x2bb, 0x4f, 0x6b, 0x2e, 0x3b, 0x4e, 0x6f, 0x77, 0x2e, 0x3b, 0x4b, 0x65, 0x6b,
+0x2e, 0x3b, 0x49, 0x61, 0x6e, 0x75, 0x61, 0x6c, 0x69, 0x3b, 0x50, 0x65, 0x70, 0x65, 0x6c, 0x75, 0x61, 0x6c, 0x69, 0x3b,
+0x4d, 0x61, 0x6c, 0x61, 0x6b, 0x69, 0x3b, 0x2bb, 0x41, 0x70, 0x65, 0x6c, 0x69, 0x6c, 0x61, 0x3b, 0x4d, 0x65, 0x69, 0x3b,
+0x49, 0x75, 0x6e, 0x65, 0x3b, 0x49, 0x75, 0x6c, 0x61, 0x69, 0x3b, 0x2bb, 0x41, 0x75, 0x6b, 0x61, 0x6b, 0x65, 0x3b, 0x4b,
+0x65, 0x70, 0x61, 0x6b, 0x65, 0x6d, 0x61, 0x70, 0x61, 0x3b, 0x2bb, 0x4f, 0x6b, 0x61, 0x6b, 0x6f, 0x70, 0x61, 0x3b, 0x4e,
+0x6f, 0x77, 0x65, 0x6d, 0x61, 0x70, 0x61, 0x3b, 0x4b, 0x65, 0x6b, 0x65, 0x6d, 0x61, 0x70, 0x61, 0x3b, 0x4a, 0x75, 0x77,
+0x3b, 0x53, 0x77, 0x69, 0x3b, 0x54, 0x73, 0x61, 0x3b, 0x4e, 0x79, 0x61, 0x3b, 0x54, 0x73, 0x77, 0x3b, 0x41, 0x74, 0x61,
+0x3b, 0x41, 0x6e, 0x61, 0x3b, 0x41, 0x72, 0x69, 0x3b, 0x41, 0x6b, 0x75, 0x3b, 0x53, 0x77, 0x61, 0x3b, 0x4d, 0x61, 0x6e,
+0x3b, 0x4d, 0x61, 0x73, 0x3b, 0x5a, 0x77, 0x61, 0x74, 0x20, 0x4a, 0x75, 0x77, 0x75, 0x6e, 0x67, 0x3b, 0x5a, 0x77, 0x61,
+0x74, 0x20, 0x53, 0x77, 0x69, 0x79, 0x61, 0x6e, 0x67, 0x3b, 0x5a, 0x77, 0x61, 0x74, 0x20, 0x54, 0x73, 0x61, 0x74, 0x3b,
+0x5a, 0x77, 0x61, 0x74, 0x20, 0x4e, 0x79, 0x61, 0x69, 0x3b, 0x5a, 0x77, 0x61, 0x74, 0x20, 0x54, 0x73, 0x77, 0x6f, 0x6e,
+0x3b, 0x5a, 0x77, 0x61, 0x74, 0x20, 0x41, 0x74, 0x61, 0x61, 0x68, 0x3b, 0x5a, 0x77, 0x61, 0x74, 0x20, 0x41, 0x6e, 0x61,
+0x74, 0x61, 0x74, 0x3b, 0x5a, 0x77, 0x61, 0x74, 0x20, 0x41, 0x72, 0x69, 0x6e, 0x61, 0x69, 0x3b, 0x5a, 0x77, 0x61, 0x74,
+0x20, 0x41, 0x6b, 0x75, 0x62, 0x75, 0x6e, 0x79, 0x75, 0x6e, 0x67, 0x3b, 0x5a, 0x77, 0x61, 0x74, 0x20, 0x53, 0x77, 0x61,
+0x67, 0x3b, 0x5a, 0x77, 0x61, 0x74, 0x20, 0x4d, 0x61, 0x6e, 0x67, 0x6a, 0x75, 0x77, 0x61, 0x6e, 0x67, 0x3b, 0x5a, 0x77,
+0x61, 0x74, 0x20, 0x53, 0x77, 0x61, 0x67, 0x2d, 0x4d, 0x61, 0x2d, 0x53, 0x75, 0x79, 0x61, 0x6e, 0x67, 0x3b, 0x4a, 0x61,
+0x6e, 0x3b, 0x46, 0x65, 0x62, 0x3b, 0x4d, 0x61, 0x6c, 0x3b, 0x45, 0x70, 0x75, 0x3b, 0x4d, 0x65, 0x69, 0x3b, 0x4a, 0x75,
+0x6e, 0x3b, 0x4a, 0x75, 0x6c, 0x3b, 0x4f, 0x67, 0x61, 0x3b, 0x53, 0x65, 0x70, 0x3b, 0x4f, 0x6b, 0x75, 0x3b, 0x4e, 0x6f,
+0x76, 0x3b, 0x44, 0x69, 0x73, 0x3b, 0x4a, 0x61, 0x6e, 0x75, 0x77, 0x61, 0x6c, 0x65, 0x3b, 0x46, 0x65, 0x62, 0x75, 0x6c,
+0x75, 0x77, 0x61, 0x6c, 0x65, 0x3b, 0x4d, 0x61, 0x6c, 0x69, 0x63, 0x68, 0x69, 0x3b, 0x45, 0x70, 0x75, 0x6c, 0x6f, 0x3b,
+0x4d, 0x65, 0x69, 0x3b, 0x4a, 0x75, 0x6e, 0x69, 0x3b, 0x4a, 0x75, 0x6c, 0x61, 0x69, 0x3b, 0x4f, 0x67, 0x61, 0x73, 0x69,
+0x74, 0x69, 0x3b, 0x53, 0x65, 0x70, 0x75, 0x74, 0x65, 0x6d, 0x62, 0x61, 0x3b, 0x4f, 0x6b, 0x75, 0x74, 0x6f, 0x62, 0x61,
+0x3b, 0x4e, 0x6f, 0x76, 0x65, 0x6d, 0x62, 0x61, 0x3b, 0x44, 0x69, 0x73, 0x65, 0x6d, 0x62, 0x61, 0x3b, 0x45, 0x6e, 0x65,
+0x3b, 0x50, 0x65, 0x62, 0x3b, 0x4d, 0x61, 0x72, 0x3b, 0x41, 0x62, 0x72, 0x3b, 0x4d, 0x61, 0x79, 0x3b, 0x48, 0x75, 0x6e,
+0x3b, 0x48, 0x75, 0x6c, 0x3b, 0x41, 0x67, 0x6f, 0x3b, 0x53, 0x65, 0x74, 0x3b, 0x4f, 0x6b, 0x74, 0x3b, 0x4e, 0x6f, 0x62,
+0x3b, 0x44, 0x69, 0x73, 0x3b, 0x45, 0x6e, 0x65, 0x72, 0x6f, 0x3b, 0x50, 0x65, 0x62, 0x72, 0x65, 0x72, 0x6f, 0x3b, 0x4d,
+0x61, 0x72, 0x73, 0x6f, 0x3b, 0x41, 0x62, 0x72, 0x69, 0x6c, 0x3b, 0x4d, 0x61, 0x79, 0x6f, 0x3b, 0x48, 0x75, 0x6e, 0x79,
+0x6f, 0x3b, 0x48, 0x75, 0x6c, 0x79, 0x6f, 0x3b, 0x41, 0x67, 0x6f, 0x73, 0x74, 0x6f, 0x3b, 0x53, 0x65, 0x74, 0x79, 0x65,
+0x6d, 0x62, 0x72, 0x65, 0x3b, 0x4f, 0x6b, 0x74, 0x75, 0x62, 0x72, 0x65, 0x3b, 0x4e, 0x6f, 0x62, 0x79, 0x65, 0x6d, 0x62,
+0x72, 0x65, 0x3b, 0x44, 0x69, 0x73, 0x79, 0x65, 0x6d, 0x62, 0x72, 0x65, 0x3b, 0x45, 0x3b, 0x50, 0x3b, 0x4d, 0x3b, 0x41,
+0x3b, 0x4d, 0x3b, 0x48, 0x3b, 0x48, 0x3b, 0x41, 0x3b, 0x53, 0x3b, 0x4f, 0x3b, 0x4e, 0x3b, 0x44, 0x3b, 0x4a, 0x61, 0x6e,
+0x75, 0x61, 0x72, 0x3b, 0x46, 0x65, 0x62, 0x72, 0x75, 0x61, 0x72, 0x3b, 0x4d, 0xe4, 0x72, 0x7a, 0x3b, 0x41, 0x70, 0x72,
+0x69, 0x6c, 0x3b, 0x4d, 0x61, 0x69, 0x3b, 0x4a, 0x75, 0x6e, 0x69, 0x3b, 0x4a, 0x75, 0x6c, 0x69, 0x3b, 0x41, 0x75, 0x67,
+0x75, 0x73, 0x63, 0x68, 0x74, 0x3b, 0x53, 0x65, 0x70, 0x74, 0xe4, 0x6d, 0x62, 0x65, 0x72, 0x3b, 0x4f, 0x6b, 0x74, 0x6f,
+0x6f, 0x62, 0x65, 0x72, 0x3b, 0x4e, 0x6f, 0x76, 0xe4, 0x6d, 0x62, 0x65, 0x72, 0x3b, 0x44, 0x65, 0x7a, 0xe4, 0x6d, 0x62,
+0x65, 0x72, 0x3b, 0xa2cd, 0xa1aa, 0x3b, 0xa44d, 0xa1aa, 0x3b, 0xa315, 0xa1aa, 0x3b, 0xa1d6, 0xa1aa, 0x3b, 0xa26c, 0xa1aa, 0x3b, 0xa0d8, 0xa1aa,
+0x3b, 0xa3c3, 0xa1aa, 0x3b, 0xa246, 0xa1aa, 0x3b, 0xa22c, 0xa1aa, 0x3b, 0xa2b0, 0xa1aa, 0x3b, 0xa2b0, 0xa2aa, 0xa1aa, 0x3b, 0xa2b0, 0xa44b, 0xa1aa,
+0x3b, 0x4a, 0x61, 0x6e, 0x3b, 0x46, 0x65, 0x62, 0x3b, 0x4d, 0x61, 0x74, 0x3b, 0x41, 0x70, 0x72, 0x3b, 0x4d, 0x65, 0x79,
+0x3b, 0x4a, 0x75, 0x6e, 0x3b, 0x4a, 0x75, 0x6c, 0x3b, 0x41, 0x72, 0x68, 0x3b, 0x53, 0x65, 0x70, 0x3b, 0x4f, 0x6b, 0x74,
+0x3b, 0x55, 0x73, 0x69, 0x3b, 0x44, 0x69, 0x73, 0x3b, 0x4a, 0x61, 0x6e, 0x61, 0x62, 0x61, 0x72, 0x69, 0x3b, 0x75, 0x46,
+0x65, 0x62, 0x65, 0x72, 0x62, 0x61, 0x72, 0x69, 0x3b, 0x75, 0x4d, 0x61, 0x74, 0x6a, 0x68, 0x69, 0x3b, 0x75, 0x2d, 0x41,
+0x70, 0x72, 0x65, 0x6c, 0x69, 0x3b, 0x4d, 0x65, 0x79, 0x69, 0x3b, 0x4a, 0x75, 0x6e, 0x69, 0x3b, 0x4a, 0x75, 0x6c, 0x61,
+0x79, 0x69, 0x3b, 0x41, 0x72, 0x68, 0x6f, 0x73, 0x74, 0x6f, 0x73, 0x69, 0x3b, 0x53, 0x65, 0x70, 0x74, 0x65, 0x6d, 0x62,
+0x61, 0x3b, 0x4f, 0x6b, 0x74, 0x6f, 0x62, 0x61, 0x3b, 0x55, 0x73, 0x69, 0x6e, 0x79, 0x69, 0x6b, 0x68, 0x61, 0x62, 0x61,
+0x3b, 0x44, 0x69, 0x73, 0x65, 0x6d, 0x62, 0x61, 0x3b, 0x4a, 0x61, 0x6e, 0x3b, 0x46, 0x65, 0x62, 0x3b, 0x4d, 0x61, 0x74,
+0x3b, 0x41, 0x70, 0x6f, 0x3b, 0x4d, 0x65, 0x69, 0x3b, 0x4a, 0x75, 0x6e, 0x3b, 0x4a, 0x75, 0x6c, 0x3b, 0x41, 0x67, 0x6f,
+0x3b, 0x53, 0x65, 0x74, 0x3b, 0x4f, 0x6b, 0x74, 0x3b, 0x4e, 0x6f, 0x66, 0x3b, 0x44, 0x69, 0x73, 0x3b, 0x4a, 0x61, 0x6e,
+0x61, 0x77, 0x61, 0x72, 0x65, 0x3b, 0x46, 0x65, 0x62, 0x65, 0x72, 0x77, 0x61, 0x72, 0x65, 0x3b, 0x4d, 0x61, 0x74, 0x161,
+0x68, 0x65, 0x3b, 0x41, 0x70, 0x6f, 0x72, 0x65, 0x6c, 0x65, 0x3b, 0x4d, 0x65, 0x69, 0x3b, 0x4a, 0x75, 0x6e, 0x65, 0x3b,
+0x4a, 0x75, 0x6c, 0x61, 0x65, 0x3b, 0x41, 0x67, 0x6f, 0x73, 0x74, 0x6f, 0x73, 0x65, 0x3b, 0x53, 0x65, 0x74, 0x65, 0x6d,
+0x65, 0x72, 0x65, 0x3b, 0x4f, 0x6b, 0x74, 0x6f, 0x62, 0x6f, 0x72, 0x65, 0x3b, 0x4e, 0x6f, 0x66, 0x65, 0x6d, 0x65, 0x72,
+0x65, 0x3b, 0x44, 0x69, 0x73, 0x65, 0x6d, 0x65, 0x72, 0x65, 0x3b, 0x6f, 0x111, 0x111, 0x61, 0x6a, 0x61, 0x67, 0x65, 0x3b,
+0x67, 0x75, 0x6f, 0x76, 0x76, 0x61, 0x3b, 0x6e, 0x6a, 0x75, 0x6b, 0x10d, 0x61, 0x3b, 0x63, 0x75, 0x6f, 0x14b, 0x6f, 0x3b,
+0x6d, 0x69, 0x65, 0x73, 0x73, 0x65, 0x3b, 0x67, 0x65, 0x61, 0x73, 0x73, 0x65, 0x3b, 0x73, 0x75, 0x6f, 0x69, 0x64, 0x6e,
+0x65, 0x3b, 0x62, 0x6f, 0x72, 0x67, 0x65, 0x3b, 0x10d, 0x61, 0x6b, 0x10d, 0x61, 0x3b, 0x67, 0x6f, 0x6c, 0x67, 0x67, 0x6f,
+0x74, 0x3b, 0x73, 0x6b, 0xe1, 0x62, 0x6d, 0x61, 0x3b, 0x6a, 0x75, 0x6f, 0x76, 0x6c, 0x61, 0x3b, 0x6f, 0x111, 0x111, 0x61,
+0x6a, 0x61, 0x67, 0x65, 0x6d, 0xe1, 0x6e, 0x6e, 0x75, 0x3b, 0x67, 0x75, 0x6f, 0x76, 0x76, 0x61, 0x6d, 0xe1, 0x6e, 0x6e,
+0x75, 0x3b, 0x6e, 0x6a, 0x75, 0x6b, 0x10d, 0x61, 0x6d, 0xe1, 0x6e, 0x6e, 0x75, 0x3b, 0x63, 0x75, 0x6f, 0x14b, 0x6f, 0x6d,
+0xe1, 0x6e, 0x6e, 0x75, 0x3b, 0x6d, 0x69, 0x65, 0x73, 0x73, 0x65, 0x6d, 0xe1, 0x6e, 0x6e, 0x75, 0x3b, 0x67, 0x65, 0x61,
+0x73, 0x73, 0x65, 0x6d, 0xe1, 0x6e, 0x6e, 0x75, 0x3b, 0x73, 0x75, 0x6f, 0x69, 0x64, 0x6e, 0x65, 0x6d, 0xe1, 0x6e, 0x6e,
+0x75, 0x3b, 0x62, 0x6f, 0x72, 0x67, 0x65, 0x6d, 0xe1, 0x6e, 0x6e, 0x75, 0x3b, 0x10d, 0x61, 0x6b, 0x10d, 0x61, 0x6d, 0xe1,
+0x6e, 0x6e, 0x75, 0x3b, 0x67, 0x6f, 0x6c, 0x67, 0x67, 0x6f, 0x74, 0x6d, 0xe1, 0x6e, 0x6e, 0x75, 0x3b, 0x73, 0x6b, 0xe1,
+0x62, 0x6d, 0x61, 0x6d, 0xe1, 0x6e, 0x6e, 0x75, 0x3b, 0x6a, 0x75, 0x6f, 0x76, 0x6c, 0x61, 0x6d, 0xe1, 0x6e, 0x6e, 0x75,
+0x3b, 0x4f, 0x3b, 0x47, 0x3b, 0x4e, 0x3b, 0x43, 0x3b, 0x4d, 0x3b, 0x47, 0x3b, 0x53, 0x3b, 0x42, 0x3b, 0x10c, 0x3b, 0x47,
+0x3b, 0x53, 0x3b, 0x4a, 0x3b, 0x6f, 0x111, 0x111, 0x6a, 0x3b, 0x67, 0x75, 0x6f, 0x76, 0x3b, 0x6e, 0x6a, 0x75, 0x6b, 0x3b,
+0x63, 0x75, 0x6f, 0x3b, 0x6d, 0x69, 0x65, 0x73, 0x3b, 0x67, 0x65, 0x61, 0x73, 0x3b, 0x73, 0x75, 0x6f, 0x69, 0x3b, 0x62,
+0x6f, 0x72, 0x67, 0x3b, 0x10d, 0x61, 0x6b, 0x10d, 0x3b, 0x67, 0x6f, 0x6c, 0x67, 0x3b, 0x73, 0x6b, 0xe1, 0x62, 0x3b, 0x6a,
+0x75, 0x6f, 0x76, 0x3b, 0x4b, 0x69, 0x69, 0x3b, 0x44, 0x68, 0x69, 0x3b, 0x54, 0x72, 0x69, 0x3b, 0x53, 0x70, 0x69, 0x3b,
+0x52, 0x69, 0x69, 0x3b, 0x4d, 0x74, 0x69, 0x3b, 0x45, 0x6d, 0x69, 0x3b, 0x4d, 0x61, 0x69, 0x3b, 0x4d, 0x6e, 0x69, 0x3b,
+0x4d, 0x78, 0x69, 0x3b, 0x4d, 0x78, 0x6b, 0x3b, 0x4d, 0x78, 0x64, 0x3b, 0x4b, 0x69, 0x6e, 0x67, 0x61, 0x6c, 0x20, 0x69,
+0x64, 0x61, 0x73, 0x3b, 0x44, 0x68, 0x61, 0x20, 0x69, 0x64, 0x61, 0x73, 0x3b, 0x54, 0x72, 0x75, 0x20, 0x69, 0x64, 0x61,
+0x73, 0x3b, 0x53, 0x70, 0x61, 0x74, 0x20, 0x69, 0x64, 0x61, 0x73, 0x3b, 0x52, 0x69, 0x6d, 0x61, 0x20, 0x69, 0x64, 0x61,
+0x73, 0x3b, 0x4d, 0x61, 0x74, 0x61, 0x72, 0x75, 0x20, 0x69, 0x64, 0x61, 0x73, 0x3b, 0x45, 0x6d, 0x70, 0x69, 0x74, 0x75,
+0x20, 0x69, 0x64, 0x61, 0x73, 0x3b, 0x4d, 0x61, 0x73, 0x70, 0x61, 0x74, 0x20, 0x69, 0x64, 0x61, 0x73, 0x3b, 0x4d, 0x6e,
+0x67, 0x61, 0x72, 0x69, 0x20, 0x69, 0x64, 0x61, 0x73, 0x3b, 0x4d, 0x61, 0x78, 0x61, 0x6c, 0x20, 0x69, 0x64, 0x61, 0x73,
+0x3b, 0x4d, 0x61, 0x78, 0x61, 0x6c, 0x20, 0x6b, 0x69, 0x6e, 0x67, 0x61, 0x6c, 0x20, 0x69, 0x64, 0x61, 0x73, 0x3b, 0x4d,
+0x61, 0x78, 0x61, 0x6c, 0x20, 0x64, 0x68, 0x61, 0x20, 0x69, 0x64, 0x61, 0x73, 0x3b, 0x4b, 0x3b, 0x44, 0x3b, 0x54, 0x3b,
+0x53, 0x3b, 0x52, 0x3b, 0x4d, 0x3b, 0x45, 0x3b, 0x50, 0x3b, 0x41, 0x3b, 0x4d, 0x3b, 0x4b, 0x3b, 0x44, 0x3b, 0x43, 0x61,
+0x6e, 0x3b, 0x46, 0x65, 0x62, 0x3b, 0x4d, 0x61, 0x63, 0x3b, 0x41, 0x70, 0x72, 0x3b, 0x4d, 0x65, 0x69, 0x3b, 0x4a, 0x75,
+0x6e, 0x3b, 0x43, 0x75, 0x6c, 0x3b, 0x41, 0x67, 0x74, 0x3b, 0x53, 0x65, 0x70, 0x3b, 0x4f, 0x6b, 0x74, 0x3b, 0x4e, 0x6f,
+0x62, 0x3b, 0x44, 0x69, 0x73, 0x3b, 0x43, 0x68, 0x61, 0x6e, 0x75, 0x61, 0x72, 0x69, 0x3b, 0x46, 0x65, 0x62, 0x75, 0x72,
+0x61, 0x72, 0x69, 0x3b, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x3b, 0x41, 0x70, 0x69, 0x72, 0x69, 0x72, 0x69, 0x3b, 0x4d, 0x65,
+0x69, 0x3b, 0x4a, 0x75, 0x6e, 0x69, 0x3b, 0x43, 0x68, 0x75, 0x6c, 0x61, 0x69, 0x3b, 0x41, 0x67, 0x6f, 0x73, 0x74, 0x69,
+0x3b, 0x53, 0x65, 0x70, 0x74, 0x65, 0x6d, 0x62, 0x61, 0x3b, 0x4f, 0x6b, 0x69, 0x74, 0x6f, 0x62, 0x61, 0x3b, 0x4e, 0x6f,
+0x62, 0x65, 0x6d, 0x62, 0x61, 0x3b, 0x44, 0x69, 0x73, 0x65, 0x6d, 0x62, 0x61, 0x3b, 0x43, 0x3b, 0x46, 0x3b, 0x4d, 0x3b,
+0x41, 0x3b, 0x4d, 0x3b, 0x4a, 0x3b, 0x43, 0x3b, 0x41, 0x3b, 0x53, 0x3b, 0x4f, 0x3b, 0x4e, 0x3b, 0x44, 0x3b, 0x49, 0x6d,
+0x62, 0x3b, 0x4b, 0x61, 0x77, 0x3b, 0x4b, 0x61, 0x64, 0x3b, 0x4b, 0x61, 0x6e, 0x3b, 0x4b, 0x61, 0x73, 0x3b, 0x4b, 0x61,
+0x72, 0x3b, 0x4d, 0x66, 0x75, 0x3b, 0x57, 0x75, 0x6e, 0x3b, 0x49, 0x6b, 0x65, 0x3b, 0x49, 0x6b, 0x75, 0x3b, 0x49, 0x6d,
+0x77, 0x3b, 0x49, 0x77, 0x69, 0x3b, 0x4d, 0x6f, 0x72, 0x69, 0x20, 0x67, 0x68, 0x77, 0x61, 0x20, 0x69, 0x6d, 0x62, 0x69,
+0x72, 0x69, 0x3b, 0x4d, 0x6f, 0x72, 0x69, 0x20, 0x67, 0x68, 0x77, 0x61, 0x20, 0x6b, 0x61, 0x77, 0x69, 0x3b, 0x4d, 0x6f,
+0x72, 0x69, 0x20, 0x67, 0x68, 0x77, 0x61, 0x20, 0x6b, 0x61, 0x64, 0x61, 0x64, 0x75, 0x3b, 0x4d, 0x6f, 0x72, 0x69, 0x20,
+0x67, 0x68, 0x77, 0x61, 0x20, 0x6b, 0x61, 0x6e, 0x61, 0x3b, 0x4d, 0x6f, 0x72, 0x69, 0x20, 0x67, 0x68, 0x77, 0x61, 0x20,
+0x6b, 0x61, 0x73, 0x61, 0x6e, 0x75, 0x3b, 0x4d, 0x6f, 0x72, 0x69, 0x20, 0x67, 0x68, 0x77, 0x61, 0x20, 0x6b, 0x61, 0x72,
+0x61, 0x6e, 0x64, 0x61, 0x64, 0x75, 0x3b, 0x4d, 0x6f, 0x72, 0x69, 0x20, 0x67, 0x68, 0x77, 0x61, 0x20, 0x6d, 0x66, 0x75,
+0x6e, 0x67, 0x61, 0x64, 0x65, 0x3b, 0x4d, 0x6f, 0x72, 0x69, 0x20, 0x67, 0x68, 0x77, 0x61, 0x20, 0x77, 0x75, 0x6e, 0x79,
+0x61, 0x6e, 0x79, 0x61, 0x3b, 0x4d, 0x6f, 0x72, 0x69, 0x20, 0x67, 0x68, 0x77, 0x61, 0x20, 0x69, 0x6b, 0x65, 0x6e, 0x64,
+0x61, 0x3b, 0x4d, 0x6f, 0x72, 0x69, 0x20, 0x67, 0x68, 0x77, 0x61, 0x20, 0x69, 0x6b, 0x75, 0x6d, 0x69, 0x3b, 0x4d, 0x6f,
+0x72, 0x69, 0x20, 0x67, 0x68, 0x77, 0x61, 0x20, 0x69, 0x6b, 0x75, 0x6d, 0x69, 0x20, 0x6e, 0x61, 0x20, 0x69, 0x6d, 0x77,
+0x65, 0x72, 0x69, 0x3b, 0x4d, 0x6f, 0x72, 0x69, 0x20, 0x67, 0x68, 0x77, 0x61, 0x20, 0x69, 0x6b, 0x75, 0x6d, 0x69, 0x20,
+0x6e, 0x61, 0x20, 0x69, 0x77, 0x69, 0x3b, 0x49, 0x3b, 0x4b, 0x3b, 0x4b, 0x3b, 0x4b, 0x3b, 0x4b, 0x3b, 0x4b, 0x3b, 0x4d,
+0x3b, 0x57, 0x3b, 0x49, 0x3b, 0x49, 0x3b, 0x49, 0x3b, 0x49, 0x3b, 0x73, 0x69, 0x69, 0x3b, 0x63, 0x6f, 0x6c, 0x3b, 0x6d,
+0x62, 0x6f, 0x3b, 0x73, 0x65, 0x65, 0x3b, 0x64, 0x75, 0x75, 0x3b, 0x6b, 0x6f, 0x72, 0x3b, 0x6d, 0x6f, 0x72, 0x3b, 0x6a,
+0x75, 0x6b, 0x3b, 0x73, 0x6c, 0x74, 0x3b, 0x79, 0x61, 0x72, 0x3b, 0x6a, 0x6f, 0x6c, 0x3b, 0x62, 0x6f, 0x77, 0x3b, 0x73,
+0x69, 0x69, 0x6c, 0x6f, 0x3b, 0x63, 0x6f, 0x6c, 0x74, 0x65, 0x3b, 0x6d, 0x62, 0x6f, 0x6f, 0x79, 0x3b, 0x73, 0x65, 0x65,
+0x257, 0x74, 0x6f, 0x3b, 0x64, 0x75, 0x75, 0x6a, 0x61, 0x6c, 0x3b, 0x6b, 0x6f, 0x72, 0x73, 0x65, 0x3b, 0x6d, 0x6f, 0x72,
+0x73, 0x6f, 0x3b, 0x6a, 0x75, 0x6b, 0x6f, 0x3b, 0x73, 0x69, 0x69, 0x6c, 0x74, 0x6f, 0x3b, 0x79, 0x61, 0x72, 0x6b, 0x6f,
+0x6d, 0x61, 0x61, 0x3b, 0x6a, 0x6f, 0x6c, 0x61, 0x6c, 0x3b, 0x62, 0x6f, 0x77, 0x74, 0x65, 0x3b, 0x73, 0x3b, 0x63, 0x3b,
+0x6d, 0x3b, 0x73, 0x3b, 0x64, 0x3b, 0x6b, 0x3b, 0x6d, 0x3b, 0x6a, 0x3b, 0x73, 0x3b, 0x79, 0x3b, 0x6a, 0x3b, 0x62, 0x3b,
+0x4a, 0x45, 0x4e, 0x3b, 0x57, 0x4b, 0x52, 0x3b, 0x57, 0x47, 0x54, 0x3b, 0x57, 0x4b, 0x4e, 0x3b, 0x57, 0x54, 0x4e, 0x3b,
+0x57, 0x54, 0x44, 0x3b, 0x57, 0x4d, 0x4a, 0x3b, 0x57, 0x4e, 0x4e, 0x3b, 0x57, 0x4b, 0x44, 0x3b, 0x57, 0x49, 0x4b, 0x3b,
+0x57, 0x4d, 0x57, 0x3b, 0x44, 0x49, 0x54, 0x3b, 0x4e, 0x6a, 0x65, 0x6e, 0x75, 0x61, 0x72, 0x129, 0x3b, 0x4d, 0x77, 0x65,
+0x72, 0x65, 0x20, 0x77, 0x61, 0x20, 0x6b, 0x65, 0x72, 0x129, 0x3b, 0x4d, 0x77, 0x65, 0x72, 0x65, 0x20, 0x77, 0x61, 0x20,
+0x67, 0x61, 0x74, 0x61, 0x74, 0x169, 0x3b, 0x4d, 0x77, 0x65, 0x72, 0x65, 0x20, 0x77, 0x61, 0x20, 0x6b, 0x61, 0x6e, 0x61,
+0x3b, 0x4d, 0x77, 0x65, 0x72, 0x65, 0x20, 0x77, 0x61, 0x20, 0x67, 0x61, 0x74, 0x61, 0x6e, 0x6f, 0x3b, 0x4d, 0x77, 0x65,
+0x72, 0x65, 0x20, 0x77, 0x61, 0x20, 0x67, 0x61, 0x74, 0x61, 0x6e, 0x64, 0x61, 0x74, 0x169, 0x3b, 0x4d, 0x77, 0x65, 0x72,
+0x65, 0x20, 0x77, 0x61, 0x20, 0x6d, 0x169, 0x67, 0x77, 0x61, 0x6e, 0x6a, 0x61, 0x3b, 0x4d, 0x77, 0x65, 0x72, 0x65, 0x20,
+0x77, 0x61, 0x20, 0x6b, 0x61, 0x6e, 0x61, 0x6e, 0x61, 0x3b, 0x4d, 0x77, 0x65, 0x72, 0x65, 0x20, 0x77, 0x61, 0x20, 0x6b,
+0x65, 0x6e, 0x64, 0x61, 0x3b, 0x4d, 0x77, 0x65, 0x72, 0x65, 0x20, 0x77, 0x61, 0x20, 0x69, 0x6b, 0x169, 0x6d, 0x69, 0x3b,
+0x4d, 0x77, 0x65, 0x72, 0x65, 0x20, 0x77, 0x61, 0x20, 0x69, 0x6b, 0x169, 0x6d, 0x69, 0x20, 0x6e, 0x61, 0x20, 0x169, 0x6d,
+0x77, 0x65, 0x3b, 0x4e, 0x64, 0x69, 0x74, 0x68, 0x65, 0x6d, 0x62, 0x61, 0x3b, 0x4a, 0x3b, 0x4b, 0x3b, 0x47, 0x3b, 0x4b,
+0x3b, 0x47, 0x3b, 0x47, 0x3b, 0x4d, 0x3b, 0x4b, 0x3b, 0x4b, 0x3b, 0x49, 0x3b, 0x49, 0x3b, 0x44, 0x3b, 0x4f, 0x62, 0x6f,
+0x3b, 0x57, 0x61, 0x61, 0x3b, 0x4f, 0x6b, 0x75, 0x3b, 0x4f, 0x6e, 0x67, 0x3b, 0x49, 0x6d, 0x65, 0x3b, 0x49, 0x6c, 0x65,
+0x3b, 0x53, 0x61, 0x70, 0x3b, 0x49, 0x73, 0x69, 0x3b, 0x53, 0x61, 0x61, 0x3b, 0x54, 0x6f, 0x6d, 0x3b, 0x54, 0x6f, 0x62,
+0x3b, 0x54, 0x6f, 0x77, 0x3b, 0x4c, 0x61, 0x70, 0x61, 0x20, 0x6c, 0x65, 0x20, 0x6f, 0x62, 0x6f, 0x3b, 0x4c, 0x61, 0x70,
+0x61, 0x20, 0x6c, 0x65, 0x20, 0x77, 0x61, 0x61, 0x72, 0x65, 0x3b, 0x4c, 0x61, 0x70, 0x61, 0x20, 0x6c, 0x65, 0x20, 0x6f,
+0x6b, 0x75, 0x6e, 0x69, 0x3b, 0x4c, 0x61, 0x70, 0x61, 0x20, 0x6c, 0x65, 0x20, 0x6f, 0x6e, 0x67, 0x27, 0x77, 0x61, 0x6e,
+0x3b, 0x4c, 0x61, 0x70, 0x61, 0x20, 0x6c, 0x65, 0x20, 0x69, 0x6d, 0x65, 0x74, 0x3b, 0x4c, 0x61, 0x70, 0x61, 0x20, 0x6c,
+0x65, 0x20, 0x69, 0x6c, 0x65, 0x3b, 0x4c, 0x61, 0x70, 0x61, 0x20, 0x6c, 0x65, 0x20, 0x73, 0x61, 0x70, 0x61, 0x3b, 0x4c,
+0x61, 0x70, 0x61, 0x20, 0x6c, 0x65, 0x20, 0x69, 0x73, 0x69, 0x65, 0x74, 0x3b, 0x4c, 0x61, 0x70, 0x61, 0x20, 0x6c, 0x65,
+0x20, 0x73, 0x61, 0x61, 0x6c, 0x3b, 0x4c, 0x61, 0x70, 0x61, 0x20, 0x6c, 0x65, 0x20, 0x74, 0x6f, 0x6d, 0x6f, 0x6e, 0x3b,
+0x4c, 0x61, 0x70, 0x61, 0x20, 0x6c, 0x65, 0x20, 0x74, 0x6f, 0x6d, 0x6f, 0x6e, 0x20, 0x6f, 0x62, 0x6f, 0x3b, 0x4c, 0x61,
+0x70, 0x61, 0x20, 0x6c, 0x65, 0x20, 0x74, 0x6f, 0x6d, 0x6f, 0x6e, 0x20, 0x77, 0x61, 0x61, 0x72, 0x65, 0x3b, 0x4f, 0x3b,
+0x57, 0x3b, 0x4f, 0x3b, 0x4f, 0x3b, 0x49, 0x3b, 0x49, 0x3b, 0x53, 0x3b, 0x49, 0x3b, 0x53, 0x3b, 0x54, 0x3b, 0x54, 0x3b,
+0x54, 0x3b, 0x4a, 0x61, 0x6e, 0x3b, 0x46, 0x65, 0x76, 0x3b, 0x4d, 0x61, 0x72, 0x3b, 0x41, 0x62, 0x72, 0x3b, 0x4d, 0x61,
+0x69, 0x3b, 0x4a, 0x75, 0x6e, 0x3b, 0x4a, 0x75, 0x6c, 0x3b, 0x41, 0x75, 0x67, 0x3b, 0x53, 0x65, 0x74, 0x3b, 0x4f, 0x74,
+0x75, 0x3b, 0x4e, 0x6f, 0x76, 0x3b, 0x44, 0x65, 0x63, 0x3b, 0x4a, 0x61, 0x6e, 0x65, 0x69, 0x72, 0x6f, 0x3b, 0x46, 0x65,
+0x76, 0x72, 0x65, 0x69, 0x72, 0x6f, 0x3b, 0x4d, 0x61, 0x72, 0x63, 0x6f, 0x3b, 0x41, 0x62, 0x72, 0x69, 0x6c, 0x3b, 0x4d,
+0x61, 0x69, 0x6f, 0x3b, 0x4a, 0x75, 0x6e, 0x68, 0x6f, 0x3b, 0x4a, 0x75, 0x6c, 0x68, 0x6f, 0x3b, 0x41, 0x75, 0x67, 0x75,
+0x73, 0x74, 0x6f, 0x3b, 0x53, 0x65, 0x74, 0x65, 0x6d, 0x62, 0x72, 0x6f, 0x3b, 0x4f, 0x74, 0x75, 0x62, 0x72, 0x6f, 0x3b,
+0x4e, 0x6f, 0x76, 0x65, 0x6d, 0x62, 0x72, 0x6f, 0x3b, 0x44, 0x65, 0x63, 0x65, 0x6d, 0x62, 0x72, 0x6f, 0x3b, 0x5a, 0x69,
+0x62, 0x3b, 0x4e, 0x68, 0x6c, 0x3b, 0x4d, 0x62, 0x69, 0x3b, 0x4d, 0x61, 0x62, 0x3b, 0x4e, 0x6b, 0x77, 0x3b, 0x4e, 0x68,
+0x6c, 0x3b, 0x4e, 0x74, 0x75, 0x3b, 0x4e, 0x63, 0x77, 0x3b, 0x4d, 0x70, 0x61, 0x3b, 0x4d, 0x66, 0x75, 0x3b, 0x4c, 0x77,
+0x65, 0x3b, 0x4d, 0x70, 0x61, 0x3b, 0x5a, 0x69, 0x62, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x6c, 0x61, 0x3b, 0x4e, 0x68, 0x6c,
+0x6f, 0x6c, 0x61, 0x6e, 0x6a, 0x61, 0x3b, 0x4d, 0x62, 0x69, 0x6d, 0x62, 0x69, 0x74, 0x68, 0x6f, 0x3b, 0x4d, 0x61, 0x62,
+0x61, 0x73, 0x61, 0x3b, 0x4e, 0x6b, 0x77, 0x65, 0x6e, 0x6b, 0x77, 0x65, 0x7a, 0x69, 0x3b, 0x4e, 0x68, 0x6c, 0x61, 0x6e,
+0x67, 0x75, 0x6c, 0x61, 0x3b, 0x4e, 0x74, 0x75, 0x6c, 0x69, 0x6b, 0x61, 0x7a, 0x69, 0x3b, 0x4e, 0x63, 0x77, 0x61, 0x62,
+0x61, 0x6b, 0x61, 0x7a, 0x69, 0x3b, 0x4d, 0x70, 0x61, 0x6e, 0x64, 0x75, 0x6c, 0x61, 0x3b, 0x4d, 0x66, 0x75, 0x6d, 0x66,
+0x75, 0x3b, 0x4c, 0x77, 0x65, 0x7a, 0x69, 0x3b, 0x4d, 0x70, 0x61, 0x6c, 0x61, 0x6b, 0x61, 0x7a, 0x69, 0x3b, 0x5a, 0x3b,
+0x4e, 0x3b, 0x4d, 0x3b, 0x4d, 0x3b, 0x4e, 0x3b, 0x4e, 0x3b, 0x4e, 0x3b, 0x4e, 0x3b, 0x4d, 0x3b, 0x4d, 0x3b, 0x4c, 0x3b,
+0x4d, 0x3b, 0x4d, 0x31, 0x3b, 0x4d, 0x32, 0x3b, 0x4d, 0x33, 0x3b, 0x4d, 0x34, 0x3b, 0x4d, 0x35, 0x3b, 0x4d, 0x36, 0x3b,
+0x4d, 0x37, 0x3b, 0x4d, 0x38, 0x3b, 0x4d, 0x39, 0x3b, 0x4d, 0x31, 0x30, 0x3b, 0x4d, 0x31, 0x31, 0x3b, 0x4d, 0x31, 0x32,
+0x3b, 0x4d, 0x77, 0x65, 0x72, 0x69, 0x20, 0x77, 0x61, 0x20, 0x6b, 0x77, 0x61, 0x6e, 0x7a, 0x61, 0x3b, 0x4d, 0x77, 0x65,
+0x72, 0x69, 0x20, 0x77, 0x61, 0x20, 0x6b, 0x61, 0x69, 0x6c, 0x69, 0x3b, 0x4d, 0x77, 0x65, 0x72, 0x69, 0x20, 0x77, 0x61,
+0x20, 0x6b, 0x61, 0x74, 0x61, 0x74, 0x75, 0x3b, 0x4d, 0x77, 0x65, 0x72, 0x69, 0x20, 0x77, 0x61, 0x20, 0x6b, 0x61, 0x61,
+0x6e, 0x61, 0x3b, 0x4d, 0x77, 0x65, 0x72, 0x69, 0x20, 0x77, 0x61, 0x20, 0x74, 0x61, 0x6e, 0x75, 0x3b, 0x4d, 0x77, 0x65,
+0x72, 0x69, 0x20, 0x77, 0x61, 0x20, 0x73, 0x69, 0x74, 0x61, 0x3b, 0x4d, 0x77, 0x65, 0x72, 0x69, 0x20, 0x77, 0x61, 0x20,
+0x73, 0x61, 0x62, 0x61, 0x3b, 0x4d, 0x77, 0x65, 0x72, 0x69, 0x20, 0x77, 0x61, 0x20, 0x6e, 0x61, 0x6e, 0x65, 0x3b, 0x4d,
+0x77, 0x65, 0x72, 0x69, 0x20, 0x77, 0x61, 0x20, 0x74, 0x69, 0x73, 0x61, 0x3b, 0x4d, 0x77, 0x65, 0x72, 0x69, 0x20, 0x77,
+0x61, 0x20, 0x69, 0x6b, 0x75, 0x6d, 0x69, 0x3b, 0x4d, 0x77, 0x65, 0x72, 0x69, 0x20, 0x77, 0x61, 0x20, 0x69, 0x6b, 0x75,
+0x6d, 0x69, 0x20, 0x6e, 0x61, 0x20, 0x6d, 0x6f, 0x6a, 0x61, 0x3b, 0x4d, 0x77, 0x65, 0x72, 0x69, 0x20, 0x77, 0x61, 0x20,
+0x69, 0x6b, 0x75, 0x6d, 0x69, 0x20, 0x6e, 0x61, 0x20, 0x6d, 0x62, 0x69, 0x6c, 0x69, 0x3b, 0x4b, 0x3b, 0x4b, 0x3b, 0x4b,
+0x3b, 0x4b, 0x3b, 0x54, 0x3b, 0x53, 0x3b, 0x53, 0x3b, 0x4e, 0x3b, 0x54, 0x3b, 0x49, 0x3b, 0x49, 0x3b, 0x49, 0x3b, 0x69,
+0x6e, 0x6e, 0x3b, 0x62, 0x1e5b, 0x61, 0x3b, 0x6d, 0x61, 0x1e5b, 0x3b, 0x69, 0x62, 0x72, 0x3b, 0x6d, 0x61, 0x79, 0x3b, 0x79,
+0x75, 0x6e, 0x3b, 0x79, 0x75, 0x6c, 0x3b, 0x263, 0x75, 0x63, 0x3b, 0x63, 0x75, 0x74, 0x3b, 0x6b, 0x74, 0x75, 0x3b, 0x6e,
+0x75, 0x77, 0x3b, 0x64, 0x75, 0x6a, 0x3b, 0x69, 0x6e, 0x6e, 0x61, 0x79, 0x72, 0x3b, 0x62, 0x1e5b, 0x61, 0x79, 0x1e5b, 0x3b,
+0x6d, 0x61, 0x1e5b, 0x1e63, 0x3b, 0x69, 0x62, 0x72, 0x69, 0x72, 0x3b, 0x6d, 0x61, 0x79, 0x79, 0x75, 0x3b, 0x79, 0x75, 0x6e,
+0x79, 0x75, 0x3b, 0x79, 0x75, 0x6c, 0x79, 0x75, 0x7a, 0x3b, 0x263, 0x75, 0x63, 0x74, 0x3b, 0x63, 0x75, 0x74, 0x61, 0x6e,
+0x62, 0x69, 0x72, 0x3b, 0x6b, 0x74, 0x75, 0x62, 0x72, 0x3b, 0x6e, 0x75, 0x77, 0x61, 0x6e, 0x62, 0x69, 0x72, 0x3b, 0x64,
+0x75, 0x6a, 0x61, 0x6e, 0x62, 0x69, 0x72, 0x3b, 0x69, 0x3b, 0x62, 0x3b, 0x6d, 0x3b, 0x69, 0x3b, 0x6d, 0x3b, 0x79, 0x3b,
+0x79, 0x3b, 0x263, 0x3b, 0x63, 0x3b, 0x6b, 0x3b, 0x6e, 0x3b, 0x64, 0x3b, 0x59, 0x65, 0x6e, 0x3b, 0x46, 0x75, 0x72, 0x3b,
+0x4d, 0x65, 0x263, 0x3b, 0x59, 0x65, 0x62, 0x3b, 0x4d, 0x61, 0x79, 0x3b, 0x59, 0x75, 0x6e, 0x3b, 0x59, 0x75, 0x6c, 0x3b,
+0x194, 0x75, 0x63, 0x3b, 0x43, 0x74, 0x65, 0x3b, 0x54, 0x75, 0x62, 0x3b, 0x4e, 0x75, 0x6e, 0x3b, 0x44, 0x75, 0x1e7, 0x3b,
+0x59, 0x65, 0x6e, 0x6e, 0x61, 0x79, 0x65, 0x72, 0x3b, 0x46, 0x75, 0x1e5b, 0x61, 0x72, 0x3b, 0x4d, 0x65, 0x263, 0x72, 0x65,
+0x73, 0x3b, 0x59, 0x65, 0x62, 0x72, 0x69, 0x72, 0x3b, 0x4d, 0x61, 0x79, 0x79, 0x75, 0x3b, 0x59, 0x75, 0x6e, 0x79, 0x75,
+0x3b, 0x59, 0x75, 0x6c, 0x79, 0x75, 0x3b, 0x194, 0x75, 0x63, 0x74, 0x3b, 0x43, 0x74, 0x65, 0x6d, 0x62, 0x65, 0x1e5b, 0x3b,
+0x54, 0x75, 0x62, 0x65, 0x1e5b, 0x3b, 0x4e, 0x75, 0x6e, 0x65, 0x6d, 0x62, 0x65, 0x1e5b, 0x3b, 0x44, 0x75, 0x1e7, 0x65, 0x6d,
+0x62, 0x65, 0x1e5b, 0x3b, 0x59, 0x3b, 0x46, 0x3b, 0x4d, 0x3b, 0x59, 0x3b, 0x4d, 0x3b, 0x59, 0x3b, 0x59, 0x3b, 0x194, 0x3b,
+0x43, 0x3b, 0x54, 0x3b, 0x4e, 0x3b, 0x44, 0x3b, 0x4b, 0x42, 0x5a, 0x3b, 0x4b, 0x42, 0x52, 0x3b, 0x4b, 0x53, 0x54, 0x3b,
+0x4b, 0x4b, 0x4e, 0x3b, 0x4b, 0x54, 0x4e, 0x3b, 0x4b, 0x4d, 0x4b, 0x3b, 0x4b, 0x4d, 0x53, 0x3b, 0x4b, 0x4d, 0x4e, 0x3b,
+0x4b, 0x4d, 0x4e, 0x3b, 0x4b, 0x4b, 0x4d, 0x3b, 0x4b, 0x4e, 0x4b, 0x3b, 0x4b, 0x4e, 0x42, 0x3b, 0x4f, 0x6b, 0x77, 0x6f,
+0x6b, 0x75, 0x62, 0x61, 0x6e, 0x7a, 0x61, 0x3b, 0x4f, 0x6b, 0x77, 0x61, 0x6b, 0x61, 0x62, 0x69, 0x72, 0x69, 0x3b, 0x4f,
+0x6b, 0x77, 0x61, 0x6b, 0x61, 0x73, 0x68, 0x61, 0x74, 0x75, 0x3b, 0x4f, 0x6b, 0x77, 0x61, 0x6b, 0x61, 0x6e, 0x61, 0x3b,
+0x4f, 0x6b, 0x77, 0x61, 0x6b, 0x61, 0x74, 0x61, 0x61, 0x6e, 0x61, 0x3b, 0x4f, 0x6b, 0x77, 0x61, 0x6d, 0x75, 0x6b, 0x61,
+0x61, 0x67, 0x61, 0x3b, 0x4f, 0x6b, 0x77, 0x61, 0x6d, 0x75, 0x73, 0x68, 0x61, 0x6e, 0x6a, 0x75, 0x3b, 0x4f, 0x6b, 0x77,
+0x61, 0x6d, 0x75, 0x6e, 0x61, 0x61, 0x6e, 0x61, 0x3b, 0x4f, 0x6b, 0x77, 0x61, 0x6d, 0x77, 0x65, 0x6e, 0x64, 0x61, 0x3b,
+0x4f, 0x6b, 0x77, 0x61, 0x69, 0x6b, 0x75, 0x6d, 0x69, 0x3b, 0x4f, 0x6b, 0x77, 0x61, 0x69, 0x6b, 0x75, 0x6d, 0x69, 0x20,
+0x6e, 0x61, 0x20, 0x6b, 0x75, 0x6d, 0x77, 0x65, 0x3b, 0x4f, 0x6b, 0x77, 0x61, 0x69, 0x6b, 0x75, 0x6d, 0x69, 0x20, 0x6e,
+0x61, 0x20, 0x69, 0x62, 0x69, 0x72, 0x69, 0x3b, 0x48, 0x75, 0x74, 0x3b, 0x56, 0x69, 0x6c, 0x3b, 0x44, 0x61, 0x74, 0x3b,
+0x54, 0x61, 0x69, 0x3b, 0x48, 0x61, 0x6e, 0x3b, 0x53, 0x69, 0x74, 0x3b, 0x53, 0x61, 0x62, 0x3b, 0x4e, 0x61, 0x6e, 0x3b,
+0x54, 0x69, 0x73, 0x3b, 0x4b, 0x75, 0x6d, 0x3b, 0x4b, 0x6d, 0x6a, 0x3b, 0x4b, 0x6d, 0x62, 0x3b, 0x70, 0x61, 0x20, 0x6d,
+0x77, 0x65, 0x64, 0x7a, 0x69, 0x20, 0x67, 0x77, 0x61, 0x20, 0x68, 0x75, 0x74, 0x61, 0x6c, 0x61, 0x3b, 0x70, 0x61, 0x20,
+0x6d, 0x77, 0x65, 0x64, 0x7a, 0x69, 0x20, 0x67, 0x77, 0x61, 0x20, 0x77, 0x75, 0x76, 0x69, 0x6c, 0x69, 0x3b, 0x70, 0x61,
+0x20, 0x6d, 0x77, 0x65, 0x64, 0x7a, 0x69, 0x20, 0x67, 0x77, 0x61, 0x20, 0x77, 0x75, 0x64, 0x61, 0x74, 0x75, 0x3b, 0x70,
+0x61, 0x20, 0x6d, 0x77, 0x65, 0x64, 0x7a, 0x69, 0x20, 0x67, 0x77, 0x61, 0x20, 0x77, 0x75, 0x74, 0x61, 0x69, 0x3b, 0x70,
+0x61, 0x20, 0x6d, 0x77, 0x65, 0x64, 0x7a, 0x69, 0x20, 0x67, 0x77, 0x61, 0x20, 0x77, 0x75, 0x68, 0x61, 0x6e, 0x75, 0x3b,
+0x70, 0x61, 0x20, 0x6d, 0x77, 0x65, 0x64, 0x7a, 0x69, 0x20, 0x67, 0x77, 0x61, 0x20, 0x73, 0x69, 0x74, 0x61, 0x3b, 0x70,
+0x61, 0x20, 0x6d, 0x77, 0x65, 0x64, 0x7a, 0x69, 0x20, 0x67, 0x77, 0x61, 0x20, 0x73, 0x61, 0x62, 0x61, 0x3b, 0x70, 0x61,
+0x20, 0x6d, 0x77, 0x65, 0x64, 0x7a, 0x69, 0x20, 0x67, 0x77, 0x61, 0x20, 0x6e, 0x61, 0x6e, 0x65, 0x3b, 0x70, 0x61, 0x20,
+0x6d, 0x77, 0x65, 0x64, 0x7a, 0x69, 0x20, 0x67, 0x77, 0x61, 0x20, 0x74, 0x69, 0x73, 0x61, 0x3b, 0x70, 0x61, 0x20, 0x6d,
+0x77, 0x65, 0x64, 0x7a, 0x69, 0x20, 0x67, 0x77, 0x61, 0x20, 0x6b, 0x75, 0x6d, 0x69, 0x3b, 0x70, 0x61, 0x20, 0x6d, 0x77,
+0x65, 0x64, 0x7a, 0x69, 0x20, 0x67, 0x77, 0x61, 0x20, 0x6b, 0x75, 0x6d, 0x69, 0x20, 0x6e, 0x61, 0x20, 0x6d, 0x6f, 0x6a,
+0x61, 0x3b, 0x70, 0x61, 0x20, 0x6d, 0x77, 0x65, 0x64, 0x7a, 0x69, 0x20, 0x67, 0x77, 0x61, 0x20, 0x6b, 0x75, 0x6d, 0x69,
+0x20, 0x6e, 0x61, 0x20, 0x6d, 0x62, 0x69, 0x6c, 0x69, 0x3b, 0x48, 0x3b, 0x56, 0x3b, 0x44, 0x3b, 0x54, 0x3b, 0x48, 0x3b,
+0x53, 0x3b, 0x53, 0x3b, 0x4e, 0x3b, 0x54, 0x3b, 0x4b, 0x3b, 0x4b, 0x3b, 0x4b, 0x3b, 0x4a, 0x61, 0x6e, 0x75, 0x61, 0x72,
+0x69, 0x3b, 0x46, 0x65, 0x62, 0x72, 0x75, 0x61, 0x72, 0x69, 0x3b, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x3b, 0x41, 0x70, 0x72,
+0x69, 0x6c, 0x79, 0x69, 0x3b, 0x4d, 0x65, 0x69, 0x3b, 0x4a, 0x75, 0x6e, 0x79, 0x69, 0x3b, 0x4a, 0x75, 0x6c, 0x79, 0x61,
+0x69, 0x3b, 0x41, 0x67, 0x75, 0x73, 0x74, 0x69, 0x3b, 0x53, 0x65, 0x70, 0x74, 0x65, 0x6d, 0x62, 0x61, 0x3b, 0x4f, 0x6b,
+0x74, 0x6f, 0x62, 0x61, 0x3b, 0x4e, 0x6f, 0x76, 0x65, 0x6d, 0x62, 0x61, 0x3b, 0x44, 0x65, 0x73, 0x65, 0x6d, 0x62, 0x61,
+0x3b, 0x7a, 0x61, 0x6e, 0x3b, 0x66, 0x65, 0x62, 0x3b, 0x6e, 0x61, 0x72, 0x3b, 0x61, 0x77, 0x69, 0x3b, 0x6d, 0x25b, 0x3b,
+0x7a, 0x75, 0x77, 0x3b, 0x7a, 0x75, 0x6c, 0x3b, 0x75, 0x74, 0x69, 0x3b, 0x73, 0x25b, 0x74, 0x3b, 0x254, 0x6b, 0x75, 0x3b,
+0x6e, 0x6f, 0x77, 0x3b, 0x64, 0x65, 0x73, 0x3b, 0x7a, 0x61, 0x6e, 0x77, 0x75, 0x79, 0x65, 0x3b, 0x66, 0x65, 0x62, 0x75,
+0x72, 0x75, 0x79, 0x65, 0x3b, 0x6d, 0x61, 0x72, 0x69, 0x73, 0x69, 0x3b, 0x61, 0x77, 0x69, 0x72, 0x69, 0x6c, 0x69, 0x3b,
+0x6d, 0x25b, 0x3b, 0x7a, 0x75, 0x77, 0x25b, 0x6e, 0x3b, 0x7a, 0x75, 0x6c, 0x75, 0x79, 0x65, 0x3b, 0x75, 0x74, 0x69, 0x3b,
+0x73, 0x25b, 0x74, 0x61, 0x6e, 0x62, 0x75, 0x72, 0x75, 0x3b, 0x254, 0x6b, 0x75, 0x74, 0x254, 0x62, 0x75, 0x72, 0x75, 0x3b,
+0x6e, 0x6f, 0x77, 0x61, 0x6e, 0x62, 0x75, 0x72, 0x75, 0x3b, 0x64, 0x65, 0x73, 0x61, 0x6e, 0x62, 0x75, 0x72, 0x75, 0x3b,
+0x5a, 0x3b, 0x46, 0x3b, 0x4d, 0x3b, 0x41, 0x3b, 0x4d, 0x3b, 0x5a, 0x3b, 0x5a, 0x3b, 0x55, 0x3b, 0x53, 0x3b, 0x186, 0x3b,
+0x4e, 0x3b, 0x44, 0x3b, 0x4d, 0x62, 0x65, 0x3b, 0x4b, 0x61, 0x69, 0x3b, 0x4b, 0x61, 0x74, 0x3b, 0x4b, 0x61, 0x6e, 0x3b,
+0x47, 0x61, 0x74, 0x3b, 0x47, 0x61, 0x6e, 0x3b, 0x4d, 0x75, 0x67, 0x3b, 0x4b, 0x6e, 0x6e, 0x3b, 0x4b, 0x65, 0x6e, 0x3b,
+0x49, 0x6b, 0x75, 0x3b, 0x49, 0x6d, 0x77, 0x3b, 0x49, 0x67, 0x69, 0x3b, 0x4d, 0x77, 0x65, 0x72, 0x69, 0x20, 0x77, 0x61,
+0x20, 0x6d, 0x62, 0x65, 0x72, 0x65, 0x3b, 0x4d, 0x77, 0x65, 0x72, 0x69, 0x20, 0x77, 0x61, 0x20, 0x6b, 0x61, 0x129, 0x72,
+0x69, 0x3b, 0x4d, 0x77, 0x65, 0x72, 0x69, 0x20, 0x77, 0x61, 0x20, 0x6b, 0x61, 0x74, 0x68, 0x61, 0x74, 0x169, 0x3b, 0x4d,
+0x77, 0x65, 0x72, 0x69, 0x20, 0x77, 0x61, 0x20, 0x6b, 0x61, 0x6e, 0x61, 0x3b, 0x4d, 0x77, 0x65, 0x72, 0x69, 0x20, 0x77,
+0x61, 0x20, 0x67, 0x61, 0x74, 0x61, 0x6e, 0x6f, 0x3b, 0x4d, 0x77, 0x65, 0x72, 0x69, 0x20, 0x77, 0x61, 0x20, 0x67, 0x61,
+0x74, 0x61, 0x6e, 0x74, 0x61, 0x74, 0x169, 0x3b, 0x4d, 0x77, 0x65, 0x72, 0x69, 0x20, 0x77, 0x61, 0x20, 0x6d, 0x169, 0x67,
+0x77, 0x61, 0x6e, 0x6a, 0x61, 0x3b, 0x4d, 0x77, 0x65, 0x72, 0x69, 0x20, 0x77, 0x61, 0x20, 0x6b, 0x61, 0x6e, 0x61, 0x6e,
+0x61, 0x3b, 0x4d, 0x77, 0x65, 0x72, 0x69, 0x20, 0x77, 0x61, 0x20, 0x6b, 0x65, 0x6e, 0x64, 0x61, 0x3b, 0x4d, 0x77, 0x65,
+0x72, 0x69, 0x20, 0x77, 0x61, 0x20, 0x69, 0x6b, 0x169, 0x6d, 0x69, 0x3b, 0x4d, 0x77, 0x65, 0x72, 0x69, 0x20, 0x77, 0x61,
+0x20, 0x69, 0x6b, 0x169, 0x6d, 0x69, 0x20, 0x6e, 0x61, 0x20, 0x169, 0x6d, 0x77, 0x65, 0x3b, 0x4d, 0x77, 0x65, 0x72, 0x69,
+0x20, 0x77, 0x61, 0x20, 0x69, 0x6b, 0x169, 0x6d, 0x69, 0x20, 0x6e, 0x61, 0x20, 0x4b, 0x61, 0x129, 0x72, 0x129, 0x3b, 0x4d,
+0x3b, 0x4b, 0x3b, 0x4b, 0x3b, 0x4b, 0x3b, 0x47, 0x3b, 0x47, 0x3b, 0x4d, 0x3b, 0x4b, 0x3b, 0x4b, 0x3b, 0x49, 0x3b, 0x49,
+0x3b, 0x49, 0x3b, 0x13a4, 0x13c3, 0x3b, 0x13a7, 0x13a6, 0x3b, 0x13a0, 0x13c5, 0x3b, 0x13a7, 0x13ec, 0x3b, 0x13a0, 0x13c2, 0x3b, 0x13d5, 0x13ad,
+0x3b, 0x13ab, 0x13f0, 0x3b, 0x13a6, 0x13b6, 0x3b, 0x13da, 0x13b5, 0x3b, 0x13da, 0x13c2, 0x3b, 0x13c5, 0x13d3, 0x3b, 0x13a4, 0x13cd, 0x3b, 0x13a4,
+0x13c3, 0x13b8, 0x13d4, 0x13c5, 0x3b, 0x13a7, 0x13a6, 0x13b5, 0x3b, 0x13a0, 0x13c5, 0x13f1, 0x3b, 0x13a7, 0x13ec, 0x13c2, 0x3b, 0x13a0, 0x13c2, 0x13cd,
+0x13ac, 0x13d8, 0x3b, 0x13d5, 0x13ad, 0x13b7, 0x13f1, 0x3b, 0x13ab, 0x13f0, 0x13c9, 0x13c2, 0x3b, 0x13a6, 0x13b6, 0x13c2, 0x3b, 0x13da, 0x13b5, 0x13cd,
+0x13d7, 0x3b, 0x13da, 0x13c2, 0x13c5, 0x13d7, 0x3b, 0x13c5, 0x13d3, 0x13d5, 0x13c6, 0x3b, 0x13a4, 0x13cd, 0x13a9, 0x13f1, 0x3b, 0x13a4, 0x3b, 0x13a7,
+0x3b, 0x13a0, 0x3b, 0x13a7, 0x3b, 0x13a0, 0x3b, 0x13d5, 0x3b, 0x13ab, 0x3b, 0x13a6, 0x3b, 0x13da, 0x3b, 0x13da, 0x3b, 0x13c5, 0x3b, 0x13a4,
+0x3b, 0x7a, 0x61, 0x6e, 0x3b, 0x66, 0x65, 0x76, 0x3b, 0x6d, 0x61, 0x72, 0x3b, 0x61, 0x76, 0x72, 0x3b, 0x6d, 0x65, 0x3b,
+0x7a, 0x69, 0x6e, 0x3b, 0x7a, 0x69, 0x6c, 0x3b, 0x6f, 0x75, 0x74, 0x3b, 0x73, 0x65, 0x70, 0x3b, 0x6f, 0x6b, 0x74, 0x3b,
+0x6e, 0x6f, 0x76, 0x3b, 0x64, 0x65, 0x73, 0x3b, 0x7a, 0x61, 0x6e, 0x76, 0x69, 0x65, 0x3b, 0x66, 0x65, 0x76, 0x72, 0x69,
+0x79, 0x65, 0x3b, 0x6d, 0x61, 0x72, 0x73, 0x3b, 0x61, 0x76, 0x72, 0x69, 0x6c, 0x3b, 0x6d, 0x65, 0x3b, 0x7a, 0x69, 0x6e,
+0x3b, 0x7a, 0x69, 0x6c, 0x79, 0x65, 0x3b, 0x6f, 0x75, 0x74, 0x3b, 0x73, 0x65, 0x70, 0x74, 0x61, 0x6d, 0x3b, 0x6f, 0x6b,
+0x74, 0x6f, 0x62, 0x3b, 0x6e, 0x6f, 0x76, 0x61, 0x6d, 0x3b, 0x64, 0x65, 0x73, 0x61, 0x6d, 0x3b, 0x7a, 0x3b, 0x66, 0x3b,
+0x6d, 0x3b, 0x61, 0x3b, 0x6d, 0x3b, 0x7a, 0x3b, 0x7a, 0x3b, 0x6f, 0x3b, 0x73, 0x3b, 0x6f, 0x3b, 0x6e, 0x3b, 0x64, 0x3b,
+0x4d, 0x77, 0x65, 0x64, 0x69, 0x20, 0x4e, 0x74, 0x61, 0x6e, 0x64, 0x69, 0x3b, 0x4d, 0x77, 0x65, 0x64, 0x69, 0x20, 0x77,
+0x61, 0x20, 0x50, 0x69, 0x6c, 0x69, 0x3b, 0x4d, 0x77, 0x65, 0x64, 0x69, 0x20, 0x77, 0x61, 0x20, 0x54, 0x61, 0x74, 0x75,
+0x3b, 0x4d, 0x77, 0x65, 0x64, 0x69, 0x20, 0x77, 0x61, 0x20, 0x4e, 0x63, 0x68, 0x65, 0x63, 0x68, 0x69, 0x3b, 0x4d, 0x77,
+0x65, 0x64, 0x69, 0x20, 0x77, 0x61, 0x20, 0x4e, 0x6e, 0x79, 0x61, 0x6e, 0x6f, 0x3b, 0x4d, 0x77, 0x65, 0x64, 0x69, 0x20,
+0x77, 0x61, 0x20, 0x4e, 0x6e, 0x79, 0x61, 0x6e, 0x6f, 0x20, 0x6e, 0x61, 0x20, 0x55, 0x6d, 0x6f, 0x3b, 0x4d, 0x77, 0x65,
+0x64, 0x69, 0x20, 0x77, 0x61, 0x20, 0x4e, 0x6e, 0x79, 0x61, 0x6e, 0x6f, 0x20, 0x6e, 0x61, 0x20, 0x4d, 0x69, 0x76, 0x69,
+0x6c, 0x69, 0x3b, 0x4d, 0x77, 0x65, 0x64, 0x69, 0x20, 0x77, 0x61, 0x20, 0x4e, 0x6e, 0x79, 0x61, 0x6e, 0x6f, 0x20, 0x6e,
+0x61, 0x20, 0x4d, 0x69, 0x74, 0x61, 0x74, 0x75, 0x3b, 0x4d, 0x77, 0x65, 0x64, 0x69, 0x20, 0x77, 0x61, 0x20, 0x4e, 0x6e,
+0x79, 0x61, 0x6e, 0x6f, 0x20, 0x6e, 0x61, 0x20, 0x4e, 0x63, 0x68, 0x65, 0x63, 0x68, 0x69, 0x3b, 0x4d, 0x77, 0x65, 0x64,
+0x69, 0x20, 0x77, 0x61, 0x20, 0x4e, 0x6e, 0x79, 0x61, 0x6e, 0x6f, 0x20, 0x6e, 0x61, 0x20, 0x4e, 0x6e, 0x79, 0x61, 0x6e,
+0x6f, 0x3b, 0x4d, 0x77, 0x65, 0x64, 0x69, 0x20, 0x77, 0x61, 0x20, 0x4e, 0x6e, 0x79, 0x61, 0x6e, 0x6f, 0x20, 0x6e, 0x61,
+0x20, 0x4e, 0x6e, 0x79, 0x61, 0x6e, 0x6f, 0x20, 0x6e, 0x61, 0x20, 0x55, 0x3b, 0x4d, 0x77, 0x65, 0x64, 0x69, 0x20, 0x77,
+0x61, 0x20, 0x4e, 0x6e, 0x79, 0x61, 0x6e, 0x6f, 0x20, 0x6e, 0x61, 0x20, 0x4e, 0x6e, 0x79, 0x61, 0x6e, 0x6f, 0x20, 0x6e,
+0x61, 0x20, 0x4d, 0x3b, 0x46, 0xfa, 0x6e, 0x67, 0x61, 0x74, 0x268, 0x3b, 0x4e, 0x61, 0x61, 0x6e, 0x268, 0x3b, 0x4b, 0x65,
+0x65, 0x6e, 0x64, 0x61, 0x3b, 0x49, 0x6b, 0xfa, 0x6d, 0x69, 0x3b, 0x49, 0x6e, 0x79, 0x61, 0x6d, 0x62, 0x61, 0x6c, 0x61,
+0x3b, 0x49, 0x64, 0x77, 0x61, 0x61, 0x74, 0x61, 0x3b, 0x4d, 0x289, 0x289, 0x6e, 0x63, 0x68, 0x268, 0x3b, 0x56, 0x268, 0x268,
+0x72, 0x268, 0x3b, 0x53, 0x61, 0x61, 0x74, 0x289, 0x3b, 0x49, 0x6e, 0x79, 0x69, 0x3b, 0x53, 0x61, 0x61, 0x6e, 0x6f, 0x3b,
+0x53, 0x61, 0x73, 0x61, 0x74, 0x289, 0x3b, 0x4b, 0x289, 0x66, 0xfa, 0x6e, 0x67, 0x61, 0x74, 0x268, 0x3b, 0x4b, 0x289, 0x6e,
+0x61, 0x61, 0x6e, 0x268, 0x3b, 0x4b, 0x289, 0x6b, 0x65, 0x65, 0x6e, 0x64, 0x61, 0x3b, 0x4b, 0x77, 0x69, 0x69, 0x6b, 0x75,
+0x6d, 0x69, 0x3b, 0x4b, 0x77, 0x69, 0x69, 0x6e, 0x79, 0x61, 0x6d, 0x62, 0xe1, 0x6c, 0x61, 0x3b, 0x4b, 0x77, 0x69, 0x69,
+0x64, 0x77, 0x61, 0x61, 0x74, 0x61, 0x3b, 0x4b, 0x289, 0x6d, 0x289, 0x289, 0x6e, 0x63, 0x68, 0x268, 0x3b, 0x4b, 0x289, 0x76,
+0x268, 0x268, 0x72, 0x268, 0x3b, 0x4b, 0x289, 0x73, 0x61, 0x61, 0x74, 0x289, 0x3b, 0x4b, 0x77, 0x69, 0x69, 0x6e, 0x79, 0x69,
+0x3b, 0x4b, 0x289, 0x73, 0x61, 0x61, 0x6e, 0x6f, 0x3b, 0x4b, 0x289, 0x73, 0x61, 0x73, 0x61, 0x74, 0x289, 0x3b, 0x46, 0x3b,
+0x4e, 0x3b, 0x4b, 0x3b, 0x49, 0x3b, 0x49, 0x3b, 0x49, 0x3b, 0x4d, 0x3b, 0x56, 0x3b, 0x53, 0x3b, 0x49, 0x3b, 0x53, 0x3b,
+0x53, 0x3b, 0x4a, 0x61, 0x6e, 0x3b, 0x46, 0x65, 0x62, 0x3b, 0x4d, 0x61, 0x72, 0x3b, 0x41, 0x70, 0x75, 0x3b, 0x4d, 0x61,
+0x61, 0x3b, 0x4a, 0x75, 0x75, 0x3b, 0x4a, 0x75, 0x6c, 0x3b, 0x41, 0x67, 0x75, 0x3b, 0x53, 0x65, 0x62, 0x3b, 0x4f, 0x6b,
+0x69, 0x3b, 0x4e, 0x6f, 0x76, 0x3b, 0x44, 0x65, 0x73, 0x3b, 0x4a, 0x61, 0x6e, 0x77, 0x61, 0x6c, 0x69, 0x79, 0x6f, 0x3b,
+0x46, 0x65, 0x62, 0x77, 0x61, 0x6c, 0x69, 0x79, 0x6f, 0x3b, 0x4d, 0x61, 0x72, 0x69, 0x73, 0x69, 0x3b, 0x41, 0x70, 0x75,
+0x6c, 0x69, 0x3b, 0x4d, 0x61, 0x61, 0x79, 0x69, 0x3b, 0x4a, 0x75, 0x75, 0x6e, 0x69, 0x3b, 0x4a, 0x75, 0x6c, 0x61, 0x61,
+0x79, 0x69, 0x3b, 0x41, 0x67, 0x75, 0x73, 0x69, 0x74, 0x6f, 0x3b, 0x53, 0x65, 0x62, 0x75, 0x74, 0x74, 0x65, 0x6d, 0x62,
+0x61, 0x3b, 0x4f, 0x6b, 0x69, 0x74, 0x6f, 0x62, 0x62, 0x61, 0x3b, 0x4e, 0x6f, 0x76, 0x65, 0x6d, 0x62, 0x61, 0x3b, 0x44,
+0x65, 0x73, 0x65, 0x6d, 0x62, 0x61, 0x3b, 0x4a, 0x61, 0x6e, 0x3b, 0x46, 0x65, 0x62, 0x3b, 0x4d, 0x61, 0x63, 0x3b, 0x45,
+0x70, 0x72, 0x3b, 0x4d, 0x65, 0x69, 0x3b, 0x4a, 0x75, 0x6e, 0x3b, 0x4a, 0x75, 0x6c, 0x3b, 0x4f, 0x67, 0x61, 0x3b, 0x53,
+0x65, 0x70, 0x3b, 0x4f, 0x6b, 0x74, 0x3b, 0x4e, 0x6f, 0x76, 0x3b, 0x44, 0x69, 0x73, 0x3b, 0x4a, 0x61, 0x6e, 0x75, 0x61,
+0x72, 0x69, 0x3b, 0x46, 0x65, 0x62, 0x72, 0x75, 0x61, 0x72, 0x69, 0x3b, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x3b, 0x45, 0x70,
+0x72, 0x65, 0x6f, 0x3b, 0x4d, 0x65, 0x69, 0x3b, 0x4a, 0x75, 0x6e, 0x69, 0x3b, 0x4a, 0x75, 0x6c, 0x61, 0x69, 0x3b, 0x4f,
+0x67, 0x61, 0x73, 0x74, 0x69, 0x3b, 0x53, 0x65, 0x70, 0x74, 0x65, 0x6d, 0x62, 0x61, 0x3b, 0x4f, 0x6b, 0x74, 0x6f, 0x62,
+0x61, 0x3b, 0x4e, 0x6f, 0x76, 0x65, 0x6d, 0x62, 0x61, 0x3b, 0x44, 0x69, 0x73, 0x65, 0x6d, 0x62, 0x61, 0x3b, 0x4a, 0x3b,
+0x46, 0x3b, 0x4d, 0x3b, 0x45, 0x3b, 0x4d, 0x3b, 0x4a, 0x3b, 0x4a, 0x3b, 0x4f, 0x3b, 0x53, 0x3b, 0x4f, 0x3b, 0x4e, 0x3b,
+0x44, 0x3b, 0x4a, 0x61, 0x6e, 0x3b, 0x46, 0x65, 0x76, 0x3b, 0x4d, 0x61, 0x72, 0x3b, 0x41, 0x62, 0x72, 0x3b, 0x4d, 0x61,
+0x69, 0x3b, 0x4a, 0x75, 0x6e, 0x3b, 0x4a, 0x75, 0x6c, 0x3b, 0x41, 0x67, 0x6f, 0x3b, 0x53, 0x65, 0x74, 0x3b, 0x4f, 0x74,
+0x75, 0x3b, 0x4e, 0x75, 0x76, 0x3b, 0x44, 0x69, 0x7a, 0x3b, 0x4a, 0x61, 0x6e, 0x65, 0x72, 0x75, 0x3b, 0x46, 0x65, 0x76,
+0x65, 0x72, 0x65, 0x72, 0x75, 0x3b, 0x4d, 0x61, 0x72, 0x73, 0x75, 0x3b, 0x41, 0x62, 0x72, 0x69, 0x6c, 0x3b, 0x4d, 0x61,
+0x69, 0x75, 0x3b, 0x4a, 0x75, 0x6e, 0x68, 0x75, 0x3b, 0x4a, 0x75, 0x6c, 0x68, 0x75, 0x3b, 0x41, 0x67, 0x6f, 0x73, 0x74,
+0x75, 0x3b, 0x53, 0x65, 0x74, 0x65, 0x6e, 0x62, 0x72, 0x75, 0x3b, 0x4f, 0x74, 0x75, 0x62, 0x72, 0x75, 0x3b, 0x4e, 0x75,
+0x76, 0x65, 0x6e, 0x62, 0x72, 0x75, 0x3b, 0x44, 0x69, 0x7a, 0x65, 0x6e, 0x62, 0x72, 0x75, 0x3b, 0x4a, 0x41, 0x4e, 0x3b,
+0x46, 0x45, 0x42, 0x3b, 0x4d, 0x41, 0x43, 0x3b, 0x128, 0x50, 0x55, 0x3b, 0x4d, 0x128, 0x128, 0x3b, 0x4e, 0x4a, 0x55, 0x3b,
+0x4e, 0x4a, 0x52, 0x3b, 0x41, 0x47, 0x41, 0x3b, 0x53, 0x50, 0x54, 0x3b, 0x4f, 0x4b, 0x54, 0x3b, 0x4e, 0x4f, 0x56, 0x3b,
+0x44, 0x45, 0x43, 0x3b, 0x4a, 0x61, 0x6e, 0x75, 0x61, 0x72, 0x129, 0x3b, 0x46, 0x65, 0x62, 0x75, 0x72, 0x75, 0x61, 0x72,
+0x129, 0x3b, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x3b, 0x128, 0x70, 0x75, 0x72, 0x169, 0x3b, 0x4d, 0x129, 0x129, 0x3b, 0x4e, 0x6a,
+0x75, 0x6e, 0x69, 0x3b, 0x4e, 0x6a, 0x75, 0x72, 0x61, 0x129, 0x3b, 0x41, 0x67, 0x61, 0x73, 0x74, 0x69, 0x3b, 0x53, 0x65,
+0x70, 0x74, 0x65, 0x6d, 0x62, 0x61, 0x3b, 0x4f, 0x6b, 0x74, 0x169, 0x62, 0x61, 0x3b, 0x4e, 0x6f, 0x76, 0x65, 0x6d, 0x62,
+0x61, 0x3b, 0x44, 0x69, 0x63, 0x65, 0x6d, 0x62, 0x61, 0x3b, 0x4a, 0x3b, 0x46, 0x3b, 0x4d, 0x3b, 0x128, 0x3b, 0x4d, 0x3b,
+0x4e, 0x3b, 0x4e, 0x3b, 0x41, 0x3b, 0x53, 0x3b, 0x4f, 0x3b, 0x4e, 0x3b, 0x44, 0x3b, 0x4d, 0x75, 0x6c, 0x3b, 0x4e, 0x67,
+0x61, 0x3b, 0x4b, 0x69, 0x70, 0x3b, 0x49, 0x77, 0x61, 0x3b, 0x4e, 0x67, 0x65, 0x3b, 0x57, 0x61, 0x6b, 0x3b, 0x52, 0x6f,
+0x70, 0x3b, 0x4b, 0x6f, 0x67, 0x3b, 0x42, 0x75, 0x72, 0x3b, 0x45, 0x70, 0x65, 0x3b, 0x54, 0x61, 0x69, 0x3b, 0x41, 0x65,
+0x6e, 0x3b, 0x4d, 0x75, 0x6c, 0x67, 0x75, 0x6c, 0x3b, 0x4e, 0x67, 0x27, 0x61, 0x74, 0x79, 0x61, 0x74, 0x6f, 0x3b, 0x4b,
+0x69, 0x70, 0x74, 0x61, 0x6d, 0x6f, 0x3b, 0x49, 0x77, 0x61, 0x74, 0x20, 0x6b, 0x75, 0x74, 0x3b, 0x4e, 0x67, 0x27, 0x65,
+0x69, 0x79, 0x65, 0x74, 0x3b, 0x57, 0x61, 0x6b, 0x69, 0x3b, 0x52, 0x6f, 0x70, 0x74, 0x75, 0x69, 0x3b, 0x4b, 0x69, 0x70,
+0x6b, 0x6f, 0x67, 0x61, 0x67, 0x61, 0x3b, 0x42, 0x75, 0x72, 0x65, 0x74, 0x3b, 0x45, 0x70, 0x65, 0x73, 0x6f, 0x3b, 0x4b,
+0x69, 0x70, 0x73, 0x75, 0x6e, 0x64, 0x65, 0x20, 0x6e, 0x65, 0x74, 0x61, 0x69, 0x3b, 0x4b, 0x69, 0x70, 0x73, 0x75, 0x6e,
+0x64, 0x65, 0x20, 0x6e, 0x65, 0x62, 0x6f, 0x20, 0x61, 0x65, 0x6e, 0x67, 0x3b, 0x4d, 0x3b, 0x4e, 0x3b, 0x4b, 0x3b, 0x49,
+0x3b, 0x4e, 0x3b, 0x57, 0x3b, 0x52, 0x3b, 0x4b, 0x3b, 0x42, 0x3b, 0x45, 0x3b, 0x4b, 0x3b, 0x4b, 0x3b, 0x1c3, 0x4b, 0x68,
+0x61, 0x6e, 0x6e, 0x69, 0x3b, 0x1c3, 0x4b, 0x68, 0x61, 0x6e, 0x1c0, 0x67, 0xf4, 0x61, 0x62, 0x3b, 0x1c0, 0x4b, 0x68, 0x75,
+0x75, 0x1c1, 0x6b, 0x68, 0xe2, 0x62, 0x3b, 0x1c3, 0x48, 0xf4, 0x61, 0x1c2, 0x6b, 0x68, 0x61, 0x69, 0x62, 0x3b, 0x1c3, 0x4b,
+0x68, 0x61, 0x69, 0x74, 0x73, 0xe2, 0x62, 0x3b, 0x47, 0x61, 0x6d, 0x61, 0x1c0, 0x61, 0x65, 0x62, 0x3b, 0x1c2, 0x4b, 0x68,
+0x6f, 0x65, 0x73, 0x61, 0x6f, 0x62, 0x3b, 0x41, 0x6f, 0x1c1, 0x6b, 0x68, 0x75, 0x75, 0x6d, 0xfb, 0x1c1, 0x6b, 0x68, 0xe2,
+0x62, 0x3b, 0x54, 0x61, 0x72, 0x61, 0x1c0, 0x6b, 0x68, 0x75, 0x75, 0x6d, 0xfb, 0x1c1, 0x6b, 0x68, 0xe2, 0x62, 0x3b, 0x1c2,
+0x4e, 0xfb, 0x1c1, 0x6e, 0xe2, 0x69, 0x73, 0x65, 0x62, 0x3b, 0x1c0, 0x48, 0x6f, 0x6f, 0x1c2, 0x67, 0x61, 0x65, 0x62, 0x3b,
+0x48, 0xf4, 0x61, 0x73, 0x6f, 0x72, 0x65, 0x1c1, 0x6b, 0x68, 0xe2, 0x62, 0x3b, 0x4a, 0x61, 0x6e, 0x2e, 0x3b, 0x46, 0xe4,
+0x62, 0x2e, 0x3b, 0x4d, 0x61, 0x72, 0x2e, 0x3b, 0x41, 0x70, 0x72, 0x2e, 0x3b, 0x4d, 0xe4, 0x69, 0x3b, 0x4a, 0x75, 0x6e,
+0x2e, 0x3b, 0x4a, 0x75, 0x6c, 0x2e, 0x3b, 0x4f, 0x75, 0x67, 0x2e, 0x3b, 0x53, 0xe4, 0x70, 0x2e, 0x3b, 0x4f, 0x6b, 0x74,
+0x2e, 0x3b, 0x4e, 0x6f, 0x76, 0x2e, 0x3b, 0x44, 0x65, 0x7a, 0x2e, 0x3b, 0x4a, 0x61, 0x6e, 0x6e, 0x65, 0x77, 0x61, 0x3b,
+0x46, 0xe4, 0x62, 0x72, 0x6f, 0x77, 0x61, 0x3b, 0x4d, 0xe4, 0xe4, 0x7a, 0x3b, 0x41, 0x70, 0x72, 0x65, 0x6c, 0x6c, 0x3b,
+0x4d, 0xe4, 0x69, 0x3b, 0x4a, 0x75, 0x75, 0x6e, 0x69, 0x3b, 0x4a, 0x75, 0x75, 0x6c, 0x69, 0x3b, 0x4f, 0x75, 0x6a, 0x6f,
+0xdf, 0x3b, 0x53, 0x65, 0x70, 0x74, 0xe4, 0x6d, 0x62, 0x65, 0x72, 0x3b, 0x4f, 0x6b, 0x74, 0x6f, 0x6f, 0x62, 0x65, 0x72,
+0x3b, 0x4e, 0x6f, 0x76, 0xe4, 0x6d, 0x62, 0x65, 0x72, 0x3b, 0x44, 0x65, 0x7a, 0xe4, 0x6d, 0x62, 0x65, 0x72, 0x3b, 0x44,
+0x61, 0x6c, 0x3b, 0x41, 0x72, 0xe1, 0x3b, 0x186, 0x25b, 0x6e, 0x3b, 0x44, 0x6f, 0x79, 0x3b, 0x4c, 0xe9, 0x70, 0x3b, 0x52,
+0x6f, 0x6b, 0x3b, 0x53, 0xe1, 0x73, 0x3b, 0x42, 0x254, 0x301, 0x72, 0x3b, 0x4b, 0xfa, 0x73, 0x3b, 0x47, 0xed, 0x73, 0x3b,
+0x53, 0x68, 0x289, 0x301, 0x3b, 0x4e, 0x74, 0x289, 0x301, 0x3b, 0x4f, 0x6c, 0x61, 0x64, 0x61, 0x6c, 0x289, 0x301, 0x3b, 0x41,
+0x72, 0xe1, 0x74, 0x3b, 0x186, 0x25b, 0x6e, 0x268, 0x301, 0x254, 0x268, 0x14b, 0x254, 0x6b, 0x3b, 0x4f, 0x6c, 0x6f, 0x64, 0x6f,
+0x79, 0xed, 0xf3, 0x72, 0xed, 0xea, 0x20, 0x69, 0x6e, 0x6b, 0xf3, 0x6b, 0xfa, 0xe2, 0x3b, 0x4f, 0x6c, 0x6f, 0x69, 0x6c,
+0xe9, 0x70, 0x16b, 0x6e, 0x79, 0x12b, 0x113, 0x20, 0x69, 0x6e, 0x6b, 0xf3, 0x6b, 0xfa, 0xe2, 0x3b, 0x4b, 0xfa, 0x6a, 0xfa,
+0x254, 0x72, 0x254, 0x6b, 0x3b, 0x4d, 0xf3, 0x72, 0x75, 0x73, 0xe1, 0x73, 0x69, 0x6e, 0x3b, 0x186, 0x6c, 0x254, 0x301, 0x268,
+0x301, 0x62, 0x254, 0x301, 0x72, 0xe1, 0x72, 0x25b, 0x3b, 0x4b, 0xfa, 0x73, 0x68, 0xee, 0x6e, 0x3b, 0x4f, 0x6c, 0x67, 0xed,
+0x73, 0x61, 0x6e, 0x3b, 0x50, 0x289, 0x73, 0x68, 0x289, 0x301, 0x6b, 0x61, 0x3b, 0x4e, 0x74, 0x289, 0x301, 0x14b, 0x289, 0x301,
+0x73, 0x3b, 0x4a, 0x61, 0x6e, 0x3b, 0x46, 0x65, 0x62, 0x3b, 0x4d, 0x61, 0x72, 0x3b, 0x41, 0x70, 0x72, 0x3b, 0x4d, 0x65,
+0x69, 0x3b, 0x4a, 0x75, 0x6e, 0x3b, 0x4a, 0x75, 0x6c, 0x3b, 0x41, 0x67, 0x6f, 0x3b, 0x53, 0x65, 0x70, 0x3b, 0x4f, 0x6b,
+0x74, 0x3b, 0x4e, 0x6f, 0x76, 0x3b, 0x44, 0x65, 0x73, 0x3b, 0x4a, 0x61, 0x6e, 0x3b, 0x46, 0x65, 0x62, 0x3b, 0x4d, 0x61,
+0x63, 0x3b, 0x41, 0x70, 0x72, 0x3b, 0x4d, 0x65, 0x69, 0x3b, 0x4a, 0x75, 0x6e, 0x3b, 0x4a, 0x75, 0x6c, 0x3b, 0x41, 0x67,
+0x6f, 0x3b, 0x53, 0x65, 0x70, 0x3b, 0x4f, 0x6b, 0x74, 0x3b, 0x4e, 0x6f, 0x76, 0x3b, 0x44, 0x65, 0x63, 0x3b, 0x52, 0x61,
+0x72, 0x3b, 0x4d, 0x75, 0x6b, 0x3b, 0x4b, 0x77, 0x61, 0x3b, 0x44, 0x75, 0x6e, 0x3b, 0x4d, 0x61, 0x72, 0x3b, 0x4d, 0x6f,
+0x64, 0x3b, 0x4a, 0x6f, 0x6c, 0x3b, 0x50, 0x65, 0x64, 0x3b, 0x53, 0x6f, 0x6b, 0x3b, 0x54, 0x69, 0x62, 0x3b, 0x4c, 0x61,
+0x62, 0x3b, 0x50, 0x6f, 0x6f, 0x3b, 0x4f, 0x72, 0x61, 0x72, 0x61, 0x3b, 0x4f, 0x6d, 0x75, 0x6b, 0x3b, 0x4f, 0x6b, 0x77,
+0x61, 0x6d, 0x67, 0x27, 0x3b, 0x4f, 0x64, 0x75, 0x6e, 0x67, 0x27, 0x65, 0x6c, 0x3b, 0x4f, 0x6d, 0x61, 0x72, 0x75, 0x6b,
+0x3b, 0x4f, 0x6d, 0x6f, 0x64, 0x6f, 0x6b, 0x27, 0x6b, 0x69, 0x6e, 0x67, 0x27, 0x6f, 0x6c, 0x3b, 0x4f, 0x6a, 0x6f, 0x6c,
+0x61, 0x3b, 0x4f, 0x70, 0x65, 0x64, 0x65, 0x6c, 0x3b, 0x4f, 0x73, 0x6f, 0x6b, 0x6f, 0x73, 0x6f, 0x6b, 0x6f, 0x6d, 0x61,
+0x3b, 0x4f, 0x74, 0x69, 0x62, 0x61, 0x72, 0x3b, 0x4f, 0x6c, 0x61, 0x62, 0x6f, 0x72, 0x3b, 0x4f, 0x70, 0x6f, 0x6f, 0x3b,
+0x52, 0x3b, 0x4d, 0x3b, 0x4b, 0x3b, 0x44, 0x3b, 0x4d, 0x3b, 0x4d, 0x3b, 0x4a, 0x3b, 0x50, 0x3b, 0x53, 0x3b, 0x54, 0x3b,
+0x4c, 0x3b, 0x50, 0x3b, 0x17d, 0x61, 0x6e, 0x3b, 0x46, 0x65, 0x65, 0x3b, 0x4d, 0x61, 0x72, 0x3b, 0x41, 0x77, 0x69, 0x3b,
+0x4d, 0x65, 0x3b, 0x17d, 0x75, 0x77, 0x3b, 0x17d, 0x75, 0x79, 0x3b, 0x55, 0x74, 0x3b, 0x53, 0x65, 0x6b, 0x3b, 0x4f, 0x6b,
+0x74, 0x3b, 0x4e, 0x6f, 0x6f, 0x3b, 0x44, 0x65, 0x65, 0x3b, 0x17d, 0x61, 0x6e, 0x77, 0x69, 0x79, 0x65, 0x3b, 0x46, 0x65,
+0x65, 0x77, 0x69, 0x72, 0x69, 0x79, 0x65, 0x3b, 0x4d, 0x61, 0x72, 0x73, 0x69, 0x3b, 0x41, 0x77, 0x69, 0x72, 0x69, 0x6c,
+0x3b, 0x4d, 0x65, 0x3b, 0x17d, 0x75, 0x77, 0x65, 0x14b, 0x3b, 0x17d, 0x75, 0x79, 0x79, 0x65, 0x3b, 0x55, 0x74, 0x3b, 0x53,
+0x65, 0x6b, 0x74, 0x61, 0x6e, 0x62, 0x75, 0x72, 0x3b, 0x4f, 0x6b, 0x74, 0x6f, 0x6f, 0x62, 0x75, 0x72, 0x3b, 0x4e, 0x6f,
+0x6f, 0x77, 0x61, 0x6e, 0x62, 0x75, 0x72, 0x3b, 0x44, 0x65, 0x65, 0x73, 0x61, 0x6e, 0x62, 0x75, 0x72, 0x3b, 0x17d, 0x3b,
+0x46, 0x3b, 0x4d, 0x3b, 0x41, 0x3b, 0x4d, 0x3b, 0x17d, 0x3b, 0x17d, 0x3b, 0x55, 0x3b, 0x53, 0x3b, 0x4f, 0x3b, 0x4e, 0x3b,
+0x44, 0x3b, 0x44, 0x41, 0x43, 0x3b, 0x44, 0x41, 0x52, 0x3b, 0x44, 0x41, 0x44, 0x3b, 0x44, 0x41, 0x4e, 0x3b, 0x44, 0x41,
+0x48, 0x3b, 0x44, 0x41, 0x55, 0x3b, 0x44, 0x41, 0x4f, 0x3b, 0x44, 0x41, 0x42, 0x3b, 0x44, 0x4f, 0x43, 0x3b, 0x44, 0x41,
+0x50, 0x3b, 0x44, 0x47, 0x49, 0x3b, 0x44, 0x41, 0x47, 0x3b, 0x44, 0x77, 0x65, 0x20, 0x6d, 0x61, 0x72, 0x20, 0x41, 0x63,
+0x68, 0x69, 0x65, 0x6c, 0x3b, 0x44, 0x77, 0x65, 0x20, 0x6d, 0x61, 0x72, 0x20, 0x41, 0x72, 0x69, 0x79, 0x6f, 0x3b, 0x44,
+0x77, 0x65, 0x20, 0x6d, 0x61, 0x72, 0x20, 0x41, 0x64, 0x65, 0x6b, 0x3b, 0x44, 0x77, 0x65, 0x20, 0x6d, 0x61, 0x72, 0x20,
+0x41, 0x6e, 0x67, 0x27, 0x77, 0x65, 0x6e, 0x3b, 0x44, 0x77, 0x65, 0x20, 0x6d, 0x61, 0x72, 0x20, 0x41, 0x62, 0x69, 0x63,
+0x68, 0x3b, 0x44, 0x77, 0x65, 0x20, 0x6d, 0x61, 0x72, 0x20, 0x41, 0x75, 0x63, 0x68, 0x69, 0x65, 0x6c, 0x3b, 0x44, 0x77,
+0x65, 0x20, 0x6d, 0x61, 0x72, 0x20, 0x41, 0x62, 0x69, 0x72, 0x69, 0x79, 0x6f, 0x3b, 0x44, 0x77, 0x65, 0x20, 0x6d, 0x61,
+0x72, 0x20, 0x41, 0x62, 0x6f, 0x72, 0x6f, 0x3b, 0x44, 0x77, 0x65, 0x20, 0x6d, 0x61, 0x72, 0x20, 0x4f, 0x63, 0x68, 0x69,
+0x6b, 0x6f, 0x3b, 0x44, 0x77, 0x65, 0x20, 0x6d, 0x61, 0x72, 0x20, 0x41, 0x70, 0x61, 0x72, 0x3b, 0x44, 0x77, 0x65, 0x20,
+0x6d, 0x61, 0x72, 0x20, 0x67, 0x69, 0x20, 0x61, 0x63, 0x68, 0x69, 0x65, 0x6c, 0x3b, 0x44, 0x77, 0x65, 0x20, 0x6d, 0x61,
+0x72, 0x20, 0x41, 0x70, 0x61, 0x72, 0x20, 0x67, 0x69, 0x20, 0x61, 0x72, 0x69, 0x79, 0x6f, 0x3b, 0x43, 0x3b, 0x52, 0x3b,
+0x44, 0x3b, 0x4e, 0x3b, 0x42, 0x3b, 0x55, 0x3b, 0x42, 0x3b, 0x42, 0x3b, 0x43, 0x3b, 0x50, 0x3b, 0x43, 0x3b, 0x50, 0x3b,
+0x59, 0x65, 0x6e, 0x3b, 0x59, 0x65, 0x62, 0x3b, 0x4d, 0x61, 0x72, 0x3b, 0x49, 0x62, 0x72, 0x3b, 0x4d, 0x61, 0x79, 0x3b,
+0x59, 0x75, 0x6e, 0x3b, 0x59, 0x75, 0x6c, 0x3b, 0x194, 0x75, 0x63, 0x3b, 0x43, 0x75, 0x74, 0x3b, 0x4b, 0x1e6d, 0x75, 0x3b,
+0x4e, 0x77, 0x61, 0x3b, 0x44, 0x75, 0x6a, 0x3b, 0x59, 0x65, 0x6e, 0x6e, 0x61, 0x79, 0x65, 0x72, 0x3b, 0x59, 0x65, 0x62,
+0x72, 0x61, 0x79, 0x65, 0x72, 0x3b, 0x4d, 0x61, 0x72, 0x73, 0x3b, 0x49, 0x62, 0x72, 0x69, 0x72, 0x3b, 0x4d, 0x61, 0x79,
+0x79, 0x75, 0x3b, 0x59, 0x75, 0x6e, 0x79, 0x75, 0x3b, 0x59, 0x75, 0x6c, 0x79, 0x75, 0x7a, 0x3b, 0x194, 0x75, 0x63, 0x74,
+0x3b, 0x43, 0x75, 0x74, 0x61, 0x6e, 0x62, 0x69, 0x72, 0x3b, 0x4b, 0x1e6d, 0x75, 0x62, 0x65, 0x72, 0x3b, 0x4e, 0x77, 0x61,
+0x6e, 0x62, 0x69, 0x72, 0x3b, 0x44, 0x75, 0x6a, 0x61, 0x6e, 0x62, 0x69, 0x72, 0x3b, 0x59, 0x3b, 0x59, 0x3b, 0x4d, 0x3b,
+0x49, 0x3b, 0x4d, 0x3b, 0x59, 0x3b, 0x59, 0x3b, 0x194, 0x3b, 0x43, 0x3b, 0x4b, 0x3b, 0x4e, 0x3b, 0x44, 0x3b, 0x4a, 0x61,
+0x6e, 0x75, 0x61, 0x6c, 0x69, 0x3b, 0x46, 0x65, 0x62, 0x6c, 0x75, 0x61, 0x6c, 0x69, 0x3b, 0x4d, 0x61, 0x63, 0x68, 0x69,
+0x3b, 0x41, 0x70, 0x6c, 0x69, 0x6c, 0x69, 0x3b, 0x4d, 0x65, 0x69, 0x3b, 0x4a, 0x75, 0x6e, 0x69, 0x3b, 0x4a, 0x75, 0x6c,
+0x61, 0x69, 0x3b, 0x41, 0x67, 0x6f, 0x73, 0x74, 0x69, 0x3b, 0x53, 0x65, 0x70, 0x74, 0x65, 0x6d, 0x62, 0x61, 0x3b, 0x4f,
+0x6b, 0x74, 0x6f, 0x62, 0x61, 0x3b, 0x4e, 0x6f, 0x76, 0x65, 0x6d, 0x62, 0x61, 0x3b, 0x44, 0x65, 0x73, 0x65, 0x6d, 0x62,
+0x61, 0x3b
};
static const ushort standalone_months_data[] = {
@@ -2538,16 +2538,16 @@ static const ushort standalone_months_data[] = {
0x91c, 0x928, 0x3b, 0x92b, 0x947, 0x92c, 0x3b, 0x92e, 0x93e, 0x930, 0x94d, 0x91a, 0x3b, 0x905, 0x92a, 0x94d, 0x930, 0x93f, 0x3b, 0x92e,
0x947, 0x3b, 0x91c, 0x941, 0x928, 0x3b, 0x91c, 0x941, 0x932, 0x93e, 0x3b, 0x905, 0x917, 0x3b, 0x938, 0x947, 0x92a, 0x94d, 0x91f, 0x3b,
0x905, 0x915, 0x94d, 0x91f, 0x94b, 0x3b, 0x928, 0x94b, 0x92d, 0x947, 0x3b, 0x921, 0x93f, 0x938, 0x947, 0x3b, 0x91c, 0x928, 0x935, 0x930,
-0x940, 0x3b, 0x92b, 0x930, 0x935, 0x930, 0x940, 0x3b, 0x92e, 0x93e, 0x930, 0x94d, 0x91a, 0x3b, 0x905, 0x92a, 0x94d, 0x930, 0x947, 0x932,
-0x3b, 0x92e, 0x908, 0x3b, 0x91c, 0x941, 0x928, 0x3b, 0x91c, 0x941, 0x932, 0x93e, 0x908, 0x3b, 0x905, 0x917, 0x938, 0x94d, 0x924, 0x3b,
-0x938, 0x947, 0x92a, 0x94d, 0x91f, 0x947, 0x92e, 0x94d, 0x92c, 0x930, 0x3b, 0x905, 0x915, 0x94d, 0x91f, 0x94b, 0x92c, 0x930, 0x3b, 0x928,
-0x94b, 0x92d, 0x947, 0x92e, 0x94d, 0x92c, 0x930, 0x3b, 0x926, 0x93f, 0x938, 0x92e, 0x94d, 0x92c, 0x930, 0x3b, 0x967, 0x3b, 0x968, 0x3b,
-0x969, 0x3b, 0x96a, 0x3b, 0x96b, 0x3b, 0x96c, 0x3b, 0x96d, 0x3b, 0x96e, 0x3b, 0x96f, 0x3b, 0x967, 0x966, 0x3b, 0x967, 0x967, 0x3b,
-0x967, 0x968, 0x3b, 0x91c, 0x928, 0x935, 0x930, 0x940, 0x3b, 0x92b, 0x947, 0x92c, 0x94d, 0x930, 0x941, 0x905, 0x930, 0x940, 0x3b, 0x92e,
-0x93e, 0x930, 0x94d, 0x91a, 0x3b, 0x905, 0x92a, 0x94d, 0x930, 0x93f, 0x932, 0x3b, 0x92e, 0x947, 0x3b, 0x91c, 0x941, 0x928, 0x3b, 0x91c,
-0x941, 0x932, 0x93e, 0x908, 0x3b, 0x905, 0x917, 0x938, 0x94d, 0x924, 0x3b, 0x938, 0x947, 0x92a, 0x94d, 0x91f, 0x947, 0x92e, 0x94d, 0x92c,
-0x930, 0x3b, 0x905, 0x915, 0x94d, 0x91f, 0x94b, 0x92c, 0x930, 0x3b, 0x928, 0x94b, 0x92d, 0x947, 0x92e, 0x94d, 0x92c, 0x930, 0x3b, 0x921,
-0x93f, 0x938, 0x947, 0x92e, 0x94d, 0x92c, 0x930, 0x3b, 0x6a, 0x61, 0x6e, 0x2e, 0x3b, 0x66, 0x65, 0x62, 0x2e, 0x3b, 0x6d, 0x61,
+0x940, 0x3b, 0x92b, 0x947, 0x92c, 0x94d, 0x930, 0x941, 0x905, 0x930, 0x940, 0x3b, 0x92e, 0x93e, 0x930, 0x94d, 0x91a, 0x3b, 0x905, 0x92a,
+0x94d, 0x930, 0x93f, 0x932, 0x3b, 0x92e, 0x947, 0x3b, 0x91c, 0x941, 0x928, 0x3b, 0x91c, 0x941, 0x932, 0x93e, 0x908, 0x3b, 0x905, 0x917,
+0x938, 0x94d, 0x924, 0x3b, 0x938, 0x947, 0x92a, 0x94d, 0x91f, 0x947, 0x92e, 0x94d, 0x92c, 0x930, 0x3b, 0x905, 0x915, 0x94d, 0x91f, 0x94b,
+0x92c, 0x930, 0x3b, 0x928, 0x94b, 0x92d, 0x947, 0x92e, 0x94d, 0x92c, 0x930, 0x3b, 0x921, 0x93f, 0x938, 0x947, 0x92e, 0x94d, 0x92c, 0x930,
+0x3b, 0x967, 0x3b, 0x968, 0x3b, 0x969, 0x3b, 0x96a, 0x3b, 0x96b, 0x3b, 0x96c, 0x3b, 0x96d, 0x3b, 0x96e, 0x3b, 0x96f, 0x3b, 0x967,
+0x966, 0x3b, 0x967, 0x967, 0x3b, 0x967, 0x968, 0x3b, 0x91c, 0x928, 0x935, 0x930, 0x940, 0x3b, 0x92b, 0x930, 0x935, 0x930, 0x940, 0x3b,
+0x92e, 0x93e, 0x930, 0x94d, 0x91a, 0x3b, 0x905, 0x92a, 0x94d, 0x930, 0x947, 0x932, 0x3b, 0x92e, 0x908, 0x3b, 0x91c, 0x941, 0x928, 0x3b,
+0x91c, 0x941, 0x932, 0x93e, 0x908, 0x3b, 0x905, 0x917, 0x938, 0x94d, 0x924, 0x3b, 0x938, 0x947, 0x92a, 0x94d, 0x91f, 0x947, 0x92e, 0x94d,
+0x92c, 0x930, 0x3b, 0x905, 0x915, 0x94d, 0x91f, 0x94b, 0x92c, 0x930, 0x3b, 0x928, 0x94b, 0x92d, 0x947, 0x92e, 0x94d, 0x92c, 0x930, 0x3b,
+0x926, 0x93f, 0x938, 0x92e, 0x94d, 0x92c, 0x930, 0x3b, 0x6a, 0x61, 0x6e, 0x2e, 0x3b, 0x66, 0x65, 0x62, 0x2e, 0x3b, 0x6d, 0x61,
0x72, 0x73, 0x3b, 0x61, 0x70, 0x72, 0x2e, 0x3b, 0x6d, 0x61, 0x69, 0x3b, 0x6a, 0x75, 0x6e, 0x69, 0x3b, 0x6a, 0x75, 0x6c,
0x69, 0x3b, 0x61, 0x75, 0x67, 0x2e, 0x3b, 0x73, 0x65, 0x70, 0x2e, 0x3b, 0x6f, 0x6b, 0x74, 0x2e, 0x3b, 0x6e, 0x6f, 0x76,
0x2e, 0x3b, 0x64, 0x65, 0x73, 0x2e, 0x3b, 0x6a, 0x61, 0x6e, 0x75, 0x61, 0x72, 0x3b, 0x66, 0x65, 0x62, 0x72, 0x75, 0x61,
@@ -2759,647 +2759,647 @@ static const ushort standalone_months_data[] = {
0x3b, 0xb9a, 0xbc6, 0xbaa, 0xbcd, 0x2e, 0x3b, 0xb85, 0xb95, 0xbcd, 0x2e, 0x3b, 0xba8, 0xbb5, 0x2e, 0x3b, 0xb9f, 0xbbf, 0xb9a, 0x2e,
0x3b, 0xb9c, 0xba9, 0xbb5, 0xbb0, 0xbbf, 0x3b, 0xbaa, 0xbbf, 0xbaa, 0xbcd, 0xbb0, 0xbb5, 0xbb0, 0xbbf, 0x3b, 0xbae, 0xbbe, 0xbb0, 0xbcd,
0xb9a, 0xbcd, 0x3b, 0xb8f, 0xbaa, 0xbcd, 0xbb0, 0xbb2, 0xbcd, 0x3b, 0xbae, 0xbc7, 0x3b, 0xb9c, 0xbc2, 0xba9, 0xbcd, 0x3b, 0xb9c, 0xbc2,
-0xbb2, 0xbc8, 0x3b, 0xb86, 0xb95, 0xbb8, 0xbcd, 0xb9f, 0xbcd, 0x3b, 0xb9a, 0xbc6, 0xbaa, 0xbcd, 0xb9f, 0xbae, 0xbcd, 0xbaa, 0xbb0, 0xbcd,
-0x3b, 0xb85, 0xb95, 0xbcd, 0xb9f, 0xbcb, 0xbaa, 0xbb0, 0xbcd, 0x3b, 0xba8, 0xbb5, 0xbae, 0xbcd, 0xbaa, 0xbb0, 0xbcd, 0x3b, 0xb9f, 0xbbf,
-0xb9a, 0xbae, 0xbcd, 0xbaa, 0xbb0, 0xbcd, 0x3b, 0xb9c, 0x3b, 0xbaa, 0xbbf, 0x3b, 0xbae, 0xbbe, 0x3b, 0xb8f, 0x3b, 0xbae, 0xbc7, 0x3b,
-0xb9c, 0xbc2, 0x3b, 0xb9c, 0xbc2, 0x3b, 0xb86, 0x3b, 0xb9a, 0xbc6, 0x3b, 0xb85, 0x3b, 0xba8, 0x3b, 0xb9f, 0xbbf, 0x3b, 0xc1c, 0xc28,
-0xc35, 0xc30, 0xc3f, 0x3b, 0xc2b, 0xc3f, 0xc2c, 0xc4d, 0xc30, 0xc35, 0xc30, 0xc3f, 0x3b, 0xc2e, 0xc3e, 0xc30, 0xc4d, 0xc1a, 0xc3f, 0x3b,
-0xc0f, 0xc2a, 0xc4d, 0xc30, 0xc3f, 0xc32, 0xc4d, 0x3b, 0xc2e, 0xc47, 0x3b, 0xc1c, 0xc42, 0xc28, 0xc4d, 0x3b, 0xc1c, 0xc42, 0xc32, 0xc48,
-0x3b, 0xc06, 0xc17, 0xc38, 0xc4d, 0xc1f, 0xc41, 0x3b, 0xc38, 0xc46, 0xc2a, 0xc4d, 0xc1f, 0xc46, 0xc02, 0xc2c, 0xc30, 0xc4d, 0x3b, 0xc05,
-0xc15, 0xc4d, 0xc1f, 0xc4b, 0xc2c, 0xc30, 0xc4d, 0x3b, 0xc28, 0xc35, 0xc02, 0xc2c, 0xc30, 0xc4d, 0x3b, 0xc21, 0xc3f, 0xc38, 0xc46, 0xc02,
-0xc2c, 0xc30, 0xc4d, 0x3b, 0xc1c, 0x3b, 0xc2b, 0xc3f, 0x3b, 0xc2e, 0x3b, 0xc0e, 0x3b, 0xc2e, 0xc46, 0x3b, 0xc1c, 0xc41, 0x3b, 0xc1c,
-0xc41, 0x3b, 0xc06, 0x3b, 0xc38, 0xc46, 0x3b, 0xc05, 0x3b, 0xc28, 0x3b, 0xc21, 0xc3f, 0x3b, 0xe21, 0x2e, 0xe04, 0x2e, 0x3b, 0xe01,
-0x2e, 0xe1e, 0x2e, 0x3b, 0xe21, 0xe35, 0x2e, 0xe04, 0x2e, 0x3b, 0xe40, 0xe21, 0x2e, 0xe22, 0x2e, 0x3b, 0xe1e, 0x2e, 0xe04, 0x2e,
-0x3b, 0xe21, 0xe34, 0x2e, 0xe22, 0x2e, 0x3b, 0xe01, 0x2e, 0xe04, 0x2e, 0x3b, 0xe2a, 0x2e, 0xe04, 0x2e, 0x3b, 0xe01, 0x2e, 0xe22,
-0x2e, 0x3b, 0xe15, 0x2e, 0xe04, 0x2e, 0x3b, 0xe1e, 0x2e, 0xe22, 0x2e, 0x3b, 0xe18, 0x2e, 0xe04, 0x2e, 0x3b, 0xe21, 0xe01, 0xe23,
-0xe32, 0xe04, 0xe21, 0x3b, 0xe01, 0xe38, 0xe21, 0xe20, 0xe32, 0xe1e, 0xe31, 0xe19, 0xe18, 0xe4c, 0x3b, 0xe21, 0xe35, 0xe19, 0xe32, 0xe04,
-0xe21, 0x3b, 0xe40, 0xe21, 0xe29, 0xe32, 0xe22, 0xe19, 0x3b, 0xe1e, 0xe24, 0xe29, 0xe20, 0xe32, 0xe04, 0xe21, 0x3b, 0xe21, 0xe34, 0xe16,
-0xe38, 0xe19, 0xe32, 0xe22, 0xe19, 0x3b, 0xe01, 0xe23, 0xe01, 0xe0e, 0xe32, 0xe04, 0xe21, 0x3b, 0xe2a, 0xe34, 0xe07, 0xe2b, 0xe32, 0xe04,
-0xe21, 0x3b, 0xe01, 0xe31, 0xe19, 0xe22, 0xe32, 0xe22, 0xe19, 0x3b, 0xe15, 0xe38, 0xe25, 0xe32, 0xe04, 0xe21, 0x3b, 0xe1e, 0xe24, 0xe28,
-0xe08, 0xe34, 0xe01, 0xe32, 0xe22, 0xe19, 0x3b, 0xe18, 0xe31, 0xe19, 0xe27, 0xe32, 0xe04, 0xe21, 0x3b, 0xf5f, 0xfb3, 0xf0b, 0xf21, 0x3b,
-0xf5f, 0xfb3, 0xf0b, 0xf22, 0x3b, 0xf5f, 0xfb3, 0xf0b, 0xf23, 0x3b, 0xf5f, 0xfb3, 0xf0b, 0xf24, 0x3b, 0xf5f, 0xfb3, 0xf0b, 0xf25, 0x3b,
-0xf5f, 0xfb3, 0xf0b, 0xf26, 0x3b, 0xf5f, 0xfb3, 0xf0b, 0xf27, 0x3b, 0xf5f, 0xfb3, 0xf0b, 0xf28, 0x3b, 0xf5f, 0xfb3, 0xf0b, 0xf29, 0x3b,
-0xf5f, 0xfb3, 0xf0b, 0xf21, 0xf20, 0x3b, 0xf5f, 0xfb3, 0xf0b, 0xf21, 0xf21, 0x3b, 0xf5f, 0xfb3, 0xf0b, 0xf21, 0xf22, 0x3b, 0xf5f, 0xfb3,
-0xf0b, 0xf56, 0xf0b, 0xf51, 0xf44, 0xf0b, 0xf54, 0xf7c, 0xf0b, 0x3b, 0xf5f, 0xfb3, 0xf0b, 0xf56, 0xf0b, 0xf42, 0xf49, 0xf72, 0xf66, 0xf0b,
-0xf54, 0xf0b, 0x3b, 0xf5f, 0xfb3, 0xf0b, 0xf56, 0xf0b, 0xf66, 0xf74, 0xf58, 0xf0b, 0xf54, 0xf0b, 0x3b, 0xf5f, 0xfb3, 0xf0b, 0xf56, 0xf0b,
-0xf56, 0xf5e, 0xf72, 0xf0b, 0xf54, 0xf0b, 0x3b, 0xf5f, 0xfb3, 0xf0b, 0xf56, 0xf0b, 0xf63, 0xf94, 0xf0b, 0xf54, 0xf0b, 0x3b, 0xf5f, 0xfb3,
-0xf0b, 0xf56, 0xf0b, 0xf51, 0xfb2, 0xf74, 0xf42, 0xf0b, 0xf54, 0xf0b, 0x3b, 0xf5f, 0xfb3, 0xf0b, 0xf56, 0xf0b, 0xf56, 0xf51, 0xf74, 0xf53,
-0xf0b, 0xf54, 0xf0b, 0x3b, 0xf5f, 0xfb3, 0xf0b, 0xf56, 0xf0b, 0xf56, 0xf62, 0xf92, 0xfb1, 0xf51, 0xf0b, 0xf54, 0xf0b, 0x3b, 0xf5f, 0xfb3,
-0xf0b, 0xf56, 0xf0b, 0xf51, 0xf42, 0xf74, 0xf0b, 0xf54, 0xf0b, 0x3b, 0xf5f, 0xfb3, 0xf0b, 0xf56, 0xf0b, 0xf56, 0xf45, 0xf74, 0xf0b, 0xf54,
-0xf0b, 0x3b, 0xf5f, 0xfb3, 0xf0b, 0xf56, 0xf0b, 0xf56, 0xf45, 0xf74, 0xf0b, 0xf42, 0xf45, 0xf72, 0xf42, 0xf0b, 0xf54, 0xf0b, 0x3b, 0xf5f,
-0xfb3, 0xf0b, 0xf56, 0xf0b, 0xf56, 0xf45, 0xf74, 0xf0b, 0xf42, 0xf49, 0xf72, 0xf66, 0xf0b, 0xf54, 0xf0b, 0x3b, 0x1325, 0x122a, 0x3b, 0x1208,
-0x12ab, 0x1272, 0x3b, 0x1218, 0x130b, 0x1262, 0x3b, 0x121a, 0x12eb, 0x12dd, 0x3b, 0x130d, 0x1295, 0x1266, 0x3b, 0x1230, 0x1290, 0x3b, 0x1213, 0x121d,
-0x1208, 0x3b, 0x1290, 0x1213, 0x1230, 0x3b, 0x1218, 0x1235, 0x12a8, 0x3b, 0x1325, 0x1245, 0x121d, 0x3b, 0x1215, 0x12f3, 0x122d, 0x3b, 0x1273, 0x1215,
-0x1233, 0x3b, 0x1325, 0x122a, 0x3b, 0x1208, 0x12ab, 0x1272, 0x1275, 0x3b, 0x1218, 0x130b, 0x1262, 0x1275, 0x3b, 0x121a, 0x12eb, 0x12dd, 0x12eb, 0x3b,
-0x130d, 0x1295, 0x1266, 0x1275, 0x3b, 0x1230, 0x1290, 0x3b, 0x1213, 0x121d, 0x1208, 0x3b, 0x1290, 0x1213, 0x1230, 0x3b, 0x1218, 0x1235, 0x12a8, 0x1228,
-0x121d, 0x3b, 0x1325, 0x1245, 0x121d, 0x1272, 0x3b, 0x1215, 0x12f3, 0x122d, 0x3b, 0x1273, 0x1215, 0x1233, 0x1235, 0x3b, 0x53, 0x101, 0x6e, 0x3b,
-0x46, 0x113, 0x70, 0x3b, 0x4d, 0x61, 0x2bb, 0x61, 0x3b, 0x2bb, 0x45, 0x70, 0x65, 0x3b, 0x4d, 0x113, 0x3b, 0x53, 0x75, 0x6e,
-0x3b, 0x53, 0x69, 0x75, 0x3b, 0x2bb, 0x41, 0x6f, 0x6b, 0x3b, 0x53, 0x65, 0x70, 0x3b, 0x2bb, 0x4f, 0x6b, 0x61, 0x3b, 0x4e,
-0x14d, 0x76, 0x3b, 0x54, 0x12b, 0x73, 0x3b, 0x53, 0x101, 0x6e, 0x75, 0x61, 0x6c, 0x69, 0x3b, 0x46, 0x113, 0x70, 0x75, 0x65,
-0x6c, 0x69, 0x3b, 0x4d, 0x61, 0x2bb, 0x61, 0x73, 0x69, 0x3b, 0x2bb, 0x45, 0x70, 0x65, 0x6c, 0x65, 0x6c, 0x69, 0x3b, 0x4d,
-0x113, 0x3b, 0x53, 0x75, 0x6e, 0x65, 0x3b, 0x53, 0x69, 0x75, 0x6c, 0x61, 0x69, 0x3b, 0x2bb, 0x41, 0x6f, 0x6b, 0x6f, 0x73,
-0x69, 0x3b, 0x53, 0x65, 0x70, 0x69, 0x74, 0x65, 0x6d, 0x61, 0x3b, 0x2bb, 0x4f, 0x6b, 0x61, 0x74, 0x6f, 0x70, 0x61, 0x3b,
-0x4e, 0x14d, 0x76, 0x65, 0x6d, 0x61, 0x3b, 0x54, 0x12b, 0x73, 0x65, 0x6d, 0x61, 0x3b, 0x53, 0x3b, 0x46, 0x3b, 0x4d, 0x3b,
-0x45, 0x3b, 0x4d, 0x3b, 0x53, 0x3b, 0x53, 0x3b, 0x41, 0x3b, 0x53, 0x3b, 0x4f, 0x3b, 0x4e, 0x3b, 0x54, 0x3b, 0x53, 0x75,
-0x6e, 0x3b, 0x59, 0x61, 0x6e, 0x3b, 0x4b, 0x75, 0x6c, 0x3b, 0x44, 0x7a, 0x69, 0x3b, 0x4d, 0x75, 0x64, 0x3b, 0x4b, 0x68,
-0x6f, 0x3b, 0x4d, 0x61, 0x77, 0x3b, 0x4d, 0x68, 0x61, 0x3b, 0x4e, 0x64, 0x7a, 0x3b, 0x4e, 0x68, 0x6c, 0x3b, 0x48, 0x75,
-0x6b, 0x3b, 0x4e, 0x27, 0x77, 0x3b, 0x53, 0x75, 0x6e, 0x67, 0x75, 0x74, 0x69, 0x3b, 0x4e, 0x79, 0x65, 0x6e, 0x79, 0x65,
-0x6e, 0x79, 0x61, 0x6e, 0x69, 0x3b, 0x4e, 0x79, 0x65, 0x6e, 0x79, 0x61, 0x6e, 0x6b, 0x75, 0x6c, 0x75, 0x3b, 0x44, 0x7a,
-0x69, 0x76, 0x61, 0x6d, 0x69, 0x73, 0x6f, 0x6b, 0x6f, 0x3b, 0x4d, 0x75, 0x64, 0x79, 0x61, 0x78, 0x69, 0x68, 0x69, 0x3b,
-0x4b, 0x68, 0x6f, 0x74, 0x61, 0x76, 0x75, 0x78, 0x69, 0x6b, 0x61, 0x3b, 0x4d, 0x61, 0x77, 0x75, 0x77, 0x61, 0x6e, 0x69,
-0x3b, 0x4d, 0x68, 0x61, 0x77, 0x75, 0x72, 0x69, 0x3b, 0x4e, 0x64, 0x7a, 0x68, 0x61, 0x74, 0x69, 0x3b, 0x4e, 0x68, 0x6c,
-0x61, 0x6e, 0x67, 0x75, 0x6c, 0x61, 0x3b, 0x48, 0x75, 0x6b, 0x75, 0x72, 0x69, 0x3b, 0x4e, 0x27, 0x77, 0x65, 0x6e, 0x64,
-0x7a, 0x61, 0x6d, 0x68, 0x61, 0x6c, 0x61, 0x3b, 0x4f, 0x63, 0x61, 0x3b, 0x15e, 0x75, 0x62, 0x3b, 0x4d, 0x61, 0x72, 0x3b,
-0x4e, 0x69, 0x73, 0x3b, 0x4d, 0x61, 0x79, 0x3b, 0x48, 0x61, 0x7a, 0x3b, 0x54, 0x65, 0x6d, 0x3b, 0x41, 0x11f, 0x75, 0x3b,
-0x45, 0x79, 0x6c, 0x3b, 0x45, 0x6b, 0x69, 0x3b, 0x4b, 0x61, 0x73, 0x3b, 0x41, 0x72, 0x61, 0x3b, 0x4f, 0x63, 0x61, 0x6b,
-0x3b, 0x15e, 0x75, 0x62, 0x61, 0x74, 0x3b, 0x4d, 0x61, 0x72, 0x74, 0x3b, 0x4e, 0x69, 0x73, 0x61, 0x6e, 0x3b, 0x4d, 0x61,
-0x79, 0x131, 0x73, 0x3b, 0x48, 0x61, 0x7a, 0x69, 0x72, 0x61, 0x6e, 0x3b, 0x54, 0x65, 0x6d, 0x6d, 0x75, 0x7a, 0x3b, 0x41,
-0x11f, 0x75, 0x73, 0x74, 0x6f, 0x73, 0x3b, 0x45, 0x79, 0x6c, 0xfc, 0x6c, 0x3b, 0x45, 0x6b, 0x69, 0x6d, 0x3b, 0x4b, 0x61,
-0x73, 0x131, 0x6d, 0x3b, 0x41, 0x72, 0x61, 0x6c, 0x131, 0x6b, 0x3b, 0x4f, 0x3b, 0x15e, 0x3b, 0x4d, 0x3b, 0x4e, 0x3b, 0x4d,
-0x3b, 0x48, 0x3b, 0x54, 0x3b, 0x41, 0x3b, 0x45, 0x3b, 0x45, 0x3b, 0x4b, 0x3b, 0x41, 0x3b, 0x421, 0x456, 0x447, 0x3b, 0x41b,
-0x44e, 0x442, 0x3b, 0x411, 0x435, 0x440, 0x3b, 0x41a, 0x432, 0x456, 0x3b, 0x422, 0x440, 0x430, 0x3b, 0x427, 0x435, 0x440, 0x3b, 0x41b,
-0x438, 0x43f, 0x3b, 0x421, 0x435, 0x440, 0x3b, 0x412, 0x435, 0x440, 0x3b, 0x416, 0x43e, 0x432, 0x3b, 0x41b, 0x438, 0x441, 0x3b, 0x413,
-0x440, 0x443, 0x3b, 0x421, 0x456, 0x447, 0x435, 0x43d, 0x44c, 0x3b, 0x41b, 0x44e, 0x442, 0x438, 0x439, 0x3b, 0x411, 0x435, 0x440, 0x435,
-0x437, 0x435, 0x43d, 0x44c, 0x3b, 0x41a, 0x432, 0x456, 0x442, 0x435, 0x43d, 0x44c, 0x3b, 0x422, 0x440, 0x430, 0x432, 0x435, 0x43d, 0x44c,
-0x3b, 0x427, 0x435, 0x440, 0x432, 0x435, 0x43d, 0x44c, 0x3b, 0x41b, 0x438, 0x43f, 0x435, 0x43d, 0x44c, 0x3b, 0x421, 0x435, 0x440, 0x43f,
-0x435, 0x43d, 0x44c, 0x3b, 0x412, 0x435, 0x440, 0x435, 0x441, 0x435, 0x43d, 0x44c, 0x3b, 0x416, 0x43e, 0x432, 0x442, 0x435, 0x43d, 0x44c,
-0x3b, 0x41b, 0x438, 0x441, 0x442, 0x43e, 0x43f, 0x430, 0x434, 0x3b, 0x413, 0x440, 0x443, 0x434, 0x435, 0x43d, 0x44c, 0x3b, 0x421, 0x3b,
-0x41b, 0x3b, 0x411, 0x3b, 0x41a, 0x3b, 0x422, 0x3b, 0x427, 0x3b, 0x41b, 0x3b, 0x421, 0x3b, 0x412, 0x3b, 0x416, 0x3b, 0x41b, 0x3b,
-0x413, 0x3b, 0x62c, 0x646, 0x648, 0x631, 0x6cc, 0x3b, 0x641, 0x631, 0x648, 0x631, 0x6cc, 0x3b, 0x645, 0x627, 0x631, 0x20, 0x686, 0x3b,
-0x627, 0x67e, 0x631, 0x64a, 0x644, 0x3b, 0x645, 0x626, 0x3b, 0x62c, 0x648, 0x646, 0x3b, 0x62c, 0x648, 0x644, 0x627, 0x626, 0x3b, 0x627,
-0x6af, 0x633, 0x62a, 0x3b, 0x633, 0x62a, 0x645, 0x628, 0x631, 0x3b, 0x627, 0x6a9, 0x62a, 0x648, 0x628, 0x631, 0x3b, 0x646, 0x648, 0x645,
-0x628, 0x631, 0x3b, 0x62f, 0x633, 0x645, 0x628, 0x631, 0x3b, 0x41c, 0x443, 0x4b3, 0x430, 0x440, 0x440, 0x430, 0x43c, 0x3b, 0x421, 0x430,
-0x444, 0x430, 0x440, 0x3b, 0x420, 0x430, 0x431, 0x438, 0x443, 0x43b, 0x2d, 0x430, 0x432, 0x432, 0x430, 0x43b, 0x3b, 0x420, 0x430, 0x431,
-0x438, 0x443, 0x43b, 0x2d, 0x43e, 0x445, 0x438, 0x440, 0x3b, 0x416, 0x443, 0x43c, 0x43e, 0x434, 0x438, 0x443, 0x43b, 0x2d, 0x443, 0x43b,
-0x43e, 0x3b, 0x416, 0x443, 0x43c, 0x43e, 0x434, 0x438, 0x443, 0x43b, 0x2d, 0x443, 0x445, 0x440, 0x43e, 0x3b, 0x420, 0x430, 0x436, 0x430,
-0x431, 0x3b, 0x428, 0x430, 0x44a, 0x431, 0x43e, 0x43d, 0x3b, 0x420, 0x430, 0x43c, 0x430, 0x437, 0x43e, 0x43d, 0x3b, 0x428, 0x430, 0x432,
-0x432, 0x43e, 0x43b, 0x3b, 0x417, 0x438, 0x43b, 0x2d, 0x49b, 0x430, 0x44a, 0x434, 0x430, 0x3b, 0x417, 0x438, 0x43b, 0x2d, 0x4b3, 0x438,
-0x436, 0x436, 0x430, 0x3b, 0x62c, 0x646, 0x648, 0x3b, 0x641, 0x628, 0x631, 0x3b, 0x645, 0x627, 0x631, 0x3b, 0x627, 0x67e, 0x631, 0x3b,
-0x645, 0x640, 0x6cc, 0x3b, 0x62c, 0x648, 0x646, 0x3b, 0x62c, 0x648, 0x644, 0x3b, 0x627, 0x6af, 0x633, 0x3b, 0x633, 0x67e, 0x62a, 0x3b,
-0x627, 0x6a9, 0x62a, 0x3b, 0x646, 0x648, 0x645, 0x3b, 0x62f, 0x633, 0x645, 0x3b, 0x62c, 0x646, 0x648, 0x631, 0x6cc, 0x3b, 0x641, 0x628,
-0x631, 0x648, 0x631, 0x6cc, 0x3b, 0x645, 0x627, 0x631, 0x686, 0x3b, 0x627, 0x67e, 0x631, 0x6cc, 0x644, 0x3b, 0x645, 0x6cc, 0x3b, 0x62c,
-0x648, 0x646, 0x3b, 0x62c, 0x648, 0x644, 0x627, 0x6cc, 0x3b, 0x627, 0x6af, 0x633, 0x62a, 0x3b, 0x633, 0x67e, 0x62a, 0x645, 0x628, 0x631,
-0x3b, 0x627, 0x6a9, 0x62a, 0x648, 0x628, 0x631, 0x3b, 0x646, 0x648, 0x645, 0x628, 0x631, 0x3b, 0x62f, 0x633, 0x645, 0x628, 0x631, 0x3b,
-0x74, 0x68, 0x67, 0x20, 0x31, 0x3b, 0x74, 0x68, 0x67, 0x20, 0x32, 0x3b, 0x74, 0x68, 0x67, 0x20, 0x33, 0x3b, 0x74, 0x68,
-0x67, 0x20, 0x34, 0x3b, 0x74, 0x68, 0x67, 0x20, 0x35, 0x3b, 0x74, 0x68, 0x67, 0x20, 0x36, 0x3b, 0x74, 0x68, 0x67, 0x20,
-0x37, 0x3b, 0x74, 0x68, 0x67, 0x20, 0x38, 0x3b, 0x74, 0x68, 0x67, 0x20, 0x39, 0x3b, 0x74, 0x68, 0x67, 0x20, 0x31, 0x30,
-0x3b, 0x74, 0x68, 0x67, 0x20, 0x31, 0x31, 0x3b, 0x74, 0x68, 0x67, 0x20, 0x31, 0x32, 0x3b, 0x74, 0x68, 0xe1, 0x6e, 0x67,
-0x20, 0x6d, 0x1ed9, 0x74, 0x3b, 0x74, 0x68, 0xe1, 0x6e, 0x67, 0x20, 0x68, 0x61, 0x69, 0x3b, 0x74, 0x68, 0xe1, 0x6e, 0x67,
-0x20, 0x62, 0x61, 0x3b, 0x74, 0x68, 0xe1, 0x6e, 0x67, 0x20, 0x74, 0x1b0, 0x3b, 0x74, 0x68, 0xe1, 0x6e, 0x67, 0x20, 0x6e,
-0x103, 0x6d, 0x3b, 0x74, 0x68, 0xe1, 0x6e, 0x67, 0x20, 0x73, 0xe1, 0x75, 0x3b, 0x74, 0x68, 0xe1, 0x6e, 0x67, 0x20, 0x62,
-0x1ea3, 0x79, 0x3b, 0x74, 0x68, 0xe1, 0x6e, 0x67, 0x20, 0x74, 0xe1, 0x6d, 0x3b, 0x74, 0x68, 0xe1, 0x6e, 0x67, 0x20, 0x63,
-0x68, 0xed, 0x6e, 0x3b, 0x74, 0x68, 0xe1, 0x6e, 0x67, 0x20, 0x6d, 0x1b0, 0x1edd, 0x69, 0x3b, 0x74, 0x68, 0xe1, 0x6e, 0x67,
-0x20, 0x6d, 0x1b0, 0x1edd, 0x69, 0x20, 0x6d, 0x1ed9, 0x74, 0x3b, 0x74, 0x68, 0xe1, 0x6e, 0x67, 0x20, 0x6d, 0x1b0, 0x1edd, 0x69,
-0x20, 0x68, 0x61, 0x69, 0x3b, 0x49, 0x6f, 0x6e, 0x3b, 0x43, 0x68, 0x77, 0x65, 0x3b, 0x4d, 0x61, 0x77, 0x3b, 0x45, 0x62,
-0x72, 0x3b, 0x4d, 0x61, 0x69, 0x3b, 0x4d, 0x65, 0x68, 0x3b, 0x47, 0x6f, 0x72, 0x3b, 0x41, 0x77, 0x73, 0x74, 0x3b, 0x4d,
-0x65, 0x64, 0x69, 0x3b, 0x48, 0x79, 0x64, 0x3b, 0x54, 0x61, 0x63, 0x68, 0x3b, 0x52, 0x68, 0x61, 0x67, 0x3b, 0x49, 0x6f,
-0x6e, 0x61, 0x77, 0x72, 0x3b, 0x43, 0x68, 0x77, 0x65, 0x66, 0x72, 0x6f, 0x72, 0x3b, 0x4d, 0x61, 0x77, 0x72, 0x74, 0x68,
-0x3b, 0x45, 0x62, 0x72, 0x69, 0x6c, 0x6c, 0x3b, 0x4d, 0x61, 0x69, 0x3b, 0x4d, 0x65, 0x68, 0x65, 0x66, 0x69, 0x6e, 0x3b,
-0x47, 0x6f, 0x72, 0x66, 0x66, 0x65, 0x6e, 0x6e, 0x61, 0x66, 0x3b, 0x41, 0x77, 0x73, 0x74, 0x3b, 0x4d, 0x65, 0x64, 0x69,
-0x3b, 0x48, 0x79, 0x64, 0x72, 0x65, 0x66, 0x3b, 0x54, 0x61, 0x63, 0x68, 0x77, 0x65, 0x64, 0x64, 0x3b, 0x52, 0x68, 0x61,
-0x67, 0x66, 0x79, 0x72, 0x3b, 0x49, 0x3b, 0x43, 0x3b, 0x4d, 0x3b, 0x45, 0x3b, 0x4d, 0x3b, 0x4d, 0x3b, 0x47, 0x3b, 0x41,
-0x3b, 0x4d, 0x3b, 0x48, 0x3b, 0x54, 0x3b, 0x52, 0x3b, 0x4a, 0x61, 0x6e, 0x3b, 0x46, 0x65, 0x62, 0x3b, 0x4d, 0x61, 0x74,
-0x3b, 0x45, 0x70, 0x72, 0x3b, 0x4d, 0x65, 0x79, 0x3b, 0x4a, 0x75, 0x6e, 0x3b, 0x4a, 0x75, 0x6c, 0x3b, 0x41, 0x67, 0x61,
-0x3b, 0x53, 0x65, 0x70, 0x3b, 0x4f, 0x6b, 0x74, 0x3b, 0x4e, 0x6f, 0x76, 0x3b, 0x44, 0x69, 0x73, 0x3b, 0x4a, 0x61, 0x6e,
-0x79, 0x75, 0x77, 0x61, 0x72, 0x69, 0x3b, 0x46, 0x65, 0x62, 0x72, 0x75, 0x77, 0x61, 0x72, 0x69, 0x3b, 0x4d, 0x61, 0x74,
-0x73, 0x68, 0x69, 0x3b, 0x45, 0x70, 0x72, 0x65, 0x6c, 0x69, 0x3b, 0x4d, 0x65, 0x79, 0x69, 0x3b, 0x4a, 0x75, 0x6e, 0x69,
-0x3b, 0x4a, 0x75, 0x6c, 0x61, 0x79, 0x69, 0x3b, 0x41, 0x67, 0x61, 0x73, 0x74, 0x69, 0x3b, 0x53, 0x65, 0x70, 0x74, 0x65,
-0x6d, 0x62, 0x61, 0x3b, 0x4f, 0x6b, 0x74, 0x68, 0x6f, 0x62, 0x61, 0x3b, 0x4e, 0x6f, 0x76, 0x65, 0x6d, 0x62, 0x61, 0x3b,
-0x44, 0x69, 0x73, 0x65, 0x6d, 0x62, 0x61, 0x3b, 0x1e62, 0x1eb9, 0x301, 0x72, 0x1eb9, 0x323, 0x3b, 0xc8, 0x72, 0xe8, 0x6c, 0xe8,
-0x3b, 0x1eb8, 0x72, 0x1eb9, 0x300, 0x6e, 0xe0, 0x3b, 0xcc, 0x67, 0x62, 0xe9, 0x3b, 0x1eb8, 0x300, 0x62, 0x69, 0x62, 0x69, 0x3b,
-0xd2, 0x6b, 0xfa, 0x64, 0x75, 0x3b, 0x41, 0x67, 0x1eb9, 0x6d, 0x1ecd, 0x3b, 0xd2, 0x67, 0xfa, 0x6e, 0x3b, 0x4f, 0x77, 0x65,
-0x77, 0x65, 0x3b, 0x1ecc, 0x300, 0x77, 0xe0, 0x72, 0xe0, 0x3b, 0x42, 0xe9, 0x6c, 0xfa, 0x3b, 0x1ecc, 0x300, 0x70, 0x1eb9, 0x300,
-0x3b, 0x4f, 0x1e62, 0xf9, 0x20, 0x1e62, 0x1eb8, 0x301, 0x72, 0x1eb9, 0x301, 0x3b, 0x4f, 0x1e62, 0xf9, 0x20, 0xc8, 0x72, 0xe8, 0x6c,
-0xe8, 0x3b, 0x4f, 0x1e62, 0xf9, 0x20, 0x1eb8, 0x72, 0x1eb9, 0x300, 0x6e, 0xe0, 0x3b, 0x4f, 0x1e62, 0xf9, 0x20, 0xcc, 0x67, 0x62,
-0xe9, 0x3b, 0x4f, 0x1e62, 0xf9, 0x20, 0x1eb8, 0x300, 0x62, 0x69, 0x62, 0x69, 0x3b, 0x4f, 0x1e62, 0xf9, 0x20, 0xd2, 0x6b, 0xfa,
-0x64, 0x75, 0x3b, 0x4f, 0x1e62, 0xf9, 0x20, 0x41, 0x67, 0x1eb9, 0x6d, 0x1ecd, 0x3b, 0x4f, 0x1e62, 0xf9, 0x20, 0xd2, 0x67, 0xfa,
-0x6e, 0x3b, 0x4f, 0x1e62, 0xf9, 0x20, 0x4f, 0x77, 0x65, 0x77, 0x65, 0x3b, 0x4f, 0x1e62, 0xf9, 0x20, 0x1ecc, 0x300, 0x77, 0xe0,
-0x72, 0xe0, 0x3b, 0x4f, 0x1e62, 0xf9, 0x20, 0x42, 0xe9, 0x6c, 0xfa, 0x3b, 0x4f, 0x1e62, 0xf9, 0x20, 0x1ecc, 0x300, 0x70, 0x1eb9,
-0x300, 0x3b, 0x4a, 0x61, 0x6e, 0x3b, 0x46, 0x65, 0x62, 0x3b, 0x4d, 0x61, 0x73, 0x3b, 0x41, 0x70, 0x72, 0x3b, 0x4d, 0x65,
-0x79, 0x3b, 0x4a, 0x75, 0x6e, 0x3b, 0x4a, 0x75, 0x6c, 0x3b, 0x41, 0x67, 0x61, 0x3b, 0x53, 0x65, 0x70, 0x3b, 0x4f, 0x6b,
-0x74, 0x3b, 0x4e, 0x6f, 0x76, 0x3b, 0x44, 0x69, 0x73, 0x3b, 0x75, 0x4a, 0x61, 0x6e, 0x75, 0x77, 0x61, 0x72, 0x69, 0x3b,
-0x75, 0x46, 0x65, 0x62, 0x72, 0x75, 0x77, 0x61, 0x72, 0x69, 0x3b, 0x75, 0x4d, 0x61, 0x73, 0x68, 0x69, 0x3b, 0x75, 0x2d,
-0x41, 0x70, 0x72, 0x65, 0x6c, 0x69, 0x3b, 0x75, 0x4d, 0x65, 0x79, 0x69, 0x3b, 0x75, 0x4a, 0x75, 0x6e, 0x69, 0x3b, 0x75,
-0x4a, 0x75, 0x6c, 0x61, 0x79, 0x69, 0x3b, 0x75, 0x41, 0x67, 0x61, 0x73, 0x74, 0x69, 0x3b, 0x75, 0x53, 0x65, 0x70, 0x74,
-0x68, 0x65, 0x6d, 0x62, 0x61, 0x3b, 0x75, 0x2d, 0x4f, 0x6b, 0x74, 0x68, 0x6f, 0x62, 0x61, 0x3b, 0x75, 0x4e, 0x6f, 0x76,
-0x65, 0x6d, 0x62, 0x61, 0x3b, 0x75, 0x44, 0x69, 0x73, 0x65, 0x6d, 0x62, 0x61, 0x3b, 0x4a, 0x61, 0x6e, 0x3b, 0x46, 0x65,
-0x62, 0x3b, 0x4d, 0x61, 0x72, 0x3b, 0x41, 0x70, 0x72, 0x3b, 0x4d, 0x61, 0x6a, 0x3b, 0x4a, 0x75, 0x6e, 0x3b, 0x4a, 0x75,
-0x6c, 0x3b, 0x41, 0x76, 0x67, 0x3b, 0x53, 0x65, 0x70, 0x3b, 0x4f, 0x6b, 0x74, 0x3b, 0x4e, 0x6f, 0x76, 0x3b, 0x44, 0x65,
-0x63, 0x3b, 0x4a, 0x61, 0x6e, 0x75, 0x61, 0x72, 0x3b, 0x46, 0x65, 0x62, 0x72, 0x75, 0x61, 0x72, 0x3b, 0x4d, 0x61, 0x72,
-0x74, 0x3b, 0x41, 0x70, 0x72, 0x69, 0x6c, 0x3b, 0x4d, 0x61, 0x6a, 0x3b, 0x4a, 0x75, 0x6e, 0x69, 0x3b, 0x4a, 0x75, 0x6c,
-0x69, 0x3b, 0x41, 0x76, 0x67, 0x75, 0x73, 0x74, 0x3b, 0x53, 0x65, 0x70, 0x74, 0x65, 0x6d, 0x62, 0x61, 0x72, 0x3b, 0x4f,
-0x6b, 0x74, 0x6f, 0x62, 0x61, 0x72, 0x3b, 0x4e, 0x6f, 0x76, 0x65, 0x6d, 0x62, 0x61, 0x72, 0x3b, 0x44, 0x65, 0x63, 0x65,
-0x6d, 0x62, 0x61, 0x72, 0x3b, 0x4a, 0x2d, 0x67, 0x75, 0x65, 0x72, 0x3b, 0x54, 0x2d, 0x61, 0x72, 0x72, 0x65, 0x65, 0x3b,
-0x4d, 0x61, 0x79, 0x72, 0x6e, 0x74, 0x3b, 0x41, 0x76, 0x72, 0x72, 0x69, 0x6c, 0x3b, 0x42, 0x6f, 0x61, 0x6c, 0x64, 0x79,
-0x6e, 0x3b, 0x4d, 0x2d, 0x73, 0x6f, 0x75, 0x72, 0x65, 0x65, 0x3b, 0x4a, 0x2d, 0x73, 0x6f, 0x75, 0x72, 0x65, 0x65, 0x3b,
-0x4c, 0x75, 0x61, 0x6e, 0x69, 0x73, 0x74, 0x79, 0x6e, 0x3b, 0x4d, 0x2d, 0x66, 0x6f, 0x75, 0x79, 0x69, 0x72, 0x3b, 0x4a,
-0x2d, 0x66, 0x6f, 0x75, 0x79, 0x69, 0x72, 0x3b, 0x4d, 0x2e, 0x48, 0x6f, 0x75, 0x6e, 0x65, 0x79, 0x3b, 0x4d, 0x2e, 0x4e,
-0x6f, 0x6c, 0x6c, 0x69, 0x63, 0x6b, 0x3b, 0x4a, 0x65, 0x72, 0x72, 0x65, 0x79, 0x2d, 0x67, 0x65, 0x75, 0x72, 0x65, 0x65,
-0x3b, 0x54, 0x6f, 0x73, 0x68, 0x69, 0x61, 0x67, 0x68, 0x74, 0x2d, 0x61, 0x72, 0x72, 0x65, 0x65, 0x3b, 0x4d, 0x61, 0x79,
-0x72, 0x6e, 0x74, 0x3b, 0x41, 0x76, 0x65, 0x72, 0x69, 0x6c, 0x3b, 0x42, 0x6f, 0x61, 0x6c, 0x64, 0x79, 0x6e, 0x3b, 0x4d,
-0x65, 0x61, 0x6e, 0x2d, 0x73, 0x6f, 0x75, 0x72, 0x65, 0x65, 0x3b, 0x4a, 0x65, 0x72, 0x72, 0x65, 0x79, 0x2d, 0x73, 0x6f,
-0x75, 0x72, 0x65, 0x65, 0x3b, 0x4c, 0x75, 0x61, 0x6e, 0x69, 0x73, 0x74, 0x79, 0x6e, 0x3b, 0x4d, 0x65, 0x61, 0x6e, 0x2d,
-0x66, 0x6f, 0x75, 0x79, 0x69, 0x72, 0x3b, 0x4a, 0x65, 0x72, 0x72, 0x65, 0x79, 0x2d, 0x66, 0x6f, 0x75, 0x79, 0x69, 0x72,
-0x3b, 0x4d, 0x65, 0x65, 0x20, 0x48, 0x6f, 0x75, 0x6e, 0x65, 0x79, 0x3b, 0x4d, 0x65, 0x65, 0x20, 0x6e, 0x79, 0x20, 0x4e,
-0x6f, 0x6c, 0x6c, 0x69, 0x63, 0x6b, 0x3b, 0x47, 0x65, 0x6e, 0x3b, 0x57, 0x68, 0x65, 0x3b, 0x4d, 0x65, 0x72, 0x3b, 0x45,
-0x62, 0x72, 0x3b, 0x4d, 0x65, 0x3b, 0x45, 0x66, 0x6e, 0x3b, 0x47, 0x6f, 0x72, 0x3b, 0x45, 0x73, 0x74, 0x3b, 0x47, 0x77,
-0x6e, 0x3b, 0x48, 0x65, 0x64, 0x3b, 0x44, 0x75, 0x3b, 0x4b, 0x65, 0x76, 0x3b, 0x4d, 0x79, 0x73, 0x20, 0x47, 0x65, 0x6e,
-0x76, 0x65, 0x72, 0x3b, 0x4d, 0x79, 0x73, 0x20, 0x57, 0x68, 0x65, 0x76, 0x72, 0x65, 0x6c, 0x3b, 0x4d, 0x79, 0x73, 0x20,
-0x4d, 0x65, 0x72, 0x74, 0x68, 0x3b, 0x4d, 0x79, 0x73, 0x20, 0x45, 0x62, 0x72, 0x65, 0x6c, 0x3b, 0x4d, 0x79, 0x73, 0x20,
-0x4d, 0x65, 0x3b, 0x4d, 0x79, 0x73, 0x20, 0x45, 0x66, 0x61, 0x6e, 0x3b, 0x4d, 0x79, 0x73, 0x20, 0x47, 0x6f, 0x72, 0x74,
-0x68, 0x65, 0x72, 0x65, 0x6e, 0x3b, 0x4d, 0x79, 0x65, 0x20, 0x45, 0x73, 0x74, 0x3b, 0x4d, 0x79, 0x73, 0x20, 0x47, 0x77,
-0x79, 0x6e, 0x67, 0x61, 0x6c, 0x61, 0x3b, 0x4d, 0x79, 0x73, 0x20, 0x48, 0x65, 0x64, 0x72, 0x61, 0x3b, 0x4d, 0x79, 0x73,
-0x20, 0x44, 0x75, 0x3b, 0x4d, 0x79, 0x73, 0x20, 0x4b, 0x65, 0x76, 0x61, 0x72, 0x64, 0x68, 0x75, 0x3b, 0x53, 0x2d, 0x186,
-0x3b, 0x4b, 0x2d, 0x186, 0x3b, 0x45, 0x2d, 0x186, 0x3b, 0x45, 0x2d, 0x4f, 0x3b, 0x45, 0x2d, 0x4b, 0x3b, 0x4f, 0x2d, 0x41,
-0x3b, 0x41, 0x2d, 0x4b, 0x3b, 0x44, 0x2d, 0x186, 0x3b, 0x46, 0x2d, 0x190, 0x3b, 0x186, 0x2d, 0x41, 0x3b, 0x186, 0x2d, 0x4f,
-0x3b, 0x4d, 0x2d, 0x186, 0x3b, 0x53, 0x61, 0x6e, 0x64, 0x61, 0x2d, 0x186, 0x70, 0x25b, 0x70, 0x254, 0x6e, 0x3b, 0x4b, 0x77,
-0x61, 0x6b, 0x77, 0x61, 0x72, 0x2d, 0x186, 0x67, 0x79, 0x65, 0x66, 0x75, 0x6f, 0x3b, 0x45, 0x62, 0x254, 0x77, 0x2d, 0x186,
-0x62, 0x65, 0x6e, 0x65, 0x6d, 0x3b, 0x45, 0x62, 0x254, 0x62, 0x69, 0x72, 0x61, 0x2d, 0x4f, 0x66, 0x6f, 0x72, 0x69, 0x73,
-0x75, 0x6f, 0x3b, 0x45, 0x73, 0x75, 0x73, 0x6f, 0x77, 0x20, 0x41, 0x6b, 0x65, 0x74, 0x73, 0x65, 0x61, 0x62, 0x61, 0x2d,
-0x4b, 0x254, 0x74, 0x254, 0x6e, 0x69, 0x6d, 0x62, 0x61, 0x3b, 0x4f, 0x62, 0x69, 0x72, 0x61, 0x64, 0x65, 0x2d, 0x41, 0x79,
-0x25b, 0x77, 0x6f, 0x68, 0x6f, 0x6d, 0x75, 0x6d, 0x75, 0x3b, 0x41, 0x79, 0x25b, 0x77, 0x6f, 0x68, 0x6f, 0x2d, 0x4b, 0x69,
-0x74, 0x61, 0x77, 0x6f, 0x6e, 0x73, 0x61, 0x3b, 0x44, 0x69, 0x66, 0x75, 0x75, 0x2d, 0x186, 0x73, 0x61, 0x6e, 0x64, 0x61,
-0x61, 0x3b, 0x46, 0x61, 0x6e, 0x6b, 0x77, 0x61, 0x2d, 0x190, 0x62, 0x254, 0x3b, 0x186, 0x62, 0x25b, 0x73, 0x25b, 0x2d, 0x41,
-0x68, 0x69, 0x6e, 0x69, 0x6d, 0x65, 0x3b, 0x186, 0x62, 0x65, 0x72, 0x25b, 0x66, 0x25b, 0x77, 0x2d, 0x4f, 0x62, 0x75, 0x62,
-0x75, 0x6f, 0x3b, 0x4d, 0x75, 0x6d, 0x75, 0x2d, 0x186, 0x70, 0x25b, 0x6e, 0x69, 0x6d, 0x62, 0x61, 0x3b, 0x91c, 0x93e, 0x928,
-0x947, 0x935, 0x93e, 0x930, 0x940, 0x3b, 0x92b, 0x947, 0x92c, 0x94d, 0x930, 0x941, 0x935, 0x93e, 0x930, 0x940, 0x3b, 0x92e, 0x93e, 0x930,
-0x94d, 0x91a, 0x3b, 0x90f, 0x92a, 0x94d, 0x930, 0x93f, 0x932, 0x3b, 0x92e, 0x947, 0x3b, 0x91c, 0x942, 0x928, 0x3b, 0x91c, 0x941, 0x932,
-0x948, 0x3b, 0x913, 0x917, 0x938, 0x94d, 0x91f, 0x3b, 0x938, 0x947, 0x92a, 0x94d, 0x91f, 0x947, 0x902, 0x92c, 0x930, 0x3b, 0x913, 0x915,
-0x94d, 0x91f, 0x94b, 0x92c, 0x930, 0x3b, 0x928, 0x94b, 0x935, 0x94d, 0x939, 0x947, 0x902, 0x92c, 0x930, 0x3b, 0x921, 0x93f, 0x938, 0x947,
-0x902, 0x92c, 0x930, 0x3b, 0x41, 0x68, 0x61, 0x3b, 0x4f, 0x66, 0x6c, 0x3b, 0x4f, 0x63, 0x68, 0x3b, 0x41, 0x62, 0x65, 0x3b,
-0x41, 0x67, 0x62, 0x3b, 0x4f, 0x74, 0x75, 0x3b, 0x4d, 0x61, 0x61, 0x3b, 0x4d, 0x61, 0x6e, 0x3b, 0x47, 0x62, 0x6f, 0x3b,
-0x41, 0x6e, 0x74, 0x3b, 0x41, 0x6c, 0x65, 0x3b, 0x41, 0x66, 0x75, 0x3b, 0x41, 0x68, 0x61, 0x72, 0x61, 0x62, 0x61, 0x74,
-0x61, 0x3b, 0x4f, 0x66, 0x6c, 0x6f, 0x3b, 0x4f, 0x63, 0x68, 0x6f, 0x6b, 0x72, 0x69, 0x6b, 0x72, 0x69, 0x3b, 0x41, 0x62,
-0x65, 0x69, 0x62, 0x65, 0x65, 0x3b, 0x41, 0x67, 0x62, 0x65, 0x69, 0x6e, 0x61, 0x61, 0x3b, 0x4f, 0x74, 0x75, 0x6b, 0x77,
-0x61, 0x64, 0x61, 0x6e, 0x3b, 0x4d, 0x61, 0x61, 0x77, 0x65, 0x3b, 0x4d, 0x61, 0x6e, 0x79, 0x61, 0x77, 0x61, 0x6c, 0x65,
-0x3b, 0x47, 0x62, 0x6f, 0x3b, 0x41, 0x6e, 0x74, 0x6f, 0x6e, 0x3b, 0x41, 0x6c, 0x65, 0x6d, 0x6c, 0x65, 0x3b, 0x41, 0x66,
-0x75, 0x61, 0x62, 0x65, 0x65, 0x3b, 0x4a, 0x65, 0x6e, 0x3b, 0x46, 0x65, 0x62, 0x3b, 0x4d, 0x61, 0x61, 0x3b, 0x45, 0x70,
-0x72, 0x3b, 0x4d, 0x65, 0x65, 0x3b, 0x4a, 0x75, 0x75, 0x3b, 0x4a, 0x75, 0x6c, 0x3b, 0x1ecc, 0x67, 0x1ecd, 0x3b, 0x53, 0x65,
-0x70, 0x3b, 0x1ecc, 0x6b, 0x74, 0x3b, 0x4e, 0x6f, 0x76, 0x3b, 0x44, 0x69, 0x73, 0x3b, 0x4a, 0x65, 0x6e, 0x1ee5, 0x77, 0x61,
-0x72, 0x1ecb, 0x3b, 0x46, 0x65, 0x62, 0x72, 0x1ee5, 0x77, 0x61, 0x72, 0x1ecb, 0x3b, 0x4d, 0x61, 0x61, 0x63, 0x68, 0x1ecb, 0x3b,
-0x45, 0x70, 0x72, 0x65, 0x6c, 0x3b, 0x4d, 0x65, 0x65, 0x3b, 0x4a, 0x75, 0x75, 0x6e, 0x3b, 0x4a, 0x75, 0x6c, 0x61, 0x1ecb,
-0x3b, 0x1ecc, 0x67, 0x1ecd, 0x1ecd, 0x73, 0x74, 0x3b, 0x53, 0x65, 0x70, 0x74, 0x65, 0x6d, 0x62, 0x61, 0x3b, 0x1ecc, 0x6b, 0x74,
-0x6f, 0x62, 0x61, 0x3b, 0x4e, 0x6f, 0x76, 0x65, 0x6d, 0x62, 0x61, 0x3b, 0x44, 0x69, 0x73, 0x65, 0x6d, 0x62, 0x61, 0x3b,
-0x4d, 0x62, 0x65, 0x3b, 0x4b, 0x65, 0x6c, 0x3b, 0x4b, 0x74, 0x169, 0x3b, 0x4b, 0x61, 0x6e, 0x3b, 0x4b, 0x74, 0x6e, 0x3b,
-0x54, 0x68, 0x61, 0x3b, 0x4d, 0x6f, 0x6f, 0x3b, 0x4e, 0x79, 0x61, 0x3b, 0x4b, 0x6e, 0x64, 0x3b, 0x128, 0x6b, 0x75, 0x3b,
-0x128, 0x6b, 0x6d, 0x3b, 0x128, 0x6b, 0x6c, 0x3b, 0x4d, 0x77, 0x61, 0x69, 0x20, 0x77, 0x61, 0x20, 0x6d, 0x62, 0x65, 0x65,
-0x3b, 0x4d, 0x77, 0x61, 0x69, 0x20, 0x77, 0x61, 0x20, 0x6b, 0x65, 0x6c, 0x129, 0x3b, 0x4d, 0x77, 0x61, 0x69, 0x20, 0x77,
-0x61, 0x20, 0x6b, 0x61, 0x74, 0x61, 0x74, 0x169, 0x3b, 0x4d, 0x77, 0x61, 0x69, 0x20, 0x77, 0x61, 0x20, 0x6b, 0x61, 0x6e,
-0x61, 0x3b, 0x4d, 0x77, 0x61, 0x69, 0x20, 0x77, 0x61, 0x20, 0x6b, 0x61, 0x74, 0x61, 0x6e, 0x6f, 0x3b, 0x4d, 0x77, 0x61,
-0x69, 0x20, 0x77, 0x61, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x74, 0x68, 0x61, 0x74, 0x169, 0x3b, 0x4d, 0x77, 0x61, 0x69, 0x20,
-0x77, 0x61, 0x20, 0x6d, 0x75, 0x6f, 0x6e, 0x7a, 0x61, 0x3b, 0x4d, 0x77, 0x61, 0x69, 0x20, 0x77, 0x61, 0x20, 0x6e, 0x79,
-0x61, 0x61, 0x6e, 0x79, 0x61, 0x3b, 0x4d, 0x77, 0x61, 0x69, 0x20, 0x77, 0x61, 0x20, 0x6b, 0x65, 0x6e, 0x64, 0x61, 0x3b,
-0x4d, 0x77, 0x61, 0x69, 0x20, 0x77, 0x61, 0x20, 0x129, 0x6b, 0x75, 0x6d, 0x69, 0x3b, 0x4d, 0x77, 0x61, 0x69, 0x20, 0x77,
-0x61, 0x20, 0x129, 0x6b, 0x75, 0x6d, 0x69, 0x20, 0x6e, 0x61, 0x20, 0x129, 0x6d, 0x77, 0x65, 0x3b, 0x4d, 0x77, 0x61, 0x69,
-0x20, 0x77, 0x61, 0x20, 0x129, 0x6b, 0x75, 0x6d, 0x69, 0x20, 0x6e, 0x61, 0x20, 0x69, 0x6c, 0x129, 0x3b, 0x4d, 0x3b, 0x4b,
-0x3b, 0x4b, 0x3b, 0x4b, 0x3b, 0x4b, 0x3b, 0x54, 0x3b, 0x4d, 0x3b, 0x4e, 0x3b, 0x4b, 0x3b, 0x128, 0x3b, 0x128, 0x3b, 0x128,
-0x3b, 0x70f, 0x71f, 0x722, 0x20, 0x70f, 0x712, 0x3b, 0x72b, 0x712, 0x71b, 0x3b, 0x710, 0x715, 0x72a, 0x3b, 0x722, 0x71d, 0x723, 0x722,
-0x3b, 0x710, 0x71d, 0x72a, 0x3b, 0x71a, 0x719, 0x71d, 0x72a, 0x722, 0x3b, 0x72c, 0x721, 0x718, 0x719, 0x3b, 0x710, 0x712, 0x3b, 0x710,
-0x71d, 0x720, 0x718, 0x720, 0x3b, 0x70f, 0x72c, 0x72b, 0x20, 0x70f, 0x710, 0x3b, 0x70f, 0x72c, 0x72b, 0x20, 0x70f, 0x712, 0x3b, 0x70f,
-0x71f, 0x722, 0x20, 0x70f, 0x710, 0x3b, 0x120d, 0x12f0, 0x1275, 0x3b, 0x12ab, 0x1265, 0x12bd, 0x3b, 0x12ad, 0x1265, 0x120b, 0x3b, 0x134b, 0x1305,
-0x12ba, 0x3b, 0x12ad, 0x1262, 0x1245, 0x3b, 0x121d, 0x2f, 0x1275, 0x3b, 0x12b0, 0x122d, 0x3b, 0x121b, 0x122d, 0x12eb, 0x3b, 0x12eb, 0x12b8, 0x1292,
-0x3b, 0x1218, 0x1270, 0x1209, 0x3b, 0x121d, 0x2f, 0x121d, 0x3b, 0x1270, 0x1215, 0x1233, 0x3b, 0x120d, 0x12f0, 0x1275, 0x122a, 0x3b, 0x12ab, 0x1265,
-0x12bd, 0x1265, 0x1272, 0x3b, 0x12ad, 0x1265, 0x120b, 0x3b, 0x134b, 0x1305, 0x12ba, 0x122a, 0x3b, 0x12ad, 0x1262, 0x1245, 0x122a, 0x3b, 0x121d, 0x12aa,
-0x12a4, 0x120d, 0x20, 0x1275, 0x131f, 0x1292, 0x122a, 0x3b, 0x12b0, 0x122d, 0x12a9, 0x3b, 0x121b, 0x122d, 0x12eb, 0x121d, 0x20, 0x1275, 0x122a, 0x3b,
-0x12eb, 0x12b8, 0x1292, 0x20, 0x1218, 0x1233, 0x1245, 0x1208, 0x122a, 0x3b, 0x1218, 0x1270, 0x1209, 0x3b, 0x121d, 0x12aa, 0x12a4, 0x120d, 0x20, 0x1218,
-0x123d, 0x12c8, 0x122a, 0x3b, 0x1270, 0x1215, 0x1233, 0x1235, 0x122a, 0x3b, 0x120d, 0x3b, 0x12ab, 0x3b, 0x12ad, 0x3b, 0x134b, 0x3b, 0x12ad, 0x3b,
-0x121d, 0x3b, 0x12b0, 0x3b, 0x121b, 0x3b, 0x12eb, 0x3b, 0x1218, 0x3b, 0x121d, 0x3b, 0x1270, 0x3b, 0x1320, 0x1210, 0x1228, 0x3b, 0x12a8, 0x1270,
-0x1270, 0x3b, 0x1218, 0x1308, 0x1260, 0x3b, 0x12a0, 0x1280, 0x12d8, 0x3b, 0x130d, 0x1295, 0x1263, 0x1275, 0x3b, 0x1220, 0x1295, 0x12e8, 0x3b, 0x1210,
-0x1218, 0x1208, 0x3b, 0x1290, 0x1210, 0x1230, 0x3b, 0x12a8, 0x1228, 0x1218, 0x3b, 0x1320, 0x1240, 0x1218, 0x3b, 0x1280, 0x12f0, 0x1228, 0x3b, 0x1280,
-0x1220, 0x1220, 0x3b, 0x1320, 0x3b, 0x12a8, 0x3b, 0x1218, 0x3b, 0x12a0, 0x3b, 0x130d, 0x3b, 0x1220, 0x3b, 0x1210, 0x3b, 0x1290, 0x3b, 0x12a8,
-0x3b, 0x1320, 0x3b, 0x1280, 0x3b, 0x1280, 0x3b, 0x57, 0x65, 0x79, 0x3b, 0x46, 0x61, 0x6e, 0x3b, 0x54, 0x61, 0x74, 0x3b, 0x4e,
-0x61, 0x6e, 0x3b, 0x54, 0x75, 0x79, 0x3b, 0x54, 0x73, 0x6f, 0x3b, 0x54, 0x61, 0x66, 0x3b, 0x57, 0x61, 0x72, 0x3b, 0x4b,
-0x75, 0x6e, 0x3b, 0x42, 0x61, 0x6e, 0x3b, 0x4b, 0x6f, 0x6d, 0x3b, 0x53, 0x61, 0x75, 0x3b, 0x46, 0x61, 0x69, 0x20, 0x57,
-0x65, 0x79, 0x65, 0x6e, 0x65, 0x3b, 0x46, 0x61, 0x69, 0x20, 0x46, 0x61, 0x6e, 0x69, 0x3b, 0x46, 0x61, 0x69, 0x20, 0x54,
-0x61, 0x74, 0x61, 0x6b, 0x61, 0x3b, 0x46, 0x61, 0x69, 0x20, 0x4e, 0x61, 0x6e, 0x67, 0x72, 0x61, 0x3b, 0x46, 0x61, 0x69,
-0x20, 0x54, 0x75, 0x79, 0x6f, 0x3b, 0x46, 0x61, 0x69, 0x20, 0x54, 0x73, 0x6f, 0x79, 0x69, 0x3b, 0x46, 0x61, 0x69, 0x20,
-0x54, 0x61, 0x66, 0x61, 0x6b, 0x61, 0x3b, 0x46, 0x61, 0x69, 0x20, 0x57, 0x61, 0x72, 0x61, 0x63, 0x68, 0x69, 0x3b, 0x46,
-0x61, 0x69, 0x20, 0x4b, 0x75, 0x6e, 0x6f, 0x62, 0x6f, 0x6b, 0x3b, 0x46, 0x61, 0x69, 0x20, 0x42, 0x61, 0x6e, 0x73, 0x6f,
-0x6b, 0x3b, 0x46, 0x61, 0x69, 0x20, 0x4b, 0x6f, 0x6d, 0x3b, 0x46, 0x61, 0x69, 0x20, 0x53, 0x61, 0x75, 0x6b, 0x3b, 0x44,
-0x79, 0x6f, 0x6e, 0x3b, 0x42, 0x61, 0x61, 0x3b, 0x41, 0x74, 0x61, 0x74, 0x3b, 0x41, 0x6e, 0x61, 0x73, 0x3b, 0x41, 0x74,
-0x79, 0x6f, 0x3b, 0x41, 0x63, 0x68, 0x69, 0x3b, 0x41, 0x74, 0x61, 0x72, 0x3b, 0x41, 0x77, 0x75, 0x72, 0x3b, 0x53, 0x68,
-0x61, 0x64, 0x3b, 0x53, 0x68, 0x61, 0x6b, 0x3b, 0x4e, 0x61, 0x62, 0x61, 0x3b, 0x4e, 0x61, 0x74, 0x61, 0x3b, 0x50, 0x65,
-0x6e, 0x20, 0x44, 0x79, 0x6f, 0x6e, 0x3b, 0x50, 0x65, 0x6e, 0x20, 0x42, 0x61, 0x27, 0x61, 0x3b, 0x50, 0x65, 0x6e, 0x20,
-0x41, 0x74, 0x61, 0x74, 0x3b, 0x50, 0x65, 0x6e, 0x20, 0x41, 0x6e, 0x61, 0x73, 0x3b, 0x50, 0x65, 0x6e, 0x20, 0x41, 0x74,
-0x79, 0x6f, 0x6e, 0x3b, 0x50, 0x65, 0x6e, 0x20, 0x41, 0x63, 0x68, 0x69, 0x72, 0x69, 0x6d, 0x3b, 0x50, 0x65, 0x6e, 0x20,
-0x41, 0x74, 0x61, 0x72, 0x69, 0x62, 0x61, 0x3b, 0x50, 0x65, 0x6e, 0x20, 0x41, 0x77, 0x75, 0x72, 0x72, 0x3b, 0x50, 0x65,
-0x6e, 0x20, 0x53, 0x68, 0x61, 0x64, 0x6f, 0x6e, 0x3b, 0x50, 0x65, 0x6e, 0x20, 0x53, 0x68, 0x61, 0x6b, 0x75, 0x72, 0x3b,
-0x50, 0x65, 0x6e, 0x20, 0x4b, 0x75, 0x72, 0x20, 0x4e, 0x61, 0x62, 0x61, 0x3b, 0x50, 0x65, 0x6e, 0x20, 0x4b, 0x75, 0x72,
-0x20, 0x4e, 0x61, 0x74, 0x61, 0x74, 0x3b, 0x41, 0x331, 0x79, 0x72, 0x3b, 0x41, 0x331, 0x68, 0x77, 0x3b, 0x41, 0x331, 0x74,
-0x61, 0x3b, 0x41, 0x331, 0x6e, 0x61, 0x3b, 0x41, 0x331, 0x70, 0x66, 0x3b, 0x41, 0x331, 0x6b, 0x69, 0x3b, 0x41, 0x331, 0x74,
-0x79, 0x3b, 0x41, 0x331, 0x6e, 0x69, 0x3b, 0x41, 0x331, 0x6b, 0x75, 0x3b, 0x53, 0x77, 0x61, 0x3b, 0x53, 0x62, 0x79, 0x3b,
-0x53, 0x62, 0x68, 0x3b, 0x48, 0x79, 0x77, 0x61, 0x6e, 0x20, 0x41, 0x331, 0x79, 0x72, 0x6e, 0x69, 0x67, 0x3b, 0x48, 0x79,
-0x77, 0x61, 0x6e, 0x20, 0x41, 0x331, 0x68, 0x77, 0x61, 0x3b, 0x48, 0x79, 0x77, 0x61, 0x6e, 0x20, 0x41, 0x331, 0x74, 0x61,
-0x74, 0x3b, 0x48, 0x79, 0x77, 0x61, 0x6e, 0x20, 0x41, 0x331, 0x6e, 0x61, 0x61, 0x69, 0x3b, 0x48, 0x79, 0x77, 0x61, 0x6e,
-0x20, 0x41, 0x331, 0x70, 0x66, 0x77, 0x6f, 0x6e, 0x3b, 0x48, 0x79, 0x77, 0x61, 0x6e, 0x20, 0x41, 0x331, 0x6b, 0x69, 0x74,
-0x61, 0x74, 0x3b, 0x48, 0x79, 0x77, 0x61, 0x6e, 0x20, 0x41, 0x331, 0x74, 0x79, 0x69, 0x72, 0x69, 0x6e, 0x3b, 0x48, 0x79,
-0x77, 0x61, 0x6e, 0x20, 0x41, 0x331, 0x6e, 0x69, 0x6e, 0x61, 0x69, 0x3b, 0x48, 0x79, 0x77, 0x61, 0x6e, 0x20, 0x41, 0x331,
-0x6b, 0x75, 0x6d, 0x76, 0x69, 0x72, 0x69, 0x79, 0x69, 0x6e, 0x3b, 0x48, 0x79, 0x77, 0x61, 0x6e, 0x20, 0x53, 0x77, 0x61,
-0x6b, 0x3b, 0x48, 0x79, 0x77, 0x61, 0x6e, 0x20, 0x53, 0x77, 0x61, 0x6b, 0x20, 0x42, 0x27, 0x61, 0x331, 0x79, 0x72, 0x6e,
-0x69, 0x67, 0x3b, 0x48, 0x79, 0x77, 0x61, 0x6e, 0x20, 0x53, 0x77, 0x61, 0x6b, 0x20, 0x42, 0x27, 0x61, 0x331, 0x68, 0x77,
-0x61, 0x3b, 0x5a, 0x65, 0x6e, 0x3b, 0x46, 0x65, 0x76, 0x3b, 0x4d, 0x61, 0x72, 0x3b, 0x41, 0x76, 0x72, 0x3b, 0x4d, 0x61,
-0x69, 0x3b, 0x4a, 0x75, 0x67, 0x3b, 0x4c, 0x75, 0x69, 0x3b, 0x41, 0x76, 0x6f, 0x3b, 0x53, 0x65, 0x74, 0x3b, 0x4f, 0x74,
-0x75, 0x3b, 0x4e, 0x6f, 0x76, 0x3b, 0x44, 0x69, 0x63, 0x3b, 0x5a, 0x65, 0x6e, 0xe2, 0x72, 0x3b, 0x46, 0x65, 0x76, 0x72,
-0xe2, 0x72, 0x3b, 0x4d, 0x61, 0x72, 0xe7, 0x3b, 0x41, 0x76, 0x72, 0xee, 0x6c, 0x3b, 0x4d, 0x61, 0x69, 0x3b, 0x4a, 0x75,
-0x67, 0x6e, 0x3b, 0x4c, 0x75, 0x69, 0x3b, 0x41, 0x76, 0x6f, 0x73, 0x74, 0x3b, 0x53, 0x65, 0x74, 0x65, 0x6d, 0x62, 0x61,
-0x72, 0x3b, 0x4f, 0x74, 0x75, 0x62, 0x61, 0x72, 0x3b, 0x4e, 0x6f, 0x76, 0x65, 0x6d, 0x62, 0x61, 0x72, 0x3b, 0x44, 0x69,
-0x63, 0x65, 0x6d, 0x62, 0x61, 0x72, 0x3b, 0x5a, 0x3b, 0x46, 0x3b, 0x4d, 0x3b, 0x41, 0x3b, 0x4d, 0x3b, 0x4a, 0x3b, 0x4c,
-0x3b, 0x41, 0x3b, 0x53, 0x3b, 0x4f, 0x3b, 0x4e, 0x3b, 0x44, 0x3b, 0x50, 0x68, 0x61, 0x3b, 0x4c, 0x75, 0x68, 0x3b, 0x1e70,
-0x68, 0x61, 0x3b, 0x4c, 0x61, 0x6d, 0x3b, 0x53, 0x68, 0x75, 0x3b, 0x4c, 0x77, 0x69, 0x3b, 0x4c, 0x77, 0x61, 0x3b, 0x1e70,
-0x68, 0x61, 0x3b, 0x4b, 0x68, 0x75, 0x3b, 0x54, 0x73, 0x68, 0x3b, 0x1e3c, 0x61, 0x72, 0x3b, 0x4e, 0x79, 0x65, 0x3b, 0x50,
-0x68, 0x61, 0x6e, 0x64, 0x6f, 0x3b, 0x4c, 0x75, 0x68, 0x75, 0x68, 0x69, 0x3b, 0x1e70, 0x68, 0x61, 0x66, 0x61, 0x6d, 0x75,
-0x68, 0x77, 0x65, 0x3b, 0x4c, 0x61, 0x6d, 0x62, 0x61, 0x6d, 0x61, 0x69, 0x3b, 0x53, 0x68, 0x75, 0x6e, 0x64, 0x75, 0x6e,
-0x74, 0x68, 0x75, 0x6c, 0x65, 0x3b, 0x46, 0x75, 0x6c, 0x77, 0x69, 0x3b, 0x46, 0x75, 0x6c, 0x77, 0x61, 0x6e, 0x61, 0x3b,
-0x1e70, 0x68, 0x61, 0x6e, 0x67, 0x75, 0x6c, 0x65, 0x3b, 0x4b, 0x68, 0x75, 0x62, 0x76, 0x75, 0x6d, 0x65, 0x64, 0x7a, 0x69,
-0x3b, 0x54, 0x73, 0x68, 0x69, 0x6d, 0x65, 0x64, 0x7a, 0x69, 0x3b, 0x1e3c, 0x61, 0x72, 0x61, 0x3b, 0x4e, 0x79, 0x65, 0x6e,
-0x64, 0x61, 0x76, 0x68, 0x75, 0x73, 0x69, 0x6b, 0x75, 0x3b, 0x44, 0x7a, 0x76, 0x3b, 0x44, 0x7a, 0x64, 0x3b, 0x54, 0x65,
-0x64, 0x3b, 0x41, 0x66, 0x254, 0x3b, 0x44, 0x61, 0x6d, 0x3b, 0x4d, 0x61, 0x73, 0x3b, 0x53, 0x69, 0x61, 0x3b, 0x44, 0x65,
-0x61, 0x3b, 0x41, 0x6e, 0x79, 0x3b, 0x4b, 0x65, 0x6c, 0x3b, 0x41, 0x64, 0x65, 0x3b, 0x44, 0x7a, 0x6d, 0x3b, 0x44, 0x7a,
-0x6f, 0x76, 0x65, 0x3b, 0x44, 0x7a, 0x6f, 0x64, 0x7a, 0x65, 0x3b, 0x54, 0x65, 0x64, 0x6f, 0x78, 0x65, 0x3b, 0x41, 0x66,
-0x254, 0x66, 0x69, 0x25b, 0x3b, 0x44, 0x61, 0x6d, 0x61, 0x3b, 0x4d, 0x61, 0x73, 0x61, 0x3b, 0x53, 0x69, 0x61, 0x6d, 0x6c,
-0x254, 0x6d, 0x3b, 0x44, 0x65, 0x61, 0x73, 0x69, 0x61, 0x6d, 0x69, 0x6d, 0x65, 0x3b, 0x41, 0x6e, 0x79, 0x254, 0x6e, 0x79,
-0x254, 0x3b, 0x4b, 0x65, 0x6c, 0x65, 0x3b, 0x41, 0x64, 0x65, 0x25b, 0x6d, 0x65, 0x6b, 0x70, 0x254, 0x78, 0x65, 0x3b, 0x44,
-0x7a, 0x6f, 0x6d, 0x65, 0x3b, 0x44, 0x3b, 0x44, 0x3b, 0x54, 0x3b, 0x41, 0x3b, 0x44, 0x3b, 0x4d, 0x3b, 0x53, 0x3b, 0x44,
-0x3b, 0x41, 0x3b, 0x4b, 0x3b, 0x41, 0x3b, 0x44, 0x3b, 0x49, 0x61, 0x6e, 0x2e, 0x3b, 0x50, 0x65, 0x70, 0x2e, 0x3b, 0x4d,
-0x61, 0x6c, 0x2e, 0x3b, 0x2bb, 0x41, 0x70, 0x2e, 0x3b, 0x4d, 0x65, 0x69, 0x3b, 0x49, 0x75, 0x6e, 0x2e, 0x3b, 0x49, 0x75,
-0x6c, 0x2e, 0x3b, 0x2bb, 0x41, 0x75, 0x2e, 0x3b, 0x4b, 0x65, 0x70, 0x2e, 0x3b, 0x2bb, 0x4f, 0x6b, 0x2e, 0x3b, 0x4e, 0x6f,
-0x77, 0x2e, 0x3b, 0x4b, 0x65, 0x6b, 0x2e, 0x3b, 0x49, 0x61, 0x6e, 0x75, 0x61, 0x6c, 0x69, 0x3b, 0x50, 0x65, 0x70, 0x65,
-0x6c, 0x75, 0x61, 0x6c, 0x69, 0x3b, 0x4d, 0x61, 0x6c, 0x61, 0x6b, 0x69, 0x3b, 0x2bb, 0x41, 0x70, 0x65, 0x6c, 0x69, 0x6c,
-0x61, 0x3b, 0x4d, 0x65, 0x69, 0x3b, 0x49, 0x75, 0x6e, 0x65, 0x3b, 0x49, 0x75, 0x6c, 0x61, 0x69, 0x3b, 0x2bb, 0x41, 0x75,
-0x6b, 0x61, 0x6b, 0x65, 0x3b, 0x4b, 0x65, 0x70, 0x61, 0x6b, 0x65, 0x6d, 0x61, 0x70, 0x61, 0x3b, 0x2bb, 0x4f, 0x6b, 0x61,
-0x6b, 0x6f, 0x70, 0x61, 0x3b, 0x4e, 0x6f, 0x77, 0x65, 0x6d, 0x61, 0x70, 0x61, 0x3b, 0x4b, 0x65, 0x6b, 0x65, 0x6d, 0x61,
-0x70, 0x61, 0x3b, 0x4a, 0x75, 0x77, 0x3b, 0x53, 0x77, 0x69, 0x3b, 0x54, 0x73, 0x61, 0x3b, 0x4e, 0x79, 0x61, 0x3b, 0x54,
-0x73, 0x77, 0x3b, 0x41, 0x74, 0x61, 0x3b, 0x41, 0x6e, 0x61, 0x3b, 0x41, 0x72, 0x69, 0x3b, 0x41, 0x6b, 0x75, 0x3b, 0x53,
-0x77, 0x61, 0x3b, 0x4d, 0x61, 0x6e, 0x3b, 0x4d, 0x61, 0x73, 0x3b, 0x5a, 0x77, 0x61, 0x74, 0x20, 0x4a, 0x75, 0x77, 0x75,
-0x6e, 0x67, 0x3b, 0x5a, 0x77, 0x61, 0x74, 0x20, 0x53, 0x77, 0x69, 0x79, 0x61, 0x6e, 0x67, 0x3b, 0x5a, 0x77, 0x61, 0x74,
-0x20, 0x54, 0x73, 0x61, 0x74, 0x3b, 0x5a, 0x77, 0x61, 0x74, 0x20, 0x4e, 0x79, 0x61, 0x69, 0x3b, 0x5a, 0x77, 0x61, 0x74,
-0x20, 0x54, 0x73, 0x77, 0x6f, 0x6e, 0x3b, 0x5a, 0x77, 0x61, 0x74, 0x20, 0x41, 0x74, 0x61, 0x61, 0x68, 0x3b, 0x5a, 0x77,
-0x61, 0x74, 0x20, 0x41, 0x6e, 0x61, 0x74, 0x61, 0x74, 0x3b, 0x5a, 0x77, 0x61, 0x74, 0x20, 0x41, 0x72, 0x69, 0x6e, 0x61,
-0x69, 0x3b, 0x5a, 0x77, 0x61, 0x74, 0x20, 0x41, 0x6b, 0x75, 0x62, 0x75, 0x6e, 0x79, 0x75, 0x6e, 0x67, 0x3b, 0x5a, 0x77,
-0x61, 0x74, 0x20, 0x53, 0x77, 0x61, 0x67, 0x3b, 0x5a, 0x77, 0x61, 0x74, 0x20, 0x4d, 0x61, 0x6e, 0x67, 0x6a, 0x75, 0x77,
-0x61, 0x6e, 0x67, 0x3b, 0x5a, 0x77, 0x61, 0x74, 0x20, 0x53, 0x77, 0x61, 0x67, 0x2d, 0x4d, 0x61, 0x2d, 0x53, 0x75, 0x79,
-0x61, 0x6e, 0x67, 0x3b, 0x4a, 0x61, 0x6e, 0x3b, 0x46, 0x65, 0x62, 0x3b, 0x4d, 0x61, 0x6c, 0x3b, 0x45, 0x70, 0x75, 0x3b,
-0x4d, 0x65, 0x69, 0x3b, 0x4a, 0x75, 0x6e, 0x3b, 0x4a, 0x75, 0x6c, 0x3b, 0x4f, 0x67, 0x61, 0x3b, 0x53, 0x65, 0x70, 0x3b,
-0x4f, 0x6b, 0x75, 0x3b, 0x4e, 0x6f, 0x76, 0x3b, 0x44, 0x69, 0x73, 0x3b, 0x4a, 0x61, 0x6e, 0x75, 0x77, 0x61, 0x6c, 0x65,
-0x3b, 0x46, 0x65, 0x62, 0x75, 0x6c, 0x75, 0x77, 0x61, 0x6c, 0x65, 0x3b, 0x4d, 0x61, 0x6c, 0x69, 0x63, 0x68, 0x69, 0x3b,
-0x45, 0x70, 0x75, 0x6c, 0x6f, 0x3b, 0x4d, 0x65, 0x69, 0x3b, 0x4a, 0x75, 0x6e, 0x69, 0x3b, 0x4a, 0x75, 0x6c, 0x61, 0x69,
-0x3b, 0x4f, 0x67, 0x61, 0x73, 0x69, 0x74, 0x69, 0x3b, 0x53, 0x65, 0x70, 0x75, 0x74, 0x65, 0x6d, 0x62, 0x61, 0x3b, 0x4f,
-0x6b, 0x75, 0x74, 0x6f, 0x62, 0x61, 0x3b, 0x4e, 0x6f, 0x76, 0x65, 0x6d, 0x62, 0x61, 0x3b, 0x44, 0x69, 0x73, 0x65, 0x6d,
-0x62, 0x61, 0x3b, 0x45, 0x6e, 0x65, 0x3b, 0x50, 0x65, 0x62, 0x3b, 0x4d, 0x61, 0x72, 0x3b, 0x41, 0x62, 0x72, 0x3b, 0x4d,
-0x61, 0x79, 0x3b, 0x48, 0x75, 0x6e, 0x3b, 0x48, 0x75, 0x6c, 0x3b, 0x41, 0x67, 0x6f, 0x3b, 0x53, 0x65, 0x74, 0x3b, 0x4f,
-0x6b, 0x74, 0x3b, 0x4e, 0x6f, 0x62, 0x3b, 0x44, 0x69, 0x73, 0x3b, 0x45, 0x6e, 0x65, 0x72, 0x6f, 0x3b, 0x50, 0x65, 0x62,
-0x72, 0x65, 0x72, 0x6f, 0x3b, 0x4d, 0x61, 0x72, 0x73, 0x6f, 0x3b, 0x41, 0x62, 0x72, 0x69, 0x6c, 0x3b, 0x4d, 0x61, 0x79,
-0x6f, 0x3b, 0x48, 0x75, 0x6e, 0x79, 0x6f, 0x3b, 0x48, 0x75, 0x6c, 0x79, 0x6f, 0x3b, 0x41, 0x67, 0x6f, 0x73, 0x74, 0x6f,
-0x3b, 0x53, 0x65, 0x74, 0x79, 0x65, 0x6d, 0x62, 0x72, 0x65, 0x3b, 0x4f, 0x6b, 0x74, 0x75, 0x62, 0x72, 0x65, 0x3b, 0x4e,
-0x6f, 0x62, 0x79, 0x65, 0x6d, 0x62, 0x72, 0x65, 0x3b, 0x44, 0x69, 0x73, 0x79, 0x65, 0x6d, 0x62, 0x72, 0x65, 0x3b, 0x45,
-0x3b, 0x50, 0x3b, 0x4d, 0x3b, 0x41, 0x3b, 0x4d, 0x3b, 0x48, 0x3b, 0x48, 0x3b, 0x41, 0x3b, 0x53, 0x3b, 0x4f, 0x3b, 0x4e,
-0x3b, 0x44, 0x3b, 0x4a, 0x61, 0x6e, 0x3b, 0x46, 0x65, 0x62, 0x3b, 0x4d, 0xe4, 0x72, 0x3b, 0x41, 0x70, 0x72, 0x3b, 0x4d,
-0x61, 0x69, 0x3b, 0x4a, 0x75, 0x6e, 0x3b, 0x4a, 0x75, 0x6c, 0x3b, 0x41, 0x75, 0x67, 0x3b, 0x53, 0x65, 0x70, 0x3b, 0x4f,
-0x6b, 0x74, 0x3b, 0x4e, 0x6f, 0x76, 0x3b, 0x44, 0x65, 0x7a, 0x3b, 0x4a, 0x61, 0x6e, 0x75, 0x61, 0x72, 0x3b, 0x46, 0x65,
-0x62, 0x72, 0x75, 0x61, 0x72, 0x3b, 0x4d, 0xe4, 0x72, 0x7a, 0x3b, 0x41, 0x70, 0x72, 0x69, 0x6c, 0x3b, 0x4d, 0x61, 0x69,
-0x3b, 0x4a, 0x75, 0x6e, 0x69, 0x3b, 0x4a, 0x75, 0x6c, 0x69, 0x3b, 0x41, 0x75, 0x67, 0x75, 0x73, 0x63, 0x68, 0x74, 0x3b,
-0x53, 0x65, 0x70, 0x74, 0xe4, 0x6d, 0x62, 0x65, 0x72, 0x3b, 0x4f, 0x6b, 0x74, 0x6f, 0x6f, 0x62, 0x65, 0x72, 0x3b, 0x4e,
-0x6f, 0x76, 0xe4, 0x6d, 0x62, 0x65, 0x72, 0x3b, 0x44, 0x65, 0x7a, 0xe4, 0x6d, 0x62, 0x65, 0x72, 0x3b, 0xa2cd, 0xa1aa, 0x3b,
-0xa44d, 0xa1aa, 0x3b, 0xa315, 0xa1aa, 0x3b, 0xa1d6, 0xa1aa, 0x3b, 0xa26c, 0xa1aa, 0x3b, 0xa0d8, 0xa1aa, 0x3b, 0xa3c3, 0xa1aa, 0x3b, 0xa246, 0xa1aa,
-0x3b, 0xa22c, 0xa1aa, 0x3b, 0xa2b0, 0xa1aa, 0x3b, 0xa2b0, 0xa2aa, 0xa1aa, 0x3b, 0xa2b0, 0xa44b, 0xa1aa, 0x3b, 0x4a, 0x61, 0x6e, 0x3b, 0x46,
-0x65, 0x62, 0x3b, 0x4d, 0x61, 0x74, 0x3b, 0x41, 0x70, 0x72, 0x3b, 0x4d, 0x65, 0x79, 0x3b, 0x4a, 0x75, 0x6e, 0x3b, 0x4a,
-0x75, 0x6c, 0x3b, 0x41, 0x72, 0x68, 0x3b, 0x53, 0x65, 0x70, 0x3b, 0x4f, 0x6b, 0x74, 0x3b, 0x55, 0x73, 0x69, 0x3b, 0x44,
-0x69, 0x73, 0x3b, 0x4a, 0x61, 0x6e, 0x61, 0x62, 0x61, 0x72, 0x69, 0x3b, 0x75, 0x46, 0x65, 0x62, 0x65, 0x72, 0x62, 0x61,
-0x72, 0x69, 0x3b, 0x75, 0x4d, 0x61, 0x74, 0x6a, 0x68, 0x69, 0x3b, 0x75, 0x2d, 0x41, 0x70, 0x72, 0x65, 0x6c, 0x69, 0x3b,
-0x4d, 0x65, 0x79, 0x69, 0x3b, 0x4a, 0x75, 0x6e, 0x69, 0x3b, 0x4a, 0x75, 0x6c, 0x61, 0x79, 0x69, 0x3b, 0x41, 0x72, 0x68,
-0x6f, 0x73, 0x74, 0x6f, 0x73, 0x69, 0x3b, 0x53, 0x65, 0x70, 0x74, 0x65, 0x6d, 0x62, 0x61, 0x3b, 0x4f, 0x6b, 0x74, 0x6f,
-0x62, 0x61, 0x3b, 0x55, 0x73, 0x69, 0x6e, 0x79, 0x69, 0x6b, 0x68, 0x61, 0x62, 0x61, 0x3b, 0x44, 0x69, 0x73, 0x65, 0x6d,
-0x62, 0x61, 0x3b, 0x4a, 0x61, 0x6e, 0x3b, 0x46, 0x65, 0x62, 0x3b, 0x4d, 0x61, 0x74, 0x3b, 0x41, 0x70, 0x6f, 0x3b, 0x4d,
-0x65, 0x69, 0x3b, 0x4a, 0x75, 0x6e, 0x3b, 0x4a, 0x75, 0x6c, 0x3b, 0x41, 0x67, 0x6f, 0x3b, 0x53, 0x65, 0x74, 0x3b, 0x4f,
-0x6b, 0x74, 0x3b, 0x4e, 0x6f, 0x66, 0x3b, 0x44, 0x69, 0x73, 0x3b, 0x4a, 0x61, 0x6e, 0x61, 0x77, 0x61, 0x72, 0x65, 0x3b,
-0x46, 0x65, 0x62, 0x65, 0x72, 0x77, 0x61, 0x72, 0x65, 0x3b, 0x4d, 0x61, 0x74, 0x161, 0x68, 0x65, 0x3b, 0x41, 0x70, 0x6f,
-0x72, 0x65, 0x6c, 0x65, 0x3b, 0x4d, 0x65, 0x69, 0x3b, 0x4a, 0x75, 0x6e, 0x65, 0x3b, 0x4a, 0x75, 0x6c, 0x61, 0x65, 0x3b,
-0x41, 0x67, 0x6f, 0x73, 0x74, 0x6f, 0x73, 0x65, 0x3b, 0x53, 0x65, 0x74, 0x65, 0x6d, 0x65, 0x72, 0x65, 0x3b, 0x4f, 0x6b,
-0x74, 0x6f, 0x62, 0x6f, 0x72, 0x65, 0x3b, 0x4e, 0x6f, 0x66, 0x65, 0x6d, 0x65, 0x72, 0x65, 0x3b, 0x44, 0x69, 0x73, 0x65,
-0x6d, 0x65, 0x72, 0x65, 0x3b, 0x6f, 0x111, 0x111, 0x61, 0x6a, 0x61, 0x67, 0x65, 0x3b, 0x67, 0x75, 0x6f, 0x76, 0x76, 0x61,
-0x3b, 0x6e, 0x6a, 0x75, 0x6b, 0x10d, 0x61, 0x3b, 0x63, 0x75, 0x6f, 0x14b, 0x6f, 0x3b, 0x6d, 0x69, 0x65, 0x73, 0x73, 0x65,
-0x3b, 0x67, 0x65, 0x61, 0x73, 0x73, 0x65, 0x3b, 0x73, 0x75, 0x6f, 0x69, 0x64, 0x6e, 0x65, 0x3b, 0x62, 0x6f, 0x72, 0x67,
-0x65, 0x3b, 0x10d, 0x61, 0x6b, 0x10d, 0x61, 0x3b, 0x67, 0x6f, 0x6c, 0x67, 0x67, 0x6f, 0x74, 0x3b, 0x73, 0x6b, 0xe1, 0x62,
-0x6d, 0x61, 0x3b, 0x6a, 0x75, 0x6f, 0x76, 0x6c, 0x61, 0x3b, 0x6f, 0x111, 0x111, 0x61, 0x6a, 0x61, 0x67, 0x65, 0x6d, 0xe1,
-0x6e, 0x6e, 0x75, 0x3b, 0x67, 0x75, 0x6f, 0x76, 0x76, 0x61, 0x6d, 0xe1, 0x6e, 0x6e, 0x75, 0x3b, 0x6e, 0x6a, 0x75, 0x6b,
-0x10d, 0x61, 0x6d, 0xe1, 0x6e, 0x6e, 0x75, 0x3b, 0x63, 0x75, 0x6f, 0x14b, 0x6f, 0x6d, 0xe1, 0x6e, 0x6e, 0x75, 0x3b, 0x6d,
-0x69, 0x65, 0x73, 0x73, 0x65, 0x6d, 0xe1, 0x6e, 0x6e, 0x75, 0x3b, 0x67, 0x65, 0x61, 0x73, 0x73, 0x65, 0x6d, 0xe1, 0x6e,
-0x6e, 0x75, 0x3b, 0x73, 0x75, 0x6f, 0x69, 0x64, 0x6e, 0x65, 0x6d, 0xe1, 0x6e, 0x6e, 0x75, 0x3b, 0x62, 0x6f, 0x72, 0x67,
-0x65, 0x6d, 0xe1, 0x6e, 0x6e, 0x75, 0x3b, 0x10d, 0x61, 0x6b, 0x10d, 0x61, 0x6d, 0xe1, 0x6e, 0x6e, 0x75, 0x3b, 0x67, 0x6f,
-0x6c, 0x67, 0x67, 0x6f, 0x74, 0x6d, 0xe1, 0x6e, 0x6e, 0x75, 0x3b, 0x73, 0x6b, 0xe1, 0x62, 0x6d, 0x61, 0x6d, 0xe1, 0x6e,
-0x6e, 0x75, 0x3b, 0x6a, 0x75, 0x6f, 0x76, 0x6c, 0x61, 0x6d, 0xe1, 0x6e, 0x6e, 0x75, 0x3b, 0x4f, 0x3b, 0x47, 0x3b, 0x4e,
-0x3b, 0x43, 0x3b, 0x4d, 0x3b, 0x47, 0x3b, 0x53, 0x3b, 0x42, 0x3b, 0x10c, 0x3b, 0x47, 0x3b, 0x53, 0x3b, 0x4a, 0x3b, 0x6f,
-0x111, 0x111, 0x6a, 0x3b, 0x67, 0x75, 0x6f, 0x76, 0x3b, 0x6e, 0x6a, 0x75, 0x6b, 0x3b, 0x63, 0x75, 0x6f, 0x3b, 0x6d, 0x69,
-0x65, 0x73, 0x3b, 0x67, 0x65, 0x61, 0x73, 0x3b, 0x73, 0x75, 0x6f, 0x69, 0x3b, 0x62, 0x6f, 0x72, 0x67, 0x3b, 0x10d, 0x61,
-0x6b, 0x10d, 0x3b, 0x67, 0x6f, 0x6c, 0x67, 0x3b, 0x73, 0x6b, 0xe1, 0x62, 0x3b, 0x6a, 0x75, 0x6f, 0x76, 0x3b, 0x4b, 0x69,
-0x69, 0x3b, 0x44, 0x68, 0x69, 0x3b, 0x54, 0x72, 0x69, 0x3b, 0x53, 0x70, 0x69, 0x3b, 0x52, 0x69, 0x69, 0x3b, 0x4d, 0x74,
-0x69, 0x3b, 0x45, 0x6d, 0x69, 0x3b, 0x4d, 0x61, 0x69, 0x3b, 0x4d, 0x6e, 0x69, 0x3b, 0x4d, 0x78, 0x69, 0x3b, 0x4d, 0x78,
-0x6b, 0x3b, 0x4d, 0x78, 0x64, 0x3b, 0x4b, 0x69, 0x6e, 0x67, 0x61, 0x6c, 0x20, 0x69, 0x64, 0x61, 0x73, 0x3b, 0x44, 0x68,
-0x61, 0x20, 0x69, 0x64, 0x61, 0x73, 0x3b, 0x54, 0x72, 0x75, 0x20, 0x69, 0x64, 0x61, 0x73, 0x3b, 0x53, 0x70, 0x61, 0x74,
-0x20, 0x69, 0x64, 0x61, 0x73, 0x3b, 0x52, 0x69, 0x6d, 0x61, 0x20, 0x69, 0x64, 0x61, 0x73, 0x3b, 0x4d, 0x61, 0x74, 0x61,
-0x72, 0x75, 0x20, 0x69, 0x64, 0x61, 0x73, 0x3b, 0x45, 0x6d, 0x70, 0x69, 0x74, 0x75, 0x20, 0x69, 0x64, 0x61, 0x73, 0x3b,
-0x4d, 0x61, 0x73, 0x70, 0x61, 0x74, 0x20, 0x69, 0x64, 0x61, 0x73, 0x3b, 0x4d, 0x6e, 0x67, 0x61, 0x72, 0x69, 0x20, 0x69,
-0x64, 0x61, 0x73, 0x3b, 0x4d, 0x61, 0x78, 0x61, 0x6c, 0x20, 0x69, 0x64, 0x61, 0x73, 0x3b, 0x4d, 0x61, 0x78, 0x61, 0x6c,
-0x20, 0x6b, 0x69, 0x6e, 0x67, 0x61, 0x6c, 0x20, 0x69, 0x64, 0x61, 0x73, 0x3b, 0x4d, 0x61, 0x78, 0x61, 0x6c, 0x20, 0x64,
-0x68, 0x61, 0x20, 0x69, 0x64, 0x61, 0x73, 0x3b, 0x4b, 0x3b, 0x44, 0x3b, 0x54, 0x3b, 0x53, 0x3b, 0x52, 0x3b, 0x4d, 0x3b,
-0x45, 0x3b, 0x50, 0x3b, 0x41, 0x3b, 0x4d, 0x3b, 0x4b, 0x3b, 0x44, 0x3b, 0x43, 0x61, 0x6e, 0x3b, 0x46, 0x65, 0x62, 0x3b,
-0x4d, 0x61, 0x63, 0x3b, 0x41, 0x70, 0x72, 0x3b, 0x4d, 0x65, 0x69, 0x3b, 0x4a, 0x75, 0x6e, 0x3b, 0x43, 0x75, 0x6c, 0x3b,
-0x41, 0x67, 0x74, 0x3b, 0x53, 0x65, 0x70, 0x3b, 0x4f, 0x6b, 0x74, 0x3b, 0x4e, 0x6f, 0x62, 0x3b, 0x44, 0x69, 0x73, 0x3b,
-0x43, 0x68, 0x61, 0x6e, 0x75, 0x61, 0x72, 0x69, 0x3b, 0x46, 0x65, 0x62, 0x75, 0x72, 0x61, 0x72, 0x69, 0x3b, 0x4d, 0x61,
-0x63, 0x68, 0x69, 0x3b, 0x41, 0x70, 0x69, 0x72, 0x69, 0x72, 0x69, 0x3b, 0x4d, 0x65, 0x69, 0x3b, 0x4a, 0x75, 0x6e, 0x69,
-0x3b, 0x43, 0x68, 0x75, 0x6c, 0x61, 0x69, 0x3b, 0x41, 0x67, 0x6f, 0x73, 0x74, 0x69, 0x3b, 0x53, 0x65, 0x70, 0x74, 0x65,
-0x6d, 0x62, 0x61, 0x3b, 0x4f, 0x6b, 0x69, 0x74, 0x6f, 0x62, 0x61, 0x3b, 0x4e, 0x6f, 0x62, 0x65, 0x6d, 0x62, 0x61, 0x3b,
-0x44, 0x69, 0x73, 0x65, 0x6d, 0x62, 0x61, 0x3b, 0x43, 0x3b, 0x46, 0x3b, 0x4d, 0x3b, 0x41, 0x3b, 0x4d, 0x3b, 0x4a, 0x3b,
-0x43, 0x3b, 0x41, 0x3b, 0x53, 0x3b, 0x4f, 0x3b, 0x4e, 0x3b, 0x44, 0x3b, 0x49, 0x6d, 0x62, 0x3b, 0x4b, 0x61, 0x77, 0x3b,
-0x4b, 0x61, 0x64, 0x3b, 0x4b, 0x61, 0x6e, 0x3b, 0x4b, 0x61, 0x73, 0x3b, 0x4b, 0x61, 0x72, 0x3b, 0x4d, 0x66, 0x75, 0x3b,
-0x57, 0x75, 0x6e, 0x3b, 0x49, 0x6b, 0x65, 0x3b, 0x49, 0x6b, 0x75, 0x3b, 0x49, 0x6d, 0x77, 0x3b, 0x49, 0x77, 0x69, 0x3b,
-0x4d, 0x6f, 0x72, 0x69, 0x20, 0x67, 0x68, 0x77, 0x61, 0x20, 0x69, 0x6d, 0x62, 0x69, 0x72, 0x69, 0x3b, 0x4d, 0x6f, 0x72,
-0x69, 0x20, 0x67, 0x68, 0x77, 0x61, 0x20, 0x6b, 0x61, 0x77, 0x69, 0x3b, 0x4d, 0x6f, 0x72, 0x69, 0x20, 0x67, 0x68, 0x77,
-0x61, 0x20, 0x6b, 0x61, 0x64, 0x61, 0x64, 0x75, 0x3b, 0x4d, 0x6f, 0x72, 0x69, 0x20, 0x67, 0x68, 0x77, 0x61, 0x20, 0x6b,
-0x61, 0x6e, 0x61, 0x3b, 0x4d, 0x6f, 0x72, 0x69, 0x20, 0x67, 0x68, 0x77, 0x61, 0x20, 0x6b, 0x61, 0x73, 0x61, 0x6e, 0x75,
-0x3b, 0x4d, 0x6f, 0x72, 0x69, 0x20, 0x67, 0x68, 0x77, 0x61, 0x20, 0x6b, 0x61, 0x72, 0x61, 0x6e, 0x64, 0x61, 0x64, 0x75,
-0x3b, 0x4d, 0x6f, 0x72, 0x69, 0x20, 0x67, 0x68, 0x77, 0x61, 0x20, 0x6d, 0x66, 0x75, 0x6e, 0x67, 0x61, 0x64, 0x65, 0x3b,
-0x4d, 0x6f, 0x72, 0x69, 0x20, 0x67, 0x68, 0x77, 0x61, 0x20, 0x77, 0x75, 0x6e, 0x79, 0x61, 0x6e, 0x79, 0x61, 0x3b, 0x4d,
-0x6f, 0x72, 0x69, 0x20, 0x67, 0x68, 0x77, 0x61, 0x20, 0x69, 0x6b, 0x65, 0x6e, 0x64, 0x61, 0x3b, 0x4d, 0x6f, 0x72, 0x69,
-0x20, 0x67, 0x68, 0x77, 0x61, 0x20, 0x69, 0x6b, 0x75, 0x6d, 0x69, 0x3b, 0x4d, 0x6f, 0x72, 0x69, 0x20, 0x67, 0x68, 0x77,
-0x61, 0x20, 0x69, 0x6b, 0x75, 0x6d, 0x69, 0x20, 0x6e, 0x61, 0x20, 0x69, 0x6d, 0x77, 0x65, 0x72, 0x69, 0x3b, 0x4d, 0x6f,
-0x72, 0x69, 0x20, 0x67, 0x68, 0x77, 0x61, 0x20, 0x69, 0x6b, 0x75, 0x6d, 0x69, 0x20, 0x6e, 0x61, 0x20, 0x69, 0x77, 0x69,
-0x3b, 0x49, 0x3b, 0x4b, 0x3b, 0x4b, 0x3b, 0x4b, 0x3b, 0x4b, 0x3b, 0x4b, 0x3b, 0x4d, 0x3b, 0x57, 0x3b, 0x49, 0x3b, 0x49,
-0x3b, 0x49, 0x3b, 0x49, 0x3b, 0x73, 0x69, 0x69, 0x3b, 0x63, 0x6f, 0x6c, 0x3b, 0x6d, 0x62, 0x6f, 0x3b, 0x73, 0x65, 0x65,
-0x3b, 0x64, 0x75, 0x75, 0x3b, 0x6b, 0x6f, 0x72, 0x3b, 0x6d, 0x6f, 0x72, 0x3b, 0x6a, 0x75, 0x6b, 0x3b, 0x73, 0x6c, 0x74,
-0x3b, 0x79, 0x61, 0x72, 0x3b, 0x6a, 0x6f, 0x6c, 0x3b, 0x62, 0x6f, 0x77, 0x3b, 0x73, 0x69, 0x69, 0x6c, 0x6f, 0x3b, 0x63,
-0x6f, 0x6c, 0x74, 0x65, 0x3b, 0x6d, 0x62, 0x6f, 0x6f, 0x79, 0x3b, 0x73, 0x65, 0x65, 0x257, 0x74, 0x6f, 0x3b, 0x64, 0x75,
-0x75, 0x6a, 0x61, 0x6c, 0x3b, 0x6b, 0x6f, 0x72, 0x73, 0x65, 0x3b, 0x6d, 0x6f, 0x72, 0x73, 0x6f, 0x3b, 0x6a, 0x75, 0x6b,
-0x6f, 0x3b, 0x73, 0x69, 0x69, 0x6c, 0x74, 0x6f, 0x3b, 0x79, 0x61, 0x72, 0x6b, 0x6f, 0x6d, 0x61, 0x61, 0x3b, 0x6a, 0x6f,
-0x6c, 0x61, 0x6c, 0x3b, 0x62, 0x6f, 0x77, 0x74, 0x65, 0x3b, 0x73, 0x3b, 0x63, 0x3b, 0x6d, 0x3b, 0x73, 0x3b, 0x64, 0x3b,
-0x6b, 0x3b, 0x6d, 0x3b, 0x6a, 0x3b, 0x73, 0x3b, 0x79, 0x3b, 0x6a, 0x3b, 0x62, 0x3b, 0x4a, 0x45, 0x4e, 0x3b, 0x57, 0x4b,
-0x52, 0x3b, 0x57, 0x47, 0x54, 0x3b, 0x57, 0x4b, 0x4e, 0x3b, 0x57, 0x54, 0x4e, 0x3b, 0x57, 0x54, 0x44, 0x3b, 0x57, 0x4d,
-0x4a, 0x3b, 0x57, 0x4e, 0x4e, 0x3b, 0x57, 0x4b, 0x44, 0x3b, 0x57, 0x49, 0x4b, 0x3b, 0x57, 0x4d, 0x57, 0x3b, 0x44, 0x49,
-0x54, 0x3b, 0x4e, 0x6a, 0x65, 0x6e, 0x75, 0x61, 0x72, 0x129, 0x3b, 0x4d, 0x77, 0x65, 0x72, 0x65, 0x20, 0x77, 0x61, 0x20,
-0x6b, 0x65, 0x72, 0x129, 0x3b, 0x4d, 0x77, 0x65, 0x72, 0x65, 0x20, 0x77, 0x61, 0x20, 0x67, 0x61, 0x74, 0x61, 0x74, 0x169,
-0x3b, 0x4d, 0x77, 0x65, 0x72, 0x65, 0x20, 0x77, 0x61, 0x20, 0x6b, 0x61, 0x6e, 0x61, 0x3b, 0x4d, 0x77, 0x65, 0x72, 0x65,
-0x20, 0x77, 0x61, 0x20, 0x67, 0x61, 0x74, 0x61, 0x6e, 0x6f, 0x3b, 0x4d, 0x77, 0x65, 0x72, 0x65, 0x20, 0x77, 0x61, 0x20,
-0x67, 0x61, 0x74, 0x61, 0x6e, 0x64, 0x61, 0x74, 0x169, 0x3b, 0x4d, 0x77, 0x65, 0x72, 0x65, 0x20, 0x77, 0x61, 0x20, 0x6d,
-0x169, 0x67, 0x77, 0x61, 0x6e, 0x6a, 0x61, 0x3b, 0x4d, 0x77, 0x65, 0x72, 0x65, 0x20, 0x77, 0x61, 0x20, 0x6b, 0x61, 0x6e,
-0x61, 0x6e, 0x61, 0x3b, 0x4d, 0x77, 0x65, 0x72, 0x65, 0x20, 0x77, 0x61, 0x20, 0x6b, 0x65, 0x6e, 0x64, 0x61, 0x3b, 0x4d,
-0x77, 0x65, 0x72, 0x65, 0x20, 0x77, 0x61, 0x20, 0x69, 0x6b, 0x169, 0x6d, 0x69, 0x3b, 0x4d, 0x77, 0x65, 0x72, 0x65, 0x20,
-0x77, 0x61, 0x20, 0x69, 0x6b, 0x169, 0x6d, 0x69, 0x20, 0x6e, 0x61, 0x20, 0x169, 0x6d, 0x77, 0x65, 0x3b, 0x4e, 0x64, 0x69,
-0x74, 0x68, 0x65, 0x6d, 0x62, 0x61, 0x3b, 0x4a, 0x3b, 0x4b, 0x3b, 0x47, 0x3b, 0x4b, 0x3b, 0x47, 0x3b, 0x47, 0x3b, 0x4d,
-0x3b, 0x4b, 0x3b, 0x4b, 0x3b, 0x49, 0x3b, 0x49, 0x3b, 0x44, 0x3b, 0x4f, 0x62, 0x6f, 0x3b, 0x57, 0x61, 0x61, 0x3b, 0x4f,
-0x6b, 0x75, 0x3b, 0x4f, 0x6e, 0x67, 0x3b, 0x49, 0x6d, 0x65, 0x3b, 0x49, 0x6c, 0x65, 0x3b, 0x53, 0x61, 0x70, 0x3b, 0x49,
-0x73, 0x69, 0x3b, 0x53, 0x61, 0x61, 0x3b, 0x54, 0x6f, 0x6d, 0x3b, 0x54, 0x6f, 0x62, 0x3b, 0x54, 0x6f, 0x77, 0x3b, 0x4c,
-0x61, 0x70, 0x61, 0x20, 0x6c, 0x65, 0x20, 0x6f, 0x62, 0x6f, 0x3b, 0x4c, 0x61, 0x70, 0x61, 0x20, 0x6c, 0x65, 0x20, 0x77,
-0x61, 0x61, 0x72, 0x65, 0x3b, 0x4c, 0x61, 0x70, 0x61, 0x20, 0x6c, 0x65, 0x20, 0x6f, 0x6b, 0x75, 0x6e, 0x69, 0x3b, 0x4c,
-0x61, 0x70, 0x61, 0x20, 0x6c, 0x65, 0x20, 0x6f, 0x6e, 0x67, 0x27, 0x77, 0x61, 0x6e, 0x3b, 0x4c, 0x61, 0x70, 0x61, 0x20,
-0x6c, 0x65, 0x20, 0x69, 0x6d, 0x65, 0x74, 0x3b, 0x4c, 0x61, 0x70, 0x61, 0x20, 0x6c, 0x65, 0x20, 0x69, 0x6c, 0x65, 0x3b,
-0x4c, 0x61, 0x70, 0x61, 0x20, 0x6c, 0x65, 0x20, 0x73, 0x61, 0x70, 0x61, 0x3b, 0x4c, 0x61, 0x70, 0x61, 0x20, 0x6c, 0x65,
-0x20, 0x69, 0x73, 0x69, 0x65, 0x74, 0x3b, 0x4c, 0x61, 0x70, 0x61, 0x20, 0x6c, 0x65, 0x20, 0x73, 0x61, 0x61, 0x6c, 0x3b,
-0x4c, 0x61, 0x70, 0x61, 0x20, 0x6c, 0x65, 0x20, 0x74, 0x6f, 0x6d, 0x6f, 0x6e, 0x3b, 0x4c, 0x61, 0x70, 0x61, 0x20, 0x6c,
-0x65, 0x20, 0x74, 0x6f, 0x6d, 0x6f, 0x6e, 0x20, 0x6f, 0x62, 0x6f, 0x3b, 0x4c, 0x61, 0x70, 0x61, 0x20, 0x6c, 0x65, 0x20,
-0x74, 0x6f, 0x6d, 0x6f, 0x6e, 0x20, 0x77, 0x61, 0x61, 0x72, 0x65, 0x3b, 0x4f, 0x3b, 0x57, 0x3b, 0x4f, 0x3b, 0x4f, 0x3b,
-0x49, 0x3b, 0x49, 0x3b, 0x53, 0x3b, 0x49, 0x3b, 0x53, 0x3b, 0x54, 0x3b, 0x54, 0x3b, 0x54, 0x3b, 0x4a, 0x61, 0x6e, 0x3b,
-0x46, 0x65, 0x76, 0x3b, 0x4d, 0x61, 0x72, 0x3b, 0x41, 0x62, 0x72, 0x3b, 0x4d, 0x61, 0x69, 0x3b, 0x4a, 0x75, 0x6e, 0x3b,
-0x4a, 0x75, 0x6c, 0x3b, 0x41, 0x75, 0x67, 0x3b, 0x53, 0x65, 0x74, 0x3b, 0x4f, 0x74, 0x75, 0x3b, 0x4e, 0x6f, 0x76, 0x3b,
-0x44, 0x65, 0x63, 0x3b, 0x4a, 0x61, 0x6e, 0x65, 0x69, 0x72, 0x6f, 0x3b, 0x46, 0x65, 0x76, 0x72, 0x65, 0x69, 0x72, 0x6f,
-0x3b, 0x4d, 0x61, 0x72, 0x63, 0x6f, 0x3b, 0x41, 0x62, 0x72, 0x69, 0x6c, 0x3b, 0x4d, 0x61, 0x69, 0x6f, 0x3b, 0x4a, 0x75,
-0x6e, 0x68, 0x6f, 0x3b, 0x4a, 0x75, 0x6c, 0x68, 0x6f, 0x3b, 0x41, 0x75, 0x67, 0x75, 0x73, 0x74, 0x6f, 0x3b, 0x53, 0x65,
-0x74, 0x65, 0x6d, 0x62, 0x72, 0x6f, 0x3b, 0x4f, 0x74, 0x75, 0x62, 0x72, 0x6f, 0x3b, 0x4e, 0x6f, 0x76, 0x65, 0x6d, 0x62,
-0x72, 0x6f, 0x3b, 0x44, 0x65, 0x63, 0x65, 0x6d, 0x62, 0x72, 0x6f, 0x3b, 0x5a, 0x69, 0x62, 0x3b, 0x4e, 0x68, 0x6c, 0x3b,
-0x4d, 0x62, 0x69, 0x3b, 0x4d, 0x61, 0x62, 0x3b, 0x4e, 0x6b, 0x77, 0x3b, 0x4e, 0x68, 0x6c, 0x3b, 0x4e, 0x74, 0x75, 0x3b,
-0x4e, 0x63, 0x77, 0x3b, 0x4d, 0x70, 0x61, 0x3b, 0x4d, 0x66, 0x75, 0x3b, 0x4c, 0x77, 0x65, 0x3b, 0x4d, 0x70, 0x61, 0x3b,
-0x5a, 0x69, 0x62, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x6c, 0x61, 0x3b, 0x4e, 0x68, 0x6c, 0x6f, 0x6c, 0x61, 0x6e, 0x6a, 0x61,
-0x3b, 0x4d, 0x62, 0x69, 0x6d, 0x62, 0x69, 0x74, 0x68, 0x6f, 0x3b, 0x4d, 0x61, 0x62, 0x61, 0x73, 0x61, 0x3b, 0x4e, 0x6b,
-0x77, 0x65, 0x6e, 0x6b, 0x77, 0x65, 0x7a, 0x69, 0x3b, 0x4e, 0x68, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x6c, 0x61, 0x3b, 0x4e,
-0x74, 0x75, 0x6c, 0x69, 0x6b, 0x61, 0x7a, 0x69, 0x3b, 0x4e, 0x63, 0x77, 0x61, 0x62, 0x61, 0x6b, 0x61, 0x7a, 0x69, 0x3b,
-0x4d, 0x70, 0x61, 0x6e, 0x64, 0x75, 0x6c, 0x61, 0x3b, 0x4d, 0x66, 0x75, 0x6d, 0x66, 0x75, 0x3b, 0x4c, 0x77, 0x65, 0x7a,
-0x69, 0x3b, 0x4d, 0x70, 0x61, 0x6c, 0x61, 0x6b, 0x61, 0x7a, 0x69, 0x3b, 0x5a, 0x3b, 0x4e, 0x3b, 0x4d, 0x3b, 0x4d, 0x3b,
-0x4e, 0x3b, 0x4e, 0x3b, 0x4e, 0x3b, 0x4e, 0x3b, 0x4d, 0x3b, 0x4d, 0x3b, 0x4c, 0x3b, 0x4d, 0x3b, 0x4d, 0x31, 0x3b, 0x4d,
-0x32, 0x3b, 0x4d, 0x33, 0x3b, 0x4d, 0x34, 0x3b, 0x4d, 0x35, 0x3b, 0x4d, 0x36, 0x3b, 0x4d, 0x37, 0x3b, 0x4d, 0x38, 0x3b,
-0x4d, 0x39, 0x3b, 0x4d, 0x31, 0x30, 0x3b, 0x4d, 0x31, 0x31, 0x3b, 0x4d, 0x31, 0x32, 0x3b, 0x4d, 0x77, 0x65, 0x72, 0x69,
-0x20, 0x77, 0x61, 0x20, 0x6b, 0x77, 0x61, 0x6e, 0x7a, 0x61, 0x3b, 0x4d, 0x77, 0x65, 0x72, 0x69, 0x20, 0x77, 0x61, 0x20,
-0x6b, 0x61, 0x69, 0x6c, 0x69, 0x3b, 0x4d, 0x77, 0x65, 0x72, 0x69, 0x20, 0x77, 0x61, 0x20, 0x6b, 0x61, 0x74, 0x61, 0x74,
-0x75, 0x3b, 0x4d, 0x77, 0x65, 0x72, 0x69, 0x20, 0x77, 0x61, 0x20, 0x6b, 0x61, 0x61, 0x6e, 0x61, 0x3b, 0x4d, 0x77, 0x65,
-0x72, 0x69, 0x20, 0x77, 0x61, 0x20, 0x74, 0x61, 0x6e, 0x75, 0x3b, 0x4d, 0x77, 0x65, 0x72, 0x69, 0x20, 0x77, 0x61, 0x20,
-0x73, 0x69, 0x74, 0x61, 0x3b, 0x4d, 0x77, 0x65, 0x72, 0x69, 0x20, 0x77, 0x61, 0x20, 0x73, 0x61, 0x62, 0x61, 0x3b, 0x4d,
-0x77, 0x65, 0x72, 0x69, 0x20, 0x77, 0x61, 0x20, 0x6e, 0x61, 0x6e, 0x65, 0x3b, 0x4d, 0x77, 0x65, 0x72, 0x69, 0x20, 0x77,
-0x61, 0x20, 0x74, 0x69, 0x73, 0x61, 0x3b, 0x4d, 0x77, 0x65, 0x72, 0x69, 0x20, 0x77, 0x61, 0x20, 0x69, 0x6b, 0x75, 0x6d,
-0x69, 0x3b, 0x4d, 0x77, 0x65, 0x72, 0x69, 0x20, 0x77, 0x61, 0x20, 0x69, 0x6b, 0x75, 0x6d, 0x69, 0x20, 0x6e, 0x61, 0x20,
-0x6d, 0x6f, 0x6a, 0x61, 0x3b, 0x4d, 0x77, 0x65, 0x72, 0x69, 0x20, 0x77, 0x61, 0x20, 0x69, 0x6b, 0x75, 0x6d, 0x69, 0x20,
-0x6e, 0x61, 0x20, 0x6d, 0x62, 0x69, 0x6c, 0x69, 0x3b, 0x4b, 0x3b, 0x4b, 0x3b, 0x4b, 0x3b, 0x4b, 0x3b, 0x54, 0x3b, 0x53,
-0x3b, 0x53, 0x3b, 0x4e, 0x3b, 0x54, 0x3b, 0x49, 0x3b, 0x49, 0x3b, 0x49, 0x3b, 0x69, 0x6e, 0x6e, 0x3b, 0x62, 0x1e5b, 0x61,
-0x3b, 0x6d, 0x61, 0x1e5b, 0x3b, 0x69, 0x62, 0x72, 0x3b, 0x6d, 0x61, 0x79, 0x3b, 0x79, 0x75, 0x6e, 0x3b, 0x79, 0x75, 0x6c,
-0x3b, 0x263, 0x75, 0x63, 0x3b, 0x63, 0x75, 0x74, 0x3b, 0x6b, 0x74, 0x75, 0x3b, 0x6e, 0x75, 0x77, 0x3b, 0x64, 0x75, 0x6a,
-0x3b, 0x69, 0x6e, 0x6e, 0x61, 0x79, 0x72, 0x3b, 0x62, 0x1e5b, 0x61, 0x79, 0x1e5b, 0x3b, 0x6d, 0x61, 0x1e5b, 0x1e63, 0x3b, 0x69,
-0x62, 0x72, 0x69, 0x72, 0x3b, 0x6d, 0x61, 0x79, 0x79, 0x75, 0x3b, 0x79, 0x75, 0x6e, 0x79, 0x75, 0x3b, 0x79, 0x75, 0x6c,
-0x79, 0x75, 0x7a, 0x3b, 0x263, 0x75, 0x63, 0x74, 0x3b, 0x63, 0x75, 0x74, 0x61, 0x6e, 0x62, 0x69, 0x72, 0x3b, 0x6b, 0x74,
-0x75, 0x62, 0x72, 0x3b, 0x6e, 0x75, 0x77, 0x61, 0x6e, 0x62, 0x69, 0x72, 0x3b, 0x64, 0x75, 0x6a, 0x61, 0x6e, 0x62, 0x69,
-0x72, 0x3b, 0x69, 0x3b, 0x62, 0x3b, 0x6d, 0x3b, 0x69, 0x3b, 0x6d, 0x3b, 0x79, 0x3b, 0x79, 0x3b, 0x263, 0x3b, 0x63, 0x3b,
-0x6b, 0x3b, 0x6e, 0x3b, 0x64, 0x3b, 0x59, 0x65, 0x6e, 0x3b, 0x46, 0x75, 0x72, 0x3b, 0x4d, 0x65, 0x263, 0x3b, 0x59, 0x65,
-0x62, 0x3b, 0x4d, 0x61, 0x79, 0x3b, 0x59, 0x75, 0x6e, 0x3b, 0x59, 0x75, 0x6c, 0x3b, 0x194, 0x75, 0x63, 0x3b, 0x43, 0x74,
-0x65, 0x3b, 0x54, 0x75, 0x62, 0x3b, 0x4e, 0x75, 0x6e, 0x3b, 0x44, 0x75, 0x1e7, 0x3b, 0x59, 0x65, 0x6e, 0x6e, 0x61, 0x79,
-0x65, 0x72, 0x3b, 0x46, 0x75, 0x1e5b, 0x61, 0x72, 0x3b, 0x4d, 0x65, 0x263, 0x72, 0x65, 0x73, 0x3b, 0x59, 0x65, 0x62, 0x72,
-0x69, 0x72, 0x3b, 0x4d, 0x61, 0x79, 0x79, 0x75, 0x3b, 0x59, 0x75, 0x6e, 0x79, 0x75, 0x3b, 0x59, 0x75, 0x6c, 0x79, 0x75,
-0x3b, 0x194, 0x75, 0x63, 0x74, 0x3b, 0x43, 0x74, 0x65, 0x6d, 0x62, 0x65, 0x1e5b, 0x3b, 0x54, 0x75, 0x62, 0x65, 0x1e5b, 0x3b,
-0x4e, 0x75, 0x6e, 0x65, 0x6d, 0x62, 0x65, 0x1e5b, 0x3b, 0x44, 0x75, 0x1e7, 0x65, 0x6d, 0x62, 0x65, 0x1e5b, 0x3b, 0x59, 0x3b,
-0x46, 0x3b, 0x4d, 0x3b, 0x59, 0x3b, 0x4d, 0x3b, 0x59, 0x3b, 0x59, 0x3b, 0x194, 0x3b, 0x43, 0x3b, 0x54, 0x3b, 0x4e, 0x3b,
-0x44, 0x3b, 0x4b, 0x42, 0x5a, 0x3b, 0x4b, 0x42, 0x52, 0x3b, 0x4b, 0x53, 0x54, 0x3b, 0x4b, 0x4b, 0x4e, 0x3b, 0x4b, 0x54,
-0x4e, 0x3b, 0x4b, 0x4d, 0x4b, 0x3b, 0x4b, 0x4d, 0x53, 0x3b, 0x4b, 0x4d, 0x4e, 0x3b, 0x4b, 0x4d, 0x4e, 0x3b, 0x4b, 0x4b,
-0x4d, 0x3b, 0x4b, 0x4e, 0x4b, 0x3b, 0x4b, 0x4e, 0x42, 0x3b, 0x4f, 0x6b, 0x77, 0x6f, 0x6b, 0x75, 0x62, 0x61, 0x6e, 0x7a,
-0x61, 0x3b, 0x4f, 0x6b, 0x77, 0x61, 0x6b, 0x61, 0x62, 0x69, 0x72, 0x69, 0x3b, 0x4f, 0x6b, 0x77, 0x61, 0x6b, 0x61, 0x73,
-0x68, 0x61, 0x74, 0x75, 0x3b, 0x4f, 0x6b, 0x77, 0x61, 0x6b, 0x61, 0x6e, 0x61, 0x3b, 0x4f, 0x6b, 0x77, 0x61, 0x6b, 0x61,
-0x74, 0x61, 0x61, 0x6e, 0x61, 0x3b, 0x4f, 0x6b, 0x77, 0x61, 0x6d, 0x75, 0x6b, 0x61, 0x61, 0x67, 0x61, 0x3b, 0x4f, 0x6b,
-0x77, 0x61, 0x6d, 0x75, 0x73, 0x68, 0x61, 0x6e, 0x6a, 0x75, 0x3b, 0x4f, 0x6b, 0x77, 0x61, 0x6d, 0x75, 0x6e, 0x61, 0x61,
-0x6e, 0x61, 0x3b, 0x4f, 0x6b, 0x77, 0x61, 0x6d, 0x77, 0x65, 0x6e, 0x64, 0x61, 0x3b, 0x4f, 0x6b, 0x77, 0x61, 0x69, 0x6b,
-0x75, 0x6d, 0x69, 0x3b, 0x4f, 0x6b, 0x77, 0x61, 0x69, 0x6b, 0x75, 0x6d, 0x69, 0x20, 0x6e, 0x61, 0x20, 0x6b, 0x75, 0x6d,
-0x77, 0x65, 0x3b, 0x4f, 0x6b, 0x77, 0x61, 0x69, 0x6b, 0x75, 0x6d, 0x69, 0x20, 0x6e, 0x61, 0x20, 0x69, 0x62, 0x69, 0x72,
-0x69, 0x3b, 0x48, 0x75, 0x74, 0x3b, 0x56, 0x69, 0x6c, 0x3b, 0x44, 0x61, 0x74, 0x3b, 0x54, 0x61, 0x69, 0x3b, 0x48, 0x61,
-0x6e, 0x3b, 0x53, 0x69, 0x74, 0x3b, 0x53, 0x61, 0x62, 0x3b, 0x4e, 0x61, 0x6e, 0x3b, 0x54, 0x69, 0x73, 0x3b, 0x4b, 0x75,
-0x6d, 0x3b, 0x4b, 0x6d, 0x6a, 0x3b, 0x4b, 0x6d, 0x62, 0x3b, 0x70, 0x61, 0x20, 0x6d, 0x77, 0x65, 0x64, 0x7a, 0x69, 0x20,
-0x67, 0x77, 0x61, 0x20, 0x68, 0x75, 0x74, 0x61, 0x6c, 0x61, 0x3b, 0x70, 0x61, 0x20, 0x6d, 0x77, 0x65, 0x64, 0x7a, 0x69,
-0x20, 0x67, 0x77, 0x61, 0x20, 0x77, 0x75, 0x76, 0x69, 0x6c, 0x69, 0x3b, 0x70, 0x61, 0x20, 0x6d, 0x77, 0x65, 0x64, 0x7a,
-0x69, 0x20, 0x67, 0x77, 0x61, 0x20, 0x77, 0x75, 0x64, 0x61, 0x74, 0x75, 0x3b, 0x70, 0x61, 0x20, 0x6d, 0x77, 0x65, 0x64,
-0x7a, 0x69, 0x20, 0x67, 0x77, 0x61, 0x20, 0x77, 0x75, 0x74, 0x61, 0x69, 0x3b, 0x70, 0x61, 0x20, 0x6d, 0x77, 0x65, 0x64,
-0x7a, 0x69, 0x20, 0x67, 0x77, 0x61, 0x20, 0x77, 0x75, 0x68, 0x61, 0x6e, 0x75, 0x3b, 0x70, 0x61, 0x20, 0x6d, 0x77, 0x65,
-0x64, 0x7a, 0x69, 0x20, 0x67, 0x77, 0x61, 0x20, 0x73, 0x69, 0x74, 0x61, 0x3b, 0x70, 0x61, 0x20, 0x6d, 0x77, 0x65, 0x64,
-0x7a, 0x69, 0x20, 0x67, 0x77, 0x61, 0x20, 0x73, 0x61, 0x62, 0x61, 0x3b, 0x70, 0x61, 0x20, 0x6d, 0x77, 0x65, 0x64, 0x7a,
-0x69, 0x20, 0x67, 0x77, 0x61, 0x20, 0x6e, 0x61, 0x6e, 0x65, 0x3b, 0x70, 0x61, 0x20, 0x6d, 0x77, 0x65, 0x64, 0x7a, 0x69,
-0x20, 0x67, 0x77, 0x61, 0x20, 0x74, 0x69, 0x73, 0x61, 0x3b, 0x70, 0x61, 0x20, 0x6d, 0x77, 0x65, 0x64, 0x7a, 0x69, 0x20,
-0x67, 0x77, 0x61, 0x20, 0x6b, 0x75, 0x6d, 0x69, 0x3b, 0x70, 0x61, 0x20, 0x6d, 0x77, 0x65, 0x64, 0x7a, 0x69, 0x20, 0x67,
-0x77, 0x61, 0x20, 0x6b, 0x75, 0x6d, 0x69, 0x20, 0x6e, 0x61, 0x20, 0x6d, 0x6f, 0x6a, 0x61, 0x3b, 0x70, 0x61, 0x20, 0x6d,
-0x77, 0x65, 0x64, 0x7a, 0x69, 0x20, 0x67, 0x77, 0x61, 0x20, 0x6b, 0x75, 0x6d, 0x69, 0x20, 0x6e, 0x61, 0x20, 0x6d, 0x62,
-0x69, 0x6c, 0x69, 0x3b, 0x48, 0x3b, 0x56, 0x3b, 0x44, 0x3b, 0x54, 0x3b, 0x48, 0x3b, 0x53, 0x3b, 0x53, 0x3b, 0x4e, 0x3b,
-0x54, 0x3b, 0x4b, 0x3b, 0x4b, 0x3b, 0x4b, 0x3b, 0x4a, 0x61, 0x6e, 0x75, 0x61, 0x72, 0x69, 0x3b, 0x46, 0x65, 0x62, 0x72,
-0x75, 0x61, 0x72, 0x69, 0x3b, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x3b, 0x41, 0x70, 0x72, 0x69, 0x6c, 0x79, 0x69, 0x3b, 0x4d,
-0x65, 0x69, 0x3b, 0x4a, 0x75, 0x6e, 0x79, 0x69, 0x3b, 0x4a, 0x75, 0x6c, 0x79, 0x61, 0x69, 0x3b, 0x41, 0x67, 0x75, 0x73,
-0x74, 0x69, 0x3b, 0x53, 0x65, 0x70, 0x74, 0x65, 0x6d, 0x62, 0x61, 0x3b, 0x4f, 0x6b, 0x74, 0x6f, 0x62, 0x61, 0x3b, 0x4e,
-0x6f, 0x76, 0x65, 0x6d, 0x62, 0x61, 0x3b, 0x44, 0x65, 0x73, 0x65, 0x6d, 0x62, 0x61, 0x3b, 0x7a, 0x61, 0x6e, 0x3b, 0x66,
-0x65, 0x62, 0x3b, 0x6e, 0x61, 0x72, 0x3b, 0x61, 0x77, 0x69, 0x3b, 0x6d, 0x25b, 0x3b, 0x7a, 0x75, 0x77, 0x3b, 0x7a, 0x75,
-0x6c, 0x3b, 0x75, 0x74, 0x69, 0x3b, 0x73, 0x25b, 0x74, 0x3b, 0x254, 0x6b, 0x75, 0x3b, 0x6e, 0x6f, 0x77, 0x3b, 0x64, 0x65,
-0x73, 0x3b, 0x7a, 0x61, 0x6e, 0x77, 0x75, 0x79, 0x65, 0x3b, 0x66, 0x65, 0x62, 0x75, 0x72, 0x75, 0x79, 0x65, 0x3b, 0x6d,
-0x61, 0x72, 0x69, 0x73, 0x69, 0x3b, 0x61, 0x77, 0x69, 0x72, 0x69, 0x6c, 0x69, 0x3b, 0x6d, 0x25b, 0x3b, 0x7a, 0x75, 0x77,
-0x25b, 0x6e, 0x3b, 0x7a, 0x75, 0x6c, 0x75, 0x79, 0x65, 0x3b, 0x75, 0x74, 0x69, 0x3b, 0x73, 0x25b, 0x74, 0x61, 0x6e, 0x62,
-0x75, 0x72, 0x75, 0x3b, 0x254, 0x6b, 0x75, 0x74, 0x254, 0x62, 0x75, 0x72, 0x75, 0x3b, 0x6e, 0x6f, 0x77, 0x61, 0x6e, 0x62,
-0x75, 0x72, 0x75, 0x3b, 0x64, 0x65, 0x73, 0x61, 0x6e, 0x62, 0x75, 0x72, 0x75, 0x3b, 0x5a, 0x3b, 0x46, 0x3b, 0x4d, 0x3b,
-0x41, 0x3b, 0x4d, 0x3b, 0x5a, 0x3b, 0x5a, 0x3b, 0x55, 0x3b, 0x53, 0x3b, 0x186, 0x3b, 0x4e, 0x3b, 0x44, 0x3b, 0x4d, 0x62,
-0x65, 0x3b, 0x4b, 0x61, 0x69, 0x3b, 0x4b, 0x61, 0x74, 0x3b, 0x4b, 0x61, 0x6e, 0x3b, 0x47, 0x61, 0x74, 0x3b, 0x47, 0x61,
-0x6e, 0x3b, 0x4d, 0x75, 0x67, 0x3b, 0x4b, 0x6e, 0x6e, 0x3b, 0x4b, 0x65, 0x6e, 0x3b, 0x49, 0x6b, 0x75, 0x3b, 0x49, 0x6d,
-0x77, 0x3b, 0x49, 0x67, 0x69, 0x3b, 0x4d, 0x77, 0x65, 0x72, 0x69, 0x20, 0x77, 0x61, 0x20, 0x6d, 0x62, 0x65, 0x72, 0x65,
-0x3b, 0x4d, 0x77, 0x65, 0x72, 0x69, 0x20, 0x77, 0x61, 0x20, 0x6b, 0x61, 0x129, 0x72, 0x69, 0x3b, 0x4d, 0x77, 0x65, 0x72,
-0x69, 0x20, 0x77, 0x61, 0x20, 0x6b, 0x61, 0x74, 0x68, 0x61, 0x74, 0x169, 0x3b, 0x4d, 0x77, 0x65, 0x72, 0x69, 0x20, 0x77,
-0x61, 0x20, 0x6b, 0x61, 0x6e, 0x61, 0x3b, 0x4d, 0x77, 0x65, 0x72, 0x69, 0x20, 0x77, 0x61, 0x20, 0x67, 0x61, 0x74, 0x61,
-0x6e, 0x6f, 0x3b, 0x4d, 0x77, 0x65, 0x72, 0x69, 0x20, 0x77, 0x61, 0x20, 0x67, 0x61, 0x74, 0x61, 0x6e, 0x74, 0x61, 0x74,
-0x169, 0x3b, 0x4d, 0x77, 0x65, 0x72, 0x69, 0x20, 0x77, 0x61, 0x20, 0x6d, 0x169, 0x67, 0x77, 0x61, 0x6e, 0x6a, 0x61, 0x3b,
-0x4d, 0x77, 0x65, 0x72, 0x69, 0x20, 0x77, 0x61, 0x20, 0x6b, 0x61, 0x6e, 0x61, 0x6e, 0x61, 0x3b, 0x4d, 0x77, 0x65, 0x72,
-0x69, 0x20, 0x77, 0x61, 0x20, 0x6b, 0x65, 0x6e, 0x64, 0x61, 0x3b, 0x4d, 0x77, 0x65, 0x72, 0x69, 0x20, 0x77, 0x61, 0x20,
-0x69, 0x6b, 0x169, 0x6d, 0x69, 0x3b, 0x4d, 0x77, 0x65, 0x72, 0x69, 0x20, 0x77, 0x61, 0x20, 0x69, 0x6b, 0x169, 0x6d, 0x69,
-0x20, 0x6e, 0x61, 0x20, 0x169, 0x6d, 0x77, 0x65, 0x3b, 0x4d, 0x77, 0x65, 0x72, 0x69, 0x20, 0x77, 0x61, 0x20, 0x69, 0x6b,
-0x169, 0x6d, 0x69, 0x20, 0x6e, 0x61, 0x20, 0x4b, 0x61, 0x129, 0x72, 0x129, 0x3b, 0x4d, 0x3b, 0x4b, 0x3b, 0x4b, 0x3b, 0x4b,
-0x3b, 0x47, 0x3b, 0x47, 0x3b, 0x4d, 0x3b, 0x4b, 0x3b, 0x4b, 0x3b, 0x49, 0x3b, 0x49, 0x3b, 0x49, 0x3b, 0x13a4, 0x13c3, 0x3b,
-0x13a7, 0x13a6, 0x3b, 0x13a0, 0x13c5, 0x3b, 0x13a7, 0x13ec, 0x3b, 0x13a0, 0x13c2, 0x3b, 0x13d5, 0x13ad, 0x3b, 0x13ab, 0x13f0, 0x3b, 0x13a6, 0x13b6,
-0x3b, 0x13da, 0x13b5, 0x3b, 0x13da, 0x13c2, 0x3b, 0x13c5, 0x13d3, 0x3b, 0x13a4, 0x13cd, 0x3b, 0x13a4, 0x13c3, 0x13b8, 0x13d4, 0x13c5, 0x3b, 0x13a7,
-0x13a6, 0x13b5, 0x3b, 0x13a0, 0x13c5, 0x13f1, 0x3b, 0x13a7, 0x13ec, 0x13c2, 0x3b, 0x13a0, 0x13c2, 0x13cd, 0x13ac, 0x13d8, 0x3b, 0x13d5, 0x13ad, 0x13b7,
-0x13f1, 0x3b, 0x13ab, 0x13f0, 0x13c9, 0x13c2, 0x3b, 0x13a6, 0x13b6, 0x13c2, 0x3b, 0x13da, 0x13b5, 0x13cd, 0x13d7, 0x3b, 0x13da, 0x13c2, 0x13c5, 0x13d7,
-0x3b, 0x13c5, 0x13d3, 0x13d5, 0x13c6, 0x3b, 0x13a4, 0x13cd, 0x13a9, 0x13f1, 0x3b, 0x13a4, 0x3b, 0x13a7, 0x3b, 0x13a0, 0x3b, 0x13a7, 0x3b, 0x13a0,
-0x3b, 0x13d5, 0x3b, 0x13ab, 0x3b, 0x13a6, 0x3b, 0x13da, 0x3b, 0x13da, 0x3b, 0x13c5, 0x3b, 0x13a4, 0x3b, 0x7a, 0x61, 0x6e, 0x3b, 0x66,
-0x65, 0x76, 0x3b, 0x6d, 0x61, 0x72, 0x3b, 0x61, 0x76, 0x72, 0x3b, 0x6d, 0x65, 0x3b, 0x7a, 0x69, 0x6e, 0x3b, 0x7a, 0x69,
-0x6c, 0x3b, 0x6f, 0x75, 0x74, 0x3b, 0x73, 0x65, 0x70, 0x3b, 0x6f, 0x6b, 0x74, 0x3b, 0x6e, 0x6f, 0x76, 0x3b, 0x64, 0x65,
-0x73, 0x3b, 0x7a, 0x61, 0x6e, 0x76, 0x69, 0x65, 0x3b, 0x66, 0x65, 0x76, 0x72, 0x69, 0x79, 0x65, 0x3b, 0x6d, 0x61, 0x72,
-0x73, 0x3b, 0x61, 0x76, 0x72, 0x69, 0x6c, 0x3b, 0x6d, 0x65, 0x3b, 0x7a, 0x69, 0x6e, 0x3b, 0x7a, 0x69, 0x6c, 0x79, 0x65,
-0x3b, 0x6f, 0x75, 0x74, 0x3b, 0x73, 0x65, 0x70, 0x74, 0x61, 0x6d, 0x3b, 0x6f, 0x6b, 0x74, 0x6f, 0x62, 0x3b, 0x6e, 0x6f,
-0x76, 0x61, 0x6d, 0x3b, 0x64, 0x65, 0x73, 0x61, 0x6d, 0x3b, 0x7a, 0x3b, 0x66, 0x3b, 0x6d, 0x3b, 0x61, 0x3b, 0x6d, 0x3b,
-0x7a, 0x3b, 0x7a, 0x3b, 0x6f, 0x3b, 0x73, 0x3b, 0x6f, 0x3b, 0x6e, 0x3b, 0x64, 0x3b, 0x4d, 0x77, 0x65, 0x64, 0x69, 0x20,
-0x4e, 0x74, 0x61, 0x6e, 0x64, 0x69, 0x3b, 0x4d, 0x77, 0x65, 0x64, 0x69, 0x20, 0x77, 0x61, 0x20, 0x50, 0x69, 0x6c, 0x69,
-0x3b, 0x4d, 0x77, 0x65, 0x64, 0x69, 0x20, 0x77, 0x61, 0x20, 0x54, 0x61, 0x74, 0x75, 0x3b, 0x4d, 0x77, 0x65, 0x64, 0x69,
-0x20, 0x77, 0x61, 0x20, 0x4e, 0x63, 0x68, 0x65, 0x63, 0x68, 0x69, 0x3b, 0x4d, 0x77, 0x65, 0x64, 0x69, 0x20, 0x77, 0x61,
-0x20, 0x4e, 0x6e, 0x79, 0x61, 0x6e, 0x6f, 0x3b, 0x4d, 0x77, 0x65, 0x64, 0x69, 0x20, 0x77, 0x61, 0x20, 0x4e, 0x6e, 0x79,
-0x61, 0x6e, 0x6f, 0x20, 0x6e, 0x61, 0x20, 0x55, 0x6d, 0x6f, 0x3b, 0x4d, 0x77, 0x65, 0x64, 0x69, 0x20, 0x77, 0x61, 0x20,
-0x4e, 0x6e, 0x79, 0x61, 0x6e, 0x6f, 0x20, 0x6e, 0x61, 0x20, 0x4d, 0x69, 0x76, 0x69, 0x6c, 0x69, 0x3b, 0x4d, 0x77, 0x65,
-0x64, 0x69, 0x20, 0x77, 0x61, 0x20, 0x4e, 0x6e, 0x79, 0x61, 0x6e, 0x6f, 0x20, 0x6e, 0x61, 0x20, 0x4d, 0x69, 0x74, 0x61,
-0x74, 0x75, 0x3b, 0x4d, 0x77, 0x65, 0x64, 0x69, 0x20, 0x77, 0x61, 0x20, 0x4e, 0x6e, 0x79, 0x61, 0x6e, 0x6f, 0x20, 0x6e,
-0x61, 0x20, 0x4e, 0x63, 0x68, 0x65, 0x63, 0x68, 0x69, 0x3b, 0x4d, 0x77, 0x65, 0x64, 0x69, 0x20, 0x77, 0x61, 0x20, 0x4e,
-0x6e, 0x79, 0x61, 0x6e, 0x6f, 0x20, 0x6e, 0x61, 0x20, 0x4e, 0x6e, 0x79, 0x61, 0x6e, 0x6f, 0x3b, 0x4d, 0x77, 0x65, 0x64,
-0x69, 0x20, 0x77, 0x61, 0x20, 0x4e, 0x6e, 0x79, 0x61, 0x6e, 0x6f, 0x20, 0x6e, 0x61, 0x20, 0x4e, 0x6e, 0x79, 0x61, 0x6e,
-0x6f, 0x20, 0x6e, 0x61, 0x20, 0x55, 0x3b, 0x4d, 0x77, 0x65, 0x64, 0x69, 0x20, 0x77, 0x61, 0x20, 0x4e, 0x6e, 0x79, 0x61,
-0x6e, 0x6f, 0x20, 0x6e, 0x61, 0x20, 0x4e, 0x6e, 0x79, 0x61, 0x6e, 0x6f, 0x20, 0x6e, 0x61, 0x20, 0x4d, 0x3b, 0x46, 0xfa,
-0x6e, 0x67, 0x61, 0x74, 0x268, 0x3b, 0x4e, 0x61, 0x61, 0x6e, 0x268, 0x3b, 0x4b, 0x65, 0x65, 0x6e, 0x64, 0x61, 0x3b, 0x49,
-0x6b, 0xfa, 0x6d, 0x69, 0x3b, 0x49, 0x6e, 0x79, 0x61, 0x6d, 0x62, 0x61, 0x6c, 0x61, 0x3b, 0x49, 0x64, 0x77, 0x61, 0x61,
-0x74, 0x61, 0x3b, 0x4d, 0x289, 0x289, 0x6e, 0x63, 0x68, 0x268, 0x3b, 0x56, 0x268, 0x268, 0x72, 0x268, 0x3b, 0x53, 0x61, 0x61,
-0x74, 0x289, 0x3b, 0x49, 0x6e, 0x79, 0x69, 0x3b, 0x53, 0x61, 0x61, 0x6e, 0x6f, 0x3b, 0x53, 0x61, 0x73, 0x61, 0x74, 0x289,
-0x3b, 0x4b, 0x289, 0x66, 0xfa, 0x6e, 0x67, 0x61, 0x74, 0x268, 0x3b, 0x4b, 0x289, 0x6e, 0x61, 0x61, 0x6e, 0x268, 0x3b, 0x4b,
-0x289, 0x6b, 0x65, 0x65, 0x6e, 0x64, 0x61, 0x3b, 0x4b, 0x77, 0x69, 0x69, 0x6b, 0x75, 0x6d, 0x69, 0x3b, 0x4b, 0x77, 0x69,
-0x69, 0x6e, 0x79, 0x61, 0x6d, 0x62, 0xe1, 0x6c, 0x61, 0x3b, 0x4b, 0x77, 0x69, 0x69, 0x64, 0x77, 0x61, 0x61, 0x74, 0x61,
-0x3b, 0x4b, 0x289, 0x6d, 0x289, 0x289, 0x6e, 0x63, 0x68, 0x268, 0x3b, 0x4b, 0x289, 0x76, 0x268, 0x268, 0x72, 0x268, 0x3b, 0x4b,
-0x289, 0x73, 0x61, 0x61, 0x74, 0x289, 0x3b, 0x4b, 0x77, 0x69, 0x69, 0x6e, 0x79, 0x69, 0x3b, 0x4b, 0x289, 0x73, 0x61, 0x61,
-0x6e, 0x6f, 0x3b, 0x4b, 0x289, 0x73, 0x61, 0x73, 0x61, 0x74, 0x289, 0x3b, 0x46, 0x3b, 0x4e, 0x3b, 0x4b, 0x3b, 0x49, 0x3b,
-0x49, 0x3b, 0x49, 0x3b, 0x4d, 0x3b, 0x56, 0x3b, 0x53, 0x3b, 0x49, 0x3b, 0x53, 0x3b, 0x53, 0x3b, 0x4a, 0x61, 0x6e, 0x3b,
-0x46, 0x65, 0x62, 0x3b, 0x4d, 0x61, 0x72, 0x3b, 0x41, 0x70, 0x75, 0x3b, 0x4d, 0x61, 0x61, 0x3b, 0x4a, 0x75, 0x75, 0x3b,
-0x4a, 0x75, 0x6c, 0x3b, 0x41, 0x67, 0x75, 0x3b, 0x53, 0x65, 0x62, 0x3b, 0x4f, 0x6b, 0x69, 0x3b, 0x4e, 0x6f, 0x76, 0x3b,
-0x44, 0x65, 0x73, 0x3b, 0x4a, 0x61, 0x6e, 0x77, 0x61, 0x6c, 0x69, 0x79, 0x6f, 0x3b, 0x46, 0x65, 0x62, 0x77, 0x61, 0x6c,
-0x69, 0x79, 0x6f, 0x3b, 0x4d, 0x61, 0x72, 0x69, 0x73, 0x69, 0x3b, 0x41, 0x70, 0x75, 0x6c, 0x69, 0x3b, 0x4d, 0x61, 0x61,
-0x79, 0x69, 0x3b, 0x4a, 0x75, 0x75, 0x6e, 0x69, 0x3b, 0x4a, 0x75, 0x6c, 0x61, 0x61, 0x79, 0x69, 0x3b, 0x41, 0x67, 0x75,
-0x73, 0x69, 0x74, 0x6f, 0x3b, 0x53, 0x65, 0x62, 0x75, 0x74, 0x74, 0x65, 0x6d, 0x62, 0x61, 0x3b, 0x4f, 0x6b, 0x69, 0x74,
-0x6f, 0x62, 0x62, 0x61, 0x3b, 0x4e, 0x6f, 0x76, 0x65, 0x6d, 0x62, 0x61, 0x3b, 0x44, 0x65, 0x73, 0x65, 0x6d, 0x62, 0x61,
-0x3b, 0x4a, 0x61, 0x6e, 0x3b, 0x46, 0x65, 0x62, 0x3b, 0x4d, 0x61, 0x63, 0x3b, 0x45, 0x70, 0x72, 0x3b, 0x4d, 0x65, 0x69,
-0x3b, 0x4a, 0x75, 0x6e, 0x3b, 0x4a, 0x75, 0x6c, 0x3b, 0x4f, 0x67, 0x61, 0x3b, 0x53, 0x65, 0x70, 0x3b, 0x4f, 0x6b, 0x74,
-0x3b, 0x4e, 0x6f, 0x76, 0x3b, 0x44, 0x69, 0x73, 0x3b, 0x4a, 0x61, 0x6e, 0x75, 0x61, 0x72, 0x69, 0x3b, 0x46, 0x65, 0x62,
-0x72, 0x75, 0x61, 0x72, 0x69, 0x3b, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x3b, 0x45, 0x70, 0x72, 0x65, 0x6f, 0x3b, 0x4d, 0x65,
-0x69, 0x3b, 0x4a, 0x75, 0x6e, 0x69, 0x3b, 0x4a, 0x75, 0x6c, 0x61, 0x69, 0x3b, 0x4f, 0x67, 0x61, 0x73, 0x74, 0x69, 0x3b,
-0x53, 0x65, 0x70, 0x74, 0x65, 0x6d, 0x62, 0x61, 0x3b, 0x4f, 0x6b, 0x74, 0x6f, 0x62, 0x61, 0x3b, 0x4e, 0x6f, 0x76, 0x65,
-0x6d, 0x62, 0x61, 0x3b, 0x44, 0x69, 0x73, 0x65, 0x6d, 0x62, 0x61, 0x3b, 0x4a, 0x3b, 0x46, 0x3b, 0x4d, 0x3b, 0x45, 0x3b,
-0x4d, 0x3b, 0x4a, 0x3b, 0x4a, 0x3b, 0x4f, 0x3b, 0x53, 0x3b, 0x4f, 0x3b, 0x4e, 0x3b, 0x44, 0x3b, 0x4a, 0x61, 0x6e, 0x3b,
-0x46, 0x65, 0x76, 0x3b, 0x4d, 0x61, 0x72, 0x3b, 0x41, 0x62, 0x72, 0x3b, 0x4d, 0x61, 0x69, 0x3b, 0x4a, 0x75, 0x6e, 0x3b,
-0x4a, 0x75, 0x6c, 0x3b, 0x41, 0x67, 0x6f, 0x3b, 0x53, 0x65, 0x74, 0x3b, 0x4f, 0x74, 0x75, 0x3b, 0x4e, 0x75, 0x76, 0x3b,
-0x44, 0x69, 0x7a, 0x3b, 0x4a, 0x61, 0x6e, 0x65, 0x72, 0x75, 0x3b, 0x46, 0x65, 0x76, 0x65, 0x72, 0x65, 0x72, 0x75, 0x3b,
-0x4d, 0x61, 0x72, 0x73, 0x75, 0x3b, 0x41, 0x62, 0x72, 0x69, 0x6c, 0x3b, 0x4d, 0x61, 0x69, 0x75, 0x3b, 0x4a, 0x75, 0x6e,
-0x68, 0x75, 0x3b, 0x4a, 0x75, 0x6c, 0x68, 0x75, 0x3b, 0x41, 0x67, 0x6f, 0x73, 0x74, 0x75, 0x3b, 0x53, 0x65, 0x74, 0x65,
-0x6e, 0x62, 0x72, 0x75, 0x3b, 0x4f, 0x74, 0x75, 0x62, 0x72, 0x75, 0x3b, 0x4e, 0x75, 0x76, 0x65, 0x6e, 0x62, 0x72, 0x75,
-0x3b, 0x44, 0x69, 0x7a, 0x65, 0x6e, 0x62, 0x72, 0x75, 0x3b, 0x4a, 0x41, 0x4e, 0x3b, 0x46, 0x45, 0x42, 0x3b, 0x4d, 0x41,
-0x43, 0x3b, 0x128, 0x50, 0x55, 0x3b, 0x4d, 0x128, 0x128, 0x3b, 0x4e, 0x4a, 0x55, 0x3b, 0x4e, 0x4a, 0x52, 0x3b, 0x41, 0x47,
-0x41, 0x3b, 0x53, 0x50, 0x54, 0x3b, 0x4f, 0x4b, 0x54, 0x3b, 0x4e, 0x4f, 0x56, 0x3b, 0x44, 0x45, 0x43, 0x3b, 0x4a, 0x61,
-0x6e, 0x75, 0x61, 0x72, 0x129, 0x3b, 0x46, 0x65, 0x62, 0x75, 0x72, 0x75, 0x61, 0x72, 0x129, 0x3b, 0x4d, 0x61, 0x63, 0x68,
-0x69, 0x3b, 0x128, 0x70, 0x75, 0x72, 0x169, 0x3b, 0x4d, 0x129, 0x129, 0x3b, 0x4e, 0x6a, 0x75, 0x6e, 0x69, 0x3b, 0x4e, 0x6a,
-0x75, 0x72, 0x61, 0x129, 0x3b, 0x41, 0x67, 0x61, 0x73, 0x74, 0x69, 0x3b, 0x53, 0x65, 0x70, 0x74, 0x65, 0x6d, 0x62, 0x61,
-0x3b, 0x4f, 0x6b, 0x74, 0x169, 0x62, 0x61, 0x3b, 0x4e, 0x6f, 0x76, 0x65, 0x6d, 0x62, 0x61, 0x3b, 0x44, 0x69, 0x63, 0x65,
-0x6d, 0x62, 0x61, 0x3b, 0x4a, 0x3b, 0x46, 0x3b, 0x4d, 0x3b, 0x128, 0x3b, 0x4d, 0x3b, 0x4e, 0x3b, 0x4e, 0x3b, 0x41, 0x3b,
-0x53, 0x3b, 0x4f, 0x3b, 0x4e, 0x3b, 0x44, 0x3b, 0x4d, 0x75, 0x6c, 0x3b, 0x4e, 0x67, 0x61, 0x3b, 0x4b, 0x69, 0x70, 0x3b,
-0x49, 0x77, 0x61, 0x3b, 0x4e, 0x67, 0x65, 0x3b, 0x57, 0x61, 0x6b, 0x3b, 0x52, 0x6f, 0x70, 0x3b, 0x4b, 0x6f, 0x67, 0x3b,
-0x42, 0x75, 0x72, 0x3b, 0x45, 0x70, 0x65, 0x3b, 0x54, 0x61, 0x69, 0x3b, 0x41, 0x65, 0x6e, 0x3b, 0x4d, 0x75, 0x6c, 0x67,
-0x75, 0x6c, 0x3b, 0x4e, 0x67, 0x27, 0x61, 0x74, 0x79, 0x61, 0x74, 0x6f, 0x3b, 0x4b, 0x69, 0x70, 0x74, 0x61, 0x6d, 0x6f,
-0x3b, 0x49, 0x77, 0x61, 0x74, 0x20, 0x6b, 0x75, 0x74, 0x3b, 0x4e, 0x67, 0x27, 0x65, 0x69, 0x79, 0x65, 0x74, 0x3b, 0x57,
-0x61, 0x6b, 0x69, 0x3b, 0x52, 0x6f, 0x70, 0x74, 0x75, 0x69, 0x3b, 0x4b, 0x69, 0x70, 0x6b, 0x6f, 0x67, 0x61, 0x67, 0x61,
-0x3b, 0x42, 0x75, 0x72, 0x65, 0x74, 0x3b, 0x45, 0x70, 0x65, 0x73, 0x6f, 0x3b, 0x4b, 0x69, 0x70, 0x73, 0x75, 0x6e, 0x64,
-0x65, 0x20, 0x6e, 0x65, 0x74, 0x61, 0x69, 0x3b, 0x4b, 0x69, 0x70, 0x73, 0x75, 0x6e, 0x64, 0x65, 0x20, 0x6e, 0x65, 0x62,
-0x6f, 0x20, 0x61, 0x65, 0x6e, 0x67, 0x3b, 0x4d, 0x3b, 0x4e, 0x3b, 0x4b, 0x3b, 0x49, 0x3b, 0x4e, 0x3b, 0x57, 0x3b, 0x52,
-0x3b, 0x4b, 0x3b, 0x42, 0x3b, 0x45, 0x3b, 0x4b, 0x3b, 0x4b, 0x3b, 0x1c3, 0x4b, 0x68, 0x61, 0x6e, 0x6e, 0x69, 0x3b, 0x1c3,
-0x4b, 0x68, 0x61, 0x6e, 0x1c0, 0x67, 0xf4, 0x61, 0x62, 0x3b, 0x1c0, 0x4b, 0x68, 0x75, 0x75, 0x1c1, 0x6b, 0x68, 0xe2, 0x62,
-0x3b, 0x1c3, 0x48, 0xf4, 0x61, 0x1c2, 0x6b, 0x68, 0x61, 0x69, 0x62, 0x3b, 0x1c3, 0x4b, 0x68, 0x61, 0x69, 0x74, 0x73, 0xe2,
-0x62, 0x3b, 0x47, 0x61, 0x6d, 0x61, 0x1c0, 0x61, 0x65, 0x62, 0x3b, 0x1c2, 0x4b, 0x68, 0x6f, 0x65, 0x73, 0x61, 0x6f, 0x62,
-0x3b, 0x41, 0x6f, 0x1c1, 0x6b, 0x68, 0x75, 0x75, 0x6d, 0xfb, 0x1c1, 0x6b, 0x68, 0xe2, 0x62, 0x3b, 0x54, 0x61, 0x72, 0x61,
-0x1c0, 0x6b, 0x68, 0x75, 0x75, 0x6d, 0xfb, 0x1c1, 0x6b, 0x68, 0xe2, 0x62, 0x3b, 0x1c2, 0x4e, 0xfb, 0x1c1, 0x6e, 0xe2, 0x69,
-0x73, 0x65, 0x62, 0x3b, 0x1c0, 0x48, 0x6f, 0x6f, 0x1c2, 0x67, 0x61, 0x65, 0x62, 0x3b, 0x48, 0xf4, 0x61, 0x73, 0x6f, 0x72,
-0x65, 0x1c1, 0x6b, 0x68, 0xe2, 0x62, 0x3b, 0x4a, 0x61, 0x6e, 0x2e, 0x3b, 0x46, 0xe4, 0x62, 0x2e, 0x3b, 0x4d, 0x61, 0x72,
-0x2e, 0x3b, 0x41, 0x70, 0x72, 0x2e, 0x3b, 0x4d, 0xe4, 0x69, 0x3b, 0x4a, 0x75, 0x6e, 0x2e, 0x3b, 0x4a, 0x75, 0x6c, 0x2e,
-0x3b, 0x4f, 0x75, 0x67, 0x2e, 0x3b, 0x53, 0xe4, 0x70, 0x2e, 0x3b, 0x4f, 0x6b, 0x74, 0x2e, 0x3b, 0x4e, 0x6f, 0x76, 0x2e,
-0x3b, 0x44, 0x65, 0x7a, 0x2e, 0x3b, 0x4a, 0x61, 0x6e, 0x6e, 0x65, 0x77, 0x61, 0x3b, 0x46, 0xe4, 0x62, 0x72, 0x6f, 0x77,
-0x61, 0x3b, 0x4d, 0xe4, 0xe4, 0x7a, 0x3b, 0x41, 0x70, 0x72, 0x65, 0x6c, 0x6c, 0x3b, 0x4d, 0xe4, 0x69, 0x3b, 0x4a, 0x75,
-0x75, 0x6e, 0x69, 0x3b, 0x4a, 0x75, 0x75, 0x6c, 0x69, 0x3b, 0x4f, 0x75, 0x6a, 0x6f, 0xdf, 0x3b, 0x53, 0x65, 0x70, 0x74,
-0xe4, 0x6d, 0x62, 0x65, 0x72, 0x3b, 0x4f, 0x6b, 0x74, 0x6f, 0x6f, 0x62, 0x65, 0x72, 0x3b, 0x4e, 0x6f, 0x76, 0xe4, 0x6d,
-0x62, 0x65, 0x72, 0x3b, 0x44, 0x65, 0x7a, 0xe4, 0x6d, 0x62, 0x65, 0x72, 0x3b, 0x44, 0x61, 0x6c, 0x3b, 0x41, 0x72, 0xe1,
-0x3b, 0x186, 0x25b, 0x6e, 0x3b, 0x44, 0x6f, 0x79, 0x3b, 0x4c, 0xe9, 0x70, 0x3b, 0x52, 0x6f, 0x6b, 0x3b, 0x53, 0xe1, 0x73,
-0x3b, 0x42, 0x254, 0x301, 0x72, 0x3b, 0x4b, 0xfa, 0x73, 0x3b, 0x47, 0xed, 0x73, 0x3b, 0x53, 0x68, 0x289, 0x301, 0x3b, 0x4e,
-0x74, 0x289, 0x301, 0x3b, 0x4f, 0x6c, 0x61, 0x64, 0x61, 0x6c, 0x289, 0x301, 0x3b, 0x41, 0x72, 0xe1, 0x74, 0x3b, 0x186, 0x25b,
-0x6e, 0x268, 0x301, 0x254, 0x268, 0x14b, 0x254, 0x6b, 0x3b, 0x4f, 0x6c, 0x6f, 0x64, 0x6f, 0x79, 0xed, 0xf3, 0x72, 0xed, 0xea,
-0x20, 0x69, 0x6e, 0x6b, 0xf3, 0x6b, 0xfa, 0xe2, 0x3b, 0x4f, 0x6c, 0x6f, 0x69, 0x6c, 0xe9, 0x70, 0x16b, 0x6e, 0x79, 0x12b,
-0x113, 0x20, 0x69, 0x6e, 0x6b, 0xf3, 0x6b, 0xfa, 0xe2, 0x3b, 0x4b, 0xfa, 0x6a, 0xfa, 0x254, 0x72, 0x254, 0x6b, 0x3b, 0x4d,
-0xf3, 0x72, 0x75, 0x73, 0xe1, 0x73, 0x69, 0x6e, 0x3b, 0x186, 0x6c, 0x254, 0x301, 0x268, 0x301, 0x62, 0x254, 0x301, 0x72, 0xe1,
-0x72, 0x25b, 0x3b, 0x4b, 0xfa, 0x73, 0x68, 0xee, 0x6e, 0x3b, 0x4f, 0x6c, 0x67, 0xed, 0x73, 0x61, 0x6e, 0x3b, 0x50, 0x289,
-0x73, 0x68, 0x289, 0x301, 0x6b, 0x61, 0x3b, 0x4e, 0x74, 0x289, 0x301, 0x14b, 0x289, 0x301, 0x73, 0x3b, 0x4a, 0x61, 0x6e, 0x3b,
-0x46, 0x65, 0x62, 0x3b, 0x4d, 0x61, 0x72, 0x3b, 0x41, 0x70, 0x72, 0x3b, 0x4d, 0x65, 0x69, 0x3b, 0x4a, 0x75, 0x6e, 0x3b,
-0x4a, 0x75, 0x6c, 0x3b, 0x41, 0x67, 0x6f, 0x3b, 0x53, 0x65, 0x70, 0x3b, 0x4f, 0x6b, 0x74, 0x3b, 0x4e, 0x6f, 0x76, 0x3b,
-0x44, 0x65, 0x73, 0x3b, 0x4a, 0x61, 0x6e, 0x3b, 0x46, 0x65, 0x62, 0x3b, 0x4d, 0x61, 0x63, 0x3b, 0x41, 0x70, 0x72, 0x3b,
-0x4d, 0x65, 0x69, 0x3b, 0x4a, 0x75, 0x6e, 0x3b, 0x4a, 0x75, 0x6c, 0x3b, 0x41, 0x67, 0x6f, 0x3b, 0x53, 0x65, 0x70, 0x3b,
-0x4f, 0x6b, 0x74, 0x3b, 0x4e, 0x6f, 0x76, 0x3b, 0x44, 0x65, 0x63, 0x3b, 0x52, 0x61, 0x72, 0x3b, 0x4d, 0x75, 0x6b, 0x3b,
-0x4b, 0x77, 0x61, 0x3b, 0x44, 0x75, 0x6e, 0x3b, 0x4d, 0x61, 0x72, 0x3b, 0x4d, 0x6f, 0x64, 0x3b, 0x4a, 0x6f, 0x6c, 0x3b,
-0x50, 0x65, 0x64, 0x3b, 0x53, 0x6f, 0x6b, 0x3b, 0x54, 0x69, 0x62, 0x3b, 0x4c, 0x61, 0x62, 0x3b, 0x50, 0x6f, 0x6f, 0x3b,
-0x4f, 0x72, 0x61, 0x72, 0x61, 0x3b, 0x4f, 0x6d, 0x75, 0x6b, 0x3b, 0x4f, 0x6b, 0x77, 0x61, 0x6d, 0x67, 0x27, 0x3b, 0x4f,
-0x64, 0x75, 0x6e, 0x67, 0x27, 0x65, 0x6c, 0x3b, 0x4f, 0x6d, 0x61, 0x72, 0x75, 0x6b, 0x3b, 0x4f, 0x6d, 0x6f, 0x64, 0x6f,
-0x6b, 0x27, 0x6b, 0x69, 0x6e, 0x67, 0x27, 0x6f, 0x6c, 0x3b, 0x4f, 0x6a, 0x6f, 0x6c, 0x61, 0x3b, 0x4f, 0x70, 0x65, 0x64,
-0x65, 0x6c, 0x3b, 0x4f, 0x73, 0x6f, 0x6b, 0x6f, 0x73, 0x6f, 0x6b, 0x6f, 0x6d, 0x61, 0x3b, 0x4f, 0x74, 0x69, 0x62, 0x61,
-0x72, 0x3b, 0x4f, 0x6c, 0x61, 0x62, 0x6f, 0x72, 0x3b, 0x4f, 0x70, 0x6f, 0x6f, 0x3b, 0x52, 0x3b, 0x4d, 0x3b, 0x4b, 0x3b,
-0x44, 0x3b, 0x4d, 0x3b, 0x4d, 0x3b, 0x4a, 0x3b, 0x50, 0x3b, 0x53, 0x3b, 0x54, 0x3b, 0x4c, 0x3b, 0x50, 0x3b, 0x17d, 0x61,
-0x6e, 0x3b, 0x46, 0x65, 0x65, 0x3b, 0x4d, 0x61, 0x72, 0x3b, 0x41, 0x77, 0x69, 0x3b, 0x4d, 0x65, 0x3b, 0x17d, 0x75, 0x77,
-0x3b, 0x17d, 0x75, 0x79, 0x3b, 0x55, 0x74, 0x3b, 0x53, 0x65, 0x6b, 0x3b, 0x4f, 0x6b, 0x74, 0x3b, 0x4e, 0x6f, 0x6f, 0x3b,
-0x44, 0x65, 0x65, 0x3b, 0x17d, 0x61, 0x6e, 0x77, 0x69, 0x79, 0x65, 0x3b, 0x46, 0x65, 0x65, 0x77, 0x69, 0x72, 0x69, 0x79,
-0x65, 0x3b, 0x4d, 0x61, 0x72, 0x73, 0x69, 0x3b, 0x41, 0x77, 0x69, 0x72, 0x69, 0x6c, 0x3b, 0x4d, 0x65, 0x3b, 0x17d, 0x75,
-0x77, 0x65, 0x14b, 0x3b, 0x17d, 0x75, 0x79, 0x79, 0x65, 0x3b, 0x55, 0x74, 0x3b, 0x53, 0x65, 0x6b, 0x74, 0x61, 0x6e, 0x62,
-0x75, 0x72, 0x3b, 0x4f, 0x6b, 0x74, 0x6f, 0x6f, 0x62, 0x75, 0x72, 0x3b, 0x4e, 0x6f, 0x6f, 0x77, 0x61, 0x6e, 0x62, 0x75,
-0x72, 0x3b, 0x44, 0x65, 0x65, 0x73, 0x61, 0x6e, 0x62, 0x75, 0x72, 0x3b, 0x17d, 0x3b, 0x46, 0x3b, 0x4d, 0x3b, 0x41, 0x3b,
-0x4d, 0x3b, 0x17d, 0x3b, 0x17d, 0x3b, 0x55, 0x3b, 0x53, 0x3b, 0x4f, 0x3b, 0x4e, 0x3b, 0x44, 0x3b, 0x44, 0x41, 0x43, 0x3b,
-0x44, 0x41, 0x52, 0x3b, 0x44, 0x41, 0x44, 0x3b, 0x44, 0x41, 0x4e, 0x3b, 0x44, 0x41, 0x48, 0x3b, 0x44, 0x41, 0x55, 0x3b,
-0x44, 0x41, 0x4f, 0x3b, 0x44, 0x41, 0x42, 0x3b, 0x44, 0x4f, 0x43, 0x3b, 0x44, 0x41, 0x50, 0x3b, 0x44, 0x47, 0x49, 0x3b,
-0x44, 0x41, 0x47, 0x3b, 0x44, 0x77, 0x65, 0x20, 0x6d, 0x61, 0x72, 0x20, 0x41, 0x63, 0x68, 0x69, 0x65, 0x6c, 0x3b, 0x44,
-0x77, 0x65, 0x20, 0x6d, 0x61, 0x72, 0x20, 0x41, 0x72, 0x69, 0x79, 0x6f, 0x3b, 0x44, 0x77, 0x65, 0x20, 0x6d, 0x61, 0x72,
-0x20, 0x41, 0x64, 0x65, 0x6b, 0x3b, 0x44, 0x77, 0x65, 0x20, 0x6d, 0x61, 0x72, 0x20, 0x41, 0x6e, 0x67, 0x27, 0x77, 0x65,
-0x6e, 0x3b, 0x44, 0x77, 0x65, 0x20, 0x6d, 0x61, 0x72, 0x20, 0x41, 0x62, 0x69, 0x63, 0x68, 0x3b, 0x44, 0x77, 0x65, 0x20,
-0x6d, 0x61, 0x72, 0x20, 0x41, 0x75, 0x63, 0x68, 0x69, 0x65, 0x6c, 0x3b, 0x44, 0x77, 0x65, 0x20, 0x6d, 0x61, 0x72, 0x20,
-0x41, 0x62, 0x69, 0x72, 0x69, 0x79, 0x6f, 0x3b, 0x44, 0x77, 0x65, 0x20, 0x6d, 0x61, 0x72, 0x20, 0x41, 0x62, 0x6f, 0x72,
-0x6f, 0x3b, 0x44, 0x77, 0x65, 0x20, 0x6d, 0x61, 0x72, 0x20, 0x4f, 0x63, 0x68, 0x69, 0x6b, 0x6f, 0x3b, 0x44, 0x77, 0x65,
-0x20, 0x6d, 0x61, 0x72, 0x20, 0x41, 0x70, 0x61, 0x72, 0x3b, 0x44, 0x77, 0x65, 0x20, 0x6d, 0x61, 0x72, 0x20, 0x67, 0x69,
-0x20, 0x61, 0x63, 0x68, 0x69, 0x65, 0x6c, 0x3b, 0x44, 0x77, 0x65, 0x20, 0x6d, 0x61, 0x72, 0x20, 0x41, 0x70, 0x61, 0x72,
-0x20, 0x67, 0x69, 0x20, 0x61, 0x72, 0x69, 0x79, 0x6f, 0x3b, 0x43, 0x3b, 0x52, 0x3b, 0x44, 0x3b, 0x4e, 0x3b, 0x42, 0x3b,
-0x55, 0x3b, 0x42, 0x3b, 0x42, 0x3b, 0x43, 0x3b, 0x50, 0x3b, 0x43, 0x3b, 0x50, 0x3b, 0x59, 0x65, 0x6e, 0x3b, 0x59, 0x65,
-0x62, 0x3b, 0x4d, 0x61, 0x72, 0x3b, 0x49, 0x62, 0x72, 0x3b, 0x4d, 0x61, 0x79, 0x3b, 0x59, 0x75, 0x6e, 0x3b, 0x59, 0x75,
-0x6c, 0x3b, 0x194, 0x75, 0x63, 0x3b, 0x43, 0x75, 0x74, 0x3b, 0x4b, 0x1e6d, 0x75, 0x3b, 0x4e, 0x77, 0x61, 0x3b, 0x44, 0x75,
-0x6a, 0x3b, 0x59, 0x65, 0x6e, 0x6e, 0x61, 0x79, 0x65, 0x72, 0x3b, 0x59, 0x65, 0x62, 0x72, 0x61, 0x79, 0x65, 0x72, 0x3b,
-0x4d, 0x61, 0x72, 0x73, 0x3b, 0x49, 0x62, 0x72, 0x69, 0x72, 0x3b, 0x4d, 0x61, 0x79, 0x79, 0x75, 0x3b, 0x59, 0x75, 0x6e,
-0x79, 0x75, 0x3b, 0x59, 0x75, 0x6c, 0x79, 0x75, 0x7a, 0x3b, 0x194, 0x75, 0x63, 0x74, 0x3b, 0x43, 0x75, 0x74, 0x61, 0x6e,
-0x62, 0x69, 0x72, 0x3b, 0x4b, 0x1e6d, 0x75, 0x62, 0x65, 0x72, 0x3b, 0x4e, 0x77, 0x61, 0x6e, 0x62, 0x69, 0x72, 0x3b, 0x44,
-0x75, 0x6a, 0x61, 0x6e, 0x62, 0x69, 0x72, 0x3b, 0x59, 0x3b, 0x59, 0x3b, 0x4d, 0x3b, 0x49, 0x3b, 0x4d, 0x3b, 0x59, 0x3b,
-0x59, 0x3b, 0x194, 0x3b, 0x43, 0x3b, 0x4b, 0x3b, 0x4e, 0x3b, 0x44, 0x3b, 0x4a, 0x61, 0x6e, 0x75, 0x61, 0x6c, 0x69, 0x3b,
-0x46, 0x65, 0x62, 0x6c, 0x75, 0x61, 0x6c, 0x69, 0x3b, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x3b, 0x41, 0x70, 0x6c, 0x69, 0x6c,
-0x69, 0x3b, 0x4d, 0x65, 0x69, 0x3b, 0x4a, 0x75, 0x6e, 0x69, 0x3b, 0x4a, 0x75, 0x6c, 0x61, 0x69, 0x3b, 0x41, 0x67, 0x6f,
-0x73, 0x74, 0x69, 0x3b, 0x53, 0x65, 0x70, 0x74, 0x65, 0x6d, 0x62, 0x61, 0x3b, 0x4f, 0x6b, 0x74, 0x6f, 0x62, 0x61, 0x3b,
-0x4e, 0x6f, 0x76, 0x65, 0x6d, 0x62, 0x61, 0x3b, 0x44, 0x65, 0x73, 0x65, 0x6d, 0x62, 0x61, 0x3b
+0xbb2, 0xbc8, 0x3b, 0xb86, 0xb95, 0xbb8, 0xbcd, 0xb9f, 0xbcd, 0x3b, 0xb9a, 0xbc6, 0xbaa, 0xbcd, 0xb9f, 0xbc6, 0xbae, 0xbcd, 0xbaa, 0xbcd,
+0xbb0, 0xbcd, 0x3b, 0xb85, 0xb95, 0xbcd, 0xb9f, 0xbcb, 0xbaa, 0xbb0, 0xbcd, 0x3b, 0xba8, 0xbb5, 0xbae, 0xbcd, 0xbaa, 0xbb0, 0xbcd, 0x3b,
+0xb9f, 0xbbf, 0xb9a, 0xbae, 0xbcd, 0xbaa, 0xbb0, 0xbcd, 0x3b, 0xb9c, 0x3b, 0xbaa, 0xbbf, 0x3b, 0xbae, 0xbbe, 0x3b, 0xb8f, 0x3b, 0xbae,
+0xbc7, 0x3b, 0xb9c, 0xbc2, 0x3b, 0xb9c, 0xbc2, 0x3b, 0xb86, 0x3b, 0xb9a, 0xbc6, 0x3b, 0xb85, 0x3b, 0xba8, 0x3b, 0xb9f, 0xbbf, 0x3b,
+0xc1c, 0xc28, 0xc35, 0xc30, 0xc3f, 0x3b, 0xc2b, 0xc3f, 0xc2c, 0xc4d, 0xc30, 0xc35, 0xc30, 0xc3f, 0x3b, 0xc2e, 0xc3e, 0xc30, 0xc4d, 0xc1a,
+0xc3f, 0x3b, 0xc0f, 0xc2a, 0xc4d, 0xc30, 0xc3f, 0xc32, 0xc4d, 0x3b, 0xc2e, 0xc47, 0x3b, 0xc1c, 0xc42, 0xc28, 0xc4d, 0x3b, 0xc1c, 0xc42,
+0xc32, 0xc48, 0x3b, 0xc06, 0xc17, 0xc38, 0xc4d, 0xc1f, 0xc41, 0x3b, 0xc38, 0xc46, 0xc2a, 0xc4d, 0xc1f, 0xc46, 0xc02, 0xc2c, 0xc30, 0xc4d,
+0x3b, 0xc05, 0xc15, 0xc4d, 0xc1f, 0xc4b, 0xc2c, 0xc30, 0xc4d, 0x3b, 0xc28, 0xc35, 0xc02, 0xc2c, 0xc30, 0xc4d, 0x3b, 0xc21, 0xc3f, 0xc38,
+0xc46, 0xc02, 0xc2c, 0xc30, 0xc4d, 0x3b, 0xc1c, 0x3b, 0xc2b, 0xc3f, 0x3b, 0xc2e, 0x3b, 0xc0e, 0x3b, 0xc2e, 0xc46, 0x3b, 0xc1c, 0xc41,
+0x3b, 0xc1c, 0xc41, 0x3b, 0xc06, 0x3b, 0xc38, 0xc46, 0x3b, 0xc05, 0x3b, 0xc28, 0x3b, 0xc21, 0xc3f, 0x3b, 0xe21, 0x2e, 0xe04, 0x2e,
+0x3b, 0xe01, 0x2e, 0xe1e, 0x2e, 0x3b, 0xe21, 0xe35, 0x2e, 0xe04, 0x2e, 0x3b, 0xe40, 0xe21, 0x2e, 0xe22, 0x2e, 0x3b, 0xe1e, 0x2e,
+0xe04, 0x2e, 0x3b, 0xe21, 0xe34, 0x2e, 0xe22, 0x2e, 0x3b, 0xe01, 0x2e, 0xe04, 0x2e, 0x3b, 0xe2a, 0x2e, 0xe04, 0x2e, 0x3b, 0xe01,
+0x2e, 0xe22, 0x2e, 0x3b, 0xe15, 0x2e, 0xe04, 0x2e, 0x3b, 0xe1e, 0x2e, 0xe22, 0x2e, 0x3b, 0xe18, 0x2e, 0xe04, 0x2e, 0x3b, 0xe21,
+0xe01, 0xe23, 0xe32, 0xe04, 0xe21, 0x3b, 0xe01, 0xe38, 0xe21, 0xe20, 0xe32, 0xe1e, 0xe31, 0xe19, 0xe18, 0xe4c, 0x3b, 0xe21, 0xe35, 0xe19,
+0xe32, 0xe04, 0xe21, 0x3b, 0xe40, 0xe21, 0xe29, 0xe32, 0xe22, 0xe19, 0x3b, 0xe1e, 0xe24, 0xe29, 0xe20, 0xe32, 0xe04, 0xe21, 0x3b, 0xe21,
+0xe34, 0xe16, 0xe38, 0xe19, 0xe32, 0xe22, 0xe19, 0x3b, 0xe01, 0xe23, 0xe01, 0xe0e, 0xe32, 0xe04, 0xe21, 0x3b, 0xe2a, 0xe34, 0xe07, 0xe2b,
+0xe32, 0xe04, 0xe21, 0x3b, 0xe01, 0xe31, 0xe19, 0xe22, 0xe32, 0xe22, 0xe19, 0x3b, 0xe15, 0xe38, 0xe25, 0xe32, 0xe04, 0xe21, 0x3b, 0xe1e,
+0xe24, 0xe28, 0xe08, 0xe34, 0xe01, 0xe32, 0xe22, 0xe19, 0x3b, 0xe18, 0xe31, 0xe19, 0xe27, 0xe32, 0xe04, 0xe21, 0x3b, 0xf5f, 0xfb3, 0xf0b,
+0xf21, 0x3b, 0xf5f, 0xfb3, 0xf0b, 0xf22, 0x3b, 0xf5f, 0xfb3, 0xf0b, 0xf23, 0x3b, 0xf5f, 0xfb3, 0xf0b, 0xf24, 0x3b, 0xf5f, 0xfb3, 0xf0b,
+0xf25, 0x3b, 0xf5f, 0xfb3, 0xf0b, 0xf26, 0x3b, 0xf5f, 0xfb3, 0xf0b, 0xf27, 0x3b, 0xf5f, 0xfb3, 0xf0b, 0xf28, 0x3b, 0xf5f, 0xfb3, 0xf0b,
+0xf29, 0x3b, 0xf5f, 0xfb3, 0xf0b, 0xf21, 0xf20, 0x3b, 0xf5f, 0xfb3, 0xf0b, 0xf21, 0xf21, 0x3b, 0xf5f, 0xfb3, 0xf0b, 0xf21, 0xf22, 0x3b,
+0xf5f, 0xfb3, 0xf0b, 0xf56, 0xf0b, 0xf51, 0xf44, 0xf0b, 0xf54, 0xf7c, 0xf0b, 0x3b, 0xf5f, 0xfb3, 0xf0b, 0xf56, 0xf0b, 0xf42, 0xf49, 0xf72,
+0xf66, 0xf0b, 0xf54, 0xf0b, 0x3b, 0xf5f, 0xfb3, 0xf0b, 0xf56, 0xf0b, 0xf66, 0xf74, 0xf58, 0xf0b, 0xf54, 0xf0b, 0x3b, 0xf5f, 0xfb3, 0xf0b,
+0xf56, 0xf0b, 0xf56, 0xf5e, 0xf72, 0xf0b, 0xf54, 0xf0b, 0x3b, 0xf5f, 0xfb3, 0xf0b, 0xf56, 0xf0b, 0xf63, 0xf94, 0xf0b, 0xf54, 0xf0b, 0x3b,
+0xf5f, 0xfb3, 0xf0b, 0xf56, 0xf0b, 0xf51, 0xfb2, 0xf74, 0xf42, 0xf0b, 0xf54, 0xf0b, 0x3b, 0xf5f, 0xfb3, 0xf0b, 0xf56, 0xf0b, 0xf56, 0xf51,
+0xf74, 0xf53, 0xf0b, 0xf54, 0xf0b, 0x3b, 0xf5f, 0xfb3, 0xf0b, 0xf56, 0xf0b, 0xf56, 0xf62, 0xf92, 0xfb1, 0xf51, 0xf0b, 0xf54, 0xf0b, 0x3b,
+0xf5f, 0xfb3, 0xf0b, 0xf56, 0xf0b, 0xf51, 0xf42, 0xf74, 0xf0b, 0xf54, 0xf0b, 0x3b, 0xf5f, 0xfb3, 0xf0b, 0xf56, 0xf0b, 0xf56, 0xf45, 0xf74,
+0xf0b, 0xf54, 0xf0b, 0x3b, 0xf5f, 0xfb3, 0xf0b, 0xf56, 0xf0b, 0xf56, 0xf45, 0xf74, 0xf0b, 0xf42, 0xf45, 0xf72, 0xf42, 0xf0b, 0xf54, 0xf0b,
+0x3b, 0xf5f, 0xfb3, 0xf0b, 0xf56, 0xf0b, 0xf56, 0xf45, 0xf74, 0xf0b, 0xf42, 0xf49, 0xf72, 0xf66, 0xf0b, 0xf54, 0xf0b, 0x3b, 0x1325, 0x122a,
+0x3b, 0x1208, 0x12ab, 0x1272, 0x3b, 0x1218, 0x130b, 0x1262, 0x3b, 0x121a, 0x12eb, 0x12dd, 0x3b, 0x130d, 0x1295, 0x1266, 0x3b, 0x1230, 0x1290, 0x3b,
+0x1213, 0x121d, 0x1208, 0x3b, 0x1290, 0x1213, 0x1230, 0x3b, 0x1218, 0x1235, 0x12a8, 0x3b, 0x1325, 0x1245, 0x121d, 0x3b, 0x1215, 0x12f3, 0x122d, 0x3b,
+0x1273, 0x1215, 0x1233, 0x3b, 0x1325, 0x122a, 0x3b, 0x1208, 0x12ab, 0x1272, 0x1275, 0x3b, 0x1218, 0x130b, 0x1262, 0x1275, 0x3b, 0x121a, 0x12eb, 0x12dd,
+0x12eb, 0x3b, 0x130d, 0x1295, 0x1266, 0x1275, 0x3b, 0x1230, 0x1290, 0x3b, 0x1213, 0x121d, 0x1208, 0x3b, 0x1290, 0x1213, 0x1230, 0x3b, 0x1218, 0x1235,
+0x12a8, 0x1228, 0x121d, 0x3b, 0x1325, 0x1245, 0x121d, 0x1272, 0x3b, 0x1215, 0x12f3, 0x122d, 0x3b, 0x1273, 0x1215, 0x1233, 0x1235, 0x3b, 0x53, 0x101,
+0x6e, 0x3b, 0x46, 0x113, 0x70, 0x3b, 0x4d, 0x61, 0x2bb, 0x61, 0x3b, 0x2bb, 0x45, 0x70, 0x65, 0x3b, 0x4d, 0x113, 0x3b, 0x53,
+0x75, 0x6e, 0x3b, 0x53, 0x69, 0x75, 0x3b, 0x2bb, 0x41, 0x6f, 0x6b, 0x3b, 0x53, 0x65, 0x70, 0x3b, 0x2bb, 0x4f, 0x6b, 0x61,
+0x3b, 0x4e, 0x14d, 0x76, 0x3b, 0x54, 0x12b, 0x73, 0x3b, 0x53, 0x101, 0x6e, 0x75, 0x61, 0x6c, 0x69, 0x3b, 0x46, 0x113, 0x70,
+0x75, 0x65, 0x6c, 0x69, 0x3b, 0x4d, 0x61, 0x2bb, 0x61, 0x73, 0x69, 0x3b, 0x2bb, 0x45, 0x70, 0x65, 0x6c, 0x65, 0x6c, 0x69,
+0x3b, 0x4d, 0x113, 0x3b, 0x53, 0x75, 0x6e, 0x65, 0x3b, 0x53, 0x69, 0x75, 0x6c, 0x61, 0x69, 0x3b, 0x2bb, 0x41, 0x6f, 0x6b,
+0x6f, 0x73, 0x69, 0x3b, 0x53, 0x65, 0x70, 0x69, 0x74, 0x65, 0x6d, 0x61, 0x3b, 0x2bb, 0x4f, 0x6b, 0x61, 0x74, 0x6f, 0x70,
+0x61, 0x3b, 0x4e, 0x14d, 0x76, 0x65, 0x6d, 0x61, 0x3b, 0x54, 0x12b, 0x73, 0x65, 0x6d, 0x61, 0x3b, 0x53, 0x3b, 0x46, 0x3b,
+0x4d, 0x3b, 0x45, 0x3b, 0x4d, 0x3b, 0x53, 0x3b, 0x53, 0x3b, 0x41, 0x3b, 0x53, 0x3b, 0x4f, 0x3b, 0x4e, 0x3b, 0x54, 0x3b,
+0x53, 0x75, 0x6e, 0x3b, 0x59, 0x61, 0x6e, 0x3b, 0x4b, 0x75, 0x6c, 0x3b, 0x44, 0x7a, 0x69, 0x3b, 0x4d, 0x75, 0x64, 0x3b,
+0x4b, 0x68, 0x6f, 0x3b, 0x4d, 0x61, 0x77, 0x3b, 0x4d, 0x68, 0x61, 0x3b, 0x4e, 0x64, 0x7a, 0x3b, 0x4e, 0x68, 0x6c, 0x3b,
+0x48, 0x75, 0x6b, 0x3b, 0x4e, 0x27, 0x77, 0x3b, 0x53, 0x75, 0x6e, 0x67, 0x75, 0x74, 0x69, 0x3b, 0x4e, 0x79, 0x65, 0x6e,
+0x79, 0x65, 0x6e, 0x79, 0x61, 0x6e, 0x69, 0x3b, 0x4e, 0x79, 0x65, 0x6e, 0x79, 0x61, 0x6e, 0x6b, 0x75, 0x6c, 0x75, 0x3b,
+0x44, 0x7a, 0x69, 0x76, 0x61, 0x6d, 0x69, 0x73, 0x6f, 0x6b, 0x6f, 0x3b, 0x4d, 0x75, 0x64, 0x79, 0x61, 0x78, 0x69, 0x68,
+0x69, 0x3b, 0x4b, 0x68, 0x6f, 0x74, 0x61, 0x76, 0x75, 0x78, 0x69, 0x6b, 0x61, 0x3b, 0x4d, 0x61, 0x77, 0x75, 0x77, 0x61,
+0x6e, 0x69, 0x3b, 0x4d, 0x68, 0x61, 0x77, 0x75, 0x72, 0x69, 0x3b, 0x4e, 0x64, 0x7a, 0x68, 0x61, 0x74, 0x69, 0x3b, 0x4e,
+0x68, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x6c, 0x61, 0x3b, 0x48, 0x75, 0x6b, 0x75, 0x72, 0x69, 0x3b, 0x4e, 0x27, 0x77, 0x65,
+0x6e, 0x64, 0x7a, 0x61, 0x6d, 0x68, 0x61, 0x6c, 0x61, 0x3b, 0x4f, 0x63, 0x61, 0x3b, 0x15e, 0x75, 0x62, 0x3b, 0x4d, 0x61,
+0x72, 0x3b, 0x4e, 0x69, 0x73, 0x3b, 0x4d, 0x61, 0x79, 0x3b, 0x48, 0x61, 0x7a, 0x3b, 0x54, 0x65, 0x6d, 0x3b, 0x41, 0x11f,
+0x75, 0x3b, 0x45, 0x79, 0x6c, 0x3b, 0x45, 0x6b, 0x69, 0x3b, 0x4b, 0x61, 0x73, 0x3b, 0x41, 0x72, 0x61, 0x3b, 0x4f, 0x63,
+0x61, 0x6b, 0x3b, 0x15e, 0x75, 0x62, 0x61, 0x74, 0x3b, 0x4d, 0x61, 0x72, 0x74, 0x3b, 0x4e, 0x69, 0x73, 0x61, 0x6e, 0x3b,
+0x4d, 0x61, 0x79, 0x131, 0x73, 0x3b, 0x48, 0x61, 0x7a, 0x69, 0x72, 0x61, 0x6e, 0x3b, 0x54, 0x65, 0x6d, 0x6d, 0x75, 0x7a,
+0x3b, 0x41, 0x11f, 0x75, 0x73, 0x74, 0x6f, 0x73, 0x3b, 0x45, 0x79, 0x6c, 0xfc, 0x6c, 0x3b, 0x45, 0x6b, 0x69, 0x6d, 0x3b,
+0x4b, 0x61, 0x73, 0x131, 0x6d, 0x3b, 0x41, 0x72, 0x61, 0x6c, 0x131, 0x6b, 0x3b, 0x4f, 0x3b, 0x15e, 0x3b, 0x4d, 0x3b, 0x4e,
+0x3b, 0x4d, 0x3b, 0x48, 0x3b, 0x54, 0x3b, 0x41, 0x3b, 0x45, 0x3b, 0x45, 0x3b, 0x4b, 0x3b, 0x41, 0x3b, 0x421, 0x456, 0x447,
+0x3b, 0x41b, 0x44e, 0x442, 0x3b, 0x411, 0x435, 0x440, 0x3b, 0x41a, 0x432, 0x456, 0x3b, 0x422, 0x440, 0x430, 0x3b, 0x427, 0x435, 0x440,
+0x3b, 0x41b, 0x438, 0x43f, 0x3b, 0x421, 0x435, 0x440, 0x3b, 0x412, 0x435, 0x440, 0x3b, 0x416, 0x43e, 0x432, 0x3b, 0x41b, 0x438, 0x441,
+0x3b, 0x413, 0x440, 0x443, 0x3b, 0x421, 0x456, 0x447, 0x435, 0x43d, 0x44c, 0x3b, 0x41b, 0x44e, 0x442, 0x438, 0x439, 0x3b, 0x411, 0x435,
+0x440, 0x435, 0x437, 0x435, 0x43d, 0x44c, 0x3b, 0x41a, 0x432, 0x456, 0x442, 0x435, 0x43d, 0x44c, 0x3b, 0x422, 0x440, 0x430, 0x432, 0x435,
+0x43d, 0x44c, 0x3b, 0x427, 0x435, 0x440, 0x432, 0x435, 0x43d, 0x44c, 0x3b, 0x41b, 0x438, 0x43f, 0x435, 0x43d, 0x44c, 0x3b, 0x421, 0x435,
+0x440, 0x43f, 0x435, 0x43d, 0x44c, 0x3b, 0x412, 0x435, 0x440, 0x435, 0x441, 0x435, 0x43d, 0x44c, 0x3b, 0x416, 0x43e, 0x432, 0x442, 0x435,
+0x43d, 0x44c, 0x3b, 0x41b, 0x438, 0x441, 0x442, 0x43e, 0x43f, 0x430, 0x434, 0x3b, 0x413, 0x440, 0x443, 0x434, 0x435, 0x43d, 0x44c, 0x3b,
+0x421, 0x3b, 0x41b, 0x3b, 0x411, 0x3b, 0x41a, 0x3b, 0x422, 0x3b, 0x427, 0x3b, 0x41b, 0x3b, 0x421, 0x3b, 0x412, 0x3b, 0x416, 0x3b,
+0x41b, 0x3b, 0x413, 0x3b, 0x62c, 0x646, 0x648, 0x631, 0x6cc, 0x3b, 0x641, 0x631, 0x648, 0x631, 0x6cc, 0x3b, 0x645, 0x627, 0x631, 0x20,
+0x686, 0x3b, 0x627, 0x67e, 0x631, 0x64a, 0x644, 0x3b, 0x645, 0x626, 0x3b, 0x62c, 0x648, 0x646, 0x3b, 0x62c, 0x648, 0x644, 0x627, 0x626,
+0x3b, 0x627, 0x6af, 0x633, 0x62a, 0x3b, 0x633, 0x62a, 0x645, 0x628, 0x631, 0x3b, 0x627, 0x6a9, 0x62a, 0x648, 0x628, 0x631, 0x3b, 0x646,
+0x648, 0x645, 0x628, 0x631, 0x3b, 0x62f, 0x633, 0x645, 0x628, 0x631, 0x3b, 0x41c, 0x443, 0x4b3, 0x430, 0x440, 0x440, 0x430, 0x43c, 0x3b,
+0x421, 0x430, 0x444, 0x430, 0x440, 0x3b, 0x420, 0x430, 0x431, 0x438, 0x443, 0x43b, 0x2d, 0x430, 0x432, 0x432, 0x430, 0x43b, 0x3b, 0x420,
+0x430, 0x431, 0x438, 0x443, 0x43b, 0x2d, 0x43e, 0x445, 0x438, 0x440, 0x3b, 0x416, 0x443, 0x43c, 0x43e, 0x434, 0x438, 0x443, 0x43b, 0x2d,
+0x443, 0x43b, 0x43e, 0x3b, 0x416, 0x443, 0x43c, 0x43e, 0x434, 0x438, 0x443, 0x43b, 0x2d, 0x443, 0x445, 0x440, 0x43e, 0x3b, 0x420, 0x430,
+0x436, 0x430, 0x431, 0x3b, 0x428, 0x430, 0x44a, 0x431, 0x43e, 0x43d, 0x3b, 0x420, 0x430, 0x43c, 0x430, 0x437, 0x43e, 0x43d, 0x3b, 0x428,
+0x430, 0x432, 0x432, 0x43e, 0x43b, 0x3b, 0x417, 0x438, 0x43b, 0x2d, 0x49b, 0x430, 0x44a, 0x434, 0x430, 0x3b, 0x417, 0x438, 0x43b, 0x2d,
+0x4b3, 0x438, 0x436, 0x436, 0x430, 0x3b, 0x62c, 0x646, 0x648, 0x3b, 0x641, 0x628, 0x631, 0x3b, 0x645, 0x627, 0x631, 0x3b, 0x627, 0x67e,
+0x631, 0x3b, 0x645, 0x640, 0x6cc, 0x3b, 0x62c, 0x648, 0x646, 0x3b, 0x62c, 0x648, 0x644, 0x3b, 0x627, 0x6af, 0x633, 0x3b, 0x633, 0x67e,
+0x62a, 0x3b, 0x627, 0x6a9, 0x62a, 0x3b, 0x646, 0x648, 0x645, 0x3b, 0x62f, 0x633, 0x645, 0x3b, 0x62c, 0x646, 0x648, 0x631, 0x6cc, 0x3b,
+0x641, 0x628, 0x631, 0x648, 0x631, 0x6cc, 0x3b, 0x645, 0x627, 0x631, 0x686, 0x3b, 0x627, 0x67e, 0x631, 0x6cc, 0x644, 0x3b, 0x645, 0x6cc,
+0x3b, 0x62c, 0x648, 0x646, 0x3b, 0x62c, 0x648, 0x644, 0x627, 0x6cc, 0x3b, 0x627, 0x6af, 0x633, 0x62a, 0x3b, 0x633, 0x67e, 0x62a, 0x645,
+0x628, 0x631, 0x3b, 0x627, 0x6a9, 0x62a, 0x648, 0x628, 0x631, 0x3b, 0x646, 0x648, 0x645, 0x628, 0x631, 0x3b, 0x62f, 0x633, 0x645, 0x628,
+0x631, 0x3b, 0x74, 0x68, 0x67, 0x20, 0x31, 0x3b, 0x74, 0x68, 0x67, 0x20, 0x32, 0x3b, 0x74, 0x68, 0x67, 0x20, 0x33, 0x3b,
+0x74, 0x68, 0x67, 0x20, 0x34, 0x3b, 0x74, 0x68, 0x67, 0x20, 0x35, 0x3b, 0x74, 0x68, 0x67, 0x20, 0x36, 0x3b, 0x74, 0x68,
+0x67, 0x20, 0x37, 0x3b, 0x74, 0x68, 0x67, 0x20, 0x38, 0x3b, 0x74, 0x68, 0x67, 0x20, 0x39, 0x3b, 0x74, 0x68, 0x67, 0x20,
+0x31, 0x30, 0x3b, 0x74, 0x68, 0x67, 0x20, 0x31, 0x31, 0x3b, 0x74, 0x68, 0x67, 0x20, 0x31, 0x32, 0x3b, 0x74, 0x68, 0xe1,
+0x6e, 0x67, 0x20, 0x6d, 0x1ed9, 0x74, 0x3b, 0x74, 0x68, 0xe1, 0x6e, 0x67, 0x20, 0x68, 0x61, 0x69, 0x3b, 0x74, 0x68, 0xe1,
+0x6e, 0x67, 0x20, 0x62, 0x61, 0x3b, 0x74, 0x68, 0xe1, 0x6e, 0x67, 0x20, 0x74, 0x1b0, 0x3b, 0x74, 0x68, 0xe1, 0x6e, 0x67,
+0x20, 0x6e, 0x103, 0x6d, 0x3b, 0x74, 0x68, 0xe1, 0x6e, 0x67, 0x20, 0x73, 0xe1, 0x75, 0x3b, 0x74, 0x68, 0xe1, 0x6e, 0x67,
+0x20, 0x62, 0x1ea3, 0x79, 0x3b, 0x74, 0x68, 0xe1, 0x6e, 0x67, 0x20, 0x74, 0xe1, 0x6d, 0x3b, 0x74, 0x68, 0xe1, 0x6e, 0x67,
+0x20, 0x63, 0x68, 0xed, 0x6e, 0x3b, 0x74, 0x68, 0xe1, 0x6e, 0x67, 0x20, 0x6d, 0x1b0, 0x1edd, 0x69, 0x3b, 0x74, 0x68, 0xe1,
+0x6e, 0x67, 0x20, 0x6d, 0x1b0, 0x1edd, 0x69, 0x20, 0x6d, 0x1ed9, 0x74, 0x3b, 0x74, 0x68, 0xe1, 0x6e, 0x67, 0x20, 0x6d, 0x1b0,
+0x1edd, 0x69, 0x20, 0x68, 0x61, 0x69, 0x3b, 0x49, 0x6f, 0x6e, 0x3b, 0x43, 0x68, 0x77, 0x65, 0x3b, 0x4d, 0x61, 0x77, 0x3b,
+0x45, 0x62, 0x72, 0x3b, 0x4d, 0x61, 0x69, 0x3b, 0x4d, 0x65, 0x68, 0x3b, 0x47, 0x6f, 0x72, 0x3b, 0x41, 0x77, 0x73, 0x74,
+0x3b, 0x4d, 0x65, 0x64, 0x69, 0x3b, 0x48, 0x79, 0x64, 0x3b, 0x54, 0x61, 0x63, 0x68, 0x3b, 0x52, 0x68, 0x61, 0x67, 0x3b,
+0x49, 0x6f, 0x6e, 0x61, 0x77, 0x72, 0x3b, 0x43, 0x68, 0x77, 0x65, 0x66, 0x72, 0x6f, 0x72, 0x3b, 0x4d, 0x61, 0x77, 0x72,
+0x74, 0x68, 0x3b, 0x45, 0x62, 0x72, 0x69, 0x6c, 0x6c, 0x3b, 0x4d, 0x61, 0x69, 0x3b, 0x4d, 0x65, 0x68, 0x65, 0x66, 0x69,
+0x6e, 0x3b, 0x47, 0x6f, 0x72, 0x66, 0x66, 0x65, 0x6e, 0x6e, 0x61, 0x66, 0x3b, 0x41, 0x77, 0x73, 0x74, 0x3b, 0x4d, 0x65,
+0x64, 0x69, 0x3b, 0x48, 0x79, 0x64, 0x72, 0x65, 0x66, 0x3b, 0x54, 0x61, 0x63, 0x68, 0x77, 0x65, 0x64, 0x64, 0x3b, 0x52,
+0x68, 0x61, 0x67, 0x66, 0x79, 0x72, 0x3b, 0x49, 0x3b, 0x43, 0x3b, 0x4d, 0x3b, 0x45, 0x3b, 0x4d, 0x3b, 0x4d, 0x3b, 0x47,
+0x3b, 0x41, 0x3b, 0x4d, 0x3b, 0x48, 0x3b, 0x54, 0x3b, 0x52, 0x3b, 0x4a, 0x61, 0x6e, 0x3b, 0x46, 0x65, 0x62, 0x3b, 0x4d,
+0x61, 0x74, 0x3b, 0x45, 0x70, 0x72, 0x3b, 0x4d, 0x65, 0x79, 0x3b, 0x4a, 0x75, 0x6e, 0x3b, 0x4a, 0x75, 0x6c, 0x3b, 0x41,
+0x67, 0x61, 0x3b, 0x53, 0x65, 0x70, 0x3b, 0x4f, 0x6b, 0x74, 0x3b, 0x4e, 0x6f, 0x76, 0x3b, 0x44, 0x69, 0x73, 0x3b, 0x4a,
+0x61, 0x6e, 0x79, 0x75, 0x77, 0x61, 0x72, 0x69, 0x3b, 0x46, 0x65, 0x62, 0x72, 0x75, 0x77, 0x61, 0x72, 0x69, 0x3b, 0x4d,
+0x61, 0x74, 0x73, 0x68, 0x69, 0x3b, 0x45, 0x70, 0x72, 0x65, 0x6c, 0x69, 0x3b, 0x4d, 0x65, 0x79, 0x69, 0x3b, 0x4a, 0x75,
+0x6e, 0x69, 0x3b, 0x4a, 0x75, 0x6c, 0x61, 0x79, 0x69, 0x3b, 0x41, 0x67, 0x61, 0x73, 0x74, 0x69, 0x3b, 0x53, 0x65, 0x70,
+0x74, 0x65, 0x6d, 0x62, 0x61, 0x3b, 0x4f, 0x6b, 0x74, 0x68, 0x6f, 0x62, 0x61, 0x3b, 0x4e, 0x6f, 0x76, 0x65, 0x6d, 0x62,
+0x61, 0x3b, 0x44, 0x69, 0x73, 0x65, 0x6d, 0x62, 0x61, 0x3b, 0x1e62, 0x1eb9, 0x301, 0x72, 0x1eb9, 0x323, 0x3b, 0xc8, 0x72, 0xe8,
+0x6c, 0xe8, 0x3b, 0x1eb8, 0x72, 0x1eb9, 0x300, 0x6e, 0xe0, 0x3b, 0xcc, 0x67, 0x62, 0xe9, 0x3b, 0x1eb8, 0x300, 0x62, 0x69, 0x62,
+0x69, 0x3b, 0xd2, 0x6b, 0xfa, 0x64, 0x75, 0x3b, 0x41, 0x67, 0x1eb9, 0x6d, 0x1ecd, 0x3b, 0xd2, 0x67, 0xfa, 0x6e, 0x3b, 0x4f,
+0x77, 0x65, 0x77, 0x65, 0x3b, 0x1ecc, 0x300, 0x77, 0xe0, 0x72, 0xe0, 0x3b, 0x42, 0xe9, 0x6c, 0xfa, 0x3b, 0x1ecc, 0x300, 0x70,
+0x1eb9, 0x300, 0x3b, 0x4f, 0x1e62, 0xf9, 0x20, 0x1e62, 0x1eb8, 0x301, 0x72, 0x1eb9, 0x301, 0x3b, 0x4f, 0x1e62, 0xf9, 0x20, 0xc8, 0x72,
+0xe8, 0x6c, 0xe8, 0x3b, 0x4f, 0x1e62, 0xf9, 0x20, 0x1eb8, 0x72, 0x1eb9, 0x300, 0x6e, 0xe0, 0x3b, 0x4f, 0x1e62, 0xf9, 0x20, 0xcc,
+0x67, 0x62, 0xe9, 0x3b, 0x4f, 0x1e62, 0xf9, 0x20, 0x1eb8, 0x300, 0x62, 0x69, 0x62, 0x69, 0x3b, 0x4f, 0x1e62, 0xf9, 0x20, 0xd2,
+0x6b, 0xfa, 0x64, 0x75, 0x3b, 0x4f, 0x1e62, 0xf9, 0x20, 0x41, 0x67, 0x1eb9, 0x6d, 0x1ecd, 0x3b, 0x4f, 0x1e62, 0xf9, 0x20, 0xd2,
+0x67, 0xfa, 0x6e, 0x3b, 0x4f, 0x1e62, 0xf9, 0x20, 0x4f, 0x77, 0x65, 0x77, 0x65, 0x3b, 0x4f, 0x1e62, 0xf9, 0x20, 0x1ecc, 0x300,
+0x77, 0xe0, 0x72, 0xe0, 0x3b, 0x4f, 0x1e62, 0xf9, 0x20, 0x42, 0xe9, 0x6c, 0xfa, 0x3b, 0x4f, 0x1e62, 0xf9, 0x20, 0x1ecc, 0x300,
+0x70, 0x1eb9, 0x300, 0x3b, 0x4a, 0x61, 0x6e, 0x3b, 0x46, 0x65, 0x62, 0x3b, 0x4d, 0x61, 0x73, 0x3b, 0x41, 0x70, 0x72, 0x3b,
+0x4d, 0x65, 0x79, 0x3b, 0x4a, 0x75, 0x6e, 0x3b, 0x4a, 0x75, 0x6c, 0x3b, 0x41, 0x67, 0x61, 0x3b, 0x53, 0x65, 0x70, 0x3b,
+0x4f, 0x6b, 0x74, 0x3b, 0x4e, 0x6f, 0x76, 0x3b, 0x44, 0x69, 0x73, 0x3b, 0x75, 0x4a, 0x61, 0x6e, 0x75, 0x77, 0x61, 0x72,
+0x69, 0x3b, 0x75, 0x46, 0x65, 0x62, 0x72, 0x75, 0x77, 0x61, 0x72, 0x69, 0x3b, 0x75, 0x4d, 0x61, 0x73, 0x68, 0x69, 0x3b,
+0x75, 0x2d, 0x41, 0x70, 0x72, 0x65, 0x6c, 0x69, 0x3b, 0x75, 0x4d, 0x65, 0x79, 0x69, 0x3b, 0x75, 0x4a, 0x75, 0x6e, 0x69,
+0x3b, 0x75, 0x4a, 0x75, 0x6c, 0x61, 0x79, 0x69, 0x3b, 0x75, 0x41, 0x67, 0x61, 0x73, 0x74, 0x69, 0x3b, 0x75, 0x53, 0x65,
+0x70, 0x74, 0x68, 0x65, 0x6d, 0x62, 0x61, 0x3b, 0x75, 0x2d, 0x4f, 0x6b, 0x74, 0x68, 0x6f, 0x62, 0x61, 0x3b, 0x75, 0x4e,
+0x6f, 0x76, 0x65, 0x6d, 0x62, 0x61, 0x3b, 0x75, 0x44, 0x69, 0x73, 0x65, 0x6d, 0x62, 0x61, 0x3b, 0x4a, 0x61, 0x6e, 0x3b,
+0x46, 0x65, 0x62, 0x3b, 0x4d, 0x61, 0x72, 0x3b, 0x41, 0x70, 0x72, 0x3b, 0x4d, 0x61, 0x6a, 0x3b, 0x4a, 0x75, 0x6e, 0x3b,
+0x4a, 0x75, 0x6c, 0x3b, 0x41, 0x76, 0x67, 0x3b, 0x53, 0x65, 0x70, 0x3b, 0x4f, 0x6b, 0x74, 0x3b, 0x4e, 0x6f, 0x76, 0x3b,
+0x44, 0x65, 0x63, 0x3b, 0x4a, 0x61, 0x6e, 0x75, 0x61, 0x72, 0x3b, 0x46, 0x65, 0x62, 0x72, 0x75, 0x61, 0x72, 0x3b, 0x4d,
+0x61, 0x72, 0x74, 0x3b, 0x41, 0x70, 0x72, 0x69, 0x6c, 0x3b, 0x4d, 0x61, 0x6a, 0x3b, 0x4a, 0x75, 0x6e, 0x69, 0x3b, 0x4a,
+0x75, 0x6c, 0x69, 0x3b, 0x41, 0x76, 0x67, 0x75, 0x73, 0x74, 0x3b, 0x53, 0x65, 0x70, 0x74, 0x65, 0x6d, 0x62, 0x61, 0x72,
+0x3b, 0x4f, 0x6b, 0x74, 0x6f, 0x62, 0x61, 0x72, 0x3b, 0x4e, 0x6f, 0x76, 0x65, 0x6d, 0x62, 0x61, 0x72, 0x3b, 0x44, 0x65,
+0x63, 0x65, 0x6d, 0x62, 0x61, 0x72, 0x3b, 0x4a, 0x2d, 0x67, 0x75, 0x65, 0x72, 0x3b, 0x54, 0x2d, 0x61, 0x72, 0x72, 0x65,
+0x65, 0x3b, 0x4d, 0x61, 0x79, 0x72, 0x6e, 0x74, 0x3b, 0x41, 0x76, 0x72, 0x72, 0x69, 0x6c, 0x3b, 0x42, 0x6f, 0x61, 0x6c,
+0x64, 0x79, 0x6e, 0x3b, 0x4d, 0x2d, 0x73, 0x6f, 0x75, 0x72, 0x65, 0x65, 0x3b, 0x4a, 0x2d, 0x73, 0x6f, 0x75, 0x72, 0x65,
+0x65, 0x3b, 0x4c, 0x75, 0x61, 0x6e, 0x69, 0x73, 0x74, 0x79, 0x6e, 0x3b, 0x4d, 0x2d, 0x66, 0x6f, 0x75, 0x79, 0x69, 0x72,
+0x3b, 0x4a, 0x2d, 0x66, 0x6f, 0x75, 0x79, 0x69, 0x72, 0x3b, 0x4d, 0x2e, 0x48, 0x6f, 0x75, 0x6e, 0x65, 0x79, 0x3b, 0x4d,
+0x2e, 0x4e, 0x6f, 0x6c, 0x6c, 0x69, 0x63, 0x6b, 0x3b, 0x4a, 0x65, 0x72, 0x72, 0x65, 0x79, 0x2d, 0x67, 0x65, 0x75, 0x72,
+0x65, 0x65, 0x3b, 0x54, 0x6f, 0x73, 0x68, 0x69, 0x61, 0x67, 0x68, 0x74, 0x2d, 0x61, 0x72, 0x72, 0x65, 0x65, 0x3b, 0x4d,
+0x61, 0x79, 0x72, 0x6e, 0x74, 0x3b, 0x41, 0x76, 0x65, 0x72, 0x69, 0x6c, 0x3b, 0x42, 0x6f, 0x61, 0x6c, 0x64, 0x79, 0x6e,
+0x3b, 0x4d, 0x65, 0x61, 0x6e, 0x2d, 0x73, 0x6f, 0x75, 0x72, 0x65, 0x65, 0x3b, 0x4a, 0x65, 0x72, 0x72, 0x65, 0x79, 0x2d,
+0x73, 0x6f, 0x75, 0x72, 0x65, 0x65, 0x3b, 0x4c, 0x75, 0x61, 0x6e, 0x69, 0x73, 0x74, 0x79, 0x6e, 0x3b, 0x4d, 0x65, 0x61,
+0x6e, 0x2d, 0x66, 0x6f, 0x75, 0x79, 0x69, 0x72, 0x3b, 0x4a, 0x65, 0x72, 0x72, 0x65, 0x79, 0x2d, 0x66, 0x6f, 0x75, 0x79,
+0x69, 0x72, 0x3b, 0x4d, 0x65, 0x65, 0x20, 0x48, 0x6f, 0x75, 0x6e, 0x65, 0x79, 0x3b, 0x4d, 0x65, 0x65, 0x20, 0x6e, 0x79,
+0x20, 0x4e, 0x6f, 0x6c, 0x6c, 0x69, 0x63, 0x6b, 0x3b, 0x47, 0x65, 0x6e, 0x3b, 0x57, 0x68, 0x65, 0x3b, 0x4d, 0x65, 0x72,
+0x3b, 0x45, 0x62, 0x72, 0x3b, 0x4d, 0x65, 0x3b, 0x45, 0x66, 0x6e, 0x3b, 0x47, 0x6f, 0x72, 0x3b, 0x45, 0x73, 0x74, 0x3b,
+0x47, 0x77, 0x6e, 0x3b, 0x48, 0x65, 0x64, 0x3b, 0x44, 0x75, 0x3b, 0x4b, 0x65, 0x76, 0x3b, 0x4d, 0x79, 0x73, 0x20, 0x47,
+0x65, 0x6e, 0x76, 0x65, 0x72, 0x3b, 0x4d, 0x79, 0x73, 0x20, 0x57, 0x68, 0x65, 0x76, 0x72, 0x65, 0x6c, 0x3b, 0x4d, 0x79,
+0x73, 0x20, 0x4d, 0x65, 0x72, 0x74, 0x68, 0x3b, 0x4d, 0x79, 0x73, 0x20, 0x45, 0x62, 0x72, 0x65, 0x6c, 0x3b, 0x4d, 0x79,
+0x73, 0x20, 0x4d, 0x65, 0x3b, 0x4d, 0x79, 0x73, 0x20, 0x45, 0x66, 0x61, 0x6e, 0x3b, 0x4d, 0x79, 0x73, 0x20, 0x47, 0x6f,
+0x72, 0x74, 0x68, 0x65, 0x72, 0x65, 0x6e, 0x3b, 0x4d, 0x79, 0x65, 0x20, 0x45, 0x73, 0x74, 0x3b, 0x4d, 0x79, 0x73, 0x20,
+0x47, 0x77, 0x79, 0x6e, 0x67, 0x61, 0x6c, 0x61, 0x3b, 0x4d, 0x79, 0x73, 0x20, 0x48, 0x65, 0x64, 0x72, 0x61, 0x3b, 0x4d,
+0x79, 0x73, 0x20, 0x44, 0x75, 0x3b, 0x4d, 0x79, 0x73, 0x20, 0x4b, 0x65, 0x76, 0x61, 0x72, 0x64, 0x68, 0x75, 0x3b, 0x53,
+0x2d, 0x186, 0x3b, 0x4b, 0x2d, 0x186, 0x3b, 0x45, 0x2d, 0x186, 0x3b, 0x45, 0x2d, 0x4f, 0x3b, 0x45, 0x2d, 0x4b, 0x3b, 0x4f,
+0x2d, 0x41, 0x3b, 0x41, 0x2d, 0x4b, 0x3b, 0x44, 0x2d, 0x186, 0x3b, 0x46, 0x2d, 0x190, 0x3b, 0x186, 0x2d, 0x41, 0x3b, 0x186,
+0x2d, 0x4f, 0x3b, 0x4d, 0x2d, 0x186, 0x3b, 0x53, 0x61, 0x6e, 0x64, 0x61, 0x2d, 0x186, 0x70, 0x25b, 0x70, 0x254, 0x6e, 0x3b,
+0x4b, 0x77, 0x61, 0x6b, 0x77, 0x61, 0x72, 0x2d, 0x186, 0x67, 0x79, 0x65, 0x66, 0x75, 0x6f, 0x3b, 0x45, 0x62, 0x254, 0x77,
+0x2d, 0x186, 0x62, 0x65, 0x6e, 0x65, 0x6d, 0x3b, 0x45, 0x62, 0x254, 0x62, 0x69, 0x72, 0x61, 0x2d, 0x4f, 0x66, 0x6f, 0x72,
+0x69, 0x73, 0x75, 0x6f, 0x3b, 0x45, 0x73, 0x75, 0x73, 0x6f, 0x77, 0x20, 0x41, 0x6b, 0x65, 0x74, 0x73, 0x65, 0x61, 0x62,
+0x61, 0x2d, 0x4b, 0x254, 0x74, 0x254, 0x6e, 0x69, 0x6d, 0x62, 0x61, 0x3b, 0x4f, 0x62, 0x69, 0x72, 0x61, 0x64, 0x65, 0x2d,
+0x41, 0x79, 0x25b, 0x77, 0x6f, 0x68, 0x6f, 0x6d, 0x75, 0x6d, 0x75, 0x3b, 0x41, 0x79, 0x25b, 0x77, 0x6f, 0x68, 0x6f, 0x2d,
+0x4b, 0x69, 0x74, 0x61, 0x77, 0x6f, 0x6e, 0x73, 0x61, 0x3b, 0x44, 0x69, 0x66, 0x75, 0x75, 0x2d, 0x186, 0x73, 0x61, 0x6e,
+0x64, 0x61, 0x61, 0x3b, 0x46, 0x61, 0x6e, 0x6b, 0x77, 0x61, 0x2d, 0x190, 0x62, 0x254, 0x3b, 0x186, 0x62, 0x25b, 0x73, 0x25b,
+0x2d, 0x41, 0x68, 0x69, 0x6e, 0x69, 0x6d, 0x65, 0x3b, 0x186, 0x62, 0x65, 0x72, 0x25b, 0x66, 0x25b, 0x77, 0x2d, 0x4f, 0x62,
+0x75, 0x62, 0x75, 0x6f, 0x3b, 0x4d, 0x75, 0x6d, 0x75, 0x2d, 0x186, 0x70, 0x25b, 0x6e, 0x69, 0x6d, 0x62, 0x61, 0x3b, 0x91c,
+0x93e, 0x928, 0x947, 0x935, 0x93e, 0x930, 0x940, 0x3b, 0x92b, 0x947, 0x92c, 0x94d, 0x930, 0x941, 0x935, 0x93e, 0x930, 0x940, 0x3b, 0x92e,
+0x93e, 0x930, 0x94d, 0x91a, 0x3b, 0x90f, 0x92a, 0x94d, 0x930, 0x93f, 0x932, 0x3b, 0x92e, 0x947, 0x3b, 0x91c, 0x942, 0x928, 0x3b, 0x91c,
+0x941, 0x932, 0x948, 0x3b, 0x913, 0x917, 0x938, 0x94d, 0x91f, 0x3b, 0x938, 0x947, 0x92a, 0x94d, 0x91f, 0x947, 0x902, 0x92c, 0x930, 0x3b,
+0x913, 0x915, 0x94d, 0x91f, 0x94b, 0x92c, 0x930, 0x3b, 0x928, 0x94b, 0x935, 0x94d, 0x939, 0x947, 0x902, 0x92c, 0x930, 0x3b, 0x921, 0x93f,
+0x938, 0x947, 0x902, 0x92c, 0x930, 0x3b, 0x41, 0x68, 0x61, 0x3b, 0x4f, 0x66, 0x6c, 0x3b, 0x4f, 0x63, 0x68, 0x3b, 0x41, 0x62,
+0x65, 0x3b, 0x41, 0x67, 0x62, 0x3b, 0x4f, 0x74, 0x75, 0x3b, 0x4d, 0x61, 0x61, 0x3b, 0x4d, 0x61, 0x6e, 0x3b, 0x47, 0x62,
+0x6f, 0x3b, 0x41, 0x6e, 0x74, 0x3b, 0x41, 0x6c, 0x65, 0x3b, 0x41, 0x66, 0x75, 0x3b, 0x41, 0x68, 0x61, 0x72, 0x61, 0x62,
+0x61, 0x74, 0x61, 0x3b, 0x4f, 0x66, 0x6c, 0x6f, 0x3b, 0x4f, 0x63, 0x68, 0x6f, 0x6b, 0x72, 0x69, 0x6b, 0x72, 0x69, 0x3b,
+0x41, 0x62, 0x65, 0x69, 0x62, 0x65, 0x65, 0x3b, 0x41, 0x67, 0x62, 0x65, 0x69, 0x6e, 0x61, 0x61, 0x3b, 0x4f, 0x74, 0x75,
+0x6b, 0x77, 0x61, 0x64, 0x61, 0x6e, 0x3b, 0x4d, 0x61, 0x61, 0x77, 0x65, 0x3b, 0x4d, 0x61, 0x6e, 0x79, 0x61, 0x77, 0x61,
+0x6c, 0x65, 0x3b, 0x47, 0x62, 0x6f, 0x3b, 0x41, 0x6e, 0x74, 0x6f, 0x6e, 0x3b, 0x41, 0x6c, 0x65, 0x6d, 0x6c, 0x65, 0x3b,
+0x41, 0x66, 0x75, 0x61, 0x62, 0x65, 0x65, 0x3b, 0x4a, 0x65, 0x6e, 0x3b, 0x46, 0x65, 0x62, 0x3b, 0x4d, 0x61, 0x61, 0x3b,
+0x45, 0x70, 0x72, 0x3b, 0x4d, 0x65, 0x65, 0x3b, 0x4a, 0x75, 0x75, 0x3b, 0x4a, 0x75, 0x6c, 0x3b, 0x1ecc, 0x67, 0x1ecd, 0x3b,
+0x53, 0x65, 0x70, 0x3b, 0x1ecc, 0x6b, 0x74, 0x3b, 0x4e, 0x6f, 0x76, 0x3b, 0x44, 0x69, 0x73, 0x3b, 0x4a, 0x65, 0x6e, 0x1ee5,
+0x77, 0x61, 0x72, 0x1ecb, 0x3b, 0x46, 0x65, 0x62, 0x72, 0x1ee5, 0x77, 0x61, 0x72, 0x1ecb, 0x3b, 0x4d, 0x61, 0x61, 0x63, 0x68,
+0x1ecb, 0x3b, 0x45, 0x70, 0x72, 0x65, 0x6c, 0x3b, 0x4d, 0x65, 0x65, 0x3b, 0x4a, 0x75, 0x75, 0x6e, 0x3b, 0x4a, 0x75, 0x6c,
+0x61, 0x1ecb, 0x3b, 0x1ecc, 0x67, 0x1ecd, 0x1ecd, 0x73, 0x74, 0x3b, 0x53, 0x65, 0x70, 0x74, 0x65, 0x6d, 0x62, 0x61, 0x3b, 0x1ecc,
+0x6b, 0x74, 0x6f, 0x62, 0x61, 0x3b, 0x4e, 0x6f, 0x76, 0x65, 0x6d, 0x62, 0x61, 0x3b, 0x44, 0x69, 0x73, 0x65, 0x6d, 0x62,
+0x61, 0x3b, 0x4d, 0x62, 0x65, 0x3b, 0x4b, 0x65, 0x6c, 0x3b, 0x4b, 0x74, 0x169, 0x3b, 0x4b, 0x61, 0x6e, 0x3b, 0x4b, 0x74,
+0x6e, 0x3b, 0x54, 0x68, 0x61, 0x3b, 0x4d, 0x6f, 0x6f, 0x3b, 0x4e, 0x79, 0x61, 0x3b, 0x4b, 0x6e, 0x64, 0x3b, 0x128, 0x6b,
+0x75, 0x3b, 0x128, 0x6b, 0x6d, 0x3b, 0x128, 0x6b, 0x6c, 0x3b, 0x4d, 0x77, 0x61, 0x69, 0x20, 0x77, 0x61, 0x20, 0x6d, 0x62,
+0x65, 0x65, 0x3b, 0x4d, 0x77, 0x61, 0x69, 0x20, 0x77, 0x61, 0x20, 0x6b, 0x65, 0x6c, 0x129, 0x3b, 0x4d, 0x77, 0x61, 0x69,
+0x20, 0x77, 0x61, 0x20, 0x6b, 0x61, 0x74, 0x61, 0x74, 0x169, 0x3b, 0x4d, 0x77, 0x61, 0x69, 0x20, 0x77, 0x61, 0x20, 0x6b,
+0x61, 0x6e, 0x61, 0x3b, 0x4d, 0x77, 0x61, 0x69, 0x20, 0x77, 0x61, 0x20, 0x6b, 0x61, 0x74, 0x61, 0x6e, 0x6f, 0x3b, 0x4d,
+0x77, 0x61, 0x69, 0x20, 0x77, 0x61, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x74, 0x68, 0x61, 0x74, 0x169, 0x3b, 0x4d, 0x77, 0x61,
+0x69, 0x20, 0x77, 0x61, 0x20, 0x6d, 0x75, 0x6f, 0x6e, 0x7a, 0x61, 0x3b, 0x4d, 0x77, 0x61, 0x69, 0x20, 0x77, 0x61, 0x20,
+0x6e, 0x79, 0x61, 0x61, 0x6e, 0x79, 0x61, 0x3b, 0x4d, 0x77, 0x61, 0x69, 0x20, 0x77, 0x61, 0x20, 0x6b, 0x65, 0x6e, 0x64,
+0x61, 0x3b, 0x4d, 0x77, 0x61, 0x69, 0x20, 0x77, 0x61, 0x20, 0x129, 0x6b, 0x75, 0x6d, 0x69, 0x3b, 0x4d, 0x77, 0x61, 0x69,
+0x20, 0x77, 0x61, 0x20, 0x129, 0x6b, 0x75, 0x6d, 0x69, 0x20, 0x6e, 0x61, 0x20, 0x129, 0x6d, 0x77, 0x65, 0x3b, 0x4d, 0x77,
+0x61, 0x69, 0x20, 0x77, 0x61, 0x20, 0x129, 0x6b, 0x75, 0x6d, 0x69, 0x20, 0x6e, 0x61, 0x20, 0x69, 0x6c, 0x129, 0x3b, 0x4d,
+0x3b, 0x4b, 0x3b, 0x4b, 0x3b, 0x4b, 0x3b, 0x4b, 0x3b, 0x54, 0x3b, 0x4d, 0x3b, 0x4e, 0x3b, 0x4b, 0x3b, 0x128, 0x3b, 0x128,
+0x3b, 0x128, 0x3b, 0x70f, 0x71f, 0x722, 0x20, 0x70f, 0x712, 0x3b, 0x72b, 0x712, 0x71b, 0x3b, 0x710, 0x715, 0x72a, 0x3b, 0x722, 0x71d,
+0x723, 0x722, 0x3b, 0x710, 0x71d, 0x72a, 0x3b, 0x71a, 0x719, 0x71d, 0x72a, 0x722, 0x3b, 0x72c, 0x721, 0x718, 0x719, 0x3b, 0x710, 0x712,
+0x3b, 0x710, 0x71d, 0x720, 0x718, 0x720, 0x3b, 0x70f, 0x72c, 0x72b, 0x20, 0x70f, 0x710, 0x3b, 0x70f, 0x72c, 0x72b, 0x20, 0x70f, 0x712,
+0x3b, 0x70f, 0x71f, 0x722, 0x20, 0x70f, 0x710, 0x3b, 0x120d, 0x12f0, 0x1275, 0x3b, 0x12ab, 0x1265, 0x12bd, 0x3b, 0x12ad, 0x1265, 0x120b, 0x3b,
+0x134b, 0x1305, 0x12ba, 0x3b, 0x12ad, 0x1262, 0x1245, 0x3b, 0x121d, 0x2f, 0x1275, 0x3b, 0x12b0, 0x122d, 0x3b, 0x121b, 0x122d, 0x12eb, 0x3b, 0x12eb,
+0x12b8, 0x1292, 0x3b, 0x1218, 0x1270, 0x1209, 0x3b, 0x121d, 0x2f, 0x121d, 0x3b, 0x1270, 0x1215, 0x1233, 0x3b, 0x120d, 0x12f0, 0x1275, 0x122a, 0x3b,
+0x12ab, 0x1265, 0x12bd, 0x1265, 0x1272, 0x3b, 0x12ad, 0x1265, 0x120b, 0x3b, 0x134b, 0x1305, 0x12ba, 0x122a, 0x3b, 0x12ad, 0x1262, 0x1245, 0x122a, 0x3b,
+0x121d, 0x12aa, 0x12a4, 0x120d, 0x20, 0x1275, 0x131f, 0x1292, 0x122a, 0x3b, 0x12b0, 0x122d, 0x12a9, 0x3b, 0x121b, 0x122d, 0x12eb, 0x121d, 0x20, 0x1275,
+0x122a, 0x3b, 0x12eb, 0x12b8, 0x1292, 0x20, 0x1218, 0x1233, 0x1245, 0x1208, 0x122a, 0x3b, 0x1218, 0x1270, 0x1209, 0x3b, 0x121d, 0x12aa, 0x12a4, 0x120d,
+0x20, 0x1218, 0x123d, 0x12c8, 0x122a, 0x3b, 0x1270, 0x1215, 0x1233, 0x1235, 0x122a, 0x3b, 0x120d, 0x3b, 0x12ab, 0x3b, 0x12ad, 0x3b, 0x134b, 0x3b,
+0x12ad, 0x3b, 0x121d, 0x3b, 0x12b0, 0x3b, 0x121b, 0x3b, 0x12eb, 0x3b, 0x1218, 0x3b, 0x121d, 0x3b, 0x1270, 0x3b, 0x1320, 0x1210, 0x1228, 0x3b,
+0x12a8, 0x1270, 0x1270, 0x3b, 0x1218, 0x1308, 0x1260, 0x3b, 0x12a0, 0x1280, 0x12d8, 0x3b, 0x130d, 0x1295, 0x1263, 0x1275, 0x3b, 0x1220, 0x1295, 0x12e8,
+0x3b, 0x1210, 0x1218, 0x1208, 0x3b, 0x1290, 0x1210, 0x1230, 0x3b, 0x12a8, 0x1228, 0x1218, 0x3b, 0x1320, 0x1240, 0x1218, 0x3b, 0x1280, 0x12f0, 0x1228,
+0x3b, 0x1280, 0x1220, 0x1220, 0x3b, 0x1320, 0x3b, 0x12a8, 0x3b, 0x1218, 0x3b, 0x12a0, 0x3b, 0x130d, 0x3b, 0x1220, 0x3b, 0x1210, 0x3b, 0x1290,
+0x3b, 0x12a8, 0x3b, 0x1320, 0x3b, 0x1280, 0x3b, 0x1280, 0x3b, 0x57, 0x65, 0x79, 0x3b, 0x46, 0x61, 0x6e, 0x3b, 0x54, 0x61, 0x74,
+0x3b, 0x4e, 0x61, 0x6e, 0x3b, 0x54, 0x75, 0x79, 0x3b, 0x54, 0x73, 0x6f, 0x3b, 0x54, 0x61, 0x66, 0x3b, 0x57, 0x61, 0x72,
+0x3b, 0x4b, 0x75, 0x6e, 0x3b, 0x42, 0x61, 0x6e, 0x3b, 0x4b, 0x6f, 0x6d, 0x3b, 0x53, 0x61, 0x75, 0x3b, 0x46, 0x61, 0x69,
+0x20, 0x57, 0x65, 0x79, 0x65, 0x6e, 0x65, 0x3b, 0x46, 0x61, 0x69, 0x20, 0x46, 0x61, 0x6e, 0x69, 0x3b, 0x46, 0x61, 0x69,
+0x20, 0x54, 0x61, 0x74, 0x61, 0x6b, 0x61, 0x3b, 0x46, 0x61, 0x69, 0x20, 0x4e, 0x61, 0x6e, 0x67, 0x72, 0x61, 0x3b, 0x46,
+0x61, 0x69, 0x20, 0x54, 0x75, 0x79, 0x6f, 0x3b, 0x46, 0x61, 0x69, 0x20, 0x54, 0x73, 0x6f, 0x79, 0x69, 0x3b, 0x46, 0x61,
+0x69, 0x20, 0x54, 0x61, 0x66, 0x61, 0x6b, 0x61, 0x3b, 0x46, 0x61, 0x69, 0x20, 0x57, 0x61, 0x72, 0x61, 0x63, 0x68, 0x69,
+0x3b, 0x46, 0x61, 0x69, 0x20, 0x4b, 0x75, 0x6e, 0x6f, 0x62, 0x6f, 0x6b, 0x3b, 0x46, 0x61, 0x69, 0x20, 0x42, 0x61, 0x6e,
+0x73, 0x6f, 0x6b, 0x3b, 0x46, 0x61, 0x69, 0x20, 0x4b, 0x6f, 0x6d, 0x3b, 0x46, 0x61, 0x69, 0x20, 0x53, 0x61, 0x75, 0x6b,
+0x3b, 0x44, 0x79, 0x6f, 0x6e, 0x3b, 0x42, 0x61, 0x61, 0x3b, 0x41, 0x74, 0x61, 0x74, 0x3b, 0x41, 0x6e, 0x61, 0x73, 0x3b,
+0x41, 0x74, 0x79, 0x6f, 0x3b, 0x41, 0x63, 0x68, 0x69, 0x3b, 0x41, 0x74, 0x61, 0x72, 0x3b, 0x41, 0x77, 0x75, 0x72, 0x3b,
+0x53, 0x68, 0x61, 0x64, 0x3b, 0x53, 0x68, 0x61, 0x6b, 0x3b, 0x4e, 0x61, 0x62, 0x61, 0x3b, 0x4e, 0x61, 0x74, 0x61, 0x3b,
+0x50, 0x65, 0x6e, 0x20, 0x44, 0x79, 0x6f, 0x6e, 0x3b, 0x50, 0x65, 0x6e, 0x20, 0x42, 0x61, 0x27, 0x61, 0x3b, 0x50, 0x65,
+0x6e, 0x20, 0x41, 0x74, 0x61, 0x74, 0x3b, 0x50, 0x65, 0x6e, 0x20, 0x41, 0x6e, 0x61, 0x73, 0x3b, 0x50, 0x65, 0x6e, 0x20,
+0x41, 0x74, 0x79, 0x6f, 0x6e, 0x3b, 0x50, 0x65, 0x6e, 0x20, 0x41, 0x63, 0x68, 0x69, 0x72, 0x69, 0x6d, 0x3b, 0x50, 0x65,
+0x6e, 0x20, 0x41, 0x74, 0x61, 0x72, 0x69, 0x62, 0x61, 0x3b, 0x50, 0x65, 0x6e, 0x20, 0x41, 0x77, 0x75, 0x72, 0x72, 0x3b,
+0x50, 0x65, 0x6e, 0x20, 0x53, 0x68, 0x61, 0x64, 0x6f, 0x6e, 0x3b, 0x50, 0x65, 0x6e, 0x20, 0x53, 0x68, 0x61, 0x6b, 0x75,
+0x72, 0x3b, 0x50, 0x65, 0x6e, 0x20, 0x4b, 0x75, 0x72, 0x20, 0x4e, 0x61, 0x62, 0x61, 0x3b, 0x50, 0x65, 0x6e, 0x20, 0x4b,
+0x75, 0x72, 0x20, 0x4e, 0x61, 0x74, 0x61, 0x74, 0x3b, 0x41, 0x331, 0x79, 0x72, 0x3b, 0x41, 0x331, 0x68, 0x77, 0x3b, 0x41,
+0x331, 0x74, 0x61, 0x3b, 0x41, 0x331, 0x6e, 0x61, 0x3b, 0x41, 0x331, 0x70, 0x66, 0x3b, 0x41, 0x331, 0x6b, 0x69, 0x3b, 0x41,
+0x331, 0x74, 0x79, 0x3b, 0x41, 0x331, 0x6e, 0x69, 0x3b, 0x41, 0x331, 0x6b, 0x75, 0x3b, 0x53, 0x77, 0x61, 0x3b, 0x53, 0x62,
+0x79, 0x3b, 0x53, 0x62, 0x68, 0x3b, 0x48, 0x79, 0x77, 0x61, 0x6e, 0x20, 0x41, 0x331, 0x79, 0x72, 0x6e, 0x69, 0x67, 0x3b,
+0x48, 0x79, 0x77, 0x61, 0x6e, 0x20, 0x41, 0x331, 0x68, 0x77, 0x61, 0x3b, 0x48, 0x79, 0x77, 0x61, 0x6e, 0x20, 0x41, 0x331,
+0x74, 0x61, 0x74, 0x3b, 0x48, 0x79, 0x77, 0x61, 0x6e, 0x20, 0x41, 0x331, 0x6e, 0x61, 0x61, 0x69, 0x3b, 0x48, 0x79, 0x77,
+0x61, 0x6e, 0x20, 0x41, 0x331, 0x70, 0x66, 0x77, 0x6f, 0x6e, 0x3b, 0x48, 0x79, 0x77, 0x61, 0x6e, 0x20, 0x41, 0x331, 0x6b,
+0x69, 0x74, 0x61, 0x74, 0x3b, 0x48, 0x79, 0x77, 0x61, 0x6e, 0x20, 0x41, 0x331, 0x74, 0x79, 0x69, 0x72, 0x69, 0x6e, 0x3b,
+0x48, 0x79, 0x77, 0x61, 0x6e, 0x20, 0x41, 0x331, 0x6e, 0x69, 0x6e, 0x61, 0x69, 0x3b, 0x48, 0x79, 0x77, 0x61, 0x6e, 0x20,
+0x41, 0x331, 0x6b, 0x75, 0x6d, 0x76, 0x69, 0x72, 0x69, 0x79, 0x69, 0x6e, 0x3b, 0x48, 0x79, 0x77, 0x61, 0x6e, 0x20, 0x53,
+0x77, 0x61, 0x6b, 0x3b, 0x48, 0x79, 0x77, 0x61, 0x6e, 0x20, 0x53, 0x77, 0x61, 0x6b, 0x20, 0x42, 0x27, 0x61, 0x331, 0x79,
+0x72, 0x6e, 0x69, 0x67, 0x3b, 0x48, 0x79, 0x77, 0x61, 0x6e, 0x20, 0x53, 0x77, 0x61, 0x6b, 0x20, 0x42, 0x27, 0x61, 0x331,
+0x68, 0x77, 0x61, 0x3b, 0x5a, 0x65, 0x6e, 0x3b, 0x46, 0x65, 0x76, 0x3b, 0x4d, 0x61, 0x72, 0x3b, 0x41, 0x76, 0x72, 0x3b,
+0x4d, 0x61, 0x69, 0x3b, 0x4a, 0x75, 0x67, 0x3b, 0x4c, 0x75, 0x69, 0x3b, 0x41, 0x76, 0x6f, 0x3b, 0x53, 0x65, 0x74, 0x3b,
+0x4f, 0x74, 0x75, 0x3b, 0x4e, 0x6f, 0x76, 0x3b, 0x44, 0x69, 0x63, 0x3b, 0x5a, 0x65, 0x6e, 0xe2, 0x72, 0x3b, 0x46, 0x65,
+0x76, 0x72, 0xe2, 0x72, 0x3b, 0x4d, 0x61, 0x72, 0xe7, 0x3b, 0x41, 0x76, 0x72, 0xee, 0x6c, 0x3b, 0x4d, 0x61, 0x69, 0x3b,
+0x4a, 0x75, 0x67, 0x6e, 0x3b, 0x4c, 0x75, 0x69, 0x3b, 0x41, 0x76, 0x6f, 0x73, 0x74, 0x3b, 0x53, 0x65, 0x74, 0x65, 0x6d,
+0x62, 0x61, 0x72, 0x3b, 0x4f, 0x74, 0x75, 0x62, 0x61, 0x72, 0x3b, 0x4e, 0x6f, 0x76, 0x65, 0x6d, 0x62, 0x61, 0x72, 0x3b,
+0x44, 0x69, 0x63, 0x65, 0x6d, 0x62, 0x61, 0x72, 0x3b, 0x5a, 0x3b, 0x46, 0x3b, 0x4d, 0x3b, 0x41, 0x3b, 0x4d, 0x3b, 0x4a,
+0x3b, 0x4c, 0x3b, 0x41, 0x3b, 0x53, 0x3b, 0x4f, 0x3b, 0x4e, 0x3b, 0x44, 0x3b, 0x50, 0x68, 0x61, 0x3b, 0x4c, 0x75, 0x68,
+0x3b, 0x1e70, 0x68, 0x61, 0x3b, 0x4c, 0x61, 0x6d, 0x3b, 0x53, 0x68, 0x75, 0x3b, 0x4c, 0x77, 0x69, 0x3b, 0x4c, 0x77, 0x61,
+0x3b, 0x1e70, 0x68, 0x61, 0x3b, 0x4b, 0x68, 0x75, 0x3b, 0x54, 0x73, 0x68, 0x3b, 0x1e3c, 0x61, 0x72, 0x3b, 0x4e, 0x79, 0x65,
+0x3b, 0x50, 0x68, 0x61, 0x6e, 0x64, 0x6f, 0x3b, 0x4c, 0x75, 0x68, 0x75, 0x68, 0x69, 0x3b, 0x1e70, 0x68, 0x61, 0x66, 0x61,
+0x6d, 0x75, 0x68, 0x77, 0x65, 0x3b, 0x4c, 0x61, 0x6d, 0x62, 0x61, 0x6d, 0x61, 0x69, 0x3b, 0x53, 0x68, 0x75, 0x6e, 0x64,
+0x75, 0x6e, 0x74, 0x68, 0x75, 0x6c, 0x65, 0x3b, 0x46, 0x75, 0x6c, 0x77, 0x69, 0x3b, 0x46, 0x75, 0x6c, 0x77, 0x61, 0x6e,
+0x61, 0x3b, 0x1e70, 0x68, 0x61, 0x6e, 0x67, 0x75, 0x6c, 0x65, 0x3b, 0x4b, 0x68, 0x75, 0x62, 0x76, 0x75, 0x6d, 0x65, 0x64,
+0x7a, 0x69, 0x3b, 0x54, 0x73, 0x68, 0x69, 0x6d, 0x65, 0x64, 0x7a, 0x69, 0x3b, 0x1e3c, 0x61, 0x72, 0x61, 0x3b, 0x4e, 0x79,
+0x65, 0x6e, 0x64, 0x61, 0x76, 0x68, 0x75, 0x73, 0x69, 0x6b, 0x75, 0x3b, 0x44, 0x7a, 0x76, 0x3b, 0x44, 0x7a, 0x64, 0x3b,
+0x54, 0x65, 0x64, 0x3b, 0x41, 0x66, 0x254, 0x3b, 0x44, 0x61, 0x6d, 0x3b, 0x4d, 0x61, 0x73, 0x3b, 0x53, 0x69, 0x61, 0x3b,
+0x44, 0x65, 0x61, 0x3b, 0x41, 0x6e, 0x79, 0x3b, 0x4b, 0x65, 0x6c, 0x3b, 0x41, 0x64, 0x65, 0x3b, 0x44, 0x7a, 0x6d, 0x3b,
+0x44, 0x7a, 0x6f, 0x76, 0x65, 0x3b, 0x44, 0x7a, 0x6f, 0x64, 0x7a, 0x65, 0x3b, 0x54, 0x65, 0x64, 0x6f, 0x78, 0x65, 0x3b,
+0x41, 0x66, 0x254, 0x66, 0x69, 0x25b, 0x3b, 0x44, 0x61, 0x6d, 0x61, 0x3b, 0x4d, 0x61, 0x73, 0x61, 0x3b, 0x53, 0x69, 0x61,
+0x6d, 0x6c, 0x254, 0x6d, 0x3b, 0x44, 0x65, 0x61, 0x73, 0x69, 0x61, 0x6d, 0x69, 0x6d, 0x65, 0x3b, 0x41, 0x6e, 0x79, 0x254,
+0x6e, 0x79, 0x254, 0x3b, 0x4b, 0x65, 0x6c, 0x65, 0x3b, 0x41, 0x64, 0x65, 0x25b, 0x6d, 0x65, 0x6b, 0x70, 0x254, 0x78, 0x65,
+0x3b, 0x44, 0x7a, 0x6f, 0x6d, 0x65, 0x3b, 0x44, 0x3b, 0x44, 0x3b, 0x54, 0x3b, 0x41, 0x3b, 0x44, 0x3b, 0x4d, 0x3b, 0x53,
+0x3b, 0x44, 0x3b, 0x41, 0x3b, 0x4b, 0x3b, 0x41, 0x3b, 0x44, 0x3b, 0x49, 0x61, 0x6e, 0x2e, 0x3b, 0x50, 0x65, 0x70, 0x2e,
+0x3b, 0x4d, 0x61, 0x6c, 0x2e, 0x3b, 0x2bb, 0x41, 0x70, 0x2e, 0x3b, 0x4d, 0x65, 0x69, 0x3b, 0x49, 0x75, 0x6e, 0x2e, 0x3b,
+0x49, 0x75, 0x6c, 0x2e, 0x3b, 0x2bb, 0x41, 0x75, 0x2e, 0x3b, 0x4b, 0x65, 0x70, 0x2e, 0x3b, 0x2bb, 0x4f, 0x6b, 0x2e, 0x3b,
+0x4e, 0x6f, 0x77, 0x2e, 0x3b, 0x4b, 0x65, 0x6b, 0x2e, 0x3b, 0x49, 0x61, 0x6e, 0x75, 0x61, 0x6c, 0x69, 0x3b, 0x50, 0x65,
+0x70, 0x65, 0x6c, 0x75, 0x61, 0x6c, 0x69, 0x3b, 0x4d, 0x61, 0x6c, 0x61, 0x6b, 0x69, 0x3b, 0x2bb, 0x41, 0x70, 0x65, 0x6c,
+0x69, 0x6c, 0x61, 0x3b, 0x4d, 0x65, 0x69, 0x3b, 0x49, 0x75, 0x6e, 0x65, 0x3b, 0x49, 0x75, 0x6c, 0x61, 0x69, 0x3b, 0x2bb,
+0x41, 0x75, 0x6b, 0x61, 0x6b, 0x65, 0x3b, 0x4b, 0x65, 0x70, 0x61, 0x6b, 0x65, 0x6d, 0x61, 0x70, 0x61, 0x3b, 0x2bb, 0x4f,
+0x6b, 0x61, 0x6b, 0x6f, 0x70, 0x61, 0x3b, 0x4e, 0x6f, 0x77, 0x65, 0x6d, 0x61, 0x70, 0x61, 0x3b, 0x4b, 0x65, 0x6b, 0x65,
+0x6d, 0x61, 0x70, 0x61, 0x3b, 0x4a, 0x75, 0x77, 0x3b, 0x53, 0x77, 0x69, 0x3b, 0x54, 0x73, 0x61, 0x3b, 0x4e, 0x79, 0x61,
+0x3b, 0x54, 0x73, 0x77, 0x3b, 0x41, 0x74, 0x61, 0x3b, 0x41, 0x6e, 0x61, 0x3b, 0x41, 0x72, 0x69, 0x3b, 0x41, 0x6b, 0x75,
+0x3b, 0x53, 0x77, 0x61, 0x3b, 0x4d, 0x61, 0x6e, 0x3b, 0x4d, 0x61, 0x73, 0x3b, 0x5a, 0x77, 0x61, 0x74, 0x20, 0x4a, 0x75,
+0x77, 0x75, 0x6e, 0x67, 0x3b, 0x5a, 0x77, 0x61, 0x74, 0x20, 0x53, 0x77, 0x69, 0x79, 0x61, 0x6e, 0x67, 0x3b, 0x5a, 0x77,
+0x61, 0x74, 0x20, 0x54, 0x73, 0x61, 0x74, 0x3b, 0x5a, 0x77, 0x61, 0x74, 0x20, 0x4e, 0x79, 0x61, 0x69, 0x3b, 0x5a, 0x77,
+0x61, 0x74, 0x20, 0x54, 0x73, 0x77, 0x6f, 0x6e, 0x3b, 0x5a, 0x77, 0x61, 0x74, 0x20, 0x41, 0x74, 0x61, 0x61, 0x68, 0x3b,
+0x5a, 0x77, 0x61, 0x74, 0x20, 0x41, 0x6e, 0x61, 0x74, 0x61, 0x74, 0x3b, 0x5a, 0x77, 0x61, 0x74, 0x20, 0x41, 0x72, 0x69,
+0x6e, 0x61, 0x69, 0x3b, 0x5a, 0x77, 0x61, 0x74, 0x20, 0x41, 0x6b, 0x75, 0x62, 0x75, 0x6e, 0x79, 0x75, 0x6e, 0x67, 0x3b,
+0x5a, 0x77, 0x61, 0x74, 0x20, 0x53, 0x77, 0x61, 0x67, 0x3b, 0x5a, 0x77, 0x61, 0x74, 0x20, 0x4d, 0x61, 0x6e, 0x67, 0x6a,
+0x75, 0x77, 0x61, 0x6e, 0x67, 0x3b, 0x5a, 0x77, 0x61, 0x74, 0x20, 0x53, 0x77, 0x61, 0x67, 0x2d, 0x4d, 0x61, 0x2d, 0x53,
+0x75, 0x79, 0x61, 0x6e, 0x67, 0x3b, 0x4a, 0x61, 0x6e, 0x3b, 0x46, 0x65, 0x62, 0x3b, 0x4d, 0x61, 0x6c, 0x3b, 0x45, 0x70,
+0x75, 0x3b, 0x4d, 0x65, 0x69, 0x3b, 0x4a, 0x75, 0x6e, 0x3b, 0x4a, 0x75, 0x6c, 0x3b, 0x4f, 0x67, 0x61, 0x3b, 0x53, 0x65,
+0x70, 0x3b, 0x4f, 0x6b, 0x75, 0x3b, 0x4e, 0x6f, 0x76, 0x3b, 0x44, 0x69, 0x73, 0x3b, 0x4a, 0x61, 0x6e, 0x75, 0x77, 0x61,
+0x6c, 0x65, 0x3b, 0x46, 0x65, 0x62, 0x75, 0x6c, 0x75, 0x77, 0x61, 0x6c, 0x65, 0x3b, 0x4d, 0x61, 0x6c, 0x69, 0x63, 0x68,
+0x69, 0x3b, 0x45, 0x70, 0x75, 0x6c, 0x6f, 0x3b, 0x4d, 0x65, 0x69, 0x3b, 0x4a, 0x75, 0x6e, 0x69, 0x3b, 0x4a, 0x75, 0x6c,
+0x61, 0x69, 0x3b, 0x4f, 0x67, 0x61, 0x73, 0x69, 0x74, 0x69, 0x3b, 0x53, 0x65, 0x70, 0x75, 0x74, 0x65, 0x6d, 0x62, 0x61,
+0x3b, 0x4f, 0x6b, 0x75, 0x74, 0x6f, 0x62, 0x61, 0x3b, 0x4e, 0x6f, 0x76, 0x65, 0x6d, 0x62, 0x61, 0x3b, 0x44, 0x69, 0x73,
+0x65, 0x6d, 0x62, 0x61, 0x3b, 0x45, 0x6e, 0x65, 0x3b, 0x50, 0x65, 0x62, 0x3b, 0x4d, 0x61, 0x72, 0x3b, 0x41, 0x62, 0x72,
+0x3b, 0x4d, 0x61, 0x79, 0x3b, 0x48, 0x75, 0x6e, 0x3b, 0x48, 0x75, 0x6c, 0x3b, 0x41, 0x67, 0x6f, 0x3b, 0x53, 0x65, 0x74,
+0x3b, 0x4f, 0x6b, 0x74, 0x3b, 0x4e, 0x6f, 0x62, 0x3b, 0x44, 0x69, 0x73, 0x3b, 0x45, 0x6e, 0x65, 0x72, 0x6f, 0x3b, 0x50,
+0x65, 0x62, 0x72, 0x65, 0x72, 0x6f, 0x3b, 0x4d, 0x61, 0x72, 0x73, 0x6f, 0x3b, 0x41, 0x62, 0x72, 0x69, 0x6c, 0x3b, 0x4d,
+0x61, 0x79, 0x6f, 0x3b, 0x48, 0x75, 0x6e, 0x79, 0x6f, 0x3b, 0x48, 0x75, 0x6c, 0x79, 0x6f, 0x3b, 0x41, 0x67, 0x6f, 0x73,
+0x74, 0x6f, 0x3b, 0x53, 0x65, 0x74, 0x79, 0x65, 0x6d, 0x62, 0x72, 0x65, 0x3b, 0x4f, 0x6b, 0x74, 0x75, 0x62, 0x72, 0x65,
+0x3b, 0x4e, 0x6f, 0x62, 0x79, 0x65, 0x6d, 0x62, 0x72, 0x65, 0x3b, 0x44, 0x69, 0x73, 0x79, 0x65, 0x6d, 0x62, 0x72, 0x65,
+0x3b, 0x45, 0x3b, 0x50, 0x3b, 0x4d, 0x3b, 0x41, 0x3b, 0x4d, 0x3b, 0x48, 0x3b, 0x48, 0x3b, 0x41, 0x3b, 0x53, 0x3b, 0x4f,
+0x3b, 0x4e, 0x3b, 0x44, 0x3b, 0x4a, 0x61, 0x6e, 0x3b, 0x46, 0x65, 0x62, 0x3b, 0x4d, 0xe4, 0x72, 0x3b, 0x41, 0x70, 0x72,
+0x3b, 0x4d, 0x61, 0x69, 0x3b, 0x4a, 0x75, 0x6e, 0x3b, 0x4a, 0x75, 0x6c, 0x3b, 0x41, 0x75, 0x67, 0x3b, 0x53, 0x65, 0x70,
+0x3b, 0x4f, 0x6b, 0x74, 0x3b, 0x4e, 0x6f, 0x76, 0x3b, 0x44, 0x65, 0x7a, 0x3b, 0x4a, 0x61, 0x6e, 0x75, 0x61, 0x72, 0x3b,
+0x46, 0x65, 0x62, 0x72, 0x75, 0x61, 0x72, 0x3b, 0x4d, 0xe4, 0x72, 0x7a, 0x3b, 0x41, 0x70, 0x72, 0x69, 0x6c, 0x3b, 0x4d,
+0x61, 0x69, 0x3b, 0x4a, 0x75, 0x6e, 0x69, 0x3b, 0x4a, 0x75, 0x6c, 0x69, 0x3b, 0x41, 0x75, 0x67, 0x75, 0x73, 0x63, 0x68,
+0x74, 0x3b, 0x53, 0x65, 0x70, 0x74, 0xe4, 0x6d, 0x62, 0x65, 0x72, 0x3b, 0x4f, 0x6b, 0x74, 0x6f, 0x6f, 0x62, 0x65, 0x72,
+0x3b, 0x4e, 0x6f, 0x76, 0xe4, 0x6d, 0x62, 0x65, 0x72, 0x3b, 0x44, 0x65, 0x7a, 0xe4, 0x6d, 0x62, 0x65, 0x72, 0x3b, 0xa2cd,
+0xa1aa, 0x3b, 0xa44d, 0xa1aa, 0x3b, 0xa315, 0xa1aa, 0x3b, 0xa1d6, 0xa1aa, 0x3b, 0xa26c, 0xa1aa, 0x3b, 0xa0d8, 0xa1aa, 0x3b, 0xa3c3, 0xa1aa, 0x3b,
+0xa246, 0xa1aa, 0x3b, 0xa22c, 0xa1aa, 0x3b, 0xa2b0, 0xa1aa, 0x3b, 0xa2b0, 0xa2aa, 0xa1aa, 0x3b, 0xa2b0, 0xa44b, 0xa1aa, 0x3b, 0x4a, 0x61, 0x6e,
+0x3b, 0x46, 0x65, 0x62, 0x3b, 0x4d, 0x61, 0x74, 0x3b, 0x41, 0x70, 0x72, 0x3b, 0x4d, 0x65, 0x79, 0x3b, 0x4a, 0x75, 0x6e,
+0x3b, 0x4a, 0x75, 0x6c, 0x3b, 0x41, 0x72, 0x68, 0x3b, 0x53, 0x65, 0x70, 0x3b, 0x4f, 0x6b, 0x74, 0x3b, 0x55, 0x73, 0x69,
+0x3b, 0x44, 0x69, 0x73, 0x3b, 0x4a, 0x61, 0x6e, 0x61, 0x62, 0x61, 0x72, 0x69, 0x3b, 0x75, 0x46, 0x65, 0x62, 0x65, 0x72,
+0x62, 0x61, 0x72, 0x69, 0x3b, 0x75, 0x4d, 0x61, 0x74, 0x6a, 0x68, 0x69, 0x3b, 0x75, 0x2d, 0x41, 0x70, 0x72, 0x65, 0x6c,
+0x69, 0x3b, 0x4d, 0x65, 0x79, 0x69, 0x3b, 0x4a, 0x75, 0x6e, 0x69, 0x3b, 0x4a, 0x75, 0x6c, 0x61, 0x79, 0x69, 0x3b, 0x41,
+0x72, 0x68, 0x6f, 0x73, 0x74, 0x6f, 0x73, 0x69, 0x3b, 0x53, 0x65, 0x70, 0x74, 0x65, 0x6d, 0x62, 0x61, 0x3b, 0x4f, 0x6b,
+0x74, 0x6f, 0x62, 0x61, 0x3b, 0x55, 0x73, 0x69, 0x6e, 0x79, 0x69, 0x6b, 0x68, 0x61, 0x62, 0x61, 0x3b, 0x44, 0x69, 0x73,
+0x65, 0x6d, 0x62, 0x61, 0x3b, 0x4a, 0x61, 0x6e, 0x3b, 0x46, 0x65, 0x62, 0x3b, 0x4d, 0x61, 0x74, 0x3b, 0x41, 0x70, 0x6f,
+0x3b, 0x4d, 0x65, 0x69, 0x3b, 0x4a, 0x75, 0x6e, 0x3b, 0x4a, 0x75, 0x6c, 0x3b, 0x41, 0x67, 0x6f, 0x3b, 0x53, 0x65, 0x74,
+0x3b, 0x4f, 0x6b, 0x74, 0x3b, 0x4e, 0x6f, 0x66, 0x3b, 0x44, 0x69, 0x73, 0x3b, 0x4a, 0x61, 0x6e, 0x61, 0x77, 0x61, 0x72,
+0x65, 0x3b, 0x46, 0x65, 0x62, 0x65, 0x72, 0x77, 0x61, 0x72, 0x65, 0x3b, 0x4d, 0x61, 0x74, 0x161, 0x68, 0x65, 0x3b, 0x41,
+0x70, 0x6f, 0x72, 0x65, 0x6c, 0x65, 0x3b, 0x4d, 0x65, 0x69, 0x3b, 0x4a, 0x75, 0x6e, 0x65, 0x3b, 0x4a, 0x75, 0x6c, 0x61,
+0x65, 0x3b, 0x41, 0x67, 0x6f, 0x73, 0x74, 0x6f, 0x73, 0x65, 0x3b, 0x53, 0x65, 0x74, 0x65, 0x6d, 0x65, 0x72, 0x65, 0x3b,
+0x4f, 0x6b, 0x74, 0x6f, 0x62, 0x6f, 0x72, 0x65, 0x3b, 0x4e, 0x6f, 0x66, 0x65, 0x6d, 0x65, 0x72, 0x65, 0x3b, 0x44, 0x69,
+0x73, 0x65, 0x6d, 0x65, 0x72, 0x65, 0x3b, 0x6f, 0x111, 0x111, 0x61, 0x6a, 0x61, 0x67, 0x65, 0x3b, 0x67, 0x75, 0x6f, 0x76,
+0x76, 0x61, 0x3b, 0x6e, 0x6a, 0x75, 0x6b, 0x10d, 0x61, 0x3b, 0x63, 0x75, 0x6f, 0x14b, 0x6f, 0x3b, 0x6d, 0x69, 0x65, 0x73,
+0x73, 0x65, 0x3b, 0x67, 0x65, 0x61, 0x73, 0x73, 0x65, 0x3b, 0x73, 0x75, 0x6f, 0x69, 0x64, 0x6e, 0x65, 0x3b, 0x62, 0x6f,
+0x72, 0x67, 0x65, 0x3b, 0x10d, 0x61, 0x6b, 0x10d, 0x61, 0x3b, 0x67, 0x6f, 0x6c, 0x67, 0x67, 0x6f, 0x74, 0x3b, 0x73, 0x6b,
+0xe1, 0x62, 0x6d, 0x61, 0x3b, 0x6a, 0x75, 0x6f, 0x76, 0x6c, 0x61, 0x3b, 0x6f, 0x111, 0x111, 0x61, 0x6a, 0x61, 0x67, 0x65,
+0x6d, 0xe1, 0x6e, 0x6e, 0x75, 0x3b, 0x67, 0x75, 0x6f, 0x76, 0x76, 0x61, 0x6d, 0xe1, 0x6e, 0x6e, 0x75, 0x3b, 0x6e, 0x6a,
+0x75, 0x6b, 0x10d, 0x61, 0x6d, 0xe1, 0x6e, 0x6e, 0x75, 0x3b, 0x63, 0x75, 0x6f, 0x14b, 0x6f, 0x6d, 0xe1, 0x6e, 0x6e, 0x75,
+0x3b, 0x6d, 0x69, 0x65, 0x73, 0x73, 0x65, 0x6d, 0xe1, 0x6e, 0x6e, 0x75, 0x3b, 0x67, 0x65, 0x61, 0x73, 0x73, 0x65, 0x6d,
+0xe1, 0x6e, 0x6e, 0x75, 0x3b, 0x73, 0x75, 0x6f, 0x69, 0x64, 0x6e, 0x65, 0x6d, 0xe1, 0x6e, 0x6e, 0x75, 0x3b, 0x62, 0x6f,
+0x72, 0x67, 0x65, 0x6d, 0xe1, 0x6e, 0x6e, 0x75, 0x3b, 0x10d, 0x61, 0x6b, 0x10d, 0x61, 0x6d, 0xe1, 0x6e, 0x6e, 0x75, 0x3b,
+0x67, 0x6f, 0x6c, 0x67, 0x67, 0x6f, 0x74, 0x6d, 0xe1, 0x6e, 0x6e, 0x75, 0x3b, 0x73, 0x6b, 0xe1, 0x62, 0x6d, 0x61, 0x6d,
+0xe1, 0x6e, 0x6e, 0x75, 0x3b, 0x6a, 0x75, 0x6f, 0x76, 0x6c, 0x61, 0x6d, 0xe1, 0x6e, 0x6e, 0x75, 0x3b, 0x4f, 0x3b, 0x47,
+0x3b, 0x4e, 0x3b, 0x43, 0x3b, 0x4d, 0x3b, 0x47, 0x3b, 0x53, 0x3b, 0x42, 0x3b, 0x10c, 0x3b, 0x47, 0x3b, 0x53, 0x3b, 0x4a,
+0x3b, 0x6f, 0x111, 0x111, 0x6a, 0x3b, 0x67, 0x75, 0x6f, 0x76, 0x3b, 0x6e, 0x6a, 0x75, 0x6b, 0x3b, 0x63, 0x75, 0x6f, 0x3b,
+0x6d, 0x69, 0x65, 0x73, 0x3b, 0x67, 0x65, 0x61, 0x73, 0x3b, 0x73, 0x75, 0x6f, 0x69, 0x3b, 0x62, 0x6f, 0x72, 0x67, 0x3b,
+0x10d, 0x61, 0x6b, 0x10d, 0x3b, 0x67, 0x6f, 0x6c, 0x67, 0x3b, 0x73, 0x6b, 0xe1, 0x62, 0x3b, 0x6a, 0x75, 0x6f, 0x76, 0x3b,
+0x4b, 0x69, 0x69, 0x3b, 0x44, 0x68, 0x69, 0x3b, 0x54, 0x72, 0x69, 0x3b, 0x53, 0x70, 0x69, 0x3b, 0x52, 0x69, 0x69, 0x3b,
+0x4d, 0x74, 0x69, 0x3b, 0x45, 0x6d, 0x69, 0x3b, 0x4d, 0x61, 0x69, 0x3b, 0x4d, 0x6e, 0x69, 0x3b, 0x4d, 0x78, 0x69, 0x3b,
+0x4d, 0x78, 0x6b, 0x3b, 0x4d, 0x78, 0x64, 0x3b, 0x4b, 0x69, 0x6e, 0x67, 0x61, 0x6c, 0x20, 0x69, 0x64, 0x61, 0x73, 0x3b,
+0x44, 0x68, 0x61, 0x20, 0x69, 0x64, 0x61, 0x73, 0x3b, 0x54, 0x72, 0x75, 0x20, 0x69, 0x64, 0x61, 0x73, 0x3b, 0x53, 0x70,
+0x61, 0x74, 0x20, 0x69, 0x64, 0x61, 0x73, 0x3b, 0x52, 0x69, 0x6d, 0x61, 0x20, 0x69, 0x64, 0x61, 0x73, 0x3b, 0x4d, 0x61,
+0x74, 0x61, 0x72, 0x75, 0x20, 0x69, 0x64, 0x61, 0x73, 0x3b, 0x45, 0x6d, 0x70, 0x69, 0x74, 0x75, 0x20, 0x69, 0x64, 0x61,
+0x73, 0x3b, 0x4d, 0x61, 0x73, 0x70, 0x61, 0x74, 0x20, 0x69, 0x64, 0x61, 0x73, 0x3b, 0x4d, 0x6e, 0x67, 0x61, 0x72, 0x69,
+0x20, 0x69, 0x64, 0x61, 0x73, 0x3b, 0x4d, 0x61, 0x78, 0x61, 0x6c, 0x20, 0x69, 0x64, 0x61, 0x73, 0x3b, 0x4d, 0x61, 0x78,
+0x61, 0x6c, 0x20, 0x6b, 0x69, 0x6e, 0x67, 0x61, 0x6c, 0x20, 0x69, 0x64, 0x61, 0x73, 0x3b, 0x4d, 0x61, 0x78, 0x61, 0x6c,
+0x20, 0x64, 0x68, 0x61, 0x20, 0x69, 0x64, 0x61, 0x73, 0x3b, 0x4b, 0x3b, 0x44, 0x3b, 0x54, 0x3b, 0x53, 0x3b, 0x52, 0x3b,
+0x4d, 0x3b, 0x45, 0x3b, 0x50, 0x3b, 0x41, 0x3b, 0x4d, 0x3b, 0x4b, 0x3b, 0x44, 0x3b, 0x43, 0x61, 0x6e, 0x3b, 0x46, 0x65,
+0x62, 0x3b, 0x4d, 0x61, 0x63, 0x3b, 0x41, 0x70, 0x72, 0x3b, 0x4d, 0x65, 0x69, 0x3b, 0x4a, 0x75, 0x6e, 0x3b, 0x43, 0x75,
+0x6c, 0x3b, 0x41, 0x67, 0x74, 0x3b, 0x53, 0x65, 0x70, 0x3b, 0x4f, 0x6b, 0x74, 0x3b, 0x4e, 0x6f, 0x62, 0x3b, 0x44, 0x69,
+0x73, 0x3b, 0x43, 0x68, 0x61, 0x6e, 0x75, 0x61, 0x72, 0x69, 0x3b, 0x46, 0x65, 0x62, 0x75, 0x72, 0x61, 0x72, 0x69, 0x3b,
+0x4d, 0x61, 0x63, 0x68, 0x69, 0x3b, 0x41, 0x70, 0x69, 0x72, 0x69, 0x72, 0x69, 0x3b, 0x4d, 0x65, 0x69, 0x3b, 0x4a, 0x75,
+0x6e, 0x69, 0x3b, 0x43, 0x68, 0x75, 0x6c, 0x61, 0x69, 0x3b, 0x41, 0x67, 0x6f, 0x73, 0x74, 0x69, 0x3b, 0x53, 0x65, 0x70,
+0x74, 0x65, 0x6d, 0x62, 0x61, 0x3b, 0x4f, 0x6b, 0x69, 0x74, 0x6f, 0x62, 0x61, 0x3b, 0x4e, 0x6f, 0x62, 0x65, 0x6d, 0x62,
+0x61, 0x3b, 0x44, 0x69, 0x73, 0x65, 0x6d, 0x62, 0x61, 0x3b, 0x43, 0x3b, 0x46, 0x3b, 0x4d, 0x3b, 0x41, 0x3b, 0x4d, 0x3b,
+0x4a, 0x3b, 0x43, 0x3b, 0x41, 0x3b, 0x53, 0x3b, 0x4f, 0x3b, 0x4e, 0x3b, 0x44, 0x3b, 0x49, 0x6d, 0x62, 0x3b, 0x4b, 0x61,
+0x77, 0x3b, 0x4b, 0x61, 0x64, 0x3b, 0x4b, 0x61, 0x6e, 0x3b, 0x4b, 0x61, 0x73, 0x3b, 0x4b, 0x61, 0x72, 0x3b, 0x4d, 0x66,
+0x75, 0x3b, 0x57, 0x75, 0x6e, 0x3b, 0x49, 0x6b, 0x65, 0x3b, 0x49, 0x6b, 0x75, 0x3b, 0x49, 0x6d, 0x77, 0x3b, 0x49, 0x77,
+0x69, 0x3b, 0x4d, 0x6f, 0x72, 0x69, 0x20, 0x67, 0x68, 0x77, 0x61, 0x20, 0x69, 0x6d, 0x62, 0x69, 0x72, 0x69, 0x3b, 0x4d,
+0x6f, 0x72, 0x69, 0x20, 0x67, 0x68, 0x77, 0x61, 0x20, 0x6b, 0x61, 0x77, 0x69, 0x3b, 0x4d, 0x6f, 0x72, 0x69, 0x20, 0x67,
+0x68, 0x77, 0x61, 0x20, 0x6b, 0x61, 0x64, 0x61, 0x64, 0x75, 0x3b, 0x4d, 0x6f, 0x72, 0x69, 0x20, 0x67, 0x68, 0x77, 0x61,
+0x20, 0x6b, 0x61, 0x6e, 0x61, 0x3b, 0x4d, 0x6f, 0x72, 0x69, 0x20, 0x67, 0x68, 0x77, 0x61, 0x20, 0x6b, 0x61, 0x73, 0x61,
+0x6e, 0x75, 0x3b, 0x4d, 0x6f, 0x72, 0x69, 0x20, 0x67, 0x68, 0x77, 0x61, 0x20, 0x6b, 0x61, 0x72, 0x61, 0x6e, 0x64, 0x61,
+0x64, 0x75, 0x3b, 0x4d, 0x6f, 0x72, 0x69, 0x20, 0x67, 0x68, 0x77, 0x61, 0x20, 0x6d, 0x66, 0x75, 0x6e, 0x67, 0x61, 0x64,
+0x65, 0x3b, 0x4d, 0x6f, 0x72, 0x69, 0x20, 0x67, 0x68, 0x77, 0x61, 0x20, 0x77, 0x75, 0x6e, 0x79, 0x61, 0x6e, 0x79, 0x61,
+0x3b, 0x4d, 0x6f, 0x72, 0x69, 0x20, 0x67, 0x68, 0x77, 0x61, 0x20, 0x69, 0x6b, 0x65, 0x6e, 0x64, 0x61, 0x3b, 0x4d, 0x6f,
+0x72, 0x69, 0x20, 0x67, 0x68, 0x77, 0x61, 0x20, 0x69, 0x6b, 0x75, 0x6d, 0x69, 0x3b, 0x4d, 0x6f, 0x72, 0x69, 0x20, 0x67,
+0x68, 0x77, 0x61, 0x20, 0x69, 0x6b, 0x75, 0x6d, 0x69, 0x20, 0x6e, 0x61, 0x20, 0x69, 0x6d, 0x77, 0x65, 0x72, 0x69, 0x3b,
+0x4d, 0x6f, 0x72, 0x69, 0x20, 0x67, 0x68, 0x77, 0x61, 0x20, 0x69, 0x6b, 0x75, 0x6d, 0x69, 0x20, 0x6e, 0x61, 0x20, 0x69,
+0x77, 0x69, 0x3b, 0x49, 0x3b, 0x4b, 0x3b, 0x4b, 0x3b, 0x4b, 0x3b, 0x4b, 0x3b, 0x4b, 0x3b, 0x4d, 0x3b, 0x57, 0x3b, 0x49,
+0x3b, 0x49, 0x3b, 0x49, 0x3b, 0x49, 0x3b, 0x73, 0x69, 0x69, 0x3b, 0x63, 0x6f, 0x6c, 0x3b, 0x6d, 0x62, 0x6f, 0x3b, 0x73,
+0x65, 0x65, 0x3b, 0x64, 0x75, 0x75, 0x3b, 0x6b, 0x6f, 0x72, 0x3b, 0x6d, 0x6f, 0x72, 0x3b, 0x6a, 0x75, 0x6b, 0x3b, 0x73,
+0x6c, 0x74, 0x3b, 0x79, 0x61, 0x72, 0x3b, 0x6a, 0x6f, 0x6c, 0x3b, 0x62, 0x6f, 0x77, 0x3b, 0x73, 0x69, 0x69, 0x6c, 0x6f,
+0x3b, 0x63, 0x6f, 0x6c, 0x74, 0x65, 0x3b, 0x6d, 0x62, 0x6f, 0x6f, 0x79, 0x3b, 0x73, 0x65, 0x65, 0x257, 0x74, 0x6f, 0x3b,
+0x64, 0x75, 0x75, 0x6a, 0x61, 0x6c, 0x3b, 0x6b, 0x6f, 0x72, 0x73, 0x65, 0x3b, 0x6d, 0x6f, 0x72, 0x73, 0x6f, 0x3b, 0x6a,
+0x75, 0x6b, 0x6f, 0x3b, 0x73, 0x69, 0x69, 0x6c, 0x74, 0x6f, 0x3b, 0x79, 0x61, 0x72, 0x6b, 0x6f, 0x6d, 0x61, 0x61, 0x3b,
+0x6a, 0x6f, 0x6c, 0x61, 0x6c, 0x3b, 0x62, 0x6f, 0x77, 0x74, 0x65, 0x3b, 0x73, 0x3b, 0x63, 0x3b, 0x6d, 0x3b, 0x73, 0x3b,
+0x64, 0x3b, 0x6b, 0x3b, 0x6d, 0x3b, 0x6a, 0x3b, 0x73, 0x3b, 0x79, 0x3b, 0x6a, 0x3b, 0x62, 0x3b, 0x4a, 0x45, 0x4e, 0x3b,
+0x57, 0x4b, 0x52, 0x3b, 0x57, 0x47, 0x54, 0x3b, 0x57, 0x4b, 0x4e, 0x3b, 0x57, 0x54, 0x4e, 0x3b, 0x57, 0x54, 0x44, 0x3b,
+0x57, 0x4d, 0x4a, 0x3b, 0x57, 0x4e, 0x4e, 0x3b, 0x57, 0x4b, 0x44, 0x3b, 0x57, 0x49, 0x4b, 0x3b, 0x57, 0x4d, 0x57, 0x3b,
+0x44, 0x49, 0x54, 0x3b, 0x4e, 0x6a, 0x65, 0x6e, 0x75, 0x61, 0x72, 0x129, 0x3b, 0x4d, 0x77, 0x65, 0x72, 0x65, 0x20, 0x77,
+0x61, 0x20, 0x6b, 0x65, 0x72, 0x129, 0x3b, 0x4d, 0x77, 0x65, 0x72, 0x65, 0x20, 0x77, 0x61, 0x20, 0x67, 0x61, 0x74, 0x61,
+0x74, 0x169, 0x3b, 0x4d, 0x77, 0x65, 0x72, 0x65, 0x20, 0x77, 0x61, 0x20, 0x6b, 0x61, 0x6e, 0x61, 0x3b, 0x4d, 0x77, 0x65,
+0x72, 0x65, 0x20, 0x77, 0x61, 0x20, 0x67, 0x61, 0x74, 0x61, 0x6e, 0x6f, 0x3b, 0x4d, 0x77, 0x65, 0x72, 0x65, 0x20, 0x77,
+0x61, 0x20, 0x67, 0x61, 0x74, 0x61, 0x6e, 0x64, 0x61, 0x74, 0x169, 0x3b, 0x4d, 0x77, 0x65, 0x72, 0x65, 0x20, 0x77, 0x61,
+0x20, 0x6d, 0x169, 0x67, 0x77, 0x61, 0x6e, 0x6a, 0x61, 0x3b, 0x4d, 0x77, 0x65, 0x72, 0x65, 0x20, 0x77, 0x61, 0x20, 0x6b,
+0x61, 0x6e, 0x61, 0x6e, 0x61, 0x3b, 0x4d, 0x77, 0x65, 0x72, 0x65, 0x20, 0x77, 0x61, 0x20, 0x6b, 0x65, 0x6e, 0x64, 0x61,
+0x3b, 0x4d, 0x77, 0x65, 0x72, 0x65, 0x20, 0x77, 0x61, 0x20, 0x69, 0x6b, 0x169, 0x6d, 0x69, 0x3b, 0x4d, 0x77, 0x65, 0x72,
+0x65, 0x20, 0x77, 0x61, 0x20, 0x69, 0x6b, 0x169, 0x6d, 0x69, 0x20, 0x6e, 0x61, 0x20, 0x169, 0x6d, 0x77, 0x65, 0x3b, 0x4e,
+0x64, 0x69, 0x74, 0x68, 0x65, 0x6d, 0x62, 0x61, 0x3b, 0x4a, 0x3b, 0x4b, 0x3b, 0x47, 0x3b, 0x4b, 0x3b, 0x47, 0x3b, 0x47,
+0x3b, 0x4d, 0x3b, 0x4b, 0x3b, 0x4b, 0x3b, 0x49, 0x3b, 0x49, 0x3b, 0x44, 0x3b, 0x4f, 0x62, 0x6f, 0x3b, 0x57, 0x61, 0x61,
+0x3b, 0x4f, 0x6b, 0x75, 0x3b, 0x4f, 0x6e, 0x67, 0x3b, 0x49, 0x6d, 0x65, 0x3b, 0x49, 0x6c, 0x65, 0x3b, 0x53, 0x61, 0x70,
+0x3b, 0x49, 0x73, 0x69, 0x3b, 0x53, 0x61, 0x61, 0x3b, 0x54, 0x6f, 0x6d, 0x3b, 0x54, 0x6f, 0x62, 0x3b, 0x54, 0x6f, 0x77,
+0x3b, 0x4c, 0x61, 0x70, 0x61, 0x20, 0x6c, 0x65, 0x20, 0x6f, 0x62, 0x6f, 0x3b, 0x4c, 0x61, 0x70, 0x61, 0x20, 0x6c, 0x65,
+0x20, 0x77, 0x61, 0x61, 0x72, 0x65, 0x3b, 0x4c, 0x61, 0x70, 0x61, 0x20, 0x6c, 0x65, 0x20, 0x6f, 0x6b, 0x75, 0x6e, 0x69,
+0x3b, 0x4c, 0x61, 0x70, 0x61, 0x20, 0x6c, 0x65, 0x20, 0x6f, 0x6e, 0x67, 0x27, 0x77, 0x61, 0x6e, 0x3b, 0x4c, 0x61, 0x70,
+0x61, 0x20, 0x6c, 0x65, 0x20, 0x69, 0x6d, 0x65, 0x74, 0x3b, 0x4c, 0x61, 0x70, 0x61, 0x20, 0x6c, 0x65, 0x20, 0x69, 0x6c,
+0x65, 0x3b, 0x4c, 0x61, 0x70, 0x61, 0x20, 0x6c, 0x65, 0x20, 0x73, 0x61, 0x70, 0x61, 0x3b, 0x4c, 0x61, 0x70, 0x61, 0x20,
+0x6c, 0x65, 0x20, 0x69, 0x73, 0x69, 0x65, 0x74, 0x3b, 0x4c, 0x61, 0x70, 0x61, 0x20, 0x6c, 0x65, 0x20, 0x73, 0x61, 0x61,
+0x6c, 0x3b, 0x4c, 0x61, 0x70, 0x61, 0x20, 0x6c, 0x65, 0x20, 0x74, 0x6f, 0x6d, 0x6f, 0x6e, 0x3b, 0x4c, 0x61, 0x70, 0x61,
+0x20, 0x6c, 0x65, 0x20, 0x74, 0x6f, 0x6d, 0x6f, 0x6e, 0x20, 0x6f, 0x62, 0x6f, 0x3b, 0x4c, 0x61, 0x70, 0x61, 0x20, 0x6c,
+0x65, 0x20, 0x74, 0x6f, 0x6d, 0x6f, 0x6e, 0x20, 0x77, 0x61, 0x61, 0x72, 0x65, 0x3b, 0x4f, 0x3b, 0x57, 0x3b, 0x4f, 0x3b,
+0x4f, 0x3b, 0x49, 0x3b, 0x49, 0x3b, 0x53, 0x3b, 0x49, 0x3b, 0x53, 0x3b, 0x54, 0x3b, 0x54, 0x3b, 0x54, 0x3b, 0x4a, 0x61,
+0x6e, 0x3b, 0x46, 0x65, 0x76, 0x3b, 0x4d, 0x61, 0x72, 0x3b, 0x41, 0x62, 0x72, 0x3b, 0x4d, 0x61, 0x69, 0x3b, 0x4a, 0x75,
+0x6e, 0x3b, 0x4a, 0x75, 0x6c, 0x3b, 0x41, 0x75, 0x67, 0x3b, 0x53, 0x65, 0x74, 0x3b, 0x4f, 0x74, 0x75, 0x3b, 0x4e, 0x6f,
+0x76, 0x3b, 0x44, 0x65, 0x63, 0x3b, 0x4a, 0x61, 0x6e, 0x65, 0x69, 0x72, 0x6f, 0x3b, 0x46, 0x65, 0x76, 0x72, 0x65, 0x69,
+0x72, 0x6f, 0x3b, 0x4d, 0x61, 0x72, 0x63, 0x6f, 0x3b, 0x41, 0x62, 0x72, 0x69, 0x6c, 0x3b, 0x4d, 0x61, 0x69, 0x6f, 0x3b,
+0x4a, 0x75, 0x6e, 0x68, 0x6f, 0x3b, 0x4a, 0x75, 0x6c, 0x68, 0x6f, 0x3b, 0x41, 0x75, 0x67, 0x75, 0x73, 0x74, 0x6f, 0x3b,
+0x53, 0x65, 0x74, 0x65, 0x6d, 0x62, 0x72, 0x6f, 0x3b, 0x4f, 0x74, 0x75, 0x62, 0x72, 0x6f, 0x3b, 0x4e, 0x6f, 0x76, 0x65,
+0x6d, 0x62, 0x72, 0x6f, 0x3b, 0x44, 0x65, 0x63, 0x65, 0x6d, 0x62, 0x72, 0x6f, 0x3b, 0x5a, 0x69, 0x62, 0x3b, 0x4e, 0x68,
+0x6c, 0x3b, 0x4d, 0x62, 0x69, 0x3b, 0x4d, 0x61, 0x62, 0x3b, 0x4e, 0x6b, 0x77, 0x3b, 0x4e, 0x68, 0x6c, 0x3b, 0x4e, 0x74,
+0x75, 0x3b, 0x4e, 0x63, 0x77, 0x3b, 0x4d, 0x70, 0x61, 0x3b, 0x4d, 0x66, 0x75, 0x3b, 0x4c, 0x77, 0x65, 0x3b, 0x4d, 0x70,
+0x61, 0x3b, 0x5a, 0x69, 0x62, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x6c, 0x61, 0x3b, 0x4e, 0x68, 0x6c, 0x6f, 0x6c, 0x61, 0x6e,
+0x6a, 0x61, 0x3b, 0x4d, 0x62, 0x69, 0x6d, 0x62, 0x69, 0x74, 0x68, 0x6f, 0x3b, 0x4d, 0x61, 0x62, 0x61, 0x73, 0x61, 0x3b,
+0x4e, 0x6b, 0x77, 0x65, 0x6e, 0x6b, 0x77, 0x65, 0x7a, 0x69, 0x3b, 0x4e, 0x68, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x6c, 0x61,
+0x3b, 0x4e, 0x74, 0x75, 0x6c, 0x69, 0x6b, 0x61, 0x7a, 0x69, 0x3b, 0x4e, 0x63, 0x77, 0x61, 0x62, 0x61, 0x6b, 0x61, 0x7a,
+0x69, 0x3b, 0x4d, 0x70, 0x61, 0x6e, 0x64, 0x75, 0x6c, 0x61, 0x3b, 0x4d, 0x66, 0x75, 0x6d, 0x66, 0x75, 0x3b, 0x4c, 0x77,
+0x65, 0x7a, 0x69, 0x3b, 0x4d, 0x70, 0x61, 0x6c, 0x61, 0x6b, 0x61, 0x7a, 0x69, 0x3b, 0x5a, 0x3b, 0x4e, 0x3b, 0x4d, 0x3b,
+0x4d, 0x3b, 0x4e, 0x3b, 0x4e, 0x3b, 0x4e, 0x3b, 0x4e, 0x3b, 0x4d, 0x3b, 0x4d, 0x3b, 0x4c, 0x3b, 0x4d, 0x3b, 0x4d, 0x31,
+0x3b, 0x4d, 0x32, 0x3b, 0x4d, 0x33, 0x3b, 0x4d, 0x34, 0x3b, 0x4d, 0x35, 0x3b, 0x4d, 0x36, 0x3b, 0x4d, 0x37, 0x3b, 0x4d,
+0x38, 0x3b, 0x4d, 0x39, 0x3b, 0x4d, 0x31, 0x30, 0x3b, 0x4d, 0x31, 0x31, 0x3b, 0x4d, 0x31, 0x32, 0x3b, 0x4d, 0x77, 0x65,
+0x72, 0x69, 0x20, 0x77, 0x61, 0x20, 0x6b, 0x77, 0x61, 0x6e, 0x7a, 0x61, 0x3b, 0x4d, 0x77, 0x65, 0x72, 0x69, 0x20, 0x77,
+0x61, 0x20, 0x6b, 0x61, 0x69, 0x6c, 0x69, 0x3b, 0x4d, 0x77, 0x65, 0x72, 0x69, 0x20, 0x77, 0x61, 0x20, 0x6b, 0x61, 0x74,
+0x61, 0x74, 0x75, 0x3b, 0x4d, 0x77, 0x65, 0x72, 0x69, 0x20, 0x77, 0x61, 0x20, 0x6b, 0x61, 0x61, 0x6e, 0x61, 0x3b, 0x4d,
+0x77, 0x65, 0x72, 0x69, 0x20, 0x77, 0x61, 0x20, 0x74, 0x61, 0x6e, 0x75, 0x3b, 0x4d, 0x77, 0x65, 0x72, 0x69, 0x20, 0x77,
+0x61, 0x20, 0x73, 0x69, 0x74, 0x61, 0x3b, 0x4d, 0x77, 0x65, 0x72, 0x69, 0x20, 0x77, 0x61, 0x20, 0x73, 0x61, 0x62, 0x61,
+0x3b, 0x4d, 0x77, 0x65, 0x72, 0x69, 0x20, 0x77, 0x61, 0x20, 0x6e, 0x61, 0x6e, 0x65, 0x3b, 0x4d, 0x77, 0x65, 0x72, 0x69,
+0x20, 0x77, 0x61, 0x20, 0x74, 0x69, 0x73, 0x61, 0x3b, 0x4d, 0x77, 0x65, 0x72, 0x69, 0x20, 0x77, 0x61, 0x20, 0x69, 0x6b,
+0x75, 0x6d, 0x69, 0x3b, 0x4d, 0x77, 0x65, 0x72, 0x69, 0x20, 0x77, 0x61, 0x20, 0x69, 0x6b, 0x75, 0x6d, 0x69, 0x20, 0x6e,
+0x61, 0x20, 0x6d, 0x6f, 0x6a, 0x61, 0x3b, 0x4d, 0x77, 0x65, 0x72, 0x69, 0x20, 0x77, 0x61, 0x20, 0x69, 0x6b, 0x75, 0x6d,
+0x69, 0x20, 0x6e, 0x61, 0x20, 0x6d, 0x62, 0x69, 0x6c, 0x69, 0x3b, 0x4b, 0x3b, 0x4b, 0x3b, 0x4b, 0x3b, 0x4b, 0x3b, 0x54,
+0x3b, 0x53, 0x3b, 0x53, 0x3b, 0x4e, 0x3b, 0x54, 0x3b, 0x49, 0x3b, 0x49, 0x3b, 0x49, 0x3b, 0x69, 0x6e, 0x6e, 0x3b, 0x62,
+0x1e5b, 0x61, 0x3b, 0x6d, 0x61, 0x1e5b, 0x3b, 0x69, 0x62, 0x72, 0x3b, 0x6d, 0x61, 0x79, 0x3b, 0x79, 0x75, 0x6e, 0x3b, 0x79,
+0x75, 0x6c, 0x3b, 0x263, 0x75, 0x63, 0x3b, 0x63, 0x75, 0x74, 0x3b, 0x6b, 0x74, 0x75, 0x3b, 0x6e, 0x75, 0x77, 0x3b, 0x64,
+0x75, 0x6a, 0x3b, 0x69, 0x6e, 0x6e, 0x61, 0x79, 0x72, 0x3b, 0x62, 0x1e5b, 0x61, 0x79, 0x1e5b, 0x3b, 0x6d, 0x61, 0x1e5b, 0x1e63,
+0x3b, 0x69, 0x62, 0x72, 0x69, 0x72, 0x3b, 0x6d, 0x61, 0x79, 0x79, 0x75, 0x3b, 0x79, 0x75, 0x6e, 0x79, 0x75, 0x3b, 0x79,
+0x75, 0x6c, 0x79, 0x75, 0x7a, 0x3b, 0x263, 0x75, 0x63, 0x74, 0x3b, 0x63, 0x75, 0x74, 0x61, 0x6e, 0x62, 0x69, 0x72, 0x3b,
+0x6b, 0x74, 0x75, 0x62, 0x72, 0x3b, 0x6e, 0x75, 0x77, 0x61, 0x6e, 0x62, 0x69, 0x72, 0x3b, 0x64, 0x75, 0x6a, 0x61, 0x6e,
+0x62, 0x69, 0x72, 0x3b, 0x69, 0x3b, 0x62, 0x3b, 0x6d, 0x3b, 0x69, 0x3b, 0x6d, 0x3b, 0x79, 0x3b, 0x79, 0x3b, 0x263, 0x3b,
+0x63, 0x3b, 0x6b, 0x3b, 0x6e, 0x3b, 0x64, 0x3b, 0x59, 0x65, 0x6e, 0x3b, 0x46, 0x75, 0x72, 0x3b, 0x4d, 0x65, 0x263, 0x3b,
+0x59, 0x65, 0x62, 0x3b, 0x4d, 0x61, 0x79, 0x3b, 0x59, 0x75, 0x6e, 0x3b, 0x59, 0x75, 0x6c, 0x3b, 0x194, 0x75, 0x63, 0x3b,
+0x43, 0x74, 0x65, 0x3b, 0x54, 0x75, 0x62, 0x3b, 0x4e, 0x75, 0x6e, 0x3b, 0x44, 0x75, 0x1e7, 0x3b, 0x59, 0x65, 0x6e, 0x6e,
+0x61, 0x79, 0x65, 0x72, 0x3b, 0x46, 0x75, 0x1e5b, 0x61, 0x72, 0x3b, 0x4d, 0x65, 0x263, 0x72, 0x65, 0x73, 0x3b, 0x59, 0x65,
+0x62, 0x72, 0x69, 0x72, 0x3b, 0x4d, 0x61, 0x79, 0x79, 0x75, 0x3b, 0x59, 0x75, 0x6e, 0x79, 0x75, 0x3b, 0x59, 0x75, 0x6c,
+0x79, 0x75, 0x3b, 0x194, 0x75, 0x63, 0x74, 0x3b, 0x43, 0x74, 0x65, 0x6d, 0x62, 0x65, 0x1e5b, 0x3b, 0x54, 0x75, 0x62, 0x65,
+0x1e5b, 0x3b, 0x4e, 0x75, 0x6e, 0x65, 0x6d, 0x62, 0x65, 0x1e5b, 0x3b, 0x44, 0x75, 0x1e7, 0x65, 0x6d, 0x62, 0x65, 0x1e5b, 0x3b,
+0x59, 0x3b, 0x46, 0x3b, 0x4d, 0x3b, 0x59, 0x3b, 0x4d, 0x3b, 0x59, 0x3b, 0x59, 0x3b, 0x194, 0x3b, 0x43, 0x3b, 0x54, 0x3b,
+0x4e, 0x3b, 0x44, 0x3b, 0x4b, 0x42, 0x5a, 0x3b, 0x4b, 0x42, 0x52, 0x3b, 0x4b, 0x53, 0x54, 0x3b, 0x4b, 0x4b, 0x4e, 0x3b,
+0x4b, 0x54, 0x4e, 0x3b, 0x4b, 0x4d, 0x4b, 0x3b, 0x4b, 0x4d, 0x53, 0x3b, 0x4b, 0x4d, 0x4e, 0x3b, 0x4b, 0x4d, 0x4e, 0x3b,
+0x4b, 0x4b, 0x4d, 0x3b, 0x4b, 0x4e, 0x4b, 0x3b, 0x4b, 0x4e, 0x42, 0x3b, 0x4f, 0x6b, 0x77, 0x6f, 0x6b, 0x75, 0x62, 0x61,
+0x6e, 0x7a, 0x61, 0x3b, 0x4f, 0x6b, 0x77, 0x61, 0x6b, 0x61, 0x62, 0x69, 0x72, 0x69, 0x3b, 0x4f, 0x6b, 0x77, 0x61, 0x6b,
+0x61, 0x73, 0x68, 0x61, 0x74, 0x75, 0x3b, 0x4f, 0x6b, 0x77, 0x61, 0x6b, 0x61, 0x6e, 0x61, 0x3b, 0x4f, 0x6b, 0x77, 0x61,
+0x6b, 0x61, 0x74, 0x61, 0x61, 0x6e, 0x61, 0x3b, 0x4f, 0x6b, 0x77, 0x61, 0x6d, 0x75, 0x6b, 0x61, 0x61, 0x67, 0x61, 0x3b,
+0x4f, 0x6b, 0x77, 0x61, 0x6d, 0x75, 0x73, 0x68, 0x61, 0x6e, 0x6a, 0x75, 0x3b, 0x4f, 0x6b, 0x77, 0x61, 0x6d, 0x75, 0x6e,
+0x61, 0x61, 0x6e, 0x61, 0x3b, 0x4f, 0x6b, 0x77, 0x61, 0x6d, 0x77, 0x65, 0x6e, 0x64, 0x61, 0x3b, 0x4f, 0x6b, 0x77, 0x61,
+0x69, 0x6b, 0x75, 0x6d, 0x69, 0x3b, 0x4f, 0x6b, 0x77, 0x61, 0x69, 0x6b, 0x75, 0x6d, 0x69, 0x20, 0x6e, 0x61, 0x20, 0x6b,
+0x75, 0x6d, 0x77, 0x65, 0x3b, 0x4f, 0x6b, 0x77, 0x61, 0x69, 0x6b, 0x75, 0x6d, 0x69, 0x20, 0x6e, 0x61, 0x20, 0x69, 0x62,
+0x69, 0x72, 0x69, 0x3b, 0x48, 0x75, 0x74, 0x3b, 0x56, 0x69, 0x6c, 0x3b, 0x44, 0x61, 0x74, 0x3b, 0x54, 0x61, 0x69, 0x3b,
+0x48, 0x61, 0x6e, 0x3b, 0x53, 0x69, 0x74, 0x3b, 0x53, 0x61, 0x62, 0x3b, 0x4e, 0x61, 0x6e, 0x3b, 0x54, 0x69, 0x73, 0x3b,
+0x4b, 0x75, 0x6d, 0x3b, 0x4b, 0x6d, 0x6a, 0x3b, 0x4b, 0x6d, 0x62, 0x3b, 0x70, 0x61, 0x20, 0x6d, 0x77, 0x65, 0x64, 0x7a,
+0x69, 0x20, 0x67, 0x77, 0x61, 0x20, 0x68, 0x75, 0x74, 0x61, 0x6c, 0x61, 0x3b, 0x70, 0x61, 0x20, 0x6d, 0x77, 0x65, 0x64,
+0x7a, 0x69, 0x20, 0x67, 0x77, 0x61, 0x20, 0x77, 0x75, 0x76, 0x69, 0x6c, 0x69, 0x3b, 0x70, 0x61, 0x20, 0x6d, 0x77, 0x65,
+0x64, 0x7a, 0x69, 0x20, 0x67, 0x77, 0x61, 0x20, 0x77, 0x75, 0x64, 0x61, 0x74, 0x75, 0x3b, 0x70, 0x61, 0x20, 0x6d, 0x77,
+0x65, 0x64, 0x7a, 0x69, 0x20, 0x67, 0x77, 0x61, 0x20, 0x77, 0x75, 0x74, 0x61, 0x69, 0x3b, 0x70, 0x61, 0x20, 0x6d, 0x77,
+0x65, 0x64, 0x7a, 0x69, 0x20, 0x67, 0x77, 0x61, 0x20, 0x77, 0x75, 0x68, 0x61, 0x6e, 0x75, 0x3b, 0x70, 0x61, 0x20, 0x6d,
+0x77, 0x65, 0x64, 0x7a, 0x69, 0x20, 0x67, 0x77, 0x61, 0x20, 0x73, 0x69, 0x74, 0x61, 0x3b, 0x70, 0x61, 0x20, 0x6d, 0x77,
+0x65, 0x64, 0x7a, 0x69, 0x20, 0x67, 0x77, 0x61, 0x20, 0x73, 0x61, 0x62, 0x61, 0x3b, 0x70, 0x61, 0x20, 0x6d, 0x77, 0x65,
+0x64, 0x7a, 0x69, 0x20, 0x67, 0x77, 0x61, 0x20, 0x6e, 0x61, 0x6e, 0x65, 0x3b, 0x70, 0x61, 0x20, 0x6d, 0x77, 0x65, 0x64,
+0x7a, 0x69, 0x20, 0x67, 0x77, 0x61, 0x20, 0x74, 0x69, 0x73, 0x61, 0x3b, 0x70, 0x61, 0x20, 0x6d, 0x77, 0x65, 0x64, 0x7a,
+0x69, 0x20, 0x67, 0x77, 0x61, 0x20, 0x6b, 0x75, 0x6d, 0x69, 0x3b, 0x70, 0x61, 0x20, 0x6d, 0x77, 0x65, 0x64, 0x7a, 0x69,
+0x20, 0x67, 0x77, 0x61, 0x20, 0x6b, 0x75, 0x6d, 0x69, 0x20, 0x6e, 0x61, 0x20, 0x6d, 0x6f, 0x6a, 0x61, 0x3b, 0x70, 0x61,
+0x20, 0x6d, 0x77, 0x65, 0x64, 0x7a, 0x69, 0x20, 0x67, 0x77, 0x61, 0x20, 0x6b, 0x75, 0x6d, 0x69, 0x20, 0x6e, 0x61, 0x20,
+0x6d, 0x62, 0x69, 0x6c, 0x69, 0x3b, 0x48, 0x3b, 0x56, 0x3b, 0x44, 0x3b, 0x54, 0x3b, 0x48, 0x3b, 0x53, 0x3b, 0x53, 0x3b,
+0x4e, 0x3b, 0x54, 0x3b, 0x4b, 0x3b, 0x4b, 0x3b, 0x4b, 0x3b, 0x4a, 0x61, 0x6e, 0x75, 0x61, 0x72, 0x69, 0x3b, 0x46, 0x65,
+0x62, 0x72, 0x75, 0x61, 0x72, 0x69, 0x3b, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x3b, 0x41, 0x70, 0x72, 0x69, 0x6c, 0x79, 0x69,
+0x3b, 0x4d, 0x65, 0x69, 0x3b, 0x4a, 0x75, 0x6e, 0x79, 0x69, 0x3b, 0x4a, 0x75, 0x6c, 0x79, 0x61, 0x69, 0x3b, 0x41, 0x67,
+0x75, 0x73, 0x74, 0x69, 0x3b, 0x53, 0x65, 0x70, 0x74, 0x65, 0x6d, 0x62, 0x61, 0x3b, 0x4f, 0x6b, 0x74, 0x6f, 0x62, 0x61,
+0x3b, 0x4e, 0x6f, 0x76, 0x65, 0x6d, 0x62, 0x61, 0x3b, 0x44, 0x65, 0x73, 0x65, 0x6d, 0x62, 0x61, 0x3b, 0x7a, 0x61, 0x6e,
+0x3b, 0x66, 0x65, 0x62, 0x3b, 0x6e, 0x61, 0x72, 0x3b, 0x61, 0x77, 0x69, 0x3b, 0x6d, 0x25b, 0x3b, 0x7a, 0x75, 0x77, 0x3b,
+0x7a, 0x75, 0x6c, 0x3b, 0x75, 0x74, 0x69, 0x3b, 0x73, 0x25b, 0x74, 0x3b, 0x254, 0x6b, 0x75, 0x3b, 0x6e, 0x6f, 0x77, 0x3b,
+0x64, 0x65, 0x73, 0x3b, 0x7a, 0x61, 0x6e, 0x77, 0x75, 0x79, 0x65, 0x3b, 0x66, 0x65, 0x62, 0x75, 0x72, 0x75, 0x79, 0x65,
+0x3b, 0x6d, 0x61, 0x72, 0x69, 0x73, 0x69, 0x3b, 0x61, 0x77, 0x69, 0x72, 0x69, 0x6c, 0x69, 0x3b, 0x6d, 0x25b, 0x3b, 0x7a,
+0x75, 0x77, 0x25b, 0x6e, 0x3b, 0x7a, 0x75, 0x6c, 0x75, 0x79, 0x65, 0x3b, 0x75, 0x74, 0x69, 0x3b, 0x73, 0x25b, 0x74, 0x61,
+0x6e, 0x62, 0x75, 0x72, 0x75, 0x3b, 0x254, 0x6b, 0x75, 0x74, 0x254, 0x62, 0x75, 0x72, 0x75, 0x3b, 0x6e, 0x6f, 0x77, 0x61,
+0x6e, 0x62, 0x75, 0x72, 0x75, 0x3b, 0x64, 0x65, 0x73, 0x61, 0x6e, 0x62, 0x75, 0x72, 0x75, 0x3b, 0x5a, 0x3b, 0x46, 0x3b,
+0x4d, 0x3b, 0x41, 0x3b, 0x4d, 0x3b, 0x5a, 0x3b, 0x5a, 0x3b, 0x55, 0x3b, 0x53, 0x3b, 0x186, 0x3b, 0x4e, 0x3b, 0x44, 0x3b,
+0x4d, 0x62, 0x65, 0x3b, 0x4b, 0x61, 0x69, 0x3b, 0x4b, 0x61, 0x74, 0x3b, 0x4b, 0x61, 0x6e, 0x3b, 0x47, 0x61, 0x74, 0x3b,
+0x47, 0x61, 0x6e, 0x3b, 0x4d, 0x75, 0x67, 0x3b, 0x4b, 0x6e, 0x6e, 0x3b, 0x4b, 0x65, 0x6e, 0x3b, 0x49, 0x6b, 0x75, 0x3b,
+0x49, 0x6d, 0x77, 0x3b, 0x49, 0x67, 0x69, 0x3b, 0x4d, 0x77, 0x65, 0x72, 0x69, 0x20, 0x77, 0x61, 0x20, 0x6d, 0x62, 0x65,
+0x72, 0x65, 0x3b, 0x4d, 0x77, 0x65, 0x72, 0x69, 0x20, 0x77, 0x61, 0x20, 0x6b, 0x61, 0x129, 0x72, 0x69, 0x3b, 0x4d, 0x77,
+0x65, 0x72, 0x69, 0x20, 0x77, 0x61, 0x20, 0x6b, 0x61, 0x74, 0x68, 0x61, 0x74, 0x169, 0x3b, 0x4d, 0x77, 0x65, 0x72, 0x69,
+0x20, 0x77, 0x61, 0x20, 0x6b, 0x61, 0x6e, 0x61, 0x3b, 0x4d, 0x77, 0x65, 0x72, 0x69, 0x20, 0x77, 0x61, 0x20, 0x67, 0x61,
+0x74, 0x61, 0x6e, 0x6f, 0x3b, 0x4d, 0x77, 0x65, 0x72, 0x69, 0x20, 0x77, 0x61, 0x20, 0x67, 0x61, 0x74, 0x61, 0x6e, 0x74,
+0x61, 0x74, 0x169, 0x3b, 0x4d, 0x77, 0x65, 0x72, 0x69, 0x20, 0x77, 0x61, 0x20, 0x6d, 0x169, 0x67, 0x77, 0x61, 0x6e, 0x6a,
+0x61, 0x3b, 0x4d, 0x77, 0x65, 0x72, 0x69, 0x20, 0x77, 0x61, 0x20, 0x6b, 0x61, 0x6e, 0x61, 0x6e, 0x61, 0x3b, 0x4d, 0x77,
+0x65, 0x72, 0x69, 0x20, 0x77, 0x61, 0x20, 0x6b, 0x65, 0x6e, 0x64, 0x61, 0x3b, 0x4d, 0x77, 0x65, 0x72, 0x69, 0x20, 0x77,
+0x61, 0x20, 0x69, 0x6b, 0x169, 0x6d, 0x69, 0x3b, 0x4d, 0x77, 0x65, 0x72, 0x69, 0x20, 0x77, 0x61, 0x20, 0x69, 0x6b, 0x169,
+0x6d, 0x69, 0x20, 0x6e, 0x61, 0x20, 0x169, 0x6d, 0x77, 0x65, 0x3b, 0x4d, 0x77, 0x65, 0x72, 0x69, 0x20, 0x77, 0x61, 0x20,
+0x69, 0x6b, 0x169, 0x6d, 0x69, 0x20, 0x6e, 0x61, 0x20, 0x4b, 0x61, 0x129, 0x72, 0x129, 0x3b, 0x4d, 0x3b, 0x4b, 0x3b, 0x4b,
+0x3b, 0x4b, 0x3b, 0x47, 0x3b, 0x47, 0x3b, 0x4d, 0x3b, 0x4b, 0x3b, 0x4b, 0x3b, 0x49, 0x3b, 0x49, 0x3b, 0x49, 0x3b, 0x13a4,
+0x13c3, 0x3b, 0x13a7, 0x13a6, 0x3b, 0x13a0, 0x13c5, 0x3b, 0x13a7, 0x13ec, 0x3b, 0x13a0, 0x13c2, 0x3b, 0x13d5, 0x13ad, 0x3b, 0x13ab, 0x13f0, 0x3b,
+0x13a6, 0x13b6, 0x3b, 0x13da, 0x13b5, 0x3b, 0x13da, 0x13c2, 0x3b, 0x13c5, 0x13d3, 0x3b, 0x13a4, 0x13cd, 0x3b, 0x13a4, 0x13c3, 0x13b8, 0x13d4, 0x13c5,
+0x3b, 0x13a7, 0x13a6, 0x13b5, 0x3b, 0x13a0, 0x13c5, 0x13f1, 0x3b, 0x13a7, 0x13ec, 0x13c2, 0x3b, 0x13a0, 0x13c2, 0x13cd, 0x13ac, 0x13d8, 0x3b, 0x13d5,
+0x13ad, 0x13b7, 0x13f1, 0x3b, 0x13ab, 0x13f0, 0x13c9, 0x13c2, 0x3b, 0x13a6, 0x13b6, 0x13c2, 0x3b, 0x13da, 0x13b5, 0x13cd, 0x13d7, 0x3b, 0x13da, 0x13c2,
+0x13c5, 0x13d7, 0x3b, 0x13c5, 0x13d3, 0x13d5, 0x13c6, 0x3b, 0x13a4, 0x13cd, 0x13a9, 0x13f1, 0x3b, 0x13a4, 0x3b, 0x13a7, 0x3b, 0x13a0, 0x3b, 0x13a7,
+0x3b, 0x13a0, 0x3b, 0x13d5, 0x3b, 0x13ab, 0x3b, 0x13a6, 0x3b, 0x13da, 0x3b, 0x13da, 0x3b, 0x13c5, 0x3b, 0x13a4, 0x3b, 0x7a, 0x61, 0x6e,
+0x3b, 0x66, 0x65, 0x76, 0x3b, 0x6d, 0x61, 0x72, 0x3b, 0x61, 0x76, 0x72, 0x3b, 0x6d, 0x65, 0x3b, 0x7a, 0x69, 0x6e, 0x3b,
+0x7a, 0x69, 0x6c, 0x3b, 0x6f, 0x75, 0x74, 0x3b, 0x73, 0x65, 0x70, 0x3b, 0x6f, 0x6b, 0x74, 0x3b, 0x6e, 0x6f, 0x76, 0x3b,
+0x64, 0x65, 0x73, 0x3b, 0x7a, 0x61, 0x6e, 0x76, 0x69, 0x65, 0x3b, 0x66, 0x65, 0x76, 0x72, 0x69, 0x79, 0x65, 0x3b, 0x6d,
+0x61, 0x72, 0x73, 0x3b, 0x61, 0x76, 0x72, 0x69, 0x6c, 0x3b, 0x6d, 0x65, 0x3b, 0x7a, 0x69, 0x6e, 0x3b, 0x7a, 0x69, 0x6c,
+0x79, 0x65, 0x3b, 0x6f, 0x75, 0x74, 0x3b, 0x73, 0x65, 0x70, 0x74, 0x61, 0x6d, 0x3b, 0x6f, 0x6b, 0x74, 0x6f, 0x62, 0x3b,
+0x6e, 0x6f, 0x76, 0x61, 0x6d, 0x3b, 0x64, 0x65, 0x73, 0x61, 0x6d, 0x3b, 0x7a, 0x3b, 0x66, 0x3b, 0x6d, 0x3b, 0x61, 0x3b,
+0x6d, 0x3b, 0x7a, 0x3b, 0x7a, 0x3b, 0x6f, 0x3b, 0x73, 0x3b, 0x6f, 0x3b, 0x6e, 0x3b, 0x64, 0x3b, 0x4d, 0x77, 0x65, 0x64,
+0x69, 0x20, 0x4e, 0x74, 0x61, 0x6e, 0x64, 0x69, 0x3b, 0x4d, 0x77, 0x65, 0x64, 0x69, 0x20, 0x77, 0x61, 0x20, 0x50, 0x69,
+0x6c, 0x69, 0x3b, 0x4d, 0x77, 0x65, 0x64, 0x69, 0x20, 0x77, 0x61, 0x20, 0x54, 0x61, 0x74, 0x75, 0x3b, 0x4d, 0x77, 0x65,
+0x64, 0x69, 0x20, 0x77, 0x61, 0x20, 0x4e, 0x63, 0x68, 0x65, 0x63, 0x68, 0x69, 0x3b, 0x4d, 0x77, 0x65, 0x64, 0x69, 0x20,
+0x77, 0x61, 0x20, 0x4e, 0x6e, 0x79, 0x61, 0x6e, 0x6f, 0x3b, 0x4d, 0x77, 0x65, 0x64, 0x69, 0x20, 0x77, 0x61, 0x20, 0x4e,
+0x6e, 0x79, 0x61, 0x6e, 0x6f, 0x20, 0x6e, 0x61, 0x20, 0x55, 0x6d, 0x6f, 0x3b, 0x4d, 0x77, 0x65, 0x64, 0x69, 0x20, 0x77,
+0x61, 0x20, 0x4e, 0x6e, 0x79, 0x61, 0x6e, 0x6f, 0x20, 0x6e, 0x61, 0x20, 0x4d, 0x69, 0x76, 0x69, 0x6c, 0x69, 0x3b, 0x4d,
+0x77, 0x65, 0x64, 0x69, 0x20, 0x77, 0x61, 0x20, 0x4e, 0x6e, 0x79, 0x61, 0x6e, 0x6f, 0x20, 0x6e, 0x61, 0x20, 0x4d, 0x69,
+0x74, 0x61, 0x74, 0x75, 0x3b, 0x4d, 0x77, 0x65, 0x64, 0x69, 0x20, 0x77, 0x61, 0x20, 0x4e, 0x6e, 0x79, 0x61, 0x6e, 0x6f,
+0x20, 0x6e, 0x61, 0x20, 0x4e, 0x63, 0x68, 0x65, 0x63, 0x68, 0x69, 0x3b, 0x4d, 0x77, 0x65, 0x64, 0x69, 0x20, 0x77, 0x61,
+0x20, 0x4e, 0x6e, 0x79, 0x61, 0x6e, 0x6f, 0x20, 0x6e, 0x61, 0x20, 0x4e, 0x6e, 0x79, 0x61, 0x6e, 0x6f, 0x3b, 0x4d, 0x77,
+0x65, 0x64, 0x69, 0x20, 0x77, 0x61, 0x20, 0x4e, 0x6e, 0x79, 0x61, 0x6e, 0x6f, 0x20, 0x6e, 0x61, 0x20, 0x4e, 0x6e, 0x79,
+0x61, 0x6e, 0x6f, 0x20, 0x6e, 0x61, 0x20, 0x55, 0x3b, 0x4d, 0x77, 0x65, 0x64, 0x69, 0x20, 0x77, 0x61, 0x20, 0x4e, 0x6e,
+0x79, 0x61, 0x6e, 0x6f, 0x20, 0x6e, 0x61, 0x20, 0x4e, 0x6e, 0x79, 0x61, 0x6e, 0x6f, 0x20, 0x6e, 0x61, 0x20, 0x4d, 0x3b,
+0x46, 0xfa, 0x6e, 0x67, 0x61, 0x74, 0x268, 0x3b, 0x4e, 0x61, 0x61, 0x6e, 0x268, 0x3b, 0x4b, 0x65, 0x65, 0x6e, 0x64, 0x61,
+0x3b, 0x49, 0x6b, 0xfa, 0x6d, 0x69, 0x3b, 0x49, 0x6e, 0x79, 0x61, 0x6d, 0x62, 0x61, 0x6c, 0x61, 0x3b, 0x49, 0x64, 0x77,
+0x61, 0x61, 0x74, 0x61, 0x3b, 0x4d, 0x289, 0x289, 0x6e, 0x63, 0x68, 0x268, 0x3b, 0x56, 0x268, 0x268, 0x72, 0x268, 0x3b, 0x53,
+0x61, 0x61, 0x74, 0x289, 0x3b, 0x49, 0x6e, 0x79, 0x69, 0x3b, 0x53, 0x61, 0x61, 0x6e, 0x6f, 0x3b, 0x53, 0x61, 0x73, 0x61,
+0x74, 0x289, 0x3b, 0x4b, 0x289, 0x66, 0xfa, 0x6e, 0x67, 0x61, 0x74, 0x268, 0x3b, 0x4b, 0x289, 0x6e, 0x61, 0x61, 0x6e, 0x268,
+0x3b, 0x4b, 0x289, 0x6b, 0x65, 0x65, 0x6e, 0x64, 0x61, 0x3b, 0x4b, 0x77, 0x69, 0x69, 0x6b, 0x75, 0x6d, 0x69, 0x3b, 0x4b,
+0x77, 0x69, 0x69, 0x6e, 0x79, 0x61, 0x6d, 0x62, 0xe1, 0x6c, 0x61, 0x3b, 0x4b, 0x77, 0x69, 0x69, 0x64, 0x77, 0x61, 0x61,
+0x74, 0x61, 0x3b, 0x4b, 0x289, 0x6d, 0x289, 0x289, 0x6e, 0x63, 0x68, 0x268, 0x3b, 0x4b, 0x289, 0x76, 0x268, 0x268, 0x72, 0x268,
+0x3b, 0x4b, 0x289, 0x73, 0x61, 0x61, 0x74, 0x289, 0x3b, 0x4b, 0x77, 0x69, 0x69, 0x6e, 0x79, 0x69, 0x3b, 0x4b, 0x289, 0x73,
+0x61, 0x61, 0x6e, 0x6f, 0x3b, 0x4b, 0x289, 0x73, 0x61, 0x73, 0x61, 0x74, 0x289, 0x3b, 0x46, 0x3b, 0x4e, 0x3b, 0x4b, 0x3b,
+0x49, 0x3b, 0x49, 0x3b, 0x49, 0x3b, 0x4d, 0x3b, 0x56, 0x3b, 0x53, 0x3b, 0x49, 0x3b, 0x53, 0x3b, 0x53, 0x3b, 0x4a, 0x61,
+0x6e, 0x3b, 0x46, 0x65, 0x62, 0x3b, 0x4d, 0x61, 0x72, 0x3b, 0x41, 0x70, 0x75, 0x3b, 0x4d, 0x61, 0x61, 0x3b, 0x4a, 0x75,
+0x75, 0x3b, 0x4a, 0x75, 0x6c, 0x3b, 0x41, 0x67, 0x75, 0x3b, 0x53, 0x65, 0x62, 0x3b, 0x4f, 0x6b, 0x69, 0x3b, 0x4e, 0x6f,
+0x76, 0x3b, 0x44, 0x65, 0x73, 0x3b, 0x4a, 0x61, 0x6e, 0x77, 0x61, 0x6c, 0x69, 0x79, 0x6f, 0x3b, 0x46, 0x65, 0x62, 0x77,
+0x61, 0x6c, 0x69, 0x79, 0x6f, 0x3b, 0x4d, 0x61, 0x72, 0x69, 0x73, 0x69, 0x3b, 0x41, 0x70, 0x75, 0x6c, 0x69, 0x3b, 0x4d,
+0x61, 0x61, 0x79, 0x69, 0x3b, 0x4a, 0x75, 0x75, 0x6e, 0x69, 0x3b, 0x4a, 0x75, 0x6c, 0x61, 0x61, 0x79, 0x69, 0x3b, 0x41,
+0x67, 0x75, 0x73, 0x69, 0x74, 0x6f, 0x3b, 0x53, 0x65, 0x62, 0x75, 0x74, 0x74, 0x65, 0x6d, 0x62, 0x61, 0x3b, 0x4f, 0x6b,
+0x69, 0x74, 0x6f, 0x62, 0x62, 0x61, 0x3b, 0x4e, 0x6f, 0x76, 0x65, 0x6d, 0x62, 0x61, 0x3b, 0x44, 0x65, 0x73, 0x65, 0x6d,
+0x62, 0x61, 0x3b, 0x4a, 0x61, 0x6e, 0x3b, 0x46, 0x65, 0x62, 0x3b, 0x4d, 0x61, 0x63, 0x3b, 0x45, 0x70, 0x72, 0x3b, 0x4d,
+0x65, 0x69, 0x3b, 0x4a, 0x75, 0x6e, 0x3b, 0x4a, 0x75, 0x6c, 0x3b, 0x4f, 0x67, 0x61, 0x3b, 0x53, 0x65, 0x70, 0x3b, 0x4f,
+0x6b, 0x74, 0x3b, 0x4e, 0x6f, 0x76, 0x3b, 0x44, 0x69, 0x73, 0x3b, 0x4a, 0x61, 0x6e, 0x75, 0x61, 0x72, 0x69, 0x3b, 0x46,
+0x65, 0x62, 0x72, 0x75, 0x61, 0x72, 0x69, 0x3b, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x3b, 0x45, 0x70, 0x72, 0x65, 0x6f, 0x3b,
+0x4d, 0x65, 0x69, 0x3b, 0x4a, 0x75, 0x6e, 0x69, 0x3b, 0x4a, 0x75, 0x6c, 0x61, 0x69, 0x3b, 0x4f, 0x67, 0x61, 0x73, 0x74,
+0x69, 0x3b, 0x53, 0x65, 0x70, 0x74, 0x65, 0x6d, 0x62, 0x61, 0x3b, 0x4f, 0x6b, 0x74, 0x6f, 0x62, 0x61, 0x3b, 0x4e, 0x6f,
+0x76, 0x65, 0x6d, 0x62, 0x61, 0x3b, 0x44, 0x69, 0x73, 0x65, 0x6d, 0x62, 0x61, 0x3b, 0x4a, 0x3b, 0x46, 0x3b, 0x4d, 0x3b,
+0x45, 0x3b, 0x4d, 0x3b, 0x4a, 0x3b, 0x4a, 0x3b, 0x4f, 0x3b, 0x53, 0x3b, 0x4f, 0x3b, 0x4e, 0x3b, 0x44, 0x3b, 0x4a, 0x61,
+0x6e, 0x3b, 0x46, 0x65, 0x76, 0x3b, 0x4d, 0x61, 0x72, 0x3b, 0x41, 0x62, 0x72, 0x3b, 0x4d, 0x61, 0x69, 0x3b, 0x4a, 0x75,
+0x6e, 0x3b, 0x4a, 0x75, 0x6c, 0x3b, 0x41, 0x67, 0x6f, 0x3b, 0x53, 0x65, 0x74, 0x3b, 0x4f, 0x74, 0x75, 0x3b, 0x4e, 0x75,
+0x76, 0x3b, 0x44, 0x69, 0x7a, 0x3b, 0x4a, 0x61, 0x6e, 0x65, 0x72, 0x75, 0x3b, 0x46, 0x65, 0x76, 0x65, 0x72, 0x65, 0x72,
+0x75, 0x3b, 0x4d, 0x61, 0x72, 0x73, 0x75, 0x3b, 0x41, 0x62, 0x72, 0x69, 0x6c, 0x3b, 0x4d, 0x61, 0x69, 0x75, 0x3b, 0x4a,
+0x75, 0x6e, 0x68, 0x75, 0x3b, 0x4a, 0x75, 0x6c, 0x68, 0x75, 0x3b, 0x41, 0x67, 0x6f, 0x73, 0x74, 0x75, 0x3b, 0x53, 0x65,
+0x74, 0x65, 0x6e, 0x62, 0x72, 0x75, 0x3b, 0x4f, 0x74, 0x75, 0x62, 0x72, 0x75, 0x3b, 0x4e, 0x75, 0x76, 0x65, 0x6e, 0x62,
+0x72, 0x75, 0x3b, 0x44, 0x69, 0x7a, 0x65, 0x6e, 0x62, 0x72, 0x75, 0x3b, 0x4a, 0x41, 0x4e, 0x3b, 0x46, 0x45, 0x42, 0x3b,
+0x4d, 0x41, 0x43, 0x3b, 0x128, 0x50, 0x55, 0x3b, 0x4d, 0x128, 0x128, 0x3b, 0x4e, 0x4a, 0x55, 0x3b, 0x4e, 0x4a, 0x52, 0x3b,
+0x41, 0x47, 0x41, 0x3b, 0x53, 0x50, 0x54, 0x3b, 0x4f, 0x4b, 0x54, 0x3b, 0x4e, 0x4f, 0x56, 0x3b, 0x44, 0x45, 0x43, 0x3b,
+0x4a, 0x61, 0x6e, 0x75, 0x61, 0x72, 0x129, 0x3b, 0x46, 0x65, 0x62, 0x75, 0x72, 0x75, 0x61, 0x72, 0x129, 0x3b, 0x4d, 0x61,
+0x63, 0x68, 0x69, 0x3b, 0x128, 0x70, 0x75, 0x72, 0x169, 0x3b, 0x4d, 0x129, 0x129, 0x3b, 0x4e, 0x6a, 0x75, 0x6e, 0x69, 0x3b,
+0x4e, 0x6a, 0x75, 0x72, 0x61, 0x129, 0x3b, 0x41, 0x67, 0x61, 0x73, 0x74, 0x69, 0x3b, 0x53, 0x65, 0x70, 0x74, 0x65, 0x6d,
+0x62, 0x61, 0x3b, 0x4f, 0x6b, 0x74, 0x169, 0x62, 0x61, 0x3b, 0x4e, 0x6f, 0x76, 0x65, 0x6d, 0x62, 0x61, 0x3b, 0x44, 0x69,
+0x63, 0x65, 0x6d, 0x62, 0x61, 0x3b, 0x4a, 0x3b, 0x46, 0x3b, 0x4d, 0x3b, 0x128, 0x3b, 0x4d, 0x3b, 0x4e, 0x3b, 0x4e, 0x3b,
+0x41, 0x3b, 0x53, 0x3b, 0x4f, 0x3b, 0x4e, 0x3b, 0x44, 0x3b, 0x4d, 0x75, 0x6c, 0x3b, 0x4e, 0x67, 0x61, 0x3b, 0x4b, 0x69,
+0x70, 0x3b, 0x49, 0x77, 0x61, 0x3b, 0x4e, 0x67, 0x65, 0x3b, 0x57, 0x61, 0x6b, 0x3b, 0x52, 0x6f, 0x70, 0x3b, 0x4b, 0x6f,
+0x67, 0x3b, 0x42, 0x75, 0x72, 0x3b, 0x45, 0x70, 0x65, 0x3b, 0x54, 0x61, 0x69, 0x3b, 0x41, 0x65, 0x6e, 0x3b, 0x4d, 0x75,
+0x6c, 0x67, 0x75, 0x6c, 0x3b, 0x4e, 0x67, 0x27, 0x61, 0x74, 0x79, 0x61, 0x74, 0x6f, 0x3b, 0x4b, 0x69, 0x70, 0x74, 0x61,
+0x6d, 0x6f, 0x3b, 0x49, 0x77, 0x61, 0x74, 0x20, 0x6b, 0x75, 0x74, 0x3b, 0x4e, 0x67, 0x27, 0x65, 0x69, 0x79, 0x65, 0x74,
+0x3b, 0x57, 0x61, 0x6b, 0x69, 0x3b, 0x52, 0x6f, 0x70, 0x74, 0x75, 0x69, 0x3b, 0x4b, 0x69, 0x70, 0x6b, 0x6f, 0x67, 0x61,
+0x67, 0x61, 0x3b, 0x42, 0x75, 0x72, 0x65, 0x74, 0x3b, 0x45, 0x70, 0x65, 0x73, 0x6f, 0x3b, 0x4b, 0x69, 0x70, 0x73, 0x75,
+0x6e, 0x64, 0x65, 0x20, 0x6e, 0x65, 0x74, 0x61, 0x69, 0x3b, 0x4b, 0x69, 0x70, 0x73, 0x75, 0x6e, 0x64, 0x65, 0x20, 0x6e,
+0x65, 0x62, 0x6f, 0x20, 0x61, 0x65, 0x6e, 0x67, 0x3b, 0x4d, 0x3b, 0x4e, 0x3b, 0x4b, 0x3b, 0x49, 0x3b, 0x4e, 0x3b, 0x57,
+0x3b, 0x52, 0x3b, 0x4b, 0x3b, 0x42, 0x3b, 0x45, 0x3b, 0x4b, 0x3b, 0x4b, 0x3b, 0x1c3, 0x4b, 0x68, 0x61, 0x6e, 0x6e, 0x69,
+0x3b, 0x1c3, 0x4b, 0x68, 0x61, 0x6e, 0x1c0, 0x67, 0xf4, 0x61, 0x62, 0x3b, 0x1c0, 0x4b, 0x68, 0x75, 0x75, 0x1c1, 0x6b, 0x68,
+0xe2, 0x62, 0x3b, 0x1c3, 0x48, 0xf4, 0x61, 0x1c2, 0x6b, 0x68, 0x61, 0x69, 0x62, 0x3b, 0x1c3, 0x4b, 0x68, 0x61, 0x69, 0x74,
+0x73, 0xe2, 0x62, 0x3b, 0x47, 0x61, 0x6d, 0x61, 0x1c0, 0x61, 0x65, 0x62, 0x3b, 0x1c2, 0x4b, 0x68, 0x6f, 0x65, 0x73, 0x61,
+0x6f, 0x62, 0x3b, 0x41, 0x6f, 0x1c1, 0x6b, 0x68, 0x75, 0x75, 0x6d, 0xfb, 0x1c1, 0x6b, 0x68, 0xe2, 0x62, 0x3b, 0x54, 0x61,
+0x72, 0x61, 0x1c0, 0x6b, 0x68, 0x75, 0x75, 0x6d, 0xfb, 0x1c1, 0x6b, 0x68, 0xe2, 0x62, 0x3b, 0x1c2, 0x4e, 0xfb, 0x1c1, 0x6e,
+0xe2, 0x69, 0x73, 0x65, 0x62, 0x3b, 0x1c0, 0x48, 0x6f, 0x6f, 0x1c2, 0x67, 0x61, 0x65, 0x62, 0x3b, 0x48, 0xf4, 0x61, 0x73,
+0x6f, 0x72, 0x65, 0x1c1, 0x6b, 0x68, 0xe2, 0x62, 0x3b, 0x4a, 0x61, 0x6e, 0x2e, 0x3b, 0x46, 0xe4, 0x62, 0x2e, 0x3b, 0x4d,
+0x61, 0x72, 0x2e, 0x3b, 0x41, 0x70, 0x72, 0x2e, 0x3b, 0x4d, 0xe4, 0x69, 0x3b, 0x4a, 0x75, 0x6e, 0x2e, 0x3b, 0x4a, 0x75,
+0x6c, 0x2e, 0x3b, 0x4f, 0x75, 0x67, 0x2e, 0x3b, 0x53, 0xe4, 0x70, 0x2e, 0x3b, 0x4f, 0x6b, 0x74, 0x2e, 0x3b, 0x4e, 0x6f,
+0x76, 0x2e, 0x3b, 0x44, 0x65, 0x7a, 0x2e, 0x3b, 0x4a, 0x61, 0x6e, 0x6e, 0x65, 0x77, 0x61, 0x3b, 0x46, 0xe4, 0x62, 0x72,
+0x6f, 0x77, 0x61, 0x3b, 0x4d, 0xe4, 0xe4, 0x7a, 0x3b, 0x41, 0x70, 0x72, 0x65, 0x6c, 0x6c, 0x3b, 0x4d, 0xe4, 0x69, 0x3b,
+0x4a, 0x75, 0x75, 0x6e, 0x69, 0x3b, 0x4a, 0x75, 0x75, 0x6c, 0x69, 0x3b, 0x4f, 0x75, 0x6a, 0x6f, 0xdf, 0x3b, 0x53, 0x65,
+0x70, 0x74, 0xe4, 0x6d, 0x62, 0x65, 0x72, 0x3b, 0x4f, 0x6b, 0x74, 0x6f, 0x6f, 0x62, 0x65, 0x72, 0x3b, 0x4e, 0x6f, 0x76,
+0xe4, 0x6d, 0x62, 0x65, 0x72, 0x3b, 0x44, 0x65, 0x7a, 0xe4, 0x6d, 0x62, 0x65, 0x72, 0x3b, 0x44, 0x61, 0x6c, 0x3b, 0x41,
+0x72, 0xe1, 0x3b, 0x186, 0x25b, 0x6e, 0x3b, 0x44, 0x6f, 0x79, 0x3b, 0x4c, 0xe9, 0x70, 0x3b, 0x52, 0x6f, 0x6b, 0x3b, 0x53,
+0xe1, 0x73, 0x3b, 0x42, 0x254, 0x301, 0x72, 0x3b, 0x4b, 0xfa, 0x73, 0x3b, 0x47, 0xed, 0x73, 0x3b, 0x53, 0x68, 0x289, 0x301,
+0x3b, 0x4e, 0x74, 0x289, 0x301, 0x3b, 0x4f, 0x6c, 0x61, 0x64, 0x61, 0x6c, 0x289, 0x301, 0x3b, 0x41, 0x72, 0xe1, 0x74, 0x3b,
+0x186, 0x25b, 0x6e, 0x268, 0x301, 0x254, 0x268, 0x14b, 0x254, 0x6b, 0x3b, 0x4f, 0x6c, 0x6f, 0x64, 0x6f, 0x79, 0xed, 0xf3, 0x72,
+0xed, 0xea, 0x20, 0x69, 0x6e, 0x6b, 0xf3, 0x6b, 0xfa, 0xe2, 0x3b, 0x4f, 0x6c, 0x6f, 0x69, 0x6c, 0xe9, 0x70, 0x16b, 0x6e,
+0x79, 0x12b, 0x113, 0x20, 0x69, 0x6e, 0x6b, 0xf3, 0x6b, 0xfa, 0xe2, 0x3b, 0x4b, 0xfa, 0x6a, 0xfa, 0x254, 0x72, 0x254, 0x6b,
+0x3b, 0x4d, 0xf3, 0x72, 0x75, 0x73, 0xe1, 0x73, 0x69, 0x6e, 0x3b, 0x186, 0x6c, 0x254, 0x301, 0x268, 0x301, 0x62, 0x254, 0x301,
+0x72, 0xe1, 0x72, 0x25b, 0x3b, 0x4b, 0xfa, 0x73, 0x68, 0xee, 0x6e, 0x3b, 0x4f, 0x6c, 0x67, 0xed, 0x73, 0x61, 0x6e, 0x3b,
+0x50, 0x289, 0x73, 0x68, 0x289, 0x301, 0x6b, 0x61, 0x3b, 0x4e, 0x74, 0x289, 0x301, 0x14b, 0x289, 0x301, 0x73, 0x3b, 0x4a, 0x61,
+0x6e, 0x3b, 0x46, 0x65, 0x62, 0x3b, 0x4d, 0x61, 0x72, 0x3b, 0x41, 0x70, 0x72, 0x3b, 0x4d, 0x65, 0x69, 0x3b, 0x4a, 0x75,
+0x6e, 0x3b, 0x4a, 0x75, 0x6c, 0x3b, 0x41, 0x67, 0x6f, 0x3b, 0x53, 0x65, 0x70, 0x3b, 0x4f, 0x6b, 0x74, 0x3b, 0x4e, 0x6f,
+0x76, 0x3b, 0x44, 0x65, 0x73, 0x3b, 0x4a, 0x61, 0x6e, 0x3b, 0x46, 0x65, 0x62, 0x3b, 0x4d, 0x61, 0x63, 0x3b, 0x41, 0x70,
+0x72, 0x3b, 0x4d, 0x65, 0x69, 0x3b, 0x4a, 0x75, 0x6e, 0x3b, 0x4a, 0x75, 0x6c, 0x3b, 0x41, 0x67, 0x6f, 0x3b, 0x53, 0x65,
+0x70, 0x3b, 0x4f, 0x6b, 0x74, 0x3b, 0x4e, 0x6f, 0x76, 0x3b, 0x44, 0x65, 0x63, 0x3b, 0x52, 0x61, 0x72, 0x3b, 0x4d, 0x75,
+0x6b, 0x3b, 0x4b, 0x77, 0x61, 0x3b, 0x44, 0x75, 0x6e, 0x3b, 0x4d, 0x61, 0x72, 0x3b, 0x4d, 0x6f, 0x64, 0x3b, 0x4a, 0x6f,
+0x6c, 0x3b, 0x50, 0x65, 0x64, 0x3b, 0x53, 0x6f, 0x6b, 0x3b, 0x54, 0x69, 0x62, 0x3b, 0x4c, 0x61, 0x62, 0x3b, 0x50, 0x6f,
+0x6f, 0x3b, 0x4f, 0x72, 0x61, 0x72, 0x61, 0x3b, 0x4f, 0x6d, 0x75, 0x6b, 0x3b, 0x4f, 0x6b, 0x77, 0x61, 0x6d, 0x67, 0x27,
+0x3b, 0x4f, 0x64, 0x75, 0x6e, 0x67, 0x27, 0x65, 0x6c, 0x3b, 0x4f, 0x6d, 0x61, 0x72, 0x75, 0x6b, 0x3b, 0x4f, 0x6d, 0x6f,
+0x64, 0x6f, 0x6b, 0x27, 0x6b, 0x69, 0x6e, 0x67, 0x27, 0x6f, 0x6c, 0x3b, 0x4f, 0x6a, 0x6f, 0x6c, 0x61, 0x3b, 0x4f, 0x70,
+0x65, 0x64, 0x65, 0x6c, 0x3b, 0x4f, 0x73, 0x6f, 0x6b, 0x6f, 0x73, 0x6f, 0x6b, 0x6f, 0x6d, 0x61, 0x3b, 0x4f, 0x74, 0x69,
+0x62, 0x61, 0x72, 0x3b, 0x4f, 0x6c, 0x61, 0x62, 0x6f, 0x72, 0x3b, 0x4f, 0x70, 0x6f, 0x6f, 0x3b, 0x52, 0x3b, 0x4d, 0x3b,
+0x4b, 0x3b, 0x44, 0x3b, 0x4d, 0x3b, 0x4d, 0x3b, 0x4a, 0x3b, 0x50, 0x3b, 0x53, 0x3b, 0x54, 0x3b, 0x4c, 0x3b, 0x50, 0x3b,
+0x17d, 0x61, 0x6e, 0x3b, 0x46, 0x65, 0x65, 0x3b, 0x4d, 0x61, 0x72, 0x3b, 0x41, 0x77, 0x69, 0x3b, 0x4d, 0x65, 0x3b, 0x17d,
+0x75, 0x77, 0x3b, 0x17d, 0x75, 0x79, 0x3b, 0x55, 0x74, 0x3b, 0x53, 0x65, 0x6b, 0x3b, 0x4f, 0x6b, 0x74, 0x3b, 0x4e, 0x6f,
+0x6f, 0x3b, 0x44, 0x65, 0x65, 0x3b, 0x17d, 0x61, 0x6e, 0x77, 0x69, 0x79, 0x65, 0x3b, 0x46, 0x65, 0x65, 0x77, 0x69, 0x72,
+0x69, 0x79, 0x65, 0x3b, 0x4d, 0x61, 0x72, 0x73, 0x69, 0x3b, 0x41, 0x77, 0x69, 0x72, 0x69, 0x6c, 0x3b, 0x4d, 0x65, 0x3b,
+0x17d, 0x75, 0x77, 0x65, 0x14b, 0x3b, 0x17d, 0x75, 0x79, 0x79, 0x65, 0x3b, 0x55, 0x74, 0x3b, 0x53, 0x65, 0x6b, 0x74, 0x61,
+0x6e, 0x62, 0x75, 0x72, 0x3b, 0x4f, 0x6b, 0x74, 0x6f, 0x6f, 0x62, 0x75, 0x72, 0x3b, 0x4e, 0x6f, 0x6f, 0x77, 0x61, 0x6e,
+0x62, 0x75, 0x72, 0x3b, 0x44, 0x65, 0x65, 0x73, 0x61, 0x6e, 0x62, 0x75, 0x72, 0x3b, 0x17d, 0x3b, 0x46, 0x3b, 0x4d, 0x3b,
+0x41, 0x3b, 0x4d, 0x3b, 0x17d, 0x3b, 0x17d, 0x3b, 0x55, 0x3b, 0x53, 0x3b, 0x4f, 0x3b, 0x4e, 0x3b, 0x44, 0x3b, 0x44, 0x41,
+0x43, 0x3b, 0x44, 0x41, 0x52, 0x3b, 0x44, 0x41, 0x44, 0x3b, 0x44, 0x41, 0x4e, 0x3b, 0x44, 0x41, 0x48, 0x3b, 0x44, 0x41,
+0x55, 0x3b, 0x44, 0x41, 0x4f, 0x3b, 0x44, 0x41, 0x42, 0x3b, 0x44, 0x4f, 0x43, 0x3b, 0x44, 0x41, 0x50, 0x3b, 0x44, 0x47,
+0x49, 0x3b, 0x44, 0x41, 0x47, 0x3b, 0x44, 0x77, 0x65, 0x20, 0x6d, 0x61, 0x72, 0x20, 0x41, 0x63, 0x68, 0x69, 0x65, 0x6c,
+0x3b, 0x44, 0x77, 0x65, 0x20, 0x6d, 0x61, 0x72, 0x20, 0x41, 0x72, 0x69, 0x79, 0x6f, 0x3b, 0x44, 0x77, 0x65, 0x20, 0x6d,
+0x61, 0x72, 0x20, 0x41, 0x64, 0x65, 0x6b, 0x3b, 0x44, 0x77, 0x65, 0x20, 0x6d, 0x61, 0x72, 0x20, 0x41, 0x6e, 0x67, 0x27,
+0x77, 0x65, 0x6e, 0x3b, 0x44, 0x77, 0x65, 0x20, 0x6d, 0x61, 0x72, 0x20, 0x41, 0x62, 0x69, 0x63, 0x68, 0x3b, 0x44, 0x77,
+0x65, 0x20, 0x6d, 0x61, 0x72, 0x20, 0x41, 0x75, 0x63, 0x68, 0x69, 0x65, 0x6c, 0x3b, 0x44, 0x77, 0x65, 0x20, 0x6d, 0x61,
+0x72, 0x20, 0x41, 0x62, 0x69, 0x72, 0x69, 0x79, 0x6f, 0x3b, 0x44, 0x77, 0x65, 0x20, 0x6d, 0x61, 0x72, 0x20, 0x41, 0x62,
+0x6f, 0x72, 0x6f, 0x3b, 0x44, 0x77, 0x65, 0x20, 0x6d, 0x61, 0x72, 0x20, 0x4f, 0x63, 0x68, 0x69, 0x6b, 0x6f, 0x3b, 0x44,
+0x77, 0x65, 0x20, 0x6d, 0x61, 0x72, 0x20, 0x41, 0x70, 0x61, 0x72, 0x3b, 0x44, 0x77, 0x65, 0x20, 0x6d, 0x61, 0x72, 0x20,
+0x67, 0x69, 0x20, 0x61, 0x63, 0x68, 0x69, 0x65, 0x6c, 0x3b, 0x44, 0x77, 0x65, 0x20, 0x6d, 0x61, 0x72, 0x20, 0x41, 0x70,
+0x61, 0x72, 0x20, 0x67, 0x69, 0x20, 0x61, 0x72, 0x69, 0x79, 0x6f, 0x3b, 0x43, 0x3b, 0x52, 0x3b, 0x44, 0x3b, 0x4e, 0x3b,
+0x42, 0x3b, 0x55, 0x3b, 0x42, 0x3b, 0x42, 0x3b, 0x43, 0x3b, 0x50, 0x3b, 0x43, 0x3b, 0x50, 0x3b, 0x59, 0x65, 0x6e, 0x3b,
+0x59, 0x65, 0x62, 0x3b, 0x4d, 0x61, 0x72, 0x3b, 0x49, 0x62, 0x72, 0x3b, 0x4d, 0x61, 0x79, 0x3b, 0x59, 0x75, 0x6e, 0x3b,
+0x59, 0x75, 0x6c, 0x3b, 0x194, 0x75, 0x63, 0x3b, 0x43, 0x75, 0x74, 0x3b, 0x4b, 0x1e6d, 0x75, 0x3b, 0x4e, 0x77, 0x61, 0x3b,
+0x44, 0x75, 0x6a, 0x3b, 0x59, 0x65, 0x6e, 0x6e, 0x61, 0x79, 0x65, 0x72, 0x3b, 0x59, 0x65, 0x62, 0x72, 0x61, 0x79, 0x65,
+0x72, 0x3b, 0x4d, 0x61, 0x72, 0x73, 0x3b, 0x49, 0x62, 0x72, 0x69, 0x72, 0x3b, 0x4d, 0x61, 0x79, 0x79, 0x75, 0x3b, 0x59,
+0x75, 0x6e, 0x79, 0x75, 0x3b, 0x59, 0x75, 0x6c, 0x79, 0x75, 0x7a, 0x3b, 0x194, 0x75, 0x63, 0x74, 0x3b, 0x43, 0x75, 0x74,
+0x61, 0x6e, 0x62, 0x69, 0x72, 0x3b, 0x4b, 0x1e6d, 0x75, 0x62, 0x65, 0x72, 0x3b, 0x4e, 0x77, 0x61, 0x6e, 0x62, 0x69, 0x72,
+0x3b, 0x44, 0x75, 0x6a, 0x61, 0x6e, 0x62, 0x69, 0x72, 0x3b, 0x59, 0x3b, 0x59, 0x3b, 0x4d, 0x3b, 0x49, 0x3b, 0x4d, 0x3b,
+0x59, 0x3b, 0x59, 0x3b, 0x194, 0x3b, 0x43, 0x3b, 0x4b, 0x3b, 0x4e, 0x3b, 0x44, 0x3b, 0x4a, 0x61, 0x6e, 0x75, 0x61, 0x6c,
+0x69, 0x3b, 0x46, 0x65, 0x62, 0x6c, 0x75, 0x61, 0x6c, 0x69, 0x3b, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x3b, 0x41, 0x70, 0x6c,
+0x69, 0x6c, 0x69, 0x3b, 0x4d, 0x65, 0x69, 0x3b, 0x4a, 0x75, 0x6e, 0x69, 0x3b, 0x4a, 0x75, 0x6c, 0x61, 0x69, 0x3b, 0x41,
+0x67, 0x6f, 0x73, 0x74, 0x69, 0x3b, 0x53, 0x65, 0x70, 0x74, 0x65, 0x6d, 0x62, 0x61, 0x3b, 0x4f, 0x6b, 0x74, 0x6f, 0x62,
+0x61, 0x3b, 0x4e, 0x6f, 0x76, 0x65, 0x6d, 0x62, 0x61, 0x3b, 0x44, 0x65, 0x73, 0x65, 0x6d, 0x62, 0x61, 0x3b
};
static const ushort days_data[] = {
@@ -3713,13 +3713,13 @@ static const ushort days_data[] = {
0x430, 0x432, 0x430, 0x430, 0x3b, 0x43c, 0x44f, 0x433, 0x43c, 0x430, 0x440, 0x3b, 0x43b, 0x445, 0x430, 0x433, 0x432, 0x430, 0x3b, 0x43f,
0x4af, 0x440, 0x44d, 0x432, 0x3b, 0x431, 0x430, 0x430, 0x441, 0x430, 0x43d, 0x3b, 0x431, 0x44f, 0x43c, 0x431, 0x430, 0x3b, 0x906, 0x907,
0x924, 0x3b, 0x938, 0x94b, 0x92e, 0x3b, 0x92e, 0x919, 0x94d, 0x917, 0x932, 0x3b, 0x92c, 0x941, 0x927, 0x3b, 0x92c, 0x93f, 0x939, 0x940,
-0x3b, 0x936, 0x941, 0x915, 0x94d, 0x930, 0x3b, 0x936, 0x928, 0x93f, 0x3b, 0x906, 0x907, 0x924, 0x935, 0x93e, 0x930, 0x3b, 0x938, 0x94b,
-0x92e, 0x935, 0x93e, 0x930, 0x3b, 0x92e, 0x919, 0x94d, 0x917, 0x932, 0x935, 0x93e, 0x930, 0x3b, 0x92c, 0x941, 0x927, 0x935, 0x93e, 0x930,
-0x3b, 0x92c, 0x93f, 0x939, 0x940, 0x935, 0x93e, 0x930, 0x3b, 0x936, 0x941, 0x915, 0x94d, 0x930, 0x935, 0x93e, 0x930, 0x3b, 0x936, 0x928,
-0x93f, 0x935, 0x93e, 0x930, 0x3b, 0x967, 0x3b, 0x968, 0x3b, 0x969, 0x3b, 0x96a, 0x3b, 0x96b, 0x3b, 0x96c, 0x3b, 0x96d, 0x3b, 0x906,
-0x907, 0x924, 0x92c, 0x93e, 0x930, 0x3b, 0x938, 0x94b, 0x92e, 0x92c, 0x93e, 0x930, 0x3b, 0x92e, 0x919, 0x94d, 0x917, 0x932, 0x92c, 0x93e,
-0x930, 0x3b, 0x92c, 0x941, 0x927, 0x92c, 0x93e, 0x930, 0x3b, 0x92c, 0x93f, 0x939, 0x940, 0x92c, 0x93e, 0x930, 0x3b, 0x936, 0x941, 0x915,
-0x94d, 0x930, 0x92c, 0x93e, 0x930, 0x3b, 0x936, 0x928, 0x93f, 0x92c, 0x93e, 0x930, 0x3b, 0x73, 0xf8, 0x2e, 0x3b, 0x6d, 0x61, 0x2e,
+0x3b, 0x936, 0x941, 0x915, 0x94d, 0x930, 0x3b, 0x936, 0x928, 0x93f, 0x3b, 0x906, 0x907, 0x924, 0x92c, 0x93e, 0x930, 0x3b, 0x938, 0x94b,
+0x92e, 0x92c, 0x93e, 0x930, 0x3b, 0x92e, 0x919, 0x94d, 0x917, 0x932, 0x92c, 0x93e, 0x930, 0x3b, 0x92c, 0x941, 0x927, 0x92c, 0x93e, 0x930,
+0x3b, 0x92c, 0x93f, 0x939, 0x940, 0x92c, 0x93e, 0x930, 0x3b, 0x936, 0x941, 0x915, 0x94d, 0x930, 0x92c, 0x93e, 0x930, 0x3b, 0x936, 0x928,
+0x93f, 0x92c, 0x93e, 0x930, 0x3b, 0x967, 0x3b, 0x968, 0x3b, 0x969, 0x3b, 0x96a, 0x3b, 0x96b, 0x3b, 0x96c, 0x3b, 0x96d, 0x3b, 0x906,
+0x907, 0x924, 0x935, 0x93e, 0x930, 0x3b, 0x938, 0x94b, 0x92e, 0x935, 0x93e, 0x930, 0x3b, 0x92e, 0x919, 0x94d, 0x917, 0x932, 0x935, 0x93e,
+0x930, 0x3b, 0x92c, 0x941, 0x927, 0x935, 0x93e, 0x930, 0x3b, 0x92c, 0x93f, 0x939, 0x940, 0x935, 0x93e, 0x930, 0x3b, 0x936, 0x941, 0x915,
+0x94d, 0x930, 0x935, 0x93e, 0x930, 0x3b, 0x936, 0x928, 0x93f, 0x935, 0x93e, 0x930, 0x3b, 0x73, 0xf8, 0x2e, 0x3b, 0x6d, 0x61, 0x2e,
0x3b, 0x74, 0x69, 0x2e, 0x3b, 0x6f, 0x6e, 0x2e, 0x3b, 0x74, 0x6f, 0x2e, 0x3b, 0x66, 0x72, 0x2e, 0x3b, 0x6c, 0xf8, 0x2e,
0x3b, 0x73, 0xf8, 0x6e, 0x2e, 0x3b, 0x6d, 0x61, 0x6e, 0x2e, 0x3b, 0x74, 0x69, 0x72, 0x2e, 0x3b, 0x6f, 0x6e, 0x73, 0x2e,
0x3b, 0x74, 0x6f, 0x72, 0x2e, 0x3b, 0x66, 0x72, 0x65, 0x2e, 0x3b, 0x6c, 0xf8, 0x72, 0x2e, 0x3b, 0x44, 0x69, 0x6d, 0x65,
@@ -4260,58 +4260,59 @@ static const ushort days_data[] = {
static const ushort am_data[] = {
0x41, 0x4d, 0x57, 0x44, 0x76, 0x6d, 0x2e, 0x50, 0x44, 0x1321, 0x12cb, 0x1275, 0x635, 0x531, 0x57c, 0x2024, 0x9aa, 0x9c2, 0x9f0, 0x9cd,
-0x9ac, 0x9be, 0x9b9, 0x9cd, 0x9a3, 0x9aa, 0x9c2, 0x9b0, 0x9cd, 0x9ac, 0x9be, 0x9b9, 0x9cd, 0x9a3, 0x434, 0x430, 0x20, 0x43f, 0x430, 0x43b,
-0x443, 0x434, 0x43d, 0x44f, 0x1796, 0x17d2, 0x179a, 0x17b9, 0x1780, 0x61, 0x2e, 0x6d, 0x2e, 0x64, 0x6f, 0x70, 0x2e, 0x66, 0x2e, 0x6d,
-0x2e, 0x65, 0x6e, 0x6e, 0x65, 0x20, 0x6b, 0x65, 0x73, 0x6b, 0x70, 0xe4, 0x65, 0x76, 0x61, 0x61, 0x70, 0x2e, 0x3c0, 0x2e,
-0x3bc, 0x2e, 0xaaa, 0xac2, 0xab0, 0xacd, 0xab5, 0x20, 0xaae, 0xaa7, 0xacd, 0xaaf, 0xabe, 0xab9, 0xacd, 0xaa8, 0x5dc, 0x5e4, 0x5e0, 0x5d4,
-0x5f4, 0x5e6, 0x92a, 0x942, 0x930, 0x94d, 0x935, 0x93e, 0x939, 0x94d, 0x928, 0x64, 0x65, 0x2e, 0x66, 0x2e, 0x68, 0x2e, 0x6d, 0x2e,
-0x5348, 0x524d, 0x61, 0x6d, 0xc624, 0xc804, 0x70, 0x72, 0x69, 0x65, 0x6b, 0x161, 0x70, 0x75, 0x73, 0x64, 0x69, 0x65, 0x6e, 0x101,
-0x70, 0x72, 0x69, 0x65, 0x161, 0x70, 0x69, 0x65, 0x74, 0x43f, 0x440, 0x435, 0x442, 0x43f, 0x43b, 0x430, 0x434, 0x43d, 0x435, 0xd30,
-0xd3e, 0xd35, 0xd3f, 0xd32, 0xd46, 0x51, 0x4e, 0x92a, 0x942, 0x930, 0x94d, 0x935, 0x20, 0x92e, 0x927, 0x94d, 0x92f, 0x93e, 0x928, 0x94d,
-0x939, 0x63a, 0x2e, 0x645, 0x2e, 0x642, 0x628, 0x644, 0x20, 0x627, 0x632, 0x20, 0x638, 0x647, 0x631, 0x41, 0x6e, 0x74, 0x65, 0x73,
-0x20, 0x64, 0x6f, 0x20, 0x6d, 0x65, 0x69, 0x6f, 0x2d, 0x64, 0x69, 0x61, 0xa38, 0xa35, 0xa47, 0xa30, 0xa47, 0x4e, 0x44, 0x43f,
-0x440, 0x435, 0x20, 0x43f, 0x43e, 0x434, 0x43d, 0x435, 0x70, 0x72, 0x65, 0x20, 0x70, 0x6f, 0x64, 0x6e, 0x65, 0xdb4, 0xdd9, 0x2e,
-0xdc0, 0x2e, 0x64, 0x6f, 0x70, 0x6f, 0x6c, 0x75, 0x64, 0x6e, 0x69, 0x61, 0x73, 0x6e, 0x2e, 0x61, 0x73, 0x75, 0x62, 0x75,
-0x68, 0x69, 0x66, 0x6d, 0xe01, 0xe48, 0xe2d, 0xe19, 0xe40, 0xe17, 0xe35, 0xe48, 0xe22, 0xe07, 0xf66, 0xf94, 0xf0b, 0xf51, 0xfb2, 0xf7c,
-0xf0b, 0x1295, 0x1309, 0x1206, 0x20, 0x1230, 0x12d3, 0x1270, 0x434, 0x43f, 0x53, 0x41, 0xc0, 0xe1, 0x72, 0x1ecd, 0x300, 0x66, 0x6f, 0x72,
-0x6d, 0x69, 0x64, 0x64, 0x61, 0x67, 0x41, 0x4e, 0x92e, 0x2e, 0x92a, 0x942, 0x2e, 0x41, 0x2e, 0x4d, 0x2e, 0x128, 0x79, 0x61,
-0x6b, 0x77, 0x61, 0x6b, 0x79, 0x61, 0x76, 0x6f, 0x72, 0x6d, 0x2e, 0xa3b8, 0xa111, 0x4d, 0x61, 0x2f, 0x4d, 0x6f, 0x4c, 0x75,
-0x6d, 0x61, 0x20, 0x6c, 0x77, 0x61, 0x20, 0x4b, 0x73, 0x75, 0x62, 0x61, 0x6b, 0x61, 0x4b, 0x69, 0x72, 0x6f, 0x6b, 0x6f,
-0x54, 0x65, 0x73, 0x69, 0x72, 0x61, 0x6e, 0x6b, 0x61, 0x6e, 0x67, 0x27, 0x61, 0x6d, 0x61, 0x74, 0x69, 0x66, 0x61, 0x77,
-0x74, 0x6e, 0x20, 0x74, 0x75, 0x66, 0x61, 0x74, 0x70, 0x61, 0x6d, 0x69, 0x6c, 0x61, 0x75, 0x75, 0x74, 0x75, 0x6b, 0x6f,
-0x4b, 0x49, 0x13cc, 0x13be, 0x13b4, 0x4d, 0x75, 0x68, 0x69, 0x54, 0x4f, 0x4f, 0x75, 0x6c, 0x75, 0x63, 0x68, 0x65, 0x6c, 0x6f,
-0x52, 0x168, 0x42, 0x65, 0x65, 0x74, 0x1c1, 0x67, 0x6f, 0x61, 0x67, 0x61, 0x73, 0x190, 0x6e, 0x6b, 0x61, 0x6b, 0x25b, 0x6e,
-0x79, 0xe1, 0x4d, 0x75, 0x6e, 0x6b, 0x79, 0x6f, 0x69, 0x63, 0x68, 0x65, 0x68, 0x65, 0x61, 0x76, 0x6f, 0x54, 0x61, 0x70,
-0x61, 0x72, 0x61, 0x63, 0x68, 0x75, 0x41, 0x64, 0x64, 0x75, 0x68, 0x61, 0x4f, 0x44, 0x5a, 0x64, 0x61, 0x74, 0x20, 0x61,
-0x7a, 0x61, 0x6c, 0x6d, 0x61, 0x6b, 0x65, 0x6f
+0x9ac, 0x9be, 0x9b9, 0x9cd, 0x9a3, 0x9aa, 0x9c2, 0x9b0, 0x9cd, 0x9ac, 0x9be, 0x9b9, 0x9cd, 0x9a3, 0x43f, 0x440, 0x2e, 0x20, 0x43e, 0x431,
+0x2e, 0x434, 0x430, 0x20, 0x43f, 0x430, 0x43b, 0x443, 0x434, 0x43d, 0x44f, 0x1796, 0x17d2, 0x179a, 0x17b9, 0x1780, 0x61, 0x2e, 0x6d, 0x2e,
+0x4e0a, 0x5348, 0x64, 0x6f, 0x70, 0x2e, 0x66, 0x2e, 0x6d, 0x2e, 0x65, 0x6e, 0x6e, 0x65, 0x20, 0x6b, 0x65, 0x73, 0x6b, 0x70,
+0xe4, 0x65, 0x76, 0x61, 0x61, 0x70, 0x2e, 0x76, 0x6f, 0x72, 0x6d, 0x2e, 0x3c0, 0x2e, 0x3bc, 0x2e, 0xaaa, 0xac2, 0xab0, 0xacd,
+0xab5, 0x20, 0xaae, 0xaa7, 0xacd, 0xaaf, 0xabe, 0xab9, 0xacd, 0xaa8, 0x5dc, 0x5e4, 0x5e0, 0x5d4, 0x5f4, 0x5e6, 0x92a, 0x942, 0x930, 0x94d,
+0x935, 0x93e, 0x939, 0x94d, 0x928, 0x64, 0x65, 0x2e, 0x66, 0x2e, 0x68, 0x2e, 0x6d, 0x2e, 0x5348, 0x524d, 0x61, 0x6d, 0xc624, 0xc804,
+0x70, 0x72, 0x69, 0x65, 0x6b, 0x161, 0x70, 0x75, 0x73, 0x64, 0x69, 0x65, 0x6e, 0x101, 0x70, 0x72, 0x69, 0x65, 0x161, 0x70,
+0x69, 0x65, 0x74, 0x43f, 0x440, 0x435, 0x442, 0x43f, 0x43b, 0x430, 0x434, 0x43d, 0x435, 0xd30, 0xd3e, 0xd35, 0xd3f, 0xd32, 0xd46, 0x51,
+0x4e, 0x92a, 0x942, 0x930, 0x94d, 0x935, 0x20, 0x92e, 0x927, 0x94d, 0x92f, 0x93e, 0x928, 0x94d, 0x939, 0x63a, 0x2e, 0x645, 0x2e, 0x642,
+0x628, 0x644, 0x20, 0x627, 0x632, 0x20, 0x638, 0x647, 0x631, 0x41, 0x6e, 0x74, 0x65, 0x73, 0x20, 0x64, 0x6f, 0x20, 0x6d, 0x65,
+0x69, 0x6f, 0x2d, 0x64, 0x69, 0x61, 0xa38, 0xa35, 0xa47, 0xa30, 0xa47, 0x4e, 0x44, 0x43f, 0x440, 0x435, 0x20, 0x43f, 0x43e, 0x434,
+0x43d, 0x435, 0x70, 0x72, 0x65, 0x20, 0x70, 0x6f, 0x64, 0x6e, 0x65, 0xdb4, 0xdd9, 0x2e, 0xdc0, 0x2e, 0x64, 0x6f, 0x70, 0x6f,
+0x6c, 0x75, 0x64, 0x6e, 0x69, 0x61, 0x73, 0x6e, 0x2e, 0x61, 0x73, 0x75, 0x62, 0x75, 0x68, 0x69, 0x66, 0x6d, 0xc09, 0xe01,
+0xe48, 0xe2d, 0xe19, 0xe40, 0xe17, 0xe35, 0xe48, 0xe22, 0xe07, 0xf66, 0xf94, 0xf0b, 0xf51, 0xfb2, 0xf7c, 0xf0b, 0x1295, 0x1309, 0x1206, 0x20,
+0x1230, 0x12d3, 0x1270, 0x434, 0x43f, 0x53, 0x41, 0xc0, 0xe1, 0x72, 0x1ecd, 0x300, 0x66, 0x6f, 0x72, 0x6d, 0x69, 0x64, 0x64, 0x61,
+0x67, 0x41, 0x4e, 0x92e, 0x2e, 0x92a, 0x942, 0x2e, 0x41, 0x2e, 0x4d, 0x2e, 0x128, 0x79, 0x61, 0x6b, 0x77, 0x61, 0x6b, 0x79,
+0x61, 0xa3b8, 0xa111, 0x4d, 0x61, 0x2f, 0x4d, 0x6f, 0x4c, 0x75, 0x6d, 0x61, 0x20, 0x6c, 0x77, 0x61, 0x20, 0x4b, 0x73, 0x75,
+0x62, 0x61, 0x6b, 0x61, 0x4b, 0x69, 0x72, 0x6f, 0x6b, 0x6f, 0x54, 0x65, 0x73, 0x69, 0x72, 0x61, 0x6e, 0x6b, 0x61, 0x6e,
+0x67, 0x27, 0x61, 0x6d, 0x61, 0x74, 0x69, 0x66, 0x61, 0x77, 0x74, 0x6e, 0x20, 0x74, 0x75, 0x66, 0x61, 0x74, 0x70, 0x61,
+0x6d, 0x69, 0x6c, 0x61, 0x75, 0x75, 0x74, 0x75, 0x6b, 0x6f, 0x4b, 0x49, 0x13cc, 0x13be, 0x13b4, 0x4d, 0x75, 0x68, 0x69, 0x54,
+0x4f, 0x4f, 0x75, 0x6c, 0x75, 0x63, 0x68, 0x65, 0x6c, 0x6f, 0x52, 0x168, 0x42, 0x65, 0x65, 0x74, 0x1c1, 0x67, 0x6f, 0x61,
+0x67, 0x61, 0x73, 0x190, 0x6e, 0x6b, 0x61, 0x6b, 0x25b, 0x6e, 0x79, 0xe1, 0x4d, 0x75, 0x6e, 0x6b, 0x79, 0x6f, 0x69, 0x63,
+0x68, 0x65, 0x68, 0x65, 0x61, 0x76, 0x6f, 0x54, 0x61, 0x70, 0x61, 0x72, 0x61, 0x63, 0x68, 0x75, 0x41, 0x64, 0x64, 0x75,
+0x68, 0x61, 0x4f, 0x44, 0x5a, 0x64, 0x61, 0x74, 0x20, 0x61, 0x7a, 0x61, 0x6c, 0x6d, 0x61, 0x6b, 0x65, 0x6f
};
static const ushort pm_data[] = {
0x50, 0x4d, 0x57, 0x42, 0x6e, 0x6d, 0x2e, 0x4d, 0x44, 0x12a8, 0x1233, 0x12d3, 0x1275, 0x645, 0x53f, 0x565, 0x2024, 0x985, 0x9aa, 0x9f0,
-0x9be, 0x9b9, 0x9cd, 0x9a3, 0x985, 0x9aa, 0x9b0, 0x9be, 0x9b9, 0x9cd, 0x9a3, 0x43f, 0x430, 0x441, 0x43b, 0x44f, 0x20, 0x43f, 0x430, 0x43b,
-0x443, 0x434, 0x43d, 0x44f, 0x179b, 0x17d2, 0x1784, 0x17b6, 0x1785, 0x70, 0x2e, 0x6d, 0x2e, 0x6f, 0x64, 0x70, 0x2e, 0x65, 0x2e, 0x6d,
-0x2e, 0x70, 0xe4, 0x72, 0x61, 0x73, 0x74, 0x20, 0x6b, 0x65, 0x73, 0x6b, 0x70, 0xe4, 0x65, 0x76, 0x61, 0x69, 0x70, 0x2e,
-0x3bc, 0x2e, 0x3bc, 0x2e, 0xa89, 0xaa4, 0xacd, 0xaa4, 0xab0, 0x20, 0xaae, 0xaa7, 0xacd, 0xaaf, 0xabe, 0xab9, 0xacd, 0xaa8, 0x5d0, 0x5d7,
-0x5d4, 0x5f4, 0x5e6, 0x905, 0x92a, 0x930, 0x93e, 0x939, 0x94d, 0x928, 0x64, 0x75, 0x2e, 0x65, 0x2e, 0x68, 0x2e, 0x70, 0x2e, 0x5348,
-0x5f8c, 0x70, 0x6d, 0xc624, 0xd6c4, 0x70, 0x113, 0x63, 0x70, 0x75, 0x73, 0x64, 0x69, 0x65, 0x6e, 0x101, 0x70, 0x6f, 0x70, 0x69,
-0x65, 0x74, 0x43f, 0x43e, 0x43f, 0x43b, 0x430, 0x434, 0x43d, 0x435, 0xd35, 0xd48, 0xd15, 0xd41, 0xd28, 0xd4d, 0xd28, 0xd47, 0xd30, 0xd02,
-0x57, 0x4e, 0x909, 0x924, 0x94d, 0x924, 0x930, 0x20, 0x92e, 0x927, 0x94d, 0x92f, 0x93e, 0x928, 0x94d, 0x939, 0x63a, 0x2e, 0x648, 0x2e,
-0x628, 0x639, 0x62f, 0x20, 0x627, 0x632, 0x20, 0x638, 0x647, 0x631, 0x44, 0x65, 0x70, 0x6f, 0x69, 0x73, 0x20, 0x64, 0x6f, 0x20,
-0x6d, 0x65, 0x69, 0x6f, 0x2d, 0x64, 0x69, 0x61, 0xa38, 0xa3c, 0xa3e, 0xa2e, 0x73, 0x6d, 0x4c, 0x4b, 0x43f, 0x43e, 0x43f, 0x43e,
-0x434, 0x43d, 0x435, 0x70, 0x6f, 0x70, 0x6f, 0x64, 0x6e, 0x65, 0xdb4, 0x2e, 0xdc0, 0x2e, 0x70, 0x6f, 0x70, 0x6f, 0x6c, 0x75,
-0x64, 0x6e, 0xed, 0x70, 0x6f, 0x70, 0x2e, 0x67, 0x6e, 0x2e, 0x61, 0x6c, 0x61, 0x73, 0x69, 0x72, 0x69, 0x65, 0x6d, 0xe2b,
-0xe25, 0xe31, 0xe07, 0xe40, 0xe17, 0xe35, 0xe48, 0xe22, 0xe07, 0xf55, 0xfb1, 0xf72, 0xf0b, 0xf51, 0xfb2, 0xf7c, 0xf0b, 0x12f5, 0x1215, 0x122d,
-0x20, 0x1230, 0x12d3, 0x1275, 0x43f, 0x43f, 0x43, 0x48, 0x1ecc, 0x300, 0x73, 0xe1, 0x6e, 0x65, 0x74, 0x74, 0x65, 0x72, 0x6d, 0x69,
-0x64, 0x64, 0x61, 0x67, 0x45, 0x57, 0x92e, 0x2e, 0x928, 0x902, 0x2e, 0x50, 0x2e, 0x4d, 0x2e, 0x128, 0x79, 0x61, 0x77, 0x129,
-0x6f, 0x6f, 0x6e, 0x61, 0x6d, 0x2e, 0xa06f, 0xa2d2, 0x4d, 0x61, 0x6d, 0x62, 0x69, 0x61, 0x2f, 0x4d, 0x6f, 0x67, 0x6c, 0x75,
-0x6d, 0x61, 0x20, 0x6c, 0x77, 0x61, 0x20, 0x70, 0x6b, 0x69, 0x6b, 0x69, 0x69, 0x257, 0x65, 0x48, 0x77, 0x61, 0x129, 0x2d,
-0x69, 0x6e, 0x129, 0x54, 0x65, 0x69, 0x70, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x6f, 0x74, 0x6f, 0x74, 0x61, 0x64, 0x67, 0x67,
-0x2b7, 0x61, 0x74, 0x6e, 0x20, 0x74, 0x6d, 0x65, 0x64, 0x64, 0x69, 0x74, 0x70, 0x61, 0x6d, 0x75, 0x6e, 0x79, 0x69, 0x6b,
-0x79, 0x69, 0x75, 0x6b, 0x6f, 0x6e, 0x79, 0x69, 0x55, 0x54, 0x13d2, 0x13af, 0x13f1, 0x13a2, 0x13d7, 0x13e2, 0x43, 0x68, 0x69, 0x6c,
-0x6f, 0x4d, 0x55, 0x55, 0x61, 0x6b, 0x61, 0x73, 0x75, 0x62, 0x61, 0x168, 0x47, 0x4b, 0x65, 0x6d, 0x6f, 0x1c3, 0x75, 0x69,
-0x61, 0x73, 0x190, 0x6e, 0x64, 0xe1, 0x6d, 0xe2, 0x45, 0x69, 0x67, 0x75, 0x6c, 0x6f, 0x69, 0x63, 0x68, 0x61, 0x6d, 0x74,
-0x68, 0x69, 0x45, 0x62, 0x6f, 0x6e, 0x67, 0x69, 0x41, 0x6c, 0x75, 0x75, 0x6c, 0x61, 0x4f, 0x54, 0x1e0c, 0x65, 0x66, 0x66,
-0x69, 0x72, 0x20, 0x61, 0x7a, 0x61, 0x6e, 0x79, 0x69, 0x61, 0x67, 0x68, 0x75, 0x6f
+0x9be, 0x9b9, 0x9cd, 0x9a3, 0x985, 0x9aa, 0x9b0, 0x9be, 0x9b9, 0x9cd, 0x9a3, 0x441, 0x43b, 0x2e, 0x20, 0x43e, 0x431, 0x2e, 0x43f, 0x430,
+0x441, 0x43b, 0x44f, 0x20, 0x43f, 0x430, 0x43b, 0x443, 0x434, 0x43d, 0x44f, 0x179b, 0x17d2, 0x1784, 0x17b6, 0x1785, 0x70, 0x2e, 0x6d, 0x2e,
+0x4e0b, 0x5348, 0x6f, 0x64, 0x70, 0x2e, 0x65, 0x2e, 0x6d, 0x2e, 0x70, 0xe4, 0x72, 0x61, 0x73, 0x74, 0x20, 0x6b, 0x65, 0x73,
+0x6b, 0x70, 0xe4, 0x65, 0x76, 0x61, 0x69, 0x70, 0x2e, 0x6e, 0x61, 0x63, 0x68, 0x6d, 0x2e, 0x3bc, 0x2e, 0x3bc, 0x2e, 0xa89,
+0xaa4, 0xacd, 0xaa4, 0xab0, 0x20, 0xaae, 0xaa7, 0xacd, 0xaaf, 0xabe, 0xab9, 0xacd, 0xaa8, 0x5d0, 0x5d7, 0x5d4, 0x5f4, 0x5e6, 0x905, 0x92a,
+0x930, 0x93e, 0x939, 0x94d, 0x928, 0x64, 0x75, 0x2e, 0x65, 0x2e, 0x68, 0x2e, 0x70, 0x2e, 0x5348, 0x5f8c, 0x70, 0x6d, 0xc624, 0xd6c4,
+0x70, 0x113, 0x63, 0x70, 0x75, 0x73, 0x64, 0x69, 0x65, 0x6e, 0x101, 0x70, 0x6f, 0x70, 0x69, 0x65, 0x74, 0x43f, 0x43e, 0x43f,
+0x43b, 0x430, 0x434, 0x43d, 0x435, 0xd35, 0xd48, 0xd15, 0xd41, 0xd28, 0xd4d, 0xd28, 0xd47, 0xd30, 0xd02, 0x57, 0x4e, 0x909, 0x924, 0x94d,
+0x924, 0x930, 0x20, 0x92e, 0x927, 0x94d, 0x92f, 0x93e, 0x928, 0x94d, 0x939, 0x63a, 0x2e, 0x648, 0x2e, 0x628, 0x639, 0x62f, 0x20, 0x627,
+0x632, 0x20, 0x638, 0x647, 0x631, 0x44, 0x65, 0x70, 0x6f, 0x69, 0x73, 0x20, 0x64, 0x6f, 0x20, 0x6d, 0x65, 0x69, 0x6f, 0x2d,
+0x64, 0x69, 0x61, 0xa38, 0xa3c, 0xa3e, 0xa2e, 0x73, 0x6d, 0x4c, 0x4b, 0x43f, 0x43e, 0x43f, 0x43e, 0x434, 0x43d, 0x435, 0x70, 0x6f,
+0x70, 0x6f, 0x64, 0x6e, 0x65, 0xdb4, 0x2e, 0xdc0, 0x2e, 0x70, 0x6f, 0x70, 0x6f, 0x6c, 0x75, 0x64, 0x6e, 0xed, 0x70, 0x6f,
+0x70, 0x2e, 0x67, 0x6e, 0x2e, 0x61, 0x6c, 0x61, 0x73, 0x69, 0x72, 0x69, 0x65, 0x6d, 0xc38, 0xc3e, 0xe2b, 0xe25, 0xe31, 0xe07,
+0xe40, 0xe17, 0xe35, 0xe48, 0xe22, 0xe07, 0xf55, 0xfb1, 0xf72, 0xf0b, 0xf51, 0xfb2, 0xf7c, 0xf0b, 0x12f5, 0x1215, 0x122d, 0x20, 0x1230, 0x12d3,
+0x1275, 0x43f, 0x43f, 0x43, 0x48, 0x1ecc, 0x300, 0x73, 0xe1, 0x6e, 0x65, 0x74, 0x74, 0x65, 0x72, 0x6d, 0x69, 0x64, 0x64, 0x61,
+0x67, 0x45, 0x57, 0x92e, 0x2e, 0x928, 0x902, 0x2e, 0x50, 0x2e, 0x4d, 0x2e, 0x128, 0x79, 0x61, 0x77, 0x129, 0x6f, 0x6f, 0x6e,
+0x61, 0x6d, 0x2e, 0xa06f, 0xa2d2, 0x4d, 0x61, 0x6d, 0x62, 0x69, 0x61, 0x2f, 0x4d, 0x6f, 0x67, 0x6c, 0x75, 0x6d, 0x61, 0x20,
+0x6c, 0x77, 0x61, 0x20, 0x70, 0x6b, 0x69, 0x6b, 0x69, 0x69, 0x257, 0x65, 0x48, 0x77, 0x61, 0x129, 0x2d, 0x69, 0x6e, 0x129,
+0x54, 0x65, 0x69, 0x70, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x6f, 0x74, 0x6f, 0x74, 0x61, 0x64, 0x67, 0x67, 0x2b7, 0x61, 0x74,
+0x6e, 0x20, 0x74, 0x6d, 0x65, 0x64, 0x64, 0x69, 0x74, 0x70, 0x61, 0x6d, 0x75, 0x6e, 0x79, 0x69, 0x6b, 0x79, 0x69, 0x75,
+0x6b, 0x6f, 0x6e, 0x79, 0x69, 0x55, 0x54, 0x13d2, 0x13af, 0x13f1, 0x13a2, 0x13d7, 0x13e2, 0x43, 0x68, 0x69, 0x6c, 0x6f, 0x4d, 0x55,
+0x55, 0x61, 0x6b, 0x61, 0x73, 0x75, 0x62, 0x61, 0x168, 0x47, 0x4b, 0x65, 0x6d, 0x6f, 0x1c3, 0x75, 0x69, 0x61, 0x73, 0x190,
+0x6e, 0x64, 0xe1, 0x6d, 0xe2, 0x45, 0x69, 0x67, 0x75, 0x6c, 0x6f, 0x69, 0x63, 0x68, 0x61, 0x6d, 0x74, 0x68, 0x69, 0x45,
+0x62, 0x6f, 0x6e, 0x67, 0x69, 0x41, 0x6c, 0x75, 0x75, 0x6c, 0x61, 0x4f, 0x54, 0x1e0c, 0x65, 0x66, 0x66, 0x69, 0x72, 0x20,
+0x61, 0x7a, 0x61, 0x6e, 0x79, 0x69, 0x61, 0x67, 0x68, 0x75, 0x6f
};
static const char language_name_list[] =
@@ -4997,6 +4998,7 @@ static const char country_name_list[] =
"Serbia\0"
"Saint Barthelemy\0"
"Saint Martin\0"
+"LatinAmericaAndTheCaribbean\0"
;
static const quint16 country_name_index[] = {
@@ -5246,6 +5248,7 @@ static const quint16 country_name_index[] = {
2606, // Serbia
2613, // Saint Barthelemy
2630, // Saint Martin
+ 2643, // LatinAmericaAndTheCaribbean
};
static const unsigned char language_code_list[] =
@@ -5467,252 +5470,253 @@ static const unsigned char language_code_list[] =
;
static const unsigned char country_code_list[] =
-" " // AnyCountry
-"AF" // Afghanistan
-"AL" // Albania
-"DZ" // Algeria
-"AS" // AmericanSamoa
-"AD" // Andorra
-"AO" // Angola
-"AI" // Anguilla
-"AQ" // Antarctica
-"AG" // AntiguaAndBarbuda
-"AR" // Argentina
-"AM" // Armenia
-"AW" // Aruba
-"AU" // Australia
-"AT" // Austria
-"AZ" // Azerbaijan
-"BS" // Bahamas
-"BH" // Bahrain
-"BD" // Bangladesh
-"BB" // Barbados
-"BY" // Belarus
-"BE" // Belgium
-"BZ" // Belize
-"BJ" // Benin
-"BM" // Bermuda
-"BT" // Bhutan
-"BO" // Bolivia
-"BA" // BosniaAndHerzegowina
-"BW" // Botswana
-"BV" // BouvetIsland
-"BR" // Brazil
-"IO" // BritishIndianOceanTerritory
-"BN" // BruneiDarussalam
-"BG" // Bulgaria
-"BF" // BurkinaFaso
-"BI" // Burundi
-"KH" // Cambodia
-"CM" // Cameroon
-"CA" // Canada
-"CV" // CapeVerde
-"KY" // CaymanIslands
-"CF" // CentralAfricanRepublic
-"TD" // Chad
-"CL" // Chile
-"CN" // China
-"CX" // ChristmasIsland
-"CC" // CocosIslands
-"CO" // Colombia
-"KM" // Comoros
-"CD" // DemocraticRepublicOfCongo
-"CG" // PeoplesRepublicOfCongo
-"CK" // CookIslands
-"CR" // CostaRica
-"CI" // IvoryCoast
-"HR" // Croatia
-"CU" // Cuba
-"CY" // Cyprus
-"CZ" // CzechRepublic
-"DK" // Denmark
-"DJ" // Djibouti
-"DM" // Dominica
-"DO" // DominicanRepublic
-"TL" // EastTimor
-"EC" // Ecuador
-"EG" // Egypt
-"SV" // ElSalvador
-"GQ" // EquatorialGuinea
-"ER" // Eritrea
-"EE" // Estonia
-"ET" // Ethiopia
-"FK" // FalklandIslands
-"FO" // FaroeIslands
-"FJ" // Fiji
-"FI" // Finland
-"FR" // France
-"FX" // MetropolitanFrance
-"GF" // FrenchGuiana
-"PF" // FrenchPolynesia
-"TF" // FrenchSouthernTerritories
-"GA" // Gabon
-"GM" // Gambia
-"GE" // Georgia
-"DE" // Germany
-"GH" // Ghana
-"GI" // Gibraltar
-"GR" // Greece
-"GL" // Greenland
-"GD" // Grenada
-"GP" // Guadeloupe
-"GU" // Guam
-"GT" // Guatemala
-"GN" // Guinea
-"GW" // GuineaBissau
-"GY" // Guyana
-"HT" // Haiti
-"HM" // HeardAndMcDonaldIslands
-"HN" // Honduras
-"HK" // HongKong
-"HU" // Hungary
-"IS" // Iceland
-"IN" // India
-"ID" // Indonesia
-"IR" // Iran
-"IQ" // Iraq
-"IE" // Ireland
-"IL" // Israel
-"IT" // Italy
-"JM" // Jamaica
-"JP" // Japan
-"JO" // Jordan
-"KZ" // Kazakhstan
-"KE" // Kenya
-"KI" // Kiribati
-"KP" // DemocraticRepublicOfKorea
-"KR" // RepublicOfKorea
-"KW" // Kuwait
-"KG" // Kyrgyzstan
-"LA" // Lao
-"LV" // Latvia
-"LB" // Lebanon
-"LS" // Lesotho
-"LR" // Liberia
-"LY" // LibyanArabJamahiriya
-"LI" // Liechtenstein
-"LT" // Lithuania
-"LU" // Luxembourg
-"MO" // Macau
-"MK" // Macedonia
-"MG" // Madagascar
-"MW" // Malawi
-"MY" // Malaysia
-"MV" // Maldives
-"ML" // Mali
-"MT" // Malta
-"MH" // MarshallIslands
-"MQ" // Martinique
-"MR" // Mauritania
-"MU" // Mauritius
-"YT" // Mayotte
-"MX" // Mexico
-"FM" // Micronesia
-"MD" // Moldova
-"MC" // Monaco
-"MN" // Mongolia
-"MS" // Montserrat
-"MA" // Morocco
-"MZ" // Mozambique
-"MM" // Myanmar
-"NA" // Namibia
-"NR" // Nauru
-"NP" // Nepal
-"NL" // Netherlands
-"AN" // NetherlandsAntilles
-"NC" // NewCaledonia
-"NZ" // NewZealand
-"NI" // Nicaragua
-"NE" // Niger
-"NG" // Nigeria
-"NU" // Niue
-"NF" // NorfolkIsland
-"MP" // NorthernMarianaIslands
-"NO" // Norway
-"OM" // Oman
-"PK" // Pakistan
-"PW" // Palau
-"PS" // PalestinianTerritory
-"PA" // Panama
-"PG" // PapuaNewGuinea
-"PY" // Paraguay
-"PE" // Peru
-"PH" // Philippines
-"PN" // Pitcairn
-"PL" // Poland
-"PT" // Portugal
-"PR" // PuertoRico
-"QA" // Qatar
-"RE" // Reunion
-"RO" // Romania
-"RU" // RussianFederation
-"RW" // Rwanda
-"KN" // SaintKittsAndNevis
-"LC" // StLucia
-"VC" // StVincentAndTheGrenadines
-"WS" // Samoa
-"SM" // SanMarino
-"ST" // SaoTomeAndPrincipe
-"SA" // SaudiArabia
-"SN" // Senegal
-"SC" // Seychelles
-"SL" // SierraLeone
-"SG" // Singapore
-"SK" // Slovakia
-"SI" // Slovenia
-"SB" // SolomonIslands
-"SO" // Somalia
-"ZA" // SouthAfrica
-"GS" // SouthGeorgiaAndTheSouthSandwichIslands
-"ES" // Spain
-"LK" // SriLanka
-"SH" // StHelena
-"PM" // StPierreAndMiquelon
-"SD" // Sudan
-"SR" // Suriname
-"SJ" // SvalbardAndJanMayenIslands
-"SZ" // Swaziland
-"SE" // Sweden
-"CH" // Switzerland
-"SY" // SyrianArabRepublic
-"TW" // Taiwan
-"TJ" // Tajikistan
-"TZ" // Tanzania
-"TH" // Thailand
-"TG" // Togo
-"TK" // Tokelau
-"TO" // Tonga
-"TT" // TrinidadAndTobago
-"TN" // Tunisia
-"TR" // Turkey
-"TM" // Turkmenistan
-"TC" // TurksAndCaicosIslands
-"TV" // Tuvalu
-"UG" // Uganda
-"UA" // Ukraine
-"AE" // UnitedArabEmirates
-"GB" // UnitedKingdom
-"US" // UnitedStates
-"UM" // UnitedStatesMinorOutlyingIslands
-"UY" // Uruguay
-"UZ" // Uzbekistan
-"VU" // Vanuatu
-"VA" // VaticanCityState
-"VE" // Venezuela
-"VN" // VietNam
-"VG" // BritishVirginIslands
-"VI" // USVirginIslands
-"WF" // WallisAndFutunaIslands
-"EH" // WesternSahara
-"YE" // Yemen
-"YU" // Yugoslavia
-"ZM" // Zambia
-"ZW" // Zimbabwe
-"CS" // SerbiaAndMontenegro
-"ME" // Montenegro
-"RS" // Serbia
-"BL" // Saint Barthelemy
-"MF" // Saint Martin
+" \0" // AnyCountry
+"AF\0" // Afghanistan
+"AL\0" // Albania
+"DZ\0" // Algeria
+"AS\0" // AmericanSamoa
+"AD\0" // Andorra
+"AO\0" // Angola
+"AI\0" // Anguilla
+"AQ\0" // Antarctica
+"AG\0" // AntiguaAndBarbuda
+"AR\0" // Argentina
+"AM\0" // Armenia
+"AW\0" // Aruba
+"AU\0" // Australia
+"AT\0" // Austria
+"AZ\0" // Azerbaijan
+"BS\0" // Bahamas
+"BH\0" // Bahrain
+"BD\0" // Bangladesh
+"BB\0" // Barbados
+"BY\0" // Belarus
+"BE\0" // Belgium
+"BZ\0" // Belize
+"BJ\0" // Benin
+"BM\0" // Bermuda
+"BT\0" // Bhutan
+"BO\0" // Bolivia
+"BA\0" // BosniaAndHerzegowina
+"BW\0" // Botswana
+"BV\0" // BouvetIsland
+"BR\0" // Brazil
+"IO\0" // BritishIndianOceanTerritory
+"BN\0" // BruneiDarussalam
+"BG\0" // Bulgaria
+"BF\0" // BurkinaFaso
+"BI\0" // Burundi
+"KH\0" // Cambodia
+"CM\0" // Cameroon
+"CA\0" // Canada
+"CV\0" // CapeVerde
+"KY\0" // CaymanIslands
+"CF\0" // CentralAfricanRepublic
+"TD\0" // Chad
+"CL\0" // Chile
+"CN\0" // China
+"CX\0" // ChristmasIsland
+"CC\0" // CocosIslands
+"CO\0" // Colombia
+"KM\0" // Comoros
+"CD\0" // DemocraticRepublicOfCongo
+"CG\0" // PeoplesRepublicOfCongo
+"CK\0" // CookIslands
+"CR\0" // CostaRica
+"CI\0" // IvoryCoast
+"HR\0" // Croatia
+"CU\0" // Cuba
+"CY\0" // Cyprus
+"CZ\0" // CzechRepublic
+"DK\0" // Denmark
+"DJ\0" // Djibouti
+"DM\0" // Dominica
+"DO\0" // DominicanRepublic
+"TL\0" // EastTimor
+"EC\0" // Ecuador
+"EG\0" // Egypt
+"SV\0" // ElSalvador
+"GQ\0" // EquatorialGuinea
+"ER\0" // Eritrea
+"EE\0" // Estonia
+"ET\0" // Ethiopia
+"FK\0" // FalklandIslands
+"FO\0" // FaroeIslands
+"FJ\0" // Fiji
+"FI\0" // Finland
+"FR\0" // France
+"FX\0" // MetropolitanFrance
+"GF\0" // FrenchGuiana
+"PF\0" // FrenchPolynesia
+"TF\0" // FrenchSouthernTerritories
+"GA\0" // Gabon
+"GM\0" // Gambia
+"GE\0" // Georgia
+"DE\0" // Germany
+"GH\0" // Ghana
+"GI\0" // Gibraltar
+"GR\0" // Greece
+"GL\0" // Greenland
+"GD\0" // Grenada
+"GP\0" // Guadeloupe
+"GU\0" // Guam
+"GT\0" // Guatemala
+"GN\0" // Guinea
+"GW\0" // GuineaBissau
+"GY\0" // Guyana
+"HT\0" // Haiti
+"HM\0" // HeardAndMcDonaldIslands
+"HN\0" // Honduras
+"HK\0" // HongKong
+"HU\0" // Hungary
+"IS\0" // Iceland
+"IN\0" // India
+"ID\0" // Indonesia
+"IR\0" // Iran
+"IQ\0" // Iraq
+"IE\0" // Ireland
+"IL\0" // Israel
+"IT\0" // Italy
+"JM\0" // Jamaica
+"JP\0" // Japan
+"JO\0" // Jordan
+"KZ\0" // Kazakhstan
+"KE\0" // Kenya
+"KI\0" // Kiribati
+"KP\0" // DemocraticRepublicOfKorea
+"KR\0" // RepublicOfKorea
+"KW\0" // Kuwait
+"KG\0" // Kyrgyzstan
+"LA\0" // Lao
+"LV\0" // Latvia
+"LB\0" // Lebanon
+"LS\0" // Lesotho
+"LR\0" // Liberia
+"LY\0" // LibyanArabJamahiriya
+"LI\0" // Liechtenstein
+"LT\0" // Lithuania
+"LU\0" // Luxembourg
+"MO\0" // Macau
+"MK\0" // Macedonia
+"MG\0" // Madagascar
+"MW\0" // Malawi
+"MY\0" // Malaysia
+"MV\0" // Maldives
+"ML\0" // Mali
+"MT\0" // Malta
+"MH\0" // MarshallIslands
+"MQ\0" // Martinique
+"MR\0" // Mauritania
+"MU\0" // Mauritius
+"YT\0" // Mayotte
+"MX\0" // Mexico
+"FM\0" // Micronesia
+"MD\0" // Moldova
+"MC\0" // Monaco
+"MN\0" // Mongolia
+"MS\0" // Montserrat
+"MA\0" // Morocco
+"MZ\0" // Mozambique
+"MM\0" // Myanmar
+"NA\0" // Namibia
+"NR\0" // Nauru
+"NP\0" // Nepal
+"NL\0" // Netherlands
+"AN\0" // NetherlandsAntilles
+"NC\0" // NewCaledonia
+"NZ\0" // NewZealand
+"NI\0" // Nicaragua
+"NE\0" // Niger
+"NG\0" // Nigeria
+"NU\0" // Niue
+"NF\0" // NorfolkIsland
+"MP\0" // NorthernMarianaIslands
+"NO\0" // Norway
+"OM\0" // Oman
+"PK\0" // Pakistan
+"PW\0" // Palau
+"PS\0" // PalestinianTerritory
+"PA\0" // Panama
+"PG\0" // PapuaNewGuinea
+"PY\0" // Paraguay
+"PE\0" // Peru
+"PH\0" // Philippines
+"PN\0" // Pitcairn
+"PL\0" // Poland
+"PT\0" // Portugal
+"PR\0" // PuertoRico
+"QA\0" // Qatar
+"RE\0" // Reunion
+"RO\0" // Romania
+"RU\0" // RussianFederation
+"RW\0" // Rwanda
+"KN\0" // SaintKittsAndNevis
+"LC\0" // StLucia
+"VC\0" // StVincentAndTheGrenadines
+"WS\0" // Samoa
+"SM\0" // SanMarino
+"ST\0" // SaoTomeAndPrincipe
+"SA\0" // SaudiArabia
+"SN\0" // Senegal
+"SC\0" // Seychelles
+"SL\0" // SierraLeone
+"SG\0" // Singapore
+"SK\0" // Slovakia
+"SI\0" // Slovenia
+"SB\0" // SolomonIslands
+"SO\0" // Somalia
+"ZA\0" // SouthAfrica
+"GS\0" // SouthGeorgiaAndTheSouthSandwichIslands
+"ES\0" // Spain
+"LK\0" // SriLanka
+"SH\0" // StHelena
+"PM\0" // StPierreAndMiquelon
+"SD\0" // Sudan
+"SR\0" // Suriname
+"SJ\0" // SvalbardAndJanMayenIslands
+"SZ\0" // Swaziland
+"SE\0" // Sweden
+"CH\0" // Switzerland
+"SY\0" // SyrianArabRepublic
+"TW\0" // Taiwan
+"TJ\0" // Tajikistan
+"TZ\0" // Tanzania
+"TH\0" // Thailand
+"TG\0" // Togo
+"TK\0" // Tokelau
+"TO\0" // Tonga
+"TT\0" // TrinidadAndTobago
+"TN\0" // Tunisia
+"TR\0" // Turkey
+"TM\0" // Turkmenistan
+"TC\0" // TurksAndCaicosIslands
+"TV\0" // Tuvalu
+"UG\0" // Uganda
+"UA\0" // Ukraine
+"AE\0" // UnitedArabEmirates
+"GB\0" // UnitedKingdom
+"US\0" // UnitedStates
+"UM\0" // UnitedStatesMinorOutlyingIslands
+"UY\0" // Uruguay
+"UZ\0" // Uzbekistan
+"VU\0" // Vanuatu
+"VA\0" // VaticanCityState
+"VE\0" // Venezuela
+"VN\0" // VietNam
+"VG\0" // BritishVirginIslands
+"VI\0" // USVirginIslands
+"WF\0" // WallisAndFutunaIslands
+"EH\0" // WesternSahara
+"YE\0" // Yemen
+"YU\0" // Yugoslavia
+"ZM\0" // Zambia
+"ZW\0" // Zimbabwe
+"CS\0" // SerbiaAndMontenegro
+"ME\0" // Montenegro
+"RS\0" // Serbia
+"BL\0" // Saint Barthelemy
+"MF\0" // Saint Martin
+"419" // LatinAmericaAndTheCaribbean
;
QT_END_NAMESPACE
diff --git a/src/corelib/tools/qlocale_p.h b/src/corelib/tools/qlocale_p.h
index ecf79e9e2f..62057452d9 100644
--- a/src/corelib/tools/qlocale_p.h
+++ b/src/corelib/tools/qlocale_p.h
@@ -58,6 +58,10 @@
#include "qlocale.h"
+#if defined(Q_OS_SYMBIAN) && !defined(QT_NO_SYSTEMLOCALE)
+class CEnvironmentChangeNotifier;
+#endif
+
QT_BEGIN_NAMESPACE
struct Q_CORE_EXPORT QLocalePrivate
@@ -201,6 +205,20 @@ inline char QLocalePrivate::digitToCLocale(const QChar &in) const
return 0;
}
+#if defined(Q_OS_SYMBIAN) && !defined(QT_NO_SYSTEMLOCALE)
+class QEnvironmentChangeNotifier
+{
+public:
+ QEnvironmentChangeNotifier();
+ ~QEnvironmentChangeNotifier();
+
+ static TInt localeChanged(TAny *data);
+
+private:
+ CEnvironmentChangeNotifier *iChangeNotifier;
+};
+#endif
+
QT_END_NAMESPACE
#endif // QLOCALE_P_H
diff --git a/src/corelib/tools/qlocale_symbian.cpp b/src/corelib/tools/qlocale_symbian.cpp
index 01f56cc20f..458bb2af85 100644
--- a/src/corelib/tools/qlocale_symbian.cpp
+++ b/src/corelib/tools/qlocale_symbian.cpp
@@ -46,8 +46,14 @@
#include <QThread>
#include <e32std.h>
+#include <e32const.h>
+#include <e32base.h>
+#include <e32property.h>
+#include <bacntf.h>
#include "private/qcore_symbian_p.h"
-
+#include "private/qcoreapplication_p.h"
+#include "private/qlocale_p.h"
+#include <qdebug.h>
QT_BEGIN_NAMESPACE
@@ -87,71 +93,75 @@ struct symbianToISO {
/*
- Mapping from Symbian to ISO locale
+ Mapping from Symbian to ISO locale.
+ NOTE: This array should be sorted by the first column!
*/
static const symbianToISO symbian_to_iso_list[] = {
- { ELangEnglish, "en_GB" },
- { ELangFrench, "fr_FR" },
- { ELangGerman, "de_DE" },
- { ELangSpanish, "es_ES" },
- { ELangItalian, "it_IT" },
- { ELangSwedish, "sv_SE" },
- { ELangDanish, "da_DK" },
- { ELangNorwegian, "no_NO" },
- { ELangFinnish, "fi_FI" },
- { ELangAmerican, "en_US" },
- { ELangPortuguese, "pt_PT" },
- { ELangTurkish, "tr_TR" },
- { ELangIcelandic, "is_IS" },
- { ELangRussian, "ru_RU" },
- { ELangHungarian, "hu_HU" },
- { ELangDutch, "nl_NL" },
- { ELangBelgianFlemish, "nl_BE" },
- { ELangCzech, "cs_CZ" },
- { ELangSlovak, "sk_SK" },
- { ELangPolish, "pl_PL" },
- { ELangSlovenian, "sl_SI" },
- { ELangTaiwanChinese, "zh_TW" },
- { ELangHongKongChinese, "zh_HK" },
- { ELangPrcChinese, "zh_CN" },
- { ELangJapanese, "ja_JP" },
- { ELangThai, "th_TH" },
- { ELangArabic, "ar_AE" },
- { ELangTagalog, "tl_PH" },
- { ELangBulgarian, "bg_BG" },
- { ELangCatalan, "ca_ES" },
- { ELangCroatian, "hr_HR" },
- { ELangEstonian, "et_EE" },
- { ELangFarsi, "fa_IR" },
- { ELangCanadianFrench, "fr_CA" },
- { ELangGreek, "el_GR" },
- { ELangHebrew, "he_IL" },
- { ELangHindi, "hi_IN" },
- { ELangIndonesian, "id_ID" },
- { ELangLatvian, "lv_LV" },
- { ELangLithuanian, "lt_LT" },
- { ELangMalay, "ms_MY" },
- { ELangBrazilianPortuguese, "pt_BR" },
- { ELangRomanian, "ro_RO" },
- { ELangSerbian, "sr_RS" },
- { ELangLatinAmericanSpanish, "es" },
- { ELangUkrainian, "uk_UA" },
- { ELangUrdu, "ur_PK" }, // India/Pakistan
- { ELangVietnamese, "vi_VN" },
+ { ELangEnglish, "en_GB" }, // 1
+ { ELangFrench, "fr_FR" }, // 2
+ { ELangGerman, "de_DE" }, // 3
+ { ELangSpanish, "es_ES" }, // 4
+ { ELangItalian, "it_IT" }, // 5
+ { ELangSwedish, "sv_SE" }, // 6
+ { ELangDanish, "da_DK" }, // 7
+ { ELangNorwegian, "no_NO" }, // 8
+ { ELangFinnish, "fi_FI" }, // 9
+ { ELangAmerican, "en_US" }, // 10
+ { ELangPortuguese, "pt_PT" }, // 13
+ { ELangTurkish, "tr_TR" }, // 14
+ { ELangIcelandic, "is_IS" }, // 15
+ { ELangRussian, "ru_RU" }, // 16
+ { ELangHungarian, "hu_HU" }, // 17
+ { ELangDutch, "nl_NL" }, // 18
+ { ELangBelgianFlemish, "nl_BE" }, // 19
+ { ELangCzech, "cs_CZ" }, // 25
+ { ELangSlovak, "sk_SK" }, // 26
+ { ELangPolish, "pl_PL" }, // 27
+ { ELangSlovenian, "sl_SI" }, // 28
+ { ELangTaiwanChinese, "zh_TW" }, // 29
+ { ELangHongKongChinese, "zh_HK" }, // 30
+ { ELangPrcChinese, "zh_CN" }, // 31
+ { ELangJapanese, "ja_JP" }, // 32
+ { ELangThai, "th_TH" }, // 33
+ { ELangArabic, "ar_AE" }, // 37
+ { ELangTagalog, "tl_PH" }, // 39
+ { ELangBulgarian, "bg_BG" }, // 42
+ { ELangCatalan, "ca_ES" }, // 44
+ { ELangCroatian, "hr_HR" }, // 45
+ { ELangEstonian, "et_EE" }, // 49
+ { ELangFarsi, "fa_IR" }, // 50
+ { ELangCanadianFrench, "fr_CA" }, // 51
+ { ELangGreek, "el_GR" }, // 54
+ { ELangHebrew, "he_IL" }, // 57
+ { ELangHindi, "hi_IN" }, // 58
+ { ELangIndonesian, "id_ID" }, // 59
+ { ELangKorean, "ko_KO" }, // 65
+ { ELangLatvian, "lv_LV" }, // 67
+ { ELangLithuanian, "lt_LT" }, // 68
+ { ELangMalay, "ms_MY" }, // 70
+ { ELangNorwegianNynorsk, "nn_NO" }, // 75
+ { ELangBrazilianPortuguese, "pt_BR" }, // 76
+ { ELangRomanian, "ro_RO" }, // 78
+ { ELangSerbian, "sr_RS" }, // 79
+ { ELangLatinAmericanSpanish,"es_419" }, // 83
+ { ELangUkrainian, "uk_UA" }, // 93
+ { ELangUrdu, "ur_PK" }, // 94 - India/Pakistan
+ { ELangVietnamese, "vi_VN" }, // 96
#ifdef __E32LANG_H__
// 5.0
- { ELangBasque, "eu_ES" },
- { ELangGalician, "gl_ES" },
+ { ELangBasque, "eu_ES" }, // 102
+ { ELangGalician, "gl_ES" }, // 103
#endif
#if !defined(__SERIES60_31__)
- { ELangEnglish_Apac, "en" },
- { ELangEnglish_Taiwan, "en_TW" },
- { ELangEnglish_HongKong, "en_HK" },
- { ELangEnglish_Prc, "en_CN" },
- { ELangEnglish_Japan, "en_JP"},
- { ELangEnglish_Thailand, "en_TH" },
- { ELangMalay_Apac, "ms" }
+ { ELangEnglish_Apac, "en" }, // 129
+ { ELangEnglish_Taiwan, "en_TW" }, // 157 ### Not supported by CLDR
+ { ELangEnglish_HongKong, "en_HK" }, // 158
+ { ELangEnglish_Prc, "en_CN" }, // 159 ### Not supported by CLDR
+ { ELangEnglish_Japan, "en_JP"}, // 160 ### Not supported by CLDR
+ { ELangEnglish_Thailand, "en_TH" }, // 161 ### Not supported by CLDR
+ { ELangMalay_Apac, "ms" }, // 326
#endif
+ { 327/*ELangIndonesian_Apac*/,"id_ID" } // 327 - appeared in Symbian^3
};
/*!
@@ -771,13 +781,18 @@ static QLocale::MeasurementSystem symbianMeasurementSystem()
return QLocale::MetricSystem;
}
-QLocale QSystemLocale::fallbackLocale() const
+void qt_symbianUpdateSystemPrivate()
{
// load system data before query calls
+ _s60Locale.LoadSystemSettings();
+}
+
+void qt_symbianInitSystemLocale()
+{
static QBasicAtomicInt initDone = Q_BASIC_ATOMIC_INITIALIZER(0);
+ if (initDone == 2)
+ return;
if (initDone.testAndSetRelaxed(0, 1)) {
- _s60Locale.LoadSystemSettings();
-
// Initialize platform version dependent function pointers
ptrTimeFormatL = reinterpret_cast<FormatFunc>
(qt_resolveS60PluginFunc(S60Plugin_TimeFormatL));
@@ -801,7 +816,10 @@ QLocale QSystemLocale::fallbackLocale() const
}
while(initDone != 2)
QThread::yieldCurrentThread();
+}
+QLocale QSystemLocale::fallbackLocale() const
+{
TLanguage lang = User::Language();
QString locale = QLatin1String(qt_symbianLocaleName(lang));
return QLocale(locale);
@@ -884,4 +902,35 @@ QVariant QSystemLocale::query(QueryType type, QVariant in = QVariant()) const
return QVariant();
}
+#if !defined(QT_NO_SYSTEMLOCALE)
+QEnvironmentChangeNotifier::QEnvironmentChangeNotifier()
+{
+ // Create the change notifier and install the callback function
+ const TCallBack callback(&QEnvironmentChangeNotifier::localeChanged, this);
+ QT_TRAP_THROWING(iChangeNotifier = CEnvironmentChangeNotifier::NewL(CActive::EPriorityStandard, callback));
+ iChangeNotifier->Start();
+}
+
+TInt QEnvironmentChangeNotifier::localeChanged(TAny *data)
+{
+ QEnvironmentChangeNotifier *that = reinterpret_cast<QEnvironmentChangeNotifier *>(data);
+
+ TInt flag = that->iChangeNotifier->Change();
+ if (flag & EChangesLocale) {
+ static bool first = true;
+ if (!first) { // skip the first notification on app startup
+ QT_TRYCATCH_LEAVING(QLocalePrivate::updateSystemPrivate());
+ QT_TRYCATCH_LEAVING(QCoreApplication::postEvent(qApp, new QEvent(QEvent::LocaleChange)));
+ }
+ first = false;
+ }
+ return KErrNone;
+}
+
+QEnvironmentChangeNotifier::~QEnvironmentChangeNotifier()
+{
+ delete iChangeNotifier;
+}
+#endif
+
QT_END_NAMESPACE
diff --git a/src/corelib/tools/qmap.h b/src/corelib/tools/qmap.h
index df0ae460c3..e4b73a1aef 100644
--- a/src/corelib/tools/qmap.h
+++ b/src/corelib/tools/qmap.h
@@ -125,6 +125,10 @@ template <class Key, class T>
struct QMapNode {
Key key;
T value;
+
+private:
+ // never access these members through this structure.
+ // see below
QMapData::Node *backward;
QMapData::Node *forward[1];
};
@@ -134,6 +138,22 @@ struct QMapPayloadNode
{
Key key;
T value;
+
+private:
+ // QMap::e is a pointer to QMapData::Node, which matches the member
+ // below. However, the memory allocation node in QMapData::node_create
+ // allocates sizeof(QMapPayloNode) and incorrectly calculates the offset
+ // of 'backward' below. If the alignment of QMapPayloadNode is larger
+ // than the alignment of a pointer, the 'backward' member is aligned to
+ // the end of this structure, not to 'value' above, and will occupy the
+ // tail-padding area.
+ //
+ // e.g., on a 32-bit archictecture with Key = int and
+ // sizeof(T) = alignof(T) = 8
+ // 0 4 8 12 16 20 24 byte
+ // | key | PAD | value |backward| PAD | correct layout
+ // | key | PAD | value | |backward| how it's actually used
+ // |<----- value of QMap::payload() = 20 ----->|
QMapData::Node *backward;
};
@@ -957,7 +977,7 @@ public:
{ return QMap<Key, T>::insertMulti(key, value); }
inline QMultiMap &operator+=(const QMultiMap &other)
- { unite(other); return *this; }
+ { this->unite(other); return *this; }
inline QMultiMap operator+(const QMultiMap &other) const
{ QMultiMap result = *this; result += other; return result; }
@@ -1032,12 +1052,7 @@ Q_INLINE_TEMPLATE int QMultiMap<Key, T>::remove(const Key &key, const T &value)
typename QMap<Key, T>::iterator end(QMap<Key, T>::end());
while (i != end && !qMapLessThanKey<Key>(key, i.key())) {
if (i.value() == value) {
-#if defined(Q_CC_RVCT)
- // RVCT has problems with scoping, apparently.
- i = QMap<Key, T>::erase(i);
-#else
- i = erase(i);
-#endif
+ i = this->erase(i);
++n;
} else {
++i;
diff --git a/src/corelib/tools/qpair.qdoc b/src/corelib/tools/qpair.qdoc
index c9cbb29644..34c43ed633 100644
--- a/src/corelib/tools/qpair.qdoc
+++ b/src/corelib/tools/qpair.qdoc
@@ -214,7 +214,7 @@
This function requires the T1 and T2 types to implement \c operator>>().
- \sa {Format of the QDataStream operators}
+ \sa {Serializing Qt Data Types}
*/
/*! \fn QDataStream &operator<<(QDataStream &out, const QPair<T1, T2> &pair)
@@ -225,5 +225,5 @@
This function requires the T1 and T2 types to implement \c operator<<().
- \sa {Format of the QDataStream operators}
+ \sa {Serializing Qt Data Types}
*/
diff --git a/src/corelib/tools/qpoint.cpp b/src/corelib/tools/qpoint.cpp
index 9850ee786f..66f06e9ccd 100644
--- a/src/corelib/tools/qpoint.cpp
+++ b/src/corelib/tools/qpoint.cpp
@@ -306,7 +306,7 @@ QT_BEGIN_NAMESPACE
Writes the given \a point to the given \a stream and returns a
reference to the stream.
- \sa {Format of the QDataStream Operators}
+ \sa {Serializing Qt Data Types}
*/
QDataStream &operator<<(QDataStream &s, const QPoint &p)
@@ -325,7 +325,7 @@ QDataStream &operator<<(QDataStream &s, const QPoint &p)
Reads a point from the given \a stream into the given \a point
and returns a reference to the stream.
- \sa {Format of the QDataStream Operators}
+ \sa {Serializing Qt Data Types}
*/
QDataStream &operator>>(QDataStream &s, QPoint &p)
@@ -647,7 +647,7 @@ qreal QPointF::manhattanLength() const
Writes the given \a point to the given \a stream and returns a
reference to the stream.
- \sa {Format of the QDataStream Operators}
+ \sa {Serializing Qt Data Types}
*/
QDataStream &operator<<(QDataStream &s, const QPointF &p)
@@ -663,7 +663,7 @@ QDataStream &operator<<(QDataStream &s, const QPointF &p)
Reads a point from the given \a stream into the given \a point
and returns a reference to the stream.
- \sa {Format of the QDataStream Operators}
+ \sa {Serializing Qt Data Types}
*/
QDataStream &operator>>(QDataStream &s, QPointF &p)
diff --git a/src/corelib/tools/qrect.cpp b/src/corelib/tools/qrect.cpp
index 80563aecd8..308a5618ee 100644
--- a/src/corelib/tools/qrect.cpp
+++ b/src/corelib/tools/qrect.cpp
@@ -1272,7 +1272,7 @@ bool QRect::intersects(const QRect &r) const
Writes the given \a rectangle to the given \a stream, and returns
a reference to the stream.
- \sa {Format of the QDataStream Operators}
+ \sa {Serializing Qt Data Types}
*/
QDataStream &operator<<(QDataStream &s, const QRect &r)
@@ -1293,7 +1293,7 @@ QDataStream &operator<<(QDataStream &s, const QRect &r)
Reads a rectangle from the given \a stream into the given \a
rectangle, and returns a reference to the stream.
- \sa {Format of the QDataStream Operators}
+ \sa {Serializing Qt Data Types}
*/
QDataStream &operator>>(QDataStream &s, QRect &r)
@@ -2420,7 +2420,7 @@ QRect QRectF::toAlignedRect() const
Writes the \a rectangle to the \a stream, and returns a reference to the
stream.
- \sa \link datastreamformat.html Format of the QDataStream operators \endlink
+ \sa {Serializing Qt Data Types}
*/
QDataStream &operator<<(QDataStream &s, const QRectF &r)
@@ -2437,7 +2437,7 @@ QDataStream &operator<<(QDataStream &s, const QRectF &r)
Reads a \a rectangle from the \a stream, and returns a reference to the
stream.
- \sa \link datastreamformat.html Format of the QDataStream operators \endlink
+ \sa {Serializing Qt Data Types}
*/
QDataStream &operator>>(QDataStream &s, QRectF &r)
diff --git a/src/corelib/tools/qregexp.cpp b/src/corelib/tools/qregexp.cpp
index eb104a87b0..36827d056b 100644
--- a/src/corelib/tools/qregexp.cpp
+++ b/src/corelib/tools/qregexp.cpp
@@ -4459,7 +4459,7 @@ QString QRegExp::escape(const QString &str)
Writes the regular expression \a regExp to stream \a out.
- \sa {Format of the QDataStream Operators}
+ \sa {Serializing Qt Data Types}
*/
QDataStream &operator<<(QDataStream &out, const QRegExp &regExp)
{
@@ -4473,7 +4473,7 @@ QDataStream &operator<<(QDataStream &out, const QRegExp &regExp)
Reads a regular expression from stream \a in into \a regExp.
- \sa {Format of the QDataStream Operators}
+ \sa {Serializing Qt Data Types}
*/
QDataStream &operator>>(QDataStream &in, QRegExp &regExp)
{
diff --git a/src/corelib/tools/qsize.cpp b/src/corelib/tools/qsize.cpp
index f85a0c30a1..20ac344b39 100644
--- a/src/corelib/tools/qsize.cpp
+++ b/src/corelib/tools/qsize.cpp
@@ -380,7 +380,7 @@ void QSize::scale(const QSize &s, Qt::AspectRatioMode mode)
Writes the given \a size to the given \a stream, and returns a
reference to the stream.
- \sa {Format of the QDataStream Operators}
+ \sa {Serializing Qt Data Types}
*/
QDataStream &operator<<(QDataStream &s, const QSize &sz)
@@ -399,7 +399,7 @@ QDataStream &operator<<(QDataStream &s, const QSize &sz)
Reads a size from the given \a stream into the given \a size, and
returns a reference to the stream.
- \sa {Format of the QDataStream Operators}
+ \sa {Serializing Qt Data Types}
*/
QDataStream &operator>>(QDataStream &s, QSize &sz)
@@ -784,7 +784,7 @@ void QSizeF::scale(const QSizeF &s, Qt::AspectRatioMode mode)
Writes the given \a size to the given \a stream and returns a
reference to the stream.
- \sa {Format of the QDataStream Operators}
+ \sa {Serializing Qt Data Types}
*/
QDataStream &operator<<(QDataStream &s, const QSizeF &sz)
@@ -800,7 +800,7 @@ QDataStream &operator<<(QDataStream &s, const QSizeF &sz)
Reads a size from the given \a stream into the given \a size and
returns a reference to the stream.
- \sa {Format of the QDataStream Operators}
+ \sa {Serializing Qt Data Types}
*/
QDataStream &operator>>(QDataStream &s, QSizeF &sz)
diff --git a/src/corelib/tools/qstring.cpp b/src/corelib/tools/qstring.cpp
index 0169b20e33..57f79a0f2f 100644
--- a/src/corelib/tools/qstring.cpp
+++ b/src/corelib/tools/qstring.cpp
@@ -113,7 +113,7 @@ int qFindStringBoyerMoore(const QChar *haystack, int haystackLen, int from,
static int ucstricmp(const ushort *a, const ushort *ae, const ushort *b, const ushort *be)
{
if (a == b)
- return 0;
+ return (ae - be);
if (a == 0)
return 1;
if (b == 0)
@@ -125,7 +125,7 @@ static int ucstricmp(const ushort *a, const ushort *ae, const ushort *b, const u
uint alast = 0;
uint blast = 0;
- while (a != e) {
+ while (a < e) {
// qDebug() << hex << alast << blast;
// qDebug() << hex << "*a=" << *a << "alast=" << alast << "folded=" << foldCase (*a, alast);
// qDebug() << hex << "*b=" << *b << "blast=" << blast << "folded=" << foldCase (*b, blast);
@@ -154,7 +154,7 @@ static int ucstricmp(const ushort *a, const ushort *ae, const uchar *b)
if (b == 0)
return -1;
- while (a != ae && *b) {
+ while (a < ae && *b) {
int diff = foldCase(*a) - foldCase(*b);
if ((diff))
return diff;
@@ -939,11 +939,11 @@ int QString::toWCharArray(wchar_t *array) const
const unsigned short *uc = utf16();
for (int i = 0; i < length(); ++i) {
uint u = uc[i];
- if (u >= 0xd800 && u < 0xdc00 && i < length()-1) {
+ if (QChar::isHighSurrogate(u) && i + 1 < length()) {
ushort low = uc[i+1];
- if (low >= 0xdc00 && low < 0xe000) {
+ if (QChar::isLowSurrogate(low)) {
+ u = QChar::surrogateToUcs4(u, low);
++i;
- u = (u - 0xd800)*0x400 + (low - 0xdc00) + 0x10000;
}
}
*a = wchar_t(u);
@@ -4640,9 +4640,12 @@ int QString::compare_helper(const QChar *data1, int length1, QLatin1String s2,
return length1;
if (cs == Qt::CaseSensitive) {
- while (uc != e && *c && *uc == *c)
+ while (uc < e && *c && *uc == *c)
uc++, c++;
+ if (uc == e)
+ return -*c;
+
return *uc - *c;
} else {
return ucstricmp(uc, e, c);
@@ -4765,6 +4768,10 @@ int QString::localeAwareCompare_helper(const QChar *data1, int length1,
CFRelease(thisString);
CFRelease(otherString);
return result;
+#elif defined(Q_OS_SYMBIAN)
+ TPtrC p1 = TPtrC16(reinterpret_cast<const TUint16 *>(data1), length1);
+ TPtrC p2 = TPtrC16(reinterpret_cast<const TUint16 *>(data2), length2);
+ return p1.CompareC(p2);
#elif defined(Q_OS_UNIX)
// declared in <string.h>
int delta = strcoll(toLocal8Bit_helper(data1, length1), toLocal8Bit_helper(data2, length2));
@@ -6195,8 +6202,10 @@ void qt_string_normalize(QString *data, QString::NormalizationForm mode, QChar::
if (simple)
return;
- QString &s = *data;
- if (version != UNICODE_DATA_VERSION) {
+ if (version == QChar::Unicode_Unassigned) {
+ version = UNICODE_DATA_VERSION;
+ } else if (version != UNICODE_DATA_VERSION) {
+ QString &s = *data;
for (int i = 0; i < NumNormalizationCorrections; ++i) {
const NormalizationCorrection &n = uc_normalization_corrections[i];
if (n.version > version) {
@@ -6911,20 +6920,23 @@ void QString::updateProperties() const
p++;
}
- p = d->data;
- d->righttoleft = false;
+ d->righttoleft = isRightToLeft();
+ d->clean = true;
+}
+
+bool QString::isRightToLeft() const
+{
+ ushort *p = d->data;
+ const ushort * const end = p + d->size;
+ bool righttoleft = false;
while (p < end) {
switch(QChar::direction(*p))
{
case QChar::DirL:
- case QChar::DirLRO:
- case QChar::DirLRE:
goto end;
case QChar::DirR:
case QChar::DirAL:
- case QChar::DirRLO:
- case QChar::DirRLE:
- d->righttoleft = true;
+ righttoleft = true;
goto end;
default:
break;
@@ -6932,8 +6944,7 @@ void QString::updateProperties() const
++p;
}
end:
- d->clean = true;
- return;
+ return righttoleft;
}
/*! \fn bool QString::isSimpleText() const
@@ -7091,7 +7102,7 @@ QString QString::fromRawData(const QChar *unicode, int size)
*/
QString &QString::setRawData(const QChar *unicode, int size)
{
- if (d->ref != 1 || d->alloc) {
+ if (d->ref != 1 || (d->data == d->array && d->alloc)) {
*this = fromRawData(unicode, size);
} else {
#ifdef QT3_SUPPORT
@@ -7385,7 +7396,7 @@ QString &QString::setRawData(const QChar *unicode, int size)
Writes the given \a string to the specified \a stream.
- \sa {Format of the QDataStream Operators}
+ \sa {Serializing Qt Data Types}
*/
QDataStream &operator<<(QDataStream &out, const QString &str)
@@ -7433,7 +7444,7 @@ QDataStream &operator<<(QDataStream &out, const QString &str)
Reads a string from the specified \a stream into the given \a string.
- \sa {Format of the QDataStream Operators}
+ \sa {Serializing Qt Data Types}
*/
QDataStream &operator>>(QDataStream &in, QString &str)
diff --git a/src/corelib/tools/qstring.h b/src/corelib/tools/qstring.h
index a1c4e77357..e52f59f995 100644
--- a/src/corelib/tools/qstring.h
+++ b/src/corelib/tools/qstring.h
@@ -590,7 +590,7 @@ public:
#endif
bool isSimpleText() const { if (!d->clean) updateProperties(); return d->simpletext; }
- bool isRightToLeft() const { if (!d->clean) updateProperties(); return d->righttoleft; }
+ bool isRightToLeft() const;
QString(int size, Qt::Initialization);
diff --git a/src/corelib/tools/qstringlist.cpp b/src/corelib/tools/qstringlist.cpp
index 32a0b1e211..82a46d4960 100644
--- a/src/corelib/tools/qstringlist.cpp
+++ b/src/corelib/tools/qstringlist.cpp
@@ -460,7 +460,7 @@ QString QtPrivate::QStringList_join(const QStringList *that, const QString &sep)
Reads a string list from the given \a in stream into the specified
\a list.
- \sa {Format of the QDataStream Operators}
+ \sa {Serializing Qt Data Types}
*/
/*!
@@ -469,7 +469,7 @@ QString QtPrivate::QStringList_join(const QStringList *that, const QString &sep)
Writes the given string \a list to the specified \a out stream.
- \sa {Format of the QDataStream Operators}
+ \sa {Serializing Qt Data Types}
*/
#endif // QT_NO_DATASTREAM
diff --git a/src/corelib/tools/qtextboundaryfinder.cpp b/src/corelib/tools/qtextboundaryfinder.cpp
index 92052973f9..bcddcb2010 100644
--- a/src/corelib/tools/qtextboundaryfinder.cpp
+++ b/src/corelib/tools/qtextboundaryfinder.cpp
@@ -131,6 +131,11 @@ static void init(QTextBoundaryFinder::BoundaryType type, const QChar *chars, int
Line break boundaries give possible places where a line break
might happen and sentence boundaries will show the beginning and
end of whole sentences.
+
+ The first position in a string is always a valid boundary and
+ refers to the position before the first character. The last
+ position at the length of the string is also valid and refers
+ to the position after the last character.
*/
/*!
@@ -363,7 +368,8 @@ int QTextBoundaryFinder::toNextBoundary()
++pos;
break;
case Line:
- while (pos < length && d->attributes[pos].lineBreakType < HB_Break)
+ Q_ASSERT(pos);
+ while (pos < length && d->attributes[pos-1].lineBreakType < HB_Break)
++pos;
break;
}
@@ -405,7 +411,7 @@ int QTextBoundaryFinder::toPreviousBoundary()
--pos;
break;
case Line:
- while (pos > 0 && d->attributes[pos].lineBreakType < HB_Break)
+ while (pos > 0 && d->attributes[pos-1].lineBreakType < HB_Break)
--pos;
break;
}
@@ -430,7 +436,7 @@ bool QTextBoundaryFinder::isAtBoundary() const
case Word:
return d->attributes[pos].wordBoundary;
case Line:
- return d->attributes[pos].lineBreakType >= HB_Break;
+ return (pos > 0) ? d->attributes[pos-1].lineBreakType >= HB_Break : true;
case Sentence:
return d->attributes[pos].sentenceBoundary;
}
diff --git a/src/corelib/tools/qvarlengtharray.h b/src/corelib/tools/qvarlengtharray.h
index 9773d4b2c3..4a6bb4b802 100644
--- a/src/corelib/tools/qvarlengtharray.h
+++ b/src/corelib/tools/qvarlengtharray.h
@@ -127,14 +127,21 @@ public:
inline T *data() { return ptr; }
inline const T *data() const { return ptr; }
inline const T * constData() const { return ptr; }
+ typedef int size_type;
+ typedef T value_type;
+ typedef value_type *pointer;
+ typedef const value_type *const_pointer;
+ typedef value_type &reference;
+ typedef const value_type &const_reference;
+ typedef qptrdiff difference_type;
private:
friend class QPodList<T, Prealloc>;
void realloc(int size, int alloc);
- int a;
- int s;
- T *ptr;
+ int a; // capacity
+ int s; // size
+ T *ptr; // data
union {
// ### Qt 5: Use 'Prealloc * sizeof(T)' as array size
char array[sizeof(qint64) * (((Prealloc * sizeof(T)) / sizeof(qint64)) + 1)];
@@ -197,8 +204,8 @@ Q_OUTOFLINE_TEMPLATE void QVarLengthArray<T, Prealloc>::realloc(int asize, int a
Q_ASSERT(aalloc >= asize);
T *oldPtr = ptr;
int osize = s;
- // s = asize;
+ const int copySize = qMin(asize, osize);
if (aalloc != a) {
ptr = reinterpret_cast<T *>(qMalloc(aalloc * sizeof(T)));
Q_CHECK_PTR(ptr);
@@ -209,7 +216,6 @@ Q_OUTOFLINE_TEMPLATE void QVarLengthArray<T, Prealloc>::realloc(int asize, int a
if (QTypeInfo<T>::isStatic) {
QT_TRY {
// copy all the old elements
- const int copySize = qMin(asize, osize);
while (s < copySize) {
new (ptr+s) T(*(oldPtr+s));
(oldPtr+s)->~T();
@@ -225,19 +231,19 @@ Q_OUTOFLINE_TEMPLATE void QVarLengthArray<T, Prealloc>::realloc(int asize, int a
QT_RETHROW;
}
} else {
- qMemCopy(ptr, oldPtr, qMin(asize, osize) * sizeof(T));
+ qMemCopy(ptr, oldPtr, copySize * sizeof(T));
}
} else {
ptr = oldPtr;
return;
}
}
+ s = copySize;
if (QTypeInfo<T>::isComplex) {
+ // destroy remaining old objects
while (osize > asize)
(oldPtr+(--osize))->~T();
- if (!QTypeInfo<T>::isStatic)
- s = osize;
}
if (oldPtr != reinterpret_cast<T *>(array) && oldPtr != ptr)
diff --git a/src/corelib/tools/qvarlengtharray.qdoc b/src/corelib/tools/qvarlengtharray.qdoc
index 38901e5ded..ef2dc58b26 100644
--- a/src/corelib/tools/qvarlengtharray.qdoc
+++ b/src/corelib/tools/qvarlengtharray.qdoc
@@ -302,3 +302,52 @@
\a defaultValue.
*/
+/*!
+ \typedef QVarLengthArray::size_type
+ \since 4.7
+
+ Typedef for int. Provided for STL compatibility.
+*/
+
+/*!
+ \typedef QVarLengthArray::value_type
+ \since 4.7
+
+ Typedef for T. Provided for STL compatibility.
+*/
+
+/*!
+ \typedef QVarLengthArray::difference_type
+ \since 4.7
+
+ Typedef for ptrdiff_t. Provided for STL compatibility.
+*/
+
+/*!
+ \typedef QVarLengthArray::pointer
+ \since 4.7
+
+ Typedef for T *. Provided for STL compatibility.
+*/
+
+/*!
+ \typedef QVarLengthArray::const_pointer
+ \since 4.7
+
+ Typedef for const T *. Provided for STL compatibility.
+*/
+
+/*!
+ \typedef QVarLengthArray::reference
+ \since 4.7
+
+ Typedef for T &. Provided for STL compatibility.
+*/
+
+/*!
+ \typedef QVarLengthArray::const_reference
+ \since 4.7
+
+ Typedef for const T &. Provided for STL compatibility.
+*/
+
diff --git a/src/corelib/tools/tools.pri b/src/corelib/tools/tools.pri
index f540f14cf8..88076127ca 100644
--- a/src/corelib/tools/tools.pri
+++ b/src/corelib/tools/tools.pri
@@ -106,8 +106,9 @@ contains(QT_CONFIG, zlib) {
../3rdparty/zlib/uncompr.c \
../3rdparty/zlib/zutil.c
} else:!contains(QT_CONFIG, no-zlib) {
- unix:LIBS_PRIVATE += -lz
-# win32:LIBS += libz.lib
+ symbian:LIBS_PRIVATE += -llibz
+ else:if(unix|win32-g++*):LIBS_PRIVATE += -lz
+ else:LIBS += zdll.lib
}
DEFINES += HB_EXPORT=Q_CORE_EXPORT
diff --git a/src/corelib/xml/qxmlstream.cpp b/src/corelib/xml/qxmlstream.cpp
index 1bf00b8cd9..853f311dee 100644
--- a/src/corelib/xml/qxmlstream.cpp
+++ b/src/corelib/xml/qxmlstream.cpp
@@ -560,7 +560,7 @@ void QXmlStreamReader::clear()
chunk of XML can be added with addData(), if the XML is being read
from a QByteArray, or by waiting for more data to arrive if the
XML is being read from a QIODevice. Either way, atEnd() will
- return false once more adata is available.
+ return false once more data is available.
\sa hasError(), error(), device(), QIODevice::atEnd()
*/
@@ -3716,7 +3716,8 @@ void QXmlStreamWriter::writeProcessingInstruction(const QString &target, const Q
{
Q_D(QXmlStreamWriter);
Q_ASSERT(!data.contains(QLatin1String("?>")));
- d->finishStartElement();
+ if (!d->finishStartElement(false) && d->autoFormatting)
+ d->indent(d->tagStack.size());
d->write("<?");
d->write(target);
if (!data.isNull()) {
diff --git a/src/dbus/qdbusabstractinterface.cpp b/src/dbus/qdbusabstractinterface.cpp
index 1a7c417ecc..4e9c1adc7a 100644
--- a/src/dbus/qdbusabstractinterface.cpp
+++ b/src/dbus/qdbusabstractinterface.cpp
@@ -42,6 +42,8 @@
#include "qdbusabstractinterface.h"
#include "qdbusabstractinterface_p.h"
+#include <qthread.h>
+
#include "qdbusargument.h"
#include "qdbuspendingcall.h"
#include "qdbusmessage_p.h"
@@ -440,7 +442,8 @@ QDBusMessage QDBusAbstractInterface::callWithArgumentList(QDBus::CallMode mode,
msg.setArguments(args);
QDBusMessage reply = d->connection.call(msg, mode);
- d->lastError = reply; // will clear if reply isn't an error
+ if (thread() == QThread::currentThread())
+ d->lastError = reply; // will clear if reply isn't an error
// ensure that there is at least one element
if (reply.arguments().isEmpty())
diff --git a/src/dbus/qdbusconnection.cpp b/src/dbus/qdbusconnection.cpp
index abb3224b79..4382032c82 100644
--- a/src/dbus/qdbusconnection.cpp
+++ b/src/dbus/qdbusconnection.cpp
@@ -1003,14 +1003,6 @@ void QDBusConnectionPrivate::setSender(const QDBusConnectionPrivate *s)
/*!
\internal
*/
-void QDBusConnectionPrivate::setConnection(const QString &name, QDBusConnectionPrivate *c)
-{
- _q_manager()->setConnection(name, c);
-}
-
-/*!
- \internal
-*/
void QDBusConnectionPrivate::setBusService(const QDBusConnection &connection)
{
busService = new QDBusConnectionInterface(connection, this);
diff --git a/src/dbus/qdbusconnection_p.h b/src/dbus/qdbusconnection_p.h
index 34bb6b3431..81af2c71f7 100644
--- a/src/dbus/qdbusconnection_p.h
+++ b/src/dbus/qdbusconnection_p.h
@@ -309,7 +309,6 @@ public:
static QDBusConnection q(QDBusConnectionPrivate *connection) { return QDBusConnection(connection); }
static void setSender(const QDBusConnectionPrivate *s);
- static void setConnection(const QString &name, QDBusConnectionPrivate *c);
friend class QDBusActivateObjectEvent;
friend class QDBusCallDeliveryEvent;
diff --git a/src/dbus/qdbusintegrator.cpp b/src/dbus/qdbusintegrator.cpp
index b4598aeb01..efa6744584 100644
--- a/src/dbus/qdbusintegrator.cpp
+++ b/src/dbus/qdbusintegrator.cpp
@@ -525,7 +525,7 @@ qDBusSignalFilter(DBusConnection *connection, DBusMessage *message, void *data)
return DBUS_HANDLER_RESULT_NOT_YET_HANDLED;
QDBusMessage amsg = QDBusMessagePrivate::fromDBusMessage(message);
- qDBusDebug() << d << "got message:" << amsg;
+ qDBusDebug() << d << "got message (signal):" << amsg;
return d->handleMessage(amsg) ?
DBUS_HANDLER_RESULT_HANDLED :
@@ -1692,15 +1692,31 @@ static void qDBusResultReceived(DBusPendingCall *pending, void *user_data)
void QDBusConnectionPrivate::waitForFinished(QDBusPendingCallPrivate *pcall)
{
Q_ASSERT(pcall->pending);
- QDBusDispatchLocker locker(PendingCallBlockAction, this);
- q_dbus_pending_call_block(pcall->pending);
- // QDBusConnectionPrivate::processFinishedCall() is called automatically
+ Q_ASSERT(!pcall->autoDelete);
+ //Q_ASSERT(pcall->mutex.isLocked()); // there's no such function
+
+ if (pcall->waitingForFinished) {
+ // another thread is already waiting
+ pcall->waitForFinishedCondition.wait(&pcall->mutex);
+ } else {
+ pcall->waitingForFinished = true;
+ pcall->mutex.unlock();
+
+ {
+ QDBusDispatchLocker locker(PendingCallBlockAction, this);
+ q_dbus_pending_call_block(pcall->pending);
+ // QDBusConnectionPrivate::processFinishedCall() is called automatically
+ }
+ pcall->mutex.lock();
+ }
}
void QDBusConnectionPrivate::processFinishedCall(QDBusPendingCallPrivate *call)
{
QDBusConnectionPrivate *connection = const_cast<QDBusConnectionPrivate *>(call->connection);
+ QMutexLocker locker(&call->mutex);
+
QDBusMessage &msg = call->replyMessage;
if (call->pending) {
// decode the message
@@ -1730,6 +1746,12 @@ void QDBusConnectionPrivate::processFinishedCall(QDBusPendingCallPrivate *call)
qDBusDebug() << "Deliver failed!";
}
+ if (call->pending)
+ q_dbus_pending_call_unref(call->pending);
+ call->pending = 0;
+
+ locker.unlock();
+
// Are there any watchers?
if (call->watcherHelper)
call->watcherHelper->emitSignals(msg, call->sentMessage);
@@ -1737,12 +1759,10 @@ void QDBusConnectionPrivate::processFinishedCall(QDBusPendingCallPrivate *call)
if (msg.type() == QDBusMessage::ErrorMessage)
emit connection->callWithCallbackFailed(QDBusError(msg), call->sentMessage);
- if (call->pending)
- q_dbus_pending_call_unref(call->pending);
- call->pending = 0;
-
- if (call->autoDelete)
+ if (call->autoDelete) {
+ Q_ASSERT(!call->waitingForFinished); // can't wait on a call with autoDelete!
delete call;
+ }
}
int QDBusConnectionPrivate::send(const QDBusMessage& message)
@@ -1884,17 +1904,14 @@ QDBusPendingCallPrivate *QDBusConnectionPrivate::sendWithReplyAsync(const QDBusM
{
if (isServiceRegisteredByThread(message.service())) {
// special case for local calls
- QDBusPendingCallPrivate *pcall = new QDBusPendingCallPrivate;
- pcall->sentMessage = message;
+ QDBusPendingCallPrivate *pcall = new QDBusPendingCallPrivate(message, this);
pcall->replyMessage = sendWithReplyLocal(message);
- pcall->connection = this;
return pcall;
}
checkThread();
- QDBusPendingCallPrivate *pcall = new QDBusPendingCallPrivate;
- pcall->sentMessage = message;
+ QDBusPendingCallPrivate *pcall = new QDBusPendingCallPrivate(message, this);
pcall->ref = 0;
QDBusError error;
@@ -1918,7 +1935,6 @@ QDBusPendingCallPrivate *QDBusConnectionPrivate::sendWithReplyAsync(const QDBusM
q_dbus_message_unref(msg);
pcall->pending = pending;
- pcall->connection = this;
q_dbus_pending_call_set_notify(pending, qDBusResultReceived, pcall, 0);
return pcall;
diff --git a/src/dbus/qdbusinternalfilters.cpp b/src/dbus/qdbusinternalfilters.cpp
index 8fc219a8d0..78abf94168 100644
--- a/src/dbus/qdbusinternalfilters.cpp
+++ b/src/dbus/qdbusinternalfilters.cpp
@@ -87,7 +87,7 @@ static const char propertiesInterfaceXml[] =
" <method name=\"GetAll\">\n"
" <arg name=\"interface_name\" type=\"s\" direction=\"in\"/>\n"
" <arg name=\"values\" type=\"a{sv}\" direction=\"out\"/>\n"
- " <annotation name=\"com.trolltech.QtDBus.QtTypeName.Out0\" value=\"QVariantMap\"/>"
+ " <annotation name=\"com.trolltech.QtDBus.QtTypeName.Out0\" value=\"QVariantMap\"/>\n"
" </method>\n"
" </interface>\n";
diff --git a/src/dbus/qdbusmacros.h b/src/dbus/qdbusmacros.h
index 77122fccd5..693a350c01 100644
--- a/src/dbus/qdbusmacros.h
+++ b/src/dbus/qdbusmacros.h
@@ -48,8 +48,10 @@
#if defined(QDBUS_MAKEDLL)
# define QDBUS_EXPORT Q_DECL_EXPORT
-#else
+#elif defined(QT_SHARED)
# define QDBUS_EXPORT Q_DECL_IMPORT
+#else
+# define QDBUS_EXPORT
#endif
#ifndef Q_MOC_RUN
diff --git a/src/dbus/qdbuspendingcall.cpp b/src/dbus/qdbuspendingcall.cpp
index dac7a92dec..c2e94b3efe 100644
--- a/src/dbus/qdbuspendingcall.cpp
+++ b/src/dbus/qdbuspendingcall.cpp
@@ -210,6 +210,8 @@ void QDBusPendingCallPrivate::setMetaTypes(int count, const int *types)
void QDBusPendingCallPrivate::checkReceivedSignature()
{
+ // MUST BE CALLED WITH A LOCKED MUTEX!
+
if (replyMessage.type() == QDBusMessage::InvalidMessage)
return; // not yet finished - no message to
// validate against
@@ -232,6 +234,8 @@ void QDBusPendingCallPrivate::checkReceivedSignature()
void QDBusPendingCallPrivate::waitForFinished()
{
+ QMutexLocker locker(&mutex);
+
if (replyMessage.type() != QDBusMessage::InvalidMessage)
return; // already finished
@@ -312,7 +316,11 @@ QDBusPendingCall &QDBusPendingCall::operator=(const QDBusPendingCall &other)
bool QDBusPendingCall::isFinished() const
{
- return !d || (d->replyMessage.type() != QDBusMessage::InvalidMessage);
+ if (!d)
+ return true; // considered finished
+
+ QMutexLocker locker(&d->mutex);
+ return d->replyMessage.type() != QDBusMessage::InvalidMessage;
}
void QDBusPendingCall::waitForFinished()
@@ -331,7 +339,10 @@ void QDBusPendingCall::waitForFinished()
*/
bool QDBusPendingCall::isValid() const
{
- return d ? d->replyMessage.type() == QDBusMessage::ReplyMessage : false;
+ if (!d)
+ return false;
+ QMutexLocker locker(&d->mutex);
+ return d->replyMessage.type() == QDBusMessage::ReplyMessage;
}
/*!
@@ -345,7 +356,10 @@ bool QDBusPendingCall::isValid() const
*/
bool QDBusPendingCall::isError() const
{
- return d ? d->replyMessage.type() == QDBusMessage::ErrorMessage : true;
+ if (!d)
+ return true; // considered finished and an error
+ QMutexLocker locker(&d->mutex);
+ return d->replyMessage.type() == QDBusMessage::ErrorMessage;
}
/*!
@@ -358,8 +372,10 @@ bool QDBusPendingCall::isError() const
*/
QDBusError QDBusPendingCall::error() const
{
- if (d)
+ if (d) {
+ QMutexLocker locker(&d->mutex);
return d->replyMessage;
+ }
// not connected, return an error
QDBusError err = QDBusError(QDBusError::Disconnected,
@@ -380,7 +396,10 @@ QDBusError QDBusPendingCall::error() const
*/
QDBusMessage QDBusPendingCall::reply() const
{
- return d ? d->replyMessage : QDBusMessage::createError(error());
+ if (!d)
+ return QDBusMessage::createError(error());
+ QMutexLocker locker(&d->mutex);
+ return d->replyMessage;
}
#if 0
@@ -441,9 +460,8 @@ QDBusPendingCall QDBusPendingCall::fromCompletedCall(const QDBusMessage &msg)
QDBusPendingCallPrivate *d = 0;
if (msg.type() == QDBusMessage::ErrorMessage ||
msg.type() == QDBusMessage::ReplyMessage) {
- d = new QDBusPendingCallPrivate;
+ d = new QDBusPendingCallPrivate(QDBusMessage(), 0);
d->replyMessage = msg;
- d->connection = 0;
}
return QDBusPendingCall(d);
@@ -473,9 +491,10 @@ QDBusPendingCallWatcher::QDBusPendingCallWatcher(const QDBusPendingCall &call, Q
: QObject(*new QDBusPendingCallWatcherPrivate, parent), QDBusPendingCall(call)
{
if (d) { // QDBusPendingCall::d
+ QMutexLocker locker(&d->mutex);
if (!d->watcherHelper) {
d->watcherHelper = new QDBusPendingCallWatcherHelper;
- if (isFinished()) {
+ if (d->replyMessage.type() != QDBusMessage::InvalidMessage) {
// cause a signal emission anyways
QMetaObject::invokeMethod(d->watcherHelper, "finished", Qt::QueuedConnection);
}
diff --git a/src/dbus/qdbuspendingcall_p.h b/src/dbus/qdbuspendingcall_p.h
index f1f6dc24ec..8683552fa6 100644
--- a/src/dbus/qdbuspendingcall_p.h
+++ b/src/dbus/qdbuspendingcall_p.h
@@ -57,6 +57,8 @@
#include <qshareddata.h>
#include <qpointer.h>
#include <qlist.h>
+#include <qmutex.h>
+#include <qwaitcondition.h>
#include "qdbusmessage.h"
#include "qdbus_symbols_p.h"
@@ -73,24 +75,35 @@ class QDBusConnectionPrivate;
class QDBusPendingCallPrivate: public QSharedData
{
public:
- QDBusMessage sentMessage;
- QDBusMessage replyMessage;
-// QDBusMessage pendingReplyMessage; // used in the local loop
- QDBusPendingCallWatcherHelper *watcherHelper;
- DBusPendingCall *pending;
- QDBusConnectionPrivate *connection;
+ // {
+ // set only during construction:
+ const QDBusMessage sentMessage;
+ QDBusConnectionPrivate * const connection;
- QString expectedReplySignature;
- int expectedReplyCount;
-
- // for the callback
+ // for the callback mechanism (see setReplyCallback and QDBusConnectionPrivate::sendWithReplyAsync)
QPointer<QObject> receiver;
QList<int> metaTypes;
int methodIdx;
bool autoDelete;
+ // }
+
+ mutable QMutex mutex;
+ QWaitCondition waitForFinishedCondition;
+
+ // {
+ // protected by the mutex above:
+ QDBusPendingCallWatcherHelper *watcherHelper;
+ QDBusMessage replyMessage;
+ DBusPendingCall *pending;
+ volatile bool waitingForFinished;
+
+ QString expectedReplySignature;
+ int expectedReplyCount;
+ // }
- QDBusPendingCallPrivate() : watcherHelper(0), pending(0), autoDelete(false)
+ QDBusPendingCallPrivate(const QDBusMessage &sent, QDBusConnectionPrivate *connection)
+ : sentMessage(sent), connection(connection), autoDelete(false), watcherHelper(0), pending(0), waitingForFinished(false)
{ }
~QDBusPendingCallPrivate();
bool setReplyCallback(QObject *target, const char *member);
diff --git a/src/dbus/qdbuspendingreply.cpp b/src/dbus/qdbuspendingreply.cpp
index 40cf6e303a..891b34852c 100644
--- a/src/dbus/qdbuspendingreply.cpp
+++ b/src/dbus/qdbuspendingreply.cpp
@@ -254,7 +254,7 @@ void QDBusPendingReplyData::assign(const QDBusPendingCall &other)
void QDBusPendingReplyData::assign(const QDBusMessage &message)
{
- d = new QDBusPendingCallPrivate; // drops the reference to the old one
+ d = new QDBusPendingCallPrivate(QDBusMessage(), 0); // drops the reference to the old one
d->replyMessage = message;
}
@@ -273,6 +273,7 @@ QVariant QDBusPendingReplyData::argumentAt(int index) const
void QDBusPendingReplyData::setMetaTypes(int count, const int *types)
{
Q_ASSERT(d);
+ QMutexLocker locker(&d->mutex);
d->setMetaTypes(count, types);
d->checkReceivedSignature();
}
diff --git a/src/dbus/qdbusxmlgenerator.cpp b/src/dbus/qdbusxmlgenerator.cpp
index 9c25d827fa..463ac73a82 100644
--- a/src/dbus/qdbusxmlgenerator.cpp
+++ b/src/dbus/qdbusxmlgenerator.cpp
@@ -160,7 +160,7 @@ static QString generateInterfaceXml(const QMetaObject *mo, int flags, int method
// do we need to describe this argument?
if (QDBusMetaType::signatureToType(typeName) == QVariant::Invalid)
xml += QString::fromLatin1(" <annotation name=\"com.trolltech.QtDBus.QtTypeName.Out0\" value=\"%1\"/>\n")
- .arg(typeNameToXml(mm.typeName()));
+ .arg(typeNameToXml(QVariant::typeToName(QVariant::Type(typeId))));
} else
continue;
}
diff --git a/src/declarative/3rdparty/3rdparty.pri b/src/declarative/3rdparty/3rdparty.pri
deleted file mode 100644
index fbdcc11155..0000000000
--- a/src/declarative/3rdparty/3rdparty.pri
+++ /dev/null
@@ -1,7 +0,0 @@
-INCLUDEPATH += $$PWD
-
-HEADERS += \
- $$PWD/qlistmodelinterface_p.h\
-
-SOURCES += \
- $$PWD/qlistmodelinterface.cpp \
diff --git a/src/declarative/QmlChanges.txt b/src/declarative/QmlChanges.txt
index 9c464676e0..8b6b83f664 100644
--- a/src/declarative/QmlChanges.txt
+++ b/src/declarative/QmlChanges.txt
@@ -1,15 +1,45 @@
=============================================================================
The changes below are pre Qt 4.7.0 RC
-Flickable: overShoot is replaced by boundsBehavior enumeration.
+QDeclarativeView
+ - initialSize() function added
+TextInput and TextEdit:
+ - openSoftwareInputPanel() and closeSoftwareInputPanel() functions added
+Flickable:
+ - overShoot is replaced by boundsBehavior enumeration
+ - flickingHorizontally and flickingVertically properties added
+ - movingHorizontally and movingVertically properties added
+ - flickDirection is renamed flickableDirection
+Component:
+ - isReady, isLoading, isError and isNull properties removed, use
+ status property instead
+ - errorsString() renamed to errorString()
+
+TextInput xToPosition -> positionAt (to match TextEdit.positionAt)
+
+QList<QObject*> models no longer provide properties in model object. The
+properties are now updated when the object changes. An object's property
+"foo" may now be accessed as "foo", modelData.foo" or model.modelData.foo"
+component.createObject has gained a mandatory "parent" argument
+TextEdit and TextInput now have a "selectByMouse" property that defaults to false.
C++ API
-------
QDeclarativeExpression::value() has been renamed to
QDeclarativeExpression::evaluate()
+The QDeclarativeExpression constructor has changed from
+ QDeclarativeExpression(context, expression, scope)
+to
+ QDeclarativeExpression(context, scope, expression, parent = 0)
+
+QML Viewer
+------------
+The standalone qml executable has been renamed back to Qml Viewer. Runtime warnings
+can be now accessed via the menu (Debugging->Show Warnings).
+
=============================================================================
-The changes below are pre Qt 4.7.0 beta
+The changes below are pre Qt 4.7.0 beta 1
TextEdit: wrap property is replaced by wrapMode enumeration.
Text: wrap property is replaced by wrapMode enumeration.
diff --git a/src/declarative/debugger/debugger.pri b/src/declarative/debugger/debugger.pri
index dedea55c39..33d08438ff 100644
--- a/src/declarative/debugger/debugger.pri
+++ b/src/declarative/debugger/debugger.pri
@@ -5,11 +5,13 @@ SOURCES += \
$$PWD/qpacketprotocol.cpp \
$$PWD/qdeclarativedebugservice.cpp \
$$PWD/qdeclarativedebugclient.cpp \
- $$PWD/qdeclarativedebug.cpp
+ $$PWD/qdeclarativedebug.cpp \
+ $$PWD/qdeclarativedebugtrace.cpp
HEADERS += \
$$PWD/qdeclarativedebuggerstatus_p.h \
$$PWD/qpacketprotocol_p.h \
$$PWD/qdeclarativedebugservice_p.h \
$$PWD/qdeclarativedebugclient_p.h \
- $$PWD/qdeclarativedebug_p.h
+ $$PWD/qdeclarativedebug_p.h \
+ $$PWD/qdeclarativedebugtrace_p.h
diff --git a/src/declarative/debugger/qdeclarativedebugservice.cpp b/src/declarative/debugger/qdeclarativedebugservice.cpp
index 34e73fd1c1..dca26953d6 100644
--- a/src/declarative/debugger/qdeclarativedebugservice.cpp
+++ b/src/declarative/debugger/qdeclarativedebugservice.cpp
@@ -61,6 +61,7 @@ class QDeclarativeDebugServer : public QObject
public:
static QDeclarativeDebugServer *instance();
void listen();
+ void waitForConnection();
bool hasDebuggingClient() const;
private Q_SLOTS:
@@ -115,6 +116,12 @@ void QDeclarativeDebugServer::listen()
qWarning("QDeclarativeDebugServer: Unable to listen on port %d", d->port);
}
+void QDeclarativeDebugServer::waitForConnection()
+{
+ Q_D(QDeclarativeDebugServer);
+ d->tcpServer->waitForNewConnection(-1);
+}
+
void QDeclarativeDebugServer::newConnection()
{
Q_D(QDeclarativeDebugServer);
@@ -144,6 +151,7 @@ QDeclarativeDebugServer *QDeclarativeDebugServer::instance()
if (!envTested) {
envTested = true;
QByteArray env = qgetenv("QML_DEBUG_SERVER_PORT");
+ QByteArray block = qgetenv("QML_DEBUG_SERVER_BLOCK");
bool ok = false;
int port = env.toInt(&ok);
@@ -151,6 +159,9 @@ QDeclarativeDebugServer *QDeclarativeDebugServer::instance()
if (ok && port > 1024) {
server = new QDeclarativeDebugServer(port);
server->listen();
+ if (!block.isEmpty()) {
+ server->waitForConnection();
+ }
}
}
diff --git a/src/declarative/debugger/qdeclarativedebugtrace.cpp b/src/declarative/debugger/qdeclarativedebugtrace.cpp
new file mode 100644
index 0000000000..5e6d5e7d53
--- /dev/null
+++ b/src/declarative/debugger/qdeclarativedebugtrace.cpp
@@ -0,0 +1,110 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include "qdeclarativedebugtrace_p.h"
+
+#include <QtCore/qdatastream.h>
+#include <QtCore/qurl.h>
+
+Q_GLOBAL_STATIC(QDeclarativeDebugTrace, traceInstance);
+
+QDeclarativeDebugTrace::QDeclarativeDebugTrace()
+: QDeclarativeDebugService(QLatin1String("CanvasFrameRate"))
+{
+ m_timer.start();
+}
+
+void QDeclarativeDebugTrace::addEvent(EventType t)
+{
+ if (QDeclarativeDebugService::isDebuggingEnabled())
+ traceInstance()->addEventImpl(t);
+}
+
+void QDeclarativeDebugTrace::startRange(RangeType t)
+{
+ if (QDeclarativeDebugService::isDebuggingEnabled())
+ traceInstance()->startRangeImpl(t);
+}
+
+void QDeclarativeDebugTrace::rangeData(RangeType t, const QUrl &url)
+{
+ if (QDeclarativeDebugService::isDebuggingEnabled())
+ traceInstance()->rangeDataImpl(t, url);
+}
+
+void QDeclarativeDebugTrace::endRange(RangeType t)
+{
+ if (QDeclarativeDebugService::isDebuggingEnabled())
+ traceInstance()->endRangeImpl(t);
+}
+
+void QDeclarativeDebugTrace::addEventImpl(EventType event)
+{
+ QByteArray data;
+ QDataStream ds(&data, QIODevice::WriteOnly);
+ ds << m_timer.elapsed() << (int)Event << (int)event;
+ sendMessage(data);
+}
+
+void QDeclarativeDebugTrace::startRangeImpl(RangeType range)
+{
+ QByteArray data;
+ QDataStream ds(&data, QIODevice::WriteOnly);
+ ds << m_timer.elapsed() << (int)RangeStart << (int)range;
+ sendMessage(data);
+}
+
+void QDeclarativeDebugTrace::rangeDataImpl(RangeType range, const QUrl &u)
+{
+ QByteArray data;
+ QDataStream ds(&data, QIODevice::WriteOnly);
+ ds << m_timer.elapsed() << (int)RangeData << (int)range << (QString)u.toString();
+ sendMessage(data);
+}
+
+void QDeclarativeDebugTrace::endRangeImpl(RangeType range)
+{
+ QByteArray data;
+ QDataStream ds(&data, QIODevice::WriteOnly);
+ ds << m_timer.elapsed() << (int)RangeEnd << (int)range;
+ sendMessage(data);
+}
+
diff --git a/src/declarative/debugger/qdeclarativedebugtrace_p.h b/src/declarative/debugger/qdeclarativedebugtrace_p.h
new file mode 100644
index 0000000000..704c49a3c1
--- /dev/null
+++ b/src/declarative/debugger/qdeclarativedebugtrace_p.h
@@ -0,0 +1,101 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#ifndef QDECLARATIVEDEBUGTRACE_P_H
+#define QDECLARATIVEDEBUGTRACE_P_H
+
+#include <private/qdeclarativedebugservice_p.h>
+#include <QtCore/qelapsedtimer.h>
+
+QT_BEGIN_HEADER
+
+QT_BEGIN_NAMESPACE
+
+class QUrl;
+class Q_AUTOTEST_EXPORT QDeclarativeDebugTrace : public QDeclarativeDebugService
+{
+public:
+ enum EventType {
+ FramePaint,
+ Mouse,
+ Key,
+
+ MaximumEventType
+ };
+
+ enum Message {
+ Event,
+ RangeStart,
+ RangeData,
+ RangeEnd,
+
+ MaximumMessage
+ };
+
+ enum RangeType {
+ Painting,
+ Compiling,
+ Creating,
+
+ MaximumRangeType
+ };
+
+ static void addEvent(EventType);
+
+ static void startRange(RangeType);
+ static void rangeData(RangeType, const QUrl &);
+ static void endRange(RangeType);
+
+ QDeclarativeDebugTrace();
+private:
+ void addEventImpl(EventType);
+ void startRangeImpl(RangeType);
+ void rangeDataImpl(RangeType, const QUrl &);
+ void endRangeImpl(RangeType);
+ QElapsedTimer m_timer;
+};
+
+QT_END_NAMESPACE
+
+QT_END_HEADER
+
+#endif // QDECLARATIVEDEBUGTRACE_P_H
+
diff --git a/src/declarative/declarative.pro b/src/declarative/declarative.pro
index 4287e250ee..510e7a5db1 100644
--- a/src/declarative/declarative.pro
+++ b/src/declarative/declarative.pro
@@ -1,13 +1,13 @@
TARGET = QtDeclarative
QPRO_PWD = $$PWD
-QT = core gui xml script network
+QT = core gui script network
contains(QT_CONFIG, svg): QT += svg
contains(QT_CONFIG, opengl): QT += opengl
DEFINES += QT_BUILD_DECLARATIVE_LIB QT_NO_URL_CAST_FROM_STRING
win32-msvc*|win32-icc:QMAKE_LFLAGS += /BASE:0x66000000
solaris-cc*:QMAKE_CXXFLAGS_RELEASE -= -O2
-unix:QMAKE_PKGCONFIG_REQUIRES = QtCore QtGui QtXml
+unix:QMAKE_PKGCONFIG_REQUIRES = QtCore QtGui
exists("qdeclarative_enable_gcov") {
QMAKE_CXXFLAGS = -fprofile-arcs -ftest-coverage -fno-elide-constructors
@@ -20,7 +20,6 @@ include(../qbase.pri)
#DESTDIR=.
#modules
-include(3rdparty/3rdparty.pri)
include(util/util.pri)
include(graphicsitems/graphicsitems.pri)
include(qml/qml.pri)
diff --git a/src/declarative/graphicsitems/qdeclarativeanchors.cpp b/src/declarative/graphicsitems/qdeclarativeanchors.cpp
index f15316bb72..67969772c3 100644
--- a/src/declarative/graphicsitems/qdeclarativeanchors.cpp
+++ b/src/declarative/graphicsitems/qdeclarativeanchors.cpp
@@ -53,6 +53,30 @@ QT_BEGIN_NAMESPACE
//TODO: should we cache relationships, so we don't have to check each time (parent-child or sibling)?
//TODO: support non-parent, non-sibling (need to find lowest common ancestor)
+static qreal hcenter(QGraphicsItem *i)
+{
+ QGraphicsItemPrivate *item = QGraphicsItemPrivate::get(i);
+
+ qreal width = item->width();
+ int iw = width;
+ if (iw % 2)
+ return (width + 1) / 2;
+ else
+ return width / 2;
+}
+
+static qreal vcenter(QGraphicsItem *i)
+{
+ QGraphicsItemPrivate *item = QGraphicsItemPrivate::get(i);
+
+ qreal height = item->height();
+ int ih = height;
+ if (ih % 2)
+ return (height + 1) / 2;
+ else
+ return height / 2;
+}
+
//### const item?
//local position
static qreal position(QGraphicsObject *item, QDeclarativeAnchorLine::AnchorLine anchorLine)
@@ -73,10 +97,10 @@ static qreal position(QGraphicsObject *item, QDeclarativeAnchorLine::AnchorLine
ret = item->y() + d->height();
break;
case QDeclarativeAnchorLine::HCenter:
- ret = item->x() + d->width()/2;
+ ret = item->x() + hcenter(item);
break;
case QDeclarativeAnchorLine::VCenter:
- ret = item->y() + d->height()/2;
+ ret = item->y() + vcenter(item);
break;
case QDeclarativeAnchorLine::Baseline:
if (d->isDeclarativeItem)
@@ -92,26 +116,26 @@ static qreal position(QGraphicsObject *item, QDeclarativeAnchorLine::AnchorLine
//position when origin is 0,0
static qreal adjustedPosition(QGraphicsObject *item, QDeclarativeAnchorLine::AnchorLine anchorLine)
{
- int ret = 0;
+ qreal ret = 0.0;
QGraphicsItemPrivate *d = QGraphicsItemPrivate::get(item);
switch(anchorLine) {
case QDeclarativeAnchorLine::Left:
- ret = 0;
+ ret = 0.0;
break;
case QDeclarativeAnchorLine::Right:
ret = d->width();
break;
case QDeclarativeAnchorLine::Top:
- ret = 0;
+ ret = 0.0;
break;
case QDeclarativeAnchorLine::Bottom:
ret = d->height();
break;
case QDeclarativeAnchorLine::HCenter:
- ret = d->width()/2;
+ ret = hcenter(item);
break;
case QDeclarativeAnchorLine::VCenter:
- ret = d->height()/2;
+ ret = vcenter(item);
break;
case QDeclarativeAnchorLine::Baseline:
if (d->isDeclarativeItem)
@@ -128,7 +152,6 @@ static qreal adjustedPosition(QGraphicsObject *item, QDeclarativeAnchorLine::Anc
\internal
\class QDeclarativeAnchors
\since 4.7
- \ingroup group_layouts
\brief The QDeclarativeAnchors class provides a way to lay out items relative to other items.
\warning Currently, only anchoring to siblings or parent is supported.
@@ -193,14 +216,14 @@ void QDeclarativeAnchorsPrivate::centerInChanged()
QGraphicsItemPrivate *itemPrivate = QGraphicsItemPrivate::get(item);
if (centerIn == item->parentItem()) {
QGraphicsItemPrivate *parentPrivate = QGraphicsItemPrivate::get(item->parentItem());
- QPointF p((parentPrivate->width() - itemPrivate->width()) / 2. + hCenterOffset,
- (parentPrivate->height() - itemPrivate->height()) / 2. + vCenterOffset);
+ QPointF p(hcenter(item->parentItem()) - hcenter(item) + hCenterOffset,
+ vcenter(item->parentItem()) - vcenter(item) + vCenterOffset);
setItemPos(p);
} else if (centerIn->parentItem() == item->parentItem()) {
QGraphicsItemPrivate *centerPrivate = QGraphicsItemPrivate::get(centerIn);
- QPointF p(centerIn->x() + (centerPrivate->width() - itemPrivate->width()) / 2. + hCenterOffset,
- centerIn->y() + (centerPrivate->height() - itemPrivate->height()) / 2. + vCenterOffset);
+ QPointF p(centerIn->x() + hcenter(centerIn) - hcenter(item) + hCenterOffset,
+ centerIn->y() + vcenter(centerIn) - vcenter(item) + vCenterOffset);
setItemPos(p);
}
@@ -460,10 +483,10 @@ void QDeclarativeAnchors::resetCenterIn()
bool QDeclarativeAnchorsPrivate::calcStretch(const QDeclarativeAnchorLine &edge1,
const QDeclarativeAnchorLine &edge2,
- int offset1,
- int offset2,
+ qreal offset1,
+ qreal offset2,
QDeclarativeAnchorLine::AnchorLine line,
- int &stretch)
+ qreal &stretch)
{
bool edge1IsParent = (edge1.item == item->parentItem());
bool edge2IsParent = (edge2.item == item->parentItem());
@@ -472,15 +495,15 @@ bool QDeclarativeAnchorsPrivate::calcStretch(const QDeclarativeAnchorLine &edge1
bool invalid = false;
if ((edge2IsParent && edge1IsParent) || (edge2IsSibling && edge1IsSibling)) {
- stretch = ((int)position(edge2.item, edge2.anchorLine) + offset2)
- - ((int)position(edge1.item, edge1.anchorLine) + offset1);
+ stretch = (position(edge2.item, edge2.anchorLine) + offset2)
+ - (position(edge1.item, edge1.anchorLine) + offset1);
} else if (edge2IsParent && edge1IsSibling) {
- stretch = ((int)position(edge2.item, edge2.anchorLine) + offset2)
- - ((int)position(item->parentObject(), line)
- + (int)position(edge1.item, edge1.anchorLine) + offset1);
+ stretch = (position(edge2.item, edge2.anchorLine) + offset2)
+ - (position(item->parentObject(), line)
+ + position(edge1.item, edge1.anchorLine) + offset1);
} else if (edge2IsSibling && edge1IsParent) {
- stretch = ((int)position(item->parentObject(), line) + (int)position(edge2.item, edge2.anchorLine) + offset2)
- - ((int)position(edge1.item, edge1.anchorLine) + offset1);
+ stretch = (position(item->parentObject(), line) + position(edge2.item, edge2.anchorLine) + offset2)
+ - (position(edge1.item, edge1.anchorLine) + offset1);
} else
invalid = true;
@@ -498,7 +521,7 @@ void QDeclarativeAnchorsPrivate::updateVerticalAnchors()
if (usedAnchors & QDeclarativeAnchors::TopAnchor) {
//Handle stretching
bool invalid = true;
- int height = 0;
+ qreal height = 0.0;
if (usedAnchors & QDeclarativeAnchors::BottomAnchor) {
invalid = calcStretch(top, bottom, topMargin, -bottomMargin, QDeclarativeAnchorLine::Top, height);
} else if (usedAnchors & QDeclarativeAnchors::VCenterAnchor) {
@@ -517,7 +540,7 @@ void QDeclarativeAnchorsPrivate::updateVerticalAnchors()
} else if (usedAnchors & QDeclarativeAnchors::BottomAnchor) {
//Handle stretching (top + bottom case is handled above)
if (usedAnchors & QDeclarativeAnchors::VCenterAnchor) {
- int height = 0;
+ qreal height = 0.0;
bool invalid = calcStretch(vCenter, bottom, vCenterOffset, -bottomMargin,
QDeclarativeAnchorLine::Top, height);
if (!invalid)
@@ -536,9 +559,9 @@ void QDeclarativeAnchorsPrivate::updateVerticalAnchors()
//Handle vCenter
if (vCenter.item == item->parentItem()) {
setItemY(adjustedPosition(vCenter.item, vCenter.anchorLine)
- - itemPrivate->height()/2 + vCenterOffset);
+ - vcenter(item) + vCenterOffset);
} else if (vCenter.item->parentItem() == item->parentItem()) {
- setItemY(position(vCenter.item, vCenter.anchorLine) - itemPrivate->height()/2 + vCenterOffset);
+ setItemY(position(vCenter.item, vCenter.anchorLine) - vcenter(item) + vCenterOffset);
}
} else if (usedAnchors & QDeclarativeAnchors::BaselineAnchor) {
//Handle baseline
@@ -570,7 +593,7 @@ void QDeclarativeAnchorsPrivate::updateHorizontalAnchors()
if (usedAnchors & QDeclarativeAnchors::LeftAnchor) {
//Handle stretching
bool invalid = true;
- int width = 0;
+ qreal width = 0.0;
if (usedAnchors & QDeclarativeAnchors::RightAnchor) {
invalid = calcStretch(left, right, leftMargin, -rightMargin, QDeclarativeAnchorLine::Left, width);
} else if (usedAnchors & QDeclarativeAnchors::HCenterAnchor) {
@@ -589,7 +612,7 @@ void QDeclarativeAnchorsPrivate::updateHorizontalAnchors()
} else if (usedAnchors & QDeclarativeAnchors::RightAnchor) {
//Handle stretching (left + right case is handled in updateLeftAnchor)
if (usedAnchors & QDeclarativeAnchors::HCenterAnchor) {
- int width = 0;
+ qreal width = 0.0;
bool invalid = calcStretch(hCenter, right, hCenterOffset, -rightMargin,
QDeclarativeAnchorLine::Left, width);
if (!invalid)
@@ -605,9 +628,9 @@ void QDeclarativeAnchorsPrivate::updateHorizontalAnchors()
} else if (usedAnchors & QDeclarativeAnchors::HCenterAnchor) {
//Handle hCenter
if (hCenter.item == item->parentItem()) {
- setItemX(adjustedPosition(hCenter.item, hCenter.anchorLine) - itemPrivate->width()/2 + hCenterOffset);
+ setItemX(adjustedPosition(hCenter.item, hCenter.anchorLine) - hcenter(item) + hCenterOffset);
} else if (hCenter.item->parentItem() == item->parentItem()) {
- setItemX(position(hCenter.item, hCenter.anchorLine) - itemPrivate->width()/2 + hCenterOffset);
+ setItemX(position(hCenter.item, hCenter.anchorLine) - hcenter(item) + hCenterOffset);
}
}
diff --git a/src/declarative/graphicsitems/qdeclarativeanchors_p_p.h b/src/declarative/graphicsitems/qdeclarativeanchors_p_p.h
index 05be6c5c11..1bbea3690f 100644
--- a/src/declarative/graphicsitems/qdeclarativeanchors_p_p.h
+++ b/src/declarative/graphicsitems/qdeclarativeanchors_p_p.h
@@ -131,7 +131,7 @@ public:
bool checkVValid() const;
bool checkHAnchorValid(QDeclarativeAnchorLine anchor) const;
bool checkVAnchorValid(QDeclarativeAnchorLine anchor) const;
- bool calcStretch(const QDeclarativeAnchorLine &edge1, const QDeclarativeAnchorLine &edge2, int offset1, int offset2, QDeclarativeAnchorLine::AnchorLine line, int &stretch);
+ bool calcStretch(const QDeclarativeAnchorLine &edge1, const QDeclarativeAnchorLine &edge2, qreal offset1, qreal offset2, QDeclarativeAnchorLine::AnchorLine line, qreal &stretch);
void updateHorizontalAnchors();
void updateVerticalAnchors();
diff --git a/src/declarative/graphicsitems/qdeclarativeanimatedimage.cpp b/src/declarative/graphicsitems/qdeclarativeanimatedimage.cpp
index c81c2d2166..d8527d3c11 100644
--- a/src/declarative/graphicsitems/qdeclarativeanimatedimage.cpp
+++ b/src/declarative/graphicsitems/qdeclarativeanimatedimage.cpp
@@ -45,7 +45,7 @@
#ifndef QT_NO_MOVIE
#include <qdeclarativeinfo.h>
-#include <qdeclarativeengine.h>
+#include <private/qdeclarativeengine_p.h>
#include <QMovie>
#include <QNetworkRequest>
@@ -63,22 +63,32 @@ QT_BEGIN_NAMESPACE
\inherits Image
\since 4.7
- This item provides for playing animations stored as images containing a series of frames,
- such as GIF files. The full list of supported formats can be determined with
- QMovie::supportedFormats().
+ The AnimatedImage element provides for playing animations stored as images containing a series of frames,
+ such as GIF files.
+
+ The full list of supported formats can be determined with QMovie::supportedFormats().
\table
\row
\o \image animatedimageitem.gif
\o
\qml
-Item {
- width: anim.width; height: anim.height+8
- AnimatedImage { id: anim; source: "pics/games-anim.gif" }
- Rectangle { color: "red"; width: 4; height: 8; y: anim.height
- x: (anim.width-width)*anim.currentFrame/(anim.frameCount-1)
+ import Qt 4.7
+
+ Rectangle {
+ width: animation.width; height: animation.height + 8
+
+ AnimatedImage { id: animation; source: "animation.gif" }
+
+ Rectangle {
+ property int frames: animation.frameCount
+
+ width: 4; height: 8
+ x: (animation.width - width) * animation.currentFrame / frames
+ y: animation.height
+ color: "red"
+ }
}
-}
\endqml
\endtable
*/
@@ -96,7 +106,7 @@ QDeclarativeAnimatedImage::~QDeclarativeAnimatedImage()
/*!
\qmlproperty bool AnimatedImage::paused
- This property holds whether the animated image is paused or not
+ This property holds whether the animated image is paused.
Defaults to false, and can be set to true when you want to pause.
*/
@@ -120,7 +130,7 @@ void QDeclarativeAnimatedImage::setPaused(bool pause)
}
/*!
\qmlproperty bool AnimatedImage::playing
- This property holds whether the animated image is playing or not
+ This property holds whether the animated image is playing.
Defaults to true, so as to start playing immediately.
*/
@@ -180,14 +190,6 @@ int QDeclarativeAnimatedImage::frameCount() const
return d->_movie->frameCount();
}
-static QString toLocalFileOrQrc(const QUrl& url)
-{
- QString r = url.toLocalFile();
- if (r.isEmpty() && url.scheme() == QLatin1String("qrc"))
- r = QLatin1Char(':') + url.path();
- return r;
-}
-
void QDeclarativeAnimatedImage::setSource(const QUrl &url)
{
Q_D(QDeclarativeAnimatedImage);
@@ -209,7 +211,7 @@ void QDeclarativeAnimatedImage::setSource(const QUrl &url)
d->status = Null;
} else {
#ifndef QT_NO_LOCALFILE_OPTIMIZED_QML
- QString lf = toLocalFileOrQrc(url);
+ QString lf = QDeclarativeEnginePrivate::urlToLocalFileOrQrc(url);
if (!lf.isEmpty()) {
//### should be unified with movieRequestFinished
d->_movie = new QMovie(lf);
@@ -271,7 +273,9 @@ void QDeclarativeAnimatedImage::movieRequestFinished()
d->_movie = new QMovie(d->reply);
if (!d->_movie->isValid()){
+#ifndef QT_NO_DEBUG_STREAM
qmlInfo(this) << "Error Reading Animated Image File " << d->url;
+#endif
delete d->_movie;
d->_movie = 0;
return;
diff --git a/src/declarative/graphicsitems/qdeclarativeborderimage.cpp b/src/declarative/graphicsitems/qdeclarativeborderimage.cpp
index 06f8363d54..cf458dab54 100644
--- a/src/declarative/graphicsitems/qdeclarativeborderimage.cpp
+++ b/src/declarative/graphicsitems/qdeclarativeborderimage.cpp
@@ -42,8 +42,8 @@
#include "private/qdeclarativeborderimage_p.h"
#include "private/qdeclarativeborderimage_p_p.h"
-#include <qdeclarativeengine.h>
#include <qdeclarativeinfo.h>
+#include <private/qdeclarativeengine_p.h>
#include <QNetworkRequest>
#include <QNetworkReply>
@@ -57,9 +57,25 @@ QT_BEGIN_NAMESPACE
\inherits Item
\since 4.7
- \snippet snippets/declarative/border-image.qml 0
+ A BorderImage breaks an image into 9 sections, as shown below:
+
+ \image declarative-scalegrid.png
+
+ When the image is scaled:
+ \list
+ \i the corners (sections 1, 3, 7, and 9) are not scaled at all
+ \i sections 2 and 8 are scaled according to \l{BorderImage::horizontalTileMode}{horizontalTileMode}
+ \i sections 4 and 6 are scaled according to \l{BorderImage::verticalTileMode}{verticalTileMode}
+ \i the middle (section 5) is scaled according to both \l{BorderImage::horizontalTileMode}{horizontalTileMode} and \l{BorderImage::verticalTileMode}{verticalTileMode}
+ \endlist
+
+ Examples:
+ \snippet snippets/declarative/borderimage.qml 0
\image BorderImage.png
+
+ The \l{declarative/imageelements/borderimage}{BorderImage example} shows how a BorderImage can be used to simulate a shadow effect on a
+ rectangular item.
*/
/*!
@@ -86,10 +102,10 @@ QDeclarativeBorderImage::~QDeclarativeBorderImage()
This property holds the status of image loading. It can be one of:
\list
- \o Null - no image has been set
- \o Ready - the image has been loaded
- \o Loading - the image is currently being loaded
- \o Error - an error occurred while loading the image
+ \o BorderImage.Null - no image has been set
+ \o BorderImage.Ready - the image has been loaded
+ \o BorderImage.Loading - the image is currently being loaded
+ \o BorderImage.Error - an error occurred while loading the image
\endlist
\sa progress
@@ -122,7 +138,7 @@ QDeclarativeBorderImage::~QDeclarativeBorderImage()
BorderImage can handle any image format supported by Qt, loaded from any URL scheme supported by Qt.
- It can also handle .sci files, which are a Qml-specific format. A .sci file uses a simple text-based format that specifies
+ It can also handle .sci files, which are a QML-specific format. A .sci file uses a simple text-based format that specifies
the borders, the image file and the tile rules.
The following .sci file sets the borders to 10 on each side for the image \c picture.png:
@@ -136,16 +152,6 @@ QDeclarativeBorderImage::~QDeclarativeBorderImage()
The URL may be absolute, or relative to the URL of the component.
*/
-
-static QString toLocalFileOrQrc(const QUrl& url)
-{
- QString r = url.toLocalFile();
- if (r.isEmpty() && url.scheme() == QLatin1String("qrc"))
- r = QLatin1Char(':') + url.path();
- return r;
-}
-
-
void QDeclarativeBorderImage::setSource(const QUrl &url)
{
Q_D(QDeclarativeBorderImage);
@@ -194,7 +200,7 @@ void QDeclarativeBorderImage::load()
d->status = Loading;
if (d->url.path().endsWith(QLatin1String("sci"))) {
#ifndef QT_NO_LOCALFILE_OPTIMIZED_QML
- QString lf = toLocalFileOrQrc(d->url);
+ QString lf = QDeclarativeEnginePrivate::urlToLocalFileOrQrc(d->url);
if (!lf.isEmpty()) {
QFile file(lf);
file.open(QIODevice::ReadOnly);
@@ -255,21 +261,17 @@ void QDeclarativeBorderImage::load()
\qmlproperty int BorderImage::border.top
\qmlproperty int BorderImage::border.bottom
- \target ImagexmlpropertiesscaleGrid
-
- The 4 border lines (2 horizontal and 2 vertical) break an image into 9 sections, as shown below:
+ The 4 border lines (2 horizontal and 2 vertical) break the image into 9 sections, as shown below:
\image declarative-scalegrid.png
- When the image is scaled:
- \list
- \i the corners (sections 1, 3, 7, and 9) are not scaled at all
- \i sections 2 and 8 are scaled according to \l{BorderImage::horizontalTileMode}{horizontalTileMode}
- \i sections 4 and 6 are scaled according to \l{BorderImage::verticalTileMode}{verticalTileMode}
- \i the middle (section 5) is scaled according to both \l{BorderImage::horizontalTileMode}{horizontalTileMode} and \l{BorderImage::verticalTileMode}{verticalTileMode}
- \endlist
+ Each border line (left, right, top, and bottom) specifies an offset in pixels from the respective side.
- Each border line (left, right, top, and bottom) specifies an offset from the respective side. For example, \c{border.bottom: 10} sets the bottom line 10 pixels up from the bottom of the image.
+ For example:
+ \qml
+ border.bottom: 10
+ \endqml
+ sets the bottom line 10 pixels up from the bottom of the image.
The border lines can also be specified using a
\l {BorderImage::source}{.sci file}.
@@ -288,9 +290,9 @@ QDeclarativeScaleGrid *QDeclarativeBorderImage::border()
This property describes how to repeat or stretch the middle parts of the border image.
\list
- \o Stretch - Scale the image to fit to the available area.
- \o Repeat - Tile the image until there is no more space. May crop the last image.
- \o Round - Like Repeat, but scales the images down to ensure that the last image is not cropped.
+ \o BorderImage.Stretch - Scale the image to fit to the available area.
+ \o BorderImage.Repeat - Tile the image until there is no more space. May crop the last image.
+ \o BorderImage.Round - Like Repeat, but scales the images down to ensure that the last image is not cropped.
\endlist
*/
QDeclarativeBorderImage::TileMode QDeclarativeBorderImage::horizontalTileMode() const
diff --git a/src/declarative/graphicsitems/qdeclarativeevents.cpp b/src/declarative/graphicsitems/qdeclarativeevents.cpp
index 4425c97b16..81ec6e172b 100644
--- a/src/declarative/graphicsitems/qdeclarativeevents.cpp
+++ b/src/declarative/graphicsitems/qdeclarativeevents.cpp
@@ -151,7 +151,7 @@ Item {
\list
\o Qt.LeftButton
\o Qt.RightButton
- \o Qt.MidButton
+ \o Qt.MiddleButton
\endlist
*/
@@ -174,7 +174,7 @@ Item {
\list
\o Qt.LeftButton
\o Qt.RightButton
- \o Qt.MidButton
+ \o Qt.MiddleButton
\endlist
*/
diff --git a/src/declarative/graphicsitems/qdeclarativeflickable.cpp b/src/declarative/graphicsitems/qdeclarativeflickable.cpp
index b4624436d4..6dfd4d9e58 100644
--- a/src/declarative/graphicsitems/qdeclarativeflickable.cpp
+++ b/src/declarative/graphicsitems/qdeclarativeflickable.cpp
@@ -125,12 +125,14 @@ QDeclarativeFlickablePrivate::QDeclarativeFlickablePrivate()
: viewport(new QDeclarativeItem)
, hData(this, &QDeclarativeFlickablePrivate::setRoundedViewportX)
, vData(this, &QDeclarativeFlickablePrivate::setRoundedViewportY)
- , flicked(false), moving(false), stealMouse(false)
- , pressed(false)
+ , flickingHorizontally(false), flickingVertically(false)
+ , hMoved(false), vMoved(false)
+ , movingHorizontally(false), movingVertically(false)
+ , stealMouse(false), pressed(false)
, interactive(true), deceleration(500), maxVelocity(2000), reportedVelocitySmoothing(100)
, delayedPressEvent(0), delayedPressTarget(0), pressDelay(0), fixupDuration(600)
, vTime(0), visibleArea(0)
- , flickDirection(QDeclarativeFlickable::AutoFlickDirection)
+ , flickableDirection(QDeclarativeFlickable::AutoFlickDirection)
, boundsBehavior(QDeclarativeFlickable::DragAndOvershootBounds)
{
}
@@ -158,6 +160,7 @@ void QDeclarativeFlickablePrivate::init()
q->setFiltersChildEvents(true);
QDeclarativeItemPrivate *viewportPrivate = static_cast<QDeclarativeItemPrivate*>(QGraphicsItemPrivate::get(viewport));
viewportPrivate->addItemChangeListener(this, QDeclarativeItemPrivate::Geometry);
+ lastPosTime.invalidate();
}
/*
@@ -226,10 +229,19 @@ void QDeclarativeFlickablePrivate::flick(AxisData &data, qreal minExtent, qreal
timeline.reset(data.move);
timeline.accel(data.move, v, deceleration, maxDistance);
timeline.callback(QDeclarativeTimeLineCallback(&data.move, fixupCallback, this));
- if (!flicked) {
- flicked = true;
+ if (!flickingHorizontally && q->xflick()) {
+ flickingHorizontally = true;
emit q->flickingChanged();
- emit q->flickStarted();
+ emit q->flickingHorizontallyChanged();
+ if (!flickingVertically)
+ emit q->flickStarted();
+ }
+ if (!flickingVertically && q->yflick()) {
+ flickingVertically = true;
+ emit q->flickingChanged();
+ emit q->flickingVerticallyChanged();
+ if (!flickingHorizontally)
+ emit q->flickStarted();
}
} else {
timeline.reset(data.move);
@@ -274,7 +286,6 @@ void QDeclarativeFlickablePrivate::fixup(AxisData &data, qreal minExtent, qreal
q->viewportMoved();
}
}
- //emit flickingChanged();
} else if (data.move.value() < maxExtent) {
timeline.reset(data.move);
if (fixupDuration) {
@@ -285,11 +296,7 @@ void QDeclarativeFlickablePrivate::fixup(AxisData &data, qreal minExtent, qreal
data.move.setValue(maxExtent);
q->viewportMoved();
}
- //emit flickingChanged();
- } else {
- flicked = false;
}
-
vTime = timeline.time();
}
@@ -344,20 +351,24 @@ void QDeclarativeFlickablePrivate::updateBeginningEnd()
Flickable places its children on a surface that can be dragged and flicked.
\code
+ import Qt 4.7
+
Flickable {
- width: 200; height: 200; contentWidth: image.width; contentHeight: image.height
- Image { id: image; source: "bigimage.png" }
+ width: 200; height: 200
+ contentWidth: image.width; contentHeight: image.height
+
+ Image { id: image; source: "bigImage.png" }
}
\endcode
\image flickable.gif
- \note Flickable does not automatically clip its contents. If
- it is not full-screen it is likely that \c clip should be set
- to true.
+ Flickable does not automatically clip its contents. If
+ it is not full-screen it is likely that \l {Item::clip}{clip} should be set
+ to \c true.
- \note Due to an implementation detail items placed inside a flickable cannot anchor to it by
- id, use 'parent' instead.
+ \note Due to an implementation detail, items placed inside a Flickable cannot anchor to it by
+ \c id. Use \c parent instead.
*/
/*!
@@ -400,18 +411,17 @@ void QDeclarativeFlickablePrivate::updateBeginningEnd()
These properties describe the position and size of the currently viewed area.
The size is defined as the percentage of the full view currently visible,
scaled to 0.0 - 1.0. The page position is usually in the range 0.0 (beginning) to
- 1.0 minus size ratio (end), i.e. yPosition is in the range 0.0 to 1.0-heightRatio.
+ 1.0 minus size ratio (end), i.e. \c yPosition is in the range 0.0 to 1.0-\c heightRatio.
However, it is possible for the contents to be dragged outside of the normal
range, resulting in the page positions also being outside the normal range.
- These properties are typically used to draw a scrollbar, for example:
- \code
- Rectangle {
- opacity: 0.5; anchors.right: MyListView.right-2; width: 6
- y: MyListView.visibleArea.yPosition * MyListView.height
- height: MyListView.visibleArea.heightRatio * MyListView.height
- }
- \endcode
+ These properties are typically used to draw a scrollbar. For example:
+
+ \snippet doc/src/snippets/declarative/flickableScrollbar.qml 0
+ \dots 8
+ \snippet doc/src/snippets/declarative/flickableScrollbar.qml 1
+
+ \sa {declarative/ui-components/scrollbar}{scrollbar example}
*/
QDeclarativeFlickable::QDeclarativeFlickable(QDeclarativeItem *parent)
@@ -479,11 +489,12 @@ void QDeclarativeFlickable::setContentY(qreal pos)
/*!
\qmlproperty bool Flickable::interactive
- A user cannot drag or flick a Flickable that is not interactive.
+ This property holds whether the user can interact with the Flickable. A user
+ cannot drag or flick a Flickable that is not interactive.
This property is useful for temporarily disabling flicking. This allows
special interaction with Flickable's children: for example, you might want to
- freeze a flickable map while viewing detailed information on a location popup that is a child of the Flickable.
+ freeze a flickable map while scrolling through a pop-up dialog that is a child of the Flickable.
*/
bool QDeclarativeFlickable::isInteractive() const
{
@@ -496,11 +507,14 @@ void QDeclarativeFlickable::setInteractive(bool interactive)
Q_D(QDeclarativeFlickable);
if (interactive != d->interactive) {
d->interactive = interactive;
- if (!interactive && d->flicked) {
+ if (!interactive && (d->flickingHorizontally || d->flickingVertically)) {
d->timeline.clear();
d->vTime = d->timeline.time();
- d->flicked = false;
+ d->flickingHorizontally = false;
+ d->flickingVertically = false;
emit flickingChanged();
+ emit flickingHorizontallyChanged();
+ emit flickingVerticallyChanged();
emit flickEnded();
}
emit interactiveChanged();
@@ -580,35 +594,47 @@ QDeclarativeFlickableVisibleArea *QDeclarativeFlickable::visibleArea()
}
/*!
- \qmlproperty enumeration Flickable::flickDirection
+ \qmlproperty enumeration Flickable::flickableDirection
This property determines which directions the view can be flicked.
\list
- \o AutoFlickDirection (default) - allows flicking vertically if the
+ \o Flickable.AutoFlickDirection (default) - allows flicking vertically if the
\e contentHeight is not equal to the \e height of the Flickable.
Allows flicking horizontally if the \e contentWidth is not equal
to the \e width of the Flickable.
- \o HorizontalFlick - allows flicking horizontally.
- \o VerticalFlick - allows flicking vertically.
- \o HorizontalAndVerticalFlick - allows flicking in both directions.
+ \o Flickable.HorizontalFlick - allows flicking horizontally.
+ \o Flickable.VerticalFlick - allows flicking vertically.
+ \o Flickable.HorizontalAndVerticalFlick - allows flicking in both directions.
\endlist
*/
-QDeclarativeFlickable::FlickDirection QDeclarativeFlickable::flickDirection() const
+QDeclarativeFlickable::FlickableDirection QDeclarativeFlickable::flickableDirection() const
{
Q_D(const QDeclarativeFlickable);
- return d->flickDirection;
+ return d->flickableDirection;
}
-void QDeclarativeFlickable::setFlickDirection(FlickDirection direction)
+void QDeclarativeFlickable::setFlickableDirection(FlickableDirection direction)
{
Q_D(QDeclarativeFlickable);
- if (direction != d->flickDirection) {
- d->flickDirection = direction;
- emit flickDirectionChanged();
+ if (direction != d->flickableDirection) {
+ d->flickableDirection = direction;
+ emit flickableDirectionChanged();
}
}
+QDeclarativeFlickable::FlickableDirection QDeclarativeFlickable::flickDirection() const
+{
+ qmlInfo(this) << "'flickDirection' is deprecated. Please use 'flickableDirection' instead.";
+ return flickableDirection();
+}
+
+void QDeclarativeFlickable::setFlickDirection(FlickableDirection direction)
+{
+ qmlInfo(this) << "'flickDirection' is deprecated. Please use 'flickableDirection' instead.";
+ setFlickableDirection(direction);
+}
+
void QDeclarativeFlickablePrivate::handleMousePressEvent(QGraphicsSceneMouseEvent *event)
{
if (interactive && timeline.isActive() && (qAbs(hData.velocity) > 10 || qAbs(vData.velocity) > 10))
@@ -624,7 +650,8 @@ void QDeclarativeFlickablePrivate::handleMousePressEvent(QGraphicsSceneMouseEven
pressPos = event->pos();
hData.pressPos = hData.move.value();
vData.pressPos = vData.move.value();
- flicked = false;
+ flickingHorizontally = false;
+ flickingVertically = false;
QDeclarativeItemPrivate::start(pressTime);
QDeclarativeItemPrivate::start(velocityTime);
}
@@ -632,11 +659,10 @@ void QDeclarativeFlickablePrivate::handleMousePressEvent(QGraphicsSceneMouseEven
void QDeclarativeFlickablePrivate::handleMouseMoveEvent(QGraphicsSceneMouseEvent *event)
{
Q_Q(QDeclarativeFlickable);
- if (!interactive || lastPosTime.isNull())
+ if (!interactive || !lastPosTime.isValid())
return;
bool rejectY = false;
bool rejectX = false;
- bool moved = false;
if (q->yflick()) {
int dy = int(event->pos().y() - pressPos.y());
@@ -658,7 +684,7 @@ void QDeclarativeFlickablePrivate::handleMouseMoveEvent(QGraphicsSceneMouseEvent
}
if (!rejectY && stealMouse) {
vData.move.setValue(qRound(newY));
- moved = true;
+ vMoved = true;
}
if (qAbs(dy) > QApplication::startDragDistance())
stealMouse = true;
@@ -685,7 +711,7 @@ void QDeclarativeFlickablePrivate::handleMouseMoveEvent(QGraphicsSceneMouseEvent
}
if (!rejectX && stealMouse) {
hData.move.setValue(qRound(newX));
- moved = true;
+ hMoved = true;
}
if (qAbs(dx) > QApplication::startDragDistance())
@@ -715,7 +741,7 @@ void QDeclarativeFlickablePrivate::handleMouseMoveEvent(QGraphicsSceneMouseEvent
if (rejectY) vData.velocity = 0;
if (rejectX) hData.velocity = 0;
- if (moved) {
+ if (hMoved || vMoved) {
q->movementStarting();
q->viewportMoved();
}
@@ -729,7 +755,7 @@ void QDeclarativeFlickablePrivate::handleMouseReleaseEvent(QGraphicsSceneMouseEv
stealMouse = false;
q->setKeepMouseGrab(false);
pressed = false;
- if (lastPosTime.isNull())
+ if (!lastPosTime.isValid())
return;
if (QDeclarativeItemPrivate::elapsed(lastPosTime) > 100) {
@@ -757,7 +783,7 @@ void QDeclarativeFlickablePrivate::handleMouseReleaseEvent(QGraphicsSceneMouseEv
fixupX();
}
- lastPosTime = QTime();
+ lastPosTime.invalidate();
if (!timeline.isActive())
q->movementEnding();
@@ -810,20 +836,24 @@ void QDeclarativeFlickable::wheelEvent(QGraphicsSceneWheelEvent *event)
d->vData.velocity = qMax(event->delta() - d->vData.smoothVelocity.value(), qreal(250.0));
else
d->vData.velocity = qMin(event->delta() - d->vData.smoothVelocity.value(), qreal(-250.0));
- d->flicked = false;
+ d->flickingVertically = false;
d->flickY(d->vData.velocity);
- if (d->flicked)
+ if (d->flickingVertically) {
+ d->vMoved = true;
movementStarting();
+ }
event->accept();
} else if (xflick()) {
if (event->delta() > 0)
d->hData.velocity = qMax(event->delta() - d->hData.smoothVelocity.value(), qreal(250.0));
else
d->hData.velocity = qMin(event->delta() - d->hData.smoothVelocity.value(), qreal(-250.0));
- d->flicked = false;
+ d->flickingHorizontally = false;
d->flickX(d->hData.velocity);
- if (d->flicked)
+ if (d->flickingHorizontally) {
+ d->hMoved = true;
movementStarting();
+ }
event->accept();
} else {
QDeclarativeItem::wheelEvent(event);
@@ -999,24 +1029,6 @@ QDeclarativeListProperty<QGraphicsObject> QDeclarativeFlickable::flickableChildr
return QGraphicsItemPrivate::get(d->viewport)->childrenList();
}
-bool QDeclarativeFlickable::overShoot() const
-{
- Q_D(const QDeclarativeFlickable);
- return d->boundsBehavior == DragAndOvershootBounds;
-}
-
-void QDeclarativeFlickable::setOverShoot(bool o)
-{
- Q_D(QDeclarativeFlickable);
- if ((o && d->boundsBehavior == DragAndOvershootBounds)
- || (!o && d->boundsBehavior == StopAtBounds))
- return;
- qmlInfo(this) << "overshoot is deprecated and will be removed imminently - use boundsBehavior.";
- d->boundsBehavior = o ? DragAndOvershootBounds : StopAtBounds;
- emit boundsBehaviorChanged();
- emit overShootChanged();
-}
-
/*!
\qmlproperty enumeration Flickable::boundsBehavior
This property holds whether the surface may be dragged
@@ -1026,14 +1038,14 @@ void QDeclarativeFlickable::setOverShoot(bool o)
This enables the feeling that the edges of the view are soft,
rather than a hard physical boundary.
- boundsBehavior can be one of:
+ The \c boundsBehavior can be one of:
\list
- \o \e StopAtBounds - the contents can not be dragged beyond the boundary
+ \o Flickable.StopAtBounds - the contents can not be dragged beyond the boundary
of the flickable, and flicks will not overshoot.
- \o \e DragOverBounds - the contents can be dragged beyond the boundary
+ \o Flickable.DragOverBounds - the contents can be dragged beyond the boundary
of the Flickable, but flicks will not overshoot.
- \o \e DragAndOvershootBounds (default) - the contents can be dragged
+ \o Flickable.DragAndOvershootBounds (default) - the contents can be dragged
beyond the boundary of the Flickable, and can overshoot the
boundary when flicked.
\endlist
@@ -1051,7 +1063,6 @@ void QDeclarativeFlickable::setBoundsBehavior(BoundsBehavior b)
return;
d->boundsBehavior = b;
emit boundsBehaviorChanged();
- emit overShootChanged();
}
/*!
@@ -1059,12 +1070,16 @@ void QDeclarativeFlickable::setBoundsBehavior(BoundsBehavior b)
\qmlproperty int Flickable::contentHeight
The dimensions of the content (the surface controlled by Flickable). Typically this
- should be set to the combined size of the items placed in the Flickable.
+ should be set to the combined size of the items placed in the Flickable. Note this
+ can be set automatically using \l {Item::childrenRect.width}{childrenRect.width}
+ and \l {Item::childrenRect.height}{childrenRect.height}. For example:
\code
Flickable {
- width: 320; height: 480; contentWidth: image.width; contentHeight: image.height
- Image { id: image; source: "bigimage.png" }
+ width: 320; height: 480
+ contentWidth: childrenRect.width; contentHeight: childrenRect.height
+
+ Image { id: image; source: "bigImage.png" }
}
\endcode
*/
@@ -1085,7 +1100,7 @@ void QDeclarativeFlickable::setContentWidth(qreal w)
else
d->viewport->setWidth(w);
// Make sure that we're entirely in view.
- if (!d->pressed) {
+ if (!d->pressed && !d->movingHorizontally && !d->movingVertically) {
int oldDuration = d->fixupDuration;
d->fixupDuration = 0;
d->fixupX();
@@ -1112,7 +1127,7 @@ void QDeclarativeFlickable::setContentHeight(qreal h)
else
d->viewport->setHeight(h);
// Make sure that we're entirely in view.
- if (!d->pressed) {
+ if (!d->pressed && !d->movingHorizontally && !d->movingVertically) {
int oldDuration = d->fixupDuration;
d->fixupDuration = 0;
d->fixupY();
@@ -1143,17 +1158,17 @@ qreal QDeclarativeFlickable::vHeight() const
bool QDeclarativeFlickable::xflick() const
{
Q_D(const QDeclarativeFlickable);
- if (d->flickDirection == QDeclarativeFlickable::AutoFlickDirection)
+ if (d->flickableDirection == QDeclarativeFlickable::AutoFlickDirection)
return vWidth() != width();
- return d->flickDirection & QDeclarativeFlickable::HorizontalFlick;
+ return d->flickableDirection & QDeclarativeFlickable::HorizontalFlick;
}
bool QDeclarativeFlickable::yflick() const
{
Q_D(const QDeclarativeFlickable);
- if (d->flickDirection == QDeclarativeFlickable::AutoFlickDirection)
+ if (d->flickableDirection == QDeclarativeFlickable::AutoFlickDirection)
return vHeight() != height();
- return d->flickDirection & QDeclarativeFlickable::VerticalFlick;
+ return d->flickableDirection & QDeclarativeFlickable::VerticalFlick;
}
bool QDeclarativeFlickable::sendMouseEvent(QGraphicsSceneMouseEvent *event)
@@ -1199,6 +1214,7 @@ bool QDeclarativeFlickable::sendMouseEvent(QGraphicsSceneMouseEvent *event)
default:
break;
}
+ stealThisEvent = d->stealMouse; // Update stealThisEvent and grabber in case changed by function calls above
grabber = qobject_cast<QDeclarativeItem*>(s->mouseGrabberItem());
if (grabber && stealThisEvent && !grabber->keepMouseGrab() && grabber != this) {
d->clearDelayedPress();
@@ -1206,8 +1222,8 @@ bool QDeclarativeFlickable::sendMouseEvent(QGraphicsSceneMouseEvent *event)
}
return stealThisEvent || d->delayedPressEvent;
- } else if (!d->lastPosTime.isNull()) {
- d->lastPosTime = QTime();
+ } else if (d->lastPosTime.isValid()) {
+ d->lastPosTime.invalidate();
}
if (mouseEvent.type() == QEvent::GraphicsSceneMouseRelease) {
d->clearDelayedPress();
@@ -1275,16 +1291,30 @@ void QDeclarativeFlickable::setFlickDeceleration(qreal deceleration)
emit flickDecelerationChanged();
}
+bool QDeclarativeFlickable::isFlicking() const
+{
+ Q_D(const QDeclarativeFlickable);
+ return d->flickingHorizontally || d->flickingVertically;
+}
+
/*!
\qmlproperty bool Flickable::flicking
+ \qmlproperty bool Flickable::flickingHorizontally
+ \qmlproperty bool Flickable::flickingVertically
- This property holds whether the view is currently moving due to
- the user flicking the view.
+ These properties hold whether the view is currently moving horizontally
+ or vertically due to the user flicking the view.
*/
-bool QDeclarativeFlickable::isFlicking() const
+bool QDeclarativeFlickable::isFlickingHorizontally() const
{
Q_D(const QDeclarativeFlickable);
- return d->flicked;
+ return d->flickingHorizontally;
+}
+
+bool QDeclarativeFlickable::isFlickingVertically() const
+{
+ Q_D(const QDeclarativeFlickable);
+ return d->flickingVertically;
}
/*!
@@ -1313,40 +1343,84 @@ void QDeclarativeFlickable::setPressDelay(int delay)
emit pressDelayChanged();
}
+
+bool QDeclarativeFlickable::isMoving() const
+{
+ Q_D(const QDeclarativeFlickable);
+ return d->movingHorizontally || d->movingVertically;
+}
+
/*!
\qmlproperty bool Flickable::moving
+ \qmlproperty bool Flickable::movingHorizontally
+ \qmlproperty bool Flickable::movingVertically
- This property holds whether the view is currently moving due to
- the user either dragging or flicking the view.
+ These properties hold whether the view is currently moving horizontally
+ or vertically due to the user either dragging or flicking the view.
*/
-bool QDeclarativeFlickable::isMoving() const
+bool QDeclarativeFlickable::isMovingHorizontally() const
{
Q_D(const QDeclarativeFlickable);
- return d->moving;
+ return d->movingHorizontally;
+}
+
+bool QDeclarativeFlickable::isMovingVertically() const
+{
+ Q_D(const QDeclarativeFlickable);
+ return d->movingVertically;
}
void QDeclarativeFlickable::movementStarting()
{
Q_D(QDeclarativeFlickable);
- if (!d->moving) {
- d->moving = true;
+ if (d->hMoved && !d->movingHorizontally) {
+ d->movingHorizontally = true;
+ emit movingChanged();
+ emit movingHorizontallyChanged();
+ if (!d->movingVertically)
+ emit movementStarted();
+ }
+ else if (d->vMoved && !d->movingVertically) {
+ d->movingVertically = true;
emit movingChanged();
- emit movementStarted();
+ emit movingVerticallyChanged();
+ if (!d->movingHorizontally)
+ emit movementStarted();
}
}
void QDeclarativeFlickable::movementEnding()
{
Q_D(QDeclarativeFlickable);
- if (d->moving) {
- d->moving = false;
- emit movingChanged();
- emit movementEnded();
+ if (d->flickingHorizontally) {
+ d->flickingHorizontally = false;
+ emit flickingChanged();
+ emit flickingHorizontallyChanged();
+ if (!d->flickingVertically)
+ emit flickEnded();
}
- if (d->flicked) {
- d->flicked = false;
+ if (d->flickingVertically) {
+ d->flickingVertically = false;
emit flickingChanged();
- emit flickEnded();
+ emit flickingVerticallyChanged();
+ if (!d->flickingHorizontally)
+ emit flickEnded();
+ }
+ if (d->movingHorizontally) {
+ d->movingHorizontally = false;
+ d->hMoved = false;
+ emit movingChanged();
+ emit movingHorizontallyChanged();
+ if (!d->movingVertically)
+ emit movementEnded();
+ }
+ if (d->movingVertically) {
+ d->movingVertically = false;
+ d->vMoved = false;
+ emit movingChanged();
+ emit movingVerticallyChanged();
+ if (!d->movingHorizontally)
+ emit movementEnded();
}
d->hData.smoothVelocity.setValue(0);
d->vData.smoothVelocity.setValue(0);
diff --git a/src/declarative/graphicsitems/qdeclarativeflickable_p.h b/src/declarative/graphicsitems/qdeclarativeflickable_p.h
index f031a24d49..d40a0dc068 100644
--- a/src/declarative/graphicsitems/qdeclarativeflickable_p.h
+++ b/src/declarative/graphicsitems/qdeclarativeflickable_p.h
@@ -64,13 +64,17 @@ class Q_DECLARATIVE_EXPORT QDeclarativeFlickable : public QDeclarativeItem
Q_PROPERTY(qreal horizontalVelocity READ horizontalVelocity NOTIFY horizontalVelocityChanged)
Q_PROPERTY(qreal verticalVelocity READ verticalVelocity NOTIFY verticalVelocityChanged)
- Q_PROPERTY(bool overShoot READ overShoot WRITE setOverShoot NOTIFY overShootChanged) // deprecated
Q_PROPERTY(BoundsBehavior boundsBehavior READ boundsBehavior WRITE setBoundsBehavior NOTIFY boundsBehaviorChanged)
Q_PROPERTY(qreal maximumFlickVelocity READ maximumFlickVelocity WRITE setMaximumFlickVelocity NOTIFY maximumFlickVelocityChanged)
Q_PROPERTY(qreal flickDeceleration READ flickDeceleration WRITE setFlickDeceleration NOTIFY flickDecelerationChanged)
Q_PROPERTY(bool moving READ isMoving NOTIFY movingChanged)
+ Q_PROPERTY(bool movingHorizontally READ isMovingHorizontally NOTIFY movingHorizontallyChanged)
+ Q_PROPERTY(bool movingVertically READ isMovingVertically NOTIFY movingVerticallyChanged)
Q_PROPERTY(bool flicking READ isFlicking NOTIFY flickingChanged)
- Q_PROPERTY(FlickDirection flickDirection READ flickDirection WRITE setFlickDirection NOTIFY flickDirectionChanged)
+ Q_PROPERTY(bool flickingHorizontally READ isFlickingHorizontally NOTIFY flickingHorizontallyChanged)
+ Q_PROPERTY(bool flickingVertically READ isFlickingVertically NOTIFY flickingVerticallyChanged)
+ Q_PROPERTY(FlickableDirection flickDirection READ flickDirection WRITE setFlickDirection NOTIFY flickableDirectionChanged) // deprecated
+ Q_PROPERTY(FlickableDirection flickableDirection READ flickableDirection WRITE setFlickableDirection NOTIFY flickableDirectionChanged)
Q_PROPERTY(bool interactive READ isInteractive WRITE setInteractive NOTIFY interactiveChanged)
Q_PROPERTY(int pressDelay READ pressDelay WRITE setPressDelay NOTIFY pressDelayChanged)
@@ -86,7 +90,7 @@ class Q_DECLARATIVE_EXPORT QDeclarativeFlickable : public QDeclarativeItem
Q_PROPERTY(QDeclarativeListProperty<QGraphicsObject> flickableChildren READ flickableChildren)
Q_CLASSINFO("DefaultProperty", "flickableData")
- Q_ENUMS(FlickDirection)
+ Q_ENUMS(FlickableDirection)
Q_ENUMS(BoundsBehavior)
public:
@@ -96,9 +100,6 @@ public:
QDeclarativeListProperty<QObject> flickableData();
QDeclarativeListProperty<QGraphicsObject> flickableChildren();
- bool overShoot() const;
- void setOverShoot(bool);
-
enum BoundsBehavior { StopAtBounds, DragOverBounds, DragAndOvershootBounds };
BoundsBehavior boundsBehavior() const;
void setBoundsBehavior(BoundsBehavior);
@@ -116,7 +117,11 @@ public:
void setContentY(qreal pos);
bool isMoving() const;
+ bool isMovingHorizontally() const;
+ bool isMovingVertically() const;
bool isFlicking() const;
+ bool isFlickingHorizontally() const;
+ bool isFlickingVertically() const;
int pressDelay() const;
void setPressDelay(int delay);
@@ -140,9 +145,11 @@ public:
QDeclarativeItem *viewport();
- enum FlickDirection { AutoFlickDirection=0x00, HorizontalFlick=0x01, VerticalFlick=0x02, HorizontalAndVerticalFlick=0x03 };
- FlickDirection flickDirection() const;
- void setFlickDirection(FlickDirection);
+ enum FlickableDirection { AutoFlickDirection=0x00, HorizontalFlick=0x01, VerticalFlick=0x02, HorizontalAndVerticalFlick=0x03 };
+ FlickableDirection flickDirection() const; // deprecated
+ void setFlickDirection(FlickableDirection); // deprecated
+ FlickableDirection flickableDirection() const;
+ void setFlickableDirection(FlickableDirection);
Q_SIGNALS:
void contentWidthChanged();
@@ -150,22 +157,25 @@ Q_SIGNALS:
void contentXChanged();
void contentYChanged();
void movingChanged();
+ void movingHorizontallyChanged();
+ void movingVerticallyChanged();
void flickingChanged();
- void movementStarted();
- void movementEnded();
- void flickStarted();
- void flickEnded();
+ void flickingHorizontallyChanged();
+ void flickingVerticallyChanged();
void horizontalVelocityChanged();
void verticalVelocityChanged();
void isAtBoundaryChanged();
void pageChanged();
- void flickDirectionChanged();
+ void flickableDirectionChanged();
void interactiveChanged();
- void overShootChanged();
void boundsBehaviorChanged();
void maximumFlickVelocityChanged();
void flickDecelerationChanged();
void pressDelayChanged();
+ void movementStarted();
+ void movementEnded();
+ void flickStarted();
+ void flickEnded();
protected:
virtual bool sceneEventFilter(QGraphicsItem *, QEvent *);
diff --git a/src/declarative/graphicsitems/qdeclarativeflickable_p_p.h b/src/declarative/graphicsitems/qdeclarativeflickable_p_p.h
index 01cfb1805e..66d2678458 100644
--- a/src/declarative/graphicsitems/qdeclarativeflickable_p_p.h
+++ b/src/declarative/graphicsitems/qdeclarativeflickable_p_p.h
@@ -131,18 +131,22 @@ public:
AxisData vData;
QDeclarativeTimeLine timeline;
- bool flicked : 1;
- bool moving : 1;
+ bool flickingHorizontally : 1;
+ bool flickingVertically : 1;
+ bool hMoved : 1;
+ bool vMoved : 1;
+ bool movingHorizontally : 1;
+ bool movingVertically : 1;
bool stealMouse : 1;
bool pressed : 1;
bool interactive : 1;
- QTime lastPosTime;
+ QElapsedTimer lastPosTime;
QPointF lastPos;
QPointF pressPos;
- QTime pressTime;
+ QElapsedTimer pressTime;
qreal deceleration;
qreal maxVelocity;
- QTime velocityTime;
+ QElapsedTimer velocityTime;
QPointF lastFlickablePosition;
qreal reportedVelocitySmoothing;
QGraphicsSceneMouseEvent *delayedPressEvent;
@@ -158,7 +162,7 @@ public:
int vTime;
QDeclarativeTimeLine velocityTimeline;
QDeclarativeFlickableVisibleArea *visibleArea;
- QDeclarativeFlickable::FlickDirection flickDirection;
+ QDeclarativeFlickable::FlickableDirection flickableDirection;
QDeclarativeFlickable::BoundsBehavior boundsBehavior;
void handleMousePressEvent(QGraphicsSceneMouseEvent *);
diff --git a/src/declarative/graphicsitems/qdeclarativeflipable.cpp b/src/declarative/graphicsitems/qdeclarativeflipable.cpp
index 57045f1db6..8c9d2dd218 100644
--- a/src/declarative/graphicsitems/qdeclarativeflipable.cpp
+++ b/src/declarative/graphicsitems/qdeclarativeflipable.cpp
@@ -74,7 +74,7 @@ public:
\inherits Item
Flipable is an item that can be visibly "flipped" between its front and
- back sides. It is used together with Rotation and State/Transition to
+ back sides. It is used together with \l Rotation and \l {State}/\l {Transition} to
produce a flipping effect.
Here is a Flipable that flips whenever it is clicked:
@@ -83,10 +83,12 @@ public:
\image flipable.gif
- The Rotation element is used to specify the angle and axis of the flip,
- and the State defines the changes in angle which produce the flipping
- effect. Finally, the Transition creates the animation that changes the
+ The \l Rotation element is used to specify the angle and axis of the flip,
+ and the \l State defines the changes in angle which produce the flipping
+ effect. Finally, the \l Transition creates the animation that changes the
angle over one second.
+
+ \sa {declarative/ui-components/flipable}{Flipable example}
*/
/*!
@@ -94,8 +96,6 @@ public:
\class QDeclarativeFlipable
\brief The Flipable item provides a surface that can be flipped.
- \ingroup group_widgets
-
Flipable is an item that can be visibly "flipped" between its front and
back sides.
*/
@@ -169,7 +169,7 @@ void QDeclarativeFlipable::retransformBack()
\qmlproperty enumeration Flipable::side
The side of the Flippable currently visible. Possible values are \c
- Front and \c Back.
+ Flippable.Front and \c Flippable.Back.
*/
QDeclarativeFlipable::Side QDeclarativeFlipable::side() const
{
@@ -192,12 +192,15 @@ void QDeclarativeFlipablePrivate::updateSceneTransformFromParent()
QPointF p2(1, 0);
QPointF p3(1, 1);
- p1 = sceneTransform.map(p1);
- p2 = sceneTransform.map(p2);
- p3 = sceneTransform.map(p3);
+ QPointF scenep1 = sceneTransform.map(p1);
+ QPointF scenep2 = sceneTransform.map(p2);
+ QPointF scenep3 = sceneTransform.map(p3);
+ p1 = q->mapToParent(p1);
+ p2 = q->mapToParent(p2);
+ p3 = q->mapToParent(p3);
- qreal cross = (p1.x() - p2.x()) * (p3.y() - p2.y()) -
- (p1.y() - p2.y()) * (p3.x() - p2.x());
+ qreal cross = (scenep1.x() - scenep2.x()) * (scenep3.y() - scenep2.y()) -
+ (scenep1.y() - scenep2.y()) * (scenep3.x() - scenep2.x());
wantBackYFlipped = p1.x() >= p2.x();
wantBackXFlipped = p2.y() >= p3.y();
diff --git a/src/declarative/graphicsitems/qdeclarativegridview.cpp b/src/declarative/graphicsitems/qdeclarativegridview.cpp
index f79a8532c1..3792595d56 100644
--- a/src/declarative/graphicsitems/qdeclarativegridview.cpp
+++ b/src/declarative/graphicsitems/qdeclarativegridview.cpp
@@ -108,7 +108,8 @@ public:
, highlightComponent(0), highlight(0), trackedItem(0)
, moveReason(Other), buffer(0), highlightXAnimator(0), highlightYAnimator(0)
, highlightMoveDuration(150)
- , bufferMode(NoBuffer), snapMode(QDeclarativeGridView::NoSnap)
+ , footerComponent(0), footer(0), headerComponent(0), header(0)
+ , bufferMode(BufferBefore | BufferAfter), snapMode(QDeclarativeGridView::NoSnap)
, ownModel(false), wrap(false), autoHighlight(true)
, fixCurrentVisibility(false), lazyRelease(false), layoutScheduled(false)
, deferredRelease(false), haveHighlightRange(false) {}
@@ -128,6 +129,8 @@ public:
void createHighlight();
void updateHighlight();
void updateCurrent(int modelIndex);
+ void updateHeader();
+ void updateFooter();
void fixupPosition();
FxGridItem *visibleItem(int modelIndex) const {
@@ -230,6 +233,18 @@ public:
return visibleItems.count() ? visibleItems.first() : 0;
}
+ int lastVisibleIndex() const {
+ int lastIndex = -1;
+ for (int i = visibleItems.count()-1; i >= 0; --i) {
+ FxGridItem *gridItem = visibleItems.at(i);
+ if (gridItem->index != -1) {
+ lastIndex = gridItem->index;
+ break;
+ }
+ }
+ return lastIndex;
+ }
+
// Map a model index to visibleItems list index.
// These may differ if removed items are still present in the visible list,
// e.g. doing a removal animation
@@ -246,16 +261,37 @@ public:
return -1; // Not in visibleList
}
- qreal snapPosAt(qreal pos) {
+ qreal snapPosAt(qreal pos) const {
+ Q_Q(const QDeclarativeGridView);
qreal snapPos = 0;
if (!visibleItems.isEmpty()) {
pos += rowSize()/2;
snapPos = visibleItems.first()->rowPos() - visibleIndex / columns * rowSize();
snapPos = pos - fmodf(pos - snapPos, qreal(rowSize()));
+ qreal maxExtent = flow == QDeclarativeGridView::LeftToRight ? -q->maxYExtent() : -q->maxXExtent();
+ qreal minExtent = flow == QDeclarativeGridView::LeftToRight ? -q->minYExtent() : -q->minXExtent();
+ if (snapPos > maxExtent)
+ snapPos = maxExtent;
+ if (snapPos < minExtent)
+ snapPos = minExtent;
}
return snapPos;
}
+ FxGridItem *snapItemAt(qreal pos) {
+ for (int i = 0; i < visibleItems.count(); ++i) {
+ FxGridItem *item = visibleItems[i];
+ if (item->index == -1)
+ continue;
+ qreal itemTop = item->rowPos();
+ if (item->index == model->count()-1 || (itemTop+rowSize()/2 >= pos))
+ return item;
+ }
+ if (visibleItems.count() && visibleItems.first()->rowPos() <= pos)
+ return visibleItems.first();
+ return 0;
+ }
+
int snapIndex() {
int index = currentIndex;
for (int i = 0; i < visibleItems.count(); ++i) {
@@ -283,6 +319,9 @@ public:
scheduleLayout();
}
}
+ } else if ((header && header->item == item) || (footer && footer->item == item)) {
+ updateHeader();
+ updateFooter();
}
}
@@ -330,8 +369,12 @@ public:
QSmoothedAnimation *highlightXAnimator;
QSmoothedAnimation *highlightYAnimator;
int highlightMoveDuration;
+ QDeclarativeComponent *footerComponent;
+ FxGridItem *footer;
+ QDeclarativeComponent *headerComponent;
+ FxGridItem *header;
enum BufferMode { NoBuffer = 0x00, BufferBefore = 0x01, BufferAfter = 0x02 };
- BufferMode bufferMode;
+ int bufferMode;
QDeclarativeGridView::SnapMode snapMode;
bool ownModel : 1;
@@ -349,7 +392,7 @@ void QDeclarativeGridViewPrivate::init()
Q_Q(QDeclarativeGridView);
QObject::connect(q, SIGNAL(movementEnded()), q, SLOT(animStopped()));
q->setFlag(QGraphicsItem::ItemIsFocusScope);
- q->setFlickDirection(QDeclarativeFlickable::VerticalFlick);
+ q->setFlickableDirection(QDeclarativeFlickable::VerticalFlick);
addItemChangeListener(this, Geometry);
}
@@ -378,9 +421,11 @@ FxGridItem *QDeclarativeGridViewPrivate::createItem(int modelIndex)
if (model->completePending()) {
// complete
listItem->item->setZValue(1);
+ listItem->item->setParentItem(q->viewport());
model->completeItem();
+ } else {
+ listItem->item->setParentItem(q->viewport());
}
- listItem->item->setParentItem(q->viewport());
unrequestedItems.remove(listItem->item);
}
requestedIndex = -1;
@@ -410,7 +455,6 @@ void QDeclarativeGridViewPrivate::refill(qreal from, qreal to, bool doBuffer)
Q_Q(QDeclarativeGridView);
if (!isValid() || !q->isComponentComplete())
return;
-
itemCount = model->count();
qreal bufferFrom = from - buffer;
qreal bufferTo = to + buffer;
@@ -520,6 +564,10 @@ void QDeclarativeGridViewPrivate::refill(qreal from, qreal to, bool doBuffer)
deferredRelease = true;
}
if (changed) {
+ if (header)
+ updateHeader();
+ if (footer)
+ updateFooter();
if (flow == QDeclarativeGridView::LeftToRight)
q->setContentHeight(endPosition() - startPosition());
else
@@ -555,7 +603,7 @@ void QDeclarativeGridViewPrivate::layout()
{
Q_Q(QDeclarativeGridView);
layoutScheduled = false;
- if (!isValid()) {
+ if (!isValid() && !visibleItems.count()) {
clear();
return;
}
@@ -577,6 +625,10 @@ void QDeclarativeGridViewPrivate::layout()
item->setPosition(colPos, rowPos);
}
}
+ if (header)
+ updateHeader();
+ if (footer)
+ updateFooter();
q->refill();
updateHighlight();
moveReason = Other;
@@ -677,8 +729,10 @@ void QDeclarativeGridViewPrivate::createHighlight()
highlightYAnimator = new QSmoothedAnimation(q);
highlightYAnimator->target = QDeclarativeProperty(highlight->item, QLatin1String("y"));
highlightYAnimator->userDuration = highlightMoveDuration;
- highlightXAnimator->restart();
- highlightYAnimator->restart();
+ if (autoHighlight) {
+ highlightXAnimator->restart();
+ highlightYAnimator->restart();
+ }
changed = true;
}
}
@@ -690,7 +744,7 @@ void QDeclarativeGridViewPrivate::updateHighlight()
{
if ((!currentItem && highlight) || (currentItem && !highlight))
createHighlight();
- if (currentItem && autoHighlight && highlight && !moving) {
+ if (currentItem && autoHighlight && highlight && !movingHorizontally && !movingVertically) {
// auto-update highlight
highlightXAnimator->to = currentItem->item->x();
highlightYAnimator->to = currentItem->item->y();
@@ -738,6 +792,94 @@ void QDeclarativeGridViewPrivate::updateCurrent(int modelIndex)
releaseItem(oldCurrentItem);
}
+void QDeclarativeGridViewPrivate::updateFooter()
+{
+ Q_Q(QDeclarativeGridView);
+ if (!footer && footerComponent) {
+ QDeclarativeItem *item = 0;
+ QDeclarativeContext *context = new QDeclarativeContext(qmlContext(q));
+ QObject *nobj = footerComponent->create(context);
+ if (nobj) {
+ QDeclarative_setParent_noEvent(context, nobj);
+ item = qobject_cast<QDeclarativeItem *>(nobj);
+ if (!item)
+ delete nobj;
+ } else {
+ delete context;
+ }
+ if (item) {
+ QDeclarative_setParent_noEvent(item, q->viewport());
+ item->setParentItem(q->viewport());
+ item->setZValue(1);
+ QDeclarativeItemPrivate *itemPrivate = static_cast<QDeclarativeItemPrivate*>(QGraphicsItemPrivate::get(item));
+ itemPrivate->addItemChangeListener(this, QDeclarativeItemPrivate::Geometry);
+ footer = new FxGridItem(item, q);
+ }
+ }
+ if (footer) {
+ if (visibleItems.count()) {
+ qreal endPos = endPosition();
+ if (lastVisibleIndex() == model->count()-1) {
+ footer->setPosition(0, endPos);
+ } else {
+ qreal visiblePos = position() + q->height();
+ if (endPos <= visiblePos || footer->endRowPos() < endPos)
+ footer->setPosition(0, endPos);
+ }
+ } else {
+ qreal endPos = 0;
+ if (header) {
+ endPos += flow == QDeclarativeGridView::LeftToRight
+ ? header->item->height()
+ : header->item->width();
+ }
+ footer->setPosition(0, endPos);
+ }
+ }
+}
+
+void QDeclarativeGridViewPrivate::updateHeader()
+{
+ Q_Q(QDeclarativeGridView);
+ if (!header && headerComponent) {
+ QDeclarativeItem *item = 0;
+ QDeclarativeContext *context = new QDeclarativeContext(qmlContext(q));
+ QObject *nobj = headerComponent->create(context);
+ if (nobj) {
+ QDeclarative_setParent_noEvent(context, nobj);
+ item = qobject_cast<QDeclarativeItem *>(nobj);
+ if (!item)
+ delete nobj;
+ } else {
+ delete context;
+ }
+ if (item) {
+ QDeclarative_setParent_noEvent(item, q->viewport());
+ item->setParentItem(q->viewport());
+ item->setZValue(1);
+ QDeclarativeItemPrivate *itemPrivate = static_cast<QDeclarativeItemPrivate*>(QGraphicsItemPrivate::get(item));
+ itemPrivate->addItemChangeListener(this, QDeclarativeItemPrivate::Geometry);
+ header = new FxGridItem(item, q);
+ }
+ }
+ if (header) {
+ if (visibleItems.count()) {
+ qreal startPos = startPosition();
+ qreal headerSize = flow == QDeclarativeGridView::LeftToRight
+ ? header->item->height()
+ : header->item->width();
+ if (visibleIndex == 0) {
+ header->setPosition(0, startPos - headerSize);
+ } else {
+ if (position() <= startPos || header->rowPos() > startPos - headerSize)
+ header->setPosition(0, startPos - headerSize);
+ }
+ } else {
+ header->setPosition(0, 0);
+ }
+ }
+}
+
void QDeclarativeGridViewPrivate::fixupPosition()
{
moveReason = Other;
@@ -749,7 +891,6 @@ void QDeclarativeGridViewPrivate::fixupPosition()
void QDeclarativeGridViewPrivate::fixup(AxisData &data, qreal minExtent, qreal maxExtent)
{
- Q_Q(QDeclarativeGridView);
if ((flow == QDeclarativeGridView::TopToBottom && &data == &vData)
|| (flow == QDeclarativeGridView::LeftToRight && &data == &hData))
return;
@@ -757,7 +898,41 @@ void QDeclarativeGridViewPrivate::fixup(AxisData &data, qreal minExtent, qreal m
int oldDuration = fixupDuration;
fixupDuration = moveReason == Mouse ? fixupDuration : 0;
- if (haveHighlightRange && highlightRange == QDeclarativeGridView::StrictlyEnforceRange) {
+ if (snapMode != QDeclarativeGridView::NoSnap) {
+ FxGridItem *topItem = snapItemAt(position()+highlightRangeStart);
+ FxGridItem *bottomItem = snapItemAt(position()+highlightRangeEnd);
+ qreal pos;
+ if (topItem && bottomItem && haveHighlightRange && highlightRange == QDeclarativeGridView::StrictlyEnforceRange) {
+ qreal topPos = qMin(topItem->rowPos() - highlightRangeStart, -maxExtent);
+ qreal bottomPos = qMax(bottomItem->rowPos() - highlightRangeEnd, -minExtent);
+ pos = qAbs(data.move + topPos) < qAbs(data.move + bottomPos) ? topPos : bottomPos;
+ } else if (topItem) {
+ pos = qMax(qMin(topItem->rowPos() - highlightRangeStart, -maxExtent), -minExtent);
+ } else if (bottomItem) {
+ pos = qMax(qMin(bottomItem->rowPos() - highlightRangeStart, -maxExtent), -minExtent);
+ } else {
+ fixupDuration = oldDuration;
+ return;
+ }
+ if (currentItem && haveHighlightRange && highlightRange == QDeclarativeGridView::StrictlyEnforceRange) {
+ updateHighlight();
+ qreal currPos = currentItem->rowPos();
+ if (pos < currPos + rowSize() - highlightRangeEnd)
+ pos = currPos + rowSize() - highlightRangeEnd;
+ if (pos > currPos - highlightRangeStart)
+ pos = currPos - highlightRangeStart;
+ }
+
+ qreal dist = qAbs(data.move + pos);
+ if (dist > 0) {
+ timeline.reset(data.move);
+ if (fixupDuration)
+ timeline.move(data.move, -pos, QEasingCurve(QEasingCurve::InOutQuad), fixupDuration/2);
+ else
+ timeline.set(data.move, -pos);
+ vTime = timeline.time();
+ }
+ } else if (haveHighlightRange && highlightRange == QDeclarativeGridView::StrictlyEnforceRange) {
if (currentItem) {
updateHighlight();
qreal pos = currentItem->rowPos();
@@ -769,26 +944,10 @@ void QDeclarativeGridViewPrivate::fixup(AxisData &data, qreal minExtent, qreal m
timeline.reset(data.move);
if (viewPos != position()) {
- if (fixupDuration) {
+ if (fixupDuration)
timeline.move(data.move, -viewPos, QEasingCurve(QEasingCurve::InOutQuad), fixupDuration/2);
- } else {
- data.move.setValue(-viewPos);
- q->viewportMoved();
- }
- }
- vTime = timeline.time();
- }
- } else if (snapMode != QDeclarativeGridView::NoSnap) {
- qreal pos = -snapPosAt(-(data.move.value() - highlightRangeStart)) + highlightRangeStart;
- pos = qMin(qMax(pos, maxExtent), minExtent);
- qreal dist = qAbs(data.move.value() - pos);
- if (dist > 0) {
- timeline.reset(data.move);
- if (fixupDuration) {
- timeline.move(data.move, pos, QEasingCurve(QEasingCurve::InOutQuad), fixupDuration/2);
- } else {
- data.move.setValue(pos);
- q->viewportMoved();
+ else
+ timeline.set(data.move, -viewPos);
}
vTime = timeline.time();
}
@@ -802,9 +961,9 @@ void QDeclarativeGridViewPrivate::flick(AxisData &data, qreal minExtent, qreal m
QDeclarativeTimeLineCallback::Callback fixupCallback, qreal velocity)
{
Q_Q(QDeclarativeGridView);
-
moveReason = Mouse;
- if ((!haveHighlightRange || highlightRange != QDeclarativeGridView::StrictlyEnforceRange) && snapMode == QDeclarativeGridView::NoSnap) {
+ if ((!haveHighlightRange || highlightRange != QDeclarativeGridView::StrictlyEnforceRange)
+ && snapMode == QDeclarativeGridView::NoSnap) {
QDeclarativeFlickablePrivate::flick(data, minExtent, maxExtent, vSize, fixupCallback, velocity);
return;
}
@@ -846,19 +1005,23 @@ void QDeclarativeGridViewPrivate::flick(AxisData &data, qreal minExtent, qreal m
qreal accel = deceleration;
qreal v2 = v * v;
qreal overshootDist = 0.0;
- if (maxDistance > 0.0 && v2 / (2.0f * maxDistance) < accel) {
+ if ((maxDistance > 0.0 && v2 / (2.0f * maxDistance) < accel) || snapMode == QDeclarativeGridView::SnapOneRow) {
// + rowSize()/4 to encourage moving at least one item in the flick direction
qreal dist = v2 / (accel * 2.0) + rowSize()/4;
+ dist = qMin(dist, maxDistance);
if (v > 0)
dist = -dist;
data.flickTarget = -snapPosAt(-(data.move.value() - highlightRangeStart) + dist) + highlightRangeStart;
qreal adjDist = -data.flickTarget + data.move.value();
if (qAbs(adjDist) > qAbs(dist)) {
// Prevent painfully slow flicking - adjust velocity to suit flickDeceleration
- v2 = accel * 2.0f * qAbs(dist);
- v = qSqrt(v2);
- if (dist > 0)
- v = -v;
+ qreal adjv2 = accel * 2.0f * qAbs(adjDist);
+ if (adjv2 > v2) {
+ v2 = adjv2;
+ v = qSqrt(v2);
+ if (dist > 0)
+ v = -v;
+ }
}
dist = adjDist;
accel = v2 / (2.0f * qAbs(dist));
@@ -869,9 +1032,18 @@ void QDeclarativeGridViewPrivate::flick(AxisData &data, qreal minExtent, qreal m
timeline.reset(data.move);
timeline.accel(data.move, v, accel, maxDistance + overshootDist);
timeline.callback(QDeclarativeTimeLineCallback(&data.move, fixupCallback, this));
- flicked = true;
- emit q->flickingChanged();
- emit q->flickStarted();
+ if (!flickingHorizontally && q->xflick()) {
+ flickingHorizontally = true;
+ emit q->flickingChanged();
+ emit q->flickingHorizontallyChanged();
+ emit q->flickStarted();
+ }
+ if (!flickingVertically && q->yflick()) {
+ flickingVertically = true;
+ emit q->flickingChanged();
+ emit q->flickingVerticallyChanged();
+ emit q->flickStarted();
+ }
} else {
timeline.reset(data.move);
fixup(data, minExtent, maxExtent);
@@ -887,25 +1059,43 @@ void QDeclarativeGridViewPrivate::flick(AxisData &data, qreal minExtent, qreal m
\inherits Flickable
\brief The GridView item provides a grid view of items provided by a model.
- The model is typically provided by a QAbstractListModel "C++ model object",
- but can also be created directly in QML.
+ A GridView displays data from models created from built-in QML elements like ListModel
+ and XmlListModel, or custom model classes defined in C++ that inherit from
+ QAbstractListModel.
+
+ A GridView has a \l model, which defines the data to be displayed, and
+ a \l delegate, which defines how the data should be displayed. Items in a
+ GridView are laid out horizontally or vertically. Grid views are inherently flickable
+ as GridView inherits from \l Flickable.
- The items are laid out top to bottom (vertically) or left to right (horizontally)
- and may be flicked to scroll.
+ For example, if there is a simple list model defined in a file \c ContactModel.qml like this:
- The below example creates a very simple grid, using a QML model.
+ \snippet doc/src/snippets/declarative/gridview/ContactModel.qml 0
- \image gridview.png
+ Another component can display this model data in a GridView, like this:
- \snippet doc/src/snippets/declarative/gridview/gridview.qml 3
+ \snippet doc/src/snippets/declarative/gridview/gridview.qml import
+ \codeline
+ \snippet doc/src/snippets/declarative/gridview/gridview.qml classdocs simple
+ \image gridview-simple.png
- The model is defined as a ListModel using QML:
- \quotefile doc/src/snippets/declarative/gridview/dummydata/ContactModel.qml
+ Here, the GridView creates a \c ContactModel component for its model, and a \l Column element
+ (containing \l Image and \ Text elements) for its delegate. The view will create a new delegate
+ for each item in the model. Notice the delegate is able to access the model's \c name and
+ \c portrait data directly.
- In this case ListModel is a handy way for us to test our UI. In practice
- the model would be implemented in C++, or perhaps via a SQL data source.
+ An improved grid view is shown below. The delegate is visually improved and is moved
+ into a separate \c contactDelegate component. Also, the currently selected item is highlighted
+ with a blue \l Rectangle using the \l highlight property, and \c focus is set to \c true
+ to enable keyboard navigation for the grid view.
+
+ \snippet doc/src/snippets/declarative/gridview/gridview.qml classdocs advanced
+ \image gridview-highlight.png
- \bold Note that views do not enable \e clip automatically. If the view
+ Delegates are instantiated as needed and may be destroyed at any time.
+ State should \e never be stored in a delegate.
+
+ \note Views do not enable \e clip automatically. If the view
is not clipped by another item or the screen, it will be necessary
to set \e {clip: true} in order to have the out of view items clipped
nicely.
@@ -923,11 +1113,13 @@ QDeclarativeGridView::~QDeclarativeGridView()
d->clear();
if (d->ownModel)
delete d->model;
+ delete d->header;
+ delete d->footer;
}
/*!
\qmlattachedproperty bool GridView::isCurrentItem
- This attched property is true if this delegate is the current item; otherwise false.
+ This attached property is true if this delegate is the current item; otherwise false.
It is attached to each instance of the delegate.
*/
@@ -951,19 +1143,7 @@ QDeclarativeGridView::~QDeclarativeGridView()
The example below ensures that the animation completes before
the item is removed from the grid.
- \code
- Component {
- id: myDelegate
- Item {
- id: wrapper
- GridView.onRemove: SequentialAnimation {
- PropertyAction { target: wrapper; property: "GridView.delayRemove"; value: true }
- NumberAnimation { target: wrapper; property: "scale"; to: 0; duration: 250; easing.type: "InOutQuad" }
- PropertyAction { target: wrapper; property: "GridView.delayRemove"; value: false }
- }
- }
- }
- \endcode
+ \snippet doc/src/snippets/declarative/gridview/gridview.qml delayRemove
*/
/*!
@@ -981,10 +1161,10 @@ QDeclarativeGridView::~QDeclarativeGridView()
\qmlproperty model GridView::model
This property holds the model providing data for the grid.
- The model provides a set of data that is used to create the items
- for the view. For large or dynamic datasets the model is usually
- provided by a C++ model object. The C++ model object must be a \l
- {QAbstractItemModel} subclass, a VisualModel, or a simple list.
+ The model provides the set of data that is used to create the items
+ in the view. Models can be created directly in QML using \l ListModel, \l XmlListModel
+ or \l VisualItemModel, or provided by C++ model classes. If a C++ model class is
+ used, it must be a subclass of \l QAbstractItemModel or a simple list.
\sa {qmlmodels}{Data Models}
*/
@@ -1019,13 +1199,14 @@ void QDeclarativeGridView::setModel(const QVariant &model)
d->model = vim;
} else {
if (!d->ownModel) {
- d->model = new QDeclarativeVisualDataModel(qmlContext(this));
+ d->model = new QDeclarativeVisualDataModel(qmlContext(this), this);
d->ownModel = true;
}
if (QDeclarativeVisualDataModel *dataModel = qobject_cast<QDeclarativeVisualDataModel*>(d->model))
dataModel->setModel(model);
}
if (d->model) {
+ d->bufferMode = QDeclarativeGridViewPrivate::BufferBefore | QDeclarativeGridViewPrivate::BufferAfter;
if (isComponentComplete()) {
refill();
if (d->currentIndex >= d->model->count() || d->currentIndex < 0) {
@@ -1047,17 +1228,22 @@ void QDeclarativeGridView::setModel(const QVariant &model)
}
/*!
- \qmlproperty component GridView::delegate
+ \qmlproperty Component GridView::delegate
The delegate provides a template defining each item instantiated by the view.
The index is exposed as an accessible \c index property. Properties of the
model are also available depending upon the type of \l {qmlmodels}{Data Model}.
- Note that the GridView will layout the items based on the size of the root item
+ The number of elements in the delegate has a direct effect on the
+ flicking performance of the view. If at all possible, place functionality
+ that is not needed for the normal display of the delegate in a \l Loader which
+ can load additional elements when needed.
+
+ The GridView will layout the items based on the size of the root item
in the delegate.
- Here is an example delegate:
- \snippet doc/src/snippets/declarative/gridview/gridview.qml 0
+ \note Delegates are instantiated as needed and may be destroyed at any time.
+ State should \e never be stored in a delegate.
*/
QDeclarativeComponent *QDeclarativeGridView::delegate() const
{
@@ -1131,8 +1317,7 @@ QDeclarativeItem *QDeclarativeGridView::currentItem()
/*!
\qmlproperty Item GridView::highlightItem
- \c highlightItem holds the highlight item, which was created
- from the \l highlight component.
+ This holds the highlight item created from the \l highlight component.
The highlightItem is managed by the view unless
\l highlightFollowsCurrentItem is set to false.
@@ -1160,16 +1345,13 @@ int QDeclarativeGridView::count() const
}
/*!
- \qmlproperty component GridView::highlight
+ \qmlproperty Component GridView::highlight
This property holds the component to use as the highlight.
- An instance of the highlight component will be created for each view.
- The geometry of the resultant component instance will be managed by the view
+ An instance of the highlight component is created for each view.
+ The geometry of the resulting component instance will be managed by the view
so as to stay with the current item, unless the highlightFollowsCurrentItem property is false.
- The below example demonstrates how to make a simple highlight:
- \snippet doc/src/snippets/declarative/gridview/gridview.qml 1
-
\sa highlightItem, highlightFollowsCurrentItem
*/
QDeclarativeComponent *QDeclarativeGridView::highlight() const
@@ -1192,21 +1374,14 @@ void QDeclarativeGridView::setHighlight(QDeclarativeComponent *highlight)
\qmlproperty bool GridView::highlightFollowsCurrentItem
This property sets whether the highlight is managed by the view.
- If highlightFollowsCurrentItem is true, the highlight will be moved smoothly
- to follow the current item. If highlightFollowsCurrentItem is false, the
- highlight will not be moved by the view, and must be implemented
- by the highlight component, for example:
-
- \code
- Component {
- id: myHighlight
- Rectangle {
- id: wrapper; color: "lightsteelblue"; radius: 4; width: 320; height: 60
- SpringFollow on y { source: Wrapper.GridView.view.currentItem.y; spring: 3; damping: 0.2 }
- SpringFollow on x { source: Wrapper.GridView.view.currentItem.x; spring: 3; damping: 0.2 }
- }
- }
- \endcode
+ If this property is true, the highlight is moved smoothly
+ to follow the current item. Otherwise, the
+ highlight is not moved by the view, and any movement must be implemented
+ by the highlight.
+
+ Here is a highlight with its motion defined by a \l {SpringFollow} item:
+
+ \snippet doc/src/snippets/declarative/gridview/gridview.qml highlightFollowsCurrentItem
*/
bool QDeclarativeGridView::highlightFollowsCurrentItem() const
{
@@ -1219,7 +1394,12 @@ void QDeclarativeGridView::setHighlightFollowsCurrentItem(bool autoHighlight)
Q_D(QDeclarativeGridView);
if (d->autoHighlight != autoHighlight) {
d->autoHighlight = autoHighlight;
- d->updateHighlight();
+ if (autoHighlight) {
+ d->updateHighlight();
+ } else if (d->highlightXAnimator) {
+ d->highlightXAnimator->stop();
+ d->highlightYAnimator->stop();
+ }
}
}
@@ -1259,32 +1439,30 @@ void QDeclarativeGridView::setHighlightMoveDuration(int duration)
\qmlproperty real GridView::preferredHighlightEnd
\qmlproperty enumeration GridView::highlightRangeMode
- These properties set the preferred range of the highlight (current item)
- within the view.
-
- Note that this is the correct way to influence where the
- current item ends up when the view scrolls. For example, if you want the
- currently selected item to be in the middle of the list, then set the
- highlight range to be where the middle item would go. Then, when the view scrolls,
- the currently selected item will be the item at that spot. This also applies to
- when the currently selected item changes - it will scroll to within the preferred
- highlight range. Furthermore, the behaviour of the current item index will occur
- whether or not a highlight exists.
+ These properties define the preferred range of the highlight (for the current item)
+ within the view. The \c preferredHighlightBegin value must be less than the
+ \c preferredHighlightEnd value.
- If highlightRangeMode is set to \e ApplyRange the view will
- attempt to maintain the highlight within the range, however
- the highlight can move outside of the range at the ends of the list
- or due to a mouse interaction.
+ These properties affect the position of the current item when the view is scrolled.
+ For example, if the currently selected item should stay in the middle of the
+ view when it is scrolled, set the \c preferredHighlightBegin and
+ \c preferredHighlightEnd values to the top and bottom coordinates of where the middle
+ item would be. If the \c currentItem is changed programmatically, the view will
+ automatically scroll so that the current item is in the middle of the view.
+ Furthermore, the behavior of the current item index will occur whether or not a
+ highlight exists.
- If highlightRangeMode is set to \e StrictlyEnforceRange the highlight will never
- move outside of the range. This means that the current item will change
- if a keyboard or mouse action would cause the highlight to move
- outside of the range.
+ Valid values for \c highlightRangeMode are:
- The default value is \e NoHighlightRange.
-
- Note that a valid range requires preferredHighlightEnd to be greater
- than or equal to preferredHighlightBegin.
+ \list
+ \o GridView.ApplyRange - the view attempts to maintain the highlight within the range.
+ However, the highlight can move outside of the range at the ends of the view or due
+ to mouse interaction.
+ \o GridView.StrictlyEnforceRange - the highlight never moves outside of the range.
+ The current item changes if a keyboard or mouse action would cause the highlight to move
+ outside of the range.
+ \o GridView.NoHighlightRange - this is the default value.
+ \endlist
*/
qreal QDeclarativeGridView::preferredHighlightBegin() const
{
@@ -1339,10 +1517,12 @@ void QDeclarativeGridView::setHighlightRangeMode(HighlightRangeMode mode)
\qmlproperty enumeration GridView::flow
This property holds the flow of the grid.
- Possible values are \c LeftToRight (default) and \c TopToBottom.
+ Possible values:
- If \a flow is \c LeftToRight, the view will scroll vertically.
- If \a flow is \c TopToBottom, the view will scroll horizontally.
+ \list
+ \o GridView.LeftToRight (default) - Items are laid out from left to right, and the view scrolls vertically
+ \o GridView.TopToBottom - Items are laid out from top to bottom, and the view scrolls horizontally
+ \endlist
*/
QDeclarativeGridView::Flow QDeclarativeGridView::flow() const
{
@@ -1357,10 +1537,10 @@ void QDeclarativeGridView::setFlow(Flow flow)
d->flow = flow;
if (d->flow == LeftToRight) {
setContentWidth(-1);
- setFlickDirection(QDeclarativeFlickable::VerticalFlick);
+ setFlickableDirection(QDeclarativeFlickable::VerticalFlick);
} else {
setContentHeight(-1);
- setFlickDirection(QDeclarativeFlickable::HorizontalFlick);
+ setFlickableDirection(QDeclarativeFlickable::HorizontalFlick);
}
d->clear();
d->updateGrid();
@@ -1374,8 +1554,9 @@ void QDeclarativeGridView::setFlow(Flow flow)
\qmlproperty bool GridView::keyNavigationWraps
This property holds whether the grid wraps key navigation
- If this property is true then key presses to move off of one end of the grid will cause the
- selection to jump to the other side.
+ If this is true, key navigation that would move the current item selection
+ past one end of the view instead wraps around and moves the selection to
+ the other end of the view.
*/
bool QDeclarativeGridView::isWrapEnabled() const
{
@@ -1393,12 +1574,23 @@ void QDeclarativeGridView::setWrapEnabled(bool wrap)
}
/*!
- \qmlproperty int GridView::cacheBuffer
- This property holds the number of off-screen pixels to cache.
-
- This property determines the number of pixels above the top of the view
- and below the bottom of the view to cache. Setting this value can make
- scrolling the view smoother at the expense of additional memory usage.
+ \qmlproperty int GridView::cacheBuffer
+ This property determines whether delegates are retained outside the
+ visible area of the view.
+
+ If non-zero the view will keep as many delegates
+ instantiated as will fit within the buffer specified. For example,
+ if in a vertical view the delegate is 20 pixels high and \c cacheBuffer is
+ set to 40, then up to 2 delegates above and 2 delegates below the visible
+ area may be retained.
+
+ Note that cacheBuffer is not a pixel buffer - it only maintains additional
+ instantiated delegates.
+
+ Setting this value can make scrolling the list smoother at the expense
+ of additional memory usage. It is not a substitute for creating efficient
+ delegates; the fewer elements in a delegate, the faster a view may be
+ scrolled.
*/
int QDeclarativeGridView::cacheBuffer() const
{
@@ -1421,7 +1613,7 @@ void QDeclarativeGridView::setCacheBuffer(int buffer)
\qmlproperty int GridView::cellWidth
\qmlproperty int GridView::cellHeight
- These properties holds the width and height of each cell in the grid
+ These properties holds the width and height of each cell in the grid.
The default cell size is 100x100.
*/
@@ -1461,14 +1653,14 @@ void QDeclarativeGridView::setCellHeight(int cellHeight)
/*!
\qmlproperty enumeration GridView::snapMode
- This property determines where the view will settle following a drag or flick.
- The allowed values are:
+ This property determines how the view scrolling will settle following a drag or flick.
+ The possible values are:
\list
- \o NoSnap (default) - the view will stop anywhere within the visible area.
- \o SnapToRow - the view will settle with a row (or column for TopToBottom flow)
+ \o GridView.NoSnap (default) - the view stops anywhere within the visible area.
+ \o GridView.SnapToRow - the view settles with a row (or column for \c GridView.TopToBottom flow)
aligned with the start of the view.
- \o SnapOneRow - the view will settle no more than one row (or column for TopToBottom flow)
+ \o GridView.SnapOneRow - the view will settle no more than one row (or column for \c GridView.TopToBottom flow)
away from the first visible row at the time the mouse button is released.
This mode is particularly useful for moving one page at a time.
\endlist
@@ -1489,6 +1681,67 @@ void QDeclarativeGridView::setSnapMode(SnapMode mode)
}
}
+/*!
+ \qmlproperty Component GridView::footer
+ This property holds the component to use as the footer.
+
+ An instance of the footer component is created for each view. The
+ footer is positioned at the end of the view, after any items.
+
+ \sa header
+*/
+QDeclarativeComponent *QDeclarativeGridView::footer() const
+{
+ Q_D(const QDeclarativeGridView);
+ return d->footerComponent;
+}
+
+void QDeclarativeGridView::setFooter(QDeclarativeComponent *footer)
+{
+ Q_D(QDeclarativeGridView);
+ if (d->footerComponent != footer) {
+ if (d->footer) {
+ delete d->footer;
+ d->footer = 0;
+ }
+ d->footerComponent = footer;
+ d->updateFooter();
+ d->updateGrid();
+ emit footerChanged();
+ }
+}
+
+/*!
+ \qmlproperty Component GridView::header
+ This property holds the component to use as the header.
+
+ An instance of the header component is created for each view. The
+ header is positioned at the beginning of the view, before any items.
+
+ \sa footer
+*/
+QDeclarativeComponent *QDeclarativeGridView::header() const
+{
+ Q_D(const QDeclarativeGridView);
+ return d->headerComponent;
+}
+
+void QDeclarativeGridView::setHeader(QDeclarativeComponent *header)
+{
+ Q_D(QDeclarativeGridView);
+ if (d->headerComponent != header) {
+ if (d->header) {
+ delete d->header;
+ d->header = 0;
+ }
+ d->headerComponent = header;
+ d->updateHeader();
+ d->updateFooter();
+ d->updateGrid();
+ emit headerChanged();
+ }
+}
+
bool QDeclarativeGridView::event(QEvent *event)
{
Q_D(QDeclarativeGridView);
@@ -1505,7 +1758,7 @@ void QDeclarativeGridView::viewportMoved()
Q_D(QDeclarativeGridView);
QDeclarativeFlickable::viewportMoved();
d->lazyRelease = true;
- if (d->flicked) {
+ if (d->flickingHorizontally || d->flickingVertically) {
if (yflick()) {
if (d->vData.velocity > 0)
d->bufferMode = QDeclarativeGridViewPrivate::BufferBefore;
@@ -1521,7 +1774,7 @@ void QDeclarativeGridView::viewportMoved()
}
}
refill();
- if (isFlicking() || d->moving)
+ if (d->flickingHorizontally || d->flickingVertically || d->movingHorizontally || d->movingVertically)
d->moveReason = QDeclarativeGridViewPrivate::Mouse;
if (d->moveReason != QDeclarativeGridViewPrivate::SetIndex) {
if (d->haveHighlightRange && d->highlightRange == StrictlyEnforceRange && d->highlight) {
@@ -1555,6 +1808,8 @@ qreal QDeclarativeGridView::minYExtent() const
if (d->flow == QDeclarativeGridView::TopToBottom)
return QDeclarativeFlickable::minYExtent();
qreal extent = -d->startPosition();
+ if (d->header && d->visibleItems.count())
+ extent += d->header->item->height();
if (d->haveHighlightRange && d->highlightRange == StrictlyEnforceRange) {
extent += d->highlightRangeStart;
extent = qMax(extent, -(d->rowPosAt(0) + d->rowSize() - d->highlightRangeEnd));
@@ -1568,13 +1823,17 @@ qreal QDeclarativeGridView::maxYExtent() const
if (d->flow == QDeclarativeGridView::TopToBottom)
return QDeclarativeFlickable::maxYExtent();
qreal extent;
- if (d->haveHighlightRange && d->highlightRange == StrictlyEnforceRange) {
+ if (!d->model || !d->model->count()) {
+ extent = 0;
+ } else if (d->haveHighlightRange && d->highlightRange == StrictlyEnforceRange) {
extent = -(d->rowPosAt(d->model->count()-1) - d->highlightRangeStart);
if (d->highlightRangeEnd != d->highlightRangeStart)
extent = qMin(extent, -(d->endPosition() - d->highlightRangeEnd + 1));
} else {
extent = -(d->endPosition() - height());
}
+ if (d->footer)
+ extent -= d->footer->item->height();
const qreal minY = minYExtent();
if (extent > minY)
extent = minY;
@@ -1587,6 +1846,8 @@ qreal QDeclarativeGridView::minXExtent() const
if (d->flow == QDeclarativeGridView::LeftToRight)
return QDeclarativeFlickable::minXExtent();
qreal extent = -d->startPosition();
+ if (d->header && d->visibleItems.count())
+ extent += d->header->item->width();
if (d->haveHighlightRange && d->highlightRange == StrictlyEnforceRange) {
extent += d->highlightRangeStart;
extent = qMax(extent, -(d->rowPosAt(0) + d->rowSize() - d->highlightRangeEnd));
@@ -1600,13 +1861,17 @@ qreal QDeclarativeGridView::maxXExtent() const
if (d->flow == QDeclarativeGridView::LeftToRight)
return QDeclarativeFlickable::maxXExtent();
qreal extent;
- if (d->haveHighlightRange && d->highlightRange == StrictlyEnforceRange) {
+ if (!d->model || !d->model->count()) {
+ extent = 0;
+ } if (d->haveHighlightRange && d->highlightRange == StrictlyEnforceRange) {
extent = -(d->rowPosAt(d->model->count()-1) - d->highlightRangeStart);
if (d->highlightRangeEnd != d->highlightRangeStart)
extent = qMin(extent, -(d->endPosition() - d->highlightRangeEnd + 1));
} else {
- extent = -(d->endPosition() - height());
+ extent = -(d->endPosition() - width());
}
+ if (d->footer)
+ extent -= d->footer->item->width();
const qreal minX = minXExtent();
if (extent > minX)
extent = minX;
@@ -1616,6 +1881,9 @@ qreal QDeclarativeGridView::maxXExtent() const
void QDeclarativeGridView::keyPressEvent(QKeyEvent *event)
{
Q_D(QDeclarativeGridView);
+ keyPressPreHandler(event);
+ if (event->isAccepted())
+ return;
if (d->model && d->model->count() && d->interactive) {
d->moveReason = QDeclarativeGridViewPrivate::SetIndex;
int oldCurrent = currentIndex();
@@ -1641,10 +1909,8 @@ void QDeclarativeGridView::keyPressEvent(QKeyEvent *event)
}
}
d->moveReason = QDeclarativeGridViewPrivate::Other;
- QDeclarativeFlickable::keyPressEvent(event);
- if (event->isAccepted())
- return;
event->ignore();
+ QDeclarativeFlickable::keyPressEvent(event);
}
/*!
@@ -1746,22 +2012,22 @@ void QDeclarativeGridView::moveCurrentIndexRight()
\a mode:
\list
- \o Beginning - position item at the top (or left for TopToBottom flow) of the view.
- \o Center- position item in the center of the view.
- \o End - position item at bottom (or right for horizontal orientation) of the view.
- \o Visible - if any part of the item is visible then take no action, otherwise
+ \o GridView.Beginning - position item at the top (or left for \c GridView.TopToBottom flow) of the view.
+ \o GridView.Center - position item in the center of the view.
+ \o GridView.End - position item at bottom (or right for horizontal orientation) of the view.
+ \o GridView.Visible - if any part of the item is visible then take no action, otherwise
bring the item into view.
- \o Contain - ensure the entire item is visible. If the item is larger than
- the view the item is positioned at the top (or left for TopToBottom flow) of the view.
+ \o GridView.Contain - ensure the entire item is visible. If the item is larger than
+ the view the item is positioned at the top (or left for \c GridView.TopToBottom flow) of the view.
\endlist
If positioning the view at the index would cause empty space to be displayed at
the beginning or end of the view, the view will be positioned at the boundary.
- It is not recommended to use contentX or contentY to position the view
+ It is not recommended to use \l {Flickable::}{contentX} or \l {Flickable::}{contentY} to position the view
at a particular index. This is unreliable since removing items from the start
of the view does not cause all other items to be repositioned.
- The correct way to bring an item into view is with positionViewAtIndex.
+ The correct way to bring an item into view is with \c positionViewAtIndex.
*/
void QDeclarativeGridView::positionViewAtIndex(int index, int mode)
{
@@ -1860,7 +2126,8 @@ void QDeclarativeGridView::trackedPositionChanged()
Q_D(QDeclarativeGridView);
if (!d->trackedItem || !d->currentItem)
return;
- if (!isFlicking() && !d->moving && d->moveReason == QDeclarativeGridViewPrivate::SetIndex) {
+ if (!d->flickingHorizontally && !d->flickingVertically && !d->movingHorizontally && !d->movingVertically
+ && d->moveReason == QDeclarativeGridViewPrivate::SetIndex) {
const qreal trackedPos = d->trackedItem->rowPos();
const qreal viewPos = d->position();
if (d->haveHighlightRange) {
diff --git a/src/declarative/graphicsitems/qdeclarativegridview_p.h b/src/declarative/graphicsitems/qdeclarativegridview_p.h
index c06879e7b8..021aad91aa 100644
--- a/src/declarative/graphicsitems/qdeclarativegridview_p.h
+++ b/src/declarative/graphicsitems/qdeclarativegridview_p.h
@@ -80,8 +80,13 @@ class Q_DECLARATIVE_EXPORT QDeclarativeGridView : public QDeclarativeFlickable
Q_PROPERTY(SnapMode snapMode READ snapMode WRITE setSnapMode NOTIFY snapModeChanged)
+ Q_PROPERTY(QDeclarativeComponent *header READ header WRITE setHeader NOTIFY headerChanged)
+ Q_PROPERTY(QDeclarativeComponent *footer READ footer WRITE setFooter NOTIFY footerChanged)
+
Q_ENUMS(HighlightRangeMode)
Q_ENUMS(SnapMode)
+ Q_ENUMS(Flow)
+ Q_ENUMS(PositionMode)
Q_CLASSINFO("DefaultProperty", "data")
public:
@@ -120,7 +125,6 @@ public:
qreal preferredHighlightEnd() const;
void setPreferredHighlightEnd(qreal);
- Q_ENUMS(Flow)
enum Flow { LeftToRight, TopToBottom };
Flow flow() const;
void setFlow(Flow);
@@ -141,8 +145,13 @@ public:
SnapMode snapMode() const;
void setSnapMode(SnapMode mode);
+ QDeclarativeComponent *footer() const;
+ void setFooter(QDeclarativeComponent *);
+
+ QDeclarativeComponent *header() const;
+ void setHeader(QDeclarativeComponent *);
+
enum PositionMode { Beginning, Center, End, Visible, Contain };
- Q_ENUMS(PositionMode);
Q_INVOKABLE void positionViewAtIndex(int index, int mode);
Q_INVOKABLE int indexAt(int x, int y) const;
@@ -172,6 +181,8 @@ Q_SIGNALS:
void keyNavigationWrapsChanged();
void cacheBufferChanged();
void snapModeChanged();
+ void headerChanged();
+ void footerChanged();
protected:
virtual bool event(QEvent *event);
diff --git a/src/declarative/graphicsitems/qdeclarativeimage.cpp b/src/declarative/graphicsitems/qdeclarativeimage.cpp
index 247e348cb0..ec08517255 100644
--- a/src/declarative/graphicsitems/qdeclarativeimage.cpp
+++ b/src/declarative/graphicsitems/qdeclarativeimage.cpp
@@ -54,74 +54,50 @@ QT_BEGIN_NAMESPACE
\brief The Image element allows you to add bitmaps to a scene.
\inherits Item
- The Image element supports untransformed, stretched and tiled.
+ An Image element displays a specified \l source image:
- For an explanation of stretching and tiling, see the fillMode property description.
-
- Examples:
\table
\row
- \o \image declarative-qtlogo1.png
- \o Untransformed
- \qml
- Image { source: "pics/qtlogo.png" }
- \endqml
- \row
- \o \image declarative-qtlogo2.png
- \o fillMode: Stretch (default)
- \qml
- Image {
- width: 160
- height: 160
- source: "pics/qtlogo.png"
- }
- \endqml
- \row
- \o \image declarative-qtlogo3.png
- \o fillMode: Tile
- \qml
- Image {
- fillMode: Image.Tile
- width: 160; height: 160
- source: "pics/qtlogo.png"
- }
- \endqml
- \row
- \o \image declarative-qtlogo6.png
- \o fillMode: TileVertically
- \qml
- Image {
- fillMode: Image.TileVertically
- width: 160; height: 160
- source: "pics/qtlogo.png"
- }
- \endqml
- \row
- \o \image declarative-qtlogo5.png
- \o fillMode: TileHorizontally
- \qml
- Image {
- fillMode: Image.TileHorizontally
- width: 160; height: 160
- source: "pics/qtlogo.png"
- }
+ \o \image declarative-qtlogo.png
+ \o \qml
+ import Qt 4.7
+
+ Image { source: "qtlogo.png" }
\endqml
\endtable
- */
+
+ If a size is not specified explicitly, the Image element is sized to the loaded image.
+ Image elements can be stretched and tiled using the \l fillMode property.
+
+ If the image \l source is a network resource, the image is loaded asynchronous and the
+ \l progress and \l status properties are updated appropriately. Otherwise, if the image is
+ available locally, it is loaded immediately and the user interface is blocked until loading is
+ complete. (This is typically the correct behavior for user interface elements.)
+ For large local images, which do not need to be visible immediately, it may be preferable to
+ enable \l asynchronous loading. This loads the image in the background using a low priority thread.
+
+ Images are cached and shared internally, so if several Image elements have the same source
+ only one copy of the image will be loaded.
+
+ \bold Note: Images are often the greatest user of memory in QML user interfaces. It is recommended
+ that images which do not form part of the user interface have their
+ size bounded via the \l sourceSize property. This is especially important for content
+ that is loaded from external sources or provided by the user.
+
+ \sa {declarative/imageelements/image}{Image example}
+*/
/*!
\internal
\class QDeclarativeImage Image
\brief The QDeclarativeImage class provides an image item that you can add to a QDeclarativeView.
- \ingroup group_coreitems
-
Example:
\qml
Image { source: "pics/star.png" }
\endqml
- A QDeclarativeImage object can be instantiated in Qml using the tag \l Image.
+ A QDeclarativeImage object can be instantiated in QML using the tag \l Image.
*/
QDeclarativeImage::QDeclarativeImage(QDeclarativeItem *parent)
@@ -181,15 +157,85 @@ void QDeclarativeImagePrivate::setPixmap(const QPixmap &pixmap)
than the size of the item.
\list
- \o Stretch - the image is scaled to fit
- \o PreserveAspectFit - the image is scaled uniformly to fit without cropping
- \o PreserveAspectCrop - the image is scaled uniformly to fill, cropping if necessary
- \o Tile - the image is duplicated horizontally and vertically
- \o TileVertically - the image is stretched horizontally and tiled vertically
- \o TileHorizontally - the image is stretched vertically and tiled horizontally
+ \o Image.Stretch - the image is scaled to fit
+ \o Image.PreserveAspectFit - the image is scaled uniformly to fit without cropping
+ \o Image.PreserveAspectCrop - the image is scaled uniformly to fill, cropping if necessary
+ \o Image.Tile - the image is duplicated horizontally and vertically
+ \o Image.TileVertically - the image is stretched horizontally and tiled vertically
+ \o Image.TileHorizontally - the image is stretched vertically and tiled horizontally
\endlist
- \image declarative-image_fillMode.gif
+ \table
+
+ \row
+ \o \image declarative-qtlogo-stretch.png
+ \o Stretch (default)
+ \qml
+ Image {
+ width: 130; height: 100
+ smooth: true
+ source: "qtlogo.png"
+ }
+ \endqml
+
+ \row
+ \o \image declarative-qtlogo-preserveaspectfit.png
+ \o PreserveAspectFit
+ \qml
+ Image {
+ width: 130; height: 100
+ fillMode: Image.PreserveAspectFit
+ smooth: true
+ source: "qtlogo.png"
+ }
+ \endqml
+
+ \row
+ \o \image declarative-qtlogo-preserveaspectcrop.png
+ \o PreserveAspectCrop
+ \qml
+ Image {
+ width: 130; height: 100
+ fillMode: Image.PreserveAspectCrop
+ smooth: true
+ source: "qtlogo.png"
+ }
+ \endqml
+
+ \row
+ \o \image declarative-qtlogo-tile.png
+ \o Tile
+ \qml
+ Image {
+ width: 120; height: 120
+ fillMode: Image.Tile
+ source: "qtlogo.png"
+ }
+ \endqml
+
+ \row
+ \o \image declarative-qtlogo-tilevertically.png
+ \o TileVertically
+ \qml
+ Image {
+ width: 120; height: 120
+ fillMode: Image.TileVertically
+ source: "qtlogo.png"
+ }
+ \endqml
+
+ \row
+ \o \image declarative-qtlogo-tilehorizontally.png
+ \o TileHorizontally
+ \qml
+ Image {
+ width: 120; height: 120
+ fillMode: Image.TileHorizontally
+ source: "qtlogo.png"
+ }
+ \endqml
+
+ \endtable
*/
QDeclarativeImage::FillMode QDeclarativeImage::fillMode() const
{
@@ -225,24 +271,32 @@ qreal QDeclarativeImage::paintedHeight() const
This property holds the status of image loading. It can be one of:
\list
- \o Null - no image has been set
- \o Ready - the image has been loaded
- \o Loading - the image is currently being loaded
- \o Error - an error occurred while loading the image
+ \o Image.Null - no image has been set
+ \o Image.Ready - the image has been loaded
+ \o Image.Loading - the image is currently being loaded
+ \o Image.Error - an error occurred while loading the image
\endlist
- Note that a change in the status property does not cause anything to happen
- (although it reflects what has happened with the image internally). If you wish
- to react to the change in status you need to do it yourself, for example in one
- of the following ways:
- \list
- \o Create a state, so that a state change occurs, e.g.
- \qml State { name: 'loaded'; when: image.status = Image.Ready } \endqml
- \o Do something inside the onStatusChanged signal handler, e.g.
- \qml Image { id: image; onStatusChanged: if (image.status == Image.Ready) console.log('Loaded') } \endqml
- \o Bind to the status variable somewhere, e.g.
- \qml Text { text: if (image.status != Image.Ready) { 'Not Loaded' } else { 'Loaded' } } \endqml
- \endlist
+ Use this status to provide an update or respond to the status change in some way.
+ For example, you could:
+
+ \e {Trigger a state change:}
+ \qml
+ State { name: 'loaded'; when: image.status = Image.Ready }
+ \endqml
+
+ \e {Implement an \c onStatusChanged signal handler:}
+ \qml
+ Image {
+ id: image
+ onStatusChanged: if (image.status == Image.Ready) console.log('Loaded')
+ }
+ \endqml
+
+ \e {Bind to the status value:}
+ \qml
+ Text { text: image.status != Image.Ready ? 'Not Loaded' : 'Loaded' }
+ \endqml
\sa progress
*/
@@ -272,30 +326,54 @@ qreal QDeclarativeImage::paintedHeight() const
/*!
\qmlproperty QSize Image::sourceSize
- This properties is the size of the loaded image, in pixels.
-
- If you set this property explicitly, you can to control the storage
- used by a loaded image. The image will be scaled down if its intrinsic size
- is greater than this value.
-
- If only one dimension of the size is set (and the other left at 0), the
- unset dimension will be set in proportion to the set dimension to preserve
- the source image aspect ratio. The fillMode is independent of this.
+ This property holds the size of the loaded image, in pixels.
- Unlike setting the width and height properties, which merely scale the painting
- of the image, this property affects the number of pixels stored.
-
- \e{Changing this property dynamically will lead to the image source being reloaded,
- potentially even from the network if it is not in the disk cache.}
+ This is used to control the storage used by a loaded image. Unlike
+ the width and height properties, which scale the painting of the image, this property
+ affects the number of pixels stored.
+ If the image's actual size is larger than the sourceSize, the image is scaled down.
+ If only one dimension of the size is set to greater than 0, the
+ other dimension is set in proportion to preserve the source image's aspect ratio.
+ (The \l fillMode is independent of this.)
+
If the source is an instrinsically scalable image (eg. SVG), this property
- determines the size of the loaded image regardless of intrinsic size. You should
- avoid changing this property dynamically - rendering an SVG is \e slow compared
+ determines the size of the loaded image regardless of intrinsic size.
+ Avoid changing this property dynamically; rendering an SVG is \e slow compared
to an image.
If the source is a non-scalable image (eg. JPEG), the loaded image will
be no greater than this property specifies. For some formats (currently only JPEG),
the whole image will never actually be loaded into memory.
+
+ \note \e{Changing this property dynamically will lead to the image source being reloaded,
+ potentially even from the network if it is not in the disk cache.}
+
+ Here is an example that ensures the size of the image in memory is
+ no larger than 1024x1024 pixels, regardless of the size of the Image element.
+
+ \code
+ Image {
+ anchors.fill: parent
+ source: "images/reallyBigImage.jpg"
+ sourceSize.width: 1024
+ sourceSize.height: 1024
+ }
+ \endcode
+
+ The example below ensures the memory used by the image is no more than necessary
+ to display the image at the size of the Image element.
+ Of course if the Image element is resized a costly reload will be required, so
+ use this technique \e only when the Image size is fixed.
+
+ \code
+ Image {
+ anchors.fill: parent
+ source: "images/reallyBigImage.jpg"
+ sourceSize.width: width
+ sourceSize.height: height
+ }
+ \endcode
*/
void QDeclarativeImage::updatePaintedGeometry()
diff --git a/src/declarative/graphicsitems/qdeclarativeimage_p.h b/src/declarative/graphicsitems/qdeclarativeimage_p.h
index 5ea700d70b..fa5b2a91b6 100644
--- a/src/declarative/graphicsitems/qdeclarativeimage_p.h
+++ b/src/declarative/graphicsitems/qdeclarativeimage_p.h
@@ -87,8 +87,6 @@ protected:
QDeclarativeImage(QDeclarativeImagePrivate &dd, QDeclarativeItem *parent);
void geometryChanged(const QRectF &newGeometry, const QRectF &oldGeometry);
void pixmapChange();
-
-protected Q_SLOTS:
void updatePaintedGeometry();
private:
diff --git a/src/declarative/graphicsitems/qdeclarativeitem.cpp b/src/declarative/graphicsitems/qdeclarativeitem.cpp
index 096e4bf982..42b370bb2d 100644
--- a/src/declarative/graphicsitems/qdeclarativeitem.cpp
+++ b/src/declarative/graphicsitems/qdeclarativeitem.cpp
@@ -86,8 +86,8 @@ QT_BEGIN_NAMESPACE
The Transform elements let you create and control advanced transformations that can be configured
independently using specialized properties.
- You can assign any number of Transform elements to an Item. Each Transform is applied in order,
- one at a time, to the Item it's assigned to.
+ You can assign any number of Transform elements to an \l Item. Each Transform is applied in order,
+ one at a time.
*/
/*!
@@ -97,9 +97,11 @@ QT_BEGIN_NAMESPACE
The Translate object provides independent control over position in addition to the Item's x and y properties.
- The following example moves the Y axis of the Rectangles while still allowing the Row element
+ The following example moves the Y axis of the \l Rectangle elements while still allowing the \l Row element
to lay the items out as if they had not been transformed:
\qml
+ import Qt 4.7
+
Row {
Rectangle {
width: 100; height: 100
@@ -113,6 +115,8 @@ QT_BEGIN_NAMESPACE
}
}
\endqml
+
+ \image translate.png
*/
/*!
@@ -130,9 +134,9 @@ QT_BEGIN_NAMESPACE
/*!
\qmlclass Scale QGraphicsScale
\since 4.7
- \brief The Scale object provides a way to scale an Item.
+ \brief The Scale element provides a way to scale an Item.
- The Scale object gives more control over scaling than using Item's scale property. Specifically,
+ The Scale element gives more control over scaling than using \l Item's \l{Item::scale}{scale} property. Specifically,
it allows a different scale for the x and y axes, and allows the scale to be relative to an
arbitrary point.
@@ -144,6 +148,8 @@ QT_BEGIN_NAMESPACE
transform: Scale { origin.x: 25; origin.y: 25; xScale: 3}
}
\endqml
+
+ \sa Rotate, Translate
*/
/*!
@@ -171,7 +177,7 @@ QT_BEGIN_NAMESPACE
\since 4.7
\brief The Rotation object provides a way to rotate an Item.
- The Rotation object gives more control over rotation than using Item's rotation property.
+ The Rotation object gives more control over rotation than using \l Item's \l{Item::rotation}{rotation} property.
Specifically, it allows (z axis) rotation to be relative to an arbitrary point.
The following example rotates a Rectangle around its interior point 25, 25:
@@ -219,52 +225,27 @@ QT_BEGIN_NAMESPACE
The angle to rotate, in degrees clockwise.
*/
-
-/*!
- \group group_animation
- \title Animation
-*/
-
-/*!
- \group group_coreitems
- \title Basic Items
-*/
-
-/*!
- \group group_layouts
- \title Layouts
-*/
-
-/*!
- \group group_states
- \title States and Transitions
-*/
-
-/*!
- \group group_utility
- \title Utility
-*/
-
-/*!
- \group group_views
- \title Views
-*/
-
-/*!
- \group group_widgets
- \title Widgets
-*/
-
/*!
\internal
\class QDeclarativeContents
- \ingroup group_utility
\brief The QDeclarativeContents class gives access to the height and width of an item's contents.
*/
+QDeclarativeContents::QDeclarativeContents(QDeclarativeItem *item) : m_item(item), m_x(0), m_y(0), m_width(0), m_height(0)
+{
+ //### optimize
+ connect(this, SIGNAL(rectChanged(QRectF)), m_item, SIGNAL(childrenRectChanged(QRectF)));
+}
-QDeclarativeContents::QDeclarativeContents() : m_x(0), m_y(0), m_width(0), m_height(0)
+QDeclarativeContents::~QDeclarativeContents()
{
+ QList<QGraphicsItem *> children = m_item->childItems();
+ for (int i = 0; i < children.count(); ++i) {
+ QDeclarativeItem *child = qobject_cast<QDeclarativeItem *>(children.at(i));
+ if(!child)//### Should this be ignoring non-QDeclarativeItem graphicsobjects?
+ continue;
+ QDeclarativeItemPrivate::get(child)->removeItemChangeListener(this, QDeclarativeItemPrivate::Geometry | QDeclarativeItemPrivate::Destroyed);
+ }
}
QRectF QDeclarativeContents::rectF() const
@@ -272,84 +253,128 @@ QRectF QDeclarativeContents::rectF() const
return QRectF(m_x, m_y, m_width, m_height);
}
-//TODO: optimization: only check sender(), if there is one
-void QDeclarativeContents::calcHeight()
+void QDeclarativeContents::calcHeight(QDeclarativeItem *changed)
{
qreal oldy = m_y;
qreal oldheight = m_height;
- qreal top = FLT_MAX;
- qreal bottom = 0;
-
- QList<QGraphicsItem *> children = m_item->childItems();
- for (int i = 0; i < children.count(); ++i) {
- QDeclarativeItem *child = qobject_cast<QDeclarativeItem *>(children.at(i));
- if(!child)//### Should this be ignoring non-QDeclarativeItem graphicsobjects?
- continue;
- qreal y = child->y();
- if (y + child->height() > bottom)
- bottom = y + child->height();
+ if (changed) {
+ qreal top = oldy;
+ qreal bottom = oldy + oldheight;
+ qreal y = changed->y();
+ if (y + changed->height() > bottom)
+ bottom = y + changed->height();
if (y < top)
top = y;
- }
- if (!children.isEmpty())
m_y = top;
- m_height = qMax(bottom - top, qreal(0.0));
+ m_height = bottom - top;
+ } else {
+ qreal top = FLT_MAX;
+ qreal bottom = 0;
+ QList<QGraphicsItem *> children = m_item->childItems();
+ for (int i = 0; i < children.count(); ++i) {
+ QDeclarativeItem *child = qobject_cast<QDeclarativeItem *>(children.at(i));
+ if(!child)//### Should this be ignoring non-QDeclarativeItem graphicsobjects?
+ continue;
+ qreal y = child->y();
+ if (y + child->height() > bottom)
+ bottom = y + child->height();
+ if (y < top)
+ top = y;
+ }
+ if (!children.isEmpty())
+ m_y = top;
+ m_height = qMax(bottom - top, qreal(0.0));
+ }
if (m_height != oldheight || m_y != oldy)
emit rectChanged(rectF());
}
-//TODO: optimization: only check sender(), if there is one
-void QDeclarativeContents::calcWidth()
+void QDeclarativeContents::calcWidth(QDeclarativeItem *changed)
{
qreal oldx = m_x;
qreal oldwidth = m_width;
- qreal left = FLT_MAX;
- qreal right = 0;
-
- QList<QGraphicsItem *> children = m_item->childItems();
- for (int i = 0; i < children.count(); ++i) {
- QDeclarativeItem *child = qobject_cast<QDeclarativeItem *>(children.at(i));
- if(!child)//### Should this be ignoring non-QDeclarativeItem graphicsobjects?
- continue;
- qreal x = child->x();
- if (x + child->width() > right)
- right = x + child->width();
+ if (changed) {
+ qreal left = oldx;
+ qreal right = oldx + oldwidth;
+ qreal x = changed->x();
+ if (x + changed->width() > right)
+ right = x + changed->width();
if (x < left)
left = x;
- }
- if (!children.isEmpty())
m_x = left;
- m_width = qMax(right - left, qreal(0.0));
+ m_width = right - left;
+ } else {
+ qreal left = FLT_MAX;
+ qreal right = 0;
+ QList<QGraphicsItem *> children = m_item->childItems();
+ for (int i = 0; i < children.count(); ++i) {
+ QDeclarativeItem *child = qobject_cast<QDeclarativeItem *>(children.at(i));
+ if(!child)//### Should this be ignoring non-QDeclarativeItem graphicsobjects?
+ continue;
+ qreal x = child->x();
+ if (x + child->width() > right)
+ right = x + child->width();
+ if (x < left)
+ left = x;
+ }
+ if (!children.isEmpty())
+ m_x = left;
+ m_width = qMax(right - left, qreal(0.0));
+ }
if (m_width != oldwidth || m_x != oldx)
emit rectChanged(rectF());
}
-void QDeclarativeContents::setItem(QDeclarativeItem *item)
+void QDeclarativeContents::complete()
{
- m_item = item;
-
QList<QGraphicsItem *> children = m_item->childItems();
for (int i = 0; i < children.count(); ++i) {
QDeclarativeItem *child = qobject_cast<QDeclarativeItem *>(children.at(i));
if(!child)//### Should this be ignoring non-QDeclarativeItem graphicsobjects?
continue;
- connect(child, SIGNAL(heightChanged()), this, SLOT(calcHeight()));
- connect(child, SIGNAL(yChanged()), this, SLOT(calcHeight()));
- connect(child, SIGNAL(widthChanged()), this, SLOT(calcWidth()));
- connect(child, SIGNAL(xChanged()), this, SLOT(calcWidth()));
- connect(this, SIGNAL(rectChanged(QRectF)), m_item, SIGNAL(childrenRectChanged(QRectF)));
+ QDeclarativeItemPrivate::get(child)->addItemChangeListener(this, QDeclarativeItemPrivate::Geometry | QDeclarativeItemPrivate::Destroyed);
+ //###what about changes to visibility?
}
- calcHeight();
- calcWidth();
+ calcGeometry();
+}
+
+void QDeclarativeContents::itemGeometryChanged(QDeclarativeItem *changed, const QRectF &newGeometry, const QRectF &oldGeometry)
+{
+ if (newGeometry.width() != oldGeometry.width())
+ calcWidth(changed);
+ if (newGeometry.height() != oldGeometry.height())
+ calcHeight(changed);
+}
+
+void QDeclarativeContents::itemDestroyed(QDeclarativeItem *item)
+{
+ if (item)
+ QDeclarativeItemPrivate::get(item)->removeItemChangeListener(this, QDeclarativeItemPrivate::Geometry | QDeclarativeItemPrivate::Destroyed);
+ calcGeometry();
+}
+
+void QDeclarativeContents::childRemoved(QDeclarativeItem *item)
+{
+ if (item)
+ QDeclarativeItemPrivate::get(item)->removeItemChangeListener(this, QDeclarativeItemPrivate::Geometry | QDeclarativeItemPrivate::Destroyed);
+ calcGeometry();
+}
+
+void QDeclarativeContents::childAdded(QDeclarativeItem *item)
+{
+ if (item)
+ QDeclarativeItemPrivate::get(item)->addItemChangeListener(this, QDeclarativeItemPrivate::Geometry | QDeclarativeItemPrivate::Destroyed);
+ calcWidth(item);
+ calcHeight(item);
}
QDeclarativeItemKeyFilter::QDeclarativeItemKeyFilter(QDeclarativeItem *item)
-: m_next(0)
+: m_processPost(false), m_next(0)
{
QDeclarativeItemPrivate *p =
item?static_cast<QDeclarativeItemPrivate *>(QGraphicsItemPrivate::get(item)):0;
@@ -363,19 +388,19 @@ QDeclarativeItemKeyFilter::~QDeclarativeItemKeyFilter()
{
}
-void QDeclarativeItemKeyFilter::keyPressed(QKeyEvent *event)
+void QDeclarativeItemKeyFilter::keyPressed(QKeyEvent *event, bool post)
{
- if (m_next) m_next->keyPressed(event);
+ if (m_next) m_next->keyPressed(event, post);
}
-void QDeclarativeItemKeyFilter::keyReleased(QKeyEvent *event)
+void QDeclarativeItemKeyFilter::keyReleased(QKeyEvent *event, bool post)
{
- if (m_next) m_next->keyReleased(event);
+ if (m_next) m_next->keyReleased(event, post);
}
-void QDeclarativeItemKeyFilter::inputMethodEvent(QInputMethodEvent *event)
+void QDeclarativeItemKeyFilter::inputMethodEvent(QInputMethodEvent *event, bool post)
{
- if (m_next) m_next->inputMethodEvent(event);
+ if (m_next) m_next->inputMethodEvent(event, post);
}
QVariant QDeclarativeItemKeyFilter::inputMethodQuery(Qt::InputMethodQuery query) const
@@ -437,14 +462,16 @@ void QDeclarativeItemKeyFilter::componentComplete()
}
\endcode
- KeyNavigation receives key events after the item it is attached to.
+ By default KeyNavigation receives key events after the item it is attached to.
If the item accepts an arrow key event, the KeyNavigation
- attached property will not receive an event for that key.
+ attached property will not receive an event for that key. Setting the
+ \l priority property to KeyNavigation.BeforeItem allows handling
+ of the key events before normal item processing.
If an item has been set for a direction and the KeyNavigation
attached property receives the corresponding
key press and release events, the events will be accepted by
- KeyNaviagtion and will not propagate any further.
+ KeyNavigation and will not propagate any further.
\sa {Keys}{Keys attached property}
*/
@@ -464,6 +491,7 @@ QDeclarativeKeyNavigationAttached::QDeclarativeKeyNavigationAttached(QObject *pa
: QObject(*(new QDeclarativeKeyNavigationAttachedPrivate), parent),
QDeclarativeItemKeyFilter(qobject_cast<QDeclarativeItem*>(parent))
{
+ m_processPost = true;
}
QDeclarativeKeyNavigationAttached *
@@ -550,12 +578,45 @@ void QDeclarativeKeyNavigationAttached::setBacktab(QDeclarativeItem *i)
emit changed();
}
-void QDeclarativeKeyNavigationAttached::keyPressed(QKeyEvent *event)
+/*!
+ \qmlproperty enumeration KeyNavigation::priority
+
+ This property determines whether the keys are processed before
+ or after the attached item's own key handling.
+
+ \list
+ \o KeyNavigation.BeforeItem - process the key events before normal
+ item key processing. If the event is accepted it will not
+ be passed on to the item.
+ \o KeyNavigation.AfterItem (default) - process the key events after normal item key
+ handling. If the item accepts the key event it will not be
+ handled by the KeyNavigation attached property handler.
+ \endlist
+*/
+QDeclarativeKeyNavigationAttached::Priority QDeclarativeKeyNavigationAttached::priority() const
{
- Q_D(QDeclarativeKeyNavigationAttached);
+ return m_processPost ? AfterItem : BeforeItem;
+}
+
+void QDeclarativeKeyNavigationAttached::setPriority(Priority order)
+{
+ bool processPost = order == AfterItem;
+ if (processPost != m_processPost) {
+ m_processPost = processPost;
+ emit priorityChanged();
+ }
+}
+void QDeclarativeKeyNavigationAttached::keyPressed(QKeyEvent *event, bool post)
+{
+ Q_D(QDeclarativeKeyNavigationAttached);
event->ignore();
+ if (post != m_processPost) {
+ QDeclarativeItemKeyFilter::keyPressed(event, post);
+ return;
+ }
+
switch(event->key()) {
case Qt::Key_Left:
if (d->left) {
@@ -597,15 +658,19 @@ void QDeclarativeKeyNavigationAttached::keyPressed(QKeyEvent *event)
break;
}
- if (!event->isAccepted()) QDeclarativeItemKeyFilter::keyPressed(event);
+ if (!event->isAccepted()) QDeclarativeItemKeyFilter::keyPressed(event, post);
}
-void QDeclarativeKeyNavigationAttached::keyReleased(QKeyEvent *event)
+void QDeclarativeKeyNavigationAttached::keyReleased(QKeyEvent *event, bool post)
{
Q_D(QDeclarativeKeyNavigationAttached);
-
event->ignore();
+ if (post != m_processPost) {
+ QDeclarativeItemKeyFilter::keyReleased(event, post);
+ return;
+ }
+
switch(event->key()) {
case Qt::Key_Left:
if (d->left) {
@@ -641,7 +706,7 @@ void QDeclarativeKeyNavigationAttached::keyReleased(QKeyEvent *event)
break;
}
- if (!event->isAccepted()) QDeclarativeItemKeyFilter::keyReleased(event);
+ if (!event->isAccepted()) QDeclarativeItemKeyFilter::keyReleased(event, post);
}
/*!
@@ -656,7 +721,7 @@ void QDeclarativeKeyNavigationAttached::keyReleased(QKeyEvent *event)
The signal properties have a \l KeyEvent parameter, named
\e event which contains details of the event. If a key is
handled \e event.accepted should be set to true to prevent the
- event from propagating up the item heirarchy.
+ event from propagating up the item hierarchy.
\code
Item {
@@ -683,6 +748,28 @@ void QDeclarativeKeyNavigationAttached::keyReleased(QKeyEvent *event)
See \l {Qt::Key}{Qt.Key} for the list of keyboard codes.
+ If priority is Keys.BeforeItem (default) the order of key event processing is:
+
+ \list 1
+ \o Items specified in \c forwardTo
+ \o specific key handlers, e.g. onReturnPressed
+ \o onKeyPress, onKeyRelease handlers
+ \o Item specific key handling, e.g. TextInput key handling
+ \o parent item
+ \endlist
+
+ If priority is Keys.AfterItem the order of key event processing is:
+ \list 1
+ \o Item specific key handling, e.g. TextInput key handling
+ \o Items specified in \c forwardTo
+ \o specific key handlers, e.g. onReturnPressed
+ \o onKeyPress, onKeyRelease handlers
+ \o parent item
+ \endlist
+
+ If the event is accepted during any of the above steps, key
+ propagation stops.
+
\sa KeyEvent, {KeyNavigation}{KeyNavigation attached property}
*/
@@ -694,7 +781,23 @@ void QDeclarativeKeyNavigationAttached::keyReleased(QKeyEvent *event)
*/
/*!
- \qmlproperty List<Object> Keys::forwardTo
+ \qmlproperty enumeration Keys::priority
+
+ This property determines whether the keys are processed before
+ or after the attached item's own key handling.
+
+ \list
+ \o Keys.BeforeItem (default) - process the key events before normal
+ item key processing. If the event is accepted it will not
+ be passed on to the item.
+ \o Keys.AfterItem - process the key events after normal item key
+ handling. If the item accepts the key event it will not be
+ handled by the Keys attached property handler.
+ \endlist
+*/
+
+/*!
+ \qmlproperty list<Object> Keys::forwardTo
This property provides a way to forward key presses, key releases, and keyboard input
coming from input methods to other items. This can be useful when you want
@@ -1013,6 +1116,7 @@ QDeclarativeKeysAttached::QDeclarativeKeysAttached(QObject *parent)
QDeclarativeItemKeyFilter(qobject_cast<QDeclarativeItem*>(parent))
{
Q_D(QDeclarativeKeysAttached);
+ m_processPost = false;
d->item = qobject_cast<QDeclarativeItem*>(parent);
}
@@ -1020,6 +1124,20 @@ QDeclarativeKeysAttached::~QDeclarativeKeysAttached()
{
}
+QDeclarativeKeysAttached::Priority QDeclarativeKeysAttached::priority() const
+{
+ return m_processPost ? AfterItem : BeforeItem;
+}
+
+void QDeclarativeKeysAttached::setPriority(Priority order)
+{
+ bool processPost = order == AfterItem;
+ if (processPost != m_processPost) {
+ m_processPost = processPost;
+ emit priorityChanged();
+ }
+}
+
void QDeclarativeKeysAttached::componentComplete()
{
Q_D(QDeclarativeKeysAttached);
@@ -1034,11 +1152,12 @@ void QDeclarativeKeysAttached::componentComplete()
}
}
-void QDeclarativeKeysAttached::keyPressed(QKeyEvent *event)
+void QDeclarativeKeysAttached::keyPressed(QKeyEvent *event, bool post)
{
Q_D(QDeclarativeKeysAttached);
- if (!d->enabled || d->inPress) {
+ if (post != m_processPost || !d->enabled || d->inPress) {
event->ignore();
+ QDeclarativeItemKeyFilter::keyPressed(event, post);
return;
}
@@ -1073,14 +1192,15 @@ void QDeclarativeKeysAttached::keyPressed(QKeyEvent *event)
emit pressed(&ke);
event->setAccepted(ke.isAccepted());
- if (!event->isAccepted()) QDeclarativeItemKeyFilter::keyPressed(event);
+ if (!event->isAccepted()) QDeclarativeItemKeyFilter::keyPressed(event, post);
}
-void QDeclarativeKeysAttached::keyReleased(QKeyEvent *event)
+void QDeclarativeKeysAttached::keyReleased(QKeyEvent *event, bool post)
{
Q_D(QDeclarativeKeysAttached);
- if (!d->enabled || d->inRelease) {
+ if (post != m_processPost || !d->enabled || d->inRelease) {
event->ignore();
+ QDeclarativeItemKeyFilter::keyReleased(event, post);
return;
}
@@ -1103,13 +1223,13 @@ void QDeclarativeKeysAttached::keyReleased(QKeyEvent *event)
emit released(&ke);
event->setAccepted(ke.isAccepted());
- if (!event->isAccepted()) QDeclarativeItemKeyFilter::keyReleased(event);
+ if (!event->isAccepted()) QDeclarativeItemKeyFilter::keyReleased(event, post);
}
-void QDeclarativeKeysAttached::inputMethodEvent(QInputMethodEvent *event)
+void QDeclarativeKeysAttached::inputMethodEvent(QInputMethodEvent *event, bool post)
{
Q_D(QDeclarativeKeysAttached);
- if (d->item && !d->inIM && d->item->scene()) {
+ if (post == m_processPost && d->item && !d->inIM && d->item->scene()) {
d->inIM = true;
for (int ii = 0; ii < d->targets.count(); ++ii) {
QGraphicsItem *i = d->finalFocusProxy(d->targets.at(ii));
@@ -1124,7 +1244,7 @@ void QDeclarativeKeysAttached::inputMethodEvent(QInputMethodEvent *event)
}
d->inIM = false;
}
- if (!event->isAccepted()) QDeclarativeItemKeyFilter::inputMethodEvent(event);
+ if (!event->isAccepted()) QDeclarativeItemKeyFilter::inputMethodEvent(event, post);
}
class QDeclarativeItemAccessor : public QGraphicsItem
@@ -1168,7 +1288,10 @@ QDeclarativeKeysAttached *QDeclarativeKeysAttached::qmlAttachedProperties(QObjec
width and height, \l {anchor-layout}{anchoring} and key handling.
You can subclass QDeclarativeItem to provide your own custom visual item that inherits
- these features.
+ these features. Note that, because it does not draw anything, QDeclarativeItem sets the
+ QGraphicsItem::ItemHasNoContents flag. If you subclass QDeclarativeItem to create a visual
+ item, you will need to unset this flag.
+
*/
/*!
@@ -1258,8 +1381,6 @@ QDeclarativeKeysAttached *QDeclarativeKeysAttached::qmlAttachedProperties(QObjec
changes. For many properties in Item or Item derivatives this can be used
to add a touch of imperative logic to your application (when absolutely
necessary).
-
- \ingroup group_coreitems
*/
/*!
@@ -1388,6 +1509,7 @@ QDeclarativeItem::~QDeclarativeItem()
delete d->_anchorLines; d->_anchorLines = 0;
delete d->_anchors; d->_anchors = 0;
delete d->_stateGroup; d->_stateGroup = 0;
+ delete d->_contents; d->_contents = 0;
}
/*!
@@ -1407,7 +1529,7 @@ QDeclarativeItem::~QDeclarativeItem()
}
\endqml
- The default transform origin is \c Center.
+ The default transform origin is \c Item.Center.
*/
/*!
@@ -1472,11 +1594,6 @@ QDeclarativeItem *QDeclarativeItem::parentItem() const
*/
/*!
- \property QDeclarativeItem::resources
- \internal
-*/
-
-/*!
Returns true if construction of the QML component is complete; otherwise
returns false.
@@ -1491,18 +1608,6 @@ bool QDeclarativeItem::isComponentComplete() const
return d->_componentComplete;
}
-/*!
- \property QDeclarativeItem::anchors
- \internal
-*/
-
-/*! \internal */
-QDeclarativeAnchors *QDeclarativeItem::anchors()
-{
- Q_D(QDeclarativeItem);
- return d->anchors();
-}
-
void QDeclarativeItemPrivate::data_append(QDeclarativeListProperty<QObject> *prop, QObject *o)
{
if (!o)
@@ -1523,7 +1628,7 @@ void QDeclarativeItemPrivate::data_append(QDeclarativeListProperty<QObject> *pro
QObject *QDeclarativeItemPrivate::resources_at(QDeclarativeListProperty<QObject> *prop, int index)
{
- QObjectList children = prop->object->children();
+ const QObjectList children = prop->object->children();
if (index < children.count())
return children.at(index);
else
@@ -1624,30 +1729,25 @@ void QDeclarativeItemPrivate::parentProperty(QObject *o, void *rv, QDeclarativeN
specify it.
*/
-/*!
- \property QDeclarativeItem::data
- \internal
-*/
-
/*! \internal */
-QDeclarativeListProperty<QObject> QDeclarativeItem::data()
+QDeclarativeListProperty<QObject> QDeclarativeItemPrivate::data()
{
- return QDeclarativeListProperty<QObject>(this, 0, QDeclarativeItemPrivate::data_append);
+ return QDeclarativeListProperty<QObject>(q_func(), 0, QDeclarativeItemPrivate::data_append);
}
/*!
\property QDeclarativeItem::childrenRect
\brief The geometry of an item's children.
- childrenRect provides an easy way to access the (collective) position and size of the item's children.
+ This property holds the (collective) position and size of the item's children.
*/
QRectF QDeclarativeItem::childrenRect()
{
Q_D(QDeclarativeItem);
if (!d->_contents) {
- d->_contents = new QDeclarativeContents;
- QDeclarative_setParent_noEvent(d->_contents, this);
- d->_contents->setItem(this);
+ d->_contents = new QDeclarativeContents(this);
+ if (d->_componentComplete)
+ d->_contents->complete();
}
return d->_contents->rectF();
}
@@ -1817,8 +1917,11 @@ void QDeclarativeItemPrivate::removeItemChangeListener(QDeclarativeItemChangeLis
void QDeclarativeItem::keyPressEvent(QKeyEvent *event)
{
Q_D(QDeclarativeItem);
+ keyPressPreHandler(event);
+ if (event->isAccepted())
+ return;
if (d->keyHandler)
- d->keyHandler->keyPressed(event);
+ d->keyHandler->keyPressed(event, true);
else
event->ignore();
}
@@ -1827,8 +1930,11 @@ void QDeclarativeItem::keyPressEvent(QKeyEvent *event)
void QDeclarativeItem::keyReleaseEvent(QKeyEvent *event)
{
Q_D(QDeclarativeItem);
+ keyReleasePreHandler(event);
+ if (event->isAccepted())
+ return;
if (d->keyHandler)
- d->keyHandler->keyReleased(event);
+ d->keyHandler->keyReleased(event, true);
else
event->ignore();
}
@@ -1837,8 +1943,11 @@ void QDeclarativeItem::keyReleaseEvent(QKeyEvent *event)
void QDeclarativeItem::inputMethodEvent(QInputMethodEvent *event)
{
Q_D(QDeclarativeItem);
+ inputMethodPreHandler(event);
+ if (event->isAccepted())
+ return;
if (d->keyHandler)
- d->keyHandler->inputMethodEvent(event);
+ d->keyHandler->inputMethodEvent(event, true);
else
event->ignore();
}
@@ -1857,99 +1966,93 @@ QVariant QDeclarativeItem::inputMethodQuery(Qt::InputMethodQuery query) const
return v;
}
-/*!
- \internal
-*/
-QDeclarativeAnchorLine QDeclarativeItem::left() const
+void QDeclarativeItem::keyPressPreHandler(QKeyEvent *event)
{
- Q_D(const QDeclarativeItem);
- return d->anchorLines()->left;
+ Q_D(QDeclarativeItem);
+ if (d->keyHandler && !d->doneEventPreHandler)
+ d->keyHandler->keyPressed(event, false);
+ else
+ event->ignore();
+ d->doneEventPreHandler = true;
}
-/*!
- \internal
-*/
-QDeclarativeAnchorLine QDeclarativeItem::right() const
+void QDeclarativeItem::keyReleasePreHandler(QKeyEvent *event)
{
- Q_D(const QDeclarativeItem);
- return d->anchorLines()->right;
+ Q_D(QDeclarativeItem);
+ if (d->keyHandler && !d->doneEventPreHandler)
+ d->keyHandler->keyReleased(event, false);
+ else
+ event->ignore();
+ d->doneEventPreHandler = true;
}
-/*!
- \internal
-*/
-QDeclarativeAnchorLine QDeclarativeItem::horizontalCenter() const
+void QDeclarativeItem::inputMethodPreHandler(QInputMethodEvent *event)
{
- Q_D(const QDeclarativeItem);
- return d->anchorLines()->hCenter;
+ Q_D(QDeclarativeItem);
+ if (d->keyHandler && !d->doneEventPreHandler)
+ d->keyHandler->inputMethodEvent(event, false);
+ else
+ event->ignore();
+ d->doneEventPreHandler = true;
}
+
/*!
\internal
*/
-QDeclarativeAnchorLine QDeclarativeItem::top() const
+QDeclarativeAnchorLine QDeclarativeItemPrivate::left() const
{
- Q_D(const QDeclarativeItem);
- return d->anchorLines()->top;
+ return anchorLines()->left;
}
/*!
\internal
*/
-QDeclarativeAnchorLine QDeclarativeItem::bottom() const
+QDeclarativeAnchorLine QDeclarativeItemPrivate::right() const
{
- Q_D(const QDeclarativeItem);
- return d->anchorLines()->bottom;
+ return anchorLines()->right;
}
/*!
\internal
*/
-QDeclarativeAnchorLine QDeclarativeItem::verticalCenter() const
+QDeclarativeAnchorLine QDeclarativeItemPrivate::horizontalCenter() const
{
- Q_D(const QDeclarativeItem);
- return d->anchorLines()->vCenter;
+ return anchorLines()->hCenter;
}
-
/*!
\internal
*/
-QDeclarativeAnchorLine QDeclarativeItem::baseline() const
+QDeclarativeAnchorLine QDeclarativeItemPrivate::top() const
{
- Q_D(const QDeclarativeItem);
- return d->anchorLines()->baseline;
+ return anchorLines()->top;
}
/*!
- \property QDeclarativeItem::top
- \internal
-*/
-
-/*!
- \property QDeclarativeItem::bottom
- \internal
-*/
-
-/*!
- \property QDeclarativeItem::left
- \internal
+ \internal
*/
+QDeclarativeAnchorLine QDeclarativeItemPrivate::bottom() const
+{
+ return anchorLines()->bottom;
+}
/*!
- \property QDeclarativeItem::right
- \internal
+ \internal
*/
+QDeclarativeAnchorLine QDeclarativeItemPrivate::verticalCenter() const
+{
+ return anchorLines()->vCenter;
+}
-/*!
- \property QDeclarativeItem::horizontalCenter
- \internal
-*/
/*!
- \property QDeclarativeItem::verticalCenter
- \internal
+ \internal
*/
+QDeclarativeAnchorLine QDeclarativeItemPrivate::baseline() const
+{
+ return anchorLines()->baseline;
+}
/*!
\qmlproperty AnchorLine Item::top
@@ -2284,6 +2387,28 @@ void QDeclarativeItem::forceFocus()
}
}
+
+/*!
+ \qmlmethod Item::childAt(real x, real y)
+
+ Returns the visible child item at point (\a x, \a y), which is in this
+ item's coordinate system, or \c null if there is no such item.
+ */
+QDeclarativeItem *QDeclarativeItem::childAt(qreal x, qreal y) const
+{
+ const QList<QGraphicsItem *> children = childItems();
+ for (int i = children.count()-1; i >= 0; --i) {
+ if (QDeclarativeItem *child = qobject_cast<QDeclarativeItem *>(children.at(i))) {
+ if (child->isVisible() && child->x() <= x
+ && child->x() + child->width() >= x
+ && child->y() <= y
+ && child->y() + child->height() >= y)
+ return child;
+ }
+ }
+ return 0;
+}
+
void QDeclarativeItemPrivate::focusChanged(bool flag)
{
Q_Q(QDeclarativeItem);
@@ -2291,9 +2416,9 @@ void QDeclarativeItemPrivate::focusChanged(bool flag)
}
/*! \internal */
-QDeclarativeListProperty<QObject> QDeclarativeItem::resources()
+QDeclarativeListProperty<QObject> QDeclarativeItemPrivate::resources()
{
- return QDeclarativeListProperty<QObject>(this, 0, QDeclarativeItemPrivate::resources_append,
+ return QDeclarativeListProperty<QObject>(q_func(), 0, QDeclarativeItemPrivate::resources_append,
QDeclarativeItemPrivate::resources_count,
QDeclarativeItemPrivate::resources_at);
}
@@ -2315,15 +2440,10 @@ QDeclarativeListProperty<QObject> QDeclarativeItem::resources()
\sa {qmlstate}{States}
*/
-/*!
- \property QDeclarativeItem::states
- \internal
-*/
/*! \internal */
-QDeclarativeListProperty<QDeclarativeState> QDeclarativeItem::states()
+QDeclarativeListProperty<QDeclarativeState> QDeclarativeItemPrivate::states()
{
- Q_D(QDeclarativeItem);
- return d->states()->statesProperty();
+ return _states()->statesProperty();
}
/*!
@@ -2343,16 +2463,11 @@ QDeclarativeListProperty<QDeclarativeState> QDeclarativeItem::states()
\sa {state-transitions}{Transitions}
*/
-/*!
- \property QDeclarativeItem::transitions
- \internal
-*/
/*! \internal */
-QDeclarativeListProperty<QDeclarativeTransition> QDeclarativeItem::transitions()
+QDeclarativeListProperty<QDeclarativeTransition> QDeclarativeItemPrivate::transitions()
{
- Q_D(QDeclarativeItem);
- return d->states()->transitionsProperty();
+ return _states()->transitionsProperty();
}
/*
@@ -2426,20 +2541,18 @@ QDeclarativeListProperty<QDeclarativeTransition> QDeclarativeItem::transitions()
*/
/*! \internal */
-QString QDeclarativeItem::state() const
+QString QDeclarativeItemPrivate::state() const
{
- Q_D(const QDeclarativeItem);
- if (!d->_stateGroup)
+ if (!_stateGroup)
return QString();
else
- return d->_stateGroup->state();
+ return _stateGroup->state();
}
/*! \internal */
-void QDeclarativeItem::setState(const QString &state)
+void QDeclarativeItemPrivate::setState(const QString &state)
{
- Q_D(QDeclarativeItem);
- d->states()->setState(state);
+ _states()->setState(state);
}
/*!
@@ -2500,9 +2613,11 @@ void QDeclarativeItem::componentComplete()
}
if (d->keyHandler)
d->keyHandler->componentComplete();
+ if (d->_contents)
+ d->_contents->complete();
}
-QDeclarativeStateGroup *QDeclarativeItemPrivate::states()
+QDeclarativeStateGroup *QDeclarativeItemPrivate::_states()
{
Q_Q(QDeclarativeItem);
if (!_stateGroup) {
@@ -2590,7 +2705,13 @@ bool QDeclarativeItem::sceneEvent(QEvent *event)
}
}
-/*! \internal */
+/*!
+ \reimp
+
+ Note that unlike QGraphicsItems, QDeclarativeItem::itemChange() is \e not called
+ during initial widget polishing. Items wishing to optimize start-up construction
+ should instead consider using componentComplete().
+*/
QVariant QDeclarativeItem::itemChange(GraphicsItemChange change,
const QVariant &value)
{
@@ -2618,6 +2739,16 @@ QVariant QDeclarativeItem::itemChange(GraphicsItemChange change,
}
}
break;
+ case ItemChildAddedChange:
+ if (d->_contents)
+ d->_contents->childAdded(qobject_cast<QDeclarativeItem*>(
+ value.value<QGraphicsItem*>()));
+ break;
+ case ItemChildRemovedChange:
+ if (d->_contents)
+ d->_contents->childRemoved(qobject_cast<QDeclarativeItem*>(
+ value.value<QGraphicsItem*>()));
+ break;
default:
break;
}
@@ -2723,29 +2854,48 @@ void QDeclarativeItem::setSmooth(bool smooth)
update();
}
+/*!
+ \internal
+ Return the width of the item
+*/
qreal QDeclarativeItem::width() const
{
Q_D(const QDeclarativeItem);
return d->width();
}
+/*!
+ \internal
+ Set the width of the item
+*/
void QDeclarativeItem::setWidth(qreal w)
{
Q_D(QDeclarativeItem);
d->setWidth(w);
}
+/*!
+ \internal
+ Reset the width of the item
+*/
void QDeclarativeItem::resetWidth()
{
Q_D(QDeclarativeItem);
d->resetWidth();
}
+/*!
+ \internal
+ Return the width of the item
+*/
qreal QDeclarativeItemPrivate::width() const
{
return mWidth;
}
+/*!
+ \internal
+*/
void QDeclarativeItemPrivate::setWidth(qreal w)
{
Q_Q(QDeclarativeItem);
@@ -2765,7 +2915,10 @@ void QDeclarativeItemPrivate::setWidth(qreal w)
QRectF(q->x(), q->y(), oldWidth, height()));
}
-void QDeclarativeItemPrivate ::resetWidth()
+/*!
+ \internal
+*/
+void QDeclarativeItemPrivate::resetWidth()
{
Q_Q(QDeclarativeItem);
widthValid = false;
@@ -2810,29 +2963,47 @@ bool QDeclarativeItem::widthValid() const
return d->widthValid;
}
+/*!
+ \internal
+ Return the height of the item
+*/
qreal QDeclarativeItem::height() const
{
Q_D(const QDeclarativeItem);
return d->height();
}
+/*!
+ \internal
+ Set the height of the item
+*/
void QDeclarativeItem::setHeight(qreal h)
{
Q_D(QDeclarativeItem);
d->setHeight(h);
}
+/*!
+ \internal
+ Reset the height of the item
+*/
void QDeclarativeItem::resetHeight()
{
Q_D(QDeclarativeItem);
d->resetHeight();
}
+/*!
+ \internal
+*/
qreal QDeclarativeItemPrivate::height() const
{
return mHeight;
}
+/*!
+ \internal
+*/
void QDeclarativeItemPrivate::setHeight(qreal h)
{
Q_Q(QDeclarativeItem);
@@ -2852,6 +3023,9 @@ void QDeclarativeItemPrivate::setHeight(qreal h)
QRectF(q->x(), q->y(), width(), oldHeight));
}
+/*!
+ \internal
+*/
void QDeclarativeItemPrivate::resetHeight()
{
Q_Q(QDeclarativeItem);
@@ -2956,7 +3130,6 @@ void QDeclarativeItem::setFocus(bool focus)
}
/*!
- \reimp
\internal
*/
void QDeclarativeItem::paint(QPainter *, const QStyleOptionGraphicsItem *, QWidget *)
@@ -2964,14 +3137,25 @@ void QDeclarativeItem::paint(QPainter *, const QStyleOptionGraphicsItem *, QWidg
}
/*!
- \reimp
\internal
*/
bool QDeclarativeItem::event(QEvent *ev)
{
+ Q_D(QDeclarativeItem);
+ switch (ev->type()) {
+ case QEvent::KeyPress:
+ case QEvent::KeyRelease:
+ case QEvent::InputMethod:
+ d->doneEventPreHandler = false;
+ break;
+ default:
+ break;
+ }
+
return QGraphicsObject::event(ev);
}
+#ifndef QT_NO_DEBUG_STREAM
QDebug operator<<(QDebug debug, QDeclarativeItem *item)
{
if (!item) {
@@ -2985,42 +3169,58 @@ QDebug operator<<(QDebug debug, QDeclarativeItem *item)
<< ", z =" << item->zValue() << ')';
return debug;
}
+#endif
-int QDeclarativeItemPrivate::consistentTime = -1;
-void QDeclarativeItemPrivate::setConsistentTime(int t)
+qint64 QDeclarativeItemPrivate::consistentTime = -1;
+void QDeclarativeItemPrivate::setConsistentTime(qint64 t)
{
consistentTime = t;
}
-QTime QDeclarativeItemPrivate::currentTime()
+class QElapsedTimerConsistentTimeHack
{
- if (consistentTime == -1)
- return QTime::currentTime();
- else
- return QTime(0, 0).addMSecs(consistentTime);
-}
+public:
+ void start() {
+ t1 = QDeclarativeItemPrivate::consistentTime;
+ t2 = 0;
+ }
+ qint64 elapsed() {
+ return QDeclarativeItemPrivate::consistentTime - t1;
+ }
+ qint64 restart() {
+ qint64 val = QDeclarativeItemPrivate::consistentTime - t1;
+ t1 = QDeclarativeItemPrivate::consistentTime;
+ t2 = 0;
+ return val;
+ }
+
+private:
+ qint64 t1;
+ qint64 t2;
+};
-void QDeclarativeItemPrivate::start(QTime &t)
+void QDeclarativeItemPrivate::start(QElapsedTimer &t)
{
- t = currentTime();
+ if (QDeclarativeItemPrivate::consistentTime == -1)
+ t.start();
+ else
+ ((QElapsedTimerConsistentTimeHack*)&t)->start();
}
-int QDeclarativeItemPrivate::elapsed(QTime &t)
+qint64 QDeclarativeItemPrivate::elapsed(QElapsedTimer &t)
{
- int n = t.msecsTo(currentTime());
- if (n < 0) // passed midnight
- n += 86400 * 1000;
- return n;
+ if (QDeclarativeItemPrivate::consistentTime == -1)
+ return t.elapsed();
+ else
+ return ((QElapsedTimerConsistentTimeHack*)&t)->elapsed();
}
-int QDeclarativeItemPrivate::restart(QTime &t)
+qint64 QDeclarativeItemPrivate::restart(QElapsedTimer &t)
{
- QTime time = currentTime();
- int n = t.msecsTo(time);
- if (n < 0) // passed midnight
- n += 86400*1000;
- t = time;
- return n;
+ if (QDeclarativeItemPrivate::consistentTime == -1)
+ return t.restart();
+ else
+ return ((QElapsedTimerConsistentTimeHack*)&t)->restart();
}
QT_END_NAMESPACE
diff --git a/src/declarative/graphicsitems/qdeclarativeitem.h b/src/declarative/graphicsitems/qdeclarativeitem.h
index da5a36e11e..4f420f8952 100644
--- a/src/declarative/graphicsitems/qdeclarativeitem.h
+++ b/src/declarative/graphicsitems/qdeclarativeitem.h
@@ -70,20 +70,20 @@ class Q_DECLARATIVE_EXPORT QDeclarativeItem : public QGraphicsObject, public QDe
Q_INTERFACES(QDeclarativeParserStatus)
Q_PROPERTY(QDeclarativeItem * parent READ parentItem WRITE setParentItem NOTIFY parentChanged DESIGNABLE false FINAL)
- Q_PROPERTY(QDeclarativeListProperty<QObject> data READ data DESIGNABLE false)
- Q_PROPERTY(QDeclarativeListProperty<QObject> resources READ resources DESIGNABLE false)
- Q_PROPERTY(QDeclarativeListProperty<QDeclarativeState> states READ states DESIGNABLE false)
- Q_PROPERTY(QDeclarativeListProperty<QDeclarativeTransition> transitions READ transitions DESIGNABLE false)
- Q_PROPERTY(QString state READ state WRITE setState NOTIFY stateChanged)
+ Q_PRIVATE_PROPERTY(QDeclarativeItem::d_func(), QDeclarativeListProperty<QObject> data READ data DESIGNABLE false)
+ Q_PRIVATE_PROPERTY(QDeclarativeItem::d_func(), QDeclarativeListProperty<QObject> resources READ resources DESIGNABLE false)
+ Q_PRIVATE_PROPERTY(QDeclarativeItem::d_func(), QDeclarativeListProperty<QDeclarativeState> states READ states DESIGNABLE false)
+ Q_PRIVATE_PROPERTY(QDeclarativeItem::d_func(), QDeclarativeListProperty<QDeclarativeTransition> transitions READ transitions DESIGNABLE false)
+ Q_PRIVATE_PROPERTY(QDeclarativeItem::d_func(), QString state READ state WRITE setState NOTIFY stateChanged)
Q_PROPERTY(QRectF childrenRect READ childrenRect NOTIFY childrenRectChanged DESIGNABLE false FINAL)
- Q_PROPERTY(QDeclarativeAnchors * anchors READ anchors DESIGNABLE false CONSTANT FINAL)
- Q_PROPERTY(QDeclarativeAnchorLine left READ left CONSTANT FINAL)
- Q_PROPERTY(QDeclarativeAnchorLine right READ right CONSTANT FINAL)
- Q_PROPERTY(QDeclarativeAnchorLine horizontalCenter READ horizontalCenter CONSTANT FINAL)
- Q_PROPERTY(QDeclarativeAnchorLine top READ top CONSTANT FINAL)
- Q_PROPERTY(QDeclarativeAnchorLine bottom READ bottom CONSTANT FINAL)
- Q_PROPERTY(QDeclarativeAnchorLine verticalCenter READ verticalCenter CONSTANT FINAL)
- Q_PROPERTY(QDeclarativeAnchorLine baseline READ baseline CONSTANT FINAL)
+ Q_PRIVATE_PROPERTY(QDeclarativeItem::d_func(), QDeclarativeAnchors * anchors READ anchors DESIGNABLE false CONSTANT FINAL)
+ Q_PRIVATE_PROPERTY(QDeclarativeItem::d_func(), QDeclarativeAnchorLine left READ left CONSTANT FINAL)
+ Q_PRIVATE_PROPERTY(QDeclarativeItem::d_func(), QDeclarativeAnchorLine right READ right CONSTANT FINAL)
+ Q_PRIVATE_PROPERTY(QDeclarativeItem::d_func(), QDeclarativeAnchorLine horizontalCenter READ horizontalCenter CONSTANT FINAL)
+ Q_PRIVATE_PROPERTY(QDeclarativeItem::d_func(), QDeclarativeAnchorLine top READ top CONSTANT FINAL)
+ Q_PRIVATE_PROPERTY(QDeclarativeItem::d_func(), QDeclarativeAnchorLine bottom READ bottom CONSTANT FINAL)
+ Q_PRIVATE_PROPERTY(QDeclarativeItem::d_func(), QDeclarativeAnchorLine verticalCenter READ verticalCenter CONSTANT FINAL)
+ Q_PRIVATE_PROPERTY(QDeclarativeItem::d_func(), QDeclarativeAnchorLine baseline READ baseline CONSTANT FINAL)
Q_PROPERTY(qreal baselineOffset READ baselineOffset WRITE setBaselineOffset NOTIFY baselineOffsetChanged)
Q_PROPERTY(bool clip READ clip WRITE setClip NOTIFY clipChanged) // ### move to QGI/QGO, NOTIFY
Q_PROPERTY(bool focus READ hasFocus WRITE setFocus NOTIFY focusChanged FINAL)
@@ -107,21 +107,11 @@ public:
QDeclarativeItem *parentItem() const;
void setParentItem(QDeclarativeItem *parent);
- QDeclarativeListProperty<QObject> data();
- QDeclarativeListProperty<QObject> resources();
-
- QDeclarativeAnchors *anchors();
QRectF childrenRect();
bool clip() const;
void setClip(bool);
- QDeclarativeListProperty<QDeclarativeState> states();
- QDeclarativeListProperty<QDeclarativeTransition> transitions();
-
- QString state() const;
- void setState(const QString &);
-
qreal baselineOffset() const;
void setBaselineOffset(qreal);
@@ -158,14 +148,7 @@ public:
Q_INVOKABLE QScriptValue mapFromItem(const QScriptValue &item, qreal x, qreal y) const;
Q_INVOKABLE QScriptValue mapToItem(const QScriptValue &item, qreal x, qreal y) const;
Q_INVOKABLE void forceFocus();
-
- QDeclarativeAnchorLine left() const;
- QDeclarativeAnchorLine right() const;
- QDeclarativeAnchorLine horizontalCenter() const;
- QDeclarativeAnchorLine top() const;
- QDeclarativeAnchorLine bottom() const;
- QDeclarativeAnchorLine verticalCenter() const;
- QDeclarativeAnchorLine baseline() const;
+ Q_INVOKABLE QDeclarativeItem *childAt(qreal x, qreal y) const;
Q_SIGNALS:
void childrenChanged();
@@ -196,6 +179,10 @@ protected:
virtual void keyReleaseEvent(QKeyEvent *event);
virtual void inputMethodEvent(QInputMethodEvent *);
virtual QVariant inputMethodQuery(Qt::InputMethodQuery query) const;
+ void keyPressPreHandler(QKeyEvent *);
+ void keyReleasePreHandler(QKeyEvent *);
+ void inputMethodPreHandler(QInputMethodEvent *);
+
virtual void geometryChanged(const QRectF &newGeometry,
const QRectF &oldGeometry);
@@ -223,7 +210,9 @@ T qobject_cast(QGraphicsItem *item)
return qobject_cast<T>(o);
}
+#ifndef QT_NO_DEBUG_STREAM
QDebug Q_DECLARATIVE_EXPORT operator<<(QDebug debug, QDeclarativeItem *item);
+#endif
QT_END_NAMESPACE
diff --git a/src/declarative/graphicsitems/qdeclarativeitem_p.h b/src/declarative/graphicsitems/qdeclarativeitem_p.h
index 3f5bf1ae96..fb416c2fd2 100644
--- a/src/declarative/graphicsitems/qdeclarativeitem_p.h
+++ b/src/declarative/graphicsitems/qdeclarativeitem_p.h
@@ -79,24 +79,33 @@ class QNetworkReply;
class QDeclarativeItemKeyFilter;
//### merge into private?
-class QDeclarativeContents : public QObject
+class QDeclarativeContents : public QObject, public QDeclarativeItemChangeListener
{
Q_OBJECT
public:
- QDeclarativeContents();
+ QDeclarativeContents(QDeclarativeItem *item);
+ ~QDeclarativeContents();
QRectF rectF() const;
- void setItem(QDeclarativeItem *item);
+ void childRemoved(QDeclarativeItem *item);
+ void childAdded(QDeclarativeItem *item);
-public Q_SLOTS:
- void calcHeight();
- void calcWidth();
+ void calcGeometry() { calcWidth(); calcHeight(); }
+ void complete();
Q_SIGNALS:
void rectChanged(QRectF);
+protected:
+ void itemGeometryChanged(QDeclarativeItem *item, const QRectF &newGeometry, const QRectF &oldGeometry);
+ void itemDestroyed(QDeclarativeItem *item);
+ //void itemVisibilityChanged(QDeclarativeItem *item)
+
private:
+ void calcHeight(QDeclarativeItem *changed = 0);
+ void calcWidth(QDeclarativeItem *changed = 0);
+
QDeclarativeItem *m_item;
qreal m_x;
qreal m_y;
@@ -116,7 +125,7 @@ public:
_stateGroup(0), origin(QDeclarativeItem::Center),
widthValid(false), heightValid(false),
_componentComplete(true), _keepMouse(false),
- smooth(false), transformOriginDirty(true), keyHandler(0),
+ smooth(false), transformOriginDirty(true), doneEventPreHandler(false), keyHandler(0),
mWidth(0), mHeight(0), implicitWidth(0), implicitHeight(0)
{
QGraphicsItemPrivate::acceptedMouseButtons = 0;
@@ -150,6 +159,22 @@ public:
void setHeight(qreal);
void resetHeight();
+ QDeclarativeListProperty<QObject> data();
+ QDeclarativeListProperty<QObject> resources();
+
+ QDeclarativeListProperty<QDeclarativeState> states();
+ QDeclarativeListProperty<QDeclarativeTransition> transitions();
+
+ QString state() const;
+ void setState(const QString &);
+
+ QDeclarativeAnchorLine left() const;
+ QDeclarativeAnchorLine right() const;
+ QDeclarativeAnchorLine horizontalCenter() const;
+ QDeclarativeAnchorLine top() const;
+ QDeclarativeAnchorLine bottom() const;
+ QDeclarativeAnchorLine verticalCenter() const;
+ QDeclarativeAnchorLine baseline() const;
// data property
static void data_append(QDeclarativeListProperty<QObject> *, QObject *);
@@ -165,6 +190,11 @@ public:
static QGraphicsTransform *transform_at(QDeclarativeListProperty<QGraphicsTransform> *list, int);
static void transform_clear(QDeclarativeListProperty<QGraphicsTransform> *list);
+ static QDeclarativeItemPrivate* get(QDeclarativeItem *item)
+ {
+ return item->d_func();
+ }
+
// Accelerated property accessors
QDeclarativeNotifier parentNotifier;
static void parentProperty(QObject *o, void *rv, QDeclarativeNotifierEndpoint *e);
@@ -224,7 +254,7 @@ public:
void removeItemChangeListener(QDeclarativeItemChangeListener *, ChangeTypes types);
QPODVector<ChangeListener,4> changeListeners;
- QDeclarativeStateGroup *states();
+ QDeclarativeStateGroup *_states();
QDeclarativeStateGroup *_stateGroup;
QDeclarativeItem::TransformOrigin origin:4;
@@ -234,6 +264,7 @@ public:
bool _keepMouse:1;
bool smooth:1;
bool transformOriginDirty : 1;
+ bool doneEventPreHandler : 1;
QDeclarativeItemKeyFilter *keyHandler;
@@ -275,12 +306,11 @@ public:
virtual void focusChanged(bool);
- static int consistentTime;
- static QTime currentTime();
- static void setConsistentTime(int t);
- static void start(QTime &);
- static int elapsed(QTime &);
- static int restart(QTime &);
+ static qint64 consistentTime;
+ static void setConsistentTime(qint64 t);
+ static void start(QElapsedTimer &);
+ static qint64 elapsed(QElapsedTimer &);
+ static qint64 restart(QElapsedTimer &);
};
/*
@@ -295,12 +325,14 @@ public:
QDeclarativeItemKeyFilter(QDeclarativeItem * = 0);
virtual ~QDeclarativeItemKeyFilter();
- virtual void keyPressed(QKeyEvent *event);
- virtual void keyReleased(QKeyEvent *event);
- virtual void inputMethodEvent(QInputMethodEvent *event);
+ virtual void keyPressed(QKeyEvent *event, bool post);
+ virtual void keyReleased(QKeyEvent *event, bool post);
+ virtual void inputMethodEvent(QInputMethodEvent *event, bool post);
virtual QVariant inputMethodQuery(Qt::InputMethodQuery query) const;
virtual void componentComplete();
+ bool m_processPost;
+
private:
QDeclarativeItemKeyFilter *m_next;
};
@@ -330,6 +362,9 @@ class QDeclarativeKeyNavigationAttached : public QObject, public QDeclarativeIte
Q_PROPERTY(QDeclarativeItem *down READ down WRITE setDown NOTIFY changed)
Q_PROPERTY(QDeclarativeItem *tab READ tab WRITE setTab NOTIFY changed)
Q_PROPERTY(QDeclarativeItem *backtab READ backtab WRITE setBacktab NOTIFY changed)
+ Q_PROPERTY(Priority priority READ priority WRITE setPriority NOTIFY priorityChanged)
+
+ Q_ENUMS(Priority)
public:
QDeclarativeKeyNavigationAttached(QObject * = 0);
@@ -347,14 +382,19 @@ public:
QDeclarativeItem *backtab() const;
void setBacktab(QDeclarativeItem *);
+ enum Priority { BeforeItem, AfterItem };
+ Priority priority() const;
+ void setPriority(Priority);
+
static QDeclarativeKeyNavigationAttached *qmlAttachedProperties(QObject *);
Q_SIGNALS:
void changed();
+ void priorityChanged();
private:
- virtual void keyPressed(QKeyEvent *event);
- virtual void keyReleased(QKeyEvent *event);
+ virtual void keyPressed(QKeyEvent *event, bool post);
+ virtual void keyReleased(QKeyEvent *event, bool post);
};
class QDeclarativeKeysAttachedPrivate : public QObjectPrivate
@@ -394,6 +434,9 @@ class QDeclarativeKeysAttached : public QObject, public QDeclarativeItemKeyFilte
Q_PROPERTY(bool enabled READ enabled WRITE setEnabled NOTIFY enabledChanged)
Q_PROPERTY(QDeclarativeListProperty<QDeclarativeItem> forwardTo READ forwardTo)
+ Q_PROPERTY(Priority priority READ priority WRITE setPriority NOTIFY priorityChanged)
+
+ Q_ENUMS(Priority)
public:
QDeclarativeKeysAttached(QObject *parent=0);
@@ -408,6 +451,10 @@ public:
}
}
+ enum Priority { BeforeItem, AfterItem};
+ Priority priority() const;
+ void setPriority(Priority);
+
QDeclarativeListProperty<QDeclarativeItem> forwardTo() {
Q_D(QDeclarativeKeysAttached);
return QDeclarativeListProperty<QDeclarativeItem>(this, d->targets);
@@ -419,6 +466,7 @@ public:
Q_SIGNALS:
void enabledChanged();
+ void priorityChanged();
void pressed(QDeclarativeKeyEvent *event);
void released(QDeclarativeKeyEvent *event);
void digit0Pressed(QDeclarativeKeyEvent *event);
@@ -463,9 +511,9 @@ Q_SIGNALS:
void volumeDownPressed(QDeclarativeKeyEvent *event);
private:
- virtual void keyPressed(QKeyEvent *event);
- virtual void keyReleased(QKeyEvent *event);
- virtual void inputMethodEvent(QInputMethodEvent *);
+ virtual void keyPressed(QKeyEvent *event, bool post);
+ virtual void keyReleased(QKeyEvent *event, bool post);
+ virtual void inputMethodEvent(QInputMethodEvent *, bool post);
virtual QVariant inputMethodQuery(Qt::InputMethodQuery query) const;
const QByteArray keyToSignal(int key) {
diff --git a/src/declarative/graphicsitems/qdeclarativeitemsmodule.cpp b/src/declarative/graphicsitems/qdeclarativeitemsmodule.cpp
index 2945b6c3d0..b198077f7f 100644
--- a/src/declarative/graphicsitems/qdeclarativeitemsmodule.cpp
+++ b/src/declarative/graphicsitems/qdeclarativeitemsmodule.cpp
@@ -79,8 +79,24 @@
#endif
#include "private/qdeclarativeanchors_p.h"
+static QDeclarativePrivate::AutoParentResult qgraphicsobject_autoParent(QObject *obj, QObject *parent)
+{
+ QGraphicsObject* gobj = qobject_cast<QGraphicsObject*>(obj);
+ if (!gobj)
+ return QDeclarativePrivate::IncompatibleObject;
+
+ QGraphicsObject* gparent = qobject_cast<QGraphicsObject*>(parent);
+ if (!gparent)
+ return QDeclarativePrivate::IncompatibleParent;
+
+ gobj->setParentItem(gparent);
+ return QDeclarativePrivate::Parented;
+}
+
void QDeclarativeItemModule::defineModule()
{
+ QDeclarativePrivate::registerAutoParentFunction(qgraphicsobject_autoParent);
+
#ifdef QT_NO_MOVIE
qmlRegisterTypeNotAvailable("Qt",4,7,"AnimatedImage",
qApp->translate("QDeclarativeAnimatedImage","Qt was built without support for QMovie"));
@@ -112,9 +128,11 @@ void QDeclarativeItemModule::defineModule()
qmlRegisterType<QDeclarativePathPercent>("Qt",4,7,"PathPercent");
qmlRegisterType<QDeclarativePathQuad>("Qt",4,7,"PathQuad");
qmlRegisterType<QDeclarativePathView>("Qt",4,7,"PathView");
+#ifndef QT_NO_VALIDATOR
qmlRegisterType<QIntValidator>("Qt",4,7,"IntValidator");
qmlRegisterType<QDoubleValidator>("Qt",4,7,"DoubleValidator");
qmlRegisterType<QRegExpValidator>("Qt",4,7,"RegExpValidator");
+#endif
qmlRegisterType<QDeclarativeRectangle>("Qt",4,7,"Rectangle");
qmlRegisterType<QDeclarativeRepeater>("Qt",4,7,"Repeater");
qmlRegisterType<QGraphicsRotation>("Qt",4,7,"Rotation");
@@ -138,12 +156,18 @@ void QDeclarativeItemModule::defineModule()
qmlRegisterType<QDeclarativePathElement>();
qmlRegisterType<QDeclarativeCurve>();
qmlRegisterType<QDeclarativeScaleGrid>();
+#ifndef QT_NO_VALIDATOR
qmlRegisterType<QValidator>();
+#endif
qmlRegisterType<QDeclarativeVisualModel>();
+#ifndef QT_NO_ACTION
qmlRegisterType<QAction>();
+#endif
qmlRegisterType<QDeclarativePen>();
qmlRegisterType<QDeclarativeFlickableVisibleArea>();
+#ifndef QT_NO_GRAPHICSEFFECT
qmlRegisterType<QGraphicsEffect>();
+#endif
qmlRegisterUncreatableType<QDeclarativeKeyNavigationAttached>("Qt",4,7,"KeyNavigation",QDeclarativeKeyNavigationAttached::tr("KeyNavigation is only available via attached properties"));
qmlRegisterUncreatableType<QDeclarativeKeysAttached>("Qt",4,7,"Keys",QDeclarativeKeysAttached::tr("Keys is only available via attached properties"));
diff --git a/src/declarative/graphicsitems/qdeclarativelayoutitem.cpp b/src/declarative/graphicsitems/qdeclarativelayoutitem.cpp
index 1bbdd973c1..38d5f597a4 100644
--- a/src/declarative/graphicsitems/qdeclarativelayoutitem.cpp
+++ b/src/declarative/graphicsitems/qdeclarativelayoutitem.cpp
@@ -50,20 +50,24 @@ QT_BEGIN_NAMESPACE
/*!
\qmlclass LayoutItem QDeclarativeLayoutItem
\since 4.7
- \brief The LayoutItem element allows you to place your Fluid UI elements inside a classical Qt layout.
+ \brief The LayoutItem element allows declarative UI elements to be placed inside Qt's Graphics View layouts.
- LayoutItem is a variant of Item with a couple of additional properties. These properties provide the size hints
- needed for items to work in conjunction with Qt Layouts. The Qt Layout will resize the LayoutItem as appropriate,
+ LayoutItem is a variant of \l Item with additional size hint properties. These properties provide the size hints
+ necessary for items to work in conjunction with Qt \l{Graphics View Framework}{Graphics View} layout classes
+ such as QGraphicsLinearLayout and QGraphicsGridLayout. The Qt layout mechanisms will resize the LayoutItem as appropriate,
taking its size hints into account, and you can propagate this to the other elements in your UI via anchors and bindings.
- This is a QGraphicsLayoutItem subclass, and the properties merely expose the QGraphicsLayoutItem functionality to QML.
- See the QGraphicsLayoutItem documentation for further details.
+ This is a QGraphicsLayoutItem subclass, and its properties merely expose the QGraphicsLayoutItem functionality to QML.
+
+ The \l{declarative/cppextensions/qgraphicslayouts/layoutitem}{LayoutItem example}
+ demonstrates how a LayoutItem can be used within a \l{Graphics View Framework}{Graphics View}
+ scene.
*/
/*!
\internal
\class QDeclarativeLayoutItem
- \brief The QDeclarativeLayoutItem class allows you to place your Fluid UI elements inside a classical Qt layout.
+ \brief The QDeclarativeLayoutItem class allows you to place your QML UI elements inside Qt's Graphics View layouts.
*/
diff --git a/src/declarative/graphicsitems/qdeclarativelistview.cpp b/src/declarative/graphicsitems/qdeclarativelistview.cpp
index c88dab25cb..48ac4a4e39 100644
--- a/src/declarative/graphicsitems/qdeclarativelistview.cpp
+++ b/src/declarative/graphicsitems/qdeclarativelistview.cpp
@@ -48,6 +48,7 @@
#include <qdeclarativeexpression.h>
#include <qdeclarativeengine.h>
#include <qdeclarativeguard_p.h>
+#include <qdeclarativeinfo.h>
#include <qlistmodelinterface_p.h>
#include <qmath.h>
@@ -161,9 +162,9 @@ public:
, highlightResizeSpeed(400), highlightResizeDuration(-1), highlightRange(QDeclarativeListView::NoHighlightRange)
, snapMode(QDeclarativeListView::NoSnap), overshootDist(0.0)
, footerComponent(0), footer(0), headerComponent(0), header(0)
- , bufferMode(NoBuffer)
+ , bufferMode(BufferBefore | BufferAfter)
, ownModel(false), wrap(false), autoHighlight(true), haveHighlightRange(false)
- , correctFlick(true), inFlickCorrection(false), lazyRelease(false)
+ , correctFlick(false), inFlickCorrection(false), lazyRelease(false)
, deferredRelease(false), layoutScheduled(false), minExtentDirty(true), maxExtentDirty(true)
{}
@@ -426,6 +427,12 @@ public:
scheduleLayout();
}
}
+ if ((header && header->item == item) || (footer && footer->item == item)) {
+ updateHeader();
+ updateFooter();
+ }
+ if (currentItem && currentItem->item == item)
+ updateHighlight();
if (trackedItem && trackedItem->item == item)
q->trackedPositionChanged();
}
@@ -525,7 +532,7 @@ void QDeclarativeListViewPrivate::init()
q->setFlag(QGraphicsItem::ItemIsFocusScope);
addItemChangeListener(this, Geometry);
QObject::connect(q, SIGNAL(movementEnded()), q, SLOT(animStopped()));
- q->setFlickDirection(QDeclarativeFlickable::VerticalFlick);
+ q->setFlickableDirection(QDeclarativeFlickable::VerticalFlick);
::memset(sectionCache, 0, sizeof(QDeclarativeItem*) * sectionCacheSize);
}
@@ -573,9 +580,11 @@ FxListItem *QDeclarativeListViewPrivate::createItem(int modelIndex)
if (model->completePending()) {
// complete
listItem->item->setZValue(1);
+ listItem->item->setParentItem(q->viewport());
model->completeItem();
+ } else {
+ listItem->item->setParentItem(q->viewport());
}
- listItem->item->setParentItem(q->viewport());
QDeclarativeItemPrivate *itemPrivate = static_cast<QDeclarativeItemPrivate*>(QGraphicsItemPrivate::get(item));
itemPrivate->addItemChangeListener(this, QDeclarativeItemPrivate::Geometry);
if (sectionCriteria && sectionCriteria->delegate()) {
@@ -648,7 +657,7 @@ void QDeclarativeListViewPrivate::refill(qreal from, qreal to, bool doBuffer)
FxListItem *item = 0;
int pos = itemEnd + 1;
while (modelIndex < model->count() && pos <= fillTo) {
- //qDebug() << "refill: append item" << modelIndex << "pos" << pos;
+// qDebug() << "refill: append item" << modelIndex << "pos" << pos;
if (!(item = createItem(modelIndex)))
break;
item->setPosition(pos);
@@ -659,8 +668,8 @@ void QDeclarativeListViewPrivate::refill(qreal from, qreal to, bool doBuffer)
if (doBuffer) // never buffer more than one item per frame
break;
}
- while (visibleIndex > 0 && visibleIndex <= model->count() && visiblePos > fillFrom) {
- //qDebug() << "refill: prepend item" << visibleIndex-1 << "current top pos" << visiblePos;
+ while (visibleIndex > 0 && visibleIndex <= model->count() && visiblePos-1 >= fillFrom) {
+// qDebug() << "refill: prepend item" << visibleIndex-1 << "current top pos" << visiblePos;
if (!(item = createItem(visibleIndex-1)))
break;
--visibleIndex;
@@ -676,7 +685,7 @@ void QDeclarativeListViewPrivate::refill(qreal from, qreal to, bool doBuffer)
while (visibleItems.count() > 1 && (item = visibleItems.first()) && item->endPosition() < bufferFrom) {
if (item->attached->delayRemove())
break;
- //qDebug() << "refill: remove first" << visibleIndex << "top end pos" << item->endPosition();
+// qDebug() << "refill: remove first" << visibleIndex << "top end pos" << item->endPosition();
if (item->index != -1)
visibleIndex++;
visibleItems.removeFirst();
@@ -686,7 +695,7 @@ void QDeclarativeListViewPrivate::refill(qreal from, qreal to, bool doBuffer)
while (visibleItems.count() > 1 && (item = visibleItems.last()) && item->position() > bufferTo) {
if (item->attached->delayRemove())
break;
- //qDebug() << "refill: remove last" << visibleIndex+visibleItems.count()-1;
+// qDebug() << "refill: remove last" << visibleIndex+visibleItems.count()-1 << item->position();
visibleItems.removeLast();
releaseItem(item);
changed = true;
@@ -728,7 +737,7 @@ void QDeclarativeListViewPrivate::layout()
{
Q_Q(QDeclarativeListView);
layoutScheduled = false;
- if (!isValid()) {
+ if (!isValid() && !visibleItems.count()) {
clear();
setPosition(0);
return;
@@ -848,13 +857,15 @@ void QDeclarativeListViewPrivate::createHighlight()
highlightPosAnimator->target = QDeclarativeProperty(highlight->item, posProp);
highlightPosAnimator->velocity = highlightMoveSpeed;
highlightPosAnimator->userDuration = highlightMoveDuration;
- highlightPosAnimator->restart();
const QLatin1String sizeProp(orient == QDeclarativeListView::Vertical ? "height" : "width");
highlightSizeAnimator = new QSmoothedAnimation(q);
highlightSizeAnimator->velocity = highlightResizeSpeed;
highlightSizeAnimator->userDuration = highlightResizeDuration;
highlightSizeAnimator->target = QDeclarativeProperty(highlight->item, sizeProp);
- highlightSizeAnimator->restart();
+ if (autoHighlight) {
+ highlightPosAnimator->restart();
+ highlightSizeAnimator->restart();
+ }
changed = true;
}
}
@@ -866,7 +877,7 @@ void QDeclarativeListViewPrivate::updateHighlight()
{
if ((!currentItem && highlight) || (currentItem && !highlight))
createHighlight();
- if (currentItem && autoHighlight && highlight && !moving) {
+ if (currentItem && autoHighlight && highlight && !movingHorizontally && !movingVertically) {
// auto-update highlight
highlightPosAnimator->to = currentItem->position();
highlightSizeAnimator->to = currentItem->size();
@@ -1038,6 +1049,8 @@ void QDeclarativeListViewPrivate::updateFooter()
QDeclarative_setParent_noEvent(item, q->viewport());
item->setParentItem(q->viewport());
item->setZValue(1);
+ QDeclarativeItemPrivate *itemPrivate = static_cast<QDeclarativeItemPrivate*>(QGraphicsItemPrivate::get(item));
+ itemPrivate->addItemChangeListener(this, QDeclarativeItemPrivate::Geometry);
footer = new FxListItem(item, q);
}
}
@@ -1076,6 +1089,8 @@ void QDeclarativeListViewPrivate::updateHeader()
QDeclarative_setParent_noEvent(item, q->viewport());
item->setParentItem(q->viewport());
item->setZValue(1);
+ QDeclarativeItemPrivate *itemPrivate = static_cast<QDeclarativeItemPrivate*>(QGraphicsItemPrivate::get(item));
+ itemPrivate->addItemChangeListener(this, QDeclarativeItemPrivate::Geometry);
header = new FxListItem(item, q);
if (visibleItems.isEmpty())
visiblePos = header->size();
@@ -1098,7 +1113,9 @@ void QDeclarativeListViewPrivate::updateHeader()
void QDeclarativeListViewPrivate::fixupPosition()
{
- moveReason = Other;
+ if ((haveHighlightRange && highlightRange == QDeclarativeListView::StrictlyEnforceRange)
+ || snapMode != QDeclarativeListView::NoSnap)
+ moveReason = Other;
if (orient == QDeclarativeListView::Vertical)
fixupY();
else
@@ -1107,7 +1124,6 @@ void QDeclarativeListViewPrivate::fixupPosition()
void QDeclarativeListViewPrivate::fixup(AxisData &data, qreal minExtent, qreal maxExtent)
{
- Q_Q(QDeclarativeListView);
if ((orient == QDeclarativeListView::Horizontal && &data == &vData)
|| (orient == QDeclarativeListView::Vertical && &data == &hData))
return;
@@ -1115,7 +1131,41 @@ void QDeclarativeListViewPrivate::fixup(AxisData &data, qreal minExtent, qreal m
int oldDuration = fixupDuration;
fixupDuration = moveReason == Mouse ? fixupDuration : 0;
- if (haveHighlightRange && highlightRange == QDeclarativeListView::StrictlyEnforceRange) {
+ if (snapMode != QDeclarativeListView::NoSnap) {
+ FxListItem *topItem = snapItemAt(position()+highlightRangeStart);
+ FxListItem *bottomItem = snapItemAt(position()+highlightRangeEnd);
+ qreal pos;
+ if (topItem && bottomItem && haveHighlightRange && highlightRange == QDeclarativeListView::StrictlyEnforceRange) {
+ qreal topPos = qMin(topItem->position() - highlightRangeStart, -maxExtent);
+ qreal bottomPos = qMax(bottomItem->position() - highlightRangeEnd, -minExtent);
+ pos = qAbs(data.move + topPos) < qAbs(data.move + bottomPos) ? topPos : bottomPos;
+ } else if (topItem) {
+ pos = qMax(qMin(topItem->position() - highlightRangeStart, -maxExtent), -minExtent);
+ } else if (bottomItem) {
+ pos = qMax(qMin(bottomItem->position() - highlightRangeStart, -maxExtent), -minExtent);
+ } else {
+ fixupDuration = oldDuration;
+ return;
+ }
+ if (currentItem && haveHighlightRange && highlightRange == QDeclarativeListView::StrictlyEnforceRange) {
+ updateHighlight();
+ qreal currPos = currentItem->position();
+ if (pos < currPos + currentItem->size() - highlightRangeEnd)
+ pos = currPos + currentItem->size() - highlightRangeEnd;
+ if (pos > currPos - highlightRangeStart)
+ pos = currPos - highlightRangeStart;
+ }
+
+ qreal dist = qAbs(data.move + pos);
+ if (dist > 0) {
+ timeline.reset(data.move);
+ if (fixupDuration)
+ timeline.move(data.move, -pos, QEasingCurve(QEasingCurve::InOutQuad), fixupDuration/2);
+ else
+ timeline.set(data.move, -pos);
+ vTime = timeline.time();
+ }
+ } else if (haveHighlightRange && highlightRange == QDeclarativeListView::StrictlyEnforceRange) {
if (currentItem) {
updateHighlight();
qreal pos = currentItem->position();
@@ -1127,30 +1177,13 @@ void QDeclarativeListViewPrivate::fixup(AxisData &data, qreal minExtent, qreal m
timeline.reset(data.move);
if (viewPos != position()) {
- if (fixupDuration) {
+ if (fixupDuration)
timeline.move(data.move, -viewPos, QEasingCurve(QEasingCurve::InOutQuad), fixupDuration/2);
- } else {
- data.move.setValue(-viewPos);
- q->viewportMoved();
- }
+ else
+ timeline.set(data.move, -viewPos);
}
vTime = timeline.time();
}
- } else if (snapMode != QDeclarativeListView::NoSnap) {
- if (FxListItem *item = snapItemAt(position())) {
- qreal pos = qMin(item->position() - highlightRangeStart, -maxExtent);
- qreal dist = qAbs(data.move + pos);
- if (dist > 0) {
- timeline.reset(data.move);
- if (fixupDuration) {
- timeline.move(data.move, -pos, QEasingCurve(QEasingCurve::InOutQuad), fixupDuration/2);
- } else {
- data.move.setValue(-pos);
- q->viewportMoved();
- }
- vTime = timeline.time();
- }
- }
} else {
QDeclarativeFlickablePrivate::fixup(data, minExtent, maxExtent);
}
@@ -1164,6 +1197,7 @@ void QDeclarativeListViewPrivate::flick(AxisData &data, qreal minExtent, qreal m
moveReason = Mouse;
if ((!haveHighlightRange || highlightRange != QDeclarativeListView::StrictlyEnforceRange) && snapMode == QDeclarativeListView::NoSnap) {
+ correctFlick = true;
QDeclarativeFlickablePrivate::flick(data, minExtent, maxExtent, vSize, fixupCallback, velocity);
return;
}
@@ -1205,7 +1239,7 @@ void QDeclarativeListViewPrivate::flick(AxisData &data, qreal minExtent, qreal m
else
v = maxVelocity;
}
- if (!flicked) {
+ if (!flickingHorizontally && !flickingVertically) {
// the initial flick - estimate boundary
qreal accel = deceleration;
qreal v2 = v * v;
@@ -1230,10 +1264,13 @@ void QDeclarativeListViewPrivate::flick(AxisData &data, qreal minExtent, qreal m
qreal adjDist = -data.flickTarget + data.move.value();
if (qAbs(adjDist) > qAbs(dist)) {
// Prevent painfully slow flicking - adjust velocity to suit flickDeceleration
- v2 = accel * 2.0f * qAbs(dist);
- v = qSqrt(v2);
- if (dist > 0)
- v = -v;
+ qreal adjv2 = accel * 2.0f * qAbs(adjDist);
+ if (adjv2 > v2) {
+ v2 = adjv2;
+ v = qSqrt(v2);
+ if (dist > 0)
+ v = -v;
+ }
}
dist = adjDist;
accel = v2 / (2.0f * qAbs(dist));
@@ -1250,9 +1287,18 @@ void QDeclarativeListViewPrivate::flick(AxisData &data, qreal minExtent, qreal m
timeline.reset(data.move);
timeline.accel(data.move, v, accel, maxDistance + overshootDist);
timeline.callback(QDeclarativeTimeLineCallback(&data.move, fixupCallback, this));
- flicked = true;
- emit q->flickingChanged();
- emit q->flickStarted();
+ if (!flickingHorizontally && q->xflick()) {
+ flickingHorizontally = true;
+ emit q->flickingChanged();
+ emit q->flickingHorizontallyChanged();
+ emit q->flickStarted();
+ }
+ if (!flickingVertically && q->yflick()) {
+ flickingVertically = true;
+ emit q->flickingChanged();
+ emit q->flickingVerticallyChanged();
+ emit q->flickStarted();
+ }
correctFlick = true;
} else {
// reevaluate the target boundary.
@@ -1292,28 +1338,48 @@ void QDeclarativeListViewPrivate::flick(AxisData &data, qreal minExtent, qreal m
\inherits Flickable
\brief The ListView item provides a list view of items provided by a model.
- The model is typically provided by a QAbstractListModel "C++ model object",
- but can also be created directly in QML. The items are laid out vertically
- or horizontally and may be flicked to scroll.
+ A ListView displays data from models created from built-in QML elements like ListModel
+ and XmlListModel, or custom model classes defined in C++ that inherit from
+ QAbstractListModel.
+
+ A ListView has a \l model, which defines the data to be displayed, and
+ a \l delegate, which defines how the data should be displayed. Items in a
+ ListView are laid out horizontally or vertically. List views are inherently flickable
+ as ListView inherits from \l Flickable.
+
+ For example, if there is a simple list model defined in a file \c ContactModel.qml like this:
+
+ \snippet doc/src/snippets/declarative/listview/ContactModel.qml 0
- The below example creates a very simple vertical list, using a QML model.
- \image trivialListView.png
+ Another component can display this model data in a ListView, like this:
- The user interface defines a delegate to display an item, a highlight,
- and the ListView which uses the above.
+ \snippet doc/src/snippets/declarative/listview/listview.qml import
+ \codeline
+ \snippet doc/src/snippets/declarative/listview/listview.qml classdocs simple
- \snippet doc/src/snippets/declarative/listview/listview.qml 3
+ \image listview-simple.png
- The model is defined as a ListModel using QML:
- \quotefile doc/src/snippets/declarative/listview/dummydata/ContactModel.qml
+ Here, the ListView creates a \c ContactModel component for its model, and a \l Text element
+ for its delegate. The view will create a new \l Text component for each item in the model. Notice
+ the delegate is able to access the model's \c name and \c number data directly.
- In this case ListModel is a handy way for us to test our UI. In practice
- the model would be implemented in C++, or perhaps via a SQL data source.
+ An improved list view is shown below. The delegate is visually improved and is moved
+ into a separate \c contactDelegate component. Also, the currently selected item is highlighted
+ with a blue \l Rectangle using the \l highlight property, and \c focus is set to \c true
+ to enable keyboard navigation for the list view.
+
+ \snippet doc/src/snippets/declarative/listview/listview.qml classdocs advanced
+ \image listview-highlight.png
- \bold Note that views do not enable \e clip automatically. If the view
+ In a GridView, delegates are instantiated as needed and may be destroyed at any time.
+ State should \e never be stored in a delegate.
+
+ \note Views do not enable \e clip automatically. If the view
is not clipped by another item or the screen, it will be necessary
to set \e {clip: true} in order to have the out of view items clipped
nicely.
+
+ \sa ListModel, GridView
*/
QDeclarativeListView::QDeclarativeListView(QDeclarativeItem *parent)
@@ -1341,7 +1407,7 @@ QDeclarativeListView::~QDeclarativeListView()
This property may be used to adjust the appearance of the current item, for example:
- \snippet doc/src/snippets/declarative/listview/highlight.qml 0
+ \snippet doc/src/snippets/declarative/listview/listview.qml isCurrentItem
*/
/*!
@@ -1378,22 +1444,10 @@ QDeclarativeListView::~QDeclarativeListView()
It is sometimes necessary to delay the destruction of an item
until an animation completes.
- The example below ensures that the animation completes before
+ The example delegate below ensures that the animation completes before
the item is removed from the list.
- \code
- Component {
- id: myDelegate
- Item {
- id: wrapper
- ListView.onRemove: SequentialAnimation {
- PropertyAction { target: wrapper; property: "ListView.delayRemove"; value: true }
- NumberAnimation { target: wrapper; property: "scale"; to: 0; duration: 250; easing.type: "InOutQuad" }
- PropertyAction { target: wrapper; property: "ListView.delayRemove"; value: false }
- }
- }
- }
- \endcode
+ \snippet doc/src/snippets/declarative/listview/listview.qml delayRemove
*/
/*!
@@ -1410,13 +1464,10 @@ QDeclarativeListView::~QDeclarativeListView()
\qmlproperty model ListView::model
This property holds the model providing data for the list.
- The model provides a set of data that is used to create the items
- for the view. For large or dynamic datasets the model is usually
- provided by a C++ model object. The C++ model object must be a \l
- {QAbstractItemModel} subclass or a simple list.
-
- Models can also be created directly in QML, using a \l{ListModel},
- \l{XmlListModel} or \l{VisualItemModel}.
+ The model provides the set of data that is used to create the items
+ in the view. Models can be created directly in QML using \l ListModel, \l XmlListModel
+ or \l VisualItemModel, or provided by C++ model classes. If a C++ model class is
+ used, it must be a subclass of \l QAbstractItemModel or a simple list.
\sa {qmlmodels}{Data Models}
*/
@@ -1440,25 +1491,30 @@ void QDeclarativeListView::setModel(const QVariant &model)
disconnect(d->model, SIGNAL(destroyingItem(QDeclarativeItem*)), this, SLOT(destroyingItem(QDeclarativeItem*)));
}
d->clear();
+ QDeclarativeVisualModel *oldModel = d->model;
+ d->model = 0;
d->setPosition(0);
d->modelVariant = model;
QObject *object = qvariant_cast<QObject*>(model);
QDeclarativeVisualModel *vim = 0;
if (object && (vim = qobject_cast<QDeclarativeVisualModel *>(object))) {
if (d->ownModel) {
- delete d->model;
+ delete oldModel;
d->ownModel = false;
}
d->model = vim;
} else {
if (!d->ownModel) {
- d->model = new QDeclarativeVisualDataModel(qmlContext(this));
+ d->model = new QDeclarativeVisualDataModel(qmlContext(this), this);
d->ownModel = true;
+ } else {
+ d->model = oldModel;
}
if (QDeclarativeVisualDataModel *dataModel = qobject_cast<QDeclarativeVisualDataModel*>(d->model))
dataModel->setModel(model);
}
if (d->model) {
+ d->bufferMode = QDeclarativeListViewPrivate::BufferBefore | QDeclarativeListViewPrivate::BufferAfter;
if (isComponentComplete()) {
refill();
if (d->currentIndex >= d->model->count() || d->currentIndex < 0) {
@@ -1480,17 +1536,22 @@ void QDeclarativeListView::setModel(const QVariant &model)
}
/*!
- \qmlproperty component ListView::delegate
+ \qmlproperty Component ListView::delegate
The delegate provides a template defining each item instantiated by the view.
The index is exposed as an accessible \c index property. Properties of the
model are also available depending upon the type of \l {qmlmodels}{Data Model}.
- Note that the ListView will layout the items based on the size of the root item
+ The number of elements in the delegate has a direct effect on the
+ flicking performance of the view. If at all possible, place functionality
+ that is not needed for the normal display of the delegate in a \l Loader which
+ can load additional elements when needed.
+
+ Tthe ListView will lay out the items based on the size of the root item
in the delegate.
- Here is an example delegate:
- \snippet doc/src/snippets/declarative/listview/listview.qml 0
+ \note Delegates are instantiated as needed and may be destroyed at any time.
+ State should \e never be stored in a delegate.
*/
QDeclarativeComponent *QDeclarativeListView::delegate() const
{
@@ -1566,10 +1627,9 @@ QDeclarativeItem *QDeclarativeListView::currentItem()
/*!
\qmlproperty Item ListView::highlightItem
- \c highlightItem holds the highlight item, which was created
- from the \l highlight component.
+ This holds the highlight item created from the \l highlight component.
- The highlightItem is managed by the view unless
+ The \c highlightItem is managed by the view unless
\l highlightFollowsCurrentItem is set to false.
\sa highlight, highlightFollowsCurrentItem
@@ -1595,20 +1655,14 @@ int QDeclarativeListView::count() const
}
/*!
- \qmlproperty component ListView::highlight
+ \qmlproperty Component ListView::highlight
This property holds the component to use as the highlight.
- An instance of the highlight component will be created for each list.
- The geometry of the resultant component instance will be managed by the list
+ An instance of the highlight component is created for each list.
+ The geometry of the resulting component instance is managed by the list
so as to stay with the current item, unless the highlightFollowsCurrentItem
property is false.
- The below example demonstrates how to make a simple highlight
- for a vertical list.
-
- \snippet doc/src/snippets/declarative/listview/listview.qml 1
- \image trivialListView.png
-
\sa highlightItem, highlightFollowsCurrentItem
*/
QDeclarativeComponent *QDeclarativeListView::highlight() const
@@ -1633,13 +1687,14 @@ void QDeclarativeListView::setHighlight(QDeclarativeComponent *highlight)
\qmlproperty bool ListView::highlightFollowsCurrentItem
This property holds whether the highlight is managed by the view.
- If highlightFollowsCurrentItem is true, the highlight will be moved smoothly
- to follow the current item. If highlightFollowsCurrentItem is false, the
- highlight will not be moved by the view, and must be implemented
- by the highlight. The following example creates a highlight with
- its motion defined by the spring \l {SpringFollow}:
+ If this property is true, the highlight is moved smoothly
+ to follow the current item. Otherwise, the
+ highlight is not moved by the view, and any movement must be implemented
+ by the highlight.
+
+ Here is a highlight with its motion defined by a \l {SpringFollow} item:
- \snippet doc/src/snippets/declarative/listview/highlight.qml 1
+ \snippet doc/src/snippets/declarative/listview/listview.qml highlightFollowsCurrentItem
Note that the highlight animation also affects the way that the view
is scrolled. This is because the view moves to maintain the
@@ -1658,7 +1713,14 @@ void QDeclarativeListView::setHighlightFollowsCurrentItem(bool autoHighlight)
Q_D(QDeclarativeListView);
if (d->autoHighlight != autoHighlight) {
d->autoHighlight = autoHighlight;
- d->updateHighlight();
+ if (autoHighlight) {
+ d->updateHighlight();
+ } else {
+ if (d->highlightPosAnimator)
+ d->highlightPosAnimator->stop();
+ if (d->highlightSizeAnimator)
+ d->highlightSizeAnimator->stop();
+ }
emit highlightFollowsCurrentItemChanged();
}
}
@@ -1669,32 +1731,30 @@ void QDeclarativeListView::setHighlightFollowsCurrentItem(bool autoHighlight)
\qmlproperty real ListView::preferredHighlightEnd
\qmlproperty enumeration ListView::highlightRangeMode
- These properties set the preferred range of the highlight (current item)
- within the view.
+ These properties define the preferred range of the highlight (for the current item)
+ within the view. The \c preferredHighlightBegin value must be less than the
+ \c preferredHighlightEnd value.
- Note that this is the correct way to influence where the
- current item ends up when the list scrolls. For example, if you want the
- currently selected item to be in the middle of the list, then set the
- highlight range to be where the middle item would go. Then, when the list scrolls,
- the currently selected item will be the item at that spot. This also applies to
- when the currently selected item changes - it will scroll to within the preferred
- highlight range. Furthermore, the behaviour of the current item index will occur
- whether or not a highlight exists.
+ These properties affect the position of the current item when the list is scrolled.
+ For example, if the currently selected item should stay in the middle of the
+ list when the view is scrolled, set the \c preferredHighlightBegin and
+ \c preferredHighlightEnd values to the top and bottom coordinates of where the middle
+ item would be. If the \c currentItem is changed programmatically, the list will
+ automatically scroll so that the current item is in the middle of the view.
+ Furthermore, the behavior of the current item index will occur whether or not a
+ highlight exists.
- If highlightRangeMode is set to \e ApplyRange the view will
- attempt to maintain the highlight within the range, however
- the highlight can move outside of the range at the ends of the list
- or due to a mouse interaction.
+ Valid values for \c highlightRangeMode are:
- If highlightRangeMode is set to \e StrictlyEnforceRange the highlight will never
- move outside of the range. This means that the current item will change
- if a keyboard or mouse action would cause the highlight to move
- outside of the range.
-
- The default value is \e NoHighlightRange.
-
- Note that a valid range requires preferredHighlightEnd to be greater
- than or equal to preferredHighlightBegin.
+ \list
+ \o ListView.ApplyRange - the view attempts to maintain the highlight within the range.
+ However, the highlight can move outside of the range at the ends of the list or due
+ to mouse interaction.
+ \o ListView.StrictlyEnforceRange - the highlight never moves outside of the range.
+ The current item changes if a keyboard or mouse action would cause the highlight to move
+ outside of the range.
+ \o ListView.NoHighlightRange - this is the default value.
+ \endlist
*/
qreal QDeclarativeListView::preferredHighlightBegin() const
{
@@ -1747,7 +1807,7 @@ void QDeclarativeListView::setHighlightRangeMode(HighlightRangeMode mode)
/*!
\qmlproperty real ListView::spacing
- This property holds the spacing to leave between items.
+ This property holds the spacing between items.
*/
qreal QDeclarativeListView::spacing() const
{
@@ -1769,12 +1829,22 @@ void QDeclarativeListView::setSpacing(qreal spacing)
\qmlproperty enumeration ListView::orientation
This property holds the orientation of the list.
- Possible values are \c Vertical (default) and \c Horizontal.
+ Possible values:
+
+ \list
+ \o ListView.Horizontal - Items are laid out horizontally
+ \o ListView.Vertical (default) - Items are laid out vertically
+ \endlist
- Vertical Example:
- \image trivialListView.png
- Horizontal Example:
+ \table
+ \row
+ \o Horizontal orientation:
\image ListViewHorizontal.png
+
+ \row
+ \o Vertical orientation:
+ \image listview-highlight.png
+ \endtable
*/
QDeclarativeListView::Orientation QDeclarativeListView::orientation() const
{
@@ -1789,10 +1859,10 @@ void QDeclarativeListView::setOrientation(QDeclarativeListView::Orientation orie
d->orient = orientation;
if (d->orient == QDeclarativeListView::Vertical) {
setContentWidth(-1);
- setFlickDirection(VerticalFlick);
+ setFlickableDirection(VerticalFlick);
} else {
setContentHeight(-1);
- setFlickDirection(HorizontalFlick);
+ setFlickableDirection(HorizontalFlick);
}
d->clear();
d->setPosition(0);
@@ -1804,10 +1874,11 @@ void QDeclarativeListView::setOrientation(QDeclarativeListView::Orientation orie
/*!
\qmlproperty bool ListView::keyNavigationWraps
- This property holds whether the list wraps key navigation
+ This property holds whether the list wraps key navigation.
- If this property is true then key presses to move off of one end of the list will cause the
- current item to jump to the other end.
+ If this is true, key navigation that would move the current item selection
+ past the end of the list instead wraps around and moves the selection to
+ the start of the list, and vice-versa.
*/
bool QDeclarativeListView::isWrapEnabled() const
{
@@ -1826,11 +1897,22 @@ void QDeclarativeListView::setWrapEnabled(bool wrap)
/*!
\qmlproperty int ListView::cacheBuffer
- This property holds the number of off-screen pixels to cache.
-
- This property determines the number of pixels above the top of the list
- and below the bottom of the list to cache. Setting this value can make
- scrolling the list smoother at the expense of additional memory usage.
+ This property determines whether delegates are retained outside the
+ visible area of the view.
+
+ If this value is non-zero, the view keeps as many delegates
+ instantiated as it can fit within the buffer specified. For example,
+ if in a vertical view the delegate is 20 pixels high and \c cacheBuffer is
+ set to 40, then up to 2 delegates above and 2 delegates below the visible
+ area may be retained.
+
+ Note that cacheBuffer is not a pixel buffer - it only maintains additional
+ instantiated delegates.
+
+ Setting this value can improve the smoothness of scrolling behavior at the expense
+ of additional memory usage. It is not a substitute for creating efficient
+ delegates; the fewer elements in a delegate, the faster a view can be
+ scrolled.
*/
int QDeclarativeListView::cacheBuffer() const
{
@@ -1854,25 +1936,30 @@ void QDeclarativeListView::setCacheBuffer(int b)
/*!
\qmlproperty string ListView::section.property
\qmlproperty enumeration ListView::section.criteria
- These properties hold the expression to be evaluated for the section attached property.
+ \qmlproperty Component ListView::section.delegate
+
+ These properties hold the expression to be evaluated for the \l section attached property.
- section.property hold the name of the property to use to determine
- the section the item is in.
+ \c section.property hold the name of the property to use to determine
+ the section that holds the item.
- section.criteria holds the criteria to use to get the section. It
+ \c section.criteria holds the criteria to use to access the section. It
can be either:
+
\list
\o ViewSection.FullString (default) - section is the value of the property.
\o ViewSection.FirstCharacter - section is the first character of the property value.
\endlist
+ \c section.delegate holds the delegate component for each section.
+
Each item in the list has attached properties named \c ListView.section and
\c ListView.prevSection. These may be used to place a section header for
related items. The example below assumes that the model is sorted by size of
pet. The section expression is the size property. If \c ListView.section and
\c ListView.prevSection differ, the item will display a section header.
- \snippet examples/declarative/listview/sections.qml 0
+ \snippet examples/declarative/modelviews/listview/sections.qml 0
\image ListViewSections.png
*/
@@ -1899,9 +1986,10 @@ QString QDeclarativeListView::currentSection() const
\qmlproperty int ListView::highlightMoveDuration
\qmlproperty real ListView::highlightResizeSpeed
\qmlproperty int ListView::highlightResizeDuration
+
These properties hold the move and resize animation speed of the highlight delegate.
- highlightFollowsCurrentItem must be true for these properties
+ \l highlightFollowsCurrentItem must be true for these properties
to have effect.
The default value for the speed properties is 400 pixels/second.
@@ -1983,21 +2071,21 @@ void QDeclarativeListView::setHighlightResizeDuration(int duration)
/*!
\qmlproperty enumeration ListView::snapMode
- This property determines where the view will settle following a drag or flick.
- The allowed values are:
+ This property determines how the view scrolling will settle following a drag or flick.
+ The possible values are:
\list
- \o NoSnap (default) - the view will stop anywhere within the visible area.
- \o SnapToItem - the view will settle with an item aligned with the start of
+ \o ListView.NoSnap (default) - the view stops anywhere within the visible area.
+ \o ListView.SnapToItem - the view settles with an item aligned with the start of
the view.
- \o SnapOneItem - the view will settle no more than one item away from the first
+ \o ListView.SnapOneItem - the view settles no more than one item away from the first
visible item at the time the mouse button is released. This mode is particularly
useful for moving one page at a time.
\endlist
- snapMode does not affect the currentIndex. To update the
- currentIndex as the list is moved set \e highlightRangeMode
- to \e StrictlyEnforceRange.
+ \c snapMode does not affect the \l currentIndex. To update the
+ \l currentIndex as the list is moved, set \l highlightRangeMode
+ to \c ListView.StrictlyEnforceRange.
\sa highlightRangeMode
*/
@@ -2016,6 +2104,15 @@ void QDeclarativeListView::setSnapMode(SnapMode mode)
}
}
+/*!
+ \qmlproperty Component ListView::footer
+ This property holds the component to use as the footer.
+
+ An instance of the footer component is created for each view. The
+ footer is positioned at the end of the view, after any items.
+
+ \sa header
+*/
QDeclarativeComponent *QDeclarativeListView::footer() const
{
Q_D(const QDeclarativeListView);
@@ -2039,6 +2136,15 @@ void QDeclarativeListView::setFooter(QDeclarativeComponent *footer)
}
}
+/*!
+ \qmlproperty Component ListView::header
+ This property holds the component to use as the header.
+
+ An instance of the header component is created for each view. The
+ header is positioned at the beginning of the view, before any items.
+
+ \sa footer
+*/
QDeclarativeComponent *QDeclarativeListView::header() const
{
Q_D(const QDeclarativeListView);
@@ -2080,7 +2186,7 @@ void QDeclarativeListView::viewportMoved()
QDeclarativeFlickable::viewportMoved();
d->lazyRelease = true;
refill();
- if (isFlicking() || d->moving)
+ if (d->flickingHorizontally || d->flickingVertically || d->movingHorizontally || d->movingVertically)
d->moveReason = QDeclarativeListViewPrivate::Mouse;
if (d->moveReason != QDeclarativeListViewPrivate::SetIndex) {
if (d->haveHighlightRange && d->highlightRange == StrictlyEnforceRange && d->highlight) {
@@ -2100,7 +2206,7 @@ void QDeclarativeListView::viewportMoved()
}
}
- if (d->flicked && d->correctFlick && !d->inFlickCorrection) {
+ if ((d->flickingHorizontally || d->flickingVertically) && d->correctFlick && !d->inFlickCorrection) {
d->inFlickCorrection = true;
// Near an end and it seems that the extent has changed?
// Recalculate the flick so that we don't end up in an odd position.
@@ -2164,7 +2270,9 @@ qreal QDeclarativeListView::maxYExtent() const
if (d->orient == QDeclarativeListView::Horizontal)
return height();
if (d->maxExtentDirty) {
- if (d->haveHighlightRange && d->highlightRange == StrictlyEnforceRange) {
+ if (!d->model || !d->model->count()) {
+ d->maxExtent = 0;
+ } else if (d->haveHighlightRange && d->highlightRange == StrictlyEnforceRange) {
d->maxExtent = -(d->positionAt(d->model->count()-1) - d->highlightRangeStart);
if (d->highlightRangeEnd != d->highlightRangeStart)
d->maxExtent = qMin(d->maxExtent, -(d->endPosition() - d->highlightRangeEnd + 1));
@@ -2206,7 +2314,9 @@ qreal QDeclarativeListView::maxXExtent() const
if (d->orient == QDeclarativeListView::Vertical)
return width();
if (d->maxExtentDirty) {
- if (d->haveHighlightRange && d->highlightRange == StrictlyEnforceRange) {
+ if (!d->model || !d->model->count()) {
+ d->maxExtent = 0;
+ } else if (d->haveHighlightRange && d->highlightRange == StrictlyEnforceRange) {
d->maxExtent = -(d->positionAt(d->model->count()-1) - d->highlightRangeStart);
if (d->highlightRangeEnd != d->highlightRangeStart)
d->maxExtent = qMin(d->maxExtent, -(d->endPosition() - d->highlightRangeEnd + 1));
@@ -2227,6 +2337,9 @@ qreal QDeclarativeListView::maxXExtent() const
void QDeclarativeListView::keyPressEvent(QKeyEvent *event)
{
Q_D(QDeclarativeListView);
+ keyPressPreHandler(event);
+ if (event->isAccepted())
+ return;
if (d->model && d->model->count() && d->interactive) {
if ((d->orient == QDeclarativeListView::Horizontal && event->key() == Qt::Key_Left)
@@ -2251,10 +2364,8 @@ void QDeclarativeListView::keyPressEvent(QKeyEvent *event)
}
}
}
- QDeclarativeFlickable::keyPressEvent(event);
- if (event->isAccepted())
- return;
event->ignore();
+ QDeclarativeFlickable::keyPressEvent(event);
}
/*!
@@ -2298,23 +2409,23 @@ void QDeclarativeListView::decrementCurrentIndex()
\a mode:
\list
- \o Beginning - position item at the top (or left for horizontal orientation) of the view.
- \o Center- position item in the center of the view.
- \o End - position item at bottom (or right for horizontal orientation) of the view.
- \o Visible - if any part of the item is visible then take no action, otherwise
+ \o ListView.Beginning - position item at the top (or left for horizontal orientation) of the view.
+ \o ListView.Center - position item in the center of the view.
+ \o ListView.End - position item at bottom (or right for horizontal orientation) of the view.
+ \o ListView.Visible - if any part of the item is visible then take no action, otherwise
bring the item into view.
- \o Contain - ensure the entire item is visible. If the item is larger than
+ \o ListView.Contain - ensure the entire item is visible. If the item is larger than
the view the item is positioned at the top (or left for horizontal orientation) of the view.
\endlist
- If positioning the view at the index would cause empty space to be displayed at
+ If positioning the view at \a index would cause empty space to be displayed at
the beginning or end of the view, the view will be positioned at the boundary.
- It is not recommended to use contentX or contentY to position the view
+ It is not recommended to use \l {Flickable::}{contentX} or \l {Flickable::}{contentY} to position the view
at a particular index. This is unreliable since removing items from the start
of the list does not cause all other items to be repositioned, and because
the actual start of the view can vary based on the size of the delegates.
- The correct way to bring an item into view is with positionViewAtIndex.
+ The correct way to bring an item into view is with \c positionViewAtIndex.
*/
void QDeclarativeListView::positionViewAtIndex(int index, int mode)
{
@@ -2420,7 +2531,8 @@ void QDeclarativeListView::trackedPositionChanged()
Q_D(QDeclarativeListView);
if (!d->trackedItem || !d->currentItem)
return;
- if (!isFlicking() && !d->moving && d->moveReason == QDeclarativeListViewPrivate::SetIndex) {
+ if (!d->flickingHorizontally && !d->flickingVertically && !d->movingHorizontally && !d->movingVertically
+ && d->moveReason == QDeclarativeListViewPrivate::SetIndex) {
const qreal trackedPos = qCeil(d->trackedItem->position());
const qreal viewPos = d->position();
if (d->haveHighlightRange) {
diff --git a/src/declarative/graphicsitems/qdeclarativelistview_p.h b/src/declarative/graphicsitems/qdeclarativelistview_p.h
index 9c0b7dd43f..d6e80237cd 100644
--- a/src/declarative/graphicsitems/qdeclarativelistview_p.h
+++ b/src/declarative/graphicsitems/qdeclarativelistview_p.h
@@ -124,6 +124,7 @@ class Q_DECLARATIVE_EXPORT QDeclarativeListView : public QDeclarativeFlickable
Q_ENUMS(HighlightRangeMode)
Q_ENUMS(Orientation)
Q_ENUMS(SnapMode)
+ Q_ENUMS(PositionMode)
Q_CLASSINFO("DefaultProperty", "data")
public:
@@ -200,7 +201,6 @@ public:
static QDeclarativeListViewAttached *qmlAttachedProperties(QObject *);
enum PositionMode { Beginning, Center, End, Visible, Contain };
- Q_ENUMS(PositionMode);
Q_INVOKABLE void positionViewAtIndex(int index, int mode);
Q_INVOKABLE int indexAt(int x, int y) const;
diff --git a/src/declarative/graphicsitems/qdeclarativeloader.cpp b/src/declarative/graphicsitems/qdeclarativeloader.cpp
index bdd2c877db..25b11195dc 100644
--- a/src/declarative/graphicsitems/qdeclarativeloader.cpp
+++ b/src/declarative/graphicsitems/qdeclarativeloader.cpp
@@ -49,7 +49,6 @@ QT_BEGIN_NAMESPACE
QDeclarativeLoaderPrivate::QDeclarativeLoaderPrivate()
: item(0), component(0), ownComponent(false)
- , resizeMode(QDeclarativeLoader::SizeLoaderToItem)
{
}
@@ -59,9 +58,8 @@ QDeclarativeLoaderPrivate::~QDeclarativeLoaderPrivate()
void QDeclarativeLoaderPrivate::itemGeometryChanged(QDeclarativeItem *resizeItem, const QRectF &newGeometry, const QRectF &oldGeometry)
{
- if (resizeItem == item && resizeMode == QDeclarativeLoader::SizeLoaderToItem) {
- _q_updateSize();
- }
+ if (resizeItem == item)
+ _q_updateSize(false);
QDeclarativeItemChangeListener::itemGeometryChanged(resizeItem, newGeometry, oldGeometry);
}
@@ -76,17 +74,19 @@ void QDeclarativeLoaderPrivate::clear()
if (item) {
if (QDeclarativeItem *qmlItem = qobject_cast<QDeclarativeItem*>(item)) {
- if (resizeMode == QDeclarativeLoader::SizeLoaderToItem) {
- QDeclarativeItemPrivate *p =
+ QDeclarativeItemPrivate *p =
static_cast<QDeclarativeItemPrivate *>(QGraphicsItemPrivate::get(qmlItem));
- p->removeItemChangeListener(this, QDeclarativeItemPrivate::Geometry);
- }
+ p->removeItemChangeListener(this, QDeclarativeItemPrivate::Geometry);
}
// We can't delete immediately because our item may have triggered
// the Loader to load a different item.
- item->setVisible(false);
- item->setParentItem(0);
+ if (item->scene()) {
+ item->scene()->removeItem(item);
+ } else {
+ item->setParentItem(0);
+ item->setVisible(false);
+ }
item->deleteLater();
item = 0;
}
@@ -96,16 +96,12 @@ void QDeclarativeLoaderPrivate::initResize()
{
Q_Q(QDeclarativeLoader);
if (QDeclarativeItem *qmlItem = qobject_cast<QDeclarativeItem*>(item)) {
- if (resizeMode == QDeclarativeLoader::SizeLoaderToItem) {
- QDeclarativeItemPrivate *p =
+ QDeclarativeItemPrivate *p =
static_cast<QDeclarativeItemPrivate *>(QGraphicsItemPrivate::get(qmlItem));
- p->addItemChangeListener(this, QDeclarativeItemPrivate::Geometry);
- }
+ p->addItemChangeListener(this, QDeclarativeItemPrivate::Geometry);
} else if (item && item->isWidget()) {
QGraphicsWidget *widget = static_cast<QGraphicsWidget*>(item);
- if (resizeMode == QDeclarativeLoader::SizeLoaderToItem) {
- widget->installEventFilter(q);
- }
+ widget->installEventFilter(q);
}
_q_updateSize();
}
@@ -116,30 +112,48 @@ void QDeclarativeLoaderPrivate::initResize()
\inherits Item
\brief The Loader item allows dynamically loading an Item-based
- subtree from a QML URL or Component.
+ subtree from a URL or Component.
+
+ The Loader element instantiates an item from a component. The component to
+ be instantiated may be specified directly by the \l sourceComponent
+ property, or loaded from a URL via the \l source property.
- Loader instantiates an item from a component. The component to
- instantiate may be specified directly by the \c sourceComponent
- property, or loaded from a URL via the \c source property.
+ Loader can be used to delay the creation of a component until it is required.
+ For example, this loads "Page1.qml" as a component into the \l Loader element
+ when the \l MouseArea is clicked:
- It is also an effective means of delaying the creation of a component
- until it is required:
\code
- Loader { id: pageLoader }
- Rectangle {
- MouseArea { anchors.fill: parent; onClicked: pageLoader.source = "Page1.qml" }
+ import Qt 4.7
+
+ Item {
+ width: 200; height: 200
+
+ MouseArea {
+ anchors.fill: parent
+ onClicked: pageLoader.source = "Page1.qml"
+ }
+
+ Loader { id: pageLoader }
}
\endcode
+ Note that Loader is like any other graphical Item and needs to be positioned
+ and sized accordingly to become visible. When a component is loaded, the
+ Loader is automatically resized to the size of the component.
+
If the Loader source is changed, any previous items instantiated
- will be destroyed. Setting \c source to an empty string, or setting
+ will be destroyed. Setting \l source to an empty string, or setting
sourceComponent to \e undefined
will destroy the currently instantiated items, freeing resources
and leaving the Loader empty. For example:
\code
pageLoader.source = ""
+ \endcode
+
or
+
+ \code
pageLoader.sourceComponent = undefined
\endcode
@@ -219,7 +233,7 @@ void QDeclarativeLoader::setSource(const QUrl &url)
/*!
\qmlproperty Component Loader::sourceComponent
- The sourceComponent property holds the \l{Component} to instantiate.
+ This property holds the \l{Component} to instantiate.
\qml
Item {
@@ -233,6 +247,8 @@ void QDeclarativeLoader::setSource(const QUrl &url)
}
\endqml
+ Note this value must hold a \l Component object; it cannot be a \l Item.
+
\sa source, progress
*/
@@ -329,6 +345,7 @@ void QDeclarativeLoaderPrivate::_q_sourceLoaded()
emit q->statusChanged();
emit q->progressChanged();
emit q->itemChanged();
+ emit q->loaded();
}
}
@@ -337,21 +354,36 @@ void QDeclarativeLoaderPrivate::_q_sourceLoaded()
This property holds the status of QML loading. It can be one of:
\list
- \o Null - no QML source has been set
- \o Ready - the QML source has been loaded
- \o Loading - the QML source is currently being loaded
- \o Error - an error occurred while loading the QML source
+ \o Loader.Null - no QML source has been set
+ \o Loader.Ready - the QML source has been loaded
+ \o Loader.Loading - the QML source is currently being loaded
+ \o Loader.Error - an error occurred while loading the QML source
\endlist
- Note that a change in the status property does not cause anything to happen
- (although it reflects what has happened to the loader internally). If you wish
- to react to the change in status you need to do it yourself, for example in one
- of the following ways:
- \list
- \o Create a state, so that a state change occurs, e.g. State{name: 'loaded'; when: loader.status = Loader.Ready;}
- \o Do something inside the onStatusChanged signal handler, e.g. Loader{id: loader; onStatusChanged: if(loader.status == Loader.Ready) console.log('Loaded');}
- \o Bind to the status variable somewhere, e.g. Text{text: if(loader.status!=Loader.Ready){'Not Loaded';}else{'Loaded';}}
- \endlist
+ Use this status to provide an update or respond to the status change in some way.
+ For example, you could:
+
+ \e {Trigger a state change:}
+ \qml
+ State { name: 'loaded'; when: loader.status = Loader.Ready }
+ \endqml
+
+ \e {Implement an \c onStatusChanged signal handler:}
+ \qml
+ Loader {
+ id: loader
+ onStatusChanged: if (loader.status == Loader.Ready) console.log('Loaded')
+ }
+ \endqml
+
+ \e {Bind to the status value:}
+ \qml
+ Text { text: loader.status != Loader.Ready ? 'Not Loaded' : 'Loaded' }
+ \endqml
+
+ Note that if the source is a local file, the status will initially be Ready (or Error). While
+ there will be no onStatusChanged signal in that case, the onLoaded will still be invoked.
+
\sa progress
*/
@@ -368,6 +400,22 @@ QDeclarativeLoader::Status QDeclarativeLoader::status() const
return d->source.isEmpty() ? Null : Error;
}
+void QDeclarativeLoader::componentComplete()
+{
+ QDeclarativeItem::componentComplete();
+ if (status() == Ready)
+ emit loaded();
+}
+
+
+/*!
+ \qmlsignal Loader::onLoaded()
+
+ This handler is called when the \l status becomes \c Loader.Ready, or on successful
+ initial load.
+*/
+
+
/*!
\qmlproperty real Loader::progress
@@ -390,83 +438,29 @@ qreal QDeclarativeLoader::progress() const
return 0.0;
}
-/*!
- \qmlproperty enumeration Loader::resizeMode
-
- This property determines how the Loader or item are resized:
- \list
- \o NoResize - no item will be resized
- \o SizeLoaderToItem - the Loader will be sized to the size of the item, unless the size of the Loader has been otherwise specified.
- \o SizeItemToLoader - the item will be sized to the size of the Loader.
- \endlist
-
- Note that changing from SizeItemToLoader to SizeLoaderToItem
- after the component is loaded will not return the item or Loader
- to it's original size. This is due to the item size being adjusted
- to the Loader size, thereby losing the original size of the item.
- Future changes to the item's size will affect the loader, however.
-
- The default resizeMode is SizeLoaderToItem.
-*/
-QDeclarativeLoader::ResizeMode QDeclarativeLoader::resizeMode() const
-{
- Q_D(const QDeclarativeLoader);
- return d->resizeMode;
-}
-
-void QDeclarativeLoader::setResizeMode(ResizeMode mode)
-{
- Q_D(QDeclarativeLoader);
- if (mode == d->resizeMode)
- return;
-
- if (QDeclarativeItem *qmlItem = qobject_cast<QDeclarativeItem*>(d->item)) {
- if (d->resizeMode == SizeLoaderToItem) {
- QDeclarativeItemPrivate *p =
- static_cast<QDeclarativeItemPrivate *>(QGraphicsItemPrivate::get(qmlItem));
- p->removeItemChangeListener(d, QDeclarativeItemPrivate::Geometry);
- }
- } else if (d->item && d->item->isWidget()) {
- if (d->resizeMode == SizeLoaderToItem)
- d->item->removeEventFilter(this);
- }
-
- d->resizeMode = mode;
- emit resizeModeChanged();
- d->initResize();
-}
-
-void QDeclarativeLoaderPrivate::_q_updateSize()
+void QDeclarativeLoaderPrivate::_q_updateSize(bool loaderGeometryChanged)
{
Q_Q(QDeclarativeLoader);
if (!item)
return;
if (QDeclarativeItem *qmlItem = qobject_cast<QDeclarativeItem*>(item)) {
- if (resizeMode == QDeclarativeLoader::SizeLoaderToItem) {
- q->setWidth(qmlItem->width());
- q->setHeight(qmlItem->height());
- } else if (resizeMode == QDeclarativeLoader::SizeItemToLoader) {
+ q->setImplicitWidth(qmlItem->width());
+ if (loaderGeometryChanged && q->widthValid())
qmlItem->setWidth(q->width());
+ q->setImplicitHeight(qmlItem->height());
+ if (loaderGeometryChanged && q->heightValid())
qmlItem->setHeight(q->height());
- }
} else if (item && item->isWidget()) {
QGraphicsWidget *widget = static_cast<QGraphicsWidget*>(item);
- if (resizeMode == QDeclarativeLoader::SizeLoaderToItem) {
- QSizeF newSize = widget->size();
- if (newSize.isValid()) {
- q->setWidth(newSize.width());
- q->setHeight(newSize.height());
- }
- } else if (resizeMode == QDeclarativeLoader::SizeItemToLoader) {
- QSizeF oldSize = widget->size();
- QSizeF newSize = oldSize;
- if (q->heightValid())
- newSize.setHeight(q->height());
- if (q->widthValid())
- newSize.setWidth(q->width());
- if (oldSize != newSize)
- widget->resize(newSize);
- }
+ QSizeF widgetSize = widget->size();
+ q->setImplicitWidth(widgetSize.width());
+ if (loaderGeometryChanged && q->widthValid())
+ widgetSize.setWidth(q->width());
+ q->setImplicitHeight(widgetSize.height());
+ if (loaderGeometryChanged && q->heightValid())
+ widgetSize.setHeight(q->height());
+ if (widget->size() != widgetSize)
+ widget->resize(widgetSize);
}
}
@@ -484,9 +478,7 @@ void QDeclarativeLoader::geometryChanged(const QRectF &newGeometry, const QRectF
{
Q_D(QDeclarativeLoader);
if (newGeometry != oldGeometry) {
- if (d->resizeMode == SizeItemToLoader) {
- d->_q_updateSize();
- }
+ d->_q_updateSize();
}
QDeclarativeItem::geometryChanged(newGeometry, oldGeometry);
}
@@ -496,10 +488,8 @@ QVariant QDeclarativeLoader::itemChange(GraphicsItemChange change, const QVarian
Q_D(QDeclarativeLoader);
if (change == ItemSceneHasChanged) {
if (d->item && d->item->isWidget()) {
- if (d->resizeMode == SizeLoaderToItem) {
- d->item->removeEventFilter(this);
- d->item->installEventFilter(this);
- }
+ d->item->removeEventFilter(this);
+ d->item->installEventFilter(this);
}
}
return QDeclarativeItem::itemChange(change, value);
@@ -509,9 +499,8 @@ bool QDeclarativeLoader::eventFilter(QObject *watched, QEvent *e)
{
Q_D(QDeclarativeLoader);
if (watched == d->item && e->type() == QEvent::GraphicsSceneResize) {
- if (d->item && d->item->isWidget() && d->resizeMode == SizeLoaderToItem) {
- d->_q_updateSize();
- }
+ if (d->item && d->item->isWidget())
+ d->_q_updateSize(false);
}
return QDeclarativeItem::eventFilter(watched, e);
}
diff --git a/src/declarative/graphicsitems/qdeclarativeloader_p.h b/src/declarative/graphicsitems/qdeclarativeloader_p.h
index e9fd8e9502..ec7ffe947c 100644
--- a/src/declarative/graphicsitems/qdeclarativeloader_p.h
+++ b/src/declarative/graphicsitems/qdeclarativeloader_p.h
@@ -55,11 +55,9 @@ class Q_DECLARATIVE_EXPORT QDeclarativeLoader : public QDeclarativeItem
{
Q_OBJECT
Q_ENUMS(Status)
- Q_ENUMS(ResizeMode)
Q_PROPERTY(QUrl source READ source WRITE setSource NOTIFY sourceChanged)
Q_PROPERTY(QDeclarativeComponent *sourceComponent READ sourceComponent WRITE setSourceComponent RESET resetSourceComponent NOTIFY sourceChanged)
- Q_PROPERTY(ResizeMode resizeMode READ resizeMode WRITE setResizeMode NOTIFY resizeModeChanged)
Q_PROPERTY(QGraphicsObject *item READ item NOTIFY itemChanged)
Q_PROPERTY(Status status READ status NOTIFY statusChanged)
Q_PROPERTY(qreal progress READ progress NOTIFY progressChanged)
@@ -79,10 +77,6 @@ public:
Status status() const;
qreal progress() const;
- enum ResizeMode { NoResize, SizeLoaderToItem, SizeItemToLoader };
- ResizeMode resizeMode() const;
- void setResizeMode(ResizeMode mode);
-
QGraphicsObject *item() const;
Q_SIGNALS:
@@ -90,12 +84,14 @@ Q_SIGNALS:
void sourceChanged();
void statusChanged();
void progressChanged();
- void resizeModeChanged();
+ void loaded();
protected:
void geometryChanged(const QRectF &newGeometry, const QRectF &oldGeometry);
QVariant itemChange(GraphicsItemChange change, const QVariant &value);
bool eventFilter(QObject *watched, QEvent *e);
+ void componentComplete();
+
private:
Q_DISABLE_COPY(QDeclarativeLoader)
Q_DECLARE_PRIVATE_D(QGraphicsItem::d_ptr.data(), QDeclarativeLoader)
diff --git a/src/declarative/graphicsitems/qdeclarativeloader_p_p.h b/src/declarative/graphicsitems/qdeclarativeloader_p_p.h
index 49069f96ba..0d4c4d0f44 100644
--- a/src/declarative/graphicsitems/qdeclarativeloader_p_p.h
+++ b/src/declarative/graphicsitems/qdeclarativeloader_p_p.h
@@ -77,10 +77,9 @@ public:
QGraphicsObject *item;
QDeclarativeComponent *component;
bool ownComponent : 1;
- QDeclarativeLoader::ResizeMode resizeMode;
void _q_sourceLoaded();
- void _q_updateSize();
+ void _q_updateSize(bool loaderGeometryChanged = true);
};
QT_END_NAMESPACE
diff --git a/src/declarative/graphicsitems/qdeclarativemousearea.cpp b/src/declarative/graphicsitems/qdeclarativemousearea.cpp
index 126d041a70..c4956dfc74 100644
--- a/src/declarative/graphicsitems/qdeclarativemousearea.cpp
+++ b/src/declarative/graphicsitems/qdeclarativemousearea.cpp
@@ -172,17 +172,21 @@ QDeclarativeMouseAreaPrivate::~QDeclarativeMouseAreaPrivate()
A MouseArea is typically used in conjunction with a visible item,
where the MouseArea effectively 'proxies' mouse handling for that
- item. For example, we can put a MouseArea in a Rectangle that changes
- the Rectangle color to red when clicked:
- \snippet doc/src/snippets/declarative/mouseregion.qml 0
+ item. For example, we can put a MouseArea in a \l Rectangle that changes
+ the \l Rectangle color to red when clicked:
+
+ \snippet doc/src/snippets/declarative/mousearea.qml import
+ \codeline
+ \snippet doc/src/snippets/declarative/mousearea.qml intro
Many MouseArea signals pass a \l {MouseEvent}{mouse} parameter that contains
additional information about the mouse event, such as the position, button,
and any key modifiers.
- Below we have the previous
- example extended so as to give a different color when you right click.
- \snippet doc/src/snippets/declarative/mouseregion.qml 1
+ Here is an extension of the previous example that produces a different
+ color when the area is right clicked:
+
+ \snippet doc/src/snippets/declarative/mousearea.qml intro-extended
For basic key handling, see the \l {Keys}{Keys attached property}.
@@ -197,8 +201,8 @@ QDeclarativeMouseAreaPrivate::~QDeclarativeMouseAreaPrivate()
This handler is called when the mouse enters the mouse area.
By default the onEntered handler is only called while a button is
- pressed. Setting hoverEnabled to true enables handling of
- onExited when no mouse button is pressed.
+ pressed. Setting hoverEnabled to true enables handling of
+ onEntered when no mouse button is pressed.
\sa hoverEnabled
*/
@@ -209,7 +213,7 @@ QDeclarativeMouseAreaPrivate::~QDeclarativeMouseAreaPrivate()
This handler is called when the mouse exists the mouse area.
By default the onExited handler is only called while a button is
- pressed. Setting hoverEnabled to true enables handling of
+ pressed. Setting hoverEnabled to true enables handling of
onExited when no mouse button is pressed.
\sa hoverEnabled
@@ -238,7 +242,7 @@ QDeclarativeMouseAreaPrivate::~QDeclarativeMouseAreaPrivate()
releasing is also considered a click).
The \l {MouseEvent}{mouse} parameter provides information about the click, including the x and y
- position of the release of the click, and whether the click wasHeld.
+ position of the release of the click, and whether the click was held.
The \e accepted property of the MouseEvent parameter is ignored in this handler.
*/
@@ -262,7 +266,7 @@ QDeclarativeMouseAreaPrivate::~QDeclarativeMouseAreaPrivate()
This handler is called when there is a release.
The \l {MouseEvent}{mouse} parameter provides information about the click, including the x and y
- position of the release of the click, and whether the click wasHeld.
+ position of the release of the click, and whether the click was held.
The \e accepted property of the MouseEvent parameter is ignored in this handler.
*/
@@ -282,22 +286,31 @@ QDeclarativeMouseAreaPrivate::~QDeclarativeMouseAreaPrivate()
This handler is called when there is a double-click (a press followed by a release followed by a press).
The \l {MouseEvent}{mouse} parameter provides information about the click, including the x and y
- position of the release of the click, and whether the click wasHeld.
+ position of the release of the click, and whether the click was held.
The \e accepted property of the MouseEvent parameter is ignored in this handler.
*/
/*!
+ \qmlsignal MouseArea::onCanceled()
+
+ This handler is called when the mouse events are canceled, either because the event was not accepted or
+ another element stole the mouse event handling. This signal is for advanced users, it's useful in case there
+ is more than one mouse areas handling input, or when there is a mouse area inside a flickable. In the latter
+ case, if you do some logic on pressed and then start dragging, the flickable will steal the mouse handling
+ from the mouse area. In these cases, to reset the logic when there is no mouse handling anymore, you should
+ use onCanceled, in addition to onReleased.
+*/
+
+/*!
\internal
\class QDeclarativeMouseArea
- \brief The QDeclarativeMouseArea class provides a simple mouse handling abstraction for use within Qml.
-
- \ingroup group_coreitems
+ \brief The QDeclarativeMouseArea class provides a simple mouse handling abstraction for use within QML.
All QDeclarativeItem derived classes can do mouse handling but the QDeclarativeMouseArea class exposes mouse
handling data as properties and tracks flicking and dragging of the mouse.
- A QDeclarativeMouseArea object can be instantiated in Qml using the tag \l MouseArea.
+ A QDeclarativeMouseArea object can be instantiated in QML using the tag \l MouseArea.
*/
QDeclarativeMouseArea::QDeclarativeMouseArea(QDeclarativeItem *parent)
: QDeclarativeItem(*(new QDeclarativeMouseAreaPrivate), parent)
@@ -319,10 +332,10 @@ QDeclarativeMouseArea::~QDeclarativeMouseArea()
while a button is pressed, and will remain valid as long as the button is held
even if the mouse is moved outside the area.
- If hoverEnabled is true then these properties will be valid:
+ If hoverEnabled is true then these properties will be valid when:
\list
- \i when no button is pressed, but the mouse is within the MouseArea (containsMouse is true).
- \i if a button is pressed and held, even if it has since moved out of the area.
+ \i no button is pressed, but the mouse is within the MouseArea (containsMouse is true).
+ \i a button is pressed and held, even if it has since moved out of the area.
\endlist
The coordinates are relative to the MouseArea.
@@ -365,22 +378,11 @@ void QDeclarativeMouseArea::setEnabled(bool a)
\list
\o Qt.LeftButton
\o Qt.RightButton
- \o Qt.MidButton
+ \o Qt.MiddleButton
\endlist
The code below displays "right" when the right mouse buttons is pressed:
- \code
- Text {
- text: mr.pressedButtons & Qt.RightButton ? "right" : ""
- horizontalAlignment: Text.AlignHCenter
- verticalAlignment: Text.AlignVCenter
- MouseArea {
- id: mr
- acceptedButtons: Qt.LeftButton | Qt.RightButton
- anchors.fill: parent
- }
- }
- \endcode
+ \snippet doc/src/snippets/declarative/mousearea.qml mousebuttons
\sa acceptedButtons
*/
@@ -408,7 +410,7 @@ void QDeclarativeMouseArea::mousePressEvent(QGraphicsSceneMouseEvent *event)
setHovered(true);
d->startScene = event->scenePos();
// we should only start timer if pressAndHold is connected to.
- if (d->isConnected("pressAndHold(QDeclarativeMouseEvent*)"))
+ if (d->isPressAndHoldConnected())
d->pressAndHoldTimer.start(PressAndHoldDelay, this);
setKeepMouseGrab(false);
event->setAccepted(setPressed(true));
@@ -564,10 +566,12 @@ bool QDeclarativeMouseArea::sceneEvent(QEvent *event)
// state
d->pressed = false;
setKeepMouseGrab(false);
- QDeclarativeMouseEvent me(d->lastPos.x(), d->lastPos.y(), d->lastButton, d->lastButtons, d->lastModifiers, false, false);
- emit released(&me);
+ emit canceled();
emit pressedChanged();
- setHovered(false);
+ if (d->hovered) {
+ d->hovered = false;
+ emit hoveredChanged();
+ }
}
}
return rv;
@@ -599,6 +603,23 @@ void QDeclarativeMouseArea::geometryChanged(const QRectF &newGeometry,
d->lastPos = mapFromScene(d->lastScenePos);
}
+/*! \internal */
+QVariant QDeclarativeMouseArea::itemChange(GraphicsItemChange change,
+ const QVariant &value)
+{
+ Q_D(QDeclarativeMouseArea);
+ switch (change) {
+ case ItemVisibleHasChanged:
+ if (acceptHoverEvents() && d->hovered != (isVisible() && isUnderMouse()))
+ setHovered(!d->hovered);
+ break;
+ default:
+ break;
+ }
+
+ return QDeclarativeItem::itemChange(change, value);
+}
+
/*!
\qmlproperty bool MouseArea::hoverEnabled
This property holds whether hover events are handled.
@@ -609,6 +630,22 @@ void QDeclarativeMouseArea::geometryChanged(const QRectF &newGeometry,
This property affects the containsMouse property and the onEntered, onExited and onPositionChanged signals.
*/
+bool QDeclarativeMouseArea::hoverEnabled() const
+{
+ return acceptHoverEvents();
+}
+
+void QDeclarativeMouseArea::setHoverEnabled(bool h)
+{
+ Q_D(QDeclarativeMouseArea);
+ if (h == acceptHoverEvents())
+ return;
+
+ setAcceptHoverEvents(h);
+ emit hoverEnabledChanged();
+ if (d->hovered != isUnderMouse())
+ setHovered(!d->hovered);
+}
/*!
\qmlproperty bool MouseArea::containsMouse
@@ -651,7 +688,7 @@ void QDeclarativeMouseArea::setHovered(bool h)
\list
\o Qt.LeftButton
\o Qt.RightButton
- \o Qt.MidButton
+ \o Qt.MiddleButton
\endlist
To accept more than one button the flags can be combined with the
@@ -661,7 +698,7 @@ void QDeclarativeMouseArea::setHovered(bool h)
MouseArea { acceptedButtons: Qt.LeftButton | Qt.RightButton }
\endcode
- The default is to accept the Left button.
+ The default value is \c Qt.LeftButton.
*/
Qt::MouseButtons QDeclarativeMouseArea::acceptedButtons() const
{
@@ -715,23 +752,25 @@ QDeclarativeDrag *QDeclarativeMouseArea::drag()
/*!
\qmlproperty Item MouseArea::drag.target
\qmlproperty bool MouseArea::drag.active
- \qmlproperty Axis MouseArea::drag.axis
+ \qmlproperty enumeration MouseArea::drag.axis
\qmlproperty real MouseArea::drag.minimumX
\qmlproperty real MouseArea::drag.maximumX
\qmlproperty real MouseArea::drag.minimumY
\qmlproperty real MouseArea::drag.maximumY
- drag provides a convenient way to make an item draggable.
+ \c drag provides a convenient way to make an item draggable.
\list
- \i \c target specifies the item to drag.
- \i \c active specifies if the target item is being currently dragged.
- \i \c axis specifies whether dragging can be done horizontally (XAxis), vertically (YAxis), or both (XandYAxis)
- \i the minimum and maximum properties limit how far the target can be dragged along the corresponding axes.
+ \i \c drag.target specifies the item to drag.
+ \i \c drag.active specifies if the target item is currently being dragged.
+ \i \c drag.axis specifies whether dragging can be done horizontally (\c Drag.XAxis), vertically (\c Drag.YAxis), or both (\c Drag.XandYAxis)
+ \i \c drag.minimum and \c drag.maximum limit how far the target can be dragged along the corresponding axes.
\endlist
- The following example uses drag to reduce the opacity of an image as it moves to the right:
- \snippet doc/src/snippets/declarative/drag.qml 0
+ The following example displays an image that can be dragged along the X-axis. The opacity
+ of the image is reduced when it is dragged to the right.
+
+ \snippet doc/src/snippets/declarative/mousearea.qml drag
*/
QT_END_NAMESPACE
diff --git a/src/declarative/graphicsitems/qdeclarativemousearea_p.h b/src/declarative/graphicsitems/qdeclarativemousearea_p.h
index 4f7df6271c..df77ac6e78 100644
--- a/src/declarative/graphicsitems/qdeclarativemousearea_p.h
+++ b/src/declarative/graphicsitems/qdeclarativemousearea_p.h
@@ -121,7 +121,7 @@ class Q_DECLARATIVE_EXPORT QDeclarativeMouseArea : public QDeclarativeItem
Q_PROPERTY(bool enabled READ isEnabled WRITE setEnabled NOTIFY enabledChanged)
Q_PROPERTY(Qt::MouseButtons pressedButtons READ pressedButtons NOTIFY pressedChanged)
Q_PROPERTY(Qt::MouseButtons acceptedButtons READ acceptedButtons WRITE setAcceptedButtons NOTIFY acceptedButtonsChanged)
- Q_PROPERTY(bool hoverEnabled READ acceptHoverEvents WRITE setAcceptHoverEvents)
+ Q_PROPERTY(bool hoverEnabled READ hoverEnabled WRITE setHoverEnabled NOTIFY hoverEnabledChanged)
Q_PROPERTY(QDeclarativeDrag *drag READ drag CONSTANT) //### add flicking to QDeclarativeDrag or add a QDeclarativeFlick ???
public:
@@ -142,6 +142,9 @@ public:
Qt::MouseButtons acceptedButtons() const;
void setAcceptedButtons(Qt::MouseButtons buttons);
+ bool hoverEnabled() const;
+ void setHoverEnabled(bool h);
+
QDeclarativeDrag *drag();
Q_SIGNALS:
@@ -149,6 +152,7 @@ Q_SIGNALS:
void pressedChanged();
void enabledChanged();
void acceptedButtonsChanged();
+ void hoverEnabledChanged();
void positionChanged(QDeclarativeMouseEvent *mouse);
void mousePositionChanged(QDeclarativeMouseEvent *mouse);
@@ -159,6 +163,7 @@ Q_SIGNALS:
void doubleClicked(QDeclarativeMouseEvent *mouse);
void entered();
void exited();
+ void canceled();
protected:
void setHovered(bool);
@@ -176,6 +181,7 @@ protected:
virtual void geometryChanged(const QRectF &newGeometry,
const QRectF &oldGeometry);
+ virtual QVariant itemChange(GraphicsItemChange change, const QVariant& value);
private:
void handlePress();
diff --git a/src/declarative/graphicsitems/qdeclarativemousearea_p_p.h b/src/declarative/graphicsitems/qdeclarativemousearea_p_p.h
index 4e909ffcee..3d7bd1e8f1 100644
--- a/src/declarative/graphicsitems/qdeclarativemousearea_p_p.h
+++ b/src/declarative/graphicsitems/qdeclarativemousearea_p_p.h
@@ -88,9 +88,9 @@ public:
lastModifiers = event->modifiers();
}
- bool isConnected(const char *signal) {
+ bool isPressAndHoldConnected() {
Q_Q(QDeclarativeMouseArea);
- int idx = QObjectPrivate::get(q)->signalIndex(signal);
+ static int idx = QObjectPrivate::get(q)->signalIndex("pressAndHold(QDeclarativeMouseEvent*)");
return QObjectPrivate::get(q)->isSignalConnected(idx);
}
diff --git a/src/declarative/graphicsitems/qdeclarativepainteditem.cpp b/src/declarative/graphicsitems/qdeclarativepainteditem.cpp
index f52636fbe9..13d1b61a3d 100644
--- a/src/declarative/graphicsitems/qdeclarativepainteditem.cpp
+++ b/src/declarative/graphicsitems/qdeclarativepainteditem.cpp
@@ -59,8 +59,8 @@ QT_BEGIN_NAMESPACE
\brief The QDeclarativePaintedItem class is an abstract base class for QDeclarativeView items that want cached painting.
\internal
- This is a convenience class for implementing items that paint their contents
- using a QPainter. The contents of the item are cached behind the scenes.
+ This is a convenience class for implementing items that cache their painting.
+ The contents of the item are cached behind the scenes.
The dirtyCache() function should be called if the contents change to
ensure the cache is refreshed the next time painting occurs.
@@ -152,8 +152,6 @@ void QDeclarativePaintedItem::setContentsSize(const QSize &size)
Q_D(QDeclarativePaintedItem);
if (d->contentsSize == size) return;
d->contentsSize = size;
- setImplicitWidth(size.width()*d->contentsScale);
- setImplicitHeight(size.height()*d->contentsScale);
clearCache();
update();
emit contentsSizeChanged();
@@ -170,8 +168,6 @@ void QDeclarativePaintedItem::setContentsScale(qreal scale)
Q_D(QDeclarativePaintedItem);
if (d->contentsScale == scale) return;
d->contentsScale = scale;
- setImplicitWidth(d->contentsSize.width()*scale);
- setImplicitHeight(d->contentsSize.height()*scale);
clearCache();
update();
emit contentsScaleChanged();
@@ -184,7 +180,6 @@ void QDeclarativePaintedItem::setContentsScale(qreal scale)
QDeclarativePaintedItem::QDeclarativePaintedItem(QDeclarativeItem *parent)
: QDeclarativeItem(*(new QDeclarativePaintedItemPrivate), parent)
{
- init();
}
/*!
@@ -195,7 +190,6 @@ QDeclarativePaintedItem::QDeclarativePaintedItem(QDeclarativeItem *parent)
QDeclarativePaintedItem::QDeclarativePaintedItem(QDeclarativePaintedItemPrivate &dd, QDeclarativeItem *parent)
: QDeclarativeItem(dd, parent)
{
- init();
}
/*!
@@ -206,14 +200,23 @@ QDeclarativePaintedItem::~QDeclarativePaintedItem()
clearCache();
}
-/*!
- \internal
-*/
-void QDeclarativePaintedItem::init()
+void QDeclarativePaintedItem::geometryChanged(const QRectF &newGeometry,
+ const QRectF &oldGeometry)
{
- connect(this,SIGNAL(widthChanged()),this,SLOT(clearCache()));
- connect(this,SIGNAL(heightChanged()),this,SLOT(clearCache()));
- connect(this,SIGNAL(visibleChanged()),this,SLOT(clearCache()));
+ if (newGeometry.width() != oldGeometry.width() ||
+ newGeometry.height() != oldGeometry.height())
+ clearCache();
+
+ QDeclarativeItem::geometryChanged(newGeometry, oldGeometry);
+}
+
+QVariant QDeclarativePaintedItem::itemChange(GraphicsItemChange change,
+ const QVariant &value)
+{
+ if (change == ItemVisibleHasChanged)
+ clearCache();
+
+ return QDeclarativeItem::itemChange(change, value);
}
void QDeclarativePaintedItem::setCacheFrozen(bool frozen)
@@ -225,8 +228,21 @@ void QDeclarativePaintedItem::setCacheFrozen(bool frozen)
// XXX clear cache?
}
+QRectF QDeclarativePaintedItem::boundingRect() const
+{
+ Q_D(const QDeclarativePaintedItem);
+ qreal w = d->mWidth;
+ QSizeF sz = d->contentsSize * d->contentsScale;
+ if (w < sz.width())
+ w = sz.width();
+ qreal h = d->mHeight;
+ if (h < sz.height())
+ h = sz.height();
+ return QRectF(0.0,0.0,w,h);
+}
+
/*!
- \reimp
+ \internal
*/
void QDeclarativePaintedItem::paint(QPainter *p, const QStyleOptionGraphicsItem *, QWidget *)
{
diff --git a/src/declarative/graphicsitems/qdeclarativepainteditem_p.h b/src/declarative/graphicsitems/qdeclarativepainteditem_p.h
index cc616afffc..86f065a588 100644
--- a/src/declarative/graphicsitems/qdeclarativepainteditem_p.h
+++ b/src/declarative/graphicsitems/qdeclarativepainteditem_p.h
@@ -87,8 +87,13 @@ protected:
QDeclarativePaintedItem(QDeclarativePaintedItemPrivate &dd, QDeclarativeItem *parent);
virtual void drawContents(QPainter *p, const QRect &) = 0;
+ virtual void geometryChanged(const QRectF &newGeometry,
+ const QRectF &oldGeometry);
+ virtual QVariant itemChange(GraphicsItemChange change,
+ const QVariant &value);
void setCacheFrozen(bool);
+ QRectF boundingRect() const;
Q_SIGNALS:
void fillColorChanged();
@@ -100,7 +105,6 @@ protected Q_SLOTS:
void clearCache();
private:
- void init();
Q_DISABLE_COPY(QDeclarativePaintedItem)
Q_DECLARE_PRIVATE_D(QGraphicsItem::d_ptr.data(), QDeclarativePaintedItem)
};
diff --git a/src/declarative/graphicsitems/qdeclarativepath.cpp b/src/declarative/graphicsitems/qdeclarativepath.cpp
index e2042fc73b..a904869532 100644
--- a/src/declarative/graphicsitems/qdeclarativepath.cpp
+++ b/src/declarative/graphicsitems/qdeclarativepath.cpp
@@ -63,7 +63,6 @@ QT_BEGIN_NAMESPACE
/*!
\internal
\class QDeclarativePathElement
- \ingroup group_utility
*/
/*!
@@ -86,7 +85,6 @@ QT_BEGIN_NAMESPACE
/*!
\internal
\class QDeclarativePath
- \ingroup group_utility
\brief The QDeclarativePath class defines a path.
\sa QDeclarativePathView
*/
@@ -117,6 +115,7 @@ void QDeclarativePath::setStartX(qreal x)
return;
d->startX = x;
emit startXChanged();
+ processPath();
}
qreal QDeclarativePath::startY() const
@@ -132,6 +131,7 @@ void QDeclarativePath::setStartY(qreal y)
return;
d->startY = y;
emit startYChanged();
+ processPath();
}
/*!
@@ -220,6 +220,9 @@ void QDeclarativePath::processPath()
{
Q_D(QDeclarativePath);
+ if (!d->componentComplete)
+ return;
+
d->_pointCache.clear();
d->_attributePoints.clear();
d->_path = QPainterPath();
@@ -284,10 +287,18 @@ void QDeclarativePath::processPath()
emit changed();
}
+void QDeclarativePath::classBegin()
+{
+ Q_D(QDeclarativePath);
+ d->componentComplete = false;
+}
+
void QDeclarativePath::componentComplete()
{
Q_D(QDeclarativePath);
QSet<QString> attrs;
+ d->componentComplete = true;
+
// First gather up all the attributes
foreach (QDeclarativePathElement *pathElement, d->_pathElements) {
if (QDeclarativePathAttribute *attribute =
@@ -311,6 +322,17 @@ QPainterPath QDeclarativePath::path() const
QStringList QDeclarativePath::attributes() const
{
Q_D(const QDeclarativePath);
+ if (!d->componentComplete) {
+ QSet<QString> attrs;
+
+ // First gather up all the attributes
+ foreach (QDeclarativePathElement *pathElement, d->_pathElements) {
+ if (QDeclarativePathAttribute *attribute =
+ qobject_cast<QDeclarativePathAttribute *>(pathElement))
+ attrs.insert(attribute->name());
+ }
+ return attrs.toList();
+ }
return d->_attributes;
}
@@ -355,7 +377,9 @@ void QDeclarativePath::createPointCache() const
{
Q_D(const QDeclarativePath);
qreal pathLength = d->_path.length();
- const int points = int(pathLength*2);
+ // more points means less jitter between items as they move along the
+ // path, but takes longer to generate
+ const int points = int(pathLength*5);
const int lastElement = d->_path.elementCount() - 1;
d->_pointCache.resize(points+1);
@@ -500,7 +524,6 @@ void QDeclarativeCurve::setY(qreal y)
/*!
\internal
\class QDeclarativePathAttribute
- \ingroup group_utility
\brief The QDeclarativePathAttribute class allows to set the value of an attribute at a given position in the path.
\sa QDeclarativePath
@@ -573,7 +596,6 @@ void QDeclarativePathAttribute::setValue(qreal value)
/*!
\internal
\class QDeclarativePathLine
- \ingroup group_utility
\brief The QDeclarativePathLine class defines a straight line.
\sa QDeclarativePath
@@ -606,7 +628,7 @@ void QDeclarativePathLine::addToPath(QPainterPath &path)
\qml
Path {
startX: 0; startY: 0
- PathQuad x: 200; y: 0; controlX: 100; controlY: 150 }
+ PathQuad { x: 200; y: 0; controlX: 100; controlY: 150 }
}
\endqml
\endtable
@@ -617,7 +639,6 @@ void QDeclarativePathLine::addToPath(QPainterPath &path)
/*!
\internal
\class QDeclarativePathQuad
- \ingroup group_utility
\brief The QDeclarativePathQuad class defines a quadratic Bezier curve with a control point.
\sa QDeclarativePath
@@ -692,8 +713,9 @@ void QDeclarativePathQuad::addToPath(QPainterPath &path)
Path {
startX: 20; startY: 0
PathCubic {
- x: 180; y: 0; control1X: -10; control1Y: 90
- control2X: 210; control2Y: 90
+ x: 180; y: 0
+ control1X: -10; control1Y: 90
+ control2X: 210; control2Y: 90
}
}
\endqml
@@ -705,7 +727,6 @@ void QDeclarativePathQuad::addToPath(QPainterPath &path)
/*!
\internal
\class QDeclarativePathCubic
- \ingroup group_utility
\brief The QDeclarativePathCubic class defines a cubic Bezier curve with two control points.
\sa QDeclarativePath
@@ -831,7 +852,6 @@ void QDeclarativePathCubic::addToPath(QPainterPath &path)
/*!
\internal
\class QDeclarativePathPercent
- \ingroup group_utility
\brief The QDeclarativePathPercent class manipulates the way a path is interpreted.
QDeclarativePathPercent allows you to bunch up items (or spread out items) along various
@@ -848,6 +868,9 @@ qreal QDeclarativePathPercent::value() const
void QDeclarativePathPercent::setValue(qreal value)
{
- _value = value;
+ if (_value != value) {
+ _value = value;
+ emit changed();
+ }
}
QT_END_NAMESPACE
diff --git a/src/declarative/graphicsitems/qdeclarativepath_p.h b/src/declarative/graphicsitems/qdeclarativepath_p.h
index d7cfca14ac..dad43e6301 100644
--- a/src/declarative/graphicsitems/qdeclarativepath_p.h
+++ b/src/declarative/graphicsitems/qdeclarativepath_p.h
@@ -175,7 +175,7 @@ private:
class Q_DECLARATIVE_EXPORT QDeclarativePathPercent : public QDeclarativePathElement
{
Q_OBJECT
- Q_PROPERTY(qreal value READ value WRITE setValue)
+ Q_PROPERTY(qreal value READ value WRITE setValue NOTIFY changed)
public:
QDeclarativePathPercent(QObject *parent=0) : QDeclarativePathElement(parent) {}
@@ -224,6 +224,7 @@ Q_SIGNALS:
protected:
virtual void componentComplete();
+ virtual void classBegin();
private Q_SLOTS:
void processPath();
diff --git a/src/declarative/graphicsitems/qdeclarativepath_p_p.h b/src/declarative/graphicsitems/qdeclarativepath_p_p.h
index e82bcf5854..994090e19e 100644
--- a/src/declarative/graphicsitems/qdeclarativepath_p_p.h
+++ b/src/declarative/graphicsitems/qdeclarativepath_p_p.h
@@ -65,7 +65,7 @@ class QDeclarativePathPrivate : public QObjectPrivate
Q_DECLARE_PUBLIC(QDeclarativePath)
public:
- QDeclarativePathPrivate() : startX(0), startY(0), closed(false) { }
+ QDeclarativePathPrivate() : startX(0), startY(0), closed(false), componentComplete(true) { }
QPainterPath _path;
QList<QDeclarativePathElement*> _pathElements;
@@ -75,6 +75,7 @@ public:
int startX;
int startY;
bool closed;
+ bool componentComplete;
};
QT_END_NAMESPACE
diff --git a/src/declarative/graphicsitems/qdeclarativepathview.cpp b/src/declarative/graphicsitems/qdeclarativepathview.cpp
index d0a3cd1584..0c2d249f7c 100644
--- a/src/declarative/graphicsitems/qdeclarativepathview.cpp
+++ b/src/declarative/graphicsitems/qdeclarativepathview.cpp
@@ -49,6 +49,7 @@
#include <qlistmodelinterface_p.h>
#include <QGraphicsSceneEvent>
+#include <qmath.h>
#include <math.h>
QT_BEGIN_NAMESPACE
@@ -98,9 +99,8 @@ QDeclarativeItem *QDeclarativePathViewPrivate::getItem(int modelIndex)
if (!attType) {
// pre-create one metatype to share with all attached objects
attType = new QDeclarativeOpenMetaObjectType(&QDeclarativePathViewAttached::staticMetaObject, qmlEngine(q));
- foreach(const QString &attr, path->attributes()) {
+ foreach(const QString &attr, path->attributes())
attType->createProperty(attr.toUtf8());
- }
}
qPathViewAttachedType = attType;
QDeclarativePathViewAttached *att = static_cast<QDeclarativePathViewAttached *>(qmlAttachedPropertiesObject<QDeclarativePathView>(item));
@@ -110,6 +110,8 @@ QDeclarativeItem *QDeclarativePathViewPrivate::getItem(int modelIndex)
att->setOnPath(true);
}
item->setParentItem(q);
+ QDeclarativeItemPrivate *itemPrivate = static_cast<QDeclarativeItemPrivate*>(QGraphicsItemPrivate::get(item));
+ itemPrivate->addItemChangeListener(this, QDeclarativeItemPrivate::Geometry);
}
requestedIndex = -1;
return item;
@@ -121,6 +123,8 @@ void QDeclarativePathViewPrivate::releaseItem(QDeclarativeItem *item)
return;
if (QDeclarativePathViewAttached *att = attached(item))
att->setOnPath(false);
+ QDeclarativeItemPrivate *itemPrivate = static_cast<QDeclarativeItemPrivate*>(QGraphicsItemPrivate::get(item));
+ itemPrivate->removeItemChangeListener(this, QDeclarativeItemPrivate::Geometry);
model->release(item);
}
@@ -280,8 +284,8 @@ void QDeclarativePathViewPrivate::updateItem(QDeclarativeItem *item, qreal perce
att->setValue(attr.toUtf8(), path->attributeAt(attr, percent));
}
QPointF pf = path->pointAt(percent);
- item->setX(pf.x() - item->width()*item->scale()/2);
- item->setY(pf.y() - item->height()*item->scale()/2);
+ item->setX(qRound(pf.x() - item->width()*item->scale()/2));
+ item->setY(qRound(pf.y() - item->height()*item->scale()/2));
}
void QDeclarativePathViewPrivate::regenerate()
@@ -306,14 +310,28 @@ void QDeclarativePathViewPrivate::regenerate()
\brief The PathView element lays out model-provided items on a path.
\inherits Item
- The model is typically provided by a QAbstractListModel "C++ model object", but can also be created directly in QML.
+ A PathView displays data from models created from built-in QML elements like ListModel
+ and XmlListModel, or custom model classes defined in C++ that inherit from
+ QAbstractListModel.
+
+ A ListView has a \l model, which defines the data to be displayed, and
+ a \l delegate, which defines how the data should be displayed.
+ The \l delegate is instantiated for each item on the \l path.
+ The items may be flicked to move them along the path.
+
+ For example, if there is a simple list model defined in a file \c ContactModel.qml like this:
+
+ \snippet doc/src/snippets/declarative/pathview/ContactModel.qml 0
- The items are laid out along a path defined by a \l Path and may be flicked to scroll.
+ This data can be represented as a PathView, like this:
\snippet doc/src/snippets/declarative/pathview/pathview.qml 0
\image pathview.gif
+ Delegates are instantiated as needed and may be destroyed at any time.
+ State should \e never be stored in a delegate.
+
\bold Note that views do not enable \e clip automatically. If the view
is not clipped by another item or the screen, it will be necessary
to set \e {clip: true} in order to have the out of view items clipped
@@ -340,6 +358,13 @@ QDeclarativePathView::~QDeclarativePathView()
}
/*!
+ \qmlattachedproperty PathView PathView::view
+ This attached property holds the view that manages this delegate instance.
+
+ It is attached to each instance of the delegate.
+*/
+
+/*!
\qmlattachedproperty bool PathView::onPath
This attached property holds whether the item is currently on the path.
@@ -414,7 +439,7 @@ void QDeclarativePathView::setModel(const QVariant &model)
d->model = vim;
} else {
if (!d->ownModel) {
- d->model = new QDeclarativeVisualDataModel(qmlContext(this));
+ d->model = new QDeclarativeVisualDataModel(qmlContext(this), this);
d->ownModel = true;
}
if (QDeclarativeVisualDataModel *dataModel = qobject_cast<QDeclarativeVisualDataModel*>(d->model))
@@ -467,12 +492,14 @@ void QDeclarativePathView::setPath(QDeclarativePath *path)
disconnect(d->path, SIGNAL(changed()), this, SLOT(refill()));
d->path = path;
connect(d->path, SIGNAL(changed()), this, SLOT(refill()));
- d->clear();
- if (d->attType) {
- d->attType->release();
- d->attType = 0;
+ if (d->isValid() && isComponentComplete()) {
+ d->clear();
+ if (d->attType) {
+ d->attType->release();
+ d->attType = 0;
+ }
+ d->regenerate();
}
- d->regenerate();
emit pathChanged();
}
@@ -522,6 +549,33 @@ void QDeclarativePathView::setCurrentIndex(int idx)
}
/*!
+ \qmlmethod PathView::incrementCurrentIndex()
+
+ Increments the current index.
+*/
+void QDeclarativePathView::incrementCurrentIndex()
+{
+ setCurrentIndex(currentIndex()+1);
+}
+
+
+/*!
+ \qmlmethod PathView::decrementCurrentIndex()
+
+ Decrements the current index.
+*/
+void QDeclarativePathView::decrementCurrentIndex()
+{
+ Q_D(QDeclarativePathView);
+ if (d->model && d->model->count()) {
+ int idx = currentIndex()-1;
+ if (idx < 0)
+ idx = d->model->count() - 1;
+ setCurrentIndex(idx);
+ }
+}
+
+/*!
\qmlproperty real PathView::offset
The offset specifies how far along the path the items are from their initial positions.
@@ -557,7 +611,7 @@ void QDeclarativePathViewPrivate::setOffset(qreal o)
}
/*!
- \qmlproperty component PathView::highlight
+ \qmlproperty Component PathView::highlight
This property holds the component to use as the highlight.
An instance of the highlight component will be created for each view.
@@ -618,12 +672,12 @@ QDeclarativeItem *QDeclarativePathView::highlightItem()
These properties set the preferred range of the highlight (current item)
within the view. The preferred values must be in the range 0.0-1.0.
- If highlightRangeMode is set to \e ApplyRange the view will
+ If highlightRangeMode is set to \e PathView.ApplyRange the view will
attempt to maintain the highlight within the range, however
the highlight can move outside of the range at the ends of the path
or due to a mouse interaction.
- If highlightRangeMode is set to \e StrictlyEnforceRange the highlight will never
+ If highlightRangeMode is set to \e PathView.StrictlyEnforceRange the highlight will never
move outside of the range. This means that the current item will change
if a keyboard or mouse action would cause the highlight to move
outside of the range.
@@ -631,14 +685,14 @@ QDeclarativeItem *QDeclarativePathView::highlightItem()
Note that this is the correct way to influence where the
current item ends up when the view moves. For example, if you want the
currently selected item to be in the middle of the path, then set the
- highlight range to be 0.5,0.5 and highlightRangeMode to StrictlyEnforceRange.
+ highlight range to be 0.5,0.5 and highlightRangeMode to PathView.StrictlyEnforceRange.
Then, when the path scrolls,
the currently selected item will be the item at that position. This also applies to
when the currently selected item changes - it will scroll to within the preferred
highlight range. Furthermore, the behaviour of the current item index will occur
whether or not a highlight exists.
- The default value is \e StrictlyEnforceRange.
+ The default value is \e PathView.StrictlyEnforceRange.
Note that a valid range requires preferredHighlightEnd to be greater
than or equal to preferredHighlightBegin.
@@ -786,12 +840,17 @@ void QDeclarativePathView::setInteractive(bool interactive)
}
/*!
- \qmlproperty component PathView::delegate
+ \qmlproperty Component PathView::delegate
The delegate provides a template defining each item instantiated by the view.
The index is exposed as an accessible \c index property. Properties of the
model are also available depending upon the type of \l {qmlmodels}{Data Model}.
+ The number of elements in the delegate has a direct effect on the
+ flicking performance of the view when pathItemCount is specified. If at all possible, place functionality
+ that is not needed for the normal display of the delegate in a \l Loader which
+ can load additional elements when needed.
+
Note that the PathView will layout the items based on the size of the root
item in the delegate.
@@ -843,6 +902,7 @@ void QDeclarativePathView::setPathItemCount(int i)
if (i < 1)
i = 1;
d->pathItems = i;
+ d->updateMappedRange();
if (d->isValid() && isComponentComplete()) {
d->regenerate();
}
@@ -906,7 +966,7 @@ void QDeclarativePathView::mousePressEvent(QGraphicsSceneMouseEvent *event)
void QDeclarativePathView::mouseMoveEvent(QGraphicsSceneMouseEvent *event)
{
Q_D(QDeclarativePathView);
- if (!d->interactive || d->lastPosTime.isNull())
+ if (!d->interactive || !d->lastPosTime.isValid())
return;
if (!d->stealMouse) {
@@ -940,7 +1000,7 @@ void QDeclarativePathView::mouseReleaseEvent(QGraphicsSceneMouseEvent *)
Q_D(QDeclarativePathView);
d->stealMouse = false;
setKeepMouseGrab(false);
- if (!d->interactive || d->lastPosTime.isNull())
+ if (!d->interactive || !d->lastPosTime.isValid())
return;
qreal elapsed = qreal(d->lastElapsed + QDeclarativeItemPrivate::elapsed(d->lastPosTime)) / 1000.;
@@ -961,7 +1021,12 @@ void QDeclarativePathView::mouseReleaseEvent(QGraphicsSceneMouseEvent *)
else
dist = qRound(dist - d->offset) + d->offset;
// Calculate accel required to stop on item boundary
- accel = v2 / (2.0f * qAbs(dist));
+ if (dist <= 0.) {
+ dist = 0.;
+ accel = 0.;
+ } else {
+ accel = v2 / (2.0f * qAbs(dist));
+ }
}
d->moveOffset.setValue(d->offset);
d->tl.accel(d->moveOffset, velocity, accel, dist);
@@ -970,7 +1035,7 @@ void QDeclarativePathView::mouseReleaseEvent(QGraphicsSceneMouseEvent *)
d->fixOffset();
}
- d->lastPosTime = QTime();
+ d->lastPosTime.invalidate();
ungrabMouse();
}
@@ -1012,8 +1077,8 @@ bool QDeclarativePathView::sendMouseEvent(QGraphicsSceneMouseEvent *event)
grabMouse();
return d->stealMouse;
- } else if (!d->lastPosTime.isNull()) {
- d->lastPosTime = QTime();
+ } else if (d->lastPosTime.isValid()) {
+ d->lastPosTime.invalidate();
}
return false;
}
@@ -1041,12 +1106,26 @@ bool QDeclarativePathView::sceneEventFilter(QGraphicsItem *i, QEvent *e)
return QDeclarativeItem::sceneEventFilter(i, e);
}
+bool QDeclarativePathView::event(QEvent *event)
+{
+ if (event->type() == QEvent::User) {
+ refill();
+ return true;
+ }
+
+ return QDeclarativeItem::event(event);
+}
+
void QDeclarativePathView::componentComplete()
{
Q_D(QDeclarativePathView);
QDeclarativeItem::componentComplete();
d->createHighlight();
- d->regenerate();
+ // It is possible that a refill has already happended to to Path
+ // bindings being handled in the componentComplete(). If so
+ // don't do it again.
+ if (d->items.count() == 0)
+ d->regenerate();
d->updateHighlight();
}
@@ -1056,6 +1135,7 @@ void QDeclarativePathView::refill()
if (!d->isValid() || !isComponentComplete())
return;
+ d->layoutScheduled = false;
bool currentVisible = false;
// first move existing items and remove items off path
@@ -1101,7 +1181,8 @@ void QDeclarativePathView::refill()
while ((pos > startPos || !d->items.count()) && d->items.count() < count) {
// qDebug() << "append" << idx;
QDeclarativeItem *item = d->getItem(idx);
- item->setZValue(idx+1);
+ if (d->model->completePending())
+ item->setZValue(idx+1);
if (d->currentIndex == idx) {
item->setFocus(true);
if (QDeclarativePathViewAttached *att = d->attached(item))
@@ -1114,7 +1195,8 @@ void QDeclarativePathView::refill()
d->firstIndex = idx;
d->items.append(item);
d->updateItem(item, pos);
- d->model->completeItem();
+ if (d->model->completePending())
+ d->model->completeItem();
++idx;
if (idx >= d->model->count())
idx = 0;
@@ -1128,7 +1210,8 @@ void QDeclarativePathView::refill()
while (pos >= 0.0 && pos < startPos) {
// qDebug() << "prepend" << idx;
QDeclarativeItem *item = d->getItem(idx);
- item->setZValue(idx+1);
+ if (d->model->completePending())
+ item->setZValue(idx+1);
if (d->currentIndex == idx) {
item->setFocus(true);
if (QDeclarativePathViewAttached *att = d->attached(item))
@@ -1139,7 +1222,8 @@ void QDeclarativePathView::refill()
}
d->items.prepend(item);
d->updateItem(item, pos);
- d->model->completeItem();
+ if (d->model->completePending())
+ d->model->completeItem();
d->firstIndex = idx;
idx = d->firstIndex - 1;
if (idx < 0)
@@ -1251,6 +1335,19 @@ void QDeclarativePathView::createdItem(int index, QDeclarativeItem *item)
{
Q_D(QDeclarativePathView);
if (d->requestedIndex != index) {
+ if (!d->attType) {
+ // pre-create one metatype to share with all attached objects
+ d->attType = new QDeclarativeOpenMetaObjectType(&QDeclarativePathViewAttached::staticMetaObject, qmlEngine(this));
+ foreach(const QString &attr, d->path->attributes())
+ d->attType->createProperty(attr.toUtf8());
+ }
+ qPathViewAttachedType = d->attType;
+ QDeclarativePathViewAttached *att = static_cast<QDeclarativePathViewAttached *>(qmlAttachedPropertiesObject<QDeclarativePathView>(item));
+ qPathViewAttachedType = 0;
+ if (att) {
+ att->m_view = this;
+ att->setOnPath(false);
+ }
item->setParentItem(this);
d->updateItem(item, index < d->firstIndex ? 0.0 : 1.0);
}
@@ -1276,6 +1373,7 @@ int QDeclarativePathViewPrivate::calcCurrentIndex()
if (offset < 0)
offset += model->count();
current = qRound(qAbs(qmlMod(model->count() - offset, model->count())));
+ current = current % model->count();
}
return current;
diff --git a/src/declarative/graphicsitems/qdeclarativepathview_p.h b/src/declarative/graphicsitems/qdeclarativepathview_p.h
index 72405780ad..8a6f53f441 100644
--- a/src/declarative/graphicsitems/qdeclarativepathview_p.h
+++ b/src/declarative/graphicsitems/qdeclarativepathview_p.h
@@ -132,6 +132,10 @@ public:
static QDeclarativePathViewAttached *qmlAttachedProperties(QObject *);
+public Q_SLOTS:
+ void incrementCurrentIndex();
+ void decrementCurrentIndex();
+
Q_SIGNALS:
void currentIndexChanged();
void offsetChanged();
@@ -157,6 +161,7 @@ protected:
void mouseReleaseEvent(QGraphicsSceneMouseEvent *);
bool sendMouseEvent(QGraphicsSceneMouseEvent *event);
bool sceneEventFilter(QGraphicsItem *, QEvent *);
+ bool event(QEvent *event);
void componentComplete();
private Q_SLOTS:
@@ -215,6 +220,7 @@ Q_SIGNALS:
private:
friend class QDeclarativePathViewPrivate;
+ friend class QDeclarativePathView;
QDeclarativePathView *m_view;
QDeclarativeOpenMetaObject *m_metaobject;
bool m_onPath : 1;
diff --git a/src/declarative/graphicsitems/qdeclarativepathview_p_p.h b/src/declarative/graphicsitems/qdeclarativepathview_p_p.h
index 303486f6a8..a0d2610712 100644
--- a/src/declarative/graphicsitems/qdeclarativepathview_p_p.h
+++ b/src/declarative/graphicsitems/qdeclarativepathview_p_p.h
@@ -68,7 +68,7 @@ QT_BEGIN_NAMESPACE
class QDeclarativeOpenMetaObjectType;
class QDeclarativePathViewAttached;
-class QDeclarativePathViewPrivate : public QDeclarativeItemPrivate
+class QDeclarativePathViewPrivate : public QDeclarativeItemPrivate, public QDeclarativeItemChangeListener
{
Q_DECLARE_PUBLIC(QDeclarativePathView)
@@ -77,7 +77,8 @@ public:
: path(0), currentIndex(0), currentItemOffset(0.0), startPc(0), lastDist(0)
, lastElapsed(0), mappedRange(1.0)
, stealMouse(false), ownModel(false), interactive(true), haveHighlightRange(true)
- , autoHighlight(true), highlightUp(false), dragMargin(0), deceleration(100)
+ , autoHighlight(true), highlightUp(false), layoutScheduled(false)
+ , dragMargin(0), deceleration(100)
, moveOffset(this, &QDeclarativePathViewPrivate::setOffset)
, firstIndex(-1), pathItems(-1), requestedIndex(-1)
, moveReason(Other), attType(0), highlightComponent(0), highlightItem(0)
@@ -89,14 +90,29 @@ public:
{
}
- void init()
- {
+ void init() {
Q_Q(QDeclarativePathView);
offset = 0;
q->setAcceptedMouseButtons(Qt::LeftButton);
q->setFlag(QGraphicsItem::ItemIsFocusScope);
q->setFiltersChildEvents(true);
q->connect(&tl, SIGNAL(updated()), q, SLOT(ticked()));
+ lastPosTime.invalidate();
+ }
+
+ void itemGeometryChanged(QDeclarativeItem *item, const QRectF &newGeometry, const QRectF &oldGeometry) {
+ if ((newGeometry.size() != oldGeometry.size())
+ && (!highlightItem || item != highlightItem)) {
+ scheduleLayout();
+ }
+ }
+
+ void scheduleLayout() {
+ Q_Q(QDeclarativePathView);
+ if (!layoutScheduled) {
+ layoutScheduled = true;
+ QCoreApplication::postEvent(q, new QEvent(QEvent::User), Qt::HighEventPriority);
+ }
}
QDeclarativeItem *getItem(int modelIndex);
@@ -138,7 +154,8 @@ public:
bool haveHighlightRange : 1;
bool autoHighlight : 1;
bool highlightUp : 1;
- QTime lastPosTime;
+ bool layoutScheduled : 1;
+ QElapsedTimer lastPosTime;
QPointF lastPos;
qreal dragMargin;
qreal deceleration;
diff --git a/src/declarative/graphicsitems/qdeclarativepositioners.cpp b/src/declarative/graphicsitems/qdeclarativepositioners.cpp
index 21c33e206c..b9231a1272 100644
--- a/src/declarative/graphicsitems/qdeclarativepositioners.cpp
+++ b/src/declarative/graphicsitems/qdeclarativepositioners.cpp
@@ -46,6 +46,7 @@
#include <qdeclarativestate_p.h>
#include <qdeclarativestategroup_p.h>
#include <qdeclarativestateoperations_p.h>
+#include <qdeclarativeinfo.h>
#include <QtCore/qmath.h>
#include <QDebug>
@@ -75,7 +76,6 @@ void QDeclarativeBasePositionerPrivate::unwatchChanges(QDeclarativeItem* other)
/*!
\internal
\class QDeclarativeBasePositioner
- \ingroup group_layouts
\brief The QDeclarativeBasePositioner class provides a base for QDeclarativeGraphics layouts.
To create a QDeclarativeGraphics Positioner, simply subclass QDeclarativeBasePositioner and implement
@@ -165,6 +165,7 @@ void QDeclarativeBasePositioner::componentComplete()
QDeclarativeItem::componentComplete();
positionedItems.reserve(d->QGraphicsItemPrivate::children.count());
prePositioning();
+ reportConflictingAnchors();
}
QVariant QDeclarativeBasePositioner::itemChange(GraphicsItemChange change,
@@ -203,7 +204,11 @@ void QDeclarativeBasePositioner::prePositioning()
if (!isComponentComplete())
return;
+ if (d->doingPositioning)
+ return;
+
d->queuedPositioning = false;
+ d->doingPositioning = true;
//Need to order children by creation order modified by stacking order
QList<QGraphicsItem *> children = d->QGraphicsItemPrivate::children;
qSort(children.begin(), children.end(), d->insertionOrder);
@@ -214,6 +219,7 @@ void QDeclarativeBasePositioner::prePositioning()
QDeclarativeItem *child = qobject_cast<QDeclarativeItem *>(children.at(ii));
if (!child)
continue;
+ QDeclarativeItemPrivate *childPrivate = static_cast<QDeclarativeItemPrivate*>(QGraphicsItemPrivate::get(child));
PositionedItem *item = 0;
PositionedItem posItem(child);
int wIdx = oldItems.find(posItem);
@@ -222,11 +228,13 @@ void QDeclarativeBasePositioner::prePositioning()
positionedItems.append(posItem);
item = &positionedItems[positionedItems.count()-1];
item->isNew = true;
- if (child->opacity() <= 0.0 || !child->isVisible())
+ if (child->opacity() <= 0.0 || childPrivate->explicitlyHidden)
item->isVisible = false;
} else {
item = &oldItems[wIdx];
- if (child->opacity() <= 0.0 || !child->isVisible()) {
+ // Items are only omitted from positioning if they are explicitly hidden
+ // i.e. their positioning is not affected if an ancestor is hidden.
+ if (child->opacity() <= 0.0 || childPrivate->explicitlyHidden) {
item->isVisible = false;
} else if (!item->isVisible) {
item->isVisible = true;
@@ -241,6 +249,7 @@ void QDeclarativeBasePositioner::prePositioning()
doPositioning(&contentSize);
if(d->addTransition || d->moveTransition)
finishApplyTransitions();
+ d->doingPositioning = false;
//Set implicit size to the size of its children
setImplicitHeight(contentSize.height());
setImplicitWidth(contentSize.width());
@@ -293,10 +302,16 @@ void QDeclarativeBasePositioner::finishApplyTransitions()
d->moveActions.clear();
}
+static inline bool isInvisible(QDeclarativeItem *child)
+{
+ QDeclarativeItemPrivate *childPrivate = static_cast<QDeclarativeItemPrivate*>(QGraphicsItemPrivate::get(child));
+ return child->opacity() == 0.0 || childPrivate->explicitlyHidden || !child->width() || !child->height();
+}
+
/*!
\qmlclass Column QDeclarativeColumn
\since 4.7
- \brief The Column item lines up its children vertically.
+ \brief The Column item arranges its children vertically.
\inherits Item
The Column item positions its child items so that they are vertically
@@ -329,7 +344,6 @@ Column {
\qml
Column {
spacing: 2
- remove: ...
add: ...
move: ...
...
@@ -339,9 +353,14 @@ Column {
Note that the positioner assumes that the x and y positions of its children
will not change. If you manually change the x or y properties in script, bind
- the x or y properties, or use anchors on a child of a positioner, then the
- positioner may exhibit strange behaviour.
+ the x or y properties, use anchors on a child of a positioner, or have the
+ height of a child depend on the position of a child, then the
+ positioner may exhibit strange behaviour. If you need to perform any of these
+ actions, consider positioning the items without the use of a Column.
+
+ Items with a width or height of 0 will not be positioned.
+ \sa Row, {declarative/positioners}{Positioners example}
*/
/*!
\qmlproperty Transition Column::add
@@ -377,7 +396,7 @@ Column {
move: Transition {
NumberAnimation {
properties: "y"
- easing.type: "OutBounce"
+ easing.type: Easing.OutBounce
}
}
}
@@ -390,7 +409,7 @@ Column {
spacing is the amount in pixels left empty between each adjacent
item, and defaults to 0.
- The below example places a Grid containing a red, a blue and a
+ The below example places a \l Grid containing a red, a blue and a
green rectangle on a gray background. The area the grid positioner
occupies is colored white. The top positioner has the default of no spacing,
and the bottom positioner has its spacing set to 2.
@@ -403,18 +422,12 @@ Column {
\internal
\class QDeclarativeColumn
\brief The QDeclarativeColumn class lines up items vertically.
- \ingroup group_positioners
*/
QDeclarativeColumn::QDeclarativeColumn(QDeclarativeItem *parent)
: QDeclarativeBasePositioner(Vertical, parent)
{
}
-static inline bool isInvisible(QDeclarativeItem *child)
-{
- return child->opacity() == 0.0 || !child->isVisible() || !child->width() || !child->height();
-}
-
void QDeclarativeColumn::doPositioning(QSizeF *contentSize)
{
int voffset = 0;
@@ -436,20 +449,42 @@ void QDeclarativeColumn::doPositioning(QSizeF *contentSize)
contentSize->setHeight(voffset - spacing());
}
+void QDeclarativeColumn::reportConflictingAnchors()
+{
+ QDeclarativeBasePositionerPrivate *d = static_cast<QDeclarativeBasePositionerPrivate*>(QDeclarativeBasePositionerPrivate::get(this));
+ for (int ii = 0; ii < positionedItems.count(); ++ii) {
+ const PositionedItem &child = positionedItems.at(ii);
+ if (child.item) {
+ QDeclarativeAnchors *anchors = QDeclarativeItemPrivate::get(child.item)->_anchors;
+ if (anchors) {
+ QDeclarativeAnchors::Anchors usedAnchors = anchors->usedAnchors();
+ if (usedAnchors & QDeclarativeAnchors::TopAnchor ||
+ usedAnchors & QDeclarativeAnchors::BottomAnchor ||
+ usedAnchors & QDeclarativeAnchors::VCenterAnchor ||
+ anchors->fill() || anchors->centerIn()) {
+ d->anchorConflict = true;
+ break;
+ }
+ }
+ }
+ }
+ if (d->anchorConflict) {
+ qmlInfo(this) << "Cannot specify top, bottom, verticalCenter, fill or centerIn anchors for items inside Column";
+ }
+}
+
/*!
\qmlclass Row QDeclarativeRow
\since 4.7
- \brief The Row item lines up its children horizontally.
+ \brief The Row item arranges its children horizontally.
\inherits Item
The Row item positions its child items so that they are
- horizontally aligned and not overlapping. Spacing can be added between the
- items, and a margin around all items can also be added. It also provides for
- transitions to be set when items are added, moved, or removed in the
- positioner. Adding and removing apply both to items which are deleted or have
- their position in the document changed so as to no longer be children of the
- positioner, as well as to items which have their opacity set to or from zero
- so as to appear or disappear.
+ horizontally aligned and not overlapping.
+
+ Use \l spacing to set the spacing between items in a Row, and use the
+ \l add and \l move properties to set the transitions that should be applied
+ when items are added to, removed from, or re-positioned within the Row.
The below example lays out differently shaped rectangles using a Row.
\qml
@@ -464,9 +499,14 @@ Row {
Note that the positioner assumes that the x and y positions of its children
will not change. If you manually change the x or y properties in script, bind
- the x or y properties, or use anchors on a child of a positioner, then the
- positioner may exhibit strange behaviour.
+ the x or y properties, use anchors on a child of a positioner, or have the
+ width of a child depend on the position of a child, then the
+ positioner may exhibit strange behaviour. If you need to perform any of these
+ actions, consider positioning the items without the use of a Row.
+
+ Items with a width or height of 0 will not be positioned.
+ \sa Column, {declarative/positioners}{Positioners example}
*/
/*!
\qmlproperty Transition Row::add
@@ -474,12 +514,10 @@ Row {
The transition will only be applied to the added item(s).
Positioner transitions will only affect the position (x,y) of items.
- Added can mean that either the object has been created or
- reparented, and thus is now a child or the positioner, or that the
+ An object is considered to be added to the positioner if it has been
+ created or reparented and thus is now a child or the positioner, or if the
object has had its opacity increased from zero, and thus is now
visible.
-
-
*/
/*!
\qmlproperty Transition Row::move
@@ -510,7 +548,7 @@ Row {
spacing is the amount in pixels left empty between each adjacent
item, and defaults to 0.
- The below example places a Grid containing a red, a blue and a
+ The below example places a \l Grid containing a red, a blue and a
green rectangle on a gray background. The area the grid positioner
occupies is colored white. The top positioner has the default of no spacing,
and the bottom positioner has its spacing set to 2.
@@ -523,7 +561,6 @@ Row {
\internal
\class QDeclarativeRow
\brief The QDeclarativeRow class lines up items horizontally.
- \ingroup group_positioners
*/
QDeclarativeRow::QDeclarativeRow(QDeclarativeItem *parent)
: QDeclarativeBasePositioner(Horizontal, parent)
@@ -551,6 +588,28 @@ void QDeclarativeRow::doPositioning(QSizeF *contentSize)
contentSize->setWidth(hoffset - spacing());
}
+void QDeclarativeRow::reportConflictingAnchors()
+{
+ QDeclarativeBasePositionerPrivate *d = static_cast<QDeclarativeBasePositionerPrivate*>(QDeclarativeBasePositionerPrivate::get(this));
+ for (int ii = 0; ii < positionedItems.count(); ++ii) {
+ const PositionedItem &child = positionedItems.at(ii);
+ if (child.item) {
+ QDeclarativeAnchors *anchors = QDeclarativeItemPrivate::get(child.item)->_anchors;
+ if (anchors) {
+ QDeclarativeAnchors::Anchors usedAnchors = anchors->usedAnchors();
+ if (usedAnchors & QDeclarativeAnchors::LeftAnchor ||
+ usedAnchors & QDeclarativeAnchors::RightAnchor ||
+ usedAnchors & QDeclarativeAnchors::HCenterAnchor ||
+ anchors->fill() || anchors->centerIn()) {
+ d->anchorConflict = true;
+ break;
+ }
+ }
+ }
+ }
+ if (d->anchorConflict)
+ qmlInfo(this) << "Cannot specify left, right, horizontalCenter, fill or centerIn anchors for items inside Row";
+}
/*!
\qmlclass Grid QDeclarativeGrid
@@ -559,18 +618,20 @@ void QDeclarativeRow::doPositioning(QSizeF *contentSize)
\inherits Item
The Grid item positions its child items so that they are
- aligned in a grid and are not overlapping. Spacing can be added
- between the items. It also provides for transitions to be set when items are
+ aligned in a grid and are not overlapping.
+
+ Spacing can be added
+ between child items. It also provides for transitions to be set when items are
added, moved, or removed in the positioner. Adding and removing apply
both to items which are deleted or have their position in the
document changed so as to no longer be children of the positioner, as
well as to items which have their opacity set to or from zero so
as to appear or disappear.
- The Grid defaults to using four columns, and as many rows as
- are necessary to fit all the child items. The number of rows
- and/or the number of columns can be constrained by setting the rows
- or columns properties. The grid positioner calculates a grid with
+ A Grid defaults to four columns, and as many rows as
+ are necessary to fit all child items. The number of rows
+ and/or the number of columns can be constrained by setting the \l rows
+ or \l columns properties. The grid positioner calculates a grid with
rectangular cells of sufficient size to hold all items, and then
places the items in the cells, going across then down, and
positioning each item at the (0,0) corner of the cell. The below
@@ -595,8 +656,14 @@ Grid {
Note that the positioner assumes that the x and y positions of its children
will not change. If you manually change the x or y properties in script, bind
- the x or y properties, or use anchors on a child of a positioner, then the
- positioner may exhibit strange behaviour.
+ the x or y properties, use anchors on a child of a positioner, or have the
+ width or height of a child depend on the position of a child, then the
+ positioner may exhibit strange behaviour. If you need to perform any of these
+ actions, consider positioning the items without the use of a Grid.
+
+ Items with a width or height of 0 will not be positioned.
+
+ \sa Flow, {declarative/positioners}{Positioners example}
*/
/*!
\qmlproperty Transition Grid::add
@@ -606,12 +673,10 @@ Grid {
as that is all the positioners affect. To animate other property change
you will have to do so based on how you have changed those properties.
- Added can mean that either the object has been created or
- reparented, and thus is now a child or the positioner, or that the
+ An object is considered to be added to the positioner if it has been
+ created or reparented and thus is now a child or the positioner, or if the
object has had its opacity increased from zero, and thus is now
visible.
-
-
*/
/*!
\qmlproperty Transition Grid::move
@@ -652,8 +717,6 @@ Grid {
\internal
\class QDeclarativeGrid
\brief The QDeclarativeGrid class lays out items in a grid.
- \ingroup group_layouts
-
*/
QDeclarativeGrid::QDeclarativeGrid(QDeclarativeItem *parent) :
QDeclarativeBasePositioner(Both, parent), m_rows(-1), m_columns(-1), m_flow(LeftToRight)
@@ -664,18 +727,16 @@ QDeclarativeGrid::QDeclarativeGrid(QDeclarativeItem *parent) :
\qmlproperty int Grid::columns
This property holds the number of columns in the grid.
- When the columns property is set the Grid will always have
- that many columns. Note that if you do not have enough items to
- fill this many columns some columns will be of zero width.
+ If the grid does not have enough items to fill the specified
+ number of columns, some columns will be of zero width.
*/
/*!
\qmlproperty int Grid::rows
This property holds the number of rows in the grid.
- When the rows property is set the Grid will always have that
- many rows. Note that if you do not have enough items to fill this
- many rows some rows will be of zero width.
+ If the grid does not have enough items to fill the specified
+ number of rows, some rows will be of zero width.
*/
void QDeclarativeGrid::setColumns(const int columns)
@@ -697,15 +758,17 @@ void QDeclarativeGrid::setRows(const int rows)
}
/*!
- \qmlproperty enumeration Flow::flow
+ \qmlproperty enumeration Grid::flow
This property holds the flow of the layout.
- Possible values are \c LeftToRight (default) and \c TopToBottom.
+ Possible values are:
- If \a flow is \c LeftToRight, the items are positioned next to
- to each other from left to right, then wrapped to the next line.
- If \a flow is \c TopToBottom, the items are positioned next to each
- other from top to bottom, then wrapped to the next column.
+ \list
+ \o Grid.LeftToRight (default) - Items are positioned next to
+ to each other from left to right, then wrapped to the next line.
+ \o Grid.TopToBottom - Items are positioned next to each
+ other from top to bottom, then wrapped to the next column.
+ \endlist
*/
QDeclarativeGrid::Flow QDeclarativeGrid::flow() const
{
@@ -823,14 +886,42 @@ void QDeclarativeGrid::doPositioning(QSizeF *contentSize)
}
}
+void QDeclarativeGrid::reportConflictingAnchors()
+{
+ QDeclarativeBasePositionerPrivate *d = static_cast<QDeclarativeBasePositionerPrivate*>(QDeclarativeBasePositionerPrivate::get(this));
+ for (int ii = 0; ii < positionedItems.count(); ++ii) {
+ const PositionedItem &child = positionedItems.at(ii);
+ if (child.item) {
+ QDeclarativeAnchors *anchors = QDeclarativeItemPrivate::get(child.item)->_anchors;
+ if (anchors && (anchors->usedAnchors() || anchors->fill() || anchors->centerIn())) {
+ d->anchorConflict = true;
+ break;
+ }
+ }
+ }
+ if (d->anchorConflict)
+ qmlInfo(this) << "Cannot specify anchors for items inside Grid";
+}
/*!
\qmlclass Flow QDeclarativeFlow
\since 4.7
- \brief The Flow item lines up its children side by side, wrapping as necessary.
+ \brief The Flow item arranges its children side by side, wrapping as necessary.
\inherits Item
+ The Flow item positions its child items so that they are side by side and are
+ not overlapping.
+
+ Note that the positioner assumes that the x and y positions of its children
+ will not change. If you manually change the x or y properties in script, bind
+ the x or y properties, use anchors on a child of a positioner, or have the
+ width or height of a child depend on the position of a child, then the
+ positioner may exhibit strange behaviour. If you need to perform any of these
+ actions, consider positioning the items without the use of a Flow.
+
+ Items with a width or height of 0 will not be positioned.
+ \sa Grid, {declarative/positioners}{Positioners example}
*/
/*!
\qmlproperty Transition Flow::add
@@ -838,9 +929,10 @@ void QDeclarativeGrid::doPositioning(QSizeF *contentSize)
The transition will only be applied to the added item(s).
Positioner transitions will only affect the position (x,y) of items.
- Added can mean that either the object has been created or reparented, and thus is now a child or the positioner, or that the object has had its opacity increased from zero, and thus is now visible.
-
-
+ An object is considered to be added to the positioner if it has been
+ created or reparented and thus is now a child or the positioner, or if the
+ object has had its opacity increased from zero, and thus is now
+ visible.
*/
/*!
\qmlproperty Transition Flow::move
@@ -894,14 +986,16 @@ QDeclarativeFlow::QDeclarativeFlow(QDeclarativeItem *parent)
\qmlproperty enumeration Flow::flow
This property holds the flow of the layout.
- Possible values are \c LeftToRight (default) and \c TopToBottom.
+ Possible values are:
- If \a flow is \c LeftToRight, the items are positioned next to
+ \list
+ \o Flow.LeftToRight (default) - Items are positioned next to
to each other from left to right until the width of the Flow
is exceeded, then wrapped to the next line.
- If \a flow is \c TopToBottom, the items are positioned next to each
+ \o Flow.TopToBottom - Items are positioned next to each
other from top to bottom until the height of the Flow is exceeded,
then wrapped to the next column.
+ \endlist
*/
QDeclarativeFlow::Flow QDeclarativeFlow::flow() const
{
@@ -966,5 +1060,21 @@ void QDeclarativeFlow::doPositioning(QSizeF *contentSize)
}
}
+void QDeclarativeFlow::reportConflictingAnchors()
+{
+ Q_D(QDeclarativeFlow);
+ for (int ii = 0; ii < positionedItems.count(); ++ii) {
+ const PositionedItem &child = positionedItems.at(ii);
+ if (child.item) {
+ QDeclarativeAnchors *anchors = QDeclarativeItemPrivate::get(child.item)->_anchors;
+ if (anchors && (anchors->usedAnchors() || anchors->fill() || anchors->centerIn())) {
+ d->anchorConflict = true;
+ break;
+ }
+ }
+ }
+ if (d->anchorConflict)
+ qmlInfo(this) << "Cannot specify anchors for items inside Flow";
+}
QT_END_NAMESPACE
diff --git a/src/declarative/graphicsitems/qdeclarativepositioners_p.h b/src/declarative/graphicsitems/qdeclarativepositioners_p.h
index b5fc979d51..787dcd39fc 100644
--- a/src/declarative/graphicsitems/qdeclarativepositioners_p.h
+++ b/src/declarative/graphicsitems/qdeclarativepositioners_p.h
@@ -94,6 +94,7 @@ protected Q_SLOTS:
protected:
virtual void doPositioning(QSizeF *contentSize)=0;
+ virtual void reportConflictingAnchors()=0;
struct PositionedItem {
PositionedItem(QDeclarativeItem *i) : item(i), isNew(false), isVisible(true) {}
bool operator==(const PositionedItem &other) const { return other.item == item; }
@@ -118,6 +119,7 @@ public:
QDeclarativeColumn(QDeclarativeItem *parent=0);
protected:
virtual void doPositioning(QSizeF *contentSize);
+ virtual void reportConflictingAnchors();
private:
Q_DISABLE_COPY(QDeclarativeColumn)
};
@@ -129,6 +131,7 @@ public:
QDeclarativeRow(QDeclarativeItem *parent=0);
protected:
virtual void doPositioning(QSizeF *contentSize);
+ virtual void reportConflictingAnchors();
private:
Q_DISABLE_COPY(QDeclarativeRow)
};
@@ -161,6 +164,7 @@ Q_SIGNALS:
protected:
virtual void doPositioning(QSizeF *contentSize);
+ virtual void reportConflictingAnchors();
private:
int m_rows;
@@ -187,7 +191,7 @@ Q_SIGNALS:
protected:
virtual void doPositioning(QSizeF *contentSize);
-
+ virtual void reportConflictingAnchors();
protected:
QDeclarativeFlow(QDeclarativeFlowPrivate &dd, QDeclarativeItem *parent);
private:
diff --git a/src/declarative/graphicsitems/qdeclarativepositioners_p_p.h b/src/declarative/graphicsitems/qdeclarativepositioners_p_p.h
index 576f35b19a..822079b45e 100644
--- a/src/declarative/graphicsitems/qdeclarativepositioners_p_p.h
+++ b/src/declarative/graphicsitems/qdeclarativepositioners_p_p.h
@@ -75,6 +75,7 @@ public:
QDeclarativeBasePositionerPrivate()
: spacing(0), type(QDeclarativeBasePositioner::None)
, moveTransition(0), addTransition(0), queuedPositioning(false)
+ , doingPositioning(false), anchorConflict(false)
{
}
@@ -95,20 +96,27 @@ public:
void watchChanges(QDeclarativeItem *other);
void unwatchChanges(QDeclarativeItem* other);
- bool queuedPositioning;
+ bool queuedPositioning : 1;
+ bool doingPositioning : 1;
+ bool anchorConflict : 1;
- virtual void itemSiblingOrderChanged(QDeclarativeItem* other)
+ void schedulePositioning()
{
Q_Q(QDeclarativeBasePositioner);
- Q_UNUSED(other);
if(!queuedPositioning){
- //Delay is due to many children often being reordered at once
- //And we only want to reposition them all once
QTimer::singleShot(0,q,SLOT(prePositioning()));
queuedPositioning = true;
}
}
+ virtual void itemSiblingOrderChanged(QDeclarativeItem* other)
+ {
+ Q_UNUSED(other);
+ //Delay is due to many children often being reordered at once
+ //And we only want to reposition them all once
+ schedulePositioning();
+ }
+
void itemGeometryChanged(QDeclarativeItem *, const QRectF &newGeometry, const QRectF &oldGeometry)
{
Q_Q(QDeclarativeBasePositioner);
@@ -117,8 +125,7 @@ public:
}
virtual void itemVisibilityChanged(QDeclarativeItem *)
{
- Q_Q(QDeclarativeBasePositioner);
- q->prePositioning();
+ schedulePositioning();
}
virtual void itemOpacityChanged(QDeclarativeItem *)
{
diff --git a/src/declarative/graphicsitems/qdeclarativerectangle.cpp b/src/declarative/graphicsitems/qdeclarativerectangle.cpp
index 0328f9163d..2756877004 100644
--- a/src/declarative/graphicsitems/qdeclarativerectangle.cpp
+++ b/src/declarative/graphicsitems/qdeclarativerectangle.cpp
@@ -43,6 +43,7 @@
#include "private/qdeclarativerectangle_p_p.h"
#include <QPainter>
+#include <QStringBuilder>
#include <QtCore/qmath.h>
QT_BEGIN_NAMESPACE
@@ -113,11 +114,11 @@ void QDeclarativeGradientStop::updateGradient()
rectangle with a gradient starting with red, blending to yellow at 1/3 of the
size of the rectangle, and ending with Green:
- \table
- \row
- \o \image gradient.png
- \o \quotefile doc/src/snippets/declarative/gradient.qml
- \endtable
+ \snippet doc/src/snippets/declarative/gradient.qml code
+
+ Note that this item is not a visual representation of a gradient. To display a
+ gradient use a visual item (like rectangle) which supports having a gradient set
+ on it for display.
\sa GradientStop
*/
@@ -155,10 +156,12 @@ void QDeclarativeGradient::doUpdate()
\brief The Rectangle item allows you to add rectangles to a scene.
\inherits Item
- A Rectangle is painted having a solid fill (color) and an optional border.
- You can also create rounded rectangles using the radius property.
+ A Rectangle is painted using a solid fill (color) and an optional border.
+ You can also create rounded rectangles using the \l radius property.
\qml
+ import Qt 4.7
+
Rectangle {
width: 100
height: 100
@@ -201,8 +204,20 @@ void QDeclarativeRectangle::doUpdate()
A width of 1 creates a thin line. For no line, use a width of 0 or a transparent color.
- To keep the border smooth (rather than blurry), odd widths cause the rectangle to be painted at
- a half-pixel offset;
+ If \c border.width is an odd number, the rectangle is painted at a half-pixel offset to retain
+ border smoothness. Also, the border is rendered evenly on either side of the
+ rectangle's boundaries, and the spare pixel is rendered to the right and below the
+ rectangle (as documented for QRect rendering). This can cause unintended effects if
+ \c border.width is 1 and the rectangle is \l{Item::clip}{clipped} by a parent item:
+
+ \table
+ \row
+ \o \snippet doc/src/snippets/declarative/rect-border-width.qml 0
+ \o \image rect-border-width.png
+ \endtable
+
+ Here, the innermost rectangle's border is clipped on the bottom and right edges by its
+ parent. To avoid this, the border width can be set to two instead of one.
*/
QDeclarativePen *QDeclarativeRectangle::border()
{
@@ -223,14 +238,22 @@ QDeclarativePen *QDeclarativeRectangle::border()
\o \image declarative-rect_gradient.png
\o
\qml
- Rectangle { y: 0; width: 80; height: 80; color: "lightsteelblue" }
- Rectangle { y: 100; width: 80; height: 80
+ Rectangle {
+ y: 0; width: 80; height: 80
+ color: "lightsteelblue"
+ }
+
+ Rectangle {
+ y: 100; width: 80; height: 80
gradient: Gradient {
GradientStop { position: 0.0; color: "lightsteelblue" }
GradientStop { position: 1.0; color: "blue" }
}
}
- Rectangle { rotation: 90; y: 200; width: 80; height: 80
+
+ Rectangle {
+ y: 200; width: 80; height: 80
+ rotation: 90
gradient: Gradient {
GradientStop { position: 0.0; color: "lightsteelblue" }
GradientStop { position: 1.0; color: "blue" }
@@ -334,21 +357,29 @@ void QDeclarativeRectangle::generateRoundedRect()
if (d->rectImage.isNull()) {
const int pw = d->pen && d->pen->isValid() ? d->pen->width() : 0;
const int radius = qCeil(d->radius); //ensure odd numbered width/height so we get 1-pixel center
- d->rectImage = QPixmap(radius*2 + 3 + pw*2, radius*2 + 3 + pw*2);
- d->rectImage.fill(Qt::transparent);
- QPainter p(&(d->rectImage));
- p.setRenderHint(QPainter::Antialiasing);
- if (d->pen && d->pen->isValid()) {
- QPen pn(QColor(d->pen->color()), d->pen->width());
- p.setPen(pn);
- } else {
- p.setPen(Qt::NoPen);
+
+ QString key = QLatin1String("q_") % QString::number(pw) % d->color.name() % QString::number(d->color.alpha(), 16) % QLatin1Char('_') % QString::number(radius);
+ if (d->pen && d->pen->isValid())
+ key += d->pen->color().name() % QString::number(d->pen->color().alpha(), 16);
+
+ if (!QPixmapCache::find(key, &d->rectImage)) {
+ d->rectImage = QPixmap(radius*2 + 3 + pw*2, radius*2 + 3 + pw*2);
+ d->rectImage.fill(Qt::transparent);
+ QPainter p(&(d->rectImage));
+ p.setRenderHint(QPainter::Antialiasing);
+ if (d->pen && d->pen->isValid()) {
+ QPen pn(QColor(d->pen->color()), d->pen->width());
+ p.setPen(pn);
+ } else {
+ p.setPen(Qt::NoPen);
+ }
+ p.setBrush(d->color);
+ if (pw%2)
+ p.drawRoundedRect(QRectF(qreal(pw)/2+1, qreal(pw)/2+1, d->rectImage.width()-(pw+1), d->rectImage.height()-(pw+1)), d->radius, d->radius);
+ else
+ p.drawRoundedRect(QRectF(qreal(pw)/2, qreal(pw)/2, d->rectImage.width()-pw, d->rectImage.height()-pw), d->radius, d->radius);
+ QPixmapCache::insert(key, d->rectImage);
}
- p.setBrush(d->color);
- if (pw%2)
- p.drawRoundedRect(QRectF(qreal(pw)/2+1, qreal(pw)/2+1, d->rectImage.width()-(pw+1), d->rectImage.height()-(pw+1)), d->radius, d->radius);
- else
- p.drawRoundedRect(QRectF(qreal(pw)/2, qreal(pw)/2, d->rectImage.width()-pw, d->rectImage.height()-pw), d->radius, d->radius);
}
}
@@ -357,22 +388,32 @@ void QDeclarativeRectangle::generateBorderedRect()
Q_D(QDeclarativeRectangle);
if (d->rectImage.isNull()) {
const int pw = d->pen && d->pen->isValid() ? d->pen->width() : 0;
- d->rectImage = QPixmap(pw*2 + 3, pw*2 + 3);
- d->rectImage.fill(Qt::transparent);
- QPainter p(&(d->rectImage));
- p.setRenderHint(QPainter::Antialiasing);
- if (d->pen && d->pen->isValid()) {
- QPen pn(QColor(d->pen->color()), d->pen->width());
- pn.setJoinStyle(Qt::MiterJoin);
- p.setPen(pn);
- } else {
- p.setPen(Qt::NoPen);
+
+ QString key = QLatin1String("q_") % QString::number(pw) % d->color.name() % QString::number(d->color.alpha(), 16);
+ if (d->pen && d->pen->isValid())
+ key += d->pen->color().name() % QString::number(d->pen->color().alpha(), 16);
+
+ if (!QPixmapCache::find(key, &d->rectImage)) {
+ // Adding 5 here makes qDrawBorderPixmap() paint correctly with smooth: true
+ // See QTBUG-7999 and QTBUG-10765 for more details.
+ d->rectImage = QPixmap(pw*2 + 5, pw*2 + 5);
+ d->rectImage.fill(Qt::transparent);
+ QPainter p(&(d->rectImage));
+ p.setRenderHint(QPainter::Antialiasing);
+ if (d->pen && d->pen->isValid()) {
+ QPen pn(QColor(d->pen->color()), d->pen->width());
+ pn.setJoinStyle(Qt::MiterJoin);
+ p.setPen(pn);
+ } else {
+ p.setPen(Qt::NoPen);
+ }
+ p.setBrush(d->color);
+ if (pw%2)
+ p.drawRect(QRectF(qreal(pw)/2+1, qreal(pw)/2+1, d->rectImage.width()-(pw+1), d->rectImage.height()-(pw+1)));
+ else
+ p.drawRect(QRectF(qreal(pw)/2, qreal(pw)/2, d->rectImage.width()-pw, d->rectImage.height()-pw));
+ QPixmapCache::insert(key, d->rectImage);
}
- p.setBrush(d->color);
- if (pw%2)
- p.drawRect(QRectF(qreal(pw)/2+1, qreal(pw)/2+1, d->rectImage.width()-(pw+1), d->rectImage.height()-(pw+1)));
- else
- p.drawRect(QRectF(qreal(pw)/2, qreal(pw)/2, d->rectImage.width()-pw, d->rectImage.height()-pw));
}
}
diff --git a/src/declarative/graphicsitems/qdeclarativerepeater.cpp b/src/declarative/graphicsitems/qdeclarativerepeater.cpp
index d49bb02218..995e22ac1b 100644
--- a/src/declarative/graphicsitems/qdeclarativerepeater.cpp
+++ b/src/declarative/graphicsitems/qdeclarativerepeater.cpp
@@ -65,49 +65,75 @@ QDeclarativeRepeaterPrivate::~QDeclarativeRepeaterPrivate()
\since 4.7
\inherits Item
- \brief The Repeater item allows you to repeat an Item-based component using a model.
+ \brief The Repeater element allows you to repeat an Item-based component using a model.
- The Repeater item is used when you want to create a large number of
- similar items. For each entry in the model, an item is instantiated
- in a context seeded with data from the model. If the repeater will
- be instantiating a large number of instances, it may be more efficient to
- use one of Qt Declarative's \l {xmlViews}{view items}.
+ The Repeater element is used to create a large number of
+ similar items. Like other view elements, a Repeater has a \l model and a \l delegate:
+ for each entry in the model, the delegate is instantiated
+ in a context seeded with data from the model. A Repeater item is usually
+ enclosed in a positioner element such as \l Row or \l Column to visually
+ position the multiple delegate items created by the Repeater.
- The model may be either an object list, a string list, a number or a Qt model.
- In each case, the data element and the index is exposed to each instantiated
- component.
-
- The index is always exposed as an accessible \c index property.
- In the case of an object or string list, the data element (of type string
- or object) is available as the \c modelData property. In the case of a Qt model,
- all roles are available as named properties just like in the view classes. The
- following example shows how to use the index property inside the instantiated
- items.
+ The following Repeater creates three instances of a \l Rectangle item within
+ a \l Row:
+
+ \snippet doc/src/snippets/declarative/repeater.qml import
+ \codeline
+ \snippet doc/src/snippets/declarative/repeater.qml simple
+
+ \image repeater-simple.png
+
+ The \l model of a Repeater can be specified as a model object, a number, a string list
+ or an object list. If a model object is used, the
+ \l delegate can access the model roles as named properties, just as for view elements like
+ ListView and GridView.
+
+ The \l delegate can also access two additional properties:
- \snippet doc/src/snippets/declarative/repeater-index.qml 0
+ \list
+ \o \c index - the index of the delegate's item
+ \o \c modelData - the data element for the delegate, which is useful where the \l model is a string or object list
+ \endlist
- \image repeater-index.png
+ Here is a Repeater that uses the \c index property inside the instantiated items:
+
+ \table
+ \row
+ \o \snippet doc/src/snippets/declarative/repeater.qml index
+ \o \image repeater-index.png
+ \endtable
+
+ Here is another Repeater that uses the \c modelData property to reference the data for a
+ particular index:
+
+ \table
+ \row
+ \o \snippet doc/src/snippets/declarative/repeater.qml modeldata
+ \o \image repeater-modeldata.png
+ \endtable
Items instantiated by the Repeater are inserted, in order, as
children of the Repeater's parent. The insertion starts immediately after
- the repeater's position in its parent stacking list. This is to allow
- you to use a Repeater inside a layout. The following QML example shows how
- the instantiated items would visually appear stacked between the red and
- blue rectangles.
-
- \snippet doc/src/snippets/declarative/repeater.qml 0
+ the repeater's position in its parent stacking list. This allows
+ a Repeater to be used inside a layout. For example, the following Repeater's
+ items are stacked between a red rectangle and a blue rectangle:
+
+ \snippet doc/src/snippets/declarative/repeater.qml layout
\image repeater.png
- The repeater instance continues to own all items it instantiates, even
- if they are otherwise manipulated. It is illegal to manually remove an item
- created by the Repeater.
+ A Repeater item owns all items it instantiates. Removing or dynamically destroying
+ an item created by a Repeater results in unpredictable behavior.
- \note Repeater is Item-based, and cannot be used to repeat non-Item-derived objects.
+ Note that if a repeater is
+ required to instantiate a large number of items, it may be more efficient to
+ use other view elements such as ListView.
+
+ \note Repeater is \l {Item}-based, and can only repeat \l {Item}-derived objects.
For example, it cannot be used to repeat QtObjects.
\badcode
Item {
- //XXX illegal. Can't repeat QtObject as it doesn't derive from Item.
+ //XXX does not work! Can't repeat QtObject as it doesn't derive from Item.
Repeater {
model: 10
QtObject {}
@@ -143,7 +169,15 @@ QDeclarativeRepeater::~QDeclarativeRepeater()
The model providing data for the repeater.
- The model may be either an object list, a string list, a number or a Qt model.
+ This property can be set to any of the following:
+
+ \list
+ \o A number that indicates the number of delegates to be created
+ \o A model (e.g. a ListModel item, or a QAbstractItemModel subclass)
+ \o A string list
+ \o An object list
+ \endlist
+
In each case, the data element and the index is exposed to each instantiated
component. The index is always exposed as an accessible \c index property.
In the case of an object or string list, the data element (of type string
@@ -193,7 +227,7 @@ void QDeclarativeRepeater::setModel(const QVariant &model)
d->model = vim;
} else {
if (!d->ownModel) {
- d->model = new QDeclarativeVisualDataModel(qmlContext(this));
+ d->model = new QDeclarativeVisualDataModel(qmlContext(this), this);
d->ownModel = true;
}
if (QDeclarativeVisualDataModel *dataModel = qobject_cast<QDeclarativeVisualDataModel*>(d->model))
diff --git a/src/declarative/graphicsitems/qdeclarativescalegrid.cpp b/src/declarative/graphicsitems/qdeclarativescalegrid.cpp
index fe89190756..a053aa03dd 100644
--- a/src/declarative/graphicsitems/qdeclarativescalegrid.cpp
+++ b/src/declarative/graphicsitems/qdeclarativescalegrid.cpp
@@ -130,8 +130,9 @@ QDeclarativeGridScaledImage::QDeclarativeGridScaledImage(QIODevice *data)
int b = -1;
QString imgFile;
- while(!data->atEnd()) {
- QString line = QString::fromUtf8(data->readLine().trimmed());
+ QByteArray raw;
+ while(raw = data->readLine(), !raw.isEmpty()) {
+ QString line = QString::fromUtf8(raw.trimmed());
if (line.isEmpty() || line.startsWith(QLatin1Char('#')))
continue;
diff --git a/src/declarative/graphicsitems/qdeclarativetext.cpp b/src/declarative/graphicsitems/qdeclarativetext.cpp
index 2b8da8e529..c2e0d672bc 100644
--- a/src/declarative/graphicsitems/qdeclarativetext.cpp
+++ b/src/declarative/graphicsitems/qdeclarativetext.cpp
@@ -116,7 +116,7 @@ QSet<QUrl> QTextDocumentWithImageResources::errors;
\brief The Text item allows you to add formatted text to a scene.
\inherits Item
- It can display both plain and rich text. For example:
+ A Text item can display both plain and rich text. For example:
\qml
Text { text: "Hello World!"; font.family: "Helvetica"; font.pointSize: 24; color: "red" }
@@ -126,14 +126,14 @@ QSet<QUrl> QTextDocumentWithImageResources::errors;
\image declarative-text.png
If height and width are not explicitly set, Text will attempt to determine how
- much room is needed and set it accordingly. Unless \c wrapMode is set, it will always
+ much room is needed and set it accordingly. Unless \l wrapMode is set, it will always
prefer width to height (all text will be placed on a single line).
- The \c elide property can alternatively be used to fit a single line of
+ The \l elide property can alternatively be used to fit a single line of
plain text to a set width.
- Note that the \l{Supported HTML Subset} is limited, and that if IMG tags
- load remote images, the text reloads (see resourcesLoading).
+ Note that the \l{Supported HTML Subset} is limited. Also, if the text contains
+ HTML img tags that load remote images, the text is reloaded.
Text provides read-only text. For editable text, see \l TextEdit.
*/
@@ -142,7 +142,6 @@ QSet<QUrl> QTextDocumentWithImageResources::errors;
\internal
\class QDeclarativeText
\qmlclass Text
- \ingroup group_coreitems
\brief The QDeclarativeText class provides a formatted text item that you can add to a QDeclarativeView.
@@ -162,7 +161,7 @@ QSet<QUrl> QTextDocumentWithImageResources::errors;
The \c elide property can alternatively be used to fit a line of plain text to a set width.
- A QDeclarativeText object can be instantiated in Qml using the tag \c Text.
+ A QDeclarativeText object can be instantiated in QML using the tag \c Text.
*/
QDeclarativeText::QDeclarativeText(QDeclarativeItem *parent)
: QDeclarativeItem(*(new QDeclarativeTextPrivate), parent)
@@ -191,7 +190,7 @@ QDeclarativeTextPrivate::~QDeclarativeTextPrivate()
/*!
\qmlproperty bool Text::font.bold
- Sets the font's weight to bold.
+ Sets whether the font weight is bold.
*/
/*!
@@ -201,11 +200,11 @@ QDeclarativeTextPrivate::~QDeclarativeTextPrivate()
The weight can be one of:
\list
- \o Light
- \o Normal - the default
- \o DemiBold
- \o Bold
- \o Black
+ \o Font.Light
+ \o Font.Normal - the default
+ \o Font.DemiBold
+ \o Font.Bold
+ \o Font.Black
\endlist
\qml
@@ -216,25 +215,25 @@ QDeclarativeTextPrivate::~QDeclarativeTextPrivate()
/*!
\qmlproperty bool Text::font.italic
- Sets the style of the text to italic.
+ Sets whether the font has an italic style.
*/
/*!
\qmlproperty bool Text::font.underline
- Set the style of the text to underline.
+ Sets whether the text is underlined.
*/
/*!
\qmlproperty bool Text::font.outline
- Set the style of the text to outline.
+ Sets whether the font has an outline style.
*/
/*!
\qmlproperty bool Text::font.strikeout
- Set the style of the text to strikeout.
+ Sets whether the font has a strikeout style.
*/
/*!
@@ -278,11 +277,11 @@ QDeclarativeTextPrivate::~QDeclarativeTextPrivate()
Sets the capitalization for the text.
\list
- \o MixedCase - This is the normal text rendering option where no capitalization change is applied.
- \o AllUppercase - This alters the text to be rendered in all uppercase type.
- \o AllLowercase - This alters the text to be rendered in all lowercase type.
- \o SmallCaps - This alters the text to be rendered in small-caps type.
- \o Capitalize - This alters the text to be rendered with the first character of each word as an uppercase character.
+ \o Font.MixedCase - This is the normal text rendering option where no capitalization change is applied.
+ \o Font.AllUppercase - This alters the text to be rendered in all uppercase type.
+ \o Font.AllLowercase - This alters the text to be rendered in all lowercase type.
+ \o Font.SmallCaps - This alters the text to be rendered in small-caps type.
+ \o Font.Capitalize - This alters the text to be rendered with the first character of each word as an uppercase character.
\endlist
\qml
@@ -319,7 +318,11 @@ void QDeclarativeText::setText(const QString &n)
if (d->richText) {
if (isComponentComplete()) {
d->ensureDoc();
+#ifndef QT_NO_TEXTHTMLPARSER
d->doc->setHtml(n);
+#else
+ d->doc->setPlainText(n);
+#endif
}
}
@@ -381,10 +384,10 @@ QColor QDeclarativeText::color() const
Supported text styles are:
\list
- \o Normal - the default
- \o Outline
- \o Raised
- \o Sunken
+ \o Text.Normal - the default
+ \o Text.Outline
+ \o Text.Raised
+ \o Text.Sunken
\endlist
\qml
@@ -452,9 +455,14 @@ QColor QDeclarativeText::styleColor() const
Sets the horizontal and vertical alignment of the text within the Text items
width and height. By default, the text is top-left aligned.
- The valid values for \c horizontalAlignment are \c AlignLeft, \c AlignRight and
- \c AlignHCenter. The valid values for \c verticalAlignment are \c AlignTop, \c AlignBottom
- and \c AlignVCenter.
+ The valid values for \c horizontalAlignment are \c Text.AlignLeft, \c Text.AlignRight and
+ \c Text.AlignHCenter. The valid values for \c verticalAlignment are \c Text.AlignTop, \c Text.AlignBottom
+ and \c Text.AlignVCenter.
+
+ Note that for a single line of text, the size of the text is the area of the text. In this common case,
+ all alignments are equivalent. If you want the text to be, say, centered in it parent, then you will
+ need to either modify the Item::anchors, or set horizontalAlignment to Text.AlignHCenter and bind the width to
+ that of the parent.
*/
QDeclarativeText::HAlignment QDeclarativeText::hAlign() const
{
@@ -469,6 +477,7 @@ void QDeclarativeText::setHAlign(HAlignment align)
return;
d->hAlign = align;
+ update();
emit horizontalAlignmentChanged(align);
}
@@ -485,6 +494,7 @@ void QDeclarativeText::setVAlign(VAlignment align)
return;
d->vAlign = align;
+ update();
emit verticalAlignmentChanged(align);
}
@@ -495,16 +505,11 @@ void QDeclarativeText::setVAlign(VAlignment align)
wrap if an explicit width has been set. wrapMode can be one of:
\list
- \o NoWrap - no wrapping will be performed.
- \o WordWrap - wrapping is done on word boundaries. If the text cannot be
- word-wrapped to the specified width it will be partially drawn outside of the item's bounds.
- If this is undesirable then enable clipping on the item (Item::clip).
- \o WrapAnywhere - Text can be wrapped at any point on a line, even if it occurs in the middle of a word.
- \o WrapAtWordBoundaryOrAnywhere - If possible, wrapping occurs at a word boundary; otherwise it
- will occur at the appropriate point on the line, even in the middle of a word.
+ \o Text.NoWrap (default) - no wrapping will be performed. If the text contains insufficient newlines, then \l paintedWidth will exceed a set width.
+ \o Text.WordWrap - wrapping is done on word boundaries only. If a word is too long, \l paintedWidth will exceed a set width.
+ \o Text.WrapAnywhere - wrapping is done at any point on a line, even if it occurs in the middle of a word.
+ \o Text.Wrap - if possible, wrapping occurs at a word boundary; otherwise it will occur at the appropriate point on the line, even in the middle of a word.
\endlist
-
- The default is NoWrap.
*/
QDeclarativeText::WrapMode QDeclarativeText::wrapMode() const
{
@@ -531,13 +536,20 @@ void QDeclarativeText::setWrapMode(WrapMode mode)
The way the text property should be displayed.
- Supported text formats are \c AutoText, \c PlainText, \c RichText and \c StyledText
+ Supported text formats are:
+
+ \list
+ \o Text.AutoText (default)
+ \o Text.PlainText
+ \o Text.RichText
+ \o Text.StyledText
+ \endlist
- The default is AutoText. If the text format is AutoText the text element
+ If the text format is \c Text.AutoText the text element
will automatically determine whether the text should be treated as
rich text. This determination is made using Qt::mightBeRichText().
- StyledText is an optimized format supporting some basic text
+ Text.StyledText is an optimized format supporting some basic text
styling markup, in the style of html 3.2:
\code
@@ -548,7 +560,7 @@ void QDeclarativeText::setWrapMode(WrapMode mode)
&gt; &lt; &amp;
\endcode
- \c StyledText parser is strict, requiring tags to be correctly nested.
+ \c Text.StyledText parser is strict, requiring tags to be correctly nested.
\table
\row
@@ -597,7 +609,11 @@ void QDeclarativeText::setTextFormat(TextFormat format)
} else if (!wasRich && d->richText) {
if (isComponentComplete()) {
d->ensureDoc();
+#ifndef QT_NO_TEXTHTMLPARSER
d->doc->setHtml(d->text);
+#else
+ d->doc->setPlainText(d->text);
+#endif
}
d->updateLayout();
d->markImgDirty();
@@ -616,13 +632,13 @@ void QDeclarativeText::setTextFormat(TextFormat format)
Eliding can be:
\list
- \o ElideNone - the default
- \o ElideLeft
- \o ElideMiddle
- \o ElideRight
+ \o Text.ElideNone - the default
+ \o Text.ElideLeft
+ \o Text.ElideMiddle
+ \o Text.ElideRight
\endlist
- If the text is a multi-length string, and the mode is not \c ElideNone,
+ If the text is a multi-length string, and the mode is not \c Text.ElideNone,
the first string that fits will be used, otherwise the last will be elided.
Multi-length strings are ordered from longest to shortest, separated by the
@@ -704,6 +720,7 @@ void QDeclarativeTextPrivate::updateSize()
QFontMetrics fm(font);
if (text.isEmpty()) {
q->setImplicitHeight(fm.height());
+ emit q->paintedSizeChanged();
return;
}
@@ -742,11 +759,36 @@ void QDeclarativeTextPrivate::updateSize()
//### need to comfirm cost of always setting these for richText
q->setImplicitWidth(richText ? (int)doc->idealWidth() : size.width());
q->setImplicitHeight(richText ? (int)doc->size().height() : size.height());
+ emit q->paintedSizeChanged();
} else {
dirty = true;
}
}
+/*!
+ \qmlproperty real Text::paintedWidth
+
+ Returns the width of the text, including width past the width
+ which is covered due to insufficient wrapping if WrapMode is set.
+*/
+qreal QDeclarativeText::paintedWidth() const
+{
+ return implicitWidth();
+}
+
+/*!
+ \qmlproperty real Text::paintedHeight
+
+ Returns the height of the text, including height past the height
+ which is covered due to there being more text than fits in the set height.
+*/
+qreal QDeclarativeText::paintedHeight() const
+{
+ return implicitHeight();
+}
+
+
+
// ### text layout handling should be profiled and optimized as needed
// what about QStackTextEngine engine(tmp, d->font.font()); QTextLayout textLayout(&engine);
@@ -957,7 +999,11 @@ void QDeclarativeText::reloadWithResources()
Q_D(QDeclarativeText);
if (!d->richText)
return;
+#ifndef QT_NO_TEXTHTMLPARSER
d->doc->setHtml(d->text);
+#else
+ d->doc->setPlainText(d->text);
+#endif
d->updateLayout();
d->markImgDirty();
}
@@ -1069,8 +1115,9 @@ void QDeclarativeText::paint(QPainter *p, const QStyleOptionGraphicsItem *, QWid
/*!
\qmlproperty bool Text::smooth
- Set this property if you want the text to be smoothly scaled or
- transformed. Smooth filtering gives better visual quality, but is slower. If
+ This property holds whether the text is smoothly scaled or transformed.
+
+ Smooth filtering gives better visual quality, but is slower. If
the item is displayed at its natural size, this property has no visual or
performance effect.
@@ -1086,7 +1133,11 @@ void QDeclarativeText::componentComplete()
if (d->dirty) {
if (d->richText) {
d->ensureDoc();
+#ifndef QT_NO_TEXTHTMLPARSER
d->doc->setHtml(d->text);
+#else
+ d->doc->setPlainText(d->text);
+#endif
}
d->updateLayout();
d->dirty = false;
@@ -1116,7 +1167,7 @@ void QDeclarativeText::mousePressEvent(QGraphicsSceneMouseEvent *event)
}
/*!
- \qmlsignal Text::linkActivated(link)
+ \qmlsignal Text::onLinkActivated(link)
This handler is called when the user clicks on a link embedded in the text.
*/
diff --git a/src/declarative/graphicsitems/qdeclarativetext_p.h b/src/declarative/graphicsitems/qdeclarativetext_p.h
index 00ce1267dc..db21140206 100644
--- a/src/declarative/graphicsitems/qdeclarativetext_p.h
+++ b/src/declarative/graphicsitems/qdeclarativetext_p.h
@@ -71,6 +71,8 @@ class Q_DECLARATIVE_EXPORT QDeclarativeText : public QDeclarativeItem
Q_PROPERTY(WrapMode wrapMode READ wrapMode WRITE setWrapMode NOTIFY wrapModeChanged)
Q_PROPERTY(TextFormat textFormat READ textFormat WRITE setTextFormat NOTIFY textFormatChanged)
Q_PROPERTY(TextElideMode elide READ elideMode WRITE setElideMode NOTIFY elideModeChanged) //### elideMode?
+ Q_PROPERTY(qreal paintedWidth READ paintedWidth NOTIFY paintedSizeChanged)
+ Q_PROPERTY(qreal paintedHeight READ paintedHeight NOTIFY paintedSizeChanged)
public:
QDeclarativeText(QDeclarativeItem *parent=0);
@@ -98,7 +100,8 @@ public:
enum WrapMode { NoWrap = QTextOption::NoWrap,
WordWrap = QTextOption::WordWrap,
WrapAnywhere = QTextOption::WrapAnywhere,
- WrapAtWordBoundaryOrAnywhere = QTextOption::WrapAtWordBoundaryOrAnywhere
+ WrapAtWordBoundaryOrAnywhere = QTextOption::WrapAtWordBoundaryOrAnywhere, // COMPAT
+ Wrap = QTextOption::WrapAtWordBoundaryOrAnywhere
};
QString text() const;
@@ -137,6 +140,9 @@ public:
int resourcesLoading() const; // mainly for testing
+ qreal paintedWidth() const;
+ qreal paintedHeight() const;
+
Q_SIGNALS:
void textChanged(const QString &text);
void linkActivated(const QString &link);
@@ -149,6 +155,7 @@ Q_SIGNALS:
void wrapModeChanged();
void textFormatChanged(TextFormat textFormat);
void elideModeChanged(TextElideMode mode);
+ void paintedSizeChanged();
protected:
void mousePressEvent(QGraphicsSceneMouseEvent *event);
diff --git a/src/declarative/graphicsitems/qdeclarativetextedit.cpp b/src/declarative/graphicsitems/qdeclarativetextedit.cpp
index 25eaef6949..3106daf347 100644
--- a/src/declarative/graphicsitems/qdeclarativetextedit.cpp
+++ b/src/declarative/graphicsitems/qdeclarativetextedit.cpp
@@ -46,6 +46,8 @@
#include <private/qdeclarativeglobal_p.h>
#include <qdeclarativeinfo.h>
+#include <QtCore/qmath.h>
+
#include <QTextLayout>
#include <QTextLine>
#include <QTextDocument>
@@ -59,33 +61,51 @@ QT_BEGIN_NAMESPACE
/*!
\qmlclass TextEdit QDeclarativeTextEdit
- \since 4.7
- \brief The TextEdit item allows you to add editable formatted text to a scene.
+ \since 4.7
+ \brief The TextEdit item displays multiple lines of editable formatted text.
+ \inherits Item
+
+ The TextEdit item displays a block of editable, formatted text.
It can display both plain and rich text. For example:
\qml
TextEdit {
- id: edit
+ width: 240
text: "<b>Hello</b> <i>World!</i>"
- focus: true
font.family: "Helvetica"
font.pointSize: 20
color: "blue"
- width: 240
+ focus: true
}
\endqml
\image declarative-textedit.gif
- \sa Text
+ Setting \l {Item::focus}{focus} to \c true enables the TextEdit item to receive keyboard focus.
+
+ Note that the TextEdit does not implement scrolling, following the cursor, or other behaviors specific
+ to a look-and-feel. For example, to add flickable scrolling that follows the cursor:
+
+ \snippet snippets/declarative/texteditor.qml 0
+
+ A particular look-and-feel might use smooth scrolling (eg. using SmoothedFollow), might have a visible
+ scrollbar, or a scrollbar that fades in to show location, etc.
+
+ Clipboard support is provided by the cut(), copy(), and paste() functions, and the selection can
+ be handled in a traditional "mouse" mechanism by setting selectByMouse, or handled completely
+ from QML by manipulating selectionStart and selectionEnd, or using selectAll() or selectWord().
+
+ You can translate between cursor positions (characters from the start of the document) and pixel
+ points using positionAt() and positionToRectangle().
+
+ \sa Text, TextInput
*/
/*!
\internal
\class QDeclarativeTextEdit
\qmlclass TextEdit
- \ingroup group_coreitems
\brief The QDeclarativeTextEdit class provides an editable formatted text item that you can add to a QDeclarativeView.
@@ -93,7 +113,7 @@ TextEdit {
\image declarative-textedit.png
- A QDeclarativeTextEdit object can be instantiated in Qml using the tag \c &lt;TextEdit&gt;.
+ A QDeclarativeTextEdit object can be instantiated in QML using the tag \c &lt;TextEdit&gt;.
*/
/*!
@@ -110,9 +130,11 @@ QString QDeclarativeTextEdit::text() const
{
Q_D(const QDeclarativeTextEdit);
+#ifndef QT_NO_TEXTHTMLPARSER
if (d->richText)
return d->document->toHtml();
else
+#endif
return d->document->toPlainText();
}
@@ -129,7 +151,7 @@ QString QDeclarativeTextEdit::text() const
/*!
\qmlproperty bool TextEdit::font.bold
- Sets the font's weight to bold.
+ Sets whether the font weight is bold.
*/
/*!
@@ -139,11 +161,11 @@ QString QDeclarativeTextEdit::text() const
The weight can be one of:
\list
- \o Light
- \o Normal - the default
- \o DemiBold
- \o Bold
- \o Black
+ \o Font.Light
+ \o Font.Normal - the default
+ \o Font.DemiBold
+ \o Font.Bold
+ \o Font.Black
\endlist
\qml
@@ -154,25 +176,25 @@ QString QDeclarativeTextEdit::text() const
/*!
\qmlproperty bool TextEdit::font.italic
- Sets the style of the text to italic.
+ Sets whether the font has an italic style.
*/
/*!
\qmlproperty bool TextEdit::font.underline
- Set the style of the text to underline.
+ Sets whether the text is underlined.
*/
/*!
\qmlproperty bool TextEdit::font.outline
- Set the style of the text to outline.
+ Sets whether the font has an outline style.
*/
/*!
\qmlproperty bool TextEdit::font.strikeout
- Set the style of the text to strikeout.
+ Sets whether the font has a strikeout style.
*/
/*!
@@ -187,7 +209,7 @@ QString QDeclarativeTextEdit::text() const
Sets the font size in pixels.
Using this function makes the font device dependent.
- Use \c pointSize to set the size of the font in a device independent manner.
+ Use \l pointSize to set the size of the font in a device independent manner.
*/
/*!
@@ -216,11 +238,11 @@ QString QDeclarativeTextEdit::text() const
Sets the capitalization for the text.
\list
- \o MixedCase - This is the normal text rendering option where no capitalization change is applied.
- \o AllUppercase - This alters the text to be rendered in all uppercase type.
- \o AllLowercase - This alters the text to be rendered in all lowercase type.
- \o SmallCaps - This alters the text to be rendered in small-caps type.
- \o Capitalize - This alters the text to be rendered with the first character of each word as an uppercase character.
+ \o Font.MixedCase - This is the normal text rendering option where no capitalization change is applied.
+ \o Font.AllUppercase - This alters the text to be rendered in all uppercase type.
+ \o Font.AllLowercase - This alters the text to be rendered in all lowercase type.
+ \o Font.SmallCaps - This alters the text to be rendered in small-caps type.
+ \o Font.Capitalize - This alters the text to be rendered with the first character of each word as an uppercase character.
\endlist
\qml
@@ -243,7 +265,11 @@ void QDeclarativeTextEdit::setText(const QString &text)
d->text = text;
d->richText = d->format == RichText || (d->format == AutoText && Qt::mightBeRichText(text));
if (d->richText) {
+#ifndef QT_NO_TEXTHTMLPARSER
d->control->setHtml(text);
+#else
+ d->control->setPlainText(text);
+#endif
} else {
d->control->setPlainText(text);
}
@@ -255,9 +281,14 @@ void QDeclarativeTextEdit::setText(const QString &text)
The way the text property should be displayed.
- Supported text formats are \c AutoText, \c PlainText and \c RichText.
+ \list
+ \o TextEdit.AutoText
+ \o TextEdit.PlainText
+ \o TextEdit.RichText
+ \o TextEdit.StyledText
+ \endlist
- The default is AutoText. If the text format is AutoText the text edit
+ The default is TextEdit.AutoText. If the text format is TextEdit.AutoText the text edit
will automatically determine whether the text should be treated as
rich text. This determination is made using Qt::mightBeRichText().
@@ -303,7 +334,11 @@ void QDeclarativeTextEdit::setTextFormat(TextFormat format)
d->control->setPlainText(d->text);
updateSize();
} else if (!wasRich && d->richText) {
+#ifndef QT_NO_TEXTHTMLPARSER
d->control->setHtml(d->text);
+#else
+ d->control->setPlainText(d->text);
+#endif
updateSize();
}
d->format = format;
@@ -421,12 +456,22 @@ void QDeclarativeTextEdit::setSelectedTextColor(const QColor &color)
\qmlproperty enumeration TextEdit::horizontalAlignment
\qmlproperty enumeration TextEdit::verticalAlignment
- Sets the horizontal and vertical alignment of the text within the TextEdit items
+ Sets the horizontal and vertical alignment of the text within the TextEdit item's
width and height. By default, the text is top-left aligned.
- The valid values for \c horizontalAlignment are \c AlignLeft, \c AlignRight and
- \c AlignHCenter. The valid values for \c verticalAlignment are \c AlignTop, \c AlignBottom
- and \c AlignVCenter.
+ Valid values for \c horizontalAlignment are:
+ \list
+ \o TextEdit.AlignLeft (default)
+ \o TextEdit.AlignRight
+ \o TextEdit.AlignHCenter
+ \endlist
+
+ Valid values for \c verticalAlignment are:
+ \list
+ \o TextEdit.AlignTop (default)
+ \o TextEdit.AlignBottom
+ \c TextEdit.AlignVCenter
+ \endlist
*/
QDeclarativeTextEdit::HAlignment QDeclarativeTextEdit::hAlign() const
{
@@ -469,14 +514,13 @@ void QDeclarativeTextEdit::setVAlign(QDeclarativeTextEdit::VAlignment alignment)
The text will only wrap if an explicit width has been set.
\list
- \o NoWrap - no wrapping will be performed.
- \o WordWrap - wrapping is done on word boundaries.
- \o WrapAnywhere - Text can be wrapped at any point on a line, even if it occurs in the middle of a word.
- \o WrapAtWordBoundaryOrAnywhere - If possible, wrapping occurs at a word boundary; otherwise it
- will occur at the appropriate point on the line, even in the middle of a word.
+ \o TextEdit.NoWrap - no wrapping will be performed. If the text contains insufficient newlines, then implicitWidth will exceed a set width.
+ \o TextEdit.WordWrap - wrapping is done on word boundaries only. If a word is too long, implicitWidth will exceed a set width.
+ \o TextEdit.WrapAnywhere - wrapping is done at any point on a line, even if it occurs in the middle of a word.
+ \o TextEdit.Wrap - if possible, wrapping occurs at a word boundary; otherwise it will occur at the appropriate point on the line, even in the middle of a word.
\endlist
- The default is NoWrap.
+ The default is TextEdit.NoWrap. If you set a width, consider using TextEdit.Wrap.
*/
QDeclarativeTextEdit::WrapMode QDeclarativeTextEdit::wrapMode() const
{
@@ -496,6 +540,93 @@ void QDeclarativeTextEdit::setWrapMode(WrapMode mode)
}
/*!
+ \qmlproperty real TextEdit::paintedWidth
+
+ Returns the width of the text, including the width past the width
+ which is covered due to insufficient wrapping if \l wrapMode is set.
+*/
+qreal QDeclarativeTextEdit::paintedWidth() const
+{
+ return implicitWidth();
+}
+
+/*!
+ \qmlproperty real TextEdit::paintedHeight
+
+ Returns the height of the text, including the height past the height
+ that is covered if the text does not fit within the set height.
+*/
+qreal QDeclarativeTextEdit::paintedHeight() const
+{
+ return implicitHeight();
+}
+
+/*!
+ \qmlmethod rectangle TextEdit::positionToRectangle(position)
+
+ Returns the rectangle at the given \a position in the text. The x, y,
+ and height properties correspond to the cursor that would describe
+ that position.
+*/
+QRectF QDeclarativeTextEdit::positionToRectangle(int pos) const
+{
+ Q_D(const QDeclarativeTextEdit);
+ QTextCursor c(d->document);
+ c.setPosition(pos);
+ return d->control->cursorRect(c);
+
+}
+
+/*!
+ \qmlmethod int TextEdit::positionAt(x,y)
+
+ Returns the text position closest to pixel position (\a x, \a y).
+
+ Position 0 is before the first character, position 1 is after the first character
+ but before the second, and so on until position \l {text}.length, which is after all characters.
+*/
+int QDeclarativeTextEdit::positionAt(int x, int y) const
+{
+ Q_D(const QDeclarativeTextEdit);
+ int r = d->document->documentLayout()->hitTest(QPoint(x,y-d->yoff), Qt::FuzzyHit);
+ return r;
+}
+
+/*!
+ \qmlmethod int TextEdit::moveCursorSelection(int pos)
+
+ Moves the cursor to \a position and updates the selection accordingly.
+ (To only move the cursor, set the \l cursorPosition property.)
+
+ When this method is called it additionally sets either the
+ selectionStart or the selectionEnd (whichever was at the previous cursor position)
+ to the specified position. This allows you to easily extend and contract the selected
+ text range.
+
+ For example, take this sequence of calls:
+
+ \code
+ cursorPosition = 5
+ moveCursorSelection(9)
+ moveCursorSelection(7)
+ \endcode
+
+ This moves the cursor to position 5, extend the selection end from 5 to 9
+ and then retract the selection end from 9 to 7, leaving the text from position 5 to 7
+ selected (the 6th and 7th characters).
+*/
+void QDeclarativeTextEdit::moveCursorSelection(int pos)
+{
+ //Note that this is the same as setCursorPosition but with the KeepAnchor flag set
+ Q_D(QDeclarativeTextEdit);
+ QTextCursor cursor = d->control->textCursor();
+ if (cursor.position() == pos)
+ return;
+ cursor.setPosition(pos, QTextCursor::KeepAnchor);
+ d->control->setTextCursor(cursor);
+}
+
+/*!
\qmlproperty bool TextEdit::cursorVisible
If true the text edit shows a cursor.
@@ -517,7 +648,7 @@ void QDeclarativeTextEdit::setCursorVisible(bool on)
QFocusEvent focusEvent(on ? QEvent::FocusIn : QEvent::FocusOut);
if (!on && !d->persistentSelection)
d->control->setCursorIsFocusIndicator(true);
- d->control->processEvent(&focusEvent, QPointF(0, 0));
+ d->control->processEvent(&focusEvent, QPointF(0, -d->yoff));
emit cursorVisibleChanged(d->cursorVisible);
}
@@ -568,7 +699,7 @@ void QDeclarativeTextEdit::setCursorDelegate(QDeclarativeComponent* c)
disconnect(d->control, SIGNAL(cursorPositionChanged()),
this, SLOT(moveCursorDelegate()));
d->control->setCursorWidth(-1);
- dirtyCache(cursorRect());
+ dirtyCache(cursorRectangle());
delete d->cursor;
d->cursor = 0;
}
@@ -595,7 +726,7 @@ void QDeclarativeTextEdit::loadCursorDelegate()
connect(d->control, SIGNAL(cursorPositionChanged()),
this, SLOT(moveCursorDelegate()));
d->control->setCursorWidth(0);
- dirtyCache(cursorRect());
+ dirtyCache(cursorRectangle());
QDeclarative_setParent_noEvent(d->cursor, this);
d->cursor->setParentItem(this);
d->cursor->setHeight(QFontMetrics(d->font).height());
@@ -609,12 +740,9 @@ void QDeclarativeTextEdit::loadCursorDelegate()
\qmlproperty int TextEdit::selectionStart
The cursor position before the first character in the current selection.
- Setting this and selectionEnd allows you to specify a selection in the
- text edit.
- Note that if selectionStart == selectionEnd then there is no current
- selection. If you attempt to set selectionStart to a value outside of
- the current text, selectionStart will not be changed.
+ This property is read-only. To change the selection, use select(start,end),
+ selectAll(), or selectWord().
\sa selectionEnd, cursorPosition, selectedText
*/
@@ -624,25 +752,13 @@ int QDeclarativeTextEdit::selectionStart() const
return d->control->textCursor().selectionStart();
}
-void QDeclarativeTextEdit::setSelectionStart(int s)
-{
- Q_D(QDeclarativeTextEdit);
- if(d->lastSelectionStart == s || s < 0 || s > text().length())
- return;
- d->lastSelectionStart = s;
- d->updateSelection();// Will emit the relevant signals
-}
-
/*!
\qmlproperty int TextEdit::selectionEnd
The cursor position after the last character in the current selection.
- Setting this and selectionStart allows you to specify a selection in the
- text edit.
- Note that if selectionStart == selectionEnd then there is no current
- selection. If you attempt to set selectionEnd to a value outside of
- the current text, selectionEnd will not be changed.
+ This property is read-only. To change the selection, use select(start,end),
+ selectAll(), or selectWord().
\sa selectionStart, cursorPosition, selectedText
*/
@@ -652,15 +768,6 @@ int QDeclarativeTextEdit::selectionEnd() const
return d->control->textCursor().selectionEnd();
}
-void QDeclarativeTextEdit::setSelectionEnd(int s)
-{
- Q_D(QDeclarativeTextEdit);
- if(d->lastSelectionEnd == s || s < 0 || s > text().length())
- return;
- d->lastSelectionEnd = s;
- d->updateSelection();// Will emit the relevant signals
-}
-
/*!
\qmlproperty string TextEdit::selectedText
@@ -724,7 +831,7 @@ void QDeclarativeTextEdit::setPersistentSelection(bool on)
}
/*
- \qmlproperty number TextEdit::textMargin
+ \qmlproperty real TextEdit::textMargin
The margin, in pixels, around the text in the TextEdit.
*/
@@ -767,6 +874,33 @@ void QDeclarativeTextEdit::componentComplete()
}
/*!
+ \qmlproperty bool TextEdit::selectByMouse
+
+ Defaults to false.
+
+ If true, the user can use the mouse to select text in some
+ platform-specific way. Note that for some platforms this may
+ not be an appropriate interaction (eg. may conflict with how
+ the text needs to behave inside a Flickable.
+*/
+bool QDeclarativeTextEdit::selectByMouse() const
+{
+ Q_D(const QDeclarativeTextEdit);
+ return d->selectByMouse;
+}
+
+void QDeclarativeTextEdit::setSelectByMouse(bool on)
+{
+ Q_D(QDeclarativeTextEdit);
+ if (d->selectByMouse != on) {
+ d->selectByMouse = on;
+ emit selectByMouseChanged(on);
+ }
+}
+
+
+
+/*!
\qmlproperty bool TextEdit::readOnly
Whether the user an interact with the TextEdit item. If this
@@ -821,13 +955,15 @@ Qt::TextInteractionFlags QDeclarativeTextEdit::textInteractionFlags() const
}
/*!
- Returns the rectangle where the text cursor is rendered
- within the text edit.
+ \qmlproperty rectangle TextEdit::cursorRectangle
+
+ The rectangle where the text cursor is rendered
+ within the text edit. Read-only.
*/
-QRect QDeclarativeTextEdit::cursorRect() const
+QRect QDeclarativeTextEdit::cursorRectangle() const
{
Q_D(const QDeclarativeTextEdit);
- return d->control->cursorRect().toRect();
+ return d->control->cursorRect().toRect().translated(0,-d->yoff);
}
@@ -839,7 +975,7 @@ bool QDeclarativeTextEdit::event(QEvent *event)
{
Q_D(QDeclarativeTextEdit);
if (event->type() == QEvent::ShortcutOverride) {
- d->control->processEvent(event, QPointF(0, 0));
+ d->control->processEvent(event, QPointF(0, -d->yoff));
return event->isAccepted();
}
return QDeclarativePaintedItem::event(event);
@@ -852,8 +988,9 @@ Handles the given key \a event.
void QDeclarativeTextEdit::keyPressEvent(QKeyEvent *event)
{
Q_D(QDeclarativeTextEdit);
- d->control->processEvent(event, QPointF(0, 0));
-
+ keyPressPreHandler(event);
+ if (!event->isAccepted())
+ d->control->processEvent(event, QPointF(0, -d->yoff));
if (!event->isAccepted())
QDeclarativePaintedItem::keyPressEvent(event);
}
@@ -865,7 +1002,9 @@ Handles the given key \a event.
void QDeclarativeTextEdit::keyReleaseEvent(QKeyEvent *event)
{
Q_D(QDeclarativeTextEdit);
- d->control->processEvent(event, QPointF(0, 0));
+ keyReleasePreHandler(event);
+ if (!event->isAccepted())
+ d->control->processEvent(event, QPointF(0, -d->yoff));
if (!event->isAccepted())
QDeclarativePaintedItem::keyReleaseEvent(event);
}
@@ -878,6 +1017,8 @@ void QDeclarativeTextEditPrivate::focusChanged(bool hasFocus)
}
/*!
+ \qmlmethod void TextEdit::selectAll()
+
Causes all text to be selected.
*/
void QDeclarativeTextEdit::selectAll()
@@ -887,6 +1028,83 @@ void QDeclarativeTextEdit::selectAll()
}
/*!
+ \qmlmethod void TextEdit::selectWord()
+
+ Causes the word closest to the current cursor position to be selected.
+*/
+void QDeclarativeTextEdit::selectWord()
+{
+ Q_D(QDeclarativeTextEdit);
+ QTextCursor c = d->control->textCursor();
+ c.select(QTextCursor::WordUnderCursor);
+ d->control->setTextCursor(c);
+}
+
+/*!
+ \qmlmethod void TextEdit::select(start,end)
+
+ Causes the text from \a start to \a end to be selected.
+
+ If either start or end is out of range, the selection is not changed.
+
+ After calling this, selectionStart will become the lesser
+ and selectionEnd will become the greater (regardless of the order passed
+ to this method).
+
+ \sa selectionStart, selectionEnd
+*/
+void QDeclarativeTextEdit::select(int start, int end)
+{
+ Q_D(QDeclarativeTextEdit);
+ if (start < 0 || end < 0 || start > d->text.length() || end > d->text.length())
+ return;
+ QTextCursor cursor = d->control->textCursor();
+ cursor.beginEditBlock();
+ cursor.setPosition(start, QTextCursor::MoveAnchor);
+ cursor.setPosition(end, QTextCursor::KeepAnchor);
+ cursor.endEditBlock();
+ d->control->setTextCursor(cursor);
+
+ // QTBUG-11100
+ updateSelectionMarkers();
+}
+
+#ifndef QT_NO_CLIPBOARD
+/*!
+ \qmlmethod TextEdit::cut()
+
+ Moves the currently selected text to the system clipboard.
+*/
+void QDeclarativeTextEdit::cut()
+{
+ Q_D(QDeclarativeTextEdit);
+ d->control->cut();
+}
+
+/*!
+ \qmlmethod TextEdit::copy()
+
+ Copies the currently selected text to the system clipboard.
+*/
+void QDeclarativeTextEdit::copy()
+{
+ Q_D(QDeclarativeTextEdit);
+ d->control->copy();
+}
+
+/*!
+ \qmlmethod TextEdit::paste()
+
+ Replaces the currently selected text by the contents of the system clipboard.
+*/
+void QDeclarativeTextEdit::paste()
+{
+ Q_D(QDeclarativeTextEdit);
+ d->control->paste();
+}
+#endif // QT_NO_CLIPBOARD
+
+/*!
\overload
Handles the given mouse \a event.
*/
@@ -894,17 +1112,21 @@ void QDeclarativeTextEdit::mousePressEvent(QGraphicsSceneMouseEvent *event)
{
Q_D(QDeclarativeTextEdit);
if (d->focusOnPress){
- QGraphicsItem *p = parentItem();//###Is there a better way to find my focus scope?
- while(p) {
- if(p->flags() & QGraphicsItem::ItemIsFocusScope){
- p->setFocus();
- break;
+ bool hadFocus = hasFocus();
+ forceFocus();
+ if (d->showInputPanelOnFocus) {
+ if (hasFocus() && hadFocus && !isReadOnly()) {
+ // re-open input panel on press if already focused
+ openSoftwareInputPanel();
+ }
+ } else { // show input panel on click
+ if (hasFocus() && !hadFocus) {
+ d->clickCausedFocus = true;
}
- p = p->parentItem();
}
- setFocus(true);
}
- d->control->processEvent(event, QPointF(0, 0));
+ if (event->type() != QEvent::GraphicsSceneMouseDoubleClick || d->selectByMouse)
+ d->control->processEvent(event, QPointF(0, -d->yoff));
if (!event->isAccepted())
QDeclarativePaintedItem::mousePressEvent(event);
}
@@ -916,13 +1138,20 @@ Handles the given mouse \a event.
void QDeclarativeTextEdit::mouseReleaseEvent(QGraphicsSceneMouseEvent *event)
{
Q_D(QDeclarativeTextEdit);
- QWidget *widget = event->widget();
- if (widget && (d->control->textInteractionFlags() & Qt::TextEditable) && boundingRect().contains(event->pos()))
- qt_widget_private(widget)->handleSoftwareInputPanel(event->button(), d->focusOnPress);
+ d->control->processEvent(event, QPointF(0, -d->yoff));
+ if (!d->showInputPanelOnFocus) { // input panel on click
+ if (d->focusOnPress && !isReadOnly() && boundingRect().contains(event->pos())) {
+ if (QGraphicsView * view = qobject_cast<QGraphicsView*>(qApp->focusWidget())) {
+ if (view->scene() && view->scene() == scene()) {
+ qt_widget_private(view)->handleSoftwareInputPanel(event->button(), d->clickCausedFocus);
+ }
+ }
+ }
+ }
+ d->clickCausedFocus = false;
- d->control->processEvent(event, QPointF(0, 0));
if (!event->isAccepted())
- QDeclarativePaintedItem::mousePressEvent(event);
+ QDeclarativePaintedItem::mouseReleaseEvent(event);
}
/*!
@@ -932,9 +1161,13 @@ Handles the given mouse \a event.
void QDeclarativeTextEdit::mouseDoubleClickEvent(QGraphicsSceneMouseEvent *event)
{
Q_D(QDeclarativeTextEdit);
- d->control->processEvent(event, QPointF(0, 0));
- if (!event->isAccepted())
+ if (d->selectByMouse) {
+ d->control->processEvent(event, QPointF(0, -d->yoff));
+ if (!event->isAccepted())
+ QDeclarativePaintedItem::mouseDoubleClickEvent(event);
+ } else {
QDeclarativePaintedItem::mouseDoubleClickEvent(event);
+ }
}
/*!
@@ -944,9 +1177,14 @@ Handles the given mouse \a event.
void QDeclarativeTextEdit::mouseMoveEvent(QGraphicsSceneMouseEvent *event)
{
Q_D(QDeclarativeTextEdit);
- d->control->processEvent(event, QPointF(0, 0));
- if (!event->isAccepted())
- QDeclarativePaintedItem::mousePressEvent(event);
+ if (d->selectByMouse) {
+ d->control->processEvent(event, QPointF(0, -d->yoff));
+ if (!event->isAccepted())
+ QDeclarativePaintedItem::mouseMoveEvent(event);
+ event->setAccepted(true);
+ } else {
+ QDeclarativePaintedItem::mouseMoveEvent(event);
+ }
}
/*!
@@ -956,7 +1194,7 @@ Handles the given input method \a event.
void QDeclarativeTextEdit::inputMethodEvent(QInputMethodEvent *event)
{
Q_D(QDeclarativeTextEdit);
- d->control->processEvent(event, QPointF(0, 0));
+ d->control->processEvent(event, QPointF(0, -d->yoff));
}
/*!
@@ -978,21 +1216,34 @@ void QDeclarativeTextEdit::drawContents(QPainter *painter, const QRect &bounds)
Q_D(QDeclarativeTextEdit);
painter->setRenderHint(QPainter::TextAntialiasing, true);
+ painter->translate(0,d->yoff);
+
+ d->control->drawContents(painter, bounds.translated(0,-d->yoff));
- d->control->drawContents(painter, bounds);
+ painter->translate(0,-d->yoff);
}
-void QDeclarativeTextEdit::updateImgCache(const QRectF &r)
+void QDeclarativeTextEdit::updateImgCache(const QRectF &rf)
{
- dirtyCache(r.toRect());
+ Q_D(const QDeclarativeTextEdit);
+ QRect r;
+ if (!rf.isValid()) {
+ r = QRect(0,0,INT_MAX,INT_MAX);
+ } else {
+ r = rf.toRect();
+ if (r != QRect(0,0,INT_MAX,INT_MAX)) // Don't translate "everything"
+ r = r.translated(0,d->yoff);
+ }
+ dirtyCache(r);
emit update();
}
/*!
\qmlproperty bool TextEdit::smooth
- Set this property if you want the text to be smoothly scaled or
- transformed. Smooth filtering gives better visual quality, but is slower. If
+ This property holds whether the text is smoothly scaled or transformed.
+
+ Smooth filtering gives better visual quality, but is slower. If
the item is displayed at its natural size, this property has no visual or
performance effect.
@@ -1020,6 +1271,7 @@ void QDeclarativeTextEditPrivate::init()
QObject::connect(control, SIGNAL(selectionChanged()), q, SLOT(updateSelectionMarkers()));
QObject::connect(control, SIGNAL(cursorPositionChanged()), q, SLOT(updateSelectionMarkers()));
QObject::connect(control, SIGNAL(cursorPositionChanged()), q, SIGNAL(cursorPositionChanged()));
+ QObject::connect(control, SIGNAL(cursorPositionChanged()), q, SIGNAL(cursorRectangleChanged()));
document = control->document();
document->setDefaultFont(font);
@@ -1051,7 +1303,6 @@ void QDeclarativeTextEditPrivate::updateSelection()
QTextCursor cursor = control->textCursor();
bool startChange = (lastSelectionStart != cursor.selectionStart());
bool endChange = (lastSelectionEnd != cursor.selectionEnd());
- //### Is it worth calculating a more minimal set of movements?
cursor.beginEditBlock();
cursor.setPosition(lastSelectionStart, QTextCursor::MoveAnchor);
cursor.setPosition(lastSelectionEnd, QTextCursor::KeepAnchor);
@@ -1061,8 +1312,6 @@ void QDeclarativeTextEditPrivate::updateSelection()
q->selectionStartChanged();
if(endChange)
q->selectionEndChanged();
- startChange = (lastSelectionStart != control->textCursor().selectionStart());
- endChange = (lastSelectionEnd != control->textCursor().selectionEnd());
}
void QDeclarativeTextEdit::updateSelectionMarkers()
@@ -1088,22 +1337,24 @@ void QDeclarativeTextEdit::updateSize()
int dy = height();
// ### assumes that if the width is set, the text will fill to edges
// ### (unless wrap is false, then clipping will occur)
- if (widthValid())
+ if (widthValid() && d->document->textWidth() != width())
d->document->setTextWidth(width());
dy -= (int)d->document->size().height();
- int yoff = 0;
if (heightValid()) {
if (d->vAlign == AlignBottom)
- yoff = dy;
+ d->yoff = dy;
else if (d->vAlign == AlignVCenter)
- yoff = dy/2;
+ d->yoff = dy/2;
+ } else {
+ d->yoff = 0;
}
- setBaselineOffset(fm.ascent() + yoff + d->textMargin);
+ setBaselineOffset(fm.ascent() + d->yoff + d->textMargin);
//### need to comfirm cost of always setting these
- int newWidth = (int)d->document->idealWidth();
- d->document->setTextWidth(newWidth); // ### QTextDoc> Alignment will not work unless textWidth is set. Does Text need this line as well?
+ int newWidth = qCeil(d->document->idealWidth());
+ if (!widthValid() && d->document->textWidth() != newWidth)
+ d->document->setTextWidth(newWidth); // ### Text does not align if width is not set (QTextDoc bug)
int cursorWidth = 1;
if(d->cursor)
cursorWidth = d->cursor->width();
@@ -1112,9 +1363,12 @@ void QDeclarativeTextEdit::updateSize()
newWidth += 3;// ### Need a better way of accounting for space between char and cursor
// ### Setting the implicitWidth triggers another updateSize(), and unless there are bindings nothing has changed.
setImplicitWidth(newWidth);
- setImplicitHeight(d->text.isEmpty() ? fm.height() : (int)d->document->size().height());
+ qreal newHeight = d->document->isEmpty() ? fm.height() : (int)d->document->size().height();
+ setImplicitHeight(newHeight);
+
+ setContentsSize(QSize(newWidth, newHeight));
- setContentsSize(QSize(width(), height()));
+ emit paintedSizeChanged();
} else {
d->dirty = true;
}
@@ -1135,4 +1389,118 @@ void QDeclarativeTextEditPrivate::updateDefaultTextOption()
document->setDefaultTextOption(opt);
}
+
+/*!
+ \qmlmethod void TextEdit::openSoftwareInputPanel()
+
+ Opens software input panels like virtual keyboards for typing, useful for
+ customizing when you want the input keyboard to be shown and hidden in
+ your application.
+
+ By default the opening of input panels follows the platform style. On Symbian^1 and
+ Symbian^3 -based devices the panels are opened by clicking TextEdit. On other platforms
+ the panels are automatically opened when TextEdit element gains focus. Input panels are
+ always closed if no editor owns focus.
+
+ You can disable the automatic behavior by setting the property \c focusOnPress to false
+ and use functions openSoftwareInputPanel() and closeSoftwareInputPanel() to implement
+ the behavior you want.
+
+ Only relevant on platforms, which provide virtual keyboards.
+
+ \code
+ import Qt 4.7
+ TextEdit {
+ id: textEdit
+ text: "Hello world!"
+ focusOnPress: false
+ MouseArea {
+ anchors.fill: parent
+ onClicked: {
+ if (!textEdit.focus) {
+ textEdit.focus = true;
+ textEdit.openSoftwareInputPanel();
+ } else {
+ textEdit.focus = false;
+ }
+ }
+ onPressAndHold: textEdit.closeSoftwareInputPanel();
+ }
+ }
+ \endcode
+*/
+void QDeclarativeTextEdit::openSoftwareInputPanel()
+{
+ QEvent event(QEvent::RequestSoftwareInputPanel);
+ if (qApp) {
+ if (QGraphicsView * view = qobject_cast<QGraphicsView*>(qApp->focusWidget())) {
+ if (view->scene() && view->scene() == scene()) {
+ QApplication::sendEvent(view, &event);
+ }
+ }
+ }
+}
+
+/*!
+ \qmlmethod void TextEdit::closeSoftwareInputPanel()
+
+ Closes a software input panel like a virtual keyboard shown on the screen, useful
+ for customizing when you want the input keyboard to be shown and hidden in
+ your application.
+
+ By default the opening of input panels follows the platform style. On Symbian^1 and
+ Symbian^3 -based devices the panels are opened by clicking TextEdit. On other platforms
+ the panels are automatically opened when TextEdit element gains focus. Input panels are
+ always closed if no editor owns focus.
+
+ You can disable the automatic behavior by setting the property \c focusOnPress to false
+ and use functions openSoftwareInputPanel() and closeSoftwareInputPanel() to implement
+ the behavior you want.
+
+ Only relevant on platforms, which provide virtual keyboards.
+
+ \code
+ import Qt 4.7
+ TextEdit {
+ id: textEdit
+ text: "Hello world!"
+ focusOnPress: false
+ MouseArea {
+ anchors.fill: parent
+ onClicked: {
+ if (!textEdit.focus) {
+ textEdit.focus = true;
+ textEdit.openSoftwareInputPanel();
+ } else {
+ textEdit.focus = false;
+ }
+ }
+ onPressAndHold: textEdit.closeSoftwareInputPanel();
+ }
+ }
+ \endcode
+*/
+void QDeclarativeTextEdit::closeSoftwareInputPanel()
+{
+ QEvent event(QEvent::CloseSoftwareInputPanel);
+ if (qApp) {
+ if (QGraphicsView * view = qobject_cast<QGraphicsView*>(qApp->focusWidget())) {
+ if (view->scene() && view->scene() == scene()) {
+ QApplication::sendEvent(view, &event);
+ }
+ }
+ }
+}
+
+void QDeclarativeTextEdit::focusInEvent(QFocusEvent *event)
+{
+ Q_D(const QDeclarativeTextEdit);
+ if (d->showInputPanelOnFocus) {
+ if (d->focusOnPress && !isReadOnly()) {
+ openSoftwareInputPanel();
+ }
+ }
+ QDeclarativePaintedItem::focusInEvent(event);
+}
+
QT_END_NAMESPACE
diff --git a/src/declarative/graphicsitems/qdeclarativetextedit_p.h b/src/declarative/graphicsitems/qdeclarativetextedit_p.h
index 474de096e4..d08f607ae1 100644
--- a/src/declarative/graphicsitems/qdeclarativetextedit_p.h
+++ b/src/declarative/graphicsitems/qdeclarativetextedit_p.h
@@ -74,18 +74,22 @@ class Q_DECLARATIVE_EXPORT QDeclarativeTextEdit : public QDeclarativePaintedItem
Q_PROPERTY(HAlignment horizontalAlignment READ hAlign WRITE setHAlign NOTIFY horizontalAlignmentChanged)
Q_PROPERTY(VAlignment verticalAlignment READ vAlign WRITE setVAlign NOTIFY verticalAlignmentChanged)
Q_PROPERTY(WrapMode wrapMode READ wrapMode WRITE setWrapMode NOTIFY wrapModeChanged)
+ Q_PROPERTY(qreal paintedWidth READ paintedWidth NOTIFY paintedSizeChanged)
+ Q_PROPERTY(qreal paintedHeight READ paintedHeight NOTIFY paintedSizeChanged)
Q_PROPERTY(TextFormat textFormat READ textFormat WRITE setTextFormat NOTIFY textFormatChanged)
Q_PROPERTY(bool readOnly READ isReadOnly WRITE setReadOnly NOTIFY readOnlyChanged)
Q_PROPERTY(bool cursorVisible READ isCursorVisible WRITE setCursorVisible NOTIFY cursorVisibleChanged)
Q_PROPERTY(int cursorPosition READ cursorPosition WRITE setCursorPosition NOTIFY cursorPositionChanged)
+ Q_PROPERTY(QRect cursorRectangle READ cursorRectangle NOTIFY cursorRectangleChanged)
Q_PROPERTY(QDeclarativeComponent* cursorDelegate READ cursorDelegate WRITE setCursorDelegate NOTIFY cursorDelegateChanged)
- Q_PROPERTY(int selectionStart READ selectionStart WRITE setSelectionStart NOTIFY selectionStartChanged)
- Q_PROPERTY(int selectionEnd READ selectionEnd WRITE setSelectionEnd NOTIFY selectionEndChanged)
+ Q_PROPERTY(int selectionStart READ selectionStart NOTIFY selectionStartChanged)
+ Q_PROPERTY(int selectionEnd READ selectionEnd NOTIFY selectionEndChanged)
Q_PROPERTY(QString selectedText READ selectedText NOTIFY selectionChanged)
Q_PROPERTY(bool focusOnPress READ focusOnPress WRITE setFocusOnPress NOTIFY focusOnPressChanged)
Q_PROPERTY(bool persistentSelection READ persistentSelection WRITE setPersistentSelection NOTIFY persistentSelectionChanged)
Q_PROPERTY(qreal textMargin READ textMargin WRITE setTextMargin NOTIFY textMarginChanged)
Q_PROPERTY(Qt::InputMethodHints inputMethodHints READ inputMethodHints WRITE setInputMethodHints)
+ Q_PROPERTY(bool selectByMouse READ selectByMouse WRITE setSelectByMouse NOTIFY selectByMouseChanged)
public:
QDeclarativeTextEdit(QDeclarativeItem *parent=0);
@@ -111,9 +115,13 @@ public:
enum WrapMode { NoWrap = QTextOption::NoWrap,
WordWrap = QTextOption::WordWrap,
WrapAnywhere = QTextOption::WrapAnywhere,
- WrapAtWordBoundaryOrAnywhere = QTextOption::WrapAtWordBoundaryOrAnywhere
+ WrapAtWordBoundaryOrAnywhere = QTextOption::WrapAtWordBoundaryOrAnywhere, // COMPAT
+ Wrap = QTextOption::WrapAtWordBoundaryOrAnywhere
};
+ Q_INVOKABLE void openSoftwareInputPanel();
+ Q_INVOKABLE void closeSoftwareInputPanel();
+
QString text() const;
void setText(const QString &);
@@ -151,10 +159,7 @@ public:
void setCursorDelegate(QDeclarativeComponent*);
int selectionStart() const;
- void setSelectionStart(int);
-
int selectionEnd() const;
- void setSelectionEnd(int);
QString selectedText() const;
@@ -167,6 +172,9 @@ public:
qreal textMargin() const;
void setTextMargin(qreal margin);
+ bool selectByMouse() const;
+ void setSelectByMouse(bool);
+
virtual void componentComplete();
/* FROM EDIT */
@@ -176,13 +184,22 @@ public:
void setTextInteractionFlags(Qt::TextInteractionFlags flags);
Qt::TextInteractionFlags textInteractionFlags() const;
- QRect cursorRect() const;
+ QRect cursorRectangle() const;
QVariant inputMethodQuery(Qt::InputMethodQuery property) const;
+ qreal paintedWidth() const;
+ qreal paintedHeight() const;
+
+ Q_INVOKABLE QRectF positionToRectangle(int) const;
+ Q_INVOKABLE int positionAt(int x, int y) const;
+ Q_INVOKABLE void moveCursorSelection(int pos);
+
Q_SIGNALS:
void textChanged(const QString &);
+ void paintedSizeChanged();
void cursorPositionChanged();
+ void cursorRectangleChanged();
void selectionStartChanged();
void selectionEndChanged();
void selectionChanged();
@@ -200,9 +217,17 @@ Q_SIGNALS:
void focusOnPressChanged(bool focusIsPressed);
void persistentSelectionChanged(bool isPersistentSelection);
void textMarginChanged(qreal textMargin);
+ void selectByMouseChanged(bool selectByMouse);
public Q_SLOTS:
void selectAll();
+ void selectWord();
+ void select(int start, int end);
+#ifndef QT_NO_CLIPBOARD
+ void cut();
+ void copy();
+ void paste();
+#endif
private Q_SLOTS:
void updateImgCache(const QRectF &rect);
@@ -221,6 +246,7 @@ protected:
bool event(QEvent *);
void keyPressEvent(QKeyEvent *);
void keyReleaseEvent(QKeyEvent *);
+ void focusInEvent(QFocusEvent *event);
// mouse filter?
void mousePressEvent(QGraphicsSceneMouseEvent *event);
diff --git a/src/declarative/graphicsitems/qdeclarativetextedit_p_p.h b/src/declarative/graphicsitems/qdeclarativetextedit_p_p.h
index 8d4b6114a4..4092e657f4 100644
--- a/src/declarative/graphicsitems/qdeclarativetextedit_p_p.h
+++ b/src/declarative/graphicsitems/qdeclarativetextedit_p_p.h
@@ -70,10 +70,17 @@ public:
QDeclarativeTextEditPrivate()
: color("black"), hAlign(QDeclarativeTextEdit::AlignLeft), vAlign(QDeclarativeTextEdit::AlignTop),
imgDirty(true), dirty(false), richText(false), cursorVisible(false), focusOnPress(true),
- persistentSelection(true), textMargin(0.0), lastSelectionStart(0), lastSelectionEnd(0),
- cursorComponent(0), cursor(0), format(QDeclarativeTextEdit::AutoText), document(0),
- wrapMode(QDeclarativeTextEdit::NoWrap)
+ showInputPanelOnFocus(true), clickCausedFocus(false), persistentSelection(true), textMargin(0.0),
+ lastSelectionStart(0), lastSelectionEnd(0), cursorComponent(0), cursor(0),
+ format(QDeclarativeTextEdit::AutoText), document(0), wrapMode(QDeclarativeTextEdit::NoWrap),
+ selectByMouse(false),
+ yoff(0)
{
+#ifdef Q_OS_SYMBIAN
+ if (QSysInfo::symbianVersion() == QSysInfo::SV_SF_1 || QSysInfo::symbianVersion() == QSysInfo::SV_SF_3) {
+ showInputPanelOnFocus = false;
+ }
+#endif
}
void init();
@@ -99,6 +106,8 @@ public:
bool richText : 1;
bool cursorVisible : 1;
bool focusOnPress : 1;
+ bool showInputPanelOnFocus : 1;
+ bool clickCausedFocus : 1;
bool persistentSelection : 1;
qreal textMargin;
int lastSelectionStart;
@@ -109,6 +118,8 @@ public:
QTextDocument *document;
QTextControl *control;
QDeclarativeTextEdit::WrapMode wrapMode;
+ bool selectByMouse;
+ int yoff;
};
QT_END_NAMESPACE
diff --git a/src/declarative/graphicsitems/qdeclarativetextinput.cpp b/src/declarative/graphicsitems/qdeclarativetextinput.cpp
index b618183c95..9e5dfb532a 100644
--- a/src/declarative/graphicsitems/qdeclarativetextinput.cpp
+++ b/src/declarative/graphicsitems/qdeclarativetextinput.cpp
@@ -46,6 +46,7 @@
#include <qdeclarativeinfo.h>
#include <QValidator>
+#include <QTextCursor>
#include <QApplication>
#include <QFontMetrics>
#include <QPainter>
@@ -54,14 +55,21 @@ QT_BEGIN_NAMESPACE
/*!
\qmlclass TextInput QDeclarativeTextInput
- \since 4.7
- The TextInput item allows you to add an editable line of text to a scene.
+ \since 4.7
+ \brief The TextInput item displays an editable line of text.
+ \inherits Item
- TextInput can only display a single line of text, and can only display
- plain text. However it can provide addition input constraints on the text.
+ The TextInput element displays a single line of editable plain text.
- Input constraints include setting a QValidator, an input mask, or a
- maximum input length.
+ TextInput is used to accept a line of text input. Input constraints
+ can be placed on a TextInput item (for example, through a \l validator or \l inputMask),
+ and setting \l echoMode to an appropriate value enables TextInput to be used for
+ a password input field.
+
+ On Mac OS X, the Up/Down key bindings for Home/End are explicitly disabled.
+ If you want such bindings (on any platform), you will need to construct them in QML.
+
+ \sa TextEdit, Text
*/
QDeclarativeTextInput::QDeclarativeTextInput(QDeclarativeItem* parent)
: QDeclarativePaintedItem(*(new QDeclarativeTextInputPrivate), parent)
@@ -92,6 +100,7 @@ void QDeclarativeTextInput::setText(const QString &s)
if(s == text())
return;
d->control->setText(s);
+ d->updateHorizontalScroll();
//emit textChanged();
}
@@ -108,7 +117,7 @@ void QDeclarativeTextInput::setText(const QString &s)
/*!
\qmlproperty bool TextInput::font.bold
- Sets the font's weight to bold.
+ Sets whether the font weight is bold.
*/
/*!
@@ -118,11 +127,11 @@ void QDeclarativeTextInput::setText(const QString &s)
The weight can be one of:
\list
- \o Light
- \o Normal - the default
- \o DemiBold
- \o Bold
- \o Black
+ \o Font.Light
+ \o Font.Normal - the default
+ \o Font.DemiBold
+ \o Font.Bold
+ \o Font.Black
\endlist
\qml
@@ -133,25 +142,25 @@ void QDeclarativeTextInput::setText(const QString &s)
/*!
\qmlproperty bool TextInput::font.italic
- Sets the style of the text to italic.
+ Sets whether the font has an italic style.
*/
/*!
\qmlproperty bool TextInput::font.underline
- Set the style of the text to underline.
+ Sets whether the text is underlined.
*/
/*!
\qmlproperty bool TextInput::font.outline
- Set the style of the text to outline.
+ Sets whether the font has an outline style.
*/
/*!
\qmlproperty bool TextInput::font.strikeout
- Set the style of the text to strikeout.
+ Sets whether the font has a strikeout style.
*/
/*!
@@ -195,11 +204,11 @@ void QDeclarativeTextInput::setText(const QString &s)
Sets the capitalization for the text.
\list
- \o MixedCase - This is the normal text rendering option where no capitalization change is applied.
- \o AllUppercase - This alters the text to be rendered in all uppercase type.
- \o AllLowercase - This alters the text to be rendered in all lowercase type.
- \o SmallCaps - This alters the text to be rendered in small-caps type.
- \o Capitalize - This alters the text to be rendered with the first character of each word as an uppercase character.
+ \o Font.MixedCase - This is the normal text rendering option where no capitalization change is applied.
+ \o Font.AllUppercase - This alters the text to be rendered in all uppercase type.
+ \o Font.AllLowercase - This alters the text to be rendered in all lowercase type.
+ \o Font.SmallCaps - This alters the text to be rendered in small-caps type.
+ \o Font.Capitalize - This alters the text to be rendered with the first character of each word as an uppercase character.
\endlist
\qml
@@ -244,7 +253,12 @@ QColor QDeclarativeTextInput::color() const
void QDeclarativeTextInput::setColor(const QColor &c)
{
Q_D(QDeclarativeTextInput);
- d->color = c;
+ if (c != d->color) {
+ d->color = c;
+ clearCache();
+ update();
+ emit colorChanged(c);
+ }
}
@@ -308,8 +322,8 @@ void QDeclarativeTextInput::setSelectedTextColor(const QColor &color)
vertically. You can use anchors to align it however you want within
another item.
- The valid values for \c horizontalAlignment are \c AlignLeft, \c AlignRight and
- \c AlignHCenter.
+ The valid values for \c horizontalAlignment are \c TextInput.AlignLeft, \c TextInput.AlignRight and
+ \c TextInput.AlignHCenter.
*/
QDeclarativeTextInput::HAlignment QDeclarativeTextInput::hAlign() const
{
@@ -324,6 +338,7 @@ void QDeclarativeTextInput::setHAlign(HAlignment align)
return;
d->hAlign = align;
updateRect();
+ d->updateHorizontalScroll();
emit horizontalAlignmentChanged(d->hAlign);
}
@@ -425,10 +440,12 @@ void QDeclarativeTextInput::setCursorPosition(int cp)
Returns a Rect which encompasses the cursor, but which may be larger than is
required. Ignores custom cursor delegates.
*/
-QRect QDeclarativeTextInput::cursorRect() const
+QRect QDeclarativeTextInput::cursorRectangle() const
{
Q_D(const QDeclarativeTextInput);
- return d->control->cursorRect();
+ QRect r = d->control->cursorRect();
+ r.setHeight(r.height()-1); // Make consistent with TextEdit (QLineControl inexplicably adds 1)
+ return r;
}
/*!
@@ -450,15 +467,6 @@ int QDeclarativeTextInput::selectionStart() const
return d->lastSelectionStart;
}
-void QDeclarativeTextInput::setSelectionStart(int s)
-{
- Q_D(QDeclarativeTextInput);
- if(d->lastSelectionStart == s || s < 0 || s > text().length())
- return;
- d->lastSelectionStart = s;
- d->control->setSelection(s, d->lastSelectionEnd - s);
-}
-
/*!
\qmlproperty int TextInput::selectionEnd
@@ -478,13 +486,12 @@ int QDeclarativeTextInput::selectionEnd() const
return d->lastSelectionEnd;
}
-void QDeclarativeTextInput::setSelectionEnd(int s)
+void QDeclarativeTextInput::select(int start, int end)
{
Q_D(QDeclarativeTextInput);
- if(d->lastSelectionEnd == s || s < 0 || s > text().length())
+ if (start < 0 || end < 0 || start > d->control->text().length() || end > d->control->text().length())
return;
- d->lastSelectionEnd = s;
- d->control->setSelection(d->lastSelectionStart, s - d->lastSelectionStart);
+ d->control->setSelection(start, end-start);
}
/*!
@@ -549,14 +556,16 @@ void QDeclarativeTextInput::setAutoScroll(bool b)
return;
d->autoScroll = b;
-
+ d->updateHorizontalScroll();
+ //We need to repaint so that the scrolling is taking into account.
+ updateSize(true);
emit autoScrollChanged(d->autoScroll);
}
/*!
\qmlclass IntValidator QIntValidator
- This element provides a validator for integer values
+ This element provides a validator for integer values.
*/
/*!
\qmlproperty int IntValidator::top
@@ -599,10 +608,14 @@ void QDeclarativeTextInput::setAutoScroll(bool b)
\qmlproperty enumeration DoubleValidator::notation
This property holds the notation of how a string can describe a number.
- The values for this property are DoubleValidator.StandardNotation or DoubleValidator.ScientificNotation.
- If this property is set to ScientificNotation, the written number may have an exponent part(i.e. 1.5E-2).
+ The possible values for this property are:
+
+ \list
+ \o DoubleValidator.StandardNotation
+ \o DoubleValidator.ScientificNotation (default)
+ \endlist
- By default, this property is set to ScientificNotation.
+ If this property is set to DoubleValidator.ScientificNotation, the written number may have an exponent part (e.g. 1.5E-2).
*/
/*!
@@ -644,6 +657,7 @@ void QDeclarativeTextInput::setAutoScroll(bool b)
\sa acceptableInput, inputMask
*/
+#ifndef QT_NO_VALIDATOR
QValidator* QDeclarativeTextInput::validator() const
{
Q_D(const QDeclarativeTextInput);
@@ -665,6 +679,7 @@ void QDeclarativeTextInput::setValidator(QValidator* v)
emit validatorChanged();
}
+#endif // QT_NO_VALIDATOR
/*!
\qmlproperty string TextInput::inputMask
@@ -706,14 +721,15 @@ bool QDeclarativeTextInput::hasAcceptableInput() const
}
/*!
- \qmlproperty TextInput.EchoMode TextInput::echoMode
+ \qmlproperty enumeration TextInput::echoMode
Specifies how the text should be displayed in the TextInput.
- The default is Normal, which displays the text as it is. Other values
- are Password, which displays asterixes instead of characters, NoEcho,
- which displays nothing, and PasswordEchoOnEdit, which displays all but the
- current character as asterixes.
-
+ \list
+ \o TextInput.Normal - Displays the text as it is. (Default)
+ \o TextInput.Password - Displays asterixes instead of characters.
+ \o TextInput.NoEcho - Displays nothing.
+ \o TextInput.PasswordEchoOnEdit - Displays all but the current character as asterixes.
+ \endlist
*/
QDeclarativeTextInput::EchoMode QDeclarativeTextInput::echoMode() const
{
@@ -824,11 +840,30 @@ void QDeclarativeTextInput::moveCursor()
Q_D(QDeclarativeTextInput);
if(!d->cursorItem)
return;
+ d->updateHorizontalScroll();
d->cursorItem->setX(d->control->cursorToX() - d->hscroll);
}
-/*
- \qmlmethod int xToPosition(int x)
+/*!
+ \qmlmethod rect TextInput::positionToRectangle(int pos)
+
+ This function takes a character position and returns the rectangle that the
+ cursor would occupy, if it was placed at that character position.
+
+ This is similar to setting the cursorPosition, and then querying the cursor
+ rectangle, but the cursorPosition is not changed.
+*/
+QRectF QDeclarativeTextInput::positionToRectangle(int pos) const
+{
+ Q_D(const QDeclarativeTextInput);
+ return QRectF(d->control->cursorToX(pos)-d->hscroll,
+ 0.0,
+ d->control->cursorWidth(),
+ cursorRectangle().height());
+}
+
+/*!
+ \qmlmethod int TextInput::positionAt(int x)
This function returns the character position at
x pixels from the left of the textInput. Position 0 is before the
@@ -838,10 +873,10 @@ void QDeclarativeTextInput::moveCursor()
This means that for all x values before the first character this function returns 0,
and for all x values after the last character this function returns text.length.
*/
-int QDeclarativeTextInput::xToPosition(int x)
+int QDeclarativeTextInput::positionAt(int x) const
{
Q_D(const QDeclarativeTextInput);
- return d->control->xToPos(x - d->hscroll);
+ return d->control->xToPos(x + d->hscroll);
}
void QDeclarativeTextInputPrivate::focusChanged(bool hasFocus)
@@ -859,10 +894,15 @@ void QDeclarativeTextInputPrivate::focusChanged(bool hasFocus)
void QDeclarativeTextInput::keyPressEvent(QKeyEvent* ev)
{
Q_D(QDeclarativeTextInput);
- if(((d->control->cursor() == 0 && ev->key() == Qt::Key_Left)
+ keyPressPreHandler(ev);
+ if (ev->isAccepted())
+ return;
+ if (((ev->key() == Qt::Key_Up || ev->key() == Qt::Key_Down) && ev->modifiers() == Qt::NoModifier) // Don't allow MacOSX up/down support, and we don't allow a completer.
+ || (((d->control->cursor() == 0 && ev->key() == Qt::Key_Left)
|| (d->control->cursor() == d->control->text().length()
&& ev->key() == Qt::Key_Right))
- && (d->lastSelectionStart == d->lastSelectionEnd)){
+ && (d->lastSelectionStart == d->lastSelectionEnd)))
+ {
//ignore when moving off the end
//unless there is a selection, because then moving will do something (deselect)
ev->ignore();
@@ -873,29 +913,54 @@ void QDeclarativeTextInput::keyPressEvent(QKeyEvent* ev)
QDeclarativePaintedItem::keyPressEvent(ev);
}
+/*!
+\overload
+Handles the given mouse \a event.
+*/
+void QDeclarativeTextInput::mouseDoubleClickEvent(QGraphicsSceneMouseEvent *event)
+{
+ Q_D(QDeclarativeTextInput);
+ if (d->selectByMouse) {
+ int cursor = d->xToPos(event->pos().x());
+ d->control->selectWordAtPos(cursor);
+ event->setAccepted(true);
+ } else {
+ QDeclarativePaintedItem::mouseDoubleClickEvent(event);
+ }
+}
+
void QDeclarativeTextInput::mousePressEvent(QGraphicsSceneMouseEvent *event)
{
Q_D(QDeclarativeTextInput);
if(d->focusOnPress){
- QGraphicsItem *p = parentItem();//###Is there a better way to find my focus scope?
- while(p) {
- if(p->flags() & QGraphicsItem::ItemIsFocusScope){
- p->setFocus();
- break;
+ bool hadFocus = hasFocus();
+ forceFocus();
+ if (d->showInputPanelOnFocus) {
+ if (hasFocus() && hadFocus && !isReadOnly()) {
+ // re-open input panel on press if already focused
+ openSoftwareInputPanel();
+ }
+ } else { // show input panel on click
+ if (hasFocus() && !hadFocus) {
+ d->clickCausedFocus = true;
}
- p = p->parentItem();
}
- setFocus(true);
}
bool mark = event->modifiers() & Qt::ShiftModifier;
int cursor = d->xToPos(event->pos().x());
d->control->moveCursor(cursor, mark);
+ event->setAccepted(true);
}
void QDeclarativeTextInput::mouseMoveEvent(QGraphicsSceneMouseEvent *event)
{
Q_D(QDeclarativeTextInput);
- d->control->moveCursor(d->xToPos(event->pos().x()), true);
+ if (d->selectByMouse) {
+ d->control->moveCursor(d->xToPos(event->pos().x()), true);
+ event->setAccepted(true);
+ } else {
+ QDeclarativePaintedItem::mouseMoveEvent(event);
+ }
}
/*!
@@ -905,10 +970,19 @@ Handles the given mouse \a event.
void QDeclarativeTextInput::mouseReleaseEvent(QGraphicsSceneMouseEvent *event)
{
Q_D(QDeclarativeTextInput);
- QWidget *widget = event->widget();
- if (widget && !d->control->isReadOnly() && boundingRect().contains(event->pos()))
- qt_widget_private(widget)->handleSoftwareInputPanel(event->button(), d->focusOnPress);
+ if (!d->showInputPanelOnFocus) { // input panel on click
+ if (d->focusOnPress && !isReadOnly() && boundingRect().contains(event->pos())) {
+ if (QGraphicsView * view = qobject_cast<QGraphicsView*>(qApp->focusWidget())) {
+ if (view->scene() && view->scene() == scene()) {
+ qt_widget_private(view)->handleSoftwareInputPanel(event->button(), d->clickCausedFocus);
+ }
+ }
+ }
+ }
+ d->clickCausedFocus = false;
d->control->processEvent(event);
+ if (!event->isAccepted())
+ QDeclarativePaintedItem::mouseReleaseEvent(event);
}
bool QDeclarativeTextInput::event(QEvent* ev)
@@ -922,6 +996,7 @@ bool QDeclarativeTextInput::event(QEvent* ev)
case QEvent::GraphicsSceneMousePress:
case QEvent::GraphicsSceneMouseMove:
case QEvent::GraphicsSceneMouseRelease:
+ case QEvent::GraphicsSceneMouseDoubleClick:
break;
default:
handled = d->control->processEvent(ev);
@@ -929,8 +1004,8 @@ bool QDeclarativeTextInput::event(QEvent* ev)
updateSize();
}
if(!handled)
- return QDeclarativePaintedItem::event(ev);
- return true;
+ handled = QDeclarativePaintedItem::event(ev);
+ return handled;
}
void QDeclarativeTextInput::geometryChanged(const QRectF &newGeometry,
@@ -941,64 +1016,75 @@ void QDeclarativeTextInput::geometryChanged(const QRectF &newGeometry,
QDeclarativePaintedItem::geometryChanged(newGeometry, oldGeometry);
}
-void QDeclarativeTextInput::drawContents(QPainter *p, const QRect &r)
+void QDeclarativeTextInputPrivate::updateHorizontalScroll()
{
- Q_D(QDeclarativeTextInput);
- p->setRenderHint(QPainter::TextAntialiasing, true);
- p->save();
- p->setPen(QPen(d->color));
- int flags = QLineControl::DrawText;
- if(!isReadOnly() && d->cursorVisible && !d->cursorItem)
- flags |= QLineControl::DrawCursor;
- if (d->control->hasSelectedText())
- flags |= QLineControl::DrawSelections;
- QPoint offset = QPoint(0,0);
- QFontMetrics fm = QFontMetrics(d->font);
- int cix = qRound(d->control->cursorToX());
- QRect br(boundingRect().toRect());
+ Q_Q(QDeclarativeTextInput);
+ QFontMetrics fm = QFontMetrics(font);
+ int cix = qRound(control->cursorToX());
+ QRect br(q->boundingRect().toRect());
//###Is this using bearing appropriately?
int minLB = qMax(0, -fm.minLeftBearing());
int minRB = qMax(0, -fm.minRightBearing());
- int widthUsed = qRound(d->control->naturalTextWidth()) + 1 + minRB;
- if (d->autoScroll) {
+ int widthUsed = qRound(control->naturalTextWidth()) + 1 + minRB;
+ if (autoScroll) {
if ((minLB + widthUsed) <= br.width()) {
// text fits in br; use hscroll for alignment
- switch (d->hAlign & ~(Qt::AlignAbsolute|Qt::AlignVertical_Mask)) {
+ switch (hAlign & ~(Qt::AlignAbsolute|Qt::AlignVertical_Mask)) {
case Qt::AlignRight:
- d->hscroll = widthUsed - br.width() + 1;
+ hscroll = widthUsed - br.width() + 1;
break;
case Qt::AlignHCenter:
- d->hscroll = (widthUsed - br.width()) / 2;
+ hscroll = (widthUsed - br.width()) / 2;
break;
default:
// Left
- d->hscroll = 0;
+ hscroll = 0;
break;
}
- d->hscroll -= minLB;
- } else if (cix - d->hscroll >= br.width()) {
+ hscroll -= minLB;
+ } else if (cix - hscroll >= br.width()) {
// text doesn't fit, cursor is to the right of br (scroll right)
- d->hscroll = cix - br.width() + 1;
- } else if (cix - d->hscroll < 0 && d->hscroll < widthUsed) {
+ hscroll = cix - br.width() + 1;
+ } else if (cix - hscroll < 0 && hscroll < widthUsed) {
// text doesn't fit, cursor is to the left of br (scroll left)
- d->hscroll = cix;
- } else if (widthUsed - d->hscroll < br.width()) {
+ hscroll = cix;
+ } else if (widthUsed - hscroll < br.width()) {
// text doesn't fit, text document is to the left of br; align
// right
- d->hscroll = widthUsed - br.width() + 1;
+ hscroll = widthUsed - br.width() + 1;
}
+ } else {
+ if(hAlign == QDeclarativeTextInput::AlignRight){
+ hscroll = q->width() - widthUsed;
+ }else if(hAlign == QDeclarativeTextInput::AlignHCenter){
+ hscroll = (q->width() - widthUsed) / 2;
+ } else {
+ hscroll = 0;
+ }
+ hscroll -= minLB;
+ }
+}
+
+void QDeclarativeTextInput::drawContents(QPainter *p, const QRect &r)
+{
+ Q_D(QDeclarativeTextInput);
+ p->setRenderHint(QPainter::TextAntialiasing, true);
+ p->save();
+ p->setPen(QPen(d->color));
+ int flags = QLineControl::DrawText;
+ if(!isReadOnly() && d->cursorVisible && !d->cursorItem)
+ flags |= QLineControl::DrawCursor;
+ if (d->control->hasSelectedText())
+ flags |= QLineControl::DrawSelections;
+ QPoint offset = QPoint(0,0);
+ QFontMetrics fm = QFontMetrics(d->font);
+ QRect br(boundingRect().toRect());
+ if (d->autoScroll) {
// the y offset is there to keep the baseline constant in case we have script changes in the text.
offset = br.topLeft() - QPoint(d->hscroll, d->control->ascent() - fm.ascent());
} else {
- if(d->hAlign == AlignRight){
- d->hscroll = width() - widthUsed;
- }else if(d->hAlign == AlignHCenter){
- d->hscroll = (width() - widthUsed) / 2;
- }
- d->hscroll -= minLB;
offset = QPoint(d->hscroll, 0);
}
-
d->control->draw(p, offset, r, flags);
p->restore();
@@ -1012,6 +1098,8 @@ QVariant QDeclarativeTextInput::inputMethodQuery(Qt::InputMethodQuery property)
{
Q_D(const QDeclarativeTextInput);
switch(property) {
+ case Qt::ImMicroFocus:
+ return d->control->cursorRect();
case Qt::ImFont:
return font();
case Qt::ImCursorPosition:
@@ -1034,18 +1122,34 @@ QVariant QDeclarativeTextInput::inputMethodQuery(Qt::InputMethodQuery property)
}
}
+/*!
+ \qmlmethod void TextInput::selectAll()
+
+ Causes all text to be selected.
+*/
void QDeclarativeTextInput::selectAll()
{
Q_D(QDeclarativeTextInput);
d->control->setSelection(0, d->control->text().length());
}
+/*!
+ \qmlmethod void TextInput::selectWord()
+
+ Causes the word closest to the current cursor position to be selected.
+*/
+void QDeclarativeTextInput::selectWord()
+{
+ Q_D(QDeclarativeTextInput);
+ d->control->selectWordAtPos(d->control->cursor());
+}
/*!
\qmlproperty bool TextInput::smooth
- Set this property if you want the text to be smoothly scaled or
- transformed. Smooth filtering gives better visual quality, but is slower. If
+ This property holds whether the text is smoothly scaled or transformed.
+
+ Smooth filtering gives better visual quality, but is slower. If
the item is displayed at its natural size, this property has no visual or
performance effect.
@@ -1054,15 +1158,15 @@ void QDeclarativeTextInput::selectAll()
filtering at the beginning of the animation and reenable it at the conclusion.
*/
-/*
+/*!
\qmlproperty string TextInput::passwordCharacter
This is the character displayed when echoMode is set to Password or
PasswordEchoOnEdit. By default it is an asterisk.
- Attempting to set this to more than one character will set it to
- the first character in the string. Attempting to set this to less
- than one character will fail.
+ If this property is set to a string with more than one character,
+ the first character is used. If the string is empty, the value
+ is ignored and the property is not set.
*/
QString QDeclarativeTextInput::passwordCharacter() const
{
@@ -1079,15 +1183,15 @@ void QDeclarativeTextInput::setPasswordCharacter(const QString &str)
d->control->setPasswordCharacter(str.constData()[0]);
}
-/*
+/*!
\qmlproperty string TextInput::displayText
- This is the actual text displayed in the TextInput. When
- echoMode is set to TextInput::Normal this will be exactly
- the same as the TextInput::text property. When echoMode
- is set to something else, this property will contain the text
- the user sees, while the text property will contain the
- entered text.
+ This is the text displayed in the TextInput.
+
+ If \l echoMode is set to TextInput::Normal, this holds the
+ same value as the TextInput::text property. Otherwise,
+ this property holds the text visible to the user, while
+ the \l text property holds the actual entered text.
*/
QString QDeclarativeTextInput::displayText() const
{
@@ -1095,29 +1199,174 @@ QString QDeclarativeTextInput::displayText() const
return d->control->displayText();
}
-/*
- \qmlmethod void moveCursorSelection(int pos)
+/*!
+ \qmlproperty bool TextInput::selectByMouse
+
+ Defaults to false.
+
+ If true, the user can use the mouse to select text in some
+ platform-specific way. Note that for some platforms this may
+ not be an appropriate interaction (eg. may conflict with how
+ the text needs to behave inside a Flickable.
+*/
+bool QDeclarativeTextInput::selectByMouse() const
+{
+ Q_D(const QDeclarativeTextInput);
+ return d->selectByMouse;
+}
+
+void QDeclarativeTextInput::setSelectByMouse(bool on)
+{
+ Q_D(QDeclarativeTextInput);
+ if (d->selectByMouse != on) {
+ d->selectByMouse = on;
+ emit selectByMouseChanged(on);
+ }
+}
- This method allows you to move the cursor while modifying the selection accordingly.
- To simply move the cursor, set the cursorPosition property.
+
+/*!
+ \qmlmethod void TextInput::moveCursorSelection(int position)
+
+ Moves the cursor to \a position and updates the selection accordingly.
+ (To only move the cursor, set the \l cursorPosition property.)
When this method is called it additionally sets either the
selectionStart or the selectionEnd (whichever was at the previous cursor position)
to the specified position. This allows you to easily extend and contract the selected
text range.
- Example: The sequence of calls
+ For example, take this sequence of calls:
+
+ \code
cursorPosition = 5
moveCursorSelection(9)
moveCursorSelection(7)
- would move the cursor to position 5, extend the selection end from 5 to 9
+ \endcode
+
+ This moves the cursor to position 5, extend the selection end from 5 to 9
and then retract the selection end from 9 to 7, leaving the text from position 5 to 7
selected (the 6th and 7th characters).
*/
-void QDeclarativeTextInput::moveCursorSelection(int pos)
+void QDeclarativeTextInput::moveCursorSelection(int position)
{
Q_D(QDeclarativeTextInput);
- d->control->moveCursor(pos, true);
+ d->control->moveCursor(position, true);
+ d->updateHorizontalScroll();
+}
+
+/*!
+ \qmlmethod void TextInput::openSoftwareInputPanel()
+
+ Opens software input panels like virtual keyboards for typing, useful for
+ customizing when you want the input keyboard to be shown and hidden in
+ your application.
+
+ By default the opening of input panels follows the platform style. On Symbian^1 and
+ Symbian^3 -based devices the panels are opened by clicking TextInput. On other platforms
+ the panels are automatically opened when TextInput element gains focus. Input panels are
+ always closed if no editor owns focus.
+
+ . You can disable the automatic behavior by setting the property \c focusOnPress to false
+ and use functions openSoftwareInputPanel() and closeSoftwareInputPanel() to implement
+ the behavior you want.
+
+ Only relevant on platforms, which provide virtual keyboards.
+
+ \qml
+ import Qt 4.7
+ TextInput {
+ id: textInput
+ text: "Hello world!"
+ focusOnPress: false
+ MouseArea {
+ anchors.fill: parent
+ onClicked: {
+ if (!textInput.focus) {
+ textInput.focus = true;
+ textInput.openSoftwareInputPanel();
+ } else {
+ textInput.focus = false;
+ }
+ }
+ onPressAndHold: textInput.closeSoftwareInputPanel();
+ }
+ }
+ \endqml
+*/
+void QDeclarativeTextInput::openSoftwareInputPanel()
+{
+ QEvent event(QEvent::RequestSoftwareInputPanel);
+ if (qApp) {
+ if (QGraphicsView * view = qobject_cast<QGraphicsView*>(qApp->focusWidget())) {
+ if (view->scene() && view->scene() == scene()) {
+ QApplication::sendEvent(view, &event);
+ }
+ }
+ }
+}
+
+/*!
+ \qmlmethod void TextInput::closeSoftwareInputPanel()
+
+ Closes a software input panel like a virtual keyboard shown on the screen, useful
+ for customizing when you want the input keyboard to be shown and hidden in
+ your application.
+
+ By default the opening of input panels follows the platform style. On Symbian^1 and
+ Symbian^3 -based devices the panels are opened by clicking TextInput. On other platforms
+ the panels are automatically opened when TextInput element gains focus. Input panels are
+ always closed if no editor owns focus.
+
+ . You can disable the automatic behavior by setting the property \c focusOnPress to false
+ and use functions openSoftwareInputPanel() and closeSoftwareInputPanel() to implement
+ the behavior you want.
+
+ Only relevant on platforms, which provide virtual keyboards.
+
+ \qml
+ import Qt 4.7
+ TextInput {
+ id: textInput
+ text: "Hello world!"
+ focusOnPress: false
+ MouseArea {
+ anchors.fill: parent
+ onClicked: {
+ if (!textInput.focus) {
+ textInput.focus = true;
+ textInput.openSoftwareInputPanel();
+ } else {
+ textInput.focus = false;
+ }
+ }
+ onPressAndHold: textInput.closeSoftwareInputPanel();
+ }
+ }
+ \endqml
+*/
+void QDeclarativeTextInput::closeSoftwareInputPanel()
+{
+ QEvent event(QEvent::CloseSoftwareInputPanel);
+ if (qApp) {
+ QEvent event(QEvent::CloseSoftwareInputPanel);
+ if (QGraphicsView * view = qobject_cast<QGraphicsView*>(qApp->focusWidget())) {
+ if (view->scene() && view->scene() == scene()) {
+ QApplication::sendEvent(view, &event);
+ }
+ }
+ }
+}
+
+void QDeclarativeTextInput::focusInEvent(QFocusEvent *event)
+{
+ Q_D(const QDeclarativeTextInput);
+ if (d->showInputPanelOnFocus) {
+ if (d->focusOnPress && !isReadOnly()) {
+ openSoftwareInputPanel();
+ }
+ }
+ QDeclarativePaintedItem::focusInEvent(event);
}
void QDeclarativeTextInputPrivate::init()
@@ -1125,7 +1374,6 @@ void QDeclarativeTextInputPrivate::init()
Q_Q(QDeclarativeTextInput);
control->setCursorWidth(1);
control->setPasswordCharacter(QLatin1Char('*'));
- control->setLayoutDirection(Qt::LeftToRight);
q->setSmooth(smooth);
q->setAcceptedMouseButtons(Qt::LeftButton);
q->setFlag(QGraphicsItem::ItemHasNoContents, false);
@@ -1195,6 +1443,7 @@ void QDeclarativeTextInput::selectionChanged()
void QDeclarativeTextInput::q_textChanged()
{
Q_D(QDeclarativeTextInput);
+ d->updateHorizontalScroll();
updateSize();
emit textChanged();
if(hasAcceptableInput() != d->oldValidity){
@@ -1222,9 +1471,7 @@ void QDeclarativeTextInput::updateSize(bool needsRedraw)
int cursorWidth = d->control->cursorWidth();
if(d->cursorItem)
cursorWidth = d->cursorItem->width();
- //### Is QFontMetrics too slow?
- QFontMetricsF fm(d->font);
- setImplicitWidth(fm.width(d->control->displayText())+cursorWidth);
+ setImplicitWidth(d->control->naturalTextWidth() + cursorWidth);
setContentsSize(QSize(width(), height()));//Repaints if changed
if(w==width() && h==height() && needsRedraw){
clearCache();
diff --git a/src/declarative/graphicsitems/qdeclarativetextinput_p.h b/src/declarative/graphicsitems/qdeclarativetextinput_p.h
index c0c1e507b8..03f55aeb78 100644
--- a/src/declarative/graphicsitems/qdeclarativetextinput_p.h
+++ b/src/declarative/graphicsitems/qdeclarativetextinput_p.h
@@ -72,14 +72,16 @@ class Q_DECLARATIVE_EXPORT QDeclarativeTextInput : public QDeclarativePaintedIte
Q_PROPERTY(bool readOnly READ isReadOnly WRITE setReadOnly NOTIFY readOnlyChanged)
Q_PROPERTY(bool cursorVisible READ isCursorVisible WRITE setCursorVisible NOTIFY cursorVisibleChanged)
Q_PROPERTY(int cursorPosition READ cursorPosition WRITE setCursorPosition NOTIFY cursorPositionChanged)
- Q_PROPERTY(QRect cursorRect READ cursorRect NOTIFY cursorPositionChanged)
+ Q_PROPERTY(QRect cursorRectangle READ cursorRectangle NOTIFY cursorPositionChanged)
Q_PROPERTY(QDeclarativeComponent *cursorDelegate READ cursorDelegate WRITE setCursorDelegate NOTIFY cursorDelegateChanged)
- Q_PROPERTY(int selectionStart READ selectionStart WRITE setSelectionStart NOTIFY selectionStartChanged)
- Q_PROPERTY(int selectionEnd READ selectionEnd WRITE setSelectionEnd NOTIFY selectionEndChanged)
+ Q_PROPERTY(int selectionStart READ selectionStart NOTIFY selectionStartChanged)
+ Q_PROPERTY(int selectionEnd READ selectionEnd NOTIFY selectionEndChanged)
Q_PROPERTY(QString selectedText READ selectedText NOTIFY selectedTextChanged)
Q_PROPERTY(int maximumLength READ maxLength WRITE setMaxLength NOTIFY maximumLengthChanged)
+#ifndef QT_NO_VALIDATOR
Q_PROPERTY(QValidator* validator READ validator WRITE setValidator NOTIFY validatorChanged)
+#endif
Q_PROPERTY(QString inputMask READ inputMask WRITE setInputMask NOTIFY inputMaskChanged)
Q_PROPERTY(Qt::InputMethodHints inputMethodHints READ inputMethodHints WRITE setInputMethodHints)
@@ -89,6 +91,7 @@ class Q_DECLARATIVE_EXPORT QDeclarativeTextInput : public QDeclarativePaintedIte
Q_PROPERTY(QString passwordCharacter READ passwordCharacter WRITE setPasswordCharacter NOTIFY passwordCharacterChanged)
Q_PROPERTY(QString displayText READ displayText NOTIFY displayTextChanged)
Q_PROPERTY(bool autoScroll READ autoScroll WRITE setAutoScroll NOTIFY autoScrollChanged)
+ Q_PROPERTY(bool selectByMouse READ selectByMouse WRITE setSelectByMouse NOTIFY selectByMouseChanged)
public:
QDeclarativeTextInput(QDeclarativeItem* parent=0);
@@ -108,9 +111,13 @@ public:
};
//Auxilliary functions needed to control the TextInput from QML
- Q_INVOKABLE int xToPosition(int x);
+ Q_INVOKABLE int positionAt(int x) const;
+ Q_INVOKABLE QRectF positionToRectangle(int pos) const;
Q_INVOKABLE void moveCursorSelection(int pos);
+ Q_INVOKABLE void openSoftwareInputPanel();
+ Q_INVOKABLE void closeSoftwareInputPanel();
+
QString text() const;
void setText(const QString &);
@@ -138,22 +145,20 @@ public:
int cursorPosition() const;
void setCursorPosition(int cp);
- QRect cursorRect() const;
+ QRect cursorRectangle() const;
int selectionStart() const;
- void setSelectionStart(int);
-
int selectionEnd() const;
- void setSelectionEnd(int);
QString selectedText() const;
int maxLength() const;
void setMaxLength(int ml);
+#ifndef QT_NO_VALIDATOR
QValidator * validator() const;
void setValidator(QValidator* v);
-
+#endif
QString inputMask() const;
void setInputMask(const QString &im);
@@ -174,6 +179,9 @@ public:
bool autoScroll() const;
void setAutoScroll(bool);
+ bool selectByMouse() const;
+ void setSelectByMouse(bool);
+
bool hasAcceptableInput() const;
void drawContents(QPainter *p,const QRect &r);
@@ -203,6 +211,7 @@ Q_SIGNALS:
void displayTextChanged(const QString &text);
void focusOnPressChanged(bool focusOnPress);
void autoScrollChanged(bool autoScroll);
+ void selectByMouseChanged(bool selectByMouse);
protected:
virtual void geometryChanged(const QRectF &newGeometry,
@@ -211,11 +220,15 @@ protected:
void mousePressEvent(QGraphicsSceneMouseEvent *event);
void mouseMoveEvent(QGraphicsSceneMouseEvent *event);
void mouseReleaseEvent(QGraphicsSceneMouseEvent *event);
+ void mouseDoubleClickEvent(QGraphicsSceneMouseEvent *event);
void keyPressEvent(QKeyEvent* ev);
bool event(QEvent *e);
+ void focusInEvent(QFocusEvent *event);
public Q_SLOTS:
void selectAll();
+ void selectWord();
+ void select(int start, int end);
private Q_SLOTS:
void updateSize(bool needsRedraw = true);
@@ -233,10 +246,12 @@ private:
QT_END_NAMESPACE
QML_DECLARE_TYPE(QDeclarativeTextInput)
+#ifndef QT_NO_VALIDATOR
QML_DECLARE_TYPE(QValidator)
QML_DECLARE_TYPE(QIntValidator)
QML_DECLARE_TYPE(QDoubleValidator)
QML_DECLARE_TYPE(QRegExpValidator)
+#endif
QT_END_HEADER
diff --git a/src/declarative/graphicsitems/qdeclarativetextinput_p_p.h b/src/declarative/graphicsitems/qdeclarativetextinput_p_p.h
index 26cf78c025..8b74bcc064 100644
--- a/src/declarative/graphicsitems/qdeclarativetextinput_p_p.h
+++ b/src/declarative/graphicsitems/qdeclarativetextinput_p_p.h
@@ -72,8 +72,15 @@ public:
color((QRgb)0), style(QDeclarativeText::Normal),
styleColor((QRgb)0), hAlign(QDeclarativeTextInput::AlignLeft),
hscroll(0), oldScroll(0), focused(false), focusOnPress(true),
- cursorVisible(false), autoScroll(true)
+ showInputPanelOnFocus(true), clickCausedFocus(false), cursorVisible(false),
+ autoScroll(true), selectByMouse(false)
{
+#ifdef Q_OS_SYMBIAN
+ if (QSysInfo::symbianVersion() == QSysInfo::SV_SF_1 || QSysInfo::symbianVersion() == QSysInfo::SV_SF_3) {
+ showInputPanelOnFocus = false;
+ }
+#endif
+
}
~QDeclarativeTextInputPrivate()
@@ -92,6 +99,7 @@ public:
void init();
void startCreatingCursor();
void focusChanged(bool hasFocus);
+ void updateHorizontalScroll();
QLineControl* control;
@@ -114,8 +122,11 @@ public:
int oldScroll;
bool focused;
bool focusOnPress;
+ bool showInputPanelOnFocus;
+ bool clickCausedFocus;
bool cursorVisible;
bool autoScroll;
+ bool selectByMouse;
};
QT_END_NAMESPACE
diff --git a/src/declarative/graphicsitems/qdeclarativevisualitemmodel.cpp b/src/declarative/graphicsitems/qdeclarativevisualitemmodel.cpp
index 43cafe3f5d..5092349eed 100644
--- a/src/declarative/graphicsitems/qdeclarativevisualitemmodel.cpp
+++ b/src/declarative/graphicsitems/qdeclarativevisualitemmodel.cpp
@@ -44,6 +44,7 @@
#include "qdeclarativeitem.h"
#include <qdeclarativecontext.h>
+#include <qdeclarativecontext_p.h>
#include <qdeclarativeengine.h>
#include <qdeclarativeexpression.h>
#include <qdeclarativepackage_p.h>
@@ -55,6 +56,7 @@
#include <qdeclarativeguard_p.h>
#include <qdeclarativeglobal_p.h>
+#include <qgraphicsscene.h>
#include <qlistmodelinterface_p.h>
#include <qhash.h>
#include <qlist.h>
@@ -111,17 +113,19 @@ public:
\since 4.7
\brief The VisualItemModel allows items to be provided to a view.
- The children of the VisualItemModel are provided in a model which
- can be used in a view. Note that no delegate should be
- provided to a view since the VisualItemModel contains the
- visual delegate (items).
+ A VisualItemModel contains the visual items to be used in a view.
+ When a VisualItemModel is used in a view, the view does not require
+ a delegate since the VisualItemModel already contains the visual
+ delegate (items).
An item can determine its index within the
- model via the VisualItemModel.index attached property.
+ model via the \l{VisualItemModel::index}{index} attached property.
The example below places three colored rectangles in a ListView.
\code
- Item {
+ import Qt 4.7
+
+ Rectangle {
VisualItemModel {
id: itemModel
Rectangle { height: 30; width: 80; color: "red" }
@@ -135,12 +139,23 @@ public:
}
}
\endcode
+
+ \image visualitemmodel.png
+
+ \sa {declarative/modelviews/visualitemmodel}{VisualItemModel example}
*/
-QDeclarativeVisualItemModel::QDeclarativeVisualItemModel()
- : QDeclarativeVisualModel(*(new QDeclarativeVisualItemModelPrivate))
+QDeclarativeVisualItemModel::QDeclarativeVisualItemModel(QObject *parent)
+ : QDeclarativeVisualModel(*(new QDeclarativeVisualItemModelPrivate), parent)
{
}
+/*!
+ \qmlattachedproperty int VisualItemModel::index
+ This attached property holds the index of this delegate's item within the model.
+
+ It is attached to each instance of the delegate.
+*/
+
QDeclarativeListProperty<QDeclarativeItem> QDeclarativeVisualItemModel::children()
{
Q_D(QDeclarativeVisualItemModel);
@@ -202,7 +217,7 @@ QVariant QDeclarativeVisualItemModel::evaluate(int index, const QString &express
QDeclarativeContext *ccontext = qmlContext(this);
QDeclarativeContext *ctxt = new QDeclarativeContext(ccontext);
ctxt->setContextObject(d->children.at(index));
- QDeclarativeExpression e(ctxt, expression, objectContext);
+ QDeclarativeExpression e(ctxt, objectContext, expression);
QVariant value = e.evaluate();
delete ctxt;
return value;
@@ -267,7 +282,8 @@ public:
}
if (m_roles.count() == 1)
m_roleNames.insert("modelData", m_roles.at(0));
- m_roleNames.insert("hasModelChildren", 0);
+ if (m_roles.count())
+ m_roleNames.insert("hasModelChildren", 0);
} else if (m_listAccessor) {
m_roleNames.insert("modelData", 0);
if (m_listAccessor->type() == QDeclarativeListAccessor::Instance) {
@@ -283,15 +299,19 @@ public:
}
}
+ QHash<int,int> roleToPropId;
void createMetaData() {
if (!m_metaDataCreated) {
ensureRoles();
- QHash<QByteArray, int>::const_iterator it = m_roleNames.begin();
- while (it != m_roleNames.end()) {
- m_delegateDataType->createProperty(it.key());
- ++it;
+ if (m_roleNames.count()) {
+ QHash<QByteArray, int>::const_iterator it = m_roleNames.begin();
+ while (it != m_roleNames.end()) {
+ int propId = m_delegateDataType->createProperty(it.key()) - m_delegateDataType->propertyOffset();
+ roleToPropId.insert(*it, propId);
+ ++it;
+ }
+ m_metaDataCreated = true;
}
- m_metaDataCreated = true;
}
}
@@ -381,7 +401,6 @@ public:
private:
friend class QDeclarativeVisualDataModelData;
- QHash<int,int> roleToProp;
};
class QDeclarativeVisualDataModelData : public QObject
@@ -398,6 +417,8 @@ public:
int propForRole(int) const;
void setValue(int, const QVariant &);
+ void ensureProperties();
+
Q_SIGNALS:
void indexChanged();
@@ -410,9 +431,11 @@ private:
int QDeclarativeVisualDataModelData::propForRole(int id) const
{
- QHash<int,int>::const_iterator it = m_meta->roleToProp.find(id);
- if (it != m_meta->roleToProp.end())
- return m_meta->roleToProp[id];
+ QDeclarativeVisualDataModelPrivate *model = QDeclarativeVisualDataModelPrivate::get(m_model);
+ QHash<int,int>::const_iterator it = model->roleToPropId.find(id);
+ if (it != model->roleToPropId.end())
+ return *it;
+
return -1;
}
@@ -436,8 +459,7 @@ int QDeclarativeVisualDataModelDataMetaObject::createProperty(const char *name,
if ((!model->m_listModelInterface || !model->m_abstractItemModel) && model->m_listAccessor) {
if (model->m_listAccessor->type() == QDeclarativeListAccessor::ListProperty) {
model->ensureRoles();
- QObject *object = model->m_listAccessor->at(data->m_index).value<QObject*>();
- if (object && (object->property(name).isValid() || qstrcmp(name,"modelData")==0))
+ if (qstrcmp(name,"modelData") == 0)
return QDeclarativeOpenMetaObject::createProperty(name, type);
}
}
@@ -469,12 +491,10 @@ QVariant QDeclarativeVisualDataModelDataMetaObject::initialValue(int propId)
model->ensureRoles();
QHash<QByteArray,int>::const_iterator it = model->m_roleNames.find(propName);
if (it != model->m_roleNames.end()) {
- roleToProp.insert(*it, propId);
QVariant value = model->m_listModelInterface->data(data->m_index, *it);
return value;
} else if (model->m_roles.count() == 1 && propName == "modelData") {
//for compatability with other lists, assign modelData if there is only a single role
- roleToProp.insert(model->m_roles.first(), propId);
QVariant value = model->m_listModelInterface->data(data->m_index, model->m_roles.first());
return value;
}
@@ -486,7 +506,6 @@ QVariant QDeclarativeVisualDataModelDataMetaObject::initialValue(int propId)
} else {
QHash<QByteArray,int>::const_iterator it = model->m_roleNames.find(propName);
if (it != model->m_roleNames.end()) {
- roleToProp.insert(*it, propId);
QModelIndex index = model->m_abstractItemModel->index(data->m_index, 0, model->m_root);
return model->m_abstractItemModel->data(index, *it);
}
@@ -501,18 +520,23 @@ QDeclarativeVisualDataModelData::QDeclarativeVisualDataModelData(int index,
: m_index(index), m_model(model),
m_meta(new QDeclarativeVisualDataModelDataMetaObject(this, QDeclarativeVisualDataModelPrivate::get(model)->m_delegateDataType))
{
- QDeclarativeVisualDataModelPrivate *modelPriv = QDeclarativeVisualDataModelPrivate::get(model);
- if (modelPriv->m_metaDataCacheable) {
- if (!modelPriv->m_metaDataCreated)
- modelPriv->createMetaData();
- m_meta->setCached(true);
- }
+ ensureProperties();
}
QDeclarativeVisualDataModelData::~QDeclarativeVisualDataModelData()
{
}
+void QDeclarativeVisualDataModelData::ensureProperties()
+{
+ QDeclarativeVisualDataModelPrivate *modelPriv = QDeclarativeVisualDataModelPrivate::get(m_model);
+ if (modelPriv->m_metaDataCacheable && !modelPriv->m_metaDataCreated) {
+ modelPriv->createMetaData();
+ if (modelPriv->m_metaDataCreated)
+ m_meta->setCached(true);
+ }
+}
+
int QDeclarativeVisualDataModelData::index() const
{
return m_index;
@@ -594,30 +618,15 @@ QDeclarativeVisualDataModelData *QDeclarativeVisualDataModelPrivate::data(QObjec
A VisualDataModel encapsulates a model and the delegate that will
be instantiated for items in the model.
- It is usually not necessary to create a VisualDataModel directly,
- since the QML views will create one internally.
+ It is usually not necessary to create VisualDataModel elements.
+ However, it can be useful for manipulating and accessing the \l modelIndex
+ when a QAbstractItemModel subclass is used as the
+ model. Also, VisualDataModel is used together with \l Package to
+ provide delegates to multiple views.
The example below illustrates using a VisualDataModel with a ListView.
- \code
- VisualDataModel {
- id: visualModel
- model: myModel
- delegate: Component {
- Rectangle {
- height: 25
- width: 100
- Text { text: "Name:" + name}
- }
- }
- }
- ListView {
- width: 100
- height: 100
- anchors.fill: parent
- model: visualModel
- }
- \endcode
+ \snippet doc/src/snippets/declarative/visualdatamodel.qml 0
*/
QDeclarativeVisualDataModel::QDeclarativeVisualDataModel()
@@ -625,8 +634,8 @@ QDeclarativeVisualDataModel::QDeclarativeVisualDataModel()
{
}
-QDeclarativeVisualDataModel::QDeclarativeVisualDataModel(QDeclarativeContext *ctxt)
-: QDeclarativeVisualModel(*(new QDeclarativeVisualDataModelPrivate(ctxt)))
+QDeclarativeVisualDataModel::QDeclarativeVisualDataModel(QDeclarativeContext *ctxt, QObject *parent)
+: QDeclarativeVisualModel(*(new QDeclarativeVisualDataModelPrivate(ctxt)), parent)
{
}
@@ -759,14 +768,11 @@ void QDeclarativeVisualDataModel::setModel(const QVariant &model)
}
/*!
- \qmlproperty component VisualDataModel::delegate
+ \qmlproperty Component VisualDataModel::delegate
The delegate provides a template defining each item instantiated by a view.
The index is exposed as an accessible \c index property. Properties of the
model are also available depending upon the type of \l {qmlmodels}{Data Model}.
-
- Here is an example delegate:
- \snippet doc/src/snippets/declarative/listview/listview.qml 0
*/
QDeclarativeComponent *QDeclarativeVisualDataModel::delegate() const
{
@@ -795,56 +801,22 @@ void QDeclarativeVisualDataModel::setDelegate(QDeclarativeComponent *delegate)
/*!
\qmlproperty QModelIndex VisualDataModel::rootIndex
- QAbstractItemModel provides a heirachical tree of data, whereas
+ QAbstractItemModel provides a hierarchical tree of data, whereas
QML only operates on list data. \c rootIndex allows the children of
any node in a QAbstractItemModel to be provided by this model.
This property only affects models of type QAbstractItemModel.
- \code
- // main.cpp
-
- int main(int argc, char ** argv)
- {
- QApplication app(argc, argv);
-
- QDeclarativeView view;
-
- QDirModel model;
- view.rootContext()->setContextProperty("myModel", &model);
-
- view.setSource(QUrl("qrc:view.qml"));
- view.show();
-
- return app.exec();
- }
-
- #include "main.moc"
- \endcode
-
- \code
- // view.qml
- import Qt 4.7
+ For example, here is a simple interactive file system browser.
+ When a directory name is clicked, the view's \c rootIndex is set to the
+ QModelIndex node of the clicked directory, thus updating the view to show
+ the new directory's contents.
- ListView {
- id: view
- width: 200
- height: 200
- model: VisualDataModel {
- model: myModel
- delegate: Component {
- Rectangle {
- height: 25; width: 200
- Text { text: filePath }
- MouseArea {
- anchors.fill: parent;
- onClicked: if (hasModelChildren) view.model.rootIndex = view.model.modelIndex(index)
- }
- }
- }
- }
- }
- \endcode
+ \c main.cpp:
+ \snippet doc/src/snippets/declarative/visualdatamodel_rootindex/main.cpp 0
+
+ \c view.qml:
+ \snippet doc/src/snippets/declarative/visualdatamodel_rootindex/view.qml 0
\sa modelIndex(), parentModelIndex()
*/
@@ -876,7 +848,7 @@ void QDeclarativeVisualDataModel::setRootIndex(const QVariant &root)
/*!
\qmlmethod QModelIndex VisualDataModel::modelIndex(int index)
- QAbstractItemModel provides a heirachical tree of data, whereas
+ QAbstractItemModel provides a hierarchical tree of data, whereas
QML only operates on list data. This function assists in using
tree models in QML.
@@ -896,7 +868,7 @@ QVariant QDeclarativeVisualDataModel::modelIndex(int idx) const
/*!
\qmlmethod QModelIndex VisualDataModel::parentModelIndex()
- QAbstractItemModel provides a heirachical tree of data, whereas
+ QAbstractItemModel provides a hierarchical tree of data, whereas
QML only operates on list data. This function assists in using
tree models in QML.
@@ -963,13 +935,18 @@ QDeclarativeVisualDataModel::ReleaseFlags QDeclarativeVisualDataModel::release(Q
}
if (d->m_cache.releaseItem(obj)) {
+ // Remove any bindings to avoid warnings due to parent change.
+ QObjectPrivate *p = QObjectPrivate::get(obj);
+ Q_ASSERT(p->declarativeData);
+ QDeclarativeData *d = static_cast<QDeclarativeData*>(p->declarativeData);
+ if (d->ownContext && d->context)
+ d->context->clearExpressions();
+
if (inPackage) {
emit destroyingPackage(qobject_cast<QDeclarativePackage*>(obj));
} else {
- if (item->hasFocus())
- item->clearFocus();
- item->setOpacity(0.0);
- static_cast<QGraphicsItem*>(item)->setParentItem(0);
+ if (item->scene())
+ item->scene()->removeItem(item);
}
stat |= Destroyed;
obj->deleteLater();
@@ -985,10 +962,10 @@ QDeclarativeVisualDataModel::ReleaseFlags QDeclarativeVisualDataModel::release(Q
The \a parts property selects a VisualDataModel which creates
delegates from the part named. This is used in conjunction with
- the Package element.
+ the \l Package element.
For example, the code below selects a model which creates
- delegates named \e list from a Package:
+ delegates named \e list from a \l Package:
\code
VisualDataModel {
@@ -1030,6 +1007,11 @@ QDeclarativeItem *QDeclarativeVisualDataModel::item(int index, const QByteArray
if (!ccontext) ccontext = qmlContext(this);
QDeclarativeContext *ctxt = new QDeclarativeContext(ccontext);
QDeclarativeVisualDataModelData *data = new QDeclarativeVisualDataModelData(index, this);
+ if ((!d->m_listModelInterface || !d->m_abstractItemModel) && d->m_listAccessor
+ && d->m_listAccessor->type() == QDeclarativeListAccessor::ListProperty) {
+ ctxt->setContextObject(d->m_listAccessor->at(index).value<QObject*>());
+ ctxt = new QDeclarativeContext(ctxt, ctxt);
+ }
ctxt->setContextProperty(QLatin1String("model"), data);
ctxt->setContextObject(data);
d->m_completePending = false;
@@ -1155,7 +1137,7 @@ QVariant QDeclarativeVisualDataModel::evaluate(int index, const QString &express
if (nobj) {
QDeclarativeItem *item = qobject_cast<QDeclarativeItem *>(nobj);
if (item) {
- QDeclarativeExpression e(qmlContext(item), expression, objectContext);
+ QDeclarativeExpression e(qmlContext(item), objectContext, expression);
value = e.evaluate();
}
} else {
@@ -1164,7 +1146,7 @@ QVariant QDeclarativeVisualDataModel::evaluate(int index, const QString &express
QDeclarativeContext *ctxt = new QDeclarativeContext(ccontext);
QDeclarativeVisualDataModelData *data = new QDeclarativeVisualDataModelData(index, this);
ctxt->setContextObject(data);
- QDeclarativeExpression e(ctxt, expression, objectContext);
+ QDeclarativeExpression e(ctxt, objectContext, expression);
value = e.evaluate();
delete data;
delete ctxt;
@@ -1201,6 +1183,13 @@ void QDeclarativeVisualDataModel::_q_itemsChanged(int index, int count,
QModelIndex index = d->m_abstractItemModel->index(idx, 0, d->m_root);
data->setValue(propId, d->m_abstractItemModel->data(index, role));
}
+ } else {
+ QString roleName;
+ if (d->m_listModelInterface)
+ roleName = d->m_listModelInterface->toString(role);
+ else if (d->m_abstractItemModel)
+ roleName = QString::fromUtf8(d->m_abstractItemModel->roleNames().value(role));
+ qmlInfo(this) << "Changing role not present in item: " << roleName;
}
}
}
diff --git a/src/declarative/graphicsitems/qdeclarativevisualitemmodel_p.h b/src/declarative/graphicsitems/qdeclarativevisualitemmodel_p.h
index edfd387d50..079c9e6a92 100644
--- a/src/declarative/graphicsitems/qdeclarativevisualitemmodel_p.h
+++ b/src/declarative/graphicsitems/qdeclarativevisualitemmodel_p.h
@@ -54,11 +54,6 @@ Q_DECLARE_METATYPE(QModelIndex)
QT_BEGIN_NAMESPACE
QT_MODULE(Declarative)
-/*****************************************************************************
- *****************************************************************************
- XXX Experimental
- *****************************************************************************
-*****************************************************************************/
class QDeclarativeItem;
class QDeclarativeComponent;
@@ -72,7 +67,7 @@ class Q_DECLARATIVE_EXPORT QDeclarativeVisualModel : public QObject
Q_PROPERTY(int count READ count NOTIFY countChanged)
public:
- QDeclarativeVisualModel() {}
+ QDeclarativeVisualModel(QObject *parent=0) : QObject(parent) {}
virtual ~QDeclarativeVisualModel() {}
enum ReleaseFlag { Referenced = 0x01, Destroyed = 0x02 };
@@ -117,7 +112,7 @@ class Q_DECLARATIVE_EXPORT QDeclarativeVisualItemModel : public QDeclarativeVisu
Q_CLASSINFO("DefaultProperty", "children")
public:
- QDeclarativeVisualItemModel();
+ QDeclarativeVisualItemModel(QObject *parent=0);
virtual ~QDeclarativeVisualItemModel() {}
virtual int count() const;
@@ -156,7 +151,7 @@ class Q_DECLARATIVE_EXPORT QDeclarativeVisualDataModel : public QDeclarativeVisu
Q_CLASSINFO("DefaultProperty", "delegate")
public:
QDeclarativeVisualDataModel();
- QDeclarativeVisualDataModel(QDeclarativeContext *);
+ QDeclarativeVisualDataModel(QDeclarativeContext *, QObject *parent=0);
virtual ~QDeclarativeVisualDataModel();
QVariant model() const;
diff --git a/src/declarative/qml/parser/qdeclarativejslexer.cpp b/src/declarative/qml/parser/qdeclarativejslexer.cpp
index 975ad4c8c3..fcaaece43c 100644
--- a/src/declarative/qml/parser/qdeclarativejslexer.cpp
+++ b/src/declarative/qml/parser/qdeclarativejslexer.cpp
@@ -57,7 +57,7 @@
#include <string.h>
QT_BEGIN_NAMESPACE
-Q_DECL_IMPORT extern double qstrtod(const char *s00, char const **se, bool *ok);
+Q_CORE_EXPORT double qstrtod(const char *s00, char const **se, bool *ok);
QT_END_NAMESPACE
QT_QML_BEGIN_NAMESPACE
diff --git a/src/declarative/qml/qdeclarative.h b/src/declarative/qml/qdeclarative.h
index d75f0a8124..53ff51ca3b 100644
--- a/src/declarative/qml/qdeclarative.h
+++ b/src/declarative/qml/qdeclarative.h
@@ -67,7 +67,7 @@ QT_BEGIN_HEADER
QML_DECLARE_TYPE_HASMETATYPE(INTERFACE)
enum { /* TYPEINFO flags */
- QML_HAS_ATTACHED_PROPERTIES = 0x01,
+ QML_HAS_ATTACHED_PROPERTIES = 0x01
};
#define QML_DECLARE_TYPEINFO(TYPE, FLAGS) \
diff --git a/src/declarative/qml/qdeclarativebinding.cpp b/src/declarative/qml/qdeclarativebinding.cpp
index d44e7fbb09..882e981555 100644
--- a/src/declarative/qml/qdeclarativebinding.cpp
+++ b/src/declarative/qml/qdeclarativebinding.cpp
@@ -88,7 +88,7 @@ QDeclarativeBinding::QDeclarativeBinding(void *data, QDeclarativeRefCount *rc, Q
QDeclarativeBinding::QDeclarativeBinding(const QString &str, QObject *obj, QDeclarativeContext *ctxt,
QObject *parent)
-: QDeclarativeExpression(QDeclarativeContextData::get(ctxt), str, obj, *new QDeclarativeBindingPrivate)
+: QDeclarativeExpression(QDeclarativeContextData::get(ctxt), obj, str, *new QDeclarativeBindingPrivate)
{
setParent(parent);
setNotifyOnValueChanged(true);
@@ -96,7 +96,7 @@ QDeclarativeBinding::QDeclarativeBinding(const QString &str, QObject *obj, QDecl
QDeclarativeBinding::QDeclarativeBinding(const QString &str, QObject *obj, QDeclarativeContextData *ctxt,
QObject *parent)
-: QDeclarativeExpression(ctxt, str, obj, *new QDeclarativeBindingPrivate)
+: QDeclarativeExpression(ctxt, obj, str, *new QDeclarativeBindingPrivate)
{
setParent(parent);
setNotifyOnValueChanged(true);
@@ -191,9 +191,22 @@ void QDeclarativeBinding::update(QDeclarativePropertyPrivate::WriteFlags flags)
data->error.setUrl(url);
data->error.setLine(line);
data->error.setColumn(-1);
- data->error.setDescription(QLatin1String("Unable to assign [undefined] to ") + QLatin1String(QMetaType::typeName(data->property.propertyType())));
+ data->error.setDescription(QLatin1String("Unable to assign [undefined] to ")
+ + QLatin1String(QMetaType::typeName(data->property.propertyType()))
+ + QLatin1String(" ") + data->property.name());
- } else if (data->property.object() &&
+ } else if (!scriptValue.isRegExp() && scriptValue.isFunction()) {
+
+ QUrl url = QUrl(data->url);
+ int line = data->line;
+ if (url.isEmpty()) url = QUrl(QLatin1String("<Unknown File>"));
+
+ data->error.setUrl(url);
+ data->error.setLine(line);
+ data->error.setColumn(-1);
+ data->error.setDescription(QLatin1String("Unable to assign a function to a property."));
+
+ } else if (data->property.object() &&
!QDeclarativePropertyPrivate::write(data->property, value, flags)) {
QUrl url = QUrl(data->url);
@@ -275,13 +288,15 @@ QDeclarativeAbstractBinding::QDeclarativeAbstractBinding()
QDeclarativeAbstractBinding::~QDeclarativeAbstractBinding()
{
- removeFromObject();
- if (m_mePtr)
- *m_mePtr = 0;
+ Q_ASSERT(m_prevBinding == 0);
+ Q_ASSERT(m_mePtr == 0);
}
void QDeclarativeAbstractBinding::destroy()
{
+ removeFromObject();
+ clear();
+
delete this;
}
@@ -340,8 +355,6 @@ void QDeclarativeAbstractBinding::removeFromObject()
if (m_prevBinding) {
int index = propertyIndex();
- Q_ASSERT(m_object);
-
*m_prevBinding = m_nextBinding;
if (m_nextBinding) m_nextBinding->m_prevBinding = m_prevBinding;
m_prevBinding = 0;
@@ -350,7 +363,7 @@ void QDeclarativeAbstractBinding::removeFromObject()
if (index & 0xFF000000) {
// Value type - we don't remove the proxy from the object. It will sit their happily
// doing nothing for ever more.
- } else {
+ } else if (m_object) {
QDeclarativeData *data = QDeclarativeData::get(m_object, false);
if (data) data->clearBindingBit(index);
}
diff --git a/src/declarative/qml/qdeclarativebinding_p.h b/src/declarative/qml/qdeclarativebinding_p.h
index 2d3acf5cd4..598f09faa7 100644
--- a/src/declarative/qml/qdeclarativebinding_p.h
+++ b/src/declarative/qml/qdeclarativebinding_p.h
@@ -164,6 +164,6 @@ private:
QT_END_NAMESPACE
-Q_DECLARE_METATYPE(QDeclarativeBinding*);
+Q_DECLARE_METATYPE(QDeclarativeBinding*)
#endif // QDECLARATIVEBINDING_P_H
diff --git a/src/declarative/qml/qdeclarativeboundsignal.cpp b/src/declarative/qml/qdeclarativeboundsignal.cpp
index 89f12567de..8769122420 100644
--- a/src/declarative/qml/qdeclarativeboundsignal.cpp
+++ b/src/declarative/qml/qdeclarativeboundsignal.cpp
@@ -119,7 +119,7 @@ QDeclarativeBoundSignal::QDeclarativeBoundSignal(QDeclarativeContext *ctxt, cons
QDeclarative_setParent_noEvent(this, parent);
QMetaObject::connect(scope, m_signal.methodIndex(), this, evaluateIdx);
- m_expression = new QDeclarativeExpression(ctxt, val, scope);
+ m_expression = new QDeclarativeExpression(ctxt, scope, val);
}
QDeclarativeBoundSignal::~QDeclarativeBoundSignal()
diff --git a/src/declarative/qml/qdeclarativecompiledbindings.cpp b/src/declarative/qml/qdeclarativecompiledbindings.cpp
index 6596aba972..507e47b933 100644
--- a/src/declarative/qml/qdeclarativecompiledbindings.cpp
+++ b/src/declarative/qml/qdeclarativecompiledbindings.cpp
@@ -64,6 +64,73 @@ DEFINE_BOOL_CONFIG_OPTION(bindingsDump, QML_BINDINGS_DUMP);
Q_GLOBAL_STATIC(QDeclarativeFastProperties, fastProperties);
+#if defined(Q_CC_GNU) && (!defined(Q_CC_INTEL) || __INTEL_COMPILER >= 1200)
+# define QML_THREADED_INTERPRETER
+#endif
+
+#define FOR_EACH_QML_INSTR(F) \
+ F(Noop) /* Nop */ \
+ F(BindingId) /* id */ \
+ F(Subscribe) /* subscribe */ \
+ F(SubscribeId) /* subscribe */ \
+ F(FetchAndSubscribe) /* fetchAndSubscribe */ \
+ F(LoadId) /* load */ \
+ F(LoadScope) /* load */ \
+ F(LoadRoot) /* load */ \
+ F(LoadAttached) /* attached */ \
+ F(ConvertIntToReal) /* unaryop */ \
+ F(ConvertRealToInt) /* unaryop */ \
+ F(Real) /* real_value */ \
+ F(Int) /* int_value */ \
+ F(Bool) /* bool_value */ \
+ F(String) /* string_value */ \
+ F(AddReal) /* binaryop */ \
+ F(AddInt) /* binaryop */ \
+ F(AddString) /* binaryop */ \
+ F(MinusReal) /* binaryop */ \
+ F(MinusInt) /* binaryop */ \
+ F(CompareReal) /* binaryop */ \
+ F(CompareString) /* binaryop */ \
+ F(NotCompareReal) /* binaryop */ \
+ F(NotCompareString) /* binaryop */ \
+ F(GreaterThanReal) /* binaryop */ \
+ F(MaxReal) /* binaryop */ \
+ F(MinReal) /* binaryop */ \
+ F(NewString) /* construct */ \
+ F(NewUrl) /* construct */ \
+ F(CleanupUrl) /* cleanup */ \
+ F(CleanupString) /* cleanup */ \
+ F(Copy) /* copy */ \
+ F(Fetch) /* fetch */ \
+ F(Store) /* store */ \
+ F(Skip) /* skip */ \
+ F(Done) /* done */ \
+ /* Speculative property resolution */ \
+ F(InitString) /* initstring */ \
+ F(FindGeneric) /* find */ \
+ F(FindGenericTerminal) /* find */ \
+ F(FindProperty) /* find */ \
+ F(FindPropertyTerminal) /* find */ \
+ F(CleanupGeneric) /* cleanup */ \
+ F(ConvertGenericToReal) /* unaryop */ \
+ F(ConvertGenericToBool) /* unaryop */ \
+ F(ConvertGenericToString) /* unaryop */ \
+ F(ConvertGenericToUrl) /* unaryop */
+
+#define QML_INSTR_ENUM(I) I,
+#define QML_INSTR_ADDR(I) &&op_##I,
+
+#ifdef QML_THREADED_INTERPRETER
+# define QML_BEGIN_INSTR(I) op_##I:
+# define QML_END_INSTR(I) ++instr; goto *instr->common.code;
+# define QML_INSTR_HEADER void *code;
+#else
+# define QML_BEGIN_INSTR(I) case Instr::I:
+# define QML_END_INSTR(I) break;
+# define QML_INSTR_HEADER
+#endif
+
+
using namespace QDeclarativeJS;
namespace {
@@ -328,101 +395,45 @@ namespace {
// This structure is exactly 8-bytes in size
struct Instr {
enum {
- Noop,
- BindingId, // id
-
- Subscribe, // subscribe
- SubscribeId, // subscribe
-
- FetchAndSubscribe, // fetchAndSubscribe
-
- LoadId, // load
- LoadScope, // load
- LoadRoot, // load
- LoadAttached, // attached
-
- ConvertIntToReal, // unaryop
- ConvertRealToInt, // unaryop
-
- Real, // real_value
- Int, // int_value
- Bool, // bool_value
- String, // string_value
-
- AddReal, // binaryop
- AddInt, // binaryop
- AddString, // binaryop
-
- MinusReal, // binaryop
- MinusInt, // binaryop
-
- CompareReal, // binaryop
- CompareString, // binaryop
-
- NotCompareReal, // binaryop
- NotCompareString, // binaryop
-
- GreaterThanReal, // binaryop
- MaxReal, // binaryop
- MinReal, // binaryop
-
- NewString, // construct
- NewUrl, // construct
-
- CleanupUrl, // cleanup
- CleanupString, // cleanup
-
- Copy, // copy
- Fetch, // fetch
- Store, // store
-
- Skip, // skip
-
- Done,
-
- // Speculative property resolution
- InitString, // initstring
- FindGeneric, // find
- FindGenericTerminal, // find
- FindProperty, // find
- FindPropertyTerminal, // find
- CleanupGeneric, // cleanup
- ConvertGenericToReal, // unaryop
- ConvertGenericToBool, // unaryop
- ConvertGenericToString, // unaryop
- ConvertGenericToUrl, // unaryop
+ FOR_EACH_QML_INSTR(QML_INSTR_ENUM)
};
union {
struct {
+ QML_INSTR_HEADER
quint8 type;
quint8 packing[7];
} common;
struct {
+ QML_INSTR_HEADER
quint8 type;
quint8 packing;
quint16 column;
quint32 line;
} id;
struct {
+ QML_INSTR_HEADER
quint8 type;
quint8 packing[3];
quint16 subscriptions;
quint16 identifiers;
} init;
struct {
+ QML_INSTR_HEADER
quint8 type;
qint8 reg;
quint16 offset;
quint32 index;
} subscribe;
struct {
+ QML_INSTR_HEADER
quint8 type;
qint8 reg;
quint8 packing[2];
quint32 index;
} load;
struct {
+ QML_INSTR_HEADER
quint8 type;
qint8 output;
qint8 reg;
@@ -430,6 +441,7 @@ struct Instr {
quint32 index;
} attached;
struct {
+ QML_INSTR_HEADER
quint8 type;
qint8 output;
qint8 reg;
@@ -437,6 +449,7 @@ struct Instr {
quint32 index;
} store;
struct {
+ QML_INSTR_HEADER
quint8 type;
qint8 output;
qint8 objectReg;
@@ -445,6 +458,7 @@ struct Instr {
quint16 function;
} fetchAndSubscribe;
struct {
+ QML_INSTR_HEADER
quint8 type;
qint8 output;
qint8 objectReg;
@@ -452,41 +466,48 @@ struct Instr {
quint32 index;
} fetch;
struct {
+ QML_INSTR_HEADER
quint8 type;
qint8 reg;
qint8 src;
quint8 packing[5];
} copy;
struct {
+ QML_INSTR_HEADER
quint8 type;
qint8 reg;
quint8 packing[6];
} construct;
struct {
+ QML_INSTR_HEADER
quint8 type;
qint8 reg;
quint8 packing[2];
float value;
} real_value;
struct {
+ QML_INSTR_HEADER
quint8 type;
qint8 reg;
quint8 packing[2];
int value;
} int_value;
struct {
+ QML_INSTR_HEADER
quint8 type;
qint8 reg;
bool value;
quint8 packing[5];
} bool_value;
struct {
+ QML_INSTR_HEADER
quint8 type;
qint8 reg;
quint16 length;
quint32 offset;
} string_value;
struct {
+ QML_INSTR_HEADER
quint8 type;
qint8 output;
qint8 src1;
@@ -494,18 +515,21 @@ struct Instr {
quint8 packing[4];
} binaryop;
struct {
+ QML_INSTR_HEADER
quint8 type;
qint8 output;
qint8 src;
quint8 packing[5];
} unaryop;
struct {
+ QML_INSTR_HEADER
quint8 type;
qint8 reg;
quint8 packing[2];
quint32 count;
} skip;
struct {
+ QML_INSTR_HEADER
quint8 type;
qint8 reg;
qint8 src;
@@ -514,11 +538,13 @@ struct Instr {
quint16 subscribeIndex;
} find;
struct {
+ QML_INSTR_HEADER
quint8 type;
qint8 reg;
quint8 packing[6];
} cleanup;
struct {
+ QML_INSTR_HEADER
quint8 type;
quint8 packing[1];
quint16 offset;
@@ -535,7 +561,7 @@ struct Program {
quint16 subscriptions;
quint16 identifiers;
quint16 instructionCount;
- quint16 dummy;
+ quint16 compiled;
const char *data() const { return ((const char *)this) + sizeof(Program); }
const Instr *instructions() const { return (const Instr *)(data() + dataLength); }
@@ -572,7 +598,7 @@ struct QDeclarativeBindingCompilerPrivate
QDeclarativeParser::Object *component;
QDeclarativeParser::Property *destination;
QHash<QString, QDeclarativeParser::Object *> ids;
- QDeclarativeEnginePrivate::Imports imports;
+ QDeclarativeImports imports;
QDeclarativeEnginePrivate *engine;
QString contextName() const { return QLatin1String("$$$SCOPE_") + QString::number((intptr_t)context, 16); }
@@ -1097,35 +1123,57 @@ void QDeclarativeCompiledBindingsPrivate::run(int instrIndex,
instr += instrIndex;
const char *data = program->data();
+#ifdef QML_THREADED_INTERPRETER
+ static void *decode_instr[] = {
+ FOR_EACH_QML_INSTR(QML_INSTR_ADDR)
+ };
+
+ if (!program->compiled) {
+ program->compiled = true;
+ const Instr *inop = program->instructions();
+ for (int i = 0; i < program->instructionCount; ++i) {
+ Instr *op = (Instr *) inop++;
+ op->common.code = decode_instr[op->common.type];
+ }
+ }
+
+ goto *instr->common.code;
+#else
// return;
+
#ifdef COMPILEDBINDINGS_DEBUG
qWarning().nospace() << "Begin binding run";
#endif
while (instr) {
+ switch (instr->common.type) {
+
#ifdef COMPILEDBINDINGS_DEBUG
dumpInstruction(instr);
#endif
- switch (instr->common.type) {
- case Instr::Noop:
- case Instr::BindingId:
- break;
+#endif
- case Instr::SubscribeId:
+ QML_BEGIN_INSTR(Noop)
+ QML_END_INSTR(Noop)
+
+ QML_BEGIN_INSTR(BindingId)
+ QML_END_INSTR(BindingId)
+
+ QML_BEGIN_INSTR(SubscribeId)
subscribeId(context, instr->subscribe.index, instr->subscribe.offset);
- break;
+ QML_END_INSTR(SubscribeId)
- case Instr::Subscribe:
+ QML_BEGIN_INSTR(Subscribe)
{
QObject *o = 0;
const Register &object = registers[instr->subscribe.reg];
if (!object.isUndefined()) o = object.getQObject();
subscribe(o, instr->subscribe.index, instr->subscribe.offset);
}
- break;
+ QML_END_INSTR(Subscribe)
- case Instr::FetchAndSubscribe:
+ QML_BEGIN_INSTR(FetchAndSubscribe)
{
const Register &input = registers[instr->fetchAndSubscribe.objectReg];
Register &output = registers[instr->fetchAndSubscribe.output];
@@ -1149,21 +1197,21 @@ void QDeclarativeCompiledBindingsPrivate::run(int instrIndex,
fastProperties()->accessor(instr->fetchAndSubscribe.function)(object, output.typeDataPtr(), sub);
}
}
- break;
+ QML_END_INSTR(FetchAndSubscribe)
- case Instr::LoadId:
+ QML_BEGIN_INSTR(LoadId)
registers[instr->load.reg].setQObject(context->idValues[instr->load.index].data());
- break;
+ QML_END_INSTR(LoadId)
- case Instr::LoadScope:
+ QML_BEGIN_INSTR(LoadScope)
registers[instr->load.reg].setQObject(scope);
- break;
+ QML_END_INSTR(LoadScope)
- case Instr::LoadRoot:
+ QML_BEGIN_INSTR(LoadRoot)
registers[instr->load.reg].setQObject(context->contextObject);
- break;
+ QML_END_INSTR(LoadRoot)
- case Instr::LoadAttached:
+ QML_BEGIN_INSTR(LoadAttached)
{
const Register &input = registers[instr->attached.reg];
Register &output = registers[instr->attached.output];
@@ -1184,48 +1232,48 @@ void QDeclarativeCompiledBindingsPrivate::run(int instrIndex,
output.setQObject(attached);
}
}
- break;
+ QML_END_INSTR(LoadAttached)
- case Instr::ConvertIntToReal:
+ QML_BEGIN_INSTR(ConvertIntToReal)
{
const Register &input = registers[instr->unaryop.src];
Register &output = registers[instr->unaryop.output];
if (input.isUndefined()) output.setUndefined();
else output.setqreal(qreal(input.getint()));
}
- break;
+ QML_END_INSTR(ConvertIntToReal)
- case Instr::ConvertRealToInt:
+ QML_BEGIN_INSTR(ConvertRealToInt)
{
const Register &input = registers[instr->unaryop.src];
Register &output = registers[instr->unaryop.output];
if (input.isUndefined()) output.setUndefined();
- else output.setint(int(input.getqreal()));
+ else output.setint(qRound(input.getqreal()));
}
- break;
+ QML_END_INSTR(ConvertRealToInt)
- case Instr::Real:
+ QML_BEGIN_INSTR(Real)
registers[instr->real_value.reg].setqreal(instr->real_value.value);
- break;
+ QML_END_INSTR(Real)
- case Instr::Int:
+ QML_BEGIN_INSTR(Int)
registers[instr->int_value.reg].setint(instr->int_value.value);
- break;
+ QML_END_INSTR(Int)
- case Instr::Bool:
+ QML_BEGIN_INSTR(Bool)
registers[instr->bool_value.reg].setbool(instr->bool_value.value);
- break;
+ QML_END_INSTR(Bool)
- case Instr::String:
+ QML_BEGIN_INSTR(String)
{
Register &output = registers[instr->string_value.reg];
new (output.getstringptr())
QString((QChar *)(data + instr->string_value.offset), instr->string_value.length);
output.settype(QMetaType::QString);
}
- break;
+ QML_END_INSTR(String)
- case Instr::AddReal:
+ QML_BEGIN_INSTR(AddReal)
{
const Register &lhs = registers[instr->binaryop.src1];
const Register &rhs = registers[instr->binaryop.src2];
@@ -1233,9 +1281,9 @@ void QDeclarativeCompiledBindingsPrivate::run(int instrIndex,
if (lhs.isUndefined() || rhs.isUndefined()) output.setNaN();
else output.setqreal(lhs.getqreal() + rhs.getqreal());
}
- break;
+ QML_END_INSTR(AddReal)
- case Instr::AddInt:
+ QML_BEGIN_INSTR(AddInt)
{
const Register &lhs = registers[instr->binaryop.src1];
const Register &rhs = registers[instr->binaryop.src2];
@@ -1243,9 +1291,9 @@ void QDeclarativeCompiledBindingsPrivate::run(int instrIndex,
if (lhs.isUndefined() || rhs.isUndefined()) output.setNaN();
else output.setint(lhs.getint() + rhs.getint());
}
- break;
+ QML_END_INSTR(AddInt)
- case Instr::AddString:
+ QML_BEGIN_INSTR(AddString)
{
const Register &lhs = registers[instr->binaryop.src1];
const Register &rhs = registers[instr->binaryop.src2];
@@ -1265,9 +1313,9 @@ void QDeclarativeCompiledBindingsPrivate::run(int instrIndex,
output.settype(QMetaType::QString);
}
}
- break;
+ QML_END_INSTR(AddString)
- case Instr::MinusReal:
+ QML_BEGIN_INSTR(MinusReal)
{
const Register &lhs = registers[instr->binaryop.src1];
const Register &rhs = registers[instr->binaryop.src2];
@@ -1275,9 +1323,9 @@ void QDeclarativeCompiledBindingsPrivate::run(int instrIndex,
if (lhs.isUndefined() || rhs.isUndefined()) output.setNaN();
else output.setqreal(lhs.getqreal() - rhs.getqreal());
}
- break;
+ QML_END_INSTR(MinusReal)
- case Instr::MinusInt:
+ QML_BEGIN_INSTR(MinusInt)
{
const Register &lhs = registers[instr->binaryop.src1];
const Register &rhs = registers[instr->binaryop.src2];
@@ -1285,9 +1333,9 @@ void QDeclarativeCompiledBindingsPrivate::run(int instrIndex,
if (lhs.isUndefined() || rhs.isUndefined()) output.setNaN();
else output.setint(lhs.getint() - rhs.getint());
}
- break;
+ QML_END_INSTR(MinusInt)
- case Instr::CompareReal:
+ QML_BEGIN_INSTR(CompareReal)
{
const Register &lhs = registers[instr->binaryop.src1];
const Register &rhs = registers[instr->binaryop.src2];
@@ -1295,9 +1343,9 @@ void QDeclarativeCompiledBindingsPrivate::run(int instrIndex,
if (lhs.isUndefined() || rhs.isUndefined()) output.setbool(lhs.isUndefined() == rhs.isUndefined());
else output.setbool(lhs.getqreal() == rhs.getqreal());
}
- break;
+ QML_END_INSTR(CompareReal)
- case Instr::CompareString:
+ QML_BEGIN_INSTR(CompareString)
{
const Register &lhs = registers[instr->binaryop.src1];
const Register &rhs = registers[instr->binaryop.src2];
@@ -1305,9 +1353,9 @@ void QDeclarativeCompiledBindingsPrivate::run(int instrIndex,
if (lhs.isUndefined() || rhs.isUndefined()) output.setbool(lhs.isUndefined() == rhs.isUndefined());
else output.setbool(*lhs.getstringptr() == *rhs.getstringptr());
}
- break;
+ QML_END_INSTR(CompareString)
- case Instr::NotCompareReal:
+ QML_BEGIN_INSTR(NotCompareReal)
{
const Register &lhs = registers[instr->binaryop.src1];
const Register &rhs = registers[instr->binaryop.src2];
@@ -1315,9 +1363,9 @@ void QDeclarativeCompiledBindingsPrivate::run(int instrIndex,
if (lhs.isUndefined() || rhs.isUndefined()) output.setbool(lhs.isUndefined() != rhs.isUndefined());
else output.setbool(lhs.getqreal() != rhs.getqreal());
}
- break;
+ QML_END_INSTR(NotCompareReal)
- case Instr::NotCompareString:
+ QML_BEGIN_INSTR(NotCompareString)
{
const Register &lhs = registers[instr->binaryop.src1];
const Register &rhs = registers[instr->binaryop.src2];
@@ -1325,9 +1373,9 @@ void QDeclarativeCompiledBindingsPrivate::run(int instrIndex,
if (lhs.isUndefined() || rhs.isUndefined()) output.setbool(lhs.isUndefined() != rhs.isUndefined());
else output.setbool(*lhs.getstringptr() != *rhs.getstringptr());
}
- break;
+ QML_END_INSTR(NotCompareString)
- case Instr::GreaterThanReal:
+ QML_BEGIN_INSTR(GreaterThanReal)
{
const Register &lhs = registers[instr->binaryop.src1];
const Register &rhs = registers[instr->binaryop.src2];
@@ -1335,9 +1383,9 @@ void QDeclarativeCompiledBindingsPrivate::run(int instrIndex,
if (lhs.isUndefined() || rhs.isUndefined()) output.setbool(false);
else output.setbool(lhs.getqreal() > rhs.getqreal());
}
- break;
+ QML_END_INSTR(GreaterThanReal)
- case Instr::MaxReal:
+ QML_BEGIN_INSTR(MaxReal)
{
const Register &lhs = registers[instr->binaryop.src1];
const Register &rhs = registers[instr->binaryop.src2];
@@ -1345,9 +1393,9 @@ void QDeclarativeCompiledBindingsPrivate::run(int instrIndex,
if (lhs.isUndefined() || rhs.isUndefined()) output.setNaN();
else output.setqreal(qMax(lhs.getqreal(), rhs.getqreal()));
}
- break;
+ QML_END_INSTR(MaxReal)
- case Instr::MinReal:
+ QML_BEGIN_INSTR(MinReal)
{
const Register &lhs = registers[instr->binaryop.src1];
const Register &rhs = registers[instr->binaryop.src2];
@@ -1355,33 +1403,33 @@ void QDeclarativeCompiledBindingsPrivate::run(int instrIndex,
if (lhs.isUndefined() || rhs.isUndefined()) output.setNaN();
else output.setqreal(qMin(lhs.getqreal(), rhs.getqreal()));
}
- break;
+ QML_END_INSTR(MinReal)
- case Instr::NewString:
+ QML_BEGIN_INSTR(NewString)
{
Register &output = registers[instr->construct.reg];
new (output.getstringptr()) QString;
output.settype(QMetaType::QString);
}
- break;
+ QML_END_INSTR(NewString)
- case Instr::NewUrl:
+ QML_BEGIN_INSTR(NewUrl)
{
Register &output = registers[instr->construct.reg];
new (output.geturlptr()) QUrl;
output.settype(QMetaType::QUrl);
}
- break;
+ QML_END_INSTR(NewUrl)
- case Instr::CleanupString:
+ QML_BEGIN_INSTR(CleanupString)
registers[instr->cleanup.reg].getstringptr()->~QString();
- break;
+ QML_END_INSTR(CleanupString)
- case Instr::CleanupUrl:
+ QML_BEGIN_INSTR(CleanupUrl)
registers[instr->cleanup.reg].geturlptr()->~QUrl();
- break;
+ QML_END_INSTR(CleanupUrl)
- case Instr::Fetch:
+ QML_BEGIN_INSTR(Fetch)
{
const Register &input = registers[instr->fetch.objectReg];
Register &output = registers[instr->fetch.output];
@@ -1399,9 +1447,9 @@ void QDeclarativeCompiledBindingsPrivate::run(int instrIndex,
QMetaObject::metacall(object, QMetaObject::ReadProperty, instr->fetch.index, argv);
}
}
- break;
+ QML_END_INSTR(Fetch)
- case Instr::Store:
+ QML_BEGIN_INSTR(Store)
{
Register &data = registers[instr->store.reg];
if (data.isUndefined()) {
@@ -1415,21 +1463,22 @@ void QDeclarativeCompiledBindingsPrivate::run(int instrIndex,
QMetaObject::metacall(output, QMetaObject::WriteProperty,
instr->store.index, argv);
}
- break;
+ QML_END_INSTR(Store)
- case Instr::Copy:
+ QML_BEGIN_INSTR(Copy)
registers[instr->copy.reg] = registers[instr->copy.src];
- break;
+ QML_END_INSTR(Copy)
- case Instr::Skip:
+ QML_BEGIN_INSTR(Skip)
if (instr->skip.reg == -1 || !registers[instr->skip.reg].getbool())
instr += instr->skip.count;
- break;
+ QML_END_INSTR(Skip)
- case Instr::Done:
+ QML_BEGIN_INSTR(Done)
return;
+ QML_END_INSTR(Done)
- case Instr::InitString:
+ QML_BEGIN_INSTR(InitString)
if (!identifiers[instr->initstring.offset].identifier) {
quint32 len = *(quint32 *)(data + instr->initstring.dataIdx);
QChar *strdata = (QChar *)(data + instr->initstring.dataIdx + sizeof(quint32));
@@ -1438,10 +1487,9 @@ void QDeclarativeCompiledBindingsPrivate::run(int instrIndex,
identifiers[instr->initstring.offset] = engine->objectClass->createPersistentIdentifier(str);
}
- break;
+ QML_END_INSTR(InitString)
- case Instr::FindGenericTerminal:
- case Instr::FindGeneric:
+ QML_BEGIN_INSTR(FindGenericTerminal)
// We start the search in the parent context, as we know that the
// name is not present in the current context or it would have been
// found during the static compile
@@ -1449,10 +1497,19 @@ void QDeclarativeCompiledBindingsPrivate::run(int instrIndex,
context->parent,
identifiers[instr->find.name].identifier,
instr->common.type == Instr::FindGenericTerminal);
- break;
+ QML_END_INSTR(FindGenericTerminal)
- case Instr::FindPropertyTerminal:
- case Instr::FindProperty:
+ QML_BEGIN_INSTR(FindGeneric)
+ // We start the search in the parent context, as we know that the
+ // name is not present in the current context or it would have been
+ // found during the static compile
+ findgeneric(registers + instr->find.reg, instr->find.subscribeIndex,
+ context->parent,
+ identifiers[instr->find.name].identifier,
+ instr->common.type == Instr::FindGenericTerminal);
+ QML_END_INSTR(FindGeneric)
+
+ QML_BEGIN_INSTR(FindPropertyTerminal)
{
const Register &object = registers[instr->find.src];
if (object.isUndefined()) {
@@ -1465,9 +1522,24 @@ void QDeclarativeCompiledBindingsPrivate::run(int instrIndex,
instr->find.subscribeIndex, identifiers[instr->find.name].identifier,
instr->common.type == Instr::FindPropertyTerminal);
}
- break;
+ QML_END_INSTR(FindPropertyTerminal)
- case Instr::CleanupGeneric:
+ QML_BEGIN_INSTR(FindProperty)
+ {
+ const Register &object = registers[instr->find.src];
+ if (object.isUndefined()) {
+ throwException(instr->find.exceptionId, error, program, context);
+ return;
+ }
+
+ findproperty(object.getQObject(), registers + instr->find.reg,
+ QDeclarativeEnginePrivate::get(context->engine),
+ instr->find.subscribeIndex, identifiers[instr->find.name].identifier,
+ instr->common.type == Instr::FindPropertyTerminal);
+ }
+ QML_END_INSTR(FindProperty)
+
+ QML_BEGIN_INSTR(CleanupGeneric)
{
int type = registers[instr->cleanup.reg].gettype();
if (type == qMetaTypeId<QVariant>()) {
@@ -1478,9 +1550,9 @@ void QDeclarativeCompiledBindingsPrivate::run(int instrIndex,
registers[instr->cleanup.reg].geturlptr()->~QUrl();
}
}
- break;
+ QML_END_INSTR(CleanupGeneric)
- case Instr::ConvertGenericToReal:
+ QML_BEGIN_INSTR(ConvertGenericToReal)
{
Register &output = registers[instr->unaryop.output];
Register &input = registers[instr->unaryop.src];
@@ -1488,9 +1560,9 @@ void QDeclarativeCompiledBindingsPrivate::run(int instrIndex,
output.setqreal(toReal(&input, input.gettype(), &ok));
if (!ok) output.setUndefined();
}
- break;
+ QML_END_INSTR(ConvertGenericToReal)
- case Instr::ConvertGenericToBool:
+ QML_BEGIN_INSTR(ConvertGenericToBool)
{
Register &output = registers[instr->unaryop.output];
Register &input = registers[instr->unaryop.src];
@@ -1498,9 +1570,9 @@ void QDeclarativeCompiledBindingsPrivate::run(int instrIndex,
output.setbool(toBool(&input, input.gettype(), &ok));
if (!ok) output.setUndefined();
}
- break;
+ QML_END_INSTR(ConvertGenericToBool)
- case Instr::ConvertGenericToString:
+ QML_BEGIN_INSTR(ConvertGenericToString)
{
Register &output = registers[instr->unaryop.output];
Register &input = registers[instr->unaryop.src];
@@ -1509,9 +1581,9 @@ void QDeclarativeCompiledBindingsPrivate::run(int instrIndex,
if (ok) { new (output.getstringptr()) QString(str); output.settype(QMetaType::QString); }
else { output.setUndefined(); }
}
- break;
+ QML_END_INSTR(ConvertGenericToString)
- case Instr::ConvertGenericToUrl:
+ QML_BEGIN_INSTR(ConvertGenericToUrl)
{
Register &output = registers[instr->unaryop.output];
Register &input = registers[instr->unaryop.src];
@@ -1520,15 +1592,19 @@ void QDeclarativeCompiledBindingsPrivate::run(int instrIndex,
if (ok) { new (output.geturlptr()) QUrl(url); output.settype(QMetaType::QUrl); }
else { output.setUndefined(); }
}
- break;
+ QML_END_INSTR(ConvertGenericToUrl)
+#ifdef QML_THREADED_INTERPRETER
+ // nothing to do
+#else
default:
qFatal("EEK");
break;
- }
+ } // switch
- instr++;
- }
+ ++instr;
+ } // while
+#endif
}
void QDeclarativeBindingCompiler::dump(const QByteArray &programData)
@@ -1624,6 +1700,8 @@ bool QDeclarativeBindingCompilerPrivate::compile(QDeclarativeJS::AST::Node *node
return false;
int convertReg = acquireReg();
+ if (convertReg == -1)
+ return false;
if (destination->type == QMetaType::QReal) {
Instr convert;
@@ -1795,8 +1873,8 @@ bool QDeclarativeBindingCompilerPrivate::parseName(AST::Node *node, Result &type
if (nameParts.at(ii + 1).at(0).isUpper())
return false;
- QDeclarativeEnginePrivate::ImportedNamespace *ns = 0;
- if (!engine->resolveType(imports, name.toUtf8(), &attachType, 0, 0, 0, &ns))
+ QDeclarativeImportedNamespace *ns = 0;
+ if (!engine->importDatabase.resolveType(imports, name.toUtf8(), &attachType, 0, 0, 0, &ns))
return false;
if (ns || !attachType || !attachType->attachedPropertiesType())
return false;
@@ -2011,6 +2089,8 @@ bool QDeclarativeBindingCompilerPrivate::parseArith(QDeclarativeJS::AST::Node *n
AST::BinaryExpression *expression = static_cast<AST::BinaryExpression *>(node);
type.reg = acquireReg();
+ if (type.reg == -1)
+ return false;
Result lhs;
Result rhs;
@@ -2062,6 +2142,8 @@ bool QDeclarativeBindingCompilerPrivate::numberArith(Result &type, const Result
return false;
lhsTmp = acquireReg();
+ if (lhsTmp == -1)
+ return false;
Instr conv;
conv.common.type = Instr::ConvertGenericToReal;
@@ -2075,6 +2157,8 @@ bool QDeclarativeBindingCompilerPrivate::numberArith(Result &type, const Result
return false;
rhsTmp = acquireReg();
+ if (rhsTmp == -1)
+ return false;
Instr conv;
conv.common.type = Instr::ConvertGenericToReal;
@@ -2123,6 +2207,8 @@ bool QDeclarativeBindingCompilerPrivate::stringArith(Result &type, const Result
return false;
lhsTmp = acquireReg(Instr::CleanupString);
+ if (lhsTmp == -1)
+ return false;
Instr convert;
convert.common.type = Instr::ConvertGenericToString;
@@ -2136,6 +2222,8 @@ bool QDeclarativeBindingCompilerPrivate::stringArith(Result &type, const Result
return false;
rhsTmp = acquireReg(Instr::CleanupString);
+ if (rhsTmp == -1)
+ return false;
Instr convert;
convert.common.type = Instr::ConvertGenericToString;
@@ -2145,6 +2233,9 @@ bool QDeclarativeBindingCompilerPrivate::stringArith(Result &type, const Result
}
type.reg = acquireReg(Instr::CleanupString);
+ if (type.reg == -1)
+ return false;
+
type.type = QMetaType::QString;
Instr add;
@@ -2185,6 +2276,9 @@ bool QDeclarativeBindingCompilerPrivate::parseLogic(QDeclarativeJS::AST::Node *n
if (!parseExpression(expression->right, rhs)) return false;
type.reg = acquireReg();
+ if (type.reg == -1)
+ return false;
+
type.metaObject = 0;
type.type = QVariant::Bool;
@@ -2310,6 +2404,8 @@ bool QDeclarativeBindingCompilerPrivate::parseConstant(QDeclarativeJS::AST::Node
type.metaObject = 0;
type.type = -1;
type.reg = acquireReg();
+ if (type.reg == -1)
+ return false;
if (node->kind == AST::Node::Kind_TrueLiteral) {
type.type = QVariant::Bool;
@@ -2398,6 +2494,9 @@ bool QDeclarativeBindingCompilerPrivate::parseMethod(QDeclarativeJS::AST::Node *
releaseReg(r1.reg);
op.binaryop.output = acquireReg();
+ if (op.binaryop.output == -1)
+ return false;
+
op.binaryop.src1 = r0.reg;
op.binaryop.src2 = r1.reg;
bytecode << op;
@@ -2473,6 +2572,8 @@ bool QDeclarativeBindingCompilerPrivate::fetch(Result &rv, const QMetaObject *mo
if (rv.type == QMetaType::QString) {
int tmp = acquireReg();
+ if (tmp == -1)
+ return false;
Instr copy;
copy.common.type = Instr::Copy;
copy.copy.reg = tmp;
@@ -2549,6 +2650,8 @@ int QDeclarativeBindingCompilerPrivate::registerLiteralString(const QString &str
data += strdata;
int reg = acquireReg(Instr::CleanupString);
+ if (reg == -1)
+ return false;
Instr string;
string.common.type = Instr::String;
@@ -2754,6 +2857,7 @@ QByteArray QDeclarativeBindingCompiler::program() const
prog.subscriptions = d->committed.subscriptionIds.count();
prog.identifiers = d->committed.registeredStrings.count();
prog.instructionCount = bytecode.count();
+ prog.compiled = false;
int size = sizeof(Program) + bytecode.count() * sizeof(Instr);
size += prog.dataLength;
diff --git a/src/declarative/qml/qdeclarativecompiledbindings_p.h b/src/declarative/qml/qdeclarativecompiledbindings_p.h
index a17bc842a3..a9772ccadd 100644
--- a/src/declarative/qml/qdeclarativecompiledbindings_p.h
+++ b/src/declarative/qml/qdeclarativecompiledbindings_p.h
@@ -77,7 +77,7 @@ public:
QDeclarativeParser::Property *property;
QDeclarativeParser::Variant expression;
QHash<QString, QDeclarativeParser::Object *> ids;
- QDeclarativeEnginePrivate::Imports imports;
+ QDeclarativeImports imports;
};
// -1 on failure, otherwise the binding index to use
@@ -104,8 +104,8 @@ protected:
int qt_metacall(QMetaObject::Call, int, void **);
private:
- Q_DISABLE_COPY(QDeclarativeCompiledBindings);
- Q_DECLARE_PRIVATE(QDeclarativeCompiledBindings);
+ Q_DISABLE_COPY(QDeclarativeCompiledBindings)
+ Q_DECLARE_PRIVATE(QDeclarativeCompiledBindings)
};
QT_END_NAMESPACE
diff --git a/src/declarative/qml/qdeclarativecompiler.cpp b/src/declarative/qml/qdeclarativecompiler.cpp
index 1727687c51..80a1093afe 100644
--- a/src/declarative/qml/qdeclarativecompiler.cpp
+++ b/src/declarative/qml/qdeclarativecompiler.cpp
@@ -180,7 +180,7 @@ bool QDeclarativeCompiler::isSignalPropertyName(const QByteArray &name)
bool QDeclarativeCompiler::testLiteralAssignment(const QMetaProperty &prop,
QDeclarativeParser::Value *v)
{
- QString string = v->value.asScript();
+ QString string = v->value.asString();
if (!prop.isWritable())
COMPILE_EXCEPTION(v, tr("Invalid property assignment: \"%1\" is a read-only property").arg(QString::fromUtf8(prop.name())));
@@ -207,31 +207,31 @@ bool QDeclarativeCompiler::testLiteralAssignment(const QMetaProperty &prop,
break;
case QVariant::UInt:
{
- bool ok;
- string.toUInt(&ok);
- if (!v->value.isNumber() || !ok) COMPILE_EXCEPTION(v, tr("Invalid property assignment: unsigned int expected"));
+ bool ok = v->value.isNumber();
+ if (ok) {
+ double n = v->value.asNumber();
+ if (double(uint(n)) != n)
+ ok = false;
+ }
+ if (!ok) COMPILE_EXCEPTION(v, tr("Invalid property assignment: unsigned int expected"));
}
break;
case QVariant::Int:
{
- bool ok;
- string.toInt(&ok);
- if (!v->value.isNumber() || !ok) COMPILE_EXCEPTION(v, tr("Invalid property assignment: int expected"));
+ bool ok = v->value.isNumber();
+ if (ok) {
+ double n = v->value.asNumber();
+ if (double(int(n)) != n)
+ ok = false;
+ }
+ if (!ok) COMPILE_EXCEPTION(v, tr("Invalid property assignment: int expected"));
}
break;
case QMetaType::Float:
- {
- bool ok;
- string.toFloat(&ok);
- if (!v->value.isNumber() || !ok) COMPILE_EXCEPTION(v, tr("Invalid property assignment: float expected"));
- }
+ if (!v->value.isNumber()) COMPILE_EXCEPTION(v, tr("Invalid property assignment: float expected"));
break;
case QVariant::Double:
- {
- bool ok;
- string.toDouble(&ok);
- if (!v->value.isNumber() || !ok) COMPILE_EXCEPTION(v, tr("Invalid property assignment: double expected"));
- }
+ if (!v->value.isNumber()) COMPILE_EXCEPTION(v, tr("Invalid property assignment: double expected"));
break;
case QVariant::Color:
{
@@ -240,6 +240,7 @@ bool QDeclarativeCompiler::testLiteralAssignment(const QMetaProperty &prop,
if (!ok) COMPILE_EXCEPTION(v, tr("Invalid property assignment: color expected"));
}
break;
+#ifndef QT_NO_TEXTDATE
case QVariant::Date:
{
bool ok;
@@ -261,6 +262,7 @@ bool QDeclarativeCompiler::testLiteralAssignment(const QMetaProperty &prop,
if (!ok) COMPILE_EXCEPTION(v, tr("Invalid property assignment: datetime expected"));
}
break;
+#endif // QT_NO_TEXTDATE
case QVariant::Point:
case QVariant::PointF:
{
@@ -319,7 +321,7 @@ bool QDeclarativeCompiler::testLiteralAssignment(const QMetaProperty &prop,
void QDeclarativeCompiler::genLiteralAssignment(const QMetaProperty &prop,
QDeclarativeParser::Value *v)
{
- QString string = v->value.asScript();
+ QString string = v->value.asString();
QDeclarativeInstruction instr;
instr.line = v->location.start.line;
@@ -352,6 +354,10 @@ void QDeclarativeCompiler::genLiteralAssignment(const QMetaProperty &prop,
instr.storeDouble.propertyIndex = prop.propertyIndex();
instr.storeDouble.value = n;
}
+ } else if(v->value.isBoolean()) {
+ instr.type = QDeclarativeInstruction::StoreVariantBool;
+ instr.storeBool.propertyIndex = prop.propertyIndex();
+ instr.storeBool.value = v->value.asBoolean();
} else {
instr.type = QDeclarativeInstruction::StoreVariant;
instr.storeString.propertyIndex = prop.propertyIndex();
@@ -378,28 +384,28 @@ void QDeclarativeCompiler::genLiteralAssignment(const QMetaProperty &prop,
{
instr.type = QDeclarativeInstruction::StoreInteger;
instr.storeInteger.propertyIndex = prop.propertyIndex();
- instr.storeInteger.value = string.toUInt();
+ instr.storeInteger.value = uint(v->value.asNumber());
}
break;
case QVariant::Int:
{
instr.type = QDeclarativeInstruction::StoreInteger;
instr.storeInteger.propertyIndex = prop.propertyIndex();
- instr.storeInteger.value = string.toInt();
+ instr.storeInteger.value = int(v->value.asNumber());
}
break;
case QMetaType::Float:
{
instr.type = QDeclarativeInstruction::StoreFloat;
instr.storeFloat.propertyIndex = prop.propertyIndex();
- instr.storeFloat.value = string.toFloat();
+ instr.storeFloat.value = float(v->value.asNumber());
}
break;
case QVariant::Double:
{
instr.type = QDeclarativeInstruction::StoreDouble;
instr.storeDouble.propertyIndex = prop.propertyIndex();
- instr.storeDouble.value = string.toDouble();
+ instr.storeDouble.value = v->value.asNumber();
}
break;
case QVariant::Color:
@@ -410,6 +416,7 @@ void QDeclarativeCompiler::genLiteralAssignment(const QMetaProperty &prop,
instr.storeColor.value = c.rgba();
}
break;
+#ifndef QT_NO_TEXTDATE
case QVariant::Date:
{
QDate d = QDeclarativeStringConverters::dateFromString(string);
@@ -443,6 +450,7 @@ void QDeclarativeCompiler::genLiteralAssignment(const QMetaProperty &prop,
instr.storeDateTime.valueIndex = index;
}
break;
+#endif // QT_NO_TEXTDATE
case QVariant::Point:
case QVariant::PointF:
{
@@ -607,6 +615,7 @@ bool QDeclarativeCompiler::compile(QDeclarativeEngine *engine,
Q_ASSERT(root);
this->engine = engine;
+ this->enginePrivate = QDeclarativeEnginePrivate::get(engine);
this->unit = unit;
this->unitRoot = root;
compileTree(root);
@@ -624,6 +633,7 @@ bool QDeclarativeCompiler::compile(QDeclarativeEngine *engine,
savedCompileStates.clear();
output = 0;
this->engine = 0;
+ this->enginePrivate = 0;
this->unit = 0;
this->unitRoot = 0;
@@ -688,14 +698,12 @@ void QDeclarativeCompiler::compileTree(Object *tree)
def.type = QDeclarativeInstruction::SetDefault;
output->bytecode << def;
- output->imports = unit->imports;
-
output->importCache = new QDeclarativeTypeNameCache(engine);
for (int ii = 0; ii < importedScriptIndexes.count(); ++ii)
output->importCache->add(importedScriptIndexes.at(ii), ii);
- output->imports.cache(output->importCache, engine);
+ unit->imports.cache(output->importCache, engine);
Q_ASSERT(tree->metatype);
@@ -706,7 +714,7 @@ void QDeclarativeCompiler::compileTree(Object *tree)
output->root = &output->rootData;
}
if (!tree->metadata.isEmpty())
- QDeclarativeEnginePrivate::get(engine)->registerCompositeType(output);
+ enginePrivate->registerCompositeType(output);
}
static bool ValuePtrLessThan(const Value *t1, const Value *t2)
@@ -938,19 +946,28 @@ void QDeclarativeCompiler::genObject(QDeclarativeParser::Object *obj)
meta.storeMeta.propertyCache = output->propertyCaches.count();
// ### Surely the creation of this property cache could be more efficient
QDeclarativePropertyCache *propertyCache = 0;
- if (tr.component && QDeclarativeComponentPrivate::get(tr.component)->cc->rootPropertyCache) {
+ if (tr.component)
propertyCache = QDeclarativeComponentPrivate::get(tr.component)->cc->rootPropertyCache->copy();
- } else {
- propertyCache = QDeclarativePropertyCache::create(engine, obj->metaObject()->superClass());
- }
+ else
+ propertyCache = enginePrivate->cache(obj->metaObject()->superClass())->copy();
+
propertyCache->append(engine, obj->metaObject(), QDeclarativePropertyCache::Data::NoFlags,
QDeclarativePropertyCache::Data::IsVMEFunction);
+
if (obj == unitRoot) {
propertyCache->addref();
output->rootPropertyCache = propertyCache;
}
+
output->propertyCaches << propertyCache;
output->bytecode << meta;
+ } else if (obj == unitRoot) {
+ if (tr.component)
+ output->rootPropertyCache = QDeclarativeComponentPrivate::get(tr.component)->cc->rootPropertyCache;
+ else
+ output->rootPropertyCache = enginePrivate->cache(obj->metaObject());
+
+ output->rootPropertyCache->addref();
}
// Set the object id
@@ -1076,6 +1093,23 @@ void QDeclarativeCompiler::genObjectBody(QDeclarativeParser::Object *obj)
fetch.line = prop->location.start.line;
output->bytecode << fetch;
+ if (!prop->value->metadata.isEmpty()) {
+ QDeclarativeInstruction meta;
+ meta.type = QDeclarativeInstruction::StoreMetaObject;
+ meta.line = 0;
+ meta.storeMeta.data = output->indexForByteArray(prop->value->metadata);
+ meta.storeMeta.aliasData = output->indexForByteArray(prop->value->synthdata);
+ meta.storeMeta.propertyCache = output->propertyCaches.count();
+ // ### Surely the creation of this property cache could be more efficient
+ QDeclarativePropertyCache *propertyCache =
+ enginePrivate->cache(prop->value->metaObject()->superClass())->copy();
+ propertyCache->append(engine, prop->value->metaObject(), QDeclarativePropertyCache::Data::NoFlags,
+ QDeclarativePropertyCache::Data::IsVMEFunction);
+
+ output->propertyCaches << propertyCache;
+ output->bytecode << meta;
+ }
+
genObjectBody(prop->value);
QDeclarativeInstruction pop;
@@ -1174,7 +1208,7 @@ bool QDeclarativeCompiler::buildComponent(QDeclarativeParser::Object *obj,
if (idProp) {
if (idProp->value || idProp->values.count() > 1 || idProp->values.at(0)->object)
COMPILE_EXCEPTION(idProp, tr("Invalid component id specification"));
- COMPILE_CHECK(checkValidId(idProp->values.first(), idProp->values.first()->primitive()));
+ COMPILE_CHECK(checkValidId(idProp->values.first(), idProp->values.first()->primitive()))
QString idVal = idProp->values.first()->primitive();
@@ -1303,6 +1337,9 @@ bool QDeclarativeCompiler::buildSignal(QDeclarativeParser::Property *prop, QDecl
} else {
prop->values.at(0)->type = Value::SignalExpression;
+ if (!prop->values.at(0)->value.isScript())
+ COMPILE_EXCEPTION(prop, tr("Cannot assign a value to a signal (expecting a script to be run)"));
+
QString script = prop->values.at(0)->value.asScript().trimmed();
if (script.isEmpty())
COMPILE_EXCEPTION(prop, tr("Empty signal assignment"));
@@ -1359,9 +1396,9 @@ bool QDeclarativeCompiler::buildProperty(QDeclarativeParser::Property *prop,
}
QDeclarativeType *type = 0;
- QDeclarativeEnginePrivate::ImportedNamespace *typeNamespace = 0;
- QDeclarativeEnginePrivate::get(engine)->resolveType(unit->imports, prop->name,
- &type, 0, 0, 0, &typeNamespace);
+ QDeclarativeImportedNamespace *typeNamespace = 0;
+ enginePrivate->importDatabase.resolveType(unit->imports, prop->name,
+ &type, 0, 0, 0, &typeNamespace);
if (typeNamespace) {
// ### We might need to indicate that this property is a namespace
@@ -1436,7 +1473,7 @@ bool QDeclarativeCompiler::buildProperty(QDeclarativeParser::Property *prop,
COMPILE_CHECK(buildGroupedProperty(prop, obj, ctxt));
- } else if (QDeclarativeEnginePrivate::get(engine)->isList(prop->type)) {
+ } else if (enginePrivate->isList(prop->type)) {
COMPILE_CHECK(buildListProperty(prop, obj, ctxt));
@@ -1453,11 +1490,10 @@ bool QDeclarativeCompiler::buildProperty(QDeclarativeParser::Property *prop,
return true;
}
-bool
-QDeclarativeCompiler::buildPropertyInNamespace(QDeclarativeEnginePrivate::ImportedNamespace *ns,
- QDeclarativeParser::Property *nsProp,
- QDeclarativeParser::Object *obj,
- const BindingContext &ctxt)
+bool QDeclarativeCompiler::buildPropertyInNamespace(QDeclarativeImportedNamespace *ns,
+ QDeclarativeParser::Property *nsProp,
+ QDeclarativeParser::Object *obj,
+ const BindingContext &ctxt)
{
if (!nsProp->value)
COMPILE_EXCEPTION(nsProp, tr("Invalid use of namespace"));
@@ -1470,8 +1506,7 @@ QDeclarativeCompiler::buildPropertyInNamespace(QDeclarativeEnginePrivate::Import
// Setup attached property data
QDeclarativeType *type = 0;
- QDeclarativeEnginePrivate::get(engine)->resolveTypeInNamespace(ns, prop->name,
- &type, 0, 0, 0);
+ enginePrivate->importDatabase.resolveTypeInNamespace(ns, prop->name, &type, 0, 0, 0);
if (!type || !type->attachedPropertiesType())
COMPILE_EXCEPTION(prop, tr("Non-existent attached object"));
@@ -1492,7 +1527,7 @@ QDeclarativeCompiler::buildPropertyInNamespace(QDeclarativeEnginePrivate::Import
void QDeclarativeCompiler::genValueProperty(QDeclarativeParser::Property *prop,
QDeclarativeParser::Object *obj)
{
- if (QDeclarativeEnginePrivate::get(engine)->isList(prop->type)) {
+ if (enginePrivate->isList(prop->type)) {
genListProperty(prop, obj);
} else {
genPropertyAssignment(prop, obj);
@@ -1502,7 +1537,7 @@ void QDeclarativeCompiler::genValueProperty(QDeclarativeParser::Property *prop,
void QDeclarativeCompiler::genListProperty(QDeclarativeParser::Property *prop,
QDeclarativeParser::Object *obj)
{
- int listType = QDeclarativeEnginePrivate::get(engine)->listType(prop->type);
+ int listType = enginePrivate->listType(prop->type);
QDeclarativeInstruction fetch;
fetch.type = QDeclarativeInstruction::FetchQList;
@@ -1756,8 +1791,7 @@ bool QDeclarativeCompiler::buildGroupedProperty(QDeclarativeParser::Property *pr
} else {
// Load the nested property's meta type
- prop->value->metatype =
- QDeclarativeEnginePrivate::get(engine)->metaObjectForType(prop->type);
+ prop->value->metatype = enginePrivate->metaObjectForType(prop->type);
if (!prop->value->metatype)
COMPILE_EXCEPTION(prop, tr("Invalid grouped property access"));
@@ -1836,13 +1870,13 @@ bool QDeclarativeCompiler::buildListProperty(QDeclarativeParser::Property *prop,
QDeclarativeParser::Object *obj,
const BindingContext &ctxt)
{
- Q_ASSERT(QDeclarativeEnginePrivate::get(engine)->isList(prop->type));
+ Q_ASSERT(enginePrivate->isList(prop->type));
int t = prop->type;
obj->addValueProperty(prop);
- int listType = QDeclarativeEnginePrivate::get(engine)->listType(t);
+ int listType = enginePrivate->listType(t);
bool listTypeIsInterface = QDeclarativeMetaType::isInterface(listType);
bool assignedBinding = false;
@@ -1883,7 +1917,7 @@ bool QDeclarativeCompiler::buildScriptStringProperty(QDeclarativeParser::Propert
if (prop->values.count() > 1)
COMPILE_EXCEPTION(prop->values.at(1), tr( "Cannot assign multiple values to a script property"));
- if (prop->values.at(0)->object || !prop->values.at(0)->value.isScript())
+ if (prop->values.at(0)->object)
COMPILE_EXCEPTION(prop->values.at(0), tr( "Invalid property assignment: script expected"));
obj->addScriptStringProperty(prop, ctxt.stack);
@@ -1957,8 +1991,7 @@ bool QDeclarativeCompiler::buildPropertyObjectAssignment(QDeclarativeParser::Pro
// We want to raw metaObject here as the raw metaobject is the
// actual property type before we applied any extensions that might
// effect the properties on the type, but don't effect assignability
- const QMetaObject *propertyMetaObject =
- QDeclarativeEnginePrivate::get(engine)->rawMetaObjectForType(prop->type);
+ const QMetaObject *propertyMetaObject = enginePrivate->rawMetaObjectForType(prop->type);
// Will be true if the assgned type inherits propertyMetaObject
bool isAssignable = false;
@@ -2100,8 +2133,8 @@ bool QDeclarativeCompiler::testQualifiedEnumAssignment(const QMetaProperty &prop
QString typeName = parts.at(0);
QDeclarativeType *type = 0;
- QDeclarativeEnginePrivate::get(engine)->resolveType(unit->imports, typeName.toUtf8(),
- &type, 0, 0, 0, 0);
+ enginePrivate->importDatabase.resolveType(unit->imports, typeName.toUtf8(),
+ &type, 0, 0, 0, 0);
if (!type || obj->typeName != type->qmlTypeName())
return true;
@@ -2128,7 +2161,7 @@ int QDeclarativeCompiler::evaluateEnum(const QByteArray& script) const
int dot = script.indexOf('.');
if (dot > 0) {
QDeclarativeType *type = 0;
- QDeclarativeEnginePrivate::get(engine)->resolveType(unit->imports, script.left(dot), &type, 0, 0, 0, 0);
+ enginePrivate->importDatabase.resolveType(unit->imports, script.left(dot), &type, 0, 0, 0, 0);
if (!type)
return -1;
const QMetaObject *mo = type->metaObject();
@@ -2282,13 +2315,12 @@ bool QDeclarativeCompiler::buildDynamicMeta(QDeclarativeParser::Object *obj, Dyn
QByteArray customTypeName;
QDeclarativeType *qmltype = 0;
QUrl url;
- QDeclarativeEnginePrivate *priv = QDeclarativeEnginePrivate::get(engine);
- if (!priv->resolveType(unit->imports, p.customType, &qmltype,
- &url, 0, 0, 0))
+ if (!enginePrivate->importDatabase.resolveType(unit->imports, p.customType, &qmltype,
+ &url, 0, 0, 0))
COMPILE_EXCEPTION(&p, tr("Invalid property type"));
if (!qmltype) {
- QDeclarativeCompositeTypeData *tdata = priv->typeManager.get(url);
+ QDeclarativeCompositeTypeData *tdata = enginePrivate->typeManager.get(url);
Q_ASSERT(tdata);
Q_ASSERT(tdata->status == QDeclarativeCompositeTypeData::Complete);
@@ -2460,7 +2492,7 @@ bool QDeclarativeCompiler::checkValidId(QDeclarativeParser::Value *v, const QStr
}
- if (QDeclarativeEnginePrivate::get(engine)->globalClass->illegalNames().contains(val))
+ if (enginePrivate->globalClass->illegalNames().contains(val))
COMPILE_EXCEPTION(v, tr( "ID illegally masks global JavaScript property"));
return true;
@@ -2653,8 +2685,8 @@ int QDeclarativeCompiler::genValueTypeData(QDeclarativeParser::Property *valueTy
{
QByteArray data =
QDeclarativePropertyPrivate::saveValueType(prop->parent->metaObject(), prop->index,
- QDeclarativeEnginePrivate::get(engine)->valueTypes[prop->type]->metaObject(),
- valueTypeProp->index);
+ enginePrivate->valueTypes[prop->type]->metaObject(),
+ valueTypeProp->index);
// valueTypeProp->index, valueTypeProp->type);
return output->indexForByteArray(data);
@@ -2690,7 +2722,7 @@ bool QDeclarativeCompiler::completeComponentBuild()
expr.expression = binding.expression;
expr.imports = unit->imports;
- int index = bindingCompiler.compile(expr, QDeclarativeEnginePrivate::get(engine));
+ int index = bindingCompiler.compile(expr, enginePrivate);
if (index != -1) {
binding.dataType = BindingReference::Experimental;
binding.compiledIndex = index;
@@ -2798,7 +2830,7 @@ void QDeclarativeCompiler::dumpStats()
bool QDeclarativeCompiler::canCoerce(int to, QDeclarativeParser::Object *from)
{
const QMetaObject *toMo =
- QDeclarativeEnginePrivate::get(engine)->rawMetaObjectForType(to);
+ enginePrivate->rawMetaObjectForType(to);
const QMetaObject *fromMo = from->metaObject();
while (fromMo) {
diff --git a/src/declarative/qml/qdeclarativecompiler_p.h b/src/declarative/qml/qdeclarativecompiler_p.h
index fefab7a42b..908c70398e 100644
--- a/src/declarative/qml/qdeclarativecompiler_p.h
+++ b/src/declarative/qml/qdeclarativecompiler_p.h
@@ -84,7 +84,6 @@ public:
QString name;
QUrl url;
- QDeclarativeEnginePrivate::Imports imports;
QDeclarativeTypeNameCache *importCache;
struct TypeReference
@@ -192,7 +191,7 @@ private:
const BindingContext &);
bool buildProperty(QDeclarativeParser::Property *prop, QDeclarativeParser::Object *obj,
const BindingContext &);
- bool buildPropertyInNamespace(QDeclarativeEnginePrivate::ImportedNamespace *ns,
+ bool buildPropertyInNamespace(QDeclarativeImportedNamespace *ns,
QDeclarativeParser::Property *prop,
QDeclarativeParser::Object *obj,
const BindingContext &);
@@ -336,6 +335,7 @@ private:
QList<QDeclarativeError> exceptions;
QDeclarativeCompiledData *output;
QDeclarativeEngine *engine;
+ QDeclarativeEnginePrivate *enginePrivate;
QDeclarativeParser::Object *unitRoot;
QDeclarativeCompositeTypeData *unit;
};
diff --git a/src/declarative/qml/qdeclarativecomponent.cpp b/src/declarative/qml/qdeclarativecomponent.cpp
index d8bbb70e8c..b4919ff777 100644
--- a/src/declarative/qml/qdeclarativecomponent.cpp
+++ b/src/declarative/qml/qdeclarativecomponent.cpp
@@ -53,6 +53,7 @@
#include "private/qdeclarativebinding_p_p.h"
#include "private/qdeclarativeglobal_p.h"
#include "private/qdeclarativescriptparser_p.h"
+#include "private/qdeclarativedebugtrace_p.h"
#include <QStack>
#include <QStringList>
@@ -63,7 +64,6 @@
QT_BEGIN_NAMESPACE
class QByteArray;
-int statusId = qRegisterMetaType<QDeclarativeComponent::Status>("QDeclarativeComponent::Status");
/*!
\class QDeclarativeComponent
@@ -77,7 +77,7 @@ int statusId = qRegisterMetaType<QDeclarativeComponent::Status>("QDeclarativeCom
\since 4.7
\brief The Component element encapsulates a QML component description.
- Components are reusable, encapsulated Qml element with a well-defined interface.
+ Components are reusable, encapsulated QML elements with well-defined interfaces.
They are often defined in \l {qdeclarativedocuments.html}{Component Files}.
The \e Component element allows defining components within a QML file.
@@ -242,11 +242,11 @@ QDeclarativeComponent::~QDeclarativeComponent()
\qmlproperty enumeration Component::status
This property holds the status of component loading. It can be one of:
\list
- \o Null - no data is available for the component
- \o Ready - the component has been loaded, and can be used to create instances.
- \o Loading - the component is currently being loaded
- \o Error - an error occurred while loading the component.
- Calling errorsString() will provide a human-readable description of any errors.
+ \o Component.Null - no data is available for the component
+ \o Component.Ready - the component has been loaded, and can be used to create instances.
+ \o Component.Loading - the component is currently being loaded
+ \o Component.Error - an error occurred while loading the component.
+ Calling errorString() will provide a human-readable description of any errors.
\endlist
*/
@@ -269,19 +269,7 @@ QDeclarativeComponent::Status QDeclarativeComponent::status() const
}
/*!
- \qmlproperty bool Component::isNull
-
- Is true if the component is in the Null state, false otherwise.
-
- Equivalent to status == Component.Null.
-*/
-
-/*!
- \property QDeclarativeComponent::isNull
-
- Is true if the component is in the Null state, false otherwise.
-
- Equivalent to status() == QDeclarativeComponent::Null.
+ Returns true if status() == QDeclarativeComponent::Null.
*/
bool QDeclarativeComponent::isNull() const
{
@@ -289,19 +277,7 @@ bool QDeclarativeComponent::isNull() const
}
/*!
- \qmlproperty bool Component::isReady
-
- Is true if the component is in the Ready state, false otherwise.
-
- Equivalent to status == Component.Ready.
-*/
-
-/*!
- \property QDeclarativeComponent::isReady
-
- Is true if the component is in the Ready state, false otherwise.
-
- Equivalent to status() == QDeclarativeComponent::Ready.
+ Returns true if status() == QDeclarativeComponent::Ready.
*/
bool QDeclarativeComponent::isReady() const
{
@@ -309,21 +285,7 @@ bool QDeclarativeComponent::isReady() const
}
/*!
- \qmlproperty bool Component::isError
-
- Is true if the component is in the Error state, false otherwise.
-
- Equivalent to status == Component.Error.
-
- Calling errorsString() will provide a human-readable description of any errors.
-*/
-
-/*!
- \property QDeclarativeComponent::isError
-
- Is true if the component is in the Error state, false otherwise.
-
- Equivalent to status() == QDeclarativeComponent::Error.
+ Returns true if status() == QDeclarativeComponent::Error.
*/
bool QDeclarativeComponent::isError() const
{
@@ -331,19 +293,7 @@ bool QDeclarativeComponent::isError() const
}
/*!
- \qmlproperty bool Component::isLoading
-
- Is true if the component is in the Loading state, false otherwise.
-
- Equivalent to status == Component::Loading.
-*/
-
-/*!
- \property QDeclarativeComponent::isLoading
-
- Is true if the component is in the Loading state, false otherwise.
-
- Equivalent to status() == QDeclarativeComponent::Loading.
+ Returns true if status() == QDeclarativeComponent::Loading.
*/
bool QDeclarativeComponent::isLoading() const
{
@@ -421,7 +371,7 @@ QDeclarativeComponent::QDeclarativeComponent(QDeclarativeEngine *engine, const Q
{
Q_D(QDeclarativeComponent);
d->engine = engine;
- loadUrl(QUrl::fromLocalFile(fileName));
+ loadUrl(d->engine->baseUrl().resolved(QUrl::fromLocalFile(fileName)));
}
/*!
@@ -542,7 +492,7 @@ QList<QDeclarativeError> QDeclarativeComponent::errors() const
}
/*!
- \qmlmethod string Component::errorsString()
+ \qmlmethod string Component::errorString()
Returns a human-readable description of any errors.
@@ -554,9 +504,9 @@ QList<QDeclarativeError> QDeclarativeComponent::errors() const
/*!
\internal
- errorsString is only meant as a way to get the errors in script
+ errorString is only meant as a way to get the errors in script
*/
-QString QDeclarativeComponent::errorsString() const
+QString QDeclarativeComponent::errorString() const
{
Q_D(const QDeclarativeComponent);
QString ret;
@@ -595,17 +545,30 @@ QDeclarativeComponent::QDeclarativeComponent(QDeclarativeComponentPrivate &dd, Q
}
/*!
- \qmlmethod object Component::createObject()
- Returns an object instance from this component, or null if object creation fails.
+ \qmlmethod object Component::createObject(parent)
+
+ Creates and returns an object instance of this component that will have the given
+ \a parent. Returns null if object creation fails.
- The object will be created in the same context as the component was created in.
+ The object will be created in the same context as the one in which the component
+ was created. This function will always return null when called on components
+ which were not created in QML.
+
+ If you wish to create an object without setting a parent, specify \c null for
+ the \a parent value. Note that if the returned object is to be displayed, you
+ must provide a valid \a parent value or set the returned object's \l{Item::parent}{parent}
+ property, or else the object will not be visible.
*/
/*!
\internal
- A version of create which returns a scriptObject, for use in script
+ A version of create which returns a scriptObject, for use in script.
+ This function will only work on components created in QML.
+
+ Sets graphics object parent because forgetting to do this is a frequent
+ and serious problem.
*/
-QScriptValue QDeclarativeComponent::createObject()
+QScriptValue QDeclarativeComponent::createObject(QObject* parent)
{
Q_D(QDeclarativeComponent);
QDeclarativeContext* ctxt = creationContext();
@@ -614,6 +577,28 @@ QScriptValue QDeclarativeComponent::createObject()
QObject* ret = create(ctxt);
if (!ret)
return QScriptValue(QScriptValue::NullValue);
+
+
+ if (parent) {
+ ret->setParent(parent);
+ QList<QDeclarativePrivate::AutoParentFunction> functions = QDeclarativeMetaType::parentFunctions();
+
+ bool needParent = false;
+
+ for (int ii = 0; ii < functions.count(); ++ii) {
+ QDeclarativePrivate::AutoParentResult res = functions.at(ii)(ret, parent);
+ if (res == QDeclarativePrivate::Parented) {
+ needParent = false;
+ break;
+ } else if (res == QDeclarativePrivate::IncompatibleParent) {
+ needParent = true;
+ }
+ }
+
+ if (needParent)
+ qWarning("QDeclarativeComponent: Created graphical object was not placed in the graphics scene.");
+ }
+
QDeclarativeEnginePrivate *priv = QDeclarativeEnginePrivate::get(d->engine);
QDeclarativeData::get(ret, true)->setImplicitDestructible();
return priv->objectClass->newQObject(ret, QMetaType::QObjectStar);
@@ -716,6 +701,11 @@ QDeclarativeComponentPrivate::beginCreate(QDeclarativeContextData *context, cons
QDeclarativeEnginePrivate *ep = QDeclarativeEnginePrivate::get(engine);
+ bool isRoot = !ep->inBeginCreate;
+ if (isRoot)
+ QDeclarativeDebugTrace::startRange(QDeclarativeDebugTrace::Creating);
+ QDeclarativeDebugTrace::rangeData(QDeclarativeDebugTrace::Creating, cc->url);
+
QDeclarativeContextData *ctxt = new QDeclarativeContextData;
ctxt->isInternal = true;
ctxt->url = cc->url;
@@ -754,6 +744,7 @@ QObject * QDeclarativeComponentPrivate::begin(QDeclarativeContextData *ctxt, QDe
state->bindValues = enginePriv->bindValues;
state->parserStatus = enginePriv->parserStatus;
+ state->finalizedParserStatus = enginePriv->finalizedParserStatus;
state->componentAttached = enginePriv->componentAttached;
if (state->componentAttached)
state->componentAttached->prev = &state->componentAttached;
@@ -761,6 +752,7 @@ QObject * QDeclarativeComponentPrivate::begin(QDeclarativeContextData *ctxt, QDe
enginePriv->componentAttached = 0;
enginePriv->bindValues.clear();
enginePriv->parserStatus.clear();
+ enginePriv->finalizedParserStatus.clear();
state->completePending = true;
enginePriv->inProgressCreations++;
}
@@ -785,6 +777,7 @@ void QDeclarativeComponentPrivate::beginDeferred(QDeclarativeEnginePrivate *engi
state->bindValues = enginePriv->bindValues;
state->parserStatus = enginePriv->parserStatus;
+ state->finalizedParserStatus = enginePriv->finalizedParserStatus;
state->componentAttached = enginePriv->componentAttached;
if (state->componentAttached)
state->componentAttached->prev = &state->componentAttached;
@@ -792,6 +785,7 @@ void QDeclarativeComponentPrivate::beginDeferred(QDeclarativeEnginePrivate *engi
enginePriv->componentAttached = 0;
enginePriv->bindValues.clear();
enginePriv->parserStatus.clear();
+ enginePriv->finalizedParserStatus.clear();
state->completePending = true;
enginePriv->inProgressCreations++;
}
@@ -826,6 +820,16 @@ void QDeclarativeComponentPrivate::complete(QDeclarativeEnginePrivate *enginePri
QDeclarativeEnginePrivate::clear(ps);
}
+ for (int ii = 0; ii < state->finalizedParserStatus.count(); ++ii) {
+ QPair<QDeclarativeGuard<QObject>, int> status = state->finalizedParserStatus.at(ii);
+ QObject *obj = status.first;
+ if (obj) {
+ void *args[] = { 0 };
+ QMetaObject::metacall(obj, QMetaObject::InvokeMetaMethod,
+ status.second, args);
+ }
+ }
+
while (state->componentAttached) {
QDeclarativeComponentAttached *a = state->componentAttached;
a->rem();
@@ -838,6 +842,7 @@ void QDeclarativeComponentPrivate::complete(QDeclarativeEnginePrivate *enginePri
state->bindValues.clear();
state->parserStatus.clear();
+ state->finalizedParserStatus.clear();
state->completePending = false;
enginePriv->inProgressCreations--;
@@ -847,6 +852,7 @@ void QDeclarativeComponentPrivate::complete(QDeclarativeEnginePrivate *enginePri
enginePriv->erroredBindings->removeError();
}
}
+
}
}
@@ -868,6 +874,8 @@ void QDeclarativeComponentPrivate::completeCreate()
if (state.completePending) {
QDeclarativeEnginePrivate *ep = QDeclarativeEnginePrivate::get(engine);
complete(ep, &state);
+
+ QDeclarativeDebugTrace::endRange(QDeclarativeDebugTrace::Creating);
}
}
diff --git a/src/declarative/qml/qdeclarativecomponent.h b/src/declarative/qml/qdeclarativecomponent.h
index f3cfe3c306..1d1fca7144 100644
--- a/src/declarative/qml/qdeclarativecomponent.h
+++ b/src/declarative/qml/qdeclarativecomponent.h
@@ -64,10 +64,7 @@ class Q_DECLARATIVE_EXPORT QDeclarativeComponent : public QObject
{
Q_OBJECT
Q_DECLARE_PRIVATE(QDeclarativeComponent)
- Q_PROPERTY(bool isNull READ isNull NOTIFY statusChanged)
- Q_PROPERTY(bool isReady READ isReady NOTIFY statusChanged)
- Q_PROPERTY(bool isError READ isError NOTIFY statusChanged)
- Q_PROPERTY(bool isLoading READ isLoading NOTIFY statusChanged)
+
Q_PROPERTY(qreal progress READ progress NOTIFY progressChanged)
Q_PROPERTY(Status status READ status NOTIFY statusChanged)
Q_PROPERTY(QUrl url READ url CONSTANT)
@@ -89,7 +86,7 @@ public:
bool isLoading() const;
QList<QDeclarativeError> errors() const;
- Q_INVOKABLE QString errorsString() const;
+ Q_INVOKABLE QString errorString() const;
qreal progress() const;
@@ -112,7 +109,7 @@ Q_SIGNALS:
protected:
QDeclarativeComponent(QDeclarativeComponentPrivate &dd, QObject* parent);
- Q_INVOKABLE QScriptValue createObject();
+ Q_INVOKABLE QScriptValue createObject(QObject* parent);
private:
QDeclarativeComponent(QDeclarativeEngine *, QDeclarativeCompiledData *, int, int, QObject *parent);
diff --git a/src/declarative/qml/qdeclarativecomponent_p.h b/src/declarative/qml/qdeclarativecomponent_p.h
index 24e5386de9..2a7d633f0d 100644
--- a/src/declarative/qml/qdeclarativecomponent_p.h
+++ b/src/declarative/qml/qdeclarativecomponent_p.h
@@ -102,6 +102,7 @@ public:
ConstructionState() : componentAttached(0), completePending(false) {}
QList<QDeclarativeEnginePrivate::SimpleList<QDeclarativeAbstractBinding> > bindValues;
QList<QDeclarativeEnginePrivate::SimpleList<QDeclarativeParserStatus> > parserStatus;
+ QList<QPair<QDeclarativeGuard<QObject>, int> > finalizedParserStatus;
QDeclarativeComponentAttached *componentAttached;
QList<QDeclarativeError> errors;
bool completePending;
@@ -149,7 +150,7 @@ Q_SIGNALS:
void destruction();
private:
- friend class QDeclarativeContextData;;
+ friend class QDeclarativeContextData;
friend class QDeclarativeComponentPrivate;
};
diff --git a/src/declarative/qml/qdeclarativecompositetypedata_p.h b/src/declarative/qml/qdeclarativecompositetypedata_p.h
index 47cb3b3e8a..a0e4cc2865 100644
--- a/src/declarative/qml/qdeclarativecompositetypedata_p.h
+++ b/src/declarative/qml/qdeclarativecompositetypedata_p.h
@@ -83,7 +83,7 @@ public:
QList<QDeclarativeError> errors;
- QDeclarativeEnginePrivate::Imports imports;
+ QDeclarativeImports imports;
QList<QDeclarativeCompositeTypeData *> dependants;
diff --git a/src/declarative/qml/qdeclarativecompositetypemanager.cpp b/src/declarative/qml/qdeclarativecompositetypemanager.cpp
index 0eb7e1be10..26b2a9bcda 100644
--- a/src/declarative/qml/qdeclarativecompositetypemanager.cpp
+++ b/src/declarative/qml/qdeclarativecompositetypemanager.cpp
@@ -334,23 +334,11 @@ void QDeclarativeCompositeTypeManager::resourceReplyFinished()
reply->deleteLater();
}
-// XXX this beyonds in QUrl::toLocalFile()
-// WARNING, there is a copy of this function in qdeclarativeengine.cpp
-static QString toLocalFileOrQrc(const QUrl& url)
-{
- if (url.scheme() == QLatin1String("qrc")) {
- if (url.authority().isEmpty())
- return QLatin1Char(':') + url.path();
- return QString();
- }
- return url.toLocalFile();
-}
-
void QDeclarativeCompositeTypeManager::loadResource(QDeclarativeCompositeTypeResource *resource)
{
QUrl url(resource->url);
- QString lf = toLocalFileOrQrc(url);
+ QString lf = QDeclarativeEnginePrivate::urlToLocalFileOrQrc(url);
if (!lf.isEmpty()) {
QFile file(lf);
@@ -360,7 +348,10 @@ void QDeclarativeCompositeTypeManager::loadResource(QDeclarativeCompositeTypeRes
} else {
resource->status = QDeclarativeCompositeTypeResource::Error;
}
+ } else if (url.scheme().isEmpty()) {
+ // We can't open this, so just declare as an error
+ resource->status = QDeclarativeCompositeTypeResource::Error;
} else {
QNetworkReply *reply =
@@ -375,34 +366,36 @@ void QDeclarativeCompositeTypeManager::loadSource(QDeclarativeCompositeTypeData
{
QUrl url(unit->imports.baseUrl());
- QString lf = toLocalFileOrQrc(url);
+ QString lf = QDeclarativeEnginePrivate::urlToLocalFileOrQrc(url);
if (!lf.isEmpty()) {
QFile file(lf);
if (file.open(QFile::ReadOnly)) {
QByteArray data = file.readAll();
setData(unit, data, url);
- } else {
- QString errorDescription;
- // ### - Fill in error
- errorDescription = QLatin1String("File error for URL ") + url.toString();
- unit->status = QDeclarativeCompositeTypeData::Error;
- // ### FIXME
- QDeclarativeError error;
- error.setDescription(errorDescription);
- unit->errorType = QDeclarativeCompositeTypeData::AccessError;
- unit->errors << error;
- doComplete(unit);
+ return; // success
}
-
- } else {
+ } else if (!url.scheme().isEmpty()) {
QNetworkReply *reply =
engine->networkAccessManager()->get(QNetworkRequest(url));
QObject::connect(reply, SIGNAL(finished()),
this, SLOT(replyFinished()));
QObject::connect(reply, SIGNAL(downloadProgress(qint64,qint64)),
this, SLOT(requestProgress(qint64,qint64)));
+ return; // waiting
}
+
+ // error happened
+ QString errorDescription;
+ // ### - Fill in error
+ errorDescription = QLatin1String("File error for URL ") + url.toString();
+ unit->status = QDeclarativeCompositeTypeData::Error;
+ // ### FIXME
+ QDeclarativeError error;
+ error.setDescription(errorDescription);
+ unit->errorType = QDeclarativeCompositeTypeData::AccessError;
+ unit->errors << error;
+ doComplete(unit);
}
void QDeclarativeCompositeTypeManager::requestProgress(qint64 received, qint64 total)
@@ -509,7 +502,9 @@ void QDeclarativeCompositeTypeManager::checkComplete(QDeclarativeCompositeTypeDa
unit->errors = u->errors;
doComplete(unit);
return;
- } else if (u->status == QDeclarativeCompositeTypeData::Waiting) {
+ } else if (u->status == QDeclarativeCompositeTypeData::Waiting
+ || u->status == QDeclarativeCompositeTypeData::WaitingResources)
+ {
waiting++;
}
}
@@ -525,16 +520,15 @@ void QDeclarativeCompositeTypeManager::checkComplete(QDeclarativeCompositeTypeDa
int QDeclarativeCompositeTypeManager::resolveTypes(QDeclarativeCompositeTypeData *unit)
{
// not called until all resources are loaded (they include import URLs)
-
int waiting = 0;
+ QDeclarativeEnginePrivate *ep = QDeclarativeEnginePrivate::get(engine);
+ QDeclarativeImportDatabase &importDatabase = ep->importDatabase;
- /*
- For local urls, add an implicit import "." as first (most overridden) lookup. This will also trigger
- the loading of the qmldir and the import of any native types from available plugins.
- */
+ // For local urls, add an implicit import "." as first (most overridden) lookup.
+ // This will also trigger the loading of the qmldir and the import of any native
+ // types from available plugins.
{
-
QDeclarativeDirComponents qmldircomponentsnetwork;
if (QDeclarativeCompositeTypeResource *resource
= resources.value(unit->imports.baseUrl().resolved(QUrl(QLatin1String("./qmldir"))))) {
@@ -544,14 +538,9 @@ int QDeclarativeCompositeTypeManager::resolveTypes(QDeclarativeCompositeTypeData
qmldircomponentsnetwork = parser.components();
}
- QDeclarativeEnginePrivate::get(engine)->
- addToImport(&unit->imports,
- qmldircomponentsnetwork,
- QLatin1String("."),
- QString(),
- -1, -1,
- QDeclarativeScriptParser::Import::File,
- 0); // error ignored (just means no fallback)
+ importDatabase.addToImport(&unit->imports, qmldircomponentsnetwork, QLatin1String("."),
+ QString(), -1, -1, QDeclarativeScriptParser::Import::File,
+ 0); // error ignored (just means no fallback)
}
@@ -588,9 +577,8 @@ int QDeclarativeCompositeTypeManager::resolveTypes(QDeclarativeCompositeTypeData
}
QString errorString;
- if (!QDeclarativeEnginePrivate::get(engine)->
- addToImport(&unit->imports, qmldircomponentsnetwork, imp.uri, imp.qualifier, vmaj, vmin, imp.type, &errorString))
- {
+ if (!importDatabase.addToImport(&unit->imports, qmldircomponentsnetwork, imp.uri, imp.qualifier,
+ vmaj, vmin, imp.type, &errorString)) {
QDeclarativeError error;
error.setUrl(unit->imports.baseUrl());
error.setDescription(errorString);
@@ -616,11 +604,10 @@ int QDeclarativeCompositeTypeManager::resolveTypes(QDeclarativeCompositeTypeData
QUrl url;
int majorVersion;
int minorVersion;
- QDeclarativeEnginePrivate::ImportedNamespace *typeNamespace = 0;
+ QDeclarativeImportedNamespace *typeNamespace = 0;
QString errorString;
- if (!QDeclarativeEnginePrivate::get(engine)->resolveType(unit->imports, typeName, &ref.type, &url, &majorVersion, &minorVersion, &typeNamespace, &errorString)
- || typeNamespace)
- {
+ if (!importDatabase.resolveType(unit->imports, typeName, &ref.type, &url, &majorVersion, &minorVersion,
+ &typeNamespace, &errorString) || typeNamespace) {
// Known to not be a type:
// - known to be a namespace (Namespace {})
// - type with unknown namespace (UnknownNamespace.SomeType {})
@@ -717,15 +704,17 @@ void QDeclarativeCompositeTypeManager::compile(QDeclarativeCompositeTypeData *un
foreach (QDeclarativeScriptParser::Import imp, unit->data.imports()) {
if (imp.type == QDeclarativeScriptParser::Import::File && imp.qualifier.isEmpty()) {
QUrl importUrl = unit->imports.baseUrl().resolved(QUrl(imp.uri + QLatin1String("/qmldir")));
- if (toLocalFileOrQrc(importUrl).isEmpty()) {
+ if (QDeclarativeEnginePrivate::urlToLocalFileOrQrc(importUrl).isEmpty()) {
// Import requires remote qmldir
resourceList.prepend(importUrl);
}
}
}
- QUrl importUrl = unit->imports.baseUrl().resolved(QUrl(QLatin1String("qmldir")));
- if (toLocalFileOrQrc(importUrl).isEmpty())
+ QUrl importUrl;
+ if (!unit->imports.baseUrl().scheme().isEmpty())
+ importUrl = unit->imports.baseUrl().resolved(QUrl(QLatin1String("qmldir")));
+ if (!importUrl.scheme().isEmpty() && QDeclarativeEnginePrivate::urlToLocalFileOrQrc(importUrl).isEmpty())
resourceList.prepend(importUrl);
for (int ii = 0; ii < resourceList.count(); ++ii) {
diff --git a/src/declarative/qml/qdeclarativecontext.cpp b/src/declarative/qml/qdeclarativecontext.cpp
index ae4223e37f..2221d78fb1 100644
--- a/src/declarative/qml/qdeclarativecontext.cpp
+++ b/src/declarative/qml/qdeclarativecontext.cpp
@@ -116,7 +116,7 @@ QDeclarativeContextPrivate::QDeclarativeContextPrivate()
All properties added explicitly by QDeclarativeContext::setContextProperty() take
precedence over the context object's properties.
- Contexts form a hierarchy. The root of this heirarchy is the QDeclarativeEngine's
+ Contexts form a hierarchy. The root of this hierarchy is the QDeclarativeEngine's
\l {QDeclarativeEngine::rootContext()}{root context}. A component instance can
access the data in its own context, as well as all its ancestor contexts. Data
can be made available to all instances by modifying the
@@ -528,13 +528,8 @@ void QDeclarativeContextData::invalidate()
parent = 0;
}
-void QDeclarativeContextData::destroy()
+void QDeclarativeContextData::clearExpressions()
{
- if (linkedContext)
- linkedContext->destroy();
-
- if (engine) invalidate();
-
QDeclarativeAbstractExpression *expression = expressions;
while (expression) {
QDeclarativeAbstractExpression *nextExpression = expression->m_nextExpression;
@@ -546,6 +541,16 @@ void QDeclarativeContextData::destroy()
expression = nextExpression;
}
expressions = 0;
+}
+
+void QDeclarativeContextData::destroy()
+{
+ if (linkedContext)
+ linkedContext->destroy();
+
+ if (engine) invalidate();
+
+ clearExpressions();
while (contextObjects) {
QDeclarativeData *co = contextObjects;
@@ -654,7 +659,7 @@ void QDeclarativeContextData::addImportedScript(const QDeclarativeParser::Object
if (iter == enginePriv->m_sharedScriptImports.end()) {
QScriptContext *scriptContext = QScriptDeclarativeClass::pushCleanContext(scriptEngine);
- scriptContext->pushScope(enginePriv->contextClass->newContext(0, 0));
+ scriptContext->pushScope(enginePriv->contextClass->newUrlContext(url));
scriptContext->pushScope(enginePriv->globalClass->globalObject());
QScriptValue scope = scriptEngine->newObject();
@@ -680,7 +685,7 @@ void QDeclarativeContextData::addImportedScript(const QDeclarativeParser::Object
QScriptContext *scriptContext = QScriptDeclarativeClass::pushCleanContext(scriptEngine);
- scriptContext->pushScope(enginePriv->contextClass->newContext(this, 0));
+ scriptContext->pushScope(enginePriv->contextClass->newUrlContext(this, 0, url));
scriptContext->pushScope(enginePriv->globalClass->globalObject());
QScriptValue scope = scriptEngine->newObject();
diff --git a/src/declarative/qml/qdeclarativecontext.h b/src/declarative/qml/qdeclarativecontext.h
index 548869c416..d87123a61c 100644
--- a/src/declarative/qml/qdeclarativecontext.h
+++ b/src/declarative/qml/qdeclarativecontext.h
@@ -107,7 +107,7 @@ private:
};
QT_END_NAMESPACE
-Q_DECLARE_METATYPE(QList<QObject*>);
+Q_DECLARE_METATYPE(QList<QObject*>)
QT_END_HEADER
diff --git a/src/declarative/qml/qdeclarativecontext_p.h b/src/declarative/qml/qdeclarativecontext_p.h
index c7fb0994d3..1f5aaf1cae 100644
--- a/src/declarative/qml/qdeclarativecontext_p.h
+++ b/src/declarative/qml/qdeclarativecontext_p.h
@@ -108,11 +108,12 @@ public:
class QDeclarativeComponentAttached;
class QDeclarativeGuardedContextData;
-class QDeclarativeContextData
+class Q_AUTOTEST_EXPORT QDeclarativeContextData
{
public:
QDeclarativeContextData();
QDeclarativeContextData(QDeclarativeContext *);
+ void clearExpressions();
void destroy();
void invalidate();
diff --git a/src/declarative/qml/qdeclarativecontextscriptclass.cpp b/src/declarative/qml/qdeclarativecontextscriptclass.cpp
index 1336a1afcb..1ebedbb0af 100644
--- a/src/declarative/qml/qdeclarativecontextscriptclass.cpp
+++ b/src/declarative/qml/qdeclarativecontextscriptclass.cpp
@@ -51,11 +51,13 @@ QT_BEGIN_NAMESPACE
struct ContextData : public QScriptDeclarativeClass::Object {
ContextData() : overrideObject(0), isSharedContext(true) {}
- ContextData(QDeclarativeContextData *c, QObject *o) : context(c), scopeObject(o), overrideObject(0), isSharedContext(false) {}
+ ContextData(QDeclarativeContextData *c, QObject *o)
+ : context(c), scopeObject(o), overrideObject(0), isSharedContext(false), isUrlContext(false) {}
QDeclarativeGuardedContextData context;
QDeclarativeGuard<QObject> scopeObject;
QObject *overrideObject;
- bool isSharedContext;
+ bool isSharedContext:1;
+ bool isUrlContext:1;
QDeclarativeContextData *getContext(QDeclarativeEngine *engine) {
if (isSharedContext) {
@@ -74,6 +76,18 @@ struct ContextData : public QScriptDeclarativeClass::Object {
}
};
+struct UrlContextData : public ContextData {
+ UrlContextData(QDeclarativeContextData *c, QObject *o, const QString &u)
+ : ContextData(c, o), url(u) {
+ isUrlContext = true;
+ }
+ UrlContextData(const QString &u)
+ : ContextData(0, 0), url(u) {
+ isUrlContext = true;
+ }
+ QString url;
+};
+
/*
The QDeclarativeContextScriptClass handles property access for a QDeclarativeContext
via QtScript.
@@ -95,6 +109,21 @@ QScriptValue QDeclarativeContextScriptClass::newContext(QDeclarativeContextData
return newObject(scriptEngine, this, new ContextData(context, scopeObject));
}
+QScriptValue QDeclarativeContextScriptClass::newUrlContext(QDeclarativeContextData *context, QObject *scopeObject,
+ const QString &url)
+{
+ QScriptEngine *scriptEngine = QDeclarativeEnginePrivate::getScriptEngine(engine);
+
+ return newObject(scriptEngine, this, new UrlContextData(context, scopeObject, url));
+}
+
+QScriptValue QDeclarativeContextScriptClass::newUrlContext(const QString &url)
+{
+ QScriptEngine *scriptEngine = QDeclarativeEnginePrivate::getScriptEngine(engine);
+
+ return newObject(scriptEngine, this, new UrlContextData(url));
+}
+
QScriptValue QDeclarativeContextScriptClass::newSharedContext()
{
QScriptEngine *scriptEngine = QDeclarativeEnginePrivate::getScriptEngine(engine);
@@ -111,6 +140,19 @@ QDeclarativeContextData *QDeclarativeContextScriptClass::contextFromValue(const
return data->getContext(engine);
}
+QUrl QDeclarativeContextScriptClass::urlFromValue(const QScriptValue &v)
+{
+ if (scriptClass(v) != this)
+ return QUrl();
+
+ ContextData *data = (ContextData *)object(v);
+ if (data->isUrlContext) {
+ return QUrl(static_cast<UrlContextData *>(data)->url);
+ } else {
+ return QUrl();
+ }
+}
+
QObject *QDeclarativeContextScriptClass::setOverrideObject(QScriptValue &v, QObject *override)
{
if (scriptClass(v) != this)
diff --git a/src/declarative/qml/qdeclarativecontextscriptclass_p.h b/src/declarative/qml/qdeclarativecontextscriptclass_p.h
index 1936d385f0..1215b009b9 100644
--- a/src/declarative/qml/qdeclarativecontextscriptclass_p.h
+++ b/src/declarative/qml/qdeclarativecontextscriptclass_p.h
@@ -68,9 +68,13 @@ public:
~QDeclarativeContextScriptClass();
QScriptValue newContext(QDeclarativeContextData *, QObject * = 0);
+ QScriptValue newUrlContext(QDeclarativeContextData *, QObject *, const QString &);
+ QScriptValue newUrlContext(const QString &);
QScriptValue newSharedContext();
QDeclarativeContextData *contextFromValue(const QScriptValue &);
+ QUrl urlFromValue(const QScriptValue &);
+
QObject *setOverrideObject(QScriptValue &, QObject *);
protected:
diff --git a/src/declarative/qml/qdeclarativedata_p.h b/src/declarative/qml/qdeclarativedata_p.h
index 4a56536918..e916273f10 100644
--- a/src/declarative/qml/qdeclarativedata_p.h
+++ b/src/declarative/qml/qdeclarativedata_p.h
@@ -152,11 +152,11 @@ public:
template<class T>
void QDeclarativeGuard<T>::addGuard()
{
- if (QObjectPrivate::get(o)->wasDeleted) {
- if (prev) remGuard();
+ Q_ASSERT(!prev);
+
+ if (QObjectPrivate::get(o)->wasDeleted)
return;
- }
-
+
QDeclarativeData *data = QDeclarativeData::get(o, true);
next = data->guards;
if (next) reinterpret_cast<QDeclarativeGuard<T> *>(next)->prev = &next;
@@ -167,6 +167,8 @@ void QDeclarativeGuard<T>::addGuard()
template<class T>
void QDeclarativeGuard<T>::remGuard()
{
+ Q_ASSERT(prev);
+
if (next) reinterpret_cast<QDeclarativeGuard<T> *>(next)->prev = prev;
*prev = next;
next = 0;
diff --git a/src/declarative/qml/qdeclarativeengine.cpp b/src/declarative/qml/qdeclarativeengine.cpp
index 0ee6dfe2d6..5c4d229f24 100644
--- a/src/declarative/qml/qdeclarativeengine.cpp
+++ b/src/declarative/qml/qdeclarativeengine.cpp
@@ -67,6 +67,7 @@
#include "qdeclarativeextensioninterface.h"
#include "private/qdeclarativelist_p.h"
#include "private/qdeclarativetypenamecache_p.h"
+#include "private/qdeclarativeinclude_p.h"
#include <QtCore/qmetaobject.h>
#include <QScriptClass>
@@ -82,6 +83,7 @@
#include <QStack>
#include <QMap>
#include <QPluginLoader>
+#include <QtGui/qfontdatabase.h>
#include <QtCore/qlibraryinfo.h>
#include <QtCore/qthreadstorage.h>
#include <QtCore/qthread.h>
@@ -91,7 +93,6 @@
#include <QtGui/qcolor.h>
#include <QtGui/qvector3d.h>
#include <QtGui/qsound.h>
-#include <QGraphicsObject>
#include <QtCore/qcryptographichash.h>
#include <private/qobject_p.h>
@@ -111,9 +112,6 @@ Q_DECLARE_METATYPE(QDeclarativeProperty)
QT_BEGIN_NAMESPACE
-DEFINE_BOOL_CONFIG_OPTION(qmlImportTrace, QML_IMPORT_TRACE)
-DEFINE_BOOL_CONFIG_OPTION(qmlCheckTypes, QML_CHECK_TYPES)
-
/*!
\qmlclass QtObject QObject
\since 4.7
@@ -152,13 +150,80 @@ void QDeclarativeEnginePrivate::defineModule()
qmlRegisterType<QDeclarativeBinding>();
}
+/*!
+\qmlclass Qt QDeclarativeEnginePrivate
+\brief The QML global Qt object provides useful enums and functions from Qt.
+
+The \c Qt object provides useful enums and functions from Qt, for use in all QML files.
+
+The \c Qt object is not a QML element; it cannot be instantiated. It is a global object
+with enums and functions. To use it, call the members of the global \c Qt object directly.
+For example:
+
+\qml
+import Qt 4.7
+
+Text {
+ color: Qt.rgba(255, 0, 0, 1)
+ text: Qt.md5("hello, world")
+}
+\endqml
+
+
+\section1 Enums
+
+The Qt object contains all enums in the Qt namespace. For example, you can
+access the \c AlignLeft member of the \c Qt::AlignmentFlag enum with \c Qt.AlignLeft.
+
+For a full list of enums, see the \l{Qt Namespace} documentation.
+
+\section1 Types
+The Qt object also contains helper functions for creating objects of specific
+data types. This is primarily useful when setting the properties of an item
+when the property has one of the following types:
+
+\list
+\o \c color - use \l{Qt::rgba()}{Qt.rgba()}, \l{Qt::hsla()}{Qt.hsla()}, \l{Qt::darker()}{Qt.darker()}, \l{Qt::lighter()}{Qt.lighter()} or \l{Qt::tint()}{Qt.tint()}
+\o \c rect - use \l{Qt::rect()}{Qt.rect()}
+\o \c point - use \l{Qt::point()}{Qt.point()}
+\o \c size - use \l{Qt::size()}{Qt.size()}
+\o \c vector3d - use \l{Qt::vector3d()}{Qt.vector3d()}
+\endlist
+
+There are also string based constructors for these types. See \l{qdeclarativebasictypes.html}{QML Basic Types} for more information.
+
+\section1 Date/Time Formatters
+
+The Qt object contains several functions for formatting dates and times.
+
+\list
+ \o \l{Qt::formatDateTime}{string Qt.formatDateTime(datetime date, variant format)}
+ \o \l{Qt::formatDate}{string Qt.formatDate(datetime date, variant format)}
+ \o \l{Qt::formatTime}{string Qt.formatTime(datetime date, variant format)}
+\endlist
+
+The format specification is described at \l{Qt::formatDateTime}{Qt.formatDateTime}.
+
+
+\section1 Dynamic Object Creation
+The following functions on the global object allow you to dynamically create QML
+items from files or strings. See \l{Dynamic Object Management} for an overview
+of their use.
+
+\list
+ \o \l{Qt::createComponent()}{object Qt.createComponent(url)}
+ \o \l{Qt::createQmlObject()}{object Qt.createQmlObject(string qml, object parent, string filepath)}
+\endlist
+*/
+
+
QDeclarativeEnginePrivate::QDeclarativeEnginePrivate(QDeclarativeEngine *e)
: captureProperties(false), rootContext(0), currentExpression(0), isDebugging(false),
outputWarningsToStdErr(true), contextClass(0), sharedContext(0), sharedScope(0),
objectClass(0), valueTypeClass(0), globalClass(0), cleanup(0), erroredBindings(0),
inProgressCreations(0), scriptEngine(this), workerScriptEngine(0), componentAttached(0),
inBeginCreate(false), networkAccessManager(0), networkAccessManagerFactory(0),
- typeManager(e), uniqueId(1)
+ typeManager(e), importDatabase(e), uniqueId(1)
{
if (!qt_QmlQtModule_registered) {
qt_QmlQtModule_registered = true;
@@ -168,29 +233,12 @@ QDeclarativeEnginePrivate::QDeclarativeEnginePrivate(QDeclarativeEngine *e)
QDeclarativeValueTypeFactory::registerValueTypes();
}
globalClass = new QDeclarativeGlobalScriptClass(&scriptEngine);
-
- // env import paths
- QByteArray envImportPath = qgetenv("QML_IMPORT_PATH");
- if (!envImportPath.isEmpty()) {
-#if defined(Q_OS_WIN) || defined(Q_OS_SYMBIAN)
- QLatin1Char pathSep(';');
-#else
- QLatin1Char pathSep(':');
-#endif
- foreach (const QString &path, QString::fromLatin1(envImportPath).split(pathSep, QString::SkipEmptyParts)) {
- QString canonicalPath = QDir(path).canonicalPath();
- if (!canonicalPath.isEmpty() && !fileImportPath.contains(canonicalPath))
- fileImportPath.append(canonicalPath);
- }
- }
- QString builtinPath = QLibraryInfo::location(QLibraryInfo::ImportsPath);
- if (!builtinPath.isEmpty())
- fileImportPath += builtinPath;
-
- filePluginPath += QLatin1String(".");
-
}
+/*!
+\qmlmethod url Qt::resolvedUrl(url)
+Returns \c url resolved relative to the URL of the caller.
+*/
QUrl QDeclarativeScriptEngine::resolvedUrl(QScriptContext *context, const QUrl& url)
{
if (p) {
@@ -227,13 +275,18 @@ QDeclarativeScriptEngine::QDeclarativeScriptEngine(QDeclarativeEnginePrivate *pr
// XXX used to add Qt.Sound class.
//types
+ if (mainthread)
+ qtObject.setProperty(QLatin1String("include"), newFunction(QDeclarativeInclude::include, 2));
+ else
+ qtObject.setProperty(QLatin1String("include"), newFunction(QDeclarativeInclude::worker_include, 2));
+
qtObject.setProperty(QLatin1String("isQtObject"), newFunction(QDeclarativeEnginePrivate::isQtObject, 1));
qtObject.setProperty(QLatin1String("rgba"), newFunction(QDeclarativeEnginePrivate::rgba, 4));
qtObject.setProperty(QLatin1String("hsla"), newFunction(QDeclarativeEnginePrivate::hsla, 4));
qtObject.setProperty(QLatin1String("rect"), newFunction(QDeclarativeEnginePrivate::rect, 4));
qtObject.setProperty(QLatin1String("point"), newFunction(QDeclarativeEnginePrivate::point, 2));
qtObject.setProperty(QLatin1String("size"), newFunction(QDeclarativeEnginePrivate::size, 2));
- qtObject.setProperty(QLatin1String("vector3d"), newFunction(QDeclarativeEnginePrivate::vector, 3));
+ qtObject.setProperty(QLatin1String("vector3d"), newFunction(QDeclarativeEnginePrivate::vector3d, 3));
if (mainthread) {
//color helpers
@@ -242,13 +295,16 @@ QDeclarativeScriptEngine::QDeclarativeScriptEngine(QDeclarativeEnginePrivate *pr
qtObject.setProperty(QLatin1String("tint"), newFunction(QDeclarativeEnginePrivate::tint, 2));
}
+#ifndef QT_NO_TEXTDATE
//date/time formatting
qtObject.setProperty(QLatin1String("formatDate"),newFunction(QDeclarativeEnginePrivate::formatDate, 2));
qtObject.setProperty(QLatin1String("formatTime"),newFunction(QDeclarativeEnginePrivate::formatTime, 2));
qtObject.setProperty(QLatin1String("formatDateTime"),newFunction(QDeclarativeEnginePrivate::formatDateTime, 2));
+#endif
//misc methods
qtObject.setProperty(QLatin1String("openUrlExternally"),newFunction(QDeclarativeEnginePrivate::desktopOpenUrl, 1));
+ qtObject.setProperty(QLatin1String("fontFamilies"),newFunction(QDeclarativeEnginePrivate::fontFamilies, 0));
qtObject.setProperty(QLatin1String("md5"),newFunction(QDeclarativeEnginePrivate::md5, 1));
qtObject.setProperty(QLatin1String("btoa"),newFunction(QDeclarativeEnginePrivate::btoa, 1));
qtObject.setProperty(QLatin1String("atob"),newFunction(QDeclarativeEnginePrivate::atob, 1));
@@ -345,17 +401,17 @@ void QDeclarativeEnginePrivate::clear(SimpleList<QDeclarativeParserStatus> &pss)
}
Q_GLOBAL_STATIC(QDeclarativeEngineDebugServer, qmlEngineDebugServer);
-typedef QMap<QString, QString> StringStringMap;
-Q_GLOBAL_STATIC(StringStringMap, qmlEnginePluginsWithRegisteredTypes); // stores the uri
-
void QDeclarativePrivate::qdeclarativeelement_destructor(QObject *o)
{
QObjectPrivate *p = QObjectPrivate::get(o);
- Q_ASSERT(p->declarativeData);
- QDeclarativeData *d = static_cast<QDeclarativeData*>(p->declarativeData);
- if (d->ownContext)
- d->context->destroy();
+ if (p->declarativeData) {
+ QDeclarativeData *d = static_cast<QDeclarativeData*>(p->declarativeData);
+ if (d->ownContext && d->context) {
+ d->context->destroy();
+ d->context = 0;
+ }
+ }
}
void QDeclarativeData::destroyed(QAbstractDeclarativeData *d, QObject *o)
@@ -374,6 +430,7 @@ void QDeclarativeEnginePrivate::init()
qRegisterMetaType<QVariant>("QVariant");
qRegisterMetaType<QDeclarativeScriptString>("QDeclarativeScriptString");
qRegisterMetaType<QScriptValue>("QScriptValue");
+ qRegisterMetaType<QDeclarativeComponent::Status>("QDeclarativeComponent::Status");
QDeclarativeData::init();
@@ -456,7 +513,11 @@ QDeclarativeEngine::~QDeclarativeEngine()
}
/*! \fn void QDeclarativeEngine::quit()
- This signal is emitted when the QDeclarativeEngine quits.
+ This signal is emitted when the QDeclarativeEngine quits.
+ */
+
+/*! \fn void QDeclarativeEngine::warnings(const QList<QDeclarativeError> &warnings)
+ This signal is emitted when \a warnings messages are generated by QML.
*/
/*!
@@ -573,9 +634,9 @@ QNetworkAccessManager *QDeclarativeEngine::networkAccessManager() const
This example creates a provider with id \e colors:
- \snippet examples/declarative/imageprovider/imageprovider.cpp 0
+ \snippet examples/declarative/cppextensions/imageprovider/imageprovider.cpp 0
- \snippet examples/declarative/imageprovider/imageprovider-example.qml 0
+ \snippet examples/declarative/cppextensions/imageprovider/imageprovider-example.qml 0
\sa removeImageProvider()
*/
@@ -892,14 +953,10 @@ void QDeclarativeData::destroyed(QObject *object)
if (ownContext && context)
context->destroy();
- QDeclarativeGuard<QObject> *guard = guards;
- while (guard) {
- QDeclarativeGuard<QObject> *g = guard;
- guard = guard->next;
- g->o = 0;
- g->prev = 0;
- g->next = 0;
- g->objectDestroyed(object);
+ while (guards) {
+ QDeclarativeGuard<QObject> *guard = guards;
+ *guard = (QObject *)0;
+ guard->objectDestroyed(object);
}
if (scriptValue)
@@ -976,6 +1033,42 @@ QDeclarativeContextData *QDeclarativeEnginePrivate::getContext(QScriptContext *c
return contextClass->contextFromValue(scopeNode);
}
+
+QString QDeclarativeEnginePrivate::urlToLocalFileOrQrc(const QUrl& url)
+{
+ if (url.scheme().compare(QLatin1String("qrc"), Qt::CaseInsensitive) == 0) {
+ if (url.authority().isEmpty())
+ return QLatin1Char(':') + url.path();
+ return QString();
+ }
+ return url.toLocalFile();
+}
+
+/*!
+\qmlmethod object Qt::createComponent(url)
+
+Returns a \l Component object created using the QML file at the specified \a url,
+or \c null if there was an error in creating the component.
+
+Call \l {Component::createObject()}{Component.createObject()} on the returned
+component to create an object instance of the component.
+
+Here is an example. Notice it checks whether the component \l{Component::status}{status} is
+\c Component.Ready before calling \l {Component::createObject()}{createObject()}
+in case the QML file is loaded over a network and thus is not ready immediately.
+
+\snippet doc/src/snippets/declarative/componentCreation.js 0
+\codeline
+\snippet doc/src/snippets/declarative/componentCreation.js 1
+
+If you are certain the files will be local, you could simplify to:
+
+\snippet doc/src/snippets/declarative/componentCreation.js 2
+
+To create a QML object from an arbitrary string of QML (instead of a file),
+use \l{Qt::createQmlObject()}{Qt.createQmlObject()}.
+*/
+
QScriptValue QDeclarativeEnginePrivate::createComponent(QScriptContext *ctxt, QScriptEngine *engine)
{
QDeclarativeEnginePrivate *activeEnginePriv =
@@ -986,7 +1079,7 @@ QScriptValue QDeclarativeEnginePrivate::createComponent(QScriptContext *ctxt, QS
Q_ASSERT(context);
if(ctxt->argumentCount() != 1) {
- return ctxt->throwError("Qt.createComponent(): Invalid arguments");
+ return ctxt->throwError(QLatin1String("Qt.createComponent(): Invalid arguments"));
}else{
QString arg = ctxt->argument(0).toString();
if (arg.isEmpty())
@@ -999,6 +1092,27 @@ QScriptValue QDeclarativeEnginePrivate::createComponent(QScriptContext *ctxt, QS
}
}
+/*!
+\qmlmethod object Qt::createQmlObject(string qml, object parent, string filepath)
+
+Returns a new object created from the given \a string of QML which will have the specified \a parent,
+or \c null if there was an error in creating the object.
+
+If \a filepath is specified, it will be used for error reporting for the created object.
+
+Example (where \c parentItem is the id of an existing QML item):
+
+\snippet doc/src/snippets/declarative/createQmlObject.qml 0
+
+In the case of an error, a QtScript Error object is thrown. This object has an additional property,
+\c qmlErrors, which is an array of the errors encountered.
+Each object in this array has the members \c lineNumber, \c columnNumber, \c fileName and \c message.
+
+Note that this function returns immediately, and therefore may not work if
+the \a qml string loads new components (that is, external QML files that have not yet been loaded).
+If this is the case, consider using \l{Qt::createComponent()}{Qt.createComponent()} instead.
+*/
+
QScriptValue QDeclarativeEnginePrivate::createQmlObject(QScriptContext *ctxt, QScriptEngine *engine)
{
QDeclarativeEnginePrivate *activeEnginePriv =
@@ -1006,7 +1120,7 @@ QScriptValue QDeclarativeEnginePrivate::createQmlObject(QScriptContext *ctxt, QS
QDeclarativeEngine* activeEngine = activeEnginePriv->q_func();
if(ctxt->argumentCount() < 2 || ctxt->argumentCount() > 3)
- return ctxt->throwError("Qt.createQmlObject(): Invalid arguments");
+ return ctxt->throwError(QLatin1String("Qt.createQmlObject(): Invalid arguments"));
QDeclarativeContextData* context = activeEnginePriv->getContext(ctxt);
Q_ASSERT(context);
@@ -1026,7 +1140,7 @@ QScriptValue QDeclarativeEnginePrivate::createQmlObject(QScriptContext *ctxt, QS
QObject *parentArg = activeEnginePriv->objectClass->toQObject(ctxt->argument(1));
if(!parentArg)
- return ctxt->throwError("Qt.createQmlObject(): Missing parent object");
+ return ctxt->throwError(QLatin1String("Qt.createQmlObject(): Missing parent object"));
QDeclarativeComponent component(activeEngine);
component.setData(qml.toUtf8(), url);
@@ -1039,21 +1153,24 @@ QScriptValue QDeclarativeEnginePrivate::createQmlObject(QScriptContext *ctxt, QS
foreach (const QDeclarativeError &error, errors){
errstr += QLatin1String(" ") + error.toString() + QLatin1String("\n");
QScriptValue qmlErrObject = ctxt->engine()->newObject();
- qmlErrObject.setProperty("lineNumber", QScriptValue(error.line()));
- qmlErrObject.setProperty("columnNumber", QScriptValue(error.column()));
- qmlErrObject.setProperty("fileName", QScriptValue(error.url().toString()));
- qmlErrObject.setProperty("message", QScriptValue(error.description()));
+ qmlErrObject.setProperty(QLatin1String("lineNumber"), QScriptValue(error.line()));
+ qmlErrObject.setProperty(QLatin1String("columnNumber"), QScriptValue(error.column()));
+ qmlErrObject.setProperty(QLatin1String("fileName"), QScriptValue(error.url().toString()));
+ qmlErrObject.setProperty(QLatin1String("message"), QScriptValue(error.description()));
arr.setProperty(i++, qmlErrObject);
}
QScriptValue err = ctxt->throwError(errstr);
- err.setProperty("qmlErrors",arr);
+ err.setProperty(QLatin1String("qmlErrors"),arr);
return err;
}
if (!component.isReady())
- return ctxt->throwError("Qt.createQmlObject(): Component is not ready");
+ return ctxt->throwError(QLatin1String("Qt.createQmlObject(): Component is not ready"));
- QObject *obj = component.create(context->asQDeclarativeContext());
+ QObject *obj = component.beginCreate(context->asQDeclarativeContext());
+ if(obj)
+ QDeclarativeData::get(obj, true)->setImplicitDestructible();
+ component.completeCreate();
if(component.isError()) {
QList<QDeclarativeError> errors = component.errors();
@@ -1063,29 +1180,35 @@ QScriptValue QDeclarativeEnginePrivate::createQmlObject(QScriptContext *ctxt, QS
foreach (const QDeclarativeError &error, errors){
errstr += QLatin1String(" ") + error.toString() + QLatin1String("\n");
QScriptValue qmlErrObject = ctxt->engine()->newObject();
- qmlErrObject.setProperty("lineNumber", QScriptValue(error.line()));
- qmlErrObject.setProperty("columnNumber", QScriptValue(error.column()));
- qmlErrObject.setProperty("fileName", QScriptValue(error.url().toString()));
- qmlErrObject.setProperty("message", QScriptValue(error.description()));
+ qmlErrObject.setProperty(QLatin1String("lineNumber"), QScriptValue(error.line()));
+ qmlErrObject.setProperty(QLatin1String("columnNumber"), QScriptValue(error.column()));
+ qmlErrObject.setProperty(QLatin1String("fileName"), QScriptValue(error.url().toString()));
+ qmlErrObject.setProperty(QLatin1String("message"), QScriptValue(error.description()));
arr.setProperty(i++, qmlErrObject);
}
QScriptValue err = ctxt->throwError(errstr);
- err.setProperty("qmlErrors",arr);
+ err.setProperty(QLatin1String("qmlErrors"),arr);
return err;
}
Q_ASSERT(obj);
obj->setParent(parentArg);
- QGraphicsObject* gobj = qobject_cast<QGraphicsObject*>(obj);
- QGraphicsObject* gparent = qobject_cast<QGraphicsObject*>(parentArg);
- if(gobj && gparent)
- gobj->setParentItem(gparent);
+
+ QList<QDeclarativePrivate::AutoParentFunction> functions = QDeclarativeMetaType::parentFunctions();
+ for (int ii = 0; ii < functions.count(); ++ii) {
+ if (QDeclarativePrivate::Parented == functions.at(ii)(obj, parentArg))
+ break;
+ }
QDeclarativeData::get(obj, true)->setImplicitDestructible();
return activeEnginePriv->objectClass->newQObject(obj, QMetaType::QObjectStar);
}
+/*!
+\qmlmethod bool Qt::isQtObject(object)
+Returns true if \c object is a valid reference to a Qt or QML object, otherwise false.
+*/
QScriptValue QDeclarativeEnginePrivate::isQtObject(QScriptContext *ctxt, QScriptEngine *engine)
{
if (ctxt->argumentCount() == 0)
@@ -1094,21 +1217,30 @@ QScriptValue QDeclarativeEnginePrivate::isQtObject(QScriptContext *ctxt, QScript
return QScriptValue(engine, 0 != ctxt->argument(0).toQObject());
}
-QScriptValue QDeclarativeEnginePrivate::vector(QScriptContext *ctxt, QScriptEngine *engine)
+/*!
+\qmlmethod Qt::vector3d(real x, real y, real z)
+Returns a Vector3D with the specified \c x, \c y and \c z.
+*/
+QScriptValue QDeclarativeEnginePrivate::vector3d(QScriptContext *ctxt, QScriptEngine *engine)
{
if(ctxt->argumentCount() != 3)
- return ctxt->throwError("Qt.vector(): Invalid arguments");
+ return ctxt->throwError(QLatin1String("Qt.vector(): Invalid arguments"));
qsreal x = ctxt->argument(0).toNumber();
qsreal y = ctxt->argument(1).toNumber();
qsreal z = ctxt->argument(2).toNumber();
- return engine->newVariant(qVariantFromValue(QVector3D(x, y, z)));
+ return QDeclarativeEnginePrivate::get(engine)->scriptValueFromVariant(qVariantFromValue(QVector3D(x, y, z)));
}
+/*!
+\qmlmethod string Qt::formatDate(datetime date, variant format)
+Returns the string representation of \c date, formatted according to \c format.
+*/
+#ifndef QT_NO_TEXTDATE
QScriptValue QDeclarativeEnginePrivate::formatDate(QScriptContext*ctxt, QScriptEngine*engine)
{
int argCount = ctxt->argumentCount();
if(argCount == 0 || argCount > 2)
- return ctxt->throwError("Qt.formatDate(): Invalid arguments");
+ return ctxt->throwError(QLatin1String("Qt.formatDate(): Invalid arguments"));
QDate date = ctxt->argument(0).toDateTime().date();
Qt::DateFormat enumFormat = Qt::DefaultLocaleShortDate;
@@ -1119,17 +1251,23 @@ QScriptValue QDeclarativeEnginePrivate::formatDate(QScriptContext*ctxt, QScriptE
} else if (ctxt->argument(1).isNumber()) {
enumFormat = Qt::DateFormat(ctxt->argument(1).toUInt32());
} else {
- return ctxt->throwError("Qt.formatDate(): Invalid date format");
+ return ctxt->throwError(QLatin1String("Qt.formatDate(): Invalid date format"));
}
}
return engine->newVariant(qVariantFromValue(date.toString(enumFormat)));
}
+/*!
+\qmlmethod string Qt::formatTime(datetime time, variant format)
+Returns the string representation of \c time, formatted according to \c format.
+
+See Qt::formatDateTime for how to define \c format.
+*/
QScriptValue QDeclarativeEnginePrivate::formatTime(QScriptContext*ctxt, QScriptEngine*engine)
{
int argCount = ctxt->argumentCount();
if(argCount == 0 || argCount > 2)
- return ctxt->throwError("Qt.formatTime(): Invalid arguments");
+ return ctxt->throwError(QLatin1String("Qt.formatTime(): Invalid arguments"));
QTime date = ctxt->argument(0).toDateTime().time();
Qt::DateFormat enumFormat = Qt::DefaultLocaleShortDate;
@@ -1140,17 +1278,86 @@ QScriptValue QDeclarativeEnginePrivate::formatTime(QScriptContext*ctxt, QScriptE
} else if (ctxt->argument(1).isNumber()) {
enumFormat = Qt::DateFormat(ctxt->argument(1).toUInt32());
} else {
- return ctxt->throwError("Qt.formatTime(): Invalid time format");
+ return ctxt->throwError(QLatin1String("Qt.formatTime(): Invalid time format"));
}
}
return engine->newVariant(qVariantFromValue(date.toString(enumFormat)));
}
+/*!
+\qmlmethod string Qt::formatDateTime(datetime dateTime, variant format)
+Returns the string representation of \c dateTime, formatted according to \c format.
+
+\c format for the date/time formatting functions is be specified as follows.
+
+ These expressions may be used for the date:
+
+ \table
+ \header \i Expression \i Output
+ \row \i d \i the day as number without a leading zero (1 to 31)
+ \row \i dd \i the day as number with a leading zero (01 to 31)
+ \row \i ddd
+ \i the abbreviated localized day name (e.g. 'Mon' to 'Sun').
+ Uses QDate::shortDayName().
+ \row \i dddd
+ \i the long localized day name (e.g. 'Monday' to 'Qt::Sunday').
+ Uses QDate::longDayName().
+ \row \i M \i the month as number without a leading zero (1-12)
+ \row \i MM \i the month as number with a leading zero (01-12)
+ \row \i MMM
+ \i the abbreviated localized month name (e.g. 'Jan' to 'Dec').
+ Uses QDate::shortMonthName().
+ \row \i MMMM
+ \i the long localized month name (e.g. 'January' to 'December').
+ Uses QDate::longMonthName().
+ \row \i yy \i the year as two digit number (00-99)
+ \row \i yyyy \i the year as four digit number
+ \endtable
+
+ These expressions may be used for the time:
+
+ \table
+ \header \i Expression \i Output
+ \row \i h
+ \i the hour without a leading zero (0 to 23 or 1 to 12 if AM/PM display)
+ \row \i hh
+ \i the hour with a leading zero (00 to 23 or 01 to 12 if AM/PM display)
+ \row \i m \i the minute without a leading zero (0 to 59)
+ \row \i mm \i the minute with a leading zero (00 to 59)
+ \row \i s \i the second without a leading zero (0 to 59)
+ \row \i ss \i the second with a leading zero (00 to 59)
+ \row \i z \i the milliseconds without leading zeroes (0 to 999)
+ \row \i zzz \i the milliseconds with leading zeroes (000 to 999)
+ \row \i AP
+ \i use AM/PM display. \e AP will be replaced by either "AM" or "PM".
+ \row \i ap
+ \i use am/pm display. \e ap will be replaced by either "am" or "pm".
+ \endtable
+
+ All other input characters will be ignored. Any sequence of characters that
+ are enclosed in singlequotes will be treated as text and not be used as an
+ expression. Two consecutive singlequotes ("''") are replaced by a singlequote
+ in the output.
+
+ Example format strings (assumed that the date and time is 21 May 2001
+ 14:13:09):
+
+ \table
+ \header \i Format \i Result
+ \row \i dd.MM.yyyy \i 21.05.2001
+ \row \i ddd MMMM d yy \i Tue May 21 01
+ \row \i hh:mm:ss.zzz \i 14:13:09.042
+ \row \i h:m:s ap \i 2:13:9 pm
+ \endtable
+
+If no format is specified the locale's short format is used. Alternatively, you can specify
+\c Qt.DefaultLocaleLongDate to get the locale's long format.
+*/
QScriptValue QDeclarativeEnginePrivate::formatDateTime(QScriptContext*ctxt, QScriptEngine*engine)
{
int argCount = ctxt->argumentCount();
if(argCount == 0 || argCount > 2)
- return ctxt->throwError("Qt.formatDateTime(): Invalid arguments");
+ return ctxt->throwError(QLatin1String("Qt.formatDateTime(): Invalid arguments"));
QDateTime date = ctxt->argument(0).toDateTime();
Qt::DateFormat enumFormat = Qt::DefaultLocaleShortDate;
@@ -1161,17 +1368,24 @@ QScriptValue QDeclarativeEnginePrivate::formatDateTime(QScriptContext*ctxt, QScr
} else if (ctxt->argument(1).isNumber()) {
enumFormat = Qt::DateFormat(ctxt->argument(1).toUInt32());
} else {
- return ctxt->throwError("Qt.formatDateTime(): Invalid datetime format");
+ return ctxt->throwError(QLatin1String("Qt.formatDateTime(): Invalid datetime format"));
}
}
return engine->newVariant(qVariantFromValue(date.toString(enumFormat)));
}
+#endif // QT_NO_TEXTDATE
+/*!
+\qmlmethod color Qt::rgba(real red, real green, real blue, real alpha)
+
+Returns a color with the specified \c red, \c green, \c blue and \c alpha components.
+All components should be in the range 0-1 inclusive.
+*/
QScriptValue QDeclarativeEnginePrivate::rgba(QScriptContext *ctxt, QScriptEngine *engine)
{
int argCount = ctxt->argumentCount();
if(argCount < 3 || argCount > 4)
- return ctxt->throwError("Qt.rgba(): Invalid arguments");
+ return ctxt->throwError(QLatin1String("Qt.rgba(): Invalid arguments"));
qsreal r = ctxt->argument(0).toNumber();
qsreal g = ctxt->argument(1).toNumber();
qsreal b = ctxt->argument(2).toNumber();
@@ -1189,11 +1403,17 @@ QScriptValue QDeclarativeEnginePrivate::rgba(QScriptContext *ctxt, QScriptEngine
return qScriptValueFromValue(engine, qVariantFromValue(QColor::fromRgbF(r, g, b, a)));
}
+/*!
+\qmlmethod color Qt::hsla(real hue, real saturation, real lightness, real alpha)
+
+Returns a color with the specified \c hue, \c saturation, \c lightness and \c alpha components.
+All components should be in the range 0-1 inclusive.
+*/
QScriptValue QDeclarativeEnginePrivate::hsla(QScriptContext *ctxt, QScriptEngine *engine)
{
int argCount = ctxt->argumentCount();
if(argCount < 3 || argCount > 4)
- return ctxt->throwError("Qt.hsla(): Invalid arguments");
+ return ctxt->throwError(QLatin1String("Qt.hsla(): Invalid arguments"));
qsreal h = ctxt->argument(0).toNumber();
qsreal s = ctxt->argument(1).toNumber();
qsreal l = ctxt->argument(2).toNumber();
@@ -1211,10 +1431,17 @@ QScriptValue QDeclarativeEnginePrivate::hsla(QScriptContext *ctxt, QScriptEngine
return qScriptValueFromValue(engine, qVariantFromValue(QColor::fromHslF(h, s, l, a)));
}
+/*!
+\qmlmethod rect Qt::rect(int x, int y, int width, int height)
+
+Returns a \c rect with the top-left corner at \c x, \c y and the specified \c width and \c height.
+
+The returned object has \c x, \c y, \c width and \c height attributes with the given values.
+*/
QScriptValue QDeclarativeEnginePrivate::rect(QScriptContext *ctxt, QScriptEngine *engine)
{
if(ctxt->argumentCount() != 4)
- return ctxt->throwError("Qt.rect(): Invalid arguments");
+ return ctxt->throwError(QLatin1String("Qt.rect(): Invalid arguments"));
qsreal x = ctxt->argument(0).toNumber();
qsreal y = ctxt->argument(1).toNumber();
@@ -1224,31 +1451,53 @@ QScriptValue QDeclarativeEnginePrivate::rect(QScriptContext *ctxt, QScriptEngine
if (w < 0 || h < 0)
return engine->nullValue();
- return qScriptValueFromValue(engine, qVariantFromValue(QRectF(x, y, w, h)));
+ return QDeclarativeEnginePrivate::get(engine)->scriptValueFromVariant(qVariantFromValue(QRectF(x, y, w, h)));
}
+/*!
+\qmlmethod point Qt::point(int x, int y)
+Returns a Point with the specified \c x and \c y coordinates.
+*/
QScriptValue QDeclarativeEnginePrivate::point(QScriptContext *ctxt, QScriptEngine *engine)
{
if(ctxt->argumentCount() != 2)
- return ctxt->throwError("Qt.point(): Invalid arguments");
+ return ctxt->throwError(QLatin1String("Qt.point(): Invalid arguments"));
qsreal x = ctxt->argument(0).toNumber();
qsreal y = ctxt->argument(1).toNumber();
- return qScriptValueFromValue(engine, qVariantFromValue(QPointF(x, y)));
+ return QDeclarativeEnginePrivate::get(engine)->scriptValueFromVariant(qVariantFromValue(QPointF(x, y)));
}
+/*!
+\qmlmethod Qt::size(int width, int height)
+Returns a Size with the specified \c width and \c height.
+*/
QScriptValue QDeclarativeEnginePrivate::size(QScriptContext *ctxt, QScriptEngine *engine)
{
if(ctxt->argumentCount() != 2)
- return ctxt->throwError("Qt.size(): Invalid arguments");
+ return ctxt->throwError(QLatin1String("Qt.size(): Invalid arguments"));
qsreal w = ctxt->argument(0).toNumber();
qsreal h = ctxt->argument(1).toNumber();
- return qScriptValueFromValue(engine, qVariantFromValue(QSizeF(w, h)));
+ return QDeclarativeEnginePrivate::get(engine)->scriptValueFromVariant(qVariantFromValue(QSizeF(w, h)));
}
+/*!
+\qmlmethod color Qt::lighter(color baseColor, real factor)
+Returns a color lighter than \c baseColor by the \c factor provided.
+
+If the factor is greater than 1.0, this functions returns a lighter color.
+Setting factor to 1.5 returns a color that is 50% brighter. If the factor is less than 1.0,
+the return color is darker, but we recommend using the Qt.darker() function for this purpose.
+If the factor is 0 or negative, the return value is unspecified.
+
+The function converts the current RGB color to HSV, multiplies the value (V) component
+by factor and converts the color back to RGB.
+
+If \c factor is not supplied, returns a color 50% lighter than \c baseColor (factor 1.5).
+*/
QScriptValue QDeclarativeEnginePrivate::lighter(QScriptContext *ctxt, QScriptEngine *engine)
{
- if(ctxt->argumentCount() != 1)
- return ctxt->throwError("Qt.lighter(): Invalid arguments");
+ if(ctxt->argumentCount() != 1 && ctxt->argumentCount() != 2)
+ return ctxt->throwError(QLatin1String("Qt.lighter(): Invalid arguments"));
QVariant v = ctxt->argument(0).toVariant();
QColor color;
if (v.userType() == QVariant::Color)
@@ -1260,14 +1509,32 @@ QScriptValue QDeclarativeEnginePrivate::lighter(QScriptContext *ctxt, QScriptEng
return engine->nullValue();
} else
return engine->nullValue();
- color = color.lighter();
+ qsreal factor = 1.5;
+ if (ctxt->argumentCount() == 2)
+ factor = ctxt->argument(1).toNumber();
+ color = color.lighter(int(qRound(factor*100.)));
return qScriptValueFromValue(engine, qVariantFromValue(color));
}
+/*!
+\qmlmethod color Qt::darker(color baseColor, real factor)
+Returns a color darker than \c baseColor by the \c factor provided.
+
+If the factor is greater than 1.0, this function returns a darker color.
+Setting factor to 3.0 returns a color that has one-third the brightness.
+If the factor is less than 1.0, the return color is lighter, but we recommend using
+the Qt.lighter() function for this purpose. If the factor is 0 or negative, the return
+value is unspecified.
+
+The function converts the current RGB color to HSV, divides the value (V) component
+by factor and converts the color back to RGB.
+
+If \c factor is not supplied, returns a color 50% darker than \c baseColor (factor 2.0).
+*/
QScriptValue QDeclarativeEnginePrivate::darker(QScriptContext *ctxt, QScriptEngine *engine)
{
- if(ctxt->argumentCount() != 1)
- return ctxt->throwError("Qt.darker(): Invalid arguments");
+ if(ctxt->argumentCount() != 1 && ctxt->argumentCount() != 2)
+ return ctxt->throwError(QLatin1String("Qt.darker(): Invalid arguments"));
QVariant v = ctxt->argument(0).toVariant();
QColor color;
if (v.userType() == QVariant::Color)
@@ -1279,10 +1546,17 @@ QScriptValue QDeclarativeEnginePrivate::darker(QScriptContext *ctxt, QScriptEngi
return engine->nullValue();
} else
return engine->nullValue();
- color = color.darker();
+ qsreal factor = 2.0;
+ if (ctxt->argumentCount() == 2)
+ factor = ctxt->argument(1).toNumber();
+ color = color.darker(int(qRound(factor*100.)));
return qScriptValueFromValue(engine, qVariantFromValue(color));
}
+/*!
+\qmlmethod bool Qt::openUrlExternally(url target)
+Attempts to open the specified \c target url in an external application, based on the user's desktop preferences. Returns true if it succeeds, and false otherwise.
+*/
QScriptValue QDeclarativeEnginePrivate::desktopOpenUrl(QScriptContext *ctxt, QScriptEngine *e)
{
if(ctxt->argumentCount() < 1)
@@ -1294,10 +1568,29 @@ QScriptValue QDeclarativeEnginePrivate::desktopOpenUrl(QScriptContext *ctxt, QSc
return QScriptValue(e, ret);
}
+/*!
+\qmlmethod list<string> Qt::fontFamilies()
+Returns a list of the font families available to the application.
+*/
+
+QScriptValue QDeclarativeEnginePrivate::fontFamilies(QScriptContext *ctxt, QScriptEngine *e)
+{
+ if(ctxt->argumentCount() != 0)
+ return ctxt->throwError(QLatin1String("Qt.fontFamilies(): Invalid arguments"));
+
+ QDeclarativeEnginePrivate *p = QDeclarativeEnginePrivate::get(e);
+ QFontDatabase database;
+ return p->scriptValueFromVariant(database.families());
+}
+
+/*!
+\qmlmethod string Qt::md5(data)
+Returns a hex string of the md5 hash of \c data.
+*/
QScriptValue QDeclarativeEnginePrivate::md5(QScriptContext *ctxt, QScriptEngine *)
{
if (ctxt->argumentCount() != 1)
- return ctxt->throwError("Qt.md5(): Invalid arguments");
+ return ctxt->throwError(QLatin1String("Qt.md5(): Invalid arguments"));
QByteArray data = ctxt->argument(0).toString().toUtf8();
QByteArray result = QCryptographicHash::hash(data, QCryptographicHash::Md5);
@@ -1305,20 +1598,29 @@ QScriptValue QDeclarativeEnginePrivate::md5(QScriptContext *ctxt, QScriptEngine
return QScriptValue(QLatin1String(result.toHex()));
}
+/*!
+\qmlmethod string Qt::btoa(data)
+Binary to ASCII - this function returns a base64 encoding of \c data.
+*/
QScriptValue QDeclarativeEnginePrivate::btoa(QScriptContext *ctxt, QScriptEngine *)
{
if (ctxt->argumentCount() != 1)
- return ctxt->throwError("Qt.btoa(): Invalid arguments");
+ return ctxt->throwError(QLatin1String("Qt.btoa(): Invalid arguments"));
QByteArray data = ctxt->argument(0).toString().toUtf8();
return QScriptValue(QLatin1String(data.toBase64()));
}
+/*!
+\qmlmethod string Qt::atob(data)
+ASCII to binary - this function returns a base64 decoding of \c data.
+*/
+
QScriptValue QDeclarativeEnginePrivate::atob(QScriptContext *ctxt, QScriptEngine *)
{
if (ctxt->argumentCount() != 1)
- return ctxt->throwError("Qt.atob(): Invalid arguments");
+ return ctxt->throwError(QLatin1String("Qt.atob(): Invalid arguments"));
QByteArray data = ctxt->argument(0).toString().toUtf8();
@@ -1409,6 +1711,13 @@ void QDeclarativeEnginePrivate::warning(QDeclarativeEnginePrivate *engine, const
dumpwarning(error);
}
+/*!
+\qmlmethod Qt::quit()
+This function causes the QDeclarativeEngine::quit() signal to be emitted.
+Within the \l {Qt Declarative UI Runtime}{qml} application this causes the
+launcher application to exit.
+*/
+
QScriptValue QDeclarativeEnginePrivate::quit(QScriptContext * /*ctxt*/, QScriptEngine *e)
{
QDeclarativeEnginePrivate *qe = get (e);
@@ -1416,10 +1725,24 @@ QScriptValue QDeclarativeEnginePrivate::quit(QScriptContext * /*ctxt*/, QScriptE
return QScriptValue();
}
+/*!
+\qmlmethod color Qt::tint(color baseColor, color tintColor)
+ This function allows tinting one color with another.
+
+ The tint color should usually be mostly transparent, or you will not be able to see the underlying color. The below example provides a slight red tint by having the tint color be pure red which is only 1/16th opaque.
+
+ \qml
+ Rectangle { x: 0; width: 80; height: 80; color: "lightsteelblue" }
+ Rectangle { x: 100; width: 80; height: 80; color: Qt.tint("lightsteelblue", "#10FF0000") }
+ \endqml
+ \image declarative-rect_tint.png
+
+ Tint is most useful when a subtle change is intended to be conveyed due to some event; you can then use tinting to more effectively tune the visible color.
+*/
QScriptValue QDeclarativeEnginePrivate::tint(QScriptContext *ctxt, QScriptEngine *engine)
{
if(ctxt->argumentCount() != 2)
- return ctxt->throwError("Qt.tint(): Invalid arguments");
+ return ctxt->throwError(QLatin1String("Qt.tint(): Invalid arguments"));
//get color
QVariant v = ctxt->argument(0).toVariant();
QColor color;
@@ -1522,516 +1845,6 @@ QVariant QDeclarativeEnginePrivate::scriptValueToVariant(const QScriptValue &val
return val.toVariant();
}
-// XXX this beyonds in QUrl::toLocalFile()
-// WARNING, there is a copy of this function in qdeclarativecompositetypemanager.cpp
-static QString toLocalFileOrQrc(const QUrl& url)
-{
- if (url.scheme() == QLatin1String("qrc")) {
- if (url.authority().isEmpty())
- return QLatin1Char(':') + url.path();
- return QString();
- }
- return url.toLocalFile();
-}
-
-/////////////////////////////////////////////////////////////
-struct QDeclarativeEnginePrivate::ImportedNamespace {
- QStringList uris;
- QStringList urls;
- QList<int> majversions;
- QList<int> minversions;
- QList<bool> isLibrary;
- QList<QDeclarativeDirComponents> qmlDirComponents;
-
-
- bool find_helper(int i, const QByteArray& type, int *vmajor, int *vminor,
- QDeclarativeType** type_return, QUrl* url_return,
- QUrl *base = 0, bool *typeRecursionDetected = 0)
- {
- int vmaj = majversions.at(i);
- int vmin = minversions.at(i);
-
- QByteArray qt = uris.at(i).toUtf8();
- qt += '/';
- qt += type;
-
- QDeclarativeType *t = QDeclarativeMetaType::qmlType(qt,vmaj,vmin);
- if (t) {
- if (vmajor) *vmajor = vmaj;
- if (vminor) *vminor = vmin;
- if (type_return)
- *type_return = t;
- return true;
- }
-
- QUrl url = QUrl(urls.at(i) + QLatin1Char('/') + QString::fromUtf8(type) + QLatin1String(".qml"));
- QDeclarativeDirComponents qmldircomponents = qmlDirComponents.at(i);
-
- bool typeWasDeclaredInQmldir = false;
- if (!qmldircomponents.isEmpty()) {
- const QString typeName = QString::fromUtf8(type);
- foreach (const QDeclarativeDirParser::Component &c, qmldircomponents) {
- if (c.typeName == typeName) {
- typeWasDeclaredInQmldir = true;
-
- // importing version -1 means import ALL versions
- if ((vmaj == -1) || (c.majorVersion < vmaj || (c.majorVersion == vmaj && vmin >= c.minorVersion))) {
- QUrl candidate = url.resolved(QUrl(c.fileName));
- if (c.internal && base) {
- if (base->resolved(QUrl(c.fileName)) != candidate)
- continue; // failed attempt to access an internal type
- }
- if (base && *base == candidate) {
- if (typeRecursionDetected)
- *typeRecursionDetected = true;
- continue; // no recursion
- }
- if (url_return)
- *url_return = candidate;
- return true;
- }
- }
- }
- }
-
- if (!typeWasDeclaredInQmldir && !isLibrary.at(i)) {
- // XXX search non-files too! (eg. zip files, see QT-524)
- QFileInfo f(toLocalFileOrQrc(url));
- if (f.exists()) {
- if (base && *base == url) { // no recursion
- if (typeRecursionDetected)
- *typeRecursionDetected = true;
- } else {
- if (url_return)
- *url_return = url;
- return true;
- }
- }
- }
- return false;
- }
-
- bool find(const QByteArray& type, int *vmajor, int *vminor, QDeclarativeType** type_return,
- QUrl* url_return, QUrl *base = 0, QString *errorString = 0)
- {
- bool typeRecursionDetected = false;
- for (int i=0; i<urls.count(); ++i) {
- if (find_helper(i, type, vmajor, vminor, type_return, url_return, base, &typeRecursionDetected)) {
- if (qmlCheckTypes()) {
- // check for type clashes
- for (int j = i+1; j<urls.count(); ++j) {
- if (find_helper(j, type, vmajor, vminor, 0, 0, base)) {
- if (errorString) {
- QString u1 = urls.at(i);
- QString u2 = urls.at(j);
- if (base) {
- QString b = base->toString();
- int slash = b.lastIndexOf(QLatin1Char('/'));
- if (slash >= 0) {
- b = b.left(slash+1);
- QString l = b.left(slash);
- if (u1.startsWith(b))
- u1 = u1.mid(b.count());
- else if (u1 == l)
- u1 = QDeclarativeEngine::tr("local directory");
- if (u2.startsWith(b))
- u2 = u2.mid(b.count());
- else if (u2 == l)
- u2 = QDeclarativeEngine::tr("local directory");
- }
- }
-
- if (u1 != u2)
- *errorString
- = QDeclarativeEngine::tr("is ambiguous. Found in %1 and in %2")
- .arg(u1).arg(u2);
- else
- *errorString
- = QDeclarativeEngine::tr("is ambiguous. Found in %1 in version %2.%3 and %4.%5")
- .arg(u1)
- .arg(majversions.at(i)).arg(minversions.at(i))
- .arg(majversions.at(j)).arg(minversions.at(j));
- }
- return false;
- }
- }
- }
- return true;
- }
- }
- if (errorString) {
- if (typeRecursionDetected)
- *errorString = QDeclarativeEngine::tr("is instantiated recursively");
- else
- *errorString = QDeclarativeEngine::tr("is not a type");
- }
- return false;
- }
-};
-
-static bool greaterThan(const QString &s1, const QString &s2)
-{
- return s1 > s2;
-}
-
-class QDeclarativeImportsPrivate {
-public:
- QDeclarativeImportsPrivate() : ref(1)
- {
- }
-
- ~QDeclarativeImportsPrivate()
- {
- foreach (QDeclarativeEnginePrivate::ImportedNamespace* s, set.values())
- delete s;
- }
-
- QSet<QString> qmlDirFilesForWhichPluginsHaveBeenLoaded;
-
- bool importExtension(const QString &absoluteFilePath, const QString &uri, QDeclarativeEngine *engine, QDeclarativeDirComponents* components, QString *errorString) {
- QFile file(absoluteFilePath);
- QString filecontent;
- if (file.open(QFile::ReadOnly)) {
- filecontent = QString::fromUtf8(file.readAll());
- if (qmlImportTrace())
- qDebug() << "QDeclarativeEngine::add: loaded" << absoluteFilePath;
- } else {
- if (errorString)
- *errorString = QDeclarativeEngine::tr("module \"%1\" definition \"%2\" not readable").arg(uri).arg(absoluteFilePath);
- return false;
- }
- QDir dir = QFileInfo(file).dir();
-
- QDeclarativeDirParser qmldirParser;
- qmldirParser.setSource(filecontent);
- qmldirParser.parse();
-
- if (! qmlDirFilesForWhichPluginsHaveBeenLoaded.contains(absoluteFilePath)) {
- qmlDirFilesForWhichPluginsHaveBeenLoaded.insert(absoluteFilePath);
-
-
- foreach (const QDeclarativeDirParser::Plugin &plugin, qmldirParser.plugins()) {
-
- QString resolvedFilePath =
- QDeclarativeEnginePrivate::get(engine)
- ->resolvePlugin(dir, plugin.path,
- plugin.name);
-
- if (!resolvedFilePath.isEmpty()) {
- if (!engine->importPlugin(resolvedFilePath, uri, errorString)) {
- if (errorString)
- *errorString = QDeclarativeEngine::tr("plugin cannot be loaded for module \"%1\": %2").arg(uri).arg(*errorString);
- return false;
- }
- } else {
- if (errorString)
- *errorString = QDeclarativeEngine::tr("module \"%1\" plugin \"%2\" not found").arg(uri).arg(plugin.name);
- return false;
- }
- }
- }
-
- if (components)
- *components = qmldirParser.components();
-
- return true;
- }
-
- QString resolvedUri(const QString &dir_arg, QDeclarativeEngine *engine)
- {
- QString dir = dir_arg;
- if (dir.endsWith(QLatin1Char('/')) || dir.endsWith(QLatin1Char('\\')))
- dir.chop(1);
-
- QStringList paths = QDeclarativeEnginePrivate::get(engine)->fileImportPath;
- qSort(paths.begin(), paths.end(), greaterThan); // Ensure subdirs preceed their parents.
-
- QString stableRelativePath = dir;
- foreach( QString path, paths) {
- if (dir.startsWith(path)) {
- stableRelativePath = dir.mid(path.length()+1);
- break;
- }
- }
- stableRelativePath.replace(QLatin1Char('/'), QLatin1Char('.'));
- stableRelativePath.replace(QLatin1Char('\\'), QLatin1Char('.'));
- return stableRelativePath;
- }
-
-
-
-
- bool add(const QUrl& base, const QDeclarativeDirComponents &qmldircomponentsnetwork, const QString& uri_arg, const QString& prefix, int vmaj, int vmin, QDeclarativeScriptParser::Import::Type importType, QDeclarativeEngine *engine, QString *errorString)
- {
- QDeclarativeDirComponents qmldircomponents = qmldircomponentsnetwork;
- QString uri = uri_arg;
- QDeclarativeEnginePrivate::ImportedNamespace *s;
- if (prefix.isEmpty()) {
- s = &unqualifiedset;
- } else {
- s = set.value(prefix);
- if (!s)
- set.insert(prefix,(s=new QDeclarativeEnginePrivate::ImportedNamespace));
- }
-
-
-
- QString url = uri;
- if (importType == QDeclarativeScriptParser::Import::Library) {
- url.replace(QLatin1Char('.'), QLatin1Char('/'));
- bool found = false;
- QString dir;
-
-
- foreach (const QString &p,
- QDeclarativeEnginePrivate::get(engine)->fileImportPath) {
- dir = p+QLatin1Char('/')+url;
-
- QFileInfo fi(dir+QLatin1String("/qmldir"));
- const QString absoluteFilePath = fi.absoluteFilePath();
-
- if (fi.isFile()) {
- found = true;
-
- url = QUrl::fromLocalFile(fi.absolutePath()).toString();
- uri = resolvedUri(dir, engine);
- if (!importExtension(absoluteFilePath, uri, engine, &qmldircomponents, errorString))
- return false;
- break;
- }
- }
-
- if (!found) {
- found = QDeclarativeMetaType::isModule(uri.toUtf8(), vmaj, vmin);
- if (!found) {
- if (errorString) {
- bool anyversion = QDeclarativeMetaType::isModule(uri.toUtf8(), -1, -1);
- if (anyversion)
- *errorString = QDeclarativeEngine::tr("module \"%1\" version %2.%3 is not installed").arg(uri_arg).arg(vmaj).arg(vmin);
- else
- *errorString = QDeclarativeEngine::tr("module \"%1\" is not installed").arg(uri_arg);
- }
- return false;
- }
- }
- } else {
-
- if (importType == QDeclarativeScriptParser::Import::File && qmldircomponents.isEmpty()) {
- QUrl importUrl = base.resolved(QUrl(uri + QLatin1String("/qmldir")));
- QString localFileOrQrc = toLocalFileOrQrc(importUrl);
- if (!localFileOrQrc.isEmpty()) {
- QString dir = toLocalFileOrQrc(base.resolved(QUrl(uri)));
- if (dir.isEmpty() || !QDir().exists(dir)) {
- if (errorString)
- *errorString = QDeclarativeEngine::tr("\"%1\": no such directory").arg(uri_arg);
- return false; // local import dirs must exist
- }
- uri = resolvedUri(toLocalFileOrQrc(base.resolved(QUrl(uri))), engine);
- if (uri.endsWith(QLatin1Char('/')))
- uri.chop(1);
- if (QFile::exists(localFileOrQrc)) {
- if (!importExtension(localFileOrQrc,uri,engine,&qmldircomponents,errorString))
- return false;
- }
- } else {
- if (prefix.isEmpty()) {
- // directory must at least exist for valid import
- QString localFileOrQrc = toLocalFileOrQrc(base.resolved(QUrl(uri)));
- if (localFileOrQrc.isEmpty() || !QDir().exists(localFileOrQrc)) {
- if (errorString) {
- if (localFileOrQrc.isEmpty())
- *errorString = QDeclarativeEngine::tr("import \"%1\" has no qmldir and no namespace").arg(uri);
- else
- *errorString = QDeclarativeEngine::tr("\"%1\": no such directory").arg(uri);
- }
- return false;
- }
- }
- }
- }
-
- url = base.resolved(QUrl(url)).toString();
- if (url.endsWith(QLatin1Char('/')))
- url.chop(1);
- }
-
- if (vmaj > -1 && vmin > -1 && !qmldircomponents.isEmpty()) {
- QList<QDeclarativeDirParser::Component>::ConstIterator it = qmldircomponents.begin();
- for (; it != qmldircomponents.end(); ++it) {
- if (it->majorVersion > vmaj || (it->majorVersion == vmaj && it->minorVersion >= vmin))
- break;
- }
- if (it == qmldircomponents.end()) {
- *errorString = QDeclarativeEngine::tr("module \"%1\" version %2.%3 is not installed").arg(uri_arg).arg(vmaj).arg(vmin);
- return false;
- }
- }
-
- s->uris.prepend(uri);
- s->urls.prepend(url);
- s->majversions.prepend(vmaj);
- s->minversions.prepend(vmin);
- s->isLibrary.prepend(importType == QDeclarativeScriptParser::Import::Library);
- s->qmlDirComponents.prepend(qmldircomponents);
- return true;
- }
-
- bool find(const QByteArray& type, int *vmajor, int *vminor, QDeclarativeType** type_return,
- QUrl* url_return, QString *errorString)
- {
- QDeclarativeEnginePrivate::ImportedNamespace *s = 0;
- int slash = type.indexOf('/');
- if (slash >= 0) {
- QString namespaceName = QString::fromUtf8(type.left(slash));
- s = set.value(namespaceName);
- if (!s) {
- if (errorString)
- *errorString = QDeclarativeEngine::tr("- %1 is not a namespace").arg(namespaceName);
- return false;
- }
- int nslash = type.indexOf('/',slash+1);
- if (nslash > 0) {
- if (errorString)
- *errorString = QDeclarativeEngine::tr("- nested namespaces not allowed");
- return false;
- }
- } else {
- s = &unqualifiedset;
- }
- QByteArray unqualifiedtype = slash < 0 ? type : type.mid(slash+1); // common-case opt (QString::mid works fine, but slower)
- if (s) {
- if (s->find(unqualifiedtype,vmajor,vminor,type_return,url_return, &base, errorString))
- return true;
- if (s->urls.count() == 1 && !s->isLibrary[0] && url_return && s != &unqualifiedset) {
- // qualified, and only 1 url
- *url_return = QUrl(s->urls[0]+QLatin1Char('/')).resolved(QUrl(QString::fromUtf8(unqualifiedtype) + QLatin1String(".qml")));
- return true;
- }
- }
-
- return false;
- }
-
- QDeclarativeEnginePrivate::ImportedNamespace *findNamespace(const QString& type)
- {
- return set.value(type);
- }
-
- QUrl base;
- int ref;
-
-private:
- friend struct QDeclarativeEnginePrivate::Imports;
- QDeclarativeEnginePrivate::ImportedNamespace unqualifiedset;
- QHash<QString,QDeclarativeEnginePrivate::ImportedNamespace* > set;
-};
-
-QDeclarativeEnginePrivate::Imports::Imports(const Imports &copy) :
- d(copy.d)
-{
- ++d->ref;
-}
-
-QDeclarativeEnginePrivate::Imports &QDeclarativeEnginePrivate::Imports::operator =(const Imports &copy)
-{
- ++copy.d->ref;
- if (--d->ref == 0)
- delete d;
- d = copy.d;
- return *this;
-}
-
-QDeclarativeEnginePrivate::Imports::Imports() :
- d(new QDeclarativeImportsPrivate)
-{
-}
-
-QDeclarativeEnginePrivate::Imports::~Imports()
-{
- if (--d->ref == 0)
- delete d;
-}
-
-static QDeclarativeTypeNameCache *cacheForNamespace(QDeclarativeEngine *engine, const QDeclarativeEnginePrivate::ImportedNamespace &set, QDeclarativeTypeNameCache *cache)
-{
- if (!cache)
- cache = new QDeclarativeTypeNameCache(engine);
-
- QList<QDeclarativeType *> types = QDeclarativeMetaType::qmlTypes();
-
- for (int ii = 0; ii < set.uris.count(); ++ii) {
- QByteArray base = set.uris.at(ii).toUtf8() + '/';
- int major = set.majversions.at(ii);
- int minor = set.minversions.at(ii);
-
- foreach (QDeclarativeType *type, types) {
- if (type->qmlTypeName().startsWith(base) &&
- type->qmlTypeName().lastIndexOf('/') == (base.length() - 1) &&
- type->availableInVersion(major,minor))
- {
- QString name = QString::fromUtf8(type->qmlTypeName().mid(base.length()));
-
- cache->add(name, type);
- }
- }
- }
-
- return cache;
-}
-
-void QDeclarativeEnginePrivate::Imports::cache(QDeclarativeTypeNameCache *cache, QDeclarativeEngine *engine) const
-{
- const QDeclarativeEnginePrivate::ImportedNamespace &set = d->unqualifiedset;
-
- for (QHash<QString,QDeclarativeEnginePrivate::ImportedNamespace* >::ConstIterator iter = d->set.begin();
- iter != d->set.end(); ++iter) {
-
- QDeclarativeTypeNameCache::Data *d = cache->data(iter.key());
- if (d) {
- if (!d->typeNamespace)
- cacheForNamespace(engine, *(*iter), d->typeNamespace);
- } else {
- QDeclarativeTypeNameCache *nc = cacheForNamespace(engine, *(*iter), 0);
- cache->add(iter.key(), nc);
- nc->release();
- }
- }
-
- cacheForNamespace(engine, set, cache);
-}
-
-/*
-QStringList QDeclarativeEnginePrivate::Imports::unqualifiedSet() const
-{
- QStringList rv;
-
- const QDeclarativeEnginePrivate::ImportedNamespace &set = d->unqualifiedset;
-
- for (int ii = 0; ii < set.urls.count(); ++ii) {
- if (set.isBuiltin.at(ii))
- rv << set.urls.at(ii);
- }
-
- return rv;
-}
-*/
-
-/*!
- Sets the base URL to be used for all relative file imports added.
-*/
-void QDeclarativeEnginePrivate::Imports::setBaseUrl(const QUrl& url)
-{
- d->base = url;
-}
-
-/*!
- Returns the base URL to be used for all relative file imports added.
-*/
-QUrl QDeclarativeEnginePrivate::Imports::baseUrl() const
-{
- return d->base;
-}
-
/*!
Adds \a path as a directory where the engine searches for
installed modules in a URL-based directory structure.
@@ -2042,19 +1855,10 @@ QUrl QDeclarativeEnginePrivate::Imports::baseUrl() const
*/
void QDeclarativeEngine::addImportPath(const QString& path)
{
- if (qmlImportTrace())
- qDebug() << "QDeclarativeEngine::addImportPath" << path;
Q_D(QDeclarativeEngine);
- QUrl url = QUrl(path);
- if (url.isRelative() || url.scheme() == QString::fromLocal8Bit("file")) {
- QDir dir = QDir(path);
- d->fileImportPath.prepend(dir.canonicalPath());
- } else {
- d->fileImportPath.prepend(path);
- }
+ d->importDatabase.addImportPath(path);
}
-
/*!
Returns the list of directories where the engine searches for
installed modules in a URL-based directory structure.
@@ -2065,30 +1869,32 @@ void QDeclarativeEngine::addImportPath(const QString& path)
provided by that module. A \c qmldir file is required for defining the
type version mapping and possibly declarative extensions plugins.
- By default, the list contains the paths specified in the \c QML_IMPORT_PATH environment
- variable, then the builtin \c ImportsPath from QLibraryInfo.
+ By default, the list contains the directory of the application executable,
+ paths specified in the \c QML_IMPORT_PATH environment variable,
+ and the builtin \c ImportsPath from QLibraryInfo.
\sa addImportPath() setImportPathList()
*/
QStringList QDeclarativeEngine::importPathList() const
{
Q_D(const QDeclarativeEngine);
- return d->fileImportPath;
+ return d->importDatabase.importPathList();
}
/*!
- Sets the list of directories where the engine searches for
+ Sets \a paths as the list of directories where the engine searches for
installed modules in a URL-based directory structure.
- By default, the list contains the paths specified in the \c QML_IMPORT_PATH environment
- variable, then the builtin \c ImportsPath from QLibraryInfo.
+ By default, the list contains the directory of the application executable,
+ paths specified in the \c QML_IMPORT_PATH environment variable,
+ and the builtin \c ImportsPath from QLibraryInfo.
\sa importPathList() addImportPath()
*/
void QDeclarativeEngine::setImportPathList(const QStringList &paths)
{
Q_D(QDeclarativeEngine);
- d->fileImportPath = paths;
+ d->importDatabase.setImportPathList(paths);
}
@@ -2105,16 +1911,8 @@ void QDeclarativeEngine::setImportPathList(const QStringList &paths)
*/
void QDeclarativeEngine::addPluginPath(const QString& path)
{
- if (qmlImportTrace())
- qDebug() << "QDeclarativeEngine::addPluginPath" << path;
Q_D(QDeclarativeEngine);
- QUrl url = QUrl(path);
- if (url.isRelative() || url.scheme() == QString::fromLocal8Bit("file")) {
- QDir dir = QDir(path);
- d->filePluginPath.prepend(dir.canonicalPath());
- } else {
- d->filePluginPath.prepend(path);
- }
+ d->importDatabase.addPluginPath(path);
}
@@ -2130,7 +1928,7 @@ void QDeclarativeEngine::addPluginPath(const QString& path)
QStringList QDeclarativeEngine::pluginPathList() const
{
Q_D(const QDeclarativeEngine);
- return d->filePluginPath;
+ return d->importDatabase.pluginPathList();
}
/*!
@@ -2146,7 +1944,7 @@ QStringList QDeclarativeEngine::pluginPathList() const
void QDeclarativeEngine::setPluginPathList(const QStringList &paths)
{
Q_D(QDeclarativeEngine);
- d->filePluginPath = paths;
+ d->importDatabase.setPluginPathList(paths);
}
@@ -2160,55 +1958,8 @@ void QDeclarativeEngine::setPluginPathList(const QStringList &paths)
*/
bool QDeclarativeEngine::importPlugin(const QString &filePath, const QString &uri, QString *errorString)
{
- if (qmlImportTrace())
- qDebug() << "QDeclarativeEngine::importPlugin" << uri << "from" << filePath;
- QFileInfo fileInfo(filePath);
- const QString absoluteFilePath = fileInfo.absoluteFilePath();
-
- QDeclarativeEnginePrivate *d = QDeclarativeEnginePrivate::get(this);
- bool engineInitialized = d->initializedPlugins.contains(absoluteFilePath);
- bool typesRegistered = qmlEnginePluginsWithRegisteredTypes()->contains(absoluteFilePath);
-
- if (typesRegistered) {
- Q_ASSERT_X(qmlEnginePluginsWithRegisteredTypes()->value(absoluteFilePath) == uri,
- "QDeclarativeEngine::importExtension",
- "Internal error: Plugin imported previously with different uri");
- }
-
- if (!engineInitialized || !typesRegistered) {
- QPluginLoader loader(absoluteFilePath);
-
- if (!loader.load()) {
- if (errorString)
- *errorString = loader.errorString();
- return false;
- }
-
- if (QDeclarativeExtensionInterface *iface = qobject_cast<QDeclarativeExtensionInterface *>(loader.instance())) {
-
- const QByteArray bytes = uri.toUtf8();
- const char *moduleId = bytes.constData();
- if (!typesRegistered) {
-
- // ### this code should probably be protected with a mutex.
- qmlEnginePluginsWithRegisteredTypes()->insert(absoluteFilePath, uri);
- iface->registerTypes(moduleId);
- }
- if (!engineInitialized) {
- // things on the engine (eg. adding new global objects) have to be done for every engine.
-
- // protect against double initialization
- d->initializedPlugins.insert(absoluteFilePath);
- iface->initializeEngine(this, moduleId);
- }
- } else {
- if (errorString)
- *errorString = loader.errorString();
- return false;
- }
- }
-
- return true;
+ Q_D(QDeclarativeEngine);
+ return d->importDatabase.importPlugin(filePath, uri, errorString);
}
/*!
@@ -2240,208 +1991,6 @@ QString QDeclarativeEngine::offlineStoragePath() const
return d->scriptEngine.offlineStoragePath;
}
-/*!
- \internal
-
- Returns the result of the merge of \a baseName with \a path, \a suffixes, and \a prefix.
- The \a prefix must contain the dot.
-
- \a qmldirPath is the location of the qmldir file.
- */
-QString QDeclarativeEnginePrivate::resolvePlugin(const QDir &qmldirPath, const QString &qmldirPluginPath, const QString &baseName,
- const QStringList &suffixes,
- const QString &prefix)
-{
- QStringList searchPaths = filePluginPath;
- bool qmldirPluginPathIsRelative = QDir::isRelativePath(qmldirPluginPath);
- if (!qmldirPluginPathIsRelative)
- searchPaths.prepend(qmldirPluginPath);
-
- foreach (const QString &pluginPath, searchPaths) {
-
- QString resolvedPath;
-
- if (pluginPath == QLatin1String(".")) {
- if (qmldirPluginPathIsRelative)
- resolvedPath = qmldirPath.absoluteFilePath(qmldirPluginPath);
- else
- resolvedPath = qmldirPath.absolutePath();
- } else {
- resolvedPath = pluginPath;
- }
-
- // hack for resources, should probably go away
- if (resolvedPath.startsWith(QLatin1Char(':')))
- resolvedPath = QCoreApplication::applicationDirPath();
-
- QDir dir(resolvedPath);
- foreach (const QString &suffix, suffixes) {
- QString pluginFileName = prefix;
-
- pluginFileName += baseName;
- pluginFileName += suffix;
-
- QFileInfo fileInfo(dir, pluginFileName);
-
- if (fileInfo.exists())
- return fileInfo.absoluteFilePath();
- }
- }
-
- if (qmlImportTrace())
- qDebug() << "QDeclarativeEngine::resolvePlugin: Could not resolve plugin" << baseName << "in" << qmldirPath.absolutePath();
- return QString();
-}
-
-/*!
- \internal
-
- Returns the result of the merge of \a baseName with \a dir and the platform suffix.
-
- \table
- \header \i Platform \i Valid suffixes
- \row \i Windows \i \c .dll
- \row \i Unix/Linux \i \c .so
- \row \i AIX \i \c .a
- \row \i HP-UX \i \c .sl, \c .so (HP-UXi)
- \row \i Mac OS X \i \c .dylib, \c .bundle, \c .so
- \row \i Symbian \i \c .dll
- \endtable
-
- Version number on unix are ignored.
-*/
-QString QDeclarativeEnginePrivate::resolvePlugin(const QDir &qmldirPath, const QString &qmldirPluginPath, const QString &baseName)
-{
-#if defined(Q_OS_WIN32) || defined(Q_OS_WINCE)
- return resolvePlugin(qmldirPath, qmldirPluginPath, baseName,
- QStringList()
-# ifdef QT_DEBUG
- << QLatin1String("d.dll") // try a qmake-style debug build first
-# endif
- << QLatin1String(".dll"));
-#elif defined(Q_OS_SYMBIAN)
- return resolvePlugin(qmldirPath, qmldirPluginPath, baseName,
- QStringList()
- << QLatin1String(".dll")
- << QLatin1String(".qtplugin"));
-#else
-
-# if defined(Q_OS_DARWIN)
-
- return resolvePlugin(qmldirPath, qmldirPluginPath, baseName,
- QStringList()
-# ifdef QT_DEBUG
- << QLatin1String("_debug.dylib") // try a qmake-style debug build first
- << QLatin1String(".dylib")
-# else
- << QLatin1String(".dylib")
- << QLatin1String("_debug.dylib") // try a qmake-style debug build after
-# endif
- << QLatin1String(".so")
- << QLatin1String(".bundle"),
- QLatin1String("lib"));
-# else // Generic Unix
- QStringList validSuffixList;
-
-# if defined(Q_OS_HPUX)
-/*
- See "HP-UX Linker and Libraries User's Guide", section "Link-time Differences between PA-RISC and IPF":
- "In PA-RISC (PA-32 and PA-64) shared libraries are suffixed with .sl. In IPF (32-bit and 64-bit),
- the shared libraries are suffixed with .so. For compatibility, the IPF linker also supports the .sl suffix."
- */
- validSuffixList << QLatin1String(".sl");
-# if defined __ia64
- validSuffixList << QLatin1String(".so");
-# endif
-# elif defined(Q_OS_AIX)
- validSuffixList << QLatin1String(".a") << QLatin1String(".so");
-# elif defined(Q_OS_UNIX)
- validSuffixList << QLatin1String(".so");
-# endif
-
- // Examples of valid library names:
- // libfoo.so
-
- return resolvePlugin(qmldirPath, qmldirPluginPath, baseName, validSuffixList, QLatin1String("lib"));
-# endif
-
-#endif
-}
-
-/*!
- \internal
-
- Adds information to \a imports such that subsequent calls to resolveType()
- will resolve types qualified by \a prefix by considering types found at the given \a uri.
-
- The uri is either a directory (if importType is FileImport), or a URI resolved using paths
- added via addImportPath() (if importType is LibraryImport).
-
- The \a prefix may be empty, in which case the import location is considered for
- unqualified types.
-
- The base URL must already have been set with Import::setBaseUrl().
-*/
-bool QDeclarativeEnginePrivate::addToImport(Imports* imports, const QDeclarativeDirComponents &qmldircomponentsnetwork, const QString& uri, const QString& prefix, int vmaj, int vmin, QDeclarativeScriptParser::Import::Type importType, QString *errorString) const
-{
- QDeclarativeEngine *engine = QDeclarativeEnginePrivate::get(const_cast<QDeclarativeEnginePrivate *>(this));
- if (qmlImportTrace())
- qDebug().nospace() << "QDeclarativeEngine::addToImport " << imports << " " << uri << " " << vmaj << '.' << vmin << " " << (importType==QDeclarativeScriptParser::Import::Library? "Library" : "File") << " as " << prefix;
- bool ok = imports->d->add(imports->d->base,qmldircomponentsnetwork, uri,prefix,vmaj,vmin,importType, engine, errorString);
- return ok;
-}
-
-/*!
- \internal
-
- Using the given \a imports, the given (namespace qualified) \a type is resolved to either
- an ImportedNamespace stored at \a ns_return,
- a QDeclarativeType stored at \a type_return, or
- a component located at \a url_return.
-
- If any return pointer is 0, the corresponding search is not done.
-
- \sa addToImport()
-*/
-bool QDeclarativeEnginePrivate::resolveType(const Imports& imports, const QByteArray& type, QDeclarativeType** type_return, QUrl* url_return, int *vmaj, int *vmin, ImportedNamespace** ns_return, QString *errorString) const
-{
- ImportedNamespace* ns = imports.d->findNamespace(QString::fromUtf8(type));
- if (ns) {
- if (ns_return)
- *ns_return = ns;
- return true;
- }
- if (type_return || url_return) {
- if (imports.d->find(type,vmaj,vmin,type_return,url_return, errorString)) {
- if (qmlImportTrace()) {
- if (type_return && *type_return && url_return && !url_return->isEmpty())
- qDebug() << "QDeclarativeEngine::resolveType" << type << '=' << (*type_return)->typeName() << *url_return;
- if (type_return && *type_return)
- qDebug() << "QDeclarativeEngine::resolveType" << type << '=' << (*type_return)->typeName();
- if (url_return && !url_return->isEmpty())
- qDebug() << "QDeclarativeEngine::resolveType" << type << '=' << *url_return;
- }
- return true;
- }
- }
- return false;
-}
-
-/*!
- \internal
-
- Searching \e only in the namespace \a ns (previously returned in a call to
- resolveType(), \a type is found and returned to either
- a QDeclarativeType stored at \a type_return, or
- a component located at \a url_return.
-
- If either return pointer is 0, the corresponding search is not done.
-*/
-void QDeclarativeEnginePrivate::resolveTypeInNamespace(ImportedNamespace* ns, const QByteArray& type, QDeclarativeType** type_return, QUrl* url_return, int *vmaj, int *vmin ) const
-{
- ns->find(type,vmaj,vmin,type_return,url_return);
-}
-
static void voidptr_destructor(void *v)
{
void **ptr = (void **)v;
diff --git a/src/declarative/qml/qdeclarativeengine_p.h b/src/declarative/qml/qdeclarativeengine_p.h
index 743275e3e5..3269e987ff 100644
--- a/src/declarative/qml/qdeclarativeengine_p.h
+++ b/src/declarative/qml/qdeclarativeengine_p.h
@@ -57,6 +57,7 @@
#include "private/qdeclarativeclassfactory_p.h"
#include "private/qdeclarativecompositetypemanager_p.h"
+#include "private/qdeclarativeimport_p.h"
#include "private/qpodvector_p.h"
#include "qdeclarative.h"
#include "private/qdeclarativevaluetype_p.h"
@@ -90,6 +91,7 @@ class QDeclarativeEngine;
class QDeclarativeContextPrivate;
class QDeclarativeExpression;
class QDeclarativeContextScriptClass;
+class QDeclarativeImportDatabase;
class QDeclarativeObjectScriptClass;
class QDeclarativeTypeNameScriptClass;
class QDeclarativeValueTypeScriptClass;
@@ -164,7 +166,6 @@ public:
bool outputWarningsToStdErr;
- struct ImportedNamespace;
QDeclarativeContextScriptClass *contextClass;
QDeclarativeContextData *sharedContext;
QObject *sharedScope;
@@ -217,8 +218,13 @@ public:
QList<SimpleList<QDeclarativeAbstractBinding> > bindValues;
QList<SimpleList<QDeclarativeParserStatus> > parserStatus;
+ QList<QPair<QDeclarativeGuard<QObject>,int> > finalizedParserStatus;
QDeclarativeComponentAttached *componentAttached;
+ void registerFinalizedParserStatusObject(QObject *obj, int index) {
+ finalizedParserStatus.append(qMakePair(QDeclarativeGuard<QObject>(obj), index));
+ }
+
bool inBeginCreate;
QNetworkAccessManager *createNetworkAccessManager(QObject *parent) const;
@@ -232,8 +238,8 @@ public:
mutable QMutex mutex;
QDeclarativeCompositeTypeManager typeManager;
- QStringList fileImportPath;
- QStringList filePluginPath;
+ QDeclarativeImportDatabase importDatabase;
+
QString offlineStoragePath;
mutable quint32 uniqueId;
@@ -244,58 +250,8 @@ public:
QDeclarativeValueTypeFactory valueTypes;
QHash<const QMetaObject *, QDeclarativePropertyCache *> propertyCache;
- QDeclarativePropertyCache *cache(QObject *obj) {
- Q_Q(QDeclarativeEngine);
- if (!obj || QObjectPrivate::get(obj)->metaObject ||
- QObjectPrivate::get(obj)->wasDeleted) return 0;
- const QMetaObject *mo = obj->metaObject();
- QDeclarativePropertyCache *rv = propertyCache.value(mo);
- if (!rv) {
- rv = QDeclarativePropertyCache::create(q, mo);
- propertyCache.insert(mo, rv);
- }
- return rv;
- }
-
- // ### This whole class is embarrassing
- struct Imports {
- Imports();
- ~Imports();
- Imports(const Imports &copy);
- Imports &operator =(const Imports &copy);
-
- void setBaseUrl(const QUrl& url);
- QUrl baseUrl() const;
-
- void cache(QDeclarativeTypeNameCache *cache, QDeclarativeEngine *) const;
-
- private:
- friend class QDeclarativeEnginePrivate;
- QDeclarativeImportsPrivate *d;
- };
-
-
- QSet<QString> initializedPlugins;
-
- QString resolvePlugin(const QDir &qmldirPath, const QString &qmldirPluginPath, const QString &baseName,
- const QStringList &suffixes,
- const QString &prefix = QString());
- QString resolvePlugin(const QDir &qmldirPath, const QString &qmldirPluginPath, const QString &baseName);
-
-
- bool addToImport(Imports*, const QDeclarativeDirComponents &qmldircomponentsnetwork,
- const QString& uri, const QString& prefix, int vmaj, int vmin,
- QDeclarativeScriptParser::Import::Type importType,
- QString *errorString) const;
- bool resolveType(const Imports&, const QByteArray& type,
- QDeclarativeType** type_return, QUrl* url_return,
- int *version_major, int *version_minor,
- ImportedNamespace** ns_return,
- QString *errorString = 0) const;
- void resolveTypeInNamespace(ImportedNamespace*, const QByteArray& type,
- QDeclarativeType** type_return, QUrl* url_return,
- int *version_major, int *version_minor ) const;
-
+ inline QDeclarativePropertyCache *cache(QObject *obj);
+ inline QDeclarativePropertyCache *cache(const QMetaObject *);
void registerCompositeType(QDeclarativeCompiledData *);
@@ -327,7 +283,7 @@ public:
static QScriptValue createComponent(QScriptContext*, QScriptEngine*);
static QScriptValue createQmlObject(QScriptContext*, QScriptEngine*);
static QScriptValue isQtObject(QScriptContext*, QScriptEngine*);
- static QScriptValue vector(QScriptContext*, QScriptEngine*);
+ static QScriptValue vector3d(QScriptContext*, QScriptEngine*);
static QScriptValue rgba(QScriptContext*, QScriptEngine*);
static QScriptValue hsla(QScriptContext*, QScriptEngine*);
static QScriptValue point(QScriptContext*, QScriptEngine*);
@@ -339,16 +295,18 @@ public:
static QScriptValue tint(QScriptContext*, QScriptEngine*);
static QScriptValue desktopOpenUrl(QScriptContext*, QScriptEngine*);
+ static QScriptValue fontFamilies(QScriptContext*, QScriptEngine*);
static QScriptValue md5(QScriptContext*, QScriptEngine*);
static QScriptValue btoa(QScriptContext*, QScriptEngine*);
static QScriptValue atob(QScriptContext*, QScriptEngine*);
static QScriptValue consoleLog(QScriptContext*, QScriptEngine*);
static QScriptValue quit(QScriptContext*, QScriptEngine*);
+#ifndef QT_NO_TEXTDATE
static QScriptValue formatDate(QScriptContext*, QScriptEngine*);
static QScriptValue formatTime(QScriptContext*, QScriptEngine*);
static QScriptValue formatDateTime(QScriptContext*, QScriptEngine*);
-
+#endif
static QScriptEngine *getScriptEngine(QDeclarativeEngine *e) { return &e->d_func()->scriptEngine; }
static QDeclarativeEngine *getEngine(QScriptEngine *e) { return static_cast<QDeclarativeScriptEngine*>(e)->p->q_func(); }
static QDeclarativeEnginePrivate *get(QDeclarativeEngine *e) { return e->d_func(); }
@@ -358,9 +316,53 @@ public:
static QDeclarativeEngine *get(QDeclarativeEnginePrivate *p) { return p->q_func(); }
QDeclarativeContextData *getContext(QScriptContext *);
+ static QString urlToLocalFileOrQrc(const QUrl& url);
+
static void defineModule();
};
+/*!
+Returns a QDeclarativePropertyCache for \a obj if one is available.
+
+If \a obj is null, being deleted or contains a dynamic meta object 0
+is returned.
+*/
+QDeclarativePropertyCache *QDeclarativeEnginePrivate::cache(QObject *obj)
+{
+ Q_Q(QDeclarativeEngine);
+ if (!obj || QObjectPrivate::get(obj)->metaObject || QObjectPrivate::get(obj)->wasDeleted)
+ return 0;
+
+ const QMetaObject *mo = obj->metaObject();
+ QDeclarativePropertyCache *rv = propertyCache.value(mo);
+ if (!rv) {
+ rv = new QDeclarativePropertyCache(q, mo);
+ propertyCache.insert(mo, rv);
+ }
+ return rv;
+}
+
+/*!
+Returns a QDeclarativePropertyCache for \a metaObject.
+
+As the cache is persisted for the life of the engine, \a metaObject must be
+a static "compile time" meta-object, or a meta-object that is otherwise known to
+exist for the lifetime of the QDeclarativeEngine.
+*/
+QDeclarativePropertyCache *QDeclarativeEnginePrivate::cache(const QMetaObject *metaObject)
+{
+ Q_Q(QDeclarativeEngine);
+ Q_ASSERT(metaObject);
+
+ QDeclarativePropertyCache *rv = propertyCache.value(metaObject);
+ if (!rv) {
+ rv = new QDeclarativePropertyCache(q, metaObject);
+ propertyCache.insert(metaObject, rv);
+ }
+
+ return rv;
+}
+
QT_END_NAMESPACE
#endif // QDECLARATIVEENGINE_P_H
diff --git a/src/declarative/qml/qdeclarativeenginedebug.cpp b/src/declarative/qml/qdeclarativeenginedebug.cpp
index 69e42f85c3..7ae0050e10 100644
--- a/src/declarative/qml/qdeclarativeenginedebug.cpp
+++ b/src/declarative/qml/qdeclarativeenginedebug.cpp
@@ -414,7 +414,7 @@ void QDeclarativeEngineDebugServer::messageReceived(const QByteArray &message)
QDeclarativeContext *context = qmlContext(object);
QVariant result;
if (object && context) {
- QDeclarativeExpression exprObj(context, expr, object);
+ QDeclarativeExpression exprObj(context, object, expr);
bool undefined = false;
QVariant value = exprObj.evaluate(&undefined);
if (undefined)
diff --git a/src/declarative/qml/qdeclarativeexpression.cpp b/src/declarative/qml/qdeclarativeexpression.cpp
index f561a7edc7..b1aecfaea2 100644
--- a/src/declarative/qml/qdeclarativeexpression.cpp
+++ b/src/declarative/qml/qdeclarativeexpression.cpp
@@ -57,10 +57,12 @@ QT_BEGIN_NAMESPACE
bool QDeclarativeDelayedError::addError(QDeclarativeEnginePrivate *e)
{
- if (!e || prevError) return false;
+ if (!e) return false;
if (e->inProgressCreations == 0) return false; // Not in construction
+ if (prevError) return true; // Already in error chain
+
prevError = &e->erroredBindings;
nextError = e->erroredBindings;
e->erroredBindings = this;
@@ -239,15 +241,17 @@ QDeclarativeExpression::QDeclarativeExpression(QDeclarativeContextData *ctxt, vo
}
/*!
- Create a QDeclarativeExpression object.
+ Create a QDeclarativeExpression object that is a child of \a parent.
The \a expression JavaScript will be executed in the \a ctxt QDeclarativeContext.
If specified, the \a scope object's properties will also be in scope during
the expression's execution.
*/
-QDeclarativeExpression::QDeclarativeExpression(QDeclarativeContext *ctxt, const QString &expression,
- QObject *scope)
-: QObject(*new QDeclarativeExpressionPrivate, 0)
+QDeclarativeExpression::QDeclarativeExpression(QDeclarativeContext *ctxt,
+ QObject *scope,
+ const QString &expression,
+ QObject *parent)
+: QObject(*new QDeclarativeExpressionPrivate, parent)
{
Q_D(QDeclarativeExpression);
d->init(QDeclarativeContextData::get(ctxt), expression, scope);
@@ -256,8 +260,8 @@ QDeclarativeExpression::QDeclarativeExpression(QDeclarativeContext *ctxt, const
/*!
\internal
*/
-QDeclarativeExpression::QDeclarativeExpression(QDeclarativeContextData *ctxt, const QString &expression,
- QObject *scope)
+QDeclarativeExpression::QDeclarativeExpression(QDeclarativeContextData *ctxt, QObject *scope,
+ const QString &expression)
: QObject(*new QDeclarativeExpressionPrivate, 0)
{
Q_D(QDeclarativeExpression);
@@ -265,8 +269,8 @@ QDeclarativeExpression::QDeclarativeExpression(QDeclarativeContextData *ctxt, co
}
/*! \internal */
-QDeclarativeExpression::QDeclarativeExpression(QDeclarativeContextData *ctxt, const QString &expression,
- QObject *scope, QDeclarativeExpressionPrivate &dd)
+QDeclarativeExpression::QDeclarativeExpression(QDeclarativeContextData *ctxt, QObject *scope,
+ const QString &expression, QDeclarativeExpressionPrivate &dd)
: QObject(dd, 0)
{
Q_D(QDeclarativeExpression);
diff --git a/src/declarative/qml/qdeclarativeexpression.h b/src/declarative/qml/qdeclarativeexpression.h
index 6c72e4deb0..a8c86da056 100644
--- a/src/declarative/qml/qdeclarativeexpression.h
+++ b/src/declarative/qml/qdeclarativeexpression.h
@@ -64,7 +64,7 @@ class Q_DECLARATIVE_EXPORT QDeclarativeExpression : public QObject
Q_OBJECT
public:
QDeclarativeExpression();
- QDeclarativeExpression(QDeclarativeContext *, const QString &, QObject *);
+ QDeclarativeExpression(QDeclarativeContext *, QObject *, const QString &, QObject * = 0);
virtual ~QDeclarativeExpression();
QDeclarativeEngine *engine() const;
@@ -92,13 +92,13 @@ Q_SIGNALS:
void valueChanged();
protected:
- QDeclarativeExpression(QDeclarativeContextData *, const QString &, QObject *,
+ QDeclarativeExpression(QDeclarativeContextData *, QObject *, const QString &,
QDeclarativeExpressionPrivate &dd);
QDeclarativeExpression(QDeclarativeContextData *, void *, QDeclarativeRefCount *rc,
QObject *me, const QString &, int, QDeclarativeExpressionPrivate &dd);
private:
- QDeclarativeExpression(QDeclarativeContextData *, const QString &, QObject *);
+ QDeclarativeExpression(QDeclarativeContextData *, QObject *, const QString &);
Q_DISABLE_COPY(QDeclarativeExpression)
Q_DECLARE_PRIVATE(QDeclarativeExpression)
diff --git a/src/declarative/qml/qdeclarativeextensionplugin.cpp b/src/declarative/qml/qdeclarativeextensionplugin.cpp
index 2c15385337..c2e8300851 100644
--- a/src/declarative/qml/qdeclarativeextensionplugin.cpp
+++ b/src/declarative/qml/qdeclarativeextensionplugin.cpp
@@ -66,7 +66,7 @@ QT_BEGIN_NAMESPACE
See \l {Tutorial: Writing QML extensions with C++} for details on creating
QML extensions, including how to build a plugin with with QDeclarativeExtensionPlugin.
- For a simple overview, see the \l{declarative/plugins}{plugins} example.
+ For a simple overview, see the \l{declarative/cppextensions/plugins}{plugins} example.
Also see \l {How to Create Qt Plugins} for general Qt plugin documentation.
diff --git a/src/declarative/qml/qdeclarativeglobalscriptclass.cpp b/src/declarative/qml/qdeclarativeglobalscriptclass.cpp
index fc802b48b5..6e107fb685 100644
--- a/src/declarative/qml/qdeclarativeglobalscriptclass.cpp
+++ b/src/declarative/qml/qdeclarativeglobalscriptclass.cpp
@@ -53,19 +53,29 @@ QT_BEGIN_NAMESPACE
QDeclarativeGlobalScriptClass::QDeclarativeGlobalScriptClass(QScriptEngine *engine)
: QScriptClass(engine)
{
+ QString eval = QLatin1String("eval");
+
QScriptValue globalObject = engine->globalObject();
+
m_globalObject = engine->newObject();
+ QScriptValue newGlobalObject = engine->newObject();
QScriptValueIterator iter(globalObject);
+
while (iter.hasNext()) {
iter.next();
- m_globalObject.setProperty(iter.scriptName(), iter.value());
- m_illegalNames.insert(iter.name());
+
+ QString name = iter.name();
+
+ if (name != eval)
+ m_globalObject.setProperty(iter.scriptName(), iter.value());
+ newGlobalObject.setProperty(iter.scriptName(), iter.value());
+
+ m_illegalNames.insert(name);
}
- QScriptValue v = engine->newObject();
- v.setScriptClass(this);
- engine->setGlobalObject(v);
+ newGlobalObject.setScriptClass(this);
+ engine->setGlobalObject(newGlobalObject);
}
QScriptClass::QueryFlags
diff --git a/src/declarative/qml/qdeclarativeglobalscriptclass_p.h b/src/declarative/qml/qdeclarativeglobalscriptclass_p.h
index 1b34aee203..7690eddbcb 100644
--- a/src/declarative/qml/qdeclarativeglobalscriptclass_p.h
+++ b/src/declarative/qml/qdeclarativeglobalscriptclass_p.h
@@ -76,6 +76,7 @@ public:
void explicitSetProperty(const QString &, const QScriptValue &);
const QScriptValue &globalObject() const { return m_globalObject; }
+
const QSet<QString> &illegalNames() const { return m_illegalNames; }
private:
diff --git a/src/declarative/qml/qdeclarativeguard_p.h b/src/declarative/qml/qdeclarativeguard_p.h
index be60ce4220..02fed0b021 100644
--- a/src/declarative/qml/qdeclarativeguard_p.h
+++ b/src/declarative/qml/qdeclarativeguard_p.h
@@ -97,7 +97,7 @@ private:
QT_END_NAMESPACE
-Q_DECLARE_METATYPE(QDeclarativeGuard<QObject>);
+Q_DECLARE_METATYPE(QDeclarativeGuard<QObject>)
#include "private/qdeclarativedata_p.h"
diff --git a/src/declarative/qml/qdeclarativeimport.cpp b/src/declarative/qml/qdeclarativeimport.cpp
new file mode 100644
index 0000000000..a2e3831623
--- /dev/null
+++ b/src/declarative/qml/qdeclarativeimport.cpp
@@ -0,0 +1,922 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include "qdeclarativeimport_p.h"
+
+#include <QtCore/qdebug.h>
+#include <QtCore/qdir.h>
+#include <QtCore/qfileinfo.h>
+#include <QtCore/qpluginloader.h>
+#include <QtCore/qlibraryinfo.h>
+#include <QtDeclarative/qdeclarativeextensioninterface.h>
+#include <private/qdeclarativeglobal_p.h>
+#include <private/qdeclarativetypenamecache_p.h>
+#include <private/qdeclarativeengine_p.h>
+
+QT_BEGIN_NAMESPACE
+
+DEFINE_BOOL_CONFIG_OPTION(qmlImportTrace, QML_IMPORT_TRACE)
+DEFINE_BOOL_CONFIG_OPTION(qmlCheckTypes, QML_CHECK_TYPES)
+
+static bool greaterThan(const QString &s1, const QString &s2)
+{
+ return s1 > s2;
+}
+
+typedef QMap<QString, QString> StringStringMap;
+Q_GLOBAL_STATIC(StringStringMap, qmlEnginePluginsWithRegisteredTypes); // stores the uri
+
+class QDeclarativeImportedNamespace
+{
+public:
+ QStringList uris;
+ QStringList urls;
+ QList<int> majversions;
+ QList<int> minversions;
+ QList<bool> isLibrary;
+ QList<QDeclarativeDirComponents> qmlDirComponents;
+
+
+ bool find_helper(int i, const QByteArray& type, int *vmajor, int *vminor,
+ QDeclarativeType** type_return, QUrl* url_return,
+ QUrl *base = 0, bool *typeRecursionDetected = 0);
+ bool find(const QByteArray& type, int *vmajor, int *vminor, QDeclarativeType** type_return,
+ QUrl* url_return, QUrl *base = 0, QString *errorString = 0);
+};
+
+class QDeclarativeImportsPrivate {
+public:
+ QDeclarativeImportsPrivate();
+ ~QDeclarativeImportsPrivate();
+
+ bool importExtension(const QString &absoluteFilePath, const QString &uri,
+ QDeclarativeImportDatabase *database, QDeclarativeDirComponents* components,
+ QString *errorString);
+
+ QString resolvedUri(const QString &dir_arg, QDeclarativeImportDatabase *database);
+ bool add(const QDeclarativeDirComponents &qmldircomponentsnetwork,
+ const QString& uri_arg, const QString& prefix,
+ int vmaj, int vmin, QDeclarativeScriptParser::Import::Type importType,
+ QDeclarativeImportDatabase *database, QString *errorString);
+ bool find(const QByteArray& type, int *vmajor, int *vminor,
+ QDeclarativeType** type_return, QUrl* url_return, QString *errorString);
+
+ QDeclarativeImportedNamespace *findNamespace(const QString& type);
+
+ QUrl base;
+ int ref;
+
+ QSet<QString> qmlDirFilesForWhichPluginsHaveBeenLoaded;
+ QDeclarativeImportedNamespace unqualifiedset;
+ QHash<QString,QDeclarativeImportedNamespace* > set;
+};
+
+QDeclarativeImports::QDeclarativeImports(const QDeclarativeImports &copy)
+: d(copy.d)
+{
+ ++d->ref;
+}
+
+QDeclarativeImports &
+QDeclarativeImports::operator =(const QDeclarativeImports &copy)
+{
+ ++copy.d->ref;
+ if (--d->ref == 0)
+ delete d;
+ d = copy.d;
+ return *this;
+}
+
+QDeclarativeImports::QDeclarativeImports()
+: d(new QDeclarativeImportsPrivate)
+{
+}
+
+QDeclarativeImports::~QDeclarativeImports()
+{
+ if (--d->ref == 0)
+ delete d;
+}
+
+/*!
+ Sets the base URL to be used for all relative file imports added.
+*/
+void QDeclarativeImports::setBaseUrl(const QUrl& url)
+{
+ d->base = url;
+}
+
+/*!
+ Returns the base URL to be used for all relative file imports added.
+*/
+QUrl QDeclarativeImports::baseUrl() const
+{
+ return d->base;
+}
+
+static QDeclarativeTypeNameCache *
+cacheForNamespace(QDeclarativeEngine *engine, const QDeclarativeImportedNamespace &set,
+ QDeclarativeTypeNameCache *cache)
+{
+ if (!cache)
+ cache = new QDeclarativeTypeNameCache(engine);
+
+ QList<QDeclarativeType *> types = QDeclarativeMetaType::qmlTypes();
+
+ for (int ii = 0; ii < set.uris.count(); ++ii) {
+ QByteArray base = set.uris.at(ii).toUtf8() + '/';
+ int major = set.majversions.at(ii);
+ int minor = set.minversions.at(ii);
+
+ foreach (QDeclarativeType *type, types) {
+ if (type->qmlTypeName().startsWith(base) &&
+ type->qmlTypeName().lastIndexOf('/') == (base.length() - 1) &&
+ type->availableInVersion(major,minor))
+ {
+ QString name = QString::fromUtf8(type->qmlTypeName().mid(base.length()));
+
+ cache->add(name, type);
+ }
+ }
+ }
+
+ return cache;
+}
+
+void QDeclarativeImports::cache(QDeclarativeTypeNameCache *cache, QDeclarativeEngine *engine) const
+{
+ const QDeclarativeImportedNamespace &set = d->unqualifiedset;
+
+ for (QHash<QString,QDeclarativeImportedNamespace* >::ConstIterator iter = d->set.begin();
+ iter != d->set.end(); ++iter) {
+
+ QDeclarativeTypeNameCache::Data *d = cache->data(iter.key());
+ if (d) {
+ if (!d->typeNamespace)
+ cacheForNamespace(engine, *(*iter), d->typeNamespace);
+ } else {
+ QDeclarativeTypeNameCache *nc = cacheForNamespace(engine, *(*iter), 0);
+ cache->add(iter.key(), nc);
+ nc->release();
+ }
+ }
+
+ cacheForNamespace(engine, set, cache);
+}
+bool QDeclarativeImportedNamespace::find_helper(int i, const QByteArray& type, int *vmajor, int *vminor,
+ QDeclarativeType** type_return, QUrl* url_return,
+ QUrl *base, bool *typeRecursionDetected)
+{
+ int vmaj = majversions.at(i);
+ int vmin = minversions.at(i);
+
+ QByteArray qt = uris.at(i).toUtf8();
+ qt += '/';
+ qt += type;
+
+ QDeclarativeType *t = QDeclarativeMetaType::qmlType(qt,vmaj,vmin);
+ if (t) {
+ if (vmajor) *vmajor = vmaj;
+ if (vminor) *vminor = vmin;
+ if (type_return)
+ *type_return = t;
+ return true;
+ }
+
+ QUrl url = QUrl(urls.at(i) + QLatin1Char('/') + QString::fromUtf8(type) + QLatin1String(".qml"));
+ QDeclarativeDirComponents qmldircomponents = qmlDirComponents.at(i);
+
+ bool typeWasDeclaredInQmldir = false;
+ if (!qmldircomponents.isEmpty()) {
+ const QString typeName = QString::fromUtf8(type);
+ foreach (const QDeclarativeDirParser::Component &c, qmldircomponents) {
+ if (c.typeName == typeName) {
+ typeWasDeclaredInQmldir = true;
+
+ // importing version -1 means import ALL versions
+ if ((vmaj == -1) || (c.majorVersion < vmaj || (c.majorVersion == vmaj && vmin >= c.minorVersion))) {
+ QUrl candidate = url.resolved(QUrl(c.fileName));
+ if (c.internal && base) {
+ if (base->resolved(QUrl(c.fileName)) != candidate)
+ continue; // failed attempt to access an internal type
+ }
+ if (base && *base == candidate) {
+ if (typeRecursionDetected)
+ *typeRecursionDetected = true;
+ continue; // no recursion
+ }
+ if (url_return)
+ *url_return = candidate;
+ return true;
+ }
+ }
+ }
+ }
+
+ if (!typeWasDeclaredInQmldir && !isLibrary.at(i)) {
+ // XXX search non-files too! (eg. zip files, see QT-524)
+ QFileInfo f(QDeclarativeEnginePrivate::urlToLocalFileOrQrc(url));
+ if (f.exists()) {
+ if (base && *base == url) { // no recursion
+ if (typeRecursionDetected)
+ *typeRecursionDetected = true;
+ } else {
+ if (url_return)
+ *url_return = url;
+ return true;
+ }
+ }
+ }
+ return false;
+}
+
+QDeclarativeImportsPrivate::QDeclarativeImportsPrivate()
+: ref(1)
+{
+}
+
+QDeclarativeImportsPrivate::~QDeclarativeImportsPrivate()
+{
+ foreach (QDeclarativeImportedNamespace* s, set.values())
+ delete s;
+}
+
+bool QDeclarativeImportsPrivate::importExtension(const QString &absoluteFilePath, const QString &uri,
+ QDeclarativeImportDatabase *database,
+ QDeclarativeDirComponents* components, QString *errorString)
+{
+ QFile file(absoluteFilePath);
+ QString filecontent;
+ if (file.open(QFile::ReadOnly)) {
+ filecontent = QString::fromUtf8(file.readAll());
+ if (qmlImportTrace())
+ qDebug() << "QDeclarativeImportDatabase::add: loaded" << absoluteFilePath;
+ } else {
+ if (errorString)
+ *errorString = QDeclarativeImportDatabase::tr("module \"%1\" definition \"%2\" not readable").arg(uri).arg(absoluteFilePath);
+ return false;
+ }
+ QDir dir = QFileInfo(file).dir();
+
+ QDeclarativeDirParser qmldirParser;
+ qmldirParser.setSource(filecontent);
+ qmldirParser.parse();
+
+ if (! qmlDirFilesForWhichPluginsHaveBeenLoaded.contains(absoluteFilePath)) {
+ qmlDirFilesForWhichPluginsHaveBeenLoaded.insert(absoluteFilePath);
+
+
+ foreach (const QDeclarativeDirParser::Plugin &plugin, qmldirParser.plugins()) {
+
+ QString resolvedFilePath = database->resolvePlugin(dir, plugin.path, plugin.name);
+
+ if (!resolvedFilePath.isEmpty()) {
+ if (!database->importPlugin(resolvedFilePath, uri, errorString)) {
+ if (errorString)
+ *errorString = QDeclarativeImportDatabase::tr("plugin cannot be loaded for module \"%1\": %2").arg(uri).arg(*errorString);
+ return false;
+ }
+ } else {
+ if (errorString)
+ *errorString = QDeclarativeImportDatabase::tr("module \"%1\" plugin \"%2\" not found").arg(uri).arg(plugin.name);
+ return false;
+ }
+ }
+ }
+
+ if (components)
+ *components = qmldirParser.components();
+
+ return true;
+}
+
+QString QDeclarativeImportsPrivate::resolvedUri(const QString &dir_arg, QDeclarativeImportDatabase *database)
+{
+ QString dir = dir_arg;
+ if (dir.endsWith(QLatin1Char('/')) || dir.endsWith(QLatin1Char('\\')))
+ dir.chop(1);
+
+ QStringList paths = database->fileImportPath;
+ qSort(paths.begin(), paths.end(), greaterThan); // Ensure subdirs preceed their parents.
+
+ QString stableRelativePath = dir;
+ foreach( QString path, paths) {
+ if (dir.startsWith(path)) {
+ stableRelativePath = dir.mid(path.length()+1);
+ break;
+ }
+ }
+ stableRelativePath.replace(QLatin1Char('/'), QLatin1Char('.'));
+ stableRelativePath.replace(QLatin1Char('\\'), QLatin1Char('.'));
+ return stableRelativePath;
+}
+
+bool QDeclarativeImportsPrivate::add(const QDeclarativeDirComponents &qmldircomponentsnetwork,
+ const QString& uri_arg, const QString& prefix, int vmaj, int vmin,
+ QDeclarativeScriptParser::Import::Type importType,
+ QDeclarativeImportDatabase *database, QString *errorString)
+{
+ QDeclarativeDirComponents qmldircomponents = qmldircomponentsnetwork;
+ QString uri = uri_arg;
+ QDeclarativeImportedNamespace *s;
+ if (prefix.isEmpty()) {
+ s = &unqualifiedset;
+ } else {
+ s = set.value(prefix);
+ if (!s)
+ set.insert(prefix,(s=new QDeclarativeImportedNamespace));
+ }
+
+ QString url = uri;
+ if (importType == QDeclarativeScriptParser::Import::Library) {
+ url.replace(QLatin1Char('.'), QLatin1Char('/'));
+ bool found = false;
+ QString dir;
+
+
+ foreach (const QString &p, database->fileImportPath) {
+ dir = p+QLatin1Char('/')+url;
+
+ QFileInfo fi(dir+QLatin1String("/qmldir"));
+ const QString absoluteFilePath = fi.absoluteFilePath();
+
+ if (fi.isFile()) {
+ found = true;
+
+ url = QUrl::fromLocalFile(fi.absolutePath()).toString();
+ uri = resolvedUri(dir, database);
+ if (!importExtension(absoluteFilePath, uri, database, &qmldircomponents, errorString))
+ return false;
+ break;
+ }
+ }
+
+ if (!found) {
+ found = QDeclarativeMetaType::isModule(uri.toUtf8(), vmaj, vmin);
+ if (!found) {
+ if (errorString) {
+ bool anyversion = QDeclarativeMetaType::isModule(uri.toUtf8(), -1, -1);
+ if (anyversion)
+ *errorString = QDeclarativeImportDatabase::tr("module \"%1\" version %2.%3 is not installed").arg(uri_arg).arg(vmaj).arg(vmin);
+ else
+ *errorString = QDeclarativeImportDatabase::tr("module \"%1\" is not installed").arg(uri_arg);
+ }
+ return false;
+ }
+ }
+ } else {
+
+ if (importType == QDeclarativeScriptParser::Import::File && qmldircomponents.isEmpty()) {
+ QUrl importUrl = base.resolved(QUrl(uri + QLatin1String("/qmldir")));
+ QString localFileOrQrc = QDeclarativeEnginePrivate::urlToLocalFileOrQrc(importUrl);
+ if (!localFileOrQrc.isEmpty()) {
+ QString dir = QDeclarativeEnginePrivate::urlToLocalFileOrQrc(base.resolved(QUrl(uri)));
+ if (dir.isEmpty() || !QDir().exists(dir)) {
+ if (errorString)
+ *errorString = QDeclarativeImportDatabase::tr("\"%1\": no such directory").arg(uri_arg);
+ return false; // local import dirs must exist
+ }
+ uri = resolvedUri(QDeclarativeEnginePrivate::urlToLocalFileOrQrc(base.resolved(QUrl(uri))), database);
+ if (uri.endsWith(QLatin1Char('/')))
+ uri.chop(1);
+ if (QFile::exists(localFileOrQrc)) {
+ if (!importExtension(localFileOrQrc,uri,database,&qmldircomponents,errorString))
+ return false;
+ }
+ } else {
+ if (prefix.isEmpty()) {
+ // directory must at least exist for valid import
+ QString localFileOrQrc = QDeclarativeEnginePrivate::urlToLocalFileOrQrc(base.resolved(QUrl(uri)));
+ if (localFileOrQrc.isEmpty() || !QDir().exists(localFileOrQrc)) {
+ if (errorString) {
+ if (localFileOrQrc.isEmpty())
+ *errorString = QDeclarativeImportDatabase::tr("import \"%1\" has no qmldir and no namespace").arg(uri);
+ else
+ *errorString = QDeclarativeImportDatabase::tr("\"%1\": no such directory").arg(uri);
+ }
+ return false;
+ }
+ }
+ }
+ }
+
+ url = base.resolved(QUrl(url)).toString();
+ if (url.endsWith(QLatin1Char('/')))
+ url.chop(1);
+ }
+
+ if (vmaj > -1 && vmin > -1 && !qmldircomponents.isEmpty()) {
+ QList<QDeclarativeDirParser::Component>::ConstIterator it = qmldircomponents.begin();
+ for (; it != qmldircomponents.end(); ++it) {
+ if (it->majorVersion > vmaj || (it->majorVersion == vmaj && it->minorVersion >= vmin))
+ break;
+ }
+ if (it == qmldircomponents.end()) {
+ *errorString = QDeclarativeImportDatabase::tr("module \"%1\" version %2.%3 is not installed").arg(uri_arg).arg(vmaj).arg(vmin);
+ return false;
+ }
+ }
+
+ s->uris.prepend(uri);
+ s->urls.prepend(url);
+ s->majversions.prepend(vmaj);
+ s->minversions.prepend(vmin);
+ s->isLibrary.prepend(importType == QDeclarativeScriptParser::Import::Library);
+ s->qmlDirComponents.prepend(qmldircomponents);
+ return true;
+}
+
+bool QDeclarativeImportsPrivate::find(const QByteArray& type, int *vmajor, int *vminor, QDeclarativeType** type_return,
+ QUrl* url_return, QString *errorString)
+{
+ QDeclarativeImportedNamespace *s = 0;
+ int slash = type.indexOf('/');
+ if (slash >= 0) {
+ QString namespaceName = QString::fromUtf8(type.left(slash));
+ s = set.value(namespaceName);
+ if (!s) {
+ if (errorString)
+ *errorString = QDeclarativeImportDatabase::tr("- %1 is not a namespace").arg(namespaceName);
+ return false;
+ }
+ int nslash = type.indexOf('/',slash+1);
+ if (nslash > 0) {
+ if (errorString)
+ *errorString = QDeclarativeImportDatabase::tr("- nested namespaces not allowed");
+ return false;
+ }
+ } else {
+ s = &unqualifiedset;
+ }
+ QByteArray unqualifiedtype = slash < 0 ? type : type.mid(slash+1); // common-case opt (QString::mid works fine, but slower)
+ if (s) {
+ if (s->find(unqualifiedtype,vmajor,vminor,type_return,url_return, &base, errorString))
+ return true;
+ if (s->urls.count() == 1 && !s->isLibrary[0] && url_return && s != &unqualifiedset) {
+ // qualified, and only 1 url
+ *url_return = QUrl(s->urls[0]+QLatin1Char('/')).resolved(QUrl(QString::fromUtf8(unqualifiedtype) + QLatin1String(".qml")));
+ return true;
+ }
+ }
+
+ return false;
+}
+
+QDeclarativeImportedNamespace *QDeclarativeImportsPrivate::findNamespace(const QString& type)
+{
+ return set.value(type);
+}
+
+bool QDeclarativeImportedNamespace::find(const QByteArray& type, int *vmajor, int *vminor, QDeclarativeType** type_return,
+ QUrl* url_return, QUrl *base, QString *errorString)
+{
+ bool typeRecursionDetected = false;
+ for (int i=0; i<urls.count(); ++i) {
+ if (find_helper(i, type, vmajor, vminor, type_return, url_return, base, &typeRecursionDetected)) {
+ if (qmlCheckTypes()) {
+ // check for type clashes
+ for (int j = i+1; j<urls.count(); ++j) {
+ if (find_helper(j, type, vmajor, vminor, 0, 0, base)) {
+ if (errorString) {
+ QString u1 = urls.at(i);
+ QString u2 = urls.at(j);
+ if (base) {
+ QString b = base->toString();
+ int slash = b.lastIndexOf(QLatin1Char('/'));
+ if (slash >= 0) {
+ b = b.left(slash+1);
+ QString l = b.left(slash);
+ if (u1.startsWith(b))
+ u1 = u1.mid(b.count());
+ else if (u1 == l)
+ u1 = QDeclarativeImportDatabase::tr("local directory");
+ if (u2.startsWith(b))
+ u2 = u2.mid(b.count());
+ else if (u2 == l)
+ u2 = QDeclarativeImportDatabase::tr("local directory");
+ }
+ }
+
+ if (u1 != u2)
+ *errorString
+ = QDeclarativeImportDatabase::tr("is ambiguous. Found in %1 and in %2")
+ .arg(u1).arg(u2);
+ else
+ *errorString
+ = QDeclarativeImportDatabase::tr("is ambiguous. Found in %1 in version %2.%3 and %4.%5")
+ .arg(u1)
+ .arg(majversions.at(i)).arg(minversions.at(i))
+ .arg(majversions.at(j)).arg(minversions.at(j));
+ }
+ return false;
+ }
+ }
+ }
+ return true;
+ }
+ }
+ if (errorString) {
+ if (typeRecursionDetected)
+ *errorString = QDeclarativeImportDatabase::tr("is instantiated recursively");
+ else
+ *errorString = QDeclarativeImportDatabase::tr("is not a type");
+ }
+ return false;
+}
+
+QDeclarativeImportDatabase::QDeclarativeImportDatabase(QDeclarativeEngine *e)
+: engine(e)
+{
+ filePluginPath << QLatin1String(".");
+
+ // Search order is applicationDirPath(), $QML_IMPORT_PATH, QLibraryInfo::ImportsPath
+
+ addImportPath(QLibraryInfo::location(QLibraryInfo::ImportsPath));
+
+ // env import paths
+ QByteArray envImportPath = qgetenv("QML_IMPORT_PATH");
+ if (!envImportPath.isEmpty()) {
+#if defined(Q_OS_WIN) || defined(Q_OS_SYMBIAN)
+ QLatin1Char pathSep(';');
+#else
+ QLatin1Char pathSep(':');
+#endif
+ QStringList paths = QString::fromLatin1(envImportPath).split(pathSep, QString::SkipEmptyParts);
+ for (int ii = paths.count() - 1; ii >= 0; --ii)
+ addImportPath(paths.at(ii));
+ }
+
+ addImportPath(QCoreApplication::applicationDirPath());
+}
+
+QDeclarativeImportDatabase::~QDeclarativeImportDatabase()
+{
+}
+
+/*!
+ \internal
+
+ Adds information to \a imports such that subsequent calls to resolveType()
+ will resolve types qualified by \a prefix by considering types found at the given \a uri.
+
+ The uri is either a directory (if importType is FileImport), or a URI resolved using paths
+ added via addImportPath() (if importType is LibraryImport).
+
+ The \a prefix may be empty, in which case the import location is considered for
+ unqualified types.
+
+ The base URL must already have been set with Import::setBaseUrl().
+*/
+bool QDeclarativeImportDatabase::addToImport(QDeclarativeImports* imports,
+ const QDeclarativeDirComponents &qmldircomponentsnetwork,
+ const QString& uri, const QString& prefix, int vmaj, int vmin,
+ QDeclarativeScriptParser::Import::Type importType,
+ QString *errorString)
+{
+ if (qmlImportTrace())
+ qDebug().nospace() << "QDeclarativeImportDatabase::addToImport " << imports << " " << uri << " "
+ << vmaj << '.' << vmin << " "
+ << (importType==QDeclarativeScriptParser::Import::Library? "Library" : "File")
+ << " as " << prefix;
+
+ bool ok = imports->d->add(qmldircomponentsnetwork, uri, prefix, vmaj, vmin, importType, this, errorString);
+ return ok;
+}
+
+/*!
+ \internal
+
+ Using the given \a imports, the given (namespace qualified) \a type is resolved to either
+ a QDeclarativeImportedNamespace stored at \a ns_return,
+ a QDeclarativeType stored at \a type_return, or
+ a component located at \a url_return.
+
+ If any return pointer is 0, the corresponding search is not done.
+
+ \sa addToImport()
+*/
+bool QDeclarativeImportDatabase::resolveType(const QDeclarativeImports& imports, const QByteArray& type,
+ QDeclarativeType** type_return, QUrl* url_return, int *vmaj, int *vmin,
+ QDeclarativeImportedNamespace** ns_return, QString *errorString) const
+{
+ QDeclarativeImportedNamespace* ns = imports.d->findNamespace(QString::fromUtf8(type));
+ if (ns) {
+ if (ns_return)
+ *ns_return = ns;
+ return true;
+ }
+ if (type_return || url_return) {
+ if (imports.d->find(type,vmaj,vmin,type_return,url_return, errorString)) {
+ if (qmlImportTrace()) {
+ if (type_return && *type_return && url_return && !url_return->isEmpty())
+ qDebug() << "QDeclarativeImportDatabase::resolveType" << type << '=' << (*type_return)->typeName() << *url_return;
+ if (type_return && *type_return)
+ qDebug() << "QDeclarativeImportDatabase::resolveType" << type << '=' << (*type_return)->typeName();
+ if (url_return && !url_return->isEmpty())
+ qDebug() << "QDeclarativeImportDatabase::resolveType" << type << '=' << *url_return;
+ }
+ return true;
+ }
+ }
+ return false;
+}
+
+/*!
+ \internal
+
+ Searching \e only in the namespace \a ns (previously returned in a call to
+ resolveType(), \a type is found and returned to either
+ a QDeclarativeType stored at \a type_return, or
+ a component located at \a url_return.
+
+ If either return pointer is 0, the corresponding search is not done.
+*/
+bool QDeclarativeImportDatabase::resolveTypeInNamespace(QDeclarativeImportedNamespace* ns, const QByteArray& type,
+ QDeclarativeType** type_return, QUrl* url_return,
+ int *vmaj, int *vmin) const
+{
+ return ns->find(type,vmaj,vmin,type_return,url_return);
+}
+
+/*!
+ \internal
+
+ Returns the result of the merge of \a baseName with \a path, \a suffixes, and \a prefix.
+ The \a prefix must contain the dot.
+
+ \a qmldirPath is the location of the qmldir file.
+ */
+QString QDeclarativeImportDatabase::resolvePlugin(const QDir &qmldirPath, const QString &qmldirPluginPath,
+ const QString &baseName, const QStringList &suffixes,
+ const QString &prefix)
+{
+ QStringList searchPaths = filePluginPath;
+ bool qmldirPluginPathIsRelative = QDir::isRelativePath(qmldirPluginPath);
+ if (!qmldirPluginPathIsRelative)
+ searchPaths.prepend(qmldirPluginPath);
+
+ foreach (const QString &pluginPath, searchPaths) {
+
+ QString resolvedPath;
+
+ if (pluginPath == QLatin1String(".")) {
+ if (qmldirPluginPathIsRelative)
+ resolvedPath = qmldirPath.absoluteFilePath(qmldirPluginPath);
+ else
+ resolvedPath = qmldirPath.absolutePath();
+ } else {
+ resolvedPath = pluginPath;
+ }
+
+ // hack for resources, should probably go away
+ if (resolvedPath.startsWith(QLatin1Char(':')))
+ resolvedPath = QCoreApplication::applicationDirPath();
+
+ QDir dir(resolvedPath);
+ foreach (const QString &suffix, suffixes) {
+ QString pluginFileName = prefix;
+
+ pluginFileName += baseName;
+ pluginFileName += suffix;
+
+ QFileInfo fileInfo(dir, pluginFileName);
+
+ if (fileInfo.exists())
+ return fileInfo.absoluteFilePath();
+ }
+ }
+
+ if (qmlImportTrace())
+ qDebug() << "QDeclarativeImportDatabase::resolvePlugin: Could not resolve plugin" << baseName
+ << "in" << qmldirPath.absolutePath();
+
+ return QString();
+}
+
+/*!
+ \internal
+
+ Returns the result of the merge of \a baseName with \a dir and the platform suffix.
+
+ \table
+ \header \i Platform \i Valid suffixes
+ \row \i Windows \i \c .dll
+ \row \i Unix/Linux \i \c .so
+ \row \i AIX \i \c .a
+ \row \i HP-UX \i \c .sl, \c .so (HP-UXi)
+ \row \i Mac OS X \i \c .dylib, \c .bundle, \c .so
+ \row \i Symbian \i \c .dll
+ \endtable
+
+ Version number on unix are ignored.
+*/
+QString QDeclarativeImportDatabase::resolvePlugin(const QDir &qmldirPath, const QString &qmldirPluginPath,
+ const QString &baseName)
+{
+#if defined(Q_OS_WIN32) || defined(Q_OS_WINCE)
+ return resolvePlugin(qmldirPath, qmldirPluginPath, baseName,
+ QStringList()
+# ifdef QT_DEBUG
+ << QLatin1String("d.dll") // try a qmake-style debug build first
+# endif
+ << QLatin1String(".dll"));
+#elif defined(Q_OS_SYMBIAN)
+ return resolvePlugin(qmldirPath, qmldirPluginPath, baseName,
+ QStringList()
+ << QLatin1String(".dll")
+ << QLatin1String(".qtplugin"));
+#else
+
+# if defined(Q_OS_DARWIN)
+
+ return resolvePlugin(qmldirPath, qmldirPluginPath, baseName,
+ QStringList()
+# ifdef QT_DEBUG
+ << QLatin1String("_debug.dylib") // try a qmake-style debug build first
+ << QLatin1String(".dylib")
+# else
+ << QLatin1String(".dylib")
+ << QLatin1String("_debug.dylib") // try a qmake-style debug build after
+# endif
+ << QLatin1String(".so")
+ << QLatin1String(".bundle"),
+ QLatin1String("lib"));
+# else // Generic Unix
+ QStringList validSuffixList;
+
+# if defined(Q_OS_HPUX)
+/*
+ See "HP-UX Linker and Libraries User's Guide", section "Link-time Differences between PA-RISC and IPF":
+ "In PA-RISC (PA-32 and PA-64) shared libraries are suffixed with .sl. In IPF (32-bit and 64-bit),
+ the shared libraries are suffixed with .so. For compatibility, the IPF linker also supports the .sl suffix."
+ */
+ validSuffixList << QLatin1String(".sl");
+# if defined __ia64
+ validSuffixList << QLatin1String(".so");
+# endif
+# elif defined(Q_OS_AIX)
+ validSuffixList << QLatin1String(".a") << QLatin1String(".so");
+# elif defined(Q_OS_UNIX)
+ validSuffixList << QLatin1String(".so");
+# endif
+
+ // Examples of valid library names:
+ // libfoo.so
+
+ return resolvePlugin(qmldirPath, qmldirPluginPath, baseName, validSuffixList, QLatin1String("lib"));
+# endif
+
+#endif
+}
+
+QStringList QDeclarativeImportDatabase::pluginPathList() const
+{
+ return filePluginPath;
+}
+
+void QDeclarativeImportDatabase::setPluginPathList(const QStringList &paths)
+{
+ filePluginPath = paths;
+}
+
+void QDeclarativeImportDatabase::addPluginPath(const QString& path)
+{
+ if (qmlImportTrace())
+ qDebug() << "QDeclarativeImportDatabase::addPluginPath" << path;
+
+ QUrl url = QUrl(path);
+ if (url.isRelative() || url.scheme() == QLatin1String("file")) {
+ QDir dir = QDir(path);
+ filePluginPath.prepend(dir.canonicalPath());
+ } else {
+ filePluginPath.prepend(path);
+ }
+}
+
+void QDeclarativeImportDatabase::addImportPath(const QString& path)
+{
+ if (qmlImportTrace())
+ qDebug() << "QDeclarativeImportDatabase::addImportPath" << path;
+
+ if (path.isEmpty())
+ return;
+
+ QUrl url = QUrl(path);
+ QString cPath;
+
+ if (url.isRelative() || url.scheme() == QLatin1String("file")) {
+ QDir dir = QDir(path);
+ cPath = dir.canonicalPath();
+ } else {
+ cPath = path;
+ }
+
+ if (!cPath.isEmpty()
+ && !fileImportPath.contains(cPath))
+ fileImportPath.prepend(cPath);
+}
+
+QStringList QDeclarativeImportDatabase::importPathList() const
+{
+ return fileImportPath;
+}
+
+void QDeclarativeImportDatabase::setImportPathList(const QStringList &paths)
+{
+ fileImportPath = paths;
+}
+
+
+bool QDeclarativeImportDatabase::importPlugin(const QString &filePath, const QString &uri, QString *errorString)
+{
+ if (qmlImportTrace())
+ qDebug() << "QDeclarativeImportDatabase::importPlugin" << uri << "from" << filePath;
+
+ QFileInfo fileInfo(filePath);
+ const QString absoluteFilePath = fileInfo.absoluteFilePath();
+
+ bool engineInitialized = initializedPlugins.contains(absoluteFilePath);
+ bool typesRegistered = qmlEnginePluginsWithRegisteredTypes()->contains(absoluteFilePath);
+
+ if (typesRegistered) {
+ Q_ASSERT_X(qmlEnginePluginsWithRegisteredTypes()->value(absoluteFilePath) == uri,
+ "QDeclarativeImportDatabase::importExtension",
+ "Internal error: Plugin imported previously with different uri");
+ }
+
+ if (!engineInitialized || !typesRegistered) {
+ QPluginLoader loader(absoluteFilePath);
+
+ if (!loader.load()) {
+ if (errorString)
+ *errorString = loader.errorString();
+ return false;
+ }
+
+ if (QDeclarativeExtensionInterface *iface = qobject_cast<QDeclarativeExtensionInterface *>(loader.instance())) {
+
+ const QByteArray bytes = uri.toUtf8();
+ const char *moduleId = bytes.constData();
+ if (!typesRegistered) {
+
+ // ### this code should probably be protected with a mutex.
+ qmlEnginePluginsWithRegisteredTypes()->insert(absoluteFilePath, uri);
+ iface->registerTypes(moduleId);
+ }
+ if (!engineInitialized) {
+ // things on the engine (eg. adding new global objects) have to be done for every engine.
+
+ // protect against double initialization
+ initializedPlugins.insert(absoluteFilePath);
+ iface->initializeEngine(engine, moduleId);
+ }
+ } else {
+ if (errorString)
+ *errorString = loader.errorString();
+ return false;
+ }
+ }
+
+ return true;
+}
+
+
+QT_END_NAMESPACE
diff --git a/src/declarative/qml/qdeclarativeimport_p.h b/src/declarative/qml/qdeclarativeimport_p.h
new file mode 100644
index 0000000000..88246d4d48
--- /dev/null
+++ b/src/declarative/qml/qdeclarativeimport_p.h
@@ -0,0 +1,139 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#ifndef QDECLARATIVEIMPORT_P_H
+#define QDECLARATIVEIMPORT_P_H
+
+#include <QtCore/qurl.h>
+#include <QtCore/qcoreapplication.h>
+#include <QtCore/qset.h>
+#include <private/qdeclarativedirparser_p.h>
+#include <private/qdeclarativescriptparser_p.h>
+#include <private/qdeclarativemetatype_p.h>
+
+//
+// W A R N I N G
+// -------------
+//
+// This file is not part of the Qt API. It exists purely as an
+// implementation detail. This header file may change from version to
+// version without notice, or even be removed.
+//
+// We mean it.
+//
+
+QT_BEGIN_NAMESPACE
+
+class QDeclarativeTypeNameCache;
+class QDeclarativeEngine;
+class QDir;
+
+class QDeclarativeImportedNamespace;
+class QDeclarativeImportsPrivate;
+class QDeclarativeImports
+{
+public:
+ QDeclarativeImports();
+ QDeclarativeImports(const QDeclarativeImports &);
+ ~QDeclarativeImports();
+ QDeclarativeImports &operator=(const QDeclarativeImports &);
+
+ void setBaseUrl(const QUrl &url);
+ QUrl baseUrl() const;
+
+ void cache(QDeclarativeTypeNameCache *cache, QDeclarativeEngine *) const;
+private:
+ friend class QDeclarativeImportDatabase;
+ QDeclarativeImportsPrivate *d;
+};
+
+class QDeclarativeImportDatabase
+{
+ Q_DECLARE_TR_FUNCTIONS(QDeclarativeImportDatabase)
+public:
+ QDeclarativeImportDatabase(QDeclarativeEngine *);
+ ~QDeclarativeImportDatabase();
+
+ bool importPlugin(const QString &filePath, const QString &uri, QString *errorString);
+
+ QStringList importPathList() const;
+ void setImportPathList(const QStringList &paths);
+ void addImportPath(const QString& dir);
+
+ QStringList pluginPathList() const;
+ void setPluginPathList(const QStringList &paths);
+ void addPluginPath(const QString& path);
+
+
+ bool addToImport(QDeclarativeImports*, const QDeclarativeDirComponents &qmldircomponentsnetwork,
+ const QString& uri, const QString& prefix, int vmaj, int vmin,
+ QDeclarativeScriptParser::Import::Type importType,
+ QString *errorString);
+ bool resolveType(const QDeclarativeImports&, const QByteArray& type,
+ QDeclarativeType** type_return, QUrl* url_return,
+ int *version_major, int *version_minor,
+ QDeclarativeImportedNamespace** ns_return,
+ QString *errorString = 0) const;
+ bool resolveTypeInNamespace(QDeclarativeImportedNamespace*, const QByteArray& type,
+ QDeclarativeType** type_return, QUrl* url_return,
+ int *version_major, int *version_minor ) const;
+
+
+private:
+ friend class QDeclarativeImportsPrivate;
+ QString resolvePlugin(const QDir &qmldirPath, const QString &qmldirPluginPath,
+ const QString &baseName, const QStringList &suffixes,
+ const QString &prefix = QString());
+ QString resolvePlugin(const QDir &qmldirPath, const QString &qmldirPluginPath,
+ const QString &baseName);
+
+
+ QStringList filePluginPath;
+ QStringList fileImportPath;
+
+ QSet<QString> initializedPlugins;
+ QDeclarativeEngine *engine;
+};
+
+QT_END_NAMESPACE
+
+#endif // QDECLARATIVEIMPORT_P_H
+
diff --git a/src/declarative/qml/qdeclarativeinclude.cpp b/src/declarative/qml/qdeclarativeinclude.cpp
new file mode 100644
index 0000000000..388f25230a
--- /dev/null
+++ b/src/declarative/qml/qdeclarativeinclude.cpp
@@ -0,0 +1,307 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include "qdeclarativeinclude_p.h"
+
+#include <QtScript/qscriptengine.h>
+#include <QtNetwork/qnetworkrequest.h>
+#include <QtNetwork/qnetworkreply.h>
+#include <QtCore/qfile.h>
+
+#include <private/qdeclarativeengine_p.h>
+#include <private/qdeclarativeglobalscriptclass_p.h>
+
+QT_BEGIN_NAMESPACE
+
+QDeclarativeInclude::QDeclarativeInclude(const QUrl &url,
+ QDeclarativeEngine *engine,
+ QScriptContext *ctxt)
+: QObject(engine), m_engine(engine), m_network(0), m_reply(0), m_url(url), m_redirectCount(0)
+{
+ QDeclarativeEnginePrivate *ep = QDeclarativeEnginePrivate::get(engine);
+ m_context = ep->contextClass->contextFromValue(QScriptDeclarativeClass::scopeChainValue(ctxt, -3));
+
+ m_scope[0] = QScriptDeclarativeClass::scopeChainValue(ctxt, -4);
+ m_scope[1] = QScriptDeclarativeClass::scopeChainValue(ctxt, -5);
+
+ m_scriptEngine = QDeclarativeEnginePrivate::getScriptEngine(engine);
+ m_network = QDeclarativeScriptEngine::get(m_scriptEngine)->networkAccessManager();
+
+ m_result = resultValue(m_scriptEngine);
+
+ QNetworkRequest request;
+ request.setUrl(url);
+
+ m_reply = m_network->get(request);
+ QObject::connect(m_reply, SIGNAL(finished()), this, SLOT(finished()));
+}
+
+QDeclarativeInclude::~QDeclarativeInclude()
+{
+ delete m_reply;
+}
+
+QScriptValue QDeclarativeInclude::resultValue(QScriptEngine *engine, Status status)
+{
+ QScriptValue result = engine->newObject();
+ result.setProperty(QLatin1String("OK"), QScriptValue(engine, Ok));
+ result.setProperty(QLatin1String("LOADING"), QScriptValue(engine, Loading));
+ result.setProperty(QLatin1String("NETWORK_ERROR"), QScriptValue(engine, NetworkError));
+ result.setProperty(QLatin1String("EXCEPTION"), QScriptValue(engine, Exception));
+
+ result.setProperty(QLatin1String("status"), QScriptValue(engine, status));
+ return result;
+}
+
+QScriptValue QDeclarativeInclude::result() const
+{
+ return m_result;
+}
+
+void QDeclarativeInclude::setCallback(const QScriptValue &c)
+{
+ m_callback = c;
+}
+
+QScriptValue QDeclarativeInclude::callback() const
+{
+ return m_callback;
+}
+
+#define INCLUDE_MAXIMUM_REDIRECT_RECURSION 15
+void QDeclarativeInclude::finished()
+{
+ m_redirectCount++;
+
+ if (m_redirectCount < INCLUDE_MAXIMUM_REDIRECT_RECURSION) {
+ QVariant redirect = m_reply->attribute(QNetworkRequest::RedirectionTargetAttribute);
+ if (redirect.isValid()) {
+ m_url = m_url.resolved(redirect.toUrl());
+ delete m_reply;
+
+ QNetworkRequest request;
+ request.setUrl(m_url);
+
+ m_reply = m_network->get(request);
+ QObject::connect(m_reply, SIGNAL(finished()), this, SLOT(finished()));
+ return;
+ }
+ }
+
+ if (m_reply->error() == QNetworkReply::NoError) {
+ QDeclarativeEnginePrivate *ep = QDeclarativeEnginePrivate::get(m_engine);
+
+ QByteArray data = m_reply->readAll();
+
+ QString code = QString::fromUtf8(data);
+
+ QString urlString = m_url.toString();
+ QScriptContext *scriptContext = QScriptDeclarativeClass::pushCleanContext(m_scriptEngine);
+ scriptContext->pushScope(ep->contextClass->newUrlContext(m_context, 0, urlString));
+ scriptContext->pushScope(m_scope[0]);
+
+ scriptContext->pushScope(m_scope[1]);
+ scriptContext->setActivationObject(m_scope[1]);
+ QDeclarativeScriptParser::extractPragmas(code);
+
+ m_scriptEngine->evaluate(code, urlString, 1);
+
+ m_scriptEngine->popContext();
+
+ if (m_scriptEngine->hasUncaughtException()) {
+ m_result.setProperty(QLatin1String("status"), QScriptValue(m_scriptEngine, Exception));
+ m_result.setProperty(QLatin1String("exception"), m_scriptEngine->uncaughtException());
+ m_scriptEngine->clearExceptions();
+ } else {
+ m_result.setProperty(QLatin1String("status"), QScriptValue(m_scriptEngine, Ok));
+ }
+ } else {
+ m_result.setProperty(QLatin1String("status"), QScriptValue(m_scriptEngine, NetworkError));
+ }
+
+ callback(m_scriptEngine, m_callback, m_result);
+
+ disconnect();
+ deleteLater();
+}
+
+void QDeclarativeInclude::callback(QScriptEngine *engine, QScriptValue &callback, QScriptValue &status)
+{
+ if (callback.isValid()) {
+ QScriptValue args = engine->newArray(1);
+ args.setProperty(0, status);
+ callback.call(QScriptValue(), args);
+ }
+}
+
+QScriptValue QDeclarativeInclude::include(QScriptContext *ctxt, QScriptEngine *engine)
+{
+ if (ctxt->argumentCount() == 0)
+ return engine->undefinedValue();
+
+ QDeclarativeEnginePrivate *ep = QDeclarativeEnginePrivate::get(engine);
+
+ QUrl contextUrl = ep->contextClass->urlFromValue(QScriptDeclarativeClass::scopeChainValue(ctxt, -3));
+ if (contextUrl.isEmpty())
+ return ctxt->throwError(QLatin1String("Qt.include(): Can only be called from JavaScript files"));
+
+ QString urlString = ctxt->argument(0).toString();
+ QUrl url(ctxt->argument(0).toString());
+ if (url.isRelative()) {
+ url = QUrl(contextUrl).resolved(url);
+ urlString = url.toString();
+ }
+
+ QString localFile = QDeclarativeEnginePrivate::urlToLocalFileOrQrc(url);
+
+ QScriptValue func = ctxt->argument(1);
+ if (!func.isFunction())
+ func = QScriptValue();
+
+ QScriptValue result;
+ if (localFile.isEmpty()) {
+ QDeclarativeInclude *i =
+ new QDeclarativeInclude(url, QDeclarativeEnginePrivate::getEngine(engine), ctxt);
+
+ if (func.isValid())
+ i->setCallback(func);
+
+ result = i->result();
+ } else {
+
+ QFile f(localFile);
+ if (f.open(QIODevice::ReadOnly)) {
+ QByteArray data = f.readAll();
+ QString code = QString::fromUtf8(data);
+
+ QDeclarativeContextData *context =
+ ep->contextClass->contextFromValue(QScriptDeclarativeClass::scopeChainValue(ctxt, -3));
+
+ QScriptContext *scriptContext = QScriptDeclarativeClass::pushCleanContext(engine);
+ scriptContext->pushScope(ep->contextClass->newUrlContext(context, 0, urlString));
+ scriptContext->pushScope(ep->globalClass->globalObject());
+ QScriptValue scope = QScriptDeclarativeClass::scopeChainValue(ctxt, -5);
+ scriptContext->pushScope(scope);
+ scriptContext->setActivationObject(scope);
+ QDeclarativeScriptParser::extractPragmas(code);
+
+ engine->evaluate(code, urlString, 1);
+
+ engine->popContext();
+
+ if (engine->hasUncaughtException()) {
+ result = resultValue(engine, Exception);
+ result.setProperty(QLatin1String("exception"), engine->uncaughtException());
+ engine->clearExceptions();
+ } else {
+ result = resultValue(engine, Ok);
+ }
+ callback(engine, func, result);
+ } else {
+ result = resultValue(engine, NetworkError);
+ callback(engine, func, result);
+ }
+ }
+
+ return result;
+}
+
+QScriptValue QDeclarativeInclude::worker_include(QScriptContext *ctxt, QScriptEngine *engine)
+{
+ if (ctxt->argumentCount() == 0)
+ return engine->undefinedValue();
+
+ QString urlString = ctxt->argument(0).toString();
+ QUrl url(ctxt->argument(0).toString());
+ if (url.isRelative()) {
+ QString contextUrl = QScriptDeclarativeClass::scopeChainValue(ctxt, -3).data().toString();
+ Q_ASSERT(!contextUrl.isEmpty());
+
+ url = QUrl(contextUrl).resolved(url);
+ urlString = url.toString();
+ }
+
+ QString localFile = QDeclarativeEnginePrivate::urlToLocalFileOrQrc(url);
+
+ QScriptValue func = ctxt->argument(1);
+ if (!func.isFunction())
+ func = QScriptValue();
+
+ QScriptValue result;
+ if (!localFile.isEmpty()) {
+
+ QFile f(localFile);
+ if (f.open(QIODevice::ReadOnly)) {
+ QByteArray data = f.readAll();
+ QString code = QString::fromUtf8(data);
+
+ QScriptContext *scriptContext = QScriptDeclarativeClass::pushCleanContext(engine);
+ QScriptValue urlContext = engine->newObject();
+ urlContext.setData(QScriptValue(engine, urlString));
+ scriptContext->pushScope(urlContext);
+
+ QScriptValue scope = QScriptDeclarativeClass::scopeChainValue(ctxt, -4);
+ scriptContext->pushScope(scope);
+ scriptContext->setActivationObject(scope);
+ QDeclarativeScriptParser::extractPragmas(code);
+
+ engine->evaluate(code, urlString, 1);
+
+ engine->popContext();
+
+ if (engine->hasUncaughtException()) {
+ result = resultValue(engine, Exception);
+ result.setProperty(QLatin1String("exception"), engine->uncaughtException());
+ engine->clearExceptions();
+ } else {
+ result = resultValue(engine, Ok);
+ }
+ callback(engine, func, result);
+ } else {
+ result = resultValue(engine, NetworkError);
+ callback(engine, func, result);
+ }
+ }
+
+ return result;
+}
+
+QT_END_NAMESPACE
diff --git a/src/declarative/qml/qdeclarativeinclude_p.h b/src/declarative/qml/qdeclarativeinclude_p.h
new file mode 100644
index 0000000000..31243749db
--- /dev/null
+++ b/src/declarative/qml/qdeclarativeinclude_p.h
@@ -0,0 +1,115 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#ifndef QDECLARATIVEINCLUDE_P_H
+#define QDECLARATIVEINCLUDE_P_H
+
+//
+// W A R N I N G
+// -------------
+//
+// This file is not part of the Qt API. It exists purely as an
+// implementation detail. This header file may change from version to
+// version without notice, or even be removed.
+//
+// We mean it.
+//
+
+#include <QtCore/qobject.h>
+#include <QtCore/qurl.h>
+#include <QtScript/qscriptvalue.h>
+
+#include <private/qdeclarativecontext_p.h>
+#include <private/qdeclarativeguard_p.h>
+
+QT_BEGIN_NAMESPACE
+
+class QDeclarativeEngine;
+class QScriptContext;
+class QScriptEngine;
+class QNetworkAccessManager;
+class QNetworkReply;
+class QDeclarativeInclude : public QObject
+{
+ Q_OBJECT
+public:
+ enum Status {
+ Ok = 0,
+ Loading = 1,
+ NetworkError = 2,
+ Exception = 3
+ };
+
+ QDeclarativeInclude(const QUrl &, QDeclarativeEngine *, QScriptContext *ctxt);
+ ~QDeclarativeInclude();
+
+ void setCallback(const QScriptValue &);
+ QScriptValue callback() const;
+
+ QScriptValue result() const;
+
+ static QScriptValue resultValue(QScriptEngine *, Status status = Loading);
+ static void callback(QScriptEngine *, QScriptValue &callback, QScriptValue &status);
+
+ static QScriptValue include(QScriptContext *ctxt, QScriptEngine *engine);
+ static QScriptValue worker_include(QScriptContext *ctxt, QScriptEngine *engine);
+
+public slots:
+ void finished();
+
+private:
+ QDeclarativeEngine *m_engine;
+ QScriptEngine *m_scriptEngine;
+ QNetworkAccessManager *m_network;
+ QDeclarativeGuard<QNetworkReply> m_reply;
+
+ QUrl m_url;
+ int m_redirectCount;
+ QScriptValue m_callback;
+ QScriptValue m_result;
+ QDeclarativeGuardedContextData m_context;
+ QScriptValue m_scope[2];
+};
+
+QT_END_NAMESPACE
+
+#endif // QDECLARATIVEINCLUDE_P_H
+
diff --git a/src/declarative/qml/qdeclarativeinfo.cpp b/src/declarative/qml/qdeclarativeinfo.cpp
index ffed14ee09..c980a2a6cd 100644
--- a/src/declarative/qml/qdeclarativeinfo.cpp
+++ b/src/declarative/qml/qdeclarativeinfo.cpp
@@ -78,8 +78,9 @@ QT_BEGIN_NAMESPACE
\endcode
*/
-struct QDeclarativeInfoPrivate
+class QDeclarativeInfoPrivate
{
+public:
QDeclarativeInfoPrivate() : ref (1), object(0) {}
int ref;
diff --git a/src/declarative/qml/qdeclarativeinfo.h b/src/declarative/qml/qdeclarativeinfo.h
index 2ac28f4f79..b41abd8c79 100644
--- a/src/declarative/qml/qdeclarativeinfo.h
+++ b/src/declarative/qml/qdeclarativeinfo.h
@@ -81,7 +81,9 @@ public:
inline QDeclarativeInfo &operator<<(const void * t) { QDebug::operator<<(t); return *this; }
inline QDeclarativeInfo &operator<<(QTextStreamFunction f) { QDebug::operator<<(f); return *this; }
inline QDeclarativeInfo &operator<<(QTextStreamManipulator m) { QDebug::operator<<(m); return *this; }
+#ifndef QT_NO_DEBUG_STREAM
inline QDeclarativeInfo &operator<<(const QUrl &t) { static_cast<QDebug &>(*this) << t; return *this; }
+#endif
private:
friend Q_DECLARATIVE_EXPORT QDeclarativeInfo qmlInfo(const QObject *me);
diff --git a/src/declarative/qml/qdeclarativeinstruction.cpp b/src/declarative/qml/qdeclarativeinstruction.cpp
index 99f1cc8cdc..0f7b09d044 100644
--- a/src/declarative/qml/qdeclarativeinstruction.cpp
+++ b/src/declarative/qml/qdeclarativeinstruction.cpp
@@ -49,6 +49,10 @@ QT_BEGIN_NAMESPACE
void QDeclarativeCompiledData::dump(QDeclarativeInstruction *instr, int idx)
{
+#ifdef QT_NO_DEBUG_STREAM
+ Q_UNUSED(instr)
+ Q_UNUSED(idx)
+#else
QByteArray lineNumber = QByteArray::number(instr->line);
if (instr->line == (unsigned short)-1)
lineNumber = "NA";
@@ -60,6 +64,7 @@ void QDeclarativeCompiledData::dump(QDeclarativeInstruction *instr, int idx)
break;
case QDeclarativeInstruction::CreateObject:
qWarning().nospace() << idx << "\t\t" << line << "\t" << "CREATE\t\t\t" << instr->create.type << "\t\t\t" << types.at(instr->create.type).className;
+ break;
case QDeclarativeInstruction::CreateSimpleObject:
qWarning().nospace() << idx << "\t\t" << line << "\t" << "CREATE_SIMPLE\t\t" << instr->createSimple.typeSize;
break;
@@ -136,6 +141,9 @@ void QDeclarativeCompiledData::dump(QDeclarativeInstruction *instr, int idx)
case QDeclarativeInstruction::StoreVariantDouble:
qWarning().nospace() << idx << "\t\t" << line << "\t" << "STORE_VARIANT_DOUBLE\t\t" << instr->storeDouble.propertyIndex << "\t" << instr->storeDouble.value;
break;
+ case QDeclarativeInstruction::StoreVariantBool:
+ qWarning().nospace() << idx << "\t\t" << line << "\t" << "STORE_VARIANT_BOOL\t\t" << instr->storeBool.propertyIndex << "\t" << instr->storeBool.value;
+ break;
case QDeclarativeInstruction::StoreObject:
qWarning().nospace() << idx << "\t\t" << line << "\t" << "STORE_OBJECT\t\t" << instr->storeObject.propertyIndex;
break;
@@ -213,6 +221,7 @@ void QDeclarativeCompiledData::dump(QDeclarativeInstruction *instr, int idx)
qWarning().nospace() << idx << "\t\t" << line << "\t" << "XXX UNKOWN INSTRUCTION" << "\t" << instr->type;
break;
}
+#endif // QT_NO_DEBUG_STREAM
}
QT_END_NAMESPACE
diff --git a/src/declarative/qml/qdeclarativeinstruction_p.h b/src/declarative/qml/qdeclarativeinstruction_p.h
index c09b157f0f..4627eb3861 100644
--- a/src/declarative/qml/qdeclarativeinstruction_p.h
+++ b/src/declarative/qml/qdeclarativeinstruction_p.h
@@ -116,6 +116,7 @@ public:
StoreVariant, /* storeString */
StoreVariantInteger, /* storeInteger */
StoreVariantDouble, /* storeDouble */
+ StoreVariantBool, /* storeBool */
StoreObject, /* storeObject */
StoreVariantObject, /* storeObject */
StoreInterface, /* storeObject */
@@ -157,7 +158,7 @@ public:
//
// Deferred creation
//
- Defer, /* defer */
+ Defer /* defer */
};
QDeclarativeInstruction()
: line(0) {}
diff --git a/src/declarative/qml/qdeclarativemetatype.cpp b/src/declarative/qml/qdeclarativemetatype.cpp
index 5fcb7eeadb..c32cab6b13 100644
--- a/src/declarative/qml/qdeclarativemetatype.cpp
+++ b/src/declarative/qml/qdeclarativemetatype.cpp
@@ -112,6 +112,8 @@ struct QDeclarativeMetaTypeData
QBitArray objects;
QBitArray interfaces;
QBitArray lists;
+
+ QList<QDeclarativePrivate::AutoParentFunction> parentFunctions;
};
Q_GLOBAL_STATIC(QDeclarativeMetaTypeData, metaTypeData)
Q_GLOBAL_STATIC(QReadWriteLock, metaTypeDataLock)
@@ -483,6 +485,16 @@ int QDeclarativeType::index() const
return d->m_index;
}
+int QDeclarativePrivate::registerAutoParentFunction(AutoParentFunction function)
+{
+ QWriteLocker lock(metaTypeDataLock());
+ QDeclarativeMetaTypeData *data = metaTypeData();
+
+ data->parentFunctions.append(function);
+
+ return data->parentFunctions.count() - 1;
+}
+
int QDeclarativePrivate::registerType(const QDeclarativePrivate::RegisterInterface &interface)
{
if (interface.version > 0)
@@ -583,6 +595,13 @@ bool QDeclarativeMetaType::isModule(const QByteArray &module, int versionMajor,
((*it).vmajor_min == versionMajor && (*it).vminor_min <= versionMinor))));
}
+QList<QDeclarativePrivate::AutoParentFunction> QDeclarativeMetaType::parentFunctions()
+{
+ QReadLocker lock(metaTypeDataLock());
+ QDeclarativeMetaTypeData *data = metaTypeData();
+ return data->parentFunctions;
+}
+
QObject *QDeclarativeMetaType::toQObject(const QVariant &v, bool *ok)
{
if (!isQObject(v.userType())) {
diff --git a/src/declarative/qml/qdeclarativemetatype_p.h b/src/declarative/qml/qdeclarativemetatype_p.h
index bf6a700721..4c98b6f330 100644
--- a/src/declarative/qml/qdeclarativemetatype_p.h
+++ b/src/declarative/qml/qdeclarativemetatype_p.h
@@ -99,6 +99,8 @@ public:
static StringConverter customStringConverter(int);
static bool isModule(const QByteArray &module, int versionMajor, int versionMinor);
+
+ static QList<QDeclarativePrivate::AutoParentFunction> parentFunctions();
};
class QDeclarativeTypePrivate;
diff --git a/src/declarative/qml/qdeclarativeobjectscriptclass.cpp b/src/declarative/qml/qdeclarativeobjectscriptclass.cpp
index bb5c8b78df..aca01b2ace 100644
--- a/src/declarative/qml/qdeclarativeobjectscriptclass.cpp
+++ b/src/declarative/qml/qdeclarativeobjectscriptclass.cpp
@@ -104,7 +104,8 @@ QScriptValue QDeclarativeObjectScriptClass::newQObject(QObject *object, int type
QScriptEngine *scriptEngine = QDeclarativeEnginePrivate::getScriptEngine(engine);
if (!object)
- return newObject(scriptEngine, this, new ObjectData(object, type));
+ return scriptEngine->nullValue();
+// return newObject(scriptEngine, this, new ObjectData(object, type));
if (QObjectPrivate::get(object)->wasDeleted)
return scriptEngine->undefinedValue();
@@ -265,7 +266,7 @@ QDeclarativeObjectScriptClass::property(QObject *obj, const Identifier &name)
void *args[] = { &rv, 0 };
QMetaObject::metacall(obj, QMetaObject::ReadProperty, lastData->coreIndex, args);
return Value(scriptEngine, rv);
- } else if (lastData->propType == QMetaType::Int) {
+ } else if (lastData->propType == QMetaType::Int || lastData->flags & QDeclarativePropertyCache::Data::IsEnumType) {
int rv = 0;
void *args[] = { &rv, 0 };
QMetaObject::metacall(obj, QMetaObject::ReadProperty, lastData->coreIndex, args);
@@ -368,6 +369,9 @@ void QDeclarativeObjectScriptClass::setProperty(QObject *obj,
QString error = QLatin1String("Cannot assign [undefined] to ") +
QLatin1String(QMetaType::typeName(lastData->propType));
context->throwError(error);
+ } else if (!value.isRegExp() && value.isFunction()) {
+ QString error = QLatin1String("Cannot assign a function to a property.");
+ context->throwError(error);
} else {
QVariant v;
if (lastData->flags & QDeclarativePropertyCache::Data::IsQList)
@@ -441,7 +445,7 @@ QScriptValue QDeclarativeObjectScriptClass::destroy(QScriptContext *context, QSc
QDeclarativeData *ddata = QDeclarativeData::get(data->object, false);
if (!ddata || ddata->indestructible)
- return engine->currentContext()->throwError(QLatin1String("Invalid attempt to destroy() an indestructible object"));
+ return engine->currentContext()->throwError(QLatin1String("Invalid attempt to destroy() an indestructible object"));
QObject *obj = data->object;
int delay = 0;
@@ -619,7 +623,7 @@ private:
inline void cleanup();
- void *data[4];
+ char data[4 * sizeof(void *)];
int type;
};
}
@@ -772,7 +776,8 @@ QScriptDeclarativeClass::Value MetaCallArgument::toValue(QDeclarativeEngine *e)
return QScriptDeclarativeClass::Value(engine, *((QString *)&data));
} else if (type == QMetaType::QObjectStar) {
QObject *object = *((QObject **)&data);
- QDeclarativeData::get(object, true)->setImplicitDestructible();
+ if (object)
+ QDeclarativeData::get(object, true)->setImplicitDestructible();
QDeclarativeEnginePrivate *priv = QDeclarativeEnginePrivate::get(e);
return QScriptDeclarativeClass::Value(engine, priv->objectClass->newQObject(object));
} else if (type == qMetaTypeId<QList<QObject *> >()) {
diff --git a/src/declarative/qml/qdeclarativeparser.cpp b/src/declarative/qml/qdeclarativeparser.cpp
index b38bd76cb6..8d00ef841d 100644
--- a/src/declarative/qml/qdeclarativeparser.cpp
+++ b/src/declarative/qml/qdeclarativeparser.cpp
@@ -57,6 +57,7 @@
#include <QPointF>
#include <QSizeF>
#include <QRectF>
+#include <QStringBuilder>
#include <QtDebug>
QT_BEGIN_NAMESPACE
@@ -310,6 +311,49 @@ double QDeclarativeParser::Variant::asNumber() const
return d;
}
+//reverse of Lexer::singleEscape()
+QString escapedString(const QString &string)
+{
+ QString tmp = QLatin1String("\"");
+ for (int i = 0; i < string.length(); ++i) {
+ const QChar &c = string.at(i);
+ switch(c.unicode()) {
+ case 0x08:
+ tmp += QLatin1String("\\b");
+ break;
+ case 0x09:
+ tmp += QLatin1String("\\t");
+ break;
+ case 0x0A:
+ tmp += QLatin1String("\\n");
+ break;
+ case 0x0B:
+ tmp += QLatin1String("\\v");
+ break;
+ case 0x0C:
+ tmp += QLatin1String("\\f");
+ break;
+ case 0x0D:
+ tmp += QLatin1String("\\r");
+ break;
+ case 0x22:
+ tmp += QLatin1String("\\\"");
+ break;
+ case 0x27:
+ tmp += QLatin1String("\\\'");
+ break;
+ case 0x5C:
+ tmp += QLatin1String("\\\\");
+ break;
+ default:
+ tmp += c;
+ break;
+ }
+ }
+ tmp += QLatin1Char('\"');
+ return tmp;
+}
+
QString QDeclarativeParser::Variant::asScript() const
{
switch(type()) {
@@ -324,6 +368,7 @@ QString QDeclarativeParser::Variant::asScript() const
else
return s;
case String:
+ return escapedString(s);
case Script:
return s;
}
diff --git a/src/declarative/qml/qdeclarativeparser_p.h b/src/declarative/qml/qdeclarativeparser_p.h
index 0870cfb0d8..d192f3a4ea 100644
--- a/src/declarative/qml/qdeclarativeparser_p.h
+++ b/src/declarative/qml/qdeclarativeparser_p.h
@@ -188,9 +188,6 @@ namespace QDeclarativeParser
QList<int> lineNumbers;
QList<Pragmas> pragmas;
};
-#if 0
- QList<ScriptBlock> scripts;
-#endif
// The bytes to cast instances by to get to the QDeclarativeParserStatus
// interface. -1 indicates the type doesn't support this interface.
@@ -310,8 +307,8 @@ namespace QDeclarativeParser
};
Type type;
- // ### Temporary
- QString primitive() const { return value.asScript(); }
+ // ### Temporary (for id only)
+ QString primitive() const { return value.isString() ? value.asString() : value.asScript(); }
// Primitive value
Variant value;
diff --git a/src/declarative/qml/qdeclarativeparserstatus.cpp b/src/declarative/qml/qdeclarativeparserstatus.cpp
index 978bfb4a5c..4c4e429d7b 100644
--- a/src/declarative/qml/qdeclarativeparserstatus.cpp
+++ b/src/declarative/qml/qdeclarativeparserstatus.cpp
@@ -91,19 +91,17 @@ QDeclarativeParserStatus::~QDeclarativeParserStatus()
}
/*!
+ \fn void QDeclarativeParserStatus::classBegin()
+
Invoked after class creation, but before any properties have been set.
*/
-void QDeclarativeParserStatus::classBegin()
-{
-}
/*!
+ \fn void QDeclarativeParserStatus::componentComplete()
+
Invoked after the root component that caused this instantiation has
completed construction. At this point all static values and binding values
have been assigned to the class.
*/
-void QDeclarativeParserStatus::componentComplete()
-{
-}
QT_END_NAMESPACE
diff --git a/src/declarative/qml/qdeclarativeparserstatus.h b/src/declarative/qml/qdeclarativeparserstatus.h
index 34528c11af..60d423e8b6 100644
--- a/src/declarative/qml/qdeclarativeparserstatus.h
+++ b/src/declarative/qml/qdeclarativeparserstatus.h
@@ -56,8 +56,8 @@ public:
QDeclarativeParserStatus();
virtual ~QDeclarativeParserStatus();
- virtual void classBegin();
- virtual void componentComplete();
+ virtual void classBegin()=0;
+ virtual void componentComplete()=0;
private:
friend class QDeclarativeVME;
diff --git a/src/declarative/qml/qdeclarativeprivate.h b/src/declarative/qml/qdeclarativeprivate.h
index e657dd5360..cd859fe88d 100644
--- a/src/declarative/qml/qdeclarativeprivate.h
+++ b/src/declarative/qml/qdeclarativeprivate.h
@@ -214,6 +214,10 @@ namespace QDeclarativePrivate
const char *iid;
};
+ enum AutoParentResult { Parented, IncompatibleObject, IncompatibleParent };
+ typedef AutoParentResult (*AutoParentFunction)(QObject *object, QObject *parent);
+
+ int Q_DECLARATIVE_EXPORT registerAutoParentFunction(AutoParentFunction);
int Q_DECLARATIVE_EXPORT registerType(const RegisterType &);
int Q_DECLARATIVE_EXPORT registerType(const RegisterInterface &);
diff --git a/src/declarative/qml/qdeclarativeproperty.cpp b/src/declarative/qml/qdeclarativeproperty.cpp
index 3881d0a4cf..071dd0771d 100644
--- a/src/declarative/qml/qdeclarativeproperty.cpp
+++ b/src/declarative/qml/qdeclarativeproperty.cpp
@@ -1049,26 +1049,24 @@ bool QDeclarativePropertyPrivate::write(QObject *object, const QDeclarativePrope
} else {
Q_ASSERT(variantType != propertyType);
- QVariant v = value;
- if (v.convert((QVariant::Type)propertyType)) {
- void *a[] = { (void *)v.constData(), 0, &status, &flags};
- QMetaObject::metacall(object, QMetaObject::WriteProperty, coreIdx, a);
- } else if ((uint)propertyType >= QVariant::UserType && variantType == QVariant::String) {
- QDeclarativeMetaType::StringConverter con = QDeclarativeMetaType::customStringConverter(propertyType);
- if (!con)
- return false;
-
- QVariant v = con(value.toString());
- if (v.userType() == propertyType) {
- void *a[] = { (void *)v.constData(), 0, &status, &flags};
- QMetaObject::metacall(object, QMetaObject::WriteProperty, coreIdx, a);
+ bool ok = false;
+ QVariant v;
+ if (variantType == QVariant::String)
+ v = QDeclarativeStringConverters::variantFromString(value.toString(), propertyType, &ok);
+ if (!ok) {
+ v = value;
+ if (v.convert((QVariant::Type)propertyType)) {
+ ok = true;
+ } else if ((uint)propertyType >= QVariant::UserType && variantType == QVariant::String) {
+ QDeclarativeMetaType::StringConverter con = QDeclarativeMetaType::customStringConverter(propertyType);
+ if (con) {
+ v = con(value.toString());
+ if (v.userType() == propertyType)
+ ok = true;
+ }
}
- } else if (variantType == QVariant::String) {
- bool ok = false;
- QVariant v = QDeclarativeStringConverters::variantFromString(value.toString(), propertyType, &ok);
- if (!ok)
- return false;
-
+ }
+ if (ok) {
void *a[] = { (void *)v.constData(), 0, &status, &flags};
QMetaObject::metacall(object, QMetaObject::WriteProperty, coreIdx, a);
} else {
diff --git a/src/declarative/qml/qdeclarativepropertycache.cpp b/src/declarative/qml/qdeclarativepropertycache.cpp
index 888945b1f4..839d79f0f6 100644
--- a/src/declarative/qml/qdeclarativepropertycache.cpp
+++ b/src/declarative/qml/qdeclarativepropertycache.cpp
@@ -45,7 +45,7 @@
#include "private/qdeclarativebinding_p.h"
#include <QtCore/qdebug.h>
-Q_DECLARE_METATYPE(QScriptValue);
+Q_DECLARE_METATYPE(QScriptValue)
QT_BEGIN_NAMESPACE
@@ -106,9 +106,25 @@ void QDeclarativePropertyCache::Data::load(const QMetaMethod &m)
}
+/*!
+Creates a new empty QDeclarativePropertyCache.
+*/
QDeclarativePropertyCache::QDeclarativePropertyCache(QDeclarativeEngine *e)
: QDeclarativeCleanup(e), engine(e)
{
+ Q_ASSERT(engine);
+}
+
+/*!
+Creates a new QDeclarativePropertyCache of \a metaObject.
+*/
+QDeclarativePropertyCache::QDeclarativePropertyCache(QDeclarativeEngine *e, const QMetaObject *metaObject)
+: QDeclarativeCleanup(e), engine(e)
+{
+ Q_ASSERT(engine);
+ Q_ASSERT(metaObject);
+
+ update(engine, metaObject);
}
QDeclarativePropertyCache::~QDeclarativePropertyCache()
@@ -135,7 +151,7 @@ void QDeclarativePropertyCache::clear()
}
QDeclarativePropertyCache::Data QDeclarativePropertyCache::create(const QMetaObject *metaObject,
- const QString &property)
+ const QString &property)
{
Q_ASSERT(metaObject);
@@ -245,17 +261,6 @@ void QDeclarativePropertyCache::append(QDeclarativeEngine *engine, const QMetaOb
}
}
-// ### Optimize - check engine for the parent meta object etc.
-QDeclarativePropertyCache *QDeclarativePropertyCache::create(QDeclarativeEngine *engine, const QMetaObject *metaObject)
-{
- Q_ASSERT(engine);
- Q_ASSERT(metaObject);
-
- QDeclarativePropertyCache *cache = new QDeclarativePropertyCache(engine);
- cache->update(engine, metaObject);
- return cache;
-}
-
void QDeclarativePropertyCache::update(QDeclarativeEngine *engine, const QMetaObject *metaObject)
{
Q_ASSERT(engine);
diff --git a/src/declarative/qml/qdeclarativepropertycache_p.h b/src/declarative/qml/qdeclarativepropertycache_p.h
index 6b64a96da7..72cfebaf88 100644
--- a/src/declarative/qml/qdeclarativepropertycache_p.h
+++ b/src/declarative/qml/qdeclarativepropertycache_p.h
@@ -65,10 +65,11 @@ QT_BEGIN_NAMESPACE
class QDeclarativeEngine;
class QMetaProperty;
-class QDeclarativePropertyCache : public QDeclarativeRefCount, public QDeclarativeCleanup
+class Q_AUTOTEST_EXPORT QDeclarativePropertyCache : public QDeclarativeRefCount, public QDeclarativeCleanup
{
public:
QDeclarativePropertyCache(QDeclarativeEngine *);
+ QDeclarativePropertyCache(QDeclarativeEngine *, const QMetaObject *);
virtual ~QDeclarativePropertyCache();
struct Data {
diff --git a/src/declarative/qml/qdeclarativepropertyvaluesource.cpp b/src/declarative/qml/qdeclarativepropertyvaluesource.cpp
index a0ed78f663..039998fda0 100644
--- a/src/declarative/qml/qdeclarativepropertyvaluesource.cpp
+++ b/src/declarative/qml/qdeclarativepropertyvaluesource.cpp
@@ -60,6 +60,9 @@ QDeclarativePropertyValueSource::QDeclarativePropertyValueSource()
{
}
+/*!
+ Destroys the value source.
+*/
QDeclarativePropertyValueSource::~QDeclarativePropertyValueSource()
{
}
diff --git a/src/declarative/qml/qdeclarativescriptparser.cpp b/src/declarative/qml/qdeclarativescriptparser.cpp
index 8b967339be..219d7593a1 100644
--- a/src/declarative/qml/qdeclarativescriptparser.cpp
+++ b/src/declarative/qml/qdeclarativescriptparser.cpp
@@ -104,17 +104,13 @@ public:
void operator()(const QString &code, AST::Node *node);
protected:
+
Object *defineObjectBinding(AST::UiQualifiedId *propertyName, bool onAssignment,
- AST::UiQualifiedId *objectTypeName,
+ const QString &objectType,
+ AST::SourceLocation typeLocation,
LocationSpan location,
AST::UiObjectInitializer *initializer = 0);
- Object *defineObjectBinding_helper(AST::UiQualifiedId *propertyName, bool onAssignment,
- const QString &objectType,
- AST::SourceLocation typeLocation,
- LocationSpan location,
- AST::UiObjectInitializer *initializer = 0);
-
QDeclarativeParser::Variant getVariant(AST::ExpressionNode *expr);
LocationSpan location(AST::SourceLocation start, AST::SourceLocation end);
@@ -240,12 +236,12 @@ QString ProcessAST::asString(AST::UiQualifiedId *node) const
}
Object *
-ProcessAST::defineObjectBinding_helper(AST::UiQualifiedId *propertyName,
- bool onAssignment,
- const QString &objectType,
- AST::SourceLocation typeLocation,
- LocationSpan location,
- AST::UiObjectInitializer *initializer)
+ProcessAST::defineObjectBinding(AST::UiQualifiedId *propertyName,
+ bool onAssignment,
+ const QString &objectType,
+ AST::SourceLocation typeLocation,
+ LocationSpan location,
+ AST::UiObjectInitializer *initializer)
{
int lastTypeDot = objectType.lastIndexOf(QLatin1Char('.'));
bool isType = !objectType.isEmpty() &&
@@ -355,41 +351,6 @@ ProcessAST::defineObjectBinding_helper(AST::UiQualifiedId *propertyName,
}
}
-Object *ProcessAST::defineObjectBinding(AST::UiQualifiedId *qualifiedId, bool onAssignment,
- AST::UiQualifiedId *objectTypeName,
- LocationSpan location,
- AST::UiObjectInitializer *initializer)
-{
- const QString objectType = asString(objectTypeName);
- const AST::SourceLocation typeLocation = objectTypeName->identifierToken;
-
- if (objectType == QLatin1String("Script")) {
-
- AST::UiObjectMemberList *it = initializer->members;
- for (; it; it = it->next) {
- AST::UiScriptBinding *scriptBinding = AST::cast<AST::UiScriptBinding *>(it->member);
- if (! scriptBinding)
- continue;
-
- QString propertyName = asString(scriptBinding->qualifiedId);
- if (propertyName == QLatin1String("source")) {
- if (AST::ExpressionStatement *stmt = AST::cast<AST::ExpressionStatement *>(scriptBinding->statement)) {
- QDeclarativeParser::Variant string = getVariant(stmt->expression);
- if (string.isStringList()) {
- QStringList urls = string.asStringList();
- // We need to add this as a resource
- for (int ii = 0; ii < urls.count(); ++ii)
- _parser->_refUrls << QUrl(urls.at(ii));
- }
- }
- }
- }
-
- }
-
- return defineObjectBinding_helper(qualifiedId, onAssignment, objectType, typeLocation, location, initializer);
-}
-
LocationSpan ProcessAST::location(AST::UiQualifiedId *id)
{
return location(id->identifierToken, id->identifierToken);
@@ -664,10 +625,11 @@ bool ProcessAST::visit(AST::UiObjectDefinition *node)
LocationSpan l = location(node->firstSourceLocation(),
node->lastSourceLocation());
- defineObjectBinding(/*propertyName = */ 0, false,
- node->qualifiedTypeNameId,
- l,
- node->initializer);
+ const QString objectType = asString(node->qualifiedTypeNameId);
+ const AST::SourceLocation typeLocation = node->qualifiedTypeNameId->identifierToken;
+
+ defineObjectBinding(/*propertyName = */ 0, false, objectType,
+ typeLocation, l, node->initializer);
return false;
}
@@ -679,10 +641,11 @@ bool ProcessAST::visit(AST::UiObjectBinding *node)
LocationSpan l = location(node->qualifiedTypeNameId->identifierToken,
node->initializer->rbraceToken);
- defineObjectBinding(node->qualifiedId, node->hasOnToken,
- node->qualifiedTypeNameId,
- l,
- node->initializer);
+ const QString objectType = asString(node->qualifiedTypeNameId);
+ const AST::SourceLocation typeLocation = node->qualifiedTypeNameId->identifierToken;
+
+ defineObjectBinding(node->qualifiedId, node->hasOnToken, objectType,
+ typeLocation, l, node->initializer);
return false;
}
diff --git a/src/declarative/qml/qdeclarativescriptstring.h b/src/declarative/qml/qdeclarativescriptstring.h
index 43bef4460d..fc92a9bc18 100644
--- a/src/declarative/qml/qdeclarativescriptstring.h
+++ b/src/declarative/qml/qdeclarativescriptstring.h
@@ -79,7 +79,7 @@ private:
QT_END_NAMESPACE
-Q_DECLARE_METATYPE(QDeclarativeScriptString);
+Q_DECLARE_METATYPE(QDeclarativeScriptString)
QT_END_HEADER
diff --git a/src/declarative/qml/qdeclarativestringconverters.cpp b/src/declarative/qml/qdeclarativestringconverters.cpp
index bbcc00bf87..8bd2cf1c2c 100644
--- a/src/declarative/qml/qdeclarativestringconverters.cpp
+++ b/src/declarative/qml/qdeclarativestringconverters.cpp
@@ -106,12 +106,14 @@ QVariant QDeclarativeStringConverters::variantFromString(const QString &s, int p
return QVariant(uint(qRound(s.toDouble(ok))));
case QMetaType::QColor:
return QVariant::fromValue(colorFromString(s, ok));
+#ifndef QT_NO_TEXTDATE
case QMetaType::QDate:
return QVariant::fromValue(dateFromString(s, ok));
case QMetaType::QTime:
return QVariant::fromValue(timeFromString(s, ok));
case QMetaType::QDateTime:
return QVariant::fromValue(dateTimeFromString(s, ok));
+#endif // QT_NO_TEXTDATE
case QMetaType::QPointF:
return QVariant::fromValue(pointFFromString(s, ok));
case QMetaType::QPoint:
@@ -150,6 +152,7 @@ QColor QDeclarativeStringConverters::colorFromString(const QString &s, bool *ok)
}
}
+#ifndef QT_NO_TEXTDATE
QDate QDeclarativeStringConverters::dateFromString(const QString &s, bool *ok)
{
QDate d = QDate::fromString(s, Qt::ISODate);
@@ -170,6 +173,7 @@ QDateTime QDeclarativeStringConverters::dateTimeFromString(const QString &s, boo
if (ok) *ok = d.isValid();
return d;
}
+#endif // QT_NO_TEXTDATE
//expects input of "x,y"
QPointF QDeclarativeStringConverters::pointFFromString(const QString &s, bool *ok)
diff --git a/src/declarative/qml/qdeclarativestringconverters_p.h b/src/declarative/qml/qdeclarativestringconverters_p.h
index 7afdfd3113..842d1b3aa6 100644
--- a/src/declarative/qml/qdeclarativestringconverters_p.h
+++ b/src/declarative/qml/qdeclarativestringconverters_p.h
@@ -73,14 +73,16 @@ namespace QDeclarativeStringConverters
QVariant Q_DECLARATIVE_EXPORT variantFromString(const QString &, int preferredType, bool *ok = 0);
QColor Q_DECLARATIVE_EXPORT colorFromString(const QString &, bool *ok = 0);
+#ifndef QT_NO_TEXTDATE
QDate Q_DECLARATIVE_EXPORT dateFromString(const QString &, bool *ok = 0);
QTime Q_DECLARATIVE_EXPORT timeFromString(const QString &, bool *ok = 0);
QDateTime Q_DECLARATIVE_EXPORT dateTimeFromString(const QString &, bool *ok = 0);
+#endif
QPointF Q_DECLARATIVE_EXPORT pointFFromString(const QString &, bool *ok = 0);
QSizeF Q_DECLARATIVE_EXPORT sizeFFromString(const QString &, bool *ok = 0);
QRectF Q_DECLARATIVE_EXPORT rectFFromString(const QString &, bool *ok = 0);
QVector3D Q_DECLARATIVE_EXPORT vector3DFromString(const QString &, bool *ok = 0);
-};
+}
QT_END_NAMESPACE
diff --git a/src/declarative/qml/qdeclarativevaluetype.cpp b/src/declarative/qml/qdeclarativevaluetype.cpp
index c6fe1613c4..c17ec950cc 100644
--- a/src/declarative/qml/qdeclarativevaluetype.cpp
+++ b/src/declarative/qml/qdeclarativevaluetype.cpp
@@ -47,6 +47,8 @@
QT_BEGIN_NAMESPACE
+Q_DECL_IMPORT extern int qt_defaultDpi();
+
template<typename T>
int qmlRegisterValueTypeEnums(const char *qmlName)
{
@@ -116,8 +118,16 @@ QDeclarativeValueType *QDeclarativeValueTypeFactory::valueType(int t)
return new QDeclarativeRectValueType;
case QVariant::RectF:
return new QDeclarativeRectFValueType;
+ case QVariant::Vector2D:
+ return new QDeclarativeVector2DValueType;
case QVariant::Vector3D:
return new QDeclarativeVector3DValueType;
+ case QVariant::Vector4D:
+ return new QDeclarativeVector4DValueType;
+ case QVariant::Quaternion:
+ return new QDeclarativeQuaternionValueType;
+ case QVariant::Matrix4x4:
+ return new QDeclarativeMatrix4x4ValueType;
case QVariant::EasingCurve:
return new QDeclarativeEasingValueType;
case QVariant::Font:
@@ -460,6 +470,54 @@ void QDeclarativeRectValueType::setHeight(int h)
rect.setHeight(h);
}
+QDeclarativeVector2DValueType::QDeclarativeVector2DValueType(QObject *parent)
+: QDeclarativeValueType(parent)
+{
+}
+
+void QDeclarativeVector2DValueType::read(QObject *obj, int idx)
+{
+ void *a[] = { &vector, 0 };
+ QMetaObject::metacall(obj, QMetaObject::ReadProperty, idx, a);
+}
+
+void QDeclarativeVector2DValueType::write(QObject *obj, int idx, QDeclarativePropertyPrivate::WriteFlags flags)
+{
+ int status = -1;
+ void *a[] = { &vector, 0, &status, &flags };
+ QMetaObject::metacall(obj, QMetaObject::WriteProperty, idx, a);
+}
+
+QVariant QDeclarativeVector2DValueType::value()
+{
+ return QVariant(vector);
+}
+
+void QDeclarativeVector2DValueType::setValue(QVariant value)
+{
+ vector = qvariant_cast<QVector2D>(value);
+}
+
+qreal QDeclarativeVector2DValueType::x() const
+{
+ return vector.x();
+}
+
+qreal QDeclarativeVector2DValueType::y() const
+{
+ return vector.y();
+}
+
+void QDeclarativeVector2DValueType::setX(qreal x)
+{
+ vector.setX(x);
+}
+
+void QDeclarativeVector2DValueType::setY(qreal y)
+{
+ vector.setY(y);
+}
+
QDeclarativeVector3DValueType::QDeclarativeVector3DValueType(QObject *parent)
: QDeclarativeValueType(parent)
{
@@ -518,6 +576,170 @@ void QDeclarativeVector3DValueType::setZ(qreal z)
vector.setZ(z);
}
+QDeclarativeVector4DValueType::QDeclarativeVector4DValueType(QObject *parent)
+: QDeclarativeValueType(parent)
+{
+}
+
+void QDeclarativeVector4DValueType::read(QObject *obj, int idx)
+{
+ void *a[] = { &vector, 0 };
+ QMetaObject::metacall(obj, QMetaObject::ReadProperty, idx, a);
+}
+
+void QDeclarativeVector4DValueType::write(QObject *obj, int idx, QDeclarativePropertyPrivate::WriteFlags flags)
+{
+ int status = -1;
+ void *a[] = { &vector, 0, &status, &flags };
+ QMetaObject::metacall(obj, QMetaObject::WriteProperty, idx, a);
+}
+
+QVariant QDeclarativeVector4DValueType::value()
+{
+ return QVariant(vector);
+}
+
+void QDeclarativeVector4DValueType::setValue(QVariant value)
+{
+ vector = qvariant_cast<QVector4D>(value);
+}
+
+qreal QDeclarativeVector4DValueType::x() const
+{
+ return vector.x();
+}
+
+qreal QDeclarativeVector4DValueType::y() const
+{
+ return vector.y();
+}
+
+qreal QDeclarativeVector4DValueType::z() const
+{
+ return vector.z();
+}
+
+qreal QDeclarativeVector4DValueType::w() const
+{
+ return vector.w();
+}
+
+void QDeclarativeVector4DValueType::setX(qreal x)
+{
+ vector.setX(x);
+}
+
+void QDeclarativeVector4DValueType::setY(qreal y)
+{
+ vector.setY(y);
+}
+
+void QDeclarativeVector4DValueType::setZ(qreal z)
+{
+ vector.setZ(z);
+}
+
+void QDeclarativeVector4DValueType::setW(qreal w)
+{
+ vector.setW(w);
+}
+
+QDeclarativeQuaternionValueType::QDeclarativeQuaternionValueType(QObject *parent)
+: QDeclarativeValueType(parent)
+{
+}
+
+void QDeclarativeQuaternionValueType::read(QObject *obj, int idx)
+{
+ void *a[] = { &quaternion, 0 };
+ QMetaObject::metacall(obj, QMetaObject::ReadProperty, idx, a);
+}
+
+void QDeclarativeQuaternionValueType::write(QObject *obj, int idx, QDeclarativePropertyPrivate::WriteFlags flags)
+{
+ int status = -1;
+ void *a[] = { &quaternion, 0, &status, &flags };
+ QMetaObject::metacall(obj, QMetaObject::WriteProperty, idx, a);
+}
+
+QVariant QDeclarativeQuaternionValueType::value()
+{
+ return QVariant(quaternion);
+}
+
+void QDeclarativeQuaternionValueType::setValue(QVariant value)
+{
+ quaternion = qvariant_cast<QQuaternion>(value);
+}
+
+qreal QDeclarativeQuaternionValueType::scalar() const
+{
+ return quaternion.scalar();
+}
+
+qreal QDeclarativeQuaternionValueType::x() const
+{
+ return quaternion.x();
+}
+
+qreal QDeclarativeQuaternionValueType::y() const
+{
+ return quaternion.y();
+}
+
+qreal QDeclarativeQuaternionValueType::z() const
+{
+ return quaternion.z();
+}
+
+void QDeclarativeQuaternionValueType::setScalar(qreal scalar)
+{
+ quaternion.setScalar(scalar);
+}
+
+void QDeclarativeQuaternionValueType::setX(qreal x)
+{
+ quaternion.setX(x);
+}
+
+void QDeclarativeQuaternionValueType::setY(qreal y)
+{
+ quaternion.setY(y);
+}
+
+void QDeclarativeQuaternionValueType::setZ(qreal z)
+{
+ quaternion.setZ(z);
+}
+
+QDeclarativeMatrix4x4ValueType::QDeclarativeMatrix4x4ValueType(QObject *parent)
+: QDeclarativeValueType(parent)
+{
+}
+
+void QDeclarativeMatrix4x4ValueType::read(QObject *obj, int idx)
+{
+ void *a[] = { &matrix, 0 };
+ QMetaObject::metacall(obj, QMetaObject::ReadProperty, idx, a);
+}
+
+void QDeclarativeMatrix4x4ValueType::write(QObject *obj, int idx, QDeclarativePropertyPrivate::WriteFlags flags)
+{
+ int status = -1;
+ void *a[] = { &matrix, 0, &status, &flags };
+ QMetaObject::metacall(obj, QMetaObject::WriteProperty, idx, a);
+}
+
+QVariant QDeclarativeMatrix4x4ValueType::value()
+{
+ return QVariant(matrix);
+}
+
+void QDeclarativeMatrix4x4ValueType::setValue(QVariant value)
+{
+ matrix = qvariant_cast<QMatrix4x4>(value);
+}
+
QDeclarativeEasingValueType::QDeclarativeEasingValueType(QObject *parent)
: QDeclarativeValueType(parent)
{
@@ -689,6 +911,11 @@ void QDeclarativeFontValueType::setStrikeout(bool b)
qreal QDeclarativeFontValueType::pointSize() const
{
+ if (font.pointSizeF() == -1) {
+ if (dpi.isNull)
+ dpi = qt_defaultDpi();
+ return font.pixelSize() * qreal(72.) / qreal(dpi);
+ }
return font.pointSizeF();
}
@@ -709,6 +936,11 @@ void QDeclarativeFontValueType::setPointSize(qreal size)
int QDeclarativeFontValueType::pixelSize() const
{
+ if (font.pixelSize() == -1) {
+ if (dpi.isNull)
+ dpi = qt_defaultDpi();
+ return (font.pointSizeF() * dpi) / qreal(72.);
+ }
return font.pixelSize();
}
diff --git a/src/declarative/qml/qdeclarativevaluetype_p.h b/src/declarative/qml/qdeclarativevaluetype_p.h
index d1833bbda0..4b1bbd621b 100644
--- a/src/declarative/qml/qdeclarativevaluetype_p.h
+++ b/src/declarative/qml/qdeclarativevaluetype_p.h
@@ -55,12 +55,17 @@
#include "qdeclarativeproperty.h"
#include "private/qdeclarativeproperty_p.h"
+#include "private/qdeclarativenullablevalue_p_p.h"
#include <QtCore/qobject.h>
#include <QtCore/qrect.h>
#include <QtCore/qeasingcurve.h>
#include <QtCore/qvariant.h>
+#include <QtGui/qvector2d.h>
#include <QtGui/qvector3d.h>
+#include <QtGui/qvector4d.h>
+#include <QtGui/qmatrix4x4.h>
+#include <QtGui/qquaternion.h>
#include <QtGui/qfont.h>
QT_BEGIN_NAMESPACE
@@ -241,6 +246,28 @@ private:
QRect rect;
};
+class Q_AUTOTEST_EXPORT QDeclarativeVector2DValueType : public QDeclarativeValueType
+{
+ Q_PROPERTY(qreal x READ x WRITE setX)
+ Q_PROPERTY(qreal y READ y WRITE setY)
+ Q_OBJECT
+public:
+ QDeclarativeVector2DValueType(QObject *parent = 0);
+
+ virtual void read(QObject *, int);
+ virtual void write(QObject *, int, QDeclarativePropertyPrivate::WriteFlags);
+ virtual QVariant value();
+ virtual void setValue(QVariant value);
+
+ qreal x() const;
+ qreal y() const;
+ void setX(qreal);
+ void setY(qreal);
+
+private:
+ QVector2D vector;
+};
+
class Q_AUTOTEST_EXPORT QDeclarativeVector3DValueType : public QDeclarativeValueType
{
Q_PROPERTY(qreal x READ x WRITE setX)
@@ -266,6 +293,127 @@ private:
QVector3D vector;
};
+class Q_AUTOTEST_EXPORT QDeclarativeVector4DValueType : public QDeclarativeValueType
+{
+ Q_PROPERTY(qreal x READ x WRITE setX)
+ Q_PROPERTY(qreal y READ y WRITE setY)
+ Q_PROPERTY(qreal z READ z WRITE setZ)
+ Q_PROPERTY(qreal w READ w WRITE setW)
+ Q_OBJECT
+public:
+ QDeclarativeVector4DValueType(QObject *parent = 0);
+
+ virtual void read(QObject *, int);
+ virtual void write(QObject *, int, QDeclarativePropertyPrivate::WriteFlags);
+ virtual QVariant value();
+ virtual void setValue(QVariant value);
+
+ qreal x() const;
+ qreal y() const;
+ qreal z() const;
+ qreal w() const;
+ void setX(qreal);
+ void setY(qreal);
+ void setZ(qreal);
+ void setW(qreal);
+
+private:
+ QVector4D vector;
+};
+
+class Q_AUTOTEST_EXPORT QDeclarativeQuaternionValueType : public QDeclarativeValueType
+{
+ Q_PROPERTY(qreal scalar READ scalar WRITE setScalar)
+ Q_PROPERTY(qreal x READ x WRITE setX)
+ Q_PROPERTY(qreal y READ y WRITE setY)
+ Q_PROPERTY(qreal z READ z WRITE setZ)
+ Q_OBJECT
+public:
+ QDeclarativeQuaternionValueType(QObject *parent = 0);
+
+ virtual void read(QObject *, int);
+ virtual void write(QObject *, int, QDeclarativePropertyPrivate::WriteFlags);
+ virtual QVariant value();
+ virtual void setValue(QVariant value);
+
+ qreal scalar() const;
+ qreal x() const;
+ qreal y() const;
+ qreal z() const;
+ void setScalar(qreal);
+ void setX(qreal);
+ void setY(qreal);
+ void setZ(qreal);
+
+private:
+ QQuaternion quaternion;
+};
+
+class Q_AUTOTEST_EXPORT QDeclarativeMatrix4x4ValueType : public QDeclarativeValueType
+{
+ Q_PROPERTY(qreal m11 READ m11 WRITE setM11)
+ Q_PROPERTY(qreal m12 READ m12 WRITE setM12)
+ Q_PROPERTY(qreal m13 READ m13 WRITE setM13)
+ Q_PROPERTY(qreal m14 READ m14 WRITE setM14)
+ Q_PROPERTY(qreal m21 READ m21 WRITE setM21)
+ Q_PROPERTY(qreal m22 READ m22 WRITE setM22)
+ Q_PROPERTY(qreal m23 READ m23 WRITE setM23)
+ Q_PROPERTY(qreal m24 READ m24 WRITE setM24)
+ Q_PROPERTY(qreal m31 READ m31 WRITE setM31)
+ Q_PROPERTY(qreal m32 READ m32 WRITE setM32)
+ Q_PROPERTY(qreal m33 READ m33 WRITE setM33)
+ Q_PROPERTY(qreal m34 READ m34 WRITE setM34)
+ Q_PROPERTY(qreal m41 READ m41 WRITE setM41)
+ Q_PROPERTY(qreal m42 READ m42 WRITE setM42)
+ Q_PROPERTY(qreal m43 READ m43 WRITE setM43)
+ Q_PROPERTY(qreal m44 READ m44 WRITE setM44)
+ Q_OBJECT
+public:
+ QDeclarativeMatrix4x4ValueType(QObject *parent = 0);
+
+ virtual void read(QObject *, int);
+ virtual void write(QObject *, int, QDeclarativePropertyPrivate::WriteFlags);
+ virtual QVariant value();
+ virtual void setValue(QVariant value);
+
+ qreal m11() const { return matrix(0, 0); }
+ qreal m12() const { return matrix(0, 1); }
+ qreal m13() const { return matrix(0, 2); }
+ qreal m14() const { return matrix(0, 3); }
+ qreal m21() const { return matrix(1, 0); }
+ qreal m22() const { return matrix(1, 1); }
+ qreal m23() const { return matrix(1, 2); }
+ qreal m24() const { return matrix(1, 3); }
+ qreal m31() const { return matrix(2, 0); }
+ qreal m32() const { return matrix(2, 1); }
+ qreal m33() const { return matrix(2, 2); }
+ qreal m34() const { return matrix(2, 3); }
+ qreal m41() const { return matrix(3, 0); }
+ qreal m42() const { return matrix(3, 1); }
+ qreal m43() const { return matrix(3, 2); }
+ qreal m44() const { return matrix(3, 3); }
+
+ void setM11(qreal value) { matrix(0, 0) = value; }
+ void setM12(qreal value) { matrix(0, 1) = value; }
+ void setM13(qreal value) { matrix(0, 2) = value; }
+ void setM14(qreal value) { matrix(0, 3) = value; }
+ void setM21(qreal value) { matrix(1, 0) = value; }
+ void setM22(qreal value) { matrix(1, 1) = value; }
+ void setM23(qreal value) { matrix(1, 2) = value; }
+ void setM24(qreal value) { matrix(1, 3) = value; }
+ void setM31(qreal value) { matrix(2, 0) = value; }
+ void setM32(qreal value) { matrix(2, 1) = value; }
+ void setM33(qreal value) { matrix(2, 2) = value; }
+ void setM34(qreal value) { matrix(2, 3) = value; }
+ void setM41(qreal value) { matrix(3, 0) = value; }
+ void setM42(qreal value) { matrix(3, 1) = value; }
+ void setM43(qreal value) { matrix(3, 2) = value; }
+ void setM44(qreal value) { matrix(3, 3) = value; }
+
+private:
+ QMatrix4x4 matrix;
+};
+
class Q_AUTOTEST_EXPORT QDeclarativeEasingValueType : public QDeclarativeValueType
{
Q_OBJECT
@@ -299,7 +447,7 @@ public:
InBounce = QEasingCurve::InBounce, OutBounce = QEasingCurve::OutBounce,
InOutBounce = QEasingCurve::InOutBounce, OutInBounce = QEasingCurve::OutInBounce,
InCurve = QEasingCurve::InCurve, OutCurve = QEasingCurve::OutCurve,
- SineCurve = QEasingCurve::SineCurve, CosineCurve = QEasingCurve::CosineCurve,
+ SineCurve = QEasingCurve::SineCurve, CosineCurve = QEasingCurve::CosineCurve
};
QDeclarativeEasingValueType(QObject *parent = 0);
@@ -400,6 +548,7 @@ private:
QFont font;
bool pixelSizeSet;
bool pointSizeSet;
+ mutable QDeclarativeNullableValue<int> dpi;
};
QT_END_NAMESPACE
diff --git a/src/declarative/qml/qdeclarativevaluetypescriptclass.cpp b/src/declarative/qml/qdeclarativevaluetypescriptclass.cpp
index cb1f27df2d..f06d6aeb38 100644
--- a/src/declarative/qml/qdeclarativevaluetypescriptclass.cpp
+++ b/src/declarative/qml/qdeclarativevaluetypescriptclass.cpp
@@ -168,6 +168,8 @@ void QDeclarativeValueTypeScriptClass::setProperty(Object *obj, const Identifier
ref->type->read(ref->object, ref->property);
QMetaProperty p = ref->type->metaObject()->property(m_lastIndex);
+ if (p.isEnumType() && (QMetaType::Type)v.type() == QMetaType::QReal)
+ v = v.toInt();
p.write(ref->type, v);
ref->type->write(ref->object, ref->property, 0);
} else {
diff --git a/src/declarative/qml/qdeclarativevme.cpp b/src/declarative/qml/qdeclarativevme.cpp
index 57bf726785..3247f854f2 100644
--- a/src/declarative/qml/qdeclarativevme.cpp
+++ b/src/declarative/qml/qdeclarativevme.cpp
@@ -360,6 +360,16 @@ QObject *QDeclarativeVME::run(QDeclarativeVMEStack<QObject *> &stack,
}
break;
+ case QDeclarativeInstruction::StoreVariantBool:
+ {
+ QObject *target = stack.top();
+ QVariant v(instr.storeBool.value);
+ void *a[] = { &v, 0, &status, &flags };
+ QMetaObject::metacall(target, QMetaObject::WriteProperty,
+ instr.storeString.propertyIndex, a);
+ }
+ break;
+
case QDeclarativeInstruction::StoreString:
{
QObject *target = stack.top();
@@ -617,7 +627,7 @@ QObject *QDeclarativeVME::run(QDeclarativeVMEStack<QObject *> &stack,
QDeclarativeBoundSignal *bs = new QDeclarativeBoundSignal(target, signal, target);
QDeclarativeExpression *expr =
- new QDeclarativeExpression(ctxt, primitives.at(instr.storeSignal.value), context);
+ new QDeclarativeExpression(ctxt, context, primitives.at(instr.storeSignal.value));
expr->setSourceLocation(comp->name, instr.line);
bs->setExpression(expr);
}
@@ -898,6 +908,7 @@ QObject *QDeclarativeVME::run(QDeclarativeVMEStack<QObject *> &stack,
QDeclarativeEnginePrivate::clear(bindValues);
QDeclarativeEnginePrivate::clear(parserStatus);
+ ep->finalizedParserStatus.clear();
return 0;
}
diff --git a/src/declarative/qml/qdeclarativevmemetaobject.cpp b/src/declarative/qml/qdeclarativevmemetaobject.cpp
index 45f04a0fc5..7aea7cba41 100644
--- a/src/declarative/qml/qdeclarativevmemetaobject.cpp
+++ b/src/declarative/qml/qdeclarativevmemetaobject.cpp
@@ -106,8 +106,7 @@ QDeclarativeVMEVariant::~QDeclarativeVMEVariant()
void QDeclarativeVMEVariant::cleanup()
{
if (type == QVariant::Invalid) {
- } else if (type == QMetaType::QObjectStar ||
- type == QMetaType::Int ||
+ } else if (type == QMetaType::Int ||
type == QMetaType::Bool ||
type == QMetaType::Double) {
type = QVariant::Invalid;
@@ -382,7 +381,7 @@ QDeclarativeVMEMetaObject::QDeclarativeVMEMetaObject(QObject *obj,
const QMetaObject *other,
const QDeclarativeVMEMetaData *meta,
QDeclarativeCompiledData *cdata)
-: object(obj), compiledData(cdata), ctxt(QDeclarativeData::get(obj)->outerContext),
+: object(obj), compiledData(cdata), ctxt(QDeclarativeData::get(obj, true)->outerContext),
metaData(meta), data(0), methods(0), parent(0)
{
compiledData->addref();
diff --git a/src/declarative/qml/qdeclarativewatcher.cpp b/src/declarative/qml/qdeclarativewatcher.cpp
index 842b3c41a1..da1419f033 100644
--- a/src/declarative/qml/qdeclarativewatcher.cpp
+++ b/src/declarative/qml/qdeclarativewatcher.cpp
@@ -153,7 +153,7 @@ bool QDeclarativeWatcher::addWatch(int id, quint32 objectId, const QString &expr
QObject *object = QDeclarativeDebugService::objectForId(objectId);
QDeclarativeContext *context = qmlContext(object);
if (context) {
- QDeclarativeExpression *exprObj = new QDeclarativeExpression(context, expr, object);
+ QDeclarativeExpression *exprObj = new QDeclarativeExpression(context, object, expr);
exprObj->setNotifyOnValueChanged(true);
QDeclarativeWatchProxy *proxy = new QDeclarativeWatchProxy(id, exprObj, objectId, this);
exprObj->setParent(proxy);
diff --git a/src/declarative/qml/qdeclarativeworkerscript.cpp b/src/declarative/qml/qdeclarativeworkerscript.cpp
index 138d979722..aec84a64ac 100644
--- a/src/declarative/qml/qdeclarativeworkerscript.cpp
+++ b/src/declarative/qml/qdeclarativeworkerscript.cpp
@@ -189,7 +189,7 @@ QScriptValue QDeclarativeWorkerScriptEnginePrivate::onMessage(QScriptContext *ct
if (!script)
return engine->undefinedValue();
- if (ctxt->argumentCount() >= 1)
+ if (ctxt->argumentCount() >= 1)
script->callback = ctxt->argument(0);
return script->callback;
@@ -277,10 +277,10 @@ void QDeclarativeWorkerScriptEnginePrivate::processMessage(int id, const QVarian
void QDeclarativeWorkerScriptEnginePrivate::processLoad(int id, const QUrl &url)
{
- if (url.isRelative() || url.scheme() != QLatin1String("file"))
+ if (url.isRelative())
return;
- QString fileName = url.toLocalFile();
+ QString fileName = QDeclarativeEnginePrivate::urlToLocalFileOrQrc(url);
QFile f(fileName);
if (f.open(QIODevice::ReadOnly)) {
@@ -289,8 +289,13 @@ void QDeclarativeWorkerScriptEnginePrivate::processLoad(int id, const QUrl &url)
QScriptValue activation = getWorker(id);
- QScriptContext *ctxt = workerEngine->pushContext();
+ QScriptContext *ctxt = QScriptDeclarativeClass::pushCleanContext(workerEngine);
+ QScriptValue urlContext = workerEngine->newObject();
+ urlContext.setData(QScriptValue(workerEngine, fileName));
+ ctxt->pushScope(urlContext);
+ ctxt->pushScope(activation);
ctxt->setActivationObject(activation);
+ QDeclarativeScriptParser::extractPragmas(script);
workerEngine->baseUrl = url;
workerEngine->evaluate(script);
@@ -516,14 +521,14 @@ void QDeclarativeWorkerScriptEngine::run()
that the main GUI thread is not blocked.
Messages can be passed between the new thread and the parent thread
- using sendMessage() and the onMessage() handler.
+ using \l sendMessage() and the \l {WorkerScript::onMessage}{onMessage()} handler.
- Here is an example:
+ An example:
\snippet doc/src/snippets/declarative/workerscript.qml 0
The above worker script specifies a javascript file, "script.js", that handles
- the operations to be performed in the new thread:
+ the operations to be performed in the new thread. Here is \c script.js:
\qml
WorkerScript.onMessage = function(message) {
@@ -534,11 +539,14 @@ void QDeclarativeWorkerScriptEngine::run()
When the user clicks anywhere within the rectangle, \c sendMessage() is
called, triggering the \tt WorkerScript.onMessage() handler in
- \tt source.js. This in turn sends a reply message that is then received
+ \tt script.js. This in turn sends a reply message that is then received
by the \tt onMessage() handler of \tt myWorker.
+
+ \sa {declarative/threading/workerscript}{WorkerScript example},
+ {declarative/threading/threadedlistmodel}{Threaded ListModel example}
*/
QDeclarativeWorkerScript::QDeclarativeWorkerScript(QObject *parent)
-: QObject(parent), m_engine(0), m_scriptId(-1)
+: QObject(parent), m_engine(0), m_scriptId(-1), m_componentComplete(true)
{
}
@@ -550,7 +558,7 @@ QDeclarativeWorkerScript::~QDeclarativeWorkerScript()
/*!
\qmlproperty url WorkerScript::source
- This holds the url of the javascript file that implements the
+ This holds the url of the JavaScript file that implements the
\tt WorkerScript.onMessage() handler for threaded operations.
*/
QUrl QDeclarativeWorkerScript::source() const
@@ -565,13 +573,13 @@ void QDeclarativeWorkerScript::setSource(const QUrl &source)
m_source = source;
- if (m_engine)
+ if (engine())
m_engine->executeUrl(m_scriptId, m_source);
emit sourceChanged();
}
-/*
+/*!
\qmlmethod WorkerScript::sendMessage(jsobject message)
Sends the given \a message to a worker script handler in another
@@ -580,7 +588,7 @@ void QDeclarativeWorkerScript::setSource(const QUrl &source)
*/
void QDeclarativeWorkerScript::sendMessage(const QScriptValue &message)
{
- if (!m_engine) {
+ if (!engine()) {
qWarning("QDeclarativeWorkerScript: Attempt to send message before WorkerScript establishment");
return;
}
@@ -588,13 +596,19 @@ void QDeclarativeWorkerScript::sendMessage(const QScriptValue &message)
m_engine->sendMessage(m_scriptId, QDeclarativeWorkerScriptEnginePrivate::scriptValueToVariant(message));
}
-void QDeclarativeWorkerScript::componentComplete()
+void QDeclarativeWorkerScript::classBegin()
+{
+ m_componentComplete = false;
+}
+
+QDeclarativeWorkerScriptEngine *QDeclarativeWorkerScript::engine()
{
- if (!m_engine) {
+ if (m_engine) return m_engine;
+ if (m_componentComplete) {
QDeclarativeEngine *engine = qmlEngine(this);
if (!engine) {
- qWarning("QDeclarativeWorkerScript: componentComplete() called without qmlEngine() set");
- return;
+ qWarning("QDeclarativeWorkerScript: engine() called without qmlEngine() set");
+ return 0;
}
m_engine = QDeclarativeEnginePrivate::get(engine)->getWorkerScriptEngine();
@@ -602,7 +616,16 @@ void QDeclarativeWorkerScript::componentComplete()
if (m_source.isValid())
m_engine->executeUrl(m_scriptId, m_source);
+
+ return m_engine;
}
+ return 0;
+}
+
+void QDeclarativeWorkerScript::componentComplete()
+{
+ m_componentComplete = true;
+ engine(); // Get it started now.
}
/*!
diff --git a/src/declarative/qml/qdeclarativeworkerscript_p.h b/src/declarative/qml/qdeclarativeworkerscript_p.h
index 6cce799f02..dc738119f1 100644
--- a/src/declarative/qml/qdeclarativeworkerscript_p.h
+++ b/src/declarative/qml/qdeclarativeworkerscript_p.h
@@ -108,18 +108,21 @@ signals:
void message(const QScriptValue &messageObject);
protected:
+ virtual void classBegin();
virtual void componentComplete();
virtual bool event(QEvent *);
private:
+ QDeclarativeWorkerScriptEngine *engine();
QDeclarativeWorkerScriptEngine *m_engine;
int m_scriptId;
QUrl m_source;
+ bool m_componentComplete;
};
QT_END_NAMESPACE
-QML_DECLARE_TYPE(QDeclarativeWorkerScript);
+QML_DECLARE_TYPE(QDeclarativeWorkerScript)
QT_END_HEADER
diff --git a/src/declarative/qml/qdeclarativexmlhttprequest.cpp b/src/declarative/qml/qdeclarativexmlhttprequest.cpp
index b7e18322eb..acd1f511eb 100644
--- a/src/declarative/qml/qdeclarativexmlhttprequest.cpp
+++ b/src/declarative/qml/qdeclarativexmlhttprequest.cpp
@@ -46,6 +46,7 @@
#include "private/qdeclarativerefcount_p.h"
#include "private/qdeclarativeengine_p.h"
#include "private/qdeclarativeexpression_p.h"
+#include "qdeclarativeglobal_p.h"
#include <QtCore/qobject.h>
#include <QtScript/qscriptvalue.h>
@@ -94,6 +95,8 @@
QT_BEGIN_NAMESPACE
+DEFINE_BOOL_CONFIG_OPTION(xhrDump, QML_XHR_DUMP);
+
class DocumentImpl;
class NodeImpl
{
@@ -318,9 +321,9 @@ public:
QT_END_NAMESPACE
-Q_DECLARE_METATYPE(Node);
-Q_DECLARE_METATYPE(NodeList);
-Q_DECLARE_METATYPE(NamedNodeMap);
+Q_DECLARE_METATYPE(Node)
+Q_DECLARE_METATYPE(NodeList)
+Q_DECLARE_METATYPE(NamedNodeMap)
QT_BEGIN_NAMESPACE
@@ -992,7 +995,7 @@ private:
int m_status;
QString m_statusText;
QNetworkRequest m_request;
- QNetworkReply *m_network;
+ QDeclarativeGuard<QNetworkReply> m_network;
void destroyNetwork();
QNetworkAccessManager *m_nam;
@@ -1131,6 +1134,14 @@ void QDeclarativeXMLHttpRequest::requestFromUrl(const QUrl &url)
}
}
+ if (xhrDump()) {
+ qWarning().nospace() << "XMLHttpRequest: " << qPrintable(m_method) << " " << qPrintable(url.toString());
+ if (!m_data.isEmpty()) {
+ qWarning().nospace() << " "
+ << qPrintable(QString::fromUtf8(m_data));
+ }
+ }
+
if (m_method == QLatin1String("GET"))
m_network = networkAccessManager()->get(request);
else if (m_method == QLatin1String("HEAD"))
@@ -1264,6 +1275,16 @@ void QDeclarativeXMLHttpRequest::finished()
if (cbv.isError()) printError(cbv);
}
m_responseEntityBody.append(m_network->readAll());
+
+ if (xhrDump()) {
+ qWarning().nospace() << "XMLHttpRequest: RESPONSE " << qPrintable(m_url.toString());
+ if (!m_responseEntityBody.isEmpty()) {
+ qWarning().nospace() << " "
+ << qPrintable(QString::fromUtf8(m_responseEntityBody));
+ }
+ }
+
+
m_data.clear();
destroyNetwork();
if (m_state < Loading) {
diff --git a/src/declarative/qml/qml.pri b/src/declarative/qml/qml.pri
index 3848593416..12f97943f8 100644
--- a/src/declarative/qml/qml.pri
+++ b/src/declarative/qml/qml.pri
@@ -9,6 +9,7 @@ SOURCES += \
$$PWD/qdeclarativeproperty.cpp \
$$PWD/qdeclarativecomponent.cpp \
$$PWD/qdeclarativecontext.cpp \
+ $$PWD/qdeclarativeinclude.cpp \
$$PWD/qdeclarativecustomparser.cpp \
$$PWD/qdeclarativepropertyvaluesource.cpp \
$$PWD/qdeclarativepropertyvalueinterceptor.cpp \
@@ -54,6 +55,7 @@ SOURCES += \
$$PWD/qdeclarativenetworkaccessmanagerfactory.cpp \
$$PWD/qdeclarativedirparser.cpp \
$$PWD/qdeclarativeextensionplugin.cpp \
+ $$PWD/qdeclarativeimport.cpp \
$$PWD/qdeclarativelist.cpp
HEADERS += \
@@ -91,6 +93,7 @@ HEADERS += \
$$PWD/qdeclarativeinfo.h \
$$PWD/qdeclarativeproperty_p.h \
$$PWD/qdeclarativecontext_p.h \
+ $$PWD/qdeclarativeinclude_p.h \
$$PWD/qdeclarativecompositetypedata_p.h \
$$PWD/qdeclarativecompositetypemanager_p.h \
$$PWD/qdeclarativelist.h \
@@ -128,6 +131,7 @@ HEADERS += \
$$PWD/qdeclarativenetworkaccessmanagerfactory.h \
$$PWD/qdeclarativedirparser_p.h \
$$PWD/qdeclarativeextensioninterface.h \
+ $$PWD/qdeclarativeimport_p.h \
$$PWD/qdeclarativeextensionplugin.h
QT += sql
diff --git a/src/declarative/util/qdeclarativeanimation.cpp b/src/declarative/util/qdeclarativeanimation.cpp
index 4059522560..25cf13349a 100644
--- a/src/declarative/util/qdeclarativeanimation.cpp
+++ b/src/declarative/util/qdeclarativeanimation.cpp
@@ -55,6 +55,7 @@
#include <qdeclarativemetatype_p.h>
#include <qdeclarativevaluetype_p.h>
#include <qdeclarativeproperty_p.h>
+#include <qdeclarativeengine_p.h>
#include <qvariant.h>
#include <qcolor.h>
@@ -178,6 +179,10 @@ void QDeclarativeAbstractAnimation::setRunning(bool r)
d->running = r;
if (r == false)
d->avoidPropertyValueSourceStart = true;
+ else {
+ QDeclarativeEnginePrivate *engPriv = QDeclarativeEnginePrivate::get(qmlEngine(this));
+ engPriv->registerFinalizedParserStatusObject(this, this->metaObject()->indexOfSlot("componentFinalized()"));
+ }
return;
}
@@ -268,6 +273,11 @@ void QDeclarativeAbstractAnimation::componentComplete()
{
Q_D(QDeclarativeAbstractAnimation);
d->componentComplete = true;
+}
+
+void QDeclarativeAbstractAnimation::componentFinalized()
+{
+ Q_D(QDeclarativeAbstractAnimation);
if (d->running) {
d->running = false;
setRunning(true);
@@ -547,6 +557,8 @@ void QDeclarativeAbstractAnimation::timelineComplete()
NumberAnimation { ... duration: 200 }
}
\endcode
+
+ \sa {QML Animation}, {declarative/animation/basics}{Animation basics example}
*/
/*!
\internal
@@ -617,6 +629,8 @@ QAbstractAnimation *QDeclarativePauseAnimation::qtAnimation()
When used in a transition, ColorAnimation will by default animate
all properties of type color that are changing. If a property or properties
are explicitly set for the animation, then those will be used instead.
+
+ \sa {QML Animation}, {declarative/animation/basics}{Animation basics example}
*/
/*!
\internal
@@ -745,7 +759,7 @@ void QDeclarativeScriptAction::setScript(const QDeclarativeScriptString &script)
}
/*!
- \qmlproperty QString ScriptAction::scriptName
+ \qmlproperty string ScriptAction::scriptName
This property holds the the name of the StateChangeScript to run.
This property is only valid when ScriptAction is used as part of a transition.
@@ -776,12 +790,12 @@ void QDeclarativeScriptActionPrivate::execute()
const QString &str = scriptStr.script();
if (!str.isEmpty()) {
- QDeclarativeExpression expr(scriptStr.context(), str, scriptStr.scopeObject());
+ QDeclarativeExpression expr(scriptStr.context(), scriptStr.scopeObject(), str);
QDeclarativeData *ddata = QDeclarativeData::get(q);
if (ddata && ddata->outerContext && !ddata->outerContext->url.isEmpty())
expr.setSourceLocation(ddata->outerContext->url.toString(), ddata->lineNumber);
expr.evaluate();
- if (expr.hasError())
+ if (expr.hasError())
qmlInfo(q) << expr.error();
}
}
@@ -834,7 +848,7 @@ QAbstractAnimation *QDeclarativeScriptAction::qtAnimation()
The PropertyAction is immediate -
the target property is not animated to the selected value in any way.
-
+
\sa QtDeclarative
*/
/*!
@@ -864,7 +878,7 @@ void QDeclarativePropertyActionPrivate::init()
This property holds an explicit target object to animate.
The exact effect of the \c target property depends on how the animation
- is being used. Refer to the \l animation documentation for details.
+ is being used. Refer to the \l {QML Animation} documentation for details.
*/
QObject *QDeclarativePropertyAction::target() const
@@ -1072,11 +1086,13 @@ void QDeclarativePropertyAction::transition(QDeclarativeStateActions &actions,
\inherits PropertyAnimation
\brief The NumberAnimation element allows you to animate changes in properties of type qreal.
- Animate a set of properties over 200ms, from their values in the start state to
+ For example, to animate a set of properties over 200ms, from their values in the start state to
their values in the end state of the transition:
\code
NumberAnimation { properties: "x,y,scale"; duration: 200 }
\endcode
+
+ \sa {QML Animation}, {declarative/animation/basics}{Animation basics example}
*/
/*!
@@ -1146,6 +1162,8 @@ void QDeclarativeNumberAnimation::setTo(qreal t)
\since 4.7
\inherits PropertyAnimation
\brief The Vector3dAnimation element allows you to animate changes in properties of type QVector3d.
+
+ \sa {QML Animation}, {declarative/animation/basics}{Animation basics example}
*/
/*!
@@ -1214,7 +1232,8 @@ void QDeclarativeVector3dAnimation::setTo(QVector3D t)
When used in a transition RotationAnimation will rotate all
properties named "rotation" or "angle". You can override this by providing
- your own properties via \c properties or \c property.
+ your own properties via \l {PropertyAnimation::properties}{properties} or
+ \l {PropertyAnimation::property}{property}.
In the following example we use RotationAnimation to animate the rotation
between states via the shortest path.
@@ -1228,6 +1247,8 @@ void QDeclarativeVector3dAnimation::setTo(QVector3D t)
RotationAnimation { direction: RotationAnimation.Shortest }
}
\endqml
+
+ \sa {QML Animation}, {declarative/animation/basics}{Animation basics example}
*/
/*!
@@ -1320,27 +1341,27 @@ void QDeclarativeRotationAnimation::setTo(qreal t)
/*!
\qmlproperty enumeration RotationAnimation::direction
The direction in which to rotate.
- Possible values are Numerical, Clockwise, Counterclockwise,
- or Shortest.
+
+ Possible values are:
\table
\row
- \o Numerical
+ \o RotationAnimation.Numerical
\o Rotate by linearly interpolating between the two numbers.
A rotation from 10 to 350 will rotate 340 degrees clockwise.
\row
- \o Clockwise
+ \o RotationAnimation.Clockwise
\o Rotate clockwise between the two values
\row
- \o Counterclockwise
+ \o RotationAnimation.Counterclockwise
\o Rotate counterclockwise between the two values
\row
- \o Shortest
+ \o RotationAnimation.Shortest
\o Rotate in the direction that produces the shortest animation path.
A rotation from 10 to 350 will rotate 20 degrees counterclockwise.
\endtable
- The default direction is Numerical.
+ The default direction is RotationAnimation.Numerical.
*/
QDeclarativeRotationAnimation::RotationDirection QDeclarativeRotationAnimation::direction() const
{
@@ -1436,7 +1457,7 @@ QDeclarativeListProperty<QDeclarativeAbstractAnimation> QDeclarativeAnimationGro
}
\endcode
- \sa ParallelAnimation
+ \sa ParallelAnimation, {QML Animation}, {declarative/animation/basics}{Animation basics example}
*/
QDeclarativeSequentialAnimation::QDeclarativeSequentialAnimation(QObject *parent) :
@@ -1498,7 +1519,7 @@ void QDeclarativeSequentialAnimation::transition(QDeclarativeStateActions &actio
}
\endcode
- \sa SequentialAnimation
+ \sa SequentialAnimation, {QML Animation}, {declarative/animation/basics}{Animation basics example}
*/
/*!
\internal
@@ -1605,7 +1626,7 @@ void QDeclarativePropertyAnimationPrivate::convertVariant(QVariant &variant, int
Animate any objects that have changed their x or y properties in the target state using
an InOutQuad easing curve:
\qml
- Transition { PropertyAnimation { properties: "x,y"; easing.type: "InOutQuad" } }
+ Transition { PropertyAnimation { properties: "x,y"; easing.type: Easing.InOutQuad } }
\endqml
\o In a Behavior
@@ -1647,6 +1668,8 @@ void QDeclarativePropertyAnimationPrivate::convertVariant(QVariant &variant, int
Depending on how the animation is used, the set of properties normally used will be
different. For more information see the individual property documentation, as well
as the \l{QML Animation} introduction.
+
+ \sa {QML Animation}, {declarative/animation/basics}{Animation basics example}
*/
QDeclarativePropertyAnimation::QDeclarativePropertyAnimation(QObject *parent)
@@ -1751,192 +1774,195 @@ void QDeclarativePropertyAnimation::setTo(const QVariant &t)
To specify an easing curve you need to specify at least the type. For some curves you can also specify
amplitude, period and/or overshoot (more details provided after the table). The default easing curve is
- Linear.
+ \c Easing.Linear.
\qml
- PropertyAnimation { properties: "y"; easing.type: "InOutElastic"; easing.amplitude: 2.0; easing.period: 1.5 }
+ PropertyAnimation { properties: "y"; easing.type: Easing.InOutElastic; easing.amplitude: 2.0; easing.period: 1.5 }
\endqml
Available types are:
\table
\row
- \o \c Linear
+ \o \c Easing.Linear
\o Easing curve for a linear (t) function: velocity is constant.
\o \inlineimage qeasingcurve-linear.png
\row
- \o \c InQuad
+ \o \c Easing.InQuad
\o Easing curve for a quadratic (t^2) function: accelerating from zero velocity.
\o \inlineimage qeasingcurve-inquad.png
\row
- \o \c OutQuad
+ \o \c Easing.OutQuad
\o Easing curve for a quadratic (t^2) function: decelerating to zero velocity.
\o \inlineimage qeasingcurve-outquad.png
\row
- \o \c InOutQuad
+ \o \c Easing.InOutQuad
\o Easing curve for a quadratic (t^2) function: acceleration until halfway, then deceleration.
\o \inlineimage qeasingcurve-inoutquad.png
\row
- \o \c OutInQuad
+ \o \c Easing.OutInQuad
\o Easing curve for a quadratic (t^2) function: deceleration until halfway, then acceleration.
\o \inlineimage qeasingcurve-outinquad.png
\row
- \o \c InCubic
+ \o \c Easing.InCubic
\o Easing curve for a cubic (t^3) function: accelerating from zero velocity.
\o \inlineimage qeasingcurve-incubic.png
\row
- \o \c OutCubic
+ \o \c Easing.OutCubic
\o Easing curve for a cubic (t^3) function: decelerating from zero velocity.
\o \inlineimage qeasingcurve-outcubic.png
\row
- \o \c InOutCubic
+ \o \c Easing.InOutCubic
\o Easing curve for a cubic (t^3) function: acceleration until halfway, then deceleration.
\o \inlineimage qeasingcurve-inoutcubic.png
\row
- \o \c OutInCubic
+ \o \c Easing.OutInCubic
\o Easing curve for a cubic (t^3) function: deceleration until halfway, then acceleration.
\o \inlineimage qeasingcurve-outincubic.png
\row
- \o \c InQuart
+ \o \c Easing.InQuart
\o Easing curve for a quartic (t^4) function: accelerating from zero velocity.
\o \inlineimage qeasingcurve-inquart.png
\row
- \o \c OutQuart
+ \o \c Easing.OutQuart
\o Easing curve for a cubic (t^4) function: decelerating from zero velocity.
\o \inlineimage qeasingcurve-outquart.png
\row
- \o \c InOutQuart
+ \o \c Easing.InOutQuart
\o Easing curve for a cubic (t^4) function: acceleration until halfway, then deceleration.
\o \inlineimage qeasingcurve-inoutquart.png
\row
- \o \c OutInQuart
+ \o \c Easing.OutInQuart
\o Easing curve for a cubic (t^4) function: deceleration until halfway, then acceleration.
\o \inlineimage qeasingcurve-outinquart.png
\row
- \o \c InQuint
+ \o \c Easing.InQuint
\o Easing curve for a quintic (t^5) function: accelerating from zero velocity.
\o \inlineimage qeasingcurve-inquint.png
\row
- \o \c OutQuint
+ \o \c Easing.OutQuint
\o Easing curve for a cubic (t^5) function: decelerating from zero velocity.
\o \inlineimage qeasingcurve-outquint.png
\row
- \o \c InOutQuint
+ \o \c Easing.InOutQuint
\o Easing curve for a cubic (t^5) function: acceleration until halfway, then deceleration.
\o \inlineimage qeasingcurve-inoutquint.png
\row
- \o \c OutInQuint
+ \o \c Easing.OutInQuint
\o Easing curve for a cubic (t^5) function: deceleration until halfway, then acceleration.
\o \inlineimage qeasingcurve-outinquint.png
\row
- \o \c InSine
+ \o \c Easing.InSine
\o Easing curve for a sinusoidal (sin(t)) function: accelerating from zero velocity.
\o \inlineimage qeasingcurve-insine.png
\row
- \o \c OutSine
+ \o \c Easing.OutSine
\o Easing curve for a sinusoidal (sin(t)) function: decelerating from zero velocity.
\o \inlineimage qeasingcurve-outsine.png
\row
- \o \c InOutSine
+ \o \c Easing.InOutSine
\o Easing curve for a sinusoidal (sin(t)) function: acceleration until halfway, then deceleration.
\o \inlineimage qeasingcurve-inoutsine.png
\row
- \o \c OutInSine
+ \o \c Easing.OutInSine
\o Easing curve for a sinusoidal (sin(t)) function: deceleration until halfway, then acceleration.
\o \inlineimage qeasingcurve-outinsine.png
\row
- \o \c InExpo
+ \o \c Easing.InExpo
\o Easing curve for an exponential (2^t) function: accelerating from zero velocity.
\o \inlineimage qeasingcurve-inexpo.png
\row
- \o \c OutExpo
+ \o \c Easing.OutExpo
\o Easing curve for an exponential (2^t) function: decelerating from zero velocity.
\o \inlineimage qeasingcurve-outexpo.png
\row
- \o \c InOutExpo
+ \o \c Easing.InOutExpo
\o Easing curve for an exponential (2^t) function: acceleration until halfway, then deceleration.
\o \inlineimage qeasingcurve-inoutexpo.png
\row
- \o \c OutInExpo
+ \o \c Easing.OutInExpo
\o Easing curve for an exponential (2^t) function: deceleration until halfway, then acceleration.
\o \inlineimage qeasingcurve-outinexpo.png
\row
- \o \c InCirc
+ \o \c Easing.InCirc
\o Easing curve for a circular (sqrt(1-t^2)) function: accelerating from zero velocity.
\o \inlineimage qeasingcurve-incirc.png
\row
- \o \c OutCirc
+ \o \c Easing.OutCirc
\o Easing curve for a circular (sqrt(1-t^2)) function: decelerating from zero velocity.
\o \inlineimage qeasingcurve-outcirc.png
\row
- \o \c InOutCirc
+ \o \c Easing.InOutCirc
\o Easing curve for a circular (sqrt(1-t^2)) function: acceleration until halfway, then deceleration.
\o \inlineimage qeasingcurve-inoutcirc.png
\row
- \o \c OutInCirc
+ \o \c Easing.OutInCirc
\o Easing curve for a circular (sqrt(1-t^2)) function: deceleration until halfway, then acceleration.
\o \inlineimage qeasingcurve-outincirc.png
\row
- \o \c InElastic
+ \o \c Easing.InElastic
\o Easing curve for an elastic (exponentially decaying sine wave) function: accelerating from zero velocity.
\br The peak amplitude can be set with the \e amplitude parameter, and the period of decay by the \e period parameter.
\o \inlineimage qeasingcurve-inelastic.png
\row
- \o \c OutElastic
+ \o \c Easing.OutElastic
\o Easing curve for an elastic (exponentially decaying sine wave) function: decelerating from zero velocity.
\br The peak amplitude can be set with the \e amplitude parameter, and the period of decay by the \e period parameter.
\o \inlineimage qeasingcurve-outelastic.png
\row
- \o \c InOutElastic
+ \o \c Easing.InOutElastic
\o Easing curve for an elastic (exponentially decaying sine wave) function: acceleration until halfway, then deceleration.
\o \inlineimage qeasingcurve-inoutelastic.png
\row
- \o \c OutInElastic
+ \o \c Easing.OutInElastic
\o Easing curve for an elastic (exponentially decaying sine wave) function: deceleration until halfway, then acceleration.
\o \inlineimage qeasingcurve-outinelastic.png
\row
- \o \c InBack
+ \o \c Easing.InBack
\o Easing curve for a back (overshooting cubic function: (s+1)*t^3 - s*t^2) easing in: accelerating from zero velocity.
\o \inlineimage qeasingcurve-inback.png
\row
- \o \c OutBack
+ \o \c Easing.OutBack
\o Easing curve for a back (overshooting cubic function: (s+1)*t^3 - s*t^2) easing out: decelerating to zero velocity.
\o \inlineimage qeasingcurve-outback.png
\row
- \o \c InOutBack
+ \o \c Easing.InOutBack
\o Easing curve for a back (overshooting cubic function: (s+1)*t^3 - s*t^2) easing in/out: acceleration until halfway, then deceleration.
\o \inlineimage qeasingcurve-inoutback.png
\row
- \o \c OutInBack
+ \o \c Easing.OutInBack
\o Easing curve for a back (overshooting cubic easing: (s+1)*t^3 - s*t^2) easing out/in: deceleration until halfway, then acceleration.
\o \inlineimage qeasingcurve-outinback.png
\row
- \o \c InBounce
+ \o \c Easing.InBounce
\o Easing curve for a bounce (exponentially decaying parabolic bounce) function: accelerating from zero velocity.
\o \inlineimage qeasingcurve-inbounce.png
\row
- \o \c OutBounce
+ \o \c Easing.OutBounce
\o Easing curve for a bounce (exponentially decaying parabolic bounce) function: decelerating from zero velocity.
\o \inlineimage qeasingcurve-outbounce.png
\row
- \o \c InOutBounce
+ \o \c Easing.InOutBounce
\o Easing curve for a bounce (exponentially decaying parabolic bounce) function easing in/out: acceleration until halfway, then deceleration.
\o \inlineimage qeasingcurve-inoutbounce.png
\row
- \o \c OutInBounce
+ \o \c Easing.OutInBounce
\o Easing curve for a bounce (exponentially decaying parabolic bounce) function easing out/in: deceleration until halfway, then acceleration.
\o \inlineimage qeasingcurve-outinbounce.png
\endtable
- easing.amplitude is not applicable for all curve types. It is only applicable for bounce and elastic curves (curves of type
- QEasingCurve::InBounce, QEasingCurve::OutBounce, QEasingCurve::InOutBounce, QEasingCurve::OutInBounce, QEasingCurve::InElastic,
- QEasingCurve::OutElastic, QEasingCurve::InOutElastic or QEasingCurve::OutInElastic).
+ \c easing.amplitude is only applicable for bounce and elastic curves (curves of type
+ \c Easing.InBounce, \c Easing.OutBounce, \c Easing.InOutBounce, \c Easing.OutInBounce, \c Easing.InElastic,
+ \c Easing.OutElastic, \c Easing.InOutElastic or \c Easing.OutInElastic).
- easing.overshoot is not applicable for all curve types. It is only applicable if type is: QEasingCurve::InBack, QEasingCurve::OutBack,
- QEasingCurve::InOutBack or QEasingCurve::OutInBack.
+ \c easing.overshoot is only applicable if \c easing.type is: \c Easing.InBack, \c Easing.OutBack,
+ \c Easing.InOutBack or \c Easing.OutInBack.
- easing.period is not applicable for all curve types. It is only applicable if type is: QEasingCurve::InElastic, QEasingCurve::OutElastic,
- QEasingCurve::InOutElastic or QEasingCurve::OutInElastic.
+ \c easing.period is only applicable if easing.type is: \c Easing.InElastic, \c Easing.OutElastic,
+ \c Easing.InOutElastic or \c Easing.OutInElastic.
+
+ See the \l {declarative/animation/easing}{easing} example for a demonstration of
+ the different easing settings.
*/
QEasingCurve QDeclarativePropertyAnimation::easing() const
{
@@ -2019,8 +2045,9 @@ void QDeclarativePropertyAnimation::setProperties(const QString &prop)
The singular forms are slightly optimized, so if you do have only a single target/property
to animate you should try to use them.
- In many cases these properties do not need to be explicitly specified -- they can be
- inferred from the animation framework.
+ In many cases these properties do not need to be explicitly specified, as they can be
+ inferred from the animation framework:
+
\table 80%
\row
\o Value Source / Behavior
@@ -2106,52 +2133,39 @@ QAbstractAnimation *QDeclarativePropertyAnimation::qtAnimation()
return d->va;
}
-struct PropertyUpdater : public QDeclarativeBulkValueUpdater
+void QDeclarativeAnimationPropertyUpdater::setValue(qreal v)
{
- QDeclarativeStateActions actions;
- int interpolatorType; //for Number/ColorAnimation
- int prevInterpolatorType; //for generic
- QVariantAnimation::Interpolator interpolator;
- bool reverse;
- bool fromSourced;
- bool fromDefined;
- bool *wasDeleted;
- PropertyUpdater() : prevInterpolatorType(0), wasDeleted(0) {}
- ~PropertyUpdater() { if (wasDeleted) *wasDeleted = true; }
- void setValue(qreal v)
- {
- bool deleted = false;
- wasDeleted = &deleted;
- if (reverse) //QVariantAnimation sends us 1->0 when reversed, but we are expecting 0->1
- v = 1 - v;
- for (int ii = 0; ii < actions.count(); ++ii) {
- QDeclarativeAction &action = actions[ii];
-
- if (v == 1.)
- QDeclarativePropertyPrivate::write(action.property, action.toValue, QDeclarativePropertyPrivate::BypassInterceptor | QDeclarativePropertyPrivate::DontRemoveBinding);
- else {
- if (!fromSourced && !fromDefined) {
- action.fromValue = action.property.read();
- if (interpolatorType)
- QDeclarativePropertyAnimationPrivate::convertVariant(action.fromValue, interpolatorType);
- }
- if (!interpolatorType) {
- int propType = action.property.propertyType();
- if (!prevInterpolatorType || prevInterpolatorType != propType) {
- prevInterpolatorType = propType;
- interpolator = QVariantAnimationPrivate::getInterpolator(prevInterpolatorType);
- }
+ bool deleted = false;
+ wasDeleted = &deleted;
+ if (reverse) //QVariantAnimation sends us 1->0 when reversed, but we are expecting 0->1
+ v = 1 - v;
+ for (int ii = 0; ii < actions.count(); ++ii) {
+ QDeclarativeAction &action = actions[ii];
+
+ if (v == 1.)
+ QDeclarativePropertyPrivate::write(action.property, action.toValue, QDeclarativePropertyPrivate::BypassInterceptor | QDeclarativePropertyPrivate::DontRemoveBinding);
+ else {
+ if (!fromSourced && !fromDefined) {
+ action.fromValue = action.property.read();
+ if (interpolatorType)
+ QDeclarativePropertyAnimationPrivate::convertVariant(action.fromValue, interpolatorType);
+ }
+ if (!interpolatorType) {
+ int propType = action.property.propertyType();
+ if (!prevInterpolatorType || prevInterpolatorType != propType) {
+ prevInterpolatorType = propType;
+ interpolator = QVariantAnimationPrivate::getInterpolator(prevInterpolatorType);
}
- if (interpolator)
- QDeclarativePropertyPrivate::write(action.property, interpolator(action.fromValue.constData(), action.toValue.constData(), v), QDeclarativePropertyPrivate::BypassInterceptor | QDeclarativePropertyPrivate::DontRemoveBinding);
}
- if (deleted)
- return;
+ if (interpolator)
+ QDeclarativePropertyPrivate::write(action.property, interpolator(action.fromValue.constData(), action.toValue.constData(), v), QDeclarativePropertyPrivate::BypassInterceptor | QDeclarativePropertyPrivate::DontRemoveBinding);
}
- wasDeleted = 0;
- fromSourced = true;
+ if (deleted)
+ return;
}
-};
+ wasDeleted = 0;
+ fromSourced = true;
+}
void QDeclarativePropertyAnimation::transition(QDeclarativeStateActions &actions,
QDeclarativeProperties &modified,
@@ -2181,7 +2195,7 @@ void QDeclarativePropertyAnimation::transition(QDeclarativeStateActions &actions
props << d->defaultProperties.split(QLatin1Char(','));
}
- PropertyUpdater *data = new PropertyUpdater;
+ QDeclarativeAnimationPropertyUpdater *data = new QDeclarativeAnimationPropertyUpdater;
data->interpolatorType = d->interpolatorType;
data->interpolator = d->interpolator;
data->reverse = direction == Backward ? true : false;
@@ -2306,6 +2320,8 @@ void QDeclarativePropertyAnimation::transition(QDeclarativeStateActions &actions
When used in a transition, ParentAnimation will by default animate
all ParentChanges.
+
+ \sa {QML Animation}, {declarative/animation/basics}{Animation basics example}
*/
/*!
@@ -2337,7 +2353,7 @@ QDeclarativeParentAnimation::~QDeclarativeParentAnimation()
}
/*!
- \qmlproperty item ParentAnimation::target
+ \qmlproperty Item ParentAnimation::target
The item to reparent.
When used in a transition, if no target is specified all
@@ -2360,7 +2376,7 @@ void QDeclarativeParentAnimation::setTarget(QDeclarativeItem *target)
}
/*!
- \qmlproperty item ParentAnimation::newParent
+ \qmlproperty Item ParentAnimation::newParent
The new parent to animate to.
If not set, then the parent defined in the end state of the transition.
@@ -2382,7 +2398,7 @@ void QDeclarativeParentAnimation::setNewParent(QDeclarativeItem *newParent)
}
/*!
- \qmlproperty item ParentAnimation::via
+ \qmlproperty Item ParentAnimation::via
The item to reparent via. This provides a way to do an unclipped animation
when both the old parent and new parent are clipped
@@ -2526,13 +2542,12 @@ void QDeclarativeParentAnimation::transition(QDeclarativeStateActions &actions,
viaData->pc << vpc;
viaData->actions << myAction;
QDeclarativeAction dummyAction;
- QDeclarativeAction &xAction = pc->xIsSet() ? actions[++i] : dummyAction;
- QDeclarativeAction &yAction = pc->yIsSet() ? actions[++i] : dummyAction;
- QDeclarativeAction &sAction = pc->scaleIsSet() ? actions[++i] : dummyAction;
- QDeclarativeAction &rAction = pc->rotationIsSet() ? actions[++i] : dummyAction;
- bool forward = (direction == QDeclarativeAbstractAnimation::Forward);
+ QDeclarativeAction &xAction = pc->xIsSet() && i < actions.size()-1 ? actions[++i] : dummyAction;
+ QDeclarativeAction &yAction = pc->yIsSet() && i < actions.size()-1 ? actions[++i] : dummyAction;
+ QDeclarativeAction &sAction = pc->scaleIsSet() && i < actions.size()-1 ? actions[++i] : dummyAction;
+ QDeclarativeAction &rAction = pc->rotationIsSet() && i < actions.size()-1 ? actions[++i] : dummyAction;
QDeclarativeItem *target = pc->object();
- QDeclarativeItem *targetParent = forward ? pc->parent() : pc->originalParent();
+ QDeclarativeItem *targetParent = action.reverseEvent ? pc->originalParent() : pc->parent();
//### this mirrors the logic in QDeclarativeParentChange.
bool ok;
@@ -2573,9 +2588,9 @@ void QDeclarativeParentAnimation::transition(QDeclarativeStateActions &actions,
if (ok && target->transformOrigin() != QDeclarativeItem::TopLeft) {
qreal w = target->width();
qreal h = target->height();
- if (pc->widthIsSet())
+ if (pc->widthIsSet() && i < actions.size() - 1)
w = actions[++i].toValue.toReal();
- if (pc->heightIsSet())
+ if (pc->heightIsSet() && i < actions.size() - 1)
h = actions[++i].toValue.toReal();
const QPointF &transformOrigin
= d->computeTransformOrigin(target->transformOrigin(), w,h);
@@ -2730,7 +2745,7 @@ void QDeclarativeAnchorAnimation::setDuration(int duration)
Linear.
\qml
- AnchorAnimation { easing.type: "InOutQuad" }
+ AnchorAnimation { easing.type: Easing.InOutQuad }
\endqml
See the \l{PropertyAnimation::easing.type} documentation for information
@@ -2759,7 +2774,7 @@ void QDeclarativeAnchorAnimation::transition(QDeclarativeStateActions &actions,
{
Q_UNUSED(modified);
Q_D(QDeclarativeAnchorAnimation);
- PropertyUpdater *data = new PropertyUpdater;
+ QDeclarativeAnimationPropertyUpdater *data = new QDeclarativeAnimationPropertyUpdater;
data->interpolatorType = QMetaType::QReal;
data->interpolator = d->interpolator;
diff --git a/src/declarative/util/qdeclarativeanimation_p.h b/src/declarative/util/qdeclarativeanimation_p.h
index 40c893cac0..3f8fbdd798 100644
--- a/src/declarative/util/qdeclarativeanimation_p.h
+++ b/src/declarative/util/qdeclarativeanimation_p.h
@@ -133,6 +133,7 @@ public:
private Q_SLOTS:
void timelineComplete();
+ void componentFinalized();
private:
virtual void setTarget(const QDeclarativeProperty &);
@@ -383,7 +384,7 @@ Q_SIGNALS:
};
class QDeclarativeAnimationGroupPrivate;
-class QDeclarativeAnimationGroup : public QDeclarativeAbstractAnimation
+class Q_AUTOTEST_EXPORT QDeclarativeAnimationGroup : public QDeclarativeAbstractAnimation
{
Q_OBJECT
Q_DECLARE_PRIVATE(QDeclarativeAnimationGroup)
diff --git a/src/declarative/util/qdeclarativeanimation_p_p.h b/src/declarative/util/qdeclarativeanimation_p_p.h
index 3b0f52e3fa..b6d6bbb795 100644
--- a/src/declarative/util/qdeclarativeanimation_p_p.h
+++ b/src/declarative/util/qdeclarativeanimation_p_p.h
@@ -96,7 +96,7 @@ private:
};
//performs an action of type QAbstractAnimationAction
-class QActionAnimation : public QAbstractAnimation
+class Q_AUTOTEST_EXPORT QActionAnimation : public QAbstractAnimation
{
Q_OBJECT
public:
@@ -143,7 +143,7 @@ public:
};
//animates QDeclarativeBulkValueUpdater (assumes start and end values will be reals or compatible)
-class QDeclarativeBulkValueAnimator : public QVariantAnimation
+class Q_AUTOTEST_EXPORT QDeclarativeBulkValueAnimator : public QVariantAnimation
{
Q_OBJECT
public:
@@ -378,6 +378,22 @@ public:
QList<QDeclarativeItem*> targets;
};
+class Q_AUTOTEST_EXPORT QDeclarativeAnimationPropertyUpdater : public QDeclarativeBulkValueUpdater
+{
+public:
+ QDeclarativeStateActions actions;
+ int interpolatorType; //for Number/ColorAnimation
+ int prevInterpolatorType; //for generic
+ QVariantAnimation::Interpolator interpolator;
+ bool reverse;
+ bool fromSourced;
+ bool fromDefined;
+ bool *wasDeleted;
+ QDeclarativeAnimationPropertyUpdater() : prevInterpolatorType(0), wasDeleted(0) {}
+ ~QDeclarativeAnimationPropertyUpdater() { if (wasDeleted) *wasDeleted = true; }
+ void setValue(qreal v);
+};
+
QT_END_NAMESPACE
#endif // QDECLARATIVEANIMATION_P_H
diff --git a/src/declarative/util/qdeclarativebehavior.cpp b/src/declarative/util/qdeclarativebehavior.cpp
index 1089d31a54..90e0ca31da 100644
--- a/src/declarative/util/qdeclarativebehavior.cpp
+++ b/src/declarative/util/qdeclarativebehavior.cpp
@@ -48,6 +48,7 @@
#include <qdeclarativeinfo.h>
#include <qdeclarativeproperty_p.h>
#include <qdeclarativeguard_p.h>
+#include <qdeclarativeengine_p.h>
#include <private/qobject_p.h>
@@ -57,12 +58,14 @@ class QDeclarativeBehaviorPrivate : public QObjectPrivate
{
Q_DECLARE_PUBLIC(QDeclarativeBehavior)
public:
- QDeclarativeBehaviorPrivate() : animation(0), enabled(true) {}
+ QDeclarativeBehaviorPrivate() : animation(0), enabled(true), finalized(false) {}
QDeclarativeProperty property;
QVariant currentValue;
+ QVariant targetValue;
QDeclarativeGuard<QDeclarativeAbstractAnimation> animation;
bool enabled;
+ bool finalized;
};
/*!
@@ -80,7 +83,7 @@ public:
y: 200 // initial value
Behavior on y {
NumberAnimation {
- easing.type: "OutBounce"
+ easing.type: Easing.OutBounce
easing.amplitude: 100
duration: 200
}
@@ -158,12 +161,17 @@ void QDeclarativeBehavior::write(const QVariant &value)
{
Q_D(QDeclarativeBehavior);
qmlExecuteDeferred(this);
- if (!d->animation || !d->enabled) {
+ if (!d->animation || !d->enabled || !d->finalized) {
QDeclarativePropertyPrivate::write(d->property, value, QDeclarativePropertyPrivate::BypassInterceptor | QDeclarativePropertyPrivate::DontRemoveBinding);
+ d->targetValue = value;
return;
}
+ if (value == d->targetValue)
+ return;
+
d->currentValue = d->property.read();
+ d->targetValue = value;
if (d->animation->qtAnimation()->duration() != -1)
d->animation->qtAnimation()->stop();
@@ -189,6 +197,15 @@ void QDeclarativeBehavior::setTarget(const QDeclarativeProperty &property)
d->currentValue = property.read();
if (d->animation)
d->animation->setDefaultTarget(property);
+
+ QDeclarativeEnginePrivate *engPriv = QDeclarativeEnginePrivate::get(qmlEngine(this));
+ engPriv->registerFinalizedParserStatusObject(this, this->metaObject()->indexOfSlot("componentFinalized()"));
+}
+
+void QDeclarativeBehavior::componentFinalized()
+{
+ Q_D(QDeclarativeBehavior);
+ d->finalized = true;
}
QT_END_NAMESPACE
diff --git a/src/declarative/util/qdeclarativebehavior_p.h b/src/declarative/util/qdeclarativebehavior_p.h
index e8a809faae..6c10eec06c 100644
--- a/src/declarative/util/qdeclarativebehavior_p.h
+++ b/src/declarative/util/qdeclarativebehavior_p.h
@@ -82,6 +82,9 @@ public:
Q_SIGNALS:
void enabledChanged();
+
+private Q_SLOTS:
+ void componentFinalized();
};
QT_END_NAMESPACE
diff --git a/src/declarative/util/qdeclarativebind.cpp b/src/declarative/util/qdeclarativebind.cpp
index 551662813f..5fab6318ba 100644
--- a/src/declarative/util/qdeclarativebind.cpp
+++ b/src/declarative/util/qdeclarativebind.cpp
@@ -60,7 +60,7 @@ QT_BEGIN_NAMESPACE
class QDeclarativeBindPrivate : public QObjectPrivate
{
public:
- QDeclarativeBindPrivate() : when(true), componentComplete(false), obj(0) {}
+ QDeclarativeBindPrivate() : when(true), componentComplete(true), obj(0) {}
bool when : 1;
bool componentComplete : 1;
@@ -98,7 +98,6 @@ public:
/*!
\internal
\class QDeclarativeBind
- \ingroup group_utility
\brief The QDeclarativeBind class allows arbitrary property bindings to be created.
Simple bindings are usually earier to do in-place rather than creating a
@@ -198,6 +197,12 @@ void QDeclarativeBind::setValue(const QVariant &v)
eval();
}
+void QDeclarativeBind::classBegin()
+{
+ Q_D(QDeclarativeBind);
+ d->componentComplete = false;
+}
+
void QDeclarativeBind::componentComplete()
{
Q_D(QDeclarativeBind);
diff --git a/src/declarative/util/qdeclarativebind_p.h b/src/declarative/util/qdeclarativebind_p.h
index f756e802c1..f89c2eb374 100644
--- a/src/declarative/util/qdeclarativebind_p.h
+++ b/src/declarative/util/qdeclarativebind_p.h
@@ -80,6 +80,7 @@ public:
void setValue(const QVariant &);
protected:
+ virtual void classBegin();
virtual void componentComplete();
private:
diff --git a/src/declarative/util/qdeclarativeconnections.cpp b/src/declarative/util/qdeclarativeconnections.cpp
index 20d878be6a..b364821ee1 100644
--- a/src/declarative/util/qdeclarativeconnections.cpp
+++ b/src/declarative/util/qdeclarativeconnections.cpp
@@ -57,11 +57,13 @@ QT_BEGIN_NAMESPACE
class QDeclarativeConnectionsPrivate : public QObjectPrivate
{
public:
- QDeclarativeConnectionsPrivate() : target(0), componentcomplete(false) {}
+ QDeclarativeConnectionsPrivate() : target(0), targetSet(false), ignoreUnknownSignals(false), componentcomplete(true) {}
QList<QDeclarativeBoundSignal*> boundsignals;
QObject *target;
+ bool targetSet;
+ bool ignoreUnknownSignals;
bool componentcomplete;
QByteArray data;
@@ -70,7 +72,9 @@ public:
/*!
\qmlclass Connections QDeclarativeConnections
\since 4.7
- \brief A Connections object describes generalized connections to signals.
+ \brief A Connections element describes generalized connections to signals.
+
+ A Connections object creates a connection to a QML signal.
When connecting to signals in QML, the usual way is to create an
"on<Signal>" handler that reacts when a signal is received, like this:
@@ -81,16 +85,16 @@ public:
}
\endqml
- However, in some cases, it is not possible to connect to a signal in this
- way, such as:
+ However, it is not possible to connect to a signal in this way in some
+ cases, such as when:
\list
- \i multiple connections to the same signal
- \i connections outside the scope of the signal sender
- \i connections to targets not defined in QML
+ \i Multiple connections to the same signal are required
+ \i Creating connections outside the scope of the signal sender
+ \i Connecting to targets not defined in QML
\endlist
- When any of these are needed, the Connections object can be used instead.
+ When any of these are needed, the Connections element can be used instead.
For example, the above code can be changed to use a Connections object,
like this:
@@ -103,7 +107,7 @@ public:
}
\endqml
- More generally, the Connections object can be a child of some other object than
+ More generally, the Connections object can be a child of some object other than
the sender of the signal:
\qml
@@ -139,17 +143,21 @@ QDeclarativeConnections::~QDeclarativeConnections()
\qmlproperty Object Connections::target
This property holds the object that sends the signal.
- By default, the target is assumed to be the parent of the Connections.
+ If this property is not set, the \c target defaults to the parent of the Connection.
+
+ If set to null, no connection is made and any signal handlers are ignored
+ until the target is not null.
*/
QObject *QDeclarativeConnections::target() const
{
Q_D(const QDeclarativeConnections);
- return d->target ? d->target : parent();
+ return d->targetSet ? d->target : parent();
}
void QDeclarativeConnections::setTarget(QObject *obj)
{
Q_D(QDeclarativeConnections);
+ d->targetSet = true; // even if setting to 0, it is *set*
if (d->target == obj)
return;
foreach (QDeclarativeBoundSignal *s, d->boundsignals) {
@@ -166,6 +174,28 @@ void QDeclarativeConnections::setTarget(QObject *obj)
emit targetChanged();
}
+/*!
+ \qmlproperty bool Connections::ignoreUnknownSignals
+
+ Normally, a connection to a non-existent signal produces runtime errors.
+
+ If this property is set to \c true, such errors are ignored.
+ This is useful if you intend to connect to different types of objects, handling
+ a different set of signals for each object.
+*/
+bool QDeclarativeConnections::ignoreUnknownSignals() const
+{
+ Q_D(const QDeclarativeConnections);
+ return d->ignoreUnknownSignals;
+}
+
+void QDeclarativeConnections::setIgnoreUnknownSignals(bool ignore)
+{
+ Q_D(QDeclarativeConnections);
+ d->ignoreUnknownSignals = ignore;
+}
+
+
QByteArray
QDeclarativeConnectionsParser::compile(const QList<QDeclarativeCustomParserProperty> &props)
@@ -220,7 +250,7 @@ void QDeclarativeConnectionsParser::setCustomData(QObject *object,
void QDeclarativeConnections::connectSignals()
{
Q_D(QDeclarativeConnections);
- if (!d->componentcomplete)
+ if (!d->componentcomplete || (d->targetSet && !target()))
return;
QDataStream ds(d->data);
@@ -230,19 +260,24 @@ void QDeclarativeConnections::connectSignals()
QString script;
ds >> script;
QDeclarativeProperty prop(target(), propName);
- if (!prop.isValid()) {
- qmlInfo(this) << tr("Cannot assign to non-existent property \"%1\"").arg(propName);
- } else if (prop.type() & QDeclarativeProperty::SignalProperty) {
+ if (prop.isValid() && (prop.type() & QDeclarativeProperty::SignalProperty)) {
QDeclarativeBoundSignal *signal =
new QDeclarativeBoundSignal(target(), prop.method(), this);
- signal->setExpression(new QDeclarativeExpression(qmlContext(this), script, 0));
+ signal->setExpression(new QDeclarativeExpression(qmlContext(this), 0, script));
d->boundsignals += signal;
} else {
- qmlInfo(this) << tr("Cannot assign to non-existent property \"%1\"").arg(propName);
+ if (!d->ignoreUnknownSignals)
+ qmlInfo(this) << tr("Cannot assign to non-existent property \"%1\"").arg(propName);
}
}
}
+void QDeclarativeConnections::classBegin()
+{
+ Q_D(QDeclarativeConnections);
+ d->componentcomplete=false;
+}
+
void QDeclarativeConnections::componentComplete()
{
Q_D(QDeclarativeConnections);
diff --git a/src/declarative/util/qdeclarativeconnections_p.h b/src/declarative/util/qdeclarativeconnections_p.h
index 3eacf12cc4..a91416693d 100644
--- a/src/declarative/util/qdeclarativeconnections_p.h
+++ b/src/declarative/util/qdeclarativeconnections_p.h
@@ -65,6 +65,7 @@ class Q_DECLARATIVE_EXPORT QDeclarativeConnections : public QObject, public QDec
Q_INTERFACES(QDeclarativeParserStatus)
Q_PROPERTY(QObject *target READ target WRITE setTarget NOTIFY targetChanged)
+ Q_PROPERTY(bool ignoreUnknownSignals READ ignoreUnknownSignals WRITE setIgnoreUnknownSignals)
public:
QDeclarativeConnections(QObject *parent=0);
@@ -73,11 +74,15 @@ public:
QObject *target() const;
void setTarget(QObject *);
+ bool ignoreUnknownSignals() const;
+ void setIgnoreUnknownSignals(bool ignore);
+
Q_SIGNALS:
void targetChanged();
private:
void connectSignals();
+ void classBegin();
void componentComplete();
};
diff --git a/src/declarative/util/qdeclarativefontloader.cpp b/src/declarative/util/qdeclarativefontloader.cpp
index 4115193d23..83bdb17c2a 100644
--- a/src/declarative/util/qdeclarativefontloader.cpp
+++ b/src/declarative/util/qdeclarativefontloader.cpp
@@ -53,6 +53,7 @@
#include <QFontDatabase>
#include <private/qobject_p.h>
+#include <private/qdeclarativeengine_p.h>
#include <qdeclarativeinfo.h>
QT_BEGIN_NAMESPACE
@@ -78,17 +79,27 @@ public:
/*!
\qmlclass FontLoader QDeclarativeFontLoader
\since 4.7
- \ingroup group_utility
- \brief This item allows using fonts by name or url.
+ \brief The FontLoader element allows fonts to be loaded by name or URL.
- Example:
+ The FontLoader element is used to load fonts by name or URL.
+
+ The \l status indicates when the font has been loaded, which is useful
+ for fonts loaded from remote sources.
+
+ For example:
\qml
- FontLoader { id: fixedFont; name: "Courier" }
- FontLoader { id: webFont; source: "http://www.mysite.com/myfont.ttf" }
+ import Qt 4.7
- Text { text: "Fixed-size font"; font.family: fixedFont.name }
- Text { text: "Fancy font"; font.family: webFont.name }
+ Column {
+ FontLoader { id: fixedFont; name: "Courier" }
+ FontLoader { id: webFont; source: "http://www.mysite.com/myfont.ttf" }
+
+ Text { text: "Fixed-size font"; font.family: fixedFont.name }
+ Text { text: "Fancy font"; font.family: webFont.name }
+ }
\endqml
+
+ \sa {declarative/text/fonts}{Fonts example}
*/
QDeclarativeFontLoader::QDeclarativeFontLoader(QObject *parent)
: QObject(*(new QDeclarativeFontLoaderPrivate), parent)
@@ -99,15 +110,6 @@ QDeclarativeFontLoader::~QDeclarativeFontLoader()
{
}
-static QString toLocalFileOrQrc(const QUrl& url)
-{
- QString r = url.toLocalFile();
- if (r.isEmpty() && url.scheme() == QLatin1String("qrc"))
- r = QLatin1Char(':') + url.path();
- return r;
-}
-
-
/*!
\qmlproperty url FontLoader::source
The url of the font to load.
@@ -128,7 +130,7 @@ void QDeclarativeFontLoader::setSource(const QUrl &url)
d->status = Loading;
emit statusChanged();
#ifndef QT_NO_LOCALFILE_OPTIMIZED_QML
- QString lf = toLocalFileOrQrc(d->url);
+ QString lf = QDeclarativeEnginePrivate::urlToLocalFileOrQrc(d->url);
if (!lf.isEmpty()) {
int id = QFontDatabase::addApplicationFont(lf);
if (id != -1) {
@@ -186,21 +188,32 @@ void QDeclarativeFontLoader::setName(const QString &name)
This property holds the status of font loading. It can be one of:
\list
- \o Null - no font has been set
- \o Ready - the font has been loaded
- \o Loading - the font is currently being loaded
- \o Error - an error occurred while loading the font
+ \o FontLoader.Null - no font has been set
+ \o FontLoader.Ready - the font has been loaded
+ \o FontLoader.Loading - the font is currently being loaded
+ \o FontLoader.Error - an error occurred while loading the font
\endlist
- Note that a change in the status property does not cause anything to happen
- (although it reflects what has happened to the font loader internally). If you wish
- to react to the change in status you need to do it yourself, for example in one
- of the following ways:
- \list
- \o Create a state, so that a state change occurs, e.g. State{name: 'loaded'; when: loader.status = FontLoader.Ready;}
- \o Do something inside the onStatusChanged signal handler, e.g. FontLoader{id: loader; onStatusChanged: if(loader.status == FontLoader.Ready) console.log('Loaded');}
- \o Bind to the status variable somewhere, e.g. Text{text: if(loader.status!=FontLoader.Ready){'Not Loaded';}else{'Loaded';}}
- \endlist
+ Use this status to provide an update or respond to the status change in some way.
+ For example, you could:
+
+ \e {Trigger a state change:}
+ \qml
+ State { name: 'loaded'; when: loader.status = FontLoader.Ready }
+ \endqml
+
+ \e {Implement an \c onStatusChanged signal handler:}
+ \qml
+ FontLoader {
+ id: loader
+ onStatusChanged: if (loader.status == FontLoader.Ready) console.log('Loaded')
+ }
+ \endqml
+
+ \e {Bind to the status value:}
+ \qml
+ Text { text: loader.status != FontLoader.Ready ? 'Not Loaded' : 'Loaded' }
+ \endqml
*/
QDeclarativeFontLoader::Status QDeclarativeFontLoader::status() const
{
diff --git a/src/declarative/util/qdeclarativelistmodel.cpp b/src/declarative/util/qdeclarativelistmodel.cpp
index 3810256310..ff83227d09 100644
--- a/src/declarative/util/qdeclarativelistmodel.cpp
+++ b/src/declarative/util/qdeclarativelistmodel.cpp
@@ -76,125 +76,41 @@ QDeclarativeListModelParser::ListInstruction *QDeclarativeListModelParser::ListM
For example:
- \code
- ListModel {
- id: fruitModel
- ListElement {
- name: "Apple"
- cost: 2.45
- }
- ListElement {
- name: "Orange"
- cost: 3.25
- }
- ListElement {
- name: "Banana"
- cost: 1.95
- }
- }
- \endcode
+ \snippet doc/src/snippets/declarative/listmodel.qml 0
- Roles (properties) must begin with a lower-case letter.The above example defines a
+ Roles (properties) must begin with a lower-case letter. The above example defines a
ListModel containing three elements, with the roles "name" and "cost".
Values must be simple constants - either strings (quoted), bools (true, false), numbers,
or enum values (like Text.AlignHCenter).
The defined model can be used in views such as ListView:
- \code
- Component {
- id: fruitDelegate
- Item {
- width: 200; height: 50
- Text { text: name }
- Text { text: '$'+cost; anchors.right: parent.right }
- }
- }
- ListView {
- model: fruitModel
- delegate: fruitDelegate
- anchors.fill: parent
- }
- \endcode
+ \snippet doc/src/snippets/declarative/listmodel-simple.qml 0
+ \dots 8
+ \snippet doc/src/snippets/declarative/listmodel-simple.qml 1
+ \image listmodel.png
It is possible for roles to contain list data. In the example below we create a list of fruit attributes:
- \code
- ListModel {
- id: fruitModel
- ListElement {
- name: "Apple"
- cost: 2.45
- attributes: [
- ListElement { description: "Core" },
- ListElement { description: "Deciduous" }
- ]
- }
- ListElement {
- name: "Orange"
- cost: 3.25
- attributes: [
- ListElement { description: "Citrus" }
- ]
- }
- ListElement {
- name: "Banana"
- cost: 1.95
- attributes: [
- ListElement { description: "Tropical" },
- ListElement { description: "Seedless" }
- ]
- }
- }
- \endcode
+ \snippet doc/src/snippets/declarative/listmodel-nested.qml model
+
+ The delegate below displays all the fruit attributes:
+
+ \snippet doc/src/snippets/declarative/listmodel-nested.qml delegate
+ \image listmodel-nested.png
- The delegate below will list all the fruit attributes:
- \code
- Component {
- id: fruitDelegate
- Item {
- width: 200; height: 50
- Text { id: name; text: name }
- Text { text: '$'+cost; anchors.right: parent.right }
- Row {
- anchors.top: name.bottom
- spacing: 5
- Text { text: "Attributes:" }
- Repeater {
- dataSource: attributes
- Component { Text { text: description } }
- }
- }
- }
- }
- \endcode
\section2 Modifying list models
The content of a ListModel may be created and modified using the clear(),
- append(), and set() methods. For example:
-
- \code
- Component {
- id: fruitDelegate
- Item {
- width: 200; height: 50
- Text { text: name }
- Text { text: '$'+cost; anchors.right: parent.right }
-
- // Double the price when clicked.
- MouseArea {
- anchors.fill: parent
- onClicked: fruitModel.set(index, "cost", cost*2)
- }
- }
- }
- \endcode
+ append(), set() and setProperty() methods. For example:
+
+ \snippet doc/src/snippets/declarative/listmodel-modify.qml delegate
When creating content dynamically, note that the set of available properties cannot be changed
- except by first clearing the model - whatever properties are first added are then the
- only permitted properties in the model.
+ except by first clearing the model. Whatever properties are first added to the model are then the
+ only permitted properties in the model until it is cleared.
\section2 Using threaded list models with WorkerScript
@@ -207,18 +123,18 @@ QDeclarativeListModelParser::ListInstruction *QDeclarativeListModelParser::ListM
Here is an example that uses WorkerScript to periodically append the
current time to a list model:
- \snippet examples/declarative/listmodel-threaded/timedisplay.qml 0
+ \snippet examples/declarative/threading/threadedlistmodel/timedisplay.qml 0
The included file, \tt dataloader.js, looks like this:
- \snippet examples/declarative/listmodel-threaded/dataloader.js 0
+ \snippet examples/declarative/threading/threadedlistmodel/dataloader.js 0
The application's \tt Timer object periodically sends a message to the
- worker script by calling \tt WorkerScript::sendMessage(). When this message
- is received, \tt WorkerScript.onMessage() is invoked in
+ worker script by calling \l WorkerScript::sendMessage(). When this message
+ is received, \l {WorkerScript::onMessage}{WorkerScript.onMessage()} is invoked in
\tt dataloader.js, which appends the current time to the list model.
- Note the call to sync() from the \c WorkerScript.onMessage() handler.
+ Note the call to sync() from the \l {WorkerScript::onMessage}{WorkerScript.onMessage()} handler.
You must call sync() or else the changes made to the list from the external
thread will not be reflected in the list model in the main thread.
@@ -244,7 +160,7 @@ QDeclarativeListModelParser::ListInstruction *QDeclarativeListModelParser::ListM
In addition, the WorkerScript cannot add any list data to the model.
- \sa {qmlmodels}{Data Models}, WorkerScript, QtDeclarative
+ \sa {qmlmodels}{Data Models}, {declarative/threading/threadedlistmodel}{Threaded ListModel example}, QtDeclarative
*/
@@ -454,7 +370,7 @@ void QDeclarativeListModel::insert(int index, const QScriptValue& valuemap)
to the end of the list:
\code
- fruitModel.move(0,fruitModel.count-3,3)
+ fruitModel.move(0, fruitModel.count - 3, 3)
\endcode
\sa append()
@@ -537,11 +453,7 @@ void QDeclarativeListModel::append(const QScriptValue& valuemap)
*/
QScriptValue QDeclarativeListModel::get(int index) const
{
- if (index >= count() || index < 0) {
- qmlInfo(this) << tr("get: index %1 out of range").arg(index);
- return 0;
- }
-
+ // the internal flat/nested class checks for bad index
return m_flat ? m_flat->get(index) : m_nested->get(index);
}
@@ -591,7 +503,7 @@ void QDeclarativeListModel::set(int index, const QScriptValue& valuemap)
Changes the \a property of the item at \a index in the list model to \a value.
\code
- fruitModel.set(3, "cost", 5.95)
+ fruitModel.setProperty(3, "cost", 5.95)
\endcode
The \a index must be an element in the list.
@@ -930,13 +842,14 @@ bool FlatListModel::insert(int index, const QScriptValue &value)
QScriptValue FlatListModel::get(int index) const
{
- Q_ASSERT(index >= 0 && index < m_values.count());
-
QScriptEngine *scriptEngine = m_scriptEngine ? m_scriptEngine : QDeclarativeEnginePrivate::getScriptEngine(qmlEngine(m_listModel));
- if (!scriptEngine)
+ if (!scriptEngine)
return 0;
+ if (index < 0 || index >= m_values.count())
+ return scriptEngine->undefinedValue();
+
QScriptValue rv = scriptEngine->newObject();
QHash<int, QVariant> row = m_values.at(index);
@@ -999,7 +912,8 @@ bool FlatListModel::addValue(const QScriptValue &value, QHash<int, QVariant> *ro
QScriptValueIterator it(value);
while (it.hasNext()) {
it.next();
- if (it.value().isObject()) {
+ QScriptValue value = it.value();
+ if (!value.isVariant() && !value.isRegExp() && !value.isDate() && value.isObject()) {
qmlInfo(m_listModel) << "Cannot add nested list values when modifying or after modification from a worker script";
return false;
}
@@ -1182,13 +1096,21 @@ bool NestedListModel::append(const QScriptValue& valuemap)
}
QScriptValue NestedListModel::get(int index) const
-{
- ModelNode *node = qvariant_cast<ModelNode *>(_root->values.at(index));
- if (!node)
- return 0;
+{
QDeclarativeEngine *eng = qmlEngine(m_listModel);
if (!eng)
return 0;
+
+ if (index < 0 || index >= count()) {
+ QScriptEngine *seng = QDeclarativeEnginePrivate::getScriptEngine(eng);
+ if (seng)
+ return seng->undefinedValue();
+ return 0;
+ }
+
+ ModelNode *node = qvariant_cast<ModelNode *>(_root->values.at(index));
+ if (!node)
+ return 0;
return QDeclarativeEnginePrivate::qmlScriptObject(node->object(this), eng);
}
diff --git a/src/declarative/util/qdeclarativelistmodelworkeragent_p.h b/src/declarative/util/qdeclarativelistmodelworkeragent_p.h
index 53d30c28a1..1622144f6e 100644
--- a/src/declarative/util/qdeclarativelistmodelworkeragent_p.h
+++ b/src/declarative/util/qdeclarativelistmodelworkeragent_p.h
@@ -146,7 +146,7 @@ private:
QT_END_NAMESPACE
-Q_DECLARE_METATYPE(QDeclarativeListModelWorkerAgent::VariantRef);
+Q_DECLARE_METATYPE(QDeclarativeListModelWorkerAgent::VariantRef)
QT_END_HEADER
diff --git a/src/declarative/util/qdeclarativeopenmetaobject.cpp b/src/declarative/util/qdeclarativeopenmetaobject.cpp
index 0e5aaa673c..ba5d5340ec 100644
--- a/src/declarative/util/qdeclarativeopenmetaobject.cpp
+++ b/src/declarative/util/qdeclarativeopenmetaobject.cpp
@@ -305,7 +305,7 @@ void QDeclarativeOpenMetaObject::setCached(bool c)
QDeclarativeData *qmldata = QDeclarativeData::get(d->object, true);
if (d->cacheProperties) {
if (!d->type->d->cache)
- d->type->d->cache = QDeclarativePropertyCache::create(d->type->d->engine, this);
+ d->type->d->cache = new QDeclarativePropertyCache(d->type->d->engine, this);
qmldata->propertyCache = d->type->d->cache;
d->type->d->cache->addref();
} else {
diff --git a/src/declarative/util/qdeclarativepackage.cpp b/src/declarative/util/qdeclarativepackage.cpp
index 20e99078ad..b149120775 100644
--- a/src/declarative/util/qdeclarativepackage.cpp
+++ b/src/declarative/util/qdeclarativepackage.cpp
@@ -48,29 +48,34 @@ QT_BEGIN_NAMESPACE
/*!
\qmlclass Package QDeclarativePackage
- \brief Package provides a collection of named items
+ \brief Package provides a collection of named items.
- The Package class is currently used in conjunction with
+ The Package class is used in conjunction with
VisualDataModel to enable delegates with a shared context
to be provided to multiple views.
Any item within a Package may be assigned a name via the
- \e {Package.name} attached property.
+ \l{Package::name}{Package.name} attached property.
The example below creates a Package containing two named items;
- \e list and \e grid. The third element in the package is parented to whichever
+ \e list and \e grid. The third element in the package (the \l Rectangle) is parented to whichever
delegate it should appear in. This allows an item to move
between views.
- \snippet examples/declarative/package/Delegate.qml 0
+ \snippet examples/declarative/modelviews/package/Delegate.qml 0
These named items are used as the delegates by the two views who
reference the special VisualDataModel.parts property to select
a model which provides the chosen delegate.
- \snippet examples/declarative/package/view.qml 0
+ \snippet examples/declarative/modelviews/package/view.qml 0
- \sa QtDeclarative
+ \sa {declarative/modelviews/package}{Package example}, QtDeclarative
+*/
+
+/*!
+ \qmlattachedproperty bool Package::name
+ This attached property holds the name of an item within a Package.
*/
diff --git a/src/declarative/util/qdeclarativepackage_p.h b/src/declarative/util/qdeclarativepackage_p.h
index 87d9b80240..6b12ef728b 100644
--- a/src/declarative/util/qdeclarativepackage_p.h
+++ b/src/declarative/util/qdeclarativepackage_p.h
@@ -50,15 +50,9 @@ QT_BEGIN_NAMESPACE
QT_MODULE(Declarative)
-/*****************************************************************************
- *****************************************************************************
- XXX Experimental
- *****************************************************************************
-*****************************************************************************/
-
class QDeclarativePackagePrivate;
class QDeclarativePackageAttached;
-class QDeclarativePackage : public QObject
+class Q_AUTOTEST_EXPORT QDeclarativePackage : public QObject
{
Q_OBJECT
Q_DECLARE_PRIVATE(QDeclarativePackage)
diff --git a/src/declarative/util/qdeclarativepixmapcache.cpp b/src/declarative/util/qdeclarativepixmapcache.cpp
index dbca326429..a4ddf46625 100644
--- a/src/declarative/util/qdeclarativepixmapcache.cpp
+++ b/src/declarative/util/qdeclarativepixmapcache.cpp
@@ -55,6 +55,7 @@
#include <QFile>
#include <QThread>
#include <QMutex>
+#include <QBuffer>
#include <QWaitCondition>
#include <QtCore/qdebug.h>
#include <private/qobject_p.h>
@@ -65,14 +66,6 @@ static const int maxImageRequestCount = 8;
QT_BEGIN_NAMESPACE
-static QString toLocalFileOrQrc(const QUrl& url)
-{
- QString r = url.toLocalFile();
- if (r.isEmpty() && url.scheme() == QLatin1String("qrc"))
- r = QLatin1Char(':') + url.path();
- return r;
-}
-
class QDeclarativeImageReaderEvent : public QEvent
{
public:
@@ -268,7 +261,7 @@ bool QDeclarativeImageRequestHandler::event(QEvent *event)
}
QCoreApplication::postEvent(runningJob, new QDeclarativeImageReaderEvent(errorCode, errorStr, image));
} else {
- QString lf = toLocalFileOrQrc(url);
+ QString lf = QDeclarativeEnginePrivate::urlToLocalFileOrQrc(url);
if (!lf.isEmpty()) {
// Image is local - load/decode immediately
QImage image;
@@ -342,7 +335,10 @@ void QDeclarativeImageRequestHandler::networkRequestDone()
errorString = reply->errorString();
} else {
QSize read_impsize;
- if (readImage(reply->url(), reply, &image, &errorString, &read_impsize, job->forcedWidth(), job->forcedHeight())) {
+ QByteArray all = reply->readAll();
+ QBuffer buff(&all);
+ buff.open(QIODevice::ReadOnly);
+ if (readImage(reply->url(), &buff, &image, &errorString, &read_impsize, job->forcedWidth(), job->forcedHeight())) {
qmlOriginalSizes()->insert(reply->url(), read_impsize);
error = QDeclarativeImageReaderEvent::NoError;
} else {
@@ -609,7 +605,7 @@ QDeclarativePixmapReply::Status QDeclarativePixmapCache::get(const QUrl& url, QP
#ifndef QT_NO_LOCALFILE_OPTIMIZED_QML
if (!async) {
- QString lf = toLocalFileOrQrc(url);
+ QString lf = QDeclarativeEnginePrivate::urlToLocalFileOrQrc(url);
if (!lf.isEmpty()) {
status = QDeclarativePixmapReply::Ready;
if (!QPixmapCache::find(strKey,pixmap)) {
diff --git a/src/declarative/util/qdeclarativepropertychanges.cpp b/src/declarative/util/qdeclarativepropertychanges.cpp
index 4b2d5a0658..8e3ec82022 100644
--- a/src/declarative/util/qdeclarativepropertychanges.cpp
+++ b/src/declarative/util/qdeclarativepropertychanges.cpp
@@ -51,6 +51,7 @@
#include <qdeclarativecontext.h>
#include <qdeclarativeguard_p.h>
#include <qdeclarativeproperty_p.h>
+#include <qdeclarativecontext_p.h>
#include <QtCore/qdebug.h>
@@ -61,11 +62,11 @@ QT_BEGIN_NAMESPACE
/*!
\qmlclass PropertyChanges QDeclarativePropertyChanges
\since 4.7
- \brief The PropertyChanges element describes new property values for a state.
+ \brief The PropertyChanges element describes new property bindings or values for a state.
PropertyChanges provides a state change that modifies the properties of an item.
- Here is a property change that modifies the text and color of a Text element
+ Here is a property change that modifies the text and color of a \l Text element
when it is clicked:
\qml
@@ -88,6 +89,21 @@ QT_BEGIN_NAMESPACE
MouseArea { anchors.fill: parent; onClicked: myText.state = 'myState' }
}
\endqml
+
+ By default, PropertyChanges will establish new bindings where appropriate.
+ For example, the following creates a new binding for myItem's \c height property.
+
+ \qml
+ PropertyChanges {
+ target: myItem
+ height: parent.height
+ }
+ \endqml
+
+ If you don't want a binding to be established (and instead just want to assign
+ the value of the binding at the time the state is entered),
+ you should set the PropertyChange's \l{PropertyChanges::explicit}{explicit}
+ property to \c true.
State-specific script for signal handlers can also be specified:
@@ -162,11 +178,15 @@ public:
virtual void execute(Reason) {
ownedExpression = QDeclarativePropertyPrivate::setSignalExpression(property, expression);
+ if (ownedExpression == expression)
+ ownedExpression = 0;
}
virtual bool isReversable() { return true; }
virtual void reverse(Reason) {
ownedExpression = QDeclarativePropertyPrivate::setSignalExpression(property, reverseExpression);
+ if (ownedExpression == reverseExpression)
+ ownedExpression = 0;
}
virtual void saveOriginals() {
@@ -174,11 +194,26 @@ public:
reverseExpression = rewindExpression;
}
+ /*virtual void copyOriginals(QDeclarativeActionEvent *other)
+ {
+ QDeclarativeReplaceSignalHandler *rsh = static_cast<QDeclarativeReplaceSignalHandler*>(other);
+ saveCurrentValues();
+ if (rsh == this)
+ return;
+ reverseExpression = rsh->reverseExpression;
+ if (rsh->ownedExpression == reverseExpression) {
+ ownedExpression = rsh->ownedExpression;
+ rsh->ownedExpression = 0;
+ }
+ }*/
+
virtual void rewind() {
ownedExpression = QDeclarativePropertyPrivate::setSignalExpression(property, rewindExpression);
+ if (ownedExpression == rewindExpression)
+ ownedExpression = 0;
}
virtual void saveCurrentValues() {
- rewindExpression = QDeclarativePropertyPrivate::signalExpression(property);
+ rewindExpression = QDeclarativePropertyPrivate::signalExpression(property);
}
virtual bool override(QDeclarativeActionEvent*other) {
@@ -301,13 +336,19 @@ void QDeclarativePropertyChangesPrivate::decode()
QDeclarativeProperty prop = property(name); //### better way to check for signal property?
if (prop.type() & QDeclarativeProperty::SignalProperty) {
- QDeclarativeExpression *expression = new QDeclarativeExpression(qmlContext(q), data.toString(), object);
+ QDeclarativeExpression *expression = new QDeclarativeExpression(qmlContext(q), object, data.toString());
+ QDeclarativeData *ddata = QDeclarativeData::get(q);
+ if (ddata && ddata->outerContext && !ddata->outerContext->url.isEmpty())
+ expression->setSourceLocation(ddata->outerContext->url.toString(), ddata->lineNumber);
QDeclarativeReplaceSignalHandler *handler = new QDeclarativeReplaceSignalHandler;
handler->property = prop;
handler->expression = expression;
signalReplacements << handler;
} else if (isScript) {
- QDeclarativeExpression *expression = new QDeclarativeExpression(qmlContext(q), data.toString(), object);
+ QDeclarativeExpression *expression = new QDeclarativeExpression(qmlContext(q), object, data.toString());
+ QDeclarativeData *ddata = QDeclarativeData::get(q);
+ if (ddata && ddata->outerContext && !ddata->outerContext->url.isEmpty())
+ expression->setSourceLocation(ddata->outerContext->url.toString(), ddata->lineNumber);
expressions << qMakePair(name, expression);
} else {
properties << qMakePair(name, data);
@@ -437,9 +478,11 @@ QDeclarativePropertyChanges::ActionList QDeclarativePropertyChanges::actions()
if (d->isExplicit) {
a.toValue = d->expressions.at(ii).second->evaluate();
} else {
+ QDeclarativeExpression *e = d->expressions.at(ii).second;
QDeclarativeBinding *newBinding =
- new QDeclarativeBinding(d->expressions.at(ii).second->expression(), object(), qmlContext(this));
+ new QDeclarativeBinding(e->expression(), object(), qmlContext(this));
newBinding->setTarget(prop);
+ newBinding->setSourceLocation(e->sourceFile(), e->lineNumber());
a.toBinding = newBinding;
a.deletableToBinding = true;
}
@@ -457,8 +500,8 @@ QDeclarativePropertyChanges::ActionList QDeclarativePropertyChanges::actions()
If explicit is set to true, any potential bindings will be interpreted as
once-off assignments that occur when the state is entered.
- In the following example, the addition of explicit prevents myItem.width from
- being bound to parent.width. Instead, it is assigned the value of parent.width
+ In the following example, the addition of explicit prevents \c myItem.width from
+ being bound to \c parent.width. Instead, it is assigned the value of \c parent.width
at the time of the state change.
\qml
PropertyChanges {
diff --git a/src/declarative/util/qdeclarativesmoothedanimation.cpp b/src/declarative/util/qdeclarativesmoothedanimation.cpp
index 19a00eeb02..6b6df4d5b3 100644
--- a/src/declarative/util/qdeclarativesmoothedanimation.cpp
+++ b/src/declarative/util/qdeclarativesmoothedanimation.cpp
@@ -307,7 +307,7 @@ Rectangle {
set to a value such as 0.5 units/second. Animating from 0 to 1.0 with a velocity
of 0.5 will take 2000 ms to complete.
- \sa SpringFollow
+ \sa SpringFollow, {QML Animation}, {declarative/animation/basics}{Animation basics example}
*/
QDeclarativeSmoothedAnimation::QDeclarativeSmoothedAnimation(QObject *parent)
@@ -388,10 +388,10 @@ void QDeclarativeSmoothedAnimation::transition(QDeclarativeStateActions &actions
Sets how the SmoothedAnimation behaves if an animation direction is reversed.
- If reversing mode is \c Eased, the animation will smoothly decelerate, and
- then reverse direction. If the reversing mode is \c Immediate, the
+ If reversing mode is \c SmoothedAnimation.Eased, the animation will smoothly decelerate, and
+ then reverse direction. If the reversing mode is \c SmoothedAnimation.Immediate, the
animation will immediately begin accelerating in the reverse direction,
- begining with a velocity of 0. If the reversing mode is \c Sync, the
+ begining with a velocity of 0. If the reversing mode is \c SmoothedAnimation.Sync, the
property is immediately set to the target value.
*/
QDeclarativeSmoothedAnimation::ReversingMode QDeclarativeSmoothedAnimation::reversingMode() const
diff --git a/src/declarative/util/qdeclarativesmoothedanimation_p.h b/src/declarative/util/qdeclarativesmoothedanimation_p.h
index 17aafa4365..f45d19fe69 100644
--- a/src/declarative/util/qdeclarativesmoothedanimation_p.h
+++ b/src/declarative/util/qdeclarativesmoothedanimation_p.h
@@ -96,7 +96,7 @@ Q_SIGNALS:
QT_END_NAMESPACE
-QML_DECLARE_TYPE(QDeclarativeSmoothedAnimation);
+QML_DECLARE_TYPE(QDeclarativeSmoothedAnimation)
QT_END_HEADER
diff --git a/src/declarative/util/qdeclarativesmoothedanimation_p_p.h b/src/declarative/util/qdeclarativesmoothedanimation_p_p.h
index 81cd22938c..8cdbea2696 100644
--- a/src/declarative/util/qdeclarativesmoothedanimation_p_p.h
+++ b/src/declarative/util/qdeclarativesmoothedanimation_p_p.h
@@ -65,7 +65,7 @@
QT_BEGIN_NAMESPACE
-class QSmoothedAnimation : public QAbstractAnimation
+class Q_AUTOTEST_EXPORT QSmoothedAnimation : public QAbstractAnimation
{
public:
QSmoothedAnimation(QObject *parent=0);
diff --git a/src/declarative/util/qdeclarativesmoothedfollow.cpp b/src/declarative/util/qdeclarativesmoothedfollow.cpp
index 3ed92570c4..f70df9d924 100644
--- a/src/declarative/util/qdeclarativesmoothedfollow.cpp
+++ b/src/declarative/util/qdeclarativesmoothedfollow.cpp
@@ -143,10 +143,10 @@ QDeclarativeSmoothedFollowPrivate::QDeclarativeSmoothedFollowPrivate()
Sets how the SmoothedFollow behaves if an animation direction is reversed.
- If reversing mode is \c Eased, the animation will smoothly decelerate, and
- then reverse direction. If the reversing mode is \c Immediate, the
+ If reversing mode is \c SmoothedFollow.Eased, the animation will smoothly decelerate, and
+ then reverse direction. If the reversing mode is \c SmoothedFollow.Immediate, the
animation will immediately begin accelerating in the reverse direction,
- begining with a velocity of 0. If the reversing mode is \c Sync, the
+ begining with a velocity of 0. If the reversing mode is \c SmoothedFollow.Sync, the
property is immediately set to the target value.
*/
QDeclarativeSmoothedFollow::ReversingMode QDeclarativeSmoothedFollow::reversingMode() const
diff --git a/src/declarative/util/qdeclarativesmoothedfollow_p.h b/src/declarative/util/qdeclarativesmoothedfollow_p.h
index d8600525ae..6319192f68 100644
--- a/src/declarative/util/qdeclarativesmoothedfollow_p.h
+++ b/src/declarative/util/qdeclarativesmoothedfollow_p.h
@@ -106,7 +106,7 @@ Q_SIGNALS:
QT_END_NAMESPACE
-QML_DECLARE_TYPE(QDeclarativeSmoothedFollow);
+QML_DECLARE_TYPE(QDeclarativeSmoothedFollow)
QT_END_HEADER
diff --git a/src/declarative/util/qdeclarativespringfollow.cpp b/src/declarative/util/qdeclarativespringfollow.cpp
index 70077f3f12..aae66ac52a 100644
--- a/src/declarative/util/qdeclarativespringfollow.cpp
+++ b/src/declarative/util/qdeclarativespringfollow.cpp
@@ -227,7 +227,7 @@ void QDeclarativeSpringFollowPrivate::stop()
loops: Animation.Infinite
NumberAnimation {
to: 200
- easing.type: "OutBounce"
+ easing.type: Easing.OutBounce
easing.amplitude: 100
duration: 2000
}
diff --git a/src/declarative/util/qdeclarativestate.cpp b/src/declarative/util/qdeclarativestate.cpp
index 861cbc8af6..ae19a9ce15 100644
--- a/src/declarative/util/qdeclarativestate.cpp
+++ b/src/declarative/util/qdeclarativestate.cpp
@@ -136,12 +136,31 @@ QDeclarativeStateOperation::QDeclarativeStateOperation(QObjectPrivate &dd, QObje
\since 4.7
\brief The State element defines configurations of objects and properties.
- A state is specified as a set of batched changes from the default configuration.
+ A \e state is a set of batched changes from the default configuration.
+
+ All items have a default state that defines the default configuration of objects
+ and property values. New states can be defined by adding State items to the \l {Item::states}{states} property to
+ allow items to switch between different configurations. These configurations
+ can, for example, be used to apply different sets of property values or execute
+ different scripts.
+
+ The following example displays a single Rectangle. In the default state, the rectangle
+ is colored black. In the "clicked" state, a PropertyChanges element changes the
+ rectangle's color to red. Clicking within the MouseArea toggles the rectangle's state
+ between the default state and the "clicked" state, thus toggling the color of the
+ rectangle between black and red.
+
+ \snippet doc/src/snippets/declarative/state.qml 0
+
+ Notice the default state is referred to using an empty string ("").
+
+ States are commonly used together with \l {state-transitions}{Transitions} to provide
+ animations when state changes occur.
\note setting the state of an object from within another state of the same object is
not allowed.
- \sa {qmlstates}{States}, {state-transitions}{Transitions}, QtDeclarative
+ \sa {declarative/animation/states}{states example}, {qmlstates}{States}, {state-transitions}{Transitions}, QtDeclarative
*/
/*!
@@ -149,7 +168,6 @@ QDeclarativeStateOperation::QDeclarativeStateOperation(QObjectPrivate &dd, QObje
\class QDeclarativeState
\brief The QDeclarativeState class allows you to define configurations of objects and properties.
- \ingroup group_states
QDeclarativeState allows you to specify a state as a set of batched changes from the default
configuration.
@@ -174,7 +192,7 @@ QDeclarativeState::~QDeclarativeState()
/*!
\qmlproperty string State::name
- This property holds the name of the state
+ This property holds the name of the state.
Each state should have a unique name.
*/
@@ -188,6 +206,13 @@ void QDeclarativeState::setName(const QString &n)
{
Q_D(QDeclarativeState);
d->name = n;
+ d->named = true;
+}
+
+bool QDeclarativeState::isNamed() const
+{
+ Q_D(const QDeclarativeState);
+ return d->named;
}
bool QDeclarativeState::isWhenKnown() const
@@ -198,12 +223,12 @@ bool QDeclarativeState::isWhenKnown() const
/*!
\qmlproperty bool State::when
- This property holds when the state should be applied
+ This property holds when the state should be applied.
- This should be set to an expression that evaluates to true when you want the state to
+ This should be set to an expression that evaluates to \c true when you want the state to
be applied.
- If multiple states in a group have \c when clauses that evaluate to true at the same time,
+ If multiple states in a group have \c when clauses that evaluate to \c true at the same time,
the first matching state will be applied. For example, in the following snippet
\c state1 will always be selected rather than \c state2 when sharedCondition becomes
\c true.
@@ -230,7 +255,9 @@ void QDeclarativeState::setWhen(QDeclarativeBinding *when)
/*!
\qmlproperty string State::extend
- This property holds the state that this state extends
+ This property holds the state that this state extends.
+
+ When a state extends another state, it inherits all the changes of that state.
The state being extended is treated as the base state in regards to
the changes specified by the extending state.
@@ -391,12 +418,13 @@ void QDeclarativeState::apply(QDeclarativeStateGroup *group, QDeclarativeTransit
if (action.event->override(event)) {
found = true;
- if (action.event != d->revertList.at(jj).event) {
+ if (action.event != d->revertList.at(jj).event && action.event->needsCopy()) {
action.event->copyOriginals(d->revertList.at(jj).event);
QDeclarativeSimpleAction r(action);
additionalReverts << r;
d->revertList.removeAt(jj);
+ --jj;
} else if (action.event->isRewindable()) //###why needed?
action.event->saveCurrentValues();
@@ -486,6 +514,7 @@ void QDeclarativeState::apply(QDeclarativeStateGroup *group, QDeclarativeTransit
// All the local reverts now become part of the ongoing revertList
d->revertList << additionalReverts;
+#ifndef QT_NO_DEBUG_STREAM
// Output for debugging
if (stateChangeDebug()) {
foreach(const QDeclarativeAction &action, applyList) {
@@ -497,6 +526,7 @@ void QDeclarativeState::apply(QDeclarativeStateGroup *group, QDeclarativeTransit
<< "To:" << action.toValue;
}
}
+#endif
d->transitionManager.transition(applyList, trans);
}
diff --git a/src/declarative/util/qdeclarativestate_p.h b/src/declarative/util/qdeclarativestate_p.h
index 0ba67b04a4..2e2ce7b0c9 100644
--- a/src/declarative/util/qdeclarativestate_p.h
+++ b/src/declarative/util/qdeclarativestate_p.h
@@ -84,7 +84,7 @@ public:
void deleteFromBinding();
};
-class QDeclarativeActionEvent
+class Q_AUTOTEST_EXPORT QDeclarativeActionEvent
{
public:
virtual ~QDeclarativeActionEvent();
@@ -96,6 +96,7 @@ public:
virtual bool isReversable();
virtual void reverse(Reason reason = ActualChange);
virtual void saveOriginals() {}
+ virtual bool needsCopy() { return false; }
virtual void copyOriginals(QDeclarativeActionEvent *) {}
virtual bool isRewindable() { return isReversable(); }
@@ -145,6 +146,7 @@ public:
QString name() const;
void setName(const QString &);
+ bool isNamed() const;
/*'when' is a QDeclarativeBinding to limit state changes oscillation
due to the unpredictable order of evaluation of bound expressions*/
diff --git a/src/declarative/util/qdeclarativestate_p_p.h b/src/declarative/util/qdeclarativestate_p_p.h
index 4a2af0f803..2ef9bb084d 100644
--- a/src/declarative/util/qdeclarativestate_p_p.h
+++ b/src/declarative/util/qdeclarativestate_p_p.h
@@ -101,12 +101,13 @@ class QDeclarativeStatePrivate : public QObjectPrivate
public:
QDeclarativeStatePrivate()
- : when(0), inState(false), group(0) {}
+ : when(0), named(false), inState(false), group(0) {}
typedef QList<QDeclarativeSimpleAction> SimpleActionList;
QString name;
QDeclarativeBinding *when;
+ bool named;
struct OperationGuard : public QDeclarativeGuard<QDeclarativeStateOperation>
{
diff --git a/src/declarative/util/qdeclarativestategroup.cpp b/src/declarative/util/qdeclarativestategroup.cpp
index 5b514951b8..67cd12ef13 100644
--- a/src/declarative/util/qdeclarativestategroup.cpp
+++ b/src/declarative/util/qdeclarativestategroup.cpp
@@ -47,6 +47,7 @@
#include <qdeclarativebinding_p.h>
#include <qdeclarativeglobal_p.h>
+#include <QtCore/qstringbuilder.h>
#include <QtCore/qdebug.h>
#include <private/qobject_p.h>
@@ -62,7 +63,7 @@ class QDeclarativeStateGroupPrivate : public QObjectPrivate
public:
QDeclarativeStateGroupPrivate()
: nullState(0), componentComplete(true),
- ignoreTrans(false), applyingState(false) {}
+ ignoreTrans(false), applyingState(false), unnamedCount(0) {}
QString currentState;
QDeclarativeState *nullState;
@@ -78,6 +79,7 @@ public:
bool componentComplete;
bool ignoreTrans;
bool applyingState;
+ int unnamedCount;
QDeclarativeTransition *findTransition(const QString &from, const QString &to);
void setCurrentStateInternal(const QString &state, bool = false);
@@ -89,8 +91,8 @@ public:
\since 4.7
\brief The StateGroup element provides state support for non-Item elements.
- Item (and all dervied elements) provides built in support for states and transitions
- via its state, states and transitions properties. StateGroup provides an easy way to
+ Item (and all derived elements) provides built in support for states and transitions
+ via its \l{Item::state}{state}, \l{Item::states}{states} and \l{Item::transitions}{transitions} properties. StateGroup provides an easy way to
use this support in other (non-Item-derived) elements.
\qml
@@ -259,6 +261,12 @@ void QDeclarativeStateGroup::componentComplete()
Q_D(QDeclarativeStateGroup);
d->componentComplete = true;
+ for (int ii = 0; ii < d->states.count(); ++ii) {
+ QDeclarativeState *state = d->states.at(ii);
+ if (!state->isNamed())
+ state->setName(QLatin1String("anonymousState") % QString::number(++d->unnamedCount));
+ }
+
if (d->updateAutoState()) {
return;
} else if (!d->currentState.isEmpty()) {
@@ -287,7 +295,7 @@ bool QDeclarativeStateGroupPrivate::updateAutoState()
for (int ii = 0; ii < states.count(); ++ii) {
QDeclarativeState *state = states.at(ii);
if (state->isWhenKnown()) {
- if (!state->name().isEmpty()) {
+ if (state->isNamed()) {
if (state->when() && state->when()->evaluate().toBool()) {
if (stateChangeDebug())
qWarning() << "Setting auto state due to:"
diff --git a/src/declarative/util/qdeclarativestateoperations.cpp b/src/declarative/util/qdeclarativestateoperations.cpp
index 689f53cb71..51e6f992e4 100644
--- a/src/declarative/util/qdeclarativestateoperations.cpp
+++ b/src/declarative/util/qdeclarativestateoperations.cpp
@@ -69,18 +69,18 @@ public:
rewindParent(0), rewindStackBefore(0) {}
QDeclarativeItem *target;
- QDeclarativeItem *parent;
+ QDeclarativeGuard<QDeclarativeItem> parent;
QDeclarativeGuard<QDeclarativeItem> origParent;
QDeclarativeGuard<QDeclarativeItem> origStackBefore;
QDeclarativeItem *rewindParent;
QDeclarativeItem *rewindStackBefore;
- QDeclarativeNullableValue<qreal> x;
- QDeclarativeNullableValue<qreal> y;
- QDeclarativeNullableValue<qreal> width;
- QDeclarativeNullableValue<qreal> height;
- QDeclarativeNullableValue<qreal> scale;
- QDeclarativeNullableValue<qreal> rotation;
+ QDeclarativeNullableValue<QDeclarativeScriptString> xString;
+ QDeclarativeNullableValue<QDeclarativeScriptString> yString;
+ QDeclarativeNullableValue<QDeclarativeScriptString> widthString;
+ QDeclarativeNullableValue<QDeclarativeScriptString> heightString;
+ QDeclarativeNullableValue<QDeclarativeScriptString> scaleString;
+ QDeclarativeNullableValue<QDeclarativeScriptString> rotationString;
void doChange(QDeclarativeItem *targetParent, QDeclarativeItem *stackBefore = 0);
};
@@ -172,6 +172,14 @@ void QDeclarativeParentChangePrivate::doChange(QDeclarativeItem *targetParent, Q
items involved in the reparenting (i.e. items in the common ancestor tree
for the original and new parent).
+ The example below displays a large red rectangle and a small blue rectangle, side by side.
+ When the \c blueRect is clicked, it changes to the "reparented" state: its parent is changed to \c redRect and it is
+ positioned at (10, 10) within the red rectangle, as specified in the ParentChange.
+
+ \snippet doc/src/snippets/declarative/parentchange.qml 0
+
+ \image parentchange.png
+
You can specify at which point in a transition you want a ParentChange to occur by
using a ParentAnimation.
*/
@@ -196,112 +204,112 @@ QDeclarativeParentChange::~QDeclarativeParentChange()
These properties hold the new position, size, scale, and rotation
for the item in this state.
*/
-qreal QDeclarativeParentChange::x() const
+QDeclarativeScriptString QDeclarativeParentChange::x() const
{
Q_D(const QDeclarativeParentChange);
- return d->x.isNull ? qreal(0.) : d->x.value;
+ return d->xString.value;
}
-void QDeclarativeParentChange::setX(qreal x)
+void QDeclarativeParentChange::setX(QDeclarativeScriptString x)
{
Q_D(QDeclarativeParentChange);
- d->x = x;
+ d->xString = x;
}
bool QDeclarativeParentChange::xIsSet() const
{
Q_D(const QDeclarativeParentChange);
- return d->x.isValid();
+ return d->xString.isValid();
}
-qreal QDeclarativeParentChange::y() const
+QDeclarativeScriptString QDeclarativeParentChange::y() const
{
Q_D(const QDeclarativeParentChange);
- return d->y.isNull ? qreal(0.) : d->y.value;
+ return d->yString.value;
}
-void QDeclarativeParentChange::setY(qreal y)
+void QDeclarativeParentChange::setY(QDeclarativeScriptString y)
{
Q_D(QDeclarativeParentChange);
- d->y = y;
+ d->yString = y;
}
bool QDeclarativeParentChange::yIsSet() const
{
Q_D(const QDeclarativeParentChange);
- return d->y.isValid();
+ return d->yString.isValid();
}
-qreal QDeclarativeParentChange::width() const
+QDeclarativeScriptString QDeclarativeParentChange::width() const
{
Q_D(const QDeclarativeParentChange);
- return d->width.isNull ? qreal(0.) : d->width.value;
+ return d->widthString.value;
}
-void QDeclarativeParentChange::setWidth(qreal width)
+void QDeclarativeParentChange::setWidth(QDeclarativeScriptString width)
{
Q_D(QDeclarativeParentChange);
- d->width = width;
+ d->widthString = width;
}
bool QDeclarativeParentChange::widthIsSet() const
{
Q_D(const QDeclarativeParentChange);
- return d->width.isValid();
+ return d->widthString.isValid();
}
-qreal QDeclarativeParentChange::height() const
+QDeclarativeScriptString QDeclarativeParentChange::height() const
{
Q_D(const QDeclarativeParentChange);
- return d->height.isNull ? qreal(0.) : d->height.value;
+ return d->heightString.value;
}
-void QDeclarativeParentChange::setHeight(qreal height)
+void QDeclarativeParentChange::setHeight(QDeclarativeScriptString height)
{
Q_D(QDeclarativeParentChange);
- d->height = height;
+ d->heightString = height;
}
bool QDeclarativeParentChange::heightIsSet() const
{
Q_D(const QDeclarativeParentChange);
- return d->height.isValid();
+ return d->heightString.isValid();
}
-qreal QDeclarativeParentChange::scale() const
+QDeclarativeScriptString QDeclarativeParentChange::scale() const
{
Q_D(const QDeclarativeParentChange);
- return d->scale.isNull ? qreal(1.) : d->scale.value;
+ return d->scaleString.value;
}
-void QDeclarativeParentChange::setScale(qreal scale)
+void QDeclarativeParentChange::setScale(QDeclarativeScriptString scale)
{
Q_D(QDeclarativeParentChange);
- d->scale = scale;
+ d->scaleString = scale;
}
bool QDeclarativeParentChange::scaleIsSet() const
{
Q_D(const QDeclarativeParentChange);
- return d->scale.isValid();
+ return d->scaleString.isValid();
}
-qreal QDeclarativeParentChange::rotation() const
+QDeclarativeScriptString QDeclarativeParentChange::rotation() const
{
Q_D(const QDeclarativeParentChange);
- return d->rotation.isNull ? qreal(0.) : d->rotation.value;
+ return d->rotationString.value;
}
-void QDeclarativeParentChange::setRotation(qreal rotation)
+void QDeclarativeParentChange::setRotation(QDeclarativeScriptString rotation)
{
Q_D(QDeclarativeParentChange);
- d->rotation = rotation;
+ d->rotationString = rotation;
}
bool QDeclarativeParentChange::rotationIsSet() const
{
Q_D(const QDeclarativeParentChange);
- return d->rotation.isValid();
+ return d->rotationString.isValid();
}
QDeclarativeItem *QDeclarativeParentChange::originalParent() const
@@ -356,34 +364,118 @@ QDeclarativeStateOperation::ActionList QDeclarativeParentChange::actions()
a.event = this;
actions << a;
- if (d->x.isValid()) {
- QDeclarativeAction xa(d->target, QLatin1String("x"), x());
- actions << xa;
+ if (d->xString.isValid()) {
+ bool ok = false;
+ QString script = d->xString.value.script();
+ qreal x = script.toFloat(&ok);
+ if (ok) {
+ QDeclarativeAction xa(d->target, QLatin1String("x"), x);
+ actions << xa;
+ } else {
+ QDeclarativeBinding *newBinding = new QDeclarativeBinding(script, d->target, qmlContext(this));
+ newBinding->setTarget(QDeclarativeProperty(d->target, QLatin1String("x")));
+ QDeclarativeAction xa;
+ xa.property = newBinding->property();
+ xa.toBinding = newBinding;
+ xa.fromValue = xa.property.read();
+ xa.deletableToBinding = true;
+ actions << xa;
+ }
}
- if (d->y.isValid()) {
- QDeclarativeAction ya(d->target, QLatin1String("y"), y());
- actions << ya;
+ if (d->yString.isValid()) {
+ bool ok = false;
+ QString script = d->yString.value.script();
+ qreal y = script.toFloat(&ok);
+ if (ok) {
+ QDeclarativeAction ya(d->target, QLatin1String("y"), y);
+ actions << ya;
+ } else {
+ QDeclarativeBinding *newBinding = new QDeclarativeBinding(script, d->target, qmlContext(this));
+ newBinding->setTarget(QDeclarativeProperty(d->target, QLatin1String("y")));
+ QDeclarativeAction ya;
+ ya.property = newBinding->property();
+ ya.toBinding = newBinding;
+ ya.fromValue = ya.property.read();
+ ya.deletableToBinding = true;
+ actions << ya;
+ }
}
- if (d->scale.isValid()) {
- QDeclarativeAction sa(d->target, QLatin1String("scale"), scale());
- actions << sa;
+ if (d->scaleString.isValid()) {
+ bool ok = false;
+ QString script = d->scaleString.value.script();
+ qreal scale = script.toFloat(&ok);
+ if (ok) {
+ QDeclarativeAction sa(d->target, QLatin1String("scale"), scale);
+ actions << sa;
+ } else {
+ QDeclarativeBinding *newBinding = new QDeclarativeBinding(script, d->target, qmlContext(this));
+ newBinding->setTarget(QDeclarativeProperty(d->target, QLatin1String("scale")));
+ QDeclarativeAction sa;
+ sa.property = newBinding->property();
+ sa.toBinding = newBinding;
+ sa.fromValue = sa.property.read();
+ sa.deletableToBinding = true;
+ actions << sa;
+ }
}
- if (d->rotation.isValid()) {
- QDeclarativeAction ra(d->target, QLatin1String("rotation"), rotation());
- actions << ra;
+ if (d->rotationString.isValid()) {
+ bool ok = false;
+ QString script = d->rotationString.value.script();
+ qreal rotation = script.toFloat(&ok);
+ if (ok) {
+ QDeclarativeAction ra(d->target, QLatin1String("rotation"), rotation);
+ actions << ra;
+ } else {
+ QDeclarativeBinding *newBinding = new QDeclarativeBinding(script, d->target, qmlContext(this));
+ newBinding->setTarget(QDeclarativeProperty(d->target, QLatin1String("rotation")));
+ QDeclarativeAction ra;
+ ra.property = newBinding->property();
+ ra.toBinding = newBinding;
+ ra.fromValue = ra.property.read();
+ ra.deletableToBinding = true;
+ actions << ra;
+ }
}
- if (d->width.isValid()) {
- QDeclarativeAction wa(d->target, QLatin1String("width"), width());
- actions << wa;
+ if (d->widthString.isValid()) {
+ bool ok = false;
+ QString script = d->widthString.value.script();
+ qreal width = script.toFloat(&ok);
+ if (ok) {
+ QDeclarativeAction wa(d->target, QLatin1String("width"), width);
+ actions << wa;
+ } else {
+ QDeclarativeBinding *newBinding = new QDeclarativeBinding(script, d->target, qmlContext(this));
+ newBinding->setTarget(QDeclarativeProperty(d->target, QLatin1String("width")));
+ QDeclarativeAction wa;
+ wa.property = newBinding->property();
+ wa.toBinding = newBinding;
+ wa.fromValue = wa.property.read();
+ wa.deletableToBinding = true;
+ actions << wa;
+ }
}
- if (d->height.isValid()) {
- QDeclarativeAction ha(d->target, QLatin1String("height"), height());
- actions << ha;
+ if (d->heightString.isValid()) {
+ bool ok = false;
+ QString script = d->heightString.value.script();
+ qreal height = script.toFloat(&ok);
+ if (ok) {
+ QDeclarativeAction ha(d->target, QLatin1String("height"), height);
+ actions << ha;
+ } else {
+ QDeclarativeBinding *newBinding = new QDeclarativeBinding(script, d->target, qmlContext(this));
+ newBinding->setTarget(QDeclarativeProperty(d->target, QLatin1String("height")));
+ QDeclarativeAction ha;
+ ha.property = newBinding->property();
+ ha.toBinding = newBinding;
+ ha.fromValue = ha.property.read();
+ ha.deletableToBinding = true;
+ actions << ha;
+ }
}
return actions;
@@ -408,7 +500,7 @@ void QDeclarativeParentChange::saveOriginals()
d->origStackBefore = d->rewindStackBefore;
}
-void QDeclarativeParentChange::copyOriginals(QDeclarativeActionEvent *other)
+/*void QDeclarativeParentChange::copyOriginals(QDeclarativeActionEvent *other)
{
Q_D(QDeclarativeParentChange);
QDeclarativeParentChange *pc = static_cast<QDeclarativeParentChange*>(other);
@@ -417,7 +509,7 @@ void QDeclarativeParentChange::copyOriginals(QDeclarativeActionEvent *other)
d->origStackBefore = pc->d_func()->rewindStackBefore;
saveCurrentValues();
-}
+}*/
void QDeclarativeParentChange::execute(Reason)
{
@@ -499,9 +591,9 @@ public:
\qmlclass StateChangeScript QDeclarativeStateChangeScript
\brief The StateChangeScript element allows you to run a script in a state.
- StateChangeScripts are run when entering the state. You can use
- ScriptAction to specify at which point in the transition
- you want the StateChangeScript to be run.
+ A StateChangeScript is run upon entering a state. You can optionally use
+ ScriptAction to specify the point in the transition at which
+ the StateChangeScript should to be run.
\qml
State {
@@ -575,7 +667,7 @@ void QDeclarativeStateChangeScript::execute(Reason)
Q_D(QDeclarativeStateChangeScript);
const QString &script = d->script.script();
if (!script.isEmpty()) {
- QDeclarativeExpression expr(d->script.context(), script, d->script.scopeObject());
+ QDeclarativeExpression expr(d->script.context(), d->script.scopeObject(), script);
QDeclarativeData *ddata = QDeclarativeData::get(this);
if (ddata && ddata->outerContext && !ddata->outerContext->url.isEmpty())
expr.setSourceLocation(ddata->outerContext->url.toString(), ddata->lineNumber);
@@ -603,22 +695,18 @@ QString QDeclarativeStateChangeScript::typeName() const
\qmlclass AnchorChanges QDeclarativeAnchorChanges
\brief The AnchorChanges element allows you to change the anchors of an item in a state.
- In the following example we change the top and bottom anchors of an item:
- \qml
- State {
- name: "reanchored"
- AnchorChanges {
- target: content;
- anchors.top: window.top;
- anchors.bottom: window.bottom
- }
- PropertyChanges {
- target: content;
- anchors.topMargin: 3
- anchors.bottomMargin: 3;
- }
- }
- \endqml
+ The AnchorChanges element is used to modify the anchors of an item in a \l State.
+
+ AnchorChanges cannot be used to modify the margins on an item. For this, use
+ PropertyChanges intead.
+
+ In the following example we change the top and bottom anchors of an item
+ using AnchorChanges, and the top and bottom anchor margins using
+ PropertyChanges:
+
+ \snippet doc/src/snippets/declarative/anchorchanges.qml 0
+
+ \image anchorchanges.png
AnchorChanges can be animated using AnchorAnimation.
\qml
@@ -1044,8 +1132,8 @@ void QDeclarativeAnchorChanges::setObject(QDeclarativeItem *target)
\qml
AnchorChanges {
target: myItem
- left: undefined //remove myItem's left anchor
- right: otherItem.right
+ anchors.left: undefined //remove myItem's left anchor
+ anchors.right: otherItem.right
}
\endqml
*/
@@ -1056,40 +1144,41 @@ void QDeclarativeAnchorChanges::execute(Reason reason)
if (!d->target)
return;
+ QDeclarativeItemPrivate *targetPrivate = QDeclarativeItemPrivate::get(d->target);
//incorporate any needed "reverts"
if (d->applyOrigLeft) {
if (!d->origLeftBinding)
- d->target->anchors()->resetLeft();
+ targetPrivate->anchors()->resetLeft();
QDeclarativePropertyPrivate::setBinding(d->leftProp, d->origLeftBinding);
}
if (d->applyOrigRight) {
if (!d->origRightBinding)
- d->target->anchors()->resetRight();
+ targetPrivate->anchors()->resetRight();
QDeclarativePropertyPrivate::setBinding(d->rightProp, d->origRightBinding);
}
if (d->applyOrigHCenter) {
if (!d->origHCenterBinding)
- d->target->anchors()->resetHorizontalCenter();
+ targetPrivate->anchors()->resetHorizontalCenter();
QDeclarativePropertyPrivate::setBinding(d->hCenterProp, d->origHCenterBinding);
}
if (d->applyOrigTop) {
if (!d->origTopBinding)
- d->target->anchors()->resetTop();
+ targetPrivate->anchors()->resetTop();
QDeclarativePropertyPrivate::setBinding(d->topProp, d->origTopBinding);
}
if (d->applyOrigBottom) {
if (!d->origBottomBinding)
- d->target->anchors()->resetBottom();
+ targetPrivate->anchors()->resetBottom();
QDeclarativePropertyPrivate::setBinding(d->bottomProp, d->origBottomBinding);
}
if (d->applyOrigVCenter) {
if (!d->origVCenterBinding)
- d->target->anchors()->resetVerticalCenter();
+ targetPrivate->anchors()->resetVerticalCenter();
QDeclarativePropertyPrivate::setBinding(d->vCenterProp, d->origVCenterBinding);
}
if (d->applyOrigBaseline) {
if (!d->origBaselineBinding)
- d->target->anchors()->resetBaseline();
+ targetPrivate->anchors()->resetBaseline();
QDeclarativePropertyPrivate::setBinding(d->baselineProp, d->origBaselineBinding);
}
@@ -1105,31 +1194,31 @@ void QDeclarativeAnchorChanges::execute(Reason reason)
//reset any anchors that have been specified as "undefined"
if (d->anchorSet->d_func()->resetAnchors & QDeclarativeAnchors::LeftAnchor) {
- d->target->anchors()->resetLeft();
+ targetPrivate->anchors()->resetLeft();
QDeclarativePropertyPrivate::setBinding(d->leftProp, 0);
}
if (d->anchorSet->d_func()->resetAnchors & QDeclarativeAnchors::RightAnchor) {
- d->target->anchors()->resetRight();
+ targetPrivate->anchors()->resetRight();
QDeclarativePropertyPrivate::setBinding(d->rightProp, 0);
}
if (d->anchorSet->d_func()->resetAnchors & QDeclarativeAnchors::HCenterAnchor) {
- d->target->anchors()->resetHorizontalCenter();
+ targetPrivate->anchors()->resetHorizontalCenter();
QDeclarativePropertyPrivate::setBinding(d->hCenterProp, 0);
}
if (d->anchorSet->d_func()->resetAnchors & QDeclarativeAnchors::TopAnchor) {
- d->target->anchors()->resetTop();
+ targetPrivate->anchors()->resetTop();
QDeclarativePropertyPrivate::setBinding(d->topProp, 0);
}
if (d->anchorSet->d_func()->resetAnchors & QDeclarativeAnchors::BottomAnchor) {
- d->target->anchors()->resetBottom();
+ targetPrivate->anchors()->resetBottom();
QDeclarativePropertyPrivate::setBinding(d->bottomProp, 0);
}
if (d->anchorSet->d_func()->resetAnchors & QDeclarativeAnchors::VCenterAnchor) {
- d->target->anchors()->resetVerticalCenter();
+ targetPrivate->anchors()->resetVerticalCenter();
QDeclarativePropertyPrivate::setBinding(d->vCenterProp, 0);
}
if (d->anchorSet->d_func()->resetAnchors & QDeclarativeAnchors::BaselineAnchor) {
- d->target->anchors()->resetBaseline();
+ targetPrivate->anchors()->resetBaseline();
QDeclarativePropertyPrivate::setBinding(d->baselineProp, 0);
}
@@ -1161,51 +1250,52 @@ void QDeclarativeAnchorChanges::reverse(Reason reason)
if (!d->target)
return;
+ QDeclarativeItemPrivate *targetPrivate = QDeclarativeItemPrivate::get(d->target);
//reset any anchors set by the state
if (d->leftBinding) {
- d->target->anchors()->resetLeft();
+ targetPrivate->anchors()->resetLeft();
QDeclarativePropertyPrivate::setBinding(d->leftBinding->property(), 0);
if (reason == ActualChange) {
d->leftBinding->destroy(); d->leftBinding = 0;
}
}
if (d->rightBinding) {
- d->target->anchors()->resetRight();
+ targetPrivate->anchors()->resetRight();
QDeclarativePropertyPrivate::setBinding(d->rightBinding->property(), 0);
if (reason == ActualChange) {
d->rightBinding->destroy(); d->rightBinding = 0;
}
}
if (d->hCenterBinding) {
- d->target->anchors()->resetHorizontalCenter();
+ targetPrivate->anchors()->resetHorizontalCenter();
QDeclarativePropertyPrivate::setBinding(d->hCenterBinding->property(), 0);
if (reason == ActualChange) {
d->hCenterBinding->destroy(); d->hCenterBinding = 0;
}
}
if (d->topBinding) {
- d->target->anchors()->resetTop();
+ targetPrivate->anchors()->resetTop();
QDeclarativePropertyPrivate::setBinding(d->topBinding->property(), 0);
if (reason == ActualChange) {
d->topBinding->destroy(); d->topBinding = 0;
}
}
if (d->bottomBinding) {
- d->target->anchors()->resetBottom();
+ targetPrivate->anchors()->resetBottom();
QDeclarativePropertyPrivate::setBinding(d->bottomBinding->property(), 0);
if (reason == ActualChange) {
d->bottomBinding->destroy(); d->bottomBinding = 0;
}
}
if (d->vCenterBinding) {
- d->target->anchors()->resetVerticalCenter();
+ targetPrivate->anchors()->resetVerticalCenter();
QDeclarativePropertyPrivate::setBinding(d->vCenterBinding->property(), 0);
if (reason == ActualChange) {
d->vCenterBinding->destroy(); d->vCenterBinding = 0;
}
}
if (d->baselineBinding) {
- d->target->anchors()->resetBaseline();
+ targetPrivate->anchors()->resetBaseline();
QDeclarativePropertyPrivate::setBinding(d->baselineBinding->property(), 0);
if (reason == ActualChange) {
d->baselineBinding->destroy(); d->baselineBinding = 0;
@@ -1239,24 +1329,28 @@ QList<QDeclarativeAction> QDeclarativeAnchorChanges::additionalActions()
Q_D(QDeclarativeAnchorChanges);
QList<QDeclarativeAction> extra;
+ QDeclarativeAnchors::Anchors combined = d->anchorSet->d_func()->usedAnchors | d->anchorSet->d_func()->resetAnchors;
+ bool hChange = combined & QDeclarativeAnchors::Horizontal_Mask;
+ bool vChange = combined & QDeclarativeAnchors::Vertical_Mask;
+
if (d->target) {
QDeclarativeAction a;
- if (d->fromX != d->toX) {
+ if (hChange && d->fromX != d->toX) {
a.property = QDeclarativeProperty(d->target, QLatin1String("x"));
a.toValue = d->toX;
extra << a;
}
- if (d->fromY != d->toY) {
+ if (vChange && d->fromY != d->toY) {
a.property = QDeclarativeProperty(d->target, QLatin1String("y"));
a.toValue = d->toY;
extra << a;
}
- if (d->fromWidth != d->toWidth) {
+ if (hChange && d->fromWidth != d->toWidth) {
a.property = QDeclarativeProperty(d->target, QLatin1String("width"));
a.toValue = d->toWidth;
extra << a;
}
- if (d->fromHeight != d->toHeight) {
+ if (vChange && d->fromHeight != d->toHeight) {
a.property = QDeclarativeProperty(d->target, QLatin1String("height"));
a.toValue = d->toHeight;
extra << a;
@@ -1335,37 +1429,38 @@ void QDeclarativeAnchorChanges::clearBindings()
d->fromWidth = d->target->width();
d->fromHeight = d->target->height();
+ QDeclarativeItemPrivate *targetPrivate = QDeclarativeItemPrivate::get(d->target);
//reset any anchors with corresponding reverts
//reset any anchors that have been specified as "undefined"
//reset any anchors that we'll be setting in the state
QDeclarativeAnchors::Anchors combined = d->anchorSet->d_func()->resetAnchors |
d->anchorSet->d_func()->usedAnchors;
if (d->applyOrigLeft || (combined & QDeclarativeAnchors::LeftAnchor)) {
- d->target->anchors()->resetLeft();
+ targetPrivate->anchors()->resetLeft();
QDeclarativePropertyPrivate::setBinding(d->leftProp, 0);
}
if (d->applyOrigRight || (combined & QDeclarativeAnchors::RightAnchor)) {
- d->target->anchors()->resetRight();
+ targetPrivate->anchors()->resetRight();
QDeclarativePropertyPrivate::setBinding(d->rightProp, 0);
}
if (d->applyOrigHCenter || (combined & QDeclarativeAnchors::HCenterAnchor)) {
- d->target->anchors()->resetHorizontalCenter();
+ targetPrivate->anchors()->resetHorizontalCenter();
QDeclarativePropertyPrivate::setBinding(d->hCenterProp, 0);
}
if (d->applyOrigTop || (combined & QDeclarativeAnchors::TopAnchor)) {
- d->target->anchors()->resetTop();
+ targetPrivate->anchors()->resetTop();
QDeclarativePropertyPrivate::setBinding(d->topProp, 0);
}
if (d->applyOrigBottom || (combined & QDeclarativeAnchors::BottomAnchor)) {
- d->target->anchors()->resetBottom();
+ targetPrivate->anchors()->resetBottom();
QDeclarativePropertyPrivate::setBinding(d->bottomProp, 0);
}
if (d->applyOrigVCenter || (combined & QDeclarativeAnchors::VCenterAnchor)) {
- d->target->anchors()->resetVerticalCenter();
+ targetPrivate->anchors()->resetVerticalCenter();
QDeclarativePropertyPrivate::setBinding(d->vCenterProp, 0);
}
if (d->applyOrigBaseline || (combined & QDeclarativeAnchors::BaselineAnchor)) {
- d->target->anchors()->resetBaseline();
+ targetPrivate->anchors()->resetBaseline();
QDeclarativePropertyPrivate::setBinding(d->baselineProp, 0);
}
}
@@ -1387,21 +1482,22 @@ void QDeclarativeAnchorChanges::rewind()
if (!d->target)
return;
+ QDeclarativeItemPrivate *targetPrivate = QDeclarativeItemPrivate::get(d->target);
//restore previous anchors
if (d->rewindLeft.anchorLine != QDeclarativeAnchorLine::Invalid)
- d->target->anchors()->setLeft(d->rewindLeft);
+ targetPrivate->anchors()->setLeft(d->rewindLeft);
if (d->rewindRight.anchorLine != QDeclarativeAnchorLine::Invalid)
- d->target->anchors()->setRight(d->rewindRight);
+ targetPrivate->anchors()->setRight(d->rewindRight);
if (d->rewindHCenter.anchorLine != QDeclarativeAnchorLine::Invalid)
- d->target->anchors()->setHorizontalCenter(d->rewindHCenter);
+ targetPrivate->anchors()->setHorizontalCenter(d->rewindHCenter);
if (d->rewindTop.anchorLine != QDeclarativeAnchorLine::Invalid)
- d->target->anchors()->setTop(d->rewindTop);
+ targetPrivate->anchors()->setTop(d->rewindTop);
if (d->rewindBottom.anchorLine != QDeclarativeAnchorLine::Invalid)
- d->target->anchors()->setBottom(d->rewindBottom);
+ targetPrivate->anchors()->setBottom(d->rewindBottom);
if (d->rewindVCenter.anchorLine != QDeclarativeAnchorLine::Invalid)
- d->target->anchors()->setVerticalCenter(d->rewindVCenter);
+ targetPrivate->anchors()->setVerticalCenter(d->rewindVCenter);
if (d->rewindBaseline.anchorLine != QDeclarativeAnchorLine::Invalid)
- d->target->anchors()->setBaseline(d->rewindBaseline);
+ targetPrivate->anchors()->setBaseline(d->rewindBaseline);
d->target->setX(d->rewindX);
d->target->setY(d->rewindY);
@@ -1415,13 +1511,14 @@ void QDeclarativeAnchorChanges::saveCurrentValues()
if (!d->target)
return;
- d->rewindLeft = d->target->anchors()->left();
- d->rewindRight = d->target->anchors()->right();
- d->rewindHCenter = d->target->anchors()->horizontalCenter();
- d->rewindTop = d->target->anchors()->top();
- d->rewindBottom = d->target->anchors()->bottom();
- d->rewindVCenter = d->target->anchors()->verticalCenter();
- d->rewindBaseline = d->target->anchors()->baseline();
+ QDeclarativeItemPrivate *targetPrivate = QDeclarativeItemPrivate::get(d->target);
+ d->rewindLeft = targetPrivate->anchors()->left();
+ d->rewindRight = targetPrivate->anchors()->right();
+ d->rewindHCenter = targetPrivate->anchors()->horizontalCenter();
+ d->rewindTop = targetPrivate->anchors()->top();
+ d->rewindBottom = targetPrivate->anchors()->bottom();
+ d->rewindVCenter = targetPrivate->anchors()->verticalCenter();
+ d->rewindBaseline = targetPrivate->anchors()->baseline();
d->rewindX = d->target->x();
d->rewindY = d->target->y();
diff --git a/src/declarative/util/qdeclarativestateoperations_p.h b/src/declarative/util/qdeclarativestateoperations_p.h
index e22c1e2236..05ad052c03 100644
--- a/src/declarative/util/qdeclarativestateoperations_p.h
+++ b/src/declarative/util/qdeclarativestateoperations_p.h
@@ -62,12 +62,12 @@ class Q_DECLARATIVE_EXPORT QDeclarativeParentChange : public QDeclarativeStateOp
Q_PROPERTY(QDeclarativeItem *target READ object WRITE setObject)
Q_PROPERTY(QDeclarativeItem *parent READ parent WRITE setParent)
- Q_PROPERTY(qreal x READ x WRITE setX)
- Q_PROPERTY(qreal y READ y WRITE setY)
- Q_PROPERTY(qreal width READ width WRITE setWidth)
- Q_PROPERTY(qreal height READ height WRITE setHeight)
- Q_PROPERTY(qreal scale READ scale WRITE setScale)
- Q_PROPERTY(qreal rotation READ rotation WRITE setRotation)
+ Q_PROPERTY(QDeclarativeScriptString x READ x WRITE setX)
+ Q_PROPERTY(QDeclarativeScriptString y READ y WRITE setY)
+ Q_PROPERTY(QDeclarativeScriptString width READ width WRITE setWidth)
+ Q_PROPERTY(QDeclarativeScriptString height READ height WRITE setHeight)
+ Q_PROPERTY(QDeclarativeScriptString scale READ scale WRITE setScale)
+ Q_PROPERTY(QDeclarativeScriptString rotation READ rotation WRITE setRotation)
public:
QDeclarativeParentChange(QObject *parent=0);
~QDeclarativeParentChange();
@@ -80,34 +80,34 @@ public:
QDeclarativeItem *originalParent() const;
- qreal x() const;
- void setX(qreal x);
+ QDeclarativeScriptString x() const;
+ void setX(QDeclarativeScriptString x);
bool xIsSet() const;
- qreal y() const;
- void setY(qreal y);
+ QDeclarativeScriptString y() const;
+ void setY(QDeclarativeScriptString y);
bool yIsSet() const;
- qreal width() const;
- void setWidth(qreal width);
+ QDeclarativeScriptString width() const;
+ void setWidth(QDeclarativeScriptString width);
bool widthIsSet() const;
- qreal height() const;
- void setHeight(qreal height);
+ QDeclarativeScriptString height() const;
+ void setHeight(QDeclarativeScriptString height);
bool heightIsSet() const;
- qreal scale() const;
- void setScale(qreal scale);
+ QDeclarativeScriptString scale() const;
+ void setScale(QDeclarativeScriptString scale);
bool scaleIsSet() const;
- qreal rotation() const;
- void setRotation(qreal rotation);
+ QDeclarativeScriptString rotation() const;
+ void setRotation(QDeclarativeScriptString rotation);
bool rotationIsSet() const;
virtual ActionList actions();
virtual void saveOriginals();
- virtual void copyOriginals(QDeclarativeActionEvent*);
+ //virtual void copyOriginals(QDeclarativeActionEvent*);
virtual void execute(Reason reason = ActualChange);
virtual bool isReversable();
virtual void reverse(Reason reason = ActualChange);
@@ -277,6 +277,7 @@ public:
virtual bool override(QDeclarativeActionEvent*other);
virtual bool changesBindings();
virtual void saveOriginals();
+ virtual bool needsCopy() { return true; }
virtual void copyOriginals(QDeclarativeActionEvent*);
virtual void clearBindings();
virtual void rewind();
diff --git a/src/declarative/util/qdeclarativesystempalette.cpp b/src/declarative/util/qdeclarativesystempalette.cpp
index 9bb3f69c7d..c3348596a1 100644
--- a/src/declarative/util/qdeclarativesystempalette.cpp
+++ b/src/declarative/util/qdeclarativesystempalette.cpp
@@ -59,23 +59,25 @@ public:
/*!
\qmlclass SystemPalette QDeclarativeSystemPalette
\since 4.7
- \ingroup group_utility
- \brief The SystemPalette item gives access to the Qt palettes.
- \sa QPalette
+ \brief The SystemPalette element provides access to the Qt palettes.
- Example:
- \qml
- SystemPalette { id: myPalette; colorGroup: Qt.Active }
+ The SystemPalette element provides access to the Qt application
+ palettes. This provides information about the standard colors used
+ for application windows, buttons and other features. These colors
+ are grouped into three \e {color groups}: \c Active, \c Inactive,
+ and \c Disabled. See the QPalette documentation for details about
+ color groups and the properties provided by SystemPalette.
- Rectangle {
- width: 640; height: 480
- color: myPalette.window
- Text {
- anchors.fill: parent
- text: "Hello!"; color: myPalette.windowText
- }
- }
- \endqml
+ This can be used to color items in a way that provides a more
+ native look and feel.
+
+ The following example creates a palette from the \c Active color
+ group and uses this to color the window and text items
+ appropriately:
+
+ \snippet doc/src/snippets/declarative/systempalette.qml 0
+
+ \sa QPalette
*/
QDeclarativeSystemPalette::QDeclarativeSystemPalette(QObject *parent)
: QObject(*(new QDeclarativeSystemPalettePrivate), parent)
@@ -259,10 +261,15 @@ QColor QDeclarativeSystemPalette::highlightedText() const
}
/*!
- \qmlproperty QDeclarativeSystemPalette::ColorGroup SystemPalette::colorGroup
+ \qmlproperty enumeration SystemPalette::colorGroup
+
+ The color group of the palette. This can be one of:
- The color group of the palette. It can be Active, Inactive or Disabled.
- Active is the default.
+ \list
+ \o SystemPalette.Active (default)
+ \o SystemPalette.Inactive
+ \o SystemPalette.Disabled
+ \endlist
\sa QPalette::ColorGroup
*/
diff --git a/src/declarative/util/qdeclarativetimeline.cpp b/src/declarative/util/qdeclarativetimeline.cpp
index 656c62b895..0258b3ce63 100644
--- a/src/declarative/util/qdeclarativetimeline.cpp
+++ b/src/declarative/util/qdeclarativetimeline.cpp
@@ -255,7 +255,6 @@ qreal QDeclarativeTimeLinePrivate::value(const Op &op, int time, qreal base, boo
/*!
\internal
\class QDeclarativeTimeLine
- \ingroup group_animation
\brief The QDeclarativeTimeLine class provides a timeline for controlling animations.
QDeclarativeTimeLine is similar to QTimeLine except:
@@ -387,7 +386,10 @@ void QDeclarativeTimeLine::set(QDeclarativeTimeLineValue &timeLineValue, qreal v
*/
int QDeclarativeTimeLine::accel(QDeclarativeTimeLineValue &timeLineValue, qreal velocity, qreal acceleration)
{
- if ((velocity > 0.0f) == (acceleration > 0.0f))
+ if (acceleration == 0.0f)
+ return -1;
+
+ if ((velocity > 0.0f) == (acceleration > 0.0f))
acceleration = acceleration * -1.0f;
int time = static_cast<int>(-1000 * velocity / acceleration);
@@ -410,13 +412,16 @@ int QDeclarativeTimeLine::accel(QDeclarativeTimeLineValue &timeLineValue, qreal
*/
int QDeclarativeTimeLine::accel(QDeclarativeTimeLineValue &timeLineValue, qreal velocity, qreal acceleration, qreal maxDistance)
{
- Q_ASSERT(acceleration >= 0.0f && maxDistance >= 0.0f);
+ if (maxDistance == 0.0f || acceleration == 0.0f)
+ return -1;
+
+ Q_ASSERT(acceleration > 0.0f && maxDistance > 0.0f);
qreal maxAccel = (velocity * velocity) / (2.0f * maxDistance);
if (maxAccel > acceleration)
acceleration = maxAccel;
- if ((velocity > 0.0f) == (acceleration > 0.0f))
+ if ((velocity > 0.0f) == (acceleration > 0.0f))
acceleration = acceleration * -1.0f;
int time = static_cast<int>(-1000 * velocity / acceleration);
@@ -438,6 +443,7 @@ int QDeclarativeTimeLine::accelDistance(QDeclarativeTimeLineValue &timeLineValue
{
if (distance == 0.0f || velocity == 0.0f)
return -1;
+
Q_ASSERT((distance >= 0.0f) == (velocity >= 0.0f));
int time = static_cast<int>(1000 * (2.0f * distance) / velocity);
@@ -868,7 +874,6 @@ void QDeclarativeTimeLine::remove(QDeclarativeTimeLineObject *v)
/*!
\internal
\class QDeclarativeTimeLineValue
- \ingroup group_animation
\brief The QDeclarativeTimeLineValue class provides a value that can be modified by QDeclarativeTimeLine.
*/
diff --git a/src/declarative/util/qdeclarativetimeline_p_p.h b/src/declarative/util/qdeclarativetimeline_p_p.h
index 598c897f9f..61f6bcdf95 100644
--- a/src/declarative/util/qdeclarativetimeline_p_p.h
+++ b/src/declarative/util/qdeclarativetimeline_p_p.h
@@ -63,7 +63,7 @@ class QDeclarativeTimeLineValue;
class QDeclarativeTimeLineCallback;
struct QDeclarativeTimeLinePrivate;
class QDeclarativeTimeLineObject;
-class QDeclarativeTimeLine : public QAbstractAnimation
+class Q_AUTOTEST_EXPORT QDeclarativeTimeLine : public QAbstractAnimation
{
Q_OBJECT
public:
@@ -117,7 +117,7 @@ private:
QDeclarativeTimeLinePrivate *d;
};
-class QDeclarativeTimeLineObject
+class Q_AUTOTEST_EXPORT QDeclarativeTimeLineObject
{
public:
QDeclarativeTimeLineObject();
@@ -129,7 +129,7 @@ protected:
QDeclarativeTimeLine *_t;
};
-class QDeclarativeTimeLineValue : public QDeclarativeTimeLineObject
+class Q_AUTOTEST_EXPORT QDeclarativeTimeLineValue : public QDeclarativeTimeLineObject
{
public:
QDeclarativeTimeLineValue(qreal v = 0.) : _v(v) {}
@@ -147,7 +147,7 @@ private:
qreal _v;
};
-class QDeclarativeTimeLineCallback
+class Q_AUTOTEST_EXPORT QDeclarativeTimeLineCallback
{
public:
typedef void (*Callback)(void *);
diff --git a/src/declarative/util/qdeclarativetimer.cpp b/src/declarative/util/qdeclarativetimer.cpp
index 53a9d83e06..9e18eb54a6 100644
--- a/src/declarative/util/qdeclarativetimer.cpp
+++ b/src/declarative/util/qdeclarativetimer.cpp
@@ -80,17 +80,22 @@ public:
the text every 500 milliseconds:
\qml
- Timer {
- interval: 500; running: true; repeat: true
- onTriggered: time.text = Date().toString()
- }
- Text {
- id: time
+ import Qt 4.7
+
+ Item {
+ Timer {
+ interval: 500; running: true; repeat: true
+ onTriggered: time.text = Date().toString()
+ }
+
+ Text {
+ id: time
+ }
}
\endqml
- QDeclarativeTimer is synchronized with the animation timer. Since the animation
- timer is usually set to 60fps, the resolution of QDeclarativeTimer will be
+ The Timer element is synchronized with the animation timer. Since the animation
+ timer is usually set to 60fps, the resolution of Timer will be
at best 16ms.
If the Timer is running and one of its properties is changed, the
@@ -98,8 +103,6 @@ public:
1000ms has its \e repeat property changed 500ms after starting, the
elapsed time will be reset to 0, and the Timer will be triggered
1000ms later.
-
- \sa {QtDeclarative}
*/
QDeclarativeTimer::QDeclarativeTimer(QObject *parent)
diff --git a/src/declarative/util/qdeclarativetransition.cpp b/src/declarative/util/qdeclarativetransition.cpp
index f2841567c6..ab8b116c06 100644
--- a/src/declarative/util/qdeclarativetransition.cpp
+++ b/src/declarative/util/qdeclarativetransition.cpp
@@ -53,7 +53,7 @@ QT_BEGIN_NAMESPACE
/*!
\qmlclass Transition QDeclarativeTransition
- \since 4.7
+ \since 4.7
\brief The Transition element defines animated transitions that occur on state changes.
\sa {qmlstates}{States}, {state-transitions}{Transitions}, {QtDeclarative}
@@ -63,8 +63,6 @@ QT_BEGIN_NAMESPACE
\internal
\class QDeclarativeTransition
\brief The QDeclarativeTransition class allows you to define animated transitions that occur on state changes.
-
- \ingroup group_states
*/
//ParallelAnimationWrapper allows us to do a "callback" when the animation finishes, rather than connecting
diff --git a/src/declarative/util/qdeclarativetransitionmanager.cpp b/src/declarative/util/qdeclarativetransitionmanager.cpp
index 368d4848b2..9f198e4f31 100644
--- a/src/declarative/util/qdeclarativetransitionmanager.cpp
+++ b/src/declarative/util/qdeclarativetransitionmanager.cpp
@@ -233,6 +233,7 @@ void QDeclarativeTransitionManager::transition(const QList<QDeclarativeAction> &
action.property.write(action.toValue);
}
}
+#ifndef QT_NO_DEBUG_STREAM
if (stateChangeDebug()) {
foreach(const QDeclarativeAction &action, applyList) {
if (action.event)
@@ -243,6 +244,7 @@ void QDeclarativeTransitionManager::transition(const QList<QDeclarativeAction> &
<< "To:" << action.toValue;
}
}
+#endif
if (!transition)
d->applyBindings();
}
diff --git a/src/declarative/util/qdeclarativetransitionmanager_p_p.h b/src/declarative/util/qdeclarativetransitionmanager_p_p.h
index 41313919fe..75d11a9376 100644
--- a/src/declarative/util/qdeclarativetransitionmanager_p_p.h
+++ b/src/declarative/util/qdeclarativetransitionmanager_p_p.h
@@ -59,7 +59,7 @@ QT_BEGIN_NAMESPACE
class QDeclarativeStatePrivate;
class QDeclarativeTransitionManagerPrivate;
-class QDeclarativeTransitionManager
+class Q_AUTOTEST_EXPORT QDeclarativeTransitionManager
{
public:
QDeclarativeTransitionManager();
@@ -70,7 +70,7 @@ public:
void cancel();
private:
- Q_DISABLE_COPY(QDeclarativeTransitionManager);
+ Q_DISABLE_COPY(QDeclarativeTransitionManager)
QDeclarativeTransitionManagerPrivate *d;
void complete();
diff --git a/src/declarative/util/qdeclarativeview.cpp b/src/declarative/util/qdeclarativeview.cpp
index 62d913c5b3..0414e65818 100644
--- a/src/declarative/util/qdeclarativeview.cpp
+++ b/src/declarative/util/qdeclarativeview.cpp
@@ -45,11 +45,11 @@
#include <qdeclarativeitem.h>
#include <qdeclarativeengine.h>
#include <qdeclarativecontext.h>
-#include <qdeclarativedebug_p.h>
-#include <qdeclarativedebugservice_p.h>
#include <qdeclarativeglobal_p.h>
#include <qdeclarativeguard_p.h>
+#include <private/qdeclarativedebugtrace_p.h>
+
#include <qscriptvalueiterator.h>
#include <qdebug.h>
#include <qtimer.h>
@@ -66,81 +66,78 @@
#include <QtCore/qabstractanimation.h>
#include <private/qgraphicsview_p.h>
#include <private/qdeclarativeitem_p.h>
+#include <private/qabstractanimation_p.h>
#include <private/qdeclarativeitemchangelistener_p.h>
QT_BEGIN_NAMESPACE
DEFINE_BOOL_CONFIG_OPTION(frameRateDebug, QML_SHOW_FRAMERATE)
-class QDeclarativeViewDebugServer;
-class FrameBreakAnimation : public QAbstractAnimation
+class QDeclarativeScene : public QGraphicsScene
{
public:
- FrameBreakAnimation(QDeclarativeViewDebugServer *s)
- : QAbstractAnimation((QObject*)s), server(s)
- {
- start();
- }
+ QDeclarativeScene();
- virtual int duration() const { return -1; }
- virtual void updateCurrentTime(int msecs);
+protected:
+ virtual void keyPressEvent(QKeyEvent *);
+ virtual void keyReleaseEvent(QKeyEvent *);
-private:
- QDeclarativeViewDebugServer *server;
+ virtual void mouseMoveEvent(QGraphicsSceneMouseEvent *);
+ virtual void mousePressEvent(QGraphicsSceneMouseEvent *);
+ virtual void mouseReleaseEvent(QGraphicsSceneMouseEvent *);
};
-class QDeclarativeViewDebugServer : public QDeclarativeDebugService
+QDeclarativeScene::QDeclarativeScene()
{
-public:
- QDeclarativeViewDebugServer(QObject *parent = 0) : QDeclarativeDebugService(QLatin1String("CanvasFrameRate"), parent), breaks(0)
- {
- timer.start();
- new FrameBreakAnimation(this);
- }
+}
- void addTiming(int pe, int tbf)
- {
- if (!isEnabled())
- return;
-
- bool isFrameBreak = breaks > 1;
- breaks = 0;
- int e = timer.elapsed();
- QByteArray data;
- QDataStream ds(&data, QIODevice::WriteOnly);
- ds << (int)pe << (int)tbf << (int)e
- << (bool)isFrameBreak;
- sendMessage(data);
- }
+void QDeclarativeScene::keyPressEvent(QKeyEvent *e)
+{
+ QDeclarativeDebugTrace::addEvent(QDeclarativeDebugTrace::Key);
- void frameBreak() { ++breaks; }
+ QGraphicsScene::keyPressEvent(e);
+}
-private:
- QTime timer;
- int breaks;
-};
+void QDeclarativeScene::keyReleaseEvent(QKeyEvent *e)
+{
+ QDeclarativeDebugTrace::addEvent(QDeclarativeDebugTrace::Key);
-Q_GLOBAL_STATIC(QDeclarativeViewDebugServer, qfxViewDebugServer);
+ QGraphicsScene::keyReleaseEvent(e);
+}
-void FrameBreakAnimation::updateCurrentTime(int msecs)
+void QDeclarativeScene::mouseMoveEvent(QGraphicsSceneMouseEvent *e)
{
- Q_UNUSED(msecs);
- server->frameBreak();
+ QDeclarativeDebugTrace::addEvent(QDeclarativeDebugTrace::Mouse);
+
+ QGraphicsScene::mouseMoveEvent(e);
}
-class QDeclarativeViewPrivate : public QDeclarativeItemChangeListener
+void QDeclarativeScene::mousePressEvent(QGraphicsSceneMouseEvent *e)
{
+ QDeclarativeDebugTrace::addEvent(QDeclarativeDebugTrace::Mouse);
+
+ QGraphicsScene::mousePressEvent(e);
+}
+
+void QDeclarativeScene::mouseReleaseEvent(QGraphicsSceneMouseEvent *e)
+{
+ QDeclarativeDebugTrace::addEvent(QDeclarativeDebugTrace::Mouse);
+
+ QGraphicsScene::mouseReleaseEvent(e);
+}
+
+class QDeclarativeViewPrivate : public QGraphicsViewPrivate, public QDeclarativeItemChangeListener
+{
+ Q_DECLARE_PUBLIC(QDeclarativeView)
public:
- QDeclarativeViewPrivate(QDeclarativeView *view)
- : q(view), root(0), declarativeItemRoot(0), graphicsWidgetRoot(0), component(0), resizeMode(QDeclarativeView::SizeViewToRootObject) {}
+ QDeclarativeViewPrivate()
+ : root(0), declarativeItemRoot(0), graphicsWidgetRoot(0), component(0), resizeMode(QDeclarativeView::SizeViewToRootObject), initialSize(0,0) {}
~QDeclarativeViewPrivate() { delete root; }
void execute();
void itemGeometryChanged(QDeclarativeItem *item, const QRectF &newGeometry, const QRectF &oldGeometry);
void initResize();
void updateSize();
- inline QSize rootObjectSize();
-
- QDeclarativeView *q;
+ inline QSize rootObjectSize() const;
QDeclarativeGuard<QGraphicsObject> root;
QDeclarativeGuard<QDeclarativeItem> declarativeItemRoot;
@@ -153,15 +150,17 @@ public:
QBasicTimer resizetimer;
QDeclarativeView::ResizeMode resizeMode;
- QTime frameTimer;
+ QSize initialSize;
+ QElapsedTimer frameTimer;
void init();
- QGraphicsScene scene;
+ QDeclarativeScene scene;
};
void QDeclarativeViewPrivate::execute()
{
+ Q_Q(QDeclarativeView);
if (root) {
delete root;
root = 0;
@@ -182,6 +181,7 @@ void QDeclarativeViewPrivate::execute()
void QDeclarativeViewPrivate::itemGeometryChanged(QDeclarativeItem *resizeItem, const QRectF &newGeometry, const QRectF &oldGeometry)
{
+ Q_Q(QDeclarativeView);
if (resizeItem == root && resizeMode == QDeclarativeView::SizeViewToRootObject) {
// wait for both width and height to be changed
resizetimer.start(0,q);
@@ -250,8 +250,9 @@ void QDeclarativeViewPrivate::itemGeometryChanged(QDeclarativeItem *resizeItem,
Constructs a QDeclarativeView with the given \a parent.
*/
QDeclarativeView::QDeclarativeView(QWidget *parent)
-: QGraphicsView(parent), d(new QDeclarativeViewPrivate(this))
+ : QGraphicsView(*(new QDeclarativeViewPrivate), parent)
{
+ Q_D(QDeclarativeView);
setSizePolicy(QSizePolicy::Preferred,QSizePolicy::Preferred);
d->init();
}
@@ -262,8 +263,9 @@ QDeclarativeView::QDeclarativeView(QWidget *parent)
Constructs a QDeclarativeView with the given QML \a source and \a parent.
*/
QDeclarativeView::QDeclarativeView(const QUrl &source, QWidget *parent)
-: QGraphicsView(parent), d(new QDeclarativeViewPrivate(this))
+ : QGraphicsView(*(new QDeclarativeViewPrivate), parent)
{
+ Q_D(QDeclarativeView);
setSizePolicy(QSizePolicy::Preferred,QSizePolicy::Preferred);
d->init();
setSource(source);
@@ -271,6 +273,7 @@ QDeclarativeView::QDeclarativeView(const QUrl &source, QWidget *parent)
void QDeclarativeViewPrivate::init()
{
+ Q_Q(QDeclarativeView);
q->setScene(&scene);
q->setOptimizationFlags(QGraphicsView::DontSavePainterState);
@@ -288,12 +291,10 @@ void QDeclarativeViewPrivate::init()
}
/*!
- The destructor clears the view's \l {QGraphicsObject} {items} and
- deletes the internal representation.
+ Destroys the view.
*/
QDeclarativeView::~QDeclarativeView()
{
- delete d;
}
/*! \property QDeclarativeView::source
@@ -316,6 +317,7 @@ QDeclarativeView::~QDeclarativeView()
*/
void QDeclarativeView::setSource(const QUrl& url)
{
+ Q_D(QDeclarativeView);
d->source = url;
d->execute();
}
@@ -327,6 +329,7 @@ void QDeclarativeView::setSource(const QUrl& url)
*/
QUrl QDeclarativeView::source() const
{
+ Q_D(const QDeclarativeView);
return d->source;
}
@@ -336,6 +339,7 @@ QUrl QDeclarativeView::source() const
*/
QDeclarativeEngine* QDeclarativeView::engine()
{
+ Q_D(QDeclarativeView);
return &d->engine;
}
@@ -348,6 +352,7 @@ QDeclarativeEngine* QDeclarativeView::engine()
*/
QDeclarativeContext* QDeclarativeView::rootContext()
{
+ Q_D(QDeclarativeView);
return d->engine.rootContext();
}
@@ -376,6 +381,7 @@ QDeclarativeContext* QDeclarativeView::rootContext()
QDeclarativeView::Status QDeclarativeView::status() const
{
+ Q_D(const QDeclarativeView);
if (!d->component)
return QDeclarativeView::Null;
@@ -388,6 +394,7 @@ QDeclarativeView::Status QDeclarativeView::status() const
*/
QList<QDeclarativeError> QDeclarativeView::errors() const
{
+ Q_D(const QDeclarativeView);
if (d->component)
return d->component->errors();
return QList<QDeclarativeError>();
@@ -410,6 +417,7 @@ QList<QDeclarativeError> QDeclarativeView::errors() const
void QDeclarativeView::setResizeMode(ResizeMode mode)
{
+ Q_D(QDeclarativeView);
if (d->resizeMode == mode)
return;
@@ -433,6 +441,7 @@ void QDeclarativeView::setResizeMode(ResizeMode mode)
void QDeclarativeViewPrivate::initResize()
{
+ Q_Q(QDeclarativeView);
if (declarativeItemRoot) {
if (resizeMode == QDeclarativeView::SizeViewToRootObject) {
QDeclarativeItemPrivate *p =
@@ -449,6 +458,7 @@ void QDeclarativeViewPrivate::initResize()
void QDeclarativeViewPrivate::updateSize()
{
+ Q_Q(QDeclarativeView);
if (!root)
return;
if (declarativeItemRoot) {
@@ -479,15 +489,12 @@ void QDeclarativeViewPrivate::updateSize()
q->updateGeometry();
}
-QSize QDeclarativeViewPrivate::rootObjectSize()
+QSize QDeclarativeViewPrivate::rootObjectSize() const
{
QSize rootObjectSize(0,0);
int widthCandidate = -1;
int heightCandidate = -1;
- if (declarativeItemRoot) {
- widthCandidate = declarativeItemRoot->width();
- heightCandidate = declarativeItemRoot->height();
- } else if (root) {
+ if (root) {
QSizeF size = root->boundingRect().size();
widthCandidate = size.width();
heightCandidate = size.height();
@@ -503,6 +510,7 @@ QSize QDeclarativeViewPrivate::rootObjectSize()
QDeclarativeView::ResizeMode QDeclarativeView::resizeMode() const
{
+ Q_D(const QDeclarativeView);
return d->resizeMode;
}
@@ -511,7 +519,7 @@ QDeclarativeView::ResizeMode QDeclarativeView::resizeMode() const
*/
void QDeclarativeView::continueExecute()
{
-
+ Q_D(QDeclarativeView);
disconnect(d->component, SIGNAL(statusChanged(QDeclarativeComponent::Status)), this, SLOT(continueExecute()));
if (d->component->isError()) {
@@ -544,6 +552,7 @@ void QDeclarativeView::continueExecute()
*/
void QDeclarativeView::setRootObject(QObject *obj)
{
+ Q_D(QDeclarativeView);
if (d->root == obj)
return;
if (QDeclarativeItem *declarativeItem = qobject_cast<QDeclarativeItem *>(obj)) {
@@ -578,9 +587,11 @@ void QDeclarativeView::setRootObject(QObject *obj)
}
if (d->root) {
- QSize initialSize = d->rootObjectSize();
- if (initialSize != size()) {
- resize(initialSize);
+ d->initialSize = d->rootObjectSize();
+ if (d->initialSize != size()) {
+ if (!(parentWidget() && parentWidget()->layout())) {
+ resize(d->initialSize);
+ }
}
d->initResize();
}
@@ -593,6 +604,7 @@ void QDeclarativeView::setRootObject(QObject *obj)
*/
void QDeclarativeView::timerEvent(QTimerEvent* e)
{
+ Q_D(QDeclarativeView);
if (!e || e->timerId() == d->resizetimer.timerId()) {
d->updateSize();
d->resizetimer.stop();
@@ -602,6 +614,7 @@ void QDeclarativeView::timerEvent(QTimerEvent* e)
/*! \reimp */
bool QDeclarativeView::eventFilter(QObject *watched, QEvent *e)
{
+ Q_D(QDeclarativeView);
if (watched == d->root && d->resizeMode == SizeViewToRootObject) {
if (d->graphicsWidgetRoot) {
if (e->type() == QEvent::GraphicsSceneResize) {
@@ -614,24 +627,34 @@ bool QDeclarativeView::eventFilter(QObject *watched, QEvent *e)
/*!
\internal
- Preferred size follows the root object in
- resize mode SizeViewToRootObject and
- the view in resize mode SizeRootObjectToView.
+ Preferred size follows the root object geometry.
*/
QSize QDeclarativeView::sizeHint() const
{
- if (d->resizeMode == SizeRootObjectToView) {
+ Q_D(const QDeclarativeView);
+ QSize rootObjectSize = d->rootObjectSize();
+ if (rootObjectSize.isEmpty()) {
return size();
- } else { // d->resizeMode == SizeViewToRootObject
- return d->rootObjectSize();
+ } else {
+ return rootObjectSize;
}
}
/*!
+ Returns the initial size of the root object
+*/
+QSize QDeclarativeView::initialSize() const
+{
+ Q_D(const QDeclarativeView);
+ return d->initialSize;
+}
+
+/*!
Returns the view's root \l {QGraphicsObject} {item}.
*/
QGraphicsObject *QDeclarativeView::rootObject() const
{
+ Q_D(const QDeclarativeView);
return d->root;
}
@@ -642,6 +665,7 @@ QGraphicsObject *QDeclarativeView::rootObject() const
*/
void QDeclarativeView::resizeEvent(QResizeEvent *e)
{
+ Q_D(QDeclarativeView);
if (d->resizeMode == SizeRootObjectToView) {
d->updateSize();
}
@@ -661,12 +685,19 @@ void QDeclarativeView::resizeEvent(QResizeEvent *e)
*/
void QDeclarativeView::paintEvent(QPaintEvent *event)
{
+ Q_D(QDeclarativeView);
+
+ QDeclarativeDebugTrace::addEvent(QDeclarativeDebugTrace::FramePaint);
+ QDeclarativeDebugTrace::startRange(QDeclarativeDebugTrace::Painting);
+
int time = 0;
- if (frameRateDebug() || QDeclarativeViewDebugServer::isDebuggingEnabled())
+ if (frameRateDebug())
time = d->frameTimer.restart();
+
QGraphicsView::paintEvent(event);
- if (QDeclarativeViewDebugServer::isDebuggingEnabled())
- qfxViewDebugServer()->addTiming(d->frameTimer.elapsed(), time);
+
+ QDeclarativeDebugTrace::endRange(QDeclarativeDebugTrace::Painting);
+
if (frameRateDebug())
qDebug() << "paintEvent:" << d->frameTimer.elapsed() << "time since last frame:" << time;
}
diff --git a/src/declarative/util/qdeclarativeview.h b/src/declarative/util/qdeclarativeview.h
index 3513c04e6c..cdcf134aa4 100644
--- a/src/declarative/util/qdeclarativeview.h
+++ b/src/declarative/util/qdeclarativeview.h
@@ -90,6 +90,7 @@ public:
QList<QDeclarativeError> errors() const;
QSize sizeHint() const;
+ QSize initialSize() const;
Q_SIGNALS:
void sceneResized(QSize size); // ???
@@ -106,9 +107,8 @@ protected:
virtual bool eventFilter(QObject *watched, QEvent *e);
private:
- friend class QDeclarativeViewPrivate;
- QDeclarativeViewPrivate *d;
Q_DISABLE_COPY(QDeclarativeView)
+ Q_DECLARE_PRIVATE(QDeclarativeView)
};
QT_END_NAMESPACE
diff --git a/src/declarative/util/qdeclarativexmllistmodel.cpp b/src/declarative/util/qdeclarativexmllistmodel.cpp
index bdebadf57d..4adef25bb5 100644
--- a/src/declarative/util/qdeclarativexmllistmodel.cpp
+++ b/src/declarative/util/qdeclarativexmllistmodel.cpp
@@ -42,7 +42,7 @@
#include "private/qdeclarativexmllistmodel_p.h"
#include <qdeclarativecontext.h>
-#include <qdeclarativeengine.h>
+#include <qdeclarativeengine_p.h>
#include <QDebug>
#include <QStringList>
@@ -80,28 +80,42 @@ typedef QPair<int, int> QDeclarativeXmlListRange;
/*!
\qmlproperty string XmlRole::name
- The name for the role. This name is used to access the model data for this role from Qml.
- \qml
- XmlRole { name: "title"; query: "title/string()" }
+ The name for the role. This name is used to access the model data for this role.
- ...
+ For example, the following model has a role named "title", which can be accessed
+ from the view's delegate:
- Component {
- id: myDelegate
- Text { text: title }
+ \qml
+ XmlListModel {
+ id: xmlModel
+ ...
+ XmlRole { name: "title"; query: "title/string()" }
+ }
+
+ ListView {
+ model: xmlModel
+ delegate: Text { text: title }
}
\endqml
*/
/*!
\qmlproperty string XmlRole::query
- The relative XPath query for this role. The query should not start with a '/' (i.e. it must be
- relative).
+ The relative XPath expression query for this role. The query must be relative; it cannot start
+ with a '/'.
- \qml
- XmlRole { name: "title"; query: "title/string()" }
- \endqml
+ For example, if there is an XML document like this:
+
+ \quotefile doc/src/snippets/declarative/xmlrole.xml
+
+ Here are some valid XPath expressions for XmlRole queries on this document:
+
+ \snippet doc/src/snippets/declarative/xmlrole.qml 0
+ \dots 4
+ \snippet doc/src/snippets/declarative/xmlrole.qml 1
+
+ See the \l{http://www.w3.org/TR/xpath20/}{W3C XPath 2.0 specification} for more information.
*/
/*!
@@ -122,11 +136,11 @@ struct XmlQueryJob
QString query;
QString namespaces;
QStringList roleQueries;
+ QList<void*> roleQueryErrorId; // the ptr to send back if there is an error
QStringList keyRoleQueries;
QStringList keyRoleResultsCache;
};
-
class QDeclarativeXmlQuery : public QThread
{
Q_OBJECT
@@ -166,6 +180,7 @@ public:
continue;
}
job.roleQueries << roleObjects->at(i)->query();
+ job.roleQueryErrorId << static_cast<void*>(roleObjects->at(i));
if (roleObjects->at(i)->isKey())
job.keyRoleQueries << job.roleQueries.last();
}
@@ -181,6 +196,7 @@ public:
Q_SIGNALS:
void queryCompleted(const QDeclarativeXmlQueryResult &);
+ void error(void*, const QString&);
protected:
void run() {
@@ -346,26 +362,24 @@ void QDeclarativeXmlQuery::doSubQueryJob()
}
job.keyRoleResultsCache = keyRoleResults;
-
// Get the new values for each role.
//### we might be able to condense even further (query for everything in one go)
const QStringList &queries = job.roleQueries;
for (int i = 0; i < queries.size(); ++i) {
- if (queries[i].isEmpty()) {
- QList<QVariant> resultList;
- for (int j = 0; j < m_size; ++j)
- resultList << QVariant();
- m_modelData << resultList;
- continue;
- }
- subquery.setQuery(m_prefix + QLatin1String("(let $v := ") + queries[i] + QLatin1String(" return if ($v) then ") + queries[i] + QLatin1String(" else \"\")"));
- QXmlResultItems resultItems;
- subquery.evaluateTo(&resultItems);
- QXmlItem item(resultItems.next());
QList<QVariant> resultList;
- while (!item.isNull()) {
- resultList << item.toAtomicValue(); //### we used to trim strings
- item = resultItems.next();
+ if (!queries[i].isEmpty()) {
+ subquery.setQuery(m_prefix + QLatin1String("(let $v := ") + queries[i] + QLatin1String(" return if ($v) then ") + queries[i] + QLatin1String(" else \"\")"));
+ if (subquery.isValid()) {
+ QXmlResultItems resultItems;
+ subquery.evaluateTo(&resultItems);
+ QXmlItem item(resultItems.next());
+ while (!item.isNull()) {
+ resultList << item.toAtomicValue(); //### we used to trim strings
+ item = resultItems.next();
+ }
+ } else {
+ emit error(job.roleQueryErrorId.at(i), queries[i]);
+ }
}
//### should warn here if things have gone wrong.
while (resultList.count() < m_size)
@@ -412,6 +426,16 @@ public:
, reply(0), status(QDeclarativeXmlListModel::Null), progress(0.0)
, queryId(-1), roleObjects(), redirectCount(0) {}
+
+ void notifyQueryStarted(bool remoteSource) {
+ Q_Q(QDeclarativeXmlListModel);
+ progress = remoteSource ? 0.0 : 1.0;
+ status = QDeclarativeXmlListModel::Loading;
+ errorString.clear();
+ emit q->progressChanged(progress);
+ emit q->statusChanged(status);
+ }
+
bool isComponentComplete;
QUrl src;
QString xml;
@@ -423,6 +447,7 @@ public:
int highestRole;
QNetworkReply *reply;
QDeclarativeXmlListModel::Status status;
+ QString errorString;
qreal progress;
int queryId;
QStringList keyRoleResultsCache;
@@ -472,40 +497,86 @@ void QDeclarativeXmlListModelPrivate::clear_role(QDeclarativeListProperty<QDecla
\since 4.7
\brief The XmlListModel element is used to specify a model using XPath expressions.
- XmlListModel is used to create a model from XML data that can be used as a data source
+ XmlListModel is used to create a model from XML data. XmlListModel can be used as a data source
for the view classes (such as ListView, PathView, GridView) and other classes that interact with model
- data (such as Repeater).
+ data (such as \l Repeater).
+
+ For example, if there is a XML document at http://www.mysite.com/feed.xml like this:
+
+ \code
+ <?xml version="1.0" encoding="utf-8"?>
+ <rss version="2.0">
+ ...
+ <channel>
+ <item>
+ <title>Item A</title>
+ <pubDate>Sat, 07 Sep 2010 10:00:01 GMT</pubDate>
+ </item>
+ <item>
+ <title>Item B</title>
+ <pubDate>Sat, 07 Sep 2010 15:35:01 GMT</pubDate>
+ </item>
+ </channel>
+ </rss>
+ \endcode
+
+ A XmlListModel could create a model from this data, like this:
- Here is an example of a model containing news from a Yahoo RSS feed:
\qml
+ import Qt 4.7
+
XmlListModel {
- id: feedModel
- source: "http://rss.news.yahoo.com/rss/oceania"
+ id: xmlModel
+ source: "http://www.mysite.com/feed.xml"
query: "/rss/channel/item"
+
XmlRole { name: "title"; query: "title/string()" }
XmlRole { name: "pubDate"; query: "pubDate/string()" }
- XmlRole { name: "description"; query: "description/string()" }
}
\endqml
- You can also define certain roles as "keys" so that the model only adds data
- that contains new values for these keys when reload() is called.
+ The \l {XmlListModel::query}{query} value of "/rss/channel/item" specifies that the XmlListModel should generate
+ a model item for each \c <item> in the XML document.
+
+ The XmlRole objects define the
+ model item attributes. Here, each model item will have \c title and \c pubDate
+ attributes that match the \c title and \c pubDate values of its corresponding \c <item>.
+ (See \l XmlRole::query for more examples of valid XPath expressions for XmlRole.)
- For example, if the roles above were defined like this:
+ The model could be used in a ListView, like this:
+
+ \qml
+ ListView {
+ width: 180; height: 300
+ model: xmlModel
+ delegate: Text { title + " (" + pubDate + ")" }
+ }
+ \endqml
+
+
+ \section2 Using key XML roles
+
+ You can define certain roles as "keys" so that when reload() is called,
+ the model will only add and refresh data that contains new values for
+ these keys.
+
+ For example, if above role for "pubDate" was defined like this instead:
\qml
- XmlRole { name: "title"; query: "title/string()"; isKey: true }
XmlRole { name: "pubDate"; query: "pubDate/string()"; isKey: true }
\endqml
- Then when reload() is called, the model will only add new items with a
- "title" and "pubDate" value combination that is not already present in
- the model.
+ Then when reload() is called, the model will only add and reload
+ items with a "pubDate" value that is not already
+ present in the model.
- This is useful to provide incremental updates and avoid repainting an
- entire model in a view.
+ This is useful when displaying the contents of XML documents that
+ are incrementally updated (such as RSS feeds) to avoid repainting the
+ entire contents of a model in a view.
- \sa {QtDeclarative}
+ If multiple key roles are specified, the model only adds and reload items
+ with a combined value of all key roles that is not already present in
+ the model.
*/
QDeclarativeXmlListModel::QDeclarativeXmlListModel(QObject *parent)
@@ -513,6 +584,8 @@ QDeclarativeXmlListModel::QDeclarativeXmlListModel(QObject *parent)
{
connect(globalXmlQuery(), SIGNAL(queryCompleted(QDeclarativeXmlQueryResult)),
this, SLOT(queryCompleted(QDeclarativeXmlQueryResult)));
+ connect(globalXmlQuery(), SIGNAL(error(void*,QString)),
+ this, SLOT(queryError(void*,QString)));
}
QDeclarativeXmlListModel::~QDeclarativeXmlListModel()
@@ -602,11 +675,11 @@ void QDeclarativeXmlListModel::setSource(const QUrl &src)
/*!
\qmlproperty string XmlListModel::xml
- This property holds XML text set directly.
+ This property holds the XML data for this model, if set.
The text is assumed to be UTF-8 encoded.
- If both source and xml are set, xml will be used.
+ If both \l source and \c xml are set, \c xml will be used.
*/
QString QDeclarativeXmlListModel::xml() const
{
@@ -626,8 +699,8 @@ void QDeclarativeXmlListModel::setXml(const QString &xml)
/*!
\qmlproperty string XmlListModel::query
- An absolute XPath query representing the base query for the model items. The query should start with
- '/' or '//'.
+ An absolute XPath query representing the base query for creating model items
+ from this model's XmlRole objects. The query should start with '/' or '//'.
*/
QString QDeclarativeXmlListModel::query() const
{
@@ -652,7 +725,21 @@ void QDeclarativeXmlListModel::setQuery(const QString &query)
/*!
\qmlproperty string XmlListModel::namespaceDeclarations
- A set of declarations for the namespaces used in the query.
+ The namespace declarations to be used in the XPath queries.
+
+ The namespaces should be declared as in XQuery. For example, if a requested document
+ at http://mysite.com/feed.xml uses the namespace "http://www.w3.org/2005/Atom",
+ this can be declared as the default namespace:
+
+ \qml
+ XmlListModel {
+ source: "http://mysite.com/feed.xml"
+ query: "/feed/entry"
+ namespaceDeclarations: "declare default element namespace 'http://www.w3.org/2005/Atom';"
+
+ XmlRole { name: "title"; query: "title/string()" }
+ }
+ \endqml
*/
QString QDeclarativeXmlListModel::namespaceDeclarations() const
{
@@ -671,14 +758,51 @@ void QDeclarativeXmlListModel::setNamespaceDeclarations(const QString &declarati
}
/*!
+ \qmlmethod object XmlListModel::get(int index)
+
+ Returns the item at \a index in the model.
+
+ For example, for a model like this:
+
+ \qml
+ XmlListModel {
+ id: model
+ source: "http://mysite.com/feed.xml"
+ query: "/feed/entry"
+ XmlRole { name: "title"; query: "title/string()" }
+ }
+ \endqml
+
+ This will access the \c title value for the first item in the model:
+
+ \qml
+ var title = model.get(0).title;
+ \endqml
+*/
+QScriptValue QDeclarativeXmlListModel::get(int index) const
+{
+ Q_D(const QDeclarativeXmlListModel);
+
+ QScriptEngine *sengine = QDeclarativeEnginePrivate::getScriptEngine(qmlContext(this)->engine());
+ if (index < 0 || index >= count())
+ return sengine->undefinedValue();
+
+ QScriptValue sv = sengine->newObject();
+ for (int i=0; i<d->roleObjects.count(); i++)
+ sv.setProperty(d->roleObjects[i]->name(), qScriptValueFromValue(sengine, d->data.value(i).value(index)));
+ return sv;
+}
+
+/*!
\qmlproperty enumeration XmlListModel::status
Specifies the model loading status, which can be one of the following:
\list
- \o Null - No XML data has been set for this model.
- \o Ready - The XML data has been loaded into the model.
- \o Loading - The model is in the process of reading and loading XML data.
- \o Error - An error occurred while the model was loading.
+ \o XmlListModel.Null - No XML data has been set for this model.
+ \o XmlListModel.Ready - The XML data has been loaded into the model.
+ \o XmlListModel.Loading - The model is in the process of reading and loading XML data.
+ \o XmlListModel.Error - An error occurred while the model was loading. See errorString() for details
+ about the error.
\endlist
\sa progress
@@ -711,6 +835,12 @@ qreal QDeclarativeXmlListModel::progress() const
return d->progress;
}
+QString QDeclarativeXmlListModel::errorString() const
+{
+ Q_D(const QDeclarativeXmlListModel);
+ return d->errorString;
+}
+
void QDeclarativeXmlListModel::classBegin()
{
Q_D(QDeclarativeXmlListModel);
@@ -735,7 +865,7 @@ void QDeclarativeXmlListModel::componentComplete()
Otherwise, items are only added if the model does not already
contain items with matching key role values.
- \sa XmlRole::isKey
+ \sa {Using key XML roles}, XmlRole::isKey
*/
void QDeclarativeXmlListModel::reload()
{
@@ -752,39 +882,30 @@ void QDeclarativeXmlListModel::reload()
if (d->reply) {
d->reply->abort();
- d->reply->deleteLater();
- d->reply = 0;
+ if (d->reply) {
+ // abort will generally have already done this (and more)
+ d->reply->deleteLater();
+ d->reply = 0;
+ }
}
if (!d->xml.isEmpty()) {
d->queryId = globalXmlQuery()->doQuery(d->query, d->namespaces, d->xml.toUtf8(), &d->roleObjects, d->keyRoleResultsCache);
- d->progress = 1.0;
- d->status = Loading;
- emit progressChanged(d->progress);
- emit statusChanged(d->status);
- return;
- }
+ d->notifyQueryStarted(false);
- if (d->src.isEmpty()) {
+ } else if (d->src.isEmpty()) {
d->queryId = XMLLISTMODEL_CLEAR_ID;
- d->progress = 1.0;
- d->status = Loading;
- emit progressChanged(d->progress);
- emit statusChanged(d->status);
+ d->notifyQueryStarted(false);
QTimer::singleShot(0, this, SLOT(dataCleared()));
- return;
- }
-
- d->progress = 0.0;
- d->status = Loading;
- emit progressChanged(d->progress);
- emit statusChanged(d->status);
- QNetworkRequest req(d->src);
- d->reply = qmlContext(this)->engine()->networkAccessManager()->get(req);
- QObject::connect(d->reply, SIGNAL(finished()), this, SLOT(requestFinished()));
- QObject::connect(d->reply, SIGNAL(downloadProgress(qint64,qint64)),
- this, SLOT(requestProgress(qint64,qint64)));
+ } else {
+ d->notifyQueryStarted(true);
+ QNetworkRequest req(d->src);
+ d->reply = qmlContext(this)->engine()->networkAccessManager()->get(req);
+ QObject::connect(d->reply, SIGNAL(finished()), this, SLOT(requestFinished()));
+ QObject::connect(d->reply, SIGNAL(downloadProgress(qint64,qint64)),
+ this, SLOT(requestProgress(qint64,qint64)));
+ }
}
#define XMLLISTMODEL_MAX_REDIRECT 16
@@ -807,6 +928,7 @@ void QDeclarativeXmlListModel::requestFinished()
d->redirectCount = 0;
if (d->reply->error() != QNetworkReply::NoError) {
+ d->errorString = d->reply->errorString();
disconnect(d->reply, 0, this, 0);
d->reply->deleteLater();
d->reply = 0;
@@ -859,6 +981,19 @@ void QDeclarativeXmlListModel::dataCleared()
queryCompleted(r);
}
+void QDeclarativeXmlListModel::queryError(void* object, const QString& error)
+{
+ // Be extra careful, object may no longer exist, it's just an ID.
+ Q_D(QDeclarativeXmlListModel);
+ for (int i=0; i<d->roleObjects.count(); i++) {
+ if (d->roleObjects.at(i) == static_cast<QDeclarativeXmlListModelRole*>(object)) {
+ qmlInfo(d->roleObjects.at(i)) << QObject::tr("invalid query: \"%1\"").arg(error);
+ return;
+ }
+ }
+ qmlInfo(this) << QObject::tr("invalid query: \"%1\"").arg(error);
+}
+
void QDeclarativeXmlListModel::queryCompleted(const QDeclarativeXmlQueryResult &result)
{
Q_D(QDeclarativeXmlListModel);
@@ -872,6 +1007,7 @@ void QDeclarativeXmlListModel::queryCompleted(const QDeclarativeXmlQueryResult &
d->data = result.data;
d->keyRoleResultsCache = result.keyRoleResultsCache;
d->status = Ready;
+ d->errorString.clear();
d->queryId = -1;
bool hasKeys = false;
@@ -889,7 +1025,6 @@ void QDeclarativeXmlListModel::queryCompleted(const QDeclarativeXmlQueryResult &
}
} else {
-
for (int i=0; i<result.removed.count(); i++)
emit itemsRemoved(result.removed[i].first, result.removed[i].second);
for (int i=0; i<result.inserted.count(); i++)
diff --git a/src/declarative/util/qdeclarativexmllistmodel_p.h b/src/declarative/util/qdeclarativexmllistmodel_p.h
index 7b854763d8..8d848c82ce 100644
--- a/src/declarative/util/qdeclarativexmllistmodel_p.h
+++ b/src/declarative/util/qdeclarativexmllistmodel_p.h
@@ -47,6 +47,7 @@
#include <QtCore/qurl.h>
#include <QtCore/qstringlist.h>
+#include <QtScript/qscriptvalue.h>
#include <private/qlistmodelinterface_p.h>
@@ -109,10 +110,14 @@ public:
QString namespaceDeclarations() const;
void setNamespaceDeclarations(const QString&);
+ Q_INVOKABLE QScriptValue get(int index) const;
+
enum Status { Null, Ready, Loading, Error };
Status status() const;
qreal progress() const;
+ Q_INVOKABLE QString errorString() const;
+
virtual void classBegin();
virtual void componentComplete();
@@ -137,6 +142,7 @@ private Q_SLOTS:
void requestProgress(qint64,qint64);
void dataCleared();
void queryCompleted(const QDeclarativeXmlQueryResult &);
+ void queryError(void* object, const QString& error);
private:
Q_DECLARE_PRIVATE(QDeclarativeXmlListModel)
diff --git a/src/declarative/3rdparty/qlistmodelinterface.cpp b/src/declarative/util/qlistmodelinterface.cpp
index 98d6a5b4fa..98d6a5b4fa 100644
--- a/src/declarative/3rdparty/qlistmodelinterface.cpp
+++ b/src/declarative/util/qlistmodelinterface.cpp
diff --git a/src/declarative/3rdparty/qlistmodelinterface_p.h b/src/declarative/util/qlistmodelinterface_p.h
index 07592ad55b..07592ad55b 100644
--- a/src/declarative/3rdparty/qlistmodelinterface_p.h
+++ b/src/declarative/util/qlistmodelinterface_p.h
diff --git a/src/declarative/util/util.pri b/src/declarative/util/util.pri
index f20bba164d..04cfc68c94 100644
--- a/src/declarative/util/util.pri
+++ b/src/declarative/util/util.pri
@@ -27,7 +27,8 @@ SOURCES += \
$$PWD/qdeclarativebehavior.cpp \
$$PWD/qdeclarativefontloader.cpp \
$$PWD/qdeclarativestyledtext.cpp \
- $$PWD/qdeclarativelistmodelworkeragent.cpp
+ $$PWD/qdeclarativelistmodelworkeragent.cpp \
+ $$PWD/qlistmodelinterface.cpp
HEADERS += \
$$PWD/qdeclarativeutilmodule_p.h\
@@ -61,7 +62,8 @@ HEADERS += \
$$PWD/qdeclarativebehavior_p.h \
$$PWD/qdeclarativefontloader_p.h \
$$PWD/qdeclarativestyledtext_p.h \
- $$PWD/qdeclarativelistmodelworkeragent_p.h
+ $$PWD/qdeclarativelistmodelworkeragent_p.h \
+ $$PWD/qlistmodelinterface_p.h
contains(QT_CONFIG, xmlpatterns) {
QT+=xmlpatterns
diff --git a/src/gui/dialogs/qcolordialog_mac.mm b/src/gui/dialogs/qcolordialog_mac.mm
index 8af0d2be32..82cfa24937 100644
--- a/src/gui/dialogs/qcolordialog_mac.mm
+++ b/src/gui/dialogs/qcolordialog_mac.mm
@@ -65,9 +65,9 @@ typedef float CGFloat; // Should only not be defined on 32-bit platforms
QT_USE_NAMESPACE
-@class QCocoaColorPanelDelegate;
+@class QT_MANGLE_NAMESPACE(QCocoaColorPanelDelegate);
-@interface QCocoaColorPanelDelegate : NSObject<NSWindowDelegate> {
+@interface QT_MANGLE_NAMESPACE(QCocoaColorPanelDelegate) : NSObject<NSWindowDelegate> {
NSColorPanel *mColorPanel;
NSView *mStolenContentView;
NSButton *mOkButton;
@@ -99,7 +99,7 @@ QT_USE_NAMESPACE
- (void)setResultSet:(BOOL)result;
@end
-@implementation QCocoaColorPanelDelegate
+@implementation QT_MANGLE_NAMESPACE(QCocoaColorPanelDelegate)
- (id)initWithColorPanel:(NSColorPanel *)panel
stolenContentView:(NSView *)stolenContentView
okButton:(NSButton *)okButton
@@ -432,26 +432,26 @@ void QColorDialogPrivate::openCocoaColorPanel(const QColor &initial,
[colorPanel setDefaultButtonCell:[okButton cell]];
}
- delegate = [[QCocoaColorPanelDelegate alloc] initWithColorPanel:colorPanel
+ delegate = [[QT_MANGLE_NAMESPACE(QCocoaColorPanelDelegate) alloc] initWithColorPanel:colorPanel
stolenContentView:stolenContentView
okButton:okButton
cancelButton:cancelButton
priv:this];
- [colorPanel setDelegate:static_cast<QCocoaColorPanelDelegate *>(delegate)];
+ [colorPanel setDelegate:static_cast<QT_MANGLE_NAMESPACE(QCocoaColorPanelDelegate) *>(delegate)];
}
[delegate setResultSet:false];
setCocoaPanelColor(initial);
- [static_cast<QCocoaColorPanelDelegate *>(delegate) showColorPanel];
+ [static_cast<QT_MANGLE_NAMESPACE(QCocoaColorPanelDelegate) *>(delegate) showColorPanel];
}
void QColorDialogPrivate::closeCocoaColorPanel()
{
- [static_cast<QCocoaColorPanelDelegate *>(delegate) onCancelClicked];
+ [static_cast<QT_MANGLE_NAMESPACE(QCocoaColorPanelDelegate) *>(delegate) onCancelClicked];
}
void QColorDialogPrivate::releaseCocoaColorPanelDelegate()
{
- [static_cast<QCocoaColorPanelDelegate *>(delegate) release];
+ [static_cast<QT_MANGLE_NAMESPACE(QCocoaColorPanelDelegate) *>(delegate) release];
}
void QColorDialogPrivate::mac_nativeDialogModalHelp()
@@ -471,13 +471,13 @@ void QColorDialogPrivate::mac_nativeDialogModalHelp()
void QColorDialogPrivate::_q_macRunNativeAppModalPanel()
{
- [static_cast<QCocoaColorPanelDelegate *>(delegate) exec];
+ [static_cast<QT_MANGLE_NAMESPACE(QCocoaColorPanelDelegate) *>(delegate) exec];
}
void QColorDialogPrivate::setCocoaPanelColor(const QColor &color)
{
QMacCocoaAutoReleasePool pool;
- QCocoaColorPanelDelegate *theDelegate = static_cast<QCocoaColorPanelDelegate *>(delegate);
+ QT_MANGLE_NAMESPACE(QCocoaColorPanelDelegate) *theDelegate = static_cast<QT_MANGLE_NAMESPACE(QCocoaColorPanelDelegate) *>(delegate);
NSColor *nsColor;
const QColor::Spec spec = color.spec();
if (spec == QColor::Cmyk) {
diff --git a/src/gui/dialogs/qfiledialog.h b/src/gui/dialogs/qfiledialog.h
index 97fac4eea1..16cb317506 100644
--- a/src/gui/dialogs/qfiledialog.h
+++ b/src/gui/dialogs/qfiledialog.h
@@ -67,6 +67,7 @@ class Q_GUI_EXPORT QFileDialog : public QDialog
{
Q_OBJECT
Q_ENUMS(ViewMode FileMode AcceptMode Option)
+ Q_FLAGS(Options)
Q_PROPERTY(ViewMode viewMode READ viewMode WRITE setViewMode)
Q_PROPERTY(FileMode fileMode READ fileMode WRITE setFileMode)
Q_PROPERTY(AcceptMode acceptMode READ acceptMode WRITE setAcceptMode)
diff --git a/src/gui/dialogs/qfiledialog_mac.mm b/src/gui/dialogs/qfiledialog_mac.mm
index 28acf241e1..b07b1ea847 100644
--- a/src/gui/dialogs/qfiledialog_mac.mm
+++ b/src/gui/dialogs/qfiledialog_mac.mm
@@ -82,9 +82,9 @@ QT_FORWARD_DECLARE_CLASS(QAction)
QT_FORWARD_DECLARE_CLASS(QFileInfo)
QT_USE_NAMESPACE
-@class QNSOpenSavePanelDelegate;
+@class QT_MANGLE_NAMESPACE(QNSOpenSavePanelDelegate);
-@interface QNSOpenSavePanelDelegate : NSObject {
+@interface QT_MANGLE_NAMESPACE(QNSOpenSavePanelDelegate) : NSObject {
@public
NSOpenPanel *mOpenPanel;
NSSavePanel *mSavePanel;
@@ -123,7 +123,7 @@ QT_USE_NAMESPACE
@end
-@implementation QNSOpenSavePanelDelegate
+@implementation QT_MANGLE_NAMESPACE(QNSOpenSavePanelDelegate)
- (id)initWithAcceptMode:(QT_PREPEND_NAMESPACE(QFileDialog::AcceptMode))acceptMode
title:(const QString &)title
@@ -554,7 +554,7 @@ void QFileDialogPrivate::setDirectory_sys(const QString &directory)
}
#else
QMacCocoaAutoReleasePool pool;
- QNSOpenSavePanelDelegate *delegate = static_cast<QNSOpenSavePanelDelegate *>(mDelegate);
+ QT_MANGLE_NAMESPACE(QNSOpenSavePanelDelegate) *delegate = static_cast<QT_MANGLE_NAMESPACE(QNSOpenSavePanelDelegate) *>(mDelegate);
[delegate->mSavePanel setDirectory:qt_mac_QStringToNSString(directory)];
#endif
}
@@ -565,7 +565,7 @@ QString QFileDialogPrivate::directory_sys() const
return mCurrentLocation;
#else
QMacCocoaAutoReleasePool pool;
- QNSOpenSavePanelDelegate *delegate = static_cast<QNSOpenSavePanelDelegate *>(mDelegate);
+ QT_MANGLE_NAMESPACE(QNSOpenSavePanelDelegate) *delegate = static_cast<QT_MANGLE_NAMESPACE(QNSOpenSavePanelDelegate) *>(mDelegate);
return qt_mac_NSStringToQString([delegate->mSavePanel directory]);
#endif
}
@@ -622,7 +622,7 @@ QStringList QFileDialogPrivate::selectedFiles_sys() const
}
#else
QMacCocoaAutoReleasePool pool;
- QNSOpenSavePanelDelegate *delegate = static_cast<QNSOpenSavePanelDelegate *>(mDelegate);
+ QT_MANGLE_NAMESPACE(QNSOpenSavePanelDelegate) *delegate = static_cast<QT_MANGLE_NAMESPACE(QNSOpenSavePanelDelegate) *>(mDelegate);
return [delegate selectedFiles];
#endif
}
@@ -633,7 +633,7 @@ void QFileDialogPrivate::setNameFilters_sys(const QStringList &filters)
Q_UNUSED(filters);
#else
QMacCocoaAutoReleasePool pool;
- QNSOpenSavePanelDelegate *delegate = static_cast<QNSOpenSavePanelDelegate *>(mDelegate);
+ QT_MANGLE_NAMESPACE(QNSOpenSavePanelDelegate) *delegate = static_cast<QT_MANGLE_NAMESPACE(QNSOpenSavePanelDelegate) *>(mDelegate);
bool hideDetails = q_func()->testOption(QFileDialog::HideNameFilterDetails);
[delegate setNameFilters:filters hideDetails:hideDetails];
#endif
@@ -645,7 +645,7 @@ void QFileDialogPrivate::setFilter_sys()
#else
Q_Q(QFileDialog);
QMacCocoaAutoReleasePool pool;
- QNSOpenSavePanelDelegate *delegate = static_cast<QNSOpenSavePanelDelegate *>(mDelegate);
+ QT_MANGLE_NAMESPACE(QNSOpenSavePanelDelegate) *delegate = static_cast<QT_MANGLE_NAMESPACE(QNSOpenSavePanelDelegate) *>(mDelegate);
*(delegate->mQDirFilter) = model->filter();
delegate->mFileMode = fileMode;
[delegate->mSavePanel setTitle:qt_mac_QStringToNSString(q->windowTitle())];
@@ -668,7 +668,7 @@ void QFileDialogPrivate::selectNameFilter_sys(const QString &filter)
NavCustomControl(mDialog, kNavCtlSelectCustomType, &navSpec);
#else
QMacCocoaAutoReleasePool pool;
- QNSOpenSavePanelDelegate *delegate = static_cast<QNSOpenSavePanelDelegate *>(mDelegate);
+ QT_MANGLE_NAMESPACE(QNSOpenSavePanelDelegate) *delegate = static_cast<QT_MANGLE_NAMESPACE(QNSOpenSavePanelDelegate) *>(mDelegate);
[delegate->mPopUpButton selectItemAtIndex:index];
[delegate filterChanged:nil];
#endif
@@ -681,7 +681,7 @@ QString QFileDialogPrivate::selectedNameFilter_sys() const
int index = filterInfo.currentSelection;
#else
QMacCocoaAutoReleasePool pool;
- QNSOpenSavePanelDelegate *delegate = static_cast<QNSOpenSavePanelDelegate *>(mDelegate);
+ QT_MANGLE_NAMESPACE(QNSOpenSavePanelDelegate) *delegate = static_cast<QT_MANGLE_NAMESPACE(QNSOpenSavePanelDelegate) *>(mDelegate);
int index = [delegate->mPopUpButton indexOfSelectedItem];
#endif
return index != -1 ? nameFilters.at(index) : QString();
@@ -696,7 +696,7 @@ void QFileDialogPrivate::deleteNativeDialog_sys()
mDialogStarted = false;
#else
QMacCocoaAutoReleasePool pool;
- [reinterpret_cast<QNSOpenSavePanelDelegate *>(mDelegate) release];
+ [reinterpret_cast<QT_MANGLE_NAMESPACE(QNSOpenSavePanelDelegate) *>(mDelegate) release];
mDelegate = 0;
#endif
nativeDialogInUse = false;
@@ -1034,7 +1034,7 @@ void QFileDialogPrivate::createNSOpenSavePanelDelegate()
bool selectDir = q->selectedFiles().isEmpty();
QString selection(selectDir ? q->directory().absolutePath() : q->selectedFiles().value(0));
- QNSOpenSavePanelDelegate *delegate = [[QNSOpenSavePanelDelegate alloc]
+ QT_MANGLE_NAMESPACE(QNSOpenSavePanelDelegate) *delegate = [[QT_MANGLE_NAMESPACE(QNSOpenSavePanelDelegate) alloc]
initWithAcceptMode:acceptMode
title:q->windowTitle()
nameFilters:q->nameFilters()
@@ -1055,7 +1055,7 @@ bool QFileDialogPrivate::showCocoaFilePanel()
Q_Q(QFileDialog);
QMacCocoaAutoReleasePool pool;
createNSOpenSavePanelDelegate();
- QNSOpenSavePanelDelegate *delegate = static_cast<QNSOpenSavePanelDelegate *>(mDelegate);
+ QT_MANGLE_NAMESPACE(QNSOpenSavePanelDelegate) *delegate = static_cast<QT_MANGLE_NAMESPACE(QNSOpenSavePanelDelegate) *>(mDelegate);
if (qt_mac_is_macsheet(q))
[delegate showWindowModalSheet:q->parentWidget()];
else
@@ -1071,7 +1071,7 @@ bool QFileDialogPrivate::hideCocoaFilePanel()
return false;
} else {
QMacCocoaAutoReleasePool pool;
- QNSOpenSavePanelDelegate *delegate = static_cast<QNSOpenSavePanelDelegate *>(mDelegate);
+ QT_MANGLE_NAMESPACE(QNSOpenSavePanelDelegate) *delegate = static_cast<QT_MANGLE_NAMESPACE(QNSOpenSavePanelDelegate) *>(mDelegate);
[delegate closePanel];
// Even when we hide it, we are still using a
// native dialog, so return true:
@@ -1104,7 +1104,7 @@ void QFileDialogPrivate::_q_macRunNativeAppModalPanel()
#else
Q_Q(QFileDialog);
QMacCocoaAutoReleasePool pool;
- QNSOpenSavePanelDelegate *delegate = static_cast<QNSOpenSavePanelDelegate *>(mDelegate);
+ QT_MANGLE_NAMESPACE(QNSOpenSavePanelDelegate) *delegate = static_cast<QT_MANGLE_NAMESPACE(QNSOpenSavePanelDelegate) *>(mDelegate);
[delegate runApplicationModalPanel];
dialogResultCode_sys() == QDialog::Accepted ? q->accept() : q->reject();
#endif
@@ -1119,7 +1119,7 @@ QDialog::DialogCode QFileDialogPrivate::dialogResultCode_sys()
else
return QDialog::Accepted;
#else
- QNSOpenSavePanelDelegate *delegate = static_cast<QNSOpenSavePanelDelegate *>(mDelegate);
+ QT_MANGLE_NAMESPACE(QNSOpenSavePanelDelegate) *delegate = static_cast<QT_MANGLE_NAMESPACE(QNSOpenSavePanelDelegate) *>(mDelegate);
return [delegate dialogResultCode];
#endif
}
diff --git a/src/gui/dialogs/qfileinfogatherer.cpp b/src/gui/dialogs/qfileinfogatherer.cpp
index 3b279ae0f1..af0506fc34 100644
--- a/src/gui/dialogs/qfileinfogatherer.cpp
+++ b/src/gui/dialogs/qfileinfogatherer.cpp
@@ -55,7 +55,18 @@ QT_BEGIN_NAMESPACE
#ifndef QT_NO_FILESYSTEMMODEL
-bool QFileInfoGatherer::fetchedRoot = false;
+#ifdef QT_BUILD_INTERNAL
+static bool fetchedRoot = false;
+Q_AUTOTEST_EXPORT void qt_test_resetFetchedRoot()
+{
+ fetchedRoot = false;
+}
+
+Q_AUTOTEST_EXPORT bool qt_test_isFetchedRoot()
+{
+ return fetchedRoot;
+}
+#endif
/*!
Creates thread
@@ -278,7 +289,7 @@ void QFileInfoGatherer::getFileInfos(const QString &path, const QStringList &fil
// List drives
if (path.isEmpty()) {
-#if defined Q_AUTOTEST_EXPORT
+#ifdef QT_BUILD_INTERNAL
fetchedRoot = true;
#endif
QFileInfoList infoList;
diff --git a/src/gui/dialogs/qfileinfogatherer_p.h b/src/gui/dialogs/qfileinfogatherer_p.h
index 4fe691e489..b28509b7c6 100644
--- a/src/gui/dialogs/qfileinfogatherer_p.h
+++ b/src/gui/dialogs/qfileinfogatherer_p.h
@@ -198,9 +198,6 @@ private:
uint userId;
uint groupId;
#endif
-public :
- //for testing purpose
- static bool fetchedRoot;
};
#endif // QT_NO_FILESYSTEMMODEL
diff --git a/src/gui/dialogs/qfontdialog_mac.mm b/src/gui/dialogs/qfontdialog_mac.mm
index 919790b733..bb8ef3fd42 100644
--- a/src/gui/dialogs/qfontdialog_mac.mm
+++ b/src/gui/dialogs/qfontdialog_mac.mm
@@ -82,7 +82,7 @@ const CGFloat DialogSideMargin = 9.0;
const int StyleMask = NSTitledWindowMask | NSClosableWindowMask | NSResizableWindowMask;
-@class QCocoaFontPanelDelegate;
+@class QT_MANGLE_NAMESPACE(QCocoaFontPanelDelegate);
#if MAC_OS_X_VERSION_MAX_ALLOWED <= MAC_OS_X_VERSION_10_5
@@ -93,7 +93,7 @@ const int StyleMask = NSTitledWindowMask | NSClosableWindowMask | NSResizableWin
#endif
-@interface QCocoaFontPanelDelegate : NSObject <NSWindowDelegate> {
+@interface QT_MANGLE_NAMESPACE(QCocoaFontPanelDelegate) : NSObject <NSWindowDelegate> {
NSFontPanel *mFontPanel;
NSView *mStolenContentView;
NSButton *mOkButton;
@@ -156,7 +156,7 @@ static QFont qfontForCocoaFont(NSFont *cocoaFont, const QFont &resolveFont)
return newFont;
}
-@implementation QCocoaFontPanelDelegate
+@implementation QT_MANGLE_NAMESPACE(QCocoaFontPanelDelegate)
- (id)initWithFontPanel:(NSFontPanel *)panel
stolenContentView:(NSView *)stolenContentView
okButton:(NSButton *)okButton
@@ -478,7 +478,7 @@ QT_BEGIN_NAMESPACE
void QFontDialogPrivate::closeCocoaFontPanel()
{
QMacCocoaAutoReleasePool pool;
- QCocoaFontPanelDelegate *theDelegate = static_cast<QCocoaFontPanelDelegate *>(delegate);
+ QT_MANGLE_NAMESPACE(QCocoaFontPanelDelegate) *theDelegate = static_cast<QT_MANGLE_NAMESPACE(QCocoaFontPanelDelegate) *>(delegate);
NSWindow *ourPanel = [theDelegate actualPanel];
[ourPanel close];
[theDelegate cleanUpAfterMyself];
@@ -519,7 +519,7 @@ void QFontDialogPrivate::setFont(void *delegate, const QFont &font)
}
[mgr setSelectedFont:nsFont isMultiple:NO];
- [static_cast<QCocoaFontPanelDelegate *>(delegate) setQtFont:font];
+ [static_cast<QT_MANGLE_NAMESPACE(QCocoaFontPanelDelegate) *>(delegate) setQtFont:font];
}
void QFontDialogPrivate::createNSFontPanelDelegate()
@@ -584,7 +584,7 @@ void QFontDialogPrivate::createNSFontPanelDelegate()
}
// create the delegate and set it
- QCocoaFontPanelDelegate *del = [[QCocoaFontPanelDelegate alloc] initWithFontPanel:sharedFontPanel
+ QT_MANGLE_NAMESPACE(QCocoaFontPanelDelegate) *del = [[QT_MANGLE_NAMESPACE(QCocoaFontPanelDelegate) alloc] initWithFontPanel:sharedFontPanel
stolenContentView:stolenContentView
okButton:okButton
cancelButton:cancelButton
@@ -637,7 +637,7 @@ void QFontDialogPrivate::mac_nativeDialogModalHelp()
void QFontDialogPrivate::_q_macRunNativeAppModalPanel()
{
createNSFontPanelDelegate();
- QCocoaFontPanelDelegate *del = static_cast<QCocoaFontPanelDelegate *>(delegate);
+ QT_MANGLE_NAMESPACE(QCocoaFontPanelDelegate) *del = static_cast<QT_MANGLE_NAMESPACE(QCocoaFontPanelDelegate) *>(delegate);
[del runApplicationModalPanel];
}
@@ -649,7 +649,7 @@ bool QFontDialogPrivate::showCocoaFontPanel()
Q_Q(QFontDialog);
QMacCocoaAutoReleasePool pool;
createNSFontPanelDelegate();
- QCocoaFontPanelDelegate *del = static_cast<QCocoaFontPanelDelegate *>(delegate);
+ QT_MANGLE_NAMESPACE(QCocoaFontPanelDelegate) *del = static_cast<QT_MANGLE_NAMESPACE(QCocoaFontPanelDelegate) *>(delegate);
if (qt_mac_is_macsheet(q))
[del showWindowModalSheet:q->parentWidget()];
else
diff --git a/src/gui/dialogs/qmessagebox.h b/src/gui/dialogs/qmessagebox.h
index bc6170d783..f1ff6ccfb4 100644
--- a/src/gui/dialogs/qmessagebox.h
+++ b/src/gui/dialogs/qmessagebox.h
@@ -354,7 +354,7 @@ if (!qApp){ \
QString s = QApplication::tr("Executable '%1' requires Qt "\
"%2, found Qt %3.").arg(qAppName()).arg(QString::fromLatin1(\
str)).arg(QString::fromLatin1(qVersion())); QMessageBox::critical(0, QApplication::tr(\
-"Incompatible Qt Library Error"), s, QMessageBox::Abort, 0); qFatal(s.toLatin1().data()); }}
+"Incompatible Qt Library Error"), s, QMessageBox::Abort, 0); qFatal("%s", s.toLatin1().data()); }}
#endif // QT_NO_MESSAGEBOX
diff --git a/src/gui/dialogs/qnspanelproxy_mac.mm b/src/gui/dialogs/qnspanelproxy_mac.mm
index 3229a4d258..0bd5c63f80 100644
--- a/src/gui/dialogs/qnspanelproxy_mac.mm
+++ b/src/gui/dialogs/qnspanelproxy_mac.mm
@@ -52,9 +52,9 @@ QT_END_NAMESPACE
QT_USE_NAMESPACE
-@class QNSPanelProxy;
+@class QT_MANGLE_NAMESPACE(QNSPanelProxy);
-@interface QNSPanelProxy : NSWindow {
+@interface QT_MANGLE_NAMESPACE(QNSPanelProxy) : NSWindow {
}
- (id)initWithContentRect:(NSRect)contentRect styleMask:(NSUInteger)windowStyle
backing:(NSBackingStoreType)bufferingType defer:(BOOL)deferCreation;
@@ -66,7 +66,7 @@ QT_USE_NAMESPACE
backing:(NSBackingStoreType)bufferingType defer:(BOOL)deferCreation screen:(NSScreen *)screen;
@end
-@implementation QNSPanelProxy
+@implementation QT_MANGLE_NAMESPACE(QNSPanelProxy)
- (id)initWithContentRect:(NSRect)contentRect styleMask:(NSUInteger)windowStyle
backing:(NSBackingStoreType)bufferingType defer:(BOOL)deferCreation
{
@@ -108,15 +108,15 @@ QT_USE_NAMESPACE
}
@end
-@class QNSWindowProxy;
+@class QT_MANGLE_NAMESPACE(QNSWindowProxy);
-@interface QNSWindowProxy : NSWindow {
+@interface QT_MANGLE_NAMESPACE(QNSWindowProxy) : NSWindow {
}
- (void)setTitle:(NSString *)title;
- (void)qt_fakeSetTitle:(NSString *)title;
@end
-@implementation QNSWindowProxy
+@implementation QT_MANGLE_NAMESPACE(QNSWindowProxy)
- (void)setTitle:(NSString *)title
{
QCFString cftitle(currentWindow->windowTitle());
@@ -190,10 +190,10 @@ void macStartInterceptNSPanelCtor()
{
macStartIntercept(@selector(initWithContentRect:styleMask:backing:defer:),
@selector(qt_fakeInitWithContentRect:styleMask:backing:defer:),
- [NSPanel class], [QNSPanelProxy class]);
+ [NSPanel class], [QT_MANGLE_NAMESPACE(QNSPanelProxy) class]);
macStartIntercept(@selector(initWithContentRect:styleMask:backing:defer:screen:),
@selector(qt_fakeInitWithContentRect:styleMask:backing:defer:screen:),
- [NSPanel class], [QNSPanelProxy class]);
+ [NSPanel class], [QT_MANGLE_NAMESPACE(QNSPanelProxy) class]);
}
/*
@@ -203,10 +203,10 @@ void macStopInterceptNSPanelCtor()
{
macStopIntercept(@selector(initWithContentRect:styleMask:backing:defer:screen:),
@selector(qt_fakeInitWithContentRect:styleMask:backing:defer:screen:),
- [NSPanel class], [QNSPanelProxy class]);
+ [NSPanel class], [QT_MANGLE_NAMESPACE(QNSPanelProxy) class]);
macStopIntercept(@selector(initWithContentRect:styleMask:backing:defer:),
@selector(qt_fakeInitWithContentRect:styleMask:backing:defer:),
- [NSPanel class], [QNSPanelProxy class]);
+ [NSPanel class], [QT_MANGLE_NAMESPACE(QNSPanelProxy) class]);
}
/*
@@ -217,7 +217,7 @@ void macStartInterceptWindowTitle(QWidget *window)
{
currentWindow = window;
macStartIntercept(@selector(setTitle:), @selector(qt_fakeSetTitle:),
- [NSWindow class], [QNSWindowProxy class]);
+ [NSWindow class], [QT_MANGLE_NAMESPACE(QNSWindowProxy) class]);
}
/*
@@ -227,7 +227,7 @@ void macStopInterceptWindowTitle()
{
currentWindow = 0;
macStopIntercept(@selector(setTitle:), @selector(qt_fakeSetTitle:),
- [NSWindow class], [QNSWindowProxy class]);
+ [NSWindow class], [QT_MANGLE_NAMESPACE(QNSWindowProxy) class]);
}
/*
diff --git a/src/gui/dialogs/qpagesetupdialog_mac.mm b/src/gui/dialogs/qpagesetupdialog_mac.mm
index cfcde0ffdc..0302be4d46 100644
--- a/src/gui/dialogs/qpagesetupdialog_mac.mm
+++ b/src/gui/dialogs/qpagesetupdialog_mac.mm
@@ -50,9 +50,9 @@
QT_USE_NAMESPACE
-@class QCocoaPageLayoutDelegate;
+@class QT_MANGLE_NAMESPACE(QCocoaPageLayoutDelegate);
-@interface QCocoaPageLayoutDelegate : NSObject {
+@interface QT_MANGLE_NAMESPACE(QCocoaPageLayoutDelegate) : NSObject {
QMacPrintEnginePrivate *pe;
}
- (id)initWithMacPrintEngine:(QMacPrintEnginePrivate *)printEngine;
@@ -60,7 +60,7 @@ QT_USE_NAMESPACE
returnCode:(int)returnCode contextInfo:(void *)contextInfo;
@end
-@implementation QCocoaPageLayoutDelegate
+@implementation QT_MANGLE_NAMESPACE(QCocoaPageLayoutDelegate)
- (id)initWithMacPrintEngine:(QMacPrintEnginePrivate *)printEngine;
{
self = [super init];
@@ -213,7 +213,7 @@ void QPageSetupDialogPrivate::openCocoaPageLayout(Qt::WindowModality modality)
pageLayout = [NSPageLayout pageLayout];
// Keep a copy to this since we plan on using it for a bit.
[pageLayout retain];
- QCocoaPageLayoutDelegate *delegate = [[QCocoaPageLayoutDelegate alloc] initWithMacPrintEngine:ep];
+ QT_MANGLE_NAMESPACE(QCocoaPageLayoutDelegate) *delegate = [[QT_MANGLE_NAMESPACE(QCocoaPageLayoutDelegate) alloc] initWithMacPrintEngine:ep];
if (modality == Qt::ApplicationModal) {
int rval = [pageLayout runModalWithPrintInfo:ep->printInfo];
diff --git a/src/gui/dialogs/qprintdialog_mac.mm b/src/gui/dialogs/qprintdialog_mac.mm
index 6a8d6a4191..84a72db75c 100644
--- a/src/gui/dialogs/qprintdialog_mac.mm
+++ b/src/gui/dialogs/qprintdialog_mac.mm
@@ -124,15 +124,15 @@ QT_USE_NAMESPACE
#ifdef QT_MAC_USE_COCOA
-@class QCocoaPrintPanelDelegate;
+@class QT_MANGLE_NAMESPACE(QCocoaPrintPanelDelegate);
-@interface QCocoaPrintPanelDelegate : NSObject {
+@interface QT_MANGLE_NAMESPACE(QCocoaPrintPanelDelegate) : NSObject {
}
- (void)printPanelDidEnd:(NSPrintPanel *)printPanel
returnCode:(int)returnCode contextInfo:(void *)contextInfo;
@end
-@implementation QCocoaPrintPanelDelegate
+@implementation QT_MANGLE_NAMESPACE(QCocoaPrintPanelDelegate)
- (void)printPanelDidEnd:(NSPrintPanel *)printPanel
returnCode:(int)returnCode contextInfo:(void *)contextInfo
{
@@ -313,7 +313,7 @@ void QPrintDialogPrivate::openCocoaPrintPanel(Qt::WindowModality modality)
macStartInterceptWindowTitle(q);
printPanel = [NSPrintPanel printPanel];
- QCocoaPrintPanelDelegate *delegate = [[QCocoaPrintPanelDelegate alloc] init];
+ QT_MANGLE_NAMESPACE(QCocoaPrintPanelDelegate) *delegate = [[QT_MANGLE_NAMESPACE(QCocoaPrintPanelDelegate) alloc] init];
[printPanel setOptions:macOptions];
if (modality == Qt::ApplicationModal) {
diff --git a/src/gui/dialogs/qprintdialog_unix.cpp b/src/gui/dialogs/qprintdialog_unix.cpp
index e3c62be5e5..5d0bcac18d 100644
--- a/src/gui/dialogs/qprintdialog_unix.cpp
+++ b/src/gui/dialogs/qprintdialog_unix.cpp
@@ -973,7 +973,7 @@ void QUnixPrintWidgetPrivate::_q_btnPropertiesClicked()
#if !defined(QT_NO_CUPS) && !defined(QT_NO_LIBRARY)
void QUnixPrintWidgetPrivate::setCupsProperties()
{
- if (cups && QCUPSSupport::isAvailable()) {
+ if (cups && QCUPSSupport::isAvailable() && cups->pageSizes()) {
QPrintEngine *engine = printer->printEngine();
const ppd_option_t* pageSizes = cups->pageSizes();
QByteArray cupsPageSize;
diff --git a/src/gui/dialogs/qwizard_win.cpp b/src/gui/dialogs/qwizard_win.cpp
index 1390b21261..e406cba159 100644
--- a/src/gui/dialogs/qwizard_win.cpp
+++ b/src/gui/dialogs/qwizard_win.cpp
@@ -237,7 +237,8 @@ void QVistaBackButton::paintEvent(QPaintEvent *)
*/
QVistaHelper::QVistaHelper(QWizard *wizard)
- : pressed(false)
+ : QObject(wizard)
+ , pressed(false)
, wizard(wizard)
, backButton_(0)
{
diff --git a/src/gui/effects/qgraphicseffect.cpp b/src/gui/effects/qgraphicseffect.cpp
index ce4ce6a2be..5e4e49e90f 100644
--- a/src/gui/effects/qgraphicseffect.cpp
+++ b/src/gui/effects/qgraphicseffect.cpp
@@ -326,7 +326,7 @@ QPixmap QGraphicsEffectSource::pixmap(Qt::CoordinateSystem system, QPoint *offse
}
QPixmap pm;
- if (d->m_cachedSystem == system && d->m_cachedMode == mode)
+ if (item && d->m_cachedSystem == system && d->m_cachedMode == mode)
QPixmapCache::find(d->m_cacheKey, &pm);
if (pm.isNull()) {
diff --git a/src/gui/egl/qegl.cpp b/src/gui/egl/qegl.cpp
index 39d245ed12..e57cc3f476 100644
--- a/src/gui/egl/qegl.cpp
+++ b/src/gui/egl/qegl.cpp
@@ -42,6 +42,7 @@
#include <QtGui/qpaintdevice.h>
#include <QtGui/qpixmap.h>
#include <QtGui/qwidget.h>
+#include <QtCore/qatomic.h>
#include <QtCore/qdebug.h>
#include "qegl_p.h"
@@ -50,6 +51,34 @@
QT_BEGIN_NAMESPACE
+
+/*
+ QEglContextTracker is used to track the EGL contexts that we
+ create internally in Qt, so that we can call eglTerminate() to
+ free additional EGL resources when the last context is destroyed.
+*/
+
+class QEglContextTracker
+{
+public:
+ static void ref() { contexts.ref(); }
+ static void deref() {
+ if (!contexts.deref()) {
+ eglTerminate(QEgl::display());
+ displayOpen = 0;
+ }
+ }
+ static void setDisplayOpened() { displayOpen = 1; }
+ static bool displayOpened() { return displayOpen; }
+
+private:
+ static QBasicAtomicInt contexts;
+ static QBasicAtomicInt displayOpen;
+};
+
+QBasicAtomicInt QEglContextTracker::contexts = Q_BASIC_ATOMIC_INITIALIZER(0);
+QBasicAtomicInt QEglContextTracker::displayOpen = Q_BASIC_ATOMIC_INITIALIZER(0);
+
// Current GL and VG contexts. These are used to determine if
// we can avoid an eglMakeCurrent() after a call to lazyDoneCurrent().
// If a background thread modifies the value, the worst that will
@@ -66,6 +95,7 @@ QEglContext::QEglContext()
, ownsContext(true)
, sharing(false)
{
+ QEglContextTracker::ref();
}
QEglContext::~QEglContext()
@@ -76,6 +106,7 @@ QEglContext::~QEglContext()
currentGLContext = 0;
if (currentVGContext == this)
currentVGContext = 0;
+ QEglContextTracker::deref();
}
bool QEglContext::isValid() const
@@ -505,11 +536,9 @@ static _eglDestroyImageKHR qt_eglDestroyImageKHR = 0;
EGLDisplay QEgl::display()
{
static EGLDisplay dpy = EGL_NO_DISPLAY;
- static bool openedDisplay = false;
-
- if (!openedDisplay) {
+ if (!QEglContextTracker::displayOpened()) {
dpy = eglGetDisplay(nativeDisplay());
- openedDisplay = true;
+ QEglContextTracker::setDisplayOpened();
if (dpy == EGL_NO_DISPLAY) {
qWarning("QEgl::display(): Falling back to EGL_DEFAULT_DISPLAY");
dpy = eglGetDisplay(EGLNativeDisplayType(EGL_DEFAULT_DISPLAY));
diff --git a/src/gui/egl/qegl_qws.cpp b/src/gui/egl/qegl_qws.cpp
index 56383a5f1a..50db397a4e 100644
--- a/src/gui/egl/qegl_qws.cpp
+++ b/src/gui/egl/qegl_qws.cpp
@@ -94,7 +94,7 @@ void QEglProperties::setPaintDeviceFormat(QPaintDevice *dev)
EGLNativeDisplayType QEgl::nativeDisplay()
{
- return EGL_DEFAULT_DISPLAY;
+ return EGLNativeDisplayType(EGL_DEFAULT_DISPLAY);
}
EGLNativeWindowType QEgl::nativeWindow(QWidget* widget)
diff --git a/src/gui/egl/qegl_x11.cpp b/src/gui/egl/qegl_x11.cpp
index cb8dcda713..969acc4c47 100644
--- a/src/gui/egl/qegl_x11.cpp
+++ b/src/gui/egl/qegl_x11.cpp
@@ -163,6 +163,11 @@ VisualID QEgl::getCompatibleVisualId(EGLConfig config)
int matchingCount = 0;
chosenVisualInfo = XGetVisualInfo(X11->display, VisualIDMask, &visualInfoTemplate, &matchingCount);
if (chosenVisualInfo) {
+ // Skip size checks if implementation supports non-matching visual
+ // and config (http://bugreports.qt.nokia.com/browse/QTBUG-9444).
+ if (QEgl::hasExtension("EGL_NV_post_convert_replication"))
+ return visualId;
+
int visualRedSize = countBits(chosenVisualInfo->red_mask);
int visualGreenSize = countBits(chosenVisualInfo->green_mask);
int visualBlueSize = countBits(chosenVisualInfo->blue_mask);
diff --git a/src/gui/embedded/qwsmanager_qws.cpp b/src/gui/embedded/qwsmanager_qws.cpp
index 79076c5785..b0259b9f21 100644
--- a/src/gui/embedded/qwsmanager_qws.cpp
+++ b/src/gui/embedded/qwsmanager_qws.cpp
@@ -394,7 +394,7 @@ void QWSManagerPrivate::dirtyRegion(int decorationRegion,
const QRegion &clip)
{
QTLWExtra *topextra = managed->d_func()->extra->topextra;
- QWidgetBackingStore *bs = topextra->backingStore;
+ QWidgetBackingStore *bs = topextra->backingStore.data();
const bool pendingUpdateRequest = bs->isDirty();
if (decorationRegion == QDecoration::All) {
diff --git a/src/gui/graphicsview/qgraphicsgridlayout.cpp b/src/gui/graphicsview/qgraphicsgridlayout.cpp
index 6ca799dc9c..83db3ec124 100644
--- a/src/gui/graphicsview/qgraphicsgridlayout.cpp
+++ b/src/gui/graphicsview/qgraphicsgridlayout.cpp
@@ -572,6 +572,18 @@ void QGraphicsGridLayout::removeAt(int index)
if (QGraphicsLayoutItem *layoutItem = gridItem->layoutItem())
layoutItem->setParentLayoutItem(0);
d->engine.removeItem(gridItem);
+
+ // recalculate rowInfo.count if we remove an item that is on the right/bottommost row
+ for (int j = 0; j < NOrientations; ++j) {
+ // 0: Hor, 1: Ver
+ const Qt::Orientation orient = (j == 0 ? Qt::Horizontal : Qt::Vertical);
+ const int oldCount = d->engine.rowCount(orient);
+ if (gridItem->lastRow(orient) == oldCount - 1) {
+ const int newCount = d->engine.effectiveLastRow(orient) + 1;
+ d->engine.removeRows(newCount, oldCount - newCount, orient);
+ }
+ }
+
delete gridItem;
invalidate();
}
diff --git a/src/gui/graphicsview/qgraphicsitem.cpp b/src/gui/graphicsview/qgraphicsitem.cpp
index 326f130abd..c9176d1252 100644
--- a/src/gui/graphicsview/qgraphicsitem.cpp
+++ b/src/gui/graphicsview/qgraphicsitem.cpp
@@ -50,7 +50,7 @@
It provides a light-weight foundation for writing your own custom items.
This includes defining the item's geometry, collision detection, its
painting implementation and item interaction through its event handlers.
- QGraphicsItem is part of \l{The Graphics View Framework}
+ QGraphicsItem is part of the \l{Graphics View Framework}
\image graphicsview-items.png
@@ -264,7 +264,7 @@
functionality is completely untouched by Qt itself; it is provided for the
user's convenience.
- \sa QGraphicsScene, QGraphicsView, {The Graphics View Framework}
+ \sa QGraphicsScene, QGraphicsView, {Graphics View Framework}
*/
/*!
@@ -1090,6 +1090,10 @@ void QGraphicsItemPrivate::setParentItemHelper(QGraphicsItem *newParent, const Q
if (newParent == parent)
return;
+ if (isWidget)
+ static_cast<QGraphicsWidgetPrivate *>(this)->fixFocusChainBeforeReparenting((newParent &&
+ newParent->isWidget()) ? static_cast<QGraphicsWidget *>(newParent) : 0,
+ scene);
if (scene) {
// Deliver the change to the index
if (scene->d_func()->indexMethod != QGraphicsScene::NoIndex)
@@ -1271,14 +1275,14 @@ void QGraphicsItemPrivate::childrenBoundingRectHelper(QTransform *x, QRectF *rec
QTransform matrix = childd->transformToParent();
if (x)
matrix *= *x;
- *rect |= matrix.mapRect(child->boundingRect());
+ *rect |= matrix.mapRect(child->d_ptr->effectiveBoundingRect());
if (!childd->children.isEmpty())
childd->childrenBoundingRectHelper(&matrix, rect);
} else {
if (x)
- *rect |= x->mapRect(child->boundingRect());
+ *rect |= x->mapRect(child->d_ptr->effectiveBoundingRect());
else
- *rect |= child->boundingRect();
+ *rect |= child->d_ptr->effectiveBoundingRect();
if (!childd->children.isEmpty())
childd->childrenBoundingRectHelper(x, rect);
}
@@ -1423,6 +1427,15 @@ QGraphicsItem::~QGraphicsItem()
d_ptr->inDestructor = 1;
d_ptr->removeExtraItemCache();
+#ifndef QT_NO_GESTURES
+ if (d_ptr->isObject && !d_ptr->gestureContext.isEmpty()) {
+ QGraphicsObject *o = static_cast<QGraphicsObject *>(this);
+ QGestureManager *manager = QGestureManager::instance();
+ foreach (Qt::GestureType type, d_ptr->gestureContext.keys())
+ manager->cleanupCachedGestures(o, type);
+ }
+#endif
+
clearFocus();
// Update focus scope item ptr.
@@ -1796,9 +1809,6 @@ static void _q_qgraphicsItemSetFlag(QGraphicsItem *item, QGraphicsItem::Graphics
*/
void QGraphicsItem::setFlags(GraphicsItemFlags flags)
{
- if (isWindow())
- flags |= ItemIsPanel;
-
// Notify change and check for adjustment.
if (quint32(d_ptr->flags) == quint32(flags))
return;
@@ -1812,7 +1822,7 @@ void QGraphicsItem::setFlags(GraphicsItemFlags flags)
const quint32 geomChangeFlagsMask = (ItemClipsChildrenToShape | ItemClipsToShape | ItemIgnoresTransformations | ItemIsSelectable);
bool fullUpdate = (quint32(flags) & geomChangeFlagsMask) != (d_ptr->flags & geomChangeFlagsMask);
if (fullUpdate)
- d_ptr->paintedViewBoundingRectsNeedRepaint = 1;
+ d_ptr->updatePaintedViewBoundingRects(/*children=*/true);
// Keep the old flags to compare the diff.
GraphicsItemFlags oldFlags = GraphicsItemFlags(d_ptr->flags);
@@ -3267,7 +3277,8 @@ void QGraphicsItemPrivate::setFocusHelper(Qt::FocusReason focusReason, bool clim
*/
void QGraphicsItem::clearFocus()
{
- d_ptr->clearFocusHelper(/* giveFocusToParent = */ true);
+ if (hasFocus())
+ d_ptr->clearFocusHelper(/* giveFocusToParent = */ true);
}
/*!
@@ -3648,6 +3659,8 @@ void QGraphicsItem::setPos(const QPointF &pos)
// Update and repositition.
if (!(d_ptr->flags & (ItemSendsGeometryChanges | ItemSendsScenePositionChanges))) {
d_ptr->setPosHelper(pos);
+ if (d_ptr->isWidget)
+ static_cast<QGraphicsWidget *>(this)->d_func()->setGeometryFromSetPos();
return;
}
@@ -5432,6 +5445,24 @@ void QGraphicsItemPrivate::removeExtraItemCache()
unsetExtra(ExtraCacheData);
}
+void QGraphicsItemPrivate::updatePaintedViewBoundingRects(bool updateChildren)
+{
+ if (!scene)
+ return;
+
+ for (int i = 0; i < scene->d_func()->views.size(); ++i) {
+ QGraphicsViewPrivate *viewPrivate = scene->d_func()->views.at(i)->d_func();
+ QRect rect = paintedViewBoundingRects.value(viewPrivate->viewport);
+ rect.translate(viewPrivate->dirtyScrollOffset);
+ viewPrivate->updateRect(rect);
+ }
+
+ if (updateChildren) {
+ for (int i = 0; i < children.size(); ++i)
+ children.at(i)->d_ptr->updatePaintedViewBoundingRects(true);
+ }
+}
+
// Traverses all the ancestors up to the top-level and updates the pointer to
// always point to the top-most item that has a dirty scene transform.
// It then backtracks to the top-most dirty item and start calculating the
@@ -5615,6 +5646,14 @@ void QGraphicsItem::update(const QRectF &rect)
viewport, which does not benefit from scroll optimizations), this function
is equivalent to calling update(\a rect).
+ \bold{Note:} Scrolling is only supported when QGraphicsItem::ItemCoordinateCache
+ is enabled; in all other cases calling this function is equivalent to calling
+ update(\a rect). If you for sure know that the item is opaque and not overlapped
+ by other items, you can map the \a rect to viewport coordinates and scroll the
+ viewport.
+
+ \snippet doc/src/snippets/code/src_gui_graphicsview_qgraphicsitem.cpp 19
+
\sa boundingRect()
*/
void QGraphicsItem::scroll(qreal dx, qreal dy, const QRectF &rect)
@@ -5624,152 +5663,71 @@ void QGraphicsItem::scroll(qreal dx, qreal dy, const QRectF &rect)
return;
if (!d->scene)
return;
- if (d->cacheMode != NoCache) {
- QGraphicsItemCache *c;
- bool scrollCache = qFuzzyIsNull(dx - int(dx)) && qFuzzyIsNull(dy - int(dy))
- && (c = (QGraphicsItemCache *)qVariantValue<void *>(d_ptr->extra(QGraphicsItemPrivate::ExtraCacheData)))
- && (d->cacheMode == ItemCoordinateCache && !c->fixedSize.isValid());
- if (scrollCache) {
- QPixmap pix;
- if (QPixmapCache::find(c->key, &pix)) {
- // Adjust with 2 pixel margin. Notice the loss of precision
- // when converting to QRect.
- int adjust = 2;
- QRectF br = boundingRect().adjusted(-adjust, -adjust, adjust, adjust);
- QRect irect = rect.toRect().translated(-br.x(), -br.y());
-
- pix.scroll(dx, dy, irect);
-
- QPixmapCache::replace(c->key, pix);
-
- // Translate the existing expose.
- foreach (QRectF exposedRect, c->exposed)
- c->exposed += exposedRect.translated(dx, dy) & rect;
-
- // Calculate exposure.
- QRegion exposed;
- QRect r = rect.toRect();
- exposed += r;
- exposed -= r.translated(dx, dy);
- foreach (QRect rect, exposed.rects())
- update(rect);
- d->scene->d_func()->markDirty(this);
- } else {
- update(rect);
- }
- } else {
- // ### This is very slow, and can be done much better. If the cache is
- // local and matches the below criteria for rotation and scaling, we
- // can easily scroll. And if the cache is in device coordinates, we
- // can scroll both the viewport and the cache.
- update(rect);
- }
+
+ // Accelerated scrolling means moving pixels from one location to another
+ // and only redraw the newly exposed area. The following requirements must
+ // be fulfilled in order to do that:
+ //
+ // 1) Item is opaque.
+ // 2) Item is not overlapped by other items.
+ //
+ // There's (yet) no way to detect whether an item is opaque or not, which means
+ // we cannot do accelerated scrolling unless the cache is enabled. In case of using
+ // DeviceCoordinate cache we also have to take the device transform into account in
+ // order to determine whether we can do accelerated scrolling or not. That's left out
+ // for simplicity here, but it is definitely something we can consider in the future
+ // as a performance improvement.
+ if (d->cacheMode != QGraphicsItem::ItemCoordinateCache
+ || !qFuzzyIsNull(dx - int(dx)) || !qFuzzyIsNull(dy - int(dy))) {
+ update(rect);
return;
}
- QRectF scrollRect = !rect.isNull() ? rect : boundingRect();
- int couldntScroll = d->scene->views().size();
- foreach (QGraphicsView *view, d->scene->views()) {
- if (view->viewport()->inherits("QGLWidget")) {
- // ### Please replace with a widget attribute; any widget that
- // doesn't support partial updates / doesn't support scrolling
- // should be skipped in this code. Qt::WA_NoPartialUpdates or so.
- continue;
- }
+ QGraphicsItemCache *cache = d->extraItemCache();
+ if (cache->allExposed || cache->fixedSize.isValid()) {
+ // Cache is either invalidated or item is scaled (see QGraphicsItem::setCacheMode).
+ update(rect);
+ return;
+ }
- static const QLineF up(0, 0, 0, -1);
- static const QLineF down(0, 0, 0, 1);
- static const QLineF left(0, 0, -1, 0);
- static const QLineF right(0, 0, 1, 0);
-
- QTransform deviceTr = deviceTransform(view->viewportTransform());
- QRect deviceScrollRect = deviceTr.mapRect(scrollRect).toRect();
- QLineF v1 = deviceTr.map(right);
- QLineF v2 = deviceTr.map(down);
- QLineF u1 = v1.unitVector(); u1.translate(-v1.p1());
- QLineF u2 = v2.unitVector(); u2.translate(-v2.p1());
- bool noScroll = false;
-
- // Check if the delta resolves to ints in device space.
- QPointF deviceDelta = deviceTr.map(QPointF(dx, dy));
- if ((deviceDelta.x() - int(deviceDelta.x()))
- || (deviceDelta.y() - int(deviceDelta.y()))) {
- noScroll = true;
- } else {
- // Check if the unit vectors have no fraction in device space.
- qreal v1l = v1.length();
- if (v1l - int(v1l)) {
- noScroll = true;
- } else {
- dx *= v1.length();
- }
- qreal v2l = v2.length();
- if (v2l - int(v2l)) {
- noScroll = true;
- } else {
- dy *= v2.length();
- }
- }
+ // Find pixmap in cache.
+ QPixmap cachedPixmap;
+ if (!QPixmapCache::find(cache->key, &cachedPixmap)) {
+ update(rect);
+ return;
+ }
- if (!noScroll) {
- if (u1 == right) {
- if (u2 == up) {
- // flipped
- dy = -dy;
- } else if (u2 == down) {
- // normal
- } else {
- noScroll = true;
- }
- } else if (u1 == left) {
- if (u2 == up) {
- // mirrored & flipped / rotated 180 degrees
- dx = -dx;
- dy = -dy;
- } else if (u2 == down) {
- // mirrored
- dx = -dx;
- } else {
- noScroll = true;
- }
- } else if (u1 == up) {
- if (u2 == left) {
- // rotated -90 & mirrored
- qreal tmp = dy;
- dy = -dx;
- dx = -tmp;
- } else if (u2 == right) {
- // rotated -90
- qreal tmp = dy;
- dy = -dx;
- dx = tmp;
- } else {
- noScroll = true;
- }
- } else if (u1 == down) {
- if (u2 == left) {
- // rotated 90
- qreal tmp = dy;
- dy = dx;
- dx = -tmp;
- } else if (u2 == right) {
- // rotated 90 & mirrored
- qreal tmp = dy;
- dy = dx;
- dx = tmp;
- } else {
- noScroll = true;
- }
- }
- }
+ QRect scrollRect = (rect.isNull() ? boundingRect() : rect).toAlignedRect();
+ if (!scrollRect.intersects(cache->boundingRect))
+ return; // Nothing to scroll.
- if (!noScroll) {
- view->viewport()->scroll(int(dx), int(dy), deviceScrollRect);
- --couldntScroll;
- }
+ // Remove from cache to avoid deep copy when modifying.
+ QPixmapCache::remove(cache->key);
+
+ QRegion exposed;
+ cachedPixmap.scroll(dx, dy, scrollRect.translated(-cache->boundingRect.topLeft()), &exposed);
+
+ // Reinsert into cache.
+ cache->key = QPixmapCache::insert(cachedPixmap);
+
+ // Translate the existing expose.
+ for (int i = 0; i < cache->exposed.size(); ++i) {
+ QRectF &e = cache->exposed[i];
+ if (!rect.isNull() && !e.intersects(rect))
+ continue;
+ e.translate(dx, dy);
}
- if (couldntScroll)
- update(rect);
+
+ // Append newly exposed areas. Note that the exposed region is currently
+ // in pixmap coordinates, so we have to translate it to item coordinates.
+ exposed.translate(cache->boundingRect.topLeft());
+ const QVector<QRect> exposedRects = exposed.rects();
+ for (int i = 0; i < exposedRects.size(); ++i)
+ cache->exposed += exposedRects.at(i);
+
+ // Trigger update. This will redraw the newly exposed area and make sure
+ // the pixmap is re-blitted in case there are overlapping items.
+ d->scene->d_func()->markDirty(this, rect);
}
/*!
@@ -7131,7 +7089,11 @@ void QGraphicsItem::mouseMoveEvent(QGraphicsSceneMouseEvent *event)
// calculate their diff by mapping viewport coordinates
// directly to parent coordinates.
// COMBINE
- QTransform viewToParentTransform = (item->d_func()->transformData->computedFullTransform().translate(item->d_ptr->pos.x(), item->d_ptr->pos.y()))
+ QTransform itemTransform;
+ if (item->d_ptr->transformData)
+ itemTransform = item->d_ptr->transformData->computedFullTransform();
+ itemTransform.translate(item->d_ptr->pos.x(), item->d_ptr->pos.y());
+ QTransform viewToParentTransform = itemTransform
* (item->sceneTransform() * view->viewportTransform()).inverted();
currentParentPos = viewToParentTransform.map(QPointF(view->mapFromGlobal(event->screenPos())));
buttonDownParentPos = viewToParentTransform.map(QPointF(view->mapFromGlobal(event->buttonDownScreenPos(Qt::LeftButton))));
@@ -7612,6 +7574,7 @@ QGraphicsObject::QGraphicsObject(QGraphicsItemPrivate &dd, QGraphicsItem *parent
QGraphicsItem::d_ptr->isObject = true;
}
+#ifndef QT_NO_GESTURES
/*!
Subscribes the graphics object to the given \a gesture with specific \a flags.
@@ -7619,9 +7582,10 @@ QGraphicsObject::QGraphicsObject(QGraphicsItemPrivate &dd, QGraphicsItem *parent
*/
void QGraphicsObject::grabGesture(Qt::GestureType gesture, Qt::GestureFlags flags)
{
- QGraphicsItemPrivate * const d = QGraphicsItem::d_func();
- d->gestureContext.insert(gesture, flags);
- (void)QGestureManager::instance(); // create a gesture manager
+ bool contains = QGraphicsItem::d_ptr->gestureContext.contains(gesture);
+ QGraphicsItem::d_ptr->gestureContext.insert(gesture, flags);
+ if (!contains && QGraphicsItem::d_ptr->scene)
+ QGraphicsItem::d_ptr->scene->d_func()->grabGesture(this, gesture);
}
/*!
@@ -7631,13 +7595,18 @@ void QGraphicsObject::grabGesture(Qt::GestureType gesture, Qt::GestureFlags flag
*/
void QGraphicsObject::ungrabGesture(Qt::GestureType gesture)
{
- QGraphicsItemPrivate * const d = QGraphicsItem::d_func();
- if (d->gestureContext.remove(gesture)) {
- QGestureManager *manager = QGestureManager::instance();
- manager->cleanupCachedGestures(this, gesture);
- }
+ if (QGraphicsItem::d_ptr->gestureContext.remove(gesture) && QGraphicsItem::d_ptr->scene)
+ QGraphicsItem::d_ptr->scene->d_func()->ungrabGesture(this, gesture);
}
+#endif // QT_NO_GESTURES
+
+/*!
+ Updates the item's micro focus. This is slot for convenience.
+ \since 4.7
+
+ \sa QInputContext
+*/
void QGraphicsObject::updateMicroFocus()
{
QGraphicsItem::updateMicroFocus();
@@ -7946,6 +7915,13 @@ void QGraphicsItemPrivate::resetHeight()
*/
/*!
+ \property QGraphicsObject::effect
+ \brief the effect attached to this item
+
+ \sa QGraphicsItem::setGraphicsEffect(), QGraphicsItem::graphicsEffect()
+*/
+
+/*!
\class QAbstractGraphicsShapeItem
\brief The QAbstractGraphicsShapeItem class provides a common base for
all path items.
@@ -7961,7 +7937,7 @@ void QGraphicsItemPrivate::resetHeight()
\sa QGraphicsRectItem, QGraphicsEllipseItem, QGraphicsPathItem,
QGraphicsPolygonItem, QGraphicsTextItem, QGraphicsLineItem,
- QGraphicsPixmapItem, {The Graphics View Framework}
+ QGraphicsPixmapItem, {Graphics View Framework}
*/
class QAbstractGraphicsShapeItemPrivate : public QGraphicsItemPrivate
@@ -8100,7 +8076,7 @@ QPainterPath QAbstractGraphicsShapeItem::opaqueArea() const
setBrush() functions.
\sa QGraphicsRectItem, QGraphicsEllipseItem, QGraphicsPolygonItem,
- QGraphicsTextItem, QGraphicsLineItem, QGraphicsPixmapItem, {The Graphics
+ QGraphicsTextItem, QGraphicsLineItem, QGraphicsPixmapItem, {Graphics
View Framework}
*/
@@ -8309,7 +8285,7 @@ QVariant QGraphicsPathItem::extension(const QVariant &variant) const
those instead.
\sa QGraphicsPathItem, QGraphicsEllipseItem, QGraphicsPolygonItem,
- QGraphicsTextItem, QGraphicsLineItem, QGraphicsPixmapItem, {The Graphics
+ QGraphicsTextItem, QGraphicsLineItem, QGraphicsPixmapItem, {Graphics
View Framework}
*/
@@ -8553,7 +8529,7 @@ QVariant QGraphicsRectItem::extension(const QVariant &variant) const
brush, which you can set by calling setPen() and setBrush().
\sa QGraphicsPathItem, QGraphicsRectItem, QGraphicsPolygonItem,
- QGraphicsTextItem, QGraphicsLineItem, QGraphicsPixmapItem, {The Graphics
+ QGraphicsTextItem, QGraphicsLineItem, QGraphicsPixmapItem, {Graphics
View Framework}
*/
@@ -8862,7 +8838,7 @@ QVariant QGraphicsEllipseItem::extension(const QVariant &variant) const
setPen() and setBrush() functions.
\sa QGraphicsPathItem, QGraphicsRectItem, QGraphicsEllipseItem,
- QGraphicsTextItem, QGraphicsLineItem, QGraphicsPixmapItem, {The Graphics
+ QGraphicsTextItem, QGraphicsLineItem, QGraphicsPixmapItem, {Graphics
View Framework}
*/
@@ -9094,8 +9070,8 @@ QVariant QGraphicsPolygonItem::extension(const QVariant &variant) const
function draws the line using the item's associated pen.
\sa QGraphicsPathItem, QGraphicsRectItem, QGraphicsEllipseItem,
- QGraphicsTextItem, QGraphicsPolygonItem, QGraphicsPixmapItem, {The
- Graphics View Framework}
+ QGraphicsTextItem, QGraphicsPolygonItem, QGraphicsPixmapItem,
+ {Graphics View Framework}
*/
class QGraphicsLineItemPrivate : public QGraphicsItemPrivate
@@ -9364,8 +9340,8 @@ QVariant QGraphicsLineItem::extension(const QVariant &variant) const
transformation mode for the item.
\sa QGraphicsPathItem, QGraphicsRectItem, QGraphicsEllipseItem,
- QGraphicsTextItem, QGraphicsPolygonItem, QGraphicsLineItem, {The
- Graphics View Framework}
+ QGraphicsTextItem, QGraphicsPolygonItem, QGraphicsLineItem,
+ {Graphics View Framework}
*/
/*!
@@ -9735,7 +9711,7 @@ QVariant QGraphicsPixmapItem::extension(const QVariant &variant) const
\sa QGraphicsSimpleTextItem, QGraphicsPathItem, QGraphicsRectItem,
QGraphicsEllipseItem, QGraphicsPixmapItem, QGraphicsPolygonItem,
- QGraphicsLineItem, {The Graphics View Framework}
+ QGraphicsLineItem, {Graphics View Framework}
*/
class QGraphicsTextItemPrivate
@@ -10651,9 +10627,9 @@ void QGraphicsSimpleTextItemPrivate::updateBoundingRect()
\img graphicsview-simpletextitem.png
- \sa QGraphicsTextItem, QGraphicsPathItem, QGraphicsRectItem, QGraphicsEllipseItem,
- QGraphicsPixmapItem, QGraphicsPolygonItem, QGraphicsLineItem, {The
- Graphics View Framework}
+ \sa QGraphicsTextItem, QGraphicsPathItem, QGraphicsRectItem,
+ QGraphicsEllipseItem, QGraphicsPixmapItem, QGraphicsPolygonItem,
+ QGraphicsLineItem, {Graphics View Framework}
*/
/*!
@@ -10914,7 +10890,7 @@ QVariant QGraphicsSimpleTextItem::extension(const QVariant &variant) const
item group. As with addToGroup(), the item's scene-relative
position and transformation remain intact.
- \sa QGraphicsItem, {The Graphics View Framework}
+ \sa QGraphicsItem, {Graphics View Framework}
*/
class QGraphicsItemGroupPrivate : public QGraphicsItemPrivate
diff --git a/src/gui/graphicsview/qgraphicsitem.h b/src/gui/graphicsview/qgraphicsitem.h
index 9891af35fc..d7d5332ed4 100644
--- a/src/gui/graphicsview/qgraphicsitem.h
+++ b/src/gui/graphicsview/qgraphicsitem.h
@@ -485,7 +485,9 @@ private:
friend class QGraphicsSceneBspTreeIndexPrivate;
friend class QGraphicsItemEffectSourcePrivate;
friend class QGraphicsTransformPrivate;
+#ifndef QT_NO_GESTURES
friend class QGestureManager;
+#endif
friend class ::tst_QGraphicsItem;
friend bool qt_closestLeaf(const QGraphicsItem *, const QGraphicsItem *);
friend bool qt_closestItemFirst(const QGraphicsItem *, const QGraphicsItem *);
@@ -572,8 +574,10 @@ public:
using QObject::children;
#endif
+#ifndef QT_NO_GESTURES
void grabGesture(Qt::GestureType type, Qt::GestureFlags flags = Qt::GestureFlags());
void ungrabGesture(Qt::GestureType type);
+#endif
protected Q_SLOTS:
void updateMicroFocus();
diff --git a/src/gui/graphicsview/qgraphicsitem_p.h b/src/gui/graphicsview/qgraphicsitem_p.h
index 569a32965d..bde6e7d049 100644
--- a/src/gui/graphicsview/qgraphicsitem_p.h
+++ b/src/gui/graphicsview/qgraphicsitem_p.h
@@ -377,6 +377,7 @@ public:
QGraphicsItemCache *extraItemCache() const;
void removeExtraItemCache();
+ void updatePaintedViewBoundingRects(bool updateChildren);
void ensureSceneTransformRecursive(QGraphicsItem **topMostDirtyItem);
inline void ensureSceneTransform()
{
@@ -524,7 +525,9 @@ public:
QGraphicsItem *focusScopeItem;
Qt::InputMethodHints imHints;
QGraphicsItem::PanelModality panelModality;
+#ifndef QT_NO_GESTURES
QMap<Qt::GestureType, Qt::GestureFlags> gestureContext;
+#endif
// Packed 32 bits
quint32 acceptedMouseButtons : 5;
diff --git a/src/gui/graphicsview/qgraphicsitemanimation.cpp b/src/gui/graphicsview/qgraphicsitemanimation.cpp
index 839c4ee55b..9cb9a8dd96 100644
--- a/src/gui/graphicsview/qgraphicsitemanimation.cpp
+++ b/src/gui/graphicsview/qgraphicsitemanimation.cpp
@@ -77,7 +77,7 @@
so scheduling several transformations of the same kind (e.g.,
rotations) at the same step is not recommended.
- \sa QTimeLine, {The Graphics View Framework}
+ \sa QTimeLine, {Graphics View Framework}
*/
#include "qgraphicsitemanimation.h"
diff --git a/src/gui/graphicsview/qgraphicslayoutitem.cpp b/src/gui/graphicsview/qgraphicslayoutitem.cpp
index 9f9a39d539..5a7f1afb49 100644
--- a/src/gui/graphicsview/qgraphicslayoutitem.cpp
+++ b/src/gui/graphicsview/qgraphicslayoutitem.cpp
@@ -322,7 +322,7 @@ void QGraphicsLayoutItemPrivate::setSizeComponent(
layout, or false otherwise.
Qt uses QGraphicsLayoutItem to provide layout functionality in the
- \l{The Graphics View Framework}, but in the future its use may spread
+ \l{Graphics View Framework}, but in the future its use may spread
throughout Qt itself.
\sa QGraphicsWidget, QGraphicsLayout, QGraphicsLinearLayout,
diff --git a/src/gui/graphicsview/qgraphicslinearlayout.cpp b/src/gui/graphicsview/qgraphicslinearlayout.cpp
index 9722683d3c..b82872240c 100644
--- a/src/gui/graphicsview/qgraphicslinearlayout.cpp
+++ b/src/gui/graphicsview/qgraphicslinearlayout.cpp
@@ -147,7 +147,7 @@ void QGraphicsLinearLayoutPrivate::removeGridItem(QGridLayoutItem *gridItem)
{
int index = gridItem->firstRow(orientation);
engine.removeItem(gridItem);
- engine.removeRow(index, orientation);
+ engine.removeRows(index, 1, orientation);
}
void QGraphicsLinearLayoutPrivate::fixIndex(int *index) const
diff --git a/src/gui/graphicsview/qgraphicsscene.cpp b/src/gui/graphicsview/qgraphicsscene.cpp
index 0d4e48a145..ca3b56f468 100644
--- a/src/gui/graphicsview/qgraphicsscene.cpp
+++ b/src/gui/graphicsview/qgraphicsscene.cpp
@@ -50,7 +50,7 @@
The class serves as a container for QGraphicsItems. It is used together
with QGraphicsView for visualizing graphical items, such as lines,
rectangles, text, or even custom items, on a 2D surface. QGraphicsScene is
- part of \l{The Graphics View Framework}.
+ part of the \l{Graphics View Framework}.
QGraphicsScene also provides functionality that lets you efficiently
determine both the location of items, and for determining what items are
@@ -290,13 +290,19 @@ QGraphicsScenePrivate::QGraphicsScenePrivate()
updateAll(false),
calledEmitUpdated(false),
processDirtyItemsEmitted(false),
- selectionChanging(0),
needSortTopLevelItems(true),
holesInTopLevelSiblingIndex(false),
topLevelSequentialOrdering(true),
scenePosDescendantsUpdatePending(false),
stickyFocus(false),
hasFocus(false),
+ lastMouseGrabberItemHasImplicitMouseGrab(false),
+ allItemsIgnoreHoverEvents(true),
+ allItemsUseDefaultCursor(true),
+ painterStateProtection(true),
+ sortCacheEnabled(false),
+ allItemsIgnoreTouchEvents(true),
+ selectionChanging(0),
rectAdjust(2),
focusItem(0),
lastFocusItem(0),
@@ -306,16 +312,10 @@ QGraphicsScenePrivate::QGraphicsScenePrivate()
activationRefCount(0),
childExplicitActivation(0),
lastMouseGrabberItem(0),
- lastMouseGrabberItemHasImplicitMouseGrab(false),
dragDropItem(0),
enterWidget(0),
lastDropAction(Qt::IgnoreAction),
- allItemsIgnoreHoverEvents(true),
- allItemsUseDefaultCursor(true),
- painterStateProtection(true),
- sortCacheEnabled(false),
- style(0),
- allItemsIgnoreTouchEvents(true)
+ style(0)
{
}
@@ -690,11 +690,16 @@ void QGraphicsScenePrivate::removeItemHelper(QGraphicsItem *item)
if (item == lastMouseGrabberItem)
lastMouseGrabberItem = 0;
+ // Reset the current drop item
+ if (item == dragDropItem)
+ dragDropItem = 0;
+
// Reenable selectionChanged() for individual items
--selectionChanging;
if (!selectionChanging && selectedItems.size() != oldSelectedItemsSize)
emit q->selectionChanged();
+#ifndef QT_NO_GESTURES
QHash<QGesture *, QGraphicsObject *>::iterator it;
for (it = gestureTargets.begin(); it != gestureTargets.end();) {
if (it.value() == item)
@@ -702,10 +707,15 @@ void QGraphicsScenePrivate::removeItemHelper(QGraphicsItem *item)
else
++it;
}
+
QGraphicsObject *dummy = static_cast<QGraphicsObject *>(item);
cachedTargetItems.removeOne(dummy);
cachedItemGestures.remove(dummy);
cachedAlreadyDeliveredGestures.remove(dummy);
+
+ foreach (Qt::GestureType gesture, item->d_ptr->gestureContext.keys())
+ ungrabGesture(item, gesture);
+#endif // QT_NO_GESTURES
}
/*!
@@ -1173,11 +1183,13 @@ bool QGraphicsScenePrivate::filterEvent(QGraphicsItem *item, QEvent *event)
bool QGraphicsScenePrivate::sendEvent(QGraphicsItem *item, QEvent *event)
{
if (QGraphicsObject *object = item->toGraphicsObject()) {
+#ifndef QT_NO_GESTURES
QGestureManager *gestureManager = QApplicationPrivate::instance()->gestureManager;
if (gestureManager) {
if (gestureManager->filterEvent(object, event))
return true;
}
+#endif // QT_NO_GESTURES
}
if (filterEvent(item, event))
@@ -1316,10 +1328,10 @@ void QGraphicsScenePrivate::mousePressEventHandler(QGraphicsSceneMouseEvent *mou
setFocus = true;
break;
}
- if (item->isEnabled() && ((item->flags() & QGraphicsItem::ItemIsFocusable) && item->d_ptr->mouseSetsFocus)) {
+ if (item->isEnabled() && ((item->flags() & QGraphicsItem::ItemIsFocusable))) {
if (!item->isWidget() || ((QGraphicsWidget *)item)->focusPolicy() & Qt::ClickFocus) {
setFocus = true;
- if (item != q->focusItem())
+ if (item != q->focusItem() && item->d_ptr->mouseSetsFocus)
q->setFocusItem(item, Qt::MouseFocusReason);
break;
}
@@ -2538,12 +2550,16 @@ void QGraphicsScene::addItem(QGraphicsItem *item)
return;
}
- if (d->unpolishedItems.isEmpty()) {
- QMetaMethod method = metaObject()->method(d->polishItemsIndex);
- method.invoke(this, Qt::QueuedConnection);
+ // QDeclarativeItems do not rely on initial itemChanged message, as the componentComplete
+ // function allows far more opportunity for delayed-construction optimization.
+ if (!item->d_ptr->isDeclarativeItem) {
+ if (d->unpolishedItems.isEmpty()) {
+ QMetaMethod method = metaObject()->method(d->polishItemsIndex);
+ method.invoke(this, Qt::QueuedConnection);
+ }
+ d->unpolishedItems.append(item);
+ item->d_ptr->pendingPolish = true;
}
- d->unpolishedItems.append(item);
- item->d_ptr->pendingPolish = true;
// Detach this item from its parent if the parent's scene is different
// from this scene.
@@ -2591,6 +2607,11 @@ void QGraphicsScene::addItem(QGraphicsItem *item)
d->enableTouchEventsOnViews();
}
+#ifndef QT_NO_GESTURES
+ foreach (Qt::GestureType gesture, item->d_ptr->gestureContext.keys())
+ d->grabGesture(item, gesture);
+#endif
+
// Update selection lists
if (item->isSelected())
d->selectedItems << item;
@@ -3511,10 +3532,12 @@ bool QGraphicsScene::event(QEvent *event)
case QEvent::TouchEnd:
d->touchEventHandler(static_cast<QTouchEvent *>(event));
break;
+#ifndef QT_NO_GESTURES
case QEvent::Gesture:
case QEvent::GestureOverride:
d->gestureEventHandler(static_cast<QGestureEvent *>(event));
break;
+#endif // QT_NO_GESTURES
default:
return QObject::event(event);
}
@@ -4362,11 +4385,6 @@ void QGraphicsScenePrivate::drawItemHelper(QGraphicsItem *item, QPainter *painte
bool pixmapFound;
QGraphicsItemCache *itemCache = itemd->extraItemCache();
if (cacheMode == QGraphicsItem::ItemCoordinateCache) {
- if (itemCache->boundingRect != brect.toRect()) {
- itemCache->boundingRect = brect.toRect();
- itemCache->allExposed = true;
- itemCache->exposed.clear();
- }
pixmapKey = itemCache->key;
} else {
pixmapKey = itemCache->deviceData.value(widget).key;
@@ -4379,19 +4397,24 @@ void QGraphicsScenePrivate::drawItemHelper(QGraphicsItem *item, QPainter *painte
if (cacheMode == QGraphicsItem::ItemCoordinateCache) {
QSize pixmapSize;
bool fixedCacheSize = false;
- QRectF brectAligned = brect.toAlignedRect();
+ QRect br = brect.toAlignedRect();
if ((fixedCacheSize = itemCache->fixedSize.isValid())) {
pixmapSize = itemCache->fixedSize;
} else {
- pixmapSize = brectAligned.size().toSize();
+ pixmapSize = br.size();
}
// Create or recreate the pixmap.
int adjust = itemCache->fixedSize.isValid() ? 0 : 2;
QSize adjustSize(adjust*2, adjust*2);
- QRectF br = brectAligned.adjusted(-adjust, -adjust, adjust, adjust);
+ br.adjust(-adjust, -adjust, adjust, adjust);
if (pix.isNull() || (!fixedCacheSize && (pixmapSize + adjustSize) != pix.size())) {
pix = QPixmap(pixmapSize + adjustSize);
+ itemCache->boundingRect = br;
+ itemCache->exposed.clear();
+ itemCache->allExposed = true;
+ } else if (itemCache->boundingRect != br) {
+ itemCache->boundingRect = br;
itemCache->exposed.clear();
itemCache->allExposed = true;
}
@@ -4445,10 +4468,10 @@ void QGraphicsScenePrivate::drawItemHelper(QGraphicsItem *item, QPainter *painte
// qpixmap-image-transform-pixmap roundtrip.
if (newPainterOpacity != oldPainterOpacity) {
painter->setOpacity(newPainterOpacity);
- painter->drawPixmap(br, pix, QRectF(QPointF(), pix.size()));
+ painter->drawPixmap(br.topLeft(), pix);
painter->setOpacity(oldPainterOpacity);
} else {
- painter->drawPixmap(br, pix, QRectF(QPointF(), pix.size()));
+ painter->drawPixmap(br.topLeft(), pix);
}
return;
}
@@ -4875,6 +4898,24 @@ void QGraphicsScenePrivate::markDirty(QGraphicsItem *item, const QRectF &rect, b
if (updateAll)
return;
+ if (removingItemFromScene && !ignoreOpacity && !item->d_ptr->ignoreOpacity) {
+ // If any of the item's ancestors ignore opacity, it means that the opacity
+ // was set to 0 (and the update request has not yet been processed). That
+ // also means that we have to ignore the opacity for the item itself; otherwise
+ // things like: parent->setOpacity(0); scene->removeItem(child) won't work.
+ // Note that we only do this when removing items from the scene. In all other
+ // cases the ignoreOpacity bit propagates properly in processDirtyItems, but
+ // since the item is removed immediately it won't be processed there.
+ QGraphicsItem *p = item->d_ptr->parent;
+ while (p) {
+ if (p->d_ptr->ignoreOpacity) {
+ item->d_ptr->ignoreOpacity = true;
+ break;
+ }
+ p = p->d_ptr->parent;
+ }
+ }
+
if (item->d_ptr->discardUpdateRequest(/*ignoreVisibleBit=*/force,
/*ignoreDirtyBit=*/removingItemFromScene || invalidateChildren,
/*ignoreOpacity=*/ignoreOpacity)) {
@@ -5116,9 +5157,15 @@ void QGraphicsScenePrivate::processDirtyItemsRecursive(QGraphicsItem *item, bool
// Process children.
if (itemHasChildren && item->d_ptr->dirtyChildren) {
+ const bool itemClipsChildrenToShape = item->d_ptr->flags & QGraphicsItem::ItemClipsChildrenToShape;
+ if (itemClipsChildrenToShape) {
+ // Make sure child updates are clipped to the item's bounding rect.
+ for (int i = 0; i < views.size(); ++i)
+ views.at(i)->d_func()->setUpdateClip(item);
+ }
if (!dirtyAncestorContainsChildren) {
dirtyAncestorContainsChildren = item->d_ptr->fullUpdatePending
- && (item->d_ptr->flags & QGraphicsItem::ItemClipsChildrenToShape);
+ && itemClipsChildrenToShape;
}
const bool allChildrenDirty = item->d_ptr->allChildrenDirty;
const bool parentIgnoresVisible = item->d_ptr->ignoreVisible;
@@ -5141,6 +5188,12 @@ void QGraphicsScenePrivate::processDirtyItemsRecursive(QGraphicsItem *item, bool
}
processDirtyItemsRecursive(child, dirtyAncestorContainsChildren, opacity);
}
+
+ if (itemClipsChildrenToShape) {
+ // Reset updateClip.
+ for (int i = 0; i < views.size(); ++i)
+ views.at(i)->d_func()->setUpdateClip(0);
+ }
} else if (wasDirtyParentSceneTransform) {
item->d_ptr->invalidateChildrenSceneTransform();
}
@@ -5593,6 +5646,10 @@ bool QGraphicsScene::sendEvent(QGraphicsItem *item, QEvent *event)
void QGraphicsScenePrivate::addView(QGraphicsView *view)
{
views << view;
+#ifndef QT_NO_GESTURES
+ foreach (Qt::GestureType gesture, grabbedGestures.keys())
+ view->viewport()->grabGesture(gesture);
+#endif
}
void QGraphicsScenePrivate::removeView(QGraphicsView *view)
@@ -5922,6 +5979,7 @@ void QGraphicsScenePrivate::leaveModal(QGraphicsItem *panel)
dispatchHoverEvent(&hoverEvent);
}
+#ifndef QT_NO_GESTURES
void QGraphicsScenePrivate::gestureTargetsAtHotSpots(const QSet<QGesture *> &gestures,
Qt::GestureFlag flag,
QHash<QGraphicsObject *, QSet<QGesture *> > *targets,
@@ -6042,8 +6100,15 @@ void QGraphicsScenePrivate::gestureEventHandler(QGestureEvent *event)
if (ev.isAccepted() || ev.isAccepted(g)) {
conflictedGestures.remove(g);
// mark the item as a gesture target
- if (item)
+ if (item) {
gestureTargets.insert(g, item.data());
+ QHash<QGraphicsObject *, QSet<QGesture *> >::iterator it, e;
+ it = cachedItemGestures.begin();
+ e = cachedItemGestures.end();
+ for(; it != e; ++it)
+ it.value().remove(g);
+ cachedItemGestures[item.data()].insert(g);
+ }
DEBUG() << "QGraphicsScenePrivate::gestureEventHandler:"
<< "override was accepted:"
<< g << item.data();
@@ -6212,7 +6277,8 @@ void QGraphicsScenePrivate::cancelGesturesForChildren(QGesture *original)
{
Q_ASSERT(original);
QGraphicsItem *originalItem = gestureTargets.value(original);
- Q_ASSERT(originalItem);
+ if (originalItem == 0) // we only act on accepted gestures, which implies it has a target.
+ return;
// iterate over all active gestures and for each find the owner
// if the owner is part of our sub-hierarchy, cancel it.
@@ -6290,6 +6356,28 @@ void QGraphicsScenePrivate::cancelGesturesForChildren(QGesture *original)
}
}
+void QGraphicsScenePrivate::grabGesture(QGraphicsItem *, Qt::GestureType gesture)
+{
+ (void)QGestureManager::instance(); // create a gesture manager
+ if (!grabbedGestures[gesture]++) {
+ foreach (QGraphicsView *view, views)
+ view->viewport()->grabGesture(gesture);
+ }
+}
+
+void QGraphicsScenePrivate::ungrabGesture(QGraphicsItem *item, Qt::GestureType gesture)
+{
+ // we know this can only be an object
+ Q_ASSERT(item->d_ptr->isObject);
+ QGraphicsObject *obj = static_cast<QGraphicsObject *>(item);
+ QGestureManager::instance()->cleanupCachedGestures(obj, gesture);
+ if (!--grabbedGestures[gesture]) {
+ foreach (QGraphicsView *view, views)
+ view->viewport()->ungrabGesture(gesture);
+ }
+}
+#endif // QT_NO_GESTURES
+
QT_END_NAMESPACE
#include "moc_qgraphicsscene.cpp"
diff --git a/src/gui/graphicsview/qgraphicsscene.h b/src/gui/graphicsview/qgraphicsscene.h
index e5b15efb08..f8615f4317 100644
--- a/src/gui/graphicsview/qgraphicsscene.h
+++ b/src/gui/graphicsview/qgraphicsscene.h
@@ -302,6 +302,7 @@ private:
Q_PRIVATE_SLOT(d_func(), void _q_updateScenePosDescendants())
friend class QGraphicsItem;
friend class QGraphicsItemPrivate;
+ friend class QGraphicsObject;
friend class QGraphicsView;
friend class QGraphicsViewPrivate;
friend class QGraphicsWidget;
@@ -312,7 +313,9 @@ private:
friend class QGraphicsSceneBspTreeIndex;
friend class QGraphicsSceneBspTreeIndexPrivate;
friend class QGraphicsItemEffectSourcePrivate;
+#ifndef QT_NO_GESTURES
friend class QGesture;
+#endif
};
Q_DECLARE_OPERATORS_FOR_FLAGS(QGraphicsScene::SceneLayers)
diff --git a/src/gui/graphicsview/qgraphicsscene_p.h b/src/gui/graphicsview/qgraphicsscene_p.h
index 0a85f0efce..f28dfe92d6 100644
--- a/src/gui/graphicsview/qgraphicsscene_p.h
+++ b/src/gui/graphicsview/qgraphicsscene_p.h
@@ -97,24 +97,36 @@ public:
int lastItemCount;
QRectF sceneRect;
- bool hasSceneRect;
- bool dirtyGrowingItemsBoundingRect;
+
+ quint32 hasSceneRect : 1;
+ quint32 dirtyGrowingItemsBoundingRect : 1;
+ quint32 updateAll : 1;
+ quint32 calledEmitUpdated : 1;
+ quint32 processDirtyItemsEmitted : 1;
+ quint32 needSortTopLevelItems : 1;
+ quint32 holesInTopLevelSiblingIndex : 1;
+ quint32 topLevelSequentialOrdering : 1;
+ quint32 scenePosDescendantsUpdatePending : 1;
+ quint32 stickyFocus : 1;
+ quint32 hasFocus : 1;
+ quint32 lastMouseGrabberItemHasImplicitMouseGrab : 1;
+ quint32 allItemsIgnoreHoverEvents : 1;
+ quint32 allItemsUseDefaultCursor : 1;
+ quint32 painterStateProtection : 1;
+ quint32 sortCacheEnabled : 1; // for compatibility
+ quint32 allItemsIgnoreTouchEvents : 1;
+ quint32 padding : 15;
+
QRectF growingItemsBoundingRect;
void _q_emitUpdated();
QList<QRectF> updatedRects;
- bool updateAll;
- bool calledEmitUpdated;
- bool processDirtyItemsEmitted;
QPainterPath selectionArea;
int selectionChanging;
QSet<QGraphicsItem *> selectedItems;
QVector<QGraphicsItem *> unpolishedItems;
QList<QGraphicsItem *> topLevelItems;
- bool needSortTopLevelItems;
- bool holesInTopLevelSiblingIndex;
- bool topLevelSequentialOrdering;
QMap<QGraphicsItem *, QPointF> movingItemsInitialPositions;
void registerTopLevelItem(QGraphicsItem *item);
@@ -125,7 +137,6 @@ public:
void _q_processDirtyItems();
QSet<QGraphicsItem *> scenePosItems;
- bool scenePosDescendantsUpdatePending;
void setScenePosItemEnabled(QGraphicsItem *item, bool enabled);
void registerScenePosItem(QGraphicsItem *item);
void unregisterScenePosItem(QGraphicsItem *item);
@@ -136,9 +147,6 @@ public:
QBrush backgroundBrush;
QBrush foregroundBrush;
- quint32 stickyFocus : 1;
- quint32 hasFocus : 1;
- quint32 padding : 30;
quint32 rectAdjust;
QGraphicsItem *focusItem;
QGraphicsItem *lastFocusItem;
@@ -155,7 +163,6 @@ public:
void removePopup(QGraphicsWidget *widget, bool itemIsDying = false);
QGraphicsItem *lastMouseGrabberItem;
- bool lastMouseGrabberItemHasImplicitMouseGrab;
QList<QGraphicsItem *> mouseGrabberItems;
void grabMouse(QGraphicsItem *item, bool implicit = false);
void ungrabMouse(QGraphicsItem *item, bool itemIsDying = false);
@@ -172,8 +179,6 @@ public:
QList<QGraphicsItem *> cachedItemsUnderMouse;
QList<QGraphicsItem *> hoverItems;
QPointF lastSceneMousePos;
- bool allItemsIgnoreHoverEvents;
- bool allItemsUseDefaultCursor;
void enableMouseTrackingOnViews();
QMap<Qt::MouseButton, QPointF> mouseGrabberButtonDownPos;
QMap<Qt::MouseButton, QPointF> mouseGrabberButtonDownScenePos;
@@ -187,8 +192,6 @@ public:
void addView(QGraphicsView *view);
void removeView(QGraphicsView *view);
- bool painterStateProtection;
-
QMultiMap<QGraphicsItem *, QGraphicsItem *> sceneEventFilters;
void installSceneEventFilter(QGraphicsItem *watched, QGraphicsItem *filter);
void removeSceneEventFilter(QGraphicsItem *watched, QGraphicsItem *filter);
@@ -210,8 +213,6 @@ public:
void mousePressEventHandler(QGraphicsSceneMouseEvent *mouseEvent);
QGraphicsWidget *windowForItem(const QGraphicsItem *item) const;
- bool sortCacheEnabled; // for compatibility
-
void drawItemHelper(QGraphicsItem *item, QPainter *painter,
const QStyleOptionGraphicsItem *option, QWidget *widget,
bool painterStateProtection);
@@ -295,13 +296,14 @@ public:
int findClosestTouchPointId(const QPointF &scenePos);
void touchEventHandler(QTouchEvent *touchEvent);
bool sendTouchBeginEvent(QGraphicsItem *item, QTouchEvent *touchEvent);
- bool allItemsIgnoreTouchEvents;
void enableTouchEventsOnViews();
QList<QGraphicsObject *> cachedTargetItems;
+#ifndef QT_NO_GESTURES
QHash<QGraphicsObject *, QSet<QGesture *> > cachedItemGestures;
QHash<QGraphicsObject *, QSet<QGesture *> > cachedAlreadyDeliveredGestures;
QHash<QGesture *, QGraphicsObject *> gestureTargets;
+ QHash<Qt::GestureType, int> grabbedGestures;
void gestureEventHandler(QGestureEvent *event);
void gestureTargetsAtHotSpots(const QSet<QGesture *> &gestures,
Qt::GestureFlag flag,
@@ -310,6 +312,9 @@ public:
QSet<QGesture *> *normal = 0,
QSet<QGesture *> *conflicts = 0);
void cancelGesturesForChildren(QGesture *original);
+ void grabGesture(QGraphicsItem *, Qt::GestureType gesture);
+ void ungrabGesture(QGraphicsItem *, Qt::GestureType gesture);
+#endif // QT_NO_GESTURES
void updateInputMethodSensitivityInViews();
diff --git a/src/gui/graphicsview/qgraphicsview.cpp b/src/gui/graphicsview/qgraphicsview.cpp
index 0bba7e9c00..067461002a 100644
--- a/src/gui/graphicsview/qgraphicsview.cpp
+++ b/src/gui/graphicsview/qgraphicsview.cpp
@@ -53,7 +53,7 @@ static const int QGRAPHICSVIEW_PREALLOC_STYLE_OPTIONS = 503; // largest prime <
QGraphicsView visualizes the contents of a QGraphicsScene in a scrollable
viewport. To create a scene with geometrical items, see QGraphicsScene's
- documentation. QGraphicsView is part of \l{The Graphics View Framework}.
+ documentation. QGraphicsView is part of the \l{Graphics View Framework}.
To visualize a scene, you start by constructing a QGraphicsView object,
passing the address of the scene you want to visualize to QGraphicsView's
@@ -327,16 +327,21 @@ QGraphicsViewPrivate::QGraphicsViewPrivate()
dragMode(QGraphicsView::NoDrag),
sceneInteractionAllowed(true), hasSceneRect(false),
connectedToScene(false),
- mousePressButton(Qt::NoButton),
+ useLastMouseEvent(false),
identityMatrix(true),
dirtyScroll(true),
accelerateScrolling(true),
+ keepLastCenterPoint(true),
+ transforming(false),
+ handScrolling(false),
+ mustAllocateStyleOptions(false),
+ mustResizeBackgroundPixmap(true),
+ fullUpdatePending(true),
+ hasUpdateClip(false),
+ mousePressButton(Qt::NoButton),
leftIndent(0), topIndent(0),
lastMouseEvent(QEvent::None, QPoint(), Qt::NoButton, 0, 0),
- useLastMouseEvent(false),
- keepLastCenterPoint(true),
alignment(Qt::AlignCenter),
- transforming(false),
transformationAnchor(QGraphicsView::AnchorViewCenter), resizeAnchor(QGraphicsView::NoAnchor),
viewportUpdateMode(QGraphicsView::MinimalViewportUpdate),
optimizationFlags(0),
@@ -345,14 +350,11 @@ QGraphicsViewPrivate::QGraphicsViewPrivate()
rubberBanding(false),
rubberBandSelectionMode(Qt::IntersectsItemShape),
#endif
- handScrolling(false), handScrollMotions(0), cacheMode(0),
- mustAllocateStyleOptions(false),
- mustResizeBackgroundPixmap(true),
+ handScrollMotions(0), cacheMode(0),
#ifndef QT_NO_CURSOR
hasStoredOriginalCursor(false),
#endif
lastDragDropEvent(0),
- fullUpdatePending(true),
updateSceneSlotReimplementedChecked(false)
{
styleOptions.reserve(QGRAPHICSVIEW_PREALLOC_STYLE_OPTIONS);
@@ -879,6 +881,52 @@ static inline void QRect_unite(QRect *rect, const QRect &other)
}
}
+/*
+ Calling this function results in update rects being clipped to the item's
+ bounding rect. Note that updates prior to this function call is not clipped.
+ The clip is removed by passing 0.
+*/
+void QGraphicsViewPrivate::setUpdateClip(QGraphicsItem *item)
+{
+ Q_Q(QGraphicsView);
+ // We simply ignore the request if the update mode is either FullViewportUpdate
+ // or NoViewportUpdate; in that case there's no point in clipping anything.
+ if (!item || viewportUpdateMode == QGraphicsView::NoViewportUpdate
+ || viewportUpdateMode == QGraphicsView::FullViewportUpdate) {
+ hasUpdateClip = false;
+ return;
+ }
+
+ // Calculate the clip (item's bounding rect in view coordinates).
+ // Optimized version of:
+ // QRect clip = item->deviceTransform(q->viewportTransform())
+ // .mapRect(item->boundingRect()).toAlignedRect();
+ QRect clip;
+ if (item->d_ptr->itemIsUntransformable()) {
+ QTransform xform = item->deviceTransform(q->viewportTransform());
+ clip = xform.mapRect(item->boundingRect()).toAlignedRect();
+ } else if (item->d_ptr->sceneTransformTranslateOnly && identityMatrix) {
+ QRectF r(item->boundingRect());
+ r.translate(item->d_ptr->sceneTransform.dx() - horizontalScroll(),
+ item->d_ptr->sceneTransform.dy() - verticalScroll());
+ clip = r.toAlignedRect();
+ } else if (!q->isTransformed()) {
+ clip = item->d_ptr->sceneTransform.mapRect(item->boundingRect()).toAlignedRect();
+ } else {
+ QTransform xform = item->d_ptr->sceneTransform;
+ xform *= q->viewportTransform();
+ clip = xform.mapRect(item->boundingRect()).toAlignedRect();
+ }
+
+ if (hasUpdateClip) {
+ // Intersect with old clip.
+ updateClip &= clip;
+ } else {
+ updateClip = clip;
+ hasUpdateClip = true;
+ }
+}
+
bool QGraphicsViewPrivate::updateRegion(const QRectF &rect, const QTransform &xform)
{
if (rect.isEmpty())
@@ -909,6 +957,8 @@ bool QGraphicsViewPrivate::updateRegion(const QRectF &rect, const QTransform &xf
viewRect.adjust(-1, -1, 1, 1);
else
viewRect.adjust(-2, -2, 2, 2);
+ if (hasUpdateClip)
+ viewRect &= updateClip;
dirtyRegion += viewRect;
}
@@ -930,7 +980,10 @@ bool QGraphicsViewPrivate::updateRect(const QRect &r)
viewport->update();
break;
case QGraphicsView::BoundingRectViewportUpdate:
- QRect_unite(&dirtyBoundingRect, r);
+ if (hasUpdateClip)
+ QRect_unite(&dirtyBoundingRect, r & updateClip);
+ else
+ QRect_unite(&dirtyBoundingRect, r);
if (containsViewport(dirtyBoundingRect, viewport->width(), viewport->height())) {
fullUpdatePending = true;
viewport->update();
@@ -938,7 +991,10 @@ bool QGraphicsViewPrivate::updateRect(const QRect &r)
break;
case QGraphicsView::SmartViewportUpdate: // ### DEPRECATE
case QGraphicsView::MinimalViewportUpdate:
- dirtyRegion += r;
+ if (hasUpdateClip)
+ dirtyRegion += r & updateClip;
+ else
+ dirtyRegion += r;
break;
default:
break;
@@ -1819,8 +1875,6 @@ void QGraphicsView::centerOn(const QGraphicsItem *item)
void QGraphicsView::ensureVisible(const QRectF &rect, int xmargin, int ymargin)
{
Q_D(QGraphicsView);
- Q_UNUSED(xmargin);
- Q_UNUSED(ymargin);
qreal width = viewport()->width();
qreal height = viewport()->height();
QRectF viewRect = d->matrix.mapRect(rect);
@@ -2634,6 +2688,13 @@ void QGraphicsView::setupViewport(QWidget *widget)
if (d->scene && !d->scene->d_func()->allItemsIgnoreTouchEvents)
widget->setAttribute(Qt::WA_AcceptTouchEvents);
+#ifndef QT_NO_GESTURES
+ if (d->scene) {
+ foreach (Qt::GestureType gesture, d->scene->d_func()->grabbedGestures.keys())
+ widget->grabGesture(gesture);
+ }
+#endif
+
widget->setAcceptDrops(acceptDrops());
}
@@ -2779,6 +2840,7 @@ bool QGraphicsView::viewportEvent(QEvent *event)
return true;
}
+#ifndef QT_NO_GESTURES
case QEvent::Gesture:
case QEvent::GestureOverride:
{
@@ -2792,6 +2854,7 @@ bool QGraphicsView::viewportEvent(QEvent *event)
}
return true;
}
+#endif // QT_NO_GESTURES
default:
break;
}
diff --git a/src/gui/graphicsview/qgraphicsview_p.h b/src/gui/graphicsview/qgraphicsview_p.h
index aeff28a69b..7bd9ecb918 100644
--- a/src/gui/graphicsview/qgraphicsview_p.h
+++ b/src/gui/graphicsview/qgraphicsview_p.h
@@ -77,11 +77,25 @@ public:
QPainter::RenderHints renderHints;
QGraphicsView::DragMode dragMode;
- bool sceneInteractionAllowed;
+
+ quint32 sceneInteractionAllowed : 1;
+ quint32 hasSceneRect : 1;
+ quint32 connectedToScene : 1;
+ quint32 useLastMouseEvent : 1;
+ quint32 identityMatrix : 1;
+ quint32 dirtyScroll : 1;
+ quint32 accelerateScrolling : 1;
+ quint32 keepLastCenterPoint : 1;
+ quint32 transforming : 1;
+ quint32 handScrolling : 1;
+ quint32 mustAllocateStyleOptions : 1;
+ quint32 mustResizeBackgroundPixmap : 1;
+ quint32 fullUpdatePending : 1;
+ quint32 hasUpdateClip : 1;
+ quint32 padding : 18;
+
QRectF sceneRect;
- bool hasSceneRect;
void updateLastCenterPoint();
- bool connectedToScene;
qint64 horizontalScroll() const;
qint64 verticalScroll() const;
@@ -89,6 +103,7 @@ public:
QRectF mapRectToScene(const QRect &rect) const;
QRectF mapRectFromScene(const QRectF &rect) const;
+ QRect updateClip;
QPointF mousePressItemPoint;
QPointF mousePressScenePoint;
QPoint mousePressViewPoint;
@@ -98,26 +113,20 @@ public:
QPoint dirtyScrollOffset;
Qt::MouseButton mousePressButton;
QTransform matrix;
- bool identityMatrix;
qint64 scrollX, scrollY;
- bool dirtyScroll;
void updateScroll();
- bool accelerateScrolling;
qreal leftIndent;
qreal topIndent;
// Replaying mouse events
QMouseEvent lastMouseEvent;
- bool useLastMouseEvent;
void replayLastMouseEvent();
void storeMouseEvent(QMouseEvent *event);
void mouseMoveEventHandler(QMouseEvent *event);
QPointF lastCenterPoint;
- bool keepLastCenterPoint;
Qt::Alignment alignment;
- bool transforming;
QGraphicsView::ViewportAnchor transformationAnchor;
QGraphicsView::ViewportAnchor resizeAnchor;
@@ -131,20 +140,17 @@ public:
bool rubberBanding;
Qt::ItemSelectionMode rubberBandSelectionMode;
#endif
- bool handScrolling;
int handScrollMotions;
QGraphicsView::CacheMode cacheMode;
QVector<QStyleOptionGraphicsItem> styleOptions;
- bool mustAllocateStyleOptions;
QStyleOptionGraphicsItem *allocStyleOptionsArray(int numItems);
void freeStyleOptionsArray(QStyleOptionGraphicsItem *array);
QBrush backgroundBrush;
QBrush foregroundBrush;
QPixmap backgroundPixmap;
- bool mustResizeBackgroundPixmap;
QRegion backgroundPixmapExposed;
#ifndef QT_NO_CURSOR
@@ -161,7 +167,6 @@ public:
QRect mapToViewRect(const QGraphicsItem *item, const QRectF &rect) const;
QRegion mapToViewRegion(const QGraphicsItem *item, const QRectF &rect) const;
- bool fullUpdatePending;
QRegion dirtyRegion;
QRect dirtyBoundingRect;
void processPendingUpdates();
@@ -192,6 +197,8 @@ public:
#endif
}
+ void setUpdateClip(QGraphicsItem *);
+
inline bool updateRectF(const QRectF &rect)
{
if (rect.isEmpty())
diff --git a/src/gui/graphicsview/qgraphicswidget.cpp b/src/gui/graphicsview/qgraphicswidget.cpp
index 06a44b76f4..c486c451a8 100644
--- a/src/gui/graphicsview/qgraphicswidget.cpp
+++ b/src/gui/graphicsview/qgraphicswidget.cpp
@@ -747,6 +747,17 @@ QSizeF QGraphicsWidget::sizeHint(Qt::SizeHint which, const QSizeF &constraint) c
}
/*!
+ \property QGraphicsWidget::layout
+ \brief The layout of the widget
+*/
+
+/*!
+ \fn void QGraphicsWidget::layoutChanged()
+ This signal gets emitted whenever the layout of the item changes
+ \internal
+*/
+
+/*!
Returns this widget's layout, or 0 if no layout is currently managing this
widget.
@@ -1085,18 +1096,9 @@ QVariant QGraphicsWidget::itemChange(GraphicsItemChange change, const QVariant &
}
break;
case ItemPositionHasChanged:
- if (!d->inSetGeometry) {
- d->inSetPos = 1;
- // Ensure setGeometry is called (avoid recursion when setPos is
- // called from within setGeometry).
- setGeometry(QRectF(pos(), size()));
- d->inSetPos = 0 ;
- }
+ d->setGeometryFromSetPos();
break;
case ItemParentChange: {
- QGraphicsItem *parent = qVariantValue<QGraphicsItem *>(value);
- d->fixFocusChainBeforeReparenting((parent && parent->isWidget()) ? static_cast<QGraphicsWidget *>(parent) : 0, scene());
-
// Deliver ParentAboutToChange.
QEvent event(QEvent::ParentAboutToChange);
QApplication::sendEvent(this, &event);
diff --git a/src/gui/graphicsview/qgraphicswidget_p.cpp b/src/gui/graphicsview/qgraphicswidget_p.cpp
index 6e397b67ef..28070da86c 100644
--- a/src/gui/graphicsview/qgraphicswidget_p.cpp
+++ b/src/gui/graphicsview/qgraphicswidget_p.cpp
@@ -71,14 +71,18 @@ void QGraphicsWidgetPrivate::init(QGraphicsItem *parentItem, Qt::WindowFlags wFl
adjustWindowFlags(&wFlags);
windowFlags = wFlags;
- q->setParentItem(parentItem);
+ if (parentItem)
+ setParentItemHelper(parentItem, 0, 0);
+
q->setSizePolicy(QSizePolicy(QSizePolicy::Preferred, QSizePolicy::Preferred, QSizePolicy::DefaultType));
q->setGraphicsItem(q);
resolveLayoutDirection();
q->unsetWindowFrameMargins();
- q->setFlag(QGraphicsItem::ItemUsesExtendedStyleOption);
- q->setFlag(QGraphicsItem::ItemSendsGeometryChanges);
+ flags |= QGraphicsItem::ItemUsesExtendedStyleOption;
+ flags |= QGraphicsItem::ItemSendsGeometryChanges;
+ if (windowFlags & Qt::Window)
+ flags |= QGraphicsItem::ItemIsPanel;
}
qreal QGraphicsWidgetPrivate::titleBarHeight(const QStyleOptionTitleBar &options) const
@@ -876,6 +880,18 @@ void QGraphicsWidgetPrivate::resetHeight()
q->setGeometry(QRectF(q->x(), q->y(), width(), 0));
}
+void QGraphicsWidgetPrivate::setGeometryFromSetPos()
+{
+ if (inSetGeometry)
+ return;
+ Q_Q(QGraphicsWidget);
+ inSetPos = 1;
+ // Ensure setGeometry is called (avoid recursion when setPos is
+ // called from within setGeometry).
+ q->setGeometry(QRectF(pos, q->size()));
+ inSetPos = 0 ;
+}
+
QT_END_NAMESPACE
#endif //QT_NO_GRAPHICSVIEW
diff --git a/src/gui/graphicsview/qgraphicswidget_p.h b/src/gui/graphicsview/qgraphicswidget_p.h
index 7116a2337b..e9e6fc23b6 100644
--- a/src/gui/graphicsview/qgraphicswidget_p.h
+++ b/src/gui/graphicsview/qgraphicswidget_p.h
@@ -139,6 +139,7 @@ public:
qreal height() const;
void setHeight(qreal);
void resetHeight();
+ void setGeometryFromSetPos();
// State
inline int attributeToBitIndex(Qt::WidgetAttribute att) const
diff --git a/src/gui/graphicsview/qgridlayoutengine_p.h b/src/gui/graphicsview/qgridlayoutengine_p.h
index cbf704ec17..9ac9a8ed88 100644
--- a/src/gui/graphicsview/qgridlayoutengine_p.h
+++ b/src/gui/graphicsview/qgridlayoutengine_p.h
@@ -363,8 +363,8 @@ public:
QGridLayoutItem *itemAt(int row, int column, Qt::Orientation orientation = Qt::Vertical) const;
inline void insertRow(int row, Qt::Orientation orientation = Qt::Vertical)
{ insertOrRemoveRows(row, +1, orientation); }
- inline void removeRow(int row, Qt::Orientation orientation = Qt::Vertical)
- { insertOrRemoveRows(row, -1, orientation); }
+ inline void removeRows(int row, int count, Qt::Orientation orientation)
+ { insertOrRemoveRows(row, -count, orientation); }
void invalidate();
void setGeometries(const QLayoutStyleInfo &styleInfo, const QRectF &contentsGeometry);
diff --git a/src/gui/gui.pro b/src/gui/gui.pro
index b68c9b5860..4fbdb36e08 100644
--- a/src/gui/gui.pro
+++ b/src/gui/gui.pro
@@ -3,6 +3,7 @@ QPRO_PWD = $$PWD
QT = core
DEFINES += QT_BUILD_GUI_LIB QT_NO_USING_NAMESPACE
win32-msvc*|win32-icc:QMAKE_LFLAGS += /BASE:0x65000000
+irix-cc*:QMAKE_CXXFLAGS += -no_prelink -ptused
!win32:!embedded:!embedded_lite:!mac:!symbian:CONFIG += x11
diff --git a/src/gui/image/image.pri b/src/gui/image/image.pri
index 1aee4f0821..1df66a0626 100644
--- a/src/gui/image/image.pri
+++ b/src/gui/image/image.pri
@@ -98,12 +98,12 @@ SOURCES += \
SOURCES += image/qpnghandler.cpp
contains(QT_CONFIG, system-png) {
- unix:LIBS_PRIVATE += -lpng
- win32:LIBS += libpng.lib
+ unix|win32-g++*:LIBS_PRIVATE += -lpng
+ win32:!win32-g++*:LIBS += libpng.lib
} else {
DEFINES *= QT_USE_BUNDLED_LIBPNG
!isEqual(QT_ARCH, i386):!isEqual(QT_ARCH, x86_64):DEFINES += PNG_NO_ASSEMBLER_CODE
- INCLUDEPATH += ../3rdparty/libpng ../3rdparty/zlib
+ INCLUDEPATH += ../3rdparty/libpng
SOURCES += ../3rdparty/libpng/png.c \
../3rdparty/libpng/pngerror.c \
../3rdparty/libpng/pngget.c \
@@ -119,6 +119,14 @@ SOURCES += \
../3rdparty/libpng/pngwrite.c \
../3rdparty/libpng/pngwtran.c \
../3rdparty/libpng/pngwutil.c
+
+ contains(QT_CONFIG, system-zlib) {
+ symbian:LIBS_PRIVATE += -llibz
+ else:if(unix|win32-g++*):LIBS_PRIVATE += -lz
+ else:LIBS += zdll.lib
+ } else {
+ INCLUDEPATH += ../3rdparty/zlib
+ }
}
} else {
DEFINES *= QT_NO_IMAGEFORMAT_PNG
diff --git a/src/gui/image/qbmphandler.cpp b/src/gui/image/qbmphandler.cpp
index 42e19b8a35..074b8f080c 100644
--- a/src/gui/image/qbmphandler.cpp
+++ b/src/gui/image/qbmphandler.cpp
@@ -674,13 +674,15 @@ bool QBmpHandler::readHeader()
bool QBmpHandler::canRead() const
{
- if (state == Ready) {
- if (!canRead(device()))
- return false;
+ if (state == Ready && !canRead(device()))
+ return false;
+
+ if (state != Error) {
setFormat("bmp");
return true;
}
- return state != Error;
+
+ return false;
}
bool QBmpHandler::canRead(QIODevice *device)
diff --git a/src/gui/image/qicon.cpp b/src/gui/image/qicon.cpp
index 891b1db22c..a2f429a559 100644
--- a/src/gui/image/qicon.cpp
+++ b/src/gui/image/qicon.cpp
@@ -66,6 +66,8 @@
#include "private/qkde_p.h"
#endif
+#include "private/qstylehelper_p.h"
+
#ifndef QT_NO_ICON
QT_BEGIN_NAMESPACE
@@ -261,21 +263,17 @@ QPixmap QPixmapIconEngine::pixmap(const QSize &size, QIcon::Mode mode, QIcon::St
if (!actualSize.isNull() && (actualSize.width() > size.width() || actualSize.height() > size.height()))
actualSize.scale(size, Qt::KeepAspectRatio);
- QString key = QLatin1String("$qt_icon_")
- + QString::number(pm.cacheKey())
- + QString::number(pe->mode)
- + QString::number(QApplication::palette().cacheKey())
- + QLatin1Char('_')
- + QString::number(actualSize.width())
- + QLatin1Char('_')
- + QString::number(actualSize.height())
- + QLatin1Char('_');
-
+ QString key = QLatin1Literal("qt_")
+ % HexString<quint64>(pm.cacheKey())
+ % HexString<uint>(pe->mode)
+ % HexString<quint64>(QApplication::palette().cacheKey())
+ % HexString<uint>(actualSize.width())
+ % HexString<uint>(actualSize.height());
if (mode == QIcon::Active) {
- if (QPixmapCache::find(key + QString::number(mode), pm))
+ if (QPixmapCache::find(key % HexString<uint>(mode), pm))
return pm; // horray
- if (QPixmapCache::find(key + QString::number(QIcon::Normal), pm)) {
+ if (QPixmapCache::find(key % HexString<uint>(QIcon::Normal), pm)) {
QStyleOption opt(0);
opt.palette = QApplication::palette();
QPixmap active = QApplication::style()->generatedIconPixmap(QIcon::Active, pm, &opt);
@@ -284,7 +282,7 @@ QPixmap QPixmapIconEngine::pixmap(const QSize &size, QIcon::Mode mode, QIcon::St
}
}
- if (!QPixmapCache::find(key + QString::number(mode), pm)) {
+ if (!QPixmapCache::find(key % HexString<uint>(mode), pm)) {
if (pm.size() != actualSize)
pm = pm.scaled(actualSize, Qt::IgnoreAspectRatio, Qt::SmoothTransformation);
if (pe->mode != mode && mode != QIcon::Normal) {
@@ -294,7 +292,7 @@ QPixmap QPixmapIconEngine::pixmap(const QSize &size, QIcon::Mode mode, QIcon::St
if (!generated.isNull())
pm = generated;
}
- QPixmapCache::insert(key + QString::number(mode), pm);
+ QPixmapCache::insert(key % HexString<uint>(mode), pm);
}
return pm;
}
diff --git a/src/gui/image/qiconloader.cpp b/src/gui/image/qiconloader.cpp
index a515ef8bec..34f40a94f0 100644
--- a/src/gui/image/qiconloader.cpp
+++ b/src/gui/image/qiconloader.cpp
@@ -63,6 +63,8 @@
#include <private/qt_x11_p.h>
#endif
+#include <private/qstylehelper_p.h>
+
QT_BEGIN_NAMESPACE
Q_GLOBAL_STATIC(QIconLoader, iconLoaderInstance)
@@ -488,14 +490,12 @@ QPixmap PixmapEntry::pixmap(const QSize &size, QIcon::Mode mode, QIcon::State st
basePixmap.load(filename);
int actualSize = qMin(size.width(), size.height());
- QString key = QLatin1String("$qt_theme_")
- + QString::number(basePixmap.cacheKey(), 16)
- + QLatin1Char('_')
- + QString::number(mode)
- + QLatin1Char('_')
- + QString::number(qApp->palette().cacheKey(), 16)
- + QLatin1Char('_')
- + QString::number(actualSize);
+
+ QString key = QLatin1Literal("$qt_theme_")
+ % HexString<qint64>(basePixmap.cacheKey())
+ % HexString<int>(mode)
+ % HexString<qint64>(qApp->palette().cacheKey())
+ % HexString<int>(actualSize);
QPixmap cachedPixmap;
if (QPixmapCache::find(key, &cachedPixmap)) {
diff --git a/src/gui/image/qimage.cpp b/src/gui/image/qimage.cpp
index 85be5b1ff3..adc2632caf 100644
--- a/src/gui/image/qimage.cpp
+++ b/src/gui/image/qimage.cpp
@@ -272,6 +272,8 @@ bool QImageData::checkForAlphaPixels() const
switch (format) {
+ case QImage::Format_Mono:
+ case QImage::Format_MonoLSB:
case QImage::Format_Indexed8:
has_alpha_pixels = has_alpha_clut;
break;
@@ -4208,6 +4210,7 @@ QImage QImage::createHeuristicMask(bool clipTight) const
int w = width();
int h = height();
QImage m(w, h, Format_MonoLSB);
+ QIMAGE_SANITYCHECK_MEMORY(m);
m.setColorCount(2);
m.setColor(0, QColor(Qt::color0).rgba());
m.setColor(1, QColor(Qt::color1).rgba());
@@ -4300,6 +4303,7 @@ QImage QImage::createMaskFromColor(QRgb color, Qt::MaskMode mode) const
if (!d)
return QImage();
QImage maskImage(size(), QImage::Format_MonoLSB);
+ QIMAGE_SANITYCHECK_MEMORY(maskImage);
maskImage.fill(0);
uchar *s = maskImage.bits();
@@ -4360,6 +4364,7 @@ QImage QImage::mirrored(bool horizontal, bool vertical) const
int h = d->height;
// Create result image, copy colormap
QImage result(d->width, d->height, d->format);
+ QIMAGE_SANITYCHECK_MEMORY(result);
// check if we ran out of of memory..
if (!result.d)
@@ -4497,6 +4502,7 @@ QImage QImage::rgbSwapped() const
case Format_ARGB32:
case Format_ARGB32_Premultiplied:
res = QImage(d->width, d->height, d->format);
+ QIMAGE_SANITYCHECK_MEMORY(res);
for (int i = 0; i < d->height; i++) {
uint *q = (uint*)res.scanLine(i);
uint *p = (uint*)scanLine(i);
@@ -4510,6 +4516,7 @@ QImage QImage::rgbSwapped() const
break;
case Format_RGB16:
res = QImage(d->width, d->height, d->format);
+ QIMAGE_SANITYCHECK_MEMORY(res);
for (int i = 0; i < d->height; i++) {
ushort *q = (ushort*)res.scanLine(i);
const ushort *p = (const ushort*)scanLine(i);
@@ -4523,6 +4530,7 @@ QImage QImage::rgbSwapped() const
break;
case Format_ARGB8565_Premultiplied:
res = QImage(d->width, d->height, d->format);
+ QIMAGE_SANITYCHECK_MEMORY(res);
for (int i = 0; i < d->height; i++) {
quint8 *p = (quint8*)scanLine(i);
const quint8 *end = p + d->width * sizeof(qargb8565);
@@ -4535,6 +4543,7 @@ QImage QImage::rgbSwapped() const
break;
case Format_RGB666:
res = QImage(d->width, d->height, d->format);
+ QIMAGE_SANITYCHECK_MEMORY(res);
for (int i = 0; i < d->height; i++) {
qrgb666 *q = reinterpret_cast<qrgb666*>(res.scanLine(i));
const qrgb666 *p = reinterpret_cast<const qrgb666*>(scanLine(i));
@@ -4547,6 +4556,7 @@ QImage QImage::rgbSwapped() const
break;
case Format_ARGB6666_Premultiplied:
res = QImage(d->width, d->height, d->format);
+ QIMAGE_SANITYCHECK_MEMORY(res);
for (int i = 0; i < d->height; i++) {
qargb6666 *q = reinterpret_cast<qargb6666*>(res.scanLine(i));
const qargb6666 *p = reinterpret_cast<const qargb6666*>(scanLine(i));
@@ -4559,6 +4569,7 @@ QImage QImage::rgbSwapped() const
break;
case Format_RGB555:
res = QImage(d->width, d->height, d->format);
+ QIMAGE_SANITYCHECK_MEMORY(res);
for (int i = 0; i < d->height; i++) {
ushort *q = (ushort*)res.scanLine(i);
const ushort *p = (const ushort*)scanLine(i);
@@ -4572,6 +4583,7 @@ QImage QImage::rgbSwapped() const
break;
case Format_ARGB8555_Premultiplied:
res = QImage(d->width, d->height, d->format);
+ QIMAGE_SANITYCHECK_MEMORY(res);
for (int i = 0; i < d->height; i++) {
quint8 *p = (quint8*)scanLine(i);
const quint8 *end = p + d->width * sizeof(qargb8555);
@@ -4584,6 +4596,7 @@ QImage QImage::rgbSwapped() const
break;
case Format_RGB888:
res = QImage(d->width, d->height, d->format);
+ QIMAGE_SANITYCHECK_MEMORY(res);
for (int i = 0; i < d->height; i++) {
quint8 *q = reinterpret_cast<quint8*>(res.scanLine(i));
const quint8 *p = reinterpret_cast<const quint8*>(scanLine(i));
@@ -4599,6 +4612,7 @@ QImage QImage::rgbSwapped() const
break;
case Format_RGB444:
res = QImage(d->width, d->height, d->format);
+ QIMAGE_SANITYCHECK_MEMORY(res);
for (int i = 0; i < d->height; i++) {
quint8 *q = reinterpret_cast<quint8*>(res.scanLine(i));
const quint8 *p = reinterpret_cast<const quint8*>(scanLine(i));
@@ -4613,6 +4627,7 @@ QImage QImage::rgbSwapped() const
break;
case Format_ARGB4444_Premultiplied:
res = QImage(d->width, d->height, d->format);
+ QIMAGE_SANITYCHECK_MEMORY(res);
for (int i = 0; i < d->height; i++) {
quint8 *q = reinterpret_cast<quint8*>(res.scanLine(i));
const quint8 *p = reinterpret_cast<const quint8*>(scanLine(i));
@@ -4812,7 +4827,7 @@ bool QImageData::doImageIO(const QImage *image, QImageWriter *writer, int qualit
or as a BMP image if the stream's version is 1. Note that writing
the stream to a file will not produce a valid image file.
- \sa QImage::save(), {Format of the QDataStream Operators}
+ \sa QImage::save(), {Serializing Qt Data Types}
*/
QDataStream &operator<<(QDataStream &s, const QImage &image)
@@ -4838,7 +4853,7 @@ QDataStream &operator<<(QDataStream &s, const QImage &image)
Reads an image from the given \a stream and stores it in the given
\a image.
- \sa QImage::load(), {Format of the QDataStream Operators}
+ \sa QImage::load(), {Serializing Qt Data Types}
*/
QDataStream &operator>>(QDataStream &s, QImage &image)
diff --git a/src/gui/image/qpixmap.cpp b/src/gui/image/qpixmap.cpp
index 8be4bab363..ec640fc379 100644
--- a/src/gui/image/qpixmap.cpp
+++ b/src/gui/image/qpixmap.cpp
@@ -82,6 +82,7 @@
#endif
#include "qpixmap_raster_p.h"
+#include "private/qstylehelper_p.h"
QT_BEGIN_NAMESPACE
@@ -635,17 +636,21 @@ void QPixmap::resize_helper(const QSize &s)
if (size() == s)
return;
+ // QPixmap.data member may be QRuntimePixmapData so use pixmapData() function to get
+ // the actual underlaying runtime pixmap data.
+ QPixmapData *pd = pixmapData();
+
// Create new pixmap
- QPixmap pm(QSize(w, h), data ? data->type : QPixmapData::PixmapType);
+ QPixmap pm(QSize(w, h), pd ? pd->type : QPixmapData::PixmapType);
bool uninit = false;
#if defined(Q_WS_X11)
- QX11PixmapData *x11Data = data && data->classId() == QPixmapData::X11Class ? static_cast<QX11PixmapData*>(data.data()) : 0;
+ QX11PixmapData *x11Data = pd && pd->classId() == QPixmapData::X11Class ? static_cast<QX11PixmapData*>(pd) : 0;
if (x11Data) {
pm.x11SetScreen(x11Data->xinfo.screen());
uninit = x11Data->flags & QX11PixmapData::Uninitialized;
}
#elif defined(Q_WS_MAC)
- QMacPixmapData *macData = data && data->classId() == QPixmapData::MacClass ? static_cast<QMacPixmapData*>(data.data()) : 0;
+ QMacPixmapData *macData = pd && pd->classId() == QPixmapData::MacClass ? static_cast<QMacPixmapData*>(pd) : 0;
if (macData)
uninit = macData->uninit;
#endif
@@ -659,7 +664,7 @@ void QPixmap::resize_helper(const QSize &s)
#if defined(Q_WS_X11)
if (x11Data && x11Data->x11_mask) {
- QX11PixmapData *pmData = static_cast<QX11PixmapData*>(pm.data.data());
+ QX11PixmapData *pmData = static_cast<QX11PixmapData*>(pd);
pmData->x11_mask = (Qt::HANDLE)XCreatePixmap(X11->display,
RootWindow(x11Data->xinfo.display(),
x11Data->xinfo.screen()),
@@ -825,8 +830,14 @@ bool QPixmap::load(const QString &fileName, const char *format, Qt::ImageConvers
return false;
QFileInfo info(fileName);
- QString key = QLatin1String("qt_pixmap_") + info.absoluteFilePath() + QLatin1Char('_') + QString::number(info.lastModified().toTime_t()) + QLatin1Char('_') +
- QString::number(info.size()) + QLatin1Char('_') + QString::number(data ? data->pixelType() : QPixmapData::PixmapType);
+ if (!info.exists())
+ return false;
+
+ QString key = QLatin1Literal("qt_pixmap")
+ % info.absoluteFilePath()
+ % HexString<uint>(info.lastModified().toTime_t())
+ % HexString<quint64>(info.size())
+ % HexString<uint>(data ? data->pixelType() : QPixmapData::PixmapType);
if (QPixmapCache::find(key, *this))
return true;
@@ -1163,8 +1174,9 @@ QPixmap QPixmap::grabWidget(QWidget * widget, const QRect &rect)
Qt::HANDLE QPixmap::handle() const
{
#if defined(Q_WS_X11)
- if (data && data->classId() == QPixmapData::X11Class)
- return static_cast<const QX11PixmapData*>(data.constData())->handle();
+ const QPixmapData *pd = pixmapData();
+ if (pd && pd->classId() == QPixmapData::X11Class)
+ return static_cast<const QX11PixmapData*>(pd)->handle();
#endif
return 0;
}
@@ -1281,7 +1293,7 @@ bool QPixmap::convertFromImage(const QImage &image, ColorMode mode)
image. Note that writing the stream to a file will not produce a
valid image file.
- \sa QPixmap::save(), {Format of the QDataStream Operators}
+ \sa QPixmap::save(), {Serializing Qt Data Types}
*/
QDataStream &operator<<(QDataStream &stream, const QPixmap &pixmap)
@@ -1294,7 +1306,7 @@ QDataStream &operator<<(QDataStream &stream, const QPixmap &pixmap)
Reads an image from the given \a stream into the given \a pixmap.
- \sa QPixmap::load(), {Format of the QDataStream Operators}
+ \sa QPixmap::load(), {Serializing Qt Data Types}
*/
QDataStream &operator>>(QDataStream &stream, QPixmap &pixmap)
@@ -1754,6 +1766,9 @@ QPixmap QPixmap::transformed(const QMatrix &matrix, Qt::TransformationMode mode)
function returns the actual matrix used for transforming the
pixmap.
+ \note When using the native X11 graphics system, the pixmap
+ becomes invalid when the QApplication instance is destroyed.
+
\sa QBitmap, QImage, QImageReader, QImageWriter
*/
@@ -1946,17 +1961,20 @@ void QPixmap::detach()
if (!data)
return;
- QPixmapData::ClassId id = data->classId();
+ // QPixmap.data member may be QRuntimePixmapData so use pixmapData() function to get
+ // the actual underlaying runtime pixmap data.
+ QPixmapData *pd = pixmapData();
+ QPixmapData::ClassId id = pd->classId();
if (id == QPixmapData::RasterClass) {
- QRasterPixmapData *rasterData = static_cast<QRasterPixmapData*>(data.data());
+ QRasterPixmapData *rasterData = static_cast<QRasterPixmapData*>(pd);
rasterData->image.detach();
}
if (data->is_cached && data->ref == 1)
- QImagePixmapCleanupHooks::executePixmapDataModificationHooks(data.data());
+ QImagePixmapCleanupHooks::executePixmapDataModificationHooks(pd);
#if defined(Q_WS_MAC)
- QMacPixmapData *macData = id == QPixmapData::MacClass ? static_cast<QMacPixmapData*>(data.data()) : 0;
+ QMacPixmapData *macData = id == QPixmapData::MacClass ? static_cast<QMacPixmapData*>(pd) : 0;
if (macData) {
if (macData->cg_mask) {
CGImageRelease(macData->cg_mask);
@@ -1971,8 +1989,8 @@ void QPixmap::detach()
++data->detach_no;
#if defined(Q_WS_X11)
- if (data->classId() == QPixmapData::X11Class) {
- QX11PixmapData *d = static_cast<QX11PixmapData*>(data.data());
+ if (pd->classId() == QPixmapData::X11Class) {
+ QX11PixmapData *d = static_cast<QX11PixmapData*>(pd);
d->flags &= ~QX11PixmapData::Uninitialized;
// reset the cache data
@@ -2062,9 +2080,15 @@ QPixmap QPixmap::fromImage(const QImage &image, Qt::ImageConversionFlags flags)
*/
QPixmapData* QPixmap::pixmapData() const
{
- return data.data();
+ if (data) {
+ QPixmapData* pm = data.data();
+ return pm->runtimeData() ? pm->runtimeData() : pm;
+ }
+
+ return 0;
}
+
/*!
\enum QPixmap::HBitmapFormat
diff --git a/src/gui/image/qpixmap.h b/src/gui/image/qpixmap.h
index 180af3be1b..82546da6a4 100644
--- a/src/gui/image/qpixmap.h
+++ b/src/gui/image/qpixmap.h
@@ -271,9 +271,7 @@ private:
friend class QX11PaintEngine;
friend class QCoreGraphicsPaintEngine;
friend class QWidgetPrivate;
- friend class QRasterPaintEngine;
friend class QRasterBuffer;
- friend class QPixmapCacheEntry;
#if !defined(QT_NO_DATASTREAM)
friend Q_GUI_EXPORT QDataStream &operator>>(QDataStream &, QPixmap &);
#endif
diff --git a/src/gui/image/qpixmap_x11.cpp b/src/gui/image/qpixmap_x11.cpp
index 6bebefc0fa..e8dc5aeae0 100644
--- a/src/gui/image/qpixmap_x11.cpp
+++ b/src/gui/image/qpixmap_x11.cpp
@@ -1250,10 +1250,8 @@ void QX11PixmapData::release()
pengine = 0;
if (!X11) {
-#ifndef QT_NO_DEBUG
- qWarning("~QX11PixmapData(): QPixmap objects must be destroyed before the QApplication"
- " object, otherwise the native pixmap object will be leaked.");
-#endif
+ // At this point, the X server will already have freed our resources,
+ // so there is nothing to do.
return;
}
diff --git a/src/gui/image/qpixmapcache.cpp b/src/gui/image/qpixmapcache.cpp
index 5fc605a861..ca21a0c688 100644
--- a/src/gui/image/qpixmapcache.cpp
+++ b/src/gui/image/qpixmapcache.cpp
@@ -39,6 +39,7 @@
**
****************************************************************************/
+#define Q_TEST_QPIXMAPCACHE
#include "qpixmapcache.h"
#include "qobject.h"
#include "qdebug.h"
@@ -194,7 +195,11 @@ public:
static QPixmapCache::KeyData* getKeyData(QPixmapCache::Key *key);
+ QList< QPair<QString,QPixmap> > allPixmaps() const;
+ bool flushDetachedPixmaps(bool nt);
+
private:
+ enum { soon_time = 10000, flush_time = 30000 };
int *keyArray;
int theid;
int ps;
@@ -232,37 +237,49 @@ QPMCache::~QPMCache()
cleaning-up, and to not cut down the size of the cache while the
cache is in active use.
- When the last pixmap has been deleted from the cache, kill the
- timer so Qt won't keep the CPU from going into sleep mode.
+ When the last detached pixmap has been deleted from the cache, kill the
+ timer so Qt won't keep the CPU from going into sleep mode. Currently
+ the timer is not restarted when the pixmap becomes unused, but it does
+ restart once something else is added (i.e. the cache space is actually needed).
+
+ Returns true if any were removed.
*/
-void QPMCache::timerEvent(QTimerEvent *)
+bool QPMCache::flushDetachedPixmaps(bool nt)
{
int mc = maxCost();
- bool nt = totalCost() == ps;
setMaxCost(nt ? totalCost() * 3 / 4 : totalCost() -1);
setMaxCost(mc);
ps = totalCost();
+ bool any = false;
QHash<QString, QPixmapCache::Key>::iterator it = cacheKeys.begin();
while (it != cacheKeys.end()) {
if (!contains(it.value())) {
releaseKey(it.value());
it = cacheKeys.erase(it);
+ any = true;
} else {
++it;
}
}
- if (!size()) {
+ return any;
+}
+
+void QPMCache::timerEvent(QTimerEvent *)
+{
+ bool nt = totalCost() == ps;
+ if (!flushDetachedPixmaps(nt)) {
killTimer(theid);
theid = 0;
} else if (nt != t) {
killTimer(theid);
- theid = startTimer(nt ? 10000 : 30000);
+ theid = startTimer(nt ? soon_time : flush_time);
t = nt;
}
}
+
QPixmap *QPMCache::object(const QString &key) const
{
QPixmapCache::Key cacheKey = cacheKeys.value(key);
@@ -305,7 +322,7 @@ bool QPMCache::insert(const QString& key, const QPixmap &pixmap, int cost)
if (success) {
cacheKeys.insert(key, cacheKey);
if (!theid) {
- theid = startTimer(30000);
+ theid = startTimer(flush_time);
t = false;
}
} else {
@@ -321,7 +338,7 @@ QPixmapCache::Key QPMCache::insert(const QPixmap &pixmap, int cost)
bool success = QCache<QPixmapCache::Key, QPixmapCacheEntry>::insert(cacheKey, new QPixmapCacheEntry(cacheKey, pixmap), cost);
if (success) {
if (!theid) {
- theid = startTimer(30000);
+ theid = startTimer(flush_time);
t = false;
}
} else {
@@ -342,7 +359,7 @@ bool QPMCache::replace(const QPixmapCache::Key &key, const QPixmap &pixmap, int
bool success = QCache<QPixmapCache::Key, QPixmapCacheEntry>::insert(cacheKey, new QPixmapCacheEntry(cacheKey, pixmap), cost);
if (success) {
if(!theid) {
- theid = startTimer(30000);
+ theid = startTimer(flush_time);
t = false;
}
const_cast<QPixmapCache::Key&>(key) = cacheKey;
@@ -422,6 +439,20 @@ QPixmapCache::KeyData* QPMCache::getKeyData(QPixmapCache::Key *key)
return key->d;
}
+QList< QPair<QString,QPixmap> > QPMCache::allPixmaps() const
+{
+ QList< QPair<QString,QPixmap> > r;
+ QHash<QString, QPixmapCache::Key>::const_iterator it = cacheKeys.begin();
+ while (it != cacheKeys.end()) {
+ QPixmap *ptr = QCache<QPixmapCache::Key, QPixmapCacheEntry>::object(it.value());
+ if (ptr)
+ r.append(QPair<QString,QPixmap>(it.key(),*ptr));
+ ++it;
+ }
+ return r;
+}
+
+
Q_GLOBAL_STATIC(QPMCache, pm_cache)
int Q_AUTOTEST_EXPORT q_QPixmapCache_keyHashSize()
@@ -633,4 +664,19 @@ void QPixmapCache::clear()
}
}
+void QPixmapCache::flushDetachedPixmaps()
+{
+ pm_cache()->flushDetachedPixmaps(true);
+}
+
+int QPixmapCache::totalUsed()
+{
+ return (pm_cache()->totalCost()+1023) / 1024;
+}
+
+QList< QPair<QString,QPixmap> > QPixmapCache::allPixmaps()
+{
+ return pm_cache()->allPixmaps();
+}
+
QT_END_NAMESPACE
diff --git a/src/gui/image/qpixmapcache.h b/src/gui/image/qpixmapcache.h
index 50a9369f81..e9c8c15ff0 100644
--- a/src/gui/image/qpixmapcache.h
+++ b/src/gui/image/qpixmapcache.h
@@ -44,6 +44,10 @@
#include <QtGui/qpixmap.h>
+#ifdef Q_TEST_QPIXMAPCACHE
+#include <QtCore/qpair.h>
+#endif
+
QT_BEGIN_HEADER
QT_BEGIN_NAMESPACE
@@ -83,6 +87,12 @@ public:
static void remove(const QString &key);
static void remove(const Key &key);
static void clear();
+
+#ifdef Q_TEST_QPIXMAPCACHE
+ static void flushDetachedPixmaps();
+ static int totalUsed();
+ static QList< QPair<QString,QPixmap> > allPixmaps();
+#endif
};
QT_END_NAMESPACE
diff --git a/src/gui/image/qpixmapcache_p.h b/src/gui/image/qpixmapcache_p.h
index 86a1b78005..6db3b2092b 100644
--- a/src/gui/image/qpixmapcache_p.h
+++ b/src/gui/image/qpixmapcache_p.h
@@ -81,8 +81,9 @@ class QPixmapCacheEntry : public QPixmap
public:
QPixmapCacheEntry(const QPixmapCache::Key &key, const QPixmap &pix) : QPixmap(pix), key(key)
{
- if (data && data->classId() == QPixmapData::RasterClass) {
- QRasterPixmapData *d = static_cast<QRasterPixmapData*>(data.data());
+ QPixmapData *pd = pixmapData();
+ if (pd && pd->classId() == QPixmapData::RasterClass) {
+ QRasterPixmapData *d = static_cast<QRasterPixmapData*>(pd);
if (!d->image.isNull() && d->image.d->paintEngine
&& !d->image.d->paintEngine->isActive())
{
@@ -95,6 +96,8 @@ public:
QPixmapCache::Key key;
};
+inline bool qIsDetached(QPixmapCacheEntry &t) { return t.isDetached(); }
+
QT_END_NAMESPACE
#endif // QPIXMAPCACHE_P_H
diff --git a/src/gui/image/qpixmapdata_p.h b/src/gui/image/qpixmapdata_p.h
index 8323b617b1..6d2a827cf5 100644
--- a/src/gui/image/qpixmapdata_p.h
+++ b/src/gui/image/qpixmapdata_p.h
@@ -73,7 +73,8 @@ public:
};
#endif
enum ClassId { RasterClass, X11Class, MacClass, DirectFBClass,
- OpenGLClass, OpenVGClass, BlitterClass, CustomClass = 1024 };
+ OpenGLClass, OpenVGClass, RuntimeClass, BlitterClass,
+ CustomClass = 1024 };
QPixmapData(PixelType pixelType, int classId);
virtual ~QPixmapData();
@@ -133,7 +134,10 @@ public:
static QPixmapData *create(int w, int h, PixelType type);
+ virtual QPixmapData *runtimeData() const { return 0; }
+
protected:
+
void setSerialNumber(int serNo);
int w;
int h;
diff --git a/src/gui/image/qpnghandler.cpp b/src/gui/image/qpnghandler.cpp
index dd31834cae..2cf8222de5 100644
--- a/src/gui/image/qpnghandler.cpp
+++ b/src/gui/image/qpnghandler.cpp
@@ -892,13 +892,15 @@ QPngHandler::~QPngHandler()
bool QPngHandler::canRead() const
{
- if (d->state == QPngHandlerPrivate::Ready) {
- if (!canRead(device()))
- return false;
+ if (d->state == QPngHandlerPrivate::Ready && !canRead(device()))
+ return false;
+
+ if (d->state != QPngHandlerPrivate::Error) {
setFormat("png");
return true;
}
- return d->state != QPngHandlerPrivate::Error;
+
+ return false;
}
bool QPngHandler::canRead(QIODevice *device)
diff --git a/src/gui/image/qppmhandler.cpp b/src/gui/image/qppmhandler.cpp
index cbbbef4b20..a9e796c268 100644
--- a/src/gui/image/qppmhandler.cpp
+++ b/src/gui/image/qppmhandler.cpp
@@ -409,13 +409,15 @@ bool QPpmHandler::readHeader()
bool QPpmHandler::canRead() const
{
- if (state == Ready) {
- if (!canRead(device(), &subType))
- return false;
+ if (state == Ready && !canRead(device(), &subType))
+ return false;
+
+ if (state != Error) {
setFormat(subType);
return true;
}
- return state != Error;
+
+ return false;
}
bool QPpmHandler::canRead(QIODevice *device, QByteArray *subType)
diff --git a/src/gui/image/qxbmhandler.cpp b/src/gui/image/qxbmhandler.cpp
index 385340a648..0dd4e99106 100644
--- a/src/gui/image/qxbmhandler.cpp
+++ b/src/gui/image/qxbmhandler.cpp
@@ -261,13 +261,15 @@ bool QXbmHandler::readHeader()
bool QXbmHandler::canRead() const
{
- if (state == Ready) {
- if (!canRead(device()))
- return false;
+ if (state == Ready && !canRead(device()))
+ return false;
+
+ if (state != Error) {
setFormat("xbm");
return true;
}
- return state != Error;
+
+ return false;
}
bool QXbmHandler::canRead(QIODevice *device)
diff --git a/src/gui/image/qxpmhandler.cpp b/src/gui/image/qxpmhandler.cpp
index a475cd02e4..b97afd30fb 100644
--- a/src/gui/image/qxpmhandler.cpp
+++ b/src/gui/image/qxpmhandler.cpp
@@ -1225,11 +1225,15 @@ bool QXpmHandler::readImage(QImage *image)
bool QXpmHandler::canRead() const
{
- if (state == Ready && canRead(device())) {
+ if (state == Ready && !canRead(device()))
+ return false;
+
+ if (state != Error) {
setFormat("xpm");
return true;
}
- return state != Error;
+
+ return false;
}
bool QXpmHandler::canRead(QIODevice *device)
diff --git a/src/gui/inputmethod/qcoefepinputcontext_s60.cpp b/src/gui/inputmethod/qcoefepinputcontext_s60.cpp
index 610ac3c067..4cdc4adb82 100644
--- a/src/gui/inputmethod/qcoefepinputcontext_s60.cpp
+++ b/src/gui/inputmethod/qcoefepinputcontext_s60.cpp
@@ -44,6 +44,9 @@
#include "qcoefepinputcontext_p.h"
#include <qapplication.h>
#include <qtextformat.h>
+#include <qgraphicsview.h>
+#include <qgraphicsscene.h>
+#include <qgraphicswidget.h>
#include <private/qcore_symbian_p.h>
#include <fepitfr.h>
@@ -320,12 +323,14 @@ TCoeInputCapabilities QCoeFepInputContext::inputCapabilities()
return TCoeInputCapabilities(m_textCapabilities, this, 0);
}
-static QTextCharFormat qt_TCharFormat2QTextCharFormat(const TCharFormat &cFormat)
+static QTextCharFormat qt_TCharFormat2QTextCharFormat(const TCharFormat &cFormat, bool validStyleColor)
{
QTextCharFormat qFormat;
- QBrush foreground(QColor(cFormat.iFontPresentation.iTextColor.Internal()));
- qFormat.setForeground(foreground);
+ if (validStyleColor) {
+ QBrush foreground(QColor(cFormat.iFontPresentation.iTextColor.Internal()));
+ qFormat.setForeground(foreground);
+ }
qFormat.setFontStrikeOut(cFormat.iFontPresentation.iStrikethrough == EStrikethroughOn);
qFormat.setFontUnderline(cFormat.iFontPresentation.iUnderline == EUnderlineOn);
@@ -484,9 +489,30 @@ void QCoeFepInputContext::applyHints(Qt::InputMethodHints hints)
void QCoeFepInputContext::applyFormat(QList<QInputMethodEvent::Attribute> *attributes)
{
TCharFormat cFormat;
- QColor styleTextColor = QApplication::palette("QLineEdit").text().color();
- TLogicalRgb tontColor(TRgb(styleTextColor.red(), styleTextColor.green(), styleTextColor.blue(), styleTextColor.alpha()));
- cFormat.iFontPresentation.iTextColor = tontColor;
+ QColor styleTextColor;
+ if (QWidget *focused = focusWidget()) {
+ QGraphicsView *gv = qobject_cast<QGraphicsView*>(focused);
+ if (!gv) // could be either the QGV or its viewport that has focus
+ gv = qobject_cast<QGraphicsView*>(focused->parentWidget());
+ if (gv) {
+ if (QGraphicsScene *scene = gv->scene()) {
+ if (QGraphicsItem *focusItem = scene->focusItem()) {
+ if (focusItem->isWidget()) {
+ styleTextColor = static_cast<QGraphicsWidget*>(focusItem)->palette().text().color();
+ }
+ }
+ }
+ } else {
+ styleTextColor = focused->palette().text().color();
+ }
+ } else {
+ styleTextColor = QApplication::palette("QLineEdit").text().color();
+ }
+
+ if (styleTextColor.isValid()) {
+ const TLogicalRgb fontColor(TRgb(styleTextColor.red(), styleTextColor.green(), styleTextColor.blue(), styleTextColor.alpha()));
+ cFormat.iFontPresentation.iTextColor = fontColor;
+ }
TInt numChars = 0;
TInt charPos = 0;
@@ -500,7 +526,7 @@ void QCoeFepInputContext::applyFormat(QList<QInputMethodEvent::Attribute> *attri
attributes->append(QInputMethodEvent::Attribute(QInputMethodEvent::TextFormat,
charPos,
numChars,
- QVariant(qt_TCharFormat2QTextCharFormat(cFormat))));
+ QVariant(qt_TCharFormat2QTextCharFormat(cFormat, styleTextColor.isValid()))));
charPos += numChars;
if (charPos >= m_preeditString.size()) {
break;
diff --git a/src/gui/inputmethod/qximinputcontext_x11.cpp b/src/gui/inputmethod/qximinputcontext_x11.cpp
index d048b360c9..ed5aa239d3 100644
--- a/src/gui/inputmethod/qximinputcontext_x11.cpp
+++ b/src/gui/inputmethod/qximinputcontext_x11.cpp
@@ -346,10 +346,7 @@ static XFontSet getFontSet(const QFont &f)
extern bool qt_use_rtl_extensions; // from qapplication_x11.cpp
#ifndef QT_NO_XKB
-extern void q_getLocaleAndDirection(QLocale *locale,
- Qt::LayoutDirection *direction,
- const QByteArray &layoutName,
- const QByteArray &variantName);
+extern QLocale q_getKeyboardLocale(const QByteArray &layoutName, const QByteArray &variantName);
#endif
QXIMInputContext::QXIMInputContext()
@@ -407,17 +404,12 @@ QXIMInputContext::QXIMInputContext()
QList<QByteArray> layoutNames = QByteArray::fromRawData(names[2], qstrlen(names[2])).split(',');
QList<QByteArray> variantNames = QByteArray::fromRawData(names[3], qstrlen(names[3])).split(',');
for (int i = 0; i < qMin(layoutNames.count(), variantNames.count()); ++i ) {
- QLocale keyboardInputLocale;
- Qt::LayoutDirection keyboardInputDirection;
QByteArray variantName = variantNames.at(i);
const int dashPos = variantName.indexOf("-");
if (dashPos >= 0)
variantName.truncate(dashPos);
- q_getLocaleAndDirection(&keyboardInputLocale,
- &keyboardInputDirection,
- layoutNames.at(i),
- variantName);
- if (keyboardInputDirection == Qt::RightToLeft)
+ QLocale keyboardInputLocale = q_getKeyboardLocale(layoutNames.at(i), variantName);
+ if (keyboardInputLocale.textDirection() == Qt::RightToLeft)
qt_use_rtl_extensions = true;
}
}
diff --git a/src/gui/itemviews/qabstractitemview.cpp b/src/gui/itemviews/qabstractitemview.cpp
index 97fd6e1da9..4fb93fc2c4 100644
--- a/src/gui/itemviews/qabstractitemview.cpp
+++ b/src/gui/itemviews/qabstractitemview.cpp
@@ -679,7 +679,11 @@ void QAbstractItemView::setModel(QAbstractItemModel *model)
connect(d->model, SIGNAL(modelReset()), this, SLOT(reset()));
connect(d->model, SIGNAL(layoutChanged()), this, SLOT(_q_layoutChanged()));
}
- setSelectionModel(new QItemSelectionModel(d->model, this));
+
+ QItemSelectionModel *selection_model = new QItemSelectionModel(d->model, this);
+ connect(d->model, SIGNAL(destroyed()), selection_model, SLOT(deleteLater()));
+ setSelectionModel(selection_model);
+
reset(); // kill editors, set new root and do layout
}
@@ -1785,7 +1789,10 @@ void QAbstractItemView::mouseReleaseEvent(QMouseEvent *event)
emit clicked(index);
if (edited)
return;
- if (style()->styleHint(QStyle::SH_ItemView_ActivateItemOnSingleClick, 0, this))
+ QStyleOptionViewItemV4 option = d->viewOptionsV4();
+ if (d->pressedAlreadySelected)
+ option.state |= QStyle::State_Selected;
+ if (style()->styleHint(QStyle::SH_ItemView_ActivateItemOnSingleClick, &option, this))
emit activated(index);
}
}
diff --git a/src/gui/itemviews/qitemdelegate.cpp b/src/gui/itemviews/qitemdelegate.cpp
index d5f6fd2423..9bbfc23c1a 100644
--- a/src/gui/itemviews/qitemdelegate.cpp
+++ b/src/gui/itemviews/qitemdelegate.cpp
@@ -667,7 +667,6 @@ void QItemDelegate::drawDisplay(QPainter *painter, const QStyleOptionViewItem &o
{
Q_D(const QItemDelegate);
- QPen pen = painter->pen();
QPalette::ColorGroup cg = option.state & QStyle::State_Enabled
? QPalette::Normal : QPalette::Disabled;
if (cg == QPalette::Normal && !(option.state & QStyle::State_Active))
diff --git a/src/gui/itemviews/qlistwidget.cpp b/src/gui/itemviews/qlistwidget.cpp
index 125f0c43cb..da1d5db3ef 100644
--- a/src/gui/itemviews/qlistwidget.cpp
+++ b/src/gui/itemviews/qlistwidget.cpp
@@ -791,7 +791,7 @@ QListWidgetItem &QListWidgetItem::operator=(const QListWidgetItem &other)
This operator uses QListWidgetItem::write().
- \sa {Format of the QDataStream Operators}
+ \sa {Serializing Qt Data Types}
*/
QDataStream &operator<<(QDataStream &out, const QListWidgetItem &item)
{
@@ -806,7 +806,7 @@ QDataStream &operator<<(QDataStream &out, const QListWidgetItem &item)
This operator uses QListWidgetItem::read().
- \sa {Format of the QDataStream Operators}
+ \sa {Serializing Qt Data Types}
*/
QDataStream &operator>>(QDataStream &in, QListWidgetItem &item)
{
diff --git a/src/gui/itemviews/qsortfilterproxymodel.cpp b/src/gui/itemviews/qsortfilterproxymodel.cpp
index dce5c6a706..f9b6b94868 100644
--- a/src/gui/itemviews/qsortfilterproxymodel.cpp
+++ b/src/gui/itemviews/qsortfilterproxymodel.cpp
@@ -1099,7 +1099,7 @@ void QSortFilterProxyModelPrivate::_q_sourceDataChanged(const QModelIndex &sourc
if (!source_top_left.isValid() || !source_bottom_right.isValid())
return;
QModelIndex source_parent = source_top_left.parent();
- IndexMap::const_iterator it = create_mapping(source_parent);
+ IndexMap::const_iterator it = source_index_mapping.find(source_parent);
if (it == source_index_mapping.constEnd()) {
// Don't care, since we don't have mapping for this index
return;
@@ -2392,7 +2392,7 @@ bool QSortFilterProxyModel::lessThan(const QModelIndex &left, const QModelIndex
QVariant r = (right.model() ? right.model()->data(right, d->sort_role) : QVariant());
switch (l.userType()) {
case QVariant::Invalid:
- return (r.type() == QVariant::Invalid);
+ return (r.type() != QVariant::Invalid);
case QVariant::Int:
return l.toInt() < r.toInt();
case QVariant::UInt:
diff --git a/src/gui/itemviews/qstandarditemmodel.cpp b/src/gui/itemviews/qstandarditemmodel.cpp
index 9d52c78f2e..767b5a9069 100644
--- a/src/gui/itemviews/qstandarditemmodel.cpp
+++ b/src/gui/itemviews/qstandarditemmodel.cpp
@@ -1921,7 +1921,7 @@ void QStandardItem::write(QDataStream &out) const
This operator uses QStandardItem::read().
- \sa {Format of the QDataStream Operators}
+ \sa {Serializing Qt Data Types}
*/
QDataStream &operator>>(QDataStream &in, QStandardItem &item)
{
@@ -1937,7 +1937,7 @@ QDataStream &operator>>(QDataStream &in, QStandardItem &item)
This operator uses QStandardItem::write().
- \sa {Format of the QDataStream Operators}
+ \sa {Serializing Qt Data Types}
*/
QDataStream &operator<<(QDataStream &out, const QStandardItem &item)
{
diff --git a/src/gui/itemviews/qtablewidget.cpp b/src/gui/itemviews/qtablewidget.cpp
index f653a41bee..5bb242ed89 100644
--- a/src/gui/itemviews/qtablewidget.cpp
+++ b/src/gui/itemviews/qtablewidget.cpp
@@ -1428,7 +1428,7 @@ void QTableWidgetItem::write(QDataStream &out) const
This operator uses QTableWidgetItem::read().
- \sa {Format of the QDataStream Operators}
+ \sa {Serializing Qt Data Types}
*/
QDataStream &operator>>(QDataStream &in, QTableWidgetItem &item)
{
@@ -1443,7 +1443,7 @@ QDataStream &operator>>(QDataStream &in, QTableWidgetItem &item)
This operator uses QTableWidgetItem::write().
- \sa {Format of the QDataStream Operators}
+ \sa {Serializing Qt Data Types}
*/
QDataStream &operator<<(QDataStream &out, const QTableWidgetItem &item)
{
diff --git a/src/gui/itemviews/qtreewidget.cpp b/src/gui/itemviews/qtreewidget.cpp
index 4c80325187..8f55734bce 100644
--- a/src/gui/itemviews/qtreewidget.cpp
+++ b/src/gui/itemviews/qtreewidget.cpp
@@ -1472,6 +1472,10 @@ QTreeWidgetItem::QTreeWidgetItem(QTreeWidgetItem *parent, QTreeWidgetItem *after
/*!
Destroys this tree widget item.
+
+ The item will be removed from \l{QTreeWidget}s to which it has
+ been added. This makes it safe to delete an item at any time.
+
*/
QTreeWidgetItem::~QTreeWidgetItem()
@@ -2199,7 +2203,7 @@ void QTreeWidgetItem::executePendingSort() const
This operator uses QTreeWidgetItem::write().
- \sa {Format of the QDataStream Operators}
+ \sa {Serializing Qt Data Types}
*/
QDataStream &operator<<(QDataStream &out, const QTreeWidgetItem &item)
{
@@ -2214,7 +2218,7 @@ QDataStream &operator<<(QDataStream &out, const QTreeWidgetItem &item)
This operator uses QTreeWidgetItem::read().
- \sa {Format of the QDataStream Operators}
+ \sa {Serializing Qt Data Types}
*/
QDataStream &operator>>(QDataStream &in, QTreeWidgetItem &item)
{
diff --git a/src/gui/kernel/qapplication.cpp b/src/gui/kernel/qapplication.cpp
index 5b294cc9bf..8b53d35b9e 100644
--- a/src/gui/kernel/qapplication.cpp
+++ b/src/gui/kernel/qapplication.cpp
@@ -70,6 +70,10 @@
#include "qmessagebox.h"
#include <QtGui/qgraphicsproxywidget.h>
+#ifdef QT_GRAPHICSSYSTEM_RUNTIME
+#include "private/qgraphicssystem_runtime_p.h"
+#endif
+
#include "qinputcontext.h"
#include "qkeymapper_p.h"
@@ -142,7 +146,7 @@ static void initResources()
QT_BEGIN_NAMESPACE
-Q_DECL_IMPORT extern void qt_call_post_routines();
+Q_CORE_EXPORT void qt_call_post_routines();
int QApplicationPrivate::app_compile_version = 0x040000; //we don't know exactly, but it's at least 4.0.0
@@ -183,8 +187,10 @@ QApplicationPrivate::QApplicationPrivate(int &argc, char **argv, QApplication::T
directPainters = 0;
#endif
+#ifndef QT_NO_GESTURES
gestureManager = 0;
gestureWidget = 0;
+#endif // QT_NO_GESTURES
#if defined(Q_WS_X11) || defined(Q_WS_WIN)
move_cursor = 0;
@@ -445,6 +451,7 @@ QGraphicsSystem *QApplicationPrivate::graphics_system = 0; // default graphics s
QPlatformIntegration *QApplicationPrivate::platform_integration = 0;
#endif
QString QApplicationPrivate::graphics_system_name; // graphics system id - for delayed initialization
+bool QApplicationPrivate::runtime_graphics_system = false;
Q_GLOBAL_STATIC(QMutex, applicationFontMutex)
QFont *QApplicationPrivate::app_font = 0; // default application font
@@ -669,7 +676,8 @@ void QApplicationPrivate::process_cmdline()
\o -geometry \e geometry, sets the client geometry of the first window
that is shown.
\o -fn or \c -font \e font, defines the application font. The font
- should be specified using an X logical font description.
+ should be specified using an X logical font description. Note that
+ this option is ignored when Qt is built with fontconfig support enabled.
\o -bg or \c -background \e color, sets the default background color
and an application palette (light and dark shades are calculated).
\o -fg or \c -foreground \e color, sets the default foreground color.
@@ -778,6 +786,9 @@ void QApplicationPrivate::construct(
qt_is_gui_used = (qt_appType != QApplication::Tty);
process_cmdline();
+ // the environment variable has the lowest precedence of runtime graphicssystem switches
+ if (graphics_system_name.isEmpty())
+ graphics_system_name = QString::fromLocal8Bit(qgetenv("QT_GRAPHICSSYSTEM"));
// Must be called before initialize()
qt_init(this, qt_appType
#ifdef Q_WS_X11
@@ -792,6 +803,10 @@ void QApplicationPrivate::construct(
qt_gui_eval_init(application_type);
#endif
+#if defined(Q_OS_SYMBIAN) && !defined(QT_NO_SYSTEMLOCALE)
+ symbianInit();
+#endif
+
#ifndef QT_NO_LIBRARY
if(load_testability) {
QLibrary testLib(QLatin1String("qttestability"));
@@ -1556,10 +1571,18 @@ QStyle* QApplication::setStyle(const QString& style)
on-screen widgets and QPixmaps. The available systems are \c{"native"},
\c{"raster"} and \c{"opengl"}.
- This function call overrides both the application commandline
- \c{-graphicssystem} switch and the configure \c{-graphicssystem} switch.
+ There are several ways to set the graphics backend, in order of decreasing
+ precedence:
+ \list
+ \o the application commandline \c{-graphicssystem} switch
+ \o QApplication::setGraphicsSystem()
+ \o the QT_GRAPHICSSYSTEM environment variable
+ \o the Qt configure \c{-graphicssystem} switch
+ \endlist
+ If the highest precedence switch sets an invalid name, the error will be
+ ignored and the default backend will be used.
- \warning This function must be called before the QApplication constructor
+ \warning This function is only effective before the QApplication constructor
is called.
\note The \c{"opengl"} option is currently experimental.
@@ -1567,10 +1590,17 @@ QStyle* QApplication::setStyle(const QString& style)
void QApplication::setGraphicsSystem(const QString &system)
{
-#if !defined(Q_WS_LITE)
- QApplicationPrivate::graphics_system_name = system;
+#ifdef Q_WS_LITE
+ Q_UNUSED(system);
#else
- Q_UNUSED(system)
+# ifdef QT_GRAPHICSSYSTEM_RUNTIME
+ if (QApplicationPrivate::graphics_system_name == QLatin1String("runtime")) {
+ QRuntimeGraphicsSystem *r =
+ static_cast<QRuntimeGraphicsSystem *>(QApplicationPrivate::graphics_system);
+ r->setGraphicsSystem(system);
+ } else
+# endif
+ QApplicationPrivate::graphics_system_name = system;
#endif
}
@@ -2224,15 +2254,17 @@ void QApplication::closeAllWindows()
{
bool did_close = true;
QWidget *w;
- while((w = activeModalWidget()) && did_close) {
- if(!w->isVisible())
+ while ((w = activeModalWidget()) && did_close) {
+ if (!w->isVisible() || w->data->is_closing)
break;
did_close = w->close();
}
QWidgetList list = QApplication::topLevelWidgets();
for (int i = 0; did_close && i < list.size(); ++i) {
w = list.at(i);
- if (w->isVisible() && w->windowType() != Qt::Desktop) {
+ if (w->isVisible()
+ && w->windowType() != Qt::Desktop
+ && !w->data->is_closing) {
did_close = w->close();
list = QApplication::topLevelWidgets();
i = -1;
@@ -2374,6 +2406,19 @@ bool QApplication::event(QEvent *e)
if (!(w->windowType() == Qt::Desktop))
postEvent(w, new QEvent(QEvent::LanguageChange));
}
+#ifndef Q_OS_WIN
+ } else if (e->type() == QEvent::LocaleChange) {
+ // on Windows the event propagation is taken care by the
+ // WM_SETTINGCHANGE event handler.
+ QWidgetList list = topLevelWidgets();
+ for (int i = 0; i < list.size(); ++i) {
+ QWidget *w = list.at(i);
+ if (!(w->windowType() == Qt::Desktop)) {
+ if (!w->testAttribute(Qt::WA_SetLocale))
+ w->d_func()->setLocale_helper(QLocale(), true);
+ }
+ }
+#endif
} else if (e->type() == QEvent::Timer) {
QTimerEvent *te = static_cast<QTimerEvent*>(e);
Q_ASSERT(te != 0);
@@ -3519,7 +3564,7 @@ int QApplication::startDragDistance()
void QApplication::setLayoutDirection(Qt::LayoutDirection direction)
{
- if (layout_direction == direction)
+ if (layout_direction == direction || direction == Qt::LayoutDirectionAuto)
return;
layout_direction = direction;
@@ -3695,6 +3740,7 @@ bool QApplication::notify(QObject *receiver, QEvent *e)
#endif // !QT_NO_WHEELEVENT || !QT_NO_TABLETEVENT
}
+#ifndef QT_NO_GESTURES
// walk through parents and check for gestures
if (d->gestureManager) {
switch (e->type()) {
@@ -3739,7 +3785,7 @@ bool QApplication::notify(QObject *receiver, QEvent *e)
}
}
}
-
+#endif // QT_NO_GESTURES
// User input and window activation makes tooltips sleep
switch (e->type()) {
@@ -4244,6 +4290,7 @@ bool QApplication::notify(QObject *receiver, QEvent *e)
res = d->notify_helper(receiver, e);
break;
+#ifndef QT_NO_GESTURES
case QEvent::NativeGesture:
{
// only propagate the first gesture event (after the GID_BEGIN)
@@ -4322,6 +4369,7 @@ bool QApplication::notify(QObject *receiver, QEvent *e)
}
break;
}
+#endif // QT_NO_GESTURES
default:
res = d->notify_helper(receiver, e);
break;
@@ -5271,18 +5319,21 @@ bool QApplication::keypadNavigationEnabled()
This function replaces the QInputContext instance used by the application
with \a inputContext.
+ Qt takes ownership of the given \a inputContext.
+
\sa inputContext()
*/
void QApplication::setInputContext(QInputContext *inputContext)
{
- Q_D(QApplication);
- Q_UNUSED(d);// only static members being used.
+ if (inputContext == QApplicationPrivate::inputContext)
+ return;
if (!inputContext) {
qWarning("QApplication::setInputContext: called with 0 input context");
return;
}
- delete d->inputContext;
- d->inputContext = inputContext;
+ delete QApplicationPrivate::inputContext;
+ QApplicationPrivate::inputContext = inputContext;
+ QApplicationPrivate::inputContext->setParent(this);
}
/*!
@@ -5752,6 +5803,7 @@ Q_GUI_EXPORT void qt_translateRawTouchEvent(QWidget *window,
QApplicationPrivate::translateRawTouchEvent(window, deviceType, touchPoints);
}
+#ifndef QT_NO_GESTURES
QGestureManager* QGestureManager::instance()
{
QApplicationPrivate *qAppPriv = QApplicationPrivate::instance();
@@ -5759,6 +5811,7 @@ QGestureManager* QGestureManager::instance()
qAppPriv->gestureManager = new QGestureManager(qApp);
return qAppPriv->gestureManager;
}
+#endif // QT_NO_GESTURES
// These pixmaps approximate the images in the Windows User Interface Guidelines.
diff --git a/src/gui/kernel/qapplication.h b/src/gui/kernel/qapplication.h
index c21b982a45..cb1d063cb3 100644
--- a/src/gui/kernel/qapplication.h
+++ b/src/gui/kernel/qapplication.h
@@ -399,7 +399,9 @@ private:
friend class QDirectPainter;
friend class QDirectPainterPrivate;
#endif
+#ifndef QT_NO_GESTURES
friend class QGestureManager;
+#endif
#if defined(Q_WS_MAC) || defined(Q_WS_X11)
Q_PRIVATE_SLOT(d_func(), void _q_alertTimeOut())
diff --git a/src/gui/kernel/qapplication_p.h b/src/gui/kernel/qapplication_p.h
index e272a36f1e..8d365198f1 100644
--- a/src/gui/kernel/qapplication_p.h
+++ b/src/gui/kernel/qapplication_p.h
@@ -90,7 +90,9 @@ class QInputContext;
class QObject;
class QWidget;
class QSocketNotifier;
+#ifndef QT_NO_GESTURES
class QGestureManager;
+#endif
extern bool qt_is_gui_used;
#ifndef QT_NO_CLIPBOARD
@@ -206,6 +208,7 @@ typedef BOOL (WINAPI *PtrRegisterTouchWindow)(HWND, ULONG);
typedef BOOL (WINAPI *PtrGetTouchInputInfo)(HANDLE, UINT, PVOID, int);
typedef BOOL (WINAPI *PtrCloseTouchInputHandle)(HANDLE);
+#ifndef QT_NO_GESTURES
typedef BOOL (WINAPI *PtrGetGestureInfo)(HANDLE, PVOID);
typedef BOOL (WINAPI *PtrGetGestureExtraArgs)(HANDLE, UINT, PBYTE);
typedef BOOL (WINAPI *PtrCloseGestureInfoHandle)(HANDLE);
@@ -269,6 +272,8 @@ typedef struct tagGESTURECONFIG
#define GID_ROLLOVER 0xf003
#endif
+#endif // QT_NO_GESTURES
+
#endif // Q_WS_WIN
class QScopedLoopLevelCounter
@@ -426,9 +431,8 @@ public:
static QPalette *set_pal;
static QGraphicsSystem *graphics_system;
static QString graphics_system_name;
-#if defined(Q_WS_LITE)
static QPlatformIntegration *platform_integration;
-#endif
+ static bool runtime_graphics_system;
private:
static QFont *app_font; // private for a reason! Always use QApplication::font() instead!
@@ -552,6 +556,7 @@ public:
void sendSyntheticEnterLeave(QWidget *widget);
#endif
+#ifndef QT_NO_GESTURES
QGestureManager *gestureManager;
QWidget *gestureWidget;
#if defined(Q_WS_X11) || defined(Q_WS_WIN)
@@ -559,6 +564,7 @@ public:
QPixmap *copy_cursor;
QPixmap *link_cursor;
#endif
+#endif
#if defined(Q_WS_WIN)
QPixmap *ignore_cursor;
#endif
@@ -587,6 +593,7 @@ public:
QHash<DWORD, int> touchInputIDToTouchPointID;
bool translateTouchEvent(const MSG &msg);
+#ifndef QT_NO_GESTURES
PtrGetGestureInfo GetGestureInfo;
PtrGetGestureExtraArgs GetGestureExtraArgs;
PtrCloseGestureInfoHandle CloseGestureInfoHandle;
@@ -595,6 +602,7 @@ public:
PtrBeginPanningFeedback BeginPanningFeedback;
PtrUpdatePanningFeedback UpdatePanningFeedback;
PtrEndPanningFeedback EndPanningFeedback;
+#endif // QT_NO_GESTURES
#endif
#ifdef QT_RX71_MULTITOUCH
@@ -615,7 +623,8 @@ public:
void _q_readRX71MultiTouchEvents();
#endif
-#if defined(Q_WS_S60)
+#if defined(Q_OS_SYMBIAN)
+ int pressureSupported;
int maxTouchPressure;
QList<QTouchEvent::TouchPoint> appAllTouchPoints;
#endif
diff --git a/src/gui/kernel/qapplication_s60.cpp b/src/gui/kernel/qapplication_s60.cpp
index f4c73046f0..d5d4be6888 100644
--- a/src/gui/kernel/qapplication_s60.cpp
+++ b/src/gui/kernel/qapplication_s60.cpp
@@ -62,6 +62,9 @@
#include "qpaintengine.h"
#include "private/qmenubar_p.h"
#include "private/qsoftkeymanager_p.h"
+#ifdef QT_GRAPHICSSYSTEM_RUNTIME
+#include "private/qgraphicssystem_runtime_p.h"
+#endif
#include "apgwgnam.h" // For CApaWindowGroupName
#include <mdaaudiotoneplayer.h> // For CMdaAudioToneUtility
@@ -83,6 +86,10 @@
QT_BEGIN_NAMESPACE
+// Goom Events through Window Server
+static const int KGoomMemoryLowEvent = 0x10282DBF;
+static const int KGoomMemoryGoodEvent = 0x20026790;
+
#if defined(QT_DEBUG)
static bool appNoGrab = false; // Grabbing enabled
#endif
@@ -364,6 +371,7 @@ void QSymbianControl::ConstructL(bool isWindowOwning, bool desktop)
SetFocusing(true);
m_longTapDetector = QLongTapTimer::NewL(this);
+ m_doubleClickTimer.invalidate();
DrawableWindow()->SetPointerGrab(ETrue);
}
@@ -407,25 +415,44 @@ void QSymbianControl::HandleLongTapEventL( const TPoint& aPenEventLocation, cons
void QSymbianControl::translateAdvancedPointerEvent(const TAdvancedPointerEvent *event)
{
QApplicationPrivate *d = QApplicationPrivate::instance();
+ QPointF screenPos = qwidget->mapToGlobal(QPoint(event->iPosition.iX, event->iPosition.iY));
+ qreal pressure;
+ if(d->pressureSupported
+ && event->Pressure() > 0) //workaround for misconfigured HAL
+ pressure = event->Pressure() / qreal(d->maxTouchPressure);
+ else
+ pressure = qreal(1.0);
+ processTouchEvent(event->PointerNumber(), event->iType, screenPos, pressure);
+}
+#endif
+void QSymbianControl::processTouchEvent(int pointerNumber, TPointerEvent::TType type, QPointF screenPos, qreal pressure)
+{
QRect screenGeometry = qApp->desktop()->screenGeometry(qwidget);
- while (d->appAllTouchPoints.count() <= event->PointerNumber())
- d->appAllTouchPoints.append(QTouchEvent::TouchPoint(d->appAllTouchPoints.count()));
+ QApplicationPrivate *d = QApplicationPrivate::instance();
+
+ QList<QTouchEvent::TouchPoint> points = d->appAllTouchPoints;
+ while (points.count() <= pointerNumber)
+ points.append(QTouchEvent::TouchPoint(points.count()));
Qt::TouchPointStates allStates = 0;
- for (int i = 0; i < d->appAllTouchPoints.count(); ++i) {
- QTouchEvent::TouchPoint &touchPoint = d->appAllTouchPoints[i];
+ for (int i = 0; i < points.count(); ++i) {
+ QTouchEvent::TouchPoint &touchPoint = points[i];
- if (touchPoint.id() == event->PointerNumber()) {
+ if (touchPoint.id() == pointerNumber) {
Qt::TouchPointStates state;
- switch (event->iType) {
+ switch (type) {
case TPointerEvent::EButton1Down:
+#ifdef QT_SYMBIAN_SUPPORTS_ADVANCED_POINTER
case TPointerEvent::EEnterHighPressure:
+#endif
state = Qt::TouchPointPressed;
break;
case TPointerEvent::EButton1Up:
+#ifdef QT_SYMBIAN_SUPPORTS_ADVANCED_POINTER
case TPointerEvent::EExitCloseProximity:
+#endif
state = Qt::TouchPointReleased;
break;
case TPointerEvent::EDrag:
@@ -436,16 +463,15 @@ void QSymbianControl::translateAdvancedPointerEvent(const TAdvancedPointerEvent
state = Qt::TouchPointStationary;
break;
}
- if (event->PointerNumber() == 0)
+ if (pointerNumber == 0)
state |= Qt::TouchPointPrimary;
touchPoint.setState(state);
- QPointF screenPos = qwidget->mapToGlobal(QPoint(event->iPosition.iX, event->iPosition.iY));
touchPoint.setScreenPos(screenPos);
touchPoint.setNormalizedPos(QPointF(screenPos.x() / screenGeometry.width(),
screenPos.y() / screenGeometry.height()));
- touchPoint.setPressure(event->Pressure() / qreal(d->maxTouchPressure));
+ touchPoint.setPressure(pressure);
} else if (touchPoint.state() != Qt::TouchPointReleased) {
// all other active touch points should be marked as stationary
touchPoint.setState(Qt::TouchPointStationary);
@@ -457,13 +483,14 @@ void QSymbianControl::translateAdvancedPointerEvent(const TAdvancedPointerEvent
if ((allStates & Qt::TouchPointStateMask) == Qt::TouchPointReleased) {
// all touch points released
d->appAllTouchPoints.clear();
+ } else {
+ d->appAllTouchPoints = points;
}
QApplicationPrivate::translateRawTouchEvent(qwidget,
QTouchEvent::TouchScreen,
- d->appAllTouchPoints);
+ points);
}
-#endif
void QSymbianControl::HandlePointerEventL(const TPointerEvent& pEvent)
{
@@ -537,6 +564,13 @@ void QSymbianControl::HandlePointerEvent(const TPointerEvent& pEvent)
qt_symbian_move_cursor_sprite();
#endif
+//Generate single touch event for S60 5.0 (has touchscreen, does not have advanced pointers)
+#ifndef QT_SYMBIAN_SUPPORTS_ADVANCED_POINTER
+ if (S60->hasTouchscreen) {
+ processTouchEvent(0, pEvent.iType, QPointF(globalPos), 1.0);
+ }
+#endif
+
sendMouseEvent(receiver, type, globalPos, button, modifiers);
}
@@ -589,120 +623,158 @@ TKeyResponse QSymbianControl::OfferKeyEvent(const TKeyEvent& keyEvent, TEventCod
case EEventKeyUp:
case EEventKey:
{
- // S60 has a confusing way of delivering key events. There are three types of
- // events: EKeyEvent, EKeyEventDown and EKeyEventUp. When a key is pressed, the
- // two first events are generated. When releasing the key, the last one is
- // generated.
- // Because S60 does not generate keysyms for EKeyEventDown and EKeyEventUp events,
- // we need to do some special tricks to map it to the Qt way. First, we completely
- // discard EKeyEventDown events, since they are redundant. Second, since
- // EKeyEventUp does not give us a keysym, we need to cache the keysyms from
- // the EKeyEvent events. This is what resolveS60ScanCode does.
-
-
- // ### hackish way to send Qt application to background when pressing right softkey
- /*
- if( keyEvent.iScanCode == EStdKeyDevice1 ) {
- S60->window_group->SetOrdinalPosition(-1);
- qApp->setActiveWindow(0);
- return EKeyWasNotConsumed;
- }
- */
-
- TUint s60Keysym = QApplicationPrivate::resolveS60ScanCode(keyEvent.iScanCode,
- keyEvent.iCode);
- int keyCode;
- if (s60Keysym == EKeyNull){ //some key events have 0 in iCode, for them iScanCode should be used
- keyCode = qt_keymapper_private()->mapS60ScanCodesToQt(keyEvent.iScanCode);
- } else if (s60Keysym >= 0x20 && s60Keysym < ENonCharacterKeyBase) {
- // Normal characters keys.
- keyCode = s60Keysym;
- } else {
- // Special S60 keys.
- keyCode = qt_keymapper_private()->mapS60KeyToQt(s60Keysym);
- }
-
#ifndef QT_NO_CURSOR
if (S60->mouseInteractionEnabled && S60->virtualMouseRequired) {
//translate keys to pointer
- if (keyCode >= Qt::Key_Left && keyCode <= Qt::Key_Down || keyCode == Qt::Key_Select) {
- /*Explanation about virtualMouseAccel:
- Tapping an arrow key allows precise pixel positioning
- Holding an arrow key down, acceleration is applied to allow cursor
- to be quickly moved to another part of the screen by key repeats.
- */
- if (S60->virtualMouseLastKey == keyCode) {
- S60->virtualMouseAccel *= 2;
- if (S60->virtualMouseAccel > S60->virtualMouseMaxAccel)
- S60->virtualMouseAccel = S60->virtualMouseMaxAccel;
- }
- else
- S60->virtualMouseAccel = 1;
- S60->virtualMouseLastKey = keyCode;
-
+ if ((keyEvent.iScanCode >= EStdKeyLeftArrow && keyEvent.iScanCode <= EStdKeyDownArrow) ||
+ (keyEvent.iScanCode >= EStdKeyDevice10 && keyEvent.iScanCode <= EStdKeyDevice13) ||
+ keyEvent.iScanCode == EStdKeyDevice3) {
QPoint pos = QCursor::pos();
TPointerEvent fakeEvent;
+ fakeEvent.iType = (TPointerEvent::TType)(-1);
+ fakeEvent.iModifiers = keyEvent.iModifiers;
TInt x = pos.x();
TInt y = pos.y();
if (type == EEventKeyUp) {
- if (keyCode == Qt::Key_Select)
- fakeEvent.iType = TPointerEvent::EButton1Up;
- S60->virtualMouseAccel = 1;
- S60->virtualMouseLastKey = 0;
- switch (keyCode) {
- case Qt::Key_Left:
+ S60->virtualMouseAccelTimeout.start();
+ switch (keyEvent.iScanCode) {
+ case EStdKeyLeftArrow:
S60->virtualMousePressedKeys &= ~QS60Data::Left;
break;
- case Qt::Key_Right:
+ case EStdKeyRightArrow:
S60->virtualMousePressedKeys &= ~QS60Data::Right;
break;
- case Qt::Key_Up:
+ case EStdKeyUpArrow:
S60->virtualMousePressedKeys &= ~QS60Data::Up;
break;
- case Qt::Key_Down:
+ case EStdKeyDownArrow:
S60->virtualMousePressedKeys &= ~QS60Data::Down;
break;
- case Qt::Key_Select:
+ // diagonal keys (named aliases don't exist in 3.1 SDK)
+ case EStdKeyDevice10:
+ S60->virtualMousePressedKeys &= ~QS60Data::LeftUp;
+ break;
+ case EStdKeyDevice11:
+ S60->virtualMousePressedKeys &= ~QS60Data::RightUp;
+ break;
+ case EStdKeyDevice12:
+ S60->virtualMousePressedKeys &= ~QS60Data::RightDown;
+ break;
+ case EStdKeyDevice13:
+ S60->virtualMousePressedKeys &= ~QS60Data::LeftDown;
+ break;
+ case EStdKeyDevice3: //select
+ if (S60->virtualMousePressedKeys & QS60Data::Select)
+ fakeEvent.iType = TPointerEvent::EButton1Up;
S60->virtualMousePressedKeys &= ~QS60Data::Select;
break;
}
}
else if (type == EEventKey) {
- switch (keyCode) {
- case Qt::Key_Left:
+ int dx = 0;
+ int dy = 0;
+ if (keyEvent.iScanCode != EStdKeyDevice3) {
+ m_doubleClickTimer.invalidate();
+ //reset mouse accelleration after a short time with no moves
+ const int maxTimeBetweenKeyEventsMs = 500;
+ if (S60->virtualMouseAccelTimeout.isValid() &&
+ S60->virtualMouseAccelTimeout.hasExpired(maxTimeBetweenKeyEventsMs)) {
+ S60->virtualMouseAccelDX = 0;
+ S60->virtualMouseAccelDY = 0;
+ }
+ S60->virtualMouseAccelTimeout.invalidate();
+ }
+ switch (keyEvent.iScanCode) {
+ case EStdKeyLeftArrow:
S60->virtualMousePressedKeys |= QS60Data::Left;
- x -= S60->virtualMouseAccel;
+ dx = -1;
fakeEvent.iType = TPointerEvent::EMove;
break;
- case Qt::Key_Right:
+ case EStdKeyRightArrow:
S60->virtualMousePressedKeys |= QS60Data::Right;
- x += S60->virtualMouseAccel;
+ dx = 1;
fakeEvent.iType = TPointerEvent::EMove;
break;
- case Qt::Key_Up:
+ case EStdKeyUpArrow:
S60->virtualMousePressedKeys |= QS60Data::Up;
- y -= S60->virtualMouseAccel;
+ dy = -1;
fakeEvent.iType = TPointerEvent::EMove;
break;
- case Qt::Key_Down:
+ case EStdKeyDownArrow:
S60->virtualMousePressedKeys |= QS60Data::Down;
- y += S60->virtualMouseAccel;
+ dy = 1;
+ fakeEvent.iType = TPointerEvent::EMove;
+ break;
+ case EStdKeyDevice10:
+ S60->virtualMousePressedKeys |= QS60Data::LeftUp;
+ dx = -1;
+ dy = -1;
fakeEvent.iType = TPointerEvent::EMove;
break;
- case Qt::Key_Select:
+ case EStdKeyDevice11:
+ S60->virtualMousePressedKeys |= QS60Data::RightUp;
+ dx = 1;
+ dy = -1;
+ fakeEvent.iType = TPointerEvent::EMove;
+ break;
+ case EStdKeyDevice12:
+ S60->virtualMousePressedKeys |= QS60Data::RightDown;
+ dx = 1;
+ dy = 1;
+ fakeEvent.iType = TPointerEvent::EMove;
+ break;
+ case EStdKeyDevice13:
+ S60->virtualMousePressedKeys |= QS60Data::LeftDown;
+ dx = -1;
+ dy = 1;
+ fakeEvent.iType = TPointerEvent::EMove;
+ break;
+ case EStdKeyDevice3:
// Platform bug. If you start pressing several keys simultaneously (for
// example for drag'n'drop), Symbian starts producing spurious up and
// down messages for some keys. Therefore, make sure we have a clean slate
// of pressed keys before starting a new button press.
- if (S60->virtualMousePressedKeys != 0) {
- S60->virtualMousePressedKeys |= QS60Data::Select;
+ if (S60->virtualMousePressedKeys & QS60Data::Select) {
return EKeyWasConsumed;
} else {
S60->virtualMousePressedKeys |= QS60Data::Select;
fakeEvent.iType = TPointerEvent::EButton1Down;
+ if (m_doubleClickTimer.isValid()
+ && !m_doubleClickTimer.hasExpired(QApplication::doubleClickInterval())) {
+ fakeEvent.iModifiers |= EModifierDoubleClick;
+ m_doubleClickTimer.invalidate();
+ } else {
+ m_doubleClickTimer.start();
+ }
}
break;
}
+ if (dx) {
+ int cdx = S60->virtualMouseAccelDX;
+ //reset accel on change of sign, else double accel
+ if (dx * cdx <= 0)
+ cdx = dx;
+ else
+ cdx *= 4;
+ //cap accelleration
+ if (dx * cdx > S60->virtualMouseMaxAccel)
+ cdx = dx * S60->virtualMouseMaxAccel;
+ //move mouse position
+ x += cdx;
+ S60->virtualMouseAccelDX = cdx;
+ }
+
+ if (dy) {
+ int cdy = S60->virtualMouseAccelDY;
+ if (dy * cdy <= 0)
+ cdy = dy;
+ else
+ cdy *= 4;
+ if (dy * cdy > S60->virtualMouseMaxAccel)
+ cdy = dy * S60->virtualMouseMaxAccel;
+ y += cdy;
+ S60->virtualMouseAccelDY = cdy;
+ }
}
//clip to screen size (window server allows a sprite hotspot to be outside the screen)
if (x < 0)
@@ -715,18 +787,46 @@ TKeyResponse QSymbianControl::OfferKeyEvent(const TKeyEvent& keyEvent, TEventCod
y = S60->screenHeightInPixels - 1;
TPoint epos(x, y);
TPoint cpos = epos - PositionRelativeToScreen();
- fakeEvent.iModifiers = keyEvent.iModifiers;
fakeEvent.iPosition = cpos;
fakeEvent.iParentPosition = epos;
- HandlePointerEvent(fakeEvent);
+ if(fakeEvent.iType != -1)
+ HandlePointerEvent(fakeEvent);
return EKeyWasConsumed;
}
- else {
- S60->virtualMouseLastKey = keyCode;
- S60->virtualMouseAccel = 1;
- }
}
#endif
+ // S60 has a confusing way of delivering key events. There are three types of
+ // events: EKeyEvent, EKeyEventDown and EKeyEventUp. When a key is pressed, the
+ // two first events are generated. When releasing the key, the last one is
+ // generated.
+ // Because S60 does not generate keysyms for EKeyEventDown and EKeyEventUp events,
+ // we need to do some special tricks to map it to the Qt way. First, we completely
+ // discard EKeyEventDown events, since they are redundant. Second, since
+ // EKeyEventUp does not give us a keysym, we need to cache the keysyms from
+ // the EKeyEvent events. This is what resolveS60ScanCode does.
+
+
+ // ### hackish way to send Qt application to background when pressing right softkey
+ /*
+ if( keyEvent.iScanCode == EStdKeyDevice1 ) {
+ S60->window_group->SetOrdinalPosition(-1);
+ qApp->setActiveWindow(0);
+ return EKeyWasNotConsumed;
+ }
+ */
+
+ TUint s60Keysym = QApplicationPrivate::resolveS60ScanCode(keyEvent.iScanCode,
+ keyEvent.iCode);
+ int keyCode;
+ if (s60Keysym == EKeyNull){ //some key events have 0 in iCode, for them iScanCode should be used
+ keyCode = qt_keymapper_private()->mapS60ScanCodesToQt(keyEvent.iScanCode);
+ } else if (s60Keysym >= 0x20 && s60Keysym < ENonCharacterKeyBase) {
+ // Normal characters keys.
+ keyCode = s60Keysym;
+ } else {
+ // Special S60 keys.
+ keyCode = qt_keymapper_private()->mapS60KeyToQt(s60Keysym);
+ }
Qt::KeyboardModifiers mods = mapToQtModifiers(keyEvent.iModifiers);
QKeyEventEx qKeyEvent(type == EEventKeyUp ? QEvent::KeyRelease : QEvent::KeyPress, keyCode,
@@ -855,7 +955,16 @@ void QSymbianControl::Draw(const TRect& controlRect) const
const TRect backingStoreRect(TPoint(backingStoreBase.x(), backingStoreBase.y()), controlRect.Size());
if (engine->type() == QPaintEngine::Raster) {
- QS60WindowSurface *s60Surface = static_cast<QS60WindowSurface *>(qwidget->windowSurface());
+ QS60WindowSurface *s60Surface;
+#ifdef QT_GRAPHICSSYSTEM_RUNTIME
+ if (QApplicationPrivate::runtime_graphics_system) {
+ QRuntimeWindowSurface *rtSurface =
+ static_cast<QRuntimeWindowSurface*>(qwidget->windowSurface());
+ s60Surface = static_cast<QS60WindowSurface *>(rtSurface->m_windowSurface);
+ } else
+#endif
+ s60Surface = static_cast<QS60WindowSurface *>(qwidget->windowSurface());
+
CFbsBitmap *bitmap = s60Surface->symbianBitmap();
CWindowGc &gc = SystemGc();
@@ -923,6 +1032,9 @@ void QSymbianControl::SizeChanged()
qwidget->d_func()->syncBackingStore();
if (!slowResize && tlwExtra)
tlwExtra->inTopLevelResize = false;
+ } else {
+ QResizeEvent *e = new QResizeEvent(newSize, oldSize);
+ QApplication::postEvent(qwidget, e);
}
}
@@ -1691,19 +1803,27 @@ int QApplicationPrivate::symbianProcessWsEvent(const QSymbianEvent *symbianEvent
return 1;
const TWsVisibilityChangedEvent *visChangedEvent = event->VisibilityChanged();
QWidget *w = QWidgetPrivate::mapper->value(control);
- if (!w->d_func()->maybeTopData())
+ QWidget *const window = w->window();
+ if (!window->d_func()->maybeTopData())
break;
+ QRefCountedWidgetBackingStore &backingStore = window->d_func()->maybeTopData()->backingStore;
if (visChangedEvent->iFlags & TWsVisibilityChangedEvent::ENotVisible) {
- delete w->d_func()->topData()->backingStore;
- w->d_func()->topData()->backingStore = 0;
+ // Decrement backing store reference count
+ backingStore.deref();
// In order to ensure that any resources used by the window surface
// are immediately freed, we flush the WSERV command buffer.
S60->wsSession().Flush();
- } else if ((visChangedEvent->iFlags & TWsVisibilityChangedEvent::EPartiallyVisible)
- && !w->d_func()->maybeBackingStore()) {
- w->d_func()->topData()->backingStore = new QWidgetBackingStore(w);
- w->d_func()->invalidateBuffer(w->rect());
- w->repaint();
+ } else if (visChangedEvent->iFlags & TWsVisibilityChangedEvent::EPartiallyVisible) {
+ if (backingStore.data()) {
+ // Increment backing store reference count
+ backingStore.ref();
+ } else {
+ // Create backing store with an initial reference count of 1
+ backingStore.create(window);
+ backingStore.ref();
+ w->d_func()->invalidateBuffer(w->rect());
+ w->repaint();
+ }
}
return 1;
}
@@ -1738,6 +1858,53 @@ int QApplicationPrivate::symbianProcessWsEvent(const QSymbianEvent *symbianEvent
}
#endif
break;
+ case KGoomMemoryLowEvent:
+#ifdef QT_DEBUG
+ qDebug() << "QApplicationPrivate::symbianProcessWsEvent - KGoomMemoryLowEvent";
+#endif
+ if (callSymbianEventFilters(symbianEvent))
+ return 1;
+#ifdef QT_GRAPHICSSYSTEM_RUNTIME
+ if(QApplicationPrivate::runtime_graphics_system) {
+ bool switchToSwRendering(false);
+
+ foreach (QWidget *w, QApplication::topLevelWidgets()) {
+ if(w->d_func()->topData()->backingStore) {
+ switchToSwRendering = true;
+ break;
+ }
+ }
+
+ if (switchToSwRendering) {
+ QRuntimeGraphicsSystem *gs =
+ static_cast<QRuntimeGraphicsSystem*>(QApplicationPrivate::graphics_system);
+
+ uint memoryUsage = gs->memoryUsage();
+ uint memoryForFullscreen = ( S60->screenDepth / 8 )
+ * S60->screenWidthInPixels
+ * S60->screenHeightInPixels;
+
+ S60->memoryLimitForHwRendering = memoryUsage - memoryForFullscreen;
+ gs->setGraphicsSystem(QLatin1String("raster"));
+ }
+ }
+#endif
+ break;
+ case KGoomMemoryGoodEvent:
+#ifdef QT_DEBUG
+ qDebug() << "QApplicationPrivate::symbianProcessWsEvent - KGoomMemoryGoodEvent";
+#endif
+ if (callSymbianEventFilters(symbianEvent))
+ return 1;
+#ifdef QT_GRAPHICSSYSTEM_RUNTIME
+ if(QApplicationPrivate::runtime_graphics_system) {
+ QRuntimeGraphicsSystem *gs =
+ static_cast<QRuntimeGraphicsSystem*>(QApplicationPrivate::graphics_system);
+ gs->setGraphicsSystem(QLatin1String("openvg"), S60->memoryLimitForHwRendering);
+ S60->memoryLimitForHwRendering = 0;
+ }
+#endif
+ break;
default:
break;
}
@@ -1916,8 +2083,13 @@ TUint QApplicationPrivate::resolveS60ScanCode(TInt scanCode, TUint keysym)
void QApplicationPrivate::initializeMultitouch_sys()
{
#ifdef QT_SYMBIAN_SUPPORTS_ADVANCED_POINTER
+ if (HAL::Get(HALData::EPointer3DPressureSupported, pressureSupported) != KErrNone)
+ pressureSupported = 0;
if (HAL::Get(HALData::EPointer3DMaxPressure, maxTouchPressure) != KErrNone)
maxTouchPressure = KMaxTInt;
+#else
+ pressureSupported = 0;
+ maxTouchPressure = KMaxTInt;
#endif
}
@@ -2024,4 +2196,29 @@ void QApplication::restoreOverrideCursor()
#endif // QT_NO_CURSOR
+QS60ThreadLocalData::QS60ThreadLocalData()
+{
+ CCoeEnv *env = CCoeEnv::Static();
+ if (env) {
+ //if this is the UI thread, share objects owned by CONE
+ usingCONEinstances = true;
+ wsSession = env->WsSession();
+ screenDevice = env->ScreenDevice();
+ }
+ else {
+ usingCONEinstances = false;
+ qt_symbian_throwIfError(wsSession.Connect(qt_s60GetRFs()));
+ screenDevice = new CWsScreenDevice(wsSession);
+ screenDevice->Construct();
+ }
+}
+
+QS60ThreadLocalData::~QS60ThreadLocalData()
+{
+ if (!usingCONEinstances) {
+ delete screenDevice;
+ wsSession.Close();
+ }
+}
+
QT_END_NAMESPACE
diff --git a/src/gui/kernel/qapplication_win.cpp b/src/gui/kernel/qapplication_win.cpp
index fb2837ecf9..0edb8fb417 100644
--- a/src/gui/kernel/qapplication_win.cpp
+++ b/src/gui/kernel/qapplication_win.cpp
@@ -52,9 +52,11 @@ extern void qt_wince_hide_taskbar(HWND hwnd); //defined in qguifunctions_wince.c
#include <windowsm.h>
#include <tpcshell.h>
#ifdef QT_WINCE_GESTURES
+#ifndef QT_NO_GESTURES
#include <gesture.h>
#endif
#endif
+#endif
#include "qapplication.h"
#include "qdesktopwidget.h"
@@ -116,8 +118,6 @@ extern void qt_wince_hide_taskbar(HWND hwnd); //defined in qguifunctions_wince.c
# include <winable.h>
#endif
-#include "private/qwinnativepangesturerecognizer_win_p.h"
-
#ifndef WM_TOUCH
# define WM_TOUCH 0x0240
@@ -198,6 +198,7 @@ struct SHRGINFO {
#define SPI_SETSIPINFO 224
#endif
+#ifndef QT_NO_GESTURES
typedef DWORD (API *AygRecognizeGesture)(SHRGINFO*);
static AygRecognizeGesture ptrRecognizeGesture = 0;
static bool aygResolved = false;
@@ -211,6 +212,7 @@ static void resolveAygLibs()
ptrRecognizeGesture = (AygRecognizeGesture) ayglib.resolve("SHRecognizeGesture");
}
}
+#endif // QT_NO_GESTURES
#endif
@@ -463,7 +465,9 @@ public:
bool translateConfigEvent(const MSG &msg);
bool translateCloseEvent(const MSG &msg);
bool translateTabletEvent(const MSG &msg, PACKET *localPacketBuf, int numPackets);
+#ifndef QT_NO_GESTURES
bool translateGestureEvent(const MSG &msg, const GESTUREINFO &gi);
+#endif
void repolishStyle(QStyle &style);
inline void showChildren(bool spontaneous) { d_func()->showChildren(spontaneous); }
inline void hideChildren(bool spontaneous) { d_func()->hideChildren(spontaneous); }
@@ -843,6 +847,7 @@ void qt_init(QApplicationPrivate *priv, int)
ptrSetProcessDPIAware();
#endif
+#ifndef QT_NO_GESTURES
priv->GetGestureInfo = 0;
priv->GetGestureExtraArgs = 0;
priv->CloseGestureInfoHandle = 0;
@@ -883,6 +888,7 @@ void qt_init(QApplicationPrivate *priv, int)
(PtrEndPanningFeedback)QLibrary::resolve(QLatin1String("uxtheme"),
"EndPanningFeedback");
#endif
+#endif // QT_NO_GESTURES
}
/*****************************************************************************
@@ -1542,7 +1548,7 @@ extern "C" LRESULT QT_WIN_CALLBACK QtWndProc(HWND hwnd, UINT message, WPARAM wPa
case WM_SETTINGCHANGE:
#ifdef Q_WS_WINCE
// CE SIP hide/show
- if (wParam == SPI_SETSIPINFO) {
+ if (qt_desktopWidget && wParam == SPI_SETSIPINFO) {
QResizeEvent re(QSize(0, 0), QSize(0, 0)); // Calculated by QDesktopWidget
QApplication::sendEvent(qt_desktopWidget, &re);
break;
@@ -1667,12 +1673,14 @@ extern "C" LRESULT QT_WIN_CALLBACK QtWndProc(HWND hwnd, UINT message, WPARAM wPa
shrg.ptDown.y = GET_Y_LPARAM(lParam);
shrg.dwFlags = SHRG_RETURNCMD | SHRG_NOANIMATION;
resolveAygLibs();
+#ifndef QT_NO_GESTURES
if (ptrRecognizeGesture && (ptrRecognizeGesture(&shrg) == GN_CONTEXTMENU)) {
if (QApplication::activePopupWidget())
QApplication::activePopupWidget()->close();
QContextMenuEvent e(QContextMenuEvent::Mouse, pos, globalPos);
result = qt_sendSpontaneousEvent(alienWidget, &e);
}
+#endif // QT_NO_GESTURES
}
}
}
@@ -1936,6 +1944,8 @@ extern "C" LRESULT QT_WIN_CALLBACK QtWndProc(HWND hwnd, UINT message, WPARAM wPa
QLocalePrivate::updateSystemPrivate();
if (!widget->testAttribute(Qt::WA_SetLocale))
widget->dptr()->setLocale_helper(QLocale(), true);
+ QEvent e(QEvent::LocaleChange);
+ QApplication::sendEvent(qApp, &e);
}
}
else if (msg.wParam == SPI_SETICONTITLELOGFONT) {
@@ -2475,7 +2485,7 @@ extern "C" LRESULT QT_WIN_CALLBACK QtWndProc(HWND hwnd, UINT message, WPARAM wPa
QApplication::postEvent(widget, new QEvent(QEvent::Close));
else
#ifndef QT_NO_MENUBAR
- QMenuBar::wceCommands(LOWORD(wParam), (HWND) lParam);
+ QMenuBar::wceCommands(LOWORD(wParam));
#endif
result = true;
}
@@ -2554,6 +2564,7 @@ extern "C" LRESULT QT_WIN_CALLBACK QtWndProc(HWND hwnd, UINT message, WPARAM wPa
}
result = false;
break;
+#ifndef QT_NO_GESTURES
#if !defined(Q_WS_WINCE) || defined(QT_WINCE_GESTURES)
case WM_GESTURE: {
GESTUREINFO gi;
@@ -2588,6 +2599,7 @@ extern "C" LRESULT QT_WIN_CALLBACK QtWndProc(HWND hwnd, UINT message, WPARAM wPa
break;
}
#endif // !defined(Q_WS_WINCE) || defined(QT_WINCE_GESTURES)
+#endif // QT_NO_GESTURES
#ifndef QT_NO_CURSOR
case WM_SETCURSOR: {
QCursor *ovr = QApplication::overrideCursor();
@@ -3823,6 +3835,7 @@ bool QETWidget::translateCloseEvent(const MSG &)
return d_func()->close_helper(QWidgetPrivate::CloseWithSpontaneousEvent);
}
+#ifndef QT_NO_GESTURES
bool QETWidget::translateGestureEvent(const MSG &, const GESTUREINFO &gi)
{
const QPoint widgetPos = QPoint(gi.ptsLocation.x, gi.ptsLocation.y);
@@ -3861,7 +3874,7 @@ bool QETWidget::translateGestureEvent(const MSG &, const GESTUREINFO &gi)
qt_sendSpontaneousEvent(widget, &event);
return true;
}
-
+#endif // QT_NO_GESTURES
void QApplication::setCursorFlashTime(int msecs)
{
@@ -4051,36 +4064,9 @@ PtrCloseTouchInputHandle QApplicationPrivate::CloseTouchInputHandle = 0;
void QApplicationPrivate::initializeMultitouch_sys()
{
- static const IID QT_IID_IInkTablets = {0x112086D9, 0x7779, 0x4535, {0xA6, 0x99, 0x86, 0x2B, 0x43, 0xAC, 0x18, 0x63} };
- static const IID QT_IID_IInkTablet2 = {0x90c91ad2, 0xfa36, 0x49d6, {0x95, 0x16, 0xce, 0x8d, 0x57, 0x0f, 0x6f, 0x85} };
- static const CLSID QT_CLSID_InkTablets = {0x6E4FCB12, 0x510A, 0x4d40, {0x93, 0x04, 0x1D, 0xA1, 0x0A, 0xE9, 0x14, 0x7C} };
-
- IInkTablets *iInkTablets = 0;
- HRESULT hr = CoCreateInstance(QT_CLSID_InkTablets, NULL, CLSCTX_ALL, QT_IID_IInkTablets, (void**)&iInkTablets);
- if (SUCCEEDED(hr)) {
- long count = 0;
- iInkTablets->get_Count(&count);
- for (long i = 0; i < count; ++i) {
- IInkTablet *iInkTablet = 0;
- hr = iInkTablets->Item(i, &iInkTablet);
- if (FAILED(hr))
- continue;
- IInkTablet2 *iInkTablet2 = 0;
- hr = iInkTablet->QueryInterface(QT_IID_IInkTablet2, (void**)&iInkTablet2);
- iInkTablet->Release();
- if (FAILED(hr))
- continue;
- TabletDeviceKind kind;
- hr = iInkTablet2->get_DeviceKind(&kind);
- iInkTablet2->Release();
- if (FAILED(hr))
- continue;
- if (kind == TDK_Touch) {
- QApplicationPrivate::HasTouchSupport = true;
- break;
- }
- }
- iInkTablets->Release();
+ if (QSysInfo::windowsVersion() >= QSysInfo::WV_WINDOWS7) {
+ static const int QT_SM_DIGITIZER = 94;
+ QApplicationPrivate::HasTouchSupport = GetSystemMetrics(QT_SM_DIGITIZER);
}
QLibrary library(QLatin1String("user32"));
diff --git a/src/gui/kernel/qapplication_x11.cpp b/src/gui/kernel/qapplication_x11.cpp
index 78fc704cb6..3664743711 100644
--- a/src/gui/kernel/qapplication_x11.cpp
+++ b/src/gui/kernel/qapplication_x11.cpp
@@ -5268,7 +5268,7 @@ bool QETWidget::translateConfigEvent(const XEvent *event)
if (isVisible() && data->crect.size() != oldSize) {
Q_ASSERT(d->extra->topextra);
- QWidgetBackingStore *bs = d->extra->topextra->backingStore;
+ QWidgetBackingStore *bs = d->extra->topextra->backingStore.data();
const bool hasStaticContents = bs && bs->hasStaticContents();
// If we have a backing store with static contents, we have to disable the top-level
// resize optimization in order to get invalidated regions for resized widgets.
diff --git a/src/gui/kernel/qcocoaview_mac.mm b/src/gui/kernel/qcocoaview_mac.mm
index 4953c48c9d..eec9699567 100644
--- a/src/gui/kernel/qcocoaview_mac.mm
+++ b/src/gui/kernel/qcocoaview_mac.mm
@@ -952,12 +952,14 @@ static int qCocoaViewCount = 0;
if (!QApplicationPrivate::tryModalHelper(qwidget, 0))
return;
+#ifndef QT_NO_GESTURES
QNativeGestureEvent qNGEvent;
qNGEvent.gestureType = QNativeGestureEvent::Zoom;
NSPoint p = [[event window] convertBaseToScreen:[event locationInWindow]];
qNGEvent.position = flipPoint(p).toPoint();
qNGEvent.percentage = [event magnification];
qt_sendSpontaneousEvent(qwidget, &qNGEvent);
+#endif // QT_NO_GESTURES
}
- (void)rotateWithEvent:(NSEvent *)event;
@@ -965,12 +967,14 @@ static int qCocoaViewCount = 0;
if (!QApplicationPrivate::tryModalHelper(qwidget, 0))
return;
+#ifndef QT_NO_GESTURES
QNativeGestureEvent qNGEvent;
qNGEvent.gestureType = QNativeGestureEvent::Rotate;
NSPoint p = [[event window] convertBaseToScreen:[event locationInWindow]];
qNGEvent.position = flipPoint(p).toPoint();
qNGEvent.percentage = -[event rotation];
qt_sendSpontaneousEvent(qwidget, &qNGEvent);
+#endif // QT_NO_GESTURES
}
- (void)swipeWithEvent:(NSEvent *)event;
@@ -978,6 +982,7 @@ static int qCocoaViewCount = 0;
if (!QApplicationPrivate::tryModalHelper(qwidget, 0))
return;
+#ifndef QT_NO_GESTURES
QNativeGestureEvent qNGEvent;
qNGEvent.gestureType = QNativeGestureEvent::Swipe;
NSPoint p = [[event window] convertBaseToScreen:[event locationInWindow]];
@@ -991,6 +996,7 @@ static int qCocoaViewCount = 0;
else if ([event deltaY] == -1)
qNGEvent.angle = 270.0f;
qt_sendSpontaneousEvent(qwidget, &qNGEvent);
+#endif // QT_NO_GESTURES
}
- (void)beginGestureWithEvent:(NSEvent *)event;
@@ -998,11 +1004,13 @@ static int qCocoaViewCount = 0;
if (!QApplicationPrivate::tryModalHelper(qwidget, 0))
return;
+#ifndef QT_NO_GESTURES
QNativeGestureEvent qNGEvent;
qNGEvent.gestureType = QNativeGestureEvent::GestureBegin;
NSPoint p = [[event window] convertBaseToScreen:[event locationInWindow]];
qNGEvent.position = flipPoint(p).toPoint();
qt_sendSpontaneousEvent(qwidget, &qNGEvent);
+#endif // QT_NO_GESTURES
}
- (void)endGestureWithEvent:(NSEvent *)event;
@@ -1010,11 +1018,13 @@ static int qCocoaViewCount = 0;
if (!QApplicationPrivate::tryModalHelper(qwidget, 0))
return;
+#ifndef QT_NO_GESTURES
QNativeGestureEvent qNGEvent;
qNGEvent.gestureType = QNativeGestureEvent::GestureEnd;
NSPoint p = [[event window] convertBaseToScreen:[event locationInWindow]];
qNGEvent.position = flipPoint(p).toPoint();
qt_sendSpontaneousEvent(qwidget, &qNGEvent);
+#endif // QT_NO_GESTURES
}
- (void)frameDidChange:(NSNotification *)note
diff --git a/src/gui/kernel/qcocoawindowdelegate_mac.mm b/src/gui/kernel/qcocoawindowdelegate_mac.mm
index 24498f8cc0..2b9cf8517b 100644
--- a/src/gui/kernel/qcocoawindowdelegate_mac.mm
+++ b/src/gui/kernel/qcocoawindowdelegate_mac.mm
@@ -202,6 +202,11 @@ static void cleanupCocoaWindowDelegate()
QWindowStateChangeEvent e(Qt::WindowStates(widgetData->window_state
& ~Qt::WindowMaximized));
qt_sendSpontaneousEvent(qwidget, &e);
+ } else {
+ widgetData->window_state = widgetData->window_state & ~Qt::WindowMaximized;
+ QWindowStateChangeEvent e(Qt::WindowStates(widgetData->window_state
+ | Qt::WindowMaximized));
+ qt_sendSpontaneousEvent(qwidget, &e);
}
NSRect rect = [[window contentView] frame];
const QSize newSize(rect.size.width, rect.size.height);
@@ -305,9 +310,19 @@ static void cleanupCocoaWindowDelegate()
Q_UNUSED(newFrame);
// saving the current window geometry before the window is maximized
QWidget *qwidget = m_windowHash->value(window);
- if (qwidget->isWindow() && !(qwidget->windowState() & Qt::WindowMaximized)) {
- QWidgetPrivate *widgetPrivate = qt_widget_private(qwidget);
- widgetPrivate->topData()->normalGeometry = qwidget->geometry();
+ QWidgetPrivate *widgetPrivate = qt_widget_private(qwidget);
+ if (qwidget->isWindow()) {
+ if(qwidget->windowState() & Qt::WindowMaximized) {
+ // Restoring
+ widgetPrivate->topData()->wasMaximized = false;
+ } else {
+ // Maximizing
+ widgetPrivate->topData()->normalGeometry = qwidget->geometry();
+ // If the window was maximized we need to update the coordinates since now it will start at 0,0.
+ // We do this in a special field that is only used when not restoring but manually resizing the window.
+ // Since the coordinates are fixed we just set a boolean flag.
+ widgetPrivate->topData()->wasMaximized = true;
+ }
}
return YES;
}
diff --git a/src/gui/kernel/qcursor.cpp b/src/gui/kernel/qcursor.cpp
index ae1f60d756..5b589845cf 100644
--- a/src/gui/kernel/qcursor.cpp
+++ b/src/gui/kernel/qcursor.cpp
@@ -229,7 +229,7 @@ QT_BEGIN_NAMESPACE
Writes the \a cursor to the \a stream.
- \sa {Format of the QDataStream operators}
+ \sa {Serializing Qt Data Types}
*/
QDataStream &operator<<(QDataStream &s, const QCursor &c)
@@ -256,7 +256,7 @@ QDataStream &operator<<(QDataStream &s, const QCursor &c)
Reads the \a cursor from the \a stream.
- \sa {Format of the QDataStream operators}
+ \sa {Serializing Qt Data Types}
*/
QDataStream &operator>>(QDataStream &s, QCursor &c)
diff --git a/src/gui/kernel/qdnd_qws.cpp b/src/gui/kernel/qdnd_qws.cpp
index e47de00a18..7e5afc7a43 100644
--- a/src/gui/kernel/qdnd_qws.cpp
+++ b/src/gui/kernel/qdnd_qws.cpp
@@ -192,6 +192,10 @@ bool QDragManager::eventFilter(QObject *o, QEvent *e)
return false;
switch(e->type()) {
+ case QEvent::ShortcutOverride:
+ // prevent accelerators from firing while dragging
+ e->accept();
+ return true;
case QEvent::KeyPress:
case QEvent::KeyRelease:
diff --git a/src/gui/kernel/qdnd_x11.cpp b/src/gui/kernel/qdnd_x11.cpp
index 0a05d8e625..92dd0a1fc5 100644
--- a/src/gui/kernel/qdnd_x11.cpp
+++ b/src/gui/kernel/qdnd_x11.cpp
@@ -64,6 +64,7 @@
#include "qtextcodec.h"
#include "qdnd_p.h"
+#include "qapplication_p.h"
#include "qt_x11_p.h"
#include "qx11info_x11.h"
@@ -1111,7 +1112,20 @@ void qt_xdnd_send_leave()
waiting_for_status = false;
}
-
+// TODO: remove and use QApplication::currentKeyboardModifiers() in Qt 4.8.
+static Qt::KeyboardModifiers currentKeyboardModifiers()
+{
+ Window root;
+ Window child;
+ int root_x, root_y, win_x, win_y;
+ uint keybstate;
+ for (int i = 0; i < ScreenCount(X11->display); ++i) {
+ if (XQueryPointer(X11->display, QX11Info::appRootWindow(i), &root, &child,
+ &root_x, &root_y, &win_x, &win_y, &keybstate))
+ return X11->translateModifiers(keybstate & 0x00ff);
+ }
+ return 0;
+}
void QX11Data::xdndHandleDrop(QWidget *, const XEvent * xe, bool passive)
{
@@ -1159,6 +1173,11 @@ void QX11Data::xdndHandleDrop(QWidget *, const XEvent * xe, bool passive)
if (!dropData)
dropData = (manager->object) ? manager->dragPrivate()->data : manager->dropData;
+ // Drop coming from another app? Update keyboard modifiers.
+ if (!qt_xdnd_dragging) {
+ QApplicationPrivate::modifier_buttons = currentKeyboardModifiers();
+ }
+
QDropEvent de(qt_xdnd_current_position, possible_actions, dropData,
QApplication::mouseButtons(), QApplication::keyboardModifiers());
QApplication::sendEvent(qt_xdnd_current_widget, &de);
@@ -1299,6 +1318,12 @@ bool QDragManager::eventFilter(QObject * o, QEvent * e)
return true;
}
+ if (e->type() == QEvent::ShortcutOverride) {
+ // prevent accelerators from firing while dragging
+ e->accept();
+ return true;
+ }
+
if (e->type() == QEvent::KeyPress || e->type() == QEvent::KeyRelease) {
QKeyEvent *ke = ((QKeyEvent*)e);
if (ke->key() == Qt::Key_Escape && e->type() == QEvent::KeyPress) {
diff --git a/src/gui/kernel/qdrag.cpp b/src/gui/kernel/qdrag.cpp
index b57615cd5f..77f8fc0f96 100644
--- a/src/gui/kernel/qdrag.cpp
+++ b/src/gui/kernel/qdrag.cpp
@@ -253,7 +253,9 @@ Qt::DropAction QDrag::exec(Qt::DropActions supportedActions)
can take some time, but this function does not block the event
loop. Other events are still delivered to the application while
the operation is performed. On Windows, the Qt event loop is
- blocked while during the operation.
+ blocked during the operation. However, QDrag::exec() on
+ Windows causes processEvents() to be called frequently to keep the GUI responsive.
+ If any loops or operations are called while a drag operation is active, it will block the drag operation.
*/
Qt::DropAction QDrag::exec(Qt::DropActions supportedActions, Qt::DropAction defaultDropAction)
diff --git a/src/gui/kernel/qevent.cpp b/src/gui/kernel/qevent.cpp
index acf7184db2..92eed33f59 100644
--- a/src/gui/kernel/qevent.cpp
+++ b/src/gui/kernel/qevent.cpp
@@ -3421,9 +3421,11 @@ QDebug operator<<(QDebug dbg, const QEvent *e) {
case QEvent::ChildRemoved: n = n ? n : "ChildRemoved";
dbg.nospace() << "QChildEvent(" << n << ", " << (static_cast<const QChildEvent*>(e))->child();
return dbg.space();
+#ifndef QT_NO_GESTURES
case QEvent::Gesture:
n = "Gesture";
break;
+#endif
default:
dbg.nospace() << "QEvent(" << (const void *)e << ", type = " << e->type() << ')';
return dbg.space();
@@ -4254,6 +4256,7 @@ QTouchEvent::TouchPoint &QTouchEvent::TouchPoint::operator=(const QTouchEvent::T
return *this;
}
+#ifndef QT_NO_GESTURES
/*!
\class QGestureEvent
\since 4.6
@@ -4558,4 +4561,6 @@ const QGestureEventPrivate *QGestureEvent::d_func() const
*/
#endif
+#endif // QT_NO_GESTURES
+
QT_END_NAMESPACE
diff --git a/src/gui/kernel/qevent.h b/src/gui/kernel/qevent.h
index 90242fe64a..9c70c02476 100644
--- a/src/gui/kernel/qevent.h
+++ b/src/gui/kernel/qevent.h
@@ -62,7 +62,9 @@ QT_BEGIN_NAMESPACE
QT_MODULE(Gui)
class QAction;
+#ifndef QT_NO_GESTURES
class QGesture;
+#endif
class Q_GUI_EXPORT QInputEvent : public QEvent
{
@@ -824,6 +826,7 @@ protected:
friend class QApplicationPrivate;
};
+#ifndef QT_NO_GESTURES
class QGesture;
class QGestureEventPrivate;
class Q_GUI_EXPORT QGestureEvent : public QEvent
@@ -875,6 +878,7 @@ private:
friend class QApplication;
friend class QGestureManager;
};
+#endif // QT_NO_GESTURES
QT_END_NAMESPACE
diff --git a/src/gui/kernel/qevent_p.h b/src/gui/kernel/qevent_p.h
index 5c94a23171..e323aa9b2a 100644
--- a/src/gui/kernel/qevent_p.h
+++ b/src/gui/kernel/qevent_p.h
@@ -120,6 +120,7 @@ public:
qreal pressure;
};
+#ifndef QT_NO_GESTURES
class QNativeGestureEvent : public QEvent
{
public:
@@ -164,7 +165,7 @@ public:
QMap<Qt::GestureType, bool> accepted;
QMap<Qt::GestureType, QWidget *> targetWidgets;
};
-
+#endif // QT_NO_GESTURES
class QFileOpenEventPrivate
{
diff --git a/src/gui/kernel/qeventdispatcher_mac.mm b/src/gui/kernel/qeventdispatcher_mac.mm
index 0d93b9ffa1..e26fbde32d 100644
--- a/src/gui/kernel/qeventdispatcher_mac.mm
+++ b/src/gui/kernel/qeventdispatcher_mac.mm
@@ -492,6 +492,7 @@ static bool IsMouseOrKeyEvent( NSEvent* event )
case NSOtherMouseDown:
case NSOtherMouseUp:
case NSOtherMouseDragged:
+#ifndef QT_NO_GESTURES
#if MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_6
case NSEventTypeGesture: // touch events
case NSEventTypeMagnify:
@@ -500,6 +501,7 @@ static bool IsMouseOrKeyEvent( NSEvent* event )
case NSEventTypeBeginGesture:
case NSEventTypeEndGesture:
#endif
+#endif // QT_NO_GESTURES
result = true;
break;
diff --git a/src/gui/kernel/qgesture.cpp b/src/gui/kernel/qgesture.cpp
index 956499b970..f5688f4f64 100644
--- a/src/gui/kernel/qgesture.cpp
+++ b/src/gui/kernel/qgesture.cpp
@@ -42,6 +42,8 @@
#include "qgesture.h"
#include "private/qgesture_p.h"
+#ifndef QT_NO_GESTURES
+
QT_BEGIN_NAMESPACE
/*!
@@ -612,7 +614,7 @@ void QPinchGesture::setRotationAngle(qreal value)
If the gesture has either a horizontal or vertical component, the
swipe angle describes the angle between the direction of motion and the
x-axis as defined using the standard widget
- \l{The Coordinate System}{coordinate system}.
+ \l{Coordinate System}{coordinate system}.
\sa horizontalDirection, verticalDirection
*/
@@ -725,3 +727,5 @@ void QTapAndHoldGesture::setPosition(const QPointF &value)
}
QT_END_NAMESPACE
+
+#endif // QT_NO_GESTURES
diff --git a/src/gui/kernel/qgesture.h b/src/gui/kernel/qgesture.h
index c9bdce639a..8c10895140 100644
--- a/src/gui/kernel/qgesture.h
+++ b/src/gui/kernel/qgesture.h
@@ -49,6 +49,8 @@
#include <QtCore/qrect.h>
#include <QtCore/qmetatype.h>
+#ifndef QT_NO_GESTURES
+
QT_BEGIN_HEADER
Q_DECLARE_METATYPE(Qt::GestureState)
@@ -258,4 +260,6 @@ QT_END_NAMESPACE
Q_DECLARE_METATYPE(QGesture::GestureCancelPolicy)
QT_END_HEADER
+#endif // QT_NO_GESTURES
+
#endif // QGESTURE_H
diff --git a/src/gui/kernel/qgesture_p.h b/src/gui/kernel/qgesture_p.h
index bf60f97861..f5474c1fe4 100644
--- a/src/gui/kernel/qgesture_p.h
+++ b/src/gui/kernel/qgesture_p.h
@@ -59,6 +59,8 @@
#include "qelapsedtimer.h"
#include "private/qobject_p.h"
+#ifndef QT_NO_GESTURES
+
QT_BEGIN_NAMESPACE
class QGesturePrivate : public QObjectPrivate
@@ -179,4 +181,6 @@ public:
QT_END_NAMESPACE
+#endif // QT_NO_GESTURES
+
#endif // QGESTURE_P_H
diff --git a/src/gui/kernel/qgesturemanager.cpp b/src/gui/kernel/qgesturemanager.cpp
index aa6720e802..e43a560503 100644
--- a/src/gui/kernel/qgesturemanager.cpp
+++ b/src/gui/kernel/qgesturemanager.cpp
@@ -66,6 +66,8 @@
# define DEBUG qDebug
#endif
+#ifndef QT_NO_GESTURES
+
QT_BEGIN_NAMESPACE
QGestureManager::QGestureManager(QObject *parent)
@@ -132,20 +134,21 @@ void QGestureManager::unregisterGestureRecognizer(Qt::GestureType type)
QGestureRecognizer *recognizer = m_gestureToRecognizer.value(g);
if (list.contains(recognizer)) {
m_deletedRecognizers.insert(g, recognizer);
- m_gestureToRecognizer.remove(g);
}
}
- foreach (QGestureRecognizer *recognizer, list) {
- QList<QGesture *> obsoleteGestures;
- QMap<ObjectGesture, QList<QGesture *> >::Iterator iter = m_objectGestures.begin();
- while (iter != m_objectGestures.end()) {
- ObjectGesture objectGesture = iter.key();
- if (objectGesture.gesture == type)
- obsoleteGestures << iter.value();
- ++iter;
+ QMap<ObjectGesture, QList<QGesture *> >::const_iterator iter = m_objectGestures.begin();
+ while (iter != m_objectGestures.end()) {
+ ObjectGesture objectGesture = iter.key();
+ if (objectGesture.gesture == type) {
+ foreach (QGesture *g, iter.value()) {
+ if (QGestureRecognizer *recognizer = m_gestureToRecognizer.value(g)) {
+ m_gestureToRecognizer.remove(g);
+ m_obsoleteGestures[recognizer].insert(g);
+ }
+ }
}
- m_obsoleteGestures.insert(recognizer, obsoleteGestures);
+ ++iter;
}
}
@@ -155,7 +158,16 @@ void QGestureManager::cleanupCachedGestures(QObject *target, Qt::GestureType typ
while (iter != m_objectGestures.end()) {
ObjectGesture objectGesture = iter.key();
if (objectGesture.gesture == type && target == objectGesture.object.data()) {
- qDeleteAll(iter.value());
+ QSet<QGesture *> gestures = iter.value().toSet();
+ for (QHash<QGestureRecognizer *, QSet<QGesture *> >::iterator
+ it = m_obsoleteGestures.begin(), e = m_obsoleteGestures.end(); it != e; ++it) {
+ it.value() -= gestures;
+ }
+ foreach (QGesture *g, gestures) {
+ m_deletedRecognizers.remove(g);
+ m_gestureToRecognizer.remove(g);
+ }
+ qDeleteAll(gestures);
iter = m_objectGestures.erase(iter);
} else {
++iter;
@@ -177,6 +189,9 @@ QGesture *QGestureManager::getState(QObject *object, QGestureRecognizer *recogni
#ifndef QT_NO_GRAPHICSVIEW
} else {
Q_ASSERT(qobject_cast<QGraphicsObject *>(object));
+ QGraphicsObject *graphicsObject = static_cast<QGraphicsObject *>(object);
+ if (graphicsObject->QGraphicsItem::d_func()->inDestructor)
+ return 0;
#endif
}
@@ -271,28 +286,21 @@ bool QGestureManager::filterEventThroughContexts(const QMultiMap<QObject *,
// check if a running gesture switched back to maybe state
QSet<QGesture *> activeToMaybeGestures = m_activeGestures & newMaybeGestures;
+ // check if a maybe gesture switched to canceled - reset it but don't send an event
+ QSet<QGesture *> maybeToCanceledGestures = m_maybeGestures & notGestures;
+
// check if a running gesture switched back to not gesture state,
// i.e. were canceled
QSet<QGesture *> canceledGestures = m_activeGestures & notGestures;
- // start timers for new gestures in maybe state
- foreach (QGesture *state, newMaybeGestures) {
- QBasicTimer &timer = m_maybeGestures[state];
- if (!timer.isActive())
- timer.start(3000, this);
- }
- // kill timers for gestures that were in maybe state
+ // new gestures in maybe state
+ m_maybeGestures += newMaybeGestures;
+
+ // gestures that were in maybe state
QSet<QGesture *> notMaybeGestures = (startedGestures | triggeredGestures
| finishedGestures | canceledGestures
| notGestures);
- foreach(QGesture *gesture, notMaybeGestures) {
- QHash<QGesture *, QBasicTimer>::iterator it =
- m_maybeGestures.find(gesture);
- if (it != m_maybeGestures.end()) {
- it.value().stop();
- m_maybeGestures.erase(it);
- }
- }
+ m_maybeGestures -= notMaybeGestures;
Q_ASSERT((startedGestures & finishedGestures).isEmpty());
Q_ASSERT((startedGestures & newMaybeGestures).isEmpty());
@@ -336,11 +344,12 @@ bool QGestureManager::filterEventThroughContexts(const QMultiMap<QObject *,
!finishedGestures.isEmpty() || !canceledGestures.isEmpty()) {
DEBUG() << "QGestureManager::filterEventThroughContexts:"
<< "\n\tactiveGestures:" << m_activeGestures
- << "\n\tmaybeGestures:" << m_maybeGestures.keys()
+ << "\n\tmaybeGestures:" << m_maybeGestures
<< "\n\tstarted:" << startedGestures
<< "\n\ttriggered:" << triggeredGestures
<< "\n\tfinished:" << finishedGestures
- << "\n\tcanceled:" << canceledGestures;
+ << "\n\tcanceled:" << canceledGestures
+ << "\n\tmaybe-canceled:" << maybeToCanceledGestures;
}
QSet<QGesture *> undeliveredGestures;
@@ -361,7 +370,7 @@ bool QGestureManager::filterEventThroughContexts(const QMultiMap<QObject *,
// reset gestures that ended
QSet<QGesture *> endedGestures =
- finishedGestures + canceledGestures + undeliveredGestures;
+ finishedGestures + canceledGestures + undeliveredGestures + maybeToCanceledGestures;
foreach (QGesture *gesture, endedGestures) {
recycle(gesture);
m_gestureTargets.remove(gesture);
@@ -675,32 +684,13 @@ void QGestureManager::deliverEvents(const QSet<QGesture *> &gestures,
}
}
-void QGestureManager::timerEvent(QTimerEvent *event)
-{
- QHash<QGesture *, QBasicTimer>::iterator it = m_maybeGestures.begin(),
- e = m_maybeGestures.end();
- for (; it != e; ) {
- QBasicTimer &timer = it.value();
- Q_ASSERT(timer.isActive());
- if (timer.timerId() == event->timerId()) {
- timer.stop();
- QGesture *gesture = it.key();
- it = m_maybeGestures.erase(it);
- DEBUG() << "QGestureManager::timerEvent: gesture stopped due to timeout:"
- << gesture;
- recycle(gesture);
- } else {
- ++it;
- }
- }
-}
-
void QGestureManager::recycle(QGesture *gesture)
{
QGestureRecognizer *recognizer = m_gestureToRecognizer.value(gesture, 0);
if (recognizer) {
gesture->setGestureCancelPolicy(QGesture::CancelNone);
recognizer->reset(gesture);
+ m_activeGestures.remove(gesture);
} else {
cleanupGesturesForRemovedRecognizer(gesture);
}
@@ -708,4 +698,6 @@ void QGestureManager::recycle(QGesture *gesture)
QT_END_NAMESPACE
+#endif // QT_NO_GESTURES
+
#include "moc_qgesturemanager_p.cpp"
diff --git a/src/gui/kernel/qgesturemanager_p.h b/src/gui/kernel/qgesturemanager_p.h
index a0ff83f91c..747cb1ae52 100644
--- a/src/gui/kernel/qgesturemanager_p.h
+++ b/src/gui/kernel/qgesturemanager_p.h
@@ -58,6 +58,8 @@
#include "private/qwidget_p.h"
#include "qgesturerecognizer.h"
+#ifndef QT_NO_GESTURES
+
QT_BEGIN_NAMESPACE
class QBasicTimer;
@@ -85,7 +87,6 @@ public:
void recycle(QGesture *gesture);
protected:
- void timerEvent(QTimerEvent *event);
bool filterEventThroughContexts(const QMultiMap<QObject *, Qt::GestureType> &contexts,
QEvent *event);
@@ -93,7 +94,7 @@ private:
QMultiMap<Qt::GestureType, QGestureRecognizer *> m_recognizers;
QSet<QGesture *> m_activeGestures;
- QHash<QGesture *, QBasicTimer> m_maybeGestures;
+ QSet<QGesture *> m_maybeGestures;
enum State {
Gesture,
@@ -127,7 +128,7 @@ private:
int m_lastCustomGestureId;
- QHash<QGestureRecognizer *, QList<QGesture *> > m_obsoleteGestures;
+ QHash<QGestureRecognizer *, QSet<QGesture *> > m_obsoleteGestures;
QHash<QGesture *, QGestureRecognizer *> m_deletedRecognizers;
void cleanupGesturesForRemovedRecognizer(QGesture *gesture);
@@ -144,4 +145,6 @@ private:
QT_END_NAMESPACE
+#endif // QT_NO_GESTURES
+
#endif // QGESTUREMANAGER_P_H
diff --git a/src/gui/kernel/qgesturerecognizer.cpp b/src/gui/kernel/qgesturerecognizer.cpp
index 9dcca175bc..3e23bbf05f 100644
--- a/src/gui/kernel/qgesturerecognizer.cpp
+++ b/src/gui/kernel/qgesturerecognizer.cpp
@@ -44,6 +44,8 @@
#include "private/qgesture_p.h"
#include "private/qgesturemanager_p.h"
+#ifndef QT_NO_GESTURES
+
QT_BEGIN_NAMESPACE
/*!
@@ -231,3 +233,5 @@ void QGestureRecognizer::unregisterRecognizer(Qt::GestureType type)
}
QT_END_NAMESPACE
+
+#endif // QT_NO_GESTURES
diff --git a/src/gui/kernel/qgesturerecognizer.h b/src/gui/kernel/qgesturerecognizer.h
index 3e17c9993d..5afb43ff00 100644
--- a/src/gui/kernel/qgesturerecognizer.h
+++ b/src/gui/kernel/qgesturerecognizer.h
@@ -45,6 +45,8 @@
#include <QtCore/qglobal.h>
#include <QtCore/qnamespace.h>
+#ifndef QT_NO_GESTURES
+
QT_BEGIN_HEADER
QT_BEGIN_NAMESPACE
@@ -95,4 +97,6 @@ QT_END_NAMESPACE
QT_END_HEADER
+#endif // QT_NO_GESTURES
+
#endif // QGESTURERECOGNIZER_H
diff --git a/src/gui/kernel/qkeymapper_mac.cpp b/src/gui/kernel/qkeymapper_mac.cpp
index a7145d4f2f..873b8f9be6 100644
--- a/src/gui/kernel/qkeymapper_mac.cpp
+++ b/src/gui/kernel/qkeymapper_mac.cpp
@@ -672,23 +672,7 @@ QKeyMapperPrivate::updateKeyboard()
#endif
if (iso639Code) {
keyboardInputLocale = QLocale(QCFString::toQString(iso639Code));
- QString monday = keyboardInputLocale.dayName(1);
- bool rtl = false;
- for (int i = 0; i < monday.length(); ++i) {
- switch (monday.at(i).direction()) {
- default:
- break;
- case QChar::DirR:
- case QChar::DirAL:
- case QChar::DirRLE:
- case QChar::DirRLO:
- rtl = true;
- break;
- }
- if (rtl)
- break;
- }
- keyboardInputDirection = rtl ? Qt::RightToLeft : Qt::LeftToRight;
+ keyboardInputDirection = keyboardInputLocale.textDirection();
} else {
keyboardInputLocale = QLocale::c();
keyboardInputDirection = Qt::LeftToRight;
diff --git a/src/gui/kernel/qkeymapper_qws.cpp b/src/gui/kernel/qkeymapper_qws.cpp
index 5b6b1c45ee..63bb46b4d9 100644
--- a/src/gui/kernel/qkeymapper_qws.cpp
+++ b/src/gui/kernel/qkeymapper_qws.cpp
@@ -52,7 +52,7 @@ QT_USE_NAMESPACE
QKeyMapperPrivate::QKeyMapperPrivate()
{
keyboardInputLocale = QLocale::system();
- keyboardInputDirection = Qt::RightToLeft;
+ keyboardInputDirection = keyboardInputLocale.textDirection();
}
QKeyMapperPrivate::~QKeyMapperPrivate()
diff --git a/src/gui/kernel/qkeymapper_x11.cpp b/src/gui/kernel/qkeymapper_x11.cpp
index 807959cf6d..825edbc807 100644
--- a/src/gui/kernel/qkeymapper_x11.cpp
+++ b/src/gui/kernel/qkeymapper_x11.cpp
@@ -80,22 +80,15 @@ QT_BEGIN_NAMESPACE
(((KeySym)(keysym) >= 0x11000000) && ((KeySym)(keysym) <= 0x1100FFFF))
#endif
-void q_getLocaleAndDirection(QLocale *locale,
- Qt::LayoutDirection *direction,
- const QByteArray &layoutName,
- const QByteArray &variantName)
+QLocale q_getKeyboardLocale(const QByteArray &layoutName, const QByteArray &variantName)
{
int i = 0;
while (xkbLayoutData[i].layout != 0) {
- if (layoutName == xkbLayoutData[i].layout && variantName == xkbLayoutData[i].variant) {
- *locale = QLocale(xkbLayoutData[i].language, xkbLayoutData[i].country);
- *direction = xkbLayoutData[i].direction;
- return;
- }
+ if (layoutName == xkbLayoutData[i].layout && variantName == xkbLayoutData[i].variant)
+ return QLocale(xkbLayoutData[i].language, xkbLayoutData[i].country);
++i;
}
- *locale = QLocale::c();
- *direction = Qt::LeftToRight;
+ return QLocale::c();
}
#endif // QT_NO_XKB
@@ -523,10 +516,8 @@ void QKeyMapperPrivate::clearMappings()
// if (keyboardLayoutName.isEmpty())
// qWarning("Qt: unable to determine keyboard layout, please talk to qt-bugs@trolltech.com"); ?
- q_getLocaleAndDirection(&keyboardInputLocale,
- &keyboardInputDirection,
- layoutName,
- variantName);
+ keyboardInputLocale = q_getKeyboardLocale(layoutName, variantName);
+ keyboardInputDirection = keyboardInputLocale.textDirection();
#if 0
qDebug() << "keyboard input locale ="
diff --git a/src/gui/kernel/qkeymapper_x11_p.cpp b/src/gui/kernel/qkeymapper_x11_p.cpp
index 20fcc868d9..6308973f95 100644
--- a/src/gui/kernel/qkeymapper_x11_p.cpp
+++ b/src/gui/kernel/qkeymapper_x11_p.cpp
@@ -271,13 +271,13 @@ static struct {
// name = is:nodeadkeys, description = Iceland
{ "is", "nodeadkeys", Qt::LeftToRight, QLocale::Icelandic, QLocale::Iceland },
// name = il, description = Israel
- { "il", "", Qt::LeftToRight, QLocale::Hebrew, QLocale::Israel },
+ { "il", "", Qt::RightToLeft, QLocale::Hebrew, QLocale::Israel },
// name = il:lyx, description = Israel
- { "il", "lyx", Qt::LeftToRight, QLocale::Hebrew, QLocale::Israel },
+ { "il", "lyx", Qt::RightToLeft, QLocale::Hebrew, QLocale::Israel },
// name = il:si1452, description = Israel
- { "il", "si1452", Qt::LeftToRight, QLocale::Hebrew, QLocale::Israel },
+ { "il", "si1452", Qt::RightToLeft, QLocale::Hebrew, QLocale::Israel },
// name = il:phonetic, description = Israel
- { "il", "phonetic", Qt::LeftToRight, QLocale::Hebrew, QLocale::Israel },
+ { "il", "phonetic", Qt::RightToLeft, QLocale::Hebrew, QLocale::Israel },
// name = it, description = Italy
{ "it", "", Qt::LeftToRight, QLocale::Italian, QLocale::Italy },
// name = it:nodeadkeys, description = Italy
@@ -419,11 +419,11 @@ static struct {
// name = ch:fr_sundeadkeys, description = Switzerland
{ "ch", "fr_sundeadkeys", Qt::LeftToRight, QLocale::French, QLocale::Switzerland },
// name = sy, description = Syria
- { "sy", "", Qt::RightToLeft, QLocale::Arabic, QLocale::SyrianArabRepublic },
+ { "sy", "", Qt::RightToLeft, QLocale::Syriac, QLocale::SyrianArabRepublic },
// name = sy:syc, description = Syria
- { "sy", "syc", Qt::RightToLeft, QLocale::Arabic, QLocale::SyrianArabRepublic },
+ { "sy", "syc", Qt::RightToLeft, QLocale::Syriac, QLocale::SyrianArabRepublic },
// name = sy:syc_phonetic, description = Syria
- { "sy", "syc_phonetic", Qt::RightToLeft, QLocale::Arabic, QLocale::SyrianArabRepublic },
+ { "sy", "syc_phonetic", Qt::RightToLeft, QLocale::Syriac, QLocale::SyrianArabRepublic },
// name = tj, description = Tajikistan
{ "tj", "", Qt::LeftToRight, QLocale::Tajik, QLocale::Tajikistan },
// name = lk, description = Sri Lanka
diff --git a/src/gui/kernel/qkeysequence.cpp b/src/gui/kernel/qkeysequence.cpp
index 931bc33747..c2f275afed 100644
--- a/src/gui/kernel/qkeysequence.cpp
+++ b/src/gui/kernel/qkeysequence.cpp
@@ -439,6 +439,10 @@ static const struct {
{ Qt::Key_MediaPrevious, QT_TRANSLATE_NOOP("QShortcut", "Media Previous") },
{ Qt::Key_MediaNext, QT_TRANSLATE_NOOP("QShortcut", "Media Next") },
{ Qt::Key_MediaRecord, QT_TRANSLATE_NOOP("QShortcut", "Media Record") },
+ //: Media player pause button
+ { Qt::Key_MediaPause, QT_TRANSLATE_NOOP("QShortcut", "Media Pause") },
+ //: Media player button to toggle between playing and paused
+ { Qt::Key_MediaTogglePlayPause, QT_TRANSLATE_NOOP("QShortcut", "Toggle Media Play/Pause") },
{ Qt::Key_HomePage, QT_TRANSLATE_NOOP("QShortcut", "Home Page") },
{ Qt::Key_Favorites, QT_TRANSLATE_NOOP("QShortcut", "Favorites") },
{ Qt::Key_Search, QT_TRANSLATE_NOOP("QShortcut", "Search") },
@@ -575,13 +579,25 @@ static const struct {
// --------------------------------------------------------------
// Device keys
- { Qt::Key_Context1, QT_TRANSLATE_NOOP("QShortcut", "Context1") },
- { Qt::Key_Context2, QT_TRANSLATE_NOOP("QShortcut", "Context2") },
- { Qt::Key_Context3, QT_TRANSLATE_NOOP("QShortcut", "Context3") },
- { Qt::Key_Context4, QT_TRANSLATE_NOOP("QShortcut", "Context4") },
- { Qt::Key_Call, QT_TRANSLATE_NOOP("QShortcut", "Call") },
- { Qt::Key_Hangup, QT_TRANSLATE_NOOP("QShortcut", "Hangup") },
- { Qt::Key_Flip, QT_TRANSLATE_NOOP("QShortcut", "Flip") },
+ { Qt::Key_Context1, QT_TRANSLATE_NOOP("QShortcut", "Context1") },
+ { Qt::Key_Context2, QT_TRANSLATE_NOOP("QShortcut", "Context2") },
+ { Qt::Key_Context3, QT_TRANSLATE_NOOP("QShortcut", "Context3") },
+ { Qt::Key_Context4, QT_TRANSLATE_NOOP("QShortcut", "Context4") },
+ //: Button to start a call (note: a separate button is used to end the call)
+ { Qt::Key_Call, QT_TRANSLATE_NOOP("QShortcut", "Call") },
+ //: Button to end a call (note: a separate button is used to start the call)
+ { Qt::Key_Hangup, QT_TRANSLATE_NOOP("QShortcut", "Hangup") },
+ //: Button that will hang up if we're in call, or make a call if we're not.
+ { Qt::Key_ToggleCallHangup, QT_TRANSLATE_NOOP("QShortcut", "Toggle Call/Hangup") },
+ { Qt::Key_Flip, QT_TRANSLATE_NOOP("QShortcut", "Flip") },
+ //: Button to trigger voice dialling
+ { Qt::Key_VoiceDial, QT_TRANSLATE_NOOP("QShortcut", "Voice Dial") },
+ //: Button to redial the last number called
+ { Qt::Key_LastNumberRedial, QT_TRANSLATE_NOOP("QShortcut", "Last Number Redial") },
+ //: Button to trigger the camera shutter (take a picture)
+ { Qt::Key_Camera, QT_TRANSLATE_NOOP("QShortcut", "Camera Shutter") },
+ //: Button to focus the camera
+ { Qt::Key_CameraFocus, QT_TRANSLATE_NOOP("QShortcut", "Camera Focus") },
// --------------------------------------------------------------
// Japanese keyboard support
diff --git a/src/gui/kernel/qmacgesturerecognizer_mac.mm b/src/gui/kernel/qmacgesturerecognizer_mac.mm
index fba839b506..0ccbb528cd 100644
--- a/src/gui/kernel/qmacgesturerecognizer_mac.mm
+++ b/src/gui/kernel/qmacgesturerecognizer_mac.mm
@@ -47,6 +47,8 @@
#include "qwidget.h"
#include "qdebug.h"
+#ifndef QT_NO_GESTURES
+
QT_BEGIN_NAMESPACE
QMacSwipeGestureRecognizer::QMacSwipeGestureRecognizer()
@@ -260,3 +262,5 @@ void QMacPanGestureRecognizer::reset(QGesture *gesture)
#endif // QT_MAC_USE_COCOA
QT_END_NAMESPACE
+
+#endif // QT_NO_GESTURES
diff --git a/src/gui/kernel/qmacgesturerecognizer_mac_p.h b/src/gui/kernel/qmacgesturerecognizer_mac_p.h
index dd8a150c9e..f48c160046 100644
--- a/src/gui/kernel/qmacgesturerecognizer_mac_p.h
+++ b/src/gui/kernel/qmacgesturerecognizer_mac_p.h
@@ -57,6 +57,8 @@
#include "qpoint.h"
#include "qgesturerecognizer.h"
+#ifndef QT_NO_GESTURES
+
QT_BEGIN_NAMESPACE
class QMacSwipeGestureRecognizer : public QGestureRecognizer
@@ -99,4 +101,6 @@ private:
QT_END_NAMESPACE
+#endif // QT_NO_GESTURES
+
#endif // QMACSWIPEGESTURERECOGNIZER_MAC_P_H
diff --git a/src/gui/kernel/qsound_mac.mm b/src/gui/kernel/qsound_mac.mm
index 71fd663c62..2aff44d38d 100644
--- a/src/gui/kernel/qsound_mac.mm
+++ b/src/gui/kernel/qsound_mac.mm
@@ -88,14 +88,14 @@ QT_END_NAMESPACE
QT_USE_NAMESPACE
-@interface QMacSoundDelegate : NSObject<NSSoundDelegate> {
+@interface QT_MANGLE_NAMESPACE(QMacSoundDelegate) : NSObject<NSSoundDelegate> {
QSound *qSound; // may be null.
QAuServerMac* server;
}
-(id)initWithQSound:(QSound*)sound:(QAuServerMac*)server;
@end
-@implementation QMacSoundDelegate
+@implementation QT_MANGLE_NAMESPACE(QMacSoundDelegate)
-(id)initWithQSound:(QSound*)s:(QAuServerMac*)serv {
self = [super init];
if(self) {
@@ -172,7 +172,7 @@ NSSound *QAuServerMac::createNSSound(const QString &fileName, QSound *qSound)
{
NSString *nsFileName = const_cast<NSString *>(reinterpret_cast<const NSString *>(QCFString::toCFStringRef(fileName)));
NSSound * const nsSound = [[NSSound alloc] initWithContentsOfFile: nsFileName byReference:YES];
- QMacSoundDelegate * const delegate = [[QMacSoundDelegate alloc] initWithQSound:qSound:this];
+ QT_MANGLE_NAMESPACE(QMacSoundDelegate) * const delegate = [[QT_MANGLE_NAMESPACE(QMacSoundDelegate) alloc] initWithQSound:qSound:this];
[nsSound setDelegate:delegate];
[nsFileName release];
return nsSound;
diff --git a/src/gui/kernel/qstandardgestures.cpp b/src/gui/kernel/qstandardgestures.cpp
index a575717471..8a3e89ec8d 100644
--- a/src/gui/kernel/qstandardgestures.cpp
+++ b/src/gui/kernel/qstandardgestures.cpp
@@ -47,6 +47,8 @@
#include "qabstractscrollarea.h"
#include "qdebug.h"
+#ifndef QT_NO_GESTURES
+
QT_BEGIN_NAMESPACE
QPanGestureRecognizer::QPanGestureRecognizer()
@@ -110,6 +112,7 @@ QGestureRecognizer::Result QPanGestureRecognizer::recognize(QGesture *state,
p1.pos().y() - p1.startPos().y() + p2.pos().y() - p2.startPos().y()) / 2;
if (d->offset.x() > 10 || d->offset.y() > 10 ||
d->offset.x() < -10 || d->offset.y() < -10) {
+ q->setHotSpot(p1.startScreenPos());
result = QGestureRecognizer::TriggerGesture;
} else {
result = QGestureRecognizer::MayBeGesture;
@@ -439,6 +442,7 @@ QGestureRecognizer::Result QTapGestureRecognizer::recognize(QGesture *state,
switch (event->type()) {
case QEvent::TouchBegin: {
d->position = ev->touchPoints().at(0).pos();
+ q->setHotSpot(ev->touchPoints().at(0).screenPos());
result = QGestureRecognizer::TriggerGesture;
break;
}
@@ -521,6 +525,7 @@ QTapAndHoldGestureRecognizer::recognize(QGesture *state, QObject *object,
if (d->timerId)
q->killTimer(d->timerId);
d->timerId = q->startTimer(TimerInterval);
+ q->setHotSpot(ev->touchPoints().at(0).startScreenPos());
result = QGestureRecognizer::TriggerGesture;
break;
case QEvent::TouchEnd:
@@ -563,3 +568,5 @@ void QTapAndHoldGestureRecognizer::reset(QGesture *state)
}
QT_END_NAMESPACE
+
+#endif // QT_NO_GESTURES
diff --git a/src/gui/kernel/qstandardgestures_p.h b/src/gui/kernel/qstandardgestures_p.h
index 64505d828c..da73b851ee 100644
--- a/src/gui/kernel/qstandardgestures_p.h
+++ b/src/gui/kernel/qstandardgestures_p.h
@@ -56,6 +56,8 @@
#include "qgesturerecognizer.h"
#include "private/qgesture_p.h"
+#ifndef QT_NO_GESTURES
+
QT_BEGIN_NAMESPACE
class QPanGestureRecognizer : public QGestureRecognizer
@@ -110,4 +112,6 @@ public:
QT_END_NAMESPACE
+#endif // QT_NO_GESTURES
+
#endif // QSTANDARDGESTURES_P_H
diff --git a/src/gui/kernel/qt_cocoa_helpers_mac_p.h b/src/gui/kernel/qt_cocoa_helpers_mac_p.h
index 5db121af23..44fb4f0c1d 100644
--- a/src/gui/kernel/qt_cocoa_helpers_mac_p.h
+++ b/src/gui/kernel/qt_cocoa_helpers_mac_p.h
@@ -73,6 +73,9 @@
**
****************************************************************************/
+#ifndef QT_COCOA_HELPERS_MAC_P_H
+#define QT_COCOA_HELPERS_MAC_P_H
+
//
// W A R N I N G
// -------------
@@ -216,3 +219,5 @@ bool qt_cocoaPostMessage(id target, SEL selector);
void qt_mac_post_retranslateAppMenu();
QT_END_NAMESPACE
+
+#endif // QT_COCOA_HELPERS_MAC_P_H
diff --git a/src/gui/kernel/qt_mac_p.h b/src/gui/kernel/qt_mac_p.h
index 3341ce1688..ca9541a3af 100644
--- a/src/gui/kernel/qt_mac_p.h
+++ b/src/gui/kernel/qt_mac_p.h
@@ -57,7 +57,9 @@
#ifdef __OBJC__
#include <Cocoa/Cocoa.h>
+#ifdef QT_MAC_USE_COCOA
#include <objc/runtime.h>
+#endif // QT_MAC_USE_COCOA
#endif
#include <CoreServices/CoreServices.h>
diff --git a/src/gui/kernel/qt_s60_p.h b/src/gui/kernel/qt_s60_p.h
index 58da302de7..ed53ccf874 100644
--- a/src/gui/kernel/qt_s60_p.h
+++ b/src/gui/kernel/qt_s60_p.h
@@ -62,6 +62,8 @@
#include "QtGui/qevent.h"
#include "qpointer.h"
#include "qapplication.h"
+#include "qelapsedtimer.h"
+#include "QtCore/qthreadstorage.h"
#include <w32std.h>
#include <coecntrl.h>
#include <eikenv.h>
@@ -85,10 +87,21 @@ const TInt KInternalStatusPaneChange = 0x50000000;
//this macro exists because EColor16MAP enum value doesn't exist in Symbian OS 9.2
#define Q_SYMBIAN_ECOLOR16MAP TDisplayMode(13)
+class QS60ThreadLocalData
+{
+public:
+ QS60ThreadLocalData();
+ ~QS60ThreadLocalData();
+ bool usingCONEinstances;
+ RWsSession wsSession;
+ CWsScreenDevice *screenDevice;
+};
+
class QS60Data
{
public:
QS60Data();
+ QThreadStorage<QS60ThreadLocalData *> tls;
TUid uid;
int screenDepth;
QPoint lastCursorPos;
@@ -102,16 +115,21 @@ public:
int defaultDpiX;
int defaultDpiY;
WId curWin;
- int virtualMouseLastKey;
enum PressedKeys {
Select = 0x1,
Right = 0x2,
Down = 0x4,
Left = 0x8,
- Up = 0x10
+ Up = 0x10,
+ LeftUp = 0x20,
+ RightUp = 0x40,
+ RightDown = 0x80,
+ LeftDown = 0x100
};
int virtualMousePressedKeys; // of the above type, but avoids casting problems
- int virtualMouseAccel;
+ int virtualMouseAccelDX;
+ int virtualMouseAccelDY;
+ QElapsedTimer virtualMouseAccelTimeout;
int virtualMouseMaxAccel;
#ifndef Q_SYMBIAN_FIXED_POINTER_CURSORS
int brokenPointerCursors : 1;
@@ -123,11 +141,12 @@ public:
int supportsPremultipliedAlpha : 1;
int avkonComponentsSupportTransparency : 1;
int menuBeingConstructed : 1;
+ int memoryLimitForHwRendering;
QApplication::QS60MainApplicationFactory s60ApplicationFactory; // typedef'ed pointer type
static inline void updateScreenSize();
- static inline RWsSession& wsSession();
+ inline RWsSession& wsSession();
static inline RWindowGroup& windowGroup();
- static inline CWsScreenDevice* screenDevice();
+ inline CWsScreenDevice* screenDevice();
static inline CCoeAppUi* appUi();
static inline CEikMenuBar* menuBar();
#ifdef Q_WS_S60
@@ -210,6 +229,7 @@ private:
const QPoint &globalPos,
Qt::MouseButton button,
Qt::KeyboardModifiers modifiers);
+ void processTouchEvent(int pointerNumber, TPointerEvent::TType type, QPointF screenPos, qreal pressure);
void HandleLongTapEventL( const TPoint& aPenEventLocation, const TPoint& aPenEventScreenLocation );
#ifdef QT_SYMBIAN_SUPPORTS_ADVANCED_POINTER
void translateAdvancedPointerEvent(const TAdvancedPointerEvent *event);
@@ -222,6 +242,7 @@ private:
private:
QWidget *qwidget;
QLongTapTimer* m_longTapDetector;
+ QElapsedTimer m_doubleClickTimer;
bool m_ignoreFocusChanged : 1;
bool m_symbianPopupIsOpen : 1;
@@ -246,7 +267,7 @@ inline void QS60Data::updateScreenSize()
S60->screenWidthInTwips = params.iTwipsSize.iWidth;
S60->screenHeightInTwips = params.iTwipsSize.iHeight;
- S60->virtualMouseMaxAccel = qMax(S60->screenHeightInPixels, S60->screenWidthInPixels) / 20;
+ S60->virtualMouseMaxAccel = qMax(S60->screenHeightInPixels, S60->screenWidthInPixels) / 10;
TReal inches = S60->screenHeightInTwips / (TReal)KTwipsPerInch;
S60->defaultDpiY = S60->screenHeightInPixels / inches;
@@ -256,7 +277,10 @@ inline void QS60Data::updateScreenSize()
inline RWsSession& QS60Data::wsSession()
{
- return CCoeEnv::Static()->WsSession();
+ if(!tls.hasLocalData()) {
+ tls.setLocalData(new QS60ThreadLocalData);
+ }
+ return tls.localData()->wsSession;
}
inline RWindowGroup& QS60Data::windowGroup()
@@ -266,7 +290,10 @@ inline RWindowGroup& QS60Data::windowGroup()
inline CWsScreenDevice* QS60Data::screenDevice()
{
- return CCoeEnv::Static()->ScreenDevice();
+ if(!tls.hasLocalData()) {
+ tls.setLocalData(new QS60ThreadLocalData);
+ }
+ return tls.localData()->screenDevice;
}
inline CCoeAppUi* QS60Data::appUi()
diff --git a/src/gui/kernel/qwhatsthis.cpp b/src/gui/kernel/qwhatsthis.cpp
index 6181b621b6..ff4641e979 100644
--- a/src/gui/kernel/qwhatsthis.cpp
+++ b/src/gui/kernel/qwhatsthis.cpp
@@ -143,7 +143,7 @@ QT_BEGIN_NAMESPACE
\sa QToolTip
*/
-Q_DECL_IMPORT extern void qDeleteInEventHandler(QObject *o);
+Q_CORE_EXPORT void qDeleteInEventHandler(QObject *o);
class QWhatsThat : public QWidget
{
diff --git a/src/gui/kernel/qwidget.cpp b/src/gui/kernel/qwidget.cpp
index 5078ba4a44..1df73c20a3 100644
--- a/src/gui/kernel/qwidget.cpp
+++ b/src/gui/kernel/qwidget.cpp
@@ -67,6 +67,7 @@
# include "qt_mac_p.h"
# include "qt_cocoa_helpers_mac_p.h"
# include "qmainwindow.h"
+# include "qtoolbar.h"
#endif
#if defined(Q_WS_QWS)
# include "qwsdisplay_qws.h"
@@ -164,6 +165,51 @@ static inline bool hasBackingStoreSupport()
extern bool qt_sendSpontaneousEvent(QObject*, QEvent*); // qapplication.cpp
extern QDesktopWidget *qt_desktopWidget; // qapplication.cpp
+
+QRefCountedWidgetBackingStore::QRefCountedWidgetBackingStore()
+ : m_ptr(0)
+ , m_count(0)
+{
+
+}
+
+QRefCountedWidgetBackingStore::~QRefCountedWidgetBackingStore()
+{
+ delete m_ptr;
+}
+
+void QRefCountedWidgetBackingStore::create(QWidget *widget)
+{
+ destroy();
+ m_ptr = new QWidgetBackingStore(widget);
+ m_count = 0;
+}
+
+void QRefCountedWidgetBackingStore::destroy()
+{
+ delete m_ptr;
+ m_ptr = 0;
+ m_count = 0;
+}
+
+void QRefCountedWidgetBackingStore::ref()
+{
+ Q_ASSERT(m_ptr);
+ ++m_count;
+}
+
+void QRefCountedWidgetBackingStore::deref()
+{
+ if (m_count) {
+ Q_ASSERT(m_ptr);
+ if (0 == --m_count) {
+ delete m_ptr;
+ m_ptr = 0;
+ }
+ }
+}
+
+
QWidgetPrivate::QWidgetPrivate(int version)
: QObjectPrivate(version)
, extra(0)
@@ -205,7 +251,9 @@ QWidgetPrivate::QWidgetPrivate(int version)
, picture(0)
#elif defined(Q_WS_WIN)
, noPaintOnScreen(0)
+ #ifndef QT_NO_GESTURES
, nativeGesturePanEnabled(0)
+ #endif
#elif defined(Q_WS_MAC)
, needWindowChange(0)
, hasAlienChildren(0)
@@ -253,9 +301,14 @@ QWidgetPrivate::~QWidgetPrivate()
QWindowSurface *QWidgetPrivate::createDefaultWindowSurface()
{
Q_Q(QWidget);
+
+ QWindowSurface *surface;
if (QApplicationPrivate::graphicsSystem())
- return QApplicationPrivate::graphicsSystem()->createWindowSurface(q);
- return createDefaultWindowSurface_sys();
+ surface = QApplicationPrivate::graphicsSystem()->createWindowSurface(q);
+ else
+ surface = createDefaultWindowSurface_sys();
+
+ return surface;
}
/*!
@@ -317,6 +370,8 @@ QInputContext *QWidget::inputContext()
This function sets the input context \a context
on this widget.
+ Qt takes ownership of the given input \a context.
+
\sa inputContext()
*/
void QWidget::setInputContext(QInputContext *context)
@@ -325,9 +380,13 @@ void QWidget::setInputContext(QInputContext *context)
if (!testAttribute(Qt::WA_InputMethodEnabled))
return;
#ifndef QT_NO_IM
+ if (context == d->ic)
+ return;
if (d->ic)
delete d->ic;
d->ic = context;
+ if (d->ic)
+ d->ic->setParent(this);
#endif
}
@@ -675,8 +734,8 @@ void QWidget::setAutoFillBackground(bool enabled)
(to move the keyboard focus), and passes on most of the other events to
one of the more specialized handlers above.
- Events and the mechanism used to deliver them are covered in the
- \l{Events and Event Filters} document.
+ Events and the mechanism used to deliver them are covered in
+ \l{The Event System}.
\section1 Groups of Functions and Properties
@@ -1015,7 +1074,6 @@ struct QWidgetExceptionCleaner
\sa windowFlags
*/
-
QWidget::QWidget(QWidget *parent, Qt::WindowFlags f)
: QObject(*new QWidgetPrivate, 0), QPaintDevice()
{
@@ -1350,11 +1408,9 @@ void QWidget::create(WId window, bool initializeWindow, bool destroyOldWindow)
// a real toplevel window needs a backing store
if (isWindow() && windowType() != Qt::Desktop) {
- delete d->topData()->backingStore;
- // QWidgetBackingStore will check this variable, hence it must be 0
- d->topData()->backingStore = 0;
+ d->topData()->backingStore.destroy();
if (hasBackingStoreSupport())
- d->topData()->backingStore = new QWidgetBackingStore(this);
+ d->topData()->backingStore.create(this);
}
d->setModal_sys();
@@ -1399,6 +1455,11 @@ QWidget::~QWidget()
qWarning("QWidget: %s (%s) deleted while being painted", className(), name());
#endif
+#ifndef QT_NO_GESTURES
+ foreach (Qt::GestureType type, d->gestureContext.keys())
+ ungrabGesture(type);
+#endif
+
// force acceptDrops false before winId is destroyed.
d->registerDropSite(false);
@@ -1477,8 +1538,7 @@ QWidget::~QWidget()
// the backing store will delete its window surface, which may or may
// not have a reference to this widget that will be used later to
// notify the window it no longer has a surface.
- delete d->extra->topextra->backingStore;
- d->extra->topextra->backingStore = 0;
+ d->extra->topextra->backingStore.destroy();
}
#endif
if (QWidgetBackingStore *bs = d->maybeBackingStore()) {
@@ -1575,7 +1635,6 @@ void QWidgetPrivate::createTLExtra()
QTLWExtra* x = extra->topextra = new QTLWExtra;
x->icon = 0;
x->iconPixmap = 0;
- x->backingStore = 0;
x->windowSurface = 0;
x->sharedPainter = 0;
x->incw = x->inch = 0;
@@ -1589,6 +1648,11 @@ void QWidgetPrivate::createTLExtra()
x->inTopLevelResize = false;
x->inRepaint = false;
x->embedded = 0;
+#ifdef Q_WS_MAC
+#ifdef QT_MAC_USE_COCOA
+ x->wasMaximized = false;
+#endif // QT_MAC_USE_COCOA
+#endif // Q_WS_MAC
createTLSysExtra();
#ifdef QWIDGET_EXTRA_DEBUG
static int count = 0;
@@ -1657,7 +1721,7 @@ void QWidgetPrivate::deleteExtra()
#endif
if (extra->topextra) {
deleteTLSysExtra();
- delete extra->topextra->backingStore;
+ extra->topextra->backingStore.destroy();
delete extra->topextra->icon;
delete extra->topextra->iconPixmap;
#if defined(Q_WS_QWS) && !defined(QT_NO_QWS_MANAGER)
@@ -2549,7 +2613,7 @@ void QWidgetPrivate::setStyle_helper(QStyle *newStyle, bool propagate, bool
Q_Q(QWidget);
QStyle *oldStyle = q->style();
#ifndef QT_NO_STYLE_STYLESHEET
- QStyle *origStyle = 0;
+ QWeakPointer<QStyle> origStyle;
#endif
#ifdef Q_WS_MAC
@@ -2563,7 +2627,7 @@ void QWidgetPrivate::setStyle_helper(QStyle *newStyle, bool propagate, bool
createExtra();
#ifndef QT_NO_STYLE_STYLESHEET
- origStyle = extra->style;
+ origStyle = extra->style.data();
#endif
extra->style = newStyle;
}
@@ -2592,23 +2656,23 @@ void QWidgetPrivate::setStyle_helper(QStyle *newStyle, bool propagate, bool
}
}
- QEvent e(QEvent::StyleChange);
- QApplication::sendEvent(q, &e);
-#ifdef QT3_SUPPORT
- q->styleChange(*oldStyle);
-#endif
-
#ifndef QT_NO_STYLE_STYLESHEET
if (!qobject_cast<QStyleSheetStyle*>(newStyle)) {
- if (const QStyleSheetStyle* cssStyle = qobject_cast<QStyleSheetStyle*>(origStyle)) {
+ if (const QStyleSheetStyle* cssStyle = qobject_cast<QStyleSheetStyle*>(origStyle.data())) {
cssStyle->clearWidgetFont(q);
}
}
#endif
+ QEvent e(QEvent::StyleChange);
+ QApplication::sendEvent(q, &e);
+#ifdef QT3_SUPPORT
+ q->styleChange(*oldStyle);
+#endif
+
#ifndef QT_NO_STYLE_STYLESHEET
// dereference the old stylesheet style
- if (QStyleSheetStyle *proxy = qobject_cast<QStyleSheetStyle *>(origStyle))
+ if (QStyleSheetStyle *proxy = qobject_cast<QStyleSheetStyle *>(origStyle.data()))
proxy->deref();
#endif
}
@@ -4780,6 +4844,11 @@ void QWidget::setLayoutDirection(Qt::LayoutDirection direction)
{
Q_D(QWidget);
+ if (direction == Qt::LayoutDirectionAuto) {
+ unsetLayoutDirection();
+ return;
+ }
+
setAttribute(Qt::WA_SetLayoutDirection);
d->setLayoutDirection_helper(direction);
}
@@ -5597,52 +5666,23 @@ QPixmap QWidgetEffectSourcePrivate::pixmap(Qt::CoordinateSystem system, QPoint *
pixmapOffset = painterTransform.map(pixmapOffset);
}
-
QRect effectRect;
- if (mode == QGraphicsEffect::PadToEffectiveBoundingRect) {
+ if (mode == QGraphicsEffect::PadToEffectiveBoundingRect)
effectRect = m_widget->graphicsEffect()->boundingRectFor(sourceRect).toAlignedRect();
-
- } else if (mode == QGraphicsEffect::PadToTransparentBorder) {
+ else if (mode == QGraphicsEffect::PadToTransparentBorder)
effectRect = sourceRect.adjusted(-1, -1, 1, 1).toAlignedRect();
-
- } else {
+ else
effectRect = sourceRect.toAlignedRect();
- }
-
if (offset)
*offset = effectRect.topLeft();
- if (deviceCoordinates) {
- // Clip to device rect.
- int left, top, right, bottom;
- effectRect.getCoords(&left, &top, &right, &bottom);
- if (left < 0) {
- if (offset)
- offset->rx() += -left;
- effectRect.setX(0);
- }
- if (top < 0) {
- if (offset)
- offset->ry() += -top;
- effectRect.setY(0);
- }
- // NB! We use +-1 for historical reasons (see QRect documentation).
- QPaintDevice *device = context->painter->device();
- const int deviceWidth = device->width();
- const int deviceHeight = device->height();
- if (right + 1 > deviceWidth)
- effectRect.setRight(deviceWidth - 1);
- if (bottom + 1 > deviceHeight)
- effectRect.setBottom(deviceHeight -1);
- }
-
pixmapOffset -= effectRect.topLeft();
QPixmap pixmap(effectRect.size());
pixmap.fill(Qt::transparent);
- m_widget->render(&pixmap, pixmapOffset);
+ m_widget->render(&pixmap, pixmapOffset, QRegion(), QWidget::DrawChildren);
return pixmap;
}
#endif //QT_NO_GRAPHICSEFFECT
@@ -6246,6 +6286,12 @@ void QWidget::setFocus(Qt::FocusReason reason)
QApplication::sendEvent(that->style(), &event);
}
if (!isHidden()) {
+#ifndef QT_NO_GRAPHICSVIEW
+ // Update proxy state
+ if (QWExtra *topData = window()->d_func()->extra)
+ if (topData->proxyWidget && topData->proxyWidget->hasFocus())
+ topData->proxyWidget->d_func()->updateProxyInputMethodAcceptanceFromWidget();
+#endif
// Send event to self
QFocusEvent event(QEvent::FocusIn, reason);
QPointer<QWidget> that = f;
@@ -6754,6 +6800,18 @@ void QWidget::setGeometry(const QRect &r)
*/
QByteArray QWidget::saveGeometry() const
{
+#ifdef QT_MAC_USE_COCOA
+ // We check if the window was maximized during this invocation. If so, we need to record the
+ // starting position as 0,0.
+ Q_D(const QWidget);
+ QRect newFramePosition = frameGeometry();
+ QRect newNormalPosition = normalGeometry();
+ if(d->topData()->wasMaximized && !(windowState() & Qt::WindowMaximized)) {
+ // Change the starting position
+ newFramePosition.moveTo(0, 0);
+ newNormalPosition.moveTo(0, 0);
+ }
+#endif // QT_MAC_USE_COCOA
QByteArray array;
QDataStream stream(&array, QIODevice::WriteOnly);
stream.setVersion(QDataStream::Qt_4_0);
@@ -6763,8 +6821,13 @@ QByteArray QWidget::saveGeometry() const
stream << magicNumber
<< majorVersion
<< minorVersion
+#ifdef QT_MAC_USE_COCOA
+ << newFramePosition
+ << newNormalPosition
+#else
<< frameGeometry()
<< normalGeometry()
+#endif // QT_MAC_USE_COCOA
<< qint32(QApplication::desktop()->screenNumber(this))
<< quint8(windowState() & Qt::WindowMaximized)
<< quint8(windowState() & Qt::WindowFullScreen);
@@ -8542,9 +8605,11 @@ bool QWidget::event(QEvent *event)
#endif // Q_WS_MAC
break;
}
+#ifndef QT_NO_GESTURES
case QEvent::Gesture:
event->ignore();
break;
+#endif
#ifndef QT_NO_PROPERTIES
case QEvent::DynamicPropertyChange: {
const QByteArray &propName = static_cast<QDynamicPropertyChangeEvent *>(event)->propertyName();
@@ -9667,46 +9732,58 @@ QWidget *QWidget::childAt(const QPoint &p) const
QWidget *QWidgetPrivate::childAt_helper(const QPoint &p, bool ignoreChildrenInDestructor) const
{
- Q_Q(const QWidget);
+ if (children.isEmpty())
+ return 0;
+
#ifdef Q_WS_MAC
+ Q_Q(const QWidget);
+ // Unified tool bars on the Mac require special handling since they live outside
+ // QMainWindow's geometry(). See commit: 35667fd45ada49269a5987c235fdedfc43e92bb8
bool includeFrame = q->isWindow() && qobject_cast<const QMainWindow *>(q)
&& static_cast<const QMainWindow *>(q)->unifiedTitleAndToolBarOnMac();
+ if (includeFrame)
+ return childAtRecursiveHelper(p, ignoreChildrenInDestructor, includeFrame);
#endif
- if (
-#ifdef Q_WS_MAC
- !includeFrame &&
-#endif
- !q->rect().contains(p))
+ if (!pointInsideRectAndMask(p))
return 0;
+ return childAtRecursiveHelper(p, ignoreChildrenInDestructor);
+}
- for (int i = children.size(); i > 0 ;) {
- --i;
- QWidget *w = qobject_cast<QWidget *>(children.at(i));
- if (w && !w->isWindow() && !w->isHidden()
- && (w->geometry().contains(p)
-#ifdef Q_WS_MAC
- || (includeFrame && w->geometry().contains(qt_mac_nativeMapFromParent(w, p)))
+QWidget *QWidgetPrivate::childAtRecursiveHelper(const QPoint &p, bool ignoreChildrenInDestructor, bool includeFrame) const
+{
+#ifndef Q_WS_MAC
+ Q_UNUSED(includeFrame);
#endif
- )) {
- if (ignoreChildrenInDestructor && w->data->in_destructor)
- continue;
- if (w->testAttribute(Qt::WA_TransparentForMouseEvents))
- continue;
- QPoint childPoint = w->mapFromParent(p);
-#ifdef Q_WS_MAC
- if (includeFrame && !w->geometry().contains(p))
- childPoint = qt_mac_nativeMapFromParent(w, p);
-#endif
- if (QWidget *t = w->d_func()->childAt_helper(childPoint, ignoreChildrenInDestructor))
- return t;
- // if WMouseNoMask is set the widget mask is ignored, if
- // the widget has no mask then the WMouseNoMask flag has no
- // effect
- if (w->testAttribute(Qt::WA_MouseNoMask) || w->mask().contains(childPoint)
- || w->mask().isEmpty())
- return w;
+ for (int i = children.size() - 1; i >= 0; --i) {
+ QWidget *child = qobject_cast<QWidget *>(children.at(i));
+ if (!child || child->isWindow() || child->isHidden() || child->testAttribute(Qt::WA_TransparentForMouseEvents)
+ || (ignoreChildrenInDestructor && child->data->in_destructor)) {
+ continue;
}
+
+ // Map the point 'p' from parent coordinates to child coordinates.
+ QPoint childPoint = p;
+#ifdef Q_WS_MAC
+ // 'includeFrame' is true if the child's parent is a top-level QMainWindow with an unified tool bar.
+ // An unified tool bar on the Mac lives outside QMainWindow's geometry(), so a normal
+ // QWidget::mapFromParent won't do the trick.
+ if (includeFrame && qobject_cast<QToolBar *>(child))
+ childPoint = qt_mac_nativeMapFromParent(child, p);
+ else
+#endif
+ childPoint -= child->data->crect.topLeft();
+
+ // Check if the point hits the child.
+ if (!child->d_func()->pointInsideRectAndMask(childPoint))
+ continue;
+
+ // Do the same for the child's descendants.
+ if (QWidget *w = child->d_func()->childAtRecursiveHelper(childPoint, ignoreChildrenInDestructor))
+ return w;
+
+ // We have found our target; namely the child at position 'p'.
+ return child;
}
return 0;
}
@@ -12005,6 +12082,7 @@ QGraphicsProxyWidget *QWidget::graphicsProxyWidget() const
Synonym for QList<QWidget *>.
*/
+#ifndef QT_NO_GESTURES
/*!
Subscribes the widget to a given \a gesture with specific \a flags.
@@ -12032,7 +12110,7 @@ void QWidget::ungrabGesture(Qt::GestureType gesture)
manager->cleanupCachedGestures(this, gesture);
}
}
-
+#endif // QT_NO_GESTURES
/*!
\typedef WId
diff --git a/src/gui/kernel/qwidget.h b/src/gui/kernel/qwidget.h
index 598e877a50..740f4fff86 100644
--- a/src/gui/kernel/qwidget.h
+++ b/src/gui/kernel/qwidget.h
@@ -361,8 +361,10 @@ public:
void setGraphicsEffect(QGraphicsEffect *effect);
#endif //QT_NO_GRAPHICSEFFECT
+#ifndef QT_NO_GESTURES
void grabGesture(Qt::GestureType type, Qt::GestureFlags flags = Qt::GestureFlags());
void ungrabGesture(Qt::GestureType type);
+#endif
public Q_SLOTS:
void setWindowTitle(const QString &);
@@ -749,8 +751,10 @@ private:
friend class QGraphicsProxyWidgetPrivate;
friend class QStyleSheetStyle;
friend struct QWidgetExceptionCleaner;
+#ifndef QT_NO_GESTURES
friend class QGestureManager;
friend class QWinNativePanGestureRecognizer;
+#endif // QT_NO_GESTURES
friend class QWidgetEffectSourcePrivate;
#ifdef Q_WS_MAC
diff --git a/src/gui/kernel/qwidget_mac.mm b/src/gui/kernel/qwidget_mac.mm
index e29b755f71..280712aa70 100644
--- a/src/gui/kernel/qwidget_mac.mm
+++ b/src/gui/kernel/qwidget_mac.mm
@@ -752,6 +752,7 @@ static OSWindowRef qt_mac_create_window(QWidget *, WindowClass wclass, WindowAtt
return window;
}
+#ifndef QT_NO_GESTURES
#if MAC_OS_X_VERSION_MAX_ALLOWED < MAC_OS_X_VERSION_10_6
/* We build the release package against the 10.4 SDK.
So, to enable gestures for applications running on
@@ -768,6 +769,7 @@ enum {
kEventParamMagnificationAmount = 'magn'
};
#endif
+#endif // QT_NO_GESTURES
// window events
static EventTypeSpec window_events[] = {
@@ -1076,6 +1078,7 @@ OSStatus QWidgetPrivate::qt_window_event(EventHandlerCallRef er, EventRef event,
handled_event = false;
break; }
+#ifndef QT_NO_GESTURES
case kEventClassGesture: {
// First, find the widget that was under
// the mouse when the gesture happened:
@@ -1142,6 +1145,7 @@ OSStatus QWidgetPrivate::qt_window_event(EventHandlerCallRef er, EventRef event,
QApplication::sendSpontaneousEvent(widget, &qNGEvent);
break; }
+#endif // QT_NO_GESTURES
default:
handled_event = false;
@@ -2684,6 +2688,7 @@ QWidget::macCGHandle() const
void QWidget::destroy(bool destroyWindow, bool destroySubWindows)
{
Q_D(QWidget);
+ d->aboutToDestroy();
if (!isWindow() && parentWidget())
parentWidget()->d_func()->invalidateBuffer(d->effectiveRectFor(geometry()));
d->deactivateWidgetCleanup();
@@ -3824,9 +3829,35 @@ void QWidgetPrivate::raise_sys()
#if QT_MAC_USE_COCOA
QMacCocoaAutoReleasePool pool;
if (isRealWindow()) {
- // Calling orderFront shows the window on Cocoa too.
+ // With the introduction of spaces it is not as simple as just raising the window.
+ // First we need to check if we are in the right space. If we are, then we just continue
+ // as usual. The problem comes when we are not in the active space. There are two main cases:
+ // 1. Our parent was moved to a new space. In this case we want the window to be raised
+ // in the same space as its parent.
+ // 2. We don't have a parent. For this case we will just raise the window and let Cocoa
+ // switch to the corresponding space.
+ // NOTICE: There are a lot of corner cases here. We are keeping this simple for now, if
+ // required we will introduce special handling for some of them.
if (!q->testAttribute(Qt::WA_DontShowOnScreen) && q->isVisible()) {
- [qt_mac_window_for(q) orderFront:qt_mac_window_for(q)];
+ OSWindowRef window = qt_mac_window_for(q);
+ // isOnActiveSpace is available only from 10.6 onwards, so we need to check if it is
+ // available before calling it.
+ if([window respondsToSelector:@selector(isOnActiveSpace)]) {
+ if(![window performSelector:@selector(isOnActiveSpace)]) {
+ QWidget *parentWidget = q->parentWidget();
+ if(parentWidget) {
+ OSWindowRef parentWindow = qt_mac_window_for(parentWidget);
+ if(parentWindow && [parentWindow isOnActiveSpace]) {
+ // The window was created in a different space. Therefore if we want
+ // to show it in the current space we need to recreate it in the new
+ // space.
+ recreateMacWindow();
+ window = qt_mac_window_for(q);
+ }
+ }
+ }
+ }
+ [window orderFront:window];
}
if (qt_mac_raise_process) { //we get to be the active process now
ProcessSerialNumber psn;
@@ -3964,10 +3995,10 @@ static void qt_mac_update_widget_position(QWidget *q, QRect oldRect, QRect newRe
(oldRect.isValid() == false || newRect.isValid() == false) ||
// the position update is a part of a drag-and-drop operation
- QDragManager::self()->object ||
-
- // we are on Panther (no HIViewSetNeedsDisplayInRect)
- QSysInfo::MacintoshVersion < QSysInfo::MV_10_4
+ QDragManager::self()->object ||
+
+ // we are on Panther (no HIViewSetNeedsDisplayInRect)
+ QSysInfo::MacintoshVersion < QSysInfo::MV_10_4
){
HIViewSetFrame(view, &bounds);
return;
diff --git a/src/gui/kernel/qwidget_p.h b/src/gui/kernel/qwidget_p.h
index e0b8a67862..91cd1c5ada 100644
--- a/src/gui/kernel/qwidget_p.h
+++ b/src/gui/kernel/qwidget_p.h
@@ -113,13 +113,53 @@ class QWidgetItemV2;
class QStyle;
+class Q_AUTOTEST_EXPORT QRefCountedWidgetBackingStore
+{
+public:
+ QRefCountedWidgetBackingStore();
+ ~QRefCountedWidgetBackingStore();
+
+ void create(QWidget *tlw);
+ void destroy();
+
+ void ref();
+ void deref();
+
+ inline QWidgetBackingStore* data()
+ {
+ return m_ptr;
+ }
+
+ inline QWidgetBackingStore* operator->()
+ {
+ return m_ptr;
+ }
+
+ inline QWidgetBackingStore& operator*()
+ {
+ return *m_ptr;
+ }
+
+ inline operator bool() const
+ {
+ return (0 != m_ptr);
+ }
+
+private:
+ Q_DISABLE_COPY(QRefCountedWidgetBackingStore)
+
+private:
+ QWidgetBackingStore* m_ptr;
+ int m_count;
+};
+
struct QTLWExtra {
// *************************** Cross-platform variables *****************************
// Regular pointers (keep them together to avoid gaps on 64 bits architectures).
QIcon *icon; // widget icon
QPixmap *iconPixmap;
- QWidgetBackingStore *backingStore;
+ QRefCountedWidgetBackingStore backingStore;
QWindowSurface *windowSurface;
QPainter *sharedPainter;
@@ -173,6 +213,14 @@ struct QTLWExtra {
WindowGroupRef group;
IconRef windowIcon; // the current window icon, if set with setWindowIcon_sys.
quint32 savedWindowAttributesFromMaximized; // Saved attributes from when the calling updateMaximizeButton_sys()
+#ifdef QT_MAC_USE_COCOA
+ // This value is just to make sure we maximize and restore to the right location, yet we allow apps to be maximized and
+ // manually resized.
+ // The name is misleading, since this is set when maximizing the window. It is a hint to saveGeometry(..) to record the
+ // starting position as 0,0 instead of the normal starting position.
+ bool wasMaximized;
+#endif // QT_MAC_USE_COCOA
+
#elif defined(Q_WS_QWS) // <--------------------------------------------------------- QWS
#ifndef QT_NO_QWS_MANAGER
QWSManager *qwsManager;
@@ -499,13 +547,20 @@ public:
bool setMinimumSize_helper(int &minw, int &minh);
bool setMaximumSize_helper(int &maxw, int &maxh);
void setConstraints_sys();
+ bool pointInsideRectAndMask(const QPoint &) const;
QWidget *childAt_helper(const QPoint &, bool) const;
+ QWidget *childAtRecursiveHelper(const QPoint &p, bool, bool includeFrame = false) const;
void updateGeometry_helper(bool forceUpdate);
void getLayoutItemMargins(int *left, int *top, int *right, int *bottom) const;
void setLayoutItemMargins(int left, int top, int right, int bottom);
void setLayoutItemMargins(QStyle::SubElement element, const QStyleOption *opt = 0);
+ // aboutToDestroy() is called just before the contents of
+ // QWidget::destroy() is executed. It's used to signal QWidget
+ // sub-classes that their internals are about to be released.
+ virtual void aboutToDestroy() {}
+
QInputContext *inputContext() const;
inline QWidget *effectiveFocusWidget() {
QWidget *w = q_func();
@@ -682,7 +737,9 @@ public:
#ifndef QT_NO_ACTION
QList<QAction*> actions;
#endif
+#ifndef QT_NO_GESTURES
QMap<Qt::GestureType, Qt::GestureFlags> gestureContext;
+#endif
// Bit fields.
uint high_attributes[4]; // the low ones are in QWidget::widget_attributes
@@ -711,8 +768,9 @@ public:
void updateX11AcceptFocus();
#elif defined(Q_WS_WIN) // <--------------------------------------------------------- WIN
uint noPaintOnScreen : 1; // see qwidget_win.cpp ::paintEngine()
+#ifndef QT_NO_GESTURES
uint nativeGesturePanEnabled : 1;
-
+#endif
bool shouldShowMaximizeButton();
void winUpdateIsOpaque();
void reparentChildren();
@@ -930,11 +988,18 @@ inline void QWidgetPrivate::setSharedPainter(QPainter *painter)
x->sharedPainter = painter;
}
+inline bool QWidgetPrivate::pointInsideRectAndMask(const QPoint &p) const
+{
+ Q_Q(const QWidget);
+ return q->rect().contains(p) && (!extra || !extra->hasMask || q->testAttribute(Qt::WA_MouseNoMask)
+ || extra->mask.contains(p));
+}
+
inline QWidgetBackingStore *QWidgetPrivate::maybeBackingStore() const
{
Q_Q(const QWidget);
QTLWExtra *x = q->window()->d_func()->maybeTopData();
- return x ? x->backingStore : 0;
+ return x ? x->backingStore.data() : 0;
}
QT_END_NAMESPACE
diff --git a/src/gui/kernel/qwidget_qws.cpp b/src/gui/kernel/qwidget_qws.cpp
index b827e8b948..31451362f1 100644
--- a/src/gui/kernel/qwidget_qws.cpp
+++ b/src/gui/kernel/qwidget_qws.cpp
@@ -256,7 +256,7 @@ void QWidgetPrivate::create_sys(WId window, bool initializeWindow, bool /*destro
void QWidget::destroy(bool destroyWindow, bool destroySubWindows)
{
Q_D(QWidget);
-
+ d->aboutToDestroy();
if (!isWindow() && parentWidget())
parentWidget()->d_func()->invalidateBuffer(d->effectiveRectFor(geometry()));
diff --git a/src/gui/kernel/qwidget_s60.cpp b/src/gui/kernel/qwidget_s60.cpp
index a0429d3c96..68f9470817 100644
--- a/src/gui/kernel/qwidget_s60.cpp
+++ b/src/gui/kernel/qwidget_s60.cpp
@@ -387,7 +387,6 @@ void QWidgetPrivate::create_sys(WId window, bool /* initializeWindow */, bool de
| EPointerFilterMove | EPointerFilterDrag, 0);
drawableWindow->EnableVisibilityChangeEvents();
- s60UpdateIsOpaque();
}
q->setAttribute(Qt::WA_WState_Created);
@@ -400,6 +399,9 @@ void QWidgetPrivate::create_sys(WId window, bool /* initializeWindow */, bool de
// this generates a WinIdChanged event.
setWinId(control.take());
+ if (!desktop)
+ s60UpdateIsOpaque(); // must be called after setWinId()
+
} else if (q->testAttribute(Qt::WA_NativeWindow) || paintOnScreen()) { // create native child widget
QScopedPointer<QSymbianControl> control( q_check_ptr(new QSymbianControl(q)) );
@@ -431,6 +433,7 @@ void QWidgetPrivate::create_sys(WId window, bool /* initializeWindow */, bool de
// Request mouse move events.
drawableWindow->PointerFilter(EPointerFilterEnterExit
| EPointerFilterMove | EPointerFilterDrag, 0);
+ drawableWindow->EnableVisibilityChangeEvents();
if (q->isVisible() && q->testAttribute(Qt::WA_Mapped)) {
activateSymbianWindow(control.data());
@@ -485,11 +488,8 @@ void QWidgetPrivate::show_sys()
&& !S60->buttonGroupContainer() && !S60->statusPane()) {
bool isFullscreen = q->windowState() & Qt::WindowFullScreen;
- bool cbaRequested = q->windowFlags() & Qt::WindowSoftkeysVisibleHint;
- // If the window is fullscreen and has not explicitly requested that the CBA be visible
- // we delay the creation even more.
- if ((!isFullscreen || cbaRequested) && !q->testAttribute(Qt::WA_DontShowOnScreen)) {
+ if (!q->testAttribute(Qt::WA_DontShowOnScreen)) {
// Create the status pane and CBA here
CEikAppUi *ui = static_cast<CEikAppUi *>(S60->appUi());
@@ -909,14 +909,12 @@ void QWidgetPrivate::registerDropSite(bool /* on */)
void QWidgetPrivate::createTLSysExtra()
{
- extra->topextra->backingStore = 0;
extra->topextra->inExpose = 0;
}
void QWidgetPrivate::deleteTLSysExtra()
{
- delete extra->topextra->backingStore;
- extra->topextra->backingStore = 0;
+ extra->topextra->backingStore.destroy();
}
void QWidgetPrivate::createSysExtra()
@@ -1179,6 +1177,7 @@ void QWidget::setWindowState(Qt::WindowStates newstate)
void QWidget::destroy(bool destroyWindow, bool destroySubWindows)
{
Q_D(QWidget);
+ d->aboutToDestroy();
if (!isWindow() && parentWidget())
parentWidget()->d_func()->invalidateBuffer(geometry());
d->deactivateWidgetCleanup();
diff --git a/src/gui/kernel/qwidget_win.cpp b/src/gui/kernel/qwidget_win.cpp
index 7d647b79ee..9c65aa03dc 100644
--- a/src/gui/kernel/qwidget_win.cpp
+++ b/src/gui/kernel/qwidget_win.cpp
@@ -123,9 +123,11 @@ static PtrWTClose ptrWTClose = 0;
static PtrWTInfo ptrWTInfo = 0;
static PtrWTQueueSizeGet ptrWTQueueSizeGet = 0;
static PtrWTQueueSizeSet ptrWTQueueSizeSet = 0;
+#ifndef QT_NO_TABLETEVENT
static void init_wintab_functions();
static void qt_tablet_init();
static void qt_tablet_cleanup();
+#endif // QT_NO_TABLETEVENT
extern HCTX qt_tablet_context;
extern bool qt_tablet_tilt_support;
@@ -136,6 +138,8 @@ QWidget* qt_get_tablet_widget()
}
extern bool qt_is_gui_used;
+
+#ifndef QT_NO_TABLETEVENT
static void init_wintab_functions()
{
#if defined(Q_OS_WINCE)
@@ -227,6 +231,7 @@ static void qt_tablet_cleanup()
delete qt_tablet_widget;
qt_tablet_widget = 0;
}
+#endif // QT_NO_TABLETEVENT
const QString qt_reg_winclass(QWidget *w); // defined in qapplication_win.cpp
@@ -512,8 +517,10 @@ void QWidgetPrivate::create_sys(WId window, bool initializeWindow, bool destroyO
DestroyWindow(destroyw);
}
+#ifndef QT_NO_TABLETEVENT
if (q != qt_tablet_widget && QWidgetPrivate::mapper)
qt_tablet_init();
+#endif // QT_NO_TABLETEVENT
if (q->testAttribute(Qt::WA_DropSiteRegistered))
registerDropSite(true);
@@ -537,6 +544,7 @@ void QWidgetPrivate::create_sys(WId window, bool initializeWindow, bool destroyO
void QWidget::destroy(bool destroyWindow, bool destroySubWindows)
{
Q_D(QWidget);
+ d->aboutToDestroy();
if (!isWindow() && parentWidget())
parentWidget()->d_func()->invalidateBuffer(d->effectiveRectFor(geometry()));
d->deactivateWidgetCleanup();
@@ -2068,7 +2076,7 @@ void QWidgetPrivate::registerTouchWindow()
void QWidgetPrivate::winSetupGestures()
{
-#if !defined(QT_NO_NATIVE_GESTURES)
+#if !defined(QT_NO_GESTURES) && !defined(QT_NO_NATIVE_GESTURES)
Q_Q(QWidget);
if (!q || !q->isVisible() || !nativeGesturePanEnabled)
return;
diff --git a/src/gui/kernel/qwidget_wince.cpp b/src/gui/kernel/qwidget_wince.cpp
index 509847b6d8..fc1e52caf9 100644
--- a/src/gui/kernel/qwidget_wince.cpp
+++ b/src/gui/kernel/qwidget_wince.cpp
@@ -63,6 +63,7 @@ typedef BOOL (API *PtrWTGet)(HCTX, LPLOGCONTEXT);
typedef int (API *PtrWTQueueSizeGet)(HCTX);
typedef BOOL (API *PtrWTQueueSizeSet)(HCTX, int);
+#ifndef QT_NO_TABLETEVENT
static void qt_tablet_init_wce();
static void qt_tablet_cleanup_wce();
@@ -135,6 +136,7 @@ static void qt_tablet_cleanup_wce() {
delete qt_tablet_widget;
qt_tablet_widget = 0;
}
+#endif // QT_NO_TABLETEVENT
// The internal qWinRequestConfig, defined in qapplication_win.cpp, stores move,
@@ -358,8 +360,10 @@ void QWidgetPrivate::create_sys(WId window, bool initializeWindow, bool destroyO
DestroyWindow(destroyw);
}
+#ifndef QT_NO_TABLETEVENT
if (q != qt_tablet_widget && QWidgetPrivate::mapper)
qt_tablet_init_wce();
+#endif // QT_NO_TABLETEVENT
if (q->testAttribute(Qt::WA_DropSiteRegistered))
registerDropSite(true);
diff --git a/src/gui/kernel/qwidget_x11.cpp b/src/gui/kernel/qwidget_x11.cpp
index 37ac6bff10..e01489fb1f 100644
--- a/src/gui/kernel/qwidget_x11.cpp
+++ b/src/gui/kernel/qwidget_x11.cpp
@@ -1023,6 +1023,7 @@ bool QWidgetPrivate::isBackgroundInherited() const
void QWidget::destroy(bool destroyWindow, bool destroySubWindows)
{
Q_D(QWidget);
+ d->aboutToDestroy();
if (!isWindow() && parentWidget())
parentWidget()->d_func()->invalidateBuffer(d->effectiveRectFor(geometry()));
d->deactivateWidgetCleanup();
@@ -3000,7 +3001,7 @@ Picture QX11Data::getSolidFill(int screen, const QColor &c)
return X11->solid_fills[i].picture;
}
// none found, replace one
- int i = rand() % 16;
+ int i = qrand() % 16;
if (X11->solid_fills[i].screen != screen && X11->solid_fills[i].picture) {
XRenderFreePicture (X11->display, X11->solid_fills[i].picture);
diff --git a/src/gui/kernel/qwinnativepangesturerecognizer_win.cpp b/src/gui/kernel/qwinnativepangesturerecognizer_win.cpp
index 0bddbf6d6f..780de5d9dd 100644
--- a/src/gui/kernel/qwinnativepangesturerecognizer_win.cpp
+++ b/src/gui/kernel/qwinnativepangesturerecognizer_win.cpp
@@ -50,6 +50,8 @@
#include "private/qapplication_p.h"
#include "private/qwidget_p.h"
+#ifndef QT_NO_GESTURES
+
QT_BEGIN_NAMESPACE
#if !defined(QT_NO_NATIVE_GESTURES)
@@ -127,3 +129,5 @@ void QWinNativePanGestureRecognizer::reset(QGesture *state)
#endif // QT_NO_NATIVE_GESTURES
QT_END_NAMESPACE
+
+#endif // QT_NO_GESTURES
diff --git a/src/gui/kernel/qwinnativepangesturerecognizer_win_p.h b/src/gui/kernel/qwinnativepangesturerecognizer_win_p.h
index 146b067b5e..9d0e6f77b0 100644
--- a/src/gui/kernel/qwinnativepangesturerecognizer_win_p.h
+++ b/src/gui/kernel/qwinnativepangesturerecognizer_win_p.h
@@ -54,38 +54,8 @@
//
#include <QGestureRecognizer>
-#include <objbase.h>
-class IInkRectangle;
-class TabletHardwareCapabilities;
-class TabletPropertyMetricUnit;
-DECLARE_INTERFACE_(IInkTablet, IDispatch)
-{
- STDMETHOD(get_Name)(THIS_ BSTR *Name) PURE;
- STDMETHOD(get_PlugAndPlayId)(THIS_ BSTR *Id) PURE;
- STDMETHOD(get_MaximumInputRectangle)(THIS_ IInkRectangle **Rectangle) PURE;
- STDMETHOD(get_HardwareCapabilities)(THIS_ TabletHardwareCapabilities *Capabilities) PURE;
- STDMETHOD(IsPacketPropertySupported)(THIS_ BSTR packetPropertyName) PURE;
- STDMETHOD(GetPropertyMetrics)(THIS_ BSTR propertyName, long *Minimum, long *Maximum, TabletPropertyMetricUnit *Units, float *Resolution) PURE;
-};
-enum TabletDeviceKind
-{
- TDK_Mouse = 0,
- TDK_Pen = 1,
- TDK_Touch = 2
-};
-DECLARE_INTERFACE_(IInkTablet2, IDispatch)
-{
- STDMETHOD(get_DeviceKind)(THIS_ TabletDeviceKind *Kind) PURE;
-};
-DECLARE_INTERFACE_(IInkTablets, IDispatch)
-{
- STDMETHOD(get_Count)(THIS_ long *Count) PURE;
- STDMETHOD(get__NewEnum)(THIS_ IUnknown **_NewEnum) PURE;
- STDMETHOD(get_DefaultTablet)(THIS_ IInkTablet **DefaultTablet) PURE;
- STDMETHOD(Item)(THIS_ long Index, IInkTablet **Tablet) PURE;
- STDMETHOD(IsPacketPropertySupported)(THIS_ BSTR packetPropertyName, VARIANT_BOOL *Supported) PURE;
-};
+#ifndef QT_NO_GESTURES
QT_BEGIN_NAMESPACE
@@ -105,4 +75,6 @@ public:
QT_END_NAMESPACE
+#endif // QT_NO_GESTURES
+
#endif // QWINNATIVEPANGESTURERECOGNIZER_WIN_P_H
diff --git a/src/gui/math3d/qgenericmatrix.cpp b/src/gui/math3d/qgenericmatrix.cpp
index 96405a8b6c..be30cb67ab 100644
--- a/src/gui/math3d/qgenericmatrix.cpp
+++ b/src/gui/math3d/qgenericmatrix.cpp
@@ -252,7 +252,7 @@ QT_BEGIN_NAMESPACE
Writes the given \a matrix to the given \a stream and returns a
reference to the stream.
- \sa {Format of the QDataStream Operators}
+ \sa {Serializing Qt Data Types}
*/
/*!
@@ -262,7 +262,7 @@ QT_BEGIN_NAMESPACE
Reads a NxM matrix from the given \a stream into the given \a matrix
and returns a reference to the stream.
- \sa {Format of the QDataStream Operators}
+ \sa {Serializing Qt Data Types}
*/
#endif
diff --git a/src/gui/math3d/qmatrix4x4.cpp b/src/gui/math3d/qmatrix4x4.cpp
index 62d740ce31..16c7f97d43 100644
--- a/src/gui/math3d/qmatrix4x4.cpp
+++ b/src/gui/math3d/qmatrix4x4.cpp
@@ -1878,7 +1878,7 @@ QDebug operator<<(QDebug dbg, const QMatrix4x4 &m)
Writes the given \a matrix to the given \a stream and returns a
reference to the stream.
- \sa {Format of the QDataStream Operators}
+ \sa {Serializing Qt Data Types}
*/
QDataStream &operator<<(QDataStream &stream, const QMatrix4x4 &matrix)
@@ -1896,7 +1896,7 @@ QDataStream &operator<<(QDataStream &stream, const QMatrix4x4 &matrix)
Reads a 4x4 matrix from the given \a stream into the given \a matrix
and returns a reference to the stream.
- \sa {Format of the QDataStream Operators}
+ \sa {Serializing Qt Data Types}
*/
QDataStream &operator>>(QDataStream &stream, QMatrix4x4 &matrix)
diff --git a/src/gui/math3d/qquaternion.cpp b/src/gui/math3d/qquaternion.cpp
index ad71836cd9..2fd66ebc44 100644
--- a/src/gui/math3d/qquaternion.cpp
+++ b/src/gui/math3d/qquaternion.cpp
@@ -595,7 +595,7 @@ QDebug operator<<(QDebug dbg, const QQuaternion &q)
Writes the given \a quaternion to the given \a stream and returns a
reference to the stream.
- \sa {Format of the QDataStream Operators}
+ \sa {Serializing Qt Data Types}
*/
QDataStream &operator<<(QDataStream &stream, const QQuaternion &quaternion)
@@ -612,7 +612,7 @@ QDataStream &operator<<(QDataStream &stream, const QQuaternion &quaternion)
Reads a quaternion from the given \a stream into the given \a quaternion
and returns a reference to the stream.
- \sa {Format of the QDataStream Operators}
+ \sa {Serializing Qt Data Types}
*/
QDataStream &operator>>(QDataStream &stream, QQuaternion &quaternion)
diff --git a/src/gui/math3d/qvector2d.cpp b/src/gui/math3d/qvector2d.cpp
index b67e8a12e2..6a5cfc8651 100644
--- a/src/gui/math3d/qvector2d.cpp
+++ b/src/gui/math3d/qvector2d.cpp
@@ -434,7 +434,7 @@ QDebug operator<<(QDebug dbg, const QVector2D &vector)
Writes the given \a vector to the given \a stream and returns a
reference to the stream.
- \sa {Format of the QDataStream Operators}
+ \sa {Serializing Qt Data Types}
*/
QDataStream &operator<<(QDataStream &stream, const QVector2D &vector)
@@ -450,7 +450,7 @@ QDataStream &operator<<(QDataStream &stream, const QVector2D &vector)
Reads a 2D vector from the given \a stream into the given \a vector
and returns a reference to the stream.
- \sa {Format of the QDataStream Operators}
+ \sa {Serializing Qt Data Types}
*/
QDataStream &operator>>(QDataStream &stream, QVector2D &vector)
diff --git a/src/gui/math3d/qvector3d.cpp b/src/gui/math3d/qvector3d.cpp
index 6a592b28a2..dfcce0e463 100644
--- a/src/gui/math3d/qvector3d.cpp
+++ b/src/gui/math3d/qvector3d.cpp
@@ -585,7 +585,7 @@ QDebug operator<<(QDebug dbg, const QVector3D &vector)
Writes the given \a vector to the given \a stream and returns a
reference to the stream.
- \sa {Format of the QDataStream Operators}
+ \sa {Serializing Qt Data Types}
*/
QDataStream &operator<<(QDataStream &stream, const QVector3D &vector)
@@ -602,7 +602,7 @@ QDataStream &operator<<(QDataStream &stream, const QVector3D &vector)
Reads a 3D vector from the given \a stream into the given \a vector
and returns a reference to the stream.
- \sa {Format of the QDataStream Operators}
+ \sa {Serializing Qt Data Types}
*/
QDataStream &operator>>(QDataStream &stream, QVector3D &vector)
diff --git a/src/gui/math3d/qvector4d.cpp b/src/gui/math3d/qvector4d.cpp
index f2f3cc6ed1..abff1baa32 100644
--- a/src/gui/math3d/qvector4d.cpp
+++ b/src/gui/math3d/qvector4d.cpp
@@ -538,7 +538,7 @@ QDebug operator<<(QDebug dbg, const QVector4D &vector)
Writes the given \a vector to the given \a stream and returns a
reference to the stream.
- \sa {Format of the QDataStream Operators}
+ \sa {Serializing Qt Data Types}
*/
QDataStream &operator<<(QDataStream &stream, const QVector4D &vector)
@@ -555,7 +555,7 @@ QDataStream &operator<<(QDataStream &stream, const QVector4D &vector)
Reads a 4D vector from the given \a stream into the given \a vector
and returns a reference to the stream.
- \sa {Format of the QDataStream Operators}
+ \sa {Serializing Qt Data Types}
*/
QDataStream &operator>>(QDataStream &stream, QVector4D &vector)
diff --git a/src/gui/painting/painting.pri b/src/gui/painting/painting.pri
index 8c377d8f79..37de17786c 100644
--- a/src/gui/painting/painting.pri
+++ b/src/gui/painting/painting.pri
@@ -122,6 +122,7 @@ embedded {
} else: if(!embedded_lite) {
HEADERS += \
painting/qgraphicssystem_raster_p.h \
+ painting/qgraphicssystem_runtime_p.h \
painting/qgraphicssystemfactory_p.h \
painting/qgraphicssystemplugin_p.h \
painting/qwindowsurface_raster_p.h \
@@ -129,6 +130,7 @@ embedded {
SOURCES += \
painting/qgraphicssystem_raster.cpp \
+ painting/qgraphicssystem_runtime.cpp \
painting/qgraphicssystemfactory.cpp \
painting/qgraphicssystemplugin.cpp \
painting/qwindowsurface_raster.cpp \
@@ -249,7 +251,7 @@ contains(QMAKE_MAC_XARCH, no) {
IWMMXT_SOURCES += painting/qdrawhelper_iwmmxt.cpp
}
- win32-g++|!win32:!*-icc* {
+ win32-g++*|!win32:!*-icc* {
mmx {
mmx_compiler.commands = $$QMAKE_CXX -c -Winline
@@ -418,9 +420,10 @@ neon:*-g++* {
}
contains(QT_CONFIG, zlib) {
- INCLUDEPATH += ../3rdparty/zlib
+ INCLUDEPATH += ../3rdparty/zlib
} else:!contains(QT_CONFIG, no-zlib) {
- unix:LIBS_PRIVATE += -lz
-# win32:LIBS += libz.lib
+ symbian:LIBS_PRIVATE += -llibz
+ else:if(unix|win32-g++*):LIBS_PRIVATE += -lz
+ else:LIBS += zdll.lib
}
diff --git a/src/gui/painting/qbackingstore.cpp b/src/gui/painting/qbackingstore.cpp
index b158a76017..590b9a86c9 100644
--- a/src/gui/painting/qbackingstore.cpp
+++ b/src/gui/painting/qbackingstore.cpp
@@ -935,7 +935,7 @@ void QWidgetPrivate::moveRect(const QRect &rect, int dx, int dy)
QWidgetPrivate *pd = pw->d_func();
QRect clipR(pd->clipRect());
#ifdef Q_WS_QWS
- QWidgetBackingStore *wbs = x->backingStore;
+ QWidgetBackingStore *wbs = x->backingStore.data();
QWSWindowSurface *surface = static_cast<QWSWindowSurface*>(wbs->windowSurface);
clipR = clipR.intersected(surface->clipRegion().translated(-toplevelOffset).boundingRect());
#endif
@@ -965,7 +965,7 @@ void QWidgetPrivate::moveRect(const QRect &rect, int dx, int dy)
invalidateBuffer((newRect & clipR).translated(-data.crect.topLeft()));
} else {
- QWidgetBackingStore *wbs = x->backingStore;
+ QWidgetBackingStore *wbs = x->backingStore.data();
QRegion childExpose(newRect & clipR);
if (sourceRect.isValid() && wbs->bltRect(sourceRect, dx, dy, pw))
@@ -1008,7 +1008,7 @@ void QWidgetPrivate::scrollRect(const QRect &rect, int dx, int dy)
if (x->inTopLevelResize)
return;
- QWidgetBackingStore *wbs = x->backingStore;
+ QWidgetBackingStore *wbs = x->backingStore.data();
if (!wbs)
return;
diff --git a/src/gui/painting/qbezier.cpp b/src/gui/painting/qbezier.cpp
index 7ff2a37a58..2a9b31a549 100644
--- a/src/gui/painting/qbezier.cpp
+++ b/src/gui/painting/qbezier.cpp
@@ -93,7 +93,7 @@ QBezier QBezier::fromPoints(const QPointF &p1, const QPointF &p2,
/*!
\internal
*/
-QPolygonF QBezier::toPolygon() const
+QPolygonF QBezier::toPolygon(qreal bezier_flattening_threshold) const
{
// flattening is done by splitting the bezier until we can replace the segment by a straight
// line. We split further until the control points are close enough to the line connecting the
@@ -108,7 +108,7 @@ QPolygonF QBezier::toPolygon() const
QPolygonF polygon;
polygon.append(QPointF(x1, y1));
- addToPolygon(&polygon);
+ addToPolygon(&polygon, bezier_flattening_threshold);
return polygon;
}
@@ -117,34 +117,6 @@ QBezier QBezier::mapBy(const QTransform &transform) const
return QBezier::fromPoints(transform.map(pt1()), transform.map(pt2()), transform.map(pt3()), transform.map(pt4()));
}
-//0.05 is really low, but required for scaled-up beziers...
-static const qreal flatness = 0.05;
-
-//based on "Fast, precise flattening of cubic Bezier path and offset curves"
-// by T. F. Hain, A. L. Ahmad, S. V. R. Racherla and D. D. Langan
-static inline void flattenBezierWithoutInflections(QBezier &bez,
- QPolygonF *&p)
-{
- QBezier left;
-
- while (1) {
- qreal dx = bez.x2 - bez.x1;
- qreal dy = bez.y2 - bez.y1;
-
- qreal normalized = qSqrt(dx * dx + dy * dy);
- if (qFuzzyIsNull(normalized))
- break;
-
- qreal d = qAbs(dx * (bez.y3 - bez.y2) - dy * (bez.x3 - bez.x2));
-
- qreal t = qSqrt(4. / 3. * normalized * flatness / d);
- if (t > 1 || qFuzzyIsNull(t - (qreal)1.))
- break;
- bez.parameterSplitLeft(t, &left);
- p->append(bez.pt1());
- }
-}
-
QBezier QBezier::getSubRange(qreal t0, qreal t1) const
{
QBezier result;
@@ -223,7 +195,7 @@ static inline bool findInflections(qreal a, qreal b, qreal c,
}
-void QBezier::addToPolygon(QPolygonF *polygon) const
+void QBezier::addToPolygon(QPolygonF *polygon, qreal bezier_flattening_threshold) const
{
QBezier beziers[32];
beziers[0] = *this;
@@ -243,7 +215,7 @@ void QBezier::addToPolygon(QPolygonF *polygon) const
qAbs(b->x1 - b->x3) + qAbs(b->y1 - b->y3);
l = 1.;
}
- if (d < flatness*l || b == beziers + 31) {
+ if (d < bezier_flattening_threshold*l || b == beziers + 31) {
// good enough, we pop it off and add the endpoint
polygon->append(QPointF(b->x4, b->y4));
--b;
@@ -255,55 +227,6 @@ void QBezier::addToPolygon(QPolygonF *polygon) const
}
}
-void QBezier::addToPolygonMixed(QPolygonF *polygon) const
-{
- qreal ax = -x1 + 3*x2 - 3*x3 + x4;
- qreal ay = -y1 + 3*y2 - 3*y3 + y4;
- qreal bx = 3*x1 - 6*x2 + 3*x3;
- qreal by = 3*y1 - 6*y2 + 3*y3;
- qreal cx = -3*x1 + 3*x2;
- qreal cy = -3*y1 + 2*y2;
- qreal a = 6 * (ay * bx - ax * by);
- qreal b = 6 * (ay * cx - ax * cy);
- qreal c = 2 * (by * cx - bx * cy);
-
- if ((qFuzzyIsNull(a) && qFuzzyIsNull(b)) ||
- (b * b - 4 * a *c) < 0) {
- QBezier bez(*this);
- flattenBezierWithoutInflections(bez, polygon);
- polygon->append(QPointF(x4, y4));
- } else {
- QBezier beziers[32];
- beziers[0] = *this;
- QBezier *b = beziers;
-
- while (b >= beziers) {
- // check if we can pop the top bezier curve from the stack
- qreal y4y1 = b->y4 - b->y1;
- qreal x4x1 = b->x4 - b->x1;
- qreal l = qAbs(x4x1) + qAbs(y4y1);
- qreal d;
- if (l > 1.) {
- d = qAbs( (x4x1)*(b->y1 - b->y2) - (y4y1)*(b->x1 - b->x2) )
- + qAbs( (x4x1)*(b->y1 - b->y3) - (y4y1)*(b->x1 - b->x3) );
- } else {
- d = qAbs(b->x1 - b->x2) + qAbs(b->y1 - b->y2) +
- qAbs(b->x1 - b->x3) + qAbs(b->y1 - b->y3);
- l = 1.;
- }
- if (d < .5*l || b == beziers + 31) {
- // good enough, we pop it off and add the endpoint
- polygon->append(QPointF(b->x4, b->y4));
- --b;
- } else {
- // split, second half of the polygon goes lower into the stack
- b->split(b+1, b);
- ++b;
- }
- }
- }
-}
-
QRectF QBezier::bounds() const
{
qreal xmin = x1;
@@ -824,147 +747,4 @@ QBezier QBezier::bezierOnInterval(qreal t0, qreal t1) const
return result;
}
-
-static inline void bindInflectionPoint(const QBezier &bez, const qreal t,
- qreal *tMinus , qreal *tPlus)
-{
- if (t <= 0) {
- *tMinus = *tPlus = -1;
- return;
- } else if (t >= 1) {
- *tMinus = *tPlus = 2;
- return;
- }
-
- QBezier left, right;
- splitBezierAt(bez, t, &left, &right);
-
- qreal ax = -right.x1 + 3*right.x2 - 3*right.x3 + right.x4;
- qreal ay = -right.y1 + 3*right.y2 - 3*right.y3 + right.y4;
- qreal ex = 3 * (right.x2 - right.x3);
- qreal ey = 3 * (right.y2 - right.y3);
-
- qreal s4 = qAbs(6 * (ey * ax - ex * ay) / qSqrt(ex * ex + ey * ey)) + 0.00001f;
- qreal tf = qPow(qreal(9 * flatness / s4), qreal(1./3.));
- *tMinus = t - (1 - t) * tf;
- *tPlus = t + (1 - t) * tf;
-}
-
-void QBezier::addToPolygonIterative(QPolygonF *p) const
-{
- qreal t1, t2, tcusp;
- qreal t1min, t1plus, t2min, t2plus;
-
- qreal ax = -x1 + 3*x2 - 3*x3 + x4;
- qreal ay = -y1 + 3*y2 - 3*y3 + y4;
- qreal bx = 3*x1 - 6*x2 + 3*x3;
- qreal by = 3*y1 - 6*y2 + 3*y3;
- qreal cx = -3*x1 + 3*x2;
- qreal cy = -3*y1 + 2*y2;
-
- if (findInflections(6 * (ay * bx - ax * by),
- 6 * (ay * cx - ax * cy),
- 2 * (by * cx - bx * cy),
- &t1, &t2, &tcusp)) {
- bindInflectionPoint(*this, t1, &t1min, &t1plus);
- bindInflectionPoint(*this, t2, &t2min, &t2plus);
-
- QBezier tmpBez = *this;
- QBezier left, right, bez1, bez2, bez3;
- if (t1min > 0) {
- if (t1min >= 1) {
- flattenBezierWithoutInflections(tmpBez, p);
- } else {
- splitBezierAt(tmpBez, t1min, &left, &right);
- flattenBezierWithoutInflections(left, p);
- p->append(tmpBez.pointAt(t1min));
-
- if (t2min < t1plus) {
- if (tcusp < 1) {
- p->append(tmpBez.pointAt(tcusp));
- }
- if (t2plus < 1) {
- splitBezierAt(tmpBez, t2plus, &left, &right);
- flattenBezierWithoutInflections(right, p);
- }
- } else if (t1plus < 1) {
- if (t2min < 1) {
- splitBezierAt(tmpBez, t2min, &bez3, &right);
- splitBezierAt(bez3, t1plus, &left, &bez2);
-
- flattenBezierWithoutInflections(bez2, p);
- p->append(tmpBez.pointAt(t2min));
-
- if (t2plus < 1) {
- splitBezierAt(tmpBez, t2plus, &left, &bez2);
- flattenBezierWithoutInflections(bez2, p);
- }
- } else {
- splitBezierAt(tmpBez, t1plus, &left, &bez2);
- flattenBezierWithoutInflections(bez2, p);
- }
- }
- }
- } else if (t1plus > 0) {
- p->append(QPointF(x1, y1));
- if (t2min < t1plus) {
- if (tcusp < 1) {
- p->append(tmpBez.pointAt(tcusp));
- }
- if (t2plus < 1) {
- splitBezierAt(tmpBez, t2plus, &left, &bez2);
- flattenBezierWithoutInflections(bez2, p);
- }
- } else if (t1plus < 1) {
- if (t2min < 1) {
- splitBezierAt(tmpBez, t2min, &bez3, &right);
- splitBezierAt(bez3, t1plus, &left, &bez2);
-
- flattenBezierWithoutInflections(bez2, p);
-
- p->append(tmpBez.pointAt(t2min));
- if (t2plus < 1) {
- splitBezierAt(tmpBez, t2plus, &left, &bez2);
- flattenBezierWithoutInflections(bez2, p);
- }
- } else {
- splitBezierAt(tmpBez, t1plus, &left, &bez2);
- flattenBezierWithoutInflections(bez2, p);
- }
- }
- } else if (t2min > 0) {
- if (t2min < 1) {
- splitBezierAt(tmpBez, t2min, &bez1, &right);
- flattenBezierWithoutInflections(bez1, p);
- p->append(tmpBez.pointAt(t2min));
-
- if (t2plus < 1) {
- splitBezierAt(tmpBez, t2plus, &left, &bez2);
- flattenBezierWithoutInflections(bez2, p);
- }
- } else {
- //### in here we should check whether the area of the
- // triangle formed between pt1/pt2/pt3 is smaller
- // or equal to 0 and then do iterative flattening
- // if not we should fallback and do the recursive
- // flattening.
- flattenBezierWithoutInflections(tmpBez, p);
- }
- } else if (t2plus > 0) {
- p->append(QPointF(x1, y1));
- if (t2plus < 1) {
- splitBezierAt(tmpBez, t2plus, &left, &bez2);
- flattenBezierWithoutInflections(bez2, p);
- }
- } else {
- flattenBezierWithoutInflections(tmpBez, p);
- }
- } else {
- QBezier bez = *this;
- flattenBezierWithoutInflections(bez, p);
- }
-
- p->append(QPointF(x4, y4));
-}
-
QT_END_NAMESPACE
diff --git a/src/gui/painting/qbezier_p.h b/src/gui/painting/qbezier_p.h
index 846635fbe0..18ec11666f 100644
--- a/src/gui/painting/qbezier_p.h
+++ b/src/gui/painting/qbezier_p.h
@@ -79,10 +79,9 @@ public:
inline QPointF derivedAt(qreal t) const;
inline QPointF secondDerivedAt(qreal t) const;
- QPolygonF toPolygon() const;
- void addToPolygon(QPolygonF *p) const;
- void addToPolygonIterative(QPolygonF *p) const;
- void addToPolygonMixed(QPolygonF *p) const;
+ QPolygonF toPolygon(qreal bezier_flattening_threshold = 0.5) const;
+ void addToPolygon(QPolygonF *p, qreal bezier_flattening_threshold = 0.5) const;
+
QRectF bounds() const;
qreal length(qreal error = 0.01) const;
void addIfClose(qreal *length, qreal error) const;
diff --git a/src/gui/painting/qbrush.cpp b/src/gui/painting/qbrush.cpp
index 96d547b291..d3061d8a2b 100644
--- a/src/gui/painting/qbrush.cpp
+++ b/src/gui/painting/qbrush.cpp
@@ -48,6 +48,7 @@
#include "qline.h"
#include "qdebug.h"
#include <QtCore/qcoreapplication.h>
+#include "private/qstylehelper_p.h"
QT_BEGIN_NAMESPACE
@@ -96,9 +97,11 @@ const uchar *qt_patternForBrush(int brushStyle, bool invert)
QPixmap qt_pixmapForBrush(int brushStyle, bool invert)
{
+
QPixmap pm;
- QString key = QLatin1String("$qt-brush$") + QString::number(brushStyle)
- + QString::number((int)invert);
+ QString key = QLatin1Literal("$qt-brush$")
+ % HexString<uint>(brushStyle)
+ % QLatin1Char(invert ? '1' : '0');
if (!QPixmapCache::find(key, pm)) {
pm = QBitmap::fromData(QSize(8, 8), qt_patternForBrush(brushStyle, invert),
QImage::Format_MonoLSB);
@@ -329,8 +332,8 @@ struct QBrushDataPointerDeleter
\endtable
- For more information about painting in general, see \l{The Paint
- System} documentation.
+ For more information about painting in general, see the \l{Paint
+ System}.
\sa Qt::BrushStyle, QPainter, QColor
*/
@@ -1013,7 +1016,7 @@ QDebug operator<<(QDebug dbg, const QBrush &b)
Writes the given \a brush to the given \a stream and returns a
reference to the \a stream.
- \sa {Format of the QDataStream Operators}
+ \sa {Serializing Qt Data Types}
*/
QDataStream &operator<<(QDataStream &s, const QBrush &b)
@@ -1081,7 +1084,7 @@ QDataStream &operator<<(QDataStream &s, const QBrush &b)
Reads the given \a brush from the given \a stream and returns a
reference to the \a stream.
- \sa {Format of the QDataStream Operators}
+ \sa {Serializing Qt Data Types}
*/
QDataStream &operator>>(QDataStream &s, QBrush &b)
diff --git a/src/gui/painting/qcolor.cpp b/src/gui/painting/qcolor.cpp
index 08d5572b0a..37d7fa3b33 100644
--- a/src/gui/painting/qcolor.cpp
+++ b/src/gui/painting/qcolor.cpp
@@ -133,7 +133,7 @@ QT_BEGIN_NAMESPACE
QColor is platform and device independent. The QColormap class
maps the color to the hardware.
- For more information about painting in general, see \l{The Paint
+ For more information about painting in general, see the \l{Paint
System} documentation.
\tableofcontents
@@ -2523,7 +2523,7 @@ QDebug operator<<(QDebug dbg, const QColor &c)
Writes the \a color to the \a stream.
- \sa {Format of the QDataStream Operators}
+ \sa {Serializing Qt Data Types}
*/
QDataStream &operator<<(QDataStream &stream, const QColor &color)
{
@@ -2559,7 +2559,7 @@ QDataStream &operator<<(QDataStream &stream, const QColor &color)
Reads the \a color from the \a stream.
- \sa { Format of the QDataStream Operators}
+ \sa {Serializing Qt Data Types}
*/
QDataStream &operator>>(QDataStream &stream, QColor &color)
{
diff --git a/src/gui/painting/qdatabuffer_p.h b/src/gui/painting/qdatabuffer_p.h
index bc5f1efcf7..8f8544f677 100644
--- a/src/gui/painting/qdatabuffer_p.h
+++ b/src/gui/painting/qdatabuffer_p.h
@@ -60,16 +60,20 @@ QT_BEGIN_NAMESPACE
template <typename Type> class QDataBuffer
{
public:
- QDataBuffer(int res = 64)
+ QDataBuffer(int res)
{
capacity = res;
- buffer = (Type*) qMalloc(capacity * sizeof(Type));
+ if (res)
+ buffer = (Type*) qMalloc(capacity * sizeof(Type));
+ else
+ buffer = 0;
siz = 0;
}
~QDataBuffer()
{
- qFree(buffer);
+ if (buffer)
+ qFree(buffer);
}
inline void reset() { siz = 0; }
@@ -104,6 +108,8 @@ public:
inline void reserve(int size) {
if (size > capacity) {
+ if (capacity == 0)
+ capacity = 1;
while (capacity < size)
capacity *= 2;
buffer = (Type*) qRealloc(buffer, capacity * sizeof(Type));
@@ -112,7 +118,12 @@ public:
inline void shrink(int size) {
capacity = size;
- buffer = (Type*) qRealloc(buffer, capacity * sizeof(Type));
+ if (size)
+ buffer = (Type*) qRealloc(buffer, capacity * sizeof(Type));
+ else {
+ qFree(buffer);
+ buffer = 0;
+ }
}
inline void swap(QDataBuffer<Type> &other) {
diff --git a/src/gui/painting/qdrawutil.cpp b/src/gui/painting/qdrawutil.cpp
index a62f06bde9..11ea6d5192 100644
--- a/src/gui/painting/qdrawutil.cpp
+++ b/src/gui/painting/qdrawutil.cpp
@@ -48,6 +48,7 @@
#include <private/qpaintengineex_p.h>
#include <qvarlengtharray.h>
#include <qmath.h>
+#include <private/qstylehelper_p.h>
QT_BEGIN_NAMESPACE
@@ -1018,7 +1019,9 @@ void qDrawItem(QPainter *p, Qt::GUIStyle gs,
;
#ifndef QT_NO_IMAGE_HEURISTIC_MASK
} else { // color pixmap, no mask
- QString k = QString::fromLatin1("$qt-drawitem-%1").arg(pm.cacheKey());
+ QString k = QLatin1Literal("$qt-drawitem")
+ % HexString<qint64>(pm.cacheKey());
+
if (!QPixmapCache::find(k, pm)) {
pm = pm.createHeuristicMask();
pm.setMask((QBitmap&)pm);
@@ -1137,6 +1140,13 @@ void qDrawBorderPixmap(QPainter *painter, const QRect &targetRect, const QMargin
xTarget.resize(columns + 1);
yTarget.resize(rows + 1);
+ bool oldAA = painter->testRenderHint(QPainter::Antialiasing);
+ if (painter->paintEngine()->type() != QPaintEngine::OpenGL
+ && painter->paintEngine()->type() != QPaintEngine::OpenGL2
+ && oldAA && painter->combinedTransform().type() != QTransform::TxNone) {
+ painter->setRenderHint(QPainter::Antialiasing, false);
+ }
+
xTarget[0] = targetRect.left();
xTarget[1] = targetCenterLeft;
xTarget[columns - 1] = targetCenterRight;
@@ -1342,6 +1352,9 @@ void qDrawBorderPixmap(QPainter *painter, const QRect &targetRect, const QMargin
painter->drawPixmapFragments(opaqueData.data(), opaqueData.size(), pixmap, QPainter::OpaqueHint);
if (translucentData.size())
painter->drawPixmapFragments(translucentData.data(), translucentData.size(), pixmap);
+
+ if (oldAA)
+ painter->setRenderHint(QPainter::Antialiasing, true);
}
QT_END_NAMESPACE
diff --git a/src/gui/painting/qgraphicssystem_runtime.cpp b/src/gui/painting/qgraphicssystem_runtime.cpp
new file mode 100644
index 0000000000..32a8578717
--- /dev/null
+++ b/src/gui/painting/qgraphicssystem_runtime.cpp
@@ -0,0 +1,487 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtGui module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include <private/qgraphicssystem_runtime_p.h>
+#include <private/qgraphicssystem_raster_p.h>
+#include <private/qgraphicssystemfactory_p.h>
+#include <private/qapplication_p.h>
+#include <private/qwidget_p.h>
+#include <QtCore/QDebug>
+#include <QtCore/QTimer>
+#include <QtGui/QBitmap>
+
+QT_BEGIN_NAMESPACE
+
+static int qt_pixmap_serial = 0;
+
+#define READBACK(f) \
+ m_graphicsSystem->decreaseMemoryUsage(memoryUsage()); \
+ f \
+ readBackInfo(); \
+ m_graphicsSystem->increaseMemoryUsage(memoryUsage()); \
+
+
+class QDeferredGraphicsSystemChange : public QObject
+{
+ Q_OBJECT
+
+public:
+ QDeferredGraphicsSystemChange(QRuntimeGraphicsSystem *gs, const QString& graphicsSystemName)
+ : m_graphicsSystem(gs), m_graphicsSystemName(graphicsSystemName)
+ {
+ }
+
+ void launch()
+ {
+ QTimer::singleShot(0, this, SLOT(doChange()));
+ }
+
+private slots:
+
+ void doChange()
+ {
+ m_graphicsSystem->setGraphicsSystem(m_graphicsSystemName);
+ deleteLater();
+ }
+
+private:
+
+ QRuntimeGraphicsSystem *m_graphicsSystem;
+ QString m_graphicsSystemName;
+};
+
+QRuntimePixmapData::QRuntimePixmapData(const QRuntimeGraphicsSystem *gs, PixelType type)
+ : QPixmapData(type, RuntimeClass), m_graphicsSystem(gs)
+{
+ setSerialNumber(++qt_pixmap_serial);
+}
+
+QRuntimePixmapData::~QRuntimePixmapData()
+{
+ m_graphicsSystem->removePixmapData(this);
+ delete m_data;
+}
+
+void QRuntimePixmapData::readBackInfo()
+{
+ w = m_data->width();
+ h = m_data->height();
+ d = m_data->depth();
+ is_null = m_data->isNull();
+}
+
+
+QPixmapData *QRuntimePixmapData::createCompatiblePixmapData() const
+{
+ QRuntimePixmapData *rtData = new QRuntimePixmapData(m_graphicsSystem, pixelType());
+ rtData->m_data = m_data->createCompatiblePixmapData();
+ return rtData;
+}
+
+
+void QRuntimePixmapData::resize(int width, int height)
+{
+ READBACK(
+ m_data->resize(width, height);
+ )
+}
+
+
+void QRuntimePixmapData::fromImage(const QImage &image,
+ Qt::ImageConversionFlags flags)
+{
+ READBACK(
+ m_data->fromImage(image, flags);
+ )
+}
+
+
+bool QRuntimePixmapData::fromFile(const QString &filename, const char *format,
+ Qt::ImageConversionFlags flags)
+{
+ bool success(false);
+ READBACK(
+ success = m_data->fromFile(filename, format, flags);
+ )
+ return success;
+}
+
+bool QRuntimePixmapData::fromData(const uchar *buffer, uint len, const char *format,
+ Qt::ImageConversionFlags flags)
+{
+ bool success(false);
+ READBACK(
+ success = m_data->fromData(buffer, len, format, flags);
+ )
+ return success;
+}
+
+
+void QRuntimePixmapData::copy(const QPixmapData *data, const QRect &rect)
+{
+ if (data->runtimeData()) {
+ READBACK(
+ m_data->copy(data->runtimeData(), rect);
+ )
+ } else {
+ READBACK(
+ m_data->copy(data, rect);
+ )
+ }
+}
+
+bool QRuntimePixmapData::scroll(int dx, int dy, const QRect &rect)
+{
+ return m_data->scroll(dx, dy, rect);
+}
+
+
+int QRuntimePixmapData::metric(QPaintDevice::PaintDeviceMetric metric) const
+{
+ return m_data->metric(metric);
+}
+
+void QRuntimePixmapData::fill(const QColor &color)
+{
+ return m_data->fill(color);
+}
+
+QBitmap QRuntimePixmapData::mask() const
+{
+ return m_data->mask();
+}
+
+void QRuntimePixmapData::setMask(const QBitmap &mask)
+{
+ READBACK(
+ m_data->setMask(mask);
+ )
+}
+
+bool QRuntimePixmapData::hasAlphaChannel() const
+{
+ return m_data->hasAlphaChannel();
+}
+
+QPixmap QRuntimePixmapData::transformed(const QTransform &matrix,
+ Qt::TransformationMode mode) const
+{
+ return m_data->transformed(matrix, mode);
+}
+
+void QRuntimePixmapData::setAlphaChannel(const QPixmap &alphaChannel)
+{
+ READBACK(
+ m_data->setAlphaChannel(alphaChannel);
+ )
+}
+
+QPixmap QRuntimePixmapData::alphaChannel() const
+{
+ return m_data->alphaChannel();
+}
+
+QImage QRuntimePixmapData::toImage() const
+{
+ return m_data->toImage();
+}
+
+QPaintEngine* QRuntimePixmapData::paintEngine() const
+{
+ return m_data->paintEngine();
+}
+
+QImage* QRuntimePixmapData::buffer()
+{
+ return m_data->buffer();
+}
+
+#if defined(Q_OS_SYMBIAN)
+void* QRuntimePixmapData::toNativeType(NativeType type)
+{
+ return m_data->toNativeType(type);
+}
+
+void QRuntimePixmapData::fromNativeType(void *pixmap, NativeType type)
+{
+ m_data->fromNativeType(pixmap, type);
+ readBackInfo();
+}
+#endif
+
+QPixmapData* QRuntimePixmapData::runtimeData() const
+{
+ return m_data;
+}
+
+uint QRuntimePixmapData::memoryUsage() const
+{
+ if(is_null || d == 0)
+ return 0;
+ return w * h * (d / 8);
+}
+
+
+QRuntimeWindowSurface::QRuntimeWindowSurface(const QRuntimeGraphicsSystem *gs, QWidget *window)
+ : QWindowSurface(window), m_windowSurface(0), m_pendingWindowSurface(0), m_graphicsSystem(gs)
+{
+
+}
+
+QRuntimeWindowSurface::~QRuntimeWindowSurface()
+{
+ m_graphicsSystem->removeWindowSurface(this);
+ delete m_windowSurface;
+}
+
+QPaintDevice *QRuntimeWindowSurface::paintDevice()
+{
+ return m_windowSurface->paintDevice();
+}
+
+void QRuntimeWindowSurface::flush(QWidget *widget, const QRegion &region,
+ const QPoint &offset)
+{
+ m_windowSurface->flush(widget, region, offset);
+
+ int destroyPolicy = m_graphicsSystem->windowSurfaceDestroyPolicy();
+ if(m_pendingWindowSurface &&
+ destroyPolicy == QRuntimeGraphicsSystem::DestroyAfterFirstFlush) {
+#ifdef QT_DEBUG
+ qDebug() << "QRuntimeWindowSurface::flush() - destroy pending window surface";
+#endif
+ delete m_pendingWindowSurface;
+ m_pendingWindowSurface = 0;
+ }
+}
+
+void QRuntimeWindowSurface::setGeometry(const QRect &rect)
+{
+ m_graphicsSystem->decreaseMemoryUsage(memoryUsage());
+ m_windowSurface->setGeometry(rect);
+ m_graphicsSystem->increaseMemoryUsage(memoryUsage());
+}
+
+bool QRuntimeWindowSurface::scroll(const QRegion &area, int dx, int dy)
+{
+ return m_windowSurface->scroll(area, dx, dy);
+}
+
+void QRuntimeWindowSurface::beginPaint(const QRegion &rgn)
+{
+ m_windowSurface->beginPaint(rgn);
+}
+
+void QRuntimeWindowSurface::endPaint(const QRegion &rgn)
+{
+ m_windowSurface->endPaint(rgn);
+}
+
+QImage* QRuntimeWindowSurface::buffer(const QWidget *widget)
+{
+ return m_windowSurface->buffer(widget);
+}
+
+QPixmap QRuntimeWindowSurface::grabWidget(const QWidget *widget, const QRect& rectangle) const
+{
+ return m_windowSurface->grabWidget(widget, rectangle);
+}
+
+QPoint QRuntimeWindowSurface::offset(const QWidget *widget) const
+{
+ return m_windowSurface->offset(widget);
+}
+
+uint QRuntimeWindowSurface::memoryUsage() const
+{
+ QPaintDevice *pdev = m_windowSurface->paintDevice();
+ if (pdev && pdev->depth() != 0)
+ return pdev->width() * pdev->height() * (pdev->depth()/8);
+
+ return 0;
+}
+
+QRuntimeGraphicsSystem::QRuntimeGraphicsSystem()
+ : m_memoryUsage(0), m_windowSurfaceDestroyPolicy(DestroyImmediately),
+ m_graphicsSystem(0), m_graphicsSystemChangeMemoryLimit(0)
+{
+ QApplicationPrivate::graphics_system_name = QLatin1String("runtime");
+ QApplicationPrivate::runtime_graphics_system = true;
+
+#ifdef Q_OS_SYMBIAN
+ m_graphicsSystemName = QLatin1String("openvg");
+ m_windowSurfaceDestroyPolicy = DestroyAfterFirstFlush;
+#else
+ m_graphicsSystemName = QLatin1String("raster");
+#endif
+
+ m_graphicsSystem = QGraphicsSystemFactory::create(m_graphicsSystemName);
+}
+
+
+QPixmapData *QRuntimeGraphicsSystem::createPixmapData(QPixmapData::PixelType type) const
+{
+ Q_ASSERT(m_graphicsSystem);
+ QPixmapData *data = m_graphicsSystem->createPixmapData(type);
+
+ QRuntimePixmapData *rtData = new QRuntimePixmapData(this, type);
+ rtData->m_data = data;
+ m_pixmapDatas << rtData;
+
+ return rtData;
+}
+
+QWindowSurface *QRuntimeGraphicsSystem::createWindowSurface(QWidget *widget) const
+{
+ Q_ASSERT(m_graphicsSystem);
+ QRuntimeWindowSurface *rtSurface = new QRuntimeWindowSurface(this, widget);
+ rtSurface->m_windowSurface = m_graphicsSystem->createWindowSurface(widget);
+ widget->setWindowSurface(rtSurface);
+ m_windowSurfaces << rtSurface;
+ increaseMemoryUsage(rtSurface->memoryUsage());
+ return rtSurface;
+}
+
+/*!
+ Sets graphics system when resource memory consumption is under /a memoryUsageLimit.
+*/
+void QRuntimeGraphicsSystem::setGraphicsSystem(const QString &name, uint memoryUsageLimit)
+{
+#ifdef QT_DEBUG
+ qDebug() << "QRuntimeGraphicsSystem::setGraphicsSystem( "<< name <<", " << memoryUsageLimit << ")";
+ qDebug() << " current approximated graphics system memory usage " << memoryUsage() << " bytes";
+#endif
+ if (memoryUsage() >= memoryUsageLimit) {
+ m_graphicsSystemChangeMemoryLimit = memoryUsageLimit;
+ m_pendingGraphicsSystemName = name;
+ } else {
+ setGraphicsSystem(name);
+ }
+}
+
+void QRuntimeGraphicsSystem::setGraphicsSystem(const QString &name)
+{
+ if (m_graphicsSystemName == name)
+ return;
+#ifdef QT_DEBUG
+ qDebug() << "QRuntimeGraphicsSystem::setGraphicsSystem( " << name << " )";
+ qDebug() << " current approximated graphics system memory usage "<< memoryUsage() << " bytes";
+#endif
+ delete m_graphicsSystem;
+ m_graphicsSystem = QGraphicsSystemFactory::create(name);
+ m_graphicsSystemName = name;
+
+ Q_ASSERT(m_graphicsSystem);
+
+ m_graphicsSystemChangeMemoryLimit = 0;
+ m_pendingGraphicsSystemName = QString();
+
+ for (int i = 0; i < m_pixmapDatas.size(); ++i) {
+ QRuntimePixmapData *proxy = m_pixmapDatas.at(i);
+ QPixmapData *newData = m_graphicsSystem->createPixmapData(proxy->m_data->pixelType());
+ // ### TODO Optimize. Openvg and s60raster graphics systems could switch internal ARGB32_PRE QImage buffers.
+ newData->fromImage(proxy->m_data->toImage(), Qt::AutoColor | Qt::OrderedAlphaDither);
+ delete proxy->m_data;
+ proxy->m_data = newData;
+ proxy->readBackInfo();
+ }
+
+ for (int i = 0; i < m_windowSurfaces.size(); ++i) {
+ QRuntimeWindowSurface *proxy = m_windowSurfaces.at(i);
+ QWidget *widget = proxy->m_windowSurface->window();
+
+ if(m_windowSurfaceDestroyPolicy == DestroyImmediately) {
+ delete proxy->m_windowSurface;
+ proxy->m_pendingWindowSurface = 0;
+ } else {
+ proxy->m_pendingWindowSurface = proxy->m_windowSurface;
+ }
+
+ proxy->m_windowSurface = m_graphicsSystem->createWindowSurface(widget);
+ qt_widget_private(widget)->invalidateBuffer(widget->rect());
+ }
+}
+
+void QRuntimeGraphicsSystem::removePixmapData(QRuntimePixmapData *pixmapData) const
+{
+ int index = m_pixmapDatas.lastIndexOf(pixmapData);
+ m_pixmapDatas.removeAt(index);
+ decreaseMemoryUsage(pixmapData->memoryUsage(), true);
+}
+
+void QRuntimeGraphicsSystem::removeWindowSurface(QRuntimeWindowSurface *windowSurface) const
+{
+ int index = m_windowSurfaces.lastIndexOf(windowSurface);
+ m_windowSurfaces.removeAt(index);
+ decreaseMemoryUsage(windowSurface->memoryUsage(), true);
+}
+
+void QRuntimeGraphicsSystem::increaseMemoryUsage(uint amount) const
+{
+ m_memoryUsage += amount;
+
+ if (m_graphicsSystemChangeMemoryLimit &&
+ m_memoryUsage < m_graphicsSystemChangeMemoryLimit) {
+
+ QRuntimeGraphicsSystem *gs = const_cast<QRuntimeGraphicsSystem*>(this);
+ QDeferredGraphicsSystemChange *deferredChange =
+ new QDeferredGraphicsSystemChange(gs, m_pendingGraphicsSystemName);
+ deferredChange->launch();
+ }
+}
+
+void QRuntimeGraphicsSystem::decreaseMemoryUsage(uint amount, bool persistent) const
+{
+ m_memoryUsage -= amount;
+
+ if (persistent && m_graphicsSystemChangeMemoryLimit &&
+ m_memoryUsage < m_graphicsSystemChangeMemoryLimit) {
+
+ QRuntimeGraphicsSystem *gs = const_cast<QRuntimeGraphicsSystem*>(this);
+ QDeferredGraphicsSystemChange *deferredChange =
+ new QDeferredGraphicsSystemChange(gs, m_pendingGraphicsSystemName);
+ deferredChange->launch();
+ }
+}
+
+#include "qgraphicssystem_runtime.moc"
+
+QT_END_NAMESPACE
diff --git a/src/gui/painting/qgraphicssystem_runtime_p.h b/src/gui/painting/qgraphicssystem_runtime_p.h
new file mode 100644
index 0000000000..445f83d116
--- /dev/null
+++ b/src/gui/painting/qgraphicssystem_runtime_p.h
@@ -0,0 +1,197 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the plugins of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#ifndef QGRAPHICSSYSTEM_RUNTIME_P_H
+#define QGRAPHICSSYSTEM_RUNTIME_P_H
+
+//
+// W A R N I N G
+// -------------
+//
+// This file is not part of the Qt API. It exists for the convenience
+// of other Qt classes. This header file may change from version to
+// version without notice, or even be removed.
+//
+// We mean it.
+//
+
+#include "qgraphicssystem_p.h"
+
+#include <private/qpixmapdata_p.h>
+
+QT_BEGIN_NAMESPACE
+
+class QRuntimeGraphicsSystem;
+
+class QRuntimePixmapData : public QPixmapData {
+public:
+ QRuntimePixmapData(const QRuntimeGraphicsSystem *gs, PixelType type);
+ ~QRuntimePixmapData();
+
+ virtual QPixmapData *createCompatiblePixmapData() const;
+ virtual void resize(int width, int height);
+ virtual void fromImage(const QImage &image,
+ Qt::ImageConversionFlags flags);
+
+ virtual bool fromFile(const QString &filename, const char *format,
+ Qt::ImageConversionFlags flags);
+ virtual bool fromData(const uchar *buffer, uint len, const char *format,
+ Qt::ImageConversionFlags flags);
+
+ virtual void copy(const QPixmapData *data, const QRect &rect);
+ virtual bool scroll(int dx, int dy, const QRect &rect);
+
+ virtual int metric(QPaintDevice::PaintDeviceMetric metric) const;
+ virtual void fill(const QColor &color);
+ virtual QBitmap mask() const;
+ virtual void setMask(const QBitmap &mask);
+ virtual bool hasAlphaChannel() const;
+ virtual QPixmap transformed(const QTransform &matrix,
+ Qt::TransformationMode mode) const;
+ virtual void setAlphaChannel(const QPixmap &alphaChannel);
+ virtual QPixmap alphaChannel() const;
+ virtual QImage toImage() const;
+ virtual QPaintEngine *paintEngine() const;
+
+ virtual QImage *buffer();
+
+ void readBackInfo();
+
+ QPixmapData *m_data;
+
+#if defined(Q_OS_SYMBIAN)
+ void* toNativeType(NativeType type);
+ void fromNativeType(void* pixmap, NativeType type);
+#endif
+
+ virtual QPixmapData *runtimeData() const;
+
+ virtual uint memoryUsage() const;
+
+private:
+ const QRuntimeGraphicsSystem *m_graphicsSystem;
+
+};
+
+class QRuntimeWindowSurface : public QWindowSurface {
+public:
+ QRuntimeWindowSurface(const QRuntimeGraphicsSystem *gs, QWidget *window);
+ ~QRuntimeWindowSurface();
+
+ virtual QPaintDevice *paintDevice();
+ virtual void flush(QWidget *widget, const QRegion &region,
+ const QPoint &offset);
+ virtual void setGeometry(const QRect &rect);
+
+ virtual bool scroll(const QRegion &area, int dx, int dy);
+
+ virtual void beginPaint(const QRegion &);
+ virtual void endPaint(const QRegion &);
+
+ virtual QImage* buffer(const QWidget *widget);
+ virtual QPixmap grabWidget(const QWidget *widget, const QRect& rectangle = QRect()) const;
+
+ virtual QPoint offset(const QWidget *widget) const;
+
+ virtual uint memoryUsage() const;
+
+ QWindowSurface *m_windowSurface;
+ QWindowSurface *m_pendingWindowSurface;
+
+private:
+ const QRuntimeGraphicsSystem *m_graphicsSystem;
+};
+
+class QRuntimeGraphicsSystem : public QGraphicsSystem
+{
+public:
+
+ enum WindowSurfaceDestroyPolicy
+ {
+ DestroyImmediately,
+ DestroyAfterFirstFlush
+ };
+
+public:
+ QRuntimeGraphicsSystem();
+
+ QPixmapData *createPixmapData(QPixmapData::PixelType type) const;
+ QWindowSurface *createWindowSurface(QWidget *widget) const;
+
+ void removePixmapData(QRuntimePixmapData *pixmapData) const;
+ void removeWindowSurface(QRuntimeWindowSurface *windowSurface) const;
+
+ void setGraphicsSystem(const QString &name, uint memoryUsageLimit);
+ void setGraphicsSystem(const QString &name);
+ QString graphicsSystemName() const { return m_graphicsSystemName; }
+
+ void setWindowSurfaceDestroyPolicy(WindowSurfaceDestroyPolicy policy)
+ {
+ m_windowSurfaceDestroyPolicy = policy;
+ }
+
+ int windowSurfaceDestroyPolicy() const { return m_windowSurfaceDestroyPolicy; }
+
+ int memoryUsage() const { return m_memoryUsage; }
+
+private:
+
+ void increaseMemoryUsage(uint amount) const;
+ void decreaseMemoryUsage(uint amount, bool persistent = false) const;
+
+private:
+ mutable uint m_memoryUsage;
+ int m_windowSurfaceDestroyPolicy;
+ QGraphicsSystem *m_graphicsSystem;
+ mutable QList<QRuntimePixmapData *> m_pixmapDatas;
+ mutable QList<QRuntimeWindowSurface *> m_windowSurfaces;
+ QString m_graphicsSystemName;
+
+ uint m_graphicsSystemChangeMemoryLimit;
+ QString m_pendingGraphicsSystemName;
+
+ friend class QRuntimePixmapData;
+ friend class QRuntimeWindowSurface;
+};
+
+QT_END_NAMESPACE
+
+#endif
diff --git a/src/gui/painting/qgraphicssystemfactory.cpp b/src/gui/painting/qgraphicssystemfactory.cpp
index 3c098941df..ee6fbd8341 100644
--- a/src/gui/painting/qgraphicssystemfactory.cpp
+++ b/src/gui/painting/qgraphicssystemfactory.cpp
@@ -46,6 +46,7 @@
#include "qapplication.h"
#include "qgraphicssystem_raster_p.h"
+#include "qgraphicssystem_runtime_p.h"
#include "qdebug.h"
QT_BEGIN_NAMESPACE
@@ -68,6 +69,10 @@ QGraphicsSystem *QGraphicsSystemFactory::create(const QString& key)
if (system.isEmpty()) {
system = QLatin1String("openvg");
}
+#elif defined (QT_GRAPHICSSYSTEM_RUNTIME)
+ if (system.isEmpty()) {
+ system = QLatin1String("runtime");
+ }
#elif defined (QT_GRAPHICSSYSTEM_RASTER) && !defined(Q_WS_WIN) && !defined(Q_OS_SYMBIAN)
if (system.isEmpty()) {
system = QLatin1String("raster");
@@ -76,6 +81,8 @@ QGraphicsSystem *QGraphicsSystemFactory::create(const QString& key)
if (system == QLatin1String("raster"))
return new QRasterGraphicsSystem;
+ else if (system == QLatin1String("runtime"))
+ return new QRuntimeGraphicsSystem;
else if (system.isEmpty() || system == QLatin1String("native"))
return 0;
diff --git a/src/gui/painting/qgrayraster.c b/src/gui/painting/qgrayraster.c
index ff2469cbea..5e7c67a13a 100644
--- a/src/gui/painting/qgrayraster.c
+++ b/src/gui/painting/qgrayraster.c
@@ -156,6 +156,7 @@
#define ErrRaster_Invalid_Outline -1
#define ErrRaster_Invalid_Argument -3
#define ErrRaster_Memory_Overflow -4
+#define ErrRaster_OutOfMemory -6
#define QT_FT_BEGIN_HEADER
#define QT_FT_END_HEADER
@@ -222,7 +223,6 @@
#define DOWNSCALE( x ) ( (x) << ( 6 - PIXEL_BITS ) )
#endif
-
/*************************************************************************/
/* */
/* TYPE DEFINITIONS */
@@ -1757,8 +1757,7 @@
#ifdef DEBUG_GRAYS
fprintf( stderr, "Rotten glyph!\n" );
#endif
- /* == Raster_Err_OutOfMemory in qblackraster.c */
- return -6;
+ return ErrRaster_OutOfMemory;
}
if ( bottom-top >= ras.band_size )
@@ -1784,7 +1783,7 @@
static int
- gray_raster_render( PRaster raster,
+ gray_raster_render( QT_FT_Raster raster,
const QT_FT_Raster_Params* params )
{
const QT_FT_Outline* outline = (const QT_FT_Outline*)params->source;
@@ -1795,6 +1794,12 @@
if ( !raster || !raster->buffer || !raster->buffer_size )
return ErrRaster_Invalid_Argument;
+ // If raster object and raster buffer are allocated, but
+ // raster size isn't of the minimum size, indicate out of
+ // memory.
+ if (raster && raster->buffer && raster->buffer_size < MINIMUM_POOL_SIZE )
+ return ErrRaster_OutOfMemory;
+
/* return immediately if the outline is empty */
if ( outline->n_points == 0 || outline->n_contours <= 0 )
return 0;
@@ -1874,19 +1879,15 @@
/**** a static object. *****/
static int
- gray_raster_new( void * memory,
- QT_FT_Raster* araster )
+ gray_raster_new( QT_FT_Raster* araster )
{
- if (memory)
- fprintf(stderr, "gray_raster_new(), memory ignored");
- memory = malloc(sizeof(TRaster));
- if (!memory) {
+ *araster = malloc(sizeof(TRaster));
+ if (!*araster) {
*araster = 0;
return ErrRaster_Memory_Overflow;
}
- QT_FT_MEM_ZERO(memory, sizeof(TRaster));
+ QT_FT_MEM_ZERO(*araster, sizeof(TRaster));
- *araster = (QT_FT_Raster) memory;
return 0;
}
@@ -1905,10 +1906,9 @@
{
PRaster rast = (PRaster)raster;
-
if ( raster )
{
- if ( pool_base && pool_size >= (long)sizeof ( TWorker ) + 2048 )
+ if ( pool_base && ( pool_size >= MINIMUM_POOL_SIZE ) )
{
PWorker worker = (PWorker)pool_base;
@@ -1923,6 +1923,13 @@
rast->band_size = (int)( rast->buffer_size /
( sizeof ( TCell ) * 8 ) );
}
+ else if ( pool_base)
+ { // Case when there is a raster pool allocated, but it
+ // doesn't have the minimum size (and so memory will be reallocated)
+ rast->buffer = pool_base;
+ rast->worker = NULL;
+ rast->buffer_size = pool_size;
+ }
else
{
rast->buffer = NULL;
diff --git a/src/gui/painting/qgrayraster_p.h b/src/gui/painting/qgrayraster_p.h
index 4463fc9b00..ad595b864a 100644
--- a/src/gui/painting/qgrayraster_p.h
+++ b/src/gui/painting/qgrayraster_p.h
@@ -89,6 +89,10 @@
#define QT_FT_EXPORT_VAR( x ) extern x
#endif
+/* Minimum buffer size for raster object, that accounts
+ for TWorker and TCell sizes.*/
+#define MINIMUM_POOL_SIZE 4096
+
QT_FT_EXPORT_VAR( const QT_FT_Raster_Funcs ) qt_ft_grays_raster;
diff --git a/src/gui/painting/qmatrix.cpp b/src/gui/painting/qmatrix.cpp
index 00f32f708b..7746316225 100644
--- a/src/gui/painting/qmatrix.cpp
+++ b/src/gui/painting/qmatrix.cpp
@@ -103,7 +103,7 @@ QT_BEGIN_NAMESPACE
coordinate system. The standard coordinate system of a
QPaintDevice has its origin located at the top-left position. The
\e x values increase to the right; \e y values increase
- downward. For a complete description, see the \l {The Coordinate
+ downward. For a complete description, see the \l {Coordinate
System}{coordinate system} documentation.
QPainter has functions to translate, scale, shear and rotate the
@@ -176,7 +176,7 @@ QT_BEGIN_NAMESPACE
\snippet doc/src/snippets/matrix/matrix.cpp 2
\endtable
- \sa QPainter, QTransform, {The Coordinate System},
+ \sa QPainter, QTransform, {Coordinate System},
{demos/affine}{Affine Transformations Demo}, {Transformations Example}
*/
@@ -1135,7 +1135,7 @@ Q_GUI_EXPORT QPainterPath operator *(const QPainterPath &p, const QMatrix &m)
Writes the given \a matrix to the given \a stream and returns a
reference to the stream.
- \sa {Format of the QDataStream Operators}
+ \sa {Serializing Qt Data Types}
*/
QDataStream &operator<<(QDataStream &s, const QMatrix &m)
@@ -1161,7 +1161,7 @@ QDataStream &operator<<(QDataStream &s, const QMatrix &m)
Reads the given \a matrix from the given \a stream and returns a
reference to the stream.
- \sa {Format of the QDataStream Operators}
+ \sa {Serializing Qt Data Types}
*/
QDataStream &operator>>(QDataStream &s, QMatrix &m)
diff --git a/src/gui/painting/qoutlinemapper.cpp b/src/gui/painting/qoutlinemapper.cpp
index ad0c2ebac4..bf03545383 100644
--- a/src/gui/painting/qoutlinemapper.cpp
+++ b/src/gui/painting/qoutlinemapper.cpp
@@ -154,7 +154,8 @@ QT_FT_Outline *QOutlineMapper::convertPath(const QVectorPath &path)
// ### We can kill this copying and just use the buffer straight...
m_elements.resize(count);
- memcpy(m_elements.data(), path.points(), count* sizeof(QPointF));
+ if (count)
+ memcpy(m_elements.data(), path.points(), count* sizeof(QPointF));
m_element_types.resize(0);
}
@@ -233,12 +234,12 @@ void QOutlineMapper::endOutline()
// Check for out of dev bounds...
- const bool do_clip = (controlPointRect.left() < -QT_RASTER_COORD_LIMIT
+ const bool do_clip = !m_in_clip_elements && ((controlPointRect.left() < -QT_RASTER_COORD_LIMIT
|| controlPointRect.right() > QT_RASTER_COORD_LIMIT
|| controlPointRect.top() < -QT_RASTER_COORD_LIMIT
|| controlPointRect.bottom() > QT_RASTER_COORD_LIMIT
|| controlPointRect.width() > QT_RASTER_COORD_LIMIT
- || controlPointRect.height() > QT_RASTER_COORD_LIMIT);
+ || controlPointRect.height() > QT_RASTER_COORD_LIMIT));
if (do_clip) {
clipElements(elements, elementTypes(), element_count);
@@ -352,7 +353,13 @@ void QOutlineMapper::clipElements(const QPointF *elements,
// instead of going through convenience functionallity, but since
// this part of code hardly every used, it shouldn't matter.
+ m_in_clip_elements = true;
+
QPainterPath path;
+
+ if (!(m_outline.flags & QT_FT_OUTLINE_EVEN_ODD_FILL))
+ path.setFillRule(Qt::WindingFill);
+
if (types) {
for (int i=0; i<element_count; ++i) {
switch (types[i]) {
@@ -388,6 +395,8 @@ void QOutlineMapper::clipElements(const QPointF *elements,
else
convertPath(clippedPath);
m_txop = old_txop;
+
+ m_in_clip_elements = false;
}
QT_END_NAMESPACE
diff --git a/src/gui/painting/qoutlinemapper_p.h b/src/gui/painting/qoutlinemapper_p.h
index d0ce1a9d3d..f64d03ba3f 100644
--- a/src/gui/painting/qoutlinemapper_p.h
+++ b/src/gui/painting/qoutlinemapper_p.h
@@ -87,8 +87,16 @@ const int QT_RASTER_COORD_LIMIT = 32767;
class QOutlineMapper
{
public:
- QOutlineMapper()
- : m_round_coords(false)
+ QOutlineMapper() :
+ m_element_types(0),
+ m_elements(0),
+ m_elements_dev(0),
+ m_points(0),
+ m_tags(0),
+ m_contours(0),
+ m_polygon_dev(0),
+ m_round_coords(false),
+ m_in_clip_elements(false)
{
}
@@ -228,6 +236,7 @@ public:
qreal m_dy;
bool m_valid;
+ bool m_in_clip_elements;
private:
bool m_round_coords;
diff --git a/src/gui/painting/qpaintdevice.qdoc b/src/gui/painting/qpaintdevice.qdoc
index 8c73cc06a8..340db39316 100644
--- a/src/gui/painting/qpaintdevice.qdoc
+++ b/src/gui/painting/qpaintdevice.qdoc
@@ -87,8 +87,7 @@
function returns the number of different colors available for the
paint device.
- \sa QPaintEngine, QPainter, {The Coordinate System}, {The Paint
- System}
+ \sa QPaintEngine, QPainter, {Coordinate System}, {Paint System}
*/
/*!
diff --git a/src/gui/painting/qpaintengine.cpp b/src/gui/painting/qpaintengine.cpp
index 6aabde862e..a2d0337b7f 100644
--- a/src/gui/painting/qpaintengine.cpp
+++ b/src/gui/painting/qpaintengine.cpp
@@ -172,7 +172,7 @@ QFont QTextItem::font() const
possible to adapt to multiple technologies on each platform and take
advantage of each to the fullest.
- \sa QPainter, QPaintDevice::paintEngine(), {The Paint System}
+ \sa QPainter, QPaintDevice::paintEngine(), {Paint System}
*/
/*!
diff --git a/src/gui/painting/qpaintengine_mac.cpp b/src/gui/painting/qpaintengine_mac.cpp
index 14ba94e830..e5323d8ca4 100644
--- a/src/gui/painting/qpaintengine_mac.cpp
+++ b/src/gui/painting/qpaintengine_mac.cpp
@@ -1390,7 +1390,11 @@ QCoreGraphicsPaintEngine::updateRenderHints(QPainter::RenderHints hints)
CGContextSetInterpolationQuality(d->hd, (hints & QPainter::SmoothPixmapTransform) ?
kCGInterpolationHigh : kCGInterpolationNone);
}
- CGContextSetShouldSmoothFonts(d->hd, hints & QPainter::TextAntialiasing);
+ bool textAntialiasing = (hints & QPainter::TextAntialiasing) == QPainter::TextAntialiasing;
+ if (!textAntialiasing || d->disabledSmoothFonts) {
+ d->disabledSmoothFonts = !textAntialiasing;
+ CGContextSetShouldSmoothFonts(d->hd, textAntialiasing);
+ }
}
/*
diff --git a/src/gui/painting/qpaintengine_mac_p.h b/src/gui/painting/qpaintengine_mac_p.h
index c9ab419267..940b2bcecd 100644
--- a/src/gui/painting/qpaintengine_mac_p.h
+++ b/src/gui/painting/qpaintengine_mac_p.h
@@ -148,7 +148,7 @@ class QCoreGraphicsPaintEnginePrivate : public QPaintEnginePrivate
Q_DECLARE_PUBLIC(QCoreGraphicsPaintEngine)
public:
QCoreGraphicsPaintEnginePrivate()
- : hd(0), shading(0), stackCount(0), complexXForm(false)
+ : hd(0), shading(0), stackCount(0), complexXForm(false), disabledSmoothFonts(false)
{
}
@@ -168,6 +168,7 @@ public:
CGShadingRef shading;
int stackCount;
bool complexXForm;
+ bool disabledSmoothFonts;
enum { CosmeticNone, CosmeticTransformPath, CosmeticSetPenWidth } cosmeticPen;
// pixel and cosmetic pen size in user coordinates.
diff --git a/src/gui/painting/qpaintengine_raster.cpp b/src/gui/painting/qpaintengine_raster.cpp
index 6afa4e1990..4fad0c6dda 100644
--- a/src/gui/painting/qpaintengine_raster.cpp
+++ b/src/gui/painting/qpaintengine_raster.cpp
@@ -68,6 +68,7 @@
// #include <private/qrasterizer_p.h>
#include <private/qimage_p.h>
#include <private/qstatictext_p.h>
+#include "qmemrotate_p.h"
#include "qpaintengine_raster_p.h"
// #include "qbezier_p.h"
@@ -253,6 +254,11 @@ static void qt_debug_path(const QPainterPath &path)
}
#endif
+QRasterPaintEnginePrivate::QRasterPaintEnginePrivate() :
+ QPaintEngineExPrivate(),
+ cachedLines(0)
+{
+}
/*!
@@ -338,26 +344,13 @@ void QRasterPaintEngine::init()
d->hdc = 0;
#endif
- d->rasterPoolSize = 8192;
- d->rasterPoolBase =
-#if defined(Q_WS_WIN64)
- // We make use of setjmp and longjmp in qgrayraster.c which requires
- // 16-byte alignment, hence we hardcode this requirement here..
- (unsigned char *) _aligned_malloc(d->rasterPoolSize, sizeof(void*) * 2);
-#else
- (unsigned char *) malloc(d->rasterPoolSize);
-#endif
- Q_CHECK_PTR(d->rasterPoolBase);
-
// The antialiasing raster.
d->grayRaster.reset(new QT_FT_Raster);
Q_CHECK_PTR(d->grayRaster.data());
- if (qt_ft_grays_raster.raster_new(0, d->grayRaster.data()))
+ if (qt_ft_grays_raster.raster_new(d->grayRaster.data()))
QT_THROW(std::bad_alloc()); // an error creating the raster is caused by a bad malloc
- qt_ft_grays_raster.raster_reset(*d->grayRaster.data(), d->rasterPoolBase, d->rasterPoolSize);
-
d->rasterizer.reset(new QRasterizer);
d->rasterBuffer.reset(new QRasterBuffer());
d->outlineMapper.reset(new QOutlineMapper);
@@ -439,12 +432,6 @@ QRasterPaintEngine::~QRasterPaintEngine()
{
Q_D(QRasterPaintEngine);
-#if defined(Q_WS_WIN64)
- _aligned_free(d->rasterPoolBase);
-#else
- free(d->rasterPoolBase);
-#endif
-
qt_ft_grays_raster.raster_done(*d->grayRaster.data());
}
@@ -457,8 +444,9 @@ bool QRasterPaintEngine::begin(QPaintDevice *device)
if (device->devType() == QInternal::Pixmap) {
QPixmap *pixmap = static_cast<QPixmap *>(device);
- if (pixmap->data->classId() == QPixmapData::RasterClass || pixmap->data->classId() == QPixmapData::BlitterClass)
- d->device = pixmap->data->buffer();
+ QPixmapData *pd = pixmap->pixmapData();
+ if (pd->classId() == QPixmapData::RasterClass || pd->classId() == QPixmapData::BlitterClass)
+ d->device = pd->buffer();
} else {
d->device = device;
}
@@ -473,13 +461,12 @@ bool QRasterPaintEngine::begin(QPaintDevice *device)
QRasterPaintEngineState *s = state();
ensureOutlineMapper();
- d->outlineMapper->m_clip_rect = d->deviceRect.adjusted(-10, -10, 10, 10);
-
- // This is the upp
- QRect bounds(-QT_RASTER_COORD_LIMIT, -QT_RASTER_COORD_LIMIT,
- QT_RASTER_COORD_LIMIT*2 - 1, QT_RASTER_COORD_LIMIT * 2 - 1);
- d->outlineMapper->m_clip_rect = bounds.intersected(d->outlineMapper->m_clip_rect);
+ d->outlineMapper->m_clip_rect = d->deviceRect;
+ if (d->outlineMapper->m_clip_rect.width() > QT_RASTER_COORD_LIMIT)
+ d->outlineMapper->m_clip_rect.setWidth(QT_RASTER_COORD_LIMIT);
+ if (d->outlineMapper->m_clip_rect.height() > QT_RASTER_COORD_LIMIT)
+ d->outlineMapper->m_clip_rect.setHeight(QT_RASTER_COORD_LIMIT);
d->rasterizer->setClipRect(d->deviceRect);
@@ -2374,8 +2361,9 @@ void QRasterPaintEngine::drawPixmap(const QPointF &pos, const QPixmap &pixmap)
qDebug() << " - QRasterPaintEngine::drawPixmap(), pos=" << pos << " pixmap=" << pixmap.size() << "depth=" << pixmap.depth();
#endif
- if (pixmap.data->classId() == QPixmapData::RasterClass) {
- const QImage &image = static_cast<QRasterPixmapData *>(pixmap.data.data())->image;
+ QPixmapData *pd = pixmap.pixmapData();
+ if (pd->classId() == QPixmapData::RasterClass) {
+ const QImage &image = static_cast<QRasterPixmapData *>(pd)->image;
if (image.depth() == 1) {
Q_D(QRasterPaintEngine);
QRasterPaintEngineState *s = state();
@@ -2414,8 +2402,9 @@ void QRasterPaintEngine::drawPixmap(const QRectF &r, const QPixmap &pixmap, cons
qDebug() << " - QRasterPaintEngine::drawPixmap(), r=" << r << " sr=" << sr << " pixmap=" << pixmap.size() << "depth=" << pixmap.depth();
#endif
- if (pixmap.data->classId() == QPixmapData::RasterClass) {
- const QImage &image = static_cast<QRasterPixmapData *>(pixmap.data.data())->image;
+ QPixmapData* pd = pixmap.pixmapData();
+ if (pd->classId() == QPixmapData::RasterClass) {
+ const QImage &image = static_cast<QRasterPixmapData *>(pd)->image;
if (image.depth() == 1) {
Q_D(QRasterPaintEngine);
QRasterPaintEngineState *s = state();
@@ -2534,6 +2523,58 @@ QRectF qt_mapRect_non_normalizing(const QRectF &r, const QTransform &t)
return QRectF(r.topLeft() * t, r.bottomRight() * t);
}
+namespace {
+ enum RotationType {
+ Rotation90,
+ Rotation180,
+ Rotation270,
+ NoRotation
+ };
+
+ inline RotationType qRotationType(const QTransform &transform)
+ {
+ QTransform::TransformationType type = transform.type();
+
+ if (type > QTransform::TxRotate)
+ return NoRotation;
+
+ if (type == QTransform::TxRotate && qFuzzyIsNull(transform.m11()) && qFuzzyCompare(transform.m12(), qreal(-1))
+ && qFuzzyCompare(transform.m21(), qreal(1)) && qFuzzyIsNull(transform.m22()))
+ return Rotation90;
+
+ if (type == QTransform::TxScale && qFuzzyCompare(transform.m11(), qreal(-1)) && qFuzzyIsNull(transform.m12())
+ && qFuzzyIsNull(transform.m21()) && qFuzzyCompare(transform.m22(), qreal(-1)))
+ return Rotation180;
+
+ if (type == QTransform::TxRotate && qFuzzyIsNull(transform.m11()) && qFuzzyCompare(transform.m12(), qreal(1))
+ && qFuzzyCompare(transform.m21(), qreal(-1)) && qFuzzyIsNull(transform.m22()))
+ return Rotation270;
+
+ return NoRotation;
+ }
+
+ template <typename T> void memRotate(RotationType type, const T *srcBase, int w, int h, int sbpl, T *dstBase, int dbpl)
+ {
+ switch (type) {
+ case Rotation90:
+ qt_memrotate90(srcBase, w, h, sbpl, dstBase, dbpl);
+ break;
+ case Rotation180:
+ qt_memrotate180(srcBase, w, h, sbpl, dstBase, dbpl);
+ break;
+ case Rotation270:
+ qt_memrotate270(srcBase, w, h, sbpl, dstBase, dbpl);
+ break;
+ case NoRotation:
+ break;
+ }
+ }
+
+ inline bool isPixelAligned(const QRectF &rect) {
+ return QRectF(rect.toRect()) == rect;
+ }
+}
+
/*!
\reimp
*/
@@ -2595,6 +2636,58 @@ void QRasterPaintEngine::drawImage(const QRectF &r, const QImage &img, const QRe
const QClipData *clip = d->clip();
+ if (s->matrix.type() > QTransform::TxTranslate
+ && !stretch_sr
+ && (!clip || clip->hasRectClip)
+ && s->intOpacity == 256
+ && (d->rasterBuffer->compositionMode == QPainter::CompositionMode_SourceOver
+ || d->rasterBuffer->compositionMode == QPainter::CompositionMode_Source)
+ && d->rasterBuffer->format == img.format()
+ && (d->rasterBuffer->format == QImage::Format_RGB16
+ || d->rasterBuffer->format == QImage::Format_RGB32
+ || (d->rasterBuffer->format == QImage::Format_ARGB32_Premultiplied
+ && d->rasterBuffer->compositionMode == QPainter::CompositionMode_Source)))
+ {
+ RotationType rotationType = qRotationType(s->matrix);
+
+ if (rotationType != NoRotation && img.rect().contains(sr.toAlignedRect())) {
+ QRectF transformedTargetRect = s->matrix.mapRect(r);
+
+ if ((!(s->renderHints & QPainter::SmoothPixmapTransform) && !(s->renderHints & QPainter::Antialiasing))
+ || (isPixelAligned(transformedTargetRect) && isPixelAligned(sr)))
+ {
+ QRect clippedTransformedTargetRect = transformedTargetRect.toRect().intersected(clip ? clip->clipRect : d->deviceRect);
+ if (clippedTransformedTargetRect.isNull())
+ return;
+
+ QRectF clippedTargetRect = s->matrix.inverted().mapRect(QRectF(clippedTransformedTargetRect));
+
+ QRect clippedSourceRect
+ = QRectF(sr.x() + clippedTargetRect.x() - r.x(), sr.y() + clippedTargetRect.y() - r.y(),
+ clippedTargetRect.width(), clippedTargetRect.height()).toRect();
+
+ uint dbpl = d->rasterBuffer->bytesPerLine();
+ uint sbpl = img.bytesPerLine();
+
+ uchar *dst = d->rasterBuffer->buffer();
+ uint bpp = img.depth() >> 3;
+
+ const uchar *srcBase = img.bits() + clippedSourceRect.y() * sbpl + clippedSourceRect.x() * bpp;
+ uchar *dstBase = dst + clippedTransformedTargetRect.y() * dbpl + clippedTransformedTargetRect.x() * bpp;
+
+ uint cw = clippedSourceRect.width();
+ uint ch = clippedSourceRect.height();
+
+ if (d->rasterBuffer->format == QImage::Format_RGB16)
+ memRotate(rotationType, (quint16 *)srcBase, cw, ch, sbpl, (quint16 *)dstBase, dbpl);
+ else
+ memRotate(rotationType, (quint32 *)srcBase, cw, ch, sbpl, (quint32 *)dstBase, dbpl);
+
+ return;
+ }
+ }
+ }
+
if (s->matrix.type() > QTransform::TxTranslate || stretch_sr) {
if (s->flags.fast_images) {
@@ -2719,8 +2812,9 @@ void QRasterPaintEngine::drawTiledPixmap(const QRectF &r, const QPixmap &pixmap,
QImage image;
- if (pixmap.data->classId() == QPixmapData::RasterClass) {
- image = static_cast<QRasterPixmapData *>(pixmap.data.data())->image;
+ QPixmapData *pd = pixmap.pixmapData();
+ if (pd->classId() == QPixmapData::RasterClass) {
+ image = static_cast<QRasterPixmapData *>(pd)->image;
} else {
image = pixmap.toImage();
}
@@ -3696,6 +3790,7 @@ void QRasterPaintEngine::drawEllipse(const QRectF &rect)
if (((qpen_style(s->lastPen) == Qt::SolidLine && s->flags.fast_pen)
|| (qpen_style(s->lastPen) == Qt::NoPen && !s->flags.antialiased))
&& qMax(rect.width(), rect.height()) < QT_RASTER_COORD_LIMIT
+ && !rect.isEmpty()
&& s->matrix.type() <= QTransform::TxScale) // no shear
{
ensureBrush();
@@ -4092,6 +4187,26 @@ void QRasterPaintEnginePrivate::rasterize(QT_FT_Outline *outline,
return;
}
+ // Initial size for raster pool is MINIMUM_POOL_SIZE so as to
+ // minimize memory reallocations. However if initial size for
+ // raster pool is changed for lower value, reallocations will
+ // occur normally.
+ const int rasterPoolInitialSize = MINIMUM_POOL_SIZE;
+ int rasterPoolSize = rasterPoolInitialSize;
+ unsigned char *rasterPoolBase;
+#if defined(Q_WS_WIN64)
+ rasterPoolBase =
+ // We make use of setjmp and longjmp in qgrayraster.c which requires
+ // 16-byte alignment, hence we hardcode this requirement here..
+ (unsigned char *) _aligned_malloc(rasterPoolSize, sizeof(void*) * 2);
+#else
+ unsigned char rasterPoolOnStack[rasterPoolInitialSize];
+ rasterPoolBase = rasterPoolOnStack;
+#endif
+ Q_CHECK_PTR(rasterPoolBase);
+
+ qt_ft_grays_raster.raster_reset(*grayRaster.data(), rasterPoolBase, rasterPoolSize);
+
void *data = userData;
QT_FT_BBox clip_box = { deviceRect.x(),
@@ -4120,17 +4235,18 @@ void QRasterPaintEnginePrivate::rasterize(QT_FT_Outline *outline,
error = qt_ft_grays_raster.raster_render(*grayRaster.data(), &rasterParams);
// Out of memory, reallocate some more and try again...
- if (error == -6) { // -6 is Result_err_OutOfMemory
+ if (error == -6) { // ErrRaster_OutOfMemory from qgrayraster.c
int new_size = rasterPoolSize * 2;
if (new_size > 1024 * 1024) {
qWarning("QPainter: Rasterization of primitive failed");
- return;
+ break;
}
#if defined(Q_WS_WIN64)
_aligned_free(rasterPoolBase);
#else
- free(rasterPoolBase);
+ if (rasterPoolBase != rasterPoolOnStack) // initially on the stack
+ free(rasterPoolBase);
#endif
rasterPoolSize = new_size;
@@ -4145,12 +4261,19 @@ void QRasterPaintEnginePrivate::rasterize(QT_FT_Outline *outline,
Q_CHECK_PTR(rasterPoolBase); // note: we just freed the old rasterPoolBase. I hope it's not fatal.
qt_ft_grays_raster.raster_done(*grayRaster.data());
- qt_ft_grays_raster.raster_new(0, grayRaster.data());
+ qt_ft_grays_raster.raster_new(grayRaster.data());
qt_ft_grays_raster.raster_reset(*grayRaster.data(), rasterPoolBase, rasterPoolSize);
} else {
done = true;
}
}
+
+#if defined(Q_WS_WIN64)
+ _aligned_free(rasterPoolBase);
+#else
+ if (rasterPoolBase != rasterPoolOnStack) // initially on the stack
+ free(rasterPoolBase);
+#endif
}
void QRasterPaintEnginePrivate::recalculateFastImages()
diff --git a/src/gui/painting/qpaintengine_raster_p.h b/src/gui/painting/qpaintengine_raster_p.h
index a21560cb01..fd635e6c62 100644
--- a/src/gui/painting/qpaintengine_raster_p.h
+++ b/src/gui/painting/qpaintengine_raster_p.h
@@ -302,6 +302,7 @@ QRasterPaintEnginePrivate : public QPaintEngineExPrivate
{
Q_DECLARE_PUBLIC(QRasterPaintEngine)
public:
+ QRasterPaintEnginePrivate();
void rasterizeLine_dashed(QLineF line, qreal width,
int *dashIndex, qreal *dashOffset, bool *inDash);
@@ -356,8 +357,6 @@ public:
QScopedPointer<QDashStroker> dashStroker;
QScopedPointer<QT_FT_Raster> grayRaster;
- unsigned long rasterPoolSize;
- unsigned char *rasterPoolBase;
QDataBuffer<QLineF> cachedLines;
QSpanData image_filler;
diff --git a/src/gui/painting/qpaintengine_x11.cpp b/src/gui/painting/qpaintengine_x11.cpp
index da48fcb0b3..910b2df3d7 100644
--- a/src/gui/painting/qpaintengine_x11.cpp
+++ b/src/gui/painting/qpaintengine_x11.cpp
@@ -79,6 +79,8 @@
#include <private/qtessellator_p.h>
#endif
+#include <private/qstylehelper_p.h>
+
QT_BEGIN_NAMESPACE
extern Drawable qt_x11Handle(const QPaintDevice *pd);
@@ -224,7 +226,10 @@ static const uchar base_dither_matrix[DITHER_SIZE][DITHER_SIZE] = {
static QPixmap qt_patternForAlpha(uchar alpha, int screen)
{
QPixmap pm;
- QString key = QLatin1String("$qt-alpha-brush$") + QString::number(alpha) + QString::number(screen);
+ QString key = QLatin1Literal("$qt-alpha-brush$")
+ % HexString<uchar>(alpha)
+ % HexString<int>(screen);
+
if (!QPixmapCache::find(key, pm)) {
// #### why not use a mono image here????
QImage pattern(DITHER_SIZE, DITHER_SIZE, QImage::Format_ARGB32);
@@ -315,7 +320,7 @@ static Picture getPatternFill(int screen, const QBrush &b)
return X11->pattern_fills[i].picture;
}
// none found, replace one
- int i = rand() % 16;
+ int i = qrand() % 16;
if (X11->pattern_fills[i].screen != screen && X11->pattern_fills[i].picture) {
XRenderFreePicture (X11->display, X11->pattern_fills[i].picture);
@@ -1448,6 +1453,11 @@ void QX11PaintEngine::drawEllipse(const QRectF &rect)
void QX11PaintEngine::drawEllipse(const QRect &rect)
{
+ if (rect.isEmpty()) {
+ drawRects(&rect, 1);
+ return;
+ }
+
Q_D(QX11PaintEngine);
QRect devclip(SHRT_MIN, SHRT_MIN, SHRT_MAX*2 - 1, SHRT_MAX*2 - 1);
QRect r(rect);
diff --git a/src/gui/painting/qpaintengineex.cpp b/src/gui/painting/qpaintengineex.cpp
index a78cafb394..e0746fbb5a 100644
--- a/src/gui/painting/qpaintengineex.cpp
+++ b/src/gui/painting/qpaintengineex.cpp
@@ -149,6 +149,7 @@ QDebug Q_GUI_EXPORT &operator<<(QDebug &s, const QVectorPath &path)
struct StrokeHandler {
+ StrokeHandler(int reserve) : pts(reserve), types(reserve) {}
QDataBuffer<qreal> pts;
QDataBuffer<QPainterPath::ElementType> types;
};
@@ -394,7 +395,7 @@ void QPaintEngineEx::stroke(const QVectorPath &path, const QPen &pen)
return;
if (!d->strokeHandler) {
- d->strokeHandler = new StrokeHandler;
+ d->strokeHandler = new StrokeHandler(path.elementCount()+4);
d->stroker.setMoveToHook(qpaintengineex_moveTo);
d->stroker.setLineToHook(qpaintengineex_lineTo);
d->stroker.setCubicToHook(qpaintengineex_cubicTo);
@@ -460,6 +461,7 @@ void QPaintEngineEx::stroke(const QVectorPath &path, const QPen &pen)
// change the current transform. Normal transformed,
// non-cosmetic pens will be transformed as part of fill
// later, so they are also covered here..
+ d->activeStroker->setCurveThresholdFromTransform(state()->matrix);
d->activeStroker->begin(d->strokeHandler);
if (types) {
while (points < lastPoint) {
@@ -492,11 +494,9 @@ void QPaintEngineEx::stroke(const QVectorPath &path, const QPen &pen)
} else {
d->activeStroker->moveTo(points[0], points[1]);
points += 2;
- ++types;
while (points < lastPoint) {
d->activeStroker->lineTo(points[0], points[1]);
points += 2;
- ++types;
}
if (path.hasImplicitClose())
d->activeStroker->lineTo(path.points()[0], path.points()[1]);
@@ -517,6 +517,7 @@ void QPaintEngineEx::stroke(const QVectorPath &path, const QPen &pen)
QPainterPath painterPath = state()->matrix.map(path.convertToPainterPath());
d->activeStroker->strokePath(painterPath, d->strokeHandler, QTransform());
} else {
+ d->activeStroker->setCurveThresholdFromTransform(state()->matrix);
d->activeStroker->begin(d->strokeHandler);
if (types) {
while (points < lastPoint) {
@@ -558,12 +559,10 @@ void QPaintEngineEx::stroke(const QVectorPath &path, const QPen &pen)
QPointF p = ((QPointF *)points)[0] * state()->matrix;
d->activeStroker->moveTo(p.x(), p.y());
points += 2;
- ++types;
while (points < lastPoint) {
QPointF p = ((QPointF *)points)[0] * state()->matrix;
d->activeStroker->lineTo(p.x(), p.y());
points += 2;
- ++types;
}
if (path.hasImplicitClose())
d->activeStroker->lineTo(p.x(), p.y());
diff --git a/src/gui/painting/qpainter.cpp b/src/gui/painting/qpainter.cpp
index 898a996e15..d17c7117c8 100644
--- a/src/gui/painting/qpainter.cpp
+++ b/src/gui/painting/qpainter.cpp
@@ -72,6 +72,7 @@
#include <private/qmath_p.h>
#include <qstatictext.h>
#include <private/qstatictext_p.h>
+#include <private/qstylehelper_p.h>
QT_BEGIN_NAMESPACE
@@ -970,7 +971,7 @@ void QPainterPrivate::updateState(QPainterState *newState)
devices. If the painter is active, device() returns the paint
device on which the painter paints, and paintEngine() returns the
paint engine that the painter is currently operating on. For more
- information, see \l {The Paint System} documentation.
+ information, see the \l {Paint System}.
Sometimes it is desirable to make someone else paint on an unusual
QPaintDevice. QPainter supports a static function to do this,
@@ -1015,7 +1016,7 @@ void QPainterPrivate::updateState(QPainterState *newState)
\o viewport(), window(), worldTransform() make up the painter's coordinate
transformation system. For more information, see the \l
- {Coordinate Transformations} section and the \l {The Coordinate
+ {Coordinate Transformations} section and the \l {Coordinate
System} documentation.
\o hasClipping() tells whether the painter clips at all. (The paint
@@ -1222,7 +1223,7 @@ void QPainterPrivate::updateState(QPainterState *newState)
All the tranformation operations operate on the transformation
worldTransform(). A matrix transforms a point in the plane to another
point. For more information about the transformation matrix, see
- the \l {The Coordinate System} and QTransform documentation.
+ the \l {Coordinate System} and QTransform documentation.
The setWorldTransform() function can replace or add to the currently
set worldTransform(). The resetTransform() function resets any
@@ -1244,7 +1245,7 @@ void QPainterPrivate::updateState(QPainterState *newState)
logical coordinates, and the worldTransform() is identical with the
transformation matrix.
- See also \l {The Coordinate System} documentation.
+ See also \l {Coordinate System}
\section1 Clipping
@@ -1563,7 +1564,6 @@ void QPainter::initFrom(const QWidget *widget)
d->engine->setDirty(QPaintEngine::DirtyBrush);
d->engine->setDirty(QPaintEngine::DirtyFont);
}
- d->state->layoutDirection = widget->layoutDirection();
}
@@ -1873,7 +1873,7 @@ bool QPainter::begin(QPaintDevice *pd)
QWidget *widget = static_cast<QWidget *>(d->original_device);
initFrom(widget);
} else {
- d->state->layoutDirection = QApplication::layoutDirection();
+ d->state->layoutDirection = Qt::LayoutDirectionAuto;
// make sure we have a font compatible with the paintdevice
d->state->deviceFont = d->state->font = QFont(d->state->deviceFont, device());
}
@@ -2880,8 +2880,7 @@ void QPainter::setClipRegion(const QRegion &r, Qt::ClipOperation op)
functions is safe.
For more information about the coordinate system, transformations
- and window-viewport conversion, see \l {The Coordinate System}
- documentation.
+ and window-viewport conversion, see \l {Coordinate System}.
\sa setWorldTransform(), QTransform
*/
@@ -2901,7 +2900,7 @@ void QPainter::setWorldMatrix(const QMatrix &matrix, bool combine)
preserve the properties of perspective transformations.
\sa {QPainter#Coordinate Transformations}{Coordinate Transformations},
- {The Coordinate System}
+ {Coordinate System}
*/
const QMatrix &QPainter::worldMatrix() const
@@ -3044,7 +3043,7 @@ void QPainter::setWorldMatrixEnabled(bool enable)
Returns true if world transformation is enabled; otherwise returns
false.
- \sa setWorldMatrixEnabled(), worldTransform(), {The Coordinate System}
+ \sa setWorldMatrixEnabled(), worldTransform(), {Coordinate System}
*/
bool QPainter::worldMatrixEnabled() const
@@ -3386,7 +3385,7 @@ void QPainter::drawPath(const QPainterPath &path)
\snippet doc/src/snippets/code/src_gui_painting_qpainter.cpp 6
\endtable
- \sa drawLines(), drawPolyline(), {The Coordinate System}
+ \sa drawLines(), drawPolyline(), {Coordinate System}
*/
/*!
@@ -3433,7 +3432,7 @@ void QPainter::drawPath(const QPainterPath &path)
\snippet doc/src/snippets/code/src_gui_painting_qpainter.cpp 7
\endtable
- \sa drawRects(), drawPolygon(), {The Coordinate System}
+ \sa drawRects(), drawPolygon(), {Coordinate System}
*/
/*!
@@ -3597,7 +3596,7 @@ void QPainter::drawRects(const QRect *rects, int rectCount)
Draws a single point at the given \a position using the current
pen's color.
- \sa {The Coordinate System}
+ \sa {Coordinate System}
*/
/*!
@@ -3619,7 +3618,7 @@ void QPainter::drawRects(const QRect *rects, int rectCount)
Draws the first \a pointCount points in the array \a points using
the current pen's color.
- \sa {The Coordinate System}
+ \sa {Coordinate System}
*/
void QPainter::drawPoints(const QPointF *points, int pointCount)
{
@@ -4225,7 +4224,7 @@ void QPainter::drawRoundRect(const QRectF &r, int xRnd, int yRnd)
\snippet doc/src/snippets/code/src_gui_painting_qpainter.cpp 9
\endtable
- \sa drawPie(), {The Coordinate System}
+ \sa drawPie(), {Coordinate System}
*/
void QPainter::drawEllipse(const QRectF &r)
{
@@ -4239,8 +4238,6 @@ void QPainter::drawEllipse(const QRectF &r)
return;
QRectF rect(r.normalized());
- if (rect.isEmpty())
- return;
if (d->extended) {
d->extended->drawEllipse(rect);
@@ -4282,8 +4279,6 @@ void QPainter::drawEllipse(const QRect &r)
return;
QRect rect(r.normalized());
- if (rect.isEmpty())
- return;
if (d->extended) {
d->extended->drawEllipse(rect);
@@ -4355,7 +4350,7 @@ void QPainter::drawEllipse(const QRect &r)
\snippet doc/src/snippets/code/src_gui_painting_qpainter.cpp 10
\endtable
- \sa drawPie(), drawChord(), {The Coordinate System}
+ \sa drawPie(), drawChord(), {Coordinate System}
*/
void QPainter::drawArc(const QRectF &r, int a, int alen)
@@ -4419,7 +4414,7 @@ void QPainter::drawArc(const QRectF &r, int a, int alen)
\snippet doc/src/snippets/code/src_gui_painting_qpainter.cpp 11
\endtable
- \sa drawEllipse(), drawChord(), {The Coordinate System}
+ \sa drawEllipse(), drawChord(), {Coordinate System}
*/
void QPainter::drawPie(const QRectF &r, int a, int alen)
{
@@ -4488,7 +4483,7 @@ void QPainter::drawPie(const QRectF &r, int a, int alen)
\snippet doc/src/snippets/code/src_gui_painting_qpainter.cpp 12
\endtable
- \sa drawArc(), drawPie(), {The Coordinate System}
+ \sa drawArc(), drawPie(), {Coordinate System}
*/
void QPainter::drawChord(const QRectF &r, int a, int alen)
{
@@ -4779,7 +4774,7 @@ void QPainter::drawLines(const QPoint *pointPairs, int lineCount)
\snippet doc/src/snippets/code/src_gui_painting_qpainter.cpp 13
\endtable
- \sa drawLines(), drawPolygon(), {The Coordinate System}
+ \sa drawLines(), drawPolygon(), {Coordinate System}
*/
void QPainter::drawPolyline(const QPointF *points, int pointCount)
{
@@ -4918,7 +4913,7 @@ void QPainter::drawPolyline(const QPoint *points, int pointCount)
\l{Qt::FillRule} for a more detailed description of these fill
rules.
- \sa drawConvexPolygon(), drawPolyline(), {The Coordinate System}
+ \sa drawConvexPolygon(), drawPolyline(), {Coordinate System}
*/
void QPainter::drawPolygon(const QPointF *points, int pointCount, Qt::FillRule fillRule)
{
@@ -5069,7 +5064,7 @@ void QPainter::drawPolygon(const QPoint *points, int pointCount, Qt::FillRule fi
On some platforms (e.g. X11), the drawConvexPolygon() function can
be faster than the drawPolygon() function.
- \sa drawPolygon(), drawPolyline(), {The Coordinate System}
+ \sa drawPolygon(), drawPolyline(), {Coordinate System}
*/
/*!
@@ -5856,14 +5851,24 @@ void QPainter::drawStaticText(const QPointF &topLeftPosition, const QStaticText
return;
}
+ if (d->extended->type() == QPaintEngine::OpenGL2 && !staticText_d->untransformedCoordinates) {
+ staticText_d->untransformedCoordinates = true;
+ staticText_d->needsRelayout = true;
+ } else if (d->extended->type() != QPaintEngine::OpenGL2 && staticText_d->untransformedCoordinates) {
+ staticText_d->untransformedCoordinates = false;
+ staticText_d->needsRelayout = true;
+ }
+
// Don't recalculate entire layout because of translation, rather add the dx and dy
// into the position to move each text item the correct distance.
- QPointF transformedPosition = topLeftPosition * d->state->matrix;
- QTransform matrix = d->state->matrix;
+ QPointF transformedPosition = topLeftPosition;
+ if (!staticText_d->untransformedCoordinates)
+ transformedPosition = transformedPosition * d->state->matrix;
+ QTransform oldMatrix;
// The translation has been applied to transformedPosition. Remove translation
// component from matrix.
- if (d->state->matrix.isTranslating()) {
+ if (d->state->matrix.isTranslating() && !staticText_d->untransformedCoordinates) {
qreal m11 = d->state->matrix.m11();
qreal m12 = d->state->matrix.m12();
qreal m13 = d->state->matrix.m13();
@@ -5872,6 +5877,7 @@ void QPainter::drawStaticText(const QPointF &topLeftPosition, const QStaticText
qreal m23 = d->state->matrix.m23();
qreal m33 = d->state->matrix.m33();
+ oldMatrix = d->state->matrix;
d->state->matrix.setMatrix(m11, m12, m13,
m21, m22, m23,
0.0, 0.0, m33);
@@ -5880,7 +5886,7 @@ void QPainter::drawStaticText(const QPointF &topLeftPosition, const QStaticText
// If the transform is not identical to the text transform,
// we have to relayout the text (for other transformations than plain translation)
bool staticTextNeedsReinit = staticText_d->needsRelayout;
- if (staticText_d->matrix != d->state->matrix) {
+ if (!staticText_d->untransformedCoordinates && staticText_d->matrix != d->state->matrix) {
staticText_d->matrix = d->state->matrix;
staticTextNeedsReinit = true;
}
@@ -5919,8 +5925,8 @@ void QPainter::drawStaticText(const QPointF &topLeftPosition, const QStaticText
if (currentColor != oldPen.color())
setPen(oldPen);
- if (matrix.isTranslating())
- d->state->matrix = matrix;
+ if (!staticText_d->untransformedCoordinates && oldMatrix.isTranslating())
+ d->state->matrix = oldMatrix;
}
/*!
@@ -5938,6 +5944,23 @@ void QPainter::drawText(const QPointF &p, const QString &str, int tf, int justif
if (!d->engine || str.isEmpty() || pen().style() == Qt::NoPen)
return;
+ if (tf & Qt::TextBypassShaping) {
+ // Skip harfbuzz complex shaping, shape using glyph advances only
+ int len = str.length();
+ int numGlyphs = len;
+ QVarLengthGlyphLayoutArray glyphs(len);
+ QFontEngine *fontEngine = d->state->font.d->engineForScript(QUnicodeTables::Common);
+ if (!fontEngine->stringToCMap(str.data(), len, &glyphs, &numGlyphs, 0)) {
+ glyphs.resize(numGlyphs);
+ if (!fontEngine->stringToCMap(str.data(), len, &glyphs, &numGlyphs, 0))
+ Q_ASSERT_X(false, Q_FUNC_INFO, "stringToCMap shouldn't fail twice");
+ }
+
+ QTextItemInt gf(glyphs, &d->state->font, fontEngine);
+ drawTextItem(p, gf);
+ return;
+ }
+
QStackTextEngine engine(str, d->state->font);
engine.option.setTextDirection(d->state->layoutDirection);
if (tf & (Qt::TextForceLeftToRight|Qt::TextForceRightToLeft)) {
@@ -5977,12 +6000,17 @@ void QPainter::drawText(const QPointF &p, const QString &str, int tf, int justif
gf.glyphs = engine.shapedGlyphs(&si);
gf.chars = engine.layoutData->string.unicode() + si.position;
gf.num_chars = engine.length(item);
- gf.width = si.width;
+ if (engine.forceJustification) {
+ for (int j=0; j<gf.glyphs.numGlyphs; ++j)
+ gf.width += gf.glyphs.effectiveAdvance(j);
+ } else {
+ gf.width = si.width;
+ }
gf.logClusters = engine.logClusters(&si);
drawTextItem(QPointF(x.toReal(), p.y()), gf);
- x += si.width;
+ x += gf.width;
}
}
@@ -6213,10 +6241,9 @@ static QPixmap generateWavyPixmap(qreal maxRadius, const QPen &pen)
{
const qreal radiusBase = qMax(qreal(1), maxRadius);
- QString key = QLatin1String("WaveUnderline-");
- key += pen.color().name();
- key += QLatin1Char('-');
- key += QString::number(radiusBase);
+ QString key = QLatin1Literal("WaveUnderline-")
+ % pen.color().name()
+ % HexString<qreal>(radiusBase);
QPixmap pixmap;
if (QPixmapCache::find(key, pixmap))
@@ -7107,7 +7134,7 @@ bool QPainter::viewTransformEnabled() const
The default window rectangle is the same as the device's
rectangle.
- \sa window(), viewTransformEnabled(), {The Coordinate
+ \sa window(), viewTransformEnabled(), {Coordinate
System#Window-Viewport Conversion}{Window-Viewport Conversion}
*/
@@ -7171,7 +7198,7 @@ QRect QPainter::window() const
The default viewport rectangle is the same as the device's
rectangle.
- \sa viewport(), viewTransformEnabled() {The Coordinate
+ \sa viewport(), viewTransformEnabled() {Coordinate
System#Window-Viewport Conversion}{Window-Viewport Conversion}
*/
@@ -7255,7 +7282,7 @@ QRect QPainter::viewport() const
Enables view transformations if \a enable is true, or disables
view transformations if \a enable is false.
- \sa viewTransformEnabled(), {The Coordinate System#Window-Viewport
+ \sa viewTransformEnabled(), {Coordinate System#Window-Viewport
Conversion}{Window-Viewport Conversion}
*/
@@ -8024,7 +8051,10 @@ start_lengthVariant:
Sets the layout direction used by the painter when drawing text,
to the specified \a direction.
- \sa layoutDirection(), drawText(), {QPainter#Settings}{Settings}
+ The default is Qt::LayoutDirectionAuto, which will implicitly determine the
+ direction from the text drawn.
+
+ \sa QTextOption::setTextDirection(), layoutDirection(), drawText(), {QPainter#Settings}{Settings}
*/
void QPainter::setLayoutDirection(Qt::LayoutDirection direction)
{
@@ -8036,12 +8066,12 @@ void QPainter::setLayoutDirection(Qt::LayoutDirection direction)
/*!
Returns the layout direction used by the painter when drawing text.
- \sa setLayoutDirection(), drawText(), {QPainter#Settings}{Settings}
+ \sa QTextOption::textDirection(), setLayoutDirection(), drawText(), {QPainter#Settings}{Settings}
*/
Qt::LayoutDirection QPainter::layoutDirection() const
{
Q_D(const QPainter);
- return d->state ? d->state->layoutDirection : Qt::LeftToRight;
+ return d->state ? d->state->layoutDirection : Qt::LayoutDirectionAuto;
}
QPainterState::QPainterState(const QPainterState *s)
diff --git a/src/gui/painting/qpainterpath.cpp b/src/gui/painting/qpainterpath.cpp
index f5a698e71f..ffd0d5ce86 100644
--- a/src/gui/painting/qpainterpath.cpp
+++ b/src/gui/painting/qpainterpath.cpp
@@ -2307,7 +2307,7 @@ QPainterPath &QPainterPath::operator-=(const QPainterPath &other)
Writes the given painter \a path to the given \a stream, and
returns a reference to the \a stream.
- \sa {Format of the QDataStream Operators}
+ \sa {Serializing Qt Data Types}
*/
QDataStream &operator<<(QDataStream &s, const QPainterPath &p)
{
@@ -2334,7 +2334,7 @@ QDataStream &operator<<(QDataStream &s, const QPainterPath &p)
Reads a painter path from the given \a stream into the specified \a path,
and returns a reference to the \a stream.
- \sa {Format of the QDataStream Operators}
+ \sa {Serializing Qt Data Types}
*/
QDataStream &operator>>(QDataStream &s, QPainterPath &p)
{
diff --git a/src/gui/painting/qpathclipper.cpp b/src/gui/painting/qpathclipper.cpp
index c910024679..78553c9b5c 100644
--- a/src/gui/painting/qpathclipper.cpp
+++ b/src/gui/painting/qpathclipper.cpp
@@ -278,7 +278,8 @@ private:
};
SegmentTree::SegmentTree(QPathSegments &segments)
- : m_segments(segments)
+ : m_segments(segments),
+ m_intersections(0)
{
m_bounds.x1 = qt_inf();
m_bounds.y1 = qt_inf();
@@ -806,7 +807,7 @@ void QWingedEdge::intersectAndAdd()
for (int i = 0; i < m_segments.points(); ++i)
addVertex(m_segments.pointAt(i));
- QDataBuffer<QPathSegments::Intersection> intersections;
+ QDataBuffer<QPathSegments::Intersection> intersections(m_segments.segments());
for (int i = 0; i < m_segments.segments(); ++i) {
intersections.reset();
@@ -857,11 +858,17 @@ void QWingedEdge::intersectAndAdd()
}
}
-QWingedEdge::QWingedEdge()
+QWingedEdge::QWingedEdge() :
+ m_edges(0),
+ m_vertices(0),
+ m_segments(0)
{
}
-QWingedEdge::QWingedEdge(const QPainterPath &subject, const QPainterPath &clip)
+QWingedEdge::QWingedEdge(const QPainterPath &subject, const QPainterPath &clip) :
+ m_edges(subject.length()),
+ m_vertices(subject.length()),
+ m_segments(subject.length())
{
m_segments.setPath(subject);
m_segments.addPath(clip);
@@ -1414,9 +1421,9 @@ bool QPathClipper::intersect()
else if (clipIsRect)
return subjectPath.intersects(r2);
- QPathSegments a;
+ QPathSegments a(subjectPath.length());
a.setPath(subjectPath);
- QPathSegments b;
+ QPathSegments b(clipPath.length());
b.setPath(clipPath);
QIntersectionFinder finder;
@@ -1459,9 +1466,9 @@ bool QPathClipper::contains()
if (clipIsRect)
return subjectPath.contains(r2);
- QPathSegments a;
+ QPathSegments a(subjectPath.length());
a.setPath(subjectPath);
- QPathSegments b;
+ QPathSegments b(clipPath.length());
b.setPath(clipPath);
QIntersectionFinder finder;
diff --git a/src/gui/painting/qpathclipper_p.h b/src/gui/painting/qpathclipper_p.h
index 7962400d85..fab618d79e 100644
--- a/src/gui/painting/qpathclipper_p.h
+++ b/src/gui/painting/qpathclipper_p.h
@@ -199,7 +199,7 @@ public:
};
- QPathSegments();
+ QPathSegments(int reserve);
void setPath(const QPainterPath &path);
void addPath(const QPainterPath &path);
@@ -345,7 +345,10 @@ inline QPathVertex::operator QPointF() const
return QPointF(x, y);
}
-inline QPathSegments::QPathSegments()
+inline QPathSegments::QPathSegments(int reserve) :
+ m_points(reserve),
+ m_segments(reserve),
+ m_intersections(reserve)
{
}
diff --git a/src/gui/painting/qpdf.cpp b/src/gui/painting/qpdf.cpp
index 44049c0d8f..6e02435a43 100644
--- a/src/gui/painting/qpdf.cpp
+++ b/src/gui/painting/qpdf.cpp
@@ -971,12 +971,17 @@ void QPdfBaseEngine::drawPoints (const QPointF *points, int pointCount)
if (!points)
return;
+ Q_D(QPdfBaseEngine);
QPainterPath p;
for (int i=0; i!=pointCount;++i) {
p.moveTo(points[i]);
p.lineTo(points[i] + QPointF(0, 0.001));
}
+
+ bool hadBrush = d->hasBrush;
+ d->hasBrush = false;
drawPath(p);
+ d->hasBrush = hadBrush;
}
void QPdfBaseEngine::drawLines (const QLineF *lines, int lineCount)
@@ -984,12 +989,16 @@ void QPdfBaseEngine::drawLines (const QLineF *lines, int lineCount)
if (!lines)
return;
+ Q_D(QPdfBaseEngine);
QPainterPath p;
for (int i=0; i!=lineCount;++i) {
p.moveTo(lines[i].p1());
p.lineTo(lines[i].p2());
}
+ bool hadBrush = d->hasBrush;
+ d->hasBrush = false;
drawPath(p);
+ d->hasBrush = hadBrush;
}
void QPdfBaseEngine::drawRects (const QRectF *rects, int rectCount)
diff --git a/src/gui/painting/qpen.cpp b/src/gui/painting/qpen.cpp
index e290cbe9f2..2e43984a4f 100644
--- a/src/gui/painting/qpen.cpp
+++ b/src/gui/painting/qpen.cpp
@@ -92,7 +92,7 @@ typedef QPenPrivate QPenData;
convenience functions to extract and set the color of the pen's
brush, respectively. Pens may also be compared and streamed.
- For more information about painting in general, see \l{The Paint
+ For more information about painting in general, see the \l{Paint
System} documentation.
\tableofcontents
@@ -872,7 +872,7 @@ bool QPen::isDetached()
Writes the given \a pen to the given \a stream and returns a reference to
the \a stream.
- \sa {Format of the QDataStream Operators}
+ \sa {Serializing Qt Data Types}
*/
QDataStream &operator<<(QDataStream &s, const QPen &p)
@@ -918,7 +918,7 @@ QDataStream &operator<<(QDataStream &s, const QPen &p)
Reads a pen from the given \a stream into the given \a pen and
returns a reference to the \a stream.
- \sa {Format of the QDataStream Operators}
+ \sa {Serializing Qt Data Types}
*/
QDataStream &operator>>(QDataStream &s, QPen &p)
diff --git a/src/gui/painting/qpolygon.cpp b/src/gui/painting/qpolygon.cpp
index b68314f28b..2fb52b5ef5 100644
--- a/src/gui/painting/qpolygon.cpp
+++ b/src/gui/painting/qpolygon.cpp
@@ -719,7 +719,7 @@ QPolygon::operator QVariant() const
Writes the given \a polygon to the given \a stream, and returns a
reference to the stream.
- \sa {Format of the QDataStream Operators}
+ \sa {Serializing Qt Data Types}
*/
QDataStream &operator<<(QDataStream &s, const QPolygon &a)
{
@@ -735,7 +735,7 @@ QDataStream &operator<<(QDataStream &s, const QPolygon &a)
Reads a polygon from the given \a stream into the given \a
polygon, and returns a reference to the stream.
- \sa {Format of the QDataStream Operators}
+ \sa {Serializing Qt Data Types}
*/
QDataStream &operator>>(QDataStream &s, QPolygon &a)
{
@@ -755,7 +755,7 @@ QDataStream &operator>>(QDataStream &s, QPolygon &a)
Writes the given \a polygon to the given \a stream, and returns a
reference to the stream.
- \sa {Format of the QDataStream Operators}
+ \sa {Serializing Qt Data Types}
*/
QDataStream &operator<<(QDataStream &s, const QPolygonF &a)
@@ -776,7 +776,7 @@ QDataStream &operator<<(QDataStream &s, const QPolygonF &a)
Reads a polygon from the given \a stream into the given \a
polygon, and returns a reference to the stream.
- \sa {Format of the QDataStream Operators}
+ \sa {Serializing Qt Data Types}
*/
QDataStream &operator>>(QDataStream &s, QPolygonF &a)
diff --git a/src/gui/painting/qpolygonclipper_p.h b/src/gui/painting/qpolygonclipper_p.h
index 1b4cbb3031..cdaac1c97a 100644
--- a/src/gui/painting/qpolygonclipper_p.h
+++ b/src/gui/painting/qpolygonclipper_p.h
@@ -62,7 +62,8 @@ QT_BEGIN_NAMESPACE
template <typename InType, typename OutType, typename CastType> class QPolygonClipper
{
public:
- QPolygonClipper()
+ QPolygonClipper() :
+ buffer1(0), buffer2(0)
{
x1 = y1 = x2 = y2 = 0;
}
diff --git a/src/gui/painting/qprintengine_pdf.cpp b/src/gui/painting/qprintengine_pdf.cpp
index b8bf15e66d..2955e398fa 100644
--- a/src/gui/painting/qprintengine_pdf.cpp
+++ b/src/gui/painting/qprintengine_pdf.cpp
@@ -931,29 +931,16 @@ void QPdfEnginePrivate::writeHeader()
void QPdfEnginePrivate::writeInfo()
{
info = addXrefEntry(-1);
-
- // The 'text string' type in PDF is encoded either as PDFDocEncoding, or
- // Unicode UTF-16 with a Unicode byte order mark as the first character
- // (0xfeff), with the high-order byte first.
- QByteArray array("<<\n/Title (\xfe\xff");
- const ushort *utf16Title = title.utf16();
- for (int i=0; i < title.size(); ++i) {
- array.append((*(utf16Title + i)) >> 8);
- array.append((*(utf16Title + i)) & 0xff);
- }
- array.append(")\n/Creator (\xfe\xff");
- const ushort *utf16Creator = creator.utf16();
- for (int i=0; i < creator.size(); ++i) {
- array.append((*(utf16Creator + i)) >> 8);
- array.append((*(utf16Creator + i)) & 0xff);
- }
- array.append(")\n/Producer (Qt " QT_VERSION_STR " (C) 2010 Nokia Corporation and/or its subsidiary(-ies))\n");
- write(array);
-
+ xprintf("<<\n/Title ");
+ printString(title);
+ xprintf("\n/Creator ");
+ printString(creator);
+ xprintf("\n/Producer ");
+ printString(QString::fromLatin1("Qt " QT_VERSION_STR " (C) 2010 Nokia Corporation and/or its subsidiary(-ies)"));
QDateTime now = QDateTime::currentDateTime().toUTC();
QTime t = now.time();
QDate d = now.date();
- xprintf("/CreationDate (D:%d%02d%02d%02d%02d%02d)\n",
+ xprintf("\n/CreationDate (D:%d%02d%02d%02d%02d%02d)\n",
d.year(),
d.month(),
d.day(),
@@ -1230,6 +1217,25 @@ int QPdfEnginePrivate::addXrefEntry(int object, bool printostr)
return object;
}
+void QPdfEnginePrivate::printString(const QString &string) {
+ // The 'text string' type in PDF is encoded either as PDFDocEncoding, or
+ // Unicode UTF-16 with a Unicode byte order mark as the first character
+ // (0xfeff), with the high-order byte first.
+ QByteArray array("(\xfe\xff");
+ const ushort *utf16 = string.utf16();
+
+ for (int i=0; i < string.size(); ++i) {
+ char part[2] = {char((*(utf16 + i)) >> 8), char((*(utf16 + i)) & 0xff)};
+ for(int j=0; j < 2; ++j) {
+ if (part[j] == '(' || part[j] == ')' || part[j] == '\\')
+ array.append('\\');
+ array.append(part[j]);
+ }
+ }
+ array.append(")");
+ write(array);
+}
+
QT_END_NAMESPACE
#endif // QT_NO_PRINTER
diff --git a/src/gui/painting/qprintengine_pdf_p.h b/src/gui/painting/qprintengine_pdf_p.h
index cb6c59ddb6..e0ca56fba1 100644
--- a/src/gui/painting/qprintengine_pdf_p.h
+++ b/src/gui/painting/qprintengine_pdf_p.h
@@ -170,6 +170,7 @@ private:
void writePage();
int addXrefEntry(int object, bool printostr = true);
+ void printString(const QString &string);
void xprintf(const char* fmt, ...);
inline void write(const QByteArray &data) {
stream->writeRawData(data.constData(), data.size());
diff --git a/src/gui/painting/qrasterdefs_p.h b/src/gui/painting/qrasterdefs_p.h
index c33fa5701e..19a0b16974 100644
--- a/src/gui/painting/qrasterdefs_p.h
+++ b/src/gui/painting/qrasterdefs_p.h
@@ -81,7 +81,6 @@
QT_FT_BEGIN_HEADER
-
/*************************************************************************/
/* */
/* <Section> */
@@ -837,7 +836,7 @@ QT_FT_BEGIN_HEADER
/* A handle (pointer) to a raster object. Each object can be used */
/* independently to convert an outline into a bitmap or pixmap. */
/* */
- typedef struct QT_FT_RasterRec_* QT_FT_Raster;
+ typedef struct TRaster_ *QT_FT_Raster;
/*************************************************************************/
@@ -1118,8 +1117,7 @@ QT_FT_BEGIN_HEADER
/* ignored by a given raster implementation. */
/* */
typedef int
- (*QT_FT_Raster_NewFunc)( void* memory,
- QT_FT_Raster* raster );
+ (*QT_FT_Raster_NewFunc)( QT_FT_Raster* raster );
#define QT_FT_Raster_New_Func QT_FT_Raster_NewFunc
diff --git a/src/gui/painting/qrasterizer.cpp b/src/gui/painting/qrasterizer.cpp
index 51d01c911b..f8f8afb088 100644
--- a/src/gui/painting/qrasterizer.cpp
+++ b/src/gui/painting/qrasterizer.cpp
@@ -198,9 +198,11 @@ public:
};
QScanConverter::QScanConverter()
- : m_alloc(0)
+ : m_lines(0)
+ , m_alloc(0)
, m_size(0)
, m_intersections(0)
+ , m_active(0)
{
}
@@ -310,6 +312,10 @@ struct QBoolToType
template <typename T>
void qScanConvert(QScanConverter &d, T allVertical)
{
+ if (!d.m_lines.size()) {
+ d.m_active.reset();
+ return;
+ }
qSort(d.m_lines.data(), d.m_lines.data() + d.m_lines.size(), QT_PREPEND_NAMESPACE(topOrder));
int line = 0;
for (int y = d.m_lines.first().top; y <= d.m_bottom; ++y) {
diff --git a/src/gui/painting/qstroker.cpp b/src/gui/painting/qstroker.cpp
index e43544cec2..eabbd8a602 100644
--- a/src/gui/painting/qstroker.cpp
+++ b/src/gui/painting/qstroker.cpp
@@ -120,8 +120,8 @@ private:
class QSubpathFlatIterator
{
public:
- QSubpathFlatIterator(const QDataBuffer<QStrokerOps::Element> *path)
- : m_path(path), m_pos(0), m_curve_index(-1) { }
+ QSubpathFlatIterator(const QDataBuffer<QStrokerOps::Element> *path, qreal threshold)
+ : m_path(path), m_pos(0), m_curve_index(-1), m_curve_threshold(threshold) { }
inline bool hasNext() const { return m_curve_index >= 0 || m_pos < m_path->size(); }
@@ -152,7 +152,7 @@ public:
QPointF(qt_fixed_to_real(m_path->at(m_pos+1).x),
qt_fixed_to_real(m_path->at(m_pos+1).y)),
QPointF(qt_fixed_to_real(m_path->at(m_pos+2).x),
- qt_fixed_to_real(m_path->at(m_pos+2).y))).toPolygon();
+ qt_fixed_to_real(m_path->at(m_pos+2).y))).toPolygon(m_curve_threshold);
m_curve_index = 1;
e.type = QPainterPath::LineToElement;
e.x = m_curve.at(0).x();
@@ -169,6 +169,7 @@ private:
int m_pos;
QPolygonF m_curve;
int m_curve_index;
+ qreal m_curve_threshold;
};
template <class Iterator> bool qt_stroke_side(Iterator *it, QStroker *stroker,
@@ -187,7 +188,12 @@ static inline qreal adapted_angle_on_x(const QLineF &line)
}
QStrokerOps::QStrokerOps()
- : m_customData(0), m_moveTo(0), m_lineTo(0), m_cubicTo(0)
+ : m_elements(0)
+ , m_curveThreshold(qt_real_to_fixed(0.25))
+ , m_customData(0)
+ , m_moveTo(0)
+ , m_lineTo(0)
+ , m_cubicTo(0)
{
}
@@ -195,7 +201,6 @@ QStrokerOps::~QStrokerOps()
{
}
-
/*!
Prepares the stroker. Call this function once before starting a
stroke by calling moveTo, lineTo or cubicTo.
@@ -238,6 +243,7 @@ void QStrokerOps::strokePath(const QPainterPath &path, void *customData, const Q
if (path.isEmpty())
return;
+ setCurveThresholdFromTransform(matrix);
begin(customData);
int count = path.elementCount();
if (matrix.isIdentity()) {
@@ -308,6 +314,8 @@ void QStrokerOps::strokePolygon(const QPointF *points, int pointCount, bool impl
{
if (!pointCount)
return;
+
+ setCurveThresholdFromTransform(matrix);
begin(data);
if (matrix.isIdentity()) {
moveTo(qt_real_to_fixed(points[0].x()), qt_real_to_fixed(points[0].y()));
@@ -348,6 +356,7 @@ void QStrokerOps::strokeEllipse(const QRectF &rect, void *data, const QTransform
}
}
+ setCurveThresholdFromTransform(matrix);
begin(data);
moveTo(qt_real_to_fixed(start.x()), qt_real_to_fixed(start.y()));
for (int i=0; i<12; i+=3) {
@@ -366,12 +375,10 @@ QStroker::QStroker()
{
m_strokeWidth = qt_real_to_fixed(1);
m_miterLimit = qt_real_to_fixed(2);
- m_curveThreshold = qt_real_to_fixed(0.25);
}
QStroker::~QStroker()
{
-
}
Qt::PenCapStyle QStroker::capForJoinMode(LineJoinMode mode)
@@ -1135,7 +1142,7 @@ void QDashStroker::processCurrentSubpath()
QPainterPath dashPath;
- QSubpathFlatIterator it(&m_elements);
+ QSubpathFlatIterator it(&m_elements, m_curveThreshold);
qfixed2d prev = it.next();
bool clipping = !m_clip_rect.isEmpty();
diff --git a/src/gui/painting/qstroker_p.h b/src/gui/painting/qstroker_p.h
index 3e622a8932..d646135af1 100644
--- a/src/gui/painting/qstroker_p.h
+++ b/src/gui/painting/qstroker_p.h
@@ -124,6 +124,9 @@ typedef void (*qStrokerCubicToHook)(qfixed c1x, qfixed c1y,
qfixed ex, qfixed ey,
void *data);
+// qtransform.cpp
+Q_GUI_EXPORT bool qt_scaleForTransform(const QTransform &transform, qreal *scale);
+
class Q_GUI_EXPORT QStrokerOps
{
public:
@@ -161,6 +164,16 @@ public:
QRectF clipRect() const { return m_clip_rect; }
void setClipRect(const QRectF &clip) { m_clip_rect = clip; }
+ void setCurveThresholdFromTransform(const QTransform &transform)
+ {
+ qreal scale;
+ qt_scaleForTransform(transform, &scale);
+ setCurveThreshold(scale == 0 ? qreal(0.5) : (qreal(0.5) / scale));
+ }
+
+ void setCurveThreshold(qfixed threshold) { m_curveThreshold = threshold; }
+ qfixed curveThreshold() const { return m_curveThreshold; }
+
protected:
inline void emitMoveTo(qfixed x, qfixed y);
inline void emitLineTo(qfixed x, qfixed y);
@@ -170,6 +183,7 @@ protected:
QDataBuffer<Element> m_elements;
QRectF m_clip_rect;
+ qfixed m_curveThreshold;
void *m_customData;
qStrokerMoveToHook m_moveTo;
@@ -208,9 +222,6 @@ public:
void setMiterLimit(qfixed length) { m_miterLimit = length; }
qfixed miterLimit() const { return m_miterLimit; }
- void setCurveThreshold(qfixed threshold) { m_curveThreshold = threshold; }
- qfixed curveThreshold() const { return m_curveThreshold; }
-
void joinPoints(qfixed x, qfixed y, const QLineF &nextLine, LineJoinMode join);
inline void emitMoveTo(qfixed x, qfixed y);
inline void emitLineTo(qfixed x, qfixed y);
@@ -227,7 +238,6 @@ protected:
qfixed m_strokeWidth;
qfixed m_miterLimit;
- qfixed m_curveThreshold;
LineJoinMode m_capStyle;
LineJoinMode m_joinStyle;
diff --git a/src/gui/painting/qtextureglyphcache_p.h b/src/gui/painting/qtextureglyphcache_p.h
index 390fe51b28..a818978915 100644
--- a/src/gui/painting/qtextureglyphcache_p.h
+++ b/src/gui/painting/qtextureglyphcache_p.h
@@ -125,7 +125,7 @@ protected:
};
-class QImageTextureGlyphCache : public QTextureGlyphCache
+class Q_GUI_EXPORT QImageTextureGlyphCache : public QTextureGlyphCache
{
public:
QImageTextureGlyphCache(QFontEngineGlyphCache::Type type, const QTransform &matrix)
diff --git a/src/gui/painting/qtransform.cpp b/src/gui/painting/qtransform.cpp
index 80b75202ac..47b7758407 100644
--- a/src/gui/painting/qtransform.cpp
+++ b/src/gui/painting/qtransform.cpp
@@ -148,8 +148,8 @@ QT_BEGIN_NAMESPACE
coordinate system. The standard coordinate system of a
QPaintDevice has its origin located at the top-left position. The
\e x values increase to the right; \e y values increase
- downward. For a complete description, see the \l {The Coordinate
- System}{coordinate system} documentation.
+ downward. For a complete description, see the \l {Coordinate
+ System} {coordinate system} documentation.
QPainter has functions to translate, scale, shear and rotate the
coordinate system without using a QTransform. For example:
@@ -223,7 +223,7 @@ QT_BEGIN_NAMESPACE
\snippet doc/src/snippets/transform/main.cpp 2
\endtable
- \sa QPainter, {The Coordinate System}, {demos/affine}{Affine
+ \sa QPainter, {Coordinate System}, {demos/affine}{Affine
Transformations Demo}, {Transformations Example}
*/
@@ -1028,7 +1028,7 @@ void QTransform::reset()
Writes the given \a matrix to the given \a stream and returns a
reference to the stream.
- \sa {Format of the QDataStream Operators}
+ \sa {Serializing Qt Data Types}
*/
QDataStream & operator<<(QDataStream &s, const QTransform &m)
{
@@ -1052,7 +1052,7 @@ QDataStream & operator<<(QDataStream &s, const QTransform &m)
Reads the given \a matrix from the given \a stream and returns a
reference to the stream.
- \sa {Format of the QDataStream Operators}
+ \sa {Serializing Qt Data Types}
*/
QDataStream & operator>>(QDataStream &s, QTransform &t)
{
@@ -1545,12 +1545,19 @@ static inline bool lineTo_clipped(QPainterPath &path, const QTransform &transfor
return true;
}
+Q_GUI_EXPORT bool qt_scaleForTransform(const QTransform &transform, qreal *scale);
static inline bool cubicTo_clipped(QPainterPath &path, const QTransform &transform, const QPointF &a, const QPointF &b, const QPointF &c, const QPointF &d, bool needsMoveTo)
{
// Convert projective xformed curves to line
// segments so they can be transformed more accurately
- QPolygonF segment = QBezier::fromPoints(a, b, c, d).toPolygon();
+
+ qreal scale;
+ qt_scaleForTransform(transform, &scale);
+
+ qreal curveThreshold = scale == 0 ? qreal(0.25) : (qreal(0.25) / scale);
+
+ QPolygonF segment = QBezier::fromPoints(a, b, c, d).toPolygon(curveThreshold);
for (int i = 0; i < segment.size() - 1; ++i)
if (lineTo_clipped(path, transform, segment.at(i), segment.at(i+1), needsMoveTo))
@@ -1619,7 +1626,7 @@ static QPainterPath mapProjective(const QTransform &transform, const QPainterPat
QPainterPath QTransform::map(const QPainterPath &path) const
{
TransformationType t = inline_type();
- if (t == TxNone || path.isEmpty())
+ if (t == TxNone || path.elementCount() == 0)
return path;
if (t >= TxProject)
diff --git a/src/gui/painting/qwindowsurface.cpp b/src/gui/painting/qwindowsurface.cpp
index 3b542bc38b..c42ead093c 100644
--- a/src/gui/painting/qwindowsurface.cpp
+++ b/src/gui/painting/qwindowsurface.cpp
@@ -43,6 +43,7 @@
#include <qwidget.h>
#include <private/qwidget_p.h>
#include <private/qbackingstore_p.h>
+#include <private/qapplication_p.h>
QT_BEGIN_NAMESPACE
@@ -120,8 +121,10 @@ public:
QWindowSurface::QWindowSurface(QWidget *window)
: d_ptr(new QWindowSurfacePrivate(window))
{
- if (window)
- window->setWindowSurface(this);
+ if (!QApplicationPrivate::runtime_graphics_system) {
+ if(window)
+ window->setWindowSurface(this);
+ }
}
/*!
diff --git a/src/gui/painting/qwindowsurface_s60.cpp b/src/gui/painting/qwindowsurface_s60.cpp
index b25dce528a..477bd93d08 100644
--- a/src/gui/painting/qwindowsurface_s60.cpp
+++ b/src/gui/painting/qwindowsurface_s60.cpp
@@ -43,10 +43,15 @@
#include <QtGui/qpaintdevice.h>
#include <private/qwidget_p.h>
-#include "qwindowsurface_s60_p.h"
+#include <private/qwindowsurface_s60_p.h>
#include <private/qpixmap_s60_p.h>
#include <private/qt_s60_p.h>
-#include "private/qdrawhelper_p.h"
+#include <private/qapplication_p.h>
+#include <private/qdrawhelper_p.h>
+
+#ifdef QT_GRAPHICSSYSTEM_RUNTIME
+#include <private/qgraphicssystem_runtime_p.h>
+#endif
QT_BEGIN_NAMESPACE
@@ -79,13 +84,35 @@ QS60WindowSurface::QS60WindowSurface(QWidget* widget)
setStaticContentsSupport(true);
}
+
QS60WindowSurface::~QS60WindowSurface()
{
+#if defined(QT_GRAPHICSSYSTEM_RUNTIME) && defined(Q_SYMBIAN_SUPPORTS_SURFACES)
+ if(QApplicationPrivate::runtime_graphics_system) {
+ QRuntimeGraphicsSystem *runtimeGraphicsSystem =
+ static_cast<QRuntimeGraphicsSystem*>(QApplicationPrivate::graphics_system);
+ if(runtimeGraphicsSystem->graphicsSystemName() == QLatin1String("openvg")) {
+
+ // Graphics system has been switched from raster to openvg.
+ // Issue empty redraw to clear the UI surface
+
+ QWidget *w = window();
+ RWindow *const window = static_cast<RWindow *>(w->winId()->DrawableWindow());
+ window->BeginRedraw();
+ window->EndRedraw();
+ }
+ }
+#endif
+
delete d_ptr;
}
void QS60WindowSurface::beginPaint(const QRegion &rgn)
{
+#ifdef Q_SYMBIAN_SUPPORTS_SURFACES
+ S60->wsSession().Finish();
+#endif
+
if (!qt_widget_private(window())->isOpaque) {
QS60PixmapData *pixmapData = static_cast<QS60PixmapData *>(d_ptr->device.data_ptr().data());
pixmapData->beginDataAccess();
diff --git a/src/gui/s60framework/qs60mainappui.cpp b/src/gui/s60framework/qs60mainappui.cpp
index feffc9f416..ce13de8799 100644
--- a/src/gui/s60framework/qs60mainappui.cpp
+++ b/src/gui/s60framework/qs60mainappui.cpp
@@ -64,6 +64,9 @@
#include <private/qt_s60_p.h>
#include <qdebug.h>
+//Animated wallpapers in Qt applications are not supported.
+const TInt KAknDisableAnimationBackground = 0x02000000;
+
QT_BEGIN_NAMESPACE
/*!
@@ -115,6 +118,11 @@ void QS60MainAppUi::ConstructL()
TInt flags = CAknAppUi::EAknEnableSkin
| CAknAppUi::ENoScreenFurniture
| CAknAppUi::ENonStandardResourceFile;
+ // After 5th Edition S60, native side supports animated wallpapers.
+ // However, there is no support for that feature on Qt side, so indicate to
+ // native UI framework that this application will not support background animations.
+ if (QSysInfo::s60Version() > QSysInfo::SV_S60_5_0)
+ flags |= KAknDisableAnimationBackground;
BaseConstructL(flags);
}
diff --git a/src/gui/statemachine/qguistatemachine.cpp b/src/gui/statemachine/qguistatemachine.cpp
index 63ad94ef59..2b4c9c2d63 100644
--- a/src/gui/statemachine/qguistatemachine.cpp
+++ b/src/gui/statemachine/qguistatemachine.cpp
@@ -474,9 +474,11 @@ static QEvent *cloneEvent(QEvent *e)
case QEvent::TouchEnd:
return new QTouchEvent(*static_cast<QTouchEvent*>(e));
+#ifndef QT_NO_GESTURES
case QEvent::NativeGesture:
Q_ASSERT_X(false, "cloneEvent()", "not implemented");
break;
+#endif
case QEvent::RequestSoftwareInputPanel:
case QEvent::CloseSoftwareInputPanel:
diff --git a/src/gui/styles/qcleanlooksstyle.cpp b/src/gui/styles/qcleanlooksstyle.cpp
index 0f39b23ba9..883f5112e9 100644
--- a/src/gui/styles/qcleanlooksstyle.cpp
+++ b/src/gui/styles/qcleanlooksstyle.cpp
@@ -44,7 +44,6 @@
#if !defined(QT_NO_STYLE_CLEANLOOKS) || defined(QT_PLUGIN)
-#include <private/qstylehelper_p.h>
#include "qwindowsstyle_p.h"
#include <qcombobox.h>
#include <qpushbutton.h>
@@ -67,6 +66,7 @@
#include <qtoolbar.h>
#include <qwizard.h>
#include <qlibrary.h>
+#include <private/qstylehelper_p.h>
#define CL_MAX(a,b) (a)>(b) ? (a):(b) // ### qMin/qMax does not work for vc6
#define CL_MIN(a,b) (a)<(b) ? (a):(b) // remove this when it is working
@@ -1397,7 +1397,6 @@ void QCleanlooksStyle::drawControl(ControlElement element, const QStyleOption *o
dark.lighter(135), 60);
QColor highlight = option->palette.highlight().color();
- QColor highlightText = option->palette.highlightedText().color();
switch(element) {
case CE_RadioButton: //fall through
@@ -2723,7 +2722,6 @@ void QCleanlooksStyle::drawComplexControl(ComplexControl control, const QStyleOp
{
// Fill title bar gradient
QColor titlebarColor = QColor(active ? highlight: palette.background().color());
- QColor titleBarGradientStop(active ? highlight.darker(150): palette.background().color().darker(120));
QLinearGradient gradient(option->rect.center().x(), option->rect.top(),
option->rect.center().x(), option->rect.bottom());
@@ -2986,7 +2984,6 @@ void QCleanlooksStyle::drawComplexControl(ComplexControl control, const QStyleOp
painter->fillRect(option->rect, option->palette.background());
- QRect rect = scrollBar->rect;
QRect scrollBarSubLine = proxy()->subControlRect(control, scrollBar, SC_ScrollBarSubLine, widget);
QRect scrollBarAddLine = proxy()->subControlRect(control, scrollBar, SC_ScrollBarAddLine, widget);
QRect scrollBarSlider = proxy()->subControlRect(control, scrollBar, SC_ScrollBarSlider, widget);
@@ -3714,6 +3711,9 @@ int QCleanlooksStyle::pixelMetric(PixelMetric metric, const QStyleOption *option
{
int ret = -1;
switch (metric) {
+ case PM_ToolTipLabelFrameWidth:
+ ret = 2;
+ break;
case PM_ButtonDefaultIndicator:
ret = 0;
break;
diff --git a/src/gui/styles/qcommonstyle.cpp b/src/gui/styles/qcommonstyle.cpp
index 8036728135..039a6da5e9 100644
--- a/src/gui/styles/qcommonstyle.cpp
+++ b/src/gui/styles/qcommonstyle.cpp
@@ -65,7 +65,6 @@
#include <qrubberband.h>
#include <private/qcommonstylepixmaps_p.h>
#include <private/qmath_p.h>
-#include <private/qstylehelper_p.h>
#include <qdebug.h>
#include <qtextformat.h>
#include <qwizard.h>
@@ -88,6 +87,8 @@
# include <private/qt_cocoa_helpers_mac_p.h>
#endif
+#include <private/qstylehelper_p.h>
+
QT_BEGIN_NAMESPACE
/*!
@@ -761,7 +762,7 @@ void QCommonStyle::drawPrimitive(PrimitiveElement pe, const QStyleOption *opt, Q
#ifndef QT_NO_ITEMVIEWS
case PE_PanelItemViewRow:
if (const QStyleOptionViewItemV4 *vopt = qstyleoption_cast<const QStyleOptionViewItemV4 *>(opt)) {
- QPalette::ColorGroup cg = vopt->state & QStyle::State_Enabled
+ QPalette::ColorGroup cg = (widget ? widget->isEnabled() : (vopt->state & QStyle::State_Enabled))
? QPalette::Normal : QPalette::Disabled;
if (cg == QPalette::Normal && !(vopt->state & QStyle::State_Active))
cg = QPalette::Inactive;
@@ -774,7 +775,7 @@ void QCommonStyle::drawPrimitive(PrimitiveElement pe, const QStyleOption *opt, Q
break;
case PE_PanelItemViewItem:
if (const QStyleOptionViewItemV4 *vopt = qstyleoption_cast<const QStyleOptionViewItemV4 *>(opt)) {
- QPalette::ColorGroup cg = vopt->state & QStyle::State_Enabled
+ QPalette::ColorGroup cg = (widget ? widget->isEnabled() : (vopt->state & QStyle::State_Enabled))
? QPalette::Normal : QPalette::Disabled;
if (cg == QPalette::Normal && !(vopt->state & QStyle::State_Active))
cg = QPalette::Inactive;
diff --git a/src/gui/styles/qgtkpainter.cpp b/src/gui/styles/qgtkpainter.cpp
index 1f68f2f768..0217a39ab4 100644
--- a/src/gui/styles/qgtkpainter.cpp
+++ b/src/gui/styles/qgtkpainter.cpp
@@ -47,6 +47,7 @@
// This class is primarily a wrapper around the gtk painter functions
// and takes care of converting all such calls into cached Qt pixmaps.
+#include <private/qstylehelper_p.h>
#include <QtGui/QWidget>
#include <QtGui/QStyleOption>
#include <QtGui/QPixmapCache>
@@ -155,8 +156,12 @@ static QString uniqueName(const QString &key, GtkStateType state, GtkShadowType
const QSize &size, GtkWidget *widget = 0)
{
// Note the widget arg should ideally use the widget path, though would compromise performance
- QString tmp = QString(QLS("%0-%1-%2-%3x%4-%5")).arg(key).arg(uint(state)).arg(shadow)
- .arg(size.width()).arg(size.height()).arg(quintptr(widget));
+ QString tmp = key
+ % HexString<uint>(state)
+ % HexString<uint>(shadow)
+ % HexString<uint>(size.width())
+ % HexString<uint>(size.height())
+ % HexString<quint64>(quint64(widget));
return tmp;
}
@@ -236,8 +241,10 @@ void QGtkPainter::paintBoxGap(GtkWidget *gtkWidget, const gchar* part,
if (rect.height() > maxHeight && (gap_side == GTK_POS_TOP || gap_side == GTK_POS_BOTTOM))
rect.setHeight(2 * border + 1);
- QString gapExtras = QString(QLS("s %0 w %1 g %2")).arg(gap_side).arg(width).arg(x);
- QString pixmapName = uniqueName(QLS(part), state, shadow, rect.size(), gtkWidget) + gapExtras;
+ QString pixmapName = uniqueName(QLS(part), state, shadow, rect.size(), gtkWidget)
+ % HexString<uchar>(gap_side)
+ % HexString<gint>(width)
+ % HexString<gint>(x);
if (!m_usePixmapCache || !QPixmapCache::find(pixmapName, cache)) {
DRAW_TO_CACHE(QGtkStylePrivate::gtk_paint_box_gap (style,
@@ -302,7 +309,7 @@ void QGtkPainter::paintBox(GtkWidget *gtkWidget, const gchar* part,
rect.setHeight(2 * border + 1);
QString pixmapName = uniqueName(QLS(part), state, shadow,
- rect.size(), gtkWidget) + pmKey;
+ rect.size(), gtkWidget) % pmKey;
if (!m_usePixmapCache || !QPixmapCache::find(pixmapName, cache)) {
DRAW_TO_CACHE(QGtkStylePrivate::gtk_paint_box (style,
@@ -352,9 +359,11 @@ void QGtkPainter::paintHline(GtkWidget *gtkWidget, const gchar* part,
return;
QPixmap cache;
- QString hLineExtras = QString(QLS("%0 %1 %2")).arg(x1).arg(x2).arg(y);
QString pixmapName = uniqueName(QLS(part), state, GTK_SHADOW_NONE, rect.size(), gtkWidget)
- + hLineExtras + pmKey;
+ % HexString<int>(x1)
+ % HexString<int>(x2)
+ % HexString<int>(y)
+ % pmKey;
if (!m_usePixmapCache || !QPixmapCache::find(pixmapName, cache)) {
DRAW_TO_CACHE(QGtkStylePrivate::gtk_paint_hline (style,
pixmap,
@@ -379,9 +388,12 @@ void QGtkPainter::paintVline(GtkWidget *gtkWidget, const gchar* part,
return;
QPixmap cache;
- QString vLineExtras = QString(QLS("%0 %1 %2")).arg(y1).arg(y2).arg(x);
- QString pixmapName = uniqueName(QLS(part), state, GTK_SHADOW_NONE, rect.size(),
- gtkWidget) + vLineExtras +pmKey;
+ QString pixmapName = uniqueName(QLS(part), state, GTK_SHADOW_NONE, rect.size(), gtkWidget)
+ % HexString<int>(y1)
+ % HexString<int>(y2)
+ % HexString<int>(x)
+ % pmKey;
+
if (!m_usePixmapCache || !QPixmapCache::find(pixmapName, cache)) {
DRAW_TO_CACHE(QGtkStylePrivate::gtk_paint_vline (style,
pixmap,
@@ -407,8 +419,10 @@ void QGtkPainter::paintExpander(GtkWidget *gtkWidget,
return;
QPixmap cache;
- QString pixmapName = uniqueName(QLS(part), state, GTK_SHADOW_NONE, rect.size(),
- gtkWidget) + QString::number(expander_state) + pmKey;
+ QString pixmapName = uniqueName(QLS(part), state, GTK_SHADOW_NONE, rect.size(), gtkWidget)
+ % HexString<uchar>(expander_state)
+ % pmKey;
+
if (!m_usePixmapCache || !QPixmapCache::find(pixmapName, cache)) {
DRAW_TO_CACHE(QGtkStylePrivate::gtk_paint_expander (style, pixmap,
state, NULL,
@@ -431,7 +445,7 @@ void QGtkPainter::paintFocus(GtkWidget *gtkWidget, const gchar* part,
return;
QPixmap cache;
- QString pixmapName = uniqueName(QLS(part), state, GTK_SHADOW_NONE, rect.size(), gtkWidget) + pmKey;
+ QString pixmapName = uniqueName(QLS(part), state, GTK_SHADOW_NONE, rect.size(), gtkWidget) % pmKey;
if (!m_usePixmapCache || !QPixmapCache::find(pixmapName, cache)) {
DRAW_TO_CACHE(QGtkStylePrivate::gtk_paint_focus (style, pixmap, state, NULL,
gtkWidget,
@@ -456,7 +470,7 @@ void QGtkPainter::paintResizeGrip(GtkWidget *gtkWidget, const gchar* part,
return;
QPixmap cache;
- QString pixmapName = uniqueName(QLS(part), state, shadow, rect.size(), gtkWidget) + pmKey;
+ QString pixmapName = uniqueName(QLS(part), state, shadow, rect.size(), gtkWidget) % pmKey;
if (!m_usePixmapCache || !QPixmapCache::find(pixmapName, cache)) {
DRAW_TO_CACHE(QGtkStylePrivate::gtk_paint_resize_grip (style, pixmap, state,
NULL, gtkWidget,
@@ -481,8 +495,9 @@ void QGtkPainter::paintArrow(GtkWidget *gtkWidget, const gchar* part,
return;
QPixmap cache;
- QString pixmapName = uniqueName(QLS(part), state, shadow, rect.size()) +
- QString::number((int)arrow_type) + pmKey;
+ QString pixmapName = uniqueName(QLS(part), state, shadow, rect.size())
+ % HexString<uchar>(arrow_type)
+ % pmKey;
GdkRectangle gtkCliprect = {0, 0, rect.width(), rect.height()};
int xOffset = m_cliprect.isValid() ? arrowrect.x() - m_cliprect.x() : 0;
@@ -513,7 +528,8 @@ void QGtkPainter::paintHandle(GtkWidget *gtkWidget, const gchar* part, const QRe
QPixmap cache;
QString pixmapName = uniqueName(QLS(part), state, shadow, rect.size())
- + QString::number(orientation);
+ % HexString<uchar>(orientation);
+
if (!m_usePixmapCache || !QPixmapCache::find(pixmapName, cache)) {
DRAW_TO_CACHE(QGtkStylePrivate::gtk_paint_handle (style,
pixmap,
@@ -541,7 +557,7 @@ void QGtkPainter::paintSlider(GtkWidget *gtkWidget, const gchar* part, const QRe
return;
QPixmap cache;
- QString pixmapName = uniqueName(QLS(part), state, shadow, rect.size(), gtkWidget) + pmKey;
+ QString pixmapName = uniqueName(QLS(part), state, shadow, rect.size(), gtkWidget) % pmKey;
if (!m_usePixmapCache || !QPixmapCache::find(pixmapName, cache)) {
DRAW_TO_CACHE(QGtkStylePrivate::gtk_paint_slider (style,
pixmap,
@@ -572,7 +588,7 @@ void QGtkPainter::paintShadow(GtkWidget *gtkWidget, const gchar* part,
QRect r = rect;
QPixmap cache;
- QString pixmapName = uniqueName(QLS(part), state, shadow, rect.size()) + pmKey;
+ QString pixmapName = uniqueName(QLS(part), state, shadow, rect.size()) % pmKey;
if (!m_usePixmapCache || !QPixmapCache::find(pixmapName, cache)) {
DRAW_TO_CACHE(QGtkStylePrivate::gtk_paint_shadow(style, pixmap, state, shadow, NULL,
gtkWidget, part, 0, 0, rect.width(), rect.height()));
@@ -591,7 +607,7 @@ void QGtkPainter::paintFlatBox(GtkWidget *gtkWidget, const gchar* part,
return;
QRect r = rect;
QPixmap cache;
- QString pixmapName = uniqueName(QLS(part), state, shadow, rect.size()) + pmKey;
+ QString pixmapName = uniqueName(QLS(part), state, shadow, rect.size()) % pmKey;
if (!m_usePixmapCache || !QPixmapCache::find(pixmapName, cache)) {
DRAW_TO_CACHE(QGtkStylePrivate::gtk_paint_flat_box (style,
pixmap,
@@ -618,8 +634,8 @@ void QGtkPainter::paintExtention(GtkWidget *gtkWidget,
QRect r = rect;
QPixmap cache;
- QString pixmapName = uniqueName(QLS(part), state, shadow, rect.size(), gtkWidget);
- pixmapName += QString::number(gap_pos);
+ QString pixmapName = uniqueName(QLS(part), state, shadow, rect.size(), gtkWidget)
+ % HexString<uchar>(gap_pos);
if (!m_usePixmapCache || !QPixmapCache::find(pixmapName, cache)) {
DRAW_TO_CACHE(QGtkStylePrivate::gtk_paint_extension (style, pixmap, state, shadow,
diff --git a/src/gui/styles/qgtkstyle.cpp b/src/gui/styles/qgtkstyle.cpp
index 9c61023a04..c989bd3d8a 100644
--- a/src/gui/styles/qgtkstyle.cpp
+++ b/src/gui/styles/qgtkstyle.cpp
@@ -67,6 +67,7 @@
#include <QtGui/QRadioButton>
#include <QtGui/QCheckBox>
#include <QtGui/QTreeView>
+#include <QtGui/QStyledItemDelegate>
#include <qpixmapcache.h>
#undef signals // Collides with GTK stymbols
#include <private/qgtkpainter_p.h>
@@ -325,6 +326,7 @@ void QGtkStyle::polish(QApplication *app)
qt_filedialog_save_filename_hook = &QGtkStylePrivate::saveFilename;
qt_filedialog_open_filenames_hook = &QGtkStylePrivate::openFilenames;
qt_filedialog_existing_directory_hook = &QGtkStylePrivate::openDirectory;
+ qApp->installEventFilter(&d->filter);
}
}
}
@@ -345,6 +347,7 @@ void QGtkStyle::unpolish(QApplication *app)
qt_filedialog_save_filename_hook = 0;
qt_filedialog_open_filenames_hook = 0;
qt_filedialog_existing_directory_hook = 0;
+ qApp->removeEventFilter(&d->filter);
}
}
@@ -690,7 +693,7 @@ void QGtkStyle::drawPrimitive(PrimitiveElement element,
// thin rectangular images
const int pmSize = 64;
const int border = proxy()->pixelMetric(PM_DefaultFrameWidth, option, widget);
- const QString pmKey = QString(QLS("windowframe %0")).arg(option->state);
+ const QString pmKey = QLatin1Literal("windowframe") % HexString<uint>(option->state);
QPixmap pixmap;
QRect pmRect(QPoint(0,0), QSize(pmSize, pmSize));
@@ -815,24 +818,50 @@ void QGtkStyle::drawPrimitive(PrimitiveElement element,
option->state & State_Open ? openState : closedState , gtkTreeView->style);
}
break;
+
+ case PE_PanelItemViewRow:
+ // This primitive is only used to draw selection behind selected expander arrows.
+ // We try not to decorate the tree branch background unless you inherit from StyledItemDelegate
+ // The reason for this is that a lot of code that relies on custom item delegates will look odd having
+ // a gradient on the branch but a flat shaded color on the item itself.
+ QCommonStyle::drawPrimitive(element, option, painter, widget);
+ if (!option->state & State_Selected) {
+ break;
+ } else {
+ if (const QAbstractItemView *view = qobject_cast<const QAbstractItemView*>(widget)) {
+ if (!qobject_cast<QStyledItemDelegate*>(view->itemDelegate()))
+ break;
+ }
+ } // fall through
+
case PE_PanelItemViewItem:
if (const QStyleOptionViewItemV4 *vopt = qstyleoption_cast<const QStyleOptionViewItemV4 *>(option)) {
- if (vopt->state & State_Selected) {
- QLinearGradient gradient;
- gradient.setStart(option->rect.left(), option->rect.top());
- gradient.setFinalStop(option->rect.left(), option->rect.bottom());
- gradient.setColorAt(0, option->palette.highlight().color().lighter(105));
- gradient.setColorAt(0.5, option->palette.highlight().color().lighter(101));
- gradient.setColorAt(0.51, option->palette.highlight().color().darker(101));
- gradient.setColorAt(1, option->palette.highlight().color().darker(105));
- painter->fillRect(option->rect, gradient);
- } else {
- if (vopt->backgroundBrush.style() != Qt::NoBrush) {
- QPointF oldBO = painter->brushOrigin();
- painter->setBrushOrigin(vopt->rect.topLeft());
- painter->fillRect(vopt->rect, vopt->backgroundBrush);
- painter->setBrushOrigin(oldBO);
+ if (vopt->backgroundBrush.style() != Qt::NoBrush) {
+ QPointF oldBO = painter->brushOrigin();
+ painter->setBrushOrigin(vopt->rect.topLeft());
+ painter->fillRect(vopt->rect, vopt->backgroundBrush);
+ painter->setBrushOrigin(oldBO);
+ if (!(option->state & State_Selected))
+ break;
+ }
+ if (GtkWidget *gtkTreeView = d->gtkWidget("GtkTreeView")) {
+ const char *detail = "cell_even_ruled";
+ if (vopt && vopt->features & QStyleOptionViewItemV2::Alternate)
+ detail = "cell_odd_ruled";
+ bool isActive = option->state & State_Active;
+ QString key;
+ if (isActive ) {
+ // Required for active/non-active window appearance
+ key = QLS("a");
+ GTK_WIDGET_SET_FLAGS(gtkTreeView, GTK_HAS_FOCUS);
}
+ bool isEnabled = (widget ? widget->isEnabled() : (vopt->state & QStyle::State_Enabled));
+ gtkPainter.paintFlatBox(gtkTreeView, detail, option->rect,
+ option->state & State_Selected ? GTK_STATE_SELECTED :
+ isEnabled ? GTK_STATE_NORMAL : GTK_STATE_INSENSITIVE,
+ GTK_SHADOW_OUT, gtkTreeView->style, key);
+ if (isActive )
+ GTK_WIDGET_UNSET_FLAGS(gtkTreeView, GTK_HAS_FOCUS);
}
}
break;
@@ -1163,7 +1192,6 @@ void QGtkStyle::drawPrimitive(PrimitiveElement element,
if (const QStyleOptionTabBarBase *tbb
= qstyleoption_cast<const QStyleOptionTabBarBase *>(option)) {
QRect tabRect = tbb->rect;
- QRegion region(tabRect);
painter->save();
painter->setPen(QPen(option->palette.dark().color().dark(110), 0));
switch (tbb->shape) {
@@ -1245,8 +1273,6 @@ void QGtkStyle::drawComplexControl(ComplexControl control, const QStyleOptionCom
else
alphaCornerColor = mergedColors(option->palette.background().color(), darkOutline);
- QPalette palette = option->palette;
-
switch (control) {
case CC_TitleBar:
@@ -1333,11 +1359,8 @@ void QGtkStyle::drawComplexControl(ComplexControl control, const QStyleOptionCom
bool isEnabled = (comboBox->state & State_Enabled);
bool focus = isEnabled && (comboBox->state & State_HasFocus);
- QColor buttonShadow = option->palette.dark().color();
GtkStateType state = gtkPainter.gtkState(option);
int appears_as_list = !proxy()->styleHint(QStyle::SH_ComboBox_Popup, comboBox, widget);
- QPixmap cache;
- QString pixmapName;
QStyleOptionComboBox comboBoxCopy = *comboBox;
comboBoxCopy.rect = option->rect;
@@ -1345,8 +1368,6 @@ void QGtkStyle::drawComplexControl(ComplexControl control, const QStyleOptionCom
QRect rect = option->rect;
QRect arrowButtonRect = proxy()->subControlRect(CC_ComboBox, &comboBoxCopy,
SC_ComboBoxArrow, widget);
- QRect editRect = proxy()->subControlRect(CC_ComboBox, &comboBoxCopy,
- SC_ComboBoxEditField, widget);
GtkShadowType shadow = (option->state & State_Sunken || option->state & State_On ) ?
GTK_SHADOW_IN : GTK_SHADOW_OUT;
@@ -1414,9 +1435,6 @@ void QGtkStyle::drawComplexControl(ComplexControl control, const QStyleOptionCom
else if (option->state & State_MouseOver && comboBox->activeSubControls & SC_ComboBoxArrow)
buttonState = GTK_STATE_PRELIGHT;
- QRect buttonrect = QRect(gtkToggleButton->allocation.x, gtkToggleButton->allocation.y,
- gtkToggleButton->allocation.width, gtkToggleButton->allocation.height);
-
Q_ASSERT(gtkToggleButton);
gtkCachedPainter.paintBox( gtkToggleButton, "button", arrowButtonRect, buttonState,
shadow, gtkToggleButton->style, buttonPath.toString() +
@@ -1436,8 +1454,6 @@ void QGtkStyle::drawComplexControl(ComplexControl control, const QStyleOptionCom
if (focus)
GTK_WIDGET_UNSET_FLAGS(gtkToggleButton, GTK_HAS_FOCUS);
- QHashableLatin1Literal buttonPath = comboBox->editable ? QHashableLatin1Literal("GtkComboBoxEntry.GtkToggleButton")
- : QHashableLatin1Literal("GtkComboBox.GtkToggleButton");
// Draw the separator between label and arrows
QHashableLatin1Literal vSeparatorPath = comboBox->editable
@@ -1643,6 +1659,7 @@ void QGtkStyle::drawComplexControl(ComplexControl control, const QStyleOptionCom
style = scrollbarWidget->style;
gboolean trough_under_steppers = true;
gboolean trough_side_details = false;
+ gboolean activate_slider = false;
gboolean stepper_size = 14;
gint trough_border = 1;
if (!d->gtk_check_version(2, 10, 0)) {
@@ -1650,6 +1667,7 @@ void QGtkStyle::drawComplexControl(ComplexControl control, const QStyleOptionCom
"trough-border", &trough_border,
"trough-side-details", &trough_side_details,
"trough-under-steppers", &trough_under_steppers,
+ "activate-slider", &activate_slider,
"stepper-size", &stepper_size, NULL);
}
if (trough_under_steppers) {
@@ -1695,6 +1713,9 @@ void QGtkStyle::drawComplexControl(ComplexControl control, const QStyleOptionCom
if (!(option->state & State_Enabled))
state = GTK_STATE_INSENSITIVE;
+ else if (activate_slider &&
+ option->state & State_Sunken && (scrollBar->activeSubControls & SC_ScrollBarSlider))
+ state = GTK_STATE_ACTIVE;
else if (option->state & State_MouseOver && (scrollBar->activeSubControls & SC_ScrollBarSlider))
state = GTK_STATE_PRELIGHT;
@@ -1932,14 +1953,11 @@ void QGtkStyle::drawComplexControl(ComplexControl control, const QStyleOptionCom
QRect groove = proxy()->subControlRect(CC_Slider, option, SC_SliderGroove, widget);
QRect handle = proxy()->subControlRect(CC_Slider, option, SC_SliderHandle, widget);
- QRect ticks = proxy()->subControlRect(CC_Slider, option, SC_SliderTickmarks, widget);
bool horizontal = slider->orientation == Qt::Horizontal;
bool ticksAbove = slider->tickPosition & QSlider::TicksAbove;
bool ticksBelow = slider->tickPosition & QSlider::TicksBelow;
- QColor activeHighlight = option->palette.color(QPalette::Normal, QPalette::Highlight);
- QPixmap cache;
QBrush oldBrush = painter->brush();
QPen oldPen = painter->pen();
@@ -1948,6 +1966,8 @@ void QGtkStyle::drawComplexControl(ComplexControl control, const QStyleOptionCom
QColor highlightAlpha(Qt::white);
highlightAlpha.setAlpha(80);
+ QGtkStylePrivate::gtk_widget_set_direction(hScaleWidget, slider->upsideDown ?
+ GTK_TEXT_DIR_RTL : GTK_TEXT_DIR_LTR);
GtkWidget *scaleWidget = horizontal ? hScaleWidget : vScaleWidget;
style = scaleWidget->style;
@@ -1981,11 +2001,21 @@ void QGtkStyle::drawComplexControl(ComplexControl control, const QStyleOptionCom
QRect lowerGroove = grooveRect;
if (horizontal) {
- upperGroove.setLeft(handle.center().x());
- lowerGroove.setRight(handle.center().x());
+ if (slider->upsideDown) {
+ lowerGroove.setLeft(handle.center().x());
+ upperGroove.setRight(handle.center().x());
+ } else {
+ upperGroove.setLeft(handle.center().x());
+ lowerGroove.setRight(handle.center().x());
+ }
} else {
- upperGroove.setBottom(handle.center().y());
- lowerGroove.setTop(handle.center().y());
+ if (!slider->upsideDown) {
+ lowerGroove.setBottom(handle.center().y());
+ upperGroove.setTop(handle.center().y());
+ } else {
+ upperGroove.setBottom(handle.center().y());
+ lowerGroove.setTop(handle.center().y());
+ }
}
gtkPainter.paintBox( scaleWidget, "trough-upper", upperGroove, state,
@@ -2543,7 +2573,6 @@ void QGtkStyle::drawControl(ControlElement element,
d->gtkWidget("GtkMenu.GtkMenuItem");
style = gtkPainter.getStyle(gtkMenuItem);
- QColor borderColor = option->palette.background().color().darker(160);
QColor shadow = option->palette.dark().color();
if (menuItem->menuItemType == QStyleOptionMenuItem::Separator) {
@@ -2768,8 +2797,6 @@ void QGtkStyle::drawControl(ControlElement element,
// Arrow
if (menuItem->menuItemType == QStyleOptionMenuItem::SubMenu) {// draw sub menu arrow
- QPoint buttonShift(pixelMetric(PM_ButtonShiftHorizontal, option, widget),
- proxy()->pixelMetric(PM_ButtonShiftVertical, option, widget));
QFontMetrics fm(menuitem->font);
int arrow_size = fm.ascent() + fm.descent() - 2 * gtkMenuItem->style->ythickness;
@@ -3116,7 +3143,6 @@ QRect QGtkStyle::subControlRect(ComplexControl control, const QStyleOptionComple
case CC_ComboBox:
if (const QStyleOptionComboBox *box = qstyleoption_cast<const QStyleOptionComboBox *>(option)) {
// We employ the gtk widget to position arrows and separators for us
- QString comboBoxPath = box->editable ? QLS("GtkComboBoxEntry") : QLS("GtkComboBox");
GtkWidget *gtkCombo = box->editable ? d->gtkWidget("GtkComboBoxEntry")
: d->gtkWidget("GtkComboBox");
d->gtk_widget_set_direction(gtkCombo, (option->direction == Qt::RightToLeft) ? GTK_TEXT_DIR_RTL : GTK_TEXT_DIR_LTR);
diff --git a/src/gui/styles/qgtkstyle_p.cpp b/src/gui/styles/qgtkstyle_p.cpp
index 3c6a1efe3e..4ed0fabbb8 100644
--- a/src/gui/styles/qgtkstyle_p.cpp
+++ b/src/gui/styles/qgtkstyle_p.cpp
@@ -285,8 +285,6 @@ void QGtkStylePrivate::init()
{
resolveGtk();
initGtkWidgets();
- if (isThemeAvailable())
- qApp->installEventFilter(&filter);
}
GtkWidget* QGtkStylePrivate::gtkWidget(const QHashableLatin1Literal &path)
diff --git a/src/gui/styles/qmacstyle_mac.mm b/src/gui/styles/qmacstyle_mac.mm
index f5b0b0c09b..f029602cb6 100644
--- a/src/gui/styles/qmacstyle_mac.mm
+++ b/src/gui/styles/qmacstyle_mac.mm
@@ -56,7 +56,6 @@
#include <private/qpaintengine_mac_p.h>
#include <private/qpainter_p.h>
#include <private/qprintengine_mac_p.h>
-#include <private/qstylehelper_p.h>
#include <qapplication.h>
#include <qbitmap.h>
#include <qcheckbox.h>
@@ -97,25 +96,26 @@
#include <qdebug.h>
#include <qlibrary.h>
#include <qdatetimeedit.h>
+#include <qmath.h>
#include <QtGui/qgraphicsproxywidget.h>
#include <QtGui/qgraphicsview.h>
#include <private/qt_cocoa_helpers_mac_p.h>
+#include "qmacstyle_mac_p.h"
+#include <private/qstylehelper_p.h>
QT_BEGIN_NAMESPACE
-extern QRegion qt_mac_convert_mac_region(RgnHandle); //qregion_mac.cpp
-
// The following constants are used for adjusting the size
// of push buttons so that they are drawn inside their bounds.
-static const int PushButtonLeftOffset = 6;
-static const int PushButtonTopOffset = 4;
-static const int PushButtonRightOffset = 12;
-static const int PushButtonBottomOffset = 12;
-static const int MiniButtonH = 26;
-static const int SmallButtonH = 30;
-static const int BevelButtonW = 50;
-static const int BevelButtonH = 22;
-static const int PushButtonContentPadding = 6;
+const int QMacStylePrivate::PushButtonLeftOffset = 6;
+const int QMacStylePrivate::PushButtonTopOffset = 4;
+const int QMacStylePrivate::PushButtonRightOffset = 12;
+const int QMacStylePrivate::PushButtonBottomOffset = 12;
+const int QMacStylePrivate::MiniButtonH = 26;
+const int QMacStylePrivate::SmallButtonH = 30;
+const int QMacStylePrivate::BevelButtonW = 50;
+const int QMacStylePrivate::BevelButtonH = 22;
+const int QMacStylePrivate::PushButtonContentPadding = 6;
// These colors specify the titlebar gradient colors on
// Leopard. Ideally we should get them from the system.
@@ -131,25 +131,16 @@ static const QColor titlebarSeparatorLineInactive(131, 131, 131);
static const QColor mainWindowGradientBegin(240, 240, 240);
static const QColor mainWindowGradientEnd(200, 200, 200);
-#if (MAC_OS_X_VERSION_MAX_ALLOWED <= MAC_OS_X_VERSION_10_5)
-enum {
- kThemePushButtonTextured = 31,
- kThemePushButtonTexturedSmall = 32,
- kThemePushButtonTexturedMini = 33
-};
-
-/* Search fields */
-enum {
- kHIThemeFrameTextFieldRound = 1000,
- kHIThemeFrameTextFieldRoundSmall = 1001,
- kHIThemeFrameTextFieldRoundMini = 1002
-};
-#endif
+static const int DisclosureOffset = 4;
// Resolve these at run-time, since the functions was moved in Leopard.
typedef HIRect * (*PtrHIShapeGetBounds)(HIShapeRef, HIRect *);
static PtrHIShapeGetBounds ptrHIShapeGetBounds = 0;
+static int closeButtonSize = 12;
+
+extern QRegion qt_mac_convert_mac_region(RgnHandle); //qregion_mac.cpp
+
static bool isVerticalTabs(const QTabBar::Shape shape) {
return (shape == QTabBar::RoundedEast
|| shape == QTabBar::TriangularEast
@@ -157,8 +148,6 @@ static bool isVerticalTabs(const QTabBar::Shape shape) {
|| shape == QTabBar::TriangularWest);
}
-static int closeButtonSize = 12;
-
void drawTabCloseButton(QPainter *p, bool hover, bool active, bool selected)
{
// draw background circle
@@ -377,32 +366,6 @@ void drawTabBase(QPainter *p, const QStyleOptionTabBarBaseV2 *tbb, const QWidget
p->drawLine(tabRect.x(), height - 1, width, height - 1);
}
-/*
- AHIG:
- Apple Human Interface Guidelines
- http://developer.apple.com/documentation/UserExperience/Conceptual/OSXHIGuidelines/
-
- Builder:
- Apple Interface Builder v. 3.1.1
-*/
-
-// this works as long as we have at most 16 different control types
-#define CT1(c) CT2(c, c)
-#define CT2(c1, c2) ((uint(c1) << 16) | uint(c2))
-
-enum QAquaWidgetSize { QAquaSizeLarge = 0, QAquaSizeSmall = 1, QAquaSizeMini = 2,
- QAquaSizeUnknown = -1 };
-
-#define SIZE(large, small, mini) \
- (controlSize == QAquaSizeLarge ? (large) : controlSize == QAquaSizeSmall ? (small) : (mini))
-
-// same as return SIZE(...) but optimized
-#define return_SIZE(large, small, mini) \
- do { \
- static const int sizes[] = { (large), (small), (mini) }; \
- return sizes[controlSize]; \
- } while (0)
-
static int getControlSize(const QStyleOption *option, const QWidget *widget)
{
if (option) {
@@ -480,80 +443,9 @@ static inline ThemeTabDirection getTabDirection(QTabBar::Shape shape)
return ttd;
}
-class QMacStylePrivate : public QObject
-{
- Q_OBJECT
-
-public:
- QMacStylePrivate(QMacStyle *style);
-
- // Stuff from QAquaAnimate:
- bool addWidget(QWidget *);
- void removeWidget(QWidget *);
-
- enum Animates { AquaPushButton, AquaProgressBar, AquaListViewItemOpen };
- bool animatable(Animates, const QWidget *) const;
- void stopAnimate(Animates, QWidget *);
- void startAnimate(Animates, QWidget *);
- static ThemeDrawState getDrawState(QStyle::State flags);
- QAquaWidgetSize aquaSizeConstrain(const QStyleOption *option, const QWidget *widg,
- QStyle::ContentsType ct = QStyle::CT_CustomBase,
- QSize szHint=QSize(-1, -1), QSize *insz = 0) const;
- void getSliderInfo(QStyle::ComplexControl cc, const QStyleOptionSlider *slider,
- HIThemeTrackDrawInfo *tdi, const QWidget *needToRemoveMe);
- bool doAnimate(Animates);
- inline int animateSpeed(Animates) const { return 33; }
-
- // Utility functions
- void drawColorlessButton(const HIRect &macRect, HIThemeButtonDrawInfo *bdi,
- QPainter *p, const QStyleOption *opt) const;
-
- QSize pushButtonSizeFromContents(const QStyleOptionButton *btn) const;
-
- HIRect pushButtonContentBounds(const QStyleOptionButton *btn,
- const HIThemeButtonDrawInfo *bdi) const;
-
- void initComboboxBdi(const QStyleOptionComboBox *combo, HIThemeButtonDrawInfo *bdi,
- const QWidget *widget, const ThemeDrawState &tds);
-
- static HIRect comboboxInnerBounds(const HIRect &outerBounds, int buttonKind);
-
- static QRect comboboxEditBounds(const QRect &outerBounds, const HIThemeButtonDrawInfo &bdi);
-
- static void drawCombobox(const HIRect &outerBounds, const HIThemeButtonDrawInfo &bdi, QPainter *p);
- static void drawTableHeader(const HIRect &outerBounds, bool drawTopBorder, bool drawLeftBorder,
- const HIThemeButtonDrawInfo &bdi, QPainter *p);
- bool contentFitsInPushButton(const QStyleOptionButton *btn, HIThemeButtonDrawInfo *bdi,
- ThemeButtonKind buttonKindToCheck) const;
- void initHIThemePushButton(const QStyleOptionButton *btn, const QWidget *widget,
- const ThemeDrawState tds,
- HIThemeButtonDrawInfo *bdi) const;
- QPixmap generateBackgroundPattern() const;
-protected:
- bool eventFilter(QObject *, QEvent *);
- void timerEvent(QTimerEvent *);
-
-private slots:
- void startAnimationTimer();
-
-public:
- QPointer<QPushButton> defaultButton; //default push buttons
- int timerID;
- QList<QPointer<QWidget> > progressBars; //existing progress bars that need animation
-
- struct ButtonState {
- int frame;
- enum { ButtonDark, ButtonLight } dir;
- } buttonState;
- UInt8 progressFrame;
- QPointer<QFocusFrame> focusWidget;
- CFAbsoluteTime defaultButtonStart;
- QMacStyle *q;
- bool mouseDown;
-};
-
QT_BEGIN_INCLUDE_NAMESPACE
-#include "qmacstyle_mac.moc"
+#include "moc_qmacstyle_mac.cpp"
+#include "moc_qmacstyle_mac_p.cpp"
QT_END_INCLUDE_NAMESPACE
/*****************************************************************************
@@ -1054,10 +946,10 @@ HIRect QMacStylePrivate::pushButtonContentBounds(const QStyleOptionButton *btn,
// Adjust the bounds to correct for
// carbon not calculating the content bounds fully correct
if (bdi->kind == kThemePushButton || bdi->kind == kThemePushButtonSmall){
- outerBounds.origin.y += PushButtonTopOffset;
- outerBounds.size.height -= PushButtonBottomOffset;
+ outerBounds.origin.y += QMacStylePrivate::PushButtonTopOffset;
+ outerBounds.size.height -= QMacStylePrivate::PushButtonBottomOffset;
} else if (bdi->kind == kThemePushButtonMini) {
- outerBounds.origin.y += PushButtonTopOffset;
+ outerBounds.origin.y += QMacStylePrivate::PushButtonTopOffset;
}
HIRect contentBounds;
@@ -1073,7 +965,7 @@ QSize QMacStylePrivate::pushButtonSizeFromContents(const QStyleOptionButton *btn
{
QSize csz(0, 0);
QSize iconSize = btn->icon.isNull() ? QSize(0, 0)
- : (btn->iconSize + QSize(PushButtonContentPadding, 0));
+ : (btn->iconSize + QSize(QMacStylePrivate::PushButtonContentPadding, 0));
QRect textRect = btn->text.isEmpty() ? QRect(0, 0, 1, 1)
: btn->fontMetrics.boundingRect(QRect(), Qt::AlignCenter, btn->text);
csz.setWidth(iconSize.width() + textRect.width()
@@ -1148,12 +1040,12 @@ void QMacStylePrivate::initHIThemePushButton(const QStyleOptionButton *btn,
// Choose the button kind that closest match the button rect, but at the
// same time displays the button contents without clipping.
bdi->kind = kThemeBevelButton;
- if (btn->rect.width() >= BevelButtonW && btn->rect.height() >= BevelButtonH){
+ if (btn->rect.width() >= QMacStylePrivate::BevelButtonW && btn->rect.height() >= QMacStylePrivate::BevelButtonH){
if (widget && widget->testAttribute(Qt::WA_MacVariableSize)) {
- if (btn->rect.height() <= MiniButtonH){
+ if (btn->rect.height() <= QMacStylePrivate::MiniButtonH){
if (contentFitsInPushButton(btn, bdi, kThemePushButtonMini))
bdi->kind = kThemePushButtonMini;
- } else if (btn->rect.height() <= SmallButtonH){
+ } else if (btn->rect.height() <= QMacStylePrivate::SmallButtonH){
if (contentFitsInPushButton(btn, bdi, kThemePushButtonSmall))
bdi->kind = kThemePushButtonSmall;
} else if (contentFitsInPushButton(btn, bdi, kThemePushButton)) {
@@ -2142,6 +2034,9 @@ int QMacStyle::pixelMetric(PixelMetric metric, const QStyleOption *opt, const QW
// The combo box popup has no frame.
if (qstyleoption_cast<const QStyleOptionComboBox *>(opt) != 0)
ret = 0;
+ // Frame of mac style line edits is two pixels on top and one on the bottom
+ else if (qobject_cast<const QLineEdit *>(widget) != 0)
+ ret = 2;
else
ret = 1;
break;
@@ -3096,7 +2991,7 @@ void QMacStyle::drawPrimitive(PrimitiveElement pe, const QStyleOption *opt, QPai
else
bi.value = opt->direction == Qt::LeftToRight ? kThemeDisclosureRight : kThemeDisclosureLeft;
bi.adornment = kThemeAdornmentNone;
- HIRect hirect = qt_hirectForQRect(opt->rect);
+ HIRect hirect = qt_hirectForQRect(opt->rect.adjusted(DisclosureOffset,0,-DisclosureOffset,0));
HIThemeDrawButton(&hirect, &bi, cg, kHIThemeOrientationNormal, 0);
break; }
@@ -3490,21 +3385,21 @@ void QMacStyle::drawControl(ControlElement ce, const QStyleOption *opt, QPainter
// the focus 'shadow' will be inside.
HIRect newRect = qt_hirectForQRect(btn->rect);
if (bdi.kind == kThemePushButton || bdi.kind == kThemePushButtonSmall) {
- newRect.origin.x += PushButtonLeftOffset;
- newRect.origin.y += PushButtonTopOffset;
- newRect.size.width -= PushButtonRightOffset;
- newRect.size.height -= PushButtonBottomOffset;
+ newRect.origin.x += QMacStylePrivate::PushButtonLeftOffset;
+ newRect.origin.y += QMacStylePrivate::PushButtonTopOffset;
+ newRect.size.width -= QMacStylePrivate::PushButtonRightOffset;
+ newRect.size.height -= QMacStylePrivate::PushButtonBottomOffset;
} else if (bdi.kind == kThemePushButtonMini) {
- newRect.origin.x += PushButtonLeftOffset - 2;
- newRect.origin.y += PushButtonTopOffset;
- newRect.size.width -= PushButtonRightOffset - 4;
+ newRect.origin.x += QMacStylePrivate::PushButtonLeftOffset - 2;
+ newRect.origin.y += QMacStylePrivate::PushButtonTopOffset;
+ newRect.size.width -= QMacStylePrivate::PushButtonRightOffset - 4;
}
HIThemeDrawButton(&newRect, &bdi, cg, kHIThemeOrientationNormal, 0);
if (btn->features & QStyleOptionButton::HasMenu) {
int mbi = proxy()->pixelMetric(QStyle::PM_MenuButtonIndicator, btn, w);
QRect ir = btn->rect;
- HIRect arrowRect = CGRectMake(ir.right() - mbi - PushButtonRightOffset,
+ HIRect arrowRect = CGRectMake(ir.right() - mbi - QMacStylePrivate::PushButtonRightOffset,
ir.height() / 2 - 4, mbi, ir.height() / 2);
bool drawColorless = btn->palette.currentColorGroup() == QPalette::Active;
if (drawColorless && tds == kThemeStateInactive)
@@ -3598,14 +3493,14 @@ void QMacStyle::drawControl(ControlElement ce, const QStyleOption *opt, QPainter
if (btn->state & State_On)
state = QIcon::On;
QPixmap pixmap = btn->icon.pixmap(btn->iconSize, mode, state);
- contentW += pixmap.width() + PushButtonContentPadding;
+ contentW += pixmap.width() + QMacStylePrivate::PushButtonContentPadding;
int iconLeftOffset = freeContentRect.x() + (freeContentRect.width() - contentW) / 2;
int iconTopOffset = freeContentRect.y() + (freeContentRect.height() - pixmap.height()) / 2;
QRect iconDestRect(iconLeftOffset, iconTopOffset, pixmap.width(), pixmap.height());
QRect visualIconDestRect = visualRect(btn->direction, freeContentRect, iconDestRect);
proxy()->drawItemPixmap(p, visualIconDestRect, Qt::AlignLeft | Qt::AlignVCenter, pixmap);
int newOffset = iconDestRect.x() + iconDestRect.width()
- + PushButtonContentPadding - textRect.x();
+ + QMacStylePrivate::PushButtonContentPadding - textRect.x();
textRect.adjust(newOffset, 0, newOffset, 0);
}
// Draw the text:
@@ -4348,6 +4243,15 @@ QRect QMacStyle::subElementRect(SubElement sr, const QStyleOption *opt,
int controlSize = getControlSize(opt, widget);
switch (sr) {
+ case SE_ItemViewItemText:
+ if (const QStyleOptionViewItemV4 *vopt = qstyleoption_cast<const QStyleOptionViewItemV4 *>(opt)) {
+ int fw = proxy()->pixelMetric(PM_FocusFrameHMargin, opt, widget);
+ // We add the focusframeargin between icon and text in commonstyle
+ rect = QCommonStyle::subElementRect(sr, opt, widget);
+ if (vopt->features & QStyleOptionViewItemV2::HasDecoration)
+ rect.adjust(-fw, 0, 0, 0);
+ }
+ break;
case SE_ToolBoxTabContents:
rect = QCommonStyle::subElementRect(sr, opt, widget);
break;
@@ -4365,9 +4269,9 @@ QRect QMacStyle::subElementRect(SubElement sr, const QStyleOption *opt,
case SE_HeaderLabel:
if (qstyleoption_cast<const QStyleOptionHeader *>(opt)) {
rect = QWindowsStyle::subElementRect(sr, opt, widget);
- if (widget && widget->height() <= qt_mac_aqua_get_metric(kThemeMetricListHeaderHeight)){
- // We need to allow the text a bit more space when the header is as
- // small as kThemeMetricListHeaderHeight, otherwise it gets clipped:
+ if (widget && widget->height() <= 22){
+ // We need to allow the text a bit more space when the header is
+ // small, otherwise it gets clipped:
rect.setY(0);
rect.setHeight(widget->height());
}
@@ -4394,8 +4298,9 @@ QRect QMacStyle::subElementRect(SubElement sr, const QStyleOption *opt,
HIRect outRect;
HIThemeGetButtonShape(&inRect, &bdi, &shape);
ptrHIShapeGetBounds(shape, &outRect);
- rect = QRect(int(outRect.origin.x), int(outRect.origin.y),
- int(contentRect.origin.x - outRect.origin.x), int(outRect.size.height));
+ rect = QRect(int(outRect.origin.x + DisclosureOffset), int(outRect.origin.y),
+ int(contentRect.origin.x - outRect.origin.x + DisclosureOffset),
+ int(outRect.size.height));
break;
}
case SE_TabWidgetLeftCorner:
@@ -5437,14 +5342,12 @@ QRect QMacStyle::subControlRect(ComplexControl cc, const QStyleOptionComplex *op
CGFloat height;
QCFString groupText = qt_mac_removeMnemonics(groupBox->text);
HIThemeGetTextDimensions(groupText, 0, &tti, &width, &height, 0);
- tw = int(width);
- h = int(height);
+ tw = qRound(width);
+ h = qCeil(height);
} else {
- QFontMetrics fm = groupBox->fontMetrics;
- if (!checkable && !fontIsSet)
- fm = QFontMetrics(qt_app_fonts_hash()->value("QSmallFont", QFont()));
- h = fm.height();
- tw = fm.size(Qt::TextShowMnemonic, groupBox->text).width();
+ QFontMetricsF fm = QFontMetricsF(groupBox->fontMetrics);
+ h = qCeil(fm.height());
+ tw = qCeil(fm.size(Qt::TextShowMnemonic, groupBox->text).width());
}
ret.setHeight(h);
@@ -5491,10 +5394,10 @@ QRect QMacStyle::subControlRect(ComplexControl cc, const QStyleOptionComplex *op
fm = QFontMetrics(qt_app_fonts_hash()->value("QSmallFont", QFont()));
yOffset = 5;
if (hasNoText)
- yOffset = -fm.height();
+ yOffset = -qCeil(QFontMetricsF(fm).height());
}
- ret = opt->rect.adjusted(0, fm.height() + yOffset, 0, 0);
+ ret = opt->rect.adjusted(0, qCeil(QFontMetricsF(fm).height()) + yOffset, 0, 0);
if (sc == SC_GroupBoxContents)
ret.adjust(3, 3, -3, -4); // guess
}
@@ -5693,8 +5596,8 @@ QSize QMacStyle::sizeFromContents(ContentsType ct, const QStyleOption *opt,
// By default, we fit the contents inside a normal rounded push button.
// Do this by add enough space around the contents so that rounded
// borders (including highlighting when active) will show.
- sz.rwidth() += PushButtonLeftOffset + PushButtonRightOffset + 12;
- sz.rheight() += PushButtonTopOffset + PushButtonBottomOffset;
+ sz.rwidth() += QMacStylePrivate::PushButtonLeftOffset + QMacStylePrivate::PushButtonRightOffset + 12;
+ sz.rheight() += QMacStylePrivate::PushButtonTopOffset + QMacStylePrivate::PushButtonBottomOffset;
break;
case QStyle::CT_MenuItem:
if (const QStyleOptionMenuItem *mi = qstyleoption_cast<const QStyleOptionMenuItem *>(opt)) {
@@ -5786,6 +5689,13 @@ QSize QMacStyle::sizeFromContents(ContentsType ct, const QStyleOption *opt,
sz = sz.expandedTo(QSize(sz.width(), minimumSize));
}
break;
+ case CT_ItemViewItem:
+ if (const QStyleOptionViewItemV4 *vopt = qstyleoption_cast<const QStyleOptionViewItemV4 *>(opt)) {
+ sz = QCommonStyle::sizeFromContents(ct, vopt, csz, widget);
+ sz.setHeight(sz.height() + 2);
+ }
+ break;
+
default:
sz = QWindowsStyle::sizeFromContents(ct, opt, csz, widget);
}
diff --git a/src/gui/styles/qmacstyle_mac_p.h b/src/gui/styles/qmacstyle_mac_p.h
new file mode 100644
index 0000000000..5a0ba4cba3
--- /dev/null
+++ b/src/gui/styles/qmacstyle_mac_p.h
@@ -0,0 +1,239 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtGui module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+
+#ifndef QMACSTYLE_MAC_P_H
+#define QMACSTYLE_MAC_P_H
+
+#include <qmacstyle_mac.h>
+#include <private/qapplication_p.h>
+#include <private/qcombobox_p.h>
+#include <private/qmacstylepixmaps_mac_p.h>
+#include <private/qpaintengine_mac_p.h>
+#include <private/qpainter_p.h>
+#include <private/qprintengine_mac_p.h>
+#include <private/qstylehelper_p.h>
+#include <qapplication.h>
+#include <qbitmap.h>
+#include <qcheckbox.h>
+#include <qcombobox.h>
+#include <qdialogbuttonbox.h>
+#include <qdockwidget.h>
+#include <qevent.h>
+#include <qfocusframe.h>
+#include <qformlayout.h>
+#include <qgroupbox.h>
+#include <qhash.h>
+#include <qheaderview.h>
+#include <qlayout.h>
+#include <qlineedit.h>
+#include <qlistview.h>
+#include <qmainwindow.h>
+#include <qmap.h>
+#include <qmenubar.h>
+#include <qpaintdevice.h>
+#include <qpainter.h>
+#include <qpixmapcache.h>
+#include <qpointer.h>
+#include <qprogressbar.h>
+#include <qpushbutton.h>
+#include <qradiobutton.h>
+#include <qrubberband.h>
+#include <qsizegrip.h>
+#include <qspinbox.h>
+#include <qsplitter.h>
+#include <qstyleoption.h>
+#include <qtextedit.h>
+#include <qtextstream.h>
+#include <qtoolbar.h>
+#include <qtoolbutton.h>
+#include <qtreeview.h>
+#include <qtableview.h>
+#include <qwizard.h>
+#include <qdebug.h>
+#include <qlibrary.h>
+#include <qdatetimeedit.h>
+#include <qmath.h>
+#include <QtGui/qgraphicsproxywidget.h>
+#include <QtGui/qgraphicsview.h>
+#include <private/qt_cocoa_helpers_mac_p.h>
+
+//
+// W A R N I N G
+// -------------
+//
+// This file is not part of the Qt API. It exists purely as an
+// implementation detail. This header file may change from version to
+// version without notice, or even be removed.
+//
+// We mean it.
+//
+
+QT_BEGIN_NAMESPACE
+
+#if (MAC_OS_X_VERSION_MAX_ALLOWED <= MAC_OS_X_VERSION_10_5)
+enum {
+ kThemePushButtonTextured = 31,
+ kThemePushButtonTexturedSmall = 32,
+ kThemePushButtonTexturedMini = 33
+};
+
+/* Search fields */
+enum {
+ kHIThemeFrameTextFieldRound = 1000,
+ kHIThemeFrameTextFieldRoundSmall = 1001,
+ kHIThemeFrameTextFieldRoundMini = 1002
+};
+#endif
+
+/*
+ AHIG:
+ Apple Human Interface Guidelines
+ http://developer.apple.com/documentation/UserExperience/Conceptual/OSXHIGuidelines/
+
+ Builder:
+ Apple Interface Builder v. 3.1.1
+*/
+
+// this works as long as we have at most 16 different control types
+#define CT1(c) CT2(c, c)
+#define CT2(c1, c2) ((uint(c1) << 16) | uint(c2))
+
+enum QAquaWidgetSize { QAquaSizeLarge = 0, QAquaSizeSmall = 1, QAquaSizeMini = 2,
+ QAquaSizeUnknown = -1 };
+
+#define SIZE(large, small, mini) \
+ (controlSize == QAquaSizeLarge ? (large) : controlSize == QAquaSizeSmall ? (small) : (mini))
+
+// same as return SIZE(...) but optimized
+#define return_SIZE(large, small, mini) \
+ do { \
+ static const int sizes[] = { (large), (small), (mini) }; \
+ return sizes[controlSize]; \
+ } while (0)
+
+class QMacStylePrivate : public QObject
+{
+ Q_OBJECT
+
+public:
+ QMacStylePrivate(QMacStyle *style);
+
+ // Ideally these wouldn't exist, but since they already exist we need some accessors.
+ static const int PushButtonLeftOffset;
+ static const int PushButtonTopOffset;
+ static const int PushButtonRightOffset;
+ static const int PushButtonBottomOffset;
+ static const int MiniButtonH;
+ static const int SmallButtonH;
+ static const int BevelButtonW;
+ static const int BevelButtonH;
+ static const int PushButtonContentPadding;
+
+
+ // Stuff from QAquaAnimate:
+ bool addWidget(QWidget *);
+ void removeWidget(QWidget *);
+
+ enum Animates { AquaPushButton, AquaProgressBar, AquaListViewItemOpen };
+ bool animatable(Animates, const QWidget *) const;
+ void stopAnimate(Animates, QWidget *);
+ void startAnimate(Animates, QWidget *);
+ static ThemeDrawState getDrawState(QStyle::State flags);
+ QAquaWidgetSize aquaSizeConstrain(const QStyleOption *option, const QWidget *widg,
+ QStyle::ContentsType ct = QStyle::CT_CustomBase,
+ QSize szHint=QSize(-1, -1), QSize *insz = 0) const;
+ void getSliderInfo(QStyle::ComplexControl cc, const QStyleOptionSlider *slider,
+ HIThemeTrackDrawInfo *tdi, const QWidget *needToRemoveMe);
+ bool doAnimate(Animates);
+ inline int animateSpeed(Animates) const { return 33; }
+
+ // Utility functions
+ void drawColorlessButton(const HIRect &macRect, HIThemeButtonDrawInfo *bdi,
+ QPainter *p, const QStyleOption *opt) const;
+
+ QSize pushButtonSizeFromContents(const QStyleOptionButton *btn) const;
+
+ HIRect pushButtonContentBounds(const QStyleOptionButton *btn,
+ const HIThemeButtonDrawInfo *bdi) const;
+
+ void initComboboxBdi(const QStyleOptionComboBox *combo, HIThemeButtonDrawInfo *bdi,
+ const QWidget *widget, const ThemeDrawState &tds);
+
+ static HIRect comboboxInnerBounds(const HIRect &outerBounds, int buttonKind);
+
+ static QRect comboboxEditBounds(const QRect &outerBounds, const HIThemeButtonDrawInfo &bdi);
+
+ static void drawCombobox(const HIRect &outerBounds, const HIThemeButtonDrawInfo &bdi, QPainter *p);
+ static void drawTableHeader(const HIRect &outerBounds, bool drawTopBorder, bool drawLeftBorder,
+ const HIThemeButtonDrawInfo &bdi, QPainter *p);
+ bool contentFitsInPushButton(const QStyleOptionButton *btn, HIThemeButtonDrawInfo *bdi,
+ ThemeButtonKind buttonKindToCheck) const;
+ void initHIThemePushButton(const QStyleOptionButton *btn, const QWidget *widget,
+ const ThemeDrawState tds,
+ HIThemeButtonDrawInfo *bdi) const;
+ QPixmap generateBackgroundPattern() const;
+protected:
+ bool eventFilter(QObject *, QEvent *);
+ void timerEvent(QTimerEvent *);
+
+private slots:
+ void startAnimationTimer();
+
+public:
+ QPointer<QPushButton> defaultButton; //default push buttons
+ int timerID;
+ QList<QPointer<QWidget> > progressBars; //existing progress bars that need animation
+
+ struct ButtonState {
+ int frame;
+ enum { ButtonDark, ButtonLight } dir;
+ } buttonState;
+ UInt8 progressFrame;
+ QPointer<QFocusFrame> focusWidget;
+ CFAbsoluteTime defaultButtonStart;
+ QMacStyle *q;
+ bool mouseDown;
+};
+
+QT_END_NAMESPACE
+
+#endif // QMACSTYLE_MAC_P_H
diff --git a/src/gui/styles/qmacstylepixmaps_mac_p.h b/src/gui/styles/qmacstylepixmaps_mac_p.h
index 6a5e0e605a..58038c3548 100644
--- a/src/gui/styles/qmacstylepixmaps_mac_p.h
+++ b/src/gui/styles/qmacstylepixmaps_mac_p.h
@@ -39,6 +39,9 @@
**
****************************************************************************/
+#ifndef QMACSTYLEPIXMAPS_MAC_P_H
+#define QMACSTYLEPIXMAPS_MAC_P_H
+
//
// W A R N I N G
// -------------
@@ -65,3 +68,5 @@ static const char * const qt_mac_toolbar_ext[]={
"aab###bb###baa",
"ab###bb###baaa",
".###..###.aaaa"};
+
+#endif // QMACSTYLEPIXMAPS_MAC_P_H
diff --git a/src/gui/styles/qplastiquestyle.cpp b/src/gui/styles/qplastiquestyle.cpp
index fbb5e4d6be..20d9bd9b35 100644
--- a/src/gui/styles/qplastiquestyle.cpp
+++ b/src/gui/styles/qplastiquestyle.cpp
@@ -50,7 +50,6 @@ static const int ProgressBarFps = 25;
static const int blueFrameWidth = 2; // with of line edit focus frame
#include "qwindowsstyle_p.h"
-#include <private/qstylehelper_p.h>
#include <qapplication.h>
#include <qbitmap.h>
#include <qabstractitemview.h>
@@ -88,6 +87,7 @@ static const int blueFrameWidth = 2; // with of line edit focus frame
#include <qprocess.h>
#include <qvarlengtharray.h>
#include <limits.h>
+#include <private/qstylehelper_p.h>
QT_BEGIN_NAMESPACE
@@ -488,7 +488,9 @@ static void qBrushSetAlphaF(QBrush *brush, qreal alpha)
// Modify the texture - ridiculously expensive.
QPixmap texture = brush->texture();
QPixmap pixmap;
- QString name = QString::fromLatin1("qbrushtexture-alpha-%1-%2").arg(alpha).arg(texture.cacheKey());
+ QString name = QLatin1Literal("qbrushtexture-alpha")
+ % HexString<qreal>(alpha)
+ % HexString<qint64>(texture.cacheKey());
if (!QPixmapCache::find(name, pixmap)) {
QImage image = texture.toImage();
QRgb *rgb = reinterpret_cast<QRgb *>(image.bits());
@@ -549,7 +551,10 @@ static QBrush qBrushLight(QBrush brush, int light)
// Modify the texture - ridiculously expensive.
QPixmap texture = brush.texture();
QPixmap pixmap;
- QString name = QString::fromLatin1("qbrushtexture-light-%1-%2").arg(light).arg(texture.cacheKey());
+ QString name = QLatin1Literal("qbrushtexture-light")
+ % HexString<int>(light)
+ % HexString<qint64>(texture.cacheKey());
+
if (!QPixmapCache::find(name, pixmap)) {
QImage image = texture.toImage();
QRgb *rgb = reinterpret_cast<QRgb *>(image.bits());
@@ -608,7 +613,10 @@ static QBrush qBrushDark(QBrush brush, int dark)
// Modify the texture - ridiculously expensive.
QPixmap texture = brush.texture();
QPixmap pixmap;
- QString name = QString::fromLatin1("qbrushtexture-dark-%1-%2").arg(dark).arg(brush.texture().cacheKey());
+ QString name = QLatin1Literal("qbrushtexture-dark")
+ % HexString<int>(dark)
+ % HexString<qint64>(texture.cacheKey());
+
if (!QPixmapCache::find(name, pixmap)) {
QImage image = texture.toImage();
QRgb *rgb = reinterpret_cast<QRgb *>(image.bits());
@@ -732,8 +740,12 @@ static QColor mergedColors(const QColor &colorA, const QColor &colorB, int facto
static void qt_plastique_draw_gradient(QPainter *painter, const QRect &rect, const QColor &gradientStart,
const QColor &gradientStop)
{
- QString gradientName;
- gradientName.sprintf("%dx%d-%x-%x", rect.width(), rect.height(), gradientStart.rgba(), gradientStop.rgba());
+ QString gradientName = QLatin1Literal("qplastique-g")
+ % HexString<int>(rect.width())
+ % HexString<int>(rect.height())
+ % HexString<QRgb>(gradientStart.rgba())
+ % HexString<QRgb>(gradientStop.rgba());
+
QPixmap cache;
QPainter *p = painter;
QRect r = rect;
@@ -1092,14 +1104,6 @@ void QPlastiqueStyle::drawPrimitive(PrimitiveElement element, const QStyleOption
Q_ASSERT(option);
QColor borderColor = option->palette.background().color().darker(178);
- QColor gradientStartColor = option->palette.button().color().lighter(104);
- QColor gradientStopColor = option->palette.button().color().darker(105);
- QColor highlightedGradientStartColor = option->palette.button().color().lighter(101);
- QColor highlightedGradientStopColor = mergedColors(option->palette.button().color(), option->palette.highlight().color(), 85);
- QColor highlightedBaseGradientStartColor = option->palette.base().color();
- QColor highlightedBaseGradientStopColor = mergedColors(option->palette.base().color().darker(105), option->palette.highlight().color(), 70);
- QColor highlightedDarkInnerBorderColor = mergedColors(option->palette.button().color(), option->palette.highlight().color(), 35);
- QColor highlightedLightInnerBorderColor = mergedColors(option->palette.button().color(), option->palette.highlight().color(), 58);
QColor alphaCornerColor;
if (widget) {
// ### backgroundrole/foregroundrole should be part of the style option
@@ -1107,13 +1111,7 @@ void QPlastiqueStyle::drawPrimitive(PrimitiveElement element, const QStyleOption
} else {
alphaCornerColor = mergedColors(option->palette.background().color(), borderColor);
}
- QColor alphaInnerColor = mergedColors(highlightedLightInnerBorderColor, gradientStartColor);
- QColor alphaInnerColorNoHover = mergedColors(borderColor, gradientStartColor);
QColor alphaTextColor = mergedColors(option->palette.background().color(), option->palette.text().color());
- QColor alphaLightTextColor = mergedColors(option->palette.background().color().lighter(250), option->palette.text().color().lighter(250));
- QColor lightShadow = option->palette.button().color().lighter(105);
- QColor shadowGradientStartColor = option->palette.button().color().darker(115);
- QColor shadow = shadowGradientStartColor;
switch (element) {
case PE_IndicatorButtonDropDown:
@@ -2057,7 +2055,6 @@ void QPlastiqueStyle::drawControl(ControlElement element, const QStyleOption *op
bool reverse = (tab->direction == Qt::RightToLeft);
int lowerTop = selected ? 0 : 3; // to make the selected tab bigger than the rest
- QRect adjustedRect;
bool atEnd = (tab->position == QStyleOptionTab::End) || onlyTab;
bool atBeginning = ((tab->position == QStyleOptionTab::Beginning) || onlyTab)
&& !leftCornerWidget;
diff --git a/src/gui/styles/qproxystyle.cpp b/src/gui/styles/qproxystyle.cpp
index 5235350b66..511c025212 100644
--- a/src/gui/styles/qproxystyle.cpp
+++ b/src/gui/styles/qproxystyle.cpp
@@ -40,11 +40,11 @@
****************************************************************************/
#include <qstyle.h>
-#include <private/qstyle_p.h>
#include <private/qproxystyle_p.h>
#include <private/qapplication_p.h>
#include "qproxystyle.h"
#include "qstylefactory.h"
+#include <private/qstyle_p.h>
#if !defined(QT_NO_STYLE_PROXY) || defined(QT_PLUGIN)
diff --git a/src/gui/styles/qs60style.cpp b/src/gui/styles/qs60style.cpp
index 20297ae7c8..45bcc0052b 100644
--- a/src/gui/styles/qs60style.cpp
+++ b/src/gui/styles/qs60style.cpp
@@ -92,10 +92,10 @@ static const qreal goldenRatio = 1.618;
const layoutHeader QS60StylePrivate::m_layoutHeaders[] = {
// *** generated layout data ***
-{240,320,1,18,"QVGA Landscape"},
-{320,240,1,18,"QVGA Portrait"},
-{360,640,1,18,"NHD Landscape"},
-{640,360,1,18,"NHD Portrait"},
+{240,320,1,19,"QVGA Landscape"},
+{320,240,1,19,"QVGA Portrait"},
+{360,640,1,19,"NHD Landscape"},
+{640,360,1,19,"NHD Portrait"},
{352,800,1,12,"E90 Landscape"}
// *** End of generated data ***
};
@@ -104,11 +104,11 @@ const int QS60StylePrivate::m_numberOfLayouts =
const short QS60StylePrivate::data[][MAX_PIXELMETRICS] = {
// *** generated pixel metrics ***
-{5,0,-909,0,0,2,0,0,-1,7,12,19,13,13,6,200,-909,-909,-909,20,13,2,0,0,21,7,18,30,3,3,1,-909,-909,0,1,0,0,12,20,15,15,18,18,1,115,18,0,-909,-909,-909,-909,0,0,16,2,-909,0,0,-909,16,-909,-909,-909,-909,32,18,55,24,55,4,4,4,9,13,-909,5,51,11,5,0,3,3,6,8,3,3,-909,2,-909,-909,-909,-909,5,5,3,1, 106},
-{5,0,-909,0,0,1,0,0,-1,8,14,22,15,15,7,164,-909,-909,-909,19,15,2,0,0,21,8,27,28,4,4,1,-909,-909,0,7,6,0,13,23,17,17,21,21,7,115,21,0,-909,-909,-909,-909,0,0,15,1,-909,0,0,-909,15,-909,-909,-909,-909,32,21,65,27,65,3,3,5,10,15,-909,5,58,13,5,0,4,4,7,9,4,4,-909,2,-909,-909,-909,-909,6,6,3,1, 106},
-{7,0,-909,0,0,2,0,0,-1,25,69,28,19,19,9,258,-909,-909,-909,23,19,26,0,0,32,25,72,44,5,5,2,-909,-909,0,7,21,0,17,29,22,22,27,27,7,173,29,0,-909,-909,-909,-909,0,0,25,2,-909,0,0,-909,25,-909,-909,-909,-909,87,27,77,35,77,13,13,6,8,19,-909,7,74,19,7,0,5,5,8,12,5,5,-909,3,-909,-909,-909,-909,7,7,3,1, 135},
-{7,0,-909,0,0,2,0,0,-1,25,68,28,19,19,9,258,-909,-909,-909,31,19,6,0,0,32,25,60,52,5,5,2,-909,-909,0,7,32,0,17,29,22,22,27,27,7,173,29,0,-909,-909,-909,-909,0,0,26,2,-909,0,0,-909,26,-909,-909,-909,-909,87,27,96,35,96,12,12,6,8,19,-909,7,74,22,7,0,5,5,8,12,5,5,-909,3,-909,-909,-909,-909,7,7,3,1, 135},
-{7,0,-909,0,0,2,0,0,-1,10,20,27,18,18,9,301,-909,-909,-909,29,18,5,0,0,35,7,32,30,5,5,2,-909,-909,0,2,8,0,16,28,21,21,26,26,2,170,26,0,-909,-909,-909,-909,0,0,21,6,-909,0,0,-909,-909,-909,-909,-909,-909,54,26,265,34,265,5,5,6,3,18,-909,7,72,19,7,0,5,6,8,11,6,5,-909,2,-909,-909,-909,-909,5,5,3,1, 106}
+{5,0,-909,0,0,2,0,0,-1,7,12,22,15,15,7,198,-909,-909,-909,20,13,2,0,0,21,7,18,30,3,3,1,-909,-909,0,1,0,0,12,20,15,15,18,18,1,115,18,0,-909,-909,-909,-909,0,0,16,2,-909,0,0,-909,16,-909,-909,-909,-909,32,18,55,24,55,4,4,4,9,13,-909,5,51,11,5,0,3,3,6,8,3,3,-909,2,-909,-909,-909,-909,5,5,3,1,106},
+{5,0,-909,0,0,1,0,0,-1,8,14,22,15,15,7,164,-909,-909,-909,19,15,2,0,0,21,8,27,28,4,4,1,-909,-909,0,7,6,0,13,23,17,17,21,21,7,115,21,0,-909,-909,-909,-909,0,0,15,1,-909,0,0,-909,15,-909,-909,-909,-909,32,21,65,27,65,3,3,5,10,15,-909,5,58,13,5,0,4,4,7,9,4,4,-909,2,-909,-909,-909,-909,6,6,3,1,106},
+{7,0,-909,0,0,2,0,0,-1,25,69,46,37,37,9,258,-909,-909,-909,23,19,26,0,0,32,25,72,44,5,5,2,-909,-909,0,7,21,0,17,29,22,22,27,27,7,173,29,0,-909,-909,-909,-909,0,0,25,2,-909,0,0,-909,25,-909,-909,-909,-909,87,27,77,35,77,13,13,6,8,19,-909,7,74,19,7,0,5,5,8,12,5,5,-909,3,-909,-909,-909,-909,7,7,3,1,135},
+{7,0,-909,0,0,2,0,0,-1,25,68,46,37,37,9,258,-909,-909,-909,31,19,6,0,0,32,25,60,52,5,5,2,-909,-909,0,7,32,0,17,29,22,22,27,27,7,173,29,0,-909,-909,-909,-909,0,0,26,2,-909,0,0,-909,26,-909,-909,-909,-909,87,27,96,35,96,12,12,6,8,19,-909,7,74,22,7,0,5,5,8,12,5,5,-909,3,-909,-909,-909,-909,7,7,3,1,135},
+{7,0,-909,0,0,2,0,0,-1,10,20,27,18,18,9,301,-909,-909,-909,29,18,5,0,0,35,7,32,30,5,5,2,-909,-909,0,2,8,0,16,28,21,21,26,26,2,170,26,0,-909,-909,-909,-909,0,0,21,6,-909,0,0,-909,-909,-909,-909,-909,-909,54,26,265,34,265,5,5,6,3,18,-909,7,72,19,7,0,5,6,8,11,6,5,-909,2,-909,-909,-909,-909,5,5,3,1,106}
// *** End of generated data ***
};
@@ -135,13 +135,13 @@ const struct QS60StylePrivate::frameElementCenter QS60StylePrivate::m_frameEleme
{SE_TableHeaderItem, QS60StyleEnums::SP_QsnFrCaleHeadingCenter},
{SE_ToolTip, QS60StyleEnums::SP_QsnFrPopupPreviewCenter},
{SE_ToolBar, QS60StyleEnums::SP_QsnFrPopupSubCenter},
- {SE_ToolBarButton, QS60StyleEnums::SP_QsnFrSctrlButtonCenter},
- {SE_ToolBarButtonPressed, QS60StyleEnums::SP_QsnFrSctrlButtonCenterPressed},
+ {SE_ToolBarButton, QS60StyleEnums::SP_QgnFrSctrlButtonCenter},
+ {SE_ToolBarButtonPressed, QS60StyleEnums::SP_QgnFrSctrlButtonCenterPressed},
{SE_PanelBackground, QS60StyleEnums::SP_QsnFrSetOptCenter},
{SE_ButtonInactive, QS60StyleEnums::SP_QsnFrButtonCenterInactive},
{SE_Editor, QS60StyleEnums::SP_QsnFrInputCenter},
{SE_TableItemPressed, QS60StyleEnums::SP_QsnFrGridCenterPressed},
- {SE_ListItemPressed, QS60StyleEnums::SP_QsnFrListPressed},
+ {SE_ListItemPressed, QS60StyleEnums::SP_QsnFrListCenterPressed},
};
static const int frameElementsCount =
@@ -653,6 +653,8 @@ void QS60StylePrivate::setFont(QWidget *widget) const
fontCategory = QS60StyleEnums::FC_Primary;
} else if (qobject_cast<QMenu *>(widget)){
fontCategory = QS60StyleEnums::FC_Primary;
+ } else if (qobject_cast<QCalendarWidget *>(widget)){
+ fontCategory = QS60StyleEnums::FC_Secondary;
}
if (fontCategory != QS60StyleEnums::FC_Undefined) {
const bool resolveFontSize = widget->testAttribute(Qt::WA_SetFont)
@@ -813,12 +815,6 @@ void QS60StylePrivate::setThemePaletteHash(QPalette *palette) const
widgetPalette.setColor(QPalette::HighlightedText,
s60Color(QS60StyleEnums::CL_QsnTextColors, 24, 0));
QApplication::setPalette(widgetPalette, "QLineEdit");
- widgetPalette = *palette;
-
- widgetPalette.setColor(QPalette::Text,
- s60Color(QS60StyleEnums::CL_QsnTextColors, 27, 0));
- widgetPalette.setColor(QPalette::HighlightedText,
- s60Color(QS60StyleEnums::CL_QsnTextColors, 24, 0));
QApplication::setPalette(widgetPalette, "QTextEdit");
widgetPalette = *palette;
@@ -880,7 +876,6 @@ QSize QS60StylePrivate::partSize(QS60StyleEnums::SkinParts part, SkinElementFlag
case QS60StyleEnums::SP_QgnGrafNsliderEndLeft:
case QS60StyleEnums::SP_QgnGrafNsliderEndRight:
case QS60StyleEnums::SP_QgnGrafNsliderMiddle:
- result.setWidth(result.height() >> 1);
break;
case QS60StyleEnums::SP_QgnGrafNsliderMarker:
@@ -1120,11 +1115,9 @@ void QS60Style::drawComplexControl(ComplexControl control, const QStyleOptionCom
tool.rect = button.unite(menuRect);
tool.state = bflags;
const QToolButton *toolButtonWidget = qobject_cast<const QToolButton *>(widget);
- QS60StylePrivate::SkinElements element;
- if (toolButtonWidget)
- element = (toolButtonWidget->isDown()) ? QS60StylePrivate::SE_ToolBarButtonPressed : QS60StylePrivate::SE_ToolBarButton;
- else
- element = (option->state & State_Sunken) ? QS60StylePrivate::SE_ToolBarButtonPressed : QS60StylePrivate::SE_ToolBarButton;
+ const QS60StylePrivate::SkinElements element =
+ ((toolButtonWidget && toolButtonWidget->isDown()) || (option->state & State_Sunken)) ?
+ QS60StylePrivate::SE_ToolBarButtonPressed : QS60StylePrivate::SE_ToolBarButton;
QS60StylePrivate::drawSkinElement(element, painter, tool.rect, flags);
drawPrimitive(PE_PanelButtonTool, &tool, painter, widget);
}
@@ -1534,13 +1527,13 @@ void QS60Style::drawControl(ControlElement element, const QStyleOption *option,
QS60StylePrivate::SE_TabBarTabNorthInactive;
break;
}
- if (skinElement==QS60StylePrivate::SE_TabBarTabEastInactive||
- skinElement==QS60StylePrivate::SE_TabBarTabNorthInactive||
- skinElement==QS60StylePrivate::SE_TabBarTabSouthInactive||
- skinElement==QS60StylePrivate::SE_TabBarTabWestInactive||
- skinElement==QS60StylePrivate::SE_TabBarTabEastActive||
- skinElement==QS60StylePrivate::SE_TabBarTabNorthActive||
- skinElement==QS60StylePrivate::SE_TabBarTabSouthActive||
+ if (skinElement == QS60StylePrivate::SE_TabBarTabEastInactive ||
+ skinElement == QS60StylePrivate::SE_TabBarTabNorthInactive ||
+ skinElement == QS60StylePrivate::SE_TabBarTabSouthInactive ||
+ skinElement == QS60StylePrivate::SE_TabBarTabWestInactive ||
+ skinElement == QS60StylePrivate::SE_TabBarTabEastActive ||
+ skinElement == QS60StylePrivate::SE_TabBarTabNorthActive ||
+ skinElement == QS60StylePrivate::SE_TabBarTabSouthActive ||
skinElement==QS60StylePrivate::SE_TabBarTabWestActive) {
const int borderThickness =
QS60StylePrivate::pixelMetric(PM_DefaultFrameWidth);
@@ -1757,45 +1750,77 @@ void QS60Style::drawControl(ControlElement element, const QStyleOption *option,
}
const bool enabled = optionMenuItem.state & State_Enabled;
const bool checkable = optionMenuItem.checkType != QStyleOptionMenuItem::NotCheckable;
+ bool ignoreCheckMark = false;
+
+#ifndef QT_NO_COMBOBOX
+ if (qobject_cast<const QComboBox*>(widget))
+ ignoreCheckMark = true; //ignore the checkmarks provided by the QComboMenuDelegate
+#endif
uint text_flags = Qt::AlignLeading | Qt::TextShowMnemonic | Qt::TextDontClip
| Qt::TextSingleLine | Qt::AlignVCenter;
if (!styleHint(SH_UnderlineShortcut, menuItem, widget))
text_flags |= Qt::TextHideMnemonic;
- const bool selected = (option->state & State_Selected) && (option->state & State_Enabled);
- if (selected)
- QS60StylePrivate::drawSkinElement(QS60StylePrivate::SE_ListHighlight, painter, option->rect, flags);
-
QRect iconRect = subElementRect(SE_ItemViewItemDecoration, &optionMenuItem, widget);
QRect textRect = subElementRect(SE_ItemViewItemText, &optionMenuItem, widget);
//todo: move the vertical spacing stuff into subElementRect
const int vSpacing = QS60StylePrivate::pixelMetric(PM_LayoutVerticalSpacing);
- if (checkable){
- const int hSpacing = QS60StylePrivate::pixelMetric(PM_LayoutHorizontalSpacing);
- QStyleOptionMenuItem optionCheckBox;
- optionCheckBox.QStyleOptionMenuItem::operator=(*menuItem);
- optionCheckBox.rect.setWidth(pixelMetric(PM_IndicatorWidth));
- optionCheckBox.rect.setHeight(pixelMetric(PM_IndicatorHeight));
- optionCheckBox.rect.moveCenter(QPoint(
- optionCheckBox.rect.center().x(),
- menuItem->rect.center().y()));
- const int moveByX = optionCheckBox.rect.width() + vSpacing;
- if (optionMenuItem.direction == Qt::LeftToRight) {
- textRect.translate(moveByX, 0);
+ QStyleOptionMenuItem optionCheckBox;
+
+ //Regardless of checkbox visibility, make room for it, this mirrors native implementation,
+ //where text and icon placement is static regardless of content of menu item.
+ const int hSpacing = QS60StylePrivate::pixelMetric(PM_LayoutHorizontalSpacing);
+ optionCheckBox.QStyleOptionMenuItem::operator=(*menuItem);
+ optionCheckBox.rect.setWidth(pixelMetric(PM_IndicatorWidth));
+ optionCheckBox.rect.setHeight(pixelMetric(PM_IndicatorHeight));
+ optionCheckBox.rect.moveCenter(QPoint(
+ optionCheckBox.rect.center().x(),
+ menuItem->rect.center().y()));
+ const int moveByX = optionCheckBox.rect.width() + vSpacing +
+ pixelMetric(PM_DefaultFrameWidth);
+ if (optionMenuItem.direction == Qt::LeftToRight) {
+ if (iconRect.isValid()) {
iconRect.translate(moveByX, 0);
iconRect.setWidth(iconRect.width() + vSpacing);
+ }
+ if (textRect.isValid()) {
+ textRect.translate(moveByX, 0);
textRect.setWidth(textRect.width() - moveByX - vSpacing);
- optionCheckBox.rect.translate(vSpacing >> 1, hSpacing >> 1);
- } else {
+ }
+ optionCheckBox.rect.translate(vSpacing + pixelMetric(PM_DefaultFrameWidth), hSpacing >> 1);
+ } else {
+ if (textRect.isValid())
textRect.setWidth(textRect.width() - moveByX);
+ if (iconRect.isValid()) {
iconRect.setWidth(iconRect.width() + vSpacing);
iconRect.translate(-optionCheckBox.rect.width() - vSpacing, 0);
- optionCheckBox.rect.translate(textRect.width() + iconRect.width(), 0);
}
- drawPrimitive(PE_IndicatorMenuCheckMark, &optionCheckBox, painter, widget);
+ optionCheckBox.rect.translate(textRect.width() + iconRect.width(), 0);
}
+
+ const bool selected = (option->state & State_Selected) && (option->state & State_Enabled);
+ if (selected) {
+ const int spacing = pixelMetric(PM_DefaultFrameWidth) * 2;
+ int start; int end;
+ if (QApplication::layoutDirection() == Qt::LeftToRight) {
+ start = optionMenuItem.rect.left() + spacing;
+ end = qMax(textRect.right(), iconRect.right() + spacing);
+ } else {
+ start = qMax(spacing, qMin(textRect.left(), iconRect.left() - spacing));
+ end = optionMenuItem.rect.right() - spacing;
+ }
+ //-1 adjustment to avoid highlight being on top of possible separator item
+ const QRect highlightRect = QRect(
+ QPoint(start, option->rect.top()),
+ QPoint(end, option->rect.bottom() - 1));
+ QS60StylePrivate::drawSkinElement(QS60StylePrivate::SE_ListHighlight, painter, highlightRect, flags);
+ }
+
+ if (checkable && !ignoreCheckMark)
+ drawPrimitive(PE_IndicatorMenuCheckMark, &optionCheckBox, painter, widget);
+
//draw icon and/or checkState
QPixmap pix = menuItem->icon.pixmap(pixelMetric(PM_SmallIconSize),
enabled ? QIcon::Normal : QIcon::Disabled);
@@ -1806,7 +1831,7 @@ void QS60Style::drawControl(ControlElement element, const QStyleOption *option,
textRect.translate(vSpacing, 0);
else
textRect.translate(-vSpacing, 0);
- textRect.setWidth(textRect.width()-vSpacing);
+ textRect.setWidth(textRect.width() - vSpacing);
}
//draw indicators
@@ -1824,7 +1849,7 @@ void QS60Style::drawControl(ControlElement element, const QStyleOption *option,
QS60StylePrivate::SF_PointNorth : QS60StylePrivate::SF_PointSouth;
painter->save();
painter->setPen(option->palette.windowText().color());
- QS60StylePrivate::drawSkinPart(QS60StyleEnums::SP_QgnIndiSubMenu, painter, arrowOptions.rect,
+ QS60StylePrivate::drawSkinPart(QS60StyleEnums::SP_QgnIndiSubmenu, painter, arrowOptions.rect,
(flags | QS60StylePrivate::SF_ColorSkinned | arrowDirection));
painter->restore();
}
@@ -1844,6 +1869,24 @@ void QS60Style::drawControl(ControlElement element, const QStyleOption *option,
QCommonStyle::drawItemText(painter, textRect, text_flags,
optionMenuItem.palette, enabled,
optionMenuItem.text, QPalette::Text);
+
+ //In Sym^3, native menu items have "lines" between them
+ if (QS60StylePrivate::isSingleClickUi()) {
+ const QColor lineColorAlpha = QS60StylePrivate::s60Color(QS60StyleEnums::CL_QsnLineColors, 15, 0);
+ const int spacing = QS60StylePrivate::pixelMetric(PM_FrameCornerWidth);
+ //native platform sets each color byte to same value for "line 16" which just defines alpha for
+ //menuitem lines; lets use first byte "red".
+ QColor lineColor = optionMenuItem.palette.text().color();
+ if (lineColorAlpha.isValid())
+ lineColor.setAlpha(lineColorAlpha.red());
+ painter->save();
+ painter->setPen(lineColor);
+
+ const int lineStartX = optionMenuItem.rect.left() + (QS60StylePrivate::pixelMetric(PM_FrameCornerWidth) - 2) + spacing;
+ const int lineEndX = optionMenuItem.rect.right() - (QS60StylePrivate::pixelMetric(PM_FrameCornerWidth) - 2) - spacing;
+ painter->drawLine(QPoint(lineStartX, optionMenuItem.rect.bottom()), QPoint(lineEndX, optionMenuItem.rect.bottom()));
+ painter->restore();
+ }
if (!enabled)
painter->restore();
}
@@ -2052,16 +2095,17 @@ void QS60Style::drawPrimitive(PrimitiveElement element, const QStyleOption *opti
case PE_FrameFocusRect: {
//Draw themed highlight to radiobuttons and checkboxes.
//For other widgets skip, unless palette has been modified. In that case, draw with commonstyle.
- if (option->palette.highlight().color() == QS60StylePrivate::themePalette()->highlight().color())
+ if (option->palette.highlight().color() == QS60StylePrivate::themePalette()->highlight().color()) {
if ((qstyleoption_cast<const QStyleOptionFocusRect *>(option) &&
(qobject_cast<const QRadioButton *>(widget) || qobject_cast<const QCheckBox *>(widget))))
QS60StylePrivate::drawSkinElement(
QS60StylePrivate::isWidgetPressed(widget) ?
QS60StylePrivate::SE_ListItemPressed :
QS60StylePrivate::SE_ListHighlight, painter, option->rect, flags);
- else
+ } else {
commonStyleDraws = true;
}
+ }
break;
#ifndef QT_NO_LINEEDIT
case PE_PanelLineEdit:
@@ -2239,6 +2283,8 @@ void QS60Style::drawPrimitive(PrimitiveElement element, const QStyleOption *opti
if (QS60StylePrivate::canDrawThemeBackground(option->palette.base(), widget) &&
option->palette.window().texture().cacheKey() ==
QS60StylePrivate::m_themePalette->window().texture().cacheKey())
+ //todo: for combobox listviews, the background should include area for menu scrollers,
+ //but this produces drawing issues as we need to turn clipping off.
QS60StylePrivate::drawSkinElement(QS60StylePrivate::SE_PopupBackground, painter, option->rect, flags);
else
commonStyleDraws = true;
@@ -2361,41 +2407,43 @@ void QS60Style::drawPrimitive(PrimitiveElement element, const QStyleOption *opti
#endif
QCommonStyle::drawPrimitive(element, option, painter, widget);
} else {
- const bool rightLine = option->state & State_Item;
- const bool downLine = option->state & State_Sibling;
- const bool upLine = option->state & (State_Open | State_Children | State_Item | State_Sibling);
-
- QS60StyleEnums::SkinParts skinPart;
- bool drawSkinPart = false;
- if (rightLine && downLine && upLine) {
- skinPart = QS60StyleEnums::SP_QgnIndiHlLineBranch;
- drawSkinPart = true;
- } else if (rightLine && upLine) {
- skinPart = QS60StyleEnums::SP_QgnIndiHlLineEnd;
- drawSkinPart = true;
- } else if (upLine && downLine) {
- skinPart = QS60StyleEnums::SP_QgnIndiHlLineStraight;
- drawSkinPart = true;
- }
-
- if (drawSkinPart)
- QS60StylePrivate::drawSkinPart(skinPart, painter, option->rect, flags);
+ if (const QStyleOptionViewItemV2 *vopt = qstyleoption_cast<const QStyleOptionViewItemV2 *>(option)) {
+ const bool rightLine = option->state & State_Item;
+ const bool downLine = option->state & State_Sibling;
+ const bool upLine = option->state & (State_Open | State_Children | State_Item | State_Sibling);
+ QS60StylePrivate::SkinElementFlags adjustedFlags = flags;
+
+ QS60StyleEnums::SkinParts skinPart;
+ bool drawSkinPart = false;
+ if (rightLine && downLine && upLine) {
+ skinPart = QS60StyleEnums::SP_QgnIndiHlLineBranch;
+ drawSkinPart = true;
+ } else if (rightLine && upLine) {
+ skinPart = QS60StyleEnums::SP_QgnIndiHlLineEnd;
+ drawSkinPart = true;
+ } else if (upLine && downLine) {
+ skinPart = QS60StyleEnums::SP_QgnIndiHlLineStraight;
+ drawSkinPart = true;
+ }
- if (option->state & State_Children) {
- QS60StyleEnums::SkinParts skinPart =
- (option->state & State_Open) ? QS60StyleEnums::SP_QgnIndiHlColSuper : QS60StyleEnums::SP_QgnIndiHlExpSuper;
- int minDimension = qMin(option->rect.width(), option->rect.height());
- QRect iconRect(option->rect.topLeft(), QSize(minDimension, minDimension));
- const int magicTweak = 3;
- int resizeValue = minDimension >> 1;
- if (!QS60StylePrivate::isTouchSupported()) {
- minDimension += resizeValue; // Adjust the icon bigger because of empty space in svg icon.
- iconRect.setSize(QSize(minDimension, minDimension));
- const int verticalMagic = (option->rect.width() <= option->rect.height()) ? magicTweak : 0;
- resizeValue = verticalMagic - resizeValue;
+ if (option->direction == Qt::RightToLeft)
+ adjustedFlags |= QS60StylePrivate::SF_Mirrored_X_Axis;
+
+ if (drawSkinPart)
+ QS60StylePrivate::drawSkinPart(skinPart, painter, option->rect, adjustedFlags);
+
+ if (option->state & State_Children) {
+ QS60StyleEnums::SkinParts skinPart =
+ (option->state & State_Open) ? QS60StyleEnums::SP_QgnIndiHlColSuper : QS60StyleEnums::SP_QgnIndiHlExpSuper;
+ const QRect selectionRect = subElementRect(SE_ItemViewItemCheckIndicator, vopt, widget);
+ const int minDimension = qMin(option->rect.width(), option->rect.height());
+ const int magicTweak = (option->direction == Qt::RightToLeft) ? -3 : 3; //@todo: magic
+ //The branch indicator icon in S60 is supposed to be superimposed on top of branch lines.
+ QRect iconRect(QPoint(option->rect.left() + magicTweak, selectionRect.top() + 1), QSize(minDimension, minDimension));
+ if (!QS60StylePrivate::isTouchSupported())
+ iconRect.translate(0, -4); //@todo: magic
+ QS60StylePrivate::drawSkinPart(skinPart, painter, iconRect, adjustedFlags);
}
- iconRect.translate(magicTweak, resizeValue);
- QS60StylePrivate::drawSkinPart(skinPart, painter, iconRect, flags);
}
}
break;
@@ -2478,6 +2526,12 @@ int QS60Style::pixelMetric(PixelMetric metric, const QStyleOption *option, const
//double the top layout margin for dialogs, it is very close to real value
//without having to define custom pixel metric
metricValue *= 2;
+
+ if (widget && (metric == PM_FocusFrameHMargin))
+ if (qobject_cast<const QTableView *>(widget))
+ //Halve the focus frame margin for table items
+ metricValue /= 2;
+
return metricValue;
}
@@ -2503,7 +2557,7 @@ QSize QS60Style::sizeFromContents(ContentsType ct, const QStyleOption *opt,
sz += QSize(pixelMetric(PM_IndicatorWidth) + pixelMetric(PM_CheckBoxLabelSpacing), 0);
const int iconHeight = (!buttonWidget->icon().isNull()) ? buttonWidget->iconSize().height() : 0;
const int textHeight = (buttonWidget->text().length() > 0) ?
- buttonWidget->fontMetrics().size(Qt::TextSingleLine, buttonWidget->text()).height() : 0;
+ buttonWidget->fontMetrics().size(Qt::TextSingleLine, buttonWidget->text()).height() : opt->fontMetrics.height();
const int decoratorHeight = (buttonWidget->isCheckable()) ? pixelMetric(PM_IndicatorHeight) : 0;
const int contentHeight =
@@ -2546,10 +2600,12 @@ QSize QS60Style::sizeFromContents(ContentsType ct, const QStyleOption *opt,
}
}
sz = QCommonStyle::sizeFromContents( ct, opt, csz, widget);
+ //native items have small empty areas at the beginning and end of menu item
+ sz.setWidth(sz.width() + 2 * pixelMetric(PM_MenuHMargin) + 2 * QS60StylePrivate::pixelMetric(PM_FrameCornerWidth));
if (QS60StylePrivate::isTouchSupported())
//Make itemview easier to use in touch devices
//QCommonStyle does not adjust height with horizontal margin, it only adjusts width
- sz.setHeight(sz.height() + 2 * pixelMetric(PM_FocusFrameVMargin));
+ sz.setHeight(sz.height() + 2 * pixelMetric(PM_FocusFrameVMargin) - 8); //QCommonstyle adds 8 to height that this style handles through PM values
break;
#ifndef QT_NO_COMBOBOX
case CT_ComboBox: {
@@ -2573,7 +2629,7 @@ QSize QS60Style::sizeFromContents(ContentsType ct, const QStyleOption *opt,
int QS60Style::styleHint(StyleHint sh, const QStyleOption *opt, const QWidget *widget,
QStyleHintReturn *hret) const
{
- int retValue = -1;
+ int retValue = 0;
switch (sh) {
case SH_RequestSoftwareInputPanel:
if (QS60StylePrivate::isSingleClickUi())
@@ -2608,9 +2664,13 @@ int QS60Style::styleHint(StyleHint sh, const QStyleOption *opt, const QWidget *w
case SH_Dial_BackgroundRole:
retValue = QPalette::Base;
break;
- case SH_ItemView_ActivateItemOnSingleClick:
- retValue = QS60StylePrivate::isSingleClickUi();
+ case SH_ItemView_ActivateItemOnSingleClick: {
+ if (QS60StylePrivate::isSingleClickUi())
+ retValue = true;
+ else if (opt && opt->state & QStyle::State_Selected)
+ retValue = true;
break;
+ }
case SH_ProgressDialog_TextLabelAlignment:
retValue = (QApplication::layoutDirection() == Qt::LeftToRight) ?
Qt::AlignLeft :
@@ -2810,16 +2870,7 @@ QRect QS60Style::subControlRect(ComplexControl control, const QStyleOptionComple
}
break;
case SC_ComboBoxListBoxPopup: {
- const QRect desktopContent = QApplication::desktop()->availableGeometry();
-
- // take the size of this and position bottom above available area
- QRect popupRect;
- const int width = desktopContent.width() - pixelMetric(PM_LayoutRightMargin) - pixelMetric(PM_LayoutLeftMargin);
- popupRect.setWidth(width);
- popupRect.setHeight(desktopContent.height()); //combobox resets height anyway based on content
- popupRect.setBottom(desktopContent.bottom());
- popupRect.translate(pixelMetric(PM_LayoutLeftMargin), 0);
- ret = popupRect;
+ ret = QApplication::desktop()->availableGeometry();
}
break;
default:
@@ -2983,7 +3034,6 @@ QRect QS60Style::subElementRect(SubElement element, const QStyleOption *opt, con
ret.setWidth(indicatorWidth);
}
} else {
- ret = menuItem->rect;
if (!menuItem->icon.isNull())
if (menuItem->direction == Qt::LeftToRight)
ret.adjust(indicatorWidth, 0, 0, 0);
@@ -3002,7 +3052,7 @@ QRect QS60Style::subElementRect(SubElement element, const QStyleOption *opt, con
}
break;
case SE_ItemViewItemCheckIndicator:
- if (const QStyleOptionViewItemV4 *vopt = qstyleoption_cast<const QStyleOptionViewItemV4 *>(opt)) {
+ if (const QStyleOptionViewItemV2 *vopt = qstyleoption_cast<const QStyleOptionViewItemV2 *>(opt)) {
const QListWidget *listItem = qobject_cast<const QListWidget *>(widget);
const bool singleSelection = listItem &&
@@ -3315,13 +3365,13 @@ QIcon QS60Style::standardIconImplementation(StandardPixmap standardIcon,
part = QS60StyleEnums::SP_QgnNoteErased;
break;
case SP_ToolBarHorizontalExtensionButton:
- part = QS60StyleEnums::SP_QgnIndiSubMenu;
+ part = QS60StyleEnums::SP_QgnIndiSubmenu;
if (QApplication::layoutDirection() == Qt::RightToLeft)
adjustedFlags |= QS60StylePrivate::SF_PointSouth;
break;
case SP_ToolBarVerticalExtensionButton:
adjustedFlags |= QS60StylePrivate::SF_PointEast;
- part = QS60StyleEnums::SP_QgnIndiSubMenu;
+ part = QS60StyleEnums::SP_QgnIndiSubmenu;
break;
default:
diff --git a/src/gui/styles/qs60style_p.h b/src/gui/styles/qs60style_p.h
index 9dd3810622..836969a99a 100644
--- a/src/gui/styles/qs60style_p.h
+++ b/src/gui/styles/qs60style_p.h
@@ -154,7 +154,7 @@ public:
SP_QgnIndiRadiobuttOn,
SP_QgnGrafNsliderMarker,
SP_QgnGrafNsliderMarkerSelected,
- SP_QgnIndiSubMenu,
+ SP_QgnIndiSubmenu,
SP_QgnNoteErased,
SP_QgnNoteError,
SP_QgnNoteInfo,
@@ -166,6 +166,24 @@ public:
SP_QgnPropFolderSmall,
SP_QgnPropFolderSmallNew,
SP_QgnPropPhoneMemcLarge,
+ SP_QgnFrSctrlButtonCornerTl, // Toolbar button
+ SP_QgnFrSctrlButtonCornerTr,
+ SP_QgnFrSctrlButtonCornerBl,
+ SP_QgnFrSctrlButtonCornerBr,
+ SP_QgnFrSctrlButtonSideT,
+ SP_QgnFrSctrlButtonSideB,
+ SP_QgnFrSctrlButtonSideL,
+ SP_QgnFrSctrlButtonSideR,
+ SP_QgnFrSctrlButtonCenter,
+ SP_QgnFrSctrlButtonCornerTlPressed, // Toolbar button, pressed
+ SP_QgnFrSctrlButtonCornerTrPressed,
+ SP_QgnFrSctrlButtonCornerBlPressed,
+ SP_QgnFrSctrlButtonCornerBrPressed,
+ SP_QgnFrSctrlButtonSideTPressed,
+ SP_QgnFrSctrlButtonSideBPressed,
+ SP_QgnFrSctrlButtonSideLPressed,
+ SP_QgnFrSctrlButtonSideRPressed,
+ SP_QgnFrSctrlButtonCenterPressed,
SP_QsnCpScrollHandleBottomPressed, //ScrollBar handle, pressed state
SP_QsnCpScrollHandleMiddlePressed,
SP_QsnCpScrollHandleTopPressed,
@@ -198,10 +216,10 @@ public:
SP_QsnFrCaleCornerTr,
SP_QsnFrCaleCornerBl,
SP_QsnFrCaleCornerBr,
- SP_QsnFrCaleGSideT,
- SP_QsnFrCaleGSideB,
- SP_QsnFrCaleGSideL,
- SP_QsnFrCaleGSideR,
+ SP_QsnFrCaleSideT,
+ SP_QsnFrCaleSideB,
+ SP_QsnFrCaleSideL,
+ SP_QsnFrCaleSideR,
SP_QsnFrCaleCenter,
SP_QsnFrCaleHeadingCornerTl, // calendar grid header
SP_QsnFrCaleHeadingCornerTr,
@@ -266,24 +284,6 @@ public:
SP_QsnFrPopupSubSideL,
SP_QsnFrPopupSubSideR,
SP_QsnFrPopupSubCenter,
- SP_QsnFrSctrlButtonCornerTl, // Toolbar button
- SP_QsnFrSctrlButtonCornerTr,
- SP_QsnFrSctrlButtonCornerBl,
- SP_QsnFrSctrlButtonCornerBr,
- SP_QsnFrSctrlButtonSideT,
- SP_QsnFrSctrlButtonSideB,
- SP_QsnFrSctrlButtonSideL,
- SP_QsnFrSctrlButtonSideR,
- SP_QsnFrSctrlButtonCenter,
- SP_QsnFrSctrlButtonCornerTlPressed, // Toolbar button, pressed
- SP_QsnFrSctrlButtonCornerTrPressed,
- SP_QsnFrSctrlButtonCornerBlPressed,
- SP_QsnFrSctrlButtonCornerBrPressed,
- SP_QsnFrSctrlButtonSideTPressed,
- SP_QsnFrSctrlButtonSideBPressed,
- SP_QsnFrSctrlButtonSideLPressed,
- SP_QsnFrSctrlButtonSideRPressed,
- SP_QsnFrSctrlButtonCenterPressed,
SP_QsnFrButtonCornerTlInactive, // Inactive button
SP_QsnFrButtonCornerTrInactive,
SP_QsnFrButtonCornerBlInactive,
@@ -310,7 +310,7 @@ public:
SP_QsnFrListSideBPressed,
SP_QsnFrListSideLPressed,
SP_QsnFrListSideRPressed,
- SP_QsnFrListPressed,
+ SP_QsnFrListCenterPressed,
};
enum ColorLists {
@@ -476,6 +476,8 @@ public:
SF_StateDisabled = 0x0020,
SF_ColorSkinned = 0x0040, // pixmap is colored with foreground pen color
SF_Animation = 0x0080,
+ SF_Mirrored_X_Axis = 0x0100,
+ SF_Mirrored_Y_Axis = 0x0200
};
enum CacheClearReason {
diff --git a/src/gui/styles/qs60style_s60.cpp b/src/gui/styles/qs60style_s60.cpp
index 55aa6b0f3c..4bb2ea8ac1 100644
--- a/src/gui/styles/qs60style_s60.cpp
+++ b/src/gui/styles/qs60style_s60.cpp
@@ -50,17 +50,17 @@
#include "qapplication.h"
#include <w32std.h>
-#include <AknsConstants.h>
+#include <aknsconstants.h>
#include <aknconsts.h>
-#include <AknsItemID.h>
-#include <AknsUtils.h>
-#include <AknsDrawUtils.h>
-#include <AknsSkinInstance.h>
-#include <AknsBasicBackgroundControlContext.h>
+#include <aknsitemid.h>
+#include <aknsutils.h>
+#include <aknsdrawutils.h>
+#include <aknsskininstance.h>
+#include <aknsbasicbackgroundcontrolcontext.h>
#include <avkon.mbg>
#include <aknfontaccess.h>
#include <aknlayoutfont.h>
-#include <AknUtils.h>
+#include <aknutils.h>
#include <aknnavi.h>
#include <gulicon.h>
#include <aknbitmapanimation.h>
@@ -179,7 +179,7 @@ const partMapEntry QS60StyleModeSpecifics::m_partMap[] = {
/* SP_QgnGrafBarFrameSideR */ {KAknsIIDQgnGrafBarFrameSideR, EDrawIcon, ES60_All, -1,-1},
/* SP_QgnGrafBarProgress */ {KAknsIIDQgnGrafBarProgress, EDrawIcon, ES60_All, -1,-1},
// No drop area for 3.x non-touch devices
- /* SP_QgnGrafOrgBgGrid */ {KAknsIIDNone, EDrawIcon, ES60_3_X, EAknsMajorGeneric ,0x1eba}, //KAknsIIDQgnGrafOrgBgGrid
+ /* SP_QgnGrafOrgBgGrid */ {KAknsIIDNone, EDrawIcon, ES60_3_X, EAknsMajorGeneric ,0x1eba}, //KAknsIIDQgnGrafOrgBgGrid
/* SP_QgnGrafScrollArrowDown */ {KAknsIIDQgnGrafScrollArrowDown, EDrawGulIcon, ES60_All, -1,-1},
/* SP_QgnGrafScrollArrowLeft */ {KAknsIIDQgnGrafScrollArrowLeft, EDrawGulIcon, ES60_All, -1,-1},
/* SP_QgnGrafScrollArrowRight */ {KAknsIIDQgnGrafScrollArrowRight, EDrawGulIcon, ES60_All, -1,-1},
@@ -214,7 +214,7 @@ const partMapEntry QS60StyleModeSpecifics::m_partMap[] = {
// In 3.1 there different slider graphic and no pressed state.
/* SP_QgnGrafNsliderMarker */ {KAknsIIDQgnIndiSliderEdit, EDrawIcon, ES60_3_1, EAknsMajorGeneric, 0x19d1 /* KAknsIIDQgnGrafNsliderMarker */},
/* SP_QgnGrafNsliderMarkerSelected */ {KAknsIIDQgnIndiSliderEdit, EDrawIcon, ES60_3_1, EAknsMajorGeneric, 0x1a4a /* KAknsIIDQgnGrafNsliderMarkerSelected */},
- /* SP_QgnIndiSubMenu */ {KAknsIIDQgnIndiSubmenu, EDrawIcon, ES60_All, -1,-1},
+ /* SP_QgnIndiSubmenu */ {KAknsIIDQgnIndiSubmenu, EDrawIcon, ES60_All, -1,-1},
/* SP_QgnNoteErased */ {KAknsIIDQgnNoteErased, EDrawIcon, ES60_All, -1,-1},
/* SP_QgnNoteError */ {KAknsIIDQgnNoteError, EDrawIcon, ES60_All, -1,-1},
/* SP_QgnNoteInfo */ {KAknsIIDQgnNoteInfo, EDrawIcon, ES60_All, -1,-1},
@@ -227,6 +227,28 @@ const partMapEntry QS60StyleModeSpecifics::m_partMap[] = {
/* SP_QgnPropFolderSmallNew */ {KAknsIIDQgnPropFolderSmallNew, EDrawIcon, ES60_All, -1,-1},
/* SP_QgnPropPhoneMemcLarge */ {KAknsIIDQgnPropPhoneMemcLarge, EDrawIcon, ES60_All, -1,-1},
+ // Toolbar graphics is different in 3.1/3.2 vs. 5.0
+ /* SP_QgnFrSctrlButtonCornerTl */ {KAknsIIDQsnFrButtonTbCornerTl, ENoDraw, ES60_3_X, EAknsMajorSkin, 0x2301}, /* KAknsIIDQgnFrSctrlButtonCornerTl*/
+ /* SP_QgnFrSctrlButtonCornerTr */ {KAknsIIDQsnFrButtonTbCornerTr, ENoDraw, ES60_3_X, EAknsMajorSkin, 0x2302},
+ /* SP_QgnFrSctrlButtonCornerBl */ {KAknsIIDQsnFrButtonTbCornerBl, ENoDraw, ES60_3_X, EAknsMajorSkin, 0x2303},
+ /* SP_QgnFrSctrlButtonCornerBr */ {KAknsIIDQsnFrButtonTbCornerBr, ENoDraw, ES60_3_X, EAknsMajorSkin, 0x2304},
+ /* SP_QgnFrSctrlButtonSideT */ {KAknsIIDQsnFrButtonTbSideT, ENoDraw, ES60_3_X, EAknsMajorSkin, 0x2305},
+ /* SP_QgnFrSctrlButtonSideB */ {KAknsIIDQsnFrButtonTbSideB, ENoDraw, ES60_3_X, EAknsMajorSkin, 0x2306},
+ /* SP_QgnFrSctrlButtonSideL */ {KAknsIIDQsnFrButtonTbSideL, ENoDraw, ES60_3_X, EAknsMajorSkin, 0x2307},
+ /* SP_QgnFrSctrlButtonSideR */ {KAknsIIDQsnFrButtonTbSideR, ENoDraw, ES60_3_X, EAknsMajorSkin, 0x2308},
+ /* SP_QgnFrSctrlButtonCenter */ {KAknsIIDQsnFrButtonTbCenter, ENoDraw, ES60_3_X, EAknsMajorSkin, 0x2309}, /*KAknsIIDQgnFrSctrlButtonCenter*/
+
+ // No pressed state for toolbar button in 3.1/3.2.
+ /* SP_QgnFrSctrlButtonCornerTlPressed */ {KAknsIIDQsnFrButtonTbCornerTl, ENoDraw, ES60_3_X, EAknsMajorSkin, 0x2621}, /*KAknsIIDQgnFrSctrlButtonCornerTlPressed*/
+ /* SP_QgnFrSctrlButtonCornerTrPressed */ {KAknsIIDQsnFrButtonTbCornerTr, ENoDraw, ES60_3_X, EAknsMajorSkin, 0x2622},
+ /* SP_QgnFrSctrlButtonCornerBlPressed */ {KAknsIIDQsnFrButtonTbCornerBl, ENoDraw, ES60_3_X, EAknsMajorSkin, 0x2623},
+ /* SP_QgnFrSctrlButtonCornerBrPressed */ {KAknsIIDQsnFrButtonTbCornerBr, ENoDraw, ES60_3_X, EAknsMajorSkin, 0x2624},
+ /* SP_QgnFrSctrlButtonSideTPressed */ {KAknsIIDQsnFrButtonTbSideT, ENoDraw, ES60_3_X, EAknsMajorSkin, 0x2625},
+ /* SP_QgnFrSctrlButtonSideBPressed */ {KAknsIIDQsnFrButtonTbSideB, ENoDraw, ES60_3_X, EAknsMajorSkin, 0x2626},
+ /* SP_QgnFrSctrlButtonSideLPressed */ {KAknsIIDQsnFrButtonTbSideL, ENoDraw, ES60_3_X, EAknsMajorSkin, 0x2627},
+ /* SP_QgnFrSctrlButtonSideRPressed */ {KAknsIIDQsnFrButtonTbSideR, ENoDraw, ES60_3_X, EAknsMajorSkin, 0x2628},
+ /* SP_QgnFrSctrlButtonCenterPressed */ {KAknsIIDQsnFrButtonTbCenter, ENoDraw, ES60_3_X, EAknsMajorSkin, 0x2629},
+
// 3.1 & 3.2 do not have pressed state for scrollbar, so use normal scrollbar graphics instead.
/* SP_QsnCpScrollHandleBottomPressed*/ {KAknsIIDQsnCpScrollHandleBottom, EDrawIcon, ES60_3_X, EAknsMajorGeneric, 0x20f8}, /*KAknsIIDQsnCpScrollHandleBottomPressed*/
/* SP_QsnCpScrollHandleMiddlePressed*/ {KAknsIIDQsnCpScrollHandleMiddle, EDrawIcon, ES60_3_X, EAknsMajorGeneric, 0x20f9}, /*KAknsIIDQsnCpScrollHandleMiddlePressed*/
@@ -266,10 +288,10 @@ const partMapEntry QS60StyleModeSpecifics::m_partMap[] = {
/* SP_QsnFrCaleCornerTr */ {KAknsIIDQsnFrCaleCornerTr, ENoDraw, ES60_All, -1,-1},
/* SP_QsnFrCaleCornerBl */ {KAknsIIDQsnFrCaleCornerBl, ENoDraw, ES60_All, -1,-1},
/* SP_QsnFrCaleCornerBr */ {KAknsIIDQsnFrCaleCornerBr, ENoDraw, ES60_All, -1,-1},
- /* SP_QsnFrCaleGSideT */ {KAknsIIDQsnFrCaleSideT, ENoDraw, ES60_All, -1,-1},
- /* SP_QsnFrCaleGSideB */ {KAknsIIDQsnFrCaleSideB, ENoDraw, ES60_All, -1,-1},
- /* SP_QsnFrCaleGSideL */ {KAknsIIDQsnFrCaleSideL, ENoDraw, ES60_All, -1,-1},
- /* SP_QsnFrCaleGSideR */ {KAknsIIDQsnFrCaleSideR, ENoDraw, ES60_All, -1,-1},
+ /* SP_QsnFrCaleSideT */ {KAknsIIDQsnFrCaleSideT, ENoDraw, ES60_All, -1,-1},
+ /* SP_QsnFrCaleSideB */ {KAknsIIDQsnFrCaleSideB, ENoDraw, ES60_All, -1,-1},
+ /* SP_QsnFrCaleSideL */ {KAknsIIDQsnFrCaleSideL, ENoDraw, ES60_All, -1,-1},
+ /* SP_QsnFrCaleSideR */ {KAknsIIDQsnFrCaleSideR, ENoDraw, ES60_All, -1,-1},
/* SP_QsnFrCaleCenter */ {KAknsIIDQsnFrCaleCenter, ENoDraw, ES60_All, -1,-1},
/* SP_QsnFrCaleHeadingCornerTl */ {KAknsIIDQsnFrCaleHeadingCornerTl, ENoDraw, ES60_All, -1,-1},
@@ -344,28 +366,6 @@ const partMapEntry QS60StyleModeSpecifics::m_partMap[] = {
/* SP_QsnFrPopupSubSideR */ {KAknsIIDQsnFrPopupSubSideR, ENoDraw, ES60_3_X, -1,-1},
/* SP_QsnFrPopupSubCenter */ {KAknsIIDQsnFrPopupCenterSubmenu, ENoDraw, ES60_3_X, -1,-1},
- // Toolbar graphics is different in 3.1/3.2 vs. 5.0
- /* SP_QsnFrSctrlButtonCornerTl */ {KAknsIIDQsnFrButtonTbCornerTl, ENoDraw, ES60_3_X, EAknsMajorSkin, 0x2301}, /* KAknsIIDQgnFrSctrlButtonCornerTl*/
- /* SP_QsnFrSctrlButtonCornerTr */ {KAknsIIDQsnFrButtonTbCornerTr, ENoDraw, ES60_3_X, EAknsMajorSkin, 0x2302},
- /* SP_QsnFrSctrlButtonCornerBl */ {KAknsIIDQsnFrButtonTbCornerBl, ENoDraw, ES60_3_X, EAknsMajorSkin, 0x2303},
- /* SP_QsnFrSctrlButtonCornerBr */ {KAknsIIDQsnFrButtonTbCornerBr, ENoDraw, ES60_3_X, EAknsMajorSkin, 0x2304},
- /* SP_QsnFrSctrlButtonSideT */ {KAknsIIDQsnFrButtonTbSideT, ENoDraw, ES60_3_X, EAknsMajorSkin, 0x2305},
- /* SP_QsnFrSctrlButtonSideB */ {KAknsIIDQsnFrButtonTbSideB, ENoDraw, ES60_3_X, EAknsMajorSkin, 0x2306},
- /* SP_QsnFrSctrlButtonSideL */ {KAknsIIDQsnFrButtonTbSideL, ENoDraw, ES60_3_X, EAknsMajorSkin, 0x2307},
- /* SP_QsnFrSctrlButtonSideR */ {KAknsIIDQsnFrButtonTbSideR, ENoDraw, ES60_3_X, EAknsMajorSkin, 0x2308},
- /* SP_QsnFrSctrlButtonCenter */ {KAknsIIDQsnFrButtonTbCenter, ENoDraw, ES60_3_X, EAknsMajorSkin, 0x2309}, /*KAknsIIDQgnFrSctrlButtonCenter*/
-
- // No pressed state for toolbar button in 3.1/3.2.
- /* SP_QsnFrSctrlButtonCornerTlPressed */ {KAknsIIDQsnFrButtonTbCornerTl, ENoDraw, ES60_3_X, EAknsMajorSkin, 0x2621}, /*KAknsIIDQsnFrSctrlButtonCornerTlPressed*/
- /* SP_QsnFrSctrlButtonCornerTrPressed */ {KAknsIIDQsnFrButtonTbCornerTr, ENoDraw, ES60_3_X, EAknsMajorSkin, 0x2622},
- /* SP_QsnFrSctrlButtonCornerBlPressed */ {KAknsIIDQsnFrButtonTbCornerBl, ENoDraw, ES60_3_X, EAknsMajorSkin, 0x2623},
- /* SP_QsnFrSctrlButtonCornerBrPressed */ {KAknsIIDQsnFrButtonTbCornerBr, ENoDraw, ES60_3_X, EAknsMajorSkin, 0x2624},
- /* SP_QsnFrSctrlButtonSideTPressed */ {KAknsIIDQsnFrButtonTbSideT, ENoDraw, ES60_3_X, EAknsMajorSkin, 0x2625},
- /* SP_QsnFrSctrlButtonSideBPressed */ {KAknsIIDQsnFrButtonTbSideB, ENoDraw, ES60_3_X, EAknsMajorSkin, 0x2626},
- /* SP_QsnFrSctrlButtonSideLPressed */ {KAknsIIDQsnFrButtonTbSideL, ENoDraw, ES60_3_X, EAknsMajorSkin, 0x2627},
- /* SP_QsnFrSctrlButtonSideRPressed */ {KAknsIIDQsnFrButtonTbSideR, ENoDraw, ES60_3_X, EAknsMajorSkin, 0x2628},
- /* SP_QsnFrSctrlButtonCenterPressed */ {KAknsIIDQsnFrButtonTbCenter, ENoDraw, ES60_3_X, EAknsMajorSkin, 0x2629},
-
// No inactive button graphics in 3.1/3.2
/* SP_QsnFrButtonCornerTlInactive */ {KAknsIIDQsnFrButtonTbCornerTl, ENoDraw, ES60_3_X, EAknsMajorSkin, 0x21b1}, /*KAknsIIDQsnFrButtonCornerTlInactive*/
/* SP_QsnFrButtonCornerTrInactive */ {KAknsIIDQsnFrButtonTbCornerTr, ENoDraw, ES60_3_X, EAknsMajorSkin, 0x21b2},
@@ -397,7 +397,7 @@ const partMapEntry QS60StyleModeSpecifics::m_partMap[] = {
/* SP_QsnFrListSideBPressed */ {KAknsIIDQsnFrListSideB, ENoDraw, ES60_3_X, EAknsMajorSkin, 0x2690},
/* SP_QsnFrListSideLPressed */ {KAknsIIDQsnFrListSideL, ENoDraw, ES60_3_X, EAknsMajorSkin, 0x2691},
/* SP_QsnFrListSideRPressed */ {KAknsIIDQsnFrListSideR, ENoDraw, ES60_3_X, EAknsMajorSkin, 0x2692},
- /* SP_QsnFrListPressed */ {KAknsIIDQsnFrList, ENoDraw, ES60_3_X, EAknsMajorSkin, 0x2693},
+ /* SP_QsnFrListCenterPressed */ {KAknsIIDQsnFrListCenter, ENoDraw, ES60_3_X, EAknsMajorSkin, 0x2693},
};
QPixmap QS60StyleModeSpecifics::skinnedGraphics(
@@ -514,7 +514,7 @@ void QS60StyleModeSpecifics::fallbackInfo(const QS60StyleEnums::SkinParts &style
case QS60StyleEnums::SP_QgnGrafNsliderMarkerSelected:
fallbackIndex = 17574; /* EMbmAvkonQgn_graf_nslider_marker_selected */
break;
- case QS60StyleEnums::SP_QgnIndiSubMenu:
+ case QS60StyleEnums::SP_QgnIndiSubmenu:
fallbackIndex = EMbmAvkonQgn_indi_submenu;
break;
case QS60StyleEnums::SP_QgnNoteErased:
@@ -654,6 +654,14 @@ QPixmap QS60StyleModeSpecifics::fromFbsBitmap(CFbsBitmap *icon, CFbsBitmap *mask
pixmap = QPixmap::fromImage(iconImage);
}
+ if ((flags & QS60StylePrivate::SF_Mirrored_X_Axis) ||
+ (flags & QS60StylePrivate::SF_Mirrored_Y_Axis)) {
+ QImage iconImage = pixmap.toImage().mirrored(
+ flags & QS60StylePrivate::SF_Mirrored_X_Axis,
+ flags & QS60StylePrivate::SF_Mirrored_Y_Axis);
+ pixmap = QPixmap::fromImage(iconImage);
+ }
+
return pixmap;
}
@@ -969,7 +977,7 @@ void QS60StyleModeSpecifics::frameIdAndCenterId(QS60StylePrivate::SkinFrameEleme
switch(frameElement) {
case QS60StylePrivate::SF_ToolTip:
- if (QSysInfo::s60Version()!=QSysInfo::SV_S60_3_1) {
+ if (QSysInfo::s60Version() != QSysInfo::SV_S60_3_1) {
centerId.Set(EAknsMajorGeneric, 0x19c2);
frameId.Set(EAknsMajorSkin, 0x5300);
} else {
@@ -978,7 +986,8 @@ void QS60StyleModeSpecifics::frameIdAndCenterId(QS60StylePrivate::SkinFrameEleme
}
break;
case QS60StylePrivate::SF_ToolBar:
- if (QSysInfo::s60Version()==QSysInfo::SV_S60_3_1 || QSysInfo::s60Version()==QSysInfo::SV_S60_3_2) {
+ if (QSysInfo::s60Version() == QSysInfo::SV_S60_3_1 ||
+ QSysInfo::s60Version() == QSysInfo::SV_S60_3_2) {
centerId.Set(KAknsIIDQsnFrPopupCenterSubmenu);
frameId.Set(KAknsIIDQsnFrPopupSub);
}
@@ -1014,8 +1023,14 @@ TRect QS60StyleModeSpecifics::innerRectFromElement(QS60StylePrivate::SkinFrameEl
heightShrink = heightShrink >> 1;
break;
case QS60StylePrivate::SF_ListHighlight:
- widthShrink = widthShrink - 2;
- heightShrink = heightShrink - 2;
+ //In Sym^3 devices highlights are less blocky
+ if (QSysInfo::s60Version() > QSysInfo::SV_S60_5_0) {
+ widthShrink += 2;
+ heightShrink += 2;
+ } else {
+ widthShrink -= 2;
+ heightShrink -= 2;
+ }
break;
case QS60StylePrivate::SF_PopupBackground:
widthShrink = widthShrink + 5;
diff --git a/src/gui/styles/qstyle.cpp b/src/gui/styles/qstyle.cpp
index 429dafed60..4cfa93f88f 100644
--- a/src/gui/styles/qstyle.cpp
+++ b/src/gui/styles/qstyle.cpp
@@ -325,7 +325,7 @@ static int unpackControlTypes(QSizePolicy::ControlTypes controls, QSizePolicy::C
control over size of header items and row and column sizes.
\sa QStyleOption, QStylePainter, {Styles Example},
- {Implementing Styles and Style Aware Widgets}, QStyledItemDelegate
+ {Styles &amp Style Aware Widgets}, QStyledItemDelegate
*/
/*!
diff --git a/src/gui/styles/qstyle_p.h b/src/gui/styles/qstyle_p.h
index 47290328f9..745092fff6 100644
--- a/src/gui/styles/qstyle_p.h
+++ b/src/gui/styles/qstyle_p.h
@@ -43,7 +43,6 @@
#define QSTYLE_P_H
#include "private/qobject_p.h"
-#include "private/qstylehelper_p.h"
#include <QtGui/qstyle.h>
QT_BEGIN_NAMESPACE
diff --git a/src/gui/styles/qstylehelper.cpp b/src/gui/styles/qstylehelper.cpp
index 296c51c05a..ccdbf8c2c9 100644
--- a/src/gui/styles/qstylehelper.cpp
+++ b/src/gui/styles/qstylehelper.cpp
@@ -39,8 +39,6 @@
**
****************************************************************************/
-#include "qstylehelper_p.h"
-
#include <qstyleoption.h>
#include <qpainter.h>
#include <qpixmapcache.h>
@@ -54,71 +52,28 @@
#include <private/qt_cocoa_helpers_mac_p.h>
#endif
+#include "qstylehelper_p.h"
#include <qstringbuilder.h>
QT_BEGIN_NAMESPACE
-// internal helper. Converts an integer value to an unique string token
-template <typename T>
-struct HexString
-{
- inline HexString(const T t)
- : val(t)
- {}
-
- inline void write(QChar *&dest) const
- {
- const ushort hexChars[] = { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f' };
- const char *c = reinterpret_cast<const char *>(&val);
- for (uint i = 0; i < sizeof(T); ++i) {
- *dest++ = hexChars[*c & 0xf];
- *dest++ = hexChars[(*c & 0xf0) >> 4];
- ++c;
- }
- }
-
- const T val;
-};
-
-// specialization to enable fast concatenating of our string tokens to a string
-template <typename T>
-struct QConcatenable<HexString<T> >
-{
- typedef HexString<T> type;
- enum { ExactSize = true };
- static int size(const HexString<T> &str) { return sizeof(str.val) * 2; }
- static inline void appendTo(const HexString<T> &str, QChar *&out) { str.write(out); }
-};
-
namespace QStyleHelper {
QString uniqueName(const QString &key, const QStyleOption *option, const QSize &size)
{
const QStyleOptionComplex *complexOption = qstyleoption_cast<const QStyleOptionComplex *>(option);
-
- QString tmp = key
- % QLatin1Char('-')
- % HexString<uint>(option->state)
- % QLatin1Char('-')
- % HexString<uint>(option->direction)
- % QLatin1Char('-')
- % HexString<uint>(complexOption ? uint(complexOption->activeSubControls) : 0u)
- % QLatin1Char('-')
- % HexString<quint64>(option->palette.cacheKey())
- % QLatin1Char('-')
- % HexString<uint>(size.width())
- % QLatin1Char('x')
- % HexString<uint>(size.height());
+ QString tmp = key % HexString<uint>(option->state)
+ % HexString<uint>(option->direction)
+ % HexString<uint>(complexOption ? uint(complexOption->activeSubControls) : 0u)
+ % HexString<quint64>(option->palette.cacheKey())
+ % HexString<uint>(size.width())
+ % HexString<uint>(size.height());
#ifndef QT_NO_SPINBOX
if (const QStyleOptionSpinBox *spinBox = qstyleoption_cast<const QStyleOptionSpinBox *>(option)) {
- tmp = tmp
- % QLatin1Char('-')
- % HexString<uint>(spinBox->buttonSymbols)
- % QLatin1Char('-')
- % HexString<uint>(spinBox->stepEnabled)
- % QLatin1Char('-')
- % QLatin1Char(spinBox->frame ? '1' : '0');
+ tmp = tmp % HexString<uint>(spinBox->buttonSymbols)
+ % HexString<uint>(spinBox->stepEnabled)
+ % QLatin1Char(spinBox->frame ? '1' : '0'); ;
}
#endif // QT_NO_SPINBOX
return tmp;
diff --git a/src/gui/styles/qstylehelper_p.h b/src/gui/styles/qstylehelper_p.h
index 31cc4ed1dd..71fce55214 100644
--- a/src/gui/styles/qstylehelper_p.h
+++ b/src/gui/styles/qstylehelper_p.h
@@ -41,7 +41,9 @@
#include <QtCore/qglobal.h>
#include <QtCore/qpoint.h>
+#include <QtCore/qstring.h>
#include <QtGui/qpolygon.h>
+#include <QtCore/qstringbuilder.h>
#ifndef QSTYLEHELPER_P_H
#define QSTYLEHELPER_P_H
@@ -79,6 +81,37 @@ namespace QStyleHelper
int bottom = 0);
}
+// internal helper. Converts an integer value to an unique string token
+template <typename T>
+ struct HexString
+{
+ inline HexString(const T t)
+ : val(t)
+ {}
+
+ inline void write(QChar *&dest) const
+ {
+ const ushort hexChars[] = { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f' };
+ const char *c = reinterpret_cast<const char *>(&val);
+ for (uint i = 0; i < sizeof(T); ++i) {
+ *dest++ = hexChars[*c & 0xf];
+ *dest++ = hexChars[(*c & 0xf0) >> 4];
+ ++c;
+ }
+ }
+ const T val;
+};
+
+// specialization to enable fast concatenating of our string tokens to a string
+template <typename T>
+ struct QConcatenable<HexString<T> >
+{
+ typedef HexString<T> type;
+ enum { ExactSize = true };
+ static int size(const HexString<T> &str) { return sizeof(str.val) * 2; }
+ static inline void appendTo(const HexString<T> &str, QChar *&out) { str.write(out); }
+};
+
QT_END_NAMESPACE
#endif // QSTYLEHELPER_P_H
diff --git a/src/gui/styles/qstylesheetstyle.cpp b/src/gui/styles/qstylesheetstyle.cpp
index 515b6c79ab..43fa4b986c 100644
--- a/src/gui/styles/qstylesheetstyle.cpp
+++ b/src/gui/styles/qstylesheetstyle.cpp
@@ -3190,7 +3190,7 @@ void QStyleSheetStyle::drawComplexControl(ComplexControl cc, const QStyleOptionC
subRule2.drawRule(p, r);
}
- handleSubRule.drawRule(p, grooveSubRule.boxRect(hr, Margin));
+ handleSubRule.drawRule(p, handleSubRule.boxRect(hr, Margin));
}
if (slider->subControls & SC_SliderTickmarks) {
diff --git a/src/gui/styles/qwindowsmobilestyle.cpp b/src/gui/styles/qwindowsmobilestyle.cpp
index 5f939d0faf..4e7b92cb4a 100644
--- a/src/gui/styles/qwindowsmobilestyle.cpp
+++ b/src/gui/styles/qwindowsmobilestyle.cpp
@@ -80,6 +80,8 @@ extern bool qt_wince_is_smartphone(); //defined in qguifunctions_wince.cp
extern bool qt_wince_is_windows_mobile_65(); //defined in qguifunctions_wince.cpp
#endif // Q_WS_WINCE
+#include "qstylehelper_p.h"
+
QT_BEGIN_NAMESPACE
static const int windowsItemFrame = 1; // menu item frame width
@@ -5356,6 +5358,50 @@ void QWindowsMobileStyle::drawPrimitive(PrimitiveElement element, const QStyleOp
painter->setPen(option->palette.text().color());
painter->drawLines(a);
break; }
+ case PE_IndicatorBranch: {
+ // Copied from the Windows style.
+ static const int decoration_size = d->doubleControls ? 18 : 9;
+ static const int ofsA = d->doubleControls ? 4 : 2;
+ static const int ofsB = d->doubleControls ? 8 : 4;
+ static const int ofsC = d->doubleControls ? 12 : 6;
+ static const int ofsD = d->doubleControls ? 1 : 0;
+ int mid_h = option->rect.x() + option->rect.width() / 2;
+ int mid_v = option->rect.y() + option->rect.height() / 2;
+ int bef_h = mid_h;
+ int bef_v = mid_v;
+ int aft_h = mid_h;
+ int aft_v = mid_v;
+ if (option->state & State_Children) {
+ int delta = decoration_size / 2;
+ bef_h -= delta;
+ bef_v -= delta;
+ aft_h += delta;
+ aft_v += delta;
+ QPen oldPen = painter->pen();
+ QPen crossPen = oldPen;
+ crossPen.setWidth(2);
+ painter->setPen(crossPen);
+ painter->drawLine(bef_h + ofsA + ofsD, bef_v + ofsB + ofsD, bef_h + ofsC + ofsD, bef_v + ofsB + ofsD);
+ if (!(option->state & State_Open))
+ painter->drawLine(bef_h + ofsB + ofsD, bef_v + ofsA + ofsD, bef_h + ofsB + ofsD, bef_v + ofsC + ofsD);
+ painter->setPen(option->palette.dark().color());
+ painter->drawRect(bef_h, bef_v, decoration_size - 1, decoration_size - 1);
+ if (d->doubleControls)
+ painter->drawRect(bef_h + 1, bef_v + 1, decoration_size - 3, decoration_size - 3);
+ painter->setPen(oldPen);
+ }
+ QBrush brush(option->palette.dark().color(), Qt::Dense4Pattern);
+ if (option->state & State_Item) {
+ if (option->direction == Qt::RightToLeft)
+ painter->fillRect(option->rect.left(), mid_v, bef_h - option->rect.left(), 1, brush);
+ else
+ painter->fillRect(aft_h, mid_v, option->rect.right() - aft_h + 1, 1, brush);
+ }
+ if (option->state & State_Sibling)
+ painter->fillRect(mid_h, aft_v, 1, option->rect.bottom() - aft_v + 1, brush);
+ if (option->state & (State_Open | State_Children | State_Item | State_Sibling))
+ painter->fillRect(mid_h, option->rect.y(), 1, bef_v - option->rect.y(), brush);
+ break; }
case PE_Frame:
qDrawPlainRect(painter, option->rect, option->palette.shadow().color(),
d->doubleControls ? 2 : 1, &option->palette.background());
diff --git a/src/gui/styles/qwindowsstyle.cpp b/src/gui/styles/qwindowsstyle.cpp
index 1653baa6f7..579dd0b7da 100644
--- a/src/gui/styles/qwindowsstyle.cpp
+++ b/src/gui/styles/qwindowsstyle.cpp
@@ -41,7 +41,6 @@
#include "qwindowsstyle.h"
#include "qwindowsstyle_p.h"
-#include <private/qstylehelper_p.h>
#if !defined(QT_NO_STYLE_WINDOWS) || defined(QT_PLUGIN)
@@ -70,13 +69,14 @@
#include <private/qmath_p.h>
#include <qmath.h>
-
#ifdef Q_WS_X11
#include "qfileinfo.h"
#include "qdir.h"
#include <private/qt_x11_p.h>
#endif
+#include <private/qstylehelper_p.h>
+
QT_BEGIN_NAMESPACE
#if defined(Q_WS_WIN)
@@ -1388,8 +1388,9 @@ void QWindowsStyle::drawPrimitive(PrimitiveElement pe, const QStyleOption *opt,
QRect r = opt->rect;
int size = qMin(r.height(), r.width());
QPixmap pixmap;
- QString pixmapName = QStyleHelper::uniqueName(QLatin1String("$qt_ia-") + QLatin1String(metaObject()->className()), opt, QSize(size, size))
- + QLatin1Char('-') + QString::number(pe);
+ QString pixmapName = QStyleHelper::uniqueName(QLatin1String("$qt_ia-")
+ % QLatin1String(metaObject()->className()), opt, QSize(size, size))
+ % HexString<uint>(pe);
if (!QPixmapCache::find(pixmapName, pixmap)) {
int border = size/5;
int sqsize = 2*(size/2);
@@ -1911,7 +1912,7 @@ void QWindowsStyle::drawControl(ControlElement ce, const QStyleOption *opt, QPai
p->setPen(discol);
}
- int xm = QWindowsStylePrivate::windowsItemFrame + checkcol + QWindowsStylePrivate::windowsItemHMargin;
+ int xm = int(QWindowsStylePrivate::windowsItemFrame) + checkcol + int(QWindowsStylePrivate::windowsItemHMargin);
int xpos = menuitem->rect.x() + xm;
QRect textRect(xpos, y + QWindowsStylePrivate::windowsItemVMargin,
w - xm - QWindowsStylePrivate::windowsRightBorder - tab + 1, h - 2 * QWindowsStylePrivate::windowsItemVMargin);
@@ -3223,7 +3224,7 @@ QSize QWindowsStyle::sizeFromContents(ContentsType ct, const QStyleOption *opt,
int checkcol = qMax<int>(maxpmw, QWindowsStylePrivate::windowsCheckMarkWidth); // Windows always shows a check column
w += checkcol;
- w += QWindowsStylePrivate::windowsRightBorder + 10;
+ w += int(QWindowsStylePrivate::windowsRightBorder) + 10;
sz.setWidth(w);
}
break;
diff --git a/src/gui/styles/styles.pri b/src/gui/styles/styles.pri
index 50e2454533..9d6b6fb990 100644
--- a/src/gui/styles/styles.pri
+++ b/src/gui/styles/styles.pri
@@ -46,7 +46,8 @@ x11{
contains( styles, mac ) {
HEADERS += \
styles/qmacstyle_mac.h \
- styles/qmacstylepixmaps_mac_p.h
+ styles/qmacstylepixmaps_mac_p.h \
+ styles/qmacstyle_mac_p.h
OBJECTIVE_SOURCES += styles/qmacstyle_mac.mm
!contains( styles, windows ) {
@@ -170,7 +171,12 @@ contains( styles, s60 ):contains(QT_CONFIG, s60) {
SOURCES += styles/qs60style.cpp
symbian {
SOURCES += styles/qs60style_s60.cpp
- LIBS += -lAknIcon -lAKNSKINS -lAKNSKINSRV -lFontUtils -legul -lbmpanim
+ LIBS += -legul -lbmpanim
+ contains(CONFIG, is_using_gnupoc) {
+ LIBS += -laknicon -laknskins -laknskinsrv -lfontutils
+ } else {
+ LIBS += -lAknIcon -lAKNSKINS -lAKNSKINSRV -lFontUtils
+ }
} else {
SOURCES += styles/qs60style_simulated.cpp
RESOURCES += styles/qstyle_s60_simulated.qrc
diff --git a/src/gui/text/qfont.cpp b/src/gui/text/qfont.cpp
index dcab1ee88a..bfd4ee9673 100644
--- a/src/gui/text/qfont.cpp
+++ b/src/gui/text/qfont.cpp
@@ -831,6 +831,9 @@ QFont::QFont(const QString &family, int pointSize, int weight, bool italic)
resolve_mask |= QFont::WeightResolved | QFont::StyleResolved;
}
+ if (italic)
+ resolve_mask |= QFont::StyleResolved;
+
d->request.family = family;
d->request.pointSize = qreal(pointSize);
d->request.pixelSize = -1;
diff --git a/src/gui/text/qfontdatabase.cpp b/src/gui/text/qfontdatabase.cpp
index 0daf7b6696..853eb05ab8 100644
--- a/src/gui/text/qfontdatabase.cpp
+++ b/src/gui/text/qfontdatabase.cpp
@@ -145,19 +145,19 @@ struct QtFontEncoding
struct QtFontSize
{
- unsigned short pixelSize;
-
#ifdef Q_WS_X11
- int count;
QtFontEncoding *encodings;
QtFontEncoding *encodingID(int id, uint xpoint = 0, uint xres = 0,
uint yres = 0, uint avgwidth = 0, bool add = false);
+ unsigned short count : 16;
#endif // Q_WS_X11
#if defined(Q_WS_QWS) || defined(Q_WS_LITE) || defined(Q_OS_SYMBIAN)
QByteArray fileName;
int fileIndex;
#endif // defined(Q_WS_QWS) || defined(Q_WS_LITE) || defined(Q_OS_SYMBIAN)
+
+ unsigned short pixelSize : 16;
};
@@ -285,7 +285,12 @@ QtFontSize *QtFontStyle::pixelSize(unsigned short size, bool add)
if (!add)
return 0;
- if (!(count % 8)) {
+ if (!pixelSizes) {
+ // Most style have only one font size, we avoid waisting memory
+ QtFontSize *newPixelSizes = (QtFontSize *)malloc(sizeof(QtFontSize));
+ Q_CHECK_PTR(newPixelSizes);
+ pixelSizes = newPixelSizes;
+ } else if (!(count % 8) || count == 1) {
QtFontSize *newPixelSizes = (QtFontSize *)
realloc(pixelSizes,
(((count+8) >> 3) << 3) * sizeof(QtFontSize));
diff --git a/src/gui/text/qfontdatabase_s60.cpp b/src/gui/text/qfontdatabase_s60.cpp
index 95774f9090..cdfba3db7c 100644
--- a/src/gui/text/qfontdatabase_s60.cpp
+++ b/src/gui/text/qfontdatabase_s60.cpp
@@ -49,12 +49,12 @@
#include <private/qt_s60_p.h>
#include "qendian.h"
#include <private/qcore_symbian_p.h>
-#if defined(QT_NO_FREETYPE)
+#ifdef QT_NO_FREETYPE
#include <openfont.h>
#ifdef SYMBIAN_ENABLE_SPLIT_HEADERS
#include <graphics/openfontrasterizer.h> // COpenFontRasterizer has moved to a new header file
#endif // SYMBIAN_ENABLE_SPLIT_HEADERS
-#endif
+#endif // QT_NO_FREETYPE
QT_BEGIN_NAMESPACE
@@ -91,7 +91,7 @@ QFileInfoList alternativeFilePaths(const QString &path, const QStringList &nameF
return result;
}
-#if defined(QT_NO_FREETYPE)
+#ifdef QT_NO_FREETYPE
class QSymbianFontDatabaseExtrasImplementation : public QSymbianFontDatabaseExtras
{
public:
@@ -100,19 +100,45 @@ public:
const QSymbianTypeFaceExtras *extras(const QString &typeface, bool bold, bool italic) const;
+#ifndef Q_SYMBIAN_HAS_FONTTABLE_API
+ struct CFontFromFontStoreReleaser {
+ static inline void cleanup(CFont *font)
+ {
+ if (!font)
+ return;
+ const QSymbianFontDatabaseExtrasImplementation *dbExtras =
+ static_cast<const QSymbianFontDatabaseExtrasImplementation*>(privateDb()->symbianExtras);
+ dbExtras->m_store->ReleaseFont(font);
+ }
+ };
+#endif // !Q_SYMBIAN_HAS_FONTTABLE_API
+
+ struct CFontFromScreenDeviceReleaser {
+ static inline void cleanup(CFont *font)
+ {
+ if (!font)
+ return;
+ S60->screenDevice()->ReleaseFont(font);
+ }
+ };
+
private:
+#ifndef Q_SYMBIAN_HAS_FONTTABLE_API
RHeap* m_heap;
CFontStore *m_store;
COpenFontRasterizer *m_rasterizer;
mutable QList<const QSymbianTypeFaceExtras *> m_extras;
+#endif // !Q_SYMBIAN_HAS_FONTTABLE_API
mutable QHash<QString, const QSymbianTypeFaceExtras *> m_extrasHash;
};
QSymbianFontDatabaseExtrasImplementation::QSymbianFontDatabaseExtrasImplementation()
{
+#ifndef Q_SYMBIAN_HAS_FONTTABLE_API
QStringList filters;
filters.append(QLatin1String("*.ttf"));
filters.append(QLatin1String("*.ccc"));
+ filters.append(QLatin1String("*.ltt"));
const QFileInfoList fontFiles = alternativeFilePaths(QLatin1String("resource\\Fonts"), filters);
const TInt heapMinLength = 0x1000;
@@ -130,10 +156,14 @@ QSymbianFontDatabaseExtrasImplementation::QSymbianFontDatabaseExtrasImplementati
TPtrC fontFilePtr(qt_QString2TPtrC(fontFile));
QT_TRAP_THROWING(m_store->AddFileL(fontFilePtr));
}
+#endif // !Q_SYMBIAN_HAS_FONTTABLE_API
}
QSymbianFontDatabaseExtrasImplementation::~QSymbianFontDatabaseExtrasImplementation()
{
+#ifdef Q_SYMBIAN_HAS_FONTTABLE_API
+ qDeleteAll(m_extrasHash);
+#else // Q_SYMBIAN_HAS_FONTTABLE_API
typedef QList<const QSymbianTypeFaceExtras *>::iterator iterator;
for (iterator p = m_extras.begin(); p != m_extras.end(); ++p) {
m_store->ReleaseFont((*p)->fontOwner());
@@ -142,6 +172,7 @@ QSymbianFontDatabaseExtrasImplementation::~QSymbianFontDatabaseExtrasImplementat
delete m_store;
m_heap->Close();
+#endif // Q_SYMBIAN_HAS_FONTTABLE_API
}
#ifndef FNTSTORE_H_INLINES_SUPPORT_FMM
@@ -166,26 +197,37 @@ const QSymbianTypeFaceExtras *QSymbianFontDatabaseExtrasImplementation::extras(c
{
const QString searchKey = typeface + QString::number(int(bold)) + QString::number(int(italic));
if (!m_extrasHash.contains(searchKey)) {
- CFont* font = NULL;
TFontSpec searchSpec(qt_QString2TPtrC(typeface), 1);
if (bold)
searchSpec.iFontStyle.SetStrokeWeight(EStrokeWeightBold);
if (italic)
searchSpec.iFontStyle.SetPosture(EPostureItalic);
+
+ CFont* font = NULL;
+#ifdef Q_SYMBIAN_HAS_FONTTABLE_API
+ const TInt err = S60->screenDevice()->GetNearestFontToDesignHeightInPixels(font, searchSpec);
+ Q_ASSERT(err == KErrNone && font);
+ QScopedPointer<CFont, CFontFromScreenDeviceReleaser> sFont(font);
+ QSymbianTypeFaceExtras *extras = new QSymbianTypeFaceExtras(font);
+ sFont.take();
+ m_extrasHash.insert(searchKey, extras);
+#else // Q_SYMBIAN_HAS_FONTTABLE_API
const TInt err = m_store->GetNearestFontToDesignHeightInPixels(font, searchSpec);
Q_ASSERT(err == KErrNone && font);
const CBitmapFont *bitmapFont = static_cast<CBitmapFont*>(font);
COpenFont *openFont =
#ifdef FNTSTORE_H_INLINES_SUPPORT_FMM
- bitmapFont->openFont();
-#else
+ bitmapFont->OpenFont();
+#else // FNTSTORE_H_INLINES_SUPPORT_FMM
OpenFontFromBitmapFont(bitmapFont);
#endif // FNTSTORE_H_INLINES_SUPPORT_FMM
const TOpenFontFaceAttrib* const attrib = openFont->FaceAttrib();
const QString foundKey =
QString((const QChar*)attrib->FullName().Ptr(), attrib->FullName().Length());
if (!m_extrasHash.contains(foundKey)) {
+ QScopedPointer<CFont, CFontFromFontStoreReleaser> sFont(font);
QSymbianTypeFaceExtras *extras = new QSymbianTypeFaceExtras(font, openFont);
+ sFont.take();
m_extras.append(extras);
m_extrasHash.insert(searchKey, extras);
m_extrasHash.insert(foundKey, extras);
@@ -193,10 +235,11 @@ const QSymbianTypeFaceExtras *QSymbianFontDatabaseExtrasImplementation::extras(c
m_store->ReleaseFont(font);
m_extrasHash.insert(searchKey, m_extrasHash.value(foundKey));
}
+#endif // Q_SYMBIAN_HAS_FONTTABLE_API
}
return m_extrasHash.value(searchKey);
}
-#else
+#else // QT_NO_FREETYPE
class QFontEngineFTS60 : public QFontEngineFT
{
public:
@@ -208,7 +251,7 @@ QFontEngineFTS60::QFontEngineFTS60(const QFontDef &fd)
{
default_hint_style = HintFull;
}
-#endif // defined(QT_NO_FREETYPE)
+#endif // QT_NO_FREETYPE
/*
QFontEngineS60::pixelsToPoints, QFontEngineS60::pointsToPixels, QFontEngineMultiS60::QFontEngineMultiS60
@@ -217,17 +260,19 @@ QFontEngineFTS60::QFontEngineFTS60(const QFontDef &fd)
*/
qreal QFontEngineS60::pixelsToPoints(qreal pixels, Qt::Orientation orientation)
{
+ CWsScreenDevice* device = S60->screenDevice();
return (orientation == Qt::Horizontal?
- S60->screenDevice()->HorizontalPixelsToTwips(pixels)
- :S60->screenDevice()->VerticalPixelsToTwips(pixels)) / KTwipsPerPoint;
+ device->HorizontalPixelsToTwips(pixels)
+ :device->VerticalPixelsToTwips(pixels)) / KTwipsPerPoint;
}
qreal QFontEngineS60::pointsToPixels(qreal points, Qt::Orientation orientation)
{
+ CWsScreenDevice* device = S60->screenDevice();
const int twips = points * KTwipsPerPoint;
return orientation == Qt::Horizontal?
- S60->screenDevice()->HorizontalTwipsToPixels(twips)
- :S60->screenDevice()->VerticalTwipsToPixels(twips);
+ device->HorizontalTwipsToPixels(twips)
+ :device->VerticalTwipsToPixels(twips);
}
QFontEngineMultiS60::QFontEngineMultiS60(QFontEngine *first, int script, const QStringList &fallbackFamilies)
@@ -260,23 +305,24 @@ static void initializeDb()
if(!db || db->count)
return;
-#if defined(QT_NO_FREETYPE)
+#ifdef QT_NO_FREETYPE
if (!db->symbianExtras)
db->symbianExtras = new QSymbianFontDatabaseExtrasImplementation;
QSymbianFbsHeapLock lock(QSymbianFbsHeapLock::Unlock);
-
- const int numTypeFaces = QS60Data::screenDevice()->NumTypefaces();
+
+ const int numTypeFaces = S60->screenDevice()->NumTypefaces();
const QSymbianFontDatabaseExtrasImplementation *dbExtras =
static_cast<const QSymbianFontDatabaseExtrasImplementation*>(db->symbianExtras);
bool fontAdded = false;
for (int i = 0; i < numTypeFaces; i++) {
TTypefaceSupport typefaceSupport;
- QS60Data::screenDevice()->TypefaceSupport(typefaceSupport, i);
+ S60->screenDevice()->TypefaceSupport(typefaceSupport, i);
CFont *font; // We have to get a font instance in order to know all the details
TFontSpec fontSpec(typefaceSupport.iTypeface.iName, 11);
- if (QS60Data::screenDevice()->GetNearestFontInPixels(font, fontSpec) != KErrNone)
+ if (S60->screenDevice()->GetNearestFontInPixels(font, fontSpec) != KErrNone)
continue;
+ QScopedPointer<CFont, QSymbianFontDatabaseExtrasImplementation::CFontFromScreenDeviceReleaser> sFont(font);
if (font->TypeUid() == KCFbsFontUid) {
TOpenFontFaceAttrib faceAttrib;
const CFbsFont *cfbsFont = static_cast<const CFbsFont *>(font);
@@ -317,14 +363,13 @@ static void initializeDb()
fontAdded = true;
}
- QS60Data::screenDevice()->ReleaseFont(font);
}
Q_ASSERT(fontAdded);
- lock.relock();
+ lock.relock();
-#else // defined(QT_NO_FREETYPE)
+#else // QT_NO_FREETYPE
QDir dir(QDesktopServices::storageLocation(QDesktopServices::FontsLocation));
dir.setNameFilters(QStringList() << QLatin1String("*.ttf")
<< QLatin1String("*.ttc") << QLatin1String("*.pfa")
@@ -333,7 +378,7 @@ static void initializeDb()
const QByteArray file = QFile::encodeName(dir.absoluteFilePath(dir[i]));
db->addTTFile(file);
}
-#endif // defined(QT_NO_FREETYPE)
+#endif // QT_NO_FREETYPE
}
static inline void load(const QString &family = QString(), int script = -1)
@@ -415,13 +460,13 @@ QFontEngine *QFontDatabase::findFont(int script, const QFontPrivate *, const QFo
const QString fontFamily = desc.family->name;
QFontDef request = req;
request.family = fontFamily;
-#if defined(QT_NO_FREETYPE)
+#ifdef QT_NO_FREETYPE
const QSymbianFontDatabaseExtrasImplementation *dbExtras =
static_cast<const QSymbianFontDatabaseExtrasImplementation*>(db->symbianExtras);
const QSymbianTypeFaceExtras *typeFaceExtras =
dbExtras->extras(fontFamily, request.weight > QFont::Normal, request.style != QFont::StyleNormal);
fe = new QFontEngineS60(request, typeFaceExtras);
-#else
+#else // QT_NO_FREETYPE
QFontEngine::FaceId faceId;
const QtFontFamily * const reqQtFontFamily = db->family(fontFamily);
faceId.filename = reqQtFontFamily->fontFilename;
@@ -432,7 +477,7 @@ QFontEngine *QFontDatabase::findFont(int script, const QFontPrivate *, const QFo
fe = fte;
else
delete fte;
-#endif
+#endif // QT_NO_FREETYPE
Q_ASSERT(fe);
if (script == QUnicodeTables::Common
diff --git a/src/gui/text/qfontdatabase_x11.cpp b/src/gui/text/qfontdatabase_x11.cpp
index 3b2e4e9c4c..a7aa2ce282 100644
--- a/src/gui/text/qfontdatabase_x11.cpp
+++ b/src/gui/text/qfontdatabase_x11.cpp
@@ -78,6 +78,9 @@ QT_BEGIN_NAMESPACE
extern double qt_pointSize(double pixelSize, int dpi);
extern double qt_pixelSize(double pointSize, int dpi);
+// from qapplication.cpp
+extern bool qt_is_gui_used;
+
static inline void capitalize (char *s)
{
bool space = true;
@@ -1938,7 +1941,7 @@ void QFontDatabase::load(const QFontPrivate *d, int script)
} else if (X11->has_fontconfig) {
fe = loadFc(d, script, req);
- if (fe != 0 && fe->fontDef.pixelSize != req.pixelSize) {
+ if (fe != 0 && fe->fontDef.pixelSize != req.pixelSize && mainThread && qt_is_gui_used) {
QFontEngine *xlfdFontEngine = loadXlfd(d->screen, script, req);
if (xlfdFontEngine->fontDef.family == fe->fontDef.family) {
delete fe;
@@ -1950,7 +1953,7 @@ void QFontDatabase::load(const QFontPrivate *d, int script)
#endif
- } else if (mainThread) {
+ } else if (mainThread && qt_is_gui_used) {
fe = loadXlfd(d->screen, script, req);
}
if (!fe) {
diff --git a/src/gui/text/qfontengine_ft.cpp b/src/gui/text/qfontengine_ft.cpp
index 449dffdc91..2c4fbab41a 100644
--- a/src/gui/text/qfontengine_ft.cpp
+++ b/src/gui/text/qfontengine_ft.cpp
@@ -58,6 +58,7 @@
#include <ft2build.h>
#include FT_FREETYPE_H
#include FT_OUTLINE_H
+#include FT_SYNTHESIS_H
#include FT_TRUETYPE_TABLES_H
#include FT_TYPE1_TABLES_H
#include FT_GLYPH_H
@@ -617,6 +618,7 @@ QFontEngineFT::QFontEngineFT(const QFontDef &fd)
cache_cost = 100;
kerning_pairs_loaded = false;
transform = false;
+ embolden = false;
antialias = true;
freetype = 0;
default_load_flags = FT_LOAD_IGNORE_GLOBAL_ADVANCE_WIDTH;
@@ -679,10 +681,7 @@ bool QFontEngineFT::init(FaceId faceId, bool antialias, GlyphFormat format)
FT_Face face = lockFace();
- //underline metrics
if (FT_IS_SCALABLE(face)) {
- line_thickness = QFixed::fromFixed(FT_MulFix(face->underline_thickness, face->size->metrics.y_scale));
- underline_position = QFixed::fromFixed(-FT_MulFix(face->underline_position, face->size->metrics.y_scale));
bool fake_oblique = (fontDef.style != QFont::StyleNormal) && !(face->style_flags & FT_STYLE_FLAG_ITALIC);
if (fake_oblique)
matrix.xy = 0x10000*3/10;
@@ -690,6 +689,12 @@ bool QFontEngineFT::init(FaceId faceId, bool antialias, GlyphFormat format)
freetype->matrix = matrix;
if (fake_oblique)
transform = true;
+ // fake bold
+ if ((fontDef.weight == QFont::Bold) && !(face->style_flags & FT_STYLE_FLAG_BOLD) && !FT_IS_FIXED_WIDTH(face))
+ embolden = true;
+ // underline metrics
+ line_thickness = QFixed::fromFixed(FT_MulFix(face->underline_thickness, face->size->metrics.y_scale));
+ underline_position = QFixed::fromFixed(-FT_MulFix(face->underline_position, face->size->metrics.y_scale));
} else {
// copied from QFontEngineQPF
// ad hoc algorithm
@@ -789,6 +794,7 @@ QFontEngineFT::Glyph *QFontEngineFT::loadGlyphMetrics(QGlyphSet *set, uint glyph
}
FT_GlyphSlot slot = face->glyph;
+ if (embolden) FT_GlyphSlot_Embolden(slot);
int left = slot->metrics.horiBearingX;
int right = slot->metrics.horiBearingX + slot->metrics.width;
int top = slot->metrics.horiBearingY;
@@ -934,6 +940,7 @@ QFontEngineFT::Glyph *QFontEngineFT::loadGlyph(QGlyphSet *set, uint glyph, Glyph
return 0;
FT_GlyphSlot slot = face->glyph;
+ if (embolden) FT_GlyphSlot_Embolden(slot);
FT_Library library = qt_getFreetype();
info.xOff = TRUNC(ROUND(slot->advance.x));
@@ -1209,6 +1216,8 @@ int QFontEngineFT::synthesized() const
int s = 0;
if ((fontDef.style != QFont::StyleNormal) && !(freetype->face->style_flags & FT_STYLE_FLAG_ITALIC))
s = SynthesizedItalic;
+ if ((fontDef.weight == QFont::Bold) && !(freetype->face->style_flags & FT_STYLE_FLAG_BOLD))
+ s |= SynthesizedBold;
if (fontDef.stretch != 100 && FT_IS_SCALABLE(freetype->face))
s |= SynthesizedStretch;
return s;
diff --git a/src/gui/text/qfontengine_ft_p.h b/src/gui/text/qfontengine_ft_p.h
index 0efd356879..4e86c0df42 100644
--- a/src/gui/text/qfontengine_ft_p.h
+++ b/src/gui/text/qfontengine_ft_p.h
@@ -304,6 +304,7 @@ protected:
bool antialias;
bool transform;
+ bool embolden;
SubpixelAntialiasingType subpixelType;
int lcdFilterType;
bool canUploadGlyphsToServer;
diff --git a/src/gui/text/qfontengine_mac.mm b/src/gui/text/qfontengine_mac.mm
index a6510cb765..7ceed61616 100644
--- a/src/gui/text/qfontengine_mac.mm
+++ b/src/gui/text/qfontengine_mac.mm
@@ -162,9 +162,14 @@ QCoreTextFontEngineMulti::QCoreTextFontEngineMulti(const ATSFontFamilyRef &, con
QCFString name;
ATSFontGetName(atsFontRef, kATSOptionFlagsDefault, &name);
+ transform = CGAffineTransformIdentity;
+ if (fontDef.stretch != 100) {
+ transform = CGAffineTransformMakeScale(float(fontDef.stretch) / float(100), 1);
+ }
+
QCFType<CTFontDescriptorRef> descriptor = CTFontDescriptorCreateWithNameAndSize(name, fontDef.pixelSize);
- QCFType<CTFontRef> baseFont = CTFontCreateWithFontDescriptor(descriptor, fontDef.pixelSize, 0);
- ctfont = CTFontCreateCopyWithSymbolicTraits(baseFont, fontDef.pixelSize, 0, symbolicTraits, symbolicTraits);
+ QCFType<CTFontRef> baseFont = CTFontCreateWithFontDescriptor(descriptor, fontDef.pixelSize, &transform);
+ ctfont = CTFontCreateCopyWithSymbolicTraits(baseFont, fontDef.pixelSize, &transform, symbolicTraits, symbolicTraits);
// CTFontCreateCopyWithSymbolicTraits returns NULL if we ask for a trait that does
// not exist for the given font. (for example italic)
@@ -232,7 +237,8 @@ bool QCoreTextFontEngineMulti::stringToCMap(const QChar *str, int len, QGlyphLay
*nglyphs = len;
for (int i = 0; i < len; ++i) {
outGlyphs[i] = 0;
- logClusters[i] = i;
+ if (logClusters)
+ logClusters[i] = i;
outAdvances_x[i] = QFixed();
outAdvances_y[i] = QFixed();
outAttributes[i].clusterStart = true;
@@ -378,7 +384,10 @@ QCoreTextFontEngine::QCoreTextFontEngine(CTFontRef font, const QFontDef &def,
if (fontDef.style != QFont::StyleNormal && !(traits & kCTFontItalicTrait)) {
synthesisFlags |= SynthesizedItalic;
}
-
+ transform = CGAffineTransformIdentity;
+ if (fontDef.stretch != 100) {
+ transform = CGAffineTransformMakeScale(float(fontDef.stretch) / float(100), 1);
+ }
QByteArray os2Table = getSfntTable(MAKE_TAG('O', 'S', '/', '2'));
if (os2Table.size() >= 10)
fsType = qFromBigEndian<quint16>(reinterpret_cast<const uchar *>(os2Table.constData() + 8));
@@ -503,7 +512,7 @@ void QCoreTextFontEngine::draw(CGContextRef ctx, qreal x, qreal y, const QTextIt
if (synthesisFlags & QFontEngine::SynthesizedItalic)
cgMatrix = CGAffineTransformConcat(cgMatrix, CGAffineTransformMake(1, 0, -tanf(14 * acosf(0) / 90), 1, 0, 0));
-// ### cgMatrix = CGAffineTransformConcat(cgMatrix, transform);
+ cgMatrix = CGAffineTransformConcat(cgMatrix, transform);
CGContextSetTextMatrix(ctx, cgMatrix);
@@ -626,7 +635,7 @@ QImage QCoreTextFontEngine::imageForGlyph(glyph_t glyph, int margin, bool aa)
if (synthesisFlags & QFontEngine::SynthesizedItalic)
cgMatrix = CGAffineTransformConcat(cgMatrix, CGAffineTransformMake(1, 0, tanf(14 * acosf(0) / 90), 1, 0, 0));
-// ### cgMatrix = CGAffineTransformConcat(cgMatrix, transform);
+ cgMatrix = CGAffineTransformConcat(cgMatrix, transform);
CGContextSetTextMatrix(ctx, cgMatrix);
CGContextSetRGBFillColor(ctx, 1, 1, 1, 1);
diff --git a/src/gui/text/qfontengine_p.h b/src/gui/text/qfontengine_p.h
index af116f742e..3e39f890b2 100644
--- a/src/gui/text/qfontengine_p.h
+++ b/src/gui/text/qfontengine_p.h
@@ -462,6 +462,7 @@ private:
CGFontRef cgFont;
QCoreTextFontEngineMulti *parentEngine;
int synthesisFlags;
+ CGAffineTransform transform;
friend class QCoreTextFontEngineMulti;
};
@@ -493,7 +494,7 @@ private:
uint fontIndexForFont(CTFontRef id) const;
CTFontRef ctfont;
mutable QCFType<CFMutableDictionaryRef> attributeDict;
-
+ CGAffineTransform transform;
friend class QFontDialogPrivate;
};
# endif //MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_5
diff --git a/src/gui/text/qfontengine_s60.cpp b/src/gui/text/qfontengine_s60.cpp
index 93f02ff671..f691413da5 100644
--- a/src/gui/text/qfontengine_s60.cpp
+++ b/src/gui/text/qfontengine_s60.cpp
@@ -50,21 +50,73 @@
#include <e32std.h>
#include <eikenv.h>
#include <gdi.h>
+#if defined(Q_SYMBIAN_HAS_FONTTABLE_API) || defined(Q_SYMBIAN_HAS_GLYPHOUTLINE_API)
+#include <graphics/gdi/gdiplatapi.h>
+#endif // Q_SYMBIAN_HAS_FONTTABLE_API || Q_SYMBIAN_HAS_GLYPHOUTLINE_API
QT_BEGIN_NAMESPACE
-QSymbianTypeFaceExtras::QSymbianTypeFaceExtras(CFont* fontOwner, COpenFont *font)
- : m_font(font)
- , m_cmap(0)
+#ifdef Q_SYMBIAN_HAS_FONTTABLE_API
+QSymbianTypeFaceExtras::QSymbianTypeFaceExtras(CFont* cFont, COpenFont *openFont)
+ : m_cFont(cFont)
, m_symbolCMap(false)
- , m_fontOwner(fontOwner)
+{
+ Q_UNUSED(openFont)
+}
+
+QSymbianTypeFaceExtras::~QSymbianTypeFaceExtras()
+{
+ S60->screenDevice()->ReleaseFont(m_cFont);
+}
+
+QByteArray QSymbianTypeFaceExtras::getSfntTable(uint tag) const
+{
+ RFontTable fontTable;
+ if (fontTable.Open(*m_cFont, tag) != KErrNone)
+ return QByteArray();
+ const QByteArray byteArray(reinterpret_cast<const char *>
+ (fontTable.TableContent()),fontTable.TableLength());
+ fontTable.Close();
+ return byteArray;
+}
+
+bool QSymbianTypeFaceExtras::getSfntTableData(uint tag, uchar *buffer, uint *length) const
+{
+ RFontTable fontTable;
+ if (fontTable.Open(*m_cFont, tag) != KErrNone)
+ return false;
+
+ bool result = true;
+ const TInt tableByteLength = fontTable.TableLength();
+
+ if (*length > 0 && *length < tableByteLength) {
+ result = false; // Caller did not allocate enough memory
+ } else {
+ *length = tableByteLength;
+ if (buffer)
+ qMemCopy(buffer, fontTable.TableContent(), tableByteLength);
+ }
+
+ fontTable.Close();
+ return result;
+}
+
+#else // Q_SYMBIAN_HAS_FONTTABLE_API
+QSymbianTypeFaceExtras::QSymbianTypeFaceExtras(CFont* cFont, COpenFont *openFont)
+ : m_cFont(cFont)
+ , m_symbolCMap(false)
+ , m_openFont(openFont)
{
TAny *trueTypeExtension = NULL;
- m_font->ExtendedInterface(KUidOpenFontTrueTypeExtension, trueTypeExtension);
+ m_openFont->ExtendedInterface(KUidOpenFontTrueTypeExtension, trueTypeExtension);
m_trueTypeExtension = static_cast<MOpenFontTrueTypeExtension*>(trueTypeExtension);
Q_ASSERT(m_trueTypeExtension);
}
+QSymbianTypeFaceExtras::~QSymbianTypeFaceExtras()
+{
+}
+
QByteArray QSymbianTypeFaceExtras::getSfntTable(uint tag) const
{
Q_ASSERT(m_trueTypeExtension->HasTrueTypeTable(tag));
@@ -100,23 +152,25 @@ bool QSymbianTypeFaceExtras::getSfntTableData(uint tag, uchar *buffer, uint *len
m_trueTypeExtension->ReleaseTrueTypeTable(table);
return result;
}
+#endif // Q_SYMBIAN_HAS_FONTTABLE_API
-const unsigned char *QSymbianTypeFaceExtras::cmap() const
+const uchar *QSymbianTypeFaceExtras::cmap() const
{
- if (!m_cmap) {
- m_cmapTable = getSfntTable(MAKE_TAG('c', 'm', 'a', 'p'));
+ if (m_cmapTable.isNull()) {
+ const QByteArray cmapTable = getSfntTable(MAKE_TAG('c', 'm', 'a', 'p'));
int size = 0;
- m_cmap = QFontEngineS60::getCMap(reinterpret_cast<const uchar *>(m_cmapTable.constData()), m_cmapTable.size(), &m_symbolCMap, &size);
+ const uchar *cmap = QFontEngine::getCMap(reinterpret_cast<const uchar *>
+ (cmapTable.constData()), cmapTable.size(), &m_symbolCMap, &size);
+ m_cmapTable = QByteArray(reinterpret_cast<const char *>(cmap), size);
}
- return m_cmap;
+ return reinterpret_cast<const uchar *>(m_cmapTable.constData());
}
CFont *QSymbianTypeFaceExtras::fontOwner() const
{
- return m_fontOwner;
+ return m_cFont;
}
-
// duplicated from qfontengine_xyz.cpp
static inline unsigned int getChar(const QChar *str, int &i, const int len)
{
@@ -225,6 +279,35 @@ void QFontEngineS60::recalcAdvances(QGlyphLayout *glyphs, QTextEngine::ShaperFla
}
}
+#ifdef Q_SYMBIAN_HAS_GLYPHOUTLINE_API
+static bool parseGlyphPathData(const char *dataStr, const char *dataEnd, QPainterPath &path,
+ qreal fontPixelSize, const QPointF &offset, bool hinted);
+#endif //Q_SYMBIAN_HAS_GLYPHOUTLINE_API
+
+void QFontEngineS60::addGlyphsToPath(glyph_t *glyphs, QFixedPoint *positions,
+ int nglyphs, QPainterPath *path,
+ QTextItem::RenderFlags flags)
+{
+#ifdef Q_SYMBIAN_HAS_GLYPHOUTLINE_API
+ Q_UNUSED(flags)
+ RGlyphOutlineIterator iterator;
+ const TInt error = iterator.Open(*m_activeFont, glyphs, nglyphs);
+ if (KErrNone != error)
+ return;
+ const qreal fontSizeInPixels = qreal(m_activeFont->HeightInPixels());
+ int count = 0;
+ do {
+ const TUint8* outlineUint8 = iterator.Outline();
+ const char* const outlineChar = reinterpret_cast<const char*>(outlineUint8);
+ const char* const outlineEnd = outlineChar + iterator.OutlineLength();
+ parseGlyphPathData(outlineChar, outlineEnd, *path, fontSizeInPixels,
+ positions[count++].toPointF(), false);
+ } while(KErrNone == iterator.Next() && count <= nglyphs);
+#else // Q_SYMBIAN_HAS_GLYPHOUTLINE_API
+ QFontEngine::addGlyphsToPath(glyphs, positions, nglyphs, path, flags);
+#endif //Q_SYMBIAN_HAS_GLYPHOUTLINE_API
+}
+
QImage QFontEngineS60::alphaMapForGlyph(glyph_t glyph)
{
TOpenFontCharMetrics metrics;
@@ -356,4 +439,69 @@ void QFontEngineS60::getCharacterData(glyph_t glyph, TOpenFontCharMetrics& metri
}
}
+#ifdef Q_SYMBIAN_HAS_GLYPHOUTLINE_API
+static inline void skipSpacesAndComma(const char* &str, const char* const strEnd)
+{
+ while (str <= strEnd && (*str == ' ' || *str == ','))
+ ++str;
+}
+
+static bool parseGlyphPathData(const char *svgPath, const char *svgPathEnd, QPainterPath &path,
+ qreal fontPixelSize, const QPointF &offset, bool hinted)
+{
+ Q_UNUSED(hinted)
+ QPointF p1, p2, firstSubPathPoint;
+ qreal *elementValues[] =
+ {&p1.rx(), &p1.ry(), &p2.rx(), &p2.ry()};
+ const int unitsPerEm = 2048; // See: http://en.wikipedia.org/wiki/Em_%28typography%29
+ const qreal resizeFactor = fontPixelSize / unitsPerEm;
+
+ while (svgPath < svgPathEnd) {
+ skipSpacesAndComma(svgPath, svgPathEnd);
+ const char pathElem = *svgPath++;
+ skipSpacesAndComma(svgPath, svgPathEnd);
+
+ if (pathElem != 'Z') {
+ char *endStr = 0;
+ int elementValuesCount = 0;
+ for (int i = 0; i < 4; ++i) { // 4 = size of elementValues[]
+ qreal coordinateValue = strtod(svgPath, &endStr);
+ if (svgPath == endStr)
+ break;
+ if (i % 2) // Flip vertically
+ coordinateValue = -coordinateValue;
+ *elementValues[i] = coordinateValue * resizeFactor;
+ elementValuesCount++;
+ svgPath = endStr;
+ skipSpacesAndComma(svgPath, svgPathEnd);
+ }
+ p1 += offset;
+ if (elementValuesCount == 2)
+ p2 = firstSubPathPoint;
+ else
+ p2 += offset;
+ }
+
+ switch (pathElem) {
+ case 'M':
+ firstSubPathPoint = p1;
+ path.moveTo(p1);
+ break;
+ case 'Z':
+ path.closeSubpath();
+ break;
+ case 'L':
+ path.lineTo(p1);
+ break;
+ case 'Q':
+ path.quadTo(p1, p2);
+ break;
+ default:
+ return false;
+ }
+ }
+ return true;
+}
+#endif // Q_SYMBIAN_HAS_GLYPHOUTLINE_API
+
QT_END_NAMESPACE
diff --git a/src/gui/text/qfontengine_s60_p.h b/src/gui/text/qfontengine_s60_p.h
index 6883730e99..beeb4cc252 100644
--- a/src/gui/text/qfontengine_s60_p.h
+++ b/src/gui/text/qfontengine_s60_p.h
@@ -58,6 +58,14 @@
#include "qsize.h"
#include <openfont.h>
+#ifdef SYMBIAN_GDI_GLYPHDATA
+#define Q_SYMBIAN_HAS_FONTTABLE_API
+#endif
+
+#ifdef Q_SYMBIAN_HAS_FONTTABLE_API
+#define Q_SYMBIAN_HAS_GLYPHOUTLINE_API
+#endif // Q_SYMBIAN_HAS_FONTTABLE_API
+
class CFont;
QT_BEGIN_NAMESPACE
@@ -66,20 +74,22 @@ QT_BEGIN_NAMESPACE
class QSymbianTypeFaceExtras
{
public:
- QSymbianTypeFaceExtras(CFont* fontOwner, COpenFont *font);
+ QSymbianTypeFaceExtras(CFont* cFont, COpenFont *openFont = 0);
+ ~QSymbianTypeFaceExtras();
QByteArray getSfntTable(uint tag) const;
bool getSfntTableData(uint tag, uchar *buffer, uint *length) const;
- const unsigned char *cmap() const;
+ const uchar *cmap() const;
CFont *fontOwner() const;
private:
- COpenFont *m_font;
- mutable MOpenFontTrueTypeExtension *m_trueTypeExtension;
- mutable const unsigned char *m_cmap;
+ CFont* m_cFont;
mutable bool m_symbolCMap;
mutable QByteArray m_cmapTable;
- CFont* m_fontOwner;
+#ifndef Q_SYMBIAN_HAS_FONTTABLE_API
+ COpenFont *m_openFont;
+ mutable MOpenFontTrueTypeExtension *m_trueTypeExtension;
+#endif // Q_SYMBIAN_HAS_FONTTABLE_API
};
class QFontEngineS60 : public QFontEngine
@@ -91,6 +101,9 @@ public:
bool stringToCMap(const QChar *str, int len, QGlyphLayout *glyphs, int *nglyphs, QTextEngine::ShaperFlags flags) const;
void recalcAdvances(QGlyphLayout *glyphs, QTextEngine::ShaperFlags flags) const;
+ void addGlyphsToPath(glyph_t *glyphs, QFixedPoint *positions, int nglyphs,
+ QPainterPath *path, QTextItem::RenderFlags flags);
+
QImage alphaMapForGlyph(glyph_t glyph);
glyph_metrics_t boundingBox(const QGlyphLayout &glyphs);
diff --git a/src/gui/text/qfontmetrics.cpp b/src/gui/text/qfontmetrics.cpp
index 5163c94727..d02e841c8c 100644
--- a/src/gui/text/qfontmetrics.cpp
+++ b/src/gui/text/qfontmetrics.cpp
@@ -526,6 +526,14 @@ int QFontMetrics::rightBearing(QChar ch) const
*/
int QFontMetrics::width(const QString &text, int len) const
{
+ return width(text, len, 0);
+}
+
+/*!
+ \internal
+*/
+int QFontMetrics::width(const QString &text, int len, int flags) const
+{
int pos = text.indexOf(QLatin1Char('\x9c'));
if (pos != -1) {
len = (len < 0) ? pos : qMin(pos, len);
@@ -535,6 +543,23 @@ int QFontMetrics::width(const QString &text, int len) const
if (len == 0)
return 0;
+ if (flags & Qt::TextBypassShaping) {
+ // Skip harfbuzz complex shaping, only use advances
+ int numGlyphs = len;
+ QVarLengthGlyphLayoutArray glyphs(numGlyphs);
+ QFontEngine *engine = d->engineForScript(QUnicodeTables::Common);
+ if (!engine->stringToCMap(text.data(), len, &glyphs, &numGlyphs, 0)) {
+ glyphs.resize(numGlyphs);
+ if (!engine->stringToCMap(text.data(), len, &glyphs, &numGlyphs, 0))
+ Q_ASSERT_X(false, Q_FUNC_INFO, "stringToCMap shouldn't fail twice");
+ }
+
+ QFixed width;
+ for (int i = 0; i < numGlyphs; ++i)
+ width += glyphs.advances_x[i];
+ return qRound(width);
+ }
+
QStackTextEngine layout(text, d.data());
layout.ignoreBidi = true;
return qRound(layout.width(0, len));
diff --git a/src/gui/text/qfontmetrics.h b/src/gui/text/qfontmetrics.h
index dca4b93bfb..2518b5406a 100644
--- a/src/gui/text/qfontmetrics.h
+++ b/src/gui/text/qfontmetrics.h
@@ -89,6 +89,7 @@ public:
int leftBearing(QChar) const;
int rightBearing(QChar) const;
int width(const QString &, int len = -1) const;
+ int width(const QString &, int len, int flags) const;
int width(QChar) const;
int charWidth(const QString &str, int pos) const;
diff --git a/src/gui/text/qstatictext.cpp b/src/gui/text/qstatictext.cpp
index c7817c6e59..c7424556d4 100644
--- a/src/gui/text/qstatictext.cpp
+++ b/src/gui/text/qstatictext.cpp
@@ -115,10 +115,12 @@ QT_BEGIN_NAMESPACE
Qt::RichText.
If it's the first time the static text is drawn, or if the static text, or the painter's font
- or matrix have been altered since the last time it was drawn, the text's layout has to be
- recalculated. This will impose an overhead on the QPainter::drawStaticText() call where the
- relayout occurs. To avoid this overhead in the paint event, you can call prepare() ahead of
- time to ensure that the layout is calculated.
+ has been altered since the last time it was drawn, the text's layout has to be
+ recalculated. On some paint engines, changing the matrix of the painter will also cause the
+ layout to be recalculated. In particular, this will happen for any engine except for the
+ OpenGL2 paint engine. Recalculating the layout will impose an overhead on the
+ QPainter::drawStaticText() call where it occurs. To avoid this overhead in the paint event, you
+ can call prepare() ahead of time to ensure that the layout is calculated.
\sa QPainter::drawText(), QPainter::drawStaticText(), QTextLayout, QTextDocument
*/
@@ -188,8 +190,9 @@ void QStaticText::detach()
When drawStaticText() is called, the layout of the QStaticText will be recalculated if any part
of the QStaticText object has changed since the last time it was drawn. It will also be
- recalculated if the painter's font or matrix are not the same as when the QStaticText was last
- drawn.
+ recalculated if the painter's font is not the same as when the QStaticText was last drawn, or,
+ on any other paint engine than the OpenGL2 engine, if the painter's matrix has been altered
+ since the static text was last drawn.
To avoid the overhead of creating the layout the first time you draw the QStaticText after
making changes, you can use the prepare() function and pass in the \a matrix and \a font you
@@ -321,6 +324,26 @@ QStaticText::PerformanceHint QStaticText::performanceHint() const
}
/*!
+ Sets the text option structure that controls the layout process to the given \a textOption.
+
+ \sa textOption()
+*/
+void QStaticText::setTextOption(const QTextOption &textOption)
+{
+ detach();
+ data->textOption = textOption;
+ data->invalidate();
+}
+
+/*!
+ Returns the current text option used to control the layout process.
+*/
+QTextOption QStaticText::textOption() const
+{
+ return data->textOption;
+}
+
+/*!
Sets the preferred width for this QStaticText. If the text is wider than the specified width,
it will be broken into multiple lines and grow vertically. If the text cannot be split into
multiple lines, it will be larger than the specified \a textWidth.
@@ -363,23 +386,26 @@ QSizeF QStaticText::size() const
}
QStaticTextPrivate::QStaticTextPrivate()
- : textWidth(-1.0), items(0), itemCount(0), glyphPool(0), positionPool(0),
- needsRelayout(true), useBackendOptimizations(false), textFormat(Qt::AutoText)
+ : textWidth(-1.0), items(0), itemCount(0), glyphPool(0), positionPool(0), charPool(0),
+ needsRelayout(true), useBackendOptimizations(false), textFormat(Qt::AutoText),
+ untransformedCoordinates(false)
{
}
QStaticTextPrivate::QStaticTextPrivate(const QStaticTextPrivate &other)
: text(other.text), font(other.font), textWidth(other.textWidth), matrix(other.matrix),
- items(0), itemCount(0), glyphPool(0), positionPool(0), needsRelayout(true),
- useBackendOptimizations(other.useBackendOptimizations), textFormat(other.textFormat)
+ items(0), itemCount(0), glyphPool(0), positionPool(0), charPool(0), needsRelayout(true),
+ useBackendOptimizations(other.useBackendOptimizations), textFormat(other.textFormat),
+ untransformedCoordinates(other.untransformedCoordinates)
{
}
QStaticTextPrivate::~QStaticTextPrivate()
{
- delete[] items;
+ delete[] items;
delete[] glyphPool;
delete[] positionPool;
+ delete[] charPool;
}
QStaticTextPrivate *QStaticTextPrivate::get(const QStaticText *q)
@@ -395,15 +421,9 @@ namespace {
class DrawTextItemRecorder: public QPaintEngine
{
public:
- DrawTextItemRecorder(int expectedItemCount, QStaticTextItem *items,
- int expectedGlyphCount, QFixedPoint *positionPool, glyph_t *glyphPool)
- : m_items(items),
- m_itemCount(0), m_glyphCount(0),
- m_expectedItemCount(expectedItemCount),
- m_expectedGlyphCount(expectedGlyphCount),
- m_glyphPool(glyphPool),
- m_positionPool(positionPool),
- m_dirtyPen(false)
+ DrawTextItemRecorder(bool untransformedCoordinates, bool useBackendOptimizations, int numChars)
+ : m_dirtyPen(false), m_useBackendOptimizations(useBackendOptimizations),
+ m_untransformedCoordinates(untransformedCoordinates)
{
}
@@ -415,28 +435,21 @@ namespace {
virtual void drawTextItem(const QPointF &position, const QTextItem &textItem)
{
- const QTextItemInt &ti = static_cast<const QTextItemInt &>(textItem);
-
- m_itemCount++;
- m_glyphCount += ti.glyphs.numGlyphs;
- if (m_items == 0)
- return;
-
- Q_ASSERT(m_itemCount <= m_expectedItemCount);
- Q_ASSERT(m_glyphCount <= m_expectedGlyphCount);
-
- QStaticTextItem *currentItem = (m_items + (m_itemCount - 1));
- currentItem->fontEngine = ti.fontEngine;
- currentItem->font = ti.font();
- currentItem->chars = ti.chars;
- currentItem->numChars = ti.num_chars;
- currentItem->numGlyphs = ti.glyphs.numGlyphs;
- currentItem->glyphs = m_glyphPool;
- currentItem->glyphPositions = m_positionPool;
+ const QTextItemInt &ti = static_cast<const QTextItemInt &>(textItem);
+
+ QStaticTextItem currentItem;
+ currentItem.fontEngine = ti.fontEngine;
+ currentItem.font = ti.font();
+ currentItem.charOffset = m_chars.size();
+ currentItem.numChars = ti.num_chars;
+ currentItem.numGlyphs = ti.glyphs.numGlyphs;
+ currentItem.glyphOffset = m_glyphs.size(); // Store offset into glyph pool
+ currentItem.positionOffset = m_glyphs.size(); // Offset into position pool
+ currentItem.useBackendOptimizations = m_useBackendOptimizations;
if (m_dirtyPen)
- currentItem->color = state->pen().color();
+ currentItem.color = state->pen().color();
- QTransform matrix = state->transform();
+ QTransform matrix = m_untransformedCoordinates ? QTransform() : state->transform();
matrix.translate(position.x(), position.y());
QVarLengthArray<glyph_t> glyphs;
@@ -447,13 +460,21 @@ namespace {
Q_ASSERT(size == ti.glyphs.numGlyphs);
Q_ASSERT(size == positions.size());
- memmove(currentItem->glyphs, glyphs.constData(), sizeof(glyph_t) * size);
- memmove(currentItem->glyphPositions, positions.constData(), sizeof(QFixedPoint) * size);
+ m_glyphs.resize(m_glyphs.size() + size);
+ m_positions.resize(m_glyphs.size());
+ m_chars.resize(m_chars.size() + ti.num_chars);
- m_glyphPool += size;
- m_positionPool += size;
- }
+ glyph_t *glyphsDestination = m_glyphs.data() + currentItem.glyphOffset;
+ qMemCopy(glyphsDestination, glyphs.constData(), sizeof(glyph_t) * currentItem.numGlyphs);
+
+ QFixedPoint *positionsDestination = m_positions.data() + currentItem.positionOffset;
+ qMemCopy(positionsDestination, positions.constData(), sizeof(QFixedPoint) * currentItem.numGlyphs);
+ QChar *charsDestination = m_chars.data() + currentItem.charOffset;
+ qMemCopy(charsDestination, ti.chars, sizeof(QChar) * currentItem.numChars);
+
+ m_items.append(currentItem);
+ }
virtual bool begin(QPaintDevice *) { return true; }
virtual bool end() { return true; }
@@ -463,38 +484,45 @@ namespace {
return User;
}
- int itemCount() const
+ QVector<QStaticTextItem> items() const
{
- return m_itemCount;
+ return m_items;
}
- int glyphCount() const
+ QVector<QFixedPoint> positions() const
{
- return m_glyphCount;
+ return m_positions;
}
- private:
- QStaticTextItem *m_items;
- int m_itemCount;
- int m_glyphCount;
- int m_expectedItemCount;
- int m_expectedGlyphCount;
+ QVector<glyph_t> glyphs() const
+ {
+ return m_glyphs;
+ }
+
+ QVector<QChar> chars() const
+ {
+ return m_chars;
+ }
- glyph_t *m_glyphPool;
- QFixedPoint *m_positionPool;
+ private:
+ QVector<QStaticTextItem> m_items;
+ QVector<QFixedPoint> m_positions;
+ QVector<glyph_t> m_glyphs;
+ QVector<QChar> m_chars;
bool m_dirtyPen;
+ bool m_useBackendOptimizations;
+ bool m_untransformedCoordinates;
};
class DrawTextItemDevice: public QPaintDevice
{
public:
- DrawTextItemDevice(int expectedItemCount = -1, QStaticTextItem *items = 0,
- int expectedGlyphCount = -1, QFixedPoint *positionPool = 0,
- glyph_t *glyphPool = 0)
+ DrawTextItemDevice(bool untransformedCoordinates, bool useBackendOptimizations,
+ int numChars)
{
- m_paintEngine = new DrawTextItemRecorder(expectedItemCount, items,
- expectedGlyphCount, positionPool, glyphPool);
+ m_paintEngine = new DrawTextItemRecorder(untransformedCoordinates,
+ useBackendOptimizations, numChars);
}
~DrawTextItemDevice()
@@ -538,14 +566,24 @@ namespace {
return m_paintEngine;
}
- int itemCount() const
+ QVector<glyph_t> glyphs() const
+ {
+ return m_paintEngine->glyphs();
+ }
+
+ QVector<QFixedPoint> positions() const
{
- return m_paintEngine->itemCount();
+ return m_paintEngine->positions();
}
- int glyphCount() const
+ QVector<QStaticTextItem> items() const
{
- return m_paintEngine->glyphCount();
+ return m_paintEngine->items();
+ }
+
+ QVector<QChar> chars() const
+ {
+ return m_paintEngine->chars();
}
private:
@@ -562,6 +600,7 @@ void QStaticTextPrivate::paintText(const QPointF &topLeftPosition, QPainter *p)
QTextLayout textLayout;
textLayout.setText(text);
textLayout.setFont(font);
+ textLayout.setTextOption(textOption);
qreal leading = QFontMetricsF(font).leading();
qreal height = -leading;
@@ -592,21 +631,26 @@ void QStaticTextPrivate::paintText(const QPointF &topLeftPosition, QPainter *p)
.arg(QString::number(color.blue(), 16), 2, QLatin1Char('0')));
#endif
document.setDefaultFont(font);
- document.setDocumentMargin(0.0);
- if (textWidth >= 0.0)
- document.setTextWidth(textWidth);
+ document.setDocumentMargin(0.0);
#ifndef QT_NO_TEXTHTMLPARSER
document.setHtml(text);
#else
document.setPlainText(text);
#endif
+ if (textWidth >= 0.0)
+ document.setTextWidth(textWidth);
+ else
+ document.adjustSize();
+ document.setDefaultTextOption(textOption);
- document.adjustSize();
p->save();
p->translate(topLeftPosition);
document.drawContents(p);
p->restore();
+ if (textWidth >= 0.0)
+ document.adjustSize(); // Find optimal size
+
actualSize = document.size();
}
}
@@ -616,42 +660,42 @@ void QStaticTextPrivate::init()
delete[] items;
delete[] glyphPool;
delete[] positionPool;
+ delete[] charPool;
position = QPointF(0, 0);
- // Draw once to count number of items and glyphs, so that we can use as little memory
- // as possible to store the data
- DrawTextItemDevice counterDevice;
+ DrawTextItemDevice device(untransformedCoordinates, useBackendOptimizations, text.size());
{
- QPainter painter(&counterDevice);
+ QPainter painter(&device);
painter.setFont(font);
painter.setTransform(matrix);
paintText(QPointF(0, 0), &painter);
-
}
- itemCount = counterDevice.itemCount();
+ QVector<QStaticTextItem> deviceItems = device.items();
+ QVector<QFixedPoint> positions = device.positions();
+ QVector<glyph_t> glyphs = device.glyphs();
+ QVector<QChar> chars = device.chars();
+
+ itemCount = deviceItems.size();
items = new QStaticTextItem[itemCount];
- if (useBackendOptimizations) {
- for (int i=0; i<itemCount; ++i)
- items[i].useBackendOptimizations = true;
- }
+ glyphPool = new glyph_t[glyphs.size()];
+ qMemCopy(glyphPool, glyphs.constData(), glyphs.size() * sizeof(glyph_t));
+ positionPool = new QFixedPoint[positions.size()];
+ qMemCopy(positionPool, positions.constData(), positions.size() * sizeof(QFixedPoint));
- int glyphCount = counterDevice.glyphCount();
- glyphPool = new glyph_t[glyphCount];
- positionPool = new QFixedPoint[glyphCount];
+ charPool = new QChar[chars.size()];
+ qMemCopy(charPool, chars.constData(), chars.size() * sizeof(QChar));
- // Draw again to actually record the items and glyphs
- DrawTextItemDevice recorderDevice(itemCount, items, glyphCount, positionPool, glyphPool);
- {
- QPainter painter(&recorderDevice);
- painter.setFont(font);
- painter.setTransform(matrix);
+ for (int i=0; i<itemCount; ++i) {
+ items[i] = deviceItems.at(i);
- paintText(QPointF(0, 0), &painter);
+ items[i].glyphs = glyphPool + items[i].glyphOffset;
+ items[i].glyphPositions = positionPool + items[i].positionOffset;
+ items[i].chars = charPool + items[i].charOffset;
}
needsRelayout = false;
diff --git a/src/gui/text/qstatictext.h b/src/gui/text/qstatictext.h
index f3bef93f05..4febde2ef1 100644
--- a/src/gui/text/qstatictext.h
+++ b/src/gui/text/qstatictext.h
@@ -48,7 +48,7 @@
#include <QtGui/qtransform.h>
#include <QtGui/qfont.h>
-
+#include <QtGui/qtextoption.h>
QT_BEGIN_HEADER
@@ -79,6 +79,9 @@ public:
void setTextWidth(qreal textWidth);
qreal textWidth() const;
+ void setTextOption(const QTextOption &textOption);
+ QTextOption textOption() const;
+
QSizeF size() const;
void prepare(const QTransform &matrix = QTransform(), const QFont &font = QFont());
diff --git a/src/gui/text/qstatictext_p.h b/src/gui/text/qstatictext_p.h
index f017ed1dcd..cb60626b8a 100644
--- a/src/gui/text/qstatictext_p.h
+++ b/src/gui/text/qstatictext_p.h
@@ -53,6 +53,8 @@
// We mean it.
//
+#include "qstatictext.h"
+
#include <private/qtextureglyphcache_p.h>
#include <QtGui/qcolor.h>
@@ -88,9 +90,18 @@ public:
userData = newUserData;
}
- QFixedPoint *glyphPositions; // 8 bytes per glyph
- glyph_t *glyphs; // 4 bytes per glyph
- const QChar *chars; // 2 bytes per glyph
+ union {
+ QFixedPoint *glyphPositions; // 8 bytes per glyph
+ int positionOffset;
+ };
+ union {
+ glyph_t *glyphs; // 4 bytes per glyph
+ int glyphOffset;
+ };
+ union {
+ QChar *chars; // 2 bytes per glyph
+ int charOffset;
+ };
// =================
// 14 bytes per glyph
@@ -134,14 +145,19 @@ public:
QTransform matrix; // 80 bytes per text
QStaticTextItem *items; // 4 bytes per text
int itemCount; // 4 bytes per text
+
glyph_t *glyphPool; // 4 bytes per text
QFixedPoint *positionPool; // 4 bytes per text
+ QChar *charPool; // 4 bytes per text
+
+ QTextOption textOption; // 28 bytes per text
- unsigned char needsRelayout : 1;
- unsigned char useBackendOptimizations : 1; // 1 byte per text
- unsigned char textFormat : 2;
+ unsigned char needsRelayout : 1; // 1 byte per text
+ unsigned char useBackendOptimizations : 1;
+ unsigned char textFormat : 2;
+ unsigned char untransformedCoordinates : 1;
// ================
- // 163 bytes per text
+ // 195 bytes per text
static QStaticTextPrivate *get(const QStaticText *q);
};
diff --git a/src/gui/text/qtextcontrol.cpp b/src/gui/text/qtextcontrol.cpp
index a2ee6593d8..3d34687016 100644
--- a/src/gui/text/qtextcontrol.cpp
+++ b/src/gui/text/qtextcontrol.cpp
@@ -747,7 +747,11 @@ void QTextControl::undo()
{
Q_D(QTextControl);
d->repaintSelection();
+ const int oldCursorPos = d->cursor.position();
d->doc->undo(&d->cursor);
+ if (d->cursor.position() != oldCursorPos)
+ emit cursorPositionChanged();
+ emit microFocusChanged();
ensureCursorVisible();
}
@@ -755,7 +759,11 @@ void QTextControl::redo()
{
Q_D(QTextControl);
d->repaintSelection();
+ const int oldCursorPos = d->cursor.position();
d->doc->redo(&d->cursor);
+ if (d->cursor.position() != oldCursorPos)
+ emit cursorPositionChanged();
+ emit microFocusChanged();
ensureCursorVisible();
}
diff --git a/src/gui/text/qtextcursor.cpp b/src/gui/text/qtextcursor.cpp
index c91df3cadf..a9caa6ba8a 100644
--- a/src/gui/text/qtextcursor.cpp
+++ b/src/gui/text/qtextcursor.cpp
@@ -64,7 +64,7 @@ enum {
QTextCursorPrivate::QTextCursorPrivate(QTextDocumentPrivate *p)
: priv(p), x(0), position(0), anchor(0), adjusted_anchor(0),
- currentCharFormat(-1), visualNavigation(false)
+ currentCharFormat(-1), visualNavigation(false), keepPositionOnInsert(false)
{
priv->addCursor(this);
}
@@ -79,6 +79,7 @@ QTextCursorPrivate::QTextCursorPrivate(const QTextCursorPrivate &rhs)
x = rhs.x;
currentCharFormat = rhs.currentCharFormat;
visualNavigation = rhs.visualNavigation;
+ keepPositionOnInsert = rhs.keepPositionOnInsert;
priv->addCursor(this);
}
@@ -95,7 +96,7 @@ QTextCursorPrivate::AdjustResult QTextCursorPrivate::adjustPosition(int position
if (position < positionOfChange
|| (position == positionOfChange
&& (op == QTextUndoCommand::KeepCursor
- || anchor < position)
+ || keepPositionOnInsert)
)
) {
result = CursorUnchanged;
@@ -361,7 +362,7 @@ bool QTextCursorPrivate::movePosition(QTextCursor::MoveOperation op, QTextCursor
QTextBlock blockIt = block();
if (op >= QTextCursor::Left && op <= QTextCursor::WordRight
- && blockIt.blockFormat().layoutDirection() == Qt::RightToLeft) {
+ && blockIt.textDirection() == Qt::RightToLeft) {
if (op == QTextCursor::Left)
op = QTextCursor::NextCharacter;
else if (op == QTextCursor::Right)
@@ -1276,6 +1277,80 @@ void QTextCursor::setVisualNavigation(bool b)
d->visualNavigation = b;
}
+
+/*!
+ \since 4.7
+
+ Sets the visual x position for vertical cursor movements.
+
+ The vertical movement x position is cleared automatically when the cursor moves horizontally, and kept
+ unchanged when the cursor moves vertically. The mechanism allows the cursor to move up and down on a
+ visually straight line with proportional fonts, and to gently "jump" over short lines.
+
+ A value of -1 indicates no predefined x position. It will then be set automatically the next time the
+ cursor moves up or down.
+
+ \sa verticalMovementX()
+ */
+void QTextCursor::setVerticalMovementX(int x)
+{
+ if (d)
+ d->x = x;
+}
+
+/*! \since 4.7
+
+ Returns the visual x position for vertical cursor movements.
+
+ A value of -1 indicates no predefined x position. It will then be set automatically the next time the
+ cursor moves up or down.
+
+ \sa setVerticalMovementX()
+ */
+int QTextCursor::verticalMovementX() const
+{
+ return d ? d->x : -1;
+}
+
+/*!
+ \since 4.7
+
+ Returns whether the cursor should keep its current position when text gets inserted at the position of the
+ cursor.
+
+ The default is false;
+
+ \sa setKeepPositionOnInsert()
+ */
+bool QTextCursor::keepPositionOnInsert() const
+{
+ return d ? d->keepPositionOnInsert : false;
+}
+
+/*!
+ \since 4.7
+
+ Defines whether the cursor should keep its current position when text gets inserted at the current position of the
+ cursor.
+
+ If \b is true, the cursor keeps its current position when text gets inserted at the positing of the cursor.
+ If \b is false, the cursor moves along with the inserted text.
+
+ The default is false.
+
+ Note that a cursor always moves when text is inserted before the current position of the cursor, and it
+ always keeps its position when text is inserted after the current position of the cursor.
+
+ \sa keepPositionOnInsert()
+ */
+void QTextCursor::setKeepPositionOnInsert(bool b)
+{
+ if (d)
+ d->keepPositionOnInsert = b;
+}
+
+
+
/*!
Inserts \a text at the current position, using the current
character format.
@@ -1408,16 +1483,16 @@ void QTextCursor::deletePreviousChar()
{
if (!d || !d->priv)
return;
-
+
if (d->position != d->anchor) {
removeSelectedText();
return;
}
-
+
if (d->anchor < 1 || !d->canDelete(d->anchor-1))
return;
d->anchor--;
-
+
QTextDocumentPrivate::FragmentIterator fragIt = d->priv->find(d->anchor);
const QTextFragmentData * const frag = fragIt.value();
int fpos = fragIt.position();
@@ -1429,7 +1504,7 @@ void QTextCursor::deletePreviousChar()
if (uc.unicode() >= 0xd800 && uc.unicode() < 0xdc00)
--d->anchor;
}
-
+
d->adjusted_anchor = d->anchor;
d->remove();
d->setX();
@@ -2362,6 +2437,9 @@ void QTextCursor::beginEditBlock()
if (!d || !d->priv)
return;
+ if (d->priv->editBlock == 0) // we are the initial edit block, store current cursor position for undo
+ d->priv->editBlockCursorPosition = d->position;
+
d->priv->beginEditBlock();
}
diff --git a/src/gui/text/qtextcursor.h b/src/gui/text/qtextcursor.h
index 3e968a31fd..251cb3331b 100644
--- a/src/gui/text/qtextcursor.h
+++ b/src/gui/text/qtextcursor.h
@@ -132,6 +132,12 @@ public:
bool visualNavigation() const;
void setVisualNavigation(bool b);
+ void setVerticalMovementX(int x);
+ int verticalMovementX() const;
+
+ void setKeepPositionOnInsert(bool b);
+ bool keepPositionOnInsert() const;
+
void deleteChar();
void deletePreviousChar();
diff --git a/src/gui/text/qtextcursor_p.h b/src/gui/text/qtextcursor_p.h
index 1bdfa78553..4e36b954eb 100644
--- a/src/gui/text/qtextcursor_p.h
+++ b/src/gui/text/qtextcursor_p.h
@@ -112,7 +112,8 @@ public:
int anchor;
int adjusted_anchor;
int currentCharFormat;
- bool visualNavigation;
+ uint visualNavigation : 1;
+ uint keepPositionOnInsert : 1;
};
QT_END_NAMESPACE
diff --git a/src/gui/text/qtextdocument.cpp b/src/gui/text/qtextdocument.cpp
index afba6784c7..48aee8f62c 100644
--- a/src/gui/text/qtextdocument.cpp
+++ b/src/gui/text/qtextdocument.cpp
@@ -1947,7 +1947,7 @@ QVariant QTextDocument::loadResource(int type, const QUrl &name)
#endif
// handle data: URLs
- if (r.isNull() && name.scheme() == QLatin1String("data"))
+ if (r.isNull() && name.scheme().compare(QLatin1String("data"), Qt::CaseInsensitive) == 0)
r = qDecodeDataUrl(name).second;
// if resource was not loaded try to load it here
@@ -2496,13 +2496,10 @@ void QTextHtmlExporter::emitBlockAttributes(const QTextBlock &block)
QTextBlockFormat format = block.blockFormat();
emitAlignment(format.alignment());
- Qt::LayoutDirection dir = format.layoutDirection();
- if (dir == Qt::LeftToRight) {
- // assume default to not bloat the html too much
- // html += QLatin1String(" dir='ltr'");
- } else {
+ // assume default to not bloat the html too much
+ // html += QLatin1String(" dir='ltr'");
+ if (block.textDirection() == Qt::RightToLeft)
html += QLatin1String(" dir='rtl'");
- }
QLatin1String style(" style=\"");
html += style;
diff --git a/src/gui/text/qtextdocument_p.cpp b/src/gui/text/qtextdocument_p.cpp
index e2bca04d8c..f3cd48157f 100644
--- a/src/gui/text/qtextdocument_p.cpp
+++ b/src/gui/text/qtextdocument_p.cpp
@@ -192,6 +192,7 @@ QTextDocumentPrivate::QTextDocumentPrivate()
initialBlockCharFormatIndex(-1) // set correctly later in init()
{
editBlock = 0;
+ editBlockCursorPosition = -1;
docChangeFrom = -1;
undoState = 0;
@@ -967,6 +968,10 @@ int QTextDocumentPrivate::undoRedo(bool undo)
editPos = -1;
break;
}
+ case QTextUndoCommand::CursorMoved:
+ editPos = c.pos;
+ editLength = 0;
+ break;
case QTextUndoCommand::Custom:
resetBlockRevision = -1; // ## TODO
if (undo)
@@ -1046,6 +1051,18 @@ void QTextDocumentPrivate::appendUndoItem(const QTextUndoCommand &c)
if (undoState < undoStack.size())
clearUndoRedoStacks(QTextDocument::RedoStack);
+ if (editBlock != 0 && editBlockCursorPosition >= 0) { // we had a beginEditBlock() with a cursor position
+ if (c.pos != (quint32) editBlockCursorPosition) { // and that cursor position is different from the command
+ // generate a CursorMoved undo item
+ QT_INIT_TEXTUNDOCOMMAND(cc, QTextUndoCommand::CursorMoved, true, QTextUndoCommand::MoveCursor,
+ 0, 0, editBlockCursorPosition, 0, 0);
+ undoStack.append(cc);
+ undoState++;
+ editBlockCursorPosition = -1;
+ }
+ }
+
+
if (!undoStack.isEmpty() && modified) {
QTextUndoCommand &last = undoStack[undoState - 1];
@@ -1167,6 +1184,8 @@ void QTextDocumentPrivate::endEditBlock()
}
}
+ editBlockCursorPosition = -1;
+
finishEdit();
}
diff --git a/src/gui/text/qtextdocument_p.h b/src/gui/text/qtextdocument_p.h
index ac5ed3c86e..d1bd6987bc 100644
--- a/src/gui/text/qtextdocument_p.h
+++ b/src/gui/text/qtextdocument_p.h
@@ -132,6 +132,7 @@ public:
BlockAdded = 6,
BlockDeleted = 7,
GroupFormatChange = 8,
+ CursorMoved = 9,
Custom = 256
};
enum Operation {
@@ -315,6 +316,7 @@ private:
bool modified;
int editBlock;
+ int editBlockCursorPosition;
int docChangeFrom;
int docChangeOldLength;
int docChangeLength;
diff --git a/src/gui/text/qtextdocumentlayout.cpp b/src/gui/text/qtextdocumentlayout.cpp
index f12bf0b2f5..ff14490959 100644
--- a/src/gui/text/qtextdocumentlayout.cpp
+++ b/src/gui/text/qtextdocumentlayout.cpp
@@ -79,7 +79,7 @@ Q_GUI_EXPORT extern int qt_defaultDpi();
// ################ should probably add frameFormatChange notification!
-struct QLayoutStruct;
+struct QTextLayoutStruct;
class QTextFrameData : public QTextFrameLayoutData
{
@@ -109,7 +109,7 @@ public:
QFixed minimumWidth;
QFixed maximumWidth;
- QLayoutStruct *currentLayoutStruct;
+ QTextLayoutStruct *currentLayoutStruct;
bool sizeDirty;
bool layoutDirty;
@@ -123,8 +123,8 @@ QTextFrameData::QTextFrameData()
{
}
-struct QLayoutStruct {
- QLayoutStruct() : maximumWidth(QFIXED_MAX), fullLayout(false)
+struct QTextLayoutStruct {
+ QTextLayoutStruct() : maximumWidth(QFIXED_MAX), fullLayout(false)
{}
QTextFrame *frame;
QFixed x_left;
@@ -477,9 +477,9 @@ public:
HitPoint hitTest(QTextTable *table, const QFixedPoint &point, int *position, QTextLayout **l, Qt::HitTestAccuracy accuracy) const;
HitPoint hitTest(QTextBlock bl, const QFixedPoint &point, int *position, QTextLayout **l, Qt::HitTestAccuracy accuracy) const;
- QLayoutStruct layoutCell(QTextTable *t, const QTextTableCell &cell, QFixed width,
- int layoutFrom, int layoutTo, QTextTableData *tableData, QFixed absoluteTableY,
- bool withPageBreaks);
+ QTextLayoutStruct layoutCell(QTextTable *t, const QTextTableCell &cell, QFixed width,
+ int layoutFrom, int layoutTo, QTextTableData *tableData, QFixed absoluteTableY,
+ bool withPageBreaks);
void setCellPosition(QTextTable *t, const QTextTableCell &cell, const QPointF &pos);
QRectF layoutTable(QTextTable *t, int layoutFrom, int layoutTo, QFixed parentY);
@@ -490,13 +490,13 @@ public:
QRectF layoutFrame(QTextFrame *f, int layoutFrom, int layoutTo, QFixed frameWidth, QFixed frameHeight, QFixed parentY = 0);
void layoutBlock(const QTextBlock &bl, int blockPosition, const QTextBlockFormat &blockFormat,
- QLayoutStruct *layoutStruct, int layoutFrom, int layoutTo, const QTextBlockFormat *previousBlockFormat);
- void layoutFlow(QTextFrame::Iterator it, QLayoutStruct *layoutStruct, int layoutFrom, int layoutTo, QFixed width = 0);
- void pageBreakInsideTable(QTextTable *table, QLayoutStruct *layoutStruct);
+ QTextLayoutStruct *layoutStruct, int layoutFrom, int layoutTo, const QTextBlockFormat *previousBlockFormat);
+ void layoutFlow(QTextFrame::Iterator it, QTextLayoutStruct *layoutStruct, int layoutFrom, int layoutTo, QFixed width = 0);
+ void pageBreakInsideTable(QTextTable *table, QTextLayoutStruct *layoutStruct);
- void floatMargins(const QFixed &y, const QLayoutStruct *layoutStruct, QFixed *left, QFixed *right) const;
- QFixed findY(QFixed yFrom, const QLayoutStruct *layoutStruct, QFixed requiredWidth) const;
+ void floatMargins(const QFixed &y, const QTextLayoutStruct *layoutStruct, QFixed *left, QFixed *right) const;
+ QFixed findY(QFixed yFrom, const QTextLayoutStruct *layoutStruct, QFixed requiredWidth) const;
QVector<QCheckPoint> checkPoints;
@@ -1369,9 +1369,7 @@ void QTextDocumentLayoutPrivate::drawListItem(const QPointF &offset, QPainter *p
QTextLine firstLine = layout->lineAt(0);
Q_ASSERT(firstLine.isValid());
QPointF pos = (offset + layout->position()).toPoint();
- Qt::LayoutDirection dir = docPrivate->defaultTextOption.textDirection();
- if (blockFormat.hasProperty(QTextFormat::LayoutDirection))
- dir = blockFormat.layoutDirection();
+ Qt::LayoutDirection dir = bl.textDirection();
{
QRectF textRect = firstLine.naturalTextRect();
pos += textRect.topLeft().toPoint();
@@ -1487,12 +1485,12 @@ static QFixed firstChildPos(const QTextFrame *f)
return flowPosition(f->begin());
}
-QLayoutStruct QTextDocumentLayoutPrivate::layoutCell(QTextTable *t, const QTextTableCell &cell, QFixed width,
- int layoutFrom, int layoutTo, QTextTableData *td,
- QFixed absoluteTableY, bool withPageBreaks)
+QTextLayoutStruct QTextDocumentLayoutPrivate::layoutCell(QTextTable *t, const QTextTableCell &cell, QFixed width,
+ int layoutFrom, int layoutTo, QTextTableData *td,
+ QFixed absoluteTableY, bool withPageBreaks)
{
LDEBUG << "layoutCell";
- QLayoutStruct layoutStruct;
+ QTextLayoutStruct layoutStruct;
layoutStruct.frame = t;
layoutStruct.minimumWidth = 0;
layoutStruct.maximumWidth = QFIXED_MAX;
@@ -1641,9 +1639,9 @@ recalc_minmax_widths:
// to figure out the min and the max width lay out the cell at
// maximum width. otherwise the maxwidth calculation sometimes
// returns wrong values
- QLayoutStruct layoutStruct = layoutCell(table, cell, QFIXED_MAX, layoutFrom,
- layoutTo, td, absoluteTableY,
- /*withPageBreaks =*/false);
+ QTextLayoutStruct layoutStruct = layoutCell(table, cell, QFIXED_MAX, layoutFrom,
+ layoutTo, td, absoluteTableY,
+ /*withPageBreaks =*/false);
// distribute the minimum width over all columns the cell spans
QFixed widthToDistribute = layoutStruct.minimumWidth + widthPadding;
@@ -1868,10 +1866,10 @@ relayout:
++rowCellCount;
const QFixed width = td->cellWidth(c, cspan) - widthPadding;
- QLayoutStruct layoutStruct = layoutCell(table, cell, width,
- layoutFrom, layoutTo,
- td, absoluteTableY,
- /*withPageBreaks =*/true);
+ QTextLayoutStruct layoutStruct = layoutCell(table, cell, width,
+ layoutFrom, layoutTo,
+ td, absoluteTableY,
+ /*withPageBreaks =*/true);
const QFixed height = layoutStruct.y + bottomPadding + topPadding;
@@ -1976,7 +1974,7 @@ void QTextDocumentLayoutPrivate::positionFloat(QTextFrame *frame, QTextLine *cur
QTextFrameData *pd = data(parent);
Q_ASSERT(pd && pd->currentLayoutStruct);
- QLayoutStruct *layoutStruct = pd->currentLayoutStruct;
+ QTextLayoutStruct *layoutStruct = pd->currentLayoutStruct;
if (!pd->floats.contains(frame))
pd->floats.append(frame);
@@ -2116,7 +2114,7 @@ QRectF QTextDocumentLayoutPrivate::layoutFrame(QTextFrame *f, int layoutFrom, in
// function.
fd->contentsWidth = newContentsWidth;
- QLayoutStruct layoutStruct;
+ QTextLayoutStruct layoutStruct;
layoutStruct.frame = f;
layoutStruct.x_left = fd->leftMargin + fd->border + fd->padding;
layoutStruct.x_right = layoutStruct.x_left + newContentsWidth;
@@ -2179,7 +2177,7 @@ QRectF QTextDocumentLayoutPrivate::layoutFrame(QTextFrame *f, int layoutFrom, in
return layoutStruct.updateRect;
}
-void QTextDocumentLayoutPrivate::layoutFlow(QTextFrame::Iterator it, QLayoutStruct *layoutStruct,
+void QTextDocumentLayoutPrivate::layoutFlow(QTextFrame::Iterator it, QTextLayoutStruct *layoutStruct,
int layoutFrom, int layoutTo, QFixed width)
{
LDEBUG << "layoutFlow from=" << layoutFrom << "to=" << layoutTo;
@@ -2509,7 +2507,7 @@ void QTextDocumentLayoutPrivate::layoutFlow(QTextFrame::Iterator it, QLayoutStru
}
void QTextDocumentLayoutPrivate::layoutBlock(const QTextBlock &bl, int blockPosition, const QTextBlockFormat &blockFormat,
- QLayoutStruct *layoutStruct, int layoutFrom, int layoutTo, const QTextBlockFormat *previousBlockFormat)
+ QTextLayoutStruct *layoutStruct, int layoutFrom, int layoutTo, const QTextBlockFormat *previousBlockFormat)
{
Q_Q(QTextDocumentLayout);
@@ -2530,9 +2528,7 @@ void QTextDocumentLayoutPrivate::layoutBlock(const QTextBlock &bl, int blockPosi
//QTextFrameData *fd = data(layoutStruct->frame);
- Qt::LayoutDirection dir = docPrivate->defaultTextOption.textDirection();
- if (blockFormat.hasProperty(QTextFormat::LayoutDirection))
- dir = blockFormat.layoutDirection();
+ Qt::LayoutDirection dir = bl.textDirection();
QFixed extraMargin;
if (docPrivate->defaultTextOption.flags() & QTextOption::AddSpaceForLineAndParagraphSeparators) {
@@ -2718,7 +2714,7 @@ void QTextDocumentLayoutPrivate::layoutBlock(const QTextBlock &bl, int blockPosi
}
}
-void QTextDocumentLayoutPrivate::floatMargins(const QFixed &y, const QLayoutStruct *layoutStruct,
+void QTextDocumentLayoutPrivate::floatMargins(const QFixed &y, const QTextLayoutStruct *layoutStruct,
QFixed *left, QFixed *right) const
{
// qDebug() << "floatMargins y=" << y;
@@ -2740,7 +2736,7 @@ void QTextDocumentLayoutPrivate::floatMargins(const QFixed &y, const QLayoutStru
// qDebug() << "floatMargins: left="<<*left<<"right="<<*right<<"y="<<y;
}
-QFixed QTextDocumentLayoutPrivate::findY(QFixed yFrom, const QLayoutStruct *layoutStruct, QFixed requiredWidth) const
+QFixed QTextDocumentLayoutPrivate::findY(QFixed yFrom, const QTextLayoutStruct *layoutStruct, QFixed requiredWidth) const
{
QFixed right, left;
requiredWidth = qMin(requiredWidth, layoutStruct->x_right - layoutStruct->x_left);
diff --git a/src/gui/text/qtextengine.cpp b/src/gui/text/qtextengine.cpp
index d34553f13e..ac1fffd69e 100644
--- a/src/gui/text/qtextengine.cpp
+++ b/src/gui/text/qtextengine.cpp
@@ -885,7 +885,7 @@ void QTextEngine::shapeText(int item) const
QFixed letterSpacing = font.d->letterSpacing;
QFixed wordSpacing = font.d->wordSpacing;
- if (letterSpacingIsAbsolute)
+ if (letterSpacingIsAbsolute && letterSpacing.value())
letterSpacing *= font.d->dpi / qt_defaultDpiY();
if (letterSpacing != 0) {
@@ -1404,7 +1404,10 @@ void QTextEngine::itemize() const
#else
bool ignore = ignoreBidi;
#endif
- if (!ignore && option.textDirection() == Qt::LeftToRight) {
+
+ bool rtl = isRightToLeft();
+
+ if (!ignore && !rtl) {
ignore = true;
const QChar *start = layoutData->string.unicode();
const QChar * const end = start + length;
@@ -1420,7 +1423,7 @@ void QTextEngine::itemize() const
QVarLengthArray<QScriptAnalysis, 4096> scriptAnalysis(length);
QScriptAnalysis *analysis = scriptAnalysis.data();
- QBidiControl control(option.textDirection() == Qt::RightToLeft);
+ QBidiControl control(rtl);
if (ignore) {
memset(analysis, 0, length*sizeof(QScriptAnalysis));
@@ -1515,6 +1518,23 @@ void QTextEngine::itemize() const
resolveAdditionalFormats();
}
+bool QTextEngine::isRightToLeft() const
+{
+ switch (option.textDirection()) {
+ case Qt::LeftToRight:
+ return false;
+ case Qt::RightToLeft:
+ return true;
+ default:
+ break;
+ }
+ // this places the cursor in the right position depending on the keyboard layout
+ if (layoutData->string.isEmpty())
+ return QApplication::keyboardInputDirection() == Qt::RightToLeft;
+ return layoutData->string.isRightToLeft();
+}
+
+
int QTextEngine::findItem(int strPos) const
{
itemize();
@@ -2511,7 +2531,7 @@ QFixed QTextEngine::calculateTabWidth(int item, QFixed x) const
QList<QTextOption::Tab> tabArray = option.tabs();
if (!tabArray.isEmpty()) {
- if (option.textDirection() == Qt::RightToLeft) { // rebase the tabArray positions.
+ if (isRightToLeft()) { // rebase the tabArray positions.
QList<QTextOption::Tab> newTabs;
QList<QTextOption::Tab>::Iterator iter = tabArray.begin();
while(iter != tabArray.end()) {
@@ -2648,6 +2668,12 @@ QTextItemInt::QTextItemInt(const QScriptItem &si, QFont *font, const QTextCharFo
flags |= QTextItem::StrikeOut;
}
+QTextItemInt::QTextItemInt(const QGlyphLayout &g, QFont *font, QFontEngine *fe)
+ : flags(0), justified(false), underlineStyle(QTextCharFormat::NoUnderline),
+ num_chars(0), chars(0), logClusters(0), f(font), fontEngine(fe), glyphs(g)
+{
+}
+
QTextItemInt QTextItemInt::midItem(QFontEngine *fontEngine, int firstGlyphIndex, int numGlyphs) const
{
QTextItemInt ti = *this;
diff --git a/src/gui/text/qtextengine_p.h b/src/gui/text/qtextengine_p.h
index 5054b66941..908a0ecf59 100644
--- a/src/gui/text/qtextengine_p.h
+++ b/src/gui/text/qtextengine_p.h
@@ -311,6 +311,7 @@ public:
logClusters(0), f(0), fontEngine(0)
{}
QTextItemInt(const QScriptItem &si, QFont *font, const QTextCharFormat &format = QTextCharFormat());
+ QTextItemInt(const QGlyphLayout &g, QFont *font, QFontEngine *fe);
/// copy the structure items, adjusting the glyphs arrays to the right subarrays.
/// the width of the returned QTextItemInt is not adjusted, for speed reasons
@@ -389,7 +390,7 @@ struct Q_AUTOTEST_EXPORT QScriptLine
mutable uint gridfitted : 1;
uint hasTrailingSpaces : 1;
uint leadingIncluded : 1;
- QFixed height() const { return ascent + descent + 1
+ QFixed height() const { return (ascent + descent).ceil() + 1
+ (leadingIncluded? qMax(QFixed(),leading) : QFixed()); }
QFixed base() const { return ascent
+ (leadingIncluded ? qMax(QFixed(),leading) : QFixed()); }
@@ -457,6 +458,7 @@ public:
void validate() const;
void itemize() const;
+ bool isRightToLeft() const;
static void bidiReorder(int numRuns, const quint8 *levels, int *visualOrder);
const HB_CharAttributes *attributes() const;
diff --git a/src/gui/text/qtextformat.cpp b/src/gui/text/qtextformat.cpp
index 140cf43a50..46db25397b 100644
--- a/src/gui/text/qtextformat.cpp
+++ b/src/gui/text/qtextformat.cpp
@@ -900,11 +900,14 @@ bool QTextFormat::boolProperty(int propertyId) const
*/
int QTextFormat::intProperty(int propertyId) const
{
+ // required, since the default layout direction has to be LayoutDirectionAuto, which is not integer 0
+ int def = (propertyId == QTextFormat::LayoutDirection) ? int(Qt::LayoutDirectionAuto) : 0;
+
if (!d)
- return 0;
+ return def;
const QVariant prop = d->property(propertyId);
if (prop.userType() != QVariant::Int)
- return 0;
+ return def;
return prop.toInt();
}
diff --git a/src/gui/text/qtextlayout.cpp b/src/gui/text/qtextlayout.cpp
index ce7915d8e9..ddf941126b 100644
--- a/src/gui/text/qtextlayout.cpp
+++ b/src/gui/text/qtextlayout.cpp
@@ -69,7 +69,7 @@ static inline QFixed leadingSpaceWidth(QTextEngine *eng, const QScriptLine &line
if (!line.hasTrailingSpaces
|| (eng->option.flags() & QTextOption::IncludeTrailingSpaces)
|| !(eng->option.alignment() & Qt::AlignRight)
- || (eng->option.textDirection() != Qt::RightToLeft))
+ || !eng->isRightToLeft())
return QFixed();
int pos = line.length;
@@ -86,12 +86,12 @@ static QFixed alignLine(QTextEngine *eng, const QScriptLine &line)
// if width is QFIXED_MAX that means we used setNumColumns() and that implicitly makes this line left aligned.
if (!line.justified && line.width != QFIXED_MAX) {
int align = eng->option.alignment();
- if (align & Qt::AlignJustify && eng->option.textDirection() == Qt::RightToLeft)
+ if (align & Qt::AlignJustify && eng->isRightToLeft())
align = Qt::AlignRight;
if (align & Qt::AlignRight)
- x = line.width - (line.textWidth + leadingSpaceWidth(eng, line));
+ x = line.width - (line.textAdvance + leadingSpaceWidth(eng, line));
else if (align & Qt::AlignHCenter)
- x = (line.width - line.textWidth)/2;
+ x = (line.width - line.textAdvance)/2;
}
return x;
}
@@ -858,7 +858,8 @@ QRectF QTextLayout::boundingRect() const
const QScriptLine &si = d->lines[i];
xmin = qMin(xmin, si.x);
ymin = qMin(ymin, si.y);
- xmax = qMax(xmax, si.x+qMax(si.width, si.textWidth));
+ QFixed lineWidth = si.width < QFIXED_MAX ? qMax(si.width, si.textWidth) : si.textWidth;
+ xmax = qMax(xmax, si.x+lineWidth);
// ### shouldn't the ascent be used in ymin???
ymax = qMax(ymax, si.y+si.height());
}
@@ -1336,7 +1337,7 @@ void QTextLayout::drawCursor(QPainter *p, const QPointF &pos, int cursorPosition
int itm = d->findItem(cursorPosition - 1);
QFixed base = sl.base();
QFixed descent = sl.descent;
- bool rightToLeft = (d->option.textDirection() == Qt::RightToLeft);
+ bool rightToLeft = d->isRightToLeft();
if (itm >= 0) {
const QScriptItem &si = d->layoutData->items.at(itm);
if (si.ascent > 0)
diff --git a/src/gui/text/qtextlist.cpp b/src/gui/text/qtextlist.cpp
index 2986ee719b..a0ff52043a 100644
--- a/src/gui/text/qtextlist.cpp
+++ b/src/gui/text/qtextlist.cpp
@@ -262,7 +262,7 @@ QString QTextList::itemText(const QTextBlock &blockIt) const
default:
Q_ASSERT(false);
}
- if (blockFormat.layoutDirection() == Qt::RightToLeft)
+ if (blockIt.textDirection() == Qt::RightToLeft)
return result.prepend(QLatin1Char('.'));
return result + QLatin1Char('.');
}
diff --git a/src/gui/text/qtextobject.cpp b/src/gui/text/qtextobject.cpp
index 088eb9891d..f386871d5e 100644
--- a/src/gui/text/qtextobject.cpp
+++ b/src/gui/text/qtextobject.cpp
@@ -1140,6 +1140,49 @@ int QTextBlock::charFormatIndex() const
}
/*!
+ \since 4.7
+
+ Returns the resolved text direction.
+
+ If the block has no explicit direction set, it will resolve the
+ direction from the blocks content. Returns either Qt::LeftToRight
+ or Qt::RightToLeft.
+
+ \sa QTextBlock::layoutDirection(), QString::isRightToLeft(), Qt::LayoutDirection
+*/
+Qt::LayoutDirection QTextBlock::textDirection() const
+{
+ Qt::LayoutDirection dir = blockFormat().layoutDirection();
+ if (dir != Qt::LayoutDirectionAuto)
+ return dir;
+
+ const QString buffer = p->buffer();
+
+ const int pos = position();
+ QTextDocumentPrivate::FragmentIterator it = p->find(pos);
+ QTextDocumentPrivate::FragmentIterator end = p->find(pos + length() - 1); // -1 to omit the block separator char
+ for (; it != end; ++it) {
+ const QTextFragmentData * const frag = it.value();
+ const QChar *p = buffer.constData() + frag->stringPosition;
+ const QChar * const end = p + frag->size_array[0];
+ while (p < end) {
+ switch(QChar::direction(p->unicode()))
+ {
+ case QChar::DirL:
+ return Qt::LeftToRight;
+ case QChar::DirR:
+ case QChar::DirAL:
+ return Qt::RightToLeft;
+ default:
+ break;
+ }
+ ++p;
+ }
+ }
+ return Qt::LeftToRight;
+}
+
+/*!
Returns the block's contents as plain text.
\sa length() charFormat() blockFormat()
diff --git a/src/gui/text/qtextobject.h b/src/gui/text/qtextobject.h
index 67f67d804d..a573a263ac 100644
--- a/src/gui/text/qtextobject.h
+++ b/src/gui/text/qtextobject.h
@@ -221,6 +221,8 @@ public:
QTextCharFormat charFormat() const;
int charFormatIndex() const;
+ Qt::LayoutDirection textDirection() const;
+
QString text() const;
const QTextDocument *document() const;
diff --git a/src/gui/text/qtextoption.cpp b/src/gui/text/qtextoption.cpp
index c1e254cc48..8f31e4603a 100644
--- a/src/gui/text/qtextoption.cpp
+++ b/src/gui/text/qtextoption.cpp
@@ -65,7 +65,7 @@ QTextOption::QTextOption()
tab(-1),
d(0)
{
- direction = QApplication::layoutDirection();
+ direction = Qt::LayoutDirectionAuto;
}
/*!
@@ -145,7 +145,7 @@ QTextOption &QTextOption::operator=(const QTextOption &o)
\sa tabArray(), setTabStop(), setTabs()
*/
-void QTextOption::setTabArray(QList<qreal> tabStops)
+void QTextOption::setTabArray(QList<qreal> tabStops) // Qt5: const ref
{
if (!d)
d = new QTextOptionPrivate;
@@ -165,7 +165,7 @@ void QTextOption::setTabArray(QList<qreal> tabStops)
\sa tabStops()
*/
-void QTextOption::setTabs(QList<QTextOption::Tab> tabStops)
+void QTextOption::setTabs(QList<QTextOption::Tab> tabStops) // Qt5: const ref
{
if (!d)
d = new QTextOptionPrivate;
@@ -391,6 +391,12 @@ QList<QTextOption::Tab> QTextOption::tabs() const
*/
/*!
+ \fn Tab::Tab(qreal pos, TabType tabType, QChar delim = QChar())
+ Creates a tab with the given position, tab type, and (for DelimiterTab) delimiter
+ \since 4.7
+*/
+
+/*!
\fn bool Tab::operator==(const Tab &other) const
Returns true if tab \a other is equal to this tab;
diff --git a/src/gui/text/qtextoption.h b/src/gui/text/qtextoption.h
index 1381ed1d10..a48efc1e3e 100644
--- a/src/gui/text/qtextoption.h
+++ b/src/gui/text/qtextoption.h
@@ -68,6 +68,8 @@ public:
struct Q_GUI_EXPORT Tab {
inline Tab() : position(80), type(QTextOption::LeftTab) { }
+ inline Tab(qreal pos, TabType tabType, QChar delim = QChar())
+ : position(pos), type(tabType), delimiter(delim) {}
inline bool operator==(const Tab &other) const {
return type == other.type
@@ -134,8 +136,8 @@ private:
uint align : 8;
uint wordWrap : 4;
uint design : 1;
- uint direction : 1;
- uint unused : 19;
+ uint direction : 2;
+ uint unused : 18;
uint f;
qreal tab;
QTextOptionPrivate *d;
diff --git a/src/gui/text/text.pri b/src/gui/text/text.pri
index f1d5534726..d7bddf55a7 100644
--- a/src/gui/text/text.pri
+++ b/src/gui/text/text.pri
@@ -151,7 +151,8 @@ contains(QT_CONFIG, freetype) {
../3rdparty/freetype/src/base/ftinit.c \
../3rdparty/freetype/src/base/ftmm.c \
../3rdparty/freetype/src/base/fttype1.c \
- ../3rdparty/freetype/src/base/ftbitmap.c\
+ ../3rdparty/freetype/src/base/ftsynth.c \
+ ../3rdparty/freetype/src/base/ftbitmap.c \
../3rdparty/freetype/src/bdf/bdf.c \
../3rdparty/freetype/src/cache/ftcache.c \
../3rdparty/freetype/src/cff/cff.c \
diff --git a/src/gui/util/qcompleter.cpp b/src/gui/util/qcompleter.cpp
index 8e7ec80d6e..1abc2d9250 100644
--- a/src/gui/util/qcompleter.cpp
+++ b/src/gui/util/qcompleter.cpp
@@ -532,17 +532,22 @@ void QCompletionEngine::saveInCache(QString part, const QModelIndex& parent, con
QMatchData old = cache[parent].take(part);
cost = cost + m.indices.cost() - old.indices.cost();
if (cost * sizeof(int) > 1024 * 1024) {
- QMap<QModelIndex, CacheItem>::iterator it1 ;
- for (it1 = cache.begin(); it1 != cache.end(); ++it1) {
+ QMap<QModelIndex, CacheItem>::iterator it1 = cache.begin();
+ while (it1 != cache.end()) {
CacheItem& ci = it1.value();
int sz = ci.count()/2;
QMap<QString, QMatchData>::iterator it2 = ci.begin();
- for (int i = 0; it2 != ci.end() && i < sz; i++, ++it2) {
+ int i = 0;
+ while (it2 != ci.end() && i < sz) {
cost -= it2.value().indices.cost();
- ci.erase(it2);
+ it2 = ci.erase(it2);
+ i++;
+ }
+ if (ci.count() == 0) {
+ it1 = cache.erase(it1);
+ } else {
+ ++it1;
}
- if (ci.count() == 0)
- cache.erase(it1);
}
}
@@ -873,7 +878,7 @@ void QCompleterPrivate::showPopup(const QRect& rect)
const QRect screen = QApplication::desktop()->availableGeometry(widget);
Qt::LayoutDirection dir = widget->layoutDirection();
QPoint pos;
- int rw, rh, w;
+ int rh, w;
int h = (popup->sizeHintForRow(0) * qMin(maxVisibleItems, popup->model()->rowCount()) + 3) + 3;
QScrollBar *hsb = popup->horizontalScrollBar();
if (hsb && hsb->isVisible())
@@ -881,21 +886,30 @@ void QCompleterPrivate::showPopup(const QRect& rect)
if (rect.isValid()) {
rh = rect.height();
- w = rw = rect.width();
+ w = rect.width();
pos = widget->mapToGlobal(dir == Qt::RightToLeft ? rect.bottomRight() : rect.bottomLeft());
} else {
rh = widget->height();
- rw = widget->width();
pos = widget->mapToGlobal(QPoint(0, widget->height() - 2));
w = widget->width();
}
- if ((pos.x() + rw) > (screen.x() + screen.width()))
+ if (w > screen.width())
+ w = screen.width();
+ if ((pos.x() + w) > (screen.x() + screen.width()))
pos.setX(screen.x() + screen.width() - w);
if (pos.x() < screen.x())
pos.setX(screen.x());
- if (((pos.y() + rh) > (screen.y() + screen.height())) && ((pos.y() - h - rh) >= 0))
- pos.setY(pos.y() - qMax(h, popup->minimumHeight()) - rh + 2);
+
+ int top = pos.y() - rh - screen.top() + 2;
+ int bottom = screen.bottom() - pos.y();
+ h = qMax(h, popup->minimumHeight());
+ if (h > bottom) {
+ h = qMin(qMax(top, bottom), h);
+
+ if (top > bottom)
+ pos.setY(pos.y() - h - rh + 2);
+ }
popup->setGeometry(pos.x(), pos.y(), w, h);
@@ -1799,7 +1813,7 @@ QStringList QCompleter::splitPath(const QString& path) const
This signal is sent when an item in the popup() is highlighted by
the user. It is also sent if complete() is called with the completionMode()
- set to QCOmpleter::InlineCompletion. The item's \a text is given.
+ set to QCompleter::InlineCompletion. The item's \a text is given.
*/
QT_END_NAMESPACE
diff --git a/src/gui/util/qsystemtrayicon.cpp b/src/gui/util/qsystemtrayicon.cpp
index d7dde87120..941961ba3d 100644
--- a/src/gui/util/qsystemtrayicon.cpp
+++ b/src/gui/util/qsystemtrayicon.cpp
@@ -356,10 +356,7 @@ bool QSystemTrayIcon::isSystemTrayAvailable()
*/
bool QSystemTrayIcon::supportsMessages()
{
-#if defined(Q_WS_QWS)
- return false;
-#endif
- return true;
+ return QSystemTrayIconPrivate::supportsMessages_sys();
}
/*!
diff --git a/src/gui/util/qsystemtrayicon_mac.mm b/src/gui/util/qsystemtrayicon_mac.mm
index d943c8ca0e..22134cb3ba 100644
--- a/src/gui/util/qsystemtrayicon_mac.mm
+++ b/src/gui/util/qsystemtrayicon_mac.mm
@@ -75,8 +75,6 @@
#define QT_MAC_SYSTEMTRAY_USE_GROWL
-@class QNSMenu;
-
#include <private/qt_cocoa_helpers_mac_p.h>
#include <private/qsystemtrayicon_p.h>
#include <qtemporaryfile.h>
@@ -98,13 +96,14 @@ QT_END_NAMESPACE
QT_USE_NAMESPACE
-@class QNSImageView;
+@class QT_MANGLE_NAMESPACE(QNSMenu);
+@class QT_MANGLE_NAMESPACE(QNSImageView);
-@interface QNSStatusItem : NSObject {
+@interface QT_MANGLE_NAMESPACE(QNSStatusItem) : NSObject {
NSStatusItem *item;
QSystemTrayIcon *icon;
QSystemTrayIconPrivate *iconPrivate;
- QNSImageView *imageCell;
+ QT_MANGLE_NAMESPACE(QNSImageView) *imageCell;
}
-(id)initWithIcon:(QSystemTrayIcon*)icon iconPrivate:(QSystemTrayIconPrivate *)iprivate;
-(void)dealloc;
@@ -115,11 +114,11 @@ QT_USE_NAMESPACE
- (void)doubleClickSelector:(id)sender;
@end
-@interface QNSImageView : NSImageView {
+@interface QT_MANGLE_NAMESPACE(QNSImageView) : NSImageView {
BOOL down;
- QNSStatusItem *parent;
+ QT_MANGLE_NAMESPACE(QNSStatusItem) *parent;
}
--(id)initWithParent:(QNSStatusItem*)myParent;
+-(id)initWithParent:(QT_MANGLE_NAMESPACE(QNSStatusItem)*)myParent;
-(QSystemTrayIcon*)icon;
-(void)menuTrackingDone:(NSNotification*)notification;
-(void)mousePressed:(NSEvent *)mouseEvent button:(Qt::MouseButton)mouseButton;
@@ -134,7 +133,7 @@ QT_USE_NAMESPACE
#endif
-@interface QNSMenu : NSMenu <NSMenuDelegate> {
+@interface QT_MANGLE_NAMESPACE(QNSMenu) : NSMenu <NSMenuDelegate> {
QMenu *qmenu;
}
-(QMenu*)menu;
@@ -148,14 +147,14 @@ class QSystemTrayIconSys
public:
QSystemTrayIconSys(QSystemTrayIcon *icon, QSystemTrayIconPrivate *d) {
QMacCocoaAutoReleasePool pool;
- item = [[QNSStatusItem alloc] initWithIcon:icon iconPrivate:d];
+ item = [[QT_MANGLE_NAMESPACE(QNSStatusItem) alloc] initWithIcon:icon iconPrivate:d];
}
~QSystemTrayIconSys() {
QMacCocoaAutoReleasePool pool;
[[[item item] view] setHidden: YES];
[item release];
}
- QNSStatusItem *item;
+ QT_MANGLE_NAMESPACE(QNSStatusItem) *item;
};
void QSystemTrayIconPrivate::install_sys()
@@ -227,6 +226,11 @@ bool QSystemTrayIconPrivate::isSystemTrayAvailable_sys()
return true;
}
+bool QSystemTrayIconPrivate::supportsMessages_sys()
+{
+ return true;
+}
+
void QSystemTrayIconPrivate::showMessage_sys(const QString &title, const QString &message, QSystemTrayIcon::MessageIcon icon, int)
{
@@ -299,8 +303,8 @@ QT_END_NAMESPACE
@implementation NSStatusItem (Qt)
@end
-@implementation QNSImageView
--(id)initWithParent:(QNSStatusItem*)myParent {
+@implementation QT_MANGLE_NAMESPACE(QNSImageView)
+-(id)initWithParent:(QT_MANGLE_NAMESPACE(QNSStatusItem)*)myParent {
self = [super init];
parent = myParent;
down = NO;
@@ -400,7 +404,7 @@ QT_END_NAMESPACE
}
@end
-@implementation QNSStatusItem
+@implementation QT_MANGLE_NAMESPACE(QNSStatusItem)
-(id)initWithIcon:(QSystemTrayIcon*)i iconPrivate:(QSystemTrayIconPrivate *)iPrivate
{
@@ -409,7 +413,7 @@ QT_END_NAMESPACE
icon = i;
iconPrivate = iPrivate;
item = [[[NSStatusBar systemStatusBar] statusItemWithLength:NSSquareStatusItemLength] retain];
- imageCell = [[QNSImageView alloc] initWithParent:self];
+ imageCell = [[QT_MANGLE_NAMESPACE(QNSImageView) alloc] initWithParent:self];
[item setView: imageCell];
}
return self;
@@ -453,7 +457,7 @@ QT_END_NAMESPACE
[[[self item] view] removeAllToolTips];
iconPrivate->updateToolTip_sys();
#endif
- NSMenu *m = [[QNSMenu alloc] initWithQMenu:icon->contextMenu()];
+ NSMenu *m = [[QT_MANGLE_NAMESPACE(QNSMenu) alloc] initWithQMenu:icon->contextMenu()];
[m setAutoenablesItems: NO];
[[NSNotificationCenter defaultCenter] addObserver:imageCell
selector:@selector(menuTrackingDone:)
@@ -481,7 +485,7 @@ private:
QSystemTrayIconQMenu();
};
-@implementation QNSMenu
+@implementation QT_MANGLE_NAMESPACE(QNSMenu)
-(id)initWithQMenu:(QMenu*)qm {
self = [super init];
if(self) {
@@ -494,7 +498,7 @@ private:
return qmenu;
}
-(void)menuNeedsUpdate:(NSMenu*)nsmenu {
- QNSMenu *menu = static_cast<QNSMenu *>(nsmenu);
+ QT_MANGLE_NAMESPACE(QNSMenu) *menu = static_cast<QT_MANGLE_NAMESPACE(QNSMenu) *>(nsmenu);
emit static_cast<QSystemTrayIconQMenu*>(menu->qmenu)->doAboutToShow();
for(int i = [menu numberOfItems]-1; i >= 0; --i)
[menu removeItemAtIndex:i];
@@ -539,7 +543,7 @@ private:
[nsimage release];
}
if(action->menu()) {
- QNSMenu *sub = [[QNSMenu alloc] initWithQMenu:action->menu()];
+ QT_MANGLE_NAMESPACE(QNSMenu) *sub = [[QT_MANGLE_NAMESPACE(QNSMenu) alloc] initWithQMenu:action->menu()];
[item setSubmenu:sub];
} else {
[item setAction:@selector(selectedAction:)];
diff --git a/src/gui/util/qsystemtrayicon_p.h b/src/gui/util/qsystemtrayicon_p.h
index e8bf1978f5..4592e436b1 100644
--- a/src/gui/util/qsystemtrayicon_p.h
+++ b/src/gui/util/qsystemtrayicon_p.h
@@ -83,7 +83,9 @@ public:
void updateMenu_sys();
QRect geometry_sys() const;
void showMessage_sys(const QString &msg, const QString &title, QSystemTrayIcon::MessageIcon icon, int secs);
+
static bool isSystemTrayAvailable_sys();
+ static bool supportsMessages_sys();
QPointer<QMenu> menu;
QIcon icon;
diff --git a/src/gui/util/qsystemtrayicon_qws.cpp b/src/gui/util/qsystemtrayicon_qws.cpp
index b1b895ba8c..cda47aa76f 100644
--- a/src/gui/util/qsystemtrayicon_qws.cpp
+++ b/src/gui/util/qsystemtrayicon_qws.cpp
@@ -75,6 +75,11 @@ bool QSystemTrayIconPrivate::isSystemTrayAvailable_sys()
return false;
}
+bool QSystemTrayIconPrivate::supportsMessages_sys()
+{
+ return false;
+}
+
void QSystemTrayIconPrivate::showMessage_sys(const QString &message,
const QString &title,
QSystemTrayIcon::MessageIcon icon,
diff --git a/src/gui/util/qsystemtrayicon_win.cpp b/src/gui/util/qsystemtrayicon_win.cpp
index 8e482e050c..a9585b994a 100644
--- a/src/gui/util/qsystemtrayicon_win.cpp
+++ b/src/gui/util/qsystemtrayicon_win.cpp
@@ -41,36 +41,26 @@
#include "qsystemtrayicon_p.h"
#ifndef QT_NO_SYSTEMTRAYICON
-#define _WIN32_IE 0x0600 //required for NOTIFYICONDATA_V2_SIZE
-//missing defines for MINGW :
-#ifndef NIN_BALLOONTIMEOUT
-#define NIN_BALLOONTIMEOUT (WM_USER + 4)
+#ifndef _WIN32_WINNT
+#define _WIN32_WINNT 0x0600
#endif
-#ifndef NIN_BALLOONUSERCLICK
-#define NIN_BALLOONUSERCLICK (WM_USER + 5)
+
+#ifndef _WIN32_IE
+#define _WIN32_IE 0x600
#endif
#include <qt_windows.h>
+#include <windowsx.h>
#include <commctrl.h>
-#include <QBitmap>
+
#include <QLibrary>
#include <QApplication>
-#include <QToolTip>
-#include <QDesktopWidget>
#include <QSettings>
-#if defined(Q_WS_WINCE) && !defined(STANDARDSHELL_UI_MODEL)
-# include <streams.h>
-#endif
-
QT_BEGIN_NAMESPACE
-#if defined(Q_WS_WINCE)
-static const UINT q_uNOTIFYICONID = 13; // IDs from 0 to 12 are reserved on WinCE.
-#else
static const UINT q_uNOTIFYICONID = 0;
-#endif
static uint MYWM_TASKBARCREATED = 0;
#define MYWM_NOTIFYICON (WM_APP+101)
@@ -82,6 +72,30 @@ struct Q_NOTIFYICONIDENTIFIER {
GUID guidItem;
};
+#ifndef NOTIFYICON_VERSION_4
+#define NOTIFYICON_VERSION_4 4
+#endif
+
+#ifndef NIN_SELECT
+#define NIN_SELECT (WM_USER + 0)
+#endif
+
+#ifndef NIN_KEYSELECT
+#define NIN_KEYSELECT (WM_USER + 1)
+#endif
+
+#ifndef NIN_BALLOONTIMEOUT
+#define NIN_BALLOONTIMEOUT (WM_USER + 4)
+#endif
+
+#ifndef NIN_BALLOONUSERCLICK
+#define NIN_BALLOONUSERCLICK (WM_USER + 5)
+#endif
+
+#ifndef NIF_SHOWTIP
+#define NIF_SHOWTIP 0x00000080
+#endif
+
#define Q_MSGFLT_ALLOW 1
typedef HRESULT (WINAPI *PtrShell_NotifyIconGetRect)(const Q_NOTIFYICONIDENTIFIER* identifier, RECT* iconLocation);
@@ -95,11 +109,8 @@ public:
~QSystemTrayIconSys();
bool winEvent( MSG *m, long *result );
bool trayMessage(DWORD msg);
- bool iconDrawItem(LPDRAWITEMSTRUCT lpdi);
void setIconContents(NOTIFYICONDATA &data);
bool showMessage(const QString &title, const QString &message, QSystemTrayIcon::MessageIcon type, uint uSecs);
- bool allowsMessages();
- bool supportsMessages();
QRect findIconGeometry(const int a_iButtonID);
void createIcon();
HICON hIcon;
@@ -108,10 +119,11 @@ public:
private:
uint notifyIconSize;
int maxTipLength;
+ int version;
bool ignoreNextMouseRelease;
};
-bool QSystemTrayIconSys::allowsMessages()
+static bool allowsMessages()
{
#ifndef QT_NO_SETTINGS
QSettings settings(QLatin1String("HKEY_CURRENT_USER\\Software\\Microsoft"
@@ -122,25 +134,19 @@ bool QSystemTrayIconSys::allowsMessages()
#endif
}
-bool QSystemTrayIconSys::supportsMessages()
-{
-#ifndef Q_OS_WINCE
- return allowsMessages();
-#endif
- return false;
-}
-
QSystemTrayIconSys::QSystemTrayIconSys(QSystemTrayIcon *object)
: hIcon(0), q(object), ignoreNextMouseRelease(false)
{
-#ifndef Q_OS_WINCE
- notifyIconSize = FIELD_OFFSET(NOTIFYICONDATA, guidItem); // NOTIFYICONDATAW_V2_SIZE;
+ if (QSysInfo::windowsVersion() >= QSysInfo::WV_VISTA) {
+ notifyIconSize = sizeof(NOTIFYICONDATA);
+ version = NOTIFYICON_VERSION_4;
+ } else {
+ notifyIconSize = NOTIFYICONDATA_V2_SIZE;
+ version = NOTIFYICON_VERSION;
+ }
+
maxTipLength = 128;
-#else
- notifyIconSize = FIELD_OFFSET(NOTIFYICONDATA, szTip[64]); // NOTIFYICONDATAW_V1_SIZE;
- maxTipLength = 64;
-#endif
// For restoring the tray icon after explorer crashes
if (!MYWM_TASKBARCREATED) {
@@ -173,7 +179,7 @@ QSystemTrayIconSys::~QSystemTrayIconSys()
void QSystemTrayIconSys::setIconContents(NOTIFYICONDATA &tnd)
{
- tnd.uFlags = NIF_MESSAGE | NIF_ICON | NIF_TIP;
+ tnd.uFlags |= NIF_MESSAGE | NIF_ICON | NIF_TIP;
tnd.uCallbackMessage = MYWM_NOTIFYICON;
tnd.hIcon = hIcon;
QString tip = q->toolTip();
@@ -186,7 +192,6 @@ void QSystemTrayIconSys::setIconContents(NOTIFYICONDATA &tnd)
static int iconFlag( QSystemTrayIcon::MessageIcon icon )
{
-#if NOTIFYICON_VERSION >= 3
switch (icon) {
case QSystemTrayIcon::Information:
return NIIF_INFO;
@@ -200,20 +205,13 @@ static int iconFlag( QSystemTrayIcon::MessageIcon icon )
Q_ASSERT_X(false, "QSystemTrayIconSys::showMessage", "Invalid QSystemTrayIcon::MessageIcon value");
return NIIF_NONE;
}
-#else
- Q_UNUSED(icon);
- return 0;
-#endif
}
bool QSystemTrayIconSys::showMessage(const QString &title, const QString &message, QSystemTrayIcon::MessageIcon type, uint uSecs)
{
-#if NOTIFYICON_VERSION >= 3
NOTIFYICONDATA tnd;
memset(&tnd, 0, notifyIconSize);
- Q_ASSERT(testAttribute(Qt::WA_WState_Created));
- setIconContents(tnd);
memcpy(tnd.szInfo, message.utf16(), qMin(message.length() + 1, 256) * sizeof(wchar_t));
memcpy(tnd.szInfoTitle, title.utf16(), qMin(title.length() + 1, 64) * sizeof(wchar_t));
@@ -222,42 +220,36 @@ bool QSystemTrayIconSys::showMessage(const QString &title, const QString &messag
tnd.cbSize = notifyIconSize;
tnd.hWnd = winId();
tnd.uTimeout = uSecs;
- tnd.uFlags = NIF_INFO;
+ tnd.uFlags = NIF_INFO | NIF_SHOWTIP;
+
+ Q_ASSERT(testAttribute(Qt::WA_WState_Created));
return Shell_NotifyIcon(NIM_MODIFY, &tnd);
-#else
- Q_UNUSED(title);
- Q_UNUSED(message);
- Q_UNUSED(type);
- Q_UNUSED(uSecs);
- return false;
-#endif
}
bool QSystemTrayIconSys::trayMessage(DWORD msg)
{
NOTIFYICONDATA tnd;
memset(&tnd, 0, notifyIconSize);
+
tnd.uID = q_uNOTIFYICONID;
tnd.cbSize = notifyIconSize;
tnd.hWnd = winId();
+ tnd.uFlags = NIF_SHOWTIP;
+ tnd.uVersion = version;
Q_ASSERT(testAttribute(Qt::WA_WState_Created));
- if (msg != NIM_DELETE) {
+ if (msg == NIM_ADD || msg == NIM_MODIFY) {
setIconContents(tnd);
}
- return Shell_NotifyIcon(msg, &tnd);
-}
+ bool success = Shell_NotifyIcon(msg, &tnd);
-bool QSystemTrayIconSys::iconDrawItem(LPDRAWITEMSTRUCT lpdi)
-{
- if (!hIcon)
- return false;
-
- DrawIconEx(lpdi->hDC, lpdi->rcItem.left, lpdi->rcItem.top, hIcon, 0, 0, 0, 0, DI_NORMAL);
- return true;
+ if (msg == NIM_ADD)
+ return success && Shell_NotifyIcon(NIM_SETVERSION, &tnd);
+ else
+ return success;
}
void QSystemTrayIconSys::createIcon()
@@ -280,27 +272,24 @@ void QSystemTrayIconSys::createIcon()
bool QSystemTrayIconSys::winEvent( MSG *m, long *result )
{
switch(m->message) {
- case WM_CREATE:
-#ifdef GWLP_USERDATA
- SetWindowLongPtr(winId(), GWLP_USERDATA, (LONG_PTR)((CREATESTRUCTW*)m->lParam)->lpCreateParams);
-#else
- SetWindowLong(winId(), GWL_USERDATA, (LONG)((CREATESTRUCTW*)m->lParam)->lpCreateParams);
-#endif
- break;
-
- case WM_DRAWITEM:
- return iconDrawItem((LPDRAWITEMSTRUCT)m->lParam);
-
case MYWM_NOTIFYICON:
{
- RECT r;
- GetWindowRect(winId(), &r);
- QEvent *e = 0;
- Qt::KeyboardModifiers keys = QApplication::keyboardModifiers();
- QPoint gpos = QCursor::pos();
-
- switch (m->lParam) {
- case WM_LBUTTONUP:
+ int message = 0;
+ QPoint gpos;
+
+ if (version == NOTIFYICON_VERSION_4) {
+ Q_ASSERT(q_uNOTIFYICONID == HIWORD(m->lParam));
+ message = LOWORD(m->lParam);
+ gpos = QPoint(GET_X_LPARAM(m->wParam), GET_Y_LPARAM(m->wParam));
+ } else {
+ Q_ASSERT(q_uNOTIFYICONID == m->wParam);
+ message = m->lParam;
+ gpos = QCursor::pos();
+ }
+
+ switch (message) {
+ case NIN_SELECT:
+ case NIN_KEYSELECT:
if (ignoreNextMouseRelease)
ignoreNextMouseRelease = false;
else
@@ -313,38 +302,23 @@ bool QSystemTrayIconSys::winEvent( MSG *m, long *result )
emit q->activated(QSystemTrayIcon::DoubleClick);
break;
- case WM_RBUTTONUP:
+ case WM_CONTEXTMENU:
if (q->contextMenu()) {
q->contextMenu()->popup(gpos);
-#if defined(Q_WS_WINCE)
- // We must ensure that the popup menu doesn't show up behind the task bar.
- QRect desktopRect = qApp->desktop()->availableGeometry();
- int maxY = desktopRect.y() + desktopRect.height() - q->contextMenu()->height();
- if (gpos.y() > maxY) {
- gpos.ry() = maxY;
- q->contextMenu()->move(gpos);
- }
-#endif
}
emit q->activated(QSystemTrayIcon::Context);
break;
-#if !defined(Q_WS_WINCE)
case NIN_BALLOONUSERCLICK:
emit q->messageClicked();
break;
-#endif
case WM_MBUTTONUP:
emit q->activated(QSystemTrayIcon::MiddleClick);
break;
+
default:
- break;
- }
- if (e) {
- bool res = QApplication::sendEvent(q, e);
- delete e;
- return res;
+ break;
}
break;
}
@@ -400,23 +374,11 @@ QRect QSystemTrayIconSys::findIconGeometry(const int iconId)
//find the toolbar used in the notification area
if (trayHandle) {
-#if defined(Q_OS_WINCE)
- trayHandle = FindWindow(L"TrayNotifyWnd", NULL);
-#else
trayHandle = FindWindowEx(trayHandle, NULL, L"TrayNotifyWnd", NULL);
-#endif
if (trayHandle) {
-#if defined(Q_OS_WINCE)
- HWND hwnd = FindWindow(L"SysPager", NULL);
-#else
HWND hwnd = FindWindowEx(trayHandle, NULL, L"SysPager", NULL);
-#endif
if (hwnd) {
-#if defined(Q_OS_WINCE)
- hwnd = FindWindow(L"ToolbarWindow32", NULL);
-#else
hwnd = FindWindowEx(hwnd, NULL, L"ToolbarWindow32", NULL);
-#endif
if (hwnd)
trayHandle = hwnd;
}
@@ -435,11 +397,7 @@ QRect QSystemTrayIconSys::findIconGeometry(const int iconId)
return ret;
int buttonCount = SendMessage(trayHandle, TB_BUTTONCOUNT, 0, 0);
-#if defined(Q_OS_WINCE)
- LPVOID data = VirtualAlloc(NULL, sizeof(TBBUTTON), MEM_COMMIT, PAGE_READWRITE);
-#else
LPVOID data = VirtualAllocEx(trayProcess, NULL, sizeof(TBBUTTON), MEM_COMMIT, PAGE_READWRITE);
-#endif
if ( buttonCount < 1 || !data ) {
CloseHandle(trayProcess);
@@ -477,18 +435,14 @@ QRect QSystemTrayIconSys::findIconGeometry(const int iconId)
}
}
}
-#if defined(Q_OS_WINCE)
- VirtualFree(data, 0, MEM_RELEASE);
-#else
VirtualFreeEx(trayProcess, data, 0, MEM_RELEASE);
-#endif
CloseHandle(trayProcess);
return ret;
}
void QSystemTrayIconPrivate::showMessage_sys(const QString &title, const QString &message, QSystemTrayIcon::MessageIcon type, int timeOut)
{
- if (!sys || !sys->allowsMessages())
+ if (!sys || !allowsMessages())
return;
uint uSecs = 0;
@@ -506,21 +460,14 @@ void QSystemTrayIconPrivate::showMessage_sys(const QString &title, const QString
//title is limited to 63 chars + NULL
QString titleString = title.left(63) + QChar();
- if (sys->supportsMessages()) {
- sys->showMessage(titleString, messageString, type, (unsigned int)uSecs);
- } else {
- //use fallback
- QRect iconPos = sys->findIconGeometry(q_uNOTIFYICONID);
- if (iconPos.isValid()) {
- QBalloonTip::showBalloon(type, title, message, sys->q, iconPos.center(), uSecs, true);
- }
- }
+ sys->showMessage(titleString, messageString, type, uSecs);
}
QRect QSystemTrayIconPrivate::geometry_sys() const
{
if (!sys)
return QRect();
+
return sys->findIconGeometry(q_uNOTIFYICONID);
}
@@ -555,16 +502,10 @@ void QSystemTrayIconPrivate::updateMenu_sys()
void QSystemTrayIconPrivate::updateToolTip_sys()
{
-#ifdef Q_WS_WINCE
- // Calling sys->trayMessage(NIM_MODIFY) on an existing icon is broken on Windows CE.
- // So we need to call updateIcon_sys() which creates a new icon handle.
- updateIcon_sys();
-#else
if (!sys)
return;
sys->trayMessage(NIM_MODIFY);
-#endif
}
bool QSystemTrayIconPrivate::isSystemTrayAvailable_sys()
@@ -572,6 +513,11 @@ bool QSystemTrayIconPrivate::isSystemTrayAvailable_sys()
return true;
}
+bool QSystemTrayIconPrivate::supportsMessages_sys()
+{
+ return allowsMessages();
+}
+
QT_END_NAMESPACE
#endif
diff --git a/src/gui/util/qsystemtrayicon_wince.cpp b/src/gui/util/qsystemtrayicon_wince.cpp
new file mode 100644
index 0000000000..e5cf0fd241
--- /dev/null
+++ b/src/gui/util/qsystemtrayicon_wince.cpp
@@ -0,0 +1,293 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtGui module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include "qsystemtrayicon_p.h"
+#ifndef QT_NO_SYSTEMTRAYICON
+#define _WIN32_IE 0x0600 //required for NOTIFYICONDATA_V2_SIZE
+
+#include <qt_windows.h>
+#include <shlwapi.h>
+#include <QApplication>
+
+QT_BEGIN_NAMESPACE
+
+static const UINT q_uNOTIFYICONID = 13; // IDs from 0 to 12 are reserved on WinCE.
+#define MYWM_NOTIFYICON (WM_APP+101)
+
+struct Q_NOTIFYICONIDENTIFIER {
+ DWORD cbSize;
+ HWND hWnd;
+ UINT uID;
+ GUID guidItem;
+};
+
+class QSystemTrayIconSys : QWidget
+{
+public:
+ QSystemTrayIconSys(QSystemTrayIcon *object);
+ ~QSystemTrayIconSys();
+ bool winEvent( MSG *m, long *result );
+ bool trayMessage(DWORD msg);
+ void setIconContents(NOTIFYICONDATA &data);
+ void createIcon();
+ QRect findTrayGeometry();
+ HICON hIcon;
+ QPoint globalPos;
+ QSystemTrayIcon *q;
+private:
+ uint notifyIconSize;
+ int maxTipLength;
+ bool ignoreNextMouseRelease;
+};
+
+QSystemTrayIconSys::QSystemTrayIconSys(QSystemTrayIcon *object)
+ : hIcon(0), q(object), ignoreNextMouseRelease(false)
+
+{
+ notifyIconSize = FIELD_OFFSET(NOTIFYICONDATA, szTip[64]); // NOTIFYICONDATAW_V1_SIZE;
+ maxTipLength = 64;
+}
+
+QSystemTrayIconSys::~QSystemTrayIconSys()
+{
+ if (hIcon)
+ DestroyIcon(hIcon);
+}
+
+QRect QSystemTrayIconSys::findTrayGeometry()
+{
+ // Use lower right corner as fallback
+ QPoint brCorner = qApp->desktop()->screenGeometry().bottomRight();
+ QRect ret(brCorner.x() - 10, brCorner.y() - 10, 10, 10);
+ return ret;
+}
+
+void QSystemTrayIconSys::setIconContents(NOTIFYICONDATA &tnd)
+{
+ tnd.uFlags = NIF_MESSAGE | NIF_ICON | NIF_TIP;
+ tnd.uCallbackMessage = MYWM_NOTIFYICON;
+ tnd.hIcon = hIcon;
+ QString tip = q->toolTip();
+
+ if (!tip.isNull()) {
+ tip = tip.left(maxTipLength - 1) + QChar();
+ memcpy(tnd.szTip, tip.utf16(), qMin(tip.length() + 1, maxTipLength) * sizeof(wchar_t));
+ }
+}
+
+bool QSystemTrayIconSys::trayMessage(DWORD msg)
+{
+ NOTIFYICONDATA tnd;
+ memset(&tnd, 0, notifyIconSize);
+ tnd.uID = q_uNOTIFYICONID;
+ tnd.cbSize = notifyIconSize;
+ tnd.hWnd = winId();
+
+ Q_ASSERT(testAttribute(Qt::WA_WState_Created));
+
+ if (msg != NIM_DELETE) {
+ setIconContents(tnd);
+ }
+
+ return Shell_NotifyIcon(msg, &tnd);
+}
+
+void QSystemTrayIconSys::createIcon()
+{
+ hIcon = 0;
+ QIcon icon = q->icon();
+ if (icon.isNull())
+ return;
+
+ //const QSize preferredSize(GetSystemMetrics(SM_CXSMICON) * 2, GetSystemMetrics(SM_CYSMICON) * 2);
+ const QSize preferredSize(GetSystemMetrics(SM_CXICON), GetSystemMetrics(SM_CYICON));
+ QPixmap pm = icon.pixmap(preferredSize);
+ if (pm.isNull())
+ return;
+
+ hIcon = pm.toWinHICON();
+}
+
+bool QSystemTrayIconSys::winEvent( MSG *m, long *result )
+{
+ switch(m->message) {
+ case WM_CREATE:
+ SetWindowLong(winId(), GWL_USERDATA, (LONG)((CREATESTRUCTW*)m->lParam)->lpCreateParams);
+ break;
+
+ case MYWM_NOTIFYICON:
+ {
+ QPoint gpos = QCursor::pos();
+
+ switch (m->lParam) {
+ case WM_LBUTTONUP:
+ if (ignoreNextMouseRelease)
+ ignoreNextMouseRelease = false;
+ else
+ emit q->activated(QSystemTrayIcon::Trigger);
+ break;
+
+ case WM_LBUTTONDBLCLK:
+ ignoreNextMouseRelease = true; // Since DBLCLICK Generates a second mouse
+ // release we must ignore it
+ emit q->activated(QSystemTrayIcon::DoubleClick);
+ break;
+
+ case WM_RBUTTONUP:
+ if (q->contextMenu()) {
+ q->contextMenu()->popup(gpos);
+
+ // We must ensure that the popup menu doesn't show up behind the task bar.
+ QRect desktopRect = qApp->desktop()->availableGeometry();
+ int maxY = desktopRect.y() + desktopRect.height() - q->contextMenu()->height();
+ if (gpos.y() > maxY) {
+ gpos.ry() = maxY;
+ q->contextMenu()->move(gpos);
+ }
+ }
+ emit q->activated(QSystemTrayIcon::Context);
+ break;
+
+ case WM_MBUTTONUP:
+ emit q->activated(QSystemTrayIcon::MiddleClick);
+ break;
+
+ default:
+ break;
+ }
+ break;
+ }
+ default:
+ return QWidget::winEvent(m, result);
+ }
+ return 0;
+}
+
+void QSystemTrayIconPrivate::install_sys()
+{
+ Q_Q(QSystemTrayIcon);
+ if (!sys) {
+ sys = new QSystemTrayIconSys(q);
+ sys->createIcon();
+ sys->trayMessage(NIM_ADD);
+ }
+}
+
+void QSystemTrayIconPrivate::showMessage_sys(const QString &title, const QString &message, QSystemTrayIcon::MessageIcon type, int timeOut)
+{
+ if (!sys)
+ return;
+
+ uint uSecs = 0;
+ if ( timeOut < 0)
+ uSecs = 10000; //10 sec default
+ else uSecs = (int)timeOut;
+
+ //message is limited to 255 chars + NULL
+ QString messageString;
+ if (message.isEmpty() && !title.isEmpty())
+ messageString = QLatin1Char(' '); //ensures that the message shows when only title is set
+ else
+ messageString = message.left(255) + QChar();
+
+ //title is limited to 63 chars + NULL
+ QString titleString = title.left(63) + QChar();
+
+ //show QBalloonTip
+ QRect trayRect = sys->findTrayGeometry();
+ QBalloonTip::showBalloon(type, title, message, sys->q, QPoint(trayRect.left(),
+ trayRect.center().y()), uSecs, false);
+}
+
+QRect QSystemTrayIconPrivate::geometry_sys() const
+{
+ return QRect();
+}
+
+void QSystemTrayIconPrivate::remove_sys()
+{
+ if (!sys)
+ return;
+
+ sys->trayMessage(NIM_DELETE);
+ delete sys;
+ sys = 0;
+}
+
+void QSystemTrayIconPrivate::updateIcon_sys()
+{
+ if (!sys)
+ return;
+
+ HICON hIconToDestroy = sys->hIcon;
+
+ sys->createIcon();
+ sys->trayMessage(NIM_MODIFY);
+
+ if (hIconToDestroy)
+ DestroyIcon(hIconToDestroy);
+}
+
+void QSystemTrayIconPrivate::updateMenu_sys()
+{
+
+}
+
+void QSystemTrayIconPrivate::updateToolTip_sys()
+{
+ // Calling sys->trayMessage(NIM_MODIFY) on an existing icon is broken on Windows CE.
+ // So we need to call updateIcon_sys() which creates a new icon handle.
+ updateIcon_sys();
+}
+
+bool QSystemTrayIconPrivate::isSystemTrayAvailable_sys()
+{
+ return true;
+}
+
+bool QSystemTrayIconPrivate::supportsMessages_sys()
+{
+ return true;
+}
+
+QT_END_NAMESPACE
+
+#endif
diff --git a/src/gui/util/qsystemtrayicon_x11.cpp b/src/gui/util/qsystemtrayicon_x11.cpp
index 82b4325233..59fdc07957 100644
--- a/src/gui/util/qsystemtrayicon_x11.cpp
+++ b/src/gui/util/qsystemtrayicon_x11.cpp
@@ -381,6 +381,11 @@ bool QSystemTrayIconPrivate::isSystemTrayAvailable_sys()
return QSystemTrayIconSys::locateSystemTray() != XNone;
}
+bool QSystemTrayIconPrivate::supportsMessages_sys()
+{
+ return true;
+}
+
void QSystemTrayIconPrivate::showMessage_sys(const QString &message, const QString &title,
QSystemTrayIcon::MessageIcon icon, int msecs)
{
diff --git a/src/gui/util/util.pri b/src/gui/util/util.pri
index 71286fcaef..dd99aa8309 100644
--- a/src/gui/util/util.pri
+++ b/src/gui/util/util.pri
@@ -20,7 +20,10 @@ SOURCES += \
util/qundoview.cpp
-win32 {
+wince* {
+ SOURCES += \
+ util/qsystemtrayicon_wince.cpp
+} else:win32 {
SOURCES += \
util/qsystemtrayicon_win.cpp
}
diff --git a/src/gui/widgets/qabstractscrollarea.cpp b/src/gui/widgets/qabstractscrollarea.cpp
index 8cffebd48d..30ce23b3dd 100644
--- a/src/gui/widgets/qabstractscrollarea.cpp
+++ b/src/gui/widgets/qabstractscrollarea.cpp
@@ -295,8 +295,10 @@ void QAbstractScrollAreaPrivate::init()
q->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding);
layoutChildren();
#ifndef Q_WS_MAC
+#ifndef QT_NO_GESTURES
viewport->grabGesture(Qt::PanGesture);
#endif
+#endif
}
#ifdef Q_WS_WIN
@@ -546,8 +548,10 @@ void QAbstractScrollArea::setViewport(QWidget *widget)
d->viewport->setFocusProxy(this);
d->viewport->installEventFilter(d->viewportFilter.data());
#ifndef Q_WS_MAC
+#ifndef QT_NO_GESTURES
d->viewport->grabGesture(Qt::PanGesture);
#endif
+#endif
d->layoutChildren();
if (isVisible())
d->viewport->show();
@@ -960,6 +964,7 @@ bool QAbstractScrollArea::event(QEvent *e)
case QEvent::TouchUpdate:
case QEvent::TouchEnd:
return false;
+#ifndef QT_NO_GESTURES
case QEvent::Gesture:
{
QGestureEvent *ge = static_cast<QGestureEvent *>(e);
@@ -980,6 +985,7 @@ bool QAbstractScrollArea::event(QEvent *e)
}
return false;
}
+#endif // QT_NO_GESTURES
case QEvent::StyleChange:
case QEvent::LayoutDirectionChange:
case QEvent::ApplicationLayoutDirectionChange:
@@ -1036,9 +1042,11 @@ bool QAbstractScrollArea::viewportEvent(QEvent *e)
#endif
return QFrame::event(e);
case QEvent::LayoutRequest:
+#ifndef QT_NO_GESTURES
case QEvent::Gesture:
case QEvent::GestureOverride:
return event(e);
+#endif
default:
break;
}
diff --git a/src/gui/widgets/qabstractslider.cpp b/src/gui/widgets/qabstractslider.cpp
index 6a01d681c0..f38bae76ca 100644
--- a/src/gui/widgets/qabstractslider.cpp
+++ b/src/gui/widgets/qabstractslider.cpp
@@ -219,8 +219,12 @@ QAbstractSliderPrivate::QAbstractSliderPrivate()
#ifdef QT_KEYPAD_NAVIGATION
, isAutoRepeating(false)
, repeatMultiplier(1)
-#endif
{
+ firstRepeat.invalidate();
+#else
+{
+#endif
+
}
QAbstractSliderPrivate::~QAbstractSliderPrivate()
@@ -787,7 +791,7 @@ void QAbstractSlider::keyPressEvent(QKeyEvent *ev)
}
}
- else if (!d->firstRepeat.isValid()) {
+ else if (d->firstRepeat.isValid()) {
d->firstRepeat.invalidate();
d->repeatMultiplier = 1;
}
diff --git a/src/gui/widgets/qcocoatoolbardelegate_mac.mm b/src/gui/widgets/qcocoatoolbardelegate_mac.mm
index b2a0e0c687..e68ee7c9fe 100644
--- a/src/gui/widgets/qcocoatoolbardelegate_mac.mm
+++ b/src/gui/widgets/qcocoatoolbardelegate_mac.mm
@@ -58,7 +58,7 @@ QT_FORWARD_DECLARE_CLASS(QMainWindowLayout);
QT_FORWARD_DECLARE_CLASS(QToolBar);
QT_FORWARD_DECLARE_CLASS(QCFString);
-@implementation QCocoaToolBarDelegate
+@implementation QT_MANGLE_NAMESPACE(QCocoaToolBarDelegate)
- (id)initWithMainWindowLayout:(QMainWindowLayout *)layout
{
diff --git a/src/gui/widgets/qcocoatoolbardelegate_mac_p.h b/src/gui/widgets/qcocoatoolbardelegate_mac_p.h
index 8e3d06f5c3..b4af54f2ec 100644
--- a/src/gui/widgets/qcocoatoolbardelegate_mac_p.h
+++ b/src/gui/widgets/qcocoatoolbardelegate_mac_p.h
@@ -61,7 +61,7 @@ QT_END_NAMESPACE
@class NSToolbarItem;
-@interface QCocoaToolBarDelegate : NSObject {
+@interface QT_MANGLE_NAMESPACE(QCocoaToolBarDelegate) : NSObject {
QT_PREPEND_NAMESPACE(QMainWindowLayout) *mainWindowLayout;
NSToolbarItem *toolbarItem;
}
diff --git a/src/gui/widgets/qcombobox.cpp b/src/gui/widgets/qcombobox.cpp
index ca58e6d850..1504066420 100644
--- a/src/gui/widgets/qcombobox.cpp
+++ b/src/gui/widgets/qcombobox.cpp
@@ -56,6 +56,7 @@
#include <qscrollbar.h>
#include <qtreeview.h>
#include <qheaderview.h>
+#include <qmath.h>
#ifndef QT_NO_IM
#include "qinputcontext.h"
#endif
@@ -151,7 +152,10 @@ QStyleOptionMenuItem QComboMenuDelegate::getStyleOption(const QStyleOptionViewIt
menuOption.icon = qvariant_cast<QPixmap>(variant);
break;
}
-
+ if (qVariantCanConvert<QBrush>(index.data(Qt::BackgroundRole))) {
+ menuOption.palette.setBrush(QPalette::All, QPalette::Background,
+ qvariant_cast<QBrush>(index.data(Qt::BackgroundRole)));
+ }
menuOption.text = index.model()->data(index, Qt::DisplayRole).toString()
.replace(QLatin1Char('&'), QLatin1String("&&"));
menuOption.tabWidth = 0;
@@ -328,7 +332,7 @@ QSize QComboBoxPrivate::recomputeSizeHint(QSize &sh) const
// height
- sh.setHeight(qMax(fm.height(), 14) + 2);
+ sh.setHeight(qMax(qCeil(QFontMetricsF(fm).height()), 14) + 2);
if (hasIcon) {
sh.setHeight(qMax(sh.height(), iconSize.height() + 2));
}
diff --git a/src/gui/widgets/qcommandlinkbutton.cpp b/src/gui/widgets/qcommandlinkbutton.cpp
index 6919bc0977..e8fe299137 100644
--- a/src/gui/widgets/qcommandlinkbutton.cpp
+++ b/src/gui/widgets/qcommandlinkbutton.cpp
@@ -46,6 +46,7 @@
#include "qtextlayout.h"
#include "qcolor.h"
#include "qfont.h"
+#include <qmath.h>
#include "private/qpushbutton_p.h"
@@ -242,7 +243,7 @@ int QCommandLinkButtonPrivate::descriptionHeight(int widgetWidth) const
}
layout.endLayout();
}
- return qRound(descriptionheight);
+ return qCeil(descriptionheight);
}
/*!
diff --git a/src/gui/widgets/qdockarealayout.cpp b/src/gui/widgets/qdockarealayout.cpp
index 806654c99c..171000bde1 100644
--- a/src/gui/widgets/qdockarealayout.cpp
+++ b/src/gui/widgets/qdockarealayout.cpp
@@ -225,7 +225,7 @@ static const int zero = 0;
QDockAreaLayoutInfo::QDockAreaLayoutInfo()
: sep(&zero), dockPos(QInternal::LeftDock), o(Qt::Horizontal), mainWindow(0)
#ifndef QT_NO_TABBAR
- , tabbed(false), tabBar(0), tabBarShape(QTabBar::RoundedSouth), tabBarVisible(false)
+ , tabbed(false), tabBar(0), tabBarShape(QTabBar::RoundedSouth)
#endif
{
}
@@ -235,7 +235,7 @@ QDockAreaLayoutInfo::QDockAreaLayoutInfo(const int *_sep, QInternal::DockPositio
QMainWindow *window)
: sep(_sep), dockPos(_dockPos), o(_o), mainWindow(window)
#ifndef QT_NO_TABBAR
- , tabbed(false), tabBar(0), tabBarShape(static_cast<QTabBar::Shape>(tbshape)), tabBarVisible(false)
+ , tabbed(false), tabBar(0), tabBarShape(static_cast<QTabBar::Shape>(tbshape))
#endif
{
#ifdef QT_NO_TABBAR
@@ -296,8 +296,8 @@ QSize QDockAreaLayoutInfo::minimumSize() const
rperp(o, result) = b;
#ifndef QT_NO_TABBAR
- if (tabbed) {
- QSize tbm = tabBarMinimumSize();
+ QSize tbm = tabBarMinimumSize();
+ if (!tbm.isNull()) {
switch (tabBarShape) {
case QTabBar::RoundedNorth:
case QTabBar::RoundedSouth:
@@ -369,8 +369,8 @@ QSize QDockAreaLayoutInfo::maximumSize() const
rperp(o, result) = b;
#ifndef QT_NO_TABBAR
- if (tabbed) {
- QSize tbh = tabBarSizeHint();
+ QSize tbh = tabBarSizeHint();
+ if (!tbh.isNull()) {
switch (tabBarShape) {
case QTabBar::RoundedNorth:
case QTabBar::RoundedSouth:
@@ -1500,7 +1500,7 @@ void QDockAreaLayoutInfo::apply(bool animate)
QRect tab_rect;
QSize tbh = tabBarSizeHint();
- if (tabBarVisible) {
+ if (!tbh.isNull()) {
switch (tabBarShape) {
case QTabBar::RoundedNorth:
case QTabBar::TriangularNorth:
@@ -2079,10 +2079,11 @@ void QDockAreaLayoutInfo::updateSeparatorWidgets() const
#endif //QT_NO_TABBAR
#ifndef QT_NO_TABBAR
-void QDockAreaLayoutInfo::updateTabBar() const
+//returns whether the tabbar is visible or not
+bool QDockAreaLayoutInfo::updateTabBar() const
{
if (!tabbed)
- return;
+ return false;
QDockAreaLayoutInfo *that = const_cast<QDockAreaLayoutInfo*>(this);
@@ -2150,12 +2151,8 @@ void QDockAreaLayoutInfo::updateTabBar() const
tabBar->blockSignals(blocked);
- that->tabBarVisible = ( (gap ? 1 : 0) + tabBar->count()) > 1;
-
- if (changed || !tabBarMin.isValid() | !tabBarHint.isValid()) {
- that->tabBarMin = tabBar->minimumSizeHint();
- that->tabBarHint = tabBar->sizeHint();
- }
+ //returns if the tabbar is visible or not
+ return ( (gap ? 1 : 0) + tabBar->count()) > 1;
}
void QDockAreaLayoutInfo::setTabBarShape(int shape)
@@ -2163,11 +2160,8 @@ void QDockAreaLayoutInfo::setTabBarShape(int shape)
if (shape == tabBarShape)
return;
tabBarShape = shape;
- if (tabBar != 0) {
+ if (tabBar != 0)
tabBar->setShape(static_cast<QTabBar::Shape>(shape));
- tabBarMin = QSize();
- tabBarHint = QSize();
- }
for (int i = 0; i < item_list.count(); ++i) {
QDockAreaLayoutItem &item = item_list[i];
@@ -2178,22 +2172,18 @@ void QDockAreaLayoutInfo::setTabBarShape(int shape)
QSize QDockAreaLayoutInfo::tabBarMinimumSize() const
{
- if (!tabbed)
+ if (!updateTabBar())
return QSize(0, 0);
- updateTabBar();
-
- return tabBarMin;
+ return tabBar->minimumSizeHint();
}
QSize QDockAreaLayoutInfo::tabBarSizeHint() const
{
- if (!tabbed)
+ if (!updateTabBar())
return QSize(0, 0);
- updateTabBar();
-
- return tabBarHint;
+ return tabBar->sizeHint();
}
QSet<QTabBar*> QDockAreaLayoutInfo::usedTabBars() const
@@ -2240,7 +2230,7 @@ QRect QDockAreaLayoutInfo::tabContentRect() const
QRect result = rect;
QSize tbh = tabBarSizeHint();
- if (tabBarVisible) {
+ if (!tbh.isNull()) {
switch (tabBarShape) {
case QTabBar::RoundedNorth:
case QTabBar::TriangularNorth:
diff --git a/src/gui/widgets/qdockarealayout_p.h b/src/gui/widgets/qdockarealayout_p.h
index 0088f0053b..9cb77ba92b 100644
--- a/src/gui/widgets/qdockarealayout_p.h
+++ b/src/gui/widgets/qdockarealayout_p.h
@@ -208,11 +208,9 @@ public:
QRect tabContentRect() const;
bool tabbed;
QTabBar *tabBar;
- QSize tabBarMin, tabBarHint;
int tabBarShape;
- bool tabBarVisible;
- void updateTabBar() const;
+ bool updateTabBar() const;
void setTabBarShape(int shape);
QSize tabBarMinimumSize() const;
QSize tabBarSizeHint() const;
diff --git a/src/gui/widgets/qdockwidget.cpp b/src/gui/widgets/qdockwidget.cpp
index 54189de819..11f0a94eb4 100644
--- a/src/gui/widgets/qdockwidget.cpp
+++ b/src/gui/widgets/qdockwidget.cpp
@@ -1269,12 +1269,11 @@ void QDockWidget::setFloating(bool floating)
QRect r = d->undockedGeometry;
d->setWindowState(floating, false, floating ? r : QRect());
+
if (floating && r.isNull()) {
- QDockWidgetLayout *layout = qobject_cast<QDockWidgetLayout*>(this->layout());
- QRect titleArea = layout->titleArea();
- int h = layout->verticalTitleBar ? titleArea.width() : titleArea.height();
- QPoint p = mapToGlobal(QPoint(h, h));
- move(p);
+ if (x() < 0 || y() < 0) //may happen if we have been hidden
+ move(QPoint());
+ setAttribute(Qt::WA_Moved, false); //we want it at the default position
}
}
diff --git a/src/gui/widgets/qlinecontrol_p.h b/src/gui/widgets/qlinecontrol_p.h
index 5da1831c71..7068f62c71 100644
--- a/src/gui/widgets/qlinecontrol_p.h
+++ b/src/gui/widgets/qlinecontrol_p.h
@@ -78,7 +78,7 @@ class Q_GUI_EXPORT QLineControl : public QObject
public:
QLineControl(const QString &txt = QString())
- : m_cursor(0), m_preeditCursor(0), m_cursorWidth(0), m_layoutDirection(Qt::LeftToRight),
+ : m_cursor(0), m_preeditCursor(0), m_cursorWidth(0), m_layoutDirection(Qt::LayoutDirectionAuto),
m_hideCursor(false), m_separator(0), m_readOnly(0),
m_dragEnabled(0), m_echoMode(0), m_textDirty(0), m_selDirty(0),
m_validInput(1), m_blinkStatus(0), m_blinkPeriod(0), m_blinkTimer(0), m_deleteAllTimer(0),
@@ -272,7 +272,14 @@ public:
QChar passwordCharacter() const { return m_passwordCharacter; }
void setPasswordCharacter(const QChar &character) { m_passwordCharacter = character; updateDisplayText(); }
- Qt::LayoutDirection layoutDirection() const { return m_layoutDirection; }
+ Qt::LayoutDirection layoutDirection() const {
+ if (m_layoutDirection == Qt::LayoutDirectionAuto) {
+ if (m_text.isEmpty())
+ return QApplication::keyboardInputDirection();
+ return m_text.isRightToLeft() ? Qt::RightToLeft : Qt::LeftToRight;
+ }
+ return m_layoutDirection;
+ }
void setLayoutDirection(Qt::LayoutDirection direction)
{
if (direction != m_layoutDirection) {
diff --git a/src/gui/widgets/qlineedit.cpp b/src/gui/widgets/qlineedit.cpp
index c1c4abf3e9..1bffde16f9 100644
--- a/src/gui/widgets/qlineedit.cpp
+++ b/src/gui/widgets/qlineedit.cpp
@@ -1860,7 +1860,7 @@ void QLineEdit::paintEvent(QPaintEvent *)
p.setClipRect(r);
QFontMetrics fm = fontMetrics();
- Qt::Alignment va = QStyle::visualAlignment(layoutDirection(), QFlag(d->alignment));
+ Qt::Alignment va = QStyle::visualAlignment(d->control->layoutDirection(), QFlag(d->alignment));
switch (va & Qt::AlignVertical_Mask) {
case Qt::AlignBottom:
d->vscroll = r.y() + r.height() - fm.height() - d->verticalMargin;
@@ -2161,9 +2161,6 @@ void QLineEdit::changeEvent(QEvent *ev)
}
update();
break;
- case QEvent::LayoutDirectionChange:
- d->control->setLayoutDirection(layoutDirection());
- break;
default:
break;
}
diff --git a/src/gui/widgets/qmainwindowlayout_mac.mm b/src/gui/widgets/qmainwindowlayout_mac.mm
index 95270572cf..b8cef93456 100644
--- a/src/gui/widgets/qmainwindowlayout_mac.mm
+++ b/src/gui/widgets/qmainwindowlayout_mac.mm
@@ -410,7 +410,7 @@ void QMainWindowLayout::insertIntoMacToolbar(QToolBar *before, QToolBar *toolbar
macToolbar = [[NSToolbar alloc] initWithIdentifier:(NSString *)kQMainWindowMacToolbarID];
[macToolbar setDisplayMode:NSToolbarDisplayModeIconOnly];
[macToolbar setSizeMode:NSToolbarSizeModeRegular];
- [macToolbar setDelegate:[[QCocoaToolBarDelegate alloc] initWithMainWindowLayout:this]];
+ [macToolbar setDelegate:[[QT_MANGLE_NAMESPACE(QCocoaToolBarDelegate) alloc] initWithMainWindowLayout:this]];
[window setToolbar:macToolbar];
[macToolbar release];
}
diff --git a/src/gui/widgets/qmenu.cpp b/src/gui/widgets/qmenu.cpp
index f84059db39..7941c4e407 100644
--- a/src/gui/widgets/qmenu.cpp
+++ b/src/gui/widgets/qmenu.cpp
@@ -983,19 +983,9 @@ bool QMenuPrivate::mouseEventTaken(QMouseEvent *e)
return false;
}
-class ExceptionGuard
-{
-public:
- inline ExceptionGuard(bool *w = 0) : watched(w) { Q_ASSERT(!(*watched)); *watched = true; }
- inline ~ExceptionGuard() { *watched = false; }
- inline operator bool() { return *watched; }
-private:
- bool *watched;
-};
-
void QMenuPrivate::activateCausedStack(const QList<QPointer<QWidget> > &causedStack, QAction *action, QAction::ActionEvent action_e, bool self)
{
- ExceptionGuard guard(&activationRecursionGuard);
+ QBoolBlocker guard(activationRecursionGuard);
#ifdef QT3_SUPPORT
const int actionId = q_func()->findIdForAction(action);
#endif
diff --git a/src/gui/widgets/qmenu.h b/src/gui/widgets/qmenu.h
index a040afab17..7708e05f7a 100644
--- a/src/gui/widgets/qmenu.h
+++ b/src/gui/widgets/qmenu.h
@@ -142,7 +142,7 @@ public:
#endif
#ifdef Q_WS_WINCE
- HMENU wceMenu(bool create = false);
+ HMENU wceMenu();
#endif
bool separatorsCollapsible() const;
diff --git a/src/gui/widgets/qmenu_p.h b/src/gui/widgets/qmenu_p.h
index 39cbbd8422..33283fdb79 100644
--- a/src/gui/widgets/qmenu_p.h
+++ b/src/gui/widgets/qmenu_p.h
@@ -358,7 +358,7 @@ public:
return 0;
}
} *wce_menu;
- HMENU wceMenu(bool create = false);
+ HMENU wceMenu();
QAction* wceCommands(uint command);
#endif
#if defined(Q_WS_S60)
diff --git a/src/gui/widgets/qmenu_wince.cpp b/src/gui/widgets/qmenu_wince.cpp
index 1577f0a005..e088db6172 100644
--- a/src/gui/widgets/qmenu_wince.cpp
+++ b/src/gui/widgets/qmenu_wince.cpp
@@ -126,6 +126,7 @@ static void qt_wce_enable_soft_key(HWND handle, uint command)
if (ptrEnableSoftKey)
ptrEnableSoftKey(handle, command, false, true);
}
+
static void qt_wce_disable_soft_key(HWND handle, uint command)
{
resolveAygLibs();
@@ -133,7 +134,8 @@ static void qt_wce_disable_soft_key(HWND handle, uint command)
ptrEnableSoftKey(handle, command, false, false);
}
-static void qt_wce_delete_action_list(QList<QWceMenuAction*> *list) {
+static void qt_wce_delete_action_list(QList<QWceMenuAction*> *list)
+{
for(QList<QWceMenuAction*>::Iterator it = list->begin(); it != list->end(); ++it) {
QWceMenuAction *action = (*it);
delete action;
@@ -143,7 +145,8 @@ static void qt_wce_delete_action_list(QList<QWceMenuAction*> *list) {
}
//search for first QuitRole in QMenuBar
-static QAction* qt_wce_get_quit_action(QList<QAction *> actionItems) {
+static QAction* qt_wce_get_quit_action(QList<QAction *> actionItems)
+{
QAction *returnAction = 0;
for (int i = 0; i < actionItems.size(); ++i) {
QAction *action = actionItems.at(i);
@@ -158,7 +161,8 @@ static QAction* qt_wce_get_quit_action(QList<QAction *> actionItems) {
return 0; //nothing found;
}
-static QAction* qt_wce_get_quit_action(QList<QWceMenuAction*> actionItems) {
+static QAction* qt_wce_get_quit_action(QList<QWceMenuAction*> actionItems)
+{
for (int i = 0; i < actionItems.size(); ++i) {
if (actionItems.at(i)->action->menuRole() == QAction::QuitRole)
return actionItems.at(i)->action;
@@ -171,7 +175,8 @@ static QAction* qt_wce_get_quit_action(QList<QWceMenuAction*> actionItems) {
return 0;
}
-static HMODULE qt_wce_get_module_handle() {
+static HMODULE qt_wce_get_module_handle()
+{
HMODULE module = 0; //handle to resources
if (!(module = GetModuleHandle(L"QtGui4"))) //release dynamic
if (!(module = GetModuleHandle(L"QtGuid4"))) //debug dynamic
@@ -180,7 +185,8 @@ static HMODULE qt_wce_get_module_handle() {
return module;
}
-static void qt_wce_change_command(HWND menuHandle, int item, int command) {
+static void qt_wce_change_command(HWND menuHandle, int item, int command)
+{
TBBUTTONINFOA tbbi;
memset(&tbbi,0,sizeof(tbbi));
tbbi.cbSize = sizeof(tbbi);
@@ -189,7 +195,8 @@ TBBUTTONINFOA tbbi;
SendMessage(menuHandle, TB_SETBUTTONINFO, item, (LPARAM)&tbbi);
}
-static void qt_wce_rename_menu_item(HWND menuHandle, int item, const QString &newText) {
+static void qt_wce_rename_menu_item(HWND menuHandle, int item, const QString &newText)
+{
TBBUTTONINFOA tbbi;
memset(&tbbi,0,sizeof(tbbi));
tbbi.cbSize = sizeof(tbbi);
@@ -200,7 +207,8 @@ static void qt_wce_rename_menu_item(HWND menuHandle, int item, const QString &ne
SendMessage(menuHandle, TB_SETBUTTONINFO, item, (LPARAM)&tbbi);
}
-static HWND qt_wce_create_menubar(HWND parentHandle, HINSTANCE resourceHandle, int toolbarID, int flags = 0) {
+static HWND qt_wce_create_menubar(HWND parentHandle, HINSTANCE resourceHandle, int toolbarID, int flags = 0)
+{
resolveAygLibs();
if (ptrCreateMenuBar) {
@@ -225,8 +233,8 @@ static HWND qt_wce_create_menubar(HWND parentHandle, HINSTANCE resourceHandle, i
return 0;
}
-static void qt_wce_insert_action(HMENU menu, QWceMenuAction *action, bool created) {
-
+static void qt_wce_insert_action(HMENU menu, QWceMenuAction *action)
+{
Q_ASSERT_X(menu, "AppendMenu", "menu is 0");
if (action->action->isVisible()) {
int flags;
@@ -240,7 +248,7 @@ static void qt_wce_insert_action(HMENU menu, QWceMenuAction *action, bool create
else if (action->action->menu()) {
text.remove(QChar::fromLatin1('&'));
AppendMenu (menu, MF_STRING | flags | MF_POPUP,
- (UINT) action->action->menu()->wceMenu(created), reinterpret_cast<const wchar_t *> (text.utf16()));
+ (UINT) action->action->menu()->wceMenu(), reinterpret_cast<const wchar_t *> (text.utf16()));
}
else {
AppendMenu (menu, MF_STRING | flags, action->command, reinterpret_cast<const wchar_t *> (text.utf16()));
@@ -265,12 +273,14 @@ static void qt_wce_clear_menu(HMENU hMenu)
This function refreshes the native Windows CE menu.
*/
-void QMenuBar::wceRefresh() {
+void QMenuBar::wceRefresh()
+{
for (int i = 0; i < nativeMenuBars.size(); ++i)
nativeMenuBars.at(i)->d_func()->wceRefresh();
}
-void QMenuBarPrivate::wceRefresh() {
+void QMenuBarPrivate::wceRefresh()
+{
DrawMenuBar(wce_menubar->menubarHandle);
}
@@ -280,7 +290,8 @@ void QMenuBarPrivate::wceRefresh() {
This function sends native Windows CE commands to Qt menus.
*/
-QAction* QMenu::wceCommands(uint command) {
+QAction* QMenu::wceCommands(uint command)
+{
Q_D(QMenu);
return d->wceCommands(command);
}
@@ -292,22 +303,27 @@ QAction* QMenu::wceCommands(uint command) {
and all their child menus.
*/
-void QMenuBar::wceCommands(uint command, HWND) {
- for (int i = 0; i < nativeMenuBars.size(); ++i)
- nativeMenuBars.at(i)->d_func()->wceCommands(command);
+void QMenuBar::wceCommands(uint command)
+{
+ const HWND hwndActiveWindow = GetActiveWindow();
+ for (int i = 0; i < nativeMenuBars.size(); ++i) {
+ QMenuBarPrivate* nativeMenuBar = nativeMenuBars.at(i)->d_func();
+ if (hwndActiveWindow == nativeMenuBar->wce_menubar->parentWindowHandle)
+ nativeMenuBar->wceCommands(command);
+ }
}
-bool QMenuBarPrivate::wceEmitSignals(QList<QWceMenuAction*> actions, uint command) {
+bool QMenuBarPrivate::wceEmitSignals(QList<QWceMenuAction*> actions, uint command)
+{
QAction *foundAction = 0;
for (int i = 0; i < actions.size(); ++i) {
- if (foundAction)
- break;
QWceMenuAction *action = actions.at(i);
if (action->action->menu()) {
foundAction = action->action->menu()->wceCommands(command);
+ if (foundAction)
+ break;
}
else if (action->command == command) {
- emit q_func()->triggered(action->action);
action->action->activate(QAction::Trigger);
return true;
}
@@ -319,13 +335,14 @@ bool QMenuBarPrivate::wceEmitSignals(QList<QWceMenuAction*> actions, uint comman
return false;
}
-void QMenuBarPrivate::wceCommands(uint command) {
+void QMenuBarPrivate::wceCommands(uint command)
+{
if (wceClassicMenu) {
for (int i = 0; i < wce_menubar->actionItemsClassic.size(); ++i)
wceEmitSignals(wce_menubar->actionItemsClassic.at(i), command);
} else {
if (wceEmitSignals(wce_menubar->actionItems, command)) {
- return ;
+ return;
}
else if (wce_menubar->leftButtonIsMenu) {//check if command is on the left quick button
wceEmitSignals(wce_menubar->actionItemsLeftButton, command);
@@ -337,7 +354,8 @@ void QMenuBarPrivate::wceCommands(uint command) {
}
}
-QAction *QMenuPrivate::wceCommands(uint command) {
+QAction *QMenuPrivate::wceCommands(uint command)
+{
QAction *foundAction = 0;
for (int i = 0; i < wce_menu->actionItems.size(); ++i) {
if (foundAction)
@@ -347,7 +365,7 @@ QAction *QMenuPrivate::wceCommands(uint command) {
foundAction = action->action->menu()->d_func()->wceCommands(command);
}
else if (action->command == command) {
- action->action->activate(QAction::Trigger);
+ activateAction(action->action, QAction::Trigger);
return action->action;
}
}
@@ -356,8 +374,8 @@ QAction *QMenuPrivate::wceCommands(uint command) {
return foundAction;
}
-void QMenuBarPrivate::wceCreateMenuBar(QWidget *parent) {
-
+void QMenuBarPrivate::wceCreateMenuBar(QWidget *parent)
+{
Q_Q(QMenuBar);
wce_menubar = new QWceMenuBarPrivate(this);
@@ -371,21 +389,25 @@ void QMenuBarPrivate::wceCreateMenuBar(QWidget *parent) {
wceClassicMenu = (!qt_wince_is_smartphone() && !qt_wince_is_pocket_pc());
}
-void QMenuBarPrivate::wceDestroyMenuBar() {
+void QMenuBarPrivate::wceDestroyMenuBar()
+{
Q_Q(QMenuBar);
int index = nativeMenuBars.indexOf(q);
nativeMenuBars.removeAt(index);
- if (wce_menubar)
- delete wce_menubar;
- wce_menubar = 0;
+ if (wce_menubar) {
+ delete wce_menubar;
+ wce_menubar = 0;
+ }
}
-QMenuBarPrivate::QWceMenuBarPrivate::QWceMenuBarPrivate(QMenuBarPrivate *menubar) :
- menubarHandle(0), menuHandle(0),leftButtonMenuHandle(0) ,
- leftButtonAction(0), leftButtonIsMenu(false), d(menubar) {
+QMenuBarPrivate::QWceMenuBarPrivate::QWceMenuBarPrivate(QMenuBarPrivate *menubar)
+: menubarHandle(0), menuHandle(0), leftButtonMenuHandle(0),
+ leftButtonAction(0), leftButtonIsMenu(false), d(menubar)
+{
}
-QMenuBarPrivate::QWceMenuBarPrivate::~QWceMenuBarPrivate() {
+QMenuBarPrivate::QWceMenuBarPrivate::~QWceMenuBarPrivate()
+{
if (menubarHandle)
DestroyWindow(menubarHandle);
qt_wce_delete_action_list(&actionItems);
@@ -403,24 +425,28 @@ QMenuBarPrivate::QWceMenuBarPrivate::~QWceMenuBarPrivate() {
QMenuBar::wceRefresh();
}
-QMenuPrivate::QWceMenuPrivate::QWceMenuPrivate() {
- menuHandle = 0;
+QMenuPrivate::QWceMenuPrivate::QWceMenuPrivate()
+: menuHandle(0)
+{
}
-QMenuPrivate::QWceMenuPrivate::~QWceMenuPrivate() {
+QMenuPrivate::QWceMenuPrivate::~QWceMenuPrivate()
+{
qt_wce_delete_action_list(&actionItems);
if (menuHandle)
DestroyMenu(menuHandle);
}
-void QMenuPrivate::QWceMenuPrivate::addAction(QAction *a, QWceMenuAction *before) {
+void QMenuPrivate::QWceMenuPrivate::addAction(QAction *a, QWceMenuAction *before)
+{
QWceMenuAction *action = new QWceMenuAction;
action->action = a;
action->command = qt_wce_menu_static_cmd_id++;
addAction(action, before);
}
-void QMenuPrivate::QWceMenuPrivate::addAction(QWceMenuAction *action, QWceMenuAction *before) {
+void QMenuPrivate::QWceMenuPrivate::addAction(QWceMenuAction *action, QWceMenuAction *before)
+{
if (!action)
return;
int before_index = actionItems.indexOf(before);
@@ -439,12 +465,16 @@ void QMenuPrivate::QWceMenuPrivate::addAction(QWceMenuAction *action, QWceMenuAc
Windows CE menu bar bindings.
*/
-HMENU QMenu::wceMenu(bool create) { return d_func()->wceMenu(create); }
+HMENU QMenu::wceMenu()
+{
+ return d_func()->wceMenu();
+}
-HMENU QMenuPrivate::wceMenu(bool create) {
+HMENU QMenuPrivate::wceMenu()
+{
if (!wce_menu)
wce_menu = new QWceMenuPrivate;
- if (!wce_menu->menuHandle || create)
+ if (!wce_menu->menuHandle)
wce_menu->rebuild();
return wce_menu->menuHandle;
}
@@ -459,30 +489,33 @@ void QMenuPrivate::QWceMenuPrivate::rebuild()
for (int i = 0; i < actionItems.size(); ++i) {
QWceMenuAction *action = actionItems.at(i);
action->menuHandle = menuHandle;
- qt_wce_insert_action(menuHandle, action, true);
+ qt_wce_insert_action(menuHandle, action);
}
QMenuBar::wceRefresh();
}
-void QMenuPrivate::QWceMenuPrivate::syncAction(QWceMenuAction *) {
+void QMenuPrivate::QWceMenuPrivate::syncAction(QWceMenuAction *)
+{
rebuild();
}
-void QMenuPrivate::QWceMenuPrivate::removeAction(QWceMenuAction *action) {
- actionItems.removeAll(action);
- delete action;
- action = 0;
- rebuild();
+void QMenuPrivate::QWceMenuPrivate::removeAction(QWceMenuAction *action)
+{
+ actionItems.removeAll(action);
+ delete action;
+ rebuild();
}
-void QMenuBarPrivate::QWceMenuBarPrivate::addAction(QAction *a, QWceMenuAction *before) {
+void QMenuBarPrivate::QWceMenuBarPrivate::addAction(QAction *a, QWceMenuAction *before)
+{
QWceMenuAction *action = new QWceMenuAction;
action->action = a;
action->command = qt_wce_menu_static_cmd_id++;
addAction(action, before);
}
-void QMenuBarPrivate::QWceMenuBarPrivate::addAction(QWceMenuAction *action, QWceMenuAction *before) {
+void QMenuBarPrivate::QWceMenuBarPrivate::addAction(QWceMenuAction *action, QWceMenuAction *before)
+{
if (!action)
return;
int before_index = actionItems.indexOf(before);
@@ -494,25 +527,27 @@ void QMenuBarPrivate::QWceMenuBarPrivate::addAction(QWceMenuAction *action, QWce
rebuild();
}
-void QMenuBarPrivate::QWceMenuBarPrivate::syncAction(QWceMenuAction*) {
+void QMenuBarPrivate::QWceMenuBarPrivate::syncAction(QWceMenuAction*)
+{
QMenuBar::wceRefresh();
rebuild();
}
-void QMenuBarPrivate::QWceMenuBarPrivate::removeAction(QWceMenuAction *action) {
+void QMenuBarPrivate::QWceMenuBarPrivate::removeAction(QWceMenuAction *action)
+{
actionItems.removeAll(action);
delete action;
- action = 0;
rebuild();
}
-void QMenuBarPrivate::_q_updateDefaultAction() {
+void QMenuBarPrivate::_q_updateDefaultAction()
+{
if (wce_menubar)
wce_menubar->rebuild();
}
-void QMenuBarPrivate::QWceMenuBarPrivate::rebuild() {
-
+void QMenuBarPrivate::QWceMenuBarPrivate::rebuild()
+{
d->q_func()->resize(0,0);
parentWindowHandle = d->q_func()->parentWidget() ? d->q_func()->parentWidget()->winId() : d->q_func()->winId();
if (d->wceClassicMenu) {
@@ -559,7 +594,7 @@ void QMenuBarPrivate::QWceMenuBarPrivate::rebuild() {
action->command = qt_wce_menu_static_cmd_id++;
action->menuHandle = subMenuHandle;
actionItemsClassic.last().append(action);
- qt_wce_insert_action(subMenuHandle, action, true);
+ qt_wce_insert_action(subMenuHandle, action);
}
}
for (int i = actions.size();i<maxEntries;++i) {
@@ -602,7 +637,7 @@ void QMenuBarPrivate::QWceMenuBarPrivate::rebuild() {
for (int i = 0; i < actionItems.size(); ++i) {
QWceMenuAction *action = actionItems.at(i);
action->menuHandle = menuHandle;
- qt_wce_insert_action(menuHandle, action, true);
+ qt_wce_insert_action(menuHandle, action);
}
if (!leftButtonIsMenu) {
if (leftButtonAction) {
@@ -622,7 +657,7 @@ void QMenuBarPrivate::QWceMenuBarPrivate::rebuild() {
action->command = qt_wce_menu_static_cmd_id++;
action->menuHandle = leftButtonMenuHandle;
actionItemsLeftButton.append(action);
- qt_wce_insert_action(leftButtonMenuHandle, action, true);
+ qt_wce_insert_action(leftButtonMenuHandle, action);
}
}
}
diff --git a/src/gui/widgets/qmenubar.cpp b/src/gui/widgets/qmenubar.cpp
index ef37fd1d39..aa4ffce5f3 100644
--- a/src/gui/widgets/qmenubar.cpp
+++ b/src/gui/widgets/qmenubar.cpp
@@ -1956,7 +1956,7 @@ bool QMenuBar::isNativeMenuBar() const
to the right soft key.
Currently there is only support for the default action on Windows
- Mobile. All other platforms ignore the default action.
+ Mobile. On all other platforms this method is not available.
\sa defaultAction()
*/
diff --git a/src/gui/widgets/qmenubar.h b/src/gui/widgets/qmenubar.h
index 85c0988001..c63a4f5f6f 100644
--- a/src/gui/widgets/qmenubar.h
+++ b/src/gui/widgets/qmenubar.h
@@ -115,7 +115,7 @@ public:
void setDefaultAction(QAction *);
QAction *defaultAction() const;
- static void wceCommands(uint command, HWND controlHandle);
+ static void wceCommands(uint command);
static void wceRefresh();
#endif
diff --git a/src/gui/widgets/qplaintextedit.cpp b/src/gui/widgets/qplaintextedit.cpp
index 2734fba343..21c2635a66 100644
--- a/src/gui/widgets/qplaintextedit.cpp
+++ b/src/gui/widgets/qplaintextedit.cpp
@@ -1476,6 +1476,7 @@ bool QPlainTextEdit::event(QEvent *e)
d->sendControlEvent(e);
}
#endif
+#ifndef QT_NO_GESTURES
else if (e->type() == QEvent::Gesture) {
QGestureEvent *ge = static_cast<QGestureEvent *>(e);
QPanGesture *g = static_cast<QPanGesture *>(ge->gesture(Qt::PanGesture));
@@ -1499,6 +1500,7 @@ bool QPlainTextEdit::event(QEvent *e)
}
return true;
}
+#endif // QT_NO_GESTURES
return QAbstractScrollArea::event(e);
}
diff --git a/src/gui/widgets/qprogressbar.h b/src/gui/widgets/qprogressbar.h
index b461a21390..58bc8b2b1f 100644
--- a/src/gui/widgets/qprogressbar.h
+++ b/src/gui/widgets/qprogressbar.h
@@ -93,9 +93,11 @@ public:
Qt::Orientation orientation() const;
void setInvertedAppearance(bool invert);
- bool invertedAppearance();
+ bool invertedAppearance(); //### Qt5 make const
+ bool invertedAppearance() const { return const_cast<QProgressBar *>(this)->invertedAppearance(); }
void setTextDirection(QProgressBar::Direction textDirection);
- QProgressBar::Direction textDirection();
+ QProgressBar::Direction textDirection(); //### Qt5 make const
+ QProgressBar::Direction textDirection() const { return const_cast<QProgressBar *>(this)->textDirection(); }
void setFormat(const QString &format);
QString format() const;
diff --git a/src/gui/widgets/qpushbutton.cpp b/src/gui/widgets/qpushbutton.cpp
index 1a9adccc1c..8a18ed0ea5 100644
--- a/src/gui/widgets/qpushbutton.cpp
+++ b/src/gui/widgets/qpushbutton.cpp
@@ -58,6 +58,10 @@
#include "qdebug.h"
#include "qlayoutitem.h"
#include "qdialogbuttonbox.h"
+#ifdef Q_WS_MAC
+#include "qmacstyle_mac.h"
+#include "private/qmacstyle_mac_p.h"
+#endif // Q_WS_MAC
#ifndef QT_NO_ACCESSIBILITY
#include "qaccessible.h"
@@ -679,6 +683,37 @@ bool QPushButton::event(QEvent *e)
return QAbstractButton::event(e);
}
+#ifdef Q_WS_MAC
+/*! \reimp */
+bool QPushButton::hitButton(const QPoint &pos) const
+{
+ // This is only required if we are using the native style, so check that first.
+ QMacStyle *macStyle = qobject_cast<QMacStyle *>(style());
+ // If this is a flat button we just bail out.
+ if(isFlat() || (0 == macStyle))
+ return QAbstractButton::hitButton(pos);
+ // Now that we know we are using the native style, let's proceed.
+ Q_D(const QPushButton);
+ QPushButtonPrivate *nonConst = const_cast<QPushButtonPrivate *>(d);
+ // In OSX buttons are round, which causes the hit method to be special.
+ // We cannot simply relay on detecting if something is inside the rect or not,
+ // we need to check if it is inside the "rounded area" or not. A point might
+ // be inside the rect but not inside the rounded area.
+ // Notice this method is only reimplemented for OSX.
+ return nonConst->hitButton(pos);
+}
+
+bool QPushButtonPrivate::hitButton(const QPoint &pos)
+{
+ Q_Q(QPushButton);
+ QRect roundedRect(q->rect().left() + QMacStylePrivate::PushButtonLeftOffset,
+ q->rect().top() + QMacStylePrivate::PushButtonContentPadding,
+ q->rect().width() - QMacStylePrivate::PushButtonRightOffset,
+ q->rect().height() - QMacStylePrivate::PushButtonBottomOffset);
+ return roundedRect.contains(pos);
+}
+#endif // Q_WS_MAC
+
#ifdef QT3_SUPPORT
/*!
Use one of the constructors that doesn't take the \a name
diff --git a/src/gui/widgets/qpushbutton.h b/src/gui/widgets/qpushbutton.h
index 2a4823d6da..cf28753452 100644
--- a/src/gui/widgets/qpushbutton.h
+++ b/src/gui/widgets/qpushbutton.h
@@ -91,6 +91,9 @@ public Q_SLOTS:
protected:
bool event(QEvent *e);
+#ifdef Q_WS_MAC
+ bool hitButton(const QPoint &pos) const;
+#endif // Q_WS_MAC
void paintEvent(QPaintEvent *);
void keyPressEvent(QKeyEvent *);
void focusInEvent(QFocusEvent *);
diff --git a/src/gui/widgets/qpushbutton_p.h b/src/gui/widgets/qpushbutton_p.h
index f2ee09def9..6feb726217 100644
--- a/src/gui/widgets/qpushbutton_p.h
+++ b/src/gui/widgets/qpushbutton_p.h
@@ -69,6 +69,9 @@ public:
inline void init() { resetLayoutItemMargins(); }
static QPushButtonPrivate* get(QPushButton *b) { return b->d_func(); }
+#ifdef Q_WS_MAC
+ bool hitButton(const QPoint &pos);
+#endif
#ifndef QT_NO_MENU
QPoint adjustedMenuPosition();
#endif
diff --git a/src/gui/widgets/qslider.cpp b/src/gui/widgets/qslider.cpp
index a5e62cf630..5755202638 100644
--- a/src/gui/widgets/qslider.cpp
+++ b/src/gui/widgets/qslider.cpp
@@ -621,7 +621,7 @@ QSlider::TickPosition QSlider::tickPosition() const
\brief the interval between tickmarks
This is a value interval, not a pixel interval. If it is 0, the
- slider will choose between lineStep() and pageStep().
+ slider will choose between singleStep() and pageStep().
The default value is 0.
diff --git a/src/gui/widgets/qstackedwidget.cpp b/src/gui/widgets/qstackedwidget.cpp
index 2509a21f16..de8d3e6b16 100644
--- a/src/gui/widgets/qstackedwidget.cpp
+++ b/src/gui/widgets/qstackedwidget.cpp
@@ -186,11 +186,11 @@ int QStackedWidget::insertWidget(int index, QWidget *widget)
}
/*!
- Removes the given \a widget from the QStackedWidget.
+ Removes \a widget from the QStackedWidget. i.e., \a widget is \e
+ not deleted but simply removed from the stacked layout, causing it
+ to be hidden.
- \bold{Note:} The ownership of \a widget remains the same.
- The widget is \e not deleted, but simply removed from the widget's
- stacked layout, causing it to be hidden.
+ \bold{Note:} Ownership of \a widget reverts to the application.
\sa addWidget(), insertWidget(), currentWidget()
*/
diff --git a/src/imports/folderlistmodel/folderlistmodel.pro b/src/imports/folderlistmodel/folderlistmodel.pro
new file mode 100644
index 0000000000..781dfc2467
--- /dev/null
+++ b/src/imports/folderlistmodel/folderlistmodel.pro
@@ -0,0 +1,26 @@
+TARGET = qmlfolderlistmodelplugin
+TARGETPATH = Qt/labs/folderlistmodel
+include(../qimportbase.pri)
+
+QT += declarative script
+
+SOURCES += qdeclarativefolderlistmodel.cpp plugin.cpp
+HEADERS += qdeclarativefolderlistmodel.h
+
+QTDIR_build:DESTDIR = $$QT_BUILD_TREE/imports/$$TARGETPATH
+target.path = $$[QT_INSTALL_IMPORTS]/$$TARGETPATH
+
+qmldir.files += $$PWD/qmldir
+qmldir.path += $$[QT_INSTALL_IMPORTS]/$$TARGETPATH
+
+symbian:{
+ load(data_caging_paths)
+ include($$QT_SOURCE_TREE/demos/symbianpkgrules.pri)
+
+ importFiles.sources = qmlfolderlistmodelplugin.dll qmldir
+ importFiles.path = $$QT_IMPORTS_BASE_DIR/$$TARGETPATH
+
+ DEPLOYMENT = importFiles
+}
+
+INSTALLS += target qmldir
diff --git a/src/imports/folderlistmodel/plugin.cpp b/src/imports/folderlistmodel/plugin.cpp
new file mode 100644
index 0000000000..1ec610600c
--- /dev/null
+++ b/src/imports/folderlistmodel/plugin.cpp
@@ -0,0 +1,70 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the plugins of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include <QtDeclarative/qdeclarativeextensionplugin.h>
+#include <QtDeclarative/qdeclarative.h>
+
+#include "qdeclarativefolderlistmodel.h"
+
+QT_BEGIN_NAMESPACE
+
+//![class decl]
+class QmlFolderListModelPlugin : public QDeclarativeExtensionPlugin
+{
+ Q_OBJECT
+public:
+ virtual void registerTypes(const char *uri)
+ {
+ Q_ASSERT(QLatin1String(uri) == QLatin1String("Qt.labs.folderlistmodel"));
+#ifndef QT_NO_DIRMODEL
+ qmlRegisterType<QDeclarativeFolderListModel>(uri,1,0,"FolderListModel");
+#endif
+ }
+};
+//![class decl]
+
+QT_END_NAMESPACE
+
+#include "plugin.moc"
+
+//![plugin export decl]
+Q_EXPORT_PLUGIN2(qmlfolderlistmodelplugin, QT_PREPEND_NAMESPACE(QmlFolderListModelPlugin));
+//![plugin export decl]
+
diff --git a/src/imports/folderlistmodel/qdeclarativefolderlistmodel.cpp b/src/imports/folderlistmodel/qdeclarativefolderlistmodel.cpp
new file mode 100644
index 0000000000..9cf81ca46f
--- /dev/null
+++ b/src/imports/folderlistmodel/qdeclarativefolderlistmodel.cpp
@@ -0,0 +1,403 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the examples of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+//![code]
+#include "qdeclarativefolderlistmodel.h"
+#include <QDirModel>
+#include <QDebug>
+#include <qdeclarativecontext.h>
+
+#ifndef QT_NO_DIRMODEL
+
+QT_BEGIN_NAMESPACE
+
+class QDeclarativeFolderListModelPrivate
+{
+public:
+ QDeclarativeFolderListModelPrivate()
+ : sortField(QDeclarativeFolderListModel::Name), sortReversed(false), count(0) {
+ nameFilters << QLatin1String("*");
+ }
+
+ void updateSorting() {
+ QDir::SortFlags flags = 0;
+ switch(sortField) {
+ case QDeclarativeFolderListModel::Unsorted:
+ flags |= QDir::Unsorted;
+ break;
+ case QDeclarativeFolderListModel::Name:
+ flags |= QDir::Name;
+ break;
+ case QDeclarativeFolderListModel::Time:
+ flags |= QDir::Time;
+ break;
+ case QDeclarativeFolderListModel::Size:
+ flags |= QDir::Size;
+ break;
+ case QDeclarativeFolderListModel::Type:
+ flags |= QDir::Type;
+ break;
+ }
+
+ if (sortReversed)
+ flags |= QDir::Reversed;
+
+ model.setSorting(flags);
+ }
+
+ QDirModel model;
+ QUrl folder;
+ QStringList nameFilters;
+ QModelIndex folderIndex;
+ QDeclarativeFolderListModel::SortField sortField;
+ bool sortReversed;
+ int count;
+};
+
+/*!
+ \qmlclass FolderListModel
+ \brief The FolderListModel provides a model of the contents of a folder in a filesystem.
+
+ FolderListModel provides access to the local filesystem. The \e folder property
+ specifies the folder to list.
+
+ Qt uses "/" as a universal directory separator in the same way that "/" is
+ used as a path separator in URLs. If you always use "/" as a directory
+ separator, Qt will translate your paths to conform to the underlying
+ operating system.
+
+ This type is made available by importing the \c Qt.labs.folderlistmodel module.
+ \e {Elements in the Qt.labs module are not guaranteed to remain compatible
+ in future versions.}
+
+ \bold{import Qt.labs.folderlistmodel 1.0}
+
+ The roles available are:
+ \list
+ \o fileName
+ \o filePath
+ \endlist
+
+ Additionally a file entry can be differentiated from a folder entry
+ via the \l isFolder() method.
+*/
+
+QDeclarativeFolderListModel::QDeclarativeFolderListModel(QObject *parent)
+ : QAbstractListModel(parent)
+{
+ QHash<int, QByteArray> roles;
+ roles[FileNameRole] = "fileName";
+ roles[FilePathRole] = "filePath";
+ setRoleNames(roles);
+
+ d = new QDeclarativeFolderListModelPrivate;
+ d->model.setFilter(QDir::AllDirs | QDir::Files | QDir::Drives | QDir::NoDotAndDotDot);
+ connect(&d->model, SIGNAL(rowsInserted(const QModelIndex&,int,int))
+ , this, SLOT(inserted(const QModelIndex&,int,int)));
+ connect(&d->model, SIGNAL(rowsRemoved(const QModelIndex&,int,int))
+ , this, SLOT(removed(const QModelIndex&,int,int)));
+ connect(&d->model, SIGNAL(dataChanged(const QModelIndex&,const QModelIndex&))
+ , this, SLOT(dataChanged(const QModelIndex&,const QModelIndex&)));
+ connect(&d->model, SIGNAL(modelReset()), this, SLOT(refresh()));
+ connect(&d->model, SIGNAL(layoutChanged()), this, SLOT(refresh()));
+}
+
+QDeclarativeFolderListModel::~QDeclarativeFolderListModel()
+{
+ delete d;
+}
+
+QVariant QDeclarativeFolderListModel::data(const QModelIndex &index, int role) const
+{
+ QVariant rv;
+ QModelIndex modelIndex = d->model.index(index.row(), 0, d->folderIndex);
+ if (modelIndex.isValid()) {
+ if (role == FileNameRole)
+ rv = d->model.data(modelIndex, QDirModel::FileNameRole).toString();
+ else if (role == FilePathRole)
+ rv = QUrl::fromLocalFile(d->model.data(modelIndex, QDirModel::FilePathRole).toString());
+ }
+ return rv;
+}
+
+int QDeclarativeFolderListModel::rowCount(const QModelIndex &parent) const
+{
+ Q_UNUSED(parent);
+ return d->count;
+}
+
+/*!
+ \qmlproperty string FolderListModel::folder
+
+ The \a folder property holds the folder the model is currently providing.
+
+ It is a URL, but must be a file: or qrc: URL (or relative to such a URL).
+*/
+QUrl QDeclarativeFolderListModel::folder() const
+{
+ return d->folder;
+}
+
+void QDeclarativeFolderListModel::setFolder(const QUrl &folder)
+{
+ if (folder == d->folder)
+ return;
+ QModelIndex index = d->model.index(folder.toLocalFile());
+ if ((index.isValid() && d->model.isDir(index)) || folder.toLocalFile().isEmpty()) {
+
+ d->folder = folder;
+ QMetaObject::invokeMethod(this, "refresh", Qt::QueuedConnection);
+ emit folderChanged();
+ }
+}
+
+QUrl QDeclarativeFolderListModel::parentFolder() const
+{
+ QString localFile = d->folder.toLocalFile();
+ if (!localFile.isEmpty()) {
+ QDir dir(localFile);
+#if defined(Q_OS_SYMBIAN) || defined(Q_OS_WIN)
+ if (dir.isRoot())
+ dir.setPath("");
+ else
+#endif
+ dir.cdUp();
+ localFile = dir.path();
+ } else {
+ int pos = d->folder.path().lastIndexOf(QLatin1Char('/'));
+ if (pos == -1)
+ return QUrl();
+ localFile = d->folder.path().left(pos);
+ }
+ return QUrl::fromLocalFile(localFile);
+}
+
+/*!
+ \qmlproperty list<string> FolderListModel::nameFilters
+
+ The \a nameFilters property contains a list of filename filters.
+ The filters may include the ? and * wildcards.
+
+ The example below filters on PNG and JPEG files:
+
+ \code
+ FolderListModel {
+ nameFilters: [ "*.png", "*.jpg" ]
+ }
+ \endcode
+*/
+QStringList QDeclarativeFolderListModel::nameFilters() const
+{
+ return d->nameFilters;
+}
+
+void QDeclarativeFolderListModel::setNameFilters(const QStringList &filters)
+{
+ d->nameFilters = filters;
+ d->model.setNameFilters(d->nameFilters);
+}
+
+void QDeclarativeFolderListModel::classBegin()
+{
+}
+
+void QDeclarativeFolderListModel::componentComplete()
+{
+ if (!d->folder.isValid() || !QDir().exists(d->folder.toLocalFile()))
+ setFolder(QUrl(QLatin1String("file://")+QDir::currentPath()));
+
+ if (!d->folderIndex.isValid())
+ QMetaObject::invokeMethod(this, "refresh", Qt::QueuedConnection);
+}
+
+QDeclarativeFolderListModel::SortField QDeclarativeFolderListModel::sortField() const
+{
+ return d->sortField;
+}
+
+void QDeclarativeFolderListModel::setSortField(SortField field)
+{
+ if (field != d->sortField) {
+ d->sortField = field;
+ d->updateSorting();
+ }
+}
+
+bool QDeclarativeFolderListModel::sortReversed() const
+{
+ return d->sortReversed;
+}
+
+void QDeclarativeFolderListModel::setSortReversed(bool rev)
+{
+ if (rev != d->sortReversed) {
+ d->sortReversed = rev;
+ d->updateSorting();
+ }
+}
+
+/*!
+ \qmlmethod bool FolderListModel::isFolder(int index)
+
+ Returns true if the entry \a index is a folder; otherwise
+ returns false.
+*/
+bool QDeclarativeFolderListModel::isFolder(int index) const
+{
+ if (index != -1) {
+ QModelIndex idx = d->model.index(index, 0, d->folderIndex);
+ if (idx.isValid())
+ return d->model.isDir(idx);
+ }
+ return false;
+}
+
+void QDeclarativeFolderListModel::refresh()
+{
+ d->folderIndex = QModelIndex();
+ if (d->count) {
+ emit beginRemoveRows(QModelIndex(), 0, d->count);
+ d->count = 0;
+ emit endRemoveRows();
+ }
+ d->folderIndex = d->model.index(d->folder.toLocalFile());
+ int newcount = d->model.rowCount(d->folderIndex);
+ if (newcount) {
+ emit beginInsertRows(QModelIndex(), 0, newcount-1);
+ d->count = newcount;
+ emit endInsertRows();
+ }
+}
+
+void QDeclarativeFolderListModel::inserted(const QModelIndex &index, int start, int end)
+{
+ if (index == d->folderIndex) {
+ emit beginInsertRows(QModelIndex(), start, end);
+ d->count = d->model.rowCount(d->folderIndex);
+ emit endInsertRows();
+ }
+}
+
+void QDeclarativeFolderListModel::removed(const QModelIndex &index, int start, int end)
+{
+ if (index == d->folderIndex) {
+ emit beginRemoveRows(QModelIndex(), start, end);
+ d->count = d->model.rowCount(d->folderIndex);
+ emit endRemoveRows();
+ }
+}
+
+void QDeclarativeFolderListModel::dataChanged(const QModelIndex &start, const QModelIndex &end)
+{
+ if (start.parent() == d->folderIndex)
+ emit dataChanged(index(start.row(),0), index(end.row(),0));
+}
+
+/*!
+ \qmlproperty bool FolderListModel::showDirs
+
+ If true (the default), directories are included in the model.
+
+ Note that the nameFilters are ignored for directories.
+*/
+bool QDeclarativeFolderListModel::showDirs() const
+{
+ return d->model.filter() & QDir::AllDirs;
+}
+
+void QDeclarativeFolderListModel::setShowDirs(bool on)
+{
+ if (!(d->model.filter() & QDir::AllDirs) == !on)
+ return;
+ if (on)
+ d->model.setFilter(d->model.filter() | QDir::AllDirs | QDir::Drives);
+ else
+ d->model.setFilter(d->model.filter() & ~(QDir::AllDirs | QDir::Drives));
+}
+
+/*!
+ \qmlproperty bool FolderListModel::showDotAndDotDot
+
+ If true, the "." and ".." directories are included in the model.
+
+ The default is false.
+*/
+bool QDeclarativeFolderListModel::showDotAndDotDot() const
+{
+ return !(d->model.filter() & QDir::NoDotAndDotDot);
+}
+
+void QDeclarativeFolderListModel::setShowDotAndDotDot(bool on)
+{
+ if (!(d->model.filter() & QDir::NoDotAndDotDot) == on)
+ return;
+ if (on)
+ d->model.setFilter(d->model.filter() & ~QDir::NoDotAndDotDot);
+ else
+ d->model.setFilter(d->model.filter() | QDir::NoDotAndDotDot);
+}
+
+/*!
+ \qmlproperty bool FolderListModel::showOnlyReadable
+
+ If true, only readable files and directories are shown.
+
+ The default is false.
+*/
+bool QDeclarativeFolderListModel::showOnlyReadable() const
+{
+ return d->model.filter() & QDir::Readable;
+}
+
+void QDeclarativeFolderListModel::setShowOnlyReadable(bool on)
+{
+ if (!(d->model.filter() & QDir::Readable) == !on)
+ return;
+ if (on)
+ d->model.setFilter(d->model.filter() | QDir::Readable);
+ else
+ d->model.setFilter(d->model.filter() & ~QDir::Readable);
+}
+
+//![code]
+QT_END_NAMESPACE
+
+#endif // QT_NO_DIRMODEL
diff --git a/src/imports/folderlistmodel/qdeclarativefolderlistmodel.h b/src/imports/folderlistmodel/qdeclarativefolderlistmodel.h
new file mode 100644
index 0000000000..1bab5f84ae
--- /dev/null
+++ b/src/imports/folderlistmodel/qdeclarativefolderlistmodel.h
@@ -0,0 +1,159 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the examples of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#ifndef QDECLARATIVEFOLDERLISTMODEL_H
+#define QDECLARATIVEFOLDERLISTMODEL_H
+
+#include <qdeclarative.h>
+#include <QStringList>
+#include <QUrl>
+#include <QAbstractListModel>
+
+#ifndef QT_NO_DIRMODEL
+
+QT_BEGIN_HEADER
+
+QT_BEGIN_NAMESPACE
+
+QT_MODULE(Declarative)
+
+class QDeclarativeContext;
+class QModelIndex;
+
+class QDeclarativeFolderListModelPrivate;
+
+//![class begin]
+class QDeclarativeFolderListModel : public QAbstractListModel, public QDeclarativeParserStatus
+{
+ Q_OBJECT
+ Q_INTERFACES(QDeclarativeParserStatus)
+//![class begin]
+
+//![class props]
+ Q_PROPERTY(QUrl folder READ folder WRITE setFolder NOTIFY folderChanged)
+ Q_PROPERTY(QUrl parentFolder READ parentFolder NOTIFY folderChanged)
+ Q_PROPERTY(QStringList nameFilters READ nameFilters WRITE setNameFilters)
+ Q_PROPERTY(SortField sortField READ sortField WRITE setSortField)
+ Q_PROPERTY(bool sortReversed READ sortReversed WRITE setSortReversed)
+ Q_PROPERTY(bool showDirs READ showDirs WRITE setShowDirs)
+ Q_PROPERTY(bool showDotAndDotDot READ showDotAndDotDot WRITE setShowDotAndDotDot)
+ Q_PROPERTY(bool showOnlyReadable READ showOnlyReadable WRITE setShowOnlyReadable)
+ Q_PROPERTY(int count READ count)
+//![class props]
+
+//![abslistmodel]
+public:
+ QDeclarativeFolderListModel(QObject *parent = 0);
+ ~QDeclarativeFolderListModel();
+
+ enum Roles { FileNameRole = Qt::UserRole+1, FilePathRole = Qt::UserRole+2 };
+
+ int rowCount(const QModelIndex &parent) const;
+ QVariant data(const QModelIndex &index, int role) const;
+//![abslistmodel]
+
+//![count]
+ int count() const { return rowCount(QModelIndex()); }
+//![count]
+
+//![prop funcs]
+ QUrl folder() const;
+ void setFolder(const QUrl &folder);
+
+ QUrl parentFolder() const;
+
+ QStringList nameFilters() const;
+ void setNameFilters(const QStringList &filters);
+
+ enum SortField { Unsorted, Name, Time, Size, Type };
+ SortField sortField() const;
+ void setSortField(SortField field);
+ Q_ENUMS(SortField)
+
+ bool sortReversed() const;
+ void setSortReversed(bool rev);
+
+ bool showDirs() const;
+ void setShowDirs(bool);
+ bool showDotAndDotDot() const;
+ void setShowDotAndDotDot(bool);
+ bool showOnlyReadable() const;
+ void setShowOnlyReadable(bool);
+//![prop funcs]
+
+//![isfolder]
+ Q_INVOKABLE bool isFolder(int index) const;
+//![isfolder]
+
+//![parserstatus]
+ virtual void classBegin();
+ virtual void componentComplete();
+//![parserstatus]
+
+//![notifier]
+Q_SIGNALS:
+ void folderChanged();
+//![notifier]
+
+//![class end]
+private Q_SLOTS:
+ void refresh();
+ void inserted(const QModelIndex &index, int start, int end);
+ void removed(const QModelIndex &index, int start, int end);
+ void dataChanged(const QModelIndex &start, const QModelIndex &end);
+
+private:
+ Q_DISABLE_COPY(QDeclarativeFolderListModel)
+ QDeclarativeFolderListModelPrivate *d;
+};
+//![class end]
+
+QT_END_NAMESPACE
+
+//![qml decl]
+QML_DECLARE_TYPE(QDeclarativeFolderListModel)
+//![qml decl]
+
+QT_END_HEADER
+
+#endif // QT_NO_DIRMODEL
+
+#endif // QDECLARATIVEFOLDERLISTMODEL_H
diff --git a/src/imports/folderlistmodel/qmldir b/src/imports/folderlistmodel/qmldir
new file mode 100644
index 0000000000..6e115bbc7e
--- /dev/null
+++ b/src/imports/folderlistmodel/qmldir
@@ -0,0 +1 @@
+plugin qmlfolderlistmodelplugin
diff --git a/src/imports/gestures/gestures.pro b/src/imports/gestures/gestures.pro
index f55c00eb02..4ef79319d1 100644
--- a/src/imports/gestures/gestures.pro
+++ b/src/imports/gestures/gestures.pro
@@ -1,4 +1,4 @@
-TARGET = gesturesqmlplugin
+TARGET = qmlgesturesplugin
TARGETPATH = Qt/labs/gestures
include(../qimportbase.pri)
@@ -17,7 +17,7 @@ symbian:{
load(data_caging_paths)
include($$QT_SOURCE_TREE/demos/symbianpkgrules.pri)
- importFiles.sources = gesturesqmlplugin.dll qmldir
+ importFiles.sources = qmlgesturesplugin.dll qmldir
importFiles.path = $$QT_IMPORTS_BASE_DIR/$$TARGETPATH
DEPLOYMENT = importFiles
diff --git a/src/imports/gestures/plugin.cpp b/src/imports/gestures/plugin.cpp
index b8a97515f7..1fc23cab7c 100644
--- a/src/imports/gestures/plugin.cpp
+++ b/src/imports/gestures/plugin.cpp
@@ -53,7 +53,9 @@ public:
virtual void registerTypes(const char *uri)
{
Q_ASSERT(QLatin1String(uri) == QLatin1String("Qt.labs.gestures"));
+#ifndef QT_NO_GESTURES
qmlRegisterCustomType<QDeclarativeGestureArea>(uri,1,0, "GestureArea", new QDeclarativeGestureAreaParser);
+#endif
}
};
@@ -61,5 +63,4 @@ QT_END_NAMESPACE
#include "plugin.moc"
-Q_EXPORT_PLUGIN2(gesturesqmlplugin, QT_PREPEND_NAMESPACE(GestureAreaQmlPlugin));
-
+Q_EXPORT_PLUGIN2(qmlgesturesplugin, QT_PREPEND_NAMESPACE(GestureAreaQmlPlugin));
diff --git a/src/imports/gestures/qdeclarativegesturearea.cpp b/src/imports/gestures/qdeclarativegesturearea.cpp
index 615c6741b8..22be2f1af7 100644
--- a/src/imports/gestures/qdeclarativegesturearea.cpp
+++ b/src/imports/gestures/qdeclarativegesturearea.cpp
@@ -55,6 +55,8 @@
#include <private/qobject_p.h>
+#ifndef QT_NO_GESTURES
+
QT_BEGIN_NAMESPACE
class QDeclarativeGestureAreaPrivate : public QDeclarativeItemPrivate
@@ -226,7 +228,7 @@ void QDeclarativeGestureArea::connectSignals()
ds >> gesturetype;
QString script;
ds >> script;
- QDeclarativeExpression *exp = new QDeclarativeExpression(qmlContext(this), script, 0);
+ QDeclarativeExpression *exp = new QDeclarativeExpression(qmlContext(this), 0, script);
d->bindings.insert(Qt::GestureType(gesturetype),exp);
grabGesture(Qt::GestureType(gesturetype));
}
@@ -259,7 +261,7 @@ bool QDeclarativeGestureAreaPrivate::gestureEvent(QGestureEvent *event)
bool accept = true;
for (Bindings::Iterator it = bindings.begin(); it != bindings.end(); ++it) {
if ((gesture = event->gesture(it.key()))) {
- it.value()->value();
+ it.value()->evaluate();
event->setAccepted(true); // XXX only if value returns true?
}
}
@@ -267,3 +269,5 @@ bool QDeclarativeGestureAreaPrivate::gestureEvent(QGestureEvent *event)
}
QT_END_NAMESPACE
+
+#endif // QT_NO_GESTURES
diff --git a/src/imports/gestures/qdeclarativegesturearea_p.h b/src/imports/gestures/qdeclarativegesturearea_p.h
index 0195511985..ff89166deb 100644
--- a/src/imports/gestures/qdeclarativegesturearea_p.h
+++ b/src/imports/gestures/qdeclarativegesturearea_p.h
@@ -50,6 +50,8 @@
#include <QtCore/qstring.h>
#include <QtGui/qgesture.h>
+#ifndef QT_NO_GESTURES
+
QT_BEGIN_HEADER
QT_BEGIN_NAMESPACE
@@ -97,4 +99,6 @@ QML_DECLARE_TYPE(QDeclarativeGestureArea)
QT_END_HEADER
+#endif // QT_NO_GESTURES
+
#endif
diff --git a/src/imports/gestures/qmldir b/src/imports/gestures/qmldir
index 9d9d587b09..2a31920a40 100644
--- a/src/imports/gestures/qmldir
+++ b/src/imports/gestures/qmldir
@@ -1 +1 @@
-plugin gesturesqmlplugin
+plugin qmlgesturesplugin
diff --git a/src/imports/imports.pro b/src/imports/imports.pro
index ecde0cc01e..7f9331a2d1 100644
--- a/src/imports/imports.pro
+++ b/src/imports/imports.pro
@@ -1,7 +1,6 @@
TEMPLATE = subdirs
-SUBDIRS += widgets particles
+SUBDIRS += folderlistmodel particles gestures
contains(QT_CONFIG, webkit): SUBDIRS += webkit
-contains(QT_CONFIG, mediaservices): SUBDIRS += multimedia
diff --git a/src/imports/multimedia/multimedia.cpp b/src/imports/multimedia/multimedia.cpp
deleted file mode 100644
index e2a2821135..0000000000
--- a/src/imports/multimedia/multimedia.cpp
+++ /dev/null
@@ -1,73 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the plugins of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include <QtDeclarative/qdeclarativeextensionplugin.h>
-#include <QtDeclarative/qdeclarative.h>
-#include <QtMediaServices/private/qsoundeffect_p.h>
-
-#include "qdeclarativevideo_p.h"
-#include "qdeclarativeaudio_p.h"
-
-
-QML_DECLARE_TYPE(QSoundEffect)
-
-QT_BEGIN_NAMESPACE
-
-class QMultimediaDeclarativeModule : public QDeclarativeExtensionPlugin
-{
- Q_OBJECT
-public:
- virtual void registerTypes(const char *uri)
- {
- Q_ASSERT(QLatin1String(uri) == QLatin1String("Qt.multimedia"));
-
- qmlRegisterType<QSoundEffect>(uri, 4, 7, "SoundEffect");
- qmlRegisterType<QDeclarativeAudio>(uri, 4, 7, "Audio");
- qmlRegisterType<QDeclarativeVideo>(uri, 4, 7, "Video");
- }
-};
-
-QT_END_NAMESPACE
-
-#include "multimedia.moc"
-
-Q_EXPORT_PLUGIN2(qmultimediadeclarativemodule, QT_PREPEND_NAMESPACE(QMultimediaDeclarativeModule));
-
diff --git a/src/imports/multimedia/multimedia.pro b/src/imports/multimedia/multimedia.pro
deleted file mode 100644
index 212f7b92b3..0000000000
--- a/src/imports/multimedia/multimedia.pro
+++ /dev/null
@@ -1,36 +0,0 @@
-TARGET = multimedia
-TARGETPATH = Qt/multimedia
-include(../qimportbase.pri)
-
-QT += mediaservices declarative
-
-HEADERS += \
- qdeclarativeaudio_p.h \
- qdeclarativemediabase_p.h \
- qdeclarativevideo_p.h \
- qmetadatacontrolmetaobject_p.h \
-
-SOURCES += \
- multimedia.cpp \
- qdeclarativeaudio.cpp \
- qdeclarativemediabase.cpp \
- qdeclarativevideo.cpp \
- qmetadatacontrolmetaobject.cpp
-
-QTDIR_build:DESTDIR = $$QT_BUILD_TREE/imports/$$TARGETPATH
-target.path = $$[QT_INSTALL_IMPORTS]/$$TARGETPATH
-
-qmldir.files += $$PWD/qmldir
-qmldir.path += $$[QT_INSTALL_IMPORTS]/$$TARGETPATH
-
-symbian:{
- load(data_caging_paths)
- include($$QT_SOURCE_TREE/demos/symbianpkgrules.pri)
-
- importFiles.sources = multimedia.dll qmldir
- importFiles.path = $$QT_IMPORTS_BASE_DIR/$$TARGETPATH
-
- DEPLOYMENT = importFiles
-}
-
-INSTALLS += target qmldir
diff --git a/src/imports/multimedia/qdeclarativeaudio.cpp b/src/imports/multimedia/qdeclarativeaudio.cpp
deleted file mode 100644
index a163b10f0e..0000000000
--- a/src/imports/multimedia/qdeclarativeaudio.cpp
+++ /dev/null
@@ -1,357 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the plugins of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "qdeclarativeaudio_p.h"
-
-#include <QtMediaServices/qmediaplayercontrol.h>
-
-QT_BEGIN_NAMESPACE
-
-
-/*!
- \qmlclass Audio QDeclarativeAudio
- \since 4.7
- \brief The Audio element allows you to add audio playback to a scene.
-
- This element is part of the \bold{Qt.multimedia 4.7} module.
-
- \qml
- import Qt 4.7
- import Qt.multimedia 4.7
-
- Text {
- text: "Click Me!";
- font.pointSize: 24;
- width: 150; height: 50;
-
- Audio {
- id: playMusic
- source: "music.wav"
- }
- MouseArea {
- id: playArea
- anchors.fill: parent
- onPressed: { playMusic.play() }
- }
- }
- \endqml
-
- \sa Video
-*/
-
-/*!
- \internal
- \class QDeclarativeAudio
- \brief The QDeclarativeAudio class provides an audio item that you can add to a QDeclarativeView.
-*/
-
-void QDeclarativeAudio::_q_error(int errorCode, const QString &errorString)
-{
- m_error = QMediaPlayer::Error(errorCode);
- m_errorString = errorString;
-
- emit error(Error(errorCode), errorString);
- emit errorChanged();
-}
-
-
-QDeclarativeAudio::QDeclarativeAudio(QObject *parent)
- : QObject(parent)
-{
-}
-
-QDeclarativeAudio::~QDeclarativeAudio()
-{
- shutdown();
-}
-
-/*!
- \qmlmethod Audio::play()
-
- Starts playback of the media.
-
- Sets the \l playing property to true, and the \l paused property to false.
-*/
-
-void QDeclarativeAudio::play()
-{
- if (m_playerControl == 0)
- return;
-
- setPaused(false);
- setPlaying(true);
-}
-
-/*!
- \qmlmethod Audio::pause()
-
- Pauses playback of the media.
-
- Sets the \l playing and \l paused properties to true.
-*/
-
-void QDeclarativeAudio::pause()
-{
- if (m_playerControl == 0)
- return;
-
- setPaused(true);
- setPlaying(true);
-}
-
-/*!
- \qmlmethod Audio::stop()
-
- Stops playback of the media.
-
- Sets the \l playing and \l paused properties to false.
-*/
-
-void QDeclarativeAudio::stop()
-{
- if (m_playerControl == 0)
- return;
-
- setPlaying(false);
- setPaused(false);
-}
-
-/*!
- \qmlproperty url Audio::source
-
- This property holds the source URL of the media.
-*/
-
-/*!
- \qmlproperty url Audio::autoLoad
-
- This property indicates if loading of media should begin immediately.
-
- Defaults to true, if false media will not be loaded until playback is started.
-*/
-
-/*!
- \qmlproperty bool Audio::playing
-
- This property holds whether the media is playing.
-
- Defaults to false, and can be set to true to start playback.
-*/
-
-/*!
- \qmlproperty bool Audio::paused
-
- This property holds whether the media is paused.
-
- Defaults to false, and can be set to true to pause playback.
-*/
-
-/*!
- \qmlsignal Audio::onStarted()
-
- This handler is called when playback is started.
-*/
-
-/*!
- \qmlsignal Audio::onResumed()
-
- This handler is called when playback is resumed from the paused state.
-*/
-
-/*!
- \qmlsignal Audio::onPaused()
-
- This handler is called when playback is paused.
-*/
-
-/*!
- \qmlsignal Audio::onStopped()
-
- This handler is called when playback is stopped.
-*/
-
-/*!
- \qmlproperty enumeration Audio::status
-
- This property holds the status of media loading. It can be one of:
-
- \list
- \o NoMedia - no media has been set.
- \o Loading - the media is currently being loaded.
- \o Loaded - the media has been loaded.
- \o Buffering - the media is buffering data.
- \o Stalled - playback has been interrupted while the media is buffering data.
- \o Buffered - the media has buffered data.
- \o EndOfMedia - the media has played to the end.
- \o InvalidMedia - the media cannot be played.
- \o UnknownStatus - the status of the media is unknown.
- \endlist
-*/
-
-QDeclarativeAudio::Status QDeclarativeAudio::status() const
-{
- return Status(m_status);
-}
-
-/*!
- \qmlsignal Audio::onLoaded()
-
- This handler is called when the media source has been loaded.
-*/
-
-/*!
- \qmlsignal Audio::onBuffering()
-
- This handler is called when the media starts buffering.
-*/
-
-/*!
- \qmlsignal Audio::onStalled()
-
- This handler is called when playback has stalled while the media buffers.
-*/
-
-/*!
- \qmlsignal Audio::onBuffered()
-
- This handler is called when the media has finished buffering.
-*/
-
-/*!
- \qmlsignal Audio::onEndOfMedia()
-
- This handler is called when playback stops because end of the media has been reached.
-*/
-/*!
- \qmlproperty int Audio::duration
-
- This property holds the duration of the media in milliseconds.
-
- If the media doesn't have a fixed duration (a live stream for example) this will be 0.
-*/
-
-/*!
- \qmlproperty int Audio::position
-
- This property holds the current playback position in milliseconds.
-
- If the \l seekable property is true, this property can be set to seek to a new position.
-*/
-
-/*!
- \qmlproperty real Audio::volume
-
- This property holds the volume of the audio output, from 0.0 (silent) to 1.0 (maximum volume).
-*/
-
-/*!
- \qmlproperty bool Audio::muted
-
- This property holds whether the audio output is muted.
-*/
-
-/*!
- \qmlproperty real Audio::bufferProgress
-
- This property holds how much of the data buffer is currently filled, from 0.0 (empty) to 1.0
- (full).
-*/
-
-/*!
- \qmlproperty bool Audio::seekable
-
- This property holds whether position of the audio can be changed.
-
- If true; setting a \l position value will cause playback to seek to the new position.
-*/
-
-/*!
- \qmlproperty real Audio::playbackRate
-
- This property holds the rate at which audio is played at as a multiple of the normal rate.
-*/
-
-/*!
- \qmlproperty enumeration Audio::error
-
- This property holds the error state of the audio. It can be one of:
-
- \list
- \o NoError - there is no current error.
- \o ResourceError - the audio cannot be played due to a problem allocating resources.
- \o FormatError - the audio format is not supported.
- \o NetworkError - the audio cannot be played due to network issues.
- \o AccessDenied - the audio cannot be played due to insufficient permissions.
- \o ServiceMissing - the audio cannot be played because the media service could not be
- instantiated.
- \endlist
-*/
-
-QDeclarativeAudio::Error QDeclarativeAudio::error() const
-{
- return Error(m_error);
-}
-
-void QDeclarativeAudio::componentComplete()
-{
- setObject(this);
-}
-
-
-/*!
- \qmlproperty string Audio::errorString
-
- This property holds a string describing the current error condition in more detail.
-*/
-
-/*!
- \qmlsignal Audio::onError(error, errorString)
-
- This handler is called when an \l {QMediaPlayer::Error}{error} has
- occurred. The errorString parameter may contain more detailed
- information about the error.
-*/
-
-QT_END_NAMESPACE
-
-#include "moc_qdeclarativeaudio_p.cpp"
-
-
diff --git a/src/imports/multimedia/qdeclarativeaudio_p.h b/src/imports/multimedia/qdeclarativeaudio_p.h
deleted file mode 100644
index 24276ea87d..0000000000
--- a/src/imports/multimedia/qdeclarativeaudio_p.h
+++ /dev/null
@@ -1,176 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the plugins of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QDECLARATIVEAUDIO_P_H
-#define QDECLARATIVEAUDIO_P_H
-
-//
-// W A R N I N G
-// -------------
-//
-// This file is not part of the Qt API. It exists for the convenience
-// of other Qt classes. This header file may change from version to
-// version without notice, or even be removed.
-//
-// We mean it.
-//
-
-#include "qdeclarativemediabase_p.h"
-
-#include <QtCore/qbasictimer.h>
-#include <QtDeclarative/qdeclarativeitem.h>
-
-
-QT_BEGIN_HEADER
-
-QT_BEGIN_NAMESPACE
-
-class QTimerEvent;
-
-class QDeclarativeAudio : public QObject, public QDeclarativeMediaBase, public QDeclarativeParserStatus
-{
- Q_OBJECT
- Q_PROPERTY(QUrl source READ source WRITE setSource NOTIFY sourceChanged)
- Q_PROPERTY(bool autoLoad READ isAutoLoad WRITE setAutoLoad NOTIFY autoLoadChanged)
- Q_PROPERTY(bool playing READ isPlaying WRITE setPlaying NOTIFY playingChanged)
- Q_PROPERTY(bool paused READ isPaused WRITE setPaused NOTIFY pausedChanged)
- Q_PROPERTY(Status status READ status NOTIFY statusChanged)
- Q_PROPERTY(int duration READ duration NOTIFY durationChanged)
- Q_PROPERTY(int position READ position WRITE setPosition NOTIFY positionChanged)
- Q_PROPERTY(qreal volume READ volume WRITE setVolume NOTIFY volumeChanged)
- Q_PROPERTY(bool muted READ isMuted WRITE setMuted NOTIFY mutedChanged)
- Q_PROPERTY(int bufferProgress READ bufferProgress NOTIFY bufferProgressChanged)
- Q_PROPERTY(bool seekable READ isSeekable NOTIFY seekableChanged)
- Q_PROPERTY(qreal playbackRate READ playbackRate WRITE setPlaybackRate NOTIFY playbackRateChanged)
- Q_PROPERTY(Error error READ error NOTIFY errorChanged)
- Q_PROPERTY(QString errorString READ errorString NOTIFY errorChanged)
- Q_ENUMS(Status)
- Q_ENUMS(Error)
- Q_INTERFACES(QDeclarativeParserStatus)
-public:
- enum Status
- {
- UnknownStatus = QMediaPlayer::UnknownMediaStatus,
- NoMedia = QMediaPlayer::NoMedia,
- Loading = QMediaPlayer::LoadingMedia,
- Loaded = QMediaPlayer::LoadedMedia,
- Stalled = QMediaPlayer::StalledMedia,
- Buffering = QMediaPlayer::BufferingMedia,
- Buffered = QMediaPlayer::BufferedMedia,
- EndOfMedia = QMediaPlayer::EndOfMedia,
- InvalidMedia = QMediaPlayer::InvalidMedia
- };
-
- enum Error
- {
- NoError = QMediaPlayer::NoError,
- ResourceError = QMediaPlayer::ResourceError,
- FormatError = QMediaPlayer::FormatError,
- NetworkError = QMediaPlayer::NetworkError,
- AccessDenied = QMediaPlayer::AccessDeniedError,
- ServiceMissing = QMediaPlayer::ServiceMissingError
- };
-
- QDeclarativeAudio(QObject *parent = 0);
- ~QDeclarativeAudio();
-
- Status status() const;
- Error error() const;
-
- void componentComplete();
-
-public Q_SLOTS:
- void play();
- void pause();
- void stop();
-
-Q_SIGNALS:
- void sourceChanged();
- void autoLoadChanged();
- void playingChanged();
- void pausedChanged();
-
- void started();
- void resumed();
- void paused();
- void stopped();
-
- void statusChanged();
-
- void loaded();
- void buffering();
- void stalled();
- void buffered();
- void endOfMedia();
-
- void durationChanged();
- void positionChanged();
-
- void volumeChanged();
- void mutedChanged();
-
- void bufferProgressChanged();
-
- void seekableChanged();
- void playbackRateChanged();
-
- void errorChanged();
- void error(QDeclarativeAudio::Error error, const QString &errorString);
-
-private Q_SLOTS:
- void _q_error(int, const QString &);
-
-private:
- Q_DISABLE_COPY(QDeclarativeAudio)
- Q_PRIVATE_SLOT(mediaBase(), void _q_stateChanged(QMediaPlayer::State))
- Q_PRIVATE_SLOT(mediaBase(), void _q_mediaStatusChanged(QMediaPlayer::MediaStatus))
- Q_PRIVATE_SLOT(mediaBase(), void _q_metaDataChanged())
-
- inline QDeclarativeMediaBase *mediaBase() { return this; }
-};
-
-QT_END_NAMESPACE
-
-QML_DECLARE_TYPE(QT_PREPEND_NAMESPACE(QDeclarativeAudio))
-
-QT_END_HEADER
-
-#endif
diff --git a/src/imports/multimedia/qdeclarativemediabase.cpp b/src/imports/multimedia/qdeclarativemediabase.cpp
deleted file mode 100644
index ee0737b98b..0000000000
--- a/src/imports/multimedia/qdeclarativemediabase.cpp
+++ /dev/null
@@ -1,528 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the plugins of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "qdeclarativemediabase_p.h"
-
-#include <QtCore/qcoreevent.h>
-#include <QtCore/qurl.h>
-
-#include <QtMediaServices/qmediaplayercontrol.h>
-#include <QtMediaServices/qmediaservice.h>
-#include <QtMediaServices/qmediaserviceprovider.h>
-#include <QtMediaServices/qmetadatacontrol.h>
-#include "qmetadatacontrolmetaobject_p.h"
-
-
-
-QT_BEGIN_NAMESPACE
-
-
-class QDeclarativeMediaBaseObject : public QMediaObject
-{
-public:
- QDeclarativeMediaBaseObject(QMediaService *service)
- : QMediaObject(0, service)
- {
- }
-};
-
-class QDeclarativeMediaBasePlayerControl : public QMediaPlayerControl
-{
-public:
- QDeclarativeMediaBasePlayerControl(QObject *parent)
- : QMediaPlayerControl(parent)
- {
- }
-
- QMediaPlayer::State state() const { return QMediaPlayer::StoppedState; }
- QMediaPlayer::MediaStatus mediaStatus() const { return QMediaPlayer::NoMedia; }
-
- qint64 duration() const { return 0; }
- qint64 position() const { return 0; }
- void setPosition(qint64) {}
- int volume() const { return 0; }
- void setVolume(int) {}
- bool isMuted() const { return false; }
- void setMuted(bool) {}
- int bufferStatus() const { return 0; }
- bool isAudioAvailable() const { return false; }
- bool isVideoAvailable() const { return false; }
- bool isSeekable() const { return false; }
- QMediaTimeRange availablePlaybackRanges() const { return QMediaTimeRange(); }
- qreal playbackRate() const { return 1; }
- void setPlaybackRate(qreal) {}
- QMediaContent media() const { return QMediaContent(); }
- const QIODevice *mediaStream() const { return 0; }
- void setMedia(const QMediaContent &, QIODevice *) {}
-
- void play() {}
- void pause() {}
- void stop() {}
-};
-
-class QDeclarativeMediaBaseAnimation : public QObject
-{
-public:
- QDeclarativeMediaBaseAnimation(QDeclarativeMediaBase *media)
- : m_media(media)
- {
- }
-
- void start() { if (!m_timer.isActive()) m_timer.start(500, this); }
- void stop() { m_timer.stop(); }
-
-protected:
- void timerEvent(QTimerEvent *event)
- {
- if (event->timerId() == m_timer.timerId()) {
- event->accept();
-
- if (m_media->m_state == QMediaPlayer::PlayingState)
- emit m_media->positionChanged();
- if (m_media->m_status == QMediaPlayer::BufferingMedia || QMediaPlayer::StalledMedia)
- emit m_media->bufferProgressChanged();
- } else {
- QObject::timerEvent(event);
- }
- }
-
-private:
- QDeclarativeMediaBase *m_media;
- QBasicTimer m_timer;
-};
-
-void QDeclarativeMediaBase::_q_stateChanged(QMediaPlayer::State state)
-{
- if (m_state == state)
- return;
-
- switch (state) {
- case QMediaPlayer::StoppedState: {
- emit stopped();
-
- if (m_playing) {
- m_playing = false;
- emit playingChanged();
- }
- }
- break;
- case QMediaPlayer::PausedState: {
- emit paused();
-
- if (!m_paused) {
- m_paused = true;
- emit pausedChanged();
- }
-
- if (m_state == QMediaPlayer::StoppedState)
- emit started();
- }
- break;
- case QMediaPlayer::PlayingState: {
- if (m_state == QMediaPlayer::PausedState)
- emit resumed();
- else
- emit started();
-
- if (m_paused) {
- m_paused = false;
- emit pausedChanged();
- }
- }
- break;
- }
-
- // Check
- if (state == QMediaPlayer::PlayingState
- || m_status == QMediaPlayer::BufferingMedia
- || m_status == QMediaPlayer::StalledMedia) {
- m_animation->start();
- }
- else {
- m_animation->stop();
- }
-
- m_state = state;
-}
-
-void QDeclarativeMediaBase::_q_mediaStatusChanged(QMediaPlayer::MediaStatus status)
-{
- if (status != m_status) {
- m_status = status;
-
- switch (status) {
- case QMediaPlayer::LoadedMedia:
- emit loaded();
- break;
- case QMediaPlayer::BufferingMedia:
- emit buffering();
- break;
- case QMediaPlayer::BufferedMedia:
- emit buffered();
- break;
- case QMediaPlayer::StalledMedia:
- emit stalled();
- break;
- case QMediaPlayer::EndOfMedia:
- emit endOfMedia();
- break;
- default:
- break;
- }
-
- emit statusChanged();
-
- if (m_state == QMediaPlayer::PlayingState
- || m_status == QMediaPlayer::BufferingMedia
- || m_status == QMediaPlayer::StalledMedia) {
- m_animation->start();
- } else {
- m_animation->stop();
- }
- }
-}
-
-void QDeclarativeMediaBase::_q_metaDataChanged()
-{
- m_metaObject->metaDataChanged();
-}
-
-QDeclarativeMediaBase::QDeclarativeMediaBase()
- : m_paused(false)
- , m_playing(false)
- , m_autoLoad(true)
- , m_loaded(false)
- , m_muted(false)
- , m_position(0)
- , m_vol(1.0)
- , m_playbackRate(1.0)
- , m_mediaService(0)
- , m_playerControl(0)
- , m_mediaObject(0)
- , m_mediaProvider(0)
- , m_metaDataControl(0)
- , m_metaObject(0)
- , m_animation(0)
- , m_state(QMediaPlayer::StoppedState)
- , m_status(QMediaPlayer::NoMedia)
- , m_error(QMediaPlayer::ServiceMissingError)
-{
-}
-
-QDeclarativeMediaBase::~QDeclarativeMediaBase()
-{
-}
-
-void QDeclarativeMediaBase::shutdown()
-{
- delete m_metaObject;
- delete m_mediaObject;
-
- if (m_mediaProvider)
- m_mediaProvider->releaseService(m_mediaService);
-
- delete m_animation;
-
-}
-
-void QDeclarativeMediaBase::setObject(QObject *object)
-{
- if ((m_mediaProvider = QMediaServiceProvider::defaultServiceProvider())) {
- if ((m_mediaService = m_mediaProvider->requestService(Q_MEDIASERVICE_MEDIAPLAYER))) {
- m_playerControl = qobject_cast<QMediaPlayerControl *>(
- m_mediaService->control(QMediaPlayerControl_iid));
- m_metaDataControl = qobject_cast<QMetaDataControl *>(
- m_mediaService->control(QMetaDataControl_iid));
- m_mediaObject = new QDeclarativeMediaBaseObject(m_mediaService);
- }
- }
-
- if (m_playerControl) {
- QObject::connect(m_playerControl, SIGNAL(stateChanged(QMediaPlayer::State)),
- object, SLOT(_q_stateChanged(QMediaPlayer::State)));
- QObject::connect(m_playerControl, SIGNAL(mediaStatusChanged(QMediaPlayer::MediaStatus)),
- object, SLOT(_q_mediaStatusChanged(QMediaPlayer::MediaStatus)));
- QObject::connect(m_playerControl, SIGNAL(mediaChanged(QMediaContent)),
- object, SIGNAL(sourceChanged()));
- QObject::connect(m_playerControl, SIGNAL(durationChanged(qint64)),
- object, SIGNAL(durationChanged()));
- QObject::connect(m_playerControl, SIGNAL(positionChanged(qint64)),
- object, SIGNAL(positionChanged()));
- QObject::connect(m_playerControl, SIGNAL(volumeChanged(int)),
- object, SIGNAL(volumeChanged()));
- QObject::connect(m_playerControl, SIGNAL(mutedChanged(bool)),
- object, SIGNAL(mutedChanged()));
- QObject::connect(m_playerControl, SIGNAL(bufferStatusChanged(int)),
- object, SIGNAL(bufferProgressChanged()));
- QObject::connect(m_playerControl, SIGNAL(seekableChanged(bool)),
- object, SIGNAL(seekableChanged()));
- QObject::connect(m_playerControl, SIGNAL(playbackRateChanged(qreal)),
- object, SIGNAL(playbackRateChanged()));
- QObject::connect(m_playerControl, SIGNAL(error(int,QString)),
- object, SLOT(_q_error(int,QString)));
-
- m_animation = new QDeclarativeMediaBaseAnimation(this);
- m_error = QMediaPlayer::NoError;
- } else {
- m_playerControl = new QDeclarativeMediaBasePlayerControl(object);
- }
-
- if (m_metaDataControl) {
- m_metaObject = new QMetaDataControlMetaObject(m_metaDataControl, object);
-
- QObject::connect(m_metaDataControl, SIGNAL(metaDataChanged()),
- object, SLOT(_q_metaDataChanged()));
- }
-
- // Init
- m_playerControl->setVolume(m_vol * 100);
- m_playerControl->setMuted(m_muted);
- m_playerControl->setPlaybackRate(m_playbackRate);
-
- if (!m_source.isEmpty() && (m_autoLoad || m_playing)) // Override autoLoad if playing set
- m_playerControl->setMedia(m_source, 0);
-
- if (m_paused)
- m_playerControl->pause();
- else if (m_playing)
- m_playerControl->play();
-
- if ((m_playing || m_paused) && m_position > 0)
- m_playerControl->setPosition(m_position);
-}
-
-
-// Properties
-
-QUrl QDeclarativeMediaBase::source() const
-{
- return m_source;
-}
-
-void QDeclarativeMediaBase::setSource(const QUrl &url)
-{
- if (url == m_source)
- return;
-
- m_source = url;
- m_loaded = false;
- if (m_playerControl != 0 && m_autoLoad) {
- if (m_error != QMediaPlayer::ServiceMissingError && m_error != QMediaPlayer::NoError) {
- m_error = QMediaPlayer::NoError;
- m_errorString = QString();
-
- emit errorChanged();
- }
-
- m_playerControl->setMedia(m_source, 0);
- m_loaded = true;
- }
- else
- emit sourceChanged();
-}
-
-bool QDeclarativeMediaBase::isAutoLoad() const
-{
- return m_autoLoad;
-}
-
-void QDeclarativeMediaBase::setAutoLoad(bool autoLoad)
-{
- if (m_autoLoad == autoLoad)
- return;
-
- m_autoLoad = autoLoad;
- emit autoLoadChanged();
-}
-
-bool QDeclarativeMediaBase::isPlaying() const
-{
- return m_playing;
-}
-
-void QDeclarativeMediaBase::setPlaying(bool playing)
-{
- if (playing == m_playing)
- return;
-
- m_playing = playing;
- if (m_playerControl != 0) {
- if (m_playing) {
- if (!m_autoLoad && !m_loaded) {
- m_playerControl->setMedia(m_source, 0);
- m_playerControl->setPosition(m_position);
- m_loaded = true;
- }
-
- if (!m_paused)
- m_playerControl->play();
- else
- m_playerControl->pause();
- }
- else if (m_state != QMediaPlayer::StoppedState)
- m_playerControl->stop();
- }
-
- emit playingChanged();
-}
-
-bool QDeclarativeMediaBase::isPaused() const
-{
- return m_paused;
-}
-
-void QDeclarativeMediaBase::setPaused(bool paused)
-{
- if (m_paused == paused)
- return;
-
- m_paused = paused;
- if (m_playerControl != 0) {
- if (!m_autoLoad && !m_loaded) {
- m_playerControl->setMedia(m_source, 0);
- m_playerControl->setPosition(m_position);
- m_loaded = true;
- }
-
- if (m_paused && m_state == QMediaPlayer::PlayingState) {
- m_playerControl->pause();
- }
- else if (!m_paused && m_playing) {
- m_playerControl->play();
- }
- }
-
- emit pausedChanged();
-}
-
-int QDeclarativeMediaBase::duration() const
-{
- return m_playerControl == 0 ? 0 : m_playerControl->duration();
-}
-
-int QDeclarativeMediaBase::position() const
-{
- return m_playerControl == 0 ? m_position : m_playerControl->position();
-}
-
-void QDeclarativeMediaBase::setPosition(int position)
-{
- if (m_position == position)
- return;
-
- m_position = position;
- if (m_playerControl != 0)
- m_playerControl->setPosition(m_position);
- else
- emit positionChanged();
-}
-
-qreal QDeclarativeMediaBase::volume() const
-{
- return m_playerControl == 0 ? m_vol : qreal(m_playerControl->volume()) / 100;
-}
-
-void QDeclarativeMediaBase::setVolume(qreal volume)
-{
- if (m_vol == volume)
- return;
-
- m_vol = volume;
-
- if (m_playerControl != 0)
- m_playerControl->setVolume(qRound(volume * 100));
- else
- emit volumeChanged();
-}
-
-bool QDeclarativeMediaBase::isMuted() const
-{
- return m_playerControl == 0 ? m_muted : m_playerControl->isMuted();
-}
-
-void QDeclarativeMediaBase::setMuted(bool muted)
-{
- if (m_muted == muted)
- return;
-
- m_muted = muted;
-
- if (m_playerControl != 0)
- m_playerControl->setMuted(muted);
- else
- emit mutedChanged();
-}
-
-qreal QDeclarativeMediaBase::bufferProgress() const
-{
- return m_playerControl == 0 ? 0 : qreal(m_playerControl->bufferStatus()) / 100;
-}
-
-bool QDeclarativeMediaBase::isSeekable() const
-{
- return m_playerControl == 0 ? false : m_playerControl->isSeekable();
-}
-
-qreal QDeclarativeMediaBase::playbackRate() const
-{
- return m_playbackRate;
-}
-
-void QDeclarativeMediaBase::setPlaybackRate(qreal rate)
-{
- if (m_playbackRate == rate)
- return;
-
- m_playbackRate = rate;
-
- if (m_playerControl != 0)
- m_playerControl->setPlaybackRate(m_playbackRate);
- else
- emit playbackRateChanged();
-}
-
-QString QDeclarativeMediaBase::errorString() const
-{
- return m_errorString;
-}
-
-QT_END_NAMESPACE
-
diff --git a/src/imports/multimedia/qdeclarativemediabase_p.h b/src/imports/multimedia/qdeclarativemediabase_p.h
deleted file mode 100644
index 34875f9f58..0000000000
--- a/src/imports/multimedia/qdeclarativemediabase_p.h
+++ /dev/null
@@ -1,181 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the plugins of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QDECLARATIVEMEDIABASE_P_H
-#define QDECLARATIVEMEDIABASE_P_H
-
-//
-// W A R N I N G
-// -------------
-//
-// This file is not part of the Qt API. It exists for the convenience
-// of other Qt classes. This header file may change from version to
-// version without notice, or even be removed.
-//
-// We mean it.
-//
-
-#include <QtCore/qbasictimer.h>
-#include <QtMediaServices/qmediaplayer.h>
-
-QT_BEGIN_HEADER
-
-QT_BEGIN_NAMESPACE
-
-class QMediaPlayerControl;
-class QMediaService;
-class QMediaServiceProvider;
-class QMetaDataControl;
-class QMetaDataControlMetaObject;
-class QDeclarativeMediaBaseAnimation;
-
-class QDeclarativeMediaBase
-{
-public:
- QDeclarativeMediaBase();
- virtual ~QDeclarativeMediaBase();
-
- QUrl source() const;
- void setSource(const QUrl &url);
-
- bool isAutoLoad() const;
- void setAutoLoad(bool autoLoad);
-
- bool isPlaying() const;
- void setPlaying(bool playing);
-
- bool isPaused() const;
- void setPaused(bool paused);
-
- int duration() const;
-
- int position() const;
- void setPosition(int position);
-
- qreal volume() const;
- void setVolume(qreal volume);
-
- bool isMuted() const;
- void setMuted(bool muted);
-
- qreal bufferProgress() const;
-
- bool isSeekable() const;
-
- qreal playbackRate() const;
- void setPlaybackRate(qreal rate);
-
- QString errorString() const;
-
- void _q_stateChanged(QMediaPlayer::State state);
- void _q_mediaStatusChanged(QMediaPlayer::MediaStatus status);
-
- void _q_metaDataChanged();
-
- void componentComplete();
-
-protected:
- void shutdown();
-
- void setObject(QObject *object);
-
- virtual void sourceChanged() = 0;
- virtual void autoLoadChanged() = 0;
- virtual void playingChanged() = 0;
- virtual void pausedChanged() = 0;
-
- virtual void started() = 0;
- virtual void resumed() = 0;
- virtual void paused() = 0;
- virtual void stopped() = 0;
-
- virtual void statusChanged() = 0;
-
- virtual void loaded() = 0;
- virtual void buffering() = 0;
- virtual void stalled() = 0;
- virtual void buffered() = 0;
- virtual void endOfMedia() = 0;
-
- virtual void durationChanged() = 0;
- virtual void positionChanged() = 0;
-
- virtual void volumeChanged() = 0;
- virtual void mutedChanged() = 0;
-
- virtual void bufferProgressChanged() = 0;
-
- virtual void seekableChanged() = 0;
- virtual void playbackRateChanged() = 0;
-
- virtual void errorChanged() = 0;
-
- bool m_paused;
- bool m_playing;
- bool m_autoLoad;
- bool m_loaded;
- bool m_muted;
- int m_position;
- qreal m_vol;
- qreal m_playbackRate;
- QMediaService *m_mediaService;
- QMediaPlayerControl *m_playerControl;
-
- QMediaObject *m_mediaObject;
- QMediaServiceProvider *m_mediaProvider;
- QMetaDataControl *m_metaDataControl;
- QMetaDataControlMetaObject *m_metaObject;
- QDeclarativeMediaBaseAnimation *m_animation;
-
- QMediaPlayer::State m_state;
- QMediaPlayer::MediaStatus m_status;
- QMediaPlayer::Error m_error;
- QString m_errorString;
- QUrl m_source;
-
- friend class QDeclarativeMediaBaseAnimation;
-};
-
-QT_END_NAMESPACE
-
-QT_END_HEADER
-
-#endif
diff --git a/src/imports/multimedia/qdeclarativevideo.cpp b/src/imports/multimedia/qdeclarativevideo.cpp
deleted file mode 100644
index 1b51e2cb7c..0000000000
--- a/src/imports/multimedia/qdeclarativevideo.cpp
+++ /dev/null
@@ -1,976 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the plugins of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "qdeclarativevideo_p.h"
-
-#include <QtMediaServices/qmediaplayercontrol.h>
-#include <QtMediaServices/qmediaservice.h>
-#include <QtMediaServices/private/qpaintervideosurface_p.h>
-#include <QtMediaServices/qvideooutputcontrol.h>
-#include <QtMediaServices/qvideorenderercontrol.h>
-
-
-QT_BEGIN_NAMESPACE
-
-
-void QDeclarativeVideo::_q_nativeSizeChanged(const QSizeF &size)
-{
- setImplicitWidth(size.width());
- setImplicitHeight(size.height());
-}
-
-void QDeclarativeVideo::_q_error(int errorCode, const QString &errorString)
-{
- m_error = QMediaPlayer::Error(errorCode);
- m_errorString = errorString;
-
- emit error(Error(errorCode), errorString);
- emit errorChanged();
-}
-
-
-/*!
- \qmlclass Video QDeclarativeVideo
- \since 4.7
- \brief The Video element allows you to add videos to a scene.
- \inherits Item
-
- This element is part of the \bold{Qt.multimedia 4.7} module.
-
- \qml
- import Qt 4.7
- import Qt.multimedia 4.7
-
- Video {
- id: video
- width : 800
- height : 600
- source: "video.avi"
-
- MouseArea {
- anchors.fill: parent
- onClicked: {
- video.play()
- }
- }
-
- focus: true
- Keys.onSpacePressed: video.paused = !video.paused
- Keys.onLeftPressed: video.position -= 5000
- Keys.onRightPressed: video.position += 5000
- }
- \endqml
-
- The Video item supports untransformed, stretched, and uniformly scaled video presentation.
- For a description of stretched uniformly scaled presentation, see the \l fillMode property
- description.
-
- The Video item is only visible when the \l hasVideo property is true and the video is playing.
-
- \sa Audio
-*/
-
-/*!
- \internal
- \class QDeclarativeVideo
- \brief The QDeclarativeVideo class provides a video item that you can add to a QDeclarativeView.
-*/
-
-QDeclarativeVideo::QDeclarativeVideo(QDeclarativeItem *parent)
- : QDeclarativeItem(parent)
- , m_graphicsItem(0)
-
-{
- m_graphicsItem = new QGraphicsVideoItem(this);
- connect(m_graphicsItem, SIGNAL(nativeSizeChanged(QSizeF)),
- this, SLOT(_q_nativeSizeChanged(QSizeF)));
-}
-
-QDeclarativeVideo::~QDeclarativeVideo()
-{
- shutdown();
-
- delete m_graphicsItem;
-}
-
-/*!
- \qmlproperty url Video::source
-
- This property holds the source URL of the media.
-*/
-
-/*!
- \qmlproperty url Video::autoLoad
-
- This property indicates if loading of media should begin immediately.
-
- Defaults to true, if false media will not be loaded until playback is started.
-*/
-
-/*!
- \qmlproperty bool Video::playing
-
- This property holds whether the media is playing.
-
- Defaults to false, and can be set to true to start playback.
-*/
-
-/*!
- \qmlproperty bool Video::paused
-
- This property holds whether the media is paused.
-
- Defaults to false, and can be set to true to pause playback.
-*/
-
-/*!
- \qmlsignal Video::onStarted()
-
- This handler is called when playback is started.
-*/
-
-/*!
- \qmlsignal Video::onResumed()
-
- This handler is called when playback is resumed from the paused state.
-*/
-
-/*!
- \qmlsignal Video::onPaused()
-
- This handler is called when playback is paused.
-*/
-
-/*!
- \qmlsignal Video::onStopped()
-
- This handler is called when playback is stopped.
-*/
-
-/*!
- \qmlproperty enumeration Video::status
-
- This property holds the status of media loading. It can be one of:
-
- \list
- \o NoMedia - no media has been set.
- \o Loading - the media is currently being loaded.
- \o Loaded - the media has been loaded.
- \o Buffering - the media is buffering data.
- \o Stalled - playback has been interrupted while the media is buffering data.
- \o Buffered - the media has buffered data.
- \o EndOfMedia - the media has played to the end.
- \o InvalidMedia - the media cannot be played.
- \o UnknownStatus - the status of the media is cannot be determined.
- \endlist
-*/
-
-QDeclarativeVideo::Status QDeclarativeVideo::status() const
-{
- return Status(m_status);
-}
-
-/*!
- \qmlsignal Video::onLoaded()
-
- This handler is called when the media source has been loaded.
-*/
-
-/*!
- \qmlsignal Video::onBuffering()
-
- This handler is called when the media starts buffering.
-*/
-
-/*!
- \qmlsignal Video::onStalled()
-
- This handler is called when playback has stalled while the media buffers.
-*/
-
-/*!
- \qmlsignal Video::onBuffered()
-
- This handler is called when the media has finished buffering.
-*/
-
-/*!
- \qmlsignal Video::onEndOfMedia()
-
- This handler is called when playback stops because end of the media has been reached.
-*/
-
-/*!
- \qmlproperty int Video::duration
-
- This property holds the duration of the media in milliseconds.
-
- If the media doesn't have a fixed duration (a live stream for example) this will be 0.
-*/
-
-/*!
- \qmlproperty int Video::position
-
- This property holds the current playback position in milliseconds.
-*/
-
-/*!
- \qmlproperty real Video::volume
-
- This property holds the volume of the audio output, from 0.0 (silent) to 1.0 (maximum volume).
-*/
-
-/*!
- \qmlproperty bool Video::muted
-
- This property holds whether the audio output is muted.
-*/
-
-/*!
- \qmlproperty bool Video::hasAudio
-
- This property holds whether the media contains audio.
-*/
-
-bool QDeclarativeVideo::hasAudio() const
-{
- return m_playerControl == 0 ? false : m_playerControl->isAudioAvailable();
-}
-
-/*!
- \qmlproperty bool Video::hasVideo
-
- This property holds whether the media contains video.
-*/
-
-bool QDeclarativeVideo::hasVideo() const
-{
- return m_playerControl == 0 ? false : m_playerControl->isVideoAvailable();
-}
-
-/*!
- \qmlproperty real Video::bufferProgress
-
- This property holds how much of the data buffer is currently filled, from 0.0 (empty) to 1.0
- (full).
-*/
-
-/*!
- \qmlproperty bool Video::seekable
-
- This property holds whether position of the video can be changed.
-*/
-
-/*!
- \qmlproperty real Video::playbackRate
-
- This property holds the rate at which video is played at as a multiple of the normal rate.
-*/
-
-/*!
- \qmlproperty enumeration Video::error
-
- This property holds the error state of the video. It can be one of:
-
- \list
- \o NoError - there is no current error.
- \o ResourceError - the video cannot be played due to a problem allocating resources.
- \o FormatError - the video format is not supported.
- \o NetworkError - the video cannot be played due to network issues.
- \o AccessDenied - the video cannot be played due to insufficient permissions.
- \o ServiceMissing - the video cannot be played because the media service could not be
- instantiated.
- \endlist
-*/
-
-
-QDeclarativeVideo::Error QDeclarativeVideo::error() const
-{
- return Error(m_error);
-}
-
-/*!
- \qmlproperty string Video::errorString
-
- This property holds a string describing the current error condition in more detail.
-*/
-
-/*!
- \qmlsignal Video::onError(error, errorString)
-
- This handler is called when an \l {QMediaPlayer::Error}{error} has
- occurred. The errorString parameter may contain more detailed
- information about the error.
-*/
-
-/*!
- \qmlproperty enumeration Video::fillMode
-
- Set this property to define how the video is scaled to fit the target area.
-
- \list
- \o Stretch - the video is scaled to fit.
- \o PreserveAspectFit - the video is scaled uniformly to fit without cropping
- \o PreserveAspectCrop - the video is scaled uniformly to fill, cropping if necessary
- \endlist
-
- The default fill mode is PreserveAspectFit.
-*/
-
-QDeclarativeVideo::FillMode QDeclarativeVideo::fillMode() const
-{
- return FillMode(m_graphicsItem->aspectRatioMode());
-}
-
-void QDeclarativeVideo::setFillMode(FillMode mode)
-{
- m_graphicsItem->setAspectRatioMode(Qt::AspectRatioMode(mode));
-}
-
-/*!
- \qmlmethod Video::play()
-
- Starts playback of the media.
-
- Sets the \l playing property to true, and the \l paused property to false.
-*/
-
-void QDeclarativeVideo::play()
-{
- if (m_playerControl == 0)
- return;
-
- setPaused(false);
- setPlaying(true);
-}
-
-/*!
- \qmlmethod Video::pause()
-
- Pauses playback of the media.
-
- Sets the \l playing and \l paused properties to true.
-*/
-
-void QDeclarativeVideo::pause()
-{
- if (m_playerControl == 0)
- return;
-
- setPaused(true);
- setPlaying(true);
-}
-
-/*!
- \qmlmethod Video::stop()
-
- Stops playback of the media.
-
- Sets the \l playing and \l paused properties to false.
-*/
-
-void QDeclarativeVideo::stop()
-{
- if (m_playerControl == 0)
- return;
-
- setPlaying(false);
- setPaused(false);
-}
-
-void QDeclarativeVideo::paint(QPainter *, const QStyleOptionGraphicsItem *, QWidget *)
-{
-}
-
-void QDeclarativeVideo::geometryChanged(const QRectF &newGeometry, const QRectF &oldGeometry)
-{
- m_graphicsItem->setSize(newGeometry.size());
-
- QDeclarativeItem::geometryChanged(newGeometry, oldGeometry);
-}
-
-void QDeclarativeVideo::componentComplete()
-{
- setObject(this);
-
- if (m_mediaService) {
- connect(m_playerControl, SIGNAL(audioAvailableChanged(bool)),
- this, SIGNAL(hasAudioChanged()));
- connect(m_playerControl, SIGNAL(videoAvailableChanged(bool)),
- this, SIGNAL(hasVideoChanged()));
-
- m_graphicsItem->setMediaObject(m_mediaObject);
- }
-}
-
-QT_END_NAMESPACE
-
-// ***************************************
-// Documentation for meta-data properties.
-// ***************************************
-
-/*!
- \qmlproperty variant Video::title
-
- This property holds the tile of the media.
-
- \sa {QtMediaServices::Title}
-*/
-
-/*!
- \qmlproperty variant Video::subTitle
-
- This property holds the sub-title of the media.
-
- \sa {QtMediaServices::SubTitle}
-*/
-
-/*!
- \qmlproperty variant Video::author
-
- This property holds the author of the media.
-
- \sa {QtMediaServices::Author}
-*/
-
-/*!
- \qmlproperty variant Video::comment
-
- This property holds a user comment about the media.
-
- \sa {QtMediaServices::Comment}
-*/
-
-/*!
- \qmlproperty variant Video::description
-
- This property holds a description of the media.
-
- \sa {QtMediaServices::Description}
-*/
-
-/*!
- \qmlproperty variant Video::category
-
- This property holds the category of the media
-
- \sa {QtMediaServices::Category}
-*/
-
-/*!
- \qmlproperty variant Video::genre
-
- This property holds the genre of the media.
-
- \sa {QtMediaServices::Genre}
-*/
-
-/*!
- \qmlproperty variant Video::year
-
- This property holds the year of release of the media.
-
- \sa {QtMediaServices::Year}
-*/
-
-/*!
- \qmlproperty variant Video::date
-
- This property holds the date of the media.
-
- \sa {QtMediaServices::Date}
-*/
-
-/*!
- \qmlproperty variant Video::userRating
-
- This property holds a user rating of the media in the range of 0 to 100.
-
- \sa {QtMediaServices::UserRating}
-*/
-
-/*!
- \qmlproperty variant Video::keywords
-
- This property holds a list of keywords describing the media.
-
- \sa {QtMediaServices::Keywords}
-*/
-
-/*!
- \qmlproperty variant Video::language
-
- This property holds the language of the media, as an ISO 639-2 code.
-
- \sa {QtMediaServices::Language}
-*/
-
-/*!
- \qmlproperty variant Video::publisher
-
- This property holds the publisher of the media.
-
- \sa {QtMediaServices::Publisher}
-*/
-
-/*!
- \qmlproperty variant Video::copyright
-
- This property holds the media's copyright notice.
-
- \sa {QtMediaServices::Copyright}
-*/
-
-/*!
- \qmlproperty variant Video::parentalRating
-
- This property holds the parental rating of the media.
-
- \sa {QtMediaServices::ParentalRating}
-*/
-
-/*!
- \qmlproperty variant Video::ratingOrganisation
-
- This property holds the name of the rating organisation responsible for the
- parental rating of the media.
-
- \sa {QtMediaServices::RatingOrganisation}
-*/
-
-/*!
- \qmlproperty variant Video::size
-
- This property property holds the size of the media in bytes.
-
- \sa {QtMediaServices::Size}
-*/
-
-/*!
- \qmlproperty variant Video::mediaType
-
- This property holds the type of the media.
-
- \sa {QtMediaServices::MediaType}
-*/
-
-/*!
- \qmlproperty variant Video::audioBitRate
-
- This property holds the bit rate of the media's audio stream ni bits per
- second.
-
- \sa {QtMediaServices::AudioBitRate}
-*/
-
-/*!
- \qmlproperty variant Video::audioCodec
-
- This property holds the encoding of the media audio stream.
-
- \sa {QtMediaServices::AudioCodec}
-*/
-
-/*!
- \qmlproperty variant Video::averageLevel
-
- This property holds the average volume level of the media.
-
- \sa {QtMediaServices::AverageLevel}
-*/
-
-/*!
- \qmlproperty variant Video::channelCount
-
- This property holds the number of channels in the media's audio stream.
-
- \sa {QtMediaServices::ChannelCount}
-*/
-
-/*!
- \qmlproperty variant Video::peakValue
-
- This property holds the peak volume of media's audio stream.
-
- \sa {QtMediaServices::PeakValue}
-*/
-
-/*!
- \qmlproperty variant Video::sampleRate
-
- This property holds the sample rate of the media's audio stream in hertz.
-
- \sa {QtMediaServices::SampleRate}
-*/
-
-/*!
- \qmlproperty variant Video::albumTitle
-
- This property holds the title of the album the media belongs to.
-
- \sa {QtMediaServices::AlbumTitle}
-*/
-
-/*!
- \qmlproperty variant Video::albumArtist
-
- This property holds the name of the principal artist of the album the media
- belongs to.
-
- \sa {QtMediaServices::AlbumArtist}
-*/
-
-/*!
- \qmlproperty variant Video::contributingArtist
-
- This property holds the names of artists contributing to the media.
-
- \sa {QtMediaServices::ContributingArtist}
-*/
-
-/*!
- \qmlproperty variant Video::composer
-
- This property holds the composer of the media.
-
- \sa {QtMediaServices::Composer}
-*/
-
-/*!
- \qmlproperty variant Video::conductor
-
- This property holds the conductor of the media.
-
- \sa {QtMediaServices::Conductor}
-*/
-
-/*!
- \qmlproperty variant Video::lyrics
-
- This property holds the lyrics to the media.
-
- \sa {QtMediaServices::Lyrics}
-*/
-
-/*!
- \qmlproperty variant Video::mood
-
- This property holds the mood of the media.
-
- \sa {QtMediaServices::Mood}
-*/
-
-/*!
- \qmlproperty variant Video::trackNumber
-
- This property holds the track number of the media.
-
- \sa {QtMediaServices::TrackNumber}
-*/
-
-/*!
- \qmlproperty variant Video::trackCount
-
- This property holds the number of track on the album containing the media.
-
- \sa {QtMediaServices::TrackNumber}
-*/
-
-/*!
- \qmlproperty variant Video::coverArtUrlSmall
-
- This property holds the URL of a small cover art image.
-
- \sa {QtMediaServices::CoverArtUrlSmall}
-*/
-
-/*!
- \qmlproperty variant Video::coverArtUrlLarge
-
- This property holds the URL of a large cover art image.
-
- \sa {QtMediaServices::CoverArtUrlLarge}
-*/
-
-/*!
- \qmlproperty variant Video::resolution
-
- This property holds the dimension of an image or video.
-
- \sa {QtMediaServices::Resolution}
-*/
-
-/*!
- \qmlproperty variant Video::pixelAspectRatio
-
- This property holds the pixel aspect ratio of an image or video.
-
- \sa {QtMediaServices::PixelAspectRatio}
-*/
-
-/*!
- \qmlproperty variant Video::videoFrameRate
-
- This property holds the frame rate of the media's video stream.
-
- \sa {QtMediaServices::VideoFrameRate}
-*/
-
-/*!
- \qmlproperty variant Video::videoBitRate
-
- This property holds the bit rate of the media's video stream in bits per
- second.
-
- \sa {QtMediaServices::VideoBitRate}
-*/
-
-/*!
- \qmlproperty variant Video::videoCodec
-
- This property holds the encoding of the media's video stream.
-
- \sa {QtMediaServices::VideoCodec}
-*/
-
-/*!
- \qmlproperty variant Video::posterUrl
-
- This property holds the URL of a poster image.
-
- \sa {QtMediaServices::PosterUrl}
-*/
-
-/*!
- \qmlproperty variant Video::chapterNumber
-
- This property holds the chapter number of the media.
-
- \sa {QtMediaServices::ChapterNumber}
-*/
-
-/*!
- \qmlproperty variant Video::director
-
- This property holds the director of the media.
-
- \sa {QtMediaServices::Director}
-*/
-
-/*!
- \qmlproperty variant Video::leadPerformer
-
- This property holds the lead performer in the media.
-
- \sa {QtMediaServices::LeadPerformer}
-*/
-
-/*!
- \qmlproperty variant Video::writer
-
- This property holds the writer of the media.
-
- \sa {QtMediaServices::Writer}
-*/
-
-// The remaining properties are related to photos, and are technically
-// available but will certainly never have values.
-#ifndef Q_QDOC
-
-/*!
- \qmlproperty variant Video::cameraManufacturer
-
- \sa {QtMediaServices::CameraManufacturer}
-*/
-
-/*!
- \qmlproperty variant Video::cameraModel
-
- \sa {QtMediaServices::CameraModel}
-*/
-
-/*!
- \qmlproperty variant Video::event
-
- \sa {QtMediaServices::Event}
-*/
-
-/*!
- \qmlproperty variant Video::subject
-
- \sa {QtMediaServices::Subject}
-*/
-
-/*!
- \qmlproperty variant Video::orientation
-
- \sa {QtMediaServices::Orientation}
-*/
-
-/*!
- \qmlproperty variant Video::exposureTime
-
- \sa {QtMediaServices::ExposureTime}
-*/
-
-/*!
- \qmlproperty variant Video::fNumber
-
- \sa {QtMediaServices::FNumber}
-*/
-
-/*!
- \qmlproperty variant Video::exposureProgram
-
- \sa {QtMediaServices::ExposureProgram}
-*/
-
-/*!
- \qmlproperty variant Video::isoSpeedRatings
-
- \sa {QtMediaServices::ISOSpeedRatings}
-*/
-
-/*!
- \qmlproperty variant Video::exposureBiasValue
-
- \sa {QtMediaServices::ExposureBiasValue}
-*/
-
-/*!
- \qmlproperty variant Video::dateTimeDigitized
-
- \sa {QtMediaServices::DateTimeDigitized}
-*/
-
-/*!
- \qmlproperty variant Video::subjectDistance
-
- \sa {QtMediaServices::SubjectDistance}
-*/
-
-/*!
- \qmlproperty variant Video::meteringMode
-
- \sa {QtMediaServices::MeteringMode}
-*/
-
-/*!
- \qmlproperty variant Video::lightSource
-
- \sa {QtMediaServices::LightSource}
-*/
-
-/*!
- \qmlproperty variant Video::flash
-
- \sa {QtMediaServices::Flash}
-*/
-
-/*!
- \qmlproperty variant Video::focalLength
-
- \sa {QtMediaServices::FocalLength}
-*/
-
-/*!
- \qmlproperty variant Video::exposureMode
-
- \sa {QtMediaServices::ExposureMode}
-*/
-
-/*!
- \qmlproperty variant Video::whiteBalance
-
- \sa {QtMediaServices::WhiteBalance}
-*/
-
-/*!
- \qmlproperty variant Video::DigitalZoomRatio
-
- \sa {QtMediaServices::DigitalZoomRatio}
-*/
-
-/*!
- \qmlproperty variant Video::focalLengthIn35mmFilm
-
- \sa {QtMediaServices::FocalLengthIn35mmFile}
-*/
-
-/*!
- \qmlproperty variant Video::sceneCaptureType
-
- \sa {QtMediaServices::SceneCaptureType}
-*/
-
-/*!
- \qmlproperty variant Video::gainControl
-
- \sa {QtMediaServices::GainControl}
-*/
-
-/*!
- \qmlproperty variant Video::contrast
-
- \sa {QtMediaServices::contrast}
-*/
-
-/*!
- \qmlproperty variant Video::saturation
-
- \sa {QtMediaServices::Saturation}
-*/
-
-/*!
- \qmlproperty variant Video::sharpness
-
- \sa {QtMediaServices::Sharpness}
-*/
-
-/*!
- \qmlproperty variant Video::deviceSettingDescription
-
- \sa {QtMediaServices::DeviceSettingDescription}
-*/
-
-#endif
-
-#include "moc_qdeclarativevideo_p.cpp"
diff --git a/src/imports/multimedia/qdeclarativevideo_p.h b/src/imports/multimedia/qdeclarativevideo_p.h
deleted file mode 100644
index c048b7d066..0000000000
--- a/src/imports/multimedia/qdeclarativevideo_p.h
+++ /dev/null
@@ -1,207 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the plugins of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QDECLARATIVEVIDEO_H
-#define QDECLARATIVEVIDEO_H
-
-//
-// W A R N I N G
-// -------------
-//
-// This file is not part of the Qt API. It exists for the convenience
-// of other Qt classes. This header file may change from version to
-// version without notice, or even be removed.
-//
-// We mean it.
-//
-
-#include "qdeclarativemediabase_p.h"
-
-#include <QtMediaServices/qgraphicsvideoitem.h>
-
-#include <QtCore/qbasictimer.h>
-#include <QtDeclarative/qdeclarativeitem.h>
-
-
-QT_BEGIN_HEADER
-
-QT_BEGIN_NAMESPACE
-
-class QTimerEvent;
-class QVideoSurfaceFormat;
-
-
-class QDeclarativeVideo : public QDeclarativeItem, public QDeclarativeMediaBase
-{
- Q_OBJECT
- Q_PROPERTY(QUrl source READ source WRITE setSource NOTIFY sourceChanged)
- Q_PROPERTY(bool autoLoad READ isAutoLoad WRITE setAutoLoad NOTIFY autoLoadChanged)
- Q_PROPERTY(bool playing READ isPlaying WRITE setPlaying NOTIFY playingChanged)
- Q_PROPERTY(bool paused READ isPaused WRITE setPaused NOTIFY pausedChanged)
- Q_PROPERTY(Status status READ status NOTIFY statusChanged)
- Q_PROPERTY(int duration READ duration NOTIFY durationChanged)
- Q_PROPERTY(int position READ position WRITE setPosition NOTIFY positionChanged)
- Q_PROPERTY(qreal volume READ volume WRITE setVolume NOTIFY volumeChanged)
- Q_PROPERTY(bool muted READ isMuted WRITE setMuted NOTIFY mutedChanged)
- Q_PROPERTY(bool hasAudio READ hasAudio NOTIFY hasAudioChanged)
- Q_PROPERTY(bool hasVideo READ hasVideo NOTIFY hasVideoChanged)
- Q_PROPERTY(int bufferProgress READ bufferProgress NOTIFY bufferProgressChanged)
- Q_PROPERTY(bool seekable READ isSeekable NOTIFY seekableChanged)
- Q_PROPERTY(qreal playbackRate READ playbackRate WRITE setPlaybackRate NOTIFY playbackRateChanged)
- Q_PROPERTY(Error error READ error NOTIFY errorChanged)
- Q_PROPERTY(QString errorString READ errorString NOTIFY errorChanged)
- Q_PROPERTY(FillMode fillMode READ fillMode WRITE setFillMode)
- Q_ENUMS(FillMode)
- Q_ENUMS(Status)
- Q_ENUMS(Error)
-public:
- enum FillMode
- {
- Stretch = Qt::IgnoreAspectRatio,
- PreserveAspectFit = Qt::KeepAspectRatio,
- PreserveAspectCrop = Qt::KeepAspectRatioByExpanding
- };
-
- enum Status
- {
- UnknownStatus = QMediaPlayer::UnknownMediaStatus,
- NoMedia = QMediaPlayer::NoMedia,
- Loading = QMediaPlayer::LoadingMedia,
- Loaded = QMediaPlayer::LoadedMedia,
- Stalled = QMediaPlayer::StalledMedia,
- Buffering = QMediaPlayer::BufferingMedia,
- Buffered = QMediaPlayer::BufferedMedia,
- EndOfMedia = QMediaPlayer::EndOfMedia,
- InvalidMedia = QMediaPlayer::InvalidMedia
- };
-
- enum Error
- {
- NoError = QMediaPlayer::NoError,
- ResourceError = QMediaPlayer::ResourceError,
- FormatError = QMediaPlayer::FormatError,
- NetworkError = QMediaPlayer::NetworkError,
- AccessDenied = QMediaPlayer::AccessDeniedError,
- ServiceMissing = QMediaPlayer::ServiceMissingError
- };
-
- QDeclarativeVideo(QDeclarativeItem *parent = 0);
- ~QDeclarativeVideo();
-
- bool hasAudio() const;
- bool hasVideo() const;
-
- FillMode fillMode() const;
- void setFillMode(FillMode mode);
-
- Status status() const;
- Error error() const;
-
- void paint(QPainter *, const QStyleOptionGraphicsItem *, QWidget *);
-
- void componentComplete();
-
-public Q_SLOTS:
- void play();
- void pause();
- void stop();
-
-Q_SIGNALS:
- void sourceChanged();
- void autoLoadChanged();
- void playingChanged();
- void pausedChanged();
-
- void started();
- void resumed();
- void paused();
- void stopped();
-
- void statusChanged();
-
- void loaded();
- void buffering();
- void stalled();
- void buffered();
- void endOfMedia();
-
- void durationChanged();
- void positionChanged();
-
- void volumeChanged();
- void mutedChanged();
- void hasAudioChanged();
- void hasVideoChanged();
-
- void bufferProgressChanged();
-
- void seekableChanged();
- void playbackRateChanged();
-
- void errorChanged();
- void error(QDeclarativeVideo::Error error, const QString &errorString);
-
-protected:
- void geometryChanged(const QRectF &geometry, const QRectF &);
-
-private Q_SLOTS:
- void _q_nativeSizeChanged(const QSizeF &size);
- void _q_error(int, const QString &);
-
-private:
- Q_DISABLE_COPY(QDeclarativeVideo)
-
- QGraphicsVideoItem *m_graphicsItem;
-
- Q_PRIVATE_SLOT(mediaBase(), void _q_stateChanged(QMediaPlayer::State))
- Q_PRIVATE_SLOT(mediaBase(), void _q_mediaStatusChanged(QMediaPlayer::MediaStatus))
- Q_PRIVATE_SLOT(mediaBase(), void _q_metaDataChanged())
-
- inline QDeclarativeMediaBase *mediaBase() { return this; }
-};
-
-QT_END_NAMESPACE
-
-QML_DECLARE_TYPE(QT_PREPEND_NAMESPACE(QDeclarativeVideo))
-
-QT_END_HEADER
-
-#endif
diff --git a/src/imports/multimedia/qmetadatacontrolmetaobject.cpp b/src/imports/multimedia/qmetadatacontrolmetaobject.cpp
deleted file mode 100644
index 5235a87ac8..0000000000
--- a/src/imports/multimedia/qmetadatacontrolmetaobject.cpp
+++ /dev/null
@@ -1,362 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the plugins of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "qmetadatacontrolmetaobject_p.h"
-#include <QtMediaServices/qmetadatacontrol.h>
-
-
-QT_BEGIN_NAMESPACE
-
-// copied from qmetaobject.cpp
-// do not touch without touching the moc as well
-enum PropertyFlags {
- Invalid = 0x00000000,
- Readable = 0x00000001,
- Writable = 0x00000002,
- Resettable = 0x00000004,
- EnumOrFlag = 0x00000008,
- StdCppSet = 0x00000100,
-// Override = 0x00000200,
- Designable = 0x00001000,
- ResolveDesignable = 0x00002000,
- Scriptable = 0x00004000,
- ResolveScriptable = 0x00008000,
- Stored = 0x00010000,
- ResolveStored = 0x00020000,
- Editable = 0x00040000,
- ResolveEditable = 0x00080000,
- User = 0x00100000,
- ResolveUser = 0x00200000,
- Notify = 0x00400000,
- Dynamic = 0x00800000
-};
-
-enum MethodFlags {
- AccessPrivate = 0x00,
- AccessProtected = 0x01,
- AccessPublic = 0x02,
- AccessMask = 0x03, //mask
-
- MethodMethod = 0x00,
- MethodSignal = 0x04,
- MethodSlot = 0x08,
- MethodConstructor = 0x0c,
- MethodTypeMask = 0x0c,
-
- MethodCompatibility = 0x10,
- MethodCloned = 0x20,
- MethodScriptable = 0x40
-};
-
-struct QMetaObjectPrivate
-{
- int revision;
- int className;
- int classInfoCount, classInfoData;
- int methodCount, methodData;
- int propertyCount, propertyData;
- int enumeratorCount, enumeratorData;
- int constructorCount, constructorData;
- int flags;
-};
-
-static inline const QMetaObjectPrivate *priv(const uint* m_data)
-{ return reinterpret_cast<const QMetaObjectPrivate*>(m_data); }
-// end of copied lines from qmetaobject.cpp
-
-namespace
-{
- struct MetaDataKey
- {
- QtMediaServices::MetaData key;
- const char *name;
- };
-
- const MetaDataKey qt_metaDataKeys[] =
- {
- { QtMediaServices::Title, "title" },
- { QtMediaServices::SubTitle, "subTitle" },
- { QtMediaServices::Author, "author" },
- { QtMediaServices::Comment, "comment" },
- { QtMediaServices::Description, "description" },
- { QtMediaServices::Category, "category" },
- { QtMediaServices::Genre, "genre" },
- { QtMediaServices::Year, "year" },
- { QtMediaServices::Date, "date" },
- { QtMediaServices::UserRating, "userRating" },
- { QtMediaServices::Keywords, "keywords" },
- { QtMediaServices::Language, "language" },
- { QtMediaServices::Publisher, "publisher" },
- { QtMediaServices::Copyright, "copyright" },
- { QtMediaServices::ParentalRating, "parentalRating" },
- { QtMediaServices::RatingOrganisation, "ratingOrganisation" },
-
- // Media
- { QtMediaServices::Size, "size" },
- { QtMediaServices::MediaType, "mediaType" },
-// { QtMediaServices::Duration, "duration" },
-
- // Audio
- { QtMediaServices::AudioBitRate, "audioBitRate" },
- { QtMediaServices::AudioCodec, "audioCodec" },
- { QtMediaServices::AverageLevel, "averageLevel" },
- { QtMediaServices::ChannelCount, "channelCount" },
- { QtMediaServices::PeakValue, "peakValue" },
- { QtMediaServices::SampleRate, "sampleRate" },
-
- // Music
- { QtMediaServices::AlbumTitle, "albumTitle" },
- { QtMediaServices::AlbumArtist, "albumArtist" },
- { QtMediaServices::ContributingArtist, "contributingArtist" },
- { QtMediaServices::Composer, "composer" },
- { QtMediaServices::Conductor, "conductor" },
- { QtMediaServices::Lyrics, "lyrics" },
- { QtMediaServices::Mood, "mood" },
- { QtMediaServices::TrackNumber, "trackNumber" },
- { QtMediaServices::TrackCount, "trackCount" },
-
- { QtMediaServices::CoverArtUrlSmall, "coverArtUrlSmall" },
- { QtMediaServices::CoverArtUrlLarge, "coverArtUrlLarge" },
-
- // Image/Video
- { QtMediaServices::Resolution, "resolution" },
- { QtMediaServices::PixelAspectRatio, "pixelAspectRatio" },
-
- // Video
- { QtMediaServices::VideoFrameRate, "videoFrameRate" },
- { QtMediaServices::VideoBitRate, "videoBitRate" },
- { QtMediaServices::VideoCodec, "videoCodec" },
-
- { QtMediaServices::PosterUrl, "posterUrl" },
-
- // Movie
- { QtMediaServices::ChapterNumber, "chapterNumber" },
- { QtMediaServices::Director, "director" },
- { QtMediaServices::LeadPerformer, "leadPerformer" },
- { QtMediaServices::Writer, "writer" },
-
- // Photos
- { QtMediaServices::CameraManufacturer, "cameraManufacturer" },
- { QtMediaServices::CameraModel, "cameraModel" },
- { QtMediaServices::Event, "event" },
- { QtMediaServices::Subject, "subject" },
- { QtMediaServices::Orientation, "orientation" },
- { QtMediaServices::ExposureTime, "exposureTime" },
- { QtMediaServices::FNumber, "fNumber" },
- { QtMediaServices::ExposureProgram, "exposureProgram" },
- { QtMediaServices::ISOSpeedRatings, "isoSpeedRatings" },
- { QtMediaServices::ExposureBiasValue, "exposureBiasValue" },
- { QtMediaServices::DateTimeOriginal, "dateTimeOriginal" },
- { QtMediaServices::DateTimeDigitized, "dateTimeDigitized" },
- { QtMediaServices::SubjectDistance, "subjectDistance" },
- { QtMediaServices::MeteringMode, "meteringMode" },
- { QtMediaServices::LightSource, "lightSource" },
- { QtMediaServices::Flash, "flash" },
- { QtMediaServices::FocalLength, "focalLength" },
- { QtMediaServices::ExposureMode, "exposureMode" },
- { QtMediaServices::WhiteBalance, "whiteBalance" },
- { QtMediaServices::DigitalZoomRatio, "digitalZoomRatio" },
- { QtMediaServices::FocalLengthIn35mmFilm, "focalLengthIn35mmFilm" },
- { QtMediaServices::SceneCaptureType, "sceneCaptureType" },
- { QtMediaServices::GainControl, "gainControl" },
- { QtMediaServices::Contrast, "contrast" },
- { QtMediaServices::Saturation, "saturation" },
- { QtMediaServices::Sharpness, "sharpness" },
- { QtMediaServices::DeviceSettingDescription, "deviceSettingDescription" }
- };
-
- class QMetaDataControlObject : public QObject
- {
- public:
- inline QObjectData *data() { return d_ptr.data(); }
- };
-}
-
-QMetaDataControlMetaObject::QMetaDataControlMetaObject(QMetaDataControl *control, QObject *object)
- : m_control(control)
- , m_object(object)
- , m_string(0)
- , m_data(0)
- , m_propertyOffset(0)
- , m_signalOffset(0)
-{
- const QMetaObject *superClass = m_object->metaObject();
-
- const int propertyCount = sizeof(qt_metaDataKeys) / sizeof(MetaDataKey);
- const int dataSize = sizeof(uint)
- * (13 // QMetaObjectPrivate members.
- + 5 // 5 members per signal.
- + 4 * propertyCount // 3 members per property + 1 notify signal per property.
- + 1); // Terminating value.
-
- m_data = reinterpret_cast<uint *>(qMalloc(dataSize));
-
- QMetaObjectPrivate *pMeta = reinterpret_cast<QMetaObjectPrivate *>(m_data);
-
- pMeta->revision = 3;
- pMeta->className = 0;
- pMeta->classInfoCount = 0;
- pMeta->classInfoData = 0;
- pMeta->methodCount = 1;
- pMeta->methodData = 13;
- pMeta->propertyCount = propertyCount;
- pMeta->propertyData = 18;
- pMeta->enumeratorCount = 0;
- pMeta->enumeratorData = 0;
- pMeta->constructorCount = 0;
- pMeta->constructorData = 0;
- pMeta->flags = 0x01; // Dynamic meta object flag.
-
- const int classNameSize = qstrlen(superClass->className()) + 1;
-
- int stringIndex = classNameSize + 1;
-
- // __metaDataChanged() signal.
- static const char *changeSignal = "__metaDataChanged()";
- const int changeSignalSize = qstrlen(changeSignal) + 1;
-
- m_data[13] = stringIndex; // Signature.
- m_data[14] = classNameSize; // Parameters.
- m_data[15] = classNameSize; // Type.
- m_data[16] = classNameSize; // Tag.
- m_data[17] = MethodSignal | AccessProtected; // Flags.
-
- stringIndex += changeSignalSize;
-
- const char *qvariantName = "QVariant";
- const int qvariantSize = qstrlen(qvariantName) + 1;
- const int qvariantIndex = stringIndex;
-
- stringIndex += qvariantSize;
-
- // Properties.
- for (int i = 0; i < propertyCount; ++i) {
- m_data[18 + 3 * i] = stringIndex; // Name.
- m_data[19 + 3 * i] = qvariantIndex; // Type.
- m_data[20 + 3 * i]
- = Readable | Writable | Notify | Dynamic | (0xffffffff << 24); // Flags.
- m_data[18 + propertyCount * 3 + i] = 0; // Notify signal.
-
- stringIndex += qstrlen(qt_metaDataKeys[i].name) + 1;
- }
-
- // Terminating value.
- m_data[18 + propertyCount * 4] = 0;
-
- // Build string.
- m_string = reinterpret_cast<char *>(qMalloc(stringIndex + 1));
-
- // Class name.
- qMemCopy(m_string, superClass->className(), classNameSize);
-
- stringIndex = classNameSize;
-
- // Null m_string.
- m_string[stringIndex] = '\0';
- stringIndex += 1;
-
- // __metaDataChanged() signal.
- qMemCopy(m_string + stringIndex, changeSignal, changeSignalSize);
- stringIndex += changeSignalSize;
-
- qMemCopy(m_string + stringIndex, qvariantName, qvariantSize);
- stringIndex += qvariantSize;
-
- // Properties.
- for (int i = 0; i < propertyCount; ++i) {
- const int propertyNameSize = qstrlen(qt_metaDataKeys[i].name) + 1;
-
- qMemCopy(m_string + stringIndex, qt_metaDataKeys[i].name, propertyNameSize);
- stringIndex += propertyNameSize;
- }
-
- // Terminating character.
- m_string[stringIndex] = '\0';
-
- d.superdata = superClass;
- d.stringdata = m_string;
- d.data = m_data;
- d.extradata = 0;
-
- static_cast<QMetaDataControlObject *>(m_object)->data()->metaObject = this;
-
- m_propertyOffset = propertyOffset();
- m_signalOffset = methodOffset();
-}
-
-QMetaDataControlMetaObject::~QMetaDataControlMetaObject()
-{
- static_cast<QMetaDataControlObject *>(m_object)->data()->metaObject = 0;
-
- qFree(m_data);
- qFree(m_string);
-}
-
-int QMetaDataControlMetaObject::metaCall(QMetaObject::Call c, int id, void **a)
-{
- if (c == QMetaObject::ReadProperty && id >= m_propertyOffset) {
- int propId = id - m_propertyOffset;
-
- *reinterpret_cast<QVariant *>(a[0]) = m_control->metaData(qt_metaDataKeys[propId].key);
-
- return -1;
- } else if (c == QMetaObject::WriteProperty && id >= m_propertyOffset) {
- int propId = id - m_propertyOffset;
-
- m_control->setMetaData(qt_metaDataKeys[propId].key, *reinterpret_cast<QVariant *>(a[0]));
-
- return -1;
- } else {
- return m_object->qt_metacall(c, id, a);
- }
-}
-
-int QMetaDataControlMetaObject::createProperty(const char *, const char *)
-{
- return -1;
-}
-
-void QMetaDataControlMetaObject::metaDataChanged()
-{
- activate(m_object, m_signalOffset, 0);
-}
-
-QT_END_NAMESPACE
diff --git a/src/imports/multimedia/qmetadatacontrolmetaobject_p.h b/src/imports/multimedia/qmetadatacontrolmetaobject_p.h
deleted file mode 100644
index bbbc6fe76a..0000000000
--- a/src/imports/multimedia/qmetadatacontrolmetaobject_p.h
+++ /dev/null
@@ -1,92 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the plugins of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QMETADATACONTROLMETAOBJECT_P_H
-#define QMETADATACONTROLMETAOJBECT_P_H
-
-//
-// W A R N I N G
-// -------------
-//
-// This file is not part of the Qt API. It exists for the convenience
-// of other Qt classes. This header file may change from version to
-// version without notice, or even be removed.
-//
-// We mean it.
-//
-
-#include <QtCore/qmetaobject.h>
-#include <QtMediaServices/qtmedianamespace.h>
-
-#include <QtCore/private/qobject_p.h>
-
-QT_BEGIN_HEADER
-
-QT_BEGIN_NAMESPACE
-
-class QMetaDataControl;
-
-class QMetaDataControlMetaObject : public QAbstractDynamicMetaObject
-{
-public:
- QMetaDataControlMetaObject(QMetaDataControl *control, QObject *object);
- ~QMetaDataControlMetaObject();
-
- int metaCall(QMetaObject::Call call, int _id, void **arguments);
- int createProperty(const char *, const char *);
-
- void metaDataChanged();
-
-private:
- QMetaDataControl *m_control;
- QObject *m_object;
- char *m_string;
- uint *m_data;
-
- int m_propertyOffset;
- int m_signalOffset;
-};
-
-QT_END_NAMESPACE
-
-QT_END_HEADER
-
-#endif
diff --git a/src/imports/multimedia/qmldir b/src/imports/multimedia/qmldir
deleted file mode 100644
index 0e6f6563f6..0000000000
--- a/src/imports/multimedia/qmldir
+++ /dev/null
@@ -1 +0,0 @@
-plugin multimedia
diff --git a/src/imports/particles/particles.cpp b/src/imports/particles/particles.cpp
index ae3f3187e0..ca2b0609cb 100644
--- a/src/imports/particles/particles.cpp
+++ b/src/imports/particles/particles.cpp
@@ -65,5 +65,5 @@ QT_END_NAMESPACE
#include "particles.moc"
-Q_EXPORT_PLUGIN2(particlesqmlmodule, QT_PREPEND_NAMESPACE(QParticlesQmlModule));
+Q_EXPORT_PLUGIN2(qmlparticlesplugin, QT_PREPEND_NAMESPACE(QParticlesQmlModule));
diff --git a/src/imports/particles/particles.pro b/src/imports/particles/particles.pro
index 79ac5437b4..9fd4db5dec 100644
--- a/src/imports/particles/particles.pro
+++ b/src/imports/particles/particles.pro
@@ -1,4 +1,4 @@
-TARGET = particles
+TARGET = qmlparticlesplugin
TARGETPATH = Qt/labs/particles
include(../qimportbase.pri)
@@ -21,7 +21,7 @@ symbian:{
load(data_caging_paths)
include($$QT_SOURCE_TREE/demos/symbianpkgrules.pri)
- importFiles.sources = particles.dll qmldir
+ importFiles.sources = qmlparticlesplugin.dll qmldir
importFiles.path = $$QT_IMPORTS_BASE_DIR/$$TARGETPATH
DEPLOYMENT = importFiles
diff --git a/src/imports/particles/qdeclarativeparticles.cpp b/src/imports/particles/qdeclarativeparticles.cpp
index ecc6604aef..630c068b6e 100644
--- a/src/imports/particles/qdeclarativeparticles.cpp
+++ b/src/imports/particles/qdeclarativeparticles.cpp
@@ -241,11 +241,13 @@ void QDeclarativeParticleMotionGravity::setAcceleration(qreal accel)
void QDeclarativeParticleMotionGravity::advance(QDeclarativeParticle &p, int interval)
{
- qreal xdiff = p.x - _xAttr;
- qreal ydiff = p.y - _yAttr;
+ qreal xdiff = _xAttr - p.x;
+ qreal ydiff = _yAttr - p.y;
+ qreal absXdiff = qAbs(xdiff);
+ qreal absYdiff = qAbs(ydiff);
- qreal xcomp = xdiff / (xdiff + ydiff);
- qreal ycomp = ydiff / (xdiff + ydiff);
+ qreal xcomp = xdiff / (absXdiff + absYdiff);
+ qreal ycomp = ydiff / (absXdiff + absYdiff);
p.x_velocity += xcomp * _accel * interval;
p.y_velocity += ycomp * _accel * interval;
@@ -1284,11 +1286,7 @@ void QDeclarativeParticlesPainter::paint(QPainter *p, const QStyleOptionGraphics
const int myX = x() + parentItem()->x();
const int myY = y() + parentItem()->y();
-#if (QT_VERSION >= QT_VERSION_CHECK(4,7,0))
QVarLengthArray<QPainter::PixmapFragment, 256> pixmapData;
-#else
- QVarLengthArray<QDrawPixmaps::Data, 256> pixmapData;
-#endif
pixmapData.resize(d->particles.count());
const QRectF sourceRect = d->image.rect();
@@ -1296,32 +1294,20 @@ void QDeclarativeParticlesPainter::paint(QPainter *p, const QStyleOptionGraphics
qreal halfPHeight = sourceRect.height()/2.;
for (int i = 0; i < d->particles.count(); ++i) {
const QDeclarativeParticle &particle = d->particles.at(i);
-#if (QT_VERSION >= QT_VERSION_CHECK(4,7,0))
pixmapData[i].x = particle.x - myX + halfPWidth;
pixmapData[i].y = particle.y - myY + halfPHeight;
-#else
- pixmapData[i].point = QPointF(particle.x - myX + halfPWidth, particle.y - myY + halfPHeight);
-#endif
pixmapData[i].opacity = particle.opacity;
//these never change
pixmapData[i].rotation = 0;
pixmapData[i].scaleX = 1;
pixmapData[i].scaleY = 1;
-#if (QT_VERSION >= QT_VERSION_CHECK(4,7,0))
pixmapData[i].sourceLeft = sourceRect.left();
pixmapData[i].sourceTop = sourceRect.top();
pixmapData[i].width = sourceRect.width();
pixmapData[i].height = sourceRect.height();
-#else
- pixmapData[i].source = sourceRect;
-#endif
}
-#if (QT_VERSION >= QT_VERSION_CHECK(4,7,0))
p->drawPixmapFragments(pixmapData.data(), d->particles.count(), d->image);
-#else
- qDrawPixmaps(p, pixmapData.data(), d->particles.count(), d->image);
-#endif
}
void QDeclarativeParticles::componentComplete()
diff --git a/src/imports/particles/qmldir b/src/imports/particles/qmldir
index 15456bbcce..aeebd2c99b 100644
--- a/src/imports/particles/qmldir
+++ b/src/imports/particles/qmldir
@@ -1 +1 @@
-plugin particles
+plugin qmlparticlesplugin
diff --git a/src/imports/qimportbase.pri b/src/imports/qimportbase.pri
index 91f6552cfb..0f70030dac 100644
--- a/src/imports/qimportbase.pri
+++ b/src/imports/qimportbase.pri
@@ -1,3 +1,4 @@
+symbian:include(../plugins/qpluginbase.pri)
TEMPLATE = lib
CONFIG += qt plugin
@@ -17,6 +18,8 @@ copy2build.output = $$QT_BUILD_TREE/imports/$$TARGETPATH/qmldir
copy2build.commands = $$QMAKE_COPY ${QMAKE_FILE_IN} ${QMAKE_FILE_OUT}
copy2build.name = COPY ${QMAKE_FILE_IN}
copy2build.CONFIG += no_link
+# `clean' should leave the build in a runnable state, which means it shouldn't delete qmldir
+copy2build.CONFIG += no_clean
QMAKE_EXTRA_COMPILERS += copy2build
TARGET = $$qtLibraryTarget($$TARGET)
diff --git a/src/imports/webkit/plugin.cpp b/src/imports/webkit/plugin.cpp
index e3d73ec67e..c8e56baf37 100644
--- a/src/imports/webkit/plugin.cpp
+++ b/src/imports/webkit/plugin.cpp
@@ -63,5 +63,5 @@ QT_END_NAMESPACE
#include "plugin.moc"
-Q_EXPORT_PLUGIN2(webkitqmlplugin, QT_PREPEND_NAMESPACE(WebKitQmlPlugin));
+Q_EXPORT_PLUGIN2(qmlwebkitplugin, QT_PREPEND_NAMESPACE(WebKitQmlPlugin));
diff --git a/src/imports/webkit/qdeclarativewebview.cpp b/src/imports/webkit/qdeclarativewebview.cpp
index 5db812cf95..383f1cef7e 100644
--- a/src/imports/webkit/qdeclarativewebview.cpp
+++ b/src/imports/webkit/qdeclarativewebview.cpp
@@ -42,11 +42,9 @@
#include "qdeclarativewebview_p.h"
#include "qdeclarativewebview_p_p.h"
-#include <private/qdeclarativepainteditem_p_p.h>
-
#include <qdeclarative.h>
#include <qdeclarativeengine.h>
-#include <private/qdeclarativestate_p.h>
+#include <qdeclarativecontext.h>
#include <QDebug>
#include <QPen>
@@ -61,29 +59,29 @@
#include <QtWebKit/QWebFrame>
#include <QtWebKit/QWebElement>
#include <QtWebKit/QWebSettings>
-#include <private/qlistmodelinterface_p.h>
QT_BEGIN_NAMESPACE
static const int MAX_DOUBLECLICK_TIME=500; // XXX need better gesture system
-class QDeclarativeWebViewPrivate : public QDeclarativePaintedItemPrivate
+class QDeclarativeWebViewPrivate
{
- Q_DECLARE_PUBLIC(QDeclarativeWebView)
-
public:
- QDeclarativeWebViewPrivate()
- : QDeclarativePaintedItemPrivate(), page(0), preferredwidth(0), preferredheight(0),
+ QDeclarativeWebViewPrivate(QDeclarativeWebView* qq)
+ : q(qq), page(0), preferredwidth(0), preferredheight(0),
progress(1.0), status(QDeclarativeWebView::Null), pending(PendingNone),
newWindowComponent(0), newWindowParent(0),
pressTime(400),
rendering(true)
{
+ QObject::connect(q, SIGNAL(focusChanged(bool)), q, SLOT(propagateFocusToWebPage(bool)));
}
- void focusChanged(bool);
+
+ QDeclarativeWebView *q;
QUrl url; // page url might be different if it has not loaded yet
QWebPage *page;
+ QGraphicsWebView* view;
int preferredwidth, preferredheight;
qreal progress;
@@ -101,7 +99,6 @@ public:
QPoint pressPoint;
int pressTime; // milliseconds before it's a "hold"
-
static void windowObjects_append(QDeclarativeListProperty<QObject> *prop, QObject *o) {
static_cast<QDeclarativeWebViewPrivate *>(prop->data)->windowObjects.append(o);
static_cast<QDeclarativeWebViewPrivate *>(prop->data)->updateWindowObjects();
@@ -129,6 +126,9 @@ public:
dynamically adjust to a size appropriate for the content.
This width may be large for typical online web pages.
+ If the width or height is explictly set, the rendered website
+ will be clipped, not scaled, to fit into the set dimensions.
+
If the preferredWidth is set, the width will be this amount or larger,
usually laying out the web content to fit the preferredWidth.
@@ -137,8 +137,8 @@ public:
WebView {
url: "http://www.nokia.com"
- width: 490
- height: 400
+ preferredWidth: 490
+ preferredHeight: 400
scale: 0.5
smooth: false
smoothCache: true
@@ -150,6 +150,9 @@ public:
The item includes no scrolling, scaling,
toolbars, etc., those must be implemented around WebView. See the WebBrowser example
for a demonstration of this.
+
+ When this item has keyboard focus, all keyboard input will be sent directly to the
+ web page within.
*/
/*!
@@ -169,34 +172,39 @@ public:
*/
QDeclarativeWebView::QDeclarativeWebView(QDeclarativeItem *parent)
- : QDeclarativePaintedItem(*(new QDeclarativeWebViewPrivate), parent)
+ : QDeclarativeItem(parent)
{
init();
}
QDeclarativeWebView::~QDeclarativeWebView()
{
- Q_D(QDeclarativeWebView);
delete d->page;
+ delete d;
}
void QDeclarativeWebView::init()
{
- Q_D(QDeclarativeWebView);
+ d = new QDeclarativeWebViewPrivate(this);
QWebSettings::enablePersistentStorage();
setAcceptHoverEvents(true);
setAcceptedMouseButtons(Qt::LeftButton);
- setFlag(QGraphicsItem::ItemHasNoContents, false);
+ setFlag(QGraphicsItem::ItemHasNoContents, true);
+ setClip(true);
d->page = 0;
+ d->view = new QGraphicsWebView(this);
+ d->view->setResizesToContents(true);
+ d->view->setFlag(QGraphicsItem::ItemStacksBehindParent, true);
+ connect(d->view, SIGNAL(geometryChanged()), this, SLOT(updateDeclarativeWebViewSize()));
+ connect(d->view, SIGNAL(scaleChanged()), this, SIGNAL(contentsScaleChanged()));
}
void QDeclarativeWebView::componentComplete()
{
- QDeclarativePaintedItem::componentComplete();
- Q_D(QDeclarativeWebView);
+ QDeclarativeItem::componentComplete();
switch (d->pending) {
case QDeclarativeWebViewPrivate::PendingUrl:
setUrl(d->pending_url);
@@ -216,7 +224,6 @@ void QDeclarativeWebView::componentComplete()
QDeclarativeWebView::Status QDeclarativeWebView::status() const
{
- Q_D(const QDeclarativeWebView);
return d->status;
}
@@ -230,13 +237,11 @@ QDeclarativeWebView::Status QDeclarativeWebView::status() const
*/
qreal QDeclarativeWebView::progress() const
{
- Q_D(const QDeclarativeWebView);
return d->progress;
}
void QDeclarativeWebView::doLoadStarted()
{
- Q_D(QDeclarativeWebView);
if (!d->url.isEmpty()) {
d->status = Loading;
@@ -247,7 +252,6 @@ void QDeclarativeWebView::doLoadStarted()
void QDeclarativeWebView::doLoadProgress(int p)
{
- Q_D(QDeclarativeWebView);
if (d->progress == p/100.0)
return;
d->progress = p/100.0;
@@ -256,12 +260,7 @@ void QDeclarativeWebView::doLoadProgress(int p)
void QDeclarativeWebView::pageUrlChanged()
{
- Q_D(QDeclarativeWebView);
-
- page()->setViewportSize(QSize(
- d->preferredwidth>0 ? d->preferredwidth : width(),
- d->preferredheight>0 ? d->preferredheight : height()));
- expandToWebPage();
+ updateContentsSize();
if ((d->url.isEmpty() && page()->mainFrame()->url() != QUrl(QLatin1String("about:blank")))
|| (d->url != page()->mainFrame()->url() && !page()->mainFrame()->url().isEmpty()))
@@ -275,7 +274,6 @@ void QDeclarativeWebView::pageUrlChanged()
void QDeclarativeWebView::doLoadFinished(bool ok)
{
- Q_D(QDeclarativeWebView);
if (title().isEmpty())
pageUrlChanged(); // XXX bug 232556 - pages with no title never get urlChanged()
@@ -302,21 +300,17 @@ void QDeclarativeWebView::doLoadFinished(bool ok)
*/
QUrl QDeclarativeWebView::url() const
{
- Q_D(const QDeclarativeWebView);
return d->url;
}
void QDeclarativeWebView::setUrl(const QUrl &url)
{
- Q_D(QDeclarativeWebView);
if (url == d->url)
return;
if (isComponentComplete()) {
d->url = url;
- page()->setViewportSize(QSize(
- d->preferredwidth>0 ? d->preferredwidth : width(),
- d->preferredheight>0 ? d->preferredheight : height()));
+ updateContentsSize();
QUrl seturl = url;
if (seturl.isEmpty())
seturl = QUrl(QLatin1String("about:blank"));
@@ -338,16 +332,14 @@ void QDeclarativeWebView::setUrl(const QUrl &url)
*/
int QDeclarativeWebView::preferredWidth() const
{
- Q_D(const QDeclarativeWebView);
return d->preferredwidth;
}
void QDeclarativeWebView::setPreferredWidth(int iw)
{
- Q_D(QDeclarativeWebView);
if (d->preferredwidth == iw) return;
d->preferredwidth = iw;
- //expandToWebPage();
+ updateContentsSize();
emit preferredWidthChanged();
}
@@ -358,14 +350,14 @@ void QDeclarativeWebView::setPreferredWidth(int iw)
*/
int QDeclarativeWebView::preferredHeight() const
{
- Q_D(const QDeclarativeWebView);
return d->preferredheight;
}
+
void QDeclarativeWebView::setPreferredHeight(int ih)
{
- Q_D(QDeclarativeWebView);
if (d->preferredheight == ih) return;
d->preferredheight = ih;
+ updateContentsSize();
emit preferredHeightChanged();
}
@@ -383,82 +375,86 @@ QVariant QDeclarativeWebView::evaluateJavaScript(const QString &scriptSource)
return this->page()->mainFrame()->evaluateJavaScript(scriptSource);
}
-void QDeclarativeWebViewPrivate::focusChanged(bool hasFocus)
+void QDeclarativeWebView::propagateFocusToWebPage(bool hasFocus)
{
- Q_Q(QDeclarativeWebView);
QFocusEvent e(hasFocus ? QEvent::FocusIn : QEvent::FocusOut);
- q->page()->event(&e);
- QDeclarativeItemPrivate::focusChanged(hasFocus);
+ page()->event(&e);
}
-void QDeclarativeWebView::initialLayout()
+void QDeclarativeWebView::updateDeclarativeWebViewSize()
{
- // nothing useful to do at this point
+ QSizeF size = d->view->geometry().size() * contentsScale();
+ setImplicitWidth(size.width());
+ setImplicitHeight(size.height());
}
-void QDeclarativeWebView::noteContentsSizeChanged(const QSize&)
+void QDeclarativeWebView::initialLayout()
{
- expandToWebPage();
+ // nothing useful to do at this point
}
-void QDeclarativeWebView::expandToWebPage()
+void QDeclarativeWebView::updateContentsSize()
{
- Q_D(QDeclarativeWebView);
- QSize cs = page()->mainFrame()->contentsSize();
- if (cs.width() < d->preferredwidth)
- cs.setWidth(d->preferredwidth);
- if (cs.height() < d->preferredheight)
- cs.setHeight(d->preferredheight);
- if (widthValid())
- cs.setWidth(width());
- if (heightValid())
- cs.setHeight(height());
- if (cs != page()->viewportSize()) {
- page()->setViewportSize(cs);
- }
- if (cs != contentsSize())
- setContentsSize(cs);
+ if (d->page)
+ d->page->setPreferredContentsSize(QSize(
+ d->preferredwidth>0 ? d->preferredwidth : width(),
+ d->preferredheight>0 ? d->preferredheight : height()));
}
void QDeclarativeWebView::geometryChanged(const QRectF &newGeometry,
const QRectF &oldGeometry)
{
- if (newGeometry.size() != oldGeometry.size())
- expandToWebPage();
- QDeclarativePaintedItem::geometryChanged(newGeometry, oldGeometry);
-}
-
-void QDeclarativeWebView::paintPage(const QRect& r)
-{
- dirtyCache(r);
- update();
+ if (newGeometry.size() != oldGeometry.size() && d->page) {
+ QSize cs = d->page->preferredContentsSize();
+ if (widthValid())
+ cs.setWidth(width());
+ if (heightValid())
+ cs.setHeight(height());
+ if (cs != d->page->preferredContentsSize())
+ d->page->setPreferredContentsSize(cs);
+ }
+ QDeclarativeItem::geometryChanged(newGeometry, oldGeometry);
}
/*!
\qmlproperty list<object> WebView::javaScriptWindowObjects
- This property is a list of object that are available from within
- the webview's JavaScript context.
+ A list of QML objects to expose to the web page.
+
+ Each object will be added as a property of the web frame's window object. The
+ property name is controlled by the value of \c WebView.windowObjectName
+ attached property.
- The \a object will be inserted as a child of the frame's window
- object, under the name given by the attached property \c WebView.windowObjectName.
+ Exposing QML objects to a web page allows JavaScript executing in the web
+ page itself to communicate with QML, by reading and writing properties and
+ by calling methods of the exposed QML objects.
+
+ This example shows how to call into a QML method using a window object.
\qml
WebView {
- javaScriptWindowObjects: Object {
- WebView.windowObjectName: "coordinates"
+ javaScriptWindowObjects: QtObject {
+ WebView.windowObjectName: "qml"
+
+ function qmlCall() {
+ console.log("This call is in QML!");
+ }
}
+
+ html: "<script>console.log(\"This is in WebKit!\"); window.qml.qmlCall();</script>"
}
\endqml
- Properties of the object will be exposed as JavaScript properties and slots as
- JavaScript methods.
+ The output of the example will be:
+ \code
+ This is in WebKit!
+ This call is in QML!
+ \endcode
- If Javascript is not enabled for this page, then this property does nothing.
+ If Javascript is not enabled for the page, then this property does nothing.
*/
QDeclarativeListProperty<QObject> QDeclarativeWebView::javaScriptWindowObjects()
{
- Q_D(QDeclarativeWebView);
return QDeclarativeListProperty<QObject>(this, d, &QDeclarativeWebViewPrivate::windowObjects_append);
}
@@ -469,8 +465,7 @@ QDeclarativeWebViewAttached *QDeclarativeWebView::qmlAttachedProperties(QObject
void QDeclarativeWebViewPrivate::updateWindowObjects()
{
- Q_Q(QDeclarativeWebView);
- if (!q->isComponentComplete() || !page)
+ if (!q->isComponentCompletePublic() || !page)
return;
for (int ii = 0; ii < windowObjects.count(); ++ii) {
@@ -484,29 +479,17 @@ void QDeclarativeWebViewPrivate::updateWindowObjects()
bool QDeclarativeWebView::renderingEnabled() const
{
- Q_D(const QDeclarativeWebView);
return d->rendering;
}
void QDeclarativeWebView::setRenderingEnabled(bool enabled)
{
- Q_D(QDeclarativeWebView);
if (d->rendering == enabled)
return;
d->rendering = enabled;
emit renderingEnabledChanged();
- setCacheFrozen(!enabled);
- if (enabled)
- clearCache();
-}
-
-
-void QDeclarativeWebView::drawContents(QPainter *p, const QRect &r)
-{
- Q_D(QDeclarativeWebView);
- if (d->rendering)
- page()->mainFrame()->render(p,r);
+ d->view->setTiledBackingStoreFrozen(!enabled);
}
QMouseEvent *QDeclarativeWebView::sceneMouseEventToMouseEvent(QGraphicsSceneMouseEvent *e)
@@ -541,7 +524,6 @@ QMouseEvent *QDeclarativeWebView::sceneHoverMoveEventToMouseEvent(QGraphicsScene
return me;
}
-
/*!
\qmlsignal WebView::onDoubleClick(clickx,clicky)
@@ -573,7 +555,6 @@ void QDeclarativeWebView::mouseDoubleClickEvent(QGraphicsSceneMouseEvent *event)
*/
bool QDeclarativeWebView::heuristicZoom(int clickX, int clickY, qreal maxzoom)
{
- Q_D(QDeclarativeWebView);
if (contentsScale() >= maxzoom/zoomFactor())
return false;
qreal ozf = contentsScale();
@@ -602,13 +583,11 @@ bool QDeclarativeWebView::heuristicZoom(int clickX, int clickY, qreal maxzoom)
*/
int QDeclarativeWebView::pressGrabTime() const
{
- Q_D(const QDeclarativeWebView);
return d->pressTime;
}
void QDeclarativeWebView::setPressGrabTime(int ms)
{
- Q_D(QDeclarativeWebView);
if (d->pressTime == ms)
return;
d->pressTime = ms;
@@ -617,8 +596,6 @@ void QDeclarativeWebView::setPressGrabTime(int ms)
void QDeclarativeWebView::mousePressEvent(QGraphicsSceneMouseEvent *event)
{
- Q_D(QDeclarativeWebView);
-
setFocus (true);
QMouseEvent *me = sceneMouseEventToMouseEvent(event);
@@ -646,14 +623,12 @@ void QDeclarativeWebView::mousePressEvent(QGraphicsSceneMouseEvent *event)
);
delete me;
if (!event->isAccepted()) {
- QDeclarativePaintedItem::mousePressEvent(event);
+ QDeclarativeItem::mousePressEvent(event);
}
}
void QDeclarativeWebView::mouseReleaseEvent(QGraphicsSceneMouseEvent *event)
{
- Q_D(QDeclarativeWebView);
-
QMouseEvent *me = sceneMouseEventToMouseEvent(event);
page()->event(me);
d->pressTimer.stop();
@@ -670,7 +645,7 @@ void QDeclarativeWebView::mouseReleaseEvent(QGraphicsSceneMouseEvent *event)
);
delete me;
if (!event->isAccepted()) {
- QDeclarativePaintedItem::mouseReleaseEvent(event);
+ QDeclarativeItem::mouseReleaseEvent(event);
}
setKeepMouseGrab(false);
ungrabMouse();
@@ -678,7 +653,6 @@ void QDeclarativeWebView::mouseReleaseEvent(QGraphicsSceneMouseEvent *event)
void QDeclarativeWebView::timerEvent(QTimerEvent *event)
{
- Q_D(QDeclarativeWebView);
if (event->timerId() == d->pressTimer.timerId()) {
d->pressTimer.stop();
grabMouse();
@@ -688,8 +662,6 @@ void QDeclarativeWebView::timerEvent(QTimerEvent *event)
void QDeclarativeWebView::mouseMoveEvent(QGraphicsSceneMouseEvent *event)
{
- Q_D(QDeclarativeWebView);
-
QMouseEvent *me = sceneMouseEventToMouseEvent(event);
if (d->pressTimer.isActive()) {
if ((me->pos() - d->pressPoint).manhattanLength() > QApplication::startDragDistance()) {
@@ -713,9 +685,9 @@ void QDeclarativeWebView::mouseMoveEvent(QGraphicsSceneMouseEvent *event)
}
delete me;
if (!event->isAccepted())
- QDeclarativePaintedItem::mouseMoveEvent(event);
-
+ QDeclarativeItem::mouseMoveEvent(event);
}
+
void QDeclarativeWebView::hoverMoveEvent (QGraphicsSceneHoverEvent * event)
{
QMouseEvent *me = sceneHoverMoveEventToMouseEvent(event);
@@ -729,39 +701,17 @@ void QDeclarativeWebView::hoverMoveEvent (QGraphicsSceneHoverEvent * event)
);
delete me;
if (!event->isAccepted())
- QDeclarativePaintedItem::hoverMoveEvent(event);
+ QDeclarativeItem::hoverMoveEvent(event);
}
-void QDeclarativeWebView::keyPressEvent(QKeyEvent* event)
+bool QDeclarativeWebView::sceneEvent(QEvent *event)
{
- page()->event(event);
- if (!event->isAccepted())
- QDeclarativePaintedItem::keyPressEvent(event);
+ if (event->type() == QEvent::KeyPress || event->type() == QEvent::KeyRelease)//Key events go to the page
+ return page()->event(event);
+ return QDeclarativeItem::sceneEvent(event);
}
-void QDeclarativeWebView::keyReleaseEvent(QKeyEvent* event)
-{
- page()->event(event);
- if (!event->isAccepted())
- QDeclarativePaintedItem::keyReleaseEvent(event);
-}
-
-bool QDeclarativeWebView::sceneEvent(QEvent *event)
-{
- if (event->type() == QEvent::KeyPress) {
- QKeyEvent *k = static_cast<QKeyEvent *>(event);
- if (k->key() == Qt::Key_Tab || k->key() == Qt::Key_Backtab) {
- if (!(k->modifiers() & (Qt::ControlModifier | Qt::AltModifier))) { //### Add MetaModifier?
- page()->event(event);
- if (event->isAccepted())
- return true;
- }
- }
- }
- return QDeclarativePaintedItem::sceneEvent(event);
-}
-
-
+#ifndef QT_NO_ACTION
/*!
\qmlproperty action WebView::back
This property holds the action for causing the previous URL in the history to be displayed.
@@ -797,6 +747,7 @@ QAction *QDeclarativeWebView::stopAction() const
{
return page()->action(QWebPage::Stop);
}
+#endif // QT_NO_ACTION
/*!
\qmlproperty real WebView::title
@@ -827,15 +778,11 @@ QPixmap QDeclarativeWebView::icon() const
*/
void QDeclarativeWebView::setZoomFactor(qreal factor)
{
- Q_D(QDeclarativeWebView);
if (factor == page()->mainFrame()->zoomFactor())
return;
page()->mainFrame()->setZoomFactor(factor);
- page()->setViewportSize(QSize(
- d->preferredwidth>0 ? d->preferredwidth*factor : width()*factor,
- d->preferredheight>0 ? d->preferredheight*factor : height()*factor));
- expandToWebPage();
+ updateContentsSize();
emit zoomFactorChanged();
}
@@ -853,37 +800,27 @@ qreal QDeclarativeWebView::zoomFactor() const
*/
void QDeclarativeWebView::setStatusText(const QString& s)
{
- Q_D(QDeclarativeWebView);
d->statusText = s;
emit statusTextChanged();
}
void QDeclarativeWebView::windowObjectCleared()
{
- Q_D(QDeclarativeWebView);
d->updateWindowObjects();
}
QString QDeclarativeWebView::statusText() const
{
- Q_D(const QDeclarativeWebView);
return d->statusText;
}
QWebPage *QDeclarativeWebView::page() const
{
- Q_D(const QDeclarativeWebView);
if (!d->page) {
QDeclarativeWebView *self = const_cast<QDeclarativeWebView*>(this);
QWebPage *wp = new QDeclarativeWebPage(self);
- // QML items don't default to having a background,
- // even though most we pages will set one anyway.
- QPalette pal = QApplication::palette();
- pal.setBrush(QPalette::Base, QColor::fromRgbF(0, 0, 0, 0));
- wp->setPalette(pal);
-
wp->setNetworkAccessManager(qmlEngine(this)->networkAccessManager());
self->setPage(wp);
@@ -939,14 +876,12 @@ QWebPage *QDeclarativeWebView::page() const
*/
QDeclarativeWebSettings *QDeclarativeWebView::settingsObject() const
{
- Q_D(const QDeclarativeWebView);
d->settings.s = page()->settings();
return &d->settings;
}
void QDeclarativeWebView::setPage(QWebPage *page)
{
- Q_D(QDeclarativeWebView);
if (d->page == page)
return;
if (d->page) {
@@ -957,18 +892,15 @@ void QDeclarativeWebView::setPage(QWebPage *page)
}
}
d->page = page;
- d->page->setViewportSize(QSize(
- d->preferredwidth>0 ? d->preferredwidth : width(),
- d->preferredheight>0 ? d->preferredheight : height()));
+ updateContentsSize();
d->page->mainFrame()->setScrollBarPolicy(Qt::Horizontal,Qt::ScrollBarAlwaysOff);
d->page->mainFrame()->setScrollBarPolicy(Qt::Vertical,Qt::ScrollBarAlwaysOff);
- connect(d->page,SIGNAL(repaintRequested(QRect)),this,SLOT(paintPage(QRect)));
connect(d->page->mainFrame(),SIGNAL(urlChanged(QUrl)),this,SLOT(pageUrlChanged()));
connect(d->page->mainFrame(), SIGNAL(titleChanged(QString)), this, SIGNAL(titleChanged(QString)));
connect(d->page->mainFrame(), SIGNAL(titleChanged(QString)), this, SIGNAL(iconChanged()));
connect(d->page->mainFrame(), SIGNAL(iconChanged()), this, SIGNAL(iconChanged()));
- connect(d->page->mainFrame(), SIGNAL(contentsSizeChanged(QSize)), this, SLOT(noteContentsSizeChanged(QSize)));
connect(d->page->mainFrame(), SIGNAL(initialLayoutCompleted()), this, SLOT(initialLayout()));
+ connect(d->page->mainFrame(), SIGNAL(contentsSizeChanged(QSize)), this, SIGNAL(contentsSizeChanged(QSize)));
connect(d->page,SIGNAL(loadStarted()),this,SLOT(doLoadStarted()));
connect(d->page,SIGNAL(loadProgress(int)),this,SLOT(doLoadProgress(int)));
@@ -976,6 +908,10 @@ void QDeclarativeWebView::setPage(QWebPage *page)
connect(d->page,SIGNAL(statusBarMessage(QString)),this,SLOT(setStatusText(QString)));
connect(d->page->mainFrame(),SIGNAL(javaScriptWindowObjectCleared()),this,SLOT(windowObjectCleared()));
+
+ d->page->settings()->setAttribute(QWebSettings::TiledBackingStoreEnabled, true);
+
+ d->view->setPage(page);
}
/*!
@@ -1030,10 +966,7 @@ QString QDeclarativeWebView::html() const
*/
void QDeclarativeWebView::setHtml(const QString &html, const QUrl &baseUrl)
{
- Q_D(QDeclarativeWebView);
- page()->setViewportSize(QSize(
- d->preferredwidth>0 ? d->preferredwidth : width(),
- d->preferredheight>0 ? d->preferredheight : height()));
+ updateContentsSize();
if (isComponentComplete())
page()->mainFrame()->setHtml(html, baseUrl);
else {
@@ -1046,10 +979,7 @@ void QDeclarativeWebView::setHtml(const QString &html, const QUrl &baseUrl)
void QDeclarativeWebView::setContent(const QByteArray &data, const QString &mimeType, const QUrl &baseUrl)
{
- Q_D(QDeclarativeWebView);
- page()->setViewportSize(QSize(
- d->preferredwidth>0 ? d->preferredwidth : width(),
- d->preferredheight>0 ? d->preferredheight : height()));
+ updateContentsSize();
if (isComponentComplete())
page()->mainFrame()->setContent(data,mimeType,qmlContext(this)->resolvedUrl(baseUrl));
@@ -1073,7 +1003,6 @@ QWebSettings *QDeclarativeWebView::settings() const
QDeclarativeWebView *QDeclarativeWebView::createWindow(QWebPage::WebWindowType type)
{
- Q_D(QDeclarativeWebView);
switch (type) {
case QWebPage::WebBrowserWindow: {
if (!d->newWindowComponent && d->newWindowParent)
@@ -1127,13 +1056,11 @@ QDeclarativeWebView *QDeclarativeWebView::createWindow(QWebPage::WebWindowType t
*/
QDeclarativeComponent *QDeclarativeWebView::newWindowComponent() const
{
- Q_D(const QDeclarativeWebView);
return d->newWindowComponent;
}
void QDeclarativeWebView::setNewWindowComponent(QDeclarativeComponent *newWindow)
{
- Q_D(QDeclarativeWebView);
if (newWindow == d->newWindowComponent)
return;
d->newWindowComponent = newWindow;
@@ -1150,13 +1077,11 @@ void QDeclarativeWebView::setNewWindowComponent(QDeclarativeComponent *newWindow
*/
QDeclarativeItem *QDeclarativeWebView::newWindowParent() const
{
- Q_D(const QDeclarativeWebView);
return d->newWindowParent;
}
void QDeclarativeWebView::setNewWindowParent(QDeclarativeItem *parent)
{
- Q_D(QDeclarativeWebView);
if (parent == d->newWindowParent)
return;
if (d->newWindowParent && parent) {
@@ -1169,6 +1094,25 @@ void QDeclarativeWebView::setNewWindowParent(QDeclarativeItem *parent)
emit newWindowParentChanged();
}
+QSize QDeclarativeWebView::contentsSize() const
+{
+ return d->page->mainFrame()->contentsSize() * contentsScale();
+}
+
+qreal QDeclarativeWebView::contentsScale() const
+{
+ return d->view->scale();
+}
+
+void QDeclarativeWebView::setContentsScale(qreal scale)
+{
+ if (scale == d->view->scale())
+ return;
+ d->view->setScale(scale);
+ updateDeclarativeWebViewSize();
+ emit contentsScaleChanged();
+}
+
/*!
Returns the area of the largest element at position (\a x,\a y) that is no larger
than \a maxwidth by \a maxheight pixels.
@@ -1219,9 +1163,9 @@ QString QDeclarativeWebPage::chooseFile(QWebFrame *originatingFrame, const QStri
}
/*!
- \qmlsignal WebView::alert(message)
+ \qmlsignal WebView::onAlert(message)
- This signal is emitted when the web engine sends a JavaScript alert. The \a message is the text
+ This handler is called when the web engine sends a JavaScript alert. The \a message is the text
to be displayed in the alert to the user.
*/
@@ -1265,3 +1209,4 @@ QWebPage *QDeclarativeWebPage::createWindow(WebWindowType type)
}
QT_END_NAMESPACE
+
diff --git a/src/imports/webkit/qdeclarativewebview_p.h b/src/imports/webkit/qdeclarativewebview_p.h
index 81581d83d5..042237e5ff 100644
--- a/src/imports/webkit/qdeclarativewebview_p.h
+++ b/src/imports/webkit/qdeclarativewebview_p.h
@@ -42,12 +42,13 @@
#ifndef QDECLARATIVEWEBVIEW_H
#define QDECLARATIVEWEBVIEW_H
-#include <private/qdeclarativepainteditem_p.h>
+#include <qdeclarativeitem.h>
#include <QtGui/QAction>
#include <QtCore/QUrl>
#include <QtNetwork/qnetworkaccessmanager.h>
#include <QtWebKit/QWebPage>
+#include <QtWebKit/QGraphicsWebView>
QT_BEGIN_HEADER
@@ -61,6 +62,7 @@ class QDeclarativeWebSettings;
class QDeclarativeWebViewPrivate;
class QNetworkRequest;
class QDeclarativeWebView;
+class QDeclarativeWebViewPrivate;
class QDeclarativeWebPage : public QWebPage
{
@@ -85,7 +87,7 @@ class QDeclarativeWebViewAttached;
//### TODO: browser plugins
-class QDeclarativeWebView : public QDeclarativePaintedItem
+class QDeclarativeWebView : public QDeclarativeItem
{
Q_OBJECT
@@ -106,10 +108,12 @@ class QDeclarativeWebView : public QDeclarativePaintedItem
Q_PROPERTY(qreal progress READ progress NOTIFY progressChanged)
Q_PROPERTY(Status status READ status NOTIFY statusChanged)
+#ifndef QT_NO_ACTION
Q_PROPERTY(QAction* reload READ reloadAction CONSTANT)
Q_PROPERTY(QAction* back READ backAction CONSTANT)
Q_PROPERTY(QAction* forward READ forwardAction CONSTANT)
Q_PROPERTY(QAction* stop READ stopAction CONSTANT)
+#endif
Q_PROPERTY(QDeclarativeWebSettings* settings READ settingsObject CONSTANT)
@@ -120,6 +124,9 @@ class QDeclarativeWebView : public QDeclarativePaintedItem
Q_PROPERTY(bool renderingEnabled READ renderingEnabled WRITE setRenderingEnabled NOTIFY renderingEnabledChanged)
+ Q_PROPERTY(QSize contentsSize READ contentsSize NOTIFY contentsSizeChanged)
+ Q_PROPERTY(qreal contentsScale READ contentsScale WRITE setContentsScale NOTIFY contentsScaleChanged)
+
public:
QDeclarativeWebView(QDeclarativeItem *parent=0);
~QDeclarativeWebView();
@@ -149,10 +156,12 @@ public:
qreal progress() const;
QString statusText() const;
+#ifndef QT_NO_ACTION
QAction *reloadAction() const;
QAction *backAction() const;
QAction *forwardAction() const;
QAction *stopAction() const;
+#endif
QWebPage *page() const;
void setPage(QWebPage *page);
@@ -182,6 +191,13 @@ public:
QDeclarativeItem *newWindowParent() const;
void setNewWindowParent(QDeclarativeItem *newWindow);
+ bool isComponentCompletePublic() const { return isComponentComplete(); }
+
+ QSize contentsSize() const;
+
+ void setContentsScale(qreal scale);
+ qreal contentsScale() const;
+
Q_SIGNALS:
void preferredWidthChanged();
void preferredHeightChanged();
@@ -197,6 +213,8 @@ Q_SIGNALS:
void newWindowComponentChanged();
void newWindowParentChanged();
void renderingEnabledChanged();
+ void contentsSizeChanged(const QSize&);
+ void contentsScaleChanged();
void loadStarted();
void loadFinished();
@@ -212,38 +230,36 @@ public Q_SLOTS:
QVariant evaluateJavaScript(const QString&);
private Q_SLOTS:
- void expandToWebPage();
- void paintPage(const QRect&);
void doLoadStarted();
void doLoadProgress(int p);
void doLoadFinished(bool ok);
void setStatusText(const QString&);
void windowObjectCleared();
void pageUrlChanged();
- void noteContentsSizeChanged(const QSize&);
void initialLayout();
-protected:
- void drawContents(QPainter *, const QRect &);
+ void propagateFocusToWebPage(bool);
+ void updateDeclarativeWebViewSize();
+
+protected:
void mousePressEvent(QGraphicsSceneMouseEvent *event);
void mouseReleaseEvent(QGraphicsSceneMouseEvent *event);
void mouseMoveEvent(QGraphicsSceneMouseEvent *event);
void mouseDoubleClickEvent(QGraphicsSceneMouseEvent *event);
void timerEvent(QTimerEvent *event);
void hoverMoveEvent (QGraphicsSceneHoverEvent * event);
- void keyPressEvent(QKeyEvent* event);
- void keyReleaseEvent(QKeyEvent* event);
virtual void geometryChanged(const QRectF &newGeometry,
const QRectF &oldGeometry);
virtual bool sceneEvent(QEvent *event);
QDeclarativeWebView *createWindow(QWebPage::WebWindowType type);
private:
+ void updateContentsSize();
void init();
virtual void componentComplete();
Q_DISABLE_COPY(QDeclarativeWebView)
- Q_DECLARE_PRIVATE_D(QGraphicsItem::d_ptr.data(), QDeclarativeWebView)
+ QDeclarativeWebViewPrivate* d;
QMouseEvent *sceneMouseEventToMouseEvent(QGraphicsSceneMouseEvent *);
QMouseEvent *sceneHoverMoveEventToMouseEvent(QGraphicsSceneHoverEvent *);
friend class QDeclarativeWebPage;
diff --git a/src/imports/webkit/qmldir b/src/imports/webkit/qmldir
index 258aa2cb59..dcfdd063ae 100644
--- a/src/imports/webkit/qmldir
+++ b/src/imports/webkit/qmldir
@@ -1 +1 @@
-plugin webkitqmlplugin
+plugin qmlwebkitplugin
diff --git a/src/imports/webkit/webkit.pro b/src/imports/webkit/webkit.pro
index 77cbc4d802..7b2ac66f3e 100644
--- a/src/imports/webkit/webkit.pro
+++ b/src/imports/webkit/webkit.pro
@@ -1,4 +1,4 @@
-TARGET = webkitqmlplugin
+TARGET = qmlwebkitplugin
TARGETPATH = org/webkit
include(../qimportbase.pri)
@@ -18,7 +18,7 @@ symbian:{
load(data_caging_paths)
include($$QT_SOURCE_TREE/demos/symbianpkgrules.pri)
- importFiles.sources = webkitqmlplugin.dll qmldir
+ importFiles.sources = qmlwebkitplugin.dll qmldir
importFiles.path = $$QT_IMPORTS_BASE_DIR/$$TARGETPATH
DEPLOYMENT = importFiles
diff --git a/src/imports/widgets/graphicslayouts.cpp b/src/imports/widgets/graphicslayouts.cpp
deleted file mode 100644
index 25cf994b3f..0000000000
--- a/src/imports/widgets/graphicslayouts.cpp
+++ /dev/null
@@ -1,366 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the QtDeclarative module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "graphicslayouts_p.h"
-
-#include <QtGui/qgraphicswidget.h>
-#include <QtCore/qdebug.h>
-
-QT_BEGIN_NAMESPACE
-
-LinearLayoutAttached::LinearLayoutAttached(QObject *parent)
-: QObject(parent), _stretch(1), _alignment(Qt::AlignCenter), _spacing(0)
-{
-}
-
-void LinearLayoutAttached::setStretchFactor(int f)
-{
- if (_stretch == f)
- return;
-
- _stretch = f;
- emit stretchChanged(reinterpret_cast<QGraphicsLayoutItem*>(parent()), _stretch);
-}
-
-void LinearLayoutAttached::setSpacing(int s)
-{
- if (_spacing == s)
- return;
-
- _spacing = s;
- emit spacingChanged(reinterpret_cast<QGraphicsLayoutItem*>(parent()), _spacing);
-}
-
-void LinearLayoutAttached::setAlignment(Qt::Alignment a)
-{
- if (_alignment == a)
- return;
-
- _alignment = a;
- emit alignmentChanged(reinterpret_cast<QGraphicsLayoutItem*>(parent()), _alignment);
-}
-
-QGraphicsLinearLayoutStretchItemObject::QGraphicsLinearLayoutStretchItemObject(QObject *parent)
- : QObject(parent)
-{
-}
-
-QSizeF QGraphicsLinearLayoutStretchItemObject::sizeHint(Qt::SizeHint which, const QSizeF &constraint) const
-{
-Q_UNUSED(which);
-Q_UNUSED(constraint);
-return QSizeF();
-}
-
-
-QGraphicsLinearLayoutObject::QGraphicsLinearLayoutObject(QObject *parent)
-: QObject(parent)
-{
-}
-
-QGraphicsLinearLayoutObject::~QGraphicsLinearLayoutObject()
-{
-}
-
-void QGraphicsLinearLayoutObject::insertLayoutItem(int index, QGraphicsLayoutItem *item)
-{
-insertItem(index, item);
-
-//connect attached properties
-if (LinearLayoutAttached *obj = attachedProperties.value(item)) {
- setStretchFactor(item, obj->stretchFactor());
- setAlignment(item, obj->alignment());
- updateSpacing(item, obj->spacing());
- QObject::connect(obj, SIGNAL(stretchChanged(QGraphicsLayoutItem*,int)),
- this, SLOT(updateStretch(QGraphicsLayoutItem*,int)));
- QObject::connect(obj, SIGNAL(alignmentChanged(QGraphicsLayoutItem*,Qt::Alignment)),
- this, SLOT(updateAlignment(QGraphicsLayoutItem*,Qt::Alignment)));
- QObject::connect(obj, SIGNAL(spacingChanged(QGraphicsLayoutItem*,int)),
- this, SLOT(updateSpacing(QGraphicsLayoutItem*,int)));
- //### need to disconnect when widget is removed?
-}
-}
-
-//### is there a better way to do this?
-void QGraphicsLinearLayoutObject::clearChildren()
-{
-for (int i = 0; i < count(); ++i)
- removeAt(i);
-}
-
-qreal QGraphicsLinearLayoutObject::contentsMargin() const
-{
- qreal a,b,c,d;
- getContentsMargins(&a, &b, &c, &d);
- if(a==b && a==c && a==d)
- return a;
- return -1;
-}
-
-void QGraphicsLinearLayoutObject::setContentsMargin(qreal m)
-{
- setContentsMargins(m,m,m,m);
-}
-
-void QGraphicsLinearLayoutObject::updateStretch(QGraphicsLayoutItem *item, int stretch)
-{
-QGraphicsLinearLayout::setStretchFactor(item, stretch);
-}
-
-void QGraphicsLinearLayoutObject::updateSpacing(QGraphicsLayoutItem* item, int spacing)
-{
- for(int i=0; i < count(); i++){
- if(itemAt(i) == item){ //I do not see the reverse function, which is why we must loop over all items
- QGraphicsLinearLayout::setItemSpacing(i, spacing);
- return;
- }
- }
-}
-
-void QGraphicsLinearLayoutObject::updateAlignment(QGraphicsLayoutItem *item, Qt::Alignment alignment)
-{
-QGraphicsLinearLayout::setAlignment(item, alignment);
-}
-
-QHash<QGraphicsLayoutItem*, LinearLayoutAttached*> QGraphicsLinearLayoutObject::attachedProperties;
-LinearLayoutAttached *QGraphicsLinearLayoutObject::qmlAttachedProperties(QObject *obj)
-{
-// ### This is not allowed - you must attach to any object
-if (!qobject_cast<QGraphicsLayoutItem*>(obj))
- return 0;
-LinearLayoutAttached *rv = new LinearLayoutAttached(obj);
-attachedProperties.insert(qobject_cast<QGraphicsLayoutItem*>(obj), rv);
-return rv;
-}
-
-//////////////////////////////////////////////////////////////////////////////////////////////////////
-// QGraphicsGridLayout-related classes
-//////////////////////////////////////////////////////////////////////////////////////////////////////
-GridLayoutAttached::GridLayoutAttached(QObject *parent)
-: QObject(parent), _row(-1), _column(-1), _rowspan(1), _colspan(1), _alignment(-1), _rowstretch(-1),
- _colstretch(-1), _rowspacing(-1), _colspacing(-1), _rowprefheight(-1), _rowmaxheight(-1), _rowminheight(-1),
- _rowfixheight(-1), _colprefwidth(-1), _colmaxwidth(-1), _colminwidth(-1), _colfixwidth(-1)
-{
-}
-
-void GridLayoutAttached::setRow(int r)
-{
- if (_row == r)
- return;
-
- _row = r;
- //emit rowChanged(reinterpret_cast<QGraphicsLayoutItem*>(parent()), _row);
-}
-
-void GridLayoutAttached::setColumn(int c)
-{
- if (_column == c)
- return;
-
- _column = c;
- //emit columnChanged(reinterpret_cast<QGraphicsLayoutItem*>(parent()), _column);
-}
-
-void GridLayoutAttached::setRowSpan(int rs)
-{
- if (_rowspan == rs)
- return;
-
- _rowspan = rs;
- //emit rowSpanChanged(reinterpret_cast<QGraphicsLayoutItem*>(parent()), _rowSpan);
-}
-
-void GridLayoutAttached::setColumnSpan(int cs)
-{
- if (_colspan == cs)
- return;
-
- _colspan = cs;
- //emit columnSpanChanged(reinterpret_cast<QGraphicsLayoutItem*>(parent()), _columnSpan);
-}
-
-void GridLayoutAttached::setAlignment(Qt::Alignment a)
-{
- if (_alignment == a)
- return;
-
- _alignment = a;
- emit alignmentChanged(reinterpret_cast<QGraphicsLayoutItem*>(parent()), _alignment);
-}
-
-void GridLayoutAttached::setRowStretchFactor(int f)
-{
- _rowstretch = f;
-}
-
-void GridLayoutAttached::setColumnStretchFactor(int f)
-{
- _colstretch = f;
-}
-
-void GridLayoutAttached::setRowSpacing(int s)
-{
- _rowspacing = s;
-}
-
-void GridLayoutAttached::setColumnSpacing(int s)
-{
- _colspacing = s;
-}
-
-
-QGraphicsGridLayoutObject::QGraphicsGridLayoutObject(QObject *parent)
-: QObject(parent)
-{
-}
-
-QGraphicsGridLayoutObject::~QGraphicsGridLayoutObject()
-{
-}
-
-void QGraphicsGridLayoutObject::addWidget(QGraphicsWidget *wid)
-{
-//use attached properties
-if (QObject *obj = attachedProperties.value(qobject_cast<QGraphicsLayoutItem*>(wid))) {
- int row = static_cast<GridLayoutAttached *>(obj)->row();
- int column = static_cast<GridLayoutAttached *>(obj)->column();
- int rowSpan = static_cast<GridLayoutAttached *>(obj)->rowSpan();
- int columnSpan = static_cast<GridLayoutAttached *>(obj)->columnSpan();
- if (row == -1 || column == -1) {
- qWarning() << "Must set row and column for an item in a grid layout";
- return;
- }
- addItem(wid, row, column, rowSpan, columnSpan);
-}
-}
-
-void QGraphicsGridLayoutObject::addLayoutItem(QGraphicsLayoutItem *item)
-{
-//use attached properties
-if (GridLayoutAttached *obj = attachedProperties.value(item)) {
- int row = obj->row();
- int column = obj->column();
- int rowSpan = obj->rowSpan();
- int columnSpan = obj->columnSpan();
- Qt::Alignment alignment = obj->alignment();
- if (row == -1 || column == -1) {
- qWarning() << "Must set row and column for an item in a grid layout";
- return;
- }
- if(obj->rowSpacing() != -1)
- setRowSpacing(row, obj->rowSpacing());
- if(obj->columnSpacing() != -1)
- setColumnSpacing(column, obj->columnSpacing());
- if(obj->rowStretchFactor() != -1)
- setRowStretchFactor(row, obj->rowStretchFactor());
- if(obj->columnStretchFactor() != -1)
- setColumnStretchFactor(column, obj->columnStretchFactor());
- if(obj->rowPreferredHeight() != -1)
- setRowPreferredHeight(row, obj->rowPreferredHeight());
- if(obj->rowMaximumHeight() != -1)
- setRowMaximumHeight(row, obj->rowMaximumHeight());
- if(obj->rowMinimumHeight() != -1)
- setRowMinimumHeight(row, obj->rowMinimumHeight());
- if(obj->rowFixedHeight() != -1)
- setRowFixedHeight(row, obj->rowFixedHeight());
- if(obj->columnPreferredWidth() != -1)
- setColumnPreferredWidth(row, obj->columnPreferredWidth());
- if(obj->columnMaximumWidth() != -1)
- setColumnMaximumWidth(row, obj->columnMaximumWidth());
- if(obj->columnMinimumWidth() != -1)
- setColumnMinimumWidth(row, obj->columnMinimumWidth());
- if(obj->columnFixedWidth() != -1)
- setColumnFixedWidth(row, obj->columnFixedWidth());
- addItem(item, row, column, rowSpan, columnSpan);
- if (alignment != -1)
- setAlignment(item,alignment);
- QObject::connect(obj, SIGNAL(alignmentChanged(QGraphicsLayoutItem*,Qt::Alignment)),
- this, SLOT(updateAlignment(QGraphicsLayoutItem*,Qt::Alignment)));
- //### need to disconnect when widget is removed?
-}
-}
-
-//### is there a better way to do this?
-void QGraphicsGridLayoutObject::clearChildren()
-{
-for (int i = 0; i < count(); ++i)
- removeAt(i);
-}
-
-qreal QGraphicsGridLayoutObject::spacing() const
-{
-if (verticalSpacing() == horizontalSpacing())
- return verticalSpacing();
-return -1; //###
-}
-
-qreal QGraphicsGridLayoutObject::contentsMargin() const
-{
- qreal a,b,c,d;
- getContentsMargins(&a, &b, &c, &d);
- if(a==b && a==c && a==d)
- return a;
- return -1;
-}
-
-void QGraphicsGridLayoutObject::setContentsMargin(qreal m)
-{
- setContentsMargins(m,m,m,m);
-}
-
-
-void QGraphicsGridLayoutObject::updateAlignment(QGraphicsLayoutItem *item, Qt::Alignment alignment)
-{
-QGraphicsGridLayout::setAlignment(item, alignment);
-}
-
-QHash<QGraphicsLayoutItem*, GridLayoutAttached*> QGraphicsGridLayoutObject::attachedProperties;
-GridLayoutAttached *QGraphicsGridLayoutObject::qmlAttachedProperties(QObject *obj)
-{
-// ### This is not allowed - you must attach to any object
-if (!qobject_cast<QGraphicsLayoutItem*>(obj))
- return 0;
-GridLayoutAttached *rv = new GridLayoutAttached(obj);
-attachedProperties.insert(qobject_cast<QGraphicsLayoutItem*>(obj), rv);
-return rv;
-}
-
-QT_END_NAMESPACE
diff --git a/src/imports/widgets/graphicslayouts_p.h b/src/imports/widgets/graphicslayouts_p.h
deleted file mode 100644
index ea9c614bcf..0000000000
--- a/src/imports/widgets/graphicslayouts_p.h
+++ /dev/null
@@ -1,303 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the QtDeclarative module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef GRAPHICSLAYOUTS_H
-#define GRAPHICSLAYOUTS_H
-
-#include <QtGui/QGraphicsLinearLayout>
-#include <QtGui/QGraphicsGridLayout>
-#include <qdeclarative.h>
-
-QT_BEGIN_HEADER
-
-QT_BEGIN_NAMESPACE
-
-QT_MODULE(Declarative)
-
-class QGraphicsLinearLayoutStretchItemObject : public QObject, public QGraphicsLayoutItem
-{
- Q_OBJECT
- Q_INTERFACES(QGraphicsLayoutItem)
-public:
- QGraphicsLinearLayoutStretchItemObject(QObject *parent = 0);
-
- virtual QSizeF sizeHint(Qt::SizeHint, const QSizeF &) const;
-};
-
-class LinearLayoutAttached;
-class QGraphicsLinearLayoutObject : public QObject, public QGraphicsLinearLayout
-{
- Q_OBJECT
- Q_INTERFACES(QGraphicsLayout QGraphicsLayoutItem)
-
- Q_PROPERTY(QDeclarativeListProperty<QGraphicsLayoutItem> children READ children)
- Q_PROPERTY(Qt::Orientation orientation READ orientation WRITE setOrientation)
- Q_PROPERTY(qreal spacing READ spacing WRITE setSpacing)
- Q_PROPERTY(qreal contentsMargin READ contentsMargin WRITE setContentsMargin)
- Q_CLASSINFO("DefaultProperty", "children")
-public:
- QGraphicsLinearLayoutObject(QObject * = 0);
- ~QGraphicsLinearLayoutObject();
-
- QDeclarativeListProperty<QGraphicsLayoutItem> children() { return QDeclarativeListProperty<QGraphicsLayoutItem>(this, 0, children_append, children_count, children_at, children_clear); }
-
- static LinearLayoutAttached *qmlAttachedProperties(QObject *);
-
- qreal contentsMargin() const;
- void setContentsMargin(qreal);
-
-private Q_SLOTS:
- void updateStretch(QGraphicsLayoutItem*,int);
- void updateSpacing(QGraphicsLayoutItem*,int);
- void updateAlignment(QGraphicsLayoutItem*,Qt::Alignment);
-
-private:
- friend class LinearLayoutAttached;
- void clearChildren();
- void insertLayoutItem(int, QGraphicsLayoutItem *);
- static QHash<QGraphicsLayoutItem*, LinearLayoutAttached*> attachedProperties;
-
- static void children_append(QDeclarativeListProperty<QGraphicsLayoutItem> *prop, QGraphicsLayoutItem *item) {
- static_cast<QGraphicsLinearLayoutObject*>(prop->object)->insertLayoutItem(-1, item);
- }
-
- static void children_clear(QDeclarativeListProperty<QGraphicsLayoutItem> *prop) {
- static_cast<QGraphicsLinearLayoutObject*>(prop->object)->clearChildren();
- }
-
- static int children_count(QDeclarativeListProperty<QGraphicsLayoutItem> *prop) {
- return static_cast<QGraphicsLinearLayoutObject*>(prop->object)->count();
- }
-
- static QGraphicsLayoutItem *children_at(QDeclarativeListProperty<QGraphicsLayoutItem> *prop, int index) {
- return static_cast<QGraphicsLinearLayoutObject*>(prop->object)->itemAt(index);
- }
-};
-
-class GridLayoutAttached;
-class QGraphicsGridLayoutObject : public QObject, public QGraphicsGridLayout
-{
- Q_OBJECT
- Q_INTERFACES(QGraphicsLayout QGraphicsLayoutItem)
-
- Q_PROPERTY(QDeclarativeListProperty<QGraphicsLayoutItem> children READ children)
- Q_PROPERTY(qreal spacing READ spacing WRITE setSpacing)
- Q_PROPERTY(qreal contentsMargin READ contentsMargin WRITE setContentsMargin)
- Q_PROPERTY(qreal verticalSpacing READ verticalSpacing WRITE setVerticalSpacing)
- Q_PROPERTY(qreal horizontalSpacing READ horizontalSpacing WRITE setHorizontalSpacing)
- Q_CLASSINFO("DefaultProperty", "children")
-public:
- QGraphicsGridLayoutObject(QObject * = 0);
- ~QGraphicsGridLayoutObject();
-
- QDeclarativeListProperty<QGraphicsLayoutItem> children() { return QDeclarativeListProperty<QGraphicsLayoutItem>(this, 0, children_append, children_count, children_at, children_clear); }
-
- qreal spacing() const;
- qreal contentsMargin() const;
- void setContentsMargin(qreal);
-
- static GridLayoutAttached *qmlAttachedProperties(QObject *);
-
-private Q_SLOTS:
- void updateAlignment(QGraphicsLayoutItem*,Qt::Alignment);
-
-private:
- friend class GraphicsLayoutAttached;
- void addWidget(QGraphicsWidget *);
- void clearChildren();
- void addLayoutItem(QGraphicsLayoutItem *);
- static QHash<QGraphicsLayoutItem*, GridLayoutAttached*> attachedProperties;
-
- static void children_append(QDeclarativeListProperty<QGraphicsLayoutItem> *prop, QGraphicsLayoutItem *item) {
- static_cast<QGraphicsGridLayoutObject*>(prop->object)->addLayoutItem(item);
- }
-
- static void children_clear(QDeclarativeListProperty<QGraphicsLayoutItem> *prop) {
- static_cast<QGraphicsGridLayoutObject*>(prop->object)->clearChildren();
- }
-
- static int children_count(QDeclarativeListProperty<QGraphicsLayoutItem> *prop) {
- return static_cast<QGraphicsGridLayoutObject*>(prop->object)->count();
- }
-
- static QGraphicsLayoutItem *children_at(QDeclarativeListProperty<QGraphicsLayoutItem> *prop, int index) {
- return static_cast<QGraphicsGridLayoutObject*>(prop->object)->itemAt(index);
- }
-};
-
-class LinearLayoutAttached : public QObject
-{
- Q_OBJECT
-
- Q_PROPERTY(int stretchFactor READ stretchFactor WRITE setStretchFactor NOTIFY stretchChanged)
- Q_PROPERTY(Qt::Alignment alignment READ alignment WRITE setAlignment NOTIFY alignmentChanged)
- Q_PROPERTY(int spacing READ spacing WRITE setSpacing NOTIFY spacingChanged)
-public:
- LinearLayoutAttached(QObject *parent);
-
- int stretchFactor() const { return _stretch; }
- void setStretchFactor(int f);
- Qt::Alignment alignment() const { return _alignment; }
- void setAlignment(Qt::Alignment a);
- int spacing() const { return _spacing; }
- void setSpacing(int s);
-
-Q_SIGNALS:
- void stretchChanged(QGraphicsLayoutItem*,int);
- void alignmentChanged(QGraphicsLayoutItem*,Qt::Alignment);
- void spacingChanged(QGraphicsLayoutItem*,int);
-
-private:
- int _stretch;
- Qt::Alignment _alignment;
- int _spacing;
-};
-
-class GridLayoutAttached : public QObject
-{
- Q_OBJECT
-
- Q_PROPERTY(int row READ row WRITE setRow)
- Q_PROPERTY(int column READ column WRITE setColumn)
- Q_PROPERTY(int rowSpan READ rowSpan WRITE setRowSpan)
- Q_PROPERTY(int columnSpan READ columnSpan WRITE setColumnSpan)
- Q_PROPERTY(Qt::Alignment alignment READ alignment WRITE setAlignment)
- Q_PROPERTY(int rowStretchFactor READ rowStretchFactor WRITE setRowStretchFactor)
- Q_PROPERTY(int columnStretchFactor READ columnStretchFactor WRITE setColumnStretchFactor)
- Q_PROPERTY(int rowSpacing READ rowSpacing WRITE setRowSpacing)
- Q_PROPERTY(int columnSpacing READ columnSpacing WRITE setColumnSpacing)
- Q_PROPERTY(int rowPreferredHeight READ rowPreferredHeight WRITE setRowPreferredHeight)
- Q_PROPERTY(int rowMinimumHeight READ rowMinimumHeight WRITE setRowMinimumHeight)
- Q_PROPERTY(int rowMaximumHeight READ rowMaximumHeight WRITE setRowMaximumHeight)
- Q_PROPERTY(int rowFixedHeight READ rowFixedHeight WRITE setRowFixedHeight)
- Q_PROPERTY(int columnPreferredWidth READ columnPreferredWidth WRITE setColumnPreferredWidth)
- Q_PROPERTY(int columnMaximumWidth READ columnMaximumWidth WRITE setColumnMaximumWidth)
- Q_PROPERTY(int columnMinimumWidth READ columnMinimumWidth WRITE setColumnMinimumWidth)
- Q_PROPERTY(int columnFixedWidth READ columnFixedWidth WRITE setColumnFixedWidth)
-
-public:
- GridLayoutAttached(QObject *parent);
-
- int row() const { return _row; }
- void setRow(int r);
-
- int column() const { return _column; }
- void setColumn(int c);
-
- int rowSpan() const { return _rowspan; }
- void setRowSpan(int rs);
-
- int columnSpan() const { return _colspan; }
- void setColumnSpan(int cs);
-
- Qt::Alignment alignment() const { return _alignment; }
- void setAlignment(Qt::Alignment a);
-
- int rowStretchFactor() const { return _rowstretch; }
- void setRowStretchFactor(int f);
- int columnStretchFactor() const { return _colstretch; }
- void setColumnStretchFactor(int f);
-
- int rowSpacing() const { return _rowspacing; }
- void setRowSpacing(int s);
- int columnSpacing() const { return _colspacing; }
- void setColumnSpacing(int s);
-
- int rowPreferredHeight() const { return _rowprefheight; }
- void setRowPreferredHeight(int s) { _rowprefheight = s; }
-
- int rowMaximumHeight() const { return _rowmaxheight; }
- void setRowMaximumHeight(int s) { _rowmaxheight = s; }
-
- int rowMinimumHeight() const { return _rowminheight; }
- void setRowMinimumHeight(int s) { _rowminheight = s; }
-
- int rowFixedHeight() const { return _rowfixheight; }
- void setRowFixedHeight(int s) { _rowfixheight = s; }
-
- int columnPreferredWidth() const { return _colprefwidth; }
- void setColumnPreferredWidth(int s) { _colprefwidth = s; }
-
- int columnMaximumWidth() const { return _colmaxwidth; }
- void setColumnMaximumWidth(int s) { _colmaxwidth = s; }
-
- int columnMinimumWidth() const { return _colminwidth; }
- void setColumnMinimumWidth(int s) { _colminwidth = s; }
-
- int columnFixedWidth() const { return _colfixwidth; }
- void setColumnFixedWidth(int s) { _colfixwidth = s; }
-
-Q_SIGNALS:
- void alignmentChanged(QGraphicsLayoutItem*,Qt::Alignment);
-
-private:
- int _row;
- int _column;
- int _rowspan;
- int _colspan;
- Qt::Alignment _alignment;
- int _rowstretch;
- int _colstretch;
- int _rowspacing;
- int _colspacing;
- int _rowprefheight;
- int _rowmaxheight;
- int _rowminheight;
- int _rowfixheight;
- int _colprefwidth;
- int _colmaxwidth;
- int _colminwidth;
- int _colfixwidth;
-};
-
-QT_END_NAMESPACE
-
-QML_DECLARE_INTERFACE(QGraphicsLayoutItem)
-QML_DECLARE_INTERFACE(QGraphicsLayout)
-QML_DECLARE_TYPE(QGraphicsLinearLayoutStretchItemObject)
-QML_DECLARE_TYPE(QGraphicsLinearLayoutObject)
-QML_DECLARE_TYPEINFO(QGraphicsLinearLayoutObject, QML_HAS_ATTACHED_PROPERTIES)
-QML_DECLARE_TYPE(QGraphicsGridLayoutObject)
-QML_DECLARE_TYPEINFO(QGraphicsGridLayoutObject, QML_HAS_ATTACHED_PROPERTIES)
-
-QT_END_HEADER
-
-#endif // GRAPHICSLAYOUTS_H
diff --git a/src/imports/widgets/qmldir b/src/imports/widgets/qmldir
deleted file mode 100644
index 6f19878671..0000000000
--- a/src/imports/widgets/qmldir
+++ /dev/null
@@ -1 +0,0 @@
-plugin widgets
diff --git a/src/imports/widgets/widgets.cpp b/src/imports/widgets/widgets.cpp
deleted file mode 100644
index 20de1fe921..0000000000
--- a/src/imports/widgets/widgets.cpp
+++ /dev/null
@@ -1,71 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the plugins of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include <QtDeclarative/qdeclarativeextensionplugin.h>
-#include <QtDeclarative/qdeclarative.h>
-#include <QGraphicsWidget>
-
-#include "graphicslayouts_p.h"
-#include <private/qdeclarativegraphicswidget_p.h>
-QT_BEGIN_NAMESPACE
-
-class QWidgetsQmlModule : public QDeclarativeExtensionPlugin
-{
- Q_OBJECT
-public:
- virtual void registerTypes(const char *uri)
- {
- Q_ASSERT(QLatin1String(uri) == QLatin1String("Qt.widgets"));
-
- qmlRegisterInterface<QGraphicsLayoutItem>("QGraphicsLayoutItem");
- qmlRegisterInterface<QGraphicsLayout>("QGraphicsLayout");
- qmlRegisterType<QGraphicsLinearLayoutStretchItemObject>(uri,4,7,"QGraphicsLinearLayoutStretchItem");
- qmlRegisterType<QGraphicsLinearLayoutObject>(uri,4,7,"QGraphicsLinearLayout");
- qmlRegisterType<QGraphicsGridLayoutObject>(uri,4,7,"QGraphicsGridLayout");
- }
-};
-
-QT_END_NAMESPACE
-
-#include "widgets.moc"
-
-Q_EXPORT_PLUGIN2(qtwidgetsqmlmodule, QT_PREPEND_NAMESPACE(QWidgetsQmlModule));
-
diff --git a/src/imports/widgets/widgets.pro b/src/imports/widgets/widgets.pro
deleted file mode 100644
index 234ff1e0a7..0000000000
--- a/src/imports/widgets/widgets.pro
+++ /dev/null
@@ -1,30 +0,0 @@
-TARGET = widgets
-TARGETPATH = Qt/widgets
-include(../qimportbase.pri)
-
-QT += declarative
-
-SOURCES += \
- graphicslayouts.cpp \
- widgets.cpp
-
-HEADERS += \
- graphicslayouts_p.h
-
-QTDIR_build:DESTDIR = $$QT_BUILD_TREE/imports/$$TARGETPATH
-target.path = $$[QT_INSTALL_IMPORTS]/$$TARGETPATH
-
-qmldir.files += $$PWD/qmldir
-qmldir.path += $$[QT_INSTALL_IMPORTS]/$$TARGETPATH
-
-symbian:{
- load(data_caging_paths)
- include($$QT_SOURCE_TREE/demos/symbianpkgrules.pri)
-
- importFiles.sources = widgets.dll qmldir
- importFiles.path = $$QT_IMPORTS_BASE_DIR/$$TARGETPATH
-
- DEPLOYMENT = importFiles
-}
-
-INSTALLS += target qmldir
diff --git a/src/multimedia/multimedia/audio/audio.pri b/src/multimedia/audio/audio.pri
index ae28a26669..ae28a26669 100644
--- a/src/multimedia/multimedia/audio/audio.pri
+++ b/src/multimedia/audio/audio.pri
diff --git a/src/multimedia/multimedia/audio/qaudio.cpp b/src/multimedia/audio/qaudio.cpp
index e0f24ce7c1..e0f24ce7c1 100644
--- a/src/multimedia/multimedia/audio/qaudio.cpp
+++ b/src/multimedia/audio/qaudio.cpp
diff --git a/src/multimedia/multimedia/audio/qaudio.h b/src/multimedia/audio/qaudio.h
index 9ca1dff193..9ca1dff193 100644
--- a/src/multimedia/multimedia/audio/qaudio.h
+++ b/src/multimedia/audio/qaudio.h
diff --git a/src/multimedia/multimedia/audio/qaudio_mac.cpp b/src/multimedia/audio/qaudio_mac.cpp
index 14fee8baab..14fee8baab 100644
--- a/src/multimedia/multimedia/audio/qaudio_mac.cpp
+++ b/src/multimedia/audio/qaudio_mac.cpp
diff --git a/src/multimedia/multimedia/audio/qaudio_mac_p.h b/src/multimedia/audio/qaudio_mac_p.h
index 4e7d6882b0..4e7d6882b0 100644
--- a/src/multimedia/multimedia/audio/qaudio_mac_p.h
+++ b/src/multimedia/audio/qaudio_mac_p.h
diff --git a/src/multimedia/audio/qaudio_symbian_p.cpp b/src/multimedia/audio/qaudio_symbian_p.cpp
new file mode 100644
index 0000000000..4522c5c7e8
--- /dev/null
+++ b/src/multimedia/audio/qaudio_symbian_p.cpp
@@ -0,0 +1,624 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtMultimedia module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include "qaudio_symbian_p.h"
+#include <mmffourcc.h>
+
+QT_BEGIN_NAMESPACE
+
+namespace SymbianAudio {
+namespace Utils {
+
+//-----------------------------------------------------------------------------
+// Static data
+//-----------------------------------------------------------------------------
+
+// Sample rate / frequency
+
+typedef TMMFSampleRate SampleRateNative;
+typedef int SampleRateQt;
+
+const int SampleRateCount = 12;
+
+const SampleRateNative SampleRateListNative[SampleRateCount] = {
+ EMMFSampleRate8000Hz
+ , EMMFSampleRate11025Hz
+ , EMMFSampleRate12000Hz
+ , EMMFSampleRate16000Hz
+ , EMMFSampleRate22050Hz
+ , EMMFSampleRate24000Hz
+ , EMMFSampleRate32000Hz
+ , EMMFSampleRate44100Hz
+ , EMMFSampleRate48000Hz
+ , EMMFSampleRate64000Hz
+ , EMMFSampleRate88200Hz
+ , EMMFSampleRate96000Hz
+};
+
+const SampleRateQt SampleRateListQt[SampleRateCount] = {
+ 8000
+ , 11025
+ , 12000
+ , 16000
+ , 22050
+ , 24000
+ , 32000
+ , 44100
+ , 48000
+ , 64000
+ , 88200
+ , 96000
+};
+
+// Channels
+
+typedef TMMFMonoStereo ChannelsNative;
+typedef int ChannelsQt;
+
+const int ChannelsCount = 2;
+
+const ChannelsNative ChannelsListNative[ChannelsCount] = {
+ EMMFMono
+ , EMMFStereo
+};
+
+const ChannelsQt ChannelsListQt[ChannelsCount] = {
+ 1
+ , 2
+};
+
+// Encoding
+
+const int EncodingCount = 6;
+
+const TUint32 EncodingFourCC[EncodingCount] = {
+ KMMFFourCCCodePCM8 // 0
+ , KMMFFourCCCodePCMU8 // 1
+ , KMMFFourCCCodePCM16 // 2
+ , KMMFFourCCCodePCMU16 // 3
+ , KMMFFourCCCodePCM16B // 4
+ , KMMFFourCCCodePCMU16B // 5
+};
+
+// The characterised DevSound API specification states that the iEncoding
+// field in TMMFCapabilities is ignored, and that the FourCC should be used
+// to specify the PCM encoding.
+// See "SGL.GT0287.102 Multimedia DevSound Baseline Compatibility.doc" in the
+// mm_info/mm_docs repository.
+const TMMFSoundEncoding EncodingNative[EncodingCount] = {
+ EMMFSoundEncoding16BitPCM // 0
+ , EMMFSoundEncoding16BitPCM // 1
+ , EMMFSoundEncoding16BitPCM // 2
+ , EMMFSoundEncoding16BitPCM // 3
+ , EMMFSoundEncoding16BitPCM // 4
+ , EMMFSoundEncoding16BitPCM // 5
+};
+
+
+const int EncodingSampleSize[EncodingCount] = {
+ 8 // 0
+ , 8 // 1
+ , 16 // 2
+ , 16 // 3
+ , 16 // 4
+ , 16 // 5
+};
+
+const QAudioFormat::Endian EncodingByteOrder[EncodingCount] = {
+ QAudioFormat::LittleEndian // 0
+ , QAudioFormat::LittleEndian // 1
+ , QAudioFormat::LittleEndian // 2
+ , QAudioFormat::LittleEndian // 3
+ , QAudioFormat::BigEndian // 4
+ , QAudioFormat::BigEndian // 5
+};
+
+const QAudioFormat::SampleType EncodingSampleType[EncodingCount] = {
+ QAudioFormat::SignedInt // 0
+ , QAudioFormat::UnSignedInt // 1
+ , QAudioFormat::SignedInt // 2
+ , QAudioFormat::UnSignedInt // 3
+ , QAudioFormat::SignedInt // 4
+ , QAudioFormat::UnSignedInt // 5
+};
+
+
+//-----------------------------------------------------------------------------
+// Private functions
+//-----------------------------------------------------------------------------
+
+// Helper functions for implementing parameter conversions
+
+template<typename Input>
+bool findValue(const Input *inputArray, int length, Input input, int &index) {
+ bool result = false;
+ for (int i=0; !result && i<length; ++i)
+ if (inputArray[i] == input) {
+ index = i;
+ result = true;
+ }
+ return result;
+}
+
+template<typename Input, typename Output>
+bool convertValue(const Input *inputArray, const Output *outputArray,
+ int length, Input input, Output &output) {
+ int index;
+ const bool result = findValue<Input>(inputArray, length, input, index);
+ if (result)
+ output = outputArray[index];
+ return result;
+}
+
+/**
+ * Macro which is used to generate the implementation of the conversion
+ * functions. The implementation is just a wrapper around the templated
+ * convertValue function, e.g.
+ *
+ * CONVERSION_FUNCTION_IMPL(SampleRate, Qt, Native)
+ *
+ * expands to
+ *
+ * bool SampleRateQtToNative(int input, TMMFSampleRate &output) {
+ * return convertValue<SampleRateQt, SampleRateNative>
+ * (SampleRateListQt, SampleRateListNative, SampleRateCount,
+ * input, output);
+ * }
+ */
+#define CONVERSION_FUNCTION_IMPL(FieldLc, Field, Input, Output) \
+bool FieldLc##Input##To##Output(Field##Input input, Field##Output &output) { \
+ return convertValue<Field##Input, Field##Output>(Field##List##Input, \
+ Field##List##Output, Field##Count, input, output); \
+}
+
+//-----------------------------------------------------------------------------
+// Local helper functions
+//-----------------------------------------------------------------------------
+
+CONVERSION_FUNCTION_IMPL(sampleRate, SampleRate, Qt, Native)
+CONVERSION_FUNCTION_IMPL(sampleRate, SampleRate, Native, Qt)
+CONVERSION_FUNCTION_IMPL(channels, Channels, Qt, Native)
+CONVERSION_FUNCTION_IMPL(channels, Channels, Native, Qt)
+
+bool sampleInfoQtToNative(int inputSampleSize,
+ QAudioFormat::Endian inputByteOrder,
+ QAudioFormat::SampleType inputSampleType,
+ TUint32 &outputFourCC,
+ TMMFSoundEncoding &outputEncoding) {
+
+ bool found = false;
+
+ for (int i=0; i<EncodingCount && !found; ++i) {
+ if ( EncodingSampleSize[i] == inputSampleSize
+ && EncodingByteOrder[i] == inputByteOrder
+ && EncodingSampleType[i] == inputSampleType) {
+ outputFourCC = EncodingFourCC[i];
+ outputEncoding = EncodingNative[i]; // EMMFSoundEncoding16BitPCM
+ found = true;
+ }
+ }
+
+ return found;
+}
+
+void capabilitiesNativeToQt(const TMMFCapabilities &caps,
+ const TFourCC &fourcc,
+ QList<int> &frequencies,
+ QList<int> &channels,
+ QList<int> &sampleSizes,
+ QList<QAudioFormat::Endian> &byteOrders,
+ QList<QAudioFormat::SampleType> &sampleTypes) {
+
+ frequencies.clear();
+ sampleSizes.clear();
+ byteOrders.clear();
+ sampleTypes.clear();
+ channels.clear();
+
+ for (int i=0; i<SampleRateCount; ++i)
+ if (caps.iRate & SampleRateListNative[i])
+ frequencies += SampleRateListQt[i];
+
+ for (int i=0; i<ChannelsCount; ++i)
+ if (caps.iChannels & ChannelsListNative[i])
+ channels += ChannelsListQt[i];
+
+ for (int i=0; i<EncodingCount; ++i) {
+ if (fourcc == EncodingFourCC[i]) {
+ sampleSizes += EncodingSampleSize[i];
+ byteOrders += EncodingByteOrder[i];
+ sampleTypes += EncodingSampleType[i];
+ }
+ }
+}
+
+bool formatQtToNative(const QAudioFormat &inputFormat,
+ TUint32 &outputFourCC,
+ TMMFCapabilities &outputFormat) {
+
+ bool result = false;
+
+ // Need to use temporary variables because TMMFCapabilities fields are all
+ // TInt, rather than MMF enumerated types.
+ TMMFSampleRate outputSampleRate;
+ TMMFMonoStereo outputChannels;
+ TMMFSoundEncoding outputEncoding;
+
+ if (inputFormat.codec() == QLatin1String("audio/pcm")) {
+ result =
+ sampleRateQtToNative(inputFormat.frequency(), outputSampleRate)
+ && channelsQtToNative(inputFormat.channels(), outputChannels)
+ && sampleInfoQtToNative(inputFormat.sampleSize(),
+ inputFormat.byteOrder(),
+ inputFormat.sampleType(),
+ outputFourCC,
+ outputEncoding);
+ }
+
+ if (result) {
+ outputFormat.iRate = outputSampleRate;
+ outputFormat.iChannels = outputChannels;
+ outputFormat.iEncoding = outputEncoding;
+ }
+
+ return result;
+}
+
+QAudio::State stateNativeToQt(State nativeState)
+{
+ switch (nativeState) {
+ case ClosedState:
+ return QAudio::StoppedState;
+ case InitializingState:
+ return QAudio::StoppedState;
+ case ActiveState:
+ return QAudio::ActiveState;
+ case IdleState:
+ return QAudio::IdleState;
+ case SuspendedState:
+ return QAudio::SuspendedState;
+ default:
+ Q_ASSERT_X(false, Q_FUNC_INFO, "Invalid state");
+ return QAudio::StoppedState; // suppress compiler warning
+ }
+}
+
+qint64 bytesToSamples(const QAudioFormat &format, qint64 length)
+{
+ return length / ((format.sampleSize() / 8) * format.channels());
+}
+
+qint64 samplesToBytes(const QAudioFormat &format, qint64 samples)
+{
+ return samples * (format.sampleSize() / 8) * format.channels();
+}
+
+} // namespace Utils
+
+
+//-----------------------------------------------------------------------------
+// DevSoundWrapper
+//-----------------------------------------------------------------------------
+
+DevSoundWrapper::DevSoundWrapper(QAudio::Mode mode, QObject *parent)
+ : QObject(parent)
+ , m_mode(mode)
+ , m_state(StateIdle)
+ , m_devsound(0)
+ , m_fourcc(0)
+{
+ QT_TRAP_THROWING(m_devsound = CMMFDevSound::NewL());
+
+ switch (mode) {
+ case QAudio::AudioOutput:
+ m_nativeMode = EMMFStatePlaying;
+ break;
+
+ case QAudio::AudioInput:
+ m_nativeMode = EMMFStateRecording;
+ break;
+
+ default:
+ Q_ASSERT_X(false, Q_FUNC_INFO, "Invalid mode");
+ }
+
+ getSupportedCodecs();
+}
+
+DevSoundWrapper::~DevSoundWrapper()
+{
+ delete m_devsound;
+}
+
+const QList<QString>& DevSoundWrapper::supportedCodecs() const
+{
+ return m_supportedCodecs;
+}
+
+void DevSoundWrapper::initialize(const QString& codec)
+{
+ Q_ASSERT(StateInitializing != m_state);
+ m_state = StateInitializing;
+ if (QLatin1String("audio/pcm") == codec) {
+ m_fourcc = KMMFFourCCCodePCM16;
+ TRAPD(err, m_devsound->InitializeL(*this, m_fourcc, m_nativeMode));
+ if (KErrNone != err) {
+ m_state = StateIdle;
+ emit initializeComplete(err);
+ }
+ } else {
+ emit initializeComplete(KErrNotSupported);
+ }
+}
+
+const QList<int>& DevSoundWrapper::supportedFrequencies() const
+{
+ Q_ASSERT(StateInitialized == m_state);
+ return m_supportedFrequencies;
+}
+
+const QList<int>& DevSoundWrapper::supportedChannels() const
+{
+ Q_ASSERT(StateInitialized == m_state);
+ return m_supportedChannels;
+}
+
+const QList<int>& DevSoundWrapper::supportedSampleSizes() const
+{
+ Q_ASSERT(StateInitialized == m_state);
+ return m_supportedSampleSizes;
+}
+
+const QList<QAudioFormat::Endian>& DevSoundWrapper::supportedByteOrders() const
+{
+ Q_ASSERT(StateInitialized == m_state);
+ return m_supportedByteOrders;
+}
+
+const QList<QAudioFormat::SampleType>& DevSoundWrapper::supportedSampleTypes() const
+{
+ Q_ASSERT(StateInitialized == m_state);
+ return m_supportedSampleTypes;
+}
+
+bool DevSoundWrapper::isFormatSupported(const QAudioFormat &format) const
+{
+ Q_ASSERT(StateInitialized == m_state);
+ return m_supportedCodecs.contains(format.codec())
+ && m_supportedFrequencies.contains(format.frequency())
+ && m_supportedChannels.contains(format.channels())
+ && m_supportedSampleSizes.contains(format.sampleSize())
+ && m_supportedSampleTypes.contains(format.sampleType())
+ && m_supportedByteOrders.contains(format.byteOrder());
+}
+
+int DevSoundWrapper::samplesProcessed() const
+{
+ Q_ASSERT(StateInitialized == m_state);
+ int result = 0;
+ switch (m_mode) {
+ case QAudio::AudioInput:
+ result = m_devsound->SamplesRecorded();
+ break;
+ case QAudio::AudioOutput:
+ result = m_devsound->SamplesPlayed();
+ break;
+ }
+ return result;
+}
+
+bool DevSoundWrapper::setFormat(const QAudioFormat &format)
+{
+ Q_ASSERT(StateInitialized == m_state);
+ bool result = false;
+ TUint32 fourcc;
+ TMMFCapabilities nativeFormat;
+ if (Utils::formatQtToNative(format, fourcc, nativeFormat)) {
+ TMMFCapabilities currentNativeFormat = m_devsound->Config();
+ nativeFormat.iBufferSize = currentNativeFormat.iBufferSize;
+ TRAPD(err, m_devsound->SetConfigL(nativeFormat));
+ result = (KErrNone == err);
+ }
+ return result;
+}
+
+bool DevSoundWrapper::start()
+{
+ Q_ASSERT(StateInitialized == m_state);
+ int err = KErrArgument;
+ switch (m_mode) {
+ case QAudio::AudioInput:
+ TRAP(err, m_devsound->RecordInitL());
+ break;
+ case QAudio::AudioOutput:
+ TRAP(err, m_devsound->PlayInitL());
+ break;
+ }
+ return (KErrNone == err);
+}
+
+void DevSoundWrapper::pause()
+{
+ Q_ASSERT(StateInitialized == m_state);
+ m_devsound->Pause();
+}
+
+void DevSoundWrapper::stop()
+{
+ m_devsound->Stop();
+}
+
+void DevSoundWrapper::bufferProcessed()
+{
+ Q_ASSERT(StateInitialized == m_state);
+ switch (m_mode) {
+ case QAudio::AudioInput:
+ m_devsound->RecordData();
+ break;
+ case QAudio::AudioOutput:
+ m_devsound->PlayData();
+ break;
+ }
+}
+
+void DevSoundWrapper::getSupportedCodecs()
+{
+/*
+ * TODO: once we support formats other than PCM, this function should
+ * convert the array of FourCC codes into MIME types for each codec.
+ *
+ RArray<TFourCC> fourcc;
+ QT_TRAP_THROWING(CleanupClosePushL(&fourcc));
+
+ TMMFPrioritySettings settings;
+ switch (mode) {
+ case QAudio::AudioOutput:
+ settings.iState = EMMFStatePlaying;
+ m_devsound->GetSupportedInputDataTypesL(fourcc, settings);
+ break;
+
+ case QAudio::AudioInput:
+ settings.iState = EMMFStateRecording;
+ m_devsound->GetSupportedInputDataTypesL(fourcc, settings);
+ break;
+
+ default:
+ Q_ASSERT_X(false, Q_FUNC_INFO, "Invalid mode");
+ }
+
+ CleanupStack::PopAndDestroy(); // fourcc
+*/
+
+ m_supportedCodecs.append(QLatin1String("audio/pcm"));
+}
+
+void DevSoundWrapper::populateCapabilities()
+{
+ m_supportedFrequencies.clear();
+ m_supportedChannels.clear();
+ m_supportedSampleSizes.clear();
+ m_supportedByteOrders.clear();
+ m_supportedSampleTypes.clear();
+
+ const TMMFCapabilities caps = m_devsound->Capabilities();
+
+ for (int i=0; i<Utils::SampleRateCount; ++i)
+ if (caps.iRate & Utils::SampleRateListNative[i])
+ m_supportedFrequencies += Utils::SampleRateListQt[i];
+
+ for (int i=0; i<Utils::ChannelsCount; ++i)
+ if (caps.iChannels & Utils::ChannelsListNative[i])
+ m_supportedChannels += Utils::ChannelsListQt[i];
+
+ for (int i=0; i<Utils::EncodingCount; ++i) {
+ if (m_fourcc == Utils::EncodingFourCC[i]) {
+ m_supportedSampleSizes += Utils::EncodingSampleSize[i];
+ m_supportedByteOrders += Utils::EncodingByteOrder[i];
+ m_supportedSampleTypes += Utils::EncodingSampleType[i];
+ }
+ }
+}
+
+void DevSoundWrapper::InitializeComplete(TInt aError)
+{
+ Q_ASSERT(StateInitializing == m_state);
+ if (KErrNone == aError) {
+ m_state = StateInitialized;
+ populateCapabilities();
+ } else {
+ m_state = StateIdle;
+ }
+ emit initializeComplete(aError);
+}
+
+void DevSoundWrapper::ToneFinished(TInt aError)
+{
+ Q_UNUSED(aError)
+ // This class doesn't use DevSound's tone playback functions, so should
+ // never receive this callback.
+ Q_ASSERT_X(false, Q_FUNC_INFO, "Unexpected callback");
+}
+
+void DevSoundWrapper::BufferToBeFilled(CMMFBuffer *aBuffer)
+{
+ Q_ASSERT(QAudio::AudioOutput == m_mode);
+ emit bufferToBeProcessed(aBuffer);
+}
+
+void DevSoundWrapper::PlayError(TInt aError)
+{
+ Q_ASSERT(QAudio::AudioOutput == m_mode);
+ emit processingError(aError);
+}
+
+void DevSoundWrapper::BufferToBeEmptied(CMMFBuffer *aBuffer)
+{
+ Q_ASSERT(QAudio::AudioInput == m_mode);
+ emit bufferToBeProcessed(aBuffer);
+}
+
+void DevSoundWrapper::RecordError(TInt aError)
+{
+ Q_ASSERT(QAudio::AudioInput == m_mode);
+ emit processingError(aError);
+}
+
+void DevSoundWrapper::ConvertError(TInt aError)
+{
+ Q_UNUSED(aError)
+ // This class doesn't use DevSound's format conversion functions, so
+ // should never receive this callback.
+ Q_ASSERT_X(false, Q_FUNC_INFO, "Unexpected callback");
+}
+
+void DevSoundWrapper::DeviceMessage(TUid aMessageType, const TDesC8 &aMsg)
+{
+ Q_UNUSED(aMessageType)
+ Q_UNUSED(aMsg)
+ // Ignore this callback.
+}
+
+
+} // namespace SymbianAudio
+
+QT_END_NAMESPACE
+
+
diff --git a/src/multimedia/audio/qaudio_symbian_p.h b/src/multimedia/audio/qaudio_symbian_p.h
new file mode 100644
index 0000000000..58ef1925a4
--- /dev/null
+++ b/src/multimedia/audio/qaudio_symbian_p.h
@@ -0,0 +1,189 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtMultimedia module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+//
+// W A R N I N G
+// -------------
+//
+// This file is not part of the Qt API. It exists for the convenience
+// of other Qt classes. This header file may change from version to
+// version without notice, or even be removed.
+//
+// We mean it.
+//
+
+#ifndef QAUDIO_SYMBIAN_P_H
+#define QAUDIO_SYMBIAN_P_H
+
+#include <QtCore/QList>
+#include <QtCore/QString>
+#include <QtMultimedia/qaudioformat.h>
+#include <QtMultimedia/qaudio.h>
+#include <sounddevice.h>
+
+QT_BEGIN_NAMESPACE
+
+namespace SymbianAudio {
+
+/**
+ * Default values used by audio input and output classes, when underlying
+ * DevSound instance has not yet been created.
+ */
+
+const int DefaultBufferSize = 4096; // bytes
+const int DefaultNotifyInterval = 1000; // ms
+
+/**
+ * Enumeration used to track state of internal DevSound instances.
+ * Values are translated to the corresponding QAudio::State values by
+ * SymbianAudio::Utils::stateNativeToQt.
+ */
+enum State {
+ ClosedState
+ , InitializingState
+ , ActiveState
+ , IdleState
+ , SuspendedState
+};
+
+/**
+ * Wrapper around DevSound instance
+ */
+class DevSoundWrapper
+ : public QObject
+ , public MDevSoundObserver
+{
+ Q_OBJECT
+
+public:
+ DevSoundWrapper(QAudio::Mode mode, QObject *parent = 0);
+ ~DevSoundWrapper();
+
+public:
+ // List of supported codecs; can be called once object is constructed
+ const QList<QString>& supportedCodecs() const;
+
+ // Asynchronous initialization function; emits devsoundInitializeComplete
+ void initialize(const QString& codec);
+
+ // Capabilities, for selected codec. Can be called once initialize has returned
+ // successfully.
+ const QList<int>& supportedFrequencies() const;
+ const QList<int>& supportedChannels() const;
+ const QList<int>& supportedSampleSizes() const;
+ const QList<QAudioFormat::Endian>& supportedByteOrders() const;
+ const QList<QAudioFormat::SampleType>& supportedSampleTypes() const;
+
+ bool isFormatSupported(const QAudioFormat &format) const;
+
+ int samplesProcessed() const;
+ bool setFormat(const QAudioFormat &format);
+ bool start();
+ void pause();
+ void stop();
+ void bufferProcessed();
+
+public:
+ // MDevSoundObserver
+ void InitializeComplete(TInt aError);
+ void ToneFinished(TInt aError);
+ void BufferToBeFilled(CMMFBuffer *aBuffer);
+ void PlayError(TInt aError);
+ void BufferToBeEmptied(CMMFBuffer *aBuffer);
+ void RecordError(TInt aError);
+ void ConvertError(TInt aError);
+ void DeviceMessage(TUid aMessageType, const TDesC8 &aMsg);
+
+signals:
+ void initializeComplete(int error);
+ void bufferToBeProcessed(CMMFBuffer *buffer);
+ void processingError(int error);
+
+private:
+ void getSupportedCodecs();
+ void populateCapabilities();
+
+private:
+ const QAudio::Mode m_mode;
+ TMMFState m_nativeMode;
+
+ enum State {
+ StateIdle,
+ StateInitializing,
+ StateInitialized
+ } m_state;
+
+ CMMFDevSound* m_devsound;
+ TFourCC m_fourcc;
+
+ QList<QString> m_supportedCodecs;
+ QList<int> m_supportedFrequencies;
+ QList<int> m_supportedChannels;
+ QList<int> m_supportedSampleSizes;
+ QList<QAudioFormat::Endian> m_supportedByteOrders;
+ QList<QAudioFormat::SampleType> m_supportedSampleTypes;
+
+};
+
+
+namespace Utils {
+
+/**
+ * Convert internal states to QAudio states.
+ */
+QAudio::State stateNativeToQt(State nativeState);
+
+/**
+ * Convert data length to number of samples.
+ */
+qint64 bytesToSamples(const QAudioFormat &format, qint64 length);
+
+/**
+ * Convert number of samples to data length.
+ */
+qint64 samplesToBytes(const QAudioFormat &format, qint64 samples);
+
+} // namespace Utils
+} // namespace SymbianAudio
+
+QT_END_NAMESPACE
+
+#endif
diff --git a/src/multimedia/multimedia/audio/qaudiodevicefactory.cpp b/src/multimedia/audio/qaudiodevicefactory.cpp
index 96545b4043..96545b4043 100644
--- a/src/multimedia/multimedia/audio/qaudiodevicefactory.cpp
+++ b/src/multimedia/audio/qaudiodevicefactory.cpp
diff --git a/src/multimedia/multimedia/audio/qaudiodevicefactory_p.h b/src/multimedia/audio/qaudiodevicefactory_p.h
index 8ee8b0566e..8ee8b0566e 100644
--- a/src/multimedia/multimedia/audio/qaudiodevicefactory_p.h
+++ b/src/multimedia/audio/qaudiodevicefactory_p.h
diff --git a/src/multimedia/audio/qaudiodeviceinfo.cpp b/src/multimedia/audio/qaudiodeviceinfo.cpp
new file mode 100644
index 0000000000..201a03d30c
--- /dev/null
+++ b/src/multimedia/audio/qaudiodeviceinfo.cpp
@@ -0,0 +1,460 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtMultimedia module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include "qaudiodevicefactory_p.h"
+#include <QtMultimedia/qaudioengine.h>
+#include <QtMultimedia/qaudiodeviceinfo.h>
+
+#include <QtCore/qmap.h>
+
+QT_BEGIN_NAMESPACE
+
+class QAudioDeviceInfoPrivate : public QSharedData
+{
+public:
+ QAudioDeviceInfoPrivate():info(0) {}
+ QAudioDeviceInfoPrivate(const QString &r, const QByteArray &h, QAudio::Mode m):
+ realm(r), handle(h), mode(m)
+ {
+ info = QAudioDeviceFactory::audioDeviceInfo(realm, handle, mode);
+ }
+
+ QAudioDeviceInfoPrivate(const QAudioDeviceInfoPrivate &other):
+ QSharedData(other),
+ realm(other.realm), handle(other.handle), mode(other.mode)
+ {
+ info = QAudioDeviceFactory::audioDeviceInfo(realm, handle, mode);
+ }
+
+ QAudioDeviceInfoPrivate& operator=(const QAudioDeviceInfoPrivate &other)
+ {
+ delete info;
+
+ realm = other.realm;
+ handle = other.handle;
+ mode = other.mode;
+ info = QAudioDeviceFactory::audioDeviceInfo(realm, handle, mode);
+ return *this;
+ }
+
+ ~QAudioDeviceInfoPrivate()
+ {
+ delete info;
+ }
+
+ QString realm;
+ QByteArray handle;
+ QAudio::Mode mode;
+ QAbstractAudioDeviceInfo* info;
+};
+
+
+/*!
+ \class QAudioDeviceInfo
+ \brief The QAudioDeviceInfo class provides an interface to query audio devices and their functionality.
+ \inmodule QtMultimedia
+ \ingroup multimedia
+
+ \since 4.6
+
+ QAudioDeviceInfo lets you query for audio devices--such as sound
+ cards and USB headsets--that are currently available on the system.
+ The audio devices available are dependent on the platform or audio plugins installed.
+
+ You can also query each device for the formats it supports. A
+ format in this context is a set consisting of a specific byte
+ order, channel, codec, frequency, sample rate, and sample type. A
+ format is represented by the QAudioFormat class.
+
+ The values supported by the the device for each of these
+ parameters can be fetched with
+ supportedByteOrders(), supportedChannelCounts(), supportedCodecs(),
+ supportedSampleRates(), supportedSampleSizes(), and
+ supportedSampleTypes(). The combinations supported are dependent on the platform,
+ audio plugins installed and the audio device capabilities. If you need a specific format, you can check if
+ the device supports it with isFormatSupported(), or fetch a
+ supported format that is as close as possible to the format with
+ nearestFormat(). For instance:
+
+ \snippet doc/src/snippets/audio/main.cpp 1
+ \dots 8
+ \snippet doc/src/snippets/audio/main.cpp 2
+
+ A QAudioDeviceInfo is used by Qt to construct
+ classes that communicate with the device--such as
+ QAudioInput, and QAudioOutput. The static
+ functions defaultInputDevice(), defaultOutputDevice(), and
+ availableDevices() let you get a list of all available
+ devices. Devices are fetch according to the value of mode
+ this is specified by the QAudio::Mode enum.
+ The QAudioDeviceInfo returned are only valid for the QAudio::Mode.
+
+ For instance:
+
+ \code
+ foreach(const QAudioDeviceInfo &deviceInfo, QAudioDeviceInfo::availableDevices(QAudio::AudioOutput))
+ qDebug() << "Device name: " << deviceInfo.deviceName();
+ \endcode
+
+ In this code sample, we loop through all devices that are able to output
+ sound, i.e., play an audio stream in a supported format. For each device we
+ find, we simply print the deviceName().
+
+ \sa QAudioOutput, QAudioInput
+*/
+
+/*!
+ Constructs an empty QAudioDeviceInfo object.
+*/
+
+QAudioDeviceInfo::QAudioDeviceInfo():
+ d(new QAudioDeviceInfoPrivate)
+{
+}
+
+/*!
+ Constructs a copy of \a other.
+*/
+
+QAudioDeviceInfo::QAudioDeviceInfo(const QAudioDeviceInfo& other):
+ d(other.d)
+{
+}
+
+/*!
+ Destroy this audio device info.
+*/
+
+QAudioDeviceInfo::~QAudioDeviceInfo()
+{
+}
+
+/*!
+ Sets the QAudioDeviceInfo object to be equal to \a other.
+*/
+
+QAudioDeviceInfo& QAudioDeviceInfo::operator=(const QAudioDeviceInfo &other)
+{
+ d = other.d;
+ return *this;
+}
+
+/*!
+ Returns whether this QAudioDeviceInfo object holds a device definition.
+*/
+
+bool QAudioDeviceInfo::isNull() const
+{
+ return d->info == 0;
+}
+
+/*!
+ Returns human readable name of audio device.
+
+ Device names vary depending on platform/audio plugin being used.
+
+ They are a unique string identifiers for the audio device.
+
+ eg. default, Intel, U0x46d0x9a4
+*/
+
+QString QAudioDeviceInfo::deviceName() const
+{
+ return isNull() ? QString() : d->info->deviceName();
+}
+
+/*!
+ Returns true if \a settings are supported by the audio device of this QAudioDeviceInfo.
+*/
+
+bool QAudioDeviceInfo::isFormatSupported(const QAudioFormat &settings) const
+{
+ return isNull() ? false : d->info->isFormatSupported(settings);
+}
+
+/*!
+ Returns QAudioFormat of default settings.
+
+ These settings are provided by the platform/audio plugin being used.
+
+ They also are dependent on the QAudio::Mode being used.
+
+ A typical audio system would provide something like:
+ \list
+ \o Input settings: 8000Hz mono 8 bit.
+ \o Output settings: 44100Hz stereo 16 bit little endian.
+ \endlist
+*/
+
+QAudioFormat QAudioDeviceInfo::preferredFormat() const
+{
+ return isNull() ? QAudioFormat() : d->info->preferredFormat();
+}
+
+/*!
+ Returns closest QAudioFormat to \a settings that system audio supports.
+
+ These settings are provided by the platform/audio plugin being used.
+
+ They also are dependent on the QAudio::Mode being used.
+*/
+
+QAudioFormat QAudioDeviceInfo::nearestFormat(const QAudioFormat &settings) const
+{
+ if (isFormatSupported(settings))
+ return settings;
+
+ QAudioFormat nearest = settings;
+
+ nearest.setCodec(QLatin1String("audio/pcm"));
+
+ if (nearest.sampleType() == QAudioFormat::Unknown) {
+ QAudioFormat preferred = preferredFormat();
+ nearest.setSampleType(preferred.sampleType());
+ }
+
+ QMap<int,int> testFrequencies;
+ QList<int> frequenciesAvailable = supportedFrequencies();
+ QMap<int,int> testSampleSizes;
+ QList<int> sampleSizesAvailable = supportedSampleSizes();
+
+ // Get sorted sampleSizes (equal to and ascending values only)
+ if (sampleSizesAvailable.contains(settings.sampleSize()))
+ testSampleSizes.insert(0,settings.sampleSize());
+ sampleSizesAvailable.removeAll(settings.sampleSize());
+ foreach (int size, sampleSizesAvailable) {
+ int larger = (size > settings.sampleSize()) ? size : settings.sampleSize();
+ int smaller = (size > settings.sampleSize()) ? settings.sampleSize() : size;
+ if (size >= settings.sampleSize()) {
+ int diff = larger - smaller;
+ testSampleSizes.insert(diff, size);
+ }
+ }
+
+ // Get sorted frequencies (equal to and ascending values only)
+ if (frequenciesAvailable.contains(settings.frequency()))
+ testFrequencies.insert(0,settings.frequency());
+ frequenciesAvailable.removeAll(settings.frequency());
+ foreach (int frequency, frequenciesAvailable) {
+ int larger = (frequency > settings.frequency()) ? frequency : settings.frequency();
+ int smaller = (frequency > settings.frequency()) ? settings.frequency() : frequency;
+ if (frequency >= settings.frequency()) {
+ int diff = larger - smaller;
+ testFrequencies.insert(diff, frequency);
+ }
+ }
+
+ // Try to find nearest
+ // Check ascending frequencies, ascending sampleSizes
+ QMapIterator<int, int> sz(testSampleSizes);
+ while (sz.hasNext()) {
+ sz.next();
+ nearest.setSampleSize(sz.value());
+ QMapIterator<int, int> i(testFrequencies);
+ while (i.hasNext()) {
+ i.next();
+ nearest.setFrequency(i.value());
+ if (isFormatSupported(nearest))
+ return nearest;
+ }
+ }
+
+ //Fallback
+ return preferredFormat();
+}
+
+/*!
+ Returns a list of supported codecs.
+
+ All platform and plugin implementations should provide support for:
+
+ "audio/pcm" - Linear PCM
+
+ For writing plugins to support additional codecs refer to:
+
+ http://www.iana.org/assignments/media-types/audio/
+*/
+
+QStringList QAudioDeviceInfo::supportedCodecs() const
+{
+ return isNull() ? QStringList() : d->info->codecList();
+}
+
+/*!
+ Returns a list of supported sample rates.
+
+ \since 4.7
+*/
+
+QList<int> QAudioDeviceInfo::supportedSampleRates() const
+{
+ return supportedFrequencies();
+}
+
+/*!
+ \obsolete
+
+ Use supportedSampleRates() instead.
+*/
+
+QList<int> QAudioDeviceInfo::supportedFrequencies() const
+{
+ return isNull() ? QList<int>() : d->info->frequencyList();
+}
+
+/*!
+ Returns a list of supported channel counts.
+
+ \since 4.7
+*/
+
+QList<int> QAudioDeviceInfo::supportedChannelCounts() const
+{
+ return supportedChannels();
+}
+
+/*!
+ \obsolete
+
+ Use supportedChannelCount() instead.
+*/
+
+QList<int> QAudioDeviceInfo::supportedChannels() const
+{
+ return isNull() ? QList<int>() : d->info->channelsList();
+}
+
+/*!
+ Returns a list of supported sample sizes.
+*/
+
+QList<int> QAudioDeviceInfo::supportedSampleSizes() const
+{
+ return isNull() ? QList<int>() : d->info->sampleSizeList();
+}
+
+/*!
+ Returns a list of supported byte orders.
+*/
+
+QList<QAudioFormat::Endian> QAudioDeviceInfo::supportedByteOrders() const
+{
+ return isNull() ? QList<QAudioFormat::Endian>() : d->info->byteOrderList();
+}
+
+/*!
+ Returns a list of supported sample types.
+*/
+
+QList<QAudioFormat::SampleType> QAudioDeviceInfo::supportedSampleTypes() const
+{
+ return isNull() ? QList<QAudioFormat::SampleType>() : d->info->sampleTypeList();
+}
+
+/*!
+ Returns the name of the default input audio device.
+ All platform and audio plugin implementations provide a default audio device to use.
+*/
+
+QAudioDeviceInfo QAudioDeviceInfo::defaultInputDevice()
+{
+ return QAudioDeviceFactory::defaultInputDevice();
+}
+
+/*!
+ Returns the name of the default output audio device.
+ All platform and audio plugin implementations provide a default audio device to use.
+*/
+
+QAudioDeviceInfo QAudioDeviceInfo::defaultOutputDevice()
+{
+ return QAudioDeviceFactory::defaultOutputDevice();
+}
+
+/*!
+ Returns a list of audio devices that support \a mode.
+*/
+
+QList<QAudioDeviceInfo> QAudioDeviceInfo::availableDevices(QAudio::Mode mode)
+{
+ return QAudioDeviceFactory::availableDevices(mode);
+}
+
+
+/*!
+ \internal
+*/
+
+QAudioDeviceInfo::QAudioDeviceInfo(const QString &realm, const QByteArray &handle, QAudio::Mode mode):
+ d(new QAudioDeviceInfoPrivate(realm, handle, mode))
+{
+}
+
+/*!
+ \internal
+*/
+
+QString QAudioDeviceInfo::realm() const
+{
+ return d->realm;
+}
+
+/*!
+ \internal
+*/
+
+QByteArray QAudioDeviceInfo::handle() const
+{
+ return d->handle;
+}
+
+
+/*!
+ \internal
+*/
+
+QAudio::Mode QAudioDeviceInfo::mode() const
+{
+ return d->mode;
+}
+
+QT_END_NAMESPACE
+
diff --git a/src/multimedia/multimedia/audio/qaudiodeviceinfo.h b/src/multimedia/audio/qaudiodeviceinfo.h
index 1cc07319d8..1cc07319d8 100644
--- a/src/multimedia/multimedia/audio/qaudiodeviceinfo.h
+++ b/src/multimedia/audio/qaudiodeviceinfo.h
diff --git a/src/multimedia/multimedia/audio/qaudiodeviceinfo_alsa_p.cpp b/src/multimedia/audio/qaudiodeviceinfo_alsa_p.cpp
index 36270a7a25..36270a7a25 100644
--- a/src/multimedia/multimedia/audio/qaudiodeviceinfo_alsa_p.cpp
+++ b/src/multimedia/audio/qaudiodeviceinfo_alsa_p.cpp
diff --git a/src/multimedia/multimedia/audio/qaudiodeviceinfo_alsa_p.h b/src/multimedia/audio/qaudiodeviceinfo_alsa_p.h
index 6f9a459366..6f9a459366 100644
--- a/src/multimedia/multimedia/audio/qaudiodeviceinfo_alsa_p.h
+++ b/src/multimedia/audio/qaudiodeviceinfo_alsa_p.h
diff --git a/src/multimedia/multimedia/audio/qaudiodeviceinfo_mac_p.cpp b/src/multimedia/audio/qaudiodeviceinfo_mac_p.cpp
index ecd03e5dc0..ecd03e5dc0 100644
--- a/src/multimedia/multimedia/audio/qaudiodeviceinfo_mac_p.cpp
+++ b/src/multimedia/audio/qaudiodeviceinfo_mac_p.cpp
diff --git a/src/multimedia/multimedia/audio/qaudiodeviceinfo_mac_p.h b/src/multimedia/audio/qaudiodeviceinfo_mac_p.h
index e234384856..e234384856 100644
--- a/src/multimedia/multimedia/audio/qaudiodeviceinfo_mac_p.h
+++ b/src/multimedia/audio/qaudiodeviceinfo_mac_p.h
diff --git a/src/multimedia/audio/qaudiodeviceinfo_symbian_p.cpp b/src/multimedia/audio/qaudiodeviceinfo_symbian_p.cpp
new file mode 100644
index 0000000000..4be116fe58
--- /dev/null
+++ b/src/multimedia/audio/qaudiodeviceinfo_symbian_p.cpp
@@ -0,0 +1,240 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtMultimedia module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include <QtCore/QCoreApplication>
+#include "qaudiodeviceinfo_symbian_p.h"
+#include "qaudio_symbian_p.h"
+
+QT_BEGIN_NAMESPACE
+
+QAudioDeviceInfoInternal::QAudioDeviceInfoInternal(QByteArray device,
+ QAudio::Mode mode)
+ : m_deviceName(QLatin1String(device))
+ , m_mode(mode)
+ , m_updated(false)
+{
+
+}
+
+QAudioDeviceInfoInternal::~QAudioDeviceInfoInternal()
+{
+
+}
+
+QAudioFormat QAudioDeviceInfoInternal::preferredFormat() const
+{
+ QAudioFormat format;
+ switch (m_mode) {
+ case QAudio::AudioOutput:
+ format.setFrequency(44100);
+ format.setChannels(2);
+ format.setSampleSize(16);
+ format.setByteOrder(QAudioFormat::LittleEndian);
+ format.setSampleType(QAudioFormat::SignedInt);
+ format.setCodec(QLatin1String("audio/pcm"));
+ break;
+
+ case QAudio::AudioInput:
+ format.setFrequency(8000);
+ format.setChannels(1);
+ format.setSampleSize(16);
+ format.setByteOrder(QAudioFormat::LittleEndian);
+ format.setSampleType(QAudioFormat::SignedInt);
+ format.setCodec(QLatin1String("audio/pcm"));
+ break;
+
+ default:
+ Q_ASSERT_X(false, Q_FUNC_INFO, "Invalid mode");
+ }
+
+ if (!isFormatSupported(format)) {
+ format = QAudioFormat();
+ format.setCodec(QLatin1String("audio/pcm"));
+ if (m_capabilities.contains(format.codec())) {
+ const Capabilities &codecCaps = m_capabilities[format.codec()];
+ if (codecCaps.m_frequencies.size())
+ format.setFrequency(codecCaps.m_frequencies[0]);
+ if (codecCaps.m_channels.size())
+ format.setChannels(codecCaps.m_channels[0]);
+ if (codecCaps.m_sampleSizes.size())
+ format.setSampleSize(codecCaps.m_sampleSizes[0]);
+ if (codecCaps.m_byteOrders.size())
+ format.setByteOrder(codecCaps.m_byteOrders[0]);
+ if (codecCaps.m_sampleTypes.size())
+ format.setSampleType(codecCaps.m_sampleTypes[0]);
+ }
+ }
+
+ return format;
+}
+
+bool QAudioDeviceInfoInternal::isFormatSupported(
+ const QAudioFormat &format) const
+{
+ getSupportedFormats();
+ bool supported = false;
+ if (m_capabilities.contains(format.codec())) {
+ const Capabilities &codecCaps = m_capabilities[format.codec()];
+ supported = codecCaps.m_frequencies.contains(format.frequency())
+ && codecCaps.m_channels.contains(format.channels())
+ && codecCaps.m_sampleSizes.contains(format.sampleSize())
+ && codecCaps.m_byteOrders.contains(format.byteOrder())
+ && codecCaps.m_sampleTypes.contains(format.sampleType());
+ }
+ return supported;
+}
+
+QAudioFormat QAudioDeviceInfoInternal::nearestFormat(const QAudioFormat &format) const
+{
+ if (isFormatSupported(format))
+ return format;
+ else
+ return preferredFormat();
+}
+
+QString QAudioDeviceInfoInternal::deviceName() const
+{
+ return m_deviceName;
+}
+
+QStringList QAudioDeviceInfoInternal::codecList()
+{
+ getSupportedFormats();
+ return m_capabilities.keys();
+}
+
+QList<int> QAudioDeviceInfoInternal::frequencyList()
+{
+ getSupportedFormats();
+ return m_unionCapabilities.m_frequencies;
+}
+
+QList<int> QAudioDeviceInfoInternal::channelsList()
+{
+ getSupportedFormats();
+ return m_unionCapabilities.m_channels;
+}
+
+QList<int> QAudioDeviceInfoInternal::sampleSizeList()
+{
+ getSupportedFormats();
+ return m_unionCapabilities.m_sampleSizes;
+}
+
+QList<QAudioFormat::Endian> QAudioDeviceInfoInternal::byteOrderList()
+{
+ getSupportedFormats();
+ return m_unionCapabilities.m_byteOrders;
+}
+
+QList<QAudioFormat::SampleType> QAudioDeviceInfoInternal::sampleTypeList()
+{
+ getSupportedFormats();
+ return m_unionCapabilities.m_sampleTypes;
+}
+
+QByteArray QAudioDeviceInfoInternal::defaultInputDevice()
+{
+ return QByteArray("default");
+}
+
+QByteArray QAudioDeviceInfoInternal::defaultOutputDevice()
+{
+ return QByteArray("default");
+}
+
+QList<QByteArray> QAudioDeviceInfoInternal::availableDevices(QAudio::Mode)
+{
+ QList<QByteArray> result;
+ result += QByteArray("default");
+ return result;
+}
+
+void QAudioDeviceInfoInternal::devsoundInitializeComplete(int err)
+{
+ m_intializationResult = err;
+ m_initializing = false;
+}
+
+// Helper function
+template<typename T>
+void appendUnique(QList<T> &left, const QList<T> &right)
+{
+ foreach (const T &value, right)
+ if (!left.contains(value))
+ left += value;
+}
+
+void QAudioDeviceInfoInternal::getSupportedFormats() const
+{
+ if (!m_updated) {
+ QScopedPointer<SymbianAudio::DevSoundWrapper> devsound(new SymbianAudio::DevSoundWrapper(m_mode));
+ connect(devsound.data(), SIGNAL(initializeComplete(int)),
+ this, SLOT(devsoundInitializeComplete(int)));
+
+ foreach (const QString& codec, devsound->supportedCodecs()) {
+ m_initializing = true;
+ devsound->initialize(codec);
+ while (m_initializing)
+ QCoreApplication::instance()->processEvents(QEventLoop::WaitForMoreEvents);
+ if (KErrNone == m_intializationResult) {
+ m_capabilities[codec].m_frequencies = devsound->supportedFrequencies();
+ appendUnique(m_unionCapabilities.m_frequencies, devsound->supportedFrequencies());
+
+ m_capabilities[codec].m_channels = devsound->supportedChannels();
+ appendUnique(m_unionCapabilities.m_channels, devsound->supportedChannels());
+
+ m_capabilities[codec].m_sampleSizes = devsound->supportedSampleSizes();
+ appendUnique(m_unionCapabilities.m_sampleSizes, devsound->supportedSampleSizes());
+
+ m_capabilities[codec].m_byteOrders = devsound->supportedByteOrders();
+ appendUnique(m_unionCapabilities.m_byteOrders, devsound->supportedByteOrders());
+
+ m_capabilities[codec].m_sampleTypes = devsound->supportedSampleTypes();
+ appendUnique(m_unionCapabilities.m_sampleTypes, devsound->supportedSampleTypes());
+ }
+ }
+
+ m_updated = true;
+ }
+}
+
+QT_END_NAMESPACE
diff --git a/src/multimedia/audio/qaudiodeviceinfo_symbian_p.h b/src/multimedia/audio/qaudiodeviceinfo_symbian_p.h
new file mode 100644
index 0000000000..79b23cc793
--- /dev/null
+++ b/src/multimedia/audio/qaudiodeviceinfo_symbian_p.h
@@ -0,0 +1,121 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtMultimedia module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+//
+// W A R N I N G
+// -------------
+//
+// This file is not part of the Qt API. It exists for the convenience
+// of other Qt classes. This header file may change from version to
+// version without notice, or even be removed.
+//
+// We mean it.
+//
+
+#ifndef QAUDIODEVICEINFO_SYMBIAN_P_H
+#define QAUDIODEVICEINFO_SYMBIAN_P_H
+
+#include <QtCore/QMap>
+#include <QtMultimedia/qaudioengine.h>
+#include <sounddevice.h>
+
+QT_BEGIN_NAMESPACE
+
+namespace SymbianAudio {
+class DevSoundWrapper;
+}
+
+class QAudioDeviceInfoInternal
+ : public QAbstractAudioDeviceInfo
+{
+ Q_OBJECT
+
+public:
+ QAudioDeviceInfoInternal(QByteArray device, QAudio::Mode mode);
+ ~QAudioDeviceInfoInternal();
+
+ // QAbstractAudioDeviceInfo
+ QAudioFormat preferredFormat() const;
+ bool isFormatSupported(const QAudioFormat &format) const;
+ QAudioFormat nearestFormat(const QAudioFormat &format) const;
+ QString deviceName() const;
+ QStringList codecList();
+ QList<int> frequencyList();
+ QList<int> channelsList();
+ QList<int> sampleSizeList();
+ QList<QAudioFormat::Endian> byteOrderList();
+ QList<QAudioFormat::SampleType> sampleTypeList();
+ static QByteArray defaultInputDevice();
+ static QByteArray defaultOutputDevice();
+ static QList<QByteArray> availableDevices(QAudio::Mode);
+
+private slots:
+ void devsoundInitializeComplete(int err);
+
+private:
+ void getSupportedFormats() const;
+
+private:
+ mutable bool m_initializing;
+ int m_intializationResult;
+
+ QString m_deviceName;
+ QAudio::Mode m_mode;
+
+ struct Capabilities
+ {
+ QList<int> m_frequencies;
+ QList<int> m_channels;
+ QList<int> m_sampleSizes;
+ QList<QAudioFormat::Endian> m_byteOrders;
+ QList<QAudioFormat::SampleType> m_sampleTypes;
+ };
+
+ // Mutable to allow lazy initialization when called from const-qualified
+ // public functions (isFormatSupported, nearestFormat)
+ mutable bool m_updated;
+ mutable QMap<QString, Capabilities> m_capabilities;
+ mutable Capabilities m_unionCapabilities;
+};
+
+QT_END_NAMESPACE
+
+#endif
diff --git a/src/multimedia/multimedia/audio/qaudiodeviceinfo_win32_p.cpp b/src/multimedia/audio/qaudiodeviceinfo_win32_p.cpp
index aee0807463..aee0807463 100644
--- a/src/multimedia/multimedia/audio/qaudiodeviceinfo_win32_p.cpp
+++ b/src/multimedia/audio/qaudiodeviceinfo_win32_p.cpp
diff --git a/src/multimedia/multimedia/audio/qaudiodeviceinfo_win32_p.h b/src/multimedia/audio/qaudiodeviceinfo_win32_p.h
index cb6dd91aac..cb6dd91aac 100644
--- a/src/multimedia/multimedia/audio/qaudiodeviceinfo_win32_p.h
+++ b/src/multimedia/audio/qaudiodeviceinfo_win32_p.h
diff --git a/src/multimedia/multimedia/audio/qaudioengine.cpp b/src/multimedia/audio/qaudioengine.cpp
index 7f1f5d32c2..7f1f5d32c2 100644
--- a/src/multimedia/multimedia/audio/qaudioengine.cpp
+++ b/src/multimedia/audio/qaudioengine.cpp
diff --git a/src/multimedia/multimedia/audio/qaudioengine.h b/src/multimedia/audio/qaudioengine.h
index df9d09dd3b..df9d09dd3b 100644
--- a/src/multimedia/multimedia/audio/qaudioengine.h
+++ b/src/multimedia/audio/qaudioengine.h
diff --git a/src/multimedia/multimedia/audio/qaudioengineplugin.cpp b/src/multimedia/audio/qaudioengineplugin.cpp
index 82324b5222..82324b5222 100644
--- a/src/multimedia/multimedia/audio/qaudioengineplugin.cpp
+++ b/src/multimedia/audio/qaudioengineplugin.cpp
diff --git a/src/multimedia/multimedia/audio/qaudioengineplugin.h b/src/multimedia/audio/qaudioengineplugin.h
index 2322d2a829..2322d2a829 100644
--- a/src/multimedia/multimedia/audio/qaudioengineplugin.h
+++ b/src/multimedia/audio/qaudioengineplugin.h
diff --git a/src/multimedia/multimedia/audio/qaudioformat.cpp b/src/multimedia/audio/qaudioformat.cpp
index 86d72f6197..86d72f6197 100644
--- a/src/multimedia/multimedia/audio/qaudioformat.cpp
+++ b/src/multimedia/audio/qaudioformat.cpp
diff --git a/src/multimedia/multimedia/audio/qaudioformat.h b/src/multimedia/audio/qaudioformat.h
index 6c835b77ed..6c835b77ed 100644
--- a/src/multimedia/multimedia/audio/qaudioformat.h
+++ b/src/multimedia/audio/qaudioformat.h
diff --git a/src/multimedia/multimedia/audio/qaudioinput.cpp b/src/multimedia/audio/qaudioinput.cpp
index 3676f64758..3676f64758 100644
--- a/src/multimedia/multimedia/audio/qaudioinput.cpp
+++ b/src/multimedia/audio/qaudioinput.cpp
diff --git a/src/multimedia/multimedia/audio/qaudioinput.h b/src/multimedia/audio/qaudioinput.h
index 5be9b5a4c4..5be9b5a4c4 100644
--- a/src/multimedia/multimedia/audio/qaudioinput.h
+++ b/src/multimedia/audio/qaudioinput.h
diff --git a/src/multimedia/multimedia/audio/qaudioinput_alsa_p.cpp b/src/multimedia/audio/qaudioinput_alsa_p.cpp
index c9a8b713f8..c9a8b713f8 100644
--- a/src/multimedia/multimedia/audio/qaudioinput_alsa_p.cpp
+++ b/src/multimedia/audio/qaudioinput_alsa_p.cpp
diff --git a/src/multimedia/multimedia/audio/qaudioinput_alsa_p.h b/src/multimedia/audio/qaudioinput_alsa_p.h
index c907019318..c907019318 100644
--- a/src/multimedia/multimedia/audio/qaudioinput_alsa_p.h
+++ b/src/multimedia/audio/qaudioinput_alsa_p.h
diff --git a/src/multimedia/multimedia/audio/qaudioinput_mac_p.cpp b/src/multimedia/audio/qaudioinput_mac_p.cpp
index cb65f6e635..cb65f6e635 100644
--- a/src/multimedia/multimedia/audio/qaudioinput_mac_p.cpp
+++ b/src/multimedia/audio/qaudioinput_mac_p.cpp
diff --git a/src/multimedia/multimedia/audio/qaudioinput_mac_p.h b/src/multimedia/audio/qaudioinput_mac_p.h
index 7aa4168ba1..7aa4168ba1 100644
--- a/src/multimedia/multimedia/audio/qaudioinput_mac_p.h
+++ b/src/multimedia/audio/qaudioinput_mac_p.h
diff --git a/src/multimedia/audio/qaudioinput_symbian_p.cpp b/src/multimedia/audio/qaudioinput_symbian_p.cpp
new file mode 100644
index 0000000000..9d240cad30
--- /dev/null
+++ b/src/multimedia/audio/qaudioinput_symbian_p.cpp
@@ -0,0 +1,551 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtMultimedia module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include "qaudioinput_symbian_p.h"
+
+QT_BEGIN_NAMESPACE
+
+//-----------------------------------------------------------------------------
+// Constants
+//-----------------------------------------------------------------------------
+
+const int PushInterval = 50; // ms
+
+
+//-----------------------------------------------------------------------------
+// Private class
+//-----------------------------------------------------------------------------
+
+SymbianAudioInputPrivate::SymbianAudioInputPrivate(
+ QAudioInputPrivate *audioDevice)
+ : m_audioDevice(audioDevice)
+{
+
+}
+
+SymbianAudioInputPrivate::~SymbianAudioInputPrivate()
+{
+
+}
+
+qint64 SymbianAudioInputPrivate::readData(char *data, qint64 len)
+{
+ qint64 totalRead = 0;
+
+ if (m_audioDevice->state() == QAudio::ActiveState ||
+ m_audioDevice->state() == QAudio::IdleState) {
+
+ while (totalRead < len) {
+ const qint64 read = m_audioDevice->read(data + totalRead,
+ len - totalRead);
+ if (read > 0)
+ totalRead += read;
+ else
+ break;
+ }
+ }
+
+ return totalRead;
+}
+
+qint64 SymbianAudioInputPrivate::writeData(const char *data, qint64 len)
+{
+ Q_UNUSED(data)
+ Q_UNUSED(len)
+ return 0;
+}
+
+void SymbianAudioInputPrivate::dataReady()
+{
+ emit readyRead();
+}
+
+
+//-----------------------------------------------------------------------------
+// Public functions
+//-----------------------------------------------------------------------------
+
+QAudioInputPrivate::QAudioInputPrivate(const QByteArray &device,
+ const QAudioFormat &format)
+ : m_device(device)
+ , m_format(format)
+ , m_clientBufferSize(SymbianAudio::DefaultBufferSize)
+ , m_notifyInterval(SymbianAudio::DefaultNotifyInterval)
+ , m_notifyTimer(new QTimer(this))
+ , m_error(QAudio::NoError)
+ , m_internalState(SymbianAudio::ClosedState)
+ , m_externalState(QAudio::StoppedState)
+ , m_pullMode(false)
+ , m_sink(0)
+ , m_pullTimer(new QTimer(this))
+ , m_devSound(0)
+ , m_devSoundBuffer(0)
+ , m_devSoundBufferSize(0)
+ , m_totalBytesReady(0)
+ , m_devSoundBufferPos(0)
+ , m_totalSamplesRecorded(0)
+{
+ qRegisterMetaType<CMMFBuffer *>("CMMFBuffer *");
+
+ connect(m_notifyTimer.data(), SIGNAL(timeout()), this, SIGNAL(notify()));
+
+ m_pullTimer->setInterval(PushInterval);
+ connect(m_pullTimer.data(), SIGNAL(timeout()), this, SLOT(pullData()));
+}
+
+QAudioInputPrivate::~QAudioInputPrivate()
+{
+ close();
+}
+
+QIODevice* QAudioInputPrivate::start(QIODevice *device)
+{
+ stop();
+
+ open();
+ if (SymbianAudio::ClosedState != m_internalState) {
+ if (device) {
+ m_pullMode = true;
+ m_sink = device;
+ } else {
+ m_sink = new SymbianAudioInputPrivate(this);
+ m_sink->open(QIODevice::ReadOnly | QIODevice::Unbuffered);
+ }
+
+ m_elapsed.restart();
+ }
+
+ return m_sink;
+}
+
+void QAudioInputPrivate::stop()
+{
+ close();
+}
+
+void QAudioInputPrivate::reset()
+{
+ m_totalSamplesRecorded += getSamplesRecorded();
+ m_devSound->stop();
+ startRecording();
+}
+
+void QAudioInputPrivate::suspend()
+{
+ if (SymbianAudio::ActiveState == m_internalState
+ || SymbianAudio::IdleState == m_internalState) {
+ m_notifyTimer->stop();
+ m_pullTimer->stop();
+ m_devSound->pause();
+ const qint64 samplesRecorded = getSamplesRecorded();
+ m_totalSamplesRecorded += samplesRecorded;
+
+ if (m_devSoundBuffer) {
+ m_devSoundBufferQ.append(m_devSoundBuffer);
+ m_devSoundBuffer = 0;
+ }
+
+ setState(SymbianAudio::SuspendedState);
+ }
+}
+
+void QAudioInputPrivate::resume()
+{
+ if (SymbianAudio::SuspendedState == m_internalState) {
+ if (!m_pullMode && !bytesReady())
+ m_devSound->start();
+ startDataTransfer();
+ }
+}
+
+int QAudioInputPrivate::bytesReady() const
+{
+ Q_ASSERT(m_devSoundBufferPos <= m_totalBytesReady);
+ return m_totalBytesReady - m_devSoundBufferPos;
+}
+
+int QAudioInputPrivate::periodSize() const
+{
+ return bufferSize();
+}
+
+void QAudioInputPrivate::setBufferSize(int value)
+{
+ // Note that DevSound does not allow its client to specify the buffer size.
+ // This functionality is available via custom interfaces, but since these
+ // cannot be guaranteed to work across all DevSound implementations, we
+ // do not use them here.
+ // In order to comply with the expected bevahiour of QAudioInput, we store
+ // the value and return it from bufferSize(), but the underlying DevSound
+ // buffer size remains unchanged.
+ if (value > 0)
+ m_clientBufferSize = value;
+}
+
+int QAudioInputPrivate::bufferSize() const
+{
+ return m_devSoundBufferSize ? m_devSoundBufferSize : m_clientBufferSize;
+}
+
+void QAudioInputPrivate::setNotifyInterval(int ms)
+{
+ if (ms >= 0) {
+ const int oldNotifyInterval = m_notifyInterval;
+ m_notifyInterval = ms;
+ if (m_notifyInterval && (SymbianAudio::ActiveState == m_internalState ||
+ SymbianAudio::IdleState == m_internalState))
+ m_notifyTimer->start(m_notifyInterval);
+ else
+ m_notifyTimer->stop();
+ }
+}
+
+int QAudioInputPrivate::notifyInterval() const
+{
+ return m_notifyInterval;
+}
+
+qint64 QAudioInputPrivate::processedUSecs() const
+{
+ int samplesPlayed = 0;
+ if (m_devSound && SymbianAudio::SuspendedState != m_internalState)
+ samplesPlayed = getSamplesRecorded();
+
+ // Protect against division by zero
+ Q_ASSERT_X(m_format.frequency() > 0, Q_FUNC_INFO, "Invalid frequency");
+
+ const qint64 result = qint64(1000000) *
+ (samplesPlayed + m_totalSamplesRecorded)
+ / m_format.frequency();
+
+ return result;
+}
+
+qint64 QAudioInputPrivate::elapsedUSecs() const
+{
+ const qint64 result = (QAudio::StoppedState == state()) ?
+ 0 : m_elapsed.elapsed() * 1000;
+ return result;
+}
+
+QAudio::Error QAudioInputPrivate::error() const
+{
+ return m_error;
+}
+
+QAudio::State QAudioInputPrivate::state() const
+{
+ return m_externalState;
+}
+
+QAudioFormat QAudioInputPrivate::format() const
+{
+ return m_format;
+}
+
+
+//-----------------------------------------------------------------------------
+// Private functions
+//-----------------------------------------------------------------------------
+
+void QAudioInputPrivate::open()
+{
+ Q_ASSERT_X(SymbianAudio::ClosedState == m_internalState,
+ Q_FUNC_INFO, "DevSound already opened");
+
+ Q_ASSERT(!m_devSound);
+ m_devSound = new SymbianAudio::DevSoundWrapper(QAudio::AudioInput, this);
+
+ connect(m_devSound, SIGNAL(initializeComplete(int)),
+ this, SLOT(devsoundInitializeComplete(int)));
+ connect(m_devSound, SIGNAL(bufferToBeProcessed(CMMFBuffer *)),
+ this, SLOT(devsoundBufferToBeEmptied(CMMFBuffer *)));
+ connect(m_devSound, SIGNAL(processingError(int)),
+ this, SLOT(devsoundRecordError(int)));
+
+ setState(SymbianAudio::InitializingState);
+ m_devSound->initialize(m_format.codec());
+}
+
+void QAudioInputPrivate::startRecording()
+{
+ const int samplesRecorded = m_devSound->samplesProcessed();
+ Q_ASSERT(samplesRecorded == 0);
+
+ bool ok = m_devSound->setFormat(m_format);
+ if (ok)
+ ok = m_devSound->start();
+
+ if (ok) {
+ startDataTransfer();
+ } else {
+ setError(QAudio::OpenError);
+ close();
+ }
+}
+
+void QAudioInputPrivate::startDataTransfer()
+{
+ if (m_notifyInterval)
+ m_notifyTimer->start(m_notifyInterval);
+
+ if (m_pullMode)
+ m_pullTimer->start();
+
+ if (bytesReady()) {
+ setState(SymbianAudio::ActiveState);
+ if (!m_pullMode)
+ pushData();
+ } else {
+ if (SymbianAudio::SuspendedState == m_internalState)
+ setState(SymbianAudio::ActiveState);
+ else
+ setState(SymbianAudio::IdleState);
+ }
+}
+
+CMMFDataBuffer* QAudioInputPrivate::currentBuffer() const
+{
+ CMMFDataBuffer *result = m_devSoundBuffer;
+ if (!result && !m_devSoundBufferQ.empty())
+ result = m_devSoundBufferQ.front();
+ return result;
+}
+
+void QAudioInputPrivate::pushData()
+{
+ Q_ASSERT_X(bytesReady(), Q_FUNC_INFO, "No data available");
+ Q_ASSERT_X(!m_pullMode, Q_FUNC_INFO, "pushData called when in pull mode");
+ qobject_cast<SymbianAudioInputPrivate *>(m_sink)->dataReady();
+}
+
+qint64 QAudioInputPrivate::read(char *data, qint64 len)
+{
+ // SymbianAudioInputPrivate is ready to read data
+
+ Q_ASSERT_X(!m_pullMode, Q_FUNC_INFO,
+ "read called when in pull mode");
+
+ qint64 bytesRead = 0;
+
+ CMMFDataBuffer *buffer = 0;
+ while ((buffer = currentBuffer()) && (bytesRead < len)) {
+ if (SymbianAudio::IdleState == m_internalState)
+ setState(SymbianAudio::ActiveState);
+
+ TDesC8 &inputBuffer = buffer->Data();
+
+ const qint64 inputBytes = bytesReady();
+ const qint64 outputBytes = len - bytesRead;
+ const qint64 copyBytes = outputBytes < inputBytes ?
+ outputBytes : inputBytes;
+
+ memcpy(data, inputBuffer.Ptr() + m_devSoundBufferPos, copyBytes);
+
+ m_devSoundBufferPos += copyBytes;
+ data += copyBytes;
+ bytesRead += copyBytes;
+
+ if (!bytesReady())
+ bufferEmptied();
+ }
+
+ return bytesRead;
+}
+
+void QAudioInputPrivate::pullData()
+{
+ Q_ASSERT_X(m_pullMode, Q_FUNC_INFO,
+ "pullData called when in push mode");
+
+ CMMFDataBuffer *buffer = 0;
+ while (buffer = currentBuffer()) {
+ if (SymbianAudio::IdleState == m_internalState)
+ setState(SymbianAudio::ActiveState);
+
+ TDesC8 &inputBuffer = buffer->Data();
+
+ const qint64 inputBytes = bytesReady();
+ const qint64 bytesPushed = m_sink->write(
+ (char*)inputBuffer.Ptr() + m_devSoundBufferPos, inputBytes);
+
+ m_devSoundBufferPos += bytesPushed;
+
+ if (!bytesReady())
+ bufferEmptied();
+
+ if (!bytesPushed)
+ break;
+ }
+}
+
+void QAudioInputPrivate::devsoundInitializeComplete(int err)
+{
+ Q_ASSERT_X(SymbianAudio::InitializingState == m_internalState,
+ Q_FUNC_INFO, "Invalid state");
+
+ if (!err && m_devSound->isFormatSupported(m_format))
+ startRecording();
+ else
+ setError(QAudio::OpenError);
+}
+
+void QAudioInputPrivate::devsoundBufferToBeEmptied(CMMFBuffer *baseBuffer)
+{
+ // Following receipt of this signal, DevSound should not provide another
+ // buffer until we have returned the current one.
+ Q_ASSERT_X(!m_devSoundBuffer, Q_FUNC_INFO, "Buffer already held");
+
+ CMMFDataBuffer *const buffer = static_cast<CMMFDataBuffer*>(baseBuffer);
+
+ if (!m_devSoundBufferSize)
+ m_devSoundBufferSize = buffer->Data().MaxLength();
+
+ m_totalBytesReady += buffer->Data().Length();
+
+ if (SymbianAudio::SuspendedState == m_internalState) {
+ m_devSoundBufferQ.append(buffer);
+ } else {
+ // Will be returned to DevSoundWrapper by bufferProcessed().
+ m_devSoundBuffer = buffer;
+ m_devSoundBufferPos = 0;
+
+ if (bytesReady() && !m_pullMode)
+ pushData();
+ }
+}
+
+void QAudioInputPrivate::devsoundRecordError(int err)
+{
+ Q_UNUSED(err)
+ setError(QAudio::IOError);
+}
+
+void QAudioInputPrivate::bufferEmptied()
+{
+ m_devSoundBufferPos = 0;
+
+ if (m_devSoundBuffer) {
+ m_totalBytesReady -= m_devSoundBuffer->Data().Length();
+ m_devSoundBuffer = 0;
+ m_devSound->bufferProcessed();
+ } else {
+ Q_ASSERT(!m_devSoundBufferQ.empty());
+ m_totalBytesReady -= m_devSoundBufferQ.front()->Data().Length();
+ m_devSoundBufferQ.erase(m_devSoundBufferQ.begin());
+
+ // If the queue has been emptied, resume transfer from the hardware
+ if (m_devSoundBufferQ.empty())
+ if (!m_devSound->start())
+ setError(QAudio::IOError);
+ }
+
+ Q_ASSERT(m_totalBytesReady >= 0);
+}
+
+void QAudioInputPrivate::close()
+{
+ m_notifyTimer->stop();
+ m_pullTimer->stop();
+
+ m_error = QAudio::NoError;
+
+ if (m_devSound)
+ m_devSound->stop();
+ delete m_devSound;
+ m_devSound = 0;
+
+ m_devSoundBuffer = 0;
+ m_devSoundBufferSize = 0;
+ m_totalBytesReady = 0;
+
+ if (!m_pullMode) // m_sink is owned
+ delete m_sink;
+ m_pullMode = false;
+ m_sink = 0;
+
+ m_devSoundBufferQ.clear();
+ m_devSoundBufferPos = 0;
+ m_totalSamplesRecorded = 0;
+
+ setState(SymbianAudio::ClosedState);
+}
+
+qint64 QAudioInputPrivate::getSamplesRecorded() const
+{
+ qint64 result = 0;
+ if (m_devSound)
+ result = qint64(m_devSound->samplesProcessed());
+ return result;
+}
+
+void QAudioInputPrivate::setError(QAudio::Error error)
+{
+ m_error = error;
+
+ // Although no state transition actually occurs here, a stateChanged event
+ // must be emitted to inform the client that the call to start() was
+ // unsuccessful.
+ if (QAudio::OpenError == error) {
+ emit stateChanged(QAudio::StoppedState);
+ } else {
+ if (QAudio::UnderrunError == error)
+ setState(SymbianAudio::IdleState);
+ else
+ // Close the DevSound instance. This causes a transition to
+ // StoppedState. This must be done asynchronously in case the
+ // current function was called from a DevSound event handler, in which
+ // case deleting the DevSound instance may cause an exception.
+ QMetaObject::invokeMethod(this, "close", Qt::QueuedConnection);
+ }
+}
+
+void QAudioInputPrivate::setState(SymbianAudio::State newInternalState)
+{
+ const QAudio::State oldExternalState = m_externalState;
+ m_internalState = newInternalState;
+ m_externalState = SymbianAudio::Utils::stateNativeToQt(m_internalState);
+
+ if (m_externalState != oldExternalState)
+ emit stateChanged(m_externalState);
+}
+
+QT_END_NAMESPACE
diff --git a/src/multimedia/audio/qaudioinput_symbian_p.h b/src/multimedia/audio/qaudioinput_symbian_p.h
new file mode 100644
index 0000000000..7417655f64
--- /dev/null
+++ b/src/multimedia/audio/qaudioinput_symbian_p.h
@@ -0,0 +1,174 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtMultimedia module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+//
+// W A R N I N G
+// -------------
+//
+// This file is not part of the Qt API. It exists for the convenience
+// of other Qt classes. This header file may change from version to
+// version without notice, or even be removed.
+//
+// We mean it.
+//
+
+#ifndef QAUDIOINPUT_SYMBIAN_P_H
+#define QAUDIOINPUT_SYMBIAN_P_H
+
+#include <QtMultimedia/qaudioengine.h>
+#include <QTime>
+#include <QTimer>
+#include "qaudio_symbian_p.h"
+
+QT_BEGIN_NAMESPACE
+
+class QAudioInputPrivate;
+
+class SymbianAudioInputPrivate : public QIODevice
+{
+ friend class QAudioInputPrivate;
+ Q_OBJECT
+public:
+ SymbianAudioInputPrivate(QAudioInputPrivate *audio);
+ ~SymbianAudioInputPrivate();
+
+ qint64 readData(char *data, qint64 len);
+ qint64 writeData(const char *data, qint64 len);
+
+ void dataReady();
+
+private:
+ QAudioInputPrivate *const m_audioDevice;
+};
+
+class QAudioInputPrivate
+ : public QAbstractAudioInput
+{
+ friend class SymbianAudioInputPrivate;
+ Q_OBJECT
+public:
+ QAudioInputPrivate(const QByteArray &device,
+ const QAudioFormat &audioFormat);
+ ~QAudioInputPrivate();
+
+ // QAbstractAudioInput
+ QIODevice* start(QIODevice *device = 0);
+ void stop();
+ void reset();
+ void suspend();
+ void resume();
+ int bytesReady() const;
+ int periodSize() const;
+ void setBufferSize(int value);
+ int bufferSize() const;
+ void setNotifyInterval(int milliSeconds);
+ int notifyInterval() const;
+ qint64 processedUSecs() const;
+ qint64 elapsedUSecs() const;
+ QAudio::Error error() const;
+ QAudio::State state() const;
+ QAudioFormat format() const;
+
+private slots:
+ void pullData();
+ void devsoundInitializeComplete(int err);
+ void devsoundBufferToBeEmptied(CMMFBuffer *);
+ void devsoundRecordError(int err);
+
+private:
+ void open();
+ void startRecording();
+ void startDataTransfer();
+ CMMFDataBuffer* currentBuffer() const;
+ void pushData();
+ qint64 read(char *data, qint64 len);
+ void bufferEmptied();
+ Q_INVOKABLE void close();
+
+ qint64 getSamplesRecorded() const;
+
+ void setError(QAudio::Error error);
+ void setState(SymbianAudio::State state);
+
+private:
+ const QByteArray m_device;
+ const QAudioFormat m_format;
+
+ int m_clientBufferSize;
+ int m_notifyInterval;
+ QScopedPointer<QTimer> m_notifyTimer;
+ QTime m_elapsed;
+ QAudio::Error m_error;
+
+ SymbianAudio::State m_internalState;
+ QAudio::State m_externalState;
+
+ bool m_pullMode;
+ QIODevice *m_sink;
+
+ QScopedPointer<QTimer> m_pullTimer;
+
+ SymbianAudio::DevSoundWrapper* m_devSound;
+
+ // Latest buffer provided by DevSound, to be empied of data.
+ CMMFDataBuffer *m_devSoundBuffer;
+
+ int m_devSoundBufferSize;
+
+ // Total amount of data in buffers provided by DevSound
+ int m_totalBytesReady;
+
+ // Queue of buffers returned after call to CMMFDevSound::Pause().
+ QList<CMMFDataBuffer *> m_devSoundBufferQ;
+
+ // Current read position within m_devSoundBuffer
+ qint64 m_devSoundBufferPos;
+
+ // Samples recorded up to the last call to suspend(). It is necessary
+ // to cache this because suspend() is implemented using
+ // CMMFDevSound::Stop(), which resets DevSound's SamplesRecorded() counter.
+ quint32 m_totalSamplesRecorded;
+
+};
+
+QT_END_NAMESPACE
+
+#endif
diff --git a/src/multimedia/multimedia/audio/qaudioinput_win32_p.cpp b/src/multimedia/audio/qaudioinput_win32_p.cpp
index 14a1cf337d..14a1cf337d 100644
--- a/src/multimedia/multimedia/audio/qaudioinput_win32_p.cpp
+++ b/src/multimedia/audio/qaudioinput_win32_p.cpp
diff --git a/src/multimedia/multimedia/audio/qaudioinput_win32_p.h b/src/multimedia/audio/qaudioinput_win32_p.h
index 8a9b02b711..8a9b02b711 100644
--- a/src/multimedia/multimedia/audio/qaudioinput_win32_p.h
+++ b/src/multimedia/audio/qaudioinput_win32_p.h
diff --git a/src/multimedia/audio/qaudiooutput.cpp b/src/multimedia/audio/qaudiooutput.cpp
new file mode 100644
index 0000000000..cf3b79cb08
--- /dev/null
+++ b/src/multimedia/audio/qaudiooutput.cpp
@@ -0,0 +1,430 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtMultimedia module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+
+#include <QtMultimedia/qaudio.h>
+#include <QtMultimedia/qaudiodeviceinfo.h>
+#include <QtMultimedia/qaudioengine.h>
+#include <QtMultimedia/qaudiooutput.h>
+
+#include "qaudiodevicefactory_p.h"
+
+
+QT_BEGIN_NAMESPACE
+
+/*!
+ \class QAudioOutput
+ \brief The QAudioOutput class provides an interface for sending audio data to an audio output device.
+
+ \inmodule QtMultimedia
+ \ingroup multimedia
+ \since 4.6
+
+ You can construct an audio output with the system's
+ \l{QAudioDeviceInfo::defaultOutputDevice()}{default audio output
+ device}. It is also possible to create QAudioOutput with a
+ specific QAudioDeviceInfo. When you create the audio output, you
+ should also send in the QAudioFormat to be used for the playback
+ (see the QAudioFormat class description for details).
+
+ To play a file:
+
+ Starting to play an audio stream is simply a matter of calling
+ start() with a QIODevice. QAudioOutput will then fetch the data it
+ needs from the io device. So playing back an audio file is as
+ simple as:
+
+ \code
+ QFile inputFile; // class member.
+ QAudioOutput* audio; // class member.
+ \endcode
+
+ \code
+ inputFile.setFileName("/tmp/test.raw");
+ inputFile.open(QIODevice::ReadOnly);
+
+ QAudioFormat format;
+ // Set up the format, eg.
+ format.setFrequency(8000);
+ format.setChannels(1);
+ format.setSampleSize(8);
+ format.setCodec("audio/pcm");
+ format.setByteOrder(QAudioFormat::LittleEndian);
+ format.setSampleType(QAudioFormat::UnSignedInt);
+
+ QAudioDeviceInfo info(QAudioDeviceInfo::defaultOutputDevice());
+ if (!info.isFormatSupported(format)) {
+ qWarning()<<"raw audio format not supported by backend, cannot play audio.";
+ return;
+ }
+
+ audio = new QAudioOutput(format, this);
+ connect(audio,SIGNAL(stateChanged(QAudio::State)),SLOT(finishedPlaying(QAudio::State)));
+ audio->start(&inputFile);
+
+ \endcode
+
+ The file will start playing assuming that the audio system and
+ output device support it. If you run out of luck, check what's
+ up with the error() function.
+
+ After the file has finished playing, we need to stop the device:
+
+ \code
+ void finishedPlaying(QAudio::State state)
+ {
+ if(state == QAudio::IdleState) {
+ audio->stop();
+ inputFile.close();
+ delete audio;
+ }
+ }
+ \endcode
+
+ At any given time, the QAudioOutput will be in one of four states:
+ active, suspended, stopped, or idle. These states are described
+ by the QAudio::State enum.
+ State changes are reported through the stateChanged() signal. You
+ can use this signal to, for instance, update the GUI of the
+ application; the mundane example here being changing the state of
+ a \c { play/pause } button. You request a state change directly
+ with suspend(), stop(), reset(), resume(), and start().
+
+ While the stream is playing, you can set a notify interval in
+ milliseconds with setNotifyInterval(). This interval specifies the
+ time between two emissions of the notify() signal. This is
+ relative to the position in the stream, i.e., if the QAudioOutput
+ is in the SuspendedState or the IdleState, the notify() signal is
+ not emitted. A typical use-case would be to update a
+ \l{QSlider}{slider} that allows seeking in the stream.
+ If you want the time since playback started regardless of which
+ states the audio output has been in, elapsedUSecs() is the function for you.
+
+ If an error occurs, you can fetch the \l{QAudio::Error}{error
+ type} with the error() function. Please see the QAudio::Error enum
+ for a description of the possible errors that are reported. When
+ an error is encountered, the state changes to QAudio::StoppedState.
+ You can check for errors by connecting to the stateChanged()
+ signal:
+
+ \snippet doc/src/snippets/audio/main.cpp 3
+
+ \sa QAudioInput, QAudioDeviceInfo
+*/
+
+/*!
+ Construct a new audio output and attach it to \a parent.
+ The default audio output device is used with the output
+ \a format parameters.
+*/
+
+QAudioOutput::QAudioOutput(const QAudioFormat &format, QObject *parent):
+ QObject(parent)
+{
+ d = QAudioDeviceFactory::createDefaultOutputDevice(format);
+ connect(d, SIGNAL(notify()), SIGNAL(notify()));
+ connect(d, SIGNAL(stateChanged(QAudio::State)), SIGNAL(stateChanged(QAudio::State)));
+}
+
+/*!
+ Construct a new audio output and attach it to \a parent.
+ The device referenced by \a audioDevice is used with the output
+ \a format parameters.
+*/
+
+QAudioOutput::QAudioOutput(const QAudioDeviceInfo &audioDevice, const QAudioFormat &format, QObject *parent):
+ QObject(parent)
+{
+ d = QAudioDeviceFactory::createOutputDevice(audioDevice, format);
+ connect(d, SIGNAL(notify()), SIGNAL(notify()));
+ connect(d, SIGNAL(stateChanged(QAudio::State)), SIGNAL(stateChanged(QAudio::State)));
+}
+
+/*!
+ Destroys this audio output.
+*/
+
+QAudioOutput::~QAudioOutput()
+{
+ delete d;
+}
+
+/*!
+ Returns the QAudioFormat being used.
+
+*/
+
+QAudioFormat QAudioOutput::format() const
+{
+ return d->format();
+}
+
+/*!
+ Uses the \a device as the QIODevice to transfer data.
+ Passing a QIODevice allows the data to be transfered without any extra code.
+ All that is required is to open the QIODevice.
+
+ If able to successfully output audio data to the systems audio device the
+ state() is set to QAudio::ActiveState, error() is set to QAudio::NoError
+ and the stateChanged() signal is emitted.
+
+ If a problem occurs during this process the error() is set to QAudio::OpenError,
+ state() is set to QAudio::StoppedState and stateChanged() signal is emitted.
+
+ In either case, the stateChanged() signal may be emitted either synchronously
+ during execution of the start() function or asynchronously after start() has
+ returned to the caller.
+
+ \sa QIODevice
+*/
+
+void QAudioOutput::start(QIODevice* device)
+{
+ d->start(device);
+}
+
+/*!
+ Returns a pointer to the QIODevice being used to handle the data
+ transfer. This QIODevice can be used to write() audio data directly.
+
+ If able to access the systems audio device the state() is set to
+ QAudio::IdleState, error() is set to QAudio::NoError
+ and the stateChanged() signal is emitted.
+
+ If a problem occurs during this process the error() is set to QAudio::OpenError,
+ state() is set to QAudio::StoppedState and stateChanged() signal is emitted.
+
+ In either case, the stateChanged() signal may be emitted either synchronously
+ during execution of the start() function or asynchronously after start() has
+ returned to the caller.
+
+ \sa QIODevice
+*/
+
+QIODevice* QAudioOutput::start()
+{
+ return d->start(0);
+}
+
+/*!
+ Stops the audio output, detaching from the system resource.
+
+ Sets error() to QAudio::NoError, state() to QAudio::StoppedState and
+ emit stateChanged() signal.
+*/
+
+void QAudioOutput::stop()
+{
+ d->stop();
+}
+
+/*!
+ Drops all audio data in the buffers, resets buffers to zero.
+*/
+
+void QAudioOutput::reset()
+{
+ d->reset();
+}
+
+/*!
+ Stops processing audio data, preserving buffered audio data.
+
+ Sets error() to QAudio::NoError, state() to QAudio::SuspendedState and
+ emit stateChanged() signal.
+*/
+
+void QAudioOutput::suspend()
+{
+ d->suspend();
+}
+
+/*!
+ Resumes processing audio data after a suspend().
+
+ Sets error() to QAudio::NoError.
+ Sets state() to QAudio::ActiveState if you previously called start(QIODevice*).
+ Sets state() to QAudio::IdleState if you previously called start().
+ emits stateChanged() signal.
+
+ Note: signal will always be emitted during execution of the resume() function.
+*/
+
+void QAudioOutput::resume()
+{
+ d->resume();
+}
+
+/*!
+ Returns the free space available in bytes in the audio buffer.
+
+ NOTE: returned value is only valid while in QAudio::ActiveState or QAudio::IdleState
+ state, otherwise returns zero.
+*/
+
+int QAudioOutput::bytesFree() const
+{
+ return d->bytesFree();
+}
+
+/*!
+ Returns the period size in bytes.
+
+ Note: This is the recommended write size in bytes.
+*/
+
+int QAudioOutput::periodSize() const
+{
+ return d->periodSize();
+}
+
+/*!
+ Sets the audio buffer size to \a value in bytes.
+
+ Note: This function can be called anytime before start(), calls to this
+ are ignored after start(). It should not be assumed that the buffer size
+ set is the actual buffer size used, calling bufferSize() anytime after start()
+ will return the actual buffer size being used.
+*/
+
+void QAudioOutput::setBufferSize(int value)
+{
+ d->setBufferSize(value);
+}
+
+/*!
+ Returns the audio buffer size in bytes.
+
+ If called before start(), returns platform default value.
+ If called before start() but setBufferSize() was called prior, returns value set by setBufferSize().
+ If called after start(), returns the actual buffer size being used. This may not be what was set previously
+ by setBufferSize().
+
+*/
+
+int QAudioOutput::bufferSize() const
+{
+ return d->bufferSize();
+}
+
+/*!
+ Sets the interval for notify() signal to be emitted.
+ This is based on the \a ms of audio data processed
+ not on actual real-time.
+ The minimum resolution of the timer is platform specific and values
+ should be checked with notifyInterval() to confirm actual value
+ being used.
+*/
+
+void QAudioOutput::setNotifyInterval(int ms)
+{
+ d->setNotifyInterval(ms);
+}
+
+/*!
+ Returns the notify interval in milliseconds.
+*/
+
+int QAudioOutput::notifyInterval() const
+{
+ return d->notifyInterval();
+}
+
+/*!
+ Returns the amount of audio data processed by the class since start()
+ was called in microseconds.
+
+ Note: The amount of audio data played can be determined by subtracting
+ the microseconds of audio data still in the systems audio buffer.
+
+ \code
+ qint64 bytesInBuffer = bufferSize() - bytesFree();
+ qint64 usInBuffer = (qint64)(1000000) * bytesInBuffer / ( channels() * sampleSize() / 8 ) / frequency();
+ qint64 usPlayed = processedUSecs() - usInBuffer;
+ \endcode
+*/
+
+qint64 QAudioOutput::processedUSecs() const
+{
+ return d->processedUSecs();
+}
+
+/*!
+ Returns the microseconds since start() was called, including time in Idle and
+ Suspend states.
+*/
+
+qint64 QAudioOutput::elapsedUSecs() const
+{
+ return d->elapsedUSecs();
+}
+
+/*!
+ Returns the error state.
+*/
+
+QAudio::Error QAudioOutput::error() const
+{
+ return d->error();
+}
+
+/*!
+ Returns the state of audio processing.
+*/
+
+QAudio::State QAudioOutput::state() const
+{
+ return d->state();
+}
+
+/*!
+ \fn QAudioOutput::stateChanged(QAudio::State state)
+ This signal is emitted when the device \a state has changed.
+ This is the current state of the audio output.
+*/
+
+/*!
+ \fn QAudioOutput::notify()
+ This signal is emitted when x ms of audio data has been processed
+ the interval set by setNotifyInterval(x).
+*/
+
+QT_END_NAMESPACE
diff --git a/src/multimedia/multimedia/audio/qaudiooutput.h b/src/multimedia/audio/qaudiooutput.h
index 0f45b1bfda..0f45b1bfda 100644
--- a/src/multimedia/multimedia/audio/qaudiooutput.h
+++ b/src/multimedia/audio/qaudiooutput.h
diff --git a/src/multimedia/multimedia/audio/qaudiooutput_alsa_p.cpp b/src/multimedia/audio/qaudiooutput_alsa_p.cpp
index 49b32c0745..49b32c0745 100644
--- a/src/multimedia/multimedia/audio/qaudiooutput_alsa_p.cpp
+++ b/src/multimedia/audio/qaudiooutput_alsa_p.cpp
diff --git a/src/multimedia/multimedia/audio/qaudiooutput_alsa_p.h b/src/multimedia/audio/qaudiooutput_alsa_p.h
index e6ac231d6c..e6ac231d6c 100644
--- a/src/multimedia/multimedia/audio/qaudiooutput_alsa_p.h
+++ b/src/multimedia/audio/qaudiooutput_alsa_p.h
diff --git a/src/multimedia/multimedia/audio/qaudiooutput_mac_p.cpp b/src/multimedia/audio/qaudiooutput_mac_p.cpp
index 9689101cab..9689101cab 100644
--- a/src/multimedia/multimedia/audio/qaudiooutput_mac_p.cpp
+++ b/src/multimedia/audio/qaudiooutput_mac_p.cpp
diff --git a/src/multimedia/multimedia/audio/qaudiooutput_mac_p.h b/src/multimedia/audio/qaudiooutput_mac_p.h
index 752905cf89..752905cf89 100644
--- a/src/multimedia/multimedia/audio/qaudiooutput_mac_p.h
+++ b/src/multimedia/audio/qaudiooutput_mac_p.h
diff --git a/src/multimedia/audio/qaudiooutput_symbian_p.cpp b/src/multimedia/audio/qaudiooutput_symbian_p.cpp
new file mode 100644
index 0000000000..5098469c5c
--- /dev/null
+++ b/src/multimedia/audio/qaudiooutput_symbian_p.cpp
@@ -0,0 +1,646 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtMultimedia module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include "qaudiooutput_symbian_p.h"
+
+QT_BEGIN_NAMESPACE
+
+//-----------------------------------------------------------------------------
+// Constants
+//-----------------------------------------------------------------------------
+
+const int UnderflowTimerInterval = 50; // ms
+
+
+//-----------------------------------------------------------------------------
+// Private class
+//-----------------------------------------------------------------------------
+
+SymbianAudioOutputPrivate::SymbianAudioOutputPrivate(
+ QAudioOutputPrivate *audioDevice)
+ : m_audioDevice(audioDevice)
+{
+
+}
+
+SymbianAudioOutputPrivate::~SymbianAudioOutputPrivate()
+{
+
+}
+
+qint64 SymbianAudioOutputPrivate::readData(char *data, qint64 len)
+{
+ Q_UNUSED(data)
+ Q_UNUSED(len)
+ return 0;
+}
+
+qint64 SymbianAudioOutputPrivate::writeData(const char *data, qint64 len)
+{
+ qint64 totalWritten = 0;
+
+ if (m_audioDevice->state() == QAudio::ActiveState ||
+ m_audioDevice->state() == QAudio::IdleState) {
+
+ while (totalWritten < len) {
+ const qint64 written = m_audioDevice->pushData(data + totalWritten,
+ len - totalWritten);
+ if (written > 0)
+ totalWritten += written;
+ else
+ break;
+ }
+ }
+
+ return totalWritten;
+}
+
+
+//-----------------------------------------------------------------------------
+// Public functions
+//-----------------------------------------------------------------------------
+
+QAudioOutputPrivate::QAudioOutputPrivate(const QByteArray &device,
+ const QAudioFormat &format)
+ : m_device(device)
+ , m_format(format)
+ , m_clientBufferSize(SymbianAudio::DefaultBufferSize)
+ , m_notifyInterval(SymbianAudio::DefaultNotifyInterval)
+ , m_notifyTimer(new QTimer(this))
+ , m_error(QAudio::NoError)
+ , m_internalState(SymbianAudio::ClosedState)
+ , m_externalState(QAudio::StoppedState)
+ , m_pullMode(false)
+ , m_source(0)
+ , m_devSound(0)
+ , m_devSoundBuffer(0)
+ , m_devSoundBufferSize(0)
+ , m_bytesWritten(0)
+ , m_pushDataReady(false)
+ , m_bytesPadding(0)
+ , m_underflow(false)
+ , m_lastBuffer(false)
+ , m_underflowTimer(new QTimer(this))
+ , m_samplesPlayed(0)
+ , m_totalSamplesPlayed(0)
+{
+ qRegisterMetaType<CMMFBuffer *>("CMMFBuffer *");
+
+ connect(m_notifyTimer.data(), SIGNAL(timeout()), this, SIGNAL(notify()));
+
+ m_underflowTimer->setInterval(UnderflowTimerInterval);
+ connect(m_underflowTimer.data(), SIGNAL(timeout()), this,
+ SLOT(underflowTimerExpired()));
+}
+
+QAudioOutputPrivate::~QAudioOutputPrivate()
+{
+ close();
+}
+
+QIODevice* QAudioOutputPrivate::start(QIODevice *device)
+{
+ stop();
+
+ if (device) {
+ m_pullMode = true;
+ m_source = device;
+ }
+
+ open();
+
+ if (SymbianAudio::ClosedState != m_internalState) {
+ if (device) {
+ connect(m_source, SIGNAL(readyRead()), this, SLOT(dataReady()));
+ } else {
+ m_source = new SymbianAudioOutputPrivate(this);
+ m_source->open(QIODevice::WriteOnly | QIODevice::Unbuffered);
+ }
+
+ m_elapsed.restart();
+ }
+
+ return m_source;
+}
+
+void QAudioOutputPrivate::stop()
+{
+ close();
+}
+
+void QAudioOutputPrivate::reset()
+{
+ m_totalSamplesPlayed += getSamplesPlayed();
+ m_devSound->stop();
+ m_bytesPadding = 0;
+ startPlayback();
+}
+
+void QAudioOutputPrivate::suspend()
+{
+ if (SymbianAudio::ActiveState == m_internalState
+ || SymbianAudio::IdleState == m_internalState) {
+ m_notifyTimer->stop();
+ m_underflowTimer->stop();
+
+ const qint64 samplesWritten = SymbianAudio::Utils::bytesToSamples(
+ m_format, m_bytesWritten);
+
+ const qint64 samplesPlayed = getSamplesPlayed();
+
+ m_bytesWritten = 0;
+
+ // CMMFDevSound::Pause() is not guaranteed to work correctly in all
+ // implementations, for play-mode DevSound sessions. We therefore
+ // have to implement suspend() by calling CMMFDevSound::Stop().
+ // Because this causes buffered data to be dropped, we replace the
+ // lost data with silence following a call to resume(), in order to
+ // ensure that processedUSecs() returns the correct value.
+ m_devSound->stop();
+ m_totalSamplesPlayed += samplesPlayed;
+
+ // Calculate the amount of data dropped
+ const qint64 paddingSamples = samplesWritten - samplesPlayed;
+ Q_ASSERT(paddingSamples >= 0);
+ m_bytesPadding = SymbianAudio::Utils::samplesToBytes(m_format,
+ paddingSamples);
+
+ setState(SymbianAudio::SuspendedState);
+ }
+}
+
+void QAudioOutputPrivate::resume()
+{
+ if (SymbianAudio::SuspendedState == m_internalState) {
+ if (!m_pullMode && m_devSoundBuffer && m_devSoundBuffer->Data().Length())
+ bufferFilled();
+ startPlayback();
+ }
+}
+
+int QAudioOutputPrivate::bytesFree() const
+{
+ int result = 0;
+ if (m_devSoundBuffer) {
+ const TDes8 &outputBuffer = m_devSoundBuffer->Data();
+ result = outputBuffer.MaxLength() - outputBuffer.Length();
+ }
+ return result;
+}
+
+int QAudioOutputPrivate::periodSize() const
+{
+ return bufferSize();
+}
+
+void QAudioOutputPrivate::setBufferSize(int value)
+{
+ // Note that DevSound does not allow its client to specify the buffer size.
+ // This functionality is available via custom interfaces, but since these
+ // cannot be guaranteed to work across all DevSound implementations, we
+ // do not use them here.
+ // In order to comply with the expected bevahiour of QAudioOutput, we store
+ // the value and return it from bufferSize(), but the underlying DevSound
+ // buffer size remains unchanged.
+ if (value > 0)
+ m_clientBufferSize = value;
+}
+
+int QAudioOutputPrivate::bufferSize() const
+{
+ return m_devSoundBufferSize ? m_devSoundBufferSize : m_clientBufferSize;
+}
+
+void QAudioOutputPrivate::setNotifyInterval(int ms)
+{
+ if (ms >= 0) {
+ const int oldNotifyInterval = m_notifyInterval;
+ m_notifyInterval = ms;
+ if (m_notifyInterval && (SymbianAudio::ActiveState == m_internalState ||
+ SymbianAudio::IdleState == m_internalState))
+ m_notifyTimer->start(m_notifyInterval);
+ else
+ m_notifyTimer->stop();
+ }
+}
+
+int QAudioOutputPrivate::notifyInterval() const
+{
+ return m_notifyInterval;
+}
+
+qint64 QAudioOutputPrivate::processedUSecs() const
+{
+ int samplesPlayed = 0;
+ if (m_devSound && SymbianAudio::SuspendedState != m_internalState)
+ samplesPlayed = getSamplesPlayed();
+
+ // Protect against division by zero
+ Q_ASSERT_X(m_format.frequency() > 0, Q_FUNC_INFO, "Invalid frequency");
+
+ const qint64 result = qint64(1000000) *
+ (samplesPlayed + m_totalSamplesPlayed)
+ / m_format.frequency();
+
+ return result;
+}
+
+qint64 QAudioOutputPrivate::elapsedUSecs() const
+{
+ const qint64 result = (QAudio::StoppedState == state()) ?
+ 0 : m_elapsed.elapsed() * 1000;
+ return result;
+}
+
+QAudio::Error QAudioOutputPrivate::error() const
+{
+ return m_error;
+}
+
+QAudio::State QAudioOutputPrivate::state() const
+{
+ return m_externalState;
+}
+
+QAudioFormat QAudioOutputPrivate::format() const
+{
+ return m_format;
+}
+
+
+//-----------------------------------------------------------------------------
+// Private functions
+//-----------------------------------------------------------------------------
+
+void QAudioOutputPrivate::dataReady()
+{
+ // Client-provided QIODevice has data ready to read.
+
+ Q_ASSERT_X(m_source->bytesAvailable(), Q_FUNC_INFO,
+ "readyRead signal received, but no data available");
+
+ if (!m_bytesPadding)
+ pullData();
+}
+
+void QAudioOutputPrivate::underflowTimerExpired()
+{
+ const TInt samplesPlayed = getSamplesPlayed();
+ if (m_samplesPlayed && (samplesPlayed == m_samplesPlayed)) {
+ setError(QAudio::UnderrunError);
+ } else {
+ m_samplesPlayed = samplesPlayed;
+ m_underflowTimer->start();
+ }
+}
+
+void QAudioOutputPrivate::devsoundInitializeComplete(int err)
+{
+ Q_ASSERT_X(SymbianAudio::InitializingState == m_internalState,
+ Q_FUNC_INFO, "Invalid state");
+
+ if (!err && m_devSound->isFormatSupported(m_format))
+ startPlayback();
+ else
+ setError(QAudio::OpenError);
+}
+
+void QAudioOutputPrivate::devsoundBufferToBeFilled(CMMFBuffer *bufferBase)
+{
+ // Following receipt of this signal, DevSound should not provide another
+ // buffer until we have returned the current one.
+ Q_ASSERT_X(!m_devSoundBuffer, Q_FUNC_INFO, "Buffer already held");
+
+ // Will be returned to DevSoundWrapper by bufferProcessed().
+ m_devSoundBuffer = static_cast<CMMFDataBuffer*>(bufferBase);
+
+ if (!m_devSoundBufferSize)
+ m_devSoundBufferSize = m_devSoundBuffer->Data().MaxLength();
+
+ writePaddingData();
+
+ if (m_pullMode && isDataReady() && !m_bytesPadding)
+ pullData();
+}
+
+void QAudioOutputPrivate::devsoundPlayError(int err)
+{
+ switch (err) {
+ case KErrUnderflow:
+ m_underflow = true;
+ if (m_pullMode && !m_lastBuffer)
+ setError(QAudio::UnderrunError);
+ else
+ setState(SymbianAudio::IdleState);
+ break;
+ default:
+ setError(QAudio::IOError);
+ break;
+ }
+}
+
+void QAudioOutputPrivate::open()
+{
+ Q_ASSERT_X(SymbianAudio::ClosedState == m_internalState,
+ Q_FUNC_INFO, "DevSound already opened");
+
+ Q_ASSERT(!m_devSound);
+ m_devSound = new SymbianAudio::DevSoundWrapper(QAudio::AudioOutput, this);
+
+ connect(m_devSound, SIGNAL(initializeComplete(int)),
+ this, SLOT(devsoundInitializeComplete(int)));
+ connect(m_devSound, SIGNAL(bufferToBeProcessed(CMMFBuffer *)),
+ this, SLOT(devsoundBufferToBeFilled(CMMFBuffer *)));
+ connect(m_devSound, SIGNAL(processingError(int)),
+ this, SLOT(devsoundPlayError(int)));
+
+ setState(SymbianAudio::InitializingState);
+ m_devSound->initialize(m_format.codec());
+}
+
+void QAudioOutputPrivate::startPlayback()
+{
+ bool ok = m_devSound->setFormat(m_format);
+ if (ok)
+ ok = m_devSound->start();
+
+ if (ok) {
+ if (isDataReady())
+ setState(SymbianAudio::ActiveState);
+ else
+ setState(SymbianAudio::IdleState);
+
+ if (m_notifyInterval)
+ m_notifyTimer->start(m_notifyInterval);
+ m_underflow = false;
+
+ Q_ASSERT(m_devSound->samplesProcessed() == 0);
+
+ writePaddingData();
+
+ if (m_pullMode && m_source->bytesAvailable() && !m_bytesPadding)
+ dataReady();
+ } else {
+ setError(QAudio::OpenError);
+ close();
+ }
+}
+
+void QAudioOutputPrivate::writePaddingData()
+{
+ // See comments in suspend()
+
+ while (m_devSoundBuffer && m_bytesPadding) {
+ if (SymbianAudio::IdleState == m_internalState)
+ setState(SymbianAudio::ActiveState);
+
+ TDes8 &outputBuffer = m_devSoundBuffer->Data();
+ const qint64 outputBytes = bytesFree();
+ const qint64 paddingBytes = outputBytes < m_bytesPadding ?
+ outputBytes : m_bytesPadding;
+ unsigned char *ptr = const_cast<unsigned char*>(outputBuffer.Ptr());
+ Mem::FillZ(ptr, paddingBytes);
+ outputBuffer.SetLength(outputBuffer.Length() + paddingBytes);
+ m_bytesPadding -= paddingBytes;
+ Q_ASSERT(m_bytesPadding >= 0);
+
+ if (m_pullMode && m_source->atEnd())
+ lastBufferFilled();
+ if ((paddingBytes == outputBytes) || !m_bytesPadding)
+ bufferFilled();
+ }
+}
+
+qint64 QAudioOutputPrivate::pushData(const char *data, qint64 len)
+{
+ // Data has been written to SymbianAudioOutputPrivate
+
+ Q_ASSERT_X(!m_pullMode, Q_FUNC_INFO,
+ "pushData called when in pull mode");
+
+ const unsigned char *const inputPtr =
+ reinterpret_cast<const unsigned char*>(data);
+ qint64 bytesWritten = 0;
+
+ if (SymbianAudio::IdleState == m_internalState)
+ setState(SymbianAudio::ActiveState);
+
+ while (m_devSoundBuffer && (bytesWritten < len)) {
+ // writePaddingData() is called from BufferToBeFilled(), so we should
+ // never have any padding data left at this point.
+ Q_ASSERT_X(0 == m_bytesPadding, Q_FUNC_INFO,
+ "Padding bytes remaining in pushData");
+
+ TDes8 &outputBuffer = m_devSoundBuffer->Data();
+
+ const qint64 outputBytes = bytesFree();
+ const qint64 inputBytes = len - bytesWritten;
+ const qint64 copyBytes = outputBytes < inputBytes ?
+ outputBytes : inputBytes;
+
+ outputBuffer.Append(inputPtr + bytesWritten, copyBytes);
+ bytesWritten += copyBytes;
+
+ bufferFilled();
+ }
+
+ m_pushDataReady = (bytesWritten < len);
+
+ // If DevSound is still initializing (m_internalState == InitializingState),
+ // we cannot transition m_internalState to ActiveState, but we must emit
+ // an (external) state change from IdleState to ActiveState. The following
+ // call triggers this signal.
+ setState(m_internalState);
+
+ return bytesWritten;
+}
+
+void QAudioOutputPrivate::pullData()
+{
+ Q_ASSERT_X(m_pullMode, Q_FUNC_INFO,
+ "pullData called when in push mode");
+
+ // writePaddingData() is called by BufferToBeFilled() before pullData(),
+ // so we should never have any padding data left at this point.
+ Q_ASSERT_X(0 == m_bytesPadding, Q_FUNC_INFO,
+ "Padding bytes remaining in pullData");
+
+ qint64 inputBytes = m_source->bytesAvailable();
+ while (m_devSoundBuffer && inputBytes) {
+ if (SymbianAudio::IdleState == m_internalState)
+ setState(SymbianAudio::ActiveState);
+
+ TDes8 &outputBuffer = m_devSoundBuffer->Data();
+
+ const qint64 outputBytes = bytesFree();
+ const qint64 copyBytes = outputBytes < inputBytes ?
+ outputBytes : inputBytes;
+
+ char *outputPtr = (char*)(outputBuffer.Ptr() + outputBuffer.Length());
+ const qint64 bytesCopied = m_source->read(outputPtr, copyBytes);
+ Q_ASSERT(bytesCopied == copyBytes);
+ outputBuffer.SetLength(outputBuffer.Length() + bytesCopied);
+ inputBytes -= bytesCopied;
+
+ if (m_source->atEnd())
+ lastBufferFilled();
+ else if (copyBytes == outputBytes)
+ bufferFilled();
+ }
+}
+
+void QAudioOutputPrivate::bufferFilled()
+{
+ Q_ASSERT_X(m_devSoundBuffer, Q_FUNC_INFO, "No buffer to return");
+
+ const TDes8 &outputBuffer = m_devSoundBuffer->Data();
+ m_bytesWritten += outputBuffer.Length();
+
+ m_devSoundBuffer = 0;
+
+ m_samplesPlayed = getSamplesPlayed();
+ m_underflowTimer->start();
+
+ if (QAudio::UnderrunError == m_error)
+ m_error = QAudio::NoError;
+
+ m_devSound->bufferProcessed();
+}
+
+void QAudioOutputPrivate::lastBufferFilled()
+{
+ Q_ASSERT_X(m_devSoundBuffer, Q_FUNC_INFO, "No buffer to fill");
+ Q_ASSERT_X(!m_lastBuffer, Q_FUNC_INFO, "Last buffer already sent");
+ m_lastBuffer = true;
+ m_devSoundBuffer->SetLastBuffer(ETrue);
+ bufferFilled();
+}
+
+void QAudioOutputPrivate::close()
+{
+ m_notifyTimer->stop();
+ m_underflowTimer->stop();
+
+ m_error = QAudio::NoError;
+
+ if (m_devSound)
+ m_devSound->stop();
+ delete m_devSound;
+ m_devSound = 0;
+
+ m_devSoundBuffer = 0;
+ m_devSoundBufferSize = 0;
+
+ if (!m_pullMode) // m_source is owned
+ delete m_source;
+ m_pullMode = false;
+ m_source = 0;
+
+ m_bytesWritten = 0;
+ m_pushDataReady = false;
+ m_bytesPadding = 0;
+ m_underflow = false;
+ m_lastBuffer = false;
+ m_samplesPlayed = 0;
+ m_totalSamplesPlayed = 0;
+
+ setState(SymbianAudio::ClosedState);
+}
+
+qint64 QAudioOutputPrivate::getSamplesPlayed() const
+{
+ qint64 result = 0;
+ if (m_devSound) {
+ const qint64 samplesWritten = SymbianAudio::Utils::bytesToSamples(
+ m_format, m_bytesWritten);
+
+ if (m_underflow) {
+ result = samplesWritten;
+ } else {
+ // This is necessary because some DevSound implementations report
+ // that they have played more data than has actually been provided to them
+ // by the client.
+ const qint64 devSoundSamplesPlayed(m_devSound->samplesProcessed());
+ result = qMin(devSoundSamplesPlayed, samplesWritten);
+ }
+ }
+ return result;
+}
+
+void QAudioOutputPrivate::setError(QAudio::Error error)
+{
+ m_error = error;
+
+ // Although no state transition actually occurs here, a stateChanged event
+ // must be emitted to inform the client that the call to start() was
+ // unsuccessful.
+ if (QAudio::OpenError == error) {
+ emit stateChanged(QAudio::StoppedState);
+ } else {
+ if (QAudio::UnderrunError == error)
+ setState(SymbianAudio::IdleState);
+ else
+ // Close the DevSound instance. This causes a transition to
+ // StoppedState. This must be done asynchronously in case the
+ // current function was called from a DevSound event handler, in which
+ // case deleting the DevSound instance may cause an exception.
+ QMetaObject::invokeMethod(this, "close", Qt::QueuedConnection);
+ }
+}
+
+void QAudioOutputPrivate::setState(SymbianAudio::State newInternalState)
+{
+ const QAudio::State oldExternalState = m_externalState;
+ m_internalState = newInternalState;
+ m_externalState = SymbianAudio::Utils::stateNativeToQt(m_internalState);
+
+ if (m_externalState != oldExternalState)
+ emit stateChanged(m_externalState);
+}
+
+bool QAudioOutputPrivate::isDataReady() const
+{
+ return (m_source && m_source->bytesAvailable())
+ || m_bytesPadding
+ || m_pushDataReady;
+}
+
+QT_END_NAMESPACE
diff --git a/src/multimedia/audio/qaudiooutput_symbian_p.h b/src/multimedia/audio/qaudiooutput_symbian_p.h
new file mode 100644
index 0000000000..c0acb07ffc
--- /dev/null
+++ b/src/multimedia/audio/qaudiooutput_symbian_p.h
@@ -0,0 +1,198 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtMultimedia module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+//
+// W A R N I N G
+// -------------
+//
+// This file is not part of the Qt API. It exists for the convenience
+// of other Qt classes. This header file may change from version to
+// version without notice, or even be removed.
+//
+// We mean it.
+//
+
+#ifndef QAUDIOOUTPUT_SYMBIAN_P_H
+#define QAUDIOOUTPUT_SYMBIAN_P_H
+
+#include <QtMultimedia/qaudioengine.h>
+#include <QTime>
+#include <QTimer>
+#include <sounddevice.h>
+#include "qaudio_symbian_p.h"
+
+QT_BEGIN_NAMESPACE
+
+class QAudioOutputPrivate;
+
+class SymbianAudioOutputPrivate : public QIODevice
+{
+ friend class QAudioOutputPrivate;
+ Q_OBJECT
+public:
+ SymbianAudioOutputPrivate(QAudioOutputPrivate *audio);
+ ~SymbianAudioOutputPrivate();
+
+ qint64 readData(char *data, qint64 len);
+ qint64 writeData(const char *data, qint64 len);
+
+private:
+ QAudioOutputPrivate *const m_audioDevice;
+};
+
+class QAudioOutputPrivate
+ : public QAbstractAudioOutput
+{
+ friend class SymbianAudioOutputPrivate;
+ Q_OBJECT
+public:
+ QAudioOutputPrivate(const QByteArray &device,
+ const QAudioFormat &audioFormat);
+ ~QAudioOutputPrivate();
+
+ // QAbstractAudioOutput
+ QIODevice* start(QIODevice *device = 0);
+ void stop();
+ void reset();
+ void suspend();
+ void resume();
+ int bytesFree() const;
+ int periodSize() const;
+ void setBufferSize(int value);
+ int bufferSize() const;
+ void setNotifyInterval(int milliSeconds);
+ int notifyInterval() const;
+ qint64 processedUSecs() const;
+ qint64 elapsedUSecs() const;
+ QAudio::Error error() const;
+ QAudio::State state() const;
+ QAudioFormat format() const;
+
+private slots:
+ void dataReady();
+ void underflowTimerExpired();
+ void devsoundInitializeComplete(int err);
+ void devsoundBufferToBeFilled(CMMFBuffer *);
+ void devsoundPlayError(int err);
+
+private:
+ void open();
+ void startPlayback();
+ void writePaddingData();
+ qint64 pushData(const char *data, qint64 len);
+ void pullData();
+ void bufferFilled();
+ void lastBufferFilled();
+ Q_INVOKABLE void close();
+
+ qint64 getSamplesPlayed() const;
+
+ void setError(QAudio::Error error);
+ void setState(SymbianAudio::State state);
+
+ bool isDataReady() const;
+
+private:
+ const QByteArray m_device;
+ const QAudioFormat m_format;
+
+ int m_clientBufferSize;
+ int m_notifyInterval;
+ QScopedPointer<QTimer> m_notifyTimer;
+ QTime m_elapsed;
+ QAudio::Error m_error;
+
+ SymbianAudio::State m_internalState;
+ QAudio::State m_externalState;
+
+ bool m_pullMode;
+ QIODevice *m_source;
+
+ SymbianAudio::DevSoundWrapper* m_devSound;
+
+ // Buffer provided by DevSound, to be filled with data.
+ CMMFDataBuffer *m_devSoundBuffer;
+
+ int m_devSoundBufferSize;
+
+ // Number of bytes transferred from QIODevice to QAudioOutput. It is
+ // necessary to count this because data is dropped when suspend() is
+ // called. The difference between the position reported by DevSound and
+ // this value allows us to calculate m_bytesPadding;
+ quint32 m_bytesWritten;
+
+ // True if client has provided data while the audio subsystem was not
+ // ready to consume it.
+ bool m_pushDataReady;
+
+ // Number of zero bytes which will be written when client calls resume().
+ quint32 m_bytesPadding;
+
+ // True if PlayError(KErrUnderflow) has been called.
+ bool m_underflow;
+
+ // True if a buffer marked with the "last buffer" flag has been provided
+ // to DevSound.
+ bool m_lastBuffer;
+
+ // Some DevSound implementations ignore all underflow errors raised by the
+ // audio driver, unless the last buffer flag has been set by the client.
+ // In push-mode playback, this flag will never be set, so the underflow
+ // error will never be reported. In order to work around this, a timer
+ // is used, which gets reset every time the client provides more data. If
+ // the timer expires, an underflow error is raised by this object.
+ QScopedPointer<QTimer> m_underflowTimer;
+
+ // Result of previous call to CMMFDevSound::SamplesPlayed(). This value is
+ // used to determine whether, when m_underflowTimer expires, an
+ // underflow error has actually occurred.
+ quint32 m_samplesPlayed;
+
+ // Samples played up to the last call to suspend(). It is necessary
+ // to cache this because suspend() is implemented using
+ // CMMFDevSound::Stop(), which resets DevSound's SamplesPlayed() counter.
+ quint32 m_totalSamplesPlayed;
+
+};
+
+QT_END_NAMESPACE
+
+#endif
diff --git a/src/multimedia/multimedia/audio/qaudiooutput_win32_p.cpp b/src/multimedia/audio/qaudiooutput_win32_p.cpp
index a8aeb4193d..a8aeb4193d 100644
--- a/src/multimedia/multimedia/audio/qaudiooutput_win32_p.cpp
+++ b/src/multimedia/audio/qaudiooutput_win32_p.cpp
diff --git a/src/multimedia/multimedia/audio/qaudiooutput_win32_p.h b/src/multimedia/audio/qaudiooutput_win32_p.h
index 2d19225cd5..2d19225cd5 100644
--- a/src/multimedia/multimedia/audio/qaudiooutput_win32_p.h
+++ b/src/multimedia/audio/qaudiooutput_win32_p.h
diff --git a/src/multimedia/mediaservices/base/base.pri b/src/multimedia/mediaservices/base/base.pri
deleted file mode 100644
index 49eca49080..0000000000
--- a/src/multimedia/mediaservices/base/base.pri
+++ /dev/null
@@ -1,69 +0,0 @@
-
-QT += network
-contains(QT_CONFIG, opengl):QT += opengl
-
-HEADERS += \
- $$PWD/qmediaresource.h \
- $$PWD/qmediacontent.h \
- $$PWD/qmediaobject.h \
- $$PWD/qmediaobject_p.h \
- $$PWD/qmediapluginloader_p.h \
- $$PWD/qmediaservice.h \
- $$PWD/qmediaservice_p.h \
- $$PWD/qmediaserviceprovider.h \
- $$PWD/qmediaserviceproviderplugin.h \
- $$PWD/qmediacontrol.h \
- $$PWD/qmediacontrol_p.h \
- $$PWD/qmetadatacontrol.h \
- $$PWD/qvideooutputcontrol.h \
- $$PWD/qvideowindowcontrol.h \
- $$PWD/qvideorenderercontrol.h \
- $$PWD/qvideodevicecontrol.h \
- $$PWD/qvideowidgetcontrol.h \
- $$PWD/qvideowidget.h \
- $$PWD/qvideowidget_p.h \
- $$PWD/qgraphicsvideoitem.h \
- $$PWD/qmediaplaylistcontrol.h \
- $$PWD/qmediaplaylist.h \
- $$PWD/qmediaplaylist_p.h \
- $$PWD/qmediaplaylistprovider.h \
- $$PWD/qmediaplaylistprovider_p.h \
- $$PWD/qmediaplaylistioplugin.h \
- $$PWD/qlocalmediaplaylistprovider.h \
- $$PWD/qmediaplaylistnavigator.h \
- $$PWD/qpaintervideosurface_p.h \
- $$PWD/qmediatimerange.h \
- $$PWD/qtmedianamespace.h
-
-SOURCES += \
- $$PWD/qmediaresource.cpp \
- $$PWD/qmediacontent.cpp \
- $$PWD/qmediaobject.cpp \
- $$PWD/qmediapluginloader.cpp \
- $$PWD/qmediaservice.cpp \
- $$PWD/qmediaserviceprovider.cpp \
- $$PWD/qmediacontrol.cpp \
- $$PWD/qmetadatacontrol.cpp \
- $$PWD/qvideooutputcontrol.cpp \
- $$PWD/qvideowindowcontrol.cpp \
- $$PWD/qvideorenderercontrol.cpp \
- $$PWD/qvideodevicecontrol.cpp \
- $$PWD/qvideowidgetcontrol.cpp \
- $$PWD/qvideowidget.cpp \
- $$PWD/qgraphicsvideoitem.cpp \
- $$PWD/qmediaplaylistcontrol.cpp \
- $$PWD/qmediaplaylist.cpp \
- $$PWD/qmediaplaylistprovider.cpp \
- $$PWD/qmediaplaylistioplugin.cpp \
- $$PWD/qlocalmediaplaylistprovider.cpp \
- $$PWD/qmediaplaylistnavigator.cpp \
- $$PWD/qpaintervideosurface.cpp \
- $$PWD/qmediatimerange.cpp
-
-mac {
- HEADERS += $$PWD/qpaintervideosurface_mac_p.h
- OBJECTIVE_SOURCES += $$PWD/qpaintervideosurface_mac.mm
-
- LIBS += -framework AppKit -framework QuartzCore -framework QTKit
-
-}
diff --git a/src/multimedia/mediaservices/base/qgraphicsvideoitem.cpp b/src/multimedia/mediaservices/base/qgraphicsvideoitem.cpp
deleted file mode 100644
index d80dec533e..0000000000
--- a/src/multimedia/mediaservices/base/qgraphicsvideoitem.cpp
+++ /dev/null
@@ -1,442 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the QtMediaservies module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include <QtMediaServices/qgraphicsvideoitem.h>
-
-#include <QtMediaServices/qmediaobject.h>
-#include <QtMediaServices/qmediaservice.h>
-#include <QtMediaServices/private/qpaintervideosurface_p.h>
-#include <QtMediaServices/qvideooutputcontrol.h>
-#include <QtMediaServices/qvideorenderercontrol.h>
-#include <QtMultimedia/qvideosurfaceformat.h>
-
-#if !defined(QT_NO_OPENGL) && !defined(QT_OPENGL_ES_1_CL) && !defined(QT_OPENGL_ES_1)
-#include <QtOpenGL/qgl.h>
-#endif
-
-#ifndef QT_NO_GRAPHICSVIEW
-
-QT_BEGIN_NAMESPACE
-
-
-class QGraphicsVideoItemPrivate
-{
-public:
- QGraphicsVideoItemPrivate()
- : q_ptr(0)
- , surface(0)
- , mediaObject(0)
- , service(0)
- , outputControl(0)
- , rendererControl(0)
- , aspectRatioMode(Qt::KeepAspectRatio)
- , updatePaintDevice(true)
- , rect(0.0, 0.0, 320, 240)
- {
- }
-
- QGraphicsVideoItem *q_ptr;
-
- QPainterVideoSurface *surface;
- QMediaObject *mediaObject;
- QMediaService *service;
- QVideoOutputControl *outputControl;
- QVideoRendererControl *rendererControl;
- Qt::AspectRatioMode aspectRatioMode;
- bool updatePaintDevice;
- QRectF rect;
- QRectF boundingRect;
- QRectF sourceRect;
- QSizeF nativeSize;
-
- void clearService();
- void updateRects();
-
- void _q_present();
- void _q_formatChanged(const QVideoSurfaceFormat &format);
- void _q_serviceDestroyed();
- void _q_mediaObjectDestroyed();
-};
-
-void QGraphicsVideoItemPrivate::clearService()
-{
- if (outputControl) {
- outputControl->setOutput(QVideoOutputControl::NoOutput);
- outputControl = 0;
- }
- if (rendererControl) {
- surface->stop();
- rendererControl->setSurface(0);
- rendererControl = 0;
- }
- if (service) {
- QObject::disconnect(service, SIGNAL(destroyed()), q_ptr, SLOT(_q_serviceDestroyed()));
- service = 0;
- }
-}
-
-void QGraphicsVideoItemPrivate::updateRects()
-{
- q_ptr->prepareGeometryChange();
-
- if (nativeSize.isEmpty()) {
- boundingRect = QRectF();
- } else if (aspectRatioMode == Qt::IgnoreAspectRatio) {
- boundingRect = rect;
- sourceRect = QRectF(0, 0, 1, 1);
- } else if (aspectRatioMode == Qt::KeepAspectRatio) {
- QSizeF size = nativeSize;
- size.scale(rect.size(), Qt::KeepAspectRatio);
-
- boundingRect = QRectF(0, 0, size.width(), size.height());
- boundingRect.moveCenter(rect.center());
-
- sourceRect = QRectF(0, 0, 1, 1);
- } else if (aspectRatioMode == Qt::KeepAspectRatioByExpanding) {
- boundingRect = rect;
-
- QSizeF size = rect.size();
- size.scale(nativeSize, Qt::KeepAspectRatio);
-
- sourceRect = QRectF(
- 0, 0, size.width() / nativeSize.width(), size.height() / nativeSize.height());
- sourceRect.moveCenter(QPointF(0.5, 0.5));
- }
-}
-
-void QGraphicsVideoItemPrivate::_q_present()
-{
- if (q_ptr->isObscured()) {
- q_ptr->update(boundingRect);
- surface->setReady(true);
- } else {
- q_ptr->update(boundingRect);
- }
-}
-
-void QGraphicsVideoItemPrivate::_q_formatChanged(const QVideoSurfaceFormat &format)
-{
- nativeSize = format.sizeHint();
-
- updateRects();
-
- emit q_ptr->nativeSizeChanged(nativeSize);
-}
-
-void QGraphicsVideoItemPrivate::_q_serviceDestroyed()
-{
- rendererControl = 0;
- outputControl = 0;
- service = 0;
-
- surface->stop();
-}
-
-void QGraphicsVideoItemPrivate::_q_mediaObjectDestroyed()
-{
- mediaObject = 0;
-
- clearService();
-}
-
-/*!
- \class QGraphicsVideoItem
- \brief The QGraphicsVideoItem class provides a graphics item which display video produced by a QMediaObject.
-
- \since 4.7
-
- \ingroup multimedia
-
- Attaching a QGraphicsVideoItem to a QMediaObject allows it to display
- the video or image output of that media object. A QGraphicsVideoItem
- is attached to a media object by passing a pointer to the QMediaObject
- to the setMediaObject() function.
-
- \code
- player = new QMediaPlayer(this);
-
- QGraphicsVideoItem *item = new QGraphicsVideoItem;
- item->setMediaObject(player);
- graphicsView->scence()->addItem(item);
- graphicsView->show();
-
- player->setMedia(video);
- player->play();
- \endcode
-
- \bold {Note}: Only a single display output can be attached to a media
- object at one time.
-
- \sa QMediaObject, QMediaPlayer, QVideoWidget
-*/
-
-/*!
- Constructs a graphics item that displays video.
-
- The \a parent is passed to QGraphicsItem.
-*/
-QGraphicsVideoItem::QGraphicsVideoItem(QGraphicsItem *parent)
- : QGraphicsObject(parent)
- , d_ptr(new QGraphicsVideoItemPrivate)
-{
- d_ptr->q_ptr = this;
- d_ptr->surface = new QPainterVideoSurface;
-
- connect(d_ptr->surface, SIGNAL(frameChanged()), this, SLOT(_q_present()));
- connect(d_ptr->surface, SIGNAL(surfaceFormatChanged(QVideoSurfaceFormat)),
- this, SLOT(_q_formatChanged(QVideoSurfaceFormat)));
-}
-
-/*!
- Destroys a video graphics item.
-*/
-QGraphicsVideoItem::~QGraphicsVideoItem()
-{
- if (d_ptr->outputControl)
- d_ptr->outputControl->setOutput(QVideoOutputControl::NoOutput);
-
- if (d_ptr->rendererControl)
- d_ptr->rendererControl->setSurface(0);
-
- delete d_ptr->surface;
- delete d_ptr;
-}
-
-/*!
- \property QGraphicsVideoItem::mediaObject
- \brief the media object which provides the video displayed by a graphics
- item.
-*/
-
-QMediaObject *QGraphicsVideoItem::mediaObject() const
-{
- return d_func()->mediaObject;
-}
-
-void QGraphicsVideoItem::setMediaObject(QMediaObject *object)
-{
- Q_D(QGraphicsVideoItem);
-
- if (object == d->mediaObject)
- return;
-
- d->clearService();
-
- if (d->mediaObject) {
- disconnect(d->mediaObject, SIGNAL(destroyed()), this, SLOT(_q_mediaObjectDestroyed()));
- d->mediaObject->unbind(this);
- }
-
- d->mediaObject = object;
-
- if (d->mediaObject) {
- d->mediaObject->bind(this);
-
- connect(d->mediaObject, SIGNAL(destroyed()), this, SLOT(_q_mediaObjectDestroyed()));
-
- d->service = d->mediaObject->service();
-
- if (d->service) {
- connect(d->service, SIGNAL(destroyed()), this, SLOT(_q_serviceDestroyed()));
-
- d->outputControl = qobject_cast<QVideoOutputControl *>(
- d->service->control(QVideoOutputControl_iid));
- d->rendererControl = qobject_cast<QVideoRendererControl *>(
- d->service->control(QVideoRendererControl_iid));
-
- if (d->outputControl != 0 && d->rendererControl != 0) {
- d->rendererControl->setSurface(d->surface);
-
- if (isVisible())
- d->outputControl->setOutput(QVideoOutputControl::RendererOutput);
- }
- }
- }
-}
-
-/*!
- \property QGraphicsVideoItem::aspectRatioMode
- \brief how a video is scaled to fit the graphics item's size.
-*/
-
-Qt::AspectRatioMode QGraphicsVideoItem::aspectRatioMode() const
-{
- return d_func()->aspectRatioMode;
-}
-
-void QGraphicsVideoItem::setAspectRatioMode(Qt::AspectRatioMode mode)
-{
- Q_D(QGraphicsVideoItem);
-
- d->aspectRatioMode = mode;
- d->updateRects();
-}
-
-/*!
- \property QGraphicsVideoItem::offset
- \brief the video item's offset.
-
- QGraphicsVideoItem will draw video using the offset for its top left
- corner.
-*/
-
-QPointF QGraphicsVideoItem::offset() const
-{
- return d_func()->rect.topLeft();
-}
-
-void QGraphicsVideoItem::setOffset(const QPointF &offset)
-{
- Q_D(QGraphicsVideoItem);
-
- d->rect.moveTo(offset);
- d->updateRects();
-}
-
-/*!
- \property QGraphicsVideoItem::size
- \brief the video item's size.
-
- QGraphicsVideoItem will draw video scaled to fit size according to its
- fillMode.
-*/
-
-QSizeF QGraphicsVideoItem::size() const
-{
- return d_func()->rect.size();
-}
-
-void QGraphicsVideoItem::setSize(const QSizeF &size)
-{
- Q_D(QGraphicsVideoItem);
-
- d->rect.setSize(size.isValid() ? size : QSizeF(0, 0));
- d->updateRects();
-}
-
-/*!
- \property QGraphicsVideoItem::nativeSize
- \brief the native size of the video.
-*/
-
-QSizeF QGraphicsVideoItem::nativeSize() const
-{
- return d_func()->nativeSize;
-}
-
-/*!
- \fn QGraphicsVideoItem::nativeSizeChanged(const QSizeF &size)
-
- Signals that the native \a size of the video has changed.
-*/
-
-/*!
- \reimp
-*/
-QRectF QGraphicsVideoItem::boundingRect() const
-{
- return d_func()->boundingRect;
-}
-
-/*!
- \reimp
-*/
-void QGraphicsVideoItem::paint(
- QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget)
-{
- Q_D(QGraphicsVideoItem);
-
- Q_UNUSED(option);
- Q_UNUSED(widget);
-
- if (d->surface && d->surface->isActive()) {
- d->surface->paint(painter, d->boundingRect, d->sourceRect);
- d->surface->setReady(true);
-#if !defined(QT_NO_OPENGL) && !defined(QT_OPENGL_ES_1_CL) && !defined(QT_OPENGL_ES_1)
- } else if (d->updatePaintDevice && (painter->paintEngine()->type() == QPaintEngine::OpenGL
- || painter->paintEngine()->type() == QPaintEngine::OpenGL2)) {
- d->updatePaintDevice = false;
-
- d->surface->setGLContext(const_cast<QGLContext *>(QGLContext::currentContext()));
- if (d->surface->supportedShaderTypes() & QPainterVideoSurface::GlslShader) {
- d->surface->setShaderType(QPainterVideoSurface::GlslShader);
- } else {
- d->surface->setShaderType(QPainterVideoSurface::FragmentProgramShader);
- }
-#endif
- }
-}
-
-/*!
- \reimp
-
- \internal
-*/
-QVariant QGraphicsVideoItem::itemChange(GraphicsItemChange change, const QVariant &value)
-{
- return QGraphicsObject::itemChange(change, value);
-}
-
-/*!
- \reimp
-
- \internal
-*/
-bool QGraphicsVideoItem::event(QEvent *event)
-{
- return QGraphicsObject::event(event);
-}
-
-/*!
- \reimp
-
- \internal
-*/
-bool QGraphicsVideoItem::sceneEvent(QEvent *event)
-{
- return QGraphicsObject::sceneEvent(event);
-}
-
-QT_END_NAMESPACE
-
-#endif // QT_NO_GRAPHICSVIEW
-
-#include "moc_qgraphicsvideoitem.cpp"
diff --git a/src/multimedia/mediaservices/base/qgraphicsvideoitem.h b/src/multimedia/mediaservices/base/qgraphicsvideoitem.h
deleted file mode 100644
index 679b353c62..0000000000
--- a/src/multimedia/mediaservices/base/qgraphicsvideoitem.h
+++ /dev/null
@@ -1,115 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the QtMediaServices module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QGRAPHICSVIDEOITEM_H
-#define QGRAPHICSVIDEOITEM_H
-
-#include <QtGui/qgraphicsitem.h>
-
-#include <QtMediaServices/qvideowidget.h>
-
-#if !defined(QT_NO_GRAPHICSVIEW) || (QT_EDITION & QT_MODULE_GRAPHICSVIEW) != QT_MODULE_GRAPHICSVIEW
-
-QT_BEGIN_HEADER
-
-QT_BEGIN_NAMESPACE
-
-QT_MODULE(Multimedia)
-
-class QVideoSurfaceFormat;
-
-class QGraphicsVideoItemPrivate;
-class Q_MEDIASERVICES_EXPORT QGraphicsVideoItem : public QGraphicsObject
-{
- Q_OBJECT
- Q_PROPERTY(QMediaObject* mediaObject READ mediaObject WRITE setMediaObject)
- Q_PROPERTY(Qt::AspectRatioMode aspectRatioMode READ aspectRatioMode WRITE setAspectRatioMode)
- Q_PROPERTY(QPointF offset READ offset WRITE setOffset)
- Q_PROPERTY(QSizeF size READ size WRITE setSize)
- Q_PROPERTY(QSizeF nativeSize READ nativeSize NOTIFY nativeSizeChanged)
-public:
- QGraphicsVideoItem(QGraphicsItem *parent = 0);
- ~QGraphicsVideoItem();
-
- QMediaObject *mediaObject() const;
- void setMediaObject(QMediaObject *object);
-
- Qt::AspectRatioMode aspectRatioMode() const;
- void setAspectRatioMode(Qt::AspectRatioMode mode);
-
- QPointF offset() const;
- void setOffset(const QPointF &offset);
-
- QSizeF size() const;
- void setSize(const QSizeF &size);
-
- QSizeF nativeSize() const;
-
- QRectF boundingRect() const;
-
- void paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget = 0);
-
-Q_SIGNALS:
- void nativeSizeChanged(const QSizeF &size);
-
-protected:
- bool event(QEvent *event);
- bool sceneEvent(QEvent *event);
-
- QVariant itemChange(GraphicsItemChange change, const QVariant &value);
-
- QGraphicsVideoItemPrivate *d_ptr;
-
-private:
- Q_DECLARE_PRIVATE(QGraphicsVideoItem)
- Q_PRIVATE_SLOT(d_func(), void _q_present())
- Q_PRIVATE_SLOT(d_func(), void _q_formatChanged(const QVideoSurfaceFormat &))
- Q_PRIVATE_SLOT(d_func(), void _q_serviceDestroyed())
- Q_PRIVATE_SLOT(d_func(), void _q_mediaObjectDestroyed())
-};
-
-QT_END_NAMESPACE
-
-QT_END_HEADER
-
-#endif // QT_NO_GRAPHICSVIEW
-
-#endif
diff --git a/src/multimedia/mediaservices/base/qlocalmediaplaylistprovider.cpp b/src/multimedia/mediaservices/base/qlocalmediaplaylistprovider.cpp
deleted file mode 100644
index 51e3bfb5c4..0000000000
--- a/src/multimedia/mediaservices/base/qlocalmediaplaylistprovider.cpp
+++ /dev/null
@@ -1,196 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the QtMediaServices module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include <QtMediaServices/qlocalmediaplaylistprovider.h>
-#include "qmediaplaylistprovider_p.h"
-#include <QtMediaServices/qmediacontent.h>
-
-
-QT_BEGIN_NAMESPACE
-
-class QLocalMediaPlaylistProviderPrivate: public QMediaPlaylistProviderPrivate
-{
-public:
- QList<QMediaContent> resources;
-};
-
-QLocalMediaPlaylistProvider::QLocalMediaPlaylistProvider(QObject *parent)
- :QMediaPlaylistProvider(*new QLocalMediaPlaylistProviderPrivate, parent)
-{
-}
-
-QLocalMediaPlaylistProvider::~QLocalMediaPlaylistProvider()
-{
-}
-
-bool QLocalMediaPlaylistProvider::isReadOnly() const
-{
- return false;
-}
-
-int QLocalMediaPlaylistProvider::mediaCount() const
-{
- return d_func()->resources.size();
-}
-
-QMediaContent QLocalMediaPlaylistProvider::media(int pos) const
-{
- return d_func()->resources.value(pos);
-}
-
-bool QLocalMediaPlaylistProvider::addMedia(const QMediaContent &content)
-{
- Q_D(QLocalMediaPlaylistProvider);
-
- int pos = d->resources.count();
-
- emit mediaAboutToBeInserted(pos, pos);
- d->resources.append(content);
- emit mediaInserted(pos, pos);
-
- return true;
-}
-
-bool QLocalMediaPlaylistProvider::addMedia(const QList<QMediaContent> &items)
-{
- Q_D(QLocalMediaPlaylistProvider);
-
- if (items.isEmpty())
- return true;
-
- int pos = d->resources.count();
- int end = pos+items.count()-1;
-
- emit mediaAboutToBeInserted(pos, end);
- d->resources.append(items);
- emit mediaInserted(pos, end);
-
- return true;
-}
-
-
-bool QLocalMediaPlaylistProvider::insertMedia(int pos, const QMediaContent &content)
-{
- Q_D(QLocalMediaPlaylistProvider);
-
- emit mediaAboutToBeInserted(pos, pos);
- d->resources.insert(pos, content);
- emit mediaInserted(pos,pos);
-
- return true;
-}
-
-bool QLocalMediaPlaylistProvider::insertMedia(int pos, const QList<QMediaContent> &items)
-{
- Q_D(QLocalMediaPlaylistProvider);
-
- if (items.isEmpty())
- return true;
-
- const int last = pos+items.count()-1;
-
- emit mediaAboutToBeInserted(pos, last);
- for (int i=0; i<items.count(); i++)
- d->resources.insert(pos+i, items.at(i));
- emit mediaInserted(pos, last);
-
- return true;
-}
-
-bool QLocalMediaPlaylistProvider::removeMedia(int fromPos, int toPos)
-{
- Q_D(QLocalMediaPlaylistProvider);
-
- Q_ASSERT(fromPos >= 0);
- Q_ASSERT(fromPos <= toPos);
- Q_ASSERT(toPos < mediaCount());
-
- emit mediaAboutToBeRemoved(fromPos, toPos);
- d->resources.erase(d->resources.begin()+fromPos, d->resources.begin()+toPos+1);
- emit mediaRemoved(fromPos, toPos);
-
- return true;
-}
-
-bool QLocalMediaPlaylistProvider::removeMedia(int pos)
-{
- Q_D(QLocalMediaPlaylistProvider);
-
- emit mediaAboutToBeRemoved(pos, pos);
- d->resources.removeAt(pos);
- emit mediaRemoved(pos, pos);
-
- return true;
-}
-
-bool QLocalMediaPlaylistProvider::clear()
-{
- Q_D(QLocalMediaPlaylistProvider);
- if (!d->resources.isEmpty()) {
- int lastPos = mediaCount()-1;
- emit mediaAboutToBeRemoved(0, lastPos);
- d->resources.clear();
- emit mediaRemoved(0, lastPos);
- }
-
- return true;
-}
-
-void QLocalMediaPlaylistProvider::shuffle()
-{
- Q_D(QLocalMediaPlaylistProvider);
- if (!d->resources.isEmpty()) {
- QList<QMediaContent> resources;
-
- while (!d->resources.isEmpty()) {
- resources.append(d->resources.takeAt(qrand() % d->resources.size()));
- }
-
- d->resources = resources;
- emit mediaChanged(0, mediaCount()-1);
- }
-
-}
-
-#include "moc_qlocalmediaplaylistprovider.cpp"
-
-QT_END_NAMESPACE
-
diff --git a/src/multimedia/mediaservices/base/qlocalmediaplaylistprovider.h b/src/multimedia/mediaservices/base/qlocalmediaplaylistprovider.h
deleted file mode 100644
index 4dd53dfa25..0000000000
--- a/src/multimedia/mediaservices/base/qlocalmediaplaylistprovider.h
+++ /dev/null
@@ -1,87 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the QtMediaServices module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QLOCALMEDIAPAYLISTPROVIDER_H
-#define QLOCALMEDIAPAYLISTPROVIDER_H
-
-#include <QtMediaServices/qmediaplaylistprovider.h>
-
-QT_BEGIN_HEADER
-
-QT_BEGIN_NAMESPACE
-
-QT_MODULE(Multimedia)
-
-
-class QLocalMediaPlaylistProviderPrivate;
-class Q_MEDIASERVICES_EXPORT QLocalMediaPlaylistProvider : public QMediaPlaylistProvider
-{
- Q_OBJECT
-
-public:
- QLocalMediaPlaylistProvider(QObject *parent=0);
- virtual ~QLocalMediaPlaylistProvider();
-
- virtual int mediaCount() const;
- virtual QMediaContent media(int pos) const;
-
- virtual bool isReadOnly() const;
-
- virtual bool addMedia(const QMediaContent &content);
- virtual bool addMedia(const QList<QMediaContent> &items);
- virtual bool insertMedia(int pos, const QMediaContent &content);
- virtual bool insertMedia(int pos, const QList<QMediaContent> &items);
- virtual bool removeMedia(int pos);
- virtual bool removeMedia(int start, int end);
- virtual bool clear();
-
-public Q_SLOTS:
- virtual void shuffle();
-
-private:
- Q_DECLARE_PRIVATE(QLocalMediaPlaylistProvider)
-};
-
-QT_END_NAMESPACE
-
-QT_END_HEADER
-
-#endif // QLOCALMEDIAPAYLISTSOURCE_H
diff --git a/src/multimedia/mediaservices/base/qmediacontent.cpp b/src/multimedia/mediaservices/base/qmediacontent.cpp
deleted file mode 100644
index 50d8e46f3f..0000000000
--- a/src/multimedia/mediaservices/base/qmediacontent.cpp
+++ /dev/null
@@ -1,242 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the QtMediaServices module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include <QtCore/qurl.h>
-#include <QtCore/qvariant.h>
-
-#include <QtMediaServices/qmediacontent.h>
-
-
-QT_BEGIN_NAMESPACE
-
-
-class QMediaContentPrivate : public QSharedData
-{
-public:
- QMediaContentPrivate() {}
- QMediaContentPrivate(const QMediaResourceList &r):
- resources(r) {}
-
- QMediaContentPrivate(const QMediaContentPrivate &other):
- QSharedData(other),
- resources(other.resources)
- {}
-
- bool operator==(const QMediaContentPrivate &other) const
- {
- return resources == other.resources;
- }
-
- QMediaResourceList resources;
-
-private:
- QMediaContentPrivate& operator=(const QMediaContentPrivate &other);
-};
-
-
-/*!
- \class QMediaContent
- \preliminary
- \brief The QMediaContent class provides access to the resources relating to a media content.
- \since 4.7
-
- \ingroup multimedia
-
- QMediaContent is used within the multimedia framework as the logical handle
- to media content. A QMediaContent object is composed of one or more
- \l {QMediaResource}s where each resource provides the URL and format
- information of a different encoding of the content.
-
- A non-null QMediaContent will always have a primary or canonical reference to
- the content available through the canonicalUrl() or canonicalResource()
- methods, any additional resources are optional.
-*/
-
-
-/*!
- Constructs a null QMediaContent.
-*/
-
-QMediaContent::QMediaContent()
-{
-}
-
-/*!
- Constructs a media content with \a url providing a reference to the content.
-*/
-
-QMediaContent::QMediaContent(const QUrl &url):
- d(new QMediaContentPrivate)
-{
- d->resources << QMediaResource(url);
-}
-
-/*!
- Constructs a media content with \a request providing a reference to the content.
-
- This constructor can be used to reference media content via network protocols such as HTTP.
- This may include additional information required to obtain the resource, such as Cookies or HTTP headers.
-*/
-
-QMediaContent::QMediaContent(const QNetworkRequest &request):
- d(new QMediaContentPrivate)
-{
- d->resources << QMediaResource(request);
-}
-
-/*!
- Constructs a media content with \a resource providing a reference to the content.
-*/
-
-QMediaContent::QMediaContent(const QMediaResource &resource):
- d(new QMediaContentPrivate)
-{
- d->resources << resource;
-}
-
-/*!
- Constructs a media content with \a resources providing a reference to the content.
-*/
-
-QMediaContent::QMediaContent(const QMediaResourceList &resources):
- d(new QMediaContentPrivate(resources))
-{
-}
-
-/*!
- Constructs a copy of the media content \a other.
-*/
-
-QMediaContent::QMediaContent(const QMediaContent &other):
- d(other.d)
-{
-}
-
-/*!
- Destroys the media content object.
-*/
-
-QMediaContent::~QMediaContent()
-{
-}
-
-/*!
- Assigns the value of \a other to this media content.
-*/
-
-QMediaContent& QMediaContent::operator=(const QMediaContent &other)
-{
- d = other.d;
- return *this;
-}
-
-/*!
- Returns true if \a other is equivalent to this media content; false otherwise.
-*/
-
-bool QMediaContent::operator==(const QMediaContent &other) const
-{
- return (d.constData() == 0 && other.d.constData() == 0) ||
- (d.constData() != 0 && other.d.constData() != 0 &&
- *d.constData() == *other.d.constData());
-}
-
-/*!
- Returns true if \a other is not equivalent to this media content; false otherwise.
-*/
-
-bool QMediaContent::operator!=(const QMediaContent &other) const
-{
- return !(*this == other);
-}
-
-/*!
- Returns true if this media content is null (uninitialized); false otherwise.
-*/
-
-bool QMediaContent::isNull() const
-{
- return d.constData() == 0;
-}
-
-/*!
- Returns a QUrl that represents that canonical resource for this media content.
-*/
-
-QUrl QMediaContent::canonicalUrl() const
-{
- return canonicalResource().url();
-}
-
-/*!
- Returns a QNetworkRequest that represents that canonical resource for this media content.
-*/
-
-QNetworkRequest QMediaContent::canonicalRequest() const
-{
- return canonicalResource().request();
-}
-
-/*!
- Returns a QMediaResource that represents that canonical resource for this media content.
-*/
-
-QMediaResource QMediaContent::canonicalResource() const
-{
- return d.constData() != 0
- ? d->resources.value(0)
- : QMediaResource();
-}
-
-/*!
- Returns a list of alternative resources for this media content. The first item in this list
- is always the canonical resource.
-*/
-
-QMediaResourceList QMediaContent::resources() const
-{
- return d.constData() != 0
- ? d->resources
- : QMediaResourceList();
-}
-
-QT_END_NAMESPACE
-
diff --git a/src/multimedia/mediaservices/base/qmediacontent.h b/src/multimedia/mediaservices/base/qmediacontent.h
deleted file mode 100644
index c00e443c68..0000000000
--- a/src/multimedia/mediaservices/base/qmediacontent.h
+++ /dev/null
@@ -1,93 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the QtMediaServices module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QMEDIACONTENT_H
-#define QMEDIACONTENT_H
-
-#include <QtCore/qmetatype.h>
-#include <QtCore/qshareddata.h>
-
-#include <QtMediaServices/qmediaresource.h>
-#include <QtNetwork/qnetworkrequest.h>
-
-
-QT_BEGIN_HEADER
-
-QT_BEGIN_NAMESPACE
-
-QT_MODULE(Multimedia)
-
-class QMediaContentPrivate;
-class Q_MEDIASERVICES_EXPORT QMediaContent
-{
-public:
- QMediaContent();
- QMediaContent(const QUrl &contentUrl);
- QMediaContent(const QNetworkRequest &contentRequest);
- QMediaContent(const QMediaResource &contentResource);
- QMediaContent(const QMediaResourceList &resources);
- QMediaContent(const QMediaContent &other);
- ~QMediaContent();
-
- QMediaContent& operator=(const QMediaContent &other);
-
- bool operator==(const QMediaContent &other) const;
- bool operator!=(const QMediaContent &other) const;
-
- bool isNull() const;
-
- QUrl canonicalUrl() const;
- QNetworkRequest canonicalRequest() const;
- QMediaResource canonicalResource() const;
-
- QMediaResourceList resources() const;
-
-private:
- QSharedDataPointer<QMediaContentPrivate> d;
-};
-
-QT_END_NAMESPACE
-
-Q_DECLARE_METATYPE(QMediaContent)
-
-QT_END_HEADER
-
-#endif // QMEDIACONTENT_H
diff --git a/src/multimedia/mediaservices/base/qmediacontrol.cpp b/src/multimedia/mediaservices/base/qmediacontrol.cpp
deleted file mode 100644
index 09996c89c4..0000000000
--- a/src/multimedia/mediaservices/base/qmediacontrol.cpp
+++ /dev/null
@@ -1,140 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the QtMediaServices module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include <QtCore/qmetaobject.h>
-#include <QtCore/qtimer.h>
-
-#include <QtMediaServices//qmediacontrol.h>
-#include <QtMediaServices/private/qmediacontrol_p.h>
-
-
-
-QT_BEGIN_NAMESPACE
-
-/*!
- \class QMediaControl
- \ingroup multimedia-serv
- \since 4.7
-
- \preliminary
- \brief The QMediaControl class provides a base interface for media service controls.
-
- Media controls provide an interface to individual features provided by a media service. Most
- services implement a principal control which exposes the core functionality of the service and
- a number optional controls which expose any additional functionality.
-
- A pointer to a control implemented by a media service can be obtained using the
- \l {QMediaService::control()}{control()} member of QMediaService. If the service doesn't
- implement a control it will instead return a null pointer.
-
- \code
- QMediaPlayerControl *control = qobject_cast<QMediaPlayerControl *>(
- service->control("com.nokia.Qt.QMediaPlayerControl/1.0"));
- \endcode
-
- Alternatively if the IId of the control has been declared using Q_MEDIA_DECLARE_CONTROL
- the template version of QMediaService::control() can be used to request the service without
- explicitly passing the IId.
-
- \code
- QMediaPlayerControl *control = service->control<QMediaPlayerControl *>();
- \endcode
-
- Most application code will not interface directly with a media service's controls, instead the
- QMediaObject which owns the service acts as an intermeditary between one or more controls and
- the application.
-
- \sa QMediaService, QMediaObject
-*/
-
-/*!
- \macro Q_MEDIA_DECLARE_CONTROL(Class, IId)
- \relates QMediaControl
-
- The Q_MEDIA_DECLARE_CONTROL macro declares an \a IId for a \a Class that inherits from
- QMediaControl.
-
- Declaring an IId for a QMediaControl allows an instance of that control to be requested from
- QMediaService::control() without explicitly passing the IId.
-
- \code
- QMediaPlayerControl *control = service->control<QMediaPlayerControl *>();
- \endcode
-
- \sa QMediaService::control()
-*/
-
-/*!
- Destroys a media control.
-*/
-
-QMediaControl::~QMediaControl()
-{
- delete d_ptr;
-}
-
-/*!
- Constructs a media control with the given \a parent.
-*/
-
-QMediaControl::QMediaControl(QObject *parent)
- : QObject(parent)
- , d_ptr(new QMediaControlPrivate)
-{
- d_ptr->q_ptr = this;
-}
-
-/*!
- \internal
-*/
-
-QMediaControl::QMediaControl(QMediaControlPrivate &dd, QObject *parent)
- : QObject(parent)
- , d_ptr(&dd)
-
-{
- d_ptr->q_ptr = this;
-}
-
-#include "moc_qmediacontrol.cpp"
-
-QT_END_NAMESPACE
-
diff --git a/src/multimedia/mediaservices/base/qmediacontrol.h b/src/multimedia/mediaservices/base/qmediacontrol.h
deleted file mode 100644
index 941c0044af..0000000000
--- a/src/multimedia/mediaservices/base/qmediacontrol.h
+++ /dev/null
@@ -1,82 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the QtMediaServices module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QABSTRACTMEDIACONTROL_H
-#define QABSTRACTMEDIACONTROL_H
-
-#include <QtCore/qobject.h>
-#include <QtCore/qstring.h>
-#include <QtCore/qvariant.h>
-
-QT_BEGIN_HEADER
-
-QT_BEGIN_NAMESPACE
-
-QT_MODULE(Multimedia)
-
-class QMediaControlPrivate;
-class Q_MEDIASERVICES_EXPORT QMediaControl : public QObject
-{
- Q_OBJECT
-
-public:
- ~QMediaControl();
-
-protected:
- QMediaControl(QObject *parent = 0);
- QMediaControl(QMediaControlPrivate &dd, QObject *parent = 0);
-
- QMediaControlPrivate *d_ptr;
-
-private:
- Q_DECLARE_PRIVATE(QMediaControl)
-};
-
-template <typename T> const char *qmediacontrol_iid() { return 0; }
-
-#define Q_MEDIA_DECLARE_CONTROL(Class, IId) \
- template <> inline const char *qmediacontrol_iid<Class *>() { return IId; }
-
-QT_END_NAMESPACE
-
-QT_END_HEADER
-
-#endif // QABSTRACTMEDIACONTROL_H
diff --git a/src/multimedia/mediaservices/base/qmediacontrol_p.h b/src/multimedia/mediaservices/base/qmediacontrol_p.h
deleted file mode 100644
index 3f9755b34a..0000000000
--- a/src/multimedia/mediaservices/base/qmediacontrol_p.h
+++ /dev/null
@@ -1,74 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the QtMediaServices module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QABSTRACTMEDIACONTROL_P_H
-#define QABSTRACTMEDIACONTROL_P_H
-
-//
-// W A R N I N G
-// -------------
-//
-// This file is not part of the Qt API. It exists purely as an
-// implementation detail. This header file may change from version to
-// version without notice, or even be removed.
-//
-// We mean it.
-//
-
-QT_BEGIN_HEADER
-
-QT_BEGIN_NAMESPACE
-
-class QMediaControl;
-
-class QMediaControlPrivate
-{
-public:
- virtual ~QMediaControlPrivate() {}
-
- QMediaControl *q_ptr;
-};
-
-QT_END_NAMESPACE
-
-QT_END_HEADER
-
-#endif
diff --git a/src/multimedia/mediaservices/base/qmediaobject.cpp b/src/multimedia/mediaservices/base/qmediaobject.cpp
deleted file mode 100644
index 68fb29e5d4..0000000000
--- a/src/multimedia/mediaservices/base/qmediaobject.cpp
+++ /dev/null
@@ -1,419 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the QtMediaservics module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include <QtCore/qmetaobject.h>
-
-#include "qmediaobject_p.h"
-
-#include <QtMediaServices/qmediaservice.h>
-#include <QtMediaServices/qmetadatacontrol.h>
-
-
-QT_BEGIN_NAMESPACE
-
-void QMediaObjectPrivate::_q_notify()
-{
- Q_Q(QMediaObject);
-
- const QMetaObject* m = q->metaObject();
-
- foreach (int pi, notifyProperties) {
- QMetaProperty p = m->property(pi);
- p.notifySignal().invoke(
- q, QGenericArgument(QMetaType::typeName(p.userType()), p.read(q).data()));
- }
-}
-
-
-/*!
- \class QMediaObject
- \preliminary
- \brief The QMediaObject class provides a common base for multimedia objects.
- \since 4.7
-
- \ingroup multimedia
-
- QMediaObject derived classes provide access to the functionality of a
- QMediaService. Each media object hosts a QMediaService and uses the
- QMediaControl interfaces implemented by the service to implement its
- API. Most media objects when constructed will request a new
- QMediaService instance from a QMediaServiceProvider, but some like
- QMediaRecorder will share a service with another object.
-
- QMediaObject itself provides an API for accessing a media service's \l {metaData()}{meta-data} and a means of connecting other media objects,
- and peripheral classes like QVideoWidget and QMediaPlaylist.
-
- \sa QMediaService, QMediaControl
-*/
-
-/*!
- Destroys a media object.
-*/
-
-QMediaObject::~QMediaObject()
-{
- delete d_ptr;
-}
-
-/*!
- Returns the service availability error state.
-*/
-
-QtMediaServices::AvailabilityError QMediaObject::availabilityError() const
-{
- return QtMediaServices::ServiceMissingError;
-}
-
-/*!
- Returns true if the service is available for use.
-*/
-
-bool QMediaObject::isAvailable() const
-{
- return false;
-}
-
-/*!
- Returns the media service that provides the functionality of a multimedia object.
-*/
-
-QMediaService* QMediaObject::service() const
-{
- return d_func()->service;
-}
-
-int QMediaObject::notifyInterval() const
-{
- return d_func()->notifyTimer->interval();
-}
-
-void QMediaObject::setNotifyInterval(int milliSeconds)
-{
- Q_D(QMediaObject);
-
- if (d->notifyTimer->interval() != milliSeconds) {
- d->notifyTimer->setInterval(milliSeconds);
-
- emit notifyIntervalChanged(milliSeconds);
- }
-}
-
-/*!
- \internal
-*/
-void QMediaObject::bind(QObject*)
-{
-}
-
-/*!
- \internal
-*/
-void QMediaObject::unbind(QObject*)
-{
-}
-
-
-/*!
- Constructs a media object which uses the functionality provided by a media \a service.
-
- The \a parent is passed to QObject.
-
- This class is meant as a base class for Multimedia objects so this
- constructor is protected.
-*/
-
-QMediaObject::QMediaObject(QObject *parent, QMediaService *service):
- QObject(parent),
- d_ptr(new QMediaObjectPrivate)
-
-{
- Q_D(QMediaObject);
-
- d->q_ptr = this;
-
- d->notifyTimer = new QTimer(this);
- d->notifyTimer->setInterval(1000);
- connect(d->notifyTimer, SIGNAL(timeout()), SLOT(_q_notify()));
-
- d->service = service;
-
- setupMetaData();
-}
-
-/*!
- \internal
-*/
-
-QMediaObject::QMediaObject(QMediaObjectPrivate &dd, QObject *parent,
- QMediaService *service):
- QObject(parent),
- d_ptr(&dd)
-{
- Q_D(QMediaObject);
- d->q_ptr = this;
-
- d->notifyTimer = new QTimer(this);
- d->notifyTimer->setInterval(1000);
- connect(d->notifyTimer, SIGNAL(timeout()), SLOT(_q_notify()));
-
- d->service = service;
-
- setupMetaData();
-}
-
-/*!
- Watch the property \a name. The property's notify signal will be emitted
- once every notifyInterval milliseconds.
-
- \sa notifyInterval
-*/
-
-void QMediaObject::addPropertyWatch(QByteArray const &name)
-{
- Q_D(QMediaObject);
-
- const QMetaObject* m = metaObject();
-
- int index = m->indexOfProperty(name.constData());
-
- if (index != -1 && m->property(index).hasNotifySignal()) {
- d->notifyProperties.insert(index);
-
- if (!d->notifyTimer->isActive())
- d->notifyTimer->start();
- }
-}
-
-/*!
- Remove property \a name from the list of properties whose changes are
- regularly signaled.
-
- \sa notifyInterval
-*/
-
-void QMediaObject::removePropertyWatch(QByteArray const &name)
-{
- Q_D(QMediaObject);
-
- int index = metaObject()->indexOfProperty(name.constData());
-
- if (index != -1) {
- d->notifyProperties.remove(index);
-
- if (d->notifyProperties.isEmpty())
- d->notifyTimer->stop();
- }
-}
-
-/*!
- \property QMediaObject::notifyInterval
-
- The interval at which notifiable properties will update.
-
- The interval is expressed in milliseconds, the default value is 1000.
-
- \sa addPropertyWatch(), removePropertyWatch()
-*/
-
-/*!
- \fn void QMediaObject::notifyIntervalChanged(int milliseconds)
-
- Signal a change in the notify interval period to \a milliseconds.
-*/
-
-/*!
- \property QMediaObject::metaDataAvailable
- \brief whether access to a media object's meta-data is available.
-
- If this is true there is meta-data available, otherwise there is no meta-data available.
-*/
-
-bool QMediaObject::isMetaDataAvailable() const
-{
- Q_D(const QMediaObject);
-
- return d->metaDataControl
- ? d->metaDataControl->isMetaDataAvailable()
- : false;
-}
-
-/*!
- \fn QMediaObject::metaDataAvailableChanged(bool available)
-
- Signals that the \a available state of a media object's meta-data has changed.
-*/
-
-/*!
- \property QMediaObject::metaDataWritable
- \brief whether a media object's meta-data is writable.
-
- If this is true the meta-data is writable, otherwise the meta-data is read-only.
-*/
-
-bool QMediaObject::isMetaDataWritable() const
-{
- Q_D(const QMediaObject);
-
- return d->metaDataControl
- ? d->metaDataControl->isWritable()
- : false;
-}
-
-/*!
- \fn QMediaObject::metaDataWritableChanged(bool writable)
-
- Signals that the \a writable state of a media object's meta-data has changed.
-*/
-
-/*!
- Returns the value associated with a meta-data \a key.
-*/
-QVariant QMediaObject::metaData(QtMediaServices::MetaData key) const
-{
- Q_D(const QMediaObject);
-
- return d->metaDataControl
- ? d->metaDataControl->metaData(key)
- : QVariant();
-}
-
-/*!
- Sets a \a value for a meta-data \a key.
-*/
-void QMediaObject::setMetaData(QtMediaServices::MetaData key, const QVariant &value)
-{
- Q_D(QMediaObject);
-
- if (d->metaDataControl)
- d->metaDataControl->setMetaData(key, value);
-}
-
-/*!
- Returns a list of keys there is meta-data available for.
-*/
-QList<QtMediaServices::MetaData> QMediaObject::availableMetaData() const
-{
- Q_D(const QMediaObject);
-
- return d->metaDataControl
- ? d->metaDataControl->availableMetaData()
- : QList<QtMediaServices::MetaData>();
-}
-
-/*!
- \fn QMediaObject::metaDataChanged()
-
- Signals that a media object's meta-data has changed.
-*/
-
-/*!
- Returns the value associated with a meta-data \a key.
-
- The naming and type of extended meta-data is not standardized, so the values and meaning
- of keys may vary between backends.
-*/
-QVariant QMediaObject::extendedMetaData(const QString &key) const
-{
- Q_D(const QMediaObject);
-
- return d->metaDataControl
- ? d->metaDataControl->extendedMetaData(key)
- : QVariant();
-}
-
-/*!
- Sets a \a value for a meta-data \a key.
-
- The naming and type of extended meta-data is not standardized, so the values and meaning
- of keys may vary between backends.
-*/
-void QMediaObject::setExtendedMetaData(const QString &key, const QVariant &value)
-{
- Q_D(QMediaObject);
-
- if (d->metaDataControl)
- d->metaDataControl->setExtendedMetaData(key, value);
-}
-
-/*!
- Returns a list of keys there is extended meta-data available for.
-*/
-QStringList QMediaObject::availableExtendedMetaData() const
-{
- Q_D(const QMediaObject);
-
- return d->metaDataControl
- ? d->metaDataControl->availableExtendedMetaData()
- : QStringList();
-}
-
-
-void QMediaObject::setupMetaData()
-{
- Q_D(QMediaObject);
-
- if (d->service != 0) {
- d->metaDataControl =
- qobject_cast<QMetaDataControl*>(d->service->control(QMetaDataControl_iid));
-
- if (d->metaDataControl) {
- connect(d->metaDataControl, SIGNAL(metaDataChanged()), SIGNAL(metaDataChanged()));
- connect(d->metaDataControl,
- SIGNAL(metaDataAvailableChanged(bool)),
- SIGNAL(metaDataAvailableChanged(bool)));
- connect(d->metaDataControl,
- SIGNAL(writableChanged(bool)),
- SIGNAL(metaDataWritableChanged(bool)));
- }
- }
-}
-
-/*!
- \fn QMediaObject::availabilityChanged(bool available)
-
- Signal emitted when the availability state has changed to \a available
-*/
-
-
-#include "moc_qmediaobject.cpp"
-
-QT_END_NAMESPACE
-
diff --git a/src/multimedia/mediaservices/base/qmediaobject.h b/src/multimedia/mediaservices/base/qmediaobject.h
deleted file mode 100644
index 067bb56ebf..0000000000
--- a/src/multimedia/mediaservices/base/qmediaobject.h
+++ /dev/null
@@ -1,121 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the QtMediaServices module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QABSTRACTMEDIAOBJECT_H
-#define QABSTRACTMEDIAOBJECT_H
-
-#include <QtCore/qobject.h>
-#include <QtCore/qstringlist.h>
-
-#include <QtMediaServices/qtmedianamespace.h>
-
-QT_BEGIN_HEADER
-
-QT_BEGIN_NAMESPACE
-
-QT_MODULE(Multimedia)
-
-class QMediaService;
-
-class QMediaObjectPrivate;
-class Q_MEDIASERVICES_EXPORT QMediaObject : public QObject
-{
- Q_OBJECT
- Q_PROPERTY(int notifyInterval READ notifyInterval WRITE setNotifyInterval NOTIFY notifyIntervalChanged)
- Q_PROPERTY(bool metaDataAvailable READ isMetaDataAvailable NOTIFY metaDataAvailableChanged)
- Q_PROPERTY(bool metaDataWritable READ isMetaDataWritable NOTIFY metaDataWritableChanged)
-
-public:
- ~QMediaObject();
-
- virtual bool isAvailable() const;
- virtual QtMediaServices::AvailabilityError availabilityError() const;
-
- virtual QMediaService* service() const;
-
- int notifyInterval() const;
- void setNotifyInterval(int milliSeconds);
-
- virtual void bind(QObject*);
- virtual void unbind(QObject*);
-
- bool isMetaDataAvailable() const;
- bool isMetaDataWritable() const;
-
- QVariant metaData(QtMediaServices::MetaData key) const;
- void setMetaData(QtMediaServices::MetaData key, const QVariant &value);
- QList<QtMediaServices::MetaData> availableMetaData() const;
-
- QVariant extendedMetaData(const QString &key) const;
- void setExtendedMetaData(const QString &key, const QVariant &value);
- QStringList availableExtendedMetaData() const;
-
-Q_SIGNALS:
- void notifyIntervalChanged(int milliSeconds);
-
- void metaDataAvailableChanged(bool available);
- void metaDataWritableChanged(bool writable);
- void metaDataChanged();
-
- void availabilityChanged(bool available);
-
-protected:
- QMediaObject(QObject *parent, QMediaService *service);
- QMediaObject(QMediaObjectPrivate &dd, QObject *parent, QMediaService *service);
-
- void addPropertyWatch(QByteArray const &name);
- void removePropertyWatch(QByteArray const &name);
-
- QMediaObjectPrivate *d_ptr;
-
-private:
- void setupMetaData();
-
- Q_DECLARE_PRIVATE(QMediaObject)
- Q_PRIVATE_SLOT(d_func(), void _q_notify())
-};
-
-QT_END_NAMESPACE
-
-QT_END_HEADER
-
-
-#endif // QABSTRACTMEDIAOBJECT_H
diff --git a/src/multimedia/mediaservices/base/qmediaobject_p.h b/src/multimedia/mediaservices/base/qmediaobject_p.h
deleted file mode 100644
index c31ad46e96..0000000000
--- a/src/multimedia/mediaservices/base/qmediaobject_p.h
+++ /dev/null
@@ -1,95 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the QtMediaServices module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QABSTRACTMEDIAOBJECT_P_H
-#define QABSTRACTMEDIAOBJECT_P_H
-
-//
-// W A R N I N G
-// -------------
-//
-// This file is not part of the Qt API. It exists purely as an
-// implementation detail. This header file may change from version to
-// version without notice, or even be removed.
-//
-// We mean it.
-//
-
-#include <QtCore/qbytearray.h>
-#include <QtCore/qset.h>
-#include <QtCore/qtimer.h>
-
-#include <QtMediaServices/qmediaobject.h>
-
-QT_BEGIN_HEADER
-
-QT_BEGIN_NAMESPACE
-
-class QMetaDataControl;
-
-#define Q_DECLARE_NON_CONST_PUBLIC(Class) \
- inline Class* q_func() { return static_cast<Class *>(q_ptr); } \
- friend class Class;
-
-
-class QMediaObjectPrivate
-{
- Q_DECLARE_PUBLIC(QMediaObject)
-
-public:
- QMediaObjectPrivate():metaDataControl(0), notifyTimer(0) {}
- virtual ~QMediaObjectPrivate() {}
-
- void _q_notify();
-
- QMediaService *service;
- QMetaDataControl *metaDataControl;
- QTimer* notifyTimer;
- QSet<int> notifyProperties;
-
- QMediaObject *q_ptr;
-};
-
-QT_END_NAMESPACE
-
-QT_END_HEADER
-
-#endif
diff --git a/src/multimedia/mediaservices/base/qmediaplaylist.cpp b/src/multimedia/mediaservices/base/qmediaplaylist.cpp
deleted file mode 100644
index 93278febde..0000000000
--- a/src/multimedia/mediaservices/base/qmediaplaylist.cpp
+++ /dev/null
@@ -1,724 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the QtMediaServices module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include <QtCore/qlist.h>
-#include <QtCore/qfile.h>
-#include <QtCore/qurl.h>
-#include <QtCore/qcoreevent.h>
-#include <QtCore/qcoreapplication.h>
-
-#include <QtMediaServices/qmediaplaylist.h>
-#include "qmediaplaylist_p.h"
-#include <QtMediaServices/qmediaplaylistprovider.h>
-#include <QtMediaServices/qlocalmediaplaylistprovider.h>
-#include <QtMediaServices/qmediaplaylistioplugin.h>
-#include <QtMediaServices/qmediaservice.h>
-#include <QtMediaServices/qmediaplaylistcontrol.h>
-#include <QtMediaServices/qmediaplayercontrol.h>
-
-#include "qmediapluginloader_p.h"
-
-
-QT_BEGIN_NAMESPACE
-
-Q_GLOBAL_STATIC_WITH_ARGS(QMediaPluginLoader, playlistIOLoader,
- (QMediaPlaylistIOInterface_iid, QLatin1String("/playlistformats"), Qt::CaseInsensitive))
-
-
-/*!
- \class QMediaPlaylist
- \ingroup multimedia
- \since 4.7
-
- \preliminary
- \brief The QMediaPlaylist class provides a list of media content to play.
-
- QMediaPlaylist is intended to be used with other media objects,
- like QMediaPlayer or QMediaImageViewer.
- QMediaPlaylist allows to access the service intrinsic playlist functionality
- if available, otherwise it provides the the local memory playlist implementation.
-
-\code
- player = new QMediaPlayer;
-
- playlist = new QMediaPlaylist;
- playlist->setMediaObject(player);
- playlist->append(QUrl("http://example.com/movie1.mp4"));
- playlist->append(QUrl("http://example.com/movie2.mp4"));
- playlist->append(QUrl("http://example.com/movie3.mp4"));
-
- playlist->setCurrentIndex(1);
-
- player->play();
-\endcode
-
- Depending on playlist source implementation,
- most of playlist modifcation operations can be asynchronous.
-
- \sa QMediaContent
-*/
-
-
-/*!
- \enum QMediaPlaylist::PlaybackMode
-
- The QMediaPlaylist::PlaybackMode describes the order items in playlist are played.
-
- \value CurrentItemOnce The current item is played only once.
-
- \value CurrentItemInLoop The current item is played in the loop.
-
- \value Linear Playback starts from the first to the last items and stops.
- next item is a null item when the last one is currently playing.
-
- \value Loop Playback continues from the first item after the last one finished playing.
-
- \value Random Play items in random order.
-*/
-
-
-
-/*!
- Create a new playlist object for with the given \a parent.
-*/
-
-QMediaPlaylist::QMediaPlaylist(QObject *parent)
- : QObject(parent)
- , d_ptr(new QMediaPlaylistPrivate)
-{
- Q_D(QMediaPlaylist);
-
- d->q_ptr = this;
- d->localPlaylistControl = new QLocalMediaPlaylistControl(this);
-
- setMediaObject(0);
-}
-
-/*!
- Destroys the playlist.
- */
-
-QMediaPlaylist::~QMediaPlaylist()
-{
- Q_D(QMediaPlaylist);
-
- if (d->mediaObject)
- d->mediaObject->unbind(this);
-
- delete d_ptr;
-}
-
-/*!
- Returns the QMediaObject that is being used to play the contents of this playlist.
-*/
-
-QMediaObject *QMediaPlaylist::mediaObject() const
-{
- return d_func()->mediaObject;
-}
-
-/*!
- If \a mediaObject is null or doesn't have an intrinsic playlist,
- internal local memory playlist source will be created.
-*/
-void QMediaPlaylist::setMediaObject(QMediaObject *mediaObject)
-{
- Q_D(QMediaPlaylist);
-
- if (mediaObject && mediaObject == d->mediaObject)
- return;
-
- QMediaService *service = mediaObject
- ? mediaObject->service() : 0;
-
- QMediaPlaylistControl *newControl = 0;
-
- if (service)
- newControl = qobject_cast<QMediaPlaylistControl*>(service->control(QMediaPlaylistControl_iid));
-
- if (!newControl)
- newControl = d->localPlaylistControl;
-
- if (d->control != newControl) {
- int oldSize = 0;
- if (d->control) {
- QMediaPlaylistProvider *playlist = d->control->playlistProvider();
- oldSize = playlist->mediaCount();
- disconnect(playlist, SIGNAL(loadFailed(QMediaPlaylist::Error,QString)),
- this, SLOT(_q_loadFailed(QMediaPlaylist::Error,QString)));
-
- disconnect(playlist, SIGNAL(mediaChanged(int,int)), this, SIGNAL(mediaChanged(int,int)));
- disconnect(playlist, SIGNAL(mediaAboutToBeInserted(int,int)), this, SIGNAL(mediaAboutToBeInserted(int,int)));
- disconnect(playlist, SIGNAL(mediaInserted(int,int)), this, SIGNAL(mediaInserted(int,int)));
- disconnect(playlist, SIGNAL(mediaAboutToBeRemoved(int,int)), this, SIGNAL(mediaAboutToBeRemoved(int,int)));
- disconnect(playlist, SIGNAL(mediaRemoved(int,int)), this, SIGNAL(mediaRemoved(int,int)));
-
- disconnect(playlist, SIGNAL(loaded()), this, SIGNAL(loaded()));
-
- disconnect(d->control, SIGNAL(playbackModeChanged(QMediaPlaylist::PlaybackMode)),
- this, SIGNAL(playbackModeChanged(QMediaPlaylist::PlaybackMode)));
- disconnect(d->control, SIGNAL(currentIndexChanged(int)),
- this, SIGNAL(currentIndexChanged(int)));
- disconnect(d->control, SIGNAL(currentMediaChanged(QMediaContent)),
- this, SIGNAL(currentMediaChanged(QMediaContent)));
- }
-
- d->control = newControl;
- QMediaPlaylistProvider *playlist = d->control->playlistProvider();
- connect(playlist, SIGNAL(loadFailed(QMediaPlaylist::Error,QString)),
- this, SLOT(_q_loadFailed(QMediaPlaylist::Error,QString)));
-
- connect(playlist, SIGNAL(mediaChanged(int,int)), this, SIGNAL(mediaChanged(int,int)));
- connect(playlist, SIGNAL(mediaAboutToBeInserted(int,int)), this, SIGNAL(mediaAboutToBeInserted(int,int)));
- connect(playlist, SIGNAL(mediaInserted(int,int)), this, SIGNAL(mediaInserted(int,int)));
- connect(playlist, SIGNAL(mediaAboutToBeRemoved(int,int)), this, SIGNAL(mediaAboutToBeRemoved(int,int)));
- connect(playlist, SIGNAL(mediaRemoved(int,int)), this, SIGNAL(mediaRemoved(int,int)));
-
- connect(playlist, SIGNAL(loaded()), this, SIGNAL(loaded()));
-
- connect(d->control, SIGNAL(playbackModeChanged(QMediaPlaylist::PlaybackMode)),
- this, SIGNAL(playbackModeChanged(QMediaPlaylist::PlaybackMode)));
- connect(d->control, SIGNAL(currentIndexChanged(int)),
- this, SIGNAL(currentIndexChanged(int)));
- connect(d->control, SIGNAL(currentMediaChanged(QMediaContent)),
- this, SIGNAL(currentMediaChanged(QMediaContent)));
-
- if (oldSize)
- emit mediaRemoved(0, oldSize-1);
-
- if (playlist->mediaCount()) {
- emit mediaAboutToBeInserted(0,playlist->mediaCount()-1);
- emit mediaInserted(0,playlist->mediaCount()-1);
- }
- }
-
- if (d->mediaObject)
- d->mediaObject->unbind(this);
-
- d->mediaObject = mediaObject;
- if (d->mediaObject)
- d->mediaObject->bind(this);
-}
-
-/*!
- \property QMediaPlaylist::playbackMode
-
- This property defines the order, items in playlist are played.
-
- \sa QMediaPlaylist::PlaybackMode
-*/
-
-QMediaPlaylist::PlaybackMode QMediaPlaylist::playbackMode() const
-{
- return d_func()->control->playbackMode();
-}
-
-void QMediaPlaylist::setPlaybackMode(QMediaPlaylist::PlaybackMode mode)
-{
- Q_D(QMediaPlaylist);
- d->control->setPlaybackMode(mode);
-}
-
-/*!
- Returns position of the current media source in the playlist.
-*/
-int QMediaPlaylist::currentIndex() const
-{
- return d_func()->control->currentIndex();
-}
-
-/*!
- Returns the current media content.
-*/
-
-QMediaContent QMediaPlaylist::currentMedia() const
-{
- return d_func()->playlist()->media(currentIndex());
-}
-
-/*!
- Returns the index of item, which were current after calling next()
- \a steps times.
-
- Returned value depends on the size of playlist, current position
- and playback mode.
-
- \sa QMediaPlaylist::playbackMode
-*/
-int QMediaPlaylist::nextIndex(int steps) const
-{
- return d_func()->control->nextIndex(steps);
-}
-
-/*!
- Returns the index of item, which were current after calling previous()
- \a steps times.
-
- \sa QMediaPlaylist::playbackMode
-*/
-
-int QMediaPlaylist::previousIndex(int steps) const
-{
- return d_func()->control->previousIndex(steps);
-}
-
-
-/*!
- Returns the number of items in the playlist.
-
- \sa isEmpty()
- */
-int QMediaPlaylist::mediaCount() const
-{
- return d_func()->playlist()->mediaCount();
-}
-
-/*!
- Returns true if the playlist contains no items; otherwise returns false.
- \sa mediaCount()
- */
-bool QMediaPlaylist::isEmpty() const
-{
- return mediaCount() == 0;
-}
-
-/*!
- Returns true if the playlist can be modified; otherwise returns false.
- \sa mediaCount()
- */
-bool QMediaPlaylist::isReadOnly() const
-{
- return d_func()->playlist()->isReadOnly();
-}
-
-/*!
- Returns the media content at \a index in the playlist.
-*/
-
-QMediaContent QMediaPlaylist::media(int index) const
-{
- return d_func()->playlist()->media(index);
-}
-
-/*!
- Append the media \a content to the playlist.
-
- Returns true if the operation is successfull, other wise return false.
- */
-bool QMediaPlaylist::addMedia(const QMediaContent &content)
-{
- return d_func()->control->playlistProvider()->addMedia(content);
-}
-
-/*!
- Append multiple media content \a items to the playlist.
-
- Returns true if the operation is successfull, other wise return false.
- */
-bool QMediaPlaylist::addMedia(const QList<QMediaContent> &items)
-{
- return d_func()->control->playlistProvider()->addMedia(items);
-}
-
-/*!
- Insert the media \a content to the playlist at position \a pos.
-
- Returns true if the operation is successful, otherwise false.
-*/
-
-bool QMediaPlaylist::insertMedia(int pos, const QMediaContent &content)
-{
- return d_func()->playlist()->insertMedia(pos, content);
-}
-
-/*!
- Insert multiple media content \a items to the playlist at position \a pos.
-
- Returns true if the operation is successful, otherwise false.
-*/
-
-bool QMediaPlaylist::insertMedia(int pos, const QList<QMediaContent> &items)
-{
- return d_func()->playlist()->insertMedia(pos, items);
-}
-
-/*!
- Remove the item from the playlist at position \a pos.
-
- Returns true if the operation is successfull, other wise return false.
- */
-bool QMediaPlaylist::removeMedia(int pos)
-{
- Q_D(QMediaPlaylist);
- return d->playlist()->removeMedia(pos);
-}
-
-/*!
- Remove the items from the playlist from position \a start to \a end inclusive.
-
- Returns true if the operation is successfull, other wise return false.
- */
-bool QMediaPlaylist::removeMedia(int start, int end)
-{
- Q_D(QMediaPlaylist);
- return d->playlist()->removeMedia(start, end);
-}
-
-/*!
- Remove all the items from the playlist.
-
- Returns true if the operation is successfull, other wise return false.
- */
-bool QMediaPlaylist::clear()
-{
- Q_D(QMediaPlaylist);
- return d->playlist()->clear();
-}
-
-bool QMediaPlaylistPrivate::readItems(QMediaPlaylistReader *reader)
-{
- while (!reader->atEnd())
- playlist()->addMedia(reader->readItem());
-
- return true;
-}
-
-bool QMediaPlaylistPrivate::writeItems(QMediaPlaylistWriter *writer)
-{
- for (int i=0; i<playlist()->mediaCount(); i++) {
- if (!writer->writeItem(playlist()->media(i)))
- return false;
- }
- writer->close();
- return true;
-}
-
-/*!
- Load playlist from \a location. If \a format is specified, it is used,
- otherwise format is guessed from location name and data.
-
- New items are appended to playlist.
-
- QMediaPlaylist::loaded() signal is emited if playlist was loaded succesfully,
- otherwise the playlist emits loadFailed().
-*/
-void QMediaPlaylist::load(const QUrl &location, const char *format)
-{
- Q_D(QMediaPlaylist);
-
- d->error = NoError;
- d->errorString.clear();
-
- if (d->playlist()->load(location,format))
- return;
-
- if (isReadOnly()) {
- d->error = AccessDeniedError;
- d->errorString = tr("Could not add items to read only playlist.");
- emit loadFailed();
- return;
- }
-
- foreach (QString const& key, playlistIOLoader()->keys()) {
- QMediaPlaylistIOInterface* plugin = qobject_cast<QMediaPlaylistIOInterface*>(playlistIOLoader()->instance(key));
- if (plugin && plugin->canRead(location,format)) {
- QMediaPlaylistReader *reader = plugin->createReader(location,QByteArray(format));
- if (reader && d->readItems(reader)) {
- delete reader;
- emit loaded();
- return;
- }
- delete reader;
- }
- }
-
- d->error = FormatNotSupportedError;
- d->errorString = tr("Playlist format is not supported");
- emit loadFailed();
-
- return;
-}
-
-/*!
- Load playlist from QIODevice \a device. If \a format is specified, it is used,
- otherwise format is guessed from device data.
-
- New items are appended to playlist.
-
- QMediaPlaylist::loaded() signal is emited if playlist was loaded succesfully,
- otherwise the playlist emits loadFailed().
-*/
-void QMediaPlaylist::load(QIODevice * device, const char *format)
-{
- Q_D(QMediaPlaylist);
-
- d->error = NoError;
- d->errorString.clear();
-
- if (d->playlist()->load(device,format))
- return;
-
- if (isReadOnly()) {
- d->error = AccessDeniedError;
- d->errorString = tr("Could not add items to read only playlist.");
- emit loadFailed();
- return;
- }
-
- foreach (QString const& key, playlistIOLoader()->keys()) {
- QMediaPlaylistIOInterface* plugin = qobject_cast<QMediaPlaylistIOInterface*>(playlistIOLoader()->instance(key));
- if (plugin && plugin->canRead(device,format)) {
- QMediaPlaylistReader *reader = plugin->createReader(device,QByteArray(format));
- if (reader && d->readItems(reader)) {
- delete reader;
- emit loaded();
- return;
- }
- delete reader;
- }
- }
-
- d->error = FormatNotSupportedError;
- d->errorString = tr("Playlist format is not supported");
- emit loadFailed();
-
- return;
-}
-
-/*!
- Save playlist to \a location. If \a format is specified, it is used,
- otherwise format is guessed from location name.
-
- Returns true if playlist was saved succesfully, otherwise returns false.
- */
-bool QMediaPlaylist::save(const QUrl &location, const char *format)
-{
- Q_D(QMediaPlaylist);
-
- d->error = NoError;
- d->errorString.clear();
-
- if (d->playlist()->save(location,format))
- return true;
-
- QFile file(location.toLocalFile());
-
- if (!file.open(QIODevice::WriteOnly | QIODevice::Truncate)) {
- d->error = AccessDeniedError;
- d->errorString = tr("The file could not be accessed.");
- return false;
- }
-
- return save(&file, format);
-}
-
-/*!
- Save playlist to QIODevice \a device using format \a format.
-
- Returns true if playlist was saved succesfully, otherwise returns false.
-*/
-bool QMediaPlaylist::save(QIODevice * device, const char *format)
-{
- Q_D(QMediaPlaylist);
-
- d->error = NoError;
- d->errorString.clear();
-
- if (d->playlist()->save(device,format))
- return true;
-
- foreach (QString const& key, playlistIOLoader()->keys()) {
- QMediaPlaylistIOInterface* plugin = qobject_cast<QMediaPlaylistIOInterface*>(playlistIOLoader()->instance(key));
- if (plugin && plugin->canWrite(device,format)) {
- QMediaPlaylistWriter *writer = plugin->createWriter(device,QByteArray(format));
- if (writer && d->writeItems(writer)) {
- delete writer;
- return true;
- }
- delete writer;
- }
- }
-
- d->error = FormatNotSupportedError;
- d->errorString = tr("Playlist format is not supported.");
-
- return false;
-}
-
-/*!
- Returns the last error condition.
-*/
-QMediaPlaylist::Error QMediaPlaylist::error() const
-{
- return d_func()->error;
-}
-
-/*!
- Returns the string describing the last error condition.
-*/
-QString QMediaPlaylist::errorString() const
-{
- return d_func()->errorString;
-}
-
-/*!
- Shuffle items in the playlist.
-*/
-void QMediaPlaylist::shuffle()
-{
- d_func()->playlist()->shuffle();
-}
-
-
-/*!
- Advance to the next media content in playlist.
-*/
-void QMediaPlaylist::next()
-{
- d_func()->control->next();
-}
-
-/*!
- Return to the previous media content in playlist.
-*/
-void QMediaPlaylist::previous()
-{
- d_func()->control->previous();
-}
-
-/*!
- Activate media content from playlist at position \a playlistPosition.
-*/
-
-void QMediaPlaylist::setCurrentIndex(int playlistPosition)
-{
- d_func()->control->setCurrentIndex(playlistPosition);
-}
-
-/*!
- \fn void QMediaPlaylist::mediaInserted(int start, int end)
-
- This signal is emitted after media has been inserted into the playlist.
- The new items are those between \a start and \a end inclusive.
- */
-
-/*!
- \fn void QMediaPlaylist::mediaRemoved(int start, int end)
-
- This signal is emitted after media has been removed from the playlist.
- The removed items are those between \a start and \a end inclusive.
- */
-
-/*!
- \fn void QMediaPlaylist::mediaChanged(int start, int end)
-
- This signal is emitted after media has been changed in the playlist
- between \a start and \a end positions inclusive.
- */
-
-/*!
- \fn void QMediaPlaylist::currentIndexChanged(int position)
-
- Signal emitted when playlist position changed to \a position.
-*/
-
-/*!
- \fn void QMediaPlaylist::playbackModeChanged(QMediaPlaylist::PlaybackMode mode)
-
- Signal emitted when playback mode changed to \a mode.
-*/
-
-/*!
- \fn void QMediaPlaylist::mediaAboutToBeInserted(int start, int end)
-
- Signal emitted when item to be inserted at \a start and ending at \a end.
-*/
-
-/*!
- \fn void QMediaPlaylist::mediaAboutToBeRemoved(int start, int end)
-
- Signal emitted when item to de deleted ar \a start and ending at \a end.
-*/
-
-/*!
- \fn void QMediaPlaylist::currentMediaChanged(const QMediaContent &content)
-
- Signal emitted when current media changes to \a content.
-*/
-
-/*!
- \property QMediaPlaylist::currentIndex
- \brief Current position.
-*/
-
-/*!
- \property QMediaPlaylist::currentMedia
- \brief Current media content.
-*/
-
-/*!
- \fn QMediaPlaylist::loaded()
-
- Signal emitted when playlist finished loading.
-*/
-
-/*!
- \fn QMediaPlaylist::loadFailed()
-
- Signal emitted if failed to load playlist.
-*/
-
-/*!
- \enum QMediaPlaylist::Error
-
- This enum describes the QMediaPlaylist error codes.
-
- \value NoError No errors.
- \value FormatError Format error.
- \value FormatNotSupportedError Format not supported.
- \value NetworkError Network error.
- \value AccessDeniedError Access denied error.
-*/
-
-QT_END_NAMESPACE
-
-#include "moc_qmediaplaylist.cpp"
-#include "moc_qmediaplaylist_p.cpp"
diff --git a/src/multimedia/mediaservices/base/qmediaplaylist.h b/src/multimedia/mediaservices/base/qmediaplaylist.h
deleted file mode 100644
index 6cae7c534d..0000000000
--- a/src/multimedia/mediaservices/base/qmediaplaylist.h
+++ /dev/null
@@ -1,147 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the QtMediaServices module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QMEDIAPLAYLIST_H
-#define QMEDIAPLAYLIST_H
-
-#include <QtCore/qobject.h>
-
-#include <QtMediaServices/qmediacontent.h>
-#include <QtMediaServices/qmediaobject.h>
-
-
-QT_BEGIN_HEADER
-
-QT_BEGIN_NAMESPACE
-
-QT_MODULE(Multimedia)
-
-class QMediaPlaylistProvider;
-
-class QMediaPlaylistPrivate;
-class Q_MEDIASERVICES_EXPORT QMediaPlaylist : public QObject
-{
- Q_OBJECT
- Q_PROPERTY(QMediaPlaylist::PlaybackMode playbackMode READ playbackMode WRITE setPlaybackMode NOTIFY playbackModeChanged)
- Q_PROPERTY(QMediaContent currentMedia READ currentMedia NOTIFY currentMediaChanged)
- Q_PROPERTY(int currentIndex READ currentIndex WRITE setCurrentIndex NOTIFY currentIndexChanged)
- Q_ENUMS(PlaybackMode Error)
-
-public:
- enum PlaybackMode { CurrentItemOnce, CurrentItemInLoop, Linear, Loop, Random };
- enum Error { NoError, FormatError, FormatNotSupportedError, NetworkError, AccessDeniedError };
-
- QMediaPlaylist(QObject *parent = 0);
- virtual ~QMediaPlaylist();
-
- QMediaObject *mediaObject() const;
- void setMediaObject(QMediaObject *object);
-
- PlaybackMode playbackMode() const;
- void setPlaybackMode(PlaybackMode mode);
-
- int currentIndex() const;
- QMediaContent currentMedia() const;
-
- int nextIndex(int steps = 1) const;
- int previousIndex(int steps = 1) const;
-
- QMediaContent media(int index) const;
-
- int mediaCount() const;
- bool isEmpty() const;
- bool isReadOnly() const;
-
- bool addMedia(const QMediaContent &content);
- bool addMedia(const QList<QMediaContent> &items);
- bool insertMedia(int index, const QMediaContent &content);
- bool insertMedia(int index, const QList<QMediaContent> &items);
- bool removeMedia(int pos);
- bool removeMedia(int start, int end);
- bool clear();
-
- void load(const QUrl &location, const char *format = 0);
- void load(QIODevice * device, const char *format = 0);
-
- bool save(const QUrl &location, const char *format = 0);
- bool save(QIODevice * device, const char *format);
-
- Error error() const;
- QString errorString() const;
-
-public Q_SLOTS:
- void shuffle();
-
- void next();
- void previous();
-
- void setCurrentIndex(int index);
-
-Q_SIGNALS:
- void currentIndexChanged(int index);
- void playbackModeChanged(QMediaPlaylist::PlaybackMode mode);
- void currentMediaChanged(const QMediaContent&);
-
- void mediaAboutToBeInserted(int start, int end);
- void mediaInserted(int start, int end);
- void mediaAboutToBeRemoved(int start, int end);
- void mediaRemoved(int start, int end);
- void mediaChanged(int start, int end);
-
- void loaded();
- void loadFailed();
-
-protected:
- QMediaPlaylistPrivate *d_ptr;
-
-private:
- Q_DECLARE_PRIVATE(QMediaPlaylist)
- Q_PRIVATE_SLOT(d_func(), void _q_loadFailed(QMediaPlaylist::Error, const QString &))
-};
-
-QT_END_NAMESPACE
-
-Q_DECLARE_METATYPE(QMediaPlaylist::PlaybackMode)
-Q_DECLARE_METATYPE(QMediaPlaylist::Error)
-
-QT_END_HEADER
-
-#endif // QMEDIAPLAYLIST_H
diff --git a/src/multimedia/mediaservices/base/qmediaplaylist_p.h b/src/multimedia/mediaservices/base/qmediaplaylist_p.h
deleted file mode 100644
index a5f290eb4b..0000000000
--- a/src/multimedia/mediaservices/base/qmediaplaylist_p.h
+++ /dev/null
@@ -1,172 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the QtMediaServices module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QMEDIAPLAYLIST_P_H
-#define QMEDIAPLAYLIST_P_H
-
-//
-// W A R N I N G
-// -------------
-//
-// This file is not part of the Qt API. It exists purely as an
-// implementation detail. This header file may change from version to
-// version without notice, or even be removed.
-//
-// We mean it.
-//
-
-#include <QtMediaServices/qmediaplaylist.h>
-#include <QtMediaServices/qmediaplaylistcontrol.h>
-#include <QtMediaServices/qmediaplayer.h>
-#include <QtMediaServices/qmediaplayercontrol.h>
-#include <QtMediaServices/qlocalmediaplaylistprovider.h>
-#include "qmediaobject_p.h"
-
-#include <QtCore/qdebug.h>
-
-#ifdef Q_MOC_RUN
-# pragma Q_MOC_EXPAND_MACROS
-#endif
-
-QT_BEGIN_HEADER
-
-QT_BEGIN_NAMESPACE
-
-class QMediaPlaylistControl;
-class QMediaPlaylistProvider;
-class QMediaPlaylistReader;
-class QMediaPlaylistWriter;
-class QMediaPlayerControl;
-
-class QMediaPlaylistPrivate
-{
- Q_DECLARE_PUBLIC(QMediaPlaylist)
-public:
- QMediaPlaylistPrivate()
- :mediaObject(0),
- control(0),
- localPlaylistControl(0),
- error(QMediaPlaylist::NoError)
- {
- }
-
- virtual ~QMediaPlaylistPrivate() {}
-
- void _q_loadFailed(QMediaPlaylist::Error error, const QString &errorString)
- {
- this->error = error;
- this->errorString = errorString;
-
- emit q_ptr->loadFailed();
- }
-
- void _q_mediaObjectDeleted()
- {
- Q_Q(QMediaPlaylist);
- mediaObject = 0;
- if (control != localPlaylistControl)
- control = 0;
- q->setMediaObject(0);
- }
-
- QMediaObject *mediaObject;
-
- QMediaPlaylistControl *control;
- QMediaPlaylistProvider *playlist() const { return control->playlistProvider(); }
-
- QMediaPlaylistControl *localPlaylistControl;
-
- bool readItems(QMediaPlaylistReader *reader);
- bool writeItems(QMediaPlaylistWriter *writer);
-
- QMediaPlaylist::Error error;
- QString errorString;
-
- QMediaPlaylist *q_ptr;
-};
-
-
-class QLocalMediaPlaylistControl : public QMediaPlaylistControl
-{
- Q_OBJECT
-public:
- QLocalMediaPlaylistControl(QObject *parent)
- :QMediaPlaylistControl(parent)
- {
- QMediaPlaylistProvider *playlist = new QLocalMediaPlaylistProvider(this);
- m_navigator = new QMediaPlaylistNavigator(playlist,this);
- m_navigator->setPlaybackMode(QMediaPlaylist::Linear);
-
- connect(m_navigator, SIGNAL(currentIndexChanged(int)), SIGNAL(currentIndexChanged(int)));
- connect(m_navigator, SIGNAL(activated(QMediaContent)), SIGNAL(currentMediaChanged(QMediaContent)));
- }
-
- virtual ~QLocalMediaPlaylistControl() {};
-
- QMediaPlaylistProvider* playlistProvider() const { return m_navigator->playlist(); }
- bool setPlaylistProvider(QMediaPlaylistProvider *mediaPlaylist)
- {
- m_navigator->setPlaylist(mediaPlaylist);
- emit playlistProviderChanged();
- return true;
- }
-
- int currentIndex() const { return m_navigator->currentIndex(); }
- void setCurrentIndex(int position) { m_navigator->jump(position); }
- int nextIndex(int steps) const { return m_navigator->nextIndex(steps); }
- int previousIndex(int steps) const { return m_navigator->previousIndex(steps); }
-
- void next() { m_navigator->next(); }
- void previous() { m_navigator->previous(); }
-
- QMediaPlaylist::PlaybackMode playbackMode() const { return m_navigator->playbackMode(); }
- void setPlaybackMode(QMediaPlaylist::PlaybackMode mode) { m_navigator->setPlaybackMode(mode); }
-
-private:
- QMediaPlaylistNavigator *m_navigator;
-};
-
-
-QT_END_NAMESPACE
-
-QT_END_HEADER
-
-#endif // QMEDIAPLAYLIST_P_H
diff --git a/src/multimedia/mediaservices/base/qmediaplaylistcontrol.cpp b/src/multimedia/mediaservices/base/qmediaplaylistcontrol.cpp
deleted file mode 100644
index 016c55dacb..0000000000
--- a/src/multimedia/mediaservices/base/qmediaplaylistcontrol.cpp
+++ /dev/null
@@ -1,204 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the QtMediaServices module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-
-#include <QtMediaServices/qmediaplaylistcontrol.h>
-#include "qmediacontrol_p.h"
-
-
-QT_BEGIN_NAMESPACE
-
-/*!
- \class QMediaPlaylistControl
- \ingroup multimedia-serv
- \since 4.7
-
- \preliminary
- \brief The QMediaPlaylistControl class provides access to the playlist functionality of a
- QMediaService.
-
- If a QMediaService contains an internal playlist it will implement QMediaPlaylistControl. This
- control provides access to the contents of the \l {playlistProvider()}{playlist}, as well as the
- \l {currentIndex()}{position} of the current media, and a means of navigating to the
- \l {next()}{next} and \l {previous()}{previous} media.
-
- The functionality provided by the control is exposed to application code through the
- QMediaPlaylist class.
-
- The interface name of QMediaPlaylistControl is \c com.nokia.Qt.QMediaPlaylistControl/1.0 as
- defined in QMediaPlaylistControl_iid.
-
- \sa QMediaService::control(), QMediaPlayer
-*/
-
-/*!
- \macro QMediaPlaylistControl_iid
-
- \c com.nokia.Qt.QMediaPlaylistControl/1.0
-
- Defines the interface name of the QMediaPlaylistControl class.
-
- \relates QMediaPlaylistControl
-*/
-
-/*!
- Create a new playlist control object with the given \a parent.
-*/
-QMediaPlaylistControl::QMediaPlaylistControl(QObject *parent):
- QMediaControl(*new QMediaControlPrivate, parent)
-{
-}
-
-/*!
- Destroys the playlist control.
-*/
-QMediaPlaylistControl::~QMediaPlaylistControl()
-{
-}
-
-
-/*!
- \fn QMediaPlaylistControl::playlistProvider() const
-
- Returns the playlist used by this media player.
-*/
-
-/*!
- \fn QMediaPlaylistControl::setPlaylistProvider(QMediaPlaylistProvider *playlist)
-
- Set the playlist of this media player to \a playlist.
-
- In many cases it is possible just to use the playlist
- constructed by player, but sometimes replacing the whole
- playlist allows to avoid copyting of all the items bettween playlists.
-
- Returns true if player can use this passed playlist; otherwise returns false.
-
-*/
-
-/*!
- \fn QMediaPlaylistControl::currentIndex() const
-
- Returns position of the current media source in the playlist.
-*/
-
-/*!
- \fn QMediaPlaylistControl::setCurrentIndex(int position)
-
- Jump to the item at the given \a position.
-*/
-
-/*!
- \fn QMediaPlaylistControl::nextIndex(int step) const
-
- Returns the index of item, which were current after calling next()
- \a step times.
-
- Returned value depends on the size of playlist, current position
- and playback mode.
-
- \sa QMediaPlaylist::playbackMode
-*/
-
-/*!
- \fn QMediaPlaylistControl::previousIndex(int step) const
-
- Returns the index of item, which were current after calling previous()
- \a step times.
-
- \sa QMediaPlaylist::playbackMode
-*/
-
-/*!
- \fn QMediaPlaylistControl::next()
-
- Moves to the next item in playlist.
-*/
-
-/*!
- \fn QMediaPlaylistControl::previous()
-
- Returns to the previous item in playlist.
-*/
-
-/*!
- \fn QMediaPlaylistControl::playbackMode() const
-
- Returns the playlist navigation mode.
-
- \sa QMediaPlaylist::PlaybackMode
-*/
-
-/*!
- \fn QMediaPlaylistControl::setPlaybackMode(QMediaPlaylist::PlaybackMode mode)
-
- Sets the playback \a mode.
-
- \sa QMediaPlaylist::PlaybackMode
-*/
-
-/*!
- \fn QMediaPlaylistControl::playlistProviderChanged()
-
- Signal emited when the playlist provider has changed.
-*/
-
-/*!
- \fn QMediaPlaylistControl::currentIndexChanged(int position)
-
- Signal emited when the playlist \a position is changed.
-*/
-
-/*!
- \fn QMediaPlaylistControl::playbackModeChanged(QMediaPlaylist::PlaybackMode mode)
-
- Signal emited when the playback \a mode is changed.
-*/
-
-/*!
- \fn QMediaPlaylistControl::currentMediaChanged(const QMediaContent& content)
-
- Signal emitted when current media changes to \a content.
-*/
-
-#include "moc_qmediaplaylistcontrol.cpp"
-QT_END_NAMESPACE
-
diff --git a/src/multimedia/mediaservices/base/qmediaplaylistcontrol.h b/src/multimedia/mediaservices/base/qmediaplaylistcontrol.h
deleted file mode 100644
index 2dc45753d1..0000000000
--- a/src/multimedia/mediaservices/base/qmediaplaylistcontrol.h
+++ /dev/null
@@ -1,97 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the QtMediaServices module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-
-#ifndef QMEDIAPLAYLISTCONTROL_H
-#define QMEDIAPLAYLISTCONTROL_H
-
-#include <QtMediaServices/qmediacontrol.h>
-#include <QtMediaServices/qmediaplaylistnavigator.h>
-
-
-QT_BEGIN_HEADER
-
-QT_BEGIN_NAMESPACE
-
-QT_MODULE(Multimedia)
-
-
-class QMediaPlaylistProvider;
-
-class Q_MEDIASERVICES_EXPORT QMediaPlaylistControl : public QMediaControl
-{
- Q_OBJECT
-
-public:
- virtual ~QMediaPlaylistControl();
-
- virtual QMediaPlaylistProvider* playlistProvider() const = 0;
- virtual bool setPlaylistProvider(QMediaPlaylistProvider *playlist) = 0;
-
- virtual int currentIndex() const = 0;
- virtual void setCurrentIndex(int position) = 0;
- virtual int nextIndex(int steps) const = 0;
- virtual int previousIndex(int steps) const = 0;
-
- virtual void next() = 0;
- virtual void previous() = 0;
-
- virtual QMediaPlaylist::PlaybackMode playbackMode() const = 0;
- virtual void setPlaybackMode(QMediaPlaylist::PlaybackMode mode) = 0;
-
-Q_SIGNALS:
- void playlistProviderChanged();
- void currentIndexChanged(int position);
- void currentMediaChanged(const QMediaContent&);
- void playbackModeChanged(QMediaPlaylist::PlaybackMode mode);
-
-protected:
- QMediaPlaylistControl(QObject* parent = 0);
-};
-
-#define QMediaPlaylistControl_iid "com.nokia.Qt.QMediaPlaylistControl/1.0"
-Q_MEDIA_DECLARE_CONTROL(QMediaPlaylistControl, QMediaPlaylistControl_iid)
-
-QT_END_NAMESPACE
-
-QT_END_HEADER
-
-#endif // QMEDIAPLAYLISTCONTROL_H
diff --git a/src/multimedia/mediaservices/base/qmediaplaylistioplugin.cpp b/src/multimedia/mediaservices/base/qmediaplaylistioplugin.cpp
deleted file mode 100644
index 60e80e5c63..0000000000
--- a/src/multimedia/mediaservices/base/qmediaplaylistioplugin.cpp
+++ /dev/null
@@ -1,192 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the QtMediaServices module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include <QtMediaServices/qmediaplaylistioplugin.h>
-
-QT_BEGIN_NAMESPACE
-
-/*!
- \class QMediaPlaylistReader
- \preliminary
- \since 4.7
- \brief The QMediaPlaylistReader class provides an interface for reading a playlist file.
-
- \sa QMediaPlaylistIOPlugin
-*/
-
-/*!
- Destroys a media playlist reader.
-*/
-QMediaPlaylistReader::~QMediaPlaylistReader()
-{
-}
-
-/*!
- \fn QMediaPlaylistReader::atEnd() const
-
- Identifies if a playlist reader has reached the end of its input.
-
- Returns true if the reader has reached the end; and false otherwise.
-*/
-
-/*!
- \fn QMediaPlaylistReader::readItem()
-
- Reads an item of media from a playlist file.
-
- Returns the read media, or a null QMediaContent if no more media is available.
-*/
-
-/*!
- \fn QMediaPlaylistReader::close()
-
- Closes a playlist reader's input device.
-*/
-
-/*!
- \class QMediaPlaylistWriter
- \preliminary
- \since 4.7
- \brief The QMediaPlaylistWriter class provides an interface for writing a playlist file.
-
- \sa QMediaPlaylistIOPlugin
-*/
-
-/*!
- Destroys a media playlist writer.
-*/
-QMediaPlaylistWriter::~QMediaPlaylistWriter()
-{
-}
-
-/*!
- \fn QMediaPlaylistWriter::writeItem(const QMediaContent &media)
-
- Writes an item of \a media to a playlist file.
-
- Returns true if the media was written succesfully; and false otherwise.
-*/
-
-/*!
- \fn QMediaPlaylistWriter::close()
-
- Finalizes the writing of a playlist and closes the output device.
-*/
-
-/*!
- \class QMediaPlaylistIOPlugin
- \since 4.7
- \brief The QMediaPlaylistIOPlugin class provides an interface for media playlist I/O plug-ins.
-*/
-
-/*!
- Constructs a media playlist I/O plug-in with the given \a parent.
-*/
-QMediaPlaylistIOPlugin::QMediaPlaylistIOPlugin(QObject *parent)
- :QObject(parent)
-{
-}
-
-/*!
- Destroys a media playlist I/O plug-in.
-*/
-QMediaPlaylistIOPlugin::~QMediaPlaylistIOPlugin()
-{
-}
-
-/*!
- \fn QMediaPlaylistIOPlugin::canRead(QIODevice *device, const QByteArray &format) const
-
- Identifies if plug-in can read \a format data from an I/O \a device.
-
- Returns true if the data can be read; and false otherwise.
-*/
-
-/*!
- \fn QMediaPlaylistIOPlugin::canRead(const QUrl& location, const QByteArray &format) const
-
- Identifies if a plug-in can read \a format data from a URL \a location.
-
- Returns true if the data can be read; and false otherwise.
-*/
-
-/*!
- \fn QMediaPlaylistIOPlugin::canWrite(QIODevice *device, const QByteArray &format) const
-
- Identifies if a plug-in can write \a format data to an I/O \a device.
-
- Returns true if the data can be written; and false otherwise.
-*/
-
-/*!
- \fn QMediaPlaylistIOPlugin::keys() const
-
- Returns a list of format keys supported by a plug-in.
-*/
-
-/*!
- \fn QMediaPlaylistIOPlugin::createReader(QIODevice *device, const QByteArray &format)
-
- Returns a new QMediaPlaylistReader which reads \a format data from an I/O \a device.
-
- If the device is invalid or the format is unsupported this will return a null pointer.
-*/
-
-/*!
- \fn QMediaPlaylistIOPlugin::createReader(const QUrl& location, const QByteArray &format)
-
- Returns a new QMediaPlaylistReader which reads \a format data from a URL \a location.
-
- If the location or the format is unsupported this will return a null pointer.
-*/
-
-/*!
- \fn QMediaPlaylistIOPlugin::createWriter(QIODevice *device, const QByteArray &format)
-
- Returns a new QMediaPlaylistWriter which writes \a format data to an I/O \a device.
-
- If the device is invalid or the format is unsupported this will return a null pointer.
-*/
-
-QT_END_NAMESPACE
-
-#include "moc_qmediaplaylistioplugin.cpp"
-
diff --git a/src/multimedia/mediaservices/base/qmediaplaylistioplugin.h b/src/multimedia/mediaservices/base/qmediaplaylistioplugin.h
deleted file mode 100644
index ed8e832663..0000000000
--- a/src/multimedia/mediaservices/base/qmediaplaylistioplugin.h
+++ /dev/null
@@ -1,126 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the QtMediaServices module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QMEDIAPLAYLISTIOPLUGIN_H
-#define QMEDIAPLAYLISTIOPLUGIN_H
-
-#include <QtCore/qobject.h>
-#include <QtCore/qplugin.h>
-#include <QtCore/qfactoryinterface.h>
-
-#include <QtMediaServices/qmediacontent.h>
-
-
-QT_BEGIN_HEADER
-
-QT_BEGIN_NAMESPACE
-
-QT_MODULE(Multimedia)
-
-
-class QString;
-class QUrl;
-class QByteArray;
-class QIODevice;
-class QStringList;
-
-class Q_MEDIASERVICES_EXPORT QMediaPlaylistReader
-{
-public:
- virtual ~QMediaPlaylistReader();
-
- virtual bool atEnd() const = 0;
- virtual QMediaContent readItem() = 0;
- virtual void close() = 0;
-};
-
-class Q_MEDIASERVICES_EXPORT QMediaPlaylistWriter
-{
-public:
- virtual ~QMediaPlaylistWriter();
-
- virtual bool writeItem(const QMediaContent &content) = 0;
- virtual void close() = 0;
-};
-
-struct Q_MEDIASERVICES_EXPORT QMediaPlaylistIOInterface : public QFactoryInterface
-{
- virtual bool canRead(QIODevice *device, const QByteArray &format = QByteArray() ) const = 0;
- virtual bool canRead(const QUrl& location, const QByteArray &format = QByteArray()) const = 0;
-
- virtual bool canWrite(QIODevice *device, const QByteArray &format) const = 0;
-
- virtual QMediaPlaylistReader *createReader(QIODevice *device, const QByteArray &format = QByteArray()) = 0;
- virtual QMediaPlaylistReader *createReader(const QUrl& location, const QByteArray &format = QByteArray()) = 0;
-
- virtual QMediaPlaylistWriter *createWriter(QIODevice *device, const QByteArray &format) = 0;
-};
-
-#define QMediaPlaylistIOInterface_iid "com.nokia.Qt.QMediaPlaylistIOInterface"
-Q_DECLARE_INTERFACE(QMediaPlaylistIOInterface, QMediaPlaylistIOInterface_iid);
-
-class Q_MEDIASERVICES_EXPORT QMediaPlaylistIOPlugin : public QObject, public QMediaPlaylistIOInterface
-{
- Q_OBJECT
- Q_INTERFACES(QMediaPlaylistIOInterface:QFactoryInterface)
-
-public:
- explicit QMediaPlaylistIOPlugin(QObject *parent = 0);
- virtual ~QMediaPlaylistIOPlugin();
-
- virtual bool canRead(QIODevice *device, const QByteArray &format = QByteArray() ) const = 0;
- virtual bool canRead(const QUrl& location, const QByteArray &format = QByteArray()) const = 0;
-
- virtual bool canWrite(QIODevice *device, const QByteArray &format) const = 0;
-
- virtual QStringList keys() const = 0;
-
- virtual QMediaPlaylistReader *createReader(QIODevice *device, const QByteArray &format = QByteArray()) = 0;
- virtual QMediaPlaylistReader *createReader(const QUrl& location, const QByteArray &format = QByteArray()) = 0;
-
- virtual QMediaPlaylistWriter *createWriter(QIODevice *device, const QByteArray &format) = 0;
-};
-
-QT_END_NAMESPACE
-
-QT_END_HEADER
-
-#endif // QMEDIAPLAYLISTIOPLUGIN_H
diff --git a/src/multimedia/mediaservices/base/qmediaplaylistnavigator.cpp b/src/multimedia/mediaservices/base/qmediaplaylistnavigator.cpp
deleted file mode 100644
index e3eec5e840..0000000000
--- a/src/multimedia/mediaservices/base/qmediaplaylistnavigator.cpp
+++ /dev/null
@@ -1,545 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the QtMediaServices module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include <QtMediaServices/qmediaplaylistnavigator.h>
-#include <QtMediaServices/qmediaplaylistprovider.h>
-#include <QtMediaServices/qmediaplaylist.h>
-#include "qmediaobject_p.h"
-
-#include <QtCore/qdebug.h>
-
-QT_BEGIN_NAMESPACE
-
-class QMediaPlaylistNullProvider : public QMediaPlaylistProvider
-{
-public:
- QMediaPlaylistNullProvider() :QMediaPlaylistProvider() {}
- virtual ~QMediaPlaylistNullProvider() {}
- virtual int mediaCount() const {return 0;}
- virtual QMediaContent media(int) const { return QMediaContent(); }
-};
-
-Q_GLOBAL_STATIC(QMediaPlaylistNullProvider, _q_nullMediaPlaylist)
-
-class QMediaPlaylistNavigatorPrivate
-{
- Q_DECLARE_NON_CONST_PUBLIC(QMediaPlaylistNavigator)
-public:
- QMediaPlaylistNavigatorPrivate()
- :playlist(0),
- currentPos(-1),
- lastValidPos(-1),
- playbackMode(QMediaPlaylist::Linear),
- randomPositionsOffset(-1)
- {
- }
-
- QMediaPlaylistProvider *playlist;
- int currentPos;
- int lastValidPos; //to be used with CurrentItemOnce playback mode
- QMediaPlaylist::PlaybackMode playbackMode;
- QMediaContent currentItem;
-
- mutable QList<int> randomModePositions;
- mutable int randomPositionsOffset;
-
- int nextItemPos(int steps = 1) const;
- int previousItemPos(int steps = 1) const;
-
- void _q_mediaInserted(int start, int end);
- void _q_mediaRemoved(int start, int end);
- void _q_mediaChanged(int start, int end);
-
- QMediaPlaylistNavigator *q_ptr;
-};
-
-
-int QMediaPlaylistNavigatorPrivate::nextItemPos(int steps) const
-{
- if (playlist->mediaCount() == 0)
- return -1;
-
- if (steps == 0)
- return currentPos;
-
- switch (playbackMode) {
- case QMediaPlaylist::CurrentItemOnce:
- return /*currentPos == -1 ? lastValidPos :*/ -1;
- case QMediaPlaylist::CurrentItemInLoop:
- return currentPos;
- case QMediaPlaylist::Linear:
- {
- int nextPos = currentPos+steps;
- return nextPos < playlist->mediaCount() ? nextPos : -1;
- }
- case QMediaPlaylist::Loop:
- return (currentPos+steps) % playlist->mediaCount();
- case QMediaPlaylist::Random:
- {
- //TODO: limit the history size
-
- if (randomPositionsOffset == -1) {
- randomModePositions.clear();
- randomModePositions.append(currentPos);
- randomPositionsOffset = 0;
- }
-
- while (randomModePositions.size() < randomPositionsOffset+steps+1)
- randomModePositions.append(-1);
- int res = randomModePositions[randomPositionsOffset+steps];
- if (res<0 || res >= playlist->mediaCount()) {
- res = qrand() % playlist->mediaCount();
- randomModePositions[randomPositionsOffset+steps] = res;
- }
-
- return res;
- }
- }
-
- return -1;
-}
-
-int QMediaPlaylistNavigatorPrivate::previousItemPos(int steps) const
-{
- if (playlist->mediaCount() == 0)
- return -1;
-
- if (steps == 0)
- return currentPos;
-
- switch (playbackMode) {
- case QMediaPlaylist::CurrentItemOnce:
- return /*currentPos == -1 ? lastValidPos :*/ -1;
- case QMediaPlaylist::CurrentItemInLoop:
- return currentPos;
- case QMediaPlaylist::Linear:
- {
- int prevPos = currentPos == -1 ? playlist->mediaCount() - steps : currentPos - steps;
- return prevPos>=0 ? prevPos : -1;
- }
- case QMediaPlaylist::Loop:
- {
- int prevPos = currentPos - steps;
- while (prevPos<0)
- prevPos += playlist->mediaCount();
- return prevPos;
- }
- case QMediaPlaylist::Random:
- {
- //TODO: limit the history size
-
- if (randomPositionsOffset == -1) {
- randomModePositions.clear();
- randomModePositions.append(currentPos);
- randomPositionsOffset = 0;
- }
-
- while (randomPositionsOffset-steps < 0) {
- randomModePositions.prepend(-1);
- randomPositionsOffset++;
- }
-
- int res = randomModePositions[randomPositionsOffset-steps];
- if (res<0 || res >= playlist->mediaCount()) {
- res = qrand() % playlist->mediaCount();
- randomModePositions[randomPositionsOffset-steps] = res;
- }
-
- return res;
- }
- }
-
- return -1;
-}
-
-/*!
- \class QMediaPlaylistNavigator
- \preliminary
- \since 4.7
- \brief The QMediaPlaylistNavigator class provides navigation for a media playlist.
-
- \sa QMediaPlaylist, QMediaPlaylistProvider
-*/
-
-
-/*!
- Constructs a media playlist navigator for a \a playlist.
-
- The \a parent is passed to QObject.
- */
-QMediaPlaylistNavigator::QMediaPlaylistNavigator(QMediaPlaylistProvider *playlist, QObject *parent)
- : QObject(parent)
- , d_ptr(new QMediaPlaylistNavigatorPrivate)
-{
- d_ptr->q_ptr = this;
-
- setPlaylist(playlist ? playlist : _q_nullMediaPlaylist());
-}
-
-/*!
- Destroys a media playlist navigator.
- */
-
-QMediaPlaylistNavigator::~QMediaPlaylistNavigator()
-{
- delete d_ptr;
-}
-
-
-/*! \property QMediaPlaylistNavigator::playbackMode
- Contains the playback mode.
- */
-QMediaPlaylist::PlaybackMode QMediaPlaylistNavigator::playbackMode() const
-{
- return d_func()->playbackMode;
-}
-
-/*!
- Sets the playback \a mode.
- */
-void QMediaPlaylistNavigator::setPlaybackMode(QMediaPlaylist::PlaybackMode mode)
-{
- Q_D(QMediaPlaylistNavigator);
- if (d->playbackMode == mode)
- return;
-
- if (mode == QMediaPlaylist::Random) {
- d->randomPositionsOffset = 0;
- d->randomModePositions.append(d->currentPos);
- } else if (d->playbackMode == QMediaPlaylist::Random) {
- d->randomPositionsOffset = -1;
- d->randomModePositions.clear();
- }
-
- d->playbackMode = mode;
-
- emit playbackModeChanged(mode);
- emit surroundingItemsChanged();
-}
-
-/*!
- Returns the playlist being navigated.
-*/
-
-QMediaPlaylistProvider *QMediaPlaylistNavigator::playlist() const
-{
- return d_func()->playlist;
-}
-
-/*!
- Sets the \a playlist to navigate.
-*/
-void QMediaPlaylistNavigator::setPlaylist(QMediaPlaylistProvider *playlist)
-{
- Q_D(QMediaPlaylistNavigator);
-
- if (d->playlist == playlist)
- return;
-
- if (d->playlist) {
- d->playlist->disconnect(this);
- }
-
- if (playlist) {
- d->playlist = playlist;
- } else {
- //assign to shared readonly null playlist
- d->playlist = _q_nullMediaPlaylist();
- }
-
- connect(d->playlist, SIGNAL(mediaInserted(int,int)), SLOT(_q_mediaInserted(int,int)));
- connect(d->playlist, SIGNAL(mediaRemoved(int,int)), SLOT(_q_mediaRemoved(int,int)));
- connect(d->playlist, SIGNAL(mediaChanged(int,int)), SLOT(_q_mediaChanged(int,int)));
-
- d->randomPositionsOffset = -1;
- d->randomModePositions.clear();
-
- if (d->currentPos != -1) {
- d->currentPos = -1;
- emit currentIndexChanged(-1);
- }
-
- if (!d->currentItem.isNull()) {
- d->currentItem = QMediaContent();
- emit activated(d->currentItem); //stop playback
- }
-}
-
-/*! \property QMediaPlaylistNavigator::currentItem
-
- Contains the media at the current position in the playlist.
-
- \sa currentIndex()
-*/
-
-QMediaContent QMediaPlaylistNavigator::currentItem() const
-{
- return itemAt(d_func()->currentPos);
-}
-
-/*! \fn QMediaContent QMediaPlaylistNavigator::nextItem(int steps) const
-
- Returns the media that is \a steps positions ahead of the current
- position in the playlist.
-
- \sa nextIndex()
-*/
-QMediaContent QMediaPlaylistNavigator::nextItem(int steps) const
-{
- return itemAt(nextIndex(steps));
-}
-
-/*!
- Returns the media that is \a steps positions behind the current
- position in the playlist.
-
- \sa previousIndex()
- */
-QMediaContent QMediaPlaylistNavigator::previousItem(int steps) const
-{
- return itemAt(previousIndex(steps));
-}
-
-/*!
- Returns the media at a \a position in the playlist.
- */
-QMediaContent QMediaPlaylistNavigator::itemAt(int position) const
-{
- return d_func()->playlist->media(position);
-}
-
-/*! \property QMediaPlaylistNavigator::currentIndex
-
- Contains the position of the current media.
-
- If no media is current, the property contains -1.
-
- \sa nextIndex(), previousIndex()
-*/
-
-int QMediaPlaylistNavigator::currentIndex() const
-{
- return d_func()->currentPos;
-}
-
-/*!
- Returns a position \a steps ahead of the current position
- accounting for the playbackMode().
-
- If the position is beyond the end of the playlist, this value
- returned is -1.
-
- \sa currentIndex(), previousIndex(), playbackMode()
-*/
-
-int QMediaPlaylistNavigator::nextIndex(int steps) const
-{
- return d_func()->nextItemPos(steps);
-}
-
-/*!
-
- Returns a position \a steps behind the current position accounting
- for the playbackMode().
-
- If the position is prior to the beginning of the playlist this will
- return -1.
-
- \sa currentIndex(), nextIndex(), playbackMode()
-*/
-int QMediaPlaylistNavigator::previousIndex(int steps) const
-{
- return d_func()->previousItemPos(steps);
-}
-
-/*!
- Advances to the next item in the playlist.
-
- \sa previous(), jump(), playbackMode()
- */
-void QMediaPlaylistNavigator::next()
-{
- Q_D(QMediaPlaylistNavigator);
-
- int nextPos = d->nextItemPos();
-
- if ( playbackMode() == QMediaPlaylist::Random )
- d->randomPositionsOffset++;
-
- jump(nextPos);
-}
-
-/*!
- Returns to the previous item in the playlist,
-
- \sa next(), jump(), playbackMode()
- */
-void QMediaPlaylistNavigator::previous()
-{
- Q_D(QMediaPlaylistNavigator);
-
- int prevPos = d->previousItemPos();
- if ( playbackMode() == QMediaPlaylist::Random )
- d->randomPositionsOffset--;
-
- jump(prevPos);
-}
-
-/*!
- Jumps to a new \a position in the playlist.
- */
-void QMediaPlaylistNavigator::jump(int position)
-{
- Q_D(QMediaPlaylistNavigator);
-
- if (position<-1 || position>=d->playlist->mediaCount()) {
- qWarning() << "QMediaPlaylistNavigator: Jump outside playlist range";
- position = -1;
- }
-
- if (position != -1)
- d->lastValidPos = position;
-
- if (playbackMode() == QMediaPlaylist::Random) {
- if (d->randomModePositions[d->randomPositionsOffset] != position) {
- d->randomModePositions.clear();
- d->randomModePositions.append(position);
- d->randomPositionsOffset = 0;
- }
- }
-
- if (position != -1)
- d->currentItem = d->playlist->media(position);
- else
- d->currentItem = QMediaContent();
-
- if (position != d->currentPos) {
- d->currentPos = position;
- emit currentIndexChanged(d->currentPos);
- emit surroundingItemsChanged();
- }
-
- emit activated(d->currentItem);
-}
-
-/*!
- \internal
-*/
-void QMediaPlaylistNavigatorPrivate::_q_mediaInserted(int start, int end)
-{
- Q_Q(QMediaPlaylistNavigator);
-
- if (currentPos >= start) {
- currentPos = end-start+1;
- q->jump(currentPos);
- }
-
- //TODO: check if they really changed
- emit q->surroundingItemsChanged();
-}
-
-/*!
- \internal
-*/
-void QMediaPlaylistNavigatorPrivate::_q_mediaRemoved(int start, int end)
-{
- Q_Q(QMediaPlaylistNavigator);
-
- if (currentPos > end) {
- currentPos = currentPos - end-start+1;
- q->jump(currentPos);
- } else if (currentPos >= start) {
- //current item was removed
- currentPos = qMin(start, playlist->mediaCount()-1);
- q->jump(currentPos);
- }
-
- //TODO: check if they really changed
- emit q->surroundingItemsChanged();
-}
-
-/*!
- \internal
-*/
-void QMediaPlaylistNavigatorPrivate::_q_mediaChanged(int start, int end)
-{
- Q_Q(QMediaPlaylistNavigator);
-
- if (currentPos >= start && currentPos<=end) {
- QMediaContent src = playlist->media(currentPos);
- if (src != currentItem) {
- currentItem = src;
- emit q->activated(src);
- }
- }
-
- //TODO: check if they really changed
- emit q->surroundingItemsChanged();
-}
-
-/*!
- \fn QMediaPlaylistNavigator::activated(const QMediaContent &media)
-
- Signals that the current \a media has changed.
-*/
-
-/*!
- \fn QMediaPlaylistNavigator::currentIndexChanged(int position)
-
- Signals the \a position of the current media has changed.
-*/
-
-/*!
- \fn QMediaPlaylistNavigator::playbackModeChanged(QMediaPlaylist::PlaybackMode mode)
-
- Signals that the playback \a mode has changed.
-*/
-
-/*!
- \fn QMediaPlaylistNavigator::surroundingItemsChanged()
-
- Signals that media immediately surrounding the current position has changed.
-*/
-
-#include "moc_qmediaplaylistnavigator.cpp"
-
-QT_END_NAMESPACE
-
diff --git a/src/multimedia/mediaservices/base/qmediaplaylistnavigator.h b/src/multimedia/mediaservices/base/qmediaplaylistnavigator.h
deleted file mode 100644
index 42c76f9498..0000000000
--- a/src/multimedia/mediaservices/base/qmediaplaylistnavigator.h
+++ /dev/null
@@ -1,116 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the QtMediaServices module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QMEDIAPLAYLISTNAVIGATOR_H
-#define QMEDIAPLAYLISTNAVIGATOR_H
-
-#include <QtCore/qobject.h>
-
-#include <QtMediaServices/qmediaplaylistprovider.h>
-#include <QtMediaServices/qmediaplaylist.h>
-
-
-QT_BEGIN_HEADER
-
-QT_BEGIN_NAMESPACE
-
-QT_MODULE(Multimedia)
-
-
-class QMediaPlaylistNavigatorPrivate;
-class Q_MEDIASERVICES_EXPORT QMediaPlaylistNavigator : public QObject
-{
- Q_OBJECT
- Q_PROPERTY(QMediaPlaylist::PlaybackMode playbackMode READ playbackMode WRITE setPlaybackMode NOTIFY playbackModeChanged)
- Q_PROPERTY(int currentIndex READ currentIndex WRITE jump NOTIFY currentIndexChanged)
- Q_PROPERTY(QMediaContent currentItem READ currentItem NOTIFY currentItemChanged)
-
-public:
- QMediaPlaylistNavigator(QMediaPlaylistProvider *playlist, QObject *parent = 0);
- virtual ~QMediaPlaylistNavigator();
-
- QMediaPlaylistProvider *playlist() const;
- void setPlaylist(QMediaPlaylistProvider *playlist);
-
- QMediaPlaylist::PlaybackMode playbackMode() const;
-
- QMediaContent currentItem() const;
- QMediaContent nextItem(int steps = 1) const;
- QMediaContent previousItem(int steps = 1) const;
-
- QMediaContent itemAt(int position) const;
-
- int currentIndex() const;
- int nextIndex(int steps = 1) const;
- int previousIndex(int steps = 1) const;
-
-public Q_SLOTS:
- void next();
- void previous();
-
- void jump(int);
-
- void setPlaybackMode(QMediaPlaylist::PlaybackMode mode);
-
-Q_SIGNALS:
- void activated(const QMediaContent &content);
- void currentIndexChanged(int);
- void playbackModeChanged(QMediaPlaylist::PlaybackMode mode);
-
- void surroundingItemsChanged();
-
-protected:
- QMediaPlaylistNavigatorPrivate *d_ptr;
-
-private:
- Q_DISABLE_COPY(QMediaPlaylistNavigator)
- Q_DECLARE_PRIVATE(QMediaPlaylistNavigator)
-
- Q_PRIVATE_SLOT(d_func(), void _q_mediaInserted(int start, int end))
- Q_PRIVATE_SLOT(d_func(), void _q_mediaRemoved(int start, int end))
- Q_PRIVATE_SLOT(d_func(), void _q_mediaChanged(int start, int end))
-};
-
-QT_END_NAMESPACE
-
-QT_END_HEADER
-
-#endif // QMEDIAPLAYLISTNAVIGATOR_H
diff --git a/src/multimedia/mediaservices/base/qmediaplaylistprovider.cpp b/src/multimedia/mediaservices/base/qmediaplaylistprovider.cpp
deleted file mode 100644
index 3cd766be84..0000000000
--- a/src/multimedia/mediaservices/base/qmediaplaylistprovider.cpp
+++ /dev/null
@@ -1,308 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the QtMediaServices module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include <QtCore/qurl.h>
-
-#include <QtMediaServices/qmediaplaylistprovider.h>
-#include "qmediaplaylistprovider_p.h"
-
-
-QT_BEGIN_NAMESPACE
-
-/*!
- \class QMediaPlaylistProvider
- \preliminary
- \since 4.7
- \brief The QMediaPlaylistProvider class provides an abstract list of media.
-
- \sa QMediaPlaylist
-*/
-
-/*!
- Constructs a playlist provider with the given \a parent.
-*/
-QMediaPlaylistProvider::QMediaPlaylistProvider(QObject *parent)
- :QObject(parent), d_ptr(new QMediaPlaylistProviderPrivate)
-{
-}
-
-/*!
- \internal
-*/
-QMediaPlaylistProvider::QMediaPlaylistProvider(QMediaPlaylistProviderPrivate &dd, QObject *parent)
- :QObject(parent), d_ptr(&dd)
-{
-}
-
-/*!
- Destroys a playlist provider.
-*/
-QMediaPlaylistProvider::~QMediaPlaylistProvider()
-{
- delete d_ptr;
-}
-
-/*!
- \fn QMediaPlaylistProvider::mediaCount() const;
-
- Returns the size of playlist.
-*/
-
-/*!
- \fn QMediaPlaylistProvider::media(int index) const;
-
- Returns the media at \a index in the playlist.
-
- If the index is invalid this will return a null media content.
-*/
-
-
-/*!
- Loads a playlist from from a URL \a location. If no playlist \a format is specified the loader
- will inspect the URL or probe the headers to guess the format.
-
- New items are appended to playlist.
-
- Returns true if the provider supports the format and loading from the locations URL protocol,
- otherwise this will return false.
-*/
-bool QMediaPlaylistProvider::load(const QUrl &location, const char *format)
-{
- Q_UNUSED(location);
- Q_UNUSED(format);
- return false;
-}
-
-/*!
- Loads a playlist from from an I/O \a device. If no playlist \a format is specified the loader
- will probe the headers to guess the format.
-
- New items are appended to playlist.
-
- Returns true if the provider supports the format and loading from an I/O device, otherwise this
- will return false.
-*/
-bool QMediaPlaylistProvider::load(QIODevice * device, const char *format)
-{
- Q_UNUSED(device);
- Q_UNUSED(format);
- return false;
-}
-
-/*!
- Saves the contents of a playlist to a URL \a location. If no playlist \a format is specified
- the writer will inspect the URL to guess the format.
-
- Returns true if the playlist was saved succesfully; and false otherwise.
- */
-bool QMediaPlaylistProvider::save(const QUrl &location, const char *format)
-{
- Q_UNUSED(location);
- Q_UNUSED(format);
- return false;
-}
-
-/*!
- Saves the contents of a playlist to an I/O \a device in the specified \a format.
-
- Returns true if the playlist was saved succesfully; and false otherwise.
-*/
-bool QMediaPlaylistProvider::save(QIODevice * device, const char *format)
-{
- Q_UNUSED(device);
- Q_UNUSED(format);
- return false;
-}
-
-/*!
- Returns true if a playlist is read-only; otherwise returns false.
-*/
-bool QMediaPlaylistProvider::isReadOnly() const
-{
- return true;
-}
-
-/*!
- Append \a media to a playlist.
-
- Returns true if the media was appended; and false otherwise.
-*/
-bool QMediaPlaylistProvider::addMedia(const QMediaContent &media)
-{
- Q_UNUSED(media);
- return false;
-}
-
-/*!
- Append multiple media \a items to a playlist.
-
- Returns true if the media items were appended; and false otherwise.
-*/
-bool QMediaPlaylistProvider::addMedia(const QList<QMediaContent> &items)
-{
- foreach(const QMediaContent &item, items) {
- if (!addMedia(item))
- return false;
- }
-
- return true;
-}
-
-/*!
- Inserts \a media into a playlist at \a position.
-
- Returns true if the media was inserted; and false otherwise.
-*/
-bool QMediaPlaylistProvider::insertMedia(int position, const QMediaContent &media)
-{
- Q_UNUSED(position);
- Q_UNUSED(media);
- return false;
-}
-
-/*!
- Inserts multiple media \a items into a playlist at \a position.
-
- Returns true if the media \a items were inserted; and false otherwise.
-*/
-bool QMediaPlaylistProvider::insertMedia(int position, const QList<QMediaContent> &items)
-{
- for (int i=0; i<items.count(); i++) {
- if (!insertMedia(position+i,items.at(i)))
- return false;
- }
-
- return true;
-}
-
-
-/*!
- Removes the media at \a position from a playlist.
-
- Returns true if the media was removed; and false otherwise.
-*/
-bool QMediaPlaylistProvider::removeMedia(int position)
-{
- Q_UNUSED(position);
- return false;
-}
-
-/*!
- Removes the media between the given \a start and \a end positions from a playlist.
-
- Returns true if the media was removed; and false otherwise.
- */
-bool QMediaPlaylistProvider::removeMedia(int start, int end)
-{
- for (int pos=start; pos<=end; pos++) {
- if (!removeMedia(pos))
- return false;
- }
-
- return true;
-}
-
-/*!
- Removes all media from a playlist.
-
- Returns true if the media was removed; and false otherwise.
-*/
-bool QMediaPlaylistProvider::clear()
-{
- return removeMedia(0, mediaCount()-1);
-}
-
-/*!
- Shuffles the contents of a playlist.
-*/
-void QMediaPlaylistProvider::shuffle()
-{
-}
-
-/*!
- \fn void QMediaPlaylistProvider::mediaAboutToBeInserted(int start, int end);
-
- Signals that new media is about to be inserted into a playlist between the \a start and \a end
- positions.
-*/
-
-/*!
- \fn void QMediaPlaylistProvider::mediaInserted(int start, int end);
-
- Signals that new media has been inserted into a playlist between the \a start and \a end
- positions.
-*/
-
-/*!
- \fn void QMediaPlaylistProvider::mediaAboutToBeRemoved(int start, int end);
-
- Signals that media is about to be removed from a playlist between the \a start and \a end
- positions.
-*/
-
-/*!
- \fn void QMediaPlaylistProvider::mediaRemoved(int start, int end);
-
- Signals that media has been removed from a playlist between the \a start and \a end positions.
-*/
-
-/*!
- \fn void QMediaPlaylistProvider::mediaChanged(int start, int end);
-
- Signals that media in playlist between the \a start and \a end positions inclusive has changed.
-*/
-
-/*!
- \fn void QMediaPlaylistProvider::loaded()
-
- Signals that a load() finished successfully.
-*/
-
-/*!
- \fn void QMediaPlaylistProvider::loadFailed(QMediaPlaylist::Error error, const QString& errorMessage)
-
- Signals that a load failed() due to an \a error. The \a errorMessage provides more information.
-*/
-
-#include "moc_qmediaplaylistprovider.cpp"
-
-QT_END_NAMESPACE
-
diff --git a/src/multimedia/mediaservices/base/qmediaplaylistprovider.h b/src/multimedia/mediaservices/base/qmediaplaylistprovider.h
deleted file mode 100644
index c68ed89d82..0000000000
--- a/src/multimedia/mediaservices/base/qmediaplaylistprovider.h
+++ /dev/null
@@ -1,114 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the QtMediaServices module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QMEDIAPLAYLISTPROVIDER_H
-#define QMEDIAPLAYLISTPROVIDER_H
-
-#include <QtCore/qobject.h>
-
-#include <QtMediaServices/qmediacontent.h>
-#include <QtMediaServices/qmediaplaylist.h>
-
-
-QT_BEGIN_HEADER
-
-QT_BEGIN_NAMESPACE
-
-QT_MODULE(Multimedia)
-
-class QString;
-
-
-class QMediaPlaylistProviderPrivate;
-class Q_MEDIASERVICES_EXPORT QMediaPlaylistProvider : public QObject
-{
- Q_OBJECT
-
-public:
- QMediaPlaylistProvider(QObject *parent=0);
- virtual ~QMediaPlaylistProvider();
-
- virtual bool load(const QUrl &location, const char *format = 0);
- virtual bool load(QIODevice * device, const char *format = 0);
- virtual bool save(const QUrl &location, const char *format = 0);
- virtual bool save(QIODevice * device, const char *format);
-
- virtual int mediaCount() const = 0;
- virtual QMediaContent media(int index) const = 0;
-
- virtual bool isReadOnly() const;
-
- virtual bool addMedia(const QMediaContent &content);
- virtual bool addMedia(const QList<QMediaContent> &contentList);
- virtual bool insertMedia(int index, const QMediaContent &content);
- virtual bool insertMedia(int index, const QList<QMediaContent> &content);
- virtual bool removeMedia(int pos);
- virtual bool removeMedia(int start, int end);
- virtual bool clear();
-
-public Q_SLOTS:
- virtual void shuffle();
-
-Q_SIGNALS:
- void mediaAboutToBeInserted(int start, int end);
- void mediaInserted(int start, int end);
-
- void mediaAboutToBeRemoved(int start, int end);
- void mediaRemoved(int start, int end);
-
- void mediaChanged(int start, int end);
-
- void loaded();
- void loadFailed(QMediaPlaylist::Error, const QString& errorMessage);
-
-protected:
- QMediaPlaylistProviderPrivate *d_ptr;
- QMediaPlaylistProvider(QMediaPlaylistProviderPrivate &dd, QObject *parent);
-
-private:
- Q_DECLARE_PRIVATE(QMediaPlaylistProvider)
-};
-
-QT_END_NAMESPACE
-
-QT_END_HEADER
-
-#endif // QMEDIAPLAYLISTPROVIDER_H
diff --git a/src/multimedia/mediaservices/base/qmediaplaylistprovider_p.h b/src/multimedia/mediaservices/base/qmediaplaylistprovider_p.h
deleted file mode 100644
index 00d1cca3c5..0000000000
--- a/src/multimedia/mediaservices/base/qmediaplaylistprovider_p.h
+++ /dev/null
@@ -1,75 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the QtMediaServices module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QMEDIAPLAYLISTPROVIDER_P_H
-#define QMEDIAPLAYLISTPROVIDER_P_H
-
-//
-// W A R N I N G
-// -------------
-//
-// This file is not part of the Qt API. It exists purely as an
-// implementation detail. This header file may change from version to
-// version without notice, or even be removed.
-//
-// We mean it.
-//
-
-#include <QtMediaServices/qmediaplaylist.h>
-
-QT_BEGIN_HEADER
-
-QT_BEGIN_NAMESPACE
-
-class QMediaPlaylistProviderPrivate
-{
-public:
- QMediaPlaylistProviderPrivate()
- {}
- virtual ~QMediaPlaylistProviderPrivate()
- {}
-};
-
-QT_END_NAMESPACE
-
-QT_END_HEADER
-
-#endif // QMEDIAPLAYLISTSOURCE_P_H
diff --git a/src/multimedia/mediaservices/base/qmediapluginloader.cpp b/src/multimedia/mediaservices/base/qmediapluginloader.cpp
deleted file mode 100644
index 8b0ddf4f56..0000000000
--- a/src/multimedia/mediaservices/base/qmediapluginloader.cpp
+++ /dev/null
@@ -1,139 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the QtMediaServices module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "qmediapluginloader_p.h"
-#include <QtCore/qcoreapplication.h>
-#include <QtCore/qpluginloader.h>
-#include <QtCore/qdir.h>
-#include <QtCore/qdebug.h>
-
-#include <QtMediaServices/qmediaserviceproviderplugin.h>
-
-
-QT_BEGIN_NAMESPACE
-
-
-typedef QMap<QString,QObjectList> ObjectListMap;
-Q_GLOBAL_STATIC(ObjectListMap, staticMediaPlugins);
-
-QMediaPluginLoader::QMediaPluginLoader(const char *iid, const QString &location, Qt::CaseSensitivity):
- m_iid(iid)
-{
- m_location = location + QLatin1String("/");
- load();
-}
-
-QStringList QMediaPluginLoader::keys() const
-{
- return m_instances.keys();
-}
-
-QObject* QMediaPluginLoader::instance(QString const &key)
-{
- return m_instances.value(key);
-}
-
-QList<QObject*> QMediaPluginLoader::instances(QString const &key)
-{
- return m_instances.values(key);
-}
-
-//to be used for testing purposes only
-void QMediaPluginLoader::setStaticPlugins(const QString &location, const QObjectList& objects)
-{
- staticMediaPlugins()->insert(location + QLatin1String("/"), objects);
-}
-
-void QMediaPluginLoader::load()
-{
- if (!m_instances.isEmpty())
- return;
-
- if (staticMediaPlugins() && staticMediaPlugins()->contains(m_location)) {
- foreach(QObject *o, staticMediaPlugins()->value(m_location)) {
- if (o != 0 && o->qt_metacast(m_iid) != 0) {
- QFactoryInterface* p = qobject_cast<QFactoryInterface*>(o);
- if (p != 0) {
- foreach (QString const &key, p->keys())
- m_instances.insertMulti(key, o);
- }
- }
- }
- } else {
-#ifndef QT_NO_LIBRARY
- QStringList paths = QCoreApplication::libraryPaths();
-
- foreach (QString const &path, paths) {
- QString pluginPathName(path + m_location);
- QDir pluginDir(pluginPathName);
-
- if (!pluginDir.exists())
- continue;
-
- foreach (const QString &pluginLib, pluginDir.entryList(QDir::Files)) {
-#if defined(Q_OS_UNIX) && !defined(Q_OS_MAC)
- if (pluginLib.endsWith(QLatin1String(".debug")))
- continue;
-#endif
- QPluginLoader loader(pluginPathName + pluginLib);
-
- QObject *o = loader.instance();
- if (o != 0 && o->qt_metacast(m_iid) != 0) {
- QFactoryInterface* p = qobject_cast<QFactoryInterface*>(o);
- if (p != 0) {
- foreach (QString const &key, p->keys())
- m_instances.insertMulti(key, o);
- }
-
- continue;
- } else {
- qWarning() << "QMediaPluginLoader: Failed to load plugin: " << pluginLib << loader.errorString();
- }
- delete o;
- loader.unload();
- }
- }
-#endif
- }
-}
-
-QT_END_NAMESPACE
-
diff --git a/src/multimedia/mediaservices/base/qmediapluginloader_p.h b/src/multimedia/mediaservices/base/qmediapluginloader_p.h
deleted file mode 100644
index d911180b43..0000000000
--- a/src/multimedia/mediaservices/base/qmediapluginloader_p.h
+++ /dev/null
@@ -1,92 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the QtMediaServices module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QMEDIAPLUGINLOADER_H
-#define QMEDIAPLUGINLOADER_H
-
-//
-// W A R N I N G
-// -------------
-//
-// This file is not part of the Qt API. It exists purely as an
-// implementation detail. This header file may change from version to
-// version without notice, or even be removed.
-//
-// We mean it.
-//
-
-#include <QtCore/qobject.h>
-#include <QtCore/qstring.h>
-#include <QtCore/qmap.h>
-
-
-QT_BEGIN_HEADER
-
-QT_BEGIN_NAMESPACE
-
-class QMediaServiceProviderPlugin;
-
-class Q_AUTOTEST_EXPORT QMediaPluginLoader
-{
-public:
- QMediaPluginLoader(const char *iid,
- const QString &suffix = QString(),
- Qt::CaseSensitivity = Qt::CaseSensitive);
-
- QStringList keys() const;
- QObject* instance(QString const &key);
- QList<QObject*> instances(QString const &key);
-
- static void setStaticPlugins(const QString &location, const QObjectList& objects);
-
-private:
- void load();
-
- QByteArray m_iid;
- QString m_location;
- QMap<QString, QObject*> m_instances;
-};
-
-QT_END_NAMESPACE
-
-QT_END_HEADER
-
-#endif // QMEDIAPLUGINLOADER_H
diff --git a/src/multimedia/mediaservices/base/qmediaresource.cpp b/src/multimedia/mediaservices/base/qmediaresource.cpp
deleted file mode 100644
index 33bd396be1..0000000000
--- a/src/multimedia/mediaservices/base/qmediaresource.cpp
+++ /dev/null
@@ -1,399 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the QtMediaServices module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include <QtCore/qsize.h>
-#include <QtCore/qurl.h>
-#include <QtCore/qvariant.h>
-
-#include <QtMediaServices/qmediaresource.h>
-
-
-QT_BEGIN_NAMESPACE
-
-/*!
- \class QMediaResource
- \preliminary
- \since 4.7
- \brief The QMediaResource class provides a description of a media resource.
- \ingroup multimedia
-
- A media resource is composed of a \l {url()}{URL} containing the
- location of the resource and a set of properties that describe the
- format of the resource. The properties provide a means to assess a
- resource without first attempting to load it, and in situations where
- media be represented by multiple alternative representations provide a
- means to select the appropriate resource.
-
- Media made available by a remote services can often be available in
- multiple encodings or quality levels, this allows a client to select
- an appropriate resource based on considerations such as codecs supported,
- network bandwidth, and display constraints. QMediaResource includes
- information such as the \l {mimeType()}{MIME type}, \l {audioCodec()}{audio}
- and \l {videoCodec()}{video} codecs, \l {audioBitRate()}{audio} and
- \l {videoBitRate()}{video} bit rates, and \l {resolution()}{resolution}
- so these constraints and others can be evaluated.
-
- The only mandatory property of a QMediaResource is the url().
-
- \sa QMediaContent
-*/
-
-/*!
- \typedef QMediaResourceList
-
- Synonym for \c QList<QMediaResource>
-*/
-
-/*!
- Constructs a null media resource.
-*/
-QMediaResource::QMediaResource()
-{
-}
-
-/*!
- Constructs a media resource with the given \a mimeType from a \a url.
-*/
-QMediaResource::QMediaResource(const QUrl &url, const QString &mimeType)
-{
- values.insert(Url, url);
- values.insert(MimeType, mimeType);
-}
-
-/*!
- Constructs a media resource with the given \a mimeType from a network \a request.
-*/
-QMediaResource::QMediaResource(const QNetworkRequest &request, const QString &mimeType)
-{
- values.insert(Request, QVariant::fromValue(request));
- values.insert(Url, request.url());
- values.insert(MimeType, mimeType);
-}
-
-/*!
- Constructs a copy of a media resource \a other.
-*/
-QMediaResource::QMediaResource(const QMediaResource &other)
- : values(other.values)
-{
-}
-
-/*!
- Assigns the value of \a other to a media resource.
-*/
-QMediaResource &QMediaResource::operator =(const QMediaResource &other)
-{
- values = other.values;
-
- return *this;
-}
-
-/*!
- Destroys a media resource.
-*/
-QMediaResource::~QMediaResource()
-{
-}
-
-
-/*!
- Compares a media resource to \a other.
-
- Returns true if the resources are identical, and false otherwise.
-*/
-bool QMediaResource::operator ==(const QMediaResource &other) const
-{
- return values == other.values;
-}
-
-/*!
- Compares a media resource to \a other.
-
- Returns true if they are different, and false otherwise.
-*/
-bool QMediaResource::operator !=(const QMediaResource &other) const
-{
- return values != other.values;
-}
-
-/*!
- Identifies if a media resource is null.
-
- Returns true if the resource is null, and false otherwise.
-*/
-bool QMediaResource::isNull() const
-{
- return values.isEmpty();
-}
-
-/*!
- Returns the URL of a media resource.
-*/
-QUrl QMediaResource::url() const
-{
- return qvariant_cast<QUrl>(values.value(Url));
-}
-
-/*!
- Returns the network request associated with this media resource.
-*/
-QNetworkRequest QMediaResource::request() const
-{
- if(values.contains(Request))
- return qvariant_cast<QNetworkRequest>(values.value(Request));
-
- return QNetworkRequest(url());
-}
-
-/*!
- Returns the MIME type of a media resource.
-
- This may be null if the MIME type is unknown.
-*/
-QString QMediaResource::mimeType() const
-{
- return qvariant_cast<QString>(values.value(MimeType));
-}
-
-/*!
- Returns the language of a media resource as an ISO 639-2 code.
-
- This may be null if the language is unknown.
-*/
-QString QMediaResource::language() const
-{
- return qvariant_cast<QString>(values.value(Language));
-}
-
-/*!
- Sets the \a language of a media resource.
-*/
-void QMediaResource::setLanguage(const QString &language)
-{
- if (!language.isNull())
- values.insert(Language, language);
- else
- values.remove(Language);
-}
-
-/*!
- Returns the audio codec of a media resource.
-
- This may be null if the media resource does not contain an audio stream, or the codec is
- unknown.
-*/
-QString QMediaResource::audioCodec() const
-{
- return qvariant_cast<QString>(values.value(AudioCodec));
-}
-
-/*!
- Sets the audio \a codec of a media resource.
-*/
-void QMediaResource::setAudioCodec(const QString &codec)
-{
- if (!codec.isNull())
- values.insert(AudioCodec, codec);
- else
- values.remove(AudioCodec);
-}
-
-/*!
- Returns the video codec of a media resource.
-
- This may be null if the media resource does not contain a video stream, or the codec is
- unknonwn.
-*/
-QString QMediaResource::videoCodec() const
-{
- return qvariant_cast<QString>(values.value(VideoCodec));
-}
-
-/*!
- Sets the video \a codec of media resource.
-*/
-void QMediaResource::setVideoCodec(const QString &codec)
-{
- if (!codec.isNull())
- values.insert(VideoCodec, codec);
- else
- values.remove(VideoCodec);
-}
-
-/*!
- Returns the size in bytes of a media resource.
-
- This may be zero if the size is unknown.
-*/
-qint64 QMediaResource::dataSize() const
-{
- return qvariant_cast<qint64>(values.value(DataSize));
-}
-
-/*!
- Sets the \a size in bytes of a media resource.
-*/
-void QMediaResource::setDataSize(const qint64 size)
-{
- if (size != 0)
- values.insert(DataSize, size);
- else
- values.remove(DataSize);
-}
-
-/*!
- Returns the bit rate in bits per second of a media resource's audio stream.
-
- This may be zero if the bit rate is unknown, or the resource contains no audio stream.
-*/
-int QMediaResource::audioBitRate() const
-{
- return values.value(AudioBitRate).toInt();
-}
-
-/*!
- Sets the bit \a rate in bits per second of a media resource's video stream.
-*/
-void QMediaResource::setAudioBitRate(int rate)
-{
- if (rate != 0)
- values.insert(AudioBitRate, rate);
- else
- values.remove(AudioBitRate);
-}
-
-/*!
- Returns the audio sample rate of a media resource.
-
- This may be zero if the sample size is unknown, or the resource contains no audio stream.
-*/
-int QMediaResource::sampleRate() const
-{
- return qvariant_cast<int>(values.value(SampleRate));
-}
-
-/*!
- Sets the audio \a sampleRate of a media resource.
-*/
-void QMediaResource::setSampleRate(int sampleRate)
-{
- if (sampleRate != 0)
- values.insert(SampleRate, sampleRate);
- else
- values.remove(SampleRate);
-}
-
-/*!
- Returns the number of audio channels in a media resource.
-
- This may be zero if the sample size is unknown, or the resource contains no audio stream.
-*/
-int QMediaResource::channelCount() const
-{
- return qvariant_cast<int>(values.value(ChannelCount));
-}
-
-/*!
- Sets the number of audio \a channels in a media resource.
-*/
-void QMediaResource::setChannelCount(int channels)
-{
- if (channels != 0)
- values.insert(ChannelCount, channels);
- else
- values.remove(ChannelCount);
-}
-
-/*!
- Returns the bit rate in bits per second of a media resource's video stream.
-
- This may be zero if the bit rate is unknown, or the resource contains no video stream.
-*/
-int QMediaResource::videoBitRate() const
-{
- return values.value(VideoBitRate).toInt();
-}
-
-/*!
- Sets the bit \a rate in bits per second of a media resource's video stream.
-*/
-void QMediaResource::setVideoBitRate(int rate)
-{
- if (rate != 0)
- values.insert(VideoBitRate, rate);
- else
- values.remove(VideoBitRate);
-}
-
-/*!
- Returns the resolution in pixels of a media resource.
-
- This may be null is the resolution is unknown, or the resource contains no pixel data (i.e. the
- resource is an audio stream.
-*/
-QSize QMediaResource::resolution() const
-{
- return qvariant_cast<QSize>(values.value(Resolution));
-}
-
-/*!
- Sets the \a resolution in pixels of a media resource.
-*/
-void QMediaResource::setResolution(const QSize &resolution)
-{
- if (resolution.width() != -1 || resolution.height() != -1)
- values.insert(Resolution, resolution);
- else
- values.remove(Resolution);
-}
-
-/*!
- Sets the \a width and \a height in pixels of a media resource.
-*/
-void QMediaResource::setResolution(int width, int height)
-{
- if (width != -1 || height != -1)
- values.insert(Resolution, QSize(width, height));
- else
- values.remove(Resolution);
-}
-QT_END_NAMESPACE
-
diff --git a/src/multimedia/mediaservices/base/qmediaresource.h b/src/multimedia/mediaservices/base/qmediaresource.h
deleted file mode 100644
index 0ecf008dc0..0000000000
--- a/src/multimedia/mediaservices/base/qmediaresource.h
+++ /dev/null
@@ -1,134 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the QtMediaServices module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QMEDIARESOURCE_H
-#define QMEDIARESOURCE_H
-
-#include <QtCore/qmap.h>
-#include <QtCore/qmetatype.h>
-#include <QtNetwork/qnetworkrequest.h>
-
-
-QT_BEGIN_HEADER
-
-QT_BEGIN_NAMESPACE
-
-QT_MODULE(Multimedia)
-
-
-class Q_MEDIASERVICES_EXPORT QMediaResource
-{
-public:
- QMediaResource();
- QMediaResource(const QUrl &url, const QString &mimeType = QString());
- QMediaResource(const QNetworkRequest &request, const QString &mimeType = QString());
- QMediaResource(const QMediaResource &other);
- QMediaResource &operator =(const QMediaResource &other);
- ~QMediaResource();
-
- bool isNull() const;
-
- bool operator ==(const QMediaResource &other) const;
- bool operator !=(const QMediaResource &other) const;
-
- QUrl url() const;
- QNetworkRequest request() const;
- QString mimeType() const;
-
- QString language() const;
- void setLanguage(const QString &language);
-
- QString audioCodec() const;
- void setAudioCodec(const QString &codec);
-
- QString videoCodec() const;
- void setVideoCodec(const QString &codec);
-
- qint64 dataSize() const;
- void setDataSize(const qint64 size);
-
- int audioBitRate() const;
- void setAudioBitRate(int rate);
-
- int sampleRate() const;
- void setSampleRate(int frequency);
-
- int channelCount() const;
- void setChannelCount(int channels);
-
- int videoBitRate() const;
- void setVideoBitRate(int rate);
-
- QSize resolution() const;
- void setResolution(const QSize &resolution);
- void setResolution(int width, int height);
-
-
-private:
- enum Property
- {
- Url,
- Request,
- MimeType,
- Language,
- AudioCodec,
- VideoCodec,
- DataSize,
- AudioBitRate,
- VideoBitRate,
- SampleRate,
- ChannelCount,
- Resolution
- };
- QMap<int, QVariant> values;
-};
-
-typedef QList<QMediaResource> QMediaResourceList;
-
-QT_END_NAMESPACE
-
-Q_DECLARE_METATYPE(QMediaResource)
-Q_DECLARE_METATYPE(QMediaResourceList)
-
-QT_END_HEADER
-
-
-#endif
diff --git a/src/multimedia/mediaservices/base/qmediaservice.cpp b/src/multimedia/mediaservices/base/qmediaservice.cpp
deleted file mode 100644
index b343887cbb..0000000000
--- a/src/multimedia/mediaservices/base/qmediaservice.cpp
+++ /dev/null
@@ -1,140 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the QtMediaServices module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include <QtCore/qtimer.h>
-
-#include <QtMediaServices/qmediaservice.h>
-#include "qmediaservice_p.h"
-
-
-QT_BEGIN_HEADER
-
-QT_BEGIN_NAMESPACE
-
-QT_MODULE(Multimedia)
-
-/*!
- \class QMediaService
- \brief The QMediaService class provides a common base class for media
- service implementations.
- \ingroup multimedia-serv
- \preliminary
- \since 4.7
-
- Media services provide implementations of the functionality promised
- by media objects, and allow multiple providers to implement a QMediaObject.
-
- To provide the functionality of a QMediaObject media services implement
- QMediaControl interfaces. Services typically implement one core media
- control which provides the core feature of a media object, and some
- number of additional controls which provide either optional features of
- the media object, or features of a secondary media object or peripheral
- object.
-
- A pointer to media service's QMediaControl implementation can be
- obtained by passing the control's interface name to the control() function.
-
- \code
- QMediaPlayerControl *control = qobject_cast<QMediaPlayerControl *>(
- service->control("com.nokia.Qt.QMediaPlayerControl/1.0"));
- \endcode
-
- Media objects can use services loaded dynamically from plug-ins or
- implemented statically within an applications. Plug-in based services
- should also implement the QMediaServiceProviderPlugin interface. Static
- services should implement the QMediaServiceProvider interface.
-
- \sa QMediaObject, QMediaControl, QMediaServiceProvider, QMediaServiceProviderPlugin
-*/
-
-/*!
- Construct a media service with the given \a parent. This class is meant as a
- base class for Multimedia services so this constructor is protected.
-*/
-
-QMediaService::QMediaService(QObject *parent)
- : QObject(parent)
- , d_ptr(new QMediaServicePrivate)
-{
- d_ptr->q_ptr = this;
-}
-
-/*!
- \internal
-*/
-QMediaService::QMediaService(QMediaServicePrivate &dd, QObject *parent)
- : QObject(parent)
- , d_ptr(&dd)
-{
- d_ptr->q_ptr = this;
-}
-
-/*!
- Destroys a media service.
-*/
-
-QMediaService::~QMediaService()
-{
- delete d_ptr;
-}
-
-/*!
- \fn QMediaService::control(const char *interface) const
-
- Returns a pointer to the media control implementing \a interface.
-
- If the service does not implement the control a null pointer is returned instead.
-*/
-
-/*!
- \fn QMediaService::control() const
-
- Returns a pointer to the media control of type T implemented by a media service.
-
- If the service does not implment the control a null pointer is returned instead.
-*/
-
-#include "moc_qmediaservice.cpp"
-
-QT_END_NAMESPACE
-
-QT_END_HEADER
-
diff --git a/src/multimedia/mediaservices/base/qmediaservice.h b/src/multimedia/mediaservices/base/qmediaservice.h
deleted file mode 100644
index 5df3fd7dd6..0000000000
--- a/src/multimedia/mediaservices/base/qmediaservice.h
+++ /dev/null
@@ -1,90 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the QtMediaServices module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QABSTRACTMEDIASERVICE_H
-#define QABSTRACTMEDIASERVICE_H
-
-#include <QtCore/qobject.h>
-#include <QtCore/qstringlist.h>
-
-#include <QtMediaServices/qmediacontrol.h>
-
-QT_BEGIN_HEADER
-
-QT_BEGIN_NAMESPACE
-
-QT_MODULE(Multimedia)
-
-class QMediaServicePrivate;
-class Q_MEDIASERVICES_EXPORT QMediaService : public QObject
-{
- Q_OBJECT
-
-public:
- ~QMediaService();
-
- virtual QMediaControl* control(const char *name) const = 0;
-
-#ifndef QT_NO_MEMBER_TEMPLATES
- template <typename T> inline T control() const {
- if (QObject *object = control(qmediacontrol_iid<T>())) {
- return qobject_cast<T>(object);
- }
- return 0;
- }
-#endif
-
-protected:
- QMediaService(QObject* parent);
- QMediaService(QMediaServicePrivate &dd, QObject *parent);
-
- QMediaServicePrivate *d_ptr;
-
-private:
- Q_DECLARE_PRIVATE(QMediaService)
-};
-
-QT_END_NAMESPACE
-
-QT_END_HEADER
-
-#endif // QABSTRACTMEDIASERVICE_H
-
diff --git a/src/multimedia/mediaservices/base/qmediaservice_p.h b/src/multimedia/mediaservices/base/qmediaservice_p.h
deleted file mode 100644
index bebae11a25..0000000000
--- a/src/multimedia/mediaservices/base/qmediaservice_p.h
+++ /dev/null
@@ -1,75 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the QtMediaServices module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QABSTRACTMEDIASERVICE_P_H
-#define QABSTRACTMEDIASERVICE_P_H
-
-//
-// W A R N I N G
-// -------------
-//
-// This file is not part of the Qt API. It exists purely as an
-// implementation detail. This header file may change from version to
-// version without notice, or even be removed.
-//
-// We mean it.
-//
-
-QT_BEGIN_HEADER
-
-QT_BEGIN_NAMESPACE
-
-class QAudioDeviceControl;
-
-class QMediaServicePrivate
-{
-public:
- QMediaServicePrivate(): q_ptr(0) {}
- virtual ~QMediaServicePrivate() {}
-
- QMediaService *q_ptr;
-};
-
-QT_END_NAMESPACE
-
-QT_END_HEADER
-
-#endif
diff --git a/src/multimedia/mediaservices/base/qmediaserviceprovider.cpp b/src/multimedia/mediaservices/base/qmediaserviceprovider.cpp
deleted file mode 100644
index f27628b40f..0000000000
--- a/src/multimedia/mediaservices/base/qmediaserviceprovider.cpp
+++ /dev/null
@@ -1,738 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the QtMediaServices module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include <QtCore/qdebug.h>
-#include <QtCore/qmap.h>
-
-#include <QtMediaServices/qmediaservice.h>
-#include <QtMediaServices/qmediaserviceprovider.h>
-#include <QtMediaServices/qmediaserviceproviderplugin.h>
-#include "qmediapluginloader_p.h"
-#include <QtMediaServices/qmediaplayer.h>
-
-QT_BEGIN_NAMESPACE
-
-class QMediaServiceProviderHintPrivate : public QSharedData
-{
-public:
- QMediaServiceProviderHintPrivate(QMediaServiceProviderHint::Type type)
- :type(type), features(0)
- {
- }
-
- QMediaServiceProviderHintPrivate(const QMediaServiceProviderHintPrivate &other)
- :QSharedData(other),
- type(other.type),
- device(other.device),
- mimeType(other.mimeType),
- codecs(other.codecs),
- features(other.features)
- {
- }
-
- ~QMediaServiceProviderHintPrivate()
- {
- }
-
- QMediaServiceProviderHint::Type type;
- QByteArray device;
- QString mimeType;
- QStringList codecs;
- QMediaServiceProviderHint::Features features;
-};
-
-/*!
- \class QMediaServiceProviderHint
- \preliminary
- \since 4.7
- \brief The QMediaServiceProviderHint class describes what is required of a QMediaService.
-
- \ingroup multimedia-serv
-
- The QMediaServiceProvider class uses hints to select an appropriate media service.
-*/
-
-/*!
- \enum QMediaServiceProviderHint::Feature
-
- Enumerates features a media service may provide.
-
- \value LowLatencyPlayback
- The service is expected to play simple audio formats,
- but playback should start without significant delay.
- Such playback service can be used for beeps, ringtones, etc.
-
- \value RecordingSupport
- The service provides audio or video recording functions.
-
- \value StreamPlayback
- The service is capable of playing QIODevice based streams.
-*/
-
-/*!
- \enum QMediaServiceProviderHint::Type
-
- Enumerates the possible types of media service provider hint.
-
- \value Null En empty hint, use the default service.
- \value ContentType Select media service most suitable for certain content type.
- \value Device Select media service which supports certain device.
- \value SupportedFeatures Select media service supporting the set of optional features.
-*/
-
-
-/*!
- Constructs an empty media service provider hint.
-*/
-QMediaServiceProviderHint::QMediaServiceProviderHint()
- :d(new QMediaServiceProviderHintPrivate(Null))
-{
-}
-
-/*!
- Constructs a ContentType media service provider hint.
-
- This type of hint describes a service that is able to play content of a specific MIME \a type
- encoded with one or more of the listed \a codecs.
-*/
-QMediaServiceProviderHint::QMediaServiceProviderHint(const QString &type, const QStringList& codecs)
- :d(new QMediaServiceProviderHintPrivate(ContentType))
-{
- d->mimeType = type;
- d->codecs = codecs;
-}
-
-/*!
- Constructs a Device media service provider hint.
-
- This type of hint describes a media service that utilizes a specific \a device.
-*/
-QMediaServiceProviderHint::QMediaServiceProviderHint(const QByteArray &device)
- :d(new QMediaServiceProviderHintPrivate(Device))
-{
- d->device = device;
-}
-
-/*!
- Constructs a SupportedFeatures media service provider hint.
-
- This type of hint describes a service which supports a specific set of \a features.
-*/
-QMediaServiceProviderHint::QMediaServiceProviderHint(QMediaServiceProviderHint::Features features)
- :d(new QMediaServiceProviderHintPrivate(SupportedFeatures))
-{
- d->features = features;
-}
-
-/*!
- Constructs a copy of the media service provider hint \a other.
-*/
-QMediaServiceProviderHint::QMediaServiceProviderHint(const QMediaServiceProviderHint &other)
- :d(other.d)
-{
-}
-
-/*!
- Destroys a media service provider hint.
-*/
-QMediaServiceProviderHint::~QMediaServiceProviderHint()
-{
-}
-
-/*!
- Assigns the value \a other to a media service provider hint.
-*/
-QMediaServiceProviderHint& QMediaServiceProviderHint::operator=(const QMediaServiceProviderHint &other)
-{
- d = other.d;
- return *this;
-}
-
-/*!
- Identifies if \a other is of equal value to a media service provider hint.
-
- Returns true if the hints are equal, and false if they are not.
-*/
-bool QMediaServiceProviderHint::operator == (const QMediaServiceProviderHint &other) const
-{
- return (d == other.d) ||
- (d->type == other.d->type &&
- d->device == other.d->device &&
- d->mimeType == other.d->mimeType &&
- d->codecs == other.d->codecs &&
- d->features == other.d->features);
-}
-
-/*!
- Identifies if \a other is not of equal value to a media service provider hint.
-
- Returns true if the hints are not equal, and false if they are.
-*/
-bool QMediaServiceProviderHint::operator != (const QMediaServiceProviderHint &other) const
-{
- return !(*this == other);
-}
-
-/*!
- Returns true if a media service provider is null.
-*/
-bool QMediaServiceProviderHint::isNull() const
-{
- return d->type == Null;
-}
-
-/*!
- Returns the type of a media service provider hint.
-*/
-QMediaServiceProviderHint::Type QMediaServiceProviderHint::type() const
-{
- return d->type;
-}
-
-/*!
- Returns the mime type of the media a service is expected to be able play.
-*/
-QString QMediaServiceProviderHint::mimeType() const
-{
- return d->mimeType;
-}
-
-/*!
- Returns a list of codes a media service is expected to be able to decode.
-*/
-QStringList QMediaServiceProviderHint::codecs() const
-{
- return d->codecs;
-}
-
-/*!
- Returns the name of a device a media service is expected to utilize.
-*/
-QByteArray QMediaServiceProviderHint::device() const
-{
- return d->device;
-}
-
-/*!
- Returns a set of features a media service is expected to provide.
-*/
-QMediaServiceProviderHint::Features QMediaServiceProviderHint::features() const
-{
- return d->features;
-}
-
-
-Q_GLOBAL_STATIC_WITH_ARGS(QMediaPluginLoader, loader,
- (QMediaServiceProviderFactoryInterface_iid, QLatin1String("/mediaservices"), Qt::CaseInsensitive))
-
-
-class QPluginServiceProvider : public QMediaServiceProvider
-{
- QMap<QMediaService*, QMediaServiceProviderPlugin*> pluginMap;
-
-public:
- QMediaService* requestService(const QByteArray &type, const QMediaServiceProviderHint &hint)
- {
- QString key(QString::fromLatin1(type.constData(),type.length()));
-
- QList<QMediaServiceProviderPlugin *>plugins;
- foreach (QObject *obj, loader()->instances(key)) {
- QMediaServiceProviderPlugin *plugin =
- qobject_cast<QMediaServiceProviderPlugin*>(obj);
- if (plugin)
- plugins << plugin;
- }
-
- if (!plugins.isEmpty()) {
- QMediaServiceProviderPlugin *plugin = 0;
-
- switch (hint.type()) {
- case QMediaServiceProviderHint::Null:
- plugin = plugins[0];
- //special case for media player, if low latency was not asked,
- //prefer services not offering it, since they are likely to support
- //more formats
- if (type == QByteArray(Q_MEDIASERVICE_MEDIAPLAYER)) {
- foreach (QMediaServiceProviderPlugin *currentPlugin, plugins) {
- QMediaServiceFeaturesInterface *iface =
- qobject_cast<QMediaServiceFeaturesInterface*>(currentPlugin);
-
- if (!iface || !(iface->supportedFeatures(type) &
- QMediaServiceProviderHint::LowLatencyPlayback)) {
- plugin = currentPlugin;
- break;
- }
-
- }
- }
- break;
- case QMediaServiceProviderHint::SupportedFeatures:
- plugin = plugins[0];
- foreach (QMediaServiceProviderPlugin *currentPlugin, plugins) {
- QMediaServiceFeaturesInterface *iface =
- qobject_cast<QMediaServiceFeaturesInterface*>(currentPlugin);
-
- if (iface) {
- if ((iface->supportedFeatures(type) & hint.features()) == hint.features()) {
- plugin = currentPlugin;
- break;
- }
- }
- }
- break;
- case QMediaServiceProviderHint::Device: {
- foreach (QMediaServiceProviderPlugin *currentPlugin, plugins) {
- QMediaServiceSupportedDevicesInterface *iface =
- qobject_cast<QMediaServiceSupportedDevicesInterface*>(currentPlugin);
-
- if (!iface) {
- // the plugin may support the device,
- // but this choice still can be overridden
- plugin = currentPlugin;
- } else {
- if (iface->devices(type).contains(hint.device())) {
- plugin = currentPlugin;
- break;
- }
- }
- }
- }
- break;
- case QMediaServiceProviderHint::ContentType: {
- QtMediaServices::SupportEstimate estimate = QtMediaServices::NotSupported;
- foreach (QMediaServiceProviderPlugin *currentPlugin, plugins) {
- QtMediaServices::SupportEstimate currentEstimate = QtMediaServices::MaybeSupported;
- QMediaServiceSupportedFormatsInterface *iface =
- qobject_cast<QMediaServiceSupportedFormatsInterface*>(currentPlugin);
-
- if (iface)
- currentEstimate = iface->hasSupport(hint.mimeType(), hint.codecs());
-
- if (currentEstimate > estimate) {
- estimate = currentEstimate;
- plugin = currentPlugin;
-
- if (currentEstimate == QtMediaServices::PreferredService)
- break;
- }
- }
- }
- break;
- }
-
- if (plugin != 0) {
- QMediaService *service = plugin->create(key);
- if (service != 0)
- pluginMap.insert(service, plugin);
-
- return service;
- }
- }
-
- qWarning() << "defaultServiceProvider::requestService(): no service found for -" << key;
- return 0;
- }
-
- void releaseService(QMediaService *service)
- {
- if (service != 0) {
- QMediaServiceProviderPlugin *plugin = pluginMap.take(service);
-
- if (plugin != 0)
- plugin->release(service);
- }
- }
-
- QtMediaServices::SupportEstimate hasSupport(const QByteArray &serviceType,
- const QString &mimeType,
- const QStringList& codecs,
- int flags) const
- {
- QList<QObject*> instances = loader()->instances(
- QString::fromLatin1(serviceType.constData(),serviceType.length()));
-
- if (instances.isEmpty())
- return QtMediaServices::NotSupported;
-
- bool allServicesProvideInterface = true;
- QtMediaServices::SupportEstimate supportEstimate = QtMediaServices::NotSupported;
-
- foreach(QObject *obj, instances) {
- QMediaServiceSupportedFormatsInterface *iface =
- qobject_cast<QMediaServiceSupportedFormatsInterface*>(obj);
-
-
- if (flags) {
- QMediaServiceFeaturesInterface *iface =
- qobject_cast<QMediaServiceFeaturesInterface*>(obj);
-
- if (iface) {
- QMediaServiceProviderHint::Features features = iface->supportedFeatures(serviceType);
-
- //if low latency playback was asked, skip services known
- //not to provide low latency playback
- if ((flags & QMediaPlayer::LowLatency) &&
- !(features & QMediaServiceProviderHint::LowLatencyPlayback))
- continue;
-
- //the same for QIODevice based streams support
- if ((flags & QMediaPlayer::StreamPlayback) &&
- !(features & QMediaServiceProviderHint::StreamPlayback))
- continue;
- }
- }
-
- if (iface)
- supportEstimate = qMax(supportEstimate, iface->hasSupport(mimeType, codecs));
- else
- allServicesProvideInterface = false;
- }
-
- //don't return PreferredService
- supportEstimate = qMin(supportEstimate, QtMediaServices::ProbablySupported);
-
- //Return NotSupported only if no services are available of serviceType
- //or all the services returned NotSupported, otherwise return at least MaybeSupported
- if (!allServicesProvideInterface)
- supportEstimate = qMax(QtMediaServices::MaybeSupported, supportEstimate);
-
- return supportEstimate;
- }
-
- QStringList supportedMimeTypes(const QByteArray &serviceType, int flags) const
- {
- QList<QObject*> instances = loader()->instances(
- QString::fromLatin1(serviceType.constData(),serviceType.length()));
-
- QStringList supportedTypes;
-
- foreach(QObject *obj, instances) {
- QMediaServiceSupportedFormatsInterface *iface =
- qobject_cast<QMediaServiceSupportedFormatsInterface*>(obj);
-
-
- if (flags & QMediaPlayer::LowLatency) {
- QMediaServiceFeaturesInterface *iface =
- qobject_cast<QMediaServiceFeaturesInterface*>(obj);
-
- if (iface) {
- QMediaServiceProviderHint::Features features = iface->supportedFeatures(serviceType);
-
- // If low latency playback was asked for, skip MIME types from services known
- // not to provide low latency playback
- if ((flags & QMediaPlayer::LowLatency) &&
- !(features & QMediaServiceProviderHint::LowLatencyPlayback))
- continue;
-
- //the same for QIODevice based streams support
- if ((flags & QMediaPlayer::StreamPlayback) &&
- !(features & QMediaServiceProviderHint::StreamPlayback))
- continue;
- }
- }
-
- if (iface) {
- supportedTypes << iface->supportedMimeTypes();
- }
- }
-
- // Multiple services may support the same MIME type
- supportedTypes.removeDuplicates();
-
- return supportedTypes;
- }
-
- QList<QByteArray> devices(const QByteArray &serviceType) const
- {
- QList<QByteArray> res;
-
- foreach(QObject *obj, loader()->instances(
- QString::fromLatin1(serviceType.constData(),serviceType.length()))) {
- QMediaServiceSupportedDevicesInterface *iface =
- qobject_cast<QMediaServiceSupportedDevicesInterface*>(obj);
-
- if (iface) {
- res.append(iface->devices(serviceType));
- }
- }
-
- return res;
- }
-
- QString deviceDescription(const QByteArray &serviceType, const QByteArray &device)
- {
- foreach(QObject *obj, loader()->instances(
- QString::fromLatin1(serviceType.constData(),serviceType.length()))) {
- QMediaServiceSupportedDevicesInterface *iface =
- qobject_cast<QMediaServiceSupportedDevicesInterface*>(obj);
-
- if (iface) {
- if (iface->devices(serviceType).contains(device))
- return iface->deviceDescription(serviceType, device);
- }
- }
-
- return QString();
- }
-};
-
-Q_GLOBAL_STATIC(QPluginServiceProvider, pluginProvider);
-
-/*!
- \class QMediaServiceProvider
- \preliminary
- \since 4.7
- \brief The QMediaServiceProvider class provides an abstract allocator for media services.
-*/
-
-/*!
- \fn QMediaServiceProvider::requestService(const QByteArray &type, const QMediaServiceProviderHint &hint)
-
- Requests an instance of a \a type service which best matches the given \a hint.
-
- Returns a pointer to the requested service, or a null pointer if there is no suitable service.
-
- The returned service must be released with releaseService when it is finished with.
-*/
-
-/*!
- \fn QMediaServiceProvider::releaseService(QMediaService *service)
-
- Releases a media \a service requested with requestService().
-*/
-
-/*!
- \fn QtMediaServices::SupportEstimate QMediaServiceProvider::hasSupport(const QByteArray &serviceType, const QString &mimeType, const QStringList& codecs, int flags) const
-
- Returns how confident a media service provider is that is can provide a \a serviceType
- service that is able to play media of a specific \a mimeType that is encoded using the listed
- \a codecs while adhearing to constraints identified in \a flags.
-*/
-QtMediaServices::SupportEstimate QMediaServiceProvider::hasSupport(const QByteArray &serviceType,
- const QString &mimeType,
- const QStringList& codecs,
- int flags) const
-{
- Q_UNUSED(serviceType);
- Q_UNUSED(mimeType);
- Q_UNUSED(codecs);
- Q_UNUSED(flags);
-
- return QtMediaServices::MaybeSupported;
-}
-
-/*!
- \fn QStringList QMediaServiceProvider::supportedMimeTypes(const QByteArray &serviceType, int flags) const
-
- Returns a list of MIME types supported by the service provider for the specified \a serviceType.
-
- The resultant list is restricted to MIME types which can be supported given the constraints in \a flags.
-*/
-QStringList QMediaServiceProvider::supportedMimeTypes(const QByteArray &serviceType, int flags) const
-{
- Q_UNUSED(serviceType);
- Q_UNUSED(flags);
-
- return QStringList();
-}
-
-/*!
- Returns the list of devices related to \a service type.
-*/
-QList<QByteArray> QMediaServiceProvider::devices(const QByteArray &service) const
-{
- Q_UNUSED(service);
- return QList<QByteArray>();
-}
-
-/*!
- Returns the description of \a device related to \a serviceType,
- suitable to be displayed to user.
-*/
-QString QMediaServiceProvider::deviceDescription(const QByteArray &serviceType, const QByteArray &device)
-{
- Q_UNUSED(serviceType);
- Q_UNUSED(device);
- return QString();
-}
-
-
-#ifdef QT_BUILD_INTERNAL
-
-static QMediaServiceProvider *qt_defaultMediaServiceProvider = 0;
-
-/*!
- Sets a media service \a provider as the default.
-
- \internal
-*/
-void QMediaServiceProvider::setDefaultServiceProvider(QMediaServiceProvider *provider)
-{
- qt_defaultMediaServiceProvider = provider;
-}
-
-#endif
-
-/*!
- Returns a default provider of media services.
-*/
-QMediaServiceProvider *QMediaServiceProvider::defaultServiceProvider()
-{
-#ifdef QT_BUILD_INTERNAL
- return qt_defaultMediaServiceProvider != 0
- ? qt_defaultMediaServiceProvider
- : static_cast<QMediaServiceProvider *>(pluginProvider());
-#else
- return pluginProvider();
-#endif
-}
-
-/*!
- \class QMediaServiceProviderPlugin
- \preliminary
- \since 4.7
- \brief The QMediaServiceProviderPlugin class interface provides an interface for QMediaService
- plug-ins.
-
- A media service provider plug-in may implement one or more of
- QMediaServiceSupportedFormatsInterface, QMediaServiceSupportedDevicesInterface,
- and QMediaServiceFeaturesInterface to identify the features it supports.
-*/
-
-/*!
- \fn QMediaServiceProviderPlugin::keys() const
-
- Returns a list of keys for media services a plug-in can create.
-*/
-
-/*!
- \fn QMediaServiceProviderPlugin::create(const QString &key)
-
- Constructs a new instance of the QMediaService identified by \a key.
-
- The QMediaService returned must be destroyed with release().
-*/
-
-/*!
- \fn QMediaServiceProviderPlugin::release(QMediaService *service)
-
- Destroys a media \a service constructed with create().
-*/
-
-
-/*!
- \class QMediaServiceSupportedFormatsInterface
- \brief The QMediaServiceSupportedFormatsInterface class interface
- identifies if a media service plug-in supports a media format.
- \since 4.7
-
- A QMediaServiceProviderPlugin may implement this interface.
-*/
-
-/*!
- \fn QMediaServiceSupportedFormatsInterface::~QMediaServiceSupportedFormatsInterface()
-
- Destroys a media service supported formats interface.
-*/
-
-/*!
- \fn QMediaServiceSupportedFormatsInterface::hasSupport(const QString &mimeType, const QStringList& codecs) const
-
- Returns the level of support a media service plug-in has for a \a mimeType and set of \a codecs.
-*/
-
-/*!
- \fn QMediaServiceSupportedFormatsInterface::supportedMimeTypes() const
-
- Returns a list of MIME types supported by the media service plug-in.
-*/
-
-/*!
- \class QMediaServiceSupportedDevicesInterface
- \brief The QMediaServiceSupportedDevicesInterface class interface
- identifies the devices supported by a media service plug-in.
- \since 4.7
-
- A QMediaServiceProviderPlugin may implement this interface.
-*/
-
-/*!
- \fn QMediaServiceSupportedDevicesInterface::~QMediaServiceSupportedDevicesInterface()
-
- Destroys a media service supported devices interface.
-*/
-
-/*!
- \fn QMediaServiceSupportedDevicesInterface::devices(const QByteArray &service) const
-
- Returns a list of devices supported by a plug-in \a service.
-*/
-
-/*!
- \fn QMediaServiceSupportedDevicesInterface::deviceDescription(const QByteArray &service, const QByteArray &device)
-
- Returns a description of a \a device supported by a plug-in \a service.
-*/
-
-/*!
- \class QMediaServiceFeaturesInterface
- \brief The QMediaServiceFeaturesInterface class interface identifies
- features supported by a media service plug-in.
- \since 4.7
-
- A QMediaServiceProviderPlugin may implement this interface.
-*/
-
-/*!
- \fn QMediaServiceFeaturesInterface::~QMediaServiceFeaturesInterface()
-
- Destroys a media service features interface.
-*/
-/*!
- \fn QMediaServiceFeaturesInterface::supportedFeatures(const QByteArray &service) const
-
- Returns a set of features supported by a plug-in \a service.
-*/
-
-QT_END_NAMESPACE
-
-#include "moc_qmediaserviceprovider.cpp"
-#include "moc_qmediaserviceproviderplugin.cpp"
diff --git a/src/multimedia/mediaservices/base/qmediaserviceprovider.h b/src/multimedia/mediaservices/base/qmediaserviceprovider.h
deleted file mode 100644
index eeea5d24cf..0000000000
--- a/src/multimedia/mediaservices/base/qmediaserviceprovider.h
+++ /dev/null
@@ -1,174 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the QtMediaServices module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QMEDIASERVICEPROVIDER_H
-#define QMEDIASERVICEPROVIDER_H
-
-#include <QtCore/qobject.h>
-#include <QtCore/qshareddata.h>
-
-#include <QtMediaServices/qtmedianamespace.h>
-
-QT_BEGIN_HEADER
-
-QT_BEGIN_NAMESPACE
-
-QT_MODULE(Multimedia)
-
-
-class QMediaService;
-
-class QMediaServiceProviderHintPrivate;
-class Q_MEDIASERVICES_EXPORT QMediaServiceProviderHint
-{
-public:
- enum Type { Null, ContentType, Device, SupportedFeatures };
-
- enum Feature {
- LowLatencyPlayback = 0x01,
- RecordingSupport = 0x02,
- StreamPlayback = 0x04
- };
- Q_DECLARE_FLAGS(Features, Feature)
-
- QMediaServiceProviderHint();
- QMediaServiceProviderHint(const QString &mimeType, const QStringList& codecs);
- QMediaServiceProviderHint(const QByteArray &device);
- QMediaServiceProviderHint(Features features);
- QMediaServiceProviderHint(const QMediaServiceProviderHint &other);
- ~QMediaServiceProviderHint();
-
- QMediaServiceProviderHint& operator=(const QMediaServiceProviderHint &other);
-
- bool operator == (const QMediaServiceProviderHint &other) const;
- bool operator != (const QMediaServiceProviderHint &other) const;
-
- bool isNull() const;
-
- Type type() const;
-
- QString mimeType() const;
- QStringList codecs() const;
-
- QByteArray device() const;
-
- Features features() const;
-
- //to be extended, if necessary
-
-private:
- QSharedDataPointer<QMediaServiceProviderHintPrivate> d;
-};
-
-class Q_MEDIASERVICES_EXPORT QMediaServiceProvider : public QObject
-{
- Q_OBJECT
-
-public:
- virtual QMediaService* requestService(const QByteArray &type, const QMediaServiceProviderHint &hint = QMediaServiceProviderHint()) = 0;
- virtual void releaseService(QMediaService *service) = 0;
-
- virtual QtMediaServices::SupportEstimate hasSupport(const QByteArray &serviceType,
- const QString &mimeType,
- const QStringList& codecs,
- int flags = 0) const;
- virtual QStringList supportedMimeTypes(const QByteArray &serviceType, int flags = 0) const;
-
- virtual QList<QByteArray> devices(const QByteArray &serviceType) const;
- virtual QString deviceDescription(const QByteArray &serviceType, const QByteArray &device);
-
- static QMediaServiceProvider* defaultServiceProvider();
-
-#ifdef QT_BUILD_INTERNAL
- static void setDefaultServiceProvider(QMediaServiceProvider *provider);
-#endif
-};
-
-/*!
- Service with support for media playback
- Required Controls: QMediaPlayerControl
- Optional Controls: QMediaPlaylistControl, QAudioDeviceControl
- Video Output Controls (used by QWideoWidget and QGraphicsVideoItem):
- Required: QVideoOutputControl
- Optional: QVideoWindowControl, QVideoRendererControl, QVideoWidgetControl
-*/
-#define Q_MEDIASERVICE_MEDIAPLAYER "com.nokia.qt.mediaplayer"
-
-/*!
- Service with support for recording from audio sources
- Required Controls: QAudioDeviceControl
- Recording Controls (QMediaRecorder):
- Required: QMediaRecorderControl
- Recommended: QAudioEncoderControl
- Optional: QMediaContainerControl
-*/
-#define Q_MEDIASERVICE_AUDIOSOURCE "com.nokia.qt.audiosource"
-
-/*!
- Service with support for camera use.
- Required Controls: QCameraControl
- Optional Controls: QCameraExposureControl, QCameraFocusControl, QImageProcessingControl
- Still Capture Controls: QImageCaptureControl
- Recording Controls (QMediaRecorder):
- Required: QMediaRecorderControl
- Recommended: QAudioEncoderControl, QVideoEncoderControl, QMediaContainerControl
- Viewfinder Video Output Controls (used by QWideoWidget and QGraphicsVideoItem):
- Required: QVideoOutputControl
- Optional: QVideoWindowControl, QVideoRendererControl, QVideoWidgetControl
-*/
-#define Q_MEDIASERVICE_CAMERA "com.nokia.qt.camera"
-
-/*!
- Service with support for radio tuning.
- Required Controls: QRadioTunerControl
- Recording Controls (Optional, used by QMediaRecorder):
- Required: QMediaRecorderControl
- Recommended: QAudioEncoderControl
- Optional: QMediaContainerControl
-*/
-#define Q_MEDIASERVICE_RADIO "com.nokia.qt.radio"
-
-
-QT_END_NAMESPACE
-
-QT_END_HEADER
-
-#endif // QMEDIASERVICEPROVIDER_H
diff --git a/src/multimedia/mediaservices/base/qmediaserviceproviderplugin.h b/src/multimedia/mediaservices/base/qmediaserviceproviderplugin.h
deleted file mode 100644
index ca25f91c51..0000000000
--- a/src/multimedia/mediaservices/base/qmediaserviceproviderplugin.h
+++ /dev/null
@@ -1,125 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the QtMediaServices module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QMEDIASERVICEPROVIDERPLUGIN_H
-#define QMEDIASERVICEPROVIDERPLUGIN_H
-
-#include <QtCore/qstringlist.h>
-#include <QtCore/qplugin.h>
-#include <QtCore/qfactoryinterface.h>
-
-#include <QtMediaServices/qmediaserviceprovider.h>
-
-#ifdef Q_MOC_RUN
-# pragma Q_MOC_EXPAND_MACROS
-#endif
-
-QT_BEGIN_HEADER
-
-QT_BEGIN_NAMESPACE
-
-QT_MODULE(Multimedia)
-
-class QMediaService;
-
-
-struct Q_MEDIASERVICES_EXPORT QMediaServiceProviderFactoryInterface : public QFactoryInterface
-{
- virtual QStringList keys() const = 0;
- virtual QMediaService* create(QString const& key) = 0;
- virtual void release(QMediaService *service) = 0;
-};
-
-#define QMediaServiceProviderFactoryInterface_iid \
- "com.nokia.Qt.QMediaServiceProviderFactoryInterface/1.0"
-Q_DECLARE_INTERFACE(QMediaServiceProviderFactoryInterface, QMediaServiceProviderFactoryInterface_iid)
-
-
-struct Q_MEDIASERVICES_EXPORT QMediaServiceSupportedFormatsInterface
-{
- virtual ~QMediaServiceSupportedFormatsInterface() {}
- virtual QtMediaServices::SupportEstimate hasSupport(const QString &mimeType, const QStringList& codecs) const = 0;
- virtual QStringList supportedMimeTypes() const = 0;
-};
-
-#define QMediaServiceSupportedFormatsInterface_iid \
- "com.nokia.Qt.QMediaServiceSupportedFormatsInterface/1.0"
-Q_DECLARE_INTERFACE(QMediaServiceSupportedFormatsInterface, QMediaServiceSupportedFormatsInterface_iid)
-
-
-struct Q_MEDIASERVICES_EXPORT QMediaServiceSupportedDevicesInterface
-{
- virtual ~QMediaServiceSupportedDevicesInterface() {}
- virtual QList<QByteArray> devices(const QByteArray &service) const = 0;
- virtual QString deviceDescription(const QByteArray &service, const QByteArray &device) = 0;
-};
-
-#define QMediaServiceSupportedDevicesInterface_iid \
- "com.nokia.Qt.QMediaServiceSupportedDevicesInterface/1.0"
-Q_DECLARE_INTERFACE(QMediaServiceSupportedDevicesInterface, QMediaServiceSupportedDevicesInterface_iid)
-
-
-struct Q_MEDIASERVICES_EXPORT QMediaServiceFeaturesInterface
-{
- virtual ~QMediaServiceFeaturesInterface() {}
- virtual QMediaServiceProviderHint::Features supportedFeatures(const QByteArray &service) const = 0;
-};
-
-#define QMediaServiceFeaturesInterface_iid \
- "com.nokia.Qt.QMediaServiceFeaturesInterface/1.0"
-Q_DECLARE_INTERFACE(QMediaServiceFeaturesInterface, QMediaServiceFeaturesInterface_iid)
-
-class Q_MEDIASERVICES_EXPORT QMediaServiceProviderPlugin : public QObject, public QMediaServiceProviderFactoryInterface
-{
- Q_OBJECT
- Q_INTERFACES(QMediaServiceProviderFactoryInterface:QFactoryInterface)
-
-public:
- virtual QStringList keys() const = 0;
- virtual QMediaService* create(const QString& key) = 0;
- virtual void release(QMediaService *service) = 0;
-};
-
-QT_END_NAMESPACE
-
-QT_END_HEADER
-
-#endif // QMEDIASERVICEPROVIDERPLUGIN_H
diff --git a/src/multimedia/mediaservices/base/qmediatimerange.cpp b/src/multimedia/mediaservices/base/qmediatimerange.cpp
deleted file mode 100644
index 2dba20c5d7..0000000000
--- a/src/multimedia/mediaservices/base/qmediatimerange.cpp
+++ /dev/null
@@ -1,708 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the QtMediaServices module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include <QtMediaServices/qmediatimerange.h>
-
-
-QT_BEGIN_NAMESPACE
-
-/*!
- \class QMediaTimeInterval
- \brief The QMediaTimeInterval class represents a time interval with integer precision.
- \ingroup multimedia
- \since 4.7
-
- An interval is specified by an inclusive start() and end() time.
- These must be set in the constructor, as this is an immutable class.
- The specific units of time represented by the class have not been defined -
- it is suitable for any times which can be represented by a signed 64 bit integer.
-
- The isNormal() method determines if a time interval is normal
- (a normal time interval has start() <= end()). An abnormal interval can be converted
- in to a normal interval by calling the normalized() method.
-
- The contains() method determines if a specified time lies within
- the time interval.
-
- The translated() method returns a time interval which has been translated
- forwards or backwards through time by a specified offset.
-
- \sa QMediaTimeRange
-*/
-
-/*!
- \fn QMediaTimeInterval::QMediaTimeInterval()
-
- Constructs an empty interval.
-*/
-QMediaTimeInterval::QMediaTimeInterval()
- : s(0)
- , e(0)
-{
-
-}
-
-/*!
- \fn QMediaTimeInterval::QMediaTimeInterval(qint64 start, qint64 end)
-
- Constructs an interval with the specified \a start and \a end times.
-*/
-QMediaTimeInterval::QMediaTimeInterval(qint64 start, qint64 end)
- : s(start)
- , e(end)
-{
-
-}
-
-/*!
- \fn QMediaTimeInterval::QMediaTimeInterval(const QMediaTimeInterval &other)
-
- Constructs an interval by taking a copy of \a other.
-*/
-QMediaTimeInterval::QMediaTimeInterval(const QMediaTimeInterval &other)
- : s(other.s)
- , e(other.e)
-{
-
-}
-
-/*!
- \fn QMediaTimeInterval::start() const
-
- Returns the start time of the interval.
-
- \sa end()
-*/
-qint64 QMediaTimeInterval::start() const
-{
- return s;
-}
-
-/*!
- \fn QMediaTimeInterval::end() const
-
- Returns the end time of the interval.
-
- \sa start()
-*/
-qint64 QMediaTimeInterval::end() const
-{
- return e;
-}
-
-/*!
- \fn QMediaTimeInterval::contains(qint64 time) const
-
- Returns true if the time interval contains the specified \a time.
- That is, start() <= time <= end().
-*/
-bool QMediaTimeInterval::contains(qint64 time) const
-{
- return isNormal() ? (s <= time && time <= e)
- : (e <= time && time <= s);
-}
-
-/*!
- \fn QMediaTimeInterval::isNormal() const
-
- Returns true if this time interval is normal.
- A normal time interval has start() <= end().
-
- \sa normalized()
-*/
-bool QMediaTimeInterval::isNormal() const
-{
- return s <= e;
-}
-
-/*!
- \fn QMediaTimeInterval::normalized() const
-
- Returns a normalized version of this interval.
-
- If the start() time of the interval is greater than the end() time,
- then the returned interval has the start and end times swapped.
-*/
-QMediaTimeInterval QMediaTimeInterval::normalized() const
-{
- if(s > e)
- return QMediaTimeInterval(e, s);
-
- return *this;
-}
-
-/*!
- \fn QMediaTimeInterval::translated(qint64 offset) const
-
- Returns a copy of this time interval, translated by a value of \a offset.
- An interval can be moved forward through time with a positive offset, or backward
- through time with a negative offset.
-*/
-QMediaTimeInterval QMediaTimeInterval::translated(qint64 offset) const
-{
- return QMediaTimeInterval(s + offset, e + offset);
-}
-
-/*!
- \fn operator==(const QMediaTimeInterval &a, const QMediaTimeInterval &b)
- \relates QMediaTimeRange
-
- Returns true if \a a is exactly equal to \a b.
-*/
-bool operator==(const QMediaTimeInterval &a, const QMediaTimeInterval &b)
-{
- return a.start() == b.start() && a.end() == b.end();
-}
-
-/*!
- \fn operator!=(const QMediaTimeInterval &a, const QMediaTimeInterval &b)
- \relates QMediaTimeRange
-
- Returns true if \a a is not exactly equal to \a b.
-*/
-bool operator!=(const QMediaTimeInterval &a, const QMediaTimeInterval &b)
-{
- return a.start() != b.start() || a.end() != b.end();
-}
-
-class QMediaTimeRangePrivate : public QSharedData
-{
-public:
-
- QMediaTimeRangePrivate();
- QMediaTimeRangePrivate(const QMediaTimeRangePrivate &other);
- QMediaTimeRangePrivate(const QMediaTimeInterval &interval);
-
- QList<QMediaTimeInterval> intervals;
-
- void addInterval(const QMediaTimeInterval &interval);
- void removeInterval(const QMediaTimeInterval &interval);
-};
-
-QMediaTimeRangePrivate::QMediaTimeRangePrivate()
- : QSharedData()
-{
-
-}
-
-QMediaTimeRangePrivate::QMediaTimeRangePrivate(const QMediaTimeRangePrivate &other)
- : QSharedData()
- , intervals(other.intervals)
-{
-
-}
-
-QMediaTimeRangePrivate::QMediaTimeRangePrivate(const QMediaTimeInterval &interval)
- : QSharedData()
-{
- if(interval.isNormal())
- intervals << interval;
-}
-
-void QMediaTimeRangePrivate::addInterval(const QMediaTimeInterval &interval)
-{
- // Handle normalized intervals only
- if(!interval.isNormal())
- return;
-
- // Find a place to insert the interval
- int i;
- for (i = 0; i < intervals.count(); i++) {
- // Insert before this element
- if(interval.s < intervals[i].s) {
- intervals.insert(i, interval);
- break;
- }
- }
-
- // Interval needs to be added to the end of the list
- if (i == intervals.count())
- intervals.append(interval);
-
- // Do we need to correct the element before us?
- if(i > 0 && intervals[i - 1].e >= interval.s - 1)
- i--;
-
- // Merge trailing ranges
- while (i < intervals.count() - 1
- && intervals[i].e >= intervals[i + 1].s - 1) {
- intervals[i].e = qMax(intervals[i].e, intervals[i + 1].e);
- intervals.removeAt(i + 1);
- }
-}
-
-void QMediaTimeRangePrivate::removeInterval(const QMediaTimeInterval &interval)
-{
- // Handle normalized intervals only
- if(!interval.isNormal())
- return;
-
- for (int i = 0; i < intervals.count(); i++) {
- QMediaTimeInterval r = intervals[i];
-
- if (r.e < interval.s) {
- // Before the removal interval
- continue;
- } else if (interval.e < r.s) {
- // After the removal interval - stop here
- break;
- } else if (r.s < interval.s && interval.e < r.e) {
- // Split case - a single range has a chunk removed
- intervals[i].e = interval.s -1;
- addInterval(QMediaTimeInterval(interval.e + 1, r.e));
- break;
- } else if (r.s < interval.s) {
- // Trimming Tail Case
- intervals[i].e = interval.s - 1;
- } else if (interval.e < r.e) {
- // Trimming Head Case - we can stop after this
- intervals[i].s = interval.e + 1;
- break;
- } else {
- // Complete coverage case
- intervals.removeAt(i);
- --i;
- }
- }
-}
-
-/*!
- \class QMediaTimeRange
- \brief The QMediaTimeRange class represents a set of zero or more disjoint
- time intervals.
- \ingroup multimedia
- \since 4.7
-
- \reentrant
-
- The earliestTime(), latestTime(), intervals() and isEmpty()
- methods are used to get information about the current time range.
-
- The addInterval(), removeInterval() and clear() methods are used to modify
- the current time range.
-
- When adding or removing intervals from the time range, existing intervals
- within the range may be expanded, trimmed, deleted, merged or split to ensure
- that all intervals within the time range remain distinct and disjoint. As a
- consequence, all intervals added or removed from a time range must be
- \l{QMediaTimeInterval::isNormal()}{normal}.
-
- \sa QMediaTimeInterval
-*/
-
-/*!
- \fn QMediaTimeRange::QMediaTimeRange()
-
- Constructs an empty time range.
-*/
-QMediaTimeRange::QMediaTimeRange()
- : d(new QMediaTimeRangePrivate)
-{
-
-}
-
-/*!
- \fn QMediaTimeRange::QMediaTimeRange(qint64 start, qint64 end)
-
- Constructs a time range that contains an initial interval from
- \a start to \a end inclusive.
-
- If the interval is not \l{QMediaTimeInterval::isNormal()}{normal},
- the resulting time range will be empty.
-
- \sa addInterval()
-*/
-QMediaTimeRange::QMediaTimeRange(qint64 start, qint64 end)
- : d(new QMediaTimeRangePrivate(QMediaTimeInterval(start, end)))
-{
-
-}
-
-/*!
- \fn QMediaTimeRange::QMediaTimeRange(const QMediaTimeInterval &interval)
-
- Constructs a time range that contains an intitial interval, \a interval.
-
- If \a interval is not \l{QMediaTimeInterval::isNormal()}{normal},
- the resulting time range will be empty.
-
- \sa addInterval()
-*/
-QMediaTimeRange::QMediaTimeRange(const QMediaTimeInterval &interval)
- : d(new QMediaTimeRangePrivate(interval))
-{
-
-}
-
-/*!
- \fn QMediaTimeRange::QMediaTimeRange(const QMediaTimeRange &range)
-
- Constructs a time range by copying another time \a range.
-*/
-QMediaTimeRange::QMediaTimeRange(const QMediaTimeRange &range)
- : d(range.d)
-{
-
-}
-
-/*!
- \fn QMediaTimeRange::~QMediaTimeRange()
-
- Destructor.
-*/
-QMediaTimeRange::~QMediaTimeRange()
-{
-
-}
-
-/*!
- \fn QMediaTimeRange::operator=(const QMediaTimeRange &other)
-
- Takes a copy of the \a other time range and returns itself.
-*/
-QMediaTimeRange &QMediaTimeRange::operator=(const QMediaTimeRange &other)
-{
- d = other.d;
- return *this;
-}
-
-/*!
- \fn QMediaTimeRange::operator=(const QMediaTimeInterval &interval)
-
- Sets the time range to a single continuous interval, \a interval.
-*/
-QMediaTimeRange &QMediaTimeRange::operator=(const QMediaTimeInterval &interval)
-{
- d = new QMediaTimeRangePrivate(interval);
- return *this;
-}
-
-/*!
- \fn QMediaTimeRange::earliestTime() const
-
- Returns the earliest time within the time range.
-
- For empty time ranges, this value is equal to zero.
-
- \sa latestTime()
-*/
-qint64 QMediaTimeRange::earliestTime() const
-{
- if (!d->intervals.isEmpty())
- return d->intervals[0].s;
-
- return 0;
-}
-
-/*!
- \fn QMediaTimeRange::latestTime() const
-
- Returns the latest time within the time range.
-
- For empty time ranges, this value is equal to zero.
-
- \sa earliestTime()
-*/
-qint64 QMediaTimeRange::latestTime() const
-{
- if (!d->intervals.isEmpty())
- return d->intervals[d->intervals.count() - 1].e;
-
- return 0;
-}
-
-/*!
- \fn QMediaTimeRange::addInterval(qint64 start, qint64 end)
- \overload
-
- Adds the interval specified by \a start and \a end
- to the time range.
-
- \sa addInterval()
-*/
-void QMediaTimeRange::addInterval(qint64 start, qint64 end)
-{
- d->addInterval(QMediaTimeInterval(start, end));
-}
-
-/*!
- \fn QMediaTimeRange::addInterval(const QMediaTimeInterval &interval)
-
- Adds the specified \a interval to the time range.
-
- Adding intervals which are not \l{QMediaTimeInterval::isNormal()}{normal}
- is invalid, and will be ignored.
-
- If the specified interval is adjacent to, or overlaps existing
- intervals within the time range, these intervals will be merged.
-
- This operation takes \l{linear time}
-
- \sa removeInterval()
-*/
-void QMediaTimeRange::addInterval(const QMediaTimeInterval &interval)
-{
- d->addInterval(interval);
-}
-
-/*!
- \fn QMediaTimeRange::addTimeRange(const QMediaTimeRange &range)
-
- Adds each of the intervals in \a range to this time range.
-
- Equivalent to calling addInterval() for each interval in \a range.
-*/
-void QMediaTimeRange::addTimeRange(const QMediaTimeRange &range)
-{
- foreach(const QMediaTimeInterval &i, range.intervals()) {
- d->addInterval(i);
- }
-}
-
-/*!
- \fn QMediaTimeRange::removeInterval(qint64 start, qint64 end)
- \overload
-
- Removes the interval specified by \a start and \a end
- from the time range.
-
- \sa removeInterval()
-*/
-void QMediaTimeRange::removeInterval(qint64 start, qint64 end)
-{
- d->removeInterval(QMediaTimeInterval(start, end));
-}
-
-/*!
- \fn QMediaTimeRange::removeInterval(const QMediaTimeInterval &interval)
-
- Removes the specified \a interval from the time range.
-
- Removing intervals which are not \l{QMediaTimeInterval::isNormal()}{normal}
- is invalid, and will be ignored.
-
- Intervals within the time range will be trimmed, split or deleted
- such that no intervals within the time range include any part of the
- target interval.
-
- This operation takes \l{linear time}
-
- \sa addInterval()
-*/
-void QMediaTimeRange::removeInterval(const QMediaTimeInterval &interval)
-{
- d->removeInterval(interval);
-}
-
-/*!
- \fn QMediaTimeRange::removeTimeRange(const QMediaTimeRange &range)
-
- Removes each of the intervals in \a range from this time range.
-
- Equivalent to calling removeInterval() for each interval in \a range.
-*/
-void QMediaTimeRange::removeTimeRange(const QMediaTimeRange &range)
-{
- foreach(const QMediaTimeInterval &i, range.intervals()) {
- d->removeInterval(i);
- }
-}
-
-/*!
- \fn QMediaTimeRange::operator+=(const QMediaTimeRange &other)
-
- Adds each interval in \a other to the time range and returns the result.
-*/
-QMediaTimeRange& QMediaTimeRange::operator+=(const QMediaTimeRange &other)
-{
- addTimeRange(other);
- return *this;
-}
-
-/*!
- \fn QMediaTimeRange::operator+=(const QMediaTimeInterval &interval)
-
- Adds the specified \a interval to the time range and returns the result.
-*/
-QMediaTimeRange& QMediaTimeRange::operator+=(const QMediaTimeInterval &interval)
-{
- addInterval(interval);
- return *this;
-}
-
-/*!
- \fn QMediaTimeRange::operator-=(const QMediaTimeRange &other)
-
- Removes each interval in \a other from the time range and returns the result.
-*/
-QMediaTimeRange& QMediaTimeRange::operator-=(const QMediaTimeRange &other)
-{
- removeTimeRange(other);
- return *this;
-}
-
-/*!
- \fn QMediaTimeRange::operator-=(const QMediaTimeInterval &interval)
-
- Removes the specified \a interval from the time range and returns the result.
-*/
-QMediaTimeRange& QMediaTimeRange::operator-=(const QMediaTimeInterval &interval)
-{
- removeInterval(interval);
- return *this;
-}
-
-/*!
- \fn QMediaTimeRange::clear()
-
- Removes all intervals from the time range.
-
- \sa removeInterval()
-*/
-void QMediaTimeRange::clear()
-{
- d->intervals.clear();
-}
-
-/*!
- \fn QMediaTimeRange::intervals() const
-
- Returns the list of intervals covered by this time range.
-*/
-QList<QMediaTimeInterval> QMediaTimeRange::intervals() const
-{
- return d->intervals;
-}
-
-/*!
- \fn QMediaTimeRange::isEmpty() const
-
- Returns true if there are no intervals within the time range.
-
- \sa intervals()
-*/
-bool QMediaTimeRange::isEmpty() const
-{
- return d->intervals.isEmpty();
-}
-
-/*!
- \fn QMediaTimeRange::isContinuous() const
-
- Returns true if the time range consists of a continuous interval.
- That is, there is one or fewer disjoint intervals within the time range.
-*/
-bool QMediaTimeRange::isContinuous() const
-{
- return (d->intervals.count() <= 1);
-}
-
-/*!
- \fn QMediaTimeRange::contains(qint64 time) const
-
- Returns true if the specified \a time lies within the time range.
-*/
-bool QMediaTimeRange::contains(qint64 time) const
-{
- for (int i = 0; i < d->intervals.count(); i++) {
- if (d->intervals[i].contains(time))
- return true;
-
- if (time < d->intervals[i].s)
- break;
- }
-
- return false;
-}
-
-/*!
- \fn operator==(const QMediaTimeRange &a, const QMediaTimeRange &b)
- \relates QMediaTimeRange
-
- Returns true if all intervals in \a a are present in \a b.
-*/
-bool operator==(const QMediaTimeRange &a, const QMediaTimeRange &b)
-{
- if (a.intervals().count() != b.intervals().count())
- return false;
-
- for (int i = 0; i < a.intervals().count(); i++)
- {
- if(a.intervals()[i] != b.intervals()[i])
- return false;
- }
-
- return true;
-}
-
-/*!
- \fn operator!=(const QMediaTimeRange &a, const QMediaTimeRange &b)
- \relates QMediaTimeRange
-
- Returns true if one or more intervals in \a a are not present in \a b.
-*/
-bool operator!=(const QMediaTimeRange &a, const QMediaTimeRange &b)
-{
- return !(a == b);
-}
-
-/*!
- \fn operator+(const QMediaTimeRange &r1, const QMediaTimeRange &r2)
-
- Returns a time range containing the union between \a r1 and \a r2.
- */
-QMediaTimeRange operator+(const QMediaTimeRange &r1, const QMediaTimeRange &r2)
-{
- return (QMediaTimeRange(r1) += r2);
-}
-
-/*!
- \fn operator-(const QMediaTimeRange &r1, const QMediaTimeRange &r2)
-
- Returns a time range containing \a r2 subtracted from \a r1.
- */
-QMediaTimeRange operator-(const QMediaTimeRange &r1, const QMediaTimeRange &r2)
-{
- return (QMediaTimeRange(r1) -= r2);
-}
-
-QT_END_NAMESPACE
-
diff --git a/src/multimedia/mediaservices/base/qmediatimerange.h b/src/multimedia/mediaservices/base/qmediatimerange.h
deleted file mode 100644
index 5983db2f4c..0000000000
--- a/src/multimedia/mediaservices/base/qmediatimerange.h
+++ /dev/null
@@ -1,135 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the QtMediaServices module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QMEDIATIMERANGE_H
-#define QMEDIATIMERANGE_H
-
-#include <QtCore/qshareddata.h>
-#include <QtMediaServices/qtmedianamespace.h>
-
-
-QT_BEGIN_HEADER
-
-QT_BEGIN_NAMESPACE
-
-QT_MODULE(Multimedia)
-
-class QMediaTimeRangePrivate;
-
-class Q_MEDIASERVICES_EXPORT QMediaTimeInterval
-{
-public:
- QMediaTimeInterval();
- QMediaTimeInterval(qint64 start, qint64 end);
- QMediaTimeInterval(const QMediaTimeInterval&);
-
- qint64 start() const;
- qint64 end() const;
-
- bool contains(qint64 time) const;
-
- bool isNormal() const;
- QMediaTimeInterval normalized() const;
- QMediaTimeInterval translated(qint64 offset) const;
-
-private:
- friend class QMediaTimeRangePrivate;
- friend class QMediaTimeRange;
-
- qint64 s;
- qint64 e;
-};
-
-Q_MEDIASERVICES_EXPORT bool operator==(const QMediaTimeInterval&, const QMediaTimeInterval&);
-Q_MEDIASERVICES_EXPORT bool operator!=(const QMediaTimeInterval&, const QMediaTimeInterval&);
-
-class Q_MEDIASERVICES_EXPORT QMediaTimeRange
-{
-public:
-
- QMediaTimeRange();
- QMediaTimeRange(qint64 start, qint64 end);
- QMediaTimeRange(const QMediaTimeInterval&);
- QMediaTimeRange(const QMediaTimeRange &range);
- ~QMediaTimeRange();
-
- QMediaTimeRange &operator=(const QMediaTimeRange&);
- QMediaTimeRange &operator=(const QMediaTimeInterval&);
-
- qint64 earliestTime() const;
- qint64 latestTime() const;
-
- QList<QMediaTimeInterval> intervals() const;
- bool isEmpty() const;
- bool isContinuous() const;
-
- bool contains(qint64 time) const;
-
- void addInterval(qint64 start, qint64 end);
- void addInterval(const QMediaTimeInterval &interval);
- void addTimeRange(const QMediaTimeRange&);
-
- void removeInterval(qint64 start, qint64 end);
- void removeInterval(const QMediaTimeInterval &interval);
- void removeTimeRange(const QMediaTimeRange&);
-
- QMediaTimeRange& operator+=(const QMediaTimeRange&);
- QMediaTimeRange& operator+=(const QMediaTimeInterval&);
- QMediaTimeRange& operator-=(const QMediaTimeRange&);
- QMediaTimeRange& operator-=(const QMediaTimeInterval&);
-
- void clear();
-
-private:
- QSharedDataPointer<QMediaTimeRangePrivate> d;
-};
-
-Q_MEDIASERVICES_EXPORT bool operator==(const QMediaTimeRange&, const QMediaTimeRange&);
-Q_MEDIASERVICES_EXPORT bool operator!=(const QMediaTimeRange&, const QMediaTimeRange&);
-Q_MEDIASERVICES_EXPORT QMediaTimeRange operator+(const QMediaTimeRange&, const QMediaTimeRange&);
-Q_MEDIASERVICES_EXPORT QMediaTimeRange operator-(const QMediaTimeRange&, const QMediaTimeRange&);
-
-
-QT_END_NAMESPACE
-
-QT_END_HEADER
-
-#endif // QMEDIATIMERANGE_H
diff --git a/src/multimedia/mediaservices/base/qmetadatacontrol.cpp b/src/multimedia/mediaservices/base/qmetadatacontrol.cpp
deleted file mode 100644
index 8bfec7ec2f..0000000000
--- a/src/multimedia/mediaservices/base/qmetadatacontrol.cpp
+++ /dev/null
@@ -1,185 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the QtMediaServices module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include <QtMediaServices/qmetadatacontrol.h>
-#include "qmediacontrol_p.h"
-
-
-QT_BEGIN_NAMESPACE
-
-
-/*!
- \class QMetaDataControl
- \ingroup multimedia-serv
- \since 4.7
- \preliminary
- \brief The QMetaDataControl class provides access to the meta-data of a
- QMediaService's media.
-
- If a QMediaService can provide read or write access to the meta-data of
- its current media it will implement QMetaDataControl. This control
- provides functions for both retrieving and setting meta-data values.
- Meta-data may be addressed by the well defined keys in the
- QtMediaServices::MetaData enumeration using the metaData() functions, or by
- string keys using the extendedMetaData() functions.
-
- The functionality provided by this control is exposed to application
- code by the meta-data members of QMediaObject, and so meta-data access
- is potentially available in any of the media object classes. Any media
- service may implement QMetaDataControl.
-
- The interface name of QMetaDataControl is \c com.nokia.Qt.QMetaDataControl/1.0 as
- defined in QMetaDataControl_iid.
-
- \sa QMediaService::control(), QMediaObject
-*/
-
-/*!
- \macro QMetaDataControl_iid
-
- \c com.nokia.Qt.QMetaDataControl/1.0
-
- Defines the interface name of the QMetaDataControl class.
-
- \relates QMetaDataControl
-*/
-
-/*!
- Construct a QMetaDataControl with \a parent. This class is meant as a base class
- for service specific meta data providers so this constructor is protected.
-*/
-
-QMetaDataControl::QMetaDataControl(QObject *parent):
- QMediaControl(*new QMediaControlPrivate, parent)
-{
-}
-
-/*!
- Destroy the meta-data object.
-*/
-
-QMetaDataControl::~QMetaDataControl()
-{
-}
-
-/*!
- \fn bool QMetaDataControl::isMetaDataAvailable() const
-
- Identifies if meta-data is available from a media service.
-
- Returns true if the meta-data is available and false otherwise.
-*/
-
-/*!
- \fn bool QMetaDataControl::isWritable() const
-
- Identifies if a media service's meta-data can be edited.
-
- Returns true if the meta-data is writable and false otherwise.
-*/
-
-/*!
- \fn QVariant QMetaDataControl::metaData(QtMediaServices::MetaData key) const
-
- Returns the meta-data for the given \a key.
-*/
-
-/*!
- \fn void QMetaDataControl::setMetaData(QtMediaServices::MetaData key, const QVariant &value)
-
- Sets the \a value of the meta-data element with the given \a key.
-*/
-
-/*!
- \fn QMetaDataControl::availableMetaData() const
-
- Returns a list of keys there is meta-data available for.
-*/
-
-/*!
- \fn QMetaDataControl::extendedMetaData(const QString &key) const
-
- Returns the metaData for an abitrary string \a key.
-
- The valid selection of keys for extended meta-data is determined by the provider and the meaning
- and type may differ between providers.
-*/
-
-/*!
- \fn QMetaDataControl::setExtendedMetaData(const QString &key, const QVariant &value)
-
- Change the value of the meta-data element with an abitrary string \a key to \a value.
-
- The valid selection of keys for extended meta-data is determined by the provider and the meaning
- and type may differ between providers.
-*/
-
-/*!
- \fn QMetaDataControl::availableExtendedMetaData() const
-
- Returns a list of keys there is extended meta-data available for.
-*/
-
-
-/*!
- \fn void QMetaDataControl::metaDataChanged()
-
- Signal the changes of meta-data.
-*/
-
-/*!
- \fn void QMetaDataControl::metaDataAvailableChanged(bool available)
-
- Signal the availability of meta-data has changed, \a available will
- be true if the multimedia object has meta-data.
-*/
-
-/*!
- \fn void QMetaDataControl::writableChanged(bool writable)
-
- Signal a change in the writable status of meta-data, \a writable will be
- true if meta-data elements can be added or adjusted.
-*/
-
-#include "moc_qmetadatacontrol.cpp"
-
-QT_END_NAMESPACE
-
diff --git a/src/multimedia/mediaservices/base/qmetadatacontrol.h b/src/multimedia/mediaservices/base/qmetadatacontrol.h
deleted file mode 100644
index 48206facd8..0000000000
--- a/src/multimedia/mediaservices/base/qmetadatacontrol.h
+++ /dev/null
@@ -1,92 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the QtMediaServices module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QMETADATACONTROL_H
-#define QMETADATACONTROL_H
-
-#include <QtMediaServices/qmediacontrol.h>
-#include <QtMediaServices/qmediaobject.h>
-#include <QtMediaServices/qmediaresource.h>
-
-
-QT_BEGIN_HEADER
-
-QT_BEGIN_NAMESPACE
-
-QT_MODULE(Multimedia)
-
-class Q_MEDIASERVICES_EXPORT QMetaDataControl : public QMediaControl
-{
- Q_OBJECT
-
-public:
- ~QMetaDataControl();
-
- virtual bool isWritable() const = 0;
- virtual bool isMetaDataAvailable() const = 0;
-
- virtual QVariant metaData(QtMediaServices::MetaData key) const = 0;
- virtual void setMetaData(QtMediaServices::MetaData key, const QVariant &value) = 0;
- virtual QList<QtMediaServices::MetaData> availableMetaData() const = 0;
-
- virtual QVariant extendedMetaData(const QString &key) const = 0;
- virtual void setExtendedMetaData(const QString &key, const QVariant &value) = 0;
- virtual QStringList availableExtendedMetaData() const = 0;
-
-Q_SIGNALS:
- void metaDataChanged();
-
- void writableChanged(bool writable);
- void metaDataAvailableChanged(bool available);
-
-protected:
- QMetaDataControl(QObject *parent = 0);
-};
-
-#define QMetaDataControl_iid "com.nokia.Qt.QMetaDataControl/1.0"
-Q_MEDIA_DECLARE_CONTROL(QMetaDataControl, QMetaDataControl_iid)
-
-QT_END_NAMESPACE
-
-QT_END_HEADER
-
-
-#endif // QMETADATAPROVIDER_H
diff --git a/src/multimedia/mediaservices/base/qpaintervideosurface.cpp b/src/multimedia/mediaservices/base/qpaintervideosurface.cpp
deleted file mode 100644
index 302e7726af..0000000000
--- a/src/multimedia/mediaservices/base/qpaintervideosurface.cpp
+++ /dev/null
@@ -1,1565 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the QtMediaServices module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "qpaintervideosurface_p.h"
-#include "qpaintervideosurface_mac_p.h"
-
-#include <qmath.h>
-
-#include <qpainter.h>
-#include <qvariant.h>
-#include <QtMultimedia/qvideosurfaceformat.h>
-
-#if !defined(QT_NO_OPENGL) && !defined(QT_OPENGL_ES_1_CL) && !defined(QT_OPENGL_ES_1)
-#include <qglshaderprogram.h>
-#endif
-
-#include <QtDebug>
-
-
-QT_BEGIN_NAMESPACE
-
-QVideoSurfacePainter::~QVideoSurfacePainter()
-{
-}
-
-class QVideoSurfaceRasterPainter : public QVideoSurfacePainter
-{
-public:
- QVideoSurfaceRasterPainter();
-
- QList<QVideoFrame::PixelFormat> supportedPixelFormats(
- QAbstractVideoBuffer::HandleType handleType) const;
-
- bool isFormatSupported(
- const QVideoSurfaceFormat &format, QVideoSurfaceFormat *similar) const;
-
- QAbstractVideoSurface::Error start(const QVideoSurfaceFormat &format);
- void stop();
-
- QAbstractVideoSurface::Error setCurrentFrame(const QVideoFrame &frame);
-
- QAbstractVideoSurface::Error paint(
- const QRectF &target, QPainter *painter, const QRectF &source);
-
- void updateColors(int brightness, int contrast, int hue, int saturation);
-
-private:
- QList<QVideoFrame::PixelFormat> m_imagePixelFormats;
- QVideoFrame m_frame;
- QSize m_imageSize;
- QImage::Format m_imageFormat;
- QVideoSurfaceFormat::Direction m_scanLineDirection;
-};
-
-QVideoSurfaceRasterPainter::QVideoSurfaceRasterPainter()
- : m_imageFormat(QImage::Format_Invalid)
- , m_scanLineDirection(QVideoSurfaceFormat::TopToBottom)
-{
- m_imagePixelFormats
- << QVideoFrame::Format_RGB32
-#ifndef QT_OPENGL_ES // The raster formats should be a subset of the GL formats.
- << QVideoFrame::Format_RGB24
-#endif
- << QVideoFrame::Format_ARGB32
- << QVideoFrame::Format_RGB565;
-}
-
-QList<QVideoFrame::PixelFormat> QVideoSurfaceRasterPainter::supportedPixelFormats(
- QAbstractVideoBuffer::HandleType handleType) const
-{
- return handleType == QAbstractVideoBuffer::NoHandle
- ? m_imagePixelFormats
- : QList<QVideoFrame::PixelFormat>();
-}
-
-bool QVideoSurfaceRasterPainter::isFormatSupported(
- const QVideoSurfaceFormat &format, QVideoSurfaceFormat *) const
-{
- return format.handleType() == QAbstractVideoBuffer::NoHandle
- && m_imagePixelFormats.contains(format.pixelFormat())
- && !format.frameSize().isEmpty();
-}
-
-QAbstractVideoSurface::Error QVideoSurfaceRasterPainter::start(const QVideoSurfaceFormat &format)
-{
- m_frame = QVideoFrame();
- m_imageFormat = QVideoFrame::imageFormatFromPixelFormat(format.pixelFormat());
- m_imageSize = format.frameSize();
- m_scanLineDirection = format.scanLineDirection();
-
- return format.handleType() == QAbstractVideoBuffer::NoHandle
- && m_imageFormat != QImage::Format_Invalid
- && !m_imageSize.isEmpty()
- ? QAbstractVideoSurface::NoError
- : QAbstractVideoSurface::UnsupportedFormatError;
-}
-
-void QVideoSurfaceRasterPainter::stop()
-{
- m_frame = QVideoFrame();
-}
-
-QAbstractVideoSurface::Error QVideoSurfaceRasterPainter::setCurrentFrame(const QVideoFrame &frame)
-{
- m_frame = frame;
-
- return QAbstractVideoSurface::NoError;
-}
-
-QAbstractVideoSurface::Error QVideoSurfaceRasterPainter::paint(
- const QRectF &target, QPainter *painter, const QRectF &source)
-{
- if (m_frame.map(QAbstractVideoBuffer::ReadOnly)) {
- QImage image(
- m_frame.bits(),
- m_imageSize.width(),
- m_imageSize.height(),
- m_frame.bytesPerLine(),
- m_imageFormat);
-
- if (m_scanLineDirection == QVideoSurfaceFormat::BottomToTop) {
- const QTransform oldTransform = painter->transform();
-
- painter->scale(1, -1);
- painter->translate(0, -target.bottom());
- painter->drawImage(
- QRectF(target.x(), 0, target.width(), target.height()), image, source);
- painter->setTransform(oldTransform);
- } else {
- painter->drawImage(target, image, source);
- }
-
- m_frame.unmap();
- } else if (m_frame.isValid()) {
- return QAbstractVideoSurface::IncorrectFormatError;
- } else {
- painter->fillRect(target, Qt::black);
- }
- return QAbstractVideoSurface::NoError;
-}
-
-void QVideoSurfaceRasterPainter::updateColors(int, int, int, int)
-{
-}
-
-#if !defined(QT_NO_OPENGL) && !defined(QT_OPENGL_ES_1_CL) && !defined(QT_OPENGL_ES_1)
-
-#ifndef Q_WS_MAC
-# ifndef APIENTRYP
-# ifdef APIENTRY
-# define APIENTRYP APIENTRY *
-# else
-# define APIENTRY
-# define APIENTRYP *
-# endif
-# endif
-#else
-# define APIENTRY
-# define APIENTRYP *
-#endif
-
-#ifndef GL_TEXTURE0
-# define GL_TEXTURE0 0x84C0
-# define GL_TEXTURE1 0x84C1
-# define GL_TEXTURE2 0x84C2
-#endif
-#ifndef GL_PROGRAM_ERROR_STRING_ARB
-# define GL_PROGRAM_ERROR_STRING_ARB 0x8874
-#endif
-
-#ifndef GL_UNSIGNED_SHORT_5_6_5
-# define GL_UNSIGNED_SHORT_5_6_5 33635
-#endif
-
-class QVideoSurfaceGLPainter : public QVideoSurfacePainter
-{
-public:
- QVideoSurfaceGLPainter(QGLContext *context);
- ~QVideoSurfaceGLPainter();
- QList<QVideoFrame::PixelFormat> supportedPixelFormats(
- QAbstractVideoBuffer::HandleType handleType) const;
-
- bool isFormatSupported(
- const QVideoSurfaceFormat &format, QVideoSurfaceFormat *similar) const;
-
- QAbstractVideoSurface::Error setCurrentFrame(const QVideoFrame &frame);
-
- void updateColors(int brightness, int contrast, int hue, int saturation);
-
-protected:
- void initRgbTextureInfo(GLenum internalFormat, GLuint format, GLenum type, const QSize &size);
- void initYuv420PTextureInfo(const QSize &size);
- void initYv12TextureInfo(const QSize &size);
-
-#ifndef QT_OPENGL_ES
- typedef void (APIENTRY *_glActiveTexture) (GLenum);
- _glActiveTexture glActiveTexture;
-#endif
-
- QList<QVideoFrame::PixelFormat> m_imagePixelFormats;
- QList<QVideoFrame::PixelFormat> m_glPixelFormats;
- QMatrix4x4 m_colorMatrix;
- QVideoFrame m_frame;
-
- QGLContext *m_context;
- QAbstractVideoBuffer::HandleType m_handleType;
- QVideoSurfaceFormat::Direction m_scanLineDirection;
- GLenum m_textureFormat;
- GLuint m_textureInternalFormat;
- GLenum m_textureType;
- int m_textureCount;
- GLuint m_textureIds[3];
- int m_textureWidths[3];
- int m_textureHeights[3];
- int m_textureOffsets[3];
- bool m_yuv;
-};
-
-QVideoSurfaceGLPainter::QVideoSurfaceGLPainter(QGLContext *context)
- : m_context(context)
- , m_handleType(QAbstractVideoBuffer::NoHandle)
- , m_scanLineDirection(QVideoSurfaceFormat::TopToBottom)
- , m_textureFormat(0)
- , m_textureInternalFormat(0)
- , m_textureType(0)
- , m_textureCount(0)
- , m_yuv(false)
-{
-#ifndef QT_OPENGL_ES
- glActiveTexture = (_glActiveTexture)m_context->getProcAddress(QLatin1String("glActiveTexture"));
-#endif
-}
-
-QVideoSurfaceGLPainter::~QVideoSurfaceGLPainter()
-{
-}
-
-QList<QVideoFrame::PixelFormat> QVideoSurfaceGLPainter::supportedPixelFormats(
- QAbstractVideoBuffer::HandleType handleType) const
-{
- switch (handleType) {
- case QAbstractVideoBuffer::NoHandle:
- return m_imagePixelFormats;
- case QAbstractVideoBuffer::GLTextureHandle:
- return m_glPixelFormats;
- default:
- return QList<QVideoFrame::PixelFormat>();
- }
-}
-
-bool QVideoSurfaceGLPainter::isFormatSupported(
- const QVideoSurfaceFormat &format, QVideoSurfaceFormat *) const
-{
- if (format.frameSize().isEmpty()) {
- return false;
- } else {
- switch (format.handleType()) {
- case QAbstractVideoBuffer::NoHandle:
- return m_imagePixelFormats.contains(format.pixelFormat());
- case QAbstractVideoBuffer::GLTextureHandle:
- return m_glPixelFormats.contains(format.pixelFormat());
- default:
- return false;
- }
- }
-}
-
-QAbstractVideoSurface::Error QVideoSurfaceGLPainter::setCurrentFrame(const QVideoFrame &frame)
-{
- m_frame = frame;
-
- if (m_handleType == QAbstractVideoBuffer::GLTextureHandle) {
- m_textureIds[0] = frame.handle().toInt();
- } else if (m_frame.map(QAbstractVideoBuffer::ReadOnly)) {
- m_context->makeCurrent();
-
- for (int i = 0; i < m_textureCount; ++i) {
- glBindTexture(GL_TEXTURE_2D, m_textureIds[i]);
- glTexImage2D(
- GL_TEXTURE_2D,
- 0,
- m_textureInternalFormat,
- m_textureWidths[i],
- m_textureHeights[i],
- 0,
- m_textureFormat,
- m_textureType,
- m_frame.bits() + m_textureOffsets[i]);
- glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
- glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
- glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_REPEAT);
- glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_REPEAT);
- }
- m_frame.unmap();
- } else if (m_frame.isValid()) {
- return QAbstractVideoSurface::IncorrectFormatError;
- }
-
- return QAbstractVideoSurface::NoError;
-}
-
-void QVideoSurfaceGLPainter::updateColors(int brightness, int contrast, int hue, int saturation)
-{
- const qreal b = brightness / 200.0;
- const qreal c = contrast / 100.0 + 1.0;
- const qreal h = hue / 100.0;
- const qreal s = saturation / 100.0 + 1.0;
-
- const qreal cosH = qCos(M_PI * h);
- const qreal sinH = qSin(M_PI * h);
-
- const qreal h11 = 0.787 * cosH - 0.213 * sinH + 0.213;
- const qreal h21 = -0.213 * cosH + 0.143 * sinH + 0.213;
- const qreal h31 = -0.213 * cosH - 0.787 * sinH + 0.213;
-
- const qreal h12 = -0.715 * cosH - 0.715 * sinH + 0.715;
- const qreal h22 = 0.285 * cosH + 0.140 * sinH + 0.715;
- const qreal h32 = -0.715 * cosH + 0.715 * sinH + 0.715;
-
- const qreal h13 = -0.072 * cosH + 0.928 * sinH + 0.072;
- const qreal h23 = -0.072 * cosH - 0.283 * sinH + 0.072;
- const qreal h33 = 0.928 * cosH + 0.072 * sinH + 0.072;
-
- const qreal sr = (1.0 - s) * 0.3086;
- const qreal sg = (1.0 - s) * 0.6094;
- const qreal sb = (1.0 - s) * 0.0820;
-
- const qreal sr_s = sr + s;
- const qreal sg_s = sg + s;
- const qreal sb_s = sr + s;
-
- const float m4 = (s + sr + sg + sb) * (0.5 - 0.5 * c + b);
-
- m_colorMatrix(0, 0) = c * (sr_s * h11 + sg * h21 + sb * h31);
- m_colorMatrix(0, 1) = c * (sr_s * h12 + sg * h22 + sb * h32);
- m_colorMatrix(0, 2) = c * (sr_s * h13 + sg * h23 + sb * h33);
- m_colorMatrix(0, 3) = m4;
-
- m_colorMatrix(1, 0) = c * (sr * h11 + sg_s * h21 + sb * h31);
- m_colorMatrix(1, 1) = c * (sr * h12 + sg_s * h22 + sb * h32);
- m_colorMatrix(1, 2) = c * (sr * h13 + sg_s * h23 + sb * h33);
- m_colorMatrix(1, 3) = m4;
-
- m_colorMatrix(2, 0) = c * (sr * h11 + sg * h21 + sb_s * h31);
- m_colorMatrix(2, 1) = c * (sr * h12 + sg * h22 + sb_s * h32);
- m_colorMatrix(2, 2) = c * (sr * h13 + sg * h23 + sb_s * h33);
- m_colorMatrix(2, 3) = m4;
-
- m_colorMatrix(3, 0) = 0.0;
- m_colorMatrix(3, 1) = 0.0;
- m_colorMatrix(3, 2) = 0.0;
- m_colorMatrix(3, 3) = 1.0;
-
- if (m_yuv) {
- m_colorMatrix = m_colorMatrix * QMatrix4x4(
- 1.0, 0.000, 1.140, -0.5700,
- 1.0, -0.394, -0.581, 0.4875,
- 1.0, 2.028, 0.000, -1.0140,
- 0.0, 0.000, 0.000, 1.0000);
- }
-}
-
-void QVideoSurfaceGLPainter::initRgbTextureInfo(
- GLenum internalFormat, GLuint format, GLenum type, const QSize &size)
-{
- m_yuv = false;
- m_textureInternalFormat = internalFormat;
- m_textureFormat = format;
- m_textureType = type;
- m_textureCount = 1;
- m_textureWidths[0] = size.width();
- m_textureHeights[0] = size.height();
- m_textureOffsets[0] = 0;
-}
-
-void QVideoSurfaceGLPainter::initYuv420PTextureInfo(const QSize &size)
-{
- int w = (size.width() + 3) & ~3;
- int w2 = (size.width()/2 + 3) & ~3;
-
- m_yuv = true;
- m_textureInternalFormat = GL_LUMINANCE;
- m_textureFormat = GL_LUMINANCE;
- m_textureType = GL_UNSIGNED_BYTE;
- m_textureCount = 3;
- m_textureWidths[0] = size.width();
- m_textureHeights[0] = size.height();
- m_textureOffsets[0] = 0;
- m_textureWidths[1] = size.width() / 2;
- m_textureHeights[1] = size.height() / 2;
- m_textureOffsets[1] = w * size.height();
- m_textureWidths[2] = size.width() / 2;
- m_textureHeights[2] = size.height() / 2;
- m_textureOffsets[2] = w * size.height() + w2 * (size.height() / 2);
-}
-
-void QVideoSurfaceGLPainter::initYv12TextureInfo(const QSize &size)
-{
- int w = (size.width() + 3) & ~3;
- int w2 = (size.width()/2 + 3) & ~3;
-
- m_yuv = true;
- m_textureInternalFormat = GL_LUMINANCE;
- m_textureFormat = GL_LUMINANCE;
- m_textureType = GL_UNSIGNED_BYTE;
- m_textureCount = 3;
- m_textureWidths[0] = size.width();
- m_textureHeights[0] = size.height();
- m_textureOffsets[0] = 0;
- m_textureWidths[1] = size.width() / 2;
- m_textureHeights[1] = size.height() / 2;
- m_textureOffsets[1] = w * size.height() + w2 * (size.height() / 2);
- m_textureWidths[2] = size.width() / 2;
- m_textureHeights[2] = size.height() / 2;
- m_textureOffsets[2] = w * size.height();
-}
-
-#ifndef QT_OPENGL_ES
-
-# ifndef GL_FRAGMENT_PROGRAM_ARB
-# define GL_FRAGMENT_PROGRAM_ARB 0x8804
-# define GL_PROGRAM_FORMAT_ASCII_ARB 0x8875
-# endif
-
-// Paints an RGB32 frame
-static const char *qt_arbfp_xrgbShaderProgram =
- "!!ARBfp1.0\n"
- "PARAM matrix[4] = { program.local[0..2],"
- "{ 0.0, 0.0, 0.0, 1.0 } };\n"
- "TEMP xrgb;\n"
- "TEX xrgb.xyz, fragment.texcoord[0], texture[0], 2D;\n"
- "MOV xrgb.w, matrix[3].w;\n"
- "DP4 result.color.x, xrgb.zyxw, matrix[0];\n"
- "DP4 result.color.y, xrgb.zyxw, matrix[1];\n"
- "DP4 result.color.z, xrgb.zyxw, matrix[2];\n"
- "END";
-
-// Paints an ARGB frame.
-static const char *qt_arbfp_argbShaderProgram =
- "!!ARBfp1.0\n"
- "PARAM matrix[4] = { program.local[0..2],"
- "{ 0.0, 0.0, 0.0, 1.0 } };\n"
- "TEMP argb;\n"
- "TEX argb, fragment.texcoord[0], texture[0], 2D;\n"
- "MOV argb.w, matrix[3].w;\n"
- "DP4 result.color.x, argb.zyxw, matrix[0];\n"
- "DP4 result.color.y, argb.zyxw, matrix[1];\n"
- "DP4 result.color.z, argb.zyxw, matrix[2];\n"
- "TEX result.color.w, fragment.texcoord[0], texture, 2D;\n"
- "END";
-
-// Paints an RGB(A) frame.
-static const char *qt_arbfp_rgbShaderProgram =
- "!!ARBfp1.0\n"
- "PARAM matrix[4] = { program.local[0..2],"
- "{ 0.0, 0.0, 0.0, 1.0 } };\n"
- "TEMP rgb;\n"
- "TEX rgb, fragment.texcoord[0], texture[0], 2D;\n"
- "MOV rgb.w, matrix[3].w;\n"
- "DP4 result.color.x, rgb, matrix[0];\n"
- "DP4 result.color.y, rgb, matrix[1];\n"
- "DP4 result.color.z, rgb, matrix[2];\n"
- "TEX result.color.w, fragment.texcoord[0], texture, 2D;\n"
- "END";
-
-// Paints a YUV420P or YV12 frame.
-static const char *qt_arbfp_yuvPlanarShaderProgram =
- "!!ARBfp1.0\n"
- "PARAM matrix[4] = { program.local[0..2],"
- "{ 0.0, 0.0, 0.0, 1.0 } };\n"
- "TEMP yuv;\n"
- "TEX yuv.x, fragment.texcoord[0], texture[0], 2D;\n"
- "TEX yuv.y, fragment.texcoord[0], texture[1], 2D;\n"
- "TEX yuv.z, fragment.texcoord[0], texture[2], 2D;\n"
- "MOV yuv.w, matrix[3].w;\n"
- "DP4 result.color.x, yuv, matrix[0];\n"
- "DP4 result.color.y, yuv, matrix[1];\n"
- "DP4 result.color.z, yuv, matrix[2];\n"
- "END";
-
-// Paints a YUV444 frame.
-static const char *qt_arbfp_xyuvShaderProgram =
- "!!ARBfp1.0\n"
- "PARAM matrix[4] = { program.local[0..2],"
- "{ 0.0, 0.0, 0.0, 1.0 } };\n"
- "TEMP ayuv;\n"
- "TEX ayuv, fragment.texcoord[0], texture[0], 2D;\n"
- "MOV ayuv.x, matrix[3].w;\n"
- "DP4 result.color.x, ayuv.yzwx, matrix[0];\n"
- "DP4 result.color.y, ayuv.yzwx, matrix[1];\n"
- "DP4 result.color.z, ayuv.yzwx, matrix[2];\n"
- "END";
-
-// Paints a AYUV444 frame.
-static const char *qt_arbfp_ayuvShaderProgram =
- "!!ARBfp1.0\n"
- "PARAM matrix[4] = { program.local[0..2],"
- "{ 0.0, 0.0, 0.0, 1.0 } };\n"
- "TEMP ayuv;\n"
- "TEX ayuv, fragment.texcoord[0], texture[0], 2D;\n"
- "MOV ayuv.x, matrix[3].w;\n"
- "DP4 result.color.x, ayuv.yzwx, matrix[0];\n"
- "DP4 result.color.y, ayuv.yzwx, matrix[1];\n"
- "DP4 result.color.z, ayuv.yzwx, matrix[2];\n"
- "TEX result.color.w, fragment.texcoord[0], texture, 2D;\n"
- "END";
-
-class QVideoSurfaceArbFpPainter : public QVideoSurfaceGLPainter
-{
-public:
- QVideoSurfaceArbFpPainter(QGLContext *context);
-
- QAbstractVideoSurface::Error start(const QVideoSurfaceFormat &format);
- void stop();
-
- QAbstractVideoSurface::Error paint(
- const QRectF &target, QPainter *painter, const QRectF &source);
-
-private:
- typedef void (APIENTRY *_glProgramStringARB) (GLenum, GLenum, GLsizei, const GLvoid *);
- typedef void (APIENTRY *_glBindProgramARB) (GLenum, GLuint);
- typedef void (APIENTRY *_glDeleteProgramsARB) (GLsizei, const GLuint *);
- typedef void (APIENTRY *_glGenProgramsARB) (GLsizei, GLuint *);
- typedef void (APIENTRY *_glProgramLocalParameter4fARB) (
- GLenum, GLuint, GLfloat, GLfloat, GLfloat, GLfloat);
- typedef void (APIENTRY *_glActiveTexture) (GLenum);
-
- _glProgramStringARB glProgramStringARB;
- _glBindProgramARB glBindProgramARB;
- _glDeleteProgramsARB glDeleteProgramsARB;
- _glGenProgramsARB glGenProgramsARB;
- _glProgramLocalParameter4fARB glProgramLocalParameter4fARB;
-
- GLuint m_programId;
- QSize m_frameSize;
-};
-
-QVideoSurfaceArbFpPainter::QVideoSurfaceArbFpPainter(QGLContext *context)
- : QVideoSurfaceGLPainter(context)
- , m_programId(0)
-{
- glProgramStringARB = (_glProgramStringARB) m_context->getProcAddress(
- QLatin1String("glProgramStringARB"));
- glBindProgramARB = (_glBindProgramARB) m_context->getProcAddress(
- QLatin1String("glBindProgramARB"));
- glDeleteProgramsARB = (_glDeleteProgramsARB) m_context->getProcAddress(
- QLatin1String("glDeleteProgramsARB"));
- glGenProgramsARB = (_glGenProgramsARB) m_context->getProcAddress(
- QLatin1String("glGenProgramsARB"));
- glProgramLocalParameter4fARB = (_glProgramLocalParameter4fARB) m_context->getProcAddress(
- QLatin1String("glProgramLocalParameter4fARB"));
-
- m_imagePixelFormats
- << QVideoFrame::Format_RGB32
- << QVideoFrame::Format_BGR32
- << QVideoFrame::Format_ARGB32
- << QVideoFrame::Format_RGB24
- << QVideoFrame::Format_BGR24
- << QVideoFrame::Format_RGB565
- << QVideoFrame::Format_AYUV444
- << QVideoFrame::Format_YUV444
- << QVideoFrame::Format_YV12
- << QVideoFrame::Format_YUV420P;
- m_glPixelFormats
- << QVideoFrame::Format_RGB32
- << QVideoFrame::Format_ARGB32;
-}
-
-QAbstractVideoSurface::Error QVideoSurfaceArbFpPainter::start(const QVideoSurfaceFormat &format)
-{
- Q_ASSERT(m_textureCount == 0);
-
- QAbstractVideoSurface::Error error = QAbstractVideoSurface::NoError;
-
- m_context->makeCurrent();
-
- const char *program = 0;
-
- if (format.handleType() == QAbstractVideoBuffer::NoHandle) {
- switch (format.pixelFormat()) {
- case QVideoFrame::Format_RGB32:
- initRgbTextureInfo(GL_RGBA, GL_RGBA, GL_UNSIGNED_BYTE, format.frameSize());
- program = qt_arbfp_xrgbShaderProgram;
- break;
- case QVideoFrame::Format_BGR32:
- initRgbTextureInfo(GL_RGBA, GL_RGBA, GL_UNSIGNED_BYTE, format.frameSize());
- program = qt_arbfp_rgbShaderProgram;
- break;
- case QVideoFrame::Format_ARGB32:
- initRgbTextureInfo(GL_RGBA, GL_RGBA, GL_UNSIGNED_BYTE, format.frameSize());
- program = qt_arbfp_argbShaderProgram;
- break;
- case QVideoFrame::Format_RGB24:
- initRgbTextureInfo(GL_RGB8, GL_RGBA, GL_UNSIGNED_BYTE, format.frameSize());
- program = qt_arbfp_rgbShaderProgram;
- break;
- case QVideoFrame::Format_BGR24:
- initRgbTextureInfo(GL_RGB8, GL_RGBA, GL_UNSIGNED_BYTE, format.frameSize());
- program = qt_arbfp_xrgbShaderProgram;
- break;
- case QVideoFrame::Format_RGB565:
- initRgbTextureInfo(GL_RGB, GL_RGB, GL_UNSIGNED_SHORT_5_6_5, format.frameSize());
- program = qt_arbfp_rgbShaderProgram;
- break;
- case QVideoFrame::Format_YUV444:
- initRgbTextureInfo(GL_RGB, GL_RGB, GL_UNSIGNED_BYTE, format.frameSize());
- program = qt_arbfp_xyuvShaderProgram;
- m_yuv = true;
- break;
- case QVideoFrame::Format_AYUV444:
- initRgbTextureInfo(GL_RGBA, GL_RGBA, GL_UNSIGNED_BYTE, format.frameSize());
- program = qt_arbfp_ayuvShaderProgram;
- m_yuv = true;
- break;
- case QVideoFrame::Format_YV12:
- initYv12TextureInfo(format.frameSize());
- program = qt_arbfp_yuvPlanarShaderProgram;
- break;
- case QVideoFrame::Format_YUV420P:
- initYuv420PTextureInfo(format.frameSize());
- program = qt_arbfp_yuvPlanarShaderProgram;
- break;
- default:
- break;
- }
- } else if (format.handleType() == QAbstractVideoBuffer::GLTextureHandle) {
- switch (format.pixelFormat()) {
- case QVideoFrame::Format_RGB32:
- case QVideoFrame::Format_ARGB32:
- m_yuv = false;
- m_textureCount = 1;
- program = qt_arbfp_rgbShaderProgram;
- break;
- default:
- break;
- }
- }
-
- if (!program) {
- error = QAbstractVideoSurface::UnsupportedFormatError;
- } else {
- glGenProgramsARB(1, &m_programId);
-
- GLenum glError = glGetError();
- if (glError != GL_NO_ERROR) {
- qWarning("QPainterVideoSurface: ARBfb Shader allocation error %x", int(glError));
- m_textureCount = 0;
- m_programId = 0;
-
- error = QAbstractVideoSurface::ResourceError;
- } else {
- glBindProgramARB(GL_FRAGMENT_PROGRAM_ARB, m_programId);
- glProgramStringARB(
- GL_FRAGMENT_PROGRAM_ARB,
- GL_PROGRAM_FORMAT_ASCII_ARB,
- qstrlen(program),
- reinterpret_cast<const GLvoid *>(program));
-
- if ((glError = glGetError()) != GL_NO_ERROR) {
- const GLubyte* errorString = glGetString(GL_PROGRAM_ERROR_STRING_ARB);
-
- qWarning("QPainterVideoSurface: ARBfp Shader compile error %x, %s",
- int(glError),
- reinterpret_cast<const char *>(errorString));
- glDeleteProgramsARB(1, &m_programId);
-
- m_textureCount = 0;
- m_programId = 0;
-
- error = QAbstractVideoSurface::ResourceError;
- } else {
- m_handleType = format.handleType();
- m_scanLineDirection = format.scanLineDirection();
- m_frameSize = format.frameSize();
-
- if (m_handleType == QAbstractVideoBuffer::NoHandle)
- glGenTextures(m_textureCount, m_textureIds);
- }
- }
- }
-
- return error;
-}
-
-void QVideoSurfaceArbFpPainter::stop()
-{
- m_context->makeCurrent();
-
- if (m_handleType != QAbstractVideoBuffer::GLTextureHandle)
- glDeleteTextures(m_textureCount, m_textureIds);
- glDeleteProgramsARB(1, &m_programId);
-
- m_textureCount = 0;
- m_programId = 0;
- m_handleType = QAbstractVideoBuffer::NoHandle;
-}
-
-QAbstractVideoSurface::Error QVideoSurfaceArbFpPainter::paint(
- const QRectF &target, QPainter *painter, const QRectF &source)
-{
- if (m_frame.isValid()) {
- bool stencilTestEnabled = glIsEnabled(GL_STENCIL_TEST);
- bool scissorTestEnabled = glIsEnabled(GL_SCISSOR_TEST);
-
- painter->beginNativePainting();
-
- if (stencilTestEnabled)
- glEnable(GL_STENCIL_TEST);
- if (scissorTestEnabled)
- glEnable(GL_SCISSOR_TEST);
-
- const float txLeft = source.left() / m_frameSize.width();
- const float txRight = source.right() / m_frameSize.width();
- const float txTop = m_scanLineDirection == QVideoSurfaceFormat::TopToBottom
- ? source.top() / m_frameSize.height()
- : source.bottom() / m_frameSize.height();
- const float txBottom = m_scanLineDirection == QVideoSurfaceFormat::TopToBottom
- ? source.bottom() / m_frameSize.height()
- : source.top() / m_frameSize.height();
-
-
- const float tx_array[] =
- {
- txLeft , txBottom,
- txRight, txBottom,
- txLeft , txTop,
- txRight, txTop
- };
- const float v_array[] =
- {
- float(target.left()) , float(target.bottom() + 1),
- float(target.right() + 1), float(target.bottom() + 1),
- float(target.left()) , float(target.top()),
- float(target.right() + 1), float(target.top())
- };
-
- glEnable(GL_FRAGMENT_PROGRAM_ARB);
- glBindProgramARB(GL_FRAGMENT_PROGRAM_ARB, m_programId);
-
- glProgramLocalParameter4fARB(
- GL_FRAGMENT_PROGRAM_ARB,
- 0,
- m_colorMatrix(0, 0),
- m_colorMatrix(0, 1),
- m_colorMatrix(0, 2),
- m_colorMatrix(0, 3));
- glProgramLocalParameter4fARB(
- GL_FRAGMENT_PROGRAM_ARB,
- 1,
- m_colorMatrix(1, 0),
- m_colorMatrix(1, 1),
- m_colorMatrix(1, 2),
- m_colorMatrix(1, 3));
- glProgramLocalParameter4fARB(
- GL_FRAGMENT_PROGRAM_ARB,
- 2,
- m_colorMatrix(2, 0),
- m_colorMatrix(2, 1),
- m_colorMatrix(2, 2),
- m_colorMatrix(2, 3));
-
- glActiveTexture(GL_TEXTURE0);
- glBindTexture(GL_TEXTURE_2D, m_textureIds[0]);
-
- if (m_textureCount == 3) {
- glActiveTexture(GL_TEXTURE1);
- glBindTexture(GL_TEXTURE_2D, m_textureIds[1]);
- glActiveTexture(GL_TEXTURE2);
- glBindTexture(GL_TEXTURE_2D, m_textureIds[2]);
- glActiveTexture(GL_TEXTURE0);
- }
-
- glVertexPointer(2, GL_FLOAT, 0, v_array);
- glTexCoordPointer(2, GL_FLOAT, 0, tx_array);
-
- glEnableClientState(GL_VERTEX_ARRAY);
- glEnableClientState(GL_TEXTURE_COORD_ARRAY);
-
- glDrawArrays(GL_TRIANGLE_STRIP, 0, 4);
-
- glDisableClientState(GL_TEXTURE_COORD_ARRAY);
- glDisableClientState(GL_VERTEX_ARRAY);
- glDisable(GL_FRAGMENT_PROGRAM_ARB);
-
- painter->endNativePainting();
- }
- return QAbstractVideoSurface::NoError;
-}
-
-#endif
-
-static const char *qt_glsl_vertexShaderProgram =
- "attribute highp vec4 vertexCoordArray;\n"
- "attribute highp vec2 textureCoordArray;\n"
- "uniform highp mat4 positionMatrix;\n"
- "varying highp vec2 textureCoord;\n"
- "void main(void)\n"
- "{\n"
- " gl_Position = positionMatrix * vertexCoordArray;\n"
- " textureCoord = textureCoordArray;\n"
- "}\n";
-
-// Paints an RGB32 frame
-static const char *qt_glsl_xrgbShaderProgram =
- "uniform sampler2D texRgb;\n"
- "uniform mediump mat4 colorMatrix;\n"
- "varying highp vec2 textureCoord;\n"
- "void main(void)\n"
- "{\n"
- " highp vec4 color = vec4(texture2D(texRgb, textureCoord.st).bgr, 1.0);\n"
- " gl_FragColor = colorMatrix * color;\n"
- "}\n";
-
-// Paints an ARGB frame.
-static const char *qt_glsl_argbShaderProgram =
- "uniform sampler2D texRgb;\n"
- "uniform mediump mat4 colorMatrix;\n"
- "varying highp vec2 textureCoord;\n"
- "void main(void)\n"
- "{\n"
- " highp vec4 color = vec4(texture2D(texRgb, textureCoord.st).bgr, 1.0);\n"
- " color = colorMatrix * color;\n"
- " gl_FragColor = vec4(color.rgb, texture2D(texRgb, textureCoord.st).a);\n"
- "}\n";
-
-// Paints an RGB(A) frame.
-static const char *qt_glsl_rgbShaderProgram =
- "uniform sampler2D texRgb;\n"
- "uniform mediump mat4 colorMatrix;\n"
- "varying highp vec2 textureCoord;\n"
- "void main(void)\n"
- "{\n"
- " highp vec4 color = vec4(texture2D(texRgb, textureCoord.st).rgb, 1.0);\n"
- " color = colorMatrix * color;\n"
- " gl_FragColor = vec4(color.rgb, texture2D(texRgb, textureCoord.st).a);\n"
- "}\n";
-
-// Paints a YUV420P or YV12 frame.
-static const char *qt_glsl_yuvPlanarShaderProgram =
- "uniform sampler2D texY;\n"
- "uniform sampler2D texU;\n"
- "uniform sampler2D texV;\n"
- "uniform mediump mat4 colorMatrix;\n"
- "varying highp vec2 textureCoord;\n"
- "void main(void)\n"
- "{\n"
- " highp vec4 color = vec4(\n"
- " texture2D(texY, textureCoord.st).r,\n"
- " texture2D(texU, textureCoord.st).r,\n"
- " texture2D(texV, textureCoord.st).r,\n"
- " 1.0);\n"
- " gl_FragColor = colorMatrix * color;\n"
- "}\n";
-
-// Paints a YUV444 frame.
-static const char *qt_glsl_xyuvShaderProgram =
- "uniform sampler2D texRgb;\n"
- "uniform mediump mat4 colorMatrix;\n"
- "varying highp vec2 textureCoord;\n"
- "void main(void)\n"
- "{\n"
- " highp vec4 color = vec4(texture2D(texRgb, textureCoord.st).gba, 1.0);\n"
- " gl_FragColor = colorMatrix * color;\n"
- "}\n";
-
-// Paints a AYUV444 frame.
-static const char *qt_glsl_ayuvShaderProgram =
- "uniform sampler2D texRgb;\n"
- "uniform mediump mat4 colorMatrix;\n"
- "varying highp vec2 textureCoord;\n"
- "void main(void)\n"
- "{\n"
- " highp vec4 color = vec4(texture2D(texRgb, textureCoord.st).gba, 1.0);\n"
- " color = colorMatrix * color;\n"
- " gl_FragColor = vec4(color.rgb, texture2D(texRgb, textureCoord.st).r);\n"
- "}\n";
-
-class QVideoSurfaceGlslPainter : public QVideoSurfaceGLPainter
-{
-public:
- QVideoSurfaceGlslPainter(QGLContext *context);
-
- QAbstractVideoSurface::Error start(const QVideoSurfaceFormat &format);
- void stop();
-
- QAbstractVideoSurface::Error paint(
- const QRectF &target, QPainter *painter, const QRectF &source);
-
-private:
- QGLShaderProgram m_program;
- QSize m_frameSize;
-};
-
-QVideoSurfaceGlslPainter::QVideoSurfaceGlslPainter(QGLContext *context)
- : QVideoSurfaceGLPainter(context)
- , m_program(context)
-{
- m_imagePixelFormats
- << QVideoFrame::Format_RGB32
- << QVideoFrame::Format_BGR32
- << QVideoFrame::Format_ARGB32
-#ifndef QT_OPENGL_ES
- << QVideoFrame::Format_RGB24
- << QVideoFrame::Format_BGR24
-#endif
- << QVideoFrame::Format_RGB565
- << QVideoFrame::Format_YUV444
- << QVideoFrame::Format_AYUV444
- << QVideoFrame::Format_YV12
- << QVideoFrame::Format_YUV420P;
- m_glPixelFormats
- << QVideoFrame::Format_RGB32
- << QVideoFrame::Format_ARGB32;
-}
-
-QAbstractVideoSurface::Error QVideoSurfaceGlslPainter::start(const QVideoSurfaceFormat &format)
-{
- Q_ASSERT(m_textureCount == 0);
-
- QAbstractVideoSurface::Error error = QAbstractVideoSurface::NoError;
-
- m_context->makeCurrent();
-
- const char *fragmentProgram = 0;
-
- if (format.handleType() == QAbstractVideoBuffer::NoHandle) {
- switch (format.pixelFormat()) {
- case QVideoFrame::Format_RGB32:
- initRgbTextureInfo(GL_RGBA, GL_RGBA, GL_UNSIGNED_BYTE, format.frameSize());
- fragmentProgram = qt_glsl_xrgbShaderProgram;
- break;
- case QVideoFrame::Format_BGR32:
- initRgbTextureInfo(GL_RGB, GL_RGBA, GL_UNSIGNED_BYTE, format.frameSize());
- fragmentProgram = qt_glsl_rgbShaderProgram;
- break;
- case QVideoFrame::Format_ARGB32:
- initRgbTextureInfo(GL_RGBA, GL_RGBA, GL_UNSIGNED_BYTE, format.frameSize());
- fragmentProgram = qt_glsl_argbShaderProgram;
- break;
-#ifndef QT_OPENGL_ES
- case QVideoFrame::Format_RGB24:
- initRgbTextureInfo(GL_RGB8, GL_RGB, GL_UNSIGNED_BYTE, format.frameSize());
- fragmentProgram = qt_glsl_rgbShaderProgram;
- break;
- case QVideoFrame::Format_BGR24:
- initRgbTextureInfo(GL_RGB8, GL_RGB, GL_UNSIGNED_BYTE, format.frameSize());
- fragmentProgram = qt_glsl_argbShaderProgram;
- break;
-#endif
- case QVideoFrame::Format_RGB565:
- initRgbTextureInfo(GL_RGB, GL_RGB, GL_UNSIGNED_SHORT_5_6_5, format.frameSize());
- fragmentProgram = qt_glsl_rgbShaderProgram;
- break;
- case QVideoFrame::Format_YUV444:
- initRgbTextureInfo(GL_RGB, GL_RGB, GL_UNSIGNED_BYTE, format.frameSize());
- fragmentProgram = qt_glsl_xyuvShaderProgram;
- m_yuv = true;
- break;
- case QVideoFrame::Format_AYUV444:
- initRgbTextureInfo(GL_RGBA, GL_RGBA, GL_UNSIGNED_BYTE, format.frameSize());
- fragmentProgram = qt_glsl_ayuvShaderProgram;
- m_yuv = true;
- break;
- case QVideoFrame::Format_YV12:
- initYv12TextureInfo(format.frameSize());
- fragmentProgram = qt_glsl_yuvPlanarShaderProgram;
- break;
- case QVideoFrame::Format_YUV420P:
- initYuv420PTextureInfo(format.frameSize());
- fragmentProgram = qt_glsl_yuvPlanarShaderProgram;
- break;
- default:
- break;
- }
- } else if (format.handleType() == QAbstractVideoBuffer::GLTextureHandle) {
- switch (format.pixelFormat()) {
- case QVideoFrame::Format_RGB32:
- case QVideoFrame::Format_ARGB32:
- m_yuv = false;
- m_textureCount = 1;
- fragmentProgram = qt_glsl_rgbShaderProgram;
- break;
- default:
- break;
- }
- }
-
- if (!fragmentProgram) {
- error = QAbstractVideoSurface::UnsupportedFormatError;
- } else if (!m_program.addShaderFromSourceCode(QGLShader::Vertex, qt_glsl_vertexShaderProgram)) {
- qWarning("QPainterVideoSurface: Vertex shader compile error %s",
- qPrintable(m_program.log()));
- error = QAbstractVideoSurface::ResourceError;
- } else if (!m_program.addShaderFromSourceCode(QGLShader::Fragment, fragmentProgram)) {
- qWarning("QPainterVideoSurface: Shader compile error %s", qPrintable(m_program.log()));
- error = QAbstractVideoSurface::ResourceError;
- m_program.removeAllShaders();
- } else if(!m_program.link()) {
- qWarning("QPainterVideoSurface: Shader link error %s", qPrintable(m_program.log()));
- m_program.removeAllShaders();
- error = QAbstractVideoSurface::ResourceError;
- } else {
- m_handleType = format.handleType();
- m_scanLineDirection = format.scanLineDirection();
- m_frameSize = format.frameSize();
-
- if (m_handleType == QAbstractVideoBuffer::NoHandle)
- glGenTextures(m_textureCount, m_textureIds);
- }
-
- return error;
-}
-
-void QVideoSurfaceGlslPainter::stop()
-{
- m_context->makeCurrent();
-
- if (m_handleType != QAbstractVideoBuffer::GLTextureHandle)
- glDeleteTextures(m_textureCount, m_textureIds);
- m_program.removeAllShaders();
-
- m_textureCount = 0;
- m_handleType = QAbstractVideoBuffer::NoHandle;
-}
-
-QAbstractVideoSurface::Error QVideoSurfaceGlslPainter::paint(
- const QRectF &target, QPainter *painter, const QRectF &source)
-{
- if (m_frame.isValid()) {
- bool stencilTestEnabled = glIsEnabled(GL_STENCIL_TEST);
- bool scissorTestEnabled = glIsEnabled(GL_SCISSOR_TEST);
-
- painter->beginNativePainting();
-
- if (stencilTestEnabled)
- glEnable(GL_STENCIL_TEST);
- if (scissorTestEnabled)
- glEnable(GL_SCISSOR_TEST);
-
- const int width = QGLContext::currentContext()->device()->width();
- const int height = QGLContext::currentContext()->device()->height();
-
- const QTransform transform = painter->deviceTransform();
-
- const GLfloat wfactor = 2.0 / width;
- const GLfloat hfactor = -2.0 / height;
-
- const GLfloat positionMatrix[4][4] =
- {
- {
- /*(0,0)*/ GLfloat(wfactor * transform.m11() - transform.m13()),
- /*(0,1)*/ GLfloat(hfactor * transform.m12() + transform.m13()),
- /*(0,2)*/ 0.0,
- /*(0,3)*/ GLfloat(transform.m13())
- }, {
- /*(1,0)*/ GLfloat(wfactor * transform.m21() - transform.m23()),
- /*(1,1)*/ GLfloat(hfactor * transform.m22() + transform.m23()),
- /*(1,2)*/ 0.0,
- /*(1,3)*/ GLfloat(transform.m23())
- }, {
- /*(2,0)*/ 0.0,
- /*(2,1)*/ 0.0,
- /*(2,2)*/ -1.0,
- /*(2,3)*/ 0.0
- }, {
- /*(3,0)*/ GLfloat(wfactor * transform.dx() - transform.m33()),
- /*(3,1)*/ GLfloat(hfactor * transform.dy() + transform.m33()),
- /*(3,2)*/ 0.0,
- /*(3,3)*/ GLfloat(transform.m33())
- }
- };
-
- const GLfloat vertexCoordArray[] =
- {
- GLfloat(target.left()) , GLfloat(target.bottom() + 1),
- GLfloat(target.right() + 1), GLfloat(target.bottom() + 1),
- GLfloat(target.left()) , GLfloat(target.top()),
- GLfloat(target.right() + 1), GLfloat(target.top())
- };
-
- const GLfloat txLeft = source.left() / m_frameSize.width();
- const GLfloat txRight = source.right() / m_frameSize.width();
- const GLfloat txTop = m_scanLineDirection == QVideoSurfaceFormat::TopToBottom
- ? source.top() / m_frameSize.height()
- : source.bottom() / m_frameSize.height();
- const GLfloat txBottom = m_scanLineDirection == QVideoSurfaceFormat::TopToBottom
- ? source.bottom() / m_frameSize.height()
- : source.top() / m_frameSize.height();
-
- const GLfloat textureCoordArray[] =
- {
- txLeft , txBottom,
- txRight, txBottom,
- txLeft , txTop,
- txRight, txTop
- };
-
- m_program.bind();
-
- m_program.enableAttributeArray("vertexCoordArray");
- m_program.enableAttributeArray("textureCoordArray");
- m_program.setAttributeArray("vertexCoordArray", vertexCoordArray, 2);
- m_program.setAttributeArray("textureCoordArray", textureCoordArray, 2);
- m_program.setUniformValue("positionMatrix", positionMatrix);
-
- if (m_textureCount == 3) {
- glActiveTexture(GL_TEXTURE0);
- glBindTexture(GL_TEXTURE_2D, m_textureIds[0]);
- glActiveTexture(GL_TEXTURE1);
- glBindTexture(GL_TEXTURE_2D, m_textureIds[1]);
- glActiveTexture(GL_TEXTURE2);
- glBindTexture(GL_TEXTURE_2D, m_textureIds[2]);
- glActiveTexture(GL_TEXTURE0);
-
- m_program.setUniformValue("texY", GLint(0));
- m_program.setUniformValue("texU", GLint(1));
- m_program.setUniformValue("texV", GLint(2));
- } else {
- glActiveTexture(GL_TEXTURE0);
- glBindTexture(GL_TEXTURE_2D, m_textureIds[0]);
-
- m_program.setUniformValue("texRgb", GLint(0));
- }
- m_program.setUniformValue("colorMatrix", m_colorMatrix);
-
- glDrawArrays(GL_TRIANGLE_STRIP, 0, 4);
-
- m_program.release();
-
- painter->endNativePainting();
- }
- return QAbstractVideoSurface::NoError;
-}
-
-#endif
-
-/*!
- \class QPainterVideoSurface
- \internal
-*/
-
-/*!
-*/
-QPainterVideoSurface::QPainterVideoSurface(QObject *parent)
- : QAbstractVideoSurface(parent)
- , m_painter(0)
-#if !defined(QT_NO_OPENGL) && !defined(QT_OPENGL_ES_1_CL) && !defined(QT_OPENGL_ES_1)
- , m_glContext(0)
- , m_shaderTypes(NoShaders)
- , m_shaderType(NoShaders)
-#endif
- , m_brightness(0)
- , m_contrast(0)
- , m_hue(0)
- , m_saturation(0)
- , m_pixelFormat(QVideoFrame::Format_Invalid)
- , m_colorsDirty(true)
- , m_ready(false)
-{
-}
-
-/*!
-*/
-QPainterVideoSurface::~QPainterVideoSurface()
-{
- if (isActive())
- m_painter->stop();
-
- delete m_painter;
-}
-
-/*!
-*/
-QList<QVideoFrame::PixelFormat> QPainterVideoSurface::supportedPixelFormats(
- QAbstractVideoBuffer::HandleType handleType) const
-{
- if (!m_painter)
- const_cast<QPainterVideoSurface *>(this)->createPainter();
-
- return m_painter->supportedPixelFormats(handleType);
-}
-
-/*!
-*/
-bool QPainterVideoSurface::isFormatSupported(
- const QVideoSurfaceFormat &format, QVideoSurfaceFormat *similar) const
-{
- if (!m_painter)
- const_cast<QPainterVideoSurface *>(this)->createPainter();
-
- return m_painter->isFormatSupported(format, similar);
-}
-
-/*!
-*/
-bool QPainterVideoSurface::start(const QVideoSurfaceFormat &format)
-{
- if (isActive())
- m_painter->stop();
-
- if (!m_painter)
- createPainter();
-
- if (format.frameSize().isEmpty()) {
- setError(UnsupportedFormatError);
- } else {
- QAbstractVideoSurface::Error error = m_painter->start(format);
-
- if (error != QAbstractVideoSurface::NoError) {
- setError(error);
- } else {
- m_pixelFormat = format.pixelFormat();
- m_frameSize = format.frameSize();
- m_sourceRect = format.viewport();
- m_colorsDirty = true;
- m_ready = true;
-
- return QAbstractVideoSurface::start(format);
- }
- }
-
- QAbstractVideoSurface::stop();
-
- return false;
-}
-
-/*!
-*/
-void QPainterVideoSurface::stop()
-{
- if (isActive()) {
- m_painter->stop();
- m_ready = false;
-
- QAbstractVideoSurface::stop();
- }
-}
-
-/*!
-*/
-bool QPainterVideoSurface::present(const QVideoFrame &frame)
-{
- if (!m_ready) {
- if (!isActive())
- setError(StoppedError);
- } else if (frame.isValid()
- && (frame.pixelFormat() != m_pixelFormat || frame.size() != m_frameSize)) {
- setError(IncorrectFormatError);
-
- stop();
- } else {
- QAbstractVideoSurface::Error error = m_painter->setCurrentFrame(frame);
-
- if (error != QAbstractVideoSurface::NoError) {
- setError(error);
-
- stop();
- } else {
- m_ready = false;
-
- emit frameChanged();
-
- return true;
- }
- }
- return false;
-}
-
-/*!
-*/
-int QPainterVideoSurface::brightness() const
-{
- return m_brightness;
-}
-
-/*!
-*/
-void QPainterVideoSurface::setBrightness(int brightness)
-{
- m_brightness = brightness;
-
- m_colorsDirty = true;
-}
-
-/*!
-*/
-int QPainterVideoSurface::contrast() const
-{
- return m_contrast;
-}
-
-/*!
-*/
-void QPainterVideoSurface::setContrast(int contrast)
-{
- m_contrast = contrast;
-
- m_colorsDirty = true;
-}
-
-/*!
-*/
-int QPainterVideoSurface::hue() const
-{
- return m_hue;
-}
-
-/*!
-*/
-void QPainterVideoSurface::setHue(int hue)
-{
- m_hue = hue;
-
- m_colorsDirty = true;
-}
-
-/*!
-*/
-int QPainterVideoSurface::saturation() const
-{
- return m_saturation;
-}
-
-/*!
-*/
-void QPainterVideoSurface::setSaturation(int saturation)
-{
- m_saturation = saturation;
-
- m_colorsDirty = true;
-}
-
-/*!
-*/
-bool QPainterVideoSurface::isReady() const
-{
- return m_ready;
-}
-
-/*!
-*/
-void QPainterVideoSurface::setReady(bool ready)
-{
- m_ready = ready;
-}
-
-/*!
-*/
-void QPainterVideoSurface::paint(QPainter *painter, const QRectF &target, const QRectF &source)
-{
- if (!isActive()) {
- painter->fillRect(target, QBrush(Qt::black));
- } else {
- if (m_colorsDirty) {
- m_painter->updateColors(m_brightness, m_contrast, m_hue, m_saturation);
- m_colorsDirty = false;
- }
-
- const QRectF sourceRect(
- m_sourceRect.x() + m_sourceRect.width() * source.x(),
- m_sourceRect.y() + m_sourceRect.height() * source.y(),
- m_sourceRect.width() * source.width(),
- m_sourceRect.height() * source.height());
-
- QAbstractVideoSurface::Error error = m_painter->paint(target, painter, sourceRect);
-
- if (error != QAbstractVideoSurface::NoError) {
- setError(error);
-
- stop();
- }
- }
-}
-
-/*!
- \fn QPainterVideoSurface::frameChanged()
-*/
-
-#if !defined(QT_NO_OPENGL) && !defined(QT_OPENGL_ES_1_CL) && !defined(QT_OPENGL_ES_1)
-
-/*!
-*/
-const QGLContext *QPainterVideoSurface::glContext() const
-{
- return m_glContext;
-}
-
-/*!
-*/
-void QPainterVideoSurface::setGLContext(QGLContext *context)
-{
- if (m_glContext == context)
- return;
-
- m_glContext = context;
-
- m_shaderTypes = NoShaders;
-
- if (m_glContext) {
- m_glContext->makeCurrent();
-
- const QByteArray extensions(reinterpret_cast<const char *>(glGetString(GL_EXTENSIONS)));
-#ifndef QT_OPENGL_ES
-
- if (extensions.contains("ARB_fragment_program"))
- m_shaderTypes |= FragmentProgramShader;
-#endif
-
- if (QGLShaderProgram::hasOpenGLShaderPrograms(m_glContext)
- && extensions.contains("ARB_shader_objects"))
- m_shaderTypes |= GlslShader;
- }
-
- ShaderType type = (m_shaderType & m_shaderTypes)
- ? m_shaderType
- : NoShaders;
-
- if (type != m_shaderType || type != NoShaders) {
- m_shaderType = type;
-
- if (isActive()) {
- m_painter->stop();
- delete m_painter;
- m_painter = 0;
- m_ready = false;
-
- setError(ResourceError);
- QAbstractVideoSurface::stop();
- }
- emit supportedFormatsChanged();
- }
-}
-
-/*!
- \enum QPainterVideoSurface::ShaderType
-
- \value NoShaders
- \value FragmentProgramShader
- \value HlslShader
-*/
-
-/*!
- \typedef QPainterVideoSurface::ShaderTypes
-*/
-
-/*!
-*/
-QPainterVideoSurface::ShaderTypes QPainterVideoSurface::supportedShaderTypes() const
-{
- return m_shaderTypes;
-}
-
-/*!
-*/
-QPainterVideoSurface::ShaderType QPainterVideoSurface::shaderType() const
-{
- return m_shaderType;
-}
-
-/*!
-*/
-void QPainterVideoSurface::setShaderType(ShaderType type)
-{
- if (!(type & m_shaderTypes))
- type = NoShaders;
-
- if (type != m_shaderType) {
- m_shaderType = type;
-
- if (isActive()) {
- m_painter->stop();
- delete m_painter;
- m_painter = 0;
- m_ready = false;
-
- setError(ResourceError);
- QAbstractVideoSurface::stop();
- } else {
- delete m_painter;
- m_painter = 0;
- }
- emit supportedFormatsChanged();
- }
-}
-
-#endif
-
-void QPainterVideoSurface::createPainter()
-{
- Q_ASSERT(!m_painter);
-
-#ifdef Q_WS_MAC
- if (m_glContext)
- m_glContext->makeCurrent();
-
- m_painter = new QVideoSurfaceCoreGraphicsPainter(m_glContext != 0);
- return;
-#endif
-
-#if !defined(QT_NO_OPENGL) && !defined(QT_OPENGL_ES_1_CL) && !defined(QT_OPENGL_ES_1)
- switch (m_shaderType) {
-#ifndef QT_OPENGL_ES
- case FragmentProgramShader:
- Q_ASSERT(m_glContext);
- m_glContext->makeCurrent();
- m_painter = new QVideoSurfaceArbFpPainter(m_glContext);
- break;
-#endif
- case GlslShader:
- Q_ASSERT(m_glContext);
- m_glContext->makeCurrent();
- m_painter = new QVideoSurfaceGlslPainter(m_glContext);
- break;
- default:
- m_painter = new QVideoSurfaceRasterPainter;
- break;
- }
-#else
- m_painter = new QVideoSurfaceRasterPainter;
-#endif
-}
-
-QT_END_NAMESPACE
-
-#include "moc_qpaintervideosurface_p.cpp"
-
-
diff --git a/src/multimedia/mediaservices/base/qpaintervideosurface_mac.mm b/src/multimedia/mediaservices/base/qpaintervideosurface_mac.mm
deleted file mode 100644
index 1154f8623f..0000000000
--- a/src/multimedia/mediaservices/base/qpaintervideosurface_mac.mm
+++ /dev/null
@@ -1,283 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the QtMultimedia module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "qpaintervideosurface_mac_p.h"
-
-#include <QtCore/qdatetime.h>
-
-#include <qmath.h>
-
-#include <qpainter.h>
-#include <qvariant.h>
-#include <QtMultimedia/qvideosurfaceformat.h>
-
-#include <QtDebug>
-
-#include <QuartzCore/CIContext.h>
-#include <CGLCurrent.h>
-#include <gl.h>
-
-QT_BEGIN_NAMESPACE
-
-extern CGContextRef qt_mac_cg_context(const QPaintDevice *pdev); //qpaintdevice_mac.cpp
-
-QVideoSurfaceCoreGraphicsPainter::QVideoSurfaceCoreGraphicsPainter(bool glSupported)
- : ciContext(0)
- , m_imageFormat(QImage::Format_Invalid)
- , m_scanLineDirection(QVideoSurfaceFormat::TopToBottom)
-{
- //qDebug() << "QVideoSurfaceCoreGraphicsPainter, GL supported:" << glSupported;
- ciContext = 0;
- m_imagePixelFormats
- << QVideoFrame::Format_RGB32;
-
- m_supportedHandles
- << QAbstractVideoBuffer::NoHandle
- << QAbstractVideoBuffer::CoreImageHandle;
-
- if (glSupported)
- m_supportedHandles << QAbstractVideoBuffer::GLTextureHandle;
-}
-
-QVideoSurfaceCoreGraphicsPainter::~QVideoSurfaceCoreGraphicsPainter()
-{
- [(CIContext*)ciContext release];
-}
-
-QList<QVideoFrame::PixelFormat> QVideoSurfaceCoreGraphicsPainter::supportedPixelFormats(
- QAbstractVideoBuffer::HandleType handleType) const
-{
- return m_supportedHandles.contains(handleType)
- ? m_imagePixelFormats
- : QList<QVideoFrame::PixelFormat>();
-}
-
-bool QVideoSurfaceCoreGraphicsPainter::isFormatSupported(
- const QVideoSurfaceFormat &format, QVideoSurfaceFormat *) const
-{
- return m_supportedHandles.contains(format.handleType())
- && m_imagePixelFormats.contains(format.pixelFormat())
- && !format.frameSize().isEmpty();
-}
-
-QAbstractVideoSurface::Error QVideoSurfaceCoreGraphicsPainter::start(const QVideoSurfaceFormat &format)
-{
- m_frame = QVideoFrame();
- m_imageFormat = QVideoFrame::imageFormatFromPixelFormat(format.pixelFormat());
- m_imageSize = format.frameSize();
- m_scanLineDirection = format.scanLineDirection();
-
- return m_supportedHandles.contains(format.handleType())
- && m_imageFormat != QImage::Format_Invalid
- && !m_imageSize.isEmpty()
- ? QAbstractVideoSurface::NoError
- : QAbstractVideoSurface::UnsupportedFormatError;
-}
-
-void QVideoSurfaceCoreGraphicsPainter::stop()
-{
- m_frame = QVideoFrame();
-}
-
-QAbstractVideoSurface::Error QVideoSurfaceCoreGraphicsPainter::setCurrentFrame(const QVideoFrame &frame)
-{
- m_frame = frame;
-
- return QAbstractVideoSurface::NoError;
-}
-
-QAbstractVideoSurface::Error QVideoSurfaceCoreGraphicsPainter::paint(
- const QRectF &target, QPainter *painter, const QRectF &source)
-{
- if (m_frame.handleType() == QAbstractVideoBuffer::CoreImageHandle) {
- if (painter->paintEngine()->type() == QPaintEngine::CoreGraphics ) {
-
- CIImage *img = (CIImage*)(m_frame.handle().value<void*>());
-
- if (img) {
- CGContextRef cgContext = qt_mac_cg_context(painter->device());
-
- if (cgContext) {
- painter->beginNativePainting();
-
- CGRect sRect = CGRectMake(source.x(), source.y(), source.width(), source.height());
- CGRect dRect = CGRectMake(target.x(), target.y(), target.width(), target.height());
-
- NSBitmapImageRep *bitmap = [[NSBitmapImageRep alloc] initWithCIImage:img];
-
- if (m_scanLineDirection == QVideoSurfaceFormat::TopToBottom) {
- CGContextSaveGState( cgContext );
- CGContextTranslateCTM(cgContext, 0, dRect.origin.y + CGRectGetMaxY(dRect));
- CGContextScaleCTM(cgContext, 1, -1);
-
-#if (MAC_OS_X_VERSION_MAX_ALLOWED > MAC_OS_X_VERSION_10_4)
- if (QSysInfo::MacintoshVersion > QSysInfo::MV_10_4) {
- CGContextDrawImage(cgContext, dRect, [bitmap CGImage]);
- }
-#endif
-
- CGContextRestoreGState(cgContext);
- } else {
-#if (MAC_OS_X_VERSION_MAX_ALLOWED > MAC_OS_X_VERSION_10_4)
- if (QSysInfo::MacintoshVersion > QSysInfo::MV_10_4) {
- CGContextDrawImage(cgContext, dRect, [bitmap CGImage]);
- }
-#endif
- }
-
- [bitmap release];
-
- painter->endNativePainting();
-
- return QAbstractVideoSurface::NoError;
- }
- }
- } else if (painter->paintEngine()->type() == QPaintEngine::OpenGL2 ||
- painter->paintEngine()->type() == QPaintEngine::OpenGL) {
- CIImage *img = (CIImage*)(m_frame.handle().value<void*>());
-
- if (img) {
- CGLContextObj cglContext = CGLGetCurrentContext();
-
- if (cglContext) {
-
- if (!ciContext) {
- CGLContextObj cglContext = CGLGetCurrentContext();
- NSOpenGLPixelFormat *nsglPixelFormat = [NSOpenGLView defaultPixelFormat];
- CGLPixelFormatObj cglPixelFormat = static_cast<CGLPixelFormatObj>([nsglPixelFormat CGLPixelFormatObj]);
-
- ciContext = [CIContext contextWithCGLContext:cglContext
- pixelFormat:cglPixelFormat
- options:nil];
-
- [(CIContext*)ciContext retain];
- }
-
- CGRect sRect = CGRectMake(source.x(), source.y(), source.width(), source.height());
- CGRect dRect = m_scanLineDirection == QVideoSurfaceFormat::TopToBottom ?
- CGRectMake(target.x(), target.y()+target.height(), target.width(), -target.height()) :
- CGRectMake(target.x(), target.y(), target.width(), target.height());
-
-
- painter->beginNativePainting();
-
- [(CIContext*)ciContext drawImage:img inRect:dRect fromRect:sRect];
-
- painter->endNativePainting();
-
- return QAbstractVideoSurface::NoError;
- }
- }
- }
- }
-
- if (m_frame.handleType() == QAbstractVideoBuffer::GLTextureHandle &&
- (painter->paintEngine()->type() == QPaintEngine::OpenGL2 ||
- painter->paintEngine()->type() == QPaintEngine::OpenGL)) {
-
- painter->beginNativePainting();
- GLuint texture = m_frame.handle().toUInt();
-
- glDisable(GL_CULL_FACE);
- glEnable(GL_TEXTURE_2D);
-
- glBindTexture(GL_TEXTURE_2D, texture);
- glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
- glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
-
- const float txLeft = source.left() / m_frame.width();
- const float txRight = source.right() / m_frame.width();
- const float txTop = m_scanLineDirection == QVideoSurfaceFormat::TopToBottom
- ? source.top() / m_frame.height()
- : source.bottom() / m_frame.height();
- const float txBottom = m_scanLineDirection == QVideoSurfaceFormat::TopToBottom
- ? source.bottom() / m_frame.height()
- : source.top() / m_frame.height();
-
- glBegin(GL_QUADS);
- QRectF rect = target;
- glTexCoord2f(txLeft, txBottom);
- glVertex2f(rect.topLeft().x(), rect.topLeft().y());
- glTexCoord2f(txRight, txBottom);
- glVertex2f(rect.topRight().x() + 1, rect.topRight().y());
- glTexCoord2f(txRight, txTop);
- glVertex2f(rect.bottomRight().x() + 1, rect.bottomRight().y() + 1);
- glTexCoord2f(txLeft, txTop);
- glVertex2f(rect.bottomLeft().x(), rect.bottomLeft().y() + 1);
- glEnd();
- painter->endNativePainting();
-
- return QAbstractVideoSurface::NoError;
- }
-
- //fallback case, software rendering
- if (m_frame.map(QAbstractVideoBuffer::ReadOnly)) {
- QImage image(
- m_frame.bits(),
- m_imageSize.width(),
- m_imageSize.height(),
- m_frame.bytesPerLine(),
- m_imageFormat);
-
- if (m_scanLineDirection == QVideoSurfaceFormat::BottomToTop) {
- const QTransform oldTransform = painter->transform();
-
- painter->scale(1, -1);
- painter->translate(0, -target.bottom());
- painter->drawImage(
- QRectF(target.x(), 0, target.width(), target.height()), image, source);
- painter->setTransform(oldTransform);
- } else {
- painter->drawImage(target, image, source);
- }
-
- m_frame.unmap();
- } else {
- painter->fillRect(target, Qt::black);
- }
- return QAbstractVideoSurface::NoError;
-}
-
-void QVideoSurfaceCoreGraphicsPainter::updateColors(int, int, int, int)
-{
-}
-
-QT_END_NAMESPACE
diff --git a/src/multimedia/mediaservices/base/qpaintervideosurface_mac_p.h b/src/multimedia/mediaservices/base/qpaintervideosurface_mac_p.h
deleted file mode 100644
index 4f8a7a6c1c..0000000000
--- a/src/multimedia/mediaservices/base/qpaintervideosurface_mac_p.h
+++ /dev/null
@@ -1,100 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the QtMediaServices module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QPAINTERVIDEOSURFACE_MAC_P_H
-#define QPAINTERVIDEOSURFACE_MAC_P_H
-
-//
-// W A R N I N G
-// -------------
-//
-// This file is not part of the Qt API. It exists purely as an
-// implementation detail. This header file may change from version to
-// version without notice, or even be removed.
-//
-// We mean it.
-//
-
-#include "qpaintervideosurface_p.h"
-#include <QtMultimedia/qvideosurfaceformat.h>
-#include <QtMultimedia/qvideoframe.h>
-
-QT_BEGIN_HEADER
-
-QT_BEGIN_NAMESPACE
-
-class QVideoSurfaceCoreGraphicsPainter : public QVideoSurfacePainter
-{
-public:
- QVideoSurfaceCoreGraphicsPainter(bool glSupported);
- ~QVideoSurfaceCoreGraphicsPainter();
-
- QList<QVideoFrame::PixelFormat> supportedPixelFormats(
- QAbstractVideoBuffer::HandleType handleType) const;
-
- bool isFormatSupported(
- const QVideoSurfaceFormat &format, QVideoSurfaceFormat *similar) const;
-
- QAbstractVideoSurface::Error start(const QVideoSurfaceFormat &format);
- void stop();
-
- QAbstractVideoSurface::Error setCurrentFrame(const QVideoFrame &frame);
-
- QAbstractVideoSurface::Error paint(
- const QRectF &target, QPainter *painter, const QRectF &source);
-
- void updateColors(int brightness, int contrast, int hue, int saturation);
-
-private:
- void* ciContext;
- QList<QVideoFrame::PixelFormat> m_imagePixelFormats;
- QVideoFrame m_frame;
- QSize m_imageSize;
- QImage::Format m_imageFormat;
- QVector<QAbstractVideoBuffer::HandleType> m_supportedHandles;
- QVideoSurfaceFormat::Direction m_scanLineDirection;
-};
-
-QT_END_NAMESPACE
-
-QT_END_HEADER
-
-#endif
diff --git a/src/multimedia/mediaservices/base/qpaintervideosurface_p.h b/src/multimedia/mediaservices/base/qpaintervideosurface_p.h
deleted file mode 100644
index 07b7e012c9..0000000000
--- a/src/multimedia/mediaservices/base/qpaintervideosurface_p.h
+++ /dev/null
@@ -1,178 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the QtMediaServices module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QPAINTERVIDEOSURFACE_P_H
-#define QPAINTERVIDEOSURFACE_P_H
-
-//
-// W A R N I N G
-// -------------
-//
-// This file is not part of the Qt API. It exists purely as an
-// implementation detail. This header file may change from version to
-// version without notice, or even be removed.
-//
-// We mean it.
-//
-
-#include <QtCore/qsize.h>
-#include <QtGui/qimage.h>
-#include <QtGui/qmatrix4x4.h>
-#include <QtGui/qpaintengine.h>
-#include <QtMultimedia/qabstractvideosurface.h>
-#include <QtMultimedia/qvideoframe.h>
-
-
-QT_BEGIN_HEADER
-
-QT_BEGIN_NAMESPACE
-
-class QGLContext;
-
-class QVideoSurfacePainter
-{
-public:
- virtual ~QVideoSurfacePainter();
-
- virtual QList<QVideoFrame::PixelFormat> supportedPixelFormats(
- QAbstractVideoBuffer::HandleType handleType) const = 0;
-
- virtual bool isFormatSupported(
- const QVideoSurfaceFormat &format, QVideoSurfaceFormat *similar) const = 0;
-
- virtual QAbstractVideoSurface::Error start(const QVideoSurfaceFormat &format) = 0;
- virtual void stop() = 0;
-
- virtual QAbstractVideoSurface::Error setCurrentFrame(const QVideoFrame &frame) = 0;
-
- virtual QAbstractVideoSurface::Error paint(
- const QRectF &target, QPainter *painter, const QRectF &source) = 0;
-
- virtual void updateColors(int brightness, int contrast, int hue, int saturation) = 0;
-};
-
-class Q_MEDIASERVICES_EXPORT QPainterVideoSurface : public QAbstractVideoSurface
-{
- Q_OBJECT
-public:
- explicit QPainterVideoSurface(QObject *parent = 0);
- ~QPainterVideoSurface();
-
- QList<QVideoFrame::PixelFormat> supportedPixelFormats(
- QAbstractVideoBuffer::HandleType handleType = QAbstractVideoBuffer::NoHandle) const;
-
- bool isFormatSupported(
- const QVideoSurfaceFormat &format, QVideoSurfaceFormat *similar = 0) const;
-
- bool start(const QVideoSurfaceFormat &format);
- void stop();
-
- bool present(const QVideoFrame &frame);
-
- int brightness() const;
- void setBrightness(int brightness);
-
- int contrast() const;
- void setContrast(int contrast);
-
- int hue() const;
- void setHue(int hue);
-
- int saturation() const;
- void setSaturation(int saturation);
-
- bool isReady() const;
- void setReady(bool ready);
-
- void paint(QPainter *painter, const QRectF &target, const QRectF &source = QRectF(0, 0, 1, 1));
-
-#if !defined(QT_NO_OPENGL) && !defined(QT_OPENGL_ES_1_CL) && !defined(QT_OPENGL_ES_1)
- const QGLContext *glContext() const;
- void setGLContext(QGLContext *context);
-
- enum ShaderType
- {
- NoShaders = 0x00,
- FragmentProgramShader = 0x01,
- GlslShader = 0x02
- };
-
- Q_DECLARE_FLAGS(ShaderTypes, ShaderType)
-
- ShaderTypes supportedShaderTypes() const;
-
- ShaderType shaderType() const;
- void setShaderType(ShaderType type);
-#endif
-
-Q_SIGNALS:
- void frameChanged();
-
-private:
- void createPainter();
-
- QVideoSurfacePainter *m_painter;
-#if !defined(QT_NO_OPENGL) && !defined(QT_OPENGL_ES_1_CL) && !defined(QT_OPENGL_ES_1)
- QGLContext *m_glContext;
- ShaderTypes m_shaderTypes;
- ShaderType m_shaderType;
-#endif
- int m_brightness;
- int m_contrast;
- int m_hue;
- int m_saturation;
-
- QVideoFrame::PixelFormat m_pixelFormat;
- QSize m_frameSize;
- QRect m_sourceRect;
- bool m_colorsDirty;
- bool m_ready;
-};
-
-#if !defined(QT_NO_OPENGL) && !defined(QT_OPENGL_ES_1_CL) && !defined(QT_OPENGL_ES_1)
-Q_DECLARE_OPERATORS_FOR_FLAGS(QPainterVideoSurface::ShaderTypes)
-#endif
-
-QT_END_NAMESPACE
-
-QT_END_HEADER
-
-#endif
diff --git a/src/multimedia/mediaservices/base/qtmedianamespace.h b/src/multimedia/mediaservices/base/qtmedianamespace.h
deleted file mode 100644
index 917c646f68..0000000000
--- a/src/multimedia/mediaservices/base/qtmedianamespace.h
+++ /dev/null
@@ -1,194 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the QtMediaServices module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QTMEDIANAMESPACE_H
-#define QTMEDIANAMESPACE_H
-
-#include <QtCore/qpair.h>
-#include <QtCore/qmetatype.h>
-
-QT_BEGIN_HEADER
-
-QT_BEGIN_NAMESPACE
-
-QT_MODULE(Multimedia)
-
-namespace QtMediaServices
-{
- enum MetaData
- {
- // Common
- Title,
- SubTitle,
- Author,
- Comment,
- Description,
- Category,
- Genre,
- Year,
- Date,
- UserRating,
- Keywords,
- Language,
- Publisher,
- Copyright,
- ParentalRating,
- RatingOrganisation,
-
- // Media
- Size,
- MediaType,
- Duration,
-
- // Audio
- AudioBitRate,
- AudioCodec,
- AverageLevel,
- ChannelCount,
- PeakValue,
- SampleRate,
-
- // Music
- AlbumTitle,
- AlbumArtist,
- ContributingArtist,
- Composer,
- Conductor,
- Lyrics,
- Mood,
- TrackNumber,
- TrackCount,
-
- CoverArtUrlSmall,
- CoverArtUrlLarge,
-
- // Image/Video
- Resolution,
- PixelAspectRatio,
-
- // Video
- VideoFrameRate,
- VideoBitRate,
- VideoCodec,
-
- PosterUrl,
-
- // Movie
- ChapterNumber,
- Director,
- LeadPerformer,
- Writer,
-
- // Photos
- CameraManufacturer,
- CameraModel,
- Event,
- Subject,
- Orientation,
- ExposureTime,
- FNumber,
- ExposureProgram,
- ISOSpeedRatings,
- ExposureBiasValue,
- DateTimeOriginal,
- DateTimeDigitized,
- SubjectDistance,
- MeteringMode,
- LightSource,
- Flash,
- FocalLength,
- ExposureMode,
- WhiteBalance,
- DigitalZoomRatio,
- FocalLengthIn35mmFilm,
- SceneCaptureType,
- GainControl,
- Contrast,
- Saturation,
- Sharpness,
- DeviceSettingDescription,
-
- PosterImage,
- CoverArtImage,
- ThumbnailImage
-
- };
-
- enum SupportEstimate
- {
- NotSupported,
- MaybeSupported,
- ProbablySupported,
- PreferredService
- };
-
- enum EncodingQuality
- {
- VeryLowQuality,
- LowQuality,
- NormalQuality,
- HighQuality,
- VeryHighQuality
- };
-
- enum EncodingMode
- {
- ConstantQualityEncoding,
- ConstantBitRateEncoding,
- AverageBitRateEncoding,
- TwoPassEncoding
- };
-
- enum AvailabilityError
- {
- NoError,
- ServiceMissingError,
- BusyError,
- ResourceError
- };
-
-}
-
-QT_END_NAMESPACE
-
-QT_END_HEADER
-
-#endif
diff --git a/src/multimedia/mediaservices/base/qtmedianamespace.qdoc b/src/multimedia/mediaservices/base/qtmedianamespace.qdoc
deleted file mode 100644
index 54b856fda2..0000000000
--- a/src/multimedia/mediaservices/base/qtmedianamespace.qdoc
+++ /dev/null
@@ -1,214 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the QtMultimedia module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-/*!
- \namespace QtMediaServices
- \ingroup multimedia-serv
-
- \brief The QtMediaServices namespace contains miscellaneous identifiers used
- throughout the Qt Media Services library.
-*/
-
-/*!
- \enum QtMediaServices::MetaData
-
- This enum provides identifiers for meta-data attributes.
-
- Common attributes
- \value Title The title of the media. QString.
- \value SubTitle The sub-title of the media. QString.
- \value Author The authors of the media. QStringList.
- \value Comment A user comment about the media. QString.
- \value Description A description of the media. QString
- \value Category The category of the media. QStringList.
- \value Genre The genre of the media. QStringList.
- \value Year The year of release of the media. int.
- \value Date The date of the media. QDate.
- \value UserRating A user rating of the media. int [0..100].
- \value Keywords A list of keywords describing the media. QStringList.
- \value Language The language of media, as an ISO 639-2 code.
-
- \value Publisher The publisher of the media. QString.
- \value Copyright The media's copyright notice. QString.
- \value ParentalRating The parental rating of the media. QString.
- \value RatingOrganisation The organisation responsible for the parental rating of the media.
- QString.
-
- Media attributes
- \value Size The size in bytes of the media. qint64
- \value MediaType The type of the media (audio, video, etc). QString.
- \value Duration The duration in millseconds of the media. qint64.
-
- Audio attributes
- \value AudioBitRate The bit rate of the media's audio stream in bits per second. int.
- \value AudioCodec The codec of the media's audio stream. QString.
- \value AverageLevel The average volume level of the media. int.
- \value ChannelCount The number of channels in the media's audio stream. int.
- \value PeakValue The peak volume of the media's audio stream. int
- \value SampleRate The sample rate of the media's audio stream in hertz. int
-
- Music attributes
- \value AlbumTitle The title of the album the media belongs to. QString.
- \value AlbumArtist The principal artist of the album the media belongs to. QString.
- \value ContributingArtist The artists contributing to the media. QStringList.
- \value Composer The composer of the media. QStringList.
- \value Conductor The conductor of the media. QString.
- \value Lyrics The lyrics to the media. QString.
- \value Mood The mood of the media. QString.
- \value TrackNumber The track number of the media. int.
- \value TrackCount The number of tracks on the album containing the media. int.
-
- \value CoverArtUrlSmall The URL of a small cover art image. QUrl.
- \value CoverArtUrlLarge The URL of a large cover art image. QUrl.
- \value CoverArtImage An embedded cover art image. QImage.
-
- Image and video attributes
- \value Resolution The dimensions of an image or video. QSize.
- \value PixelAspectRatio The pixel aspect ratio of an image or video. QSize.
-
- Video attributes
- \value VideoFrameRate The frame rate of the media's video stream. qreal.
- \value VideoBitRate The bit rate of the media's video stream in bits per second. int.
- \value VideoCodec The codec of the media's video stream. QString.
-
- \value PosterUrl The URL of a poster image. QUrl.
- \value PosterImage An embedded poster image. QImage.
-
- Movie attributes
- \value ChapterNumber The chapter number of the media. int.
- \value Director The director of the media. QString.
- \value LeadPerformer The lead performer in the media. QStringList.
- \value Writer The writer of the media. QStringList.
-
- Photo attributes.
- \value CameraManufacturer The manufacturer of the camera used to capture the media. QString.
- \value CameraModel The model of the camera used to capture the media. QString.
- \value Event The event during which the media was captured. QString.
- \value Subject The subject of the media. QString.
- \value Orientation Orientation of image.
- \value ExposureTime Exposure time, given in seconds.
- \value FNumber The F Number.
- \value ExposureProgram
- The class of the program used by the camera to set exposure when the picture is taken.
- \value ISOSpeedRatings
- Indicates the ISO Speed and ISO Latitude of the camera or input device as specified in ISO 12232.
- \value ExposureBiasValue
- The exposure bias.
- The unit is the APEX (Additive System of Photographic Exposure) setting.
- \value DateTimeOriginal The date and time when the original image data was generated.
- \value DateTimeDigitized The date and time when the image was stored as digital data.
- \value SubjectDistance The distance to the subject, given in meters.
- \value MeteringMode The metering mode.
- \value LightSource
- The kind of light source.
- \value Flash
- Status of flash when the image was shot.
- \value FocalLength
- The actual focal length of the lens, in mm.
- \value ExposureMode
- Indicates the exposure mode set when the image was shot.
- \value WhiteBalance
- Indicates the white balance mode set when the image was shot.
- \value DigitalZoomRatio
- Indicates the digital zoom ratio when the image was shot.
- \value FocalLengthIn35mmFilm
- Indicates the equivalent focal length assuming a 35mm film camera, in mm.
- \value SceneCaptureType
- Indicates the type of scene that was shot.
- It can also be used to record the mode in which the image was shot.
- \value GainControl
- Indicates the degree of overall image gain adjustment.
- \value Contrast
- Indicates the direction of contrast processing applied by the camera when the image was shot.
- \value Saturation
- Indicates the direction of saturation processing applied by the camera when the image was shot.
- \value Sharpness
- Indicates the direction of sharpness processing applied by the camera when the image was shot.
- \value DeviceSettingDescription
- Exif tag, indicates information on the picture-taking conditions of a particular camera model. QString
-
- \value ThumbnailImage An embedded thumbnail image. QImage.
-*/
-
-/*!
- \enum QtMediaServices::SupportEstimate
-
- Enumerates the levels of support a media service provider may have for a feature.
-
- \value NotSupported The feature is not supported.
- \value MaybeSupported The feature may be supported.
- \value ProbablySupported The feature is probably supported.
- \value PreferredService The service is the preferred provider of a service.
-*/
-
-/*!
- \enum QtMediaServices::EncodingQuality
-
- Enumerates quality encoding levels.
-
- \value VeryLowQuality
- \value LowQuality
- \value NormalQuality
- \value HighQuality
- \value VeryHighQuality
-*/
-
-/*!
- \enum QtMediaServices::EncodingMode
-
- Enumerates encoding modes.
-
- \value ConstantQualityEncoding
- \value ConstantBitRateEncoding
- \value AverageBitRateEncoding
- \value TwoPassEncoding
-*/
-
-/*!
- \enum QtMediaServices::AvailabilityError
-
- Enumerates Service status errors.
-
- \value NoError
- \value ServiceMissingError
- \value ResourceError
- \value BusyError
-*/
diff --git a/src/multimedia/mediaservices/base/qvideodevicecontrol.cpp b/src/multimedia/mediaservices/base/qvideodevicecontrol.cpp
deleted file mode 100644
index 30c56cf802..0000000000
--- a/src/multimedia/mediaservices/base/qvideodevicecontrol.cpp
+++ /dev/null
@@ -1,155 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the QtMediaServices module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include <QtMediaServices/qvideodevicecontrol.h>
-
-
-QT_BEGIN_HEADER
-
-QT_BEGIN_NAMESPACE
-
-/*!
- \class QVideoDeviceControl
- \preliminary
- \since 4.7
- \brief The QVideoDeviceControl class provides an video device selector media control.
- \ingroup multimedia-serv
-
- The QVideoDeviceControl class provides descriptions of the video devices
- available on a system and allows one to be selected as the endpoint of
- a media service.
-
- The interface name of QVideoDeviceControl is \c com.nokia.Qt.VideoDeviceControl as
- defined in QVideoDeviceControl_iid.
-*/
-
-/*!
- \macro QVideoDeviceControl_iid
-
- \c com.nokia.Qt.VideoDeviceControl
-
- Defines the interface name of the QVideoDeviceControl class.
-
- \relates QVideoDeviceControl
-*/
-
-/*!
- Constructs a video device control with the given \a parent.
-*/
-QVideoDeviceControl::QVideoDeviceControl(QObject *parent)
- :QMediaControl(parent)
-{
-}
-
-/*!
- Destroys a video device control.
-*/
-QVideoDeviceControl::~QVideoDeviceControl()
-{
-}
-
-/*!
- \fn QVideoDeviceControl::deviceCount() const
-
- Returns the number of available video devices;
-*/
-
-/*!
- \fn QVideoDeviceControl::deviceName(int index) const
-
- Returns the name of the video device at \a index.
-*/
-
-/*!
- \fn QVideoDeviceControl::deviceDescription(int index) const
-
- Returns a description of the video device at \a index.
-*/
-
-/*!
- \fn QVideoDeviceControl::deviceIcon(int index) const
-
- Returns an icon for the video device at \a index.
-*/
-
-/*!
- \fn QVideoDeviceControl::defaultDevice() const
-
- Returns the index of the default video device.
-*/
-
-/*!
- \fn QVideoDeviceControl::selectedDevice() const
-
- Returns the index of the selected video device.
-*/
-
-/*!
- \fn QVideoDeviceControl::setSelectedDevice(int index)
-
- Sets the selected video device \a index.
-*/
-
-/*!
- \fn QVideoDeviceControl::devicesChanged()
-
- Signals that the list of available video devices has changed.
-*/
-
-/*!
- \fn QVideoDeviceControl::selectedDeviceChanged(int index)
-
- Signals that the selected video device \a index has changed.
-*/
-
-/*!
- \fn QVideoDeviceControl::selectedDeviceChanged(const QString &name)
-
- Signals that the selected video device \a name has changed.
-*/
-
-QT_END_NAMESPACE
-
-QT_END_HEADER
-
-#include "moc_qvideodevicecontrol.cpp"
-
-
diff --git a/src/multimedia/mediaservices/base/qvideodevicecontrol.h b/src/multimedia/mediaservices/base/qvideodevicecontrol.h
deleted file mode 100644
index 0b9235b6e4..0000000000
--- a/src/multimedia/mediaservices/base/qvideodevicecontrol.h
+++ /dev/null
@@ -1,90 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the QtMediaServices module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QVIDEODEVICECONTROL_H
-#define QVIDEODEVICECONTROL_H
-
-#include <QtMediaServices/qmediacontrol.h>
-
-
-QT_BEGIN_HEADER
-
-QT_BEGIN_NAMESPACE
-
-QT_MODULE(Multimedia)
-
-class Q_MEDIASERVICES_EXPORT QVideoDeviceControl : public QMediaControl
-{
- Q_OBJECT
-
-public:
- virtual ~QVideoDeviceControl();
-
- virtual int deviceCount() const = 0;
-
- virtual QString deviceName(int index) const = 0;
- virtual QString deviceDescription(int index) const = 0;
- virtual QIcon deviceIcon(int index) const = 0;
-
- virtual int defaultDevice() const = 0;
- virtual int selectedDevice() const = 0;
-
-public Q_SLOTS:
- virtual void setSelectedDevice(int index) = 0;
-
-Q_SIGNALS:
- void selectedDeviceChanged(int index);
- void selectedDeviceChanged(const QString &deviceName);
- void devicesChanged();
-
-protected:
- QVideoDeviceControl(QObject *parent = 0);
-};
-
-#define QVideoDeviceControl_iid "com.nokia.Qt.QVideoDeviceControl/1.0"
-Q_MEDIA_DECLARE_CONTROL(QVideoDeviceControl, QVideoDeviceControl_iid)
-
-
-QT_END_NAMESPACE
-
-QT_END_HEADER
-
-#endif // QVIDEODEVICECONTROL_H
diff --git a/src/multimedia/mediaservices/base/qvideooutputcontrol.cpp b/src/multimedia/mediaservices/base/qvideooutputcontrol.cpp
deleted file mode 100644
index 532c892735..0000000000
--- a/src/multimedia/mediaservices/base/qvideooutputcontrol.cpp
+++ /dev/null
@@ -1,135 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the QtMediaServices module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include <QtMediaServices/qvideooutputcontrol.h>
-
-
-QT_BEGIN_NAMESPACE
-
-/*!
- \class QVideoOutputControl
- \preliminary
- \since 4.7
- \brief The QVideoOutputControl class provides a means of selecting the
- active video output control.
-
- \ingroup multimedia-serv
-
- There are multiple controls which a QMediaService may use to output
- video ony one of which may be active at one time, QVideoOutputControl
- is the means by which this active control is selected.
-
- The possible output controls are QVideoRendererControl,
- QVideoWindowControl, and QVideoWidgetControl.
-
- The interface name of QVideoOutputControl is \c com.nokia.Qt.QVideoOutputControl/1.0 as
- defined in QVideoOutputControl_iid.
-
- \sa QMediaService::control(), QVideoWidget, QVideoRendererControl,
- QVideoWindowControl, QVideoWidgetControl
-*/
-
-/*!
- \macro QVideoOutputControl_iid
-
- \c com.nokia.Qt.QVideoOutputControl/1.0
-
- Defines the interface name of the QVideoOutputControl class.
-
- \relates QVideoOutputControl
-*/
-
-/*!
- \enum QVideoOutputControl::Output
-
- Identifies the possible render targets of a video output.
-
- \value NoOutput Video is not rendered.
- \value WindowOutput Video is rendered to the target of a QVideoWindowControl.
- \value RendererOutput Video is rendered to the target of a QVideoRendererControl.
- \value WidgetOutput Video is rendered to a QWidget provided by QVideoWidgetControl.
- \value UserOutput Start value for user defined video targets.
- \value MaxUserOutput End value for user defined video targets.
-*/
-
-/*!
- Constructs a new video output control with the given \a parent.
-*/
-QVideoOutputControl::QVideoOutputControl(QObject *parent)
- : QMediaControl(parent)
-{
-}
-
-/*!
- Destroys a video output control.
-*/
-QVideoOutputControl::~QVideoOutputControl()
-{
-}
-
-/*!
- \fn QList<QVideoOutputControl::Output> QVideoOutputControl::availableOutputs() const
-
- Returns a list of available video output targets.
-*/
-
-/*!
- \fn QVideoOutputControl::output() const
-
- Returns the current video output target.
-*/
-
-/*!
- \fn QVideoOutputControl::setOutput(Output output)
-
- Sets the current video \a output target.
-*/
-
-/*!
- \fn QVideoOutputControl::availableOutputsChanged(const QList<QVideoOutputControl::Output> &outputs)
-
- Signals that available set of video \a outputs has changed.
-*/
-
-#include "moc_qvideooutputcontrol.cpp"
-
-QT_END_NAMESPACE
-
diff --git a/src/multimedia/mediaservices/base/qvideooutputcontrol.h b/src/multimedia/mediaservices/base/qvideooutputcontrol.h
deleted file mode 100644
index f87bb3c3dd..0000000000
--- a/src/multimedia/mediaservices/base/qvideooutputcontrol.h
+++ /dev/null
@@ -1,91 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the QtMediaServices module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QVIDEOOUTPUTCONTROL_H
-#define QVIDEOOUTPUTCONTROL_H
-
-#include <QtMediaServices/qmediacontrol.h>
-
-
-QT_BEGIN_HEADER
-
-QT_BEGIN_NAMESPACE
-
-QT_MODULE(Multimedia)
-
-
-class Q_MEDIASERVICES_EXPORT QVideoOutputControl : public QMediaControl
-{
- Q_OBJECT
-
-public:
- enum Output
- {
- NoOutput,
- WindowOutput,
- RendererOutput,
- WidgetOutput,
- UserOutput = 100,
- MaxUserOutput = 1000
- };
-
- ~QVideoOutputControl();
-
- virtual QList<Output> availableOutputs() const = 0;
-
- virtual Output output() const = 0;
- virtual void setOutput(Output output) = 0;
-
-Q_SIGNALS:
- void availableOutputsChanged(const QList<QVideoOutputControl::Output> &outputs);
-
-protected:
- QVideoOutputControl(QObject *parent = 0);
-};
-
-#define QVideoOutputControl_iid "com.nokia.Qt.QVideoOutputControl/1.0"
-Q_MEDIA_DECLARE_CONTROL(QVideoOutputControl, QVideoOutputControl_iid)
-
-QT_END_NAMESPACE
-
-QT_END_HEADER
-
-#endif
diff --git a/src/multimedia/mediaservices/base/qvideorenderercontrol.cpp b/src/multimedia/mediaservices/base/qvideorenderercontrol.cpp
deleted file mode 100644
index 6cc3138001..0000000000
--- a/src/multimedia/mediaservices/base/qvideorenderercontrol.cpp
+++ /dev/null
@@ -1,124 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the QtMediaServices module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include <QtMediaServices/qvideorenderercontrol.h>
-
-#include "qmediacontrol_p.h"
-
-
-QT_BEGIN_NAMESPACE
-
-/*!
- \class QVideoRendererControl
- \preliminary
- \since 4.7
- \brief The QVideoRendererControl class provides a control for rendering
- to a video surface.
-
- \ingroup multimedia-serv
-
- Using the surface() property of QVideoRendererControl a QAbstractVideoSurface
- may be set as the video render target of a QMediaService.
-
- \code
- QVideoRendererControl *rendererControl = mediaService->control<QVideoRendererControl *>();
- rendererControl->setSurface(myVideoSurface);
- \endcode
-
- QVideoRendererControl is one of number of possible video output controls,
- in order to receive video it must be made the active video output
- control by setting the output property of QVideoOutputControl to
- \l {QVideoOutputControl::RendererOutput}{RendererOutput}. Consequently any
- QMediaService that implements QVideoRendererControl must also implement
- QVideoOutputControl.
-
- \code
- QVideoOutputControl *outputControl = mediaService->control<QVideoOutputControl *>();
- outputControl->setOutput(QVideoOutputControl::RendererOutput);
- \endcode
-
- The interface name of QVideoRendererControl is \c com.nokia.Qt.QVideoRendererControl/1.0 as
- defined in QVideoRendererControl_iid.
-
- \sa QMediaService::control(), QVideoOutputControl, QVideoWidget
-*/
-
-/*!
- \macro QVideoRendererControl_iid
-
- \c com.nokia.Qt.QVideoRendererControl/1.0
-
- Defines the interface name of the QVideoRendererControl class.
-
- \relates QVideoRendererControl
-*/
-
-/*!
- Constructs a new video renderer media end point with the given \a parent.
-*/
-QVideoRendererControl::QVideoRendererControl(QObject *parent)
- : QMediaControl(parent)
-{
-}
-
-/*!
- Destroys a video renderer media end point.
-*/
-QVideoRendererControl::~QVideoRendererControl()
-{
-}
-
-/*!
- \fn QVideoRendererControl::surface() const
-
- Returns the surface a video producer renders to.
-*/
-
-/*!
- \fn QVideoRendererControl::setSurface(QAbstractVideoSurface *surface)
-
- Sets the \a surface a video producer renders to.
-*/
-
-#include "moc_qvideorenderercontrol.cpp"
-
-QT_END_NAMESPACE
-
diff --git a/src/multimedia/mediaservices/base/qvideorenderercontrol.h b/src/multimedia/mediaservices/base/qvideorenderercontrol.h
deleted file mode 100644
index 28e3d854cc..0000000000
--- a/src/multimedia/mediaservices/base/qvideorenderercontrol.h
+++ /dev/null
@@ -1,77 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the QtMediaServices module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QVIDEORENDERERCONTROL_H
-#define QVIDEORENDERERCONTROL_H
-
-#include <QtMediaServices/qmediacontrol.h>
-
-QT_BEGIN_HEADER
-
-QT_BEGIN_NAMESPACE
-
-QT_MODULE(Multimedia)
-
-
-class QAbstractVideoSurface;
-
-class Q_MEDIASERVICES_EXPORT QVideoRendererControl : public QMediaControl
-{
- Q_OBJECT
-
-public:
- ~QVideoRendererControl();
-
- virtual QAbstractVideoSurface *surface() const = 0;
- virtual void setSurface(QAbstractVideoSurface *surface) = 0;
-
-protected:
- QVideoRendererControl(QObject *parent = 0);
-};
-
-#define QVideoRendererControl_iid "com.nokia.Qt.QVideoRendererControl/1.0"
-Q_MEDIA_DECLARE_CONTROL(QVideoRendererControl, QVideoRendererControl_iid)
-
-QT_END_NAMESPACE
-
-QT_END_HEADER
-
-#endif // QVIDEORENDERERCONTROL_H
diff --git a/src/multimedia/mediaservices/base/qvideowidget.cpp b/src/multimedia/mediaservices/base/qvideowidget.cpp
deleted file mode 100644
index d39b1f4170..0000000000
--- a/src/multimedia/mediaservices/base/qvideowidget.cpp
+++ /dev/null
@@ -1,944 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the QtMediaServices module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "qvideowidget_p.h"
-
-#include <QtMediaServices/qmediaobject.h>
-#include <QtMediaServices/qmediaservice.h>
-#include <QtMediaServices/qvideooutputcontrol.h>
-#include <QtMediaServices/qvideowindowcontrol.h>
-#include <QtMediaServices/qvideowidgetcontrol.h>
-
-#include "qpaintervideosurface_p.h"
-#include <QtMediaServices/qvideorenderercontrol.h>
-#include <QtMultimedia/qvideosurfaceformat.h>
-#include <qpainter.h>
-
-#include <qapplication.h>
-#include <qevent.h>
-#include <qdialog.h>
-#include <qboxlayout.h>
-#include <qnamespace.h>
-
-
-QT_BEGIN_NAMESPACE
-
-QVideoWidgetControlBackend::QVideoWidgetControlBackend(
- QVideoWidgetControl *control, QWidget *widget)
- : m_widgetControl(control)
-{
- connect(control, SIGNAL(brightnessChanged(int)), widget, SLOT(_q_brightnessChanged(int)));
- connect(control, SIGNAL(contrastChanged(int)), widget, SLOT(_q_contrastChanged(int)));
- connect(control, SIGNAL(hueChanged(int)), widget, SLOT(_q_hueChanged(int)));
- connect(control, SIGNAL(saturationChanged(int)), widget, SLOT(_q_saturationChanged(int)));
- connect(control, SIGNAL(fullScreenChanged(bool)), widget, SLOT(_q_fullScreenChanged(bool)));
-
- QBoxLayout *layout = new QVBoxLayout;
- layout->setMargin(0);
- layout->setSpacing(0);
- layout->addWidget(control->videoWidget());
-
- widget->setLayout(layout);
-}
-
-void QVideoWidgetControlBackend::setBrightness(int brightness)
-{
- m_widgetControl->setBrightness(brightness);
-}
-
-void QVideoWidgetControlBackend::setContrast(int contrast)
-{
- m_widgetControl->setContrast(contrast);
-}
-
-void QVideoWidgetControlBackend::setHue(int hue)
-{
- m_widgetControl->setHue(hue);
-}
-
-void QVideoWidgetControlBackend::setSaturation(int saturation)
-{
- m_widgetControl->setSaturation(saturation);
-}
-
-void QVideoWidgetControlBackend::setFullScreen(bool fullScreen)
-{
- m_widgetControl->setFullScreen(fullScreen);
-}
-
-
-Qt::AspectRatioMode QVideoWidgetControlBackend::aspectRatioMode() const
-{
- return m_widgetControl->aspectRatioMode();
-}
-
-void QVideoWidgetControlBackend::setAspectRatioMode(Qt::AspectRatioMode mode)
-{
- m_widgetControl->setAspectRatioMode(mode);
-}
-
-QRendererVideoWidgetBackend::QRendererVideoWidgetBackend(
- QVideoRendererControl *control, QWidget *widget)
- : m_rendererControl(control)
- , m_widget(widget)
- , m_surface(new QPainterVideoSurface)
- , m_aspectRatioMode(Qt::KeepAspectRatio)
- , m_updatePaintDevice(true)
-{
- connect(this, SIGNAL(brightnessChanged(int)), m_widget, SLOT(_q_brightnessChanged(int)));
- connect(this, SIGNAL(contrastChanged(int)), m_widget, SLOT(_q_contrastChanged(int)));
- connect(this, SIGNAL(hueChanged(int)), m_widget, SLOT(_q_hueChanged(int)));
- connect(this, SIGNAL(saturationChanged(int)), m_widget, SLOT(_q_saturationChanged(int)));
- connect(m_surface, SIGNAL(frameChanged()), this, SLOT(frameChanged()));
- connect(m_surface, SIGNAL(surfaceFormatChanged(QVideoSurfaceFormat)),
- this, SLOT(formatChanged(QVideoSurfaceFormat)));
-
- m_rendererControl->setSurface(m_surface);
-}
-
-QRendererVideoWidgetBackend::~QRendererVideoWidgetBackend()
-{
- delete m_surface;
-}
-
-void QRendererVideoWidgetBackend::clearSurface()
-{
- m_rendererControl->setSurface(0);
-}
-
-void QRendererVideoWidgetBackend::setBrightness(int brightness)
-{
- m_surface->setBrightness(brightness);
-
- emit brightnessChanged(brightness);
-}
-
-void QRendererVideoWidgetBackend::setContrast(int contrast)
-{
- m_surface->setContrast(contrast);
-
- emit contrastChanged(contrast);
-}
-
-void QRendererVideoWidgetBackend::setHue(int hue)
-{
- m_surface->setHue(hue);
-
- emit hueChanged(hue);
-}
-
-void QRendererVideoWidgetBackend::setSaturation(int saturation)
-{
- m_surface->setSaturation(saturation);
-
- emit saturationChanged(saturation);
-}
-
-Qt::AspectRatioMode QRendererVideoWidgetBackend::aspectRatioMode() const
-{
- return m_aspectRatioMode;
-}
-
-void QRendererVideoWidgetBackend::setAspectRatioMode(Qt::AspectRatioMode mode)
-{
- m_aspectRatioMode = mode;
-
- m_widget->updateGeometry();
-}
-
-void QRendererVideoWidgetBackend::setFullScreen(bool)
-{
-}
-
-QSize QRendererVideoWidgetBackend::sizeHint() const
-{
- return m_surface->surfaceFormat().sizeHint();
-}
-
-void QRendererVideoWidgetBackend::showEvent()
-{
-}
-
-void QRendererVideoWidgetBackend::hideEvent(QHideEvent *)
-{
-#if !defined(QT_NO_OPENGL) && !defined(QT_OPENGL_ES_1_CL) && !defined(QT_OPENGL_ES_1)
- m_updatePaintDevice = true;
- m_surface->setGLContext(0);
-#endif
-}
-
-void QRendererVideoWidgetBackend::resizeEvent(QResizeEvent *)
-{
- updateRects();
-}
-
-void QRendererVideoWidgetBackend::moveEvent(QMoveEvent *)
-{
-}
-
-void QRendererVideoWidgetBackend::paintEvent(QPaintEvent *event)
-{
- QPainter painter(m_widget);
-
- if (m_widget->testAttribute(Qt::WA_OpaquePaintEvent)) {
- QRegion borderRegion = event->region();
- borderRegion = borderRegion.subtracted(m_boundingRect);
-
- QBrush brush = m_widget->palette().window();
-
- QVector<QRect> rects = borderRegion.rects();
- for (QVector<QRect>::iterator it = rects.begin(), end = rects.end(); it != end; ++it) {
- painter.fillRect(*it, brush);
- }
- }
-
- if (m_surface->isActive() && m_boundingRect.intersects(event->rect())) {
- m_surface->paint(&painter, m_boundingRect, m_sourceRect);
-
- m_surface->setReady(true);
- } else {
- #if !defined(QT_NO_OPENGL) && !defined(QT_OPENGL_ES_1_CL) && !defined(QT_OPENGL_ES_1)
- if (m_updatePaintDevice && (painter.paintEngine()->type() == QPaintEngine::OpenGL
- || painter.paintEngine()->type() == QPaintEngine::OpenGL2)) {
- m_updatePaintDevice = false;
-
- m_surface->setGLContext(const_cast<QGLContext *>(QGLContext::currentContext()));
- if (m_surface->supportedShaderTypes() & QPainterVideoSurface::GlslShader) {
- m_surface->setShaderType(QPainterVideoSurface::GlslShader);
- } else {
- m_surface->setShaderType(QPainterVideoSurface::FragmentProgramShader);
- }
- }
-#endif
- }
-
-}
-
-void QRendererVideoWidgetBackend::formatChanged(const QVideoSurfaceFormat &format)
-{
- m_nativeSize = format.sizeHint();
-
- updateRects();
-
- m_widget->updateGeometry();
- m_widget->update();
-}
-
-void QRendererVideoWidgetBackend::frameChanged()
-{
- m_widget->update(m_boundingRect);
-}
-
-void QRendererVideoWidgetBackend::updateRects()
-{
- QRect rect = m_widget->rect();
-
- if (m_nativeSize.isEmpty()) {
- m_boundingRect = QRect();
- } else if (m_aspectRatioMode == Qt::IgnoreAspectRatio) {
- m_boundingRect = rect;
- m_sourceRect = QRectF(0, 0, 1, 1);
- } else if (m_aspectRatioMode == Qt::KeepAspectRatio) {
- QSize size = m_nativeSize;
- size.scale(rect.size(), Qt::KeepAspectRatio);
-
- m_boundingRect = QRect(0, 0, size.width(), size.height());
- m_boundingRect.moveCenter(rect.center());
-
- m_sourceRect = QRectF(0, 0, 1, 1);
- } else if (m_aspectRatioMode == Qt::KeepAspectRatioByExpanding) {
- m_boundingRect = rect;
-
- QSizeF size = rect.size();
- size.scale(m_nativeSize, Qt::KeepAspectRatio);
-
- m_sourceRect = QRectF(
- 0, 0, size.width() / m_nativeSize.width(), size.height() / m_nativeSize.height());
- m_sourceRect.moveCenter(QPointF(0.5, 0.5));
- }
-}
-
-QWindowVideoWidgetBackend::QWindowVideoWidgetBackend(QVideoWindowControl *control, QWidget *widget)
- : m_windowControl(control)
- , m_widget(widget)
- , m_aspectRatioMode(Qt::KeepAspectRatio)
-{
- connect(control, SIGNAL(brightnessChanged(int)), m_widget, SLOT(_q_brightnessChanged(int)));
- connect(control, SIGNAL(contrastChanged(int)), m_widget, SLOT(_q_contrastChanged(int)));
- connect(control, SIGNAL(hueChanged(int)), m_widget, SLOT(_q_hueChanged(int)));
- connect(control, SIGNAL(saturationChanged(int)), m_widget, SLOT(_q_saturationChanged(int)));
- connect(control, SIGNAL(fullScreenChanged(bool)), m_widget, SLOT(_q_fullScreenChanged(bool)));
- connect(control, SIGNAL(nativeSizeChanged()), m_widget, SLOT(_q_dimensionsChanged()));
-}
-
-QWindowVideoWidgetBackend::~QWindowVideoWidgetBackend()
-{
-}
-
-void QWindowVideoWidgetBackend::setBrightness(int brightness)
-{
- m_windowControl->setBrightness(brightness);
-}
-
-void QWindowVideoWidgetBackend::setContrast(int contrast)
-{
- m_windowControl->setContrast(contrast);
-}
-
-void QWindowVideoWidgetBackend::setHue(int hue)
-{
- m_windowControl->setHue(hue);
-}
-
-void QWindowVideoWidgetBackend::setSaturation(int saturation)
-{
- m_windowControl->setSaturation(saturation);
-}
-
-void QWindowVideoWidgetBackend::setFullScreen(bool fullScreen)
-{
- m_windowControl->setFullScreen(fullScreen);
-}
-
-Qt::AspectRatioMode QWindowVideoWidgetBackend::aspectRatioMode() const
-{
- return m_windowControl->aspectRatioMode();
-}
-
-void QWindowVideoWidgetBackend::setAspectRatioMode(Qt::AspectRatioMode mode)
-{
- m_windowControl->setAspectRatioMode(mode);
-}
-
-QSize QWindowVideoWidgetBackend::sizeHint() const
-{
- return m_windowControl->nativeSize();
-}
-
-void QWindowVideoWidgetBackend::showEvent()
-{
- m_windowControl->setWinId(m_widget->winId());
-
- m_windowControl->setDisplayRect(m_widget->rect());
-}
-
-void QWindowVideoWidgetBackend::hideEvent(QHideEvent *)
-{
-}
-
-void QWindowVideoWidgetBackend::moveEvent(QMoveEvent *)
-{
- m_windowControl->setDisplayRect(m_widget->rect());
-}
-
-void QWindowVideoWidgetBackend::resizeEvent(QResizeEvent *)
-{
- m_windowControl->setDisplayRect(m_widget->rect());
-}
-
-void QWindowVideoWidgetBackend::paintEvent(QPaintEvent *event)
-{
- if (m_widget->testAttribute(Qt::WA_OpaquePaintEvent)) {
- QPainter painter(m_widget);
-
- painter.fillRect(event->rect(), m_widget->palette().window());
- }
-
- m_windowControl->repaint();
-
- event->accept();
-}
-
-void QVideoWidgetPrivate::setCurrentControl(QVideoWidgetControlInterface *control)
-{
- if (currentControl != control) {
- currentControl = control;
-
- currentControl->setBrightness(brightness);
- currentControl->setContrast(contrast);
- currentControl->setHue(hue);
- currentControl->setSaturation(saturation);
- currentControl->setAspectRatioMode(aspectRatioMode);
- }
-}
-
-void QVideoWidgetPrivate::show()
-{
- if (outputControl) {
- if (widgetBackend != 0) {
- setCurrentControl(widgetBackend);
- outputControl->setOutput(QVideoOutputControl::WidgetOutput);
- } else if (windowBackend != 0 && (q_func()->window() == 0
- || !q_func()->window()->testAttribute(Qt::WA_DontShowOnScreen))) {
- windowBackend->showEvent();
- currentBackend = windowBackend;
- setCurrentControl(windowBackend);
- outputControl->setOutput(QVideoOutputControl::WindowOutput);
- } else if (rendererBackend != 0) {
- rendererBackend->showEvent();
- currentBackend = rendererBackend;
- setCurrentControl(rendererBackend);
- outputControl->setOutput(QVideoOutputControl::RendererOutput);
- } else {
- outputControl->setOutput(QVideoOutputControl::NoOutput);
- }
- }
-}
-
-void QVideoWidgetPrivate::clearService()
-{
- if (service) {
- QObject::disconnect(service, SIGNAL(destroyed()), q_func(), SLOT(_q_serviceDestroyed()));
-
- if (outputControl)
- outputControl->setOutput(QVideoOutputControl::NoOutput);
-
- if (widgetBackend) {
- QLayout *layout = q_func()->layout();
-
- for (QLayoutItem *item = layout->takeAt(0); item; item = layout->takeAt(0)) {
- item->widget()->setParent(0);
- delete item;
- }
- delete layout;
-
- delete widgetBackend;
- widgetBackend = 0;
- }
-
- delete windowBackend;
- windowBackend = 0;
-
- if (rendererBackend) {
- rendererBackend->clearSurface();
-
- delete rendererBackend;
- rendererBackend = 0;
- }
-
- currentBackend = 0;
- currentControl = 0;
- outputControl = 0;
- service = 0;
- }
-}
-
-void QVideoWidgetPrivate::_q_serviceDestroyed()
-{
- if (widgetBackend) {
- delete q_func()->layout();
-
- delete widgetBackend;
- widgetBackend = 0;
- }
-
- delete windowBackend;
- windowBackend = 0;
-
- delete rendererBackend;
- rendererBackend = 0;
-
- currentControl = 0;
- currentBackend = 0;
- outputControl = 0;
- service = 0;
-}
-
-void QVideoWidgetPrivate::_q_mediaObjectDestroyed()
-{
- mediaObject = 0;
- clearService();
-}
-
-void QVideoWidgetPrivate::_q_brightnessChanged(int b)
-{
- if (b != brightness)
- emit q_func()->brightnessChanged(brightness = b);
-}
-
-void QVideoWidgetPrivate::_q_contrastChanged(int c)
-{
- if (c != contrast)
- emit q_func()->contrastChanged(contrast = c);
-}
-
-void QVideoWidgetPrivate::_q_hueChanged(int h)
-{
- if (h != hue)
- emit q_func()->hueChanged(hue = h);
-}
-
-void QVideoWidgetPrivate::_q_saturationChanged(int s)
-{
- if (s != saturation)
- emit q_func()->saturationChanged(saturation = s);
-}
-
-
-void QVideoWidgetPrivate::_q_fullScreenChanged(bool fullScreen)
-{
- if (!fullScreen && q_func()->isFullScreen())
- q_func()->showNormal();
-}
-
-void QVideoWidgetPrivate::_q_dimensionsChanged()
-{
- q_func()->updateGeometry();
- q_func()->update();
-}
-
-/*!
- \class QVideoWidget
- \preliminary
- \since 4.7
- \brief The QVideoWidget class provides a widget which presents video
- produced by a media object.
- \ingroup multimedia
-
- Attaching a QVideoWidget to a QMediaObject allows it to display the
- video or image output of that media object. A QVideoWidget is attached
- to media object by passing a pointer to the QMediaObject in its
- constructor, and detached by destroying the QVideoWidget.
-
- \code
- player = new QMediaPlayer;
-
- widget = new QVideoWidget(player);
- widget->show();
-
- player->setMedia(QUrl("http://example.com/movie.mp4"));
- player->play();
- \endcode
-
- \bold {Note}: Only a single display output can be attached to a media
- object at one time.
-
- \sa QMediaObject, QMediaPlayer, QGraphicsVideoItem
-*/
-
-/*!
- Constructs a new video widget.
-
- The \a parent is passed to QWidget.
-*/
-QVideoWidget::QVideoWidget(QWidget *parent)
- : QWidget(parent, 0)
- , d_ptr(new QVideoWidgetPrivate)
-{
- d_ptr->q_ptr = this;
-}
-
-/*!
- Destroys a video widget.
-*/
-QVideoWidget::~QVideoWidget()
-{
- setMediaObject(0);
- delete d_ptr;
-}
-
-/*!
- \property QVideoWidget::mediaObject
- \brief the media object which provides the video displayed by a widget.
-*/
-
-QMediaObject *QVideoWidget::mediaObject() const
-{
- return d_func()->mediaObject;
-}
-
-void QVideoWidget::setMediaObject(QMediaObject *object)
-{
- Q_D(QVideoWidget);
-
- if (object == d->mediaObject)
- return;
-
- if (d->mediaObject) {
- disconnect(d->mediaObject, SIGNAL(destroyed()), this, SLOT(_q_mediaObjectDestroyed()));
- d->mediaObject->unbind(this);
- }
-
- d->clearService();
-
- d->mediaObject = object;
-
- if (d->mediaObject) {
- d->service = d->mediaObject->service();
-
- connect(d->mediaObject, SIGNAL(destroyed()), this, SLOT(_q_mediaObjectDestroyed()));
- d->mediaObject->bind(this);
- }
-
- if (d->service) {
- connect(d->service, SIGNAL(destroyed()), SLOT(_q_serviceDestroyed()));
-
- d->outputControl = qobject_cast<QVideoOutputControl *>(
- d->service->control(QVideoOutputControl_iid));
-
- QVideoWidgetControl *widgetControl = qobject_cast<QVideoWidgetControl *>(
- d->service->control(QVideoWidgetControl_iid));
-
- if (widgetControl != 0) {
- d->widgetBackend = new QVideoWidgetControlBackend(widgetControl, this);
- } else {
- QVideoWindowControl *windowControl = qobject_cast<QVideoWindowControl *>(
- d->service->control(QVideoWindowControl_iid));
-
- if (windowControl != 0)
- d->windowBackend = new QWindowVideoWidgetBackend(windowControl, this);
-
- QVideoRendererControl *rendererControl = qobject_cast<QVideoRendererControl *>(
- d->service->control(QVideoRendererControl_iid));
-
- if (rendererControl != 0)
- d->rendererBackend = new QRendererVideoWidgetBackend(rendererControl, this);
- }
-
- if (isVisible())
- d->show();
- }
-}
-
-/*!
- \property QVideoWidget::aspectRatioMode
- \brief how video is scaled with respect to its aspect ratio.
-*/
-
-Qt::AspectRatioMode QVideoWidget::aspectRatioMode() const
-{
- return d_func()->aspectRatioMode;
-}
-
-void QVideoWidget::setAspectRatioMode(Qt::AspectRatioMode mode)
-{
- Q_D(QVideoWidget);
-
- if (d->currentControl) {
- d->currentControl->setAspectRatioMode(mode);
- d->aspectRatioMode = d->currentControl->aspectRatioMode();
- } else {
- d->aspectRatioMode = mode;
- }
-}
-
-/*!
- \property QVideoWidget::fullScreen
- \brief whether video display is confined to a window or is fullScreen.
-*/
-
-void QVideoWidget::setFullScreen(bool fullScreen)
-{
- Q_D(QVideoWidget);
-
- if (fullScreen) {
- Qt::WindowFlags flags = windowFlags();
-
- d->nonFullScreenFlags = flags & (Qt::Window | Qt::SubWindow);
- flags |= Qt::Window;
- flags &= ~Qt::SubWindow;
- setWindowFlags(flags);
-
- showFullScreen();
- } else {
- showNormal();
- }
-}
-
-/*!
- \fn QVideoWidget::fullScreenChanged(bool fullScreen)
-
- Signals that the \a fullScreen mode of a video widget has changed.
-
- \sa fullScreen
-*/
-
-/*!
- \property QVideoWidget::brightness
- \brief an adjustment to the brightness of displayed video.
-
- Valid brightness values range between -100 and 100, the default is 0.
-*/
-
-int QVideoWidget::brightness() const
-{
- return d_func()->brightness;
-}
-
-void QVideoWidget::setBrightness(int brightness)
-{
- Q_D(QVideoWidget);
-
- int boundedBrightness = qBound(-100, brightness, 100);
-
- if (d->currentControl)
- d->currentControl->setBrightness(boundedBrightness);
- else if (d->brightness != boundedBrightness)
- emit brightnessChanged(d->brightness = boundedBrightness);
-}
-
-/*!
- \fn QVideoWidget::brightnessChanged(int brightness)
-
- Signals that a video widgets's \a brightness adjustment has changed.
-
- \sa brightness
-*/
-
-/*!
- \property QVideoWidget::contrast
- \brief an adjustment to the contrast of displayed video.
-
- Valid contrast values range between -100 and 100, the default is 0.
-
-*/
-
-int QVideoWidget::contrast() const
-{
- return d_func()->contrast;
-}
-
-void QVideoWidget::setContrast(int contrast)
-{
- Q_D(QVideoWidget);
-
- int boundedContrast = qBound(-100, contrast, 100);
-
- if (d->currentControl)
- d->currentControl->setContrast(boundedContrast);
- else if (d->contrast != boundedContrast)
- emit contrastChanged(d->contrast = boundedContrast);
-}
-
-/*!
- \fn QVideoWidget::contrastChanged(int contrast)
-
- Signals that a video widgets's \a contrast adjustment has changed.
-
- \sa contrast
-*/
-
-/*!
- \property QVideoWidget::hue
- \brief an adjustment to the hue of displayed video.
-
- Valid hue values range between -100 and 100, the default is 0.
-*/
-
-int QVideoWidget::hue() const
-{
- return d_func()->hue;
-}
-
-void QVideoWidget::setHue(int hue)
-{
- Q_D(QVideoWidget);
-
- int boundedHue = qBound(-100, hue, 100);
-
- if (d->currentControl)
- d->currentControl->setHue(boundedHue);
- else if (d->hue != boundedHue)
- emit hueChanged(d->hue = boundedHue);
-}
-
-/*!
- \fn QVideoWidget::hueChanged(int hue)
-
- Signals that a video widgets's \a hue has changed.
-
- \sa hue
-*/
-
-/*!
- \property QVideoWidget::saturation
- \brief an adjustment to the saturation of displayed video.
-
- Valid saturation values range between -100 and 100, the default is 0.
-*/
-
-int QVideoWidget::saturation() const
-{
- return d_func()->saturation;
-}
-
-void QVideoWidget::setSaturation(int saturation)
-{
- Q_D(QVideoWidget);
-
- int boundedSaturation = qBound(-100, saturation, 100);
-
- if (d->currentControl)
- d->currentControl->setSaturation(boundedSaturation);
- else if (d->saturation != boundedSaturation)
- emit saturationChanged(d->saturation = boundedSaturation);
-
-}
-
-/*!
- \fn QVideoWidget::saturationChanged(int saturation)
-
- Signals that a video widgets's \a saturation has changed.
-
- \sa saturation
-*/
-
-/*!
- Returns the size hint for the current back end,
- if there is one, or else the size hint from QWidget.
- */
-QSize QVideoWidget::sizeHint() const
-{
- Q_D(const QVideoWidget);
-
- if (d->currentBackend)
- return d->currentBackend->sizeHint();
- else
- return QWidget::sizeHint();
-
-
-}
-
-/*!
- \reimp
- \internal
- */
-bool QVideoWidget::event(QEvent *event)
-{
- Q_D(QVideoWidget);
-
- if (event->type() == QEvent::WindowStateChange) {
- Qt::WindowFlags flags = windowFlags();
-
- if (windowState() & Qt::WindowFullScreen) {
- if (d->currentControl)
- d->currentControl->setFullScreen(true);
-
- if (!d->wasFullScreen)
- emit fullScreenChanged(d->wasFullScreen = true);
- } else {
- if (d->currentControl)
- d->currentControl->setFullScreen(false);
-
- if (d->wasFullScreen) {
- flags &= ~(Qt::Window | Qt::SubWindow); //clear the flags...
- flags |= d->nonFullScreenFlags; //then we reset the flags (window and subwindow)
- setWindowFlags(flags);
-
- emit fullScreenChanged(d->wasFullScreen = false);
- }
- }
- }
- return QWidget::event(event);
-}
-
-/*!
- Handles the show \a event.
- */
-void QVideoWidget::showEvent(QShowEvent *event)
-{
- Q_D(QVideoWidget);
-
- QWidget::showEvent(event);
-
- d->show();
-
-}
-
-/*!
-
- Handles the hide \a event.
-*/
-void QVideoWidget::hideEvent(QHideEvent *event)
-{
- Q_D(QVideoWidget);
-
- if (d->currentBackend)
- d->currentBackend->hideEvent(event);
-
- QWidget::hideEvent(event);
-}
-
-/*!
- Handles the resize \a event.
- */
-void QVideoWidget::resizeEvent(QResizeEvent *event)
-{
- Q_D(QVideoWidget);
-
- QWidget::resizeEvent(event);
-
- if (d->currentBackend)
- d->currentBackend->resizeEvent(event);
-}
-
-/*!
- Handles the move \a event.
- */
-void QVideoWidget::moveEvent(QMoveEvent *event)
-{
- Q_D(QVideoWidget);
-
- if (d->currentBackend)
- d->currentBackend->moveEvent(event);
-}
-
-/*!
- Handles the paint \a event.
- */
-void QVideoWidget::paintEvent(QPaintEvent *event)
-{
- Q_D(QVideoWidget);
-
- if (d->currentBackend) {
- d->currentBackend->paintEvent(event);
- } else if (testAttribute(Qt::WA_OpaquePaintEvent)) {
- QPainter painter(this);
-
- painter.fillRect(event->rect(), palette().window());
- }
-}
-
-#include "moc_qvideowidget.cpp"
-#include "moc_qvideowidget_p.cpp"
-
-QT_END_NAMESPACE
-
diff --git a/src/multimedia/mediaservices/base/qvideowidget.h b/src/multimedia/mediaservices/base/qvideowidget.h
deleted file mode 100644
index a21739a9f3..0000000000
--- a/src/multimedia/mediaservices/base/qvideowidget.h
+++ /dev/null
@@ -1,131 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the QtMediaServices module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QVIDEOWIDGET_H
-#define QVIDEOWIDGET_H
-
-#include <QtGui/qwidget.h>
-
-
-QT_BEGIN_HEADER
-
-QT_BEGIN_NAMESPACE
-
-QT_MODULE(Multimedia)
-
-
-class QMediaObject;
-
-class QVideoWidgetPrivate;
-class Q_MEDIASERVICES_EXPORT QVideoWidget : public QWidget
-{
- Q_OBJECT
- Q_PROPERTY(QMediaObject* mediaObject READ mediaObject WRITE setMediaObject)
- Q_PROPERTY(bool fullScreen READ isFullScreen WRITE setFullScreen NOTIFY fullScreenChanged)
- Q_PROPERTY(Qt::AspectRatioMode aspectRatioMode READ aspectRatioMode WRITE setAspectRatioMode NOTIFY aspectRatioModeChanged)
- Q_PROPERTY(int brightness READ brightness WRITE setBrightness NOTIFY brightnessChanged)
- Q_PROPERTY(int contrast READ contrast WRITE setContrast NOTIFY contrastChanged)
- Q_PROPERTY(int hue READ hue WRITE setHue NOTIFY hueChanged)
- Q_PROPERTY(int saturation READ saturation WRITE setSaturation NOTIFY saturationChanged)
-
-public:
- QVideoWidget(QWidget *parent = 0);
- ~QVideoWidget();
-
- QMediaObject *mediaObject() const;
- void setMediaObject(QMediaObject *object);
-
-#ifdef Q_QDOC
- bool isFullScreen() const;
-#endif
-
- Qt::AspectRatioMode aspectRatioMode() const;
-
- int brightness() const;
- int contrast() const;
- int hue() const;
- int saturation() const;
-
- QSize sizeHint() const;
-
-public Q_SLOTS:
- void setFullScreen(bool fullScreen);
- void setAspectRatioMode(Qt::AspectRatioMode mode);
- void setBrightness(int brightness);
- void setContrast(int contrast);
- void setHue(int hue);
- void setSaturation(int saturation);
-
-Q_SIGNALS:
- void fullScreenChanged(bool fullScreen);
- void brightnessChanged(int brightness);
- void contrastChanged(int contrast);
- void hueChanged(int hue);
- void saturationChanged(int saturation);
-
-protected:
- bool event(QEvent *event);
- void showEvent(QShowEvent *event);
- void hideEvent(QHideEvent *event);
- void resizeEvent(QResizeEvent *event);
- void moveEvent(QMoveEvent *event);
- void paintEvent(QPaintEvent *event);
-
-protected:
- QVideoWidgetPrivate *d_ptr;
-
-private:
- Q_DECLARE_PRIVATE(QVideoWidget)
- Q_PRIVATE_SLOT(d_func(), void _q_serviceDestroyed())
- Q_PRIVATE_SLOT(d_func(), void _q_mediaObjectDestroyed())
- Q_PRIVATE_SLOT(d_func(), void _q_brightnessChanged(int))
- Q_PRIVATE_SLOT(d_func(), void _q_contrastChanged(int))
- Q_PRIVATE_SLOT(d_func(), void _q_hueChanged(int))
- Q_PRIVATE_SLOT(d_func(), void _q_saturationChanged(int))
- Q_PRIVATE_SLOT(d_func(), void _q_fullScreenChanged(bool))
- Q_PRIVATE_SLOT(d_func(), void _q_dimensionsChanged())
-};
-
-QT_END_NAMESPACE
-
-QT_END_HEADER
-
-#endif
diff --git a/src/multimedia/mediaservices/base/qvideowidget_p.h b/src/multimedia/mediaservices/base/qvideowidget_p.h
deleted file mode 100644
index bb44dfaa63..0000000000
--- a/src/multimedia/mediaservices/base/qvideowidget_p.h
+++ /dev/null
@@ -1,271 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the QtMediaServices module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QVIDEOWIDGET_P_H
-#define QVIDEOWIDGET_P_H
-
-//
-// W A R N I N G
-// -------------
-//
-// This file is not part of the Qt API. It exists purely as an
-// implementation detail. This header file may change from version to
-// version without notice, or even be removed.
-//
-// We mean it.
-//
-
-#include <QtMediaServices/qvideowidget.h>
-
-#ifndef QT_NO_OPENGL
-#include <QGLWidget>
-#endif
-
-#include "qpaintervideosurface_p.h"
-
-QT_BEGIN_HEADER
-
-QT_BEGIN_NAMESPACE
-
-
-class QVideoWidgetControlInterface
-{
-public:
- virtual ~QVideoWidgetControlInterface() {}
-
- virtual void setBrightness(int brightness) = 0;
- virtual void setContrast(int contrast) = 0;
- virtual void setHue(int hue) = 0;
- virtual void setSaturation(int saturation) = 0;
-
- virtual void setFullScreen(bool fullScreen) = 0;
-
- virtual Qt::AspectRatioMode aspectRatioMode() const = 0;
- virtual void setAspectRatioMode(Qt::AspectRatioMode mode) = 0;
-};
-
-class QVideoWidgetBackend : public QObject, public QVideoWidgetControlInterface
-{
- Q_OBJECT
-
-public:
- virtual QSize sizeHint() const = 0;
-
- virtual void showEvent() = 0;
- virtual void hideEvent(QHideEvent *event) = 0;
- virtual void resizeEvent(QResizeEvent *event) = 0;
- virtual void moveEvent(QMoveEvent *event) = 0;
- virtual void paintEvent(QPaintEvent *event) = 0;
-};
-
-class QVideoWidgetControl;
-
-class QVideoWidgetControlBackend : public QObject, public QVideoWidgetControlInterface
-{
- Q_OBJECT
-public:
- QVideoWidgetControlBackend(QVideoWidgetControl *control, QWidget *widget);
-
- void setBrightness(int brightness);
- void setContrast(int contrast);
- void setHue(int hue);
- void setSaturation(int saturation);
-
- void setFullScreen(bool fullScreen);
-
- Qt::AspectRatioMode aspectRatioMode() const;
- void setAspectRatioMode(Qt::AspectRatioMode mode);
-
-private:
- QVideoWidgetControl *m_widgetControl;
-};
-
-
-class QVideoRendererControl;
-
-class QRendererVideoWidgetBackend : public QVideoWidgetBackend
-{
- Q_OBJECT
-public:
- QRendererVideoWidgetBackend(QVideoRendererControl *control, QWidget *widget);
- ~QRendererVideoWidgetBackend();
-
- void clearSurface();
-
- void setBrightness(int brightness);
- void setContrast(int contrast);
- void setHue(int hue);
- void setSaturation(int saturation);
-
- void setFullScreen(bool fullScreen);
-
- Qt::AspectRatioMode aspectRatioMode() const;
- void setAspectRatioMode(Qt::AspectRatioMode mode);
-
- QSize sizeHint() const;
-
- void showEvent();
- void hideEvent(QHideEvent *event);
- void resizeEvent(QResizeEvent *event);
- void moveEvent(QMoveEvent *event);
- void paintEvent(QPaintEvent *event);
-
-Q_SIGNALS:
- void fullScreenChanged(bool fullScreen);
- void brightnessChanged(int brightness);
- void contrastChanged(int contrast);
- void hueChanged(int hue);
- void saturationChanged(int saturation);
-
-private Q_SLOTS:
- void formatChanged(const QVideoSurfaceFormat &format);
- void frameChanged();
-
-private:
- void updateRects();
-
- QVideoRendererControl *m_rendererControl;
- QWidget *m_widget;
- QPainterVideoSurface *m_surface;
- Qt::AspectRatioMode m_aspectRatioMode;
- QRect m_boundingRect;
- QRectF m_sourceRect;
- QSize m_nativeSize;
- bool m_updatePaintDevice;
-};
-
-class QVideoWindowControl;
-
-class QWindowVideoWidgetBackend : public QVideoWidgetBackend
-{
- Q_OBJECT
-public:
- QWindowVideoWidgetBackend(QVideoWindowControl *control, QWidget *widget);
- ~QWindowVideoWidgetBackend();
-
- void setBrightness(int brightness);
- void setContrast(int contrast);
- void setHue(int hue);
- void setSaturation(int saturation);
-
- void setFullScreen(bool fullScreen);
-
- Qt::AspectRatioMode aspectRatioMode() const;
- void setAspectRatioMode(Qt::AspectRatioMode mode);
-
- QSize sizeHint() const;
-
- void showEvent();
- void hideEvent(QHideEvent *event);
- void resizeEvent(QResizeEvent *event);
- void moveEvent(QMoveEvent *event);
- void paintEvent(QPaintEvent *event);
-
-private:
- QVideoWindowControl *m_windowControl;
- QWidget *m_widget;
- Qt::AspectRatioMode m_aspectRatioMode;
- QSize m_pixelAspectRatio;
-};
-
-class QMediaService;
-class QVideoOutputControl;
-
-class QVideoWidgetPrivate
-{
- Q_DECLARE_PUBLIC(QVideoWidget)
-public:
- QVideoWidgetPrivate()
- : q_ptr(0)
- , mediaObject(0)
- , service(0)
- , outputControl(0)
- , widgetBackend(0)
- , windowBackend(0)
- , rendererBackend(0)
- , currentControl(0)
- , currentBackend(0)
- , brightness(0)
- , contrast(0)
- , hue(0)
- , saturation(0)
- , aspectRatioMode(Qt::KeepAspectRatio)
- , nonFullScreenFlags(0)
- , wasFullScreen(false)
- {
- }
-
- QVideoWidget *q_ptr;
- QMediaObject *mediaObject;
- QMediaService *service;
- QVideoOutputControl *outputControl;
- QVideoWidgetControlBackend *widgetBackend;
- QWindowVideoWidgetBackend *windowBackend;
- QRendererVideoWidgetBackend *rendererBackend;
- QVideoWidgetControlInterface *currentControl;
- QVideoWidgetBackend *currentBackend;
- int brightness;
- int contrast;
- int hue;
- int saturation;
- Qt::AspectRatioMode aspectRatioMode;
- Qt::WindowFlags nonFullScreenFlags;
- bool wasFullScreen;
-
- void setCurrentControl(QVideoWidgetControlInterface *control);
- void show();
- void clearService();
-
- void _q_serviceDestroyed();
- void _q_mediaObjectDestroyed();
- void _q_brightnessChanged(int brightness);
- void _q_contrastChanged(int contrast);
- void _q_hueChanged(int hue);
- void _q_saturationChanged(int saturation);
- void _q_fullScreenChanged(bool fullScreen);
- void _q_dimensionsChanged();
-};
-
-QT_END_NAMESPACE
-
-QT_END_HEADER
-
-#endif
diff --git a/src/multimedia/mediaservices/base/qvideowidgetcontrol.cpp b/src/multimedia/mediaservices/base/qvideowidgetcontrol.cpp
deleted file mode 100644
index 538f158bfb..0000000000
--- a/src/multimedia/mediaservices/base/qvideowidgetcontrol.cpp
+++ /dev/null
@@ -1,235 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the QtMediaServices module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include <QtMediaServices/qvideowidgetcontrol.h>
-#include "qmediacontrol_p.h"
-
-
-QT_BEGIN_NAMESPACE
-
-/*!
- \class QVideoWidgetControl
- \preliminary
- \since 4.7
- \brief The QVideoWidgetControl class provides a media control which
- implements a video widget.
-
- \ingroup multimedia-serv
-
- The videoWidget() property of QVideoWidgetControl provides a pointer to
- a video widget implemented by the control's media service. This widget
- is owned by the media service and so care should be taken not to delete it.
-
- \code
- QVideoWidgetControl *widgetControl = mediaService->control<QVideoWidgetControl *>();
-
- layout->addWidget(widgetControl->widget());
- \endcode
-
- QVideoWidgetControl is one of number of possible video output controls,
- in order to receive video it must be made the active video output
- control by setting the output property of QVideoOutputControl to \l {QVideoOutputControl::WidgetOutput}{WidgetOutput}. Consequently any
- QMediaService that implements QVideoWidgetControl must also implement
- QVideoOutputControl.
-
- The interface name of QVideoWidgetControl is \c com.nokia.Qt.QVideoWidgetControl/1.0 as
- defined in QVideoWidgetControl_iid.
-
- \sa QMediaService::control(), QVideoOutputControl, QVideoWidget
-*/
-
-/*!
- \macro QVideoWidgetControl_iid
-
- \c com.nokia.Qt.QVideoWidgetControl/1.0
-
- Defines the interface name of the QVideoWidgetControl class.
-
- \relates QVideoWidgetControl
-*/
-
-/*!
- Constructs a new video widget control with the given \a parent.
-*/
-QVideoWidgetControl::QVideoWidgetControl(QObject *parent)
- :QMediaControl(parent)
-{
-}
-
-/*!
- Destroys a video widget control.
-*/
-QVideoWidgetControl::~QVideoWidgetControl()
-{
-}
-
-/*!
- \fn QVideoWidgetControl::isFullScreen() const
-
- Returns true if the video is shown using the complete screen.
-*/
-
-/*!
- \fn QVideoWidgetControl::setFullScreen(bool fullScreen)
-
- Sets whether a video widget is in \a fullScreen mode.
-*/
-
-/*!
- \fn QVideoWidgetControl::fullScreenChanged(bool fullScreen)
-
- Signals that the \a fullScreen state of a video widget has changed.
-*/
-
-/*!
- \fn QVideoWidgetControl::aspectRatioMode() const
-
- Returns how video is scaled to fit the widget with respect to its aspect ratio.
-*/
-
-/*!
- \fn QVideoWidgetControl::setAspectRatioMode(Qt::AspectRatioMode mode)
-
- Sets the aspect ratio \a mode which determines how video is scaled to the fit the widget with
- respect to its aspect ratio.
-*/
-
-/*!
- \fn QVideoWidgetControl::brightness() const
-
- Returns the brightness adjustment applied to a video.
-
- Valid brightness values range between -100 and 100, the default is 0.
-*/
-
-/*!
- \fn QVideoWidgetControl::setBrightness(int brightness)
-
- Sets a \a brightness adjustment for a video.
-
- Valid brightness values range between -100 and 100, the default is 0.
-*/
-
-/*!
- \fn QVideoWidgetControl::brightnessChanged(int brightness)
-
- Signals that a video widget's \a brightness adjustment has changed.
-*/
-
-/*!
- \fn QVideoWidgetControl::contrast() const
-
- Returns the contrast adjustment applied to a video.
-
- Valid contrast values range between -100 and 100, the default is 0.
-*/
-
-/*!
- \fn QVideoWidgetControl::setContrast(int contrast)
-
- Sets the contrast adjustment for a video widget to \a contrast.
-
- Valid contrast values range between -100 and 100, the default is 0.
-*/
-
-
-/*!
- \fn QVideoWidgetControl::contrastChanged(int contrast)
-
- Signals that a video widget's \a contrast adjustment has changed.
-*/
-
-/*!
- \fn QVideoWidgetControl::hue() const
-
- Returns the hue adjustment applied to a video widget.
-
- Value hue values range between -100 and 100, the default is 0.
-*/
-
-/*!
- \fn QVideoWidgetControl::setHue(int hue)
-
- Sets a \a hue adjustment for a video widget.
-
- Valid hue values range between -100 and 100, the default is 0.
-*/
-
-
-/*!
- \fn QVideoWidgetControl::hueChanged(int hue)
-
- Signals that a video widget's \a hue adjustment has changed.
-*/
-
-/*!
- \fn QVideoWidgetControl::saturation() const
-
- Returns the saturation adjustment applied to a video widget.
-
- Value saturation values range between -100 and 100, the default is 0.
-*/
-
-
-/*!
- \fn QVideoWidgetControl::setSaturation(int saturation)
-
- Sets a \a saturation adjustment for a video widget.
-
- Valid saturation values range between -100 and 100, the default is 0.
-*/
-
-/*!
- \fn QVideoWidgetControl::saturationChanged(int saturation)
-
- Signals that a video widget's \a saturation adjustment has changed.
-*/
-
-/*!
- \fn QVideoWidgetControl::videoWidget()
-
- Returns the QWidget.
-*/
-
-#include "moc_qvideowidgetcontrol.cpp"
-
-QT_END_NAMESPACE
-
diff --git a/src/multimedia/mediaservices/base/qvideowidgetcontrol.h b/src/multimedia/mediaservices/base/qvideowidgetcontrol.h
deleted file mode 100644
index 1013beb3f6..0000000000
--- a/src/multimedia/mediaservices/base/qvideowidgetcontrol.h
+++ /dev/null
@@ -1,105 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the QtMediaServices module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QVIDEOWIDGETCONTROL_H
-#define QVIDEOWIDGETCONTROL_H
-
-#include <QtGui/qwidget.h>
-
-#include <QtMediaServices/qvideowidget.h>
-#include <QtMediaServices/qmediacontrol.h>
-
-
-QT_BEGIN_HEADER
-
-QT_BEGIN_NAMESPACE
-
-QT_MODULE(Multimedia)
-
-
-class QVideoWidgetControlPrivate;
-
-class Q_MEDIASERVICES_EXPORT QVideoWidgetControl : public QMediaControl
-{
- Q_OBJECT
-
-public:
- virtual ~QVideoWidgetControl();
-
- virtual QWidget *videoWidget() = 0;
-
- virtual Qt::AspectRatioMode aspectRatioMode() const = 0;
- virtual void setAspectRatioMode(Qt::AspectRatioMode mode) = 0;
-
- virtual bool isFullScreen() const = 0;
- virtual void setFullScreen(bool fullScreen) = 0;
-
- virtual int brightness() const = 0;
- virtual void setBrightness(int brightness) = 0;
-
- virtual int contrast() const = 0;
- virtual void setContrast(int contrast) = 0;
-
- virtual int hue() const = 0;
- virtual void setHue(int hue) = 0;
-
- virtual int saturation() const = 0;
- virtual void setSaturation(int saturation) = 0;
-
-Q_SIGNALS:
- void fullScreenChanged(bool fullScreen);
- void brightnessChanged(int brightness);
- void contrastChanged(int contrast);
- void hueChanged(int hue);
- void saturationChanged(int saturation);
-
-protected:
- QVideoWidgetControl(QObject *parent = 0);
-};
-
-#define QVideoWidgetControl_iid "com.nokia.Qt.QVideoWidgetControl/1.0"
-Q_MEDIA_DECLARE_CONTROL(QVideoWidgetControl, QVideoWidgetControl_iid)
-
-QT_END_NAMESPACE
-
-QT_END_HEADER
-
-#endif
diff --git a/src/multimedia/mediaservices/base/qvideowindowcontrol.cpp b/src/multimedia/mediaservices/base/qvideowindowcontrol.cpp
deleted file mode 100644
index 967a2d6410..0000000000
--- a/src/multimedia/mediaservices/base/qvideowindowcontrol.cpp
+++ /dev/null
@@ -1,275 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the QtMediaServices module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include <QtMediaServices/qvideowindowcontrol.h>
-
-
-QT_BEGIN_NAMESPACE
-
-/*!
- \class QVideoWindowControl
- \preliminary
- \since 4.7
- \ingroup multimedia-serv
- \brief The QVideoWindowControl class provides a media control for rendering video to a window.
-
-
- The winId() property QVideoWindowControl allows a platform specific
- window ID to be set as the video render target of a QMediaService. The
- displayRect() property is used to set the region of the window the
- video should be rendered to, and the aspectRatioMode() property
- indicates how the video should be scaled to fit the displayRect().
-
- \code
- QVideoWindowControl *windowControl = mediaService->control<QVideoWindowControl *>();
- windowControl->setWinId(widget->winId());
- windowControl->setDisplayRect(widget->rect());
- windowControl->setAspectRatioMode(Qt::KeepAspectRatio);
- \endcode
-
- QVideoWindowControl is one of number of possible video output controls,
- in order to receive video it must be made the active video output
- control by setting the output property of QVideoOutputControl to \l {QVideoOutputControl::WindowOutput}{WindowOutput}.
- Consequently any QMediaService that implements QVideoWindowControl must
- also implement QVideoOutputControl.
-
- \code
- QVideoOutputControl *outputControl = mediaService->control<QVideoOutputControl *>();
- outputControl->setOutput(QVideoOutputControl::WindowOutput);
- \endcode
-
- The interface name of QVideoWindowControl is \c com.nokia.Qt.QVideoWindowControl/1.0 as
- defined in QVideoWindowControl_iid.
-
- \sa QMediaService::control(), QVideoOutputControl, QVideoWidget
-*/
-
-/*!
- \macro QVideoWindowControl_iid
-
- \c com.nokia.Qt.QVideoWindowControl/1.0
-
- Defines the interface name of the QVideoWindowControl class.
-
- \relates QVideoWindowControl
-*/
-
-/*!
- Constructs a new video window control with the given \a parent.
-*/
-QVideoWindowControl::QVideoWindowControl(QObject *parent)
- : QMediaControl(parent)
-{
-}
-
-/*!
- Destroys a video window control.
-*/
-QVideoWindowControl::~QVideoWindowControl()
-{
-}
-
-/*!
- \fn QVideoWindowControl::winId() const
-
- Returns the ID of the window a video overlay end point renders to.
-*/
-
-/*!
- \fn QVideoWindowControl::setWinId(WId id)
-
- Sets the \a id of the window a video overlay end point renders to.
-*/
-
-/*!
- \fn QVideoWindowControl::displayRect() const
- Returns the sub-rect of a window where video is displayed.
-*/
-
-/*!
- \fn QVideoWindowControl::setDisplayRect(const QRect &rect)
- Sets the sub-\a rect of a window where video is displayed.
-*/
-
-/*!
- \fn QVideoWindowControl::isFullScreen() const
-
- Identifies if a video overlay is a fullScreen overlay.
-
- Returns true if the video overlay is fullScreen, and false otherwise.
-*/
-
-/*!
- \fn QVideoWindowControl::setFullScreen(bool fullScreen)
-
- Sets whether a video overlay is a \a fullScreen overlay.
-*/
-
-/*!
- \fn QVideoWindowControl::fullScreenChanged(bool fullScreen)
-
- Signals that the \a fullScreen state of a video overlay has changed.
-*/
-
-/*!
- \fn QVideoWindowControl::repaint()
-
- Repaints the last frame.
-*/
-
-/*!
- \fn QVideoWindowControl::nativeSize() const
-
- Returns a suggested size for the video display based on the resolution and aspect ratio of the
- video.
-*/
-
-/*!
- \fn QVideoWindowControl::nativeSizeChanged()
-
- Signals that the native dimensions of the video have changed.
-*/
-
-
-/*!
- \fn QVideoWindowControl::aspectRatioMode() const
-
- Returns how video is scaled to fit the display region with respect to its aspect ratio.
-*/
-
-/*!
- \fn QVideoWindowControl::setAspectRatioMode(Qt::AspectRatioMode mode)
-
- Sets the aspect ratio \a mode which determines how video is scaled to the fit the display region
- with respect to its aspect ratio.
-*/
-
-/*!
- \fn QVideoWindowControl::brightness() const
-
- Returns the brightness adjustment applied to a video overlay.
-
- Valid brightness values range between -100 and 100, the default is 0.
-*/
-
-/*!
- \fn QVideoWindowControl::setBrightness(int brightness)
-
- Sets a \a brightness adjustment for a video overlay.
-
- Valid brightness values range between -100 and 100, the default is 0.
-*/
-
-/*!
- \fn QVideoWindowControl::brightnessChanged(int brightness)
-
- Signals that a video overlay's \a brightness adjustment has changed.
-*/
-
-/*!
- \fn QVideoWindowControl::contrast() const
-
- Returns the contrast adjustment applied to a video overlay.
-
- Valid contrast values range between -100 and 100, the default is 0.
-*/
-
-/*!
- \fn QVideoWindowControl::setContrast(int contrast)
-
- Sets the \a contrast adjustment for a video overlay.
-
- Valid contrast values range between -100 and 100, the default is 0.
-*/
-
-/*!
- \fn QVideoWindowControl::contrastChanged(int contrast)
-
- Signals that a video overlay's \a contrast adjustment has changed.
-*/
-
-/*!
- \fn QVideoWindowControl::hue() const
-
- Returns the hue adjustment applied to a video overlay.
-
- Value hue values range between -100 and 100, the default is 0.
-*/
-
-/*!
- \fn QVideoWindowControl::setHue(int hue)
-
- Sets a \a hue adjustment for a video overlay.
-
- Valid hue values range between -100 and 100, the default is 0.
-*/
-
-/*!
- \fn QVideoWindowControl::hueChanged(int hue)
-
- Signals that a video overlay's \a hue adjustment has changed.
-*/
-
-/*!
- \fn QVideoWindowControl::saturation() const
-
- Returns the saturation adjustment applied to a video overlay.
-
- Value saturation values range between -100 and 100, the default is 0.
-*/
-
-/*!
- \fn QVideoWindowControl::setSaturation(int saturation)
- Sets a \a saturation adjustment for a video overlay.
-
- Valid saturation values range between -100 and 100, the default is 0.
-*/
-
-/*!
- \fn QVideoWindowControl::saturationChanged(int saturation)
-
- Signals that a video overlay's \a saturation adjustment has changed.
-*/
-
-#include "moc_qvideowindowcontrol.cpp"
-
-QT_END_NAMESPACE
-
diff --git a/src/multimedia/mediaservices/base/qvideowindowcontrol.h b/src/multimedia/mediaservices/base/qvideowindowcontrol.h
deleted file mode 100644
index 47ba5208cf..0000000000
--- a/src/multimedia/mediaservices/base/qvideowindowcontrol.h
+++ /dev/null
@@ -1,111 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the QtMediaServices module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QVIDEOWINDOWCONTROL_H
-#define QVIDEOWINDOWCONTROL_H
-
-#include <QtGui/qwidget.h>
-
-#include <QtMediaServices/qmediacontrol.h>
-#include <QtMediaServices/qvideowidget.h>
-
-QT_BEGIN_HEADER
-
-QT_BEGIN_NAMESPACE
-
-QT_MODULE(Multimedia)
-
-
-class Q_MEDIASERVICES_EXPORT QVideoWindowControl : public QMediaControl
-{
- Q_OBJECT
-
-public:
- ~QVideoWindowControl();
-
- virtual WId winId() const = 0;
- virtual void setWinId(WId id) = 0;
-
- virtual QRect displayRect() const = 0;
- virtual void setDisplayRect(const QRect &rect) = 0;
-
- virtual bool isFullScreen() const = 0;
- virtual void setFullScreen(bool fullScreen) = 0;
-
- virtual void repaint() = 0;
-
- virtual QSize nativeSize() const = 0;
-
- virtual Qt::AspectRatioMode aspectRatioMode() const = 0;
- virtual void setAspectRatioMode(Qt::AspectRatioMode mode) = 0;
-
- virtual int brightness() const = 0;
- virtual void setBrightness(int brightness) = 0;
-
- virtual int contrast() const = 0;
- virtual void setContrast(int contrast) = 0;
-
- virtual int hue() const = 0;
- virtual void setHue(int hue) = 0;
-
- virtual int saturation() const = 0;
- virtual void setSaturation(int saturation) = 0;
-
-Q_SIGNALS:
- void fullScreenChanged(bool fullScreen);
- void brightnessChanged(int brightness);
- void contrastChanged(int contrast);
- void hueChanged(int hue);
- void saturationChanged(int saturation);
- void nativeSizeChanged();
-
-protected:
- QVideoWindowControl(QObject *parent = 0);
-};
-
-#define QVideoWindowControl_iid "com.nokia.Qt.QVideoWindowControl/1.0"
-Q_MEDIA_DECLARE_CONTROL(QVideoWindowControl, QVideoWindowControl_iid)
-
-QT_END_NAMESPACE
-
-QT_END_HEADER
-
-#endif
diff --git a/src/multimedia/mediaservices/effects/effects.pri b/src/multimedia/mediaservices/effects/effects.pri
deleted file mode 100644
index 6307255a32..0000000000
--- a/src/multimedia/mediaservices/effects/effects.pri
+++ /dev/null
@@ -1,26 +0,0 @@
-
-
-unix:!mac {
- contains(QT_CONFIG, pulseaudio) {
- DEFINES += QT_MULTIMEDIA_PULSEAUDIO
- HEADERS += $$PWD/qsoundeffect_pulse_p.h
- SOURCES += $$PWD/qsoundeffect_pulse_p.cpp
- QMAKE_CXXFLAGS += $$QT_CFLAGS_PULSEAUDIO
- LIBS += $$QT_LIBS_PULSEAUDIO
- } else {
- DEFINES += QT_MULTIMEDIA_QMEDIAPLAYER
- HEADERS += $$PWD/qsoundeffect_qmedia_p.h
- SOURCES += $$PWD/qsoundeffect_qmedia_p.cpp
- }
-} else {
- HEADERS += $$PWD/qsoundeffect_qsound_p.h
- SOURCES += $$PWD/qsoundeffect_qsound_p.cpp
-}
-
-HEADERS += \
- $$PWD/qsoundeffect_p.h \
- $$PWD/wavedecoder_p.h
-
-SOURCES += \
- $$PWD/qsoundeffect.cpp \
- $$PWD/wavedecoder_p.cpp
diff --git a/src/multimedia/mediaservices/effects/qsoundeffect.cpp b/src/multimedia/mediaservices/effects/qsoundeffect.cpp
deleted file mode 100644
index 3537566eb6..0000000000
--- a/src/multimedia/mediaservices/effects/qsoundeffect.cpp
+++ /dev/null
@@ -1,209 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the QtMultimedia module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "qsoundeffect_p.h"
-
-#if defined(QT_MULTIMEDIA_PULSEAUDIO)
-#include "qsoundeffect_pulse_p.h"
-#elif(QT_MULTIMEDIA_QMEDIAPLAYER)
-#include "qsoundeffect_qmedia_p.h"
-#else
-#include "qsoundeffect_qsound_p.h"
-#endif
-
-QT_BEGIN_NAMESPACE
-
-/*!
- \qmlclass SoundEffect QSoundEffect
- \since 4.7
- \brief The SoundEffect element provides a way to play sound effects in QML.
-
- This element is part of the \bold{Qt.multimedia 4.7} module.
-
- The following example plays a wav file on mouse click.
-
- \qml
- import Qt 4.7
- import Qt.multimedia 4.7
-
- Text {
- text: "Click Me!";
- font.pointSize: 24;
- width: 150; height: 50;
-
- SoundEffect {
- id: playSound
- source: "soundeffect.wav"
- }
- MouseArea {
- id: playArea
- anchors.fill: parent
- onPressed: { playSound.play() }
- }
- }
- \endqml
-*/
-
-/*!
- \qmlproperty url SoundEffect::source
-
- This property provides a way to control the sound to play.
-*/
-
-/*!
- \qmlproperty int SoundEffect::loops
-
- This property provides a way to control the number of times to repeat the sound on each play().
-*/
-
-/*!
- \qmlproperty int SoundEffect::volume
-
- This property provides a way to control the volume for playback.
-*/
-
-/*!
- \qmlproperty bool SoundEffect::muted
-
- This property provides a way to control muting.
-*/
-
-/*!
- \qmlsignal SoundEffect::sourceChanged()
-
- This handler is called when the source has changed.
-*/
-
-/*!
- \qmlsignal SoundEffect::loopsChanged()
-
- This handler is called when the number of loops has changes.
-*/
-
-/*!
- \qmlsignal SoundEffect::volumeChanged()
-
- This handler is called when the volume has changed.
-*/
-
-/*!
- \qmlsignal SoundEffect::mutedChanged()
-
- This handler is called when the mute state has changed.
-*/
-
-
-QSoundEffect::QSoundEffect(QObject *parent) :
- QObject(parent)
-{
- d = new QSoundEffectPrivate(this);
- connect(d, SIGNAL(volumeChanged()), SIGNAL(volumeChanged()));
- connect(d, SIGNAL(mutedChanged()), SIGNAL(mutedChanged()));
-}
-
-QSoundEffect::~QSoundEffect()
-{
- d->deleteLater();
-}
-
-QUrl QSoundEffect::source() const
-{
- return d->source();
-}
-
-void QSoundEffect::setSource(const QUrl &url)
-{
- if (d->source() == url)
- return;
-
- d->setSource(url);
-
- emit sourceChanged();
-}
-
-int QSoundEffect::loops() const
-{
- return d->loopCount();
-}
-
-void QSoundEffect::setLoops(int loopCount)
-{
- if (d->loopCount() == loopCount)
- return;
-
- d->setLoopCount(loopCount);
- emit loopsChanged();
-}
-
-int QSoundEffect::volume() const
-{
- return d->volume();
-}
-
-void QSoundEffect::setVolume(int volume)
-{
- if (d->volume() == volume)
- return;
-
- d->setVolume(volume);
- emit volumeChanged();
-}
-
-bool QSoundEffect::isMuted() const
-{
- return d->isMuted();
-}
-
-void QSoundEffect::setMuted(bool muted)
-{
- if (d->isMuted() == muted)
- return;
-
- d->setMuted(muted);
- emit mutedChanged();
-}
-
-void QSoundEffect::play()
-{
- d->play();
-}
-
-QT_END_NAMESPACE
diff --git a/src/multimedia/mediaservices/effects/qsoundeffect_p.h b/src/multimedia/mediaservices/effects/qsoundeffect_p.h
deleted file mode 100644
index 64ddb7761f..0000000000
--- a/src/multimedia/mediaservices/effects/qsoundeffect_p.h
+++ /dev/null
@@ -1,109 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the QtMediaServices module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QSOUNDEFFECT_H
-#define QSOUNDEFFECT_H
-
-//
-// W A R N I N G
-// -------------
-//
-// This file is not part of the Qt API. It exists purely as an
-// implementation detail. This header file may change from version to
-// version without notice, or even be removed.
-//
-// We mean it.
-//
-
-
-#include <QtCore/qobject.h>
-#include <QtCore/qurl.h>
-
-
-QT_BEGIN_HEADER
-
-QT_BEGIN_NAMESPACE
-
-class QSoundEffectPrivate;
-class Q_MEDIASERVICES_EXPORT QSoundEffect : public QObject
-{
- Q_OBJECT
- Q_PROPERTY(QUrl source READ source WRITE setSource NOTIFY sourceChanged)
- Q_PROPERTY(int loops READ loops WRITE setLoops NOTIFY loopsChanged)
- Q_PROPERTY(int volume READ volume WRITE setVolume NOTIFY volumeChanged)
- Q_PROPERTY(bool muted READ isMuted WRITE setMuted NOTIFY mutedChanged)
-
-public:
- explicit QSoundEffect(QObject *parent = 0);
- ~QSoundEffect();
-
- QUrl source() const;
- void setSource(const QUrl &url);
-
- int loops() const;
- void setLoops(int loopCount);
-
- int volume() const;
- void setVolume(int volume);
-
- bool isMuted() const;
- void setMuted(bool muted);
-
-Q_SIGNALS:
- void sourceChanged();
- void loopsChanged();
- void volumeChanged();
- void mutedChanged();
-
-public Q_SLOTS:
- void play();
-
-private:
- Q_DISABLE_COPY(QSoundEffect)
- QSoundEffectPrivate* d;
-};
-
-QT_END_NAMESPACE
-
-QT_END_HEADER
-
-
-#endif // QSOUNDEFFECT_H
diff --git a/src/multimedia/mediaservices/effects/qsoundeffect_pulse_p.cpp b/src/multimedia/mediaservices/effects/qsoundeffect_pulse_p.cpp
deleted file mode 100644
index c8561578f5..0000000000
--- a/src/multimedia/mediaservices/effects/qsoundeffect_pulse_p.cpp
+++ /dev/null
@@ -1,499 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the QtMediaServices module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-//
-// W A R N I N G
-// -------------
-//
-// This file is not part of the Qt API. It exists purely as an
-// implementation detail. This header file may change from version to
-// version without notice, or even be removed.
-//
-// We mean it.
-//
-
-#include <QtCore/qcoreapplication.h>
-#include <QtMultimedia/qaudioformat.h>
-#include <QtNetwork>
-#include <QTime>
-
-#include "wavedecoder_p.h"
-
-#include "qsoundeffect_pulse_p.h"
-
-#if defined(Q_WS_MAEMO_5)
-#include <pulse/ext-stream-restore.h>
-#endif
-
-#include <unistd.h>
-
-// Less than ideal
-#define PA_SCACHE_ENTRY_SIZE_MAX (1024*1024*16)
-
-QT_BEGIN_NAMESPACE
-
-namespace
-{
-inline pa_sample_spec audioFormatToSampleSpec(const QAudioFormat &format)
-{
- pa_sample_spec spec;
-
- spec.rate = format.frequency();
- spec.channels = format.channels();
-
- if (format.sampleSize() == 8)
- spec.format = PA_SAMPLE_U8;
- else if (format.sampleSize() == 16) {
- switch (format.byteOrder()) {
- case QAudioFormat::BigEndian: spec.format = PA_SAMPLE_S16BE; break;
- case QAudioFormat::LittleEndian: spec.format = PA_SAMPLE_S16LE; break;
- }
- }
- else if (format.sampleSize() == 32) {
- switch (format.byteOrder()) {
- case QAudioFormat::BigEndian: spec.format = PA_SAMPLE_S32BE; break;
- case QAudioFormat::LittleEndian: spec.format = PA_SAMPLE_S32LE; break;
- }
- }
-
- return spec;
-}
-
-class PulseDaemon
-{
-public:
- PulseDaemon():m_prepared(false)
- {
- prepare();
- }
-
- ~PulseDaemon()
- {
- if (m_prepared)
- release();
- }
-
- inline void lock()
- {
- pa_threaded_mainloop_lock(m_mainLoop);
- }
-
- inline void unlock()
- {
- pa_threaded_mainloop_unlock(m_mainLoop);
- }
-
- inline pa_context *context() const
- {
- return m_context;
- }
-
- int volume()
- {
- return m_vol;
- }
-
-private:
- void prepare()
- {
- m_vol = 100;
-
- m_mainLoop = pa_threaded_mainloop_new();
- if (m_mainLoop == 0) {
- qWarning("PulseAudioService: unable to create pulseaudio mainloop");
- return;
- }
-
- if (pa_threaded_mainloop_start(m_mainLoop) != 0) {
- qWarning("PulseAudioService: unable to start pulseaudio mainloop");
- pa_threaded_mainloop_free(m_mainLoop);
- return;
- }
-
- m_mainLoopApi = pa_threaded_mainloop_get_api(m_mainLoop);
-
- lock();
- m_context = pa_context_new(m_mainLoopApi, QString(QLatin1String("QtPulseAudio:%1")).arg(::getpid()).toAscii().constData());
-
-#if defined(Q_WS_MAEMO_5)
- pa_context_set_state_callback(m_context, context_state_callback, this);
-#endif
- if (m_context == 0) {
- qWarning("PulseAudioService: Unable to create new pulseaudio context");
- pa_threaded_mainloop_free(m_mainLoop);
- return;
- }
-
- if (pa_context_connect(m_context, NULL, (pa_context_flags_t)0, NULL) < 0) {
- qWarning("PulseAudioService: pa_context_connect() failed");
- pa_context_unref(m_context);
- pa_threaded_mainloop_free(m_mainLoop);
- return;
- }
- unlock();
-
- m_prepared = true;
- }
-
- void release()
- {
- if (!m_prepared) return;
- pa_threaded_mainloop_stop(m_mainLoop);
- pa_threaded_mainloop_free(m_mainLoop);
- m_prepared = false;
- }
-
-#if defined(Q_WS_MAEMO_5)
- static void context_state_callback(pa_context *c, void *userdata)
- {
- PulseDaemon *self = reinterpret_cast<PulseDaemon*>(userdata);
- switch (pa_context_get_state(c)) {
- case PA_CONTEXT_CONNECTING:
- case PA_CONTEXT_AUTHORIZING:
- case PA_CONTEXT_SETTING_NAME:
- break;
- case PA_CONTEXT_READY:
- pa_ext_stream_restore_set_subscribe_cb(c, &stream_restore_monitor_callback, self);
- pa_ext_stream_restore_subscribe(c, 1, NULL, self);
- break;
- default:
- break;
- }
- }
- static void stream_restore_monitor_callback(pa_context *c, void *userdata)
- {
- PulseDaemon *self = reinterpret_cast<PulseDaemon*>(userdata);
- pa_ext_stream_restore2_read(c, &stream_restore_info_callback, self);
- }
- static void stream_restore_info_callback(pa_context *c, const pa_ext_stream_restore2_info *info,
- int eol, void *userdata)
- {
- Q_UNUSED(c)
-
- PulseDaemon *self = reinterpret_cast<PulseDaemon*>(userdata);
-
- if (!eol) {
- if (QString(info->name).startsWith(QLatin1String("sink-input-by-media-role:x-maemo"))) {
- const unsigned str_length = 256;
- char str[str_length];
- pa_cvolume_snprint(str, str_length, &info->volume);
- self->m_vol = QString(str).replace(" ","").replace("%","").mid(2).toInt();
- }
- }
- }
-#endif
-
- int m_vol;
- bool m_prepared;
- pa_context *m_context;
- pa_threaded_mainloop *m_mainLoop;
- pa_mainloop_api *m_mainLoopApi;
-};
-}
-
-Q_GLOBAL_STATIC(PulseDaemon, daemon)
-
-
-QSoundEffectPrivate::QSoundEffectPrivate(QObject* parent):
- QObject(parent),
- m_retry(false),
- m_muted(false),
- m_playQueued(false),
- m_sampleLoaded(false),
- m_volume(100),
- m_duration(0),
- m_dataUploaded(0),
- m_loopCount(1),
- m_runningCount(0),
- m_reply(0),
- m_stream(0),
- m_networkAccessManager(0)
-{
-}
-
-QSoundEffectPrivate::~QSoundEffectPrivate()
-{
- m_reply->deleteLater();
- unloadSample();
-}
-
-QUrl QSoundEffectPrivate::source() const
-{
- return m_source;
-}
-
-void QSoundEffectPrivate::setSource(const QUrl &url)
-{
- if (url.isEmpty()) {
- m_source = QUrl();
- unloadSample();
- return;
- }
-
- m_source = url;
-
- if (m_networkAccessManager == 0)
- m_networkAccessManager = new QNetworkAccessManager(this);
-
- m_stream = m_networkAccessManager->get(QNetworkRequest(m_source));
-
- unloadSample();
- loadSample();
-}
-
-int QSoundEffectPrivate::loopCount() const
-{
- return m_loopCount;
-}
-
-void QSoundEffectPrivate::setLoopCount(int loopCount)
-{
- m_loopCount = loopCount;
-}
-
-int QSoundEffectPrivate::volume() const
-{
- return m_volume;
-}
-
-void QSoundEffectPrivate::setVolume(int volume)
-{
- m_volume = volume;
-}
-
-bool QSoundEffectPrivate::isMuted() const
-{
- return m_muted;
-}
-
-void QSoundEffectPrivate::setMuted(bool muted)
-{
- m_muted = muted;
-}
-
-void QSoundEffectPrivate::play()
-{
- if (m_retry) {
- m_retry = false;
- setSource(m_source);
- return;
- }
-
- if (!m_sampleLoaded) {
- m_playQueued = true;
- return;
- }
-
- m_runningCount += m_loopCount;
-
- playSample();
-}
-
-void QSoundEffectPrivate::decoderReady()
-{
- if (m_waveDecoder->size() >= PA_SCACHE_ENTRY_SIZE_MAX) {
- m_waveDecoder->deleteLater();
- qWarning("QSoundEffect(pulseaudio): Attempting to load to large a sample");
- return;
- }
-
- if (m_name.isNull())
- m_name = QString(QLatin1String("QtPulseSample-%1-%2")).arg(::getpid()).arg(quintptr(this)).toUtf8();
-
- pa_sample_spec spec = audioFormatToSampleSpec(m_waveDecoder->audioFormat());
-
- daemon()->lock();
- pa_stream *stream = pa_stream_new(daemon()->context(), m_name.constData(), &spec, 0);
- pa_stream_set_state_callback(stream, stream_state_callback, this);
- pa_stream_set_write_callback(stream, stream_write_callback, this);
- pa_stream_connect_upload(stream, (size_t)m_waveDecoder->size());
- m_pulseStream = stream;
- daemon()->unlock();
-}
-
-void QSoundEffectPrivate::decoderError()
-{
- qWarning("QSoundEffect(pulseaudio): Error decoding source");
-}
-
-void QSoundEffectPrivate::checkPlayTime()
-{
- int elapsed = m_playbackTime.elapsed();
-
- if (elapsed < m_duration)
- startTimer(m_duration - elapsed);
-}
-
-void QSoundEffectPrivate::loadSample()
-{
- m_sampleLoaded = false;
- m_dataUploaded = 0;
- m_waveDecoder = new WaveDecoder(m_stream);
- connect(m_waveDecoder, SIGNAL(formatKnown()), SLOT(decoderReady()));
- connect(m_waveDecoder, SIGNAL(invalidFormat()), SLOT(decoderError()));
-}
-
-void QSoundEffectPrivate::unloadSample()
-{
- if (!m_sampleLoaded)
- return;
-
- daemon()->lock();
- pa_context_remove_sample(daemon()->context(), m_name.constData(), NULL, NULL);
- daemon()->unlock();
-
- m_duration = 0;
- m_dataUploaded = 0;
- m_sampleLoaded = false;
-}
-
-void QSoundEffectPrivate::uploadSample()
-{
- daemon()->lock();
-
- size_t bufferSize = qMin(pa_stream_writable_size(m_pulseStream),
- size_t(m_waveDecoder->bytesAvailable()));
- char buffer[bufferSize];
-
- size_t len = 0;
- while (len < (m_waveDecoder->size())) {
- qint64 read = m_waveDecoder->read(buffer, qMin((int)bufferSize,
- (int)(m_waveDecoder->size()-len)));
- if (read > 0) {
- if (pa_stream_write(m_pulseStream, buffer, size_t(read), 0, 0, PA_SEEK_RELATIVE) == 0)
- len += size_t(read);
- else
- break;
- }
- }
-
- m_dataUploaded += len;
- pa_stream_set_write_callback(m_pulseStream, NULL, NULL);
-
- if (m_waveDecoder->size() == m_dataUploaded) {
- int err = pa_stream_finish_upload(m_pulseStream);
- if(err != 0) {
- qWarning("pa_stream_finish_upload() err=%d",err);
- pa_stream_disconnect(m_pulseStream);
- m_retry = true;
- m_playQueued = false;
- QMetaObject::invokeMethod(this, "play");
- daemon()->unlock();
- return;
- }
- m_duration = m_waveDecoder->duration();
- m_waveDecoder->deleteLater();
- m_stream->deleteLater();
- m_sampleLoaded = true;
- if (m_playQueued) {
- m_playQueued = false;
- QMetaObject::invokeMethod(this, "play");
- }
- }
- daemon()->unlock();
-}
-
-void QSoundEffectPrivate::playSample()
-{
- pa_volume_t volume = PA_VOLUME_NORM;
-
- daemon()->lock();
-#ifdef Q_WS_MAEMO_5
- volume = PA_VOLUME_NORM / 100 * ((daemon()->volume() + m_volume) / 2);
-#endif
- pa_operation_unref(
- pa_context_play_sample(daemon()->context(),
- m_name.constData(),
- 0,
- volume,
- play_callback,
- this)
- );
- daemon()->unlock();
-
- m_playbackTime.start();
-}
-
-void QSoundEffectPrivate::timerEvent(QTimerEvent *event)
-{
- if (m_runningCount > 0)
- playSample();
-
- killTimer(event->timerId());
-}
-
-void QSoundEffectPrivate::stream_write_callback(pa_stream *s, size_t length, void *userdata)
-{
- Q_UNUSED(length);
-
- QSoundEffectPrivate *self = reinterpret_cast<QSoundEffectPrivate*>(userdata);
-
- QMetaObject::invokeMethod(self, "uploadSample", Qt::QueuedConnection);
-}
-
-void QSoundEffectPrivate::stream_state_callback(pa_stream *s, void *userdata)
-{
- switch (pa_stream_get_state(s)) {
- case PA_STREAM_CREATING:
- case PA_STREAM_READY:
- case PA_STREAM_TERMINATED:
- break;
-
- case PA_STREAM_FAILED:
- default:
- qWarning("QSoundEffect(pulseaudio): Error in pulse audio stream");
- break;
- }
-}
-
-void QSoundEffectPrivate::play_callback(pa_context *c, int success, void *userdata)
-{
- Q_UNUSED(c);
-
- QSoundEffectPrivate *self = reinterpret_cast<QSoundEffectPrivate*>(userdata);
-
- if (success == 1) {
- self->m_runningCount--;
- QMetaObject::invokeMethod(self, "checkPlayTime", Qt::QueuedConnection);
- }
-}
-
-QT_END_NAMESPACE
diff --git a/src/multimedia/mediaservices/effects/qsoundeffect_pulse_p.h b/src/multimedia/mediaservices/effects/qsoundeffect_pulse_p.h
deleted file mode 100644
index 1327bf5c45..0000000000
--- a/src/multimedia/mediaservices/effects/qsoundeffect_pulse_p.h
+++ /dev/null
@@ -1,137 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the QtMediaServices module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QSOUNDEFFECT_PULSE_H
-#define QSOUNDEFFECT_PULSE_H
-
-//
-// W A R N I N G
-// -------------
-//
-// This file is not part of the Qt API. It exists purely as an
-// implementation detail. This header file may change from version to
-// version without notice, or even be removed.
-//
-// We mean it.
-//
-
-
-#include "qsoundeffect_p.h"
-
-#include <QtCore/qobject.h>
-#include <QtCore/qdatetime.h>
-#include <QtMediaServices/qmediaplayer.h>
-#include <pulse/pulseaudio.h>
-
-
-QT_BEGIN_HEADER
-
-QT_BEGIN_NAMESPACE
-
-class QNetworkReply;
-class QNetworkAccessManager;
-class WaveDecoder;
-
-class QSoundEffectPrivate : public QObject
-{
- Q_OBJECT
-public:
- explicit QSoundEffectPrivate(QObject* parent);
- ~QSoundEffectPrivate();
-
- QUrl source() const;
- void setSource(const QUrl &url);
- int loopCount() const;
- void setLoopCount(int loopCount);
- int volume() const;
- void setVolume(int volume);
- bool isMuted() const;
- void setMuted(bool muted);
-
-public Q_SLOTS:
- void play();
-
-Q_SIGNALS:
- void volumeChanged();
- void mutedChanged();
-
-private Q_SLOTS:
- void decoderReady();
- void decoderError();
- void checkPlayTime();
- void uploadSample();
-
-private:
- void loadSample();
- void unloadSample();
- void playSample();
-
- void timerEvent(QTimerEvent *event);
-
- static void stream_write_callback(pa_stream *s, size_t length, void *userdata);
- static void stream_state_callback(pa_stream *s, void *userdata);
- static void play_callback(pa_context *c, int success, void *userdata);
-
- pa_stream *m_pulseStream;
-
- bool m_retry;
- bool m_muted;
- bool m_playQueued;
- bool m_sampleLoaded;
- int m_volume;
- int m_duration;
- int m_dataUploaded;
- int m_loopCount;
- int m_runningCount;
- QUrl m_source;
- QTime m_playbackTime;
- QByteArray m_name;
- QNetworkReply *m_reply;
- WaveDecoder *m_waveDecoder;
- QIODevice *m_stream;
- QNetworkAccessManager *m_networkAccessManager;
-};
-
-QT_END_NAMESPACE
-
-QT_END_HEADER
-
-#endif // QSOUNDEFFECT_PULSE_H
diff --git a/src/multimedia/mediaservices/effects/qsoundeffect_qmedia_p.cpp b/src/multimedia/mediaservices/effects/qsoundeffect_qmedia_p.cpp
deleted file mode 100644
index 5e40bed908..0000000000
--- a/src/multimedia/mediaservices/effects/qsoundeffect_qmedia_p.cpp
+++ /dev/null
@@ -1,132 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the QtMediaServices module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-//
-// W A R N I N G
-// -------------
-//
-// This file is not part of the Qt API. It exists purely as an
-// implementation detail. This header file may change from version to
-// version without notice, or even be removed.
-//
-// We mean it.
-//
-
-#include "qsoundeffect_qmedia_p.h"
-
-#include <QtCore/qcoreapplication.h>
-
-#include <QtMediaServices/qmediacontent.h>
-#include <QtMediaServices/qmediaplayer.h>
-
-
-QT_BEGIN_NAMESPACE
-
-QSoundEffectPrivate::QSoundEffectPrivate(QObject* parent):
- QObject(parent),
- m_loopCount(1),
- m_runningCount(0),
- m_player(0)
-{
- m_player = new QMediaPlayer(this, QMediaPlayer::LowLatency);
- connect(m_player, SIGNAL(stateChanged(QMediaPlayer::State)), SLOT(stateChanged(QMediaPlayer::State)));
-}
-
-QSoundEffectPrivate::~QSoundEffectPrivate()
-{
-}
-
-QUrl QSoundEffectPrivate::source() const
-{
- return m_player->media().canonicalUrl();
-}
-
-void QSoundEffectPrivate::setSource(const QUrl &url)
-{
- m_player->setMedia(url);
-}
-
-int QSoundEffectPrivate::loopCount() const
-{
- return m_loopCount;
-}
-
-void QSoundEffectPrivate::setLoopCount(int loopCount)
-{
- m_loopCount = loopCount;
-}
-
-int QSoundEffectPrivate::volume() const
-{
- return m_player->volume();
-}
-
-void QSoundEffectPrivate::setVolume(int volume)
-{
- m_player->setVolume(volume);
-}
-
-bool QSoundEffectPrivate::isMuted() const
-{
- return m_player->isMuted();
-}
-
-void QSoundEffectPrivate::setMuted(bool muted)
-{
- m_player->setMuted(muted);
-}
-
-void QSoundEffectPrivate::play()
-{
- m_runningCount += m_loopCount;
- m_player->play();
-}
-
-void QSoundEffectPrivate::stateChanged(QMediaPlayer::State state)
-{
- if (state == QMediaPlayer::StoppedState) {
- if (--m_runningCount > 0)
- m_player->play();
- }
-}
-
-QT_END_NAMESPACE
-
diff --git a/src/multimedia/mediaservices/effects/qsoundeffect_qmedia_p.h b/src/multimedia/mediaservices/effects/qsoundeffect_qmedia_p.h
deleted file mode 100644
index 82ea000295..0000000000
--- a/src/multimedia/mediaservices/effects/qsoundeffect_qmedia_p.h
+++ /dev/null
@@ -1,103 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the QtMediaServices module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QSOUNDEFFECT_QMEDIA_H
-#define QSOUNDEFFECT_QMEDIA_H
-
-//
-// W A R N I N G
-// -------------
-//
-// This file is not part of the Qt API. It exists purely as an
-// implementation detail. This header file may change from version to
-// version without notice, or even be removed.
-//
-// We mean it.
-//
-
-
-#include <QtCore/qobject.h>
-#include <QtCore/qurl.h>
-#include <QtMediaServices/qmediaplayer.h>
-
-
-QT_BEGIN_HEADER
-
-QT_BEGIN_NAMESPACE
-
-
-class QSoundEffectPrivate : public QObject
-{
- Q_OBJECT
-public:
- explicit QSoundEffectPrivate(QObject* parent);
- ~QSoundEffectPrivate();
-
- QUrl source() const;
- void setSource(const QUrl &url);
- int loopCount() const;
- void setLoopCount(int loopCount);
- int volume() const;
- void setVolume(int volume);
- bool isMuted() const;
- void setMuted(bool muted);
-
-public Q_SLOTS:
- void play();
-
-Q_SIGNALS:
- void volumeChanged();
- void mutedChanged();
-
-private Q_SLOTS:
- void stateChanged(QMediaPlayer::State);
-
-private:
- int m_loopCount;
- int m_runningCount;
- QMediaPlayer *m_player;
-};
-
-QT_END_NAMESPACE
-
-QT_END_HEADER
-
-#endif // QSOUNDEFFECT_QMEDIA_H
diff --git a/src/multimedia/mediaservices/effects/qsoundeffect_qsound_p.cpp b/src/multimedia/mediaservices/effects/qsoundeffect_qsound_p.cpp
deleted file mode 100644
index 9247abac58..0000000000
--- a/src/multimedia/mediaservices/effects/qsoundeffect_qsound_p.cpp
+++ /dev/null
@@ -1,131 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the QtMediaServices module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-//
-// W A R N I N G
-// -------------
-//
-// This file is not part of the Qt API. It exists purely as an
-// implementation detail. This header file may change from version to
-// version without notice, or even be removed.
-//
-// We mean it.
-//
-
-#include "qsoundeffect_qsound_p.h"
-
-#include <QtCore/qcoreapplication.h>
-#include <QtGui/qsound.h>
-
-
-QT_BEGIN_NAMESPACE
-
-QSoundEffectPrivate::QSoundEffectPrivate(QObject* parent):
- QObject(parent),
- m_muted(false),
- m_loopCount(1),
- m_volume(100),
- m_sound(0)
-{
-}
-
-QSoundEffectPrivate::~QSoundEffectPrivate()
-{
-}
-
-QUrl QSoundEffectPrivate::source() const
-{
- return m_source;
-}
-
-void QSoundEffectPrivate::setSource(const QUrl &url)
-{
- if (url.isEmpty() || url.scheme() != QLatin1String("file")) {
- m_source = QUrl();
- return;
- }
-
- if (m_sound != 0)
- delete m_sound;
-
- m_source = url;
- m_sound = new QSound(m_source.toLocalFile(), this);
- m_sound->setLoops(m_loopCount);
-}
-
-int QSoundEffectPrivate::loopCount() const
-{
- return m_loopCount;
-}
-
-void QSoundEffectPrivate::setLoopCount(int lc)
-{
- m_loopCount = lc;
- if (m_sound)
- m_sound->setLoops(lc);
-}
-
-int QSoundEffectPrivate::volume() const
-{
- return m_volume;
-}
-
-void QSoundEffectPrivate::setVolume(int v)
-{
- m_volume = v;
-}
-
-bool QSoundEffectPrivate::isMuted() const
-{
- return m_muted;
-}
-
-void QSoundEffectPrivate::setMuted(bool muted)
-{
- m_muted = muted;
-}
-
-void QSoundEffectPrivate::play()
-{
- m_sound->play();
-}
-
-QT_END_NAMESPACE
diff --git a/src/multimedia/mediaservices/effects/qsoundeffect_qsound_p.h b/src/multimedia/mediaservices/effects/qsoundeffect_qsound_p.h
deleted file mode 100644
index dad7b6f3dc..0000000000
--- a/src/multimedia/mediaservices/effects/qsoundeffect_qsound_p.h
+++ /dev/null
@@ -1,102 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the QtMediaServices module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QSOUNDEFFECT_QSOUND_H
-#define QSOUNDEFFECT_QSOUND_H
-
-//
-// W A R N I N G
-// -------------
-//
-// This file is not part of the Qt API. It exists purely as an
-// implementation detail. This header file may change from version to
-// version without notice, or even be removed.
-//
-// We mean it.
-//
-
-
-#include <QtCore/qobject.h>
-#include <QtCore/qurl.h>
-
-
-QT_BEGIN_HEADER
-
-QT_BEGIN_NAMESPACE
-
-class QSound;
-
-class QSoundEffectPrivate : public QObject
-{
- Q_OBJECT
-public:
- explicit QSoundEffectPrivate(QObject* parent);
- ~QSoundEffectPrivate();
-
- QUrl source() const;
- void setSource(const QUrl &url);
- int loopCount() const;
- void setLoopCount(int loopCount);
- int volume() const;
- void setVolume(int volume);
- bool isMuted() const;
- void setMuted(bool muted);
-
-public Q_SLOTS:
- void play();
-
-Q_SIGNALS:
- void volumeChanged();
- void mutedChanged();
-
-private:
- bool m_muted;
- int m_loopCount;
- int m_volume;
- QSound *m_sound;
- QUrl m_source;
-};
-
-QT_END_NAMESPACE
-
-QT_END_HEADER
-
-#endif // QSOUNDEFFECT_QSOUND_H
diff --git a/src/multimedia/mediaservices/effects/wavedecoder_p.cpp b/src/multimedia/mediaservices/effects/wavedecoder_p.cpp
deleted file mode 100644
index 1c26c8f2f4..0000000000
--- a/src/multimedia/mediaservices/effects/wavedecoder_p.cpp
+++ /dev/null
@@ -1,151 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the QtMediaServices module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "wavedecoder_p.h"
-
-#include <QtCore/qtimer.h>
-#include <QtCore/qendian.h>
-
-QT_BEGIN_NAMESPACE
-
-WaveDecoder::WaveDecoder(QIODevice *s, QObject *parent):
- QIODevice(parent),
- haveFormat(false),
- dataSize(0),
- remaining(0),
- source(s)
-{
- open(QIODevice::ReadOnly | QIODevice::Unbuffered);
-
- if (source->bytesAvailable() >= qint64(sizeof(CombinedHeader) + sizeof(DATAHeader) + sizeof(quint16)))
- QTimer::singleShot(0, this, SLOT(handleData()));
- else
- connect(source, SIGNAL(readyRead()), SLOT(handleData()));
-}
-
-WaveDecoder::~WaveDecoder()
-{
-}
-
-QAudioFormat WaveDecoder::audioFormat() const
-{
- return format;
-}
-
-int WaveDecoder::duration() const
-{
- return size() * 1000 / (format.sampleSize() / 8) / format.channels() / format.frequency();
-}
-
-qint64 WaveDecoder::size() const
-{
- return haveFormat ? dataSize : 0;
-}
-
-bool WaveDecoder::isSequential() const
-{
- return source->isSequential();
-}
-
-qint64 WaveDecoder::bytesAvailable() const
-{
- return haveFormat ? source->bytesAvailable() : 0;
-}
-
-qint64 WaveDecoder::readData(char *data, qint64 maxlen)
-{
- return haveFormat ? source->read(data, maxlen) : 0;
-}
-
-qint64 WaveDecoder::writeData(const char *data, qint64 len)
-{
- Q_UNUSED(data);
- Q_UNUSED(len);
-
- return -1;
-}
-
-void WaveDecoder::handleData()
-{
- if (source->bytesAvailable() < qint64(sizeof(CombinedHeader) + sizeof(DATAHeader) + sizeof(quint16)))
- return;
-
- source->disconnect(SIGNAL(readyRead()), this, SLOT(handleData()));
- source->read((char*)&header, sizeof(CombinedHeader));
-
- if (qstrncmp(header.riff.descriptor.id, "RIFF", 4) != 0 ||
- qstrncmp(header.riff.type, "WAVE", 4) != 0 ||
- qstrncmp(header.wave.descriptor.id, "fmt ", 4) != 0 ||
- (header.wave.audioFormat != 0 && header.wave.audioFormat != 1)) {
-
- emit invalidFormat();
- }
- else {
- DATAHeader dataHeader;
-
- if (qFromLittleEndian<quint32>(header.wave.descriptor.size) > sizeof(WAVEHeader)) {
- // Extended data available
- quint16 extraFormatBytes;
- source->peek((char*)&extraFormatBytes, sizeof(quint16));
- extraFormatBytes = qFromLittleEndian<quint16>(extraFormatBytes);
- source->read(sizeof(quint16) + extraFormatBytes); // dump it all
- }
-
- source->read((char*)&dataHeader, sizeof(DATAHeader));
-
- int bps = qFromLittleEndian<quint16>(header.wave.bitsPerSample);
-
- format.setCodec(QLatin1String("audio/pcm"));
- format.setSampleType(bps == 8 ? QAudioFormat::UnSignedInt : QAudioFormat::SignedInt);
- format.setByteOrder(QAudioFormat::LittleEndian);
- format.setFrequency(qFromLittleEndian<quint32>(header.wave.sampleRate));
- format.setSampleSize(bps);
- format.setChannels(qFromLittleEndian<quint16>(header.wave.numChannels));
-
- dataSize = qFromLittleEndian<quint32>(dataHeader.descriptor.size);
-
- haveFormat = true;
- connect(source, SIGNAL(readyRead()), SIGNAL(readyRead()));
- emit formatKnown();
- }
-}
-
-QT_END_NAMESPACE
diff --git a/src/multimedia/mediaservices/effects/wavedecoder_p.h b/src/multimedia/mediaservices/effects/wavedecoder_p.h
deleted file mode 100644
index dcc54534fd..0000000000
--- a/src/multimedia/mediaservices/effects/wavedecoder_p.h
+++ /dev/null
@@ -1,133 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the QtMediaServices module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef WAVEDECODER_H
-#define WAVEDECODER_H
-
-//
-// W A R N I N G
-// -------------
-//
-// This file is not part of the Qt API. It exists for the convenience
-// of other Qt classes. This header file may change from version to
-// version without notice, or even be removed.
-//
-// We mean it.
-//
-
-#include <QtCore/qiodevice.h>
-#include <QtMultimedia/qaudioformat.h>
-
-
-QT_BEGIN_HEADER
-
-QT_BEGIN_NAMESPACE
-
-
-class WaveDecoder : public QIODevice
-{
- Q_OBJECT
-
-public:
- explicit WaveDecoder(QIODevice *source, QObject *parent = 0);
- ~WaveDecoder();
-
- QAudioFormat audioFormat() const;
- int duration() const;
-
- qint64 size() const;
- bool isSequential() const;
- qint64 bytesAvailable() const;
-
-Q_SIGNALS:
- void formatKnown();
- void invalidFormat();
-
-private Q_SLOTS:
- void handleData();
-
-private:
- qint64 readData(char *data, qint64 maxlen);
- qint64 writeData(const char *data, qint64 len);
-
- struct chunk
- {
- char id[4];
- quint32 size;
- };
- struct RIFFHeader
- {
- chunk descriptor;
- char type[4];
- };
- struct WAVEHeader
- {
- chunk descriptor;
- quint16 audioFormat;
- quint16 numChannels;
- quint32 sampleRate;
- quint32 byteRate;
- quint16 blockAlign;
- quint16 bitsPerSample;
- };
- struct DATAHeader
- {
- chunk descriptor;
- };
- struct CombinedHeader
- {
- RIFFHeader riff;
- WAVEHeader wave;
- };
-
- bool haveFormat;
- qint64 dataSize;
- qint64 remaining;
- QAudioFormat format;
- QIODevice *source;
- CombinedHeader header;
-};
-
-QT_END_NAMESPACE
-
-QT_END_HEADER
-
-#endif // WAVEDECODER_H
diff --git a/src/multimedia/mediaservices/mediaservices.pro b/src/multimedia/mediaservices/mediaservices.pro
deleted file mode 100644
index d5b0e4c3c1..0000000000
--- a/src/multimedia/mediaservices/mediaservices.pro
+++ /dev/null
@@ -1,21 +0,0 @@
-TARGET = QtMediaServices
-QPRO_PWD = $$PWD
-QT = core gui multimedia
-
-DEFINES += QT_BUILD_MEDIASERVICES_LIB QT_NO_USING_NAMESPACE
-
-unix:QMAKE_PKGCONFIG_REQUIRES = QtCore QtGui QtMultimedia
-
-include(../../qbase.pri)
-
-include(base/base.pri)
-include(playback/playback.pri)
-include(effects/effects.pri)
-
-symbian: {
- TARGET.UID3 = 0x2001E631
- contains(CONFIG, def_files) {
- DEF_FILE=../../s60installs
- }
-}
-
diff --git a/src/multimedia/mediaservices/playback/playback.pri b/src/multimedia/mediaservices/playback/playback.pri
deleted file mode 100644
index 09a81c9aab..0000000000
--- a/src/multimedia/mediaservices/playback/playback.pri
+++ /dev/null
@@ -1,11 +0,0 @@
-
-HEADERS += \
- $$PWD/qmediaplayer.h \
- $$PWD/qmediaplayercontrol.h
-
-SOURCES += \
- $$PWD/qmediaplayer.cpp \
- $$PWD/qmediaplayercontrol.cpp
-
-
-
diff --git a/src/multimedia/mediaservices/playback/qmediaplayer.cpp b/src/multimedia/mediaservices/playback/qmediaplayer.cpp
deleted file mode 100644
index ca1f2505e2..0000000000
--- a/src/multimedia/mediaservices/playback/qmediaplayer.cpp
+++ /dev/null
@@ -1,996 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the QtMediaServices module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include <QtCore/qcoreevent.h>
-#include <QtCore/qmetaobject.h>
-#include <QtCore/qtimer.h>
-#include <QtCore/qpointer.h>
-#include <QtCore/qdebug.h>
-
-#include <QtMediaServices/qmediaplayer.h>
-
-#include <QtMediaServices/private/qmediaobject_p.h>
-#include <QtMediaServices/qmediaservice.h>
-#include <QtMediaServices/qmediaplayercontrol.h>
-#include <QtMediaServices/qmediaserviceprovider.h>
-#include <QtMediaServices/qmediaplaylist.h>
-#include <QtMediaServices/qmediaplaylistcontrol.h>
-#include <QtMediaServices/qvideowidget.h>
-#include <QtMediaServices/qgraphicsvideoitem.h>
-
-//#define DEBUG_PLAYER_STATE
-
-QT_BEGIN_HEADER
-
-QT_BEGIN_NAMESPACE
-
-QT_MODULE(Multimedia)
-
-/*!
- \class QMediaPlayer
- \brief The QMediaPlayer class allows the playing of a media source.
- \ingroup multimedia
- \since 4.7
- \preliminary
-
- The QMediaPlayer class is a high level media playback class. It can be used
- to playback such content as songs, movies and internet radio. The content
- to playback is specified as a QMediaContent, which can be thought of as a
- main or canonical URL with addition information attached. When provided
- with a QMediaContent playback may be able to commence.
-
- \code
- player = new QMediaPlayer;
- connect(player, SIGNAL(positionChanged(qint64)), this, SLOT(positionChanged(qint64)));
- player->setMedia(QUrl::fromLocalFile("/Users/me/Music/coolsong.mp3"));
- player->setVolume(50);
- player->play();
- \endcode
-
- QVideoWidget can be used with QMediaPlayer for video rendering and QMediaPlaylist
- for accessing playlist functionality.
-
- \code
- player = new QMediaPlayer;
-
- playlist = new QMediaPlaylist;
- playlist->setMediaObject(player);
- playlist->append(QUrl("http://example.com/movie1.mp4"));
- playlist->append(QUrl("http://example.com/movie2.mp4"));
-
- widget = new QVideoWidget;
- widget->setMediaObject(player);
- widget->show();
-
- player->play();
- \endcode
-
- \sa QMediaObject, QMediaService, QVideoWidget, QMediaPlaylist
-*/
-
-namespace
-{
-class MediaPlayerRegisterMetaTypes
-{
-public:
- MediaPlayerRegisterMetaTypes()
- {
- qRegisterMetaType<QMediaPlayer::State>();
- qRegisterMetaType<QMediaPlayer::MediaStatus>();
- qRegisterMetaType<QMediaPlayer::Error>();
- }
-} _registerPlayerMetaTypes;
-}
-
-class QMediaPlayerPrivate : public QMediaObjectPrivate
-{
- Q_DECLARE_NON_CONST_PUBLIC(QMediaPlayer)
-
-public:
- QMediaPlayerPrivate()
- : provider(0)
- , control(0)
- , playlistControl(0)
- , state(QMediaPlayer::StoppedState)
- , error(QMediaPlayer::NoError)
- , filterStates(false)
- , playlist(0)
- {}
-
- QMediaServiceProvider *provider;
- QMediaPlayerControl* control;
- QMediaPlaylistControl* playlistControl;
- QMediaPlayer::State state;
- QMediaPlayer::Error error;
- QString errorString;
- bool filterStates;
-
- QMediaPlaylist *playlist;
- QPointer<QVideoWidget> videoWidget;
-#ifndef QT_NO_GRAPHICSVIEW
- QPointer<QGraphicsVideoItem> videoItem;
-#endif
-
- void _q_stateChanged(QMediaPlayer::State state);
- void _q_mediaStatusChanged(QMediaPlayer::MediaStatus status);
- void _q_error(int error, const QString &errorString);
- void _q_updateMedia(const QMediaContent&);
- void _q_playlistDestroyed();
-};
-
-#define ENUM_NAME(c,e,v) (c::staticMetaObject.enumerator(c::staticMetaObject.indexOfEnumerator(e)).valueToKey((v)))
-
-void QMediaPlayerPrivate::_q_stateChanged(QMediaPlayer::State ps)
-{
- Q_Q(QMediaPlayer);
-
-#ifdef DEBUG_PLAYER_STATE
- qDebug() << "State changed:" << ENUM_NAME(QMediaPlayer, "State", ps) << (filterStates ? "(filtered)" : "");
-#endif
-
- if (filterStates)
- return;
-
- if (playlist
- && !playlistControl //service should do this itself
- && ps != state && ps == QMediaPlayer::StoppedState
- && control->mediaStatus() == QMediaPlayer::EndOfMedia) {
- playlist->next();
- ps = control->state();
- }
-
- if (ps != state) {
- state = ps;
-
- if (ps == QMediaPlayer::PlayingState)
- q->addPropertyWatch("position");
- else
- q->removePropertyWatch("position");
-
- emit q->stateChanged(ps);
- }
-}
-
-void QMediaPlayerPrivate::_q_mediaStatusChanged(QMediaPlayer::MediaStatus status)
-{
- Q_Q(QMediaPlayer);
-
-#ifdef DEBUG_PLAYER_STATE
- qDebug() << "MediaStatus changed:" << ENUM_NAME(QMediaPlayer, "MediaStatus", status);
-#endif
-
- switch (status) {
- case QMediaPlayer::StalledMedia:
- case QMediaPlayer::BufferingMedia:
- q->addPropertyWatch("bufferStatus");
- emit q->mediaStatusChanged(status);
- break;
- default:
- q->removePropertyWatch("bufferStatus");
- emit q->mediaStatusChanged(status);
- break;
- }
-
-}
-
-void QMediaPlayerPrivate::_q_error(int error, const QString &errorString)
-{
- Q_Q(QMediaPlayer);
-
- this->error = QMediaPlayer::Error(error);
- this->errorString = errorString;
-
- emit q->error(this->error);
-}
-
-void QMediaPlayerPrivate::_q_updateMedia(const QMediaContent &media)
-{
- const QMediaPlayer::State currentState = state;
-
- filterStates = true;
- control->setMedia(media, 0);
-
- if (!media.isNull()) {
- switch (currentState) {
- case QMediaPlayer::PlayingState:
- control->play();
- break;
- case QMediaPlayer::PausedState:
- control->pause();
- break;
- default:
- break;
- }
- }
- filterStates = false;
-
- state = control->state();
-
- if (state != currentState) {
-#ifdef DEBUG_PLAYER_STATE
- qDebug() << "State changed:" << ENUM_NAME(QMediaPlayer, "State", state);
-#endif
- emit q_func()->stateChanged(state);
- }
-}
-
-void QMediaPlayerPrivate::_q_playlistDestroyed()
-{
- playlist = 0;
-
- control->setMedia(QMediaContent(), 0);
-}
-
-static QMediaService *playerService(QMediaPlayer::Flags flags, QMediaServiceProvider *provider)
-{
- if (flags) {
- QMediaServiceProviderHint::Features features = 0;
- if (flags & QMediaPlayer::LowLatency)
- features |= QMediaServiceProviderHint::LowLatencyPlayback;
-
- if (flags & QMediaPlayer::StreamPlayback)
- features |= QMediaServiceProviderHint::StreamPlayback;
-
- return provider->requestService(Q_MEDIASERVICE_MEDIAPLAYER,
- QMediaServiceProviderHint(features));
- } else
- return provider->requestService(Q_MEDIASERVICE_MEDIAPLAYER);
-}
-
-
-/*!
- Construct a QMediaPlayer that uses the playback service from \a provider,
- parented to \a parent and with \a flags.
-
- If a playback service is not specified the system default will be used.
-*/
-
-QMediaPlayer::QMediaPlayer(QObject *parent, QMediaPlayer::Flags flags, QMediaServiceProvider *provider):
- QMediaObject(*new QMediaPlayerPrivate,
- parent,
- playerService(flags,provider))
-{
- Q_D(QMediaPlayer);
-
- d->provider = provider;
-
- if (d->service == 0) {
- d->error = ServiceMissingError;
- } else {
- d->control = qobject_cast<QMediaPlayerControl*>(d->service->control(QMediaPlayerControl_iid));
- d->playlistControl = qobject_cast<QMediaPlaylistControl*>(d->service->control(QMediaPlaylistControl_iid));
- if (d->control != 0) {
- connect(d->control, SIGNAL(mediaChanged(QMediaContent)), SIGNAL(mediaChanged(QMediaContent)));
- connect(d->control, SIGNAL(stateChanged(QMediaPlayer::State)), SLOT(_q_stateChanged(QMediaPlayer::State)));
- connect(d->control, SIGNAL(mediaStatusChanged(QMediaPlayer::MediaStatus)),
- SLOT(_q_mediaStatusChanged(QMediaPlayer::MediaStatus)));
- connect(d->control, SIGNAL(error(int,QString)), SLOT(_q_error(int,QString)));
-
- connect(d->control, SIGNAL(durationChanged(qint64)), SIGNAL(durationChanged(qint64)));
- connect(d->control, SIGNAL(positionChanged(qint64)), SIGNAL(positionChanged(qint64)));
- connect(d->control, SIGNAL(audioAvailableChanged(bool)), SIGNAL(audioAvailableChanged(bool)));
- connect(d->control, SIGNAL(videoAvailableChanged(bool)), SIGNAL(videoAvailableChanged(bool)));
- connect(d->control, SIGNAL(volumeChanged(int)), SIGNAL(volumeChanged(int)));
- connect(d->control, SIGNAL(mutedChanged(bool)), SIGNAL(mutedChanged(bool)));
- connect(d->control, SIGNAL(seekableChanged(bool)), SIGNAL(seekableChanged(bool)));
- connect(d->control, SIGNAL(playbackRateChanged(qreal)), SIGNAL(playbackRateChanged(qreal)));
-
- if (d->control->state() == PlayingState)
- addPropertyWatch("position");
-
- if (d->control->mediaStatus() == StalledMedia || d->control->mediaStatus() == BufferingMedia)
- addPropertyWatch("bufferStatus");
- }
- }
-}
-
-
-/*!
- Destroys the player object.
-*/
-
-QMediaPlayer::~QMediaPlayer()
-{
- Q_D(QMediaPlayer);
-
- d->provider->releaseService(d->service);
-}
-
-QMediaContent QMediaPlayer::media() const
-{
- Q_D(const QMediaPlayer);
-
- if (d->control != 0)
- return d->control->media();
-
- return QMediaContent();
-}
-
-/*!
- Returns the stream source of media data.
-
- This is only valid if a stream was passed to setMedia().
-
- \sa setMedia()
-*/
-
-const QIODevice *QMediaPlayer::mediaStream() const
-{
- Q_D(const QMediaPlayer);
-
- if (d->control != 0)
- return d->control->mediaStream();
-
- return 0;
-}
-
-QMediaPlayer::State QMediaPlayer::state() const
-{
- return d_func()->state;
-}
-
-QMediaPlayer::MediaStatus QMediaPlayer::mediaStatus() const
-{
- Q_D(const QMediaPlayer);
-
- if (d->control != 0)
- return d->control->mediaStatus();
-
- return QMediaPlayer::UnknownMediaStatus;
-}
-
-qint64 QMediaPlayer::duration() const
-{
- Q_D(const QMediaPlayer);
-
- if (d->control != 0)
- return d->control->duration();
-
- return -1;
-}
-
-qint64 QMediaPlayer::position() const
-{
- Q_D(const QMediaPlayer);
-
- if (d->control != 0)
- return d->control->position();
-
- return 0;
-}
-
-int QMediaPlayer::volume() const
-{
- Q_D(const QMediaPlayer);
-
- if (d->control != 0)
- return d->control->volume();
-
- return 0;
-}
-
-bool QMediaPlayer::isMuted() const
-{
- Q_D(const QMediaPlayer);
-
- if (d->control != 0)
- return d->control->isMuted();
-
- return false;
-}
-
-int QMediaPlayer::bufferStatus() const
-{
- Q_D(const QMediaPlayer);
-
- if (d->control != 0)
- return d->control->bufferStatus();
-
- return 0;
-}
-
-bool QMediaPlayer::isAudioAvailable() const
-{
- Q_D(const QMediaPlayer);
-
- if (d->control != 0)
- return d->control->isAudioAvailable();
-
- return false;
-}
-
-bool QMediaPlayer::isVideoAvailable() const
-{
- Q_D(const QMediaPlayer);
-
- if (d->control != 0)
- return d->control->isVideoAvailable();
-
- return false;
-}
-
-bool QMediaPlayer::isSeekable() const
-{
- Q_D(const QMediaPlayer);
-
- if (d->control != 0)
- return d->control->isSeekable();
-
- return false;
-}
-
-qreal QMediaPlayer::playbackRate() const
-{
- Q_D(const QMediaPlayer);
-
- if (d->control != 0)
- return d->control->playbackRate();
-
- return 0.0;
-}
-
-/*!
- Returns the current error state.
-*/
-
-QMediaPlayer::Error QMediaPlayer::error() const
-{
- return d_func()->error;
-}
-
-QString QMediaPlayer::errorString() const
-{
- return d_func()->errorString;
-}
-
-//public Q_SLOTS:
-/*!
- Start or resume playing the current source.
-*/
-
-void QMediaPlayer::play()
-{
- Q_D(QMediaPlayer);
-
- if (d->control == 0) {
- QMetaObject::invokeMethod(this, "_q_error", Qt::QueuedConnection,
- Q_ARG(int, QMediaPlayer::ServiceMissingError),
- Q_ARG(QString, tr("The QMediaPlayer object does not have a valid service")));
- return;
- }
-
- //if playlist control is available, the service should advance itself
- if (d->playlist && !d->playlistControl && d->playlist->currentIndex() == -1 && !d->playlist->isEmpty())
- d->playlist->setCurrentIndex(0);
-
- // Reset error conditions
- d->error = NoError;
- d->errorString = QString();
-
- d->control->play();
-}
-
-/*!
- Pause playing the current source.
-*/
-
-void QMediaPlayer::pause()
-{
- Q_D(QMediaPlayer);
-
- if (d->control != 0)
- d->control->pause();
-}
-
-/*!
- Stop playing, and reset the play position to the beginning.
-*/
-
-void QMediaPlayer::stop()
-{
- Q_D(QMediaPlayer);
-
- if (d->control != 0)
- d->control->stop();
-}
-
-void QMediaPlayer::setPosition(qint64 position)
-{
- Q_D(QMediaPlayer);
-
- if (d->control == 0 || !isSeekable())
- return;
-
- d->control->setPosition(qBound(qint64(0), duration(), position));
-}
-
-void QMediaPlayer::setVolume(int v)
-{
- Q_D(QMediaPlayer);
-
- if (d->control == 0)
- return;
-
- int clamped = qBound(0, v, 100);
- if (clamped == volume())
- return;
-
- d->control->setVolume(clamped);
-}
-
-void QMediaPlayer::setMuted(bool muted)
-{
- Q_D(QMediaPlayer);
-
- if (d->control == 0 || muted == isMuted())
- return;
-
- d->control->setMuted(muted);
-}
-
-void QMediaPlayer::setPlaybackRate(qreal rate)
-{
- Q_D(QMediaPlayer);
-
- if (d->control != 0)
- d->control->setPlaybackRate(rate);
-}
-
-/*!
- Sets the current \a media source.
-
- If a \a stream is supplied; media data will be read from it instead of resolving the media
- source. In this case the media source may still be used to resolve additional information
- about the media such as mime type.
-
- Setting the media to a null QMediaContent will cause the player to discard all
- information relating to the current media source and to cease all I/O operations related
- to that media.
-*/
-
-void QMediaPlayer::setMedia(const QMediaContent &media, QIODevice *stream)
-{
- Q_D(QMediaPlayer);
-
- if (d->control != 0)
- d_func()->control->setMedia(media, stream);
-}
-
-/*!
- \internal
-*/
-
-void QMediaPlayer::bind(QObject *obj)
-{
- Q_D(QMediaPlayer);
-
- if (d->control != 0) {
- QMediaPlaylist *playlist = qobject_cast<QMediaPlaylist*>(obj);
-
- if (playlist) {
- if (d->playlist)
- d->playlist->setMediaObject(0);
-
- d->playlist = playlist;
- connect(d->playlist, SIGNAL(currentMediaChanged(QMediaContent)),
- this, SLOT(_q_updateMedia(QMediaContent)));
- connect(d->playlist, SIGNAL(destroyed()), this, SLOT(_q_playlistDestroyed()));
-
- setMedia(playlist->currentMedia());
-
- return;
- }
-
- QVideoWidget *videoWidget = qobject_cast<QVideoWidget*>(obj);
-#ifndef QT_NO_GRAPHICSVIEW
- QGraphicsVideoItem *videoItem = qobject_cast<QGraphicsVideoItem*>(obj);
-#endif
-
- if (videoWidget
-#ifndef QT_NO_GRAPHICSVIEW
- || videoItem
-#endif
- ) {
- //detach the current video output
- if (d->videoWidget) {
- d->videoWidget->setMediaObject(0);
- d->videoWidget = 0;
- }
-
-#ifndef QT_NO_GRAPHICSVIEW
- if (d->videoItem) {
- d->videoItem->setMediaObject(0);
- d->videoItem = 0;
- }
-#endif
- }
-
- if (videoWidget)
- d->videoWidget = videoWidget;
-
-#ifndef QT_NO_GRAPHICSVIEW
- if (videoItem)
- d->videoItem = videoItem;
-#endif
- }
-}
-
-/*!
- \internal
-*/
-
-void QMediaPlayer::unbind(QObject *obj)
-{
- Q_D(QMediaPlayer);
-
- if (obj == d->videoWidget) {
- d->videoWidget = 0;
-#ifndef QT_NO_GRAPHICSVIEW
- } else if (obj == d->videoItem) {
- d->videoItem = 0;
-#endif
- } else if (obj == d->playlist) {
- disconnect(d->playlist, SIGNAL(currentMediaChanged(QMediaContent)),
- this, SLOT(_q_updateMedia(QMediaContent)));
- disconnect(d->playlist, SIGNAL(destroyed()), this, SLOT(_q_playlistDestroyed()));
- d->playlist = 0;
- setMedia(QMediaContent());
- }
-}
-
-/*!
- Returns the level of support a media player has for a \a mimeType and a set of \a codecs.
-
- The \a flags argument allows additional requirements such as performance indicators to be
- specified.
-*/
-QtMediaServices::SupportEstimate QMediaPlayer::hasSupport(const QString &mimeType,
- const QStringList& codecs,
- Flags flags)
-{
- return QMediaServiceProvider::defaultServiceProvider()->hasSupport(QByteArray(Q_MEDIASERVICE_MEDIAPLAYER),
- mimeType,
- codecs,
- flags);
-}
-
-/*!
- Returns a list of MIME types supported by the media player.
-
- The \a flags argument causes the resultant list to be restricted to MIME types which can be supported
- given additional requirements, such as performance indicators.
-*/
-QStringList QMediaPlayer::supportedMimeTypes(Flags flags)
-{
- return QMediaServiceProvider::defaultServiceProvider()->supportedMimeTypes(QByteArray(Q_MEDIASERVICE_MEDIAPLAYER),
- flags);
-}
-
-
-// Enums
-/*!
- \enum QMediaPlayer::State
-
- Defines the current state of a media player.
-
- \value PlayingState The media player is currently playing content.
- \value PausedState The media player has paused playback, playback of the current track will
- resume from the position the player was paused at.
- \value StoppedState The media player is not playing content, playback will begin from the start
- of the current track.
-*/
-
-/*!
- \enum QMediaPlayer::MediaStatus
-
- Defines the status of a media player's current media.
-
- \value UnknownMediaStatus The status of the media cannot be determined.
- \value NoMedia The is no current media. The player is in the StoppedState.
- \value LoadingMedia The current media is being loaded. The player may be in any state.
- \value LoadedMedia The current media has been loaded. The player is in the StoppedState.
- \value StalledMedia Playback of the current media has stalled due to insufficient buffering or
- some other temporary interruption. The player is in the PlayingState or PausedState.
- \value BufferingMedia The player is buffering data but has enough data buffered for playback to
- continue for the immediate future. The player is in the PlayingState or PausedState.
- \value BufferedMedia The player has fully buffered the current media. The player is in the
- PlayingState or PausedState.
- \value EndOfMedia Playback has reached the end of the current media. The player is in the
- StoppedState.
- \value InvalidMedia The current media cannot be played. The player is in the StoppedState.
-*/
-
-/*!
- \enum QMediaPlayer::Error
-
- Defines a media player error condition.
-
- \value NoError No error has occurred.
- \value ResourceError A media resource couldn't be resolved.
- \value FormatError The format of a media resource isn't (fully) supported. Playback may still
- be possible, but without an audio or video component.
- \value NetworkError A network error occurred.
- \value AccessDeniedError There are not the appropriate permissions to play a media resource.
- \value ServiceMissingError A valid playback service was not found, playback cannot proceed.
-*/
-
-// Signals
-/*!
- \fn QMediaPlayer::error(QMediaPlayer::Error error)
-
- Signals that an \a error condition has occurred.
-
- \sa errorString()
-*/
-
-/*!
- \fn void QMediaPlayer::stateChanged(State state)
-
- Signal the \a state of the Player object has changed.
-*/
-
-/*!
- \fn QMediaPlayer::mediaStatusChanged(QMediaPlayer::MediaStatus status)
-
- Signals that the \a status of the current media has changed.
-
- \sa mediaStatus()
-*/
-
-/*!
- \fn void QMediaPlayer::mediaChanged(const QMediaContent &media);
-
- Signals that the current playing content will be obtained from \a media.
-
- \sa media()
-*/
-
-/*!
- \fn void QMediaPlayer::playbackRateChanged(qreal rate);
-
- Signals the playbackRate has changed to \a rate.
-*/
-
-/*!
- \fn void QMediaPlayer::seekableChanged(bool seekable);
-
- Signals the \a seekable status of the player object has changed.
-*/
-
-// Properties
-/*!
- \property QMediaPlayer::state
- \brief the media player's playback state.
-
- By default this property is QMediaPlayer::Stopped
-
- \sa mediaStatus(), play(), pause(), stop()
-*/
-
-/*!
- \property QMediaPlayer::error
- \brief a string describing the last error condition.
-
- \sa error()
-*/
-
-/*!
- \property QMediaPlayer::media
- \brief the active media source being used by the player object.
-
- The player object will use the QMediaContent for selection of the content to
- be played.
-
- By default this property has a null QMediaContent.
-
- Setting this property to a null QMediaContent will cause the player to discard all
- information relating to the current media source and to cease all I/O operations related
- to that media.
-
- \sa QMediaContent
-*/
-
-/*!
- \property QMediaPlayer::mediaStatus
- \brief the status of the current media stream.
-
- The stream status describes how the playback of the current stream is
- progressing.
-
- By default this property is QMediaPlayer::NoMedia
-
- \sa state
-*/
-
-/*!
- \property QMediaPlayer::duration
- \brief the duration of the current media.
-
- The value is the total playback time in milliseconds of the current media.
- The value may change across the life time of the QMediaPlayer object and
- may not be available when initial playback begins, connect to the
- durationChanged() signal to receive status notifications.
-*/
-
-/*!
- \property QMediaPlayer::position
- \brief the playback position of the current media.
-
- The value is the current playback position, expressed in milliseconds since
- the beginning of the media. Periodically changes in the position will be
- indicated with the signal positionChanged(), the interval between updates
- can be set with QMediaObject's method setNotifyInterval().
-*/
-
-/*!
- \property QMediaPlayer::volume
- \brief the current playback volume.
-
- The playback volume is a linear in effect and the value can range from 0 -
- 100, values outside this range will be clamped.
-*/
-
-/*!
- \property QMediaPlayer::muted
- \brief the muted state of the current media.
-
- The value will be true if the playback volume is muted; otherwise false.
-*/
-
-/*!
- \property QMediaPlayer::bufferStatus
- \brief the percentage of the temporary buffer filled before playback begins.
-
- When the player object is buffering; this property holds the percentage of
- the temporary buffer that is filled. The buffer will need to reach 100%
- filled before playback can resume, at which time the MediaStatus will be
- BufferedMedia.
-
- \sa mediaStatus()
-*/
-
-/*!
- \property QMediaPlayer::audioAvailable
- \brief the audio availabilty status for the current media.
-
- As the life time of QMediaPlayer can be longer than the playback of one
- QMediaContent, this property may change over time, the
- audioAvailableChanged signal can be used to monitor it's status.
-*/
-
-/*!
- \property QMediaPlayer::videoAvailable
- \brief the video availability status for the current media.
-
- If available, the QVideoWidget class can be used to view the video. As the
- life time of QMediaPlayer can be longer than the playback of one
- QMediaContent, this property may change over time, the
- videoAvailableChanged signal can be used to monitor it's status.
-
- \sa QVideoWidget, QMediaContent
-*/
-
-/*!
- \property QMediaPlayer::seekable
- \brief the seek-able status of the current media
-
- If seeking is supported this property will be true; false otherwise. The
- status of this property may change across the life time of the QMediaPlayer
- object, use the seekableChanged signal to monitor changes.
-*/
-
-/*!
- \property QMediaPlayer::playbackRate
- \brief the playback rate of the current media.
-
- This value is a multiplier applied to the media's standard play rate. By
- default this value is 1.0, indicating that the media is playing at the
- standard pace. Values higher than 1.0 will increase the rate of play.
- Values less than zero can be set and indicate the media will rewind at the
- multiplier of the standard pace.
-
- Not all playback services support change of the playback rate. It is
- framework defined as to the status and quality of audio and video
- while fast forwarding or rewinding.
-*/
-
-/*!
- \fn void QMediaPlayer::durationChanged(qint64 duration)
-
- Signal the duration of the content has changed to \a duration, expressed in milliseconds.
-*/
-
-/*!
- \fn void QMediaPlayer::positionChanged(qint64 position)
-
- Signal the position of the content has changed to \a position, expressed in
- milliseconds.
-*/
-
-/*!
- \fn void QMediaPlayer::volumeChanged(int volume)
-
- Signal the playback volume has changed to \a volume.
-*/
-
-/*!
- \fn void QMediaPlayer::mutedChanged(bool muted)
-
- Signal the mute state has changed to \a muted.
-*/
-
-/*!
- \fn void QMediaPlayer::audioAvailableChanged(bool available)
-
- Signals the availability of audio content has changed to \a available.
-*/
-
-/*!
- \fn void QMediaPlayer::videoAvailableChanged(bool videoAvailable)
-
- Signal the availability of visual content has changed to \a videoAvailable.
-*/
-
-/*!
- \fn void QMediaPlayer::bufferStatusChanged(int percentFilled)
-
- Signal the amount of the local buffer filled as a percentage by \a percentFilled.
-*/
-
-/*!
- \enum QMediaPlayer::Flag
-
- \value LowLatency
- The player is expected to be used with simple audio formats,
- but playback should start without significant delay.
- Such playback service can be used for beeps, ringtones, etc.
-
- \value StreamPlayback
- The player is expected to play QIODevice based streams.
- If passed to QMediaPlayer constructor, the service supporting
- streams playback will be choosen.
-*/
-
-QT_END_NAMESPACE
-
-QT_END_HEADER
-
-#include "moc_qmediaplayer.cpp"
diff --git a/src/multimedia/mediaservices/playback/qmediaplayer.h b/src/multimedia/mediaservices/playback/qmediaplayer.h
deleted file mode 100644
index d75c58ac27..0000000000
--- a/src/multimedia/mediaservices/playback/qmediaplayer.h
+++ /dev/null
@@ -1,203 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the QtMediaServices module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QMEDIAPLAYER_H
-#define QMEDIAPLAYER_H
-
-#include <QtMediaServices/qmediaserviceprovider.h>
-#include <QtMediaServices/qmediaobject.h>
-#include <QtMediaServices/qmediacontent.h>
-
-
-QT_BEGIN_HEADER
-
-QT_BEGIN_NAMESPACE
-
-QT_MODULE(Multimedia)
-
-
-class QMediaPlaylist;
-
-class QMediaPlayerPrivate;
-class Q_MEDIASERVICES_EXPORT QMediaPlayer : public QMediaObject
-{
- Q_OBJECT
- Q_PROPERTY(QMediaContent media READ media WRITE setMedia NOTIFY mediaChanged)
- Q_PROPERTY(qint64 duration READ duration NOTIFY durationChanged)
- Q_PROPERTY(qint64 position READ position WRITE setPosition NOTIFY positionChanged)
- Q_PROPERTY(int volume READ volume WRITE setVolume NOTIFY volumeChanged)
- Q_PROPERTY(bool muted READ isMuted WRITE setMuted NOTIFY mutedChanged)
- Q_PROPERTY(int bufferStatus READ bufferStatus NOTIFY bufferStatusChanged)
- Q_PROPERTY(bool audioAvailable READ isAudioAvailable NOTIFY audioAvailableChanged)
- Q_PROPERTY(bool videoAvailable READ isVideoAvailable NOTIFY videoAvailableChanged)
- Q_PROPERTY(bool seekable READ isSeekable NOTIFY seekableChanged)
- Q_PROPERTY(qreal playbackRate READ playbackRate WRITE setPlaybackRate NOTIFY playbackRateChanged)
- Q_PROPERTY(State state READ state NOTIFY stateChanged)
- Q_PROPERTY(MediaStatus mediaStatus READ mediaStatus NOTIFY mediaStatusChanged)
- Q_PROPERTY(QString error READ errorString)
- Q_ENUMS(State)
- Q_ENUMS(MediaStatus)
-
-public:
- enum State
- {
- StoppedState,
- PlayingState,
- PausedState
- };
-
- enum MediaStatus
- {
- UnknownMediaStatus,
- NoMedia,
- LoadingMedia,
- LoadedMedia,
- StalledMedia,
- BufferingMedia,
- BufferedMedia,
- EndOfMedia,
- InvalidMedia
- };
-
- enum Flag
- {
- LowLatency = 0x01,
- StreamPlayback = 0x02
- };
- Q_DECLARE_FLAGS(Flags, Flag)
-
- enum Error
- {
- NoError,
- ResourceError,
- FormatError,
- NetworkError,
- AccessDeniedError,
- ServiceMissingError
- };
-
- QMediaPlayer(QObject *parent = 0, Flags flags = 0, QMediaServiceProvider *provider = QMediaServiceProvider::defaultServiceProvider());
- ~QMediaPlayer();
-
- static QtMediaServices::SupportEstimate hasSupport(const QString &mimeType,
- const QStringList& codecs = QStringList(),
- Flags flags = 0);
- static QStringList supportedMimeTypes(Flags flags = 0);
-
- QMediaContent media() const;
- const QIODevice *mediaStream() const;
-
- State state() const;
- MediaStatus mediaStatus() const;
-
- qint64 duration() const;
- qint64 position() const;
-
- int volume() const;
- bool isMuted() const;
- bool isAudioAvailable() const;
- bool isVideoAvailable() const;
-
- int bufferStatus() const;
-
- bool isSeekable() const;
- qreal playbackRate() const;
-
- Error error() const;
- QString errorString() const;
-
-public Q_SLOTS:
- void play();
- void pause();
- void stop();
-
- void setPosition(qint64 position);
- void setVolume(int volume);
- void setMuted(bool muted);
-
- void setPlaybackRate(qreal rate);
-
- void setMedia(const QMediaContent &media, QIODevice *stream = 0);
-
-Q_SIGNALS:
- void mediaChanged(const QMediaContent &media);
-
- void stateChanged(QMediaPlayer::State newState);
- void mediaStatusChanged(QMediaPlayer::MediaStatus status);
-
- void durationChanged(qint64 duration);
- void positionChanged(qint64 position);
-
- void volumeChanged(int volume);
- void mutedChanged(bool muted);
- void audioAvailableChanged(bool audioAvailable);
- void videoAvailableChanged(bool videoAvailable);
-
- void bufferStatusChanged(int percentFilled);
-
- void seekableChanged(bool seekable);
- void playbackRateChanged(qreal rate);
-
- void error(QMediaPlayer::Error error);
-
-public:
- virtual void bind(QObject*);
- virtual void unbind(QObject*);
-
-private:
- Q_DISABLE_COPY(QMediaPlayer)
- Q_DECLARE_PRIVATE(QMediaPlayer)
- Q_PRIVATE_SLOT(d_func(), void _q_stateChanged(QMediaPlayer::State))
- Q_PRIVATE_SLOT(d_func(), void _q_mediaStatusChanged(QMediaPlayer::MediaStatus))
- Q_PRIVATE_SLOT(d_func(), void _q_error(int, const QString &))
- Q_PRIVATE_SLOT(d_func(), void _q_updateMedia(const QMediaContent&))
- Q_PRIVATE_SLOT(d_func(), void _q_playlistDestroyed())
-};
-
-QT_END_NAMESPACE
-
-Q_DECLARE_METATYPE(QMediaPlayer::State)
-Q_DECLARE_METATYPE(QMediaPlayer::MediaStatus)
-Q_DECLARE_METATYPE(QMediaPlayer::Error)
-
-QT_END_HEADER
-
-#endif // QMEDIAPLAYER_H
diff --git a/src/multimedia/mediaservices/playback/qmediaplayercontrol.cpp b/src/multimedia/mediaservices/playback/qmediaplayercontrol.cpp
deleted file mode 100644
index ca58ce48df..0000000000
--- a/src/multimedia/mediaservices/playback/qmediaplayercontrol.cpp
+++ /dev/null
@@ -1,378 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the QtMediaServices module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include <QtMediaServices/qmediaplayercontrol.h>
-#include <QtMediaServices/private/qmediacontrol_p.h>
-#include <QtMediaServices/qmediaplayer.h>
-
-
-QT_BEGIN_NAMESPACE
-
-
-/*!
- \class QMediaPlayerControl
- \ingroup multimedia-serv
- \since 4.7
- \preliminary
- \brief The QMediaPlayerControl class provides access to the media playing
- functionality of a QMediaService.
-
- If a QMediaService can play media is will implement QMediaPlayerControl.
- This control provides a means to set the \l {setMedia()}{media} to play,
- \l {play()}{start}, \l {pause()} {pause} and \l {stop()}{stop} playback,
- \l {setPosition()}{seek}, and control the \l {setVolume()}{volume}.
- It also provides feedback on the \l {duration()}{duration} of the media,
- the current \l {position()}{position}, and \l {bufferStatus()}{buffering}
- progress.
-
- The functionality provided by this control is exposed to application
- code through the QMediaPlayer class.
-
- The interface name of QMediaPlayerControl is \c com.nokia.Qt.QMediaPlayerControl/1.0 as
- defined in QMediaPlayerControl_iid.
-
- \sa QMediaService::control(), QMediaPlayer
-*/
-
-/*!
- \macro QMediaPlayerControl_iid
-
- \c com.nokia.Qt.QMediaPlayerControl/1.0
-
- Defines the interface name of the QMediaPlayerControl class.
-
- \relates QMediaPlayerControl
-*/
-
-/*!
- Destroys a media player control.
-*/
-QMediaPlayerControl::~QMediaPlayerControl()
-{
-}
-
-/*!
- Constructs a new media player control with the given \a parent.
-*/
-QMediaPlayerControl::QMediaPlayerControl(QObject *parent):
- QMediaControl(*new QMediaControlPrivate, parent)
-{
-}
-
-/*!
- \fn QMediaPlayerControl::state() const
-
- Returns the state of a player control.
-*/
-
-/*!
- \fn QMediaPlayerControl::stateChanged(QMediaPlayer::State state)
-
- Signals that the \a state of a player control has changed.
-
- \sa state()
-*/
-
-/*!
- \fn QMediaPlayerControl::mediaStatus() const
-
- Returns the status of the current media.
-*/
-
-/*!
- \fn QMediaPlayerControl::mediaStatusChanged(QMediaPlayer::MediaStatus status)
-
- Signals that the \a status of the current media has changed.
-
- \sa mediaStatus()
-*/
-
-
-/*!
- \fn QMediaPlayerControl::duration() const
-
- Returns the duration of the current media in milliseconds.
-*/
-
-/*!
- \fn QMediaPlayerControl::durationChanged(qint64 duration)
-
- Signals that the \a duration of the current media has changed.
-
- \sa duration()
-*/
-
-/*!
- \fn QMediaPlayerControl::position() const
-
- Returns the current playback position in milliseconds.
-*/
-
-/*!
- \fn QMediaPlayerControl::setPosition(qint64 position)
-
- Sets the playback \a position of the current media. This will initiate a seek and it may take
- some time for playback to reach the position set.
-*/
-
-/*!
- \fn QMediaPlayerControl::positionChanged(qint64 position)
-
- Signals the playback \a position has changed.
-
- This is only emitted in when there has been a discontinous change in the playback postion, such
- as a seek or the position being reset.
-
- \sa position()
-*/
-
-/*!
- \fn QMediaPlayerControl::volume() const
-
- Returns the audio volume of a player control.
-*/
-
-/*!
- \fn QMediaPlayerControl::setVolume(int volume)
-
- Sets the audio \a volume of a player control.
-*/
-
-/*!
- \fn QMediaPlayerControl::volumeChanged(int volume)
-
- Signals the audio \a volume of a player control has changed.
-
- \sa volume()
-*/
-
-/*!
- \fn QMediaPlayerControl::isMuted() const
-
- Returns the mute state of a player control.
-*/
-
-/*!
- \fn QMediaPlayerControl::setMuted(bool mute)
-
- Sets the \a mute state of a player control.
-*/
-
-/*!
- \fn QMediaPlayerControl::mutedChanged(bool mute)
-
- Signals a change in the \a mute status of a player control.
-
- \sa isMuted()
-*/
-
-/*!
- \fn QMediaPlayerControl::bufferStatus() const
-
- Returns the buffering progress of the current media. Progress is measured in the percentage
- of the buffer filled.
-*/
-
-/*!
- \fn QMediaPlayerControl::bufferStatusChanged(int progress)
-
- Signals that buffering \a progress has changed.
-
- \sa bufferStatus()
-*/
-
-/*!
- \fn QMediaPlayerControl::isAudioAvailable() const
-
- Identifies if there is audio output available for the current media.
-
- Returns true if audio output is available and false otherwise.
-*/
-
-/*!
- \fn QMediaPlayerControl::audioAvailableChanged(bool audio)
-
- Signals that there has been a change in the availability of \a audio output.
-
- \sa isAudioAvailable()
-*/
-
-/*!
- \fn QMediaPlayerControl::isVideoAvailable() const
-
- Identifies if there is video output available for the current media.
-
- Returns true if video output is available and false otherwise.
-*/
-
-/*!
- \fn QMediaPlayerControl::videoAvailableChanged(bool video)
-
- Signals that there has been a change in the availability of \a video output.
-
- \sa isVideoAvailable()
-*/
-
-/*!
- \fn QMediaPlayerControl::isSeekable() const
-
- Identifies if the current media is seekable.
-
- Returns true if it possible to seek within the current media, and false otherwise.
-*/
-
-/*!
- \fn QMediaPlayerControl::seekableChanged(bool seekable)
-
- Signals that the \a seekable state of a player control has changed.
-
- \sa isSeekable()
-*/
-
-/*!
- \fn QMediaPlayerControl::availablePlaybackRanges() const
-
- Returns a range of times in milliseconds that can be played back.
-
- Usually for local files this is a continuous interval equal to [0..duration()]
- or an empty time range if seeking is not supported, but for network sources
- it refers to the buffered parts of the media.
-*/
-
-/*!
- \fn QMediaPlayerControl::availablePlaybackRangesChanged(const QMediaTimeRange &ranges)
-
- Signals that the available media playback \a ranges have changed.
-
- \sa QMediaPlayerControl::availablePlaybackRanges()
-*/
-
-/*!
- \fn qreal QMediaPlayerControl::playbackRate() const
-
- Returns the rate of playback.
-*/
-
-/*!
- \fn QMediaPlayerControl::setPlaybackRate(qreal rate)
-
- Sets the \a rate of playback.
-*/
-
-/*!
- \fn QMediaPlayerControl::media() const
-
- Returns the current media source.
-*/
-
-/*!
- \fn QMediaPlayerControl::mediaStream() const
-
- Returns the current media stream. This is only a valid if a stream was passed to setMedia().
-
- \sa setMedia()
-*/
-
-/*!
- \fn QMediaPlayerControl::setMedia(const QMediaContent &media, QIODevice *stream)
-
- Sets the current \a media source. If a \a stream is supplied; data will be read from that
- instead of attempting to resolve the media source. The media source may still be used to
- supply media information such as mime type.
-
- Setting the media to a null QMediaContent will cause the control to discard all
- information relating to the current media source and to cease all I/O operations related
- to that media.
-*/
-
-/*!
- \fn QMediaPlayerControl::mediaChanged(const QMediaContent& content)
-
- Signals that the current media \a content has changed.
-*/
-
-/*!
- \fn QMediaPlayerControl::play()
-
- Starts playback of the current media.
-
- If successful the player control will immediately enter the \l {QMediaPlayer::PlayingState}
- {playing} state.
-
- \sa state()
-*/
-
-/*!
- \fn QMediaPlayerControl::pause()
-
- Pauses playback of the current media.
-
- If sucessful the player control will immediately enter the \l {QMediaPlayer::PausedState}
- {paused} state.
-
- \sa state(), play(), stop()
-*/
-
-/*!
- \fn QMediaPlayerControl::stop()
-
- Stops playback of the current media.
-
- If succesful the player control will immediately enter the \l {QMediaPlayer::StoppedState}
- {stopped} state.
-*/
-
-/*!
- \fn QMediaPlayerControl::error(int error, const QString &errorString)
-
- Signals that an \a error has occurred. The \a errorString provides a more detailed explanation.
-*/
-
-/*!
- \fn QMediaPlayerControl::playbackRateChanged(qreal rate)
-
- Signal emitted when playback rate changes to \a rate.
-*/
-
-QT_END_NAMESPACE
-
-#include "moc_qmediaplayercontrol.cpp"
-
diff --git a/src/multimedia/mediaservices/playback/qmediaplayercontrol.h b/src/multimedia/mediaservices/playback/qmediaplayercontrol.h
deleted file mode 100644
index 7a3c24e30f..0000000000
--- a/src/multimedia/mediaservices/playback/qmediaplayercontrol.h
+++ /dev/null
@@ -1,131 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the QtMediaServices module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QMEDIAPLAYERCONTROL_H
-#define QMEDIAPLAYERCONTROL_H
-
-#include <QtCore/qpair.h>
-
-#include <QtMediaServices/qmediacontrol.h>
-#include <QtMediaServices/qmediaplayer.h>
-#include <QtMediaServices/qmediatimerange.h>
-
-
-QT_BEGIN_HEADER
-
-QT_BEGIN_NAMESPACE
-
-QT_MODULE(Multimedia)
-
-
-class QMediaPlaylist;
-
-class Q_MEDIASERVICES_EXPORT QMediaPlayerControl : public QMediaControl
-{
- Q_OBJECT
-
-public:
- ~QMediaPlayerControl();
-
- virtual QMediaPlayer::State state() const = 0;
-
- virtual QMediaPlayer::MediaStatus mediaStatus() const = 0;
-
- virtual qint64 duration() const = 0;
-
- virtual qint64 position() const = 0;
- virtual void setPosition(qint64 position) = 0;
-
- virtual int volume() const = 0;
- virtual void setVolume(int volume) = 0;
-
- virtual bool isMuted() const = 0;
- virtual void setMuted(bool muted) = 0;
-
- virtual int bufferStatus() const = 0;
-
- virtual bool isAudioAvailable() const = 0;
- virtual bool isVideoAvailable() const = 0;
-
- virtual bool isSeekable() const = 0;
-
- virtual QMediaTimeRange availablePlaybackRanges() const = 0;
-
- virtual qreal playbackRate() const = 0;
- virtual void setPlaybackRate(qreal rate) = 0;
-
- virtual QMediaContent media() const = 0;
- virtual const QIODevice *mediaStream() const = 0;
- virtual void setMedia(const QMediaContent &media, QIODevice *stream) = 0;
-
- virtual void play() = 0;
- virtual void pause() = 0;
- virtual void stop() = 0;
-
-Q_SIGNALS:
- void mediaChanged(const QMediaContent& content);
- void durationChanged(qint64 duration);
- void positionChanged(qint64 position);
- void stateChanged(QMediaPlayer::State newState);
- void mediaStatusChanged(QMediaPlayer::MediaStatus status);
- void volumeChanged(int volume);
- void mutedChanged(bool muted);
- void audioAvailableChanged(bool audioAvailable);
- void videoAvailableChanged(bool videoAvailable);
- void bufferStatusChanged(int percentFilled);
- void seekableChanged(bool);
- void availablePlaybackRangesChanged(const QMediaTimeRange&);
- void playbackRateChanged(qreal rate);
- void error(int error, const QString &errorString);
-
-protected:
- QMediaPlayerControl(QObject* parent = 0);
-};
-
-#define QMediaPlayerControl_iid "com.nokia.Qt.QMediaPlayerControl/1.0"
-Q_MEDIA_DECLARE_CONTROL(QMediaPlayerControl, QMediaPlayerControl_iid)
-
-QT_END_NAMESPACE
-
-QT_END_HEADER
-
-#endif // QMEDIAPLAYERCONTROL_H
-
diff --git a/src/multimedia/multimedia.pro b/src/multimedia/multimedia.pro
index 8cdcb38572..852322dd6f 100644
--- a/src/multimedia/multimedia.pro
+++ b/src/multimedia/multimedia.pro
@@ -1,8 +1,16 @@
-TEMPLATE = subdirs
+TARGET = QtMultimedia
+QPRO_PWD = $$PWD
+QT = core gui
-contains(QT_CONFIG, multimedia) {
- SUBDIRS += multimedia
+DEFINES += QT_BUILD_MULTIMEDIA_LIB QT_NO_USING_NAMESPACE
- contains(QT_CONFIG, mediaservices):SUBDIRS += mediaservices
-}
+unix:QMAKE_PKGCONFIG_REQUIRES = QtCore QtGui
+
+include(../qbase.pri)
+include(audio/audio.pri)
+include(video/video.pri)
+
+symbian: {
+ TARGET.UID3 = 0x2001E627
+}
diff --git a/src/multimedia/multimedia/audio/qaudio_symbian_p.cpp b/src/multimedia/multimedia/audio/qaudio_symbian_p.cpp
deleted file mode 100644
index afe98f5096..0000000000
--- a/src/multimedia/multimedia/audio/qaudio_symbian_p.cpp
+++ /dev/null
@@ -1,395 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the QtMultimedia module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "qaudio_symbian_p.h"
-#include <mmffourcc.h>
-
-QT_BEGIN_NAMESPACE
-
-namespace SymbianAudio {
-
-DevSoundCapabilities::DevSoundCapabilities(CMMFDevSound &devsound,
- QAudio::Mode mode)
-{
- QT_TRAP_THROWING(constructL(devsound, mode));
-}
-
-DevSoundCapabilities::~DevSoundCapabilities()
-{
- m_fourCC.Close();
-}
-
-void DevSoundCapabilities::constructL(CMMFDevSound &devsound,
- QAudio::Mode mode)
-{
- m_caps = devsound.Capabilities();
-
- TMMFPrioritySettings settings;
-
- switch (mode) {
- case QAudio::AudioOutput:
- settings.iState = EMMFStatePlaying;
- devsound.GetSupportedInputDataTypesL(m_fourCC, settings);
- break;
-
- case QAudio::AudioInput:
- settings.iState = EMMFStateRecording;
- devsound.GetSupportedInputDataTypesL(m_fourCC, settings);
- break;
-
- default:
- Q_ASSERT_X(false, Q_FUNC_INFO, "Invalid mode");
- }
-}
-
-namespace Utils {
-
-//-----------------------------------------------------------------------------
-// Static data
-//-----------------------------------------------------------------------------
-
-// Sample rate / frequency
-
-typedef TMMFSampleRate SampleRateNative;
-typedef int SampleRateQt;
-
-const int SampleRateCount = 12;
-
-const SampleRateNative SampleRateListNative[SampleRateCount] = {
- EMMFSampleRate8000Hz
- , EMMFSampleRate11025Hz
- , EMMFSampleRate12000Hz
- , EMMFSampleRate16000Hz
- , EMMFSampleRate22050Hz
- , EMMFSampleRate24000Hz
- , EMMFSampleRate32000Hz
- , EMMFSampleRate44100Hz
- , EMMFSampleRate48000Hz
- , EMMFSampleRate64000Hz
- , EMMFSampleRate88200Hz
- , EMMFSampleRate96000Hz
-};
-
-const SampleRateQt SampleRateListQt[SampleRateCount] = {
- 8000
- , 11025
- , 12000
- , 16000
- , 22050
- , 24000
- , 32000
- , 44100
- , 48000
- , 64000
- , 88200
- , 96000
-};
-
-// Channels
-
-typedef TMMFMonoStereo ChannelsNative;
-typedef int ChannelsQt;
-
-const int ChannelsCount = 2;
-
-const ChannelsNative ChannelsListNative[ChannelsCount] = {
- EMMFMono
- , EMMFStereo
-};
-
-const ChannelsQt ChannelsListQt[ChannelsCount] = {
- 1
- , 2
-};
-
-// Encoding
-
-const int EncodingCount = 6;
-
-const TUint32 EncodingFourCC[EncodingCount] = {
- KMMFFourCCCodePCM8 // 0
- , KMMFFourCCCodePCMU8 // 1
- , KMMFFourCCCodePCM16 // 2
- , KMMFFourCCCodePCMU16 // 3
- , KMMFFourCCCodePCM16B // 4
- , KMMFFourCCCodePCMU16B // 5
-};
-
-// The characterised DevSound API specification states that the iEncoding
-// field in TMMFCapabilities is ignored, and that the FourCC should be used
-// to specify the PCM encoding.
-// See "SGL.GT0287.102 Multimedia DevSound Baseline Compatibility.doc" in the
-// mm_info/mm_docs repository.
-const TMMFSoundEncoding EncodingNative[EncodingCount] = {
- EMMFSoundEncoding16BitPCM // 0
- , EMMFSoundEncoding16BitPCM // 1
- , EMMFSoundEncoding16BitPCM // 2
- , EMMFSoundEncoding16BitPCM // 3
- , EMMFSoundEncoding16BitPCM // 4
- , EMMFSoundEncoding16BitPCM // 5
-};
-
-
-const int EncodingSampleSize[EncodingCount] = {
- 8 // 0
- , 8 // 1
- , 16 // 2
- , 16 // 3
- , 16 // 4
- , 16 // 5
-};
-
-const QAudioFormat::Endian EncodingByteOrder[EncodingCount] = {
- QAudioFormat::LittleEndian // 0
- , QAudioFormat::LittleEndian // 1
- , QAudioFormat::LittleEndian // 2
- , QAudioFormat::LittleEndian // 3
- , QAudioFormat::BigEndian // 4
- , QAudioFormat::BigEndian // 5
-};
-
-const QAudioFormat::SampleType EncodingSampleType[EncodingCount] = {
- QAudioFormat::SignedInt // 0
- , QAudioFormat::UnSignedInt // 1
- , QAudioFormat::SignedInt // 2
- , QAudioFormat::UnSignedInt // 3
- , QAudioFormat::SignedInt // 4
- , QAudioFormat::UnSignedInt // 5
-};
-
-
-//-----------------------------------------------------------------------------
-// Private functions
-//-----------------------------------------------------------------------------
-
-// Helper functions for implementing parameter conversions
-
-template<typename Input>
-bool findValue(const Input *inputArray, int length, Input input, int &index) {
- bool result = false;
- for (int i=0; !result && i<length; ++i)
- if (inputArray[i] == input) {
- index = i;
- result = true;
- }
- return result;
-}
-
-template<typename Input, typename Output>
-bool convertValue(const Input *inputArray, const Output *outputArray,
- int length, Input input, Output &output) {
- int index;
- const bool result = findValue<Input>(inputArray, length, input, index);
- if (result)
- output = outputArray[index];
- return result;
-}
-
-/**
- * Macro which is used to generate the implementation of the conversion
- * functions. The implementation is just a wrapper around the templated
- * convertValue function, e.g.
- *
- * CONVERSION_FUNCTION_IMPL(SampleRate, Qt, Native)
- *
- * expands to
- *
- * bool SampleRateQtToNative(int input, TMMFSampleRate &output) {
- * return convertValue<SampleRateQt, SampleRateNative>
- * (SampleRateListQt, SampleRateListNative, SampleRateCount,
- * input, output);
- * }
- */
-#define CONVERSION_FUNCTION_IMPL(FieldLc, Field, Input, Output) \
-bool FieldLc##Input##To##Output(Field##Input input, Field##Output &output) { \
- return convertValue<Field##Input, Field##Output>(Field##List##Input, \
- Field##List##Output, Field##Count, input, output); \
-}
-
-//-----------------------------------------------------------------------------
-// Local helper functions
-//-----------------------------------------------------------------------------
-
-CONVERSION_FUNCTION_IMPL(sampleRate, SampleRate, Qt, Native)
-CONVERSION_FUNCTION_IMPL(sampleRate, SampleRate, Native, Qt)
-CONVERSION_FUNCTION_IMPL(channels, Channels, Qt, Native)
-CONVERSION_FUNCTION_IMPL(channels, Channels, Native, Qt)
-
-bool sampleInfoQtToNative(int inputSampleSize,
- QAudioFormat::Endian inputByteOrder,
- QAudioFormat::SampleType inputSampleType,
- TUint32 &outputFourCC,
- TMMFSoundEncoding &outputEncoding) {
-
- bool found = false;
-
- for (int i=0; i<EncodingCount && !found; ++i) {
- if ( EncodingSampleSize[i] == inputSampleSize
- && EncodingByteOrder[i] == inputByteOrder
- && EncodingSampleType[i] == inputSampleType) {
- outputFourCC = EncodingFourCC[i];
- outputEncoding = EncodingNative[i]; // EMMFSoundEncoding16BitPCM
- found = true;
- }
- }
-
- return found;
-}
-
-//-----------------------------------------------------------------------------
-// Public functions
-//-----------------------------------------------------------------------------
-
-void capabilitiesNativeToQt(const DevSoundCapabilities &caps,
- QList<int> &frequencies,
- QList<int> &channels,
- QList<int> &sampleSizes,
- QList<QAudioFormat::Endian> &byteOrders,
- QList<QAudioFormat::SampleType> &sampleTypes) {
-
- frequencies.clear();
- sampleSizes.clear();
- byteOrders.clear();
- sampleTypes.clear();
- channels.clear();
-
- for (int i=0; i<SampleRateCount; ++i)
- if (caps.caps().iRate & SampleRateListNative[i])
- frequencies += SampleRateListQt[i];
-
- for (int i=0; i<ChannelsCount; ++i)
- if (caps.caps().iChannels & ChannelsListNative[i])
- channels += ChannelsListQt[i];
-
- for (int i=0; i<EncodingCount; ++i) {
- if (caps.fourCC().Find(EncodingFourCC[i]) != KErrNotFound) {
- sampleSizes += EncodingSampleSize[i];
- byteOrders += EncodingByteOrder[i];
- sampleTypes += EncodingSampleType[i];
- }
- }
-
-}
-
-bool isFormatSupported(const QAudioFormat &formatQt,
- const DevSoundCapabilities &caps) {
- TMMFCapabilities formatNative;
- TUint32 fourCC;
-
- bool result = false;
- if (formatQt.codec() == QString::fromAscii("audio/pcm") &&
- formatQtToNative(formatQt, fourCC, formatNative)) {
- result =
- (formatNative.iRate & caps.caps().iRate)
- && (formatNative.iChannels & caps.caps().iChannels)
- && (caps.fourCC().Find(fourCC) != KErrNotFound);
- }
- return result;
-}
-
-bool formatQtToNative(const QAudioFormat &inputFormat,
- TUint32 &outputFourCC,
- TMMFCapabilities &outputFormat) {
-
- bool result = false;
-
- // Need to use temporary variables because TMMFCapabilities fields are all
- // TInt, rather than MMF enumerated types.
- TMMFSampleRate outputSampleRate;
- TMMFMonoStereo outputChannels;
- TMMFSoundEncoding outputEncoding;
-
- if (inputFormat.codec() == QString::fromAscii("audio/pcm")) {
- result =
- sampleRateQtToNative(inputFormat.frequency(), outputSampleRate)
- && channelsQtToNative(inputFormat.channels(), outputChannels)
- && sampleInfoQtToNative(inputFormat.sampleSize(),
- inputFormat.byteOrder(),
- inputFormat.sampleType(),
- outputFourCC,
- outputEncoding);
- }
-
- if (result) {
- outputFormat.iRate = outputSampleRate;
- outputFormat.iChannels = outputChannels;
- outputFormat.iEncoding = outputEncoding;
- }
-
- return result;
-}
-
-QAudio::State stateNativeToQt(State nativeState,
- QAudio::State initializingState)
-{
- switch (nativeState) {
- case ClosedState:
- return QAudio::StoppedState;
- case InitializingState:
- return initializingState;
- case ActiveState:
- return QAudio::ActiveState;
- case IdleState:
- return QAudio::IdleState;
- case SuspendedState:
- return QAudio::SuspendedState;
- default:
- Q_ASSERT_X(false, Q_FUNC_INFO, "Invalid state");
- return QAudio::StoppedState; // suppress compiler warning
- }
-}
-
-qint64 bytesToSamples(const QAudioFormat &format, qint64 length)
-{
- return length / ((format.sampleSize() / 8) * format.channels());
-}
-
-qint64 samplesToBytes(const QAudioFormat &format, qint64 samples)
-{
- return samples * (format.sampleSize() / 8) * format.channels();
-}
-
-} // namespace Utils
-} // namespace SymbianAudio
-
-QT_END_NAMESPACE
-
-
diff --git a/src/multimedia/multimedia/audio/qaudio_symbian_p.h b/src/multimedia/multimedia/audio/qaudio_symbian_p.h
deleted file mode 100644
index d5238b439e..0000000000
--- a/src/multimedia/multimedia/audio/qaudio_symbian_p.h
+++ /dev/null
@@ -1,156 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the QtMultimedia module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-//
-// W A R N I N G
-// -------------
-//
-// This file is not part of the Qt API. It exists for the convenience
-// of other Qt classes. This header file may change from version to
-// version without notice, or even be removed.
-//
-// We mean it.
-//
-
-#ifndef QAUDIO_SYMBIAN_P_H
-#define QAUDIO_SYMBIAN_P_H
-
-#include <QtCore/qnamespace.h>
-#include <QtMultimedia/qaudioformat.h>
-#include <QtMultimedia/qaudio.h>
-#include <sounddevice.h>
-
-QT_BEGIN_NAMESPACE
-
-namespace SymbianAudio {
-
-/**
- * Default values used by audio input and output classes, when underlying
- * DevSound instance has not yet been created.
- */
-
-const int DefaultBufferSize = 4096; // bytes
-const int DefaultNotifyInterval = 1000; // ms
-
-/**
- * Enumeration used to track state of internal DevSound instances.
- * Values are translated to the corresponding QAudio::State values by
- * SymbianAudio::Utils::stateNativeToQt.
- */
-enum State {
- ClosedState
- , InitializingState
- , ActiveState
- , IdleState
- , SuspendedState
-};
-
-/*
- * Helper class for querying DevSound codec / format support
- */
-class DevSoundCapabilities {
-public:
- DevSoundCapabilities(CMMFDevSound &devsound, QAudio::Mode mode);
- ~DevSoundCapabilities();
-
- const RArray<TFourCC>& fourCC() const { return m_fourCC; }
- const TMMFCapabilities& caps() const { return m_caps; }
-
-private:
- void constructL(CMMFDevSound &devsound, QAudio::Mode mode);
-
-private:
- RArray<TFourCC> m_fourCC;
- TMMFCapabilities m_caps;
-};
-
-namespace Utils {
-
-/**
- * Convert native audio capabilities to QAudio lists.
- */
-void capabilitiesNativeToQt(const DevSoundCapabilities &caps,
- QList<int> &frequencies,
- QList<int> &channels,
- QList<int> &sampleSizes,
- QList<QAudioFormat::Endian> &byteOrders,
- QList<QAudioFormat::SampleType> &sampleTypes);
-
-/**
- * Check whether format is supported.
- */
-bool isFormatSupported(const QAudioFormat &format,
- const DevSoundCapabilities &caps);
-
-/**
- * Convert QAudioFormat to native format types.
- *
- * Note that, despite the name, DevSound uses TMMFCapabilities to specify
- * single formats as well as capabilities.
- *
- * Note that this function does not modify outputFormat.iBufferSize.
- */
-bool formatQtToNative(const QAudioFormat &inputFormat,
- TUint32 &outputFourCC,
- TMMFCapabilities &outputFormat);
-
-/**
- * Convert internal states to QAudio states.
- */
-QAudio::State stateNativeToQt(State nativeState,
- QAudio::State initializingState);
-
-/**
- * Convert data length to number of samples.
- */
-qint64 bytesToSamples(const QAudioFormat &format, qint64 length);
-
-/**
- * Convert number of samples to data length.
- */
-qint64 samplesToBytes(const QAudioFormat &format, qint64 samples);
-
-} // namespace Utils
-} // namespace SymbianAudio
-
-QT_END_NAMESPACE
-
-#endif
diff --git a/src/multimedia/multimedia/audio/qaudiodeviceinfo.cpp b/src/multimedia/multimedia/audio/qaudiodeviceinfo.cpp
deleted file mode 100644
index ff04b4e3d1..0000000000
--- a/src/multimedia/multimedia/audio/qaudiodeviceinfo.cpp
+++ /dev/null
@@ -1,400 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the QtMultimedia module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "qaudiodevicefactory_p.h"
-#include <QtMultimedia/qaudioengine.h>
-#include <QtMultimedia/qaudiodeviceinfo.h>
-
-
-QT_BEGIN_NAMESPACE
-
-class QAudioDeviceInfoPrivate : public QSharedData
-{
-public:
- QAudioDeviceInfoPrivate():info(0) {}
- QAudioDeviceInfoPrivate(const QString &r, const QByteArray &h, QAudio::Mode m):
- realm(r), handle(h), mode(m)
- {
- info = QAudioDeviceFactory::audioDeviceInfo(realm, handle, mode);
- }
-
- QAudioDeviceInfoPrivate(const QAudioDeviceInfoPrivate &other):
- QSharedData(other),
- realm(other.realm), handle(other.handle), mode(other.mode)
- {
- info = QAudioDeviceFactory::audioDeviceInfo(realm, handle, mode);
- }
-
- QAudioDeviceInfoPrivate& operator=(const QAudioDeviceInfoPrivate &other)
- {
- delete info;
-
- realm = other.realm;
- handle = other.handle;
- mode = other.mode;
- info = QAudioDeviceFactory::audioDeviceInfo(realm, handle, mode);
- return *this;
- }
-
- ~QAudioDeviceInfoPrivate()
- {
- delete info;
- }
-
- QString realm;
- QByteArray handle;
- QAudio::Mode mode;
- QAbstractAudioDeviceInfo* info;
-};
-
-
-/*!
- \class QAudioDeviceInfo
- \brief The QAudioDeviceInfo class provides an interface to query audio devices and their functionality.
- \inmodule QtMultimedia
- \ingroup multimedia
-
- \since 4.6
-
- QAudioDeviceInfo lets you query for audio devices--such as sound
- cards and USB headsets--that are currently available on the system.
- The audio devices available are dependent on the platform or audio plugins installed.
-
- You can also query each device for the formats it supports. A
- format in this context is a set consisting of a specific byte
- order, channel, codec, frequency, sample rate, and sample type. A
- format is represented by the QAudioFormat class.
-
- The values supported by the the device for each of these
- parameters can be fetched with
- supportedByteOrders(), supportedChannelCounts(), supportedCodecs(),
- supportedSampleRates(), supportedSampleSizes(), and
- supportedSampleTypes(). The combinations supported are dependent on the platform,
- audio plugins installed and the audio device capabilities. If you need a specific format, you can check if
- the device supports it with isFormatSupported(), or fetch a
- supported format that is as close as possible to the format with
- nearestFormat(). For instance:
-
- \snippet doc/src/snippets/audio/main.cpp 1
- \dots 8
- \snippet doc/src/snippets/audio/main.cpp 2
-
- A QAudioDeviceInfo is used by Qt to construct
- classes that communicate with the device--such as
- QAudioInput, and QAudioOutput. The static
- functions defaultInputDevice(), defaultOutputDevice(), and
- availableDevices() let you get a list of all available
- devices. Devices are fetch according to the value of mode
- this is specified by the QAudio::Mode enum.
- The QAudioDeviceInfo returned are only valid for the QAudio::Mode.
-
- For instance:
-
- \code
- foreach(const QAudioDeviceInfo &deviceInfo, QAudioDeviceInfo::availableDevices(QAudio::AudioOutput))
- qDebug() << "Device name: " << deviceInfo.deviceName();
- \endcode
-
- In this code sample, we loop through all devices that are able to output
- sound, i.e., play an audio stream in a supported format. For each device we
- find, we simply print the deviceName().
-
- \sa QAudioOutput, QAudioInput
-*/
-
-/*!
- Constructs an empty QAudioDeviceInfo object.
-*/
-
-QAudioDeviceInfo::QAudioDeviceInfo():
- d(new QAudioDeviceInfoPrivate)
-{
-}
-
-/*!
- Constructs a copy of \a other.
-*/
-
-QAudioDeviceInfo::QAudioDeviceInfo(const QAudioDeviceInfo& other):
- d(other.d)
-{
-}
-
-/*!
- Destroy this audio device info.
-*/
-
-QAudioDeviceInfo::~QAudioDeviceInfo()
-{
-}
-
-/*!
- Sets the QAudioDeviceInfo object to be equal to \a other.
-*/
-
-QAudioDeviceInfo& QAudioDeviceInfo::operator=(const QAudioDeviceInfo &other)
-{
- d = other.d;
- return *this;
-}
-
-/*!
- Returns whether this QAudioDeviceInfo object holds a device definition.
-*/
-
-bool QAudioDeviceInfo::isNull() const
-{
- return d->info == 0;
-}
-
-/*!
- Returns human readable name of audio device.
-
- Device names vary depending on platform/audio plugin being used.
-
- They are a unique string identifiers for the audio device.
-
- eg. default, Intel, U0x46d0x9a4
-*/
-
-QString QAudioDeviceInfo::deviceName() const
-{
- return isNull() ? QString() : d->info->deviceName();
-}
-
-/*!
- Returns true if \a settings are supported by the audio device of this QAudioDeviceInfo.
-*/
-
-bool QAudioDeviceInfo::isFormatSupported(const QAudioFormat &settings) const
-{
- return isNull() ? false : d->info->isFormatSupported(settings);
-}
-
-/*!
- Returns QAudioFormat of default settings.
-
- These settings are provided by the platform/audio plugin being used.
-
- They also are dependent on the QAudio::Mode being used.
-
- A typical audio system would provide something like:
- \list
- \o Input settings: 8000Hz mono 8 bit.
- \o Output settings: 44100Hz stereo 16 bit little endian.
- \endlist
-*/
-
-QAudioFormat QAudioDeviceInfo::preferredFormat() const
-{
- return isNull() ? QAudioFormat() : d->info->preferredFormat();
-}
-
-/*!
- Returns closest QAudioFormat to \a settings that system audio supports.
-
- These settings are provided by the platform/audio plugin being used.
-
- They also are dependent on the QAudio::Mode being used.
-*/
-
-QAudioFormat QAudioDeviceInfo::nearestFormat(const QAudioFormat &settings) const
-{
- return isNull() ? QAudioFormat() : d->info->nearestFormat(settings);
-}
-
-/*!
- Returns a list of supported codecs.
-
- All platform and plugin implementations should provide support for:
-
- "audio/pcm" - Linear PCM
-
- For writing plugins to support additional codecs refer to:
-
- http://www.iana.org/assignments/media-types/audio/
-*/
-
-QStringList QAudioDeviceInfo::supportedCodecs() const
-{
- return isNull() ? QStringList() : d->info->codecList();
-}
-
-/*!
- Returns a list of supported sample rates.
-
- \since 4.7
-*/
-
-QList<int> QAudioDeviceInfo::supportedSampleRates() const
-{
- return supportedFrequencies();
-}
-
-/*!
- \obsolete
-
- Use supportedSampleRates() instead.
-*/
-
-QList<int> QAudioDeviceInfo::supportedFrequencies() const
-{
- return isNull() ? QList<int>() : d->info->frequencyList();
-}
-
-/*!
- Returns a list of supported channel counts.
-
- \since 4.7
-*/
-
-QList<int> QAudioDeviceInfo::supportedChannelCounts() const
-{
- return supportedChannels();
-}
-
-/*!
- \obsolete
-
- Use supportedChannelCount() instead.
-*/
-
-QList<int> QAudioDeviceInfo::supportedChannels() const
-{
- return isNull() ? QList<int>() : d->info->channelsList();
-}
-
-/*!
- Returns a list of supported sample sizes.
-*/
-
-QList<int> QAudioDeviceInfo::supportedSampleSizes() const
-{
- return isNull() ? QList<int>() : d->info->sampleSizeList();
-}
-
-/*!
- Returns a list of supported byte orders.
-*/
-
-QList<QAudioFormat::Endian> QAudioDeviceInfo::supportedByteOrders() const
-{
- return isNull() ? QList<QAudioFormat::Endian>() : d->info->byteOrderList();
-}
-
-/*!
- Returns a list of supported sample types.
-*/
-
-QList<QAudioFormat::SampleType> QAudioDeviceInfo::supportedSampleTypes() const
-{
- return isNull() ? QList<QAudioFormat::SampleType>() : d->info->sampleTypeList();
-}
-
-/*!
- Returns the name of the default input audio device.
- All platform and audio plugin implementations provide a default audio device to use.
-*/
-
-QAudioDeviceInfo QAudioDeviceInfo::defaultInputDevice()
-{
- return QAudioDeviceFactory::defaultInputDevice();
-}
-
-/*!
- Returns the name of the default output audio device.
- All platform and audio plugin implementations provide a default audio device to use.
-*/
-
-QAudioDeviceInfo QAudioDeviceInfo::defaultOutputDevice()
-{
- return QAudioDeviceFactory::defaultOutputDevice();
-}
-
-/*!
- Returns a list of audio devices that support \a mode.
-*/
-
-QList<QAudioDeviceInfo> QAudioDeviceInfo::availableDevices(QAudio::Mode mode)
-{
- return QAudioDeviceFactory::availableDevices(mode);
-}
-
-
-/*!
- \internal
-*/
-
-QAudioDeviceInfo::QAudioDeviceInfo(const QString &realm, const QByteArray &handle, QAudio::Mode mode):
- d(new QAudioDeviceInfoPrivate(realm, handle, mode))
-{
-}
-
-/*!
- \internal
-*/
-
-QString QAudioDeviceInfo::realm() const
-{
- return d->realm;
-}
-
-/*!
- \internal
-*/
-
-QByteArray QAudioDeviceInfo::handle() const
-{
- return d->handle;
-}
-
-
-/*!
- \internal
-*/
-
-QAudio::Mode QAudioDeviceInfo::mode() const
-{
- return d->mode;
-}
-
-QT_END_NAMESPACE
-
diff --git a/src/multimedia/multimedia/audio/qaudiodeviceinfo_symbian_p.cpp b/src/multimedia/multimedia/audio/qaudiodeviceinfo_symbian_p.cpp
deleted file mode 100644
index 36284d3ac1..0000000000
--- a/src/multimedia/multimedia/audio/qaudiodeviceinfo_symbian_p.cpp
+++ /dev/null
@@ -1,200 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the QtMultimedia module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "qaudiodeviceinfo_symbian_p.h"
-#include "qaudio_symbian_p.h"
-
-QT_BEGIN_NAMESPACE
-
-QAudioDeviceInfoInternal::QAudioDeviceInfoInternal(QByteArray device,
- QAudio::Mode mode)
- : m_deviceName(QLatin1String(device))
- , m_mode(mode)
- , m_updated(false)
-{
- QT_TRAP_THROWING(m_devsound.reset(CMMFDevSound::NewL()));
-}
-
-QAudioDeviceInfoInternal::~QAudioDeviceInfoInternal()
-{
-
-}
-
-QAudioFormat QAudioDeviceInfoInternal::preferredFormat() const
-{
- QAudioFormat format;
- switch (m_mode) {
- case QAudio::AudioOutput:
- format.setFrequency(44100);
- format.setChannels(2);
- format.setSampleSize(16);
- format.setByteOrder(QAudioFormat::LittleEndian);
- format.setSampleType(QAudioFormat::SignedInt);
- format.setCodec(QLatin1String("audio/pcm"));
- break;
-
- case QAudio::AudioInput:
- format.setFrequency(8000);
- format.setChannels(1);
- format.setSampleSize(16);
- format.setByteOrder(QAudioFormat::LittleEndian);
- format.setSampleType(QAudioFormat::SignedInt);
- format.setCodec(QLatin1String("audio/pcm"));
- break;
-
- default:
- Q_ASSERT_X(false, Q_FUNC_INFO, "Invalid mode");
- }
-
- if (!isFormatSupported(format)) {
- if (m_frequencies.size())
- format.setFrequency(m_frequencies[0]);
- if (m_channels.size())
- format.setChannels(m_channels[0]);
- if (m_sampleSizes.size())
- format.setSampleSize(m_sampleSizes[0]);
- if (m_byteOrders.size())
- format.setByteOrder(m_byteOrders[0]);
- if (m_sampleTypes.size())
- format.setSampleType(m_sampleTypes[0]);
- }
-
- return format;
-}
-
-bool QAudioDeviceInfoInternal::isFormatSupported(
- const QAudioFormat &format) const
-{
- getSupportedFormats();
- const bool supported =
- m_codecs.contains(format.codec())
- && m_frequencies.contains(format.frequency())
- && m_channels.contains(format.channels())
- && m_sampleSizes.contains(format.sampleSize())
- && m_byteOrders.contains(format.byteOrder())
- && m_sampleTypes.contains(format.sampleType());
-
- return supported;
-}
-
-QAudioFormat QAudioDeviceInfoInternal::nearestFormat(const QAudioFormat &format) const
-{
- if (isFormatSupported(format))
- return format;
- else
- return preferredFormat();
-}
-
-QString QAudioDeviceInfoInternal::deviceName() const
-{
- return m_deviceName;
-}
-
-QStringList QAudioDeviceInfoInternal::codecList()
-{
- getSupportedFormats();
- return m_codecs;
-}
-
-QList<int> QAudioDeviceInfoInternal::frequencyList()
-{
- getSupportedFormats();
- return m_frequencies;
-}
-
-QList<int> QAudioDeviceInfoInternal::channelsList()
-{
- getSupportedFormats();
- return m_channels;
-}
-
-QList<int> QAudioDeviceInfoInternal::sampleSizeList()
-{
- getSupportedFormats();
- return m_sampleSizes;
-}
-
-QList<QAudioFormat::Endian> QAudioDeviceInfoInternal::byteOrderList()
-{
- getSupportedFormats();
- return m_byteOrders;
-}
-
-QList<QAudioFormat::SampleType> QAudioDeviceInfoInternal::sampleTypeList()
-{
- getSupportedFormats();
- return m_sampleTypes;
-}
-
-QByteArray QAudioDeviceInfoInternal::defaultInputDevice()
-{
- return QByteArray("default");
-}
-
-QByteArray QAudioDeviceInfoInternal::defaultOutputDevice()
-{
- return QByteArray("default");
-}
-
-QList<QByteArray> QAudioDeviceInfoInternal::availableDevices(QAudio::Mode)
-{
- QList<QByteArray> result;
- result += QByteArray("default");
- return result;
-}
-
-void QAudioDeviceInfoInternal::getSupportedFormats() const
-{
- if (!m_updated) {
- QScopedPointer<SymbianAudio::DevSoundCapabilities> caps(
- new SymbianAudio::DevSoundCapabilities(*m_devsound, m_mode));
-
- SymbianAudio::Utils::capabilitiesNativeToQt(*caps,
- m_frequencies, m_channels, m_sampleSizes,
- m_byteOrders, m_sampleTypes);
-
- m_codecs.append(QLatin1String("audio/pcm"));
-
- m_updated = true;
- }
-}
-
-QT_END_NAMESPACE
diff --git a/src/multimedia/multimedia/audio/qaudiodeviceinfo_symbian_p.h b/src/multimedia/multimedia/audio/qaudiodeviceinfo_symbian_p.h
deleted file mode 100644
index 89e539fdab..0000000000
--- a/src/multimedia/multimedia/audio/qaudiodeviceinfo_symbian_p.h
+++ /dev/null
@@ -1,107 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the QtMultimedia module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-//
-// W A R N I N G
-// -------------
-//
-// This file is not part of the Qt API. It exists for the convenience
-// of other Qt classes. This header file may change from version to
-// version without notice, or even be removed.
-//
-// We mean it.
-//
-
-#ifndef QAUDIODEVICEINFO_SYMBIAN_P_H
-#define QAUDIODEVICEINFO_SYMBIAN_P_H
-
-#include <QtMultimedia/qaudioengine.h>
-#include <sounddevice.h>
-
-QT_BEGIN_NAMESPACE
-
-class QAudioDeviceInfoInternal
- : public QAbstractAudioDeviceInfo
-{
- Q_OBJECT
-
-public:
- QAudioDeviceInfoInternal(QByteArray device, QAudio::Mode mode);
- ~QAudioDeviceInfoInternal();
-
- // QAbstractAudioDeviceInfo
- QAudioFormat preferredFormat() const;
- bool isFormatSupported(const QAudioFormat &format) const;
- QAudioFormat nearestFormat(const QAudioFormat &format) const;
- QString deviceName() const;
- QStringList codecList();
- QList<int> frequencyList();
- QList<int> channelsList();
- QList<int> sampleSizeList();
- QList<QAudioFormat::Endian> byteOrderList();
- QList<QAudioFormat::SampleType> sampleTypeList();
- static QByteArray defaultInputDevice();
- static QByteArray defaultOutputDevice();
- static QList<QByteArray> availableDevices(QAudio::Mode);
-
-private:
- void getSupportedFormats() const;
-
-private:
- QScopedPointer<CMMFDevSound> m_devsound;
-
- QString m_deviceName;
- QAudio::Mode m_mode;
-
- // Mutable to allow lazy initialization when called from const-qualified
- // public functions (isFormatSupported, nearestFormat)
- mutable bool m_updated;
- mutable QStringList m_codecs;
- mutable QList<int> m_frequencies;
- mutable QList<int> m_channels;
- mutable QList<int> m_sampleSizes;
- mutable QList<QAudioFormat::Endian> m_byteOrders;
- mutable QList<QAudioFormat::SampleType> m_sampleTypes;
-};
-
-QT_END_NAMESPACE
-
-#endif
diff --git a/src/multimedia/multimedia/audio/qaudioinput_symbian_p.cpp b/src/multimedia/multimedia/audio/qaudioinput_symbian_p.cpp
deleted file mode 100644
index 52daa88126..0000000000
--- a/src/multimedia/multimedia/audio/qaudioinput_symbian_p.cpp
+++ /dev/null
@@ -1,594 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the QtMultimedia module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "qaudioinput_symbian_p.h"
-
-QT_BEGIN_NAMESPACE
-
-//-----------------------------------------------------------------------------
-// Constants
-//-----------------------------------------------------------------------------
-
-const int PushInterval = 50; // ms
-
-
-//-----------------------------------------------------------------------------
-// Private class
-//-----------------------------------------------------------------------------
-
-SymbianAudioInputPrivate::SymbianAudioInputPrivate(
- QAudioInputPrivate *audioDevice)
- : m_audioDevice(audioDevice)
-{
-
-}
-
-SymbianAudioInputPrivate::~SymbianAudioInputPrivate()
-{
-
-}
-
-qint64 SymbianAudioInputPrivate::readData(char *data, qint64 len)
-{
- qint64 totalRead = 0;
-
- if (m_audioDevice->state() == QAudio::ActiveState ||
- m_audioDevice->state() == QAudio::IdleState) {
-
- while (totalRead < len) {
- const qint64 read = m_audioDevice->read(data + totalRead,
- len - totalRead);
- if (read > 0)
- totalRead += read;
- else
- break;
- }
- }
-
- return totalRead;
-}
-
-qint64 SymbianAudioInputPrivate::writeData(const char *data, qint64 len)
-{
- Q_UNUSED(data)
- Q_UNUSED(len)
- return 0;
-}
-
-void SymbianAudioInputPrivate::dataReady()
-{
- emit readyRead();
-}
-
-
-//-----------------------------------------------------------------------------
-// Public functions
-//-----------------------------------------------------------------------------
-
-QAudioInputPrivate::QAudioInputPrivate(const QByteArray &device,
- const QAudioFormat &format)
- : m_device(device)
- , m_format(format)
- , m_clientBufferSize(SymbianAudio::DefaultBufferSize)
- , m_notifyInterval(SymbianAudio::DefaultNotifyInterval)
- , m_notifyTimer(new QTimer(this))
- , m_error(QAudio::NoError)
- , m_internalState(SymbianAudio::ClosedState)
- , m_externalState(QAudio::StoppedState)
- , m_pullMode(false)
- , m_sink(0)
- , m_pullTimer(new QTimer(this))
- , m_devSoundBuffer(0)
- , m_devSoundBufferSize(0)
- , m_totalBytesReady(0)
- , m_devSoundBufferPos(0)
- , m_totalSamplesRecorded(0)
-{
- connect(m_notifyTimer.data(), SIGNAL(timeout()), this, SIGNAL(notify()));
-
- SymbianAudio::Utils::formatQtToNative(m_format, m_nativeFourCC,
- m_nativeFormat);
-
- m_pullTimer->setInterval(PushInterval);
- connect(m_pullTimer.data(), SIGNAL(timeout()), this, SLOT(pullData()));
-}
-
-QAudioInputPrivate::~QAudioInputPrivate()
-{
- close();
-}
-
-QIODevice* QAudioInputPrivate::start(QIODevice *device)
-{
- stop();
-
- open();
- if (SymbianAudio::ClosedState != m_internalState) {
- if (device) {
- m_pullMode = true;
- m_sink = device;
- } else {
- m_sink = new SymbianAudioInputPrivate(this);
- m_sink->open(QIODevice::ReadOnly | QIODevice::Unbuffered);
- }
-
- m_elapsed.restart();
- }
-
- return m_sink;
-}
-
-void QAudioInputPrivate::stop()
-{
- close();
-}
-
-void QAudioInputPrivate::reset()
-{
- m_totalSamplesRecorded += getSamplesRecorded();
- m_devSound->Stop();
- startRecording();
-}
-
-void QAudioInputPrivate::suspend()
-{
- if (SymbianAudio::ActiveState == m_internalState
- || SymbianAudio::IdleState == m_internalState) {
- m_notifyTimer->stop();
- m_pullTimer->stop();
- m_devSound->Pause();
- const qint64 samplesRecorded = getSamplesRecorded();
- m_totalSamplesRecorded += samplesRecorded;
-
- if (m_devSoundBuffer) {
- m_devSoundBufferQ.append(m_devSoundBuffer);
- m_devSoundBuffer = 0;
- }
-
- setState(SymbianAudio::SuspendedState);
- }
-}
-
-void QAudioInputPrivate::resume()
-{
- if (SymbianAudio::SuspendedState == m_internalState)
- startDataTransfer();
-}
-
-int QAudioInputPrivate::bytesReady() const
-{
- Q_ASSERT(m_devSoundBufferPos <= m_totalBytesReady);
- return m_totalBytesReady - m_devSoundBufferPos;
-}
-
-int QAudioInputPrivate::periodSize() const
-{
- return bufferSize();
-}
-
-void QAudioInputPrivate::setBufferSize(int value)
-{
- // Note that DevSound does not allow its client to specify the buffer size.
- // This functionality is available via custom interfaces, but since these
- // cannot be guaranteed to work across all DevSound implementations, we
- // do not use them here.
- // In order to comply with the expected bevahiour of QAudioInput, we store
- // the value and return it from bufferSize(), but the underlying DevSound
- // buffer size remains unchanged.
- if (value > 0)
- m_clientBufferSize = value;
-}
-
-int QAudioInputPrivate::bufferSize() const
-{
- return m_devSoundBufferSize ? m_devSoundBufferSize : m_clientBufferSize;
-}
-
-void QAudioInputPrivate::setNotifyInterval(int ms)
-{
- if (ms > 0) {
- const int oldNotifyInterval = m_notifyInterval;
- m_notifyInterval = ms;
- if (m_notifyTimer->isActive() && ms != oldNotifyInterval)
- m_notifyTimer->start(m_notifyInterval);
- }
-}
-
-int QAudioInputPrivate::notifyInterval() const
-{
- return m_notifyInterval;
-}
-
-qint64 QAudioInputPrivate::processedUSecs() const
-{
- int samplesPlayed = 0;
- if (m_devSound && SymbianAudio::SuspendedState != m_internalState)
- samplesPlayed = getSamplesRecorded();
-
- // Protect against division by zero
- Q_ASSERT_X(m_format.frequency() > 0, Q_FUNC_INFO, "Invalid frequency");
-
- const qint64 result = qint64(1000000) *
- (samplesPlayed + m_totalSamplesRecorded)
- / m_format.frequency();
-
- return result;
-}
-
-qint64 QAudioInputPrivate::elapsedUSecs() const
-{
- const qint64 result = (QAudio::StoppedState == state()) ?
- 0 : m_elapsed.elapsed() * 1000;
- return result;
-}
-
-QAudio::Error QAudioInputPrivate::error() const
-{
- return m_error;
-}
-
-QAudio::State QAudioInputPrivate::state() const
-{
- return m_externalState;
-}
-
-QAudioFormat QAudioInputPrivate::format() const
-{
- return m_format;
-}
-
-//-----------------------------------------------------------------------------
-// MDevSoundObserver implementation
-//-----------------------------------------------------------------------------
-
-void QAudioInputPrivate::InitializeComplete(TInt aError)
-{
- Q_ASSERT_X(SymbianAudio::InitializingState == m_internalState,
- Q_FUNC_INFO, "Invalid state");
-
- if (KErrNone == aError)
- startRecording();
-}
-
-void QAudioInputPrivate::ToneFinished(TInt aError)
-{
- Q_UNUSED(aError)
- // This class doesn't use DevSound's tone playback functions, so should
- // never receive this callback.
- Q_ASSERT_X(false, Q_FUNC_INFO, "Unexpected callback");
-}
-
-void QAudioInputPrivate::BufferToBeFilled(CMMFBuffer *aBuffer)
-{
- Q_UNUSED(aBuffer)
- // This class doesn't use DevSound in play mode, so should never receive
- // this callback.
- Q_ASSERT_X(false, Q_FUNC_INFO, "Unexpected callback");
-}
-
-void QAudioInputPrivate::PlayError(TInt aError)
-{
- Q_UNUSED(aError)
- // This class doesn't use DevSound in play mode, so should never receive
- // this callback.
- Q_ASSERT_X(false, Q_FUNC_INFO, "Unexpected callback");
-}
-
-void QAudioInputPrivate::BufferToBeEmptied(CMMFBuffer *aBuffer)
-{
- // Following receipt of this callback, DevSound should not provide another
- // buffer until we have returned the current one.
- Q_ASSERT_X(!m_devSoundBuffer, Q_FUNC_INFO, "Buffer already held");
-
- CMMFDataBuffer *const buffer = static_cast<CMMFDataBuffer*>(aBuffer);
-
- if (!m_devSoundBufferSize)
- m_devSoundBufferSize = buffer->Data().MaxLength();
-
- m_totalBytesReady += buffer->Data().Length();
-
- if (SymbianAudio::SuspendedState == m_internalState) {
- m_devSoundBufferQ.append(buffer);
- } else {
- // Will be returned to DevSound by bufferEmptied().
- m_devSoundBuffer = buffer;
- m_devSoundBufferPos = 0;
-
- if (bytesReady() && !m_pullMode)
- pushData();
- }
-}
-
-void QAudioInputPrivate::RecordError(TInt aError)
-{
- Q_UNUSED(aError)
- setError(QAudio::IOError);
-}
-
-void QAudioInputPrivate::ConvertError(TInt aError)
-{
- Q_UNUSED(aError)
- // This class doesn't use DevSound's format conversion functions, so
- // should never receive this callback.
- Q_ASSERT_X(false, Q_FUNC_INFO, "Unexpected callback");
-}
-
-void QAudioInputPrivate::DeviceMessage(TUid aMessageType, const TDesC8 &aMsg)
-{
- Q_UNUSED(aMessageType)
- Q_UNUSED(aMsg)
- // Ignore this callback.
-}
-
-//-----------------------------------------------------------------------------
-// Private functions
-//-----------------------------------------------------------------------------
-
-void QAudioInputPrivate::open()
-{
- Q_ASSERT_X(SymbianAudio::ClosedState == m_internalState,
- Q_FUNC_INFO, "DevSound already opened");
-
- QT_TRAP_THROWING( m_devSound.reset(CMMFDevSound::NewL()) )
-
- QScopedPointer<SymbianAudio::DevSoundCapabilities> caps(
- new SymbianAudio::DevSoundCapabilities(*m_devSound, QAudio::AudioInput));
-
- int err = SymbianAudio::Utils::isFormatSupported(m_format, *caps) ?
- KErrNone : KErrNotSupported;
-
- if (KErrNone == err) {
- setState(SymbianAudio::InitializingState);
- TRAP(err, m_devSound->InitializeL(*this, m_nativeFourCC,
- EMMFStateRecording));
- }
-
- if (KErrNone != err) {
- setError(QAudio::OpenError);
- m_devSound.reset();
- }
-}
-
-void QAudioInputPrivate::startRecording()
-{
- const int samplesRecorded = m_devSound->SamplesRecorded();
- Q_ASSERT(samplesRecorded == 0);
-
- TRAPD(err, startDevSoundL());
- if (KErrNone == err) {
- startDataTransfer();
- } else {
- setError(QAudio::OpenError);
- close();
- }
-}
-
-void QAudioInputPrivate::startDevSoundL()
-{
- TMMFCapabilities nativeFormat = m_devSound->Config();
- m_nativeFormat.iBufferSize = nativeFormat.iBufferSize;
- m_devSound->SetConfigL(m_nativeFormat);
- m_devSound->RecordInitL();
-}
-
-void QAudioInputPrivate::startDataTransfer()
-{
- m_notifyTimer->start(m_notifyInterval);
-
- if (m_pullMode)
- m_pullTimer->start();
-
- if (bytesReady()) {
- setState(SymbianAudio::ActiveState);
- if (!m_pullMode)
- pushData();
- } else {
- if (SymbianAudio::SuspendedState == m_internalState)
- setState(SymbianAudio::ActiveState);
- else
- setState(SymbianAudio::IdleState);
- }
-}
-
-CMMFDataBuffer* QAudioInputPrivate::currentBuffer() const
-{
- CMMFDataBuffer *result = m_devSoundBuffer;
- if (!result && !m_devSoundBufferQ.empty())
- result = m_devSoundBufferQ.front();
- return result;
-}
-
-void QAudioInputPrivate::pushData()
-{
- Q_ASSERT_X(bytesReady(), Q_FUNC_INFO, "No data available");
- Q_ASSERT_X(!m_pullMode, Q_FUNC_INFO, "pushData called when in pull mode");
- qobject_cast<SymbianAudioInputPrivate *>(m_sink)->dataReady();
-}
-
-qint64 QAudioInputPrivate::read(char *data, qint64 len)
-{
- // SymbianAudioInputPrivate is ready to read data
-
- Q_ASSERT_X(!m_pullMode, Q_FUNC_INFO,
- "read called when in pull mode");
-
- qint64 bytesRead = 0;
-
- CMMFDataBuffer *buffer = 0;
- while ((buffer = currentBuffer()) && (bytesRead < len)) {
- if (SymbianAudio::IdleState == m_internalState)
- setState(SymbianAudio::ActiveState);
-
- TDesC8 &inputBuffer = buffer->Data();
-
- const qint64 inputBytes = bytesReady();
- const qint64 outputBytes = len - bytesRead;
- const qint64 copyBytes = outputBytes < inputBytes ?
- outputBytes : inputBytes;
-
- memcpy(data, inputBuffer.Ptr() + m_devSoundBufferPos, copyBytes);
-
- m_devSoundBufferPos += copyBytes;
- data += copyBytes;
- bytesRead += copyBytes;
-
- if (!bytesReady())
- bufferEmptied();
- }
-
- return bytesRead;
-}
-
-void QAudioInputPrivate::pullData()
-{
- Q_ASSERT_X(m_pullMode, Q_FUNC_INFO,
- "pullData called when in push mode");
-
- CMMFDataBuffer *buffer = 0;
- while (buffer = currentBuffer()) {
- if (SymbianAudio::IdleState == m_internalState)
- setState(SymbianAudio::ActiveState);
-
- TDesC8 &inputBuffer = buffer->Data();
-
- const qint64 inputBytes = bytesReady();
- const qint64 bytesPushed = m_sink->write(
- (char*)inputBuffer.Ptr() + m_devSoundBufferPos, inputBytes);
-
- m_devSoundBufferPos += bytesPushed;
-
- if (!bytesReady())
- bufferEmptied();
-
- if (!bytesPushed)
- break;
- }
-}
-
-void QAudioInputPrivate::bufferEmptied()
-{
- m_devSoundBufferPos = 0;
-
- if (m_devSoundBuffer) {
- m_totalBytesReady -= m_devSoundBuffer->Data().Length();
- m_devSoundBuffer = 0;
- m_devSound->RecordData();
- } else {
- Q_ASSERT(!m_devSoundBufferQ.empty());
- m_totalBytesReady -= m_devSoundBufferQ.front()->Data().Length();
- m_devSoundBufferQ.erase(m_devSoundBufferQ.begin());
-
- // If the queue has been emptied, resume transfer from the hardware
- if (m_devSoundBufferQ.empty())
- m_devSound->RecordInitL();
- }
-
- Q_ASSERT(m_totalBytesReady >= 0);
-}
-
-void QAudioInputPrivate::close()
-{
- m_notifyTimer->stop();
- m_pullTimer->stop();
-
- m_error = QAudio::NoError;
-
- if (m_devSound)
- m_devSound->Stop();
- m_devSound.reset();
- m_devSoundBuffer = 0;
- m_devSoundBufferSize = 0;
- m_totalBytesReady = 0;
-
- if (!m_pullMode) // m_sink is owned
- delete m_sink;
- m_pullMode = false;
- m_sink = 0;
-
- m_devSoundBufferQ.clear();
- m_devSoundBufferPos = 0;
- m_totalSamplesRecorded = 0;
-
- setState(SymbianAudio::ClosedState);
-}
-
-qint64 QAudioInputPrivate::getSamplesRecorded() const
-{
- qint64 result = 0;
- if (m_devSound)
- result = qint64(m_devSound->SamplesRecorded());
- return result;
-}
-
-void QAudioInputPrivate::setError(QAudio::Error error)
-{
- m_error = error;
-
- // Although no state transition actually occurs here, a stateChanged event
- // must be emitted to inform the client that the call to start() was
- // unsuccessful.
- if (QAudio::OpenError == error)
- emit stateChanged(QAudio::StoppedState);
-
- // Close the DevSound instance. This causes a transition to StoppedState.
- // This must be done asynchronously in case the current function was called
- // from a DevSound event handler, in which case deleting the DevSound
- // instance may cause an exception.
- QMetaObject::invokeMethod(this, "close", Qt::QueuedConnection);
-}
-
-void QAudioInputPrivate::setState(SymbianAudio::State newInternalState)
-{
- const QAudio::State oldExternalState = m_externalState;
- m_internalState = newInternalState;
- m_externalState = SymbianAudio::Utils::stateNativeToQt(
- m_internalState, initializingState());
-
- if (m_externalState != oldExternalState)
- emit stateChanged(m_externalState);
-}
-
-QAudio::State QAudioInputPrivate::initializingState() const
-{
- return QAudio::IdleState;
-}
-
-QT_END_NAMESPACE
diff --git a/src/multimedia/multimedia/audio/qaudioinput_symbian_p.h b/src/multimedia/multimedia/audio/qaudioinput_symbian_p.h
deleted file mode 100644
index ca3ccf7c81..0000000000
--- a/src/multimedia/multimedia/audio/qaudioinput_symbian_p.h
+++ /dev/null
@@ -1,188 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the QtMultimedia module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-//
-// W A R N I N G
-// -------------
-//
-// This file is not part of the Qt API. It exists for the convenience
-// of other Qt classes. This header file may change from version to
-// version without notice, or even be removed.
-//
-// We mean it.
-//
-
-#ifndef QAUDIOINPUT_SYMBIAN_P_H
-#define QAUDIOINPUT_SYMBIAN_P_H
-
-#include <QtMultimedia/qaudioengine.h>
-#include <QTime>
-#include <QTimer>
-#include <sounddevice.h>
-#include "qaudio_symbian_p.h"
-
-QT_BEGIN_NAMESPACE
-
-class QAudioInputPrivate;
-
-class SymbianAudioInputPrivate : public QIODevice
-{
- friend class QAudioInputPrivate;
- Q_OBJECT
-public:
- SymbianAudioInputPrivate(QAudioInputPrivate *audio);
- ~SymbianAudioInputPrivate();
-
- qint64 readData(char *data, qint64 len);
- qint64 writeData(const char *data, qint64 len);
-
- void dataReady();
-
-private:
- QAudioInputPrivate *const m_audioDevice;
-};
-
-class QAudioInputPrivate
- : public QAbstractAudioInput
- , public MDevSoundObserver
-{
- friend class SymbianAudioInputPrivate;
- Q_OBJECT
-public:
- QAudioInputPrivate(const QByteArray &device,
- const QAudioFormat &audioFormat);
- ~QAudioInputPrivate();
-
- // QAbstractAudioInput
- QIODevice* start(QIODevice *device = 0);
- void stop();
- void reset();
- void suspend();
- void resume();
- int bytesReady() const;
- int periodSize() const;
- void setBufferSize(int value);
- int bufferSize() const;
- void setNotifyInterval(int milliSeconds);
- int notifyInterval() const;
- qint64 processedUSecs() const;
- qint64 elapsedUSecs() const;
- QAudio::Error error() const;
- QAudio::State state() const;
- QAudioFormat format() const;
-
- // MDevSoundObserver
- void InitializeComplete(TInt aError);
- void ToneFinished(TInt aError);
- void BufferToBeFilled(CMMFBuffer *aBuffer);
- void PlayError(TInt aError);
- void BufferToBeEmptied(CMMFBuffer *aBuffer);
- void RecordError(TInt aError);
- void ConvertError(TInt aError);
- void DeviceMessage(TUid aMessageType, const TDesC8 &aMsg);
-
-private slots:
- void pullData();
-
-private:
- void open();
- void startRecording();
- void startDevSoundL();
- void startDataTransfer();
- CMMFDataBuffer* currentBuffer() const;
- void pushData();
- qint64 read(char *data, qint64 len);
- void bufferEmptied();
- Q_INVOKABLE void close();
-
- qint64 getSamplesRecorded() const;
-
- void setError(QAudio::Error error);
- void setState(SymbianAudio::State state);
-
- QAudio::State initializingState() const;
-
-private:
- const QByteArray m_device;
- const QAudioFormat m_format;
-
- int m_clientBufferSize;
- int m_notifyInterval;
- QScopedPointer<QTimer> m_notifyTimer;
- QTime m_elapsed;
- QAudio::Error m_error;
-
- SymbianAudio::State m_internalState;
- QAudio::State m_externalState;
-
- bool m_pullMode;
- QIODevice *m_sink;
-
- QScopedPointer<QTimer> m_pullTimer;
-
- QScopedPointer<CMMFDevSound> m_devSound;
- TUint32 m_nativeFourCC;
- TMMFCapabilities m_nativeFormat;
-
- // Latest buffer provided by DevSound, to be empied of data.
- CMMFDataBuffer *m_devSoundBuffer;
-
- int m_devSoundBufferSize;
-
- // Total amount of data in buffers provided by DevSound
- int m_totalBytesReady;
-
- // Queue of buffers returned after call to CMMFDevSound::Pause().
- QList<CMMFDataBuffer *> m_devSoundBufferQ;
-
- // Current read position within m_devSoundBuffer
- qint64 m_devSoundBufferPos;
-
- // Samples recorded up to the last call to suspend(). It is necessary
- // to cache this because suspend() is implemented using
- // CMMFDevSound::Stop(), which resets DevSound's SamplesRecorded() counter.
- quint32 m_totalSamplesRecorded;
-
-};
-
-QT_END_NAMESPACE
-
-#endif
diff --git a/src/multimedia/multimedia/audio/qaudiooutput.cpp b/src/multimedia/multimedia/audio/qaudiooutput.cpp
deleted file mode 100644
index b0b52445da..0000000000
--- a/src/multimedia/multimedia/audio/qaudiooutput.cpp
+++ /dev/null
@@ -1,411 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the QtMultimedia module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-
-#include <QtMultimedia/qaudio.h>
-#include <QtMultimedia/qaudiodeviceinfo.h>
-#include <QtMultimedia/qaudioengine.h>
-#include <QtMultimedia/qaudiooutput.h>
-
-#include "qaudiodevicefactory_p.h"
-
-
-QT_BEGIN_NAMESPACE
-
-/*!
- \class QAudioOutput
- \brief The QAudioOutput class provides an interface for sending audio data to an audio output device.
-
- \inmodule QtMultimedia
- \ingroup multimedia
- \since 4.6
-
- You can construct an audio output with the system's
- \l{QAudioDeviceInfo::defaultOutputDevice()}{default audio output
- device}. It is also possible to create QAudioOutput with a
- specific QAudioDeviceInfo. When you create the audio output, you
- should also send in the QAudioFormat to be used for the playback
- (see the QAudioFormat class description for details).
-
- To play a file:
-
- Starting to play an audio stream is simply a matter of calling
- start() with a QIODevice. QAudioOutput will then fetch the data it
- needs from the io device. So playing back an audio file is as
- simple as:
-
- \code
- QFile inputFile; // class member.
- QAudioOutput* audio; // class member.
- \endcode
-
- \code
- inputFile.setFileName("/tmp/test.raw");
- inputFile.open(QIODevice::ReadOnly);
-
- QAudioFormat format;
- // Set up the format, eg.
- format.setFrequency(8000);
- format.setChannels(1);
- format.setSampleSize(8);
- format.setCodec("audio/pcm");
- format.setByteOrder(QAudioFormat::LittleEndian);
- format.setSampleType(QAudioFormat::UnSignedInt);
-
- QAudioDeviceInfo info(QAudioDeviceInfo::defaultOutputDevice());
- if (!info.isFormatSupported(format)) {
- qWarning()<<"raw audio format not supported by backend, cannot play audio.";
- return;
- }
-
- audio = new QAudioOutput(format, this);
- connect(audio,SIGNAL(stateChanged(QAudio::State)),SLOT(finishedPlaying(QAudio::State)));
- audio->start(&inputFile);
-
- \endcode
-
- The file will start playing assuming that the audio system and
- output device support it. If you run out of luck, check what's
- up with the error() function.
-
- After the file has finished playing, we need to stop the device:
-
- \code
- void finishedPlaying(QAudio::State state)
- {
- if(state == QAudio::IdleState) {
- audio->stop();
- inputFile.close();
- delete audio;
- }
- }
- \endcode
-
- At any given time, the QAudioOutput will be in one of four states:
- active, suspended, stopped, or idle. These states are described
- by the QAudio::State enum.
- State changes are reported through the stateChanged() signal. You
- can use this signal to, for instance, update the GUI of the
- application; the mundane example here being changing the state of
- a \c { play/pause } button. You request a state change directly
- with suspend(), stop(), reset(), resume(), and start().
-
- While the stream is playing, you can set a notify interval in
- milliseconds with setNotifyInterval(). This interval specifies the
- time between two emissions of the notify() signal. This is
- relative to the position in the stream, i.e., if the QAudioOutput
- is in the SuspendedState or the IdleState, the notify() signal is
- not emitted. A typical use-case would be to update a
- \l{QSlider}{slider} that allows seeking in the stream.
- If you want the time since playback started regardless of which
- states the audio output has been in, elapsedUSecs() is the function for you.
-
- If an error occurs, you can fetch the \l{QAudio::Error}{error
- type} with the error() function. Please see the QAudio::Error enum
- for a description of the possible errors that are reported. When
- an error is encountered, the state changes to QAudio::StoppedState.
- You can check for errors by connecting to the stateChanged()
- signal:
-
- \snippet doc/src/snippets/audio/main.cpp 3
-
- \sa QAudioInput, QAudioDeviceInfo
-*/
-
-/*!
- Construct a new audio output and attach it to \a parent.
- The default audio output device is used with the output
- \a format parameters.
-*/
-
-QAudioOutput::QAudioOutput(const QAudioFormat &format, QObject *parent):
- QObject(parent)
-{
- d = QAudioDeviceFactory::createDefaultOutputDevice(format);
- connect(d, SIGNAL(notify()), SIGNAL(notify()));
- connect(d, SIGNAL(stateChanged(QAudio::State)), SIGNAL(stateChanged(QAudio::State)));
-}
-
-/*!
- Construct a new audio output and attach it to \a parent.
- The device referenced by \a audioDevice is used with the output
- \a format parameters.
-*/
-
-QAudioOutput::QAudioOutput(const QAudioDeviceInfo &audioDevice, const QAudioFormat &format, QObject *parent):
- QObject(parent)
-{
- d = QAudioDeviceFactory::createOutputDevice(audioDevice, format);
- connect(d, SIGNAL(notify()), SIGNAL(notify()));
- connect(d, SIGNAL(stateChanged(QAudio::State)), SIGNAL(stateChanged(QAudio::State)));
-}
-
-/*!
- Destroys this audio output.
-*/
-
-QAudioOutput::~QAudioOutput()
-{
- delete d;
-}
-
-/*!
- Returns the QAudioFormat being used.
-
-*/
-
-QAudioFormat QAudioOutput::format() const
-{
- return d->format();
-}
-
-/*!
- Uses the \a device as the QIODevice to transfer data.
- Passing a QIODevice allows the data to be transfered without any extra code.
- All that is required is to open the QIODevice.
-
- If able to successfully output audio data to the systems audio device the
- state() is set to QAudio::ActiveState, error() is set to QAudio::NoError
- and the stateChanged() signal is emitted.
-
- If a problem occurs during this process the error() is set to QAudio::OpenError,
- state() is set to QAudio::StoppedState and stateChanged() signal is emitted.
-
- \sa QIODevice
-*/
-
-void QAudioOutput::start(QIODevice* device)
-{
- d->start(device);
-}
-
-/*!
- Returns a pointer to the QIODevice being used to handle the data
- transfer. This QIODevice can be used to write() audio data directly.
-
- If able to access the systems audio device the state() is set to
- QAudio::IdleState, error() is set to QAudio::NoError
- and the stateChanged() signal is emitted.
-
- If a problem occurs during this process the error() is set to QAudio::OpenError,
- state() is set to QAudio::StoppedState and stateChanged() signal is emitted.
-
- \sa QIODevice
-*/
-
-QIODevice* QAudioOutput::start()
-{
- return d->start(0);
-}
-
-/*!
- Stops the audio output, detaching from the system resource.
-
- Sets error() to QAudio::NoError, state() to QAudio::StoppedState and
- emit stateChanged() signal.
-*/
-
-void QAudioOutput::stop()
-{
- d->stop();
-}
-
-/*!
- Drops all audio data in the buffers, resets buffers to zero.
-*/
-
-void QAudioOutput::reset()
-{
- d->reset();
-}
-
-/*!
- Stops processing audio data, preserving buffered audio data.
-
- Sets error() to QAudio::NoError, state() to QAudio::SuspendedState and
- emit stateChanged() signal.
-*/
-
-void QAudioOutput::suspend()
-{
- d->suspend();
-}
-
-/*!
- Resumes processing audio data after a suspend().
-
- Sets error() to QAudio::NoError.
- Sets state() to QAudio::ActiveState if you previously called start(QIODevice*).
- Sets state() to QAudio::IdleState if you previously called start().
- emits stateChanged() signal.
-*/
-
-void QAudioOutput::resume()
-{
- d->resume();
-}
-
-/*!
- Returns the free space available in bytes in the audio buffer.
-
- NOTE: returned value is only valid while in QAudio::ActiveState or QAudio::IdleState
- state, otherwise returns zero.
-*/
-
-int QAudioOutput::bytesFree() const
-{
- return d->bytesFree();
-}
-
-/*!
- Returns the period size in bytes.
-
- Note: This is the recommended write size in bytes.
-*/
-
-int QAudioOutput::periodSize() const
-{
- return d->periodSize();
-}
-
-/*!
- Sets the audio buffer size to \a value in bytes.
-
- Note: This function can be called anytime before start(), calls to this
- are ignored after start(). It should not be assumed that the buffer size
- set is the actual buffer size used, calling bufferSize() anytime after start()
- will return the actual buffer size being used.
-*/
-
-void QAudioOutput::setBufferSize(int value)
-{
- d->setBufferSize(value);
-}
-
-/*!
- Returns the audio buffer size in bytes.
-
- If called before start(), returns platform default value.
- If called before start() but setBufferSize() was called prior, returns value set by setBufferSize().
- If called after start(), returns the actual buffer size being used. This may not be what was set previously
- by setBufferSize().
-
-*/
-
-int QAudioOutput::bufferSize() const
-{
- return d->bufferSize();
-}
-
-/*!
- Sets the interval for notify() signal to be emitted.
- This is based on the \a ms of audio data processed
- not on actual real-time.
- The minimum resolution of the timer is platform specific and values
- should be checked with notifyInterval() to confirm actual value
- being used.
-*/
-
-void QAudioOutput::setNotifyInterval(int ms)
-{
- d->setNotifyInterval(ms);
-}
-
-/*!
- Returns the notify interval in milliseconds.
-*/
-
-int QAudioOutput::notifyInterval() const
-{
- return d->notifyInterval();
-}
-
-/*!
- Returns the amount of audio data processed since start()
- was called in microseconds.
-*/
-
-qint64 QAudioOutput::processedUSecs() const
-{
- return d->processedUSecs();
-}
-
-/*!
- Returns the microseconds since start() was called, including time in Idle and
- Suspend states.
-*/
-
-qint64 QAudioOutput::elapsedUSecs() const
-{
- return d->elapsedUSecs();
-}
-
-/*!
- Returns the error state.
-*/
-
-QAudio::Error QAudioOutput::error() const
-{
- return d->error();
-}
-
-/*!
- Returns the state of audio processing.
-*/
-
-QAudio::State QAudioOutput::state() const
-{
- return d->state();
-}
-
-/*!
- \fn QAudioOutput::stateChanged(QAudio::State state)
- This signal is emitted when the device \a state has changed.
- This is the current state of the audio output.
-*/
-
-/*!
- \fn QAudioOutput::notify()
- This signal is emitted when x ms of audio data has been processed
- the interval set by setNotifyInterval(x).
-*/
-
-QT_END_NAMESPACE
diff --git a/src/multimedia/multimedia/audio/qaudiooutput_symbian_p.cpp b/src/multimedia/multimedia/audio/qaudiooutput_symbian_p.cpp
deleted file mode 100644
index 3f8e9338ae..0000000000
--- a/src/multimedia/multimedia/audio/qaudiooutput_symbian_p.cpp
+++ /dev/null
@@ -1,697 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the QtMultimedia module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "qaudiooutput_symbian_p.h"
-
-QT_BEGIN_NAMESPACE
-
-//-----------------------------------------------------------------------------
-// Constants
-//-----------------------------------------------------------------------------
-
-const int UnderflowTimerInterval = 50; // ms
-
-
-//-----------------------------------------------------------------------------
-// Private class
-//-----------------------------------------------------------------------------
-
-SymbianAudioOutputPrivate::SymbianAudioOutputPrivate(
- QAudioOutputPrivate *audioDevice)
- : m_audioDevice(audioDevice)
-{
-
-}
-
-SymbianAudioOutputPrivate::~SymbianAudioOutputPrivate()
-{
-
-}
-
-qint64 SymbianAudioOutputPrivate::readData(char *data, qint64 len)
-{
- Q_UNUSED(data)
- Q_UNUSED(len)
- return 0;
-}
-
-qint64 SymbianAudioOutputPrivate::writeData(const char *data, qint64 len)
-{
- qint64 totalWritten = 0;
-
- if (m_audioDevice->state() == QAudio::ActiveState ||
- m_audioDevice->state() == QAudio::IdleState) {
-
- while (totalWritten < len) {
- const qint64 written = m_audioDevice->pushData(data + totalWritten,
- len - totalWritten);
- if (written > 0)
- totalWritten += written;
- else
- break;
- }
- }
-
- return totalWritten;
-}
-
-
-//-----------------------------------------------------------------------------
-// Public functions
-//-----------------------------------------------------------------------------
-
-QAudioOutputPrivate::QAudioOutputPrivate(const QByteArray &device,
- const QAudioFormat &format)
- : m_device(device)
- , m_format(format)
- , m_clientBufferSize(SymbianAudio::DefaultBufferSize)
- , m_notifyInterval(SymbianAudio::DefaultNotifyInterval)
- , m_notifyTimer(new QTimer(this))
- , m_error(QAudio::NoError)
- , m_internalState(SymbianAudio::ClosedState)
- , m_externalState(QAudio::StoppedState)
- , m_pullMode(false)
- , m_source(0)
- , m_devSoundBuffer(0)
- , m_devSoundBufferSize(0)
- , m_bytesWritten(0)
- , m_pushDataReady(false)
- , m_bytesPadding(0)
- , m_underflow(false)
- , m_lastBuffer(false)
- , m_underflowTimer(new QTimer(this))
- , m_samplesPlayed(0)
- , m_totalSamplesPlayed(0)
-{
- connect(m_notifyTimer.data(), SIGNAL(timeout()), this, SIGNAL(notify()));
-
- SymbianAudio::Utils::formatQtToNative(m_format, m_nativeFourCC,
- m_nativeFormat);
-
- m_underflowTimer->setInterval(UnderflowTimerInterval);
- connect(m_underflowTimer.data(), SIGNAL(timeout()), this,
- SLOT(underflowTimerExpired()));
-}
-
-QAudioOutputPrivate::~QAudioOutputPrivate()
-{
- close();
-}
-
-QIODevice* QAudioOutputPrivate::start(QIODevice *device)
-{
- stop();
-
- // We have to set these before the call to open() because of the
- // logic in initializingState()
- if (device) {
- m_pullMode = true;
- m_source = device;
- }
-
- open();
-
- if (SymbianAudio::ClosedState != m_internalState) {
- if (device) {
- connect(m_source, SIGNAL(readyRead()), this, SLOT(dataReady()));
- } else {
- m_source = new SymbianAudioOutputPrivate(this);
- m_source->open(QIODevice::WriteOnly | QIODevice::Unbuffered);
- }
-
- m_elapsed.restart();
- }
-
- return m_source;
-}
-
-void QAudioOutputPrivate::stop()
-{
- close();
-}
-
-void QAudioOutputPrivate::reset()
-{
- m_totalSamplesPlayed += getSamplesPlayed();
- m_devSound->Stop();
- m_bytesPadding = 0;
- startPlayback();
-}
-
-void QAudioOutputPrivate::suspend()
-{
- if (SymbianAudio::ActiveState == m_internalState
- || SymbianAudio::IdleState == m_internalState) {
- m_notifyTimer->stop();
- m_underflowTimer->stop();
-
- const qint64 samplesWritten = SymbianAudio::Utils::bytesToSamples(
- m_format, m_bytesWritten);
-
- const qint64 samplesPlayed = getSamplesPlayed();
-
- m_bytesWritten = 0;
-
- // CMMFDevSound::Pause() is not guaranteed to work correctly in all
- // implementations, for play-mode DevSound sessions. We therefore
- // have to implement suspend() by calling CMMFDevSound::Stop().
- // Because this causes buffered data to be dropped, we replace the
- // lost data with silence following a call to resume(), in order to
- // ensure that processedUSecs() returns the correct value.
- m_devSound->Stop();
- m_totalSamplesPlayed += samplesPlayed;
-
- // Calculate the amount of data dropped
- const qint64 paddingSamples = samplesWritten - samplesPlayed;
- m_bytesPadding = SymbianAudio::Utils::samplesToBytes(m_format,
- paddingSamples);
-
- setState(SymbianAudio::SuspendedState);
- }
-}
-
-void QAudioOutputPrivate::resume()
-{
- if (SymbianAudio::SuspendedState == m_internalState)
- startPlayback();
-}
-
-int QAudioOutputPrivate::bytesFree() const
-{
- int result = 0;
- if (m_devSoundBuffer) {
- const TDes8 &outputBuffer = m_devSoundBuffer->Data();
- result = outputBuffer.MaxLength() - outputBuffer.Length();
- }
- return result;
-}
-
-int QAudioOutputPrivate::periodSize() const
-{
- return bufferSize();
-}
-
-void QAudioOutputPrivate::setBufferSize(int value)
-{
- // Note that DevSound does not allow its client to specify the buffer size.
- // This functionality is available via custom interfaces, but since these
- // cannot be guaranteed to work across all DevSound implementations, we
- // do not use them here.
- // In order to comply with the expected bevahiour of QAudioOutput, we store
- // the value and return it from bufferSize(), but the underlying DevSound
- // buffer size remains unchanged.
- if (value > 0)
- m_clientBufferSize = value;
-}
-
-int QAudioOutputPrivate::bufferSize() const
-{
- return m_devSoundBufferSize ? m_devSoundBufferSize : m_clientBufferSize;
-}
-
-void QAudioOutputPrivate::setNotifyInterval(int ms)
-{
- if (ms > 0) {
- const int oldNotifyInterval = m_notifyInterval;
- m_notifyInterval = ms;
- if (m_notifyTimer->isActive() && ms != oldNotifyInterval)
- m_notifyTimer->start(m_notifyInterval);
- }
-}
-
-int QAudioOutputPrivate::notifyInterval() const
-{
- return m_notifyInterval;
-}
-
-qint64 QAudioOutputPrivate::processedUSecs() const
-{
- int samplesPlayed = 0;
- if (m_devSound && SymbianAudio::SuspendedState != m_internalState)
- samplesPlayed = getSamplesPlayed();
-
- // Protect against division by zero
- Q_ASSERT_X(m_format.frequency() > 0, Q_FUNC_INFO, "Invalid frequency");
-
- const qint64 result = qint64(1000000) *
- (samplesPlayed + m_totalSamplesPlayed)
- / m_format.frequency();
-
- return result;
-}
-
-qint64 QAudioOutputPrivate::elapsedUSecs() const
-{
- const qint64 result = (QAudio::StoppedState == state()) ?
- 0 : m_elapsed.elapsed() * 1000;
- return result;
-}
-
-QAudio::Error QAudioOutputPrivate::error() const
-{
- return m_error;
-}
-
-QAudio::State QAudioOutputPrivate::state() const
-{
- return m_externalState;
-}
-
-QAudioFormat QAudioOutputPrivate::format() const
-{
- return m_format;
-}
-
-//-----------------------------------------------------------------------------
-// MDevSoundObserver implementation
-//-----------------------------------------------------------------------------
-
-void QAudioOutputPrivate::InitializeComplete(TInt aError)
-{
- Q_ASSERT_X(SymbianAudio::InitializingState == m_internalState,
- Q_FUNC_INFO, "Invalid state");
-
- if (KErrNone == aError)
- startPlayback();
-}
-
-void QAudioOutputPrivate::ToneFinished(TInt aError)
-{
- Q_UNUSED(aError)
- // This class doesn't use DevSound's tone playback functions, so should
- // never receive this callback.
- Q_ASSERT_X(false, Q_FUNC_INFO, "Unexpected callback");
-}
-
-void QAudioOutputPrivate::BufferToBeFilled(CMMFBuffer *aBuffer)
-{
- // Following receipt of this callback, DevSound should not provide another
- // buffer until we have returned the current one.
- Q_ASSERT_X(!m_devSoundBuffer, Q_FUNC_INFO, "Buffer already held");
-
- // Will be returned to DevSound by bufferFilled().
- m_devSoundBuffer = static_cast<CMMFDataBuffer*>(aBuffer);
-
- if (!m_devSoundBufferSize)
- m_devSoundBufferSize = m_devSoundBuffer->Data().MaxLength();
-
- writePaddingData();
-
- if (m_pullMode && isDataReady() && !m_bytesPadding)
- pullData();
-}
-
-void QAudioOutputPrivate::PlayError(TInt aError)
-{
- switch (aError) {
- case KErrUnderflow:
- m_underflow = true;
- if (m_pullMode && !m_lastBuffer)
- setError(QAudio::UnderrunError);
- else
- setState(SymbianAudio::IdleState);
- break;
- default:
- setError(QAudio::IOError);
- break;
- }
-}
-
-void QAudioOutputPrivate::BufferToBeEmptied(CMMFBuffer *aBuffer)
-{
- Q_UNUSED(aBuffer)
- // This class doesn't use DevSound in record mode, so should never receive
- // this callback.
- Q_ASSERT_X(false, Q_FUNC_INFO, "Unexpected callback");
-}
-
-void QAudioOutputPrivate::RecordError(TInt aError)
-{
- Q_UNUSED(aError)
- // This class doesn't use DevSound in record mode, so should never receive
- // this callback.
- Q_ASSERT_X(false, Q_FUNC_INFO, "Unexpected callback");
-}
-
-void QAudioOutputPrivate::ConvertError(TInt aError)
-{
- Q_UNUSED(aError)
- // This class doesn't use DevSound's format conversion functions, so
- // should never receive this callback.
- Q_ASSERT_X(false, Q_FUNC_INFO, "Unexpected callback");
-}
-
-void QAudioOutputPrivate::DeviceMessage(TUid aMessageType, const TDesC8 &aMsg)
-{
- Q_UNUSED(aMessageType)
- Q_UNUSED(aMsg)
- // Ignore this callback.
-}
-
-//-----------------------------------------------------------------------------
-// Private functions
-//-----------------------------------------------------------------------------
-
-void QAudioOutputPrivate::dataReady()
-{
- // Client-provided QIODevice has data ready to read.
-
- Q_ASSERT_X(m_source->bytesAvailable(), Q_FUNC_INFO,
- "readyRead signal received, but no data available");
-
- if (!m_bytesPadding)
- pullData();
-}
-
-void QAudioOutputPrivate::underflowTimerExpired()
-{
- const TInt samplesPlayed = getSamplesPlayed();
- if (m_samplesPlayed && (samplesPlayed == m_samplesPlayed)) {
- setError(QAudio::UnderrunError);
- } else {
- m_samplesPlayed = samplesPlayed;
- m_underflowTimer->start();
- }
-}
-
-void QAudioOutputPrivate::open()
-{
- Q_ASSERT_X(SymbianAudio::ClosedState == m_internalState,
- Q_FUNC_INFO, "DevSound already opened");
-
- QT_TRAP_THROWING( m_devSound.reset(CMMFDevSound::NewL()) )
-
- QScopedPointer<SymbianAudio::DevSoundCapabilities> caps(
- new SymbianAudio::DevSoundCapabilities(*m_devSound,
- QAudio::AudioOutput));
-
- int err = SymbianAudio::Utils::isFormatSupported(m_format, *caps) ?
- KErrNone : KErrNotSupported;
-
- if (KErrNone == err) {
- setState(SymbianAudio::InitializingState);
- TRAP(err, m_devSound->InitializeL(*this, m_nativeFourCC,
- EMMFStatePlaying));
- }
-
- if (KErrNone != err) {
- setError(QAudio::OpenError);
- m_devSound.reset();
- }
-}
-
-void QAudioOutputPrivate::startPlayback()
-{
- TRAPD(err, startDevSoundL());
- if (KErrNone == err) {
- if (isDataReady())
- setState(SymbianAudio::ActiveState);
- else
- setState(SymbianAudio::IdleState);
-
- m_notifyTimer->start(m_notifyInterval);
- m_underflow = false;
-
- Q_ASSERT(m_devSound->SamplesPlayed() == 0);
-
- writePaddingData();
-
- if (m_pullMode && m_source->bytesAvailable() && !m_bytesPadding)
- dataReady();
- } else {
- setError(QAudio::OpenError);
- close();
- }
-}
-
-void QAudioOutputPrivate::startDevSoundL()
-{
- TMMFCapabilities nativeFormat = m_devSound->Config();
- m_nativeFormat.iBufferSize = nativeFormat.iBufferSize;
- m_devSound->SetConfigL(m_nativeFormat);
- m_devSound->PlayInitL();
-}
-
-void QAudioOutputPrivate::writePaddingData()
-{
- // See comments in suspend()
-
- while (m_devSoundBuffer && m_bytesPadding) {
- if (SymbianAudio::IdleState == m_internalState)
- setState(SymbianAudio::ActiveState);
-
- TDes8 &outputBuffer = m_devSoundBuffer->Data();
- const qint64 outputBytes = bytesFree();
- const qint64 paddingBytes = outputBytes < m_bytesPadding ?
- outputBytes : m_bytesPadding;
- unsigned char *ptr = const_cast<unsigned char*>(outputBuffer.Ptr());
- Mem::FillZ(ptr, paddingBytes);
- outputBuffer.SetLength(outputBuffer.Length() + paddingBytes);
- m_bytesPadding -= paddingBytes;
-
- if (m_pullMode && m_source->atEnd())
- lastBufferFilled();
- if (paddingBytes == outputBytes)
- bufferFilled();
- }
-}
-
-qint64 QAudioOutputPrivate::pushData(const char *data, qint64 len)
-{
- // Data has been written to SymbianAudioOutputPrivate
-
- Q_ASSERT_X(!m_pullMode, Q_FUNC_INFO,
- "pushData called when in pull mode");
-
- const unsigned char *const inputPtr =
- reinterpret_cast<const unsigned char*>(data);
- qint64 bytesWritten = 0;
-
- if (SymbianAudio::IdleState == m_internalState)
- setState(SymbianAudio::ActiveState);
-
- while (m_devSoundBuffer && (bytesWritten < len)) {
- // writePaddingData() is called from BufferToBeFilled(), so we should
- // never have any padding data left at this point.
- Q_ASSERT_X(0 == m_bytesPadding, Q_FUNC_INFO,
- "Padding bytes remaining in pushData");
-
- TDes8 &outputBuffer = m_devSoundBuffer->Data();
-
- const qint64 outputBytes = bytesFree();
- const qint64 inputBytes = len - bytesWritten;
- const qint64 copyBytes = outputBytes < inputBytes ?
- outputBytes : inputBytes;
-
- outputBuffer.Append(inputPtr + bytesWritten, copyBytes);
- bytesWritten += copyBytes;
-
- bufferFilled();
- }
-
- m_pushDataReady = (bytesWritten < len);
-
- // If DevSound is still initializing (m_internalState == InitializingState),
- // we cannot transition m_internalState to ActiveState, but we must emit
- // an (external) state change from IdleState to ActiveState. The following
- // call triggers this signal.
- setState(m_internalState);
-
- return bytesWritten;
-}
-
-void QAudioOutputPrivate::pullData()
-{
- Q_ASSERT_X(m_pullMode, Q_FUNC_INFO,
- "pullData called when in push mode");
-
- if (m_bytesPadding)
- m_bytesPadding = 1;
-
- // writePaddingData() is called by BufferToBeFilled() before pullData(),
- // so we should never have any padding data left at this point.
- Q_ASSERT_X(0 == m_bytesPadding, Q_FUNC_INFO,
- "Padding bytes remaining in pullData");
-
- qint64 inputBytes = m_source->bytesAvailable();
- while (m_devSoundBuffer && inputBytes) {
- if (SymbianAudio::IdleState == m_internalState)
- setState(SymbianAudio::ActiveState);
-
- TDes8 &outputBuffer = m_devSoundBuffer->Data();
-
- const qint64 outputBytes = bytesFree();
- const qint64 copyBytes = outputBytes < inputBytes ?
- outputBytes : inputBytes;
-
- char *outputPtr = (char*)(outputBuffer.Ptr() + outputBuffer.Length());
- const qint64 bytesCopied = m_source->read(outputPtr, copyBytes);
- Q_ASSERT(bytesCopied == copyBytes);
- outputBuffer.SetLength(outputBuffer.Length() + bytesCopied);
- inputBytes -= bytesCopied;
-
- if (m_source->atEnd())
- lastBufferFilled();
- else if (copyBytes == outputBytes)
- bufferFilled();
- }
-}
-
-void QAudioOutputPrivate::bufferFilled()
-{
- Q_ASSERT_X(m_devSoundBuffer, Q_FUNC_INFO, "No buffer to return");
-
- const TDes8 &outputBuffer = m_devSoundBuffer->Data();
- m_bytesWritten += outputBuffer.Length();
-
- m_devSoundBuffer = 0;
-
- m_samplesPlayed = getSamplesPlayed();
- m_underflowTimer->start();
-
- if (QAudio::UnderrunError == m_error)
- m_error = QAudio::NoError;
-
- m_devSound->PlayData();
-}
-
-void QAudioOutputPrivate::lastBufferFilled()
-{
- Q_ASSERT_X(m_devSoundBuffer, Q_FUNC_INFO, "No buffer to fill");
- Q_ASSERT_X(!m_lastBuffer, Q_FUNC_INFO, "Last buffer already sent");
- m_lastBuffer = true;
- m_devSoundBuffer->SetLastBuffer(ETrue);
- bufferFilled();
-}
-
-void QAudioOutputPrivate::close()
-{
- m_notifyTimer->stop();
- m_underflowTimer->stop();
-
- m_error = QAudio::NoError;
-
- if (m_devSound)
- m_devSound->Stop();
- m_devSound.reset();
- m_devSoundBuffer = 0;
- m_devSoundBufferSize = 0;
-
- if (!m_pullMode) // m_source is owned
- delete m_source;
- m_pullMode = false;
- m_source = 0;
-
- m_bytesWritten = 0;
- m_pushDataReady = false;
- m_bytesPadding = 0;
- m_underflow = false;
- m_lastBuffer = false;
- m_samplesPlayed = 0;
- m_totalSamplesPlayed = 0;
-
- setState(SymbianAudio::ClosedState);
-}
-
-qint64 QAudioOutputPrivate::getSamplesPlayed() const
-{
- qint64 result = 0;
- if (m_devSound) {
- const qint64 samplesWritten = SymbianAudio::Utils::bytesToSamples(
- m_format, m_bytesWritten);
-
- if (m_underflow) {
- result = samplesWritten;
- } else {
- // This is necessary because some DevSound implementations report
- // that they have played more data than has actually been provided to them
- // by the client.
- const qint64 devSoundSamplesPlayed(m_devSound->SamplesPlayed());
- result = qMin(devSoundSamplesPlayed, samplesWritten);
- }
- }
- return result;
-}
-
-void QAudioOutputPrivate::setError(QAudio::Error error)
-{
- m_error = error;
-
- // Although no state transition actually occurs here, a stateChanged event
- // must be emitted to inform the client that the call to start() was
- // unsuccessful.
- if (QAudio::OpenError == error)
- emit stateChanged(QAudio::StoppedState);
-
- if (QAudio::UnderrunError == error)
- setState(SymbianAudio::IdleState);
- else
- // Close the DevSound instance. This causes a transition to
- // StoppedState. This must be done asynchronously in case the
- // current function was called from a DevSound event handler, in which
- // case deleting the DevSound instance may cause an exception.
- QMetaObject::invokeMethod(this, "close", Qt::QueuedConnection);
-}
-
-void QAudioOutputPrivate::setState(SymbianAudio::State newInternalState)
-{
- const QAudio::State oldExternalState = m_externalState;
- m_internalState = newInternalState;
- m_externalState = SymbianAudio::Utils::stateNativeToQt(
- m_internalState, initializingState());
-
- if (m_externalState != oldExternalState)
- emit stateChanged(m_externalState);
-}
-
-bool QAudioOutputPrivate::isDataReady() const
-{
- return (m_source && m_source->bytesAvailable())
- || m_bytesPadding
- || m_pushDataReady;
-}
-
-QAudio::State QAudioOutputPrivate::initializingState() const
-{
- return isDataReady() ? QAudio::ActiveState : QAudio::IdleState;
-}
-
-QT_END_NAMESPACE
diff --git a/src/multimedia/multimedia/audio/qaudiooutput_symbian_p.h b/src/multimedia/multimedia/audio/qaudiooutput_symbian_p.h
deleted file mode 100644
index 00ccb24d2a..0000000000
--- a/src/multimedia/multimedia/audio/qaudiooutput_symbian_p.h
+++ /dev/null
@@ -1,210 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the QtMultimedia module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-//
-// W A R N I N G
-// -------------
-//
-// This file is not part of the Qt API. It exists for the convenience
-// of other Qt classes. This header file may change from version to
-// version without notice, or even be removed.
-//
-// We mean it.
-//
-
-#ifndef QAUDIOOUTPUT_SYMBIAN_P_H
-#define QAUDIOOUTPUT_SYMBIAN_P_H
-
-#include <QtMultimedia/qaudioengine.h>
-#include <QTime>
-#include <QTimer>
-#include <sounddevice.h>
-#include "qaudio_symbian_p.h"
-
-QT_BEGIN_NAMESPACE
-
-class QAudioOutputPrivate;
-
-class SymbianAudioOutputPrivate : public QIODevice
-{
- friend class QAudioOutputPrivate;
- Q_OBJECT
-public:
- SymbianAudioOutputPrivate(QAudioOutputPrivate *audio);
- ~SymbianAudioOutputPrivate();
-
- qint64 readData(char *data, qint64 len);
- qint64 writeData(const char *data, qint64 len);
-
-private:
- QAudioOutputPrivate *const m_audioDevice;
-};
-
-class QAudioOutputPrivate
- : public QAbstractAudioOutput
- , public MDevSoundObserver
-{
- friend class SymbianAudioOutputPrivate;
- Q_OBJECT
-public:
- QAudioOutputPrivate(const QByteArray &device,
- const QAudioFormat &audioFormat);
- ~QAudioOutputPrivate();
-
- // QAbstractAudioOutput
- QIODevice* start(QIODevice *device = 0);
- void stop();
- void reset();
- void suspend();
- void resume();
- int bytesFree() const;
- int periodSize() const;
- void setBufferSize(int value);
- int bufferSize() const;
- void setNotifyInterval(int milliSeconds);
- int notifyInterval() const;
- qint64 processedUSecs() const;
- qint64 elapsedUSecs() const;
- QAudio::Error error() const;
- QAudio::State state() const;
- QAudioFormat format() const;
-
- // MDevSoundObserver
- void InitializeComplete(TInt aError);
- void ToneFinished(TInt aError);
- void BufferToBeFilled(CMMFBuffer *aBuffer);
- void PlayError(TInt aError);
- void BufferToBeEmptied(CMMFBuffer *aBuffer);
- void RecordError(TInt aError);
- void ConvertError(TInt aError);
- void DeviceMessage(TUid aMessageType, const TDesC8 &aMsg);
-
-private slots:
- void dataReady();
- void underflowTimerExpired();
-
-private:
- void open();
- void startPlayback();
- void startDevSoundL();
- void writePaddingData();
- qint64 pushData(const char *data, qint64 len);
- void pullData();
- void bufferFilled();
- void lastBufferFilled();
- Q_INVOKABLE void close();
-
- qint64 getSamplesPlayed() const;
-
- void setError(QAudio::Error error);
- void setState(SymbianAudio::State state);
-
- bool isDataReady() const;
- QAudio::State initializingState() const;
-
-private:
- const QByteArray m_device;
- const QAudioFormat m_format;
-
- int m_clientBufferSize;
- int m_notifyInterval;
- QScopedPointer<QTimer> m_notifyTimer;
- QTime m_elapsed;
- QAudio::Error m_error;
-
- SymbianAudio::State m_internalState;
- QAudio::State m_externalState;
-
- bool m_pullMode;
- QIODevice *m_source;
-
- QScopedPointer<CMMFDevSound> m_devSound;
- TUint32 m_nativeFourCC;
- TMMFCapabilities m_nativeFormat;
-
- // Buffer provided by DevSound, to be filled with data.
- CMMFDataBuffer *m_devSoundBuffer;
-
- int m_devSoundBufferSize;
-
- // Number of bytes transferred from QIODevice to QAudioOutput. It is
- // necessary to count this because data is dropped when suspend() is
- // called. The difference between the position reported by DevSound and
- // this value allows us to calculate m_bytesPadding;
- quint32 m_bytesWritten;
-
- // True if client has provided data while the audio subsystem was not
- // ready to consume it.
- bool m_pushDataReady;
-
- // Number of zero bytes which will be written when client calls resume().
- quint32 m_bytesPadding;
-
- // True if PlayError(KErrUnderflow) has been called.
- bool m_underflow;
-
- // True if a buffer marked with the "last buffer" flag has been provided
- // to DevSound.
- bool m_lastBuffer;
-
- // Some DevSound implementations ignore all underflow errors raised by the
- // audio driver, unless the last buffer flag has been set by the client.
- // In push-mode playback, this flag will never be set, so the underflow
- // error will never be reported. In order to work around this, a timer
- // is used, which gets reset every time the client provides more data. If
- // the timer expires, an underflow error is raised by this object.
- QScopedPointer<QTimer> m_underflowTimer;
-
- // Result of previous call to CMMFDevSound::SamplesPlayed(). This value is
- // used to determine whether, when m_underflowTimer expires, an
- // underflow error has actually occurred.
- quint32 m_samplesPlayed;
-
- // Samples played up to the last call to suspend(). It is necessary
- // to cache this because suspend() is implemented using
- // CMMFDevSound::Stop(), which resets DevSound's SamplesPlayed() counter.
- quint32 m_totalSamplesPlayed;
-
-};
-
-QT_END_NAMESPACE
-
-#endif
diff --git a/src/multimedia/multimedia/multimedia.pro b/src/multimedia/multimedia/multimedia.pro
deleted file mode 100644
index ee700b6fd2..0000000000
--- a/src/multimedia/multimedia/multimedia.pro
+++ /dev/null
@@ -1,19 +0,0 @@
-TARGET = QtMultimedia
-QPRO_PWD = $$PWD
-QT = core gui
-
-DEFINES += QT_BUILD_MULTIMEDIA_LIB QT_NO_USING_NAMESPACE
-
-unix:QMAKE_PKGCONFIG_REQUIRES = QtCore QtGui
-
-include(../../qbase.pri)
-
-include(audio/audio.pri)
-include(video/video.pri)
-
-symbian: {
- TARGET.UID3 = 0x2001E627
- contains(CONFIG, def_files) {
- DEF_FILE=../../s60installs
- }
-}
diff --git a/src/multimedia/multimedia/video/qabstractvideobuffer.cpp b/src/multimedia/video/qabstractvideobuffer.cpp
index e9d30d0730..e9d30d0730 100644
--- a/src/multimedia/multimedia/video/qabstractvideobuffer.cpp
+++ b/src/multimedia/video/qabstractvideobuffer.cpp
diff --git a/src/multimedia/multimedia/video/qabstractvideobuffer.h b/src/multimedia/video/qabstractvideobuffer.h
index a8389db126..a8389db126 100644
--- a/src/multimedia/multimedia/video/qabstractvideobuffer.h
+++ b/src/multimedia/video/qabstractvideobuffer.h
diff --git a/src/multimedia/multimedia/video/qabstractvideobuffer_p.h b/src/multimedia/video/qabstractvideobuffer_p.h
index c72f303cc0..c72f303cc0 100644
--- a/src/multimedia/multimedia/video/qabstractvideobuffer_p.h
+++ b/src/multimedia/video/qabstractvideobuffer_p.h
diff --git a/src/multimedia/multimedia/video/qabstractvideosurface.cpp b/src/multimedia/video/qabstractvideosurface.cpp
index 3dabb6b00e..3dabb6b00e 100644
--- a/src/multimedia/multimedia/video/qabstractvideosurface.cpp
+++ b/src/multimedia/video/qabstractvideosurface.cpp
diff --git a/src/multimedia/multimedia/video/qabstractvideosurface.h b/src/multimedia/video/qabstractvideosurface.h
index f2cae17c7c..f2cae17c7c 100644
--- a/src/multimedia/multimedia/video/qabstractvideosurface.h
+++ b/src/multimedia/video/qabstractvideosurface.h
diff --git a/src/multimedia/multimedia/video/qabstractvideosurface_p.h b/src/multimedia/video/qabstractvideosurface_p.h
index 42df1125ba..42df1125ba 100644
--- a/src/multimedia/multimedia/video/qabstractvideosurface_p.h
+++ b/src/multimedia/video/qabstractvideosurface_p.h
diff --git a/src/multimedia/multimedia/video/qimagevideobuffer.cpp b/src/multimedia/video/qimagevideobuffer.cpp
index e3e1585632..e3e1585632 100644
--- a/src/multimedia/multimedia/video/qimagevideobuffer.cpp
+++ b/src/multimedia/video/qimagevideobuffer.cpp
diff --git a/src/multimedia/multimedia/video/qimagevideobuffer_p.h b/src/multimedia/video/qimagevideobuffer_p.h
index 82075d726c..82075d726c 100644
--- a/src/multimedia/multimedia/video/qimagevideobuffer_p.h
+++ b/src/multimedia/video/qimagevideobuffer_p.h
diff --git a/src/multimedia/multimedia/video/qmemoryvideobuffer.cpp b/src/multimedia/video/qmemoryvideobuffer.cpp
index 2e892b7d54..2e892b7d54 100644
--- a/src/multimedia/multimedia/video/qmemoryvideobuffer.cpp
+++ b/src/multimedia/video/qmemoryvideobuffer.cpp
diff --git a/src/multimedia/multimedia/video/qmemoryvideobuffer_p.h b/src/multimedia/video/qmemoryvideobuffer_p.h
index c66cf936f9..c66cf936f9 100644
--- a/src/multimedia/multimedia/video/qmemoryvideobuffer_p.h
+++ b/src/multimedia/video/qmemoryvideobuffer_p.h
diff --git a/src/multimedia/multimedia/video/qvideoframe.cpp b/src/multimedia/video/qvideoframe.cpp
index 2d66d9e37f..2d66d9e37f 100644
--- a/src/multimedia/multimedia/video/qvideoframe.cpp
+++ b/src/multimedia/video/qvideoframe.cpp
diff --git a/src/multimedia/multimedia/video/qvideoframe.h b/src/multimedia/video/qvideoframe.h
index 668a7382be..668a7382be 100644
--- a/src/multimedia/multimedia/video/qvideoframe.h
+++ b/src/multimedia/video/qvideoframe.h
diff --git a/src/multimedia/multimedia/video/qvideosurfaceformat.cpp b/src/multimedia/video/qvideosurfaceformat.cpp
index 1fc13a602c..1fc13a602c 100644
--- a/src/multimedia/multimedia/video/qvideosurfaceformat.cpp
+++ b/src/multimedia/video/qvideosurfaceformat.cpp
diff --git a/src/multimedia/multimedia/video/qvideosurfaceformat.h b/src/multimedia/video/qvideosurfaceformat.h
index 9c73f5f778..9c73f5f778 100644
--- a/src/multimedia/multimedia/video/qvideosurfaceformat.h
+++ b/src/multimedia/video/qvideosurfaceformat.h
diff --git a/src/multimedia/multimedia/video/video.pri b/src/multimedia/video/video.pri
index 0547a4c3e1..0547a4c3e1 100644
--- a/src/multimedia/multimedia/video/video.pri
+++ b/src/multimedia/video/video.pri
diff --git a/src/network/access/access.pri b/src/network/access/access.pri
index aa368902a1..173a087dc3 100644
--- a/src/network/access/access.pri
+++ b/src/network/access/access.pri
@@ -59,8 +59,9 @@ SOURCES += access/qftp.cpp \
#zlib support
contains(QT_CONFIG, zlib) {
- INCLUDEPATH += ../3rdparty/zlib
+ INCLUDEPATH += ../3rdparty/zlib
} else:!contains(QT_CONFIG, no-zlib) {
- unix:LIBS_PRIVATE += -lz
-# win32:LIBS += libz.lib
+ symbian:LIBS_PRIVATE += -llibz
+ else:if(unix|win32-g++*):LIBS_PRIVATE += -lz
+ else:LIBS += zdll.lib
}
diff --git a/src/network/access/qabstractnetworkcache.cpp b/src/network/access/qabstractnetworkcache.cpp
index f091714779..0f0ef9c073 100644
--- a/src/network/access/qabstractnetworkcache.cpp
+++ b/src/network/access/qabstractnetworkcache.cpp
@@ -312,7 +312,7 @@ void QNetworkCacheMetaData::setAttributes(const AttributesMap &attributes)
Writes \a metaData to the \a out stream.
- \sa {Format of the QDataStream operators}
+ \sa {Serializing Qt Data Types}
*/
QDataStream &operator<<(QDataStream &out, const QNetworkCacheMetaData &metaData)
{
@@ -350,7 +350,7 @@ void QNetworkCacheMetaDataPrivate::save(QDataStream &out, const QNetworkCacheMet
Reads a QNetworkCacheMetaData from the stream \a in into \a metaData.
- \sa {Format of the QDataStream operators}
+ \sa {Serializing Qt Data Types}
*/
QDataStream &operator>>(QDataStream &in, QNetworkCacheMetaData &metaData)
{
diff --git a/src/network/access/qhttpnetworkconnection.cpp b/src/network/access/qhttpnetworkconnection.cpp
index 559124f42e..1afabecf74 100644
--- a/src/network/access/qhttpnetworkconnection.cpp
+++ b/src/network/access/qhttpnetworkconnection.cpp
@@ -343,9 +343,16 @@ bool QHttpNetworkConnectionPrivate::handleAuthenticateChallenge(QAbstractSocket
copyCredentials(i, auth, isProxy);
QMetaObject::invokeMethod(q, "_q_restartAuthPendingRequests", Qt::QueuedConnection);
}
+ } else if (priv->phase == QAuthenticatorPrivate::Start) {
+ // If the url's authenticator has a 'user' set we will end up here (phase is only set to 'Done' by
+ // parseHttpResponse above if 'user' is empty). So if credentials were supplied with the request,
+ // such as in the case of an XMLHttpRequest, this is our only opportunity to cache them.
+ emit q->cacheCredentials(reply->request(), auth, q);
}
- // changing values in QAuthenticator will reset the 'phase'
- if (priv->phase == QAuthenticatorPrivate::Done) {
+ // - Changing values in QAuthenticator will reset the 'phase'.
+ // - If withCredentials has been set to false (e.g. by QtWebKit for a cross-origin XMLHttpRequest) then
+ // we need to bail out if authentication is required.
+ if (priv->phase == QAuthenticatorPrivate::Done || !reply->request().withCredentials()) {
// authentication is cancelled, send the current contents to the user.
emit channels[i].reply->headerChanged();
emit channels[i].reply->readyRead();
@@ -716,6 +723,7 @@ void QHttpNetworkConnectionPrivate::removeReply(QHttpNetworkReply *reply)
// This function must be called from the event loop. The only
// exception is documented in QHttpNetworkConnectionPrivate::queueRequest
+// although it is called _q_startNextRequest, it will actually start multiple requests when possible
void QHttpNetworkConnectionPrivate::_q_startNextRequest()
{
//resend the necessary ones.
@@ -733,26 +741,23 @@ void QHttpNetworkConnectionPrivate::_q_startNextRequest()
// dequeue new ones
- QAbstractSocket *socket = 0;
+ // return fast if there is nothing to do
+ if (highPriorityQueue.isEmpty() && lowPriorityQueue.isEmpty())
+ return;
+ // try to get a free AND connected socket
for (int i = 0; i < channelCount; ++i) {
- QAbstractSocket *chSocket = channels[i].socket;
- // try to get a free AND connected socket
if (!channels[i].isSocketBusy() && channels[i].socket->state() == QAbstractSocket::ConnectedState) {
- socket = chSocket;
- dequeueAndSendRequest(socket);
- break;
+ dequeueAndSendRequest(channels[i].socket);
}
}
- if (!socket) {
- for (int i = 0; i < channelCount; ++i) {
- QAbstractSocket *chSocket = channels[i].socket;
- // try to get a free unconnected socket
- if (!channels[i].isSocketBusy()) {
- socket = chSocket;
- dequeueAndSendRequest(socket);
- break;
- }
+ // return fast if there is nothing to do
+ if (highPriorityQueue.isEmpty() && lowPriorityQueue.isEmpty())
+ return;
+ // try to get a free unconnected socket
+ for (int i = 0; i < channelCount; ++i) {
+ if (!channels[i].isSocketBusy()) {
+ dequeueAndSendRequest(channels[i].socket);
}
}
diff --git a/src/network/access/qhttpnetworkconnection_p.h b/src/network/access/qhttpnetworkconnection_p.h
index b5bd300bbd..51666d613a 100644
--- a/src/network/access/qhttpnetworkconnection_p.h
+++ b/src/network/access/qhttpnetworkconnection_p.h
@@ -133,6 +133,8 @@ Q_SIGNALS:
#endif
void authenticationRequired(const QHttpNetworkRequest &request, QAuthenticator *authenticator,
const QHttpNetworkConnection *connection = 0);
+ void cacheCredentials(const QHttpNetworkRequest &request, QAuthenticator *authenticator,
+ const QHttpNetworkConnection *connection = 0);
void error(QNetworkReply::NetworkError errorCode, const QString &detail = QString());
private:
diff --git a/src/network/access/qhttpnetworkconnectionchannel.cpp b/src/network/access/qhttpnetworkconnectionchannel.cpp
index 3b7bc9eb16..d3576dde17 100644
--- a/src/network/access/qhttpnetworkconnectionchannel.cpp
+++ b/src/network/access/qhttpnetworkconnectionchannel.cpp
@@ -173,7 +173,7 @@ bool QHttpNetworkConnectionChannel::sendRequest()
pendingEncrypt = false;
// if the url contains authentication parameters, use the new ones
// both channels will use the new authentication parameters
- if (!request.url().userInfo().isEmpty()) {
+ if (!request.url().userInfo().isEmpty() && request.withCredentials()) {
QUrl url = request.url();
QAuthenticator &auth = authenticator;
if (url.userName() != auth.user()
@@ -187,7 +187,10 @@ bool QHttpNetworkConnectionChannel::sendRequest()
url.setUserInfo(QString());
request.setUrl(url);
}
- connection->d_func()->createAuthorization(socket, request);
+ // Will only be false if QtWebKit is performing a cross-origin XMLHttpRequest
+ // and withCredentials has not been set to true.
+ if (request.withCredentials())
+ connection->d_func()->createAuthorization(socket, request);
#ifndef QT_NO_NETWORKPROXY
QByteArray header = QHttpNetworkRequestPrivate::header(request,
(connection->d_func()->networkProxy.type() != QNetworkProxy::NoProxy));
@@ -291,7 +294,8 @@ bool QHttpNetworkConnectionChannel::sendRequest()
// ensure we try to receive a reply in all cases, even if _q_readyRead_ hat not been called
// this is needed if the sends an reply before we have finished sending the request. In that
// case receiveReply had been called before but ignored the server reply
- QMetaObject::invokeMethod(this, "_q_receiveReply", Qt::QueuedConnection);
+ if (socket->bytesAvailable())
+ QMetaObject::invokeMethod(this, "_q_receiveReply", Qt::QueuedConnection);
break;
}
case QHttpNetworkConnectionChannel::ReadingState:
diff --git a/src/network/access/qhttpnetworkconnectionchannel_p.h b/src/network/access/qhttpnetworkconnectionchannel_p.h
index 51cb5e8a63..41a896dc86 100644
--- a/src/network/access/qhttpnetworkconnectionchannel_p.h
+++ b/src/network/access/qhttpnetworkconnectionchannel_p.h
@@ -65,7 +65,7 @@
#include <private/qhttpnetworkrequest_p.h>
#include <private/qhttpnetworkreply_p.h>
-#include "qhttpnetworkconnection_p.h"
+#include <private/qhttpnetworkconnection_p.h>
#ifndef QT_NO_HTTP
diff --git a/src/network/access/qhttpnetworkreply.cpp b/src/network/access/qhttpnetworkreply.cpp
index 338236ea5e..108ba8a369 100644
--- a/src/network/access/qhttpnetworkreply.cpp
+++ b/src/network/access/qhttpnetworkreply.cpp
@@ -179,6 +179,9 @@ qint64 QHttpNetworkReply::bytesAvailableNextBlock() const
QByteArray QHttpNetworkReply::readAny()
{
Q_D(QHttpNetworkReply);
+ if (d->responseData.bufferCount() == 0)
+ return QByteArray();
+
// we'll take the last buffer, so schedule another read from http
if (d->downstreamLimited && d->responseData.bufferCount() == 1)
d->connection->d_func()->readMoreLater(this);
diff --git a/src/network/access/qhttpnetworkrequest.cpp b/src/network/access/qhttpnetworkrequest.cpp
index 9eb2399b25..639025e7ff 100644
--- a/src/network/access/qhttpnetworkrequest.cpp
+++ b/src/network/access/qhttpnetworkrequest.cpp
@@ -49,7 +49,7 @@ QT_BEGIN_NAMESPACE
QHttpNetworkRequestPrivate::QHttpNetworkRequestPrivate(QHttpNetworkRequest::Operation op,
QHttpNetworkRequest::Priority pri, const QUrl &newUrl)
: QHttpNetworkHeaderPrivate(newUrl), operation(op), priority(pri), uploadByteDevice(0),
- autoDecompress(false), pipeliningAllowed(false)
+ autoDecompress(false), pipeliningAllowed(false), withCredentials(true)
{
}
@@ -62,6 +62,7 @@ QHttpNetworkRequestPrivate::QHttpNetworkRequestPrivate(const QHttpNetworkRequest
autoDecompress = other.autoDecompress;
pipeliningAllowed = other.pipeliningAllowed;
customVerb = other.customVerb;
+ withCredentials = other.withCredentials;
}
QHttpNetworkRequestPrivate::~QHttpNetworkRequestPrivate()
@@ -274,6 +275,16 @@ void QHttpNetworkRequest::setPipeliningAllowed(bool b)
d->pipeliningAllowed = b;
}
+bool QHttpNetworkRequest::withCredentials() const
+{
+ return d->withCredentials;
+}
+
+void QHttpNetworkRequest::setWithCredentials(bool b)
+{
+ d->withCredentials = b;
+}
+
void QHttpNetworkRequest::setUploadByteDevice(QNonContiguousByteDevice *bd)
{
d->uploadByteDevice = bd;
diff --git a/src/network/access/qhttpnetworkrequest_p.h b/src/network/access/qhttpnetworkrequest_p.h
index 1b35a84642..15cab73e8f 100644
--- a/src/network/access/qhttpnetworkrequest_p.h
+++ b/src/network/access/qhttpnetworkrequest_p.h
@@ -113,6 +113,9 @@ public:
bool isPipeliningAllowed() const;
void setPipeliningAllowed(bool b);
+ bool withCredentials() const;
+ void setWithCredentials(bool b);
+
void setUploadByteDevice(QNonContiguousByteDevice *bd);
QNonContiguousByteDevice* uploadByteDevice() const;
@@ -142,6 +145,7 @@ public:
mutable QNonContiguousByteDevice* uploadByteDevice;
bool autoDecompress;
bool pipeliningAllowed;
+ bool withCredentials;
};
diff --git a/src/network/access/qnetworkaccessbackend.cpp b/src/network/access/qnetworkaccessbackend.cpp
index f188bd569c..60f7dc6369 100644
--- a/src/network/access/qnetworkaccessbackend.cpp
+++ b/src/network/access/qnetworkaccessbackend.cpp
@@ -74,7 +74,7 @@ Q_GLOBAL_STATIC(QNetworkAccessBackendFactoryData, factoryData)
QNetworkAccessBackendFactory::QNetworkAccessBackendFactory()
{
QMutexLocker locker(&factoryData()->mutex);
- factoryData()->prepend(this);
+ factoryData()->append(this);
}
QNetworkAccessBackendFactory::~QNetworkAccessBackendFactory()
@@ -327,6 +327,11 @@ void QNetworkAccessBackend::authenticationRequired(QAuthenticator *authenticator
manager->authenticationRequired(this, authenticator);
}
+void QNetworkAccessBackend::cacheCredentials(QAuthenticator *authenticator)
+{
+ manager->addCredentials(this->reply->url, authenticator);
+}
+
void QNetworkAccessBackend::metaDataChanged()
{
reply->metaDataChanged();
diff --git a/src/network/access/qnetworkaccessbackend_p.h b/src/network/access/qnetworkaccessbackend_p.h
index 4ce37a6af3..4fe6de6669 100644
--- a/src/network/access/qnetworkaccessbackend_p.h
+++ b/src/network/access/qnetworkaccessbackend_p.h
@@ -188,6 +188,7 @@ protected slots:
void proxyAuthenticationRequired(const QNetworkProxy &proxy, QAuthenticator *auth);
#endif
void authenticationRequired(QAuthenticator *auth);
+ void cacheCredentials(QAuthenticator *auth);
void metaDataChanged();
void redirectionRequested(const QUrl &destination);
void sslErrors(const QList<QSslError> &errors);
diff --git a/src/network/access/qnetworkaccesshttpbackend.cpp b/src/network/access/qnetworkaccesshttpbackend.cpp
index 3154ed618c..a6c5c02bfb 100644
--- a/src/network/access/qnetworkaccesshttpbackend.cpp
+++ b/src/network/access/qnetworkaccesshttpbackend.cpp
@@ -346,6 +346,8 @@ void QNetworkAccessHttpBackend::setupConnection()
#endif
connect(http, SIGNAL(authenticationRequired(QHttpNetworkRequest,QAuthenticator*)),
SLOT(httpAuthenticationRequired(QHttpNetworkRequest,QAuthenticator*)));
+ connect(http, SIGNAL(cacheCredentials(QHttpNetworkRequest,QAuthenticator*)),
+ SLOT(httpCacheCredentials(QHttpNetworkRequest,QAuthenticator*)));
connect(http, SIGNAL(error(QNetworkReply::NetworkError,QString)),
SLOT(httpError(QNetworkReply::NetworkError,QString)));
#ifndef QT_NO_OPENSSL
@@ -578,6 +580,11 @@ void QNetworkAccessHttpBackend::postRequest()
if (request().attribute(QNetworkRequest::HttpPipeliningAllowedAttribute).toBool() == true)
httpRequest.setPipeliningAllowed(true);
+ if (static_cast<QNetworkRequest::LoadControl>
+ (request().attribute(QNetworkRequest::AuthenticationReuseAttribute,
+ QNetworkRequest::Automatic).toInt()) == QNetworkRequest::Manual)
+ httpRequest.setWithCredentials(false);
+
httpReply = http->sendRequest(httpRequest);
httpReply->setParent(this);
#ifndef QT_NO_OPENSSL
@@ -861,6 +868,12 @@ void QNetworkAccessHttpBackend::httpAuthenticationRequired(const QHttpNetworkReq
authenticationRequired(auth);
}
+void QNetworkAccessHttpBackend::httpCacheCredentials(const QHttpNetworkRequest &,
+ QAuthenticator *auth)
+{
+ cacheCredentials(auth);
+}
+
void QNetworkAccessHttpBackend::httpError(QNetworkReply::NetworkError errorCode,
const QString &errorString)
{
diff --git a/src/network/access/qnetworkaccesshttpbackend_p.h b/src/network/access/qnetworkaccesshttpbackend_p.h
index e5cc0ab281..c4c88ae305 100644
--- a/src/network/access/qnetworkaccesshttpbackend_p.h
+++ b/src/network/access/qnetworkaccesshttpbackend_p.h
@@ -94,8 +94,6 @@ public:
#endif
QNetworkCacheMetaData fetchCacheMetaData(const QNetworkCacheMetaData &metaData) const;
- qint64 deviceReadData(char *buffer, qint64 maxlen);
-
// we return true since HTTP needs to send PUT/POST data again after having authenticated
bool needsResetableUploadData() { return true; }
@@ -107,6 +105,7 @@ private slots:
void replyFinished();
void replyHeaderChanged();
void httpAuthenticationRequired(const QHttpNetworkRequest &request, QAuthenticator *auth);
+ void httpCacheCredentials(const QHttpNetworkRequest &request, QAuthenticator *auth);
void httpError(QNetworkReply::NetworkError error, const QString &errorString);
bool sendCacheContents(const QNetworkCacheMetaData &metaData);
void finished(); // override
diff --git a/src/network/access/qnetworkaccessmanager.cpp b/src/network/access/qnetworkaccessmanager.cpp
index feb9d999c0..837cf66dc3 100644
--- a/src/network/access/qnetworkaccessmanager.cpp
+++ b/src/network/access/qnetworkaccessmanager.cpp
@@ -141,6 +141,32 @@ static void ensureInitialized()
can be:
\snippet doc/src/snippets/code/src_network_access_qnetworkaccessmanager.cpp 1
+ \section1 Network and Roaming support
+
+ With the addition of the \l {Bearer Management} API to Qt 4.7
+ QNetworkAccessManager gained the ability to manage network connections.
+ QNetworkAccessManager can start the network interface if the device is
+ offline and terminates the interface if the current process is the last
+ one to use the uplink. Note that some platform utilize grace periods from
+ when the last application stops using a uplink until the system actually
+ terminates the connectivity link. Roaming is equally transparent. Any
+ queued/pending network requests are automatically transferred to new
+ access point.
+
+ Clients wanting to utilize this feature should not require any changes. In fact
+ it is likely that existing platform specific connection code can simply be
+ removed from the application.
+
+ \note The network and roaming support in QNetworkAccessManager is conditional
+ upon the platform supporting connection management. The
+ \l QNetworkConfigurationManager::NetworkSessionRequired can be used to
+ detect whether QNetworkAccessManager utilizes this feature. Currently only
+ Meego/Harmattan and Symbian platforms provide connection management support.
+
+ \note This feature cannot be used in combination with the Bearer Management
+ API as provided by QtMobility. Applications have to migrate to the Qt version
+ of Bearer Management.
+
\section1 Symbian Platform Security Requirements
On Symbian, processes which use this class must have the
@@ -438,6 +464,15 @@ QNetworkAccessManager::~QNetworkAccessManager()
#ifndef QT_NO_NETWORKPROXY
delete d_func()->proxyFactory;
#endif
+
+ // Delete the QNetworkReply children first.
+ // Else a QAbstractNetworkCache might get deleted in ~QObject
+ // before a QNetworkReply that accesses the QAbstractNetworkCache
+ // object in its destructor.
+ qDeleteAll(findChildren<QNetworkReply *>());
+ // The other children will be deleted in this ~QObject
+ // FIXME instead of this "hack" make the QNetworkReplyImpl
+ // properly watch the cache deletion, e.g. via a QWeakPointer.
}
#ifndef QT_NO_NETWORKPROXY
@@ -595,8 +630,9 @@ QNetworkCookieJar *QNetworkAccessManager::cookieJar() const
\note QNetworkAccessManager takes ownership of the \a cookieJar object.
- QNetworkAccessManager will set the parent of the \a cookieJar
- passed to itself, so that the cookie jar is deleted when this
+ If \a cookieJar is in the same thread as this QNetworkAccessManager,
+ it will set the parent of the \a cookieJar
+ so that the cookie jar is deleted when this
object is deleted as well. If you want to share cookie jars
between different QNetworkAccessManager objects, you may want to
set the cookie jar's parent to 0 after calling this function.
@@ -621,7 +657,8 @@ void QNetworkAccessManager::setCookieJar(QNetworkCookieJar *cookieJar)
if (d->cookieJar && d->cookieJar->parent() == this)
delete d->cookieJar;
d->cookieJar = cookieJar;
- d->cookieJar->setParent(this);
+ if (thread() == cookieJar->thread())
+ d->cookieJar->setParent(this);
}
}
@@ -948,10 +985,15 @@ QNetworkReply *QNetworkAccessManager::createRequest(QNetworkAccessManager::Opera
// but the data that is outgoing is random-access
request.setHeader(QNetworkRequest::ContentLengthHeader, outgoingData->size());
}
- if (d->cookieJar) {
- QList<QNetworkCookie> cookies = d->cookieJar->cookiesForUrl(request.url());
- if (!cookies.isEmpty())
- request.setHeader(QNetworkRequest::CookieHeader, qVariantFromValue(cookies));
+
+ if (static_cast<QNetworkRequest::LoadControl>
+ (request.attribute(QNetworkRequest::CookieLoadControlAttribute,
+ QNetworkRequest::Automatic).toInt()) == QNetworkRequest::Automatic) {
+ if (d->cookieJar) {
+ QList<QNetworkCookie> cookies = d->cookieJar->cookiesForUrl(request.url());
+ if (!cookies.isEmpty())
+ request.setHeader(QNetworkRequest::CookieHeader, qVariantFromValue(cookies));
+ }
}
// first step: create the reply
@@ -967,11 +1009,15 @@ QNetworkReply *QNetworkAccessManager::createRequest(QNetworkAccessManager::Opera
priv->manager = this;
// second step: fetch cached credentials
- QNetworkAuthenticationCredential *cred = d->fetchCachedCredentials(url);
- if (cred) {
- url.setUserName(cred->user);
- url.setPassword(cred->password);
- priv->urlForLastAuthentication = url;
+ if (static_cast<QNetworkRequest::LoadControl>
+ (request.attribute(QNetworkRequest::AuthenticationReuseAttribute,
+ QNetworkRequest::Automatic).toInt()) == QNetworkRequest::Automatic) {
+ QNetworkAuthenticationCredential *cred = d->fetchCachedCredentials(url);
+ if (cred) {
+ url.setUserName(cred->user);
+ url.setPassword(cred->password);
+ priv->urlForLastAuthentication = url;
+ }
}
// third step: find a backend
diff --git a/src/network/access/qnetworkcookie.cpp b/src/network/access/qnetworkcookie.cpp
index 865d33894a..d1bdd57f53 100644
--- a/src/network/access/qnetworkcookie.cpp
+++ b/src/network/access/qnetworkcookie.cpp
@@ -991,6 +991,8 @@ QList<QNetworkCookie> QNetworkCookiePrivate::parseSetCookieHeaderLine(const QByt
}
QString normalizedDomain = QUrl::fromAce(QUrl::toAce(QString::fromUtf8(rawDomain)));
+ if (normalizedDomain.isEmpty() && !rawDomain.isEmpty())
+ return result;
cookie.setDomain(maybeLeadingDot + normalizedDomain);
} else if (field.first == "max-age") {
bool ok = false;
diff --git a/src/network/access/qnetworkreplyimpl.cpp b/src/network/access/qnetworkreplyimpl.cpp
index 128d18f15a..31ee2a4b8f 100644
--- a/src/network/access/qnetworkreplyimpl.cpp
+++ b/src/network/access/qnetworkreplyimpl.cpp
@@ -673,8 +673,12 @@ void QNetworkReplyImplPrivate::error(QNetworkReplyImpl::NetworkError code, const
void QNetworkReplyImplPrivate::metaDataChanged()
{
Q_Q(QNetworkReplyImpl);
- // do we have cookies?
- if (cookedHeaders.contains(QNetworkRequest::SetCookieHeader) && !manager.isNull()) {
+ // 1. do we have cookies?
+ // 2. are we allowed to set them?
+ if (cookedHeaders.contains(QNetworkRequest::SetCookieHeader) && !manager.isNull()
+ && (static_cast<QNetworkRequest::LoadControl>
+ (request.attribute(QNetworkRequest::CookieSaveControlAttribute,
+ QNetworkRequest::Automatic).toInt()) == QNetworkRequest::Automatic)) {
QList<QNetworkCookie> cookies =
qvariant_cast<QList<QNetworkCookie> >(cookedHeaders.value(QNetworkRequest::SetCookieHeader));
QNetworkCookieJar *jar = manager->cookieJar();
diff --git a/src/network/access/qnetworkrequest.cpp b/src/network/access/qnetworkrequest.cpp
index 61c116def2..911eadcab0 100644
--- a/src/network/access/qnetworkrequest.cpp
+++ b/src/network/access/qnetworkrequest.cpp
@@ -190,6 +190,46 @@ QT_BEGIN_NAMESPACE
of other verbs than GET, POST, PUT and DELETE). This verb is set
when calling QNetworkAccessManager::sendCustomRequest().
+ \value CookieLoadControlAttribute
+ Requests only, type: QVariant::Int (default: QNetworkRequest::Automatic)
+ Indicates whether to send 'Cookie' headers in the request.
+
+ This attribute is set to false by QtWebKit when creating a cross-origin
+ XMLHttpRequest where withCredentials has not been set explicitly to true by the
+ Javascript that created the request.
+
+ See http://www.w3.org/TR/XMLHttpRequest2/#credentials-flag for more information.
+
+ \since 4.7
+
+ \value CookieSaveControlAttribute
+ Requests only, type: QVariant::Int (default: QNetworkRequest::Automatic)
+ Indicates whether to save 'Cookie' headers received from the server in reply
+ to the request.
+
+ This attribute is set to false by QtWebKit when creating a cross-origin
+ XMLHttpRequest where withCredentials has not been set explicitly to true by the
+ Javascript that created the request.
+
+ See http://www.w3.org/TR/XMLHttpRequest2/#credentials-flag for more information.
+
+ \since 4.7
+
+ \value AuthenticationReuseControlAttribute
+ Requests only, type: QVariant::Int (default: QNetworkRequest::Automatic)
+ Indicates whether to use cached authorization credentials in the request,
+ if available. If this is set to QNetworkRequest::Manual and the authentication
+ mechanism is 'Basic' or 'Digest', Qt will not send an an 'Authorization' HTTP
+ header with any cached credentials it may have for the request's URL.
+
+ This attribute is set to QNetworkRequest::Manual by QtWebKit when creating a cross-origin
+ XMLHttpRequest where withCredentials has not been set explicitly to true by the
+ Javascript that created the request.
+
+ See http://www.w3.org/TR/XMLHttpRequest2/#credentials-flag for more information.
+
+ \since 4.7
+
\value User
Special type. Additional information can be passed in
QVariants with types ranging from User to UserMax. The default
@@ -222,6 +262,18 @@ QT_BEGIN_NAMESPACE
if the item was not cached (i.e., off-line mode)
*/
+/*!
+ \enum QNetworkRequest::LoadControl
+ \since 4.7
+
+ Indicates if an aspect of the request's loading mechanism has been
+ manually overridden, e.g. by QtWebKit.
+
+ \value Automatic default value: indicates default behaviour.
+
+ \value Manual indicates behaviour has been manually overridden.
+*/
+
class QNetworkRequestPrivate: public QSharedData, public QNetworkHeadersPrivate
{
public:
diff --git a/src/network/access/qnetworkrequest.h b/src/network/access/qnetworkrequest.h
index a0ef1a61ae..d2945c40e6 100644
--- a/src/network/access/qnetworkrequest.h
+++ b/src/network/access/qnetworkrequest.h
@@ -79,6 +79,9 @@ public:
HttpPipeliningAllowedAttribute,
HttpPipeliningWasUsedAttribute,
CustomVerbAttribute,
+ CookieLoadControlAttribute,
+ AuthenticationReuseAttribute,
+ CookieSaveControlAttribute,
User = 1000,
UserMax = 32767
@@ -89,6 +92,10 @@ public:
PreferCache,
AlwaysCache
};
+ enum LoadControl {
+ Automatic = 0,
+ Manual
+ };
enum Priority {
HighPriority = 1,
diff --git a/src/network/bearer/qnetworkconfigmanager_p.cpp b/src/network/bearer/qnetworkconfigmanager_p.cpp
index 471927a48f..5d4274f0c1 100644
--- a/src/network/bearer/qnetworkconfigmanager_p.cpp
+++ b/src/network/bearer/qnetworkconfigmanager_p.cpp
@@ -483,8 +483,10 @@ void QNetworkConfigurationManagerPrivate::pollEngines()
QMutexLocker locker(&mutex);
for (int i = 0; i < sessionEngines.count(); ++i) {
- if ((forcedPolling && sessionEngines.at(i)->requiresPolling()) ||
- sessionEngines.at(i)->configurationsInUse()) {
+ if (!sessionEngines.at(i)->requiresPolling())
+ continue;
+
+ if (forcedPolling || sessionEngines.at(i)->configurationsInUse()) {
pollingEngines.insert(i);
QMetaObject::invokeMethod(sessionEngines.at(i), "requestUpdate");
}
diff --git a/src/network/kernel/qhostaddress.cpp b/src/network/kernel/qhostaddress.cpp
index 2852d308ba..5ae3accb23 100644
--- a/src/network/kernel/qhostaddress.cpp
+++ b/src/network/kernel/qhostaddress.cpp
@@ -1097,7 +1097,7 @@ uint qHash(const QHostAddress &key)
Writes host address \a address to the stream \a out and returns a reference
to the stream.
- \sa {Format of the QDataStream operators}
+ \sa {Serializing Qt Data Types}
*/
QDataStream &operator<<(QDataStream &out, const QHostAddress &address)
{
@@ -1127,7 +1127,7 @@ QDataStream &operator<<(QDataStream &out, const QHostAddress &address)
Reads a host address into \a address from the stream \a in and returns a
reference to the stream.
- \sa {Format of the QDataStream operators}
+ \sa {Serializing Qt Data Types}
*/
QDataStream &operator>>(QDataStream &in, QHostAddress &address)
{
diff --git a/src/network/kernel/qhostinfo.cpp b/src/network/kernel/qhostinfo.cpp
index f287630e4b..8ae1305266 100644
--- a/src/network/kernel/qhostinfo.cpp
+++ b/src/network/kernel/qhostinfo.cpp
@@ -44,14 +44,10 @@
#include "QtCore/qscopedpointer.h"
#include <qabstracteventdispatcher.h>
-#include <private/qunicodetables_p.h>
#include <qcoreapplication.h>
#include <qmetaobject.h>
-#include <qregexp.h>
-#include <private/qnativesocketengine_p.h>
#include <qstringlist.h>
#include <qthread.h>
-#include <qtimer.h>
#include <qurl.h>
#ifdef Q_OS_UNIX
@@ -471,6 +467,18 @@ void QHostInfoRunnable::run()
hostInfo.setLookupId(id);
resultEmitter.emitResultsReady(hostInfo);
+ // now also iterate through the postponed ones
+ QMutableListIterator<QHostInfoRunnable*> iterator(manager->postponedLookups);
+ while (iterator.hasNext()) {
+ QHostInfoRunnable* postponed = iterator.next();
+ if (toBeLookedUp == postponed->toBeLookedUp) {
+ // we can now emit
+ iterator.remove();
+ hostInfo.setLookupId(postponed->id);
+ postponed->resultEmitter.emitResultsReady(hostInfo);
+ }
+ }
+
manager->lookupFinished(this);
// thread goes back to QThreadPool
@@ -596,6 +604,23 @@ void QHostInfoLookupManager::abortLookup(int id)
return;
QMutexLocker locker(&this->mutex);
+
+ // is postponed? delete and return
+ for (int i = 0; i < postponedLookups.length(); i++) {
+ if (postponedLookups.at(i)->id == id) {
+ delete postponedLookups.takeAt(i);
+ return;
+ }
+ }
+
+ // is scheduled? delete and return
+ for (int i = 0; i < scheduledLookups.length(); i++) {
+ if (scheduledLookups.at(i)->id == id) {
+ delete scheduledLookups.takeAt(i);
+ return;
+ }
+ }
+
if (!abortedLookups.contains(id))
abortedLookups.append(id);
}
diff --git a/src/network/kernel/qhostinfo_p.h b/src/network/kernel/qhostinfo_p.h
index e11766bf15..85d14c295b 100644
--- a/src/network/kernel/qhostinfo_p.h
+++ b/src/network/kernel/qhostinfo_p.h
@@ -84,7 +84,7 @@ public Q_SLOTS:
}
Q_SIGNALS:
- void resultsReady(const QHostInfo info);
+ void resultsReady(const QHostInfo &info);
};
// needs to be QObject because fromName calls tr()
@@ -173,6 +173,8 @@ public:
bool wasAborted(int id);
QHostInfoCache cache;
+
+ friend class QHostInfoRunnable;
protected:
QList<QHostInfoRunnable*> currentLookups; // in progress
QList<QHostInfoRunnable*> postponedLookups; // postponed because in progress for same host
diff --git a/src/network/kernel/qhostinfo_unix.cpp b/src/network/kernel/qhostinfo_unix.cpp
index a186e78a19..90751f42e9 100644
--- a/src/network/kernel/qhostinfo_unix.cpp
+++ b/src/network/kernel/qhostinfo_unix.cpp
@@ -44,6 +44,7 @@
#include "qplatformdefs.h"
#include "qhostinfo_p.h"
+#include "private/qnativesocketengine_p.h"
#include "qiodevice.h"
#include <qbytearray.h>
#include <qlibrary.h>
diff --git a/src/network/kernel/qhostinfo_win.cpp b/src/network/kernel/qhostinfo_win.cpp
index 4264f603cd..b30204b50b 100644
--- a/src/network/kernel/qhostinfo_win.cpp
+++ b/src/network/kernel/qhostinfo_win.cpp
@@ -50,7 +50,6 @@
#include "private/qnativesocketengine_p.h"
#include <ws2tcpip.h>
#include <qlibrary.h>
-#include <qtimer.h>
#include <qmutex.h>
#include <qurl.h>
#include <private/qmutexpool_p.h>
diff --git a/src/network/kernel/qnetworkproxy.cpp b/src/network/kernel/qnetworkproxy.cpp
index ada9381a46..bc5a025915 100644
--- a/src/network/kernel/qnetworkproxy.cpp
+++ b/src/network/kernel/qnetworkproxy.cpp
@@ -1138,6 +1138,20 @@ void QNetworkProxyQuery::setUrl(const QUrl &url)
multiple connections, such as QNetworkAccessManager. When set on
such object, the factory will be queried for sockets created by
that framework only.
+
+ \section1 System Proxies
+
+ You can configure a factory to use the system proxy's settings.
+ Call the setUseSystemConfiguration() function with true to enable
+ this behavior, or false to disable it.
+
+ Similarly, you can use a factory to make queries directly to the
+ system proxy by calling its systemProxyForQuery() function.
+
+ \warning Depending on the configuration of the user's system, the
+ use of system proxy features on certain platforms may be subject
+ to limitations. The systemProxyForQuery() documentation contains a
+ list of these limitations for those platforms that are affected.
*/
/*!
@@ -1159,17 +1173,20 @@ QNetworkProxyFactory::~QNetworkProxyFactory()
/*!
+ \since 4.6
+
Enables the use of the platform-specific proxy settings, and only those.
See systemProxyForQuery() for more information.
Internally, this method (when called with \a enable set to true)
sets an application-wide proxy factory. For this reason, this method
- is mutually exclusive with setApplicationProxyFactory: calling
- setApplicationProxyFactory overrides the use of the system-wide proxy,
- and calling setUseSystemConfiguration overrides any
+ is mutually exclusive with setApplicationProxyFactory(): calling
+ setApplicationProxyFactory() overrides the use of the system-wide proxy,
+ and calling setUseSystemConfiguration() overrides any
application proxy or proxy factory that was previously set.
- \since 4.6
+ \note See the systemProxyForQuery() documentation for a list of
+ limitations related to the use of system proxies.
*/
void QNetworkProxyFactory::setUseSystemConfiguration(bool enable)
{
@@ -1264,8 +1281,13 @@ void QNetworkProxyFactory::setApplicationProxyFactory(QNetworkProxyFactory *fact
function. Future versions of Qt may lift some of the limitations
listed here.
- On MacOS X, this function will ignore the Proxy Auto Configuration
+ \list
+ \o On MacOS X, this function will ignore the Proxy Auto Configuration
settings, since it cannot execute the associated ECMAScript code.
+
+ \o On Windows platforms, this function may take several seconds to
+ execute depending on the configuration of the user's system.
+ \endlist
*/
/*!
diff --git a/src/network/network.qrc b/src/network/network.qrc
deleted file mode 100644
index 06f98cbb67..0000000000
--- a/src/network/network.qrc
+++ /dev/null
@@ -1,5 +0,0 @@
-<!DOCTYPE RCC><RCC version="1.0">
-<qresource prefix="/trolltech/network">
-<file>ssl/qt-ca-bundle.crt</file>
-</qresource>
-</RCC>
diff --git a/src/network/socket/qlocalserver_p.h b/src/network/socket/qlocalserver_p.h
index feaaae03f3..4f92b642a1 100644
--- a/src/network/socket/qlocalserver_p.h
+++ b/src/network/socket/qlocalserver_p.h
@@ -99,6 +99,7 @@ public:
struct Listener {
HANDLE handle;
OVERLAPPED overlapped;
+ bool connected;
};
void setError(const QString &function);
diff --git a/src/network/socket/qlocalserver_win.cpp b/src/network/socket/qlocalserver_win.cpp
index 07baf1ed74..61220e43a3 100644
--- a/src/network/socket/qlocalserver_win.cpp
+++ b/src/network/socket/qlocalserver_win.cpp
@@ -85,8 +85,10 @@ bool QLocalServerPrivate::addListener()
if (!ConnectNamedPipe(listener.handle, &listener.overlapped)) {
switch (GetLastError()) {
case ERROR_IO_PENDING:
+ listener.connected = false;
break;
case ERROR_PIPE_CONNECTED:
+ listener.connected = true;
SetEvent(eventHandle);
break;
default:
@@ -155,7 +157,9 @@ void QLocalServerPrivate::_q_onNewConnection()
// a client connection first, so there is no way around polling all of them.
for (int i = 0; i < listeners.size(); ) {
HANDLE handle = listeners[i].handle;
- if (GetOverlappedResult(handle, &listeners[i].overlapped, &dummy, FALSE)) {
+ if (listeners[i].connected
+ || GetOverlappedResult(handle, &listeners[i].overlapped, &dummy, FALSE))
+ {
listeners.removeAt(i);
addListener();
diff --git a/src/network/socket/qlocalsocket_p.h b/src/network/socket/qlocalsocket_p.h
index 0f1c23cada..57ca3c2b12 100644
--- a/src/network/socket/qlocalsocket_p.h
+++ b/src/network/socket/qlocalsocket_p.h
@@ -135,7 +135,7 @@ public:
void _q_canWrite();
void _q_pipeClosed();
void _q_emitReadyRead();
- DWORD bytesAvailable();
+ DWORD checkPipeState();
void startAsyncRead();
bool completeAsyncRead();
void checkReadyRead();
diff --git a/src/network/socket/qlocalsocket_win.cpp b/src/network/socket/qlocalsocket_win.cpp
index 5f46ecb95b..5486f4769f 100644
--- a/src/network/socket/qlocalsocket_win.cpp
+++ b/src/network/socket/qlocalsocket_win.cpp
@@ -192,6 +192,9 @@ qint64 QLocalSocket::readData(char *data, qint64 maxSize)
{
Q_D(QLocalSocket);
+ if (d->pipeClosed && d->actualReadBufferSize == 0)
+ return -1; // signal EOF
+
qint64 readSoFar;
// If startAsyncRead() read data, copy it to its destination.
if (maxSize == 1 && d->actualReadBufferSize > 0) {
@@ -213,10 +216,8 @@ qint64 QLocalSocket::readData(char *data, qint64 maxSize)
}
if (d->pipeClosed) {
- if (readSoFar == 0) {
+ if (d->actualReadBufferSize == 0)
QTimer::singleShot(0, this, SLOT(_q_pipeClosed()));
- return -1; // signal EOF
- }
} else {
if (!d->readSequenceStarted)
d->startAsyncRead();
@@ -250,7 +251,10 @@ void QLocalSocketPrivate::checkReadyRead()
void QLocalSocketPrivate::startAsyncRead()
{
do {
- DWORD bytesToRead = bytesAvailable();
+ DWORD bytesToRead = checkPipeState();
+ if (pipeClosed)
+ return;
+
if (bytesToRead == 0) {
// There are no bytes in the pipe but we need to
// start the overlapped read with some buffer size.
@@ -333,9 +337,11 @@ void QLocalSocket::abort()
}
/*!
- The number of bytes available from the pipe
- */
-DWORD QLocalSocketPrivate::bytesAvailable()
+ \internal
+ Returns the number of available bytes in the pipe.
+ Sets QLocalSocketPrivate::pipeClosed to true if the connection is broken.
+ */
+DWORD QLocalSocketPrivate::checkPipeState()
{
Q_Q(QLocalSocket);
DWORD bytes;
@@ -345,7 +351,8 @@ DWORD QLocalSocketPrivate::bytesAvailable()
if (!pipeClosed) {
pipeClosed = true;
emit q->readChannelFinished();
- QTimer::singleShot(0, q, SLOT(_q_pipeClosed()));
+ if (actualReadBufferSize == 0)
+ QTimer::singleShot(0, q, SLOT(_q_pipeClosed()));
}
}
return 0;
@@ -478,6 +485,8 @@ void QLocalSocketPrivate::_q_notified()
if (!completeAsyncRead()) {
pipeClosed = true;
emit q->readChannelFinished();
+ if (actualReadBufferSize == 0)
+ QTimer::singleShot(0, q, SLOT(_q_pipeClosed()));
return;
}
startAsyncRead();
@@ -529,7 +538,7 @@ bool QLocalSocket::waitForDisconnected(int msecs)
}
QIncrementalSleepTimer timer(msecs);
forever {
- d->bytesAvailable(); // to check if PeekNamedPipe fails
+ d->checkPipeState();
if (d->pipeClosed)
close();
if (state() == UnconnectedState)
@@ -561,11 +570,22 @@ bool QLocalSocket::waitForReadyRead(int msecs)
if (d->state != QLocalSocket::ConnectedState)
return false;
+ // We already know that the pipe is gone, but did not enter the event loop yet.
+ if (d->pipeClosed) {
+ close();
+ return false;
+ }
+
Q_ASSERT(d->readSequenceStarted);
DWORD result = WaitForSingleObject(d->overlapped.hEvent, msecs == -1 ? INFINITE : msecs);
switch (result) {
case WAIT_OBJECT_0:
d->_q_notified();
+ // We just noticed that the pipe is gone.
+ if (d->pipeClosed) {
+ close();
+ return false;
+ }
return true;
case WAIT_TIMEOUT:
return false;
diff --git a/src/network/socket/qnativesocketengine_unix.cpp b/src/network/socket/qnativesocketengine_unix.cpp
index d1553570af..f91ce5f83b 100644
--- a/src/network/socket/qnativesocketengine_unix.cpp
+++ b/src/network/socket/qnativesocketengine_unix.cpp
@@ -425,6 +425,9 @@ bool QNativeSocketEnginePrivate::nativeConnect(const QHostAddress &addr, quint16
case EBADF:
case EFAULT:
case ENOTSOCK:
+#ifdef Q_OS_SYMBIAN
+ case EPIPE:
+#endif
socketState = QAbstractSocket::UnconnectedState;
default:
break;
@@ -848,11 +851,7 @@ qint64 QNativeSocketEnginePrivate::nativeWrite(const char *data, qint64 len)
// Symbian does not support signals natively and Open C returns EINTR when moving to offline
writtenBytes = ::write(socketDescriptor, data, len);
#else
- // loop while ::write() returns -1 and errno == EINTR, in case
- // of an interrupting signal.
- do {
- writtenBytes = qt_safe_write(socketDescriptor, data, len);
- } while (writtenBytes < 0 && errno == EINTR);
+ writtenBytes = qt_safe_write(socketDescriptor, data, len);
#endif
if (writtenBytes < 0) {
@@ -896,9 +895,7 @@ qint64 QNativeSocketEnginePrivate::nativeRead(char *data, qint64 maxSize)
#ifdef Q_OS_SYMBIAN
r = ::read(socketDescriptor, data, maxSize);
#else
- do {
- r = qt_safe_read(socketDescriptor, data, maxSize);
- } while (r == -1 && errno == EINTR);
+ r = qt_safe_read(socketDescriptor, data, maxSize);
#endif
if (r < 0) {
diff --git a/src/network/socket/qtcpserver.cpp b/src/network/socket/qtcpserver.cpp
index 932126d984..55f926d3f9 100644
--- a/src/network/socket/qtcpserver.cpp
+++ b/src/network/socket/qtcpserver.cpp
@@ -562,7 +562,7 @@ QTcpSocket *QTcpServer::nextPendingConnection()
to the other thread and create the QTcpSocket object there and
use its setSocketDescriptor() method.
- \sa newConnection(), nextPendingConnection()
+ \sa newConnection(), nextPendingConnection(), addPendingConnection()
*/
void QTcpServer::incomingConnection(int socketDescriptor)
{
@@ -572,6 +572,22 @@ void QTcpServer::incomingConnection(int socketDescriptor)
QTcpSocket *socket = new QTcpSocket(this);
socket->setSocketDescriptor(socketDescriptor);
+ addPendingConnection(socket);
+}
+
+/*!
+ This function is called by QTcpServer::incomingConnection()
+ to add a socket to the list of pending incoming connections.
+
+ \note Don't forget to call this member from reimplemented
+ incomingConnection() if you do not want to break the
+ Pending Connections mechanism.
+
+ \sa incomingConnection()
+ \since 4.7
+*/
+void QTcpServer::addPendingConnection(QTcpSocket* socket)
+{
d_func()->pendingConnections.append(socket);
}
diff --git a/src/network/socket/qtcpserver.h b/src/network/socket/qtcpserver.h
index 7aebffe725..b206678354 100644
--- a/src/network/socket/qtcpserver.h
+++ b/src/network/socket/qtcpserver.h
@@ -93,6 +93,7 @@ public:
protected:
virtual void incomingConnection(int handle);
+ void addPendingConnection(QTcpSocket* socket);
Q_SIGNALS:
void newConnection();
diff --git a/src/network/ssl/qsslcertificate.cpp b/src/network/ssl/qsslcertificate.cpp
index fd647e27c7..a3ea555c65 100644
--- a/src/network/ssl/qsslcertificate.cpp
+++ b/src/network/ssl/qsslcertificate.cpp
@@ -259,13 +259,28 @@ QByteArray QSslCertificate::version() const
/*!
Returns the certificate's serial number string in decimal format.
+ In case the serial number cannot be converted to decimal format
+ (i.e. if it is bigger than 4294967295, which means it does not fit into 4 bytes),
+ its hexadecimal version is returned.
*/
QByteArray QSslCertificate::serialNumber() const
{
- if (d->serialNumberString.isEmpty() && d->x509)
- d->serialNumberString =
- QByteArray::number(qlonglong(q_ASN1_INTEGER_get(d->x509->cert_info->serialNumber)));
-
+ if (d->serialNumberString.isEmpty() && d->x509) {
+ ASN1_INTEGER *serialNumber = d->x509->cert_info->serialNumber;
+ // if we cannot convert to a long, just output the hexadecimal number
+ if (serialNumber->length > 4) {
+ QByteArray hexString;
+ hexString.reserve(serialNumber->length * 3);
+ for (int a = 0; a < serialNumber->length; ++a) {
+ hexString += QByteArray::number(serialNumber->data[a], 16).rightJustified(2, '0');
+ hexString += ':';
+ }
+ hexString.chop(1);
+ d->serialNumberString = hexString;
+ } else {
+ d->serialNumberString = QByteArray::number(qlonglong(q_ASN1_INTEGER_get(serialNumber)));
+ }
+ }
return d->serialNumberString;
}
@@ -533,8 +548,13 @@ QList<QSslCertificate> QSslCertificate::fromPath(const QString &path,
// chop off the first two characters from the glob'ed paths.
int startIndex = 0;
if (pathPrefix.trimmed().isEmpty()) {
- startIndex = 2;
- pathPrefix = QLatin1String(".");
+ if(path.startsWith(QLatin1Char('/'))) {
+ pathPrefix = path.left(path.indexOf(QRegExp(QLatin1String("[\\*\\?\\[]"))));
+ pathPrefix = path.left(path.lastIndexOf(QLatin1Char('/')));
+ } else {
+ startIndex = 2;
+ pathPrefix = QLatin1String(".");
+ }
}
// The path is a file.
diff --git a/src/network/ssl/qsslsocket.cpp b/src/network/ssl/qsslsocket.cpp
index 0918539378..a8c602ae0a 100644
--- a/src/network/ssl/qsslsocket.cpp
+++ b/src/network/ssl/qsslsocket.cpp
@@ -1329,8 +1329,8 @@ void QSslSocket::setDefaultCaCertificates(const QList<QSslCertificate> &certific
/*!
Returns the current default CA certificate database. This database
is originally set to your system's default CA certificate database.
- If no system default database is found, Qt will provide its own
- default database. You can override the default CA certificate database
+ If no system default database is found, an empty database will be
+ returned. You can override the default CA certificate database
with your own CA certificate database using setDefaultCaCertificates().
Each SSL socket's CA certificate database is initialized to the
@@ -1344,8 +1344,8 @@ QList<QSslCertificate> QSslSocket::defaultCaCertificates()
}
/*!
- This function provides a default CA certificate database
- shipped together with Qt. The CA certificate database
+ This function provides the CA certificate database
+ provided by the operating system. The CA certificate database
returned by this function is used to initialize the database
returned by defaultCaCertificates(). You can replace that database
with your own with setDefaultCaCertificates().
diff --git a/src/network/ssl/qsslsocket_openssl.cpp b/src/network/ssl/qsslsocket_openssl.cpp
index 050fb1b403..36a0cc79be 100644
--- a/src/network/ssl/qsslsocket_openssl.cpp
+++ b/src/network/ssl/qsslsocket_openssl.cpp
@@ -57,12 +57,18 @@
#include <QtCore/qthread.h>
#include <QtCore/qurl.h>
#include <QtCore/qvarlengtharray.h>
-
-static void initNetworkResources()
-{
- // Initialize resources
- Q_INIT_RESOURCE(network);
-}
+#include <QLibrary> // for loading the security lib for the CA store
+
+#if defined(Q_OS_MAC)
+#define kSecTrustSettingsDomainSystem 2 // so we do not need to include the header file
+ PtrSecCertificateGetData QSslSocketPrivate::ptrSecCertificateGetData = 0;
+ PtrSecTrustSettingsCopyCertificates QSslSocketPrivate::ptrSecTrustSettingsCopyCertificates = 0;
+ PtrSecTrustCopyAnchorCertificates QSslSocketPrivate::ptrSecTrustCopyAnchorCertificates = 0;
+#elif defined(Q_OS_WIN)
+ PtrCertOpenSystemStoreW QSslSocketPrivate::ptrCertOpenSystemStoreW = 0;
+ PtrCertFindCertificateInStore QSslSocketPrivate::ptrCertFindCertificateInStore = 0;
+ PtrCertCloseStore QSslSocketPrivate::ptrCertCloseStore = 0;
+#endif
QT_BEGIN_NAMESPACE
@@ -406,9 +412,6 @@ bool QSslSocketPrivate::ensureInitialized()
if (!q_initialized) {
q_initialized = true;
- // Initialize resources
- initNetworkResources();
-
// Initialize OpenSSL.
q_CRYPTO_set_id_callback(id_function);
q_CRYPTO_set_locking_callback(locking_function);
@@ -448,6 +451,36 @@ bool QSslSocketPrivate::ensureInitialized()
resetDefaultCiphers();
setDefaultCaCertificates(systemCaCertificates());
}
+
+ //load symbols needed to receive certificates from system store
+#if defined(Q_OS_MAC)
+ QLibrary securityLib("/System/Library/Frameworks/Security.framework/Versions/Current/Security");
+ if (securityLib.load()) {
+ ptrSecCertificateGetData = (PtrSecCertificateGetData) securityLib.resolve("SecCertificateGetData");
+ if (!ptrSecCertificateGetData)
+ qWarning("could not resolve symbols in security library"); // should never happen
+
+ ptrSecTrustSettingsCopyCertificates = (PtrSecTrustSettingsCopyCertificates) securityLib.resolve("SecTrustSettingsCopyCertificates");
+ if (!ptrSecTrustSettingsCopyCertificates) { // method was introduced in Leopard, use legacy method if it's not there
+ ptrSecTrustCopyAnchorCertificates = (PtrSecTrustCopyAnchorCertificates) securityLib.resolve("SecTrustCopyAnchorCertificates");
+ if (!ptrSecTrustCopyAnchorCertificates)
+ qWarning("could not resolve symbols in security library"); // should never happen
+ }
+ } else {
+ qWarning("could not load security library");
+ }
+#elif defined(Q_OS_WIN)
+ HINSTANCE hLib = LoadLibraryW(L"Crypt32");
+ if (hLib) {
+ ptrCertOpenSystemStoreW = (PtrCertOpenSystemStoreW)GetProcAddress(hLib, "CertOpenSystemStoreW");
+ ptrCertFindCertificateInStore = (PtrCertFindCertificateInStore)GetProcAddress(hLib, "CertFindCertificateInStore");
+ ptrCertCloseStore = (PtrCertCloseStore)GetProcAddress(hLib, "CertCloseStore");
+ if (!ptrCertOpenSystemStoreW || !ptrCertFindCertificateInStore || !ptrCertCloseStore)
+ qWarning("could not resolve symbols in crypt32 library"); // should never happen
+ } else {
+ qWarning("could not load crypt32 library"); // should never happen
+ }
+#endif
return true;
}
@@ -486,13 +519,74 @@ void QSslSocketPrivate::resetDefaultCiphers()
QList<QSslCertificate> QSslSocketPrivate::systemCaCertificates()
{
- // Qt provides a default bundle of certificates
- QFile caBundle(QLatin1String(":/trolltech/network/ssl/qt-ca-bundle.crt"));
- if (caBundle.open(QIODevice::ReadOnly | QIODevice::Text))
- return QSslCertificate::fromDevice(&caBundle);
-
- // Unreachable; return no bundle.
- return QList<QSslCertificate>();
+ ensureInitialized();
+ QList<QSslCertificate> systemCerts;
+#if defined(Q_OS_MAC)
+ CFArrayRef cfCerts;
+ OSStatus status = 1;
+
+ OSStatus SecCertificateGetData (
+ SecCertificateRef certificate,
+ CSSM_DATA_PTR data
+ );
+
+ if (ptrSecCertificateGetData) {
+ if (ptrSecTrustSettingsCopyCertificates)
+ status = ptrSecTrustSettingsCopyCertificates(kSecTrustSettingsDomainSystem, &cfCerts);
+ else if (ptrSecTrustCopyAnchorCertificates)
+ status = ptrSecTrustCopyAnchorCertificates(&cfCerts);
+ if (!status) {
+ CFIndex size = CFArrayGetCount(cfCerts);
+ for (CFIndex i = 0; i < size; ++i) {
+ SecCertificateRef cfCert = (SecCertificateRef)CFArrayGetValueAtIndex(cfCerts, i);
+ CSSM_DATA data;
+ CSSM_DATA_PTR dataPtr = &data;
+ if (ptrSecCertificateGetData(cfCert, dataPtr)) {
+ qWarning("error retrieving a CA certificate from the system store");
+ } else {
+ int len = data.Length;
+ char *rawData = reinterpret_cast<char *>(data.Data);
+ QByteArray rawCert(rawData, len);
+ systemCerts.append(QSslCertificate::fromData(rawCert, QSsl::Der));
+ }
+ }
+ }
+ else {
+ // no detailed error handling here
+ qWarning("could not retrieve system CA certificates");
+ }
+ }
+#elif defined(Q_OS_WIN)
+ if (ptrCertOpenSystemStoreW && ptrCertFindCertificateInStore && ptrCertCloseStore) {
+ HCERTSTORE hSystemStore;
+ hSystemStore = ptrCertOpenSystemStoreW(0, L"ROOT");
+ if(hSystemStore) {
+ PCCERT_CONTEXT pc = NULL;
+ while(1) {
+ pc = ptrCertFindCertificateInStore( hSystemStore, X509_ASN_ENCODING, 0, CERT_FIND_ANY, NULL, pc);
+ if(!pc)
+ break;
+ QByteArray der((const char *)(pc->pbCertEncoded), static_cast<int>(pc->cbCertEncoded));
+ QSslCertificate cert(der,QSsl::Der);
+ systemCerts.append(cert);
+ }
+ ptrCertCloseStore(hSystemStore, 0);
+ }
+ }
+#elif defined(Q_OS_AIX)
+ systemCerts.append(QSslCertificate::fromPath("/var/ssl/certs/*.pem", QSsl::Pem, QRegExp::Wildcard));
+#elif defined(Q_OS_SOLARIS)
+ systemCerts.append(QSslCertificate::fromPath("/usr/local/ssl/certs/*.pem", QSsl::Pem, QRegExp::Wildcard));
+#elif defined(Q_OS_HPUX)
+ systemCerts.append(QSslCertificate::fromPath("/opt/openssl/certs/*.pem", QSsl::Pem, QRegExp::Wildcard));
+#elif defined(Q_OS_LINUX)
+ systemCerts.append(QSslCertificate::fromPath("/etc/ssl/certs/*.pem", QSsl::Pem, QRegExp::Wildcard)); // (K)ubuntu, OpenSUSE, Mandriva, ...
+ systemCerts.append(QSslCertificate::fromPath("/etc/pki/tls/certs/ca-bundle.crt", QSsl::Pem)); // Fedora
+ systemCerts.append(QSslCertificate::fromPath("/usr/lib/ssl/certs/*.pem", QSsl::Pem, QRegExp::Wildcard)); // Gentoo, Mandrake
+ systemCerts.append(QSslCertificate::fromPath("/usr/share/ssl/*.pem", QSsl::Pem, QRegExp::Wildcard)); // Centos, Redhat, SuSE
+ systemCerts.append(QSslCertificate::fromPath("/usr/local/ssl/*.pem", QSsl::Pem, QRegExp::Wildcard)); // Normal OpenSSL Tarball
+#endif
+ return systemCerts;
}
void QSslSocketBackendPrivate::startClientEncryption()
diff --git a/src/network/ssl/qsslsocket_p.h b/src/network/ssl/qsslsocket_p.h
index 8e2266425c..42ae98f741 100644
--- a/src/network/ssl/qsslsocket_p.h
+++ b/src/network/ssl/qsslsocket_p.h
@@ -66,6 +66,24 @@
QT_BEGIN_NAMESPACE
+#if defined(Q_OS_MAC)
+#include <Security/SecCertificate.h>
+#include <CoreFoundation/CFArray.h>
+ typedef OSStatus (*PtrSecCertificateGetData)(SecCertificateRef, CSSM_DATA_PTR);
+ typedef OSStatus (*PtrSecTrustSettingsCopyCertificates)(int, CFArrayRef*);
+ typedef OSStatus (*PtrSecTrustCopyAnchorCertificates)(CFArrayRef*);
+#elif defined(Q_OS_WIN)
+#include <Wincrypt.h>
+#ifndef HCRYPTPROV_LEGACY
+#define HCRYPTPROV_LEGACY HCRYPTPROV
+#endif
+ typedef HCERTSTORE (WINAPI *PtrCertOpenSystemStoreW)(HCRYPTPROV_LEGACY, LPCWSTR);
+ typedef PCCERT_CONTEXT (WINAPI *PtrCertFindCertificateInStore)(HCERTSTORE, DWORD, DWORD, DWORD, const void*, PCCERT_CONTEXT);
+ typedef BOOL (WINAPI *PtrCertCloseStore)(HCERTSTORE, DWORD);
+#endif
+
+
+
class QSslSocketPrivate : public QTcpSocketPrivate
{
Q_DECLARE_PUBLIC(QSslSocket)
@@ -106,6 +124,16 @@ public:
static void addDefaultCaCertificate(const QSslCertificate &cert);
static void addDefaultCaCertificates(const QList<QSslCertificate> &certs);
+#if defined(Q_OS_MAC)
+ static PtrSecCertificateGetData ptrSecCertificateGetData;
+ static PtrSecTrustSettingsCopyCertificates ptrSecTrustSettingsCopyCertificates;
+ static PtrSecTrustCopyAnchorCertificates ptrSecTrustCopyAnchorCertificates;
+#elif defined(Q_OS_WIN)
+ static PtrCertOpenSystemStoreW ptrCertOpenSystemStoreW;
+ static PtrCertFindCertificateInStore ptrCertFindCertificateInStore;
+ static PtrCertCloseStore ptrCertCloseStore;
+#endif
+
// The socket itself, including private slots.
QTcpSocket *plainSocket;
void createPlainSocket(QIODevice::OpenMode openMode);
diff --git a/src/network/ssl/qt-ca-bundle.crt b/src/network/ssl/qt-ca-bundle.crt
deleted file mode 100644
index 7755ca0091..0000000000
--- a/src/network/ssl/qt-ca-bundle.crt
+++ /dev/null
@@ -1,1984 +0,0 @@
-##
-## ca-bundle.crt -- Bundle of CA Certificates
-##
-## This is a bundle of X.509 certificates of public
-## Certificate Authorities (CA).
-##
-
------BEGIN CERTIFICATE-----
-MIICfTCCAeagAwIBAgIEAgAAuDANBgkqhkiG9w0BAQUFADBhMQswCQYDVQQGEwJJ
-RTESMBAGA1UEChMJQmFsdGltb3JlMRMwEQYDVQQLEwpDeWJlclRydXN0MSkwJwYD
-VQQDEyBCYWx0aW1vcmUgQ3liZXJUcnVzdCBNb2JpbGUgUm9vdDAeFw0wMDA1MTIx
-ODIwMDBaFw0yMDA1MTIyMzU5MDBaMGExCzAJBgNVBAYTAklFMRIwEAYDVQQKEwlC
-YWx0aW1vcmUxEzARBgNVBAsTCkN5YmVyVHJ1c3QxKTAnBgNVBAMTIEJhbHRpbW9y
-ZSBDeWJlclRydXN0IE1vYmlsZSBSb290MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCB
-iQKBgQCjbbE4Vqz8tVYh3sCQXSZHgsZ9jx+ghY8vu9ThHB3yJB8osC+5pKVvoiIg
-ZP6ERzx+K2xparjUwJaOjFINzW9B1L8ErqeBLy2YSNLBlKO1GV1dUWT0jkGwm8At
-IqBexthaEmO8EUpeJhId4iYF5g9fIh96X3aUrs9aKA6rRdoiMQIDAQABo0IwQDAd
-BgNVHQ4EFgQUyeKPwAImWrbAB+N/lAcY2y6lmnAwDwYDVR0TAQH/BAUwAwEB/zAO
-BgNVHQ8BAf8EBAMCAYYwDQYJKoZIhvcNAQEFBQADgYEAUwgLJgl4QnPU7Hp3Rw3j
-CzNx764zFE37+v0at1H15JkcBnHXKRnX5hUgUVFGbU/eGEmY0Ph4u3HojQEG1ddk
-j5TfR/6ghWk2qS9CemhKEtaLC3BECqQE7yaIwTVxOF0bW0hC8OeUHHCVNKir9avi
-eK318FL9m+pCDOjYVL5TZvU=
------END CERTIFICATE-----
-
------BEGIN CERTIFICATE-----
-MIIDdzCCAl+gAwIBAgIEAgAAuTANBgkqhkiG9w0BAQUFADBaMQswCQYDVQQGEwJJ
-RTESMBAGA1UEChMJQmFsdGltb3JlMRMwEQYDVQQLEwpDeWJlclRydXN0MSIwIAYD
-VQQDExlCYWx0aW1vcmUgQ3liZXJUcnVzdCBSb290MB4XDTAwMDUxMjE4NDYwMFoX
-DTI1MDUxMjIzNTkwMFowWjELMAkGA1UEBhMCSUUxEjAQBgNVBAoTCUJhbHRpbW9y
-ZTETMBEGA1UECxMKQ3liZXJUcnVzdDEiMCAGA1UEAxMZQmFsdGltb3JlIEN5YmVy
-VHJ1c3QgUm9vdDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAKMEuyKr
-mD1X6CZymrV51Cni4eiVgLGw41uOKymaZN+hXe2wCQVt2yguzmKiYv60iNoS6zjr
-IZ3AQSsBUnuId9Mcj8e6uYi1agnnc+gRQKfRzMpijS3ljwumUNKoUMMo6vWrJYeK
-mpYcqWe4PwzV9/lSEy/CG9VwcPCPwBLKBsua4dnKM3p31vjsufFoREJIE9LAwqSu
-XmD+tqYF/LTdB1kC1FkYmGP1pWPgkAx9XbIGevOF6uvUA65ehD5f/xXtabz5OTZy
-dc93Uk3zyZAsuT3lySNTPx8kmCFcB5kpvcY67Oduhjprl3RjM71oGDHweI12v/ye
-jl0qhqdNkNwnGjkCAwEAAaNFMEMwHQYDVR0OBBYEFOWdWTCCR1jMrPoIVDaGezq1
-BE3wMBIGA1UdEwEB/wQIMAYBAf8CAQMwDgYDVR0PAQH/BAQDAgEGMA0GCSqGSIb3
-DQEBBQUAA4IBAQCFDF2O5G9RaEIFoN27TyclhAO992T9Ldcw46QQF+vaKSm2eT92
-9hkTI7gQCvlYpNRhcL0EYWoSihfVCr3FvDB81ukMJY2GQE/szKN+OMY3EU/t3Wgx
-jkzSswF07r51XgdIGn9w/xZchMB5hbgF/X++ZRGjD8ACtPhSNzkE1akxehi/oCr0
-Epn3o0WC4zxe9Z2etciefC7IpJ5OCBRLbf1wbWsaY71k5h+3zvDyny67G7fyUIhz
-ksLi4xaNmjICq44Y3ekQEe5+NauQrz4wlHrQMz2nZQ/1/I6eYs9HRCwBXbsdtTLS
-R9I4LtD+gdwyah617jzV/OeBHRnDJELqYzmp
------END CERTIFICATE-----
-
------BEGIN CERTIFICATE-----
-MIIDKTCCApKgAwIBAgIENnAVljANBgkqhkiG9w0BAQUFADBGMQswCQYDVQQGEwJV
-UzEkMCIGA1UEChMbRGlnaXRhbCBTaWduYXR1cmUgVHJ1c3QgQ28uMREwDwYDVQQL
-EwhEU1RDQSBFMTAeFw05ODEyMTAxODEwMjNaFw0xODEyMTAxODQwMjNaMEYxCzAJ
-BgNVBAYTAlVTMSQwIgYDVQQKExtEaWdpdGFsIFNpZ25hdHVyZSBUcnVzdCBDby4x
-ETAPBgNVBAsTCERTVENBIEUxMIGdMA0GCSqGSIb3DQEBAQUAA4GLADCBhwKBgQCg
-bIGpzzQeJN3+hijM3oMv+V7UQtLodGBmE5gGHKlREmlvMVW5SXIACH7TpWJENySZ
-j9mDSI+ZbZUTu0M7LklOiDfBu1h//uG9+LthzfNHwJmm8fOR6Hh8AMthyUQncWlV
-Sn5JTe2io74CTADKAqjuAQIxZA9SLRN0dja1erQtcQIBA6OCASQwggEgMBEGCWCG
-SAGG+EIBAQQEAwIABzBoBgNVHR8EYTBfMF2gW6BZpFcwVTELMAkGA1UEBhMCVVMx
-JDAiBgNVBAoTG0RpZ2l0YWwgU2lnbmF0dXJlIFRydXN0IENvLjERMA8GA1UECxMI
-RFNUQ0EgRTExDTALBgNVBAMTBENSTDEwKwYDVR0QBCQwIoAPMTk5ODEyMTAxODEw
-MjNagQ8yMDE4MTIxMDE4MTAyM1owCwYDVR0PBAQDAgEGMB8GA1UdIwQYMBaAFGp5
-fpFpRhgTCgJ3pVlbYJglDqL4MB0GA1UdDgQWBBRqeX6RaUYYEwoCd6VZW2CYJQ6i
-+DAMBgNVHRMEBTADAQH/MBkGCSqGSIb2fQdBAAQMMAobBFY0LjADAgSQMA0GCSqG
-SIb3DQEBBQUAA4GBACIS2Hod3IEGtgllsofIH160L+nEHvI8wbsEkBFKg05+k7lN
-QseSJqBcNJo4cvj9axY+IO6CizEqkzaFI4iKPANo08kJD038bKTaKHKTDomAsH3+
-gG9lbRgzl4vCa4nuYD3Im+9/KzJic5PLPON74nZ4RbyhkwS7hp86W0N6w4pl
------END CERTIFICATE-----
-
------BEGIN CERTIFICATE-----
-MIID2DCCAsACEQDQHkCLAAACfAAAAAIAAAABMA0GCSqGSIb3DQEBBQUAMIGpMQsw
-CQYDVQQGEwJ1czENMAsGA1UECBMEVXRhaDEXMBUGA1UEBxMOU2FsdCBMYWtlIENp
-dHkxJDAiBgNVBAoTG0RpZ2l0YWwgU2lnbmF0dXJlIFRydXN0IENvLjERMA8GA1UE
-CxMIRFNUQ0EgWDExFjAUBgNVBAMTDURTVCBSb290Q0EgWDExITAfBgkqhkiG9w0B
-CQEWEmNhQGRpZ3NpZ3RydXN0LmNvbTAeFw05ODEyMDExODE4NTVaFw0wODExMjgx
-ODE4NTVaMIGpMQswCQYDVQQGEwJ1czENMAsGA1UECBMEVXRhaDEXMBUGA1UEBxMO
-U2FsdCBMYWtlIENpdHkxJDAiBgNVBAoTG0RpZ2l0YWwgU2lnbmF0dXJlIFRydXN0
-IENvLjERMA8GA1UECxMIRFNUQ0EgWDExFjAUBgNVBAMTDURTVCBSb290Q0EgWDEx
-ITAfBgkqhkiG9w0BCQEWEmNhQGRpZ3NpZ3RydXN0LmNvbTCCASIwDQYJKoZIhvcN
-AQEBBQADggEPADCCAQoCggEBANLGJrbnpT3BxGjVUG9TxW9JEwm4ryxIjRRqoxdf
-WvnTLnUv2Chi0ZMv/E3Uq4flCMeZ55I/db3rJbQVwZsZPdJEjdd0IG03Ao9pk1uK
-xBmd9LIO/BZsubEFkoPRhSxglD5FVaDZqwgh5mDoO3TymVBRaNADLbGAvqPYUrBE
-zUNKcI5YhZXhTizWLUFv1oTnyJhEykfbLCSlaSbPa7gnYsP0yXqSI+0TZ4KuRS5F
-5X5yP4WdlGIQ5jyRoa13AOAV7POEgHJ6jm5gl8ckWRA0g1vhpaRptlc1HHhZxtMv
-OnNn7pTKBBMFYgZwI7P0fO5F2WQLW0mqpEPOJsREEmy43XkCAwEAATANBgkqhkiG
-9w0BAQUFAAOCAQEAojeyP2n714Z5VEkxlTMr89EJFEliYIalsBHiUMIdBlc+Legz
-ZL6bqq1fG03UmZWii5rJYnK1aerZWKs17RWiQ9a2vAd5ZWRzfdd5ynvVWlHG4VME
-lo04z6MXrDlxawHDi1M8Y+nuecDkvpIyZHqzH5eUYr3qsiAVlfuX8ngvYzZAOONG
-Dx3drJXK50uQe7FLqdTF65raqtWjlBRGjS0f8zrWkzr2Pnn86Oawde3uPclwx12q
-gUtGJRzHbBXjlU4PqjI3lAoXJJIThFjSY28r9+ZbYgsTF7ANUkz+/m9c4pFuHf2k
-Ytdo+o56T9II2pPc8JIRetDccpMMc5NihWjQ9A==
------END CERTIFICATE-----
-
------BEGIN CERTIFICATE-----
-MIIDKTCCApKgAwIBAgIENm7TzjANBgkqhkiG9w0BAQUFADBGMQswCQYDVQQGEwJV
-UzEkMCIGA1UEChMbRGlnaXRhbCBTaWduYXR1cmUgVHJ1c3QgQ28uMREwDwYDVQQL
-EwhEU1RDQSBFMjAeFw05ODEyMDkxOTE3MjZaFw0xODEyMDkxOTQ3MjZaMEYxCzAJ
-BgNVBAYTAlVTMSQwIgYDVQQKExtEaWdpdGFsIFNpZ25hdHVyZSBUcnVzdCBDby4x
-ETAPBgNVBAsTCERTVENBIEUyMIGdMA0GCSqGSIb3DQEBAQUAA4GLADCBhwKBgQC/
-k48Xku8zExjrEH9OFr//Bo8qhbxe+SSmJIi2A7fBw18DW9Fvrn5C6mYjuGODVvso
-LeE4i7TuqAHhzhy2iCoiRoX7n6dwqUcUP87eZfCocfdPJmyMvMa1795JJ/9IKn3o
-TQPMx7JSxhcxEzu1TdvIxPbDDyQq2gyd55FbgM2UnQIBA6OCASQwggEgMBEGCWCG
-SAGG+EIBAQQEAwIABzBoBgNVHR8EYTBfMF2gW6BZpFcwVTELMAkGA1UEBhMCVVMx
-JDAiBgNVBAoTG0RpZ2l0YWwgU2lnbmF0dXJlIFRydXN0IENvLjERMA8GA1UECxMI
-RFNUQ0EgRTIxDTALBgNVBAMTBENSTDEwKwYDVR0QBCQwIoAPMTk5ODEyMDkxOTE3
-MjZagQ8yMDE4MTIwOTE5MTcyNlowCwYDVR0PBAQDAgEGMB8GA1UdIwQYMBaAFB6C
-TShlgDzJQW6sNS5ay97u+DlbMB0GA1UdDgQWBBQegk0oZYA8yUFurDUuWsve7vg5
-WzAMBgNVHRMEBTADAQH/MBkGCSqGSIb2fQdBAAQMMAobBFY0LjADAgSQMA0GCSqG
-SIb3DQEBBQUAA4GBAEeNg61i8tuwnkUiBbmi1gMOOHLnnvx75pO2mqWilMg0HZHR
-xdf0CiUPPXiBng+xZ8SQTGPdXqfiup/1902lMXucKS1M/mQ+7LZT/uqb7YLbdHVL
-B3luHtgZg3Pe9T7Qtd7nS2h9Qy4qIOF+oHhEngj1mPnHfxsb1gYgAlihw6ID
------END CERTIFICATE-----
-
------BEGIN CERTIFICATE-----
-MIID2DCCAsACEQDQHkCLAAB3bQAAAAEAAAAEMA0GCSqGSIb3DQEBBQUAMIGpMQsw
-CQYDVQQGEwJ1czENMAsGA1UECBMEVXRhaDEXMBUGA1UEBxMOU2FsdCBMYWtlIENp
-dHkxJDAiBgNVBAoTG0RpZ2l0YWwgU2lnbmF0dXJlIFRydXN0IENvLjERMA8GA1UE
-CxMIRFNUQ0EgWDIxFjAUBgNVBAMTDURTVCBSb290Q0EgWDIxITAfBgkqhkiG9w0B
-CQEWEmNhQGRpZ3NpZ3RydXN0LmNvbTAeFw05ODExMzAyMjQ2MTZaFw0wODExMjcy
-MjQ2MTZaMIGpMQswCQYDVQQGEwJ1czENMAsGA1UECBMEVXRhaDEXMBUGA1UEBxMO
-U2FsdCBMYWtlIENpdHkxJDAiBgNVBAoTG0RpZ2l0YWwgU2lnbmF0dXJlIFRydXN0
-IENvLjERMA8GA1UECxMIRFNUQ0EgWDIxFjAUBgNVBAMTDURTVCBSb290Q0EgWDIx
-ITAfBgkqhkiG9w0BCQEWEmNhQGRpZ3NpZ3RydXN0LmNvbTCCASIwDQYJKoZIhvcN
-AQEBBQADggEPADCCAQoCggEBANx18IzAdZaawGIfJvfE4Zrq4FZzW5nNAUSoCLbV
-p9oaBBg5kkp4o4HC9Xd6ULRw/5qrxsfKboNPQpj7Jgva3G3WqZlVUmfpKAOS3OWw
-BZoPFflrWXJW8vo5/Kpo7g8fEIMv/J36F5bdguPmRX3AS4BEH+0s4IT9kVySVGkl
-5WJp3OXuAFK9MwutdQKFp2RQLcUZGTDAJtvJ0/0uma1ZtQtN1EGuhUhDWdy3qOKi
-3sOP17ihYqZoUFLkzzGnlIXan0YyF1bl8utmPRL/Q9uY73fPy4GNNLHGUEom0eQ+
-QVCvbK4iNC7Va26Dunm4dmVI2gkpZGMiuftHdoWMhkTLCdsCAwEAATANBgkqhkiG
-9w0BAQUFAAOCAQEAtTYOXeFhKFoRZcA/gwN5Tb4opgsHAlKFzfiR0BBstWogWxyQ
-2TA8xkieil5k+aFxd+8EJx8H6+Qm93N0yUQYGmbT4EOvkTvRyyzYdFQ6HE3K1GjN
-I3wdEJ5F6fYAbqbNGf9PLCmPV03Ed5K+4EwJ+11EhmYhqLkyolbV6YyDfFk/xPEL
-553snr2cGA4+wjl5KLcDDQjLxufZATdQEOzMYRZA1K8xdHv8PzGn0EdzMzkbzE5q
-10mDEQb+64JYMzJM8FasHpwvVpp7wUocpf1VNs78lk30sPDst2yC7S8xmUJMqbIN
-uBVd8d+6ybVK1GSYsyapMMj9puyrliGtf8J4tg==
------END CERTIFICATE-----
-
------BEGIN CERTIFICATE-----
-MIIE7TCCBFagAwIBAgIEOAOR7jANBgkqhkiG9w0BAQQFADCByTELMAkGA1UEBhMC
-VVMxFDASBgNVBAoTC0VudHJ1c3QubmV0MUgwRgYDVQQLFD93d3cuZW50cnVzdC5u
-ZXQvQ2xpZW50X0NBX0luZm8vQ1BTIGluY29ycC4gYnkgcmVmLiBsaW1pdHMgbGlh
-Yi4xJTAjBgNVBAsTHChjKSAxOTk5IEVudHJ1c3QubmV0IExpbWl0ZWQxMzAxBgNV
-BAMTKkVudHJ1c3QubmV0IENsaWVudCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTAe
-Fw05OTEwMTIxOTI0MzBaFw0xOTEwMTIxOTU0MzBaMIHJMQswCQYDVQQGEwJVUzEU
-MBIGA1UEChMLRW50cnVzdC5uZXQxSDBGBgNVBAsUP3d3dy5lbnRydXN0Lm5ldC9D
-bGllbnRfQ0FfSW5mby9DUFMgaW5jb3JwLiBieSByZWYuIGxpbWl0cyBsaWFiLjEl
-MCMGA1UECxMcKGMpIDE5OTkgRW50cnVzdC5uZXQgTGltaXRlZDEzMDEGA1UEAxMq
-RW50cnVzdC5uZXQgQ2xpZW50IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MIGdMA0G
-CSqGSIb3DQEBAQUAA4GLADCBhwKBgQDIOpleMRffrCdvkHvkGf9FozTC28GoT/Bo
-6oT9n3V5z8GKUZSvx1cDR2SerYIbWtp/N3hHuzeYEpbOxhN979IMMFGpOZ5V+Pux
-5zDeg7K6PvHViTs7hbqqdCz+PzFur5GVbgbUB01LLFZHGARS2g4Qk79jkJvh34zm
-AqTmT173iwIBA6OCAeAwggHcMBEGCWCGSAGG+EIBAQQEAwIABzCCASIGA1UdHwSC
-ARkwggEVMIHkoIHhoIHepIHbMIHYMQswCQYDVQQGEwJVUzEUMBIGA1UEChMLRW50
-cnVzdC5uZXQxSDBGBgNVBAsUP3d3dy5lbnRydXN0Lm5ldC9DbGllbnRfQ0FfSW5m
-by9DUFMgaW5jb3JwLiBieSByZWYuIGxpbWl0cyBsaWFiLjElMCMGA1UECxMcKGMp
-IDE5OTkgRW50cnVzdC5uZXQgTGltaXRlZDEzMDEGA1UEAxMqRW50cnVzdC5uZXQg
-Q2xpZW50IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MQ0wCwYDVQQDEwRDUkwxMCyg
-KqAohiZodHRwOi8vd3d3LmVudHJ1c3QubmV0L0NSTC9DbGllbnQxLmNybDArBgNV
-HRAEJDAigA8xOTk5MTAxMjE5MjQzMFqBDzIwMTkxMDEyMTkyNDMwWjALBgNVHQ8E
-BAMCAQYwHwYDVR0jBBgwFoAUxPucKXuXzUyW/O5bs8qZdIuV6kwwHQYDVR0OBBYE
-FMT7nCl7l81MlvzuW7PKmXSLlepMMAwGA1UdEwQFMAMBAf8wGQYJKoZIhvZ9B0EA
-BAwwChsEVjQuMAMCBJAwDQYJKoZIhvcNAQEEBQADgYEAP66K8ddmAwWePvrqHEa7
-pFuPeJoSSJn59DXeDDYHAmsQOokUgZwxpnyyQbJq5wcBoUv5nyU7lsqZwz6hURzz
-wy5E97BnRqqS5TvaHBkUODDV4qIxJS7x7EU47fgGWANzYrAQMY9Av2TgXD7FTx/a
-EkP/TOYGJqibGapEPHayXOw=
------END CERTIFICATE-----
-
------BEGIN CERTIFICATE-----
-MIIE2DCCBEGgAwIBAgIEN0rSQzANBgkqhkiG9w0BAQUFADCBwzELMAkGA1UEBhMC
-VVMxFDASBgNVBAoTC0VudHJ1c3QubmV0MTswOQYDVQQLEzJ3d3cuZW50cnVzdC5u
-ZXQvQ1BTIGluY29ycC4gYnkgcmVmLiAobGltaXRzIGxpYWIuKTElMCMGA1UECxMc
-KGMpIDE5OTkgRW50cnVzdC5uZXQgTGltaXRlZDE6MDgGA1UEAxMxRW50cnVzdC5u
-ZXQgU2VjdXJlIFNlcnZlciBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTAeFw05OTA1
-MjUxNjA5NDBaFw0xOTA1MjUxNjM5NDBaMIHDMQswCQYDVQQGEwJVUzEUMBIGA1UE
-ChMLRW50cnVzdC5uZXQxOzA5BgNVBAsTMnd3dy5lbnRydXN0Lm5ldC9DUFMgaW5j
-b3JwLiBieSByZWYuIChsaW1pdHMgbGlhYi4pMSUwIwYDVQQLExwoYykgMTk5OSBF
-bnRydXN0Lm5ldCBMaW1pdGVkMTowOAYDVQQDEzFFbnRydXN0Lm5ldCBTZWN1cmUg
-U2VydmVyIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MIGdMA0GCSqGSIb3DQEBAQUA
-A4GLADCBhwKBgQDNKIM0VBuJ8w+vN5Ex/68xYMmo6LIQaO2f55M28Qpku0f1BBc/
-I0dNxScZgSYMVHINiC3ZH5oSn7yzcdOAGT9HZnuMNSjSuQrfJNqc1lB5gXpa0zf3
-wkrYKZImZNHkmGw6AIr1NJtl+O3jEP/9uElY3KDegjlrgbEWGWG5VLbmQwIBA6OC
-AdcwggHTMBEGCWCGSAGG+EIBAQQEAwIABzCCARkGA1UdHwSCARAwggEMMIHeoIHb
-oIHYpIHVMIHSMQswCQYDVQQGEwJVUzEUMBIGA1UEChMLRW50cnVzdC5uZXQxOzA5
-BgNVBAsTMnd3dy5lbnRydXN0Lm5ldC9DUFMgaW5jb3JwLiBieSByZWYuIChsaW1p
-dHMgbGlhYi4pMSUwIwYDVQQLExwoYykgMTk5OSBFbnRydXN0Lm5ldCBMaW1pdGVk
-MTowOAYDVQQDEzFFbnRydXN0Lm5ldCBTZWN1cmUgU2VydmVyIENlcnRpZmljYXRp
-b24gQXV0aG9yaXR5MQ0wCwYDVQQDEwRDUkwxMCmgJ6AlhiNodHRwOi8vd3d3LmVu
-dHJ1c3QubmV0L0NSTC9uZXQxLmNybDArBgNVHRAEJDAigA8xOTk5MDUyNTE2MDk0
-MFqBDzIwMTkwNTI1MTYwOTQwWjALBgNVHQ8EBAMCAQYwHwYDVR0jBBgwFoAU8Bdi
-E1U9s/8KAGv7UISX8+1i0BowHQYDVR0OBBYEFPAXYhNVPbP/CgBr+1CEl/PtYtAa
-MAwGA1UdEwQFMAMBAf8wGQYJKoZIhvZ9B0EABAwwChsEVjQuMAMCBJAwDQYJKoZI
-hvcNAQEFBQADgYEAkNwwAvpkdMKnCqV8IY00F6j7Rw7/JXyNEwr75Ji174z4xRAN
-95K+8cPV1ZVqBLssziY2ZcgxxufuP+NXdYR6Ee9GTxj005i7qIcyunL2POI9n9cd
-2cNgQ4xYDiKWL2KjLB+6rQXvqzJ4h6BUcxm1XAX5Uj5tLUUL9wqT6u0G+bI=
------END CERTIFICATE-----
-
------BEGIN CERTIFICATE-----
-MIIDIzCCAoygAwIBAgIENeHvHjANBgkqhkiG9w0BAQUFADBPMQswCQYDVQQGEwJV
-UzEQMA4GA1UEChMHRXF1aWZheDEuMCwGA1UECxMlRXF1aWZheCBQcmVtaXVtIENl
-cnRpZmljYXRlIEF1dGhvcml0eTAeFw05ODA4MjQyMjU0MjNaFw0xODA4MjQyMjU0
-MjNaME8xCzAJBgNVBAYTAlVTMRAwDgYDVQQKEwdFcXVpZmF4MS4wLAYDVQQLEyVF
-cXVpZmF4IFByZW1pdW0gQ2VydGlmaWNhdGUgQXV0aG9yaXR5MIGfMA0GCSqGSIb3
-DQEBAQUAA4GNADCBiQKBgQDOoQaOBswIC8GGqN4g1Q0O0Q3En+pq2bPCMkdAb4qI
-pAm9OCwd5svmpPM269rrvPxkswf2Lbyqzp8ZSGhK/PWiRX4JEPWPs0lcIwY56hOL
-uAvNkR12X9k3oUT7X5DyZ7PNGJlDH3YSawLylYM4Q8L2YjTKyXhdX9LYupr/vhBg
-WwIDAQABo4IBCjCCAQYwcQYDVR0fBGowaDBmoGSgYqRgMF4xCzAJBgNVBAYTAlVT
-MRAwDgYDVQQKEwdFcXVpZmF4MS4wLAYDVQQLEyVFcXVpZmF4IFByZW1pdW0gQ2Vy
-dGlmaWNhdGUgQXV0aG9yaXR5MQ0wCwYDVQQDEwRDUkwxMBoGA1UdEAQTMBGBDzIw
-MTgwODI0MjI1NDIzWjALBgNVHQ8EBAMCAQYwHwYDVR0jBBgwFoAUFe6yKFmrbuX4
-z4uB9CThrj91G5gwHQYDVR0OBBYEFBXusihZq27l+M+LgfQk4a4/dRuYMAwGA1Ud
-EwQFMAMBAf8wGgYJKoZIhvZ9B0EABA0wCxsFVjMuMGMDAgbAMA0GCSqGSIb3DQEB
-BQUAA4GBAL0LnCepA9so3JipS9DRjqeoGlqR4Jzx9xh8LiKeNh/JqLXNRkpu+jUH
-G4YI65/iqPmdQS06rlxctl80BOv8KmCw+3TkhellOJbuFcfGd2MSvYpoH6tsfdrK
-XBPO6snrCVzFc+cSAdXZUwee4A+W8Iu0u0VIn4bFGVWgy5bFA/xI
------END CERTIFICATE-----
-
------BEGIN CERTIFICATE-----
-MIIDIDCCAomgAwIBAgIENd70zzANBgkqhkiG9w0BAQUFADBOMQswCQYDVQQGEwJV
-UzEQMA4GA1UEChMHRXF1aWZheDEtMCsGA1UECxMkRXF1aWZheCBTZWN1cmUgQ2Vy
-dGlmaWNhdGUgQXV0aG9yaXR5MB4XDTk4MDgyMjE2NDE1MVoXDTE4MDgyMjE2NDE1
-MVowTjELMAkGA1UEBhMCVVMxEDAOBgNVBAoTB0VxdWlmYXgxLTArBgNVBAsTJEVx
-dWlmYXggU2VjdXJlIENlcnRpZmljYXRlIEF1dGhvcml0eTCBnzANBgkqhkiG9w0B
-AQEFAAOBjQAwgYkCgYEAwV2xWGcIYu6gmi0fCG2RFGiYCh7+2gRvE4RiIcPRfM6f
-BeC4AfBONOziipUEZKzxa1NfBbPLZ4C/QgKO/t0BCezhABRP/PvwDN1Dulsr4R+A
-cJkVV5MW8Q+XarfCaCMczE1ZMKxRHjuvK9buY0V7xdlfUNLjUA86iOe/FP3gx7kC
-AwEAAaOCAQkwggEFMHAGA1UdHwRpMGcwZaBjoGGkXzBdMQswCQYDVQQGEwJVUzEQ
-MA4GA1UEChMHRXF1aWZheDEtMCsGA1UECxMkRXF1aWZheCBTZWN1cmUgQ2VydGlm
-aWNhdGUgQXV0aG9yaXR5MQ0wCwYDVQQDEwRDUkwxMBoGA1UdEAQTMBGBDzIwMTgw
-ODIyMTY0MTUxWjALBgNVHQ8EBAMCAQYwHwYDVR0jBBgwFoAUSOZo+SvSspXXR9gj
-IBBPM5iQn9QwHQYDVR0OBBYEFEjmaPkr0rKV10fYIyAQTzOYkJ/UMAwGA1UdEwQF
-MAMBAf8wGgYJKoZIhvZ9B0EABA0wCxsFVjMuMGMDAgbAMA0GCSqGSIb3DQEBBQUA
-A4GBAFjOKer89961zgK5F7WF0bnj4JXMJTENAKaSbn+2kmOeUJXRmm/kEd5jhW6Y
-7qj/WsjTVbJmcVfewCHrPSqnI0kBBIZCe/zuf6IWUrVnZ9NA2zsmWLIodz2uFHdh
-1voqZiegDfqnc1zqcPGUIWVEX/r87yloqaKHee9570+sB3c4
------END CERTIFICATE-----
-
------BEGIN CERTIFICATE-----
-MIICkDCCAfmgAwIBAgIBATANBgkqhkiG9w0BAQQFADBaMQswCQYDVQQGEwJVUzEc
-MBoGA1UEChMTRXF1aWZheCBTZWN1cmUgSW5jLjEtMCsGA1UEAxMkRXF1aWZheCBT
-ZWN1cmUgR2xvYmFsIGVCdXNpbmVzcyBDQS0xMB4XDTk5MDYyMTA0MDAwMFoXDTIw
-MDYyMTA0MDAwMFowWjELMAkGA1UEBhMCVVMxHDAaBgNVBAoTE0VxdWlmYXggU2Vj
-dXJlIEluYy4xLTArBgNVBAMTJEVxdWlmYXggU2VjdXJlIEdsb2JhbCBlQnVzaW5l
-c3MgQ0EtMTCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAuucXkAJlsTRVPEnC
-UdXfp9E3j9HngXNBUmCbnaEXJnitx7HoJpQytd4zjTov2/KaelpzmKNc6fuKcxtc
-58O/gGzNqfTWK8D3+ZmqY6KxRwIP1ORROhI8bIpaVIRw28HFkM9yRcuoWcDNM50/
-o5brhTMhHD4ePmBudpxnhcXIw2ECAwEAAaNmMGQwEQYJYIZIAYb4QgEBBAQDAgAH
-MA8GA1UdEwEB/wQFMAMBAf8wHwYDVR0jBBgwFoAUvqigdHJQa0S3ySPY+6j/s1dr
-aGwwHQYDVR0OBBYEFL6ooHRyUGtEt8kj2Puo/7NXa2hsMA0GCSqGSIb3DQEBBAUA
-A4GBADDiAVGqx+pf2rnQZQ8w1j7aDRRJbpGTJxQx78T3LUX47Me/okENI7SS+RkA
-Z70Br83gcfxaz2TE4JaY0KNA4gGK7ycH8WUBikQtBmV1UsCGECAhX2xrD2yuCRyv
-8qIYNMR1pHMc8Y3c7635s3a0kr/clRAevsvIO1qEYBlWlKlV
------END CERTIFICATE-----
-
------BEGIN CERTIFICATE-----
-MIICgjCCAeugAwIBAgIBBDANBgkqhkiG9w0BAQQFADBTMQswCQYDVQQGEwJVUzEc
-MBoGA1UEChMTRXF1aWZheCBTZWN1cmUgSW5jLjEmMCQGA1UEAxMdRXF1aWZheCBT
-ZWN1cmUgZUJ1c2luZXNzIENBLTEwHhcNOTkwNjIxMDQwMDAwWhcNMjAwNjIxMDQw
-MDAwWjBTMQswCQYDVQQGEwJVUzEcMBoGA1UEChMTRXF1aWZheCBTZWN1cmUgSW5j
-LjEmMCQGA1UEAxMdRXF1aWZheCBTZWN1cmUgZUJ1c2luZXNzIENBLTEwgZ8wDQYJ
-KoZIhvcNAQEBBQADgY0AMIGJAoGBAM4vGbwXt3fek6lfWg0XTzQaDJj0ItlZ1MRo
-RvC0NcWFAyDGr0WlIVFFQesWWDYyb+JQYmT5/VGcqiTZ9J2DKocKIdMSODRsjQBu
-WqDZQu4aIZX5UkxVWsUPOE9G+m34LjXWHXzr4vCwdYDIqROsvojvOm6rXyo4YgKw
-Env+j6YDAgMBAAGjZjBkMBEGCWCGSAGG+EIBAQQEAwIABzAPBgNVHRMBAf8EBTAD
-AQH/MB8GA1UdIwQYMBaAFEp4MlIR21kWNl7fwRQ2QGpHfEyhMB0GA1UdDgQWBBRK
-eDJSEdtZFjZe38EUNkBqR3xMoTANBgkqhkiG9w0BAQQFAAOBgQB1W6ibAxHm6VZM
-zfmpTMANmvPMZWnmJXbMWbfWVMMdzZmsGd20hdXgPfxiIKeES1hl8eL5lSE/9dR+
-WB5Hh1Q+WKG1tfgq73HnvMP2sUlG4tega+VWeponmHxGYhTnyfxuAxJ5gDgdSIKN
-/Bf+KpYrtWKmpj29f5JZzVoqgrI3eQ==
------END CERTIFICATE-----
-
------BEGIN CERTIFICATE-----
-MIIDIDCCAomgAwIBAgIEN3DPtTANBgkqhkiG9w0BAQUFADBOMQswCQYDVQQGEwJV
-UzEXMBUGA1UEChMORXF1aWZheCBTZWN1cmUxJjAkBgNVBAsTHUVxdWlmYXggU2Vj
-dXJlIGVCdXNpbmVzcyBDQS0yMB4XDTk5MDYyMzEyMTQ0NVoXDTE5MDYyMzEyMTQ0
-NVowTjELMAkGA1UEBhMCVVMxFzAVBgNVBAoTDkVxdWlmYXggU2VjdXJlMSYwJAYD
-VQQLEx1FcXVpZmF4IFNlY3VyZSBlQnVzaW5lc3MgQ0EtMjCBnzANBgkqhkiG9w0B
-AQEFAAOBjQAwgYkCgYEA5Dk5kx5SBhsoNviyoynF7Y6yEb3+6+e0dMKP/wXn2Z0G
-vxLIPw7y1tEkshHe0XMJitSxLJgJDR5QRrKDpkWNYmi7hRsgcDKqQM2mll/EcTc/
-BPO3QSQ5BxoeLmFYoBIL5aXfxavqN3HMHMg3OrmXUqesxWoklE6ce8/AatbfIb0C
-AwEAAaOCAQkwggEFMHAGA1UdHwRpMGcwZaBjoGGkXzBdMQswCQYDVQQGEwJVUzEX
-MBUGA1UEChMORXF1aWZheCBTZWN1cmUxJjAkBgNVBAsTHUVxdWlmYXggU2VjdXJl
-IGVCdXNpbmVzcyBDQS0yMQ0wCwYDVQQDEwRDUkwxMBoGA1UdEAQTMBGBDzIwMTkw
-NjIzMTIxNDQ1WjALBgNVHQ8EBAMCAQYwHwYDVR0jBBgwFoAUUJ4L6q9euSBIplBq
-y/3YIHqngnYwHQYDVR0OBBYEFFCeC+qvXrkgSKZQasv92CB6p4J2MAwGA1UdEwQF
-MAMBAf8wGgYJKoZIhvZ9B0EABA0wCxsFVjMuMGMDAgbAMA0GCSqGSIb3DQEBBQUA
-A4GBAAyGgq3oThr1jokn4jVYPSm0B482UJW/bsGe68SQsoWou7dC4A8HOd/7npCy
-0cE+U58DRLB+S/Rv5Hwf5+Kx5Lia78O9zt4LMjTZ3ijtM2vE1Nc9ElirfQkty3D1
-E4qUoSek1nDFbZS1yX2doNLGCEnZZpum0/QL3MUmV+GRMOrN
------END CERTIFICATE-----
-
------BEGIN CERTIFICATE-----
-MIICWjCCAcMCAgGlMA0GCSqGSIb3DQEBBAUAMHUxCzAJBgNVBAYTAlVTMRgwFgYD
-VQQKEw9HVEUgQ29ycG9yYXRpb24xJzAlBgNVBAsTHkdURSBDeWJlclRydXN0IFNv
-bHV0aW9ucywgSW5jLjEjMCEGA1UEAxMaR1RFIEN5YmVyVHJ1c3QgR2xvYmFsIFJv
-b3QwHhcNOTgwODEzMDAyOTAwWhcNMTgwODEzMjM1OTAwWjB1MQswCQYDVQQGEwJV
-UzEYMBYGA1UEChMPR1RFIENvcnBvcmF0aW9uMScwJQYDVQQLEx5HVEUgQ3liZXJU
-cnVzdCBTb2x1dGlvbnMsIEluYy4xIzAhBgNVBAMTGkdURSBDeWJlclRydXN0IEds
-b2JhbCBSb290MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCVD6C28FCc6HrH
-iM3dFw4usJTQGz0O9pTAipTHBsiQl8i4ZBp6fmw8U+E3KHNgf7KXUwefU/ltWJTS
-r41tiGeA5u2ylc9yMcqlHHK6XALnZELn+aks1joNrI1CqiQBOeacPwGFVw1Yh0X4
-04Wqk2kmhXBIgD8SFcd5tB8FLztimQIDAQABMA0GCSqGSIb3DQEBBAUAA4GBAG3r
-GwnpXtlR22ciYaQqPEh346B8pt5zohQDhT37qw4wxYMWM4ETCJ57NE7fQMh017l9
-3PR2VX2bY1QY6fDq81yx2YtCHrnAlU66+tXifPVoYb+O7AWXX1uw16OFNMQkpw0P
-lZPvy5TYnh+dXIVtx6quTx8itc2VrbqnzPmrC3p/
------END CERTIFICATE-----
-
------BEGIN CERTIFICATE-----
-MIIDtjCCAp6gAwIBAgICAbYwDQYJKoZIhvcNAQEFBQAwcDELMAkGA1UEBhMCVVMx
-GDAWBgNVBAoTD0dURSBDb3Jwb3JhdGlvbjEnMCUGA1UECxMeR1RFIEN5YmVyVHJ1
-c3QgU29sdXRpb25zLCBJbmMuMR4wHAYDVQQDExVHVEUgQ3liZXJUcnVzdCBSb290
-IDUwHhcNOTgwODE0MTQ1MDAwWhcNMTMwODE0MjM1OTAwWjBwMQswCQYDVQQGEwJV
-UzEYMBYGA1UEChMPR1RFIENvcnBvcmF0aW9uMScwJQYDVQQLEx5HVEUgQ3liZXJU
-cnVzdCBTb2x1dGlvbnMsIEluYy4xHjAcBgNVBAMTFUdURSBDeWJlclRydXN0IFJv
-b3QgNTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALwSbj+KfHqXAewe
-uzlaAvR4RKJIG457SVJ6uHtHs6+Um2+7lvoramVcuByUc76/iQoigO5X/IwFu3Cf
-lzkE2qOHXKjlyq/AM5rVN1xLrOSA0KYjYPv9ci6UncfOwgQy73hgXe2thw9FZR48
-mgqavl0dmezn8tHGehfZrZtUln/EfGC/haoVNR1A2hG87FQhKC0joajwzy3N3fx+
-D17hZQdWywe00lboXjHMGGPEhtIthc+Tkqtt/mg5+95zvYb45EZ66p8My/QZ/mO8
-0Sx7iDM29uThnAxTgWAc2i6rlqkWiBNQmbK9Vd8VMH7o5Zj7cH5stQf8/Ea30O03
-ln4y/iECAwEAAaNaMFgwEgYDVR0TAQH/BAgwBgEB/wIBBTAOBgNVHQ8BAf8EBAMC
-AQYwFwYDVR0gBBAwDjAMBgoqhkiG+GMBAgEDMBkGA1UdDgQSBBB2CkkhOEyf3vjE
-ScdxcZGdMA0GCSqGSIb3DQEBBQUAA4IBAQBBOtQYW9q43iEc4Y4J5fFoNP/elvQH
-9ac886xKsZv6kvqb7eYyIapKdsXcTzjl39WG5NXIdn2Y17HNj021kSNsi4rr6nzv
-FJTExvAfSi0ycWMrY5EmAgm2gB3t4sy4f9uHY8jh0GwmsTUdQGYQG82VVBgzYewT
-T9oT95mvPtDPjqZyorPDBZrJJ32SzH5SjbOrcG2eiZ9N6xp1wpiq1QIW1wyKvyXk
-6y28mOlYOBl8uTf+2+KZCHMGx5eDan0QAS8yuRcFSmXmL86+XlOmgumaUwqEdC2D
-ysiUFnZflGEo8IWnObvXi9moshMdVAk0JH0ggX1mfqKQdFwQxr3sqxvC
------END CERTIFICATE-----
-
------BEGIN CERTIFICATE-----
-MIIDnjCCAoagAwIBAgILAgAAAAAA1ni50a8wDQYJKoZIhvcNAQEEBQAwVzELMAkG
-A1UEBhMCQkUxGTAXBgNVBAoTEEdsb2JhbFNpZ24gbnYtc2ExEDAOBgNVBAsTB1Jv
-b3QgQ0ExGzAZBgNVBAMTEkdsb2JhbFNpZ24gUm9vdCBDQTAeFw05OTAxMjgxMjAw
-MDBaFw0wOTAxMjgxMjAwMDBaMF8xCzAJBgNVBAYTAkJFMRkwFwYDVQQKExBHbG9i
-YWxTaWduIG52LXNhMRQwEgYDVQQLEwtQYXJ0bmVycyBDQTEfMB0GA1UEAxMWR2xv
-YmFsU2lnbiBQYXJ0bmVycyBDQTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoC
-ggEBANIs+DKsShJ6N8gpkaWujG4eDsA0M4jlM3EWHHiEaMMYNFAuFj6xlIJPsZqf
-APjGETXGaXuYAq0ABohs50wzKACIJ0Yfh7NxdWO8MruI3mYYDlAGk7T2vBQ3MD0i
-3z3/dX7ZChrFn7P80KyzCHqJ0wHoAFznSgs9TXsmordiBovaRt2TFz8/WwJLC7aI
-IBGSAK27xy7U40Wu9YlafI2krYVkMsAnjMbyioCShiRWWY10aKKDQrOePVBBhm8g
-bvb9ztMZ4zLMj+2aXm0fKPVSrG4YXvg90ZLlumwBiEsK8i3eZTMFQqBMqjF2vv2/
-gXj5cRxGXi0VlS0wWY5MQdFiqz0CAwEAAaNjMGEwDgYDVR0PAQH/BAQDAgAGMB0G
-A1UdDgQWBBRDJI1wFQhiVZxPDEAXXYZeD6JM+zAfBgNVHSMEGDAWgBRge2YaRQ2X
-yolQL30EzTSo//z9SzAPBgNVHRMBAf8EBTADAQH/MA0GCSqGSIb3DQEBBAUAA4IB
-AQBm7bSIaRGZgiGDrKFti5uErQ8tyB6Mynt+rarUjt4H1p5Fx6W4nAc5YCVVGsBP
-GeXPFylJiRg1ZuXrKEBOV8mvs+S4IAWjO5VQkUmUKX0s5YhBpUWIXp2CJ/fS71u1
-T5++/jVlLFVkn+FR2iJhd7pYTo/GeVlZbjCAok+QbiELrdBoOZAQm+0iZW8eETjm
-f4zS8zltR9Uh6Op1OkHRrfYWnV0LIb3zH2MGJR3BHzVxLOsgGdXBsOw95W/tAgc/
-E3tmktZEwZj3X1CLelvCb22w0fjldKBAN6MlD+Q9ymQxk5BcMHu5OTGaXkzNuUFP
-UOQ9OK7IZtnHO11RR6ybq/Kt
------END CERTIFICATE-----
-
------BEGIN CERTIFICATE-----
-MIIDrDCCApSgAwIBAgILAgAAAAAA1ni4N88wDQYJKoZIhvcNAQEEBQAwVzELMAkG
-A1UEBhMCQkUxGTAXBgNVBAoTEEdsb2JhbFNpZ24gbnYtc2ExEDAOBgNVBAsTB1Jv
-b3QgQ0ExGzAZBgNVBAMTEkdsb2JhbFNpZ24gUm9vdCBDQTAeFw05ODA5MTUxMjAw
-MDBaFw0wOTAxMjgxMjAwMDBaMG0xCzAJBgNVBAYTAkJFMRkwFwYDVQQKExBHbG9i
-YWxTaWduIG52LXNhMRswGQYDVQQLExJQcmltYXJ5IENsYXNzIDEgQ0ExJjAkBgNV
-BAMTHUdsb2JhbFNpZ24gUHJpbWFyeSBDbGFzcyAxIENBMIIBIjANBgkqhkiG9w0B
-AQEFAAOCAQ8AMIIBCgKCAQEAvSA1R9Eo1gijEjkjRw29cCFSDlcxlaY0V2vsfkN5
-wwZSSM28taGZvdgfMrzP125ybS53IpCCTkuPmgwBQprZcFm2nR/mY9EMrR1O+IWB
-+a7vn6ZSYUR5GnVF4GFWRW1CjD1yy6akErea9dZg0GBQs46mpuy09BLNf6jO77Ph
-hTD+csTm53eznlhB1lGDiAfGtmlPNt7RC0g/vdafIXRkbycGPkv9Dqabv6RIV4yQ
-7okYCwKBGL5n/lNgiCe6o3M0S1pWtN5zBe2Yll3sSudA/EsJYuvQ4zFPhdF6q1ln
-K/uID+uqg701/WEn7GYOQlf3acIM7/xqwm5J2o9BOK5IqQIDAQABo2MwYTAOBgNV
-HQ8BAf8EBAMCAAYwHQYDVR0OBBYEFPzgZvZaNZnrQB7SuB5DvJiOH4rDMB8GA1Ud
-IwQYMBaAFGB7ZhpFDZfKiVAvfQTNNKj//P1LMA8GA1UdEwEB/wQFMAMBAf8wDQYJ
-KoZIhvcNAQEEBQADggEBAJujCETO8pCdcfMyswVqterPKZjeVT6gFn0GekTWr9L6
-E1iM+BzHqx20G+9paJhcCDmP4Pf7SMwh57gz2wWqNCRsSuXpe2Deg7MfCr5BdfzM
-MEi3wSYdBDOqtnjtKsu6VpcybvcxlS5G8hTuJ8f3Yom5XFrTOIpk9Te08bM0ctXV
-IT1L13iT1zFmNR6j2EdJbxyt4YB/+JgkbHOsDsIadwKjJge3x2tdvILVKkgdY89Q
-Mqb7HBhHFQpbDFw4JJoEmKgISF98NIdjqy2NTAB3lBt2uvUWGKMVry+U9ikAdsEV
-F9PpN0121MtLKVkkrNpKoOpj3l9Usfrz0UXLxWS0cyE=
------END CERTIFICATE-----
-
------BEGIN CERTIFICATE-----
-MIIDrDCCApSgAwIBAgILAgAAAAAA1ni4jY0wDQYJKoZIhvcNAQEEBQAwVzELMAkG
-A1UEBhMCQkUxGTAXBgNVBAoTEEdsb2JhbFNpZ24gbnYtc2ExEDAOBgNVBAsTB1Jv
-b3QgQ0ExGzAZBgNVBAMTEkdsb2JhbFNpZ24gUm9vdCBDQTAeFw05OTAxMjgxMjAw
-MDBaFw0wOTAxMjgxMjAwMDBaMG0xCzAJBgNVBAYTAkJFMRkwFwYDVQQKExBHbG9i
-YWxTaWduIG52LXNhMRswGQYDVQQLExJQcmltYXJ5IENsYXNzIDIgQ0ExJjAkBgNV
-BAMTHUdsb2JhbFNpZ24gUHJpbWFyeSBDbGFzcyAyIENBMIIBIjANBgkqhkiG9w0B
-AQEFAAOCAQ8AMIIBCgKCAQEAkoz+7/RFjhdBbvzYvyFvqwadUsEsAJ0/joW4f0qP
-vaBjKspJJ65agvR04lWS/8LRqnmitvrVnYIET8ayxl5jpzq62O7rim+ftrsoQcAi
-+05IGgaS17/Xz7nZvThPOw1EblVB/vwJ29i/844h8egStfYTpdPGTJMisAL/7h0M
-xKhrT3VoVujcKBJQ96gknS4kOfsJBd7lo2RJIdBofnEwkbFg4Dn0UPh6TZgAa3x5
-uk7OSuK6Nh23xTYVlZxkQupfxLr1QAW+4TpZvYSnGbjeTVNQzgfR0lHT7w2BbObn
-bctdfD98zOxPgycl/3BQ9oNZdYQGZlgs3omNAKZJ+aVDdwIDAQABo2MwYTAOBgNV
-HQ8BAf8EBAMCAAYwHQYDVR0OBBYEFHznsrEs3rGna+l2DOGj/U5sx7n2MB8GA1Ud
-IwQYMBaAFGB7ZhpFDZfKiVAvfQTNNKj//P1LMA8GA1UdEwEB/wQFMAMBAf8wDQYJ
-KoZIhvcNAQEEBQADggEBAGPdWc6KeaqYnU7FiWQ3foqTZy8Q6m8nw413bfJcVpQZ
-GmlgMEZdj/JtRTyONZd8L7hR4uiJvYjPJxwINFyIwWgk25GF5M/7+0ON6CUBG8QO
-9wBCSIYfJAhYWoyN8mtHLGiRsWlC/Q2NySbmkoamZG6Sxc4+PH1x4yOkq8fVqKnf
-gqc76IbVw08Y40TQ4NzzxWgu/qUvBYTIfkdCU2uHSv4y/14+cIy3qBXMF8L/RuzQ
-7C20bhIoqflA6evUZpdTqWlVwKmqsi7N0Wn0vvi7fGnuVKbbnvtapj7+mu+UUUt1
-7tjU4ZrxAlYTiQ6nQouWi4UMG4W+Jq6rppm8IvFz30I=
------END CERTIFICATE-----
-
------BEGIN CERTIFICATE-----
-MIIDrDCCApSgAwIBAgILAgAAAAAA1ni41sMwDQYJKoZIhvcNAQEEBQAwVzELMAkG
-A1UEBhMCQkUxGTAXBgNVBAoTEEdsb2JhbFNpZ24gbnYtc2ExEDAOBgNVBAsTB1Jv
-b3QgQ0ExGzAZBgNVBAMTEkdsb2JhbFNpZ24gUm9vdCBDQTAeFw05OTAxMjgxMjAw
-MDBaFw0wOTAxMjgxMjAwMDBaMG0xCzAJBgNVBAYTAkJFMRkwFwYDVQQKExBHbG9i
-YWxTaWduIG52LXNhMRswGQYDVQQLExJQcmltYXJ5IENsYXNzIDMgQ0ExJjAkBgNV
-BAMTHUdsb2JhbFNpZ24gUHJpbWFyeSBDbGFzcyAzIENBMIIBIjANBgkqhkiG9w0B
-AQEFAAOCAQ8AMIIBCgKCAQEAkV5WZdbAwAScv0fEXHt6MQH5WJaZ4xyEL9xWj631
-WYHVQ2ZdWpOMdcqp5xHBURAUYMks1HuvxneGq3onrm+VuQvKtkb7fhr0DRRt0slO
-sq7wVPZcQEw2SHToVIxlZhCnvSu3II0FSa14fdIkI1Dj8LR5mwE5/6870y3u4UmN
-jS88akFFL5vjPeES5JF1ns+gPjySgW+KLhjc4PKMjP2H2Qf0QJTJTk9D32dWb70D
-UHyZZ6S5PJFsAm6E1vxG98xvGD4X8O8LZBZX5qyG8UiqQ8HJJ3hzREXihX26/7Ph
-+xsFpEs7mRIlAVAUaq9d6sgM7uTa7EuLXGgTldzDtTA61wIDAQABo2MwYTAOBgNV
-HQ8BAf8EBAMCAAYwHQYDVR0OBBYEFMw2zBe0RZEv7c87MEh3+7UUmb7jMB8GA1Ud
-IwQYMBaAFGB7ZhpFDZfKiVAvfQTNNKj//P1LMA8GA1UdEwEB/wQFMAMBAf8wDQYJ
-KoZIhvcNAQEEBQADggEBAFeyVMy9lRdkYIm2U5EMRZLDPahsw8yyGPV4QXTYfaMn
-r3cNWT6UHWn6idMMvRoB9D/o4Hcagiha5mLXt+M2yQ6feuPC08xZiQzvFovwNnci
-yqS2t8FCZwFAY8znOGSHWxSWZnstFO69SW3/d9DiTlvTgMJND8q4nYGXpzRux+Oc
-SOW0qkX19mVMSPISwtKTjMIVJPMrUv/jCK64btYsEs85yxIq56l7X5g9o+HMpmOJ
-XH0xdfnV1l3y0NQ9355xqA7c5CCXeOZ/U6QNUU+OOwOuow1aTcN55zVYcELJXqFe
-tNkio0RTNaTQz3OAxc+fVph2+RRMd4eCydx+XTTVNnU=
------END CERTIFICATE-----
-
------BEGIN CERTIFICATE-----
-MIIDdTCCAl2gAwIBAgILAgAAAAAA1ni3lAUwDQYJKoZIhvcNAQEEBQAwVzELMAkG
-A1UEBhMCQkUxGTAXBgNVBAoTEEdsb2JhbFNpZ24gbnYtc2ExEDAOBgNVBAsTB1Jv
-b3QgQ0ExGzAZBgNVBAMTEkdsb2JhbFNpZ24gUm9vdCBDQTAeFw05ODA5MDExMjAw
-MDBaFw0xNDAxMjgxMjAwMDBaMFcxCzAJBgNVBAYTAkJFMRkwFwYDVQQKExBHbG9i
-YWxTaWduIG52LXNhMRAwDgYDVQQLEwdSb290IENBMRswGQYDVQQDExJHbG9iYWxT
-aWduIFJvb3QgQ0EwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDaDuaZ
-jc6j40+Kfvvxi4Mla+pIH/EqsLmVEQS98GPR4mdmzxzdzxtIK+6NiY6arymAZavp
-xy0Sy6scTHAHoT0KMM0VjU/43dSMUBUc71DuxC73/OlS8pF94G3VNTCOXkNz8kHp
-1Wrjsok6Vjk4bwY8iGlbKk3Fp1S4bInMm/k8yuX9ifUSPJJ4ltbcdG6TRGHRjcdG
-snUOhugZitVtbNV4FpWi6cgKOOvyJBNPc1STE4U6G7weNLWLBYy5d4ux2x8gkasJ
-U26Qzns3dLlwR5EiUWMWea6xrkEmCMgZK9FGqkjWZCrXgzT/LCrBbBlDSgeF59N8
-9iFo7+ryUp9/k5DPAgMBAAGjQjBAMA4GA1UdDwEB/wQEAwIABjAdBgNVHQ4EFgQU
-YHtmGkUNl8qJUC99BM00qP/8/UswDwYDVR0TAQH/BAUwAwEB/zANBgkqhkiG9w0B
-AQQFAAOCAQEArqqf/LfSyx9fOSkoGJ40yWxPbxrwZKJwSk8ThptgKJ7ogUmYfQq7
-5bCdPTbbjwVR/wkxKh/diXeeDy5slQTthsu0AD+EAk2AaioteAuubyuig0SDH81Q
-gkwkr733pbTIWg/050deSY43lv6aiAU62cDbKYfmGZZHpzqmjIs8d/5GY6dT2iHR
-rH5Jokvmw2dZL7OKDrssvamqQnw1wdh/1acxOk5jQzmvCLBhNIzTmKlDNPYPhyk7
-ncJWWJh3w/cbrPad+D6qp1RF8PX51TFl/mtYnHGzHtdS6jIX/EBgHcl5JLL2bP2o
-Zg6C3ZjL2sJETy6ge/L3ayx2EYRGinij4w==
------END CERTIFICATE-----
-
------BEGIN CERTIFICATE-----
-MIIDITCCAoqgAwIBAgIBADANBgkqhkiG9w0BAQQFADCByzELMAkGA1UEBhMCWkEx
-FTATBgNVBAgTDFdlc3Rlcm4gQ2FwZTESMBAGA1UEBxMJQ2FwZSBUb3duMRowGAYD
-VQQKExFUaGF3dGUgQ29uc3VsdGluZzEoMCYGA1UECxMfQ2VydGlmaWNhdGlvbiBT
-ZXJ2aWNlcyBEaXZpc2lvbjEhMB8GA1UEAxMYVGhhd3RlIFBlcnNvbmFsIEJhc2lj
-IENBMSgwJgYJKoZIhvcNAQkBFhlwZXJzb25hbC1iYXNpY0B0aGF3dGUuY29tMB4X
-DTk2MDEwMTAwMDAwMFoXDTIwMTIzMTIzNTk1OVowgcsxCzAJBgNVBAYTAlpBMRUw
-EwYDVQQIEwxXZXN0ZXJuIENhcGUxEjAQBgNVBAcTCUNhcGUgVG93bjEaMBgGA1UE
-ChMRVGhhd3RlIENvbnN1bHRpbmcxKDAmBgNVBAsTH0NlcnRpZmljYXRpb24gU2Vy
-dmljZXMgRGl2aXNpb24xITAfBgNVBAMTGFRoYXd0ZSBQZXJzb25hbCBCYXNpYyBD
-QTEoMCYGCSqGSIb3DQEJARYZcGVyc29uYWwtYmFzaWNAdGhhd3RlLmNvbTCBnzAN
-BgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAvLyTU23AUE+CFeZIlDWmWr5vQvoPR+53
-dXLdjUmbllegeNTKP1GzaQuRdhciB5dqxFGTS+CN7zeVoQxN2jSQHReJl+A1OFdK
-wPQIcOk8RHtQfmGakOMj04gRRif1CwcOu93RfyAKiLlWCy4cgNrx454p7xS9CkT7
-G1sY0b8jkyECAwEAAaMTMBEwDwYDVR0TAQH/BAUwAwEB/zANBgkqhkiG9w0BAQQF
-AAOBgQAt4plrsD16iddZopQBHyvdEktTwq1/qqcAXJFAVyVKOKqEcLnZgA+le1z7
-c8a914phXAPjLSeoF+CEhULcXpvGt7Jtu3Sv5D/Lp7ew4F2+eIMllNLbgQ95B21P
-9DkVWlIBe94y1k049hJcBlDfBVu9FEuh3ym6O0GN92NWod8isQ==
------END CERTIFICATE-----
-
------BEGIN CERTIFICATE-----
-MIIDLTCCApagAwIBAgIBADANBgkqhkiG9w0BAQQFADCB0TELMAkGA1UEBhMCWkEx
-FTATBgNVBAgTDFdlc3Rlcm4gQ2FwZTESMBAGA1UEBxMJQ2FwZSBUb3duMRowGAYD
-VQQKExFUaGF3dGUgQ29uc3VsdGluZzEoMCYGA1UECxMfQ2VydGlmaWNhdGlvbiBT
-ZXJ2aWNlcyBEaXZpc2lvbjEkMCIGA1UEAxMbVGhhd3RlIFBlcnNvbmFsIEZyZWVt
-YWlsIENBMSswKQYJKoZIhvcNAQkBFhxwZXJzb25hbC1mcmVlbWFpbEB0aGF3dGUu
-Y29tMB4XDTk2MDEwMTAwMDAwMFoXDTIwMTIzMTIzNTk1OVowgdExCzAJBgNVBAYT
-AlpBMRUwEwYDVQQIEwxXZXN0ZXJuIENhcGUxEjAQBgNVBAcTCUNhcGUgVG93bjEa
-MBgGA1UEChMRVGhhd3RlIENvbnN1bHRpbmcxKDAmBgNVBAsTH0NlcnRpZmljYXRp
-b24gU2VydmljZXMgRGl2aXNpb24xJDAiBgNVBAMTG1RoYXd0ZSBQZXJzb25hbCBG
-cmVlbWFpbCBDQTErMCkGCSqGSIb3DQEJARYccGVyc29uYWwtZnJlZW1haWxAdGhh
-d3RlLmNvbTCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA1GnX1LCUZFtx6UfY
-DFG26nKRsIRefS0Nj3sS34UldSh0OkIsYyeflXtL734Zhx2G6qPduc6WZBrCFG5E
-rHzmj+hND3EfQDimAKOHePb5lIZererAXnbr2RSjXW56fAylS1V/Bhkpf56aJtVq
-uzgkCGqYx7Hao5iR/Xnb5VrEHLkCAwEAAaMTMBEwDwYDVR0TAQH/BAUwAwEB/zAN
-BgkqhkiG9w0BAQQFAAOBgQDH7JJ+Tvj1lqVnYiqk8E0RYNBvjWBYYawmu1I1XAjP
-MPuoSpaKH2JCI4wXD/S6ZJwXrEcp352YXtJsYHFcoqzceePnbgBHH7UNKOgCneSa
-/RP0ptl8sfjcXyMmCZGAc9AUG95DqYMl8uacLxXK/qarigd1iwzdUYRr5PjRznei
-gQ==
------END CERTIFICATE-----
-
------BEGIN CERTIFICATE-----
-MIIDKTCCApKgAwIBAgIBADANBgkqhkiG9w0BAQQFADCBzzELMAkGA1UEBhMCWkEx
-FTATBgNVBAgTDFdlc3Rlcm4gQ2FwZTESMBAGA1UEBxMJQ2FwZSBUb3duMRowGAYD
-VQQKExFUaGF3dGUgQ29uc3VsdGluZzEoMCYGA1UECxMfQ2VydGlmaWNhdGlvbiBT
-ZXJ2aWNlcyBEaXZpc2lvbjEjMCEGA1UEAxMaVGhhd3RlIFBlcnNvbmFsIFByZW1p
-dW0gQ0ExKjAoBgkqhkiG9w0BCQEWG3BlcnNvbmFsLXByZW1pdW1AdGhhd3RlLmNv
-bTAeFw05NjAxMDEwMDAwMDBaFw0yMDEyMzEyMzU5NTlaMIHPMQswCQYDVQQGEwJa
-QTEVMBMGA1UECBMMV2VzdGVybiBDYXBlMRIwEAYDVQQHEwlDYXBlIFRvd24xGjAY
-BgNVBAoTEVRoYXd0ZSBDb25zdWx0aW5nMSgwJgYDVQQLEx9DZXJ0aWZpY2F0aW9u
-IFNlcnZpY2VzIERpdmlzaW9uMSMwIQYDVQQDExpUaGF3dGUgUGVyc29uYWwgUHJl
-bWl1bSBDQTEqMCgGCSqGSIb3DQEJARYbcGVyc29uYWwtcHJlbWl1bUB0aGF3dGUu
-Y29tMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDJZtn4B0TPuYwu8KHvE0Vs
-Bd/eJxZRNkERbGw77f4QfRKe5ZtCmv5gMcNmt3M6SK5O0DI3lIi1DbbZ8/JE2dWI
-Et12TfIa/G8jHnrx2JhFTgcQ7xZC0EN1bUre4qrJMf8fAHB8Zs8QJQi6+u4A6UYD
-ZicRFTuqW/KY3TZCstqIdQIDAQABoxMwETAPBgNVHRMBAf8EBTADAQH/MA0GCSqG
-SIb3DQEBBAUAA4GBAGk2ifc0KjNyL2071CKyuG+axTZmDhs8obF1Wub9NdP4qPIH
-b4Vnjt4rueIXsDqg8A6iAJrf8xQVbrvIhVqYgPn/vnQdPfP+MCXRNzRn+qVxeTBh
-KXLA4CxM+1bkOqhv5TJZUtt1KFBZDPgLGeSs2a+WjS9Q2wfD6h+rM+D1KzGJ
------END CERTIFICATE-----
-
------BEGIN CERTIFICATE-----
-MIIDJzCCApCgAwIBAgIBATANBgkqhkiG9w0BAQQFADCBzjELMAkGA1UEBhMCWkEx
-FTATBgNVBAgTDFdlc3Rlcm4gQ2FwZTESMBAGA1UEBxMJQ2FwZSBUb3duMR0wGwYD
-VQQKExRUaGF3dGUgQ29uc3VsdGluZyBjYzEoMCYGA1UECxMfQ2VydGlmaWNhdGlv
-biBTZXJ2aWNlcyBEaXZpc2lvbjEhMB8GA1UEAxMYVGhhd3RlIFByZW1pdW0gU2Vy
-dmVyIENBMSgwJgYJKoZIhvcNAQkBFhlwcmVtaXVtLXNlcnZlckB0aGF3dGUuY29t
-MB4XDTk2MDgwMTAwMDAwMFoXDTIwMTIzMTIzNTk1OVowgc4xCzAJBgNVBAYTAlpB
-MRUwEwYDVQQIEwxXZXN0ZXJuIENhcGUxEjAQBgNVBAcTCUNhcGUgVG93bjEdMBsG
-A1UEChMUVGhhd3RlIENvbnN1bHRpbmcgY2MxKDAmBgNVBAsTH0NlcnRpZmljYXRp
-b24gU2VydmljZXMgRGl2aXNpb24xITAfBgNVBAMTGFRoYXd0ZSBQcmVtaXVtIFNl
-cnZlciBDQTEoMCYGCSqGSIb3DQEJARYZcHJlbWl1bS1zZXJ2ZXJAdGhhd3RlLmNv
-bTCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA0jY2aovXwlue2oFBYo847kkE
-VdbQ7xwblRZH7xhINTpS9CtqBo87L+pW46+GjZ4X9560ZXUCTe/LCaIhUdib0GfQ
-ug2SBhRz1JPLlyoAnFxODLz6FVL88kRu2hFKbgifLy3j+ao6hnO2RlNYyIkFvYMR
-uHM/qgeN9EJN50CdHDcCAwEAAaMTMBEwDwYDVR0TAQH/BAUwAwEB/zANBgkqhkiG
-9w0BAQQFAAOBgQAmSCwWwlj66BZ0DKqqX1Q/8tfJeGBeXm43YyJ3Nn6yF8Q0ufUI
-hfzJATj/Tb7yFkJD57taRvvBxhEf8UqwKEbJw8RCfbz6q1lu1bdRiBHjpIUZa4JM
-pAwSremkrj/xw0llmozFyD4lt5SZu5IycQfwhl7tUCemDaYj+bvLpgcUQg==
------END CERTIFICATE-----
-
------BEGIN CERTIFICATE-----
-MIIDEzCCAnygAwIBAgIBATANBgkqhkiG9w0BAQQFADCBxDELMAkGA1UEBhMCWkEx
-FTATBgNVBAgTDFdlc3Rlcm4gQ2FwZTESMBAGA1UEBxMJQ2FwZSBUb3duMR0wGwYD
-VQQKExRUaGF3dGUgQ29uc3VsdGluZyBjYzEoMCYGA1UECxMfQ2VydGlmaWNhdGlv
-biBTZXJ2aWNlcyBEaXZpc2lvbjEZMBcGA1UEAxMQVGhhd3RlIFNlcnZlciBDQTEm
-MCQGCSqGSIb3DQEJARYXc2VydmVyLWNlcnRzQHRoYXd0ZS5jb20wHhcNOTYwODAx
-MDAwMDAwWhcNMjAxMjMxMjM1OTU5WjCBxDELMAkGA1UEBhMCWkExFTATBgNVBAgT
-DFdlc3Rlcm4gQ2FwZTESMBAGA1UEBxMJQ2FwZSBUb3duMR0wGwYDVQQKExRUaGF3
-dGUgQ29uc3VsdGluZyBjYzEoMCYGA1UECxMfQ2VydGlmaWNhdGlvbiBTZXJ2aWNl
-cyBEaXZpc2lvbjEZMBcGA1UEAxMQVGhhd3RlIFNlcnZlciBDQTEmMCQGCSqGSIb3
-DQEJARYXc2VydmVyLWNlcnRzQHRoYXd0ZS5jb20wgZ8wDQYJKoZIhvcNAQEBBQAD
-gY0AMIGJAoGBANOkUG7I/1Zr5s9dtuoMaHVHoqrC2oQl/Kj0R1HahbUgdJSGHg91
-yekIYfUGbTBuFRkC6VLAYttNmZ7iagxEOM3+vuNkCXDF/rFrKbYvScg71CcEJRCX
-L+eQbcAoQpnXTEPew/UhbVSfXcNY4cDk2VuwuNy0e982OsK1ZiIS1ocNAgMBAAGj
-EzARMA8GA1UdEwEB/wQFMAMBAf8wDQYJKoZIhvcNAQEEBQADgYEAB/pMaVz7lcxG
-7oWDTSEwjsrZqG9JGubaUeNgcGyEYRGhGshIPllDfU+VPaGLtwtimHp1it2ITk6e
-QNuozDJ0uW8NxuOzRAvZim+aKZuZGCg70eNAKJpaPNW15yAbi8qkq43pUdniTCxZ
-qdq5snUb9kLy78fyGPmJvKP/iiMucEc=
------END CERTIFICATE-----
-
------BEGIN CERTIFICATE-----
-MIIRIjCCCQoCAQAwDQYJKoZIhvcNAQEFBQAwVzEPMA0GA1UEChMGVGhhd3RlMSEw
-HwYDVQQLExhUaGF3dGUgVW5pdmVyc2FsIENBIFJvb3QxITAfBgNVBAMTGFRoYXd0
-ZSBVbml2ZXJzYWwgQ0EgUm9vdDAeFw05OTEyMDUxMzU2MDVaFw0zNzA0MDMxMzU2
-MDVaMFcxDzANBgNVBAoTBlRoYXd0ZTEhMB8GA1UECxMYVGhhd3RlIFVuaXZlcnNh
-bCBDQSBSb290MSEwHwYDVQQDExhUaGF3dGUgVW5pdmVyc2FsIENBIFJvb3Qwgggi
-MA0GCSqGSIb3DQEBAQUAA4IIDwAwgggKAoIIAQDiiQVtw3+tpok6/7vHzZ03seHS
-IR6bYSoV53tXT1U80Lv52T0+przstK1TmhYC6wty/Yryj0QFxevT5b22RDnm+0e/
-ap4KlRjiaOLWltYhrYj99Rf109pCpZDtKZWWdTrah6HU9dOH3gVipuNmdJLPpby7
-32j/cXVWQVk16zNaZlHy0qMKwYzOc1wRby2MlYyRsf3P5a1WlcyFkoOQVUHJwnft
-+aN0QgpoCPPQ0WX9Zyw0/yR/53nIBzslV92kDJg9vuDMGWXb8lSir0LUneKuhCMl
-CTMStWoedsSL2UkAbF66H/Ib2mfKJ6qjRCMbg4LO8qsz7VSk3MmrWWXROA7BPhtn
-j9Z1AeBVIt12d+yO3fTPeSJtuVcD9ZkIpzw+NPvEF64jWM0k8yPKagIolAGBNLRs
-a66LGsOj0gk8FlT1Nl8k459KoeJkxhbDpoF6JDZHjsFeDvv5FXgE1g5Z2Z1YZmLS
-lCkyMsh4uWb2tVbhbMYUS5ZSWZECJGpVR9c/tiMaYHeXLuJAr54EV56tEcXJQ3Dv
-SLRerBxpLi6C1VuLvoK+GRRe5w0ix1Eb/x6b8TCPcTEGszQnj196ZoJPii0Tq0LP
-IVael45mNg+Wm+Ur9AKpKmqMLMTDuHAsLSkeP1B3Hm0qVORVCpE4ocW1ZqJ2Wu4P
-v7Rn4ShuD+E2oYLRv9R34cRnMpN4yOdUU/4jeeZozCaQ9hBjXSpvkS2kczJRIfK7
-Fd+qJAhIBt6hnia/uoO/fKTIoIy90v+8hGknEyQYxEUYIyZeGBTKLoiHYqNT5iG3
-uIV7moW7FSZy+Ln3anQPST+SvqkFt5knv78JF0uZTK0REHzfdDH2jyZfqoiuOFfI
-VS3T+9gbUZm+JRs6usB9G+3O0km5z/PFfYmQgdhpSCAQo/jvklEYMosRGMA/G4VW
-zlfJ8oJkxt8CCS5KES+xJ203UvDwFmHxZ43fh3Kvh9rP+1CUbtSUheuKLOoh9ZZK
-RNXgzmp0RE3QBdOHFe020KSLZlVwk+5HBsF+LqUYeWfzKIXxcPcOg6R+VJ5adjLL
-ZRu4zfvIKAPSVJHRp8WFQwgXdqXmL2cI2KGigi0M+MGvY9RQd21rRkpBhdWQX3kt
-xOzXEYdAiuFo4mT4VTL7b5Ms2nfZIcEX5TYsTn6Qf6yUKzJnvjhQdriuQbnXIcUJ
-TGDIo1HENJtXN9/LyTNXi+v7dp8ZTcVqHypFrivtL42npQDLBPolYi50SBvKKoy6
-27Z+9rsCfKnD21h4ob/w/hoQVRHO6GlOlmXGFwPWB2iMVIKuHCJVP/H0CZcowEb3
-TgslHfcH1wkdOhhXODvoMwbnj3hGHlv1BrbsuKYN8boTS9YYIN1pM0ozFa64yJiK
-JyyTvC377jO/ZuZNurabBlVgl0u8RM1+9KHYqi/AAighFmJ42whU8vz0NOPGjxxD
-V86QGkvcLjsokYk/eto1HY4s7kns9DOtyVOojJ8EUz4kHFLJEvliV6O87izrQHwg
-I3ArlflzF4rRwRxpprc4mmf3cB16WgxAz2IPhTzCAk5+tfbFKimEsx83KuGqckLE
-7Wsaj5IcXb7R8lvyq6qp0vW4pEErK5FuEkjKmNg3jcjtADC1tgROfpzahOzA+nvl
-HYikU0awlORcG6ElLA9IUneXCWzsWxgzgwLlgn7NhSEwEf0nT8/kHuw/pVds6Sow
-GSqI5cNpOKtvOXF/hOFBw+HMKokgUi6DD2w5P0stFqwt8CSsAHP0m7MGPwW4FIUf
-q55cPJ5inQ5tO4AJ/ALqopd0ysf541bhw8qlpprAkOAkElPSwovavu0CQ15n4YmY
-ee7LqsrDG9znpUalfGsWh7ZaKNfbJzxepb22Ud0fQ887Jsg6jSVhwUn0PBvJROqv
-HMIrlAEqDjDRW4srR+XD0QQDmw45LNYn1OZwWtl1zyrYyQAF5BOI7MM5+4dhMDZD
-A8ienKIGwi/F/PCAY7FUBKBMqS7G9XZ62NDk1JQR5RW1eAbcuICPmakgMz0QhUxl
-Cco+WF5gk5qqYl3AUQYcXWCgDZxLQ/anFiGkh6rywS7ukjC4nt/fEAGLhglw2Gyo
-t1AeFpa092f9NTohkCoyxwB7TQcQCbkvc9gYfmeZBE8G/FDHhZudQJ2zljf6pdyy
-ck7vTgks/ZH9Tfe7pqE+q3uiA0CmqVUn4vr5Gc6HdarxdTbz87iR+JHDi3UTjkxl
-mhY5auU06HqWWX81sAD9W2n8Qyb69Shu/ofZfiT7tKCCblSi/66/YrT0cgHCy5hH
-mOFMtReAgM6PpijuHkVq+9/xHfxaO9bq9GwdYklXO4qPhurwUwTOnBZo/7q5/IgP
-R/cCRHJAuMo7LVOd3DxWjFl7aBosjXG7bADHGs5vQJKxoy8P2UTyo3Aunu4OrjLQ
-Oz6LB+rmebNcKeJ9a6he+Vox6AiWoowDmEbxuH2QVCbtdmL+numabl7JScdcNFMp
-VNns5EbhgDt12d/7edWH8bqe6xnOTFJz5luHriVPOXnMxrj5EHvs8JtxpAWg0ynT
-Tn8f9C0oeMxVlXsekS/MVhhzi7LbvGkH5tDYT+2i/1iFo23gSlO3Z32NDFxbe3co
-AjVEegTTKEPIazAXXTK4KTW6dto7FEp2GFik+JI8nk0zb0ZrCNkxSGjd9PskVjSy
-z2lmvkjSimYizfJpzcJTE0UpQSLWXZgftqSyo8LuAi9RG9yDpOxwJajUCGEyb+Sh
-gS58Y3L6KWW8cETPXQIDAQABMA0GCSqGSIb3DQEBBQUAA4IIAQBVmjRqIgZpCUUz
-x66pXMcJTpuGvEGQ1JRS9s0jKZRLIs3ovf6dzVLyve2rh8mrq0YEtL2iPyIwR1DA
-S4x2DwP1ktKxLcR6NZzJc4frpp/eD3ON03+Z2LqPb8Tzvhqui6KUNpDi5euNBfT8
-Zd+V8cSUTRdW1588j1A853e/lYYmZPtq/8ba6YyuQrtp5TPG2OkNxlUhScEMtKP5
-m0tc3oNPQQPOKnloOH3wVEkg9bYQ/wjcM2aWm/8G3gCe185WQ5pR/HDN9vBRo7fN
-tFyFYs1xt8YrIyvdw25AQvo3/zcc9npXlIeFI9fUycdfwU0vyQ3XXOycJe6eMIKR
-lnK4dR34CWhXl7ItS+4l7HokKe5y1JwT26vcAwrYShTJCFdEXaG1U4A08hSXz1Le
-og6KEOkU79BgvmGh8SVd1RhzP5MQypbus0DS26NVz1dapQ5PdUff6veQmm31cC4d
-FBw3ZARZULDccoZvnDc9XSivc1Xv0u4kdHQT79zbMUn7P2P10wg+M6XnnQreUyxR
-jmfbm0FlQVC91KSWbIe8EuCUx9PA5MtzWACD4awnhdadU51cvQo+A0OcDJH1bXv4
-QHJ1qxF2kSvhxqofcGl2cBUJ/pPQ1i23FWqbZ1y0aZ8lpn2K+30iqXHyzk6MuCEt
-3v5BcQ3/nexzprsHT4gOWEcufqnCx3jdunqeTuAwTmNvhdQgQen6/kNF5/uverLO
-pAUdIppYht/kzkyp/tgWpW/72M5We/XWIO/kR81jJP+5vvFIo8EBcua9wK3tJg3K
-NJ/8Ai0gTwUgriE9DMIgPD/wBITcz4n9uSWRjtBD5rMgq1wt1UCeoEvY9LLMffFY
-Co6H7YisNpbkVqARivKa0LNXozS7Gas44XRrIsQxzgHVGzbjHjhMM5PfQONZV06s
-bnseWj3FHVusyBCCNQIisvx16BCRjcR9eJNHnhydrGtiAliM1hwj1q94woCcpKok
-VBS1FJjG+CsaJMtxMgrimw5pa91+jGTRLmPvDn+xPohMnVXlyW4XBLdB/72KQcsl
-MW9Edz9HsfyBiAeOBUkgtxHZaQMqA525M4Sa399640Zzo9iijFMZiFVMdLj2RIQr
-0RQtTjkukmj/afyFYhvrVU/vJYRiRZnW2E5vP1MIfR0GlYGAf09OdDaYteKHcJjc
-1/XcUhXmxtZ5ljl/j5XPq4BTrRsLRUAO1Bi9LN6Kd3b98kRHxiHQ5HTw2BgFyHww
-csff8bv8AjCp9EImWQ2TBYKhc+005ThdzVCQ/pT8E7y9/KiiiKdzxLKo0V2IxAKi
-evEEyf6MdMnvHWRBn6welmdkrKsoQced98CYG24HwmR9WoNmVig2nOf7HHcOKKDE
-92t5OQQghMdXk7wboOq860LlqBH+/KxlzP34KIj0pZrlc1HgqJsNA3dO5eCYs4ja
-febGnnwUZsEuU0qSBzegfuk9CeQVfM/9uEGl755mncReBx2H+EGt6ucv0kFjGDf5
-FONN0OX3Q/0V4/k2cwYm3wFPqcNO3iBGd5i0eiQrO3UrTliNm12kxxagvDKIP6GD
-8wDI+NhY6WNdTCu18HJB2Kt3N9ZydK62NpzIpoNJS+DJVgspvgAwy93WyEKKANns
-FdE0cfJbZIf2J9K364awkL8p2yGeNozjIC+VI1FsG8Kk1ebYAkNnoP6bUANEf7vk
-ctXR5NqPkhRk+10UEBJKlQbJZQgpyiGjJjgRySffcGcE/cpIMn9jskV0MVBPh9kg
-cNIhcLHWEJ0zXXiDkW1Vguza5GJjx4FG1xllcipDGZC41yNNTBzgRKlmZ6zucXkn
-Jnhtcg71XUsjtXx8ZekXxjoLDd1eHlHDhrjsf8cnSqVG6GotGcGHo8uZk4dkolUU
-TLdDpZPX59JOeUDKZZlGPT96gHqIaswe5WszRvRQwNUfCbjNii6hJ+tdc6foawrl
-V4IqsPziVFJW8KupEsYjlgcknOC8RqW0IATaCZNj5dQuwn7FMe21FXSGF7mz8yaK
-HQJq2ho/6LrxBG2UUVTiWrRZgx1g0C1zzAe1Joz518aIke+Az10PoWDLRdRCItGx
-cB390LcwkDrGSG1n5TLaj9vjqOMdICWiHOFMuaT2xj9cWA27xrJ3ARaRnxcGDbdA
-PsyPjpxL4J1+mx4Fq4gi+tMoG1cUZEo+JCw4TSFpAHMu0FUtdPIV6JRDPkAqxsa5
-alveoswYUFRdTiqFbPaSiykZfufqSuAiKyW892bPd5pBdPI8FA10afVQg83NLyHb
-IkaK0PdRGpVX8gWLGhntO0XoNsJufvtXIgAfBlOprpPGj3EqMUWS545t5pkiwIP8
-79xXZndPojYx+6ETjeXKo5V9AQxkcDtTQmiAx7udqAA1aZgMqGfYQ+Wqz5XgUZWk
-Fz9CnbgEztN5ecjTihYykuDXou7XN0wvrLh7vkX28RgznHs3piTZvECrAOnDN4ur
-2LbzXoFOsBRrBz4f7ML2RCKVu7Pmb9b5cGW6CoNlqg4TL4MTI1OLQBb6zi/8TQT4
-69isxTbCFVdIOOxVs7Qeuq3SQgYXDXPIV6a+lk2p8sD7eiEc9clwqYKQtfEM1HkQ
-voGm6VxhnHd5mqTDNyZXN8lSLPoI/9BfxmHA9Ha+/N5Oz6tRmXHH33701s8GVhkT
-UwttdFlIGZtTBS2dMlTT5SxTi2Q+1GR744AJFMz+FkZja3Fp+PnLJ/aIVLxFs84C
-yJTuQFv5QgLC/7DYLOsof17JJgGZpw==
------END CERTIFICATE-----
-
------BEGIN CERTIFICATE-----
-MIIC5zCCAlACAQEwDQYJKoZIhvcNAQEFBQAwgbsxJDAiBgNVBAcTG1ZhbGlDZXJ0
-IFZhbGlkYXRpb24gTmV0d29yazEXMBUGA1UEChMOVmFsaUNlcnQsIEluYy4xNTAz
-BgNVBAsTLFZhbGlDZXJ0IENsYXNzIDEgUG9saWN5IFZhbGlkYXRpb24gQXV0aG9y
-aXR5MSEwHwYDVQQDExhodHRwOi8vd3d3LnZhbGljZXJ0LmNvbS8xIDAeBgkqhkiG
-9w0BCQEWEWluZm9AdmFsaWNlcnQuY29tMB4XDTk5MDYyNTIyMjM0OFoXDTE5MDYy
-NTIyMjM0OFowgbsxJDAiBgNVBAcTG1ZhbGlDZXJ0IFZhbGlkYXRpb24gTmV0d29y
-azEXMBUGA1UEChMOVmFsaUNlcnQsIEluYy4xNTAzBgNVBAsTLFZhbGlDZXJ0IENs
-YXNzIDEgUG9saWN5IFZhbGlkYXRpb24gQXV0aG9yaXR5MSEwHwYDVQQDExhodHRw
-Oi8vd3d3LnZhbGljZXJ0LmNvbS8xIDAeBgkqhkiG9w0BCQEWEWluZm9AdmFsaWNl
-cnQuY29tMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDYWYJ6ibiWuqYvaG9Y
-LqdUHAZu9OqNSLwxlBfw8068srg1knaw0KWlAdcAAxIiGQj4/xEjm84H9b9pGib+
-TunRf50sQB1ZaG6m+FiwnRqP0z/x3BkGgagO4DrdyFNFCQbmD3DD+kCmDuJWBQ8Y
-TfwggtFzVXSNdnKgHZ0dwN0/cQIDAQABMA0GCSqGSIb3DQEBBQUAA4GBAFBoPUn0
-LBwGlN+VYH+Wexf+T3GtZMjdd9LvWVXoP+iOBSoh8gfStadS/pyxtuJbdxdA6nLW
-I8sogTLDAHkY7FkXicnGah5xyf23dKUlRWnFSKsZ4UWKJWsZ7uW7EvV/96aNUcPw
-nXS3qT6gpf+2SQMT2iLM7XGCK5nPOrf1LXLI
------END CERTIFICATE-----
-
------BEGIN CERTIFICATE-----
-MIIC5zCCAlACAQEwDQYJKoZIhvcNAQEFBQAwgbsxJDAiBgNVBAcTG1ZhbGlDZXJ0
-IFZhbGlkYXRpb24gTmV0d29yazEXMBUGA1UEChMOVmFsaUNlcnQsIEluYy4xNTAz
-BgNVBAsTLFZhbGlDZXJ0IENsYXNzIDIgUG9saWN5IFZhbGlkYXRpb24gQXV0aG9y
-aXR5MSEwHwYDVQQDExhodHRwOi8vd3d3LnZhbGljZXJ0LmNvbS8xIDAeBgkqhkiG
-9w0BCQEWEWluZm9AdmFsaWNlcnQuY29tMB4XDTk5MDYyNjAwMTk1NFoXDTE5MDYy
-NjAwMTk1NFowgbsxJDAiBgNVBAcTG1ZhbGlDZXJ0IFZhbGlkYXRpb24gTmV0d29y
-azEXMBUGA1UEChMOVmFsaUNlcnQsIEluYy4xNTAzBgNVBAsTLFZhbGlDZXJ0IENs
-YXNzIDIgUG9saWN5IFZhbGlkYXRpb24gQXV0aG9yaXR5MSEwHwYDVQQDExhodHRw
-Oi8vd3d3LnZhbGljZXJ0LmNvbS8xIDAeBgkqhkiG9w0BCQEWEWluZm9AdmFsaWNl
-cnQuY29tMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDOOnHK5avIWZJV16vY
-dA757tn2VUdZZUcOBVXc65g2PFxTXdMwzzjsvUGJ7SVCCSRrCl6zfN1SLUzm1NZ9
-WlmpZdRJEy0kTRxQb7XBhVQ7/nHk01xC+YDgkRoKWzk2Z/M/VXwbP7RfZHM047QS
-v4dk+NoS/zcnwbNDu+97bi5p9wIDAQABMA0GCSqGSIb3DQEBBQUAA4GBADt/UG9v
-UJSZSWI4OB9L+KXIPqeCgfYrx+jFzug6EILLGACOTb2oWH+heQC1u+mNr0HZDzTu
-IYEZoDJJKPTEjlbVUjP9UNV+mWwD5MlM/Mtsq2azSiGM5bUMMj4QssxsodyamEwC
-W/POuZ6lcg5Ktz885hZo+L7tdEy8W9ViH0Pd
------END CERTIFICATE-----
-
------BEGIN CERTIFICATE-----
-MIIC5zCCAlACAQEwDQYJKoZIhvcNAQEFBQAwgbsxJDAiBgNVBAcTG1ZhbGlDZXJ0
-IFZhbGlkYXRpb24gTmV0d29yazEXMBUGA1UEChMOVmFsaUNlcnQsIEluYy4xNTAz
-BgNVBAsTLFZhbGlDZXJ0IENsYXNzIDMgUG9saWN5IFZhbGlkYXRpb24gQXV0aG9y
-aXR5MSEwHwYDVQQDExhodHRwOi8vd3d3LnZhbGljZXJ0LmNvbS8xIDAeBgkqhkiG
-9w0BCQEWEWluZm9AdmFsaWNlcnQuY29tMB4XDTk5MDYyNjAwMjIzM1oXDTE5MDYy
-NjAwMjIzM1owgbsxJDAiBgNVBAcTG1ZhbGlDZXJ0IFZhbGlkYXRpb24gTmV0d29y
-azEXMBUGA1UEChMOVmFsaUNlcnQsIEluYy4xNTAzBgNVBAsTLFZhbGlDZXJ0IENs
-YXNzIDMgUG9saWN5IFZhbGlkYXRpb24gQXV0aG9yaXR5MSEwHwYDVQQDExhodHRw
-Oi8vd3d3LnZhbGljZXJ0LmNvbS8xIDAeBgkqhkiG9w0BCQEWEWluZm9AdmFsaWNl
-cnQuY29tMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDjmFGWHOjVsQaBalfD
-cnWTq8+epvzzFlLWLU2fNUSoLgRNB0mKOCn1dzfnt6td3zZxFJmP3MKS8edgkpfs
-2Ejcv8ECIMYkpChMMFp2bbFc893enhBxoYjHW5tBbcqwuI4V7q0zK89HBFx1cQqY
-JJgpp0lZpd34t0NiYfPT4tBVPwIDAQABMA0GCSqGSIb3DQEBBQUAA4GBAFa7AliE
-Zwgs3x/be0kz9dNnnfS0ChCzycUs4pJqcXgn8nCDQtM+z6lU9PHYkhaM0QTLS6vJ
-n0WuPIqpsHEzXcjFV9+vqDWzf4mH6eglkrh/hXqu1rweN1gqZ8mRzyqBPu3GOd/A
-PhmcGcwTTYJBtYze4D1gCCAPRX5ron+jjBXu
------END CERTIFICATE-----
-
------BEGIN CERTIFICATE-----
-MIICPTCCAaYCEQDNun9W8N/kvFT+IqyzcqpVMA0GCSqGSIb3DQEBAgUAMF8xCzAJ
-BgNVBAYTAlVTMRcwFQYDVQQKEw5WZXJpU2lnbiwgSW5jLjE3MDUGA1UECxMuQ2xh
-c3MgMSBQdWJsaWMgUHJpbWFyeSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTAeFw05
-NjAxMjkwMDAwMDBaFw0yODA4MDEyMzU5NTlaMF8xCzAJBgNVBAYTAlVTMRcwFQYD
-VQQKEw5WZXJpU2lnbiwgSW5jLjE3MDUGA1UECxMuQ2xhc3MgMSBQdWJsaWMgUHJp
-bWFyeSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTCBnzANBgkqhkiG9w0BAQEFAAOB
-jQAwgYkCgYEA5Rm/baNWYS2ZSHH2Z965jeu3noaACpEO+jglr0aIguVzqKCbJF0N
-H8xlbgyw0FaEGIeaBpsQoXPftFg5a27B9hXVqKg/qhIGjTGsf7A01480Z4gJzRQR
-4k5FVmkfeAKA2txHkSm7NsljXMXg1y2He6G3MrB7MLoqLzGq7qNn2tsCAwEAATAN
-BgkqhkiG9w0BAQIFAAOBgQBMP7iLxmjf7kMzDl3ppssHhE16M/+SG/Q2rdiVIjZo
-EWx8QszznC7EBz8UsA9P/5CSdvnivErpj82ggAr3xSnxgiJduLHdgSOjeyUVRjB5
-FvjqBUuUfx3CHMjjt/QQQDwTw18fU+hI5Ia0e6E1sHslurjTjqs/OJ0ANACY89Fx
-lA==
------END CERTIFICATE-----
-
------BEGIN CERTIFICATE-----
-MIIDAjCCAmsCEEzH6qqYPnHTkxD4PTqJkZIwDQYJKoZIhvcNAQEFBQAwgcExCzAJ
-BgNVBAYTAlVTMRcwFQYDVQQKEw5WZXJpU2lnbiwgSW5jLjE8MDoGA1UECxMzQ2xh
-c3MgMSBQdWJsaWMgUHJpbWFyeSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eSAtIEcy
-MTowOAYDVQQLEzEoYykgMTk5OCBWZXJpU2lnbiwgSW5jLiAtIEZvciBhdXRob3Jp
-emVkIHVzZSBvbmx5MR8wHQYDVQQLExZWZXJpU2lnbiBUcnVzdCBOZXR3b3JrMB4X
-DTk4MDUxODAwMDAwMFoXDTI4MDgwMTIzNTk1OVowgcExCzAJBgNVBAYTAlVTMRcw
-FQYDVQQKEw5WZXJpU2lnbiwgSW5jLjE8MDoGA1UECxMzQ2xhc3MgMSBQdWJsaWMg
-UHJpbWFyeSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eSAtIEcyMTowOAYDVQQLEzEo
-YykgMTk5OCBWZXJpU2lnbiwgSW5jLiAtIEZvciBhdXRob3JpemVkIHVzZSBvbmx5
-MR8wHQYDVQQLExZWZXJpU2lnbiBUcnVzdCBOZXR3b3JrMIGfMA0GCSqGSIb3DQEB
-AQUAA4GNADCBiQKBgQCq0Lq+Fi24g9TK0g+8djHKlNgdk4xWArzZbxpvUjZudVYK
-VdPfQ4chEWWKfo+9Id5rMj8bhDSVBZ1BNeuS65bdqlk/AVNtmU/t5eIqWpDBucSm
-Fc/IReumXY6cPvBkJHalzasab7bYe1FhbqZ/h8jit+U03EGI6glAvnOSPWvndQID
-AQABMA0GCSqGSIb3DQEBBQUAA4GBAKlPww3HZ74sy9mozS11534Vnjty637rXC0J
-h9ZrbWB85a7FkCMMXErQr7Fd88e2CtvgFZMN3QO8x3aKtd1Pw5sTdbgBwObJW2ul
-uIncrKTdcu1OofdPvAbT6shkdHvClUGcZXNY8ZCaPGqxmMnEh7zPRW1F4m4iP/68
-DzFc6PLZ
------END CERTIFICATE-----
-
------BEGIN CERTIFICATE-----
-MIIEGjCCAwICEQCLW3VWhFSFCwDPrzhIzrGkMA0GCSqGSIb3DQEBBQUAMIHKMQsw
-CQYDVQQGEwJVUzEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4xHzAdBgNVBAsTFlZl
-cmlTaWduIFRydXN0IE5ldHdvcmsxOjA4BgNVBAsTMShjKSAxOTk5IFZlcmlTaWdu
-LCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxRTBDBgNVBAMTPFZlcmlT
-aWduIENsYXNzIDEgUHVibGljIFByaW1hcnkgQ2VydGlmaWNhdGlvbiBBdXRob3Jp
-dHkgLSBHMzAeFw05OTEwMDEwMDAwMDBaFw0zNjA3MTYyMzU5NTlaMIHKMQswCQYD
-VQQGEwJVUzEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4xHzAdBgNVBAsTFlZlcmlT
-aWduIFRydXN0IE5ldHdvcmsxOjA4BgNVBAsTMShjKSAxOTk5IFZlcmlTaWduLCBJ
-bmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxRTBDBgNVBAMTPFZlcmlTaWdu
-IENsYXNzIDEgUHVibGljIFByaW1hcnkgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkg
-LSBHMzCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAN2E1Lm0+afY8wR4
-nN493GwTFtl63SRRZsDHJlkNrAYIwpTRMx/wgzUfbhvI3qpuFU5UJ+/EbRrsC+MO
-8ESlV8dAWB6jRx9x7GD2bZTIGDnt/kIYVt/kTEkQeE4BdjVjEjbdZrwBBDajVWjV
-ojYJrKshJlQGrT/KFOCsyq0GHZXi+J3x4GD/wn91K0zM2v6HmSHquv4+VNfSWXjb
-PG7PoBMAGrgnoeS+Z5bKoMWznN3JdZ7rMJpfo83ZrngZPyPpXNspva1VyBtUjGP2
-6KbqxzcSXKMpHgLZ2x87tNcPVkeBFQRKr4Mn0cVYiMHd9qqnoxjaaKptEVHhv2Vr
-n5Z20T0CAwEAATANBgkqhkiG9w0BAQUFAAOCAQEAq2aN17O6x5q25lXQBfGfMY1a
-qtmqRiYPce2lrVNWYgFHKkTp/j90CxObufRNG7LRX7K20ohcs5/Ny9Sn2WCVhDr4
-wTcdYcrnsMXlkdpUpqwxga6X3s0IrLjAl4B/bnKk52kTlWUfxJM8/XmPBNQ+T+r3
-ns7NZ3xPZQL/kYVUc8f/NveGLezQXk//EZ9yBta4GvFMDSZl4kSAHsef493oCtrs
-pSCAaWihT37ha88HQfqDjrw43bAuEbFrskLMmrz5SCJ5ShkPshw+IHTZasO+8ih4
-E1Z5T21Q6huwtVexN2ZYI/PcD98Kh8TvhgXVOBRgmaNL3gaWcSzy27YfpO8/7g==
------END CERTIFICATE-----
-
------BEGIN CERTIFICATE-----
-MIICPDCCAaUCEC0b/EoXjaOR6+f/9YtFvgswDQYJKoZIhvcNAQECBQAwXzELMAkG
-A1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMTcwNQYDVQQLEy5DbGFz
-cyAyIFB1YmxpYyBQcmltYXJ5IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MB4XDTk2
-MDEyOTAwMDAwMFoXDTI4MDgwMTIzNTk1OVowXzELMAkGA1UEBhMCVVMxFzAVBgNV
-BAoTDlZlcmlTaWduLCBJbmMuMTcwNQYDVQQLEy5DbGFzcyAyIFB1YmxpYyBQcmlt
-YXJ5IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MIGfMA0GCSqGSIb3DQEBAQUAA4GN
-ADCBiQKBgQC2WoujDWojg4BrzzmH9CETMwZMJaLtVRKXxaeAufqDwSCg+i8VDXyh
-YGt+eSz6Bg86rvYbb7HS/y8oUl+DfUvEerf4Zh+AVPy3wo5ZShRXRtGak75BkQO7
-FYCTXOvnzAhsPz6zSvz/S2wj1VCCJkQZjiPDceoZJEcEnnW/yKYAHwIDAQABMA0G
-CSqGSIb3DQEBAgUAA4GBAIobK/o5wXTXXtgZZKJYSi034DNHD6zt96rbHuSLBlxg
-J8pFUs4W7z8GZOeUaHxgMxURaa+dYo2jA1Rrpr7l7gUYYAS/QoD90KioHgE796Nc
-r6Pc5iaAIzy4RHT3Cq5Ji2F4zCS/iIqnDupzGUH9TQPwiNHleI2lKk/2lw0Xd8rY
------END CERTIFICATE-----
-
------BEGIN CERTIFICATE-----
-MIIDAzCCAmwCEQC5L2DMiJ+hekYJuFtwbIqvMA0GCSqGSIb3DQEBBQUAMIHBMQsw
-CQYDVQQGEwJVUzEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4xPDA6BgNVBAsTM0Ns
-YXNzIDIgUHVibGljIFByaW1hcnkgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkgLSBH
-MjE6MDgGA1UECxMxKGMpIDE5OTggVmVyaVNpZ24sIEluYy4gLSBGb3IgYXV0aG9y
-aXplZCB1c2Ugb25seTEfMB0GA1UECxMWVmVyaVNpZ24gVHJ1c3QgTmV0d29yazAe
-Fw05ODA1MTgwMDAwMDBaFw0yODA4MDEyMzU5NTlaMIHBMQswCQYDVQQGEwJVUzEX
-MBUGA1UEChMOVmVyaVNpZ24sIEluYy4xPDA6BgNVBAsTM0NsYXNzIDIgUHVibGlj
-IFByaW1hcnkgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkgLSBHMjE6MDgGA1UECxMx
-KGMpIDE5OTggVmVyaVNpZ24sIEluYy4gLSBGb3IgYXV0aG9yaXplZCB1c2Ugb25s
-eTEfMB0GA1UECxMWVmVyaVNpZ24gVHJ1c3QgTmV0d29yazCBnzANBgkqhkiG9w0B
-AQEFAAOBjQAwgYkCgYEAp4gBIXQs5xoD8JjhlzwPIQjxnNuX6Zr8wgQGE75fUsjM
-HiwSViy4AWkszJkfrbCWrnkE8hM5wXuYuggs6MKEEyyqaekJ9MepAqRCwiNPStjw
-DqL7MWzJ5m+ZJwf15vRMeJ5t60aG+rmGyVTyssSv1EYcWskVMP8NbPUtDm3Of3cC
-AwEAATANBgkqhkiG9w0BAQUFAAOBgQByLvl/0fFx+8Se9sVeUYpAmLho+Jscg9ji
-nb3/7aHmZuovCfTK1+qlK5X2JGCGTUQug6XELaDTrnhpb3LabK4I8GOSN+a7xDAX
-rXfMSTWqz9iP0b63GJZHc2pUIjRkLbYWm1lbtFFZOrMLFPQS32eg9K0yZF6xRnIn
-jBJ7xUS0rg==
------END CERTIFICATE-----
-
------BEGIN CERTIFICATE-----
-MIIEGTCCAwECEGFwy0mMX5hFKeewptlQW3owDQYJKoZIhvcNAQEFBQAwgcoxCzAJ
-BgNVBAYTAlVTMRcwFQYDVQQKEw5WZXJpU2lnbiwgSW5jLjEfMB0GA1UECxMWVmVy
-aVNpZ24gVHJ1c3QgTmV0d29yazE6MDgGA1UECxMxKGMpIDE5OTkgVmVyaVNpZ24s
-IEluYy4gLSBGb3IgYXV0aG9yaXplZCB1c2Ugb25seTFFMEMGA1UEAxM8VmVyaVNp
-Z24gQ2xhc3MgMiBQdWJsaWMgUHJpbWFyeSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0
-eSAtIEczMB4XDTk5MTAwMTAwMDAwMFoXDTM2MDcxNjIzNTk1OVowgcoxCzAJBgNV
-BAYTAlVTMRcwFQYDVQQKEw5WZXJpU2lnbiwgSW5jLjEfMB0GA1UECxMWVmVyaVNp
-Z24gVHJ1c3QgTmV0d29yazE6MDgGA1UECxMxKGMpIDE5OTkgVmVyaVNpZ24sIElu
-Yy4gLSBGb3IgYXV0aG9yaXplZCB1c2Ugb25seTFFMEMGA1UEAxM8VmVyaVNpZ24g
-Q2xhc3MgMiBQdWJsaWMgUHJpbWFyeSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eSAt
-IEczMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArwoNwtUs22e5LeWU
-J92lvuCwTY+zYVY81nzD9M0+hsuiiOLh2KRpxbXiv8GmR1BeRjmL1Za6tW8UvxDO
-JxOeBUebMXoT2B/Z0wI3i60sR/COgQanDTAM6/c8DyAd3HJG7qUCyFvDyVZpTMUY
-wZF7C9UTAJu878NIPkZgIIUq1ZC2zYugzDLdt/1AVbJQHFauzI13TccgTacxdu9o
-koqQHgiBVrKtaaNS0MscxCM9H5n+TOgWY47GCI72MfbS+uV23bUckqNJzc0BzWjN
-qWm6o+sdDZykIKbBoMXRRkwXbdKsZj+WjOCE1Db/IlnF+RFgqF8EffIa9iVCYQ/E
-Srg+iQIDAQABMA0GCSqGSIb3DQEBBQUAA4IBAQA0JhU8wI1NQ0kdvekhktdmnLfe
-xbjQ5F1fdiLAJvmEOjr5jLX77GDx6M4EsMjdpwOPMPOY36TmpDHf0xwLRtxyID+u
-7gU8pDM/CzmscHhzS5kr3zDCVLCoO1Wh/hYozUK9dG6A2ydEp85EXdQbkJgNHkKU
-sQAsBNB0owIFImNjzYO1+8FtYmtpdf1dcEG59b98377BMnMiIYtYgXsVkXq642RI
-sH/7NiXaldDxJBQX3RiAa0YjOVT1jmIJBB2UkKab5iXiQkWquJCtvgiPqQtCGJTP
-cjnhsUPgKM+351psE2tJs//jGHyJizNdrDPXp/naOlXJWBD5qu9ats9LS98q
------END CERTIFICATE-----
-
------BEGIN CERTIFICATE-----
-MIICPDCCAaUCEHC65B0Q2Sk0tjjKewPMur8wDQYJKoZIhvcNAQECBQAwXzELMAkG
-A1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMTcwNQYDVQQLEy5DbGFz
-cyAzIFB1YmxpYyBQcmltYXJ5IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MB4XDTk2
-MDEyOTAwMDAwMFoXDTI4MDgwMTIzNTk1OVowXzELMAkGA1UEBhMCVVMxFzAVBgNV
-BAoTDlZlcmlTaWduLCBJbmMuMTcwNQYDVQQLEy5DbGFzcyAzIFB1YmxpYyBQcmlt
-YXJ5IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MIGfMA0GCSqGSIb3DQEBAQUAA4GN
-ADCBiQKBgQDJXFme8huKARS0EN8EQNvjV69qRUCPhAwL0TPZ2RHP7gJYHyX3KqhE
-BarsAx94f56TuZoAqiN91qyFomNFx3InzPRMxnVx0jnvT0Lwdd8KkMaOIG+YD/is
-I19wKTakyYbnsZogy1Olhec9vn2a/iRFM9x2Fe0PonFkTGUugWhFpwIDAQABMA0G
-CSqGSIb3DQEBAgUAA4GBALtMEivPLCYATxQT3ab7/AoRhIzzKBxnki98tsX63/Do
-lbwdj2wsqFHMc9ikwFPwTtYmwHYBV4GSXiHx0bH/59AhWM1pF+NEHJwZRDmJXNyc
-AA9WjQKZ7aKQRUzkuxCkPfAyAw7xzvjoyVGM5mKf5p/AfbdynMk2OmufTqj/ZA1k
------END CERTIFICATE-----
-
------BEGIN CERTIFICATE-----
-MIIDAjCCAmsCEH3Z/gfPqB63EHln+6eJNMYwDQYJKoZIhvcNAQEFBQAwgcExCzAJ
-BgNVBAYTAlVTMRcwFQYDVQQKEw5WZXJpU2lnbiwgSW5jLjE8MDoGA1UECxMzQ2xh
-c3MgMyBQdWJsaWMgUHJpbWFyeSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eSAtIEcy
-MTowOAYDVQQLEzEoYykgMTk5OCBWZXJpU2lnbiwgSW5jLiAtIEZvciBhdXRob3Jp
-emVkIHVzZSBvbmx5MR8wHQYDVQQLExZWZXJpU2lnbiBUcnVzdCBOZXR3b3JrMB4X
-DTk4MDUxODAwMDAwMFoXDTI4MDgwMTIzNTk1OVowgcExCzAJBgNVBAYTAlVTMRcw
-FQYDVQQKEw5WZXJpU2lnbiwgSW5jLjE8MDoGA1UECxMzQ2xhc3MgMyBQdWJsaWMg
-UHJpbWFyeSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eSAtIEcyMTowOAYDVQQLEzEo
-YykgMTk5OCBWZXJpU2lnbiwgSW5jLiAtIEZvciBhdXRob3JpemVkIHVzZSBvbmx5
-MR8wHQYDVQQLExZWZXJpU2lnbiBUcnVzdCBOZXR3b3JrMIGfMA0GCSqGSIb3DQEB
-AQUAA4GNADCBiQKBgQDMXtERXVxp0KvTuWpMmR9ZmDCOFoUgRm1HP9SFIIThbbP4
-pO0M8RcPO/mn+SXXwc+EY/J8Y8+iR/LGWzOOZEAEaMGAuWQcRXfH2G71lSk8UOg0
-13gfqLptQ5GVj0VXXn7F+8qkBOvqlzdUMG+7AUcyM83cV5tkaWH4mx0ciU9cZwID
-AQABMA0GCSqGSIb3DQEBBQUAA4GBAFFNzb5cy5gZnBWyATl4Lk0PZ3BwmcYQWpSk
-U01UbSuvDV1Ai2TT1+7eVmGSX6bEHRBhNtMsJzzoKQm5EWR0zLVznxxIqbxhAe7i
-F6YM40AIOw7n60RzKprxaZLvcRTDOaxxp5EJb+RxBrO6WVcmeQD2+A2iMzAo1KpY
-oJ2daZH9
------END CERTIFICATE-----
-
------BEGIN CERTIFICATE-----
-MIIEGjCCAwICEQCbfgZJoz5iudXukEhxKe9XMA0GCSqGSIb3DQEBBQUAMIHKMQsw
-CQYDVQQGEwJVUzEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4xHzAdBgNVBAsTFlZl
-cmlTaWduIFRydXN0IE5ldHdvcmsxOjA4BgNVBAsTMShjKSAxOTk5IFZlcmlTaWdu
-LCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxRTBDBgNVBAMTPFZlcmlT
-aWduIENsYXNzIDMgUHVibGljIFByaW1hcnkgQ2VydGlmaWNhdGlvbiBBdXRob3Jp
-dHkgLSBHMzAeFw05OTEwMDEwMDAwMDBaFw0zNjA3MTYyMzU5NTlaMIHKMQswCQYD
-VQQGEwJVUzEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4xHzAdBgNVBAsTFlZlcmlT
-aWduIFRydXN0IE5ldHdvcmsxOjA4BgNVBAsTMShjKSAxOTk5IFZlcmlTaWduLCBJ
-bmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxRTBDBgNVBAMTPFZlcmlTaWdu
-IENsYXNzIDMgUHVibGljIFByaW1hcnkgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkg
-LSBHMzCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMu6nFL8eB8aHm8b
-N3O9+MlrlBIwT/A2R/XQkQr1F8ilYcEWQE37imGQ5XYgwREGfassbqb1EUGO+i2t
-KmFZpGcmTNDovFJbcCAEWNF6yaRpvIMXZK0Fi7zQWM6NjPXr8EJJC52XJ2cybuGu
-kxUccLwgTS8Y3pKI6GyFVxEa6X7jJhFUokWWVYPKMIno3Nij7SqAP395ZVc+FSBm
-CC+Vk7+qRy+oRpfwEuL+wgorUeZ25rdGt+INpsyow0xZVYnm6FNcHOqd8GIWC6fJ
-Xwzw3sJ2zq/3avL6QaaiMxTJ5Xpj055iN9WFZZ4O5lMkdBteHRJTW8cs54NJOxWu
-imi5V5cCAwEAATANBgkqhkiG9w0BAQUFAAOCAQEAERSWwauSCPc/L8my/uRan2Te
-2yFPhpk0djZX3dAVL8WtfxUfN2JzPtTnX84XA9s1+ivbrmAJXx5fj267Cz3qWhMe
-DGBvtcC1IyIuBwvLqXTLR7sdwdela8wv0kL9Sd2nic9TutoAWii/gt/4uhMdUIaC
-/Y4wjylGsB49Ndo4YhYYSq3mtlFs3q9i6wHQHiT+eo8SGhJouPtmmRQURVyu565p
-F4ErWjfJXir0xuKhXFSbplQAz/DxwceYMBo7Nhbbo27q/a2ywtrvAkcTisDxszGt
-TxzhT5yvDwyd93gN2PQ1VoDat20Xj50egWTh/sVFuq1ruQp6Tk9LhO5L8X3dEQ==
------END CERTIFICATE-----
-
------BEGIN CERTIFICATE-----
-MIIDAjCCAmsCEDKIjprS9esTR/h/xCA3JfgwDQYJKoZIhvcNAQEFBQAwgcExCzAJ
-BgNVBAYTAlVTMRcwFQYDVQQKEw5WZXJpU2lnbiwgSW5jLjE8MDoGA1UECxMzQ2xh
-c3MgNCBQdWJsaWMgUHJpbWFyeSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eSAtIEcy
-MTowOAYDVQQLEzEoYykgMTk5OCBWZXJpU2lnbiwgSW5jLiAtIEZvciBhdXRob3Jp
-emVkIHVzZSBvbmx5MR8wHQYDVQQLExZWZXJpU2lnbiBUcnVzdCBOZXR3b3JrMB4X
-DTk4MDUxODAwMDAwMFoXDTI4MDgwMTIzNTk1OVowgcExCzAJBgNVBAYTAlVTMRcw
-FQYDVQQKEw5WZXJpU2lnbiwgSW5jLjE8MDoGA1UECxMzQ2xhc3MgNCBQdWJsaWMg
-UHJpbWFyeSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eSAtIEcyMTowOAYDVQQLEzEo
-YykgMTk5OCBWZXJpU2lnbiwgSW5jLiAtIEZvciBhdXRob3JpemVkIHVzZSBvbmx5
-MR8wHQYDVQQLExZWZXJpU2lnbiBUcnVzdCBOZXR3b3JrMIGfMA0GCSqGSIb3DQEB
-AQUAA4GNADCBiQKBgQC68OTP+cSuhVS5B1f5j8V/aBH4xBewRNzjMHPVKmIquNDM
-HO0oW369atyzkSTKQWI8/AIBvxwWMZQFl3Zuoq29YRdsTjCG8FE3KlDHqGKB3FtK
-qsGgtG7rL+VXxbErQHDbWk2hjh+9Ax/YA9SPTJlxvOKCzFjomDqG04Y48wApHwID
-AQABMA0GCSqGSIb3DQEBBQUAA4GBAIWMEsGnuVAVess+rLhDityq3RS6iYF+ATwj
-cSGIL4LcY/oCRaxFWdcqWERbt5+BO5JoPeI3JPV7bI92NZYJqFmduc4jq3TWg/0y
-cyfYaT5DdPauxYma51N86Xv2S/PBZYPejYqcPIiNOVn8qj8ijaHBZlCBckztImRP
-T8qAkbYp
------END CERTIFICATE-----
-
------BEGIN CERTIFICATE-----
-MIIEGjCCAwICEQDsoKeLbnVqAc/EfMwvlF7XMA0GCSqGSIb3DQEBBQUAMIHKMQsw
-CQYDVQQGEwJVUzEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4xHzAdBgNVBAsTFlZl
-cmlTaWduIFRydXN0IE5ldHdvcmsxOjA4BgNVBAsTMShjKSAxOTk5IFZlcmlTaWdu
-LCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxRTBDBgNVBAMTPFZlcmlT
-aWduIENsYXNzIDQgUHVibGljIFByaW1hcnkgQ2VydGlmaWNhdGlvbiBBdXRob3Jp
-dHkgLSBHMzAeFw05OTEwMDEwMDAwMDBaFw0zNjA3MTYyMzU5NTlaMIHKMQswCQYD
-VQQGEwJVUzEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4xHzAdBgNVBAsTFlZlcmlT
-aWduIFRydXN0IE5ldHdvcmsxOjA4BgNVBAsTMShjKSAxOTk5IFZlcmlTaWduLCBJ
-bmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxRTBDBgNVBAMTPFZlcmlTaWdu
-IENsYXNzIDQgUHVibGljIFByaW1hcnkgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkg
-LSBHMzCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAK3LpRFpxlmr8Y+1
-GQ9Wzsy1HyDkniYlS+BzZYlZ3tCD5PUPtbut8XzoIfzk6AzufEUiGXaStBO3IFsJ
-+mGuqPKljYXCKtbeZjbSmwL0qJJgfJxptI8kHtCGUvYynEFYHiK9zUVilQhu0Gbd
-U6LM8BDcVHOLBKFGMzNcF0C5nk3T875Vg+ixiY5afJqWIpA7iCXy0lOIAgwLePLm
-NxdLMEYH5IBtptiWLugs+BGzOA1mppvqySNb247i8xOOGlktqgLw7KSHZtzBP/XY
-ufTsgsbSPZUd5cBPhMnZo0QoBmrXRazwa2rvTl/4EYIeOGM0ZlDUPpNz+jDDZq3/
-ky2X7wMCAwEAATANBgkqhkiG9w0BAQUFAAOCAQEAj/ola09b5KROJ1WrIhVZPMq1
-CtRK26vdoV9TxaBXOcLORyu+OshWv8LZJxA6sQU8wHcxuzrTBXttmhwwjIDLk5Mq
-g6sFUYICABFna/OIYUdfA5PVWw3g8dShMjWFsjrbsIKr0csKvE+MW8VLADsfKoKm
-fjaF3H48ZwC15DtS4KjrXRX5xm3wrR0OhbepmnMUWluPQSjA1egtTaRezarZ7c7c
-2NU8Qh0XwRJdRTjDOPP8hS6DRkiy1yBfkjaP53kPmF6Z6PDQpLv1U70qzlmwr25/
-bLvSHgCwIe34QWKCudiyxLtGUPMxxY8BqHTr9Xgn2uf3ZkPznoM+IKrDNWCRzg==
------END CERTIFICATE-----
-
------BEGIN CERTIFICATE-----
-MIICNDCCAaECEAKtZn5ORf5eV288mBle3cAwDQYJKoZIhvcNAQECBQAwXzELMAkG
-A1UEBhMCVVMxIDAeBgNVBAoTF1JTQSBEYXRhIFNlY3VyaXR5LCBJbmMuMS4wLAYD
-VQQLEyVTZWN1cmUgU2VydmVyIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MB4XDTk0
-MTEwOTAwMDAwMFoXDTEwMDEwNzIzNTk1OVowXzELMAkGA1UEBhMCVVMxIDAeBgNV
-BAoTF1JTQSBEYXRhIFNlY3VyaXR5LCBJbmMuMS4wLAYDVQQLEyVTZWN1cmUgU2Vy
-dmVyIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MIGbMA0GCSqGSIb3DQEBAQUAA4GJ
-ADCBhQJ+AJLOesGugz5aqomDV6wlAXYMra6OLDfO6zV4ZFQD5YRAUcm/jwjiioII
-0haGN1XpsSECrXZogZoFokvJSyVmIlZsiAeP94FZbYQHZXATcXY+m3dM41CJVphI
-uR2nKRoTLkoRWZweFdVJVCxzOmmCsZc5nG1wZ0jl3S3WyB57AgMBAAEwDQYJKoZI
-hvcNAQECBQADfgBl3X7hsuyw4jrg7HFGmhkRuNPHoLQDQCYCPgmc4RKz0Vr2N6W3
-YQO2WxZpO8ZECAyIUwxrl0nHPjXcbLm7qt9cuzovk2C2qUtN8iD3zV9/ZHuO3ABc
-1/p3yjkWWW8O6tO1g39NTUJWdrTJXwT4OPjr0l91X817/OWOgHz8UA==
------END CERTIFICATE-----
-
------BEGIN CERTIFICATE-----
-MIIDDDCCAfSgAwIBAgIDAQAgMA0GCSqGSIb3DQEBBQUAMD4xCzAJBgNVBAYTAlBM
-MRswGQYDVQQKExJVbml6ZXRvIFNwLiB6IG8uby4xEjAQBgNVBAMTCUNlcnR1bSBD
-QTAeFw0wMjA2MTExMDQ2MzlaFw0yNzA2MTExMDQ2MzlaMD4xCzAJBgNVBAYTAlBM
-MRswGQYDVQQKExJVbml6ZXRvIFNwLiB6IG8uby4xEjAQBgNVBAMTCUNlcnR1bSBD
-QTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAM6xwS7TT3zNJc4YPk/E
-jG+AanPIW1H4m9LcuwBcsaD8dQPugfCI7iNS6eYVM42sLQnFdvkrOYCJ5JdLkKWo
-ePhzQ3ukYbDYWMzhbGZ+nPMJXlVjhNWo7/OxLjBos8Q82KxujZlakE403Daaj4GI
-ULdtlkIJ89eVgw1BS7Bqa/j8D35in2fE7SZfECYPCE/wpFcozo+47UX2bu4lXapu
-Ob7kky/ZR6By6/qmW6/KUz/iDsaWVhFu9+lmqSbYf5VT7QqFiLpPKaVCjF62/IUg
-AKpoC6EahQGcxEZjgoi2IrHu/qpGWX7PNSzVttpd90gzFFS269lvzs2I1qsb2pY7
-HVkCAwEAAaMTMBEwDwYDVR0TAQH/BAUwAwEB/zANBgkqhkiG9w0BAQUFAAOCAQEA
-uI3O7+cUus/usESSbLQ5PqKEbq24IXfS1HeCh+YgQYHu4vgRt2PRFze+GXYkHAQa
-TOs9qmdvLdTN/mUxcMUbpgIKumB7bVjCmkn+YzILa+M6wKyrO7Do0wlRjBCDxjTg
-xSvgGrZgFCdsMneMvLJymM/NzD+5yCRCFNZX/OYmQ6kd5YCQzgNUKD73P9P4Te1q
-CjqTE5s7FCMTY5w/0YcneeVMUeMBrYVdGjux1XMQpNPyvG5k9VpWkKjHDkx0Dy5x
-O/fIR/RpbxXyEV6DHpx8Uq79AtoSqFlnGNu8cN2bsWntgM6JQEhqDjXKKWYVIZQs
-6GAqm4VKQPNriiTsBhYscw==
------END CERTIFICATE-----
-
------BEGIN CERTIFICATE-----
-MIICjTCCAXWgAwIBAgIDAQAhMA0GCSqGSIb3DQEBBQUAMD4xCzAJBgNVBAYTAlBM
-MRswGQYDVQQKExJVbml6ZXRvIFNwLiB6IG8uby4xEjAQBgNVBAMTCUNlcnR1bSBD
-QTAeFw0wMjA3MTIxNjMxNTNaFw0xMjA3MTIxNjMxNTNaMEMxCzAJBgNVBAYTAlBM
-MRswGQYDVQQKExJVbml6ZXRvIFNwLiB6IG8uby4xFzAVBgNVBAMTDkNlcnR1bSBM
-ZXZlbCBJMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCl73pZ9DFcn7Qy0qBZ
-K+So18cav7drUrJ8SiYOlDDVskt81+eIcL/4FelTSGjuAOvYdmm+HGYG998RPB0i
-Z+Ak67vXFJ537vRWOcu6aMjNuAwu8BOdc5eSgB0Y8X4+3LOYfugtaZa8mrEQ8Hit
-0yLE9UBcU9J+4PmkVGecmZ8jZQIDAQABoxMwETAPBgNVHRMBAf8EBTADAQH/MA0G
-CSqGSIb3DQEBBQUAA4IBAQAlDS4aTmgK0YgmUvt/3zN7G2/ZrtBBCtONlUvC69c7
-TmLJWJ842y2AH7ryNXXkcsn6p0ZBTrTJ2tA2y/j2PXJeXrCkK/qAJIpM0l4u0MT7
-enY5akasduHp2NXMP9vDlgMy7elU2s3nkOT79gfh5XttC+5D/x4JDNi1DMAA9hk1
-6DK4zWmDVfjkiP/G3fEndtJgNDQsyqnaQ3E3bljv3f1KJTjZUvtA2Ml6MP2hFRhg
-ZPsxuhW8QXidQYNiua1h7XUUiPiERLDLWZmfY6dxGrHXjSTx3shHNaQM0qkDs9gS
-6UK8uWJN2bf2YBnvGmzy0IQvx5wDCH7h8AdaBD6DgIG1
------END CERTIFICATE-----
-
------BEGIN CERTIFICATE-----
-MIICjjCCAXagAwIBAgIDAQAiMA0GCSqGSIb3DQEBBQUAMD4xCzAJBgNVBAYTAlBM
-MRswGQYDVQQKExJVbml6ZXRvIFNwLiB6IG8uby4xEjAQBgNVBAMTCUNlcnR1bSBD
-QTAeFw0wMjA3MTIxNjMyMDNaFw0xMjA3MTIxNjMyMDNaMEQxCzAJBgNVBAYTAlBM
-MRswGQYDVQQKExJVbml6ZXRvIFNwLiB6IG8uby4xGDAWBgNVBAMTD0NlcnR1bSBM
-ZXZlbCBJSTCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAyMQSaN5fA94hNE46
-bMKpGUb5yIPEowReGZzGttYBQnC6oUOy+iM3md8WerzXeBKf7iIZEDW2HAp7BKhS
-4rMB6taxT07vDtkNfEKwOk6X7dODw6KY4mxnzjmjh5pf2feKKJ3MoZxi2HAz2a6J
-vHKFMq8dAlGL2GBtLvzlFp2jwkMCAwEAAaMTMBEwDwYDVR0TAQH/BAUwAwEB/zAN
-BgkqhkiG9w0BAQUFAAOCAQEAWo3wgy+/0B7UiTCu4Wn1rvGRXIUtbPNp4Bc4PP/i
-1q6pPheIe0ooCopuqnDX9maTHhZeNpnApgCUSbyw71EaOremD7HjWXASRUTylhwL
-5FdSx+D6MgF2uW9uwZ+NErkeRJYT2aRXe5FBOVIseC4g93Ay0D8Hg50MkAC5pQqW
-+8GSszT94NzT7ppIaMtq53PZpUtLGiL3UBZ5vUJ5pE4lLKD7Ce+pXzZevy/MnkMG
-D1L7LgjRWL17OcMlASFETyUTajNjvxMy+oM4C22rwHRh2WQrvgw5MO+Q3UyYA1r5
-VrSaqgQ1g06ZcQt+mhzoc2swlOSwm8iis8H6orR8xmCWrA==
------END CERTIFICATE-----
-
------BEGIN CERTIFICATE-----
-MIICjzCCAXegAwIBAgIDAQAjMA0GCSqGSIb3DQEBBQUAMD4xCzAJBgNVBAYTAlBM
-MRswGQYDVQQKExJVbml6ZXRvIFNwLiB6IG8uby4xEjAQBgNVBAMTCUNlcnR1bSBD
-QTAeFw0wMjA3MTIxNjMyMTdaFw0xMjA3MTIxNjMyMTdaMEUxCzAJBgNVBAYTAlBM
-MRswGQYDVQQKExJVbml6ZXRvIFNwLiB6IG8uby4xGTAXBgNVBAMTEENlcnR1bSBM
-ZXZlbCBJSUkwgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBALZjBbfGFmlsLjPe
-pWaDwG0LqhF11lWKabaHi1sQhK3qomHY7Em7qpL11dUQ1vsMcnnpzz/J0AEH6KDh
-+yAyXV1SE/tVToLYYByZK+JGacLYIYF9aCwV8AhqyzOGurO5QX6vLboXB2WNnwmX
-hyNVKUgnUVy4ktAR2qZJIw5Bjsn/AgMBAAGjEzARMA8GA1UdEwEB/wQFMAMBAf8w
-DQYJKoZIhvcNAQEFBQADggEBAIsLt3vKCZqd/gui45ovm3FSO6FLjzzq4pagPvbN
-nZ39HrhRaCpqkHDAj71L5L27U3eW2D4ILL0iUmZadbC4i3at/PUL9mjhGlajcCN8
-EF6IXGT87Tbcii735jRaaXSbEY4YhNOg9DPBoD4uJMkA8Z0Y/6lYmk4S6KUMCzzt
-t5zZBiWjdd08yFi5VGMvpE74KVOMdMa3JNVaR0XvT0Q8yXo1XKCrY9OFIxnhVgDb
-hzr9fwjKWDwu8kxhT9khAETm0BU2Buu+CTasaJdT/bBR2YEx9qcN7XyXTeDtkOO5
-QeGSqFgzquwjWEbKhf7l/e+efdRCg+ikH3O5snHB6iS+dgg=
------END CERTIFICATE-----
-
------BEGIN CERTIFICATE-----
-MIICjjCCAXagAwIBAgIDAQAkMA0GCSqGSIb3DQEBBQUAMD4xCzAJBgNVBAYTAlBM
-MRswGQYDVQQKExJVbml6ZXRvIFNwLiB6IG8uby4xEjAQBgNVBAMTCUNlcnR1bSBD
-QTAeFw0wMjA3MTIxNjMyMzVaFw0xMjA3MTIxNjMyMzVaMEQxCzAJBgNVBAYTAlBM
-MRswGQYDVQQKExJVbml6ZXRvIFNwLiB6IG8uby4xGDAWBgNVBAMTD0NlcnR1bSBM
-ZXZlbCBJVjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAmyb1lKqCAKE4juAy
-6lpVNUl6aJ2DuWPSiJ3BBk3/6ty6I4Lr2Dpy1b1vjVelhaFsVKEDgK2JyQlk9XMq
-LPZI2Ql166mJiPKFg77aY/W78EcQfGyjnRvVcs0tG40mAs/p84OEpFcVe/RSqDrD
-/D7R01u+Wj5xLl0PUsFplIGDbikCAwEAAaMTMBEwDwYDVR0TAQH/BAUwAwEB/zAN
-BgkqhkiG9w0BAQUFAAOCAQEAPS99JujKGVRfa50TKfieq+uK1SxjidErYaZTb3cJ
-NNfQDYn6nk4lnrnab5EUVhO/NegP2yIu3YOnZGfxFDhvVozMTKKAB5r5XKOvzsP9
-9C9578PVMLozucfUMCSwau7Z4l5uuQOHuzjzlVLCibbbf4RwfvZ7hh5sB5c0pNbw
-RQq64RXQUUEvul/W9gUeT9ISHOsASGTq+HJ5i7vNARjukEAXW/maqs9vyTWWbGVI
-1FSOnVyteymq4Xk+9YlIyNPNyacgnsMnU72XKBLDS0KJdhIWALFAZI4dSh5WZNuW
-ZguUnEmeH81lLbR+p/N3iuN8+oSo8UXik92jxeUY2tQJUA==
------END CERTIFICATE-----
-
------BEGIN CERTIFICATE-----
-MIIDXDCCAsWgAwIBAgICA+owDQYJKoZIhvcNAQEEBQAwgbwxCzAJBgNVBAYTAkRF
-MRAwDgYDVQQIEwdIYW1idXJnMRAwDgYDVQQHEwdIYW1idXJnMTowOAYDVQQKEzFU
-QyBUcnVzdENlbnRlciBmb3IgU2VjdXJpdHkgaW4gRGF0YSBOZXR3b3JrcyBHbWJI
-MSIwIAYDVQQLExlUQyBUcnVzdENlbnRlciBDbGFzcyAyIENBMSkwJwYJKoZIhvcN
-AQkBFhpjZXJ0aWZpY2F0ZUB0cnVzdGNlbnRlci5kZTAeFw05ODAzMDkxMTU5NTla
-Fw0xMTAxMDExMTU5NTlaMIG8MQswCQYDVQQGEwJERTEQMA4GA1UECBMHSGFtYnVy
-ZzEQMA4GA1UEBxMHSGFtYnVyZzE6MDgGA1UEChMxVEMgVHJ1c3RDZW50ZXIgZm9y
-IFNlY3VyaXR5IGluIERhdGEgTmV0d29ya3MgR21iSDEiMCAGA1UECxMZVEMgVHJ1
-c3RDZW50ZXIgQ2xhc3MgMiBDQTEpMCcGCSqGSIb3DQEJARYaY2VydGlmaWNhdGVA
-dHJ1c3RjZW50ZXIuZGUwgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBANo46O0y
-AClxgwENv4wB3NrGrTmkqYov1YtcaF9QxmL1Zr3KkSLsqh1R1z2zUbKDTl3LSbDw
-TFXlay3HhQswHJJOgtTKAu33b77c4OMUuAVT8pr0VotanoWT0bSCVq5Nu6hLVxa8
-/vhYnvgpjbB7zXjJT6yLZwzxnPv8V5tXXE8NAgMBAAGjazBpMA8GA1UdEwEB/wQF
-MAMBAf8wDgYDVR0PAQH/BAQDAgGGMDMGCWCGSAGG+EIBCAQmFiRodHRwOi8vd3d3
-LnRydXN0Y2VudGVyLmRlL2d1aWRlbGluZXMwEQYJYIZIAYb4QgEBBAQDAgAHMA0G
-CSqGSIb3DQEBBAUAA4GBAIRS+yjf/x91AbwBvgRWl2p0QiQxg/lGsQaKic+WLDO/
-jLVfenKhhQbOhvgFjuj5Jcrag4wGrOs2bYWRNAQ29ELw+HkuCkhcq8xRT3h2oNms
-Gb0q0WkEKJHKNhAngFdb0lz1wlurZIFjdFH0l7/NEij3TWZ/p/AcASZ4smZHcFFk
------END CERTIFICATE-----
-
------BEGIN CERTIFICATE-----
-MIIDXDCCAsWgAwIBAgICA+swDQYJKoZIhvcNAQEEBQAwgbwxCzAJBgNVBAYTAkRF
-MRAwDgYDVQQIEwdIYW1idXJnMRAwDgYDVQQHEwdIYW1idXJnMTowOAYDVQQKEzFU
-QyBUcnVzdENlbnRlciBmb3IgU2VjdXJpdHkgaW4gRGF0YSBOZXR3b3JrcyBHbWJI
-MSIwIAYDVQQLExlUQyBUcnVzdENlbnRlciBDbGFzcyAzIENBMSkwJwYJKoZIhvcN
-AQkBFhpjZXJ0aWZpY2F0ZUB0cnVzdGNlbnRlci5kZTAeFw05ODAzMDkxMTU5NTla
-Fw0xMTAxMDExMTU5NTlaMIG8MQswCQYDVQQGEwJERTEQMA4GA1UECBMHSGFtYnVy
-ZzEQMA4GA1UEBxMHSGFtYnVyZzE6MDgGA1UEChMxVEMgVHJ1c3RDZW50ZXIgZm9y
-IFNlY3VyaXR5IGluIERhdGEgTmV0d29ya3MgR21iSDEiMCAGA1UECxMZVEMgVHJ1
-c3RDZW50ZXIgQ2xhc3MgMyBDQTEpMCcGCSqGSIb3DQEJARYaY2VydGlmaWNhdGVA
-dHJ1c3RjZW50ZXIuZGUwgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBALa0wTUF
-Lg2N7KBAahwOJ6ZQkmtQGwfeLud2zODa/ISoXoxjaitN2U4CdhHBC/KNecoAtvGw
-Dtf7pBc9r6tpepYnv68zoZoqWarEtTcI8hKlMbZD9TKWcSgoq40oht+77uMMfTDW
-w1Krj10nnGvAo+cFa1dJRLNu6mTP0o56UHd3AgMBAAGjazBpMA8GA1UdEwEB/wQF
-MAMBAf8wDgYDVR0PAQH/BAQDAgGGMDMGCWCGSAGG+EIBCAQmFiRodHRwOi8vd3d3
-LnRydXN0Y2VudGVyLmRlL2d1aWRlbGluZXMwEQYJYIZIAYb4QgEBBAQDAgAHMA0G
-CSqGSIb3DQEBBAUAA4GBABY9xs3Bu4VxhUafPiCPUSiZ7C1FIWMjWwS7TJC4iJIE
-Tb19AaM/9uzO8d7+feXhPrvGq14L3T2WxMup1Pkm5gZOngylerpuw3yCGdHHsbHD
-2w2Om0B8NwvxXej9H5CIpQ5ON2QhqE6NtJ/x3kit1VYYUimLRzQSCdS7kjXvD9s0
------END CERTIFICATE-----
-
------BEGIN CERTIFICATE-----
-MIIG2jCCBcKgAwIBAgIDFc/9MA0GCSqGSIb3DQEBBQUAMIGsMQswCQYDVQQGEwJE
-RTEhMB8GA1UEChMYRGV1dHNjaGVzIEZvcnNjaHVuZ3NuZXR6MRYwFAYDVQQLEw1E
-Rk4tQ0VSVCBHbWJIMRAwDgYDVQQLEwdERk4tUENBMS0wKwYDVQQDEyRERk4gVG9w
-bGV2ZWwgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkxITAfBgkqhkiG9w0BCQEWEmNl
-cnRpZnlAcGNhLmRmbi5kZTAeFw0wMTEyMDExMjExMTZaFw0xMDAxMzExMjExMTZa
-MIGsMQswCQYDVQQGEwJERTEhMB8GA1UEChMYRGV1dHNjaGVzIEZvcnNjaHVuZ3Nu
-ZXR6MRYwFAYDVQQLEw1ERk4tQ0VSVCBHbWJIMRAwDgYDVQQLEwdERk4tUENBMS0w
-KwYDVQQDEyRERk4gVG9wbGV2ZWwgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkxITAf
-BgkqhkiG9w0BCQEWEmNlcnRpZnlAcGNhLmRmbi5kZTCCASIwDQYJKoZIhvcNAQEB
-BQADggEPADCCAQoCggEBAMF5rhMt6zmhxK5oWPwT2FG7Up7T5DovHSD/YKPIRxsv
-DWmC4dTzByIBLnOmEflk+5KAqAYao6eY1qF0hR4WiS4DjCsn7l3zNo/4i2eF4EmG
-EksBygb4tRlTThcO7heFX+Du5qFoks+ONqa70RlwOr2l53KVwjMXBCtCLFSKRLVu
-xeh5+Smkm+FuOmwEugndM2n74Djjyf9DCOaHGZrHwVDh+Vpy5Ny4bKCSboujRxd5
-NxsStUshDVbTeS3B8TuzAJbywYWEE7erox+7WTfQr8ivSCBhrNJ36VRjAb8hiV9I
-uy2TmJYo2oPyC8a3eM3xj9Ku2IW3tS2zpfiIzt9xvFMCAwEAAaOCAwEwggL9MA8G
-A1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFAYL+rX4SHijILELPs+g0MTRf33QMIHb
-BgNVHSMEgdMwgdCAFAYL+rX4SHijILELPs+g0MTRf33QoYGypIGvMIGsMQswCQYD
-VQQGEwJERTEhMB8GA1UEChMYRGV1dHNjaGVzIEZvcnNjaHVuZ3NuZXR6MRYwFAYD
-VQQLEw1ERk4tQ0VSVCBHbWJIMRAwDgYDVQQLEwdERk4tUENBMS0wKwYDVQQDEyRE
-Rk4gVG9wbGV2ZWwgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkxITAfBgkqhkiG9w0B
-CQEWEmNlcnRpZnlAcGNhLmRmbi5kZYIDFc/9MAsGA1UdDwQEAwIBBjARBglghkgB
-hvhCAQEEBAMCAAcwgaUGA1UdHwSBnTCBmjBLoEmgR4ZFaHR0cDovL3d3dy5kZm4t
-cGNhLmRlL2NlcnRpZmljYXRpb24veDUwOS9nMS9kYXRhL2NybHMvcm9vdC1jYS1j
-cmwuY3J4MEugSaBHhkVodHRwOi8vd3d3LmRmbi1wY2EuZGUvY2VydGlmaWNhdGlv
-bi94NTA5L2cxL2RhdGEvY3Jscy9yb290LWNhLWNybC5jcmwwOAYJYIZIAYb4QgED
-BCsWKWh0dHBzOi8vd3d3LmRmbi1wY2EuZGUvY2dpL2NoZWNrLXJldi5jZ2k/MEsG
-CWCGSAGG+EIBCAQ+FjxodHRwOi8vd3d3LmRmbi1wY2EuZGUvY2VydGlmaWNhdGlv
-bi9wb2xpY2llcy94NTA5cG9saWN5Lmh0bWwwOAYJYIZIAYb4QgENBCsWKVRoZSBE
-Rk4gVG9wLUxldmVsIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MGQGA1UdIARdMFsw
-WQYLKwYBBAHZGoIsAQEwSjBIBggrBgEFBQcCARY8aHR0cDovL3d3dy5kZm4tcGNh
-LmRlL2NlcnRpZmljYXRpb24vcG9saWNpZXMveDUwOXBvbGljeS5odG1sMA0GCSqG
-SIb3DQEBBQUAA4IBAQAmbai6JMt7nkuavyvxKzLGn04Gyt0zKrp8zmERp4inktvY
-7p+vkaomYu2QYC7cHq0tlrPXQQhhetjiXGb+36aJtHDkEA0NwrJzYnHgPsvx7z0w
-ysENP4wxf97KsSWm07RY+f6/gIQF7Je7CW30Rzq7N6R0NMBs32mJgdn3ntqlFNw3
-Nbs050FEjPNq54RdawlJo85x+w+QJd7uQM4yZjHpRhvwgte9Ge1UqCUdpMsLHzeM
-KJ0B9GhwIIqOJCMiPgKjcUBrn6ehSX70POvXvjjE2+FzhPGTyTkS474d2UCAnL9q
-hPrdWXzBjOumOjhJutT1aecm9eljlshmh1cNen00
------END CERTIFICATE-----
-
------BEGIN CERTIFICATE-----
-MIIEZDCCA0ygAwIBAgIQRL4Mi1AAJLQR0zYwS8AzdzANBgkqhkiG9w0BAQUFADCB
-ozELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAlVUMRcwFQYDVQQHEw5TYWx0IExha2Ug
-Q2l0eTEeMBwGA1UEChMVVGhlIFVTRVJUUlVTVCBOZXR3b3JrMSEwHwYDVQQLExho
-dHRwOi8vd3d3LnVzZXJ0cnVzdC5jb20xKzApBgNVBAMTIlVUTi1VU0VSRmlyc3Qt
-TmV0d29yayBBcHBsaWNhdGlvbnMwHhcNOTkwNzA5MTg0ODM5WhcNMTkwNzA5MTg1
-NzQ5WjCBozELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAlVUMRcwFQYDVQQHEw5TYWx0
-IExha2UgQ2l0eTEeMBwGA1UEChMVVGhlIFVTRVJUUlVTVCBOZXR3b3JrMSEwHwYD
-VQQLExhodHRwOi8vd3d3LnVzZXJ0cnVzdC5jb20xKzApBgNVBAMTIlVUTi1VU0VS
-Rmlyc3QtTmV0d29yayBBcHBsaWNhdGlvbnMwggEiMA0GCSqGSIb3DQEBAQUAA4IB
-DwAwggEKAoIBAQCz+5Gh5DZVhawGNFugmliy+LUPBXeDrjKxdpJo7CNKyXY/45y2
-N3kDuatpjQclthln5LAbGHNhSuh+zdMvZOOmfAz6F4CjDUeJT1FxL+78P/m4FoCH
-iZMlIJpDgmkkdihZNaEdwH+DBmQWICzTSaSFtMBhf1EI+GgVkYDLpdXuOzr0hARe
-YFmnjDRy7rh4xdE7EkpvfmUnuaRVxblvQ6TFHSyZwFKkeEwVs0CYCGtDxgGwenv1
-axwiP8vv/6jQOkt2FZ7S0cYu49tXGzKiuG/ohqY/cKvlcJKrRB5AUPuco2LkbG6g
-yN7igEL66S/ozjIEj3yNtxyjNTwV3Z7DrpelAgMBAAGjgZEwgY4wCwYDVR0PBAQD
-AgHGMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFPqGydvguul49Uuo1hXf8NPh
-ahQ8ME8GA1UdHwRIMEYwRKBCoECGPmh0dHA6Ly9jcmwudXNlcnRydXN0LmNvbS9V
-VE4tVVNFUkZpcnN0LU5ldHdvcmtBcHBsaWNhdGlvbnMuY3JsMA0GCSqGSIb3DQEB
-BQUAA4IBAQCk8yXM0dSRgyLQzDKrm5ZONJFUICU0YV8qAhXhi6r/fWRRzwr/vH3Y
-IWp4yy9Rb/hCHTO967V7lMPDqaAt39EpHx3+jz+7qEUqf9FuVSTiuwL7MT++6Lzs
-QCv4AdRWOOTKRIK1YSAhZ2X28AvnNPilwpyjXEAfhZOVBt5P1CeptqX8Fs1zMT+4
-ZSfP1FMa8Kxun08FDAOBp4QpxFq9ZFdyrTvPNximmMatBrTcCKME1SmklpoSZ0qM
-YEWd8SOasACcaLWYUNPvji6SZbFIPiG+FTAqDbUMo2s/rn9X9R+WfN9v3YIwLGUb
-QErNaLly7HF27FSOH4UMAWr6pjisH8SE
------END CERTIFICATE-----
-
------BEGIN CERTIFICATE-----
-MIIEXjCCA0agAwIBAgIQRL4Mi1AAIbQR0ypoBqmtaTANBgkqhkiG9w0BAQUFADCB
-kzELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAlVUMRcwFQYDVQQHEw5TYWx0IExha2Ug
-Q2l0eTEeMBwGA1UEChMVVGhlIFVTRVJUUlVTVCBOZXR3b3JrMSEwHwYDVQQLExho
-dHRwOi8vd3d3LnVzZXJ0cnVzdC5jb20xGzAZBgNVBAMTElVUTiAtIERBVEFDb3Jw
-IFNHQzAeFw05OTA2MjQxODU3MjFaFw0xOTA2MjQxOTA2MzBaMIGTMQswCQYDVQQG
-EwJVUzELMAkGA1UECBMCVVQxFzAVBgNVBAcTDlNhbHQgTGFrZSBDaXR5MR4wHAYD
-VQQKExVUaGUgVVNFUlRSVVNUIE5ldHdvcmsxITAfBgNVBAsTGGh0dHA6Ly93d3cu
-dXNlcnRydXN0LmNvbTEbMBkGA1UEAxMSVVROIC0gREFUQUNvcnAgU0dDMIIBIjAN
-BgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA3+5YEKIrblXEjr8uRgnn4AgPLit6
-E5Qbvfa2gI5lBZMAHryv4g+OGQ0SR+ysraP6LnD43m77VkIVni5c7yPeIbkFdicZ
-D0/Ww5y0vpQZY/KmEQrrU0icvvIpOxboGqBMpsn0GFlowHDyUwDAXlCCpVZvNvlK
-4ESGoE1O1kduSUrLZ9emxAW5jh70/P/N5zbgnAVssjMiFdC04MwXwLLA9P4yPykq
-lXvY8qdOD1R8oQ2AswkDwf9c3V6aPryuvEeKaq5xyh+xKrhfQgUL7EYw0XILyulW
-bfXv33i+Ybqypa4ETLyorGkVl73v67SMvzX41MPRKA5cOp9wGDMgd8SirwIDAQAB
-o4GrMIGoMAsGA1UdDwQEAwIBxjAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBRT
-MtGzz3/64PGgXYVOktKeRR20TzA9BgNVHR8ENjA0MDKgMKAuhixodHRwOi8vY3Js
-LnVzZXJ0cnVzdC5jb20vVVROLURBVEFDb3JwU0dDLmNybDAqBgNVHSUEIzAhBggr
-BgEFBQcDAQYKKwYBBAGCNwoDAwYJYIZIAYb4QgQBMA0GCSqGSIb3DQEBBQUAA4IB
-AQAnNZcAiosovcYzMB4p/OL31ZjUQLtgyr+rFywJNn9Q+kHcrpY6CiM+iVnJowft
-Gzet/Hy+UUla3joKVAgWRcKZsYfNjGjgaQPpxE6YsjuMFrMOoAyYUJuTqXAJyCyj
-j98C5OBxOvG0I3KgqgHf35g+FFCgMSa9KOlaMCZ1+XtgHI3zzVAmbQQnmt/VDUVH
-KWss5nbZqSl9Mt3JNjy9rjXxEZ4du5A/EkdOjtd+D2JzHVImOBwYSf0wdJrE5SIv
-2MCN7ZF6TACPcn9d2t0bi0Vr591pl6jFVkwPDPafepE39peC4N1xaf92P2BNPM/3
-mfnGV/TJVTl4uix5yaaIK/QI
------END CERTIFICATE-----
-
------BEGIN CERTIFICATE-----
-MIIEMjCCAxqgAwIBAgIBATANBgkqhkiG9w0BAQUFADB7MQswCQYDVQQGEwJHQjEb
-MBkGA1UECAwSR3JlYXRlciBNYW5jaGVzdGVyMRAwDgYDVQQHDAdTYWxmb3JkMRow
-GAYDVQQKDBFDb21vZG8gQ0EgTGltaXRlZDEhMB8GA1UEAwwYQUFBIENlcnRpZmlj
-YXRlIFNlcnZpY2VzMB4XDTA0MDEwMTAwMDAwMFoXDTI4MTIzMTIzNTk1OVowezEL
-MAkGA1UEBhMCR0IxGzAZBgNVBAgMEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UE
-BwwHU2FsZm9yZDEaMBgGA1UECgwRQ29tb2RvIENBIExpbWl0ZWQxITAfBgNVBAMM
-GEFBQSBDZXJ0aWZpY2F0ZSBTZXJ2aWNlczCCASIwDQYJKoZIhvcNAQEBBQADggEP
-ADCCAQoCggEBAL5AnfRu4ep2hxxNRUSOvkbIgwadwSr+GB+O5AL686tdUIoWMQua
-BtDFcCLNSS1UY8y2bmhGC1Pqy0wkwLxyTurxFa70VJoSCsN6sjNg4tqJVfMiWPPe
-3M/vg4aijJRPn2jymJBGhCfHdr/jzDUsi14HZGWCwEiwqJH5YZ92IFCokcdmtet4
-YgNW8IoaE+oxox6gmf049vYnMlhvB/VruPsUK6+3qszWY19zjNoFmag4qMsXeDZR
-rOme9Hg6jc8P2ULimAyrL58OAd7vn5lJ8S3frHRNG5i1R8XlKdH5kBjHYpy+g8cm
-ez6KJcfA3Z3mNWgQIJ2P2N7Sw4ScDV7oL8kCAwEAAaOBwDCBvTAdBgNVHQ4EFgQU
-oBEKIz6W8Qfs4q8p74Klf9AwpLQwDgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQF
-MAMBAf8wewYDVR0fBHQwcjA4oDagNIYyaHR0cDovL2NybC5jb21vZG9jYS5jb20v
-QUFBQ2VydGlmaWNhdGVTZXJ2aWNlcy5jcmwwNqA0oDKGMGh0dHA6Ly9jcmwuY29t
-b2RvLm5ldC9BQUFDZXJ0aWZpY2F0ZVNlcnZpY2VzLmNybDANBgkqhkiG9w0BAQUF
-AAOCAQEACFb8AvCb6P+k+tZ7xkSAzk/ExfYAWMymtrwUSWgEdujm7l3sAg9g1o1Q
-GE8mTgHj5rCl7r+8dFRBv/38ErjHT1r0iWAFf2C3BUrz9vHCv8S5dIa2LX1rzNLz
-Rt0vxuBqw8M0Ayx9lt1awg6nCpnBBYurDC/zXDrPbDdVCYfeU0BsWO/8tqtlbgT2
-G9w84FoVxp7Z8VlIMCFlA2zs6SFz7JsDoeA3raAVGI/6ugLOpyypEBMs1OUIJqsi
-l2D4kF501KKaU73yqWjgom7C12yxow+ev+to51byrvLjKzg6CYG1a4XXvi3tPxq3
-smPi9WIsgtRqAEFQ8TmDn5XpNpaYbg==
------END CERTIFICATE-----
-
------BEGIN CERTIFICATE-----
-MIIEPzCCAyegAwIBAgIBATANBgkqhkiG9w0BAQUFADB+MQswCQYDVQQGEwJHQjEb
-MBkGA1UECAwSR3JlYXRlciBNYW5jaGVzdGVyMRAwDgYDVQQHDAdTYWxmb3JkMRow
-GAYDVQQKDBFDb21vZG8gQ0EgTGltaXRlZDEkMCIGA1UEAwwbU2VjdXJlIENlcnRp
-ZmljYXRlIFNlcnZpY2VzMB4XDTA0MDEwMTAwMDAwMFoXDTI4MTIzMTIzNTk1OVow
-fjELMAkGA1UEBhMCR0IxGzAZBgNVBAgMEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4G
-A1UEBwwHU2FsZm9yZDEaMBgGA1UECgwRQ29tb2RvIENBIExpbWl0ZWQxJDAiBgNV
-BAMMG1NlY3VyZSBDZXJ0aWZpY2F0ZSBTZXJ2aWNlczCCASIwDQYJKoZIhvcNAQEB
-BQADggEPADCCAQoCggEBAMBxM4KK0HDrc4eCQNUd5MvJDkKQ+d40uaG6EfQlhfPM
-cm3ye5drswfxdySRXyWP9nQ95IDC+DwN879A6vfIUtFyb+/Iq0G4bi4XKpVpDM3S
-HpR7LZQdqnXXs5jLrLxkU0C8j6ysNstcrbvd4JQX7NFc0L/vpZXJkMWwrPsbQ996
-CF23uPJAGysnnlDOXmWCiIxe004MeuoIkbY2qitC++rCoznl2yY4rYsK7hljxxwk
-3wN42ubqwUcaCwtGCd0C/N7Lh1/XMGNooa7cMqG6vv5Eq2i2pRcV/b3Vp6ea5EQz
-6YiO/O1R65NxTq0B50SOqy3LqP4BSUjwwN3HaNiS/j0CAwEAAaOBxzCBxDAdBgNV
-HQ4EFgQUPNiTiMLAggnMAZkGkyDpnnAJY08wDgYDVR0PAQH/BAQDAgEGMA8GA1Ud
-EwEB/wQFMAMBAf8wgYEGA1UdHwR6MHgwO6A5oDeGNWh0dHA6Ly9jcmwuY29tb2Rv
-Y2EuY29tL1NlY3VyZUNlcnRpZmljYXRlU2VydmljZXMuY3JsMDmgN6A1hjNodHRw
-Oi8vY3JsLmNvbW9kby5uZXQvU2VjdXJlQ2VydGlmaWNhdGVTZXJ2aWNlcy5jcmww
-DQYJKoZIhvcNAQEFBQADggEBAIcBbSMdflsXfcFhMs+P5/OKlFlm4J4oqF7Tt/Q0
-5qo5spcWxYJvMqTpjOev/e/C6LlLqqP05tqNZSH7uoDrJiiFGv45jN5bBAS0VPmj
-Z55B+glSzAVIqMk/IQQezkhr/IXownuvf7fM+F86/TXGDe+X3EyrEeFryzHRbPtI
-gKvcnDe4IRRLDXE97IMzbtFuMhbsmMcWi1mmNKsFVy2T96oTy9IT4rcuO81rUBcJ
-aD61JlfutuC23bkpgHl9j6PwpCikFcSF9CfUa7/lXORlAnZUtOM3ZiTTGWHIUhDl
-izeauan5Hb/qmZJhlv8BzaFfDbxxvA6sCx1HRR3B7Hzs/Sk=
------END CERTIFICATE-----
-
------BEGIN CERTIFICATE-----
-MIIEQzCCAyugAwIBAgIBATANBgkqhkiG9w0BAQUFADB/MQswCQYDVQQGEwJHQjEb
-MBkGA1UECAwSR3JlYXRlciBNYW5jaGVzdGVyMRAwDgYDVQQHDAdTYWxmb3JkMRow
-GAYDVQQKDBFDb21vZG8gQ0EgTGltaXRlZDElMCMGA1UEAwwcVHJ1c3RlZCBDZXJ0
-aWZpY2F0ZSBTZXJ2aWNlczAeFw0wNDAxMDEwMDAwMDBaFw0yODEyMzEyMzU5NTla
-MH8xCzAJBgNVBAYTAkdCMRswGQYDVQQIDBJHcmVhdGVyIE1hbmNoZXN0ZXIxEDAO
-BgNVBAcMB1NhbGZvcmQxGjAYBgNVBAoMEUNvbW9kbyBDQSBMaW1pdGVkMSUwIwYD
-VQQDDBxUcnVzdGVkIENlcnRpZmljYXRlIFNlcnZpY2VzMIIBIjANBgkqhkiG9w0B
-AQEFAAOCAQ8AMIIBCgKCAQEA33FvNlhTWvI2VFeAxHQIIO0Yfyod5jWaHiWsnOWW
-fnJSoBVC21ndZHoa0Lh73TkVvFVIxO06AOoxEbrycXQaZ7jPM8yoMa+j49d/vzMt
-TGo87IvDktJTdyR0nAducPy9C1t2ul/y/9c3S0pgePfw+spwtOpZqqPOSC+pw7IL
-fhdyFgymBwwbOM/JYrc/oJOlh0Hyt3BAd9i+FHzjqMB6juljatEPmsbS9Is6FARW
-1O24zG71++IsWL1/T2sr92AkWCTOJu80kTrV44HQsvAEAtdbtz6SrGsSivnkBbA7
-kUlcsutT6vifR4buv5XAwAaf0lteERv0xwQ1KdJVXOTt6wIDAQABo4HJMIHGMB0G
-A1UdDgQWBBTFe1i97doladL3WRaoszLAeydb9DAOBgNVHQ8BAf8EBAMCAQYwDwYD
-VR0TAQH/BAUwAwEB/zCBgwYDVR0fBHwwejA8oDqgOIY2aHR0cDovL2NybC5jb21v
-ZG9jYS5jb20vVHJ1c3RlZENlcnRpZmljYXRlU2VydmljZXMuY3JsMDqgOKA2hjRo
-dHRwOi8vY3JsLmNvbW9kby5uZXQvVHJ1c3RlZENlcnRpZmljYXRlU2VydmljZXMu
-Y3JsMA0GCSqGSIb3DQEBBQUAA4IBAQDIk4E7ibSvuIQSTI3S8NtwuleGFTQQuS9/
-HrCoiWChisJ3DFBKmwCL2Iv0QeLQg4pKHBQGsKNoBXAxMKdTmw7pSqBYaWcOrp32
-pSxBvzwGa+RZzG0Q8ZZvH9/0BAKkn0U+yNj6NkZEUD+Cl5EfKNsYEYwq5GWDVxIS
-jBc/lDb+XbDABHcTuPQV1T84zJQ6VdCsmPW6AF/ghhmBeC8owH7TzEIK9a5QoNE+
-xqFx7D+gIIxmOom0jtTYsU0lR+4viMi14QVFwL4Ucd56/Y57fU0IlqUSc/Atyjcn
-dBInTMu2l+nZrghtWjlA3QVHdWpaIbOjGM9O9y5Xt5hwXsjEeLBi
------END CERTIFICATE-----
-
------BEGIN CERTIFICATE-----
-MIIDIDCCAgigAwIBAgIBJDANBgkqhkiG9w0BAQUFADA5MQswCQYDVQQGEwJGSTEP
-MA0GA1UEChMGU29uZXJhMRkwFwYDVQQDExBTb25lcmEgQ2xhc3MxIENBMB4XDTAx
-MDQwNjEwNDkxM1oXDTIxMDQwNjEwNDkxM1owOTELMAkGA1UEBhMCRkkxDzANBgNV
-BAoTBlNvbmVyYTEZMBcGA1UEAxMQU29uZXJhIENsYXNzMSBDQTCCASIwDQYJKoZI
-hvcNAQEBBQADggEPADCCAQoCggEBALWJHytPZwp5/8Ue+H887dF+2rDNbS82rDTG
-29lkFwhjMDMiikzujrsPDUJVyZ0upe/3p4zDq7mXy47vPxVnqIJyY1MPQYx9EJUk
-oVqlBvqSV536pQHydekfvFYmUk54GWVYVQNYwBSujHxVX3BbdyMGNpfzJLWaRpXk
-3w0LBUXl0fIdgrvGE+D+qnr9aTCU89JFhfzyMlsy3uhsXR/LpCJ0sICOXZT3BgBL
-qdReLjVQCfOAl/QMF6452F/NM8EcyonCIvdFEu1eEpOdY6uCLrnrQkFEy0oaAIIN
-nvmLVz5MxxftLItyM19yejhW1ebZrgUaHXVFsculJRwSVzb9IjcCAwEAAaMzMDEw
-DwYDVR0TAQH/BAUwAwEB/zARBgNVHQ4ECgQIR+IMi/ZTiFIwCwYDVR0PBAQDAgEG
-MA0GCSqGSIb3DQEBBQUAA4IBAQCLGrLJXWG04bkruVPRsoWdd44W7hE928Jj2VuX
-ZfsSZ9gqXLar5V7DtxYvyOirHYr9qxp81V9jz9yw3Xe5qObSIjiHBxTZ/75Wtf0H
-DjxVyhbMp6Z3N/vbXB9OWQaHowND9Rart4S9Tu+fMTfwRvFAttEMpWT4Y14h21VO
-TzF2nBBhjrZTOqMRvq9tfB69ri3iDGnHhVNoomG6xT60eVR4ngrHAr5i0RGCS2Uv
-kVrCqIexVmiUefkl98HVrhq4uz2PqYo4Ffdz0Fpg0YCw8NzVUM1O7pJIae2yIx4w
-zMiUyLb1O4Z/P6Yun/Y+LLWSlj7fLJOK/4GMDw9ZIRlXvVWa
------END CERTIFICATE-----
-
------BEGIN CERTIFICATE-----
-MIIDIDCCAgigAwIBAgIBHTANBgkqhkiG9w0BAQUFADA5MQswCQYDVQQGEwJGSTEP
-MA0GA1UEChMGU29uZXJhMRkwFwYDVQQDExBTb25lcmEgQ2xhc3MyIENBMB4XDTAx
-MDQwNjA3Mjk0MFoXDTIxMDQwNjA3Mjk0MFowOTELMAkGA1UEBhMCRkkxDzANBgNV
-BAoTBlNvbmVyYTEZMBcGA1UEAxMQU29uZXJhIENsYXNzMiBDQTCCASIwDQYJKoZI
-hvcNAQEBBQADggEPADCCAQoCggEBAJAXSjWdyvANlsdE+hY3/Ei9vX+ALTU74W+o
-Z6m/AxxNjG8yR9VBaKQTBME1DJqEQ/xcHf+Js+gXGM2RX/uJ4+q/Tl18GybTdXnt
-5oTjV+WtKcT0OijnpXuENmmz/V52vaMtmdOQTiMofRhj8VQ7Jp12W5dCsv+u8E7s
-3TmVToMGf+dJQMjFAbJUWmYdPfz56TwKnoG4cPABi+QjVHzIrviQHgCWctRUz2Ej
-vOr7nQKV0ba5cTppCD8PtOFCx4j1P5iop7oc4HFx71hXgVB6XGt0Rg6DA5jDjqhu
-8nYybieDwnPz3BjotJPqdURrBGAgcVeHnfO+oJAjPYok4doh28MCAwEAAaMzMDEw
-DwYDVR0TAQH/BAUwAwEB/zARBgNVHQ4ECgQISqCqWITTXjwwCwYDVR0PBAQDAgEG
-MA0GCSqGSIb3DQEBBQUAA4IBAQBazof5FnIVV0sd2ZvnoiYw7JNn39Yt0jSv9zil
-zqsWuasvfDXLrNAPtEwr/IDva4yRXzZ299uzGxnq9LIR/WFxRL8oszodv7ND6J+/
-3DEIcbCdjdY0RzKQxmUk96BKfARzjzlvF4xytb1LyHr4e4PDKE6cCepnP7JnBBvD
-FNr450kkkdAdavphOe9r5yF1BgfYErQhIHBCcYHaPJo2vqZbDWpsmh+Re/n570K6
-Tk6ezAyNlNzZRZxe7EJQY670XcSxEtzKO6gunRRaBXW37Ndj4ro1tgQIkejanZz2
-ZrUYrAqmVCY0M9IbwdR/GjqOC6oybtv8TyWf2TLHllpwrN9M
------END CERTIFICATE-----
-
------BEGIN CERTIFICATE-----
-MIIEdDCCA1ygAwIBAgIQRL4Mi1AAJLQR0zYq/mUK/TANBgkqhkiG9w0BAQUFADCB
-lzELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAlVUMRcwFQYDVQQHEw5TYWx0IExha2Ug
-Q2l0eTEeMBwGA1UEChMVVGhlIFVTRVJUUlVTVCBOZXR3b3JrMSEwHwYDVQQLExho
-dHRwOi8vd3d3LnVzZXJ0cnVzdC5jb20xHzAdBgNVBAMTFlVUTi1VU0VSRmlyc3Qt
-SGFyZHdhcmUwHhcNOTkwNzA5MTgxMDQyWhcNMTkwNzA5MTgxOTIyWjCBlzELMAkG
-A1UEBhMCVVMxCzAJBgNVBAgTAlVUMRcwFQYDVQQHEw5TYWx0IExha2UgQ2l0eTEe
-MBwGA1UEChMVVGhlIFVTRVJUUlVTVCBOZXR3b3JrMSEwHwYDVQQLExhodHRwOi8v
-d3d3LnVzZXJ0cnVzdC5jb20xHzAdBgNVBAMTFlVUTi1VU0VSRmlyc3QtSGFyZHdh
-cmUwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCx98M4P7Sof885glFn
-0G2f0v9Y8+efK+wNiVSZuTiZFvfgIXlIwrthdBKWHTxqctU8EGc6Oe0rE81m65UJ
-M6Rsl7HoxuzBdXmcRl6Nq9Bq/bkqVRcQVLMZ8Jr28bFdtqdt++BxF2uiiPsA3/4a
-MXcMmgF6sTLjKwEHOG7DpV4jvEWbe1DByTCP2+UretNb+zNAHqDVmBe8i4fDidNd
-oI6yqqr2jmmIBsX6iSHzCJ1pLgkzmykNRg+MzEk0sGlRvfkGzWitZky8PqxhvQqI
-DsjfPe58BEydCl5rkdbux+0ojatNh4lz0G6k0B4WixThdkQDf2Os5M1JnMWS9Ksy
-oUhbAgMBAAGjgbkwgbYwCwYDVR0PBAQDAgHGMA8GA1UdEwEB/wQFMAMBAf8wHQYD
-VR0OBBYEFKFyXyYbKJhDlV0HN9WFlp1L0sNFMEQGA1UdHwQ9MDswOaA3oDWGM2h0
-dHA6Ly9jcmwudXNlcnRydXN0LmNvbS9VVE4tVVNFUkZpcnN0LUhhcmR3YXJlLmNy
-bDAxBgNVHSUEKjAoBggrBgEFBQcDAQYIKwYBBQUHAwUGCCsGAQUFBwMGBggrBgEF
-BQcDBzANBgkqhkiG9w0BAQUFAAOCAQEARxkP3nTGmZev/K0oXnWO6y1n7k57K9cM
-//bey1WiCuFMVGWTYGufEpytXoMs61quwOQt9ABjHbjAbPLPSbtNk28Gpgoiskli
-CE7/yMgUsogWXecB5BKV5UU0s4tpvc+0hY91UZ59Ojg6FEgSxvunOxqNDYJAB+gE
-CJChicsZUN/KHAG8HQQZexB2lzvukJDKxA4fFm517zP4029bHpbj4HR3dHuKom4t
-3XbWOTCC8KucUvIqx69JXn7HaOWCgchqJ/kniCrVWFCVH/A7HFe7fRQ5YiuayZSS
-KqMiDP+JJn1fIytH1xUdqWqeUQ0qUZ6B+dQ7XnASfxAynB67nfhmqA==
------END CERTIFICATE-----
-
------BEGIN CERTIFICATE-----
-MIIEXjCCA0agAwIBAgIQRL4Mi1AAIbQR0ypoBqmtaTANBgkqhkiG9w0BAQUFADCB
-kzELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAlVUMRcwFQYDVQQHEw5TYWx0IExha2Ug
-Q2l0eTEeMBwGA1UEChMVVGhlIFVTRVJUUlVTVCBOZXR3b3JrMSEwHwYDVQQLExho
-dHRwOi8vd3d3LnVzZXJ0cnVzdC5jb20xGzAZBgNVBAMTElVUTiAtIERBVEFDb3Jw
-IFNHQzAeFw05OTA2MjQxODU3MjFaFw0xOTA2MjQxOTA2MzBaMIGTMQswCQYDVQQG
-EwJVUzELMAkGA1UECBMCVVQxFzAVBgNVBAcTDlNhbHQgTGFrZSBDaXR5MR4wHAYD
-VQQKExVUaGUgVVNFUlRSVVNUIE5ldHdvcmsxITAfBgNVBAsTGGh0dHA6Ly93d3cu
-dXNlcnRydXN0LmNvbTEbMBkGA1UEAxMSVVROIC0gREFUQUNvcnAgU0dDMIIBIjAN
-BgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA3+5YEKIrblXEjr8uRgnn4AgPLit6
-E5Qbvfa2gI5lBZMAHryv4g+OGQ0SR+ysraP6LnD43m77VkIVni5c7yPeIbkFdicZ
-D0/Ww5y0vpQZY/KmEQrrU0icvvIpOxboGqBMpsn0GFlowHDyUwDAXlCCpVZvNvlK
-4ESGoE1O1kduSUrLZ9emxAW5jh70/P/N5zbgnAVssjMiFdC04MwXwLLA9P4yPykq
-lXvY8qdOD1R8oQ2AswkDwf9c3V6aPryuvEeKaq5xyh+xKrhfQgUL7EYw0XILyulW
-bfXv33i+Ybqypa4ETLyorGkVl73v67SMvzX41MPRKA5cOp9wGDMgd8SirwIDAQAB
-o4GrMIGoMAsGA1UdDwQEAwIBxjAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBRT
-MtGzz3/64PGgXYVOktKeRR20TzA9BgNVHR8ENjA0MDKgMKAuhixodHRwOi8vY3Js
-LnVzZXJ0cnVzdC5jb20vVVROLURBVEFDb3JwU0dDLmNybDAqBgNVHSUEIzAhBggr
-BgEFBQcDAQYKKwYBBAGCNwoDAwYJYIZIAYb4QgQBMA0GCSqGSIb3DQEBBQUAA4IB
-AQAnNZcAiosovcYzMB4p/OL31ZjUQLtgyr+rFywJNn9Q+kHcrpY6CiM+iVnJowft
-Gzet/Hy+UUla3joKVAgWRcKZsYfNjGjgaQPpxE6YsjuMFrMOoAyYUJuTqXAJyCyj
-j98C5OBxOvG0I3KgqgHf35g+FFCgMSa9KOlaMCZ1+XtgHI3zzVAmbQQnmt/VDUVH
-KWss5nbZqSl9Mt3JNjy9rjXxEZ4du5A/EkdOjtd+D2JzHVImOBwYSf0wdJrE5SIv
-2MCN7ZF6TACPcn9d2t0bi0Vr591pl6jFVkwPDPafepE39peC4N1xaf92P2BNPM/3
-mfnGV/TJVTl4uix5yaaIK/QI
------END CERTIFICATE-----
-
------BEGIN CERTIFICATE-----
-MIIEojCCA4qgAwIBAgIQRL4Mi1AAJLQR0zYlJWfJiTANBgkqhkiG9w0BAQUFADCB
-rjELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAlVUMRcwFQYDVQQHEw5TYWx0IExha2Ug
-Q2l0eTEeMBwGA1UEChMVVGhlIFVTRVJUUlVTVCBOZXR3b3JrMSEwHwYDVQQLExho
-dHRwOi8vd3d3LnVzZXJ0cnVzdC5jb20xNjA0BgNVBAMTLVVUTi1VU0VSRmlyc3Qt
-Q2xpZW50IEF1dGhlbnRpY2F0aW9uIGFuZCBFbWFpbDAeFw05OTA3MDkxNzI4NTBa
-Fw0xOTA3MDkxNzM2NThaMIGuMQswCQYDVQQGEwJVUzELMAkGA1UECBMCVVQxFzAV
-BgNVBAcTDlNhbHQgTGFrZSBDaXR5MR4wHAYDVQQKExVUaGUgVVNFUlRSVVNUIE5l
-dHdvcmsxITAfBgNVBAsTGGh0dHA6Ly93d3cudXNlcnRydXN0LmNvbTE2MDQGA1UE
-AxMtVVROLVVTRVJGaXJzdC1DbGllbnQgQXV0aGVudGljYXRpb24gYW5kIEVtYWls
-MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAsjmFpPJ9q0E7YkY3rs3B
-YHW8OWX5ShpHornMSMxqmNVNNRm5pELlzkniii8efNIxB8dOtINknS4p1aJkxIW9
-hVE1eaROaJB7HHqkkqgX8pgV8pPMyaQylbsMTzC9mKALi+VuG6JG+ni8om+rWV6l
-L8/K2m2qL+usobNqqrcuZzWLeeEeaYji5kbNoKXqvgvOdjp6Dpvq/NonWz1zHyLm
-SGHGTPNpsaguG7bUMSAsvIKKjqQOpdeJQ/wWWq8dcdcRWdq6hw2v+vPhwvCkxWeM
-1tZUOt4KpLoDd7NlyP0e03RiqhjKaJMeoYV+9Udly/hNVyh00jT/MLbu9mIwFIws
-6wIDAQABo4G5MIG2MAsGA1UdDwQEAwIBxjAPBgNVHRMBAf8EBTADAQH/MB0GA1Ud
-DgQWBBSJgmd9xJ0mcABLtFBIfN49rgRufTBYBgNVHR8EUTBPME2gS6BJhkdodHRw
-Oi8vY3JsLnVzZXJ0cnVzdC5jb20vVVROLVVTRVJGaXJzdC1DbGllbnRBdXRoZW50
-aWNhdGlvbmFuZEVtYWlsLmNybDAdBgNVHSUEFjAUBggrBgEFBQcDAgYIKwYBBQUH
-AwQwDQYJKoZIhvcNAQEFBQADggEBALFtYV2mGn98q0rkMPxTbyUkxsrt4jFcKw7u
-7mFVbwQ+zznexRtJlOTrIEy05p5QLnLZjfWqo7NK2lYcYJeA3IKirUq9iiv/Cwm0
-xtcgBEXkzYABurorbs6q15L+5K/r9CYdFip/bDCVNy8zEqx/3cfREYxRmLLQo5HQ
-rfafnoOTHh1CuEava2bwm3/q4wMC5QJRwarVNZ1yQAOJujEdxRBoUp7fooXFXAim
-eOZTT7Hot9MUnpOmw2TjrH5xzbyf6QMbzPvprDHBr3wVdAKZw7JHpsIyYdfHb0gk
-USeh1YdV8nuPmD0Wnu51tvjQjvLzxq4oW6fw8zYX/MMF08oDSlQ=
------END CERTIFICATE-----
-
------BEGIN CERTIFICATE-----
-MIIEZjCCA06gAwIBAgIQRL4Mi1AAJLQR0zYt4LNfGzANBgkqhkiG9w0BAQUFADCB
-lTELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAlVUMRcwFQYDVQQHEw5TYWx0IExha2Ug
-Q2l0eTEeMBwGA1UEChMVVGhlIFVTRVJUUlVTVCBOZXR3b3JrMSEwHwYDVQQLExho
-dHRwOi8vd3d3LnVzZXJ0cnVzdC5jb20xHTAbBgNVBAMTFFVUTi1VU0VSRmlyc3Qt
-T2JqZWN0MB4XDTk5MDcwOTE4MzEyMFoXDTE5MDcwOTE4NDAzNlowgZUxCzAJBgNV
-BAYTAlVTMQswCQYDVQQIEwJVVDEXMBUGA1UEBxMOU2FsdCBMYWtlIENpdHkxHjAc
-BgNVBAoTFVRoZSBVU0VSVFJVU1QgTmV0d29yazEhMB8GA1UECxMYaHR0cDovL3d3
-dy51c2VydHJ1c3QuY29tMR0wGwYDVQQDExRVVE4tVVNFUkZpcnN0LU9iamVjdDCC
-ASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAM6qgT+jo2F4qjEAVZURnicP
-HxzfOpuCaDDASmEd8S8O+r5596Uj71VRloTN2+O5bj4x2AogZ8f02b+U60cEPgLO
-KqJdhwQJ9jCdGIqXsqoc/EHSoTbL+z2RuufZcDX65OeQw5ujm9M89RKZd7G3CeBo
-5hy485RjiGpq/gt2yb70IuRnuasaXnfBhQfdDWy/7gbHd2pBnqcP1/vulBe3/IW+
-pKvEHDHd17bR5PDv3xaPslKT16HUiaEHLr/hARJCHhrh2JU022R5KP+6LhHC5ehb
-kkj7RwvCbNqtMoNB86XlQXD9ZZBt+vpRxPm9lisZBCzTbafc8H9vg2XiaquHhnUC
-AwEAAaOBrzCBrDALBgNVHQ8EBAMCAcYwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4E
-FgQU2u1kdBScFDyr3ZmpvVsoTYs8ydgwQgYDVR0fBDswOTA3oDWgM4YxaHR0cDov
-L2NybC51c2VydHJ1c3QuY29tL1VUTi1VU0VSRmlyc3QtT2JqZWN0LmNybDApBgNV
-HSUEIjAgBggrBgEFBQcDAwYIKwYBBQUHAwgGCisGAQQBgjcKAwQwDQYJKoZIhvcN
-AQEFBQADggEBAAgfUrE3RHjb/c652pWWmKpVZIC1WkDdIaXFwfNfLEzIR1pp6ujw
-NTX00CXzyKakh0q9G7FzCL3Uw8q2NbtZhncxzaeAFK4T7/yxSPlrJSUtUbYsbUXB
-mMiKVl0+7kNOPmsnjtA6S4ULX9Ptaqd1y9Fahy85dRNacrACgZ++8A+EVCBibGnU
-4U3GDZlDAQ0Slox4nb9QorFEqmrPF3rPbw/U+CRVX/A0FklmPlBGyWNxODFiuGK5
-81OtbLUrohKqGU8J2l7nk8aOFAj+8DCAGKCGhU3IfdeLA/5u1fedFqySLKAj5ZyR
-Uh+U3xeUc8OzwcFxBSAAeL0TUh2oPs0AH8g=
------END CERTIFICATE-----
-
------BEGIN CERTIFICATE-----
-MIIFTzCCBLigAwIBAgIBaDANBgkqhkiG9w0BAQQFADCBmzELMAkGA1UEBhMCSFUx
-ETAPBgNVBAcTCEJ1ZGFwZXN0MScwJQYDVQQKEx5OZXRMb2NrIEhhbG96YXRiaXp0
-b25zYWdpIEtmdC4xGjAYBgNVBAsTEVRhbnVzaXR2YW55a2lhZG9rMTQwMgYDVQQD
-EytOZXRMb2NrIEV4cHJlc3N6IChDbGFzcyBDKSBUYW51c2l0dmFueWtpYWRvMB4X
-DTk5MDIyNTE0MDgxMVoXDTE5MDIyMDE0MDgxMVowgZsxCzAJBgNVBAYTAkhVMREw
-DwYDVQQHEwhCdWRhcGVzdDEnMCUGA1UEChMeTmV0TG9jayBIYWxvemF0Yml6dG9u
-c2FnaSBLZnQuMRowGAYDVQQLExFUYW51c2l0dmFueWtpYWRvazE0MDIGA1UEAxMr
-TmV0TG9jayBFeHByZXNzeiAoQ2xhc3MgQykgVGFudXNpdHZhbnlraWFkbzCBnzAN
-BgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA6+ywbGGKIyWvYCDj2Z/8kwvbXY2wobNA
-OoLO/XXgeDIDhlqGlZHtU/qdQPzm6N3ZW3oDvV3zOwzDUXmbrVWg6dADEK8KuhRC
-2VImESLH0iDMgqSaqf64gXadarfSNnU+sYYJ9m5tfk63euyucYT2BDMIJTLrdKwW
-RMbkQJMdf60CAwEAAaOCAp8wggKbMBIGA1UdEwEB/wQIMAYBAf8CAQQwDgYDVR0P
-AQH/BAQDAgAGMBEGCWCGSAGG+EIBAQQEAwIABzCCAmAGCWCGSAGG+EIBDQSCAlEW
-ggJNRklHWUVMRU0hIEV6ZW4gdGFudXNpdHZhbnkgYSBOZXRMb2NrIEtmdC4gQWx0
-YWxhbm9zIFN6b2xnYWx0YXRhc2kgRmVsdGV0ZWxlaWJlbiBsZWlydCBlbGphcmFz
-b2sgYWxhcGphbiBrZXN6dWx0LiBBIGhpdGVsZXNpdGVzIGZvbHlhbWF0YXQgYSBO
-ZXRMb2NrIEtmdC4gdGVybWVrZmVsZWxvc3NlZy1iaXp0b3NpdGFzYSB2ZWRpLiBB
-IGRpZ2l0YWxpcyBhbGFpcmFzIGVsZm9nYWRhc2FuYWsgZmVsdGV0ZWxlIGF6IGVs
-b2lydCBlbGxlbm9yemVzaSBlbGphcmFzIG1lZ3RldGVsZS4gQXogZWxqYXJhcyBs
-ZWlyYXNhIG1lZ3RhbGFsaGF0byBhIE5ldExvY2sgS2Z0LiBJbnRlcm5ldCBob25s
-YXBqYW4gYSBodHRwczovL3d3dy5uZXRsb2NrLm5ldC9kb2NzIGNpbWVuIHZhZ3kg
-a2VyaGV0byBheiBlbGxlbm9yemVzQG5ldGxvY2submV0IGUtbWFpbCBjaW1lbi4g
-SU1QT1JUQU5UISBUaGUgaXNzdWFuY2UgYW5kIHRoZSB1c2Ugb2YgdGhpcyBjZXJ0
-aWZpY2F0ZSBpcyBzdWJqZWN0IHRvIHRoZSBOZXRMb2NrIENQUyBhdmFpbGFibGUg
-YXQgaHR0cHM6Ly93d3cubmV0bG9jay5uZXQvZG9jcyBvciBieSBlLW1haWwgYXQg
-Y3BzQG5ldGxvY2submV0LjANBgkqhkiG9w0BAQQFAAOBgQAQrX/XDDKACtiG8XmY
-ta3UzbM2xJZIwVzNmtkFLp++UOv0JhQQLdRmF/iewSf98e3ke0ugbLWrmldwpu2g
-pO0u9f38vf5NNwgMvOOWgyL1SRt/Syu0VMGAfJlOHdCM7tCs5ZL6dVb+ZKATj7i4
-Fp1hBWeAyNDYpQcCNJgEjTME1A==
------END CERTIFICATE-----
-
------BEGIN CERTIFICATE-----
-MIIGfTCCBWWgAwIBAgICAQMwDQYJKoZIhvcNAQEEBQAwga8xCzAJBgNVBAYTAkhV
-MRAwDgYDVQQIEwdIdW5nYXJ5MREwDwYDVQQHEwhCdWRhcGVzdDEnMCUGA1UEChMe
-TmV0TG9jayBIYWxvemF0Yml6dG9uc2FnaSBLZnQuMRowGAYDVQQLExFUYW51c2l0
-dmFueWtpYWRvazE2MDQGA1UEAxMtTmV0TG9jayBLb3pqZWd5em9pIChDbGFzcyBB
-KSBUYW51c2l0dmFueWtpYWRvMB4XDTk5MDIyNDIzMTQ0N1oXDTE5MDIxOTIzMTQ0
-N1owga8xCzAJBgNVBAYTAkhVMRAwDgYDVQQIEwdIdW5nYXJ5MREwDwYDVQQHEwhC
-dWRhcGVzdDEnMCUGA1UEChMeTmV0TG9jayBIYWxvemF0Yml6dG9uc2FnaSBLZnQu
-MRowGAYDVQQLExFUYW51c2l0dmFueWtpYWRvazE2MDQGA1UEAxMtTmV0TG9jayBL
-b3pqZWd5em9pIChDbGFzcyBBKSBUYW51c2l0dmFueWtpYWRvMIIBIjANBgkqhkiG
-9w0BAQEFAAOCAQ8AMIIBCgKCAQEAvHSMD7tM9DceqQWC2ObhbHDqeLVu0ThEDaiD
-zl3S1tWBxdRL51uUcCbbO51qTGL3cfNk1mE7PetzozfZz+qMkjvN9wfcZnSX9EUi
-3fRc4L9t875lM+QVOr/bmJBVOMTtplVjC7B4BPTjbsE/jvxReB+SnoPC/tmwqcm8
-WgD/qaiYdPv2LD4VOQ22BFWoDpggQrOxJa1+mm9dU7GrDPzr4PN6s6iz/0b2Y6LY
-Oph7tqyF/7AlT3Rj5xMHpQqPBffAZG9+pyeAlt7ULoZgx2srXnN7F+eRP2QM2Esi
-NCubMvJIH5+hCoR64sKtlz2O1cH5VqNQ6ca0+pii7pXmKgOM3wIDAQABo4ICnzCC
-ApswDgYDVR0PAQH/BAQDAgAGMBIGA1UdEwEB/wQIMAYBAf8CAQQwEQYJYIZIAYb4
-QgEBBAQDAgAHMIICYAYJYIZIAYb4QgENBIICURaCAk1GSUdZRUxFTSEgRXplbiB0
-YW51c2l0dmFueSBhIE5ldExvY2sgS2Z0LiBBbHRhbGFub3MgU3pvbGdhbHRhdGFz
-aSBGZWx0ZXRlbGVpYmVuIGxlaXJ0IGVsamFyYXNvayBhbGFwamFuIGtlc3p1bHQu
-IEEgaGl0ZWxlc2l0ZXMgZm9seWFtYXRhdCBhIE5ldExvY2sgS2Z0LiB0ZXJtZWtm
-ZWxlbG9zc2VnLWJpenRvc2l0YXNhIHZlZGkuIEEgZGlnaXRhbGlzIGFsYWlyYXMg
-ZWxmb2dhZGFzYW5hayBmZWx0ZXRlbGUgYXogZWxvaXJ0IGVsbGVub3J6ZXNpIGVs
-amFyYXMgbWVndGV0ZWxlLiBBeiBlbGphcmFzIGxlaXJhc2EgbWVndGFsYWxoYXRv
-IGEgTmV0TG9jayBLZnQuIEludGVybmV0IGhvbmxhcGphbiBhIGh0dHBzOi8vd3d3
-Lm5ldGxvY2submV0L2RvY3MgY2ltZW4gdmFneSBrZXJoZXRvIGF6IGVsbGVub3J6
-ZXNAbmV0bG9jay5uZXQgZS1tYWlsIGNpbWVuLiBJTVBPUlRBTlQhIFRoZSBpc3N1
-YW5jZSBhbmQgdGhlIHVzZSBvZiB0aGlzIGNlcnRpZmljYXRlIGlzIHN1YmplY3Qg
-dG8gdGhlIE5ldExvY2sgQ1BTIGF2YWlsYWJsZSBhdCBodHRwczovL3d3dy5uZXRs
-b2NrLm5ldC9kb2NzIG9yIGJ5IGUtbWFpbCBhdCBjcHNAbmV0bG9jay5uZXQuMA0G
-CSqGSIb3DQEBBAUAA4IBAQBIJEb3ulZv+sgoA0BO5TE5ayZrU3/b39/zcT0mwBQO
-xmd7I6gMc90Bu8bKbjc5VdXHjFYgDigKDtIqpLBJUsY4B/6+CgmM0ZjPytoUMaFP
-0jn8DxEsQ8Pdq5PHVT5HfBgaANzze9jyf1JsIPQLX2lS9O74silg6+NJMSEN1rUQ
-QeJBCWziGppWS3cC9qCbmieH6FUpccKQn0V4GuEVZD3QDtigdp+uxdAu6tYPVuxk
-f1qbFFgBJ34TUMdrKuZoPL9coAob4Q566eKAw+np9v1sEZ7Q5SgnK1QyQhSCdeZK
-8CtmdWOMovsEPoMOmzbwGOQmIMOM8CgHrTwXZoi1/baI
------END CERTIFICATE-----
-
------BEGIN CERTIFICATE-----
-MIIFSzCCBLSgAwIBAgIBaTANBgkqhkiG9w0BAQQFADCBmTELMAkGA1UEBhMCSFUx
-ETAPBgNVBAcTCEJ1ZGFwZXN0MScwJQYDVQQKEx5OZXRMb2NrIEhhbG96YXRiaXp0
-b25zYWdpIEtmdC4xGjAYBgNVBAsTEVRhbnVzaXR2YW55a2lhZG9rMTIwMAYDVQQD
-EylOZXRMb2NrIFV6bGV0aSAoQ2xhc3MgQikgVGFudXNpdHZhbnlraWFkbzAeFw05
-OTAyMjUxNDEwMjJaFw0xOTAyMjAxNDEwMjJaMIGZMQswCQYDVQQGEwJIVTERMA8G
-A1UEBxMIQnVkYXBlc3QxJzAlBgNVBAoTHk5ldExvY2sgSGFsb3phdGJpenRvbnNh
-Z2kgS2Z0LjEaMBgGA1UECxMRVGFudXNpdHZhbnlraWFkb2sxMjAwBgNVBAMTKU5l
-dExvY2sgVXpsZXRpIChDbGFzcyBCKSBUYW51c2l0dmFueWtpYWRvMIGfMA0GCSqG
-SIb3DQEBAQUAA4GNADCBiQKBgQCx6gTsIKAjwo84YM/HRrPVG/77uZmeBNwcf4xK
-gZjupNTKihe5In+DCnVMm8Bp2GQ5o+2So/1bXHQawEfKOml2mrriRBf8TKPV/riX
-iK+IA4kfpPIEPsgHC+b5sy96YhQJRhTKZPWLgLViqNhr1nGTLbO/CVRY7QbrqHvc
-Q7GhaQIDAQABo4ICnzCCApswEgYDVR0TAQH/BAgwBgEB/wIBBDAOBgNVHQ8BAf8E
-BAMCAAYwEQYJYIZIAYb4QgEBBAQDAgAHMIICYAYJYIZIAYb4QgENBIICURaCAk1G
-SUdZRUxFTSEgRXplbiB0YW51c2l0dmFueSBhIE5ldExvY2sgS2Z0LiBBbHRhbGFu
-b3MgU3pvbGdhbHRhdGFzaSBGZWx0ZXRlbGVpYmVuIGxlaXJ0IGVsamFyYXNvayBh
-bGFwamFuIGtlc3p1bHQuIEEgaGl0ZWxlc2l0ZXMgZm9seWFtYXRhdCBhIE5ldExv
-Y2sgS2Z0LiB0ZXJtZWtmZWxlbG9zc2VnLWJpenRvc2l0YXNhIHZlZGkuIEEgZGln
-aXRhbGlzIGFsYWlyYXMgZWxmb2dhZGFzYW5hayBmZWx0ZXRlbGUgYXogZWxvaXJ0
-IGVsbGVub3J6ZXNpIGVsamFyYXMgbWVndGV0ZWxlLiBBeiBlbGphcmFzIGxlaXJh
-c2EgbWVndGFsYWxoYXRvIGEgTmV0TG9jayBLZnQuIEludGVybmV0IGhvbmxhcGph
-biBhIGh0dHBzOi8vd3d3Lm5ldGxvY2submV0L2RvY3MgY2ltZW4gdmFneSBrZXJo
-ZXRvIGF6IGVsbGVub3J6ZXNAbmV0bG9jay5uZXQgZS1tYWlsIGNpbWVuLiBJTVBP
-UlRBTlQhIFRoZSBpc3N1YW5jZSBhbmQgdGhlIHVzZSBvZiB0aGlzIGNlcnRpZmlj
-YXRlIGlzIHN1YmplY3QgdG8gdGhlIE5ldExvY2sgQ1BTIGF2YWlsYWJsZSBhdCBo
-dHRwczovL3d3dy5uZXRsb2NrLm5ldC9kb2NzIG9yIGJ5IGUtbWFpbCBhdCBjcHNA
-bmV0bG9jay5uZXQuMA0GCSqGSIb3DQEBBAUAA4GBAATbrowXr/gOkDFOzT4JwG06
-sPgzTEdM43WIEJessDgVkcYplswhwG08pXTP2IKlOcNl40JwuyKQ433bNXbhoLXa
-n3BukxowOR0w2y7jfLKRstE3Kfq51hdcR0/jHTjrn9V7lagonhVK0dHQKwCXoOKS
-NitjrFgBazMpUIaD8QFI
------END CERTIFICATE-----
-
------BEGIN CERTIFICATE-----
-MIICiTCCAfKgAwIBAgIEN4dnrDANBgkqhkiG9w0BAQUFADB1MQswCQYDVQQGEwJi
-ZTERMA8GA1UEChMIQmVsZ2Fjb20xDDAKBgNVBAsTA01UTTEkMCIGA1UEAxMbQmVs
-Z2Fjb20gRS1UcnVzdCBQcmltYXJ5IENBMR8wHQYKCZImiZPyLGQBAxQPaW5mb0Bl
-LXRydXN0LmJlMB4XDTk4MTEwNDEzMDQzOVoXDTEwMDEyMTEzMDQzOVowdTELMAkG
-A1UEBhMCYmUxETAPBgNVBAoTCEJlbGdhY29tMQwwCgYDVQQLEwNNVE0xJDAiBgNV
-BAMTG0JlbGdhY29tIEUtVHJ1c3QgUHJpbWFyeSBDQTEfMB0GCgmSJomT8ixkAQMU
-D2luZm9AZS10cnVzdC5iZTCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAqtm5
-s9VPak3FQdB7BGFqi3GBB9pk41huJ1XCrc4XsPz6ko0I8Bxy/7LDMf7gaoeXTMxD
-V6coeTq1g12kHWrxasU+FCIdWQZv8KYxd9ywSTjmywwP/qpyNIjaKDohWu50Kxuk
-21sTFrVzX8OujNLAPj2wy/Dsi4YLwsFEGFpjqNUCAwEAAaMmMCQwDwYDVR0TBAgw
-BgEB/wIBATARBglghkgBhvhCAQEEBAMCAAcwDQYJKoZIhvcNAQEFBQADgYEAerKx
-pbF9M+nC4RvO05OMfwH9Gx1amq6rB1Ev7Ymr3VBCux//SrWknLFhKQpM6oNZSY2v
-hmnXgaxHqqRxblnvynxqblSK2qiSyfVms3lf1IsBniFjRjWTpcJfImIDcB1jI+hr
-SB0jECfY9t9HorrsgFBKbMRwpnrkdCJ/9oRiMn8=
------END CERTIFICATE-----
-
------BEGIN CERTIFICATE-----
-MIIEMDCCAxigAwIBAgIQUJRs7Bjq1ZxN1ZfvdY+grTANBgkqhkiG9w0BAQUFADCB
-gjELMAkGA1UEBhMCVVMxHjAcBgNVBAsTFXd3dy54cmFtcHNlY3VyaXR5LmNvbTEk
-MCIGA1UEChMbWFJhbXAgU2VjdXJpdHkgU2VydmljZXMgSW5jMS0wKwYDVQQDEyRY
-UmFtcCBHbG9iYWwgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwHhcNMDQxMTAxMTcx
-NDA0WhcNMzUwMTAxMDUzNzE5WjCBgjELMAkGA1UEBhMCVVMxHjAcBgNVBAsTFXd3
-dy54cmFtcHNlY3VyaXR5LmNvbTEkMCIGA1UEChMbWFJhbXAgU2VjdXJpdHkgU2Vy
-dmljZXMgSW5jMS0wKwYDVQQDEyRYUmFtcCBHbG9iYWwgQ2VydGlmaWNhdGlvbiBB
-dXRob3JpdHkwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCYJB69FbS6
-38eMpSe2OAtp87ZOqCwuIR1cRN8hXX4jdP5efrRKt6atH67gBhbim1vZZ3RrXYCP
-KZ2GG9mcDZhtdhAoWORlsH9KmHmf4MMxfoArtYzAQDsRhtDLooY2YKTVMIJt2W7Q
-DxIEM5dfT2Fa8OT5kavnHTu86M/0ay00fOJIYRyO82FEzG+gSqmUsE3a56k0enI4
-qEHMPJQRfevIpoy3hsvKMzvZPTeL+3o+hiznc9cKV6xkmxnr9A8ECIqsAxcZZPRa
-JSKNNCyy9mgdEm3Tih4U2sSPpuIjhdV6Db1q4Ons7Be7QhtnqiXtRYMh/MHJfNVi
-PvryxS3T/dRlAgMBAAGjgZ8wgZwwEwYJKwYBBAGCNxQCBAYeBABDAEEwCwYDVR0P
-BAQDAgGGMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFMZPoj0GY4QJnM5i5ASs
-jVy16bYbMDYGA1UdHwQvMC0wK6ApoCeGJWh0dHA6Ly9jcmwueHJhbXBzZWN1cml0
-eS5jb20vWEdDQS5jcmwwEAYJKwYBBAGCNxUBBAMCAQEwDQYJKoZIhvcNAQEFBQAD
-ggEBAJEVOQMBG2f7Shz5CmBbodpNl2L5JFMn14JkTpAuw0kbK5rc/Kh4ZzXxHfAR
-vbdI4xD2Dd8/0sm2qlWkSLoC295ZLhVbO50WfUfXN+pfTXYSNrsf16GBBEYgoyxt
-qZ4Bfj8pzgCT3/3JknOJiWSe5yvkHJEs0rnOfc5vMZnT5r7SHpDwCRR5XCOrTdLa
-IR9NmXmd4c8nnxCbHIgNsIpkQTG4DmyQJKSbXHGPurt+HBvbaoAPIbzp26a3QPSy
-i6mx5O+aGtA9aZnuqCij4Tyz8LIRnM98QObd50N9otg6tamN8jSZxNQQ4Qb9CYQQ
-O+7ETPTsJ3xCwnR8gooJybQDJbw=
------END CERTIFICATE-----
-
------BEGIN CERTIFICATE-----
-MIIFGTCCBAGgAwIBAgIEPki9xDANBgkqhkiG9w0BAQUFADAxMQswCQYDVQQGEwJE
-SzEMMAoGA1UEChMDVERDMRQwEgYDVQQDEwtUREMgT0NFUyBDQTAeFw0wMzAyMTEw
-ODM5MzBaFw0zNzAyMTEwOTA5MzBaMDExCzAJBgNVBAYTAkRLMQwwCgYDVQQKEwNU
-REMxFDASBgNVBAMTC1REQyBPQ0VTIENBMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8A
-MIIBCgKCAQEArGL2YSCyz8DGhdfjeebM7fI5kqSXLmSjhFuHnEz9pPPEXyG9VhDr
-2y5h7JNp46PMvZnDBfwGuMo2HP6QjklMxFaaL1a8z3sM8W9Hpg1DTeLpHTk0zY0s
-2RKY+ePhwUp8hjjEqcRhiNJerxomTdXkoCJHhNlktxmW/OwZ5LKXJk5KTMuPJItU
-GBxIYXvViGjaXbXqzRowwYCDdlCqT9HU3Tjw7xb04QxQBr/q+3pJoSgrHPb8FTKj
-dGqPqcNiKXEx5TukYBdedObaE+3pHx8b0bJoc8YQNHVGEBDjkAB2QMuLt0MJIf+r
-TpPGWOmlgtt3xDqZsXKVSQTwtyv6e1mO3QIDAQABo4ICNzCCAjMwDwYDVR0TAQH/
-BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwgewGA1UdIASB5DCB4TCB3gYIKoFQgSkB
-AQEwgdEwLwYIKwYBBQUHAgEWI2h0dHA6Ly93d3cuY2VydGlmaWthdC5kay9yZXBv
-c2l0b3J5MIGdBggrBgEFBQcCAjCBkDAKFgNUREMwAwIBARqBgUNlcnRpZmlrYXRl
-ciBmcmEgZGVubmUgQ0EgdWRzdGVkZXMgdW5kZXIgT0lEIDEuMi4yMDguMTY5LjEu
-MS4xLiBDZXJ0aWZpY2F0ZXMgZnJvbSB0aGlzIENBIGFyZSBpc3N1ZWQgdW5kZXIg
-T0lEIDEuMi4yMDguMTY5LjEuMS4xLjARBglghkgBhvhCAQEEBAMCAAcwgYEGA1Ud
-HwR6MHgwSKBGoESkQjBAMQswCQYDVQQGEwJESzEMMAoGA1UEChMDVERDMRQwEgYD
-VQQDEwtUREMgT0NFUyBDQTENMAsGA1UEAxMEQ1JMMTAsoCqgKIYmaHR0cDovL2Ny
-bC5vY2VzLmNlcnRpZmlrYXQuZGsvb2Nlcy5jcmwwKwYDVR0QBCQwIoAPMjAwMzAy
-MTEwODM5MzBagQ8yMDM3MDIxMTA5MDkzMFowHwYDVR0jBBgwFoAUYLWF7FZkfhIZ
-J2cdUBVLc647+RIwHQYDVR0OBBYEFGC1hexWZH4SGSdnHVAVS3OuO/kSMB0GCSqG
-SIb2fQdBAAQQMA4bCFY2LjA6NC4wAwIEkDANBgkqhkiG9w0BAQUFAAOCAQEACrom
-JkbTc6gJ82sLMJn9iuFXehHTuJTXCRBuo7E4A9G28kNBKWKnctj7fAXmMXAnVBhO
-inxO5dHKjHiIzxvTkIvmI/gLDjNDfZziChmPyQE+dF10yYscA+UYyAFMP8uXBV2Y
-caaYb7Z8vTd/vuGTJW1v8AqtFxjhA7wHKcitJuj4YfD9IQl+mo6paH1IYnK9AOoB
-mbgGglGBTvH1tJFUuSN6AJqfXY3gPGS5GhKSKseCRHI53OI8xthV9RVOyAUO28bQ
-YqbsFbS1AoLbrIyigfCbmTH1ICCoiGEKB5+U/NDXG8wuF/MEJ3Zn61SD/aSQfgY9
-BKNDLdr8C2LqL19iUw==
------END CERTIFICATE-----
-
------BEGIN CERTIFICATE-----
-MIIEKzCCAxOgAwIBAgIEOsylTDANBgkqhkiG9w0BAQUFADBDMQswCQYDVQQGEwJE
-SzEVMBMGA1UEChMMVERDIEludGVybmV0MR0wGwYDVQQLExRUREMgSW50ZXJuZXQg
-Um9vdCBDQTAeFw0wMTA0MDUxNjMzMTdaFw0yMTA0MDUxNzAzMTdaMEMxCzAJBgNV
-BAYTAkRLMRUwEwYDVQQKEwxUREMgSW50ZXJuZXQxHTAbBgNVBAsTFFREQyBJbnRl
-cm5ldCBSb290IENBMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAxLhA
-vJHVYx/XmaCLDEAedLdInUaMArLgJF/wGROnN4NrXceO+YQwzho7+vvOi20jxsNu
-Zp+Jpd/gQlBn+h9sHvTQBda/ytZO5GhgbEaqHF1j4QeGDmUApy6mcca8uYGoOn0a
-0vnRrEvLznWv3Hv6gXPU/Lq9QYjUdLP5Xjg6PEOo0pVOd20TDJ2PeAG3WiAfAzc1
-4izbSysseLlJ28TQx5yc5IogCSEWVmb/Bexb4/DPqyQkXsN/cHoSxNK1EKC2IeGN
-eGlVRGn1ypYcNIUXJXfi9i8nmHj9eQY6otZaQ8H/7AQ77hPv01ha/5Lr7K7a8jcD
-R0G2l8ktCkEiu7vmpwIDAQABo4IBJTCCASEwEQYJYIZIAYb4QgEBBAQDAgAHMGUG
-A1UdHwReMFwwWqBYoFakVDBSMQswCQYDVQQGEwJESzEVMBMGA1UEChMMVERDIElu
-dGVybmV0MR0wGwYDVQQLExRUREMgSW50ZXJuZXQgUm9vdCBDQTENMAsGA1UEAxME
-Q1JMMTArBgNVHRAEJDAigA8yMDAxMDQwNTE2MzMxN1qBDzIwMjEwNDA1MTcwMzE3
-WjALBgNVHQ8EBAMCAQYwHwYDVR0jBBgwFoAUbGQBx/2FbazI2p5QCIUItTxWqFAw
-HQYDVR0OBBYEFGxkAcf9hW2syNqeUAiFCLU8VqhQMAwGA1UdEwQFMAMBAf8wHQYJ
-KoZIhvZ9B0EABBAwDhsIVjUuMDo0LjADAgSQMA0GCSqGSIb3DQEBBQUAA4IBAQBO
-Q8zR3R0QGwZ/t6T609lN+yOfI1Rb5osvBCiLtSdtiaHsmGnc540mgwV5dOy0uaOX
-wTUA/RXaOYE6lTGQ3pfphqiZdwzlWqCE/xIWrG64jcN7ksKsLtB9KOy282A4aW8+
-2ARVPp7MVdK6/rtHBNcK2RYKNCn1WBPVT8+PVkuzHu7TmHnaCB4Mb7j4Fifvwm89
-9qNLPg7kbWzbO0ESm70NRyN/PErQr8Cv9u8btRXE64PECV90i9kR+8JWsTz4cMo0
-jUNAE4z9mQNUecYu6oah9jrUCbz0vGbMPVjQV0kK7iXiQe4T+Zs4NNEA9X7nlB38
-aQNiuJkFBT1reBK9sG9l
------END CERTIFICATE-----
-
------BEGIN CERTIFICATE-----
-MIIG0TCCBbmgAwIBAgIBezANBgkqhkiG9w0BAQUFADCByTELMAkGA1UEBhMCSFUx
-ETAPBgNVBAcTCEJ1ZGFwZXN0MScwJQYDVQQKEx5OZXRMb2NrIEhhbG96YXRiaXp0
-b25zYWdpIEtmdC4xGjAYBgNVBAsTEVRhbnVzaXR2YW55a2lhZG9rMUIwQAYDVQQD
-EzlOZXRMb2NrIE1pbm9zaXRldHQgS296amVneXpvaSAoQ2xhc3MgUUEpIFRhbnVz
-aXR2YW55a2lhZG8xHjAcBgkqhkiG9w0BCQEWD2luZm9AbmV0bG9jay5odTAeFw0w
-MzAzMzAwMTQ3MTFaFw0yMjEyMTUwMTQ3MTFaMIHJMQswCQYDVQQGEwJIVTERMA8G
-A1UEBxMIQnVkYXBlc3QxJzAlBgNVBAoTHk5ldExvY2sgSGFsb3phdGJpenRvbnNh
-Z2kgS2Z0LjEaMBgGA1UECxMRVGFudXNpdHZhbnlraWFkb2sxQjBABgNVBAMTOU5l
-dExvY2sgTWlub3NpdGV0dCBLb3pqZWd5em9pIChDbGFzcyBRQSkgVGFudXNpdHZh
-bnlraWFkbzEeMBwGCSqGSIb3DQEJARYPaW5mb0BuZXRsb2NrLmh1MIIBIjANBgkq
-hkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAx1Ilstg91IRVCacbvWy5FPSKAtt2/Goq
-eKvld/Bu4IwjZ9ulZJm53QE+b+8tmjwi8F3JV6BVQX/yQ15YglMxZc4e8ia6AFQe
-r7C8HORSjKAyr7c3sVNnaHRnUPYtLmTeriZ539+Zhqurf4XsoPuAzPS4DB6TRWO5
-3Lhbm+1bOdRfYrCnjnxmOCyqsQhjF2d9zL2z8cM/z1A57dEZgxXbhxInlrfa6uWd
-vLrqOU+L73Sa58XQ0uqGURzk/mQIKAR5BevKxXEOC++r6uwSEaEYBTJp0QwsGj0l
-mT+1fMptsK6ZmfoIYOcZwvK9UdPM0wKswREMgM6r3JSda6M5UzrWhQIDAMV9o4IC
-wDCCArwwEgYDVR0TAQH/BAgwBgEB/wIBBDAOBgNVHQ8BAf8EBAMCAQYwggJ1Bglg
-hkgBhvhCAQ0EggJmFoICYkZJR1lFTEVNISBFemVuIHRhbnVzaXR2YW55IGEgTmV0
-TG9jayBLZnQuIE1pbm9zaXRldHQgU3pvbGdhbHRhdGFzaSBTemFiYWx5emF0YWJh
-biBsZWlydCBlbGphcmFzb2sgYWxhcGphbiBrZXN6dWx0LiBBIG1pbm9zaXRldHQg
-ZWxla3Ryb25pa3VzIGFsYWlyYXMgam9naGF0YXMgZXJ2ZW55ZXN1bGVzZW5laywg
-dmFsYW1pbnQgZWxmb2dhZGFzYW5hayBmZWx0ZXRlbGUgYSBNaW5vc2l0ZXR0IFN6
-b2xnYWx0YXRhc2kgU3phYmFseXphdGJhbiwgYXogQWx0YWxhbm9zIFN6ZXJ6b2Rl
-c2kgRmVsdGV0ZWxla2JlbiBlbG9pcnQgZWxsZW5vcnplc2kgZWxqYXJhcyBtZWd0
-ZXRlbGUuIEEgZG9rdW1lbnR1bW9rIG1lZ3RhbGFsaGF0b2sgYSBodHRwczovL3d3
-dy5uZXRsb2NrLmh1L2RvY3MvIGNpbWVuIHZhZ3kga2VyaGV0b2sgYXogaW5mb0Bu
-ZXRsb2NrLm5ldCBlLW1haWwgY2ltZW4uIFdBUk5JTkchIFRoZSBpc3N1YW5jZSBh
-bmQgdGhlIHVzZSBvZiB0aGlzIGNlcnRpZmljYXRlIGFyZSBzdWJqZWN0IHRvIHRo
-ZSBOZXRMb2NrIFF1YWxpZmllZCBDUFMgYXZhaWxhYmxlIGF0IGh0dHBzOi8vd3d3
-Lm5ldGxvY2suaHUvZG9jcy8gb3IgYnkgZS1tYWlsIGF0IGluZm9AbmV0bG9jay5u
-ZXQwHQYDVR0OBBYEFAlqYhaSsFq7VQ7LdTI6MuWyIckoMA0GCSqGSIb3DQEBBQUA
-A4IBAQCRalCc23iBmz+LQuM7/KbD7kPgz/PigDVJRXYC4uMvBcXxKufAQTPGtpvQ
-MznNwNuhrWw3AkxYQTvyl5LGSKjN5Yo5iWH5Upfpvfb5lHTocQ68d4bDBsxafEp+
-NFAwLvt/MpqNPfMgW/hqyobzMUwsWYACff44yTB1HLdV47yfuqhthCgFdbOLDcCR
-VCHnpgu0mfVRQdzNo0ci2ccBgcTcR08m6h/t280NmPSjnLRzMkqWmf68f8glWPhY
-83ZmiVSkpj7EUFy6iRiCdUgh0k8T6GB+B3bbELVR5qq5aKrN9p2QdRLqOBrKROi3
-macqaJVmlaut74nLYKkGEsaUR+ko
------END CERTIFICATE-----
-
------BEGIN CERTIFICATE-----
-MIIEADCCAuigAwIBAgIBADANBgkqhkiG9w0BAQUFADBjMQswCQYDVQQGEwJVUzEh
-MB8GA1UEChMYVGhlIEdvIERhZGR5IEdyb3VwLCBJbmMuMTEwLwYDVQQLEyhHbyBE
-YWRkeSBDbGFzcyAyIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MB4XDTA0MDYyOTE3
-MDYyMFoXDTM0MDYyOTE3MDYyMFowYzELMAkGA1UEBhMCVVMxITAfBgNVBAoTGFRo
-ZSBHbyBEYWRkeSBHcm91cCwgSW5jLjExMC8GA1UECxMoR28gRGFkZHkgQ2xhc3Mg
-MiBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTCCASAwDQYJKoZIhvcNAQEBBQADggEN
-ADCCAQgCggEBAN6d1+pXGEmhW+vXX0iG6r7d/+TvZxz0ZWizV3GgXne77ZtJ6XCA
-PVYYYwhv2vLM0D9/AlQiVBDYsoHUwHU9S3/Hd8M+eKsaA7Ugay9qK7HFiH7Eux6w
-wdhFJ2+qN1j3hybX2C32qRe3H3I2TqYXP2WYktsqbl2i/ojgC95/5Y0V4evLOtXi
-EqITLdiOr18SPaAIBQi2XKVlOARFmR6jYGB0xUGlcmIbYsUfb18aQr4CUWWoriMY
-avx4A6lNf4DD+qta/KFApMoZFv6yyO9ecw3ud72a9nmYvLEHZ6IVDd2gWMZEewo+
-YihfukEHU1jPEX44dMX4/7VpkI+EdOqXG68CAQOjgcAwgb0wHQYDVR0OBBYEFNLE
-sNKR1EwRcbNhyz2h/t2oatTjMIGNBgNVHSMEgYUwgYKAFNLEsNKR1EwRcbNhyz2h
-/t2oatTjoWekZTBjMQswCQYDVQQGEwJVUzEhMB8GA1UEChMYVGhlIEdvIERhZGR5
-IEdyb3VwLCBJbmMuMTEwLwYDVQQLEyhHbyBEYWRkeSBDbGFzcyAyIENlcnRpZmlj
-YXRpb24gQXV0aG9yaXR5ggEAMAwGA1UdEwQFMAMBAf8wDQYJKoZIhvcNAQEFBQAD
-ggEBADJL87LKPpH8EsahB4yOd6AzBhRckB4Y9wimPQoZ+YeAEW5p5JYXMP80kWNy
-OO7MHAGjHZQopDH2esRU1/blMVgDoszOYtuURXO1v0XJJLXVggKtI3lpjbi2Tc7P
-TMozI+gciKqdi0FuFskg5YmezTvacPd+mSYgFFQlq25zheabIZ0KbIIOqPjCDPoQ
-HmyW74cNxA9hi63ugyuV+I6ShHI56yDqg+2DzZduCLzrTia2cyvk0/ZM/iZx4mER
-dEr/VxqHD3VILs9RaRegAhJhldXRQLIQTO7ErBBDpqWeCtWVYpoNz4iCxTIM5Cuf
-ReYNnyicsbkqWletNw+vHX/bvZ8=
------END CERTIFICATE-----
-
------BEGIN CERTIFICATE-----
-MIIEDzCCAvegAwIBAgIBADANBgkqhkiG9w0BAQUFADBoMQswCQYDVQQGEwJVUzEl
-MCMGA1UEChMcU3RhcmZpZWxkIFRlY2hub2xvZ2llcywgSW5jLjEyMDAGA1UECxMp
-U3RhcmZpZWxkIENsYXNzIDIgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwHhcNMDQw
-NjI5MTczOTE2WhcNMzQwNjI5MTczOTE2WjBoMQswCQYDVQQGEwJVUzElMCMGA1UE
-ChMcU3RhcmZpZWxkIFRlY2hub2xvZ2llcywgSW5jLjEyMDAGA1UECxMpU3RhcmZp
-ZWxkIENsYXNzIDIgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwggEgMA0GCSqGSIb3
-DQEBAQUAA4IBDQAwggEIAoIBAQC3Msj+6XGmBIWtDBFk385N78gDGIc/oav7PKaf
-8MOh2tTYbitTkPskpD6E8J7oX+zlJ0T1KKY/e97gKvDIr1MvnsoFAZMej2YcOadN
-+lq2cwQlZut3f+dZxkqZJRRU6ybH838Z1TBwj6+wRir/resp7defqgSHo9T5iaU0
-X9tDkYI22WY8sbi5gv2cOj4QyDvvBmVmepsZGD3/cVE8MC5fvj13c7JdBmzDI1aa
-K4UmkhynArPkPw2vCHmCuDY96pzTNbO8acr1zJ3o/WSNF4Azbl5KXZnJHoe0nRrA
-1W4TNSNe35tfPe/W93bC6j67eA0cQmdrBNj41tpvi/JEoAGrAgEDo4HFMIHCMB0G
-A1UdDgQWBBS/X7fRzt0fhvRbVazc1xDCDqmI5zCBkgYDVR0jBIGKMIGHgBS/X7fR
-zt0fhvRbVazc1xDCDqmI56FspGowaDELMAkGA1UEBhMCVVMxJTAjBgNVBAoTHFN0
-YXJmaWVsZCBUZWNobm9sb2dpZXMsIEluYy4xMjAwBgNVBAsTKVN0YXJmaWVsZCBD
-bGFzcyAyIENlcnRpZmljYXRpb24gQXV0aG9yaXR5ggEAMAwGA1UdEwQFMAMBAf8w
-DQYJKoZIhvcNAQEFBQADggEBAAWdP4id0ckaVaGsafPzWdqbAYcaT1epoXkJKtv3
-L7IezMdeatiDh6GX70k1PncGQVhiv45YuApnP+yz3SFmH8lU+nLMPUxA2IGvd56D
-eruix/U0F47ZEUD0/CwqTRV/p2JdLiXTAAsgGh1o+Re49L2L7ShZ3U0WixeDyLJl
-xy16paq8U4Zt3VekyvggQQto8PT7dL5WXXp59fkdheMtlb71cZBDzI0fmgAKhynp
-VSJYACPq4xJDKVtHCN2MQWplBqjlIapBtJUhlbl90TSrE9atvNziPTnNvT51cKEY
-WQPJIrSPnNVeKtelttQKbfi3QBFGmh95DmK/D5fs4C8fF5Q=
------END CERTIFICATE-----
-
------BEGIN CERTIFICATE-----
-MIIDVDCCAjygAwIBAgIDAjRWMA0GCSqGSIb3DQEBBQUAMEIxCzAJBgNVBAYTAlVT
-MRYwFAYDVQQKEw1HZW9UcnVzdCBJbmMuMRswGQYDVQQDExJHZW9UcnVzdCBHbG9i
-YWwgQ0EwHhcNMDIwNTIxMDQwMDAwWhcNMjIwNTIxMDQwMDAwWjBCMQswCQYDVQQG
-EwJVUzEWMBQGA1UEChMNR2VvVHJ1c3QgSW5jLjEbMBkGA1UEAxMSR2VvVHJ1c3Qg
-R2xvYmFsIENBMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA2swYYzD9
-9BcjGlZ+W988bDjkcbd4kdS8odhM+KhDtgPpTSEHCIjaWC9mOSm9BXiLnTjoBbdq
-fnGk5sRgprDvgOSJKA+eJdbtg/OtppHHmMlCGDUUna2YRpIuT8rxh0PBFpVXLVDv
-iS2Aelet8u5fa9IAjbkU+BQVNdnARqN7csiRv8lVK83Qlz6cJmTM386DGXHKTubU
-1XupGc1V3sjs0l44U+VcT4wt/lAjNvxm5suOpDkZALeVAjmRCw7+OC7RHQWa9k0+
-bw8HHa8sHo9gOeL6NlMTOdReJivbPagUvTLrGAMoUgRx5aszPeE4uwc2hGKceeoW
-MPRfwCvocWvk+QIDAQABo1MwUTAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBTA
-ephojYn7qwVkDBF9qn1luMrMTjAfBgNVHSMEGDAWgBTAephojYn7qwVkDBF9qn1l
-uMrMTjANBgkqhkiG9w0BAQUFAAOCAQEANeMpauUvXVSOKVCUn5kaFOSPeCpilKIn
-Z57QzxpeR+nBsqTP3UEaBU6bS+5Kb1VSsyShNwrrZHYqLizz/Tt1kL/6cdjHPTfS
-tQWVYrmm3ok9Nns4d0iXrKYgjy6myQzCsplFAMfOEVEiIuCl6rYVSAlk6l5PdPcF
-PseKUgzbFbS9bZvlxrFUaKnjaZC2mqUPuLk/IH2uSrW4nOQdtqvmlKXBx4Ot2/Un
-hw4EbNX/3aBd7YdStysVAq45pmp06drE57xNNB6pXE0zX5IJL4hmXXeXxx12E6nV
-5fEWCRE11azbJHFwLJhWC9kXtNHjUStedejV0NxPNO3CBWaAocvmMw==
------END CERTIFICATE-----
-
------BEGIN CERTIFICATE-----
-MIIDZjCCAk6gAwIBAgIBATANBgkqhkiG9w0BAQUFADBEMQswCQYDVQQGEwJVUzEW
-MBQGA1UEChMNR2VvVHJ1c3QgSW5jLjEdMBsGA1UEAxMUR2VvVHJ1c3QgR2xvYmFs
-IENBIDIwHhcNMDQwMzA0MDUwMDAwWhcNMTkwMzA0MDUwMDAwWjBEMQswCQYDVQQG
-EwJVUzEWMBQGA1UEChMNR2VvVHJ1c3QgSW5jLjEdMBsGA1UEAxMUR2VvVHJ1c3Qg
-R2xvYmFsIENBIDIwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDvPE1A
-PRDfO1MA4Wf+lGAVPoWI8YkNkMgoI5kF6CsgncbzYEbYwbLVjDHZ3CB5JIG/NTL8
-Y2nbsSpr7iFY8gjpeMtvy/wWUsiRxP89c96xPqfCfWbB9X5SJBri1WeR0IIQ13hL
-TytCOb1kLUCgsBDTOEhGiKEMuzozKmKY+wCdE1l/bztyqu6mD4b5BWHqZ38MN5aL
-5mkWRxHCJ1kDs6ZgwiFAVvqgx306E+PsV8ez1q6diYD3Aecs9pYrEw15LNnA5IZ7
-S4wMcoKK+xfNAGw6EzywhIdLFnopsk/bHdQL82Y3vdj2V7teJHq4PIu5+pIaGoSe
-2HSPqht/XvT+RSIhAgMBAAGjYzBhMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYE
-FHE4NvICMVNHK266ZUapEBVYIAUJMB8GA1UdIwQYMBaAFHE4NvICMVNHK266ZUap
-EBVYIAUJMA4GA1UdDwEB/wQEAwIBhjANBgkqhkiG9w0BAQUFAAOCAQEAA/e1K6td
-EPx7srJerJsOflN4WT5CBP51o62sgU7XAotexC3IUnbHLB/8gTKY0UvGkpMzNTEv
-/NgdRN3ggX+d6YvhZJFiCzkIjKx0nVnZellSlxG5FntvRdOW2TF9AjYPnDtuzywN
-A0ZF66D0f0hExghAzN4bcLUprbqLOzRldRtxIR0sFAqwlpW41uryZfspuk/qkZN0
-abby/+Ea0AzRdoXLiiW9l14sbxWZJue2Kf8i7MkCx1YAzUm5s2x7UwQa4qjJqhIF
-I8LO57sEAszAR6LkxCkvW0VXiVHuPOtSCP8HNR6fNWpHSlaY0VqFH4z1Ir+rzoPz
-4iIprn2DQKi6bA==
------END CERTIFICATE-----
-
------BEGIN CERTIFICATE-----
-MIIFaDCCA1CgAwIBAgIBATANBgkqhkiG9w0BAQUFADBFMQswCQYDVQQGEwJVUzEW
-MBQGA1UEChMNR2VvVHJ1c3QgSW5jLjEeMBwGA1UEAxMVR2VvVHJ1c3QgVW5pdmVy
-c2FsIENBMB4XDTA0MDMwNDA1MDAwMFoXDTI5MDMwNDA1MDAwMFowRTELMAkGA1UE
-BhMCVVMxFjAUBgNVBAoTDUdlb1RydXN0IEluYy4xHjAcBgNVBAMTFUdlb1RydXN0
-IFVuaXZlcnNhbCBDQTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAKYV
-VaCjxuAfjJ0hUNfBvitbtaSeodlyWL0AG0y/YckUHUWCq8YdgNY96xCcOq9tJPi8
-cQGeBvV8Xx7BDlXKg5pZMK4ZyzBIle0iN430SppyZj6tlcDgFgDgEB8rMQ7XlFTT
-QjOgNB0eRXbdT8oYN+yFFXoZCPzVx5zw8qkuEKmS5j1YPakWaDwvdSEYfyh3peFh
-F7em6fgemdtzbvQKoiFs7tqqhZJmr/Z6a4LauiIINQ/PQvE1+mrufislzDoR5G2v
-c7J2Ha3QsnhnGqQ5HFELZ1aD/ThdDc7d8Lsrlh/eezJS/R27tQahsiFepdaVaH/w
-mZ7cRQg+59IJDTWU3YBOU5fXtQlEIGQWFwMCTFMNaN7VqnJNk22CDtucvc+081xd
-VHppCZbW2xHBjXWotM85yM48vCR85mLK4b19p71XZQvk/iXttmkQ3CgaRr0BHdCX
-teGYO8A3ZNY9lO4L4fUorgtWv3GLIylBjobFS1J72HGrH4oVpjuDWtdYAVHGTEHZ
-f9hBZ3KiKN9gg6meyHv8U3NyWfWTehd2Ds735VzZC1U0oqpbtWpU5xPKV+yXbfRe
-Bi9Fi1jUIxaS5BZuKGNZMN9QAZxjiRqf2xeUgnA3wySemkfWWspOqGmJch+RbNt+
-nhutxx9z3SxPGWX9f5NAEC7S8O08ni4oPmkmM8V7AgMBAAGjYzBhMA8GA1UdEwEB
-/wQFMAMBAf8wHQYDVR0OBBYEFNq7LqqwDLiIJlF0XG0D08DYj3rWMB8GA1UdIwQY
-MBaAFNq7LqqwDLiIJlF0XG0D08DYj3rWMA4GA1UdDwEB/wQEAwIBhjANBgkqhkiG
-9w0BAQUFAAOCAgEAMXjmx7XfuJRAyXHEqDXsRh3ChfMoWIawC/yOsjmPRFWrZIRc
-aanQmjg8+uUfNeVE44B5lGiku8SfPeE0zTBGi1QrlaXv9z+ZhP015s8xxtxqv6fX
-IwjhmF7DWgh2qaavdy+3YL1ERmrvl/9zlcGO6JP7/TG37FcREUWbMPEaiDnBTzyn
-ANXH/KttgCJwpQzgXQQpAvvLoJHRfNbDflDVnVi+QTjruXU8FdmbyUqDWcDaU/0z
-uzYYm4UPFd3uLax2k7nZAY1IEKj79TiG8dsKxr2EoyNB3tZ3b4XUhRxQ4K5RirqN
-Pnbiucon8l+f725ZDQbYKxek0nxru18UGkiPGkzns0ccjkxFKyDuSN/n3QmOGKja
-QI2SJhFTYXNd673nxE0pN2HrrDktZy4W1vUAg4WhzH92xH3kt0tm7wNFYGm2DFKW
-koRepqO1pD4r2czYG0eq8kTaT/kD6PAUyz/zg97QwVTjt+gKN02LIFkDMBmhLMi9
-ER/frslKxfMnZmaGrGiR/9nmUxwPi1xpZQomyB40w11Re9epnAahNt3ViZS82eQt
-DF4JbAiXfKM9fJP/P6EUp8+1Xevb2xzEdt+Iub1FBZUbrvxGakyvSOPOrg/Sfuvm
-bJxPgWp6ZKy7PtXny3YuxadIwVyQD8vIP/rmMuGNG2+k5o7Y+SlIis5z/iw=
------END CERTIFICATE-----
-
------BEGIN CERTIFICATE-----
-MIIFbDCCA1SgAwIBAgIBATANBgkqhkiG9w0BAQUFADBHMQswCQYDVQQGEwJVUzEW
-MBQGA1UEChMNR2VvVHJ1c3QgSW5jLjEgMB4GA1UEAxMXR2VvVHJ1c3QgVW5pdmVy
-c2FsIENBIDIwHhcNMDQwMzA0MDUwMDAwWhcNMjkwMzA0MDUwMDAwWjBHMQswCQYD
-VQQGEwJVUzEWMBQGA1UEChMNR2VvVHJ1c3QgSW5jLjEgMB4GA1UEAxMXR2VvVHJ1
-c3QgVW5pdmVyc2FsIENBIDIwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoIC
-AQCzVFLByT7y2dyxUxpZKeexw0Uo5dfR7cXFS6GqdHtXr0om/Nj1XqduGdt0DE81
-WzILAePb63p3NeqqWuDW6KFXlPCQo3RWlEQwAx5cTiuFJnSCegx2oG9NzkEtoBUG
-FF+3Qs17j1hhNNwqCPkuwwGmIkQcTAeC5lvO0Ep8BNMZcyfwqph/Lq9O64ceJHdq
-XbboW0W63MOhBW9Wjo8QJqVJwy7XQYci4E+GymC16qFjwAGXEHm9ADwSbSsVsaxL
-se4YuU6W3Nx2/zu+z18DwPw76L5GG//aQMJS9/7jOvdqdzXQ2o3rXhhqMcceujwb
-KNZrVMaqW9eiLBsZzKIC9ptZvTdrhrVtgrrY6slWvKk2WP0+GfPtDCapkzj4T8Fd
-IgbQl+rhrcZV4IErKIM6+vR7IVEAvlI4zs1meaj0gVbi0IMJR1FbUGrP20gaXT73
-y/Zl92zxlfgCOzJWgjl6W70viRu/obTo/3+NjN8D8WBOWBFM66M/ECuDmgFz2ZRt
-hAAnZqzwcEAJQpKtT5MNYQlRJNiS1QuUYbKHsu3/mjX/hVTK7URDrBs8FmtISgoc
-QIgfksILAAX/8sgCSqSqqcyZlpwvWOB94b67B9xfBHJcMTTD7F8t4D1kkCLm0ey4
-Lt1ZrtmhN79UNdxzMk+MBB4zsslG8dhcyFVQyWi9qLo2CQIDAQABo2MwYTAPBgNV
-HRMBAf8EBTADAQH/MB0GA1UdDgQWBBR281Xh+qQ2+/CfXGJx7Tz0RzgQKzAfBgNV
-HSMEGDAWgBR281Xh+qQ2+/CfXGJx7Tz0RzgQKzAOBgNVHQ8BAf8EBAMCAYYwDQYJ
-KoZIhvcNAQEFBQADggIBAGbBxiPz2eAubl/oz66wsCVNK/g7WJtAJDday6sWSf+z
-dXkzoS9tcBc0kf5nfo/sm+VegqlVHy/c1FEHEv6sFj4sNcZj/NwQ6w2jqtB8zNHQ
-L1EuxBRa3ugZ4T7GzKQp5y6EqgYweHZUcyiYWTjgAA1i00J9IZ+uPTqM1fp3DRgr
-Fg5fNuH8KrUwJM/gYwx7WBr+mbpCErGR9Hxo4sjoryzqyX6uuyo9DRXcNJW2GHSo
-ag/HtPQTxORb7QrSpJdMKu0vbBKJPfEncKpqA1Ihn0CoZ1Dy81of398j9tx4TuaY
-T1U6U+Pv8vSfx3zYWK8pIpe44L2RLrB27FcRz+8pRPPphXpgY+RdM4kX2TGq2tbz
-GDVyz4crL2MjhF2EjD9XoIj8mZEoJmmZ1I+XRL6O1UixpCgp8RW04eWe3fiPpm8m
-1wk8OhwRDqZsN/etRIcsKMfYdIKz0G9KV7s1KSegi+ghp4dkNl3M2Basx7InQJJV
-OCiNUW7dFGdTbHFcJoRNdVq2fmBWqU2t+5sel/MN2dKXVHfaPRK34B7vCAas+YWH
-6aLcr34YEoP9VhdBLtUpgn2Z9DH2canPLAEnpQW5qrJITirvn5NSUZU8UnOOVkwX
-QMAJKOSLakhT2+zNVVXxxvjpoixMptEmX36vWkzaH6byHCx+rgIW0lbQL1dTR+iS
------END CERTIFICATE-----
-
------BEGIN CERTIFICATE-----
-MIIF0DCCBLigAwIBAgIEOrZQizANBgkqhkiG9w0BAQUFADB/MQswCQYDVQQGEwJC
-TTEZMBcGA1UEChMQUXVvVmFkaXMgTGltaXRlZDElMCMGA1UECxMcUm9vdCBDZXJ0
-aWZpY2F0aW9uIEF1dGhvcml0eTEuMCwGA1UEAxMlUXVvVmFkaXMgUm9vdCBDZXJ0
-aWZpY2F0aW9uIEF1dGhvcml0eTAeFw0wMTAzMTkxODMzMzNaFw0yMTAzMTcxODMz
-MzNaMH8xCzAJBgNVBAYTAkJNMRkwFwYDVQQKExBRdW9WYWRpcyBMaW1pdGVkMSUw
-IwYDVQQLExxSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MS4wLAYDVQQDEyVR
-dW9WYWRpcyBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MIIBIjANBgkqhkiG
-9w0BAQEFAAOCAQ8AMIIBCgKCAQEAv2G1lVO6V/z68mcLOhrfEYBklbTRvM16z/Yp
-li4kVEAkOPcahdxYTMukJ0KX0J+DisPkBgNbAKVRHnAEdOLB1Dqr1607BxgFjv2D
-rOpm2RgbaIr1VxqYuvXtdj182d6UajtLF8HVj71lODqV0D1VNk7feVcxKh7YWWVJ
-WCCYfqtffp/p1k3sg3Spx2zY7ilKhSoGFPlU5tPaZQeLYzcS19Dsw3sgQUSj7cug
-F+FxZc4dZjH3dgEZyH0DWLaVSR2mEiboxgx24ONmy+pdpibu5cxfvWenAScOospU
-xbF6lR1xHkopigPcakXBpBlebzbNw6Kwt/5cOOJSvPhEQ+aQuwIDAQABo4ICUjCC
-Ak4wPQYIKwYBBQUHAQEEMTAvMC0GCCsGAQUFBzABhiFodHRwczovL29jc3AucXVv
-dmFkaXNvZmZzaG9yZS5jb20wDwYDVR0TAQH/BAUwAwEB/zCCARoGA1UdIASCAREw
-ggENMIIBCQYJKwYBBAG+WAABMIH7MIHUBggrBgEFBQcCAjCBxxqBxFJlbGlhbmNl
-IG9uIHRoZSBRdW9WYWRpcyBSb290IENlcnRpZmljYXRlIGJ5IGFueSBwYXJ0eSBh
-c3N1bWVzIGFjY2VwdGFuY2Ugb2YgdGhlIHRoZW4gYXBwbGljYWJsZSBzdGFuZGFy
-ZCB0ZXJtcyBhbmQgY29uZGl0aW9ucyBvZiB1c2UsIGNlcnRpZmljYXRpb24gcHJh
-Y3RpY2VzLCBhbmQgdGhlIFF1b1ZhZGlzIENlcnRpZmljYXRlIFBvbGljeS4wIgYI
-KwYBBQUHAgEWFmh0dHA6Ly93d3cucXVvdmFkaXMuYm0wHQYDVR0OBBYEFItLbe3T
-KbkGGew5Oanwl4Rqy+/fMIGuBgNVHSMEgaYwgaOAFItLbe3TKbkGGew5Oanwl4Rq
-y+/foYGEpIGBMH8xCzAJBgNVBAYTAkJNMRkwFwYDVQQKExBRdW9WYWRpcyBMaW1p
-dGVkMSUwIwYDVQQLExxSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MS4wLAYD
-VQQDEyVRdW9WYWRpcyBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5ggQ6tlCL
-MA4GA1UdDwEB/wQEAwIBBjANBgkqhkiG9w0BAQUFAAOCAQEAitQUtf70mpKnGdSk
-fnIYj9lofFIk3WdvOXrEql494liwTXCYhGHoG+NpGA7O+0dQoE7/8CQfvbLO9Sf8
-7C9TqnN7Az10buYWnuulLsS/VidQK2K6vkscPFVcQR0kvoIgR13VRH56FmjffU1R
-cHhXHTMe/QKZnAzNCgVPx7uOpHX6Sm2xgI4JVrmcGmD+XcHXetwReNDWXcG31a0y
-mQM6isxUJTkxgXsTIlG6Rmyhu576BGxJJnSP0nPrzDCi5upZIof4l/UO/erMkqQW
-xFIY6iHOsfHmhIHluqmGKPJDWl0Snawe2ajlCmqnf6CHKc/yiU3U7MXi5nrQNiOK
-SnQ2+Q==
------END CERTIFICATE-----
-
------BEGIN CERTIFICATE-----
-MIIDtzCCAp+gAwIBAgIQDOfg5RfYRv6P5WD8G/AwOTANBgkqhkiG9w0BAQUFADBl
-MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3
-d3cuZGlnaWNlcnQuY29tMSQwIgYDVQQDExtEaWdpQ2VydCBBc3N1cmVkIElEIFJv
-b3QgQ0EwHhcNMDYxMTEwMDAwMDAwWhcNMzExMTEwMDAwMDAwWjBlMQswCQYDVQQG
-EwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cuZGlnaWNl
-cnQuY29tMSQwIgYDVQQDExtEaWdpQ2VydCBBc3N1cmVkIElEIFJvb3QgQ0EwggEi
-MA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCtDhXO5EOAXLGH87dg+XESpa7c
-JpSIqvTO9SA5KFhgDPiA2qkVlTJhPLWxKISKityfCgyDF3qPkKyK53lTXDGEKvYP
-mDI2dsze3Tyoou9q+yHyUmHfnyDXH+Kx2f4YZNISW1/5WBg1vEfNoTb5a3/UsDg+
-wRvDjDPZ2C8Y/igPs6eD1sNuRMBhNZYW/lmci3Zt1/GiSw0r/wty2p5g0I6QNcZ4
-VYcgoc/lbQrISXwxmDNsIumH0DJaoroTghHtORedmTpyoeb6pNnVFzF1roV9Iq4/
-AUaG9ih5yLHa5FcXxH4cDrC0kqZWs72yl+2qp/C3xag/lRbQ/6GW6whfGHdPAgMB
-AAGjYzBhMA4GA1UdDwEB/wQEAwIBhjAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQW
-BBRF66Kv9JLLgjEtUYunpyGd823IDzAfBgNVHSMEGDAWgBRF66Kv9JLLgjEtUYun
-pyGd823IDzANBgkqhkiG9w0BAQUFAAOCAQEAog683+Lt8ONyc3pklL/3cmbYMuRC
-dWKuh+vy1dneVrOfzM4UKLkNl2BcEkxY5NM9g0lFWJc1aRqoR+pWxnmrEthngYTf
-fwk8lOa4JiwgvT2zKIn3X/8i4peEH+ll74fg38FnSbNd67IJKusm7Xi+fT8r87cm
-NW1fiQG2SVufAQWbqz0lwcy2f8Lxb4bG+mRo64EtlOtCt/qMHt1i8b5QZ7dsvfPx
-H2sMNgcWfzd8qVttevESRmCD1ycEvkvOl77DZypoEd+A5wwzZr8TDRRu838fYxAe
-+o0bJW1sj6W3YQGx0qMmoRBxna3iw/nDmVG3KwcIzi7mULKn+gpFL6Lw8g==
------END CERTIFICATE-----
-
------BEGIN CERTIFICATE-----
-MIIDrzCCApegAwIBAgIQCDvgVpBCRrGhdWrJWZHHSjANBgkqhkiG9w0BAQUFADBh
-MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3
-d3cuZGlnaWNlcnQuY29tMSAwHgYDVQQDExdEaWdpQ2VydCBHbG9iYWwgUm9vdCBD
-QTAeFw0wNjExMTAwMDAwMDBaFw0zMTExMTAwMDAwMDBaMGExCzAJBgNVBAYTAlVT
-MRUwEwYDVQQKEwxEaWdpQ2VydCBJbmMxGTAXBgNVBAsTEHd3dy5kaWdpY2VydC5j
-b20xIDAeBgNVBAMTF0RpZ2lDZXJ0IEdsb2JhbCBSb290IENBMIIBIjANBgkqhkiG
-9w0BAQEFAAOCAQ8AMIIBCgKCAQEA4jvhEXLeqKTTo1eqUKKPC3eQyaKl7hLOllsB
-CSDMAZOnTjC3U/dDxGkAV53ijSLdhwZAAIEJzs4bg7/fzTtxRuLWZscFs3YnFo97
-nh6Vfe63SKMI2tavegw5BmV/Sl0fvBf4q77uKNd0f3p4mVmFaG5cIzJLv07A6Fpt
-43C/dxC//AH2hdmoRBBYMql1GNXRor5H4idq9Joz+EkIYIvUX7Q6hL+hqkpMfT7P
-T19sdl6gSzeRntwi5m3OFBqOasv+zbMUZBfHWymeMr/y7vrTC0LUq7dBMtoM1O/4
-gdW7jVg/tRvoSSiicNoxBN33shbyTApOB6jtSj1etX+jkMOvJwIDAQABo2MwYTAO
-BgNVHQ8BAf8EBAMCAYYwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUA95QNVbR
-TLtm8KPiGxvDl7I90VUwHwYDVR0jBBgwFoAUA95QNVbRTLtm8KPiGxvDl7I90VUw
-DQYJKoZIhvcNAQEFBQADggEBAMucN6pIExIK+t1EnE9SsPTfrgT1eXkIoyQY/Esr
-hMAtudXH/vTBH1jLuG2cenTnmCmrEbXjcKChzUyImZOMkXDiqw8cvpOp/2PV5Adg
-06O/nVsJ8dWO41P0jmP6P6fbtGbfYmbW0W5BjfIttep3Sp+dWOIrWcBAI+0tKIJF
-PnlUkiaY4IBIqDfv8NZ5YBberOgOzW6sRBc4L0na4UU+Krk2U886UAb3LujEV0ls
-YSEY1QSteDwsOoBrp+uvFRTp2InBuThs4pFsiv9kuXclVzDAGySj4dzp30d8tbQk
-CAUw7C29C79Fv1C5qfPrmAESrciIxpg0X40KPMbp1ZWVbd4=
------END CERTIFICATE-----
-
------BEGIN CERTIFICATE-----
-MIIDxTCCAq2gAwIBAgIQAqxcJmoLQJuPC3nyrkYldzANBgkqhkiG9w0BAQUFADBs
-MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3
-d3cuZGlnaWNlcnQuY29tMSswKQYDVQQDEyJEaWdpQ2VydCBIaWdoIEFzc3VyYW5j
-ZSBFViBSb290IENBMB4XDTA2MTExMDAwMDAwMFoXDTMxMTExMDAwMDAwMFowbDEL
-MAkGA1UEBhMCVVMxFTATBgNVBAoTDERpZ2lDZXJ0IEluYzEZMBcGA1UECxMQd3d3
-LmRpZ2ljZXJ0LmNvbTErMCkGA1UEAxMiRGlnaUNlcnQgSGlnaCBBc3N1cmFuY2Ug
-RVYgUm9vdCBDQTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMbM5XPm
-+9S75S0tMqbf5YE/yc0lSbZxKsPVlDRnogocsF9ppkCxxLeyj9CYpKlBWTrT3JTW
-PNt0OKRKzE0lgvdKpVMSOO7zSW1xkX5jtqumX8OkhPhPYlG++MXs2ziS4wblCJEM
-xChBVfvLWokVfnHoNb9Ncgk9vjo4UFt3MRuNs8ckRZqnrG0AFFoEt7oT61EKmEFB
-Ik5lYYeBQVCmeVyJ3hlKV9Uu5l0cUyx+mM0aBhakaHPQNAQTXKFx01p8VdteZOE3
-hzBWBOURtCmAEvF5OYiiAhF8J2a3iLd48soKqDirCmTCv2ZdlYTBoSUeh10aUAsg
-EsxBu24LUTi4S8sCAwEAAaNjMGEwDgYDVR0PAQH/BAQDAgGGMA8GA1UdEwEB/wQF
-MAMBAf8wHQYDVR0OBBYEFLE+w2kD+L9HAdSYJhoIAu9jZCvDMB8GA1UdIwQYMBaA
-FLE+w2kD+L9HAdSYJhoIAu9jZCvDMA0GCSqGSIb3DQEBBQUAA4IBAQAcGgaX3Nec
-nzyIZgYIVyHbIUf4KmeqvxgydkAQV8GK83rZEWWONfqe/EW1ntlMMUu4kehDLI6z
-eM7b41N5cdblIZQB2lWHmiRk9opmzN6cN82oNLFpmyPInngiK3BD41VHMWEZ71jF
-hS9OMPagMRYjyOfiZRYzy78aG6A9+MpeizGLYAiJLQwGXFK3xPkKmNEVX58Svnw2
-Yzi9RKR/5CYrCsSXaQ3pjOLAEFe4yHYSkVXySGnYvCoCWw9E1CAx2/S6cCZdkGCe
-vEsXCS+0yx5DaMkHJ8HSXPfqIbloEpw8nL+e/IBcm2PN7EeqJSdnoDfzAIJ9VNep
-+OkuE6N36B9K
------END CERTIFICATE-----
-
------BEGIN CERTIFICATE-----
-MIIFtzCCA5+gAwIBAgICBQkwDQYJKoZIhvcNAQEFBQAwRTELMAkGA1UEBhMCQk0x
-GTAXBgNVBAoTEFF1b1ZhZGlzIExpbWl0ZWQxGzAZBgNVBAMTElF1b1ZhZGlzIFJv
-b3QgQ0EgMjAeFw0wNjExMjQxODI3MDBaFw0zMTExMjQxODIzMzNaMEUxCzAJBgNV
-BAYTAkJNMRkwFwYDVQQKExBRdW9WYWRpcyBMaW1pdGVkMRswGQYDVQQDExJRdW9W
-YWRpcyBSb290IENBIDIwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCa
-GMpLlA0ALa8DKYrwD4HIrkwZhR0In6spRIXzL4GtMh6QRr+jhiYaHv5+HBg6XJxg
-Fyo6dIMzMH1hVBHL7avg5tKifvVrbxi3Cgst/ek+7wrGsxDp3MJGF/hd/aTa/55J
-WpzmM+Yklvc/ulsrHHo1wtZn/qtmUIttKGAr79dgw8eTvI02kfN/+NsRE8Scd3bB
-rrcCaoF6qUWD4gXmuVbBlDePSHFjIuwXZQeVikvfj8ZaCuWw419eaxGrDPmF60Tp
-+ARz8un+XJiM9XOva7R+zdRcAitMOeGylZUtQofX1bOQQ7dsE/He3fbE+Ik/0XX1
-ksOR1YqI0JDs3G3eicJlcZaLDQP9nL9bFqyS2+r+eXyt66/3FsvbzSUr5R/7mp/i
-Ucw6UwxI5g69ybR2BlLmEROFcmMDBOAENisgGQLodKcftslWZvB1JdxnwQ5hYIiz
-PtGo/KPaHbDRsSNU30R2be1B2MGyIrZTHN81Hdyhdyox5C315eXbyOD/5YDXC2Og
-/zOhD7osFRXql7PSorW+8oyWHhqPHWykYTe5hnMz15eWniN9gqRMgeKh0bpnX5UH
-oycR7hYQe7xFSkyyBNKr79X9DFHOUGoIMfmR2gyPZFwDwzqLID9ujWc9Otb+fVuI
-yV77zGHcizN300QyNQliBJIWENieJ0f7OyHj+OsdWwIDAQABo4GwMIGtMA8GA1Ud
-EwEB/wQFMAMBAf8wCwYDVR0PBAQDAgEGMB0GA1UdDgQWBBQahGK8SEwzJQTU7tD2
-A8QZRtGUazBuBgNVHSMEZzBlgBQahGK8SEwzJQTU7tD2A8QZRtGUa6FJpEcwRTEL
-MAkGA1UEBhMCQk0xGTAXBgNVBAoTEFF1b1ZhZGlzIExpbWl0ZWQxGzAZBgNVBAMT
-ElF1b1ZhZGlzIFJvb3QgQ0EgMoICBQkwDQYJKoZIhvcNAQEFBQADggIBAD4KFk2f
-BluornFdLwUvZ+YTRYPENvbzwCYMDbVHZF34tHLJRqUDGCdViXh9duqWNIAXINzn
-g/iN/Ae42l9NLmeyhP3ZRPx3UIHmfLTJDQtyU/h2BwdBR5YM++CCJpNVjP4iH2Bl
-fF/nJrP3MpCYUNQ3cVX2kiF495V5+vgtJodmVjB3pjd4M1IQWK4/YY7yarHvGH5K
-WWPKjaJW1acvvFYfzznB4vsKqBUsfU16Y8Zsl0Q80m/DShcK+JDSV6IZUaUtl0Ha
-B0+pUNqQjZRG4T7wlP0QADj1O+hA4bRuVhogzG9Yje0uRY/W6ZM/57Es3zrWIozc
-hLsib9D45MY56QSIPMO661V6bYCZJPVsAfv4l7CUW+v90m/xd2gNNWQjrLhVoQPR
-TUIZ3Ph1WVaj+ahJefivDrkRoHy3au000LYmYjgahwz46P0u05B/B5EqHdZ+XIWD
-mbA4CD/pXvk1B+TJYm5Xf6dQlfe6yJvmjqIBxdZmv3lh8zwc4bmCXF2gw+nYSL0Z
-ohEUGW6yhhtoPkg3Goi3XZZenMfvJ2II4pEZXNLxId26F0KCl3GBUzGpn/Z9Yr9y
-4aOTHcyKJloJONDO1w2AFrR4pTqHTI2KpdVGl/IsELm8VCLAAVBpQ570su9t+Oza
-8eOx79+Rj1QqCyXBJhnEUhAFZdWCEOrCMc0u
------END CERTIFICATE-----
-
------BEGIN CERTIFICATE-----
-MIIGnTCCBIWgAwIBAgICBcYwDQYJKoZIhvcNAQEFBQAwRTELMAkGA1UEBhMCQk0x
-GTAXBgNVBAoTEFF1b1ZhZGlzIExpbWl0ZWQxGzAZBgNVBAMTElF1b1ZhZGlzIFJv
-b3QgQ0EgMzAeFw0wNjExMjQxOTExMjNaFw0zMTExMjQxOTA2NDRaMEUxCzAJBgNV
-BAYTAkJNMRkwFwYDVQQKExBRdW9WYWRpcyBMaW1pdGVkMRswGQYDVQQDExJRdW9W
-YWRpcyBSb290IENBIDMwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDM
-V0IWVJzmmNPTTe7+7cefQzlKZbPoFog02w1ZkXTPkrgEQK0CSzGrvI2RaNggDhoB
-4hp7Thdd4oq3P5kazethq8Jlph+3t723j/z9cI8LoGe+AaJZz3HmDyl2/7FWeUUr
-H556VOijKTVopAFPD6QuN+8bv+OPEKhyq1hX51SGyMnzW9os2l2ObjyjPtr7guXd
-8lyyBTNvijbO0BNO/79KDDRMpsMhvVAEVeuxu537RR5kFd5VAYwCdrXLoT9Cabwv
-vWhDFlaJKjdhkf2mrk7AyxRllDdLkgbvBNDInIjbC3uBr7E9KsRlOni27tyAsdLT
-mZw67mtaa7ONt9XOnMK+pUsvFrGeaDsGb659n/je7Mwpp5ijJUMv7/FfJuGITfhe
-btfZFG4ZM2mnO4SJk8RTVROhUXhA+LjJou57ulJCg54U7QVSWllWp5f8nT8KKdjc
-T5EOE7zelaTfi5m+rJsziO+1ga8bxiJTyPbH7pcUsMV8eFLI8M5ud2CEpukqdiDt
-WAEXMJPpGovgc2PZapKUSU60rUqFxKMiMPwJ7Wgic6aIDFUhWMXhOp8q3crhkODZ
-c6tsgLjoC2SToJyMGf+z0gzskSaHirOi4XCPLArlzW1oUevaPwV/izLmE1xr/l9A
-4iLItLRkT9a6fUg+qGkM17uGcclzuD87nSVL2v9A6wIDAQABo4IBlTCCAZEwDwYD
-VR0TAQH/BAUwAwEB/zCB4QYDVR0gBIHZMIHWMIHTBgkrBgEEAb5YAAMwgcUwgZMG
-CCsGAQUFBwICMIGGGoGDQW55IHVzZSBvZiB0aGlzIENlcnRpZmljYXRlIGNvbnN0
-aXR1dGVzIGFjY2VwdGFuY2Ugb2YgdGhlIFF1b1ZhZGlzIFJvb3QgQ0EgMyBDZXJ0
-aWZpY2F0ZSBQb2xpY3kgLyBDZXJ0aWZpY2F0aW9uIFByYWN0aWNlIFN0YXRlbWVu
-dC4wLQYIKwYBBQUHAgEWIWh0dHA6Ly93d3cucXVvdmFkaXNnbG9iYWwuY29tL2Nw
-czALBgNVHQ8EBAMCAQYwHQYDVR0OBBYEFPLAE+CCQz777i9nMpY1XNu4ywLQMG4G
-A1UdIwRnMGWAFPLAE+CCQz777i9nMpY1XNu4ywLQoUmkRzBFMQswCQYDVQQGEwJC
-TTEZMBcGA1UEChMQUXVvVmFkaXMgTGltaXRlZDEbMBkGA1UEAxMSUXVvVmFkaXMg
-Um9vdCBDQSAzggIFxjANBgkqhkiG9w0BAQUFAAOCAgEAT62gLEz6wPJv92ZVqyM0
-7ucp2sNbtrCD2dDQ4iH782CnO11gUyeim/YIIirnv6By5ZwkajGxkHon24QRiSem
-d1o417+shvzuXYO8BsbRd2sPbSQvS3pspweWyuOEn62Iix2rFo1bZhfZFvSLgNLd
-+LJ2w/w4E6oM3kJpK27zPOuAJ9v1pkQNn1pVWQvVDVJIxa6f8i+AxeoyUDUSly7B
-4f/xI4hROJ/yZlZ25w9Rl6VSDE1JUZU2Pb+iSwwQHYaZTKrzchGT5Or2m9qoXadN
-t54CrnMAyNojA+j56hl0YgCUyyIgvpSnWbWCar6ZeXqp8kokUvd0/bpO5qgdAm6x
-DYBEwa7TIzdfu4V8K5Iu6H6li92Z4b8nby1dqnuH/grdS/yO9SbkbnBCbjPsMZ57
-k8HkyWkaPcBrTiJt7qtYTcbQQcEr6k8Sh17rRdhs9ZgC06DYVYoGmRmioHfRMJ6s
-zHXug/WwYjnPbFfiTNKRCw51KBuav/0aQ/HKd/s7j2G4aSgWQgRecCocIdiP4b0j
-Wy10QJLZYxkNc91pvGJHvOB0K7Lrfb5BG7XARsWhIstfTsEokt4YutUqKLsRixeT
-mJlglFwjz1onl14LBQaTNx47aTbrqZ5hHY8y2o4M1nQ+ewkk2gF3R8Q7zTSMmfXK
-4SVhM7JZG+Ju1zdXtg2pEto=
------END CERTIFICATE-----
-
------BEGIN CERTIFICATE-----
-MIIDujCCAqKgAwIBAgILBAAAAAABD4Ym5g0wDQYJKoZIhvcNAQEFBQAwTDEgMB4G
-A1UECxMXR2xvYmFsU2lnbiBSb290IENBIC0gUjIxEzARBgNVBAoTCkdsb2JhbFNp
-Z24xEzARBgNVBAMTCkdsb2JhbFNpZ24wHhcNMDYxMjE1MDgwMDAwWhcNMjExMjE1
-MDgwMDAwWjBMMSAwHgYDVQQLExdHbG9iYWxTaWduIFJvb3QgQ0EgLSBSMjETMBEG
-A1UEChMKR2xvYmFsU2lnbjETMBEGA1UEAxMKR2xvYmFsU2lnbjCCASIwDQYJKoZI
-hvcNAQEBBQADggEPADCCAQoCggEBAKbPJA6+Lm8omUVCxKs+IVSbC9N/hHD6ErPL
-v4dfxn+G07IwXNb9rfF73OX4YJYJkhD10FPe+3t+c4isUoh7SqbKSaZeqKeMWhG8
-eoLrvozps6yWJQeXSpkqBy+0Hne/ig+1AnwblrjFuTosvNYSuetZfeLQBoZfXklq
-tTleiDTsvHgMCJiEbKjNS7SgfQx5TfC4LcshytVsW33hoCmEofnTlEnLJGKRILzd
-C9XZzPnqJworc5HGnRusyMvo4KD0L5CLTfuwNhv2GXqF4G3yYROIXJ/gkwpRl4pa
-zq+r1feqCapgvdzZX99yqWATXgAByUr6P6TqBwMhAo6CygPCm48CAwEAAaOBnDCB
-mTAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUm+IH
-V2ccHsBqBt5ZtJot39wZhi4wNgYDVR0fBC8wLTAroCmgJ4YlaHR0cDovL2NybC5n
-bG9iYWxzaWduLm5ldC9yb290LXIyLmNybDAfBgNVHSMEGDAWgBSb4gdXZxwewGoG
-3lm0mi3f3BmGLjANBgkqhkiG9w0BAQUFAAOCAQEAmYFThxxol4aR7OBKuEQLq4Gs
-J0/WwbgcQ3izDJr86iw8bmEbTUsp9Z8FHSbBuOmDAGJFtqkIk7mpM0sYmsL4h4hO
-291xNBrBVNpGP+DTKqttVCL1OmLNIG+6KYnX3ZHu01yiPqFbQfXf5WRDLenVOavS
-ot+3i9DAgBkcRcAtjOj4LaR0VknFBbVPFd5uRHg5h6h+u/N5GJG79G+dwfCMNYxd
-AfvDbbnvRG15RjF+Cv6pgsH/76tuIMRQyV+dTZsXjAzlAcmgQWpzU/qlULRuJQ/7
-TBj0/VLZjmmx6BEP3ojY+x1J96relc8geMJgEtslQIxq/H5COEBkEveegeGTLg==
------END CERTIFICATE-----
diff --git a/src/network/ssl/ssl.pri b/src/network/ssl/ssl.pri
index 72ea80f4dd..8b2e2c1917 100644
--- a/src/network/ssl/ssl.pri
+++ b/src/network/ssl/ssl.pri
@@ -31,9 +31,6 @@ symbian {
ssl/qsslsocket_openssl.cpp \
ssl/qsslsocket_openssl_symbols.cpp
- # Include Qt's default CA bundle
- RESOURCES += network.qrc
-
# Add optional SSL libs
LIBS_PRIVATE += $$OPENSSL_LIBS
}
diff --git a/src/opengl/gl2paintengineex/qgl2pexvertexarray_p.h b/src/opengl/gl2paintengineex/qgl2pexvertexarray_p.h
index adc69ee2ff..46029b9aea 100644
--- a/src/opengl/gl2paintengineex/qgl2pexvertexarray_p.h
+++ b/src/opengl/gl2paintengineex/qgl2pexvertexarray_p.h
@@ -100,8 +100,10 @@ class QGL2PEXVertexArray
{
public:
QGL2PEXVertexArray() :
+ vertexArray(0), vertexArrayStops(0),
maxX(-2e10), maxY(-2e10), minX(2e10), minY(2e10),
- boundingRectDirty(true) {}
+ boundingRectDirty(true)
+ { }
inline void addRect(const QRectF &rect)
{
diff --git a/src/opengl/gl2paintengineex/qglengineshadermanager.cpp b/src/opengl/gl2paintengineex/qglengineshadermanager.cpp
index ac2559779b..40b3641708 100644
--- a/src/opengl/gl2paintengineex/qglengineshadermanager.cpp
+++ b/src/opengl/gl2paintengineex/qglengineshadermanager.cpp
@@ -266,10 +266,12 @@ QGLEngineShaderProg *QGLEngineSharedShaders::findProgramInCache(const QGLEngineS
do {
QByteArray source;
- source.append(qShaderSnippets[prog.mainFragShader]);
- source.append(qShaderSnippets[prog.srcPixelFragShader]);
+ // Insert the custom stage before the srcPixel shader to work around an ATI driver bug
+ // where you cannot forward declare a function that takes a sampler as argument.
if (prog.srcPixelFragShader == CustomImageSrcFragmentShader)
source.append(prog.customStageSource);
+ source.append(qShaderSnippets[prog.mainFragShader]);
+ source.append(qShaderSnippets[prog.srcPixelFragShader]);
if (prog.compositionFragShader)
source.append(qShaderSnippets[prog.compositionFragShader]);
if (prog.maskFragShader)
@@ -777,8 +779,8 @@ bool QGLEngineShaderManager::useCorrectShaderProg()
// doesn't use are disabled)
QGLContextPrivate* ctx_d = ctx->d_func();
ctx_d->setVertexAttribArrayEnabled(QT_VERTEX_COORDS_ATTR, true);
- ctx_d->setVertexAttribArrayEnabled(QT_TEXTURE_COORDS_ATTR, currentShaderProg->useTextureCoords);
- ctx_d->setVertexAttribArrayEnabled(QT_OPACITY_ATTR, currentShaderProg->useOpacityAttribute);
+ ctx_d->setVertexAttribArrayEnabled(QT_TEXTURE_COORDS_ATTR, currentShaderProg && currentShaderProg->useTextureCoords);
+ ctx_d->setVertexAttribArrayEnabled(QT_OPACITY_ATTR, currentShaderProg && currentShaderProg->useOpacityAttribute);
shaderProgNeedsChanging = false;
return true;
diff --git a/src/opengl/gl2paintengineex/qglengineshadersource_p.h b/src/opengl/gl2paintengineex/qglengineshadersource_p.h
index 8dba951ff7..a7ece0f162 100644
--- a/src/opengl/gl2paintengineex/qglengineshadersource_p.h
+++ b/src/opengl/gl2paintengineex/qglengineshadersource_p.h
@@ -351,7 +351,6 @@ static const char* const qglslImageSrcFragmentShader = "\n\
static const char* const qglslCustomSrcFragmentShader = "\n\
varying highp vec2 textureCoords; \n\
uniform lowp sampler2D imageTexture; \n\
- lowp vec4 customShader(lowp sampler2D texture, highp vec2 coords); \n\
lowp vec4 srcPixel() \n\
{ \n\
return customShader(imageTexture, textureCoords); \n\
diff --git a/src/opengl/gl2paintengineex/qpaintengineex_opengl2.cpp b/src/opengl/gl2paintengineex/qpaintengineex_opengl2.cpp
index 4461358217..ee49a3d00c 100644
--- a/src/opengl/gl2paintengineex/qpaintengineex_opengl2.cpp
+++ b/src/opengl/gl2paintengineex/qpaintengineex_opengl2.cpp
@@ -1333,8 +1333,16 @@ void QGL2PaintEngineEx::drawStaticTextItem(QStaticTextItem *textItem)
QFontEngineGlyphCache::Type glyphType = textItem->fontEngine->glyphFormat >= 0
? QFontEngineGlyphCache::Type(textItem->fontEngine->glyphFormat)
: d->glyphCacheType;
+ if (glyphType == QFontEngineGlyphCache::Raster_RGBMask) {
+ if (d->device->alphaRequested() || state()->matrix.type() > QTransform::TxTranslate
+ || (state()->composition_mode != QPainter::CompositionMode_Source
+ && state()->composition_mode != QPainter::CompositionMode_SourceOver))
+ {
+ glyphType = QFontEngineGlyphCache::Raster_A8;
+ }
+ }
- d->drawCachedGlyphs(glyphType, textItem, true);
+ d->drawCachedGlyphs(glyphType, textItem);
}
bool QGL2PaintEngineEx::drawTexture(const QRectF &dest, GLuint textureId, const QSize &size, const QRectF &src)
@@ -1401,14 +1409,14 @@ void QGL2PaintEngineEx::drawTextItem(const QPointF &p, const QTextItem &textItem
{
QStaticTextItem staticTextItem;
- staticTextItem.chars = ti.chars;
+ staticTextItem.chars = const_cast<QChar *>(ti.chars);
staticTextItem.fontEngine = ti.fontEngine;
staticTextItem.glyphs = glyphs.data();
staticTextItem.numChars = ti.num_chars;
staticTextItem.numGlyphs = glyphs.size();
staticTextItem.glyphPositions = positions.data();
- d->drawCachedGlyphs(glyphType, &staticTextItem, false);
+ d->drawCachedGlyphs(glyphType, &staticTextItem);
}
return;
}
@@ -1439,21 +1447,16 @@ namespace {
// #define QT_OPENGL_DRAWCACHEDGLYPHS_INDEX_ARRAY_VBO
void QGL2PaintEngineExPrivate::drawCachedGlyphs(QFontEngineGlyphCache::Type glyphType,
- QStaticTextItem *staticTextItem,
- bool includeMatrixInCache)
+ QStaticTextItem *staticTextItem)
{
Q_Q(QGL2PaintEngineEx);
QOpenGL2PaintEngineState *s = q->state();
QGLTextureGlyphCache *cache =
- (QGLTextureGlyphCache *) staticTextItem->fontEngine->glyphCache(ctx, glyphType,
- includeMatrixInCache
- ? s->matrix
- : QTransform());
+ (QGLTextureGlyphCache *) staticTextItem->fontEngine->glyphCache(ctx, glyphType, QTransform());
if (!cache || cache->cacheType() != glyphType) {
- cache = new QGLTextureGlyphCache(ctx, glyphType,
- includeMatrixInCache ? s->matrix : QTransform());
+ cache = new QGLTextureGlyphCache(ctx, glyphType, QTransform());
staticTextItem->fontEngine->setGlyphCache(ctx, cache);
}
@@ -1561,13 +1564,6 @@ void QGL2PaintEngineExPrivate::drawCachedGlyphs(QFontEngineGlyphCache::Type glyp
QBrush pensBrush = q->state()->pen.brush();
setBrush(pensBrush);
- // When painting a QStaticTextItem, the glyph positions are already in device coordinates,
- // therefore we temporarily set an identity matrix on the painter for the draw call to
- // avoid transforming the positions twice.
- QTransform old = s->matrix;
- if (includeMatrixInCache)
- s->matrix = QTransform();
-
if (glyphType == QFontEngineGlyphCache::Raster_RGBMask) {
// Subpixel antialiasing without gamma correction
@@ -1664,9 +1660,6 @@ void QGL2PaintEngineExPrivate::drawCachedGlyphs(QFontEngineGlyphCache::Type glyp
#else
glDrawElements(GL_TRIANGLE_STRIP, 6 * staticTextItem->numGlyphs, GL_UNSIGNED_SHORT, elementIndices.data());
#endif
-
- if (includeMatrixInCache)
- s->matrix = old;
}
void QGL2PaintEngineEx::drawPixmapFragments(const QPainter::PixmapFragment *fragments, int fragmentCount, const QPixmap &pixmap,
diff --git a/src/opengl/gl2paintengineex/qpaintengineex_opengl2_p.h b/src/opengl/gl2paintengineex/qpaintengineex_opengl2_p.h
index 6ba0c42ce8..59b90d84c0 100644
--- a/src/opengl/gl2paintengineex/qpaintengineex_opengl2_p.h
+++ b/src/opengl/gl2paintengineex/qpaintengineex_opengl2_p.h
@@ -177,6 +177,7 @@ public:
ctx(0),
useSystemClip(true),
elementIndicesVBOId(0),
+ opacityArray(0),
snapToPixelGrid(false),
addOffset(false),
nativePaintingActive(false),
@@ -201,8 +202,7 @@ public:
void drawTexture(const QGLRect& dest, const QGLRect& src, const QSize &textureSize, bool opaque, bool pattern = false);
void drawPixmapFragments(const QPainter::PixmapFragment *fragments, int fragmentCount, const QPixmap &pixmap,
QPainter::PixmapFragmentHints hints);
- void drawCachedGlyphs(QFontEngineGlyphCache::Type glyphType, QStaticTextItem *staticTextItem,
- bool includeMatrixInCache);
+ void drawCachedGlyphs(QFontEngineGlyphCache::Type glyphType, QStaticTextItem *staticTextItem);
// Calls glVertexAttributePointer if the pointer has changed
inline void setVertexAttributePointer(unsigned int arrayIndex, const GLfloat *pointer);
diff --git a/src/opengl/gl2paintengineex/qtextureglyphcache_gl.cpp b/src/opengl/gl2paintengineex/qtextureglyphcache_gl.cpp
index 994c1c94f0..5371c5e233 100644
--- a/src/opengl/gl2paintengineex/qtextureglyphcache_gl.cpp
+++ b/src/opengl/gl2paintengineex/qtextureglyphcache_gl.cpp
@@ -42,6 +42,10 @@
#include "qtextureglyphcache_gl_p.h"
#include "qpaintengineex_opengl2_p.h"
+#if defined QT_OPENGL_ES_2 && !defined(QT_NO_EGL)
+#include "private/qeglcontext_p.h"
+#endif
+
QT_BEGIN_NAMESPACE
#ifdef Q_WS_WIN
@@ -49,12 +53,19 @@ extern Q_GUI_EXPORT bool qt_cleartype_enabled;
#endif
QGLTextureGlyphCache::QGLTextureGlyphCache(QGLContext *context, QFontEngineGlyphCache::Type type, const QTransform &matrix)
- : QTextureGlyphCache(type, matrix)
+ : QImageTextureGlyphCache(type, matrix)
, ctx(context)
, m_width(0)
, m_height(0)
{
- glGenFramebuffers(1, &m_fbo);
+ // broken FBO readback is a bug in the SGX 1.3 and 1.4 drivers for the N900 where
+ // copying between FBO's is broken if the texture is either GL_ALPHA or POT. The
+ // workaround is to use a system-memory copy of the glyph cache for this device.
+ // Switching to NPOT and GL_RGBA would both cost a lot more graphics memory and
+ // be slower, so that is not desireable.
+ if (!ctx->d_ptr->workaround_brokenFBOReadBack)
+ glGenFramebuffers(1, &m_fbo);
+
connect(QGLSignalProxy::instance(), SIGNAL(aboutToDestroyContext(const QGLContext*)),
SLOT(contextDestroyed(const QGLContext*)));
}
@@ -63,7 +74,9 @@ QGLTextureGlyphCache::~QGLTextureGlyphCache()
{
if (ctx) {
QGLShareContextScope scope(ctx);
- glDeleteFramebuffers(1, &m_fbo);
+
+ if (!ctx->d_ptr->workaround_brokenFBOReadBack)
+ glDeleteFramebuffers(1, &m_fbo);
if (m_width || m_height)
glDeleteTextures(1, &m_texture);
@@ -72,6 +85,18 @@ QGLTextureGlyphCache::~QGLTextureGlyphCache()
void QGLTextureGlyphCache::createTextureData(int width, int height)
{
+ // create in QImageTextureGlyphCache baseclass is meant to be called
+ // only to create the initial image and does not preserve the content,
+ // so we don't call when this function is called from resize.
+ if (ctx->d_ptr->workaround_brokenFBOReadBack && image().isNull())
+ QImageTextureGlyphCache::createTextureData(width, height);
+
+ // Make the lower glyph texture size 16 x 16.
+ if (width < 16)
+ width = 16;
+ if (height < 16)
+ height = 16;
+
glGenTextures(1, &m_texture);
glBindTexture(GL_TEXTURE_2D, m_texture);
@@ -93,14 +118,28 @@ void QGLTextureGlyphCache::createTextureData(int width, int height)
void QGLTextureGlyphCache::resizeTextureData(int width, int height)
{
- // ### the QTextureGlyphCache API needs to be reworked to allow
- // ### resizeTextureData to fail
-
int oldWidth = m_width;
int oldHeight = m_height;
+ // Make the lower glyph texture size 16 x 16.
+ if (width < 16)
+ width = 16;
+ if (height < 16)
+ height = 16;
+
GLuint oldTexture = m_texture;
createTextureData(width, height);
+
+ if (ctx->d_ptr->workaround_brokenFBOReadBack) {
+ QImageTextureGlyphCache::resizeTextureData(width, height);
+ Q_ASSERT(image().depth() == 8);
+ glTexSubImage2D(GL_TEXTURE_2D, 0, 0, 0, oldWidth, oldHeight, GL_ALPHA, GL_UNSIGNED_BYTE, image().constBits());
+ glDeleteTextures(1, &oldTexture);
+ return;
+ }
+
+ // ### the QTextureGlyphCache API needs to be reworked to allow
+ // ### resizeTextureData to fail
glBindFramebuffer(GL_FRAMEBUFFER_EXT, m_fbo);
@@ -159,20 +198,7 @@ void QGLTextureGlyphCache::resizeTextureData(int width, int height)
glBindTexture(GL_TEXTURE_2D, m_texture);
-#ifdef QT_OPENGL_ES_2
- QDataBuffer<uchar> buffer(4*oldWidth*oldHeight);
- buffer.resize(4*oldWidth*oldHeight);
- glReadPixels(0, 0, oldWidth, oldHeight, GL_RGBA, GL_UNSIGNED_BYTE, buffer.data());
-
- // do an in-place conversion from GL_RGBA to GL_ALPHA
- for (int i=0; i<oldWidth*oldHeight; ++i)
- buffer.data()[i] = buffer.at(4*i + 3);
-
- glTexSubImage2D(GL_TEXTURE_2D, 0, 0, 0, oldWidth, oldHeight,
- GL_ALPHA, GL_UNSIGNED_BYTE, buffer.data());
-#else
glCopyTexSubImage2D(GL_TEXTURE_2D, 0, 0, 0, 0, 0, oldWidth, oldHeight);
-#endif
glFramebufferRenderbuffer(GL_FRAMEBUFFER_EXT, GL_COLOR_ATTACHMENT0_EXT,
GL_RENDERBUFFER_EXT, 0);
@@ -187,6 +213,21 @@ void QGLTextureGlyphCache::resizeTextureData(int width, int height)
void QGLTextureGlyphCache::fillTexture(const Coord &c, glyph_t glyph)
{
+ if (ctx->d_ptr->workaround_brokenFBOReadBack) {
+ QImageTextureGlyphCache::fillTexture(c, glyph);
+
+ glBindTexture(GL_TEXTURE_2D, m_texture);
+ const QImage &texture = image();
+ const uchar *bits = texture.constBits();
+ bits += c.y * texture.bytesPerLine() + c.x;
+ for (int i=0; i<c.h; ++i) {
+ glTexSubImage2D(GL_TEXTURE_2D, 0, c.x, c.y + i, c.w, 1, GL_ALPHA, GL_UNSIGNED_BYTE, bits);
+ bits += texture.bytesPerLine();
+ }
+
+ return;
+ }
+
QImage mask = textureMapForGlyph(glyph);
const int maskWidth = mask.width();
const int maskHeight = mask.height();
@@ -237,13 +278,7 @@ void QGLTextureGlyphCache::fillTexture(const Coord &c, glyph_t glyph)
int QGLTextureGlyphCache::glyphMargin() const
{
-#if defined(Q_WS_MAC)
- return 2;
-#elif defined (Q_WS_X11)
- return 0;
-#else
- return m_type == QFontEngineGlyphCache::Raster_RGBMask ? 2 : 0;
-#endif
+ return 1;
}
int QGLTextureGlyphCache::glyphPadding() const
diff --git a/src/opengl/gl2paintengineex/qtextureglyphcache_gl_p.h b/src/opengl/gl2paintengineex/qtextureglyphcache_gl_p.h
index 75c2bb1e0d..84e9021c0e 100644
--- a/src/opengl/gl2paintengineex/qtextureglyphcache_gl_p.h
+++ b/src/opengl/gl2paintengineex/qtextureglyphcache_gl_p.h
@@ -62,7 +62,7 @@ QT_BEGIN_NAMESPACE
class QGL2PaintEngineExPrivate;
-class Q_OPENGL_EXPORT QGLTextureGlyphCache : public QObject, public QTextureGlyphCache
+class Q_OPENGL_EXPORT QGLTextureGlyphCache : public QObject, public QImageTextureGlyphCache
{
Q_OBJECT
public:
diff --git a/src/opengl/gl2paintengineex/qtriangulatingstroker.cpp b/src/opengl/gl2paintengineex/qtriangulatingstroker.cpp
index f677ce1839..9bc099df38 100644
--- a/src/opengl/gl2paintengineex/qtriangulatingstroker.cpp
+++ b/src/opengl/gl2paintengineex/qtriangulatingstroker.cpp
@@ -481,7 +481,8 @@ static void qdashprocessor_cubicTo(qreal, qreal, qreal, qreal, qreal, qreal, voi
}
QDashedStrokeProcessor::QDashedStrokeProcessor()
- : m_dash_stroker(0), m_inv_scale(1)
+ : m_points(0), m_types(0),
+ m_dash_stroker(0), m_inv_scale(1)
{
m_dash_stroker.setMoveToHook(qdashprocessor_moveTo);
m_dash_stroker.setLineToHook(qdashprocessor_lineTo);
@@ -499,6 +500,8 @@ void QDashedStrokeProcessor::process(const QVectorPath &path, const QPen &pen, c
m_points.reset();
m_types.reset();
+ m_points.reserve(path.elementCount());
+ m_types.reserve(path.elementCount());
qreal width = qpen_widthf(pen);
if (width == 0)
diff --git a/src/opengl/gl2paintengineex/qtriangulatingstroker_p.h b/src/opengl/gl2paintengineex/qtriangulatingstroker_p.h
index 956d7cc839..ab27ed6480 100644
--- a/src/opengl/gl2paintengineex/qtriangulatingstroker_p.h
+++ b/src/opengl/gl2paintengineex/qtriangulatingstroker_p.h
@@ -54,6 +54,7 @@ QT_BEGIN_NAMESPACE
class QTriangulatingStroker
{
public:
+ QTriangulatingStroker() : m_vertices(0) {}
void process(const QVectorPath &path, const QPen &pen, const QRectF &clip);
inline int vertexCount() const { return m_vertices.size(); }
diff --git a/src/opengl/gl2paintengineex/qtriangulator.cpp b/src/opengl/gl2paintengineex/qtriangulator.cpp
index ce917ff582..df7cbc2f3f 100644
--- a/src/opengl/gl2paintengineex/qtriangulator.cpp
+++ b/src/opengl/gl2paintengineex/qtriangulator.cpp
@@ -510,6 +510,7 @@ template <class T>
class QMaxHeap
{
public:
+ QMaxHeap() : m_data(0) {}
inline int size() const {return m_data.size();}
inline bool empty() const {return m_data.isEmpty();}
inline bool isEmpty() const {return m_data.isEmpty();}
@@ -1299,7 +1300,8 @@ public:
class ComplexToSimple
{
public:
- inline ComplexToSimple(QTriangulator *parent) : m_parent(parent) { }
+ inline ComplexToSimple(QTriangulator *parent) : m_parent(parent),
+ m_edges(0), m_events(0), m_splits(0) { }
void decompose();
private:
struct Edge
@@ -1412,7 +1414,7 @@ public:
class SimpleToMonotone
{
public:
- inline SimpleToMonotone(QTriangulator *parent) : m_parent(parent) { }
+ inline SimpleToMonotone(QTriangulator *parent) : m_parent(parent), m_edges(0), m_upperVertex(0) { }
void decompose();
private:
enum VertexType {MergeVertex, EndVertex, RegularVertex, StartVertex, SplitVertex};
@@ -1486,7 +1488,7 @@ public:
int m_length;
};
- inline QTriangulator() { }
+ inline QTriangulator() : m_vertices(0) { }
// Call this only once.
void initialize(const qreal *polygon, int count, uint hint, const QTransform &matrix);
@@ -2709,7 +2711,7 @@ void QTriangulator::SimpleToMonotone::monotoneDecomposition()
return;
Q_ASSERT(!m_edgeList.root);
- QDataBuffer<QPair<int, int> > diagonals;
+ QDataBuffer<QPair<int, int> > diagonals(m_upperVertex.size());
int i = 0;
for (int index = 1; index < m_edges.size(); ++index) {
@@ -2853,7 +2855,7 @@ bool QTriangulator::SimpleToMonotone::CompareVertices::operator () (int i, int j
void QTriangulator::MonotoneToTriangles::decompose()
{
QVector<quint32> result;
- QDataBuffer<int> stack;
+ QDataBuffer<int> stack(m_parent->m_indices.size());
m_first = 0;
// Require at least three more indices.
while (m_first + 3 <= m_parent->m_indices.size()) {
diff --git a/src/opengl/opengl.pro b/src/opengl/opengl.pro
index 6670d144c5..97c12b33b2 100644
--- a/src/opengl/opengl.pro
+++ b/src/opengl/opengl.pro
@@ -5,6 +5,7 @@ DEFINES += QT_BUILD_OPENGL_LIB
DEFINES += QT_NO_USING_NAMESPACE
win32-msvc*|win32-icc:QMAKE_LFLAGS += /BASE:0x63000000
solaris-cc*:QMAKE_CXXFLAGS_RELEASE -= -O2
+irix-cc*:QMAKE_CXXFLAGS += -no_prelink -ptused
unix:QMAKE_PKGCONFIG_REQUIRES = QtCore QtGui
diff --git a/src/opengl/qgl.cpp b/src/opengl/qgl.cpp
index 634231db79..a43f1d4176 100644
--- a/src/opengl/qgl.cpp
+++ b/src/opengl/qgl.cpp
@@ -91,6 +91,7 @@
#include "qcolormap.h"
#include "qfile.h"
#include "qlibrary.h"
+#include <qmutex.h>
QT_BEGIN_NAMESPACE
@@ -1255,6 +1256,8 @@ QGLFormat::OpenGLVersionFlags Q_AUTOTEST_EXPORT qOpenGLVersionFlagsFromString(co
QGLFormat::OpenGL_Version_2_1 |
QGLFormat::OpenGL_Version_3_0;
switch (versionString[2].toAscii()) {
+ case '3':
+ versionFlags |= QGLFormat::OpenGL_Version_3_3;
case '2':
versionFlags |= QGLFormat::OpenGL_Version_3_2;
case '1':
@@ -1263,9 +1266,23 @@ QGLFormat::OpenGLVersionFlags Q_AUTOTEST_EXPORT qOpenGLVersionFlagsFromString(co
break;
default:
versionFlags |= QGLFormat::OpenGL_Version_3_1 |
- QGLFormat::OpenGL_Version_3_2;
+ QGLFormat::OpenGL_Version_3_2 |
+ QGLFormat::OpenGL_Version_3_3;
break;
}
+ } else if (versionString.startsWith(QLatin1String("4."))) {
+ versionFlags |= QGLFormat::OpenGL_Version_1_1 |
+ QGLFormat::OpenGL_Version_1_2 |
+ QGLFormat::OpenGL_Version_1_3 |
+ QGLFormat::OpenGL_Version_1_4 |
+ QGLFormat::OpenGL_Version_1_5 |
+ QGLFormat::OpenGL_Version_2_0 |
+ QGLFormat::OpenGL_Version_2_1 |
+ QGLFormat::OpenGL_Version_3_0 |
+ QGLFormat::OpenGL_Version_3_1 |
+ QGLFormat::OpenGL_Version_3_2 |
+ QGLFormat::OpenGL_Version_3_3 |
+ QGLFormat::OpenGL_Version_4_0;
} else {
versionFlags |= QGLFormat::OpenGL_Version_1_1 |
QGLFormat::OpenGL_Version_1_2 |
@@ -1276,7 +1293,9 @@ QGLFormat::OpenGLVersionFlags Q_AUTOTEST_EXPORT qOpenGLVersionFlagsFromString(co
QGLFormat::OpenGL_Version_2_1 |
QGLFormat::OpenGL_Version_3_0 |
QGLFormat::OpenGL_Version_3_1 |
- QGLFormat::OpenGL_Version_3_2;
+ QGLFormat::OpenGL_Version_3_2 |
+ QGLFormat::OpenGL_Version_3_3 |
+ QGLFormat::OpenGL_Version_4_0;
}
}
return versionFlags;
@@ -1519,10 +1538,33 @@ bool operator!=(const QGLFormat& a, const QGLFormat& b)
return !(a == b);
}
+struct QGLContextGroupList {
+ void append(QGLContextGroup *group) {
+ QMutexLocker locker(&m_mutex);
+ m_list.append(group);
+ }
+
+ void remove(QGLContextGroup *group) {
+ QMutexLocker locker(&m_mutex);
+ m_list.removeOne(group);
+ }
+
+ QList<QGLContextGroup *> m_list;
+ QMutex m_mutex;
+};
+
+Q_GLOBAL_STATIC(QGLContextGroupList, qt_context_groups)
+
/*****************************************************************************
QGLContext implementation
*****************************************************************************/
+QGLContextGroup::QGLContextGroup(const QGLContext *context)
+ : m_context(context), m_guards(0), m_refs(1)
+{
+ qt_context_groups()->append(this);
+}
+
QGLContextGroup::~QGLContextGroup()
{
// Clear any remaining QGLSharedResourceGuard objects on the group.
@@ -1532,6 +1574,7 @@ QGLContextGroup::~QGLContextGroup()
guard->m_id = 0;
guard = guard->m_next;
}
+ qt_context_groups()->remove(this);
}
void QGLContextGroup::addGuard(QGLSharedResourceGuard *guard)
@@ -1619,6 +1662,9 @@ void QGLContextPrivate::init(QPaintDevice *dev, const QGLFormat &format)
current_fbo = 0;
default_fbo = 0;
active_engine = 0;
+ workaround_needsFullClearOnEveryFrame = false;
+ workaround_brokenFBOReadBack = false;
+ workaroundsCached = false;
for (int i = 0; i < QT_GL_VERTEX_ARRAY_TRACKED_COUNT; ++i)
vertexAttributeArraysEnabledState[i] = false;
}
@@ -1730,7 +1776,6 @@ QGLTextureCache::QGLTextureCache()
QGLTextureCache::~QGLTextureCache()
{
- Q_ASSERT(size() == 0);
QImagePixmapCleanupHooks::instance()->removePixmapDataModificationHook(cleanupTexturesForPixampData);
QImagePixmapCleanupHooks::instance()->removePixmapDataDestructionHook(cleanupBeforePixmapDestruction);
QImagePixmapCleanupHooks::instance()->removeImageHook(cleanupTexturesForCacheKey);
@@ -1741,7 +1786,7 @@ void QGLTextureCache::insert(QGLContext* ctx, qint64 key, QGLTexture* texture, i
QWriteLocker locker(&m_lock);
if (m_cache.totalCost() + cost > m_cache.maxCost()) {
// the cache is full - make an attempt to remove something
- const QList<qint64> keys = m_cache.keys();
+ const QList<QGLTextureCacheKey> keys = m_cache.keys();
int i = 0;
while (i < m_cache.count()
&& (m_cache.totalCost() + cost > m_cache.maxCost())) {
@@ -1751,13 +1796,26 @@ void QGLTextureCache::insert(QGLContext* ctx, qint64 key, QGLTexture* texture, i
++i;
}
}
- m_cache.insert(key, texture, cost);
+ const QGLTextureCacheKey cacheKey = {key, QGLContextPrivate::contextGroup(ctx)};
+ m_cache.insert(cacheKey, texture, cost);
+}
+
+void QGLTextureCache::remove(qint64 key)
+{
+ QWriteLocker locker(&m_lock);
+ QMutexLocker groupLocker(&qt_context_groups()->m_mutex);
+ QList<QGLContextGroup *>::const_iterator it = qt_context_groups()->m_list.constBegin();
+ while (it != qt_context_groups()->m_list.constEnd()) {
+ const QGLTextureCacheKey cacheKey = {key, *it};
+ m_cache.remove(cacheKey);
+ ++it;
+ }
}
bool QGLTextureCache::remove(QGLContext* ctx, GLuint textureId)
{
QWriteLocker locker(&m_lock);
- QList<qint64> keys = m_cache.keys();
+ QList<QGLTextureCacheKey> keys = m_cache.keys();
for (int i = 0; i < keys.size(); ++i) {
QGLTexture *tex = m_cache.object(keys.at(i));
if (tex->id == textureId && tex->context == ctx) {
@@ -1772,9 +1830,9 @@ bool QGLTextureCache::remove(QGLContext* ctx, GLuint textureId)
void QGLTextureCache::removeContextTextures(QGLContext* ctx)
{
QWriteLocker locker(&m_lock);
- QList<qint64> keys = m_cache.keys();
+ QList<QGLTextureCacheKey> keys = m_cache.keys();
for (int i = 0; i < keys.size(); ++i) {
- const qint64 &key = keys.at(i);
+ const QGLTextureCacheKey &key = keys.at(i);
if (m_cache.object(key)->context == ctx)
m_cache.remove(key);
}
@@ -1787,7 +1845,6 @@ void QGLTextureCache::removeContextTextures(QGLContext* ctx)
void QGLTextureCache::cleanupTexturesForCacheKey(qint64 cacheKey)
{
qt_gl_texture_cache()->remove(cacheKey);
- Q_ASSERT(qt_gl_texture_cache()->getTexture(cacheKey) == 0);
}
@@ -2430,7 +2487,7 @@ QGLTexture* QGLContextPrivate::bindTexture(const QImage &image, GLenum target, G
QGLTexture *QGLContextPrivate::textureCacheLookup(const qint64 key, GLenum target)
{
Q_Q(QGLContext);
- QGLTexture *texture = QGLTextureCache::instance()->getTexture(key);
+ QGLTexture *texture = QGLTextureCache::instance()->getTexture(q, key);
if (texture && texture->target == target
&& (texture->context == q || QGLContext::areSharing(q, texture->context)))
{
@@ -2780,23 +2837,27 @@ static void qDrawTextureRect(const QRectF &target, GLint textureWidth, GLint tex
/*!
\since 4.4
- Draws the given texture, \a textureId, to the given target rectangle,
- \a target, in OpenGL model space. The \a textureTarget should be a 2D
- texture target.
+ This function supports the following use cases:
+
+ \list
+ \i On OpenGL and OpenGL ES 1.x it draws the given texture, \a textureId,
+ to the given target rectangle, \a target, in OpenGL model space. The
+ \a textureTarget should be a 2D texture target.
+ \i On OpenGL and OpenGL ES 2.x, if a painter is active, not inside a
+ beginNativePainting / endNativePainting block, and uses the
+ engine with type QPaintEngine::OpenGL2, the function will draw the given
+ texture, \a textureId, to the given target rectangle, \a target,
+ respecting the current painter state. This will let you draw a texture
+ with the clip, transform, render hints, and composition mode set by the
+ painter. Note that the texture target needs to be GL_TEXTURE_2D for this
+ use case, and that this is the only supported use case under OpenGL ES 2.x.
+ \endlist
- \note This function is not supported under OpenGL/ES 2.0.
*/
void QGLContext::drawTexture(const QRectF &target, GLuint textureId, GLenum textureTarget)
{
-#ifndef QT_OPENGL_ES_2
-#ifdef QT_OPENGL_ES
- if (textureTarget != GL_TEXTURE_2D) {
- qWarning("QGLContext::drawTexture(): texture target must be GL_TEXTURE_2D on OpenGL ES");
- return;
- }
-#else
-
- if (d_ptr->active_engine &&
+#if !defined(QT_OPENGL_ES) || defined(QT_OPENGL_ES_2)
+ if (d_ptr->active_engine &&
d_ptr->active_engine->type() == QPaintEngine::OpenGL2) {
QGL2PaintEngineEx *eng = static_cast<QGL2PaintEngineEx*>(d_ptr->active_engine);
if (!eng->isNativePaintingActive()) {
@@ -2806,7 +2867,15 @@ void QGLContext::drawTexture(const QRectF &target, GLuint textureId, GLenum text
return;
}
}
+#endif
+#ifndef QT_OPENGL_ES_2
+#ifdef QT_OPENGL_ES
+ if (textureTarget != GL_TEXTURE_2D) {
+ qWarning("QGLContext::drawTexture(): texture target must be GL_TEXTURE_2D on OpenGL ES");
+ return;
+ }
+#else
const bool wasEnabled = glIsEnabled(GL_TEXTURE_2D);
GLint oldTexture;
glGetIntegerv(GL_TEXTURE_BINDING_2D, &oldTexture);
@@ -2828,7 +2897,7 @@ void QGLContext::drawTexture(const QRectF &target, GLuint textureId, GLenum text
Q_UNUSED(target);
Q_UNUSED(textureId);
Q_UNUSED(textureTarget);
- qWarning("drawTexture(const QRectF &target, GLuint textureId, GLenum textureTarget) not supported with OpenGL ES/2.0");
+ qWarning("drawTexture() with OpenGL ES 2.0 requires an active OpenGL2 paint engine");
#endif
}
@@ -2843,14 +2912,26 @@ void QGLContext::drawTexture(const QRectF &target, QMacCompatGLuint textureId, Q
/*!
\since 4.4
- Draws the given texture at the given \a point in OpenGL model
- space. The \a textureTarget should be a 2D texture target.
+ This function supports the following use cases:
+
+ \list
+ \i By default it draws the given texture, \a textureId,
+ at the given \a point in OpenGL model space. The
+ \a textureTarget should be a 2D texture target.
+ \i If a painter is active, not inside a
+ beginNativePainting / endNativePainting block, and uses the
+ engine with type QPaintEngine::OpenGL2, the function will draw the given
+ texture, \a textureId, at the given \a point,
+ respecting the current painter state. This will let you draw a texture
+ with the clip, transform, render hints, and composition mode set by the
+ painter. Note that the texture target needs to be GL_TEXTURE_2D for this
+ use case.
+ \endlist
- \note This function is not supported under OpenGL/ES.
+ \note This function is not supported under any version of OpenGL ES.
*/
void QGLContext::drawTexture(const QPointF &point, GLuint textureId, GLenum textureTarget)
{
- // this would be ok on OpenGL ES 2.0, but currently we don't have a define for that
#ifdef QT_OPENGL_ES
Q_UNUSED(point);
Q_UNUSED(textureId);
@@ -2871,7 +2952,7 @@ void QGLContext::drawTexture(const QPointF &point, GLuint textureId, GLenum text
glGetTexLevelParameteriv(textureTarget, 0, GL_TEXTURE_WIDTH, &textureWidth);
glGetTexLevelParameteriv(textureTarget, 0, GL_TEXTURE_HEIGHT, &textureHeight);
- if (d_ptr->active_engine &&
+ if (d_ptr->active_engine &&
d_ptr->active_engine->type() == QPaintEngine::OpenGL2) {
QGL2PaintEngineEx *eng = static_cast<QGL2PaintEngineEx*>(d_ptr->active_engine);
if (!eng->isNativePaintingActive()) {
@@ -3600,8 +3681,10 @@ QGLWidget::~QGLWidget()
bool doRelease = (glcx && glcx->windowCreated());
#endif
delete d->glcx;
+ d->glcx = 0;
#if defined(Q_WGL)
delete d->olcx;
+ d->olcx = 0;
#endif
#if defined(GLX_MESA_release_buffers) && defined(QGL_USE_MESA_EXT)
if (doRelease)
@@ -4918,11 +5001,8 @@ void QGLWidget::deleteTexture(QMacCompatGLuint id)
/*!
\since 4.4
- Draws the given texture, \a textureId to the given target rectangle,
- \a target, in OpenGL model space. The \a textureTarget should be a 2D
- texture target.
-
- Equivalent to the corresponding QGLContext::drawTexture().
+ Calls the corresponding QGLContext::drawTexture() on
+ this widget's context.
*/
void QGLWidget::drawTexture(const QRectF &target, GLuint textureId, GLenum textureTarget)
{
@@ -4942,10 +5022,8 @@ void QGLWidget::drawTexture(const QRectF &target, QMacCompatGLuint textureId, QM
/*!
\since 4.4
- Draws the given texture, \a textureId, at the given \a point in OpenGL
- model space. The \a textureTarget should be a 2D texture target.
-
- Equivalent to the corresponding QGLContext::drawTexture().
+ Calls the corresponding QGLContext::drawTexture() on
+ this widget's context.
*/
void QGLWidget::drawTexture(const QPointF &point, GLuint textureId, GLenum textureTarget)
{
diff --git a/src/opengl/qgl.h b/src/opengl/qgl.h
index 701aa8e092..8da48ed759 100644
--- a/src/opengl/qgl.h
+++ b/src/opengl/qgl.h
@@ -270,7 +270,9 @@ public:
OpenGL_ES_Version_2_0 = 0x00000800,
OpenGL_Version_3_0 = 0x00001000,
OpenGL_Version_3_1 = 0x00002000,
- OpenGL_Version_3_2 = 0x00004000
+ OpenGL_Version_3_2 = 0x00004000,
+ OpenGL_Version_3_3 = 0x00008000,
+ OpenGL_Version_4_0 = 0x00010000
};
Q_DECLARE_FLAGS(OpenGLVersionFlags, OpenGLVersionFlag)
@@ -435,6 +437,7 @@ private:
friend class QGLFramebufferObjectPrivate;
friend class QGLFBOGLPaintDevice;
friend class QGLPaintDevice;
+ friend class QGLWidgetGLPaintDevice;
friend class QX11GLPixmapData;
friend class QX11GLSharedContexts;
private:
diff --git a/src/opengl/qgl_egl.cpp b/src/opengl/qgl_egl.cpp
index 0fbbbf9ef2..0a19531830 100644
--- a/src/opengl/qgl_egl.cpp
+++ b/src/opengl/qgl_egl.cpp
@@ -185,8 +185,27 @@ void QGLContext::makeCurrent()
return;
}
- if (d->eglContext->makeCurrent(d->eglSurfaceForDevice()))
+ if (d->eglContext->makeCurrent(d->eglSurfaceForDevice())) {
QGLContextPrivate::setCurrentContext(this);
+ if (!d->workaroundsCached) {
+ d->workaroundsCached = true;
+ const char *renderer = reinterpret_cast<const char *>(glGetString(GL_RENDERER));
+ if (renderer && (strstr(renderer, "SGX") || strstr(renderer, "MBX"))) {
+ // PowerVR MBX/SGX chips needs to clear all buffers when starting to render
+ // a new frame, otherwise there will be a performance penalty to pay for
+ // each frame.
+ d->workaround_needsFullClearOnEveryFrame = true;
+
+ // Older PowerVR SGX drivers (like the one in the N900) have a
+ // bug which prevents glCopyTexSubImage2D() to work with a POT
+ // or GL_ALPHA texture bound to an FBO. The only way to
+ // identify that driver is to check the EGL version number for it.
+ const char *egl_version = eglQueryString(d->eglContext->display(), EGL_VERSION);
+ if (egl_version && strstr(egl_version, "1.3"))
+ d->workaround_brokenFBOReadBack = true;
+ }
+ }
+ }
}
void QGLContext::doneCurrent()
diff --git a/src/opengl/qgl_p.h b/src/opengl/qgl_p.h
index 042d5aee7f..a1be68ff81 100644
--- a/src/opengl/qgl_p.h
+++ b/src/opengl/qgl_p.h
@@ -181,6 +181,10 @@ public:
void initContext(QGLContext *context, const QGLWidget* shareWidget);
bool renderCxPm(QPixmap *pixmap);
void cleanupColormaps();
+ void aboutToDestroy() {
+ if (glcx)
+ glcx->reset();
+ }
QGLContext *glcx;
QGLWidgetGLPaintDevice glDevice;
@@ -234,7 +238,7 @@ public:
static void addShare(const QGLContext *context, const QGLContext *share);
static void removeShare(const QGLContext *context);
private:
- QGLContextGroup(const QGLContext *context) : m_context(context), m_guards(0), m_refs(1) { }
+ QGLContextGroup(const QGLContext *context);
QGLExtensionFuncs m_extensionFuncs;
const QGLContext *m_context; // context group's representative
@@ -348,9 +352,7 @@ public:
HBITMAP hbitmap;
HDC hbitmap_hdc;
#endif
-
-#if !defined(QT_NO_EGL)
- bool ownsEglContext;
+#ifndef QT_NO_EGL
QEglContext *eglContext;
EGLSurface eglSurface;
void destroyEglSurfaceForDevice();
@@ -391,6 +393,16 @@ public:
uint internal_context : 1;
uint version_flags_cached : 1;
uint extension_flags_cached : 1;
+
+ // workarounds for driver/hw bugs on different platforms
+ uint workaround_needsFullClearOnEveryFrame : 1;
+ uint workaround_brokenFBOReadBack : 1;
+ uint workaroundsCached : 1;
+
+#ifndef QT_NO_EGL
+ uint ownsEglContext : 1;
+#endif
+
QPaintDevice *paintDevice;
QColor transpColor;
QGLContext *q_ptr;
@@ -525,17 +537,33 @@ public:
QSize bindCompressedTexturePVR(const char *buf, int len);
};
+struct QGLTextureCacheKey {
+ qint64 key;
+ QGLContextGroup *group;
+};
+
+inline bool operator==(const QGLTextureCacheKey &a, const QGLTextureCacheKey &b)
+{
+ return a.key == b.key && a.group == b.group;
+}
+
+inline uint qHash(const QGLTextureCacheKey &key)
+{
+ return qHash(key.key) ^ qHash(key.group);
+}
+
+
class Q_AUTOTEST_EXPORT QGLTextureCache {
public:
QGLTextureCache();
~QGLTextureCache();
void insert(QGLContext *ctx, qint64 key, QGLTexture *texture, int cost);
- inline void remove(quint64 key);
+ void remove(qint64 key);
inline int size();
inline void setMaxCost(int newMax);
inline int maxCost();
- inline QGLTexture* getTexture(quint64 key);
+ inline QGLTexture* getTexture(QGLContext *ctx, qint64 key);
bool remove(QGLContext *ctx, GLuint textureId);
void removeContextTextures(QGLContext *ctx);
@@ -545,7 +573,7 @@ public:
static void cleanupBeforePixmapDestruction(QPixmapData* pixmap);
private:
- QCache<qint64, QGLTexture> m_cache;
+ QCache<QGLTextureCacheKey, QGLTexture> m_cache;
QReadWriteLock m_lock;
};
@@ -566,19 +594,13 @@ int QGLTextureCache::maxCost()
return m_cache.maxCost();
}
-QGLTexture* QGLTextureCache::getTexture(quint64 key)
+QGLTexture* QGLTextureCache::getTexture(QGLContext *ctx, qint64 key)
{
QReadLocker locker(&m_lock);
- return m_cache.object(key);
+ const QGLTextureCacheKey cacheKey = {key, QGLContextPrivate::contextGroup(ctx)};
+ return m_cache.object(cacheKey);
}
-void QGLTextureCache::remove(quint64 key)
-{
- QWriteLocker locker(&m_lock);
- m_cache.remove(key);
-}
-
-
extern Q_OPENGL_EXPORT QPaintEngine* qt_qgl_paint_engine();
bool qt_gl_preferGL2Engine();
diff --git a/src/opengl/qgl_x11.cpp b/src/opengl/qgl_x11.cpp
index d203646803..bfb232da89 100644
--- a/src/opengl/qgl_x11.cpp
+++ b/src/opengl/qgl_x11.cpp
@@ -115,6 +115,20 @@ extern const QX11Info *qt_x11Info(const QPaintDevice *pd);
#define GLX_FRONT_LEFT_EXT 0x20DE
#endif
+#ifndef GLX_ARB_create_context
+#define GLX_CONTEXT_DEBUG_BIT_ARB 0x00000001
+#define GLX_CONTEXT_FORWARD_COMPATIBLE_BIT_ARB 0x00000002
+#define GLX_CONTEXT_MAJOR_VERSION_ARB 0x2091
+#define GLX_CONTEXT_MINOR_VERSION_ARB 0x2092
+#define GLX_CONTEXT_FLAGS_ARB 0x2094
+#endif
+
+#ifndef GLX_ARB_create_context_profile
+#define GLX_CONTEXT_CORE_PROFILE_BIT_ARB 0x00000001
+#define GLX_CONTEXT_COMPATIBILITY_PROFILE_BIT_ARB 0x00000002
+#define GLX_CONTEXT_PROFILE_MASK_ARB 0x9126
+#endif
+
/*
The qt_gl_choose_cmap function is internal and used by QGLWidget::setContext()
and GLX (not Windows). If the application can't find any sharable
@@ -401,6 +415,148 @@ bool QGLFormat::hasOpenGLOverlays()
return trans_colors.size() > 0;
}
+static bool buildSpec(int* spec, const QGLFormat& f, QPaintDevice* paintDevice,
+ int bufDepth, bool onlyFBConfig = false)
+{
+ int i = 0;
+ spec[i++] = GLX_LEVEL;
+ spec[i++] = f.plane();
+ const QX11Info *xinfo = qt_x11Info(paintDevice);
+ bool useFBConfig = onlyFBConfig;
+
+#if defined(GLX_VERSION_1_3) && !defined(QT_NO_XRENDER) && !defined(Q_OS_HPUX)
+ /*
+ HPUX defines GLX_VERSION_1_3 but does not implement the corresponding functions.
+ Specifically glXChooseFBConfig and glXGetVisualFromFBConfig are not implemented.
+ */
+ QWidget* widget = 0;
+ if (paintDevice->devType() == QInternal::Widget)
+ widget = static_cast<QWidget*>(paintDevice);
+
+ // Only use glXChooseFBConfig for widgets if we're trying to get an ARGB visual
+ if (widget && widget->testAttribute(Qt::WA_TranslucentBackground) && X11->use_xrender)
+ useFBConfig = true;
+#endif
+
+#if defined(GLX_VERSION_1_1) && defined(GLX_EXT_visual_info)
+ static bool useTranspExt = false;
+ static bool useTranspExtChecked = false;
+ if (f.plane() && !useTranspExtChecked && paintDevice) {
+ QGLExtensionMatcher extensions(glXQueryExtensionsString(xinfo->display(), xinfo->screen()));
+ useTranspExt = extensions.match("GLX_EXT_visual_info");
+ //# (A bit simplistic; that could theoretically be a substring)
+ if (useTranspExt) {
+ QByteArray cstr(glXGetClientString(xinfo->display(), GLX_VENDOR));
+ useTranspExt = !cstr.contains("Xi Graphics"); // bug workaround
+ if (useTranspExt) {
+ // bug workaround - some systems (eg. FireGL) refuses to return an overlay
+ // visual if the GLX_TRANSPARENT_TYPE_EXT attribute is specified, even if
+ // the implementation supports transparent overlays
+ int tmpSpec[] = { GLX_LEVEL, f.plane(), GLX_TRANSPARENT_TYPE_EXT,
+ f.rgba() ? GLX_TRANSPARENT_RGB_EXT : GLX_TRANSPARENT_INDEX_EXT,
+ XNone };
+ XVisualInfo * vinf = glXChooseVisual(xinfo->display(), xinfo->screen(), tmpSpec);
+ if (!vinf) {
+ useTranspExt = false;
+ }
+ }
+ }
+
+ useTranspExtChecked = true;
+ }
+ if (f.plane() && useTranspExt && !useFBConfig) {
+ // Required to avoid non-transparent overlay visual(!) on some systems
+ spec[i++] = GLX_TRANSPARENT_TYPE_EXT;
+ spec[i++] = f.rgba() ? GLX_TRANSPARENT_RGB_EXT : GLX_TRANSPARENT_INDEX_EXT;
+ }
+#endif
+
+#if defined(GLX_VERSION_1_3) && !defined(Q_OS_HPUX)
+ // GLX_RENDER_TYPE is only in glx >=1.3
+ if (useFBConfig) {
+ spec[i++] = GLX_RENDER_TYPE;
+ spec[i++] = f.rgba() ? GLX_RGBA_BIT : GLX_COLOR_INDEX_BIT;
+ }
+#endif
+
+ if (f.doubleBuffer())
+ spec[i++] = GLX_DOUBLEBUFFER;
+ if (useFBConfig)
+ spec[i++] = True;
+ if (f.depth()) {
+ spec[i++] = GLX_DEPTH_SIZE;
+ spec[i++] = f.depthBufferSize() == -1 ? 1 : f.depthBufferSize();
+ }
+ if (f.stereo()) {
+ spec[i++] = GLX_STEREO;
+ if (useFBConfig)
+ spec[i++] = True;
+ }
+ if (f.stencil()) {
+ spec[i++] = GLX_STENCIL_SIZE;
+ spec[i++] = f.stencilBufferSize() == -1 ? 1 : f.stencilBufferSize();
+ }
+ if (f.rgba()) {
+ if (!useFBConfig)
+ spec[i++] = GLX_RGBA;
+ spec[i++] = GLX_RED_SIZE;
+ spec[i++] = f.redBufferSize() == -1 ? 1 : f.redBufferSize();
+ spec[i++] = GLX_GREEN_SIZE;
+ spec[i++] = f.greenBufferSize() == -1 ? 1 : f.greenBufferSize();
+ spec[i++] = GLX_BLUE_SIZE;
+ spec[i++] = f.blueBufferSize() == -1 ? 1 : f.blueBufferSize();
+ if (f.alpha()) {
+ spec[i++] = GLX_ALPHA_SIZE;
+ spec[i++] = f.alphaBufferSize() == -1 ? 1 : f.alphaBufferSize();
+ }
+ if (f.accum()) {
+ spec[i++] = GLX_ACCUM_RED_SIZE;
+ spec[i++] = f.accumBufferSize() == -1 ? 1 : f.accumBufferSize();
+ spec[i++] = GLX_ACCUM_GREEN_SIZE;
+ spec[i++] = f.accumBufferSize() == -1 ? 1 : f.accumBufferSize();
+ spec[i++] = GLX_ACCUM_BLUE_SIZE;
+ spec[i++] = f.accumBufferSize() == -1 ? 1 : f.accumBufferSize();
+ if (f.alpha()) {
+ spec[i++] = GLX_ACCUM_ALPHA_SIZE;
+ spec[i++] = f.accumBufferSize() == -1 ? 1 : f.accumBufferSize();
+ }
+ }
+ } else {
+ spec[i++] = GLX_BUFFER_SIZE;
+ spec[i++] = bufDepth;
+ }
+
+ if (f.sampleBuffers()) {
+ spec[i++] = GLX_SAMPLE_BUFFERS_ARB;
+ spec[i++] = 1;
+ spec[i++] = GLX_SAMPLES_ARB;
+ spec[i++] = f.samples() == -1 ? 4 : f.samples();
+ }
+
+#if defined(GLX_VERSION_1_3) && !defined(Q_OS_HPUX)
+ if (useFBConfig) {
+ spec[i++] = GLX_DRAWABLE_TYPE;
+ switch(paintDevice->devType()) {
+ case QInternal::Pixmap:
+ spec[i++] = GLX_PIXMAP_BIT;
+ break;
+ case QInternal::Pbuffer:
+ spec[i++] = GLX_PBUFFER_BIT;
+ break;
+ default:
+ qWarning("QGLContext: Unknown paint device type %d", paintDevice->devType());
+ // Fall-through & assume it's a window
+ case QInternal::Widget:
+ spec[i++] = GLX_WINDOW_BIT;
+ break;
+ };
+ }
+#endif
+
+ spec[i] = XNone;
+ return useFBConfig;
+}
+
/*****************************************************************************
QGLContext UNIX/GLX-specific code
*****************************************************************************/
@@ -493,21 +649,85 @@ bool QGLContext::chooseContext(const QGLContext* shareContext)
shareContext = 0;
}
+ const int major = d->reqFormat.majorVersion();
+ const int minor = d->reqFormat.minorVersion();
+ const int profile = d->reqFormat.profile() == QGLFormat::CompatibilityProfile
+ ? GLX_CONTEXT_COMPATIBILITY_PROFILE_BIT_ARB
+ : GLX_CONTEXT_CORE_PROFILE_BIT_ARB;
+
d->cx = 0;
- if (shareContext) {
+
+#if defined(GLX_VERSION_1_3) && !defined(Q_OS_HPUX)
+ /*
+ HPUX defines GLX_VERSION_1_3 but does not implement the corresponding functions.
+ Specifically glXChooseFBConfig and glXGetVisualFromFBConfig are not implemented.
+ */
+ if ((major == 3 && minor >= 2) || major > 3) {
+ QGLTemporaryContext *tmpContext = 0;
+ if (!QGLContext::currentContext())
+ tmpContext = new QGLTemporaryContext;
+
+ int attributes[] = { GLX_CONTEXT_MAJOR_VERSION_ARB, major,
+ GLX_CONTEXT_MINOR_VERSION_ARB, minor,
+ GLX_CONTEXT_PROFILE_MASK_ARB, profile,
+ 0 };
+
+ typedef GLXContext ( * Q_PFNGLXCREATECONTEXTATTRIBSARBPROC)
+ (Display* dpy, GLXFBConfig config, GLXContext share_context, Bool direct, const int *attrib_list);
+
+
+ Q_PFNGLXCREATECONTEXTATTRIBSARBPROC glXCreateContextAttribs =
+ (Q_PFNGLXCREATECONTEXTATTRIBSARBPROC) qglx_getProcAddress("glXCreateContextAttribsARB");
+
+ if (glXCreateContextAttribs) {
+ int spec[45];
+ glXGetConfig(disp, (XVisualInfo*)d->vi, GLX_BUFFER_SIZE, &res);
+ buildSpec(spec, format(), d->paintDevice, res, true);
+
+ GLXFBConfig *configs;
+ int configCount = 0;
+ configs = glXChooseFBConfig(disp, xinfo->screen(), spec, &configCount);
+
+ if (configs && configCount > 0) {
+ d->cx = glXCreateContextAttribs(disp, configs[0],
+ shareContext ? (GLXContext)shareContext->d_func()->cx : 0, direct, attributes);
+ if (!d->cx && shareContext) {
+ shareContext = 0;
+ d->cx = glXCreateContextAttribs(disp, configs[0], 0, direct, attributes);
+ }
+ d->screen = ((XVisualInfo*)d->vi)->screen;
+ }
+ XFree(configs);
+ } else {
+ qWarning("QGLContext::chooseContext(): OpenGL %d.%d is not supported", major, minor);
+ }
+
+ if (tmpContext)
+ delete tmpContext;
+ }
+#else
+ Q_UNUSED(major);
+ Q_UNUSED(minor);
+ Q_UNUSED(profile);
+#endif
+
+ if (!d->cx && shareContext) {
d->cx = glXCreateContext(disp, (XVisualInfo *)d->vi,
(GLXContext)shareContext->d_func()->cx, direct);
d->screen = ((XVisualInfo*)d->vi)->screen;
- if (d->cx) {
- QGLContext *share = const_cast<QGLContext *>(shareContext);
- d->sharing = true;
- share->d_func()->sharing = true;
- }
}
if (!d->cx) {
d->cx = glXCreateContext(disp, (XVisualInfo *)d->vi, NULL, direct);
d->screen = ((XVisualInfo*)d->vi)->screen;
+ shareContext = 0;
+ }
+
+ if (shareContext && d->cx) {
+ QGLContext *share = const_cast<QGLContext *>(shareContext);
+ d->sharing = true;
+ share->d_func()->sharing = true;
}
+
if (!d->cx)
return false;
d->glFormat.setDirectRendering(glXIsDirect(disp, (GLXContext)d->cx));
@@ -606,143 +826,8 @@ void *QGLContext::tryVisual(const QGLFormat& f, int bufDepth)
{
Q_D(QGLContext);
int spec[45];
- int i = 0;
- spec[i++] = GLX_LEVEL;
- spec[i++] = f.plane();
const QX11Info *xinfo = qt_x11Info(d->paintDevice);
- bool useFBConfig = false;
-
-#if defined(GLX_VERSION_1_3) && !defined(QT_NO_XRENDER) && !defined(Q_OS_HPUX)
- /*
- HPUX defines GLX_VERSION_1_3 but does not implement the corresponding functions.
- Specifically glXChooseFBConfig and glXGetVisualFromFBConfig are not implemented.
- */
- QWidget* widget = 0;
- if (d->paintDevice->devType() == QInternal::Widget)
- widget = static_cast<QWidget*>(d->paintDevice);
-
- // Only use glXChooseFBConfig for widgets if we're trying to get an ARGB visual
- if (widget && widget->testAttribute(Qt::WA_TranslucentBackground) && X11->use_xrender)
- useFBConfig = true;
-#endif
-
-#if defined(GLX_VERSION_1_1) && defined(GLX_EXT_visual_info)
- static bool useTranspExt = false;
- static bool useTranspExtChecked = false;
- if (f.plane() && !useTranspExtChecked && d->paintDevice) {
- QGLExtensionMatcher extensions(glXQueryExtensionsString(xinfo->display(), xinfo->screen()));
- useTranspExt = extensions.match("GLX_EXT_visual_info");
- //# (A bit simplistic; that could theoretically be a substring)
- if (useTranspExt) {
- QByteArray cstr(glXGetClientString(xinfo->display(), GLX_VENDOR));
- useTranspExt = !cstr.contains("Xi Graphics"); // bug workaround
- if (useTranspExt) {
- // bug workaround - some systems (eg. FireGL) refuses to return an overlay
- // visual if the GLX_TRANSPARENT_TYPE_EXT attribute is specified, even if
- // the implementation supports transparent overlays
- int tmpSpec[] = { GLX_LEVEL, f.plane(), GLX_TRANSPARENT_TYPE_EXT,
- f.rgba() ? GLX_TRANSPARENT_RGB_EXT : GLX_TRANSPARENT_INDEX_EXT,
- XNone };
- XVisualInfo * vinf = glXChooseVisual(xinfo->display(), xinfo->screen(), tmpSpec);
- if (!vinf) {
- useTranspExt = false;
- }
- }
- }
-
- useTranspExtChecked = true;
- }
- if (f.plane() && useTranspExt && !useFBConfig) {
- // Required to avoid non-transparent overlay visual(!) on some systems
- spec[i++] = GLX_TRANSPARENT_TYPE_EXT;
- spec[i++] = f.rgba() ? GLX_TRANSPARENT_RGB_EXT : GLX_TRANSPARENT_INDEX_EXT;
- }
-#endif
-
-#if defined(GLX_VERSION_1_3) && !defined(Q_OS_HPUX)
- // GLX_RENDER_TYPE is only in glx >=1.3
- if (useFBConfig) {
- spec[i++] = GLX_RENDER_TYPE;
- spec[i++] = f.rgba() ? GLX_RGBA_BIT : GLX_COLOR_INDEX_BIT;
- }
-#endif
-
- if (f.doubleBuffer())
- spec[i++] = GLX_DOUBLEBUFFER;
- if (useFBConfig)
- spec[i++] = True;
- if (f.depth()) {
- spec[i++] = GLX_DEPTH_SIZE;
- spec[i++] = f.depthBufferSize() == -1 ? 1 : f.depthBufferSize();
- }
- if (f.stereo()) {
- spec[i++] = GLX_STEREO;
- if (useFBConfig)
- spec[i++] = True;
- }
- if (f.stencil()) {
- spec[i++] = GLX_STENCIL_SIZE;
- spec[i++] = f.stencilBufferSize() == -1 ? 1 : f.stencilBufferSize();
- }
- if (f.rgba()) {
- if (!useFBConfig)
- spec[i++] = GLX_RGBA;
- spec[i++] = GLX_RED_SIZE;
- spec[i++] = f.redBufferSize() == -1 ? 1 : f.redBufferSize();
- spec[i++] = GLX_GREEN_SIZE;
- spec[i++] = f.greenBufferSize() == -1 ? 1 : f.greenBufferSize();
- spec[i++] = GLX_BLUE_SIZE;
- spec[i++] = f.blueBufferSize() == -1 ? 1 : f.blueBufferSize();
- if (f.alpha()) {
- spec[i++] = GLX_ALPHA_SIZE;
- spec[i++] = f.alphaBufferSize() == -1 ? 1 : f.alphaBufferSize();
- }
- if (f.accum()) {
- spec[i++] = GLX_ACCUM_RED_SIZE;
- spec[i++] = f.accumBufferSize() == -1 ? 1 : f.accumBufferSize();
- spec[i++] = GLX_ACCUM_GREEN_SIZE;
- spec[i++] = f.accumBufferSize() == -1 ? 1 : f.accumBufferSize();
- spec[i++] = GLX_ACCUM_BLUE_SIZE;
- spec[i++] = f.accumBufferSize() == -1 ? 1 : f.accumBufferSize();
- if (f.alpha()) {
- spec[i++] = GLX_ACCUM_ALPHA_SIZE;
- spec[i++] = f.accumBufferSize() == -1 ? 1 : f.accumBufferSize();
- }
- }
- } else {
- spec[i++] = GLX_BUFFER_SIZE;
- spec[i++] = bufDepth;
- }
-
- if (f.sampleBuffers()) {
- spec[i++] = GLX_SAMPLE_BUFFERS_ARB;
- spec[i++] = 1;
- spec[i++] = GLX_SAMPLES_ARB;
- spec[i++] = f.samples() == -1 ? 4 : f.samples();
- }
-
-#if defined(GLX_VERSION_1_3) && !defined(Q_OS_HPUX)
- if (useFBConfig) {
- spec[i++] = GLX_DRAWABLE_TYPE;
- switch(d->paintDevice->devType()) {
- case QInternal::Pixmap:
- spec[i++] = GLX_PIXMAP_BIT;
- break;
- case QInternal::Pbuffer:
- spec[i++] = GLX_PBUFFER_BIT;
- break;
- default:
- qWarning("QGLContext: Unknown paint device type %d", d->paintDevice->devType());
- // Fall-through & assume it's a window
- case QInternal::Widget:
- spec[i++] = GLX_WINDOW_BIT;
- break;
- };
- }
-#endif
-
- spec[i] = XNone;
-
+ bool useFBConfig = buildSpec(spec, f, d->paintDevice, bufDepth, false);
XVisualInfo* chosenVisualInfo = 0;
@@ -755,7 +840,7 @@ void *QGLContext::tryVisual(const QGLFormat& f, int bufDepth)
if (!configs)
break; // fallback to trying glXChooseVisual
- for (i = 0; i < configCount; ++i) {
+ for (int i = 0; i < configCount; ++i) {
XVisualInfo* vi;
vi = glXGetVisualFromFBConfig(xinfo->display(), configs[i]);
if (!vi)
@@ -843,7 +928,7 @@ void QGLContext::makeCurrent()
} else if (d->paintDevice->devType() == QInternal::Pbuffer) {
ok = glXMakeCurrent(xinfo->display(), (GLXPbuffer)d->pbuf, (GLXContext)d->cx);
} else if (d->paintDevice->devType() == QInternal::Widget) {
- ok = glXMakeCurrent(xinfo->display(), ((QWidget *)d->paintDevice)->winId(), (GLXContext)d->cx);
+ ok = glXMakeCurrent(xinfo->display(), ((QWidget *)d->paintDevice)->internalWinId(), (GLXContext)d->cx);
}
if (!ok)
qWarning("QGLContext::makeCurrent(): Failed.");
@@ -1773,6 +1858,9 @@ QGLTexture *QGLContextPrivate::bindTextureFromNativePixmap(QPixmap *pixmap, cons
glXBindTexImageEXT(x11Info.display(), (GLXPixmap)pixmapData->gl_surface, GLX_FRONT_LEFT_EXT, 0);
glBindTexture(GL_TEXTURE_2D, textureId);
+ GLuint filtering = (options & QGLContext::LinearFilteringBindOption) ? GL_LINEAR : GL_NEAREST;
+ glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, filtering);
+ glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, filtering);
if (!((hasAlpha && RGBAConfigInverted) || (!hasAlpha && RGBConfigInverted)))
options &= ~QGLContext::InvertedYBindOption;
diff --git a/src/opengl/qglbuffer.cpp b/src/opengl/qglbuffer.cpp
index 223243c4d1..d6e0109e3e 100644
--- a/src/opengl/qglbuffer.cpp
+++ b/src/opengl/qglbuffer.cpp
@@ -42,6 +42,7 @@
#include <QtOpenGL/qgl.h>
#include <QtOpenGL/private/qgl_p.h>
#include <QtOpenGL/private/qglextensions_p.h>
+#include <QtCore/qatomic.h>
#include "qglbuffer.h"
QT_BEGIN_NAMESPACE
@@ -55,6 +56,20 @@ QT_BEGIN_NAMESPACE
Buffer objects are created in the GL server so that the
client application can avoid uploading vertices, indices,
texture image data, etc every time they are needed.
+
+ QGLBuffer objects can be copied around as a reference to the
+ underlying GL buffer object:
+
+ \code
+ QGLBuffer buffer1(QGLBuffer::IndexBuffer);
+ buffer1.create();
+
+ QGLBuffer buffer2 = buffer1;
+ \endcode
+
+ QGLBuffer performs a shallow copy when objects are copied in this
+ manner, but does not implement copy-on-write semantics. The original
+ object will be affected whenever the copy is modified.
*/
/*!
@@ -116,13 +131,15 @@ class QGLBufferPrivate
{
public:
QGLBufferPrivate(QGLBuffer::Type t)
- : type(t),
+ : ref(1),
+ type(t),
guard(0),
usagePattern(QGLBuffer::StaticDraw),
actualUsagePattern(QGLBuffer::StaticDraw)
{
}
+ QAtomicInt ref;
QGLBuffer::Type type;
QGLSharedResourceGuard guard;
QGLBuffer::UsagePattern usagePattern;
@@ -130,6 +147,19 @@ public:
};
/*!
+ Constructs a new buffer object of type QGLBuffer::VertexBuffer.
+
+ Note: this constructor just creates the QGLBuffer instance. The actual
+ buffer object in the GL server is not created until create() is called.
+
+ \sa create()
+*/
+QGLBuffer::QGLBuffer()
+ : d_ptr(new QGLBufferPrivate(QGLBuffer::VertexBuffer))
+{
+}
+
+/*!
Constructs a new buffer object of \a type.
Note: this constructor just creates the QGLBuffer instance. The actual
@@ -142,6 +172,18 @@ QGLBuffer::QGLBuffer(QGLBuffer::Type type)
{
}
+/*!
+ Constructs a shallow copy of \a other.
+
+ Note: QGLBuffer does not implement copy-on-write semantics,
+ so \a other will be affected whenever the copy is modified.
+*/
+QGLBuffer::QGLBuffer(const QGLBuffer &other)
+ : d_ptr(other.d_ptr)
+{
+ d_ptr->ref.ref();
+}
+
#define ctx d->guard.context()
/*!
@@ -150,13 +192,27 @@ QGLBuffer::QGLBuffer(QGLBuffer::Type type)
*/
QGLBuffer::~QGLBuffer()
{
- Q_D(QGLBuffer);
- GLuint bufferId = d->guard.id();
- if (bufferId) {
- // Switch to the original creating context to destroy it.
- QGLShareContextScope scope(d->guard.context());
- glDeleteBuffers(1, &bufferId);
+ if (!d_ptr->ref.deref()) {
+ destroy();
+ delete d_ptr;
+ }
+}
+
+/*!
+ Assigns a shallow copy of \a other to this object.
+
+ Note: QGLBuffer does not implement copy-on-write semantics,
+ so \a other will be affected whenever the copy is modified.
+*/
+QGLBuffer &QGLBuffer::operator=(const QGLBuffer &other)
+{
+ if (d_ptr != other.d_ptr) {
+ other.d_ptr->ref.ref();
+ if (!d_ptr->ref.deref())
+ destroy();
+ d_ptr = other.d_ptr;
}
+ return *this;
}
/*!
@@ -215,7 +271,7 @@ void QGLBuffer::setUsagePattern(QGLBuffer::UsagePattern value)
This function will return false if the GL implementation
does not support buffers, or there is no current QGLContext.
- \sa isCreated(), allocate(), write()
+ \sa isCreated(), allocate(), write(), destroy()
*/
bool QGLBuffer::create()
{
@@ -242,7 +298,7 @@ bool QGLBuffer::create()
/*!
Returns true if this buffer has been created; false otherwise.
- \sa create()
+ \sa create(), destroy()
*/
bool QGLBuffer::isCreated() const
{
@@ -251,6 +307,24 @@ bool QGLBuffer::isCreated() const
}
/*!
+ Destroys this buffer object, including the storage being
+ used in the GL server. All references to the buffer will
+ become invalid.
+*/
+void QGLBuffer::destroy()
+{
+ Q_D(QGLBuffer);
+ GLuint bufferId = d->guard.id();
+ if (bufferId) {
+ // Switch to the original creating context to destroy it.
+ QGLShareContextScope scope(d->guard.context());
+ glDeleteBuffers(1, &bufferId);
+ }
+ d->guard.setId(0);
+ d->guard.setContext(0);
+}
+
+/*!
Reads the \a count bytes in this buffer starting at \a offset
into \a data. Returns true on success; false if reading from
the buffer is not supported. Buffer reading is not supported
diff --git a/src/opengl/qglbuffer.h b/src/opengl/qglbuffer.h
index 2fe1f1f116..a1b45ffb87 100644
--- a/src/opengl/qglbuffer.h
+++ b/src/opengl/qglbuffer.h
@@ -64,9 +64,13 @@ public:
PixelUnpackBuffer = 0x88EC // GL_PIXEL_UNPACK_BUFFER
};
+ QGLBuffer();
explicit QGLBuffer(QGLBuffer::Type type);
+ QGLBuffer(const QGLBuffer &other);
~QGLBuffer();
+ QGLBuffer &operator=(const QGLBuffer &other);
+
enum UsagePattern
{
StreamDraw = 0x88E0, // GL_STREAM_DRAW
@@ -95,6 +99,8 @@ public:
bool create();
bool isCreated() const;
+ void destroy();
+
bool bind() const;
void release() const;
@@ -114,9 +120,8 @@ public:
bool unmap();
private:
- QScopedPointer<QGLBufferPrivate> d_ptr;
+ QGLBufferPrivate *d_ptr;
- Q_DISABLE_COPY(QGLBuffer)
Q_DECLARE_PRIVATE(QGLBuffer)
};
diff --git a/src/opengl/qglframebufferobject.cpp b/src/opengl/qglframebufferobject.cpp
index 890b029140..deffc2075b 100644
--- a/src/opengl/qglframebufferobject.cpp
+++ b/src/opengl/qglframebufferobject.cpp
@@ -1024,6 +1024,36 @@ QPaintEngine *QGLFramebufferObject::paintEngine() const
}
/*!
+ \fn bool QGLFramebufferObject::bindDefault()
+ \internal
+
+ Switches rendering back to the default, windowing system provided
+ framebuffer.
+ Returns true upon success, false otherwise.
+
+ \sa bind(), release()
+*/
+bool QGLFramebufferObject::bindDefault()
+{
+ QGLContext *ctx = const_cast<QGLContext *>(QGLContext::currentContext());
+
+ if (ctx) {
+ bool ext_detected = (QGLExtensions::glExtensions() & QGLExtensions::FramebufferObject);
+ if (!ext_detected || (ext_detected && !qt_resolve_framebufferobject_extensions(ctx)))
+ return false;
+
+ ctx->d_ptr->current_fbo = ctx->d_ptr->default_fbo;
+ glBindFramebuffer(GL_FRAMEBUFFER_EXT, ctx->d_ptr->default_fbo);
+#ifdef QT_DEBUG
+ } else {
+ qWarning("QGLFramebufferObject::bindDefault() called without current context.");
+#endif
+ }
+
+ return ctx != 0;
+}
+
+/*!
\fn bool QGLFramebufferObject::hasOpenGLFramebufferObjects()
Returns true if the OpenGL \c{GL_EXT_framebuffer_object} extension
diff --git a/src/opengl/qglframebufferobject.h b/src/opengl/qglframebufferobject.h
index 306b6ff39c..6ff66457f7 100644
--- a/src/opengl/qglframebufferobject.h
+++ b/src/opengl/qglframebufferobject.h
@@ -108,6 +108,8 @@ public:
QPaintEngine *paintEngine() const;
GLuint handle() const;
+ static bool bindDefault();
+
static bool hasOpenGLFramebufferObjects();
void drawTexture(const QRectF &target, GLuint textureId, GLenum textureTarget = GL_TEXTURE_2D);
diff --git a/src/opengl/qglpaintdevice.cpp b/src/opengl/qglpaintdevice.cpp
index e874e85c38..e1dcbfde89 100644
--- a/src/opengl/qglpaintdevice.cpp
+++ b/src/opengl/qglpaintdevice.cpp
@@ -175,7 +175,10 @@ void QGLWidgetGLPaintDevice::beginPaint()
float alpha = c.alphaF();
glClearColor(c.redF() * alpha, c.greenF() * alpha, c.blueF() * alpha, alpha);
}
- glClear(GL_COLOR_BUFFER_BIT);
+ if (context()->d_func()->workaround_needsFullClearOnEveryFrame)
+ glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT | GL_STENCIL_BUFFER_BIT);
+ else
+ glClear(GL_COLOR_BUFFER_BIT);
}
}
diff --git a/src/opengl/qglpixmapfilter.cpp b/src/opengl/qglpixmapfilter.cpp
index d5a11d97be..bfa5ef180b 100644
--- a/src/opengl/qglpixmapfilter.cpp
+++ b/src/opengl/qglpixmapfilter.cpp
@@ -591,10 +591,11 @@ bool QGLPixmapDropShadowFilter::processGL(QPainter *painter, const QPointF &pos,
qt_blurImage(image, r * qreal(0.5), false, 1);
- GLuint texture = generateBlurTexture(image.size(), GL_ALPHA);
-
- glTexSubImage2D(GL_TEXTURE_2D, 0, 0, 0, image.width(), image.height(), GL_ALPHA,
- GL_UNSIGNED_BYTE, image.bits());
+ GLuint texture;
+ glGenTextures(1, &texture);
+ glBindTexture(GL_TEXTURE_2D, texture);
+ glTexImage2D(GL_TEXTURE_2D, 0, GL_ALPHA, image.width(), image.height(),
+ 0, GL_ALPHA, GL_UNSIGNED_BYTE, image.bits());
info = new QGLBlurTextureInfo(image, texture, r);
}
diff --git a/src/opengl/qpaintengine_opengl.cpp b/src/opengl/qpaintengine_opengl.cpp
index 306fd8bed9..12c487d449 100644
--- a/src/opengl/qpaintengine_opengl.cpp
+++ b/src/opengl/qpaintengine_opengl.cpp
@@ -668,6 +668,7 @@ public:
, last_created_state(0)
, shader_ctx(0)
, grad_palette(0)
+ , tess_points(0)
, drawable_texture(0)
, ref_cleaner(this)
{}
@@ -1450,6 +1451,11 @@ bool QOpenGLPaintEngine::end()
d->device->endPaint();
qt_mask_texture_cache()->maintainCache();
+#if defined(Q_WS_X11)
+ // clear out the references we hold for textures bound with the
+ // texture_from_pixmap extension
+ ctx->d_func()->boundPixmaps.clear();
+#endif
return true;
}
@@ -1950,6 +1956,8 @@ void QOpenGLPaintEnginePrivate::pathToVertexArrays(const QPainterPath &path)
void QOpenGLPaintEnginePrivate::drawVertexArrays()
{
+ if (tess_points_stops.count() == 0)
+ return;
glEnableClientState(GL_VERTEX_ARRAY);
glVertexPointer(2, GL_DOUBLE, 0, tess_points.data());
int previous_stop = 0;
@@ -3947,7 +3955,7 @@ void QOpenGLPaintEnginePrivate::strokeLines(const QPainterPath &path)
enableClipping();
}
-extern bool qt_scaleForTransform(const QTransform &transform, qreal *scale); // qtransform.cpp
+Q_GUI_EXPORT bool qt_scaleForTransform(const QTransform &transform, qreal *scale); // qtransform.cpp
void QOpenGLPaintEnginePrivate::strokePath(const QPainterPath &path, bool use_cache)
{
@@ -4991,7 +4999,7 @@ void QOpenGLPaintEngine::drawTextItem(const QPointF &p, const QTextItem &textIte
{
QStaticTextItem staticTextItem;
- staticTextItem.chars = ti.chars;
+ staticTextItem.chars = const_cast<QChar *>(ti.chars);
staticTextItem.fontEngine = ti.fontEngine;
staticTextItem.glyphs = glyphs.data();
staticTextItem.numChars = ti.num_chars;
diff --git a/src/openvg/qpaintengine_vg.cpp b/src/openvg/qpaintengine_vg.cpp
index f602c73f42..4b22d5ef49 100644
--- a/src/openvg/qpaintengine_vg.cpp
+++ b/src/openvg/qpaintengine_vg.cpp
@@ -119,6 +119,35 @@ private:
class QVGPaintEnginePrivate : public QPaintEngineExPrivate
{
public:
+ // Extra blending modes from VG_KHR_advanced_blending extension.
+ // Use the QT_VG prefix to avoid conflicts with any definitions
+ // that may come in via <VG/vgext.h>.
+ enum AdvancedBlending {
+ QT_VG_BLEND_OVERLAY_KHR = 0x2010,
+ QT_VG_BLEND_HARDLIGHT_KHR = 0x2011,
+ QT_VG_BLEND_SOFTLIGHT_SVG_KHR = 0x2012,
+ QT_VG_BLEND_SOFTLIGHT_KHR = 0x2013,
+ QT_VG_BLEND_COLORDODGE_KHR = 0x2014,
+ QT_VG_BLEND_COLORBURN_KHR = 0x2015,
+ QT_VG_BLEND_DIFFERENCE_KHR = 0x2016,
+ QT_VG_BLEND_SUBTRACT_KHR = 0x2017,
+ QT_VG_BLEND_INVERT_KHR = 0x2018,
+ QT_VG_BLEND_EXCLUSION_KHR = 0x2019,
+ QT_VG_BLEND_LINEARDODGE_KHR = 0x201a,
+ QT_VG_BLEND_LINEARBURN_KHR = 0x201b,
+ QT_VG_BLEND_VIVIDLIGHT_KHR = 0x201c,
+ QT_VG_BLEND_LINEARLIGHT_KHR = 0x201d,
+ QT_VG_BLEND_PINLIGHT_KHR = 0x201e,
+ QT_VG_BLEND_HARDMIX_KHR = 0x201f,
+ QT_VG_BLEND_CLEAR_KHR = 0x2020,
+ QT_VG_BLEND_DST_KHR = 0x2021,
+ QT_VG_BLEND_SRC_OUT_KHR = 0x2022,
+ QT_VG_BLEND_DST_OUT_KHR = 0x2023,
+ QT_VG_BLEND_SRC_ATOP_KHR = 0x2024,
+ QT_VG_BLEND_DST_ATOP_KHR = 0x2025,
+ QT_VG_BLEND_XOR_KHR = 0x2026
+ };
+
QVGPaintEnginePrivate();
~QVGPaintEnginePrivate();
@@ -216,6 +245,8 @@ public:
QVGFontEngineCleaner *fontEngineCleaner;
#endif
+ bool hasAdvancedBlending;
+
QScopedPointer<QPixmapFilter> convolutionFilter;
QScopedPointer<QPixmapFilter> colorizeFilter;
QScopedPointer<QPixmapFilter> dropShadowFilter;
@@ -369,6 +400,8 @@ void QVGPaintEnginePrivate::init()
fontEngineCleaner = 0;
#endif
+ hasAdvancedBlending = false;
+
clearModes();
}
@@ -445,6 +478,10 @@ void QVGPaintEnginePrivate::initObjects()
VG_PATH_CAPABILITY_ALL);
vgAppendPathData(linePath, 2, segments, coords);
#endif
+
+ const char *extensions = reinterpret_cast<const char *>(vgGetString(VG_EXTENSIONS));
+ if (extensions)
+ hasAdvancedBlending = strstr(extensions, "VG_KHR_advanced_blending") != 0;
}
void QVGPaintEnginePrivate::destroy()
@@ -1585,11 +1622,48 @@ void QVGPaintEngine::clip(const QVectorPath &path, Qt::ClipOperation op)
QRectF rect(points[0], points[1], points[2] - points[0],
points[5] - points[1]);
clip(rect.toRect(), op);
- } else {
- // The best we can do is clip to the bounding rectangle
- // of all control points.
- clip(path.controlPointRect().toRect(), op);
+ return;
+ }
+
+ // Try converting the path into a QRegion that tightly follows
+ // the outline of the path we want to clip with.
+ QRegion region(path.convertToPainterPath().toFillPolygon(QTransform()).toPolygon());
+ switch (op) {
+ case Qt::NoClip:
+ {
+ region = defaultClipRegion();
+ }
+ break;
+
+ case Qt::ReplaceClip:
+ {
+ region = d->transform.map(region);
+ }
+ break;
+
+ case Qt::IntersectClip:
+ {
+ region = s->clipRegion.intersect(d->transform.map(region));
+ }
+ break;
+
+ case Qt::UniteClip:
+ {
+ region = s->clipRegion.unite(d->transform.map(region));
+ }
+ break;
+ }
+ if (region.numRects() <= d->maxScissorRects) {
+ // We haven't reached the maximum scissor count yet, so we can
+ // still make use of this region.
+ s->clipRegion = region;
+ updateScissor();
+ return;
}
+
+ // The best we can do is clip to the bounding rectangle
+ // of all control points.
+ clip(path.controlPointRect().toRect(), op);
}
void QVGPaintEngine::clip(const QRect &rect, Qt::ClipOperation op)
@@ -2288,7 +2362,7 @@ void QVGPaintEngine::compositionModeChanged()
Q_D(QVGPaintEngine);
d->dirty |= QPaintEngine::DirtyCompositionMode;
- VGBlendMode vgMode = VG_BLEND_SRC_OVER;
+ VGint vgMode = VG_BLEND_SRC_OVER;
switch (state()->composition_mode) {
case QPainter::CompositionMode_SourceOver:
@@ -2322,11 +2396,53 @@ void QVGPaintEngine::compositionModeChanged()
vgMode = VG_BLEND_LIGHTEN;
break;
default:
- qWarning() << "QVGPaintEngine::compositionModeChanged unsupported mode" << state()->composition_mode;
- break; // Fall back to VG_BLEND_SRC_OVER.
+ if (d->hasAdvancedBlending) {
+ switch (state()->composition_mode) {
+ case QPainter::CompositionMode_Overlay:
+ vgMode = QVGPaintEnginePrivate::QT_VG_BLEND_OVERLAY_KHR;
+ break;
+ case QPainter::CompositionMode_ColorDodge:
+ vgMode = QVGPaintEnginePrivate::QT_VG_BLEND_COLORDODGE_KHR;
+ break;
+ case QPainter::CompositionMode_ColorBurn:
+ vgMode = QVGPaintEnginePrivate::QT_VG_BLEND_COLORBURN_KHR;
+ break;
+ case QPainter::CompositionMode_HardLight:
+ vgMode = QVGPaintEnginePrivate::QT_VG_BLEND_HARDLIGHT_KHR;
+ break;
+ case QPainter::CompositionMode_SoftLight:
+ vgMode = QVGPaintEnginePrivate::QT_VG_BLEND_SOFTLIGHT_KHR;
+ break;
+ case QPainter::CompositionMode_Difference:
+ vgMode = QVGPaintEnginePrivate::QT_VG_BLEND_DIFFERENCE_KHR;
+ break;
+ case QPainter::CompositionMode_Exclusion:
+ vgMode = QVGPaintEnginePrivate::QT_VG_BLEND_EXCLUSION_KHR;
+ break;
+ case QPainter::CompositionMode_SourceOut:
+ vgMode = QVGPaintEnginePrivate::QT_VG_BLEND_SRC_OUT_KHR;
+ break;
+ case QPainter::CompositionMode_DestinationOut:
+ vgMode = QVGPaintEnginePrivate::QT_VG_BLEND_DST_OUT_KHR;
+ break;
+ case QPainter::CompositionMode_SourceAtop:
+ vgMode = QVGPaintEnginePrivate::QT_VG_BLEND_SRC_ATOP_KHR;
+ break;
+ case QPainter::CompositionMode_DestinationAtop:
+ vgMode = QVGPaintEnginePrivate::QT_VG_BLEND_DST_ATOP_KHR;
+ break;
+ case QPainter::CompositionMode_Xor:
+ vgMode = QVGPaintEnginePrivate::QT_VG_BLEND_XOR_KHR;
+ break;
+ default: break; // Fall back to VG_BLEND_SRC_OVER.
+ }
+ }
+ if (vgMode == VG_BLEND_SRC_OVER)
+ qWarning() << "QVGPaintEngine::compositionModeChanged unsupported mode" << state()->composition_mode;
+ break;
}
- d->setBlendMode(vgMode);
+ d->setBlendMode(VGBlendMode(vgMode));
}
void QVGPaintEngine::renderHintsChanged()
diff --git a/src/plugins/bearer/corewlan/qcorewlanengine.h b/src/plugins/bearer/corewlan/qcorewlanengine.h
index 3c24c54484..4d90648961 100644
--- a/src/plugins/bearer/corewlan/qcorewlanengine.h
+++ b/src/plugins/bearer/corewlan/qcorewlanengine.h
@@ -78,6 +78,10 @@ public:
QNetworkSession::State sessionStateForId(const QString &id);
+ quint64 bytesWritten(const QString &id);
+ quint64 bytesReceived(const QString &id);
+ quint64 startTime(const QString &id);
+
QNetworkConfigurationManager::Capabilities capabilities() const;
QNetworkSessionPrivate *createSessionBackend();
@@ -100,6 +104,8 @@ private:
bool scanning;
QScanThread *scanThread;
+ quint64 getBytes(const QString &interfaceName,bool b);
+
protected:
void startNetworkChangeLoop();
diff --git a/src/plugins/bearer/corewlan/qcorewlanengine.mm b/src/plugins/bearer/corewlan/qcorewlanengine.mm
index 3206833d34..6ba950494f 100644
--- a/src/plugins/bearer/corewlan/qcorewlanengine.mm
+++ b/src/plugins/bearer/corewlan/qcorewlanengine.mm
@@ -67,9 +67,13 @@
#include <private/qt_cocoa_helpers_mac_p.h>
#include "private/qcore_mac_p.h"
-@interface QNSListener : NSObject
+#include <net/if.h>
+#include <ifaddrs.h>
+
+
+@interface QT_MANGLE_NAMESPACE(QNSListener) : NSObject
{
- NSNotificationCenter *center;
+ NSNotificationCenter *notificationCenter;
CWInterface *currentInterface;
QCoreWlanEngine *engine;
NSLock *locker;
@@ -83,16 +87,16 @@
@end
-@implementation QNSListener
+@implementation QT_MANGLE_NAMESPACE(QNSListener)
@synthesize engine;
- (id) init
{
[locker lock];
QMacCocoaAutoReleasePool pool;
- center = [NSNotificationCenter defaultCenter];
+ notificationCenter = [NSNotificationCenter defaultCenter];
currentInterface = [CWInterface interfaceWithName:nil];
- [center addObserver:self selector:@selector(notificationHandler:) name:kCWPowerDidChangeNotification object:nil];
+ [notificationCenter addObserver:self selector:@selector(notificationHandler:) name:kCWPowerDidChangeNotification object:nil];
[locker unlock];
return self;
}
@@ -113,7 +117,7 @@
-(void)remove
{
[locker lock];
- [center removeObserver:self];
+ [notificationCenter removeObserver:self];
[locker unlock];
}
@@ -123,7 +127,7 @@
}
@end
-QNSListener *listener = 0;
+QT_MANGLE_NAMESPACE(QNSListener) *listener = 0;
QT_BEGIN_NAMESPACE
@@ -157,7 +161,7 @@ void QScanThread::quit()
void QScanThread::run()
{
- NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
+ QMacCocoaAutoReleasePool pool;
QStringList found;
mutex.lock();
CWInterface *currentInterface = [CWInterface interfaceWithName:qt_mac_QStringToNSString(interfaceName)];
@@ -167,6 +171,7 @@ void QScanThread::run()
NSError *err = nil;
NSDictionary *parametersDict = [NSDictionary dictionaryWithObjectsAndKeys:
[NSNumber numberWithBool:YES], kCWScanKeyMerge,
+ [NSNumber numberWithInt:kCWScanTypeFast], kCWScanKeyScanType,
[NSNumber numberWithInteger:100], kCWScanKeyRestTime, nil];
NSArray* apArray = [currentInterface scanForNetworksWithParameters:parametersDict error:&err];
@@ -204,11 +209,9 @@ void QScanThread::run()
found.append(foundNetwork(id, networkSsid, state, interfaceName, purpose));
- } //end row
-// [parametersDict release];
-
- } //end error
- } // endwifi power
+ }
+ }
+ }
// add known configurations that are not around.
QMapIterator<QString, QMap<QString,QString> > i(userProfiles);
while (i.hasNext()) {
@@ -248,7 +251,6 @@ void QScanThread::run()
}
}
emit networksChanged();
- [pool release];
}
QStringList QScanThread::foundNetwork(const QString &id, const QString &name, const QNetworkConfiguration::StateFlags state, const QString &interfaceName, const QNetworkConfiguration::Purpose purpose)
@@ -295,6 +297,9 @@ void QScanThread::getUserConfigurations()
for(uint row=0; row < [wifiInterfaces count]; row++ ) {
CWInterface *wifiInterface = [CWInterface interfaceWithName: [wifiInterfaces objectAtIndex:row]];
+ if ( ![wifiInterface power] )
+ continue;
+
NSString *nsInterfaceName = [wifiInterface name];
// add user configured system networks
SCDynamicStoreRef dynRef = SCDynamicStoreCreate(kCFAllocatorSystemDefault, (CFStringRef)@"Qt corewlan", nil, nil);
@@ -426,9 +431,10 @@ QCoreWlanEngine::~QCoreWlanEngine()
void QCoreWlanEngine::initialize()
{
QMutexLocker locker(&mutex);
+ QMacCocoaAutoReleasePool pool;
if([[CWInterface supportedInterfaces] count] > 0 && !listener) {
- listener = [[QNSListener alloc] init];
+ listener = [[QT_MANGLE_NAMESPACE(QNSListener) alloc] init];
listener.engine = this;
hasWifi = true;
} else {
@@ -659,7 +665,6 @@ bool QCoreWlanEngine::isWifiReady(const QString &wifiDeviceName)
QNetworkSession::State QCoreWlanEngine::sessionStateForId(const QString &id)
{
QMutexLocker locker(&mutex);
-
QNetworkConfigurationPrivatePointer ptr = accessPointConfigurations.value(id);
if (!ptr)
@@ -784,6 +789,11 @@ void QCoreWlanEngine::networksChanged()
changed = true;
}
+ if (ptr->bearer != cpPriv->bearer) {
+ ptr->bearer = cpPriv->bearer;
+ changed = true;
+ }
+
if (ptr->state != cpPriv->state) {
ptr->state = cpPriv->state;
changed = true;
@@ -823,5 +833,90 @@ void QCoreWlanEngine::networksChanged()
}
+quint64 QCoreWlanEngine::bytesWritten(const QString &id)
+{
+ QMutexLocker locker(&mutex);
+ const QString interfaceStr = getInterfaceFromId(id);
+ return getBytes(interfaceStr,false);
+}
+
+quint64 QCoreWlanEngine::bytesReceived(const QString &id)
+{
+ QMutexLocker locker(&mutex);
+ const QString interfaceStr = getInterfaceFromId(id);
+ return getBytes(interfaceStr,true);
+}
+
+quint64 QCoreWlanEngine::startTime(const QString &id)
+{
+ QMutexLocker locker(&mutex);
+ QMacCocoaAutoReleasePool pool;
+ quint64 timestamp = 0;
+
+ NSString *filePath = @"/Library/Preferences/SystemConfiguration/com.apple.airport.preferences.plist";
+ NSDictionary* plistDict = [[[NSDictionary alloc] initWithContentsOfFile:filePath] autorelease];
+ NSString *input = @"KnownNetworks";
+ NSString *timeStampStr = @"_timeStamp";
+
+ NSString *ssidStr = @"SSID_STR";
+
+ for (id key in plistDict) {
+ if ([input isEqualToString:key]) {
+
+ NSDictionary *knownNetworksDict = [plistDict objectForKey:key];
+ for (id networkKey in knownNetworksDict) {
+ bool isFound = false;
+ NSDictionary *itemDict = [knownNetworksDict objectForKey:networkKey];
+ NSInteger dictSize = [itemDict count];
+ id objects[dictSize];
+ id keys[dictSize];
+
+ [itemDict getObjects:objects andKeys:keys];
+ bool ok = false;
+ for(int i = 0; i < dictSize; i++) {
+ if([ssidStr isEqualToString:keys[i]]) {
+ const QString ident = QString::number(qHash(QLatin1String("corewlan:") + qt_mac_NSStringToQString(objects[i])));
+ if(ident == id) {
+ ok = true;
+ }
+ }
+ if(ok && [timeStampStr isEqualToString:keys[i]]) {
+ timestamp = (quint64)[objects[i] timeIntervalSince1970];
+ isFound = true;
+ break;
+ }
+ }
+ if(isFound)
+ break;
+ }
+ }
+ }
+ return timestamp;
+}
+
+quint64 QCoreWlanEngine::getBytes(const QString &interfaceName, bool b)
+{
+ struct ifaddrs *ifAddressList, *ifAddress;
+ struct if_data *if_data;
+
+ quint64 bytes = 0;
+ ifAddressList = nil;
+ if(getifaddrs(&ifAddressList) == 0) {
+ for(ifAddress = ifAddressList; ifAddress; ifAddress = ifAddress->ifa_next) {
+ if(interfaceName == ifAddress->ifa_name) {
+ if_data = (struct if_data*)ifAddress->ifa_data;
+ if(b) {
+ bytes = if_data->ifi_ibytes;
+ break;
+ } else {
+ bytes = if_data->ifi_obytes;
+ break;
+ }
+ }
+ }
+ freeifaddrs(ifAddressList);
+ }
+ return bytes;
+}
QT_END_NAMESPACE
diff --git a/src/plugins/bearer/nativewifi/qnativewifiengine.cpp b/src/plugins/bearer/nativewifi/qnativewifiengine.cpp
index 9b6ffa0790..1a5540255c 100644
--- a/src/plugins/bearer/nativewifi/qnativewifiengine.cpp
+++ b/src/plugins/bearer/nativewifi/qnativewifiengine.cpp
@@ -46,6 +46,7 @@
#include <QtNetwork/private/qnetworkconfiguration_p.h>
#include <QtCore/qstringlist.h>
+#include <QtCore/qcoreapplication.h>
#include <QtCore/qdebug.h>
@@ -79,38 +80,26 @@ void qNotificationCallback(WLAN_NOTIFICATION_DATA *data, QNativeWifiEngine *d)
}
QNativeWifiEngine::QNativeWifiEngine(QObject *parent)
-: QBearerEngineImpl(parent), handle(0)
+: QBearerEngineImpl(parent), handle(INVALID_HANDLE_VALUE)
{
- DWORD clientVersion;
-
- DWORD result = local_WlanOpenHandle(1, 0, &clientVersion, &handle);
- if (result != ERROR_SUCCESS) {
-#ifdef BEARER_MANAGEMENT_DEBUG
- if (result != ERROR_SERVICE_NOT_ACTIVE)
- qDebug("%s: WlanOpenHandle failed with error %ld\n", __FUNCTION__, result);
-#endif
-
- return;
- }
-
- result = local_WlanRegisterNotification(handle, WLAN_NOTIFICATION_SOURCE_ALL, true,
- WLAN_NOTIFICATION_CALLBACK(qNotificationCallback),
- this, 0, 0);
-#ifdef BEARER_MANAGEMENT_DEBUG
- if (result != ERROR_SUCCESS)
- qDebug("%s: WlanRegisterNotification failed with error %ld\n", __FUNCTION__, result);
-#endif
+ connect(QCoreApplication::instance(), SIGNAL(aboutToQuit()), this, SLOT(closeHandle()));
}
QNativeWifiEngine::~QNativeWifiEngine()
{
- local_WlanCloseHandle(handle, 0);
+ closeHandle();
}
void QNativeWifiEngine::scanComplete()
{
QMutexLocker locker(&mutex);
+ if (!available()) {
+ locker.unlock();
+ emit updateCompleted();
+ return;
+ }
+
// enumerate interfaces
WLAN_INTERFACE_INFO_LIST *interfaceList;
DWORD result = local_WlanEnumInterfaces(handle, 0, &interfaceList);
@@ -249,6 +238,9 @@ QString QNativeWifiEngine::getInterfaceFromId(const QString &id)
{
QMutexLocker locker(&mutex);
+ if (!available())
+ return QString();
+
// enumerate interfaces
WLAN_INTERFACE_INFO_LIST *interfaceList;
DWORD result = local_WlanEnumInterfaces(handle, 0, &interfaceList);
@@ -304,6 +296,9 @@ bool QNativeWifiEngine::hasIdentifier(const QString &id)
{
QMutexLocker locker(&mutex);
+ if (!available())
+ return false;
+
// enumerate interfaces
WLAN_INTERFACE_INFO_LIST *interfaceList;
DWORD result = local_WlanEnumInterfaces(handle, 0, &interfaceList);
@@ -364,6 +359,12 @@ void QNativeWifiEngine::connectToId(const QString &id)
{
QMutexLocker locker(&mutex);
+ if (!available()) {
+ locker.unlock();
+ emit connectionError(id, InterfaceLookupError);
+ return;
+ }
+
WLAN_INTERFACE_INFO_LIST *interfaceList;
DWORD result = local_WlanEnumInterfaces(handle, 0, &interfaceList);
if (result != ERROR_SUCCESS) {
@@ -440,6 +441,12 @@ void QNativeWifiEngine::disconnectFromId(const QString &id)
{
QMutexLocker locker(&mutex);
+ if (!available()) {
+ locker.unlock();
+ emit connectionError(id, InterfaceLookupError);
+ return;
+ }
+
QString interface = getInterfaceFromId(id);
if (interface.isEmpty()) {
@@ -479,6 +486,12 @@ void QNativeWifiEngine::requestUpdate()
{
QMutexLocker locker(&mutex);
+ if (!available()) {
+ locker.unlock();
+ emit updateCompleted();
+ return;
+ }
+
// enumerate interfaces
WLAN_INTERFACE_INFO_LIST *interfaceList;
DWORD result = local_WlanEnumInterfaces(handle, 0, &interfaceList);
@@ -555,6 +568,42 @@ QNetworkConfigurationPrivatePointer QNativeWifiEngine::defaultConfiguration()
return QNetworkConfigurationPrivatePointer();
}
+bool QNativeWifiEngine::available()
+{
+ if (handle != INVALID_HANDLE_VALUE)
+ return true;
+
+ DWORD clientVersion;
+
+ DWORD result = local_WlanOpenHandle(1, 0, &clientVersion, &handle);
+ if (result != ERROR_SUCCESS) {
+#ifdef BEARER_MANAGEMENT_DEBUG
+ if (result != ERROR_SERVICE_NOT_ACTIVE)
+ qDebug("%s: WlanOpenHandle failed with error %ld\n", __FUNCTION__, result);
+#endif
+
+ return false;
+ }
+
+ result = local_WlanRegisterNotification(handle, WLAN_NOTIFICATION_SOURCE_ALL, true,
+ WLAN_NOTIFICATION_CALLBACK(qNotificationCallback),
+ this, 0, 0);
+#ifdef BEARER_MANAGEMENT_DEBUG
+ if (result != ERROR_SUCCESS)
+ qDebug("%s: WlanRegisterNotification failed with error %ld\n", __FUNCTION__, result);
+#endif
+
+ return handle != INVALID_HANDLE_VALUE;
+}
+
+void QNativeWifiEngine::closeHandle()
+{
+ if (handle != INVALID_HANDLE_VALUE) {
+ local_WlanCloseHandle(handle, 0);
+ handle = INVALID_HANDLE_VALUE;
+ }
+}
+
bool QNativeWifiEngine::requiresPolling() const
{
// On Windows XP SP2 and SP3 only connection and disconnection notifications are available.
diff --git a/src/plugins/bearer/nativewifi/qnativewifiengine.h b/src/plugins/bearer/nativewifi/qnativewifiengine.h
index 3b2198512f..0e9576ba5c 100644
--- a/src/plugins/bearer/nativewifi/qnativewifiengine.h
+++ b/src/plugins/bearer/nativewifi/qnativewifiengine.h
@@ -91,12 +91,13 @@ public:
QNetworkConfigurationPrivatePointer defaultConfiguration();
- inline bool available() const { return handle != 0; }
+ bool available();
bool requiresPolling() const;
-public Q_SLOTS:
+private Q_SLOTS:
void scanComplete();
+ void closeHandle();
private:
Qt::HANDLE handle;
diff --git a/src/plugins/bearer/symbian/3_1/3_1.pro b/src/plugins/bearer/symbian/3_1/3_1.pro
new file mode 100644
index 0000000000..2d721a8a8f
--- /dev/null
+++ b/src/plugins/bearer/symbian/3_1/3_1.pro
@@ -0,0 +1,5 @@
+include(../symbian.pri)
+
+LIBS += -lapengine
+TARGET = $${TARGET}_3_1
+TARGET.UID3 = 0x2002131C
diff --git a/src/plugins/bearer/symbian/3_2/3_2.pro b/src/plugins/bearer/symbian/3_2/3_2.pro
new file mode 100644
index 0000000000..3404dde6a4
--- /dev/null
+++ b/src/plugins/bearer/symbian/3_2/3_2.pro
@@ -0,0 +1,13 @@
+include(../symbian.pri)
+
+exists($${EPOCROOT}epoc32/release/winscw/udeb/cmmanager.lib)| \
+exists($${EPOCROOT}epoc32/release/armv5/lib/cmmanager.lib) {
+ DEFINES += SNAP_FUNCTIONALITY_AVAILABLE
+ LIBS += -lcmmanager
+} else {
+ # Fall back to 3_1 implementation on platforms that do not have cmmanager
+ LIBS += -lapengine
+}
+
+TARGET = $${TARGET}_3_2
+TARGET.UID3 = 0x2002131D
diff --git a/src/plugins/bearer/symbian/qnetworksession_impl.cpp b/src/plugins/bearer/symbian/qnetworksession_impl.cpp
index 1b9c8cc4fc..e08d135c61 100644
--- a/src/plugins/bearer/symbian/qnetworksession_impl.cpp
+++ b/src/plugins/bearer/symbian/qnetworksession_impl.cpp
@@ -53,15 +53,17 @@
QT_BEGIN_NAMESPACE
QNetworkSessionPrivateImpl::QNetworkSessionPrivateImpl(SymbianEngine *engine)
- : CActive(CActive::EPriorityStandard), engine(engine), ipConnectionNotifier(0),
- iError(QNetworkSession::UnknownSessionError),
- iALREnabled(0), iConnectInBackground(false)
+ : CActive(CActive::EPriorityUserInput), engine(engine),
+ ipConnectionNotifier(0), iHandleStateNotificationsFromManager(false),
+ iFirstSync(true), iStoppedByUser(false), iClosedByUser(false), iDeprecatedConnectionId(0),
+ iError(QNetworkSession::UnknownSessionError), iALREnabled(0), iConnectInBackground(false)
{
CActiveScheduler::Add(this);
#ifdef SNAP_FUNCTIONALITY_AVAILABLE
iMobility = NULL;
#endif
+
TRAP_IGNORE(iConnectionMonitor.ConnectL());
}
@@ -90,18 +92,63 @@ QNetworkSessionPrivateImpl::~QNetworkSessionPrivateImpl()
// Close global 'Open C' RConnection
setdefaultif(0);
-
- iConnectionMonitor.CancelNotifications();
+
iConnectionMonitor.Close();
}
+void QNetworkSessionPrivateImpl::configurationStateChanged(TUint32 accessPointId, TUint32 connMonId, QNetworkSession::State newState)
+{
+ if (iHandleStateNotificationsFromManager) {
+#ifdef QT_BEARERMGMT_SYMBIAN_DEBUG
+ qDebug() << "QNS this : " << QString::number((uint)this) << " - "
+ << "configurationStateChanged from manager for IAP : " << QString::number(accessPointId)
+ << "configurationStateChanged connMon ID : " << QString::number(connMonId)
+ << " : to a state: " << newState
+ << " whereas my current state is: " << state;
+#endif
+ if (connMonId == iDeprecatedConnectionId) {
+#ifdef QT_BEARERMGMT_SYMBIAN_DEBUG
+ qDebug() << "QNS this : " << QString::number((uint)this) << " - "
+ << "however status update from manager ignored because it related to already closed connection.";
+#endif
+ return;
+ }
+ this->newState(newState, accessPointId);
+ }
+}
+
+void QNetworkSessionPrivateImpl::configurationRemoved(QNetworkConfigurationPrivatePointer config)
+{
+ if (!publicConfig.isValid())
+ return;
+
+ TUint32 publicNumericId =
+ toSymbianConfig(privateConfiguration(publicConfig))->numericIdentifier();
+
+ if (toSymbianConfig(config)->numericIdentifier() == publicNumericId) {
+#ifdef QT_BEARERMGMT_SYMBIAN_DEBUG
+ qDebug() << "QNS this : " << QString::number((uint)this) << " - "
+ << "configurationRemoved IAP: " << QString::number(publicNumericId) << " : going to State: Invalid";
+#endif
+ this->newState(QNetworkSession::Invalid, publicNumericId);
+ }
+}
+
void QNetworkSessionPrivateImpl::syncStateWithInterface()
{
if (!publicConfig.isValid())
return;
- // Start monitoring changes in IAP states
- TRAP_IGNORE(iConnectionMonitor.NotifyEventL(*this));
+ if (iFirstSync && publicConfig.isValid()) {
+ QObject::connect(engine, SIGNAL(configurationStateChanged(TUint32, TUint32, QNetworkSession::State)),
+ this, SLOT(configurationStateChanged(TUint32, TUint32, QNetworkSession::State)));
+ // Listen to configuration removals, so that in case the configuration
+ // this session is based on is removed, session knows to enter Invalid -state.
+ QObject::connect(engine, SIGNAL(configurationRemoved(QNetworkConfigurationPrivatePointer)),
+ this, SLOT(configurationRemoved(QNetworkConfigurationPrivatePointer)));
+ }
+ // Start listening IAP state changes from QNetworkConfigurationManagerPrivate
+ iHandleStateNotificationsFromManager = true;
// Check open connections to see if there is already
// an open connection to selected IAP or SNAP
@@ -137,11 +184,8 @@ void QNetworkSessionPrivateImpl::syncStateWithInterface()
}
if (state != QNetworkSession::Connected) {
- // There were no open connections to used IAP or SNAP
- if (iError == QNetworkSession::InvalidConfigurationError) {
- newState(QNetworkSession::Invalid);
- } else if ((publicConfig.state() & QNetworkConfiguration::Discovered) ==
- QNetworkConfiguration::Discovered) {
+ if ((publicConfig.state() & QNetworkConfiguration::Discovered) ==
+ QNetworkConfiguration::Discovered) {
newState(QNetworkSession::Disconnected);
} else {
newState(QNetworkSession::NotAvailable);
@@ -245,13 +289,18 @@ QNetworkSession::SessionError QNetworkSessionPrivateImpl::error() const
void QNetworkSessionPrivateImpl::open()
{
+#ifdef QT_BEARERMGMT_SYMBIAN_DEBUG
+ qDebug() << "QNS this : " << QString::number((uint)this) << " - "
+ << "open() called, session state is: " << state << " and isOpen is: "
+ << isOpen;
+#endif
if (isOpen || (state == QNetworkSession::Connecting)) {
return;
}
-
- // Cancel notifications from RConnectionMonitor
+
+ // Stop handling IAP state change signals from QNetworkConfigurationManagerPrivate
// => RConnection::ProgressNotification will be used for IAP/SNAP monitoring
- iConnectionMonitor.CancelNotifications();
+ iHandleStateNotificationsFromManager = false;
// Configuration may have been invalidated after session creation by platform
// (e.g. configuration has been deleted).
@@ -259,19 +308,25 @@ void QNetworkSessionPrivateImpl::open()
newState(QNetworkSession::Invalid);
iError = QNetworkSession::InvalidConfigurationError;
emit QNetworkSessionPrivate::error(iError);
- syncStateWithInterface();
return;
}
- // If opening a (un)defined configuration, session emits error and enters
- // NotAvailable -state.
- if (publicConfig.state() == QNetworkConfiguration::Undefined ||
- publicConfig.state() == QNetworkConfiguration::Defined) {
+ // If opening a undefined configuration, session emits error and enters
+ // NotAvailable -state. Note that we will try ones in 'defined' state to avoid excessive
+ // need for WLAN scans (via updateConfigurations()), because user may have walked
+ // into a WLAN range, but periodic background scan has not occurred yet -->
+ // we don't want to force application to make frequent updateConfigurations() calls
+ // to be able to try if e.g. home WLAN is available.
+ if (publicConfig.state() == QNetworkConfiguration::Undefined) {
newState(QNetworkSession::NotAvailable);
iError = QNetworkSession::InvalidConfigurationError;
emit QNetworkSessionPrivate::error(iError);
return;
}
-
+ // Clear possible previous states
+ iStoppedByUser = false;
+ iClosedByUser = false;
+ iDeprecatedConnectionId = 0;
+
TInt error = iSocketServ.Connect();
if (error != KErrNone) {
// Could not open RSocketServ
@@ -316,13 +371,11 @@ void QNetworkSessionPrivateImpl::open()
SymbianNetworkConfigurationPrivate *symbianConfig =
toSymbianConfig(privateConfiguration(publicConfig));
- QMutexLocker configLocker(&symbianConfig->mutex);
-
- if (connInfo().iIapId == symbianConfig->numericId) {
+ if (connInfo().iIapId == symbianConfig->numericIdentifier()) {
if (iConnection.Attach(connInfo, RConnection::EAttachTypeNormal) == KErrNone) {
activeConfig = publicConfig;
#ifndef QT_NO_NETWORKINTERFACE
- activeInterface = interface(symbianConfig->numericId);
+ activeInterface = interface(symbianConfig->numericIdentifier());
#endif
connected = ETrue;
startTime = QDateTime::currentDateTime();
@@ -352,9 +405,7 @@ void QNetworkSessionPrivateImpl::open()
TConnPrefList pref;
TExtendedConnPref prefs;
- symbianConfig->mutex.lock();
- prefs.SetIapId(symbianConfig->numericId);
- symbianConfig->mutex.unlock();
+ prefs.SetIapId(symbianConfig->numericIdentifier());
if (iConnectInBackground) {
prefs.SetNoteBehaviour( TExtendedConnPref::ENoteBehaviourConnSilent );
}
@@ -363,9 +414,7 @@ void QNetworkSessionPrivateImpl::open()
TCommDbConnPref pref;
pref.SetDialogPreference(ECommDbDialogPrefDoNotPrompt);
- symbianConfig->mutex.lock();
- pref.SetIapId(symbianConfig->numericId);
- symbianConfig->mutex.unlock();
+ pref.SetIapId(symbianConfig->numericIdentifier());
#endif
iConnection.Start(pref, iStatus);
if (!IsActive()) {
@@ -380,17 +429,13 @@ void QNetworkSessionPrivateImpl::open()
#ifdef OCC_FUNCTIONALITY_AVAILABLE
TConnPrefList snapPref;
TExtendedConnPref prefs;
- symbianConfig->mutex.lock();
- prefs.SetSnapId(symbianConfig->numericId);
- symbianConfig->mutex.unlock();
+ prefs.SetSnapId(symbianConfig->numericIdentifier());
if (iConnectInBackground) {
prefs.SetNoteBehaviour( TExtendedConnPref::ENoteBehaviourConnSilent );
}
snapPref.AppendL(&prefs);
#else
- symbianConfig->mutex.lock();
- TConnSnapPref snapPref(symbianConfig->numericId);
- symbianConfig->mutex.unlock();
+ TConnSnapPref snapPref(symbianConfig->numericIdentifier());
#endif
iConnection.Start(snapPref, iStatus);
if (!IsActive()) {
@@ -446,16 +491,18 @@ TUint QNetworkSessionPrivateImpl::iapClientCount(TUint aIAPId) const
void QNetworkSessionPrivateImpl::close(bool allowSignals)
{
+#ifdef QT_BEARERMGMT_SYMBIAN_DEBUG
+ qDebug() << "QNS this : " << QString::number((uint)this) << " - "
+ << "close() called, session state is: " << state << " and isOpen is : "
+ << isOpen;
+#endif
if (!isOpen) {
return;
}
-
- SymbianNetworkConfigurationPrivate *symbianConfig =
- toSymbianConfig(privateConfiguration(activeConfig));
-
- symbianConfig->mutex.lock();
- TUint activeIap = symbianConfig->numericId;
- symbianConfig->mutex.unlock();
+ // Mark this session as closed-by-user so that we are able to report
+ // distinguish between stop() and close() state transitions
+ // when reporting.
+ iClosedByUser = true;
isOpen = false;
activeConfig = QNetworkConfiguration();
@@ -469,8 +516,10 @@ void QNetworkSessionPrivateImpl::close(bool allowSignals)
}
#endif
- if (ipConnectionNotifier) {
+ if (ipConnectionNotifier && !iHandleStateNotificationsFromManager) {
ipConnectionNotifier->StopNotifications();
+ // Start handling IAP state change signals from QNetworkConfigurationManagerPrivate
+ iHandleStateNotificationsFromManager = true;
}
iConnection.Close();
@@ -479,29 +528,31 @@ void QNetworkSessionPrivateImpl::close(bool allowSignals)
// Close global 'Open C' RConnection
setdefaultif(0);
-#ifdef Q_CC_NOKIAX86
- if ((allowSignals && iapClientCount(activeIap) <= 0) ||
-#else
- if ((allowSignals && iapClientCount(activeIap) <= 1) ||
-#endif
- (publicConfig.type() == QNetworkConfiguration::UserChoice)) {
+ if (publicConfig.type() == QNetworkConfiguration::UserChoice) {
newState(QNetworkSession::Closing);
+ newState(QNetworkSession::Disconnected);
}
- syncStateWithInterface();
if (allowSignals) {
- if (publicConfig.type() == QNetworkConfiguration::UserChoice) {
- newState(QNetworkSession::Disconnected);
- }
emit closed();
}
}
void QNetworkSessionPrivateImpl::stop()
{
+#ifdef QT_BEARERMGMT_SYMBIAN_DEBUG
+ qDebug() << "QNS this : " << QString::number((uint)this) << " - "
+ << "stop() called, session state is: " << state << " and isOpen is : "
+ << isOpen;
+#endif
if (!isOpen &&
publicConfig.isValid() &&
publicConfig.type() == QNetworkConfiguration::InternetAccessPoint) {
+#ifdef QT_BEARERMGMT_SYMBIAN_DEBUG
+ qDebug() << "QNS this : " << QString::number((uint)this) << " - "
+ << "since session is not open, using RConnectionMonitor to stop() the interface";
+#endif
+ iStoppedByUser = true;
// If the publicConfig is type of IAP, enumerate through connections at
// connection monitor. If publicConfig is active in that list, stop it.
// Otherwise there is nothing to stop. Note: because this QNetworkSession is not open,
@@ -515,28 +566,40 @@ void QNetworkSessionPrivateImpl::stop()
}
TUint numSubConnections; // Not used but needed by GetConnectionInfo i/f
TUint connectionId;
- for (TInt i = 1; i <= count; ++i) {
+ for (TUint i = 1; i <= count; ++i) {
// Get (connection monitor's assigned) connection ID
TInt ret = iConnectionMonitor.GetConnectionInfo(i, connectionId, numSubConnections);
if (ret == KErrNone) {
SymbianNetworkConfigurationPrivate *symbianConfig =
toSymbianConfig(privateConfiguration(publicConfig));
- QMutexLocker configLocker(&symbianConfig->mutex);
-
// See if connection Id matches with our Id. If so, stop() it.
- if (symbianConfig->connectionId == connectionId) {
+ if (symbianConfig->connectionIdentifier() == connectionId) {
ret = iConnectionMonitor.SetBoolAttribute(connectionId,
0, // subConnectionId don't care
KConnectionStop,
ETrue);
}
}
+ // Enter disconnected state right away since the session is not even open.
+ // Symbian^3 connection monitor does not emit KLinkLayerClosed when
+ // connection is stopped via connection monitor.
+ newState(QNetworkSession::Disconnected);
}
} else if (isOpen) {
+#ifdef QT_BEARERMGMT_SYMBIAN_DEBUG
+ qDebug() << "QNS this : " << QString::number((uint)this) << " - "
+ << "since session is open, using RConnection to stop() the interface";
+#endif
// Since we are open, use RConnection to stop the interface
isOpen = false;
+ iStoppedByUser = true;
newState(QNetworkSession::Closing);
+ if (ipConnectionNotifier) {
+ ipConnectionNotifier->StopNotifications();
+ // Start handling IAP state change signals from QNetworkConfigurationManagerPrivate
+ iHandleStateNotificationsFromManager = true;
+ }
iConnection.Stop(RConnection::EStopAuthoritative);
isOpen = true;
close(false);
@@ -631,12 +694,8 @@ void QNetworkSessionPrivateImpl::PreferredCarrierAvailable(TAccessPointInfo aOld
SymbianNetworkConfigurationPrivate *symbianConfig =
toSymbianConfig(privateConfiguration(configs[i]));
- QMutexLocker configLocker(&symbianConfig->mutex);
-
- if (symbianConfig->numericId == aNewAPInfo.AccessPoint()) {
- configLocker.unlock();
+ if (symbianConfig->numericIdentifier() == aNewAPInfo.AccessPoint())
emit preferredConfigurationChanged(configs[i], aIsSeamless);
- }
}
} else {
migrate();
@@ -654,6 +713,10 @@ void QNetworkSessionPrivateImpl::NewCarrierActive(TAccessPointInfo /*aNewAPInfo*
void QNetworkSessionPrivateImpl::Error(TInt /*aError*/)
{
+#ifdef QT_BEARERMGMT_SYMBIAN_DEBUG
+ qDebug() << "QNS this : " << QString::number((uint)this) << " - "
+ << "roaming Error() occured";
+#endif
if (isOpen) {
isOpen = false;
activeConfig = QNetworkConfiguration();
@@ -671,6 +734,11 @@ void QNetworkSessionPrivateImpl::Error(TInt /*aError*/)
// changes immediately to Disconnected.
newState(QNetworkSession::Disconnected);
emit closed();
+ } else if (iStoppedByUser) {
+ // If the user of this session has called the stop() and
+ // configuration is based on internet SNAP, this needs to be
+ // done here because platform might roam.
+ newState(QNetworkSession::Disconnected);
}
}
#endif
@@ -761,9 +829,7 @@ quint64 QNetworkSessionPrivateImpl::transferredData(TUint dataType) const
SymbianNetworkConfigurationPrivate *symbianConfig =
toSymbianConfig(privateConfiguration(configs[i]));
- QMutexLocker configLocker(&symbianConfig->mutex);
-
- if (symbianConfig->numericId == apId) {
+ if (symbianConfig->numericIdentifier() == apId) {
configFound = true;
break;
}
@@ -772,10 +838,8 @@ quint64 QNetworkSessionPrivateImpl::transferredData(TUint dataType) const
SymbianNetworkConfigurationPrivate *symbianConfig =
toSymbianConfig(privateConfiguration(config));
- symbianConfig->mutex.lock();
- if (symbianConfig->numericId == apId)
+ if (symbianConfig->numericIdentifier() == apId)
configFound = true;
- symbianConfig->mutex.unlock();
}
if (configFound) {
TUint tData;
@@ -815,8 +879,7 @@ QNetworkConfiguration QNetworkSessionPrivateImpl::activeConfiguration(TUint32 ia
SymbianNetworkConfigurationPrivate *childConfig =
toSymbianConfig(privateConfiguration(children[i]));
- QMutexLocker childLocker(&childConfig->mutex);
- if (childConfig->numericId == iapId)
+ if (childConfig->numericIdentifier() == iapId)
return children[i];
}
@@ -835,15 +898,11 @@ QNetworkConfiguration QNetworkSessionPrivateImpl::activeConfiguration(TUint32 ia
SymbianNetworkConfigurationPrivate *symbianConfig =
toSymbianConfig(privateConfiguration(pt));
if (symbianConfig) {
- QMutexLocker configLocker(&symbianConfig->mutex);
-
for (int i=0; i < children.count(); i++) {
SymbianNetworkConfigurationPrivate *childConfig =
toSymbianConfig(privateConfiguration(children[i]));
- QMutexLocker childLocker(&childConfig->mutex);
-
- if (childConfig->mappingName == symbianConfig->mappingName) {
+ if (childConfig->configMappingName() == symbianConfig->configMappingName()) {
return children[i];
}
}
@@ -941,15 +1000,13 @@ void QNetworkSessionPrivateImpl::RunL()
SymbianNetworkConfigurationPrivate *symbianConfig =
toSymbianConfig(privateConfiguration(activeConfig));
- symbianConfig->mutex.lock();
#ifndef QT_NO_NETWORKINTERFACE
- activeInterface = interface(symbianConfig->numericId);
+ activeInterface = interface(symbianConfig->numericIdentifier());
#endif
if (publicConfig.type() == QNetworkConfiguration::UserChoice) {
serviceConfig = QNetworkConfigurationManager()
- .configurationFromIdentifier(symbianConfig->serviceNetworkPtr->id);
+ .configurationFromIdentifier(activeConfig.identifier());
}
- symbianConfig->mutex.unlock();
startTime = QDateTime::currentDateTime();
@@ -975,7 +1032,12 @@ void QNetworkSessionPrivateImpl::RunL()
isOpen = false;
activeConfig = QNetworkConfiguration();
serviceConfig = QNetworkConfiguration();
- iError = QNetworkSession::UnknownSessionError;
+ if (publicConfig.state() == QNetworkConfiguration::Undefined ||
+ publicConfig.state() == QNetworkConfiguration::Defined) {
+ iError = QNetworkSession::InvalidConfigurationError;
+ } else {
+ iError = QNetworkSession::UnknownSessionError;
+ }
emit QNetworkSessionPrivate::error(iError);
Cancel();
if (ipConnectionNotifier) {
@@ -991,21 +1053,27 @@ void QNetworkSessionPrivateImpl::DoCancel()
iConnection.Close();
}
+// Enters newState if feasible according to current state.
+// AccessPointId may be given as parameter. If it is zero, state-change is assumed to
+// concern this session's configuration. If non-zero, the configuration is looked up
+// and checked if it matches the configuration this session is based on.
bool QNetworkSessionPrivateImpl::newState(QNetworkSession::State newState, TUint accessPointId)
{
+#ifdef QT_BEARERMGMT_SYMBIAN_DEBUG
+ qDebug() << "QNS this : " << QString::number((uint)this) << " - "
+ << "NEW STATE, IAP ID : " << QString::number(accessPointId) << " , newState : " << QString::number(newState);
+#endif
// Make sure that activeConfig is always updated when SNAP is signaled to be
// connected.
if (isOpen && publicConfig.type() == QNetworkConfiguration::ServiceNetwork &&
newState == QNetworkSession::Connected) {
activeConfig = activeConfiguration(accessPointId);
+#ifndef QT_NO_NETWORKINTERFACE
SymbianNetworkConfigurationPrivate *symbianConfig =
toSymbianConfig(privateConfiguration(activeConfig));
-#ifndef QT_NO_NETWORKINTERFACE
- symbianConfig->mutex.lock();
- activeInterface = interface(symbianConfig->numericId);
- symbianConfig->mutex.unlock();
+ activeInterface = interface(symbianConfig->numericIdentifier());
#endif
#ifdef SNAP_FUNCTIONALITY_AVAILABLE
@@ -1027,9 +1095,29 @@ bool QNetworkSessionPrivateImpl::newState(QNetworkSession::State newState, TUint
if (state == QNetworkSession::Roaming && newState == QNetworkSession::Connecting) {
return false;
}
+
+ // Make sure that Connected state is not reported when Connection is
+ // already Closing.
+ // Note: Stopping connection results sometimes KLinkLayerOpen
+ // to be reported first (just before KLinkLayerClosed).
+ if (state == QNetworkSession::Closing && newState == QNetworkSession::Connected) {
+ return false;
+ }
+
+ // Make sure that some lagging 'closing' state-changes do not overwrite
+ // if we are already disconnected or closed.
+ if (state == QNetworkSession::Disconnected && newState == QNetworkSession::Closing) {
+ return false;
+ }
bool emitSessionClosed = false;
- if (isOpen && state == QNetworkSession::Connected && newState == QNetworkSession::Disconnected) {
+
+ // If we abruptly go down and user hasn't closed the session, we've been aborted.
+ // Note that session may be in 'closing' state and not in 'connected' state, because
+ // depending on platform the platform may report KConfigDaemonStartingDeregistration
+ // event before KLinkLayerClosed
+ if ((isOpen && state == QNetworkSession::Connected && newState == QNetworkSession::Disconnected) ||
+ (isOpen && !iClosedByUser && newState == QNetworkSession::Disconnected)) {
// Active & Connected state should change directly to Disconnected state
// only when something forces connection to close (eg. when another
// application or session stops connection or when network drops
@@ -1043,14 +1131,17 @@ bool QNetworkSessionPrivateImpl::newState(QNetworkSession::State newState, TUint
if (ipConnectionNotifier) {
ipConnectionNotifier->StopNotifications();
}
- // Start monitoring changes in IAP states
- TRAP_IGNORE(iConnectionMonitor.NotifyEventL(*this));
+ // Start handling IAP state change signals from QNetworkConfigurationManagerPrivate
+ iHandleStateNotificationsFromManager = true;
emitSessionClosed = true; // Emit SessionClosed after state change has been reported
}
bool retVal = false;
if (accessPointId == 0) {
state = newState;
+#ifdef QT_BEARERMGMT_SYMBIAN_DEBUG
+ qDebug() << "QNS this : " << QString::number((uint)this) << " - " << "===> EMIT State changed A to: " << state;
+#endif
emit stateChanged(state);
retVal = true;
} else {
@@ -1058,11 +1149,11 @@ bool QNetworkSessionPrivateImpl::newState(QNetworkSession::State newState, TUint
SymbianNetworkConfigurationPrivate *symbianConfig =
toSymbianConfig(privateConfiguration(publicConfig));
- QMutexLocker configLocker(&symbianConfig->mutex);
- if (symbianConfig->numericId == accessPointId) {
- configLocker.unlock();
-
+ if (symbianConfig->numericIdentifier() == accessPointId) {
state = newState;
+#ifdef QT_BEARERMGMT_SYMBIAN_DEBUG
+ qDebug() << "QNS this : " << QString::number((uint)this) << " - " << "===> EMIT State changed B to: " << state;
+#endif
emit stateChanged(state);
retVal = true;
}
@@ -1070,11 +1161,11 @@ bool QNetworkSessionPrivateImpl::newState(QNetworkSession::State newState, TUint
SymbianNetworkConfigurationPrivate *symbianConfig =
toSymbianConfig(privateConfiguration(activeConfig));
- QMutexLocker configLocker(&symbianConfig->mutex);
- if (symbianConfig->numericId == accessPointId) {
- configLocker.unlock();
-
+ if (symbianConfig->numericIdentifier() == accessPointId) {
state = newState;
+#ifdef QT_BEARERMGMT_SYMBIAN_DEBUG
+ qDebug() << "QNS this : " << QString::number((uint)this) << " - " << "===> EMIT State changed C to: " << state;
+#endif
emit stateChanged(state);
retVal = true;
}
@@ -1084,33 +1175,35 @@ bool QNetworkSessionPrivateImpl::newState(QNetworkSession::State newState, TUint
SymbianNetworkConfigurationPrivate *symbianConfig =
toSymbianConfig(privateConfiguration(subConfigurations[i]));
- QMutexLocker configLocker(&symbianConfig->mutex);
-
- if (symbianConfig->numericId == accessPointId) {
- if (newState == QNetworkSession::Connected) {
- // Make sure that when AccessPoint is reported to be Connected
- // also state of the related configuration changes to Active.
- symbianConfig->state = QNetworkConfiguration::Active;
- configLocker.unlock();
-
+ if (symbianConfig->numericIdentifier() == accessPointId) {
+ if (newState != QNetworkSession::Disconnected) {
state = newState;
+#ifdef QT_BEARERMGMT_SYMBIAN_DEBUG
+ qDebug() << "QNS this : " << QString::number((uint)this) << " - " << "===> EMIT State changed D to: " << state;
+#endif
emit stateChanged(state);
retVal = true;
} else {
- if (newState == QNetworkSession::Disconnected) {
- // Make sure that when AccessPoint is reported to be disconnected
- // also state of the related configuration changes from Active to Defined.
- symbianConfig->state = QNetworkConfiguration::Defined;
- }
QNetworkConfiguration config = bestConfigFromSNAP(publicConfig);
if ((config.state() == QNetworkConfiguration::Defined) ||
(config.state() == QNetworkConfiguration::Discovered)) {
- configLocker.unlock();
-
state = newState;
+#ifdef QT_BEARERMGMT_SYMBIAN_DEBUG
+ qDebug() << "QNS this : " << QString::number((uint)this) << " - " << "===> EMIT State changed E to: " << state;
+#endif
+ emit stateChanged(state);
+ retVal = true;
+ } else if (config.state() == QNetworkConfiguration::Active) {
+ // Connection to used IAP was closed, but there is another
+ // IAP that's active in used SNAP
+ // => Change state back to Connected
+ state = QNetworkSession::Connected;
emit stateChanged(state);
retVal = true;
+#ifdef QT_BEARERMGMT_SYMBIAN_DEBUG
+ qDebug() << "QNS this : " << QString::number((uint)this) << " - " << "===> EMIT State changed F to: " << state;
+#endif
}
}
}
@@ -1121,6 +1214,17 @@ bool QNetworkSessionPrivateImpl::newState(QNetworkSession::State newState, TUint
if (emitSessionClosed) {
emit closed();
}
+ if (state == QNetworkSession::Disconnected) {
+ // The connection has gone down, and processing of status updates must be
+ // stopped. Depending on platform, there may come 'connecting/connected' states
+ // considerably later (almost a second). Connection id is an increasing
+ // number, so this does not affect next _real_ 'conneting/connected' states.
+
+ SymbianNetworkConfigurationPrivate *symbianConfig =
+ toSymbianConfig(privateConfiguration(publicConfig));
+
+ iDeprecatedConnectionId = symbianConfig->connectionIdentifier();
+ }
return retVal;
}
@@ -1129,6 +1233,9 @@ void QNetworkSessionPrivateImpl::handleSymbianConnectionStatusChange(TInt aConne
TInt aError,
TUint accessPointId)
{
+#ifdef QT_BEARERMGMT_SYMBIAN_DEBUG
+ qDebug() << "QNS this : " << QString::number((uint)this) << " - " << QString::number(accessPointId) << " , status : " << QString::number(aConnectionStatus);
+#endif
switch (aConnectionStatus)
{
// Connection unitialised
@@ -1167,6 +1274,7 @@ void QNetworkSessionPrivateImpl::handleSymbianConnectionStatusChange(TInt aConne
case KCsdGotLoginInfo:
break;
+ case KConfigDaemonStartingRegistration:
// Creating connection (e.g. GPRS activation)
case KCsdStartingConnect:
case KCsdFinishedConnect:
@@ -1193,6 +1301,7 @@ void QNetworkSessionPrivateImpl::handleSymbianConnectionStatusChange(TInt aConne
case KDataTransferTemporarilyBlocked:
break;
+ case KConfigDaemonStartingDeregistration:
// Hangup or GRPS deactivation
case KConnectionStartingClose:
newState(QNetworkSession::Closing,accessPointId);
@@ -1200,137 +1309,31 @@ void QNetworkSessionPrivateImpl::handleSymbianConnectionStatusChange(TInt aConne
// Connection closed
case KConnectionClosed:
- break;
-
case KLinkLayerClosed:
newState(QNetworkSession::Disconnected,accessPointId);
- break;
-
- // Unhandled state
- default:
- break;
- }
-}
-
-void QNetworkSessionPrivateImpl::EventL(const CConnMonEventBase& aEvent)
-{
- switch (aEvent.EventType())
- {
- case EConnMonConnectionStatusChange:
- {
- CConnMonConnectionStatusChange* realEvent;
- realEvent = (CConnMonConnectionStatusChange*) &aEvent;
-
- TUint connectionId = realEvent->ConnectionId();
- TInt connectionStatus = realEvent->ConnectionStatus();
-
- // Try to Find IAP Id using connection Id
- TUint apId = 0;
- if (publicConfig.type() == QNetworkConfiguration::ServiceNetwork) {
- QList<QNetworkConfiguration> subConfigurations = publicConfig.children();
- for (int i = 0; i < subConfigurations.count(); i++ ) {
- SymbianNetworkConfigurationPrivate *symbianConfig =
- toSymbianConfig(privateConfiguration(subConfigurations[i]));
-
- QMutexLocker configLocker(&symbianConfig->mutex);
-
- if (symbianConfig->connectionId == connectionId) {
- apId = symbianConfig->numericId;
- break;
- }
- }
- } else if (publicConfig.type() == QNetworkConfiguration::InternetAccessPoint) {
- SymbianNetworkConfigurationPrivate *symbianConfig =
- toSymbianConfig(privateConfiguration(publicConfig));
-
- symbianConfig->mutex.lock();
- if (symbianConfig->connectionId == connectionId)
- apId = symbianConfig->numericId;
- symbianConfig->mutex.unlock();
- }
-
- if (apId > 0) {
- handleSymbianConnectionStatusChange(connectionStatus, KErrNone, apId);
- }
- }
- break;
-
- case EConnMonCreateConnection:
- {
- CConnMonCreateConnection* realEvent;
- realEvent = (CConnMonCreateConnection*) &aEvent;
- TUint apId;
- TUint connectionId = realEvent->ConnectionId();
- TRequestStatus status;
- iConnectionMonitor.GetUintAttribute(connectionId, 0, KIAPId, apId, status);
- User::WaitForRequest(status);
- if (status.Int() == KErrNone) {
- // Store connection id to related AccessPoint Configuration
- if (publicConfig.type() == QNetworkConfiguration::ServiceNetwork) {
- QList<QNetworkConfiguration> subConfigurations = publicConfig.children();
- for (int i = 0; i < subConfigurations.count(); i++ ) {
- SymbianNetworkConfigurationPrivate *symbianConfig =
- toSymbianConfig(privateConfiguration(subConfigurations[i]));
-
- QMutexLocker configLocker(&symbianConfig->mutex);
-
- if (symbianConfig->numericId == apId) {
- symbianConfig->connectionId = connectionId;
- break;
- }
- }
- } else if (publicConfig.type() == QNetworkConfiguration::InternetAccessPoint) {
- SymbianNetworkConfigurationPrivate *symbianConfig =
- toSymbianConfig(privateConfiguration(publicConfig));
-
- symbianConfig->mutex.lock();
- if (symbianConfig->numericId == apId)
- symbianConfig->connectionId = connectionId;
- symbianConfig->mutex.unlock();
- }
- }
- }
- break;
-
- case EConnMonDeleteConnection:
- {
- CConnMonDeleteConnection* realEvent;
- realEvent = (CConnMonDeleteConnection*) &aEvent;
- TUint connectionId = realEvent->ConnectionId();
- // Remove connection id from related AccessPoint Configuration
- if (publicConfig.type() == QNetworkConfiguration::ServiceNetwork) {
- QList<QNetworkConfiguration> subConfigurations = publicConfig.children();
- for (int i = 0; i < subConfigurations.count(); i++ ) {
- SymbianNetworkConfigurationPrivate *symbianConfig =
- toSymbianConfig(privateConfiguration(subConfigurations[i]));
-
- QMutexLocker configLocker(&symbianConfig->mutex);
-
- if (symbianConfig->connectionId == connectionId) {
- symbianConfig->connectionId = 0;
- break;
- }
- }
- } else if (publicConfig.type() == QNetworkConfiguration::InternetAccessPoint) {
+ // Report manager about this to make sure this event
+ // is received by all interseted parties (mediated by
+ // manager because it does always receive all events from
+ // connection monitor).
+#ifdef QT_BEARERMGMT_SYMBIAN_DEBUG
+ qDebug() << "QNS this : " << QString::number((uint)this) << " - " << "reporting disconnection to manager.";
+#endif
+ if (publicConfig.isValid()) {
SymbianNetworkConfigurationPrivate *symbianConfig =
toSymbianConfig(privateConfiguration(publicConfig));
- symbianConfig->mutex.lock();
- if (symbianConfig->connectionId == connectionId)
- symbianConfig->connectionId = 0;
- symbianConfig->mutex.unlock();
- }
+ engine->configurationStateChangeReport(symbianConfig->numericIdentifier(),
+ QNetworkSession::Disconnected);
}
break;
-
+ // Unhandled state
default:
- // For unrecognized events
break;
- }
+ }
}
-ConnectionProgressNotifier::ConnectionProgressNotifier(QNetworkSessionPrivateImpl &owner, RConnection &connection)
- : CActive(CActive::EPriorityStandard), iOwner(owner), iConnection(connection)
+ConnectionProgressNotifier::ConnectionProgressNotifier(QNetworkSessionPrivateImpl& owner, RConnection& connection)
+ : CActive(CActive::EPriorityUserInput), iOwner(owner), iConnection(connection)
{
CActiveScheduler::Add(this);
}
diff --git a/src/plugins/bearer/symbian/qnetworksession_impl.h b/src/plugins/bearer/symbian/qnetworksession_impl.h
index 7116519719..b045ff1d5f 100644
--- a/src/plugins/bearer/symbian/qnetworksession_impl.h
+++ b/src/plugins/bearer/symbian/qnetworksession_impl.h
@@ -73,11 +73,10 @@ QT_BEGIN_NAMESPACE
class ConnectionProgressNotifier;
class SymbianEngine;
-class QNetworkSessionPrivateImpl : public QNetworkSessionPrivate, public CActive,
+class QNetworkSessionPrivateImpl : public QNetworkSessionPrivate, public CActive
#ifdef SNAP_FUNCTIONALITY_AVAILABLE
- public MMobilityProtocolResp,
+ , public MMobilityProtocolResp
#endif
- public MConnectionMonitorObserver
{
Q_OBJECT
public:
@@ -130,8 +129,9 @@ protected: // From CActive
void RunL();
void DoCancel();
-private: // MConnectionMonitorObserver
- void EventL(const CConnMonEventBase& aEvent);
+private Q_SLOTS:
+ void configurationStateChanged(TUint32 accessPointId, TUint32 connMonId, QNetworkSession::State newState);
+ void configurationRemoved(QNetworkConfigurationPrivatePointer config);
private:
TUint iapClientCount(TUint aIAPId) const;
@@ -157,6 +157,13 @@ private: // data
mutable RConnection iConnection;
mutable RConnectionMonitor iConnectionMonitor;
ConnectionProgressNotifier* ipConnectionNotifier;
+
+ bool iHandleStateNotificationsFromManager;
+ bool iFirstSync;
+ bool iStoppedByUser;
+ bool iClosedByUser;
+ TUint32 iDeprecatedConnectionId;
+
#ifdef SNAP_FUNCTIONALITY_AVAILABLE
CActiveCommsMobilityApiExt* iMobility;
#endif
diff --git a/src/plugins/bearer/symbian/symbian.pri b/src/plugins/bearer/symbian/symbian.pri
new file mode 100644
index 0000000000..afe84dc0ab
--- /dev/null
+++ b/src/plugins/bearer/symbian/symbian.pri
@@ -0,0 +1,28 @@
+TARGET = qsymbianbearer
+include(../../qpluginbase.pri)
+
+QT += network
+
+HEADERS += ../symbianengine.h \
+ ../qnetworksession_impl.h
+
+SOURCES += ../symbianengine.cpp \
+ ../qnetworksession_impl.cpp \
+ ../main.cpp
+
+INCLUDEPATH += $$APP_LAYER_SYSTEMINCLUDE
+symbian-abld:INCLUDEPATH += $$QT_BUILD_TREE/include/QtNetwork/private
+
+LIBS += -lcommdb \
+ -lapsettingshandlerui \
+ -lconnmon \
+ -lcentralrepository \
+ -lesock \
+ -linsock \
+ -lecom \
+ -lefsrv \
+ -lnetmeta
+
+QTDIR_build:DESTDIR = $$QT_BUILD_TREE/plugins/bearer
+target.path += $$[QT_INSTALL_PLUGINS]/bearer
+INSTALLS += target
diff --git a/src/plugins/bearer/symbian/symbian.pro b/src/plugins/bearer/symbian/symbian.pro
index f915570d51..f320eb663b 100644
--- a/src/plugins/bearer/symbian/symbian.pro
+++ b/src/plugins/bearer/symbian/symbian.pro
@@ -1,40 +1,3 @@
-TARGET = qsymbianbearer
-include(../../qpluginbase.pri)
+TEMPLATE = subdirs
-QT += network
-
-HEADERS += symbianengine.h \
- qnetworksession_impl.h
-
-SOURCES += symbianengine.cpp \
- qnetworksession_impl.cpp \
- main.cpp
-
-symbian {
- exists($${EPOCROOT}epoc32/release/winscw/udeb/cmmanager.lib)| \
- exists($${EPOCROOT}epoc32/release/armv5/lib/cmmanager.lib) {
- message("Building with SNAP support")
- DEFINES += SNAP_FUNCTIONALITY_AVAILABLE
- LIBS += -lcmmanager
- } else {
- message("Building without SNAP support")
- LIBS += -lapengine
- }
-}
-
-INCLUDEPATH += $$APP_LAYER_SYSTEMINCLUDE
-symbian-abld:INCLUDEPATH += $$QT_BUILD_TREE/include/QtNetwork/private
-
-LIBS += -lcommdb \
- -lapsettingshandlerui \
- -lconnmon \
- -lcentralrepository \
- -lesock \
- -linsock \
- -lecom \
- -lefsrv \
- -lnetmeta
-
-QTDIR_build:DESTDIR = $$QT_BUILD_TREE/plugins/bearer
-target.path += $$[QT_INSTALL_PLUGINS]/bearer
-INSTALLS += target
+SUBDIRS += 3_1 3_2 symbian_3 \ No newline at end of file
diff --git a/src/plugins/bearer/symbian/symbian_3/symbian_3.pro b/src/plugins/bearer/symbian/symbian_3/symbian_3.pro
new file mode 100644
index 0000000000..f9d486e54e
--- /dev/null
+++ b/src/plugins/bearer/symbian/symbian_3/symbian_3.pro
@@ -0,0 +1,16 @@
+include(../symbian.pri)
+
+exists($${EPOCROOT}epoc32/release/winscw/udeb/cmmanager.lib)| \
+exists($${EPOCROOT}epoc32/release/armv5/lib/cmmanager.lib) {
+ DEFINES += SNAP_FUNCTIONALITY_AVAILABLE
+ LIBS += -lcmmanager
+
+ exists($$MW_LAYER_PUBLIC_EXPORT_PATH(extendedconnpref.h)) {
+ DEFINES += OCC_FUNCTIONALITY_AVAILABLE
+ }
+} else {
+ # Fall back to 3_1 implementation on platforms that do not have cmmanager
+ LIBS += -lapengine
+}
+
+TARGET.UID3 = 0x20021319
diff --git a/src/plugins/bearer/symbian/symbianengine.cpp b/src/plugins/bearer/symbian/symbianengine.cpp
index 8e9675e6af..ab1ba284b3 100644
--- a/src/plugins/bearer/symbian/symbianengine.cpp
+++ b/src/plugins/bearer/symbian/symbianengine.cpp
@@ -45,14 +45,14 @@
#include <commdb.h>
#include <cdbcols.h>
#include <d32dbms.h>
+#include <nifvar.h>
#include <QEventLoop>
#include <QTimer>
#include <QTime> // For randgen seeding
#include <QtCore> // For randgen seeding
-// #define QT_BEARERMGMT_CONFIGMGR_DEBUG
-#ifdef QT_BEARERMGMT_CONFIGMGR_DEBUG
+#ifdef QT_BEARERMGMT_SYMBIAN_DEBUG
#include <QDebug>
#endif
@@ -73,7 +73,9 @@
QT_BEGIN_NAMESPACE
-static const int KValueThatWillBeAddedToSNAPId = 1000;
+#ifdef SNAP_FUNCTIONALITY_AVAILABLE
+ static const int KValueThatWillBeAddedToSNAPId = 1000;
+#endif
static const int KUserChoiceIAPId = 0;
SymbianNetworkConfigurationPrivate::SymbianNetworkConfigurationPrivate()
@@ -113,13 +115,18 @@ QString SymbianNetworkConfigurationPrivate::bearerName() const
SymbianEngine::SymbianEngine(QObject *parent)
: QBearerEngine(parent), CActive(CActive::EPriorityIdle), iFirstUpdate(true), iInitOk(true),
- iIgnoringUpdates(false), iTimeToWait(0), iIgnoreEventLoop(0)
+ iIgnoringUpdates(false)
{
+}
+
+void SymbianEngine::initialize()
+{
+ QMutexLocker locker(&mutex);
+
CActiveScheduler::Add(this);
// Seed the randomgenerator
qsrand(QTime(0,0,0).secsTo(QTime::currentTime()) + QCoreApplication::applicationPid());
- iIgnoreEventLoop = new QEventLoop(this);
TRAPD(error, ipCommsDB = CCommsDatabase::NewL(EDatabaseTypeIAP));
if (error != KErrNone) {
@@ -130,18 +137,13 @@ SymbianEngine::SymbianEngine(QObject *parent)
TRAP_IGNORE(iConnectionMonitor.ConnectL());
TRAP_IGNORE(iConnectionMonitor.NotifyEventL(*this));
-#ifdef SNAP_FUNCTIONALITY_AVAILABLE
+#ifdef SNAP_FUNCTIONALITY_AVAILABLE
TRAP(error, iCmManager.OpenL());
if (error != KErrNone) {
iInitOk = false;
return;
}
#endif
-}
-
-void SymbianEngine::initialize()
-{
- QMutexLocker locker(&mutex);
SymbianNetworkConfigurationPrivate *cpPriv = new SymbianNetworkConfigurationPrivate;
cpPriv->name = "UserChoice";
@@ -236,19 +238,14 @@ void SymbianEngine::requestUpdate()
void SymbianEngine::updateConfigurations()
{
- QMutexLocker locker(&mutex);
-
- if (!iInitOk) {
+ if (!iInitOk)
return;
- }
TRAP_IGNORE(updateConfigurationsL());
}
void SymbianEngine::updateConfigurationsL()
{
- QMutexLocker locker(&mutex);
-
QList<QString> knownConfigs = accessPointConfigurations.keys();
QList<QString> knownSnapConfigs = snapConfigurations.keys();
@@ -274,9 +271,9 @@ void SymbianEngine::updateConfigurationsL()
QNetworkConfigurationPrivatePointer ptr(cpPriv);
accessPointConfigurations.insert(ptr->id, ptr);
- locker.unlock();
+ mutex.unlock();
emit configurationAdded(ptr);
- locker.relock();
+ mutex.lock();
}
}
CleanupStack::PopAndDestroy(&connectionMethod);
@@ -315,9 +312,9 @@ void SymbianEngine::updateConfigurationsL()
QNetworkConfigurationPrivatePointer ptr(cpPriv);
snapConfigurations.insert(ident, ptr);
- locker.unlock();
+ mutex.unlock();
emit configurationAdded(ptr);
- locker.relock();
+ mutex.lock();
CleanupStack::Pop(cpPriv);
}
@@ -336,34 +333,35 @@ void SymbianEngine::updateConfigurationsL()
TRAP(error, cpPriv = configFromConnectionMethodL(connectionMethod));
if (error == KErrNone) {
QNetworkConfigurationPrivatePointer ptr(cpPriv);
- toSymbianConfig(ptr)->serviceNetworkPtr = privSNAP;
accessPointConfigurations.insert(ptr->id, ptr);
- locker.unlock();
+ mutex.unlock();
emit configurationAdded(ptr);
- locker.relock();
+ mutex.lock();
+ QMutexLocker configLocker(&privSNAP->mutex);
privSNAP->serviceNetworkMembers.append(ptr);
}
} else {
knownConfigs.removeOne(iface);
// Check that IAP can be found from related SNAP's configuration list
bool iapFound = false;
+ QMutexLocker snapConfigLocker(&privSNAP->mutex);
for (int i = 0; i < privSNAP->serviceNetworkMembers.count(); i++) {
- if (toSymbianConfig(privSNAP->serviceNetworkMembers[i])->numericId == iapId) {
+ if (toSymbianConfig(privSNAP->serviceNetworkMembers[i])->numericIdentifier() ==
+ iapId) {
iapFound = true;
break;
}
}
- if (!iapFound) {
- toSymbianConfig(priv)->serviceNetworkPtr = privSNAP;
+ if (!iapFound)
privSNAP->serviceNetworkMembers.append(priv);
- }
}
CleanupStack::PopAndDestroy(&connectionMethod);
}
+ QMutexLocker snapConfigLocker(&privSNAP->mutex);
if (privSNAP->serviceNetworkMembers.count() > 1) {
// Roaming is supported only if SNAP contains more than one IAP
privSNAP->roamingSupported = true;
@@ -391,9 +389,9 @@ void SymbianEngine::updateConfigurationsL()
QNetworkConfigurationPrivatePointer ptr(cpPriv);
accessPointConfigurations.insert(ident, ptr);
- locker.unlock();
+ mutex.unlock();
emit configurationAdded(ptr);
- locker.relock();
+ mutex.lock();
} else {
delete cpPriv;
}
@@ -408,17 +406,18 @@ void SymbianEngine::updateConfigurationsL()
//remove non existing IAP
QNetworkConfigurationPrivatePointer ptr = accessPointConfigurations.take(oldIface);
- locker.unlock();
+ mutex.unlock();
emit configurationRemoved(ptr);
- locker.relock();
+ mutex.lock();
// Remove non existing IAP from SNAPs
foreach (const QString &iface, snapConfigurations.keys()) {
QNetworkConfigurationPrivatePointer ptr2 = snapConfigurations.value(iface);
// => Check if one of the IAPs of the SNAP is active
+ QMutexLocker snapConfigLocker(&ptr2->mutex);
for (int i = 0; i < ptr2->serviceNetworkMembers.count(); ++i) {
- if (toSymbianConfig(ptr2->serviceNetworkMembers[i])->numericId ==
- toSymbianConfig(ptr)->numericId) {
+ if (toSymbianConfig(ptr2->serviceNetworkMembers[i])->numericIdentifier() ==
+ toSymbianConfig(ptr)->numericIdentifier()) {
ptr2->serviceNetworkMembers.removeAt(i);
break;
}
@@ -430,18 +429,21 @@ void SymbianEngine::updateConfigurationsL()
//remove non existing SNAPs
QNetworkConfigurationPrivatePointer ptr = snapConfigurations.take(oldIface);
- locker.unlock();
+ mutex.unlock();
emit configurationRemoved(ptr);
- locker.relock();
+ mutex.lock();
}
+
+ // find default configuration.
+ stopCommsDatabaseNotifications();
+ TRAP_IGNORE(defaultConfig = defaultConfigurationL());
+ startCommsDatabaseNotifications();
}
#ifdef SNAP_FUNCTIONALITY_AVAILABLE
SymbianNetworkConfigurationPrivate *SymbianEngine::configFromConnectionMethodL(
RCmConnectionMethod& connectionMethod)
{
- QMutexLocker locker(&mutex);
-
SymbianNetworkConfigurationPrivate *cpPriv = new SymbianNetworkConfigurationPrivate;
CleanupStack::PushL(cpPriv);
@@ -524,8 +526,6 @@ SymbianNetworkConfigurationPrivate *SymbianEngine::configFromConnectionMethodL(
bool SymbianEngine::readNetworkConfigurationValuesFromCommsDb(
TUint32 aApId, SymbianNetworkConfigurationPrivate *apNetworkConfiguration)
{
- QMutexLocker locker(&mutex);
-
TRAPD(error, readNetworkConfigurationValuesFromCommsDbL(aApId,apNetworkConfiguration));
if (error != KErrNone) {
return false;
@@ -536,8 +536,6 @@ bool SymbianEngine::readNetworkConfigurationValuesFromCommsDb(
void SymbianEngine::readNetworkConfigurationValuesFromCommsDbL(
TUint32 aApId, SymbianNetworkConfigurationPrivate *apNetworkConfiguration)
{
- QMutexLocker locker(&mutex);
-
CApDataHandler* pDataHandler = CApDataHandler::NewLC(*ipCommsDB);
CApAccessPointItem* pAPItem = CApAccessPointItem::NewLC();
TBuf<KCommsDbSvrMaxColumnNameLength> name;
@@ -600,15 +598,7 @@ QNetworkConfigurationPrivatePointer SymbianEngine::defaultConfiguration()
{
QMutexLocker locker(&mutex);
- QNetworkConfigurationPrivatePointer ptr;
-
- if (iInitOk) {
- stopCommsDatabaseNotifications();
- TRAP_IGNORE(ptr = defaultConfigurationL());
- startCommsDatabaseNotifications();
- }
-
- return ptr;
+ return defaultConfig;
}
QStringList SymbianEngine::accessPointConfigurationIdentifiers()
@@ -620,8 +610,6 @@ QStringList SymbianEngine::accessPointConfigurationIdentifiers()
QNetworkConfigurationPrivatePointer SymbianEngine::defaultConfigurationL()
{
- QMutexLocker locker(&mutex);
-
QNetworkConfigurationPrivatePointer ptr;
#ifdef SNAP_FUNCTIONALITY_AVAILABLE
@@ -637,18 +625,18 @@ QNetworkConfigurationPrivatePointer SymbianEngine::defaultConfigurationL()
}
#endif
- if (!ptr || !ptr->isValid) {
- QString iface = QString::number(qHash(KUserChoiceIAPId));
- ptr = userChoiceConfigurations.value(iface);
+ if (ptr) {
+ QMutexLocker configLocker(&ptr->mutex);
+ if (ptr->isValid)
+ return ptr;
}
-
- return ptr;
+
+ QString iface = QString::number(qHash(KUserChoiceIAPId));
+ return userChoiceConfigurations.value(iface);
}
void SymbianEngine::updateActiveAccessPoints()
{
- QMutexLocker locker(&mutex);
-
bool online = false;
QList<QString> inactiveConfigs = accessPointConfigurations.keys();
@@ -657,26 +645,35 @@ void SymbianEngine::updateActiveAccessPoints()
iConnectionMonitor.GetConnectionCount(connectionCount, status);
User::WaitForRequest(status);
- // Go through all connections and set state of related IAPs to Active
+ // Go through all connections and set state of related IAPs to Active.
+ // Status needs to be checked carefully, because ConnMon lists also e.g.
+ // WLAN connections that are being currently tried --> we don't want to
+ // state these as active.
TUint connectionId;
TUint subConnectionCount;
TUint apId;
+ TInt connectionStatus;
if (status.Int() == KErrNone) {
for (TUint i = 1; i <= connectionCount; i++) {
iConnectionMonitor.GetConnectionInfo(i, connectionId, subConnectionCount);
iConnectionMonitor.GetUintAttribute(connectionId, subConnectionCount, KIAPId, apId, status);
User::WaitForRequest(status);
QString ident = QString::number(qHash(apId));
-
QNetworkConfigurationPrivatePointer ptr = accessPointConfigurations.value(ident);
if (ptr) {
- online = true;
- inactiveConfigs.removeOne(ident);
-
- toSymbianConfig(ptr)->connectionId = connectionId;
-
- // Configuration is Active
- changeConfigurationStateTo(ptr, QNetworkConfiguration::Active);
+ iConnectionMonitor.GetIntAttribute(connectionId, subConnectionCount, KConnectionStatus, connectionStatus, status);
+ User::WaitForRequest(status);
+ if (connectionStatus == KLinkLayerOpen) {
+ online = true;
+ inactiveConfigs.removeOne(ident);
+
+ ptr->mutex.lock();
+ toSymbianConfig(ptr)->connectionId = connectionId;
+ ptr->mutex.unlock();
+
+ // Configuration is Active
+ changeConfigurationStateTo(ptr, QNetworkConfiguration::Active);
+ }
}
}
}
@@ -692,16 +689,14 @@ void SymbianEngine::updateActiveAccessPoints()
if (iOnline != online) {
iOnline = online;
- locker.unlock();
+ mutex.unlock();
emit this->onlineStateChanged(iOnline);
- locker.relock();
+ mutex.lock();
}
}
void SymbianEngine::updateAvailableAccessPoints()
{
- QMutexLocker locker(&mutex);
-
if (!ipAccessPointsAvailabilityScanner) {
ipAccessPointsAvailabilityScanner = new AccessPointsAvailabilityScanner(*this, iConnectionMonitor);
}
@@ -713,8 +708,6 @@ void SymbianEngine::updateAvailableAccessPoints()
void SymbianEngine::accessPointScanningReady(TBool scanSuccessful, TConnMonIapInfo iapInfo)
{
- QMutexLocker locker(&mutex);
-
iUpdateGoingOn = false;
if (scanSuccessful) {
QList<QString> unavailableConfigs = accessPointConfigurations.keys();
@@ -726,6 +719,8 @@ void SymbianEngine::accessPointScanningReady(TBool scanSuccessful, TConnMonIapIn
QNetworkConfigurationPrivatePointer ptr = accessPointConfigurations.value(ident);
if (ptr) {
unavailableConfigs.removeOne(ident);
+
+ QMutexLocker configLocker(&ptr->mutex);
if (ptr->state < QNetworkConfiguration::Active) {
// Configuration is either Discovered or Active
changeConfigurationStateAtMinTo(ptr, QNetworkConfiguration::Discovered);
@@ -733,12 +728,12 @@ void SymbianEngine::accessPointScanningReady(TBool scanSuccessful, TConnMonIapIn
}
}
- // Make sure that state of rest of the IAPs won't be Discovered or Active
+ // Make sure that state of rest of the IAPs won't be Active
foreach (const QString &iface, unavailableConfigs) {
QNetworkConfigurationPrivatePointer ptr = accessPointConfigurations.value(iface);
if (ptr) {
// Configuration is Defined
- changeConfigurationStateAtMaxTo(ptr, QNetworkConfiguration::Defined);
+ changeConfigurationStateAtMaxTo(ptr, QNetworkConfiguration::Discovered);
}
}
}
@@ -747,25 +742,28 @@ void SymbianEngine::accessPointScanningReady(TBool scanSuccessful, TConnMonIapIn
if (!iFirstUpdate) {
startCommsDatabaseNotifications();
- locker.unlock();
+ mutex.unlock();
emit updateCompleted();
- locker.relock();
+ mutex.lock();
}
}
void SymbianEngine::updateStatesToSnaps()
{
- QMutexLocker locker(&mutex);
-
// Go through SNAPs and set correct state to SNAPs
foreach (const QString &iface, snapConfigurations.keys()) {
bool discovered = false;
bool active = false;
QNetworkConfigurationPrivatePointer ptr = snapConfigurations.value(iface);
+
+ QMutexLocker snapConfigLocker(&ptr->mutex);
+
// => Check if one of the IAPs of the SNAP is discovered or active
// => If one of IAPs is active, also SNAP is active
// => If one of IAPs is discovered but none of the IAPs is active, SNAP is discovered
for (int i=0; i<ptr->serviceNetworkMembers.count(); i++) {
+ QMutexLocker configLocker(&ptr->serviceNetworkMembers[i]->mutex);
+
if ((ptr->serviceNetworkMembers[i]->state & QNetworkConfiguration::Active)
== QNetworkConfiguration::Active) {
active = true;
@@ -788,16 +786,14 @@ void SymbianEngine::updateStatesToSnaps()
bool SymbianEngine::changeConfigurationStateTo(QNetworkConfigurationPrivatePointer ptr,
QNetworkConfiguration::StateFlags newState)
{
- QMutexLocker locker(&mutex);
-
ptr->mutex.lock();
if (newState != ptr->state) {
ptr->state = newState;
ptr->mutex.unlock();
- locker.unlock();
+ mutex.unlock();
emit configurationChanged(ptr);
- locker.relock();
+ mutex.lock();
return true;
} else {
@@ -813,16 +809,14 @@ bool SymbianEngine::changeConfigurationStateTo(QNetworkConfigurationPrivatePoint
bool SymbianEngine::changeConfigurationStateAtMinTo(QNetworkConfigurationPrivatePointer ptr,
QNetworkConfiguration::StateFlags newState)
{
- QMutexLocker locker(&mutex);
-
ptr->mutex.lock();
if ((newState | ptr->state) != ptr->state) {
ptr->state = (ptr->state | newState);
ptr->mutex.unlock();
- locker.unlock();
+ mutex.unlock();
emit configurationChanged(ptr);
- locker.relock();
+ mutex.lock();
return true;
} else {
@@ -839,16 +833,14 @@ bool SymbianEngine::changeConfigurationStateAtMinTo(QNetworkConfigurationPrivate
bool SymbianEngine::changeConfigurationStateAtMaxTo(QNetworkConfigurationPrivatePointer ptr,
QNetworkConfiguration::StateFlags newState)
{
- QMutexLocker locker(&mutex);
-
ptr->mutex.lock();
if ((newState & ptr->state) != ptr->state) {
ptr->state = (newState & ptr->state);
ptr->mutex.unlock();
- locker.unlock();
+ mutex.unlock();
emit configurationChanged(ptr);
- locker.relock();
+ mutex.lock();
return true;
} else {
@@ -859,8 +851,6 @@ bool SymbianEngine::changeConfigurationStateAtMaxTo(QNetworkConfigurationPrivate
void SymbianEngine::startCommsDatabaseNotifications()
{
- QMutexLocker locker(&mutex);
-
if (!iWaitingCommsDatabaseNotifications) {
iWaitingCommsDatabaseNotifications = ETrue;
if (!IsActive()) {
@@ -873,19 +863,9 @@ void SymbianEngine::startCommsDatabaseNotifications()
void SymbianEngine::stopCommsDatabaseNotifications()
{
- QMutexLocker locker(&mutex);
-
if (iWaitingCommsDatabaseNotifications) {
iWaitingCommsDatabaseNotifications = EFalse;
- if (!IsActive()) {
- SetActive();
- // Make sure that notifier recorded events will not be returned
- // as soon as the client issues the next RequestNotification() request.
- ipCommsDB->RequestNotification(iStatus);
- ipCommsDB->CancelRequestNotification();
- } else {
- ipCommsDB->CancelRequestNotification();
- }
+ Cancel();
}
}
@@ -894,51 +874,54 @@ void SymbianEngine::RunL()
QMutexLocker locker(&mutex);
if (iIgnoringUpdates) {
-#ifdef QT_BEARERMGMT_CONFIGMGR_DEBUG
- qDebug("CommsDB event handling postponed (postpone-timer running because IAPs/SNAPs were updated very recently).");
+#ifdef QT_BEARERMGMT_SYMBIAN_DEBUG
+ qDebug("QNCM CommsDB event handling postponed (postpone-timer running because IAPs/SNAPs were updated very recently).");
#endif
return;
}
- if (iStatus != KErrCancel) {
- RDbNotifier::TEvent event = STATIC_CAST(RDbNotifier::TEvent, iStatus.Int());
- switch (event) {
- case RDbNotifier::EUnlock: /** All read locks have been removed. */
- case RDbNotifier::ECommit: /** A transaction has been committed. */
- case RDbNotifier::ERollback: /** A transaction has been rolled back */
- case RDbNotifier::ERecover: /** The database has been recovered */
-#ifdef QT_BEARERMGMT_CONFIGMGR_DEBUG
- qDebug("CommsDB event (of type RDbNotifier::TEvent) received: %d", iStatus.Int());
+ RDbNotifier::TEvent event = STATIC_CAST(RDbNotifier::TEvent, iStatus.Int());
+
+ switch (event) {
+ case RDbNotifier::EUnlock: /** All read locks have been removed. */
+ case RDbNotifier::ECommit: /** A transaction has been committed. */
+ case RDbNotifier::ERollback: /** A transaction has been rolled back */
+ case RDbNotifier::ERecover: /** The database has been recovered */
+#ifdef QT_BEARERMGMT_SYMBIAN_DEBUG
+ qDebug("QNCM CommsDB event (of type RDbNotifier::TEvent) received: %d", iStatus.Int());
#endif
- iIgnoringUpdates = true;
- // Other events than ECommit get lower priority. In practice with those events,
- // we delay_before_updating methods, whereas
- // with ECommit we _update_before_delaying the reaction to next event.
- // Few important notes: 1) listening to only ECommit does not seem to be adequate,
- // but updates will be missed. Hence other events are reacted upon too.
- // 2) RDbNotifier records the most significant event, and that will be returned once
- // we issue new RequestNotification, and hence updates will not be missed even
- // when we are 'not reacting to them' for few seconds.
- if (event == RDbNotifier::ECommit) {
- TRAPD(error, updateConfigurationsL());
- if (error == KErrNone) {
- updateStatesToSnaps();
- }
- waitRandomTime();
- } else {
- waitRandomTime();
- TRAPD(error, updateConfigurationsL());
- if (error == KErrNone) {
- updateStatesToSnaps();
- }
+ iIgnoringUpdates = true;
+ // Other events than ECommit get lower priority. In practice with those events,
+ // we delay_before_updating methods, whereas
+ // with ECommit we _update_before_delaying the reaction to next event.
+ // Few important notes: 1) listening to only ECommit does not seem to be adequate,
+ // but updates will be missed. Hence other events are reacted upon too.
+ // 2) RDbNotifier records the most significant event, and that will be returned once
+ // we issue new RequestNotification, and hence updates will not be missed even
+ // when we are 'not reacting to them' for few seconds.
+ if (event == RDbNotifier::ECommit) {
+ TRAPD(error, updateConfigurationsL());
+ if (error == KErrNone) {
+ updateStatesToSnaps();
+ }
+ locker.unlock();
+ waitRandomTime();
+ locker.relock();
+ } else {
+ locker.unlock();
+ waitRandomTime();
+ locker.relock();
+ TRAPD(error, updateConfigurationsL());
+ if (error == KErrNone) {
+ updateStatesToSnaps();
}
- iIgnoringUpdates = false; // Wait time done, allow updating again
- iWaitingCommsDatabaseNotifications = true;
- break;
- default:
- // Do nothing
- break;
}
+ iIgnoringUpdates = false; // Wait time done, allow updating again
+ iWaitingCommsDatabaseNotifications = true;
+ break;
+ default:
+ // Do nothing
+ break;
}
if (iWaitingCommsDatabaseNotifications) {
@@ -957,73 +940,101 @@ void SymbianEngine::DoCancel()
ipCommsDB->CancelRequestNotification();
}
-
void SymbianEngine::EventL(const CConnMonEventBase& aEvent)
{
QMutexLocker locker(&mutex);
switch (aEvent.EventType()) {
- case EConnMonCreateConnection:
+ case EConnMonConnectionStatusChange:
{
- CConnMonCreateConnection* realEvent;
- realEvent = (CConnMonCreateConnection*) &aEvent;
- TUint subConnectionCount = 0;
- TUint apId;
- TUint connectionId = realEvent->ConnectionId();
- TRequestStatus status;
- iConnectionMonitor.GetUintAttribute(connectionId, subConnectionCount, KIAPId, apId, status);
- User::WaitForRequest(status);
- QString ident = QString::number(qHash(apId));
-
- QNetworkConfigurationPrivatePointer ptr = accessPointConfigurations.value(ident);
- if (ptr) {
- toSymbianConfig(ptr)->connectionId = connectionId;
- // Configuration is Active
- if (changeConfigurationStateTo(ptr, QNetworkConfiguration::Active))
- updateStatesToSnaps();
-
- if (!iOnline) {
- iOnline = true;
-
- locker.unlock();
- emit this->onlineStateChanged(iOnline);
- locker.relock();
+ CConnMonConnectionStatusChange* realEvent;
+ realEvent = (CConnMonConnectionStatusChange*) &aEvent;
+ TInt connectionStatus = realEvent->ConnectionStatus();
+#ifdef QT_BEARERMGMT_SYMBIAN_DEBUG
+ qDebug() << "QNCM Connection status : " << QString::number(connectionStatus) << " , connection monitor Id : " << realEvent->ConnectionId();
+#endif
+ if (connectionStatus == KConfigDaemonStartingRegistration) {
+ TUint connectionId = realEvent->ConnectionId();
+ TUint subConnectionCount = 0;
+ TUint apId;
+ TRequestStatus status;
+ iConnectionMonitor.GetUintAttribute(connectionId, subConnectionCount, KIAPId, apId, status);
+ User::WaitForRequest(status);
+ QString ident = QString::number(qHash(apId));
+ QNetworkConfigurationPrivatePointer ptr = accessPointConfigurations.value(ident);
+ if (ptr) {
+ ptr->mutex.lock();
+ toSymbianConfig(ptr)->connectionId = connectionId;
+ ptr->mutex.unlock();
+ emit configurationStateChanged(toSymbianConfig(ptr)->numericIdentifier(),
+ connectionId, QNetworkSession::Connecting);
}
- }
- }
- break;
+ } else if (connectionStatus == KLinkLayerOpen) {
+ // Connection has been successfully opened
+ TUint connectionId = realEvent->ConnectionId();
+ TUint subConnectionCount = 0;
+ TUint apId;
+ TRequestStatus status;
+ iConnectionMonitor.GetUintAttribute(connectionId, subConnectionCount, KIAPId, apId, status);
+ User::WaitForRequest(status);
+ QString ident = QString::number(qHash(apId));
+ QNetworkConfigurationPrivatePointer ptr = accessPointConfigurations.value(ident);
+ if (ptr) {
+ ptr->mutex.lock();
+ toSymbianConfig(ptr)->connectionId = connectionId;
+ ptr->mutex.unlock();
- case EConnMonDeleteConnection:
- {
- CConnMonDeleteConnection* realEvent;
- realEvent = (CConnMonDeleteConnection*) &aEvent;
- TUint connectionId = realEvent->ConnectionId();
+ // Configuration is Active
+ if (changeConfigurationStateTo(ptr, QNetworkConfiguration::Active)) {
+ updateStatesToSnaps();
+ }
+ emit configurationStateChanged(toSymbianConfig(ptr)->numericIdentifier(),
+ connectionId, QNetworkSession::Connected);
- QNetworkConfigurationPrivatePointer ptr = dataByConnectionId(connectionId);
- if (ptr) {
- toSymbianConfig(ptr)->connectionId = 0;
- // Configuration is either Defined or Discovered
- if (changeConfigurationStateAtMaxTo(ptr, QNetworkConfiguration::Discovered))
- updateStatesToSnaps();
- }
-
- bool online = false;
- foreach (const QString &iface, accessPointConfigurations.keys()) {
- QNetworkConfigurationPrivatePointer ptr = accessPointConfigurations.value(iface);
- if (ptr->state == QNetworkConfiguration::Active) {
- online = true;
- break;
+ if (!iOnline) {
+ iOnline = true;
+ emit this->onlineStateChanged(iOnline);
+ }
}
- }
- if (iOnline != online) {
- iOnline = online;
+ } else if (connectionStatus == KConfigDaemonStartingDeregistration) {
+ TUint connectionId = realEvent->ConnectionId();
+ QNetworkConfigurationPrivatePointer ptr = dataByConnectionId(connectionId);
+ if (ptr) {
+ emit configurationStateChanged(toSymbianConfig(ptr)->numericIdentifier(),
+ connectionId, QNetworkSession::Closing);
+ }
+ } else if (connectionStatus == KLinkLayerClosed ||
+ connectionStatus == KConnectionClosed) {
+ // Connection has been closed. Which of the above events is reported, depends on the Symbian
+ // platform.
+ TUint connectionId = realEvent->ConnectionId();
+ QNetworkConfigurationPrivatePointer ptr = dataByConnectionId(connectionId);
+ if (ptr) {
+ // Configuration is either Defined or Discovered
+ if (changeConfigurationStateAtMaxTo(ptr, QNetworkConfiguration::Discovered)) {
+ updateStatesToSnaps();
+ }
- locker.unlock();
- emit this->onlineStateChanged(iOnline);
- locker.relock();
+ emit configurationStateChanged(toSymbianConfig(ptr)->numericIdentifier(),
+ connectionId, QNetworkSession::Disconnected);
+ }
+
+ bool online = false;
+ foreach (const QString &iface, accessPointConfigurations.keys()) {
+ QNetworkConfigurationPrivatePointer ptr = accessPointConfigurations.value(iface);
+ QMutexLocker configLocker(&ptr->mutex);
+ if (ptr->state == QNetworkConfiguration::Active) {
+ online = true;
+ break;
+ }
+ }
+ if (iOnline != online) {
+ iOnline = online;
+ emit this->onlineStateChanged(iOnline);
+ }
}
}
- break;
+ break;
case EConnMonIapAvailabilityChange:
{
@@ -1051,37 +1062,92 @@ void SymbianEngine::EventL(const CConnMonEventBase& aEvent)
}
break;
+ case EConnMonCreateConnection:
+ {
+ // This event is caught to keep connection monitor IDs up-to-date.
+ CConnMonCreateConnection* realEvent;
+ realEvent = (CConnMonCreateConnection*) &aEvent;
+ TUint subConnectionCount = 0;
+ TUint apId;
+ TUint connectionId = realEvent->ConnectionId();
+ TRequestStatus status;
+ iConnectionMonitor.GetUintAttribute(connectionId, subConnectionCount, KIAPId, apId, status);
+ User::WaitForRequest(status);
+ QString ident = QString::number(qHash(apId));
+ QNetworkConfigurationPrivatePointer ptr = accessPointConfigurations.value(ident);
+ if (ptr) {
+ QMutexLocker configLocker(&ptr->mutex);
+#ifdef QT_BEARERMGMT_SYMBIAN_DEBUG
+ qDebug() << "QNCM updating connection monitor ID : from, to, whose: " << toSymbianConfig(ptr)->connectionId << connectionId << ptr->name;
+#endif
+ toSymbianConfig(ptr)->connectionId = connectionId;
+ }
+ }
+ break;
default:
// For unrecognized events
break;
}
}
-// Waits for 1..4 seconds.
-void SymbianEngine::waitRandomTime()
+// Sessions may use this function to report configuration state changes,
+// because on some Symbian platforms (especially Symbian^3) all state changes are not
+// reported by the RConnectionMonitor, in particular in relation to stop() call,
+// whereas they _are_ reported on RConnection progress notifier used by sessions --> centralize
+// this data here so that other sessions may benefit from it too (not all sessions necessarily have
+// RConnection progress notifiers available but they relay on having e.g. disconnected information from
+// manager). Currently only 'Disconnected' state is of interest because it has proven to be troublesome.
+void SymbianEngine::configurationStateChangeReport(TUint32 accessPointId, QNetworkSession::State newState)
{
- iTimeToWait = (qAbs(qrand()) % 5) * 1000;
- if (iTimeToWait < 1000) {
- iTimeToWait = 1000;
+ QMutexLocker locker(&mutex);
+
+#ifdef QT_BEARERMGMT_SYMBIAN_DEBUG
+ qDebug() << "QNCM A session reported state change for IAP ID: " << accessPointId << " whose new state is: " << newState;
+#endif
+ switch (newState) {
+ case QNetworkSession::Disconnected:
+ {
+ QString ident = QString::number(qHash(accessPointId));
+ QNetworkConfigurationPrivatePointer ptr = accessPointConfigurations.value(ident);
+ if (ptr) {
+ // Configuration is either Defined or Discovered
+ if (changeConfigurationStateAtMaxTo(ptr, QNetworkConfiguration::Discovered)) {
+ updateStatesToSnaps();
+ }
+
+ locker.unlock();
+ emit configurationStateChanged(toSymbianConfig(ptr)->numericIdentifier(),
+ toSymbianConfig(ptr)->connectionIdentifier(),
+ QNetworkSession::Disconnected);
+ locker.relock();
+ }
+ }
+ break;
+ default:
+ break;
}
-#ifdef QT_BEARERMGMT_CONFIGMGR_DEBUG
- qDebug("QNetworkConfigurationManager waiting random time: %d ms", iTimeToWait);
+}
+
+// Waits for 2..6 seconds.
+void SymbianEngine::waitRandomTime()
+{
+ int iTimeToWait = qMax(2000, (qAbs(qrand()) % 7) * 1000);
+#ifdef QT_BEARERMGMT_SYMBIAN_DEBUG
+ qDebug("QNCM waiting random time: %d ms", iTimeToWait);
#endif
- QTimer::singleShot(iTimeToWait, iIgnoreEventLoop, SLOT(quit()));
- iIgnoreEventLoop->exec();
+ QEventLoop loop;
+ QTimer::singleShot(iTimeToWait, &loop, SLOT(quit()));
+ loop.exec();
}
QNetworkConfigurationPrivatePointer SymbianEngine::dataByConnectionId(TUint aConnectionId)
{
- QMutexLocker locker(&mutex);
-
QNetworkConfiguration item;
-
QHash<QString, QNetworkConfigurationPrivatePointer>::const_iterator i =
accessPointConfigurations.constBegin();
while (i != accessPointConfigurations.constEnd()) {
QNetworkConfigurationPrivatePointer ptr = i.value();
- if (toSymbianConfig(ptr)->connectionId == aConnectionId)
+ if (toSymbianConfig(ptr)->connectionIdentifier() == aConnectionId)
return ptr;
++i;
@@ -1128,6 +1194,8 @@ void AccessPointsAvailabilityScanner::StartScanning()
void AccessPointsAvailabilityScanner::RunL()
{
+ QMutexLocker locker(&iOwner.mutex);
+
if (iStatus.Int() != KErrNone) {
iIapBuf().iCount = 0;
iOwner.accessPointScanningReady(false,iIapBuf());
diff --git a/src/plugins/bearer/symbian/symbianengine.h b/src/plugins/bearer/symbian/symbianengine.h
index afb37dea8e..18fd249406 100644
--- a/src/plugins/bearer/symbian/symbianengine.h
+++ b/src/plugins/bearer/symbian/symbianengine.h
@@ -52,6 +52,9 @@
#include <cmmanager.h>
#endif
+// Uncomment and compile QtBearer to gain detailed state tracing
+// #define QT_BEARERMGMT_SYMBIAN_DEBUG
+
class CCommsDatabase;
class QEventLoop;
@@ -84,13 +87,40 @@ public:
QString bearerName() const;
- QNetworkConfigurationPrivatePointer serviceNetworkPtr;
+ inline TUint32 numericIdentifier() const
+ {
+ QMutexLocker locker(&mutex);
+ return numericId;
+ }
+
+ inline TUint connectionIdentifier() const
+ {
+ QMutexLocker locker(&mutex);
+ return connectionId;
+ }
+
+ inline QString configMappingName() const
+ {
+ QMutexLocker locker(&mutex);
+ return mappingName;
+ }
QString mappingName;
Bearer bearer;
+ // So called IAP id from the platform. Remains constant as long as the
+ // platform is aware of the configuration ie. it is stored in the databases
+ // --> does not depend on whether connections are currently open or not.
+ // In practice is the same for the lifetime of the QNetworkConfiguration.
TUint32 numericId;
+ // So called connection id, or connection monitor ID. A dynamic ID assigned
+ // by RConnectionMonitor whenever a new connection is opened. ConnectionID and
+ // numericId/IAP id have 1-to-1 mapping during the lifetime of the connection at
+ // connection monitor. Notably however it changes whenever a new connection to
+ // a given IAP is created. In a sense it is constant during the time the
+ // configuration remains between states Discovered..Active..Discovered, do not
+ // however relay on this.
TUint connectionId;
};
@@ -124,6 +154,9 @@ public:
Q_SIGNALS:
void onlineStateChanged(bool isOnline);
+ void configurationStateChanged(TUint32 accessPointId, TUint32 connMonId,
+ QNetworkSession::State newState);
+
public Q_SLOTS:
void updateConfigurations();
@@ -157,12 +190,17 @@ private:
void startMonitoringIAPData(TUint32 aIapId);
QNetworkConfigurationPrivatePointer dataByConnectionId(TUint aConnectionId);
-protected: // From CActive
+protected:
+ // From CActive
void RunL();
void DoCancel();
-private: // MConnectionMonitorObserver
+private:
+ // MConnectionMonitorObserver
void EventL(const CConnMonEventBase& aEvent);
+ // For QNetworkSessionPrivate to indicate about state changes
+ void configurationStateChangeReport(TUint32 accessPointId,
+ QNetworkSession::State newState);
private: // Data
bool iFirstUpdate;
@@ -174,13 +212,14 @@ private: // Data
TBool iInitOk;
TBool iUpdateGoingOn;
TBool iIgnoringUpdates;
- TUint iTimeToWait;
- QEventLoop* iIgnoreEventLoop;
AccessPointsAvailabilityScanner* ipAccessPointsAvailabilityScanner;
-
+
+ QNetworkConfigurationPrivatePointer defaultConfig;
+
friend class QNetworkSessionPrivate;
friend class AccessPointsAvailabilityScanner;
+ friend class QNetworkSessionPrivateImpl;
#ifdef SNAP_FUNCTIONALITY_AVAILABLE
RCmManager iCmManager;
diff --git a/src/plugins/gfxdrivers/directfb/qdirectfbpixmap.cpp b/src/plugins/gfxdrivers/directfb/qdirectfbpixmap.cpp
index 80366d1043..f704432304 100644
--- a/src/plugins/gfxdrivers/directfb/qdirectfbpixmap.cpp
+++ b/src/plugins/gfxdrivers/directfb/qdirectfbpixmap.cpp
@@ -91,6 +91,7 @@ void QDirectFBPixmapData::resize(int width, int height)
setSerialNumber(++global_ser_no);
}
+#ifdef QT_DIRECTFB_OPAQUE_DETECTION
// mostly duplicated from qimage.cpp (QImageData::checkForAlphaPixels)
static bool checkForAlphaPixels(const QImage &img)
{
@@ -160,12 +161,16 @@ static bool checkForAlphaPixels(const QImage &img)
return false;
}
+#endif // QT_DIRECTFB_OPAQUE_DETECTION
-bool QDirectFBPixmapData::hasAlphaChannel(const QImage &img)
+bool QDirectFBPixmapData::hasAlphaChannel(const QImage &img, Qt::ImageConversionFlags flags)
{
-#ifndef QT_NO_DIRECTFB_OPAQUE_DETECTION
- return checkForAlphaPixels(img);
+ if (img.depth() == 1)
+ return true;
+#ifdef QT_DIRECTFB_OPAQUE_DETECTION
+ return ((flags & Qt::NoOpaqueDetection) ? img.hasAlphaChannel() : checkForAlphaPixels(img));
#else
+ Q_UNUSED(flags);
return img.hasAlphaChannel();
#endif
}
@@ -287,19 +292,9 @@ bool QDirectFBPixmapData::fromDataBufferDescription(const DFBDataBufferDescripti
#endif
-void QDirectFBPixmapData::fromImage(const QImage &img,
- Qt::ImageConversionFlags flags)
+void QDirectFBPixmapData::fromImage(const QImage &img, Qt::ImageConversionFlags flags)
{
- if (img.depth() == 1) {
- alpha = true;
-#ifndef QT_NO_DIRECTFB_OPAQUE_DETECTION
- } else if (flags & Qt::NoOpaqueDetection || QDirectFBPixmapData::hasAlphaChannel(img)) {
- alpha = true;
-#else
- } else if (img.hasAlphaChannel()) {
- alpha = true;
-#endif
- }
+ alpha = QDirectFBPixmapData::hasAlphaChannel(img, flags);
imageFormat = alpha ? screen->alphaPixmapFormat() : screen->pixelFormat();
QImage image;
if ((flags & ~Qt::NoOpaqueDetection) != Qt::AutoColor) {
diff --git a/src/plugins/gfxdrivers/directfb/qdirectfbpixmap.h b/src/plugins/gfxdrivers/directfb/qdirectfbpixmap.h
index da6edc621f..343b26e248 100644
--- a/src/plugins/gfxdrivers/directfb/qdirectfbpixmap.h
+++ b/src/plugins/gfxdrivers/directfb/qdirectfbpixmap.h
@@ -86,8 +86,8 @@ public:
virtual int metric(QPaintDevice::PaintDeviceMetric m) const { return QDirectFBPaintDevice::metric(m); }
inline QImage::Format pixelFormat() const { return imageFormat; }
- static bool hasAlphaChannel(const QImage &img);
inline bool hasAlphaChannel() const { return alpha; }
+ static bool hasAlphaChannel(const QImage &img, Qt::ImageConversionFlags flags = Qt::AutoColor);
private:
#ifdef QT_DIRECTFB_IMAGEPROVIDER
bool fromDataBufferDescription(const DFBDataBufferDescription &dataBuffer);
diff --git a/src/plugins/imageformats/gif/qgifhandler.cpp b/src/plugins/imageformats/gif/qgifhandler.cpp
index 25d3dfa240..129a11b591 100644
--- a/src/plugins/imageformats/gif/qgifhandler.cpp
+++ b/src/plugins/imageformats/gif/qgifhandler.cpp
@@ -132,8 +132,8 @@ private:
int code_size, clear_code, end_code, max_code_size, max_code;
int firstcode, oldcode, incode;
- short table[2][1<< max_lzw_bits];
- short stack[(1<<(max_lzw_bits))*2];
+ short* table[2];
+ short* stack;
short *sp;
bool needfirst;
int x, y;
@@ -162,6 +162,9 @@ QGIFFormat::QGIFFormat()
lcmap = false;
newFrame = false;
partialNewFrame = false;
+ table[0] = 0;
+ table[1] = 0;
+ stack = 0;
}
/*!
@@ -171,6 +174,7 @@ QGIFFormat::~QGIFFormat()
{
if (globalcmap) delete[] globalcmap;
if (localcmap) delete[] localcmap;
+ delete [] stack;
}
void QGIFFormat::disposePrevious(QImage *image)
@@ -237,6 +241,12 @@ int QGIFFormat::decode(QImage *image, const uchar *buffer, int length,
// CompuServe Incorporated. GIF(sm) is a Service Mark property of
// CompuServe Incorporated."
+ if (!stack) {
+ stack = new short[(1 << max_lzw_bits) * 4];
+ table[0] = &stack[(1 << max_lzw_bits) * 2];
+ table[1] = &stack[(1 << max_lzw_bits) * 3];
+ }
+
image->detach();
int bpl = image->bytesPerLine();
unsigned char *bits = image->bits();
@@ -1026,7 +1036,7 @@ inline QRgb QGIFFormat::color(uchar index) const
QGifHandler::QGifHandler()
{
gifFormat = new QGIFFormat;
- nextDelay = 0;
+ nextDelay = 100;
loopCnt = 1;
frameNumber = -1;
scanIsCached = false;
@@ -1061,12 +1071,12 @@ bool QGifHandler::imageIsComing() const
bool QGifHandler::canRead() const
{
- if (!nextDelay && canRead(device())) {
+ if (canRead(device()) || imageIsComing()) {
setFormat("gif");
return true;
}
- return imageIsComing();
+ return false;
}
bool QGifHandler::canRead(QIODevice *device)
@@ -1119,8 +1129,11 @@ bool QGifHandler::write(const QImage &image)
bool QGifHandler::supportsOption(ImageOption option) const
{
- return option == Size
- || option == Animation;
+ if (!device() || device()->isSequential())
+ return option == Animation;
+ else
+ return option == Size
+ || option == Animation;
}
QVariant QGifHandler::option(ImageOption option) const
diff --git a/src/plugins/imageformats/jpeg/jpeg.pro b/src/plugins/imageformats/jpeg/jpeg.pro
index 5b45422f40..0b5d389959 100644
--- a/src/plugins/imageformats/jpeg/jpeg.pro
+++ b/src/plugins/imageformats/jpeg/jpeg.pro
@@ -22,10 +22,9 @@ symbian: {
}
contains(QT_CONFIG, system-jpeg) {
- unix:LIBS += -ljpeg
- win32:LIBS += libjpeg.lib
-}
-!contains(QT_CONFIG, system-jpeg) {
+ unix|win32-g++*:LIBS += -ljpeg
+ win32:!win32-g++*:LIBS += libjpeg.lib
+} else {
INCLUDEPATH += ../../../3rdparty/libjpeg
SOURCES += \
../../../3rdparty/libjpeg/jaricom.c \
diff --git a/src/plugins/imageformats/jpeg/qjpeghandler.cpp b/src/plugins/imageformats/jpeg/qjpeghandler.cpp
index 72dde156da..60e7cce913 100644
--- a/src/plugins/imageformats/jpeg/qjpeghandler.cpp
+++ b/src/plugins/imageformats/jpeg/qjpeghandler.cpp
@@ -802,13 +802,15 @@ QJpegHandler::~QJpegHandler()
bool QJpegHandler::canRead() const
{
- if(d->state == QJpegHandlerPrivate::Ready) {
- if (!canRead(device()))
- return false;
+ if(d->state == QJpegHandlerPrivate::Ready && !canRead(device()))
+ return false;
+
+ if (d->state != QJpegHandlerPrivate::Error) {
setFormat("jpeg");
return true;
}
- return d->state != QJpegHandlerPrivate::Error;
+
+ return false;
}
bool QJpegHandler::canRead(QIODevice *device)
diff --git a/src/plugins/imageformats/mng/mng.pro b/src/plugins/imageformats/mng/mng.pro
index de7dfa796c..c188b473f4 100644
--- a/src/plugins/imageformats/mng/mng.pro
+++ b/src/plugins/imageformats/mng/mng.pro
@@ -14,10 +14,9 @@ symbian: {
}
contains(QT_CONFIG, system-mng) {
- unix:LIBS += -lmng
- win32:LIBS += libmng.lib
-}
-!contains(QT_CONFIG, system-mng) {
+ unix|win32-g++*:LIBS += -lmng
+ win32:!win32-g++*:LIBS += libmng.lib
+} else {
DEFINES += MNG_BUILD_SO
DEFINES += MNG_NO_INCLUDE_JNG
INCLUDEPATH += ../../../3rdparty/libmng
@@ -44,10 +43,11 @@ contains(QT_CONFIG, system-mng) {
}
contains(QT_CONFIG, system-zlib) {
- LIBS += -lz
-}
-!contains(QT_CONFIG, system-zlib) {
- INCLUDEPATH += ../../../3rdparty/zlib
+ symbian:LIBS_PRIVATE += -llibz
+ else:if(unix|win32-g++*):LIBS_PRIVATE += -lz
+ else:LIBS += zdll.lib
+} else {
+ INCLUDEPATH += ../../../3rdparty/zlib
}
QTDIR_build:DESTDIR = $$QT_BUILD_TREE/plugins/imageformats
diff --git a/src/plugins/imageformats/mng/qmnghandler.cpp b/src/plugins/imageformats/mng/qmnghandler.cpp
index d408e6cdf7..ec442a19cc 100644
--- a/src/plugins/imageformats/mng/qmnghandler.cpp
+++ b/src/plugins/imageformats/mng/qmnghandler.cpp
@@ -271,7 +271,6 @@ bool QMngHandlerPrivate::getNextImage(QImage *result)
}
if ((MNG_NOERROR == ret) || (MNG_NEEDTIMERWAIT == ret)) {
*result = image;
- image.fill(0);
frameIndex = nextIndex++;
if (haveReadAll && (frameCount == 0))
frameCount = nextIndex;
@@ -381,10 +380,10 @@ QMngHandler::~QMngHandler()
bool QMngHandler::canRead() const
{
Q_D(const QMngHandler);
- if (!d->haveReadNone)
- return (!d->haveReadAll || (d->haveReadAll && (d->nextIndex < d->frameCount)));
-
- if (canRead(device())) {
+ if ((!d->haveReadNone
+ && (!d->haveReadAll || (d->haveReadAll && (d->nextIndex < d->frameCount))))
+ || canRead(device()))
+ {
setFormat("mng");
return true;
}
diff --git a/src/plugins/imageformats/svg/qsvgiohandler.cpp b/src/plugins/imageformats/svg/qsvgiohandler.cpp
index 81555692b8..7b8463d3eb 100644
--- a/src/plugins/imageformats/svg/qsvgiohandler.cpp
+++ b/src/plugins/imageformats/svg/qsvgiohandler.cpp
@@ -82,15 +82,19 @@ bool QSvgIOHandlerPrivate::load(QIODevice *device)
if (q->format().isEmpty())
q->canRead();
+ // # The SVG renderer doesn't handle trailing, unrelated data, so we must
+ // assume that all available data in the device is to be read.
bool res = false;
QBuffer *buf = qobject_cast<QBuffer *>(device);
if (buf) {
- res = r.load(buf->data());
+ const QByteArray &ba = buf->data();
+ res = r.load(QByteArray::fromRawData(ba.constData() + buf->pos(), ba.size() - buf->pos()));
+ buf->seek(ba.size());
} else if (q->format() == "svgz") {
- res = r.load(device->readAll()); // ### can't stream svgz
+ res = r.load(device->readAll());
} else {
xmlReader.setDevice(device);
- res = r.load(&xmlReader); //### doesn't leave pos() correctly
+ res = r.load(&xmlReader);
}
if (res) {
diff --git a/src/plugins/imageformats/tiff/tiff.pro b/src/plugins/imageformats/tiff/tiff.pro
index 3cb64ad689..90868e8ca8 100644
--- a/src/plugins/imageformats/tiff/tiff.pro
+++ b/src/plugins/imageformats/tiff/tiff.pro
@@ -8,10 +8,14 @@ SOURCES += main.cpp \
qtiffhandler.cpp
contains(QT_CONFIG, system-tiff) {
- unix:LIBS += -ltiff
- win32:LIBS += libtiff.lib
-}
-!contains(QT_CONFIG, system-tiff) {
+ unix|win32-g++*:LIBS += -ltiff
+ win32:!win32-g++*:LIBS += libtiff.lib
+
+ contains(QT_CONFIG, system-jpeg) {
+ unix|win32-g++*:LIBS += -ljpeg
+ win32:!win32-g++*:LIBS += libjpeg.lib
+ }
+} else {
INCLUDEPATH += ../../../3rdparty/libtiff/libtiff
SOURCES += \
../../../3rdparty/libtiff/libtiff/tif_aux.c \
@@ -64,10 +68,11 @@ contains(QT_CONFIG, system-tiff) {
}
contains(QT_CONFIG, system-zlib) {
- LIBS += -lz
-}
-!contains(QT_CONFIG, system-zlib) {
- INCLUDEPATH += ../../../3rdparty/zlib
+ symbian:LIBS_PRIVATE += -llibz
+ else:if(unix|win32-g++*):LIBS_PRIVATE += -lz
+ else:LIBS += zdll.lib
+} else {
+ INCLUDEPATH += ../../../3rdparty/zlib
}
QTDIR_build:DESTDIR = $$QT_BUILD_TREE/plugins/imageformats
diff --git a/src/plugins/mediaservices/directshow/directshow.pro b/src/plugins/mediaservices/directshow/directshow.pro
deleted file mode 100644
index 065e391f74..0000000000
--- a/src/plugins/mediaservices/directshow/directshow.pro
+++ /dev/null
@@ -1,14 +0,0 @@
-TARGET = qdsengine
-include(../../qpluginbase.pri)
-
-QT += multimedia mediaservices
-
-HEADERS += dsserviceplugin.h
-SOURCES += dsserviceplugin.cpp
-
-include(mediaplayer/mediaplayer.pri)
-
-QTDIR_build:DESTDIR = $$QT_BUILD_TREE/plugins/mediaservices
-target.path = $$[QT_INSTALL_PLUGINS]/mediaservices
-INSTALLS += target
-
diff --git a/src/plugins/mediaservices/directshow/dsserviceplugin.cpp b/src/plugins/mediaservices/directshow/dsserviceplugin.cpp
deleted file mode 100644
index c482fd5e1e..0000000000
--- a/src/plugins/mediaservices/directshow/dsserviceplugin.cpp
+++ /dev/null
@@ -1,188 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the plugins of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include <QtCore/qstring.h>
-#include <QtCore/qdebug.h>
-#include <QtCore/QFile>
-
-#include "dsserviceplugin.h"
-
-#ifdef QMEDIA_DIRECTSHOW_CAMERA
-#include "dscameraservice.h"
-#endif
-
-#ifdef QMEDIA_DIRECTSHOW_PLAYER
-#include "directshowplayerservice.h"
-#endif
-
-#include <qmediaserviceprovider.h>
-
-
-#ifdef QMEDIA_DIRECTSHOW_CAMERA
-#ifndef _STRSAFE_H_INCLUDED_
-#include <tchar.h>
-#endif
-#include <dshow.h>
-#include <objbase.h>
-#include <initguid.h>
-#pragma comment(lib, "strmiids.lib")
-#pragma comment(lib, "ole32.lib")
-#include <windows.h>
-#endif
-
-
-QT_BEGIN_NAMESPACE
-
-QStringList DSServicePlugin::keys() const
-{
- return QStringList()
-#ifdef QMEDIA_DIRECTSHOW_CAMERA
- << QLatin1String(Q_MEDIASERVICE_CAMERA)
-#endif
-#ifdef QMEDIA_DIRECTSHOW_PLAYER
- << QLatin1String(Q_MEDIASERVICE_MEDIAPLAYER)
-#endif
- ;
-}
-
-QMediaService* DSServicePlugin::create(QString const& key)
-{
-#ifdef QMEDIA_DIRECTSHOW_CAMERA
- if (key == QLatin1String(Q_MEDIASERVICE_CAMERA))
- return new DSCameraService;
-#endif
-#ifdef QMEDIA_DIRECTSHOW_PLAYER
- if (key == QLatin1String(Q_MEDIASERVICE_MEDIAPLAYER))
- return new DirectShowPlayerService;
-#endif
-
- qWarning() << "DirectShow service plugin: unsupported service -" << key;
- return 0;
-}
-
-void DSServicePlugin::release(QMediaService *service)
-{
- delete service;
-}
-
-QList<QByteArray> DSServicePlugin::devices(const QByteArray &service) const
-{
-#ifdef QMEDIA_DIRECTSHOW_CAMERA
- if (service == Q_MEDIASERVICE_CAMERA) {
- if (m_cameraDevices.isEmpty())
- updateDevices();
-
- return m_cameraDevices;
- }
-#endif
-
- return QList<QByteArray>();
-}
-
-QString DSServicePlugin::deviceDescription(const QByteArray &service, const QByteArray &device)
-{
-#ifdef QMEDIA_DIRECTSHOW_CAMERA
- if (service == Q_MEDIASERVICE_CAMERA) {
- if (m_cameraDevices.isEmpty())
- updateDevices();
-
- for (int i=0; i<m_cameraDevices.count(); i++)
- if (m_cameraDevices[i] == device)
- return m_cameraDescriptions[i];
- }
-#endif
- return QString();
-}
-
-#ifdef QMEDIA_DIRECTSHOW_CAMERA
-void DSServicePlugin::updateDevices() const
-{
- m_cameraDevices.clear();
- m_cameraDescriptions.clear();
-
- CoInitialize(NULL);
- ICreateDevEnum* pDevEnum = NULL;
- IEnumMoniker* pEnum = NULL;
- // Create the System device enumerator
- HRESULT hr = CoCreateInstance(CLSID_SystemDeviceEnum, NULL,
- CLSCTX_INPROC_SERVER, IID_ICreateDevEnum,
- reinterpret_cast<void**>(&pDevEnum));
- if(SUCCEEDED(hr)) {
- // Create the enumerator for the video capture category
- hr = pDevEnum->CreateClassEnumerator(
- CLSID_VideoInputDeviceCategory, &pEnum, 0);
- pEnum->Reset();
- // go through and find all video capture devices
- IMoniker* pMoniker = NULL;
- while(pEnum->Next(1, &pMoniker, NULL) == S_OK) {
- IPropertyBag *pPropBag;
- hr = pMoniker->BindToStorage(0,0,IID_IPropertyBag,
- (void**)(&pPropBag));
- if(FAILED(hr)) {
- pMoniker->Release();
- continue; // skip this one
- }
- // Find the description
- WCHAR str[120];
- VARIANT varName;
- varName.vt = VT_BSTR;
- hr = pPropBag->Read(L"FriendlyName", &varName, 0);
- if(SUCCEEDED(hr)) {
- StringCchCopyW(str,sizeof(str)/sizeof(str[0]),varName.bstrVal);
- QString temp(QString::fromUtf16((unsigned short*)str));
- m_cameraDevices.append(QString("ds:%1").arg(temp).toLocal8Bit().constData());
- hr = pPropBag->Read(L"Description", &varName, 0);
- StringCchCopyW(str,sizeof(str)/sizeof(str[0]),varName.bstrVal);
- QString temp2(QString::fromUtf16((unsigned short*)str));
- m_cameraDescriptions.append(temp2);
- }
- pPropBag->Release();
- pMoniker->Release();
- }
- }
- CoUninitialize();
-}
-#endif
-
-QT_END_NAMESPACE
-
-Q_EXPORT_PLUGIN2(dsengine, DSServicePlugin);
-
diff --git a/src/plugins/mediaservices/directshow/dsserviceplugin.h b/src/plugins/mediaservices/directshow/dsserviceplugin.h
deleted file mode 100644
index 3c6f1b833c..0000000000
--- a/src/plugins/mediaservices/directshow/dsserviceplugin.h
+++ /dev/null
@@ -1,77 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the plugins of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef DSSERVICEPLUGIN_H
-#define DSSERVICEPLUGIN_H
-
-#include <qmediaserviceproviderplugin.h>
-
-QT_BEGIN_HEADER
-
-QT_BEGIN_NAMESPACE
-
-
-class DSServicePlugin : public QMediaServiceProviderPlugin, public QMediaServiceSupportedDevicesInterface
-{
- Q_OBJECT
- Q_INTERFACES(QMediaServiceSupportedDevicesInterface)
-public:
- QStringList keys() const;
- QMediaService* create(QString const& key);
- void release(QMediaService *service);
-
- QList<QByteArray> devices(const QByteArray &service) const;
- QString deviceDescription(const QByteArray &service, const QByteArray &device);
-
-private:
-#ifdef QMEDIA_DIRECTSHOW_CAMERA
- void updateDevices() const;
-
- mutable QList<QByteArray> m_cameraDevices;
- mutable QStringList m_cameraDescriptions;
-#endif
-};
-
-QT_END_NAMESPACE
-
-QT_END_HEADER
-
-#endif // DSSERVICEPLUGIN_H
diff --git a/src/plugins/mediaservices/directshow/mediaplayer/directshowaudioendpointcontrol.cpp b/src/plugins/mediaservices/directshow/mediaplayer/directshowaudioendpointcontrol.cpp
deleted file mode 100644
index 5f72ca6ed5..0000000000
--- a/src/plugins/mediaservices/directshow/mediaplayer/directshowaudioendpointcontrol.cpp
+++ /dev/null
@@ -1,166 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the plugins of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "directshowaudioendpointcontrol.h"
-
-#include "directshowglobal.h"
-#include "directshowplayerservice.h"
-
-
-QT_BEGIN_NAMESPACE
-
-DirectShowAudioEndpointControl::DirectShowAudioEndpointControl(
- DirectShowPlayerService *service, QObject *parent)
- : QMediaControl(parent)
- , m_service(service)
- , m_bindContext(0)
- , m_deviceEnumerator(0)
-{
- if (CreateBindCtx(0, &m_bindContext) == S_OK) {
- m_deviceEnumerator = com_new<ICreateDevEnum>(CLSID_SystemDeviceEnum, IID_ICreateDevEnum);
-
- updateEndpoints();
-
- setActiveEndpoint(m_defaultEndpoint);
- }
-}
-
-DirectShowAudioEndpointControl::~DirectShowAudioEndpointControl()
-{
- foreach (IMoniker *moniker, m_devices)
- moniker->Release();
-
- if (m_bindContext)
- m_bindContext->Release();
-
- if (m_deviceEnumerator)
- m_deviceEnumerator->Release();
-}
-
-QList<QString> DirectShowAudioEndpointControl::availableEndpoints() const
-{
- return m_devices.keys();
-}
-
-QString DirectShowAudioEndpointControl::endpointDescription(const QString &name) const
-{
-#ifdef __IPropertyBag_INTERFACE_DEFINED__
- QString description;
-
- if (IMoniker *moniker = m_devices.value(name, 0)) {
- IPropertyBag *propertyBag = 0;
- if (SUCCEEDED(moniker->BindToStorage(
- 0, 0, IID_IPropertyBag, reinterpret_cast<void **>(&propertyBag)))) {
- VARIANT name;
- VariantInit(&name);
- if (SUCCEEDED(propertyBag->Read(L"FriendlyName", &name, 0)))
- description = QString::fromWCharArray(name.bstrVal);
- VariantClear(&name);
- propertyBag->Release();
- }
- }
-
- return description;
-#else
- return name.section(QLatin1Char('\\'), -1);
-#endif
-}
-
-QString DirectShowAudioEndpointControl::defaultEndpoint() const
-{
- return m_defaultEndpoint;
-}
-
-QString DirectShowAudioEndpointControl::activeEndpoint() const
-{
- return m_activeEndpoint;
-}
-
-void DirectShowAudioEndpointControl::setActiveEndpoint(const QString &name)
-{
- if (m_activeEndpoint == name)
- return;
-
- if (IMoniker *moniker = m_devices.value(name, 0)) {
- IBaseFilter *filter = 0;
-
- if (moniker->BindToObject(
- m_bindContext,
- 0,
- IID_IBaseFilter,
- reinterpret_cast<void **>(&filter)) == S_OK) {
- m_service->setAudioOutput(filter);
-
- filter->Release();
- }
- }
-}
-
-void DirectShowAudioEndpointControl::updateEndpoints()
-{
- IMalloc *oleMalloc = 0;
- if (m_deviceEnumerator && CoGetMalloc(1, &oleMalloc) == S_OK) {
- IEnumMoniker *monikers = 0;
-
- if (m_deviceEnumerator->CreateClassEnumerator(
- CLSID_AudioRendererCategory, &monikers, 0) == S_OK) {
- for (IMoniker *moniker = 0; monikers->Next(1, &moniker, 0) == S_OK; moniker->Release()) {
- OLECHAR *string = 0;
- if (moniker->GetDisplayName(m_bindContext, 0, &string) == S_OK) {
- QString deviceId = QString::fromWCharArray(string);
- oleMalloc->Free(string);
-
- moniker->AddRef();
- m_devices.insert(deviceId, moniker);
-
- if (m_defaultEndpoint.isEmpty()
- || deviceId.endsWith(QLatin1String("Default DirectSound Device"))) {
- m_defaultEndpoint = deviceId;
- }
- }
- }
- monikers->Release();
- }
- oleMalloc->Release();
- }
-}
-
-QT_END_NAMESPACE
diff --git a/src/plugins/mediaservices/directshow/mediaplayer/directshowaudioendpointcontrol.h b/src/plugins/mediaservices/directshow/mediaplayer/directshowaudioendpointcontrol.h
deleted file mode 100644
index 8d23751ddd..0000000000
--- a/src/plugins/mediaservices/directshow/mediaplayer/directshowaudioendpointcontrol.h
+++ /dev/null
@@ -1,90 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the plugins of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef DIRECTSHOWAUDIOENDPOINTCONTROL_H
-#define DIRECTSHOWAUDIOENDPOINTCONTROL_H
-
-#include <QtMediaServices/qmediacontrol.h>
-
-#include <dshow.h>
-
-QT_BEGIN_HEADER
-
-QT_BEGIN_NAMESPACE
-
-class DirectShowPlayerService;
-
-class DirectShowAudioEndpointControl : public QMediaControl
-{
- Q_OBJECT
-public:
- DirectShowAudioEndpointControl(DirectShowPlayerService *service, QObject *parent = 0);
- ~DirectShowAudioEndpointControl();
-
- QList<QString> availableEndpoints() const;
-
- QString endpointDescription(const QString &name) const;
-
- QString defaultEndpoint() const;
- QString activeEndpoint() const;
-
- void setActiveEndpoint(const QString& name);
-
-private:
- void updateEndpoints();
-
- DirectShowPlayerService *m_service;
- IBindCtx *m_bindContext;
- ICreateDevEnum *m_deviceEnumerator;
-
- QMap<QString, IMoniker *> m_devices;
- QString m_defaultEndpoint;
- QString m_activeEndpoint;
-};
-
-#define QAudioEndpointSelector_iid "com.nokia.Qt.QAudioEndpointSelector/1.0"
-
-QT_END_NAMESPACE
-
-QT_END_HEADER
-
-#endif
-
diff --git a/src/plugins/mediaservices/directshow/mediaplayer/directshoweventloop.cpp b/src/plugins/mediaservices/directshow/mediaplayer/directshoweventloop.cpp
deleted file mode 100644
index 07541c2931..0000000000
--- a/src/plugins/mediaservices/directshow/mediaplayer/directshoweventloop.cpp
+++ /dev/null
@@ -1,161 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the plugins of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include <directshoweventloop.h>
-
-#include <QtCore/qcoreapplication.h>
-#include <QtCore/qcoreevent.h>
-
-
-QT_BEGIN_NAMESPACE
-
-
-class DirectShowPostedEvent
-{
-public:
- DirectShowPostedEvent(QObject *receiver, QEvent *event)
- : receiver(receiver)
- , event(event)
- , next(0)
- {
- }
-
- ~DirectShowPostedEvent()
- {
- delete event;
- }
-
- QObject *receiver;
- QEvent *event;
- DirectShowPostedEvent *next;
-};
-
-DirectShowEventLoop::DirectShowEventLoop(QObject *parent)
- : QWinEventNotifier(parent)
- , m_postsHead(0)
- , m_postsTail(0)
- , m_eventHandle(::CreateEvent(0, 0, 0, 0))
- , m_waitHandle(::CreateEvent(0, 0, 0, 0))
-{
- setHandle(m_eventHandle);
- setEnabled(true);
-}
-
-DirectShowEventLoop::~DirectShowEventLoop()
-{
- setEnabled(false);
-
- ::CloseHandle(m_eventHandle);
- ::CloseHandle(m_waitHandle);
-
- for (DirectShowPostedEvent *post = m_postsHead; post; post = m_postsHead) {
- m_postsHead = m_postsHead->next;
-
- delete post;
- }
-}
-
-void DirectShowEventLoop::wait(QMutex *mutex)
-{
- ::ResetEvent(m_waitHandle);
-
- mutex->unlock();
-
- HANDLE handles[] = { m_eventHandle, m_waitHandle };
- while (::WaitForMultipleObjects(2, handles, false, INFINITE) == WAIT_OBJECT_0)
- processEvents();
-
- mutex->lock();
-}
-
-void DirectShowEventLoop::wake()
-{
- ::SetEvent(m_waitHandle);
-}
-
-void DirectShowEventLoop::postEvent(QObject *receiver, QEvent *event)
-{
- QMutexLocker locker(&m_mutex);
-
- DirectShowPostedEvent *post = new DirectShowPostedEvent(receiver, event);
-
- if (m_postsTail)
- m_postsTail->next = post;
- else
- m_postsHead = post;
-
- m_postsTail = post;
-
- ::SetEvent(m_eventHandle);
-}
-
-bool DirectShowEventLoop::event(QEvent *event)
-{
- if (event->type() == QEvent::WinEventAct) {
- processEvents();
-
- return true;
- } else {
- return QWinEventNotifier::event(event);
- }
-}
-
-void DirectShowEventLoop::processEvents()
-{
- QMutexLocker locker(&m_mutex);
-
- while(m_postsHead) {
- ::ResetEvent(m_eventHandle);
-
- DirectShowPostedEvent *post = m_postsHead;
- m_postsHead = m_postsHead->next;
-
- if (!m_postsHead)
- m_postsTail = 0;
-
- locker.unlock();
- QCoreApplication::sendEvent(post->receiver, post->event);
- delete post;
- locker.relock();
- }
-}
-
-QT_END_NAMESPACE
diff --git a/src/plugins/mediaservices/directshow/mediaplayer/directshoweventloop.h b/src/plugins/mediaservices/directshow/mediaplayer/directshoweventloop.h
deleted file mode 100644
index f46e65af01..0000000000
--- a/src/plugins/mediaservices/directshow/mediaplayer/directshoweventloop.h
+++ /dev/null
@@ -1,83 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the plugins of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef DIRECTSHOWEVENTLOOP_H
-#define DIRECTSHOWEVENTLOOP_H
-
-#include <QtCore/qmutex.h>
-#include <QtCore/private/qwineventnotifier_p.h>
-
-
-QT_BEGIN_HEADER
-
-QT_BEGIN_NAMESPACE
-
-class DirectShowPostedEvent;
-
-class DirectShowEventLoop : public QWinEventNotifier
-{
- Q_OBJECT
-public:
- DirectShowEventLoop(QObject *parent = 0);
- ~DirectShowEventLoop();
-
- void wait(QMutex *mutex);
- void wake();
-
- void postEvent(QObject *object, QEvent *event);
-
- bool event(QEvent *event);
-
-private:
- void processEvents();
-
- DirectShowPostedEvent *m_postsHead;
- DirectShowPostedEvent *m_postsTail;
- HANDLE m_eventHandle;
- HANDLE m_waitHandle;
- QMutex m_mutex;
-};
-
-QT_END_NAMESPACE
-
-QT_END_HEADER
-
-#endif
diff --git a/src/plugins/mediaservices/directshow/mediaplayer/directshowglobal.h b/src/plugins/mediaservices/directshow/mediaplayer/directshowglobal.h
deleted file mode 100644
index e43e2a727c..0000000000
--- a/src/plugins/mediaservices/directshow/mediaplayer/directshowglobal.h
+++ /dev/null
@@ -1,147 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the plugins of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef DIRECTSHOWGLOBAL_H
-#define DIRECTSHOWGLOBAL_H
-
-#include <QtCore/qglobal.h>
-
-#include <dshow.h>
-
-QT_BEGIN_HEADER
-
-QT_BEGIN_NAMESPACE
-
-template <typename T> T *com_cast(IUnknown *unknown, const IID &iid)
-{
- T *iface = 0;
- return unknown && unknown->QueryInterface(iid, reinterpret_cast<void **>(&iface)) == S_OK
- ? iface
- : 0;
-}
-
-template <typename T> T *com_new(const IID &clsid, const IID &iid)
-{
- T *object = 0;
- return CoCreateInstance(
- clsid,
- NULL,
- CLSCTX_INPROC_SERVER,
- iid,
- reinterpret_cast<void **>(&object)) == S_OK
- ? object
- : 0;
-}
-
-QT_END_NAMESPACE
-
-QT_END_HEADER
-
-#ifndef __IFilterGraph2_INTERFACE_DEFINED__
-#define __IFilterGraph2_INTERFACE_DEFINED__
-#define INTERFACE IFilterGraph2
-DECLARE_INTERFACE_(IFilterGraph2 ,IGraphBuilder)
-{
- STDMETHOD(AddSourceFilterForMoniker)(THIS_ IMoniker *, IBindCtx *, LPCWSTR,IBaseFilter **) PURE;
- STDMETHOD(ReconnectEx)(THIS_ IPin *, const AM_MEDIA_TYPE *) PURE;
- STDMETHOD(RenderEx)(IPin *, DWORD, DWORD *) PURE;
-};
-#undef INTERFACE
-#endif
-
-#ifndef __IAMFilterMiscFlags_INTERFACE_DEFINED__
-#define __IAMFilterMiscFlags_INTERFACE_DEFINED__
-#define INTERFACE IAMFilterMiscFlags
-DECLARE_INTERFACE_(IAMFilterMiscFlags ,IUnknown)
-{
- STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- STDMETHOD_(ULONG,GetMiscFlags)(THIS) PURE;
-};
-#undef INTERFACE
-#endif
-
-#ifndef __IFileSourceFilter_INTERFACE_DEFINED__
-#define __IFileSourceFilter_INTERFACE_DEFINED__
-#define INTERFACE IFileSourceFilter
-DECLARE_INTERFACE_(IFileSourceFilter ,IUnknown)
-{
- STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- STDMETHOD(Load)(THIS_ LPCOLESTR, const AM_MEDIA_TYPE *) PURE;
- STDMETHOD(GetCurFile)(THIS_ LPOLESTR *ppszFileName, AM_MEDIA_TYPE *) PURE;
-};
-#undef INTERFACE
-#endif
-
-#ifndef __IAMOpenProgress_INTERFACE_DEFINED__
-#define __IAMOpenProgress_INTERFACE_DEFINED__
-#define INTERFACE IAMOpenProgress
-DECLARE_INTERFACE_(IAMOpenProgress ,IUnknown)
-{
- STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- STDMETHOD(QueryProgress)(THIS_ LONGLONG *, LONGLONG *) PURE;
- STDMETHOD(AbortOperation)(THIS) PURE;
-};
-#undef INTERFACE
-#endif
-
-#ifndef __IFilterChain_INTERFACE_DEFINED__
-#define __IFilterChain_INTERFACE_DEFINED__
-#define INTERFACE IFilterChain
-DECLARE_INTERFACE_(IFilterChain ,IUnknown)
-{
- STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- STDMETHOD(StartChain)(IBaseFilter *, IBaseFilter *) PURE;
- STDMETHOD(PauseChain)(IBaseFilter *, IBaseFilter *) PURE;
- STDMETHOD(StopChain)(IBaseFilter *, IBaseFilter *) PURE;
- STDMETHOD(RemoveChain)(IBaseFilter *, IBaseFilter *) PURE;
-};
-#undef INTERFACE
-#endif
-
-#endif
diff --git a/src/plugins/mediaservices/directshow/mediaplayer/directshowioreader.cpp b/src/plugins/mediaservices/directshow/mediaplayer/directshowioreader.cpp
deleted file mode 100644
index 7369099ac6..0000000000
--- a/src/plugins/mediaservices/directshow/mediaplayer/directshowioreader.cpp
+++ /dev/null
@@ -1,501 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the plugins of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "directshowioreader.h"
-
-#include "directshoweventloop.h"
-#include "directshowglobal.h"
-#include "directshowiosource.h"
-
-#include <QtCore/qcoreapplication.h>
-#include <QtCore/qcoreevent.h>
-#include <QtCore/qiodevice.h>
-#include <QtCore/qthread.h>
-
-
-QT_BEGIN_NAMESPACE
-
-class DirectShowSampleRequest
-{
-public:
- DirectShowSampleRequest(
- IMediaSample *sample, DWORD_PTR userData, LONGLONG position, LONG length, BYTE *buffer)
- : next(0)
- , sample(sample)
- , userData(userData)
- , position(position)
- , length(length)
- , buffer(buffer)
- , result(S_FALSE)
- {
- }
-
- DirectShowSampleRequest *remove() { DirectShowSampleRequest *n = next; delete this; return n; }
-
- DirectShowSampleRequest *next;
- IMediaSample *sample;
- DWORD_PTR userData;
- LONGLONG position;
- LONG length;
- BYTE *buffer;
- HRESULT result;
-};
-
-DirectShowIOReader::DirectShowIOReader(
- QIODevice *device, DirectShowIOSource *source, DirectShowEventLoop *loop)
- : m_source(source)
- , m_device(device)
- , m_loop(loop)
- , m_pendingHead(0)
- , m_pendingTail(0)
- , m_readyHead(0)
- , m_readyTail(0)
- , m_synchronousPosition(0)
- , m_synchronousLength(0)
- , m_synchronousBytesRead(0)
- , m_synchronousBuffer(0)
- , m_synchronousResult(S_OK)
- , m_totalLength(0)
- , m_availableLength(0)
- , m_flushing(false)
-{
- moveToThread(device->thread());
-
- connect(device, SIGNAL(readyRead()), this, SLOT(readyRead()));
-}
-
-DirectShowIOReader::~DirectShowIOReader()
-{
- flushRequests();
-}
-
-HRESULT DirectShowIOReader::QueryInterface(REFIID riid, void **ppvObject)
-{
- return m_source->QueryInterface(riid, ppvObject);
-}
-
-ULONG DirectShowIOReader::AddRef()
-{
- return m_source->AddRef();
-}
-
-ULONG DirectShowIOReader::Release()
-{
- return m_source->Release();
-}
-
-// IAsyncReader
-HRESULT DirectShowIOReader::RequestAllocator(
- IMemAllocator *pPreferred, ALLOCATOR_PROPERTIES *pProps, IMemAllocator **ppActual)
-{
- if (!ppActual || !pProps) {
- return E_POINTER;
- } else {
- ALLOCATOR_PROPERTIES actualProperties;
-
- if (pProps->cbAlign == 0)
- pProps->cbAlign = 1;
-
- if (pPreferred && pPreferred->SetProperties(pProps, &actualProperties) == S_OK) {
- pPreferred->AddRef();
-
- *ppActual = pPreferred;
-
- m_source->setAllocator(*ppActual);
-
- return S_OK;
- } else {
- *ppActual = com_new<IMemAllocator>(CLSID_MemoryAllocator, IID_IMemAllocator);
-
- if (*ppActual) {
- if ((*ppActual)->SetProperties(pProps, &actualProperties) != S_OK) {
- (*ppActual)->Release();
- } else {
- m_source->setAllocator(*ppActual);
-
- return S_OK;
- }
- }
- }
- ppActual = 0;
-
- return E_FAIL;
- }
-}
-
-HRESULT DirectShowIOReader::Request(IMediaSample *pSample, DWORD_PTR dwUser)
-{
- QMutexLocker locker(&m_mutex);
-
- if (!pSample) {
- return E_POINTER;
- } else if (m_flushing) {
- return VFW_E_WRONG_STATE;
- } else {
- REFERENCE_TIME startTime = 0;
- REFERENCE_TIME endTime = 0;
- BYTE *buffer;
-
- if (pSample->GetTime(&startTime, &endTime) != S_OK
- || pSample->GetPointer(&buffer) != S_OK) {
- return VFW_E_SAMPLE_TIME_NOT_SET;
- } else {
- LONGLONG position = startTime / 10000000;
- LONG length = (endTime - startTime) / 10000000;
-
- DirectShowSampleRequest *request = new DirectShowSampleRequest(
- pSample, dwUser, position, length, buffer);
-
- if (m_pendingTail) {
- m_pendingTail->next = request;
- } else {
- m_pendingHead = request;
-
- m_loop->postEvent(this, new QEvent(QEvent::User));
- }
- m_pendingTail = request;
-
- return S_OK;
- }
- }
-}
-
-HRESULT DirectShowIOReader::WaitForNext(
- DWORD dwTimeout, IMediaSample **ppSample, DWORD_PTR *pdwUser)
-{
- if (!ppSample || !pdwUser)
- return E_POINTER;
-
- QMutexLocker locker(&m_mutex);
-
- do {
- if (m_readyHead) {
- DirectShowSampleRequest *request = m_readyHead;
-
- *ppSample = request->sample;
- *pdwUser = request->userData;
-
- HRESULT hr = request->result;
-
- m_readyHead = request->next;
-
- if (!m_readyHead)
- m_readyTail = 0;
-
- delete request;
-
- return hr;
- } else if (m_flushing) {
- *ppSample = 0;
- *pdwUser = 0;
-
- return VFW_E_WRONG_STATE;
- }
- } while (m_wait.wait(&m_mutex, dwTimeout));
-
- *ppSample = 0;
- *pdwUser = 0;
-
- return VFW_E_TIMEOUT;
-}
-
-HRESULT DirectShowIOReader::SyncReadAligned(IMediaSample *pSample)
-{
- if (!pSample) {
- return E_POINTER;
- } else {
- REFERENCE_TIME startTime = 0;
- REFERENCE_TIME endTime = 0;
- BYTE *buffer;
-
- if (pSample->GetTime(&startTime, &endTime) != S_OK
- || pSample->GetPointer(&buffer) != S_OK) {
- return VFW_E_SAMPLE_TIME_NOT_SET;
- } else {
- LONGLONG position = startTime / 10000000;
- LONG length = (endTime - startTime) / 10000000;
-
- QMutexLocker locker(&m_mutex);
-
- if (thread() == QThread::currentThread()) {
- qint64 bytesRead = 0;
-
- HRESULT hr = blockingRead(position, length, buffer, &bytesRead);
-
- if (SUCCEEDED(hr))
- pSample->SetActualDataLength(bytesRead);
-
- return hr;
- } else {
- m_synchronousPosition = position;
- m_synchronousLength = length;
- m_synchronousBuffer = buffer;
-
- m_loop->postEvent(this, new QEvent(QEvent::User));
-
- m_wait.wait(&m_mutex);
-
- m_synchronousBuffer = 0;
-
- if (SUCCEEDED(m_synchronousResult))
- pSample->SetActualDataLength(m_synchronousBytesRead);
-
- return m_synchronousResult;
- }
- }
- }
-}
-
-HRESULT DirectShowIOReader::SyncRead(LONGLONG llPosition, LONG lLength, BYTE *pBuffer)
-{
- if (!pBuffer) {
- return E_POINTER;
- } else {
- if (thread() == QThread::currentThread()) {
- qint64 bytesRead;
-
- return blockingRead(llPosition, lLength, pBuffer, &bytesRead);
- } else {
- QMutexLocker locker(&m_mutex);
-
- m_synchronousPosition = llPosition;
- m_synchronousLength = lLength;
- m_synchronousBuffer = pBuffer;
-
- m_loop->postEvent(this, new QEvent(QEvent::User));
-
- m_wait.wait(&m_mutex);
-
- m_synchronousBuffer = 0;
-
- return m_synchronousResult;
- }
- }
-}
-
-HRESULT DirectShowIOReader::Length(LONGLONG *pTotal, LONGLONG *pAvailable)
-{
- if (!pTotal || !pAvailable) {
- return E_POINTER;
- } else {
- QMutexLocker locker(&m_mutex);
-
- *pTotal = m_totalLength;
- *pAvailable = m_availableLength;
-
- return S_OK;
- }
-}
-
-
-HRESULT DirectShowIOReader::BeginFlush()
-{
- QMutexLocker locker(&m_mutex);
-
- if (m_flushing)
- return S_FALSE;
-
- m_flushing = true;
-
- flushRequests();
-
- m_wait.wakeAll();
-
- return S_OK;
-}
-
-HRESULT DirectShowIOReader::EndFlush()
-{
- QMutexLocker locker(&m_mutex);
-
- if (!m_flushing)
- return S_FALSE;
-
- m_flushing = false;
-
- return S_OK;
-}
-
-void DirectShowIOReader::customEvent(QEvent *event)
-{
- if (event->type() == QEvent::User) {
- readyRead();
- } else {
- QObject::customEvent(event);
- }
-}
-
-void DirectShowIOReader::readyRead()
-{
- QMutexLocker locker(&m_mutex);
-
- m_availableLength = m_device->bytesAvailable() + m_device->pos();
- m_totalLength = m_device->size();
-
- if (m_synchronousBuffer) {
- if (nonBlockingRead(
- m_synchronousPosition,
- m_synchronousLength,
- m_synchronousBuffer,
- &m_synchronousBytesRead,
- &m_synchronousResult)) {
- m_wait.wakeAll();
- }
- } else {
- qint64 bytesRead = 0;
-
- while (m_pendingHead && nonBlockingRead(
- m_pendingHead->position,
- m_pendingHead->length,
- m_pendingHead->buffer,
- &bytesRead,
- &m_pendingHead->result)) {
- m_pendingHead->sample->SetActualDataLength(bytesRead);
-
- if (m_readyTail)
- m_readyTail->next = m_pendingHead;
- m_readyTail = m_pendingHead;
-
- m_pendingHead = m_pendingHead->next;
-
- m_readyTail->next = 0;
-
- if (!m_pendingHead)
- m_pendingTail = 0;
-
- if (!m_readyHead)
- m_readyHead = m_readyTail;
-
- m_wait.wakeAll();
- }
- }
-}
-
-HRESULT DirectShowIOReader::blockingRead(
- LONGLONG position, LONG length, BYTE *buffer, qint64 *bytesRead)
-{
- *bytesRead = 0;
-
- if (qint64(position) > m_device->size())
- return S_FALSE;
-
- const qint64 maxSize = qMin<qint64>(m_device->size(), position + length);
-
- while (m_device->bytesAvailable() + m_device->pos() < maxSize) {
- if (!m_device->waitForReadyRead(-1))
- return S_FALSE;
- }
-
- if (m_device->pos() != position && !m_device->seek(position))
- return S_FALSE;
-
- const qint64 maxBytes = qMin<qint64>(length, m_device->bytesAvailable());
-
- *bytesRead = m_device->read(reinterpret_cast<char *>(buffer), maxBytes);
-
- if (*bytesRead != length) {
- qMemSet(buffer + *bytesRead, 0, length - *bytesRead);
-
- return S_FALSE;
- } else {
- return S_OK;
- }
-}
-
-bool DirectShowIOReader::nonBlockingRead(
- LONGLONG position, LONG length, BYTE *buffer, qint64 *bytesRead, HRESULT *result)
-{
- const qint64 maxSize = qMin<qint64>(m_device->size(), position + length);
-
- if (position > m_device->size()) {
- *bytesRead = 0;
- *result = S_FALSE;
-
- return true;
- } else if (m_device->bytesAvailable() + m_device->pos() >= maxSize) {
- if (m_device->pos() != position && !m_device->seek(position)) {
- *bytesRead = 0;
- *result = S_FALSE;
-
- return true;
- } else {
- const qint64 maxBytes = qMin<qint64>(length, m_device->bytesAvailable());
-
- *bytesRead = m_device->read(reinterpret_cast<char *>(buffer), maxBytes);
-
- if (*bytesRead != length) {
- qMemSet(buffer + *bytesRead, 0, length - *bytesRead);
-
- *result = S_FALSE;
- } else {
- *result = S_OK;
- }
-
- return true;
- }
- } else {
- return false;
- }
-}
-
-void DirectShowIOReader::flushRequests()
-{
- while (m_pendingHead) {
- m_pendingHead->result = VFW_E_WRONG_STATE;
-
- if (m_readyTail)
- m_readyTail->next = m_pendingHead;
-
- m_readyTail = m_pendingHead;
-
- m_pendingHead = m_pendingHead->next;
-
- m_readyTail->next = 0;
-
- if (!m_pendingHead)
- m_pendingTail = 0;
-
- if (!m_readyHead)
- m_readyHead = m_readyTail;
- }
-}
-
-QT_END_NAMESPACE
diff --git a/src/plugins/mediaservices/directshow/mediaplayer/directshowioreader.h b/src/plugins/mediaservices/directshow/mediaplayer/directshowioreader.h
deleted file mode 100644
index 8cbc2f10b6..0000000000
--- a/src/plugins/mediaservices/directshow/mediaplayer/directshowioreader.h
+++ /dev/null
@@ -1,126 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the plugins of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef DIRECTSHOWIOREADER_H
-#define DIRECTSHOWIOREADER_H
-
-#include <QtCore/qmutex.h>
-#include <QtCore/qobject.h>
-#include <QtCore/qwaitcondition.h>
-
-#include <dshow.h>
-
-
-QT_BEGIN_HEADER
-
-QT_BEGIN_NAMESPACE
-
-class QIODevice;
-
-class DirectShowEventLoop;
-class DirectShowIOSource;
-class DirectShowSampleRequest;
-
-class DirectShowIOReader : public QObject, public IAsyncReader
-{
- Q_OBJECT
-public:
- DirectShowIOReader(QIODevice *device, DirectShowIOSource *source, DirectShowEventLoop *loop);
- ~DirectShowIOReader();
-
- // IUnknown
- HRESULT STDMETHODCALLTYPE QueryInterface(REFIID riid, void **ppvObject);
- ULONG STDMETHODCALLTYPE AddRef();
- ULONG STDMETHODCALLTYPE Release();
-
- // IAsyncReader
- HRESULT STDMETHODCALLTYPE RequestAllocator(
- IMemAllocator *pPreferred, ALLOCATOR_PROPERTIES *pProps, IMemAllocator **ppActual);
-
- HRESULT STDMETHODCALLTYPE Request(IMediaSample *pSample, DWORD_PTR dwUser);
-
- HRESULT STDMETHODCALLTYPE WaitForNext(
- DWORD dwTimeout, IMediaSample **ppSample, DWORD_PTR *pdwUser);
-
- HRESULT STDMETHODCALLTYPE SyncReadAligned(IMediaSample *pSample);
-
- HRESULT STDMETHODCALLTYPE SyncRead(LONGLONG llPosition, LONG lLength, BYTE *pBuffer);
-
- HRESULT STDMETHODCALLTYPE Length(LONGLONG *pTotal, LONGLONG *pAvailable);
-
- HRESULT STDMETHODCALLTYPE BeginFlush();
- HRESULT STDMETHODCALLTYPE EndFlush();
-
-protected:
- void customEvent(QEvent *event);
-
-private Q_SLOTS:
- void readyRead();
-
-private:
- HRESULT blockingRead(LONGLONG position, LONG length, BYTE *buffer, qint64 *bytesRead);
- bool nonBlockingRead(
- LONGLONG position, LONG length, BYTE *buffer, qint64 *bytesRead, HRESULT *result);
- void flushRequests();
-
- DirectShowIOSource *m_source;
- QIODevice *m_device;
- DirectShowEventLoop *m_loop;
- DirectShowSampleRequest *m_pendingHead;
- DirectShowSampleRequest *m_pendingTail;
- DirectShowSampleRequest *m_readyHead;
- DirectShowSampleRequest *m_readyTail;
- LONGLONG m_synchronousPosition;
- LONG m_synchronousLength;
- qint64 m_synchronousBytesRead;
- BYTE *m_synchronousBuffer;
- HRESULT m_synchronousResult;
- LONGLONG m_totalLength;
- LONGLONG m_availableLength;
- bool m_flushing;
- QMutex m_mutex;
- QWaitCondition m_wait;
-};
-
-QT_END_NAMESPACE
-
-QT_END_HEADER
-#endif
diff --git a/src/plugins/mediaservices/directshow/mediaplayer/directshowiosource.cpp b/src/plugins/mediaservices/directshow/mediaplayer/directshowiosource.cpp
deleted file mode 100644
index 7b66d56c24..0000000000
--- a/src/plugins/mediaservices/directshow/mediaplayer/directshowiosource.cpp
+++ /dev/null
@@ -1,639 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the plugins of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "directshowiosource.h"
-
-#include "directshowglobal.h"
-#include "directshowmediatype.h"
-#include "directshowpinenum.h"
-
-#include <QtCore/qcoreapplication.h>
-#include <QtCore/qurl.h>
-
-QT_BEGIN_NAMESPACE
-
-static const GUID directshow_subtypes[] =
-{
- MEDIASUBTYPE_Avi,
- MEDIASUBTYPE_WAVE,
- MEDIASUBTYPE_NULL
-};
-
-DirectShowIOSource::DirectShowIOSource(DirectShowEventLoop *loop)
- : m_ref(1)
- , m_state(State_Stopped)
- , m_reader(0)
- , m_loop(loop)
- , m_graph(0)
- , m_clock(0)
- , m_allocator(0)
- , m_peerPin(0)
- , m_pinId(QLatin1String("Data"))
-{
- QVector<AM_MEDIA_TYPE> mediaTypes;
-
- AM_MEDIA_TYPE type =
- {
- MEDIATYPE_Stream, // majortype
- MEDIASUBTYPE_NULL, // subtype
- TRUE, // bFixedSizeSamples
- FALSE, // bTemporalCompression
- 1, // lSampleSize
- GUID_NULL, // formattype
- 0, // pUnk
- 0, // cbFormat
- 0, // pbFormat
- };
-
- static const int count = sizeof(directshow_subtypes) / sizeof(GUID);
-
- for (int i = 0; i < count; ++i) {
- type.subtype = directshow_subtypes[i];
- mediaTypes.append(type);
- }
-
- setMediaTypes(mediaTypes);
-}
-
-DirectShowIOSource::~DirectShowIOSource()
-{
- Q_ASSERT(m_ref == 0);
-
- delete m_reader;
-}
-
-void DirectShowIOSource::setDevice(QIODevice *device)
-{
- Q_ASSERT(!m_reader);
-
- m_reader = new DirectShowIOReader(device, this, m_loop);
-}
-
-void DirectShowIOSource::setAllocator(IMemAllocator *allocator)
-{
- if (m_allocator)
- m_allocator->Release();
-
- m_allocator = allocator;
-
- if (m_allocator)
- m_allocator->AddRef();
-}
-
-// IUnknown
-HRESULT DirectShowIOSource::QueryInterface(REFIID riid, void **ppvObject)
-{
- // 2dd74950-a890-11d1-abe8-00a0c905f375
- static const GUID iid_IAmFilterMiscFlags = {
- 0x2dd74950, 0xa890, 0x11d1, {0xab, 0xe8, 0x00, 0xa0, 0xc9, 0x05, 0xf3, 0x75}};
-
- if (!ppvObject) {
- return E_POINTER;
- } else if (riid == IID_IUnknown
- || riid == IID_IPersist
- || riid == IID_IMediaFilter
- || riid == IID_IBaseFilter) {
- *ppvObject = static_cast<IBaseFilter *>(this);
- } else if (riid == iid_IAmFilterMiscFlags) {
- *ppvObject = static_cast<IAMFilterMiscFlags *>(this);
- } else if (riid == IID_IPin) {
- *ppvObject = static_cast<IPin *>(this);
- } else if (riid == IID_IAsyncReader) {
- *ppvObject = static_cast<IAsyncReader *>(m_reader);
- } else {
- *ppvObject = 0;
-
- return E_NOINTERFACE;
- }
-
- AddRef();
-
- return S_OK;
-}
-
-ULONG DirectShowIOSource::AddRef()
-{
- return InterlockedIncrement(&m_ref);
-}
-
-ULONG DirectShowIOSource::Release()
-{
- ULONG ref = InterlockedDecrement(&m_ref);
-
- if (ref == 0) {
- delete this;
- }
-
- return ref;
-}
-
-// IPersist
-HRESULT DirectShowIOSource::GetClassID(CLSID *pClassID)
-{
- *pClassID = CLSID_NULL;
-
- return S_OK;
-}
-
-// IMediaFilter
-HRESULT DirectShowIOSource::Run(REFERENCE_TIME tStart)
-{
- QMutexLocker locker(&m_mutex);
-
- m_state = State_Running;
-
- return S_OK;
-}
-
-HRESULT DirectShowIOSource::Pause()
-{
- QMutexLocker locker(&m_mutex);
-
- m_state = State_Paused;
-
- return S_OK;
-}
-
-HRESULT DirectShowIOSource::Stop()
-{
- QMutexLocker locker(&m_mutex);
-
- m_state = State_Stopped;
-
- return S_OK;
-}
-
-HRESULT DirectShowIOSource::GetState(DWORD dwMilliSecsTimeout, FILTER_STATE *pState)
-{
- Q_UNUSED(dwMilliSecsTimeout);
-
- if (!pState) {
- return E_POINTER;
- } else {
- QMutexLocker locker(&m_mutex);
-
- *pState = m_state;
-
- return S_OK;
- }
-}
-
-HRESULT DirectShowIOSource::SetSyncSource(IReferenceClock *pClock)
-{
- QMutexLocker locker(&m_mutex);
-
- if (m_clock)
- m_clock->Release();
-
- m_clock = pClock;
-
- if (m_clock)
- m_clock->AddRef();
-
- return S_OK;
-}
-
-HRESULT DirectShowIOSource::GetSyncSource(IReferenceClock **ppClock)
-{
- if (!ppClock) {
- return E_POINTER;
- } else {
- if (!m_clock) {
- *ppClock = 0;
-
- return S_FALSE;
- } else {
- m_clock->AddRef();
-
- *ppClock = m_clock;
-
- return S_OK;
- }
- }
-}
-
-// IBaseFilter
-HRESULT DirectShowIOSource::EnumPins(IEnumPins **ppEnum)
-{
- if (!ppEnum) {
- return E_POINTER;
- } else {
- *ppEnum = new DirectShowPinEnum(QList<IPin *>() << this);
-
- return S_OK;
- }
-}
-
-HRESULT DirectShowIOSource::FindPin(LPCWSTR Id, IPin **ppPin)
-{
- if (!ppPin || !Id) {
- return E_POINTER;
- } else {
- QMutexLocker locker(&m_mutex);
- if (QString::fromWCharArray(Id) == m_pinId) {
- AddRef();
-
- *ppPin = this;
-
- return S_OK;
- } else {
- *ppPin = 0;
-
- return VFW_E_NOT_FOUND;
- }
- }
-}
-
-HRESULT DirectShowIOSource::JoinFilterGraph(IFilterGraph *pGraph, LPCWSTR pName)
-{
- QMutexLocker locker(&m_mutex);
-
- m_graph = pGraph;
- m_filterName = QString::fromWCharArray(pName);
-
- return S_OK;
-}
-
-HRESULT DirectShowIOSource::QueryFilterInfo(FILTER_INFO *pInfo)
-{
- if (!pInfo) {
- return E_POINTER;
- } else {
- QString name = m_filterName;
-
- if (name.length() >= MAX_FILTER_NAME)
- name.truncate(MAX_FILTER_NAME - 1);
-
- int length = name.toWCharArray(pInfo->achName);
- pInfo->achName[length] = '\0';
-
- if (m_graph)
- m_graph->AddRef();
-
- pInfo->pGraph = m_graph;
-
- return S_OK;
- }
-}
-
-HRESULT DirectShowIOSource::QueryVendorInfo(LPWSTR *pVendorInfo)
-{
- Q_UNUSED(pVendorInfo);
-
- return E_NOTIMPL;
-}
-
-// IAMFilterMiscFlags
-ULONG DirectShowIOSource::GetMiscFlags()
-{
- return AM_FILTER_MISC_FLAGS_IS_SOURCE;
-}
-
-// IPin
-HRESULT DirectShowIOSource::Connect(IPin *pReceivePin, const AM_MEDIA_TYPE *pmt)
-{
- QMutexLocker locker(&m_mutex);
- if (!pReceivePin) {
- return E_POINTER;
- } else if (m_state != State_Stopped) {
- return VFW_E_NOT_STOPPED;
- } else if (m_peerPin) {
- return VFW_E_ALREADY_CONNECTED;
- } else {
- HRESULT hr = VFW_E_TYPE_NOT_ACCEPTED;
-
- m_peerPin = pReceivePin;
- m_peerPin->AddRef();
-
- if (!pmt) {
- IEnumMediaTypes *mediaTypes = 0;
- if (pReceivePin->EnumMediaTypes(&mediaTypes) == S_OK) {
- for (AM_MEDIA_TYPE *type = 0;
- mediaTypes->Next(1, &type, 0) == S_OK;
- DirectShowMediaType::deleteType(type)) {
- switch (tryConnect(pReceivePin, type)) {
- case S_OK:
- DirectShowMediaType::freeData(type);
- mediaTypes->Release();
- return S_OK;
- case VFW_E_NO_TRANSPORT:
- hr = VFW_E_NO_TRANSPORT;
- break;
- default:
- break;
- }
- }
- mediaTypes->Release();
- }
- AM_MEDIA_TYPE type =
- {
- MEDIATYPE_Stream, // majortype
- MEDIASUBTYPE_NULL, // subtype
- TRUE, // bFixedSizeSamples
- FALSE, // bTemporalCompression
- 1, // lSampleSize
- GUID_NULL, // formattype
- 0, // pUnk
- 0, // cbFormat
- 0, // pbFormat
- };
-
- static const int count = sizeof(directshow_subtypes) / sizeof(GUID);
-
- for (int i = 0; i < count; ++i) {
- type.subtype = directshow_subtypes[i];
-
- switch (tryConnect(pReceivePin, &type)) {
- case S_OK:
- return S_OK;
- case VFW_E_NO_TRANSPORT:
- hr = VFW_E_NO_TRANSPORT;
- break;
- default:
- break;
- }
- }
- } else if (pmt->majortype == MEDIATYPE_Stream && (hr = tryConnect(pReceivePin, pmt))) {
- return S_OK;
- }
-
- m_peerPin->Release();
- m_peerPin = 0;
-
- m_mediaType.clear();
-
- return hr;
- }
-}
-
-HRESULT DirectShowIOSource::tryConnect(IPin *pin, const AM_MEDIA_TYPE *type)
-{
- m_mediaType = *type;
-
- HRESULT hr = pin->ReceiveConnection(this, type);
-
- if (!SUCCEEDED(hr)) {
- if (m_allocator) {
- m_allocator->Release();
- m_allocator = 0;
- }
- } else if (!m_allocator) {
- hr = VFW_E_NO_TRANSPORT;
-
- if (IMemInputPin *memPin = com_cast<IMemInputPin>(pin, IID_IMemInputPin)) {
- if ((m_allocator = com_new<IMemAllocator>(CLSID_MemoryAllocator, IID_IMemAllocator))) {
- ALLOCATOR_PROPERTIES properties;
- if (memPin->GetAllocatorRequirements(&properties) == S_OK
- || m_allocator->GetProperties(&properties) == S_OK) {
- if (properties.cbAlign == 0)
- properties.cbAlign = 1;
-
- ALLOCATOR_PROPERTIES actualProperties;
- if (SUCCEEDED(hr = m_allocator->SetProperties(&properties, &actualProperties)))
- hr = memPin->NotifyAllocator(m_allocator, TRUE);
- }
- if (!SUCCEEDED(hr)) {
- m_allocator->Release();
- m_allocator = 0;
- }
- }
- memPin->Release();
- }
- if (!SUCCEEDED(hr))
- pin->Disconnect();
- }
- return hr;
-}
-
-HRESULT DirectShowIOSource::ReceiveConnection(IPin *pConnector, const AM_MEDIA_TYPE *pmt)
-{
- Q_UNUSED(pConnector);
- Q_UNUSED(pmt);
- // Output pin.
- return E_NOTIMPL;
-}
-
-HRESULT DirectShowIOSource::Disconnect()
-{
- if (!m_peerPin) {
- return S_FALSE;
- } else if (m_state != State_Stopped) {
- return VFW_E_NOT_STOPPED;
- } else {
- HRESULT hr = m_peerPin->Disconnect();
-
- if (!SUCCEEDED(hr))
- return hr;
-
- if (m_allocator) {
- m_allocator->Release();
- m_allocator = 0;
- }
-
- m_peerPin->Release();
- m_peerPin = 0;
-
- m_mediaType.clear();
-
- return S_OK;
- }
-}
-
-HRESULT DirectShowIOSource::ConnectedTo(IPin **ppPin)
-{
- if (!ppPin) {
- return E_POINTER;
- } else {
- QMutexLocker locker(&m_mutex);
-
- if (!m_peerPin) {
- *ppPin = 0;
-
- return VFW_E_NOT_CONNECTED;
- } else {
- m_peerPin->AddRef();
-
- *ppPin = m_peerPin;
-
- return S_OK;
- }
- }
-}
-
-HRESULT DirectShowIOSource::ConnectionMediaType(AM_MEDIA_TYPE *pmt)
-{
- if (!pmt) {
- return E_POINTER;
- } else {
- QMutexLocker locker(&m_mutex);
-
- if (!m_peerPin) {
- pmt = 0;
-
- return VFW_E_NOT_CONNECTED;
- } else {
- DirectShowMediaType::copy(pmt, m_mediaType);
-
- return S_OK;
- }
- }
-}
-
-HRESULT DirectShowIOSource::QueryPinInfo(PIN_INFO *pInfo)
-{
- if (!pInfo) {
- return E_POINTER;
- } else {
- AddRef();
-
- pInfo->pFilter = this;
- pInfo->dir = PINDIR_OUTPUT;
-
- const int bytes = qMin(MAX_FILTER_NAME, (m_pinId.length() + 1) * 2);
-
- qMemCopy(pInfo->achName, m_pinId.utf16(), bytes);
-
- return S_OK;
- }
-}
-
-HRESULT DirectShowIOSource::QueryId(LPWSTR *Id)
-{
- if (!Id) {
- return E_POINTER;
- } else {
- const int bytes = (m_pinId.length() + 1) * 2;
-
- *Id = static_cast<LPWSTR>(::CoTaskMemAlloc(bytes));
-
- qMemCopy(*Id, m_pinId.utf16(), bytes);
-
- return S_OK;
- }
-}
-
-HRESULT DirectShowIOSource::QueryAccept(const AM_MEDIA_TYPE *pmt)
-{
- if (!pmt) {
- return E_POINTER;
- } else if (pmt->majortype == MEDIATYPE_Stream) {
- return S_OK;
- } else {
- return S_FALSE;
- }
-}
-
-HRESULT DirectShowIOSource::EnumMediaTypes(IEnumMediaTypes **ppEnum)
-{
- if (!ppEnum) {
- return E_POINTER;
- } else {
- *ppEnum = createMediaTypeEnum();
-
- return S_OK;
- }
-}
-
-HRESULT DirectShowIOSource::QueryInternalConnections(IPin **apPin, ULONG *nPin)
-{
- Q_UNUSED(apPin);
- Q_UNUSED(nPin);
-
- return E_NOTIMPL;
-}
-
-HRESULT DirectShowIOSource::EndOfStream()
-{
- return S_OK;
-}
-
-HRESULT DirectShowIOSource::BeginFlush()
-{
- return m_reader->BeginFlush();
-}
-
-HRESULT DirectShowIOSource::EndFlush()
-{
- return m_reader->EndFlush();
-}
-
-HRESULT DirectShowIOSource::NewSegment(REFERENCE_TIME tStart, REFERENCE_TIME tStop, double dRate)
-{
- Q_UNUSED(tStart);
- Q_UNUSED(tStop);
- Q_UNUSED(dRate);
-
- return S_OK;
-}
-
-HRESULT DirectShowIOSource::QueryDirection(PIN_DIRECTION *pPinDir)
-{
- if (!pPinDir) {
- return E_POINTER;
- } else {
- *pPinDir = PINDIR_OUTPUT;
-
- return S_OK;
- }
-}
-
-QT_END_NAMESPACE
-
-DirectShowRcSource::DirectShowRcSource(DirectShowEventLoop *loop)
- : DirectShowIOSource(loop)
-{
-}
-
-bool DirectShowRcSource::open(const QUrl &url)
-{
- m_file.moveToThread(QCoreApplication::instance()->thread());
-
- m_file.setFileName(QLatin1Char(':') + url.path());
-
- if (m_file.open(QIODevice::ReadOnly)) {
-
- setDevice(&m_file);
-
- return true;
- } else {
- return false;
- }
-}
diff --git a/src/plugins/mediaservices/directshow/mediaplayer/directshowiosource.h b/src/plugins/mediaservices/directshow/mediaplayer/directshowiosource.h
deleted file mode 100644
index 1d917dfcba..0000000000
--- a/src/plugins/mediaservices/directshow/mediaplayer/directshowiosource.h
+++ /dev/null
@@ -1,157 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the plugins of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef DIRECTSHOWIOSOURCE_H
-#define DIRECTSHOWIOSOURCE_H
-
-#include "directshowglobal.h"
-#include "directshowioreader.h"
-#include "directshowmediatype.h"
-#include "directshowmediatypelist.h"
-
-#include <QtCore/qfile.h>
-
-QT_BEGIN_HEADER
-
-QT_BEGIN_NAMESPACE
-
-class DirectShowIOSource
- : public DirectShowMediaTypeList
- , public IBaseFilter
- , public IAMFilterMiscFlags
- , public IPin
-{
-public:
- DirectShowIOSource(DirectShowEventLoop *loop);
- ~DirectShowIOSource();
-
- void setDevice(QIODevice *device);
- void setAllocator(IMemAllocator *allocator);
-
- // IUnknown
- HRESULT STDMETHODCALLTYPE QueryInterface(REFIID riid, void **ppvObject);
- ULONG STDMETHODCALLTYPE AddRef();
- ULONG STDMETHODCALLTYPE Release();
-
- // IPersist
- HRESULT STDMETHODCALLTYPE GetClassID(CLSID *pClassID);
-
- // IMediaFilter
- HRESULT STDMETHODCALLTYPE Run(REFERENCE_TIME tStart);
- HRESULT STDMETHODCALLTYPE Pause();
- HRESULT STDMETHODCALLTYPE Stop();
-
- HRESULT STDMETHODCALLTYPE GetState(DWORD dwMilliSecsTimeout, FILTER_STATE *pState);
-
- HRESULT STDMETHODCALLTYPE SetSyncSource(IReferenceClock *pClock);
- HRESULT STDMETHODCALLTYPE GetSyncSource(IReferenceClock **ppClock);
-
- // IBaseFilter
- HRESULT STDMETHODCALLTYPE EnumPins(IEnumPins **ppEnum);
- HRESULT STDMETHODCALLTYPE FindPin(LPCWSTR Id, IPin **ppPin);
-
- HRESULT STDMETHODCALLTYPE JoinFilterGraph(IFilterGraph *pGraph, LPCWSTR pName);
-
- HRESULT STDMETHODCALLTYPE QueryFilterInfo(FILTER_INFO *pInfo);
- HRESULT STDMETHODCALLTYPE QueryVendorInfo(LPWSTR *pVendorInfo);
-
- // IAMFilterMiscFlags
- ULONG STDMETHODCALLTYPE GetMiscFlags();
-
- // IPin
- HRESULT STDMETHODCALLTYPE Connect(IPin *pReceivePin, const AM_MEDIA_TYPE *pmt);
- HRESULT STDMETHODCALLTYPE ReceiveConnection(IPin *pConnector, const AM_MEDIA_TYPE *pmt);
- HRESULT STDMETHODCALLTYPE Disconnect();
- HRESULT STDMETHODCALLTYPE ConnectedTo(IPin **ppPin);
-
- HRESULT STDMETHODCALLTYPE ConnectionMediaType(AM_MEDIA_TYPE *pmt);
-
- HRESULT STDMETHODCALLTYPE QueryPinInfo(PIN_INFO *pInfo);
- HRESULT STDMETHODCALLTYPE QueryId(LPWSTR *Id);
-
- HRESULT STDMETHODCALLTYPE QueryAccept(const AM_MEDIA_TYPE *pmt);
-
- HRESULT STDMETHODCALLTYPE EnumMediaTypes(IEnumMediaTypes **ppEnum);
-
- HRESULT STDMETHODCALLTYPE QueryInternalConnections(IPin **apPin, ULONG *nPin);
-
- HRESULT STDMETHODCALLTYPE EndOfStream();
-
- HRESULT STDMETHODCALLTYPE BeginFlush();
- HRESULT STDMETHODCALLTYPE EndFlush();
-
- HRESULT STDMETHODCALLTYPE NewSegment(REFERENCE_TIME tStart, REFERENCE_TIME tStop, double dRate);
-
- HRESULT STDMETHODCALLTYPE QueryDirection(PIN_DIRECTION *pPinDir);
-
-private:
- HRESULT tryConnect(IPin *pin, const AM_MEDIA_TYPE *type);
-
- volatile LONG m_ref;
- FILTER_STATE m_state;
- DirectShowIOReader *m_reader;
- DirectShowEventLoop *m_loop;
- IFilterGraph *m_graph;
- IReferenceClock *m_clock;
- IMemAllocator *m_allocator;
- IPin *m_peerPin;
- DirectShowMediaType m_mediaType;
- QString m_filterName;
- const QString m_pinId;
- QMutex m_mutex;
-};
-
-class DirectShowRcSource : public DirectShowIOSource
-{
-public:
- DirectShowRcSource(DirectShowEventLoop *loop);
-
- bool open(const QUrl &url);
-
-private:
- QFile m_file;
-};
-
-QT_END_NAMESPACE
-
-QT_END_HEADER
-
-#endif
diff --git a/src/plugins/mediaservices/directshow/mediaplayer/directshowmediatype.cpp b/src/plugins/mediaservices/directshow/mediaplayer/directshowmediatype.cpp
deleted file mode 100644
index f8f519d72d..0000000000
--- a/src/plugins/mediaservices/directshow/mediaplayer/directshowmediatype.cpp
+++ /dev/null
@@ -1,205 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the plugins of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "directshowmediatype.h"
-
-
-QT_BEGIN_NAMESPACE
-
-namespace
-{
- struct TypeLookup
- {
- QVideoFrame::PixelFormat pixelFormat;
- GUID mediaType;
- };
-
- static const TypeLookup qt_typeLookup[] =
- {
- { QVideoFrame::Format_RGB32, /*MEDIASUBTYPE_RGB32*/ {0xe436eb7e, 0x524f, 0x11ce, {0x9f, 0x53, 0x00, 0x20, 0xaf, 0x0b, 0xa7, 0x70}} },
- { QVideoFrame::Format_BGR24, /*MEDIASUBTYPE_RGB24*/ {0xe436eb7d, 0x524f, 0x11ce, {0x9f, 0x53, 0x00, 0x20, 0xaf, 0x0b, 0xa7, 0x70}} },
- { QVideoFrame::Format_RGB565, /*MEDIASUBTYPE_RGB565*/ {0xe436eb7b, 0x524f, 0x11ce, {0x9f, 0x53, 0x00, 0x20, 0xaf, 0x0b, 0xa7, 0x70}} },
- { QVideoFrame::Format_RGB555, /*MEDIASUBTYPE_RGB555*/ {0xe436eb7c, 0x524f, 0x11ce, {0x9f, 0x53, 0x00, 0x20, 0xaf, 0x0b, 0xa7, 0x70}} },
- { QVideoFrame::Format_AYUV444, /*MEDIASUBTYPE_AYUV*/ {0x56555941, 0x0000, 0x0010, {0x80, 0x00, 0x00, 0xaa, 0x00, 0x38, 0x9b, 0x71}} },
- { QVideoFrame::Format_YUYV, /*MEDIASUBTYPE_YUY2*/ {0x32595559, 0x0000, 0x0010, {0x80, 0x00, 0x00, 0xaa, 0x00, 0x38, 0x9b, 0x71}} },
- { QVideoFrame::Format_UYVY, /*MEDIASUBTYPE_UYVY*/ {0x59565955, 0x0000, 0x0010, {0x80, 0x00, 0x00, 0xaa, 0x00, 0x38, 0x9b, 0x71}} },
- { QVideoFrame::Format_IMC1, /*MEDIASUBTYPE_IMC1*/ {0x31434D49, 0x0000, 0x0010, {0x80, 0x00, 0x00, 0xaa, 0x00, 0x38, 0x9b, 0x71}} },
- { QVideoFrame::Format_IMC2, /*MEDIASUBTYPE_IMC2*/ {0x32434D49, 0x0000, 0x0010, {0x80, 0x00, 0x00, 0xaa, 0x00, 0x38, 0x9b, 0x71}} },
- { QVideoFrame::Format_IMC3, /*MEDIASUBTYPE_IMC3*/ {0x33434D49, 0x0000, 0x0010, {0x80, 0x00, 0x00, 0xaa, 0x00, 0x38, 0x9b, 0x71}} },
- { QVideoFrame::Format_IMC4, /*MEDIASUBTYPE_IMC4*/ {0x34434D49, 0x0000, 0x0010, {0x80, 0x00, 0x00, 0xaa, 0x00, 0x38, 0x9b, 0x71}} },
- { QVideoFrame::Format_YV12, /*MEDIASUBTYPE_YV12*/ {0x32315659, 0x0000, 0x0010, {0x80, 0x00, 0x00, 0xaa, 0x00, 0x38, 0x9b, 0x71}} },
- { QVideoFrame::Format_NV12, /*MEDIASUBTYPE_NV12*/ {0x3231564E, 0x0000, 0x0010, {0x80, 0x00, 0x00, 0xaa, 0x00, 0x38, 0x9b, 0x71}} },
- { QVideoFrame::Format_YUV420P, /*MEDIASUBTYPE_IYUV*/ {0x56555949, 0x0000, 0x0010, {0x80, 0x00, 0x00, 0xaa, 0x00, 0x38, 0x9b, 0x71}} }
- };
-}
-
-void DirectShowMediaType::copy(AM_MEDIA_TYPE *target, const AM_MEDIA_TYPE &source)
-{
- *target = source;
-
- if (source.cbFormat > 0) {
- target->pbFormat = reinterpret_cast<PBYTE>(CoTaskMemAlloc(source.cbFormat));
- memcpy(target->pbFormat, source.pbFormat, source.cbFormat);
- }
- if (target->pUnk)
- target->pUnk->AddRef();
-}
-
-void DirectShowMediaType::deleteType(AM_MEDIA_TYPE *type)
-{
- freeData(type);
-
- CoTaskMemFree(type);
-}
-
-void DirectShowMediaType::freeData(AM_MEDIA_TYPE *type)
-{
- if (type->cbFormat > 0)
- CoTaskMemFree(type->pbFormat);
-
- if (type->pUnk)
- type->pUnk->Release();
-}
-
-
-GUID DirectShowMediaType::convertPixelFormat(QVideoFrame::PixelFormat format)
-{
- // MEDIASUBTYPE_None;
- static const GUID none = {
- 0xe436eb8e, 0x524f, 0x11ce, {0x9f, 0x53, 0x00, 0x20, 0xaf, 0x0b, 0xa7, 0x70} };
-
- const int count = sizeof(qt_typeLookup) / sizeof(TypeLookup);
-
- for (int i = 0; i < count; ++i)
- if (qt_typeLookup[i].pixelFormat == format)
- return qt_typeLookup[i].mediaType;
- return none;
-}
-
-QVideoSurfaceFormat DirectShowMediaType::formatFromType(const AM_MEDIA_TYPE &type)
-{
- const int count = sizeof(qt_typeLookup) / sizeof(TypeLookup);
-
- for (int i = 0; i < count; ++i) {
- if (IsEqualGUID(qt_typeLookup[i].mediaType, type.subtype) && type.cbFormat > 0) {
- if (IsEqualGUID(type.formattype, FORMAT_VideoInfo)) {
- VIDEOINFOHEADER *header = reinterpret_cast<VIDEOINFOHEADER *>(type.pbFormat);
-
- QVideoSurfaceFormat format(
- QSize(header->bmiHeader.biWidth, qAbs(header->bmiHeader.biHeight)),
- qt_typeLookup[i].pixelFormat);
-
- if (header->AvgTimePerFrame > 0)
- format.setFrameRate(10000 /header->AvgTimePerFrame);
-
- switch (qt_typeLookup[i].pixelFormat) {
- case QVideoFrame::Format_RGB32:
- case QVideoFrame::Format_BGR24:
- case QVideoFrame::Format_RGB565:
- case QVideoFrame::Format_RGB555:
- if (header->bmiHeader.biHeight >= 0)
- format.setScanLineDirection(QVideoSurfaceFormat::BottomToTop);
- break;
- default:
- break;
- }
-
- return format;
- } else if (IsEqualGUID(type.formattype, FORMAT_VideoInfo2)) {
- VIDEOINFOHEADER2 *header = reinterpret_cast<VIDEOINFOHEADER2 *>(type.pbFormat);
-
- QVideoSurfaceFormat format(
- QSize(header->bmiHeader.biWidth, qAbs(header->bmiHeader.biHeight)),
- qt_typeLookup[i].pixelFormat);
-
- if (header->AvgTimePerFrame > 0)
- format.setFrameRate(10000 / header->AvgTimePerFrame);
-
- switch (qt_typeLookup[i].pixelFormat) {
- case QVideoFrame::Format_RGB32:
- case QVideoFrame::Format_BGR24:
- case QVideoFrame::Format_RGB565:
- case QVideoFrame::Format_RGB555:
- if (header->bmiHeader.biHeight >= 0)
- format.setScanLineDirection(QVideoSurfaceFormat::BottomToTop);
- break;
- default:
- break;
- }
-
- return format;
- }
- }
- }
- return QVideoSurfaceFormat();
-}
-
-int DirectShowMediaType::bytesPerLine(const QVideoSurfaceFormat &format)
-{
- switch (format.pixelFormat()) {
- // 32 bpp packed formats.
- case QVideoFrame::Format_RGB32:
- case QVideoFrame::Format_AYUV444:
- return format.frameWidth() * 4;
- // 24 bpp packed formats.
- case QVideoFrame::Format_RGB24:
- return format.frameWidth() * 3 + 3 - format.frameWidth() % 4;
- // 16 bpp packed formats.
- case QVideoFrame::Format_RGB565:
- case QVideoFrame::Format_RGB555:
- case QVideoFrame::Format_YUYV:
- case QVideoFrame::Format_UYVY:
- return format.frameWidth() * 2 + 3 - format.frameWidth() % 4;
- // Planar formats.
- case QVideoFrame::Format_IMC1:
- case QVideoFrame::Format_IMC2:
- case QVideoFrame::Format_IMC3:
- case QVideoFrame::Format_IMC4:
- case QVideoFrame::Format_YV12:
- case QVideoFrame::Format_NV12:
- case QVideoFrame::Format_YUV420P:
- return format.frameWidth() + 3 - format.frameWidth() % 4;
- default:
- return 0;
- }
-}
-
-QT_END_NAMESPACE
diff --git a/src/plugins/mediaservices/directshow/mediaplayer/directshowmediatype.h b/src/plugins/mediaservices/directshow/mediaplayer/directshowmediatype.h
deleted file mode 100644
index 3cc730761b..0000000000
--- a/src/plugins/mediaservices/directshow/mediaplayer/directshowmediatype.h
+++ /dev/null
@@ -1,85 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the plugins of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef DIRECTSHOWMEDIATYPE_H
-#define DIRECTSHOWMEDIATYPE_H
-
-#include <QtMultimedia/qvideosurfaceformat.h>
-
-#include <dshow.h>
-#include <dvdmedia.h>
-
-
-QT_BEGIN_HEADER
-
-QT_BEGIN_NAMESPACE
-
-
-class DirectShowMediaType : public AM_MEDIA_TYPE
-{
-public:
- DirectShowMediaType() { memset(this, 0, sizeof(DirectShowMediaType)); }
- DirectShowMediaType(const AM_MEDIA_TYPE &type) { copy(this, type); }
- DirectShowMediaType(const DirectShowMediaType &other) { copy(this, other); }
- DirectShowMediaType &operator =(const AM_MEDIA_TYPE &type) {
- freeData(this); copy(this, type); return *this; }
- DirectShowMediaType &operator =(const DirectShowMediaType &other) {
- freeData(this); copy(this, other); return *this; }
- ~DirectShowMediaType() { freeData(this); }
-
- void clear() { freeData(this); memset(this, 0, sizeof(DirectShowMediaType)); }
-
- static void copy(AM_MEDIA_TYPE *target, const AM_MEDIA_TYPE &source);
- static void freeData(AM_MEDIA_TYPE *type);
- static void deleteType(AM_MEDIA_TYPE *type);
-
- static GUID convertPixelFormat(QVideoFrame::PixelFormat format);
- static QVideoSurfaceFormat formatFromType(const AM_MEDIA_TYPE &type);
-
- static int bytesPerLine(const QVideoSurfaceFormat &format);
-};
-
-
-QT_END_NAMESPACE
-
-QT_END_HEADER
-
-#endif
diff --git a/src/plugins/mediaservices/directshow/mediaplayer/directshowmediatypelist.cpp b/src/plugins/mediaservices/directshow/mediaplayer/directshowmediatypelist.cpp
deleted file mode 100644
index f67794a980..0000000000
--- a/src/plugins/mediaservices/directshow/mediaplayer/directshowmediatypelist.cpp
+++ /dev/null
@@ -1,229 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the plugins of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "directshowmediatypelist.h"
-
-#include "directshowmediatype.h"
-#include "videosurfacefilter.h"
-
-
-QT_BEGIN_NAMESPACE
-
-class DirectShowMediaTypeEnum : public IEnumMediaTypes
-{
-public:
- DirectShowMediaTypeEnum(DirectShowMediaTypeList *list, int token, int index = 0);
- ~DirectShowMediaTypeEnum();
-
- // IUnknown
- HRESULT STDMETHODCALLTYPE QueryInterface(REFIID riid, void **ppvObject);
- ULONG STDMETHODCALLTYPE AddRef();
- ULONG STDMETHODCALLTYPE Release();
-
- // IEnumMediaTypes
- HRESULT STDMETHODCALLTYPE Next(
- ULONG cMediaTypes, AM_MEDIA_TYPE **ppMediaTypes, ULONG *pcFetched);
- HRESULT STDMETHODCALLTYPE Skip(ULONG cMediaTypes);
- HRESULT STDMETHODCALLTYPE Reset();
-
- HRESULT STDMETHODCALLTYPE Clone(IEnumMediaTypes **ppEnum);
-
-private:
- LONG m_ref;
- DirectShowMediaTypeList *m_list;
- int m_mediaTypeToken;
- int m_index;
-};
-
-
-DirectShowMediaTypeEnum::DirectShowMediaTypeEnum(
- DirectShowMediaTypeList *list, int token, int index)
- : m_ref(1)
- , m_list(list)
- , m_mediaTypeToken(token)
- , m_index(index)
-{
- m_list->AddRef();
-}
-
-DirectShowMediaTypeEnum::~DirectShowMediaTypeEnum()
-{
- m_list->Release();
-}
-
-HRESULT DirectShowMediaTypeEnum::QueryInterface(REFIID riid, void **ppvObject)
-{
- if (!ppvObject) {
- return E_POINTER;
- } else if (riid == IID_IUnknown
- || riid == IID_IEnumMediaTypes) {
- *ppvObject = static_cast<IEnumMediaTypes *>(this);
- } else {
- *ppvObject = 0;
-
- return E_NOINTERFACE;
- }
-
- AddRef();
-
- return S_OK;
-}
-
-ULONG DirectShowMediaTypeEnum::AddRef()
-{
- return InterlockedIncrement(&m_ref);
-}
-
-ULONG DirectShowMediaTypeEnum::Release()
-{
- ULONG ref = InterlockedDecrement(&m_ref);
-
- if (ref == 0) {
- delete this;
- }
-
- return ref;
-}
-
-HRESULT DirectShowMediaTypeEnum::Next(
- ULONG cMediaTypes, AM_MEDIA_TYPE **ppMediaTypes, ULONG *pcFetched)
-{
- return m_list->nextMediaType(m_mediaTypeToken, &m_index, cMediaTypes, ppMediaTypes, pcFetched);
-}
-
-HRESULT DirectShowMediaTypeEnum::Skip(ULONG cMediaTypes)
-{
- return m_list->skipMediaType(m_mediaTypeToken, &m_index, cMediaTypes);
-}
-
-HRESULT DirectShowMediaTypeEnum::Reset()
-{
- m_mediaTypeToken = m_list->currentMediaTypeToken();
- m_index = 0;
-
- return S_OK;
-}
-
-HRESULT DirectShowMediaTypeEnum::Clone(IEnumMediaTypes **ppEnum)
-{
- return m_list->cloneMediaType(m_mediaTypeToken, m_index, ppEnum);
-}
-
-
-DirectShowMediaTypeList::DirectShowMediaTypeList()
- : m_mediaTypeToken(0)
-{
-}
-
-IEnumMediaTypes *DirectShowMediaTypeList::createMediaTypeEnum()
-{
- return new DirectShowMediaTypeEnum(this, m_mediaTypeToken, 0);
-}
-
-
-void DirectShowMediaTypeList::setMediaTypes(const QVector<AM_MEDIA_TYPE> &types)
-{
- ++m_mediaTypeToken;
-
- m_mediaTypes = types;
-}
-
-
-int DirectShowMediaTypeList::currentMediaTypeToken()
-{
- return m_mediaTypeToken;
-}
-
-HRESULT DirectShowMediaTypeList::nextMediaType(
- int token, int *index, ULONG count, AM_MEDIA_TYPE **types, ULONG *fetchedCount)
-{
- if (!types || (count != 1 && !fetchedCount)) {
- return E_POINTER;
- } else if (m_mediaTypeToken != token) {
- return VFW_E_ENUM_OUT_OF_SYNC;
- } else {
- int boundedCount = qBound<int>(0, count, m_mediaTypes.count() - *index);
-
- for (int i = 0; i < boundedCount; ++i, ++(*index)) {
- types[i] = reinterpret_cast<AM_MEDIA_TYPE *>(CoTaskMemAlloc(sizeof(AM_MEDIA_TYPE)));
-
- if (types[i]) {
- DirectShowMediaType::copy(types[i], m_mediaTypes.at(*index));
- } else {
- for (--i; i >= 0; --i)
- CoTaskMemFree(types[i]);
-
- if (fetchedCount)
- *fetchedCount = 0;
-
- return E_OUTOFMEMORY;
- }
- }
- if (fetchedCount)
- *fetchedCount = boundedCount;
-
- return boundedCount == count ? S_OK : S_FALSE;
- }
-}
-
-HRESULT DirectShowMediaTypeList::skipMediaType(int token, int *index, ULONG count)
-{
- if (m_mediaTypeToken != token) {
- return VFW_E_ENUM_OUT_OF_SYNC;
- } else {
- *index = qMin<int>(*index + count, m_mediaTypes.size());
-
- return *index < m_mediaTypes.size() ? S_OK : S_FALSE;
- }
-}
-
-HRESULT DirectShowMediaTypeList::cloneMediaType(int token, int index, IEnumMediaTypes **enumeration)
-{
- if (m_mediaTypeToken != token) {
- return VFW_E_ENUM_OUT_OF_SYNC;
- } else {
- *enumeration = new DirectShowMediaTypeEnum(this, token, index);
-
- return S_OK;
- }
-}
-
-QT_END_NAMESPACE
diff --git a/src/plugins/mediaservices/directshow/mediaplayer/directshowmediatypelist.h b/src/plugins/mediaservices/directshow/mediaplayer/directshowmediatypelist.h
deleted file mode 100644
index b49f24c426..0000000000
--- a/src/plugins/mediaservices/directshow/mediaplayer/directshowmediatypelist.h
+++ /dev/null
@@ -1,78 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the plugins of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef DIRECTSHOWMEDIATYPELIST_H
-#define DIRECTSHOWMEDIATYPELIST_H
-
-#include <QtCore/qvector.h>
-
-#include <dshow.h>
-
-
-QT_BEGIN_HEADER
-
-QT_BEGIN_NAMESPACE
-
-class DirectShowMediaTypeList : public IUnknown
-{
-public:
- DirectShowMediaTypeList();
-
- IEnumMediaTypes *createMediaTypeEnum();
-
- void setMediaTypes(const QVector<AM_MEDIA_TYPE> &types);
-
- virtual int currentMediaTypeToken();
- virtual HRESULT nextMediaType(
- int token, int *index, ULONG count, AM_MEDIA_TYPE **types, ULONG *fetchedCount);
- virtual HRESULT skipMediaType(int token, int *index, ULONG count);
- virtual HRESULT cloneMediaType(int token, int index, IEnumMediaTypes **enumeration);
-
-private:
- int m_mediaTypeToken;
- QVector<AM_MEDIA_TYPE> m_mediaTypes;
-};
-
-QT_END_NAMESPACE
-
-QT_END_HEADER
-
-#endif
diff --git a/src/plugins/mediaservices/directshow/mediaplayer/directshowmetadatacontrol.cpp b/src/plugins/mediaservices/directshow/mediaplayer/directshowmetadatacontrol.cpp
deleted file mode 100644
index 7f67a82ff8..0000000000
--- a/src/plugins/mediaservices/directshow/mediaplayer/directshowmetadatacontrol.cpp
+++ /dev/null
@@ -1,370 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the plugins of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include <dshow.h>
-#include <initguid.h>
-#include <qnetwork.h>
-
-#include "directshowmetadatacontrol.h"
-
-#include "directshowplayerservice.h"
-
-#include <QtCore/qcoreapplication.h>
-
-
-QT_BEGIN_NAMESPACE
-
-#ifndef QT_NO_WMSDK
-namespace
-{
- struct QWMMetaDataKeyLookup
- {
- QtMediaServices::MetaData key;
- const wchar_t *token;
- };
-}
-
-static const QWMMetaDataKeyLookup qt_wmMetaDataKeys[] =
-{
- { QtMediaServices::Title, L"Title" },
- { QtMediaServices::SubTitle, L"WM/SubTitle" },
- { QtMediaServices::Author, L"Author" },
- { QtMediaServices::Comment, L"Comment" },
- { QtMediaServices::Description, L"Description" },
- { QtMediaServices::Category, L"WM/Category" },
- { QtMediaServices::Genre, L"WM/Genre" },
- //{ QtMediaServices::Date, 0 },
- { QtMediaServices::Year, L"WM/Year" },
- { QtMediaServices::UserRating, L"UserRating" },
- //{ QtMediaServices::MetaDatawords, 0 },
- { QtMediaServices::Language, L"Language" },
- { QtMediaServices::Publisher, L"WM/Publisher" },
- { QtMediaServices::Copyright, L"Copyright" },
- { QtMediaServices::ParentalRating, L"ParentalRating" },
- { QtMediaServices::RatingOrganisation, L"RatingOrganisation" },
-
- // Media
- { QtMediaServices::Size, L"FileSize" },
- { QtMediaServices::MediaType, L"MediaType" },
- { QtMediaServices::Duration, L"Duration" },
-
- // Audio
- { QtMediaServices::AudioBitRate, L"AudioBitRate" },
- { QtMediaServices::AudioCodec, L"AudioCodec" },
- { QtMediaServices::ChannelCount, L"ChannelCount" },
- { QtMediaServices::SampleRate, L"Frequency" },
-
- // Music
- { QtMediaServices::AlbumTitle, L"WM/AlbumTitle" },
- { QtMediaServices::AlbumArtist, L"WM/AlbumArtist" },
- { QtMediaServices::ContributingArtist, L"Author" },
- { QtMediaServices::Composer, L"WM/Composer" },
- { QtMediaServices::Conductor, L"WM/Conductor" },
- { QtMediaServices::Lyrics, L"WM/Lyrics" },
- { QtMediaServices::Mood, L"WM/Mood" },
- { QtMediaServices::TrackNumber, L"WM/TrackNumber" },
- //{ QtMediaServices::TrackCount, 0 },
- //{ QtMediaServices::CoverArtUriSmall, 0 },
- //{ QtMediaServices::CoverArtUriLarge, 0 },
-
- // Image/Video
- //{ QtMediaServices::Resolution, 0 },
- //{ QtMediaServices::PixelAspectRatio, 0 },
-
- // Video
- //{ QtMediaServices::FrameRate, 0 },
- { QtMediaServices::VideoBitRate, L"VideoBitRate" },
- { QtMediaServices::VideoCodec, L"VideoCodec" },
-
- //{ QtMediaServices::PosterUri, 0 },
-
- // Movie
- { QtMediaServices::ChapterNumber, L"ChapterNumber" },
- { QtMediaServices::Director, L"WM/Director" },
- { QtMediaServices::LeadPerformer, L"LeadPerformer" },
- { QtMediaServices::Writer, L"WM/Writer" },
-
- // Photos
- { QtMediaServices::CameraManufacturer, L"CameraManufacturer" },
- { QtMediaServices::CameraModel, L"CameraModel" },
- { QtMediaServices::Event, L"Event" },
- { QtMediaServices::Subject, L"Subject" }
-};
-
-static QVariant getValue(IWMHeaderInfo *header, const wchar_t *key)
-{
- WORD streamNumber = 0;
- WMT_ATTR_DATATYPE type = WMT_TYPE_DWORD;
- WORD size = 0;
-
- if (header->GetAttributeByName(&streamNumber, key, &type, 0, &size) == S_OK) {
- switch (type) {
- case WMT_TYPE_DWORD:
- if (size == sizeof(DWORD)) {
- DWORD word;
- if (header->GetAttributeByName(
- &streamNumber,
- key,
- &type,
- reinterpret_cast<BYTE *>(&word),
- &size) == S_OK) {
- return int(word);
- }
- }
- break;
- case WMT_TYPE_STRING:
- {
- QString string;
- string.resize(size / 2 - 1);
-
- if (header->GetAttributeByName(
- &streamNumber,
- key,
- &type,
- reinterpret_cast<BYTE *>(const_cast<ushort *>(string.utf16())),
- &size) == S_OK) {
- return string;
- }
- }
- break;
- case WMT_TYPE_BINARY:
- {
- QByteArray bytes;
- bytes.resize(size);
- if (header->GetAttributeByName(
- &streamNumber,
- key,
- &type,
- reinterpret_cast<BYTE *>(bytes.data()),
- &size) == S_OK) {
- return bytes;
- }
- }
- break;
- case WMT_TYPE_BOOL:
- if (size == sizeof(DWORD)) {
- DWORD word;
- if (header->GetAttributeByName(
- &streamNumber,
- key,
- &type,
- reinterpret_cast<BYTE *>(&word),
- &size) == S_OK) {
- return bool(word);
- }
- }
- break;
- case WMT_TYPE_QWORD:
- if (size == sizeof(QWORD)) {
- QWORD word;
- if (header->GetAttributeByName(
- &streamNumber,
- key,
- &type,
- reinterpret_cast<BYTE *>(&word),
- &size) == S_OK) {
- return qint64(word);
- }
- }
- break;
- case WMT_TYPE_WORD:
- if (size == sizeof(WORD)){
- WORD word;
- if (header->GetAttributeByName(
- &streamNumber,
- key,
- &type,
- reinterpret_cast<BYTE *>(&word),
- &size) == S_OK) {
- return short(word);
- }
- }
- break;
- case WMT_TYPE_GUID:
- if (size == 16) {
- }
- break;
- default:
- break;
- }
- }
- return QVariant();
-}
-#endif
-
-DirectShowMetaDataControl::DirectShowMetaDataControl(QObject *parent)
- : QMetaDataControl(parent)
- , m_content(0)
-#ifndef QT_NO_WMSDK
- , m_headerInfo(0)
-#endif
-{
-}
-
-DirectShowMetaDataControl::~DirectShowMetaDataControl()
-{
-}
-
-bool DirectShowMetaDataControl::isWritable() const
-{
- return false;
-}
-
-bool DirectShowMetaDataControl::isMetaDataAvailable() const
-{
-#ifndef QT_NO_WMSDK
- return m_content || m_headerInfo;
-#else
- return m_content;
-#endif
-}
-
-QVariant DirectShowMetaDataControl::metaData(QtMediaServices::MetaData key) const
-{
- QVariant value;
-
-#ifndef QT_NO_WMSDK
- if (m_headerInfo) {
- static const int count = sizeof(qt_wmMetaDataKeys) / sizeof(QWMMetaDataKeyLookup);
- for (int i = 0; i < count; ++i) {
- if (qt_wmMetaDataKeys[i].key == key) {
- value = getValue(m_headerInfo, qt_wmMetaDataKeys[i].token);
- break;
- }
- }
- } else if (m_content) {
-#else
- if (m_content) {
-#endif
- BSTR string = 0;
-
- switch (key) {
- case QtMediaServices::Author:
- m_content->get_AuthorName(&string);
- break;
- case QtMediaServices::Title:
- m_content->get_Title(&string);
- break;
- case QtMediaServices::ParentalRating:
- m_content->get_Rating(&string);
- break;
- case QtMediaServices::Description:
- m_content->get_Description(&string);
- break;
- case QtMediaServices::Copyright:
- m_content->get_Copyright(&string);
- break;
- default:
- break;
- }
-
- if (string) {
- value = QString::fromUtf16(reinterpret_cast<ushort *>(string), ::SysStringLen(string));
-
- ::SysFreeString(string);
- }
- }
- return value;
-}
-
-void DirectShowMetaDataControl::setMetaData(QtMediaServices::MetaData, const QVariant &)
-{
-}
-
-QList<QtMediaServices::MetaData> DirectShowMetaDataControl::availableMetaData() const
-{
- return QList<QtMediaServices::MetaData>();
-}
-
-QVariant DirectShowMetaDataControl::extendedMetaData(const QString &) const
-{
- return QVariant();
-}
-
-void DirectShowMetaDataControl::setExtendedMetaData(const QString &, const QVariant &)
-{
-}
-
-QStringList DirectShowMetaDataControl::availableExtendedMetaData() const
-{
- return QStringList();
-}
-
-void DirectShowMetaDataControl::updateGraph(IFilterGraph2 *graph, IBaseFilter *source)
-{
- if (m_content)
- m_content->Release();
-
- if (!graph || graph->QueryInterface(
- IID_IAMMediaContent, reinterpret_cast<void **>(&m_content)) != S_OK) {
- m_content = 0;
- }
-
-#ifdef QT_NO_WMSDK
- Q_UNUSED(source);
-#else
- if (m_headerInfo)
- m_headerInfo->Release();
-
- m_headerInfo = com_cast<IWMHeaderInfo>(source, IID_IWMHeaderInfo);
-#endif
- // DirectShowMediaPlayerService holds a lock at this point so defer emitting signals to a later
- // time.
- QCoreApplication::postEvent(this, new QEvent(QEvent::Type(MetaDataChanged)));
-}
-
-void DirectShowMetaDataControl::customEvent(QEvent *event)
-{
- if (event->type() == QEvent::Type(MetaDataChanged)) {
- event->accept();
-
- emit metaDataChanged();
-#ifndef QT_NO_WMSDK
- emit metaDataAvailableChanged(m_content || m_headerInfo);
-#else
- emit metaDataAvailableChanged(m_content);
-#endif
- } else {
- QMetaDataControl::customEvent(event);
- }
-}
-
-QT_END_NAMESPACE
diff --git a/src/plugins/mediaservices/directshow/mediaplayer/directshowmetadatacontrol.h b/src/plugins/mediaservices/directshow/mediaplayer/directshowmetadatacontrol.h
deleted file mode 100644
index e368f008d6..0000000000
--- a/src/plugins/mediaservices/directshow/mediaplayer/directshowmetadatacontrol.h
+++ /dev/null
@@ -1,104 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the plugins of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef DIRECTSHOWMETADATACONTROL_H
-#define DIRECTSHOWMETADATACONTROL_H
-
-#include "directshowglobal.h"
-
-#include <QtMediaServices/qmetadatacontrol.h>
-
-#include <qnetwork.h>
-
-#ifndef QT_NO_WMSDK
-#include <wmsdk.h>
-#endif
-
-#include <QtCore/qcoreevent.h>
-
-
-QT_BEGIN_HEADER
-
-QT_BEGIN_NAMESPACE
-
-class DirectShowPlayerService;
-
-
-class DirectShowMetaDataControl : public QMetaDataControl
-{
- Q_OBJECT
-public:
- DirectShowMetaDataControl(QObject *parent = 0);
- ~DirectShowMetaDataControl();
-
- bool isWritable() const;
- bool isMetaDataAvailable() const;
-
- QVariant metaData(QtMediaServices::MetaData key) const;
- void setMetaData(QtMediaServices::MetaData key, const QVariant &value);
- QList<QtMediaServices::MetaData> availableMetaData() const;
-
- QVariant extendedMetaData(const QString &key) const;
- void setExtendedMetaData(const QString &key, const QVariant &value);
- QStringList availableExtendedMetaData() const;
-
- void updateGraph(IFilterGraph2 *graph, IBaseFilter *source);
-
-protected:
- void customEvent(QEvent *event);
-
-private:
- enum Event
- {
- MetaDataChanged = QEvent::User
- };
-
- IAMMediaContent *m_content;
-#ifndef QT_NO_WMSDK
- IWMHeaderInfo *m_headerInfo;
-#endif
-};
-
-QT_END_NAMESPACE
-
-QT_END_HEADER
-
-#endif
diff --git a/src/plugins/mediaservices/directshow/mediaplayer/directshowpinenum.cpp b/src/plugins/mediaservices/directshow/mediaplayer/directshowpinenum.cpp
deleted file mode 100644
index 02b1a3bcfd..0000000000
--- a/src/plugins/mediaservices/directshow/mediaplayer/directshowpinenum.cpp
+++ /dev/null
@@ -1,140 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the plugins of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "directshowpinenum.h"
-
-#include <QtMediaServices>
-
-
-QT_BEGIN_NAMESPACE
-
-DirectShowPinEnum::DirectShowPinEnum(const QList<IPin *> &pins)
- : m_ref(1)
- , m_pins(pins)
- , m_index(0)
-{
- foreach (IPin *pin, m_pins)
- pin->AddRef();
-}
-
-DirectShowPinEnum::~DirectShowPinEnum()
-{
- foreach (IPin *pin, m_pins)
- pin->Release();
-}
-
-HRESULT DirectShowPinEnum::QueryInterface(REFIID riid, void **ppvObject)
-{
- if (riid == IID_IUnknown
- || riid == IID_IEnumPins) {
- AddRef();
-
- *ppvObject = static_cast<IEnumPins *>(this);
-
- return S_OK;
- } else {
- *ppvObject = 0;
-
- return E_NOINTERFACE;
- }
-}
-
-ULONG DirectShowPinEnum::AddRef()
-{
- return InterlockedIncrement(&m_ref);
-}
-
-ULONG DirectShowPinEnum::Release()
-{
- ULONG ref = InterlockedDecrement(&m_ref);
-
- if (ref == 0) {
- delete this;
- }
-
- return ref;
-}
-
-HRESULT DirectShowPinEnum::Next(ULONG cPins, IPin **ppPins, ULONG *pcFetched)
-{
- if (ppPins && (pcFetched || cPins == 1)) {
- ULONG count = qBound<ULONG>(0, cPins, m_pins.count() - m_index);
-
- for (ULONG i = 0; i < count; ++i, ++m_index) {
- ppPins[i] = m_pins.at(m_index);
- ppPins[i]->AddRef();
- }
-
- if (pcFetched)
- *pcFetched = count;
-
- return count == cPins ? S_OK : S_FALSE;
- } else {
- return E_POINTER;
- }
-}
-
-HRESULT DirectShowPinEnum::Skip(ULONG cPins)
-{
- m_index = qMin(int(m_index + cPins), m_pins.count());
-
- return m_index < m_pins.count() ? S_OK : S_FALSE;
-}
-
-HRESULT DirectShowPinEnum::Reset()
-{
- m_index = 0;
-
- return S_OK;
-}
-
-HRESULT DirectShowPinEnum::Clone(IEnumPins **ppEnum)
-{
- if (ppEnum) {
- *ppEnum = new DirectShowPinEnum(m_pins);
-
- return S_OK;
- } else {
- return E_POINTER;
- }
-}
-
-QT_END_NAMESPACE
diff --git a/src/plugins/mediaservices/directshow/mediaplayer/directshowpinenum.h b/src/plugins/mediaservices/directshow/mediaplayer/directshowpinenum.h
deleted file mode 100644
index 40d99eaa21..0000000000
--- a/src/plugins/mediaservices/directshow/mediaplayer/directshowpinenum.h
+++ /dev/null
@@ -1,81 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the plugins of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef DIRECTSHOWPINENUM_H
-#define DIRECTSHOWPINENUM_H
-
-#include <QtCore/qlist.h>
-
-#include <dshow.h>
-
-
-QT_BEGIN_HEADER
-
-QT_BEGIN_NAMESPACE
-
-class DirectShowPinEnum : public IEnumPins
-{
-public:
- DirectShowPinEnum(const QList<IPin *> &pins);
- ~DirectShowPinEnum();
-
- // IUnknown
- HRESULT STDMETHODCALLTYPE QueryInterface(REFIID riid, void **ppvObject);
- ULONG STDMETHODCALLTYPE AddRef();
- ULONG STDMETHODCALLTYPE Release();
-
- // IEnumPins
- HRESULT STDMETHODCALLTYPE Next(ULONG cPins, IPin **ppPins, ULONG *pcFetched);
- HRESULT STDMETHODCALLTYPE Skip(ULONG cPins);
- HRESULT STDMETHODCALLTYPE Reset();
- HRESULT STDMETHODCALLTYPE Clone(IEnumPins **ppEnum);
-
-private:
- LONG m_ref;
- QList<IPin *> m_pins;
- int m_index;
-};
-
-QT_END_NAMESPACE
-
-QT_END_HEADER
-
-#endif
diff --git a/src/plugins/mediaservices/directshow/mediaplayer/directshowplayercontrol.cpp b/src/plugins/mediaservices/directshow/mediaplayer/directshowplayercontrol.cpp
deleted file mode 100644
index 67d07e1c2a..0000000000
--- a/src/plugins/mediaservices/directshow/mediaplayer/directshowplayercontrol.cpp
+++ /dev/null
@@ -1,395 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the plugins of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "directshowplayercontrol.h"
-
-#include "directshowplayerservice.h"
-
-#include <QtCore/qcoreapplication.h>
-#include <QtCore/qmath.h>
-
-
-QT_BEGIN_NAMESPACE
-
-static int volumeToDecibels(int volume)
-{
- if (volume == 0) {
- return -10000;
- } else if (volume == 100) {
- return 0;
-#ifdef QT_USE_MATH_H_FLOATS
- } else if (sizeof(qreal) == sizeof(float)) {
- return qRound(::log10f(float(volume) / 100) * 5000);
-#endif
- } else {
- return qRound(::log10(qreal(volume) / 100) * 5000);
- }
-}
-
-static int decibelsToVolume(int dB)
-{
- if (dB == -10000) {
- return 0;
- } else if (dB == 0) {
- return 100;
- } else {
- return qRound(100 * qPow(10, qreal(dB) / 5000));
- }
-}
-
-DirectShowPlayerControl::DirectShowPlayerControl(DirectShowPlayerService *service, QObject *parent)
- : QMediaPlayerControl(parent)
- , m_service(service)
- , m_audio(0)
- , m_updateProperties(0)
- , m_state(QMediaPlayer::StoppedState)
- , m_status(QMediaPlayer::UnknownMediaStatus)
- , m_error(QMediaPlayer::NoError)
- , m_streamTypes(0)
- , m_muteVolume(-1)
- , m_position(0)
- , m_duration(0)
- , m_playbackRate(1.0)
- , m_seekable(false)
-{
-}
-
-DirectShowPlayerControl::~DirectShowPlayerControl()
-{
- if (m_audio)
- m_audio->Release();
-}
-
-QMediaPlayer::State DirectShowPlayerControl::state() const
-{
- return m_state;
-}
-
-QMediaPlayer::MediaStatus DirectShowPlayerControl::mediaStatus() const
-{
- return m_status;
-}
-
-qint64 DirectShowPlayerControl::duration() const
-{
- return m_duration;
-}
-
-qint64 DirectShowPlayerControl::position() const
-{
- return const_cast<qint64 &>(m_position) = m_service->position();
-}
-
-void DirectShowPlayerControl::setPosition(qint64 position)
-{
- m_service->seek(position);
-}
-
-int DirectShowPlayerControl::volume() const
-{
- if (m_muteVolume >= 0) {
- return m_muteVolume;
- } else if (m_audio) {
- long dB = 0;
-
- m_audio->get_Volume(&dB);
-
- return decibelsToVolume(dB);
- } else {
- return 0;
- }
-}
-
-void DirectShowPlayerControl::setVolume(int volume)
-{
- int boundedVolume = qBound(0, volume, 100);
-
- if (m_muteVolume >= 0) {
- m_muteVolume = boundedVolume;
-
- emit volumeChanged(m_muteVolume);
- } else if (m_audio) {
- m_audio->put_Volume(volumeToDecibels(volume));
-
- emit volumeChanged(boundedVolume);
- }
-}
-
-bool DirectShowPlayerControl::isMuted() const
-{
- return m_muteVolume >= 0;
-}
-
-void DirectShowPlayerControl::setMuted(bool muted)
-{
- if (muted && m_muteVolume < 0) {
- if (m_audio) {
- long dB = 0;
-
- m_audio->get_Volume(&dB);
-
- m_muteVolume = decibelsToVolume(dB);
-
- m_audio->put_Volume(-10000);
- } else {
- m_muteVolume = 0;
- }
-
- emit mutedChanged(muted);
- } else if (!muted && m_muteVolume >= 0) {
- if (m_audio) {
- m_audio->put_Volume(volumeToDecibels(m_muteVolume));
- }
- m_muteVolume = -1;
-
- emit mutedChanged(muted);
- }
-}
-
-int DirectShowPlayerControl::bufferStatus() const
-{
- return m_service->bufferStatus();
-}
-
-bool DirectShowPlayerControl::isAudioAvailable() const
-{
- return m_streamTypes & DirectShowPlayerService::AudioStream;
-}
-
-bool DirectShowPlayerControl::isVideoAvailable() const
-{
- return m_streamTypes & DirectShowPlayerService::VideoStream;
-}
-
-bool DirectShowPlayerControl::isSeekable() const
-{
- return m_seekable;
-}
-
-QMediaTimeRange DirectShowPlayerControl::availablePlaybackRanges() const
-{
- return m_service->availablePlaybackRanges();
-}
-
-qreal DirectShowPlayerControl::playbackRate() const
-{
- return m_playbackRate;
-}
-
-void DirectShowPlayerControl::setPlaybackRate(qreal rate)
-{
- if (m_playbackRate != rate) {
- m_service->setRate(rate);
-
- emit playbackRateChanged(m_playbackRate = rate);
- }
-}
-
-QMediaContent DirectShowPlayerControl::media() const
-{
- return m_media;
-}
-
-const QIODevice *DirectShowPlayerControl::mediaStream() const
-{
- return m_stream;
-}
-
-void DirectShowPlayerControl::setMedia(const QMediaContent &media, QIODevice *stream)
-{
- m_media = media;
- m_stream = stream;
-
- m_updateProperties &= PlaybackRateProperty;
-
- m_service->load(media, stream);
-
- emitPropertyChanges();
-}
-
-void DirectShowPlayerControl::play()
-{
- m_service->play();
- emit stateChanged(m_state = QMediaPlayer::PlayingState);
-}
-
-void DirectShowPlayerControl::pause()
-{
- m_service->pause();
- emit stateChanged(m_state = QMediaPlayer::PausedState);
-}
-
-void DirectShowPlayerControl::stop()
-{
- m_service->stop();
- emit stateChanged(m_state = QMediaPlayer::StoppedState);
-}
-
-void DirectShowPlayerControl::customEvent(QEvent *event)
-{
- if (event->type() == QEvent::Type(PropertiesChanged)) {
- emitPropertyChanges();
-
- event->accept();
- } else {
- QMediaPlayerControl::customEvent(event);
- }
-}
-
-void DirectShowPlayerControl::emitPropertyChanges()
-{
- int properties = m_updateProperties;
- m_updateProperties = 0;
-
- if ((properties & ErrorProperty) && m_error != QMediaPlayer::NoError)
- emit error(m_error, m_errorString);
-
- if (properties & PlaybackRateProperty)
- emit playbackRateChanged(m_playbackRate);
-
- if (properties & StreamTypesProperty) {
- emit audioAvailableChanged(m_streamTypes & DirectShowPlayerService::AudioStream);
- emit videoAvailableChanged(m_streamTypes & DirectShowPlayerService::VideoStream);
- }
-
- if (properties & PositionProperty)
- emit positionChanged(m_position);
-
- if (properties & DurationProperty)
- emit durationChanged(m_duration);
-
- if (properties & SeekableProperty)
- emit seekableChanged(m_seekable);
-
- if (properties & StatusProperty)
- emit mediaStatusChanged(m_status);
-
- if (properties & StateProperty)
- emit stateChanged(m_state);
-}
-
-void DirectShowPlayerControl::scheduleUpdate(int properties)
-{
- if (m_updateProperties == 0)
- QCoreApplication::postEvent(this, new QEvent(QEvent::Type(PropertiesChanged)));
-
- m_updateProperties |= properties;
-}
-
-void DirectShowPlayerControl::updateState(QMediaPlayer::State state)
-{
- if (m_state != state) {
- m_state = state;
-
- scheduleUpdate(StateProperty);
- }
-}
-
-void DirectShowPlayerControl::updateStatus(QMediaPlayer::MediaStatus status)
-{
- if (m_status != status) {
- m_status = status;
-
- scheduleUpdate(StatusProperty);
- }
-}
-
-void DirectShowPlayerControl::updateMediaInfo(qint64 duration, int streamTypes, bool seekable)
-{
- int properties = 0;
-
- if (m_duration != duration) {
- m_duration = duration;
-
- properties |= DurationProperty;
- }
- if (m_streamTypes != streamTypes) {
- m_streamTypes = streamTypes;
-
- properties |= StreamTypesProperty;
- }
-
- if (m_seekable != seekable) {
- m_seekable = seekable;
-
- properties |= SeekableProperty;
- }
-
- if (properties != 0)
- scheduleUpdate(properties);
-}
-
-void DirectShowPlayerControl::updatePlaybackRate(qreal rate)
-{
- if (m_playbackRate != rate) {
- m_playbackRate = rate;
-
- scheduleUpdate(PlaybackRateProperty);
- }
-}
-
-void DirectShowPlayerControl::updateAudioOutput(IBaseFilter *filter)
-{
- if (m_audio)
- m_audio->Release();
-
- m_audio = com_cast<IBasicAudio>(filter, IID_IBasicAudio);
-}
-
-void DirectShowPlayerControl::updateError(QMediaPlayer::Error error, const QString &errorString)
-{
- m_error = error;
- m_errorString = errorString;
-
- if (m_error != QMediaPlayer::NoError)
- scheduleUpdate(ErrorProperty);
-}
-
-void DirectShowPlayerControl::updatePosition(qint64 position)
-{
- if (m_position != position) {
- m_position = position;
-
- scheduleUpdate(PositionProperty);
- }
-}
-
-QT_END_NAMESPACE
diff --git a/src/plugins/mediaservices/directshow/mediaplayer/directshowplayercontrol.h b/src/plugins/mediaservices/directshow/mediaplayer/directshowplayercontrol.h
deleted file mode 100644
index 6b5203e13e..0000000000
--- a/src/plugins/mediaservices/directshow/mediaplayer/directshowplayercontrol.h
+++ /dev/null
@@ -1,153 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the plugins of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef DIRECTSHOWPLAYERCONTROL_H
-#define DIRECTSHOWPLAYERCONTROL_H
-
-#include <QtMediaServices/qmediacontent.h>
-#include <QtMediaServices/qmediaplayercontrol.h>
-
-#include <QtCore/qcoreevent.h>
-
-#include "directshowplayerservice.h"
-
-
-QT_BEGIN_HEADER
-
-QT_BEGIN_NAMESPACE
-
-class DirectShowPlayerControl : public QMediaPlayerControl
-{
- Q_OBJECT
-public:
- DirectShowPlayerControl(DirectShowPlayerService *service, QObject *parent = 0);
- ~DirectShowPlayerControl();
-
- QMediaPlayer::State state() const;
-
- QMediaPlayer::MediaStatus mediaStatus() const;
-
- qint64 duration() const;
-
- qint64 position() const;
- void setPosition(qint64 position);
-
- int volume() const;
- void setVolume(int volume);
-
- bool isMuted() const;
- void setMuted(bool muted);
-
- int bufferStatus() const;
-
- bool isAudioAvailable() const;
- bool isVideoAvailable() const;
-
- bool isSeekable() const;
-
- QMediaTimeRange availablePlaybackRanges() const;
-
- qreal playbackRate() const;
- void setPlaybackRate(qreal rate);
-
- QMediaContent media() const;
- const QIODevice *mediaStream() const;
- void setMedia(const QMediaContent &media, QIODevice *stream);
-
- void play();
- void pause();
- void stop();
-
- void updateState(QMediaPlayer::State state);
- void updateStatus(QMediaPlayer::MediaStatus status);
- void updateMediaInfo(qint64 duration, int streamTypes, bool seekable);
- void updatePlaybackRate(qreal rate);
- void updateAudioOutput(IBaseFilter *filter);
- void updateError(QMediaPlayer::Error error, const QString &errorString);
- void updatePosition(qint64 position);
-
-protected:
- void customEvent(QEvent *event);
-
-private:
- enum Properties
- {
- StateProperty = 0x01,
- StatusProperty = 0x02,
- StreamTypesProperty = 0x04,
- DurationProperty = 0x08,
- PlaybackRateProperty = 0x10,
- SeekableProperty = 0x20,
- ErrorProperty = 0x40,
- PositionProperty = 0x80
- };
-
- enum Event
- {
- PropertiesChanged = QEvent::User
- };
-
- void scheduleUpdate(int properties);
- void emitPropertyChanges();
-
- DirectShowPlayerService *m_service;
- IBasicAudio *m_audio;
- QIODevice *m_stream;
- int m_updateProperties;
- QMediaPlayer::State m_state;
- QMediaPlayer::MediaStatus m_status;
- QMediaPlayer::Error m_error;
- int m_streamTypes;
- int m_muteVolume;
- qint64 m_position;
- qint64 m_duration;
- qreal m_playbackRate;
- bool m_seekable;
- QMediaContent m_media;
- QString m_errorString;
-
-};
-
-QT_END_NAMESPACE
-
-QT_END_HEADER
-
-#endif
diff --git a/src/plugins/mediaservices/directshow/mediaplayer/directshowplayerservice.cpp b/src/plugins/mediaservices/directshow/mediaplayer/directshowplayerservice.cpp
deleted file mode 100644
index 8ad8cffc80..0000000000
--- a/src/plugins/mediaservices/directshow/mediaplayer/directshowplayerservice.cpp
+++ /dev/null
@@ -1,1410 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the plugins of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "directshowplayerservice.h"
-
-#include "directshowaudioendpointcontrol.h"
-#include "directshowiosource.h"
-#include "directshowmetadatacontrol.h"
-#include "directshowplayercontrol.h"
-#include "directshowvideooutputcontrol.h"
-#include "directshowvideorenderercontrol.h"
-#include "vmr9videowindowcontrol.h"
-
-#include <QtMediaServices/qmediacontent.h>
-
-#include <QtCore/qcoreapplication.h>
-#include <QtCore/qdatetime.h>
-#include <QtCore/qthread.h>
-#include <QtCore/qvarlengtharray.h>
-
-Q_GLOBAL_STATIC(DirectShowEventLoop, qt_directShowEventLoop)
-
-QT_BEGIN_NAMESPACE
-
-class DirectShowPlayerServiceThread : public QThread
-{
-public:
- DirectShowPlayerServiceThread(DirectShowPlayerService *service)
- : m_service(service)
- {
- }
-
-protected:
- void run() { m_service->run(); }
-
-private:
- DirectShowPlayerService *m_service;
-};
-
-DirectShowPlayerService::DirectShowPlayerService(QObject *parent)
- : QMediaService(parent)
- , m_playerControl(0)
- , m_metaDataControl(0)
- , m_videoOutputControl(0)
- , m_videoRendererControl(0)
- , m_videoWindowControl(0)
- , m_audioEndpointControl(0)
- , m_taskThread(0)
- , m_loop(qt_directShowEventLoop())
- , m_pendingTasks(0)
- , m_executingTask(0)
- , m_executedTasks(0)
- , m_taskHandle(::CreateEvent(0, 0, 0, 0))
- , m_eventHandle(0)
- , m_graphStatus(NoMedia)
- , m_stream(0)
- , m_graph(0)
- , m_source(0)
- , m_audioOutput(0)
- , m_videoOutput(0)
- , m_rate(1.0)
- , m_position(0)
- , m_duration(0)
- , m_buffering(false)
- , m_seekable(false)
- , m_atEnd(false)
-{
- m_playerControl = new DirectShowPlayerControl(this);
- m_metaDataControl = new DirectShowMetaDataControl(this);
- m_videoOutputControl = new DirectShowVideoOutputControl;
- m_audioEndpointControl = new DirectShowAudioEndpointControl(this);
- m_videoRendererControl = new DirectShowVideoRendererControl(m_loop);
- m_videoWindowControl = new Vmr9VideoWindowControl;
-
- m_taskThread = new DirectShowPlayerServiceThread(this);
- m_taskThread->start();
-
- connect(m_videoOutputControl, SIGNAL(outputChanged()), this, SLOT(videoOutputChanged()));
- connect(m_videoRendererControl, SIGNAL(filterChanged()), this, SLOT(videoOutputChanged()));
-}
-
-DirectShowPlayerService::~DirectShowPlayerService()
-{
- {
- QMutexLocker locker(&m_mutex);
-
- releaseGraph();
-
- m_pendingTasks = Shutdown;
- ::SetEvent(m_taskHandle);
- }
-
- m_taskThread->wait();
- delete m_taskThread;
-
- if (m_audioOutput) {
- m_audioOutput->Release();
- m_audioOutput = 0;
- }
-
- if (m_videoOutput) {
- m_videoOutput->Release();
- m_videoOutput = 0;
- }
-
- delete m_playerControl;
- delete m_audioEndpointControl;
- delete m_metaDataControl;
- delete m_videoOutputControl;
- delete m_videoRendererControl;
- delete m_videoWindowControl;
-
- ::CloseHandle(m_taskHandle);
-}
-
-QMediaControl *DirectShowPlayerService::control(const char *name) const
-{
- if (qstrcmp(name, QMediaPlayerControl_iid) == 0)
- return m_playerControl;
- else if (qstrcmp(name, QAudioEndpointSelector_iid) == 0)
- return m_audioEndpointControl;
- else if (qstrcmp(name, QMetaDataControl_iid) == 0)
- return m_metaDataControl;
- else if (qstrcmp(name, QVideoOutputControl_iid) == 0)
- return m_videoOutputControl;
- else if (qstrcmp(name, QVideoRendererControl_iid) == 0)
- return m_videoRendererControl;
- else if (qstrcmp(name, QVideoWindowControl_iid) == 0)
- return m_videoWindowControl;
- else
- return 0;
-}
-
-void DirectShowPlayerService::load(const QMediaContent &media, QIODevice *stream)
-{
- QMutexLocker locker(&m_mutex);
-
- m_pendingTasks = 0;
-
- if (m_graph)
- releaseGraph();
-
- m_resources = media.resources();
- m_stream = stream;
- m_error = QMediaPlayer::NoError;
- m_errorString = QString();
- m_position = 0;
- m_duration = 0;
- m_streamTypes = 0;
- m_executedTasks = 0;
- m_buffering = false;
- m_seekable = false;
- m_atEnd = false;
- m_metaDataControl->updateGraph(0, 0);
-
- QCoreApplication::postEvent(this, new QEvent(QEvent::Type(VideoOutputChange)));
-
- if (m_resources.isEmpty() && !stream) {
- m_pendingTasks = 0;
- m_graphStatus = NoMedia;
-
- m_url.clear();
- } else if (stream && (!stream->isReadable() || stream->isSequential())) {
- m_pendingTasks = 0;
- m_graphStatus = InvalidMedia;
- m_error = QMediaPlayer::ResourceError;
- } else {
- // {36b73882-c2c8-11cf-8b46-00805f6cef60}
- static const GUID iid_IFilterGraph2 = {
- 0x36b73882, 0xc2c8, 0x11cf, {0x8b, 0x46, 0x00, 0x80, 0x5f, 0x6c, 0xef, 0x60} };
- m_graphStatus = Loading;
-
- m_graph = com_new<IFilterGraph2>(CLSID_FilterGraph, iid_IFilterGraph2);
-
- if (stream)
- m_pendingTasks = SetStreamSource;
- else
- m_pendingTasks = SetUrlSource;
-
- ::SetEvent(m_taskHandle);
- }
-
- m_playerControl->updateError(m_error, m_errorString);
- m_playerControl->updateMediaInfo(m_duration, m_streamTypes, m_seekable);
- m_playerControl->updateState(QMediaPlayer::StoppedState);
- m_playerControl->updatePosition(m_position);
- updateStatus();
-}
-
-void DirectShowPlayerService::doSetUrlSource(QMutexLocker *locker)
-{
- IBaseFilter *source = 0;
-
- QMediaResource resource = m_resources.takeFirst();
- QUrl url = resource.url();
-
- HRESULT hr = E_FAIL;
-
- if (url.scheme() == QLatin1String("http") || url.scheme() == QLatin1String("https")) {
- static const GUID clsid_WMAsfReader = {
- 0x187463a0, 0x5bb7, 0x11d3, {0xac, 0xbe, 0x00, 0x80, 0xc7, 0x5e, 0x24, 0x6e} };
-
- // {56a868a6-0ad4-11ce-b03a-0020af0ba770}
- static const GUID iid_IFileSourceFilter = {
- 0x56a868a6, 0x0ad4, 0x11ce, {0xb0, 0x3a, 0x00, 0x20, 0xaf, 0x0b, 0xa7, 0x70} };
-
- if (IFileSourceFilter *fileSource = com_new<IFileSourceFilter>(
- clsid_WMAsfReader, iid_IFileSourceFilter)) {
- locker->unlock();
- hr = fileSource->Load(reinterpret_cast<const OLECHAR *>(url.toString().utf16()), 0);
- locker->relock();
-
- if (SUCCEEDED(hr)) {
- source = com_cast<IBaseFilter>(fileSource, IID_IBaseFilter);
-
- if (!SUCCEEDED(hr = m_graph->AddFilter(source, L"Source")) && source) {
- source->Release();
- source = 0;
- }
- }
-
- fileSource->Release();
- }
- } else if (url.scheme() == QLatin1String("qrc")) {
- DirectShowRcSource *rcSource = new DirectShowRcSource(m_loop);
-
- if (rcSource->open(url) && SUCCEEDED(hr = m_graph->AddFilter(rcSource, L"Source")))
- source = rcSource;
- else
- rcSource->Release();
- }
-
- if (!SUCCEEDED(hr)) {
- locker->unlock();
- hr = m_graph->AddSourceFilter(
- reinterpret_cast<const OLECHAR *>(url.toString().utf16()), L"Source", &source);
- locker->relock();
- }
-
- if (SUCCEEDED(hr)) {
- m_executedTasks |= SetSource;
- m_pendingTasks |= Render;
-
- if (m_audioOutput)
- m_pendingTasks |= SetAudioOutput;
- if (m_videoOutput)
- m_pendingTasks |= SetVideoOutput;
-
- if (m_rate != 1.0 && m_rate != 0.0)
- m_pendingTasks |= SetRate;
-
- m_source = source;
- } else if (!m_resources.isEmpty()) {
- m_pendingTasks |= SetUrlSource;
- } else {
- m_pendingTasks = 0;
- m_graphStatus = InvalidMedia;
-
- switch (hr) {
- case VFW_E_UNKNOWN_FILE_TYPE:
- m_error = QMediaPlayer::FormatError;
- m_errorString = QString();
- break;
- case E_OUTOFMEMORY:
- case VFW_E_CANNOT_LOAD_SOURCE_FILTER:
- case VFW_E_NOT_FOUND:
- m_error = QMediaPlayer::ResourceError;
- m_errorString = QString();
- default:
- m_error = QMediaPlayer::ResourceError;
- m_errorString = QString();
- qWarning("DirectShowPlayerService::doSetUrlSource: Unresolved error code %x", uint(hr));
- break;
- }
-
- QCoreApplication::postEvent(this, new QEvent(QEvent::Type(Error)));
- }
-}
-
-void DirectShowPlayerService::doSetStreamSource(QMutexLocker *locker)
-{
- DirectShowIOSource *source = new DirectShowIOSource(m_loop);
- source->setDevice(m_stream);
-
- if (SUCCEEDED(m_graph->AddFilter(source, L"Source"))) {
- m_executedTasks |= SetSource;
- m_pendingTasks |= Render;
-
- if (m_audioOutput)
- m_pendingTasks |= SetAudioOutput;
- if (m_videoOutput)
- m_pendingTasks |= SetVideoOutput;
-
- if (m_rate != 1.0 && m_rate != 0.0)
- m_pendingTasks |= SetRate;
-
- m_source = source;
- } else {
- source->Release();
-
- m_pendingTasks = 0;
- m_graphStatus = InvalidMedia;
-
- m_error = QMediaPlayer::ResourceError;
- m_errorString = QString();
-
- QCoreApplication::postEvent(this, new QEvent(QEvent::Type(Error)));
- }
-}
-
-void DirectShowPlayerService::doRender(QMutexLocker *locker)
-{
- if (m_executedTasks & Pause)
- m_pendingTasks |= Pause;
- else if (m_executedTasks & Play && m_rate != 0.0)
- m_pendingTasks |= Play;
-
- if (IMediaControl *control = com_cast<IMediaControl>(m_graph, IID_IMediaControl)) {
- control->Stop();
- control->Release();
- }
-
- if (m_pendingTasks & SetAudioOutput) {
- m_graph->AddFilter(m_audioOutput, L"AudioOutput");
-
- m_pendingTasks ^= SetAudioOutput;
- m_executedTasks |= SetAudioOutput;
- }
- if (m_pendingTasks & SetVideoOutput) {
- m_graph->AddFilter(m_videoOutput, L"VideoOutput");
-
- m_pendingTasks ^= SetVideoOutput;
- m_executedTasks |= SetVideoOutput;
- }
-
- IFilterGraph2 *graph = m_graph;
- graph->AddRef();
-
- QVarLengthArray<IBaseFilter *, 16> filters;
- m_source->AddRef();
- filters.append(m_source);
-
- bool rendered = false;
-
- HRESULT renderHr = S_OK;
-
- while (!filters.isEmpty()) {
- IEnumPins *pins = 0;
- IBaseFilter *filter = filters[filters.size() - 1];
- filters.removeLast();
-
- if (!(m_pendingTasks & ReleaseFilters) && SUCCEEDED(filter->EnumPins(&pins))) {
- int outputs = 0;
- for (IPin *pin = 0; pins->Next(1, &pin, 0) == S_OK; pin->Release()) {
- PIN_DIRECTION direction;
- if (pin->QueryDirection(&direction) == S_OK && direction == PINDIR_OUTPUT) {
- ++outputs;
-
- IPin *peer = 0;
- if (pin->ConnectedTo(&peer) == S_OK) {
- PIN_INFO peerInfo;
- if (SUCCEEDED(peer->QueryPinInfo(&peerInfo)))
- filters.append(peerInfo.pFilter);
- peer->Release();
- } else {
- locker->unlock();
- HRESULT hr;
- if (SUCCEEDED(hr = graph->RenderEx(
- pin, /*AM_RENDEREX_RENDERTOEXISTINGRENDERERS*/ 1, 0))) {
- rendered = true;
- } else if (renderHr == S_OK || renderHr == VFW_E_NO_DECOMPRESSOR){
- renderHr = hr;
- }
- locker->relock();
- }
- }
- }
-
- pins->Release();
-
- if (outputs == 0)
- rendered = true;
- }
- filter->Release();
- }
-
- if (m_audioOutput && !isConnected(m_audioOutput, PINDIR_INPUT)) {
- graph->RemoveFilter(m_audioOutput);
-
- m_executedTasks &= ~SetAudioOutput;
- }
-
- if (m_videoOutput && !isConnected(m_videoOutput, PINDIR_INPUT)) {
- graph->RemoveFilter(m_videoOutput);
-
- m_executedTasks &= ~SetVideoOutput;
- }
-
- graph->Release();
-
- if (!(m_pendingTasks & ReleaseFilters)) {
- if (rendered) {
- if (!(m_executedTasks & FinalizeLoad))
- m_pendingTasks |= FinalizeLoad;
- } else {
- m_pendingTasks = 0;
-
- m_graphStatus = InvalidMedia;
-
- if (!m_audioOutput && !m_videoOutput) {
- m_error = QMediaPlayer::ResourceError;
- m_errorString = QString();
- } else {
- switch (renderHr) {
- case VFW_E_UNSUPPORTED_AUDIO:
- case VFW_E_UNSUPPORTED_VIDEO:
- case VFW_E_UNSUPPORTED_STREAM:
- m_error = QMediaPlayer::FormatError;
- m_errorString = QString();
- default:
- m_error = QMediaPlayer::ResourceError;
- m_errorString = QString();
- qWarning("DirectShowPlayerService::doRender: Unresolved error code %x",
- uint(renderHr));
- }
- }
-
- QCoreApplication::postEvent(this, new QEvent(QEvent::Type(Error)));
- }
-
- QCoreApplication::postEvent(this, new QEvent(QEvent::Type(VideoOutputChange)));
-
- m_executedTasks |= Render;
- }
-}
-
-void DirectShowPlayerService::doFinalizeLoad(QMutexLocker *locker)
-{
- if (m_graphStatus != Loaded) {
- if (IMediaEvent *event = com_cast<IMediaEvent>(m_graph, IID_IMediaEvent)) {
- event->GetEventHandle(reinterpret_cast<OAEVENT *>(&m_eventHandle));
- event->Release();
- }
- if (IMediaSeeking *seeking = com_cast<IMediaSeeking>(m_graph, IID_IMediaSeeking)) {
- LONGLONG duration = 0;
- seeking->GetDuration(&duration);
- m_duration = duration / 10;
-
- DWORD capabilities = 0;
- seeking->GetCapabilities(&capabilities);
- m_seekable = capabilities & AM_SEEKING_CanSeekAbsolute;
-
- seeking->Release();
- }
- }
-
- if ((m_executedTasks & SetOutputs) == SetOutputs) {
- m_streamTypes = AudioStream | VideoStream;
- } else {
- m_streamTypes = findStreamTypes(m_source);
- }
-
- m_executedTasks |= FinalizeLoad;
-
- m_graphStatus = Loaded;
-
- QCoreApplication::postEvent(this, new QEvent(QEvent::Type(FinalizedLoad)));
-}
-
-void DirectShowPlayerService::releaseGraph()
-{
- if (m_graph) {
- if (m_executingTask != 0) {
- // {8E1C39A1-DE53-11cf-AA63-0080C744528D}
- static const GUID iid_IAMOpenProgress = {
- 0x8E1C39A1, 0xDE53, 0x11cf, {0xAA, 0x63, 0x00, 0x80, 0xC7, 0x44, 0x52, 0x8D} };
-
- if (IAMOpenProgress *progress = com_cast<IAMOpenProgress>(
- m_graph, iid_IAMOpenProgress)) {
- progress->AbortOperation();
- progress->Release();
- }
- m_graph->Abort();
- }
-
- m_pendingTasks = ReleaseGraph;
-
- ::SetEvent(m_taskHandle);
-
- m_loop->wait(&m_mutex);
- }
-}
-
-void DirectShowPlayerService::doReleaseGraph(QMutexLocker *locker)
-{
- Q_UNUSED(locker);
-
- if (IMediaControl *control = com_cast<IMediaControl>(m_graph, IID_IMediaControl)) {
- control->Stop();
- control->Release();
- }
-
- if (m_source) {
- m_source->Release();
- m_source = 0;
- }
-
- m_eventHandle = 0;
-
- m_graph->Release();
- m_graph = 0;
-
- m_loop->wake();
-}
-
-int DirectShowPlayerService::findStreamTypes(IBaseFilter *source) const
-{
- QVarLengthArray<IBaseFilter *, 16> filters;
- source->AddRef();
- filters.append(source);
-
- int streamTypes = 0;
-
- while (!filters.isEmpty()) {
- IEnumPins *pins = 0;
- IBaseFilter *filter = filters[filters.size() - 1];
- filters.removeLast();
-
- if (SUCCEEDED(filter->EnumPins(&pins))) {
- for (IPin *pin = 0; pins->Next(1, &pin, 0) == S_OK; pin->Release()) {
- PIN_DIRECTION direction;
- if (pin->QueryDirection(&direction) == S_OK && direction == PINDIR_OUTPUT) {
- AM_MEDIA_TYPE connectionType;
- if (SUCCEEDED(pin->ConnectionMediaType(&connectionType))) {
- IPin *peer = 0;
-
- if (connectionType.majortype == MEDIATYPE_Audio) {
- streamTypes |= AudioStream;
- } else if (connectionType.majortype == MEDIATYPE_Video) {
- streamTypes |= VideoStream;
- } else if (SUCCEEDED(pin->ConnectedTo(&peer))) {
- PIN_INFO peerInfo;
- if (SUCCEEDED(peer->QueryPinInfo(&peerInfo)))
- filters.append(peerInfo.pFilter);
- peer->Release();
- }
- } else {
- streamTypes |= findStreamType(pin);
- }
- }
- }
- }
- filter->Release();
- }
- return streamTypes;
-}
-
-int DirectShowPlayerService::findStreamType(IPin *pin) const
-{
- IEnumMediaTypes *types;
-
- if (SUCCEEDED(pin->EnumMediaTypes(&types))) {
- bool video = false;
- bool audio = false;
- bool other = false;
-
- for (AM_MEDIA_TYPE *type = 0;
- types->Next(1, &type, 0) == S_OK;
- DirectShowMediaType::deleteType(type)) {
- if (type->majortype == MEDIATYPE_Audio)
- audio = true;
- else if (type->majortype == MEDIATYPE_Video)
- video = true;
- else
- other = true;
- }
- types->Release();
-
- if (other)
- return 0;
- else if (audio && !video)
- return AudioStream;
- else if (!audio && video)
- return VideoStream;
- else
- return 0;
- } else {
- return 0;
- }
-}
-
-void DirectShowPlayerService::play()
-{
- QMutexLocker locker(&m_mutex);
-
- if (m_rate != 0.0) {
- m_pendingTasks &= ~Pause;
- m_pendingTasks |= Play;
- } else {
- m_pendingTasks |= Pause;
- m_executedTasks |= Play;
- }
-
- if (m_executedTasks & Render) {
- if (m_executedTasks & Stop) {
- m_atEnd = false;
- m_position = 0;
- m_pendingTasks |= Seek;
- m_executedTasks ^= Stop;
- }
-
- ::SetEvent(m_taskHandle);
- }
-}
-
-void DirectShowPlayerService::doPlay(QMutexLocker *locker)
-{
- if (IMediaControl *control = com_cast<IMediaControl>(m_graph, IID_IMediaControl)) {
- locker->unlock();
- HRESULT hr = control->Run();
- locker->relock();
-
- control->Release();
-
- if (SUCCEEDED(hr)) {
- m_executedTasks |= Play;
- m_executedTasks &= ~Pause;
-
- QCoreApplication::postEvent(this, new QEvent(QEvent::Type(StatusChange)));
- } else {
- m_error = QMediaPlayer::ResourceError;
- m_errorString = QString();
- qWarning("DirectShowPlayerService::doPlay: Unresolved error code %x", uint(hr));
-
- QCoreApplication::postEvent(this, new QEvent(QEvent::Type(Error)));
- }
- }
-}
-
-void DirectShowPlayerService::pause()
-{
- QMutexLocker locker(&m_mutex);
-
- m_pendingTasks &= ~Play;
- m_pendingTasks |= Pause;
-
- if (m_executedTasks & Render) {
- if (m_executedTasks & Stop) {
- m_atEnd = false;
- m_position = 0;
- m_pendingTasks |= Seek;
- m_executedTasks ^= Stop;
- }
-
- ::SetEvent(m_taskHandle);
- }
-}
-
-void DirectShowPlayerService::doPause(QMutexLocker *locker)
-{
- if (IMediaControl *control = com_cast<IMediaControl>(m_graph, IID_IMediaControl)) {
- locker->unlock();
- HRESULT hr = control->Pause();
- locker->relock();
-
- control->Release();
-
- if (SUCCEEDED(hr)) {
- if (IMediaSeeking *seeking = com_cast<IMediaSeeking>(m_graph, IID_IMediaSeeking)) {
- LONGLONG position = 0;
-
- seeking->GetCurrentPosition(&position);
- seeking->Release();
-
- m_position = position / 10;
- } else {
- m_position = 0;
- }
-
- m_executedTasks |= Pause;
-
- if (m_rate != 0.0)
- m_executedTasks &= ~Play;
-
- QCoreApplication::postEvent(this, new QEvent(QEvent::Type(StatusChange)));
- } else {
- m_error = QMediaPlayer::ResourceError;
- m_errorString = QString();
- qWarning("DirectShowPlayerService::doPause: Unresolved error code %x", uint(hr));
-
- QCoreApplication::postEvent(this, new QEvent(QEvent::Type(Error)));
- }
- }
-}
-
-void DirectShowPlayerService::stop()
-{
- QMutexLocker locker(&m_mutex);
-
- m_pendingTasks &= ~(Play | Pause | Seek);
-
- if ((m_executingTask | m_executedTasks) & (Play | Pause | Seek)) {
- m_pendingTasks |= Stop;
-
- ::SetEvent(m_taskHandle);
-
- m_loop->wait(&m_mutex);
- }
-
-}
-
-void DirectShowPlayerService::doStop(QMutexLocker *locker)
-{
- if (m_executedTasks & (Play | Pause)) {
- if (IMediaControl *control = com_cast<IMediaControl>(m_graph, IID_IMediaControl)) {
- control->Stop();
- control->Release();
- }
-
- if (IMediaSeeking *seeking = com_cast<IMediaSeeking>(m_graph, IID_IMediaSeeking)) {
- LONGLONG position = 0;
-
- seeking->GetCurrentPosition(&position);
- seeking->Release();
-
- m_position = position / 10;
- } else {
- m_position = 0;
- }
-
- m_executedTasks &= ~(Play | Pause);
-
- QCoreApplication::postEvent(this, new QEvent(QEvent::Type(StatusChange)));
- }
-
- m_executedTasks |= Stop;
-
- m_loop->wake();
-}
-
-void DirectShowPlayerService::setRate(qreal rate)
-{
- QMutexLocker locker(&m_mutex);
-
- if (m_rate == rate)
- return;
-
- if (rate == 0.0) {
- if (m_pendingTasks & Play) {
- m_executedTasks |= Play;
- m_pendingTasks &= ~(Play | SetRate);
-
- if (!((m_executingTask | m_executedTasks) & Pause))
- m_pendingTasks |= Pause;
- } else if ((m_executingTask | m_executedTasks) & Play) {
- m_pendingTasks |= Pause;
- }
- } else {
- m_pendingTasks |= SetRate;
-
- if (m_rate == 0.0 && (m_executedTasks & Play) && !(m_executingTask & Play))
- m_pendingTasks |= Play;
- }
-
- m_rate = rate;
-
- if (m_executedTasks & FinalizeLoad)
- ::SetEvent(m_taskHandle);
-}
-
-void DirectShowPlayerService::doSetRate(QMutexLocker *locker)
-{
- if (IMediaSeeking *seeking = com_cast<IMediaSeeking>(m_graph, IID_IMediaSeeking)) {
- // Cache current values as we can't query IMediaSeeking during a seek due to the
- // possibility of a deadlock when flushing the VideoSurfaceFilter.
- LONGLONG currentPosition = 0;
- seeking->GetCurrentPosition(&currentPosition);
- m_position = currentPosition / 10;
-
- LONGLONG minimum = 0;
- LONGLONG maximum = 0;
- m_playbackRange = SUCCEEDED(seeking->GetAvailable(&minimum, &maximum))
- ? QMediaTimeRange(minimum / 10, maximum / 10)
- : QMediaTimeRange();
-
- locker->unlock();
- HRESULT hr = seeking->SetRate(m_rate);
- locker->relock();
-
- if (!SUCCEEDED(hr)) {
- double rate = 0.0;
- m_rate = seeking->GetRate(&rate)
- ? rate
- : 1.0;
- }
-
- seeking->Release();
- } else if (m_rate != 1.0) {
- m_rate = 1.0;
- }
-
- QCoreApplication::postEvent(this, new QEvent(QEvent::Type(RateChange)));
-}
-
-qint64 DirectShowPlayerService::position() const
-{
- QMutexLocker locker(const_cast<QMutex *>(&m_mutex));
-
- if (m_graphStatus == Loaded) {
- if (m_executingTask == Seek || m_executingTask == SetRate) {
- return m_position;
- } else if (IMediaSeeking *seeking = com_cast<IMediaSeeking>(m_graph, IID_IMediaSeeking)) {
- LONGLONG position = 0;
-
- seeking->GetCurrentPosition(&position);
- seeking->Release();
-
- const_cast<qint64 &>(m_position) = position / 10;
-
- return m_position;
- }
- }
- return 0;
-}
-
-QMediaTimeRange DirectShowPlayerService::availablePlaybackRanges() const
-{
- QMutexLocker locker(const_cast<QMutex *>(&m_mutex));
-
- if (m_graphStatus == Loaded) {
- if (m_executingTask == Seek || m_executingTask == SetRate) {
- return m_playbackRange;
- } else if (IMediaSeeking *seeking = com_cast<IMediaSeeking>(m_graph, IID_IMediaSeeking)) {
- LONGLONG minimum = 0;
- LONGLONG maximum = 0;
-
- HRESULT hr = seeking->GetAvailable(&minimum, &maximum);
- seeking->Release();
-
- if (SUCCEEDED(hr))
- return QMediaTimeRange(minimum, maximum);
- }
- }
- return QMediaTimeRange();
-}
-
-void DirectShowPlayerService::seek(qint64 position)
-{
- QMutexLocker locker(&m_mutex);
-
- m_position = position;
-
- m_pendingTasks |= Seek;
-
- if (m_executedTasks & FinalizeLoad)
- ::SetEvent(m_taskHandle);
-}
-
-void DirectShowPlayerService::doSeek(QMutexLocker *locker)
-{
- if (IMediaSeeking *seeking = com_cast<IMediaSeeking>(m_graph, IID_IMediaSeeking)) {
- LONGLONG seekPosition = LONGLONG(m_position) * 10;
-
- // Cache current values as we can't query IMediaSeeking during a seek due to the
- // possibility of a deadlock when flushing the VideoSurfaceFilter.
- LONGLONG currentPosition = 0;
- seeking->GetCurrentPosition(&currentPosition);
- m_position = currentPosition / 10;
-
- LONGLONG minimum = 0;
- LONGLONG maximum = 0;
- m_playbackRange = SUCCEEDED(seeking->GetAvailable(&minimum, &maximum))
- ? QMediaTimeRange(minimum / 10, maximum / 10)
- : QMediaTimeRange();
-
- locker->unlock();
- seeking->SetPositions(
- &seekPosition, AM_SEEKING_AbsolutePositioning, 0, AM_SEEKING_NoPositioning);
- locker->relock();
-
- seeking->GetCurrentPosition(&currentPosition);
- m_position = currentPosition / 10;
-
- seeking->Release();
- } else {
- m_position = 0;
- }
-
- QCoreApplication::postEvent(this, new QEvent(QEvent::Type(PositionChange)));
-}
-
-int DirectShowPlayerService::bufferStatus() const
-{
-#ifndef QT_NO_WMSDK
- QMutexLocker locker(const_cast<QMutex *>(&m_mutex));
-
- if (IWMReaderAdvanced2 *reader = com_cast<IWMReaderAdvanced2>(
- m_source, IID_IWMReaderAdvanced2)) {
- DWORD percentage = 0;
-
- reader->GetBufferProgress(&percentage, 0);
- reader->Release();
-
- return percentage;
- } else {
- return 0;
- }
-#else
- return 0;
-#endif
-}
-
-void DirectShowPlayerService::setAudioOutput(IBaseFilter *filter)
-{
- QMutexLocker locker(&m_mutex);
-
- if (m_graph) {
- if (m_audioOutput) {
- if (m_executedTasks & SetAudioOutput) {
- m_pendingTasks |= ReleaseAudioOutput;
-
- ::SetEvent(m_taskHandle);
-
- m_loop->wait(&m_mutex);
- }
- m_audioOutput->Release();
- }
-
- m_audioOutput = filter;
-
- if (m_audioOutput) {
- m_audioOutput->AddRef();
-
- m_pendingTasks |= SetAudioOutput;
-
- if (m_executedTasks & SetSource) {
- m_pendingTasks |= Render;
-
- ::SetEvent(m_taskHandle);
- }
- } else {
- m_pendingTasks &= ~ SetAudioOutput;
- }
- } else {
- if (m_audioOutput)
- m_audioOutput->Release();
-
- m_audioOutput = filter;
-
- if (m_audioOutput)
- m_audioOutput->AddRef();
- }
-
- m_playerControl->updateAudioOutput(m_audioOutput);
-}
-
-void DirectShowPlayerService::doReleaseAudioOutput(QMutexLocker *locker)
-{
- m_pendingTasks |= m_executedTasks & (Play | Pause);
-
- if (IMediaControl *control = com_cast<IMediaControl>(m_graph, IID_IMediaControl)) {
- control->Stop();
- control->Release();
- }
-
- IBaseFilter *decoder = getConnected(m_audioOutput, PINDIR_INPUT);
- if (!decoder) {
- decoder = m_audioOutput;
- decoder->AddRef();
- }
-
- // {DCFBDCF6-0DC2-45f5-9AB2-7C330EA09C29}
- static const GUID iid_IFilterChain = {
- 0xDCFBDCF6, 0x0DC2, 0x45f5, {0x9A, 0xB2, 0x7C, 0x33, 0x0E, 0xA0, 0x9C, 0x29} };
-
- if (IFilterChain *chain = com_cast<IFilterChain>(m_graph, iid_IFilterChain)) {
- chain->RemoveChain(decoder, m_audioOutput);
- chain->Release();
- } else {
- m_graph->RemoveFilter(m_audioOutput);
- }
-
- decoder->Release();
-
- m_executedTasks &= ~SetAudioOutput;
-
- m_loop->wake();
-}
-
-void DirectShowPlayerService::setVideoOutput(IBaseFilter *filter)
-{
- QMutexLocker locker(&m_mutex);
-
- if (m_graph) {
- if (m_videoOutput) {
- if (m_executedTasks & SetVideoOutput) {
- m_pendingTasks |= ReleaseVideoOutput;
-
- ::SetEvent(m_taskHandle);
-
- m_loop->wait(&m_mutex);
- }
- m_videoOutput->Release();
- }
-
- m_videoOutput = filter;
-
- if (m_videoOutput) {
- m_videoOutput->AddRef();
-
- m_pendingTasks |= SetVideoOutput;
-
- if (m_executedTasks & SetSource) {
- m_pendingTasks |= Render;
-
- ::SetEvent(m_taskHandle);
- }
- }
- } else {
- if (m_videoOutput)
- m_videoOutput->Release();
-
- m_videoOutput = filter;
-
- if (m_videoOutput)
- m_videoOutput->AddRef();
- }
-}
-
-void DirectShowPlayerService::doReleaseVideoOutput(QMutexLocker *locker)
-{
- m_pendingTasks |= m_executedTasks & (Play | Pause);
-
- if (IMediaControl *control = com_cast<IMediaControl>(m_graph, IID_IMediaControl)) {
- control->Stop();
- control->Release();
- }
-
- IBaseFilter *intermediate = 0;
- if (!SUCCEEDED(m_graph->FindFilterByName(L"Color Space Converter", &intermediate))) {
- intermediate = m_videoOutput;
- intermediate->AddRef();
- }
-
- IBaseFilter *decoder = getConnected(intermediate, PINDIR_INPUT);
- if (!decoder) {
- decoder = intermediate;
- decoder->AddRef();
- }
-
- // {DCFBDCF6-0DC2-45f5-9AB2-7C330EA09C29}
- static const GUID iid_IFilterChain = {
- 0xDCFBDCF6, 0x0DC2, 0x45f5, {0x9A, 0xB2, 0x7C, 0x33, 0x0E, 0xA0, 0x9C, 0x29} };
-
- if (IFilterChain *chain = com_cast<IFilterChain>(m_graph, iid_IFilterChain)) {
- chain->RemoveChain(decoder, m_videoOutput);
- chain->Release();
- } else {
- m_graph->RemoveFilter(m_videoOutput);
- }
-
- intermediate->Release();
- decoder->Release();
-
- m_executedTasks &= ~SetVideoOutput;
-
- m_loop->wake();
-}
-
-void DirectShowPlayerService::customEvent(QEvent *event)
-{
- if (event->type() == QEvent::Type(FinalizedLoad)) {
- QMutexLocker locker(&m_mutex);
-
- m_playerControl->updateMediaInfo(m_duration, m_streamTypes, m_seekable);
- m_metaDataControl->updateGraph(m_graph, m_source);
-
- updateStatus();
- } else if (event->type() == QEvent::Type(Error)) {
- QMutexLocker locker(&m_mutex);
-
- if (m_error != QMediaPlayer::NoError) {
- m_playerControl->updateError(m_error, m_errorString);
- m_playerControl->updateMediaInfo(m_duration, m_streamTypes, m_seekable);
- m_playerControl->updateState(QMediaPlayer::StoppedState);
- updateStatus();
- }
- } else if (event->type() == QEvent::Type(RateChange)) {
- QMutexLocker locker(&m_mutex);
-
- m_playerControl->updatePlaybackRate(m_rate);
- } else if (event->type() == QEvent::Type(StatusChange)) {
- QMutexLocker locker(&m_mutex);
-
- updateStatus();
- m_playerControl->updatePosition(m_position);
- } else if (event->type() == QEvent::Type(DurationChange)) {
- QMutexLocker locker(&m_mutex);
-
- m_playerControl->updateMediaInfo(m_duration, m_streamTypes, m_seekable);
- } else if (event->type() == QEvent::Type(EndOfMedia)) {
- QMutexLocker locker(&m_mutex);
-
- if (m_atEnd) {
- m_playerControl->updateState(QMediaPlayer::StoppedState);
- m_playerControl->updateStatus(QMediaPlayer::EndOfMedia);
- m_playerControl->updatePosition(m_position);
- }
- } else if (event->type() == QEvent::Type(PositionChange)) {
- QMutexLocker locker(&m_mutex);
-
- m_playerControl->updatePosition(m_position);
- } else if (event->type() == QEvent::Type(VideoOutputChange)) {
- if (m_videoWindowControl)
- m_videoWindowControl->updateNativeSize();
- } else {
- QMediaService::customEvent(event);
- }
-}
-
-void DirectShowPlayerService::videoOutputChanged()
-{
- IBaseFilter *videoOutput = 0;
-
- switch (m_videoOutputControl->output()) {
- case QVideoOutputControl::RendererOutput:
- videoOutput = m_videoRendererControl->filter();
- break;
- case QVideoOutputControl::WindowOutput:
- videoOutput = m_videoWindowControl->filter();
- break;
- default:
- break;
- }
-
- setVideoOutput(videoOutput);
-}
-
-void DirectShowPlayerService::graphEvent(QMutexLocker *locker)
-{
- if (IMediaEvent *event = com_cast<IMediaEvent>(m_graph, IID_IMediaEvent)) {
- long eventCode;
- LONG_PTR param1;
- LONG_PTR param2;
-
- while (event->GetEvent(&eventCode, &param1, &param2, 0) == S_OK) {
- switch (eventCode) {
- case EC_BUFFERING_DATA:
- m_buffering = param1;
-
- QCoreApplication::postEvent(this, new QEvent(QEvent::Type(StatusChange)));
- break;
- case EC_COMPLETE:
- m_executedTasks &= ~(Play | Pause);
- m_executedTasks |= Stop;
-
- m_buffering = false;
- m_atEnd = true;
-
- if (IMediaSeeking *seeking = com_cast<IMediaSeeking>(m_graph, IID_IMediaSeeking)) {
- LONGLONG position = 0;
-
- seeking->GetCurrentPosition(&position);
- seeking->Release();
-
- m_position = position / 10;
- }
-
- QCoreApplication::postEvent(this, new QEvent(QEvent::Type(EndOfMedia)));
- break;
- case EC_LENGTH_CHANGED:
- if (IMediaSeeking *seeking = com_cast<IMediaSeeking>(m_graph, IID_IMediaSeeking)) {
- LONGLONG duration = 0;
- seeking->GetDuration(&duration);
- m_duration = duration / 10;
-
- DWORD capabilities = 0;
- seeking->GetCapabilities(&capabilities);
- m_seekable = capabilities & AM_SEEKING_CanSeekAbsolute;
-
- seeking->Release();
-
- QCoreApplication::postEvent(this, new QEvent(QEvent::Type(DurationChange)));
- }
- break;
- default:
- break;
- }
-
- event->FreeEventParams(eventCode, param1, param2);
- }
- event->Release();
- }
-}
-
-void DirectShowPlayerService::updateStatus()
-{
- switch (m_graphStatus) {
- case NoMedia:
- m_playerControl->updateStatus(QMediaPlayer::NoMedia);
- break;
- case Loading:
- m_playerControl->updateStatus(QMediaPlayer::LoadingMedia);
- break;
- case Loaded:
- if ((m_pendingTasks | m_executingTask | m_executedTasks) & (Play | Pause)) {
- if (m_buffering)
- m_playerControl->updateStatus(QMediaPlayer::BufferingMedia);
- else
- m_playerControl->updateStatus(QMediaPlayer::BufferedMedia);
- } else {
- m_playerControl->updateStatus(QMediaPlayer::LoadedMedia);
- }
- break;
- case InvalidMedia:
- m_playerControl->updateStatus(QMediaPlayer::InvalidMedia);
- break;
- default:
- m_playerControl->updateStatus(QMediaPlayer::UnknownMediaStatus);
- }
-}
-
-bool DirectShowPlayerService::isConnected(IBaseFilter *filter, PIN_DIRECTION direction) const
-{
- bool connected = false;
-
- IEnumPins *pins = 0;
-
- if (SUCCEEDED(filter->EnumPins(&pins))) {
- for (IPin *pin = 0; pins->Next(1, &pin, 0) == S_OK; pin->Release()) {
- PIN_DIRECTION dir;
- if (SUCCEEDED(pin->QueryDirection(&dir)) && dir == direction) {
- IPin *peer = 0;
- if (SUCCEEDED(pin->ConnectedTo(&peer))) {
- connected = true;
-
- peer->Release();
- }
- }
- }
- pins->Release();
- }
- return connected;
-}
-
-IBaseFilter *DirectShowPlayerService::getConnected(
- IBaseFilter *filter, PIN_DIRECTION direction) const
-{
- IBaseFilter *connected = 0;
-
- IEnumPins *pins = 0;
-
- if (SUCCEEDED(filter->EnumPins(&pins))) {
- for (IPin *pin = 0; pins->Next(1, &pin, 0) == S_OK; pin->Release()) {
- PIN_DIRECTION dir;
- if (SUCCEEDED(pin->QueryDirection(&dir)) && dir == direction) {
- IPin *peer = 0;
- if (SUCCEEDED(pin->ConnectedTo(&peer))) {
- PIN_INFO info;
-
- if (SUCCEEDED(peer->QueryPinInfo(&info))) {
- if (connected) {
- qWarning("DirectShowPlayerService::getConnected: "
- "Multiple connected filters");
- connected->Release();
- }
- connected = info.pFilter;
- }
- peer->Release();
- }
- }
- }
- pins->Release();
- }
- return connected;
-}
-
-void DirectShowPlayerService::run()
-{
- QMutexLocker locker(&m_mutex);
-
- for (;;) {
- ::ResetEvent(m_taskHandle);
-
- while (m_pendingTasks == 0) {
- DWORD result = 0;
-
- locker.unlock();
- if (m_eventHandle) {
- HANDLE handles[] = { m_taskHandle, m_eventHandle };
-
- result = ::WaitForMultipleObjects(2, handles, false, INFINITE);
- } else {
- result = ::WaitForSingleObject(m_taskHandle, INFINITE);
- }
- locker.relock();
-
- if (result == WAIT_OBJECT_0 + 1) {
- graphEvent(&locker);
- }
- }
-
- if (m_pendingTasks & ReleaseGraph) {
- m_pendingTasks ^= ReleaseGraph;
- m_executingTask = ReleaseGraph;
-
- doReleaseGraph(&locker);
- } else if (m_pendingTasks & Shutdown) {
- return;
- } else if (m_pendingTasks & ReleaseAudioOutput) {
- m_pendingTasks ^= ReleaseAudioOutput;
- m_executingTask = ReleaseAudioOutput;
-
- doReleaseAudioOutput(&locker);
- } else if (m_pendingTasks & ReleaseVideoOutput) {
- m_pendingTasks ^= ReleaseVideoOutput;
- m_executingTask = ReleaseVideoOutput;
-
- doReleaseVideoOutput(&locker);
- } else if (m_pendingTasks & SetUrlSource) {
- m_pendingTasks ^= SetUrlSource;
- m_executingTask = SetUrlSource;
-
- doSetUrlSource(&locker);
- } else if (m_pendingTasks & SetStreamSource) {
- m_pendingTasks ^= SetStreamSource;
- m_executingTask = SetStreamSource;
-
- doSetStreamSource(&locker);
- } else if (m_pendingTasks & Render) {
- m_pendingTasks ^= Render;
- m_executingTask = Render;
-
- doRender(&locker);
- } else if (!(m_executedTasks & Render)) {
- m_pendingTasks &= ~(FinalizeLoad | SetRate | Stop | Pause | Seek | Play);
- } else if (m_pendingTasks & FinalizeLoad) {
- m_pendingTasks ^= FinalizeLoad;
- m_executingTask = FinalizeLoad;
-
- doFinalizeLoad(&locker);
- } else if (m_pendingTasks & Stop) {
- m_pendingTasks ^= Stop;
- m_executingTask = Stop;
-
- doStop(&locker);
- } else if (m_pendingTasks & Pause) {
- m_pendingTasks ^= Pause;
- m_executingTask = Pause;
-
- doPause(&locker);
- } else if (m_pendingTasks & SetRate) {
- m_pendingTasks ^= SetRate;
- m_executingTask = SetRate;
-
- doSetRate(&locker);
- } else if (m_pendingTasks & Seek) {
- m_pendingTasks ^= Seek;
- m_executingTask = Seek;
-
- doSeek(&locker);
- } else if (m_pendingTasks & Play) {
- m_pendingTasks ^= Play;
- m_executingTask = Play;
-
- doPlay(&locker);
- }
- m_executingTask = 0;
- }
-}
-
-QT_END_NAMESPACE
diff --git a/src/plugins/mediaservices/directshow/mediaplayer/directshowplayerservice.h b/src/plugins/mediaservices/directshow/mediaplayer/directshowplayerservice.h
deleted file mode 100644
index a3f94e19bf..0000000000
--- a/src/plugins/mediaservices/directshow/mediaplayer/directshowplayerservice.h
+++ /dev/null
@@ -1,220 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the plugins of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef DIRECTSHOWPLAYERSERVICE_H
-#define DIRECTSHOWPLAYERSERVICE_H
-
-#include <QtMediaServices/qmediaplayer.h>
-#include <QtMediaServices/qmediaresource.h>
-#include <QtMediaServices/qmediaservice.h>
-#include <QtMediaServices/qmediatimerange.h>
-
-#include "directshoweventloop.h"
-#include "directshowglobal.h"
-
-#include <QtCore/qcoreevent.h>
-#include <QtCore/qmutex.h>
-#include <QtCore/qurl.h>
-#include <QtCore/qwaitcondition.h>
-
-#include <QtCore/private/qwineventnotifier_p.h>
-
-QT_BEGIN_HEADER
-
-QT_BEGIN_NAMESPACE
-
-class DirectShowAudioEndpointControl;
-class DirectShowMetaDataControl;
-class DirectShowPlayerControl;
-class DirectShowVideoOutputControl;
-class DirectShowVideoRendererControl;
-class Vmr9VideoWindowControl;
-
-class DirectShowPlayerService : public QMediaService
-{
- Q_OBJECT
-public:
- enum StreamType
- {
- AudioStream = 0x01,
- VideoStream = 0x02
- };
-
- DirectShowPlayerService(QObject *parent = 0);
- ~DirectShowPlayerService();
-
- QMediaControl* control(const char *name) const;
-
- void load(const QMediaContent &media, QIODevice *stream);
- void play();
- void pause();
- void stop();
-
- qint64 position() const;
- QMediaTimeRange availablePlaybackRanges() const;
-
- void seek(qint64 position);
- void setRate(qreal rate);
-
- int bufferStatus() const;
-
- void setAudioOutput(IBaseFilter *filter);
- void setVideoOutput(IBaseFilter *filter);
-
-protected:
- void customEvent(QEvent *event);
-
-private Q_SLOTS:
- void videoOutputChanged();
-
-private:
- void releaseGraph();
- void updateStatus();
-
- int findStreamTypes(IBaseFilter *source) const;
- int findStreamType(IPin *pin) const;
-
- bool isConnected(IBaseFilter *filter, PIN_DIRECTION direction) const;
- IBaseFilter *getConnected(IBaseFilter *filter, PIN_DIRECTION direction) const;
-
- void run();
-
- void doSetUrlSource(QMutexLocker *locker);
- void doSetStreamSource(QMutexLocker *locker);
- void doRender(QMutexLocker *locker);
- void doFinalizeLoad(QMutexLocker *locker);
- void doSetRate(QMutexLocker *locker);
- void doSeek(QMutexLocker *locker);
- void doPlay(QMutexLocker *locker);
- void doPause(QMutexLocker *locker);
- void doStop(QMutexLocker *locker);
- void doReleaseAudioOutput(QMutexLocker *locker);
- void doReleaseVideoOutput(QMutexLocker *locker);
- void doReleaseGraph(QMutexLocker *locker);
-
- void graphEvent(QMutexLocker *locker);
-
- enum Task
- {
- Shutdown = 0x0001,
- SetUrlSource = 0x0002,
- SetStreamSource = 0x0004,
- SetSource = SetUrlSource | SetStreamSource,
- SetAudioOutput = 0x0008,
- SetVideoOutput = 0x0010,
- SetOutputs = SetAudioOutput | SetVideoOutput,
- Render = 0x0020,
- FinalizeLoad = 0x0040,
- SetRate = 0x0080,
- Seek = 0x0100,
- Play = 0x0200,
- Pause = 0x0400,
- Stop = 0x0800,
- ReleaseGraph = 0x1000,
- ReleaseAudioOutput = 0x2000,
- ReleaseVideoOutput = 0x4000,
- ReleaseFilters = ReleaseGraph | ReleaseAudioOutput | ReleaseVideoOutput
- };
-
- enum Event
- {
- FinalizedLoad = QEvent::User,
- Error,
- RateChange,
- Started,
- Paused,
- DurationChange,
- StatusChange,
- EndOfMedia,
- PositionChange,
- VideoOutputChange
- };
-
- enum GraphStatus
- {
- NoMedia,
- Loading,
- Loaded,
- InvalidMedia
- };
-
- DirectShowPlayerControl *m_playerControl;
- DirectShowMetaDataControl *m_metaDataControl;
- DirectShowVideoOutputControl *m_videoOutputControl;
- DirectShowVideoRendererControl *m_videoRendererControl;
- Vmr9VideoWindowControl *m_videoWindowControl;
- DirectShowAudioEndpointControl *m_audioEndpointControl;
-
- QThread *m_taskThread;
- DirectShowEventLoop *m_loop;
- int m_pendingTasks;
- int m_executingTask;
- int m_executedTasks;
- HANDLE m_taskHandle;
- HANDLE m_eventHandle;
- GraphStatus m_graphStatus;
- QMediaPlayer::Error m_error;
- QIODevice *m_stream;
- IFilterGraph2 *m_graph;
- IBaseFilter *m_source;
- IBaseFilter *m_audioOutput;
- IBaseFilter *m_videoOutput;
- int m_streamTypes;
- qreal m_rate;
- qint64 m_position;
- qint64 m_duration;
- bool m_buffering;
- bool m_seekable;
- bool m_atEnd;
- QMediaTimeRange m_playbackRange;
- QUrl m_url;
- QMediaResourceList m_resources;
- QString m_errorString;
- QMutex m_mutex;
-
- friend class DirectShowPlayerServiceThread;
-};
-
-QT_END_NAMESPACE
-
-QT_END_HEADER
-
-#endif
diff --git a/src/plugins/mediaservices/directshow/mediaplayer/directshowsamplescheduler.cpp b/src/plugins/mediaservices/directshow/mediaplayer/directshowsamplescheduler.cpp
deleted file mode 100644
index 23675fb4b7..0000000000
--- a/src/plugins/mediaservices/directshow/mediaplayer/directshowsamplescheduler.cpp
+++ /dev/null
@@ -1,403 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the plugins of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "directshowsamplescheduler.h"
-
-#include <QtCore/qcoreevent.h>
-
-
-QT_BEGIN_NAMESPACE
-
-class DirectShowTimedSample
-{
-public:
- DirectShowTimedSample(IMediaSample *sample)
- : m_next(0)
- , m_sample(sample)
- , m_cookie(0)
- , m_lastSample(false)
- {
- m_sample->AddRef();
- }
-
- ~DirectShowTimedSample()
- {
- m_sample->Release();
- }
-
- IMediaSample *sample() const { return m_sample; }
-
- DirectShowTimedSample *nextSample() const { return m_next; }
- void setNextSample(DirectShowTimedSample *sample) { Q_ASSERT(!m_next); m_next = sample; }
-
- DirectShowTimedSample *remove() {
- DirectShowTimedSample *next = m_next; delete this; return next; }
-
- bool schedule(IReferenceClock *clock, REFERENCE_TIME startTime, HANDLE handle);
- void unschedule(IReferenceClock *clock);
-
- bool isReady(IReferenceClock *clock) const;
-
- bool isLast() const { return m_lastSample; }
- void setLast() { m_lastSample = true; }
-
-private:
- DirectShowTimedSample *m_next;
- IMediaSample *m_sample;
- DWORD_PTR m_cookie;
- bool m_lastSample;
-};
-
-bool DirectShowTimedSample::schedule(
- IReferenceClock *clock, REFERENCE_TIME startTime, HANDLE handle)
-{
- REFERENCE_TIME sampleStartTime;
- REFERENCE_TIME sampleEndTime;
- if (m_sample->GetTime(&sampleStartTime, &sampleEndTime) == S_OK) {
- if (clock->AdviseTime(
- startTime, sampleStartTime, reinterpret_cast<HEVENT>(handle), &m_cookie) == S_OK) {
- return true;
- }
- }
- return false;
-}
-
-void DirectShowTimedSample::unschedule(IReferenceClock *clock)
-{
- clock->Unadvise(m_cookie);
-}
-
-bool DirectShowTimedSample::isReady(IReferenceClock *clock) const
-{
- REFERENCE_TIME sampleStartTime;
- REFERENCE_TIME sampleEndTime;
- REFERENCE_TIME currentTime;
- if (m_sample->GetTime(&sampleStartTime, &sampleEndTime) == S_OK) {
- if (clock->GetTime(&currentTime) == S_OK)
- return currentTime >= sampleStartTime;
- }
- return true;
-}
-
-DirectShowSampleScheduler::DirectShowSampleScheduler(IUnknown *pin, QObject *parent)
- : QObject(parent)
- , m_pin(pin)
- , m_clock(0)
- , m_allocator(0)
- , m_head(0)
- , m_tail(0)
- , m_maximumSamples(2)
- , m_state(Stopped)
- , m_startTime(0)
- , m_timeoutEvent(::CreateEvent(0, 0, 0, 0))
-{
- m_semaphore.release(m_maximumSamples);
-
- m_eventNotifier.setHandle(m_timeoutEvent);
- m_eventNotifier.setEnabled(true);
-
- connect(&m_eventNotifier, SIGNAL(activated(HANDLE)), this, SIGNAL(sampleReady()));
-}
-
-DirectShowSampleScheduler::~DirectShowSampleScheduler()
-{
- m_eventNotifier.setEnabled(false);
-
- ::CloseHandle(m_timeoutEvent);
-
- Q_ASSERT(!m_clock);
- Q_ASSERT(!m_allocator);
-}
-
-HRESULT DirectShowSampleScheduler::QueryInterface(REFIID riid, void **ppvObject)
-{
- return m_pin->QueryInterface(riid, ppvObject);
-}
-
-ULONG DirectShowSampleScheduler::AddRef()
-{
- return m_pin->AddRef();
-}
-
-ULONG DirectShowSampleScheduler::Release()
-{
- return m_pin->Release();
-}
-
-// IMemInputPin
-HRESULT DirectShowSampleScheduler::GetAllocator(IMemAllocator **ppAllocator)
-{
- if (!ppAllocator) {
- return E_POINTER;
- } else {
- QMutexLocker locker(&m_mutex);
-
- if (!m_allocator) {
- return VFW_E_NO_ALLOCATOR;
- } else {
- *ppAllocator = m_allocator;
-
- return S_OK;
- }
- }
-}
-
-HRESULT DirectShowSampleScheduler::NotifyAllocator(IMemAllocator *pAllocator, BOOL bReadOnly)
-{
- Q_UNUSED(bReadOnly);
-
- HRESULT hr;
- ALLOCATOR_PROPERTIES properties;
-
- if (!pAllocator) {
- if (m_allocator)
- m_allocator->Release();
-
- m_allocator = 0;
-
- return S_OK;
- } else if ((hr = pAllocator->GetProperties(&properties)) != S_OK) {
- return hr;
- } else {
- if (properties.cBuffers == 1) {
- ALLOCATOR_PROPERTIES actual;
-
- properties.cBuffers = 2;
- if ((hr = pAllocator->SetProperties(&properties, &actual)) != S_OK)
- return hr;
- }
-
- QMutexLocker locker(&m_mutex);
-
- if (m_allocator)
- m_allocator->Release();
-
- m_allocator = pAllocator;
- m_allocator->AddRef();
-
- return S_OK;
- }
-}
-
-HRESULT DirectShowSampleScheduler::GetAllocatorRequirements(ALLOCATOR_PROPERTIES *pProps)
-{
- if (!pProps)
- return E_POINTER;
-
- pProps->cBuffers = 2;
-
- return S_OK;
-}
-
-HRESULT DirectShowSampleScheduler::Receive(IMediaSample *pSample)
-{
- if (!pSample)
- return E_POINTER;
-
- m_semaphore.acquire(1);
-
- QMutexLocker locker(&m_mutex);
-
- if (m_state & Flushing) {
- m_semaphore.release(1);
-
- return S_FALSE;
- } else if (m_state == Stopped) {
- m_semaphore.release();
-
- return VFW_E_WRONG_STATE;
- } else {
- DirectShowTimedSample *timedSample = new DirectShowTimedSample(pSample);
-
- if (m_tail)
- m_tail->setNextSample(timedSample);
- else
- m_head = timedSample;
-
- m_tail = timedSample;
-
- if (m_state == Running) {
- if (!timedSample->schedule(m_clock, m_startTime, m_timeoutEvent)) {
- // Timing information is unavailable, so schedule frames immediately.
- QMetaObject::invokeMethod(this, "sampleReady", Qt::QueuedConnection);
- }
- } else if (m_tail == m_head) {
- // If this is the first frame make is available.
- QMetaObject::invokeMethod(this, "sampleReady", Qt::QueuedConnection);
- }
-
- return S_OK;
- }
-}
-
-HRESULT DirectShowSampleScheduler::ReceiveMultiple(
- IMediaSample **pSamples, long nSamples, long *nSamplesProcessed)
-{
- if (!pSamples || !nSamplesProcessed)
- return E_POINTER;
-
- for (*nSamplesProcessed = 0; *nSamplesProcessed < nSamples; ++(*nSamplesProcessed)) {
- HRESULT hr = Receive(pSamples[*nSamplesProcessed]);
-
- if (hr != S_OK)
- return hr;
- }
- return S_OK;
-}
-
-HRESULT DirectShowSampleScheduler::ReceiveCanBlock()
-{
- return S_OK;
-}
-
-void DirectShowSampleScheduler::run(REFERENCE_TIME startTime)
-{
- QMutexLocker locker(&m_mutex);
-
- m_state = (m_state & Flushing) | Running;
- m_startTime = startTime;
-
- for (DirectShowTimedSample *sample = m_head; sample; sample = sample->nextSample()) {
- sample->schedule(m_clock, m_startTime, m_timeoutEvent);
- }
-}
-
-void DirectShowSampleScheduler::pause()
-{
- QMutexLocker locker(&m_mutex);
-
- m_state = (m_state & Flushing) | Paused;
-
- for (DirectShowTimedSample *sample = m_head; sample; sample = sample->nextSample())
- sample->unschedule(m_clock);
-}
-
-void DirectShowSampleScheduler::stop()
-{
- QMutexLocker locker(&m_mutex);
-
- m_state = m_state & Flushing;
-
- for (DirectShowTimedSample *sample = m_head; sample; sample = sample->remove()) {
- sample->unschedule(m_clock);
-
- m_semaphore.release(1);
- }
-
- m_head = 0;
- m_tail = 0;
-}
-
-void DirectShowSampleScheduler::setFlushing(bool flushing)
-{
- QMutexLocker locker(&m_mutex);
-
- const bool isFlushing = m_state & Flushing;
-
- if (isFlushing != flushing) {
- if (flushing) {
- m_state |= Flushing;
-
- for (DirectShowTimedSample *sample = m_head; sample; sample = sample->remove()) {
- sample->unschedule(m_clock);
-
- m_semaphore.release(1);
- }
- m_head = 0;
- m_tail = 0;
- } else {
- m_state &= ~Flushing;
- }
- }
-}
-
-void DirectShowSampleScheduler::setClock(IReferenceClock *clock)
-{
- QMutexLocker locker(&m_mutex);
-
- if (m_clock)
- m_clock->Release();
-
- m_clock = clock;
-
- if (m_clock)
- m_clock->AddRef();
-}
-
-IMediaSample *DirectShowSampleScheduler::takeSample(bool *eos)
-{
- QMutexLocker locker(&m_mutex);
-
- if (m_head && m_head->isReady(m_clock)) {
- IMediaSample *sample = m_head->sample();
- sample->AddRef();
-
- if (m_state == Running) {
- *eos = m_head->isLast();
-
- m_head = m_head->remove();
-
- if (!m_head)
- m_tail = 0;
-
- m_semaphore.release(1);
- }
-
- return sample;
- } else {
- return 0;
- }
-}
-
-bool DirectShowSampleScheduler::scheduleEndOfStream()
-{
- QMutexLocker locker(&m_mutex);
-
- if (m_tail) {
- m_tail->setLast();
-
- return true;
- } else {
- return false;
- }
-}
-
-QT_END_NAMESPACE
diff --git a/src/plugins/mediaservices/directshow/mediaplayer/directshowsamplescheduler.h b/src/plugins/mediaservices/directshow/mediaplayer/directshowsamplescheduler.h
deleted file mode 100644
index 21823c3fe9..0000000000
--- a/src/plugins/mediaservices/directshow/mediaplayer/directshowsamplescheduler.h
+++ /dev/null
@@ -1,126 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the plugins of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef DIRECTSHOWSAMPLESCHEDULER_H
-#define DIRECTSHOWSAMPLESCHEDULER_H
-
-#include <QtCore/qmutex.h>
-#include <QtCore/qobject.h>
-#include <QtCore/qsemaphore.h>
-
-#include <QtCore/private/qwineventnotifier_p.h>
-
-#include <dshow.h>
-
-
-QT_BEGIN_HEADER
-
-QT_BEGIN_NAMESPACE
-
-class DirectShowTimedSample;
-
-class DirectShowSampleScheduler : public QObject, public IMemInputPin
-{
- Q_OBJECT
-public:
-
- enum State
- {
- Stopped = 0x00,
- Running = 0x01,
- Paused = 0x02,
- RunMask = 0x03,
- Flushing = 0x04
- };
-
- DirectShowSampleScheduler(IUnknown *pin, QObject *parent = 0);
- ~DirectShowSampleScheduler();
-
- // IUnknown
- HRESULT STDMETHODCALLTYPE QueryInterface(REFIID riid, void **ppvObject);
- ULONG STDMETHODCALLTYPE AddRef();
- ULONG STDMETHODCALLTYPE Release();
-
- // IMemInputPin
- HRESULT STDMETHODCALLTYPE GetAllocator(IMemAllocator **ppAllocator);
- HRESULT STDMETHODCALLTYPE NotifyAllocator(IMemAllocator *pAllocator, BOOL bReadOnly);
- HRESULT STDMETHODCALLTYPE GetAllocatorRequirements(ALLOCATOR_PROPERTIES *pProps);
-
- HRESULT STDMETHODCALLTYPE Receive(IMediaSample *pSample);
- HRESULT STDMETHODCALLTYPE ReceiveMultiple(IMediaSample **pSamples, long nSamples, long *nSamplesProcessed);
- HRESULT STDMETHODCALLTYPE ReceiveCanBlock();
-
- void run(REFERENCE_TIME startTime);
- void pause();
- void stop();
- void setFlushing(bool flushing);
-
- IReferenceClock *clock() const { return m_clock; }
- void setClock(IReferenceClock *clock);
-
- bool schedule(IMediaSample *sample);
- bool scheduleEndOfStream();
-
- IMediaSample *takeSample(bool *eos);
-
-Q_SIGNALS:
- void sampleReady();
-
-private:
- IUnknown *m_pin;
- IReferenceClock *m_clock;
- IMemAllocator *m_allocator;
- DirectShowTimedSample *m_head;
- DirectShowTimedSample *m_tail;
- int m_maximumSamples;
- int m_state;
- REFERENCE_TIME m_startTime;
- HANDLE m_timeoutEvent;
- QSemaphore m_semaphore;
- QMutex m_mutex;
- QWinEventNotifier m_eventNotifier;
-};
-
-QT_END_NAMESPACE
-
-QT_END_HEADER
-
-#endif
diff --git a/src/plugins/mediaservices/directshow/mediaplayer/directshowvideooutputcontrol.cpp b/src/plugins/mediaservices/directshow/mediaplayer/directshowvideooutputcontrol.cpp
deleted file mode 100644
index ee2bea84b3..0000000000
--- a/src/plugins/mediaservices/directshow/mediaplayer/directshowvideooutputcontrol.cpp
+++ /dev/null
@@ -1,87 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the plugins of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "directshowvideooutputcontrol.h"
-
-
-QT_BEGIN_NAMESPACE
-
-DirectShowVideoOutputControl::DirectShowVideoOutputControl(QObject *parent)
- : QVideoOutputControl(parent)
- , m_output(NoOutput)
-{
-
-}
-
-DirectShowVideoOutputControl::~DirectShowVideoOutputControl()
-{
-}
-
-QList<QVideoOutputControl::Output> DirectShowVideoOutputControl::availableOutputs() const
-{
- return QList<Output>()
- << RendererOutput
- << WindowOutput;
-}
-
-
-QVideoOutputControl::Output DirectShowVideoOutputControl::output() const
-{
- return m_output;
-}
-
-void DirectShowVideoOutputControl::setOutput(Output output)
-{
- if (output != m_output) {
- switch (output) {
- case NoOutput:
- case RendererOutput:
- case WindowOutput:
- m_output = output;
- emit outputChanged();
- break;
- default:
- break;
- }
- }
-}
-
-QT_END_NAMESPACE
diff --git a/src/plugins/mediaservices/directshow/mediaplayer/directshowvideooutputcontrol.h b/src/plugins/mediaservices/directshow/mediaplayer/directshowvideooutputcontrol.h
deleted file mode 100644
index 9b857cecc3..0000000000
--- a/src/plugins/mediaservices/directshow/mediaplayer/directshowvideooutputcontrol.h
+++ /dev/null
@@ -1,75 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the plugins of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef DIRECTSHOWVIDEOUTPUTCONTROL_H
-#define DIRECTSHOWVIDEOOUPUTCONTROL_H
-
-#include <QtMediaServices/qvideooutputcontrol.h>
-
-
-QT_BEGIN_HEADER
-
-QT_BEGIN_NAMESPACE
-
-class DirectShowVideoOutputControl : public QVideoOutputControl
-{
- Q_OBJECT
-public:
- DirectShowVideoOutputControl(QObject *parent = 0);
- ~DirectShowVideoOutputControl();
-
- QList<Output> availableOutputs() const;
-
- Output output() const;
- void setOutput(Output output);
-
-Q_SIGNALS:
- void outputChanged();
-
-private:
- Output m_output;
-};
-
-QT_END_NAMESPACE
-
-QT_END_HEADER
-
-#endif
diff --git a/src/plugins/mediaservices/directshow/mediaplayer/directshowvideorenderercontrol.cpp b/src/plugins/mediaservices/directshow/mediaplayer/directshowvideorenderercontrol.cpp
deleted file mode 100644
index f27cb103dc..0000000000
--- a/src/plugins/mediaservices/directshow/mediaplayer/directshowvideorenderercontrol.cpp
+++ /dev/null
@@ -1,93 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the plugins of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "directshowvideorenderercontrol.h"
-
-#include "videosurfacefilter.h"
-
-
-QT_BEGIN_NAMESPACE
-
-
-DirectShowVideoRendererControl::DirectShowVideoRendererControl(DirectShowEventLoop *loop, QObject *parent)
- : QVideoRendererControl(parent)
- , m_loop(loop)
- , m_surface(0)
- , m_filter(0)
-{
-}
-
-DirectShowVideoRendererControl::~DirectShowVideoRendererControl()
-{
- delete m_filter;
-}
-
-QAbstractVideoSurface *DirectShowVideoRendererControl::surface() const
-{
- return m_surface;
-}
-
-void DirectShowVideoRendererControl::setSurface(QAbstractVideoSurface *surface)
-{
- if (surface != m_surface) {
- m_surface = surface;
-
- VideoSurfaceFilter *existingFilter = m_filter;
-
- if (surface) {
- m_filter = new VideoSurfaceFilter(surface, m_loop);
- } else {
- m_filter = 0;
- }
-
- emit filterChanged();
-
- delete existingFilter;
- }
-}
-
-IBaseFilter *DirectShowVideoRendererControl::filter()
-{
- return m_filter;
-}
-
-
-QT_END_NAMESPACE
diff --git a/src/plugins/mediaservices/directshow/mediaplayer/directshowvideorenderercontrol.h b/src/plugins/mediaservices/directshow/mediaplayer/directshowvideorenderercontrol.h
deleted file mode 100644
index adaa0f8984..0000000000
--- a/src/plugins/mediaservices/directshow/mediaplayer/directshowvideorenderercontrol.h
+++ /dev/null
@@ -1,82 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the plugins of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef DIRECTSHOWVIDEORENDERERCONTROL_H
-#define DIRECTSHOWVIDEORENDERERCONTROL_H
-
-#include <QtMediaServices/qvideorenderercontrol.h>
-
-#include <dshow.h>
-
-
-QT_BEGIN_HEADER
-
-QT_BEGIN_NAMESPACE
-
-class DirectShowEventLoop;
-class VideoSurfaceFilter;
-
-class DirectShowVideoRendererControl : public QVideoRendererControl
-{
- Q_OBJECT
-public:
- DirectShowVideoRendererControl(DirectShowEventLoop *loop, QObject *parent = 0);
- ~DirectShowVideoRendererControl();
-
- QAbstractVideoSurface *surface() const;
- void setSurface(QAbstractVideoSurface *surface);
-
- IBaseFilter *filter();
-
-Q_SIGNALS:
- void filterChanged();
-
-private:
- DirectShowEventLoop *m_loop;
- QAbstractVideoSurface *m_surface;
- VideoSurfaceFilter *m_filter;
-};
-
-QT_END_NAMESPACE
-
-QT_END_HEADER
-
-#endif
diff --git a/src/plugins/mediaservices/directshow/mediaplayer/mediaplayer.pri b/src/plugins/mediaservices/directshow/mediaplayer/mediaplayer.pri
deleted file mode 100644
index 99a11919fb..0000000000
--- a/src/plugins/mediaservices/directshow/mediaplayer/mediaplayer.pri
+++ /dev/null
@@ -1,45 +0,0 @@
-INCLUDEPATH += $$PWD
-
-DEFINES += QMEDIA_DIRECTSHOW_PLAYER
-
-!contains(QT_CONFIG, wmsdk): DEFINES += QT_NO_WMSDK
-
-HEADERS += \
- $$PWD/directshowaudioendpointcontrol.h \
- $$PWD/directshoweventloop.h \
- $$PWD/directshowglobal.h \
- $$PWD/directshowioreader.h \
- $$PWD/directshowiosource.h \
- $$PWD/directshowmediatype.h \
- $$PWD/directshowmediatypelist.h \
- $$PWD/directshowmetadatacontrol.h \
- $$PWD/directshowpinenum.h \
- $$PWD/directshowplayercontrol.h \
- $$PWD/directshowplayerservice.h \
- $$PWD/directshowsamplescheduler.h \
- $$PWD/directshowvideooutputcontrol.h \
- $$PWD/directshowvideorenderercontrol.h \
- $$PWD/mediasamplevideobuffer.h \
- $$PWD/videosurfacefilter.h \
- $$PWD/vmr9videowindowcontrol.h
-
-SOURCES += \
- $$PWD/directshowaudioendpointcontrol.cpp \
- $$PWD/directshoweventloop.cpp \
- $$PWD/directshowioreader.cpp \
- $$PWD/directshowiosource.cpp \
- $$PWD/directshowmediatype.cpp \
- $$PWD/directshowmediatypelist.cpp \
- $$PWD/directshowmetadatacontrol.cpp \
- $$PWD/directshowpinenum.cpp \
- $$PWD/directshowplayercontrol.cpp \
- $$PWD/directshowplayerservice.cpp \
- $$PWD/directshowsamplescheduler.cpp \
- $$PWD/directshowvideooutputcontrol.cpp \
- $$PWD/directshowvideorenderercontrol.cpp \
- $$PWD/mediasamplevideobuffer.cpp \
- $$PWD/videosurfacefilter.cpp \
- $$PWD/vmr9videowindowcontrol.cpp
-
-LIBS += -lstrmiids -ldmoguids -luuid -lmsdmo -lole32 -loleaut32
-
diff --git a/src/plugins/mediaservices/directshow/mediaplayer/mediasamplevideobuffer.cpp b/src/plugins/mediaservices/directshow/mediaplayer/mediasamplevideobuffer.cpp
deleted file mode 100644
index 7eff22685a..0000000000
--- a/src/plugins/mediaservices/directshow/mediaplayer/mediasamplevideobuffer.cpp
+++ /dev/null
@@ -1,91 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the plugins of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "mediasamplevideobuffer.h"
-
-
-QT_BEGIN_NAMESPACE
-
-MediaSampleVideoBuffer::MediaSampleVideoBuffer(IMediaSample *sample, int bytesPerLine)
- : QAbstractVideoBuffer(NoHandle)
- , m_sample(sample)
- , m_bytesPerLine(m_bytesPerLine)
- , m_mapMode(NotMapped)
-{
- m_sample->AddRef();
-}
-
-MediaSampleVideoBuffer::~MediaSampleVideoBuffer()
-{
- m_sample->Release();
-}
-
-uchar *MediaSampleVideoBuffer::map(MapMode mode, int *numBytes, int *bytesPerLine)
-{
- if (m_mapMode == NotMapped && mode != NotMapped) {
- if (numBytes)
- *numBytes = m_sample->GetActualDataLength();
-
- if (bytesPerLine)
- *bytesPerLine = m_bytesPerLine;
-
- BYTE *bytes = 0;
-
- if (m_sample->GetPointer(&bytes) == S_OK) {
- m_mapMode = mode;
-
- return reinterpret_cast<uchar *>(bytes);
- }
- }
- return 0;
-}
-
-void MediaSampleVideoBuffer::unmap()
-{
- m_mapMode = NotMapped;
-}
-
-QAbstractVideoBuffer::MapMode MediaSampleVideoBuffer::mapMode() const
-{
- return m_mapMode;
-}
-
-QT_END_NAMESPACE
diff --git a/src/plugins/mediaservices/directshow/mediaplayer/mediasamplevideobuffer.h b/src/plugins/mediaservices/directshow/mediaplayer/mediasamplevideobuffer.h
deleted file mode 100644
index 06dc31ce3e..0000000000
--- a/src/plugins/mediaservices/directshow/mediaplayer/mediasamplevideobuffer.h
+++ /dev/null
@@ -1,77 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the plugins of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef MEDIASAMPLEVIDEOBUFFER_H
-#define MEDIASAMPLEVIDEOBUFFER_H
-
-#include <QtMultimedia/qabstractvideobuffer.h>
-
-#include <dshow.h>
-
-
-QT_BEGIN_HEADER
-
-QT_BEGIN_NAMESPACE
-
-class MediaSampleVideoBuffer : public QAbstractVideoBuffer
-{
-public:
- MediaSampleVideoBuffer(IMediaSample *sample, int bytesPerLine);
- ~MediaSampleVideoBuffer();
-
- IMediaSample *sample() { return m_sample; }
-
- uchar *map(MapMode mode, int *numBytes, int *bytesPerLine);
- void unmap();
-
- MapMode mapMode() const;
-
-private:
- IMediaSample *m_sample;
- int m_bytesPerLine;
- MapMode m_mapMode;
-};
-
-QT_END_NAMESPACE
-
-QT_END_HEADER
-
-#endif
diff --git a/src/plugins/mediaservices/directshow/mediaplayer/videosurfacefilter.cpp b/src/plugins/mediaservices/directshow/mediaplayer/videosurfacefilter.cpp
deleted file mode 100644
index a471c6869a..0000000000
--- a/src/plugins/mediaservices/directshow/mediaplayer/videosurfacefilter.cpp
+++ /dev/null
@@ -1,633 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the plugins of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "videosurfacefilter.h"
-
-#include "directshoweventloop.h"
-#include "directshowglobal.h"
-#include "directshowpinenum.h"
-#include "mediasamplevideobuffer.h"
-
-#include <QtCore/qcoreapplication.h>
-#include <QtCore/qcoreevent.h>
-#include <QtCore/qthread.h>
-#include <QtMultimedia/qabstractvideosurface.h>
-
-#include <initguid.h>
-
-
-QT_BEGIN_NAMESPACE
-
-// { e23cad72-153d-406c-bf3f-4c4b523d96f2 }
-DEFINE_GUID(CLSID_VideoSurfaceFilter,
-0xe23cad72, 0x153d, 0x406c, 0xbf, 0x3f, 0x4c, 0x4b, 0x52, 0x3d, 0x96, 0xf2);
-
-VideoSurfaceFilter::VideoSurfaceFilter(
- QAbstractVideoSurface *surface, DirectShowEventLoop *loop, QObject *parent)
- : QObject(parent)
- , m_ref(1)
- , m_state(State_Stopped)
- , m_surface(surface)
- , m_loop(loop)
- , m_graph(0)
- , m_peerPin(0)
- , m_bytesPerLine(0)
- , m_startResult(S_OK)
- , m_pinId(QString::fromLatin1("reference"))
- , m_sampleScheduler(static_cast<IPin *>(this))
-{
- connect(surface, SIGNAL(supportedFormatsChanged()), this, SLOT(supportedFormatsChanged()));
- connect(&m_sampleScheduler, SIGNAL(sampleReady()), this, SLOT(sampleReady()));
-}
-
-VideoSurfaceFilter::~VideoSurfaceFilter()
-{
- Q_ASSERT(m_ref == 1);
-}
-
-HRESULT VideoSurfaceFilter::QueryInterface(REFIID riid, void **ppvObject)
-{
- // 2dd74950-a890-11d1-abe8-00a0c905f375
- static const GUID iid_IAmFilterMiscFlags = {
- 0x2dd74950, 0xa890, 0x11d1, {0xab, 0xe8, 0x00, 0xa0, 0xc9, 0x05, 0xf3, 0x75} };
-
- if (!ppvObject) {
- return E_POINTER;
- } else if (riid == IID_IUnknown
- || riid == IID_IPersist
- || riid == IID_IMediaFilter
- || riid == IID_IBaseFilter) {
- *ppvObject = static_cast<IBaseFilter *>(this);
- } else if (riid == iid_IAmFilterMiscFlags) {
- *ppvObject = static_cast<IAMFilterMiscFlags *>(this);
- } else if (riid == IID_IPin) {
- *ppvObject = static_cast<IPin *>(this);
- } else if (riid == IID_IMemInputPin) {
- *ppvObject = static_cast<IMemInputPin *>(&m_sampleScheduler);
- } else {
- *ppvObject = 0;
-
- return E_NOINTERFACE;
- }
-
- AddRef();
-
- return S_OK;
-}
-
-ULONG VideoSurfaceFilter::AddRef()
-{
- return InterlockedIncrement(&m_ref);
-}
-
-ULONG VideoSurfaceFilter::Release()
-{
- ULONG ref = InterlockedDecrement(&m_ref);
-
- Q_ASSERT(ref != 0);
-
- return ref;
-}
-
-HRESULT VideoSurfaceFilter::GetClassID(CLSID *pClassID)
-{
- *pClassID = CLSID_VideoSurfaceFilter;
-
- return S_OK;
-}
-
-HRESULT VideoSurfaceFilter::Run(REFERENCE_TIME tStart)
-{
- m_state = State_Running;
-
- m_sampleScheduler.run(tStart);
-
- return S_OK;
-}
-
-HRESULT VideoSurfaceFilter::Pause()
-{
- m_state = State_Paused;
-
- m_sampleScheduler.pause();
-
- return S_OK;
-}
-
-HRESULT VideoSurfaceFilter::Stop()
-{
- m_state = State_Stopped;
-
- m_sampleScheduler.stop();
-
- return S_OK;
-}
-
-HRESULT VideoSurfaceFilter::GetState(DWORD dwMilliSecsTimeout, FILTER_STATE *pState)
-{
- if (!pState)
- return E_POINTER;
-
- *pState = m_state;
-
- return S_OK;
-}
-
-HRESULT VideoSurfaceFilter::SetSyncSource(IReferenceClock *pClock)
-{
-
- m_sampleScheduler.setClock(pClock);
-
- return S_OK;
-}
-
-HRESULT VideoSurfaceFilter::GetSyncSource(IReferenceClock **ppClock)
-{
- if (!ppClock) {
- return E_POINTER;
- } else {
- *ppClock = m_sampleScheduler.clock();
-
- if (*ppClock) {
- (*ppClock)->AddRef();
-
- return S_OK;
- } else {
- return S_FALSE;
- }
- }
-}
-
-HRESULT VideoSurfaceFilter::EnumPins(IEnumPins **ppEnum)
-{
- if (ppEnum) {
- *ppEnum = new DirectShowPinEnum(QList<IPin *>() << this);
-
- return S_OK;
- } else {
- return E_POINTER;
- }
-}
-
-HRESULT VideoSurfaceFilter::FindPin(LPCWSTR pId, IPin **ppPin)
-{
- if (!ppPin || !pId) {
- return E_POINTER;
- } else if (QString::fromWCharArray(pId) == m_pinId) {
- AddRef();
-
- *ppPin = this;
-
- return S_OK;
- } else {
- return VFW_E_NOT_FOUND;
- }
-}
-
-HRESULT VideoSurfaceFilter::JoinFilterGraph(IFilterGraph *pGraph, LPCWSTR pName)
-{
- m_graph = pGraph;
- m_name = QString::fromWCharArray(pName);
-
- return S_OK;
-}
-
-HRESULT VideoSurfaceFilter::QueryFilterInfo(FILTER_INFO *pInfo)
-{
- if (pInfo) {
- QString name = m_name;
-
- if (name.length() >= MAX_FILTER_NAME)
- name.truncate(MAX_FILTER_NAME - 1);
-
- int length = name.toWCharArray(pInfo->achName);
- pInfo->achName[length] = '\0';
-
- if (m_graph)
- m_graph->AddRef();
-
- pInfo->pGraph = m_graph;
-
- return S_OK;
- } else {
- return E_POINTER;
- }
-}
-
-HRESULT VideoSurfaceFilter::QueryVendorInfo(LPWSTR *pVendorInfo)
-{
- Q_UNUSED(pVendorInfo);
-
- return E_NOTIMPL;
-}
-
-ULONG VideoSurfaceFilter::GetMiscFlags()
-{
- return AM_FILTER_MISC_FLAGS_IS_RENDERER;
-}
-
-
-HRESULT VideoSurfaceFilter::Connect(IPin *pReceivePin, const AM_MEDIA_TYPE *pmt)
-{
- // This is an input pin, you shouldn't be calling Connect on it.
- return E_POINTER;
-}
-
-HRESULT VideoSurfaceFilter::ReceiveConnection(IPin *pConnector, const AM_MEDIA_TYPE *pmt)
-{
- if (!pConnector) {
- return E_POINTER;
- } else if (!pmt) {
- return E_POINTER;
- } else {
- HRESULT hr;
- QMutexLocker locker(&m_mutex);
-
- if (m_peerPin) {
- hr = VFW_E_ALREADY_CONNECTED;
- } else if (pmt->majortype != MEDIATYPE_Video) {
- hr = VFW_E_TYPE_NOT_ACCEPTED;
- } else {
- m_surfaceFormat = DirectShowMediaType::formatFromType(*pmt);
- m_bytesPerLine = DirectShowMediaType::bytesPerLine(m_surfaceFormat);
-
- if (thread() == QThread::currentThread()) {
- hr = start();
- } else {
- m_loop->postEvent(this, new QEvent(QEvent::Type(StartSurface)));
-
- m_wait.wait(&m_mutex);
-
- hr = m_startResult;
- }
- }
- if (hr == S_OK) {
- m_peerPin = pConnector;
- m_peerPin->AddRef();
-
- DirectShowMediaType::copy(&m_mediaType, *pmt);
- }
- return hr;
- }
-}
-
-HRESULT VideoSurfaceFilter::start()
-{
- if (!m_surface->start(m_surfaceFormat)) {
- return VFW_E_TYPE_NOT_ACCEPTED;
- } else {
- return S_OK;
- }
-}
-
-HRESULT VideoSurfaceFilter::Disconnect()
-{
- QMutexLocker locker(&m_mutex);
-
- if (!m_peerPin)
- return S_FALSE;
-
- if (thread() == QThread::currentThread()) {
- stop();
- } else {
- m_loop->postEvent(this, new QEvent(QEvent::Type(StopSurface)));
-
- m_wait.wait(&m_mutex);
- }
-
- m_mediaType.clear();
-
- m_sampleScheduler.NotifyAllocator(0, FALSE);
-
- m_peerPin->Release();
- m_peerPin = 0;
-
- return S_OK;
-}
-
-void VideoSurfaceFilter::stop()
-{
- m_surface->stop();
-}
-
-HRESULT VideoSurfaceFilter::ConnectedTo(IPin **ppPin)
-{
- if (!ppPin) {
- return E_POINTER;
- } else {
- QMutexLocker locker(&m_mutex);
-
- if (!m_peerPin) {
- return VFW_E_NOT_CONNECTED;
- } else {
- m_peerPin->AddRef();
-
- *ppPin = m_peerPin;
-
- return S_OK;
- }
- }
-}
-
-HRESULT VideoSurfaceFilter::ConnectionMediaType(AM_MEDIA_TYPE *pmt)
-{
- if (!pmt) {
- return E_POINTER;
- } else {
- QMutexLocker locker(&m_mutex);
-
- if (!m_peerPin) {
- return VFW_E_NOT_CONNECTED;
- } else {
- DirectShowMediaType::copy(pmt, m_mediaType);
-
- return S_OK;
- }
- }
-}
-
-HRESULT VideoSurfaceFilter::QueryPinInfo(PIN_INFO *pInfo)
-{
- if (!pInfo) {
- return E_POINTER;
- } else {
- AddRef();
-
- pInfo->pFilter = this;
- pInfo->dir = PINDIR_INPUT;
-
- const int bytes = qMin(MAX_FILTER_NAME, (m_pinId.length() + 1) * 2);
-
- qMemCopy(pInfo->achName, m_pinId.utf16(), bytes);
-
- return S_OK;
- }
-}
-
-HRESULT VideoSurfaceFilter::QueryId(LPWSTR *Id)
-{
- if (!Id) {
- return E_POINTER;
- } else {
- const int bytes = (m_pinId.length() + 1) * 2;
-
- *Id = static_cast<LPWSTR>(::CoTaskMemAlloc(bytes));
-
- qMemCopy(*Id, m_pinId.utf16(), bytes);
-
- return S_OK;
- }
-}
-
-HRESULT VideoSurfaceFilter::QueryAccept(const AM_MEDIA_TYPE *pmt)
-{
- return !m_surface->isFormatSupported(DirectShowMediaType::formatFromType(*pmt))
- ? S_OK
- : S_FALSE;
-}
-
-HRESULT VideoSurfaceFilter::EnumMediaTypes(IEnumMediaTypes **ppEnum)
-{
- if (!ppEnum) {
- return E_POINTER;
- } else {
- QMutexLocker locker(&m_mutex);
-
- *ppEnum = createMediaTypeEnum();
-
- return S_OK;
- }
-}
-
-HRESULT VideoSurfaceFilter::QueryInternalConnections(IPin **apPin, ULONG *nPin)
-{
- Q_UNUSED(apPin);
- Q_UNUSED(nPin);
-
- return E_NOTIMPL;
-}
-
-HRESULT VideoSurfaceFilter::EndOfStream()
-{
- QMutexLocker locker(&m_mutex);
-
- if (!m_sampleScheduler.scheduleEndOfStream()) {
- if (IMediaEventSink *sink = com_cast<IMediaEventSink>(m_graph, IID_IMediaEventSink)) {
- sink->Notify(
- EC_COMPLETE,
- S_OK,
- reinterpret_cast<LONG_PTR>(static_cast<IBaseFilter *>(this)));
- sink->Release();
- }
- }
-
- return S_OK;
-}
-
-HRESULT VideoSurfaceFilter::BeginFlush()
-{
- QMutexLocker locker(&m_mutex);
-
- m_sampleScheduler.setFlushing(true);
-
- if (thread() == QThread::currentThread()) {
- flush();
- } else {
- m_loop->postEvent(this, new QEvent(QEvent::Type(FlushSurface)));
-
- m_wait.wait(&m_mutex);
- }
-
- return S_OK;
-}
-
-HRESULT VideoSurfaceFilter::EndFlush()
-{
- QMutexLocker locker(&m_mutex);
-
- m_sampleScheduler.setFlushing(false);
-
- return S_OK;
-}
-
-void VideoSurfaceFilter::flush()
-{
- m_surface->present(QVideoFrame());
-
- m_wait.wakeAll();
-}
-
-HRESULT VideoSurfaceFilter::NewSegment(REFERENCE_TIME tStart, REFERENCE_TIME tStop, double dRate)
-{
- Q_UNUSED(tStart);
- Q_UNUSED(tStop);
- Q_UNUSED(dRate);
-
- return S_OK;
-}
-
-HRESULT VideoSurfaceFilter::QueryDirection(PIN_DIRECTION *pPinDir)
-{
- if (!pPinDir) {
- return E_POINTER;
- } else {
- *pPinDir = PINDIR_INPUT;
-
- return S_OK;
- }
-}
-
-int VideoSurfaceFilter::currentMediaTypeToken()
-{
- QMutexLocker locker(&m_mutex);
-
- return DirectShowMediaTypeList::currentMediaTypeToken();
-}
-
-HRESULT VideoSurfaceFilter::nextMediaType(
- int token, int *index, ULONG count, AM_MEDIA_TYPE **types, ULONG *fetchedCount)
-{
- QMutexLocker locker(&m_mutex);
-
- return DirectShowMediaTypeList::nextMediaType(token, index, count, types, fetchedCount);
-
-}
-
-HRESULT VideoSurfaceFilter::skipMediaType(int token, int *index, ULONG count)
-{
- QMutexLocker locker(&m_mutex);
-
- return DirectShowMediaTypeList::skipMediaType(token, index, count);
-}
-
-HRESULT VideoSurfaceFilter::cloneMediaType(int token, int index, IEnumMediaTypes **enumeration)
-{
- QMutexLocker locker(&m_mutex);
-
- return DirectShowMediaTypeList::cloneMediaType(token, index, enumeration);
-}
-
-void VideoSurfaceFilter::customEvent(QEvent *event)
-{
- if (event->type() == StartSurface) {
- QMutexLocker locker(&m_mutex);
-
- m_startResult = start();
-
- m_wait.wakeAll();
- } else if (event->type() == StopSurface) {
- QMutexLocker locker(&m_mutex);
-
- stop();
-
- m_wait.wakeAll();
- } else if (event->type() == FlushSurface) {
- QMutexLocker locker(&m_mutex);
-
- flush();
-
- m_wait.wakeAll();
- } else {
- QObject::customEvent(event);
- }
-}
-
-void VideoSurfaceFilter::supportedFormatsChanged()
-{
- QMutexLocker locker(&m_mutex);
-
- // MEDIASUBTYPE_None;
- static const GUID none = {
- 0xe436eb8e, 0x524f, 0x11ce, {0x9f, 0x53, 0x00, 0x20, 0xaf, 0x0b, 0xa7, 0x70} };
-
- QList<QVideoFrame::PixelFormat> formats = m_surface->supportedPixelFormats();
-
- QVector<AM_MEDIA_TYPE> mediaTypes;
- mediaTypes.reserve(formats.count());
-
- AM_MEDIA_TYPE type;
- type.majortype = MEDIATYPE_Video;
- type.bFixedSizeSamples = TRUE;
- type.bTemporalCompression = FALSE;
- type.lSampleSize = 0;
- type.formattype = GUID_NULL;
- type.pUnk = 0;
- type.cbFormat = 0;
- type.pbFormat = 0;
-
- foreach (QVideoFrame::PixelFormat format, formats) {
- type.subtype = DirectShowMediaType::convertPixelFormat(format);
-
- if (type.subtype != none)
- mediaTypes.append(type);
- }
-
- setMediaTypes(mediaTypes);
-}
-
-void VideoSurfaceFilter::sampleReady()
-{
- bool eos = false;
-
- IMediaSample *sample = m_sampleScheduler.takeSample(&eos);
-
- if (sample) {
- m_surface->present(QVideoFrame(
- new MediaSampleVideoBuffer(sample, m_bytesPerLine),
- m_surfaceFormat.frameSize(),
- m_surfaceFormat.pixelFormat()));
-
- sample->Release();
-
- if (eos) {
- if (IMediaEventSink *sink = com_cast<IMediaEventSink>(m_graph, IID_IMediaEventSink)) {
- sink->Notify(
- EC_COMPLETE,
- S_OK,
- reinterpret_cast<LONG_PTR>(static_cast<IBaseFilter *>(this)));
- sink->Release();
- }
- }
- }
-}
-
-QT_END_NAMESPACE
-
diff --git a/src/plugins/mediaservices/directshow/mediaplayer/videosurfacefilter.h b/src/plugins/mediaservices/directshow/mediaplayer/videosurfacefilter.h
deleted file mode 100644
index 0607fd398e..0000000000
--- a/src/plugins/mediaservices/directshow/mediaplayer/videosurfacefilter.h
+++ /dev/null
@@ -1,180 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the plugins of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-#ifndef VIDEOSURFACEFILTER_H
-#define VIDEOSURFACEFILTER_H
-
-#include "directshowglobal.h"
-#include "directshowmediatypelist.h"
-#include "directshowsamplescheduler.h"
-#include "directshowmediatype.h"
-
-#include <QtCore/qbasictimer.h>
-#include <QtCore/qcoreevent.h>
-#include <QtCore/qmutex.h>
-#include <QtCore/qsemaphore.h>
-#include <QtCore/qstring.h>
-#include <QtCore/qwaitcondition.h>
-
-QT_BEGIN_HEADER
-
-QT_BEGIN_NAMESPACE
-
-
-class QAbstractVideoSurface;
-
-class DirectShowEventLoop;
-
-class VideoSurfaceFilter
- : public QObject
- , public DirectShowMediaTypeList
- , public IBaseFilter
- , public IAMFilterMiscFlags
- , public IPin
-{
- Q_OBJECT
-public:
- VideoSurfaceFilter(
- QAbstractVideoSurface *surface, DirectShowEventLoop *loop, QObject *parent = 0);
- ~VideoSurfaceFilter();
-
- // IUnknown
- HRESULT STDMETHODCALLTYPE QueryInterface(REFIID riid, void **ppvObject);
- ULONG STDMETHODCALLTYPE AddRef();
- ULONG STDMETHODCALLTYPE Release();
-
- // IPersist
- HRESULT STDMETHODCALLTYPE GetClassID(CLSID *pClassID);
-
- // IMediaFilter
- HRESULT STDMETHODCALLTYPE Run(REFERENCE_TIME tStart);
- HRESULT STDMETHODCALLTYPE Pause();
- HRESULT STDMETHODCALLTYPE Stop();
-
- HRESULT STDMETHODCALLTYPE GetState(DWORD dwMilliSecsTimeout, FILTER_STATE *pState);
-
- HRESULT STDMETHODCALLTYPE SetSyncSource(IReferenceClock *pClock);
- HRESULT STDMETHODCALLTYPE GetSyncSource(IReferenceClock **ppClock);
-
- // IBaseFilter
- HRESULT STDMETHODCALLTYPE EnumPins(IEnumPins **ppEnum);
- HRESULT STDMETHODCALLTYPE FindPin(LPCWSTR Id, IPin **ppPin);
-
- HRESULT STDMETHODCALLTYPE JoinFilterGraph(IFilterGraph *pGraph, LPCWSTR pName);
-
- HRESULT STDMETHODCALLTYPE QueryFilterInfo(FILTER_INFO *pInfo);
- HRESULT STDMETHODCALLTYPE QueryVendorInfo(LPWSTR *pVendorInfo);
-
- // IAMFilterMiscFlags
- ULONG STDMETHODCALLTYPE GetMiscFlags();
-
- // IPin
- HRESULT STDMETHODCALLTYPE Connect(IPin *pReceivePin, const AM_MEDIA_TYPE *pmt);
- HRESULT STDMETHODCALLTYPE ReceiveConnection(IPin *pConnector, const AM_MEDIA_TYPE *pmt);
- HRESULT STDMETHODCALLTYPE Disconnect();
- HRESULT STDMETHODCALLTYPE ConnectedTo(IPin **ppPin);
-
- HRESULT STDMETHODCALLTYPE ConnectionMediaType(AM_MEDIA_TYPE *pmt);
-
- HRESULT STDMETHODCALLTYPE QueryPinInfo(PIN_INFO *pInfo);
- HRESULT STDMETHODCALLTYPE QueryId(LPWSTR *Id);
-
- HRESULT STDMETHODCALLTYPE QueryAccept(const AM_MEDIA_TYPE *pmt);
-
- HRESULT STDMETHODCALLTYPE EnumMediaTypes(IEnumMediaTypes **ppEnum);
-
- HRESULT STDMETHODCALLTYPE QueryInternalConnections(IPin **apPin, ULONG *nPin);
-
- HRESULT STDMETHODCALLTYPE EndOfStream();
-
- HRESULT STDMETHODCALLTYPE BeginFlush();
- HRESULT STDMETHODCALLTYPE EndFlush();
-
- HRESULT STDMETHODCALLTYPE NewSegment(REFERENCE_TIME tStart, REFERENCE_TIME tStop, double dRate);
-
- HRESULT STDMETHODCALLTYPE QueryDirection(PIN_DIRECTION *pPinDir);
-
- int currentMediaTypeToken();
- HRESULT nextMediaType(
- int token, int *index, ULONG count, AM_MEDIA_TYPE **types, ULONG *fetchedCount);
- HRESULT skipMediaType(int token, int *index, ULONG count);
- HRESULT cloneMediaType(int token, int index, IEnumMediaTypes **enumeration);
-
-protected:
- void customEvent(QEvent *event);
-
-private Q_SLOTS:
- void supportedFormatsChanged();
- void sampleReady();
-
-private:
- HRESULT start();
- void stop();
- void flush();
-
- enum
- {
- StartSurface = QEvent::User,
- StopSurface,
- FlushSurface
- };
-
- LONG m_ref;
- FILTER_STATE m_state;
- QAbstractVideoSurface *m_surface;
- DirectShowEventLoop *m_loop;
- IFilterGraph *m_graph;
- IPin *m_peerPin;
- int m_bytesPerLine;
- HRESULT m_startResult;
- QString m_name;
- QString m_pinId;
- DirectShowMediaType m_mediaType;
- QVideoSurfaceFormat m_surfaceFormat;
- QMutex m_mutex;
- QWaitCondition m_wait;
- DirectShowSampleScheduler m_sampleScheduler;
-};
-
-QT_END_NAMESPACE
-
-QT_END_HEADER
-
-#endif
diff --git a/src/plugins/mediaservices/directshow/mediaplayer/vmr9videowindowcontrol.cpp b/src/plugins/mediaservices/directshow/mediaplayer/vmr9videowindowcontrol.cpp
deleted file mode 100644
index 1c6df2c109..0000000000
--- a/src/plugins/mediaservices/directshow/mediaplayer/vmr9videowindowcontrol.cpp
+++ /dev/null
@@ -1,317 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the plugins of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "vmr9videowindowcontrol.h"
-
-#include "directshowglobal.h"
-
-
-QT_BEGIN_NAMESPACE
-
-Vmr9VideoWindowControl::Vmr9VideoWindowControl(QObject *parent)
- : QVideoWindowControl(parent)
- , m_filter(com_new<IBaseFilter>(CLSID_VideoMixingRenderer9, IID_IBaseFilter))
- , m_windowId(0)
- , m_dirtyValues(0)
- , m_aspectRatioMode(Qt::KeepAspectRatio)
- , m_brightness(0)
- , m_contrast(0)
- , m_hue(0)
- , m_saturation(0)
- , m_fullScreen(false)
-{
- if (IVMRFilterConfig9 *config = com_cast<IVMRFilterConfig9>(m_filter, IID_IVMRFilterConfig9)) {
- config->SetRenderingMode(VMR9Mode_Windowless);
- config->SetNumberOfStreams(1);
- config->SetRenderingPrefs(RenderPrefs9_DoNotRenderBorder);
- config->Release();
- }
-}
-
-Vmr9VideoWindowControl::~Vmr9VideoWindowControl()
-{
- if (m_filter)
- m_filter->Release();
-}
-
-
-WId Vmr9VideoWindowControl::winId() const
-{
- return m_windowId;
-
-}
-
-void Vmr9VideoWindowControl::setWinId(WId id)
-{
- m_windowId = id;
-
- if (IVMRWindowlessControl9 *control = com_cast<IVMRWindowlessControl9>(
- m_filter, IID_IVMRWindowlessControl9)) {
- control->SetVideoClippingWindow(m_windowId);
- control->Release();
- }
-}
-
-QRect Vmr9VideoWindowControl::displayRect() const
-{
- return m_displayRect;
-}
-
-void Vmr9VideoWindowControl::setDisplayRect(const QRect &rect)
-{
- m_displayRect = rect;
-
- if (IVMRWindowlessControl9 *control = com_cast<IVMRWindowlessControl9>(
- m_filter, IID_IVMRWindowlessControl9)) {
- RECT sourceRect = { 0, 0, 0, 0 };
- RECT displayRect = { rect.left(), rect.top(), rect.right(), rect.bottom() };
-
- control->GetNativeVideoSize(&sourceRect.right, &sourceRect.bottom, 0, 0);
-
- if (m_aspectRatioMode == Qt::KeepAspectRatioByExpanding) {
- QSize clippedSize = rect.size();
- clippedSize.scale(sourceRect.right, sourceRect.bottom, Qt::KeepAspectRatio);
-
- sourceRect.left = (sourceRect.right - clippedSize.width()) / 2;
- sourceRect.top = (sourceRect.bottom - clippedSize.height()) / 2;
- sourceRect.right = sourceRect.left + clippedSize.width();
- sourceRect.bottom = sourceRect.top + clippedSize.height();
- }
-
- control->SetVideoPosition(&sourceRect, &displayRect);
- control->Release();
- }
-}
-
-bool Vmr9VideoWindowControl::isFullScreen() const
-{
- return m_fullScreen;
-}
-
-void Vmr9VideoWindowControl::setFullScreen(bool fullScreen)
-{
- emit fullScreenChanged(m_fullScreen = fullScreen);
-}
-
-void Vmr9VideoWindowControl::repaint()
-{
- if (QWidget *widget = QWidget::find(m_windowId)) {
- HDC dc = widget->getDC();
- if (IVMRWindowlessControl9 *control = com_cast<IVMRWindowlessControl9>(
- m_filter, IID_IVMRWindowlessControl9)) {
- control->RepaintVideo(m_windowId, dc);
- control->Release();
- }
- widget->releaseDC(dc);
- }
-}
-
-QSize Vmr9VideoWindowControl::nativeSize() const
-{
- QSize size;
-
- if (IVMRWindowlessControl9 *control = com_cast<IVMRWindowlessControl9>(
- m_filter, IID_IVMRWindowlessControl9)) {
- LONG width;
- LONG height;
-
- if (control->GetNativeVideoSize(&width, &height, 0, 0) == S_OK)
- size = QSize(width, height);
- control->Release();
- }
- return size;
-}
-
-Qt::AspectRatioMode Vmr9VideoWindowControl::aspectRatioMode() const
-{
- return m_aspectRatioMode;
-}
-
-void Vmr9VideoWindowControl::setAspectRatioMode(Qt::AspectRatioMode mode)
-{
- m_aspectRatioMode = mode;
-
- if (IVMRWindowlessControl9 *control = com_cast<IVMRWindowlessControl9>(
- m_filter, IID_IVMRWindowlessControl9)) {
- switch (mode) {
- case Qt::IgnoreAspectRatio:
- control->SetAspectRatioMode(VMR9ARMode_None);
- break;
- case Qt::KeepAspectRatio:
- control->SetAspectRatioMode(VMR9ARMode_LetterBox);
- break;
- case Qt::KeepAspectRatioByExpanding:
- control->SetAspectRatioMode(VMR9ARMode_LetterBox);
- break;
- default:
- break;
- }
- control->Release();
-
- setDisplayRect(m_displayRect);
- }
-}
-
-int Vmr9VideoWindowControl::brightness() const
-{
- return m_brightness;
-}
-
-void Vmr9VideoWindowControl::setBrightness(int brightness)
-{
- m_brightness = brightness;
-
- m_dirtyValues |= ProcAmpControl9_Brightness;
-
- setProcAmpValues();
-
- emit brightnessChanged(brightness);
-}
-
-int Vmr9VideoWindowControl::contrast() const
-{
- return m_contrast;
-}
-
-void Vmr9VideoWindowControl::setContrast(int contrast)
-{
- m_contrast = contrast;
-
- m_dirtyValues |= ProcAmpControl9_Contrast;
-
- setProcAmpValues();
-
- emit contrastChanged(contrast);
-}
-
-int Vmr9VideoWindowControl::hue() const
-{
- return m_hue;
-}
-
-void Vmr9VideoWindowControl::setHue(int hue)
-{
- m_hue = hue;
-
- m_dirtyValues |= ProcAmpControl9_Hue;
-
- setProcAmpValues();
-
- emit hueChanged(hue);
-}
-
-int Vmr9VideoWindowControl::saturation() const
-{
- return m_saturation;
-}
-
-void Vmr9VideoWindowControl::setSaturation(int saturation)
-{
- m_saturation = saturation;
-
- m_dirtyValues |= ProcAmpControl9_Saturation;
-
- setProcAmpValues();
-
- emit saturationChanged(saturation);
-}
-
-void Vmr9VideoWindowControl::updateNativeSize()
-{
- setDisplayRect(m_displayRect);
-
- emit nativeSizeChanged();
-}
-
-void Vmr9VideoWindowControl::setProcAmpValues()
-{
- if (IVMRMixerControl9 *control = com_cast<IVMRMixerControl9>(m_filter, IID_IVMRMixerControl9)) {
- VMR9ProcAmpControl procAmp;
- procAmp.dwSize = sizeof(VMR9ProcAmpControl);
- procAmp.dwFlags = m_dirtyValues;
-
- if (m_dirtyValues & ProcAmpControl9_Brightness) {
- procAmp.Brightness = scaleProcAmpValue(
- control, ProcAmpControl9_Brightness, m_brightness);
- }
- if (m_dirtyValues & ProcAmpControl9_Contrast) {
- procAmp.Contrast = scaleProcAmpValue(
- control, ProcAmpControl9_Contrast, m_contrast);
- }
- if (m_dirtyValues & ProcAmpControl9_Hue) {
- procAmp.Hue = scaleProcAmpValue(
- control, ProcAmpControl9_Hue, m_hue);
- }
- if (m_dirtyValues & ProcAmpControl9_Saturation) {
- procAmp.Saturation = scaleProcAmpValue(
- control, ProcAmpControl9_Saturation, m_saturation);
- }
-
- if (SUCCEEDED(control->SetProcAmpControl(0, &procAmp))) {
- m_dirtyValues = 0;
- }
-
- control->Release();
- }
-}
-
-float Vmr9VideoWindowControl::scaleProcAmpValue(
- IVMRMixerControl9 *control, VMR9ProcAmpControlFlags property, int value) const
-{
- float scaledValue = 0.0;
-
- VMR9ProcAmpControlRange range;
- range.dwSize = sizeof(VMR9ProcAmpControlRange);
- range.dwProperty = property;
-
- if (SUCCEEDED(control->GetProcAmpControlRange(0, &range))) {
- scaledValue = range.DefaultValue;
- if (value > 0)
- scaledValue += float(value) * (range.MaxValue - range.DefaultValue) / 100;
- else if (value < 0)
- scaledValue -= float(value) * (range.MinValue - range.DefaultValue) / 100;
- }
-
- return scaledValue;
-}
-
-QT_END_NAMESPACE
-
diff --git a/src/plugins/mediaservices/directshow/mediaplayer/vmr9videowindowcontrol.h b/src/plugins/mediaservices/directshow/mediaplayer/vmr9videowindowcontrol.h
deleted file mode 100644
index 702dfd65c5..0000000000
--- a/src/plugins/mediaservices/directshow/mediaplayer/vmr9videowindowcontrol.h
+++ /dev/null
@@ -1,116 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the plugins of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef VMR9VIDEOWINDOWCONTROL_H
-#define VMR9VIDEOWINDOWCONTROL_H
-
-#include <QtMediaServices/qvideowindowcontrol.h>
-
-#include <dshow.h>
-#include <d3d9.h>
-#include <vmr9.h>
-
-
-QT_BEGIN_HEADER
-
-QT_BEGIN_NAMESPACE
-
-class Vmr9VideoWindowControl : public QVideoWindowControl
-{
- Q_OBJECT
-public:
- Vmr9VideoWindowControl(QObject *parent = 0);
- ~Vmr9VideoWindowControl();
-
- IBaseFilter *filter() const { return m_filter; }
-
- WId winId() const;
- void setWinId(WId id);
-
- QRect displayRect() const;
- void setDisplayRect(const QRect &rect);
-
- bool isFullScreen() const;
- void setFullScreen(bool fullScreen);
-
- void repaint();
-
- QSize nativeSize() const;
-
- Qt::AspectRatioMode aspectRatioMode() const;
- void setAspectRatioMode(Qt::AspectRatioMode mode);
-
- int brightness() const;
- void setBrightness(int brightness);
-
- int contrast() const;
- void setContrast(int contrast);
-
- int hue() const;
- void setHue(int hue);
-
- int saturation() const;
- void setSaturation(int saturation);
-
- void updateNativeSize();
-
-private:
- void setProcAmpValues();
- float scaleProcAmpValue(
- IVMRMixerControl9 *control, VMR9ProcAmpControlFlags property, int value) const;
-
- IBaseFilter *m_filter;
- WId m_windowId;
- DWORD m_dirtyValues;
- Qt::AspectRatioMode m_aspectRatioMode;
- QRect m_displayRect;
- int m_brightness;
- int m_contrast;
- int m_hue;
- int m_saturation;
- bool m_fullScreen;
-};
-
-QT_END_NAMESPACE
-
-QT_END_HEADER
-
-#endif
diff --git a/src/plugins/mediaservices/gstreamer/gstreamer.pro b/src/plugins/mediaservices/gstreamer/gstreamer.pro
deleted file mode 100644
index 15c4b09569..0000000000
--- a/src/plugins/mediaservices/gstreamer/gstreamer.pro
+++ /dev/null
@@ -1,59 +0,0 @@
-TARGET = qgstengine
-include(../../qpluginbase.pri)
-
-QT += mediaservices
-
-unix:contains(QT_CONFIG, alsa) {
- DEFINES += HAVE_ALSA
- LIBS += -lasound
-}
-
-QMAKE_CXXFLAGS += $$QT_CFLAGS_GSTREAMER
-LIBS += $$QT_LIBS_GSTREAMER -lgstinterfaces-0.10 -lgstvideo-0.10 -lgstbase-0.10 -lgstaudio-0.10
-
-# Input
-HEADERS += \
- qgstreamermessage.h \
- qgstreamerbushelper.h \
- qgstreamervideooutputcontrol.h \
- qgstreamervideorendererinterface.h \
- qgstreamerserviceplugin.h \
- qgstreamervideoinputdevicecontrol.h \
- qgstreamervideorenderer.h \
- qgstvideobuffer.h \
- qvideosurfacegstsink.h
-
-
-SOURCES += \
- qgstreamermessage.cpp \
- qgstreamerbushelper.cpp \
- qgstreamervideooutputcontrol.cpp \
- qgstreamervideorendererinterface.cpp \
- qgstreamerserviceplugin.cpp \
- qgstreamervideoinputdevicecontrol.cpp \
- qgstreamervideorenderer.cpp \
- qgstvideobuffer.cpp \
- qvideosurfacegstsink.cpp
-
-
-!win32:!embedded:!mac:!symbian:!embedded_lite {
- LIBS += -lXv
-
- HEADERS += \
- qgstreamervideooverlay.h \
- qgstreamervideowidget.h \
- qx11videosurface.h \
- qgstxvimagebuffer.h
-
- SOURCES += \
- qgstreamervideooverlay.cpp \
- qgstreamervideowidget.cpp \
- qx11videosurface.cpp \
- qgstxvimagebuffer.cpp
-}
-
-include(mediaplayer/mediaplayer.pri)
-
-QTDIR_build:DESTDIR = $$QT_BUILD_TREE/plugins/mediaservices
-target.path = $$[QT_INSTALL_PLUGINS]/mediaservices
-INSTALLS += target
diff --git a/src/plugins/mediaservices/gstreamer/mediaplayer/mediaplayer.pri b/src/plugins/mediaservices/gstreamer/mediaplayer/mediaplayer.pri
deleted file mode 100644
index 19ff034677..0000000000
--- a/src/plugins/mediaservices/gstreamer/mediaplayer/mediaplayer.pri
+++ /dev/null
@@ -1,17 +0,0 @@
-INCLUDEPATH += $$PWD
-
-DEFINES += QMEDIA_GSTREAMER_PLAYER
-
-HEADERS += \
- $$PWD/qgstreamerplayercontrol.h \
- $$PWD/qgstreamerplayerservice.h \
- $$PWD/qgstreamerplayersession.h \
- $$PWD/qgstreamermetadataprovider.h
-
-SOURCES += \
- $$PWD/qgstreamerplayercontrol.cpp \
- $$PWD/qgstreamerplayerservice.cpp \
- $$PWD/qgstreamerplayersession.cpp \
- $$PWD/qgstreamermetadataprovider.cpp
-
-
diff --git a/src/plugins/mediaservices/gstreamer/mediaplayer/qgstreamermetadataprovider.cpp b/src/plugins/mediaservices/gstreamer/mediaplayer/qgstreamermetadataprovider.cpp
deleted file mode 100644
index f51d0246fe..0000000000
--- a/src/plugins/mediaservices/gstreamer/mediaplayer/qgstreamermetadataprovider.cpp
+++ /dev/null
@@ -1,209 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the plugins of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "qgstreamermetadataprovider.h"
-#include "qgstreamerplayersession.h"
-#include <QtCore/qdebug.h>
-
-#include <gst/gstversion.h>
-
-QT_BEGIN_NAMESPACE
-
-struct QGstreamerMetaDataKeyLookup
-{
- QtMediaServices::MetaData key;
- const char *token;
-};
-
-static const QGstreamerMetaDataKeyLookup qt_gstreamerMetaDataKeys[] =
-{
- { QtMediaServices::Title, GST_TAG_TITLE },
- //{ QtMediaServices::SubTitle, 0 },
- //{ QtMediaServices::Author, 0 },
- { QtMediaServices::Comment, GST_TAG_COMMENT },
- { QtMediaServices::Description, GST_TAG_DESCRIPTION },
- //{ QtMediaServices::Category, 0 },
- { QtMediaServices::Genre, GST_TAG_GENRE },
- { QtMediaServices::Year, "year" },
- //{ QtMediaServices::UserRating, 0 },
-
- { QtMediaServices::Language, GST_TAG_LANGUAGE_CODE },
-
- { QtMediaServices::Publisher, GST_TAG_ORGANIZATION },
- { QtMediaServices::Copyright, GST_TAG_COPYRIGHT },
- //{ QtMediaServices::ParentalRating, 0 },
- //{ QtMediaServices::RatingOrganisation, 0 },
-
- // Media
- //{ QtMediaServices::Size, 0 },
- //{ QtMediaServices::MediaType, 0 },
- { QtMediaServices::Duration, GST_TAG_DURATION },
-
- // Audio
- { QtMediaServices::AudioBitRate, GST_TAG_BITRATE },
- { QtMediaServices::AudioCodec, GST_TAG_AUDIO_CODEC },
- //{ QtMediaServices::ChannelCount, 0 },
- //{ QtMediaServices::Frequency, 0 },
-
- // Music
- { QtMediaServices::AlbumTitle, GST_TAG_ALBUM },
- { QtMediaServices::AlbumArtist, GST_TAG_ARTIST},
- { QtMediaServices::ContributingArtist, GST_TAG_PERFORMER },
-#if (GST_VERSION_MAJOR >= 0) && (GST_VERSION_MINOR >= 10) && (GST_VERSION_MICRO >= 19)
- { QtMediaServices::Composer, GST_TAG_COMPOSER },
-#endif
- //{ QtMediaServices::Conductor, 0 },
- //{ QtMediaServices::Lyrics, 0 },
- //{ QtMediaServices::Mood, 0 },
- { QtMediaServices::TrackNumber, GST_TAG_TRACK_NUMBER },
-
- //{ QtMediaServices::CoverArtUrlSmall, 0 },
- //{ QtMediaServices::CoverArtUrlLarge, 0 },
-
- // Image/Video
- //{ QtMediaServices::Resolution, 0 },
- //{ QtMediaServices::PixelAspectRatio, 0 },
-
- // Video
- //{ QtMediaServices::VideoFrameRate, 0 },
- //{ QtMediaServices::VideoBitRate, 0 },
- { QtMediaServices::VideoCodec, GST_TAG_VIDEO_CODEC },
-
- //{ QtMediaServices::PosterUrl, 0 },
-
- // Movie
- //{ QtMediaServices::ChapterNumber, 0 },
- //{ QtMediaServices::Director, 0 },
- { QtMediaServices::LeadPerformer, GST_TAG_PERFORMER },
- //{ QtMediaServices::Writer, 0 },
-
- // Photos
- //{ QtMediaServices::CameraManufacturer, 0 },
- //{ QtMediaServices::CameraModel, 0 },
- //{ QtMediaServices::Event, 0 },
- //{ QtMediaServices::Subject, 0 }
-};
-
-QGstreamerMetaDataProvider::QGstreamerMetaDataProvider(QGstreamerPlayerSession *session, QObject *parent)
- :QMetaDataControl(parent), m_session(session)
-{
- connect(m_session, SIGNAL(tagsChanged()), SLOT(updateTags()));
-}
-
-QGstreamerMetaDataProvider::~QGstreamerMetaDataProvider()
-{
-}
-
-bool QGstreamerMetaDataProvider::isMetaDataAvailable() const
-{
- return !m_session->tags().isEmpty();
-}
-
-bool QGstreamerMetaDataProvider::isWritable() const
-{
- return false;
-}
-
-QVariant QGstreamerMetaDataProvider::metaData(QtMediaServices::MetaData key) const
-{
- static const int count = sizeof(qt_gstreamerMetaDataKeys) / sizeof(QGstreamerMetaDataKeyLookup);
-
- for (int i = 0; i < count; ++i) {
- if (qt_gstreamerMetaDataKeys[i].key == key) {
- return m_session->tags().value(QByteArray(qt_gstreamerMetaDataKeys[i].token));
- }
- }
- return QVariant();
-}
-
-void QGstreamerMetaDataProvider::setMetaData(QtMediaServices::MetaData key, QVariant const &value)
-{
- Q_UNUSED(key);
- Q_UNUSED(value);
-}
-
-QList<QtMediaServices::MetaData> QGstreamerMetaDataProvider::availableMetaData() const
-{
- static QMap<QByteArray, QtMediaServices::MetaData> keysMap;
- if (keysMap.isEmpty()) {
- const int count = sizeof(qt_gstreamerMetaDataKeys) / sizeof(QGstreamerMetaDataKeyLookup);
- for (int i = 0; i < count; ++i) {
- keysMap[QByteArray(qt_gstreamerMetaDataKeys[i].token)] = qt_gstreamerMetaDataKeys[i].key;
- }
- }
-
- QList<QtMediaServices::MetaData> res;
- foreach (const QByteArray &key, m_session->tags().keys()) {
- QtMediaServices::MetaData tag = keysMap.value(key, QtMediaServices::MetaData(-1));
- if (tag != -1)
- res.append(tag);
- }
-
- return res;
-}
-
-QVariant QGstreamerMetaDataProvider::extendedMetaData(const QString &key) const
-{
- return m_session->tags().value(key.toLatin1());
-}
-
-void QGstreamerMetaDataProvider::setExtendedMetaData(const QString &key, QVariant const &value)
-{
- Q_UNUSED(key);
- Q_UNUSED(value);
-}
-
-QStringList QGstreamerMetaDataProvider::availableExtendedMetaData() const
-{
- QStringList res;
- foreach (const QByteArray &key, m_session->tags().keys())
- res.append(QString(key));
-
- return res;
-}
-
-void QGstreamerMetaDataProvider::updateTags()
-{
- emit metaDataChanged();
-}
-
-QT_END_NAMESPACE
-
diff --git a/src/plugins/mediaservices/gstreamer/mediaplayer/qgstreamermetadataprovider.h b/src/plugins/mediaservices/gstreamer/mediaplayer/qgstreamermetadataprovider.h
deleted file mode 100644
index 4cf716a5a8..0000000000
--- a/src/plugins/mediaservices/gstreamer/mediaplayer/qgstreamermetadataprovider.h
+++ /dev/null
@@ -1,83 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the plugins of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QGSTREAMERMETADATAPROVIDER_H
-#define QGSTREAMERMETADATAPROVIDER_H
-
-#include <QtMediaServices/qmetadatacontrol.h>
-
-
-QT_BEGIN_HEADER
-
-QT_BEGIN_NAMESPACE
-
-class QGstreamerPlayerSession;
-
-class QGstreamerMetaDataProvider : public QMetaDataControl
-{
- Q_OBJECT
-public:
- QGstreamerMetaDataProvider( QGstreamerPlayerSession *session, QObject *parent );
- virtual ~QGstreamerMetaDataProvider();
-
- bool isMetaDataAvailable() const;
- bool isWritable() const;
-
- QVariant metaData(QtMediaServices::MetaData key) const;
- void setMetaData(QtMediaServices::MetaData key, const QVariant &value);
- QList<QtMediaServices::MetaData> availableMetaData() const;
-
- QVariant extendedMetaData(const QString &key) const ;
- void setExtendedMetaData(const QString &key, const QVariant &value);
- QStringList availableExtendedMetaData() const;
-
-private slots:
- void updateTags();
-
-private:
- QGstreamerPlayerSession *m_session;
-};
-
-QT_END_NAMESPACE
-
-QT_END_HEADER
-
-#endif // QGSTREAMERMETADATAPROVIDER_H
diff --git a/src/plugins/mediaservices/gstreamer/mediaplayer/qgstreamerplayercontrol.cpp b/src/plugins/mediaservices/gstreamer/mediaplayer/qgstreamerplayercontrol.cpp
deleted file mode 100644
index 6dd914a608..0000000000
--- a/src/plugins/mediaservices/gstreamer/mediaplayer/qgstreamerplayercontrol.cpp
+++ /dev/null
@@ -1,501 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the plugins of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "qgstreamerplayercontrol.h"
-#include "qgstreamerplayersession.h"
-
-#include <qmediaplaylistnavigator.h>
-
-#include <QtCore/qdir.h>
-#include <QtCore/qsocketnotifier.h>
-#include <QtCore/qurl.h>
-#include <QtCore/qdebug.h>
-
-#include <sys/types.h>
-#include <sys/stat.h>
-#include <fcntl.h>
-#include <unistd.h>
-
-QT_BEGIN_NAMESPACE
-
-QGstreamerPlayerControl::QGstreamerPlayerControl(QGstreamerPlayerSession *session, QObject *parent)
- : QMediaPlayerControl(parent)
- , m_session(session)
- , m_state(QMediaPlayer::StoppedState)
- , m_mediaStatus(QMediaPlayer::NoMedia)
- , m_bufferProgress(-1)
- , m_seekToStartPending(false)
- , m_stream(0)
- , m_fifoNotifier(0)
- , m_fifoCanWrite(false)
- , m_bufferSize(0)
- , m_bufferOffset(0)
-{
- m_fifoFd[0] = -1;
- m_fifoFd[1] = -1;
-
- connect(m_session, SIGNAL(positionChanged(qint64)),
- this, SIGNAL(positionChanged(qint64)));
- connect(m_session, SIGNAL(durationChanged(qint64)),
- this, SIGNAL(durationChanged(qint64)));
- connect(m_session, SIGNAL(mutedStateChanged(bool)),
- this, SIGNAL(mutedChanged(bool)));
- connect(m_session, SIGNAL(volumeChanged(int)),
- this, SIGNAL(volumeChanged(int)));
- connect(m_session, SIGNAL(stateChanged(QMediaPlayer::State)),
- this, SLOT(updateState(QMediaPlayer::State)));
- connect(m_session,SIGNAL(bufferingProgressChanged(int)),
- this, SLOT(setBufferProgress(int)));
- connect(m_session, SIGNAL(playbackFinished()),
- this, SLOT(processEOS()));
- connect(m_session, SIGNAL(audioAvailableChanged(bool)),
- this, SIGNAL(audioAvailableChanged(bool)));
- connect(m_session, SIGNAL(videoAvailableChanged(bool)),
- this, SIGNAL(videoAvailableChanged(bool)));
- connect(m_session, SIGNAL(seekableChanged(bool)),
- this, SIGNAL(seekableChanged(bool)));
- connect(m_session, SIGNAL(error(int,QString)),
- this, SIGNAL(error(int,QString)));
-}
-
-QGstreamerPlayerControl::~QGstreamerPlayerControl()
-{
- if (m_fifoFd[0] >= 0) {
- ::close(m_fifoFd[0]);
- ::close(m_fifoFd[1]);
- m_fifoFd[0] = -1;
- m_fifoFd[1] = -1;
- }
-}
-
-qint64 QGstreamerPlayerControl::position() const
-{
- return m_seekToStartPending ? 0 : m_session->position();
-}
-
-qint64 QGstreamerPlayerControl::duration() const
-{
- return m_session->duration();
-}
-
-QMediaPlayer::State QGstreamerPlayerControl::state() const
-{
- return m_state;
-}
-
-QMediaPlayer::MediaStatus QGstreamerPlayerControl::mediaStatus() const
-{
- return m_mediaStatus;
-}
-
-int QGstreamerPlayerControl::bufferStatus() const
-{
- if (m_bufferProgress == -1) {
- return m_session->state() == QMediaPlayer::StoppedState ? 0 : 100;
- } else
- return m_bufferProgress;
-}
-
-int QGstreamerPlayerControl::volume() const
-{
- return m_session->volume();
-}
-
-bool QGstreamerPlayerControl::isMuted() const
-{
- return m_session->isMuted();
-}
-
-bool QGstreamerPlayerControl::isSeekable() const
-{
- return m_session->isSeekable();
-}
-
-QMediaTimeRange QGstreamerPlayerControl::availablePlaybackRanges() const
-{
- QMediaTimeRange ranges;
-
- if (m_session->isSeekable())
- ranges.addInterval(0, m_session->duration());
-
- return ranges;
-}
-
-qreal QGstreamerPlayerControl::playbackRate() const
-{
- return m_session->playbackRate();
-}
-
-void QGstreamerPlayerControl::setPlaybackRate(qreal rate)
-{
- m_session->setPlaybackRate(rate);
-}
-
-void QGstreamerPlayerControl::setPosition(qint64 pos)
-{
- if (m_mediaStatus == QMediaPlayer::EndOfMedia) {
- m_mediaStatus = QMediaPlayer::LoadedMedia;
- emit mediaStatusChanged(m_mediaStatus);
- }
-
- if (m_session->seek(pos))
- m_seekToStartPending = false;
-}
-
-void QGstreamerPlayerControl::play()
-{
- playOrPause(QMediaPlayer::PlayingState);
-}
-
-void QGstreamerPlayerControl::pause()
-{
- playOrPause(QMediaPlayer::PausedState);
-}
-
-void QGstreamerPlayerControl::playOrPause(QMediaPlayer::State newState)
-{
- QMediaPlayer::State oldState = m_state;
- QMediaPlayer::MediaStatus oldMediaStatus = m_mediaStatus;
-
- if (m_mediaStatus == QMediaPlayer::EndOfMedia)
- m_mediaStatus = QMediaPlayer::BufferedMedia;
-
- if (m_seekToStartPending) {
- m_session->pause();
- if (!m_session->seek(0)) {
- m_bufferProgress = -1;
- m_session->stop();
- m_mediaStatus = QMediaPlayer::LoadingMedia;
- }
- m_seekToStartPending = false;
- }
-
- bool ok = false;
- if (newState == QMediaPlayer::PlayingState)
- ok = m_session->play();
- else
- ok = m_session->pause();
-
- if (!ok)
- return;
-
- m_state = newState;
-
- if (m_mediaStatus == QMediaPlayer::EndOfMedia || m_mediaStatus == QMediaPlayer::LoadedMedia) {
- if (m_bufferProgress == -1 || m_bufferProgress == 100)
- m_mediaStatus = QMediaPlayer::BufferedMedia;
- else
- m_mediaStatus = QMediaPlayer::BufferingMedia;
- }
-
- if (m_state != oldState)
- emit stateChanged(m_state);
- if (m_mediaStatus != oldMediaStatus)
- emit mediaStatusChanged(m_mediaStatus);
-
-}
-
-void QGstreamerPlayerControl::stop()
-{
- if (m_state != QMediaPlayer::StoppedState) {
- m_state = QMediaPlayer::StoppedState;
- m_session->pause();
- m_seekToStartPending = true;
- updateState(m_session->state());
- emit positionChanged(0);
- emit stateChanged(m_state);
- }
-}
-
-void QGstreamerPlayerControl::setVolume(int volume)
-{
- m_session->setVolume(volume);
-}
-
-void QGstreamerPlayerControl::setMuted(bool muted)
-{
- m_session->setMuted(muted);
-}
-
-QMediaContent QGstreamerPlayerControl::media() const
-{
- return m_currentResource;
-}
-
-const QIODevice *QGstreamerPlayerControl::mediaStream() const
-{
- return m_stream;
-}
-
-void QGstreamerPlayerControl::setMedia(const QMediaContent &content, QIODevice *stream)
-{
- QMediaPlayer::State oldState = m_state;
- m_state = QMediaPlayer::StoppedState;
- m_session->stop();
-
- if (m_bufferProgress != -1) {
- m_bufferProgress = -1;
- emit bufferStatusChanged(0);
- }
-
- if (m_stream) {
- closeFifo();
-
- disconnect(m_stream, SIGNAL(readyRead()), this, SLOT(writeFifo()));
- m_stream = 0;
- }
-
- m_currentResource = content;
- m_stream = stream;
- m_seekToStartPending = false;
-
- QUrl url;
-
- if (m_stream) {
- if (m_stream->isReadable() && openFifo()) {
- url = QUrl(QString(QLatin1String("fd://%1")).arg(m_fifoFd[0]));
- }
- } else if (!content.isNull()) {
- url = content.canonicalUrl();
- }
-
- m_session->load(url);
-
- if (m_fifoFd[1] >= 0) {
- m_fifoCanWrite = true;
-
- writeFifo();
- }
-
- if (!url.isEmpty()) {
- if (m_mediaStatus != QMediaPlayer::LoadingMedia)
- emit mediaStatusChanged(m_mediaStatus = QMediaPlayer::LoadingMedia);
- m_session->pause();
- } else {
- if (m_mediaStatus != QMediaPlayer::NoMedia)
- emit mediaStatusChanged(m_mediaStatus = QMediaPlayer::NoMedia);
- setBufferProgress(0);
- }
-
- emit mediaChanged(m_currentResource);
- if (m_state != oldState)
- emit stateChanged(m_state);
-}
-
-void QGstreamerPlayerControl::setVideoOutput(QObject *output)
-{
- m_session->setVideoRenderer(output);
-}
-
-bool QGstreamerPlayerControl::isAudioAvailable() const
-{
- return m_session->isAudioAvailable();
-}
-
-bool QGstreamerPlayerControl::isVideoAvailable() const
-{
- return m_session->isVideoAvailable();
-}
-
-void QGstreamerPlayerControl::updateState(QMediaPlayer::State state)
-{
- QMediaPlayer::MediaStatus oldStatus = m_mediaStatus;
- QMediaPlayer::State oldState = m_state;
-
- switch (state) {
- case QMediaPlayer::StoppedState:
- m_state = QMediaPlayer::StoppedState;
- if (m_currentResource.isNull())
- m_mediaStatus = QMediaPlayer::NoMedia;
- else
- m_mediaStatus = QMediaPlayer::LoadingMedia;
- break;
-
- case QMediaPlayer::PlayingState:
- case QMediaPlayer::PausedState:
- if (m_state == QMediaPlayer::StoppedState) {
- m_mediaStatus = QMediaPlayer::LoadedMedia;
- } else {
- if (m_bufferProgress == -1 || m_bufferProgress == 100)
- m_mediaStatus = QMediaPlayer::BufferedMedia;
- }
- break;
- }
-
- //EndOfMedia status should be kept, until reset by pause, play or setMedia
- if (oldStatus == QMediaPlayer::EndOfMedia)
- m_mediaStatus = QMediaPlayer::EndOfMedia;
-
- if (m_state != oldState)
- emit stateChanged(m_state);
- if (m_mediaStatus != oldStatus)
- emit mediaStatusChanged(m_mediaStatus);
-}
-
-void QGstreamerPlayerControl::processEOS()
-{
- m_mediaStatus = QMediaPlayer::EndOfMedia;
- stop();
- emit mediaStatusChanged(m_mediaStatus);
-}
-
-void QGstreamerPlayerControl::setBufferProgress(int progress)
-{
- if (m_bufferProgress == progress || m_mediaStatus == QMediaPlayer::NoMedia)
- return;
-
- QMediaPlayer::MediaStatus oldStatus = m_mediaStatus;
-
- m_bufferProgress = progress;
-
- if (m_state == QMediaPlayer::StoppedState) {
- m_mediaStatus = QMediaPlayer::LoadedMedia;
- } else {
- if (m_bufferProgress < 100) {
- m_mediaStatus = QMediaPlayer::StalledMedia;
- m_session->pause();
- } else {
- m_mediaStatus = QMediaPlayer::BufferedMedia;
- if (m_state == QMediaPlayer::PlayingState)
- m_session->play();
- }
- }
-
- if (m_mediaStatus != oldStatus)
- emit mediaStatusChanged(m_mediaStatus);
-
- emit bufferStatusChanged(m_bufferProgress);
-}
-
-void QGstreamerPlayerControl::writeFifo()
-{
- if (m_fifoCanWrite) {
- qint64 bytesToRead = qMin<qint64>(
- m_stream->bytesAvailable(), PIPE_BUF - m_bufferSize);
-
- if (bytesToRead > 0) {
- int bytesRead = m_stream->read(&m_buffer[m_bufferOffset + m_bufferSize], bytesToRead);
-
- if (bytesRead > 0)
- m_bufferSize += bytesRead;
- }
-
- if (m_bufferSize > 0) {
- int bytesWritten = ::write(m_fifoFd[1], &m_buffer[m_bufferOffset], size_t(m_bufferSize));
-
- if (bytesWritten > 0) {
- m_bufferOffset += bytesWritten;
- m_bufferSize -= bytesWritten;
-
- if (m_bufferSize == 0)
- m_bufferOffset = 0;
- } else if (errno == EAGAIN) {
- m_fifoCanWrite = false;
- } else {
- closeFifo();
- }
- }
- }
-
- m_fifoNotifier->setEnabled(m_stream->bytesAvailable() > 0);
-}
-
-void QGstreamerPlayerControl::fifoReadyWrite(int socket)
-{
- if (socket == m_fifoFd[1]) {
- m_fifoCanWrite = true;
-
- writeFifo();
- }
-}
-
-bool QGstreamerPlayerControl::openFifo()
-{
- Q_ASSERT(m_fifoFd[0] < 0);
- Q_ASSERT(m_fifoFd[1] < 0);
-
- if (::pipe(m_fifoFd) == 0) {
- int flags = ::fcntl(m_fifoFd[1], F_GETFD);
-
- if (::fcntl(m_fifoFd[1], F_SETFD, flags | O_NONBLOCK) >= 0) {
- m_fifoNotifier = new QSocketNotifier(m_fifoFd[1], QSocketNotifier::Write);
-
- connect(m_fifoNotifier, SIGNAL(activated(int)), this, SLOT(fifoReadyWrite(int)));
-
- return true;
- } else {
- qWarning("Failed to make pipe non blocking %d", errno);
-
- ::close(m_fifoFd[0]);
- ::close(m_fifoFd[1]);
-
- m_fifoFd[0] = -1;
- m_fifoFd[1] = -1;
-
- return false;
- }
- } else {
- qWarning("Failed to create pipe %d", errno);
-
- return false;
- }
-}
-
-void QGstreamerPlayerControl::closeFifo()
-{
- if (m_fifoFd[0] >= 0) {
- delete m_fifoNotifier;
- m_fifoNotifier = 0;
-
- ::close(m_fifoFd[0]);
- ::close(m_fifoFd[1]);
- m_fifoFd[0] = -1;
- m_fifoFd[1] = -1;
-
- m_fifoCanWrite = false;
-
- m_bufferSize = 0;
- m_bufferOffset = 0;
- }
-}
-
-QT_END_NAMESPACE
-
diff --git a/src/plugins/mediaservices/gstreamer/mediaplayer/qgstreamerplayercontrol.h b/src/plugins/mediaservices/gstreamer/mediaplayer/qgstreamerplayercontrol.h
deleted file mode 100644
index c95f37a27a..0000000000
--- a/src/plugins/mediaservices/gstreamer/mediaplayer/qgstreamerplayercontrol.h
+++ /dev/null
@@ -1,138 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the plugins of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QGSTREAMERPLAYERCONTROL_H
-#define QGSTREAMERPLAYERCONTROL_H
-
-#include <QtCore/qobject.h>
-
-#include <QtMediaServices/qmediaplayercontrol.h>
-#include <QtMediaServices/qmediaplayer.h>
-
-#include <limits.h>
-
-
-QT_BEGIN_HEADER
-
-QT_BEGIN_NAMESPACE
-
-class QMediaPlaylist;
-class QGstreamerPlayerSession;
-class QGstreamerPlayerService;
-class QMediaPlaylistNavigator;
-class QSocketNotifier;
-
-class QGstreamerPlayerControl : public QMediaPlayerControl
-{
- Q_OBJECT
-
-public:
- QGstreamerPlayerControl(QGstreamerPlayerSession *session, QObject *parent = 0);
- ~QGstreamerPlayerControl();
-
- QMediaPlayer::State state() const;
- QMediaPlayer::MediaStatus mediaStatus() const;
-
- qint64 position() const;
- qint64 duration() const;
-
- int bufferStatus() const;
-
- int volume() const;
- bool isMuted() const;
-
- bool isAudioAvailable() const;
- bool isVideoAvailable() const;
- void setVideoOutput(QObject *output);
-
- bool isSeekable() const;
- QMediaTimeRange availablePlaybackRanges() const;
-
- qreal playbackRate() const;
- void setPlaybackRate(qreal rate);
-
- QMediaContent media() const;
- const QIODevice *mediaStream() const;
- void setMedia(const QMediaContent&, QIODevice *);
-
-public Q_SLOTS:
- void setPosition(qint64 pos);
-
- void play();
- void pause();
- void stop();
-
- void setVolume(int volume);
- void setMuted(bool muted);
-
-private Q_SLOTS:
- void writeFifo();
- void fifoReadyWrite(int socket);
-
- void updateState(QMediaPlayer::State);
- void processEOS();
- void setBufferProgress(int progress);
-
-private:
- bool openFifo();
- void closeFifo();
- void playOrPause(QMediaPlayer::State state);
-
- QGstreamerPlayerSession *m_session;
- QMediaPlayer::State m_state;
- QMediaPlayer::MediaStatus m_mediaStatus;
- int m_bufferProgress;
- bool m_seekToStartPending;
- QMediaContent m_currentResource;
- QIODevice *m_stream;
- QSocketNotifier *m_fifoNotifier;
- int m_fifoFd[2];
- bool m_fifoCanWrite;
- int m_bufferSize;
- int m_bufferOffset;
- char m_buffer[PIPE_BUF];
-};
-
-QT_END_NAMESPACE
-
-QT_END_HEADER
-
-#endif
diff --git a/src/plugins/mediaservices/gstreamer/mediaplayer/qgstreamerplayerservice.cpp b/src/plugins/mediaservices/gstreamer/mediaplayer/qgstreamerplayerservice.cpp
deleted file mode 100644
index 3228722186..0000000000
--- a/src/plugins/mediaservices/gstreamer/mediaplayer/qgstreamerplayerservice.cpp
+++ /dev/null
@@ -1,149 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the plugins of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include <QtCore/qvariant.h>
-#include <QtCore/qdebug.h>
-#include <QtGui/qwidget.h>
-
-#include "qgstreamerplayerservice.h"
-#include "qgstreamerplayercontrol.h"
-#include "qgstreamerplayersession.h"
-#include "qgstreamermetadataprovider.h"
-#include "qgstreamervideooutputcontrol.h"
-
-#include "qgstreamervideooverlay.h"
-#include "qgstreamervideorenderer.h"
-
-#include "qgstreamervideowidget.h"
-//#include "qgstreamerstreamscontrol.h"
-
-#include <qmediaplaylistnavigator.h>
-#include <qmediaplaylist.h>
-
-
-QT_BEGIN_NAMESPACE
-
-
-QGstreamerPlayerService::QGstreamerPlayerService(QObject *parent):
- QMediaService(parent),
- m_videoRenderer(0),
- m_videoWindow(0),
- m_videoWidget(0)
-{
- m_session = new QGstreamerPlayerSession(this);
- m_control = new QGstreamerPlayerControl(m_session, this);
- m_metaData = new QGstreamerMetaDataProvider(m_session, this);
- m_videoOutput = new QGstreamerVideoOutputControl(this);
-// m_streamsControl = new QGstreamerStreamsControl(m_session,this);
-
- connect(m_videoOutput, SIGNAL(outputChanged(QVideoOutputControl::Output)),
- this, SLOT(videoOutputChanged(QVideoOutputControl::Output)));
- m_videoRenderer = new QGstreamerVideoRenderer(this);
-
-#ifdef Q_WS_X11
- m_videoWindow = new QGstreamerVideoOverlay(this);
- m_videoWidget = new QGstreamerVideoWidgetControl(this);
-#endif
-
- QList<QVideoOutputControl::Output> outputs;
-
- if (m_videoRenderer)
- outputs << QVideoOutputControl::RendererOutput;
- if (m_videoWidget)
- outputs << QVideoOutputControl::WidgetOutput;
- if (m_videoWindow)
- outputs << QVideoOutputControl::WindowOutput;
-
- m_videoOutput->setAvailableOutputs(outputs);
-}
-
-QGstreamerPlayerService::~QGstreamerPlayerService()
-{
-}
-
-QMediaControl *QGstreamerPlayerService::control(const char *name) const
-{
- if (qstrcmp(name,QMediaPlayerControl_iid) == 0)
- return m_control;
-
- if (qstrcmp(name,QMetaDataControl_iid) == 0)
- return m_metaData;
-
-// if (qstrcmp(name,QMediaStreamsControl_iid) == 0)
-// return m_streamsControl;
-
- if (qstrcmp(name, QVideoOutputControl_iid) == 0)
- return m_videoOutput;
-
- if (qstrcmp(name, QVideoWidgetControl_iid) == 0)
- return m_videoWidget;
-
- if (qstrcmp(name, QVideoRendererControl_iid) == 0)
- return m_videoRenderer;
-
- if (qstrcmp(name, QVideoWindowControl_iid) == 0)
- return m_videoWindow;
-
- return 0;
-}
-
-void QGstreamerPlayerService::videoOutputChanged(QVideoOutputControl::Output output)
-{
- switch (output) {
- case QVideoOutputControl::NoOutput:
- m_control->setVideoOutput(0);
- break;
- case QVideoOutputControl::RendererOutput:
- m_control->setVideoOutput(m_videoRenderer);
- break;
- case QVideoOutputControl::WindowOutput:
- m_control->setVideoOutput(m_videoWindow);
- break;
- case QVideoOutputControl::WidgetOutput:
- m_control->setVideoOutput(m_videoWidget);
- break;
- default:
- qWarning("Invalid video output selection");
- break;
- }
-}
-
-QT_END_NAMESPACE
diff --git a/src/plugins/mediaservices/gstreamer/mediaplayer/qgstreamerplayerservice.h b/src/plugins/mediaservices/gstreamer/mediaplayer/qgstreamerplayerservice.h
deleted file mode 100644
index 1283966154..0000000000
--- a/src/plugins/mediaservices/gstreamer/mediaplayer/qgstreamerplayerservice.h
+++ /dev/null
@@ -1,101 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the plugins of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QGSTREAMERPLAYERSERVICE_H
-#define QGSTREAMERPLAYERSERVICE_H
-
-#include <QtCore/qobject.h>
-#include <QtCore/qiodevice.h>
-
-#include <QtMediaServices/qmediaservice.h>
-
-#include "qgstreamervideooutputcontrol.h"
-
-
-QT_BEGIN_HEADER
-
-QT_BEGIN_NAMESPACE
-
-class QMediaMetaData;
-class QMediaPlayerControl;
-class QMediaPlaylist;
-class QMediaPlaylistNavigator;
-class QGstreamerMetaData;
-class QGstreamerPlayerControl;
-class QGstreamerPlayerSession;
-class QGstreamerMetaDataProvider;
-class QGstreamerStreamsControl;
-class QGstreamerVideoRenderer;
-class QGstreamerVideoOverlay;
-class QGstreamerVideoWidgetControl;
-
-
-class QGstreamerPlayerService : public QMediaService
-{
- Q_OBJECT
-public:
- QGstreamerPlayerService(QObject *parent = 0);
- ~QGstreamerPlayerService();
-
- //void setVideoOutput(QObject *output);
-
- QMediaControl *control(const char *name) const;
-
-private slots:
- void videoOutputChanged(QVideoOutputControl::Output output);
-
-private:
- QGstreamerPlayerControl *m_control;
- QGstreamerPlayerSession *m_session;
- QGstreamerMetaDataProvider *m_metaData;
- QGstreamerVideoOutputControl *m_videoOutput;
- QGstreamerStreamsControl *m_streamsControl;
-
- QGstreamerVideoRenderer *m_videoRenderer;
- QGstreamerVideoOverlay *m_videoWindow;
- QGstreamerVideoWidgetControl *m_videoWidget;
-};
-
-QT_END_NAMESPACE
-
-QT_END_HEADER
-
-#endif
diff --git a/src/plugins/mediaservices/gstreamer/mediaplayer/qgstreamerplayersession.cpp b/src/plugins/mediaservices/gstreamer/mediaplayer/qgstreamerplayersession.cpp
deleted file mode 100644
index 6a44aa1ad4..0000000000
--- a/src/plugins/mediaservices/gstreamer/mediaplayer/qgstreamerplayersession.cpp
+++ /dev/null
@@ -1,924 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the plugins of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "qgstreamerplayersession.h"
-#include "qgstreamerbushelper.h"
-
-#include "qgstreamervideorendererinterface.h"
-
-#include <gst/gstvalue.h>
-
-#include <QtCore/qdatetime.h>
-#include <QtCore/qdebug.h>
-
-//#define USE_PLAYBIN2
-
-//#define DEBUG_VO_BIN_DUMP
-//#define DEBUG_PLAYBIN_STATES
-
-
-QT_BEGIN_NAMESPACE
-
-QGstreamerPlayerSession::QGstreamerPlayerSession(QObject *parent)
- :QObject(parent),
- m_state(QMediaPlayer::StoppedState),
- m_busHelper(0),
- m_playbin(0),
- m_videoSink(0),
- m_pendingVideoSink(0),
- m_nullVideoSink(0),
- m_bus(0),
- m_renderer(0),
- m_volume(100),
- m_playbackRate(1.0),
- m_muted(false),
- m_audioAvailable(false),
- m_videoAvailable(false),
- m_seekable(false),
- m_lastPosition(0),
- m_duration(-1)
-{
- static bool initialized = false;
- if (!initialized) {
- initialized = true;
- gst_init(NULL, NULL);
- }
-
-#ifdef USE_PLAYBIN2
- m_playbin = gst_element_factory_make("playbin2", NULL);
-#else
- m_playbin = gst_element_factory_make("playbin", NULL);
-#endif
-
- m_videoOutputBin = gst_bin_new("video-output-bin");
- gst_object_ref(GST_OBJECT(m_videoOutputBin));
-
- m_videoIdentity = gst_element_factory_make("identity", "identity-vo");
- m_colorSpace = gst_element_factory_make("ffmpegcolorspace", "ffmpegcolorspace-vo");
- m_videoScale = gst_element_factory_make("videoscale","videoscale-vo");
- m_nullVideoSink = gst_element_factory_make("fakesink", NULL);
- gst_object_ref(GST_OBJECT(m_nullVideoSink));
- gst_bin_add_many(GST_BIN(m_videoOutputBin), m_videoIdentity, m_colorSpace, m_videoScale, m_nullVideoSink, NULL);
- gst_element_link_many(m_videoIdentity, m_colorSpace, m_videoScale, m_nullVideoSink, NULL);
-
- m_videoSink = m_nullVideoSink;
-
- // add ghostpads
- GstPad *pad = gst_element_get_static_pad(m_videoIdentity,"sink");
- gst_element_add_pad(GST_ELEMENT(m_videoOutputBin), gst_ghost_pad_new("videosink", pad));
- gst_object_unref(GST_OBJECT(pad));
-
-
- if (m_playbin != 0) {
- // Sort out messages
- m_bus = gst_element_get_bus(m_playbin);
- m_busHelper = new QGstreamerBusHelper(m_bus, this);
- connect(m_busHelper, SIGNAL(message(QGstreamerMessage)), SLOT(busMessage(QGstreamerMessage)));
- m_busHelper->installSyncEventFilter(this);
-
- g_object_set(G_OBJECT(m_playbin), "video-sink", m_videoOutputBin, NULL);
-
- // Initial volume
- double volume = 1.0;
- g_object_get(G_OBJECT(m_playbin), "volume", &volume, NULL);
- m_volume = int(volume*100);
- }
-}
-
-QGstreamerPlayerSession::~QGstreamerPlayerSession()
-{
- if (m_playbin) {
- stop();
-
- delete m_busHelper;
- gst_object_unref(GST_OBJECT(m_bus));
- gst_object_unref(GST_OBJECT(m_playbin));
- gst_object_unref(GST_OBJECT(m_nullVideoSink));
- gst_object_unref(GST_OBJECT(m_videoOutputBin));
- }
-}
-
-void QGstreamerPlayerSession::load(const QUrl &url)
-{
- m_url = url;
-
- if (m_playbin) {
- m_tags.clear();
- emit tagsChanged();
-
- g_object_set(G_OBJECT(m_playbin), "uri", m_url.toEncoded().constData(), NULL);
-
-// if (!m_streamTypes.isEmpty()) {
-// m_streamProperties.clear();
-// m_streamTypes.clear();
-//
-// emit streamsChanged();
-// }
- }
-}
-
-qint64 QGstreamerPlayerSession::duration() const
-{
- return m_duration;
-}
-
-qint64 QGstreamerPlayerSession::position() const
-{
- GstFormat format = GST_FORMAT_TIME;
- gint64 position = 0;
-
- if ( m_playbin && gst_element_query_position(m_playbin, &format, &position))
- return position / 1000000;
- else
- return 0;
-}
-
-qreal QGstreamerPlayerSession::playbackRate() const
-{
- return m_playbackRate;
-}
-
-void QGstreamerPlayerSession::setPlaybackRate(qreal rate)
-{
- if (!qFuzzyCompare(m_playbackRate, rate)) {
- m_playbackRate = rate;
- if (m_playbin) {
- gst_element_seek(m_playbin, rate, GST_FORMAT_TIME,
- GstSeekFlags(GST_SEEK_FLAG_ACCURATE | GST_SEEK_FLAG_FLUSH),
- GST_SEEK_TYPE_NONE,0,
- GST_SEEK_TYPE_NONE,0 );
- }
- }
-}
-
-
-//int QGstreamerPlayerSession::activeStream(QMediaStreamsControl::StreamType streamType) const
-//{
-// int streamNumber = -1;
-// if (m_playbin) {
-// switch (streamType) {
-// case QMediaStreamsControl::AudioStream:
-// g_object_set(G_OBJECT(m_playbin), "current-audio", streamNumber, NULL);
-// break;
-// case QMediaStreamsControl::VideoStream:
-// g_object_set(G_OBJECT(m_playbin), "current-video", streamNumber, NULL);
-// break;
-// case QMediaStreamsControl::SubPictureStream:
-// g_object_set(G_OBJECT(m_playbin), "current-text", streamNumber, NULL);
-// break;
-// default:
-// break;
-// }
-// }
-//
-//#ifdef USE_PLAYBIN2
-// streamNumber += m_playbin2StreamOffset.value(streamType,0);
-//#endif
-//
-// return streamNumber;
-//}
-
-//void QGstreamerPlayerSession::setActiveStream(QMediaStreamsControl::StreamType streamType, int streamNumber)
-//{
-//#ifdef USE_PLAYBIN2
-// streamNumber -= m_playbin2StreamOffset.value(streamType,0);
-//#endif
-//
-// if (m_playbin) {
-// switch (streamType) {
-// case QMediaStreamsControl::AudioStream:
-// g_object_get(G_OBJECT(m_playbin), "current-audio", &streamNumber, NULL);
-// break;
-// case QMediaStreamsControl::VideoStream:
-// g_object_get(G_OBJECT(m_playbin), "current-video", &streamNumber, NULL);
-// break;
-// case QMediaStreamsControl::SubPictureStream:
-// g_object_get(G_OBJECT(m_playbin), "current-text", &streamNumber, NULL);
-// break;
-// default:
-// break;
-// }
-// }
-//}
-
-
-bool QGstreamerPlayerSession::isBuffering() const
-{
- return false;
-}
-
-int QGstreamerPlayerSession::bufferingProgress() const
-{
- return 0;
-}
-
-int QGstreamerPlayerSession::volume() const
-{
- return m_volume;
-}
-
-bool QGstreamerPlayerSession::isMuted() const
-{
- return m_muted;
-}
-
-bool QGstreamerPlayerSession::isAudioAvailable() const
-{
- return m_audioAvailable;
-}
-
-static void block_pad_cb(GstPad *pad, gboolean blocked, gpointer user_data)
-{
- Q_UNUSED(pad);
- //qDebug() << "block_pad_cb" << blocked;
-
- if (blocked && user_data) {
- QGstreamerPlayerSession *session = reinterpret_cast<QGstreamerPlayerSession*>(user_data);
- QMetaObject::invokeMethod(session, "finishVideoOutputChange", Qt::QueuedConnection);
- }
-}
-
-#ifdef DEBUG_VO_BIN_DUMP
- static int dumpNum = 0;
-#endif
-
-void QGstreamerPlayerSession::setVideoRenderer(QObject *videoOutput)
-{
- QGstreamerVideoRendererInterface* renderer = qobject_cast<QGstreamerVideoRendererInterface*>(videoOutput);
-
- if (m_renderer == renderer)
- return;
-
-#ifdef DEBUG_VO_BIN_DUMP
- dumpNum++;
-
- _gst_debug_bin_to_dot_file(GST_BIN(m_videoOutputBin),
- GstDebugGraphDetails(GST_DEBUG_GRAPH_SHOW_ALL /* GST_DEBUG_GRAPH_SHOW_MEDIA_TYPE | GST_DEBUG_GRAPH_SHOW_NON_DEFAULT_PARAMS | GST_DEBUG_GRAPH_SHOW_STATES*/),
- QString("video_output_change_%1_set").arg(dumpNum).toAscii().constData());
-#endif
-
- m_renderer = renderer;
-
- GstElement *videoSink = m_renderer ? m_renderer->videoSink() : m_nullVideoSink;
-
- if (m_state == QMediaPlayer::StoppedState) {
- m_pendingVideoSink = 0;
- gst_element_unlink(m_videoScale, m_videoSink);
-
- gst_bin_remove(GST_BIN(m_videoOutputBin), m_videoSink);
-
- m_videoSink = videoSink;
-
- gst_bin_add(GST_BIN(m_videoOutputBin), m_videoSink);
- gst_element_link(m_videoScale, m_videoSink);
-
- } else {
- if (m_pendingVideoSink) {
- m_pendingVideoSink = videoSink;
- return;
- }
-
- m_pendingVideoSink = videoSink;
-
- //block pads, async to avoid locking in paused state
- GstPad *srcPad = gst_element_get_static_pad(m_videoIdentity, "src");
- gst_pad_set_blocked_async(srcPad, true, &block_pad_cb, this);
- gst_object_unref(GST_OBJECT(srcPad));
- }
-}
-
-void QGstreamerPlayerSession::finishVideoOutputChange()
-{
- if (!m_pendingVideoSink)
- return;
-
- GstPad *srcPad = gst_element_get_static_pad(m_videoIdentity, "src");
-
- if (!gst_pad_is_blocked(srcPad)) {
- //pad is not blocked, it's possible to swap outputs only in the null state
- GstState identityElementState = GST_STATE_NULL;
- gst_element_get_state(m_videoIdentity, &identityElementState, NULL, GST_CLOCK_TIME_NONE);
- if (identityElementState != GST_STATE_NULL) {
- gst_object_unref(GST_OBJECT(srcPad));
- return; //can't change vo yet, received async call from the previous change
- }
-
- }
-
- if (m_pendingVideoSink == m_videoSink) {
- //video output was change back to the current one,
- //no need to torment the pipeline, just unblock the pad
- if (gst_pad_is_blocked(srcPad))
- gst_pad_set_blocked_async(srcPad, false, &block_pad_cb, 0);
-
- m_pendingVideoSink = 0;
- gst_object_unref(GST_OBJECT(srcPad));
- return;
- }
-
- gst_element_set_state(m_colorSpace, GST_STATE_NULL);
- gst_element_set_state(m_videoScale, GST_STATE_NULL);
- gst_element_set_state(m_videoSink, GST_STATE_NULL);
-
- gst_element_unlink(m_videoScale, m_videoSink);
-
- gst_bin_remove(GST_BIN(m_videoOutputBin), m_videoSink);
-
- m_videoSink = m_pendingVideoSink;
- m_pendingVideoSink = 0;
-
- gst_bin_add(GST_BIN(m_videoOutputBin), m_videoSink);
- if (!gst_element_link(m_videoScale, m_videoSink))
- qWarning() << "Linking video output element failed";
-
- GstState state;
-
- switch (m_state) {
- case QMediaPlayer::StoppedState:
- state = GST_STATE_NULL;
- break;
- case QMediaPlayer::PausedState:
- state = GST_STATE_PAUSED;
- break;
- case QMediaPlayer::PlayingState:
- state = GST_STATE_PLAYING;
- break;
- }
-
- gst_element_set_state(m_colorSpace, state);
- gst_element_set_state(m_videoScale, state);
- gst_element_set_state(m_videoSink, state);
-
- //don't have to wait here, it will unblock eventually
- if (gst_pad_is_blocked(srcPad))
- gst_pad_set_blocked_async(srcPad, false, &block_pad_cb, 0);
- gst_object_unref(GST_OBJECT(srcPad));
-
-#ifdef DEBUG_VO_BIN_DUMP
- dumpNum++;
-
- _gst_debug_bin_to_dot_file(GST_BIN(m_videoOutputBin),
- GstDebugGraphDetails(/*GST_DEBUG_GRAPH_SHOW_ALL */ GST_DEBUG_GRAPH_SHOW_MEDIA_TYPE | GST_DEBUG_GRAPH_SHOW_NON_DEFAULT_PARAMS | GST_DEBUG_GRAPH_SHOW_STATES),
- QString("video_output_change_%1_finish").arg(dumpNum).toAscii().constData());
-#endif
-
-}
-
-bool QGstreamerPlayerSession::isVideoAvailable() const
-{
- return m_videoAvailable;
-}
-
-bool QGstreamerPlayerSession::isSeekable() const
-{
- return m_seekable;
-}
-
-bool QGstreamerPlayerSession::play()
-{
- if (m_playbin) {
- if (gst_element_set_state(m_playbin, GST_STATE_PLAYING) == GST_STATE_CHANGE_FAILURE) {
- qWarning() << "GStreamer; Unable to play -" << m_url.toString();
- m_state = QMediaPlayer::StoppedState;
-
- emit stateChanged(m_state);
- emit error(int(QMediaPlayer::ResourceError), tr("Unable to play %1").arg(m_url.path()));
- } else
- return true;
- }
-
- return false;
-}
-
-bool QGstreamerPlayerSession::pause()
-{
- if (m_playbin) {
- if (gst_element_set_state(m_playbin, GST_STATE_PAUSED) == GST_STATE_CHANGE_FAILURE) {
- qWarning() << "GStreamer; Unable to play -" << m_url.toString();
- m_state = QMediaPlayer::StoppedState;
-
- emit stateChanged(m_state);
- emit error(int(QMediaPlayer::ResourceError), tr("Unable to play %1").arg(m_url.path()));
- } else
- return true;
- }
-
- return false;
-}
-
-void QGstreamerPlayerSession::stop()
-{
- if (m_playbin) {
- gst_element_set_state(m_playbin, GST_STATE_NULL);
-
- QMediaPlayer::State oldState = QMediaPlayer::StoppedState;
- m_state = QMediaPlayer::StoppedState;
-
- finishVideoOutputChange();
-
- //we have to do it here, since gstreamer will not emit bus messages any more
- if (oldState != m_state)
- emit stateChanged(m_state);
- }
-}
-
-bool QGstreamerPlayerSession::seek(qint64 ms)
-{
- //seek locks when the video output sink is changing and pad is blocked
- if (m_playbin && !m_pendingVideoSink && m_state != QMediaPlayer::StoppedState) {
-
- gint64 position = qMax(ms,qint64(0)) * 1000000;
- return gst_element_seek(m_playbin,
- m_playbackRate,
- GST_FORMAT_TIME,
- GstSeekFlags(GST_SEEK_FLAG_ACCURATE | GST_SEEK_FLAG_FLUSH),
- GST_SEEK_TYPE_SET,
- position,
- GST_SEEK_TYPE_NONE,
- 0);
- }
-
- return false;
-}
-
-void QGstreamerPlayerSession::setVolume(int volume)
-{
- if (m_volume != volume) {
- m_volume = volume;
-
- if (m_playbin) {
-#ifndef USE_PLAYBIN2
- if(!m_muted)
-#endif
- g_object_set(G_OBJECT(m_playbin), "volume", m_volume/100.0, NULL);
- }
-
- emit volumeChanged(m_volume);
- }
-
-}
-
-void QGstreamerPlayerSession::setMuted(bool muted)
-{
- if (m_muted != muted) {
- m_muted = muted;
-
-#ifdef USE_PLAYBIN2
- g_object_set(G_OBJECT(m_playbin), "mute", m_muted, NULL);
-#else
- g_object_set(G_OBJECT(m_playbin), "volume", (m_muted ? 0 : m_volume/100.0), NULL);
-#endif
- emit mutedStateChanged(m_muted);
- }
-}
-
-static void addTagToMap(const GstTagList *list,
- const gchar *tag,
- gpointer user_data)
-{
- QMap<QByteArray, QVariant> *map = reinterpret_cast<QMap<QByteArray, QVariant>* >(user_data);
-
- GValue val;
- val.g_type = 0;
- gst_tag_list_copy_value(&val,list,tag);
-
- switch( G_VALUE_TYPE(&val) ) {
- case G_TYPE_STRING:
- {
- const gchar *str_value = g_value_get_string(&val);
- map->insert(QByteArray(tag), QString::fromUtf8(str_value));
- break;
- }
- case G_TYPE_INT:
- map->insert(QByteArray(tag), g_value_get_int(&val));
- break;
- case G_TYPE_UINT:
- map->insert(QByteArray(tag), g_value_get_uint(&val));
- break;
- case G_TYPE_LONG:
- map->insert(QByteArray(tag), qint64(g_value_get_long(&val)));
- break;
- case G_TYPE_BOOLEAN:
- map->insert(QByteArray(tag), g_value_get_boolean(&val));
- break;
- case G_TYPE_CHAR:
- map->insert(QByteArray(tag), g_value_get_char(&val));
- break;
- case G_TYPE_DOUBLE:
- map->insert(QByteArray(tag), g_value_get_double(&val));
- break;
- default:
- // GST_TYPE_DATE is a function, not a constant, so pull it out of the switch
- if (G_VALUE_TYPE(&val) == GST_TYPE_DATE) {
- const GDate *date = gst_value_get_date(&val);
- if (g_date_valid(date)) {
- int year = g_date_get_year(date);
- int month = g_date_get_month(date);
- int day = g_date_get_day(date);
- map->insert(QByteArray(tag), QDate(year,month,day));
- if (!map->contains("year"))
- map->insert("year", year);
- }
- } else if (G_VALUE_TYPE(&val) == GST_TYPE_FRACTION) {
- int nom = gst_value_get_fraction_numerator(&val);
- int denom = gst_value_get_fraction_denominator(&val);
-
- if (denom > 0) {
- map->insert(QByteArray(tag), double(nom)/denom);
- }
- }
- break;
- }
-
- g_value_unset(&val);
-}
-
-void QGstreamerPlayerSession::setSeekable(bool seekable)
-{
- if (seekable != m_seekable) {
- m_seekable = seekable;
- emit seekableChanged(m_seekable);
- }
-}
-
-bool QGstreamerPlayerSession::processSyncMessage(const QGstreamerMessage &message)
-{
- GstMessage* gm = message.rawMessage();
-
- if (gm &&
- GST_MESSAGE_TYPE(gm) == GST_MESSAGE_ELEMENT &&
- gst_structure_has_name(gm->structure, "prepare-xwindow-id"))
- {
- if (m_renderer)
- m_renderer->precessNewStream();
- return true;
- }
-
- return false;
-}
-
-void QGstreamerPlayerSession::busMessage(const QGstreamerMessage &message)
-{
- GstMessage* gm = message.rawMessage();
-
- if (gm == 0) {
- // Null message, query current position
- quint32 newPos = position();
-
- if (newPos/1000 != m_lastPosition) {
- m_lastPosition = newPos/1000;
- emit positionChanged(newPos);
- }
-
- } else {
- //tag message comes from elements inside playbin, not from playbin itself
- if (GST_MESSAGE_TYPE(gm) == GST_MESSAGE_TAG) {
- //qDebug() << "tag message";
- GstTagList *tag_list;
- gst_message_parse_tag(gm, &tag_list);
- gst_tag_list_foreach(tag_list, addTagToMap, &m_tags);
-
- //qDebug() << m_tags;
-
- emit tagsChanged();
- }
-
- if (GST_MESSAGE_SRC(gm) == GST_OBJECT_CAST(m_playbin)) {
- switch (GST_MESSAGE_TYPE(gm)) {
- case GST_MESSAGE_STATE_CHANGED:
- {
- GstState oldState;
- GstState newState;
- GstState pending;
-
- gst_message_parse_state_changed(gm, &oldState, &newState, &pending);
-
-#ifdef DEBUG_PLAYBIN_STATES
- QStringList states;
- states << "GST_STATE_VOID_PENDING" << "GST_STATE_NULL" << "GST_STATE_READY" << "GST_STATE_PAUSED" << "GST_STATE_PLAYING";
-
- qDebug() << QString("state changed: old: %1 new: %2 pending: %3") \
- .arg(states[oldState]) \
- .arg(states[newState]) \
- .arg(states[pending]);
-#endif
-
- switch (newState) {
- case GST_STATE_VOID_PENDING:
- case GST_STATE_NULL:
- setSeekable(false);
- if (m_state != QMediaPlayer::StoppedState)
- emit stateChanged(m_state = QMediaPlayer::StoppedState);
- break;
- case GST_STATE_READY:
- setSeekable(false);
- if (m_state != QMediaPlayer::StoppedState)
- emit stateChanged(m_state = QMediaPlayer::StoppedState);
- break;
- case GST_STATE_PAUSED:
- if (m_state != QMediaPlayer::PausedState)
- emit stateChanged(m_state = QMediaPlayer::PausedState);
-
- //check for seekable
- if (oldState == GST_STATE_READY) {
- /*
- //gst_element_seek_simple doesn't work reliably here, have to find a better solution
-
- GstFormat format = GST_FORMAT_TIME;
- gint64 position = 0;
- bool seekable = false;
- if (gst_element_query_position(m_playbin, &format, &position)) {
- seekable = gst_element_seek_simple(m_playbin, format, GST_SEEK_FLAG_NONE, position);
- }
-
- setSeekable(seekable);
- */
-
- setSeekable(true);
-
- if (!qFuzzyCompare(m_playbackRate, qreal(1.0))) {
- qreal rate = m_playbackRate;
- m_playbackRate = 1.0;
- setPlaybackRate(rate);
- }
-
- if (m_renderer)
- m_renderer->precessNewStream();
-
- }
-
-
- break;
- case GST_STATE_PLAYING:
- if (oldState == GST_STATE_PAUSED)
- getStreamsInfo();
-
- if (m_state != QMediaPlayer::PlayingState)
- emit stateChanged(m_state = QMediaPlayer::PlayingState);
-
- break;
- }
- }
- break;
-
- case GST_MESSAGE_EOS:
- emit playbackFinished();
- break;
-
- case GST_MESSAGE_TAG:
- case GST_MESSAGE_STREAM_STATUS:
- case GST_MESSAGE_UNKNOWN:
- break;
- case GST_MESSAGE_ERROR:
- {
- GError *err;
- gchar *debug;
- gst_message_parse_error (gm, &err, &debug);
- emit error(int(QMediaPlayer::ResourceError), QString::fromUtf8(err->message));
- qWarning() << "Error:" << QString::fromUtf8(err->message);
- g_error_free (err);
- g_free (debug);
- }
- break;
- case GST_MESSAGE_WARNING:
- case GST_MESSAGE_INFO:
- break;
- case GST_MESSAGE_BUFFERING:
- {
- int progress = 0;
- gst_message_parse_buffering(gm, &progress);
- emit bufferingProgressChanged(progress);
- }
- break;
- case GST_MESSAGE_STATE_DIRTY:
- case GST_MESSAGE_STEP_DONE:
- case GST_MESSAGE_CLOCK_PROVIDE:
- case GST_MESSAGE_CLOCK_LOST:
- case GST_MESSAGE_NEW_CLOCK:
- case GST_MESSAGE_STRUCTURE_CHANGE:
- case GST_MESSAGE_APPLICATION:
- case GST_MESSAGE_ELEMENT:
- break;
- case GST_MESSAGE_SEGMENT_START:
- {
- const GstStructure *structure = gst_message_get_structure(gm);
- qint64 position = g_value_get_int64(gst_structure_get_value(structure, "position"));
- position /= 1000000;
- m_lastPosition = position;
- emit positionChanged(position);
- }
- break;
- case GST_MESSAGE_SEGMENT_DONE:
- break;
- case GST_MESSAGE_DURATION:
- {
- GstFormat format = GST_FORMAT_TIME;
- gint64 duration = 0;
-
- if (gst_element_query_duration(m_playbin, &format, &duration)) {
- int newDuration = duration / 1000000;
- if (m_duration != newDuration) {
- m_duration = newDuration;
- emit durationChanged(m_duration);
- }
- }
- }
- break;
- case GST_MESSAGE_LATENCY:
-#if (GST_VERSION_MAJOR >= 0) && (GST_VERSION_MINOR >= 10) && (GST_VERSION_MICRO >= 13)
- case GST_MESSAGE_ASYNC_START:
- case GST_MESSAGE_ASYNC_DONE:
-#if GST_VERSION_MICRO >= 23
- case GST_MESSAGE_REQUEST_STATE:
-#endif
-#endif
- case GST_MESSAGE_ANY:
- break;
- }
- }
- }
-}
-
-void QGstreamerPlayerSession::getStreamsInfo()
-{
- GstFormat format = GST_FORMAT_TIME;
- gint64 duration = 0;
-
- if (gst_element_query_duration(m_playbin, &format, &duration)) {
- int newDuration = duration / 1000000;
- if (m_duration != newDuration) {
- m_duration = newDuration;
- emit durationChanged(m_duration);
- }
- }
-
- //check if video is available:
- bool haveAudio = false;
- bool haveVideo = false;
-// m_streamProperties.clear();
-// m_streamTypes.clear();
-
-#ifdef USE_PLAYBIN2
- gint audioStreamsCount = 0;
- gint videoStreamsCount = 0;
- gint textStreamsCount = 0;
-
- g_object_get(G_OBJECT(m_playbin), "n-audio", &audioStreamsCount, NULL);
- g_object_get(G_OBJECT(m_playbin), "n-video", &videoStreamsCount, NULL);
- g_object_get(G_OBJECT(m_playbin), "n-text", &textStreamsCount, NULL);
-
- haveAudio = audioStreamsCount > 0;
- haveVideo = videoStreamsCount > 0;
-
- /*m_playbin2StreamOffset[QMediaStreamsControl::AudioStream] = 0;
- m_playbin2StreamOffset[QMediaStreamsControl::VideoStream] = audioStreamsCount;
- m_playbin2StreamOffset[QMediaStreamsControl::SubPictureStream] = audioStreamsCount+videoStreamsCount;
-
- for (int i=0; i<audioStreamsCount; i++)
- m_streamTypes.append(QMediaStreamsControl::AudioStream);
-
- for (int i=0; i<videoStreamsCount; i++)
- m_streamTypes.append(QMediaStreamsControl::VideoStream);
-
- for (int i=0; i<textStreamsCount; i++)
- m_streamTypes.append(QMediaStreamsControl::SubPictureStream);
-
- for (int i=0; i<m_streamTypes.count(); i++) {
- QMediaStreamsControl::StreamType streamType = m_streamTypes[i];
- QMap<QtMediaServices::MetaData, QVariant> streamProperties;
-
- int streamIndex = i - m_playbin2StreamOffset[streamType];
-
- GstTagList *tags = 0;
- switch (streamType) {
- case QMediaStreamsControl::AudioStream:
- g_signal_emit_by_name(G_OBJECT(m_playbin), "get-audio-tags", streamIndex, &tags);
- break;
- case QMediaStreamsControl::VideoStream:
- g_signal_emit_by_name(G_OBJECT(m_playbin), "get-video-tags", streamIndex, &tags);
- break;
- case QMediaStreamsControl::SubPictureStream:
- g_signal_emit_by_name(G_OBJECT(m_playbin), "get-text-tags", streamIndex, &tags);
- break;
- default:
- break;
- }
-
- if (tags && gst_is_tag_list(tags)) {
- gchar *languageCode = 0;
- if (gst_tag_list_get_string(tags, GST_TAG_LANGUAGE_CODE, &languageCode))
- streamProperties[QtMediaServices::Language] = QString::fromUtf8(languageCode);
-
- //qDebug() << "language for setream" << i << QString::fromUtf8(languageCode);
- g_free (languageCode);
- }
-
- m_streamProperties.append(streamProperties);
-
- }
- */
-
-#else
- enum {
- GST_STREAM_TYPE_UNKNOWN,
- GST_STREAM_TYPE_AUDIO,
- GST_STREAM_TYPE_VIDEO,
- GST_STREAM_TYPE_TEXT,
- GST_STREAM_TYPE_SUBPICTURE,
- GST_STREAM_TYPE_ELEMENT
- };
-
- GList* streamInfo;
- g_object_get(G_OBJECT(m_playbin), "stream-info", &streamInfo, NULL);
-
- for (; streamInfo != 0; streamInfo = g_list_next(streamInfo)) {
- gint type;
- gchar *languageCode = 0;
-
- GObject* obj = G_OBJECT(streamInfo->data);
-
- g_object_get(obj, "type", &type, NULL);
- g_object_get(obj, "language-code", &languageCode, NULL);
-
- if (type == GST_STREAM_TYPE_VIDEO)
- haveVideo = true;
- else if (type == GST_STREAM_TYPE_AUDIO)
- haveAudio = true;
-
-// QMediaStreamsControl::StreamType streamType = QMediaStreamsControl::UnknownStream;
-//
-// switch (type) {
-// case GST_STREAM_TYPE_VIDEO:
-// streamType = QMediaStreamsControl::VideoStream;
-// break;
-// case GST_STREAM_TYPE_AUDIO:
-// streamType = QMediaStreamsControl::AudioStream;
-// break;
-// case GST_STREAM_TYPE_SUBPICTURE:
-// streamType = QMediaStreamsControl::SubPictureStream;
-// break;
-// default:
-// streamType = QMediaStreamsControl::UnknownStream;
-// break;
-// }
-//
-// QMap<QtMediaServices::MetaData, QVariant> streamProperties;
-// streamProperties[QtMediaServices::Language] = QString::fromUtf8(languageCode);
-//
-// m_streamProperties.append(streamProperties);
-// m_streamTypes.append(streamType);
- }
-#endif
-
- if (haveAudio != m_audioAvailable) {
- m_audioAvailable = haveAudio;
- emit audioAvailableChanged(m_audioAvailable);
- }
- if (haveVideo != m_videoAvailable) {
- m_videoAvailable = haveVideo;
- emit videoAvailableChanged(m_videoAvailable);
- }
-
- emit streamsChanged();
-}
-
-QT_END_NAMESPACE
-
diff --git a/src/plugins/mediaservices/gstreamer/mediaplayer/qgstreamerplayersession.h b/src/plugins/mediaservices/gstreamer/mediaplayer/qgstreamerplayersession.h
deleted file mode 100644
index 6499a84d3f..0000000000
--- a/src/plugins/mediaservices/gstreamer/mediaplayer/qgstreamerplayersession.h
+++ /dev/null
@@ -1,176 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the plugins of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QGSTREAMERPLAYERSESSION_H
-#define QGSTREAMERPLAYERSESSION_H
-
-#include <QObject>
-#include <QUrl>
-#include "qgstreamerplayercontrol.h"
-#include "qgstreamerbushelper.h"
-#include <QtMediaServices/qmediaplayer.h>
-//#include <qmediastreamscontrol.h>
-
-#include <gst/gst.h>
-
-
-QT_BEGIN_HEADER
-
-QT_BEGIN_NAMESPACE
-
-class QGstreamerBusHelper;
-class QGstreamerMessage;
-class QGstreamerVideoRendererInterface;
-
-class QGstreamerPlayerSession : public QObject, public QGstreamerSyncEventFilter
-{
-Q_OBJECT
-
-public:
- QGstreamerPlayerSession(QObject *parent);
- virtual ~QGstreamerPlayerSession();
-
- QUrl url() const;
-
- QMediaPlayer::State state() const { return m_state; }
-
- qint64 duration() const;
- qint64 position() const;
-
- bool isBuffering() const;
-
- int bufferingProgress() const;
-
- int volume() const;
- bool isMuted() const;
-
- void setVideoRenderer(QObject *renderer);
- bool isAudioAvailable() const;
- bool isVideoAvailable() const;
-
- bool isSeekable() const;
-
- qreal playbackRate() const;
- void setPlaybackRate(qreal rate);
-
- QMap<QByteArray ,QVariant> tags() const { return m_tags; }
- QMap<QtMediaServices::MetaData,QVariant> streamProperties(int streamNumber) const { return m_streamProperties[streamNumber]; }
-// int streamCount() const { return m_streamProperties.count(); }
-// QMediaStreamsControl::StreamType streamType(int streamNumber) { return m_streamTypes.value(streamNumber, QMediaStreamsControl::UnknownStream); }
-//
-// int activeStream(QMediaStreamsControl::StreamType streamType) const;
-// void setActiveStream(QMediaStreamsControl::StreamType streamType, int streamNumber);
-
- bool processSyncMessage(const QGstreamerMessage &message);
-
-public slots:
- void load(const QUrl &url);
-
- bool play();
- bool pause();
- void stop();
-
- bool seek(qint64 pos);
-
- void setVolume(int volume);
- void setMuted(bool muted);
-
-signals:
- void durationChanged(qint64 duration);
- void positionChanged(qint64 position);
- void stateChanged(QMediaPlayer::State state);
- void volumeChanged(int volume);
- void mutedStateChanged(bool muted);
- void audioAvailableChanged(bool audioAvailable);
- void videoAvailableChanged(bool videoAvailable);
- void bufferingChanged(bool buffering);
- void bufferingProgressChanged(int percentFilled);
- void playbackFinished();
- void tagsChanged();
- void streamsChanged();
- void seekableChanged(bool);
- void error(int error, const QString &errorString);
-
-private slots:
- void busMessage(const QGstreamerMessage &message);
- void getStreamsInfo();
- void setSeekable(bool);
- void finishVideoOutputChange();
-
-private:
- QUrl m_url;
- QMediaPlayer::State m_state;
- QGstreamerBusHelper* m_busHelper;
- GstElement* m_playbin;
-
- GstElement* m_videoOutputBin;
- GstElement* m_videoIdentity;
- GstElement* m_colorSpace;
- GstElement* m_videoScale;
- GstElement* m_videoSink;
- GstElement* m_pendingVideoSink;
- GstElement* m_nullVideoSink;
-
- GstBus* m_bus;
- QGstreamerVideoRendererInterface *m_renderer;
-
- QMap<QByteArray, QVariant> m_tags;
- QList< QMap<QtMediaServices::MetaData,QVariant> > m_streamProperties;
-// QList<QMediaStreamsControl::StreamType> m_streamTypes;
-// QMap<QMediaStreamsControl::StreamType, int> m_playbin2StreamOffset;
-
-
- int m_volume;
- qreal m_playbackRate;
- bool m_muted;
- bool m_audioAvailable;
- bool m_videoAvailable;
- bool m_seekable;
-
- qint64 m_lastPosition;
- qint64 m_duration;
-};
-
-QT_END_NAMESPACE
-
-QT_END_HEADER
-
-#endif // QGSTREAMERPLAYERSESSION_H
diff --git a/src/plugins/mediaservices/gstreamer/qgstreamerbushelper.cpp b/src/plugins/mediaservices/gstreamer/qgstreamerbushelper.cpp
deleted file mode 100644
index 5049fa17dd..0000000000
--- a/src/plugins/mediaservices/gstreamer/qgstreamerbushelper.cpp
+++ /dev/null
@@ -1,206 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the plugins of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include <QMap>
-#include <QTimer>
-#include <QMutex>
-
-#include "qgstreamerbushelper.h"
-
-QT_BEGIN_NAMESPACE
-
-#ifndef QT_NO_GLIB
-class QGstreamerBusHelperPrivate : public QObject
-{
- Q_OBJECT
-
-public:
- void addWatch(GstBus* bus, QGstreamerBusHelper* helper)
- {
- setParent(helper);
- m_tag = gst_bus_add_watch_full(bus, 0, busCallback, this, NULL);
- m_helper = helper;
- filter = 0;
- }
-
- void removeWatch(QGstreamerBusHelper* helper)
- {
- Q_UNUSED(helper);
- g_source_remove(m_tag);
- }
-
- static QGstreamerBusHelperPrivate* instance()
- {
- return new QGstreamerBusHelperPrivate;
- }
-
-private:
- void processMessage(GstBus* bus, GstMessage* message)
- {
- Q_UNUSED(bus);
- emit m_helper->message(message);
- }
-
- static gboolean busCallback(GstBus *bus, GstMessage *message, gpointer data)
- {
- reinterpret_cast<QGstreamerBusHelperPrivate*>(data)->processMessage(bus, message);
- return TRUE;
- }
-
- guint m_tag;
- QGstreamerBusHelper* m_helper;
-
-public:
- GstBus* bus;
- QGstreamerSyncEventFilter *filter;
- QMutex filterMutex;
-};
-
-#else
-
-class QGstreamerBusHelperPrivate : public QObject
-{
- Q_OBJECT
- typedef QMap<QGstreamerBusHelper*, GstBus*> HelperMap;
-
-public:
- void addWatch(GstBus* bus, QGstreamerBusHelper* helper)
- {
- m_helperMap.insert(helper, bus);
-
- if (m_helperMap.size() == 1)
- m_intervalTimer->start();
- }
-
- void removeWatch(QGstreamerBusHelper* helper)
- {
- m_helperMap.remove(helper);
-
- if (m_helperMap.size() == 0)
- m_intervalTimer->stop();
- }
-
- static QGstreamerBusHelperPrivate* instance()
- {
- static QGstreamerBusHelperPrivate self;
-
- return &self;
- }
-
-private slots:
- void interval()
- {
- for (HelperMap::iterator it = m_helperMap.begin(); it != m_helperMap.end(); ++it) {
- GstMessage* message;
-
- while ((message = gst_bus_poll(it.value(), GST_MESSAGE_ANY, 0)) != 0) {
- emit it.key()->message(message);
- gst_message_unref(message);
- }
-
- emit it.key()->message(QGstreamerMessage());
- }
- }
-
-private:
- QGstreamerBusHelperPrivate()
- {
- m_intervalTimer = new QTimer(this);
- m_intervalTimer->setInterval(250);
-
- connect(m_intervalTimer, SIGNAL(timeout()), SLOT(interval()));
- }
-
- HelperMap m_helperMap;
- QTimer* m_intervalTimer;
-
-public:
- GstBus* bus;
- QGstreamerSyncEventFilter *filter;
- QMutex filterMutex;
-};
-#endif
-
-
-static GstBusSyncReply syncGstBusFilter(GstBus* bus, GstMessage* message, QGstreamerBusHelperPrivate *d)
-{
- Q_UNUSED(bus);
- QMutexLocker lock(&d->filterMutex);
-
- bool res = false;
-
- if (d->filter)
- res = d->filter->processSyncMessage(QGstreamerMessage(message));
-
- return res ? GST_BUS_DROP : GST_BUS_PASS;
-}
-
-
-/*!
- \class QGstreamerBusHelper
- \internal
-*/
-
-QGstreamerBusHelper::QGstreamerBusHelper(GstBus* bus, QObject* parent):
- QObject(parent),
- d(QGstreamerBusHelperPrivate::instance())
-{
- d->bus = bus;
- d->addWatch(bus, this);
-
- gst_bus_set_sync_handler(bus, (GstBusSyncHandler)syncGstBusFilter, d);
-}
-
-QGstreamerBusHelper::~QGstreamerBusHelper()
-{
- d->removeWatch(this);
- gst_bus_set_sync_handler(d->bus,0,0);
-}
-
-void QGstreamerBusHelper::installSyncEventFilter(QGstreamerSyncEventFilter *filter)
-{
- QMutexLocker lock(&d->filterMutex);
- d->filter = filter;
-}
-
-QT_END_NAMESPACE
-
-#include "qgstreamerbushelper.moc"
diff --git a/src/plugins/mediaservices/gstreamer/qgstreamerbushelper.h b/src/plugins/mediaservices/gstreamer/qgstreamerbushelper.h
deleted file mode 100644
index 8600015955..0000000000
--- a/src/plugins/mediaservices/gstreamer/qgstreamerbushelper.h
+++ /dev/null
@@ -1,87 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the plugins of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QGSTREAMERBUSHELPER_H
-#define QGSTREAMERBUSHELPER_H
-
-#include <QObject>
-
-#include <qgstreamermessage.h>
-#include <gst/gst.h>
-
-
-QT_BEGIN_HEADER
-
-QT_BEGIN_NAMESPACE
-
-class QGstreamerSyncEventFilter {
-public:
- //returns true if message was processed and should be dropped, false otherwise
- virtual bool processSyncMessage(const QGstreamerMessage &message) = 0;
-};
-
-class QGstreamerBusHelperPrivate;
-
-class QGstreamerBusHelper : public QObject
-{
- Q_OBJECT
- friend class QGstreamerBusHelperPrivate;
-
-public:
- QGstreamerBusHelper(GstBus* bus, QObject* parent = 0);
- ~QGstreamerBusHelper();
-
- void installSyncEventFilter(QGstreamerSyncEventFilter *filter);
-
-signals:
- void message(QGstreamerMessage const& message);
-
-
-private:
- QGstreamerBusHelperPrivate* d;
-};
-
-
-QT_END_NAMESPACE
-
-QT_END_HEADER
-
-#endif
diff --git a/src/plugins/mediaservices/gstreamer/qgstreamermessage.cpp b/src/plugins/mediaservices/gstreamer/qgstreamermessage.cpp
deleted file mode 100644
index d52aa750a9..0000000000
--- a/src/plugins/mediaservices/gstreamer/qgstreamermessage.cpp
+++ /dev/null
@@ -1,97 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the plugins of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include <gst/gst.h>
-
-#include "qgstreamermessage.h"
-
-
-QT_BEGIN_NAMESPACE
-
-static int wuchi = qRegisterMetaType<QGstreamerMessage>();
-
-
-/*!
- \class QGstreamerMessage
- \internal
-*/
-
-QGstreamerMessage::QGstreamerMessage():
- m_message(0)
-{
-}
-
-QGstreamerMessage::QGstreamerMessage(GstMessage* message):
- m_message(message)
-{
- gst_message_ref(m_message);
-}
-
-QGstreamerMessage::QGstreamerMessage(QGstreamerMessage const& m):
- m_message(m.m_message)
-{
- gst_message_ref(m_message);
-}
-
-
-QGstreamerMessage::~QGstreamerMessage()
-{
- if (m_message != 0)
- gst_message_unref(m_message);
-}
-
-GstMessage* QGstreamerMessage::rawMessage() const
-{
- return m_message;
-}
-
-QGstreamerMessage& QGstreamerMessage::operator=(QGstreamerMessage const& rhs)
-{
- if (m_message != 0)
- gst_message_unref(m_message);
-
- if ((m_message = rhs.m_message) != 0)
- gst_message_ref(m_message);
-
- return *this;
-}
-
-QT_END_NAMESPACE
diff --git a/src/plugins/mediaservices/gstreamer/qgstreamermessage.h b/src/plugins/mediaservices/gstreamer/qgstreamermessage.h
deleted file mode 100644
index 4680903bc2..0000000000
--- a/src/plugins/mediaservices/gstreamer/qgstreamermessage.h
+++ /dev/null
@@ -1,76 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the plugins of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QGSTREAMERMESSAGE_H
-#define QGSTREAMERMESSAGE_H
-
-#include <QMetaType>
-
-#include <gst/gst.h>
-
-
-QT_BEGIN_HEADER
-
-QT_BEGIN_NAMESPACE
-
-class QGstreamerMessage
-{
-public:
- QGstreamerMessage();
- QGstreamerMessage(GstMessage* message);
- QGstreamerMessage(QGstreamerMessage const& m);
- ~QGstreamerMessage();
-
- GstMessage* rawMessage() const;
-
- QGstreamerMessage& operator=(QGstreamerMessage const& rhs);
-
-private:
- GstMessage* m_message;
-};
-
-QT_END_NAMESPACE
-
-Q_DECLARE_METATYPE(QGstreamerMessage);
-
-QT_END_HEADER
-
-#endif
diff --git a/src/plugins/mediaservices/gstreamer/qgstreamerserviceplugin.cpp b/src/plugins/mediaservices/gstreamer/qgstreamerserviceplugin.cpp
deleted file mode 100644
index 0ca7d54e40..0000000000
--- a/src/plugins/mediaservices/gstreamer/qgstreamerserviceplugin.cpp
+++ /dev/null
@@ -1,192 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the plugins of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include <QtCore/qstring.h>
-#include <QtCore/qdebug.h>
-#include <QtGui/QIcon>
-#include <QtCore/QDir>
-
-#include "qgstreamerserviceplugin.h"
-
-#ifdef QMEDIA_GSTREAMER_PLAYER
-#include "qgstreamerplayerservice.h"
-#endif
-#ifdef QMEDIA_GSTREAMER_CAPTURE
-#include "qgstreamercaptureservice.h"
-#endif
-#include <QtMediaServices/qmediaserviceprovider.h>
-
-#ifdef QMEDIA_GSTREAMER_CAPTURE
-#include <linux/types.h>
-#include <sys/time.h>
-#include <sys/ioctl.h>
-#include <sys/poll.h>
-#include <unistd.h>
-#include <fcntl.h>
-#include <errno.h>
-#include <string.h>
-#include <stdlib.h>
-#include <sys/mman.h>
-#include <linux/videodev2.h>
-#endif
-
-
-QT_BEGIN_NAMESPACE
-
-
-QStringList QGstreamerServicePlugin::keys() const
-{
- return QStringList()
-#ifdef QMEDIA_GSTREAMER_PLAYER
- << QLatin1String(Q_MEDIASERVICE_MEDIAPLAYER)
-#endif
-#ifdef QMEDIA_GSTREAMER_CAPTURE
- << QLatin1String(Q_MEDIASERVICE_AUDIOSOURCE)
- << QLatin1String(Q_MEDIASERVICE_CAMERA)
-#endif
- ;
-}
-
-QMediaService* QGstreamerServicePlugin::create(const QString &key)
-{
-#ifdef QMEDIA_GSTREAMER_PLAYER
- if (key == QLatin1String(Q_MEDIASERVICE_MEDIAPLAYER))
- return new QGstreamerPlayerService;
-#endif
-#ifdef QMEDIA_GSTREAMER_CAPTURE
- if (key == QLatin1String(Q_MEDIASERVICE_AUDIOSOURCE))
- return new QGstreamerCaptureService(key);
-
- if (key == QLatin1String(Q_MEDIASERVICE_CAMERA))
- return new QGstreamerCaptureService(key);
-#endif
-
- qWarning() << "GStreamer service plugin: unsupported service -" << key;
- return 0;
-}
-
-void QGstreamerServicePlugin::release(QMediaService *service)
-{
- delete service;
-}
-
-QList<QByteArray> QGstreamerServicePlugin::devices(const QByteArray &service) const
-{
-#ifdef QMEDIA_GSTREAMER_CAPTURE
- if (service == Q_MEDIASERVICE_CAMERA) {
- if (m_cameraDevices.isEmpty())
- updateDevices();
-
- return m_cameraDevices;
- }
-#endif
-
- return QList<QByteArray>();
-}
-
-QString QGstreamerServicePlugin::deviceDescription(const QByteArray &service, const QByteArray &device)
-{
-#ifdef QMEDIA_GSTREAMER_CAPTURE
- if (service == Q_MEDIASERVICE_CAMERA) {
- if (m_cameraDevices.isEmpty())
- updateDevices();
-
- for (int i=0; i<m_cameraDevices.count(); i++)
- if (m_cameraDevices[i] == device)
- return m_cameraDescriptions[i];
- }
-#endif
-
- return QString();
-}
-
-void QGstreamerServicePlugin::updateDevices() const
-{
-#ifdef QMEDIA_GSTREAMER_CAPTURE
- m_cameraDevices.clear();
- m_cameraDescriptions.clear();
-
- QDir devDir("/dev");
- devDir.setFilter(QDir::System);
-
- QFileInfoList entries = devDir.entryInfoList(QStringList() << "video*");
-
- foreach( const QFileInfo &entryInfo, entries ) {
-// qDebug() << "Try" << entryInfo.filePath();
-
- int fd = ::open(entryInfo.filePath().toLatin1().constData(), O_RDWR );
- if (fd == -1)
- continue;
-
- bool isCamera = false;
-
- v4l2_input input;
- memset(&input, 0, sizeof(input));
- for (; ::ioctl(fd, VIDIOC_ENUMINPUT, &input) >= 0; ++input.index) {
- if(input.type == V4L2_INPUT_TYPE_CAMERA || input.type == 0) {
- isCamera = ::ioctl(fd, VIDIOC_S_INPUT, input.index) != 0;
- break;
- }
- }
-
- if (isCamera) {
- // find out its driver "name"
- QString name;
- struct v4l2_capability vcap;
- memset(&vcap, 0, sizeof(struct v4l2_capability));
-
- if (ioctl(fd, VIDIOC_QUERYCAP, &vcap) != 0)
- name = entryInfo.fileName();
- else
- name = QString((const char*)vcap.card);
-// qDebug() << "found camera: " << name;
-
- m_cameraDevices.append(entryInfo.filePath().toLocal8Bit());
- m_cameraDescriptions.append(name);
- }
- ::close(fd);
- }
-#endif
-}
-
-Q_EXPORT_PLUGIN2(gstengine, QGstreamerServicePlugin);
-
-QT_END_NAMESPACE
diff --git a/src/plugins/mediaservices/gstreamer/qgstreamerserviceplugin.h b/src/plugins/mediaservices/gstreamer/qgstreamerserviceplugin.h
deleted file mode 100644
index e0a5dfd10b..0000000000
--- a/src/plugins/mediaservices/gstreamer/qgstreamerserviceplugin.h
+++ /dev/null
@@ -1,76 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the plugins of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-
-#ifndef QGSTREAMERSERVICEPLUGIN_H
-#define QGSTREAMERSERVICEPLUGIN_H
-
-#include <QtMediaServices/qmediaserviceproviderplugin.h>
-
-
-QT_BEGIN_HEADER
-
-QT_BEGIN_NAMESPACE
-
-class QGstreamerServicePlugin : public QMediaServiceProviderPlugin, public QMediaServiceSupportedDevicesInterface
-{
- Q_OBJECT
- Q_INTERFACES(QMediaServiceSupportedDevicesInterface)
-public:
- QStringList keys() const;
- QMediaService* create(QString const& key);
- void release(QMediaService *service);
-
- QList<QByteArray> devices(const QByteArray &service) const;
- QString deviceDescription(const QByteArray &service, const QByteArray &device);
-
-private:
- void updateDevices() const;
-
- mutable QList<QByteArray> m_cameraDevices;
- mutable QStringList m_cameraDescriptions;
-};
-
-QT_END_NAMESPACE
-
-QT_END_HEADER
-
-#endif // QGSTREAMERSERVICEPLUGIN_H
diff --git a/src/plugins/mediaservices/gstreamer/qgstreamervideoinputdevicecontrol.cpp b/src/plugins/mediaservices/gstreamer/qgstreamervideoinputdevicecontrol.cpp
deleted file mode 100644
index 4ecf10b16a..0000000000
--- a/src/plugins/mediaservices/gstreamer/qgstreamervideoinputdevicecontrol.cpp
+++ /dev/null
@@ -1,165 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the plugins of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "qgstreamervideoinputdevicecontrol.h"
-
-#include <QtGui/QIcon>
-#include <QtCore/QDir>
-#include <QtCore/QDebug>
-
-#include <linux/types.h>
-#include <sys/time.h>
-#include <sys/ioctl.h>
-#include <sys/poll.h>
-#include <unistd.h>
-#include <fcntl.h>
-#include <errno.h>
-#include <string.h>
-#include <stdlib.h>
-#include <sys/mman.h>
-#include <linux/videodev2.h>
-
-
-QT_BEGIN_NAMESPACE
-
-QGstreamerVideoInputDeviceControl::QGstreamerVideoInputDeviceControl(QObject *parent)
- :QVideoDeviceControl(parent), m_selectedDevice(0)
-{
- update();
-}
-
-QGstreamerVideoInputDeviceControl::~QGstreamerVideoInputDeviceControl()
-{
-}
-
-int QGstreamerVideoInputDeviceControl::deviceCount() const
-{
- return m_names.size();
-}
-
-QString QGstreamerVideoInputDeviceControl::deviceName(int index) const
-{
- return m_names[index];
-}
-
-QString QGstreamerVideoInputDeviceControl::deviceDescription(int index) const
-{
- return m_descriptions[index];
-}
-
-QIcon QGstreamerVideoInputDeviceControl::deviceIcon(int index) const
-{
- Q_UNUSED(index);
- return QIcon();
-}
-
-int QGstreamerVideoInputDeviceControl::defaultDevice() const
-{
- return 0;
-}
-
-int QGstreamerVideoInputDeviceControl::selectedDevice() const
-{
- return m_selectedDevice;
-}
-
-
-void QGstreamerVideoInputDeviceControl::setSelectedDevice(int index)
-{
- if (index != m_selectedDevice) {
- m_selectedDevice = index;
- emit selectedDeviceChanged(index);
- emit selectedDeviceChanged(deviceName(index));
- }
-}
-
-
-void QGstreamerVideoInputDeviceControl::update()
-{
- m_names.clear();
- m_descriptions.clear();
-
-#ifdef QMEDIA_GSTREAMER_CAPTURE
- QDir devDir("/dev");
- devDir.setFilter(QDir::System);
-
- QFileInfoList entries = devDir.entryInfoList(QStringList() << "video*");
-
- foreach( const QFileInfo &entryInfo, entries ) {
-// qDebug() << "Try" << entryInfo.filePath();
-
- int fd = ::open(entryInfo.filePath().toLatin1().constData(), O_RDWR );
- if (fd == -1)
- continue;
-
- bool isCamera = false;
-
- v4l2_input input;
- memset(&input, 0, sizeof(input));
- for (; ::ioctl(fd, VIDIOC_ENUMINPUT, &input) >= 0; ++input.index) {
- if(input.type == V4L2_INPUT_TYPE_CAMERA || input.type == 0) {
- isCamera = ::ioctl(fd, VIDIOC_S_INPUT, input.index) != 0;
- break;
- }
- }
-
- if (isCamera) {
- // find out its driver "name"
- QString name;
- struct v4l2_capability vcap;
- memset(&vcap, 0, sizeof(struct v4l2_capability));
-
- if (ioctl(fd, VIDIOC_QUERYCAP, &vcap) != 0)
- name = entryInfo.fileName();
- else
- name = QString((const char*)vcap.card);
-// qDebug() << "found camera: " << name;
-
- m_names.append(entryInfo.filePath());
- m_descriptions.append(name);
- }
- ::close(fd);
- }
-#endif
-}
-
-QT_END_NAMESPACE
-
diff --git a/src/plugins/mediaservices/gstreamer/qgstreamervideoinputdevicecontrol.h b/src/plugins/mediaservices/gstreamer/qgstreamervideoinputdevicecontrol.h
deleted file mode 100644
index 7994f9cdeb..0000000000
--- a/src/plugins/mediaservices/gstreamer/qgstreamervideoinputdevicecontrol.h
+++ /dev/null
@@ -1,85 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the plugins of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QGSTREAMERVIDEOINPUTDEVICECONTROL_H
-#define QGSTREAMERVIDEOINPUTDEVICECONTROL_H
-
-#include <QtMediaServices/qvideodevicecontrol.h>
-#include <QtCore/qstringlist.h>
-
-
-QT_BEGIN_HEADER
-
-QT_BEGIN_NAMESPACE
-
-
-class QGstreamerVideoInputDeviceControl : public QVideoDeviceControl
-{
-Q_OBJECT
-public:
- QGstreamerVideoInputDeviceControl(QObject *parent);
- ~QGstreamerVideoInputDeviceControl();
-
- int deviceCount() const;
-
- QString deviceName(int index) const;
- QString deviceDescription(int index) const;
- QIcon deviceIcon(int index) const;
-
- int defaultDevice() const;
- int selectedDevice() const;
-
-public Q_SLOTS:
- void setSelectedDevice(int index);
-
-private:
- void update();
-
- int m_selectedDevice;
- QStringList m_names;
- QStringList m_descriptions;
-};
-
-QT_END_NAMESPACE
-
-QT_END_HEADER
-
-#endif // QGSTREAMERAUDIOINPUTDEVICECONTROL_H
diff --git a/src/plugins/mediaservices/gstreamer/qgstreamervideooutputcontrol.cpp b/src/plugins/mediaservices/gstreamer/qgstreamervideooutputcontrol.cpp
deleted file mode 100644
index f406bff60c..0000000000
--- a/src/plugins/mediaservices/gstreamer/qgstreamervideooutputcontrol.cpp
+++ /dev/null
@@ -1,77 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the plugins of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "qgstreamervideooutputcontrol.h"
-
-QT_BEGIN_NAMESPACE
-
-QGstreamerVideoOutputControl::QGstreamerVideoOutputControl(QObject *parent)
- : QVideoOutputControl(parent)
- , m_output(NoOutput)
-{
-}
-
-QList<QVideoOutputControl::Output> QGstreamerVideoOutputControl::availableOutputs() const
-{
- return m_outputs;
-}
-
-void QGstreamerVideoOutputControl::setAvailableOutputs(const QList<Output> &outputs)
-{
- emit availableOutputsChanged(m_outputs = outputs);
-}
-
-QVideoOutputControl::Output QGstreamerVideoOutputControl::output() const
-{
- return m_output;
-}
-
-void QGstreamerVideoOutputControl::setOutput(Output output)
-{
- if (!m_outputs.contains(output))
- output = NoOutput;
-
- if (m_output != output)
- emit outputChanged(m_output = output);
-}
-
-QT_END_NAMESPACE
-
diff --git a/src/plugins/mediaservices/gstreamer/qgstreamervideooutputcontrol.h b/src/plugins/mediaservices/gstreamer/qgstreamervideooutputcontrol.h
deleted file mode 100644
index 6d7d47fc03..0000000000
--- a/src/plugins/mediaservices/gstreamer/qgstreamervideooutputcontrol.h
+++ /dev/null
@@ -1,86 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the plugins of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QGSTREAMERVIDEOOUTPUTCONTROL_H
-#define QGSTREAMERVIDEOOUTPUTCONTROL_H
-
-#include <QtMediaServices/qvideooutputcontrol.h>
-
-#include <gst/gst.h>
-
-
-QT_BEGIN_HEADER
-
-QT_BEGIN_NAMESPACE
-
-class QGstreamerVideoRendererInterface
-{
-public:
- virtual ~QGstreamerVideoRendererInterface();
- virtual GstElement *videoSink() = 0;
- virtual void precessNewStream() {}
-};
-
-class QGstreamerVideoOutputControl : public QVideoOutputControl
-{
- Q_OBJECT
-public:
- QGstreamerVideoOutputControl(QObject *parent = 0);
-
- QList<Output> availableOutputs() const;
- void setAvailableOutputs(const QList<Output> &outputs);
-
- Output output() const;
- void setOutput(Output output);
-
-Q_SIGNALS:
- void outputChanged(QVideoOutputControl::Output output);
-
-private:
- QList<Output> m_outputs;
- Output m_output;
-};
-
-QT_END_NAMESPACE
-
-QT_END_HEADER
-
-#endif
diff --git a/src/plugins/mediaservices/gstreamer/qgstreamervideooverlay.cpp b/src/plugins/mediaservices/gstreamer/qgstreamervideooverlay.cpp
deleted file mode 100644
index f381f7fd78..0000000000
--- a/src/plugins/mediaservices/gstreamer/qgstreamervideooverlay.cpp
+++ /dev/null
@@ -1,230 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the plugins of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "qgstreamervideooverlay.h"
-#include "qvideosurfacegstsink.h"
-
-#include <QtMultimedia/qvideosurfaceformat.h>
-
-#include "qx11videosurface.h"
-
-QT_BEGIN_NAMESPACE
-
-QGstreamerVideoOverlay::QGstreamerVideoOverlay(QObject *parent)
- : QVideoWindowControl(parent)
- , m_surface(new QX11VideoSurface)
- , m_videoSink(reinterpret_cast<GstElement*>(QVideoSurfaceGstSink::createSink(m_surface)))
- , m_aspectRatioMode(Qt::KeepAspectRatio)
- , m_fullScreen(false)
-{
- if (m_videoSink) {
- gst_object_ref(GST_OBJECT(m_videoSink)); //Take ownership
- gst_object_sink(GST_OBJECT(m_videoSink));
- }
-
- connect(m_surface, SIGNAL(surfaceFormatChanged(QVideoSurfaceFormat)),
- this, SLOT(surfaceFormatChanged()));
-}
-
-QGstreamerVideoOverlay::~QGstreamerVideoOverlay()
-{
- if (m_videoSink)
- gst_object_unref(GST_OBJECT(m_videoSink));
-
- delete m_surface;
-}
-
-WId QGstreamerVideoOverlay::winId() const
-{
- return m_surface->winId();
-}
-
-void QGstreamerVideoOverlay::setWinId(WId id)
-{
- m_surface->setWinId(id);
-}
-
-QRect QGstreamerVideoOverlay::displayRect() const
-{
- return m_displayRect;
-}
-
-void QGstreamerVideoOverlay::setDisplayRect(const QRect &rect)
-{
- m_displayRect = rect;
-
- setScaledDisplayRect();
-}
-
-Qt::AspectRatioMode QGstreamerVideoOverlay::aspectRatioMode() const
-{
- return m_aspectRatioMode;
-}
-
-void QGstreamerVideoOverlay::setAspectRatioMode(Qt::AspectRatioMode mode)
-{
- m_aspectRatioMode = mode;
-
- setScaledDisplayRect();
-}
-
-void QGstreamerVideoOverlay::repaint()
-{
-}
-
-int QGstreamerVideoOverlay::brightness() const
-{
- return m_surface->brightness();
-}
-
-void QGstreamerVideoOverlay::setBrightness(int brightness)
-{
- m_surface->setBrightness(brightness);
-
- emit brightnessChanged(m_surface->brightness());
-}
-
-int QGstreamerVideoOverlay::contrast() const
-{
- return m_surface->contrast();
-}
-
-void QGstreamerVideoOverlay::setContrast(int contrast)
-{
- m_surface->setContrast(contrast);
-
- emit contrastChanged(m_surface->contrast());
-}
-
-int QGstreamerVideoOverlay::hue() const
-{
- return m_surface->hue();
-}
-
-void QGstreamerVideoOverlay::setHue(int hue)
-{
- m_surface->setHue(hue);
-
- emit hueChanged(m_surface->hue());
-}
-
-int QGstreamerVideoOverlay::saturation() const
-{
- return m_surface->saturation();
-}
-
-void QGstreamerVideoOverlay::setSaturation(int saturation)
-{
- m_surface->setSaturation(saturation);
-
- emit saturationChanged(m_surface->saturation());
-}
-
-bool QGstreamerVideoOverlay::isFullScreen() const
-{
- return m_fullScreen;
-}
-
-void QGstreamerVideoOverlay::setFullScreen(bool fullScreen)
-{
- emit fullScreenChanged(m_fullScreen = fullScreen);
-}
-
-QSize QGstreamerVideoOverlay::nativeSize() const
-{
- return m_surface->surfaceFormat().sizeHint();
-}
-
-QAbstractVideoSurface *QGstreamerVideoOverlay::surface() const
-{
- return m_surface;
-}
-
-GstElement *QGstreamerVideoOverlay::videoSink()
-{
- return m_videoSink;
-}
-
-void QGstreamerVideoOverlay::surfaceFormatChanged()
-{
- setScaledDisplayRect();
-
- emit nativeSizeChanged();
-}
-
-void QGstreamerVideoOverlay::setScaledDisplayRect()
-{
- QRect formatViewport = m_surface->surfaceFormat().viewport();
-
- switch (m_aspectRatioMode) {
- case Qt::KeepAspectRatio:
- {
- QSize size = m_surface->surfaceFormat().sizeHint();
- size.scale(m_displayRect.size(), Qt::KeepAspectRatio);
-
- QRect rect(QPoint(0, 0), size);
- rect.moveCenter(m_displayRect.center());
-
- m_surface->setDisplayRect(rect);
- m_surface->setViewport(formatViewport);
- }
- break;
- case Qt::IgnoreAspectRatio:
- m_surface->setDisplayRect(m_displayRect);
- m_surface->setViewport(formatViewport);
- break;
- case Qt::KeepAspectRatioByExpanding:
- {
- QSize size = m_displayRect.size();
- size.scale(m_surface->surfaceFormat().sizeHint(), Qt::KeepAspectRatio);
-
- QRect viewport(QPoint(0, 0), size);
- viewport.moveCenter(formatViewport.center());
-
- m_surface->setDisplayRect(m_displayRect);
- m_surface->setViewport(viewport);
- }
- break;
- };
-}
-
-QT_END_NAMESPACE
-
diff --git a/src/plugins/mediaservices/gstreamer/qgstreamervideooverlay.h b/src/plugins/mediaservices/gstreamer/qgstreamervideooverlay.h
deleted file mode 100644
index f44c25b0a9..0000000000
--- a/src/plugins/mediaservices/gstreamer/qgstreamervideooverlay.h
+++ /dev/null
@@ -1,114 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the plugins of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QGSTREAMERVIDEOOVERLAY_H
-#define QGSTREAMERVIDEOOVERLAY_H
-
-#include <QtMediaServices/qvideowindowcontrol.h>
-
-#include "qgstreamervideorendererinterface.h"
-
-
-QT_BEGIN_HEADER
-
-QT_BEGIN_NAMESPACE
-
-class QAbstractVideoSurface;
-class QX11VideoSurface;
-
-class QGstreamerVideoOverlay : public QVideoWindowControl, public QGstreamerVideoRendererInterface
-{
- Q_OBJECT
- Q_INTERFACES(QGstreamerVideoRendererInterface)
-public:
- QGstreamerVideoOverlay(QObject *parent = 0);
- ~QGstreamerVideoOverlay();
-
- WId winId() const;
- void setWinId(WId id);
-
- QRect displayRect() const;
- void setDisplayRect(const QRect &rect);
-
- bool isFullScreen() const;
- void setFullScreen(bool fullScreen);
-
- QSize nativeSize() const;
-
- Qt::AspectRatioMode aspectRatioMode() const;
- void setAspectRatioMode(Qt::AspectRatioMode mode);
-
- void repaint();
-
- int brightness() const;
- void setBrightness(int brightness);
-
- int contrast() const;
- void setContrast(int contrast);
-
- int hue() const;
- void setHue(int hue);
-
- int saturation() const;
- void setSaturation(int saturation);
-
- QAbstractVideoSurface *surface() const;
-
- GstElement *videoSink();
-
-private slots:
- void surfaceFormatChanged();
-
-private:
- void setScaledDisplayRect();
-
- QX11VideoSurface *m_surface;
- GstElement *m_videoSink;
- Qt::AspectRatioMode m_aspectRatioMode;
- QRect m_displayRect;
- bool m_fullScreen;
-};
-
-QT_END_NAMESPACE
-
-QT_END_HEADER
-
-#endif
diff --git a/src/plugins/mediaservices/gstreamer/qgstreamervideorenderer.cpp b/src/plugins/mediaservices/gstreamer/qgstreamervideorenderer.cpp
deleted file mode 100644
index 1f0399025c..0000000000
--- a/src/plugins/mediaservices/gstreamer/qgstreamervideorenderer.cpp
+++ /dev/null
@@ -1,88 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the plugins of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "qgstreamervideorenderer.h"
-#include "qvideosurfacegstsink.h"
-
-#include <QEvent>
-#include <QApplication>
-
-#include <gst/gst.h>
-
-
-QT_BEGIN_NAMESPACE
-
-QGstreamerVideoRenderer::QGstreamerVideoRenderer(QObject *parent)
- :QVideoRendererControl(parent),m_videoSink(0)
-{
-}
-
-QGstreamerVideoRenderer::~QGstreamerVideoRenderer()
-{
- if (m_videoSink)
- gst_object_unref(GST_OBJECT(m_videoSink));
-}
-
-GstElement *QGstreamerVideoRenderer::videoSink()
-{
- if (!m_videoSink) {
- m_videoSink = reinterpret_cast<GstElement*>(QVideoSurfaceGstSink::createSink(m_surface));
- gst_object_ref(GST_OBJECT(m_videoSink)); //Take ownership
- gst_object_sink(GST_OBJECT(m_videoSink));
- }
-
- return m_videoSink;
-}
-
-
-QAbstractVideoSurface *QGstreamerVideoRenderer::surface() const
-{
- return m_surface;
-}
-
-void QGstreamerVideoRenderer::setSurface(QAbstractVideoSurface *surface)
-{
- m_surface = surface;
-}
-
-QT_END_NAMESPACE
-
-
diff --git a/src/plugins/mediaservices/gstreamer/qgstreamervideorenderer.h b/src/plugins/mediaservices/gstreamer/qgstreamervideorenderer.h
deleted file mode 100644
index 0fbbd63c0b..0000000000
--- a/src/plugins/mediaservices/gstreamer/qgstreamervideorenderer.h
+++ /dev/null
@@ -1,78 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the plugins of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QGSTREAMERVIDEORENDERER_H
-#define QGSTREAMERVIDEORENDERER_H
-
-#include <QtMediaServices/qvideorenderercontrol.h>
-#include "qvideosurfacegstsink.h"
-
-#include "qgstreamervideorendererinterface.h"
-
-
-QT_BEGIN_HEADER
-
-QT_BEGIN_NAMESPACE
-
-class QGstreamerVideoRenderer : public QVideoRendererControl, public QGstreamerVideoRendererInterface
-{
- Q_OBJECT
- Q_INTERFACES(QGstreamerVideoRendererInterface)
-public:
- QGstreamerVideoRenderer(QObject *parent = 0);
- virtual ~QGstreamerVideoRenderer();
-
- QAbstractVideoSurface *surface() const;
- void setSurface(QAbstractVideoSurface *surface);
-
- GstElement *videoSink();
- void precessNewStream() {}
-
-private:
- GstElement *m_videoSink;
- QAbstractVideoSurface *m_surface;
-};
-
-QT_END_NAMESPACE
-
-QT_END_HEADER
-
-#endif // QGSTREAMERVIDEORENDRER_H
diff --git a/src/plugins/mediaservices/gstreamer/qgstreamervideorendererinterface.cpp b/src/plugins/mediaservices/gstreamer/qgstreamervideorendererinterface.cpp
deleted file mode 100644
index 886a0644ef..0000000000
--- a/src/plugins/mediaservices/gstreamer/qgstreamervideorendererinterface.cpp
+++ /dev/null
@@ -1,52 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the plugins of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "qgstreamervideorendererinterface.h"
-
-
-QT_BEGIN_NAMESPACE
-
-QGstreamerVideoRendererInterface::~QGstreamerVideoRendererInterface()
-{
-}
-
-QT_END_NAMESPACE
-
diff --git a/src/plugins/mediaservices/gstreamer/qgstreamervideorendererinterface.h b/src/plugins/mediaservices/gstreamer/qgstreamervideorendererinterface.h
deleted file mode 100644
index c63a75708b..0000000000
--- a/src/plugins/mediaservices/gstreamer/qgstreamervideorendererinterface.h
+++ /dev/null
@@ -1,69 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the plugins of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QGSTREAMERVIDEOOUTPUTCONTROL_H
-#define QGSTREAMERVIDEOOUTPUTCONTROL_H
-
-#include <gst/gst.h>
-
-#include <QtCore/qobject.h>
-
-
-QT_BEGIN_HEADER
-
-QT_BEGIN_NAMESPACE
-
-class QGstreamerVideoRendererInterface
-{
-public:
- virtual ~QGstreamerVideoRendererInterface();
- virtual GstElement *videoSink() = 0;
- virtual void precessNewStream() {}
-};
-
-#define QGstreamerVideoRendererInterface_iid "com.nokia.Qt.QGstreamerVideoRendererInterface/1.0"
-Q_DECLARE_INTERFACE(QGstreamerVideoRendererInterface, QGstreamerVideoRendererInterface_iid)
-
-QT_END_NAMESPACE
-
-QT_END_HEADER
-
-#endif
diff --git a/src/plugins/mediaservices/gstreamer/qgstreamervideowidget.cpp b/src/plugins/mediaservices/gstreamer/qgstreamervideowidget.cpp
deleted file mode 100644
index 763f7f1ea0..0000000000
--- a/src/plugins/mediaservices/gstreamer/qgstreamervideowidget.cpp
+++ /dev/null
@@ -1,340 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the plugins of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "qgstreamervideowidget.h"
-
-#include <QtCore/qcoreevent.h>
-#include <QtCore/qdebug.h>
-#include <QtGui/qapplication.h>
-#include <QtGui/qpainter.h>
-
-#include <X11/Xlib.h>
-#include <gst/gst.h>
-#include <gst/interfaces/xoverlay.h>
-#include <gst/interfaces/propertyprobe.h>
-
-
-QT_BEGIN_NAMESPACE
-
-class QGstreamerVideoWidget : public QWidget
-{
-public:
- QGstreamerVideoWidget(QWidget *parent = 0)
- :QWidget(parent)
- {
- setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding);
- QPalette palette;
- palette.setColor(QPalette::Background, Qt::black);
- setPalette(palette);
- }
-
- virtual ~QGstreamerVideoWidget() {}
-
- QSize sizeHint() const
- {
- return m_nativeSize;
- }
-
- void setNativeSize( const QSize &size)
- {
- if (size != m_nativeSize) {
- m_nativeSize = size;
- if (size.isEmpty())
- setMinimumSize(0,0);
- else
- setMinimumSize(160,120);
-
- updateGeometry();
- }
- }
-
-protected:
- void paintEvent(QPaintEvent *)
- {
- QPainter painter(this);
- painter.fillRect(rect(), palette().background());
- }
-
- QSize m_nativeSize;
-};
-
-QGstreamerVideoWidgetControl::QGstreamerVideoWidgetControl(QObject *parent)
- : QVideoWidgetControl(parent)
- , m_videoSink(0)
- , m_widget(0)
- , m_fullScreen(false)
-{
-}
-
-QGstreamerVideoWidgetControl::~QGstreamerVideoWidgetControl()
-{
- if (m_videoSink)
- gst_object_unref(GST_OBJECT(m_videoSink));
-
- delete m_widget;
-}
-
-void QGstreamerVideoWidgetControl::createVideoWidget()
-{
- if (m_widget)
- return;
-
- m_widget = new QGstreamerVideoWidget;
-
- m_widget->installEventFilter(this);
- m_windowId = m_widget->winId();
-
- m_videoSink = gst_element_factory_make ("xvimagesink", NULL);
- if (m_videoSink) {
- // Check if the xv sink is usable
- if (gst_element_set_state(m_videoSink, GST_STATE_READY) != GST_STATE_CHANGE_SUCCESS) {
- gst_object_unref(GST_OBJECT(m_videoSink));
- m_videoSink = 0;
- } else {
- gst_element_set_state(m_videoSink, GST_STATE_NULL);
-
- g_object_set(G_OBJECT(m_videoSink), "force-aspect-ratio", 1, (const char*)NULL);
- }
- }
-
- if (!m_videoSink)
- m_videoSink = gst_element_factory_make ("ximagesink", NULL);
-
- gst_object_ref (GST_OBJECT (m_videoSink)); //Take ownership
- gst_object_sink (GST_OBJECT (m_videoSink));
-}
-
-GstElement *QGstreamerVideoWidgetControl::videoSink()
-{
- createVideoWidget();
- return m_videoSink;
-}
-
-bool QGstreamerVideoWidgetControl::eventFilter(QObject *object, QEvent *e)
-{
- if (m_widget && object == m_widget) {
- if (e->type() == QEvent::ParentChange || e->type() == QEvent::Show) {
- WId newWId = m_widget->winId();
- if (newWId != m_windowId) {
- m_windowId = newWId;
- // Even if we have created a winId at this point, other X applications
- // need to be aware of it.
- QApplication::syncX();
- setOverlay();
- }
- }
-
- if (e->type() == QEvent::Show) {
- // Setting these values ensures smooth resizing since it
- // will prevent the system from clearing the background
- m_widget->setAttribute(Qt::WA_NoSystemBackground, true);
- m_widget->setAttribute(Qt::WA_PaintOnScreen, true);
- } else if (e->type() == QEvent::Resize) {
- // This is a workaround for missing background repaints
- // when reducing window size
- windowExposed();
- }
- }
-
- return false;
-}
-
-void QGstreamerVideoWidgetControl::precessNewStream()
-{
- setOverlay();
- QMetaObject::invokeMethod(this, "updateNativeVideoSize", Qt::QueuedConnection);
-}
-
-void QGstreamerVideoWidgetControl::setOverlay()
-{
- if (m_videoSink && GST_IS_X_OVERLAY(m_videoSink)) {
- gst_x_overlay_set_xwindow_id(GST_X_OVERLAY(m_videoSink), m_windowId);
- }
-}
-
-void QGstreamerVideoWidgetControl::updateNativeVideoSize()
-{
- if (m_videoSink) {
- //find video native size to update video widget size hint
- GstPad *pad = gst_element_get_static_pad(m_videoSink,"sink");
- GstCaps *caps = gst_pad_get_negotiated_caps(pad);
-
- if (caps) {
- GstStructure *str;
- gint width, height;
-
- if ((str = gst_caps_get_structure (caps, 0))) {
- if (gst_structure_get_int (str, "width", &width) && gst_structure_get_int (str, "height", &height)) {
- gint aspectNum = 0;
- gint aspectDenum = 0;
- if (gst_structure_get_fraction(str, "pixel-aspect-ratio", &aspectNum, &aspectDenum)) {
- if (aspectDenum > 0)
- width = width*aspectNum/aspectDenum;
- }
- m_widget->setNativeSize(QSize(width, height));
- }
- }
- gst_caps_unref(caps);
- }
- } else {
- if (m_widget)
- m_widget->setNativeSize(QSize());
- }
-}
-
-
-void QGstreamerVideoWidgetControl::windowExposed()
-{
- if (m_videoSink && GST_IS_X_OVERLAY(m_videoSink))
- gst_x_overlay_expose(GST_X_OVERLAY(m_videoSink));
-}
-
-QWidget *QGstreamerVideoWidgetControl::videoWidget()
-{
- createVideoWidget();
- return m_widget;
-}
-
-Qt::AspectRatioMode QGstreamerVideoWidgetControl::aspectRatioMode() const
-{
- return m_aspectRatioMode;
-}
-
-void QGstreamerVideoWidgetControl::setAspectRatioMode(Qt::AspectRatioMode mode)
-{
- if (m_videoSink) {
- g_object_set(G_OBJECT(m_videoSink),
- "force-aspect-ratio",
- (mode == Qt::KeepAspectRatio),
- (const char*)NULL);
- }
-
- m_aspectRatioMode = mode;
-}
-
-bool QGstreamerVideoWidgetControl::isFullScreen() const
-{
- return m_fullScreen;
-}
-
-void QGstreamerVideoWidgetControl::setFullScreen(bool fullScreen)
-{
- emit fullScreenChanged(m_fullScreen = fullScreen);
-}
-
-int QGstreamerVideoWidgetControl::brightness() const
-{
- int brightness = 0;
-
- if (m_videoSink && g_object_class_find_property(G_OBJECT_GET_CLASS(m_videoSink), "brightness"))
- g_object_get(G_OBJECT(m_videoSink), "brightness", &brightness, NULL);
-
- return brightness / 10;
-}
-
-void QGstreamerVideoWidgetControl::setBrightness(int brightness)
-{
- if (m_videoSink && g_object_class_find_property(G_OBJECT_GET_CLASS(m_videoSink), "brightness")) {
- g_object_set(G_OBJECT(m_videoSink), "brightness", brightness * 10, NULL);
-
- emit brightnessChanged(brightness);
- }
-}
-
-int QGstreamerVideoWidgetControl::contrast() const
-{
- int contrast = 0;
-
- if (m_videoSink && g_object_class_find_property(G_OBJECT_GET_CLASS(m_videoSink), "contrast"))
- g_object_get(G_OBJECT(m_videoSink), "contrast", &contrast, NULL);
-
- return contrast / 10;
-}
-
-void QGstreamerVideoWidgetControl::setContrast(int contrast)
-{
- if (m_videoSink && g_object_class_find_property(G_OBJECT_GET_CLASS(m_videoSink), "contrast")) {
- g_object_set(G_OBJECT(m_videoSink), "contrast", contrast * 10, NULL);
-
- emit contrastChanged(contrast);
- }
-}
-
-int QGstreamerVideoWidgetControl::hue() const
-{
- int hue = 0;
-
- if (m_videoSink && g_object_class_find_property(G_OBJECT_GET_CLASS(m_videoSink), "hue"))
- g_object_get(G_OBJECT(m_videoSink), "hue", &hue, NULL);
-
- return hue / 10;
-}
-
-void QGstreamerVideoWidgetControl::setHue(int hue)
-{
- if (m_videoSink && g_object_class_find_property(G_OBJECT_GET_CLASS(m_videoSink), "hue")) {
- g_object_set(G_OBJECT(m_videoSink), "hue", hue * 10, NULL);
-
- emit hueChanged(hue);
- }
-}
-
-int QGstreamerVideoWidgetControl::saturation() const
-{
- int saturation = 0;
-
- if (m_videoSink && g_object_class_find_property(G_OBJECT_GET_CLASS(m_videoSink), "saturation"))
- g_object_get(G_OBJECT(m_videoSink), "saturation", &saturation, NULL);
-
- return saturation / 10;
-}
-
-void QGstreamerVideoWidgetControl::setSaturation(int saturation)
-{
- if (m_videoSink && g_object_class_find_property(G_OBJECT_GET_CLASS(m_videoSink), "saturation")) {
- g_object_set(G_OBJECT(m_videoSink), "saturation", saturation * 10, NULL);
-
- emit saturationChanged(saturation);
- }
-}
-
-QT_END_NAMESPACE
-
diff --git a/src/plugins/mediaservices/gstreamer/qgstreamervideowidget.h b/src/plugins/mediaservices/gstreamer/qgstreamervideowidget.h
deleted file mode 100644
index d54a1fc29b..0000000000
--- a/src/plugins/mediaservices/gstreamer/qgstreamervideowidget.h
+++ /dev/null
@@ -1,110 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the plugins of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QGSTREAMERVIDEOWIDGET_H
-#define QGSTREAMERVIDEOWIDGET_H
-
-#include <QtMediaServices/qvideowidgetcontrol.h>
-
-#include "qgstreamervideorendererinterface.h"
-
-QT_BEGIN_HEADER
-
-QT_BEGIN_NAMESPACE
-
-class QGstreamerVideoWidget;
-
-class QGstreamerVideoWidgetControl
- : public QVideoWidgetControl
- , public QGstreamerVideoRendererInterface
-{
- Q_OBJECT
- Q_INTERFACES(QGstreamerVideoRendererInterface)
-public:
- QGstreamerVideoWidgetControl(QObject *parent = 0);
- virtual ~QGstreamerVideoWidgetControl();
-
- GstElement *videoSink();
- void precessNewStream();
-
- QWidget *videoWidget();
-
- Qt::AspectRatioMode aspectRatioMode() const;
- void setAspectRatioMode(Qt::AspectRatioMode mode);
-
- bool isFullScreen() const;
- void setFullScreen(bool fullScreen);
-
- int brightness() const;
- void setBrightness(int brightness);
-
- int contrast() const;
- void setContrast(int contrast);
-
- int hue() const;
- void setHue(int hue);
-
- int saturation() const;
- void setSaturation(int saturation);
-
- void setOverlay();
-
- bool eventFilter(QObject *object, QEvent *event);
-
-public slots:
- void updateNativeVideoSize();
-
-private:
- void createVideoWidget();
- void windowExposed();
-
- GstElement *m_videoSink;
- QGstreamerVideoWidget *m_widget;
- WId m_windowId;
- Qt::AspectRatioMode m_aspectRatioMode;
- bool m_fullScreen;
-};
-
-QT_END_NAMESPACE
-
-QT_END_HEADER
-
-#endif // QGSTREAMERVIDEOWIDGET_H
diff --git a/src/plugins/mediaservices/gstreamer/qgstvideobuffer.cpp b/src/plugins/mediaservices/gstreamer/qgstvideobuffer.cpp
deleted file mode 100644
index 76289bfc7c..0000000000
--- a/src/plugins/mediaservices/gstreamer/qgstvideobuffer.cpp
+++ /dev/null
@@ -1,101 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the plugins of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "qgstvideobuffer.h"
-
-
-QT_BEGIN_NAMESPACE
-
-QGstVideoBuffer::QGstVideoBuffer(GstBuffer *buffer, int bytesPerLine)
- : QAbstractVideoBuffer(NoHandle)
- , m_buffer(buffer)
- , m_bytesPerLine(bytesPerLine)
- , m_mode(NotMapped)
-{
- gst_buffer_ref(m_buffer);
-}
-
-QGstVideoBuffer::QGstVideoBuffer(GstBuffer *buffer, int bytesPerLine,
- QGstVideoBuffer::HandleType handleType,
- const QVariant &handle)
- : QAbstractVideoBuffer(handleType)
- , m_buffer(buffer)
- , m_bytesPerLine(bytesPerLine)
- , m_mode(NotMapped)
- , m_handle(handle)
-{
- gst_buffer_ref(m_buffer);
-}
-
-QGstVideoBuffer::~QGstVideoBuffer()
-{
- gst_buffer_unref(m_buffer);
-}
-
-
-QAbstractVideoBuffer::MapMode QGstVideoBuffer::mapMode() const
-{
- return m_mode;
-}
-
-uchar *QGstVideoBuffer::map(MapMode mode, int *numBytes, int *bytesPerLine)
-{
- if (mode != NotMapped && m_mode == NotMapped) {
- if (numBytes)
- *numBytes = m_buffer->size;
-
- if (bytesPerLine)
- *bytesPerLine = m_bytesPerLine;
-
- m_mode = mode;
-
- return m_buffer->data;
- } else {
- return 0;
- }
-}
-void QGstVideoBuffer::unmap()
-{
- m_mode = NotMapped;
-}
-
-QT_END_NAMESPACE
-
diff --git a/src/plugins/mediaservices/gstreamer/qgstvideobuffer.h b/src/plugins/mediaservices/gstreamer/qgstvideobuffer.h
deleted file mode 100644
index 5133e2e380..0000000000
--- a/src/plugins/mediaservices/gstreamer/qgstvideobuffer.h
+++ /dev/null
@@ -1,80 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the plugins of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QGSTVIDEOBUFFER_H
-#define QGSTVIDEOBUFFER_H
-
-#include <QtMultimedia/QAbstractVideoBuffer>
-#include <QtCore/qvariant.h>
-
-#include <gst/gst.h>
-
-
-QT_BEGIN_HEADER
-
-QT_BEGIN_NAMESPACE
-
-class QGstVideoBuffer : public QAbstractVideoBuffer
-{
-public:
- QGstVideoBuffer(GstBuffer *buffer, int bytesPerLine);
- QGstVideoBuffer(GstBuffer *buffer, int bytesPerLine,
- HandleType handleType, const QVariant &handle);
- ~QGstVideoBuffer();
-
- MapMode mapMode() const;
-
- uchar *map(MapMode mode, int *numBytes, int *bytesPerLine);
- void unmap();
-
- QVariant handle() const { return m_handle; }
-private:
- GstBuffer *m_buffer;
- int m_bytesPerLine;
- MapMode m_mode;
- QVariant m_handle;
-};
-
-QT_END_NAMESPACE
-
-QT_END_HEADER
-
-#endif
diff --git a/src/plugins/mediaservices/gstreamer/qgstxvimagebuffer.cpp b/src/plugins/mediaservices/gstreamer/qgstxvimagebuffer.cpp
deleted file mode 100644
index b2e633d988..0000000000
--- a/src/plugins/mediaservices/gstreamer/qgstxvimagebuffer.cpp
+++ /dev/null
@@ -1,282 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the plugins of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include <QtCore/qdebug.h>
-#include <QtCore/qthread.h>
-#include <QtCore/qvariant.h>
-#include <QtGui/qx11info_x11.h>
-
-#include "qgstxvimagebuffer.h"
-#include "qvideosurfacegstsink.h"
-
-
-QT_BEGIN_NAMESPACE
-
-GstBufferClass *QGstXvImageBuffer::parent_class = NULL;
-
-GType QGstXvImageBuffer::get_type(void)
-{
- static GType buffer_type = 0;
-
- if (buffer_type == 0) {
- static const GTypeInfo buffer_info = {
- sizeof (GstBufferClass),
- NULL,
- NULL,
- QGstXvImageBuffer::class_init,
- NULL,
- NULL,
- sizeof(QGstXvImageBuffer),
- 0,
- (GInstanceInitFunc)QGstXvImageBuffer::buffer_init,
- NULL
- };
- buffer_type = g_type_register_static(GST_TYPE_BUFFER,
- "QGstXvImageBuffer", &buffer_info, GTypeFlags(0));
- }
- return buffer_type;
-}
-
-void QGstXvImageBuffer::class_init(gpointer g_class, gpointer class_data)
-{
- Q_UNUSED(class_data);
- GST_MINI_OBJECT_CLASS(g_class)->finalize =
- (GstMiniObjectFinalizeFunction)buffer_finalize;
- parent_class = (GstBufferClass*)g_type_class_peek_parent(g_class);
-}
-
-void QGstXvImageBuffer::buffer_init(QGstXvImageBuffer *xvImage, gpointer g_class)
-{
- Q_UNUSED(g_class);
- xvImage->pool = 0;
- xvImage->shmInfo.shmaddr = ((char *) -1);
- xvImage->shmInfo.shmid = -1;
- xvImage->markedForDeletion = false;
-}
-
-void QGstXvImageBuffer::buffer_finalize(QGstXvImageBuffer * xvImage)
-{
- if (xvImage->pool) {
- if (xvImage->markedForDeletion)
- xvImage->pool->destroyBuffer(xvImage);
- else
- xvImage->pool->recycleBuffer(xvImage);
- }
-}
-
-
-QGstXvImageBufferPool::QGstXvImageBufferPool(QObject *parent)
- :QObject(parent)
-{
-}
-
-QGstXvImageBufferPool::~QGstXvImageBufferPool()
-{
-}
-
-bool QGstXvImageBufferPool::isFormatSupported(const QVideoSurfaceFormat &surfaceFormat)
-{
- bool ok = true;
- surfaceFormat.property("portId").toULongLong(&ok);
- if (!ok)
- return false;
-
- int xvFormatId = surfaceFormat.property("xvFormatId").toInt(&ok);
- if (!ok || xvFormatId < 0)
- return false;
-
- int dataSize = surfaceFormat.property("dataSize").toInt(&ok);
- if (!ok || dataSize<=0)
- return false;
-
- return true;
-}
-
-QGstXvImageBuffer *QGstXvImageBufferPool::takeBuffer(const QVideoSurfaceFormat &format, GstCaps *caps)
-{
- m_poolMutex.lock();
-
- m_caps = caps;
- if (format != m_format) {
- doClear();
- m_format = format;
- }
-
-
- if (m_pool.isEmpty()) {
- //qDebug() << "QGstXvImageBufferPool::takeBuffer: no buffer available, allocate the new one";
- if (QThread::currentThread() == thread()) {
- m_poolMutex.unlock();
- queuedAlloc();
- m_poolMutex.lock();
- } else {
- QMetaObject::invokeMethod(this, "queuedAlloc", Qt::QueuedConnection);
- m_allocWaitCondition.wait(&m_poolMutex, 300);
- }
- }
- QGstXvImageBuffer *res = 0;
-
- if (!m_pool.isEmpty()) {
- res = m_pool.takeLast();
- }
-
- m_poolMutex.unlock();
-
- return res;
-}
-
-void QGstXvImageBufferPool::queuedAlloc()
-{
- QMutexLocker lock(&m_poolMutex);
-
- Q_ASSERT(QThread::currentThread() == thread());
-
- QGstXvImageBuffer *xvBuffer = (QGstXvImageBuffer *)gst_mini_object_new(QGstXvImageBuffer::get_type());
-
- quint64 portId = m_format.property("portId").toULongLong();
- int xvFormatId = m_format.property("xvFormatId").toInt();
-
- xvBuffer->xvImage = XvShmCreateImage(
- QX11Info::display(),
- portId,
- xvFormatId,
- 0,
- m_format.frameWidth(),
- m_format.frameHeight(),
- &xvBuffer->shmInfo
- );
-
- if (!xvBuffer->xvImage) {
-// qDebug() << "QGstXvImageBufferPool: XvShmCreateImage failed";
- m_allocWaitCondition.wakeOne();
- return;
- }
-
- xvBuffer->shmInfo.shmid = shmget(IPC_PRIVATE, xvBuffer->xvImage->data_size, IPC_CREAT | 0777);
- xvBuffer->shmInfo.shmaddr = xvBuffer->xvImage->data = (char*)shmat(xvBuffer->shmInfo.shmid, 0, 0);
- xvBuffer->shmInfo.readOnly = False;
-
- if (!XShmAttach(QX11Info::display(), &xvBuffer->shmInfo)) {
-// qDebug() << "QGstXvImageBufferPool: XShmAttach failed";
- m_allocWaitCondition.wakeOne();
- return;
- }
-
- shmctl (xvBuffer->shmInfo.shmid, IPC_RMID, NULL);
-
- xvBuffer->pool = this;
- GST_MINI_OBJECT_CAST(xvBuffer)->flags = 0;
- gst_buffer_set_caps(GST_BUFFER_CAST(xvBuffer), m_caps);
- GST_BUFFER_DATA(xvBuffer) = (uchar*)xvBuffer->xvImage->data;
- GST_BUFFER_SIZE(xvBuffer) = xvBuffer->xvImage->data_size;
-
- m_allBuffers.append(xvBuffer);
- m_pool.append(xvBuffer);
-
- m_allocWaitCondition.wakeOne();
-}
-
-
-void QGstXvImageBufferPool::clear()
-{
- QMutexLocker lock(&m_poolMutex);
- doClear();
-}
-
-void QGstXvImageBufferPool::doClear()
-{
- foreach (QGstXvImageBuffer *xvBuffer, m_allBuffers) {
- xvBuffer->markedForDeletion = true;
- }
- m_allBuffers.clear();
-
- foreach (QGstXvImageBuffer *xvBuffer, m_pool) {
- gst_buffer_unref(GST_BUFFER(xvBuffer));
- }
- m_pool.clear();
-
- m_format = QVideoSurfaceFormat();
-}
-
-void QGstXvImageBufferPool::queuedDestroy()
-{
- QMutexLocker lock(&m_destroyMutex);
-
- foreach(XvShmImage xvImage, m_imagesToDestroy) {
- if (xvImage.shmInfo.shmaddr != ((void *) -1)) {
- XShmDetach(QX11Info::display(), &xvImage.shmInfo);
- XSync(QX11Info::display(), false);
-
- shmdt(xvImage.shmInfo.shmaddr);
- }
-
- if (xvImage.xvImage)
- XFree(xvImage.xvImage);
- }
-
- m_imagesToDestroy.clear();
-
- XSync(QX11Info::display(), false);
-}
-
-void QGstXvImageBufferPool::recycleBuffer(QGstXvImageBuffer *xvBuffer)
-{
- QMutexLocker lock(&m_poolMutex);
- gst_buffer_ref(GST_BUFFER_CAST(xvBuffer));
- m_pool.append(xvBuffer);
-}
-
-void QGstXvImageBufferPool::destroyBuffer(QGstXvImageBuffer *xvBuffer)
-{
- XvShmImage imageToDestroy;
- imageToDestroy.xvImage = xvBuffer->xvImage;
- imageToDestroy.shmInfo = xvBuffer->shmInfo;
-
- m_destroyMutex.lock();
- m_imagesToDestroy.append(imageToDestroy);
- m_destroyMutex.unlock();
-
- if (m_imagesToDestroy.size() == 1)
- QMetaObject::invokeMethod(this, "queuedDestroy", Qt::QueuedConnection);
-}
-
-QT_END_NAMESPACE
-
diff --git a/src/plugins/mediaservices/gstreamer/qgstxvimagebuffer.h b/src/plugins/mediaservices/gstreamer/qgstxvimagebuffer.h
deleted file mode 100644
index 30f77d154b..0000000000
--- a/src/plugins/mediaservices/gstreamer/qgstxvimagebuffer.h
+++ /dev/null
@@ -1,131 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the plugins of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QGSTXVIMAGEBUFFER_H
-#define QGSTXVIMAGEBUFFER_H
-
-#include <QtMultimedia/qabstractvideobuffer.h>
-#include <QtMultimedia/qvideosurfaceformat.h>
-#include <QtCore/qmutex.h>
-#include <QtCore/qwaitcondition.h>
-#include <QtCore/qqueue.h>
-
-#include <X11/Xlib.h>
-#include <sys/ipc.h>
-#include <sys/shm.h>
-#include <X11/extensions/XShm.h>
-#include <X11/Xlib.h>
-#include <X11/extensions/Xv.h>
-#include <X11/extensions/Xvlib.h>
-
-#include <gst/gst.h>
-
-
-QT_BEGIN_HEADER
-
-QT_BEGIN_NAMESPACE
-
-class QGstXvImageBufferPool;
-
-struct QGstXvImageBuffer {
- GstBuffer buffer;
- QGstXvImageBufferPool *pool;
- XvImage *xvImage;
- XShmSegmentInfo shmInfo;
- bool markedForDeletion;
-
- static GType get_type(void);
- static void class_init(gpointer g_class, gpointer class_data);
- static void buffer_init(QGstXvImageBuffer *xvimage, gpointer g_class);
- static void buffer_finalize(QGstXvImageBuffer * xvimage);
- static GstBufferClass *parent_class;
-};
-
-const QAbstractVideoBuffer::HandleType XvHandleType = QAbstractVideoBuffer::HandleType(4);
-
-
-
-class QGstXvImageBufferPool : public QObject {
-Q_OBJECT
-friend class QGstXvImageBuffer;
-public:
- QGstXvImageBufferPool(QObject *parent = 0);
- virtual ~QGstXvImageBufferPool();
-
- bool isFormatSupported(const QVideoSurfaceFormat &format);
-
- QGstXvImageBuffer *takeBuffer(const QVideoSurfaceFormat &format, GstCaps *caps);
- void clear();
-
-private slots:
- void queuedAlloc();
- void queuedDestroy();
-
- void doClear();
-
- void recycleBuffer(QGstXvImageBuffer *);
- void destroyBuffer(QGstXvImageBuffer *);
-
-private:
- struct XvShmImage {
- XvImage *xvImage;
- XShmSegmentInfo shmInfo;
- };
-
- QMutex m_poolMutex;
- QMutex m_allocMutex;
- QWaitCondition m_allocWaitCondition;
- QMutex m_destroyMutex;
- QVideoSurfaceFormat m_format;
- GstCaps *m_caps;
- QList<QGstXvImageBuffer*> m_pool;
- QList<QGstXvImageBuffer*> m_allBuffers;
- QList<XvShmImage> m_imagesToDestroy;
-};
-
-QT_END_NAMESPACE
-
-Q_DECLARE_METATYPE(::XvImage*)
-
-QT_END_HEADER
-
-
-#endif
diff --git a/src/plugins/mediaservices/gstreamer/qvideosurfacegstsink.cpp b/src/plugins/mediaservices/gstreamer/qvideosurfacegstsink.cpp
deleted file mode 100644
index 596e39d8ba..0000000000
--- a/src/plugins/mediaservices/gstreamer/qvideosurfacegstsink.cpp
+++ /dev/null
@@ -1,713 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the plugins of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include <QtMultimedia/QAbstractVideoSurface>
-#include <QtMultimedia/QVideoFrame>
-#include <QtCore/qdebug.h>
-#include <QMap>
-#include <QThread>
-
-#include "qgstvideobuffer.h"
-
-#ifdef Q_WS_X11
-#include <QtGui/qx11info_x11.h>
-#include "qgstxvimagebuffer.h"
-#endif
-
-#include "qvideosurfacegstsink.h"
-
-
-
-
-Q_DECLARE_METATYPE(QVideoSurfaceFormat)
-
-QT_BEGIN_NAMESPACE
-
-QVideoSurfaceGstDelegate::QVideoSurfaceGstDelegate(QAbstractVideoSurface *surface)
- : m_surface(surface)
- , m_renderReturn(GST_FLOW_ERROR)
- , m_bytesPerLine(0)
-{
- m_supportedPixelFormats = m_surface->supportedPixelFormats();
-
- connect(m_surface, SIGNAL(supportedFormatsChanged()), this, SLOT(supportedFormatsChanged()));
-}
-
-QList<QVideoFrame::PixelFormat> QVideoSurfaceGstDelegate::supportedPixelFormats(QAbstractVideoBuffer::HandleType handleType) const
-{
- QMutexLocker locker(const_cast<QMutex *>(&m_mutex));
-
- if (handleType == QAbstractVideoBuffer::NoHandle)
- return m_supportedPixelFormats;
- else
- return m_surface->supportedPixelFormats(handleType);
-}
-
-QVideoSurfaceFormat QVideoSurfaceGstDelegate::surfaceFormat() const
-{
- QMutexLocker locker(const_cast<QMutex *>(&m_mutex));
- return m_format;
-}
-
-bool QVideoSurfaceGstDelegate::start(const QVideoSurfaceFormat &format, int bytesPerLine)
-{
- QMutexLocker locker(&m_mutex);
-
- m_format = format;
- m_bytesPerLine = bytesPerLine;
-
- if (QThread::currentThread() == thread()) {
- m_started = !m_surface.isNull() ? m_surface->start(m_format) : false;
- } else {
- QMetaObject::invokeMethod(this, "queuedStart", Qt::QueuedConnection);
-
- m_setupCondition.wait(&m_mutex);
- }
-
- m_format = m_surface->surfaceFormat();
-
- return m_started;
-}
-
-void QVideoSurfaceGstDelegate::stop()
-{
- QMutexLocker locker(&m_mutex);
-
- if (QThread::currentThread() == thread()) {
- if (!m_surface.isNull())
- m_surface->stop();
- } else {
- QMetaObject::invokeMethod(this, "queuedStop", Qt::QueuedConnection);
-
- m_setupCondition.wait(&m_mutex);
- }
-
- m_started = false;
-}
-
-bool QVideoSurfaceGstDelegate::isActive()
-{
- QMutexLocker locker(&m_mutex);
- return m_surface->isActive();
-}
-
-GstFlowReturn QVideoSurfaceGstDelegate::render(GstBuffer *buffer)
-{
- QMutexLocker locker(&m_mutex);
-
- QGstVideoBuffer *videoBuffer = 0;
-
-#ifdef Q_WS_X11
- if (G_TYPE_CHECK_INSTANCE_TYPE(buffer, QGstXvImageBuffer::get_type())) {
- QGstXvImageBuffer *xvBuffer = reinterpret_cast<QGstXvImageBuffer *>(buffer);
- QVariant handle = QVariant::fromValue(xvBuffer->xvImage);
- videoBuffer = new QGstVideoBuffer(buffer, m_bytesPerLine, XvHandleType, handle);
- } else
-#endif
- videoBuffer = new QGstVideoBuffer(buffer, m_bytesPerLine);
-
- m_frame = QVideoFrame(
- videoBuffer,
- m_format.frameSize(),
- m_format.pixelFormat());
-
- qint64 startTime = GST_BUFFER_TIMESTAMP(buffer);
-
- if (startTime >= 0) {
- m_frame.setStartTime(startTime/G_GINT64_CONSTANT (1000000));
-
- qint64 duration = GST_BUFFER_DURATION(buffer);
-
- if (duration >= 0)
- m_frame.setEndTime((startTime + duration)/G_GINT64_CONSTANT (1000000));
- }
-
- QMetaObject::invokeMethod(this, "queuedRender", Qt::QueuedConnection);
-
- if (!m_renderCondition.wait(&m_mutex, 300)) {
- m_frame = QVideoFrame();
-
- return GST_FLOW_OK;
- } else {
- return m_renderReturn;
- }
-}
-
-void QVideoSurfaceGstDelegate::queuedStart()
-{
- QMutexLocker locker(&m_mutex);
-
- m_started = m_surface->start(m_format);
-
- m_setupCondition.wakeAll();
-}
-
-void QVideoSurfaceGstDelegate::queuedStop()
-{
- QMutexLocker locker(&m_mutex);
-
- m_surface->stop();
-
- m_setupCondition.wakeAll();
-}
-
-void QVideoSurfaceGstDelegate::queuedRender()
-{
- QMutexLocker locker(&m_mutex);
-
- if (m_surface.isNull()) {
- m_renderReturn = GST_FLOW_ERROR;
- } else if (m_surface->present(m_frame)) {
- m_renderReturn = GST_FLOW_OK;
- } else {
- switch (m_surface->error()) {
- case QAbstractVideoSurface::NoError:
- m_renderReturn = GST_FLOW_OK;
- break;
- case QAbstractVideoSurface::StoppedError:
- m_renderReturn = GST_FLOW_NOT_NEGOTIATED;
- break;
- default:
- m_renderReturn = GST_FLOW_ERROR;
- break;
- }
- }
-
- m_renderCondition.wakeAll();
-}
-
-void QVideoSurfaceGstDelegate::supportedFormatsChanged()
-{
- QMutexLocker locker(&m_mutex);
-
- m_supportedPixelFormats = m_surface->supportedPixelFormats();
-}
-
-struct YuvFormat
-{
- QVideoFrame::PixelFormat pixelFormat;
- guint32 fourcc;
- int bitsPerPixel;
-};
-
-static const YuvFormat qt_yuvColorLookup[] =
-{
- { QVideoFrame::Format_YUV420P, GST_MAKE_FOURCC('I','4','2','0'), 8 },
- { QVideoFrame::Format_YV12, GST_MAKE_FOURCC('Y','V','1','2'), 8 },
- { QVideoFrame::Format_UYVY, GST_MAKE_FOURCC('U','Y','V','Y'), 16 },
- { QVideoFrame::Format_YUYV, GST_MAKE_FOURCC('Y','U','Y','2'), 16 },
- { QVideoFrame::Format_NV12, GST_MAKE_FOURCC('N','V','1','2'), 8 },
- { QVideoFrame::Format_NV21, GST_MAKE_FOURCC('N','V','2','1'), 8 },
- { QVideoFrame::Format_AYUV444, GST_MAKE_FOURCC('A','Y','U','V'), 32 }
-};
-
-static int indexOfYuvColor(QVideoFrame::PixelFormat format)
-{
- const int count = sizeof(qt_yuvColorLookup) / sizeof(YuvFormat);
-
- for (int i = 0; i < count; ++i)
- if (qt_yuvColorLookup[i].pixelFormat == format)
- return i;
-
- return -1;
-}
-
-static int indexOfYuvColor(guint32 fourcc)
-{
- const int count = sizeof(qt_yuvColorLookup) / sizeof(YuvFormat);
-
- for (int i = 0; i < count; ++i)
- if (qt_yuvColorLookup[i].fourcc == fourcc)
- return i;
-
- return -1;
-}
-
-struct RgbFormat
-{
- QVideoFrame::PixelFormat pixelFormat;
- int bitsPerPixel;
- int depth;
- int endianness;
- int red;
- int green;
- int blue;
- int alpha;
-};
-
-static const RgbFormat qt_rgbColorLookup[] =
-{
- { QVideoFrame::Format_RGB32 , 32, 24, 4321, 0x0000FF00, 0x00FF0000, 0xFF000000, 0x00000000 },
- { QVideoFrame::Format_RGB32 , 32, 24, 1234, 0x00FF0000, 0x0000FF00, 0x000000FF, 0x00000000 },
- { QVideoFrame::Format_BGR32 , 32, 24, 4321, 0xFF000000, 0x00FF0000, 0x0000FF00, 0x00000000 },
- { QVideoFrame::Format_BGR32 , 32, 24, 1234, 0x000000FF, 0x0000FF00, 0x00FF0000, 0x00000000 },
- { QVideoFrame::Format_ARGB32, 32, 24, 4321, 0x0000FF00, 0x00FF0000, 0xFF000000, 0x000000FF },
- { QVideoFrame::Format_ARGB32, 32, 24, 1234, 0x00FF0000, 0x0000FF00, 0x000000FF, 0xFF000000 },
- { QVideoFrame::Format_RGB24 , 24, 24, 4321, 0x00FF0000, 0x0000FF00, 0x000000FF, 0x00000000 },
- { QVideoFrame::Format_BGR24 , 24, 24, 4321, 0x000000FF, 0x0000FF00, 0x00FF0000, 0x00000000 },
- { QVideoFrame::Format_RGB565, 16, 16, 1234, 0x0000F800, 0x000007E0, 0x0000001F, 0x00000000 }
-};
-
-static int indexOfRgbColor(
- int bits, int depth, int endianness, int red, int green, int blue, int alpha)
-{
- const int count = sizeof(qt_rgbColorLookup) / sizeof(RgbFormat);
-
- for (int i = 0; i < count; ++i) {
- if (qt_rgbColorLookup[i].bitsPerPixel == bits
- && qt_rgbColorLookup[i].depth == depth
- && qt_rgbColorLookup[i].endianness == endianness
- && qt_rgbColorLookup[i].red == red
- && qt_rgbColorLookup[i].green == green
- && qt_rgbColorLookup[i].blue == blue
- && qt_rgbColorLookup[i].alpha == alpha) {
- return i;
- }
- }
- return -1;
-}
-
-static GstVideoSinkClass *sink_parent_class;
-
-#define VO_SINK(s) QVideoSurfaceGstSink *sink(reinterpret_cast<QVideoSurfaceGstSink *>(s))
-
-QVideoSurfaceGstSink *QVideoSurfaceGstSink::createSink(QAbstractVideoSurface *surface)
-{
- QVideoSurfaceGstSink *sink = reinterpret_cast<QVideoSurfaceGstSink *>(
- g_object_new(QVideoSurfaceGstSink::get_type(), 0));
-
- sink->delegate = new QVideoSurfaceGstDelegate(surface);
-
- return sink;
-}
-
-GType QVideoSurfaceGstSink::get_type()
-{
- static GType type = 0;
-
- if (type == 0) {
- static const GTypeInfo info =
- {
- sizeof(QVideoSurfaceGstSinkClass), // class_size
- base_init, // base_init
- NULL, // base_finalize
- class_init, // class_init
- NULL, // class_finalize
- NULL, // class_data
- sizeof(QVideoSurfaceGstSink), // instance_size
- 0, // n_preallocs
- instance_init, // instance_init
- 0 // value_table
- };
-
- type = g_type_register_static(
- GST_TYPE_VIDEO_SINK, "QVideoSurfaceGstSink", &info, GTypeFlags(0));
- }
-
- return type;
-}
-
-void QVideoSurfaceGstSink::class_init(gpointer g_class, gpointer class_data)
-{
- Q_UNUSED(class_data);
-
- sink_parent_class = reinterpret_cast<GstVideoSinkClass *>(g_type_class_peek_parent(g_class));
-
- GstBaseSinkClass *base_sink_class = reinterpret_cast<GstBaseSinkClass *>(g_class);
- base_sink_class->get_caps = QVideoSurfaceGstSink::get_caps;
- base_sink_class->set_caps = QVideoSurfaceGstSink::set_caps;
- base_sink_class->buffer_alloc = QVideoSurfaceGstSink::buffer_alloc;
- base_sink_class->start = QVideoSurfaceGstSink::start;
- base_sink_class->stop = QVideoSurfaceGstSink::stop;
- // base_sink_class->unlock = QVideoSurfaceGstSink::unlock; // Not implemented.
- // base_sink_class->event = QVideoSurfaceGstSink::event; // Not implemented.
- base_sink_class->preroll = QVideoSurfaceGstSink::preroll;
- base_sink_class->render = QVideoSurfaceGstSink::render;
-
- GstElementClass *element_class = reinterpret_cast<GstElementClass *>(g_class);
- element_class->change_state = QVideoSurfaceGstSink::change_state;
-
- GObjectClass *object_class = reinterpret_cast<GObjectClass *>(g_class);
- object_class->finalize = QVideoSurfaceGstSink::finalize;
-}
-
-void QVideoSurfaceGstSink::base_init(gpointer g_class)
-{
- static GstStaticPadTemplate sink_pad_template = GST_STATIC_PAD_TEMPLATE(
- "sink", GST_PAD_SINK, GST_PAD_ALWAYS, GST_STATIC_CAPS(
- "video/x-raw-rgb, "
- "framerate = (fraction) [ 0, MAX ], "
- "width = (int) [ 1, MAX ], "
- "height = (int) [ 1, MAX ]; "
- "video/x-raw-yuv, "
- "framerate = (fraction) [ 0, MAX ], "
- "width = (int) [ 1, MAX ], "
- "height = (int) [ 1, MAX ]"));
-
- gst_element_class_add_pad_template(
- GST_ELEMENT_CLASS(g_class), gst_static_pad_template_get(&sink_pad_template));
-}
-
-void QVideoSurfaceGstSink::instance_init(GTypeInstance *instance, gpointer g_class)
-{
- VO_SINK(instance);
-
- Q_UNUSED(g_class);
-
- sink->delegate = 0;
-#ifdef Q_WS_X11
- sink->pool = new QGstXvImageBufferPool();
-#endif
- sink->lastRequestedCaps = 0;
- sink->lastBufferCaps = 0;
- sink->lastSurfaceFormat = new QVideoSurfaceFormat;
-}
-
-void QVideoSurfaceGstSink::finalize(GObject *object)
-{
- VO_SINK(object);
-#ifdef Q_WS_X11
- delete sink->pool;
- sink->pool = 0;
-#endif
-
- delete sink->lastSurfaceFormat;
- sink->lastSurfaceFormat = 0;
-
- if (sink->lastBufferCaps)
- gst_caps_unref(sink->lastBufferCaps);
- sink->lastBufferCaps = 0;
-
- if (sink->lastRequestedCaps)
- gst_caps_unref(sink->lastRequestedCaps);
- sink->lastRequestedCaps = 0;
-}
-
-GstStateChangeReturn QVideoSurfaceGstSink::change_state(
- GstElement *element, GstStateChange transition)
-{
- Q_UNUSED(element);
-
- return GST_ELEMENT_CLASS(sink_parent_class)->change_state(
- element, transition);
-}
-
-GstCaps *QVideoSurfaceGstSink::get_caps(GstBaseSink *base)
-{
- VO_SINK(base);
-
- GstCaps *caps = gst_caps_new_empty();
-
- foreach (QVideoFrame::PixelFormat format, sink->delegate->supportedPixelFormats()) {
- int index = indexOfYuvColor(format);
-
- if (index != -1) {
- gst_caps_append_structure(caps, gst_structure_new(
- "video/x-raw-yuv",
- "framerate", GST_TYPE_FRACTION_RANGE, 0, 1, INT_MAX, 1,
- "width" , GST_TYPE_INT_RANGE, 1, INT_MAX,
- "height" , GST_TYPE_INT_RANGE, 1, INT_MAX,
- "format" , GST_TYPE_FOURCC, qt_yuvColorLookup[index].fourcc,
- NULL));
- continue;
- }
-
- const int count = sizeof(qt_rgbColorLookup) / sizeof(RgbFormat);
-
- for (int i = 0; i < count; ++i) {
- if (qt_rgbColorLookup[i].pixelFormat == format) {
- GstStructure *structure = gst_structure_new(
- "video/x-raw-rgb",
- "framerate" , GST_TYPE_FRACTION_RANGE, 0, 1, INT_MAX, 1,
- "width" , GST_TYPE_INT_RANGE, 1, INT_MAX,
- "height" , GST_TYPE_INT_RANGE, 1, INT_MAX,
- "bpp" , G_TYPE_INT, qt_rgbColorLookup[i].bitsPerPixel,
- "depth" , G_TYPE_INT, qt_rgbColorLookup[i].depth,
- "endianness", G_TYPE_INT, qt_rgbColorLookup[i].endianness,
- "red_mask" , G_TYPE_INT, qt_rgbColorLookup[i].red,
- "green_mask", G_TYPE_INT, qt_rgbColorLookup[i].green,
- "blue_mask" , G_TYPE_INT, qt_rgbColorLookup[i].blue,
- NULL);
-
- if (qt_rgbColorLookup[i].alpha != 0) {
- gst_structure_set(
- structure, "alpha_mask", G_TYPE_INT, qt_rgbColorLookup[i].alpha, NULL);
- }
- gst_caps_append_structure(caps, structure);
- }
- }
- }
-
- return caps;
-}
-
-gboolean QVideoSurfaceGstSink::set_caps(GstBaseSink *base, GstCaps *caps)
-{
- VO_SINK(base);
-
- //qDebug() << "set_caps";
- //qDebug() << gst_caps_to_string(caps);
-
- if (!caps) {
- sink->delegate->stop();
-
- return TRUE;
- } else {
- int bytesPerLine = 0;
- QVideoSurfaceFormat format = formatForCaps(caps, &bytesPerLine);
-
- if (sink->delegate->isActive()) {
- QVideoSurfaceFormat surfaceFormst = sink->delegate->surfaceFormat();
-
- if (format.pixelFormat() == surfaceFormst.pixelFormat() &&
- format.frameSize() == surfaceFormst.frameSize())
- return TRUE;
- else
- sink->delegate->stop();
- }
-
- if (sink->lastRequestedCaps)
- gst_caps_unref(sink->lastRequestedCaps);
- sink->lastRequestedCaps = 0;
-
- //qDebug() << "Staring video surface:";
- //qDebug() << format;
- //qDebug() << bytesPerLine;
-
- if (sink->delegate->start(format, bytesPerLine))
- return TRUE;
-
- }
-
- return FALSE;
-}
-
-QVideoSurfaceFormat QVideoSurfaceGstSink::formatForCaps(GstCaps *caps, int *bytesPerLine)
-{
- const GstStructure *structure = gst_caps_get_structure(caps, 0);
-
- QVideoFrame::PixelFormat pixelFormat = QVideoFrame::Format_Invalid;
- int bitsPerPixel = 0;
-
- QSize size;
- gst_structure_get_int(structure, "width", &size.rwidth());
- gst_structure_get_int(structure, "height", &size.rheight());
-
- if (qstrcmp(gst_structure_get_name(structure), "video/x-raw-yuv") == 0) {
- guint32 fourcc = 0;
- gst_structure_get_fourcc(structure, "format", &fourcc);
-
- int index = indexOfYuvColor(fourcc);
- if (index != -1) {
- pixelFormat = qt_yuvColorLookup[index].pixelFormat;
- bitsPerPixel = qt_yuvColorLookup[index].bitsPerPixel;
- }
- } else if (qstrcmp(gst_structure_get_name(structure), "video/x-raw-rgb") == 0) {
- int depth = 0;
- int endianness = 0;
- int red = 0;
- int green = 0;
- int blue = 0;
- int alpha = 0;
-
- gst_structure_get_int(structure, "bpp", &bitsPerPixel);
- gst_structure_get_int(structure, "depth", &depth);
- gst_structure_get_int(structure, "endianness", &endianness);
- gst_structure_get_int(structure, "red_mask", &red);
- gst_structure_get_int(structure, "green_mask", &green);
- gst_structure_get_int(structure, "blue_mask", &blue);
- gst_structure_get_int(structure, "alpha_mask", &alpha);
-
- int index = indexOfRgbColor(bitsPerPixel, depth, endianness, red, green, blue, alpha);
-
- if (index != -1)
- pixelFormat = qt_rgbColorLookup[index].pixelFormat;
- }
-
- if (pixelFormat != QVideoFrame::Format_Invalid) {
- QVideoSurfaceFormat format(size, pixelFormat);
-
- QPair<int, int> rate;
- gst_structure_get_fraction(structure, "framerate", &rate.first, &rate.second);
-
- if (rate.second)
- format.setFrameRate(qreal(rate.first)/rate.second);
-
- gint aspectNum = 0;
- gint aspectDenum = 0;
- if (gst_structure_get_fraction(
- structure, "pixel-aspect-ratio", &aspectNum, &aspectDenum)) {
- if (aspectDenum > 0)
- format.setPixelAspectRatio(aspectNum, aspectDenum);
- }
-
- if (bytesPerLine)
- *bytesPerLine = ((size.width() * bitsPerPixel / 8) + 3) & ~3;
-
- return format;
- }
-
- return QVideoSurfaceFormat();
-}
-
-
-GstFlowReturn QVideoSurfaceGstSink::buffer_alloc(
- GstBaseSink *base, guint64 offset, guint size, GstCaps *caps, GstBuffer **buffer)
-{
- VO_SINK(base);
-
- Q_UNUSED(offset);
- Q_UNUSED(size);
-
- *buffer = 0;
-
-#ifdef Q_WS_X11
-
- if (sink->lastRequestedCaps && gst_caps_is_equal(sink->lastRequestedCaps, caps)) {
- //qDebug() << "reusing last caps";
- *buffer = GST_BUFFER(sink->pool->takeBuffer(*sink->lastSurfaceFormat, sink->lastBufferCaps));
- return GST_FLOW_OK;
- }
-
- if (sink->delegate->supportedPixelFormats(XvHandleType).isEmpty()) {
- //qDebug() << "sink doesn't support Xv buffers, skip buffers allocation";
- return GST_FLOW_OK;
- }
-
- GstCaps *intersection = gst_caps_intersect(get_caps(GST_BASE_SINK(sink)), caps);
-
- if (gst_caps_is_empty (intersection)) {
- gst_caps_unref(intersection);
- return GST_FLOW_NOT_NEGOTIATED;
- }
-
- if (sink->delegate->isActive()) {
- //if format was changed, restart the surface
- QVideoSurfaceFormat format = formatForCaps(intersection);
- QVideoSurfaceFormat surfaceFormat = sink->delegate->surfaceFormat();
-
- if (format.pixelFormat() != surfaceFormat.pixelFormat() ||
- format.frameSize() != surfaceFormat.frameSize()) {
- //qDebug() << "new format requested, restart video surface";
- sink->delegate->stop();
- }
- }
-
- if (!sink->delegate->isActive()) {
- int bytesPerLine = 0;
- QVideoSurfaceFormat format = formatForCaps(intersection, &bytesPerLine);
-
- if (!sink->delegate->start(format, bytesPerLine)) {
- qDebug() << "failed to start video surface";
- return GST_FLOW_NOT_NEGOTIATED;
- }
- }
-
- QVideoSurfaceFormat surfaceFormat = sink->delegate->surfaceFormat();
-
- if (!sink->pool->isFormatSupported(surfaceFormat)) {
- //qDebug() << "sink doesn't provide Xv buffer details, skip buffers allocation";
- return GST_FLOW_OK;
- }
-
- if (sink->lastRequestedCaps)
- gst_caps_unref(sink->lastRequestedCaps);
- sink->lastRequestedCaps = caps;
- gst_caps_ref(sink->lastRequestedCaps);
-
- if (sink->lastBufferCaps)
- gst_caps_unref(sink->lastBufferCaps);
- sink->lastBufferCaps = intersection;
- gst_caps_ref(sink->lastBufferCaps);
-
- *sink->lastSurfaceFormat = surfaceFormat;
-
- *buffer = GST_BUFFER(sink->pool->takeBuffer(surfaceFormat, intersection));
-
-#endif
- return GST_FLOW_OK;
-}
-
-gboolean QVideoSurfaceGstSink::start(GstBaseSink *base)
-{
- Q_UNUSED(base);
-
- return TRUE;
-}
-
-gboolean QVideoSurfaceGstSink::stop(GstBaseSink *base)
-{
- Q_UNUSED(base);
-
- return TRUE;
-}
-
-gboolean QVideoSurfaceGstSink::unlock(GstBaseSink *base)
-{
- Q_UNUSED(base);
-
- return TRUE;
-}
-
-gboolean QVideoSurfaceGstSink::event(GstBaseSink *base, GstEvent *event)
-{
- Q_UNUSED(base);
- Q_UNUSED(event);
-
- return TRUE;
-}
-
-GstFlowReturn QVideoSurfaceGstSink::preroll(GstBaseSink *base, GstBuffer *buffer)
-{
- VO_SINK(base);
-
- return sink->delegate->render(buffer);
-}
-
-GstFlowReturn QVideoSurfaceGstSink::render(GstBaseSink *base, GstBuffer *buffer)
-{
- VO_SINK(base);
- return sink->delegate->render(buffer);
-}
-
-QT_END_NAMESPACE
-
-
diff --git a/src/plugins/mediaservices/gstreamer/qvideosurfacegstsink.h b/src/plugins/mediaservices/gstreamer/qvideosurfacegstsink.h
deleted file mode 100644
index 75fa85426e..0000000000
--- a/src/plugins/mediaservices/gstreamer/qvideosurfacegstsink.h
+++ /dev/null
@@ -1,163 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the plugins of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef VIDEOSURFACEGSTSINK_H
-#define VIDEOSURFACEGSTSINK_H
-
-#include <gst/video/gstvideosink.h>
-
-#include <QtCore/qlist.h>
-#include <QtCore/qmutex.h>
-#include <QtCore/qpointer.h>
-#include <QtCore/qwaitcondition.h>
-#include <QtMultimedia/qvideosurfaceformat.h>
-#include <QtMultimedia/qvideoframe.h>
-#include <QtMultimedia/qabstractvideobuffer.h>
-
-
-QT_BEGIN_HEADER
-
-QT_BEGIN_NAMESPACE
-
-class QAbstractVideoSurface;
-
-#ifdef Q_WS_X11
-class QGstXvImageBuffer;
-class QGstXvImageBufferPool;
-#endif
-
-
-class QVideoSurfaceGstDelegate : public QObject
-{
- Q_OBJECT
-public:
- QVideoSurfaceGstDelegate(QAbstractVideoSurface *surface);
-
- QList<QVideoFrame::PixelFormat> supportedPixelFormats(
- QAbstractVideoBuffer::HandleType handleType = QAbstractVideoBuffer::NoHandle) const;
-
- QVideoSurfaceFormat surfaceFormat() const;
-
-
- bool start(const QVideoSurfaceFormat &format, int bytesPerLine);
- void stop();
-
- bool isActive();
-
- GstFlowReturn render(GstBuffer *buffer);
-
-private slots:
- void queuedStart();
- void queuedStop();
- void queuedRender();
-
- void supportedFormatsChanged();
-
-private:
- QPointer<QAbstractVideoSurface> m_surface;
- QList<QVideoFrame::PixelFormat> m_supportedPixelFormats;
- QMutex m_mutex;
- QWaitCondition m_setupCondition;
- QWaitCondition m_renderCondition;
- QVideoSurfaceFormat m_format;
- QVideoFrame m_frame;
- GstFlowReturn m_renderReturn;
- int m_bytesPerLine;
- bool m_started;
-};
-
-class QVideoSurfaceGstSink
-{
-public:
- GstVideoSink parent;
-
- static QVideoSurfaceGstSink *createSink(QAbstractVideoSurface *surface);
- static QVideoSurfaceFormat formatForCaps(GstCaps *caps, int *bytesPerLine = 0);
-
-private:
- static GType get_type();
- static void class_init(gpointer g_class, gpointer class_data);
- static void base_init(gpointer g_class);
- static void instance_init(GTypeInstance *instance, gpointer g_class);
-
- static void finalize(GObject *object);
-
- static GstStateChangeReturn change_state(GstElement *element, GstStateChange transition);
-
- static GstCaps *get_caps(GstBaseSink *sink);
- static gboolean set_caps(GstBaseSink *sink, GstCaps *caps);
-
- static GstFlowReturn buffer_alloc(
- GstBaseSink *sink, guint64 offset, guint size, GstCaps *caps, GstBuffer **buffer);
-
- static gboolean start(GstBaseSink *sink);
- static gboolean stop(GstBaseSink *sink);
-
- static gboolean unlock(GstBaseSink *sink);
-
- static gboolean event(GstBaseSink *sink, GstEvent *event);
- static GstFlowReturn preroll(GstBaseSink *sink, GstBuffer *buffer);
- static GstFlowReturn render(GstBaseSink *sink, GstBuffer *buffer);
-
-private:
- QVideoSurfaceGstDelegate *delegate;
-
-#ifdef Q_WS_X11
- QGstXvImageBufferPool *pool;
-#endif
-
- GstCaps *lastRequestedCaps;
- GstCaps *lastBufferCaps;
- QVideoSurfaceFormat *lastSurfaceFormat;
-};
-
-
-class QVideoSurfaceGstSinkClass
-{
-public:
- GstVideoSinkClass parent_class;
-};
-
-QT_END_NAMESPACE
-
-QT_END_HEADER
-
-#endif
diff --git a/src/plugins/mediaservices/gstreamer/qx11videosurface.cpp b/src/plugins/mediaservices/gstreamer/qx11videosurface.cpp
deleted file mode 100644
index 70b8527e47..0000000000
--- a/src/plugins/mediaservices/gstreamer/qx11videosurface.cpp
+++ /dev/null
@@ -1,523 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the plugins of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include <QtCore/qvariant.h>
-#include <QtCore/qdebug.h>
-#include <QtGui/qx11info_x11.h>
-#include <QtMultimedia/qvideosurfaceformat.h>
-
-#include "qx11videosurface.h"
-
-Q_DECLARE_METATYPE(::XvImage*);
-
-QT_BEGIN_NAMESPACE
-
-static QAbstractVideoBuffer::HandleType XvHandleType = QAbstractVideoBuffer::HandleType(4);
-
-struct XvFormatRgb
-{
- QVideoFrame::PixelFormat pixelFormat;
- int bits_per_pixel;
- int format;
- int num_planes;
-
- int depth;
- unsigned int red_mask;
- unsigned int green_mask;
- unsigned int blue_mask;
-
-};
-
-bool operator ==(const XvImageFormatValues &format, const XvFormatRgb &rgb)
-{
- return format.type == XvRGB
- && format.bits_per_pixel == rgb.bits_per_pixel
- && format.format == rgb.format
- && format.num_planes == rgb.num_planes
- && format.depth == rgb.depth
- && format.red_mask == rgb.red_mask
- && format.blue_mask == rgb.blue_mask;
-}
-
-static const XvFormatRgb qt_xvRgbLookup[] =
-{
- { QVideoFrame::Format_ARGB32, 32, XvPacked, 1, 32, 0x00FF0000, 0x0000FF00, 0x000000FF },
- { QVideoFrame::Format_RGB32 , 32, XvPacked, 1, 24, 0x00FF0000, 0x0000FF00, 0x000000FF },
- { QVideoFrame::Format_RGB24 , 24, XvPacked, 1, 24, 0x00FF0000, 0x0000FF00, 0x000000FF },
- { QVideoFrame::Format_RGB565, 16, XvPacked, 1, 16, 0x0000F800, 0x000007E0, 0x0000001F },
- { QVideoFrame::Format_BGRA32, 32, XvPacked, 1, 32, 0xFF000000, 0x00FF0000, 0x0000FF00 },
- { QVideoFrame::Format_BGR32 , 32, XvPacked, 1, 24, 0x00FF0000, 0x0000FF00, 0x000000FF },
- { QVideoFrame::Format_BGR24 , 24, XvPacked, 1, 24, 0x00FF0000, 0x0000FF00, 0x000000FF },
- { QVideoFrame::Format_BGR565, 16, XvPacked, 1, 16, 0x0000F800, 0x000007E0, 0x0000001F }
-};
-
-struct XvFormatYuv
-{
- QVideoFrame::PixelFormat pixelFormat;
- int bits_per_pixel;
- int format;
- int num_planes;
-
- unsigned int y_sample_bits;
- unsigned int u_sample_bits;
- unsigned int v_sample_bits;
- unsigned int horz_y_period;
- unsigned int horz_u_period;
- unsigned int horz_v_period;
- unsigned int vert_y_period;
- unsigned int vert_u_period;
- unsigned int vert_v_period;
- char component_order[32];
-};
-
-bool operator ==(const XvImageFormatValues &format, const XvFormatYuv &yuv)
-{
- return format.type == XvYUV
- && format.bits_per_pixel == yuv.bits_per_pixel
- && format.format == yuv.format
- && format.num_planes == yuv.num_planes
- && format.y_sample_bits == yuv.y_sample_bits
- && format.u_sample_bits == yuv.u_sample_bits
- && format.v_sample_bits == yuv.v_sample_bits
- && format.horz_y_period == yuv.horz_y_period
- && format.horz_u_period == yuv.horz_u_period
- && format.horz_v_period == yuv.horz_v_period
- && format.horz_y_period == yuv.vert_y_period
- && format.vert_u_period == yuv.vert_u_period
- && format.vert_v_period == yuv.vert_v_period
- && qstrncmp(format.component_order, yuv.component_order, 32) == 0;
-}
-
-static const XvFormatYuv qt_xvYuvLookup[] =
-{
- { QVideoFrame::Format_YUV444 , 24, XvPacked, 1, 8, 8, 8, 1, 1, 1, 1, 1, 1, "YUV" },
- { QVideoFrame::Format_YUV420P, 12, XvPlanar, 3, 8, 8, 8, 1, 2, 2, 1, 2, 2, "YUV" },
- { QVideoFrame::Format_YV12 , 12, XvPlanar, 3, 8, 8, 8, 1, 2, 2, 1, 2, 2, "YVU" },
- { QVideoFrame::Format_UYVY , 16, XvPacked, 1, 8, 8, 8, 1, 2, 2, 1, 1, 1, "UYVY" },
- { QVideoFrame::Format_YUYV , 16, XvPacked, 1, 8, 8, 8, 1, 2, 2, 1, 1, 1, "YUY2" },
- { QVideoFrame::Format_YUYV , 16, XvPacked, 1, 8, 8, 8, 1, 2, 2, 1, 1, 1, "YUYV" },
- { QVideoFrame::Format_NV12 , 12, XvPlanar, 2, 8, 8, 8, 1, 2, 2, 1, 2, 2, "YUV" },
- { QVideoFrame::Format_NV12 , 12, XvPlanar, 2, 8, 8, 8, 1, 2, 2, 1, 2, 2, "YVU" },
- { QVideoFrame::Format_Y8 , 8 , XvPlanar, 1, 8, 0, 0, 1, 0, 0, 1, 0, 0, "Y" }
-};
-
-QX11VideoSurface::QX11VideoSurface(QObject *parent)
- : QAbstractVideoSurface(parent)
- , m_winId(0)
- , m_portId(0)
- , m_gc(0)
- , m_image(0)
-{
-}
-
-QX11VideoSurface::~QX11VideoSurface()
-{
- if (m_gc)
- XFreeGC(QX11Info::display(), m_gc);
-
- if (m_portId != 0)
- XvUngrabPort(QX11Info::display(), m_portId, 0);
-}
-
-WId QX11VideoSurface::winId() const
-{
- return m_winId;
-}
-
-void QX11VideoSurface::setWinId(WId id)
-{
- if (id == m_winId)
- return;
-
- if (m_image)
- XFree(m_image);
-
- if (m_gc) {
- XFreeGC(QX11Info::display(), m_gc);
- m_gc = 0;
- }
-
- if (m_portId != 0)
- XvUngrabPort(QX11Info::display(), m_portId, 0);
-
- m_supportedPixelFormats.clear();
- m_formatIds.clear();
-
- m_winId = id;
-
- if (m_winId && findPort()) {
- querySupportedFormats();
-
- m_gc = XCreateGC(QX11Info::display(), m_winId, 0, 0);
-
- if (m_image) {
- m_image = 0;
-
- if (!start(surfaceFormat()))
- QAbstractVideoSurface::stop();
- }
- } else if (m_image) {
- m_image = 0;
-
- QAbstractVideoSurface::stop();
- }
-
- emit supportedFormatsChanged();
-}
-
-QRect QX11VideoSurface::displayRect() const
-{
- return m_displayRect;
-}
-
-void QX11VideoSurface::setDisplayRect(const QRect &rect)
-{
- m_displayRect = rect;
-}
-
-QRect QX11VideoSurface::viewport() const
-{
- return m_viewport;
-}
-
-void QX11VideoSurface::setViewport(const QRect &rect)
-{
- m_viewport = rect;
-}
-
-int QX11VideoSurface::brightness() const
-{
- return getAttribute("XV_BRIGHTNESS", m_brightnessRange.first, m_brightnessRange.second);
-}
-
-void QX11VideoSurface::setBrightness(int brightness)
-{
- setAttribute("XV_BRIGHTNESS", brightness, m_brightnessRange.first, m_brightnessRange.second);
-}
-
-int QX11VideoSurface::contrast() const
-{
- return getAttribute("XV_CONTRAST", m_contrastRange.first, m_contrastRange.second);
-}
-
-void QX11VideoSurface::setContrast(int contrast)
-{
- setAttribute("XV_CONTRAST", contrast, m_contrastRange.first, m_contrastRange.second);
-}
-
-int QX11VideoSurface::hue() const
-{
- return getAttribute("XV_HUE", m_hueRange.first, m_hueRange.second);
-}
-
-void QX11VideoSurface::setHue(int hue)
-{
- setAttribute("XV_HUE", hue, m_hueRange.first, m_hueRange.second);
-}
-
-int QX11VideoSurface::saturation() const
-{
- return getAttribute("XV_SATURATION", m_saturationRange.first, m_saturationRange.second);
-}
-
-void QX11VideoSurface::setSaturation(int saturation)
-{
- setAttribute("XV_SATURATION", saturation, m_saturationRange.first, m_saturationRange.second);
-}
-
-int QX11VideoSurface::getAttribute(const char *attribute, int minimum, int maximum) const
-{
- if (m_portId != 0) {
- Display *display = QX11Info::display();
-
- Atom atom = XInternAtom(display, attribute, True);
-
- int value = 0;
-
- XvGetPortAttribute(display, m_portId, atom, &value);
-
- return redistribute(value, minimum, maximum, -100, 100);
- } else {
- return 0;
- }
-}
-
-void QX11VideoSurface::setAttribute(const char *attribute, int value, int minimum, int maximum)
-{
- if (m_portId != 0) {
- Display *display = QX11Info::display();
-
- Atom atom = XInternAtom(display, attribute, True);
-
- XvSetPortAttribute(
- display, m_portId, atom, redistribute(value, -100, 100, minimum, maximum));
- }
-}
-
-int QX11VideoSurface::redistribute(
- int value, int fromLower, int fromUpper, int toLower, int toUpper)
-{
- return fromUpper != fromLower
- ? ((value - fromLower) * (toUpper - toLower) / (fromUpper - fromLower)) + toLower
- : 0;
-}
-
-QList<QVideoFrame::PixelFormat> QX11VideoSurface::supportedPixelFormats(
- QAbstractVideoBuffer::HandleType handleType) const
-{
- return handleType == QAbstractVideoBuffer::NoHandle || handleType == XvHandleType
- ? m_supportedPixelFormats
- : QList<QVideoFrame::PixelFormat>();
-}
-
-bool QX11VideoSurface::start(const QVideoSurfaceFormat &format)
-{
- if (m_image)
- XFree(m_image);
-
- int xvFormatId = 0;
- for (int i = 0; i < m_supportedPixelFormats.count(); ++i) {
- if (m_supportedPixelFormats.at(i) == format.pixelFormat()) {
- xvFormatId = m_formatIds.at(i);
- break;
- }
- }
-
- if (xvFormatId == 0) {
- setError(UnsupportedFormatError);
- } else {
- XvImage *image = XvCreateImage(
- QX11Info::display(),
- m_portId,
- xvFormatId,
- 0,
- format.frameWidth(),
- format.frameHeight());
-
- if (!image) {
- setError(ResourceError);
- } else {
- m_viewport = format.viewport();
- m_image = image;
-
- QVideoSurfaceFormat newFormat = format;
- newFormat.setProperty("portId", QVariant(quint64(m_portId)));
- newFormat.setProperty("xvFormatId", xvFormatId);
- newFormat.setProperty("dataSize", image->data_size);
-
- return QAbstractVideoSurface::start(newFormat);
- }
- }
-
- if (m_image) {
- m_image = 0;
-
- QAbstractVideoSurface::stop();
- }
-
- return false;
-}
-
-void QX11VideoSurface::stop()
-{
- if (m_image) {
- XFree(m_image);
- m_image = 0;
-
- QAbstractVideoSurface::stop();
- }
-}
-
-bool QX11VideoSurface::present(const QVideoFrame &frame)
-{
- if (!m_image) {
- setError(StoppedError);
- return false;
- } else if (m_image->width != frame.width() || m_image->height != frame.height()) {
- setError(IncorrectFormatError);
- return false;
- } else {
- QVideoFrame frameCopy(frame);
-
- if (!frameCopy.map(QAbstractVideoBuffer::ReadOnly)) {
- setError(IncorrectFormatError);
- return false;
- } else {
- bool presented = false;
-
- if (frame.handleType() != XvHandleType &&
- m_image->data_size > frame.mappedBytes()) {
- qWarning("Insufficient frame buffer size");
- setError(IncorrectFormatError);
- } else if (frame.handleType() != XvHandleType &&
- m_image->num_planes > 0 &&
- m_image->pitches[0] != frame.bytesPerLine()) {
- qWarning("Incompatible frame pitches");
- setError(IncorrectFormatError);
- } else {
- if (frame.handleType() != XvHandleType) {
- m_image->data = reinterpret_cast<char *>(frameCopy.bits());
-
- //qDebug() << "copy frame";
- XvPutImage(
- QX11Info::display(),
- m_portId,
- m_winId,
- m_gc,
- m_image,
- m_viewport.x(),
- m_viewport.y(),
- m_viewport.width(),
- m_viewport.height(),
- m_displayRect.x(),
- m_displayRect.y(),
- m_displayRect.width(),
- m_displayRect.height());
-
- m_image->data = 0;
- } else {
- XvImage *img = frame.handle().value<XvImage*>();
-
- //qDebug() << "render directly";
- if (img)
- XvShmPutImage(
- QX11Info::display(),
- m_portId,
- m_winId,
- m_gc,
- img,
- m_viewport.x(),
- m_viewport.y(),
- m_viewport.width(),
- m_viewport.height(),
- m_displayRect.x(),
- m_displayRect.y(),
- m_displayRect.width(),
- m_displayRect.height(),
- false);
- }
-
- presented = true;
- }
-
- frameCopy.unmap();
-
- return presented;
- }
- }
-}
-
-bool QX11VideoSurface::findPort()
-{
- unsigned int count = 0;
- XvAdaptorInfo *adaptors = 0;
- bool portFound = false;
-
- if (XvQueryAdaptors(QX11Info::display(), m_winId, &count, &adaptors) == Success) {
- for (unsigned int i = 0; i < count && !portFound; ++i) {
- if (adaptors[i].type & XvImageMask) {
- m_portId = adaptors[i].base_id;
-
- for (unsigned int j = 0; j < adaptors[i].num_ports && !portFound; ++j, ++m_portId)
- portFound = XvGrabPort(QX11Info::display(), m_portId, 0) == Success;
- }
- }
- XvFreeAdaptorInfo(adaptors);
- }
-
- return portFound;
-}
-
-void QX11VideoSurface::querySupportedFormats()
-{
- int count = 0;
- if (XvImageFormatValues *imageFormats = XvListImageFormats(
- QX11Info::display(), m_portId, &count)) {
- const int rgbCount = sizeof(qt_xvRgbLookup) / sizeof(XvFormatRgb);
- const int yuvCount = sizeof(qt_xvYuvLookup) / sizeof(XvFormatYuv);
-
- for (int i = 0; i < count; ++i) {
- switch (imageFormats[i].type) {
- case XvRGB:
- for (int j = 0; j < rgbCount; ++j) {
- if (imageFormats[i] == qt_xvRgbLookup[j]) {
- m_supportedPixelFormats.append(qt_xvRgbLookup[j].pixelFormat);
- m_formatIds.append(imageFormats[i].id);
- break;
- }
- }
- break;
- case XvYUV:
- for (int j = 0; j < yuvCount; ++j) {
- if (imageFormats[i] == qt_xvYuvLookup[j]) {
- m_supportedPixelFormats.append(qt_xvYuvLookup[j].pixelFormat);
- m_formatIds.append(imageFormats[i].id);
- break;
- }
- }
- break;
- }
- }
- XFree(imageFormats);
- }
-
- m_brightnessRange = qMakePair(0, 0);
- m_contrastRange = qMakePair(0, 0);
- m_hueRange = qMakePair(0, 0);
- m_saturationRange = qMakePair(0, 0);
-
- if (XvAttribute *attributes = XvQueryPortAttributes(QX11Info::display(), m_portId, &count)) {
- for (int i = 0; i < count; ++i) {
- if (qstrcmp(attributes[i].name, "XV_BRIGHTNESS") == 0)
- m_brightnessRange = qMakePair(attributes[i].min_value, attributes[i].max_value);
- else if (qstrcmp(attributes[i].name, "XV_CONTRAST") == 0)
- m_contrastRange = qMakePair(attributes[i].min_value, attributes[i].max_value);
- else if (qstrcmp(attributes[i].name, "XV_HUE") == 0)
- m_hueRange = qMakePair(attributes[i].min_value, attributes[i].max_value);
- else if (qstrcmp(attributes[i].name, "XV_SATURATION") == 0)
- m_saturationRange = qMakePair(attributes[i].min_value, attributes[i].max_value);
- }
-
- XFree(attributes);
- }
-}
-
-QT_END_NAMESPACE
diff --git a/src/plugins/mediaservices/gstreamer/qx11videosurface.h b/src/plugins/mediaservices/gstreamer/qx11videosurface.h
deleted file mode 100644
index 10f79a635e..0000000000
--- a/src/plugins/mediaservices/gstreamer/qx11videosurface.h
+++ /dev/null
@@ -1,120 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the plugins of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QX11VIDEOSURFACE_H
-#define QX11VIDEOSURFACE_H
-
-#include <QtGui/qwidget.h>
-#include <QtMultimedia/qabstractvideosurface.h>
-
-#include <X11/Xlib.h>
-#include <X11/extensions/Xv.h>
-#include <X11/extensions/Xvlib.h>
-
-
-QT_BEGIN_HEADER
-
-QT_BEGIN_NAMESPACE
-
-class QX11VideoSurface : public QAbstractVideoSurface
-{
- Q_OBJECT
-public:
- QX11VideoSurface(QObject *parent = 0);
- ~QX11VideoSurface();
-
- WId winId() const;
- void setWinId(WId id);
-
- QRect displayRect() const;
- void setDisplayRect(const QRect &rect);
-
- QRect viewport() const;
- void setViewport(const QRect &rect);
-
- int brightness() const;
- void setBrightness(int brightness);
-
- int contrast() const;
- void setContrast(int contrast);
-
- int hue() const;
- void setHue(int hue);
-
- int saturation() const;
- void setSaturation(int saturation);
-
- QList<QVideoFrame::PixelFormat> supportedPixelFormats(
- QAbstractVideoBuffer::HandleType handleType = QAbstractVideoBuffer::NoHandle) const;
-
- bool start(const QVideoSurfaceFormat &format);
- void stop();
-
- bool present(const QVideoFrame &frame);
-
-private:
- WId m_winId;
- XvPortID m_portId;
- GC m_gc;
- XvImage *m_image;
- QList<QVideoFrame::PixelFormat> m_supportedPixelFormats;
- QVector<int> m_formatIds;
- QRect m_viewport;
- QRect m_displayRect;
- QPair<int, int> m_brightnessRange;
- QPair<int, int> m_contrastRange;
- QPair<int, int> m_hueRange;
- QPair<int, int> m_saturationRange;
-
- bool findPort();
- void querySupportedFormats();
-
- int getAttribute(const char *attribute, int minimum, int maximum) const;
- void setAttribute(const char *attribute, int value, int minimum, int maximum);
-
- static int redistribute(int value, int fromLower, int fromUpper, int toLower, int toUpper);
-};
-
-QT_END_NAMESPACE
-
-QT_END_HEADER
-
-#endif
diff --git a/src/plugins/mediaservices/mediaservices.pro b/src/plugins/mediaservices/mediaservices.pro
deleted file mode 100644
index 27f05bcb71..0000000000
--- a/src/plugins/mediaservices/mediaservices.pro
+++ /dev/null
@@ -1,13 +0,0 @@
-TEMPLATE = subdirs
-
-contains(QT_CONFIG, media-backend) {
- win32:!wince*: SUBDIRS += directshow
-
- mac: SUBDIRS += qt7
-
- unix:!mac:!symbian:contains(QT_CONFIG, gstreamer) {
- SUBDIRS += gstreamer
- }
-
- symbian:SUBDIRS += symbian
-}
diff --git a/src/plugins/mediaservices/qt7/mediaplayer/mediaplayer.pri b/src/plugins/mediaservices/qt7/mediaplayer/mediaplayer.pri
deleted file mode 100644
index 577209e1a7..0000000000
--- a/src/plugins/mediaservices/qt7/mediaplayer/mediaplayer.pri
+++ /dev/null
@@ -1,18 +0,0 @@
-INCLUDEPATH += $$PWD
-
-DEFINES += QMEDIA_QT7_PLAYER
-
-HEADERS += \
- $$PWD/qt7playercontrol.h \
- $$PWD/qt7playermetadata.h \
- $$PWD/qt7playerservice.h \
- $$PWD/qt7playersession.h
-
-OBJECTIVE_SOURCES += \
- $$PWD/qt7playercontrol.mm \
- $$PWD/qt7playermetadata.mm \
- $$PWD/qt7playerservice.mm \
- $$PWD/qt7playersession.mm
-
-
-
diff --git a/src/plugins/mediaservices/qt7/mediaplayer/qt7playercontrol.h b/src/plugins/mediaservices/qt7/mediaplayer/qt7playercontrol.h
deleted file mode 100644
index 5ac97b1800..0000000000
--- a/src/plugins/mediaservices/qt7/mediaplayer/qt7playercontrol.h
+++ /dev/null
@@ -1,128 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the plugins of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QT7PLAYERCONTROL_H
-#define QT7PLAYERCONTROL_H
-
-#include <QtCore/qobject.h>
-#include <QtGui/qmacdefines_mac.h>
-
-#include <QtMediaServices/qmediaplayercontrol.h>
-#include <QtMediaServices/qmediaplayer.h>
-
-
-QT_BEGIN_HEADER
-
-QT_BEGIN_NAMESPACE
-
-class QT7PlayerSession;
-class QT7PlayerService;
-class QMediaPlaylist;
-class QMediaPlaylistNavigator;
-
-class QT7PlayerControl : public QMediaPlayerControl
-{
-Q_OBJECT
-public:
- QT7PlayerControl(QObject *parent = 0);
- ~QT7PlayerControl();
-
- void setSession(QT7PlayerSession *session);
-
- QMediaPlayer::State state() const;
- QMediaPlayer::MediaStatus mediaStatus() const;
-
- QMediaContent media() const;
- const QIODevice *mediaStream() const;
- void setMedia(const QMediaContent &content, QIODevice *stream);
-
- qint64 position() const;
- qint64 duration() const;
-
- int bufferStatus() const;
-
- int volume() const;
- bool isMuted() const;
-
- bool isAudioAvailable() const;
- bool isVideoAvailable() const;
-
- bool isSeekable() const;
-
- QMediaTimeRange availablePlaybackRanges() const;
-
- qreal playbackRate() const;
- void setPlaybackRate(qreal rate);
-
-public Q_SLOTS:
- void setPosition(qint64 pos);
-
- void play();
- void pause();
- void stop();
-
- void setVolume(int volume);
- void setMuted(bool muted);
-
-Q_SIGNALS:
- void mediaChanged(const QMediaContent& content);
- void durationChanged(qint64 duration);
- void positionChanged(qint64 position);
- void stateChanged(QMediaPlayer::State newState);
- void mediaStatusChanged(QMediaPlayer::MediaStatus status);
- void volumeChanged(int volume);
- void mutedChanged(bool muted);
- void videoAvailableChanged(bool videoAvailable);
- void bufferStatusChanged(int percentFilled);
- void seekableChanged(bool);
- void seekRangeChanged(const QPair<qint64,qint64>&);
- void playbackRateChanged(qreal rate);
- void error(int error, const QString &errorString);
-
-private:
- QT7PlayerSession *m_session;
-};
-
-QT_END_NAMESPACE
-
-QT_END_HEADER
-
-#endif
diff --git a/src/plugins/mediaservices/qt7/mediaplayer/qt7playercontrol.mm b/src/plugins/mediaservices/qt7/mediaplayer/qt7playercontrol.mm
deleted file mode 100644
index ba2255292a..0000000000
--- a/src/plugins/mediaservices/qt7/mediaplayer/qt7playercontrol.mm
+++ /dev/null
@@ -1,193 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the plugins of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "qt7playercontrol.h"
-#include "qt7playersession.h"
-
-#include <QtMediaServices/qmediaplaylistnavigator.h>
-
-#include <QtCore/qurl.h>
-#include <QtCore/qdebug.h>
-
-
-QT_BEGIN_NAMESPACE
-
-QT7PlayerControl::QT7PlayerControl(QObject *parent)
- : QMediaPlayerControl(parent)
-{
-}
-
-QT7PlayerControl::~QT7PlayerControl()
-{
-}
-
-void QT7PlayerControl::setSession(QT7PlayerSession *session)
-{
- m_session = session;
-
- connect(m_session, SIGNAL(positionChanged(qint64)), this, SIGNAL(positionChanged(qint64)));
- connect(m_session, SIGNAL(durationChanged(qint64)), this, SIGNAL(durationChanged(qint64)));
- connect(m_session, SIGNAL(stateChanged(QMediaPlayer::State)),
- this, SIGNAL(stateChanged(QMediaPlayer::State)));
- connect(m_session, SIGNAL(mediaStatusChanged(QMediaPlayer::MediaStatus)),
- this, SIGNAL(mediaStatusChanged(QMediaPlayer::MediaStatus)));
- connect(m_session, SIGNAL(volumeChanged(int)), this, SIGNAL(volumeChanged(int)));
- connect(m_session, SIGNAL(mutedChanged(bool)), this, SIGNAL(mutedChanged(bool)));
- connect(m_session, SIGNAL(audioAvailableChanged(bool)), this, SIGNAL(audioAvailableChanged(bool)));
- connect(m_session, SIGNAL(videoAvailableChanged(bool)), this, SIGNAL(videoAvailableChanged(bool)));
- connect(m_session, SIGNAL(error(int,QString)), this, SIGNAL(error(int,QString)));
-}
-
-qint64 QT7PlayerControl::position() const
-{
- return m_session->position();
-}
-
-qint64 QT7PlayerControl::duration() const
-{
- return m_session->duration();
-}
-
-QMediaPlayer::State QT7PlayerControl::state() const
-{
- return m_session->state();
-}
-
-QMediaPlayer::MediaStatus QT7PlayerControl::mediaStatus() const
-{
- return m_session->mediaStatus();
-}
-
-int QT7PlayerControl::bufferStatus() const
-{
- return m_session->bufferStatus();
-}
-
-int QT7PlayerControl::volume() const
-{
- return m_session->volume();
-}
-
-bool QT7PlayerControl::isMuted() const
-{
- return m_session->isMuted();
-}
-
-bool QT7PlayerControl::isSeekable() const
-{
- return m_session->isSeekable();
-}
-
-QMediaTimeRange QT7PlayerControl::availablePlaybackRanges() const
-{
- return isSeekable() ? QMediaTimeRange(0, duration()) : QMediaTimeRange();
-}
-
-qreal QT7PlayerControl::playbackRate() const
-{
- return m_session->playbackRate();
-}
-
-void QT7PlayerControl::setPlaybackRate(qreal rate)
-{
- m_session->setPlaybackRate(rate);
-}
-
-void QT7PlayerControl::setPosition(qint64 pos)
-{
- m_session->setPosition(pos);
-}
-
-void QT7PlayerControl::play()
-{
- m_session->play();
-}
-
-void QT7PlayerControl::pause()
-{
- m_session->pause();
-}
-
-void QT7PlayerControl::stop()
-{
- m_session->stop();
-}
-
-void QT7PlayerControl::setVolume(int volume)
-{
- m_session->setVolume(volume);
-}
-
-void QT7PlayerControl::setMuted(bool muted)
-{
- m_session->setMuted(muted);
-}
-
-QMediaContent QT7PlayerControl::media() const
-{
- return m_session->media();
-}
-
-const QIODevice *QT7PlayerControl::mediaStream() const
-{
- return m_session->mediaStream();
-}
-
-void QT7PlayerControl::setMedia(const QMediaContent &content, QIODevice *stream)
-{
- m_session->setMedia(content, stream);
-
- emit mediaChanged(content);
-}
-
-bool QT7PlayerControl::isAudioAvailable() const
-{
- return m_session->isAudioAvailable();
-}
-
-bool QT7PlayerControl::isVideoAvailable() const
-{
- return m_session->isVideoAvailable();
-}
-
-#include "moc_qt7playercontrol.cpp"
-
-QT_END_NAMESPACE
diff --git a/src/plugins/mediaservices/qt7/mediaplayer/qt7playermetadata.h b/src/plugins/mediaservices/qt7/mediaplayer/qt7playermetadata.h
deleted file mode 100644
index 8cbc29a218..0000000000
--- a/src/plugins/mediaservices/qt7/mediaplayer/qt7playermetadata.h
+++ /dev/null
@@ -1,84 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the plugins of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QT7PLAYERMETADATACONTROL_H
-#define QT7PLAYERMETADATACONTROL_H
-
-#include <QtMediaServices/qmetadatacontrol.h>
-
-
-QT_BEGIN_HEADER
-
-QT_BEGIN_NAMESPACE
-
-class QT7PlayerSession;
-
-class QT7PlayerMetaDataControl : public QMetaDataControl
-{
- Q_OBJECT
-public:
- QT7PlayerMetaDataControl(QT7PlayerSession *session, QObject *parent);
- virtual ~QT7PlayerMetaDataControl();
-
- bool isMetaDataAvailable() const;
- bool isWritable() const;
-
- QVariant metaData(QtMediaServices::MetaData key) const;
- void setMetaData(QtMediaServices::MetaData key, const QVariant &value);
- QList<QtMediaServices::MetaData> availableMetaData() const;
-
- QVariant extendedMetaData(const QString &key) const ;
- void setExtendedMetaData(const QString &key, const QVariant &value);
- QStringList availableExtendedMetaData() const;
-
-private slots:
- void updateTags();
-
-private:
- QT7PlayerSession *m_session;
- QMap<QtMediaServices::MetaData, QVariant> m_tags;
-};
-
-QT_END_NAMESPACE
-
-QT_END_HEADER
-
-#endif
diff --git a/src/plugins/mediaservices/qt7/mediaplayer/qt7playermetadata.mm b/src/plugins/mediaservices/qt7/mediaplayer/qt7playermetadata.mm
deleted file mode 100644
index 2ea778d6a1..0000000000
--- a/src/plugins/mediaservices/qt7/mediaplayer/qt7playermetadata.mm
+++ /dev/null
@@ -1,274 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the plugins of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "qt7backend.h"
-#include "qt7playermetadata.h"
-#include "qt7playersession.h"
-#include <QtCore/qvarlengtharray.h>
-
-#import <QTKit/QTMovie.h>
-
-#ifdef QUICKTIME_C_API_AVAILABLE
- #include <QuickTime/QuickTime.h>
- #undef check // avoid name clash;
-#endif
-
-QT_BEGIN_NAMESPACE
-
-QT7PlayerMetaDataControl::QT7PlayerMetaDataControl(QT7PlayerSession *session, QObject *parent)
- :QMetaDataControl(parent), m_session(session)
-{
-}
-
-QT7PlayerMetaDataControl::~QT7PlayerMetaDataControl()
-{
-}
-
-bool QT7PlayerMetaDataControl::isMetaDataAvailable() const
-{
- return !m_tags.isEmpty();
-}
-
-bool QT7PlayerMetaDataControl::isWritable() const
-{
- return false;
-}
-
-QVariant QT7PlayerMetaDataControl::metaData(QtMediaServices::MetaData key) const
-{
- return m_tags.value(key);
-}
-
-void QT7PlayerMetaDataControl::setMetaData(QtMediaServices::MetaData key, QVariant const &value)
-{
- Q_UNUSED(key);
- Q_UNUSED(value);
-}
-
-QList<QtMediaServices::MetaData> QT7PlayerMetaDataControl::availableMetaData() const
-{
- return m_tags.keys();
-}
-
-QVariant QT7PlayerMetaDataControl::extendedMetaData(const QString &key) const
-{
- Q_UNUSED(key);
- return QVariant();
-}
-
-void QT7PlayerMetaDataControl::setExtendedMetaData(const QString &key, QVariant const &value)
-{
- Q_UNUSED(key);
- Q_UNUSED(value);
-}
-
-QStringList QT7PlayerMetaDataControl::availableExtendedMetaData() const
-{
- return QStringList();
-}
-
-#ifdef QUICKTIME_C_API_AVAILABLE
-
-static QString stripCopyRightSymbol(const QString &key)
-{
- return key.right(key.length()-1);
-}
-
-static QString convertQuickTimeKeyToUserKey(const QString &key)
-{
- if (key == QLatin1String("com.apple.quicktime.displayname"))
- return QLatin1String("nam");
- else if (key == QLatin1String("com.apple.quicktime.album"))
- return QLatin1String("alb");
- else if (key == QLatin1String("com.apple.quicktime.artist"))
- return QLatin1String("ART");
- else
- return QLatin1String("???");
-}
-
-static OSStatus readMetaValue(QTMetaDataRef metaDataRef, QTMetaDataItem item, QTPropertyClass propClass,
- QTPropertyID id, QTPropertyValuePtr *value, ByteCount *size)
-{
- QTPropertyValueType type;
- ByteCount propSize;
- UInt32 propFlags;
- OSStatus err = QTMetaDataGetItemPropertyInfo(metaDataRef, item, propClass, id, &type, &propSize, &propFlags);
-
- if (err == noErr) {
- *value = malloc(propSize);
- if (*value != 0) {
- err = QTMetaDataGetItemProperty(metaDataRef, item, propClass, id, propSize, *value, size);
-
- if (err == noErr && (type == 'code' || type == 'itsk' || type == 'itlk')) {
- // convert from native endian to big endian
- OSTypePtr pType = (OSTypePtr)*value;
- *pType = EndianU32_NtoB(*pType);
- }
- }
- else
- return -1;
- }
-
- return err;
-}
-
-static UInt32 getMetaType(QTMetaDataRef metaDataRef, QTMetaDataItem item)
-{
- QTPropertyValuePtr value = 0;
- ByteCount ignore = 0;
- OSStatus err = readMetaValue(
- metaDataRef, item, kPropertyClass_MetaDataItem, kQTMetaDataItemPropertyID_DataType, &value, &ignore);
-
- if (err == noErr) {
- UInt32 type = *((UInt32 *) value);
- if (value)
- free(value);
- return type;
- }
-
- return 0;
-}
-
-static QString cFStringToQString(CFStringRef str)
-{
- if(!str)
- return QString();
- CFIndex length = CFStringGetLength(str);
- const UniChar *chars = CFStringGetCharactersPtr(str);
- if (chars)
- return QString(reinterpret_cast<const QChar *>(chars), length);
-
- QVarLengthArray<UniChar> buffer(length);
- CFStringGetCharacters(str, CFRangeMake(0, length), buffer.data());
- return QString(reinterpret_cast<const QChar *>(buffer.constData()), length);
-}
-
-
-static QString getMetaValue(QTMetaDataRef metaDataRef, QTMetaDataItem item, SInt32 id)
-{
- QTPropertyValuePtr value = 0;
- ByteCount size = 0;
- OSStatus err = readMetaValue(metaDataRef, item, kPropertyClass_MetaDataItem, id, &value, &size);
- QString string;
-
- if (err == noErr) {
- UInt32 dataType = getMetaType(metaDataRef, item);
- switch (dataType){
- case kQTMetaDataTypeUTF8:
- case kQTMetaDataTypeMacEncodedText:
- string = cFStringToQString(CFStringCreateWithBytes(0, (UInt8*)value, size, kCFStringEncodingUTF8, false));
- break;
- case kQTMetaDataTypeUTF16BE:
- string = cFStringToQString(CFStringCreateWithBytes(0, (UInt8*)value, size, kCFStringEncodingUTF16BE, false));
- break;
- default:
- break;
- }
-
- if (value)
- free(value);
- }
-
- return string;
-}
-
-
-static void readFormattedData(QTMetaDataRef metaDataRef, OSType format, QMultiMap<QString, QString> &result)
-{
- QTMetaDataItem item = kQTMetaDataItemUninitialized;
- OSStatus err = QTMetaDataGetNextItem(metaDataRef, format, item, kQTMetaDataKeyFormatWildcard, 0, 0, &item);
- while (err == noErr){
- QString key = getMetaValue(metaDataRef, item, kQTMetaDataItemPropertyID_Key);
- if (format == kQTMetaDataStorageFormatQuickTime)
- key = convertQuickTimeKeyToUserKey(key);
- else
- key = stripCopyRightSymbol(key);
-
- if (!result.contains(key)){
- QString val = getMetaValue(metaDataRef, item, kQTMetaDataItemPropertyID_Value);
- result.insert(key, val);
- }
- err = QTMetaDataGetNextItem(metaDataRef, format, item, kQTMetaDataKeyFormatWildcard, 0, 0, &item);
- }
-}
-#endif
-
-
-void QT7PlayerMetaDataControl::updateTags()
-{
- bool wasEmpty = m_tags.isEmpty();
- m_tags.clear();
-
- QTMovie *movie = (QTMovie*)m_session->movie();
-
- if (movie) {
- QMultiMap<QString, QString> metaMap;
-
-#ifdef QUICKTIME_C_API_AVAILABLE
- QTMetaDataRef metaDataRef;
- OSStatus err = QTCopyMovieMetaData([movie quickTimeMovie], &metaDataRef);
- if (err == noErr) {
- readFormattedData(metaDataRef, kQTMetaDataStorageFormatUserData, metaMap);
- readFormattedData(metaDataRef, kQTMetaDataStorageFormatQuickTime, metaMap);
- readFormattedData(metaDataRef, kQTMetaDataStorageFormatiTunes, metaMap);
- }
-#else
- AutoReleasePool pool;
- NSString *name = [movie attributeForKey:@"QTMovieDisplayNameAttribute"];
- metaMap.insert(QLatin1String("nam"), QString::fromUtf8([name UTF8String]));
-#endif // QUICKTIME_C_API_AVAILABLE
-
- m_tags.insert(QtMediaServices::AlbumArtist, metaMap.value(QLatin1String("ART")));
- m_tags.insert(QtMediaServices::AlbumTitle, metaMap.value(QLatin1String("alb")));
- m_tags.insert(QtMediaServices::Title, metaMap.value(QLatin1String("nam")));
- m_tags.insert(QtMediaServices::Date, metaMap.value(QLatin1String("day")));
- m_tags.insert(QtMediaServices::Genre, metaMap.value(QLatin1String("gnre")));
- m_tags.insert(QtMediaServices::TrackNumber, metaMap.value(QLatin1String("trk")));
- m_tags.insert(QtMediaServices::Description, metaMap.value(QLatin1String("des")));
- }
-
- if (!wasEmpty || !m_tags.isEmpty())
- emit metaDataChanged();
-}
-
-QT_END_NAMESPACE
-
-#include "moc_qt7playermetadata.cpp"
diff --git a/src/plugins/mediaservices/qt7/mediaplayer/qt7playerservice.h b/src/plugins/mediaservices/qt7/mediaplayer/qt7playerservice.h
deleted file mode 100644
index 9a22c31df5..0000000000
--- a/src/plugins/mediaservices/qt7/mediaplayer/qt7playerservice.h
+++ /dev/null
@@ -1,90 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the plugins of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QT7PLAYERSERVICE_H
-#define QT7PLAYERSERVICE_H
-
-#include <QtCore/qobject.h>
-#include <QtMediaServices/qmediaservice.h>
-
-
-QT_BEGIN_HEADER
-
-QT_BEGIN_NAMESPACE
-
-class QMediaMetaData;
-class QMediaPlayerControl;
-class QMediaPlaylist;
-class QMediaPlaylistNavigator;
-class QT7PlayerControl;
-class QT7PlayerMetaDataControl;
-class QT7VideoOutputControl;
-class QT7VideoWindowControl;
-class QT7VideoWidgetControl;
-class QT7VideoRendererControl;
-class QT7VideoOutput;
-class QT7PlayerSession;
-
-class QT7PlayerService : public QMediaService
-{
-Q_OBJECT
-public:
- QT7PlayerService(QObject *parent = 0);
- ~QT7PlayerService();
-
- QMediaControl *control(const char *name) const;
-
-private slots:
- void updateVideoOutput();
-
-private:
- QT7PlayerSession *m_session;
- QT7PlayerControl *m_control;
- QT7VideoOutputControl *m_videoOutputControl;
- QT7VideoWindowControl *m_videoWidnowControl;
- QT7VideoWidgetControl *m_videoWidgetControl;
- QT7VideoRendererControl *m_videoRendererControl;
- QT7PlayerMetaDataControl *m_playerMetaDataControl;
-};
-
-QT_END_NAMESPACE
-
-#endif
diff --git a/src/plugins/mediaservices/qt7/mediaplayer/qt7playerservice.mm b/src/plugins/mediaservices/qt7/mediaplayer/qt7playerservice.mm
deleted file mode 100644
index cf796220f6..0000000000
--- a/src/plugins/mediaservices/qt7/mediaplayer/qt7playerservice.mm
+++ /dev/null
@@ -1,152 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the plugins of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include <QtCore/qvariant.h>
-#include <QtCore/qdebug.h>
-#include <QtGui/qwidget.h>
-
-#include "qt7backend.h"
-#include "qt7playerservice.h"
-#include "qt7playercontrol.h"
-#include "qt7playersession.h"
-#include "qt7videooutputcontrol.h"
-#include "qt7movieviewoutput.h"
-#include "qt7movieviewrenderer.h"
-#include "qt7movierenderer.h"
-#include "qt7movievideowidget.h"
-#include "qt7playermetadata.h"
-
-#include <QtMediaServices/qmediaplaylistnavigator.h>
-#include <QtMediaServices/qmediaplaylist.h>
-
-QT_BEGIN_NAMESPACE
-
-QT7PlayerService::QT7PlayerService(QObject *parent):
- QMediaService(parent)
-{
- m_session = new QT7PlayerSession(this);
-
- m_control = new QT7PlayerControl(this);
- m_control->setSession(m_session);
-
- m_playerMetaDataControl = new QT7PlayerMetaDataControl(m_session, this);
- connect(m_control, SIGNAL(mediaChanged(QMediaContent)), m_playerMetaDataControl, SLOT(updateTags()));
-
- m_videoOutputControl = new QT7VideoOutputControl(this);
-
- m_videoWidnowControl = 0;
- m_videoWidgetControl = 0;
- m_videoRendererControl = 0;
-
-#if defined(QT_MAC_USE_COCOA)
- m_videoWidnowControl = new QT7MovieViewOutput(this);
- m_videoOutputControl->enableOutput(QVideoOutputControl::WindowOutput);
-// qDebug() << "Using cocoa";
-#endif
-
-#ifdef QUICKTIME_C_API_AVAILABLE
- m_videoRendererControl = new QT7MovieRenderer(this);
- m_videoOutputControl->enableOutput(QVideoOutputControl::RendererOutput);
-
- m_videoWidgetControl = new QT7MovieVideoWidget(this);
- m_videoOutputControl->enableOutput(QVideoOutputControl::WidgetOutput);
-// qDebug() << "QuickTime C API is available";
-#else
- m_videoRendererControl = new QT7MovieViewRenderer(this);
- m_videoOutputControl->enableOutput(QVideoOutputControl::RendererOutput);
-// qDebug() << "QuickTime C API is not available";
-#endif
-
-
- connect(m_videoOutputControl, SIGNAL(videoOutputChanged(QVideoOutputControl::Output)),
- this, SLOT(updateVideoOutput()));
-}
-
-QT7PlayerService::~QT7PlayerService()
-{
- m_session->setVideoOutput(0);
-}
-
-QMediaControl *QT7PlayerService::control(const char *name) const
-{
- if (qstrcmp(name, QMediaPlayerControl_iid) == 0)
- return m_control;
-
- if (qstrcmp(name, QVideoOutputControl_iid) == 0)
- return m_videoOutputControl;
-
- if (qstrcmp(name, QVideoWindowControl_iid) == 0)
- return m_videoWidnowControl;
-
- if (qstrcmp(name, QVideoRendererControl_iid) == 0)
- return m_videoRendererControl;
-
- if (qstrcmp(name, QVideoWidgetControl_iid) == 0)
- return m_videoWidgetControl;
-
- if (qstrcmp(name, QMetaDataControl_iid) == 0)
- return m_playerMetaDataControl;
-
- return 0;
-}
-
-void QT7PlayerService::updateVideoOutput()
-{
-// qDebug() << "QT7PlayerService::updateVideoOutput" << m_videoOutputControl->output();
-
- switch (m_videoOutputControl->output()) {
- case QVideoOutputControl::WindowOutput:
- m_session->setVideoOutput(m_videoWidnowControl);
- break;
- case QVideoOutputControl::RendererOutput:
- m_session->setVideoOutput(m_videoRendererControl);
- break;
- case QVideoOutputControl::WidgetOutput:
- m_session->setVideoOutput(m_videoWidgetControl);
- break;
- default:
- m_session->setVideoOutput(0);
- }
-}
-
-QT_END_NAMESPACE
-
-#include "moc_qt7playerservice.cpp"
diff --git a/src/plugins/mediaservices/qt7/mediaplayer/qt7playersession.h b/src/plugins/mediaservices/qt7/mediaplayer/qt7playersession.h
deleted file mode 100644
index 2450cf8c17..0000000000
--- a/src/plugins/mediaservices/qt7/mediaplayer/qt7playersession.h
+++ /dev/null
@@ -1,151 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the plugins of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QT7PLAYERSESSION_H
-#define QT7PLAYERSESSION_H
-
-#include <QtCore/qobject.h>
-#include <QtGui/qmacdefines_mac.h>
-
-#include <QtMediaServices/qmediaplayercontrol.h>
-#include <QtMediaServices/qmediaplayer.h>
-
-
-QT_BEGIN_HEADER
-
-QT_BEGIN_NAMESPACE
-
-class QT7PlayerControl;
-class QMediaPlaylist;
-class QMediaPlaylistNavigator;
-class QT7VideoOutput;
-class QT7PlayerSession;
-class QT7PlayerService;
-
-class QT7PlayerSession : public QObject
-{
-Q_OBJECT
-public:
- QT7PlayerSession(QObject *parent = 0);
- ~QT7PlayerSession();
-
- void *movie() const;
-
- void setControl(QT7PlayerControl *control);
- void setVideoOutput(QT7VideoOutput *output);
-
- QMediaPlayer::State state() const;
- QMediaPlayer::MediaStatus mediaStatus() const;
-
- QMediaContent media() const;
- const QIODevice *mediaStream() const;
- void setMedia(const QMediaContent &content, QIODevice *stream);
-
- qint64 position() const;
- qint64 duration() const;
-
- int bufferStatus() const;
-
- int volume() const;
- bool isMuted() const;
-
- bool isAudioAvailable() const;
- bool isVideoAvailable() const;
-
- bool isSeekable() const;
-
- qreal playbackRate() const;
-
-public slots:
- void setPlaybackRate(qreal rate);
-
- void setPosition(qint64 pos);
-
- void play();
- void pause();
- void stop();
-
- void setVolume(int volume);
- void setMuted(bool muted);
-
- void processEOS();
- void processLoadStateChange();
- void processVolumeChange();
- void processNaturalSizeChange();
-
-signals:
- void positionChanged(qint64 position);
- void durationChanged(qint64 duration);
- void stateChanged(QMediaPlayer::State newState);
- void mediaStatusChanged(QMediaPlayer::MediaStatus status);
- void volumeChanged(int volume);
- void mutedChanged(bool muted);
- void audioAvailableChanged(bool audioAvailable);
- void videoAvailableChanged(bool videoAvailable);
- void error(int error, const QString &errorString);
-
-private:
- void *m_QTMovie;
- void *m_movieObserver;
-
- QMediaPlayer::State m_state;
- QMediaPlayer::MediaStatus m_mediaStatus;
- QIODevice *m_mediaStream;
- QMediaContent m_resources;
-
- QT7VideoOutput *m_videoOutput;
-
- mutable qint64 m_currentTime;
-
- bool m_muted;
- int m_volume;
- qreal m_rate;
-
- qint64 m_duration;
- bool m_videoAvailable;
- bool m_audioAvailable;
-};
-
-QT_END_NAMESPACE
-
-QT_END_HEADER
-
-#endif
diff --git a/src/plugins/mediaservices/qt7/mediaplayer/qt7playersession.mm b/src/plugins/mediaservices/qt7/mediaplayer/qt7playersession.mm
deleted file mode 100644
index 0405bbd490..0000000000
--- a/src/plugins/mediaservices/qt7/mediaplayer/qt7playersession.mm
+++ /dev/null
@@ -1,552 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the plugins of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#import <QTKit/QTDataReference.h>
-#import <QTKit/QTMovie.h>
-
-#include "qt7backend.h"
-
-#include "qt7playersession.h"
-#include "qt7playercontrol.h"
-#include "qt7videooutputcontrol.h"
-
-#include <QtNetwork/qnetworkcookie.h>
-#include <QtMediaServices/qmediaplaylistnavigator.h>
-
-#include <CoreFoundation/CoreFoundation.h>
-#include <Foundation/Foundation.h>
-
-#include <QtCore/qdatetime.h>
-#include <QtCore/qurl.h>
-#include <QtCore/qdebug.h>
-
-@interface QTMovieObserver : NSObject
-{
-@private
- QT7PlayerSession *m_session;
- QTMovie *m_movie;
-}
-
-- (QTMovieObserver *) initWithPlayerSession:(QT7PlayerSession*)session;
-- (void) setMovie:(QTMovie *)movie;
-- (void) processEOS:(NSNotification *)notification;
-- (void) processLoadStateChange:(NSNotification *)notification;
-- (void) processVolumeChange:(NSNotification *)notification;
-- (void) processNaturalSizeChange :(NSNotification *)notification;
-@end
-
-@implementation QTMovieObserver
-
-- (QTMovieObserver *) initWithPlayerSession:(QT7PlayerSession*)session
-{
- if (!(self = [super init]))
- return nil;
-
- self->m_session = session;
- return self;
-}
-
-- (void) setMovie:(QTMovie *)movie
-{
- if (m_movie == movie)
- return;
-
- if (m_movie) {
- [[NSNotificationCenter defaultCenter] removeObserver:self];
- [m_movie release];
- }
-
- m_movie = movie;
-
- if (movie) {
- [[NSNotificationCenter defaultCenter] addObserver:self
- selector:@selector(processEOS:)
- name:QTMovieDidEndNotification
- object:m_movie];
-
- [[NSNotificationCenter defaultCenter] addObserver:self
- selector:@selector(processLoadStateChange:)
- name:QTMovieLoadStateDidChangeNotification
- object:m_movie];
-
- [[NSNotificationCenter defaultCenter] addObserver:self
- selector:@selector(processVolumeChange:)
- name:QTMovieVolumeDidChangeNotification
- object:m_movie];
-
- [[NSNotificationCenter defaultCenter] addObserver:self
- selector:@selector(processNaturalSizeChange:)
- name:
-#if defined(MAC_OS_X_VERSION_10_6) && (MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_6)
- QTMovieNaturalSizeDidChangeNotification
-#else
- QTMovieEditedNotification
-#endif
- object:m_movie];
- [movie retain];
- }
-}
-
-- (void) processEOS:(NSNotification *)notification
-{
- Q_UNUSED(notification);
- QMetaObject::invokeMethod(m_session, "processEOS", Qt::AutoConnection);
-}
-
-- (void) processLoadStateChange:(NSNotification *)notification
-{
- Q_UNUSED(notification);
- QMetaObject::invokeMethod(m_session, "processLoadStateChange", Qt::AutoConnection);
-}
-
-- (void) processVolumeChange:(NSNotification *)notification
-{
- Q_UNUSED(notification);
- QMetaObject::invokeMethod(m_session, "processVolumeChange", Qt::AutoConnection);
-}
-
-- (void) processNaturalSizeChange :(NSNotification *)notification
-{
- Q_UNUSED(notification);
- QMetaObject::invokeMethod(m_session, "processNaturalSizeChange", Qt::AutoConnection);
-}
-
-@end
-
-QT_BEGIN_NAMESPACE
-
-static inline NSString *qString2CFStringRef(const QString &string)
-{
- return [NSString stringWithCharacters:reinterpret_cast<const UniChar *>(string.unicode()) length:string.length()];
-}
-
-QT7PlayerSession::QT7PlayerSession(QObject *parent)
- : QObject(parent)
- , m_QTMovie(0)
- , m_state(QMediaPlayer::StoppedState)
- , m_mediaStatus(QMediaPlayer::NoMedia)
- , m_mediaStream(0)
- , m_videoOutput(0)
- , m_muted(false)
- , m_volume(100)
- , m_rate(1.0)
- , m_duration(0)
- , m_videoAvailable(false)
- , m_audioAvailable(false)
-{
- m_movieObserver = [[QTMovieObserver alloc] initWithPlayerSession:this];
-}
-
-QT7PlayerSession::~QT7PlayerSession()
-{
- [(QTMovieObserver*)m_movieObserver setMovie:nil];
- [(QTMovieObserver*)m_movieObserver release];
- [(QTMovie*)m_QTMovie release];
-}
-
-void *QT7PlayerSession::movie() const
-{
- return m_QTMovie;
-}
-
-void QT7PlayerSession::setVideoOutput(QT7VideoOutput *output)
-{
- if (m_videoOutput == output)
- return;
-
- if (m_videoOutput)
- m_videoOutput->setMovie(0);
-
- m_videoOutput = output;
-
- if (m_videoOutput && m_state != QMediaPlayer::StoppedState)
- m_videoOutput->setMovie(m_QTMovie);
-}
-
-
-qint64 QT7PlayerSession::position() const
-{
- if (!m_QTMovie || m_state == QMediaPlayer::PausedState)
- return m_currentTime;
-
- AutoReleasePool pool;
-
- QTTime qtTime = [(QTMovie*)m_QTMovie currentTime];
- quint64 t = static_cast<quint64>(float(qtTime.timeValue) / float(qtTime.timeScale) * 1000.0f);
- m_currentTime = t;
-
- return m_currentTime;
-}
-
-qint64 QT7PlayerSession::duration() const
-{
- if (!m_QTMovie)
- return 0;
-
- AutoReleasePool pool;
-
- QTTime qtTime = [(QTMovie*)m_QTMovie duration];
-
- return static_cast<quint64>(float(qtTime.timeValue) / float(qtTime.timeScale) * 1000.0f);
-}
-
-QMediaPlayer::State QT7PlayerSession::state() const
-{
- return m_state;
-}
-
-QMediaPlayer::MediaStatus QT7PlayerSession::mediaStatus() const
-{
- return m_mediaStatus;
-}
-
-int QT7PlayerSession::bufferStatus() const
-{
- return 100;
-}
-
-int QT7PlayerSession::volume() const
-{
- return m_volume;
-}
-
-bool QT7PlayerSession::isMuted() const
-{
- return m_muted;
-}
-
-bool QT7PlayerSession::isSeekable() const
-{
- return true;
-}
-
-qreal QT7PlayerSession::playbackRate() const
-{
- return m_rate;
-}
-
-void QT7PlayerSession::setPlaybackRate(qreal rate)
-{
- if (qFuzzyCompare(m_rate, rate))
- return;
-
- m_rate = rate;
-
- if (m_QTMovie && m_state == QMediaPlayer::PlayingState) {
- float preferredRate = [[(QTMovie*)m_QTMovie attributeForKey:@"QTMoviePreferredRateAttribute"] floatValue];
- [(QTMovie*)m_QTMovie setRate:preferredRate*m_rate];
- }
-}
-
-void QT7PlayerSession::setPosition(qint64 pos)
-{
- if ( !isSeekable() || pos == position())
- return;
-
- AutoReleasePool pool;
-
- pos = qMin(pos, duration());
-
- QTTime newQTTime = [(QTMovie*)m_QTMovie currentTime];
- newQTTime.timeValue = (pos / 1000.0f) * newQTTime.timeScale;
- [(QTMovie*)m_QTMovie setCurrentTime:newQTTime];
-}
-
-void QT7PlayerSession::play()
-{
- if (m_videoOutput)
- m_videoOutput->setMovie(m_QTMovie);
-
- float preferredRate = [[(QTMovie*)m_QTMovie attributeForKey:@"QTMoviePreferredRateAttribute"] floatValue];
- [(QTMovie*)m_QTMovie setRate:preferredRate*m_rate];
-
- if (m_state != QMediaPlayer::PlayingState)
- emit stateChanged(m_state = QMediaPlayer::PlayingState);
-}
-
-void QT7PlayerSession::pause()
-{
- if (m_videoOutput)
- m_videoOutput->setMovie(m_QTMovie);
-
- m_state = QMediaPlayer::PausedState;
-
- [(QTMovie*)m_QTMovie setRate:0];
-
- emit stateChanged(m_state);
-}
-
-void QT7PlayerSession::stop()
-{
- m_state = QMediaPlayer::StoppedState;
-
- [(QTMovie*)m_QTMovie setRate:0];
- setPosition(0);
-
- if (m_videoOutput)
- m_videoOutput->setMovie(0);
-
- if (m_state == QMediaPlayer::StoppedState)
- emit stateChanged(m_state);
-}
-
-void QT7PlayerSession::setVolume(int volume)
-{
- if (m_QTMovie) {
- m_volume = volume;
- [(QTMovie*)m_QTMovie setVolume:(volume/100.0f)];
- }
-}
-
-void QT7PlayerSession::setMuted(bool muted)
-{
- if (m_muted != muted) {
- m_muted = muted;
-
- if (m_QTMovie)
- [(QTMovie*)m_QTMovie setMuted:m_muted];
-
- emit mutedChanged(muted);
- }
-}
-
-QMediaContent QT7PlayerSession::media() const
-{
- return m_resources;
-}
-
-const QIODevice *QT7PlayerSession::mediaStream() const
-{
- return m_mediaStream;
-}
-
-void QT7PlayerSession::setMedia(const QMediaContent &content, QIODevice *stream)
-{
- AutoReleasePool pool;
-
- if (m_QTMovie) {
- [(QTMovieObserver*)m_movieObserver setMovie:nil];
-
- if (m_videoOutput)
- m_videoOutput->setMovie(0);
-
- [(QTMovie*)m_QTMovie release];
- m_QTMovie = 0;
- }
-
- m_resources = content;
- m_mediaStream = stream;
- m_mediaStatus = QMediaPlayer::NoMedia;
-
- QNetworkRequest request;
-
- if (!content.isNull())
- request = content.canonicalResource().request();
- else
- return;
-
- QVariant cookies = request.header(QNetworkRequest::CookieHeader);
- if (cookies.isValid()) {
- NSHTTPCookieStorage *store = [NSHTTPCookieStorage sharedHTTPCookieStorage];
- QList<QNetworkCookie> cookieList = cookies.value<QList<QNetworkCookie> >();
-
- foreach (const QNetworkCookie &requestCookie, cookieList) {
- NSMutableDictionary *p = [NSMutableDictionary dictionaryWithObjectsAndKeys:
- qString2CFStringRef(requestCookie.name()), NSHTTPCookieName,
- qString2CFStringRef(requestCookie.value()), NSHTTPCookieValue,
- qString2CFStringRef(requestCookie.domain()), NSHTTPCookieDomain,
- qString2CFStringRef(requestCookie.path()), NSHTTPCookiePath,
- nil
- ];
- if (requestCookie.isSessionCookie())
- [p setObject:[NSString stringWithUTF8String:"TRUE"] forKey:NSHTTPCookieDiscard];
- else
- [p setObject:[NSDate dateWithTimeIntervalSince1970:requestCookie.expirationDate().toTime_t()] forKey:NSHTTPCookieExpires];
-
- [store setCookie:[NSHTTPCookie cookieWithProperties:p]];
- }
- }
-
- NSError *err = 0;
- NSString *urlString = qString2CFStringRef(request.url().toString());
-
- NSDictionary *attr = [NSDictionary dictionaryWithObjectsAndKeys:
- [NSURL URLWithString:urlString], QTMovieURLAttribute,
- [NSNumber numberWithBool:YES], QTMovieOpenAsyncOKAttribute,
- [NSNumber numberWithBool:YES], QTMovieIsActiveAttribute,
- [NSNumber numberWithBool:YES], QTMovieResolveDataRefsAttribute,
- [NSNumber numberWithBool:YES], QTMovieDontInteractWithUserAttribute,
- nil];
-
- m_QTMovie = [[QTMovie movieWithAttributes:attr error:&err] retain];
-
- if (err) {
- [(QTMovie*)m_QTMovie release];
- m_QTMovie = 0;
- QString description = QString::fromUtf8([[err localizedDescription] UTF8String]);
-
- emit error(QMediaPlayer::FormatError, description );
- } else {
- [(QTMovieObserver*)m_movieObserver setMovie:(QTMovie*)m_QTMovie];
-
- if (m_videoOutput && m_state != QMediaPlayer::StoppedState)
- m_videoOutput->setMovie(m_QTMovie);
-
- processLoadStateChange();
-
- [(QTMovie*)m_QTMovie setMuted:m_muted];
- setVolume(m_volume);
- }
-}
-
-bool QT7PlayerSession::isAudioAvailable() const
-{
- if (!m_QTMovie)
- return false;
-
- AutoReleasePool pool;
- return [[(QTMovie*)m_QTMovie attributeForKey:@"QTMovieHasAudioAttribute"] boolValue] == YES;
-}
-
-bool QT7PlayerSession::isVideoAvailable() const
-{
- if (!m_QTMovie)
- return false;
-
- AutoReleasePool pool;
- return [[(QTMovie*)m_QTMovie attributeForKey:@"QTMovieHasVideoAttribute"] boolValue] == YES;
-}
-
-void QT7PlayerSession::processEOS()
-{
- m_mediaStatus = QMediaPlayer::EndOfMedia;
- if (m_videoOutput)
- m_videoOutput->setMovie(0);
- emit stateChanged(m_state = QMediaPlayer::StoppedState);
- emit mediaStatusChanged(m_mediaStatus);
-}
-
-void QT7PlayerSession::processLoadStateChange()
-{
- if (!m_QTMovie)
- return;
-
- signed long state = [[(QTMovie*)m_QTMovie attributeForKey:QTMovieLoadStateAttribute]
- longValue];
-// qDebug() << "Moview load state changed:" << state;
-
-#ifndef QUICKTIME_C_API_AVAILABLE
- enum {
- kMovieLoadStateError = -1L,
- kMovieLoadStateLoading = 1000,
- kMovieLoadStateLoaded = 2000,
- kMovieLoadStatePlayable = 10000,
- kMovieLoadStatePlaythroughOK = 20000,
- kMovieLoadStateComplete = 100000
- };
-#endif
-
- QMediaPlayer::MediaStatus newStatus = QMediaPlayer::NoMedia;
- bool isPlaying = (m_state != QMediaPlayer::StoppedState);
-
- if (state >= kMovieLoadStateComplete) {
- newStatus = isPlaying ? QMediaPlayer::BufferedMedia : QMediaPlayer::LoadedMedia;
- } else if (state >= kMovieLoadStatePlayable)
- newStatus = isPlaying ? QMediaPlayer::BufferingMedia : QMediaPlayer::LoadingMedia;
- else if (state >= kMovieLoadStateLoading)
- newStatus = isPlaying ? QMediaPlayer::StalledMedia : QMediaPlayer::LoadingMedia;
-
- if (state == kMovieLoadStateError) {
- newStatus = QMediaPlayer::InvalidMedia;
- if (m_videoOutput)
- m_videoOutput->setMovie(0);
-
- emit error(QMediaPlayer::FormatError, tr("Failed to load media"));
- emit stateChanged(m_state = QMediaPlayer::StoppedState);
- }
-
- if (state >= kMovieLoadStatePlayable &&
- m_state == QMediaPlayer::PlayingState &&
- [(QTMovie*)m_QTMovie rate] == 0) {
- QMetaObject::invokeMethod(this, "play", Qt::QueuedConnection);
- }
-
- if (state >= kMovieLoadStateLoaded) {
- qint64 currentDuration = duration();
- if (m_duration != currentDuration)
- emit durationChanged(m_duration = currentDuration);
-
- if (m_audioAvailable != isAudioAvailable())
- emit audioAvailableChanged(m_audioAvailable = !m_audioAvailable);
-
- if (m_videoAvailable != isVideoAvailable())
- emit videoAvailableChanged(m_videoAvailable = !m_videoAvailable);
- }
-
- if (newStatus != m_mediaStatus)
- emit mediaStatusChanged(m_mediaStatus = newStatus);
-}
-
-void QT7PlayerSession::processVolumeChange()
-{
- if (!m_QTMovie)
- return;
-
- int newVolume = qRound(100.0f*[((QTMovie*)m_QTMovie) volume]);
-
- if (newVolume != m_volume) {
- emit volumeChanged(m_volume = newVolume);
- }
-}
-
-void QT7PlayerSession::processNaturalSizeChange()
-{
- if (m_videoOutput) {
- NSSize size = [[(QTMovie*)m_QTMovie attributeForKey:@"QTMovieNaturalSizeAttribute"] sizeValue];
-// qDebug() << "Native size changed:" << QSize(size.width, size.height);
- m_videoOutput->updateNaturalSize(QSize(size.width, size.height));
- }
-}
-
-#include "moc_qt7playersession.cpp"
-
-QT_END_NAMESPACE
-
diff --git a/src/plugins/mediaservices/qt7/qcvdisplaylink.h b/src/plugins/mediaservices/qt7/qcvdisplaylink.h
deleted file mode 100644
index 5a1180d965..0000000000
--- a/src/plugins/mediaservices/qt7/qcvdisplaylink.h
+++ /dev/null
@@ -1,90 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the plugins of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QCVDISPLAYLINK_H
-#define QCVDISPLAYLINK_H
-
-#include <QtCore/qobject.h>
-#include <QtCore/qmutex.h>
-
-#include <QuartzCore/CVDisplayLink.h>
-
-QT_BEGIN_HEADER
-
-QT_BEGIN_NAMESPACE
-
-class QCvDisplayLink : public QObject
-{
-Q_OBJECT
-public:
- QCvDisplayLink(QObject *parent = 0);
- virtual ~QCvDisplayLink();
-
- bool isValid();
- bool isActive() const;
-
-public slots:
- void start();
- void stop();
-
-signals:
- void tick(const CVTimeStamp &ts);
-
-public:
- void displayLinkEvent(const CVTimeStamp *);
-
-protected:
- virtual bool event(QEvent *);
-
-private:
- CVDisplayLinkRef m_displayLink;
- QMutex m_displayLinkMutex;
- bool m_pendingDisplayLinkEvent;
- bool m_isActive;
- CVTimeStamp m_frameTimeStamp;
-};
-
-QT_END_NAMESPACE
-
-QT_END_HEADER
-
-#endif
-
diff --git a/src/plugins/mediaservices/qt7/qcvdisplaylink.mm b/src/plugins/mediaservices/qt7/qcvdisplaylink.mm
deleted file mode 100644
index 00b4dc567f..0000000000
--- a/src/plugins/mediaservices/qt7/qcvdisplaylink.mm
+++ /dev/null
@@ -1,158 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the plugins of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "qcvdisplaylink.h"
-
-#include <QtCore/qcoreapplication.h>
-#include <QtCore/qdebug.h>
-
-QT_BEGIN_NAMESPACE
-
-static CVReturn CVDisplayLinkCallback(CVDisplayLinkRef displayLink,
- const CVTimeStamp *inNow,
- const CVTimeStamp *inOutputTime,
- CVOptionFlags flagsIn,
- CVOptionFlags *flagsOut,
- void *displayLinkContext)
-{
- Q_UNUSED(displayLink);
- Q_UNUSED(inNow);
- Q_UNUSED(flagsIn);
- Q_UNUSED(flagsOut);
-
- QCvDisplayLink *link = (QCvDisplayLink *)displayLinkContext;
-
- link->displayLinkEvent(inOutputTime);
- return kCVReturnSuccess;
-}
-
-
-QCvDisplayLink::QCvDisplayLink(QObject *parent)
- :QObject(parent),
- m_pendingDisplayLinkEvent(false),
- m_isActive(false)
-{
- // create display link for the main display
- CVDisplayLinkCreateWithCGDisplay(kCGDirectMainDisplay, &m_displayLink);
- if (m_displayLink) {
- // set the current display of a display link.
- CVDisplayLinkSetCurrentCGDisplay(m_displayLink, kCGDirectMainDisplay);
-
- // set the renderer output callback function
- CVDisplayLinkSetOutputCallback(m_displayLink, &CVDisplayLinkCallback, this);
- }
-}
-
-QCvDisplayLink::~QCvDisplayLink()
-{
- if (m_displayLink) {
- CVDisplayLinkStop(m_displayLink);
- CVDisplayLinkRelease(m_displayLink);
- m_displayLink = NULL;
- }
-}
-
-bool QCvDisplayLink::isValid()
-{
- return m_displayLink != 0;
-}
-
-bool QCvDisplayLink::isActive() const
-{
- return m_isActive;
-}
-
-void QCvDisplayLink::start()
-{
- if (m_displayLink && !m_isActive) {
- CVDisplayLinkStart(m_displayLink);
- m_isActive = true;
- }
-}
-
-void QCvDisplayLink::stop()
-{
- if (m_displayLink && m_isActive) {
- CVDisplayLinkStop(m_displayLink);
- m_isActive = false;
- }
-}
-
-void QCvDisplayLink::displayLinkEvent(const CVTimeStamp *ts)
-{
- // This function is called from a
- // thread != gui thread. So we post the event.
- // But we need to make sure that we don't post faster
- // than the event loop can eat:
- m_displayLinkMutex.lock();
- bool pending = m_pendingDisplayLinkEvent;
- m_pendingDisplayLinkEvent = true;
- m_frameTimeStamp = *ts;
- m_displayLinkMutex.unlock();
-
- if (!pending)
- qApp->postEvent(this, new QEvent(QEvent::User), Qt::HighEventPriority);
-}
-
-bool QCvDisplayLink::event(QEvent *event)
-{
- switch (event->type()){
- case QEvent::User: {
- m_displayLinkMutex.lock();
- m_pendingDisplayLinkEvent = false;
- CVTimeStamp ts = m_frameTimeStamp;
- m_displayLinkMutex.unlock();
-
- emit tick(ts);
-
- return false;
- }
- break;
- default:
- break;
- }
- return QObject::event(event);
-}
-
-QT_END_NAMESPACE
-
-#include "moc_qcvdisplaylink.cpp"
-
diff --git a/src/plugins/mediaservices/qt7/qt7.pro b/src/plugins/mediaservices/qt7/qt7.pro
deleted file mode 100644
index baac2245aa..0000000000
--- a/src/plugins/mediaservices/qt7/qt7.pro
+++ /dev/null
@@ -1,47 +0,0 @@
-TARGET = qqt7
-include(../../qpluginbase.pri)
-
-QT += opengl mediaservices
-
-LIBS += -framework AppKit -framework AudioUnit \
- -framework AudioToolbox -framework CoreAudio \
- -framework QuartzCore -framework QTKit
-
-# The Quicktime framework is only awailable for 32-bit builds, so we
-# need to check for this before linking against it.
-# QMAKE_MAC_XARCH is not awailable on Tiger, but at the same time,
-# we never build for 64-bit architechtures on Tiger either:
-contains(QMAKE_MAC_XARCH, no) {
- LIBS += -framework QuickTime
-} else {
- LIBS += -Xarch_i386 -framework QuickTime -Xarch_ppc -framework QuickTime
-}
-
-HEADERS += \
- qt7backend.h \
- qt7videooutputcontrol.h \
- qt7movieviewoutput.h \
- qt7movievideowidget.h \
- qt7movieviewrenderer.h \
- qt7serviceplugin.h \
- qt7movierenderer.h \
- qt7ciimagevideobuffer.h \
- qcvdisplaylink.h
-
-OBJECTIVE_SOURCES += \
- qt7backend.mm \
- qt7serviceplugin.mm \
- qt7movieviewoutput.mm \
- qt7movievideowidget.mm \
- qt7movieviewrenderer.mm \
- qt7movierenderer.mm \
- qt7videooutputcontrol.mm \
- qt7ciimagevideobuffer.mm \
- qcvdisplaylink.mm
-
-include(mediaplayer/mediaplayer.pri)
-
-QTDIR_build:DESTDIR = $$QT_BUILD_TREE/plugins/mediaservices
-target.path = $$[QT_INSTALL_PLUGINS]/mediaservices
-INSTALLS += target
-
diff --git a/src/plugins/mediaservices/qt7/qt7backend.h b/src/plugins/mediaservices/qt7/qt7backend.h
deleted file mode 100644
index 56689653de..0000000000
--- a/src/plugins/mediaservices/qt7/qt7backend.h
+++ /dev/null
@@ -1,68 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the plugins of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QT7BACKEND_H
-#define QT7BACKEND_H
-
-#include <QtCore/qstring.h>
-
-#ifndef Q_WS_MAC64
-#define QUICKTIME_C_API_AVAILABLE
-#endif
-
-QT_BEGIN_HEADER
-
-QT_BEGIN_NAMESPACE
-
-class AutoReleasePool
-{
-private:
- void *pool;
-public:
- AutoReleasePool();
- ~AutoReleasePool();
-};
-
-QT_END_NAMESPACE
-
-QT_END_HEADER
-
-#endif
diff --git a/src/plugins/mediaservices/qt7/qt7backend.mm b/src/plugins/mediaservices/qt7/qt7backend.mm
deleted file mode 100644
index 478589b7aa..0000000000
--- a/src/plugins/mediaservices/qt7/qt7backend.mm
+++ /dev/null
@@ -1,60 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the plugins of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "qt7backend.h"
-
-#import <Foundation/NSAutoreleasePool.h>
-#include <CoreFoundation/CFBase.h>
-
-
-QT_BEGIN_NAMESPACE
-
-AutoReleasePool::AutoReleasePool()
-{
- pool = (void*)[[NSAutoreleasePool alloc] init];
-}
-
-AutoReleasePool::~AutoReleasePool()
-{
- [(NSAutoreleasePool*)pool release];
-}
-
-QT_END_NAMESPACE
diff --git a/src/plugins/mediaservices/qt7/qt7ciimagevideobuffer.h b/src/plugins/mediaservices/qt7/qt7ciimagevideobuffer.h
deleted file mode 100644
index 669724fd92..0000000000
--- a/src/plugins/mediaservices/qt7/qt7ciimagevideobuffer.h
+++ /dev/null
@@ -1,90 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the plugins of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QT7CIIMAGEVIDEOBUFFER_H
-#define QT7CIIMAGEVIDEOBUFFER_H
-
-#include "qt7backend.h"
-#import <QTKit/QTKit.h>
-
-#include <QtCore/qvariant.h>
-#include <QtMultimedia/qabstractvideobuffer.h>
-
-
-//
-// W A R N I N G
-// -------------
-//
-// This file is not part of the Qt API. It exists purely as an
-// implementation detail. This header file may change from version to
-// version without notice, or even be removed.
-//
-// We mean it.
-//
-
-QT_BEGIN_HEADER
-
-QT_BEGIN_NAMESPACE
-
-class QT7CIImageVideoBuffer : public QAbstractVideoBuffer
-{
-public:
- QT7CIImageVideoBuffer(CIImage *image);
-
- virtual ~QT7CIImageVideoBuffer();
-
- MapMode mapMode() const;
- uchar *map(MapMode mode, int *numBytes, int *bytesPerLine);
- void unmap();
- QVariant handle() const;
-
-private:
- CIImage *m_image;
- NSBitmapImageRep *m_buffer;
- MapMode m_mode;
-};
-
-
-QT_END_NAMESPACE
-
-QT_END_HEADER
-
-#endif
diff --git a/src/plugins/mediaservices/qt7/qt7ciimagevideobuffer.mm b/src/plugins/mediaservices/qt7/qt7ciimagevideobuffer.mm
deleted file mode 100644
index 7c02f9fe91..0000000000
--- a/src/plugins/mediaservices/qt7/qt7ciimagevideobuffer.mm
+++ /dev/null
@@ -1,107 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the plugins of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "qt7ciimagevideobuffer.h"
-
-#include <QuartzCore/CIFilter.h>
-#include <QuartzCore/CIVector.h>
-
-QT7CIImageVideoBuffer::QT7CIImageVideoBuffer(CIImage *image)
- : QAbstractVideoBuffer(CoreImageHandle)
- , m_image(image)
- , m_buffer(0)
- , m_mode(NotMapped)
-{
- [m_image retain];
-}
-
-QT7CIImageVideoBuffer::~QT7CIImageVideoBuffer()
-{
- [m_image release];
- [m_buffer release];
-}
-
-QAbstractVideoBuffer::MapMode QT7CIImageVideoBuffer::mapMode() const
-{
- return m_mode;
-}
-
-uchar *QT7CIImageVideoBuffer::map(QAbstractVideoBuffer::MapMode mode, int *numBytes, int *bytesPerLine)
-{
- if (mode == NotMapped || m_mode != NotMapped || !m_image)
- return 0;
-
- if (!m_buffer) {
- //swap R and B channels
- CIFilter *colorSwapFilter = [CIFilter filterWithName: @"CIColorMatrix" keysAndValues:
- @"inputImage", m_image,
- @"inputRVector", [CIVector vectorWithX: 0 Y: 0 Z: 1 W: 0],
- @"inputGVector", [CIVector vectorWithX: 0 Y: 1 Z: 0 W: 0],
- @"inputBVector", [CIVector vectorWithX: 1 Y: 0 Z: 0 W: 0],
- @"inputAVector", [CIVector vectorWithX: 0 Y: 0 Z: 0 W: 1],
- @"inputBiasVector", [CIVector vectorWithX: 0 Y: 0 Z: 0 W: 0],
- nil];
- CIImage *img = [colorSwapFilter valueForKey: @"outputImage"];
-
- m_buffer = [[NSBitmapImageRep alloc] initWithCIImage:img];
- }
-
- if (numBytes)
- *numBytes = [m_buffer bytesPerPlane];
-
- if (bytesPerLine)
- *bytesPerLine = [m_buffer bytesPerRow];
-
- m_mode = mode;
-
- return [m_buffer bitmapData];
-}
-
-void QT7CIImageVideoBuffer::unmap()
-{
- m_mode = NotMapped;
-}
-
-QVariant QT7CIImageVideoBuffer::handle() const
-{
- return QVariant::fromValue<void*>(m_image);
-}
-
diff --git a/src/plugins/mediaservices/qt7/qt7movierenderer.h b/src/plugins/mediaservices/qt7/qt7movierenderer.h
deleted file mode 100644
index 5953b54e70..0000000000
--- a/src/plugins/mediaservices/qt7/qt7movierenderer.h
+++ /dev/null
@@ -1,112 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the plugins of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QT7MOVIERENDERER_H
-#define QT7MOVIERENDERER_H
-
-#include "qt7backend.h"
-
-#include <QtCore/qobject.h>
-#include <QtCore/qmutex.h>
-
-#include <qvideorenderercontrol.h>
-#include <qmediaplayer.h>
-
-#include <QtGui/qmacdefines_mac.h>
-#include "qt7videooutputcontrol.h"
-
-#include <QuartzCore/CVOpenGLTexture.h>
-#include <QuickTime/QuickTime.h>
-
-
-QT_BEGIN_HEADER
-
-class QGLContext;
-
-QT_BEGIN_NAMESPACE
-
-class QCvDisplayLink;
-class QT7PlayerSession;
-class QT7PlayerService;
-
-class QT7MovieRenderer : public QT7VideoRendererControl
-{
-Q_OBJECT
-public:
- QT7MovieRenderer(QObject *parent = 0);
- virtual ~QT7MovieRenderer();
-
- void setMovie(void *movie);
- void updateNaturalSize(const QSize &newSize);
-
- QAbstractVideoSurface *surface() const;
- void setSurface(QAbstractVideoSurface *surface);
-
- QSize nativeSize() const;
-
-private slots:
- void updateVideoFrame(const CVTimeStamp &ts);
-
-private:
- void setupVideoOutput();
- bool createPixelBufferVisualContext();
- bool createGLVisualContext();
-
- void *m_movie;
-
- QMutex m_mutex;
-
- QCvDisplayLink *m_displayLink;
-#ifdef QUICKTIME_C_API_AVAILABLE
- QTVisualContextRef m_visualContext;
- bool m_usingGLContext;
- const QGLContext *m_currentGLContext;
- QSize m_pixelBufferContextGeometry;
-#endif
- QAbstractVideoSurface *m_surface;
- QSize m_nativeSize;
-};
-
-QT_END_NAMESPACE
-
-QT_END_HEADER
-
-#endif
diff --git a/src/plugins/mediaservices/qt7/qt7movierenderer.mm b/src/plugins/mediaservices/qt7/qt7movierenderer.mm
deleted file mode 100644
index 95f5d4cc4d..0000000000
--- a/src/plugins/mediaservices/qt7/qt7movierenderer.mm
+++ /dev/null
@@ -1,465 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the plugins of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#import <QTKit/QTKit.h>
-
-#include "qt7backend.h"
-
-#include "qt7playercontrol.h"
-#include "qt7movierenderer.h"
-#include "qt7playersession.h"
-#include "qt7ciimagevideobuffer.h"
-#include "qcvdisplaylink.h"
-#include <QtCore/qdebug.h>
-#include <QtCore/qcoreapplication.h>
-
-#include <QGLWidget>
-
-#include <QtMultimedia/qabstractvideobuffer.h>
-#include <QtMultimedia/qabstractvideosurface.h>
-#include <QtMultimedia/qvideosurfaceformat.h>
-
-QT_BEGIN_NAMESPACE
-
-//#define USE_MAIN_MONITOR_COLOR_SPACE 1
-
-class CVGLTextureVideoBuffer : public QAbstractVideoBuffer
-{
-public:
- CVGLTextureVideoBuffer(CVOpenGLTextureRef buffer)
- : QAbstractVideoBuffer(GLTextureHandle)
- , m_buffer(buffer)
- , m_mode(NotMapped)
- {
- CVOpenGLTextureRetain(m_buffer);
- }
-
- virtual ~CVGLTextureVideoBuffer()
- {
- CVOpenGLTextureRelease(m_buffer);
- }
-
- QVariant handle() const
- {
- GLuint id = CVOpenGLTextureGetName(m_buffer);
- return QVariant(int(id));
- }
-
- MapMode mapMode() const { return m_mode; }
-
- uchar *map(MapMode mode, int *numBytes, int *bytesPerLine)
- {
- if (numBytes)
- *numBytes = 0;
-
- if (bytesPerLine)
- *bytesPerLine = 0;
-
- m_mode = mode;
- return 0;
- }
-
- void unmap() { m_mode = NotMapped; }
-
-private:
- CVOpenGLTextureRef m_buffer;
- MapMode m_mode;
-};
-
-
-class CVPixelBufferVideoBuffer : public QAbstractVideoBuffer
-{
-public:
- CVPixelBufferVideoBuffer(CVPixelBufferRef buffer)
- : QAbstractVideoBuffer(NoHandle)
- , m_buffer(buffer)
- , m_mode(NotMapped)
- {
- CVPixelBufferRetain(m_buffer);
- }
-
- virtual ~CVPixelBufferVideoBuffer()
- {
- CVPixelBufferRelease(m_buffer);
- }
-
- MapMode mapMode() const { return m_mode; }
-
- uchar *map(MapMode mode, int *numBytes, int *bytesPerLine)
- {
- if (mode != NotMapped && m_mode == NotMapped) {
- CVPixelBufferLockBaseAddress(m_buffer, 0);
-
- if (numBytes)
- *numBytes = CVPixelBufferGetDataSize(m_buffer);
-
- if (bytesPerLine)
- *bytesPerLine = CVPixelBufferGetBytesPerRow(m_buffer);
-
- m_mode = mode;
-
- return (uchar*)CVPixelBufferGetBaseAddress(m_buffer);
- } else {
- return 0;
- }
- }
-
- void unmap()
- {
- if (m_mode != NotMapped) {
- m_mode = NotMapped;
- CVPixelBufferUnlockBaseAddress(m_buffer, 0);
- }
- }
-
-private:
- CVPixelBufferRef m_buffer;
- MapMode m_mode;
-};
-
-
-
-QT7MovieRenderer::QT7MovieRenderer(QObject *parent)
- :QT7VideoRendererControl(parent),
- m_movie(0),
-#ifdef QUICKTIME_C_API_AVAILABLE
- m_visualContext(0),
- m_usingGLContext(false),
- m_currentGLContext(0),
-#endif
- m_surface(0)
-{
-// qDebug() << "QT7MovieRenderer";
-
- m_displayLink = new QCvDisplayLink(this);
- connect(m_displayLink, SIGNAL(tick(CVTimeStamp)), SLOT(updateVideoFrame(CVTimeStamp)));
-}
-
-
-bool QT7MovieRenderer::createGLVisualContext()
-{
-#ifdef QUICKTIME_C_API_AVAILABLE
- AutoReleasePool pool;
- CGLContextObj cglContext = CGLGetCurrentContext();
- NSOpenGLPixelFormat *nsglPixelFormat = [NSOpenGLView defaultPixelFormat];
- CGLPixelFormatObj cglPixelFormat = static_cast<CGLPixelFormatObj>([nsglPixelFormat CGLPixelFormatObj]);
-
- OSStatus err = QTOpenGLTextureContextCreate(kCFAllocatorDefault, cglContext,
- cglPixelFormat, NULL, &m_visualContext);
- if (err != noErr)
- qWarning() << "Could not create visual context (OpenGL)";
-
- return (err == noErr);
-#endif // QUICKTIME_C_API_AVAILABLE
-
- return false;
-}
-
-#ifdef QUICKTIME_C_API_AVAILABLE
-static bool DictionarySetValue(CFMutableDictionaryRef dict, CFStringRef key, SInt32 value)
-{
- CFNumberRef number = CFNumberCreate(kCFAllocatorDefault, kCFNumberSInt32Type, &value);
-
- if (number) {
- CFDictionarySetValue( dict, key, number );
- CFRelease( number );
- return true;
- }
- return false;
-}
-#endif // QUICKTIME_C_API_AVAILABLE
-
-bool QT7MovieRenderer::createPixelBufferVisualContext()
-{
-#ifdef QUICKTIME_C_API_AVAILABLE
- if (m_visualContext) {
- QTVisualContextRelease(m_visualContext);
- m_visualContext = 0;
- }
-
- m_pixelBufferContextGeometry = m_nativeSize;
-
- CFMutableDictionaryRef pixelBufferOptions = CFDictionaryCreateMutable(kCFAllocatorDefault, 0,
- &kCFTypeDictionaryKeyCallBacks,
- &kCFTypeDictionaryValueCallBacks);
- //DictionarySetValue(pixelBufferOptions, kCVPixelBufferPixelFormatTypeKey, k32ARGBPixelFormat );
- DictionarySetValue(pixelBufferOptions, kCVPixelBufferPixelFormatTypeKey, k32BGRAPixelFormat );
- DictionarySetValue(pixelBufferOptions, kCVPixelBufferWidthKey, m_nativeSize.width() );
- DictionarySetValue(pixelBufferOptions, kCVPixelBufferHeightKey, m_nativeSize.height() );
- DictionarySetValue(pixelBufferOptions, kCVPixelBufferBytesPerRowAlignmentKey, 16);
- //CFDictionarySetValue(pixelBufferOptions, kCVPixelBufferOpenGLCompatibilityKey, kCFBooleanTrue);
-
- CFMutableDictionaryRef visualContextOptions = CFDictionaryCreateMutable(kCFAllocatorDefault, 0,
- &kCFTypeDictionaryKeyCallBacks,
- &kCFTypeDictionaryValueCallBacks);
- CFDictionarySetValue(visualContextOptions, kQTVisualContextPixelBufferAttributesKey, pixelBufferOptions);
-
- CGColorSpaceRef colorSpace = NULL;
-
-#if USE_MAIN_MONITOR_COLOR_SPACE
- CMProfileRef sysprof = NULL;
-
- // Get the Systems Profile for the main display
- if (CMGetSystemProfile(&sysprof) == noErr) {
- // Create a colorspace with the systems profile
- colorSpace = CGColorSpaceCreateWithPlatformColorSpace(sysprof);
- CMCloseProfile(sysprof);
- }
-#endif
-
- if (!colorSpace)
- colorSpace = CGColorSpaceCreateDeviceRGB();
-
- CFDictionarySetValue(visualContextOptions, kQTVisualContextOutputColorSpaceKey, colorSpace);
-
- OSStatus err = QTPixelBufferContextCreate(kCFAllocatorDefault,
- visualContextOptions,
- &m_visualContext);
- CFRelease(pixelBufferOptions);
- CFRelease(visualContextOptions);
-
- if (err != noErr) {
- qWarning() << "Could not create visual context (PixelBuffer)";
- return false;
- }
-
- return true;
-#endif // QUICKTIME_C_API_AVAILABLE
-
- return false;
-}
-
-
-QT7MovieRenderer::~QT7MovieRenderer()
-{
- m_displayLink->stop();
-}
-
-void QT7MovieRenderer::setupVideoOutput()
-{
- AutoReleasePool pool;
-
-// qDebug() << "QT7MovieRenderer::setupVideoOutput" << m_movie;
-
- if (m_movie == 0 || m_surface == 0) {
- m_displayLink->stop();
- return;
- }
-
- NSSize size = [[(QTMovie*)m_movie attributeForKey:@"QTMovieNaturalSizeAttribute"] sizeValue];
- m_nativeSize = QSize(size.width, size.height);
-
-#ifdef QUICKTIME_C_API_AVAILABLE
- bool usedGLContext = m_usingGLContext;
-
- if (!m_nativeSize.isEmpty()) {
-
- bool glSupported = !m_surface->supportedPixelFormats(QAbstractVideoBuffer::GLTextureHandle).isEmpty();
-
- //Try rendering using opengl textures first:
- if (glSupported) {
- QVideoSurfaceFormat format(m_nativeSize, QVideoFrame::Format_RGB32, QAbstractVideoBuffer::GLTextureHandle);
-
- if (m_surface->isActive())
- m_surface->stop();
-
-// qDebug() << "Starting the surface with format" << format;
- if (!m_surface->start(format)) {
-// qDebug() << "failed to start video surface" << m_surface->error();
- glSupported = false;
- } else {
- m_usingGLContext = true;
- }
-
- }
-
- if (!glSupported) {
- m_usingGLContext = false;
- QVideoSurfaceFormat format(m_nativeSize, QVideoFrame::Format_RGB32);
-
- if (m_surface->isActive() && m_surface->surfaceFormat() != format) {
-// qDebug() << "Surface format was changed, stop the surface.";
- m_surface->stop();
- }
-
- if (!m_surface->isActive()) {
-// qDebug() << "Starting the surface with format" << format;
- m_surface->start(format);
-// if (!m_surface->start(format))
-// qDebug() << "failed to start video surface" << m_surface->error();
- }
- }
- }
-
-
- if (m_visualContext) {
- //check if the visual context still can be reused
- if (usedGLContext != m_usingGLContext ||
- (m_usingGLContext && (m_currentGLContext != QGLContext::currentContext())) ||
- (!m_usingGLContext && (m_pixelBufferContextGeometry != m_nativeSize))) {
- QTVisualContextRelease(m_visualContext);
- m_pixelBufferContextGeometry = QSize();
- m_visualContext = 0;
- }
- }
-
- if (!m_nativeSize.isEmpty()) {
- if (!m_visualContext) {
- if (m_usingGLContext) {
-// qDebug() << "Building OpenGL visual context" << m_nativeSize;
- m_currentGLContext = QGLContext::currentContext();
- if (!createGLVisualContext()) {
- qWarning() << "QT7MovieRenderer: failed to create visual context";
- return;
- }
- } else {
-// qDebug() << "Building Pixel Buffer visual context" << m_nativeSize;
- if (!createPixelBufferVisualContext()) {
- qWarning() << "QT7MovieRenderer: failed to create visual context";
- return;
- }
- }
- }
-
- // targets a Movie to render into a visual context
- SetMovieVisualContext([(QTMovie*)m_movie quickTimeMovie], m_visualContext);
-
- m_displayLink->start();
- }
-#endif
-
-}
-
-void QT7MovieRenderer::setMovie(void *movie)
-{
-// qDebug() << "QT7MovieRenderer::setMovie" << movie;
-
-#ifdef QUICKTIME_C_API_AVAILABLE
- QMutexLocker locker(&m_mutex);
-
- if (m_movie != movie) {
- if (m_movie) {
- //ensure the old movie doesn't hold the visual context, otherwise it can't be reused
- SetMovieVisualContext([(QTMovie*)m_movie quickTimeMovie], nil);
- [(QTMovie*)m_movie release];
- }
-
- m_movie = movie;
- [(QTMovie*)m_movie retain];
-
- setupVideoOutput();
- }
-#endif
-}
-
-void QT7MovieRenderer::updateNaturalSize(const QSize &newSize)
-{
- if (m_nativeSize != newSize) {
- m_nativeSize = newSize;
- setupVideoOutput();
- }
-}
-
-QAbstractVideoSurface *QT7MovieRenderer::surface() const
-{
- return m_surface;
-}
-
-void QT7MovieRenderer::setSurface(QAbstractVideoSurface *surface)
-{
-// qDebug() << "Set video surface" << surface;
-
- if (surface == m_surface)
- return;
-
- QMutexLocker locker(&m_mutex);
-
- if (m_surface && m_surface->isActive())
- m_surface->stop();
-
- m_surface = surface;
- setupVideoOutput();
-}
-
-
-QSize QT7MovieRenderer::nativeSize() const
-{
- return m_nativeSize;
-}
-
-void QT7MovieRenderer::updateVideoFrame(const CVTimeStamp &ts)
-{
-#ifdef QUICKTIME_C_API_AVAILABLE
-
- QMutexLocker locker(&m_mutex);
-
- if (m_surface && m_surface->isActive() &&
- m_visualContext && QTVisualContextIsNewImageAvailable(m_visualContext, &ts)) {
-
- CVImageBufferRef imageBuffer = NULL;
-
- OSStatus status = QTVisualContextCopyImageForTime(m_visualContext, NULL, &ts, &imageBuffer);
-
- if (status == noErr && imageBuffer) {
- QAbstractVideoBuffer *buffer = 0;
-
- if (m_usingGLContext) {
- buffer = new QT7CIImageVideoBuffer([CIImage imageWithCVImageBuffer:imageBuffer]);
- CVOpenGLTextureRelease((CVOpenGLTextureRef)imageBuffer);
- } else {
- buffer = new CVPixelBufferVideoBuffer((CVPixelBufferRef)imageBuffer);
- //buffer = new QT7CIImageVideoBuffer( [CIImage imageWithCVImageBuffer:imageBuffer] );
- CVPixelBufferRelease((CVPixelBufferRef)imageBuffer);
- }
-
- QVideoFrame frame(buffer, m_nativeSize, QVideoFrame::Format_RGB32);
- m_surface->present(frame);
- QTVisualContextTask(m_visualContext);
- }
- }
-#else
- Q_UNUSED(ts);
-#endif
-}
-
-#include "moc_qt7movierenderer.cpp"
-
-QT_END_NAMESPACE
diff --git a/src/plugins/mediaservices/qt7/qt7movievideowidget.h b/src/plugins/mediaservices/qt7/qt7movievideowidget.h
deleted file mode 100644
index 3ff14f5d06..0000000000
--- a/src/plugins/mediaservices/qt7/qt7movievideowidget.h
+++ /dev/null
@@ -1,131 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the plugins of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QT7MOVIEVIDEOWIDGET_H
-#define QT7MOVIEVIDEOWIDGET_H
-
-#include <QtCore/qobject.h>
-#include <QtCore/qmutex.h>
-
-#include <qvideowindowcontrol.h>
-#include <qmediaplayer.h>
-
-#include <QtGui/qmacdefines_mac.h>
-#include "qt7videooutputcontrol.h"
-
-#include <QuartzCore/CVOpenGLTexture.h>
-#include <QuickTime/QuickTime.h>
-
-
-QT_BEGIN_HEADER
-
-
-QT_BEGIN_NAMESPACE
-
-class GLVideoWidget;
-class QCvDisplayLink;
-class QT7PlayerSession;
-class QT7PlayerService;
-
-class QT7MovieVideoWidget : public QT7VideoWidgetControl
-{
-Q_OBJECT
-public:
- QT7MovieVideoWidget(QObject *parent = 0);
- virtual ~QT7MovieVideoWidget();
-
- void setMovie(void *movie);
- void updateNaturalSize(const QSize &newSize);
-
- QWidget *videoWidget();
-
- bool isFullScreen() const;
- void setFullScreen(bool fullScreen);
-
- QSize nativeSize() const;
-
- Qt::AspectRatioMode aspectRatioMode() const;
- void setAspectRatioMode(Qt::AspectRatioMode mode);
-
- int brightness() const;
- void setBrightness(int brightness);
-
- int contrast() const;
- void setContrast(int contrast);
-
- int hue() const;
- void setHue(int hue);
-
- int saturation() const;
- void setSaturation(int saturation);
-
-private slots:
- void updateVideoFrame(const CVTimeStamp &ts);
-
-private:
- void setupVideoOutput();
- bool createVisualContext();
-
- void updateColors();
-
- void *m_movie;
- GLVideoWidget *m_videoWidget;
-
- QCvDisplayLink *m_displayLink;
-
-#ifdef QUICKTIME_C_API_AVAILABLE
- QTVisualContextRef m_visualContext;
-#endif
-
- bool m_fullscreen;
- QSize m_nativeSize;
- Qt::AspectRatioMode m_aspectRatioMode;
- int m_brightness;
- int m_contrast;
- int m_hue;
- int m_saturation;
-};
-
-QT_END_NAMESPACE
-
-QT_END_HEADER
-
-#endif
diff --git a/src/plugins/mediaservices/qt7/qt7movievideowidget.mm b/src/plugins/mediaservices/qt7/qt7movievideowidget.mm
deleted file mode 100644
index 648d6b4d2a..0000000000
--- a/src/plugins/mediaservices/qt7/qt7movievideowidget.mm
+++ /dev/null
@@ -1,425 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the plugins of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#import <QTKit/QTKit.h>
-
-#include "qt7backend.h"
-
-#include "qt7playercontrol.h"
-#include "qt7movievideowidget.h"
-#include "qt7playersession.h"
-#include "qcvdisplaylink.h"
-#include <QtCore/qdebug.h>
-#include <QtCore/qcoreapplication.h>
-
-#include <QGLWidget>
-
-#import <QuartzCore/QuartzCore.h>
-
-#include "math.h"
-
-QT_BEGIN_NAMESPACE
-
-class GLVideoWidget : public QGLWidget
-{
-public:
-
- GLVideoWidget(QWidget *parent, const QGLFormat &format)
- : QGLWidget(format, parent),
- m_texRef(0),
- m_nativeSize(640,480),
- m_aspectRatioMode(Qt::KeepAspectRatio)
- {
- setAutoFillBackground(false);
- }
-
- void initializeGL()
- {
- QColor bgColor = palette().color(QPalette::Background);
- glClearColor(bgColor.redF(), bgColor.greenF(), bgColor.blueF(), bgColor.alphaF());
- }
-
- void resizeGL(int w, int h)
- {
- glMatrixMode(GL_MODELVIEW);
- glLoadIdentity();
- glMatrixMode(GL_PROJECTION);
- glLoadIdentity();
- glViewport(0, 0, GLsizei(w), GLsizei(h));
- gluOrtho2D(0, GLsizei(w), 0, GLsizei(h));
- updateGL();
- }
-
- void paintGL()
- {
- glClear(GL_COLOR_BUFFER_BIT);
- if (!m_texRef)
- return;
-
- glPushMatrix();
- glDisable(GL_CULL_FACE);
- GLenum target = CVOpenGLTextureGetTarget(m_texRef);
- glEnable(target);
-
- glBindTexture(target, CVOpenGLTextureGetName(m_texRef));
- glTexParameterf(target, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
- glTexParameterf(target, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
- GLfloat lowerLeft[2], lowerRight[2], upperRight[2], upperLeft[2];
- CVOpenGLTextureGetCleanTexCoords(m_texRef, lowerLeft, lowerRight, upperRight, upperLeft);
-
- glBegin(GL_QUADS);
- QRect rect = displayRect();
- glTexCoord2f(lowerLeft[0], lowerLeft[1]);
- glVertex2i(rect.topLeft().x(), rect.topLeft().y());
- glTexCoord2f(lowerRight[0], lowerRight[1]);
- glVertex2i(rect.topRight().x() + 1, rect.topRight().y());
- glTexCoord2f(upperRight[0], upperRight[1]);
- glVertex2i(rect.bottomRight().x() + 1, rect.bottomRight().y() + 1);
- glTexCoord2f(upperLeft[0], upperLeft[1]);
- glVertex2i(rect.bottomLeft().x(), rect.bottomLeft().y() + 1);
- glEnd();
- glPopMatrix();
- }
-
- void setCVTexture(CVOpenGLTextureRef texRef)
- {
- if (m_texRef)
- CVOpenGLTextureRelease(m_texRef);
-
- m_texRef = texRef;
-
- if (m_texRef)
- CVOpenGLTextureRetain(m_texRef);
-
- if (isVisible()) {
- makeCurrent();
- paintGL();
- swapBuffers();
- }
- }
-
- QSize sizeHint() const
- {
- return m_nativeSize;
- }
-
- void setNativeSize(const QSize &size)
- {
- m_nativeSize = size;
- }
-
- void setAspectRatioMode(Qt::AspectRatioMode mode)
- {
- if (m_aspectRatioMode != mode) {
- m_aspectRatioMode = mode;
- update();
- }
- }
-
-private:
- QRect displayRect() const
- {
- QRect displayRect = rect();
-
- if (m_aspectRatioMode == Qt::KeepAspectRatio) {
- QSize size = m_nativeSize;
- size.scale(displayRect.size(), Qt::KeepAspectRatio);
-
- displayRect = QRect(QPoint(0, 0), size);
- displayRect.moveCenter(rect().center());
- }
- return displayRect;
- }
-
- CVOpenGLTextureRef m_texRef;
- QSize m_nativeSize;
- Qt::AspectRatioMode m_aspectRatioMode;
-};
-
-QT7MovieVideoWidget::QT7MovieVideoWidget(QObject *parent)
- :QT7VideoWidgetControl(parent),
- m_movie(0),
- m_videoWidget(0),
- m_fullscreen(false),
- m_aspectRatioMode(Qt::KeepAspectRatio),
- m_brightness(0),
- m_contrast(0),
- m_hue(0),
- m_saturation(0)
-{
-// qDebug() << "QT7MovieVideoWidget";
-
- QGLFormat format = QGLFormat::defaultFormat();
- format.setSwapInterval(1); // Vertical sync (avoid tearing)
- m_videoWidget = new GLVideoWidget(0, format);
-
- m_displayLink = new QCvDisplayLink(this);
-
- connect(m_displayLink, SIGNAL(tick(CVTimeStamp)), SLOT(updateVideoFrame(CVTimeStamp)));
-
- if (!createVisualContext()) {
- qWarning() << "QT7MovieVideoWidget: failed to create visual context";
- }
-}
-
-bool QT7MovieVideoWidget::createVisualContext()
-{
-#ifdef QUICKTIME_C_API_AVAILABLE
- m_videoWidget->makeCurrent();
-
- AutoReleasePool pool;
- CGLContextObj cglContext = CGLGetCurrentContext();
- NSOpenGLPixelFormat *nsglPixelFormat = [NSOpenGLView defaultPixelFormat];
- CGLPixelFormatObj cglPixelFormat = static_cast<CGLPixelFormatObj>([nsglPixelFormat CGLPixelFormatObj]);
-
- CFTypeRef keys[] = { kQTVisualContextOutputColorSpaceKey };
- CGColorSpaceRef colorSpace = NULL;
- CMProfileRef sysprof = NULL;
-
- // Get the Systems Profile for the main display
- if (CMGetSystemProfile(&sysprof) == noErr) {
- // Create a colorspace with the systems profile
- colorSpace = CGColorSpaceCreateWithPlatformColorSpace(sysprof);
- CMCloseProfile(sysprof);
- }
-
- if (!colorSpace)
- colorSpace = CGColorSpaceCreateDeviceRGB();
-
- CFDictionaryRef textureContextAttributes = CFDictionaryCreate(kCFAllocatorDefault,
- (const void **)keys,
- (const void **)&colorSpace, 1,
- &kCFTypeDictionaryKeyCallBacks,
- &kCFTypeDictionaryValueCallBacks);
-
- OSStatus err = QTOpenGLTextureContextCreate(kCFAllocatorDefault,
- cglContext,
- cglPixelFormat,
- textureContextAttributes,
- &m_visualContext);
- if (err != noErr)
- qWarning() << "Could not create visual context (OpenGL)";
-
-
- return (err == noErr);
-#endif // QUICKTIME_C_API_AVAILABLE
-
- return false;
-}
-
-QT7MovieVideoWidget::~QT7MovieVideoWidget()
-{
- m_displayLink->stop();
- [(QTMovie*)m_movie release];
- delete m_videoWidget;
-}
-
-QWidget *QT7MovieVideoWidget::videoWidget()
-{
- return m_videoWidget;
-}
-
-void QT7MovieVideoWidget::setupVideoOutput()
-{
- AutoReleasePool pool;
-
-// qDebug() << "QT7MovieVideoWidget::setupVideoOutput" << m_movie;
-
- if (m_movie == 0) {
- m_displayLink->stop();
- return;
- }
-
- NSSize size = [[(QTMovie*)m_movie attributeForKey:@"QTMovieNaturalSizeAttribute"] sizeValue];
- m_nativeSize = QSize(size.width, size.height);
- m_videoWidget->setNativeSize(m_nativeSize);
-
-#ifdef QUICKTIME_C_API_AVAILABLE
- // targets a Movie to render into a visual context
- SetMovieVisualContext([(QTMovie*)m_movie quickTimeMovie], m_visualContext);
-#endif
-
- m_displayLink->start();
-}
-
-void QT7MovieVideoWidget::setMovie(void *movie)
-{
- if (m_movie == movie)
- return;
-
- if (m_movie) {
-#ifdef QUICKTIME_C_API_AVAILABLE
- SetMovieVisualContext([(QTMovie*)m_movie quickTimeMovie], nil);
-#endif
- [(QTMovie*)m_movie release];
- }
-
- m_movie = movie;
- [(QTMovie*)m_movie retain];
-
- setupVideoOutput();
-}
-
-void QT7MovieVideoWidget::updateNaturalSize(const QSize &newSize)
-{
- if (m_nativeSize != newSize) {
- m_nativeSize = newSize;
- setupVideoOutput();
- }
-}
-
-bool QT7MovieVideoWidget::isFullScreen() const
-{
- return m_fullscreen;
-}
-
-void QT7MovieVideoWidget::setFullScreen(bool fullScreen)
-{
- m_fullscreen = fullScreen;
-}
-
-QSize QT7MovieVideoWidget::nativeSize() const
-{
- return m_nativeSize;
-}
-
-Qt::AspectRatioMode QT7MovieVideoWidget::aspectRatioMode() const
-{
- return m_aspectRatioMode;
-}
-
-void QT7MovieVideoWidget::setAspectRatioMode(Qt::AspectRatioMode mode)
-{
- m_aspectRatioMode = mode;
- m_videoWidget->setAspectRatioMode(mode);
-}
-
-int QT7MovieVideoWidget::brightness() const
-{
- return m_brightness;
-}
-
-void QT7MovieVideoWidget::setBrightness(int brightness)
-{
- m_brightness = brightness;
- updateColors();
-}
-
-int QT7MovieVideoWidget::contrast() const
-{
- return m_contrast;
-}
-
-void QT7MovieVideoWidget::setContrast(int contrast)
-{
- m_contrast = contrast;
- updateColors();
-}
-
-int QT7MovieVideoWidget::hue() const
-{
- return m_hue;
-}
-
-void QT7MovieVideoWidget::setHue(int hue)
-{
- m_hue = hue;
- updateColors();
-}
-
-int QT7MovieVideoWidget::saturation() const
-{
- return m_saturation;
-}
-
-void QT7MovieVideoWidget::setSaturation(int saturation)
-{
- m_saturation = saturation;
- updateColors();
-}
-
-void QT7MovieVideoWidget::updateColors()
-{
-#ifdef QUICKTIME_C_API_AVAILABLE
- if (m_movie) {
- QTMovie *movie = (QTMovie*)m_movie;
-
- Float32 value;
- value = m_brightness/100.0;
- SetMovieVisualBrightness([movie quickTimeMovie], value, 0);
- value = pow(2, m_contrast/50.0);
- SetMovieVisualContrast([movie quickTimeMovie], value, 0);
- value = m_hue/100.0;
- SetMovieVisualHue([movie quickTimeMovie], value, 0);
- value = 1.0+m_saturation/100.0;
- SetMovieVisualSaturation([movie quickTimeMovie], value, 0);
- }
-#endif
-}
-
-void QT7MovieVideoWidget::updateVideoFrame(const CVTimeStamp &ts)
-{
-#ifdef QUICKTIME_C_API_AVAILABLE
- AutoReleasePool pool;
- // check for new frame
- if (m_visualContext && QTVisualContextIsNewImageAvailable(m_visualContext, &ts)) {
- CVOpenGLTextureRef currentFrame = NULL;
-
- // get a "frame" (image buffer) from the Visual Context, indexed by the provided time
- OSStatus status = QTVisualContextCopyImageForTime(m_visualContext, NULL, &ts, &currentFrame);
-
- // the above call may produce a null frame so check for this first
- // if we have a frame, then draw it
- if (status == noErr && currentFrame) {
- //qDebug() << "render video frame";
- m_videoWidget->setCVTexture(currentFrame);
- CVOpenGLTextureRelease(currentFrame);
- }
- QTVisualContextTask(m_visualContext);
- }
-#else
- Q_UNUSED(ts);
-#endif
-}
-
-#include "moc_qt7movievideowidget.cpp"
-
-QT_END_NAMESPACE
diff --git a/src/plugins/mediaservices/qt7/qt7movieviewoutput.h b/src/plugins/mediaservices/qt7/qt7movieviewoutput.h
deleted file mode 100644
index d6bfd14a6e..0000000000
--- a/src/plugins/mediaservices/qt7/qt7movieviewoutput.h
+++ /dev/null
@@ -1,119 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the plugins of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QT7MOVIEVIEWOUTPUT_H
-#define QT7MOVIEVIEWOUTPUT_H
-
-#include <QtCore/qobject.h>
-
-#include <QtMediaServices/qvideowindowcontrol.h>
-#include <QtMediaServices/qmediaplayer.h>
-
-#include <QtGui/qmacdefines_mac.h>
-#include "qt7videooutputcontrol.h"
-
-
-QT_BEGIN_HEADER
-QT_BEGIN_NAMESPACE
-
-class QT7PlayerSession;
-class QT7PlayerService;
-
-class QT7MovieViewOutput : public QT7VideoWindowControl
-{
-public:
- QT7MovieViewOutput(QObject *parent = 0);
- ~QT7MovieViewOutput();
-
- void setMovie(void *movie);
- void updateNaturalSize(const QSize &newSize);
-
- WId winId() const;
- void setWinId(WId id);
-
- QRect displayRect() const;
- void setDisplayRect(const QRect &rect);
-
- bool isFullScreen() const;
- void setFullScreen(bool fullScreen);
-
- void repaint();
-
- QSize nativeSize() const;
-
- Qt::AspectRatioMode aspectRatioMode() const;
- void setAspectRatioMode(Qt::AspectRatioMode mode);
-
- int brightness() const;
- void setBrightness(int brightness);
-
- int contrast() const;
- void setContrast(int contrast);
-
- int hue() const;
- void setHue(int hue);
-
- int saturation() const;
- void setSaturation(int saturation);
-
-private:
- void setupVideoOutput();
-
- void *m_movie;
- void *m_movieView;
- bool m_layouted;
-
- WId m_winId;
- QRect m_displayRect;
- bool m_fullscreen;
- QSize m_nativeSize;
- Qt::AspectRatioMode m_aspectRatioMode;
- int m_brightness;
- int m_contrast;
- int m_hue;
- int m_saturation;
-};
-
-QT_END_NAMESPACE
-
-QT_END_HEADER
-
-#endif
diff --git a/src/plugins/mediaservices/qt7/qt7movieviewoutput.mm b/src/plugins/mediaservices/qt7/qt7movieviewoutput.mm
deleted file mode 100644
index 06299a3bc3..0000000000
--- a/src/plugins/mediaservices/qt7/qt7movieviewoutput.mm
+++ /dev/null
@@ -1,335 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the plugins of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#import <QTKit/QTKit.h>
-
-#include "qt7backend.h"
-
-#include "qt7playercontrol.h"
-#include "qt7movieviewoutput.h"
-#include "qt7playersession.h"
-#include <QtCore/qdebug.h>
-
-#include <QuartzCore/CIFilter.h>
-#include <QuartzCore/CIVector.h>
-
-
-#define VIDEO_TRANSPARENT(m) -(void)m:(NSEvent *)e{[[self superview] m:e];}
-
-@interface TransparentQTMovieView : QTMovieView
-{
-@private
- QRect *m_drawRect;
- qreal m_brightness, m_contrast, m_saturation, m_hue;
-}
-
-- (TransparentQTMovieView *) init;
-- (void) setDrawRect:(QRect &)rect;
-- (CIImage *) view:(QTMovieView *)view willDisplayImage:(CIImage *)img;
-- (void) setContrast:(qreal) contrast;
-@end
-
-@implementation TransparentQTMovieView
-
-- (TransparentQTMovieView *) init
-{
- self = [super initWithFrame:NSZeroRect];
- if (self) {
- [self setControllerVisible:NO];
- [self setContrast:1.0];
- [self setDelegate:self];
- }
- return self;
-}
-
-- (void) dealloc
-{
- [super dealloc];
-}
-
-- (void) setContrast:(qreal) contrast
-{
- m_hue = 0.0;
- m_brightness = 0.0;
- m_contrast = contrast;
- m_saturation = 1.0;
-}
-
-
-- (void) setDrawRect:(QRect &)rect
-{
- *m_drawRect = rect;
-
- NSRect nsrect;
- nsrect.origin.x = m_drawRect->x();
- nsrect.origin.y = m_drawRect->y();
- nsrect.size.width = m_drawRect->width();
- nsrect.size.height = m_drawRect->height();
- [self setFrame:nsrect];
-}
-
-- (CIImage *) view:(QTMovieView *)view willDisplayImage:(CIImage *)img
-{
- // This method is called from QTMovieView just
- // before the image will be drawn.
- Q_UNUSED(view);
-
- if ( !qFuzzyCompare(m_brightness, 0.0) ||
- !qFuzzyCompare(m_contrast, 1.0) ||
- !qFuzzyCompare(m_saturation, 1.0)){
- CIFilter *colorFilter = [CIFilter filterWithName:@"CIColorControls"];
- [colorFilter setValue:[NSNumber numberWithFloat:m_brightness] forKey:@"inputBrightness"];
- [colorFilter setValue:[NSNumber numberWithFloat:(m_contrast < 1) ? m_contrast : 1 + ((m_contrast-1)*3)] forKey:@"inputContrast"];
- [colorFilter setValue:[NSNumber numberWithFloat:m_saturation] forKey:@"inputSaturation"];
- [colorFilter setValue:img forKey:@"inputImage"];
- img = [colorFilter valueForKey:@"outputImage"];
- }
-
- /*if (m_hue){
- CIFilter *colorFilter = [CIFilter filterWithName:@"CIHueAdjust"];
- [colorFilter setValue:[NSNumber numberWithFloat:(m_hue * 3.14)] forKey:@"inputAngle"];
- [colorFilter setValue:img forKey:@"inputImage"];
- img = [colorFilter valueForKey:@"outputImage"];
- }*/
-
- return img;
-}
-
-
-VIDEO_TRANSPARENT(mouseDown);
-VIDEO_TRANSPARENT(mouseDragged);
-VIDEO_TRANSPARENT(mouseUp);
-VIDEO_TRANSPARENT(mouseMoved);
-VIDEO_TRANSPARENT(mouseEntered);
-VIDEO_TRANSPARENT(mouseExited);
-VIDEO_TRANSPARENT(rightMouseDown);
-VIDEO_TRANSPARENT(rightMouseDragged);
-VIDEO_TRANSPARENT(rightMouseUp);
-VIDEO_TRANSPARENT(otherMouseDown);
-VIDEO_TRANSPARENT(otherMouseDragged);
-VIDEO_TRANSPARENT(otherMouseUp);
-VIDEO_TRANSPARENT(keyDown);
-VIDEO_TRANSPARENT(keyUp);
-VIDEO_TRANSPARENT(scrollWheel)
-
-@end
-
-
-QT7MovieViewOutput::QT7MovieViewOutput(QObject *parent)
- :QT7VideoWindowControl(parent),
- m_movie(0),
- m_movieView(0),
- m_layouted(false),
- m_winId(0),
- m_fullscreen(false),
- m_aspectRatioMode(Qt::KeepAspectRatio),
- m_brightness(0),
- m_contrast(0),
- m_hue(0),
- m_saturation(0)
-{
-}
-
-QT7MovieViewOutput::~QT7MovieViewOutput()
-{
- [(QTMovieView*)m_movieView release];
- [(QTMovie*)m_movie release];
-}
-
-void QT7MovieViewOutput::setupVideoOutput()
-{
- AutoReleasePool pool;
-
- //qDebug() << "QT7MovieViewOutput::setupVideoOutput" << m_movie << m_winId;
- if (m_movie == 0 || m_winId <= 0)
- return;
-
- NSSize size = [[(QTMovie*)m_movie attributeForKey:@"QTMovieNaturalSizeAttribute"] sizeValue];
- m_nativeSize = QSize(size.width, size.height);
-
- if (!m_movieView)
- m_movieView = [[TransparentQTMovieView alloc] init];
-
- [(QTMovieView*)m_movieView setControllerVisible:NO];
- [(QTMovieView*)m_movieView setMovie:(QTMovie*)m_movie];
-
- [(NSView *)m_winId addSubview:(QTMovieView*)m_movieView];
- m_layouted = true;
-
- setDisplayRect(m_displayRect);
-}
-
-void QT7MovieViewOutput::setMovie(void *movie)
-{
- if (m_movie != movie) {
- if (m_movie) {
- if (m_movieView)
- [(QTMovieView*)m_movieView setMovie:nil];
-
- [(QTMovie*)m_movie release];
- }
-
- m_movie = movie;
-
- if (m_movie)
- [(QTMovie*)m_movie retain];
-
- setupVideoOutput();
- }
-}
-
-void QT7MovieViewOutput::updateNaturalSize(const QSize &newSize)
-{
- if (m_nativeSize != newSize) {
- m_nativeSize = newSize;
- emit nativeSizeChanged();
- }
-}
-
-WId QT7MovieViewOutput::winId() const
-{
- return m_winId;
-}
-
-void QT7MovieViewOutput::setWinId(WId id)
-{
- if (m_winId != id) {
- if (m_movieView && m_layouted) {
- [(QTMovieView*)m_movieView removeFromSuperview];
- m_layouted = false;
- }
-
- m_winId = id;
- setupVideoOutput();
- }
-}
-
-QRect QT7MovieViewOutput::displayRect() const
-{
- return m_displayRect;
-}
-
-void QT7MovieViewOutput::setDisplayRect(const QRect &rect)
-{
- m_displayRect = rect;
-
- if (m_movieView) {
- AutoReleasePool pool;
- [(QTMovieView*)m_movieView setPreservesAspectRatio:(m_aspectRatioMode == Qt::KeepAspectRatio ? YES : NO)];
- [(QTMovieView*)m_movieView setFrame:NSMakeRect(m_displayRect.x(),
- m_displayRect.y(),
- m_displayRect.width(),
- m_displayRect.height())];
- }
-
-}
-
-bool QT7MovieViewOutput::isFullScreen() const
-{
- return m_fullscreen;
-}
-
-void QT7MovieViewOutput::setFullScreen(bool fullScreen)
-{
- m_fullscreen = fullScreen;
- setDisplayRect(m_displayRect);
-}
-
-void QT7MovieViewOutput::repaint()
-{
-}
-
-QSize QT7MovieViewOutput::nativeSize() const
-{
- return m_nativeSize;
-}
-
-Qt::AspectRatioMode QT7MovieViewOutput::aspectRatioMode() const
-{
- return m_aspectRatioMode;
-}
-
-void QT7MovieViewOutput::setAspectRatioMode(Qt::AspectRatioMode mode)
-{
- m_aspectRatioMode = mode;
- setDisplayRect(m_displayRect);
-}
-
-int QT7MovieViewOutput::brightness() const
-{
- return m_brightness;
-}
-
-void QT7MovieViewOutput::setBrightness(int brightness)
-{
- m_brightness = brightness;
-}
-
-int QT7MovieViewOutput::contrast() const
-{
- return m_contrast;
-}
-
-void QT7MovieViewOutput::setContrast(int contrast)
-{
- m_contrast = contrast;
- [(TransparentQTMovieView*)m_movieView setContrast:(contrast/100.0+1.0)];
-}
-
-int QT7MovieViewOutput::hue() const
-{
- return m_hue;
-}
-
-void QT7MovieViewOutput::setHue(int hue)
-{
- m_hue = hue;
-}
-
-int QT7MovieViewOutput::saturation() const
-{
- return m_saturation;
-}
-
-void QT7MovieViewOutput::setSaturation(int saturation)
-{
- m_saturation = saturation;
-}
diff --git a/src/plugins/mediaservices/qt7/qt7movieviewrenderer.h b/src/plugins/mediaservices/qt7/qt7movieviewrenderer.h
deleted file mode 100644
index fa4db4dfd6..0000000000
--- a/src/plugins/mediaservices/qt7/qt7movieviewrenderer.h
+++ /dev/null
@@ -1,97 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the plugins of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QT7MOVIEVIEWRENDERER_H
-#define QT7MOVIEVIEWRENDERER_H
-
-#include <QtCore/qobject.h>
-#include <QtCore/qmutex.h>
-
-#include <QtMediaServices/qvideowindowcontrol.h>
-#include <QtMediaServices/qmediaplayer.h>
-
-#include <QtGui/qmacdefines_mac.h>
-#include "qt7videooutputcontrol.h"
-#include <QtMultimedia/qvideoframe.h>
-
-QT_BEGIN_HEADER
-
-QT_BEGIN_NAMESPACE
-
-
-class QVideoFrame;
-class QT7PlayerSession;
-class QT7PlayerService;
-
-class QT7MovieViewRenderer : public QT7VideoRendererControl
-{
-public:
- QT7MovieViewRenderer(QObject *parent = 0);
- ~QT7MovieViewRenderer();
-
- void setMovie(void *movie);
- void updateNaturalSize(const QSize &newSize);
-
- QAbstractVideoSurface *surface() const;
- void setSurface(QAbstractVideoSurface *surface);
-
- void renderFrame(const QVideoFrame &);
-
-protected:
- bool event(QEvent *event);
-
-private:
- void setupVideoOutput();
-
- void *m_movie;
- void *m_movieView;
- QSize m_nativeSize;
- QAbstractVideoSurface *m_surface;
- QVideoFrame m_currentFrame;
- bool m_pendingRenderEvent;
- QMutex m_mutex;
-};
-
-QT_END_NAMESPACE
-
-QT_END_HEADER
-
-#endif
diff --git a/src/plugins/mediaservices/qt7/qt7movieviewrenderer.mm b/src/plugins/mediaservices/qt7/qt7movieviewrenderer.mm
deleted file mode 100644
index 5af980923e..0000000000
--- a/src/plugins/mediaservices/qt7/qt7movieviewrenderer.mm
+++ /dev/null
@@ -1,366 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the plugins of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#import <QTKit/QTKit.h>
-
-#include "qt7backend.h"
-
-#include "qt7playercontrol.h"
-#include "qt7movieviewrenderer.h"
-#include "qt7playersession.h"
-#include "qt7ciimagevideobuffer.h"
-#include <QtCore/qdebug.h>
-#include <QtCore/qcoreevent.h>
-#include <QtCore/qcoreapplication.h>
-
-#include <QtMultimedia/qabstractvideobuffer.h>
-#include <QtMultimedia/qabstractvideosurface.h>
-#include <QtMultimedia/qvideosurfaceformat.h>
-
-#include <QuartzCore/CIFilter.h>
-#include <QuartzCore/CIVector.h>
-
-
-QT_BEGIN_NAMESPACE
-
-class NSBitmapVideoBuffer : public QAbstractVideoBuffer
-{
-public:
- NSBitmapVideoBuffer(NSBitmapImageRep *buffer)
- : QAbstractVideoBuffer(NoHandle)
- , m_buffer(buffer)
- , m_mode(NotMapped)
- {
- [m_buffer retain];
- }
-
- virtual ~NSBitmapVideoBuffer()
- {
- [m_buffer release];
- }
-
- MapMode mapMode() const { return m_mode; }
-
- uchar *map(MapMode mode, int *numBytes, int *bytesPerLine)
- {
- if (mode != NotMapped && m_mode == NotMapped) {
- if (numBytes)
- *numBytes = [m_buffer bytesPerPlane];
-
- if (bytesPerLine)
- *bytesPerLine = [m_buffer bytesPerRow];
-
- m_mode = mode;
-
- return [m_buffer bitmapData];
- } else {
- return 0;
- }
- }
-
- void unmap() { m_mode = NotMapped; }
-
-private:
- NSBitmapImageRep *m_buffer;
- MapMode m_mode;
-};
-
-QT_END_NAMESPACE
-
-#define VIDEO_TRANSPARENT(m) -(void)m:(NSEvent *)e{[[self superview] m:e];}
-
-@interface HiddenQTMovieView : QTMovieView
-{
-@private
- QWidget *m_window;
- QT7MovieViewRenderer *m_renderer;
-}
-
-- (HiddenQTMovieView *) initWithRenderer:(QT7MovieViewRenderer *)renderer;
-- (void) setRenderer:(QT7MovieViewRenderer *)renderer;
-- (void) setDrawRect:(const QRect &)rect;
-- (CIImage *) view:(QTMovieView *)view willDisplayImage:(CIImage *)img;
-@end
-
-@implementation HiddenQTMovieView
-
-- (HiddenQTMovieView *) initWithRenderer:(QT7MovieViewRenderer *)renderer
-{
- self = [super initWithFrame:NSZeroRect];
- if (self) {
- [self setControllerVisible:NO];
- [self setDelegate:self];
-
- self->m_renderer = renderer;
-
- self->m_window = new QWidget;
- self->m_window->setWindowOpacity(0.0);
- self->m_window->show();
- self->m_window->hide();
-
- [(NSView *)(self->m_window->winId()) addSubview:self];
- [self setDrawRect:QRect(0,0,1,1)];
- }
- return self;
-}
-
-- (void) dealloc
-{
- [super dealloc];
-}
-
-- (void) setRenderer:(QT7MovieViewRenderer *)renderer
-{
- m_renderer = renderer;
-}
-
-- (void) setDrawRect:(const QRect &)rect
-{
- NSRect nsrect;
- nsrect.origin.x = rect.x();
- nsrect.origin.y = rect.y();
- nsrect.size.width = rect.width();
- nsrect.size.height = rect.height();
- [self setFrame:nsrect];
-}
-
-- (CIImage *) view:(QTMovieView *)view willDisplayImage:(CIImage *)img
-{
- // This method is called from QTMovieView just
- // before the image will be drawn.
- Q_UNUSED(view);
- if (m_renderer) {
- CGRect bounds = [img extent];
- int w = bounds.size.width;
- int h = bounds.size.height;
-
- QVideoFrame frame;
-
- QAbstractVideoSurface *surface = m_renderer->surface();
- if (!surface || !surface->isActive())
- return img;
-
- if (surface->surfaceFormat().handleType() == QAbstractVideoBuffer::CoreImageHandle) {
- //surface supports rendering of opengl based CIImage
- frame = QVideoFrame(new QT7CIImageVideoBuffer(img), QSize(w,h), QVideoFrame::Format_RGB32 );
- } else {
- //Swap R and B colors
- CIFilter *colorSwapFilter = [CIFilter filterWithName: @"CIColorMatrix" keysAndValues:
- @"inputImage", img,
- @"inputRVector", [CIVector vectorWithX: 0 Y: 0 Z: 1 W: 0],
- @"inputGVector", [CIVector vectorWithX: 0 Y: 1 Z: 0 W: 0],
- @"inputBVector", [CIVector vectorWithX: 1 Y: 0 Z: 0 W: 0],
- @"inputAVector", [CIVector vectorWithX: 0 Y: 0 Z: 0 W: 1],
- @"inputBiasVector", [CIVector vectorWithX: 0 Y: 0 Z: 0 W: 0],
- nil];
- CIImage *img = [colorSwapFilter valueForKey: @"outputImage"];
- NSBitmapImageRep *bitmap =[[NSBitmapImageRep alloc] initWithCIImage:img];
- //requesting the bitmap data is slow,
- //but it's better to do it here to avoid blocking the main thread for a long.
- [bitmap bitmapData];
- frame = QVideoFrame(new NSBitmapVideoBuffer(bitmap), QSize(w,h), QVideoFrame::Format_RGB32 );
- [bitmap release];
- }
-
- if (m_renderer)
- m_renderer->renderFrame(frame);
- }
-
- return img;
-}
-
-// Override this method so that the movie doesn't stop if
-// the window becomes invisible
-- (void)viewWillMoveToWindow:(NSWindow *)newWindow
-{
- Q_UNUSED(newWindow);
-}
-
-
-VIDEO_TRANSPARENT(mouseDown);
-VIDEO_TRANSPARENT(mouseDragged);
-VIDEO_TRANSPARENT(mouseUp);
-VIDEO_TRANSPARENT(mouseMoved);
-VIDEO_TRANSPARENT(mouseEntered);
-VIDEO_TRANSPARENT(mouseExited);
-VIDEO_TRANSPARENT(rightMouseDown);
-VIDEO_TRANSPARENT(rightMouseDragged);
-VIDEO_TRANSPARENT(rightMouseUp);
-VIDEO_TRANSPARENT(otherMouseDown);
-VIDEO_TRANSPARENT(otherMouseDragged);
-VIDEO_TRANSPARENT(otherMouseUp);
-VIDEO_TRANSPARENT(keyDown);
-VIDEO_TRANSPARENT(keyUp);
-VIDEO_TRANSPARENT(scrollWheel)
-
-@end
-
-QT_BEGIN_NAMESPACE
-
-QT7MovieViewRenderer::QT7MovieViewRenderer(QObject *parent)
- :QT7VideoRendererControl(parent),
- m_movie(0),
- m_movieView(0),
- m_surface(0),
- m_pendingRenderEvent(false)
-{
-}
-
-QT7MovieViewRenderer::~QT7MovieViewRenderer()
-{
- [(HiddenQTMovieView*)m_movieView setRenderer:0];
-
- QMutexLocker locker(&m_mutex);
- m_currentFrame = QVideoFrame();
- [(HiddenQTMovieView*)m_movieView release];
-}
-
-void QT7MovieViewRenderer::setupVideoOutput()
-{
- AutoReleasePool pool;
-
-// qDebug() << "QT7MovieViewRenderer::setupVideoOutput" << m_movie << m_surface;
-
- HiddenQTMovieView *movieView = (HiddenQTMovieView*)m_movieView;
-
- if (movieView && !m_movie) {
- [movieView setMovie:nil];
- }
-
- if (m_movie) {
- NSSize size = [[(QTMovie*)m_movie attributeForKey:@"QTMovieNaturalSizeAttribute"] sizeValue];
-
- m_nativeSize = QSize(size.width, size.height);
-
- if (!movieView) {
- movieView = [[HiddenQTMovieView alloc] initWithRenderer:this];
- m_movieView = movieView;
- [movieView setControllerVisible:NO];
- }
-
- [movieView setMovie:(QTMovie*)m_movie];
- [movieView setDrawRect:QRect(QPoint(0,0), m_nativeSize)];
- }
-
- if (m_surface && !m_nativeSize.isEmpty()) {
- bool coreImageFrameSupported = !m_surface->supportedPixelFormats(QAbstractVideoBuffer::CoreImageHandle).isEmpty() &&
- !m_surface->supportedPixelFormats(QAbstractVideoBuffer::GLTextureHandle).isEmpty();
-
- QVideoSurfaceFormat format(m_nativeSize, QVideoFrame::Format_RGB32,
- coreImageFrameSupported ? QAbstractVideoBuffer::CoreImageHandle : QAbstractVideoBuffer::NoHandle);
-
- if (m_surface->isActive() && m_surface->surfaceFormat() != format) {
-// qDebug() << "Surface format was changed, stop the surface.";
- m_surface->stop();
- }
-
- if (!m_surface->isActive()) {
- //qDebug() << "Starting the surface with format" << format;
- if (!m_surface->start(format)) {
- qWarning() << "Failed to start video surface" << m_surface->error();
- qWarning() << "Surface format:" << format;
- }
- }
- }
-}
-
-void QT7MovieViewRenderer::setMovie(void *movie)
-{
- if (movie == m_movie)
- return;
-
- QMutexLocker locker(&m_mutex);
- m_movie = movie;
- setupVideoOutput();
-}
-
-void QT7MovieViewRenderer::updateNaturalSize(const QSize &newSize)
-{
- if (m_nativeSize != newSize) {
- m_nativeSize = newSize;
- setupVideoOutput();
- }
-}
-
-QAbstractVideoSurface *QT7MovieViewRenderer::surface() const
-{
- return m_surface;
-}
-
-void QT7MovieViewRenderer::setSurface(QAbstractVideoSurface *surface)
-{
- if (surface == m_surface)
- return;
-
- QMutexLocker locker(&m_mutex);
-
- if (m_surface && m_surface->isActive())
- m_surface->stop();
-
- m_surface = surface;
- setupVideoOutput();
-}
-
-void QT7MovieViewRenderer::renderFrame(const QVideoFrame &frame)
-{
-
- QMutexLocker locker(&m_mutex);
- m_currentFrame = frame;
-
- if (!m_pendingRenderEvent)
- qApp->postEvent(this, new QEvent(QEvent::User), Qt::HighEventPriority);
-
- m_pendingRenderEvent = true;
-}
-
-bool QT7MovieViewRenderer::event(QEvent *event)
-{
- if (event->type() == QEvent::User) {
- QMutexLocker locker(&m_mutex);
- m_pendingRenderEvent = false;
- if (m_surface->isActive())
- m_surface->present(m_currentFrame);
- }
-
- return QT7VideoRendererControl::event(event);
-}
-
-QT_END_NAMESPACE
diff --git a/src/plugins/mediaservices/qt7/qt7serviceplugin.h b/src/plugins/mediaservices/qt7/qt7serviceplugin.h
deleted file mode 100644
index 3871e10b0a..0000000000
--- a/src/plugins/mediaservices/qt7/qt7serviceplugin.h
+++ /dev/null
@@ -1,64 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the plugins of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-
-#ifndef QT7SERVICEPLUGIN_H
-#define QT7SERVICEPLUGIN_H
-
-#include <QtMediaServices/qmediaserviceproviderplugin.h>
-
-QT_BEGIN_HEADER
-
-QT_BEGIN_NAMESPACE
-
-class QT7ServicePlugin : public QMediaServiceProviderPlugin
-{
-public:
- QStringList keys() const;
- QMediaService* create(QString const& key);
- void release(QMediaService *service);
-};
-
-QT_END_NAMESPACE
-
-QT_END_HEADER
-
-#endif // QGSTREAMERSERVICEPLUGIN_H
diff --git a/src/plugins/mediaservices/qt7/qt7serviceplugin.mm b/src/plugins/mediaservices/qt7/qt7serviceplugin.mm
deleted file mode 100644
index 92b472facb..0000000000
--- a/src/plugins/mediaservices/qt7/qt7serviceplugin.mm
+++ /dev/null
@@ -1,78 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the plugins of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include <QtCore/qstring.h>
-#include <QtCore/qdebug.h>
-
-#include "qt7serviceplugin.h"
-#include "qt7playerservice.h"
-
-#include <QtMediaServices/qmediaserviceprovider.h>
-
-QT_BEGIN_NAMESPACE
-
-QStringList QT7ServicePlugin::keys() const
-{
- return QStringList()
-#ifdef QMEDIA_QT7_PLAYER
- << QLatin1String(Q_MEDIASERVICE_MEDIAPLAYER);
-#endif
-}
-
-QMediaService* QT7ServicePlugin::create(QString const& key)
-{
-#ifdef QMEDIA_QT7_PLAYER
- if (key == QLatin1String(Q_MEDIASERVICE_MEDIAPLAYER))
- return new QT7PlayerService;
-#endif
-
- qWarning() << "Attempt to create unknown service with key" << key;
- return 0;
-}
-
-void QT7ServicePlugin::release(QMediaService *service)
-{
- delete service;
-}
-
-Q_EXPORT_PLUGIN2(qt7_serviceplugin, QT7ServicePlugin);
-
-QT_END_NAMESPACE
diff --git a/src/plugins/mediaservices/qt7/qt7videooutputcontrol.h b/src/plugins/mediaservices/qt7/qt7videooutputcontrol.h
deleted file mode 100644
index 76066babd9..0000000000
--- a/src/plugins/mediaservices/qt7/qt7videooutputcontrol.h
+++ /dev/null
@@ -1,135 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the plugins of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QT7VIDEOOUTPUTCONTROL_H
-#define QT7VIDEOOUTPUTCONTROL_H
-
-#include <QtCore/qobject.h>
-#include <QtCore/qsize.h>
-
-#include <QtMediaServices/qvideooutputcontrol.h>
-#include <QtMediaServices/qvideowindowcontrol.h>
-#include <QtMediaServices/qvideowidgetcontrol.h>
-#include <QtMediaServices/qvideorenderercontrol.h>
-#include <QtMediaServices/qmediaplayer.h>
-
-#include <QtGui/qmacdefines_mac.h>
-
-
-QT_BEGIN_HEADER
-
-QT_BEGIN_NAMESPACE
-
-class QMediaPlaylist;
-class QMediaPlaylistNavigator;
-class QT7PlayerSession;
-class QT7PlayerService;
-
-
-class QT7VideoOutput {
-public:
- virtual ~QT7VideoOutput() {}
- virtual void setMovie(void *movie) = 0;
- virtual void updateNaturalSize(const QSize &newSize) = 0;
-};
-
-class QT7VideoWindowControl : public QVideoWindowControl, public QT7VideoOutput
-{
-public:
- virtual ~QT7VideoWindowControl() {}
-
-protected:
- QT7VideoWindowControl(QObject *parent)
- :QVideoWindowControl(parent)
- {}
-};
-
-class QT7VideoRendererControl : public QVideoRendererControl, public QT7VideoOutput
-{
-public:
- virtual ~QT7VideoRendererControl() {}
-
-protected:
- QT7VideoRendererControl(QObject *parent)
- :QVideoRendererControl(parent)
- {}
-};
-
-class QT7VideoWidgetControl : public QVideoWidgetControl, public QT7VideoOutput
-{
-public:
- virtual ~QT7VideoWidgetControl() {}
-
-protected:
- QT7VideoWidgetControl(QObject *parent)
- :QVideoWidgetControl(parent)
- {}
-};
-
-class QT7VideoOutputControl : public QVideoOutputControl
-{
-Q_OBJECT
-public:
- QT7VideoOutputControl(QObject *parent = 0);
- ~QT7VideoOutputControl();
-
- void setSession(QT7PlayerSession *session);
-
- QList<Output> availableOutputs() const;
- void enableOutput(Output);
-
- Output output() const;
- void setOutput(Output output);
-
-signals:
- void videoOutputChanged(QVideoOutputControl::Output);
-
-private:
- QT7PlayerSession *m_session;
- Output m_output;
- QList<Output> m_outputs;
-};
-
-QT_END_NAMESPACE
-
-QT_END_HEADER
-
-#endif
diff --git a/src/plugins/mediaservices/qt7/qt7videooutputcontrol.mm b/src/plugins/mediaservices/qt7/qt7videooutputcontrol.mm
deleted file mode 100644
index a4684312d2..0000000000
--- a/src/plugins/mediaservices/qt7/qt7videooutputcontrol.mm
+++ /dev/null
@@ -1,93 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the plugins of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "qt7playercontrol.h"
-#include "qt7videooutputcontrol.h"
-#include "qt7playersession.h"
-#include <QtCore/qdebug.h>
-
-QT_BEGIN_NAMESPACE
-
-QT7VideoOutputControl::QT7VideoOutputControl(QObject *parent)
- :QVideoOutputControl(parent),
- m_session(0),
- m_output(QVideoOutputControl::NoOutput)
-{
-}
-
-QT7VideoOutputControl::~QT7VideoOutputControl()
-{
-}
-
-void QT7VideoOutputControl::setSession(QT7PlayerSession *session)
-{
- m_session = session;
-}
-
-QList<QVideoOutputControl::Output> QT7VideoOutputControl::availableOutputs() const
-{
- return m_outputs;
-}
-
-void QT7VideoOutputControl::enableOutput(QVideoOutputControl::Output output)
-{
- if (!m_outputs.contains(output))
- m_outputs.append(output);
-}
-
-QVideoOutputControl::Output QT7VideoOutputControl::output() const
-{
- return m_output;
-}
-
-void QT7VideoOutputControl::setOutput(Output output)
-{
- if (m_output != output) {
- m_output = output;
- emit videoOutputChanged(m_output);
- }
-
-}
-
-QT_END_NAMESPACE
-
-#include "moc_qt7videooutputcontrol.cpp"
-
diff --git a/src/plugins/mediaservices/symbian/mediaplayer/mediaplayer.pri b/src/plugins/mediaservices/symbian/mediaplayer/mediaplayer.pri
deleted file mode 100644
index 205e014501..0000000000
--- a/src/plugins/mediaservices/symbian/mediaplayer/mediaplayer.pri
+++ /dev/null
@@ -1,63 +0,0 @@
-INCLUDEPATH += $$PWD
-LIBS += -lmediaclientvideo \
- -lmediaclientaudio \
- -lws32 \
- -lfbscli \
- -lcone \
- -lmmfcontrollerframework \
- -lefsrv \
- -lbitgdi \
- -lapgrfx \
- -lapmime
-
-
-# We are building Symbian backend with media player support
-DEFINES += QMEDIA_MMF_PLAYER
-
-
-HEADERS += \
- $$PWD/s60mediaplayercontrol.h \
- $$PWD/s60mediaplayerservice.h \
- $$PWD/s60mediaplayersession.h \
- $$PWD/s60videoplayersession.h \
- $$PWD/s60mediametadataprovider.h \
- $$PWD/s60videosurface.h \
- $$PWD/s60videooverlay.h \
- $$PWD/s60videorenderer.h \
- $$PWD/s60mediarecognizer.h \
- $$PWD/s60audioplayersession.h \
- $$PWD/ms60mediaplayerresolver.h \
- $$PWD/s60videowidget.h \
- $$PWD/s60mediaplayeraudioendpointselector.h
-
-SOURCES += \
- $$PWD/s60mediaplayercontrol.cpp \
- $$PWD/s60mediaplayerservice.cpp \
- $$PWD/s60mediaplayersession.cpp \
- $$PWD/s60videoplayersession.cpp \
- $$PWD/s60mediametadataprovider.cpp \
- $$PWD/s60videosurface.cpp \
- $$PWD/s60videooverlay.cpp \
- $$PWD/s60videorenderer.cpp \
- $$PWD/s60mediarecognizer.cpp \
- $$PWD/s60audioplayersession.cpp \
- $$PWD/s60videowidget.cpp \
- $$PWD/s60mediaplayeraudioendpointselector.cpp
-
-contains(S60_VERSION, 3.1) {
-
- #3.1 doesn't provide audio routing in videoplayer
- DEFINES += HAS_NO_AUDIOROUTING_IN_VIDEOPLAYER
-
- !exists($${EPOCROOT}epoc32\release\winscw\udeb\audiooutputrouting.lib) {
- MMP_RULES += "$${LITERAL_HASH}ifdef WINSCW" \
- "MACRO HAS_NO_AUDIOROUTING" \
- "$${LITERAL_HASH}else" \
- "LIBRARY audiooutputrouting.lib" \
- "$${LITERAL_HASH}endif"
- }
-
-} else {
- LIBS += -laudiooutputrouting
-}
-
diff --git a/src/plugins/mediaservices/symbian/mediaplayer/ms60mediaplayerresolver.h b/src/plugins/mediaservices/symbian/mediaplayer/ms60mediaplayerresolver.h
deleted file mode 100644
index b655a83eda..0000000000
--- a/src/plugins/mediaservices/symbian/mediaplayer/ms60mediaplayerresolver.h
+++ /dev/null
@@ -1,58 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the plugins of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-#ifndef MS60MEDIAPLAYERRESOLVER_H
-#define MS60MEDIAPLAYERRESOLVER_H
-
-QT_BEGIN_NAMESPACE
-
-class S60MediaPlayerSession;
-
-class MS60MediaPlayerResolver
-{
- public:
- virtual S60MediaPlayerSession* PlayerSession() = 0;
- virtual S60MediaPlayerSession* VideoPlayerSession() = 0;
- virtual S60MediaPlayerSession* AudioPlayerSession() = 0;
-};
-
-QT_END_NAMESPACE
-
-#endif
diff --git a/src/plugins/mediaservices/symbian/mediaplayer/s60audioplayersession.cpp b/src/plugins/mediaservices/symbian/mediaplayer/s60audioplayersession.cpp
deleted file mode 100644
index 1bebe0a80a..0000000000
--- a/src/plugins/mediaservices/symbian/mediaplayer/s60audioplayersession.cpp
+++ /dev/null
@@ -1,275 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the plugins of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "s60audioplayersession.h"
-#include <QtCore/qdebug.h>
-#include <QtCore/qvariant.h>
-
-#include <AudioOutput.h>
-#include <MAudioOutputObserver.h>
-
-QT_BEGIN_NAMESPACE
-
-S60AudioPlayerSession::S60AudioPlayerSession(QObject *parent)
- : S60MediaPlayerSession(parent)
- , m_player(0)
- , m_audioEndpoint("Default")
-{
-#ifndef HAS_NO_AUDIOROUTING
- m_audioOutput = 0;
-#endif
- QT_TRAP_THROWING(m_player = CAudioPlayer::NewL(*this, 0, EMdaPriorityPreferenceNone));
- m_player->RegisterForAudioLoadingNotification(*this);
-}
-
-S60AudioPlayerSession::~S60AudioPlayerSession()
-{
-#if !defined(HAS_NO_AUDIOROUTING)
- if (m_audioOutput)
- m_audioOutput->UnregisterObserver(*this);
- delete m_audioOutput;
-#endif
- m_player->Close();
- delete m_player;
-}
-
-void S60AudioPlayerSession::doLoadL(const TDesC &path)
-{
-#ifndef HAS_NO_AUDIOROUTING
- // m_audioOutput needs to be reinitialized after MapcInitComplete
- if (m_audioOutput)
- m_audioOutput->UnregisterObserver(*this);
- delete m_audioOutput;
- m_audioOutput = NULL;
-#endif
-
- m_player->OpenFileL(path);
-}
-
-qint64 S60AudioPlayerSession::doGetDurationL() const
-{
- return m_player->Duration().Int64() / qint64(1000);
-}
-
-qint64 S60AudioPlayerSession::doGetPositionL() const
-{
- TTimeIntervalMicroSeconds ms = 0;
- m_player->GetPosition(ms);
- return ms.Int64() / qint64(1000);
-}
-
-bool S60AudioPlayerSession::isVideoAvailable() const
-{
- return false;
-}
-bool S60AudioPlayerSession::isAudioAvailable() const
-{
- return true; // this is a bit happy scenario, but we do emit error that we can't play
-}
-
-void S60AudioPlayerSession::MaloLoadingStarted()
-{
- buffering();
-}
-
-void S60AudioPlayerSession::MaloLoadingComplete()
-{
- buffered();
-}
-
-void S60AudioPlayerSession::doPlay()
-{
-// For some reason loading progress callbalck are not called on emulator
-#ifdef __WINSCW__
- buffering();
-#endif
- m_player->Play();
-#ifdef __WINSCW__
- buffered();
-#endif
-
-}
-
-void S60AudioPlayerSession::doPauseL()
-{
- m_player->Pause();
-}
-
-void S60AudioPlayerSession::doStop()
-{
- m_player->Stop();
-}
-
-void S60AudioPlayerSession::doSetVolumeL(int volume)
-{
- m_player->SetVolume((volume / 100.0) * m_player->MaxVolume());
-}
-
-void S60AudioPlayerSession::doSetPositionL(qint64 microSeconds)
-{
- m_player->SetPosition(TTimeIntervalMicroSeconds(microSeconds));
-}
-
-void S60AudioPlayerSession::updateMetaDataEntriesL()
-{
- metaDataEntries().clear();
- int numberOfMetaDataEntries = 0;
-
- m_player->GetNumberOfMetaDataEntries(numberOfMetaDataEntries);
-
- for (int i = 0; i < numberOfMetaDataEntries; i++) {
- CMMFMetaDataEntry *entry = NULL;
- entry = m_player->GetMetaDataEntryL(i);
- metaDataEntries().insert(QString::fromUtf16(entry->Name().Ptr(), entry->Name().Length()), QString::fromUtf16(entry->Value().Ptr(), entry->Value().Length()));
- delete entry;
- }
- emit metaDataChanged();
-}
-
-int S60AudioPlayerSession::doGetBufferStatusL() const
-{
- int progress = 0;
- m_player->GetAudioLoadingProgressL(progress);
- return progress;
-}
-
-void S60AudioPlayerSession::MapcInitComplete(TInt aError, const TTimeIntervalMicroSeconds& aDuration)
-{
- Q_UNUSED(aDuration);
- setError(aError);
-#ifndef HAS_NO_AUDIOROUTING
- TRAPD(err,
- m_audioOutput = CAudioOutput::NewL(*m_player);
- m_audioOutput->RegisterObserverL(*this);
- );
- setActiveEndpoint(m_audioEndpoint);
- setError(err);
-#endif
- loaded();
-}
-
-void S60AudioPlayerSession::MapcPlayComplete(TInt aError)
-{
- setError(aError);
- endOfMedia();
-}
-
-void S60AudioPlayerSession::doSetAudioEndpoint(const QString& audioEndpoint)
-{
- m_audioEndpoint = audioEndpoint;
-}
-
-QString S60AudioPlayerSession::activeEndpoint() const
-{
- QString outputName = QString("Default");
-#if !defined(HAS_NO_AUDIOROUTING)
- if (m_audioOutput) {
- CAudioOutput::TAudioOutputPreference output = m_audioOutput->AudioOutput();
- outputName = qStringFromTAudioOutputPreference(output);
- }
-#endif
- return outputName;
-}
-
-QString S60AudioPlayerSession::defaultEndpoint() const
-{
- QString outputName = QString("Default");
-#if !defined(HAS_NO_AUDIOROUTING)
- if (m_audioOutput) {
- CAudioOutput::TAudioOutputPreference output = m_audioOutput->DefaultAudioOutput();
- outputName = qStringFromTAudioOutputPreference(output);
- }
-#endif
- return outputName;
-}
-
-void S60AudioPlayerSession::setActiveEndpoint(const QString& name)
-{
-#if !defined(HAS_NO_AUDIOROUTING)
- CAudioOutput::TAudioOutputPreference output = CAudioOutput::ENoPreference;
-
- if (name == QString("Default"))
- output = CAudioOutput::ENoPreference;
- else if (name == QString("All"))
- output = CAudioOutput::EAll;
- else if (name == QString("None"))
- output = CAudioOutput::ENoOutput;
- else if (name == QString("Earphone"))
- output = CAudioOutput::EPrivate;
- else if (name == QString("Speaker"))
- output = CAudioOutput::EPublic;
- if (m_audioOutput) {
- TRAPD(err, m_audioOutput->SetAudioOutputL(output));
- setError(err);
-
- if (m_audioEndpoint != name) {
- m_audioEndpoint = name;
- emit activeEndpointChanged(name);
- }
- }
-#endif
-}
-
-#if !defined(HAS_NO_AUDIOROUTING)
-void S60AudioPlayerSession::DefaultAudioOutputChanged(CAudioOutput& aAudioOutput,
- CAudioOutput::TAudioOutputPreference aNewDefault)
-{
- // Emit already implemented in setActiveEndpoint function
- Q_UNUSED(aAudioOutput)
- Q_UNUSED(aNewDefault)
-}
-
-QString S60AudioPlayerSession::qStringFromTAudioOutputPreference(CAudioOutput::TAudioOutputPreference output) const
-{
- if (output == CAudioOutput::ENoPreference)
- return QString("Default");
- else if (output == CAudioOutput::EAll)
- return QString("All");
- else if (output == CAudioOutput::ENoOutput)
- return QString("None");
- else if (output == CAudioOutput::EPrivate)
- return QString("Earphone");
- else if (output == CAudioOutput::EPublic)
- return QString("Speaker");
- return QString("Default");
-}
-#endif
-QT_END_NAMESPACE
diff --git a/src/plugins/mediaservices/symbian/mediaplayer/s60audioplayersession.h b/src/plugins/mediaservices/symbian/mediaplayer/s60audioplayersession.h
deleted file mode 100644
index d7259b9c5e..0000000000
--- a/src/plugins/mediaservices/symbian/mediaplayer/s60audioplayersession.h
+++ /dev/null
@@ -1,124 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the plugins of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef S60AUDIOPLAYERSESSION_H
-#define S60AUDIOPLAYERSESSION_H
-
-#include "s60mediaplayersession.h"
-
-#include <mdaaudiosampleplayer.h>
-typedef CMdaAudioPlayerUtility CAudioPlayer;
-typedef MMdaAudioPlayerCallback MAudioPlayerObserver;
-
-#ifndef HAS_NO_AUDIOROUTING
-#include <AudioOutput.h>
-#include <MAudioOutputObserver.h>
-#endif
-
-QT_BEGIN_NAMESPACE
-
-class S60AudioPlayerSession : public S60MediaPlayerSession
- , public MAudioPlayerObserver
- , public MAudioLoadingObserver
-#ifndef HAS_NO_AUDIOROUTING
- , public MAudioOutputObserver
-#endif
-{
- Q_OBJECT
-
-public:
- S60AudioPlayerSession(QObject *parent);
- ~S60AudioPlayerSession();
-
- //From S60MediaPlayerSession
- bool isVideoAvailable() const;
- bool isAudioAvailable() const;
-
- // From MAudioLoadingObserver
- void MaloLoadingStarted();
- void MaloLoadingComplete();
-
-#ifndef HAS_NO_AUDIOROUTING
- // From MAudioOutputObserver
- void DefaultAudioOutputChanged( CAudioOutput& aAudioOutput,
- CAudioOutput::TAudioOutputPreference aNewDefault );
-#endif
-public:
- // From S60MediaPlayerAudioEndpointSelector
- QString activeEndpoint() const;
- QString defaultEndpoint() const;
-public Q_SLOTS:
- void setActiveEndpoint(const QString& name);
-Q_SIGNALS:
- void activeEndpointChanged(const QString & name);
-
-protected:
- //From S60MediaPlayerSession
- void doLoadL(const TDesC &path);
- void doLoadUrlL(const TDesC &path){Q_UNUSED(path)/*empty implementation*/}
- void doPlay();
- void doStop();
- void doPauseL();
- void doSetVolumeL(int volume);
- qint64 doGetPositionL() const;
- void doSetPositionL(qint64 microSeconds);
- void updateMetaDataEntriesL();
- int doGetBufferStatusL() const;
- qint64 doGetDurationL() const;
- void doSetAudioEndpoint(const QString& audioEndpoint);
-
-private:
- void MapcInitComplete(TInt aError, const TTimeIntervalMicroSeconds& aDuration);
- void MapcPlayComplete(TInt aError);
-#ifndef HAS_NO_AUDIOROUTING
- QString qStringFromTAudioOutputPreference(CAudioOutput::TAudioOutputPreference output) const;
-#endif
-private:
- CAudioPlayer *m_player;
-#ifndef HAS_NO_AUDIOROUTING
- CAudioOutput *m_audioOutput;
-#endif
- QString m_audioEndpoint;
-};
-
-QT_END_NAMESPACE
-
-#endif
diff --git a/src/plugins/mediaservices/symbian/mediaplayer/s60mediametadataprovider.cpp b/src/plugins/mediaservices/symbian/mediaplayer/s60mediametadataprovider.cpp
deleted file mode 100644
index e80c487d64..0000000000
--- a/src/plugins/mediaservices/symbian/mediaplayer/s60mediametadataprovider.cpp
+++ /dev/null
@@ -1,185 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the plugins of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "s60mediametadataprovider.h"
-#include "s60mediaplayersession.h"
-#include <QtCore/qdebug.h>
-
-QT_BEGIN_NAMESPACE
-
-S60MediaMetaDataProvider::S60MediaMetaDataProvider(MS60MediaPlayerResolver& mediaPlayerResolver, QObject *parent)
- : QMetaDataControl(parent)
- , m_mediaPlayerResolver(mediaPlayerResolver)
- , m_session(NULL)
-{
-}
-
-S60MediaMetaDataProvider::~S60MediaMetaDataProvider()
-{
-}
-
-bool S60MediaMetaDataProvider::isMetaDataAvailable() const
-{
- m_session = m_mediaPlayerResolver.PlayerSession();
- if (m_session)
- return m_session->isMetadataAvailable();
- return false;
-}
-
-bool S60MediaMetaDataProvider::isWritable() const
-{
- return false;
-}
-
-QVariant S60MediaMetaDataProvider::metaData(QtMediaServices::MetaData key) const
-{
- m_session = m_mediaPlayerResolver.PlayerSession();
- if (m_session && m_session->isMetadataAvailable())
- return m_session->metaData(metaDataKeyAsString(key));
- return QVariant();
-}
-
-void S60MediaMetaDataProvider::setMetaData(QtMediaServices::MetaData key, QVariant const &value)
-{
- Q_UNUSED(key);
- Q_UNUSED(value);
-}
-QList<QtMediaServices::MetaData> S60MediaMetaDataProvider::availableMetaData() const
-{
- m_session = m_mediaPlayerResolver.PlayerSession();
- QList<QtMediaServices::MetaData> metaDataTags;
- if (m_session && m_session->isMetadataAvailable()) {
- for (int i = QtMediaServices::Title; i <= QtMediaServices::DeviceSettingDescription; i++) {
- QString metaData = metaDataKeyAsString((QtMediaServices::MetaData)i);
- if (!metaData.isEmpty()) {
- if (!m_session->metaData(metaData).toString().isEmpty()) {
- metaDataTags.append((QtMediaServices::MetaData)i);
- }
- }
- }
- }
- return metaDataTags;
-}
-
-QVariant S60MediaMetaDataProvider::extendedMetaData(const QString &key) const
-{
- m_session = m_mediaPlayerResolver.PlayerSession();
- if (m_session && m_session->isMetadataAvailable())
- return m_session->metaData(key);
- return QVariant();
-}
-
-void S60MediaMetaDataProvider::setExtendedMetaData(const QString &key, QVariant const &value)
-{
- Q_UNUSED(key);
- Q_UNUSED(value);
-}
-
-QStringList S60MediaMetaDataProvider::availableExtendedMetaData() const
-{
- m_session = m_mediaPlayerResolver.PlayerSession();
- if (m_session && m_session->isMetadataAvailable())
- return m_session->availableMetaData().keys();
- return QStringList();
-}
-
-QString S60MediaMetaDataProvider::metaDataKeyAsString(QtMediaServices::MetaData key) const
-{
- switch(key) {
- case QtMediaServices::Title: return "title";
- case QtMediaServices::AlbumArtist: return "artist";
- case QtMediaServices::Comment: return "comment";
- case QtMediaServices::Genre: return "genre";
- case QtMediaServices::Year: return "year";
- case QtMediaServices::Copyright: return "copyright";
- case QtMediaServices::AlbumTitle: return "album";
- case QtMediaServices::Composer: return "composer";
- case QtMediaServices::TrackNumber: return "albumtrack";
- case QtMediaServices::AudioBitRate: return "audiobitrate";
- case QtMediaServices::VideoBitRate: return "videobitrate";
- case QtMediaServices::Duration: return "duration";
- case QtMediaServices::MediaType: return "contenttype";
- case QtMediaServices::SubTitle: // TODO: Find the matching metadata keys
- case QtMediaServices::Description:
- case QtMediaServices::Category:
- case QtMediaServices::Date:
- case QtMediaServices::UserRating:
- case QtMediaServices::Keywords:
- case QtMediaServices::Language:
- case QtMediaServices::Publisher:
- case QtMediaServices::ParentalRating:
- case QtMediaServices::RatingOrganisation:
- case QtMediaServices::Size:
- case QtMediaServices::AudioCodec:
- case QtMediaServices::AverageLevel:
- case QtMediaServices::ChannelCount:
- case QtMediaServices::PeakValue:
- case QtMediaServices::SampleRate:
- case QtMediaServices::Author:
- case QtMediaServices::ContributingArtist:
- case QtMediaServices::Conductor:
- case QtMediaServices::Lyrics:
- case QtMediaServices::Mood:
- case QtMediaServices::TrackCount:
- case QtMediaServices::CoverArtUrlSmall:
- case QtMediaServices::CoverArtUrlLarge:
- case QtMediaServices::Resolution:
- case QtMediaServices::PixelAspectRatio:
- case QtMediaServices::VideoFrameRate:
- case QtMediaServices::VideoCodec:
- case QtMediaServices::PosterUrl:
- case QtMediaServices::ChapterNumber:
- case QtMediaServices::Director:
- case QtMediaServices::LeadPerformer:
- case QtMediaServices::Writer:
- case QtMediaServices::CameraManufacturer:
- case QtMediaServices::CameraModel:
- case QtMediaServices::Event:
- case QtMediaServices::Subject:
- default:
- break;
- }
-
- return QString();
-}
-
-QT_END_NAMESPACE
-
diff --git a/src/plugins/mediaservices/symbian/mediaplayer/s60mediametadataprovider.h b/src/plugins/mediaservices/symbian/mediaplayer/s60mediametadataprovider.h
deleted file mode 100644
index 07ae494746..0000000000
--- a/src/plugins/mediaservices/symbian/mediaplayer/s60mediametadataprovider.h
+++ /dev/null
@@ -1,81 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the plugins of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef S60MEDIAMETADATAPROVIDER_H
-#define S60MEDIAMETADATAPROVIDER_H
-
-#include <qmetadatacontrol.h>
-#include "ms60mediaplayerresolver.h"
-
-QT_BEGIN_NAMESPACE
-
-class S60MediaPlayerSession;
-
-class S60MediaMetaDataProvider : public QMetaDataControl
-{
- Q_OBJECT
-
-public:
- S60MediaMetaDataProvider(MS60MediaPlayerResolver& mediaPlayerResolver, QObject *parent = 0);
- ~S60MediaMetaDataProvider();
-
- bool isMetaDataAvailable() const;
- bool isWritable() const;
-
- QVariant metaData(QtMediaServices::MetaData key) const;
- void setMetaData(QtMediaServices::MetaData key, const QVariant &value);
- QList<QtMediaServices::MetaData> availableMetaData() const;
-
- QVariant extendedMetaData(const QString &key) const ;
- void setExtendedMetaData(const QString &key, const QVariant &value);
- QStringList availableExtendedMetaData() const;
-
-private:
- QString metaDataKeyAsString(QtMediaServices::MetaData key) const;
-
-private:
- MS60MediaPlayerResolver& m_mediaPlayerResolver;
- mutable S60MediaPlayerSession *m_session;
-};
-
-QT_END_NAMESPACE
-
-#endif // S60VIDEOMETADATAPROVIDER_H
diff --git a/src/plugins/mediaservices/symbian/mediaplayer/s60mediaplayeraudioendpointselector.cpp b/src/plugins/mediaservices/symbian/mediaplayer/s60mediaplayeraudioendpointselector.cpp
deleted file mode 100644
index dbeed90573..0000000000
--- a/src/plugins/mediaservices/symbian/mediaplayer/s60mediaplayeraudioendpointselector.cpp
+++ /dev/null
@@ -1,127 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the plugins of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "s60mediaplayercontrol.h"
-#include "s60mediaplayersession.h"
-#include "s60mediaplayeraudioendpointselector.h"
-
-#include <QtGui/QIcon>
-#include <QtCore/QDebug>
-
-QT_BEGIN_NAMESPACE
-
-S60MediaPlayerAudioEndpointSelector::S60MediaPlayerAudioEndpointSelector(QObject *control, QObject *parent)
- :QMediaControl(parent)
- , m_control(0)
- , m_audioEndpointNames(0)
-{
- m_control = qobject_cast<S60MediaPlayerControl*>(control);
-}
-
-S60MediaPlayerAudioEndpointSelector::~S60MediaPlayerAudioEndpointSelector()
-{
- delete m_audioEndpointNames;
-}
-
-QList<QString> S60MediaPlayerAudioEndpointSelector::availableEndpoints() const
-{
- if(m_audioEndpointNames->count() == 0) {
- m_audioEndpointNames->append("Default");
- m_audioEndpointNames->append("All");
- m_audioEndpointNames->append("None");
- m_audioEndpointNames->append("Earphone");
- m_audioEndpointNames->append("Speaker");
- }
- return *m_audioEndpointNames;
-}
-
-QString S60MediaPlayerAudioEndpointSelector::endpointDescription(const QString& name) const
-{
- if (name == QString("Default")) //ENoPreference
- return QString("Used to indicate that the playing audio can be routed to"
- "any speaker. This is the default value for audio.");
- else if (name == QString("All")) //EAll
- return QString("Used to indicate that the playing audio should be routed to all speakers.");
- else if (name == QString("None")) //ENoOutput
- return QString("Used to indicate that the playing audio should not be routed to any output.");
- else if (name == QString("Earphone")) //EPrivate
- return QString("Used to indicate that the playing audio should be routed to"
- "the default private speaker. A private speaker is one that can only"
- "be heard by one person.");
- else if (name == QString("Speaker")) //EPublic
- return QString("Used to indicate that the playing audio should be routed to"
- "the default public speaker. A public speaker is one that can "
- "be heard by multiple people.");
-
- return QString();
-}
-
-QString S60MediaPlayerAudioEndpointSelector::activeEndpoint() const
-{
- if (m_control->session())
- return m_control->session()->activeEndpoint();
- else
- return m_control->mediaControlSettings().audioEndpoint();
-}
-
-QString S60MediaPlayerAudioEndpointSelector::defaultEndpoint() const
-{
- if (m_control->session())
- return m_control->session()->defaultEndpoint();
- else
- return m_control->mediaControlSettings().audioEndpoint();
-}
-
-void S60MediaPlayerAudioEndpointSelector::setActiveEndpoint(const QString& name)
-{
- QString oldEndpoint = m_control->mediaControlSettings().audioEndpoint();
-
- if (name != oldEndpoint && (name == QString("Default") || name == QString("All") ||
- name == QString("None") || name == QString("Earphone") || name == QString("Speaker"))) {
-
- if (m_control->session()) {
- m_control->session()->setActiveEndpoint(name);
- }
- m_control->setAudioEndpoint(name);
- }
-}
-
-QT_END_NAMESPACE
diff --git a/src/plugins/mediaservices/symbian/mediaplayer/s60mediaplayeraudioendpointselector.h b/src/plugins/mediaservices/symbian/mediaplayer/s60mediaplayeraudioendpointselector.h
deleted file mode 100644
index a110ae84b6..0000000000
--- a/src/plugins/mediaservices/symbian/mediaplayer/s60mediaplayeraudioendpointselector.h
+++ /dev/null
@@ -1,81 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the plugins of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef S60MEDIAPLAYERAUDIOENDPOINTSELECTOR_H
-#define S60MEDIAPLAYERAUDIOENDPOINTSELECTOR_H
-
-#include <QStringList>
-
-#include <QtMediaServices/qmediacontrol.h>
-
-QT_BEGIN_NAMESPACE
-
-class S60MediaPlayerControl;
-class S60MediaPlayerSession;
-
-class S60MediaPlayerAudioEndpointSelector : public QMediaControl
-{
-
-Q_OBJECT
-
-public:
- S60MediaPlayerAudioEndpointSelector(QObject *control, QObject *parent = 0);
- ~S60MediaPlayerAudioEndpointSelector();
-
- QList<QString> availableEndpoints() const ;
- QString endpointDescription(const QString& name) const;
- QString defaultEndpoint() const;
- QString activeEndpoint() const;
-
-public Q_SLOTS:
- void setActiveEndpoint(const QString& name);
-
-private:
- S60MediaPlayerControl* m_control;
- QString m_audioInput;
- QList<QString> *m_audioEndpointNames;
-};
-
-#define QAudioEndpointSelector_iid "com.nokia.Qt.QAudioEndpointSelector/1.0"
-
-QT_END_NAMESPACE
-
-#endif // S60MEDIAPLAYERAUDIOENDPOINTSELECTOR_H
diff --git a/src/plugins/mediaservices/symbian/mediaplayer/s60mediaplayercontrol.cpp b/src/plugins/mediaservices/symbian/mediaplayer/s60mediaplayercontrol.cpp
deleted file mode 100644
index 8e03afd3c6..0000000000
--- a/src/plugins/mediaservices/symbian/mediaplayer/s60mediaplayercontrol.cpp
+++ /dev/null
@@ -1,274 +0,0 @@
-
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the plugins of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "s60mediaplayercontrol.h"
-#include "s60mediaplayersession.h"
-
-#include <QtCore/qdir.h>
-#include <QtCore/qurl.h>
-#include <QtCore/qdebug.h>
-
-QT_BEGIN_NAMESPACE
-
-S60MediaPlayerControl::S60MediaPlayerControl(MS60MediaPlayerResolver& mediaPlayerResolver, QObject *parent)
- : QMediaPlayerControl(parent),
- m_mediaPlayerResolver(mediaPlayerResolver),
- m_session(NULL),
- m_stream(NULL)
-{
-}
-
-S60MediaPlayerControl::~S60MediaPlayerControl()
-{
-}
-
-qint64 S60MediaPlayerControl::position() const
-{
- if (m_session)
- return m_session->position();
- return 0;
-}
-
-qint64 S60MediaPlayerControl::duration() const
-{
- if (m_session)
- return m_session->duration();
- return -1;
-}
-
-QMediaPlayer::State S60MediaPlayerControl::state() const
-{
- if (m_session)
- return m_session->state();
- return QMediaPlayer::StoppedState;
-}
-
-QMediaPlayer::MediaStatus S60MediaPlayerControl::mediaStatus() const
-{
- if (m_session)
- return m_session->mediaStatus();
- return m_mediaSettings.mediaStatus();
-}
-
-int S60MediaPlayerControl::bufferStatus() const
-{
- if (m_session)
- return m_session->bufferStatus();
- return 0;
-}
-
-int S60MediaPlayerControl::volume() const
-{
- if (m_session)
- return m_session->volume();
- return m_mediaSettings.volume();
-}
-
-bool S60MediaPlayerControl::isMuted() const
-{
- if (m_session)
- return m_session->isMuted();
- return m_mediaSettings.isMuted();
-}
-
-bool S60MediaPlayerControl::isSeekable() const
-{
- if (m_session)
- return m_session->isSeekable();
- return false;
-}
-
-QMediaTimeRange S60MediaPlayerControl::availablePlaybackRanges() const
-{
- QMediaTimeRange ranges;
-
- if(m_session && m_session->isSeekable())
- ranges.addInterval(0, m_session->duration());
-
- return ranges;
-}
-
-qreal S60MediaPlayerControl::playbackRate() const
-{
- //None of symbian players supports this.
- return m_mediaSettings.playbackRate();
-}
-
-void S60MediaPlayerControl::setPlaybackRate(qreal rate)
-{
- //None of symbian players supports this.
- m_mediaSettings.setPlaybackRate(rate);
- emit playbackRateChanged(playbackRate());
-
-}
-
-void S60MediaPlayerControl::setPosition(qint64 pos)
-{
- if (m_session)
- m_session->setPosition(pos);
-}
-
-void S60MediaPlayerControl::play()
-{
- if (m_session)
- m_session->play();
-}
-
-void S60MediaPlayerControl::pause()
-{
- if (m_session)
- m_session->pause();
-}
-
-void S60MediaPlayerControl::stop()
-{
- if (m_session)
- m_session->stop();
-}
-
-void S60MediaPlayerControl::setVolume(int volume)
-{
- int boundVolume = qBound(0, volume, 100);
- if (boundVolume == m_mediaSettings.volume())
- return;
-
- m_mediaSettings.setVolume(boundVolume);
- if (m_session)
- m_session->setVolume(boundVolume);
-
- emit volumeChanged(boundVolume);
-}
-
-void S60MediaPlayerControl::setMuted(bool muted)
-{
- if (m_mediaSettings.isMuted() == muted)
- return;
-
- m_mediaSettings.setMuted(muted);
- if (m_session)
- m_session->setMuted(muted);
-
- emit mutedChanged(muted);
-}
-
-QMediaContent S60MediaPlayerControl::media() const
-{
- return m_currentResource;
-}
-
-const QIODevice *S60MediaPlayerControl::mediaStream() const
-{
- return m_stream;
-}
-
-void S60MediaPlayerControl::setMedia(const QMediaContent &source, QIODevice *stream)
-{
- Q_UNUSED(stream)
- // we don't want to set & load media again when it is already loaded
- if (m_session && m_currentResource == source)
- return;
-
- // store to variable as session is created based on the content type.
- m_currentResource = source;
- S60MediaPlayerSession *newSession = m_mediaPlayerResolver.PlayerSession();
- m_mediaSettings.setMediaStatus(QMediaPlayer::UnknownMediaStatus);
-
- if (m_session)
- m_session->reset();
- else {
- emit mediaStatusChanged(QMediaPlayer::UnknownMediaStatus);
- emit error(QMediaPlayer::NoError, QString());
- }
-
- m_session = newSession;
-
- if (m_session)
- m_session->load(source.canonicalUrl());
- else {
- QMediaPlayer::MediaStatus status = (source.isNull()) ? QMediaPlayer::NoMedia : QMediaPlayer::InvalidMedia;
- m_mediaSettings.setMediaStatus(status);
- emit stateChanged(QMediaPlayer::StoppedState);
- emit error((source.isNull()) ? QMediaPlayer::NoError : QMediaPlayer::ResourceError,
- (source.isNull()) ? "" : tr("Media couldn't be resolved"));
- emit mediaStatusChanged(status);
- }
- emit mediaChanged(m_currentResource);
- }
-
-S60MediaPlayerSession* S60MediaPlayerControl::session()
-{
- return m_session;
-}
-
-void S60MediaPlayerControl::setVideoOutput(QObject *output)
-{
- S60MediaPlayerSession *session = NULL;
- session = m_mediaPlayerResolver.VideoPlayerSession();
- session->setVideoRenderer(output);
-}
-
-bool S60MediaPlayerControl::isAudioAvailable() const
-{
- if (m_session)
- return m_session->isAudioAvailable();
- return false;
-}
-
-bool S60MediaPlayerControl::isVideoAvailable() const
-{
- if (m_session)
- return m_session->isVideoAvailable();
- return false;
-}
-
-const S60MediaSettings& S60MediaPlayerControl::mediaControlSettings() const
-{
- return m_mediaSettings;
-}
-
-void S60MediaPlayerControl::setAudioEndpoint(const QString& name)
-{
- m_mediaSettings.setAudioEndpoint(name);
-}
-
-QT_END_NAMESPACE
-
diff --git a/src/plugins/mediaservices/symbian/mediaplayer/s60mediaplayercontrol.h b/src/plugins/mediaservices/symbian/mediaplayer/s60mediaplayercontrol.h
deleted file mode 100644
index 3d26a5ed91..0000000000
--- a/src/plugins/mediaservices/symbian/mediaplayer/s60mediaplayercontrol.h
+++ /dev/null
@@ -1,143 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the plugins of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef S60MEDIAPLAYERCONTROL_H
-#define S60MEDIAPLAYERCONTROL_H
-
-#include <QtCore/qobject.h>
-
-#include <qmediaplayercontrol.h>
-
-#include "ms60mediaplayerresolver.h"
-#include <QtCore/qdebug.h>
-
-QT_BEGIN_NAMESPACE
-
-class QMediaPlayer;
-class QMediaTimeRange;
-class QMediaContent;
-
-
-class S60MediaPlayerSession;
-class S60MediaPlayerService;
-
-class S60MediaSettings
-{
-
-public:
- S60MediaSettings()
- : m_volume(0)
- , m_muted(false)
- , m_playbackRate(0)
- , m_mediaStatus(QMediaPlayer::UnknownMediaStatus)
- , m_audioEndpoint(QString("Default"))
- {
- }
-
- void setVolume(int volume) { m_volume = volume; }
- void setMuted(bool muted) { m_muted = muted; }
- void setPlaybackRate(int rate) { m_playbackRate = rate; }
- void setMediaStatus(QMediaPlayer::MediaStatus status) {m_mediaStatus=status;}
- void setAudioEndpoint(const QString& audioEndpoint) { m_audioEndpoint = audioEndpoint; }
-
- int volume() const { return m_volume; }
- bool isMuted() const { return m_muted; }
- qreal playbackRate() const { return m_playbackRate; }
- QMediaPlayer::MediaStatus mediaStatus() const {return m_mediaStatus;}
- QString audioEndpoint() const { return m_audioEndpoint; }
-
-private:
- int m_volume;
- bool m_muted;
- qreal m_playbackRate;
- QMediaPlayer::MediaStatus m_mediaStatus;
- QString m_audioEndpoint;
-};
-
-class S60MediaPlayerControl : public QMediaPlayerControl
-{
- Q_OBJECT
-
-public:
- S60MediaPlayerControl(MS60MediaPlayerResolver& mediaPlayerResolver, QObject *parent = 0);
- ~S60MediaPlayerControl();
-
- // from QMediaPlayerControl
- virtual QMediaPlayer::State state() const;
- virtual QMediaPlayer::MediaStatus mediaStatus() const;
- virtual qint64 duration() const;
- virtual qint64 position() const;
- virtual void setPosition(qint64 pos);
- virtual int volume() const;
- virtual void setVolume(int volume);
- virtual bool isMuted() const;
- virtual void setMuted(bool muted);
- virtual int bufferStatus() const;
- virtual bool isAudioAvailable() const;
- virtual bool isVideoAvailable() const;
- virtual bool isSeekable() const;
- virtual QMediaTimeRange availablePlaybackRanges() const;
- virtual qreal playbackRate() const;
- virtual void setPlaybackRate(qreal rate);
- virtual QMediaContent media() const;
- virtual const QIODevice *mediaStream() const;
- virtual void setMedia(const QMediaContent&, QIODevice *);
- virtual void play();
- virtual void pause();
- virtual void stop();
- S60MediaPlayerSession* session();
- void setAudioEndpoint(const QString& name);
-
- // Own methods
- void setVideoOutput(QObject *output);
- const S60MediaSettings& mediaControlSettings() const;
-
-private:
- MS60MediaPlayerResolver &m_mediaPlayerResolver;
- S60MediaPlayerSession *m_session;
- QMediaContent m_currentResource;
- QIODevice *m_stream;
- S60MediaSettings m_mediaSettings;
-};
-
-QT_END_NAMESPACE
-
-#endif
diff --git a/src/plugins/mediaservices/symbian/mediaplayer/s60mediaplayerservice.cpp b/src/plugins/mediaservices/symbian/mediaplayer/s60mediaplayerservice.cpp
deleted file mode 100644
index 0b1c7d514a..0000000000
--- a/src/plugins/mediaservices/symbian/mediaplayer/s60mediaplayerservice.cpp
+++ /dev/null
@@ -1,259 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the plugins of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include <QtCore/qvariant.h>
-#include <QtCore/qdebug.h>
-#include <QtGui/qwidget.h>
-
-#include "s60mediaplayerservice.h"
-#include "s60mediaplayercontrol.h"
-#include "s60videoplayersession.h"
-#include "s60audioplayersession.h"
-#include "s60mediametadataprovider.h"
-#include "s60videowidget.h"
-#include "s60mediarecognizer.h"
-//#include <qmediatimerange.h>
-#include "s60videooverlay.h"
-#include "s60videorenderer.h"
-#include "s60mediaplayeraudioendpointselector.h"
-
-#include <qmediaplaylistnavigator.h>
-#include <qmediaplaylist.h>
-
-QT_BEGIN_NAMESPACE
-
-S60MediaPlayerService::S60MediaPlayerService(QObject *parent)
- : QMediaService(parent)
- , m_control(NULL)
- , m_videoOutput(NULL)
- , m_videoPlayerSession(NULL)
- , m_audioPlayerSession(NULL)
- , m_metaData(NULL)
- , m_videoWidget(NULL)
- , m_videoWindow(NULL)
- , m_videoRenderer(NULL)
- , m_audioEndpointSelector(NULL)
-{
- m_control = new S60MediaPlayerControl(*this, this);
- m_metaData = new S60MediaMetaDataProvider(*this);
- m_audioEndpointSelector = new S60MediaPlayerAudioEndpointSelector(m_control, this);
-}
-
-S60MediaPlayerService::~S60MediaPlayerService()
-{
- delete m_videoWidget;
- delete m_videoRenderer;
- delete m_videoWindow;
- delete m_videoOutput;
-}
-
-QMediaControl *S60MediaPlayerService::control(const char *name) const
-{
- if (qstrcmp(name, QMediaPlayerControl_iid) == 0)
- return m_control;
-
- if (qstrcmp(name, QMetaDataControl_iid) == 0) {
- return m_metaData;
- }
-
- if (qstrcmp(name, QVideoOutputControl_iid) == 0) {
- if (!m_videoOutput) {
- m_videoOutput = new S60VideoOutputControl;
- connect(m_videoOutput, SIGNAL(outputChanged(QVideoOutputControl::Output)),
- this, SLOT(videoOutputChanged(QVideoOutputControl::Output)));
- m_videoOutput->setAvailableOutputs(QList<QVideoOutputControl::Output>()
-// << QVideoOutputControl::RendererOutput
-// << QVideoOutputControl::WindowOutput
- << QVideoOutputControl::WidgetOutput);
-
- }
- return m_videoOutput;
- }
-
- if (qstrcmp(name, QVideoWidgetControl_iid) == 0) {
- if (!m_videoWidget)
- m_videoWidget = new S60VideoWidgetControl;
- return m_videoWidget;
- }
-
- if (qstrcmp(name, QVideoRendererControl_iid) == 0) {
- if (m_videoRenderer)
- m_videoRenderer = new S60VideoRenderer;
- return m_videoRenderer;
- }
-
- if (qstrcmp(name, QVideoWindowControl_iid) == 0) {
- if (!m_videoWindow)
- m_videoWindow = new S60VideoOverlay;
- return m_videoWindow;
- }
-
- if (qstrcmp(name, QAudioEndpointSelector_iid) == 0) {
- return m_audioEndpointSelector;
- }
-
- return 0;
-
-}
-
-void S60MediaPlayerService::videoOutputChanged(QVideoOutputControl::Output output)
-{
- switch (output) {
- case QVideoOutputControl::NoOutput:
- m_control->setVideoOutput(0);
- break;
-
- case QVideoOutputControl::RendererOutput:
- m_control->setVideoOutput(m_videoRenderer);
- break;
- case QVideoOutputControl::WindowOutput:
- m_control->setVideoOutput(m_videoWindow);
- break;
-
- case QVideoOutputControl::WidgetOutput:
- m_control->setVideoOutput(m_videoWidget);
- break;
- default:
- qWarning("Invalid video output selection");
- break;
- }
-}
-
-S60MediaPlayerSession* S60MediaPlayerService::PlayerSession()
-{
- QUrl url = m_control->media().canonicalUrl();
-
- if (url.isEmpty() == true) {
- return NULL;
- }
-
- S60MediaRecognizer *m_mediaRecognizer = new S60MediaRecognizer(this);
- S60MediaRecognizer::MediaType mediaType = m_mediaRecognizer->mediaType(url);
-
- switch (mediaType) {
- case S60MediaRecognizer::Video:
- case S60MediaRecognizer::Url:
- return VideoPlayerSession();
- case S60MediaRecognizer::Audio:
- return AudioPlayerSession();
- default:
- break;
- }
-
- return NULL;
-}
-
-S60MediaPlayerSession* S60MediaPlayerService::VideoPlayerSession()
-{
- if (!m_videoPlayerSession) {
- m_videoPlayerSession = new S60VideoPlayerSession(this);
-
- connect(m_videoPlayerSession, SIGNAL(positionChanged(qint64)),
- m_control, SIGNAL(positionChanged(qint64)));
- connect(m_videoPlayerSession, SIGNAL(durationChanged(qint64)),
- m_control, SIGNAL(durationChanged(qint64)));
- connect(m_videoPlayerSession, SIGNAL(stateChanged(QMediaPlayer::State)),
- m_control, SIGNAL(stateChanged(QMediaPlayer::State)));
- connect(m_videoPlayerSession, SIGNAL(mediaStatusChanged(QMediaPlayer::MediaStatus)),
- m_control, SIGNAL(mediaStatusChanged(QMediaPlayer::MediaStatus)));
- connect(m_videoPlayerSession,SIGNAL(bufferStatusChanged(int)),
- m_control, SIGNAL(bufferStatusChanged(int)));
- connect(m_videoPlayerSession, SIGNAL(videoAvailableChanged(bool)),
- m_control, SIGNAL(videoAvailableChanged(bool)));
- connect(m_videoPlayerSession, SIGNAL(audioAvailableChanged(bool)),
- m_control, SIGNAL(audioAvailableChanged(bool)));
- connect(m_videoPlayerSession, SIGNAL(seekableChanged(bool)),
- m_control, SIGNAL(seekableChanged(bool)));
- connect(m_videoPlayerSession, SIGNAL(availablePlaybackRangesChanged(const QMediaTimeRange&)),
- m_control, SIGNAL(availablePlaybackRangesChanged(const QMediaTimeRange&)));
- connect(m_videoPlayerSession, SIGNAL(error(int, const QString &)),
- m_control, SIGNAL(error(int, const QString &)));
- connect(m_videoPlayerSession, SIGNAL(metaDataChanged()),
- m_metaData, SIGNAL(metaDataChanged()));
- connect(m_videoPlayerSession, SIGNAL(activeEndpointChanged(const QString&)),
- m_audioEndpointSelector, SIGNAL(activeEndpointChanged(const QString&)));
- }
-
- m_videoPlayerSession->setVolume(m_control->mediaControlSettings().volume());
- m_videoPlayerSession->setMuted(m_control->mediaControlSettings().isMuted());
- m_videoPlayerSession->setAudioEndpoint(m_control->mediaControlSettings().audioEndpoint());
- return m_videoPlayerSession;
-}
-
-S60MediaPlayerSession* S60MediaPlayerService::AudioPlayerSession()
-{
- if (!m_audioPlayerSession) {
- m_audioPlayerSession = new S60AudioPlayerSession(this);
-
- connect(m_audioPlayerSession, SIGNAL(positionChanged(qint64)),
- m_control, SIGNAL(positionChanged(qint64)));
- connect(m_audioPlayerSession, SIGNAL(durationChanged(qint64)),
- m_control, SIGNAL(durationChanged(qint64)));
- connect(m_audioPlayerSession, SIGNAL(stateChanged(QMediaPlayer::State)),
- m_control, SIGNAL(stateChanged(QMediaPlayer::State)));
- connect(m_audioPlayerSession, SIGNAL(mediaStatusChanged(QMediaPlayer::MediaStatus)),
- m_control, SIGNAL(mediaStatusChanged(QMediaPlayer::MediaStatus)));
- connect(m_audioPlayerSession,SIGNAL(bufferStatusChanged(int)),
- m_control, SIGNAL(bufferStatusChanged(int)));
- connect(m_audioPlayerSession, SIGNAL(videoAvailableChanged(bool)),
- m_control, SIGNAL(videoAvailableChanged(bool)));
- connect(m_audioPlayerSession, SIGNAL(audioAvailableChanged(bool)),
- m_control, SIGNAL(audioAvailableChanged(bool)));
- connect(m_audioPlayerSession, SIGNAL(seekableChanged(bool)),
- m_control, SIGNAL(seekableChanged(bool)));
- connect(m_audioPlayerSession, SIGNAL(availablePlaybackRangesChanged(const QMediaTimeRange&)),
- m_control, SIGNAL(availablePlaybackRangesChanged(const QMediaTimeRange&)));
- connect(m_audioPlayerSession, SIGNAL(error(int, const QString &)),
- m_control, SIGNAL(error(int, const QString &)));
- connect(m_audioPlayerSession, SIGNAL(metaDataChanged()),
- m_metaData, SIGNAL(metaDataChanged()));
- connect(m_audioPlayerSession, SIGNAL(activeEndpointChanged(const QString&)),
- m_audioEndpointSelector, SIGNAL(activeEndpointChanged(const QString&)));
- }
-
- m_audioPlayerSession->setVolume(m_control->mediaControlSettings().volume());
- m_audioPlayerSession->setMuted(m_control->mediaControlSettings().isMuted());
- m_audioPlayerSession->setAudioEndpoint(m_control->mediaControlSettings().audioEndpoint());
- return m_audioPlayerSession;
-}
-
-QT_END_NAMESPACE
-
diff --git a/src/plugins/mediaservices/symbian/mediaplayer/s60mediaplayerservice.h b/src/plugins/mediaservices/symbian/mediaplayer/s60mediaplayerservice.h
deleted file mode 100644
index 6c8155dff5..0000000000
--- a/src/plugins/mediaservices/symbian/mediaplayer/s60mediaplayerservice.h
+++ /dev/null
@@ -1,105 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the plugins of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef S60VIDEOPLAYERSERVICE_H
-#define S60VIDEOPLAYERSERVICE_H
-
-#include <QtCore/qobject.h>
-
-#include <qmediaservice.h>
-#include <qvideooutputcontrol.h>
-
-#include "s60videooutputcontrol.h"
-#include "ms60mediaplayerresolver.h"
-
-#include "s60mediaplayeraudioendpointselector.h"
-
-QT_BEGIN_NAMESPACE
-
-class QMediaMetaData;
-class QMediaPlayerControl;
-class QMediaPlaylist;
-
-
-class S60VideoPlayerSession;
-class S60AudioPlayerSession;
-class S60MediaPlayerControl;
-class S60MediaMetaDataProvider;
-class S60VideoWidgetControl;
-class S60MediaRecognizer;
-class S60VideoRenderer;
-class S60VideoOverlay;
-
-class QMediaPlaylistNavigator;
-
-class S60MediaPlayerService : public QMediaService, public MS60MediaPlayerResolver
-{
- Q_OBJECT
-
-public:
- S60MediaPlayerService(QObject *parent = 0);
- ~S60MediaPlayerService();
-
- QMediaControl *control(const char *name) const;
-
-private slots:
- void videoOutputChanged(QVideoOutputControl::Output output);
-
-protected: // From MS60MediaPlayerResolver
- S60MediaPlayerSession* PlayerSession();
- S60MediaPlayerSession* VideoPlayerSession();
- S60MediaPlayerSession* AudioPlayerSession();
-
-private:
- S60MediaPlayerControl *m_control;
- mutable S60VideoOutputControl *m_videoOutput;
- S60VideoPlayerSession *m_videoPlayerSession;
- S60AudioPlayerSession *m_audioPlayerSession;
- mutable S60MediaMetaDataProvider *m_metaData;
- mutable S60VideoWidgetControl *m_videoWidget;
- mutable S60VideoOverlay *m_videoWindow;
- mutable S60VideoRenderer *m_videoRenderer;
- S60MediaPlayerAudioEndpointSelector *m_audioEndpointSelector;
-};
-
-QT_END_NAMESPACE
-
-#endif
diff --git a/src/plugins/mediaservices/symbian/mediaplayer/s60mediaplayersession.cpp b/src/plugins/mediaservices/symbian/mediaplayer/s60mediaplayersession.cpp
deleted file mode 100644
index 693c103493..0000000000
--- a/src/plugins/mediaservices/symbian/mediaplayer/s60mediaplayersession.cpp
+++ /dev/null
@@ -1,496 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the plugins of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "s60mediaplayersession.h"
-
-#include <QtCore/qdebug.h>
-#include <QtCore/qdir.h>
-#include <QtCore/qvariant.h>
-#include <QtCore/qtimer.h>
-#include <mmf/common/mmferrors.h>
-#include <qmediatimerange.h>
-
-QT_BEGIN_NAMESPACE
-
-S60MediaPlayerSession::S60MediaPlayerSession(QObject *parent)
- : QObject(parent)
- , m_playbackRate(0)
- , m_muted(false)
- , m_volume(0)
- , m_state(QMediaPlayer::StoppedState)
- , m_mediaStatus(QMediaPlayer::UnknownMediaStatus)
- , m_progressTimer(new QTimer(this))
- , m_stalledTimer(new QTimer(this))
- , m_error(KErrNone)
- , m_play_requested(false)
- , m_stream(false)
-{
- connect(m_progressTimer, SIGNAL(timeout()), this, SLOT(tick()));
- connect(m_stalledTimer, SIGNAL(timeout()), this, SLOT(stalled()));
-}
-
-S60MediaPlayerSession::~S60MediaPlayerSession()
-{
-}
-
-int S60MediaPlayerSession::volume() const
-{
- return m_volume;
-}
-
-void S60MediaPlayerSession::setVolume(int volume)
-{
- if (m_volume == volume)
- return;
-
- m_volume = volume;
- // Dont set symbian players volume until media loaded.
- // Leaves with KerrNotReady although documentation says otherwise.
- if (!m_muted &&
- ( mediaStatus() == QMediaPlayer::LoadedMedia
- || mediaStatus() == QMediaPlayer::StalledMedia
- || mediaStatus() == QMediaPlayer::BufferingMedia
- || mediaStatus() == QMediaPlayer::BufferedMedia
- || mediaStatus() == QMediaPlayer::EndOfMedia)) {
- TRAPD(err, doSetVolumeL(m_volume));
- setError(err);
- }
-}
-
-bool S60MediaPlayerSession::isMuted() const
-{
- return m_muted;
-}
-
-bool S60MediaPlayerSession::isSeekable() const
-{
- return (m_stream)?false:true;
-}
-
-void S60MediaPlayerSession::setMediaStatus(QMediaPlayer::MediaStatus status)
-{
- if (m_mediaStatus == status)
- return;
-
- m_mediaStatus = status;
-
- emit mediaStatusChanged(m_mediaStatus);
-
- if (m_play_requested)
- play();
-}
-
-void S60MediaPlayerSession::setState(QMediaPlayer::State state)
-{
- if (m_state == state)
- return;
-
- m_state = state;
- emit stateChanged(m_state);
-}
-
-QMediaPlayer::State S60MediaPlayerSession::state() const
-{
- return m_state;
-}
-
-QMediaPlayer::MediaStatus S60MediaPlayerSession::mediaStatus() const
-{
- return m_mediaStatus;
-}
-
-void S60MediaPlayerSession::load(QUrl url)
-{
- setMediaStatus(QMediaPlayer::LoadingMedia);
- startStalledTimer();
- m_stream = (url.scheme() == "file")?false:true;
- TRAPD(err,
- if(m_stream)
- doLoadUrlL(QString2TPtrC(url.toString()));
- else
- doLoadL(QString2TPtrC(QDir::toNativeSeparators(url.toLocalFile()))));
- setError(err);
-}
-
-void S60MediaPlayerSession::play()
-{
- if (state() == QMediaPlayer::PlayingState
- || mediaStatus() == QMediaPlayer::UnknownMediaStatus
- || mediaStatus() == QMediaPlayer::NoMedia
- || mediaStatus() == QMediaPlayer::InvalidMedia)
- return;
-
- if (mediaStatus() == QMediaPlayer::LoadingMedia) {
- m_play_requested = true;
- return;
- }
-
- m_play_requested = false;
- setState(QMediaPlayer::PlayingState);
- startProgressTimer();
- doPlay();
-}
-
-void S60MediaPlayerSession::pause()
-{
- if (mediaStatus() == QMediaPlayer::NoMedia ||
- mediaStatus() == QMediaPlayer::InvalidMedia)
- return;
-
- setState(QMediaPlayer::PausedState);
- stopProgressTimer();
- TRAP_IGNORE(doPauseL());
-}
-
-void S60MediaPlayerSession::stop()
-{
- m_play_requested = false;
- setState(QMediaPlayer::StoppedState);
- if (mediaStatus() == QMediaPlayer::BufferingMedia ||
- mediaStatus() == QMediaPlayer::BufferedMedia)
- setMediaStatus(QMediaPlayer::LoadedMedia);
- if (mediaStatus() == QMediaPlayer::LoadingMedia)
- setMediaStatus(QMediaPlayer::UnknownMediaStatus);
- stopProgressTimer();
- stopStalledTimer();
- doStop();
- emit positionChanged(0);
-}
-void S60MediaPlayerSession::reset()
-{
- m_play_requested = false;
- setError(KErrNone, QString(), true);
- stopProgressTimer();
- stopStalledTimer();
- doStop();
- setState(QMediaPlayer::StoppedState);
- setMediaStatus(QMediaPlayer::UnknownMediaStatus);
-}
-
-void S60MediaPlayerSession::setVideoRenderer(QObject *renderer)
-{
- Q_UNUSED(renderer);
-}
-
-int S60MediaPlayerSession::bufferStatus()
-{
- if( mediaStatus() == QMediaPlayer::LoadingMedia
- || mediaStatus() == QMediaPlayer::UnknownMediaStatus
- || mediaStatus() == QMediaPlayer::NoMedia
- || mediaStatus() == QMediaPlayer::InvalidMedia)
- return 0;
-
- int progress = 0;
- TRAPD(err, progress = doGetBufferStatusL());
-
- // If buffer status query not supported by codec return 100
- // do not set error
- if(err == KErrNotSupported)
- return 100;
-
- setError(err);
- return progress;
-}
-
-bool S60MediaPlayerSession::isMetadataAvailable() const
-{
- return !m_metaDataMap.isEmpty();
-}
-
-QVariant S60MediaPlayerSession::metaData(const QString &key) const
-{
- return m_metaDataMap.value(key);
-}
-
-QMap<QString, QVariant> S60MediaPlayerSession::availableMetaData() const
-{
- return m_metaDataMap;
-}
-
-void S60MediaPlayerSession::setMuted(bool muted)
-{
- m_muted = muted;
-
- if( m_mediaStatus == QMediaPlayer::LoadedMedia
- || m_mediaStatus == QMediaPlayer::StalledMedia
- || m_mediaStatus == QMediaPlayer::BufferingMedia
- || m_mediaStatus == QMediaPlayer::BufferedMedia
- || m_mediaStatus == QMediaPlayer::EndOfMedia) {
- TRAPD(err, doSetVolumeL((m_muted)?0:m_volume));
- setError(err);
- }
-}
-
-qint64 S60MediaPlayerSession::duration() const
-{
- if( mediaStatus() == QMediaPlayer::LoadingMedia
- || mediaStatus() == QMediaPlayer::UnknownMediaStatus
- || mediaStatus() == QMediaPlayer::NoMedia
- || mediaStatus() == QMediaPlayer::InvalidMedia)
- return -1;
-
- qint64 pos = 0;
- TRAP_IGNORE(pos = doGetDurationL());
- return pos;
-}
-
-qint64 S60MediaPlayerSession::position() const
-{
- if( mediaStatus() == QMediaPlayer::LoadingMedia
- || mediaStatus() == QMediaPlayer::UnknownMediaStatus
- || mediaStatus() == QMediaPlayer::NoMedia
- || mediaStatus() == QMediaPlayer::InvalidMedia)
- return 0;
-
- qint64 pos = 0;
- TRAP_IGNORE(pos = doGetPositionL());
- return pos;
-}
-
-void S60MediaPlayerSession::setPosition(qint64 pos)
-{
- if (position() == pos)
- return;
-
- if (state() == QMediaPlayer::PlayingState)
- pause();
-
- TRAPD(err, doSetPositionL(pos * 1000));
- setError(err);
-
- if (state() == QMediaPlayer::PausedState)
- play();
-
- emit positionChanged(position());
-}
-
-void S60MediaPlayerSession::setAudioEndpoint(const QString& audioEndpoint)
-{
- doSetAudioEndpoint(audioEndpoint);
-}
-
-void S60MediaPlayerSession::loaded()
-{
- stopStalledTimer();
- if (m_error == KErrNone || m_error == KErrMMPartialPlayback) {
- setMediaStatus(QMediaPlayer::LoadedMedia);
- TRAPD(err, updateMetaDataEntriesL());
- setError(err);
- setVolume(m_volume);
- setMuted(m_muted);
- emit durationChanged(duration());
- emit videoAvailableChanged(isVideoAvailable());
- emit audioAvailableChanged(isAudioAvailable());
- }
-}
-
-void S60MediaPlayerSession::endOfMedia()
-{
- setMediaStatus(QMediaPlayer::EndOfMedia);
- setState(QMediaPlayer::StoppedState);
- emit positionChanged(0);
-}
-
-void S60MediaPlayerSession::buffering()
-{
- startStalledTimer();
- setMediaStatus(QMediaPlayer::BufferingMedia);
-}
-
-void S60MediaPlayerSession::buffered()
-{
- stopStalledTimer();
- setMediaStatus(QMediaPlayer::BufferedMedia);
-}
-void S60MediaPlayerSession::stalled()
-{
- setMediaStatus(QMediaPlayer::StalledMedia);
-}
-
-QMap<QString, QVariant>& S60MediaPlayerSession::metaDataEntries()
-{
- return m_metaDataMap;
-}
-
-QMediaPlayer::Error S60MediaPlayerSession::fromSymbianErrorToMultimediaError(int error)
-{
- switch(error) {
- case KErrNoMemory:
- case KErrNotFound:
- case KErrBadHandle:
- case KErrAbort:
- case KErrNotSupported:
- case KErrCorrupt:
- case KErrGeneral:
- case KErrArgument:
- case KErrPathNotFound:
- case KErrDied:
- case KErrServerTerminated:
- case KErrServerBusy:
- case KErrCompletion:
- case KErrBadPower:
- return QMediaPlayer::ResourceError;
-
- case KErrMMPartialPlayback:
- return QMediaPlayer::FormatError;
-
- case KErrMMAudioDevice:
- case KErrMMVideoDevice:
- case KErrMMDecoder:
- case KErrUnknown:
- return QMediaPlayer::ServiceMissingError;
-
- case KErrMMNotEnoughBandwidth:
- case KErrMMSocketServiceNotFound:
- case KErrMMNetworkRead:
- case KErrMMNetworkWrite:
- case KErrMMServerSocket:
- case KErrMMServerNotSupported:
- case KErrMMUDPReceive:
- case KErrMMInvalidProtocol:
- case KErrMMInvalidURL:
- case KErrMMMulticast:
- case KErrMMProxyServer:
- case KErrMMProxyServerNotSupported:
- case KErrMMProxyServerConnect:
- return QMediaPlayer::NetworkError;
-
- case KErrNotReady:
- case KErrInUse:
- case KErrAccessDenied:
- case KErrLocked:
- case KErrMMDRMNotAuthorized:
- case KErrPermissionDenied:
- case KErrCancel:
- case KErrAlreadyExists:
- return QMediaPlayer::AccessDeniedError;
-
- case KErrNone:
- default:
- return QMediaPlayer::NoError;
- }
-}
-
-void S60MediaPlayerSession::setError(int error, const QString &errorString, bool forceReset)
-{
- if( forceReset ) {
- m_error = KErrNone;
- emit this->error(QMediaPlayer::NoError, QString());
- return;
- }
-
- // If error does not change and m_error is reseted without forceReset flag
- if (error == m_error ||
- (m_error != KErrNone && error == KErrNone))
- return;
-
- m_error = error;
- QMediaPlayer::Error mediaError = fromSymbianErrorToMultimediaError(m_error);
- QString symbianError = QString(errorString);
-
- if (mediaError != QMediaPlayer::NoError) {
- // TODO: fix to user friendly string at some point
- // These error string are only dev usable
- symbianError.append("Symbian:");
- symbianError.append(QString::number(m_error));
- }
-
- emit this->error(mediaError, symbianError);
-
- switch(mediaError){
- case QMediaPlayer::ResourceError:
- case QMediaPlayer::NetworkError:
- case QMediaPlayer::AccessDeniedError:
- case QMediaPlayer::ServiceMissingError:
- m_play_requested = false;
- setMediaStatus(QMediaPlayer::InvalidMedia);
- stop();
- break;
- }
-}
-
-void S60MediaPlayerSession::tick()
-{
- emit positionChanged(position());
-
- if (bufferStatus() < 100)
- emit bufferStatusChanged(bufferStatus());
-}
-
-void S60MediaPlayerSession::startProgressTimer()
-{
- m_progressTimer->start(500);
-}
-
-void S60MediaPlayerSession::stopProgressTimer()
-{
- m_progressTimer->stop();
-}
-
-void S60MediaPlayerSession::startStalledTimer()
-{
- m_stalledTimer->start(30000);
-}
-
-void S60MediaPlayerSession::stopStalledTimer()
-{
- m_stalledTimer->stop();
-}
-QString S60MediaPlayerSession::TDesC2QString(const TDesC& aDescriptor)
-{
- return QString::fromUtf16(aDescriptor.Ptr(), aDescriptor.Length());
-}
-TPtrC S60MediaPlayerSession::QString2TPtrC( const QString& string )
-{
- // Returned TPtrC is valid as long as the given parameter is valid and unmodified
- return TPtrC16(static_cast<const TUint16*>(string.utf16()), string.length());
-}
-QRect S60MediaPlayerSession::TRect2QRect(const TRect& tr)
-{
- return QRect(tr.iTl.iX, tr.iTl.iY, tr.Width(), tr.Height());
-}
-TRect S60MediaPlayerSession::QRect2TRect(const QRect& qr)
-{
- return TRect(TPoint(qr.left(), qr.top()), TSize(qr.width(), qr.height()));
-}
-
-QT_END_NAMESPACE
-
diff --git a/src/plugins/mediaservices/symbian/mediaplayer/s60mediaplayersession.h b/src/plugins/mediaservices/symbian/mediaplayer/s60mediaplayersession.h
deleted file mode 100644
index bb9eddd663..0000000000
--- a/src/plugins/mediaservices/symbian/mediaplayer/s60mediaplayersession.h
+++ /dev/null
@@ -1,167 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the plugins of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef S60MEDIAPLAYERSESSION_H
-#define S60MEDIAPLAYERSESSION_H
-
-#include <QtCore/qobject.h>
-#include <QtCore/qurl.h>
-#include <QtCore/qpair.h>
-#include <qmediaplayer.h>
-#include <e32cmn.h> // for TDesC
-#include <QRect>
-#include "s60mediaplayerservice.h"
-
-QT_BEGIN_NAMESPACE
-
-class QMediaTimeRange;
-
-class QTimer;
-
-class S60MediaPlayerSession : public QObject
-{
- Q_OBJECT
-
-public:
- S60MediaPlayerSession(QObject *parent);
- virtual ~S60MediaPlayerSession();
-
- // for player control interface to use
- QMediaPlayer::State state() const;
- QMediaPlayer::MediaStatus mediaStatus() const;
- qint64 duration() const;
- qint64 position() const;
- void setPosition(qint64 pos);
- int volume() const;
- void setVolume(int volume);
- bool isMuted() const;
- void setMuted(bool muted);
- virtual bool isVideoAvailable() const = 0;
- virtual bool isAudioAvailable() const = 0;
- bool isSeekable() const;
- void play();
- void pause();
- void stop();
- void reset();
- bool isMetadataAvailable() const;
- QVariant metaData(const QString &key) const;
- QMap<QString, QVariant> availableMetaData() const;
- void load(QUrl url);
- int bufferStatus();
- virtual void setVideoRenderer(QObject *renderer);
- void setMediaStatus(QMediaPlayer::MediaStatus);
- void setState(QMediaPlayer::State state);
- void setAudioEndpoint(const QString& audioEndpoint);
-
-protected:
- virtual void doLoadL(const TDesC &path) = 0;
- virtual void doLoadUrlL(const TDesC &path) = 0;
- virtual void doPlay() = 0;
- virtual void doStop() = 0;
- virtual void doPauseL() = 0;
- virtual void doSetVolumeL(int volume) = 0;
- virtual void doSetPositionL(qint64 microSeconds) = 0;
- virtual qint64 doGetPositionL() const = 0;
- virtual void updateMetaDataEntriesL() = 0;
- virtual int doGetBufferStatusL() const = 0;
- virtual qint64 doGetDurationL() const = 0;
- virtual void doSetAudioEndpoint(const QString& audioEndpoint) = 0;
-
-public:
- // From S60MediaPlayerAudioEndpointSelector
- virtual QString activeEndpoint() const = 0;
- virtual QString defaultEndpoint() const = 0;
-public Q_SLOTS:
- virtual void setActiveEndpoint(const QString& name) = 0;
-
-protected:
- void setError(int error, const QString &errorString = QString(), bool forceReset = false);
- void loaded();
- void buffering();
- void buffered();
- void endOfMedia();
- QMap<QString, QVariant>& metaDataEntries();
- QMediaPlayer::Error fromSymbianErrorToMultimediaError(int error);
- void startProgressTimer();
- void stopProgressTimer();
- void startStalledTimer();
- void stopStalledTimer();
- QString TDesC2QString(const TDesC& aDescriptor);
- TPtrC QString2TPtrC( const QString& string );
- QRect TRect2QRect(const TRect& tr);
- TRect QRect2TRect(const QRect& qr);
-
-
-protected slots:
- void tick();
- void stalled();
-
-signals:
- void durationChanged(qint64 duration);
- void positionChanged(qint64 position);
- void stateChanged(QMediaPlayer::State state);
- void mediaStatusChanged(QMediaPlayer::MediaStatus mediaStatus);
- void videoAvailableChanged(bool videoAvailable);
- void audioAvailableChanged(bool audioAvailable);
- void bufferStatusChanged(int percentFilled);
- void seekableChanged(bool);
- void availablePlaybackRangesChanged(const QMediaTimeRange&);
- void metaDataChanged();
- void error(int error, const QString &errorString);
- void activeEndpointChanged(const QString &name);
-
-private:
- qreal m_playbackRate;
- QMap<QString, QVariant> m_metaDataMap;
- bool m_muted;
- int m_volume;
- QMediaPlayer::State m_state;
- QMediaPlayer::MediaStatus m_mediaStatus;
- QTimer *m_progressTimer;
- QTimer *m_stalledTimer;
- int m_error;
- bool m_play_requested;
- bool m_stream;
-};
-
-QT_END_NAMESPACE
-
-#endif
diff --git a/src/plugins/mediaservices/symbian/mediaplayer/s60mediarecognizer.cpp b/src/plugins/mediaservices/symbian/mediaplayer/s60mediarecognizer.cpp
deleted file mode 100644
index b563dd992a..0000000000
--- a/src/plugins/mediaservices/symbian/mediaplayer/s60mediarecognizer.cpp
+++ /dev/null
@@ -1,127 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the plugins of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "S60mediarecognizer.h"
-#include <e32def.h>
-#include <e32cmn.h>
-#include <QtCore/qurl.h>
-#include <QtCore/qdir.h>
-#include <QtCore/qdebug.h>
-
-#include <apgcli.h>
-
-QT_BEGIN_NAMESPACE
-
-static const TInt KMimeTypePrefixLength = 6; // "audio/" or "video/"
-_LIT(KMimeTypePrefixAudio, "audio/");
-_LIT(KMimeTypePrefixVideo, "video/");
-
-S60MediaRecognizer::S60MediaRecognizer(QObject *parent) : QObject(parent)
-{
-}
-
-S60MediaRecognizer::~S60MediaRecognizer()
-{
- m_file.Close();
- m_fileServer.Close();
- m_recognizer.Close();
-}
-
-S60MediaRecognizer::MediaType S60MediaRecognizer::mediaType(const QUrl &url)
-{
- bool isStream = (url.scheme() == "file")?false:true;
-
- if (isStream)
- return Url;
- else
- return identifyMediaType(url.toLocalFile());
-}
-
-S60MediaRecognizer::MediaType S60MediaRecognizer::identifyMediaType(const QString& fileName)
-{
- S60MediaRecognizer::MediaType result = NotSupported;
- bool recognizerOpened = false;
-
- TInt err = m_recognizer.Connect();
- if (err == KErrNone) {
- recognizerOpened = true;
- }
-
- err = m_fileServer.Connect();
- if (err == KErrNone) {
- recognizerOpened = true;
- }
-
- // This is needed for sharing file handles for the recognizer
- err = m_fileServer.ShareProtected();
- if (err == KErrNone) {
- recognizerOpened = true;
- }
-
- if (recognizerOpened) {
- m_file.Close();
- err = m_file.Open(m_fileServer, QString2TPtrC(QDir::toNativeSeparators(fileName)), EFileRead |
- EFileShareReadersOnly);
-
- if (err == KErrNone) {
- TDataRecognitionResult recognizerResult;
- err = m_recognizer.RecognizeData(m_file, recognizerResult);
- if (err == KErrNone) {
- const TPtrC mimeType = recognizerResult.iDataType.Des();
-
- if (mimeType.Left(KMimeTypePrefixLength).Compare(KMimeTypePrefixAudio) == 0) {
- result = Audio;
- } else if (mimeType.Left(KMimeTypePrefixLength).Compare(KMimeTypePrefixVideo) == 0) {
- result = Video;
- }
- }
- }
- }
- return result;
-}
-
-TPtrC S60MediaRecognizer::QString2TPtrC( const QString& string )
-{
- // Returned TPtrC is valid as long as the given parameter is valid and unmodified
- return TPtrC16(static_cast<const TUint16*>(string.utf16()), string.length());
-}
-
-QT_END_NAMESPACE
diff --git a/src/plugins/mediaservices/symbian/mediaplayer/s60mediarecognizer.h b/src/plugins/mediaservices/symbian/mediaplayer/s60mediarecognizer.h
deleted file mode 100644
index 320c34caec..0000000000
--- a/src/plugins/mediaservices/symbian/mediaplayer/s60mediarecognizer.h
+++ /dev/null
@@ -1,83 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the plugins of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef S60MEDIARECOGNIZER_H_
-#define S60MEDIARECOGNIZER_H_
-
-#include <QtCore/qobject.h>
-
-#include <apgcli.h>
-#include <f32file.h>
-
-QT_BEGIN_NAMESPACE
-
-class QUrl;
-
-class S60MediaRecognizer : public QObject
-{
- Q_OBJECT
-
-public:
- enum MediaType {
- Audio,
- Video,
- Url,
- NotSupported = -1
- };
-
- S60MediaRecognizer(QObject *parent = 0);
- ~S60MediaRecognizer();
-
- S60MediaRecognizer::MediaType mediaType(const QUrl &url);
- S60MediaRecognizer::MediaType identifyMediaType(const QString& fileName);
-
-protected:
- TPtrC QString2TPtrC( const QString& string );
-
-private:
- RApaLsSession m_recognizer;
- RFile m_file;
- RFs m_fileServer;
-};
-
-QT_END_NAMESPACE
-
-#endif /* S60MEDIARECOGNIZER_H_ */
diff --git a/src/plugins/mediaservices/symbian/mediaplayer/s60videooverlay.cpp b/src/plugins/mediaservices/symbian/mediaplayer/s60videooverlay.cpp
deleted file mode 100644
index 489b2e37f4..0000000000
--- a/src/plugins/mediaservices/symbian/mediaplayer/s60videooverlay.cpp
+++ /dev/null
@@ -1,209 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the plugins of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include <QtMultimedia/qvideosurfaceformat.h>
-#include "s60videooverlay.h"
-#include "s60videosurface.h"
-
-QT_BEGIN_NAMESPACE
-
-S60VideoOverlay::S60VideoOverlay(QObject *parent)
- : QVideoWindowControl(parent)
- , m_surface(new S60VideoSurface)
- , m_aspectRatioMode(Qt::KeepAspectRatio)
- , m_fullScreen(false)
-{
- connect(m_surface, SIGNAL(surfaceFormatChanged(QVideoSurfaceFormat)),
- this, SLOT(surfaceFormatChanged()));
-}
-
-S60VideoOverlay::~S60VideoOverlay()
-{
- delete m_surface;
-}
-
-WId S60VideoOverlay::winId() const
-{
- return m_surface->winId();
-}
-
-void S60VideoOverlay::setWinId(WId id)
-{
- m_surface->setWinId(id);
-}
-
-QRect S60VideoOverlay::displayRect() const
-{
- return m_displayRect;
-}
-
-void S60VideoOverlay::setDisplayRect(const QRect &rect)
-{
- m_displayRect = rect;
-
- setScaledDisplayRect();
-}
-
-Qt::AspectRatioMode S60VideoOverlay::aspectRatioMode() const
-{
- return m_aspectRatioMode;
-}
-
-void S60VideoOverlay::setAspectRatioMode(Qt::AspectRatioMode ratio)
-{
- m_aspectRatioMode = ratio;
-
- setScaledDisplayRect();
-}
-
-QSize S60VideoOverlay::customAspectRatio() const
-{
- return m_aspectRatio;
-}
-
-void S60VideoOverlay::setCustomAspectRatio(const QSize &customRatio)
-{
- m_aspectRatio = customRatio;
-
- setScaledDisplayRect();
-}
-
-void S60VideoOverlay::repaint()
-{
-}
-
-int S60VideoOverlay::brightness() const
-{
- return m_surface->brightness();
-}
-
-void S60VideoOverlay::setBrightness(int brightness)
-{
- m_surface->setBrightness(brightness);
-
- emit brightnessChanged(m_surface->brightness());
-}
-
-int S60VideoOverlay::contrast() const
-{
- return m_surface->contrast();
-}
-
-void S60VideoOverlay::setContrast(int contrast)
-{
- m_surface->setContrast(contrast);
-
- emit contrastChanged(m_surface->contrast());
-}
-
-int S60VideoOverlay::hue() const
-{
- return m_surface->hue();
-}
-
-void S60VideoOverlay::setHue(int hue)
-{
- m_surface->setHue(hue);
-
- emit hueChanged(m_surface->hue());
-}
-
-int S60VideoOverlay::saturation() const
-{
- return m_surface->saturation();
-}
-
-void S60VideoOverlay::setSaturation(int saturation)
-{
- m_surface->setSaturation(saturation);
-
- emit saturationChanged(m_surface->saturation());
-}
-
-bool S60VideoOverlay::isFullScreen() const
-{
- return m_fullScreen;
-}
-
-void S60VideoOverlay::setFullScreen(bool fullScreen)
-{
- emit fullScreenChanged(m_fullScreen = fullScreen);
-}
-
-QSize S60VideoOverlay::nativeSize() const
-{
- return m_surface->surfaceFormat().sizeHint();
-}
-
-QAbstractVideoSurface *S60VideoOverlay::surface() const
-{
- return m_surface;
-}
-
-void S60VideoOverlay::surfaceFormatChanged()
-{
- setScaledDisplayRect();
-
- emit nativeSizeChanged();
-}
-
-void S60VideoOverlay::setScaledDisplayRect()
-{
- switch (m_aspectRatioMode) {
- case Qt::KeepAspectRatio:
- {
- QSize size = m_surface->surfaceFormat().viewport().size();
-
- size.scale(m_displayRect.size(), Qt::KeepAspectRatio);
-
- QRect rect(QPoint(0, 0), size);
- rect.moveCenter(m_displayRect.center());
-
- m_surface->setDisplayRect(rect);
- }
- break;
- case Qt::IgnoreAspectRatio:
- m_surface->setDisplayRect(m_displayRect);
- break;
- };
-}
-
-QT_END_NAMESPACE
diff --git a/src/plugins/mediaservices/symbian/mediaplayer/s60videooverlay.h b/src/plugins/mediaservices/symbian/mediaplayer/s60videooverlay.h
deleted file mode 100644
index d846f32ed7..0000000000
--- a/src/plugins/mediaservices/symbian/mediaplayer/s60videooverlay.h
+++ /dev/null
@@ -1,109 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the plugins of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef S60VIDEOOVERLAY_H
-#define S60VIDEOOVERLAY_H
-
-#include <QtCore/qobject.h>
-#include <qvideowindowcontrol.h>
-
-QT_BEGIN_NAMESPACE
-
-class QAbstractVideoSurface;
-class S60VideoSurface;
-
-class S60VideoOverlay : public QVideoWindowControl
-{
- Q_OBJECT
-
-public:
- S60VideoOverlay(QObject *parent = 0);
- ~S60VideoOverlay();
-
- WId winId() const;
- void setWinId(WId id);
-
- QRect displayRect() const;
- void setDisplayRect(const QRect &rect);
-
- bool isFullScreen() const;
- void setFullScreen(bool fullScreen);
-
- QSize nativeSize() const;
-
- Qt::AspectRatioMode aspectRatioMode() const;
- void setAspectRatioMode(Qt::AspectRatioMode mode);
-
- QSize customAspectRatio() const;
- void setCustomAspectRatio(const QSize &customRatio);
-
- void repaint();
-
- int brightness() const;
- void setBrightness(int brightness);
-
- int contrast() const;
- void setContrast(int contrast);
-
- int hue() const;
- void setHue(int hue);
-
- int saturation() const;
- void setSaturation(int saturation);
-
- QAbstractVideoSurface *surface() const;
-
-private slots:
- void surfaceFormatChanged();
-
-private:
- void setScaledDisplayRect();
-
- S60VideoSurface *m_surface;
- Qt::AspectRatioMode m_aspectRatioMode;
- QRect m_displayRect;
- QSize m_aspectRatio;
- bool m_fullScreen;
-};
-
-QT_END_NAMESPACE
-
-#endif // S60VIDEOOVERLAY_H
diff --git a/src/plugins/mediaservices/symbian/mediaplayer/s60videoplayersession.cpp b/src/plugins/mediaservices/symbian/mediaplayer/s60videoplayersession.cpp
deleted file mode 100644
index 134d5a0009..0000000000
--- a/src/plugins/mediaservices/symbian/mediaplayer/s60videoplayersession.cpp
+++ /dev/null
@@ -1,486 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the plugins of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "s60videoplayersession.h"
-#include "s60videowidget.h"
-#include "s60mediaplayerservice.h"
-#include "s60videooverlay.h"
-
-#include <QtCore/qdebug.h>
-#include <QtGui/qwidget.h>
-#include <QtCore/qtimer.h>
-#include <QApplication>
-
-#include <coecntrl.h>
-#include <coemain.h> // For CCoeEnv
-#include <w32std.h>
-#include <mmf/common/mmfcontrollerframeworkbase.h>
-
-#include <AudioOutput.h>
-#include <MAudioOutputObserver.h>
-
-QT_BEGIN_NAMESPACE
-
-S60VideoPlayerSession::S60VideoPlayerSession(QMediaService *service)
- : S60MediaPlayerSession(service)
- , m_player(0)
- , m_rect(0, 0, 0, 0)
- , m_output(QVideoOutputControl::NoOutput)
- , m_windowId(0)
- , m_dsaActive(false)
- , m_dsaStopped(false)
- , m_wsSession(CCoeEnv::Static()->WsSession())
- , m_screenDevice(*CCoeEnv::Static()->ScreenDevice())
- , m_window(0)
- , m_service(*service)
- , m_aspectRatioMode(Qt::KeepAspectRatio)
- , m_originalSize(1, 1)
- , m_audioOutput(0)
- , m_audioEndpoint("Default")
-{
- resetNativeHandles();
- QT_TRAP_THROWING(m_player = CVideoPlayerUtility::NewL(
- *this,
- 0,
- EMdaPriorityPreferenceNone,
- m_wsSession,
- m_screenDevice,
- *m_window,
- m_rect,
- m_rect));
- m_dsaActive = true;
- m_player->RegisterForVideoLoadingNotification(*this);
-}
-
-S60VideoPlayerSession::~S60VideoPlayerSession()
-{
-#if !defined(HAS_NO_AUDIOROUTING_IN_VIDEOPLAYER)
- if (m_audioOutput)
- m_audioOutput->UnregisterObserver(*this);
- delete m_audioOutput;
-#endif
- m_player->Close();
- delete m_player;
-}
-
-void S60VideoPlayerSession::doLoadL(const TDesC &path)
-{
- // m_audioOutput needs to be reinitialized after MapcInitComplete
- if (m_audioOutput)
- m_audioOutput->UnregisterObserver(*this);
- delete m_audioOutput;
- m_audioOutput = NULL;
-
- m_player->OpenFileL(path);
-}
-
-void S60VideoPlayerSession::doLoadUrlL(const TDesC &path)
-{
- // m_audioOutput needs to be reinitialized after MapcInitComplete
- if (m_audioOutput)
- m_audioOutput->UnregisterObserver(*this);
- delete m_audioOutput;
- m_audioOutput = NULL;
-
- m_player->OpenUrlL(path);
-}
-
-int S60VideoPlayerSession::doGetBufferStatusL() const
-{
- int progress = 0;
- m_player->GetVideoLoadingProgressL(progress);
- return progress;
-}
-
-qint64 S60VideoPlayerSession::doGetDurationL() const
-{
- return m_player->DurationL().Int64() / qint64(1000);
-}
-
-void S60VideoPlayerSession::setVideoRenderer(QObject *videoOutput)
-{
- Q_UNUSED(videoOutput)
- QVideoOutputControl *videoControl = qobject_cast<QVideoOutputControl *>(m_service.control(QVideoOutputControl_iid));
-
- //Render changes
- if (m_output != videoControl->output()) {
-
- if (m_output == QVideoOutputControl::WidgetOutput) {
- S60VideoWidgetControl *widgetControl = qobject_cast<S60VideoWidgetControl *>(m_service.control(QVideoWidgetControl_iid));
- disconnect(widgetControl, SIGNAL(widgetUpdated()), this, SLOT(resetVideoDisplay()));
- disconnect(widgetControl, SIGNAL(beginVideoWindowNativePaint()), this, SLOT(suspendDirectScreenAccess()));
- disconnect(widgetControl, SIGNAL(endVideoWindowNativePaint()), this, SLOT(resumeDirectScreenAccess()));
- disconnect(this, SIGNAL(stateChanged(QMediaPlayer::State)), widgetControl, SLOT(videoStateChanged(QMediaPlayer::State)));
- }
-
- if (videoControl->output() == QVideoOutputControl::WidgetOutput) {
- S60VideoWidgetControl *widgetControl = qobject_cast<S60VideoWidgetControl *>(m_service.control(QVideoWidgetControl_iid));
- connect(widgetControl, SIGNAL(widgetUpdated()), this, SLOT(resetVideoDisplay()));
- connect(widgetControl, SIGNAL(beginVideoWindowNativePaint()), this, SLOT(suspendDirectScreenAccess()));
- connect(widgetControl, SIGNAL(endVideoWindowNativePaint()), this, SLOT(resumeDirectScreenAccess()));
- connect(this, SIGNAL(stateChanged(QMediaPlayer::State)), widgetControl, SLOT(videoStateChanged(QMediaPlayer::State)));
- }
-
- m_output = videoControl->output();
- resetVideoDisplay();
- }
-}
-
-bool S60VideoPlayerSession::resetNativeHandles()
-{
- QVideoOutputControl* videoControl = qobject_cast<QVideoOutputControl *>(m_service.control(QVideoOutputControl_iid));
- WId newId = 0;
- TRect newRect = TRect(0,0,0,0);
- Qt::AspectRatioMode aspectRatioMode = Qt::KeepAspectRatio;
-
- if (videoControl->output() == QVideoOutputControl::WidgetOutput) {
- S60VideoWidgetControl* widgetControl = qobject_cast<S60VideoWidgetControl *>(m_service.control(QVideoWidgetControl_iid));
- QWidget *videoWidget = widgetControl->videoWidget();
- newId = widgetControl->videoWidgetWId();
- newRect = QRect2TRect(QRect(videoWidget->mapToGlobal(videoWidget->pos()), videoWidget->size()));
- aspectRatioMode = widgetControl->aspectRatioMode();
- } else if (videoControl->output() == QVideoOutputControl::WindowOutput) {
- S60VideoOverlay* windowControl = qobject_cast<S60VideoOverlay *>(m_service.control(QVideoWindowControl_iid));
- newId = windowControl->winId();
- newRect = TRect( newId->DrawableWindow()->AbsPosition(), newId->DrawableWindow()->Size());
- } else {
- if (QApplication::activeWindow())
- newId = QApplication::activeWindow()->effectiveWinId();
-
- if (!newId && QApplication::allWidgets().count())
- newId = QApplication::allWidgets().at(0)->effectiveWinId();
-
- Q_ASSERT(newId != 0);
- }
-
- if (newRect == m_rect && newId == m_windowId && aspectRatioMode == m_aspectRatioMode)
- return false;
-
- if (newId) {
- m_rect = newRect;
- m_windowId = newId;
- m_window = m_windowId->DrawableWindow();
- m_aspectRatioMode = aspectRatioMode;
- return true;
- }
- return false;
-}
-
-bool S60VideoPlayerSession::isVideoAvailable() const
-{
-#ifdef PRE_S60_50_PLATFORM
- return true; // this is not support in pre 5th platforms
-#else
- if (m_player)
- return m_player->VideoEnabledL();
- else
- return false;
-#endif
-}
-
-bool S60VideoPlayerSession::isAudioAvailable() const
-{
- if (m_player)
- return m_player->AudioEnabledL();
- else
- return false;
-}
-
-void S60VideoPlayerSession::doPlay()
-{
- m_player->Play();
-}
-
-void S60VideoPlayerSession::doPauseL()
-{
- m_player->PauseL();
-}
-
-void S60VideoPlayerSession::doStop()
-{
- m_player->Stop();
-}
-
-qint64 S60VideoPlayerSession::doGetPositionL() const
-{
- return m_player->PositionL().Int64() / qint64(1000);
-}
-
-void S60VideoPlayerSession::doSetPositionL(qint64 microSeconds)
-{
- m_player->SetPositionL(TTimeIntervalMicroSeconds(microSeconds));
-}
-
-void S60VideoPlayerSession::doSetVolumeL(int volume)
-{
- m_player->SetVolumeL((volume / 100.0)* m_player->MaxVolume());
-}
-
-QPair<qreal, qreal> S60VideoPlayerSession::scaleFactor()
-{
- QSize scaled = m_originalSize;
- if (m_aspectRatioMode == Qt::IgnoreAspectRatio)
- scaled.scale(TRect2QRect(m_rect).size(), Qt::IgnoreAspectRatio);
- else if(m_aspectRatioMode == Qt::KeepAspectRatio)
- scaled.scale(TRect2QRect(m_rect).size(), Qt::KeepAspectRatio);
-
- qreal width = qreal(scaled.width()) / qreal(m_originalSize.width()) * qreal(100);
- qreal height = qreal(scaled.height()) / qreal(m_originalSize.height()) * qreal(100);
-
- return QPair<qreal, qreal>(width, height);
-}
-
-void S60VideoPlayerSession::startDirectScreenAccess()
-{
- if(m_dsaActive)
- return;
-
- TRAPD(err, m_player->StartDirectScreenAccessL());
- if(err == KErrNone)
- m_dsaActive = true;
- setError(err);
-}
-
-bool S60VideoPlayerSession::stopDirectScreenAccess()
-{
- if(!m_dsaActive)
- return false;
-
- TRAPD(err, m_player->StopDirectScreenAccessL());
- if(err == KErrNone)
- m_dsaActive = false;
-
- setError(err);
- return true;
-}
-
-void S60VideoPlayerSession::MvpuoOpenComplete(TInt aError)
-{
- setError(aError);
- m_player->Prepare();
-}
-
-void S60VideoPlayerSession::MvpuoPrepareComplete(TInt aError)
-{
- setError(aError);
- TRAPD(err,
- m_player->SetDisplayWindowL(m_wsSession,
- m_screenDevice,
- *m_window,
- m_rect,
- m_rect);
- TSize originalSize;
- m_player->VideoFrameSizeL(originalSize);
- m_originalSize = QSize(originalSize.iWidth, originalSize.iHeight);
- m_player->SetScaleFactorL(scaleFactor().first, scaleFactor().second, true));
-
- setError(err);
- m_dsaActive = true;
-#if !defined(HAS_NO_AUDIOROUTING_IN_VIDEOPLAYER)
- TRAP(err,
- m_audioOutput = CAudioOutput::NewL(*m_player);
- m_audioOutput->RegisterObserverL(*this);
- );
- setActiveEndpoint(m_audioEndpoint);
- setError(err);
-#endif
- loaded();
-}
-
-void S60VideoPlayerSession::MvpuoFrameReady(CFbsBitmap &aFrame, TInt aError)
-{
- Q_UNUSED(aFrame);
- Q_UNUSED(aError);
-}
-
-void S60VideoPlayerSession::MvpuoPlayComplete(TInt aError)
-{
- setError(aError);
- endOfMedia();
-}
-
-void S60VideoPlayerSession::MvpuoEvent(const TMMFEvent &aEvent)
-{
- Q_UNUSED(aEvent);
-}
-
-void S60VideoPlayerSession::updateMetaDataEntriesL()
-{
- metaDataEntries().clear();
- int numberOfMetaDataEntries = 0;
-
- numberOfMetaDataEntries = m_player->NumberOfMetaDataEntriesL();
-
- for (int i = 0; i < numberOfMetaDataEntries; i++) {
- CMMFMetaDataEntry *entry = NULL;
- entry = m_player->MetaDataEntryL(i);
- metaDataEntries().insert(TDesC2QString(entry->Name()), TDesC2QString(entry->Value()));
- delete entry;
- }
- emit metaDataChanged();
-}
-
-void S60VideoPlayerSession::resetVideoDisplay()
-{
- if (resetNativeHandles()) {
- TRAPD(err,
- m_player->SetDisplayWindowL(m_wsSession,
- m_screenDevice,
- *m_window,
- m_rect,
- m_rect));
- setError(err);
- if( mediaStatus() == QMediaPlayer::LoadedMedia
- || mediaStatus() == QMediaPlayer::StalledMedia
- || mediaStatus() == QMediaPlayer::BufferingMedia
- || mediaStatus() == QMediaPlayer::BufferedMedia
- || mediaStatus() == QMediaPlayer::EndOfMedia) {
- TRAPD(err, m_player->SetScaleFactorL(scaleFactor().first, scaleFactor().second, true));
- setError(err);
- }
- }
-}
-
-void S60VideoPlayerSession::suspendDirectScreenAccess()
-{
- m_dsaStopped = stopDirectScreenAccess();
-}
-
-void S60VideoPlayerSession::resumeDirectScreenAccess()
-{
- if(!m_dsaStopped)
- return;
-
- startDirectScreenAccess();
- m_dsaStopped = false;
-}
-
-void S60VideoPlayerSession::MvloLoadingStarted()
-{
- buffering();
-}
-
-void S60VideoPlayerSession::MvloLoadingComplete()
-{
- buffered();
-}
-
-void S60VideoPlayerSession::doSetAudioEndpoint(const QString& audioEndpoint)
-{
- m_audioEndpoint = audioEndpoint;
-}
-
-QString S60VideoPlayerSession::activeEndpoint() const
-{
- QString outputName = QString("Default");
-#if !defined(HAS_NO_AUDIOROUTING_IN_VIDEOPLAYER)
- if (m_audioOutput) {
- CAudioOutput::TAudioOutputPreference output = m_audioOutput->AudioOutput();
- outputName = qStringFromTAudioOutputPreference(output);
- }
-#endif
- return outputName;
-}
-
-QString S60VideoPlayerSession::defaultEndpoint() const
-{
- QString outputName = QString("Default");
-#if !defined(HAS_NO_AUDIOROUTING_IN_VIDEOPLAYER)
- if (m_audioOutput) {
- CAudioOutput::TAudioOutputPreference output = m_audioOutput->DefaultAudioOutput();
- outputName = qStringFromTAudioOutputPreference(output);
- }
-#endif
- return outputName;
-}
-
-void S60VideoPlayerSession::setActiveEndpoint(const QString& name)
-{
- CAudioOutput::TAudioOutputPreference output = CAudioOutput::ENoPreference;
-
- if (name == QString("Default"))
- output = CAudioOutput::ENoPreference;
- else if (name == QString("All"))
- output = CAudioOutput::EAll;
- else if (name == QString("None"))
- output = CAudioOutput::ENoOutput;
- else if (name == QString("Earphone"))
- output = CAudioOutput::EPrivate;
- else if (name == QString("Speaker"))
- output = CAudioOutput::EPublic;
-#if !defined(HAS_NO_AUDIOROUTING_IN_VIDEOPLAYER)
- if (m_audioOutput) {
- TRAPD(err, m_audioOutput->SetAudioOutputL(output));
- setError(err);
-
- if (m_audioEndpoint != name) {
- m_audioEndpoint = name;
- emit activeEndpointChanged(name);
- }
- }
-#endif
-}
-
-void S60VideoPlayerSession::DefaultAudioOutputChanged( CAudioOutput& aAudioOutput,
- CAudioOutput::TAudioOutputPreference aNewDefault )
-{
- // Emit already implemented in setActiveEndpoint function
- Q_UNUSED(aAudioOutput)
- Q_UNUSED(aNewDefault)
-}
-
-QString S60VideoPlayerSession::qStringFromTAudioOutputPreference(CAudioOutput::TAudioOutputPreference output) const
-{
- if (output == CAudioOutput::ENoPreference)
- return QString("Default");
- else if (output == CAudioOutput::EAll)
- return QString("All");
- else if (output == CAudioOutput::ENoOutput)
- return QString("None");
- else if (output == CAudioOutput::EPrivate)
- return QString("Earphone");
- else if (output == CAudioOutput::EPublic)
- return QString("Speaker");
- return QString("Default");
-}
-
-QT_END_NAMESPACE
-
diff --git a/src/plugins/mediaservices/symbian/mediaplayer/s60videoplayersession.h b/src/plugins/mediaservices/symbian/mediaplayer/s60videoplayersession.h
deleted file mode 100644
index 52e311ab70..0000000000
--- a/src/plugins/mediaservices/symbian/mediaplayer/s60videoplayersession.h
+++ /dev/null
@@ -1,148 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the plugins of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef S60VIDEOPLAYERSESSION_H
-#define S60VIDEOPLAYERSESSION_H
-
-#include "s60mediaplayersession.h"
-#include "s60mediaplayeraudioendpointselector.h"
-#include <videoplayer.h>
-#include <QtGui/qwidget.h>
-#include <qvideowidget.h>
-
-#include <AudioOutput.h>
-#include <MAudioOutputObserver.h>
-
-QT_BEGIN_NAMESPACE
-
-class QTimer;
-
-class S60VideoPlayerSession : public S60MediaPlayerSession,
- public MVideoPlayerUtilityObserver,
- public MVideoLoadingObserver,
- public MAudioOutputObserver
-{
- Q_OBJECT
-
-public:
- S60VideoPlayerSession(QMediaService *service);
- ~S60VideoPlayerSession();
-
- //From S60MediaPlayerSession
- bool isVideoAvailable() const;
- bool isAudioAvailable() const;
- void setVideoRenderer(QObject *renderer);
-
- //From MVideoLoadingObserver
- void MvloLoadingStarted();
- void MvloLoadingComplete();
-
- // From MAudioOutputObserver
- void DefaultAudioOutputChanged(CAudioOutput& aAudioOutput,
- CAudioOutput::TAudioOutputPreference aNewDefault);
-
-public:
- // From S60MediaPlayerAudioEndpointSelector
- QString activeEndpoint() const;
- QString defaultEndpoint() const;
-public Q_SLOTS:
- void setActiveEndpoint(const QString& name);
-Q_SIGNALS:
- void activeEndpointChanged(const QString &name);
-
-protected:
- //From S60MediaPlayerSession
- void doLoadL(const TDesC &path);
- void doLoadUrlL(const TDesC &path);
- void doPlay();
- void doStop();
- void doPauseL();
- void doSetVolumeL(int volume);
- qint64 doGetPositionL() const;
- void doSetPositionL(qint64 microSeconds);
- void updateMetaDataEntriesL();
- int doGetBufferStatusL() const;
- qint64 doGetDurationL() const;
- void doSetAudioEndpoint(const QString& audioEndpoint);
-
-private slots:
- void resetVideoDisplay();
- void suspendDirectScreenAccess();
- void resumeDirectScreenAccess();
-
-private:
- bool resetNativeHandles();
- QPair<qreal, qreal> scaleFactor();
- void startDirectScreenAccess();
- bool stopDirectScreenAccess();
- QString qStringFromTAudioOutputPreference(CAudioOutput::TAudioOutputPreference output) const;
-
-
- // From MVideoPlayerUtilityObserver
- void MvpuoOpenComplete(TInt aError);
- void MvpuoPrepareComplete(TInt aError);
- void MvpuoFrameReady(CFbsBitmap &aFrame, TInt aError);
- void MvpuoPlayComplete(TInt aError);
- void MvpuoEvent(const TMMFEvent &aEvent);
-
-private:
- // Qwn
- CVideoPlayerUtility *m_player;
- TRect m_rect;
- QVideoOutputControl::Output m_output;
- WId m_windowId;
- bool m_dsaActive;
- bool m_dsaStopped;
-
- //Reference
- RWsSession &m_wsSession;
- CWsScreenDevice &m_screenDevice;
- RWindowBase *m_window;
- QMediaService &m_service;
- Qt::AspectRatioMode m_aspectRatioMode;
- QSize m_originalSize;
- CAudioOutput *m_audioOutput;
- QString m_audioEndpoint;
-};
-
-QT_END_NAMESPACE
-
-#endif
diff --git a/src/plugins/mediaservices/symbian/mediaplayer/s60videorenderer.cpp b/src/plugins/mediaservices/symbian/mediaplayer/s60videorenderer.cpp
deleted file mode 100644
index 269dd43c37..0000000000
--- a/src/plugins/mediaservices/symbian/mediaplayer/s60videorenderer.cpp
+++ /dev/null
@@ -1,69 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the plugins of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "s60videorenderer.h"
-
-#include <QtCore/qcoreevent.h>
-#include <QtGui/qapplication.h>
-
-QT_BEGIN_NAMESPACE
-
-S60VideoRenderer::S60VideoRenderer(QObject *parent)
- : QVideoRendererControl(parent)
-{
-}
-
-S60VideoRenderer::~S60VideoRenderer()
-{
-}
-
-
-QAbstractVideoSurface *S60VideoRenderer::surface() const
-{
- return m_surface;
-}
-
-void S60VideoRenderer::setSurface(QAbstractVideoSurface *surface)
-{
- m_surface = surface;
-}
-
-QT_END_NAMESPACE
diff --git a/src/plugins/mediaservices/symbian/mediaplayer/s60videorenderer.h b/src/plugins/mediaservices/symbian/mediaplayer/s60videorenderer.h
deleted file mode 100644
index 260dc8bc11..0000000000
--- a/src/plugins/mediaservices/symbian/mediaplayer/s60videorenderer.h
+++ /dev/null
@@ -1,68 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the plugins of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef S60VIDEORENDERER_H
-#define S60VIDEORENDERER_H
-
-#include <QtCore/qobject.h>
-#include <qvideorenderercontrol.h>
-
-QT_BEGIN_NAMESPACE
-
-class S60VideoRenderer : public QVideoRendererControl
-{
- Q_OBJECT
-
-public:
- S60VideoRenderer(QObject *parent = 0);
- virtual ~S60VideoRenderer();
-
- QAbstractVideoSurface *surface() const;
- void setSurface(QAbstractVideoSurface *surface);
-
-private:
-
- QAbstractVideoSurface *m_surface;
-};
-
-QT_END_NAMESPACE
-
-#endif // S60VIDEORENDERER_H
diff --git a/src/plugins/mediaservices/symbian/mediaplayer/s60videosurface.cpp b/src/plugins/mediaservices/symbian/mediaplayer/s60videosurface.cpp
deleted file mode 100644
index bfa7a13a4a..0000000000
--- a/src/plugins/mediaservices/symbian/mediaplayer/s60videosurface.cpp
+++ /dev/null
@@ -1,478 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the plugins of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-//#include <QtGui/qx11info_x11.h>
-
-#include "s60videosurface.h"
-
-QT_BEGIN_NAMESPACE
-
-/*struct XvFormatRgb
-{
- QVideoFrame::PixelFormat pixelFormat;
- int bits_per_pixel;
- int format;
- int num_planes;
-
- int depth;
- unsigned int red_mask;
- unsigned int green_mask;
- unsigned int blue_mask;
-
-};*/
-/*
-bool operator ==(const XvImageFormatValues &format, const XvFormatRgb &rgb)
-{
- return format.type == XvRGB
- && format.bits_per_pixel == rgb.bits_per_pixel
- && format.format == rgb.format
- && format.num_planes == rgb.num_planes
- && format.depth == rgb.depth
- && format.red_mask == rgb.red_mask
- && format.blue_mask == rgb.blue_mask;
-}
-
-static const XvFormatRgb qt_xvRgbLookup[] =
-{
- { QVideoFrame::Format_ARGB32, 32, XvPacked, 1, 32, 0x00FF0000, 0x0000FF00, 0x000000FF },
- { QVideoFrame::Format_RGB32 , 32, XvPacked, 1, 24, 0x00FF0000, 0x0000FF00, 0x000000FF },
- { QVideoFrame::Format_RGB24 , 24, XvPacked, 1, 24, 0x00FF0000, 0x0000FF00, 0x000000FF },
- { QVideoFrame::Format_RGB565, 16, XvPacked, 1, 16, 0x0000F800, 0x000007E0, 0x0000001F },
- { QVideoFrame::Format_BGRA32, 32, XvPacked, 1, 32, 0xFF000000, 0x00FF0000, 0x0000FF00 },
- { QVideoFrame::Format_BGR32 , 32, XvPacked, 1, 24, 0x00FF0000, 0x0000FF00, 0x000000FF },
- { QVideoFrame::Format_BGR24 , 24, XvPacked, 1, 24, 0x00FF0000, 0x0000FF00, 0x000000FF },
- { QVideoFrame::Format_BGR565, 16, XvPacked, 1, 16, 0x0000F800, 0x000007E0, 0x0000001F }
-};
-
-struct XvFormatYuv
-{
- QVideoFrame::PixelFormat pixelFormat;
- int bits_per_pixel;
- int format;
- int num_planes;
-
- unsigned int y_sample_bits;
- unsigned int u_sample_bits;
- unsigned int v_sample_bits;
- unsigned int horz_y_period;
- unsigned int horz_u_period;
- unsigned int horz_v_period;
- unsigned int vert_y_period;
- unsigned int vert_u_period;
- unsigned int vert_v_period;
- char component_order[32];
-};
-
-bool operator ==(const XvImageFormatValues &format, const XvFormatYuv &yuv)
-{
- return format.type == XvYUV
- && format.bits_per_pixel == yuv.bits_per_pixel
- && format.format == yuv.format
- && format.num_planes == yuv.num_planes
- && format.y_sample_bits == yuv.y_sample_bits
- && format.u_sample_bits == yuv.u_sample_bits
- && format.v_sample_bits == yuv.v_sample_bits
- && format.horz_y_period == yuv.horz_y_period
- && format.horz_u_period == yuv.horz_u_period
- && format.horz_v_period == yuv.horz_v_period
- && format.horz_y_period == yuv.vert_y_period
- && format.vert_u_period == yuv.vert_u_period
- && format.vert_v_period == yuv.vert_v_period
- && qstrncmp(format.component_order, yuv.component_order, 32) == 0;
-}
-
-static const XvFormatYuv qt_xvYuvLookup[] =
-{
- { QVideoFrame::Format_YUV444 , 24, XvPacked, 1, 8, 8, 8, 1, 1, 1, 1, 1, 1, "YUV" },
- { QVideoFrame::Format_YUV420P, 12, XvPlanar, 3, 8, 8, 8, 1, 2, 2, 1, 2, 2, "YUV" },
- { QVideoFrame::Format_YV12 , 12, XvPlanar, 3, 8, 8, 8, 1, 2, 2, 1, 2, 2, "YVU" },
- { QVideoFrame::Format_UYVY , 16, XvPacked, 1, 8, 8, 8, 1, 2, 2, 1, 1, 1, "UYVY" },
- { QVideoFrame::Format_YUYV , 16, XvPacked, 1, 8, 8, 8, 1, 2, 2, 1, 1, 1, "YUYV" },
- { QVideoFrame::Format_NV12 , 12, XvPlanar, 2, 8, 8, 8, 1, 2, 2, 1, 2, 2, "YUV" },
- { QVideoFrame::Format_NV12 , 12, XvPlanar, 2, 8, 8, 8, 1, 2, 2, 1, 2, 2, "YVU" },
- { QVideoFrame::Format_Y8 , 8 , XvPlanar, 1, 8, 0, 0, 1, 0, 0, 1, 0, 0, "Y" }
-};
-*/
-
-S60VideoSurface::S60VideoSurface(QObject *parent)
- : QAbstractVideoSurface(parent)
- , m_winId(0)
- //, m_portId(0)
- //, m_gc(0)
- //, m_image(0)
-{
-}
-
-S60VideoSurface::~S60VideoSurface()
-{
- /*if (m_gc)
- XFreeGC(QX11Info::display(), m_gc);
-
- if (m_portId != 0)
- XvUngrabPort(QX11Info::display(), m_portId, 0);
- */
-}
-
-WId S60VideoSurface::winId() const
-{
- return m_winId;
-}
-
-void S60VideoSurface::setWinId(WId id)
-{
- /*if (id == m_winId)
- return;
-
- if (m_image)
- XFree(m_image);
-
- if (m_gc) {
- XFreeGC(QX11Info::display(), m_gc);
- m_gc = 0;
- }
-
- if (m_portId != 0)
- XvUngrabPort(QX11Info::display(), m_portId, 0);
-
- m_supportedPixelFormats.clear();
- m_formatIds.clear();
-
- m_winId = id;
-
- if (m_winId && findPort()) {
- querySupportedFormats();
-
- m_gc = XCreateGC(QX11Info::display(), m_winId, 0, 0);
-
- if (m_image) {
- m_image = 0;
-
- if (!start(surfaceFormat()))
- QAbstractVideoSurface::stop();
- }
- } else if (m_image) {
- m_image = 0;
-
- QAbstractVideoSurface::stop();
- }*/
-}
-
-QRect S60VideoSurface::displayRect() const
-{
- return m_displayRect;
-}
-
-void S60VideoSurface::setDisplayRect(const QRect &rect)
-{
- m_displayRect = rect;
-}
-
-int S60VideoSurface::brightness() const
-{
- //return getAttribute("XV_BRIGHTNESS", m_brightnessRange.first, m_brightnessRange.second);
-}
-
-void S60VideoSurface::setBrightness(int brightness)
-{
- //setAttribute("XV_BRIGHTNESS", brightness, m_brightnessRange.first, m_brightnessRange.second);
-}
-
-int S60VideoSurface::contrast() const
-{
- //return getAttribute("XV_CONTRAST", m_contrastRange.first, m_contrastRange.second);
-}
-
-void S60VideoSurface::setContrast(int contrast)
-{
- //setAttribute("XV_CONTRAST", contrast, m_contrastRange.first, m_contrastRange.second);
-}
-
-int S60VideoSurface::hue() const
-{
- //return getAttribute("XV_HUE", m_hueRange.first, m_hueRange.second);
-}
-
-void S60VideoSurface::setHue(int hue)
-{
- // setAttribute("XV_HUE", hue, m_hueRange.first, m_hueRange.second);
-}
-
-int S60VideoSurface::saturation() const
-{
- //return getAttribute("XV_SATURATION", m_saturationRange.first, m_saturationRange.second);
-}
-
-void S60VideoSurface::setSaturation(int saturation)
-{
- //setAttribute("XV_SATURATION", saturation, m_saturationRange.first, m_saturationRange.second);
-}
-
-int S60VideoSurface::getAttribute(const char *attribute, int minimum, int maximum) const
-{
- /*if (m_portId != 0) {
- Display *display = QX11Info::display();
-
- Atom atom = XInternAtom(display, attribute, True);
-
- int value = 0;
-
- XvGetPortAttribute(display, m_portId, atom, &value);
-
- return redistribute(value, minimum, maximum, -100, 100);
- } else {
- return 0;
- }*/
-}
-
-void S60VideoSurface::setAttribute(const char *attribute, int value, int minimum, int maximum)
-{
- /* if (m_portId != 0) {
- Display *display = QX11Info::display();
-
- Atom atom = XInternAtom(display, attribute, True);
-
- XvSetPortAttribute(
- display, m_portId, atom, redistribute(value, -100, 100, minimum, maximum));
- }*/
-}
-
-int S60VideoSurface::redistribute(
- int value, int fromLower, int fromUpper, int toLower, int toUpper)
-{
- /*return fromUpper != fromLower
- ? ((value - fromLower) * (toUpper - toLower) / (fromUpper - fromLower)) + toLower
- : 0;*/
-}
-
-QList<QVideoFrame::PixelFormat> S60VideoSurface::supportedPixelFormats(
- QAbstractVideoBuffer::HandleType handleType) const
-{
- /*return handleType == QAbstractVideoBuffer::NoHandle
- ? m_supportedPixelFormats
- : QList<QVideoFrame::PixelFormat>();*/
-}
-
-bool S60VideoSurface::start(const QVideoSurfaceFormat &format)
-{
- /*if (m_image)
- XFree(m_image);
-
- int xvFormatId = 0;
- for (int i = 0; i < m_supportedPixelFormats.count(); ++i) {
- if (m_supportedPixelFormats.at(i) == format.pixelFormat()) {
- xvFormatId = m_formatIds.at(i);
- break;
- }
- }
-
- if (xvFormatId == 0) {
- setError(UnsupportedFormatError);
- } else {
- XvImage *image = XvCreateImage(
- QX11Info::display(),
- m_portId,
- xvFormatId,
- 0,
- format.frameWidth(),
- format.frameHeight());
-
- if (!image) {
- setError(ResourceError);
- } else {
- m_viewport = format.viewport();
- m_image = image;
-
- return QAbstractVideoSurface::start(format);
- }
- }
-
- if (m_image) {
- m_image = 0;
-
- QAbstractVideoSurface::stop();
- }
-*/
- return false;
-}
-
-void S60VideoSurface::stop()
-{/*
- if (m_image) {
- XFree(m_image);
- m_image = 0;
-
- QAbstractVideoSurface::stop();
- }*/
-}
-
-bool S60VideoSurface::present(const QVideoFrame &frame)
-{/*
- if (!m_image) {
- setError(StoppedError);
- return false;
- } else if (m_image->width != frame.width() || m_image->height != frame.height()) {
- setError(IncorrectFormatError);
- return false;
- } else {
- QVideoFrame frameCopy(frame);
-
- if (!frameCopy.map(QAbstractVideoBuffer::ReadOnly)) {
- setError(IncorrectFormatError);
- return false;
- } else {
- bool presented = false;
-
- if (m_image->data_size > frame.numBytes()) {
- qWarning("Insufficient frame buffer size");
- setError(IncorrectFormatError);
- } else if (m_image->num_planes > 0 && m_image->pitches[0] != frame.bytesPerLine()) {
- qWarning("Incompatible frame pitches");
- setError(IncorrectFormatError);
- } else {
- m_image->data = reinterpret_cast<char *>(frameCopy.bits());
-
- XvPutImage(
- QX11Info::display(),
- m_portId,
- m_winId,
- m_gc,
- m_image,
- m_viewport.x(),
- m_viewport.y(),
- m_viewport.width(),
- m_viewport.height(),
- m_displayRect.x(),
- m_displayRect.y(),
- m_displayRect.width(),
- m_displayRect.height());
-
- m_image->data = 0;
-
- presented = true;
- }
-
- frameCopy.unmap();
-
- return presented;
- }
- }*/
-}
-
-bool S60VideoSurface::findPort()
-{/*
- unsigned int count = 0;
- XvAdaptorInfo *adaptors = 0;
- bool portFound = false;
-
- if (XvQueryAdaptors(QX11Info::display(), m_winId, &count, &adaptors) == Success) {
- for (unsigned int i = 0; i < count && !portFound; ++i) {
- if (adaptors[i].type & XvImageMask) {
- m_portId = adaptors[i].base_id;
-
- for (unsigned int j = 0; j < adaptors[i].num_ports && !portFound; ++j, ++m_portId)
- portFound = XvGrabPort(QX11Info::display(), m_portId, 0) == Success;
- }
- }
- XvFreeAdaptorInfo(adaptors);
- }
-
- return portFound;*/
-}
-
-void S60VideoSurface::querySupportedFormats()
-{/*
- int count = 0;
- if (XvImageFormatValues *imageFormats = XvListImageFormats(
- QX11Info::display(), m_portId, &count)) {
- const int rgbCount = sizeof(qt_xvRgbLookup) / sizeof(XvFormatRgb);
- const int yuvCount = sizeof(qt_xvYuvLookup) / sizeof(XvFormatYuv);
-
- for (int i = 0; i < count; ++i) {
- switch (imageFormats[i].type) {
- case XvRGB:
- for (int j = 0; j < rgbCount; ++j) {
- if (imageFormats[i] == qt_xvRgbLookup[j]) {
- m_supportedPixelFormats.append(qt_xvRgbLookup[j].pixelFormat);
- m_formatIds.append(imageFormats[i].id);
- break;
- }
- }
- break;
- case XvYUV:
- for (int j = 0; j < yuvCount; ++j) {
- if (imageFormats[i] == qt_xvYuvLookup[j]) {
- m_supportedPixelFormats.append(qt_xvYuvLookup[j].pixelFormat);
- m_formatIds.append(imageFormats[i].id);
- break;
- }
- }
- break;
- }
- }
- XFree(imageFormats);
- }
-
- m_brightnessRange = qMakePair(0, 0);
- m_contrastRange = qMakePair(0, 0);
- m_hueRange = qMakePair(0, 0);
- m_saturationRange = qMakePair(0, 0);
-
- if (XvAttribute *attributes = XvQueryPortAttributes(QX11Info::display(), m_portId, &count)) {
- for (int i = 0; i < count; ++i) {
- if (qstrcmp(attributes[i].name, "XV_BRIGHTNESS") == 0)
- m_brightnessRange = qMakePair(attributes[i].min_value, attributes[i].max_value);
- else if (qstrcmp(attributes[i].name, "XV_CONTRAST") == 0)
- m_contrastRange = qMakePair(attributes[i].min_value, attributes[i].max_value);
- else if (qstrcmp(attributes[i].name, "XV_HUE") == 0)
- m_hueRange = qMakePair(attributes[i].min_value, attributes[i].max_value);
- else if (qstrcmp(attributes[i].name, "XV_SATURATION") == 0)
- m_saturationRange = qMakePair(attributes[i].min_value, attributes[i].max_value);
- }
-
- XFree(attributes);
- }*/
-}
-
-bool S60VideoSurface::isFormatSupported(const QVideoSurfaceFormat &format) const
-{
-}
-
-QT_END_NAMESPACE
diff --git a/src/plugins/mediaservices/symbian/mediaplayer/s60videosurface.h b/src/plugins/mediaservices/symbian/mediaplayer/s60videosurface.h
deleted file mode 100644
index 836e52f12d..0000000000
--- a/src/plugins/mediaservices/symbian/mediaplayer/s60videosurface.h
+++ /dev/null
@@ -1,112 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the plugins of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef S60VIDEOSURFACE_H
-#define S60VIDEOSURFACE_H
-
-#include <QtGui/qwidget.h>
-#include <QtMultimedia/qabstractvideosurface.h>
-
-QT_BEGIN_NAMESPACE
-
-class QVideoSurfaceFormat;
-
-class S60VideoSurface : public QAbstractVideoSurface
-{
- Q_OBJECT
-public:
- S60VideoSurface(QObject *parent = 0);
- ~S60VideoSurface();
-
- WId winId() const;
- void setWinId(WId id);
-
- QRect displayRect() const;
- void setDisplayRect(const QRect &rect);
-
- int brightness() const;
- void setBrightness(int brightness);
-
- int contrast() const;
- void setContrast(int contrast);
-
- int hue() const;
- void setHue(int hue);
-
- int saturation() const;
- void setSaturation(int saturation);
-
- QList<QVideoFrame::PixelFormat> supportedPixelFormats(
- QAbstractVideoBuffer::HandleType handleType = QAbstractVideoBuffer::NoHandle) const;
-
- bool isFormatSupported(const QVideoSurfaceFormat &format) const;
-
- bool start(const QVideoSurfaceFormat &format);
- void stop();
-
- bool present(const QVideoFrame &frame);
-
-private:
- WId m_winId;
- //XvPortID m_portId;
- //GC m_gc;
- //XvImage *m_image;
- QList<QVideoFrame::PixelFormat> m_supportedPixelFormats;
- QVector<int> m_formatIds;
- QRect m_viewport;
- QRect m_displayRect;
- QPair<int, int> m_brightnessRange;
- QPair<int, int> m_contrastRange;
- QPair<int, int> m_hueRange;
- QPair<int, int> m_saturationRange;
-
- bool findPort();
- void querySupportedFormats();
-
- int getAttribute(const char *attribute, int minimum, int maximum) const;
- void setAttribute(const char *attribute, int value, int minimum, int maximum);
-
- static int redistribute(int value, int fromLower, int fromUpper, int toLower, int toUpper);
-};
-
-QT_END_NAMESPACE
-
-#endif
diff --git a/src/plugins/mediaservices/symbian/mediaplayer/s60videowidget.cpp b/src/plugins/mediaservices/symbian/mediaplayer/s60videowidget.cpp
deleted file mode 100644
index 84000d5c03..0000000000
--- a/src/plugins/mediaservices/symbian/mediaplayer/s60videowidget.cpp
+++ /dev/null
@@ -1,208 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the plugins of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "s60videowidget.h"
-#include <QtGui/private/qwidget_p.h>
-#include <QEvent>
-#include <coemain.h> // For CCoeEnv
-
-QT_BEGIN_NAMESPACE
-
-QBlackWidget::QBlackWidget(QWidget *parent)
- : QWidget(parent)
-{
- setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding);
- setAttribute(Qt::WA_OpaquePaintEvent, true);
- setAttribute(Qt::WA_NoSystemBackground, true);
- setAutoFillBackground(false);
- setPalette(QPalette(Qt::black));
-#if QT_VERSION >= 0x040601 && !defined(__WINSCW__)
- qt_widget_private(this)->extraData()->nativePaintMode = QWExtra::ZeroFill;
- qt_widget_private(this)->extraData()->receiveNativePaintEvents = true;
-#endif
-}
-
-QBlackWidget::~QBlackWidget()
-{
-}
-
-void QBlackWidget::beginNativePaintEvent(const QRect& /*controlRect*/)
-{
- emit beginVideoWindowNativePaint();
-}
-
-void QBlackWidget::endNativePaintEvent(const QRect& /*controlRect*/)
-{
- CCoeEnv::Static()->WsSession().Flush();
- emit endVideoWindowNativePaint();
-}
-
-void QBlackWidget::paintEvent(QPaintEvent *event)
-{
- Q_UNUSED(event);
- // Do nothing
-}
-
-S60VideoWidgetControl::S60VideoWidgetControl(QObject *parent)
- : QVideoWidgetControl(parent)
- , m_widget(0)
- , m_aspectRatioMode(Qt::KeepAspectRatio)
-{
- m_widget = new QBlackWidget();
- connect(m_widget, SIGNAL(beginVideoWindowNativePaint()), this, SIGNAL(beginVideoWindowNativePaint()));
- connect(m_widget, SIGNAL(endVideoWindowNativePaint()), this, SIGNAL(endVideoWindowNativePaint()));
- m_widget->installEventFilter(this);
- m_widget->winId();
-}
-
-S60VideoWidgetControl::~S60VideoWidgetControl()
-{
- delete m_widget;
-}
-
-QWidget *S60VideoWidgetControl::videoWidget()
-{
- return m_widget;
-}
-
-Qt::AspectRatioMode S60VideoWidgetControl::aspectRatioMode() const
-{
- return m_aspectRatioMode;
-}
-
-void S60VideoWidgetControl::setAspectRatioMode(Qt::AspectRatioMode ratio)
-{
- if (m_aspectRatioMode == ratio)
- return;
-
- m_aspectRatioMode = ratio;
- emit widgetUpdated();
-}
-
-bool S60VideoWidgetControl::isFullScreen() const
-{
- return m_widget->isFullScreen();
-}
-
-void S60VideoWidgetControl::setFullScreen(bool fullScreen)
-{
- emit fullScreenChanged(fullScreen);
-}
-
-int S60VideoWidgetControl::brightness() const
-{
- return 0;
-}
-
-void S60VideoWidgetControl::setBrightness(int brightness)
-{
- Q_UNUSED(brightness);
-}
-
-int S60VideoWidgetControl::contrast() const
-{
- return 0;
-}
-
-void S60VideoWidgetControl::setContrast(int contrast)
-{
- Q_UNUSED(contrast);
-}
-
-int S60VideoWidgetControl::hue() const
-{
- return 0;
-}
-
-void S60VideoWidgetControl::setHue(int hue)
-{
- Q_UNUSED(hue);
-}
-
-int S60VideoWidgetControl::saturation() const
-{
- return 0;
-}
-
-void S60VideoWidgetControl::setSaturation(int saturation)
-{
- Q_UNUSED(saturation);
-}
-
-bool S60VideoWidgetControl::eventFilter(QObject *object, QEvent *e)
-{
- if (object == m_widget) {
- if ( e->type() == QEvent::Resize
- || e->type() == QEvent::Move
- || e->type() == QEvent::WinIdChange
- || e->type() == QEvent::ParentChange
- || e->type() == QEvent::Show)
- emit widgetUpdated();
- }
- return false;
-}
-
-WId S60VideoWidgetControl::videoWidgetWId()
-{
- if (m_widget->internalWinId())
- return m_widget->internalWinId();
-
- if (m_widget->effectiveWinId())
- return m_widget->effectiveWinId();
-
- return NULL;
-}
-
-void S60VideoWidgetControl::videoStateChanged(QMediaPlayer::State state)
-{
- if (state == QMediaPlayer::StoppedState) {
-#if QT_VERSION <= 0x040600 && !defined(FF_QT)
- qt_widget_private(m_widget)->extraData()->disableBlit = false;
-#endif
- m_widget->repaint();
- } else if (state == QMediaPlayer::PlayingState) {
-#if QT_VERSION <= 0x040600 && !defined(FF_QT)
- qt_widget_private(m_widget)->extraData()->disableBlit = true;
-#endif
- }
-}
-
-QT_END_NAMESPACE
diff --git a/src/plugins/mediaservices/symbian/mediaplayer/s60videowidget.h b/src/plugins/mediaservices/symbian/mediaplayer/s60videowidget.h
deleted file mode 100644
index 28a1455ffa..0000000000
--- a/src/plugins/mediaservices/symbian/mediaplayer/s60videowidget.h
+++ /dev/null
@@ -1,115 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the plugins of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef S60VIDEOWIDGET_H
-#define S60VIDEOWIDGET_H
-
-#include <qvideowidgetcontrol.h>
-#include <qmediaplayer.h>
-
-QT_BEGIN_NAMESPACE
-
-class QBlackWidget : public QWidget
-{
- Q_OBJECT
-
-public:
- QBlackWidget(QWidget *parent = 0);
- virtual ~QBlackWidget();
-
-signals:
- void beginVideoWindowNativePaint();
- void endVideoWindowNativePaint();
-
-public slots:
- void beginNativePaintEvent(const QRect&);
- void endNativePaintEvent(const QRect&);
-
-protected:
- void paintEvent(QPaintEvent *event);
-};
-
-class S60VideoWidgetControl : public QVideoWidgetControl
-{
- Q_OBJECT
-
-public:
- S60VideoWidgetControl(QObject *parent = 0);
- virtual ~S60VideoWidgetControl();
-
- // from QVideoWidgetControl
- QWidget *videoWidget();
- Qt::AspectRatioMode aspectRatioMode() const;
- void setAspectRatioMode(Qt::AspectRatioMode ratio);
- bool isFullScreen() const;
- void setFullScreen(bool fullScreen);
- int brightness() const;
- void setBrightness(int brightness);
- int contrast() const;
- void setContrast(int contrast);
- int hue() const;
- void setHue(int hue);
- int saturation() const;
- void setSaturation(int saturation);
-
- // from QObject
- bool eventFilter(QObject *object, QEvent *event);
-
- //new methods
- WId videoWidgetWId();
-
-signals:
- void widgetUpdated();
- void beginVideoWindowNativePaint();
- void endVideoWindowNativePaint();
-
-private slots:
- void videoStateChanged(QMediaPlayer::State state);
-
-private:
- QBlackWidget *m_widget;
- Qt::AspectRatioMode m_aspectRatioMode;
-};
-
-QT_END_NAMESPACE
-
-
-#endif // S60VIDEOWIDGET_H
diff --git a/src/plugins/mediaservices/symbian/s60mediaserviceplugin.cpp b/src/plugins/mediaservices/symbian/s60mediaserviceplugin.cpp
deleted file mode 100644
index 11855835b9..0000000000
--- a/src/plugins/mediaservices/symbian/s60mediaserviceplugin.cpp
+++ /dev/null
@@ -1,100 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the plugins of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include <QtCore/qstring.h>
-#include <QtCore/qdebug.h>
-
-#include "s60mediaserviceplugin.h"
-#ifdef QMEDIA_MMF_RADIO
-#include "s60radiotunerservice.h"
-#endif
-#ifdef QMEDIA_MMF_PLAYER
-#include "s60mediaplayerservice.h"
-#endif
-#ifdef QMEDIA_MMF_CAPTURE
-#include "s60audiocaptureservice.h"
-#endif
-
-QT_BEGIN_NAMESPACE
-
-QStringList S60MediaServicePlugin::keys() const
-{
- QStringList list;
-#ifdef QMEDIA_MMF_RADIO
- list << QLatin1String(Q_MEDIASERVICE_RADIO);
-#endif
-
-#ifdef QMEDIA_MMF_PLAYER
- list << QLatin1String(Q_MEDIASERVICE_MEDIAPLAYER);
-#endif
-#ifdef QMEDIA_MMF_CAPTURE
- list << QLatin1String(Q_MEDIASERVICE_AUDIOSOURCE);
-#endif
- return list;
-}
-
-QMediaService* S60MediaServicePlugin::create(QString const& key)
-{
-#ifdef QMEDIA_MMF_PLAYER
- if (key == QLatin1String(Q_MEDIASERVICE_MEDIAPLAYER))
- return new S60MediaPlayerService;
-#endif
-#ifdef QMEDIA_MMF_CAPTURE
- if (key == QLatin1String(Q_MEDIASERVICE_AUDIOSOURCE))
- return new S60AudioCaptureService;
-#endif
-#ifdef QMEDIA_MMF_RADIO
- if (key == QLatin1String(Q_MEDIASERVICE_RADIO))
- return new S60RadioTunerService;
-#endif
-
- return 0;
-}
-
-void S60MediaServicePlugin::release(QMediaService *service)
-{
- delete service;
-}
-
-QT_END_NAMESPACE
-
-Q_EXPORT_PLUGIN2(qmmfengine, S60MediaServicePlugin);
-
diff --git a/src/plugins/mediaservices/symbian/s60mediaserviceplugin.h b/src/plugins/mediaservices/symbian/s60mediaserviceplugin.h
deleted file mode 100644
index be2e05dabb..0000000000
--- a/src/plugins/mediaservices/symbian/s60mediaserviceplugin.h
+++ /dev/null
@@ -1,64 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the plugins of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-
-#ifndef S60SERVICEPLUGIN_H
-#define S60SERVICEPLUGIN_H
-
-#include <QtCore/qobject.h>
-#include <qmediaservice.h>
-#include <qmediaserviceproviderplugin.h>
-
-QT_BEGIN_NAMESPACE
-
-class S60MediaServicePlugin : public QMediaServiceProviderPlugin
-{
- Q_OBJECT
-public:
-
- QStringList keys() const;
- QMediaService* create(QString const& key);
- void release(QMediaService *service);
-};
-
-QT_END_NAMESPACE
-
-#endif // S60SERVICEPLUGIN_H
diff --git a/src/plugins/mediaservices/symbian/s60videooutputcontrol.cpp b/src/plugins/mediaservices/symbian/s60videooutputcontrol.cpp
deleted file mode 100644
index da07a7d5dd..0000000000
--- a/src/plugins/mediaservices/symbian/s60videooutputcontrol.cpp
+++ /dev/null
@@ -1,76 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the plugins of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "s60videooutputcontrol.h"
-
-QT_BEGIN_NAMESPACE
-
-S60VideoOutputControl::S60VideoOutputControl(QObject *parent)
- : QVideoOutputControl(parent)
- , m_output(NoOutput)
-{
-}
-
-QList<QVideoOutputControl::Output> S60VideoOutputControl::availableOutputs() const
-{
- return m_outputs;
-}
-
-void S60VideoOutputControl::setAvailableOutputs(const QList<Output> &outputs)
-{
- emit availableOutputsChanged(m_outputs = outputs);
-}
-
-QVideoOutputControl::Output S60VideoOutputControl::output() const
-{
- return m_output;
-}
-
-void S60VideoOutputControl::setOutput(Output output)
-{
- if (!m_outputs.contains(output))
- output = NoOutput;
-
- if (m_output != output)
- emit outputChanged(m_output = output);
-}
-
-QT_END_NAMESPACE
diff --git a/src/plugins/mediaservices/symbian/s60videooutputcontrol.h b/src/plugins/mediaservices/symbian/s60videooutputcontrol.h
deleted file mode 100644
index dbad889ed4..0000000000
--- a/src/plugins/mediaservices/symbian/s60videooutputcontrol.h
+++ /dev/null
@@ -1,72 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the plugins of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef S60VIDEOOUTPUTCONTROL_H
-#define S60VIDEOOUTPUTCONTROL_H
-
-#include <QObject>
-#include <qvideooutputcontrol.h>
-
-QT_BEGIN_NAMESPACE
-
-class S60VideoOutputControl : public QVideoOutputControl
-{
- Q_OBJECT
-public:
- S60VideoOutputControl(QObject *parent = 0);
-
- QList<Output> availableOutputs() const;
- void setAvailableOutputs(const QList<Output> &outputs);
-
- Output output() const;
- void setOutput(Output output);
-
-Q_SIGNALS:
- void outputChanged(QVideoOutputControl::Output output);
-
-private:
- QList<Output> m_outputs;
- Output m_output;
-};
-
-QT_END_NAMESPACE
-
-#endif
diff --git a/src/plugins/mediaservices/symbian/symbian.pro b/src/plugins/mediaservices/symbian/symbian.pro
deleted file mode 100644
index f76858f4f4..0000000000
--- a/src/plugins/mediaservices/symbian/symbian.pro
+++ /dev/null
@@ -1,27 +0,0 @@
-TARGET = qmmfengine
-QT += multimedia mediaservices
-
-load(data_caging_paths)
-
-include (../../qpluginbase.pri)
-include(mediaplayer/mediaplayer.pri)
-
-HEADERS += s60mediaserviceplugin.h \
- s60videooutputcontrol.h
-
-SOURCES += s60mediaserviceplugin.cpp \
- s60videooutputcontrol.cpp
-
-contains(S60_VERSION, 3.2)|contains(S60_VERSION, 3.1) {
- DEFINES += PRE_S60_50_PLATFORM
-}
-
-INCLUDEPATH += $$APP_LAYER_SYSTEMINCLUDE
-symbian-abld:INCLUDEPATH += $$QT_BUILD_TREE/include/QtWidget/private
-
-# This is needed for having the .qtplugin file properly created on Symbian.
-QTDIR_build:DESTDIR = $$QT_BUILD_TREE/plugins/mediaservices
-target.path += $$[QT_INSTALL_PLUGINS]/mediaservices
-INSTALLS += target
-
-TARGET.UID3=0x20021318
diff --git a/src/plugins/plugins.pro b/src/plugins/plugins.pro
index 569ab33fb2..04e8c7c1f9 100644
--- a/src/plugins/plugins.pro
+++ b/src/plugins/plugins.pro
@@ -13,6 +13,6 @@ embedded:SUBDIRS *= gfxdrivers decorations mousedrivers kbddrivers
!symbian:!contains(QT_CONFIG, no-gui):SUBDIRS += accessible
symbian:SUBDIRS += s60
contains(QT_CONFIG, phonon): SUBDIRS *= phonon
-contains(QT_CONFIG, multimedia): SUBDIRS *= audio mediaservices
+contains(QT_CONFIG, multimedia): SUBDIRS *= audio
diff --git a/src/plugins/s60/s60pluginbase.pri b/src/plugins/s60/s60pluginbase.pri
index 1a6f4a2bf6..4e1510299b 100644
--- a/src/plugins/s60/s60pluginbase.pri
+++ b/src/plugins/s60/s60pluginbase.pri
@@ -8,11 +8,16 @@ QTDIR_build:DESTDIR = $$QT_BUILD_TREE/plugins/s60
MMP_RULES += NOEXPORTLIBRARY
-defBlock = \
- "$${LITERAL_HASH}ifdef WINSCW" \
- "DEFFILE ../bwins/qts60plugin.def" \
- "$${LITERAL_HASH}else" \
- "DEFFILE ../eabi/qts60plugin.def" \
- "$${LITERAL_HASH}endif"
+symbian-abld|symbian-sbsv2 {
+ defBlock = \
+ "$${LITERAL_HASH}ifdef WINSCW" \
+ "DEFFILE ../bwins/qts60plugin.def" \
+ "$${LITERAL_HASH}else" \
+ "DEFFILE ../eabi/qts60plugin.def" \
+ "$${LITERAL_HASH}endif"
+} else {
+ CONFIG *= def_files
+ DEF_FILE = ../eabi/qts60pluginu.def
+}
MMP_RULES += defBlock \ No newline at end of file
diff --git a/src/plugins/sqldrivers/psql/psql.pro b/src/plugins/sqldrivers/psql/psql.pro
index 0a38ee4902..80a5348f5e 100644
--- a/src/plugins/sqldrivers/psql/psql.pro
+++ b/src/plugins/sqldrivers/psql/psql.pro
@@ -4,7 +4,7 @@ HEADERS = ../../../sql/drivers/psql/qsql_psql.h
SOURCES = main.cpp \
../../../sql/drivers/psql/qsql_psql.cpp
-unix|win32-g++: {
+unix|win32-g++*: {
!isEmpty(QT_LFLAGS_PSQL) {
!contains(QT_CONFIG, system-zlib): QT_LFLAGS_PSQL -= -lz
!static:LIBS *= $$QT_LFLAGS_PSQL
@@ -13,6 +13,6 @@ unix|win32-g++: {
!contains(LIBS, .*pq.*):LIBS *= -lpq
}
-win32:!win32-g++:!contains(LIBS, .*pq.* ) LIBS *= -llibpq -lws2_32 -ladvapi32
+win32:!win32-g++*:!contains(LIBS, .*pq.* ) LIBS *= -llibpq -lws2_32 -ladvapi32
include(../qsqldriverbase.pri)
diff --git a/src/qbase.pri b/src/qbase.pri
index 4a75565453..064e67c1d3 100644
--- a/src/qbase.pri
+++ b/src/qbase.pri
@@ -1,4 +1,4 @@
-isEmpty(TARGET):error(You must set TARGET before include()'ing $${_FILE_})
+isEmpty(TARGET):error("You must set TARGET before include()'ing $${_FILE_}")
INCLUDEPATH *= $$QMAKE_INCDIR_QT/$$TARGET #just for today to have some compat
!isEmpty(RCC_DIR): INCLUDEPATH += $$RCC_DIR
isEmpty(QT_ARCH):!isEmpty(ARCH):QT_ARCH=$$ARCH #another compat that will rot for change #215700
@@ -85,7 +85,6 @@ win32-borland {
}
win32 {
- CONFIG += zlib
INCLUDEPATH += tmp
!static: DEFINES+=QT_MAKEDLL
}
diff --git a/src/s60installs/bwins/QtCoreu.def b/src/s60installs/bwins/QtCoreu.def
index e309e25d99..c6d7a2cad3 100644
--- a/src/s60installs/bwins/QtCoreu.def
+++ b/src/s60installs/bwins/QtCoreu.def
@@ -4463,4 +4463,20 @@ EXPORTS
?parentChanged@QAbstractDeclarativeData@@2P6AXPAV1@PAVQObject@@1@ZA @ 4462 NONAME ; void (*QAbstractDeclarativeData::parentChanged)(class QAbstractDeclarativeData *, class QObject *, class QObject *)
?destroyed@QAbstractDeclarativeData@@2P6AXPAV1@PAVQObject@@@ZA @ 4463 NONAME ; void (*QAbstractDeclarativeData::destroyed)(class QAbstractDeclarativeData *, class QObject *)
?selectThread@QEventDispatcherSymbian@@AAEAAVQSelectThread@@XZ @ 4464 NONAME ; class QSelectThread & QEventDispatcherSymbian::selectThread(void)
+ ?setRawData@QByteArray@@QAEAAV1@PBDI@Z @ 4465 NONAME ; class QByteArray & QByteArray::setRawData(char const *, unsigned int)
+ ?setRawData@QString@@QAEAAV1@PBVQChar@@H@Z @ 4466 NONAME ; class QString & QString::setRawData(class QChar const *, int)
+ ?getStaticMetaObject@QEventDispatcherSymbian@@SAABUQMetaObject@@XZ @ 4467 NONAME ; struct QMetaObject const & QEventDispatcherSymbian::getStaticMetaObject(void)
+ ?isHighSurrogate@QChar@@SA_NI@Z @ 4468 NONAME ; bool QChar::isHighSurrogate(unsigned int)
+ ?isLowSurrogate@QChar@@SA_NI@Z @ 4469 NONAME ; bool QChar::isLowSurrogate(unsigned int)
+ ?metaObject@QEventDispatcherSymbian@@UBEPBUQMetaObject@@XZ @ 4470 NONAME ; struct QMetaObject const * QEventDispatcherSymbian::metaObject(void) const
+ ?msecsTo@QDateTime@@QBE_JABV1@@Z @ 4471 NONAME ; long long QDateTime::msecsTo(class QDateTime const &) const
+ ?qt_metacall@QEventDispatcherSymbian@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 4472 NONAME ; int QEventDispatcherSymbian::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?qt_metacast@QEventDispatcherSymbian@@UAEPAXPBD@Z @ 4473 NONAME ; void * QEventDispatcherSymbian::qt_metacast(char const *)
+ ?requiresSurrogates@QChar@@SA_NI@Z @ 4474 NONAME ; bool QChar::requiresSurrogates(unsigned int)
+ ?symbianInit@QCoreApplicationPrivate@@QAEXXZ @ 4475 NONAME ; void QCoreApplicationPrivate::symbianInit(void)
+ ?tr@QEventDispatcherSymbian@@SA?AVQString@@PBD0@Z @ 4476 NONAME ; class QString QEventDispatcherSymbian::tr(char const *, char const *)
+ ?tr@QEventDispatcherSymbian@@SA?AVQString@@PBD0H@Z @ 4477 NONAME ; class QString QEventDispatcherSymbian::tr(char const *, char const *, int)
+ ?trUtf8@QEventDispatcherSymbian@@SA?AVQString@@PBD0@Z @ 4478 NONAME ; class QString QEventDispatcherSymbian::trUtf8(char const *, char const *)
+ ?trUtf8@QEventDispatcherSymbian@@SA?AVQString@@PBD0H@Z @ 4479 NONAME ; class QString QEventDispatcherSymbian::trUtf8(char const *, char const *, int)
+ ?staticMetaObject@QEventDispatcherSymbian@@2UQMetaObject@@B @ 4480 NONAME ; struct QMetaObject const QEventDispatcherSymbian::staticMetaObject
diff --git a/src/s60installs/bwins/QtDeclarativeu.def b/src/s60installs/bwins/QtDeclarativeu.def
index 5f05f08f7e..2992cf6c9a 100644
--- a/src/s60installs/bwins/QtDeclarativeu.def
+++ b/src/s60installs/bwins/QtDeclarativeu.def
@@ -86,7 +86,7 @@ EXPORTS
??0QDeclarativeError@@QAE@XZ @ 85 NONAME ; QDeclarativeError::QDeclarativeError(void)
??0QDeclarativeExpression@@IAE@PAVQDeclarativeContext@@ABVQString@@PAVQObject@@AAVQDeclarativeExpressionPrivate@@@Z @ 86 NONAME ABSENT ; QDeclarativeExpression::QDeclarativeExpression(class QDeclarativeContext *, class QString const &, class QObject *, class QDeclarativeExpressionPrivate &)
??0QDeclarativeExpression@@IAE@PAVQDeclarativeContext@@PAXPAVQDeclarativeRefCount@@PAVQObject@@ABVQString@@HAAVQDeclarativeExpressionPrivate@@@Z @ 87 NONAME ABSENT ; QDeclarativeExpression::QDeclarativeExpression(class QDeclarativeContext *, void *, class QDeclarativeRefCount *, class QObject *, class QString const &, int, class QDeclarativeExpressionPrivate &)
- ??0QDeclarativeExpression@@QAE@PAVQDeclarativeContext@@ABVQString@@PAVQObject@@@Z @ 88 NONAME ; QDeclarativeExpression::QDeclarativeExpression(class QDeclarativeContext *, class QString const &, class QObject *)
+ ??0QDeclarativeExpression@@QAE@PAVQDeclarativeContext@@ABVQString@@PAVQObject@@@Z @ 88 NONAME ABSENT ; QDeclarativeExpression::QDeclarativeExpression(class QDeclarativeContext *, class QString const &, class QObject *)
??0QDeclarativeExpression@@QAE@XZ @ 89 NONAME ; QDeclarativeExpression::QDeclarativeExpression(void)
??0QDeclarativeExtensionPlugin@@QAE@PAVQObject@@@Z @ 90 NONAME ; QDeclarativeExtensionPlugin::QDeclarativeExtensionPlugin(class QObject *)
??0QDeclarativeFlickable@@IAE@AAVQDeclarativeFlickablePrivate@@PAVQDeclarativeItem@@@Z @ 91 NONAME ; QDeclarativeFlickable::QDeclarativeFlickable(class QDeclarativeFlickablePrivate &, class QDeclarativeItem *)
@@ -180,11 +180,11 @@ EXPORTS
??0QDeclarativeView@@QAE@ABVQUrl@@PAVQWidget@@@Z @ 179 NONAME ; QDeclarativeView::QDeclarativeView(class QUrl const &, class QWidget *)
??0QDeclarativeView@@QAE@PAVQWidget@@@Z @ 180 NONAME ; QDeclarativeView::QDeclarativeView(class QWidget *)
??0QDeclarativeViewSection@@QAE@PAVQObject@@@Z @ 181 NONAME ; QDeclarativeViewSection::QDeclarativeViewSection(class QObject *)
- ??0QDeclarativeVisualDataModel@@QAE@PAVQDeclarativeContext@@@Z @ 182 NONAME ; QDeclarativeVisualDataModel::QDeclarativeVisualDataModel(class QDeclarativeContext *)
+ ??0QDeclarativeVisualDataModel@@QAE@PAVQDeclarativeContext@@@Z @ 182 NONAME ABSENT ; QDeclarativeVisualDataModel::QDeclarativeVisualDataModel(class QDeclarativeContext *)
??0QDeclarativeVisualDataModel@@QAE@XZ @ 183 NONAME ; QDeclarativeVisualDataModel::QDeclarativeVisualDataModel(void)
- ??0QDeclarativeVisualItemModel@@QAE@XZ @ 184 NONAME ; QDeclarativeVisualItemModel::QDeclarativeVisualItemModel(void)
+ ??0QDeclarativeVisualItemModel@@QAE@XZ @ 184 NONAME ABSENT ; QDeclarativeVisualItemModel::QDeclarativeVisualItemModel(void)
??0QDeclarativeVisualModel@@IAE@AAVQObjectPrivate@@PAVQObject@@@Z @ 185 NONAME ; QDeclarativeVisualModel::QDeclarativeVisualModel(class QObjectPrivate &, class QObject *)
- ??0QDeclarativeVisualModel@@QAE@XZ @ 186 NONAME ; QDeclarativeVisualModel::QDeclarativeVisualModel(void)
+ ??0QDeclarativeVisualModel@@QAE@XZ @ 186 NONAME ABSENT ; QDeclarativeVisualModel::QDeclarativeVisualModel(void)
??0QDeclarativeWebPage@@QAE@PAVQDeclarativeWebView@@@Z @ 187 NONAME ABSENT ; QDeclarativeWebPage::QDeclarativeWebPage(class QDeclarativeWebView *)
??0QDeclarativeWebView@@QAE@PAVQDeclarativeItem@@@Z @ 188 NONAME ABSENT ; QDeclarativeWebView::QDeclarativeWebView(class QDeclarativeItem *)
??0QDeclarativeXmlListModel@@QAE@PAVQObject@@@Z @ 189 NONAME ; QDeclarativeXmlListModel::QDeclarativeXmlListModel(class QObject *)
@@ -581,7 +581,7 @@ EXPORTS
?advance@QDeclarativeParticleMotionWander@@UAEXAAVQDeclarativeParticle@@H@Z @ 580 NONAME ABSENT ; void QDeclarativeParticleMotionWander::advance(class QDeclarativeParticle &, int)
?alert@QDeclarativeWebView@@IAEXABVQString@@@Z @ 581 NONAME ABSENT ; void QDeclarativeWebView::alert(class QString const &)
?alternateBase@QDeclarativeSystemPalette@@QBE?AVQColor@@XZ @ 582 NONAME ; class QColor QDeclarativeSystemPalette::alternateBase(void) const
- ?anchors@QDeclarativeItem@@QAEPAVQDeclarativeAnchors@@XZ @ 583 NONAME ; class QDeclarativeAnchors * QDeclarativeItem::anchors(void)
+ ?anchors@QDeclarativeItem@@QAEPAVQDeclarativeAnchors@@XZ @ 583 NONAME ABSENT ; class QDeclarativeAnchors * QDeclarativeItem::anchors(void)
?angle@QDeclarativeParticles@@QBEMXZ @ 584 NONAME ABSENT ; float QDeclarativeParticles::angle(void) const
?angleChanged@QDeclarativeParticles@@IAEXXZ @ 585 NONAME ABSENT ; void QDeclarativeParticles::angleChanged(void)
?angleDeviation@QDeclarativeParticles@@QBEMXZ @ 586 NONAME ABSENT ; float QDeclarativeParticles::angleDeviation(void) const
@@ -647,7 +647,7 @@ EXPORTS
?buildObject@QDeclarativeCompiler@@AAE_NPAVObject@QDeclarativeParser@@ABUBindingContext@1@@Z @ 646 NONAME ; bool QDeclarativeCompiler::buildObject(class QDeclarativeParser::Object *, struct QDeclarativeCompiler::BindingContext const &)
?buildProperty@QDeclarativeCompiler@@AAE_NPAVProperty@QDeclarativeParser@@PAVObject@3@ABUBindingContext@1@@Z @ 647 NONAME ; bool QDeclarativeCompiler::buildProperty(class QDeclarativeParser::Property *, class QDeclarativeParser::Object *, struct QDeclarativeCompiler::BindingContext const &)
?buildPropertyAssignment@QDeclarativeCompiler@@AAE_NPAVProperty@QDeclarativeParser@@PAVObject@3@ABUBindingContext@1@@Z @ 648 NONAME ; bool QDeclarativeCompiler::buildPropertyAssignment(class QDeclarativeParser::Property *, class QDeclarativeParser::Object *, struct QDeclarativeCompiler::BindingContext const &)
- ?buildPropertyInNamespace@QDeclarativeCompiler@@AAE_NPAUImportedNamespace@QDeclarativeEnginePrivate@@PAVProperty@QDeclarativeParser@@PAVObject@5@ABUBindingContext@1@@Z @ 649 NONAME ; bool QDeclarativeCompiler::buildPropertyInNamespace(struct QDeclarativeEnginePrivate::ImportedNamespace *, class QDeclarativeParser::Property *, class QDeclarativeParser::Object *, struct QDeclarativeCompiler::BindingContext const &)
+ ?buildPropertyInNamespace@QDeclarativeCompiler@@AAE_NPAUImportedNamespace@QDeclarativeEnginePrivate@@PAVProperty@QDeclarativeParser@@PAVObject@5@ABUBindingContext@1@@Z @ 649 NONAME ABSENT ; bool QDeclarativeCompiler::buildPropertyInNamespace(struct QDeclarativeEnginePrivate::ImportedNamespace *, class QDeclarativeParser::Property *, class QDeclarativeParser::Object *, struct QDeclarativeCompiler::BindingContext const &)
?buildPropertyLiteralAssignment@QDeclarativeCompiler@@AAE_NPAVProperty@QDeclarativeParser@@PAVObject@3@PAVValue@3@ABUBindingContext@1@@Z @ 650 NONAME ; bool QDeclarativeCompiler::buildPropertyLiteralAssignment(class QDeclarativeParser::Property *, class QDeclarativeParser::Object *, class QDeclarativeParser::Value *, struct QDeclarativeCompiler::BindingContext const &)
?buildPropertyObjectAssignment@QDeclarativeCompiler@@AAE_NPAVProperty@QDeclarativeParser@@PAVObject@3@PAVValue@3@ABUBindingContext@1@@Z @ 651 NONAME ; bool QDeclarativeCompiler::buildPropertyObjectAssignment(class QDeclarativeParser::Property *, class QDeclarativeParser::Object *, class QDeclarativeParser::Value *, struct QDeclarativeCompiler::BindingContext const &)
?buildScript@QDeclarativeCompiler@@AAE_NPAVObject@QDeclarativeParser@@0@Z @ 652 NONAME ABSENT ; bool QDeclarativeCompiler::buildScript(class QDeclarativeParser::Object *, class QDeclarativeParser::Object *)
@@ -693,7 +693,7 @@ EXPORTS
?classBegin@QDeclarativeDateTimeFormatter@@UAEXXZ @ 692 NONAME ABSENT ; void QDeclarativeDateTimeFormatter::classBegin(void)
?classBegin@QDeclarativeItem@@MAEXXZ @ 693 NONAME ; void QDeclarativeItem::classBegin(void)
?classBegin@QDeclarativeNumberFormatter@@UAEXXZ @ 694 NONAME ABSENT ; void QDeclarativeNumberFormatter::classBegin(void)
- ?classBegin@QDeclarativeParserStatus@@UAEXXZ @ 695 NONAME ; void QDeclarativeParserStatus::classBegin(void)
+ ?classBegin@QDeclarativeParserStatus@@UAEXXZ @ 695 NONAME ABSENT ; void QDeclarativeParserStatus::classBegin(void)
?classBegin@QDeclarativeStateGroup@@UAEXXZ @ 696 NONAME ; void QDeclarativeStateGroup::classBegin(void)
?classBegin@QDeclarativeTimer@@MAEXXZ @ 697 NONAME ; void QDeclarativeTimer::classBegin(void)
?classBegin@QDeclarativeXmlListModel@@UAEXXZ @ 698 NONAME ; void QDeclarativeXmlListModel::classBegin(void)
@@ -754,7 +754,7 @@ EXPORTS
?componentComplete@QDeclarativeItem@@MAEXXZ @ 753 NONAME ; void QDeclarativeItem::componentComplete(void)
?componentComplete@QDeclarativeListView@@MAEXXZ @ 754 NONAME ; void QDeclarativeListView::componentComplete(void)
?componentComplete@QDeclarativeNumberFormatter@@UAEXXZ @ 755 NONAME ABSENT ; void QDeclarativeNumberFormatter::componentComplete(void)
- ?componentComplete@QDeclarativeParserStatus@@UAEXXZ @ 756 NONAME ; void QDeclarativeParserStatus::componentComplete(void)
+ ?componentComplete@QDeclarativeParserStatus@@UAEXXZ @ 756 NONAME ABSENT ; void QDeclarativeParserStatus::componentComplete(void)
?componentComplete@QDeclarativeParticles@@MAEXXZ @ 757 NONAME ABSENT ; void QDeclarativeParticles::componentComplete(void)
?componentComplete@QDeclarativePath@@MAEXXZ @ 758 NONAME ; void QDeclarativePath::componentComplete(void)
?componentComplete@QDeclarativePathView@@MAEXXZ @ 759 NONAME ; void QDeclarativePathView::componentComplete(void)
@@ -861,8 +861,8 @@ EXPORTS
?cursorPosition@QDeclarativeTextInput@@QBEHXZ @ 860 NONAME ; int QDeclarativeTextInput::cursorPosition(void) const
?cursorPositionChanged@QDeclarativeTextEdit@@IAEXXZ @ 861 NONAME ; void QDeclarativeTextEdit::cursorPositionChanged(void)
?cursorPositionChanged@QDeclarativeTextInput@@IAEXXZ @ 862 NONAME ; void QDeclarativeTextInput::cursorPositionChanged(void)
- ?cursorRect@QDeclarativeTextEdit@@QBE?AVQRect@@XZ @ 863 NONAME ; class QRect QDeclarativeTextEdit::cursorRect(void) const
- ?cursorRect@QDeclarativeTextInput@@QBE?AVQRect@@XZ @ 864 NONAME ; class QRect QDeclarativeTextInput::cursorRect(void) const
+ ?cursorRect@QDeclarativeTextEdit@@QBE?AVQRect@@XZ @ 863 NONAME ABSENT ; class QRect QDeclarativeTextEdit::cursorRect(void) const
+ ?cursorRect@QDeclarativeTextInput@@QBE?AVQRect@@XZ @ 864 NONAME ABSENT ; class QRect QDeclarativeTextInput::cursorRect(void) const
?cursorVisibleChanged@QDeclarativeTextEdit@@IAEX_N@Z @ 865 NONAME ; void QDeclarativeTextEdit::cursorVisibleChanged(bool)
?cursorVisibleChanged@QDeclarativeTextInput@@IAEX_N@Z @ 866 NONAME ; void QDeclarativeTextInput::cursorVisibleChanged(bool)
?customParser@QDeclarativeType@@QBEPAVQDeclarativeCustomParser@@XZ @ 867 NONAME ; class QDeclarativeCustomParser * QDeclarativeType::customParser(void) const
@@ -1086,7 +1086,7 @@ EXPORTS
?errors@QDeclarativeCustomParser@@QBE?AV?$QList@VQDeclarativeError@@@@XZ @ 1085 NONAME ; class QList<class QDeclarativeError> QDeclarativeCustomParser::errors(void) const
?errors@QDeclarativeDomDocument@@QBE?AV?$QList@VQDeclarativeError@@@@XZ @ 1086 NONAME ; class QList<class QDeclarativeError> QDeclarativeDomDocument::errors(void) const
?errors@QDeclarativeView@@QBE?AV?$QList@VQDeclarativeError@@@@XZ @ 1087 NONAME ; class QList<class QDeclarativeError> QDeclarativeView::errors(void) const
- ?errorsString@QDeclarativeComponent@@QBE?AVQString@@XZ @ 1088 NONAME ; class QString QDeclarativeComponent::errorsString(void) const
+ ?errorsString@QDeclarativeComponent@@QBE?AVQString@@XZ @ 1088 NONAME ABSENT ; class QString QDeclarativeComponent::errorsString(void) const
?eval@QDeclarativeBind@@AAEXXZ @ 1089 NONAME ; void QDeclarativeBind::eval(void)
?evaluate@QDeclarativeVisualDataModel@@UAE?AVQVariant@@HABVQString@@PAVQObject@@@Z @ 1090 NONAME ; class QVariant QDeclarativeVisualDataModel::evaluate(int, class QString const &, class QObject *)
?evaluate@QDeclarativeVisualItemModel@@UAE?AVQVariant@@HABVQString@@PAVQObject@@@Z @ 1091 NONAME ; class QVariant QDeclarativeVisualItemModel::evaluate(int, class QString const &, class QObject *)
@@ -1127,8 +1127,8 @@ EXPORTS
?flags@QMetaObjectBuilder@@QBE?AV?$QFlags@W4MetaObjectFlag@QMetaObjectBuilder@@@@XZ @ 1126 NONAME ; class QFlags<enum QMetaObjectBuilder::MetaObjectFlag> QMetaObjectBuilder::flags(void) const
?flickDeceleration@QDeclarativeFlickable@@QBEMXZ @ 1127 NONAME ; float QDeclarativeFlickable::flickDeceleration(void) const
?flickDecelerationChanged@QDeclarativeFlickable@@IAEXXZ @ 1128 NONAME ; void QDeclarativeFlickable::flickDecelerationChanged(void)
- ?flickDirection@QDeclarativeFlickable@@QBE?AW4FlickDirection@1@XZ @ 1129 NONAME ; enum QDeclarativeFlickable::FlickDirection QDeclarativeFlickable::flickDirection(void) const
- ?flickDirectionChanged@QDeclarativeFlickable@@IAEXXZ @ 1130 NONAME ; void QDeclarativeFlickable::flickDirectionChanged(void)
+ ?flickDirection@QDeclarativeFlickable@@QBE?AW4FlickDirection@1@XZ @ 1129 NONAME ABSENT ; enum QDeclarativeFlickable::FlickDirection QDeclarativeFlickable::flickDirection(void) const
+ ?flickDirectionChanged@QDeclarativeFlickable@@IAEXXZ @ 1130 NONAME ABSENT ; void QDeclarativeFlickable::flickDirectionChanged(void)
?flickEnded@QDeclarativeFlickable@@IAEXXZ @ 1131 NONAME ; void QDeclarativeFlickable::flickEnded(void)
?flickStarted@QDeclarativeFlickable@@IAEXXZ @ 1132 NONAME ; void QDeclarativeFlickable::flickStarted(void)
?flickableChildren@QDeclarativeFlickable@@QAE?AU?$QDeclarativeListProperty@VQDeclarativeItem@@@@XZ @ 1133 NONAME ABSENT ; struct QDeclarativeListProperty<class QDeclarativeItem> QDeclarativeFlickable::flickableChildren(void)
@@ -1299,7 +1299,7 @@ EXPORTS
?hasStdCppSet@QMetaPropertyBuilder@@QBE_NXZ @ 1298 NONAME ; bool QMetaPropertyBuilder::hasStdCppSet(void) const
?header@QDeclarativeListView@@QBEPAVQDeclarativeComponent@@XZ @ 1299 NONAME ; class QDeclarativeComponent * QDeclarativeListView::header(void) const
?height@QDeclarativeItem@@QBEMXZ @ 1300 NONAME ; float QDeclarativeItem::height(void) const
- ?height@QDeclarativeParentChange@@QBEMXZ @ 1301 NONAME ; float QDeclarativeParentChange::height(void) const
+ ?height@QDeclarativeParentChange@@QBEMXZ @ 1301 NONAME ABSENT ; float QDeclarativeParentChange::height(void) const
?heightChange@QDeclarativeFlickable@@IAEXXZ @ 1302 NONAME ABSENT ; void QDeclarativeFlickable::heightChange(void)
?heightChanged@QDeclarativeItem@@IAEXXZ @ 1303 NONAME ABSENT ; void QDeclarativeItem::heightChanged(void)
?heightIsSet@QDeclarativeParentChange@@QBE_NXZ @ 1304 NONAME ; bool QDeclarativeParentChange::heightIsSet(void) const
@@ -1369,7 +1369,7 @@ EXPORTS
?indexOfSignal@QMetaObjectBuilder@@QAEHABVQByteArray@@@Z @ 1368 NONAME ; int QMetaObjectBuilder::indexOfSignal(class QByteArray const &)
?indexOfSlot@QMetaObjectBuilder@@QAEHABVQByteArray@@@Z @ 1369 NONAME ; int QMetaObjectBuilder::indexOfSlot(class QByteArray const &)
?init@QDeclarativeContextPrivate@@QAEXXZ @ 1370 NONAME ABSENT ; void QDeclarativeContextPrivate::init(void)
- ?init@QDeclarativePaintedItem@@AAEXXZ @ 1371 NONAME ; void QDeclarativePaintedItem::init(void)
+ ?init@QDeclarativePaintedItem@@AAEXXZ @ 1371 NONAME ABSENT ; void QDeclarativePaintedItem::init(void)
?init@QDeclarativeWebView@@AAEXXZ @ 1372 NONAME ABSENT ; void QDeclarativeWebView::init(void)
?initialLayout@QDeclarativeWebView@@AAEXXZ @ 1373 NONAME ABSENT ; void QDeclarativeWebView::initialLayout(void)
?initialValue@QDeclarativeOpenMetaObject@@UAE?AVQVariant@@H@Z @ 1374 NONAME ; class QVariant QDeclarativeOpenMetaObject::initialValue(int)
@@ -1813,8 +1813,8 @@ EXPORTS
?orientation@QDeclarativeListView@@QBE?AW4Orientation@1@XZ @ 1812 NONAME ; enum QDeclarativeListView::Orientation QDeclarativeListView::orientation(void) const
?orientationChanged@QDeclarativeListView@@IAEXXZ @ 1813 NONAME ; void QDeclarativeListView::orientationChanged(void)
?originalParent@QDeclarativeParentChange@@QBEPAVQDeclarativeItem@@XZ @ 1814 NONAME ; class QDeclarativeItem * QDeclarativeParentChange::originalParent(void) const
- ?overShoot@QDeclarativeFlickable@@QBE_NXZ @ 1815 NONAME ; bool QDeclarativeFlickable::overShoot(void) const
- ?overShootChanged@QDeclarativeFlickable@@IAEXXZ @ 1816 NONAME ; void QDeclarativeFlickable::overShootChanged(void)
+ ?overShoot@QDeclarativeFlickable@@QBE_NXZ @ 1815 NONAME ABSENT ; bool QDeclarativeFlickable::overShoot(void) const
+ ?overShootChanged@QDeclarativeFlickable@@IAEXXZ @ 1816 NONAME ABSENT ; void QDeclarativeFlickable::overShootChanged(void)
?override@QDeclarativeAnchorChanges@@UAE_NPAVQDeclarativeActionEvent@@@Z @ 1817 NONAME ; bool QDeclarativeAnchorChanges::override(class QDeclarativeActionEvent *)
?override@QDeclarativeParentChange@@UAE_NPAVQDeclarativeActionEvent@@@Z @ 1818 NONAME ; bool QDeclarativeParentChange::override(class QDeclarativeActionEvent *)
?pace@QDeclarativeParticleMotionWander@@QBEMXZ @ 1819 NONAME ABSENT ; float QDeclarativeParticleMotionWander::pace(void) const
@@ -2214,9 +2214,9 @@ EXPORTS
?resetVerticalCenter@QDeclarativeAnchors@@QAEXXZ @ 2213 NONAME ; void QDeclarativeAnchors::resetVerticalCenter(void)
?resetWidth@QDeclarativeItem@@QAEXXZ @ 2214 NONAME ; void QDeclarativeItem::resetWidth(void)
?resizeEvent@QDeclarativeView@@MAEXPAVQResizeEvent@@@Z @ 2215 NONAME ; void QDeclarativeView::resizeEvent(class QResizeEvent *)
- ?resizeMode@QDeclarativeLoader@@QBE?AW4ResizeMode@1@XZ @ 2216 NONAME ; enum QDeclarativeLoader::ResizeMode QDeclarativeLoader::resizeMode(void) const
+ ?resizeMode@QDeclarativeLoader@@QBE?AW4ResizeMode@1@XZ @ 2216 NONAME ABSENT ; enum QDeclarativeLoader::ResizeMode QDeclarativeLoader::resizeMode(void) const
?resizeMode@QDeclarativeView@@QBE?AW4ResizeMode@1@XZ @ 2217 NONAME ; enum QDeclarativeView::ResizeMode QDeclarativeView::resizeMode(void) const
- ?resizeModeChanged@QDeclarativeLoader@@IAEXXZ @ 2218 NONAME ; void QDeclarativeLoader::resizeModeChanged(void)
+ ?resizeModeChanged@QDeclarativeLoader@@IAEXXZ @ 2218 NONAME ABSENT ; void QDeclarativeLoader::resizeModeChanged(void)
?resolvedUrl@QDeclarativeContext@@QAE?AVQUrl@@ABV2@@Z @ 2219 NONAME ; class QUrl QDeclarativeContext::resolvedUrl(class QUrl const &)
?resources@QDeclarativeItem@@QAE?AU?$QDeclarativeListProperty@VQObject@@@@XZ @ 2220 NONAME ABSENT ; struct QDeclarativeListProperty<class QObject> QDeclarativeItem::resources(void)
?restart@QDeclarativeTimer@@QAEXXZ @ 2221 NONAME ; void QDeclarativeTimer::restart(void)
@@ -2247,7 +2247,7 @@ EXPORTS
?rootIndexChanged@QDeclarativeVisualDataModel@@IAEXXZ @ 2246 NONAME ; void QDeclarativeVisualDataModel::rootIndexChanged(void)
?rootObject@QDeclarativeDomDocument@@QBE?AVQDeclarativeDomObject@@XZ @ 2247 NONAME ; class QDeclarativeDomObject QDeclarativeDomDocument::rootObject(void) const
?rootObject@QDeclarativeView@@QBEPAVQGraphicsObject@@XZ @ 2248 NONAME ; class QGraphicsObject * QDeclarativeView::rootObject(void) const
- ?rotation@QDeclarativeParentChange@@QBEMXZ @ 2249 NONAME ; float QDeclarativeParentChange::rotation(void) const
+ ?rotation@QDeclarativeParentChange@@QBEMXZ @ 2249 NONAME ABSENT ; float QDeclarativeParentChange::rotation(void) const
?rotationIsSet@QDeclarativeParentChange@@QBE_NXZ @ 2250 NONAME ; bool QDeclarativeParentChange::rotationIsSet(void) const
?rows@QDeclarativeGrid@@QBEHXZ @ 2251 NONAME ; int QDeclarativeGrid::rows(void) const
?rowsChanged@QDeclarativeGrid@@IAEXXZ @ 2252 NONAME ; void QDeclarativeGrid::rowsChanged(void)
@@ -2257,7 +2257,7 @@ EXPORTS
?saveCurrentValues@QDeclarativeParentChange@@UAEXXZ @ 2256 NONAME ; void QDeclarativeParentChange::saveCurrentValues(void)
?saveOriginals@QDeclarativeAnchorChanges@@UAEXXZ @ 2257 NONAME ; void QDeclarativeAnchorChanges::saveOriginals(void)
?saveOriginals@QDeclarativeParentChange@@UAEXXZ @ 2258 NONAME ; void QDeclarativeParentChange::saveOriginals(void)
- ?scale@QDeclarativeParentChange@@QBEMXZ @ 2259 NONAME ; float QDeclarativeParentChange::scale(void) const
+ ?scale@QDeclarativeParentChange@@QBEMXZ @ 2259 NONAME ABSENT ; float QDeclarativeParentChange::scale(void) const
?scaleIsSet@QDeclarativeParentChange@@QBE_NXZ @ 2260 NONAME ; bool QDeclarativeParentChange::scaleIsSet(void) const
?sceneEvent@QDeclarativeFocusPanel@@MAE_NPAVQEvent@@@Z @ 2261 NONAME ; bool QDeclarativeFocusPanel::sceneEvent(class QEvent *)
?sceneEvent@QDeclarativeItem@@MAE_NPAVQEvent@@@Z @ 2262 NONAME ; bool QDeclarativeItem::sceneEvent(class QEvent *)
@@ -2346,7 +2346,7 @@ EXPORTS
?setColumn@QDeclarativeError@@QAEXH@Z @ 2345 NONAME ; void QDeclarativeError::setColumn(int)
?setColumnNumber@QDeclarativeDebugFileReference@@QAEXH@Z @ 2346 NONAME ; void QDeclarativeDebugFileReference::setColumnNumber(int)
?setColumns@QDeclarativeGrid@@QAEXH@Z @ 2347 NONAME ; void QDeclarativeGrid::setColumns(int)
- ?setConsistentTime@QDeclarativeItemPrivate@@SAXH@Z @ 2348 NONAME ; void QDeclarativeItemPrivate::setConsistentTime(int)
+ ?setConsistentTime@QDeclarativeItemPrivate@@SAXH@Z @ 2348 NONAME ABSENT ; void QDeclarativeItemPrivate::setConsistentTime(int)
?setContent@QDeclarativeWebView@@QAEXABVQByteArray@@ABVQString@@ABVQUrl@@@Z @ 2349 NONAME ABSENT ; void QDeclarativeWebView::setContent(class QByteArray const &, class QString const &, class QUrl const &)
?setContentHeight@QDeclarativeFlickable@@QAEXM@Z @ 2350 NONAME ; void QDeclarativeFlickable::setContentHeight(float)
?setContentWidth@QDeclarativeFlickable@@QAEXM@Z @ 2351 NONAME ; void QDeclarativeFlickable::setContentWidth(float)
@@ -2416,7 +2416,7 @@ EXPORTS
?setFillMode@QDeclarativeImage@@QAEXW4FillMode@1@@Z @ 2415 NONAME ; void QDeclarativeImage::setFillMode(enum QDeclarativeImage::FillMode)
?setFlags@QMetaObjectBuilder@@QAEXV?$QFlags@W4MetaObjectFlag@QMetaObjectBuilder@@@@@Z @ 2416 NONAME ; void QMetaObjectBuilder::setFlags(class QFlags<enum QMetaObjectBuilder::MetaObjectFlag>)
?setFlickDeceleration@QDeclarativeFlickable@@QAEXM@Z @ 2417 NONAME ; void QDeclarativeFlickable::setFlickDeceleration(float)
- ?setFlickDirection@QDeclarativeFlickable@@QAEXW4FlickDirection@1@@Z @ 2418 NONAME ; void QDeclarativeFlickable::setFlickDirection(enum QDeclarativeFlickable::FlickDirection)
+ ?setFlickDirection@QDeclarativeFlickable@@QAEXW4FlickDirection@1@@Z @ 2418 NONAME ABSENT ; void QDeclarativeFlickable::setFlickDirection(enum QDeclarativeFlickable::FlickDirection)
?setFlow@QDeclarativeFlow@@QAEXW4Flow@1@@Z @ 2419 NONAME ; void QDeclarativeFlow::setFlow(enum QDeclarativeFlow::Flow)
?setFlow@QDeclarativeGridView@@QAEXW4Flow@1@@Z @ 2420 NONAME ; void QDeclarativeGridView::setFlow(enum QDeclarativeGridView::Flow)
?setFocus@QDeclarativeItem@@QAEX_N@Z @ 2421 NONAME ; void QDeclarativeItem::setFocus(bool)
@@ -2437,7 +2437,7 @@ EXPORTS
?setHAlign@QDeclarativeTextInput@@QAEXW4HAlignment@1@@Z @ 2436 NONAME ; void QDeclarativeTextInput::setHAlign(enum QDeclarativeTextInput::HAlignment)
?setHeader@QDeclarativeListView@@QAEXPAVQDeclarativeComponent@@@Z @ 2437 NONAME ; void QDeclarativeListView::setHeader(class QDeclarativeComponent *)
?setHeight@QDeclarativeItem@@QAEXM@Z @ 2438 NONAME ; void QDeclarativeItem::setHeight(float)
- ?setHeight@QDeclarativeParentChange@@QAEXM@Z @ 2439 NONAME ; void QDeclarativeParentChange::setHeight(float)
+ ?setHeight@QDeclarativeParentChange@@QAEXM@Z @ 2439 NONAME ABSENT ; void QDeclarativeParentChange::setHeight(float)
?setHighlight@QDeclarativeGridView@@QAEXPAVQDeclarativeComponent@@@Z @ 2440 NONAME ; void QDeclarativeGridView::setHighlight(class QDeclarativeComponent *)
?setHighlight@QDeclarativeListView@@QAEXPAVQDeclarativeComponent@@@Z @ 2441 NONAME ; void QDeclarativeListView::setHighlight(class QDeclarativeComponent *)
?setHighlightFollowsCurrentItem@QDeclarativeGridView@@QAEX_N@Z @ 2442 NONAME ; void QDeclarativeGridView::setHighlightFollowsCurrentItem(bool)
@@ -2506,7 +2506,7 @@ EXPORTS
?setOfflineStoragePath@QDeclarativeEngine@@QAEXABVQString@@@Z @ 2505 NONAME ; void QDeclarativeEngine::setOfflineStoragePath(class QString const &)
?setOffset@QDeclarativePathView@@QAEXM@Z @ 2506 NONAME ; void QDeclarativePathView::setOffset(float)
?setOrientation@QDeclarativeListView@@QAEXW4Orientation@1@@Z @ 2507 NONAME ; void QDeclarativeListView::setOrientation(enum QDeclarativeListView::Orientation)
- ?setOverShoot@QDeclarativeFlickable@@QAEX_N@Z @ 2508 NONAME ; void QDeclarativeFlickable::setOverShoot(bool)
+ ?setOverShoot@QDeclarativeFlickable@@QAEX_N@Z @ 2508 NONAME ABSENT ; void QDeclarativeFlickable::setOverShoot(bool)
?setPace@QDeclarativeParticleMotionWander@@QAEXM@Z @ 2509 NONAME ABSENT ; void QDeclarativeParticleMotionWander::setPace(float)
?setPage@QDeclarativeWebView@@QAEXPAVQWebPage@@@Z @ 2510 NONAME ABSENT ; void QDeclarativeWebView::setPage(class QWebPage *)
?setParameterNames@QMetaMethodBuilder@@QAEXABV?$QList@VQByteArray@@@@@Z @ 2511 NONAME ; void QMetaMethodBuilder::setParameterNames(class QList<class QByteArray> const &)
@@ -2542,7 +2542,7 @@ EXPORTS
?setRepeating@QDeclarativeTimer@@QAEX_N@Z @ 2541 NONAME ; void QDeclarativeTimer::setRepeating(bool)
?setReset@QDeclarativeAnchorChanges@@QAEXABVQString@@@Z @ 2542 NONAME ABSENT ; void QDeclarativeAnchorChanges::setReset(class QString const &)
?setResettable@QMetaPropertyBuilder@@QAEX_N@Z @ 2543 NONAME ; void QMetaPropertyBuilder::setResettable(bool)
- ?setResizeMode@QDeclarativeLoader@@QAEXW4ResizeMode@1@@Z @ 2544 NONAME ; void QDeclarativeLoader::setResizeMode(enum QDeclarativeLoader::ResizeMode)
+ ?setResizeMode@QDeclarativeLoader@@QAEXW4ResizeMode@1@@Z @ 2544 NONAME ABSENT ; void QDeclarativeLoader::setResizeMode(enum QDeclarativeLoader::ResizeMode)
?setResizeMode@QDeclarativeView@@QAEXW4ResizeMode@1@@Z @ 2545 NONAME ; void QDeclarativeView::setResizeMode(enum QDeclarativeView::ResizeMode)
?setRestoreEntryValues@QDeclarativePropertyChanges@@QAEX_N@Z @ 2546 NONAME ; void QDeclarativePropertyChanges::setRestoreEntryValues(bool)
?setReturnType@QMetaMethodBuilder@@QAEXABVQByteArray@@@Z @ 2547 NONAME ; void QMetaMethodBuilder::setReturnType(class QByteArray const &)
@@ -2555,10 +2555,10 @@ EXPORTS
?setRightMargin@QDeclarativeAnchors@@QAEXM@Z @ 2554 NONAME ; void QDeclarativeAnchors::setRightMargin(float)
?setRootIndex@QDeclarativeVisualDataModel@@QAEXABVQModelIndex@@@Z @ 2555 NONAME ABSENT ; void QDeclarativeVisualDataModel::setRootIndex(class QModelIndex const &)
?setRootObject@QDeclarativeView@@MAEXPAVQObject@@@Z @ 2556 NONAME ; void QDeclarativeView::setRootObject(class QObject *)
- ?setRotation@QDeclarativeParentChange@@QAEXM@Z @ 2557 NONAME ; void QDeclarativeParentChange::setRotation(float)
+ ?setRotation@QDeclarativeParentChange@@QAEXM@Z @ 2557 NONAME ABSENT ; void QDeclarativeParentChange::setRotation(float)
?setRows@QDeclarativeGrid@@QAEXH@Z @ 2558 NONAME ; void QDeclarativeGrid::setRows(int)
?setRunning@QDeclarativeTimer@@QAEX_N@Z @ 2559 NONAME ; void QDeclarativeTimer::setRunning(bool)
- ?setScale@QDeclarativeParentChange@@QAEXM@Z @ 2560 NONAME ; void QDeclarativeParentChange::setScale(float)
+ ?setScale@QDeclarativeParentChange@@QAEXM@Z @ 2560 NONAME ABSENT ; void QDeclarativeParentChange::setScale(float)
?setScopeObject@QDeclarativeScriptString@@QAEXPAVQObject@@@Z @ 2561 NONAME ; void QDeclarativeScriptString::setScopeObject(class QObject *)
?setScript@QDeclarativeScriptString@@QAEXABVQString@@@Z @ 2562 NONAME ; void QDeclarativeScriptString::setScript(class QString const &)
?setScript@QDeclarativeStateChangeScript@@QAEXABVQDeclarativeScriptString@@@Z @ 2563 NONAME ; void QDeclarativeStateChangeScript::setScript(class QDeclarativeScriptString const &)
@@ -2568,10 +2568,10 @@ EXPORTS
?setSelectedTextColor@QDeclarativeTextInput@@QAEXABVQColor@@@Z @ 2567 NONAME ; void QDeclarativeTextInput::setSelectedTextColor(class QColor const &)
?setSelectionColor@QDeclarativeTextEdit@@QAEXABVQColor@@@Z @ 2568 NONAME ; void QDeclarativeTextEdit::setSelectionColor(class QColor const &)
?setSelectionColor@QDeclarativeTextInput@@QAEXABVQColor@@@Z @ 2569 NONAME ; void QDeclarativeTextInput::setSelectionColor(class QColor const &)
- ?setSelectionEnd@QDeclarativeTextEdit@@QAEXH@Z @ 2570 NONAME ; void QDeclarativeTextEdit::setSelectionEnd(int)
- ?setSelectionEnd@QDeclarativeTextInput@@QAEXH@Z @ 2571 NONAME ; void QDeclarativeTextInput::setSelectionEnd(int)
- ?setSelectionStart@QDeclarativeTextEdit@@QAEXH@Z @ 2572 NONAME ; void QDeclarativeTextEdit::setSelectionStart(int)
- ?setSelectionStart@QDeclarativeTextInput@@QAEXH@Z @ 2573 NONAME ; void QDeclarativeTextInput::setSelectionStart(int)
+ ?setSelectionEnd@QDeclarativeTextEdit@@QAEXH@Z @ 2570 NONAME ABSENT ; void QDeclarativeTextEdit::setSelectionEnd(int)
+ ?setSelectionEnd@QDeclarativeTextInput@@QAEXH@Z @ 2571 NONAME ABSENT ; void QDeclarativeTextInput::setSelectionEnd(int)
+ ?setSelectionStart@QDeclarativeTextEdit@@QAEXH@Z @ 2572 NONAME ABSENT ; void QDeclarativeTextEdit::setSelectionStart(int)
+ ?setSelectionStart@QDeclarativeTextInput@@QAEXH@Z @ 2573 NONAME ABSENT ; void QDeclarativeTextInput::setSelectionStart(int)
?setSmooth@QDeclarativeItem@@QAEX_N@Z @ 2574 NONAME ; void QDeclarativeItem::setSmooth(bool)
?setSmoothCache@QDeclarativePaintedItem@@QAEX_N@Z @ 2575 NONAME ; void QDeclarativePaintedItem::setSmoothCache(bool)
?setSnapMode@QDeclarativeListView@@QAEXW4SnapMode@1@@Z @ 2576 NONAME ; void QDeclarativeListView::setSnapMode(enum QDeclarativeListView::SnapMode)
@@ -2595,7 +2595,7 @@ EXPORTS
?setStartY@QDeclarativePath@@QAEXM@Z @ 2594 NONAME ; void QDeclarativePath::setStartY(float)
?setState@QDeclarativeDebugQuery@@AAEXW4State@1@@Z @ 2595 NONAME ; void QDeclarativeDebugQuery::setState(enum QDeclarativeDebugQuery::State)
?setState@QDeclarativeDebugWatch@@AAEXW4State@1@@Z @ 2596 NONAME ; void QDeclarativeDebugWatch::setState(enum QDeclarativeDebugWatch::State)
- ?setState@QDeclarativeItem@@QAEXABVQString@@@Z @ 2597 NONAME ; void QDeclarativeItem::setState(class QString const &)
+ ?setState@QDeclarativeItem@@QAEXABVQString@@@Z @ 2597 NONAME ABSENT ; void QDeclarativeItem::setState(class QString const &)
?setState@QDeclarativeStateGroup@@QAEXABVQString@@@Z @ 2598 NONAME ; void QDeclarativeStateGroup::setState(class QString const &)
?setStateGroup@QDeclarativeState@@QAEXPAVQDeclarativeStateGroup@@@Z @ 2599 NONAME ; void QDeclarativeState::setStateGroup(class QDeclarativeStateGroup *)
?setStaticMetacallFunction@QMetaObjectBuilder@@QAEXP6AHW4Call@QMetaObject@@HPAPAX@Z@Z @ 2600 NONAME ; void QMetaObjectBuilder::setStaticMetacallFunction(int (*)(enum QMetaObject::Call, int, void * *))
@@ -2651,7 +2651,7 @@ EXPORTS
?setWhen@QDeclarativeBind@@QAEX_N@Z @ 2650 NONAME ; void QDeclarativeBind::setWhen(bool)
?setWhen@QDeclarativeState@@QAEXPAVQDeclarativeBinding@@@Z @ 2651 NONAME ; void QDeclarativeState::setWhen(class QDeclarativeBinding *)
?setWidth@QDeclarativeItem@@QAEXM@Z @ 2652 NONAME ; void QDeclarativeItem::setWidth(float)
- ?setWidth@QDeclarativeParentChange@@QAEXM@Z @ 2653 NONAME ; void QDeclarativeParentChange::setWidth(float)
+ ?setWidth@QDeclarativeParentChange@@QAEXM@Z @ 2653 NONAME ABSENT ; void QDeclarativeParentChange::setWidth(float)
?setWidth@QDeclarativePen@@QAEXH@Z @ 2654 NONAME ; void QDeclarativePen::setWidth(int)
?setWrap@QDeclarativeText@@QAEX_N@Z @ 2655 NONAME ABSENT ; void QDeclarativeText::setWrap(bool)
?setWrap@QDeclarativeTextEdit@@QAEX_N@Z @ 2656 NONAME ABSENT ; void QDeclarativeTextEdit::setWrap(bool)
@@ -2659,14 +2659,14 @@ EXPORTS
?setWrapEnabled@QDeclarativeListView@@QAEX_N@Z @ 2658 NONAME ; void QDeclarativeListView::setWrapEnabled(bool)
?setWritable@QMetaPropertyBuilder@@QAEX_N@Z @ 2659 NONAME ; void QMetaPropertyBuilder::setWritable(bool)
?setX@QDeclarativeCurve@@QAEXM@Z @ 2660 NONAME ; void QDeclarativeCurve::setX(float)
- ?setX@QDeclarativeParentChange@@QAEXM@Z @ 2661 NONAME ; void QDeclarativeParentChange::setX(float)
+ ?setX@QDeclarativeParentChange@@QAEXM@Z @ 2661 NONAME ABSENT ; void QDeclarativeParentChange::setX(float)
?setXAttractor@QDeclarativeParticleMotionGravity@@QAEXM@Z @ 2662 NONAME ABSENT ; void QDeclarativeParticleMotionGravity::setXAttractor(float)
?setXVariance@QDeclarativeParticleMotionWander@@QAEXM@Z @ 2663 NONAME ABSENT ; void QDeclarativeParticleMotionWander::setXVariance(float)
?setXmax@QDeclarativeDrag@@QAEXM@Z @ 2664 NONAME ; void QDeclarativeDrag::setXmax(float)
?setXmin@QDeclarativeDrag@@QAEXM@Z @ 2665 NONAME ; void QDeclarativeDrag::setXmin(float)
?setXml@QDeclarativeXmlListModel@@QAEXABVQString@@@Z @ 2666 NONAME ; void QDeclarativeXmlListModel::setXml(class QString const &)
?setY@QDeclarativeCurve@@QAEXM@Z @ 2667 NONAME ; void QDeclarativeCurve::setY(float)
- ?setY@QDeclarativeParentChange@@QAEXM@Z @ 2668 NONAME ; void QDeclarativeParentChange::setY(float)
+ ?setY@QDeclarativeParentChange@@QAEXM@Z @ 2668 NONAME ABSENT ; void QDeclarativeParentChange::setY(float)
?setYAttractor@QDeclarativeParticleMotionGravity@@QAEXM@Z @ 2669 NONAME ABSENT ; void QDeclarativeParticleMotionGravity::setYAttractor(float)
?setYVariance@QDeclarativeParticleMotionWander@@QAEXM@Z @ 2670 NONAME ABSENT ; void QDeclarativeParticleMotionWander::setYVariance(float)
?setYmax@QDeclarativeDrag@@QAEXM@Z @ 2671 NONAME ; void QDeclarativeDrag::setYmax(float)
@@ -2714,7 +2714,7 @@ EXPORTS
?startY@QDeclarativePath@@QBEMXZ @ 2713 NONAME ; float QDeclarativePath::startY(void) const
?state@QDeclarativeDebugQuery@@QBE?AW4State@1@XZ @ 2714 NONAME ; enum QDeclarativeDebugQuery::State QDeclarativeDebugQuery::state(void) const
?state@QDeclarativeDebugWatch@@QBE?AW4State@1@XZ @ 2715 NONAME ; enum QDeclarativeDebugWatch::State QDeclarativeDebugWatch::state(void) const
- ?state@QDeclarativeItem@@QBE?AVQString@@XZ @ 2716 NONAME ; class QString QDeclarativeItem::state(void) const
+ ?state@QDeclarativeItem@@QBE?AVQString@@XZ @ 2716 NONAME ABSENT ; class QString QDeclarativeItem::state(void) const
?state@QDeclarativeStateGroup@@QBE?AVQString@@XZ @ 2717 NONAME ; class QString QDeclarativeStateGroup::state(void) const
?stateChanged@QDeclarativeDebugQuery@@IAEXW4State@1@@Z @ 2718 NONAME ; void QDeclarativeDebugQuery::stateChanged(enum QDeclarativeDebugQuery::State)
?stateChanged@QDeclarativeDebugWatch@@IAEXW4State@1@@Z @ 2719 NONAME ; void QDeclarativeDebugWatch::stateChanged(enum QDeclarativeDebugWatch::State)
@@ -3298,7 +3298,7 @@ EXPORTS
?when@QDeclarativeBind@@QBE_NXZ @ 3297 NONAME ; bool QDeclarativeBind::when(void) const
?when@QDeclarativeState@@QBEPAVQDeclarativeBinding@@XZ @ 3298 NONAME ; class QDeclarativeBinding * QDeclarativeState::when(void) const
?width@QDeclarativeItem@@QBEMXZ @ 3299 NONAME ; float QDeclarativeItem::width(void) const
- ?width@QDeclarativeParentChange@@QBEMXZ @ 3300 NONAME ; float QDeclarativeParentChange::width(void) const
+ ?width@QDeclarativeParentChange@@QBEMXZ @ 3300 NONAME ABSENT ; float QDeclarativeParentChange::width(void) const
?width@QDeclarativePen@@QBEHXZ @ 3301 NONAME ; int QDeclarativePen::width(void) const
?widthChange@QDeclarativeFlickable@@IAEXXZ @ 3302 NONAME ABSENT ; void QDeclarativeFlickable::widthChange(void)
?widthChanged@QDeclarativeItem@@IAEXXZ @ 3303 NONAME ABSENT ; void QDeclarativeItem::widthChanged(void)
@@ -3317,7 +3317,7 @@ EXPORTS
?write@QDeclarativeProperty@@SA_NPAVQObject@@ABVQString@@ABVQVariant@@PAVQDeclarativeContext@@@Z @ 3316 NONAME ; bool QDeclarativeProperty::write(class QObject *, class QString const &, class QVariant const &, class QDeclarativeContext *)
?write@QDeclarativeProperty@@SA_NPAVQObject@@ABVQString@@ABVQVariant@@PAVQDeclarativeEngine@@@Z @ 3317 NONAME ; bool QDeclarativeProperty::write(class QObject *, class QString const &, class QVariant const &, class QDeclarativeEngine *)
?x@QDeclarativeCurve@@QBEMXZ @ 3318 NONAME ; float QDeclarativeCurve::x(void) const
- ?x@QDeclarativeParentChange@@QBEMXZ @ 3319 NONAME ; float QDeclarativeParentChange::x(void) const
+ ?x@QDeclarativeParentChange@@QBEMXZ @ 3319 NONAME ABSENT ; float QDeclarativeParentChange::x(void) const
?xAttractor@QDeclarativeParticleMotionGravity@@QBEMXZ @ 3320 NONAME ABSENT ; float QDeclarativeParticleMotionGravity::xAttractor(void) const
?xIsSet@QDeclarativeParentChange@@QBE_NXZ @ 3321 NONAME ; bool QDeclarativeParentChange::xIsSet(void) const
?xToPos@QDeclarativeTextInput@@QAEHH@Z @ 3322 NONAME ABSENT ; int QDeclarativeTextInput::xToPos(int)
@@ -3329,7 +3329,7 @@ EXPORTS
?xml@QDeclarativeXmlListModel@@QBE?AVQString@@XZ @ 3328 NONAME ; class QString QDeclarativeXmlListModel::xml(void) const
?xvarianceChanged@QDeclarativeParticleMotionWander@@IAEXXZ @ 3329 NONAME ABSENT ; void QDeclarativeParticleMotionWander::xvarianceChanged(void)
?y@QDeclarativeCurve@@QBEMXZ @ 3330 NONAME ; float QDeclarativeCurve::y(void) const
- ?y@QDeclarativeParentChange@@QBEMXZ @ 3331 NONAME ; float QDeclarativeParentChange::y(void) const
+ ?y@QDeclarativeParentChange@@QBEMXZ @ 3331 NONAME ABSENT ; float QDeclarativeParentChange::y(void) const
?yAttractor@QDeclarativeParticleMotionGravity@@QBEMXZ @ 3332 NONAME ABSENT ; float QDeclarativeParticleMotionGravity::yAttractor(void) const
?yIsSet@QDeclarativeParentChange@@QBE_NXZ @ 3333 NONAME ; bool QDeclarativeParentChange::yIsSet(void) const
?yVariance@QDeclarativeParticleMotionWander@@QBEMXZ @ 3334 NONAME ABSENT ; float QDeclarativeParticleMotionWander::yVariance(void) const
@@ -3500,8 +3500,8 @@ EXPORTS
??0QDeclarativeBinding@@QAE@PAXPAVQDeclarativeRefCount@@PAVQObject@@PAVQDeclarativeContextData@@ABVQString@@H2@Z @ 3499 NONAME ; QDeclarativeBinding::QDeclarativeBinding(void *, class QDeclarativeRefCount *, class QObject *, class QDeclarativeContextData *, class QString const &, int, class QObject *)
??0QDeclarativeContext@@AAE@PAVQDeclarativeContextData@@@Z @ 3500 NONAME ; QDeclarativeContext::QDeclarativeContext(class QDeclarativeContextData *)
??0QDeclarativeCustomParser@@QAE@XZ @ 3501 NONAME ; QDeclarativeCustomParser::QDeclarativeCustomParser(void)
- ??0QDeclarativeExpression@@AAE@PAVQDeclarativeContextData@@ABVQString@@PAVQObject@@@Z @ 3502 NONAME ; QDeclarativeExpression::QDeclarativeExpression(class QDeclarativeContextData *, class QString const &, class QObject *)
- ??0QDeclarativeExpression@@IAE@PAVQDeclarativeContextData@@ABVQString@@PAVQObject@@AAVQDeclarativeExpressionPrivate@@@Z @ 3503 NONAME ; QDeclarativeExpression::QDeclarativeExpression(class QDeclarativeContextData *, class QString const &, class QObject *, class QDeclarativeExpressionPrivate &)
+ ??0QDeclarativeExpression@@AAE@PAVQDeclarativeContextData@@ABVQString@@PAVQObject@@@Z @ 3502 NONAME ABSENT ; QDeclarativeExpression::QDeclarativeExpression(class QDeclarativeContextData *, class QString const &, class QObject *)
+ ??0QDeclarativeExpression@@IAE@PAVQDeclarativeContextData@@ABVQString@@PAVQObject@@AAVQDeclarativeExpressionPrivate@@@Z @ 3503 NONAME ABSENT ; QDeclarativeExpression::QDeclarativeExpression(class QDeclarativeContextData *, class QString const &, class QObject *, class QDeclarativeExpressionPrivate &)
??0QDeclarativeExpression@@IAE@PAVQDeclarativeContextData@@PAXPAVQDeclarativeRefCount@@PAVQObject@@ABVQString@@HAAVQDeclarativeExpressionPrivate@@@Z @ 3504 NONAME ; QDeclarativeExpression::QDeclarativeExpression(class QDeclarativeContextData *, void *, class QDeclarativeRefCount *, class QObject *, class QString const &, int, class QDeclarativeExpressionPrivate &)
??0QDeclarativeItemPrivate@@QAE@XZ @ 3505 NONAME ; QDeclarativeItemPrivate::QDeclarativeItemPrivate(void)
??0QDeclarativeListModel@@AAE@_NPAVQObject@@@Z @ 3506 NONAME ; QDeclarativeListModel::QDeclarativeListModel(bool, class QObject *)
@@ -3563,11 +3563,11 @@ EXPORTS
?computeTransformOrigin@QDeclarativeItemPrivate@@QBE?AVQPointF@@XZ @ 3562 NONAME ; class QPointF QDeclarativeItemPrivate::computeTransformOrigin(void) const
?contextObject@QDeclarativeContext@@QBEPAVQObject@@XZ @ 3563 NONAME ; class QObject * QDeclarativeContext::contextObject(void) const
?copyOriginals@QDeclarativeAnchorChanges@@UAEXPAVQDeclarativeActionEvent@@@Z @ 3564 NONAME ; void QDeclarativeAnchorChanges::copyOriginals(class QDeclarativeActionEvent *)
- ?copyOriginals@QDeclarativeParentChange@@UAEXPAVQDeclarativeActionEvent@@@Z @ 3565 NONAME ; void QDeclarativeParentChange::copyOriginals(class QDeclarativeActionEvent *)
+ ?copyOriginals@QDeclarativeParentChange@@UAEXPAVQDeclarativeActionEvent@@@Z @ 3565 NONAME ABSENT ; void QDeclarativeParentChange::copyOriginals(class QDeclarativeActionEvent *)
?countChanged@QDeclarativeListModel@@IAEXXZ @ 3566 NONAME ; void QDeclarativeListModel::countChanged(void)
?countChanged@QDeclarativePathView@@IAEXXZ @ 3567 NONAME ; void QDeclarativePathView::countChanged(void)
?create@QDeclarativeType@@QBEXPAPAVQObject@@PAPAXI@Z @ 3568 NONAME ; void QDeclarativeType::create(class QObject * *, void * *, unsigned int) const
- ?currentTime@QDeclarativeItemPrivate@@SA?AVQTime@@XZ @ 3569 NONAME ; class QTime QDeclarativeItemPrivate::currentTime(void)
+ ?currentTime@QDeclarativeItemPrivate@@SA?AVQTime@@XZ @ 3569 NONAME ABSENT ; class QTime QDeclarativeItemPrivate::currentTime(void)
?d_func@QDeclarativeFocusPanel@@AAEPAVQDeclarativeItemPrivate@@XZ @ 3570 NONAME ; class QDeclarativeItemPrivate * QDeclarativeFocusPanel::d_func(void)
?d_func@QDeclarativeFocusPanel@@ABEPBVQDeclarativeItemPrivate@@XZ @ 3571 NONAME ; class QDeclarativeItemPrivate const * QDeclarativeFocusPanel::d_func(void) const
?d_func@QDeclarativeFocusScope@@AAEPAVQDeclarativeItemPrivate@@XZ @ 3572 NONAME ; class QDeclarativeItemPrivate * QDeclarativeFocusScope::d_func(void)
@@ -3576,7 +3576,7 @@ EXPORTS
?d_func@QDeclarativeSmoothedAnimation@@ABEPBVQDeclarativeSmoothedAnimationPrivate@@XZ @ 3575 NONAME ; class QDeclarativeSmoothedAnimationPrivate const * QDeclarativeSmoothedAnimation::d_func(void) const
?d_func@QDeclarativeTranslate@@AAEPAVQDeclarativeTranslatePrivate@@XZ @ 3576 NONAME ; class QDeclarativeTranslatePrivate * QDeclarativeTranslate::d_func(void)
?d_func@QDeclarativeTranslate@@ABEPBVQDeclarativeTranslatePrivate@@XZ @ 3577 NONAME ; class QDeclarativeTranslatePrivate const * QDeclarativeTranslate::d_func(void) const
- ?data@QDeclarativeItem@@QAE?AV?$QDeclarativeListProperty@VQObject@@@@XZ @ 3578 NONAME ; class QDeclarativeListProperty<class QObject> QDeclarativeItem::data(void)
+ ?data@QDeclarativeItem@@QAE?AV?$QDeclarativeListProperty@VQObject@@@@XZ @ 3578 NONAME ABSENT ; class QDeclarativeListProperty<class QObject> QDeclarativeItem::data(void)
?dataCleared@QDeclarativeXmlListModel@@AAEXXZ @ 3579 NONAME ; void QDeclarativeXmlListModel::dataCleared(void)
?data_append@QDeclarativeItemPrivate@@SAXPAV?$QDeclarativeListProperty@VQObject@@@@PAVQObject@@@Z @ 3580 NONAME ; void QDeclarativeItemPrivate::data_append(class QDeclarativeListProperty<class QObject> *, class QObject *)
?delegateChanged@QDeclarativeGridView@@IAEXXZ @ 3581 NONAME ; void QDeclarativeGridView::delegateChanged(void)
@@ -3588,7 +3588,7 @@ EXPORTS
?doPositioning@QDeclarativeRow@@MAEXPAVQSizeF@@@Z @ 3587 NONAME ; void QDeclarativeRow::doPositioning(class QSizeF *)
?dragMarginChanged@QDeclarativePathView@@IAEXXZ @ 3588 NONAME ; void QDeclarativePathView::dragMarginChanged(void)
?duration@QDeclarativeSmoothedAnimation@@UBEHXZ @ 3589 NONAME ; int QDeclarativeSmoothedAnimation::duration(void) const
- ?elapsed@QDeclarativeItemPrivate@@SAHAAVQTime@@@Z @ 3590 NONAME ; int QDeclarativeItemPrivate::elapsed(class QTime &)
+ ?elapsed@QDeclarativeItemPrivate@@SAHAAVQTime@@@Z @ 3590 NONAME ABSENT ; int QDeclarativeItemPrivate::elapsed(class QTime &)
?evaluateEnum@QDeclarativeCompiler@@QBEHABVQByteArray@@@Z @ 3591 NONAME ; int QDeclarativeCompiler::evaluateEnum(class QByteArray const &) const
?evaluateEnum@QDeclarativeCustomParser@@IBEHABVQByteArray@@@Z @ 3592 NONAME ; int QDeclarativeCustomParser::evaluateEnum(class QByteArray const &) const
?event@QDeclarativeGridView@@MAE_NPAVQEvent@@@Z @ 3593 NONAME ; bool QDeclarativeGridView::event(class QEvent *)
@@ -3707,11 +3707,11 @@ EXPORTS
?request@QDeclarativePixmapCache@@SAPAVQDeclarativePixmapReply@@PAVQDeclarativeEngine@@ABVQUrl@@HH@Z @ 3706 NONAME ; class QDeclarativePixmapReply * QDeclarativePixmapCache::request(class QDeclarativeEngine *, class QUrl const &, int, int)
?resetHeight@QDeclarativeItemPrivate@@UAEXXZ @ 3707 NONAME ; void QDeclarativeItemPrivate::resetHeight(void)
?resetWidth@QDeclarativeItemPrivate@@UAEXXZ @ 3708 NONAME ; void QDeclarativeItemPrivate::resetWidth(void)
- ?resources@QDeclarativeItem@@QAE?AV?$QDeclarativeListProperty@VQObject@@@@XZ @ 3709 NONAME ; class QDeclarativeListProperty<class QObject> QDeclarativeItem::resources(void)
+ ?resources@QDeclarativeItem@@QAE?AV?$QDeclarativeListProperty@VQObject@@@@XZ @ 3709 NONAME ABSENT ; class QDeclarativeListProperty<class QObject> QDeclarativeItem::resources(void)
?resources_append@QDeclarativeItemPrivate@@SAXPAV?$QDeclarativeListProperty@VQObject@@@@PAVQObject@@@Z @ 3710 NONAME ; void QDeclarativeItemPrivate::resources_append(class QDeclarativeListProperty<class QObject> *, class QObject *)
?resources_at@QDeclarativeItemPrivate@@SAPAVQObject@@PAV?$QDeclarativeListProperty@VQObject@@@@H@Z @ 3711 NONAME ; class QObject * QDeclarativeItemPrivate::resources_at(class QDeclarativeListProperty<class QObject> *, int)
?resources_count@QDeclarativeItemPrivate@@SAHPAV?$QDeclarativeListProperty@VQObject@@@@@Z @ 3712 NONAME ; int QDeclarativeItemPrivate::resources_count(class QDeclarativeListProperty<class QObject> *)
- ?restart@QDeclarativeItemPrivate@@SAHAAVQTime@@@Z @ 3713 NONAME ; int QDeclarativeItemPrivate::restart(class QTime &)
+ ?restart@QDeclarativeItemPrivate@@SAHAAVQTime@@@Z @ 3713 NONAME ABSENT ; int QDeclarativeItemPrivate::restart(class QTime &)
?restore@QDeclarativePropertyPrivate@@SA?AVQDeclarativeProperty@@ABVQByteArray@@PAVQObject@@PAVQDeclarativeContextData@@@Z @ 3714 NONAME ; class QDeclarativeProperty QDeclarativePropertyPrivate::restore(class QByteArray const &, class QObject *, class QDeclarativeContextData *)
?reversibleChanged@QDeclarativeTransition@@IAEXXZ @ 3715 NONAME ; void QDeclarativeTransition::reversibleChanged(void)
?reversingMode@QDeclarativeSmoothedAnimation@@QBE?AW4ReversingMode@1@XZ @ 3716 NONAME ; enum QDeclarativeSmoothedAnimation::ReversingMode QDeclarativeSmoothedAnimation::reversingMode(void) const
@@ -3768,11 +3768,11 @@ EXPORTS
?sourceChanged@QDeclarativeXmlListModel@@IAEXXZ @ 3767 NONAME ; void QDeclarativeXmlListModel::sourceChanged(void)
?sourceSize@QDeclarativeImageBase@@QBE?AVQSize@@XZ @ 3768 NONAME ; class QSize QDeclarativeImageBase::sourceSize(void) const
?sourceSizeChanged@QDeclarativeImageBase@@IAEXXZ @ 3769 NONAME ; void QDeclarativeImageBase::sourceSizeChanged(void)
- ?start@QDeclarativeItemPrivate@@SAXAAVQTime@@@Z @ 3770 NONAME ; void QDeclarativeItemPrivate::start(class QTime &)
+ ?start@QDeclarativeItemPrivate@@SAXAAVQTime@@@Z @ 3770 NONAME ABSENT ; void QDeclarativeItemPrivate::start(class QTime &)
?startXChanged@QDeclarativePath@@IAEXXZ @ 3771 NONAME ; void QDeclarativePath::startXChanged(void)
?startYChanged@QDeclarativePath@@IAEXXZ @ 3772 NONAME ; void QDeclarativePath::startYChanged(void)
- ?states@QDeclarativeItem@@QAE?AV?$QDeclarativeListProperty@VQDeclarativeState@@@@XZ @ 3773 NONAME ; class QDeclarativeListProperty<class QDeclarativeState> QDeclarativeItem::states(void)
- ?states@QDeclarativeItemPrivate@@QAEPAVQDeclarativeStateGroup@@XZ @ 3774 NONAME ; class QDeclarativeStateGroup * QDeclarativeItemPrivate::states(void)
+ ?states@QDeclarativeItem@@QAE?AV?$QDeclarativeListProperty@VQDeclarativeState@@@@XZ @ 3773 NONAME ABSENT ; class QDeclarativeListProperty<class QDeclarativeState> QDeclarativeItem::states(void)
+ ?states@QDeclarativeItemPrivate@@QAEPAVQDeclarativeStateGroup@@XZ @ 3774 NONAME ABSENT ; class QDeclarativeStateGroup * QDeclarativeItemPrivate::states(void)
?statesProperty@QDeclarativeStateGroup@@QAE?AV?$QDeclarativeListProperty@VQDeclarativeState@@@@XZ @ 3775 NONAME ; class QDeclarativeListProperty<class QDeclarativeState> QDeclarativeStateGroup::statesProperty(void)
?stops@QDeclarativeGradient@@QAE?AV?$QDeclarativeListProperty@VQDeclarativeGradientStop@@@@XZ @ 3776 NONAME ; class QDeclarativeListProperty<class QDeclarativeGradientStop> QDeclarativeGradient::stops(void)
?subFocusItemChange@QDeclarativeItemPrivate@@UAEXXZ @ 3777 NONAME ; void QDeclarativeItemPrivate::subFocusItemChange(void)
@@ -3799,7 +3799,7 @@ EXPORTS
?transform_clear@QDeclarativeItemPrivate@@SAXPAV?$QDeclarativeListProperty@VQGraphicsTransform@@@@@Z @ 3798 NONAME ; void QDeclarativeItemPrivate::transform_clear(class QDeclarativeListProperty<class QGraphicsTransform> *)
?transform_count@QDeclarativeItemPrivate@@SAHPAV?$QDeclarativeListProperty@VQGraphicsTransform@@@@@Z @ 3799 NONAME ; int QDeclarativeItemPrivate::transform_count(class QDeclarativeListProperty<class QGraphicsTransform> *)
?transition@QDeclarativeSmoothedAnimation@@UAEXAAV?$QList@VQDeclarativeAction@@@@AAV?$QList@VQDeclarativeProperty@@@@W4TransitionDirection@QDeclarativeAbstractAnimation@@@Z @ 3800 NONAME ; void QDeclarativeSmoothedAnimation::transition(class QList<class QDeclarativeAction> &, class QList<class QDeclarativeProperty> &, enum QDeclarativeAbstractAnimation::TransitionDirection)
- ?transitions@QDeclarativeItem@@QAE?AV?$QDeclarativeListProperty@VQDeclarativeTransition@@@@XZ @ 3801 NONAME ; class QDeclarativeListProperty<class QDeclarativeTransition> QDeclarativeItem::transitions(void)
+ ?transitions@QDeclarativeItem@@QAE?AV?$QDeclarativeListProperty@VQDeclarativeTransition@@@@XZ @ 3801 NONAME ABSENT ; class QDeclarativeListProperty<class QDeclarativeTransition> QDeclarativeItem::transitions(void)
?transitionsProperty@QDeclarativeStateGroup@@QAE?AV?$QDeclarativeListProperty@VQDeclarativeTransition@@@@XZ @ 3802 NONAME ; class QDeclarativeListProperty<class QDeclarativeTransition> QDeclarativeStateGroup::transitionsProperty(void)
?triggeredOnStartChanged@QDeclarativeTimer@@IAEXXZ @ 3803 NONAME ; void QDeclarativeTimer::triggeredOnStartChanged(void)
?type@Variant@QDeclarativeParser@@QBE?AW4Type@12@XZ @ 3804 NONAME ; enum QDeclarativeParser::Variant::Type QDeclarativeParser::Variant::type(void) const
@@ -3817,7 +3817,7 @@ EXPORTS
?staticMetaObject@QDeclarativeWorkerScript@@2UQMetaObject@@B @ 3816 NONAME ; struct QMetaObject const QDeclarativeWorkerScript::staticMetaObject
?staticMetaObject@QDeclarativeSmoothedAnimation@@2UQMetaObject@@B @ 3817 NONAME ; struct QMetaObject const QDeclarativeSmoothedAnimation::staticMetaObject
?staticMetaObject@QDeclarativeTranslate@@2UQMetaObject@@B @ 3818 NONAME ; struct QMetaObject const QDeclarativeTranslate::staticMetaObject
- ?consistentTime@QDeclarativeItemPrivate@@2HA @ 3819 NONAME ; int QDeclarativeItemPrivate::consistentTime
+ ?consistentTime@QDeclarativeItemPrivate@@2HA @ 3819 NONAME ABSENT ; int QDeclarativeItemPrivate::consistentTime
??0QDeclarativeAction@@QAE@PAVQObject@@ABVQString@@PAVQDeclarativeContext@@ABVQVariant@@@Z @ 3820 NONAME ; QDeclarativeAction::QDeclarativeAction(class QObject *, class QString const &, class QDeclarativeContext *, class QVariant const &)
??0QDeclarativeSmoothedFollow@@QAE@PAVQObject@@@Z @ 3821 NONAME ; QDeclarativeSmoothedFollow::QDeclarativeSmoothedFollow(class QObject *)
??1QDeclarativeSmoothedFollow@@UAE@XZ @ 3822 NONAME ; QDeclarativeSmoothedFollow::~QDeclarativeSmoothedFollow(void)
@@ -3891,7 +3891,7 @@ EXPORTS
?wrapMode@QDeclarativeTextEdit@@QBE?AW4WrapMode@1@XZ @ 3890 NONAME ; enum QDeclarativeTextEdit::WrapMode QDeclarativeTextEdit::wrapMode(void) const
?wrapModeChanged@QDeclarativeText@@IAEXXZ @ 3891 NONAME ; void QDeclarativeText::wrapModeChanged(void)
?wrapModeChanged@QDeclarativeTextEdit@@IAEXXZ @ 3892 NONAME ; void QDeclarativeTextEdit::wrapModeChanged(void)
- ?xToPosition@QDeclarativeTextInput@@QAEHH@Z @ 3893 NONAME ; int QDeclarativeTextInput::xToPosition(int)
+ ?xToPosition@QDeclarativeTextInput@@QAEHH@Z @ 3893 NONAME ABSENT ; int QDeclarativeTextInput::xToPosition(int)
?staticMetaObject@QDeclarativeSmoothedFollow@@2UQMetaObject@@B @ 3894 NONAME ; struct QMetaObject const QDeclarativeSmoothedFollow::staticMetaObject
?trUtf8@QDeclarativeCompiler@@SA?AVQString@@PBD0H@Z @ 3895 NONAME ; class QString QDeclarativeCompiler::trUtf8(char const *, char const *, int)
?findSignalByName@QDeclarativePropertyPrivate@@SA?AVQMetaMethod@@PBUQMetaObject@@ABVQByteArray@@@Z @ 3896 NONAME ; class QMetaMethod QDeclarativePropertyPrivate::findSignalByName(struct QMetaObject const *, class QByteArray const &)
@@ -3920,7 +3920,7 @@ EXPORTS
?execute@QDeclarativeParentChange@@UAEXW4Reason@QDeclarativeActionEvent@@@Z @ 3919 NONAME ; void QDeclarativeParentChange::execute(enum QDeclarativeActionEvent::Reason)
?resetSourceComponent@QDeclarativeLoader@@QAEXXZ @ 3920 NONAME ; void QDeclarativeLoader::resetSourceComponent(void)
?rootIndex@QDeclarativeVisualDataModel@@QBE?AVQVariant@@XZ @ 3921 NONAME ; class QVariant QDeclarativeVisualDataModel::rootIndex(void) const
- ?createObject@QDeclarativeComponent@@IAE?AVQScriptValue@@XZ @ 3922 NONAME ; class QScriptValue QDeclarativeComponent::createObject(void)
+ ?createObject@QDeclarativeComponent@@IAE?AVQScriptValue@@XZ @ 3922 NONAME ABSENT ; class QScriptValue QDeclarativeComponent::createObject(void)
?execute@QDeclarativeStateChangeScript@@UAEXW4Reason@QDeclarativeActionEvent@@@Z @ 3923 NONAME ; void QDeclarativeStateChangeScript::execute(enum QDeclarativeActionEvent::Reason)
?active@QDeclarativeDrag@@QBE_NXZ @ 3924 NONAME ; bool QDeclarativeDrag::active(void) const
?retransformBack@QDeclarativeFlipable@@AAEXXZ @ 3925 NONAME ; void QDeclarativeFlipable::retransformBack(void)
@@ -3955,4 +3955,137 @@ EXPORTS
?parentModelIndex@QDeclarativeVisualDataModel@@QBE?AVQVariant@@XZ @ 3954 NONAME ; class QVariant QDeclarativeVisualDataModel::parentModelIndex(void) const
?usedAnchors@QDeclarativeAnchors@@QBE?AV?$QFlags@W4Anchor@QDeclarativeAnchors@@@@XZ @ 3955 NONAME ; class QFlags<enum QDeclarativeAnchors::Anchor> QDeclarativeAnchors::usedAnchors(void) const
?eventFilter@QDeclarativeView@@MAE_NPAVQObject@@PAVQEvent@@@Z @ 3956 NONAME ; bool QDeclarativeView::eventFilter(class QObject *, class QEvent *)
+ ??0QDeclarativeInfo@@AAE@PAVQDeclarativeInfoPrivate@@@Z @ 3957 NONAME ; QDeclarativeInfo::QDeclarativeInfo(class QDeclarativeInfoPrivate *)
+ ?_states@QDeclarativeItemPrivate@@QAEPAVQDeclarativeStateGroup@@XZ @ 3958 NONAME ; class QDeclarativeStateGroup * QDeclarativeItemPrivate::_states(void)
+ ?baseline@QDeclarativeItemPrivate@@QBE?AVQDeclarativeAnchorLine@@XZ @ 3959 NONAME ; class QDeclarativeAnchorLine QDeclarativeItemPrivate::baseline(void) const
+ ?bottom@QDeclarativeItemPrivate@@QBE?AVQDeclarativeAnchorLine@@XZ @ 3960 NONAME ; class QDeclarativeAnchorLine QDeclarativeItemPrivate::bottom(void) const
+ ?buildPropertyInNamespace@QDeclarativeCompiler@@AAE_NPAVQDeclarativeImportedNamespace@@PAVProperty@QDeclarativeParser@@PAVObject@4@ABUBindingContext@1@@Z @ 3961 NONAME ; bool QDeclarativeCompiler::buildPropertyInNamespace(class QDeclarativeImportedNamespace *, class QDeclarativeParser::Property *, class QDeclarativeParser::Object *, struct QDeclarativeCompiler::BindingContext const &)
+ ?canceled@QDeclarativeMouseArea@@IAEXXZ @ 3962 NONAME ; void QDeclarativeMouseArea::canceled(void)
+ ?classBegin@QDeclarativeBind@@MAEXXZ @ 3963 NONAME ; void QDeclarativeBind::classBegin(void)
+ ?classBegin@QDeclarativeConnections@@EAEXXZ @ 3964 NONAME ; void QDeclarativeConnections::classBegin(void)
+ ?classBegin@QDeclarativePath@@MAEXXZ @ 3965 NONAME ; void QDeclarativePath::classBegin(void)
+ ?classBegin@QDeclarativeWorkerScript@@MAEXXZ @ 3966 NONAME ; void QDeclarativeWorkerScript::classBegin(void)
+ ?completePending@QDeclarativeVisualDataModel@@UBE_NXZ @ 3967 NONAME ; bool QDeclarativeVisualDataModel::completePending(void) const
+ ?completePending@QDeclarativeVisualItemModel@@UBE_NXZ @ 3968 NONAME ; bool QDeclarativeVisualItemModel::completePending(void) const
+ ?componentFinalized@QDeclarativeBehavior@@AAEXXZ @ 3969 NONAME ; void QDeclarativeBehavior::componentFinalized(void)
+ ?createObject@QDeclarativeComponent@@IAE?AVQScriptValue@@PAVQObject@@@Z @ 3970 NONAME ; class QScriptValue QDeclarativeComponent::createObject(class QObject *)
+ ?data@QDeclarativeItemPrivate@@QAE?AV?$QDeclarativeListProperty@VQObject@@@@XZ @ 3971 NONAME ; class QDeclarativeListProperty<class QObject> QDeclarativeItemPrivate::data(void)
+ ?engine@QDeclarativeWorkerScript@@AAEPAVQDeclarativeWorkerScriptEngine@@XZ @ 3972 NONAME ; class QDeclarativeWorkerScriptEngine * QDeclarativeWorkerScript::engine(void)
+ ?geometryChanged@QDeclarativePaintedItem@@MAEXABVQRectF@@0@Z @ 3973 NONAME ; void QDeclarativePaintedItem::geometryChanged(class QRectF const &, class QRectF const &)
+ ?get@QDeclarativeItemPrivate@@SAPAV1@PAVQDeclarativeItem@@@Z @ 3974 NONAME ; class QDeclarativeItemPrivate * QDeclarativeItemPrivate::get(class QDeclarativeItem *)
+ ?horizontalCenter@QDeclarativeItemPrivate@@QBE?AVQDeclarativeAnchorLine@@XZ @ 3975 NONAME ; class QDeclarativeAnchorLine QDeclarativeItemPrivate::horizontalCenter(void) const
+ ?hoverEnabled@QDeclarativeMouseArea@@QBE_NXZ @ 3976 NONAME ; bool QDeclarativeMouseArea::hoverEnabled(void) const
+ ?hoverEnabledChanged@QDeclarativeMouseArea@@IAEXXZ @ 3977 NONAME ; void QDeclarativeMouseArea::hoverEnabledChanged(void)
+ ?ignoreUnknownSignals@QDeclarativeConnections@@QBE_NXZ @ 3978 NONAME ; bool QDeclarativeConnections::ignoreUnknownSignals(void) const
+ ?itemChange@QDeclarativeMouseArea@@MAE?AVQVariant@@W4GraphicsItemChange@QGraphicsItem@@ABV2@@Z @ 3979 NONAME ; class QVariant QDeclarativeMouseArea::itemChange(enum QGraphicsItem::GraphicsItemChange, class QVariant const &)
+ ?itemChange@QDeclarativePaintedItem@@MAE?AVQVariant@@W4GraphicsItemChange@QGraphicsItem@@ABV2@@Z @ 3980 NONAME ; class QVariant QDeclarativePaintedItem::itemChange(enum QGraphicsItem::GraphicsItemChange, class QVariant const &)
+ ?left@QDeclarativeItemPrivate@@QBE?AVQDeclarativeAnchorLine@@XZ @ 3981 NONAME ; class QDeclarativeAnchorLine QDeclarativeItemPrivate::left(void) const
+ ?reportConflictingAnchors@QDeclarativeColumn@@MAEXXZ @ 3982 NONAME ; void QDeclarativeColumn::reportConflictingAnchors(void)
+ ?reportConflictingAnchors@QDeclarativeFlow@@MAEXXZ @ 3983 NONAME ; void QDeclarativeFlow::reportConflictingAnchors(void)
+ ?reportConflictingAnchors@QDeclarativeGrid@@MAEXXZ @ 3984 NONAME ; void QDeclarativeGrid::reportConflictingAnchors(void)
+ ?reportConflictingAnchors@QDeclarativeRow@@MAEXXZ @ 3985 NONAME ; void QDeclarativeRow::reportConflictingAnchors(void)
+ ?resources@QDeclarativeItemPrivate@@QAE?AV?$QDeclarativeListProperty@VQObject@@@@XZ @ 3986 NONAME ; class QDeclarativeListProperty<class QObject> QDeclarativeItemPrivate::resources(void)
+ ?right@QDeclarativeItemPrivate@@QBE?AVQDeclarativeAnchorLine@@XZ @ 3987 NONAME ; class QDeclarativeAnchorLine QDeclarativeItemPrivate::right(void) const
+ ?setHoverEnabled@QDeclarativeMouseArea@@QAEX_N@Z @ 3988 NONAME ; void QDeclarativeMouseArea::setHoverEnabled(bool)
+ ?setIgnoreUnknownSignals@QDeclarativeConnections@@QAEX_N@Z @ 3989 NONAME ; void QDeclarativeConnections::setIgnoreUnknownSignals(bool)
+ ?setState@QDeclarativeItemPrivate@@QAEXABVQString@@@Z @ 3990 NONAME ; void QDeclarativeItemPrivate::setState(class QString const &)
+ ?state@QDeclarativeItemPrivate@@QBE?AVQString@@XZ @ 3991 NONAME ; class QString QDeclarativeItemPrivate::state(void) const
+ ?states@QDeclarativeItemPrivate@@QAE?AV?$QDeclarativeListProperty@VQDeclarativeState@@@@XZ @ 3992 NONAME ; class QDeclarativeListProperty<class QDeclarativeState> QDeclarativeItemPrivate::states(void)
+ ?top@QDeclarativeItemPrivate@@QBE?AVQDeclarativeAnchorLine@@XZ @ 3993 NONAME ; class QDeclarativeAnchorLine QDeclarativeItemPrivate::top(void) const
+ ?transitions@QDeclarativeItemPrivate@@QAE?AV?$QDeclarativeListProperty@VQDeclarativeTransition@@@@XZ @ 3994 NONAME ; class QDeclarativeListProperty<class QDeclarativeTransition> QDeclarativeItemPrivate::transitions(void)
+ ?verticalCenter@QDeclarativeItemPrivate@@QBE?AVQDeclarativeAnchorLine@@XZ @ 3995 NONAME ; class QDeclarativeAnchorLine QDeclarativeItemPrivate::verticalCenter(void) const
+ ?flickDirection@QDeclarativeFlickable@@QBE?AW4FlickableDirection@1@XZ @ 3996 NONAME ; enum QDeclarativeFlickable::FlickableDirection QDeclarativeFlickable::flickDirection(void) const
+ ?flickingHorizontallyChanged@QDeclarativeFlickable@@IAEXXZ @ 3997 NONAME ; void QDeclarativeFlickable::flickingHorizontallyChanged(void)
+ ?flickableDirection@QDeclarativeFlickable@@QBE?AW4FlickableDirection@1@XZ @ 3998 NONAME ; enum QDeclarativeFlickable::FlickableDirection QDeclarativeFlickable::flickableDirection(void) const
+ ?setFlickableDirection@QDeclarativeFlickable@@QAEXW4FlickableDirection@1@@Z @ 3999 NONAME ; void QDeclarativeFlickable::setFlickableDirection(enum QDeclarativeFlickable::FlickableDirection)
+ ?isMovingVertically@QDeclarativeFlickable@@QBE_NXZ @ 4000 NONAME ; bool QDeclarativeFlickable::isMovingVertically(void) const
+ ?movingHorizontallyChanged@QDeclarativeFlickable@@IAEXXZ @ 4001 NONAME ; void QDeclarativeFlickable::movingHorizontallyChanged(void)
+ ?d_func@QDeclarativeView@@AAEPAVQDeclarativeViewPrivate@@XZ @ 4002 NONAME ; class QDeclarativeViewPrivate * QDeclarativeView::d_func(void)
+ ?d_func@QDeclarativeView@@ABEPBVQDeclarativeViewPrivate@@XZ @ 4003 NONAME ; class QDeclarativeViewPrivate const * QDeclarativeView::d_func(void) const
+ ??0QDeclarativeVisualDataModel@@QAE@PAVQDeclarativeContext@@PAVQObject@@@Z @ 4004 NONAME ; QDeclarativeVisualDataModel::QDeclarativeVisualDataModel(class QDeclarativeContext *, class QObject *)
+ ?movingVerticallyChanged@QDeclarativeFlickable@@IAEXXZ @ 4005 NONAME ; void QDeclarativeFlickable::movingVerticallyChanged(void)
+ ?isFlickingHorizontally@QDeclarativeFlickable@@QBE_NXZ @ 4006 NONAME ; bool QDeclarativeFlickable::isFlickingHorizontally(void) const
+ ??0QDeclarativeVisualItemModel@@QAE@PAVQObject@@@Z @ 4007 NONAME ; QDeclarativeVisualItemModel::QDeclarativeVisualItemModel(class QObject *)
+ ?flickingVerticallyChanged@QDeclarativeFlickable@@IAEXXZ @ 4008 NONAME ; void QDeclarativeFlickable::flickingVerticallyChanged(void)
+ ?isMovingHorizontally@QDeclarativeFlickable@@QBE_NXZ @ 4009 NONAME ; bool QDeclarativeFlickable::isMovingHorizontally(void) const
+ ??0QDeclarativeVisualModel@@QAE@PAVQObject@@@Z @ 4010 NONAME ; QDeclarativeVisualModel::QDeclarativeVisualModel(class QObject *)
+ ?setFlickDirection@QDeclarativeFlickable@@QAEXW4FlickableDirection@1@@Z @ 4011 NONAME ; void QDeclarativeFlickable::setFlickDirection(enum QDeclarativeFlickable::FlickableDirection)
+ ?flickableDirectionChanged@QDeclarativeFlickable@@IAEXXZ @ 4012 NONAME ; void QDeclarativeFlickable::flickableDirectionChanged(void)
+ ?isFlickingVertically@QDeclarativeFlickable@@QBE_NXZ @ 4013 NONAME ; bool QDeclarativeFlickable::isFlickingVertically(void) const
+ ?componentComplete@QDeclarativeLoader@@MAEXXZ @ 4014 NONAME ; void QDeclarativeLoader::componentComplete(void)
+ ?decrementCurrentIndex@QDeclarativePathView@@QAEXXZ @ 4015 NONAME ; void QDeclarativePathView::decrementCurrentIndex(void)
+ ?incrementCurrentIndex@QDeclarativePathView@@QAEXXZ @ 4016 NONAME ; void QDeclarativePathView::incrementCurrentIndex(void)
+ ?inputMethodPreHandler@QDeclarativeItem@@IAEXPAVQInputMethodEvent@@@Z @ 4017 NONAME ; void QDeclarativeItem::inputMethodPreHandler(class QInputMethodEvent *)
+ ?keyPressPreHandler@QDeclarativeItem@@IAEXPAVQKeyEvent@@@Z @ 4018 NONAME ; void QDeclarativeItem::keyPressPreHandler(class QKeyEvent *)
+ ?keyReleasePreHandler@QDeclarativeItem@@IAEXPAVQKeyEvent@@@Z @ 4019 NONAME ; void QDeclarativeItem::keyReleasePreHandler(class QKeyEvent *)
+ ?loaded@QDeclarativeLoader@@IAEXXZ @ 4020 NONAME ; void QDeclarativeLoader::loaded(void)
+ ?needsCopy@QDeclarativeAnchorChanges@@UAE_NXZ @ 4021 NONAME ; bool QDeclarativeAnchorChanges::needsCopy(void)
+ ?closeSoftwareInputPanel@QDeclarativeTextEdit@@QAEXXZ @ 4022 NONAME ; void QDeclarativeTextEdit::closeSoftwareInputPanel(void)
+ ?restart@QDeclarativeItemPrivate@@SA_JAAVQElapsedTimer@@@Z @ 4023 NONAME ; long long QDeclarativeItemPrivate::restart(class QElapsedTimer &)
+ ?get@QDeclarativeXmlListModel@@QBE?AVQScriptValue@@H@Z @ 4024 NONAME ; class QScriptValue QDeclarativeXmlListModel::get(int) const
+ ?setScale@QDeclarativeParentChange@@QAEXVQDeclarativeScriptString@@@Z @ 4025 NONAME ; void QDeclarativeParentChange::setScale(class QDeclarativeScriptString)
+ ?showInputPanelOnFocusChanged@QDeclarativeTextEdit@@IAEX_N@Z @ 4026 NONAME ABSENT ; void QDeclarativeTextEdit::showInputPanelOnFocusChanged(bool)
+ ?focusOutEvent@QDeclarativeTextInput@@MAEXPAVQFocusEvent@@@Z @ 4027 NONAME ; void QDeclarativeTextInput::focusOutEvent(class QFocusEvent *)
+ ?height@QDeclarativeParentChange@@QBE?AVQDeclarativeScriptString@@XZ @ 4028 NONAME ; class QDeclarativeScriptString QDeclarativeParentChange::height(void) const
+ ?showInputPanelOnFocus@QDeclarativeTextEdit@@QBE_NXZ @ 4029 NONAME ABSENT ; bool QDeclarativeTextEdit::showInputPanelOnFocus(void) const
+ ?errorString@QDeclarativeComponent@@QBE?AVQString@@XZ @ 4030 NONAME ; class QString QDeclarativeComponent::errorString(void) const
+ ?elapsed@QDeclarativeItemPrivate@@SA_JAAVQElapsedTimer@@@Z @ 4031 NONAME ; long long QDeclarativeItemPrivate::elapsed(class QElapsedTimer &)
+ ?focusInEvent@QDeclarativeTextInput@@MAEXPAVQFocusEvent@@@Z @ 4032 NONAME ; void QDeclarativeTextInput::focusInEvent(class QFocusEvent *)
+ ?setX@QDeclarativeParentChange@@QAEXVQDeclarativeScriptString@@@Z @ 4033 NONAME ; void QDeclarativeParentChange::setX(class QDeclarativeScriptString)
+ ?rotation@QDeclarativeParentChange@@QBE?AVQDeclarativeScriptString@@XZ @ 4034 NONAME ; class QDeclarativeScriptString QDeclarativeParentChange::rotation(void) const
+ ?paintedHeight@QDeclarativeTextEdit@@QBEMXZ @ 4035 NONAME ; float QDeclarativeTextEdit::paintedHeight(void) const
+ ?paintedWidth@QDeclarativeTextEdit@@QBEMXZ @ 4036 NONAME ; float QDeclarativeTextEdit::paintedWidth(void) const
+ ?focusOutEvent@QDeclarativeTextEdit@@MAEXPAVQFocusEvent@@@Z @ 4037 NONAME ; void QDeclarativeTextEdit::focusOutEvent(class QFocusEvent *)
+ ??0QDeclarativeExpression@@IAE@PAVQDeclarativeContextData@@PAVQObject@@ABVQString@@AAVQDeclarativeExpressionPrivate@@@Z @ 4038 NONAME ; QDeclarativeExpression::QDeclarativeExpression(class QDeclarativeContextData *, class QObject *, class QString const &, class QDeclarativeExpressionPrivate &)
+ ??0QDeclarativeExpression@@QAE@PAVQDeclarativeContext@@PAVQObject@@ABVQString@@1@Z @ 4039 NONAME ; QDeclarativeExpression::QDeclarativeExpression(class QDeclarativeContext *, class QObject *, class QString const &, class QObject *)
+ ?queryError@QDeclarativeXmlListModel@@AAEXPAXABVQString@@@Z @ 4040 NONAME ; void QDeclarativeXmlListModel::queryError(void *, class QString const &)
+ ?errorString@QDeclarativeXmlListModel@@QBE?AVQString@@XZ @ 4041 NONAME ; class QString QDeclarativeXmlListModel::errorString(void) const
+ ?consistentTime@QDeclarativeItemPrivate@@2_JA @ 4042 NONAME ; long long QDeclarativeItemPrivate::consistentTime
+ ?scale@QDeclarativeParentChange@@QBE?AVQDeclarativeScriptString@@XZ @ 4043 NONAME ; class QDeclarativeScriptString QDeclarativeParentChange::scale(void) const
+ ?showInputPanelOnFocus@QDeclarativeTextInput@@QBE_NXZ @ 4044 NONAME ABSENT ; bool QDeclarativeTextInput::showInputPanelOnFocus(void) const
+ ?focusInEvent@QDeclarativeTextEdit@@MAEXPAVQFocusEvent@@@Z @ 4045 NONAME ; void QDeclarativeTextEdit::focusInEvent(class QFocusEvent *)
+ ?y@QDeclarativeParentChange@@QBE?AVQDeclarativeScriptString@@XZ @ 4046 NONAME ; class QDeclarativeScriptString QDeclarativeParentChange::y(void) const
+ ?setY@QDeclarativeParentChange@@QAEXVQDeclarativeScriptString@@@Z @ 4047 NONAME ; void QDeclarativeParentChange::setY(class QDeclarativeScriptString)
+ ?setShowInputPanelOnFocus@QDeclarativeTextEdit@@QAEX_N@Z @ 4048 NONAME ABSENT ; void QDeclarativeTextEdit::setShowInputPanelOnFocus(bool)
+ ?paintedSizeChanged@QDeclarativeText@@IAEXXZ @ 4049 NONAME ; void QDeclarativeText::paintedSizeChanged(void)
+ ?selectByMouseChanged@QDeclarativeTextEdit@@IAEX_N@Z @ 4050 NONAME ; void QDeclarativeTextEdit::selectByMouseChanged(bool)
+ ?openSoftwareInputPanel@QDeclarativeTextInput@@QAEXXZ @ 4051 NONAME ; void QDeclarativeTextInput::openSoftwareInputPanel(void)
+ ?setShowInputPanelOnFocus@QDeclarativeTextInput@@QAEX_N@Z @ 4052 NONAME ABSENT ; void QDeclarativeTextInput::setShowInputPanelOnFocus(bool)
+ ?boundingRect@QDeclarativePaintedItem@@MBE?AVQRectF@@XZ @ 4053 NONAME ; class QRectF QDeclarativePaintedItem::boundingRect(void) const
+ ?closeSoftwareInputPanel@QDeclarativeTextInput@@QAEXXZ @ 4054 NONAME ; void QDeclarativeTextInput::closeSoftwareInputPanel(void)
+ ?setWidth@QDeclarativeParentChange@@QAEXVQDeclarativeScriptString@@@Z @ 4055 NONAME ; void QDeclarativeParentChange::setWidth(class QDeclarativeScriptString)
+ ?selectByMouse@QDeclarativeTextInput@@QBE_NXZ @ 4056 NONAME ; bool QDeclarativeTextInput::selectByMouse(void) const
+ ?setRotation@QDeclarativeParentChange@@QAEXVQDeclarativeScriptString@@@Z @ 4057 NONAME ; void QDeclarativeParentChange::setRotation(class QDeclarativeScriptString)
+ ?paintedWidth@QDeclarativeText@@QBEMXZ @ 4058 NONAME ; float QDeclarativeText::paintedWidth(void) const
+ ?paintedSizeChanged@QDeclarativeTextEdit@@IAEXXZ @ 4059 NONAME ; void QDeclarativeTextEdit::paintedSizeChanged(void)
+ ?setConsistentTime@QDeclarativeItemPrivate@@SAX_J@Z @ 4060 NONAME ; void QDeclarativeItemPrivate::setConsistentTime(long long)
+ ??0QDeclarativeExpression@@AAE@PAVQDeclarativeContextData@@PAVQObject@@ABVQString@@@Z @ 4061 NONAME ; QDeclarativeExpression::QDeclarativeExpression(class QDeclarativeContextData *, class QObject *, class QString const &)
+ ?event@QDeclarativePathView@@MAE_NPAVQEvent@@@Z @ 4062 NONAME ; bool QDeclarativePathView::event(class QEvent *)
+ ?paintedHeight@QDeclarativeText@@QBEMXZ @ 4063 NONAME ; float QDeclarativeText::paintedHeight(void) const
+ ?setSelectByMouse@QDeclarativeTextInput@@QAEX_N@Z @ 4064 NONAME ; void QDeclarativeTextInput::setSelectByMouse(bool)
+ ?setSelectByMouse@QDeclarativeTextEdit@@QAEX_N@Z @ 4065 NONAME ; void QDeclarativeTextEdit::setSelectByMouse(bool)
+ ?selectByMouse@QDeclarativeTextEdit@@QBE_NXZ @ 4066 NONAME ; bool QDeclarativeTextEdit::selectByMouse(void) const
+ ?setHeight@QDeclarativeParentChange@@QAEXVQDeclarativeScriptString@@@Z @ 4067 NONAME ; void QDeclarativeParentChange::setHeight(class QDeclarativeScriptString)
+ ?start@QDeclarativeItemPrivate@@SAXAAVQElapsedTimer@@@Z @ 4068 NONAME ; void QDeclarativeItemPrivate::start(class QElapsedTimer &)
+ ?showInputPanelOnFocusChanged@QDeclarativeTextInput@@IAEX_N@Z @ 4069 NONAME ABSENT ; void QDeclarativeTextInput::showInputPanelOnFocusChanged(bool)
+ ?x@QDeclarativeParentChange@@QBE?AVQDeclarativeScriptString@@XZ @ 4070 NONAME ; class QDeclarativeScriptString QDeclarativeParentChange::x(void) const
+ ?selectByMouseChanged@QDeclarativeTextInput@@IAEX_N@Z @ 4071 NONAME ; void QDeclarativeTextInput::selectByMouseChanged(bool)
+ ?width@QDeclarativeParentChange@@QBE?AVQDeclarativeScriptString@@XZ @ 4072 NONAME ; class QDeclarativeScriptString QDeclarativeParentChange::width(void) const
+ ?openSoftwareInputPanel@QDeclarativeTextEdit@@QAEXXZ @ 4073 NONAME ; void QDeclarativeTextEdit::openSoftwareInputPanel(void)
+ ?cursorRectangleChanged@QDeclarativeTextEdit@@IAEXXZ @ 4074 NONAME ; void QDeclarativeTextEdit::cursorRectangleChanged(void)
+ ?cursorRectangle@QDeclarativeTextEdit@@QBE?AVQRect@@XZ @ 4075 NONAME ; class QRect QDeclarativeTextEdit::cursorRectangle(void) const
+ ?selectWord@QDeclarativeTextInput@@QAEXXZ @ 4076 NONAME ; void QDeclarativeTextInput::selectWord(void)
+ ?positionToRectangle@QDeclarativeTextEdit@@QBE?AVQRectF@@H@Z @ 4077 NONAME ; class QRectF QDeclarativeTextEdit::positionToRectangle(int) const
+ ?cursorRectangle@QDeclarativeTextInput@@QBE?AVQRect@@XZ @ 4078 NONAME ; class QRect QDeclarativeTextInput::cursorRectangle(void) const
+ ?mouseDoubleClickEvent@QDeclarativeTextInput@@MAEXPAVQGraphicsSceneMouseEvent@@@Z @ 4079 NONAME ; void QDeclarativeTextInput::mouseDoubleClickEvent(class QGraphicsSceneMouseEvent *)
+ ?positionAt@QDeclarativeTextEdit@@QBEHHH@Z @ 4080 NONAME ; int QDeclarativeTextEdit::positionAt(int, int) const
+ ?cut@QDeclarativeTextEdit@@QAEXXZ @ 4081 NONAME ; void QDeclarativeTextEdit::cut(void)
+ ?copy@QDeclarativeTextEdit@@QAEXXZ @ 4082 NONAME ; void QDeclarativeTextEdit::copy(void)
+ ?select@QDeclarativeTextEdit@@QAEXHH@Z @ 4083 NONAME ; void QDeclarativeTextEdit::select(int, int)
+ ?moveCursorSelection@QDeclarativeTextEdit@@QAEXH@Z @ 4084 NONAME ; void QDeclarativeTextEdit::moveCursorSelection(int)
+ ?select@QDeclarativeTextInput@@QAEXHH@Z @ 4085 NONAME ; void QDeclarativeTextInput::select(int, int)
+ ?paste@QDeclarativeTextEdit@@QAEXXZ @ 4086 NONAME ; void QDeclarativeTextEdit::paste(void)
+ ?positionToRectangle@QDeclarativeTextInput@@QBE?AVQRectF@@H@Z @ 4087 NONAME ; class QRectF QDeclarativeTextInput::positionToRectangle(int) const
+ ?positionAt@QDeclarativeTextInput@@QBEHH@Z @ 4088 NONAME ; int QDeclarativeTextInput::positionAt(int) const
+ ?selectWord@QDeclarativeTextEdit@@QAEXXZ @ 4089 NONAME ; void QDeclarativeTextEdit::selectWord(void)
diff --git a/src/s60installs/bwins/QtGuiu.def b/src/s60installs/bwins/QtGuiu.def
index c3a3a08f66..9b4ecc2282 100644
--- a/src/s60installs/bwins/QtGuiu.def
+++ b/src/s60installs/bwins/QtGuiu.def
@@ -2125,9 +2125,9 @@ EXPORTS
?addText@QPainterPath@@QAEXMMABVQFont@@ABVQString@@@Z @ 2124 NONAME ; void QPainterPath::addText(float, float, class QFont const &, class QString const &)
?addToGroup@QGraphicsItemGroup@@QAEXPAVQGraphicsItem@@@Z @ 2125 NONAME ; void QGraphicsItemGroup::addToGroup(class QGraphicsItem *)
?addToIndex@QGraphicsItem@@IAEXXZ @ 2126 NONAME ; void QGraphicsItem::addToIndex(void)
- ?addToPolygon@QBezier@@QBEXPAVQPolygonF@@@Z @ 2127 NONAME ; void QBezier::addToPolygon(class QPolygonF *) const
- ?addToPolygonIterative@QBezier@@QBEXPAVQPolygonF@@@Z @ 2128 NONAME ; void QBezier::addToPolygonIterative(class QPolygonF *) const
- ?addToPolygonMixed@QBezier@@QBEXPAVQPolygonF@@@Z @ 2129 NONAME ; void QBezier::addToPolygonMixed(class QPolygonF *) const
+ ?addToPolygon@QBezier@@QBEXPAVQPolygonF@@@Z @ 2127 NONAME ABSENT ; void QBezier::addToPolygon(class QPolygonF *) const
+ ?addToPolygonIterative@QBezier@@QBEXPAVQPolygonF@@@Z @ 2128 NONAME ABSENT ; void QBezier::addToPolygonIterative(class QPolygonF *) const
+ ?addToPolygonMixed@QBezier@@QBEXPAVQPolygonF@@@Z @ 2129 NONAME ABSENT ; void QBezier::addToPolygonMixed(class QPolygonF *) const
?addToolBar@QMainWindow@@QAEPAVQToolBar@@ABVQString@@@Z @ 2130 NONAME ; class QToolBar * QMainWindow::addToolBar(class QString const &)
?addToolBar@QMainWindow@@QAEXPAVQToolBar@@@Z @ 2131 NONAME ; void QMainWindow::addToolBar(class QToolBar *)
?addToolBar@QMainWindow@@QAEXW4ToolBarArea@Qt@@PAVQToolBar@@@Z @ 2132 NONAME ; void QMainWindow::addToolBar(enum Qt::ToolBarArea, class QToolBar *)
@@ -3207,7 +3207,7 @@ EXPORTS
?cursorWordForward@QLineControl@@QAEX_N@Z @ 3206 NONAME ; void QLineControl::cursorWordForward(bool)
?cursorWordForward@QLineEdit@@QAEX_N@Z @ 3207 NONAME ; void QLineEdit::cursorWordForward(bool)
?curveThreshold@QPainterPathStroker@@QBEMXZ @ 3208 NONAME ; float QPainterPathStroker::curveThreshold(void) const
- ?curveThreshold@QStroker@@QBEMXZ @ 3209 NONAME ; float QStroker::curveThreshold(void) const
+ ?curveThreshold@QStroker@@QBEMXZ @ 3209 NONAME ABSENT ; float QStroker::curveThreshold(void) const
?customButtonClicked@QWizard@@IAEXH@Z @ 3210 NONAME ; void QWizard::customButtonClicked(int)
?customColor@QColorDialog@@SAIH@Z @ 3211 NONAME ; unsigned int QColorDialog::customColor(int)
?customContextMenuRequested@QWidget@@IAEXABVQPoint@@@Z @ 3212 NONAME ; void QWidget::customContextMenuRequested(class QPoint const &)
@@ -8769,7 +8769,7 @@ EXPORTS
?setCursorWidth@QTextEdit@@QAEXH@Z @ 8768 NONAME ; void QTextEdit::setCursorWidth(int)
?setCursor_sys@QWidgetPrivate@@QAEXABVQCursor@@@Z @ 8769 NONAME ; void QWidgetPrivate::setCursor_sys(class QCursor const &)
?setCurveThreshold@QPainterPathStroker@@QAEXM@Z @ 8770 NONAME ; void QPainterPathStroker::setCurveThreshold(float)
- ?setCurveThreshold@QStroker@@QAEXM@Z @ 8771 NONAME ; void QStroker::setCurveThreshold(float)
+ ?setCurveThreshold@QStroker@@QAEXM@Z @ 8771 NONAME ABSENT ; void QStroker::setCurveThreshold(float)
?setCustomColor@QColorDialog@@SAXHI@Z @ 8772 NONAME ; void QColorDialog::setCustomColor(int, unsigned int)
?setDashOffset@QDashStroker@@QAEXM@Z @ 8773 NONAME ; void QDashStroker::setDashOffset(float)
?setDashOffset@QPainterPathStroker@@QAEXM@Z @ 8774 NONAME ; void QPainterPathStroker::setDashOffset(float)
@@ -10990,7 +10990,7 @@ EXPORTS
?toPointF@QVector2D@@QBE?AVQPointF@@XZ @ 10989 NONAME ; class QPointF QVector2D::toPointF(void) const
?toPointF@QVector3D@@QBE?AVQPointF@@XZ @ 10990 NONAME ; class QPointF QVector3D::toPointF(void) const
?toPointF@QVector4D@@QBE?AVQPointF@@XZ @ 10991 NONAME ; class QPointF QVector4D::toPointF(void) const
- ?toPolygon@QBezier@@QBE?AVQPolygonF@@XZ @ 10992 NONAME ; class QPolygonF QBezier::toPolygon(void) const
+ ?toPolygon@QBezier@@QBE?AVQPolygonF@@XZ @ 10992 NONAME ABSENT ; class QPolygonF QBezier::toPolygon(void) const
?toPolygon@QPolygonF@@QBE?AVQPolygon@@XZ @ 10993 NONAME ; class QPolygon QPolygonF::toPolygon(void) const
?toPrevious@QDataWidgetMapper@@QAEXXZ @ 10994 NONAME ; void QDataWidgetMapper::toPrevious(void)
?toReversed@QPainterPath@@QBE?AV1@XZ @ 10995 NONAME ; class QPainterPath QPainterPath::toReversed(void) const
@@ -12548,254 +12548,269 @@ EXPORTS
?timerEvent@QS60Style@@MAEXPAVQTimerEvent@@@Z @ 12547 NONAME ; void QS60Style::timerEvent(class QTimerEvent *)
?updateAncestorFlags@QGraphicsItemPrivate@@QAEXXZ @ 12548 NONAME ; void QGraphicsItemPrivate::updateAncestorFlags(void)
?updateChildWithGraphicsEffectFlagRecursively@QGraphicsItemPrivate@@QAEXXZ @ 12549 NONAME ; void QGraphicsItemPrivate::updateChildWithGraphicsEffectFlagRecursively(void)
- ?isOpacityNull@QGraphicsItemPrivate@@SA_NM@Z @ 12550 NONAME ; bool QGraphicsItemPrivate::isOpacityNull(float)
- ?isOpacityNull@QGraphicsItemPrivate@@QBE_NXZ @ 12551 NONAME ; bool QGraphicsItemPrivate::isOpacityNull(void) const
- ?api@QEglContext@@QBE?AW4API@QEgl@@XZ @ 12552 NONAME ABSENT ; enum QEgl::API QEglContext::api(void) const
+ ?api@QEglContext@@QBE?AW4API@QEgl@@XZ @ 12550 NONAME ; enum QEgl::API QEglContext::api(void) const
+ ?display@QEglContext@@SAHXZ @ 12551 NONAME ABSENT ; int QEglContext::display(void)
+ ?isOpacityNull@QGraphicsItemPrivate@@SA_NM@Z @ 12552 NONAME ; bool QGraphicsItemPrivate::isOpacityNull(float)
?chooseConfig@QEglContext@@QAE_NABVQEglProperties@@W4PixelFormatMatch@QEgl@@@Z @ 12553 NONAME ; bool QEglContext::chooseConfig(class QEglProperties const &, enum QEgl::PixelFormatMatch)
?destroySurface@QEglContext@@QAEXH@Z @ 12554 NONAME ; void QEglContext::destroySurface(int)
?lazyDoneCurrent@QEglContext@@QAE_NXZ @ 12555 NONAME ; bool QEglContext::lazyDoneCurrent(void)
?waitNative@QEglContext@@QAEXXZ @ 12556 NONAME ABSENT ; void QEglContext::waitNative(void)
- ?context@QEglContext@@QBEHXZ @ 12557 NONAME ABSENT ; int QEglContext::context(void) const
+ ?context@QEglContext@@QBEHXZ @ 12557 NONAME ; int QEglContext::context(void) const
?configAttrib@QEglContext@@QBE_NHPAH@Z @ 12558 NONAME ABSENT ; bool QEglContext::configAttrib(int, int *) const
??0QEglProperties@@QAE@ABV0@@Z @ 12559 NONAME ; QEglProperties::QEglProperties(class QEglProperties const &)
- ?config@QEglContext@@QBEHXZ @ 12560 NONAME ABSENT ; int QEglContext::config(void) const
- ?openDisplay@QEglContext@@QAE_NPAVQPaintDevice@@@Z @ 12561 NONAME ABSENT ; bool QEglContext::openDisplay(class QPaintDevice *)
+ ?config@QEglContext@@QBEHXZ @ 12560 NONAME ; int QEglContext::config(void) const
+ ?clearFocusHelper@QGraphicsItemPrivate@@QAEX_N@Z @ 12561 NONAME ; void QGraphicsItemPrivate::clearFocusHelper(bool)
?error@QEglContext@@SAHXZ @ 12562 NONAME ABSENT ; int QEglContext::error(void)
?swapBuffers@QEglContext@@QAE_NH@Z @ 12563 NONAME ; bool QEglContext::swapBuffers(int)
- ?setApi@QEglContext@@QAEXW4API@QEgl@@@Z @ 12564 NONAME ; void QEglContext::setApi(enum QEgl::API)
- ?makeCurrent@QEglContext@@QAE_NH@Z @ 12565 NONAME ; bool QEglContext::makeCurrent(int)
- ?createSurface@QEglContext@@QAEHPAVQPaintDevice@@PBVQEglProperties@@@Z @ 12566 NONAME ; int QEglContext::createSurface(class QPaintDevice *, class QEglProperties const *)
- ?dumpAllConfigs@QEglContext@@QAEXXZ @ 12567 NONAME ABSENT ; void QEglContext::dumpAllConfigs(void)
- ?reduceConfiguration@QEglProperties@@QAE_NXZ @ 12568 NONAME ; bool QEglProperties::reduceConfiguration(void)
- ?removeValue@QEglProperties@@QAE_NH@Z @ 12569 NONAME ; bool QEglProperties::removeValue(int)
- ?toString@QEglProperties@@QBE?AVQString@@XZ @ 12570 NONAME ; class QString QEglProperties::toString(void) const
- ?dumpAllConfigs@QEglProperties@@SAXXZ @ 12571 NONAME ABSENT ; void QEglProperties::dumpAllConfigs(void)
- ?defaultDisplay@QEglContext@@SAHPAVQPaintDevice@@@Z @ 12572 NONAME ABSENT ; int QEglContext::defaultDisplay(class QPaintDevice *)
- ?configProperties@QEglContext@@QBE?AVQEglProperties@@H@Z @ 12573 NONAME ABSENT ; class QEglProperties QEglContext::configProperties(int) const
- ?properties@QEglProperties@@QBEPBHXZ @ 12574 NONAME ; int const * QEglProperties::properties(void) const
- ??0QEglContext@@QAE@XZ @ 12575 NONAME ; QEglContext::QEglContext(void)
- ??1QEglContext@@QAE@XZ @ 12576 NONAME ; QEglContext::~QEglContext(void)
- ?isValid@QEglContext@@QBE_NXZ @ 12577 NONAME ; bool QEglContext::isValid(void) const
- ?value@QEglProperties@@QBEHH@Z @ 12578 NONAME ; int QEglProperties::value(int) const
- ?clearError@QEglContext@@SAXXZ @ 12579 NONAME ABSENT ; void QEglContext::clearError(void)
- ??0QEglProperties@@QAE@H@Z @ 12580 NONAME ; QEglProperties::QEglProperties(int)
- ?setValue@QEglProperties@@QAEXHH@Z @ 12581 NONAME ; void QEglProperties::setValue(int, int)
- ?setPaintDeviceFormat@QEglProperties@@QAEXPAVQPaintDevice@@@Z @ 12582 NONAME ; void QEglProperties::setPaintDeviceFormat(class QPaintDevice *)
- ?destroy@QEglContext@@QAEXXZ @ 12583 NONAME ABSENT ; void QEglContext::destroy(void)
- ?setRenderableType@QEglProperties@@QAEXW4API@QEgl@@@Z @ 12584 NONAME ; void QEglProperties::setRenderableType(enum QEgl::API)
- ?setContext@QEglContext@@QAEXH@Z @ 12585 NONAME ; void QEglContext::setContext(int)
- ?waitClient@QEglContext@@QAEXXZ @ 12586 NONAME ABSENT ; void QEglContext::waitClient(void)
- ?isEmpty@QEglProperties@@QBE_NXZ @ 12587 NONAME ; bool QEglProperties::isEmpty(void) const
- ?getDisplay@QEglContext@@CAHPAVQPaintDevice@@@Z @ 12588 NONAME ABSENT ; int QEglContext::getDisplay(class QPaintDevice *)
- ?isSharing@QEglContext@@QBE_NXZ @ 12589 NONAME ; bool QEglContext::isSharing(void) const
- ?isCurrent@QEglContext@@QBE_NXZ @ 12590 NONAME ; bool QEglContext::isCurrent(void) const
- ??0QEglProperties@@QAE@XZ @ 12591 NONAME ; QEglProperties::QEglProperties(void)
- ?extensions@QEglContext@@SA?AVQString@@XZ @ 12592 NONAME ABSENT ; class QString QEglContext::extensions(void)
- ?setCurrentContext@QEglContext@@CAXW4API@QEgl@@PAV1@@Z @ 12593 NONAME ; void QEglContext::setCurrentContext(enum QEgl::API, class QEglContext *)
- ??1QEglProperties@@QAE@XZ @ 12594 NONAME ; QEglProperties::~QEglProperties(void)
- ?createContext@QEglContext@@QAE_NPAV1@PBVQEglProperties@@@Z @ 12595 NONAME ; bool QEglContext::createContext(class QEglContext *, class QEglProperties const *)
- ?setConfig@QEglContext@@QAEXH@Z @ 12596 NONAME ; void QEglContext::setConfig(int)
- ?hasExtension@QEglContext@@SA_NPBD@Z @ 12597 NONAME ABSENT ; bool QEglContext::hasExtension(char const *)
- ?doneCurrent@QEglContext@@QAE_NXZ @ 12598 NONAME ; bool QEglContext::doneCurrent(void)
- ?display@QEglContext@@QBEHXZ @ 12599 NONAME ABSENT ; int QEglContext::display(void) const
- ?setPixelFormat@QEglProperties@@QAEXW4Format@QImage@@@Z @ 12600 NONAME ; void QEglProperties::setPixelFormat(enum QImage::Format)
- ?currentContext@QEglContext@@CAPAV1@W4API@QEgl@@@Z @ 12601 NONAME ; class QEglContext * QEglContext::currentContext(enum QEgl::API)
- ?errorString@QEglContext@@SA?AVQString@@H@Z @ 12602 NONAME ABSENT ; class QString QEglContext::errorString(int)
- ?removeAllApplicationFonts@QFontDatabase@@SA_NXZ @ 12603 NONAME ; bool QFontDatabase::removeAllApplicationFonts()
- ??0FileInfo@QZipReader@@QAE@XZ @ 12604 NONAME ; QZipReader::FileInfo::FileInfo(void)
- ??0QAbstractScrollAreaPrivate@@QAE@XZ @ 12605 NONAME ; QAbstractScrollAreaPrivate::QAbstractScrollAreaPrivate(void)
- ??0QGraphicsViewPrivate@@QAE@XZ @ 12606 NONAME ; QGraphicsViewPrivate::QGraphicsViewPrivate(void)
- ??0QKeySequence@@QAE@ABVQString@@W4SequenceFormat@0@@Z @ 12607 NONAME ; QKeySequence::QKeySequence(class QString const &, enum QKeySequence::SequenceFormat)
- ??0QStaticText@@QAE@ABV0@@Z @ 12608 NONAME ; QStaticText::QStaticText(class QStaticText const &)
- ??0QStaticText@@QAE@ABVQString@@ABVQSizeF@@@Z @ 12609 NONAME ABSENT ; QStaticText::QStaticText(class QString const &, class QSizeF const &)
- ??0QStaticText@@QAE@XZ @ 12610 NONAME ; QStaticText::QStaticText(void)
- ??0QStaticTextItem@@QAE@XZ @ 12611 NONAME ; QStaticTextItem::QStaticTextItem(void)
- ??0QZipReader@@QAE@ABVQString@@V?$QFlags@W4OpenModeFlag@QIODevice@@@@@Z @ 12612 NONAME ; QZipReader::QZipReader(class QString const &, class QFlags<enum QIODevice::OpenModeFlag>)
- ??0QZipReader@@QAE@PAVQIODevice@@@Z @ 12613 NONAME ; QZipReader::QZipReader(class QIODevice *)
- ??1FileInfo@QZipReader@@QAE@XZ @ 12614 NONAME ; QZipReader::FileInfo::~FileInfo(void)
- ??1QAbstractScrollAreaPrivate@@UAE@XZ @ 12615 NONAME ; QAbstractScrollAreaPrivate::~QAbstractScrollAreaPrivate(void)
- ??1QGraphicsViewPrivate@@UAE@XZ @ 12616 NONAME ; QGraphicsViewPrivate::~QGraphicsViewPrivate(void)
- ??1QStaticText@@QAE@XZ @ 12617 NONAME ; QStaticText::~QStaticText(void)
- ??1QStaticTextItem@@QAE@XZ @ 12618 NONAME ; QStaticTextItem::~QStaticTextItem(void)
- ??1QZipReader@@QAE@XZ @ 12619 NONAME ; QZipReader::~QZipReader(void)
- ??4FileInfo@QZipReader@@QAEAAU01@ABU01@@Z @ 12620 NONAME ; struct QZipReader::FileInfo & QZipReader::FileInfo::operator=(struct QZipReader::FileInfo const &)
- ??4QStaticText@@QAEAAV0@ABV0@@Z @ 12621 NONAME ; class QStaticText & QStaticText::operator=(class QStaticText const &)
- ??8QStaticText@@QBE_NABV0@@Z @ 12622 NONAME ; bool QStaticText::operator==(class QStaticText const &) const
- ??9QStaticText@@QBE_NABV0@@Z @ 12623 NONAME ; bool QStaticText::operator!=(class QStaticText const &) const
- ??_EQAbstractScrollAreaPrivate@@UAE@I@Z @ 12624 NONAME ; QAbstractScrollAreaPrivate::~QAbstractScrollAreaPrivate(unsigned int)
- ??_EQGraphicsViewPrivate@@UAE@I@Z @ 12625 NONAME ; QGraphicsViewPrivate::~QGraphicsViewPrivate(unsigned int)
- ?_q_hslide@QAbstractScrollAreaPrivate@@QAEXH@Z @ 12626 NONAME ; void QAbstractScrollAreaPrivate::_q_hslide(int)
+ ?canKeypadNavigate@QWidgetPrivate@@SA_NW4Orientation@Qt@@@Z @ 12564 NONAME ; bool QWidgetPrivate::canKeypadNavigate(enum Qt::Orientation)
+ ?removeAllApplicationFonts@QFontDatabase@@SA_NXZ @ 12565 NONAME ; bool QFontDatabase::removeAllApplicationFonts(void)
+ ?setApi@QEglContext@@QAEXW4API@QEgl@@@Z @ 12566 NONAME ; void QEglContext::setApi(enum QEgl::API)
+ ?updateDisplayText@QLineControl@@AAEX_N@Z @ 12567 NONAME ; void QLineControl::updateDisplayText(bool)
+ ?makeCurrent@QEglContext@@QAE_NH@Z @ 12568 NONAME ; bool QEglContext::makeCurrent(int)
+ ?isPixmapCached@QImagePixmapCleanupHooks@@SA_NABVQPixmap@@@Z @ 12569 NONAME ; bool QImagePixmapCleanupHooks::isPixmapCached(class QPixmap const &)
+ ?createSurface@QEglContext@@QAEHPAVQPaintDevice@@PBVQEglProperties@@@Z @ 12570 NONAME ; int QEglContext::createSurface(class QPaintDevice *, class QEglProperties const *)
+ ?dumpAllConfigs@QEglContext@@QAEXXZ @ 12571 NONAME ABSENT ; void QEglContext::dumpAllConfigs(void)
+ ?reduceConfiguration@QEglProperties@@QAE_NXZ @ 12572 NONAME ; bool QEglProperties::reduceConfiguration(void)
+ ?nativeDisplay@QEglContext@@CAHXZ @ 12573 NONAME ABSENT ; int QEglContext::nativeDisplay(void)
+ ?getGlyphBearings@QFontEngine@@UAEXIPAM0@Z @ 12574 NONAME ; void QFontEngine::getGlyphBearings(unsigned int, float *, float *)
+ ?removeValue@QEglProperties@@QAE_NH@Z @ 12575 NONAME ; bool QEglProperties::removeValue(int)
+ ?toString@QEglProperties@@QBE?AVQString@@XZ @ 12576 NONAME ; class QString QEglProperties::toString(void) const
+ ?isOpacityNull@QGraphicsItemPrivate@@QBE_NXZ @ 12577 NONAME ; bool QGraphicsItemPrivate::isOpacityNull(void) const
+ ?dumpAllConfigs@QEglProperties@@SAXXZ @ 12578 NONAME ABSENT ; void QEglProperties::dumpAllConfigs(void)
+ ?inTabWidget@QWidgetPrivate@@SA_NPAVQWidget@@@Z @ 12579 NONAME ; bool QWidgetPrivate::inTabWidget(class QWidget *)
+ ?configProperties@QEglContext@@QBE?AVQEglProperties@@H@Z @ 12580 NONAME ABSENT ; class QEglProperties QEglContext::configProperties(int) const
+ ?properties@QEglProperties@@QBEPBHXZ @ 12581 NONAME ; int const * QEglProperties::properties(void) const
+ ?destroyContext@QEglContext@@QAEXXZ @ 12582 NONAME ; void QEglContext::destroyContext(void)
+ ??0QEglContext@@QAE@XZ @ 12583 NONAME ; QEglContext::QEglContext(void)
+ ??1QEglContext@@QAE@XZ @ 12584 NONAME ; QEglContext::~QEglContext(void)
+ ?isValid@QEglContext@@QBE_NXZ @ 12585 NONAME ; bool QEglContext::isValid(void) const
+ ?value@QEglProperties@@QBEHH@Z @ 12586 NONAME ; int QEglProperties::value(int) const
+ ?clearError@QEglContext@@SAXXZ @ 12587 NONAME ABSENT ; void QEglContext::clearError(void)
+ ??0QEglProperties@@QAE@H@Z @ 12588 NONAME ; QEglProperties::QEglProperties(int)
+ ?setValue@QEglProperties@@QAEXHH@Z @ 12589 NONAME ; void QEglProperties::setValue(int, int)
+ ?setPaintDeviceFormat@QEglProperties@@QAEXPAVQPaintDevice@@@Z @ 12590 NONAME ; void QEglProperties::setPaintDeviceFormat(class QPaintDevice *)
+ ?isImageCached@QImagePixmapCleanupHooks@@SA_NABVQImage@@@Z @ 12591 NONAME ; bool QImagePixmapCleanupHooks::isImageCached(class QImage const &)
+ ?setRenderableType@QEglProperties@@QAEXW4API@QEgl@@@Z @ 12592 NONAME ; void QEglProperties::setRenderableType(enum QEgl::API)
+ ?setContext@QEglContext@@QAEXH@Z @ 12593 NONAME ; void QEglContext::setContext(int)
+ ?waitClient@QEglContext@@QAEXXZ @ 12594 NONAME ABSENT ; void QEglContext::waitClient(void)
+ ?isEmpty@QEglProperties@@QBE_NXZ @ 12595 NONAME ; bool QEglProperties::isEmpty(void) const
+ ?dpy@QEglContext@@0HA @ 12596 NONAME ABSENT ; int QEglContext::dpy
+ ?isSharing@QEglContext@@QBE_NXZ @ 12597 NONAME ; bool QEglContext::isSharing(void) const
+ ?isCurrent@QEglContext@@QBE_NXZ @ 12598 NONAME ; bool QEglContext::isCurrent(void) const
+ ??0QEglProperties@@QAE@XZ @ 12599 NONAME ; QEglProperties::QEglProperties(void)
+ ?extensions@QEglContext@@SA?AVQString@@XZ @ 12600 NONAME ABSENT ; class QString QEglContext::extensions(void)
+ ?setCurrentContext@QEglContext@@CAXW4API@QEgl@@PAV1@@Z @ 12601 NONAME ; void QEglContext::setCurrentContext(enum QEgl::API, class QEglContext *)
+ ??1QEglProperties@@QAE@XZ @ 12602 NONAME ; QEglProperties::~QEglProperties(void)
+ ?createContext@QEglContext@@QAE_NPAV1@PBVQEglProperties@@@Z @ 12603 NONAME ; bool QEglContext::createContext(class QEglContext *, class QEglProperties const *)
+ ?setConfig@QEglContext@@QAEXH@Z @ 12604 NONAME ; void QEglContext::setConfig(int)
+ ?hasExtension@QEglContext@@SA_NPBD@Z @ 12605 NONAME ABSENT ; bool QEglContext::hasExtension(char const *)
+ ?doneCurrent@QEglContext@@QAE_NXZ @ 12606 NONAME ; bool QEglContext::doneCurrent(void)
+ ?setPixelFormat@QEglProperties@@QAEXW4Format@QImage@@@Z @ 12607 NONAME ; void QEglProperties::setPixelFormat(enum QImage::Format)
+ ?currentContext@QEglContext@@CAPAV1@W4API@QEgl@@@Z @ 12608 NONAME ; class QEglContext * QEglContext::currentContext(enum QEgl::API)
+ ?setFocusHelper@QGraphicsItemPrivate@@QAEXW4FocusReason@Qt@@_N1@Z @ 12609 NONAME ; void QGraphicsItemPrivate::setFocusHelper(enum Qt::FocusReason, bool, bool)
+ ?errorString@QEglContext@@SA?AVQString@@H@Z @ 12610 NONAME ABSENT ; class QString QEglContext::errorString(int)
+ ?positionInBlock@QTextCursor@@QBEHXZ @ 12611 NONAME ; int QTextCursor::positionInBlock(void) const
+ ?height@QGraphicsItemPrivate@@UBEMXZ @ 12612 NONAME ; float QGraphicsItemPrivate::height(void) const
+ ?clearUndoRedoStacks@QTextDocument@@QAEXW4Stacks@1@@Z @ 12613 NONAME ; void QTextDocument::clearUndoRedoStacks(enum QTextDocument::Stacks)
+ ?mapToViewRect@QGraphicsViewPrivate@@QBE?AVQRect@@PBVQGraphicsItem@@ABVQRectF@@@Z @ 12614 NONAME ; class QRect QGraphicsViewPrivate::mapToViewRect(class QGraphicsItem const *, class QRectF const &) const
+ ?findItems@QGraphicsViewPrivate@@QBE?AV?$QList@PAVQGraphicsItem@@@@ABVQRegion@@PA_NABVQTransform@@@Z @ 12615 NONAME ; class QList<class QGraphicsItem *> QGraphicsViewPrivate::findItems(class QRegion const &, bool *, class QTransform const &) const
+ ?constScanLine@QImage@@QBEPBEH@Z @ 12616 NONAME ; unsigned char const * QImage::constScanLine(int) const
+ ?text@QStaticText@@QBE?AVQString@@XZ @ 12617 NONAME ; class QString QStaticText::text(void) const
+ ?updateLastCenterPoint@QGraphicsViewPrivate@@QAEXXZ @ 12618 NONAME ; void QGraphicsViewPrivate::updateLastCenterPoint(void)
+ ?sideWidget@QWizard@@QBEPAVQWidget@@XZ @ 12619 NONAME ; class QWidget * QWizard::sideWidget(void) const
+ ?verticalScroll@QGraphicsViewPrivate@@QBE_JXZ @ 12620 NONAME ; long long QGraphicsViewPrivate::verticalScroll(void) const
+ ?fileInfoList@QZipReader@@QBE?AV?$QList@UFileInfo@QZipReader@@@@XZ @ 12621 NONAME ; class QList<struct QZipReader::FileInfo> QZipReader::fileInfoList(void) const
+ ?setSideWidget@QWizard@@QAEXPAVQWidget@@@Z @ 12622 NONAME ; void QWizard::setSideWidget(class QWidget *)
+ ?paste@QLineControl@@QAEXW4Mode@QClipboard@@@Z @ 12623 NONAME ; void QLineControl::paste(enum QClipboard::Mode)
+ ?performanceHint@QStaticText@@QBE?AW4PerformanceHint@1@XZ @ 12624 NONAME ; enum QStaticText::PerformanceHint QStaticText::performanceHint(void) const
+ ?frameStartIndex@QPaintBuffer@@QBEHH@Z @ 12625 NONAME ; int QPaintBuffer::frameStartIndex(int) const
+ ??0QAbstractScrollAreaPrivate@@QAE@XZ @ 12626 NONAME ; QAbstractScrollAreaPrivate::QAbstractScrollAreaPrivate(void)
?_q_setViewportCursor@QGraphicsViewPrivate@@QAEXABVQCursor@@@Z @ 12627 NONAME ; void QGraphicsViewPrivate::_q_setViewportCursor(class QCursor const &)
- ?_q_showOrHideScrollBars@QAbstractScrollAreaPrivate@@QAEXXZ @ 12628 NONAME ; void QAbstractScrollAreaPrivate::_q_showOrHideScrollBars(void)
- ?_q_unsetViewportCursor@QGraphicsViewPrivate@@QAEXXZ @ 12629 NONAME ; void QGraphicsViewPrivate::_q_unsetViewportCursor(void)
- ?_q_vslide@QAbstractScrollAreaPrivate@@QAEXH@Z @ 12630 NONAME ; void QAbstractScrollAreaPrivate::_q_vslide(int)
- ?allocStyleOptionsArray@QGraphicsViewPrivate@@QAEPAVQStyleOptionGraphicsItem@@H@Z @ 12631 NONAME ; class QStyleOptionGraphicsItem * QGraphicsViewPrivate::allocStyleOptionsArray(int)
- ?anchorAt@QPlainTextEdit@@QBE?AVQString@@ABVQPoint@@@Z @ 12632 NONAME ; class QString QPlainTextEdit::anchorAt(class QPoint const &) const
- ?assign@QKeySequence@@AAEHABVQString@@W4SequenceFormat@1@@Z @ 12633 NONAME ; int QKeySequence::assign(class QString const &, enum QKeySequence::SequenceFormat)
- ?autoFillBackground@QGraphicsWidget@@QBE_NXZ @ 12634 NONAME ; bool QGraphicsWidget::autoFillBackground(void) const
- ?canKeypadNavigate@QWidgetPrivate@@SA_NW4Orientation@Qt@@@Z @ 12635 NONAME ; bool QWidgetPrivate::canKeypadNavigate(enum Qt::Orientation)
- ?centerView@QGraphicsViewPrivate@@QAEXW4ViewportAnchor@QGraphicsView@@@Z @ 12636 NONAME ; void QGraphicsViewPrivate::centerView(enum QGraphicsView::ViewportAnchor)
- ?clearUndoRedoStacks@QTextDocument@@QAEXW4Stacks@1@@Z @ 12637 NONAME ; void QTextDocument::clearUndoRedoStacks(enum QTextDocument::Stacks)
- ?close@QZipReader@@QAEXXZ @ 12638 NONAME ; void QZipReader::close(void)
- ?constBits@QImage@@QBEPBEXZ @ 12639 NONAME ; unsigned char const * QImage::constBits(void) const
- ?constScanLine@QImage@@QBEPBEH@Z @ 12640 NONAME ; unsigned char const * QImage::constScanLine(int) const
- ?contentsOffset@QAbstractScrollAreaPrivate@@UBE?AVQPoint@@XZ @ 12641 NONAME ; class QPoint QAbstractScrollAreaPrivate::contentsOffset(void) const
- ?convertFromImage@QPixmap@@QAE_NABVQImage@@V?$QFlags@W4ImageConversionFlag@Qt@@@@@Z @ 12642 NONAME ; bool QPixmap::convertFromImage(class QImage const &, class QFlags<enum Qt::ImageConversionFlag>)
- ?count@QZipReader@@QBEHXZ @ 12643 NONAME ; int QZipReader::count(void) const
- ?create@Fragment@QPainter@@SA?AV12@ABVQPointF@@ABVQRectF@@MMMM@Z @ 12644 NONAME ABSENT ; class QPainter::Fragment QPainter::Fragment::create(class QPointF const &, class QRectF const &, float, float, float, float)
- ?detach@QStaticText@@AAEXXZ @ 12645 NONAME ; void QStaticText::detach(void)
- ?directoryLoaded@QFileSystemModel@@IAEXABVQString@@@Z @ 12646 NONAME ; void QFileSystemModel::directoryLoaded(class QString const &)
- ?dispatchPendingUpdateRequests@QGraphicsViewPrivate@@QAEXXZ @ 12647 NONAME ; void QGraphicsViewPrivate::dispatchPendingUpdateRequests(void)
- ?drawPixmapFragments@QPaintEngineEx@@UAEXPBVFragment@QPainter@@HABVQPixmap@@V?$QFlags@W4FragmentHint@QPainter@@@@@Z @ 12648 NONAME ABSENT ; void QPaintEngineEx::drawPixmapFragments(class QPainter::Fragment const *, int, class QPixmap const &, class QFlags<enum QPainter::FragmentHint>)
- ?drawPixmapFragments@QPainter@@QAEXPBVFragment@1@HABVQPixmap@@V?$QFlags@W4FragmentHint@QPainter@@@@@Z @ 12649 NONAME ABSENT ; void QPainter::drawPixmapFragments(class QPainter::Fragment const *, int, class QPixmap const &, class QFlags<enum QPainter::FragmentHint>)
- ?drawStaticText@QPainter@@QAEXABVQPoint@@ABVQStaticText@@@Z @ 12650 NONAME ; void QPainter::drawStaticText(class QPoint const &, class QStaticText const &)
- ?drawStaticText@QPainter@@QAEXABVQPointF@@ABVQStaticText@@@Z @ 12651 NONAME ; void QPainter::drawStaticText(class QPointF const &, class QStaticText const &)
- ?drawStaticText@QPainter@@QAEXHHABVQStaticText@@@Z @ 12652 NONAME ; void QPainter::drawStaticText(int, int, class QStaticText const &)
- ?entryInfoAt@QZipReader@@QBE?AUFileInfo@1@H@Z @ 12653 NONAME ; struct QZipReader::FileInfo QZipReader::entryInfoAt(int) const
- ?exists@QZipReader@@QBE_NXZ @ 12654 NONAME ; bool QZipReader::exists(void) const
- ?extractAll@QZipReader@@QBE_NABVQString@@@Z @ 12655 NONAME ; bool QZipReader::extractAll(class QString const &) const
- ?fileData@QZipReader@@QBE?AVQByteArray@@ABVQString@@@Z @ 12656 NONAME ; class QByteArray QZipReader::fileData(class QString const &) const
- ?fileInfoList@QZipReader@@QBE?AV?$QList@UFileInfo@QZipReader@@@@XZ @ 12657 NONAME ; class QList<struct QZipReader::FileInfo> QZipReader::fileInfoList(void) const
- ?findItems@QGraphicsViewPrivate@@QBE?AV?$QList@PAVQGraphicsItem@@@@ABVQRegion@@PA_NABVQTransform@@@Z @ 12658 NONAME ; class QList<class QGraphicsItem *> QGraphicsViewPrivate::findItems(class QRegion const &, bool *, class QTransform const &) const
- ?fixup@QIntValidator@@UBEXAAVQString@@@Z @ 12659 NONAME ; void QIntValidator::fixup(class QString &) const
- ?freeStyleOptionsArray@QGraphicsViewPrivate@@QAEXPAVQStyleOptionGraphicsItem@@@Z @ 12660 NONAME ; void QGraphicsViewPrivate::freeStyleOptionsArray(class QStyleOptionGraphicsItem *)
- ?getPixmapCursor@QApplicationPrivate@@QAE?AVQPixmap@@W4CursorShape@Qt@@@Z @ 12661 NONAME ; class QPixmap QApplicationPrivate::getPixmapCursor(enum Qt::CursorShape)
- ?getSubRange@QBezier@@QBE?AV1@MM@Z @ 12662 NONAME ; class QBezier QBezier::getSubRange(float, float) const
- ?hasSelectedText@QLabel@@QBE_NXZ @ 12663 NONAME ; bool QLabel::hasSelectedText(void) const
- ?horizontalScroll@QGraphicsViewPrivate@@QBE_JXZ @ 12664 NONAME ; long long QGraphicsViewPrivate::horizontalScroll(void) const
- ?inTabWidget@QWidgetPrivate@@SA_NPAVQWidget@@@Z @ 12665 NONAME ; bool QWidgetPrivate::inTabWidget(class QWidget *)
- ?init@QAbstractScrollAreaPrivate@@QAEXXZ @ 12666 NONAME ; void QAbstractScrollAreaPrivate::init(void)
- ?isImageCached@QImagePixmapCleanupHooks@@SA_NABVQImage@@@Z @ 12667 NONAME ; bool QImagePixmapCleanupHooks::isImageCached(class QImage const &)
- ?isPixmapCached@QImagePixmapCleanupHooks@@SA_NABVQPixmap@@@Z @ 12668 NONAME ; bool QImagePixmapCleanupHooks::isPixmapCached(class QPixmap const &)
- ?isReadable@QZipReader@@QBE_NXZ @ 12669 NONAME ; bool QZipReader::isReadable(void) const
- ?isValidColor@QColor@@SA_NABVQString@@@Z @ 12670 NONAME ; bool QColor::isValidColor(class QString const &)
- ?layoutChildren@QAbstractScrollAreaPrivate@@QAEXXZ @ 12671 NONAME ; void QAbstractScrollAreaPrivate::layoutChildren(void)
- ?mapBy@QBezier@@QBE?AV1@ABVQTransform@@@Z @ 12672 NONAME ; class QBezier QBezier::mapBy(class QTransform const &) const
- ?mapRectFromScene@QGraphicsViewPrivate@@QBE?AVQRectF@@ABV2@@Z @ 12673 NONAME ; class QRectF QGraphicsViewPrivate::mapRectFromScene(class QRectF const &) const
- ?mapRectToScene@QGraphicsViewPrivate@@QBE?AVQRectF@@ABVQRect@@@Z @ 12674 NONAME ; class QRectF QGraphicsViewPrivate::mapRectToScene(class QRect const &) const
- ?mapToScene@QGraphicsViewPrivate@@QBE?AVQPointF@@ABV2@@Z @ 12675 NONAME ; class QPointF QGraphicsViewPrivate::mapToScene(class QPointF const &) const
- ?mapToScene@QGraphicsViewPrivate@@QBE?AVQRectF@@ABV2@@Z @ 12676 NONAME ; class QRectF QGraphicsViewPrivate::mapToScene(class QRectF const &) const
- ?mapToViewRect@QGraphicsViewPrivate@@QBE?AVQRect@@PBVQGraphicsItem@@ABVQRectF@@@Z @ 12677 NONAME ; class QRect QGraphicsViewPrivate::mapToViewRect(class QGraphicsItem const *, class QRectF const &) const
- ?mapToViewRegion@QGraphicsViewPrivate@@QBE?AVQRegion@@PBVQGraphicsItem@@ABVQRectF@@@Z @ 12678 NONAME ; class QRegion QGraphicsViewPrivate::mapToViewRegion(class QGraphicsItem const *, class QRectF const &) const
- ?maximumSize@QStaticText@@QBE?AVQSizeF@@XZ @ 12679 NONAME ABSENT ; class QSizeF QStaticText::maximumSize(void) const
- ?mouseMoveEventHandler@QGraphicsViewPrivate@@QAEXPAVQMouseEvent@@@Z @ 12680 NONAME ; void QGraphicsViewPrivate::mouseMoveEventHandler(class QMouseEvent *)
- ?performanceHint@QStaticText@@QBE?AW4PerformanceHint@1@XZ @ 12681 NONAME ; enum QStaticText::PerformanceHint QStaticText::performanceHint(void) const
- ?populate@QTextureGlyphCache@@QAEXPAVQFontEngine@@HPBIPBUQFixedPoint@@@Z @ 12682 NONAME ; void QTextureGlyphCache::populate(class QFontEngine *, int, unsigned int const *, struct QFixedPoint const *)
- ?populateSceneDragDropEvent@QGraphicsViewPrivate@@QAEXPAVQGraphicsSceneDragDropEvent@@PAVQDropEvent@@@Z @ 12683 NONAME ; void QGraphicsViewPrivate::populateSceneDragDropEvent(class QGraphicsSceneDragDropEvent *, class QDropEvent *)
- ?positionInBlock@QTextCursor@@QBEHXZ @ 12684 NONAME ; int QTextCursor::positionInBlock(void) const
- ?prepare@QStaticText@@QAEXABVQTransform@@ABVQFont@@@Z @ 12685 NONAME ; void QStaticText::prepare(class QTransform const &, class QFont const &)
- ?processPendingUpdates@QGraphicsViewPrivate@@QAEXXZ @ 12686 NONAME ; void QGraphicsViewPrivate::processPendingUpdates(void)
- ?q_func@QAbstractScrollAreaPrivate@@AAEPAVQAbstractScrollArea@@XZ @ 12687 NONAME ; class QAbstractScrollArea * QAbstractScrollAreaPrivate::q_func(void)
- ?q_func@QAbstractScrollAreaPrivate@@ABEPBVQAbstractScrollArea@@XZ @ 12688 NONAME ; class QAbstractScrollArea const * QAbstractScrollAreaPrivate::q_func(void) const
- ?q_func@QGraphicsViewPrivate@@AAEPAVQGraphicsView@@XZ @ 12689 NONAME ; class QGraphicsView * QGraphicsViewPrivate::q_func(void)
- ?q_func@QGraphicsViewPrivate@@ABEPBVQGraphicsView@@XZ @ 12690 NONAME ; class QGraphicsView const * QGraphicsViewPrivate::q_func(void) const
- ?qt_draw_glyphs@@YAXPAVQPainter@@PBIPBVQPointF@@H@Z @ 12691 NONAME ; void qt_draw_glyphs(class QPainter *, unsigned int const *, class QPointF const *, int)
- ?recalculateContentSize@QGraphicsViewPrivate@@QAEXXZ @ 12692 NONAME ; void QGraphicsViewPrivate::recalculateContentSize(void)
- ?render@QWidgetPrivate@@QAEXPAVQPaintDevice@@ABVQPoint@@ABVQRegion@@V?$QFlags@W4RenderFlag@QWidget@@@@_N@Z @ 12693 NONAME ; void QWidgetPrivate::render(class QPaintDevice *, class QPoint const &, class QRegion const &, class QFlags<enum QWidget::RenderFlag>, bool)
- ?replaceScrollBar@QAbstractScrollAreaPrivate@@QAEXPAVQScrollBar@@W4Orientation@Qt@@@Z @ 12694 NONAME ; void QAbstractScrollAreaPrivate::replaceScrollBar(class QScrollBar *, enum Qt::Orientation)
- ?replayLastMouseEvent@QGraphicsViewPrivate@@QAEXXZ @ 12695 NONAME ; void QGraphicsViewPrivate::replayLastMouseEvent(void)
- ?rubberBandRegion@QGraphicsViewPrivate@@QBE?AVQRegion@@PBVQWidget@@ABVQRect@@@Z @ 12696 NONAME ; class QRegion QGraphicsViewPrivate::rubberBandRegion(class QWidget const *, class QRect const &) const
- ?scrollBarPolicyChanged@QAbstractScrollAreaPrivate@@UAEXW4Orientation@Qt@@W4ScrollBarPolicy@3@@Z @ 12697 NONAME ; void QAbstractScrollAreaPrivate::scrollBarPolicyChanged(enum Qt::Orientation, enum Qt::ScrollBarPolicy)
- ?selectedText@QLabel@@QBE?AVQString@@XZ @ 12698 NONAME ; class QString QLabel::selectedText(void) const
- ?selectionStart@QLabel@@QBEHXZ @ 12699 NONAME ; int QLabel::selectionStart(void) const
- ?setAutoFillBackground@QGraphicsWidget@@QAEX_N@Z @ 12700 NONAME ; void QGraphicsWidget::setAutoFillBackground(bool)
- ?setColorFromString@QColor@@AAE_NABVQString@@@Z @ 12701 NONAME ; bool QColor::setColorFromString(class QString const &)
- ?setMaximumSize@QStaticText@@QAEXABVQSizeF@@@Z @ 12702 NONAME ABSENT ; void QStaticText::setMaximumSize(class QSizeF const &)
- ?setPerformanceHint@QStaticText@@QAEXW4PerformanceHint@1@@Z @ 12703 NONAME ; void QStaticText::setPerformanceHint(enum QStaticText::PerformanceHint)
- ?setSelection@QLabel@@QAEXHH@Z @ 12704 NONAME ; void QLabel::setSelection(int, int)
- ?setText@QStaticText@@QAEXABVQString@@@Z @ 12705 NONAME ; void QStaticText::setText(class QString const &)
- ?setTextFormat@QStaticText@@QAEXW4TextFormat@Qt@@@Z @ 12706 NONAME ; void QStaticText::setTextFormat(enum Qt::TextFormat)
- ?setUserData@QStaticTextItem@@QAEXPAVQStaticTextUserData@@@Z @ 12707 NONAME ; void QStaticTextItem::setUserData(class QStaticTextUserData *)
- ?size@QStaticText@@QBE?AVQSizeF@@XZ @ 12708 NONAME ; class QSizeF QStaticText::size(void) const
- ?status@QZipReader@@QBE?AW4Status@1@XZ @ 12709 NONAME ; enum QZipReader::Status QZipReader::status(void) const
- ?storeDragDropEvent@QGraphicsViewPrivate@@QAEXPBVQGraphicsSceneDragDropEvent@@@Z @ 12710 NONAME ; void QGraphicsViewPrivate::storeDragDropEvent(class QGraphicsSceneDragDropEvent const *)
- ?storeMouseEvent@QGraphicsViewPrivate@@QAEXPAVQMouseEvent@@@Z @ 12711 NONAME ; void QGraphicsViewPrivate::storeMouseEvent(class QMouseEvent *)
- ?text@QStaticText@@QBE?AVQString@@XZ @ 12712 NONAME ; class QString QStaticText::text(void) const
- ?textFormat@QStaticText@@QBE?AW4TextFormat@Qt@@XZ @ 12713 NONAME ; enum Qt::TextFormat QStaticText::textFormat(void) const
- ?translateTouchEvent@QGraphicsViewPrivate@@SAXPAV1@PAVQTouchEvent@@@Z @ 12714 NONAME ; void QGraphicsViewPrivate::translateTouchEvent(class QGraphicsViewPrivate *, class QTouchEvent *)
- ?updateAll@QGraphicsViewPrivate@@QAEXXZ @ 12715 NONAME ; void QGraphicsViewPrivate::updateAll(void)
- ?updateInputMethodSensitivity@QGraphicsViewPrivate@@QAEXXZ @ 12716 NONAME ; void QGraphicsViewPrivate::updateInputMethodSensitivity(void)
- ?updateLastCenterPoint@QGraphicsViewPrivate@@QAEXXZ @ 12717 NONAME ; void QGraphicsViewPrivate::updateLastCenterPoint(void)
- ?updateRect@QGraphicsViewPrivate@@QAE_NABVQRect@@@Z @ 12718 NONAME ; bool QGraphicsViewPrivate::updateRect(class QRect const &)
- ?updateRegion@QGraphicsViewPrivate@@QAE_NABVQRegion@@@Z @ 12719 NONAME ; bool QGraphicsViewPrivate::updateRegion(class QRegion const &)
- ?updateScroll@QGraphicsViewPrivate@@QAEXXZ @ 12720 NONAME ; void QGraphicsViewPrivate::updateScroll(void)
- ?verticalScroll@QGraphicsViewPrivate@@QBE_JXZ @ 12721 NONAME ; long long QGraphicsViewPrivate::verticalScroll(void) const
- ?viewportEvent@QAbstractScrollAreaPrivate@@QAE_NPAVQEvent@@@Z @ 12722 NONAME ; bool QAbstractScrollAreaPrivate::viewportEvent(class QEvent *)
- ?visibilityChanged@QToolBar@@IAEX_N@Z @ 12723 NONAME ; void QToolBar::visibilityChanged(bool)
- ??0FileInfo@QZipReader@@QAE@ABU01@@Z @ 12724 NONAME ; QZipReader::FileInfo::FileInfo(struct QZipReader::FileInfo const &)
- ??0QStaticText@@QAE@ABVQString@@@Z @ 12725 NONAME ; QStaticText::QStaticText(class QString const &)
- ?append@QGraphicsItemPrivate@@SAXPAV?$QDeclarativeListProperty@VQGraphicsObject@@@@PAVQGraphicsObject@@@Z @ 12726 NONAME ABSENT ; void QGraphicsItemPrivate::append(class QDeclarativeListProperty<class QGraphicsObject> *, class QGraphicsObject *)
- ?bitPlaneCount@QImage@@QBEHXZ @ 12727 NONAME ; int QImage::bitPlaneCount(void) const
- ?childrenChanged@QGraphicsObject@@IAEXXZ @ 12728 NONAME ; void QGraphicsObject::childrenChanged(void)
- ?childrenList@QGraphicsItemPrivate@@QAE?AV?$QDeclarativeListProperty@VQGraphicsObject@@@@XZ @ 12729 NONAME ; class QDeclarativeListProperty<class QGraphicsObject> QGraphicsItemPrivate::childrenList(void)
- ?clearFocusHelper@QGraphicsItemPrivate@@QAEX_N@Z @ 12730 NONAME ; void QGraphicsItemPrivate::clearFocusHelper(bool)
- ?commandDescription@QPaintBuffer@@QBE?AVQString@@H@Z @ 12731 NONAME ; class QString QPaintBuffer::commandDescription(int) const
- ?create@PixmapFragment@QPainter@@SA?AV12@ABVQPointF@@ABVQRectF@@MMMM@Z @ 12732 NONAME ; class QPainter::PixmapFragment QPainter::PixmapFragment::create(class QPointF const &, class QRectF const &, float, float, float, float)
- ?device@QZipReader@@QBEPAVQIODevice@@XZ @ 12733 NONAME ; class QIODevice * QZipReader::device(void) const
- ?drawPixmapFragments@QPaintEngineEx@@UAEXPBVPixmapFragment@QPainter@@HABVQPixmap@@V?$QFlags@W4PixmapFragmentHint@QPainter@@@@@Z @ 12734 NONAME ; void QPaintEngineEx::drawPixmapFragments(class QPainter::PixmapFragment const *, int, class QPixmap const &, class QFlags<enum QPainter::PixmapFragmentHint>)
- ?drawPixmapFragments@QPainter@@QAEXPBVPixmapFragment@1@HABVQPixmap@@V?$QFlags@W4PixmapFragmentHint@QPainter@@@@@Z @ 12735 NONAME ; void QPainter::drawPixmapFragments(class QPainter::PixmapFragment const *, int, class QPixmap const &, class QFlags<enum QPainter::PixmapFragmentHint>)
- ?frameEndIndex@QPaintBuffer@@QBEHH@Z @ 12736 NONAME ; int QPaintBuffer::frameEndIndex(int) const
- ?frameStartIndex@QPaintBuffer@@QBEHH@Z @ 12737 NONAME ; int QPaintBuffer::frameStartIndex(int) const
- ?geometryChanged@QGraphicsWidget@@IAEXXZ @ 12738 NONAME ; void QGraphicsWidget::geometryChanged(void)
- ?getGlyphBearings@QFontEngine@@UAEXIPAM0@Z @ 12739 NONAME ; void QFontEngine::getGlyphBearings(unsigned int, float *, float *)
- ?height@QGraphicsItemPrivate@@UBEMXZ @ 12740 NONAME ; float QGraphicsItemPrivate::height(void) const
- ?heightChanged@QGraphicsObject@@IAEXXZ @ 12741 NONAME ; void QGraphicsObject::heightChanged(void)
- ?horizontalAdvance@QTextLine@@QBEMXZ @ 12742 NONAME ; float QTextLine::horizontalAdvance(void) const
- ?isValid@FileInfo@QZipReader@@QBE_NXZ @ 12743 NONAME ; bool QZipReader::FileInfo::isValid(void) const
- ?layoutChanged@QGraphicsWidget@@IAEXXZ @ 12744 NONAME ; void QGraphicsWidget::layoutChanged(void)
- ?pageAdded@QWizard@@IAEXH@Z @ 12745 NONAME ; void QWizard::pageAdded(int)
- ?pageRemoved@QWizard@@IAEXH@Z @ 12746 NONAME ; void QWizard::pageRemoved(int)
- ?paste@QLineControl@@QAEXW4Mode@QClipboard@@@Z @ 12747 NONAME ; void QLineControl::paste(enum QClipboard::Mode)
- ?paste@QTextControl@@QAEXW4Mode@QClipboard@@@Z @ 12748 NONAME ; void QTextControl::paste(enum QClipboard::Mode)
- ?placeholderText@QLineEdit@@QBE?AVQString@@XZ @ 12749 NONAME ; class QString QLineEdit::placeholderText(void) const
- ?prependGraphicsTransform@QGraphicsItemPrivate@@QAEXPAVQGraphicsTransform@@@Z @ 12750 NONAME ; void QGraphicsItemPrivate::prependGraphicsTransform(class QGraphicsTransform *)
- ?processCommands@QPaintBuffer@@QBEHPAVQPainter@@HH@Z @ 12751 NONAME ; int QPaintBuffer::processCommands(class QPainter *, int, int) const
- ?processCommands@QPainterReplayer@@QAEXABVQPaintBuffer@@PAVQPainter@@HH@Z @ 12752 NONAME ; void QPainterReplayer::processCommands(class QPaintBuffer const &, class QPainter *, int, int)
- ?resetHeight@QGraphicsItemPrivate@@UAEXXZ @ 12753 NONAME ; void QGraphicsItemPrivate::resetHeight(void)
- ?resetWidth@QGraphicsItemPrivate@@UAEXXZ @ 12754 NONAME ; void QGraphicsItemPrivate::resetWidth(void)
- ?resizeEvent@QSplitterHandle@@MAEXPAVQResizeEvent@@@Z @ 12755 NONAME ; void QSplitterHandle::resizeEvent(class QResizeEvent *)
- ?setFocusHelper@QGraphicsItemPrivate@@QAEXW4FocusReason@Qt@@_N1@Z @ 12756 NONAME ; void QGraphicsItemPrivate::setFocusHelper(enum Qt::FocusReason, bool, bool)
- ?setHeight@QGraphicsItemPrivate@@UAEXM@Z @ 12757 NONAME ; void QGraphicsItemPrivate::setHeight(float)
- ?setPlaceholderText@QLineEdit@@QAEXABVQString@@@Z @ 12758 NONAME ; void QLineEdit::setPlaceholderText(class QString const &)
- ?setSideWidget@QWizard@@QAEXPAVQWidget@@@Z @ 12759 NONAME ; void QWizard::setSideWidget(class QWidget *)
- ?setTextWidth@QStaticText@@QAEXM@Z @ 12760 NONAME ; void QStaticText::setTextWidth(float)
- ?setWidth@QGraphicsItemPrivate@@UAEXM@Z @ 12761 NONAME ; void QGraphicsItemPrivate::setWidth(float)
- ?sideWidget@QWizard@@QBEPAVQWidget@@XZ @ 12762 NONAME ; class QWidget * QWizard::sideWidget(void) const
- ?textWidth@QStaticText@@QBEMXZ @ 12763 NONAME ; float QStaticText::textWidth(void) const
- ?updateDisplayText@QLineControl@@AAEX_N@Z @ 12764 NONAME ; void QLineControl::updateDisplayText(bool)
- ?updateMicroFocus@QGraphicsItem@@IAEXXZ @ 12765 NONAME ; void QGraphicsItem::updateMicroFocus(void)
- ?updateMicroFocus@QGraphicsObject@@IAEXXZ @ 12766 NONAME ; void QGraphicsObject::updateMicroFocus(void)
- ?width@QGraphicsItemPrivate@@UBEMXZ @ 12767 NONAME ; float QGraphicsItemPrivate::width(void) const
- ?widthChanged@QGraphicsObject@@IAEXXZ @ 12768 NONAME ; void QGraphicsObject::widthChanged(void)
- ?children_append@QGraphicsItemPrivate@@SAXPAV?$QDeclarativeListProperty@VQGraphicsObject@@@@PAVQGraphicsObject@@@Z @ 12769 NONAME ; void QGraphicsItemPrivate::children_append(class QDeclarativeListProperty<class QGraphicsObject> *, class QGraphicsObject *)
- ?children_at@QGraphicsItemPrivate@@SAPAVQGraphicsObject@@PAV?$QDeclarativeListProperty@VQGraphicsObject@@@@H@Z @ 12770 NONAME ; class QGraphicsObject * QGraphicsItemPrivate::children_at(class QDeclarativeListProperty<class QGraphicsObject> *, int)
- ?children_count@QGraphicsItemPrivate@@SAHPAV?$QDeclarativeListProperty@VQGraphicsObject@@@@@Z @ 12771 NONAME ; int QGraphicsItemPrivate::children_count(class QDeclarativeListProperty<class QGraphicsObject> *)
- ?display@QEglContext@@QAEHXZ @ 12772 NONAME ; int QEglContext::display(void)
- ?defaultConfig@QEgl@@YAHHW4API@1@V?$QFlags@W4ConfigOption@QEgl@@@@@Z @ 12773 NONAME ; int QEgl::defaultConfig(int, enum QEgl::API, class QFlags<enum QEgl::ConfigOption>)
- ?configAttrib@QEglContext@@QBEHH@Z @ 12774 NONAME ; int QEglContext::configAttrib(int) const
- ?error@QEgl@@YAHXZ @ 12775 NONAME ABSENT ; int QEgl::error(void)
- ?errorString@QEgl@@YA?AVQString@@XZ @ 12776 NONAME ABSENT ; class QString QEgl::errorString(void)
- ?configProperties@QEglContext@@QBE?AVQEglProperties@@XZ @ 12777 NONAME ABSENT ; class QEglProperties QEglContext::configProperties(void) const
- ?extensions@QEgl@@YA?AVQString@@XZ @ 12778 NONAME ; class QString QEgl::extensions(void)
- ?nativePixmap@QEgl@@YAPAXPAVQPixmap@@@Z @ 12779 NONAME ; void * QEgl::nativePixmap(class QPixmap *)
- ?display@QEgl@@YAHXZ @ 12780 NONAME ; int QEgl::display(void)
- ?eglCreateImageKHR@QEgl@@YAHHHHHPBH@Z @ 12781 NONAME ; int QEgl::eglCreateImageKHR(int, int, int, int, int const *)
- ?hasExtension@QEgl@@YA_NPBD@Z @ 12782 NONAME ; bool QEgl::hasExtension(char const *)
- ?destroyContext@QEglContext@@QAEXXZ @ 12783 NONAME ; void QEglContext::destroyContext(void)
- ?nativeWindow@QEgl@@YAPAXPAVQWidget@@@Z @ 12784 NONAME ; void * QEgl::nativeWindow(class QWidget *)
- ?errorString@QEgl@@YA?AVQString@@H@Z @ 12785 NONAME ; class QString QEgl::errorString(int)
- ?chooseConfig@QEgl@@YAHPBVQEglProperties@@W4PixelFormatMatch@1@@Z @ 12786 NONAME ; int QEgl::chooseConfig(class QEglProperties const *, enum QEgl::PixelFormatMatch)
- ?eglDestroyImageKHR@QEgl@@YAHHH@Z @ 12787 NONAME ; int QEgl::eglDestroyImageKHR(int, int)
- ?isEmpty@QItemSelectionRange@@QBE_NXZ @ 12788 NONAME ; bool QItemSelectionRange::isEmpty(void) const
- ?clearError@QEgl@@YAXXZ @ 12789 NONAME ABSENT ; void QEgl::clearError(void)
- ?nativeDisplay@QEgl@@YAHXZ @ 12790 NONAME ; int QEgl::nativeDisplay(void)
- ?dumpAllConfigs@QEgl@@YAXXZ @ 12791 NONAME ; void QEgl::dumpAllConfigs(void)
- ?setDeviceType@QEglProperties@@QAEXH@Z @ 12792 NONAME ; void QEglProperties::setDeviceType(int)
- ?glyphPadding@QTextureGlyphCache@@UBEHXZ @ 12793 NONAME ; int QTextureGlyphCache::glyphPadding(void) const
- ?createSurface@QEgl@@YAHPAVQPaintDevice@@HPBVQEglProperties@@@Z @ 12794 NONAME ; int QEgl::createSurface(class QPaintDevice *, int, class QEglProperties const *)
- ?setPartialUpdateSupport@QWindowSurface@@IAEX_N@Z @ 12795 NONAME ; void QWindowSurface::setPartialUpdateSupport(bool)
- ?transformChanged@QGraphicsItemPrivate@@UAEXXZ @ 12796 NONAME ; void QGraphicsItemPrivate::transformChanged(void)
- ?hasPartialUpdateSupport@QWindowSurface@@QBE_NXZ @ 12797 NONAME ; bool QWindowSurface::hasPartialUpdateSupport(void) const
- ?name@QIcon@@QBE?AVQString@@XZ @ 12798 NONAME ; class QString QIcon::name(void) const
- ?iconName@QIconEngineV2@@QAE?AVQString@@XZ @ 12799 NONAME ; class QString QIconEngineV2::iconName(void)
+ ?display@QEglContext@@QAEHXZ @ 12628 NONAME ; int QEglContext::display(void)
+ ?setPartialUpdateSupport@QWindowSurface@@IAEX_N@Z @ 12629 NONAME ; void QWindowSurface::setPartialUpdateSupport(bool)
+ ?transformChanged@QGraphicsItemPrivate@@UAEXXZ @ 12630 NONAME ; void QGraphicsItemPrivate::transformChanged(void)
+ ?setUserData@QStaticTextItem@@QAEXPAVQStaticTextUserData@@@Z @ 12631 NONAME ; void QStaticTextItem::setUserData(class QStaticTextUserData *)
+ ?isValid@FileInfo@QZipReader@@QBE_NXZ @ 12632 NONAME ; bool QZipReader::FileInfo::isValid(void) const
+ ?hasSelectedText@QLabel@@QBE_NXZ @ 12633 NONAME ; bool QLabel::hasSelectedText(void) const
+ ?size@QStaticText@@QBE?AVQSizeF@@XZ @ 12634 NONAME ; class QSizeF QStaticText::size(void) const
+ ?processCommands@QPainterReplayer@@QAEXABVQPaintBuffer@@PAVQPainter@@HH@Z @ 12635 NONAME ; void QPainterReplayer::processCommands(class QPaintBuffer const &, class QPainter *, int, int)
+ ?defaultConfig@QEgl@@YAHHW4API@1@V?$QFlags@W4ConfigOption@QEgl@@@@@Z @ 12636 NONAME ; int QEgl::defaultConfig(int, enum QEgl::API, class QFlags<enum QEgl::ConfigOption>)
+ ??0QZipReader@@QAE@PAVQIODevice@@@Z @ 12637 NONAME ; QZipReader::QZipReader(class QIODevice *)
+ ?configAttrib@QEglContext@@QBEHH@Z @ 12638 NONAME ; int QEglContext::configAttrib(int) const
+ ?setAutoFillBackground@QGraphicsWidget@@QAEX_N@Z @ 12639 NONAME ; void QGraphicsWidget::setAutoFillBackground(bool)
+ ??4QStaticText@@QAEAAV0@ABV0@@Z @ 12640 NONAME ; class QStaticText & QStaticText::operator=(class QStaticText const &)
+ ?updateRegion@QGraphicsViewPrivate@@QAE_NABVQRectF@@ABVQTransform@@@Z @ 12641 NONAME ; bool QGraphicsViewPrivate::updateRegion(class QRectF const &, class QTransform const &)
+ ??9QStaticText@@QBE_NABV0@@Z @ 12642 NONAME ; bool QStaticText::operator!=(class QStaticText const &) const
+ ??_EQGraphicsViewPrivate@@UAE@I@Z @ 12643 NONAME ; QGraphicsViewPrivate::~QGraphicsViewPrivate(unsigned int)
+ ?status@QZipReader@@QBE?AW4Status@1@XZ @ 12644 NONAME ; enum QZipReader::Status QZipReader::status(void) const
+ ?autoFillBackground@QGraphicsWidget@@QBE_NXZ @ 12645 NONAME ; bool QGraphicsWidget::autoFillBackground(void) const
+ ?createTextureData@QImageTextureGlyphCache@@UAEXHH@Z @ 12646 NONAME ; void QImageTextureGlyphCache::createTextureData(int, int)
+ ?image@QImageTextureGlyphCache@@QBEABVQImage@@XZ @ 12647 NONAME ; class QImage const & QImageTextureGlyphCache::image(void) const
+ ?extensions@QEgl@@YA?AVQString@@XZ @ 12648 NONAME ; class QString QEgl::extensions(void)
+ ?pageRemoved@QWizard@@IAEXH@Z @ 12649 NONAME ; void QWizard::pageRemoved(int)
+ ?init@QAbstractScrollAreaPrivate@@QAEXXZ @ 12650 NONAME ; void QAbstractScrollAreaPrivate::init(void)
+ ?mapRectToScene@QGraphicsViewPrivate@@QBE?AVQRectF@@ABVQRect@@@Z @ 12651 NONAME ; class QRectF QGraphicsViewPrivate::mapRectToScene(class QRect const &) const
+ ?width@QGraphicsItemPrivate@@UBEMXZ @ 12652 NONAME ; float QGraphicsItemPrivate::width(void) const
+ ?toPolygon@QBezier@@QBE?AVQPolygonF@@M@Z @ 12653 NONAME ; class QPolygonF QBezier::toPolygon(float) const
+ ?freeStyleOptionsArray@QGraphicsViewPrivate@@QAEXPAVQStyleOptionGraphicsItem@@@Z @ 12654 NONAME ; void QGraphicsViewPrivate::freeStyleOptionsArray(class QStyleOptionGraphicsItem *)
+ ?visibilityChanged@QToolBar@@IAEX_N@Z @ 12655 NONAME ; void QToolBar::visibilityChanged(bool)
+ ?updateInputMethodSensitivity@QGraphicsViewPrivate@@QAEXXZ @ 12656 NONAME ; void QGraphicsViewPrivate::updateInputMethodSensitivity(void)
+ ?glyphMargin@QImageTextureGlyphCache@@UBEHXZ @ 12657 NONAME ; int QImageTextureGlyphCache::glyphMargin(void) const
+ ?setTextFormat@QStaticText@@QAEXW4TextFormat@Qt@@@Z @ 12658 NONAME ; void QStaticText::setTextFormat(enum Qt::TextFormat)
+ ?storeDragDropEvent@QGraphicsViewPrivate@@QAEXPBVQGraphicsSceneDragDropEvent@@@Z @ 12659 NONAME ; void QGraphicsViewPrivate::storeDragDropEvent(class QGraphicsSceneDragDropEvent const *)
+ ?updateRect@QGraphicsViewPrivate@@QAE_NABVQRect@@@Z @ 12660 NONAME ; bool QGraphicsViewPrivate::updateRect(class QRect const &)
+ ?fileData@QZipReader@@QBE?AVQByteArray@@ABVQString@@@Z @ 12661 NONAME ; class QByteArray QZipReader::fileData(class QString const &) const
+ ?translateTouchEvent@QGraphicsViewPrivate@@SAXPAV1@PAVQTouchEvent@@@Z @ 12662 NONAME ; void QGraphicsViewPrivate::translateTouchEvent(class QGraphicsViewPrivate *, class QTouchEvent *)
+ ?dispatchPendingUpdateRequests@QGraphicsViewPrivate@@QAEXXZ @ 12663 NONAME ; void QGraphicsViewPrivate::dispatchPendingUpdateRequests(void)
+ ?updatePaintedViewBoundingRects@QGraphicsItemPrivate@@QAEX_N@Z @ 12664 NONAME ; void QGraphicsItemPrivate::updatePaintedViewBoundingRects(bool)
+ ?setHeight@QGraphicsItemPrivate@@UAEXM@Z @ 12665 NONAME ; void QGraphicsItemPrivate::setHeight(float)
+ ?isValidColor@QColor@@SA_NABVQString@@@Z @ 12666 NONAME ; bool QColor::isValidColor(class QString const &)
+ ??0QStaticTextItem@@QAE@XZ @ 12667 NONAME ; QStaticTextItem::QStaticTextItem(void)
+ ?updateMicroFocus@QGraphicsItem@@IAEXXZ @ 12668 NONAME ; void QGraphicsItem::updateMicroFocus(void)
+ ??1QStaticText@@QAE@XZ @ 12669 NONAME ; QStaticText::~QStaticText(void)
+ ?nativePixmap@QEgl@@YAPAXPAVQPixmap@@@Z @ 12670 NONAME ; void * QEgl::nativePixmap(class QPixmap *)
+ ?render@QWidgetPrivate@@QAEXPAVQPaintDevice@@ABVQPoint@@ABVQRegion@@V?$QFlags@W4RenderFlag@QWidget@@@@_N@Z @ 12671 NONAME ; void QWidgetPrivate::render(class QPaintDevice *, class QPoint const &, class QRegion const &, class QFlags<enum QWidget::RenderFlag>, bool)
+ ?constBits@QImage@@QBEPBEXZ @ 12672 NONAME ; unsigned char const * QImage::constBits(void) const
+ ??8QStaticText@@QBE_NABV0@@Z @ 12673 NONAME ; bool QStaticText::operator==(class QStaticText const &) const
+ ??0FileInfo@QZipReader@@QAE@XZ @ 12674 NONAME ; QZipReader::FileInfo::FileInfo(void)
+ ?q_func@QGraphicsViewPrivate@@ABEPBVQGraphicsView@@XZ @ 12675 NONAME ; class QGraphicsView const * QGraphicsViewPrivate::q_func(void) const
+ ?textFormat@QStaticText@@QBE?AW4TextFormat@Qt@@XZ @ 12676 NONAME ; enum Qt::TextFormat QStaticText::textFormat(void) const
+ ?isReadable@QZipReader@@QBE_NXZ @ 12677 NONAME ; bool QZipReader::isReadable(void) const
+ ?getPixmapCursor@QApplicationPrivate@@QAE?AVQPixmap@@W4CursorShape@Qt@@@Z @ 12678 NONAME ; class QPixmap QApplicationPrivate::getPixmapCursor(enum Qt::CursorShape)
+ ?entryInfoAt@QZipReader@@QBE?AUFileInfo@1@H@Z @ 12679 NONAME ; struct QZipReader::FileInfo QZipReader::entryInfoAt(int) const
+ ?children_append@QGraphicsItemPrivate@@SAXPAV?$QDeclarativeListProperty@VQGraphicsObject@@@@PAVQGraphicsObject@@@Z @ 12680 NONAME ; void QGraphicsItemPrivate::children_append(class QDeclarativeListProperty<class QGraphicsObject> *, class QGraphicsObject *)
+ ?hasPartialUpdateSupport@QWindowSurface@@QBE_NXZ @ 12681 NONAME ; bool QWindowSurface::hasPartialUpdateSupport(void) const
+ ?storeMouseEvent@QGraphicsViewPrivate@@QAEXPAVQMouseEvent@@@Z @ 12682 NONAME ; void QGraphicsViewPrivate::storeMouseEvent(class QMouseEvent *)
+ ?mapToScene@QGraphicsViewPrivate@@QBE?AVQPointF@@ABV2@@Z @ 12683 NONAME ; class QPointF QGraphicsViewPrivate::mapToScene(class QPointF const &) const
+ ?display@QEgl@@YAHXZ @ 12684 NONAME ; int QEgl::display(void)
+ ?drawStaticText@QPainter@@QAEXABVQPoint@@ABVQStaticText@@@Z @ 12685 NONAME ; void QPainter::drawStaticText(class QPoint const &, class QStaticText const &)
+ ?fillTexture@QImageTextureGlyphCache@@UAEXABUCoord@QTextureGlyphCache@@I@Z @ 12686 NONAME ; void QImageTextureGlyphCache::fillTexture(struct QTextureGlyphCache::Coord const &, unsigned int)
+ ?addToPolygon@QBezier@@QBEXPAVQPolygonF@@M@Z @ 12687 NONAME ; void QBezier::addToPolygon(class QPolygonF *, float) const
+ ?eglCreateImageKHR@QEgl@@YAHHHHHPBH@Z @ 12688 NONAME ; int QEgl::eglCreateImageKHR(int, int, int, int, int const *)
+ ?resetWidth@QGraphicsItemPrivate@@UAEXXZ @ 12689 NONAME ; void QGraphicsItemPrivate::resetWidth(void)
+ ?detach@QStaticText@@AAEXXZ @ 12690 NONAME ; void QStaticText::detach(void)
+ ?totalUsed@QPixmapCache@@SAHXZ @ 12691 NONAME ; int QPixmapCache::totalUsed(void)
+ ??0QKeySequence@@QAE@ABVQString@@W4SequenceFormat@0@@Z @ 12692 NONAME ; QKeySequence::QKeySequence(class QString const &, enum QKeySequence::SequenceFormat)
+ ?device@QZipReader@@QBEPAVQIODevice@@XZ @ 12693 NONAME ; class QIODevice * QZipReader::device(void) const
+ ?hasExtension@QEgl@@YA_NPBD@Z @ 12694 NONAME ; bool QEgl::hasExtension(char const *)
+ ?mapRectFromScene@QGraphicsViewPrivate@@QBE?AVQRectF@@ABV2@@Z @ 12695 NONAME ; class QRectF QGraphicsViewPrivate::mapRectFromScene(class QRectF const &) const
+ ?commandDescription@QPaintBuffer@@QBE?AVQString@@H@Z @ 12696 NONAME ; class QString QPaintBuffer::commandDescription(int) const
+ ?layoutChanged@QGraphicsWidget@@IAEXXZ @ 12697 NONAME ; void QGraphicsWidget::layoutChanged(void)
+ ??0QGraphicsViewPrivate@@QAE@XZ @ 12698 NONAME ; QGraphicsViewPrivate::QGraphicsViewPrivate(void)
+ ?anchorAt@QPlainTextEdit@@QBE?AVQString@@ABVQPoint@@@Z @ 12699 NONAME ; class QString QPlainTextEdit::anchorAt(class QPoint const &) const
+ ?getSubRange@QBezier@@QBE?AV1@MM@Z @ 12700 NONAME ; class QBezier QBezier::getSubRange(float, float) const
+ ?replaceScrollBar@QAbstractScrollAreaPrivate@@QAEXPAVQScrollBar@@W4Orientation@Qt@@@Z @ 12701 NONAME ; void QAbstractScrollAreaPrivate::replaceScrollBar(class QScrollBar *, enum Qt::Orientation)
+ ?mapToViewRegion@QGraphicsViewPrivate@@QBE?AVQRegion@@PBVQGraphicsItem@@ABVQRectF@@@Z @ 12702 NONAME ; class QRegion QGraphicsViewPrivate::mapToViewRegion(class QGraphicsItem const *, class QRectF const &) const
+ ?allPixmaps@QPixmapCache@@SA?AV?$QList@U?$QPair@VQString@@VQPixmap@@@@@@XZ @ 12703 NONAME ; class QList<struct QPair<class QString, class QPixmap> > QPixmapCache::allPixmaps(void)
+ ??_EQAbstractScrollAreaPrivate@@UAE@I@Z @ 12704 NONAME ; QAbstractScrollAreaPrivate::~QAbstractScrollAreaPrivate(unsigned int)
+ ?pageAdded@QWizard@@IAEXH@Z @ 12705 NONAME ; void QWizard::pageAdded(int)
+ ?populate@QTextureGlyphCache@@QAEXPAVQFontEngine@@HPBIPBUQFixedPoint@@@Z @ 12706 NONAME ; void QTextureGlyphCache::populate(class QFontEngine *, int, unsigned int const *, struct QFixedPoint const *)
+ ??1QStaticTextItem@@QAE@XZ @ 12707 NONAME ; QStaticTextItem::~QStaticTextItem(void)
+ ?populateSceneDragDropEvent@QGraphicsViewPrivate@@QAEXPAVQGraphicsSceneDragDropEvent@@PAVQDropEvent@@@Z @ 12708 NONAME ; void QGraphicsViewPrivate::populateSceneDragDropEvent(class QGraphicsSceneDragDropEvent *, class QDropEvent *)
+ ?updateAll@QGraphicsViewPrivate@@QAEXXZ @ 12709 NONAME ; void QGraphicsViewPrivate::updateAll(void)
+ ?nativeWindow@QEgl@@YAPAXPAVQWidget@@@Z @ 12710 NONAME ; void * QEgl::nativeWindow(class QWidget *)
+ ?children_count@QGraphicsItemPrivate@@SAHPAV?$QDeclarativeListProperty@VQGraphicsObject@@@@@Z @ 12711 NONAME ; int QGraphicsItemPrivate::children_count(class QDeclarativeListProperty<class QGraphicsObject> *)
+ ?allocStyleOptionsArray@QGraphicsViewPrivate@@QAEPAVQStyleOptionGraphicsItem@@H@Z @ 12712 NONAME ; class QStyleOptionGraphicsItem * QGraphicsViewPrivate::allocStyleOptionsArray(int)
+ ?resizeTextureData@QImageTextureGlyphCache@@UAEXHH@Z @ 12713 NONAME ; void QImageTextureGlyphCache::resizeTextureData(int, int)
+ ?drawPixmapFragments@QPainter@@QAEXPBVPixmapFragment@1@HABVQPixmap@@V?$QFlags@W4PixmapFragmentHint@QPainter@@@@@Z @ 12714 NONAME ; void QPainter::drawPixmapFragments(class QPainter::PixmapFragment const *, int, class QPixmap const &, class QFlags<enum QPainter::PixmapFragmentHint>)
+ ?setColorFromString@QColor@@AAE_NABVQString@@@Z @ 12715 NONAME ; bool QColor::setColorFromString(class QString const &)
+ ??1QAbstractScrollAreaPrivate@@UAE@XZ @ 12716 NONAME ; QAbstractScrollAreaPrivate::~QAbstractScrollAreaPrivate(void)
+ ?setText@QStaticText@@QAEXABVQString@@@Z @ 12717 NONAME ; void QStaticText::setText(class QString const &)
+ ?bitPlaneCount@QImage@@QBEHXZ @ 12718 NONAME ; int QImage::bitPlaneCount(void) const
+ ?_q_unsetViewportCursor@QGraphicsViewPrivate@@QAEXXZ @ 12719 NONAME ; void QGraphicsViewPrivate::_q_unsetViewportCursor(void)
+ ?setUpdateClip@QGraphicsViewPrivate@@QAEXPAVQGraphicsItem@@@Z @ 12720 NONAME ; void QGraphicsViewPrivate::setUpdateClip(class QGraphicsItem *)
+ ?resetHeight@QGraphicsItemPrivate@@UAEXXZ @ 12721 NONAME ; void QGraphicsItemPrivate::resetHeight(void)
+ ?runtimeData@QPixmapData@@UBEPAV1@XZ @ 12722 NONAME ; class QPixmapData * QPixmapData::runtimeData(void) const
+ ?selectedText@QLabel@@QBE?AVQString@@XZ @ 12723 NONAME ; class QString QLabel::selectedText(void) const
+ ?childrenList@QGraphicsItemPrivate@@QAE?AV?$QDeclarativeListProperty@VQGraphicsObject@@@@XZ @ 12724 NONAME ; class QDeclarativeListProperty<class QGraphicsObject> QGraphicsItemPrivate::childrenList(void)
+ ?childrenChanged@QGraphicsObject@@IAEXXZ @ 12725 NONAME ; void QGraphicsObject::childrenChanged(void)
+ ?recalculateContentSize@QGraphicsViewPrivate@@QAEXXZ @ 12726 NONAME ; void QGraphicsViewPrivate::recalculateContentSize(void)
+ ?heightChanged@QGraphicsObject@@IAEXXZ @ 12727 NONAME ; void QGraphicsObject::heightChanged(void)
+ ?name@QIcon@@QBE?AVQString@@XZ @ 12728 NONAME ; class QString QIcon::name(void) const
+ ?errorString@QEgl@@YA?AVQString@@H@Z @ 12729 NONAME ; class QString QEgl::errorString(int)
+ ??4FileInfo@QZipReader@@QAEAAU01@ABU01@@Z @ 12730 NONAME ; struct QZipReader::FileInfo & QZipReader::FileInfo::operator=(struct QZipReader::FileInfo const &)
+ ??1QGraphicsViewPrivate@@UAE@XZ @ 12731 NONAME ; QGraphicsViewPrivate::~QGraphicsViewPrivate(void)
+ ?chooseConfig@QEgl@@YAHPBVQEglProperties@@W4PixelFormatMatch@1@@Z @ 12732 NONAME ; int QEgl::chooseConfig(class QEglProperties const *, enum QEgl::PixelFormatMatch)
+ ?prependGraphicsTransform@QGraphicsItemPrivate@@QAEXPAVQGraphicsTransform@@@Z @ 12733 NONAME ; void QGraphicsItemPrivate::prependGraphicsTransform(class QGraphicsTransform *)
+ ?eglDestroyImageKHR@QEgl@@YAHHH@Z @ 12734 NONAME ; int QEgl::eglDestroyImageKHR(int, int)
+ ?qt_draw_glyphs@@YAXPAVQPainter@@PBIPBVQPointF@@H@Z @ 12735 NONAME ; void qt_draw_glyphs(class QPainter *, unsigned int const *, class QPointF const *, int)
+ ?isEmpty@QItemSelectionRange@@QBE_NXZ @ 12736 NONAME ; bool QItemSelectionRange::isEmpty(void) const
+ ?count@QZipReader@@QBEHXZ @ 12737 NONAME ; int QZipReader::count(void) const
+ ?centerView@QGraphicsViewPrivate@@QAEXW4ViewportAnchor@QGraphicsView@@@Z @ 12738 NONAME ; void QGraphicsViewPrivate::centerView(enum QGraphicsView::ViewportAnchor)
+ ?contentsOffset@QAbstractScrollAreaPrivate@@UBE?AVQPoint@@XZ @ 12739 NONAME ; class QPoint QAbstractScrollAreaPrivate::contentsOffset(void) const
+ ?_q_vslide@QAbstractScrollAreaPrivate@@QAEXH@Z @ 12740 NONAME ; void QAbstractScrollAreaPrivate::_q_vslide(int)
+ ??1QZipReader@@QAE@XZ @ 12741 NONAME ; QZipReader::~QZipReader(void)
+ ??_EQImageTextureGlyphCache@@UAE@I@Z @ 12742 NONAME ; QImageTextureGlyphCache::~QImageTextureGlyphCache(unsigned int)
+ ?drawPixmapFragments@QPaintEngineEx@@UAEXPBVPixmapFragment@QPainter@@HABVQPixmap@@V?$QFlags@W4PixmapFragmentHint@QPainter@@@@@Z @ 12743 NONAME ; void QPaintEngineEx::drawPixmapFragments(class QPainter::PixmapFragment const *, int, class QPixmap const &, class QFlags<enum QPainter::PixmapFragmentHint>)
+ ?nativeDisplay@QEgl@@YAHXZ @ 12744 NONAME ; int QEgl::nativeDisplay(void)
+ ?layoutChildren@QAbstractScrollAreaPrivate@@QAEXXZ @ 12745 NONAME ; void QAbstractScrollAreaPrivate::layoutChildren(void)
+ ?horizontalScroll@QGraphicsViewPrivate@@QBE_JXZ @ 12746 NONAME ; long long QGraphicsViewPrivate::horizontalScroll(void) const
+ ?updateRectF@QGraphicsViewPrivate@@QAE_NABVQRectF@@@Z @ 12747 NONAME ; bool QGraphicsViewPrivate::updateRectF(class QRectF const &)
+ ?setPlaceholderText@QLineEdit@@QAEXABVQString@@@Z @ 12748 NONAME ; void QLineEdit::setPlaceholderText(class QString const &)
+ ?resizeEvent@QSplitterHandle@@MAEXPAVQResizeEvent@@@Z @ 12749 NONAME ; void QSplitterHandle::resizeEvent(class QResizeEvent *)
+ ?drawStaticText@QPainter@@QAEXHHABVQStaticText@@@Z @ 12750 NONAME ; void QPainter::drawStaticText(int, int, class QStaticText const &)
+ ?setSelection@QLabel@@QAEXHH@Z @ 12751 NONAME ; void QLabel::setSelection(int, int)
+ ?q_func@QAbstractScrollAreaPrivate@@AAEPAVQAbstractScrollArea@@XZ @ 12752 NONAME ; class QAbstractScrollArea * QAbstractScrollAreaPrivate::q_func(void)
+ ?updateMicroFocus@QGraphicsObject@@IAEXXZ @ 12753 NONAME ; void QGraphicsObject::updateMicroFocus(void)
+ ?drawStaticText@QPainter@@QAEXABVQPointF@@ABVQStaticText@@@Z @ 12754 NONAME ; void QPainter::drawStaticText(class QPointF const &, class QStaticText const &)
+ ?processPendingUpdates@QGraphicsViewPrivate@@QAEXXZ @ 12755 NONAME ; void QGraphicsViewPrivate::processPendingUpdates(void)
+ ?rubberBandRegion@QGraphicsViewPrivate@@QBE?AVQRegion@@PBVQWidget@@ABVQRect@@@Z @ 12756 NONAME ; class QRegion QGraphicsViewPrivate::rubberBandRegion(class QWidget const *, class QRect const &) const
+ ?children_at@QGraphicsItemPrivate@@SAPAVQGraphicsObject@@PAV?$QDeclarativeListProperty@VQGraphicsObject@@@@H@Z @ 12757 NONAME ; class QGraphicsObject * QGraphicsItemPrivate::children_at(class QDeclarativeListProperty<class QGraphicsObject> *, int)
+ ?widthChanged@QGraphicsObject@@IAEXXZ @ 12758 NONAME ; void QGraphicsObject::widthChanged(void)
+ ?_q_showOrHideScrollBars@QAbstractScrollAreaPrivate@@QAEXXZ @ 12759 NONAME ; void QAbstractScrollAreaPrivate::_q_showOrHideScrollBars(void)
+ ?mouseMoveEventHandler@QGraphicsViewPrivate@@QAEXPAVQMouseEvent@@@Z @ 12760 NONAME ; void QGraphicsViewPrivate::mouseMoveEventHandler(class QMouseEvent *)
+ ?replayLastMouseEvent@QGraphicsViewPrivate@@QAEXXZ @ 12761 NONAME ; void QGraphicsViewPrivate::replayLastMouseEvent(void)
+ ??0QStaticText@@QAE@ABVQString@@@Z @ 12762 NONAME ; QStaticText::QStaticText(class QString const &)
+ ?close@QZipReader@@QAEXXZ @ 12763 NONAME ; void QZipReader::close(void)
+ ?geometryChanged@QGraphicsWidget@@IAEXXZ @ 12764 NONAME ; void QGraphicsWidget::geometryChanged(void)
+ ?setCurveThreshold@QStrokerOps@@QAEXM@Z @ 12765 NONAME ; void QStrokerOps::setCurveThreshold(float)
+ ?_q_hslide@QAbstractScrollAreaPrivate@@QAEXH@Z @ 12766 NONAME ; void QAbstractScrollAreaPrivate::_q_hslide(int)
+ ?selectionStart@QLabel@@QBEHXZ @ 12767 NONAME ; int QLabel::selectionStart(void) const
+ ??0QStaticText@@QAE@XZ @ 12768 NONAME ; QStaticText::QStaticText(void)
+ ?curveThreshold@QStrokerOps@@QBEMXZ @ 12769 NONAME ; float QStrokerOps::curveThreshold(void) const
+ ?iconName@QIconEngineV2@@QAE?AVQString@@XZ @ 12770 NONAME ; class QString QIconEngineV2::iconName(void)
+ ?mapBy@QBezier@@QBE?AV1@ABVQTransform@@@Z @ 12771 NONAME ; class QBezier QBezier::mapBy(class QTransform const &) const
+ ??0QZipReader@@QAE@ABVQString@@V?$QFlags@W4OpenModeFlag@QIODevice@@@@@Z @ 12772 NONAME ; QZipReader::QZipReader(class QString const &, class QFlags<enum QIODevice::OpenModeFlag>)
+ ?flushDetachedPixmaps@QPixmapCache@@SAXXZ @ 12773 NONAME ; void QPixmapCache::flushDetachedPixmaps(void)
+ ?exists@QZipReader@@QBE_NXZ @ 12774 NONAME ; bool QZipReader::exists(void) const
+ ?prepare@QStaticText@@QAEXABVQTransform@@ABVQFont@@@Z @ 12775 NONAME ; void QStaticText::prepare(class QTransform const &, class QFont const &)
+ ?paste@QTextControl@@QAEXW4Mode@QClipboard@@@Z @ 12776 NONAME ; void QTextControl::paste(enum QClipboard::Mode)
+ ?horizontalAdvance@QTextLine@@QBEMXZ @ 12777 NONAME ; float QTextLine::horizontalAdvance(void) const
+ ?setCurveThresholdFromTransform@QStrokerOps@@QAEXABVQTransform@@@Z @ 12778 NONAME ; void QStrokerOps::setCurveThresholdFromTransform(class QTransform const &)
+ ?textWidth@QStaticText@@QBEMXZ @ 12779 NONAME ; float QStaticText::textWidth(void) const
+ ?create@PixmapFragment@QPainter@@SA?AV12@ABVQPointF@@ABVQRectF@@MMMM@Z @ 12780 NONAME ; class QPainter::PixmapFragment QPainter::PixmapFragment::create(class QPointF const &, class QRectF const &, float, float, float, float)
+ ?extractAll@QZipReader@@QBE_NABVQString@@@Z @ 12781 NONAME ; bool QZipReader::extractAll(class QString const &) const
+ ??0FileInfo@QZipReader@@QAE@ABU01@@Z @ 12782 NONAME ; QZipReader::FileInfo::FileInfo(struct QZipReader::FileInfo const &)
+ ?setTextWidth@QStaticText@@QAEXM@Z @ 12783 NONAME ; void QStaticText::setTextWidth(float)
+ ?fixup@QIntValidator@@UBEXAAVQString@@@Z @ 12784 NONAME ; void QIntValidator::fixup(class QString &) const
+ ?dumpAllConfigs@QEgl@@YAXXZ @ 12785 NONAME ; void QEgl::dumpAllConfigs(void)
+ ?assign@QKeySequence@@AAEHABVQString@@W4SequenceFormat@1@@Z @ 12786 NONAME ; int QKeySequence::assign(class QString const &, enum QKeySequence::SequenceFormat)
+ ?q_func@QAbstractScrollAreaPrivate@@ABEPBVQAbstractScrollArea@@XZ @ 12787 NONAME ; class QAbstractScrollArea const * QAbstractScrollAreaPrivate::q_func(void) const
+ ?mapToScene@QGraphicsViewPrivate@@QBE?AVQRectF@@ABV2@@Z @ 12788 NONAME ; class QRectF QGraphicsViewPrivate::mapToScene(class QRectF const &) const
+ ?updateScroll@QGraphicsViewPrivate@@QAEXXZ @ 12789 NONAME ; void QGraphicsViewPrivate::updateScroll(void)
+ ?directoryLoaded@QFileSystemModel@@IAEXABVQString@@@Z @ 12790 NONAME ; void QFileSystemModel::directoryLoaded(class QString const &)
+ ?placeholderText@QLineEdit@@QBE?AVQString@@XZ @ 12791 NONAME ; class QString QLineEdit::placeholderText(void) const
+ ?setWidth@QGraphicsItemPrivate@@UAEXM@Z @ 12792 NONAME ; void QGraphicsItemPrivate::setWidth(float)
+ ?q_func@QGraphicsViewPrivate@@AAEPAVQGraphicsView@@XZ @ 12793 NONAME ; class QGraphicsView * QGraphicsViewPrivate::q_func(void)
+ ?setDeviceType@QEglProperties@@QAEXH@Z @ 12794 NONAME ; void QEglProperties::setDeviceType(int)
+ ?convertFromImage@QPixmap@@QAE_NABVQImage@@V?$QFlags@W4ImageConversionFlag@Qt@@@@@Z @ 12795 NONAME ; bool QPixmap::convertFromImage(class QImage const &, class QFlags<enum Qt::ImageConversionFlag>)
+ ?processCommands@QPaintBuffer@@QBEHPAVQPainter@@HH@Z @ 12796 NONAME ; int QPaintBuffer::processCommands(class QPainter *, int, int) const
+ ?glyphPadding@QTextureGlyphCache@@UBEHXZ @ 12797 NONAME ; int QTextureGlyphCache::glyphPadding(void) const
+ ??1FileInfo@QZipReader@@QAE@XZ @ 12798 NONAME ; QZipReader::FileInfo::~FileInfo(void)
+ ?scrollBarPolicyChanged@QAbstractScrollAreaPrivate@@UAEXW4Orientation@Qt@@W4ScrollBarPolicy@3@@Z @ 12799 NONAME ; void QAbstractScrollAreaPrivate::scrollBarPolicyChanged(enum Qt::Orientation, enum Qt::ScrollBarPolicy)
+ ?createSurface@QEgl@@YAHPAVQPaintDevice@@HPBVQEglProperties@@@Z @ 12800 NONAME ; int QEgl::createSurface(class QPaintDevice *, int, class QEglProperties const *)
+ ?viewportEvent@QAbstractScrollAreaPrivate@@QAE_NPAVQEvent@@@Z @ 12801 NONAME ; bool QAbstractScrollAreaPrivate::viewportEvent(class QEvent *)
+ ?frameEndIndex@QPaintBuffer@@QBEHH@Z @ 12802 NONAME ; int QPaintBuffer::frameEndIndex(int) const
+ ??1QImageTextureGlyphCache@@UAE@XZ @ 12803 NONAME ; QImageTextureGlyphCache::~QImageTextureGlyphCache(void)
+ ?setPerformanceHint@QStaticText@@QAEXW4PerformanceHint@1@@Z @ 12804 NONAME ; void QStaticText::setPerformanceHint(enum QStaticText::PerformanceHint)
+ ??0QStaticText@@QAE@ABV0@@Z @ 12805 NONAME ; QStaticText::QStaticText(class QStaticText const &)
+ ??0QImageTextureGlyphCache@@QAE@W4Type@QFontEngineGlyphCache@@ABVQTransform@@@Z @ 12806 NONAME ; QImageTextureGlyphCache::QImageTextureGlyphCache(enum QFontEngineGlyphCache::Type, class QTransform const &)
+ ?verticalMovementX@QTextCursor@@QBEHXZ @ 12807 NONAME ; int QTextCursor::verticalMovementX(void) const
+ ?runtime_graphics_system@QApplicationPrivate@@2_NA @ 12808 NONAME ; bool QApplicationPrivate::runtime_graphics_system
+ ?keepPositionOnInsert@QTextCursor@@QBE_NXZ @ 12809 NONAME ; bool QTextCursor::keepPositionOnInsert(void) const
+ ?setKeepPositionOnInsert@QTextCursor@@QAEX_N@Z @ 12810 NONAME ; void QTextCursor::setKeepPositionOnInsert(bool)
+ ?textDirection@QProgressBar@@QBE?AW4Direction@1@XZ @ 12811 NONAME ; enum QProgressBar::Direction QProgressBar::textDirection(void) const
+ ?setVerticalMovementX@QTextCursor@@QAEXH@Z @ 12812 NONAME ; void QTextCursor::setVerticalMovementX(int)
+ ?invertedAppearance@QProgressBar@@QBE_NXZ @ 12813 NONAME ; bool QProgressBar::invertedAppearance(void) const
+ ?width@QFontMetrics@@QBEHABVQString@@HH@Z @ 12814 NONAME ; int QFontMetrics::width(class QString const &, int, int) const
diff --git a/src/s60installs/bwins/QtMediaServicesu.def b/src/s60installs/bwins/QtMediaServicesu.def
deleted file mode 100644
index d674d121df..0000000000
--- a/src/s60installs/bwins/QtMediaServicesu.def
+++ /dev/null
@@ -1,673 +0,0 @@
-EXPORTS
- ??0QGraphicsVideoItem@@QAE@PAVQGraphicsItem@@@Z @ 1 NONAME ; QGraphicsVideoItem::QGraphicsVideoItem(class QGraphicsItem *)
- ??0QLocalMediaPlaylistProvider@@QAE@PAVQObject@@@Z @ 2 NONAME ; QLocalMediaPlaylistProvider::QLocalMediaPlaylistProvider(class QObject *)
- ??0QMediaContent@@QAE@ABV0@@Z @ 3 NONAME ; QMediaContent::QMediaContent(class QMediaContent const &)
- ??0QMediaContent@@QAE@ABV?$QList@VQMediaResource@@@@@Z @ 4 NONAME ; QMediaContent::QMediaContent(class QList<class QMediaResource> const &)
- ??0QMediaContent@@QAE@ABVQMediaResource@@@Z @ 5 NONAME ; QMediaContent::QMediaContent(class QMediaResource const &)
- ??0QMediaContent@@QAE@ABVQNetworkRequest@@@Z @ 6 NONAME ; QMediaContent::QMediaContent(class QNetworkRequest const &)
- ??0QMediaContent@@QAE@ABVQUrl@@@Z @ 7 NONAME ; QMediaContent::QMediaContent(class QUrl const &)
- ??0QMediaContent@@QAE@XZ @ 8 NONAME ; QMediaContent::QMediaContent(void)
- ??0QMediaControl@@IAE@AAVQMediaControlPrivate@@PAVQObject@@@Z @ 9 NONAME ; QMediaControl::QMediaControl(class QMediaControlPrivate &, class QObject *)
- ??0QMediaControl@@IAE@PAVQObject@@@Z @ 10 NONAME ; QMediaControl::QMediaControl(class QObject *)
- ??0QMediaObject@@IAE@AAVQMediaObjectPrivate@@PAVQObject@@PAVQMediaService@@@Z @ 11 NONAME ; QMediaObject::QMediaObject(class QMediaObjectPrivate &, class QObject *, class QMediaService *)
- ??0QMediaObject@@IAE@PAVQObject@@PAVQMediaService@@@Z @ 12 NONAME ; QMediaObject::QMediaObject(class QObject *, class QMediaService *)
- ??0QMediaPlayer@@QAE@PAVQObject@@V?$QFlags@W4Flag@QMediaPlayer@@@@PAVQMediaServiceProvider@@@Z @ 13 NONAME ; QMediaPlayer::QMediaPlayer(class QObject *, class QFlags<enum QMediaPlayer::Flag>, class QMediaServiceProvider *)
- ??0QMediaPlayerControl@@IAE@PAVQObject@@@Z @ 14 NONAME ; QMediaPlayerControl::QMediaPlayerControl(class QObject *)
- ??0QMediaPlaylist@@QAE@PAVQObject@@@Z @ 15 NONAME ; QMediaPlaylist::QMediaPlaylist(class QObject *)
- ??0QMediaPlaylistControl@@IAE@PAVQObject@@@Z @ 16 NONAME ; QMediaPlaylistControl::QMediaPlaylistControl(class QObject *)
- ??0QMediaPlaylistIOPlugin@@QAE@PAVQObject@@@Z @ 17 NONAME ; QMediaPlaylistIOPlugin::QMediaPlaylistIOPlugin(class QObject *)
- ??0QMediaPlaylistNavigator@@QAE@PAVQMediaPlaylistProvider@@PAVQObject@@@Z @ 18 NONAME ; QMediaPlaylistNavigator::QMediaPlaylistNavigator(class QMediaPlaylistProvider *, class QObject *)
- ??0QMediaPlaylistProvider@@IAE@AAVQMediaPlaylistProviderPrivate@@PAVQObject@@@Z @ 19 NONAME ; QMediaPlaylistProvider::QMediaPlaylistProvider(class QMediaPlaylistProviderPrivate &, class QObject *)
- ??0QMediaPlaylistProvider@@QAE@PAVQObject@@@Z @ 20 NONAME ; QMediaPlaylistProvider::QMediaPlaylistProvider(class QObject *)
- ??0QMediaResource@@QAE@ABV0@@Z @ 21 NONAME ; QMediaResource::QMediaResource(class QMediaResource const &)
- ??0QMediaResource@@QAE@ABVQNetworkRequest@@ABVQString@@@Z @ 22 NONAME ; QMediaResource::QMediaResource(class QNetworkRequest const &, class QString const &)
- ??0QMediaResource@@QAE@ABVQUrl@@ABVQString@@@Z @ 23 NONAME ; QMediaResource::QMediaResource(class QUrl const &, class QString const &)
- ??0QMediaResource@@QAE@XZ @ 24 NONAME ; QMediaResource::QMediaResource(void)
- ??0QMediaService@@IAE@AAVQMediaServicePrivate@@PAVQObject@@@Z @ 25 NONAME ; QMediaService::QMediaService(class QMediaServicePrivate &, class QObject *)
- ??0QMediaService@@IAE@PAVQObject@@@Z @ 26 NONAME ; QMediaService::QMediaService(class QObject *)
- ??0QMediaServiceProviderHint@@QAE@ABV0@@Z @ 27 NONAME ; QMediaServiceProviderHint::QMediaServiceProviderHint(class QMediaServiceProviderHint const &)
- ??0QMediaServiceProviderHint@@QAE@ABVQByteArray@@@Z @ 28 NONAME ; QMediaServiceProviderHint::QMediaServiceProviderHint(class QByteArray const &)
- ??0QMediaServiceProviderHint@@QAE@ABVQString@@ABVQStringList@@@Z @ 29 NONAME ; QMediaServiceProviderHint::QMediaServiceProviderHint(class QString const &, class QStringList const &)
- ??0QMediaServiceProviderHint@@QAE@V?$QFlags@W4Feature@QMediaServiceProviderHint@@@@@Z @ 30 NONAME ; QMediaServiceProviderHint::QMediaServiceProviderHint(class QFlags<enum QMediaServiceProviderHint::Feature>)
- ??0QMediaServiceProviderHint@@QAE@XZ @ 31 NONAME ; QMediaServiceProviderHint::QMediaServiceProviderHint(void)
- ??0QMediaTimeInterval@@QAE@ABV0@@Z @ 32 NONAME ; QMediaTimeInterval::QMediaTimeInterval(class QMediaTimeInterval const &)
- ??0QMediaTimeInterval@@QAE@XZ @ 33 NONAME ; QMediaTimeInterval::QMediaTimeInterval(void)
- ??0QMediaTimeInterval@@QAE@_J0@Z @ 34 NONAME ; QMediaTimeInterval::QMediaTimeInterval(long long, long long)
- ??0QMediaTimeRange@@QAE@ABV0@@Z @ 35 NONAME ; QMediaTimeRange::QMediaTimeRange(class QMediaTimeRange const &)
- ??0QMediaTimeRange@@QAE@ABVQMediaTimeInterval@@@Z @ 36 NONAME ; QMediaTimeRange::QMediaTimeRange(class QMediaTimeInterval const &)
- ??0QMediaTimeRange@@QAE@XZ @ 37 NONAME ; QMediaTimeRange::QMediaTimeRange(void)
- ??0QMediaTimeRange@@QAE@_J0@Z @ 38 NONAME ; QMediaTimeRange::QMediaTimeRange(long long, long long)
- ??0QMetaDataControl@@IAE@PAVQObject@@@Z @ 39 NONAME ; QMetaDataControl::QMetaDataControl(class QObject *)
- ??0QPainterVideoSurface@@QAE@PAVQObject@@@Z @ 40 NONAME ; QPainterVideoSurface::QPainterVideoSurface(class QObject *)
- ??0QSoundEffect@@QAE@PAVQObject@@@Z @ 41 NONAME ; QSoundEffect::QSoundEffect(class QObject *)
- ??0QVideoDeviceControl@@IAE@PAVQObject@@@Z @ 42 NONAME ; QVideoDeviceControl::QVideoDeviceControl(class QObject *)
- ??0QVideoOutputControl@@IAE@PAVQObject@@@Z @ 43 NONAME ; QVideoOutputControl::QVideoOutputControl(class QObject *)
- ??0QVideoRendererControl@@IAE@PAVQObject@@@Z @ 44 NONAME ; QVideoRendererControl::QVideoRendererControl(class QObject *)
- ??0QVideoWidget@@QAE@PAVQWidget@@@Z @ 45 NONAME ; QVideoWidget::QVideoWidget(class QWidget *)
- ??0QVideoWidgetControl@@IAE@PAVQObject@@@Z @ 46 NONAME ; QVideoWidgetControl::QVideoWidgetControl(class QObject *)
- ??0QVideoWindowControl@@IAE@PAVQObject@@@Z @ 47 NONAME ; QVideoWindowControl::QVideoWindowControl(class QObject *)
- ??1QGraphicsVideoItem@@UAE@XZ @ 48 NONAME ; QGraphicsVideoItem::~QGraphicsVideoItem(void)
- ??1QLocalMediaPlaylistProvider@@UAE@XZ @ 49 NONAME ; QLocalMediaPlaylistProvider::~QLocalMediaPlaylistProvider(void)
- ??1QMediaContent@@QAE@XZ @ 50 NONAME ; QMediaContent::~QMediaContent(void)
- ??1QMediaControl@@UAE@XZ @ 51 NONAME ; QMediaControl::~QMediaControl(void)
- ??1QMediaObject@@UAE@XZ @ 52 NONAME ; QMediaObject::~QMediaObject(void)
- ??1QMediaPlayer@@UAE@XZ @ 53 NONAME ; QMediaPlayer::~QMediaPlayer(void)
- ??1QMediaPlayerControl@@UAE@XZ @ 54 NONAME ; QMediaPlayerControl::~QMediaPlayerControl(void)
- ??1QMediaPlaylist@@UAE@XZ @ 55 NONAME ; QMediaPlaylist::~QMediaPlaylist(void)
- ??1QMediaPlaylistControl@@UAE@XZ @ 56 NONAME ; QMediaPlaylistControl::~QMediaPlaylistControl(void)
- ??1QMediaPlaylistIOInterface@@UAE@XZ @ 57 NONAME ; QMediaPlaylistIOInterface::~QMediaPlaylistIOInterface(void)
- ??1QMediaPlaylistIOPlugin@@UAE@XZ @ 58 NONAME ; QMediaPlaylistIOPlugin::~QMediaPlaylistIOPlugin(void)
- ??1QMediaPlaylistNavigator@@UAE@XZ @ 59 NONAME ; QMediaPlaylistNavigator::~QMediaPlaylistNavigator(void)
- ??1QMediaPlaylistProvider@@UAE@XZ @ 60 NONAME ; QMediaPlaylistProvider::~QMediaPlaylistProvider(void)
- ??1QMediaPlaylistReader@@UAE@XZ @ 61 NONAME ; QMediaPlaylistReader::~QMediaPlaylistReader(void)
- ??1QMediaPlaylistWriter@@UAE@XZ @ 62 NONAME ; QMediaPlaylistWriter::~QMediaPlaylistWriter(void)
- ??1QMediaResource@@QAE@XZ @ 63 NONAME ; QMediaResource::~QMediaResource(void)
- ??1QMediaService@@UAE@XZ @ 64 NONAME ; QMediaService::~QMediaService(void)
- ??1QMediaServiceFeaturesInterface@@UAE@XZ @ 65 NONAME ; QMediaServiceFeaturesInterface::~QMediaServiceFeaturesInterface(void)
- ??1QMediaServiceProvider@@UAE@XZ @ 66 NONAME ; QMediaServiceProvider::~QMediaServiceProvider(void)
- ??1QMediaServiceProviderHint@@QAE@XZ @ 67 NONAME ; QMediaServiceProviderHint::~QMediaServiceProviderHint(void)
- ??1QMediaServiceSupportedDevicesInterface@@UAE@XZ @ 68 NONAME ; QMediaServiceSupportedDevicesInterface::~QMediaServiceSupportedDevicesInterface(void)
- ??1QMediaServiceSupportedFormatsInterface@@UAE@XZ @ 69 NONAME ; QMediaServiceSupportedFormatsInterface::~QMediaServiceSupportedFormatsInterface(void)
- ??1QMediaTimeRange@@QAE@XZ @ 70 NONAME ; QMediaTimeRange::~QMediaTimeRange(void)
- ??1QMetaDataControl@@UAE@XZ @ 71 NONAME ; QMetaDataControl::~QMetaDataControl(void)
- ??1QPainterVideoSurface@@UAE@XZ @ 72 NONAME ; QPainterVideoSurface::~QPainterVideoSurface(void)
- ??1QSoundEffect@@UAE@XZ @ 73 NONAME ; QSoundEffect::~QSoundEffect(void)
- ??1QVideoDeviceControl@@UAE@XZ @ 74 NONAME ; QVideoDeviceControl::~QVideoDeviceControl(void)
- ??1QVideoOutputControl@@UAE@XZ @ 75 NONAME ; QVideoOutputControl::~QVideoOutputControl(void)
- ??1QVideoRendererControl@@UAE@XZ @ 76 NONAME ; QVideoRendererControl::~QVideoRendererControl(void)
- ??1QVideoWidget@@UAE@XZ @ 77 NONAME ; QVideoWidget::~QVideoWidget(void)
- ??1QVideoWidgetControl@@UAE@XZ @ 78 NONAME ; QVideoWidgetControl::~QVideoWidgetControl(void)
- ??1QVideoWindowControl@@UAE@XZ @ 79 NONAME ; QVideoWindowControl::~QVideoWindowControl(void)
- ??4QMediaContent@@QAEAAV0@ABV0@@Z @ 80 NONAME ; class QMediaContent & QMediaContent::operator=(class QMediaContent const &)
- ??4QMediaResource@@QAEAAV0@ABV0@@Z @ 81 NONAME ; class QMediaResource & QMediaResource::operator=(class QMediaResource const &)
- ??4QMediaServiceProviderHint@@QAEAAV0@ABV0@@Z @ 82 NONAME ; class QMediaServiceProviderHint & QMediaServiceProviderHint::operator=(class QMediaServiceProviderHint const &)
- ??4QMediaTimeRange@@QAEAAV0@ABV0@@Z @ 83 NONAME ; class QMediaTimeRange & QMediaTimeRange::operator=(class QMediaTimeRange const &)
- ??4QMediaTimeRange@@QAEAAV0@ABVQMediaTimeInterval@@@Z @ 84 NONAME ; class QMediaTimeRange & QMediaTimeRange::operator=(class QMediaTimeInterval const &)
- ??8@YA_NABVQMediaTimeInterval@@0@Z @ 85 NONAME ; bool operator==(class QMediaTimeInterval const &, class QMediaTimeInterval const &)
- ??8@YA_NABVQMediaTimeRange@@0@Z @ 86 NONAME ; bool operator==(class QMediaTimeRange const &, class QMediaTimeRange const &)
- ??8QMediaContent@@QBE_NABV0@@Z @ 87 NONAME ; bool QMediaContent::operator==(class QMediaContent const &) const
- ??8QMediaResource@@QBE_NABV0@@Z @ 88 NONAME ; bool QMediaResource::operator==(class QMediaResource const &) const
- ??8QMediaServiceProviderHint@@QBE_NABV0@@Z @ 89 NONAME ; bool QMediaServiceProviderHint::operator==(class QMediaServiceProviderHint const &) const
- ??9@YA_NABVQMediaTimeInterval@@0@Z @ 90 NONAME ; bool operator!=(class QMediaTimeInterval const &, class QMediaTimeInterval const &)
- ??9@YA_NABVQMediaTimeRange@@0@Z @ 91 NONAME ; bool operator!=(class QMediaTimeRange const &, class QMediaTimeRange const &)
- ??9QMediaContent@@QBE_NABV0@@Z @ 92 NONAME ; bool QMediaContent::operator!=(class QMediaContent const &) const
- ??9QMediaResource@@QBE_NABV0@@Z @ 93 NONAME ; bool QMediaResource::operator!=(class QMediaResource const &) const
- ??9QMediaServiceProviderHint@@QBE_NABV0@@Z @ 94 NONAME ; bool QMediaServiceProviderHint::operator!=(class QMediaServiceProviderHint const &) const
- ??G@YA?AVQMediaTimeRange@@ABV0@0@Z @ 95 NONAME ; class QMediaTimeRange operator-(class QMediaTimeRange const &, class QMediaTimeRange const &)
- ??H@YA?AVQMediaTimeRange@@ABV0@0@Z @ 96 NONAME ; class QMediaTimeRange operator+(class QMediaTimeRange const &, class QMediaTimeRange const &)
- ??YQMediaTimeRange@@QAEAAV0@ABV0@@Z @ 97 NONAME ; class QMediaTimeRange & QMediaTimeRange::operator+=(class QMediaTimeRange const &)
- ??YQMediaTimeRange@@QAEAAV0@ABVQMediaTimeInterval@@@Z @ 98 NONAME ; class QMediaTimeRange & QMediaTimeRange::operator+=(class QMediaTimeInterval const &)
- ??ZQMediaTimeRange@@QAEAAV0@ABV0@@Z @ 99 NONAME ; class QMediaTimeRange & QMediaTimeRange::operator-=(class QMediaTimeRange const &)
- ??ZQMediaTimeRange@@QAEAAV0@ABVQMediaTimeInterval@@@Z @ 100 NONAME ; class QMediaTimeRange & QMediaTimeRange::operator-=(class QMediaTimeInterval const &)
- ??_EQGraphicsVideoItem@@UAE@I@Z @ 101 NONAME ; QGraphicsVideoItem::~QGraphicsVideoItem(unsigned int)
- ??_EQLocalMediaPlaylistProvider@@UAE@I@Z @ 102 NONAME ; QLocalMediaPlaylistProvider::~QLocalMediaPlaylistProvider(unsigned int)
- ??_EQMediaControl@@UAE@I@Z @ 103 NONAME ; QMediaControl::~QMediaControl(unsigned int)
- ??_EQMediaObject@@UAE@I@Z @ 104 NONAME ; QMediaObject::~QMediaObject(unsigned int)
- ??_EQMediaPlayer@@UAE@I@Z @ 105 NONAME ; QMediaPlayer::~QMediaPlayer(unsigned int)
- ??_EQMediaPlayerControl@@UAE@I@Z @ 106 NONAME ; QMediaPlayerControl::~QMediaPlayerControl(unsigned int)
- ??_EQMediaPlaylist@@UAE@I@Z @ 107 NONAME ; QMediaPlaylist::~QMediaPlaylist(unsigned int)
- ??_EQMediaPlaylistControl@@UAE@I@Z @ 108 NONAME ; QMediaPlaylistControl::~QMediaPlaylistControl(unsigned int)
- ??_EQMediaPlaylistIOInterface@@UAE@I@Z @ 109 NONAME ; QMediaPlaylistIOInterface::~QMediaPlaylistIOInterface(unsigned int)
- ??_EQMediaPlaylistIOPlugin@@UAE@I@Z @ 110 NONAME ; QMediaPlaylistIOPlugin::~QMediaPlaylistIOPlugin(unsigned int)
- ??_EQMediaPlaylistNavigator@@UAE@I@Z @ 111 NONAME ; QMediaPlaylistNavigator::~QMediaPlaylistNavigator(unsigned int)
- ??_EQMediaPlaylistProvider@@UAE@I@Z @ 112 NONAME ; QMediaPlaylistProvider::~QMediaPlaylistProvider(unsigned int)
- ??_EQMediaPlaylistReader@@UAE@I@Z @ 113 NONAME ; QMediaPlaylistReader::~QMediaPlaylistReader(unsigned int)
- ??_EQMediaPlaylistWriter@@UAE@I@Z @ 114 NONAME ; QMediaPlaylistWriter::~QMediaPlaylistWriter(unsigned int)
- ??_EQMediaService@@UAE@I@Z @ 115 NONAME ; QMediaService::~QMediaService(unsigned int)
- ??_EQMediaServiceFeaturesInterface@@UAE@I@Z @ 116 NONAME ; QMediaServiceFeaturesInterface::~QMediaServiceFeaturesInterface(unsigned int)
- ??_EQMediaServiceProvider@@UAE@I@Z @ 117 NONAME ; QMediaServiceProvider::~QMediaServiceProvider(unsigned int)
- ??_EQMediaServiceSupportedDevicesInterface@@UAE@I@Z @ 118 NONAME ; QMediaServiceSupportedDevicesInterface::~QMediaServiceSupportedDevicesInterface(unsigned int)
- ??_EQMediaServiceSupportedFormatsInterface@@UAE@I@Z @ 119 NONAME ; QMediaServiceSupportedFormatsInterface::~QMediaServiceSupportedFormatsInterface(unsigned int)
- ??_EQMetaDataControl@@UAE@I@Z @ 120 NONAME ; QMetaDataControl::~QMetaDataControl(unsigned int)
- ??_EQPainterVideoSurface@@UAE@I@Z @ 121 NONAME ; QPainterVideoSurface::~QPainterVideoSurface(unsigned int)
- ??_EQSoundEffect@@UAE@I@Z @ 122 NONAME ; QSoundEffect::~QSoundEffect(unsigned int)
- ??_EQVideoDeviceControl@@UAE@I@Z @ 123 NONAME ; QVideoDeviceControl::~QVideoDeviceControl(unsigned int)
- ??_EQVideoOutputControl@@UAE@I@Z @ 124 NONAME ; QVideoOutputControl::~QVideoOutputControl(unsigned int)
- ??_EQVideoRendererControl@@UAE@I@Z @ 125 NONAME ; QVideoRendererControl::~QVideoRendererControl(unsigned int)
- ??_EQVideoWidget@@UAE@I@Z @ 126 NONAME ; QVideoWidget::~QVideoWidget(unsigned int)
- ??_EQVideoWidgetControl@@UAE@I@Z @ 127 NONAME ; QVideoWidgetControl::~QVideoWidgetControl(unsigned int)
- ??_EQVideoWindowControl@@UAE@I@Z @ 128 NONAME ; QVideoWindowControl::~QVideoWindowControl(unsigned int)
- ?activated@QMediaPlaylistNavigator@@IAEXABVQMediaContent@@@Z @ 129 NONAME ; void QMediaPlaylistNavigator::activated(class QMediaContent const &)
- ?addInterval@QMediaTimeRange@@QAEXABVQMediaTimeInterval@@@Z @ 130 NONAME ; void QMediaTimeRange::addInterval(class QMediaTimeInterval const &)
- ?addInterval@QMediaTimeRange@@QAEX_J0@Z @ 131 NONAME ; void QMediaTimeRange::addInterval(long long, long long)
- ?addMedia@QLocalMediaPlaylistProvider@@UAE_NABV?$QList@VQMediaContent@@@@@Z @ 132 NONAME ; bool QLocalMediaPlaylistProvider::addMedia(class QList<class QMediaContent> const &)
- ?addMedia@QLocalMediaPlaylistProvider@@UAE_NABVQMediaContent@@@Z @ 133 NONAME ; bool QLocalMediaPlaylistProvider::addMedia(class QMediaContent const &)
- ?addMedia@QMediaPlaylist@@QAE_NABV?$QList@VQMediaContent@@@@@Z @ 134 NONAME ; bool QMediaPlaylist::addMedia(class QList<class QMediaContent> const &)
- ?addMedia@QMediaPlaylist@@QAE_NABVQMediaContent@@@Z @ 135 NONAME ; bool QMediaPlaylist::addMedia(class QMediaContent const &)
- ?addMedia@QMediaPlaylistProvider@@UAE_NABV?$QList@VQMediaContent@@@@@Z @ 136 NONAME ; bool QMediaPlaylistProvider::addMedia(class QList<class QMediaContent> const &)
- ?addMedia@QMediaPlaylistProvider@@UAE_NABVQMediaContent@@@Z @ 137 NONAME ; bool QMediaPlaylistProvider::addMedia(class QMediaContent const &)
- ?addPropertyWatch@QMediaObject@@IAEXABVQByteArray@@@Z @ 138 NONAME ; void QMediaObject::addPropertyWatch(class QByteArray const &)
- ?addTimeRange@QMediaTimeRange@@QAEXABV1@@Z @ 139 NONAME ; void QMediaTimeRange::addTimeRange(class QMediaTimeRange const &)
- ?aspectRatioMode@QGraphicsVideoItem@@QBE?AW4AspectRatioMode@Qt@@XZ @ 140 NONAME ; enum Qt::AspectRatioMode QGraphicsVideoItem::aspectRatioMode(void) const
- ?aspectRatioMode@QVideoWidget@@QBE?AW4AspectRatioMode@Qt@@XZ @ 141 NONAME ; enum Qt::AspectRatioMode QVideoWidget::aspectRatioMode(void) const
- ?audioAvailableChanged@QMediaPlayer@@IAEX_N@Z @ 142 NONAME ; void QMediaPlayer::audioAvailableChanged(bool)
- ?audioAvailableChanged@QMediaPlayerControl@@IAEX_N@Z @ 143 NONAME ; void QMediaPlayerControl::audioAvailableChanged(bool)
- ?audioBitRate@QMediaResource@@QBEHXZ @ 144 NONAME ; int QMediaResource::audioBitRate(void) const
- ?audioCodec@QMediaResource@@QBE?AVQString@@XZ @ 145 NONAME ; class QString QMediaResource::audioCodec(void) const
- ?availabilityChanged@QMediaObject@@IAEX_N@Z @ 146 NONAME ; void QMediaObject::availabilityChanged(bool)
- ?availabilityError@QMediaObject@@UBE?AW4AvailabilityError@QtMediaServices@@XZ @ 147 NONAME ; enum QtMediaServices::AvailabilityError QMediaObject::availabilityError(void) const
- ?availableExtendedMetaData@QMediaObject@@QBE?AVQStringList@@XZ @ 148 NONAME ; class QStringList QMediaObject::availableExtendedMetaData(void) const
- ?availableMetaData@QMediaObject@@QBE?AV?$QList@W4MetaData@QtMediaServices@@@@XZ @ 149 NONAME ; class QList<enum QtMediaServices::MetaData> QMediaObject::availableMetaData(void) const
- ?availableOutputsChanged@QVideoOutputControl@@IAEXABV?$QList@W4Output@QVideoOutputControl@@@@@Z @ 150 NONAME ; void QVideoOutputControl::availableOutputsChanged(class QList<enum QVideoOutputControl::Output> const &)
- ?availablePlaybackRangesChanged@QMediaPlayerControl@@IAEXABVQMediaTimeRange@@@Z @ 151 NONAME ; void QMediaPlayerControl::availablePlaybackRangesChanged(class QMediaTimeRange const &)
- ?bind@QMediaObject@@UAEXPAVQObject@@@Z @ 152 NONAME ; void QMediaObject::bind(class QObject *)
- ?bind@QMediaPlayer@@UAEXPAVQObject@@@Z @ 153 NONAME ; void QMediaPlayer::bind(class QObject *)
- ?boundingRect@QGraphicsVideoItem@@UBE?AVQRectF@@XZ @ 154 NONAME ; class QRectF QGraphicsVideoItem::boundingRect(void) const
- ?brightness@QPainterVideoSurface@@QBEHXZ @ 155 NONAME ; int QPainterVideoSurface::brightness(void) const
- ?brightness@QVideoWidget@@QBEHXZ @ 156 NONAME ; int QVideoWidget::brightness(void) const
- ?brightnessChanged@QVideoWidget@@IAEXH@Z @ 157 NONAME ; void QVideoWidget::brightnessChanged(int)
- ?brightnessChanged@QVideoWidgetControl@@IAEXH@Z @ 158 NONAME ; void QVideoWidgetControl::brightnessChanged(int)
- ?brightnessChanged@QVideoWindowControl@@IAEXH@Z @ 159 NONAME ; void QVideoWindowControl::brightnessChanged(int)
- ?bufferStatus@QMediaPlayer@@QBEHXZ @ 160 NONAME ; int QMediaPlayer::bufferStatus(void) const
- ?bufferStatusChanged@QMediaPlayer@@IAEXH@Z @ 161 NONAME ; void QMediaPlayer::bufferStatusChanged(int)
- ?bufferStatusChanged@QMediaPlayerControl@@IAEXH@Z @ 162 NONAME ; void QMediaPlayerControl::bufferStatusChanged(int)
- ?canonicalRequest@QMediaContent@@QBE?AVQNetworkRequest@@XZ @ 163 NONAME ; class QNetworkRequest QMediaContent::canonicalRequest(void) const
- ?canonicalResource@QMediaContent@@QBE?AVQMediaResource@@XZ @ 164 NONAME ; class QMediaResource QMediaContent::canonicalResource(void) const
- ?canonicalUrl@QMediaContent@@QBE?AVQUrl@@XZ @ 165 NONAME ; class QUrl QMediaContent::canonicalUrl(void) const
- ?channelCount@QMediaResource@@QBEHXZ @ 166 NONAME ; int QMediaResource::channelCount(void) const
- ?clear@QLocalMediaPlaylistProvider@@UAE_NXZ @ 167 NONAME ; bool QLocalMediaPlaylistProvider::clear(void)
- ?clear@QMediaPlaylist@@QAE_NXZ @ 168 NONAME ; bool QMediaPlaylist::clear(void)
- ?clear@QMediaPlaylistProvider@@UAE_NXZ @ 169 NONAME ; bool QMediaPlaylistProvider::clear(void)
- ?clear@QMediaTimeRange@@QAEXXZ @ 170 NONAME ; void QMediaTimeRange::clear(void)
- ?codecs@QMediaServiceProviderHint@@QBE?AVQStringList@@XZ @ 171 NONAME ; class QStringList QMediaServiceProviderHint::codecs(void) const
- ?contains@QMediaTimeInterval@@QBE_N_J@Z @ 172 NONAME ; bool QMediaTimeInterval::contains(long long) const
- ?contains@QMediaTimeRange@@QBE_N_J@Z @ 173 NONAME ; bool QMediaTimeRange::contains(long long) const
- ?contrast@QPainterVideoSurface@@QBEHXZ @ 174 NONAME ; int QPainterVideoSurface::contrast(void) const
- ?contrast@QVideoWidget@@QBEHXZ @ 175 NONAME ; int QVideoWidget::contrast(void) const
- ?contrastChanged@QVideoWidget@@IAEXH@Z @ 176 NONAME ; void QVideoWidget::contrastChanged(int)
- ?contrastChanged@QVideoWidgetControl@@IAEXH@Z @ 177 NONAME ; void QVideoWidgetControl::contrastChanged(int)
- ?contrastChanged@QVideoWindowControl@@IAEXH@Z @ 178 NONAME ; void QVideoWindowControl::contrastChanged(int)
- ?createPainter@QPainterVideoSurface@@AAEXXZ @ 179 NONAME ; void QPainterVideoSurface::createPainter(void)
- ?currentIndex@QMediaPlaylist@@QBEHXZ @ 180 NONAME ; int QMediaPlaylist::currentIndex(void) const
- ?currentIndex@QMediaPlaylistNavigator@@QBEHXZ @ 181 NONAME ; int QMediaPlaylistNavigator::currentIndex(void) const
- ?currentIndexChanged@QMediaPlaylist@@IAEXH@Z @ 182 NONAME ; void QMediaPlaylist::currentIndexChanged(int)
- ?currentIndexChanged@QMediaPlaylistControl@@IAEXH@Z @ 183 NONAME ; void QMediaPlaylistControl::currentIndexChanged(int)
- ?currentIndexChanged@QMediaPlaylistNavigator@@IAEXH@Z @ 184 NONAME ; void QMediaPlaylistNavigator::currentIndexChanged(int)
- ?currentItem@QMediaPlaylistNavigator@@QBE?AVQMediaContent@@XZ @ 185 NONAME ; class QMediaContent QMediaPlaylistNavigator::currentItem(void) const
- ?currentMedia@QMediaPlaylist@@QBE?AVQMediaContent@@XZ @ 186 NONAME ; class QMediaContent QMediaPlaylist::currentMedia(void) const
- ?currentMediaChanged@QMediaPlaylist@@IAEXABVQMediaContent@@@Z @ 187 NONAME ; void QMediaPlaylist::currentMediaChanged(class QMediaContent const &)
- ?currentMediaChanged@QMediaPlaylistControl@@IAEXABVQMediaContent@@@Z @ 188 NONAME ; void QMediaPlaylistControl::currentMediaChanged(class QMediaContent const &)
- ?d_func@QGraphicsVideoItem@@AAEPAVQGraphicsVideoItemPrivate@@XZ @ 189 NONAME ; class QGraphicsVideoItemPrivate * QGraphicsVideoItem::d_func(void)
- ?d_func@QGraphicsVideoItem@@ABEPBVQGraphicsVideoItemPrivate@@XZ @ 190 NONAME ; class QGraphicsVideoItemPrivate const * QGraphicsVideoItem::d_func(void) const
- ?d_func@QLocalMediaPlaylistProvider@@AAEPAVQLocalMediaPlaylistProviderPrivate@@XZ @ 191 NONAME ; class QLocalMediaPlaylistProviderPrivate * QLocalMediaPlaylistProvider::d_func(void)
- ?d_func@QLocalMediaPlaylistProvider@@ABEPBVQLocalMediaPlaylistProviderPrivate@@XZ @ 192 NONAME ; class QLocalMediaPlaylistProviderPrivate const * QLocalMediaPlaylistProvider::d_func(void) const
- ?d_func@QMediaControl@@AAEPAVQMediaControlPrivate@@XZ @ 193 NONAME ; class QMediaControlPrivate * QMediaControl::d_func(void)
- ?d_func@QMediaControl@@ABEPBVQMediaControlPrivate@@XZ @ 194 NONAME ; class QMediaControlPrivate const * QMediaControl::d_func(void) const
- ?d_func@QMediaObject@@AAEPAVQMediaObjectPrivate@@XZ @ 195 NONAME ; class QMediaObjectPrivate * QMediaObject::d_func(void)
- ?d_func@QMediaObject@@ABEPBVQMediaObjectPrivate@@XZ @ 196 NONAME ; class QMediaObjectPrivate const * QMediaObject::d_func(void) const
- ?d_func@QMediaPlayer@@AAEPAVQMediaPlayerPrivate@@XZ @ 197 NONAME ; class QMediaPlayerPrivate * QMediaPlayer::d_func(void)
- ?d_func@QMediaPlayer@@ABEPBVQMediaPlayerPrivate@@XZ @ 198 NONAME ; class QMediaPlayerPrivate const * QMediaPlayer::d_func(void) const
- ?d_func@QMediaPlaylist@@AAEPAVQMediaPlaylistPrivate@@XZ @ 199 NONAME ; class QMediaPlaylistPrivate * QMediaPlaylist::d_func(void)
- ?d_func@QMediaPlaylist@@ABEPBVQMediaPlaylistPrivate@@XZ @ 200 NONAME ; class QMediaPlaylistPrivate const * QMediaPlaylist::d_func(void) const
- ?d_func@QMediaPlaylistNavigator@@AAEPAVQMediaPlaylistNavigatorPrivate@@XZ @ 201 NONAME ; class QMediaPlaylistNavigatorPrivate * QMediaPlaylistNavigator::d_func(void)
- ?d_func@QMediaPlaylistNavigator@@ABEPBVQMediaPlaylistNavigatorPrivate@@XZ @ 202 NONAME ; class QMediaPlaylistNavigatorPrivate const * QMediaPlaylistNavigator::d_func(void) const
- ?d_func@QMediaPlaylistProvider@@AAEPAVQMediaPlaylistProviderPrivate@@XZ @ 203 NONAME ; class QMediaPlaylistProviderPrivate * QMediaPlaylistProvider::d_func(void)
- ?d_func@QMediaPlaylistProvider@@ABEPBVQMediaPlaylistProviderPrivate@@XZ @ 204 NONAME ; class QMediaPlaylistProviderPrivate const * QMediaPlaylistProvider::d_func(void) const
- ?d_func@QMediaService@@AAEPAVQMediaServicePrivate@@XZ @ 205 NONAME ; class QMediaServicePrivate * QMediaService::d_func(void)
- ?d_func@QMediaService@@ABEPBVQMediaServicePrivate@@XZ @ 206 NONAME ; class QMediaServicePrivate const * QMediaService::d_func(void) const
- ?d_func@QVideoWidget@@AAEPAVQVideoWidgetPrivate@@XZ @ 207 NONAME ; class QVideoWidgetPrivate * QVideoWidget::d_func(void)
- ?d_func@QVideoWidget@@ABEPBVQVideoWidgetPrivate@@XZ @ 208 NONAME ; class QVideoWidgetPrivate const * QVideoWidget::d_func(void) const
- ?dataSize@QMediaResource@@QBE_JXZ @ 209 NONAME ; long long QMediaResource::dataSize(void) const
- ?defaultServiceProvider@QMediaServiceProvider@@SAPAV1@XZ @ 210 NONAME ; class QMediaServiceProvider * QMediaServiceProvider::defaultServiceProvider(void)
- ?device@QMediaServiceProviderHint@@QBE?AVQByteArray@@XZ @ 211 NONAME ; class QByteArray QMediaServiceProviderHint::device(void) const
- ?deviceDescription@QMediaServiceProvider@@UAE?AVQString@@ABVQByteArray@@0@Z @ 212 NONAME ; class QString QMediaServiceProvider::deviceDescription(class QByteArray const &, class QByteArray const &)
- ?devices@QMediaServiceProvider@@UBE?AV?$QList@VQByteArray@@@@ABVQByteArray@@@Z @ 213 NONAME ; class QList<class QByteArray> QMediaServiceProvider::devices(class QByteArray const &) const
- ?devicesChanged@QVideoDeviceControl@@IAEXXZ @ 214 NONAME ; void QVideoDeviceControl::devicesChanged(void)
- ?duration@QMediaPlayer@@QBE_JXZ @ 215 NONAME ; long long QMediaPlayer::duration(void) const
- ?durationChanged@QMediaPlayer@@IAEX_J@Z @ 216 NONAME ; void QMediaPlayer::durationChanged(long long)
- ?durationChanged@QMediaPlayerControl@@IAEX_J@Z @ 217 NONAME ; void QMediaPlayerControl::durationChanged(long long)
- ?earliestTime@QMediaTimeRange@@QBE_JXZ @ 218 NONAME ; long long QMediaTimeRange::earliestTime(void) const
- ?end@QMediaTimeInterval@@QBE_JXZ @ 219 NONAME ; long long QMediaTimeInterval::end(void) const
- ?error@QMediaPlayer@@IAEXW4Error@1@@Z @ 220 NONAME ; void QMediaPlayer::error(enum QMediaPlayer::Error)
- ?error@QMediaPlayer@@QBE?AW4Error@1@XZ @ 221 NONAME ; enum QMediaPlayer::Error QMediaPlayer::error(void) const
- ?error@QMediaPlayerControl@@IAEXHABVQString@@@Z @ 222 NONAME ; void QMediaPlayerControl::error(int, class QString const &)
- ?error@QMediaPlaylist@@QBE?AW4Error@1@XZ @ 223 NONAME ; enum QMediaPlaylist::Error QMediaPlaylist::error(void) const
- ?errorString@QMediaPlayer@@QBE?AVQString@@XZ @ 224 NONAME ; class QString QMediaPlayer::errorString(void) const
- ?errorString@QMediaPlaylist@@QBE?AVQString@@XZ @ 225 NONAME ; class QString QMediaPlaylist::errorString(void) const
- ?event@QGraphicsVideoItem@@MAE_NPAVQEvent@@@Z @ 226 NONAME ; bool QGraphicsVideoItem::event(class QEvent *)
- ?event@QVideoWidget@@MAE_NPAVQEvent@@@Z @ 227 NONAME ; bool QVideoWidget::event(class QEvent *)
- ?extendedMetaData@QMediaObject@@QBE?AVQVariant@@ABVQString@@@Z @ 228 NONAME ; class QVariant QMediaObject::extendedMetaData(class QString const &) const
- ?features@QMediaServiceProviderHint@@QBE?AV?$QFlags@W4Feature@QMediaServiceProviderHint@@@@XZ @ 229 NONAME ; class QFlags<enum QMediaServiceProviderHint::Feature> QMediaServiceProviderHint::features(void) const
- ?frameChanged@QPainterVideoSurface@@IAEXXZ @ 230 NONAME ; void QPainterVideoSurface::frameChanged(void)
- ?fullScreenChanged@QVideoWidget@@IAEX_N@Z @ 231 NONAME ; void QVideoWidget::fullScreenChanged(bool)
- ?fullScreenChanged@QVideoWidgetControl@@IAEX_N@Z @ 232 NONAME ; void QVideoWidgetControl::fullScreenChanged(bool)
- ?fullScreenChanged@QVideoWindowControl@@IAEX_N@Z @ 233 NONAME ; void QVideoWindowControl::fullScreenChanged(bool)
- ?getStaticMetaObject@QGraphicsVideoItem@@SAABUQMetaObject@@XZ @ 234 NONAME ; struct QMetaObject const & QGraphicsVideoItem::getStaticMetaObject(void)
- ?getStaticMetaObject@QLocalMediaPlaylistProvider@@SAABUQMetaObject@@XZ @ 235 NONAME ; struct QMetaObject const & QLocalMediaPlaylistProvider::getStaticMetaObject(void)
- ?getStaticMetaObject@QMediaControl@@SAABUQMetaObject@@XZ @ 236 NONAME ; struct QMetaObject const & QMediaControl::getStaticMetaObject(void)
- ?getStaticMetaObject@QMediaObject@@SAABUQMetaObject@@XZ @ 237 NONAME ; struct QMetaObject const & QMediaObject::getStaticMetaObject(void)
- ?getStaticMetaObject@QMediaPlayer@@SAABUQMetaObject@@XZ @ 238 NONAME ; struct QMetaObject const & QMediaPlayer::getStaticMetaObject(void)
- ?getStaticMetaObject@QMediaPlayerControl@@SAABUQMetaObject@@XZ @ 239 NONAME ; struct QMetaObject const & QMediaPlayerControl::getStaticMetaObject(void)
- ?getStaticMetaObject@QMediaPlaylist@@SAABUQMetaObject@@XZ @ 240 NONAME ; struct QMetaObject const & QMediaPlaylist::getStaticMetaObject(void)
- ?getStaticMetaObject@QMediaPlaylistControl@@SAABUQMetaObject@@XZ @ 241 NONAME ; struct QMetaObject const & QMediaPlaylistControl::getStaticMetaObject(void)
- ?getStaticMetaObject@QMediaPlaylistIOPlugin@@SAABUQMetaObject@@XZ @ 242 NONAME ; struct QMetaObject const & QMediaPlaylistIOPlugin::getStaticMetaObject(void)
- ?getStaticMetaObject@QMediaPlaylistNavigator@@SAABUQMetaObject@@XZ @ 243 NONAME ; struct QMetaObject const & QMediaPlaylistNavigator::getStaticMetaObject(void)
- ?getStaticMetaObject@QMediaPlaylistProvider@@SAABUQMetaObject@@XZ @ 244 NONAME ; struct QMetaObject const & QMediaPlaylistProvider::getStaticMetaObject(void)
- ?getStaticMetaObject@QMediaService@@SAABUQMetaObject@@XZ @ 245 NONAME ; struct QMetaObject const & QMediaService::getStaticMetaObject(void)
- ?getStaticMetaObject@QMediaServiceProvider@@SAABUQMetaObject@@XZ @ 246 NONAME ; struct QMetaObject const & QMediaServiceProvider::getStaticMetaObject(void)
- ?getStaticMetaObject@QMediaServiceProviderPlugin@@SAABUQMetaObject@@XZ @ 247 NONAME ; struct QMetaObject const & QMediaServiceProviderPlugin::getStaticMetaObject(void)
- ?getStaticMetaObject@QMetaDataControl@@SAABUQMetaObject@@XZ @ 248 NONAME ; struct QMetaObject const & QMetaDataControl::getStaticMetaObject(void)
- ?getStaticMetaObject@QPainterVideoSurface@@SAABUQMetaObject@@XZ @ 249 NONAME ; struct QMetaObject const & QPainterVideoSurface::getStaticMetaObject(void)
- ?getStaticMetaObject@QSoundEffect@@SAABUQMetaObject@@XZ @ 250 NONAME ; struct QMetaObject const & QSoundEffect::getStaticMetaObject(void)
- ?getStaticMetaObject@QVideoDeviceControl@@SAABUQMetaObject@@XZ @ 251 NONAME ; struct QMetaObject const & QVideoDeviceControl::getStaticMetaObject(void)
- ?getStaticMetaObject@QVideoOutputControl@@SAABUQMetaObject@@XZ @ 252 NONAME ; struct QMetaObject const & QVideoOutputControl::getStaticMetaObject(void)
- ?getStaticMetaObject@QVideoRendererControl@@SAABUQMetaObject@@XZ @ 253 NONAME ; struct QMetaObject const & QVideoRendererControl::getStaticMetaObject(void)
- ?getStaticMetaObject@QVideoWidget@@SAABUQMetaObject@@XZ @ 254 NONAME ; struct QMetaObject const & QVideoWidget::getStaticMetaObject(void)
- ?getStaticMetaObject@QVideoWidgetControl@@SAABUQMetaObject@@XZ @ 255 NONAME ; struct QMetaObject const & QVideoWidgetControl::getStaticMetaObject(void)
- ?getStaticMetaObject@QVideoWindowControl@@SAABUQMetaObject@@XZ @ 256 NONAME ; struct QMetaObject const & QVideoWindowControl::getStaticMetaObject(void)
- ?hasSupport@QMediaPlayer@@SA?AW4SupportEstimate@QtMediaServices@@ABVQString@@ABVQStringList@@V?$QFlags@W4Flag@QMediaPlayer@@@@@Z @ 257 NONAME ; enum QtMediaServices::SupportEstimate QMediaPlayer::hasSupport(class QString const &, class QStringList const &, class QFlags<enum QMediaPlayer::Flag>)
- ?hasSupport@QMediaServiceProvider@@UBE?AW4SupportEstimate@QtMediaServices@@ABVQByteArray@@ABVQString@@ABVQStringList@@H@Z @ 258 NONAME ; enum QtMediaServices::SupportEstimate QMediaServiceProvider::hasSupport(class QByteArray const &, class QString const &, class QStringList const &, int) const
- ?hideEvent@QVideoWidget@@MAEXPAVQHideEvent@@@Z @ 259 NONAME ; void QVideoWidget::hideEvent(class QHideEvent *)
- ?hue@QPainterVideoSurface@@QBEHXZ @ 260 NONAME ; int QPainterVideoSurface::hue(void) const
- ?hue@QVideoWidget@@QBEHXZ @ 261 NONAME ; int QVideoWidget::hue(void) const
- ?hueChanged@QVideoWidget@@IAEXH@Z @ 262 NONAME ; void QVideoWidget::hueChanged(int)
- ?hueChanged@QVideoWidgetControl@@IAEXH@Z @ 263 NONAME ; void QVideoWidgetControl::hueChanged(int)
- ?hueChanged@QVideoWindowControl@@IAEXH@Z @ 264 NONAME ; void QVideoWindowControl::hueChanged(int)
- ?insertMedia@QLocalMediaPlaylistProvider@@UAE_NHABV?$QList@VQMediaContent@@@@@Z @ 265 NONAME ; bool QLocalMediaPlaylistProvider::insertMedia(int, class QList<class QMediaContent> const &)
- ?insertMedia@QLocalMediaPlaylistProvider@@UAE_NHABVQMediaContent@@@Z @ 266 NONAME ; bool QLocalMediaPlaylistProvider::insertMedia(int, class QMediaContent const &)
- ?insertMedia@QMediaPlaylist@@QAE_NHABV?$QList@VQMediaContent@@@@@Z @ 267 NONAME ; bool QMediaPlaylist::insertMedia(int, class QList<class QMediaContent> const &)
- ?insertMedia@QMediaPlaylist@@QAE_NHABVQMediaContent@@@Z @ 268 NONAME ; bool QMediaPlaylist::insertMedia(int, class QMediaContent const &)
- ?insertMedia@QMediaPlaylistProvider@@UAE_NHABV?$QList@VQMediaContent@@@@@Z @ 269 NONAME ; bool QMediaPlaylistProvider::insertMedia(int, class QList<class QMediaContent> const &)
- ?insertMedia@QMediaPlaylistProvider@@UAE_NHABVQMediaContent@@@Z @ 270 NONAME ; bool QMediaPlaylistProvider::insertMedia(int, class QMediaContent const &)
- ?intervals@QMediaTimeRange@@QBE?AV?$QList@VQMediaTimeInterval@@@@XZ @ 271 NONAME ; class QList<class QMediaTimeInterval> QMediaTimeRange::intervals(void) const
- ?isAudioAvailable@QMediaPlayer@@QBE_NXZ @ 272 NONAME ; bool QMediaPlayer::isAudioAvailable(void) const
- ?isAvailable@QMediaObject@@UBE_NXZ @ 273 NONAME ; bool QMediaObject::isAvailable(void) const
- ?isContinuous@QMediaTimeRange@@QBE_NXZ @ 274 NONAME ; bool QMediaTimeRange::isContinuous(void) const
- ?isEmpty@QMediaPlaylist@@QBE_NXZ @ 275 NONAME ; bool QMediaPlaylist::isEmpty(void) const
- ?isEmpty@QMediaTimeRange@@QBE_NXZ @ 276 NONAME ; bool QMediaTimeRange::isEmpty(void) const
- ?isFormatSupported@QPainterVideoSurface@@QBE_NABVQVideoSurfaceFormat@@PAV2@@Z @ 277 NONAME ; bool QPainterVideoSurface::isFormatSupported(class QVideoSurfaceFormat const &, class QVideoSurfaceFormat *) const
- ?isMetaDataAvailable@QMediaObject@@QBE_NXZ @ 278 NONAME ; bool QMediaObject::isMetaDataAvailable(void) const
- ?isMetaDataWritable@QMediaObject@@QBE_NXZ @ 279 NONAME ; bool QMediaObject::isMetaDataWritable(void) const
- ?isMuted@QMediaPlayer@@QBE_NXZ @ 280 NONAME ; bool QMediaPlayer::isMuted(void) const
- ?isMuted@QSoundEffect@@QBE_NXZ @ 281 NONAME ; bool QSoundEffect::isMuted(void) const
- ?isNormal@QMediaTimeInterval@@QBE_NXZ @ 282 NONAME ; bool QMediaTimeInterval::isNormal(void) const
- ?isNull@QMediaContent@@QBE_NXZ @ 283 NONAME ; bool QMediaContent::isNull(void) const
- ?isNull@QMediaResource@@QBE_NXZ @ 284 NONAME ; bool QMediaResource::isNull(void) const
- ?isNull@QMediaServiceProviderHint@@QBE_NXZ @ 285 NONAME ; bool QMediaServiceProviderHint::isNull(void) const
- ?isReadOnly@QLocalMediaPlaylistProvider@@UBE_NXZ @ 286 NONAME ; bool QLocalMediaPlaylistProvider::isReadOnly(void) const
- ?isReadOnly@QMediaPlaylist@@QBE_NXZ @ 287 NONAME ; bool QMediaPlaylist::isReadOnly(void) const
- ?isReadOnly@QMediaPlaylistProvider@@UBE_NXZ @ 288 NONAME ; bool QMediaPlaylistProvider::isReadOnly(void) const
- ?isReady@QPainterVideoSurface@@QBE_NXZ @ 289 NONAME ; bool QPainterVideoSurface::isReady(void) const
- ?isSeekable@QMediaPlayer@@QBE_NXZ @ 290 NONAME ; bool QMediaPlayer::isSeekable(void) const
- ?isVideoAvailable@QMediaPlayer@@QBE_NXZ @ 291 NONAME ; bool QMediaPlayer::isVideoAvailable(void) const
- ?itemAt@QMediaPlaylistNavigator@@QBE?AVQMediaContent@@H@Z @ 292 NONAME ; class QMediaContent QMediaPlaylistNavigator::itemAt(int) const
- ?itemChange@QGraphicsVideoItem@@MAE?AVQVariant@@W4GraphicsItemChange@QGraphicsItem@@ABV2@@Z @ 293 NONAME ; class QVariant QGraphicsVideoItem::itemChange(enum QGraphicsItem::GraphicsItemChange, class QVariant const &)
- ?jump@QMediaPlaylistNavigator@@QAEXH@Z @ 294 NONAME ; void QMediaPlaylistNavigator::jump(int)
- ?language@QMediaResource@@QBE?AVQString@@XZ @ 295 NONAME ; class QString QMediaResource::language(void) const
- ?latestTime@QMediaTimeRange@@QBE_JXZ @ 296 NONAME ; long long QMediaTimeRange::latestTime(void) const
- ?load@QMediaPlaylist@@QAEXABVQUrl@@PBD@Z @ 297 NONAME ; void QMediaPlaylist::load(class QUrl const &, char const *)
- ?load@QMediaPlaylist@@QAEXPAVQIODevice@@PBD@Z @ 298 NONAME ; void QMediaPlaylist::load(class QIODevice *, char const *)
- ?load@QMediaPlaylistProvider@@UAE_NABVQUrl@@PBD@Z @ 299 NONAME ; bool QMediaPlaylistProvider::load(class QUrl const &, char const *)
- ?load@QMediaPlaylistProvider@@UAE_NPAVQIODevice@@PBD@Z @ 300 NONAME ; bool QMediaPlaylistProvider::load(class QIODevice *, char const *)
- ?loadFailed@QMediaPlaylist@@IAEXXZ @ 301 NONAME ; void QMediaPlaylist::loadFailed(void)
- ?loadFailed@QMediaPlaylistProvider@@IAEXW4Error@QMediaPlaylist@@ABVQString@@@Z @ 302 NONAME ; void QMediaPlaylistProvider::loadFailed(enum QMediaPlaylist::Error, class QString const &)
- ?loaded@QMediaPlaylist@@IAEXXZ @ 303 NONAME ; void QMediaPlaylist::loaded(void)
- ?loaded@QMediaPlaylistProvider@@IAEXXZ @ 304 NONAME ; void QMediaPlaylistProvider::loaded(void)
- ?loops@QSoundEffect@@QBEHXZ @ 305 NONAME ; int QSoundEffect::loops(void) const
- ?loopsChanged@QSoundEffect@@IAEXXZ @ 306 NONAME ; void QSoundEffect::loopsChanged(void)
- ?media@QLocalMediaPlaylistProvider@@UBE?AVQMediaContent@@H@Z @ 307 NONAME ; class QMediaContent QLocalMediaPlaylistProvider::media(int) const
- ?media@QMediaPlayer@@QBE?AVQMediaContent@@XZ @ 308 NONAME ; class QMediaContent QMediaPlayer::media(void) const
- ?media@QMediaPlaylist@@QBE?AVQMediaContent@@H@Z @ 309 NONAME ; class QMediaContent QMediaPlaylist::media(int) const
- ?mediaAboutToBeInserted@QMediaPlaylist@@IAEXHH@Z @ 310 NONAME ; void QMediaPlaylist::mediaAboutToBeInserted(int, int)
- ?mediaAboutToBeInserted@QMediaPlaylistProvider@@IAEXHH@Z @ 311 NONAME ; void QMediaPlaylistProvider::mediaAboutToBeInserted(int, int)
- ?mediaAboutToBeRemoved@QMediaPlaylist@@IAEXHH@Z @ 312 NONAME ; void QMediaPlaylist::mediaAboutToBeRemoved(int, int)
- ?mediaAboutToBeRemoved@QMediaPlaylistProvider@@IAEXHH@Z @ 313 NONAME ; void QMediaPlaylistProvider::mediaAboutToBeRemoved(int, int)
- ?mediaChanged@QMediaPlayer@@IAEXABVQMediaContent@@@Z @ 314 NONAME ; void QMediaPlayer::mediaChanged(class QMediaContent const &)
- ?mediaChanged@QMediaPlayerControl@@IAEXABVQMediaContent@@@Z @ 315 NONAME ; void QMediaPlayerControl::mediaChanged(class QMediaContent const &)
- ?mediaChanged@QMediaPlaylist@@IAEXHH@Z @ 316 NONAME ; void QMediaPlaylist::mediaChanged(int, int)
- ?mediaChanged@QMediaPlaylistProvider@@IAEXHH@Z @ 317 NONAME ; void QMediaPlaylistProvider::mediaChanged(int, int)
- ?mediaCount@QLocalMediaPlaylistProvider@@UBEHXZ @ 318 NONAME ; int QLocalMediaPlaylistProvider::mediaCount(void) const
- ?mediaCount@QMediaPlaylist@@QBEHXZ @ 319 NONAME ; int QMediaPlaylist::mediaCount(void) const
- ?mediaInserted@QMediaPlaylist@@IAEXHH@Z @ 320 NONAME ; void QMediaPlaylist::mediaInserted(int, int)
- ?mediaInserted@QMediaPlaylistProvider@@IAEXHH@Z @ 321 NONAME ; void QMediaPlaylistProvider::mediaInserted(int, int)
- ?mediaObject@QGraphicsVideoItem@@QBEPAVQMediaObject@@XZ @ 322 NONAME ; class QMediaObject * QGraphicsVideoItem::mediaObject(void) const
- ?mediaObject@QMediaPlaylist@@QBEPAVQMediaObject@@XZ @ 323 NONAME ; class QMediaObject * QMediaPlaylist::mediaObject(void) const
- ?mediaObject@QVideoWidget@@QBEPAVQMediaObject@@XZ @ 324 NONAME ; class QMediaObject * QVideoWidget::mediaObject(void) const
- ?mediaRemoved@QMediaPlaylist@@IAEXHH@Z @ 325 NONAME ; void QMediaPlaylist::mediaRemoved(int, int)
- ?mediaRemoved@QMediaPlaylistProvider@@IAEXHH@Z @ 326 NONAME ; void QMediaPlaylistProvider::mediaRemoved(int, int)
- ?mediaStatus@QMediaPlayer@@QBE?AW4MediaStatus@1@XZ @ 327 NONAME ; enum QMediaPlayer::MediaStatus QMediaPlayer::mediaStatus(void) const
- ?mediaStatusChanged@QMediaPlayer@@IAEXW4MediaStatus@1@@Z @ 328 NONAME ; void QMediaPlayer::mediaStatusChanged(enum QMediaPlayer::MediaStatus)
- ?mediaStatusChanged@QMediaPlayerControl@@IAEXW4MediaStatus@QMediaPlayer@@@Z @ 329 NONAME ; void QMediaPlayerControl::mediaStatusChanged(enum QMediaPlayer::MediaStatus)
- ?mediaStream@QMediaPlayer@@QBEPBVQIODevice@@XZ @ 330 NONAME ; class QIODevice const * QMediaPlayer::mediaStream(void) const
- ?metaData@QMediaObject@@QBE?AVQVariant@@W4MetaData@QtMediaServices@@@Z @ 331 NONAME ; class QVariant QMediaObject::metaData(enum QtMediaServices::MetaData) const
- ?metaDataAvailableChanged@QMediaObject@@IAEX_N@Z @ 332 NONAME ; void QMediaObject::metaDataAvailableChanged(bool)
- ?metaDataAvailableChanged@QMetaDataControl@@IAEX_N@Z @ 333 NONAME ; void QMetaDataControl::metaDataAvailableChanged(bool)
- ?metaDataChanged@QMediaObject@@IAEXXZ @ 334 NONAME ; void QMediaObject::metaDataChanged(void)
- ?metaDataChanged@QMetaDataControl@@IAEXXZ @ 335 NONAME ; void QMetaDataControl::metaDataChanged(void)
- ?metaDataWritableChanged@QMediaObject@@IAEX_N@Z @ 336 NONAME ; void QMediaObject::metaDataWritableChanged(bool)
- ?metaObject@QGraphicsVideoItem@@UBEPBUQMetaObject@@XZ @ 337 NONAME ; struct QMetaObject const * QGraphicsVideoItem::metaObject(void) const
- ?metaObject@QLocalMediaPlaylistProvider@@UBEPBUQMetaObject@@XZ @ 338 NONAME ; struct QMetaObject const * QLocalMediaPlaylistProvider::metaObject(void) const
- ?metaObject@QMediaControl@@UBEPBUQMetaObject@@XZ @ 339 NONAME ; struct QMetaObject const * QMediaControl::metaObject(void) const
- ?metaObject@QMediaObject@@UBEPBUQMetaObject@@XZ @ 340 NONAME ; struct QMetaObject const * QMediaObject::metaObject(void) const
- ?metaObject@QMediaPlayer@@UBEPBUQMetaObject@@XZ @ 341 NONAME ; struct QMetaObject const * QMediaPlayer::metaObject(void) const
- ?metaObject@QMediaPlayerControl@@UBEPBUQMetaObject@@XZ @ 342 NONAME ; struct QMetaObject const * QMediaPlayerControl::metaObject(void) const
- ?metaObject@QMediaPlaylist@@UBEPBUQMetaObject@@XZ @ 343 NONAME ; struct QMetaObject const * QMediaPlaylist::metaObject(void) const
- ?metaObject@QMediaPlaylistControl@@UBEPBUQMetaObject@@XZ @ 344 NONAME ; struct QMetaObject const * QMediaPlaylistControl::metaObject(void) const
- ?metaObject@QMediaPlaylistIOPlugin@@UBEPBUQMetaObject@@XZ @ 345 NONAME ; struct QMetaObject const * QMediaPlaylistIOPlugin::metaObject(void) const
- ?metaObject@QMediaPlaylistNavigator@@UBEPBUQMetaObject@@XZ @ 346 NONAME ; struct QMetaObject const * QMediaPlaylistNavigator::metaObject(void) const
- ?metaObject@QMediaPlaylistProvider@@UBEPBUQMetaObject@@XZ @ 347 NONAME ; struct QMetaObject const * QMediaPlaylistProvider::metaObject(void) const
- ?metaObject@QMediaService@@UBEPBUQMetaObject@@XZ @ 348 NONAME ; struct QMetaObject const * QMediaService::metaObject(void) const
- ?metaObject@QMediaServiceProvider@@UBEPBUQMetaObject@@XZ @ 349 NONAME ; struct QMetaObject const * QMediaServiceProvider::metaObject(void) const
- ?metaObject@QMediaServiceProviderPlugin@@UBEPBUQMetaObject@@XZ @ 350 NONAME ; struct QMetaObject const * QMediaServiceProviderPlugin::metaObject(void) const
- ?metaObject@QMetaDataControl@@UBEPBUQMetaObject@@XZ @ 351 NONAME ; struct QMetaObject const * QMetaDataControl::metaObject(void) const
- ?metaObject@QPainterVideoSurface@@UBEPBUQMetaObject@@XZ @ 352 NONAME ; struct QMetaObject const * QPainterVideoSurface::metaObject(void) const
- ?metaObject@QSoundEffect@@UBEPBUQMetaObject@@XZ @ 353 NONAME ; struct QMetaObject const * QSoundEffect::metaObject(void) const
- ?metaObject@QVideoDeviceControl@@UBEPBUQMetaObject@@XZ @ 354 NONAME ; struct QMetaObject const * QVideoDeviceControl::metaObject(void) const
- ?metaObject@QVideoOutputControl@@UBEPBUQMetaObject@@XZ @ 355 NONAME ; struct QMetaObject const * QVideoOutputControl::metaObject(void) const
- ?metaObject@QVideoRendererControl@@UBEPBUQMetaObject@@XZ @ 356 NONAME ; struct QMetaObject const * QVideoRendererControl::metaObject(void) const
- ?metaObject@QVideoWidget@@UBEPBUQMetaObject@@XZ @ 357 NONAME ; struct QMetaObject const * QVideoWidget::metaObject(void) const
- ?metaObject@QVideoWidgetControl@@UBEPBUQMetaObject@@XZ @ 358 NONAME ; struct QMetaObject const * QVideoWidgetControl::metaObject(void) const
- ?metaObject@QVideoWindowControl@@UBEPBUQMetaObject@@XZ @ 359 NONAME ; struct QMetaObject const * QVideoWindowControl::metaObject(void) const
- ?mimeType@QMediaResource@@QBE?AVQString@@XZ @ 360 NONAME ; class QString QMediaResource::mimeType(void) const
- ?mimeType@QMediaServiceProviderHint@@QBE?AVQString@@XZ @ 361 NONAME ; class QString QMediaServiceProviderHint::mimeType(void) const
- ?moveEvent@QVideoWidget@@MAEXPAVQMoveEvent@@@Z @ 362 NONAME ; void QVideoWidget::moveEvent(class QMoveEvent *)
- ?mutedChanged@QMediaPlayer@@IAEX_N@Z @ 363 NONAME ; void QMediaPlayer::mutedChanged(bool)
- ?mutedChanged@QMediaPlayerControl@@IAEX_N@Z @ 364 NONAME ; void QMediaPlayerControl::mutedChanged(bool)
- ?mutedChanged@QSoundEffect@@IAEXXZ @ 365 NONAME ; void QSoundEffect::mutedChanged(void)
- ?nativeSize@QGraphicsVideoItem@@QBE?AVQSizeF@@XZ @ 366 NONAME ; class QSizeF QGraphicsVideoItem::nativeSize(void) const
- ?nativeSizeChanged@QGraphicsVideoItem@@IAEXABVQSizeF@@@Z @ 367 NONAME ; void QGraphicsVideoItem::nativeSizeChanged(class QSizeF const &)
- ?nativeSizeChanged@QVideoWindowControl@@IAEXXZ @ 368 NONAME ; void QVideoWindowControl::nativeSizeChanged(void)
- ?next@QMediaPlaylist@@QAEXXZ @ 369 NONAME ; void QMediaPlaylist::next(void)
- ?next@QMediaPlaylistNavigator@@QAEXXZ @ 370 NONAME ; void QMediaPlaylistNavigator::next(void)
- ?nextIndex@QMediaPlaylist@@QBEHH@Z @ 371 NONAME ; int QMediaPlaylist::nextIndex(int) const
- ?nextIndex@QMediaPlaylistNavigator@@QBEHH@Z @ 372 NONAME ; int QMediaPlaylistNavigator::nextIndex(int) const
- ?nextItem@QMediaPlaylistNavigator@@QBE?AVQMediaContent@@H@Z @ 373 NONAME ; class QMediaContent QMediaPlaylistNavigator::nextItem(int) const
- ?normalized@QMediaTimeInterval@@QBE?AV1@XZ @ 374 NONAME ; class QMediaTimeInterval QMediaTimeInterval::normalized(void) const
- ?notifyInterval@QMediaObject@@QBEHXZ @ 375 NONAME ; int QMediaObject::notifyInterval(void) const
- ?notifyIntervalChanged@QMediaObject@@IAEXH@Z @ 376 NONAME ; void QMediaObject::notifyIntervalChanged(int)
- ?offset@QGraphicsVideoItem@@QBE?AVQPointF@@XZ @ 377 NONAME ; class QPointF QGraphicsVideoItem::offset(void) const
- ?paint@QGraphicsVideoItem@@UAEXPAVQPainter@@PBVQStyleOptionGraphicsItem@@PAVQWidget@@@Z @ 378 NONAME ; void QGraphicsVideoItem::paint(class QPainter *, class QStyleOptionGraphicsItem const *, class QWidget *)
- ?paint@QPainterVideoSurface@@QAEXPAVQPainter@@ABVQRectF@@1@Z @ 379 NONAME ; void QPainterVideoSurface::paint(class QPainter *, class QRectF const &, class QRectF const &)
- ?paintEvent@QVideoWidget@@MAEXPAVQPaintEvent@@@Z @ 380 NONAME ; void QVideoWidget::paintEvent(class QPaintEvent *)
- ?pause@QMediaPlayer@@QAEXXZ @ 381 NONAME ; void QMediaPlayer::pause(void)
- ?play@QMediaPlayer@@QAEXXZ @ 382 NONAME ; void QMediaPlayer::play(void)
- ?play@QSoundEffect@@QAEXXZ @ 383 NONAME ; void QSoundEffect::play(void)
- ?playbackMode@QMediaPlaylist@@QBE?AW4PlaybackMode@1@XZ @ 384 NONAME ; enum QMediaPlaylist::PlaybackMode QMediaPlaylist::playbackMode(void) const
- ?playbackMode@QMediaPlaylistNavigator@@QBE?AW4PlaybackMode@QMediaPlaylist@@XZ @ 385 NONAME ; enum QMediaPlaylist::PlaybackMode QMediaPlaylistNavigator::playbackMode(void) const
- ?playbackModeChanged@QMediaPlaylist@@IAEXW4PlaybackMode@1@@Z @ 386 NONAME ; void QMediaPlaylist::playbackModeChanged(enum QMediaPlaylist::PlaybackMode)
- ?playbackModeChanged@QMediaPlaylistControl@@IAEXW4PlaybackMode@QMediaPlaylist@@@Z @ 387 NONAME ; void QMediaPlaylistControl::playbackModeChanged(enum QMediaPlaylist::PlaybackMode)
- ?playbackModeChanged@QMediaPlaylistNavigator@@IAEXW4PlaybackMode@QMediaPlaylist@@@Z @ 388 NONAME ; void QMediaPlaylistNavigator::playbackModeChanged(enum QMediaPlaylist::PlaybackMode)
- ?playbackRate@QMediaPlayer@@QBEMXZ @ 389 NONAME ; float QMediaPlayer::playbackRate(void) const
- ?playbackRateChanged@QMediaPlayer@@IAEXM@Z @ 390 NONAME ; void QMediaPlayer::playbackRateChanged(float)
- ?playbackRateChanged@QMediaPlayerControl@@IAEXM@Z @ 391 NONAME ; void QMediaPlayerControl::playbackRateChanged(float)
- ?playlist@QMediaPlaylistNavigator@@QBEPAVQMediaPlaylistProvider@@XZ @ 392 NONAME ; class QMediaPlaylistProvider * QMediaPlaylistNavigator::playlist(void) const
- ?playlistProviderChanged@QMediaPlaylistControl@@IAEXXZ @ 393 NONAME ; void QMediaPlaylistControl::playlistProviderChanged(void)
- ?position@QMediaPlayer@@QBE_JXZ @ 394 NONAME ; long long QMediaPlayer::position(void) const
- ?positionChanged@QMediaPlayer@@IAEX_J@Z @ 395 NONAME ; void QMediaPlayer::positionChanged(long long)
- ?positionChanged@QMediaPlayerControl@@IAEX_J@Z @ 396 NONAME ; void QMediaPlayerControl::positionChanged(long long)
- ?present@QPainterVideoSurface@@UAE_NABVQVideoFrame@@@Z @ 397 NONAME ; bool QPainterVideoSurface::present(class QVideoFrame const &)
- ?previous@QMediaPlaylist@@QAEXXZ @ 398 NONAME ; void QMediaPlaylist::previous(void)
- ?previous@QMediaPlaylistNavigator@@QAEXXZ @ 399 NONAME ; void QMediaPlaylistNavigator::previous(void)
- ?previousIndex@QMediaPlaylist@@QBEHH@Z @ 400 NONAME ; int QMediaPlaylist::previousIndex(int) const
- ?previousIndex@QMediaPlaylistNavigator@@QBEHH@Z @ 401 NONAME ; int QMediaPlaylistNavigator::previousIndex(int) const
- ?previousItem@QMediaPlaylistNavigator@@QBE?AVQMediaContent@@H@Z @ 402 NONAME ; class QMediaContent QMediaPlaylistNavigator::previousItem(int) const
- ?qt_metacall@QGraphicsVideoItem@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 403 NONAME ; int QGraphicsVideoItem::qt_metacall(enum QMetaObject::Call, int, void * *)
- ?qt_metacall@QLocalMediaPlaylistProvider@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 404 NONAME ; int QLocalMediaPlaylistProvider::qt_metacall(enum QMetaObject::Call, int, void * *)
- ?qt_metacall@QMediaControl@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 405 NONAME ; int QMediaControl::qt_metacall(enum QMetaObject::Call, int, void * *)
- ?qt_metacall@QMediaObject@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 406 NONAME ; int QMediaObject::qt_metacall(enum QMetaObject::Call, int, void * *)
- ?qt_metacall@QMediaPlayer@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 407 NONAME ; int QMediaPlayer::qt_metacall(enum QMetaObject::Call, int, void * *)
- ?qt_metacall@QMediaPlayerControl@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 408 NONAME ; int QMediaPlayerControl::qt_metacall(enum QMetaObject::Call, int, void * *)
- ?qt_metacall@QMediaPlaylist@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 409 NONAME ; int QMediaPlaylist::qt_metacall(enum QMetaObject::Call, int, void * *)
- ?qt_metacall@QMediaPlaylistControl@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 410 NONAME ; int QMediaPlaylistControl::qt_metacall(enum QMetaObject::Call, int, void * *)
- ?qt_metacall@QMediaPlaylistIOPlugin@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 411 NONAME ; int QMediaPlaylistIOPlugin::qt_metacall(enum QMetaObject::Call, int, void * *)
- ?qt_metacall@QMediaPlaylistNavigator@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 412 NONAME ; int QMediaPlaylistNavigator::qt_metacall(enum QMetaObject::Call, int, void * *)
- ?qt_metacall@QMediaPlaylistProvider@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 413 NONAME ; int QMediaPlaylistProvider::qt_metacall(enum QMetaObject::Call, int, void * *)
- ?qt_metacall@QMediaService@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 414 NONAME ; int QMediaService::qt_metacall(enum QMetaObject::Call, int, void * *)
- ?qt_metacall@QMediaServiceProvider@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 415 NONAME ; int QMediaServiceProvider::qt_metacall(enum QMetaObject::Call, int, void * *)
- ?qt_metacall@QMediaServiceProviderPlugin@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 416 NONAME ; int QMediaServiceProviderPlugin::qt_metacall(enum QMetaObject::Call, int, void * *)
- ?qt_metacall@QMetaDataControl@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 417 NONAME ; int QMetaDataControl::qt_metacall(enum QMetaObject::Call, int, void * *)
- ?qt_metacall@QPainterVideoSurface@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 418 NONAME ; int QPainterVideoSurface::qt_metacall(enum QMetaObject::Call, int, void * *)
- ?qt_metacall@QSoundEffect@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 419 NONAME ; int QSoundEffect::qt_metacall(enum QMetaObject::Call, int, void * *)
- ?qt_metacall@QVideoDeviceControl@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 420 NONAME ; int QVideoDeviceControl::qt_metacall(enum QMetaObject::Call, int, void * *)
- ?qt_metacall@QVideoOutputControl@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 421 NONAME ; int QVideoOutputControl::qt_metacall(enum QMetaObject::Call, int, void * *)
- ?qt_metacall@QVideoRendererControl@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 422 NONAME ; int QVideoRendererControl::qt_metacall(enum QMetaObject::Call, int, void * *)
- ?qt_metacall@QVideoWidget@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 423 NONAME ; int QVideoWidget::qt_metacall(enum QMetaObject::Call, int, void * *)
- ?qt_metacall@QVideoWidgetControl@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 424 NONAME ; int QVideoWidgetControl::qt_metacall(enum QMetaObject::Call, int, void * *)
- ?qt_metacall@QVideoWindowControl@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 425 NONAME ; int QVideoWindowControl::qt_metacall(enum QMetaObject::Call, int, void * *)
- ?qt_metacast@QGraphicsVideoItem@@UAEPAXPBD@Z @ 426 NONAME ; void * QGraphicsVideoItem::qt_metacast(char const *)
- ?qt_metacast@QLocalMediaPlaylistProvider@@UAEPAXPBD@Z @ 427 NONAME ; void * QLocalMediaPlaylistProvider::qt_metacast(char const *)
- ?qt_metacast@QMediaControl@@UAEPAXPBD@Z @ 428 NONAME ; void * QMediaControl::qt_metacast(char const *)
- ?qt_metacast@QMediaObject@@UAEPAXPBD@Z @ 429 NONAME ; void * QMediaObject::qt_metacast(char const *)
- ?qt_metacast@QMediaPlayer@@UAEPAXPBD@Z @ 430 NONAME ; void * QMediaPlayer::qt_metacast(char const *)
- ?qt_metacast@QMediaPlayerControl@@UAEPAXPBD@Z @ 431 NONAME ; void * QMediaPlayerControl::qt_metacast(char const *)
- ?qt_metacast@QMediaPlaylist@@UAEPAXPBD@Z @ 432 NONAME ; void * QMediaPlaylist::qt_metacast(char const *)
- ?qt_metacast@QMediaPlaylistControl@@UAEPAXPBD@Z @ 433 NONAME ; void * QMediaPlaylistControl::qt_metacast(char const *)
- ?qt_metacast@QMediaPlaylistIOPlugin@@UAEPAXPBD@Z @ 434 NONAME ; void * QMediaPlaylistIOPlugin::qt_metacast(char const *)
- ?qt_metacast@QMediaPlaylistNavigator@@UAEPAXPBD@Z @ 435 NONAME ; void * QMediaPlaylistNavigator::qt_metacast(char const *)
- ?qt_metacast@QMediaPlaylistProvider@@UAEPAXPBD@Z @ 436 NONAME ; void * QMediaPlaylistProvider::qt_metacast(char const *)
- ?qt_metacast@QMediaService@@UAEPAXPBD@Z @ 437 NONAME ; void * QMediaService::qt_metacast(char const *)
- ?qt_metacast@QMediaServiceProvider@@UAEPAXPBD@Z @ 438 NONAME ; void * QMediaServiceProvider::qt_metacast(char const *)
- ?qt_metacast@QMediaServiceProviderPlugin@@UAEPAXPBD@Z @ 439 NONAME ; void * QMediaServiceProviderPlugin::qt_metacast(char const *)
- ?qt_metacast@QMetaDataControl@@UAEPAXPBD@Z @ 440 NONAME ; void * QMetaDataControl::qt_metacast(char const *)
- ?qt_metacast@QPainterVideoSurface@@UAEPAXPBD@Z @ 441 NONAME ; void * QPainterVideoSurface::qt_metacast(char const *)
- ?qt_metacast@QSoundEffect@@UAEPAXPBD@Z @ 442 NONAME ; void * QSoundEffect::qt_metacast(char const *)
- ?qt_metacast@QVideoDeviceControl@@UAEPAXPBD@Z @ 443 NONAME ; void * QVideoDeviceControl::qt_metacast(char const *)
- ?qt_metacast@QVideoOutputControl@@UAEPAXPBD@Z @ 444 NONAME ; void * QVideoOutputControl::qt_metacast(char const *)
- ?qt_metacast@QVideoRendererControl@@UAEPAXPBD@Z @ 445 NONAME ; void * QVideoRendererControl::qt_metacast(char const *)
- ?qt_metacast@QVideoWidget@@UAEPAXPBD@Z @ 446 NONAME ; void * QVideoWidget::qt_metacast(char const *)
- ?qt_metacast@QVideoWidgetControl@@UAEPAXPBD@Z @ 447 NONAME ; void * QVideoWidgetControl::qt_metacast(char const *)
- ?qt_metacast@QVideoWindowControl@@UAEPAXPBD@Z @ 448 NONAME ; void * QVideoWindowControl::qt_metacast(char const *)
- ?removeInterval@QMediaTimeRange@@QAEXABVQMediaTimeInterval@@@Z @ 449 NONAME ; void QMediaTimeRange::removeInterval(class QMediaTimeInterval const &)
- ?removeInterval@QMediaTimeRange@@QAEX_J0@Z @ 450 NONAME ; void QMediaTimeRange::removeInterval(long long, long long)
- ?removeMedia@QLocalMediaPlaylistProvider@@UAE_NH@Z @ 451 NONAME ; bool QLocalMediaPlaylistProvider::removeMedia(int)
- ?removeMedia@QLocalMediaPlaylistProvider@@UAE_NHH@Z @ 452 NONAME ; bool QLocalMediaPlaylistProvider::removeMedia(int, int)
- ?removeMedia@QMediaPlaylist@@QAE_NH@Z @ 453 NONAME ; bool QMediaPlaylist::removeMedia(int)
- ?removeMedia@QMediaPlaylist@@QAE_NHH@Z @ 454 NONAME ; bool QMediaPlaylist::removeMedia(int, int)
- ?removeMedia@QMediaPlaylistProvider@@UAE_NH@Z @ 455 NONAME ; bool QMediaPlaylistProvider::removeMedia(int)
- ?removeMedia@QMediaPlaylistProvider@@UAE_NHH@Z @ 456 NONAME ; bool QMediaPlaylistProvider::removeMedia(int, int)
- ?removePropertyWatch@QMediaObject@@IAEXABVQByteArray@@@Z @ 457 NONAME ; void QMediaObject::removePropertyWatch(class QByteArray const &)
- ?removeTimeRange@QMediaTimeRange@@QAEXABV1@@Z @ 458 NONAME ; void QMediaTimeRange::removeTimeRange(class QMediaTimeRange const &)
- ?request@QMediaResource@@QBE?AVQNetworkRequest@@XZ @ 459 NONAME ; class QNetworkRequest QMediaResource::request(void) const
- ?resizeEvent@QVideoWidget@@MAEXPAVQResizeEvent@@@Z @ 460 NONAME ; void QVideoWidget::resizeEvent(class QResizeEvent *)
- ?resolution@QMediaResource@@QBE?AVQSize@@XZ @ 461 NONAME ; class QSize QMediaResource::resolution(void) const
- ?resources@QMediaContent@@QBE?AV?$QList@VQMediaResource@@@@XZ @ 462 NONAME ; class QList<class QMediaResource> QMediaContent::resources(void) const
- ?sampleRate@QMediaResource@@QBEHXZ @ 463 NONAME ; int QMediaResource::sampleRate(void) const
- ?saturation@QPainterVideoSurface@@QBEHXZ @ 464 NONAME ; int QPainterVideoSurface::saturation(void) const
- ?saturation@QVideoWidget@@QBEHXZ @ 465 NONAME ; int QVideoWidget::saturation(void) const
- ?saturationChanged@QVideoWidget@@IAEXH@Z @ 466 NONAME ; void QVideoWidget::saturationChanged(int)
- ?saturationChanged@QVideoWidgetControl@@IAEXH@Z @ 467 NONAME ; void QVideoWidgetControl::saturationChanged(int)
- ?saturationChanged@QVideoWindowControl@@IAEXH@Z @ 468 NONAME ; void QVideoWindowControl::saturationChanged(int)
- ?save@QMediaPlaylist@@QAE_NABVQUrl@@PBD@Z @ 469 NONAME ; bool QMediaPlaylist::save(class QUrl const &, char const *)
- ?save@QMediaPlaylist@@QAE_NPAVQIODevice@@PBD@Z @ 470 NONAME ; bool QMediaPlaylist::save(class QIODevice *, char const *)
- ?save@QMediaPlaylistProvider@@UAE_NABVQUrl@@PBD@Z @ 471 NONAME ; bool QMediaPlaylistProvider::save(class QUrl const &, char const *)
- ?save@QMediaPlaylistProvider@@UAE_NPAVQIODevice@@PBD@Z @ 472 NONAME ; bool QMediaPlaylistProvider::save(class QIODevice *, char const *)
- ?sceneEvent@QGraphicsVideoItem@@MAE_NPAVQEvent@@@Z @ 473 NONAME ; bool QGraphicsVideoItem::sceneEvent(class QEvent *)
- ?seekableChanged@QMediaPlayer@@IAEX_N@Z @ 474 NONAME ; void QMediaPlayer::seekableChanged(bool)
- ?seekableChanged@QMediaPlayerControl@@IAEX_N@Z @ 475 NONAME ; void QMediaPlayerControl::seekableChanged(bool)
- ?selectedDeviceChanged@QVideoDeviceControl@@IAEXABVQString@@@Z @ 476 NONAME ; void QVideoDeviceControl::selectedDeviceChanged(class QString const &)
- ?selectedDeviceChanged@QVideoDeviceControl@@IAEXH@Z @ 477 NONAME ; void QVideoDeviceControl::selectedDeviceChanged(int)
- ?service@QMediaObject@@UBEPAVQMediaService@@XZ @ 478 NONAME ; class QMediaService * QMediaObject::service(void) const
- ?setAspectRatioMode@QGraphicsVideoItem@@QAEXW4AspectRatioMode@Qt@@@Z @ 479 NONAME ; void QGraphicsVideoItem::setAspectRatioMode(enum Qt::AspectRatioMode)
- ?setAspectRatioMode@QVideoWidget@@QAEXW4AspectRatioMode@Qt@@@Z @ 480 NONAME ; void QVideoWidget::setAspectRatioMode(enum Qt::AspectRatioMode)
- ?setAudioBitRate@QMediaResource@@QAEXH@Z @ 481 NONAME ; void QMediaResource::setAudioBitRate(int)
- ?setAudioCodec@QMediaResource@@QAEXABVQString@@@Z @ 482 NONAME ; void QMediaResource::setAudioCodec(class QString const &)
- ?setBrightness@QPainterVideoSurface@@QAEXH@Z @ 483 NONAME ; void QPainterVideoSurface::setBrightness(int)
- ?setBrightness@QVideoWidget@@QAEXH@Z @ 484 NONAME ; void QVideoWidget::setBrightness(int)
- ?setChannelCount@QMediaResource@@QAEXH@Z @ 485 NONAME ; void QMediaResource::setChannelCount(int)
- ?setContrast@QPainterVideoSurface@@QAEXH@Z @ 486 NONAME ; void QPainterVideoSurface::setContrast(int)
- ?setContrast@QVideoWidget@@QAEXH@Z @ 487 NONAME ; void QVideoWidget::setContrast(int)
- ?setCurrentIndex@QMediaPlaylist@@QAEXH@Z @ 488 NONAME ; void QMediaPlaylist::setCurrentIndex(int)
- ?setDataSize@QMediaResource@@QAEX_J@Z @ 489 NONAME ; void QMediaResource::setDataSize(long long)
- ?setExtendedMetaData@QMediaObject@@QAEXABVQString@@ABVQVariant@@@Z @ 490 NONAME ; void QMediaObject::setExtendedMetaData(class QString const &, class QVariant const &)
- ?setFullScreen@QVideoWidget@@QAEX_N@Z @ 491 NONAME ; void QVideoWidget::setFullScreen(bool)
- ?setHue@QPainterVideoSurface@@QAEXH@Z @ 492 NONAME ; void QPainterVideoSurface::setHue(int)
- ?setHue@QVideoWidget@@QAEXH@Z @ 493 NONAME ; void QVideoWidget::setHue(int)
- ?setLanguage@QMediaResource@@QAEXABVQString@@@Z @ 494 NONAME ; void QMediaResource::setLanguage(class QString const &)
- ?setLoops@QSoundEffect@@QAEXH@Z @ 495 NONAME ; void QSoundEffect::setLoops(int)
- ?setMedia@QMediaPlayer@@QAEXABVQMediaContent@@PAVQIODevice@@@Z @ 496 NONAME ; void QMediaPlayer::setMedia(class QMediaContent const &, class QIODevice *)
- ?setMediaObject@QGraphicsVideoItem@@QAEXPAVQMediaObject@@@Z @ 497 NONAME ; void QGraphicsVideoItem::setMediaObject(class QMediaObject *)
- ?setMediaObject@QMediaPlaylist@@QAEXPAVQMediaObject@@@Z @ 498 NONAME ; void QMediaPlaylist::setMediaObject(class QMediaObject *)
- ?setMediaObject@QVideoWidget@@QAEXPAVQMediaObject@@@Z @ 499 NONAME ; void QVideoWidget::setMediaObject(class QMediaObject *)
- ?setMetaData@QMediaObject@@QAEXW4MetaData@QtMediaServices@@ABVQVariant@@@Z @ 500 NONAME ; void QMediaObject::setMetaData(enum QtMediaServices::MetaData, class QVariant const &)
- ?setMuted@QMediaPlayer@@QAEX_N@Z @ 501 NONAME ; void QMediaPlayer::setMuted(bool)
- ?setMuted@QSoundEffect@@QAEX_N@Z @ 502 NONAME ; void QSoundEffect::setMuted(bool)
- ?setNotifyInterval@QMediaObject@@QAEXH@Z @ 503 NONAME ; void QMediaObject::setNotifyInterval(int)
- ?setOffset@QGraphicsVideoItem@@QAEXABVQPointF@@@Z @ 504 NONAME ; void QGraphicsVideoItem::setOffset(class QPointF const &)
- ?setPlaybackMode@QMediaPlaylist@@QAEXW4PlaybackMode@1@@Z @ 505 NONAME ; void QMediaPlaylist::setPlaybackMode(enum QMediaPlaylist::PlaybackMode)
- ?setPlaybackMode@QMediaPlaylistNavigator@@QAEXW4PlaybackMode@QMediaPlaylist@@@Z @ 506 NONAME ; void QMediaPlaylistNavigator::setPlaybackMode(enum QMediaPlaylist::PlaybackMode)
- ?setPlaybackRate@QMediaPlayer@@QAEXM@Z @ 507 NONAME ; void QMediaPlayer::setPlaybackRate(float)
- ?setPlaylist@QMediaPlaylistNavigator@@QAEXPAVQMediaPlaylistProvider@@@Z @ 508 NONAME ; void QMediaPlaylistNavigator::setPlaylist(class QMediaPlaylistProvider *)
- ?setPosition@QMediaPlayer@@QAEX_J@Z @ 509 NONAME ; void QMediaPlayer::setPosition(long long)
- ?setReady@QPainterVideoSurface@@QAEX_N@Z @ 510 NONAME ; void QPainterVideoSurface::setReady(bool)
- ?setResolution@QMediaResource@@QAEXABVQSize@@@Z @ 511 NONAME ; void QMediaResource::setResolution(class QSize const &)
- ?setResolution@QMediaResource@@QAEXHH@Z @ 512 NONAME ; void QMediaResource::setResolution(int, int)
- ?setSampleRate@QMediaResource@@QAEXH@Z @ 513 NONAME ; void QMediaResource::setSampleRate(int)
- ?setSaturation@QPainterVideoSurface@@QAEXH@Z @ 514 NONAME ; void QPainterVideoSurface::setSaturation(int)
- ?setSaturation@QVideoWidget@@QAEXH@Z @ 515 NONAME ; void QVideoWidget::setSaturation(int)
- ?setSize@QGraphicsVideoItem@@QAEXABVQSizeF@@@Z @ 516 NONAME ; void QGraphicsVideoItem::setSize(class QSizeF const &)
- ?setSource@QSoundEffect@@QAEXABVQUrl@@@Z @ 517 NONAME ; void QSoundEffect::setSource(class QUrl const &)
- ?setVideoBitRate@QMediaResource@@QAEXH@Z @ 518 NONAME ; void QMediaResource::setVideoBitRate(int)
- ?setVideoCodec@QMediaResource@@QAEXABVQString@@@Z @ 519 NONAME ; void QMediaResource::setVideoCodec(class QString const &)
- ?setVolume@QMediaPlayer@@QAEXH@Z @ 520 NONAME ; void QMediaPlayer::setVolume(int)
- ?setVolume@QSoundEffect@@QAEXH@Z @ 521 NONAME ; void QSoundEffect::setVolume(int)
- ?setupMetaData@QMediaObject@@AAEXXZ @ 522 NONAME ; void QMediaObject::setupMetaData(void)
- ?showEvent@QVideoWidget@@MAEXPAVQShowEvent@@@Z @ 523 NONAME ; void QVideoWidget::showEvent(class QShowEvent *)
- ?shuffle@QLocalMediaPlaylistProvider@@UAEXXZ @ 524 NONAME ; void QLocalMediaPlaylistProvider::shuffle(void)
- ?shuffle@QMediaPlaylist@@QAEXXZ @ 525 NONAME ; void QMediaPlaylist::shuffle(void)
- ?shuffle@QMediaPlaylistProvider@@UAEXXZ @ 526 NONAME ; void QMediaPlaylistProvider::shuffle(void)
- ?size@QGraphicsVideoItem@@QBE?AVQSizeF@@XZ @ 527 NONAME ; class QSizeF QGraphicsVideoItem::size(void) const
- ?sizeHint@QVideoWidget@@UBE?AVQSize@@XZ @ 528 NONAME ; class QSize QVideoWidget::sizeHint(void) const
- ?source@QSoundEffect@@QBE?AVQUrl@@XZ @ 529 NONAME ; class QUrl QSoundEffect::source(void) const
- ?sourceChanged@QSoundEffect@@IAEXXZ @ 530 NONAME ; void QSoundEffect::sourceChanged(void)
- ?start@QMediaTimeInterval@@QBE_JXZ @ 531 NONAME ; long long QMediaTimeInterval::start(void) const
- ?start@QPainterVideoSurface@@UAE_NABVQVideoSurfaceFormat@@@Z @ 532 NONAME ; bool QPainterVideoSurface::start(class QVideoSurfaceFormat const &)
- ?state@QMediaPlayer@@QBE?AW4State@1@XZ @ 533 NONAME ; enum QMediaPlayer::State QMediaPlayer::state(void) const
- ?stateChanged@QMediaPlayer@@IAEXW4State@1@@Z @ 534 NONAME ; void QMediaPlayer::stateChanged(enum QMediaPlayer::State)
- ?stateChanged@QMediaPlayerControl@@IAEXW4State@QMediaPlayer@@@Z @ 535 NONAME ; void QMediaPlayerControl::stateChanged(enum QMediaPlayer::State)
- ?stop@QMediaPlayer@@QAEXXZ @ 536 NONAME ; void QMediaPlayer::stop(void)
- ?stop@QPainterVideoSurface@@UAEXXZ @ 537 NONAME ; void QPainterVideoSurface::stop(void)
- ?supportedMimeTypes@QMediaPlayer@@SA?AVQStringList@@V?$QFlags@W4Flag@QMediaPlayer@@@@@Z @ 538 NONAME ; class QStringList QMediaPlayer::supportedMimeTypes(class QFlags<enum QMediaPlayer::Flag>)
- ?supportedMimeTypes@QMediaServiceProvider@@UBE?AVQStringList@@ABVQByteArray@@H@Z @ 539 NONAME ; class QStringList QMediaServiceProvider::supportedMimeTypes(class QByteArray const &, int) const
- ?supportedPixelFormats@QPainterVideoSurface@@UBE?AV?$QList@W4PixelFormat@QVideoFrame@@@@W4HandleType@QAbstractVideoBuffer@@@Z @ 540 NONAME ; class QList<enum QVideoFrame::PixelFormat> QPainterVideoSurface::supportedPixelFormats(enum QAbstractVideoBuffer::HandleType) const
- ?surroundingItemsChanged@QMediaPlaylistNavigator@@IAEXXZ @ 541 NONAME ; void QMediaPlaylistNavigator::surroundingItemsChanged(void)
- ?tr@QGraphicsVideoItem@@SA?AVQString@@PBD0@Z @ 542 NONAME ; class QString QGraphicsVideoItem::tr(char const *, char const *)
- ?tr@QGraphicsVideoItem@@SA?AVQString@@PBD0H@Z @ 543 NONAME ; class QString QGraphicsVideoItem::tr(char const *, char const *, int)
- ?tr@QLocalMediaPlaylistProvider@@SA?AVQString@@PBD0@Z @ 544 NONAME ; class QString QLocalMediaPlaylistProvider::tr(char const *, char const *)
- ?tr@QLocalMediaPlaylistProvider@@SA?AVQString@@PBD0H@Z @ 545 NONAME ; class QString QLocalMediaPlaylistProvider::tr(char const *, char const *, int)
- ?tr@QMediaControl@@SA?AVQString@@PBD0@Z @ 546 NONAME ; class QString QMediaControl::tr(char const *, char const *)
- ?tr@QMediaControl@@SA?AVQString@@PBD0H@Z @ 547 NONAME ; class QString QMediaControl::tr(char const *, char const *, int)
- ?tr@QMediaObject@@SA?AVQString@@PBD0@Z @ 548 NONAME ; class QString QMediaObject::tr(char const *, char const *)
- ?tr@QMediaObject@@SA?AVQString@@PBD0H@Z @ 549 NONAME ; class QString QMediaObject::tr(char const *, char const *, int)
- ?tr@QMediaPlayer@@SA?AVQString@@PBD0@Z @ 550 NONAME ; class QString QMediaPlayer::tr(char const *, char const *)
- ?tr@QMediaPlayer@@SA?AVQString@@PBD0H@Z @ 551 NONAME ; class QString QMediaPlayer::tr(char const *, char const *, int)
- ?tr@QMediaPlayerControl@@SA?AVQString@@PBD0@Z @ 552 NONAME ; class QString QMediaPlayerControl::tr(char const *, char const *)
- ?tr@QMediaPlayerControl@@SA?AVQString@@PBD0H@Z @ 553 NONAME ; class QString QMediaPlayerControl::tr(char const *, char const *, int)
- ?tr@QMediaPlaylist@@SA?AVQString@@PBD0@Z @ 554 NONAME ; class QString QMediaPlaylist::tr(char const *, char const *)
- ?tr@QMediaPlaylist@@SA?AVQString@@PBD0H@Z @ 555 NONAME ; class QString QMediaPlaylist::tr(char const *, char const *, int)
- ?tr@QMediaPlaylistControl@@SA?AVQString@@PBD0@Z @ 556 NONAME ; class QString QMediaPlaylistControl::tr(char const *, char const *)
- ?tr@QMediaPlaylistControl@@SA?AVQString@@PBD0H@Z @ 557 NONAME ; class QString QMediaPlaylistControl::tr(char const *, char const *, int)
- ?tr@QMediaPlaylistIOPlugin@@SA?AVQString@@PBD0@Z @ 558 NONAME ; class QString QMediaPlaylistIOPlugin::tr(char const *, char const *)
- ?tr@QMediaPlaylistIOPlugin@@SA?AVQString@@PBD0H@Z @ 559 NONAME ; class QString QMediaPlaylistIOPlugin::tr(char const *, char const *, int)
- ?tr@QMediaPlaylistNavigator@@SA?AVQString@@PBD0@Z @ 560 NONAME ; class QString QMediaPlaylistNavigator::tr(char const *, char const *)
- ?tr@QMediaPlaylistNavigator@@SA?AVQString@@PBD0H@Z @ 561 NONAME ; class QString QMediaPlaylistNavigator::tr(char const *, char const *, int)
- ?tr@QMediaPlaylistProvider@@SA?AVQString@@PBD0@Z @ 562 NONAME ; class QString QMediaPlaylistProvider::tr(char const *, char const *)
- ?tr@QMediaPlaylistProvider@@SA?AVQString@@PBD0H@Z @ 563 NONAME ; class QString QMediaPlaylistProvider::tr(char const *, char const *, int)
- ?tr@QMediaService@@SA?AVQString@@PBD0@Z @ 564 NONAME ; class QString QMediaService::tr(char const *, char const *)
- ?tr@QMediaService@@SA?AVQString@@PBD0H@Z @ 565 NONAME ; class QString QMediaService::tr(char const *, char const *, int)
- ?tr@QMediaServiceProvider@@SA?AVQString@@PBD0@Z @ 566 NONAME ; class QString QMediaServiceProvider::tr(char const *, char const *)
- ?tr@QMediaServiceProvider@@SA?AVQString@@PBD0H@Z @ 567 NONAME ; class QString QMediaServiceProvider::tr(char const *, char const *, int)
- ?tr@QMediaServiceProviderPlugin@@SA?AVQString@@PBD0@Z @ 568 NONAME ; class QString QMediaServiceProviderPlugin::tr(char const *, char const *)
- ?tr@QMediaServiceProviderPlugin@@SA?AVQString@@PBD0H@Z @ 569 NONAME ; class QString QMediaServiceProviderPlugin::tr(char const *, char const *, int)
- ?tr@QMetaDataControl@@SA?AVQString@@PBD0@Z @ 570 NONAME ; class QString QMetaDataControl::tr(char const *, char const *)
- ?tr@QMetaDataControl@@SA?AVQString@@PBD0H@Z @ 571 NONAME ; class QString QMetaDataControl::tr(char const *, char const *, int)
- ?tr@QPainterVideoSurface@@SA?AVQString@@PBD0@Z @ 572 NONAME ; class QString QPainterVideoSurface::tr(char const *, char const *)
- ?tr@QPainterVideoSurface@@SA?AVQString@@PBD0H@Z @ 573 NONAME ; class QString QPainterVideoSurface::tr(char const *, char const *, int)
- ?tr@QSoundEffect@@SA?AVQString@@PBD0@Z @ 574 NONAME ; class QString QSoundEffect::tr(char const *, char const *)
- ?tr@QSoundEffect@@SA?AVQString@@PBD0H@Z @ 575 NONAME ; class QString QSoundEffect::tr(char const *, char const *, int)
- ?tr@QVideoDeviceControl@@SA?AVQString@@PBD0@Z @ 576 NONAME ; class QString QVideoDeviceControl::tr(char const *, char const *)
- ?tr@QVideoDeviceControl@@SA?AVQString@@PBD0H@Z @ 577 NONAME ; class QString QVideoDeviceControl::tr(char const *, char const *, int)
- ?tr@QVideoOutputControl@@SA?AVQString@@PBD0@Z @ 578 NONAME ; class QString QVideoOutputControl::tr(char const *, char const *)
- ?tr@QVideoOutputControl@@SA?AVQString@@PBD0H@Z @ 579 NONAME ; class QString QVideoOutputControl::tr(char const *, char const *, int)
- ?tr@QVideoRendererControl@@SA?AVQString@@PBD0@Z @ 580 NONAME ; class QString QVideoRendererControl::tr(char const *, char const *)
- ?tr@QVideoRendererControl@@SA?AVQString@@PBD0H@Z @ 581 NONAME ; class QString QVideoRendererControl::tr(char const *, char const *, int)
- ?tr@QVideoWidget@@SA?AVQString@@PBD0@Z @ 582 NONAME ; class QString QVideoWidget::tr(char const *, char const *)
- ?tr@QVideoWidget@@SA?AVQString@@PBD0H@Z @ 583 NONAME ; class QString QVideoWidget::tr(char const *, char const *, int)
- ?tr@QVideoWidgetControl@@SA?AVQString@@PBD0@Z @ 584 NONAME ; class QString QVideoWidgetControl::tr(char const *, char const *)
- ?tr@QVideoWidgetControl@@SA?AVQString@@PBD0H@Z @ 585 NONAME ; class QString QVideoWidgetControl::tr(char const *, char const *, int)
- ?tr@QVideoWindowControl@@SA?AVQString@@PBD0@Z @ 586 NONAME ; class QString QVideoWindowControl::tr(char const *, char const *)
- ?tr@QVideoWindowControl@@SA?AVQString@@PBD0H@Z @ 587 NONAME ; class QString QVideoWindowControl::tr(char const *, char const *, int)
- ?trUtf8@QGraphicsVideoItem@@SA?AVQString@@PBD0@Z @ 588 NONAME ; class QString QGraphicsVideoItem::trUtf8(char const *, char const *)
- ?trUtf8@QGraphicsVideoItem@@SA?AVQString@@PBD0H@Z @ 589 NONAME ; class QString QGraphicsVideoItem::trUtf8(char const *, char const *, int)
- ?trUtf8@QLocalMediaPlaylistProvider@@SA?AVQString@@PBD0@Z @ 590 NONAME ; class QString QLocalMediaPlaylistProvider::trUtf8(char const *, char const *)
- ?trUtf8@QLocalMediaPlaylistProvider@@SA?AVQString@@PBD0H@Z @ 591 NONAME ; class QString QLocalMediaPlaylistProvider::trUtf8(char const *, char const *, int)
- ?trUtf8@QMediaControl@@SA?AVQString@@PBD0@Z @ 592 NONAME ; class QString QMediaControl::trUtf8(char const *, char const *)
- ?trUtf8@QMediaControl@@SA?AVQString@@PBD0H@Z @ 593 NONAME ; class QString QMediaControl::trUtf8(char const *, char const *, int)
- ?trUtf8@QMediaObject@@SA?AVQString@@PBD0@Z @ 594 NONAME ; class QString QMediaObject::trUtf8(char const *, char const *)
- ?trUtf8@QMediaObject@@SA?AVQString@@PBD0H@Z @ 595 NONAME ; class QString QMediaObject::trUtf8(char const *, char const *, int)
- ?trUtf8@QMediaPlayer@@SA?AVQString@@PBD0@Z @ 596 NONAME ; class QString QMediaPlayer::trUtf8(char const *, char const *)
- ?trUtf8@QMediaPlayer@@SA?AVQString@@PBD0H@Z @ 597 NONAME ; class QString QMediaPlayer::trUtf8(char const *, char const *, int)
- ?trUtf8@QMediaPlayerControl@@SA?AVQString@@PBD0@Z @ 598 NONAME ; class QString QMediaPlayerControl::trUtf8(char const *, char const *)
- ?trUtf8@QMediaPlayerControl@@SA?AVQString@@PBD0H@Z @ 599 NONAME ; class QString QMediaPlayerControl::trUtf8(char const *, char const *, int)
- ?trUtf8@QMediaPlaylist@@SA?AVQString@@PBD0@Z @ 600 NONAME ; class QString QMediaPlaylist::trUtf8(char const *, char const *)
- ?trUtf8@QMediaPlaylist@@SA?AVQString@@PBD0H@Z @ 601 NONAME ; class QString QMediaPlaylist::trUtf8(char const *, char const *, int)
- ?trUtf8@QMediaPlaylistControl@@SA?AVQString@@PBD0@Z @ 602 NONAME ; class QString QMediaPlaylistControl::trUtf8(char const *, char const *)
- ?trUtf8@QMediaPlaylistControl@@SA?AVQString@@PBD0H@Z @ 603 NONAME ; class QString QMediaPlaylistControl::trUtf8(char const *, char const *, int)
- ?trUtf8@QMediaPlaylistIOPlugin@@SA?AVQString@@PBD0@Z @ 604 NONAME ; class QString QMediaPlaylistIOPlugin::trUtf8(char const *, char const *)
- ?trUtf8@QMediaPlaylistIOPlugin@@SA?AVQString@@PBD0H@Z @ 605 NONAME ; class QString QMediaPlaylistIOPlugin::trUtf8(char const *, char const *, int)
- ?trUtf8@QMediaPlaylistNavigator@@SA?AVQString@@PBD0@Z @ 606 NONAME ; class QString QMediaPlaylistNavigator::trUtf8(char const *, char const *)
- ?trUtf8@QMediaPlaylistNavigator@@SA?AVQString@@PBD0H@Z @ 607 NONAME ; class QString QMediaPlaylistNavigator::trUtf8(char const *, char const *, int)
- ?trUtf8@QMediaPlaylistProvider@@SA?AVQString@@PBD0@Z @ 608 NONAME ; class QString QMediaPlaylistProvider::trUtf8(char const *, char const *)
- ?trUtf8@QMediaPlaylistProvider@@SA?AVQString@@PBD0H@Z @ 609 NONAME ; class QString QMediaPlaylistProvider::trUtf8(char const *, char const *, int)
- ?trUtf8@QMediaService@@SA?AVQString@@PBD0@Z @ 610 NONAME ; class QString QMediaService::trUtf8(char const *, char const *)
- ?trUtf8@QMediaService@@SA?AVQString@@PBD0H@Z @ 611 NONAME ; class QString QMediaService::trUtf8(char const *, char const *, int)
- ?trUtf8@QMediaServiceProvider@@SA?AVQString@@PBD0@Z @ 612 NONAME ; class QString QMediaServiceProvider::trUtf8(char const *, char const *)
- ?trUtf8@QMediaServiceProvider@@SA?AVQString@@PBD0H@Z @ 613 NONAME ; class QString QMediaServiceProvider::trUtf8(char const *, char const *, int)
- ?trUtf8@QMediaServiceProviderPlugin@@SA?AVQString@@PBD0@Z @ 614 NONAME ; class QString QMediaServiceProviderPlugin::trUtf8(char const *, char const *)
- ?trUtf8@QMediaServiceProviderPlugin@@SA?AVQString@@PBD0H@Z @ 615 NONAME ; class QString QMediaServiceProviderPlugin::trUtf8(char const *, char const *, int)
- ?trUtf8@QMetaDataControl@@SA?AVQString@@PBD0@Z @ 616 NONAME ; class QString QMetaDataControl::trUtf8(char const *, char const *)
- ?trUtf8@QMetaDataControl@@SA?AVQString@@PBD0H@Z @ 617 NONAME ; class QString QMetaDataControl::trUtf8(char const *, char const *, int)
- ?trUtf8@QPainterVideoSurface@@SA?AVQString@@PBD0@Z @ 618 NONAME ; class QString QPainterVideoSurface::trUtf8(char const *, char const *)
- ?trUtf8@QPainterVideoSurface@@SA?AVQString@@PBD0H@Z @ 619 NONAME ; class QString QPainterVideoSurface::trUtf8(char const *, char const *, int)
- ?trUtf8@QSoundEffect@@SA?AVQString@@PBD0@Z @ 620 NONAME ; class QString QSoundEffect::trUtf8(char const *, char const *)
- ?trUtf8@QSoundEffect@@SA?AVQString@@PBD0H@Z @ 621 NONAME ; class QString QSoundEffect::trUtf8(char const *, char const *, int)
- ?trUtf8@QVideoDeviceControl@@SA?AVQString@@PBD0@Z @ 622 NONAME ; class QString QVideoDeviceControl::trUtf8(char const *, char const *)
- ?trUtf8@QVideoDeviceControl@@SA?AVQString@@PBD0H@Z @ 623 NONAME ; class QString QVideoDeviceControl::trUtf8(char const *, char const *, int)
- ?trUtf8@QVideoOutputControl@@SA?AVQString@@PBD0@Z @ 624 NONAME ; class QString QVideoOutputControl::trUtf8(char const *, char const *)
- ?trUtf8@QVideoOutputControl@@SA?AVQString@@PBD0H@Z @ 625 NONAME ; class QString QVideoOutputControl::trUtf8(char const *, char const *, int)
- ?trUtf8@QVideoRendererControl@@SA?AVQString@@PBD0@Z @ 626 NONAME ; class QString QVideoRendererControl::trUtf8(char const *, char const *)
- ?trUtf8@QVideoRendererControl@@SA?AVQString@@PBD0H@Z @ 627 NONAME ; class QString QVideoRendererControl::trUtf8(char const *, char const *, int)
- ?trUtf8@QVideoWidget@@SA?AVQString@@PBD0@Z @ 628 NONAME ; class QString QVideoWidget::trUtf8(char const *, char const *)
- ?trUtf8@QVideoWidget@@SA?AVQString@@PBD0H@Z @ 629 NONAME ; class QString QVideoWidget::trUtf8(char const *, char const *, int)
- ?trUtf8@QVideoWidgetControl@@SA?AVQString@@PBD0@Z @ 630 NONAME ; class QString QVideoWidgetControl::trUtf8(char const *, char const *)
- ?trUtf8@QVideoWidgetControl@@SA?AVQString@@PBD0H@Z @ 631 NONAME ; class QString QVideoWidgetControl::trUtf8(char const *, char const *, int)
- ?trUtf8@QVideoWindowControl@@SA?AVQString@@PBD0@Z @ 632 NONAME ; class QString QVideoWindowControl::trUtf8(char const *, char const *)
- ?trUtf8@QVideoWindowControl@@SA?AVQString@@PBD0H@Z @ 633 NONAME ; class QString QVideoWindowControl::trUtf8(char const *, char const *, int)
- ?translated@QMediaTimeInterval@@QBE?AV1@_J@Z @ 634 NONAME ; class QMediaTimeInterval QMediaTimeInterval::translated(long long) const
- ?type@QMediaServiceProviderHint@@QBE?AW4Type@1@XZ @ 635 NONAME ; enum QMediaServiceProviderHint::Type QMediaServiceProviderHint::type(void) const
- ?unbind@QMediaObject@@UAEXPAVQObject@@@Z @ 636 NONAME ; void QMediaObject::unbind(class QObject *)
- ?unbind@QMediaPlayer@@UAEXPAVQObject@@@Z @ 637 NONAME ; void QMediaPlayer::unbind(class QObject *)
- ?url@QMediaResource@@QBE?AVQUrl@@XZ @ 638 NONAME ; class QUrl QMediaResource::url(void) const
- ?videoAvailableChanged@QMediaPlayer@@IAEX_N@Z @ 639 NONAME ; void QMediaPlayer::videoAvailableChanged(bool)
- ?videoAvailableChanged@QMediaPlayerControl@@IAEX_N@Z @ 640 NONAME ; void QMediaPlayerControl::videoAvailableChanged(bool)
- ?videoBitRate@QMediaResource@@QBEHXZ @ 641 NONAME ; int QMediaResource::videoBitRate(void) const
- ?videoCodec@QMediaResource@@QBE?AVQString@@XZ @ 642 NONAME ; class QString QMediaResource::videoCodec(void) const
- ?volume@QMediaPlayer@@QBEHXZ @ 643 NONAME ; int QMediaPlayer::volume(void) const
- ?volume@QSoundEffect@@QBEHXZ @ 644 NONAME ; int QSoundEffect::volume(void) const
- ?volumeChanged@QMediaPlayer@@IAEXH@Z @ 645 NONAME ; void QMediaPlayer::volumeChanged(int)
- ?volumeChanged@QMediaPlayerControl@@IAEXH@Z @ 646 NONAME ; void QMediaPlayerControl::volumeChanged(int)
- ?volumeChanged@QSoundEffect@@IAEXXZ @ 647 NONAME ; void QSoundEffect::volumeChanged(void)
- ?writableChanged@QMetaDataControl@@IAEX_N@Z @ 648 NONAME ; void QMetaDataControl::writableChanged(bool)
- ?staticMetaObject@QMediaPlaylistProvider@@2UQMetaObject@@B @ 649 NONAME ; struct QMetaObject const QMediaPlaylistProvider::staticMetaObject
- ?staticMetaObject@QSoundEffect@@2UQMetaObject@@B @ 650 NONAME ; struct QMetaObject const QSoundEffect::staticMetaObject
- ?staticMetaObject@QVideoWidget@@2UQMetaObject@@B @ 651 NONAME ; struct QMetaObject const QVideoWidget::staticMetaObject
- ?staticMetaObject@QMediaPlaylistControl@@2UQMetaObject@@B @ 652 NONAME ; struct QMetaObject const QMediaPlaylistControl::staticMetaObject
- ?staticMetaObject@QMediaControl@@2UQMetaObject@@B @ 653 NONAME ; struct QMetaObject const QMediaControl::staticMetaObject
- ?staticMetaObject@QLocalMediaPlaylistProvider@@2UQMetaObject@@B @ 654 NONAME ; struct QMetaObject const QLocalMediaPlaylistProvider::staticMetaObject
- ?staticMetaObject@QMediaServiceProviderPlugin@@2UQMetaObject@@B @ 655 NONAME ; struct QMetaObject const QMediaServiceProviderPlugin::staticMetaObject
- ?staticMetaObject@QVideoOutputControl@@2UQMetaObject@@B @ 656 NONAME ; struct QMetaObject const QVideoOutputControl::staticMetaObject
- ?staticMetaObject@QMetaDataControl@@2UQMetaObject@@B @ 657 NONAME ; struct QMetaObject const QMetaDataControl::staticMetaObject
- ?staticMetaObject@QMediaPlayer@@2UQMetaObject@@B @ 658 NONAME ; struct QMetaObject const QMediaPlayer::staticMetaObject
- ?staticMetaObject@QMediaService@@2UQMetaObject@@B @ 659 NONAME ; struct QMetaObject const QMediaService::staticMetaObject
- ?staticMetaObject@QMediaObject@@2UQMetaObject@@B @ 660 NONAME ; struct QMetaObject const QMediaObject::staticMetaObject
- ?staticMetaObject@QMediaPlaylist@@2UQMetaObject@@B @ 661 NONAME ; struct QMetaObject const QMediaPlaylist::staticMetaObject
- ?staticMetaObject@QMediaServiceProvider@@2UQMetaObject@@B @ 662 NONAME ; struct QMetaObject const QMediaServiceProvider::staticMetaObject
- ?staticMetaObject@QMediaPlayerControl@@2UQMetaObject@@B @ 663 NONAME ; struct QMetaObject const QMediaPlayerControl::staticMetaObject
- ?staticMetaObject@QMediaPlaylistNavigator@@2UQMetaObject@@B @ 664 NONAME ; struct QMetaObject const QMediaPlaylistNavigator::staticMetaObject
- ?staticMetaObject@QVideoWidgetControl@@2UQMetaObject@@B @ 665 NONAME ; struct QMetaObject const QVideoWidgetControl::staticMetaObject
- ?staticMetaObject@QVideoWindowControl@@2UQMetaObject@@B @ 666 NONAME ; struct QMetaObject const QVideoWindowControl::staticMetaObject
- ?staticMetaObject@QVideoDeviceControl@@2UQMetaObject@@B @ 667 NONAME ; struct QMetaObject const QVideoDeviceControl::staticMetaObject
- ?staticMetaObject@QVideoRendererControl@@2UQMetaObject@@B @ 668 NONAME ; struct QMetaObject const QVideoRendererControl::staticMetaObject
- ?staticMetaObject@QPainterVideoSurface@@2UQMetaObject@@B @ 669 NONAME ; struct QMetaObject const QPainterVideoSurface::staticMetaObject
- ?staticMetaObject@QMediaPlaylistIOPlugin@@2UQMetaObject@@B @ 670 NONAME ; struct QMetaObject const QMediaPlaylistIOPlugin::staticMetaObject
- ?staticMetaObject@QGraphicsVideoItem@@2UQMetaObject@@B @ 671 NONAME ; struct QMetaObject const QGraphicsVideoItem::staticMetaObject
-
diff --git a/src/s60installs/bwins/QtNetworku.def b/src/s60installs/bwins/QtNetworku.def
index 9391ad5723..9d4507bc43 100644
--- a/src/s60installs/bwins/QtNetworku.def
+++ b/src/s60installs/bwins/QtNetworku.def
@@ -1143,4 +1143,5 @@ EXPORTS
?setNetworkAccessible@QNetworkAccessManager@@QAEXW4NetworkAccessibility@1@@Z @ 1142 NONAME ; void QNetworkAccessManager::setNetworkAccessible(enum QNetworkAccessManager::NetworkAccessibility)
?startPolling@QNetworkConfigurationManagerPrivate@@QAEXXZ @ 1143 NONAME ; void QNetworkConfigurationManagerPrivate::startPolling(void)
?capabilities@QNetworkConfigurationManagerPrivate@@QAE?AV?$QFlags@W4Capability@QNetworkConfigurationManager@@@@XZ @ 1144 NONAME ; class QFlags<enum QNetworkConfigurationManager::Capability> QNetworkConfigurationManagerPrivate::capabilities(void)
+ ?addPendingConnection@QTcpServer@@IAEXPAVQTcpSocket@@@Z @ 1145 NONAME ; void QTcpServer::addPendingConnection(class QTcpSocket *)
diff --git a/src/s60installs/bwins/QtOpenVGu.def b/src/s60installs/bwins/QtOpenVGu.def
index 28b9e6238f..f398055125 100644
--- a/src/s60installs/bwins/QtOpenVGu.def
+++ b/src/s60installs/bwins/QtOpenVGu.def
@@ -166,9 +166,10 @@ EXPORTS
?hibernate@QVGPixmapData@@UAEXXZ @ 165 NONAME ; void QVGPixmapData::hibernate(void)
?drawStaticTextItem@QVGPaintEngine@@UAEXPAVQStaticTextItem@@@Z @ 166 NONAME ; void QVGPaintEngine::drawStaticTextItem(class QStaticTextItem *)
?drawPixmapFragments@QVGPaintEngine@@UAEXPBVPixmapFragment@QPainter@@HABVQPixmap@@V?$QFlags@W4PixmapFragmentHint@QPainter@@@@@Z @ 167 NONAME ; void QVGPaintEngine::drawPixmapFragments(class QPainter::PixmapFragment const *, int, class QPixmap const &, class QFlags<enum QPainter::PixmapFragmentHint>)
- ?drawCachedGlyphs@QVGPaintEngine@@QAE_NHPBIABVQFont@@PAVQFontEngine@@ABVQPointF@@@Z @ 168 NONAME ; bool QVGPaintEngine::drawCachedGlyphs(int, unsigned int const *, class QFont const &, class QFontEngine *, class QPointF const &)
+ ?drawCachedGlyphs@QVGPaintEngine@@QAE_NHPBIABVQFont@@PAVQFontEngine@@ABVQPointF@@@Z @ 168 NONAME ABSENT ; bool QVGPaintEngine::drawCachedGlyphs(int, unsigned int const *, class QFont const &, class QFontEngine *, class QPointF const &)
?supportsStaticContents@QVGEGLWindowSurfaceDirect@@UBE_NXZ @ 169 NONAME ; bool QVGEGLWindowSurfaceDirect::supportsStaticContents(void) const
?scroll@QVGEGLWindowSurfacePrivate@@UAE_NPAVQWidget@@ABVQRegion@@HH@Z @ 170 NONAME ; bool QVGEGLWindowSurfacePrivate::scroll(class QWidget *, class QRegion const &, int, int)
?scroll@QVGEGLWindowSurfaceDirect@@UAE_NPAVQWidget@@ABVQRegion@@HH@Z @ 171 NONAME ; bool QVGEGLWindowSurfaceDirect::scroll(class QWidget *, class QRegion const &, int, int)
?supportsStaticContents@QVGEGLWindowSurfacePrivate@@UBE_NXZ @ 172 NONAME ; bool QVGEGLWindowSurfacePrivate::supportsStaticContents(void) const
+ ?drawCachedGlyphs@QVGPaintEngine@@QAE_NHPBIABVQFont@@PAVQFontEngine@@ABVQPointF@@PBUQFixedPoint@@@Z @ 173 NONAME ; bool QVGPaintEngine::drawCachedGlyphs(int, unsigned int const *, class QFont const &, class QFontEngine *, class QPointF const &, struct QFixedPoint const *)
diff --git a/src/s60installs/eabi/QtCoreu.def b/src/s60installs/eabi/QtCoreu.def
index 92a40205fe..0590d39e75 100644
--- a/src/s60installs/eabi/QtCoreu.def
+++ b/src/s60installs/eabi/QtCoreu.def
@@ -3652,50 +3652,57 @@ EXPORTS
_Z40QBasicAtomicPointer_fetchAndStoreAcquirePVPvS_ @ 3651 NONAME
_Z40QBasicAtomicPointer_fetchAndStoreRelaxedPVPvS_ @ 3652 NONAME
_Z40QBasicAtomicPointer_fetchAndStoreReleasePVPvS_ @ 3653 NONAME
- _Z14qDecodeDataUrlRK4QUrl @ 3654 NONAME
- _Z18qDetectCPUFeaturesv @ 3655 NONAME
- _ZN10QByteArray7replaceEiiPKci @ 3656 NONAME
- _ZN12QTextDecoderC1EPK10QTextCodec6QFlagsINS0_14ConversionFlagEE @ 3657 NONAME
- _ZN12QTextDecoderC2EPK10QTextCodec6QFlagsINS0_14ConversionFlagEE @ 3658 NONAME
- _ZN12QTextEncoderC1EPK10QTextCodec6QFlagsINS0_14ConversionFlagEE @ 3659 NONAME
- _ZN12QTextEncoderC2EPK10QTextCodec6QFlagsINS0_14ConversionFlagEE @ 3660 NONAME
- _ZN13QElapsedTimer10invalidateEv @ 3661 NONAME
- _ZN13QElapsedTimer11isMonotonicEv @ 3662 NONAME
- _ZN13QElapsedTimer5startEv @ 3663 NONAME
- _ZN13QElapsedTimer7restartEv @ 3664 NONAME
- _ZN13QElapsedTimer9clockTypeEv @ 3665 NONAME
- _ZN20QStateMachinePrivate12clearHistoryEv @ 3666 NONAME
- _ZN7QStringC1EPK5QChar @ 3667 NONAME
- _ZN7QStringC2EPK5QChar @ 3668 NONAME
- _ZN8QVariantC1ERK12QEasingCurve @ 3669 NONAME
- _ZN8QVariantC2ERK12QEasingCurve @ 3670 NONAME
- _ZN9QDateTime18currentDateTimeUtcEv @ 3671 NONAME
- _ZN9QDateTime22currentMSecsSinceEpochEv @ 3672 NONAME
- _ZN9QListData11detach_growEPii @ 3673 NONAME
- _ZN9QListData6appendEi @ 3674 NONAME
- _ZN9QListData6detachEi @ 3675 NONAME
- _ZN9QMetaType15registerTypedefEPKci @ 3676 NONAME
- _ZN9QMetaType23registerStreamOperatorsEiPFvR11QDataStreamPKvEPFvS1_PvE @ 3677 NONAME
- _ZNK10QTextCodec11makeDecoderE6QFlagsINS_14ConversionFlagEE @ 3678 NONAME
- _ZNK10QTextCodec11makeEncoderE6QFlagsINS_14ConversionFlagEE @ 3679 NONAME
- _ZNK13QElapsedTimer10hasExpiredEx @ 3680 NONAME
- _ZNK13QElapsedTimer19msecsSinceReferenceEv @ 3681 NONAME
- _ZNK13QElapsedTimer6secsToERKS_ @ 3682 NONAME
- _ZNK13QElapsedTimer7elapsedEv @ 3683 NONAME
- _ZNK13QElapsedTimer7isValidEv @ 3684 NONAME
- _ZNK13QElapsedTimer7msecsToERKS_ @ 3685 NONAME
- _ZNK6QState11transitionsEv @ 3686 NONAME
- _ZNK8QVariant13toEasingCurveEv @ 3687 NONAME
- _ZlsR11QDataStreamRK12QEasingCurve @ 3688 NONAME
- _ZltRK13QElapsedTimerS1_ @ 3689 NONAME
- _ZrsR11QDataStreamR12QEasingCurve @ 3690 NONAME
- _ZN9QDateTime18setMSecsSinceEpochEx @ 3691 NONAME
- _ZN9QDateTime19fromMSecsSinceEpochEx @ 3692 NONAME
- _ZNK9QDateTime17toMSecsSinceEpochEv @ 3693 NONAME
- _ZN10QTextCodec11validCodecsEv @ 3694 NONAME
- _ZN16QDeclarativeData13parentChangedE @ 3695 NONAME DATA 4 ABSENT
- _ZN16QDeclarativeData9destroyedE @ 3696 NONAME DATA 4 ABSENT
- _ZN24QAbstractDeclarativeData13parentChangedE @ 3697 NONAME DATA 4
- _ZN24QAbstractDeclarativeData9destroyedE @ 3698 NONAME DATA 4
- _ZN23QEventDispatcherSymbian12selectThreadEv @ 3699 NONAME
+ _ZN10QTextCodec11validCodecsEv @ 3654 NONAME
+ _ZN20QStateMachinePrivate12clearHistoryEv @ 3655 NONAME
+ _Z14qDecodeDataUrlRK4QUrl @ 3656 NONAME
+ _Z18qDetectCPUFeaturesv @ 3657 NONAME
+ _ZN10QByteArray10setRawDataEPKcj @ 3658 NONAME
+ _ZN10QByteArray7replaceEiiPKci @ 3659 NONAME
+ _ZN12QTextDecoderC1EPK10QTextCodec6QFlagsINS0_14ConversionFlagEE @ 3660 NONAME
+ _ZN12QTextDecoderC2EPK10QTextCodec6QFlagsINS0_14ConversionFlagEE @ 3661 NONAME
+ _ZN12QTextEncoderC1EPK10QTextCodec6QFlagsINS0_14ConversionFlagEE @ 3662 NONAME
+ _ZN12QTextEncoderC2EPK10QTextCodec6QFlagsINS0_14ConversionFlagEE @ 3663 NONAME
+ _ZN13QElapsedTimer10invalidateEv @ 3664 NONAME
+ _ZN13QElapsedTimer11isMonotonicEv @ 3665 NONAME
+ _ZN13QElapsedTimer5startEv @ 3666 NONAME
+ _ZN13QElapsedTimer7restartEv @ 3667 NONAME
+ _ZN13QElapsedTimer9clockTypeEv @ 3668 NONAME
+ _ZN23QCoreApplicationPrivate11symbianInitEv @ 3669 NONAME
+ _ZN23QEventDispatcherSymbian11qt_metacallEN11QMetaObject4CallEiPPv @ 3670 NONAME
+ _ZN23QEventDispatcherSymbian11qt_metacastEPKc @ 3671 NONAME
+ _ZN23QEventDispatcherSymbian12selectThreadEv @ 3672 NONAME
+ _ZN23QEventDispatcherSymbian16staticMetaObjectE @ 3673 NONAME DATA 16
+ _ZN23QEventDispatcherSymbian19getStaticMetaObjectEv @ 3674 NONAME
+ _ZN24QAbstractDeclarativeData13parentChangedE @ 3675 NONAME DATA 4
+ _ZN24QAbstractDeclarativeData9destroyedE @ 3676 NONAME DATA 4
+ _ZN7QString10setRawDataEPK5QChari @ 3677 NONAME
+ _ZN7QStringC1EPK5QChar @ 3678 NONAME
+ _ZN7QStringC2EPK5QChar @ 3679 NONAME
+ _ZN8QVariantC1ERK12QEasingCurve @ 3680 NONAME
+ _ZN8QVariantC2ERK12QEasingCurve @ 3681 NONAME
+ _ZN9QDateTime18currentDateTimeUtcEv @ 3682 NONAME
+ _ZN9QDateTime18setMSecsSinceEpochEx @ 3683 NONAME
+ _ZN9QDateTime19fromMSecsSinceEpochEx @ 3684 NONAME
+ _ZN9QDateTime22currentMSecsSinceEpochEv @ 3685 NONAME
+ _ZN9QListData11detach_growEPii @ 3686 NONAME
+ _ZN9QListData6appendEi @ 3687 NONAME
+ _ZN9QListData6detachEi @ 3688 NONAME
+ _ZN9QMetaType15registerTypedefEPKci @ 3689 NONAME
+ _ZN9QMetaType23registerStreamOperatorsEiPFvR11QDataStreamPKvEPFvS1_PvE @ 3690 NONAME
+ _ZNK10QTextCodec11makeDecoderE6QFlagsINS_14ConversionFlagEE @ 3691 NONAME
+ _ZNK10QTextCodec11makeEncoderE6QFlagsINS_14ConversionFlagEE @ 3692 NONAME
+ _ZNK13QElapsedTimer10hasExpiredEx @ 3693 NONAME
+ _ZNK13QElapsedTimer19msecsSinceReferenceEv @ 3694 NONAME
+ _ZNK13QElapsedTimer6secsToERKS_ @ 3695 NONAME
+ _ZNK13QElapsedTimer7elapsedEv @ 3696 NONAME
+ _ZNK13QElapsedTimer7isValidEv @ 3697 NONAME
+ _ZNK13QElapsedTimer7msecsToERKS_ @ 3698 NONAME
+ _ZNK23QEventDispatcherSymbian10metaObjectEv @ 3699 NONAME
+ _ZNK6QState11transitionsEv @ 3700 NONAME
+ _ZNK8QVariant13toEasingCurveEv @ 3701 NONAME
+ _ZNK9QDateTime17toMSecsSinceEpochEv @ 3702 NONAME
+ _ZNK9QDateTime7msecsToERKS_ @ 3703 NONAME
+ _ZlsR11QDataStreamRK12QEasingCurve @ 3704 NONAME
+ _ZltRK13QElapsedTimerS1_ @ 3705 NONAME
+ _ZrsR11QDataStreamR12QEasingCurve @ 3706 NONAME
diff --git a/src/s60installs/eabi/QtDeclarativeu.def b/src/s60installs/eabi/QtDeclarativeu.def
index ad12166352..1c4cd5d70f 100644
--- a/src/s60installs/eabi/QtDeclarativeu.def
+++ b/src/s60installs/eabi/QtDeclarativeu.def
@@ -111,7 +111,7 @@ EXPORTS
_ZN16QDeclarativeItem11qt_metacallEN11QMetaObject4CallEiPPv @ 110 NONAME
_ZN16QDeclarativeItem11qt_metacastEPKc @ 111 NONAME
_ZN16QDeclarativeItem11resetHeightEv @ 112 NONAME
- _ZN16QDeclarativeItem11transitionsEv @ 113 NONAME
+ _ZN16QDeclarativeItem11transitionsEv @ 113 NONAME ABSENT
_ZN16QDeclarativeItem12childrenRectEv @ 114 NONAME
_ZN16QDeclarativeItem12focusChangedEb @ 115 NONAME
_ZN16QDeclarativeItem12stateChangedERK7QString @ 116 NONAME
@@ -135,17 +135,17 @@ EXPORTS
_ZN16QDeclarativeItem19getStaticMetaObjectEv @ 134 NONAME
_ZN16QDeclarativeItem21baselineOffsetChangedEf @ 135 NONAME
_ZN16QDeclarativeItem22transformOriginChangedENS_15TransformOriginE @ 136 NONAME
- _ZN16QDeclarativeItem4dataEv @ 137 NONAME
+ _ZN16QDeclarativeItem4dataEv @ 137 NONAME ABSENT
_ZN16QDeclarativeItem5eventEP6QEvent @ 138 NONAME
_ZN16QDeclarativeItem5paintEP8QPainterPK24QStyleOptionGraphicsItemP7QWidget @ 139 NONAME
- _ZN16QDeclarativeItem6statesEv @ 140 NONAME
- _ZN16QDeclarativeItem7anchorsEv @ 141 NONAME
+ _ZN16QDeclarativeItem6statesEv @ 140 NONAME ABSENT
+ _ZN16QDeclarativeItem7anchorsEv @ 141 NONAME ABSENT
_ZN16QDeclarativeItem7setClipEb @ 142 NONAME
_ZN16QDeclarativeItem7setSizeERK6QSizeF @ 143 NONAME
_ZN16QDeclarativeItem8setFocusEb @ 144 NONAME
- _ZN16QDeclarativeItem8setStateERK7QString @ 145 NONAME
+ _ZN16QDeclarativeItem8setStateERK7QString @ 145 NONAME ABSENT
_ZN16QDeclarativeItem8setWidthEf @ 146 NONAME
- _ZN16QDeclarativeItem9resourcesEv @ 147 NONAME
+ _ZN16QDeclarativeItem9resourcesEv @ 147 NONAME ABSENT
_ZN16QDeclarativeItem9setHeightEf @ 148 NONAME
_ZN16QDeclarativeItem9setSmoothEb @ 149 NONAME
_ZN16QDeclarativeItem9transformEv @ 150 NONAME
@@ -361,13 +361,13 @@ EXPORTS
_ZN18QDeclarativeLoader11itemChangedEv @ 360 NONAME
_ZN18QDeclarativeLoader11qt_metacallEN11QMetaObject4CallEiPPv @ 361 NONAME
_ZN18QDeclarativeLoader11qt_metacastEPKc @ 362 NONAME
- _ZN18QDeclarativeLoader13setResizeModeENS_10ResizeModeE @ 363 NONAME
+ _ZN18QDeclarativeLoader13setResizeModeENS_10ResizeModeE @ 363 NONAME ABSENT
_ZN18QDeclarativeLoader13sourceChangedEv @ 364 NONAME
_ZN18QDeclarativeLoader13statusChangedEv @ 365 NONAME
_ZN18QDeclarativeLoader15geometryChangedERK6QRectFS2_ @ 366 NONAME
_ZN18QDeclarativeLoader15progressChangedEv @ 367 NONAME
_ZN18QDeclarativeLoader16staticMetaObjectE @ 368 NONAME DATA 16
- _ZN18QDeclarativeLoader17resizeModeChangedEv @ 369 NONAME
+ _ZN18QDeclarativeLoader17resizeModeChangedEv @ 369 NONAME ABSENT
_ZN18QDeclarativeLoader18setSourceComponentEP21QDeclarativeComponent @ 370 NONAME
_ZN18QDeclarativeLoader19getStaticMetaObjectEv @ 371 NONAME
_ZN18QDeclarativeLoader9setSourceERK4QUrl @ 372 NONAME
@@ -586,7 +586,7 @@ EXPORTS
_ZN20QDeclarativeCompiler22completeComponentBuildEv @ 585 NONAME
_ZN20QDeclarativeCompiler22isAttachedPropertyNameERK10QByteArray @ 586 NONAME
_ZN20QDeclarativeCompiler23buildPropertyAssignmentEPN18QDeclarativeParser8PropertyEPNS0_6ObjectERKNS_14BindingContextE @ 587 NONAME
- _ZN20QDeclarativeCompiler24buildPropertyInNamespaceEPN25QDeclarativeEnginePrivate17ImportedNamespaceEPN18QDeclarativeParser8PropertyEPNS3_6ObjectERKNS_14BindingContextE @ 588 NONAME
+ _ZN20QDeclarativeCompiler24buildPropertyInNamespaceEPN25QDeclarativeEnginePrivate17ImportedNamespaceEPN18QDeclarativeParser8PropertyEPNS3_6ObjectERKNS_14BindingContextE @ 588 NONAME ABSENT
_ZN20QDeclarativeCompiler25buildPropertyOnAssignmentEPN18QDeclarativeParser8PropertyEPNS0_6ObjectES4_PNS0_5ValueERKNS_14BindingContextE @ 589 NONAME
_ZN20QDeclarativeCompiler25buildScriptStringPropertyEPN18QDeclarativeParser8PropertyEPNS0_6ObjectERKNS_14BindingContextE @ 590 NONAME
_ZN20QDeclarativeCompiler26mergeDynamicMetaPropertiesEPN18QDeclarativeParser6ObjectE @ 591 NONAME
@@ -911,7 +911,7 @@ EXPORTS
_ZN20QDeclarativeTextEdit15mousePressEventEP24QGraphicsSceneMouseEvent @ 910 NONAME
_ZN20QDeclarativeTextEdit15readOnlyChangedEb @ 911 NONAME
_ZN20QDeclarativeTextEdit15setFocusOnPressEb @ 912 NONAME
- _ZN20QDeclarativeTextEdit15setSelectionEndEi @ 913 NONAME
+ _ZN20QDeclarativeTextEdit15setSelectionEndEi @ 913 NONAME ABSENT
_ZN20QDeclarativeTextEdit16inputMethodEventEP17QInputMethodEvent @ 914 NONAME
_ZN20QDeclarativeTextEdit16selectionChangedEv @ 915 NONAME
_ZN20QDeclarativeTextEdit16setCursorVisibleEb @ 916 NONAME
@@ -921,7 +921,7 @@ EXPORTS
_ZN20QDeclarativeTextEdit17setCursorDelegateEP21QDeclarativeComponent @ 920 NONAME
_ZN20QDeclarativeTextEdit17setCursorPositionEi @ 921 NONAME
_ZN20QDeclarativeTextEdit17setSelectionColorERK6QColor @ 922 NONAME
- _ZN20QDeclarativeTextEdit17setSelectionStartEi @ 923 NONAME
+ _ZN20QDeclarativeTextEdit17setSelectionStartEi @ 923 NONAME ABSENT
_ZN20QDeclarativeTextEdit17textFormatChangedENS_10TextFormatE @ 924 NONAME
_ZN20QDeclarativeTextEdit17textMarginChangedEf @ 925 NONAME
_ZN20QDeclarativeTextEdit18loadCursorDelegateEv @ 926 NONAME
@@ -969,7 +969,7 @@ EXPORTS
_ZN21QDeclarativeComponent11beginCreateEP19QDeclarativeContext @ 968 NONAME
_ZN21QDeclarativeComponent11qt_metacallEN11QMetaObject4CallEiPPv @ 969 NONAME
_ZN21QDeclarativeComponent11qt_metacastEPKc @ 970 NONAME
- _ZN21QDeclarativeComponent12createObjectEv @ 971 NONAME
+ _ZN21QDeclarativeComponent12createObjectEv @ 971 NONAME ABSENT
_ZN21QDeclarativeComponent13statusChangedENS_6StatusE @ 972 NONAME
_ZN21QDeclarativeComponent14completeCreateEv @ 973 NONAME
_ZN21QDeclarativeComponent15progressChangedEf @ 974 NONAME
@@ -1019,7 +1019,7 @@ EXPORTS
_ZN21QDeclarativeFlickable11setContentYEf @ 1018 NONAME
_ZN21QDeclarativeFlickable11visibleAreaEv @ 1019 NONAME
_ZN21QDeclarativeFlickable12flickStartedEv @ 1020 NONAME
- _ZN21QDeclarativeFlickable12setOverShootEb @ 1021 NONAME
+ _ZN21QDeclarativeFlickable12setOverShootEb @ 1021 NONAME ABSENT
_ZN21QDeclarativeFlickable13flickableDataEv @ 1022 NONAME
_ZN21QDeclarativeFlickable13movementEndedEv @ 1023 NONAME
_ZN21QDeclarativeFlickable13movingChangedEv @ 1024 NONAME
@@ -1037,21 +1037,21 @@ EXPORTS
_ZN21QDeclarativeFlickable15movementStartedEv @ 1036 NONAME
_ZN21QDeclarativeFlickable15setContentWidthEf @ 1037 NONAME
_ZN21QDeclarativeFlickable16movementStartingEv @ 1038 NONAME
- _ZN21QDeclarativeFlickable16overShootChangedEv @ 1039 NONAME
+ _ZN21QDeclarativeFlickable16overShootChangedEv @ 1039 NONAME ABSENT
_ZN21QDeclarativeFlickable16sceneEventFilterEP13QGraphicsItemP6QEvent @ 1040 NONAME
_ZN21QDeclarativeFlickable16setContentHeightEf @ 1041 NONAME
_ZN21QDeclarativeFlickable16staticMetaObjectE @ 1042 NONAME DATA 16
_ZN21QDeclarativeFlickable17flickableChildrenEv @ 1043 NONAME
_ZN21QDeclarativeFlickable17mouseReleaseEventEP24QGraphicsSceneMouseEvent @ 1044 NONAME
_ZN21QDeclarativeFlickable17pressDelayChangedEv @ 1045 NONAME
- _ZN21QDeclarativeFlickable17setFlickDirectionENS_14FlickDirectionE @ 1046 NONAME
+ _ZN21QDeclarativeFlickable17setFlickDirectionENS_14FlickDirectionE @ 1046 NONAME ABSENT
_ZN21QDeclarativeFlickable18interactiveChangedEv @ 1047 NONAME
_ZN21QDeclarativeFlickable19contentWidthChangedEv @ 1048 NONAME
_ZN21QDeclarativeFlickable19getStaticMetaObjectEv @ 1049 NONAME
_ZN21QDeclarativeFlickable19isAtBoundaryChangedEv @ 1050 NONAME
_ZN21QDeclarativeFlickable20contentHeightChangedEv @ 1051 NONAME
_ZN21QDeclarativeFlickable20setFlickDecelerationEf @ 1052 NONAME
- _ZN21QDeclarativeFlickable21flickDirectionChangedEv @ 1053 NONAME
+ _ZN21QDeclarativeFlickable21flickDirectionChangedEv @ 1053 NONAME ABSENT
_ZN21QDeclarativeFlickable23setMaximumFlickVelocityEf @ 1054 NONAME
_ZN21QDeclarativeFlickable23verticalVelocityChangedEv @ 1055 NONAME
_ZN21QDeclarativeFlickable24flickDecelerationChangedEv @ 1056 NONAME
@@ -1207,7 +1207,7 @@ EXPORTS
_ZN21QDeclarativeTextInput15mousePressEventEP24QGraphicsSceneMouseEvent @ 1206 NONAME
_ZN21QDeclarativeTextInput15readOnlyChangedEb @ 1207 NONAME
_ZN21QDeclarativeTextInput15setFocusOnPressEb @ 1208 NONAME
- _ZN21QDeclarativeTextInput15setSelectionEndEi @ 1209 NONAME
+ _ZN21QDeclarativeTextInput15setSelectionEndEi @ 1209 NONAME ABSENT
_ZN21QDeclarativeTextInput16cursorPosChangedEv @ 1210 NONAME
_ZN21QDeclarativeTextInput16inputMaskChangedERK7QString @ 1211 NONAME
_ZN21QDeclarativeTextInput16selectionChangedEv @ 1212 NONAME
@@ -1218,7 +1218,7 @@ EXPORTS
_ZN21QDeclarativeTextInput17setCursorDelegateEP21QDeclarativeComponent @ 1217 NONAME
_ZN21QDeclarativeTextInput17setCursorPositionEi @ 1218 NONAME
_ZN21QDeclarativeTextInput17setSelectionColorERK6QColor @ 1219 NONAME
- _ZN21QDeclarativeTextInput17setSelectionStartEi @ 1220 NONAME
+ _ZN21QDeclarativeTextInput17setSelectionStartEi @ 1220 NONAME ABSENT
_ZN21QDeclarativeTextInput19focusOnPressChangedEb @ 1221 NONAME
_ZN21QDeclarativeTextInput19getStaticMetaObjectEv @ 1222 NONAME
_ZN21QDeclarativeTextInput19selectedTextChangedEv @ 1223 NONAME
@@ -1294,15 +1294,15 @@ EXPORTS
_ZN22QDeclarativeExpression19getStaticMetaObjectEv @ 1293 NONAME
_ZN22QDeclarativeExpression23setNotifyOnValueChangedEb @ 1294 NONAME
_ZN22QDeclarativeExpression5valueEPb @ 1295 NONAME ABSENT
- _ZN22QDeclarativeExpressionC1EP19QDeclarativeContextRK7QStringP7QObject @ 1296 NONAME
+ _ZN22QDeclarativeExpressionC1EP19QDeclarativeContextRK7QStringP7QObject @ 1296 NONAME ABSENT
_ZN22QDeclarativeExpressionC1EP23QDeclarativeContextDataPvP20QDeclarativeRefCountP7QObjectRK7QStringiR29QDeclarativeExpressionPrivate @ 1297 NONAME
- _ZN22QDeclarativeExpressionC1EP23QDeclarativeContextDataRK7QStringP7QObject @ 1298 NONAME
- _ZN22QDeclarativeExpressionC1EP23QDeclarativeContextDataRK7QStringP7QObjectR29QDeclarativeExpressionPrivate @ 1299 NONAME
+ _ZN22QDeclarativeExpressionC1EP23QDeclarativeContextDataRK7QStringP7QObject @ 1298 NONAME ABSENT
+ _ZN22QDeclarativeExpressionC1EP23QDeclarativeContextDataRK7QStringP7QObjectR29QDeclarativeExpressionPrivate @ 1299 NONAME ABSENT
_ZN22QDeclarativeExpressionC1Ev @ 1300 NONAME
- _ZN22QDeclarativeExpressionC2EP19QDeclarativeContextRK7QStringP7QObject @ 1301 NONAME
+ _ZN22QDeclarativeExpressionC2EP19QDeclarativeContextRK7QStringP7QObject @ 1301 NONAME ABSENT
_ZN22QDeclarativeExpressionC2EP23QDeclarativeContextDataPvP20QDeclarativeRefCountP7QObjectRK7QStringiR29QDeclarativeExpressionPrivate @ 1302 NONAME
- _ZN22QDeclarativeExpressionC2EP23QDeclarativeContextDataRK7QStringP7QObject @ 1303 NONAME
- _ZN22QDeclarativeExpressionC2EP23QDeclarativeContextDataRK7QStringP7QObjectR29QDeclarativeExpressionPrivate @ 1304 NONAME
+ _ZN22QDeclarativeExpressionC2EP23QDeclarativeContextDataRK7QStringP7QObject @ 1303 NONAME ABSENT
+ _ZN22QDeclarativeExpressionC2EP23QDeclarativeContextDataRK7QStringP7QObjectR29QDeclarativeExpressionPrivate @ 1304 NONAME ABSENT
_ZN22QDeclarativeExpressionC2Ev @ 1305 NONAME
_ZN22QDeclarativeExpressionD0Ev @ 1306 NONAME
_ZN22QDeclarativeExpressionD1Ev @ 1307 NONAME
@@ -1457,7 +1457,7 @@ EXPORTS
_ZN23QDeclarativeEngineDebugC1EP27QDeclarativeDebugConnectionP7QObject @ 1456 NONAME
_ZN23QDeclarativeEngineDebugC2EP27QDeclarativeDebugConnectionP7QObject @ 1457 NONAME
_ZN23QDeclarativeItemPrivate10resetWidthEv @ 1458 NONAME
- _ZN23QDeclarativeItemPrivate11currentTimeEv @ 1459 NONAME
+ _ZN23QDeclarativeItemPrivate11currentTimeEv @ 1459 NONAME ABSENT
_ZN23QDeclarativeItemPrivate11data_appendEP24QDeclarativeListPropertyI7QObjectEPS1_ @ 1460 NONAME
_ZN23QDeclarativeItemPrivate11resetHeightEv @ 1461 NONAME
_ZN23QDeclarativeItemPrivate12focusChangedEb @ 1462 NONAME
@@ -1470,12 +1470,12 @@ EXPORTS
_ZN23QDeclarativeItemPrivate15transform_countEP24QDeclarativeListPropertyI18QGraphicsTransformE @ 1469 NONAME
_ZN23QDeclarativeItemPrivate16resources_appendEP24QDeclarativeListPropertyI7QObjectEPS1_ @ 1470 NONAME
_ZN23QDeclarativeItemPrivate16transform_appendEP24QDeclarativeListPropertyI18QGraphicsTransformEPS1_ @ 1471 NONAME
- _ZN23QDeclarativeItemPrivate17setConsistentTimeEi @ 1472 NONAME
+ _ZN23QDeclarativeItemPrivate17setConsistentTimeEi @ 1472 NONAME ABSENT
_ZN23QDeclarativeItemPrivate24removeItemChangeListenerEP30QDeclarativeItemChangeListener6QFlagsINS_10ChangeTypeEE @ 1473 NONAME
- _ZN23QDeclarativeItemPrivate5startER5QTime @ 1474 NONAME
+ _ZN23QDeclarativeItemPrivate5startER5QTime @ 1474 NONAME ABSENT
_ZN23QDeclarativeItemPrivate6statesEv @ 1475 NONAME
- _ZN23QDeclarativeItemPrivate7elapsedER5QTime @ 1476 NONAME
- _ZN23QDeclarativeItemPrivate7restartER5QTime @ 1477 NONAME
+ _ZN23QDeclarativeItemPrivate7elapsedER5QTime @ 1476 NONAME ABSENT
+ _ZN23QDeclarativeItemPrivate7restartER5QTime @ 1477 NONAME ABSENT
_ZN23QDeclarativeItemPrivate8setWidthEf @ 1478 NONAME
_ZN23QDeclarativeItemPrivate9setHeightEf @ 1479 NONAME
_ZN23QDeclarativePaintedItem10clearCacheEv @ 1480 NONAME
@@ -1493,7 +1493,7 @@ EXPORTS
_ZN23QDeclarativePaintedItem19contentsSizeChangedEv @ 1492 NONAME
_ZN23QDeclarativePaintedItem19getStaticMetaObjectEv @ 1493 NONAME
_ZN23QDeclarativePaintedItem20contentsScaleChangedEv @ 1494 NONAME
- _ZN23QDeclarativePaintedItem4initEv @ 1495 NONAME
+ _ZN23QDeclarativePaintedItem4initEv @ 1495 NONAME ABSENT
_ZN23QDeclarativePaintedItem5paintEP8QPainterPK24QStyleOptionGraphicsItemP7QWidget @ 1496 NONAME
_ZN23QDeclarativePaintedItemC2EP16QDeclarativeItem @ 1497 NONAME
_ZN23QDeclarativePaintedItemC2ER30QDeclarativePaintedItemPrivateP16QDeclarativeItem @ 1498 NONAME
@@ -1600,23 +1600,23 @@ EXPORTS
_ZN24QDeclarativeListAccessorD2Ev @ 1599 NONAME
_ZN24QDeclarativeParentChange11qt_metacallEN11QMetaObject4CallEiPPv @ 1600 NONAME
_ZN24QDeclarativeParentChange11qt_metacastEPKc @ 1601 NONAME
- _ZN24QDeclarativeParentChange11setRotationEf @ 1602 NONAME
+ _ZN24QDeclarativeParentChange11setRotationEf @ 1602 NONAME ABSENT
_ZN24QDeclarativeParentChange12isReversableEv @ 1603 NONAME
- _ZN24QDeclarativeParentChange13copyOriginalsEP23QDeclarativeActionEvent @ 1604 NONAME
+ _ZN24QDeclarativeParentChange13copyOriginalsEP23QDeclarativeActionEvent @ 1604 NONAME ABSENT
_ZN24QDeclarativeParentChange13saveOriginalsEv @ 1605 NONAME
_ZN24QDeclarativeParentChange16staticMetaObjectE @ 1606 NONAME DATA 16
_ZN24QDeclarativeParentChange17saveCurrentValuesEv @ 1607 NONAME
_ZN24QDeclarativeParentChange19getStaticMetaObjectEv @ 1608 NONAME
- _ZN24QDeclarativeParentChange4setXEf @ 1609 NONAME
- _ZN24QDeclarativeParentChange4setYEf @ 1610 NONAME
+ _ZN24QDeclarativeParentChange4setXEf @ 1609 NONAME ABSENT
+ _ZN24QDeclarativeParentChange4setYEf @ 1610 NONAME ABSENT
_ZN24QDeclarativeParentChange6rewindEv @ 1611 NONAME
_ZN24QDeclarativeParentChange7actionsEv @ 1612 NONAME
_ZN24QDeclarativeParentChange7executeEv @ 1613 NONAME ABSENT
_ZN24QDeclarativeParentChange7reverseEv @ 1614 NONAME ABSENT
_ZN24QDeclarativeParentChange8overrideEP23QDeclarativeActionEvent @ 1615 NONAME
- _ZN24QDeclarativeParentChange8setScaleEf @ 1616 NONAME
- _ZN24QDeclarativeParentChange8setWidthEf @ 1617 NONAME
- _ZN24QDeclarativeParentChange9setHeightEf @ 1618 NONAME
+ _ZN24QDeclarativeParentChange8setScaleEf @ 1616 NONAME ABSENT
+ _ZN24QDeclarativeParentChange8setWidthEf @ 1617 NONAME ABSENT
+ _ZN24QDeclarativeParentChange9setHeightEf @ 1618 NONAME ABSENT
_ZN24QDeclarativeParentChange9setObjectEP16QDeclarativeItem @ 1619 NONAME
_ZN24QDeclarativeParentChange9setParentEP16QDeclarativeItem @ 1620 NONAME
_ZN24QDeclarativeParentChangeC1EP7QObject @ 1621 NONAME
@@ -1624,9 +1624,9 @@ EXPORTS
_ZN24QDeclarativeParentChangeD0Ev @ 1623 NONAME
_ZN24QDeclarativeParentChangeD1Ev @ 1624 NONAME
_ZN24QDeclarativeParentChangeD2Ev @ 1625 NONAME
- _ZN24QDeclarativeParserStatus10classBeginEv @ 1626 NONAME
- _ZN24QDeclarativeParserStatus17componentCompleteEv @ 1627 NONAME
- _ZN24QDeclarativeParserStatusC1Ev @ 1628 NONAME
+ _ZN24QDeclarativeParserStatus10classBeginEv @ 1626 NONAME ABSENT
+ _ZN24QDeclarativeParserStatus17componentCompleteEv @ 1627 NONAME ABSENT
+ _ZN24QDeclarativeParserStatusC1Ev @ 1628 NONAME ABSENT
_ZN24QDeclarativeParserStatusC2Ev @ 1629 NONAME
_ZN24QDeclarativeParserStatusD0Ev @ 1630 NONAME
_ZN24QDeclarativeParserStatusD1Ev @ 1631 NONAME
@@ -1941,9 +1941,9 @@ EXPORTS
_ZN27QDeclarativeVisualDataModel7setPartERK7QString @ 1940 NONAME
_ZN27QDeclarativeVisualDataModel8evaluateEiRK7QStringP7QObject @ 1941 NONAME
_ZN27QDeclarativeVisualDataModel8setModelERK8QVariant @ 1942 NONAME
- _ZN27QDeclarativeVisualDataModelC1EP19QDeclarativeContext @ 1943 NONAME
+ _ZN27QDeclarativeVisualDataModelC1EP19QDeclarativeContext @ 1943 NONAME ABSENT
_ZN27QDeclarativeVisualDataModelC1Ev @ 1944 NONAME
- _ZN27QDeclarativeVisualDataModelC2EP19QDeclarativeContext @ 1945 NONAME
+ _ZN27QDeclarativeVisualDataModelC2EP19QDeclarativeContext @ 1945 NONAME ABSENT
_ZN27QDeclarativeVisualDataModelC2Ev @ 1946 NONAME
_ZN27QDeclarativeVisualDataModelD0Ev @ 1947 NONAME
_ZN27QDeclarativeVisualDataModelD1Ev @ 1948 NONAME
@@ -1960,8 +1960,8 @@ EXPORTS
_ZN27QDeclarativeVisualItemModel7releaseEP16QDeclarativeItem @ 1959 NONAME
_ZN27QDeclarativeVisualItemModel8childrenEv @ 1960 NONAME
_ZN27QDeclarativeVisualItemModel8evaluateEiRK7QStringP7QObject @ 1961 NONAME
- _ZN27QDeclarativeVisualItemModelC1Ev @ 1962 NONAME
- _ZN27QDeclarativeVisualItemModelC2Ev @ 1963 NONAME
+ _ZN27QDeclarativeVisualItemModelC1Ev @ 1962 NONAME ABSENT
+ _ZN27QDeclarativeVisualItemModelC2Ev @ 1963 NONAME ABSENT
_ZN28QDeclarativeCustomParserNodeC1ERKS_ @ 1964 NONAME
_ZN28QDeclarativeCustomParserNodeC1Ev @ 1965 NONAME
_ZN28QDeclarativeCustomParserNodeC2ERKS_ @ 1966 NONAME
@@ -2203,21 +2203,21 @@ EXPORTS
_ZNK16QDeclarativeItem13keepMouseGrabEv @ 2202 NONAME
_ZNK16QDeclarativeItem14baselineOffsetEv @ 2203 NONAME
_ZNK16QDeclarativeItem14implicitHeightEv @ 2204 NONAME
- _ZNK16QDeclarativeItem14verticalCenterEv @ 2205 NONAME
+ _ZNK16QDeclarativeItem14verticalCenterEv @ 2205 NONAME ABSENT
_ZNK16QDeclarativeItem15transformOriginEv @ 2206 NONAME
- _ZNK16QDeclarativeItem16horizontalCenterEv @ 2207 NONAME
+ _ZNK16QDeclarativeItem16horizontalCenterEv @ 2207 NONAME ABSENT
_ZNK16QDeclarativeItem16inputMethodQueryEN2Qt16InputMethodQueryE @ 2208 NONAME
_ZNK16QDeclarativeItem19isComponentCompleteEv @ 2209 NONAME
- _ZNK16QDeclarativeItem3topEv @ 2210 NONAME
+ _ZNK16QDeclarativeItem3topEv @ 2210 NONAME ABSENT
_ZNK16QDeclarativeItem4clipEv @ 2211 NONAME
- _ZNK16QDeclarativeItem4leftEv @ 2212 NONAME
- _ZNK16QDeclarativeItem5rightEv @ 2213 NONAME
- _ZNK16QDeclarativeItem5stateEv @ 2214 NONAME
+ _ZNK16QDeclarativeItem4leftEv @ 2212 NONAME ABSENT
+ _ZNK16QDeclarativeItem5rightEv @ 2213 NONAME ABSENT
+ _ZNK16QDeclarativeItem5stateEv @ 2214 NONAME ABSENT
_ZNK16QDeclarativeItem5widthEv @ 2215 NONAME
- _ZNK16QDeclarativeItem6bottomEv @ 2216 NONAME
+ _ZNK16QDeclarativeItem6bottomEv @ 2216 NONAME ABSENT
_ZNK16QDeclarativeItem6heightEv @ 2217 NONAME
_ZNK16QDeclarativeItem6smoothEv @ 2218 NONAME
- _ZNK16QDeclarativeItem8baselineEv @ 2219 NONAME
+ _ZNK16QDeclarativeItem8baselineEv @ 2219 NONAME ABSENT
_ZNK16QDeclarativeItem8hasFocusEv @ 2220 NONAME
_ZNK16QDeclarativeItem9mapToItemERK12QScriptValueff @ 2221 NONAME
_ZNK16QDeclarativePath10attributesEv @ 2222 NONAME
@@ -2310,7 +2310,7 @@ EXPORTS
_ZNK18QDeclarativeEngine27networkAccessManagerFactoryEv @ 2309 NONAME
_ZNK18QDeclarativeEngine7baseUrlEv @ 2310 NONAME
_ZNK18QDeclarativeLoader10metaObjectEv @ 2311 NONAME
- _ZNK18QDeclarativeLoader10resizeModeEv @ 2312 NONAME
+ _ZNK18QDeclarativeLoader10resizeModeEv @ 2312 NONAME ABSENT
_ZNK18QDeclarativeLoader15sourceComponentEv @ 2313 NONAME
_ZNK18QDeclarativeLoader4itemEv @ 2314 NONAME
_ZNK18QDeclarativeLoader6sourceEv @ 2315 NONAME
@@ -2496,7 +2496,7 @@ EXPORTS
_ZNK20QDeclarativeRepeater5countEv @ 2495 NONAME
_ZNK20QDeclarativeRepeater5modelEv @ 2496 NONAME
_ZNK20QDeclarativeRepeater8delegateEv @ 2497 NONAME
- _ZNK20QDeclarativeTextEdit10cursorRectEv @ 2498 NONAME
+ _ZNK20QDeclarativeTextEdit10cursorRectEv @ 2498 NONAME ABSENT
_ZNK20QDeclarativeTextEdit10isReadOnlyEv @ 2499 NONAME
_ZNK20QDeclarativeTextEdit10metaObjectEv @ 2500 NONAME
_ZNK20QDeclarativeTextEdit10textFormatEv @ 2501 NONAME
@@ -2536,7 +2536,7 @@ EXPORTS
_ZNK20QMetaPropertyBuilder8isStoredEv @ 2535 NONAME
_ZNK20QMetaPropertyBuilder9isDynamicEv @ 2536 NONAME
_ZNK21QDeclarativeComponent10metaObjectEv @ 2537 NONAME
- _ZNK21QDeclarativeComponent12errorsStringEv @ 2538 NONAME
+ _ZNK21QDeclarativeComponent12errorsStringEv @ 2538 NONAME ABSENT
_ZNK21QDeclarativeComponent15creationContextEv @ 2539 NONAME
_ZNK21QDeclarativeComponent3urlEv @ 2540 NONAME
_ZNK21QDeclarativeComponent6errorsEv @ 2541 NONAME
@@ -2593,7 +2593,7 @@ EXPORTS
_ZNK21QDeclarativeFlickable8isAtXEndEv @ 2592 NONAME
_ZNK21QDeclarativeFlickable8isAtYEndEv @ 2593 NONAME
_ZNK21QDeclarativeFlickable8isMovingEv @ 2594 NONAME
- _ZNK21QDeclarativeFlickable9overShootEv @ 2595 NONAME
+ _ZNK21QDeclarativeFlickable9overShootEv @ 2595 NONAME ABSENT
_ZNK21QDeclarativeImageBase10metaObjectEv @ 2596 NONAME
_ZNK21QDeclarativeImageBase10sourceSizeEv @ 2597 NONAME
_ZNK21QDeclarativeImageBase12asynchronousEv @ 2598 NONAME
@@ -2627,7 +2627,7 @@ EXPORTS
_ZNK21QDeclarativeRectangle8gradientEv @ 2626 NONAME
_ZNK21QDeclarativeScaleGrid10metaObjectEv @ 2627 NONAME
_ZNK21QDeclarativeScaleGrid6isNullEv @ 2628 NONAME
- _ZNK21QDeclarativeTextInput10cursorRectEv @ 2629 NONAME
+ _ZNK21QDeclarativeTextInput10cursorRectEv @ 2629 NONAME ABSENT
_ZNK21QDeclarativeTextInput10isReadOnlyEv @ 2630 NONAME
_ZNK21QDeclarativeTextInput10metaObjectEv @ 2631 NONAME
_ZNK21QDeclarativeTextInput12focusOnPressEv @ 2632 NONAME
@@ -3306,7 +3306,7 @@ EXPORTS
_ZThn8_N23QDeclarativePaintedItemD0Ev @ 3305 NONAME
_ZThn8_N23QDeclarativePaintedItemD1Ev @ 3306 NONAME
_ZThn8_N24QDeclarativeParentChange12isReversableEv @ 3307 NONAME
- _ZThn8_N24QDeclarativeParentChange13copyOriginalsEP23QDeclarativeActionEvent @ 3308 NONAME
+ _ZThn8_N24QDeclarativeParentChange13copyOriginalsEP23QDeclarativeActionEvent @ 3308 NONAME ABSENT
_ZThn8_N24QDeclarativeParentChange13saveOriginalsEv @ 3309 NONAME
_ZThn8_N24QDeclarativeParentChange17saveCurrentValuesEv @ 3310 NONAME
_ZThn8_N24QDeclarativeParentChange6rewindEv @ 3311 NONAME
@@ -3413,7 +3413,7 @@ EXPORTS
_ZN20QDeclarativePathView28highlightMoveDurationChangedEv @ 3412 NONAME
_ZN20QDeclarativeTextEdit11setWrapModeENS_8WrapModeE @ 3413 NONAME
_ZN20QDeclarativeTextEdit15wrapModeChangedEv @ 3414 NONAME
- _ZN21QDeclarativeTextInput11xToPositionEi @ 3415 NONAME
+ _ZN21QDeclarativeTextInput11xToPositionEi @ 3415 NONAME ABSENT
_ZN21QDeclarativeTextInput13setAutoScrollEb @ 3416 NONAME
_ZN21QDeclarativeTextInput14mouseMoveEventEP24QGraphicsSceneMouseEvent @ 3417 NONAME
_ZN21QDeclarativeTextInput17autoScrollChangedEb @ 3418 NONAME
@@ -3536,4 +3536,140 @@ EXPORTS
_ZThn8_N25QDeclarativeAnchorChanges7executeEN23QDeclarativeActionEvent6ReasonE @ 3535 NONAME
_ZThn8_N25QDeclarativeAnchorChanges7reverseEN23QDeclarativeActionEvent6ReasonE @ 3536 NONAME
_ZThn8_N29QDeclarativeStateChangeScript7executeEN23QDeclarativeActionEvent6ReasonE @ 3537 NONAME
+ _ZN15QDeclarativeRow24reportConflictingAnchorsEv @ 3538 NONAME
+ _ZN16QDeclarativeBind10classBeginEv @ 3539 NONAME
+ _ZN16QDeclarativeFlow24reportConflictingAnchorsEv @ 3540 NONAME
+ _ZN16QDeclarativeGrid24reportConflictingAnchorsEv @ 3541 NONAME
+ _ZN16QDeclarativePath10classBeginEv @ 3542 NONAME
+ _ZN18QDeclarativeColumn24reportConflictingAnchorsEv @ 3543 NONAME
+ _ZN20QDeclarativeBehavior18componentFinalizedEv @ 3544 NONAME
+ _ZN20QDeclarativeCompiler24buildPropertyInNamespaceEP29QDeclarativeImportedNamespacePN18QDeclarativeParser8PropertyEPNS2_6ObjectERKNS_14BindingContextE @ 3545 NONAME
+ _ZN21QDeclarativeComponent12createObjectEP7QObject @ 3546 NONAME
+ _ZN21QDeclarativeMouseArea10itemChangeEN13QGraphicsItem18GraphicsItemChangeERK8QVariant @ 3547 NONAME
+ _ZN21QDeclarativeMouseArea15setHoverEnabledEb @ 3548 NONAME
+ _ZN21QDeclarativeMouseArea19hoverEnabledChangedEv @ 3549 NONAME
+ _ZN21QDeclarativeMouseArea8canceledEv @ 3550 NONAME
+ _ZN23QDeclarativeConnections10classBeginEv @ 3551 NONAME
+ _ZN23QDeclarativeConnections23setIgnoreUnknownSignalsEb @ 3552 NONAME
+ _ZN23QDeclarativeItemPrivate11transitionsEv @ 3553 NONAME
+ _ZN23QDeclarativeItemPrivate4dataEv @ 3554 NONAME
+ _ZN23QDeclarativeItemPrivate7_statesEv @ 3555 NONAME
+ _ZN23QDeclarativeItemPrivate8setStateERK7QString @ 3556 NONAME
+ _ZN23QDeclarativeItemPrivate9resourcesEv @ 3557 NONAME
+ _ZN23QDeclarativePaintedItem10itemChangeEN13QGraphicsItem18GraphicsItemChangeERK8QVariant @ 3558 NONAME
+ _ZN23QDeclarativePaintedItem15geometryChangedERK6QRectFS2_ @ 3559 NONAME
+ _ZN24QDeclarativeWorkerScript10classBeginEv @ 3560 NONAME
+ _ZN24QDeclarativeWorkerScript6engineEv @ 3561 NONAME
+ _ZNK21QDeclarativeMouseArea12hoverEnabledEv @ 3562 NONAME
+ _ZNK23QDeclarativeConnections20ignoreUnknownSignalsEv @ 3563 NONAME
+ _ZNK23QDeclarativeItemPrivate14verticalCenterEv @ 3564 NONAME
+ _ZNK23QDeclarativeItemPrivate16horizontalCenterEv @ 3565 NONAME
+ _ZNK23QDeclarativeItemPrivate3topEv @ 3566 NONAME
+ _ZNK23QDeclarativeItemPrivate4leftEv @ 3567 NONAME
+ _ZNK23QDeclarativeItemPrivate5rightEv @ 3568 NONAME
+ _ZNK23QDeclarativeItemPrivate5stateEv @ 3569 NONAME
+ _ZNK23QDeclarativeItemPrivate6bottomEv @ 3570 NONAME
+ _ZNK23QDeclarativeItemPrivate8baselineEv @ 3571 NONAME
+ _ZNK27QDeclarativeVisualDataModel15completePendingEv @ 3572 NONAME
+ _ZNK27QDeclarativeVisualItemModel15completePendingEv @ 3573 NONAME
+ _ZThn8_N16QDeclarativeBind10classBeginEv @ 3574 NONAME
+ _ZThn8_N16QDeclarativePath10classBeginEv @ 3575 NONAME
+ _ZThn8_N21QDeclarativeMouseArea10itemChangeEN13QGraphicsItem18GraphicsItemChangeERK8QVariant @ 3576 NONAME
+ _ZThn8_N23QDeclarativeConnections10classBeginEv @ 3577 NONAME
+ _ZThn8_N23QDeclarativePaintedItem10itemChangeEN13QGraphicsItem18GraphicsItemChangeERK8QVariant @ 3578 NONAME
+ _ZThn8_N24QDeclarativeWorkerScript10classBeginEv @ 3579 NONAME
+ _ZN16QDeclarativeItem18keyPressPreHandlerEP9QKeyEvent @ 3580 NONAME
+ _ZN16QDeclarativeItem20keyReleasePreHandlerEP9QKeyEvent @ 3581 NONAME
+ _ZN16QDeclarativeItem21inputMethodPreHandlerEP17QInputMethodEvent @ 3582 NONAME
+ _ZN18QDeclarativeLoader17componentCompleteEv @ 3583 NONAME
+ _ZN18QDeclarativeLoader6loadedEv @ 3584 NONAME
+ _ZN20QDeclarativePathView21decrementCurrentIndexEv @ 3585 NONAME
+ _ZN20QDeclarativePathView21incrementCurrentIndexEv @ 3586 NONAME
+ _ZN21QDeclarativeFlickable17setFlickDirectionENS_18FlickableDirectionE @ 3587 NONAME
+ _ZN21QDeclarativeFlickable21setFlickableDirectionENS_18FlickableDirectionE @ 3588 NONAME
+ _ZN21QDeclarativeFlickable23movingVerticallyChangedEv @ 3589 NONAME
+ _ZN21QDeclarativeFlickable25flickableDirectionChangedEv @ 3590 NONAME
+ _ZN21QDeclarativeFlickable25flickingVerticallyChangedEv @ 3591 NONAME
+ _ZN21QDeclarativeFlickable25movingHorizontallyChangedEv @ 3592 NONAME
+ _ZN21QDeclarativeFlickable27flickingHorizontallyChangedEv @ 3593 NONAME
+ _ZN27QDeclarativeVisualDataModelC1EP19QDeclarativeContextP7QObject @ 3594 NONAME
+ _ZN27QDeclarativeVisualDataModelC2EP19QDeclarativeContextP7QObject @ 3595 NONAME
+ _ZN27QDeclarativeVisualItemModelC1EP7QObject @ 3596 NONAME
+ _ZN27QDeclarativeVisualItemModelC2EP7QObject @ 3597 NONAME
+ _ZNK21QDeclarativeFlickable18flickableDirectionEv @ 3598 NONAME
+ _ZNK21QDeclarativeFlickable18isMovingVerticallyEv @ 3599 NONAME
+ _ZNK21QDeclarativeFlickable20isFlickingVerticallyEv @ 3600 NONAME
+ _ZNK21QDeclarativeFlickable20isMovingHorizontallyEv @ 3601 NONAME
+ _ZNK21QDeclarativeFlickable22isFlickingHorizontallyEv @ 3602 NONAME
+ _ZThn16_N18QDeclarativeLoader17componentCompleteEv @ 3603 NONAME
+ _ZN16QDeclarativeText18paintedSizeChangedEv @ 3604 NONAME
+ _ZN20QDeclarativePathView5eventEP6QEvent @ 3605 NONAME
+ _ZN20QDeclarativeTextEdit12focusInEventEP11QFocusEvent @ 3606 NONAME
+ _ZN20QDeclarativeTextEdit13focusOutEventEP11QFocusEvent @ 3607 NONAME
+ _ZN20QDeclarativeTextEdit16setSelectByMouseEb @ 3608 NONAME
+ _ZN20QDeclarativeTextEdit18paintedSizeChangedEv @ 3609 NONAME
+ _ZN20QDeclarativeTextEdit20selectByMouseChangedEb @ 3610 NONAME
+ _ZN20QDeclarativeTextEdit22cursorRectangleChangedEv @ 3611 NONAME
+ _ZN20QDeclarativeTextEdit22openSoftwareInputPanelEv @ 3612 NONAME
+ _ZN20QDeclarativeTextEdit23closeSoftwareInputPanelEv @ 3613 NONAME
+ _ZN20QDeclarativeTextEdit24setShowInputPanelOnFocusEb @ 3614 NONAME ABSENT
+ _ZN20QDeclarativeTextEdit28showInputPanelOnFocusChangedEb @ 3615 NONAME ABSENT
+ _ZN21QDeclarativeTextInput12focusInEventEP11QFocusEvent @ 3616 NONAME
+ _ZN21QDeclarativeTextInput13focusOutEventEP11QFocusEvent @ 3617 NONAME
+ _ZN21QDeclarativeTextInput16setSelectByMouseEb @ 3618 NONAME
+ _ZN21QDeclarativeTextInput20selectByMouseChangedEb @ 3619 NONAME
+ _ZN21QDeclarativeTextInput22openSoftwareInputPanelEv @ 3620 NONAME
+ _ZN21QDeclarativeTextInput23closeSoftwareInputPanelEv @ 3621 NONAME
+ _ZN21QDeclarativeTextInput24setShowInputPanelOnFocusEb @ 3622 NONAME ABSENT
+ _ZN21QDeclarativeTextInput28showInputPanelOnFocusChangedEb @ 3623 NONAME ABSENT
+ _ZN22QDeclarativeExpressionC1EP19QDeclarativeContextP7QObjectRK7QStringS3_ @ 3624 NONAME
+ _ZN22QDeclarativeExpressionC1EP23QDeclarativeContextDataP7QObjectRK7QString @ 3625 NONAME
+ _ZN22QDeclarativeExpressionC1EP23QDeclarativeContextDataP7QObjectRK7QStringR29QDeclarativeExpressionPrivate @ 3626 NONAME
+ _ZN22QDeclarativeExpressionC2EP19QDeclarativeContextP7QObjectRK7QStringS3_ @ 3627 NONAME
+ _ZN22QDeclarativeExpressionC2EP23QDeclarativeContextDataP7QObjectRK7QString @ 3628 NONAME
+ _ZN22QDeclarativeExpressionC2EP23QDeclarativeContextDataP7QObjectRK7QStringR29QDeclarativeExpressionPrivate @ 3629 NONAME
+ _ZN23QDeclarativeItemPrivate17setConsistentTimeEx @ 3630 NONAME
+ _ZN23QDeclarativeItemPrivate5startER13QElapsedTimer @ 3631 NONAME
+ _ZN23QDeclarativeItemPrivate7elapsedER13QElapsedTimer @ 3632 NONAME
+ _ZN23QDeclarativeItemPrivate7restartER13QElapsedTimer @ 3633 NONAME
+ _ZN24QDeclarativeParentChange11setRotationE24QDeclarativeScriptString @ 3634 NONAME
+ _ZN24QDeclarativeParentChange4setXE24QDeclarativeScriptString @ 3635 NONAME
+ _ZN24QDeclarativeParentChange4setYE24QDeclarativeScriptString @ 3636 NONAME
+ _ZN24QDeclarativeParentChange8setScaleE24QDeclarativeScriptString @ 3637 NONAME
+ _ZN24QDeclarativeParentChange8setWidthE24QDeclarativeScriptString @ 3638 NONAME
+ _ZN24QDeclarativeParentChange9setHeightE24QDeclarativeScriptString @ 3639 NONAME
+ _ZN24QDeclarativeXmlListModel10queryErrorEPvRK7QString @ 3640 NONAME
+ _ZNK16QDeclarativeText12paintedWidthEv @ 3641 NONAME
+ _ZNK16QDeclarativeText13paintedHeightEv @ 3642 NONAME
+ _ZNK20QDeclarativeTextEdit12paintedWidthEv @ 3643 NONAME
+ _ZNK20QDeclarativeTextEdit13paintedHeightEv @ 3644 NONAME
+ _ZNK20QDeclarativeTextEdit13selectByMouseEv @ 3645 NONAME
+ _ZNK20QDeclarativeTextEdit15cursorRectangleEv @ 3646 NONAME
+ _ZNK20QDeclarativeTextEdit21showInputPanelOnFocusEv @ 3647 NONAME ABSENT
+ _ZNK21QDeclarativeComponent11errorStringEv @ 3648 NONAME
+ _ZNK21QDeclarativeTextInput13selectByMouseEv @ 3649 NONAME
+ _ZNK21QDeclarativeTextInput21showInputPanelOnFocusEv @ 3650 NONAME ABSENT
+ _ZNK23QDeclarativePaintedItem12boundingRectEv @ 3651 NONAME
+ _ZNK24QDeclarativeXmlListModel11errorStringEv @ 3652 NONAME
+ _ZNK24QDeclarativeXmlListModel3getEi @ 3653 NONAME
+ _ZThn8_N20QDeclarativeTextEdit12focusInEventEP11QFocusEvent @ 3654 NONAME
+ _ZThn8_N20QDeclarativeTextEdit13focusOutEventEP11QFocusEvent @ 3655 NONAME
+ _ZThn8_N21QDeclarativeTextInput12focusInEventEP11QFocusEvent @ 3656 NONAME
+ _ZThn8_N21QDeclarativeTextInput13focusOutEventEP11QFocusEvent @ 3657 NONAME
+ _ZThn8_NK23QDeclarativePaintedItem12boundingRectEv @ 3658 NONAME
+ _ZN20QDeclarativeTextEdit10selectWordEv @ 3659 NONAME
+ _ZN20QDeclarativeTextEdit19moveCursorSelectionEi @ 3660 NONAME
+ _ZN20QDeclarativeTextEdit3cutEv @ 3661 NONAME
+ _ZN20QDeclarativeTextEdit4copyEv @ 3662 NONAME
+ _ZN20QDeclarativeTextEdit5pasteEv @ 3663 NONAME
+ _ZN20QDeclarativeTextEdit6selectEii @ 3664 NONAME
+ _ZN21QDeclarativeTextInput10selectWordEv @ 3665 NONAME
+ _ZN21QDeclarativeTextInput21mouseDoubleClickEventEP24QGraphicsSceneMouseEvent @ 3666 NONAME
+ _ZN21QDeclarativeTextInput6selectEii @ 3667 NONAME
+ _ZNK20QDeclarativeTextEdit10positionAtEii @ 3668 NONAME
+ _ZNK20QDeclarativeTextEdit19positionToRectangleEi @ 3669 NONAME
+ _ZNK21QDeclarativeTextInput10positionAtEi @ 3670 NONAME
+ _ZNK21QDeclarativeTextInput15cursorRectangleEv @ 3671 NONAME
+ _ZNK21QDeclarativeTextInput19positionToRectangleEi @ 3672 NONAME
+ _ZThn8_N21QDeclarativeTextInput21mouseDoubleClickEventEP24QGraphicsSceneMouseEvent @ 3673 NONAME
diff --git a/src/s60installs/eabi/QtGuiu.def b/src/s60installs/eabi/QtGuiu.def
index b1166c5236..9c1002dbe1 100644
--- a/src/s60installs/eabi/QtGuiu.def
+++ b/src/s60installs/eabi/QtGuiu.def
@@ -9899,17 +9899,17 @@ EXPORTS
_ZNK7QAction9statusTipEv @ 9898 NONAME
_ZNK7QAction9whatsThisEv @ 9899 NONAME
_ZNK7QBezier10addIfCloseEPff @ 9900 NONAME
- _ZNK7QBezier12addToPolygonEP9QPolygonF @ 9901 NONAME
+ _ZNK7QBezier12addToPolygonEP9QPolygonF @ 9901 NONAME ABSENT
_ZNK7QBezier16bezierOnIntervalEff @ 9902 NONAME
- _ZNK7QBezier17addToPolygonMixedEP9QPolygonF @ 9903 NONAME
+ _ZNK7QBezier17addToPolygonMixedEP9QPolygonF @ 9903 NONAME ABSENT
_ZNK7QBezier17stationaryYPointsERfS0_ @ 9904 NONAME
- _ZNK7QBezier21addToPolygonIterativeEP9QPolygonF @ 9905 NONAME
+ _ZNK7QBezier21addToPolygonIterativeEP9QPolygonF @ 9905 NONAME ABSENT
_ZNK7QBezier5tForYEfff @ 9906 NONAME
_ZNK7QBezier6boundsEv @ 9907 NONAME
_ZNK7QBezier6lengthEf @ 9908 NONAME
_ZNK7QBezier7shiftedEPS_iff @ 9909 NONAME
_ZNK7QBezier9tAtLengthEf @ 9910 NONAME
- _ZNK7QBezier9toPolygonEv @ 9911 NONAME
+ _ZNK7QBezier9toPolygonEv @ 9911 NONAME ABSENT
_ZNK7QBitmap11transformedERK10QTransform @ 9912 NONAME
_ZNK7QBitmap11transformedERK7QMatrix @ 9913 NONAME
_ZNK7QBitmapcv8QVariantEv @ 9914 NONAME
@@ -11805,197 +11805,211 @@ EXPORTS
_ZN24QImagePixmapCleanupHooks34executePixmapDataModificationHooksEP11QPixmapData @ 11804 NONAME
_ZN9QS60Style10timerEventEP11QTimerEvent @ 11805 NONAME
_ZN9QS60Style11eventFilterEP7QObjectP6QEvent @ 11806 NONAME
- _ZN13QFontDatabase25removeAllApplicationFontsEv @ 11807 NONAME
- _ZN10QZipReader5closeEv @ 11808 NONAME
- _ZN10QZipReader8FileInfoC1ERKS0_ @ 11809 NONAME
- _ZN10QZipReader8FileInfoC1Ev @ 11810 NONAME
- _ZN10QZipReader8FileInfoC2ERKS0_ @ 11811 NONAME
- _ZN10QZipReader8FileInfoC2Ev @ 11812 NONAME
- _ZN10QZipReader8FileInfoD1Ev @ 11813 NONAME
- _ZN10QZipReader8FileInfoD2Ev @ 11814 NONAME
- _ZN10QZipReader8FileInfoaSERKS0_ @ 11815 NONAME
- _ZN10QZipReaderC1EP9QIODevice @ 11816 NONAME
- _ZN10QZipReaderC1ERK7QString6QFlagsIN9QIODevice12OpenModeFlagEE @ 11817 NONAME
- _ZN10QZipReaderC2EP9QIODevice @ 11818 NONAME
- _ZN10QZipReaderC2ERK7QString6QFlagsIN9QIODevice12OpenModeFlagEE @ 11819 NONAME
- _ZN10QZipReaderD1Ev @ 11820 NONAME
- _ZN10QZipReaderD2Ev @ 11821 NONAME
- _ZN11QStaticText13setTextFormatEN2Qt10TextFormatE @ 11822 NONAME
- _ZN11QStaticText14setMaximumSizeERK6QSizeF @ 11823 NONAME ABSENT
- _ZN11QStaticText18setPerformanceHintENS_15PerformanceHintE @ 11824 NONAME
- _ZN11QStaticText6detachEv @ 11825 NONAME
- _ZN11QStaticText7prepareERK10QTransformRK5QFont @ 11826 NONAME
- _ZN11QStaticText7setTextERK7QString @ 11827 NONAME
- _ZN11QStaticTextC1ERK7QString @ 11828 NONAME
- _ZN11QStaticTextC1ERKS_ @ 11829 NONAME
- _ZN11QStaticTextC1Ev @ 11830 NONAME
- _ZN11QStaticTextC2ERK7QString @ 11831 NONAME
- _ZN11QStaticTextC2ERKS_ @ 11832 NONAME
- _ZN11QStaticTextC2Ev @ 11833 NONAME
- _ZN11QStaticTextD1Ev @ 11834 NONAME
- _ZN11QStaticTextD2Ev @ 11835 NONAME
- _ZN11QStaticTextaSERKS_ @ 11836 NONAME
- _ZN12QKeySequence6assignERK7QStringNS_14SequenceFormatE @ 11837 NONAME
- _ZN12QKeySequenceC1ERK7QStringNS_14SequenceFormatE @ 11838 NONAME
- _ZN12QKeySequenceC2ERK7QStringNS_14SequenceFormatE @ 11839 NONAME
- _ZN13QTextDocument19clearUndoRedoStacksENS_6StacksE @ 11840 NONAME
- _ZN14QPaintEngineEx19drawPixmapFragmentsEPKN8QPainter8FragmentEiRK7QPixmap6QFlagsINS0_12FragmentHintEE @ 11841 NONAME ABSENT
- _ZN14QWidgetPrivate11inTabWidgetEP7QWidget @ 11842 NONAME
- _ZN14QWidgetPrivate17canKeypadNavigateEN2Qt11OrientationE @ 11843 NONAME
- _ZN14QWidgetPrivate6renderEP12QPaintDeviceRK6QPointRK7QRegion6QFlagsIN7QWidget10RenderFlagEEb @ 11844 NONAME
- _ZN15QGraphicsWidget21setAutoFillBackgroundEb @ 11845 NONAME
- _ZN16QFileSystemModel15directoryLoadedERK7QString @ 11846 NONAME
- _ZN18QTextureGlyphCache8populateEP11QFontEngineiPKjPK11QFixedPoint @ 11847 NONAME
- _ZN19QApplicationPrivate15getPixmapCursorEN2Qt11CursorShapeE @ 11848 NONAME
- _ZN20QGraphicsViewPrivate10centerViewEN13QGraphicsView14ViewportAnchorE @ 11849 NONAME
- _ZN20QGraphicsViewPrivate10updateRectERK5QRect @ 11850 NONAME
- _ZN20QGraphicsViewPrivate12updateRegionERK7QRegion @ 11851 NONAME
- _ZN20QGraphicsViewPrivate12updateScrollEv @ 11852 NONAME
- _ZN20QGraphicsViewPrivate15storeMouseEventEP11QMouseEvent @ 11853 NONAME
- _ZN20QGraphicsViewPrivate18storeDragDropEventEPK27QGraphicsSceneDragDropEvent @ 11854 NONAME
- _ZN20QGraphicsViewPrivate19translateTouchEventEPS_P11QTouchEvent @ 11855 NONAME
- _ZN20QGraphicsViewPrivate20_q_setViewportCursorERK7QCursor @ 11856 NONAME
- _ZN20QGraphicsViewPrivate20replayLastMouseEventEv @ 11857 NONAME
- _ZN20QGraphicsViewPrivate21freeStyleOptionsArrayEP24QStyleOptionGraphicsItem @ 11858 NONAME
- _ZN20QGraphicsViewPrivate21mouseMoveEventHandlerEP11QMouseEvent @ 11859 NONAME
- _ZN20QGraphicsViewPrivate21processPendingUpdatesEv @ 11860 NONAME
- _ZN20QGraphicsViewPrivate21updateLastCenterPointEv @ 11861 NONAME
- _ZN20QGraphicsViewPrivate22_q_unsetViewportCursorEv @ 11862 NONAME
- _ZN20QGraphicsViewPrivate22allocStyleOptionsArrayEi @ 11863 NONAME
- _ZN20QGraphicsViewPrivate22recalculateContentSizeEv @ 11864 NONAME
- _ZN20QGraphicsViewPrivate26populateSceneDragDropEventEP27QGraphicsSceneDragDropEventP10QDropEvent @ 11865 NONAME
- _ZN20QGraphicsViewPrivate28updateInputMethodSensitivityEv @ 11866 NONAME
- _ZN20QGraphicsViewPrivateC1Ev @ 11867 NONAME
- _ZN20QGraphicsViewPrivateC2Ev @ 11868 NONAME
- _ZN24QImagePixmapCleanupHooks13isImageCachedERK6QImage @ 11869 NONAME
- _ZN24QImagePixmapCleanupHooks14isPixmapCachedERK7QPixmap @ 11870 NONAME
- _ZN26QAbstractScrollAreaPrivate14layoutChildrenEv @ 11871 NONAME
- _ZN26QAbstractScrollAreaPrivate16replaceScrollBarEP10QScrollBarN2Qt11OrientationE @ 11872 NONAME
- _ZN26QAbstractScrollAreaPrivate23_q_showOrHideScrollBarsEv @ 11873 NONAME
- _ZN26QAbstractScrollAreaPrivate4initEv @ 11874 NONAME
- _ZN26QAbstractScrollAreaPrivate9_q_hslideEi @ 11875 NONAME
- _ZN26QAbstractScrollAreaPrivate9_q_vslideEi @ 11876 NONAME
- _ZN26QAbstractScrollAreaPrivateC1Ev @ 11877 NONAME
- _ZN26QAbstractScrollAreaPrivateC2Ev @ 11878 NONAME
- _ZN6QColor12isValidColorERK7QString @ 11879 NONAME
- _ZN6QColor18setColorFromStringERK7QString @ 11880 NONAME
- _ZN6QLabel12setSelectionEii @ 11881 NONAME
- _ZN7QPixmap16convertFromImageERK6QImage6QFlagsIN2Qt19ImageConversionFlagEE @ 11882 NONAME
- _ZN8QPainter14drawStaticTextERK7QPointFRK11QStaticText @ 11883 NONAME
- _ZN8QPainter19drawPixmapFragmentsEPKNS_8FragmentEiRK7QPixmap6QFlagsINS_12FragmentHintEE @ 11884 NONAME ABSENT
- _ZN8QPainter8Fragment6createERK7QPointFRK6QRectFffff @ 11885 NONAME ABSENT
- _ZN8QToolBar17visibilityChangedEb @ 11886 NONAME
- _ZNK10QZipReader10extractAllERK7QString @ 11887 NONAME
- _ZNK10QZipReader10isReadableEv @ 11888 NONAME
- _ZNK10QZipReader11entryInfoAtEi @ 11889 NONAME
- _ZNK10QZipReader12fileInfoListEv @ 11890 NONAME
- _ZNK10QZipReader5countEv @ 11891 NONAME
- _ZNK10QZipReader6existsEv @ 11892 NONAME
- _ZNK10QZipReader6statusEv @ 11893 NONAME
- _ZNK10QZipReader8fileDataERK7QString @ 11894 NONAME
- _ZNK11QStaticText10textFormatEv @ 11895 NONAME
- _ZNK11QStaticText11maximumSizeEv @ 11896 NONAME ABSENT
- _ZNK11QStaticText15performanceHintEv @ 11897 NONAME
- _ZNK11QStaticText4sizeEv @ 11898 NONAME
- _ZNK11QStaticText4textEv @ 11899 NONAME
- _ZNK11QStaticTexteqERKS_ @ 11900 NONAME
- _ZNK11QStaticTextneERKS_ @ 11901 NONAME
- _ZNK11QTextCursor15positionInBlockEv @ 11902 NONAME
- _ZNK13QIntValidator5fixupER7QString @ 11903 NONAME
- _ZNK14QPlainTextEdit8anchorAtERK6QPoint @ 11904 NONAME
- _ZNK15QGraphicsWidget18autoFillBackgroundEv @ 11905 NONAME
- _ZNK20QGraphicsViewPrivate10mapToSceneERK6QRectF @ 11906 NONAME
- _ZNK20QGraphicsViewPrivate10mapToSceneERK7QPointF @ 11907 NONAME
- _ZNK20QGraphicsViewPrivate13mapToViewRectEPK13QGraphicsItemRK6QRectF @ 11908 NONAME
- _ZNK20QGraphicsViewPrivate14mapRectToSceneERK5QRect @ 11909 NONAME
- _ZNK20QGraphicsViewPrivate14verticalScrollEv @ 11910 NONAME
- _ZNK20QGraphicsViewPrivate15mapToViewRegionEPK13QGraphicsItemRK6QRectF @ 11911 NONAME
- _ZNK20QGraphicsViewPrivate16horizontalScrollEv @ 11912 NONAME
- _ZNK20QGraphicsViewPrivate16mapRectFromSceneERK6QRectF @ 11913 NONAME
- _ZNK20QGraphicsViewPrivate16rubberBandRegionEPK7QWidgetRK5QRect @ 11914 NONAME
- _ZNK20QGraphicsViewPrivate9findItemsERK7QRegionPbRK10QTransform @ 11915 NONAME
- _ZNK26QAbstractScrollAreaPrivate14contentsOffsetEv @ 11916 NONAME
- _ZNK6QImage13constScanLineEi @ 11917 NONAME
- _ZNK6QImage9constBitsEv @ 11918 NONAME
- _ZNK6QLabel12selectedTextEv @ 11919 NONAME
- _ZNK6QLabel14selectionStartEv @ 11920 NONAME
- _ZNK6QLabel15hasSelectedTextEv @ 11921 NONAME
- _ZNK7QBezier11getSubRangeEff @ 11922 NONAME
- _ZNK7QBezier5mapByERK10QTransform @ 11923 NONAME
- _ZTI20QGraphicsViewPrivate @ 11924 NONAME
- _ZTI26QAbstractScrollAreaPrivate @ 11925 NONAME
- _ZTV20QGraphicsViewPrivate @ 11926 NONAME
- _ZTV26QAbstractScrollAreaPrivate @ 11927 NONAME
- _Z14qt_draw_glyphsP8QPainterPKjPK7QPointFi @ 11928 NONAME
- _ZN11QFontEngine16getGlyphBearingsEjPfS0_ @ 11929 NONAME
- _ZN12QLineControl17updateDisplayTextEb @ 11930 NONAME
- _ZN12QLineControl5pasteEN10QClipboard4ModeE @ 11931 NONAME
- _ZN12QTextControl5pasteEN10QClipboard4ModeE @ 11932 NONAME
- _ZN14QPaintEngineEx19drawPixmapFragmentsEPKN8QPainter14PixmapFragmentEiRK7QPixmap6QFlagsINS0_18PixmapFragmentHintEE @ 11933 NONAME
- _ZN15QGraphicsObject12widthChangedEv @ 11934 NONAME
- _ZN15QGraphicsObject13heightChangedEv @ 11935 NONAME
- _ZN15QGraphicsObject15childrenChangedEv @ 11936 NONAME
- _ZN15QGraphicsWidget15geometryChangedEv @ 11937 NONAME
- _ZN15QSplitterHandle11resizeEventEP12QResizeEvent @ 11938 NONAME
- _ZN20QGraphicsItemPrivate10resetWidthEv @ 11939 NONAME
- _ZN20QGraphicsItemPrivate11resetHeightEv @ 11940 NONAME
- _ZN20QGraphicsItemPrivate12childrenListEv @ 11941 NONAME
- _ZN20QGraphicsItemPrivate14setFocusHelperEN2Qt11FocusReasonEbb @ 11942 NONAME
- _ZN20QGraphicsItemPrivate16clearFocusHelperEb @ 11943 NONAME
- _ZN20QGraphicsItemPrivate24prependGraphicsTransformEP18QGraphicsTransform @ 11944 NONAME
- _ZN20QGraphicsItemPrivate6appendEP24QDeclarativeListPropertyI15QGraphicsObjectEPS1_ @ 11945 NONAME ABSENT
- _ZN20QGraphicsItemPrivate8setWidthEf @ 11946 NONAME
- _ZN20QGraphicsItemPrivate9setHeightEf @ 11947 NONAME
- _ZN7QWizard11pageRemovedEi @ 11948 NONAME
- _ZN7QWizard13setSideWidgetEP7QWidget @ 11949 NONAME
- _ZN7QWizard9pageAddedEi @ 11950 NONAME
- _ZN8QPainter14PixmapFragment6createERK7QPointFRK6QRectFffff @ 11951 NONAME
- _ZN8QPainter19drawPixmapFragmentsEPKNS_14PixmapFragmentEiRK7QPixmap6QFlagsINS_18PixmapFragmentHintEE @ 11952 NONAME
- _ZN9QLineEdit18setPlaceholderTextERK7QString @ 11953 NONAME
- _ZNK10QZipReader6deviceEv @ 11954 NONAME
- _ZNK10QZipReader8FileInfo7isValidEv @ 11955 NONAME
- _ZNK20QGraphicsItemPrivate5widthEv @ 11956 NONAME
- _ZNK20QGraphicsItemPrivate6heightEv @ 11957 NONAME
- _ZNK6QImage13bitPlaneCountEv @ 11958 NONAME
- _ZNK7QWizard10sideWidgetEv @ 11959 NONAME
- _ZNK9QLineEdit15placeholderTextEv @ 11960 NONAME
- _ZNK9QTextLine17horizontalAdvanceEv @ 11961 NONAME
- _ZN11QStaticText12setTextWidthEf @ 11962 NONAME
- _ZN13QGraphicsItem16updateMicroFocusEv @ 11963 NONAME
- _ZN15QGraphicsObject16updateMicroFocusEv @ 11964 NONAME
- _ZN15QGraphicsWidget13layoutChangedEv @ 11965 NONAME
- _ZN16QPainterReplayer15processCommandsERK12QPaintBufferP8QPainterii @ 11966 NONAME
- _ZNK11QStaticText9textWidthEv @ 11967 NONAME
- _ZNK12QPaintBuffer13frameEndIndexEi @ 11968 NONAME
- _ZNK12QPaintBuffer15frameStartIndexEi @ 11969 NONAME
- _ZNK12QPaintBuffer15processCommandsEP8QPainterii @ 11970 NONAME
- _ZNK12QPaintBuffer18commandDescriptionEi @ 11971 NONAME
- _ZN20QGraphicsItemPrivate11children_atEP24QDeclarativeListPropertyI15QGraphicsObjectEi @ 11972 NONAME
- _ZN20QGraphicsItemPrivate14children_countEP24QDeclarativeListPropertyI15QGraphicsObjectE @ 11973 NONAME
- _ZN20QGraphicsItemPrivate15children_appendEP24QDeclarativeListPropertyI15QGraphicsObjectEPS1_ @ 11974 NONAME
- _ZN11QEglContext14destroyContextEv @ 11975 NONAME
- _ZN14QEglProperties13setDeviceTypeEi @ 11976 NONAME
- _ZN4QEgl10clearErrorEv @ 11977 NONAME ABSENT
- _ZN4QEgl10extensionsEv @ 11978 NONAME
- _ZN4QEgl11errorStringEi @ 11979 NONAME
- _ZN4QEgl11errorStringEv @ 11980 NONAME ABSENT
- _ZN4QEgl12chooseConfigEPK14QEglPropertiesNS_16PixelFormatMatchE @ 11981 NONAME
- _ZN4QEgl12hasExtensionEPKc @ 11982 NONAME
- _ZN4QEgl12nativePixmapEP7QPixmap @ 11983 NONAME
- _ZN4QEgl12nativeWindowEP7QWidget @ 11984 NONAME
- _ZN4QEgl13createSurfaceEP12QPaintDeviceiPK14QEglProperties @ 11985 NONAME
- _ZN4QEgl13defaultConfigEiNS_3APIE6QFlagsINS_12ConfigOptionEE @ 11986 NONAME
- _ZN4QEgl13nativeDisplayEv @ 11987 NONAME
- _ZN4QEgl14dumpAllConfigsEv @ 11988 NONAME
- _ZN4QEgl17eglCreateImageKHREiiiiPKi @ 11989 NONAME
- _ZN4QEgl18eglDestroyImageKHREii @ 11990 NONAME
- _ZN4QEgl5errorEv @ 11991 NONAME ABSENT
- _ZN4QEgl7displayEv @ 11992 NONAME
- _ZNK11QEglContext12configAttribEi @ 11993 NONAME
- _ZNK11QEglContext16configPropertiesEv @ 11994 NONAME ABSENT
- _ZNK19QItemSelectionRange7isEmptyEv @ 11995 NONAME
- _ZN13QIconEngineV28iconNameEv @ 11996 NONAME
- _ZN14QWindowSurface23setPartialUpdateSupportEb @ 11997 NONAME
- _ZNK14QWindowSurface23hasPartialUpdateSupportEv @ 11998 NONAME
- _ZNK5QIcon4nameEv @ 11999 NONAME
+ _ZN11QEglContext10clearErrorEv @ 11807 NONAME ABSENT
+ _ZN11QEglContext13nativeDisplayEv @ 11808 NONAME ABSENT
+ _ZN11QEglContext14destroyContextEv @ 11809 NONAME
+ _ZN11QEglContext3dpyE @ 11810 NONAME DATA 4 ABSENT
+ _ZN11QEglContext5errorEv @ 11811 NONAME ABSENT
+ _ZN11QEglContext7displayEv @ 11812 NONAME ABSENT
+ _ZN11QFontEngine16getGlyphBearingsEjPfS0_ @ 11813 NONAME
+ _ZN12QLineControl17updateDisplayTextEb @ 11814 NONAME
+ _ZN13QFontDatabase25removeAllApplicationFontsEv @ 11815 NONAME
+ _ZN14QWidgetPrivate11inTabWidgetEP7QWidget @ 11816 NONAME
+ _ZN14QWidgetPrivate17canKeypadNavigateEN2Qt11OrientationE @ 11817 NONAME
+ _ZN20QGraphicsItemPrivate14setFocusHelperEN2Qt11FocusReasonEbb @ 11818 NONAME
+ _ZN20QGraphicsItemPrivate16clearFocusHelperEb @ 11819 NONAME
+ _ZN24QImagePixmapCleanupHooks13isImageCachedERK6QImage @ 11820 NONAME
+ _ZN24QImagePixmapCleanupHooks14isPixmapCachedERK7QPixmap @ 11821 NONAME
+ _Z14qt_draw_glyphsP8QPainterPKjPK7QPointFi @ 11822 NONAME
+ _ZN10QZipReader5closeEv @ 11823 NONAME
+ _ZN10QZipReader8FileInfoC1ERKS0_ @ 11824 NONAME
+ _ZN10QZipReader8FileInfoC1Ev @ 11825 NONAME
+ _ZN10QZipReader8FileInfoC2ERKS0_ @ 11826 NONAME
+ _ZN10QZipReader8FileInfoC2Ev @ 11827 NONAME
+ _ZN10QZipReader8FileInfoD1Ev @ 11828 NONAME
+ _ZN10QZipReader8FileInfoD2Ev @ 11829 NONAME
+ _ZN10QZipReader8FileInfoaSERKS0_ @ 11830 NONAME
+ _ZN10QZipReaderC1EP9QIODevice @ 11831 NONAME
+ _ZN10QZipReaderC1ERK7QString6QFlagsIN9QIODevice12OpenModeFlagEE @ 11832 NONAME
+ _ZN10QZipReaderC2EP9QIODevice @ 11833 NONAME
+ _ZN10QZipReaderC2ERK7QString6QFlagsIN9QIODevice12OpenModeFlagEE @ 11834 NONAME
+ _ZN10QZipReaderD1Ev @ 11835 NONAME
+ _ZN10QZipReaderD2Ev @ 11836 NONAME
+ _ZN11QStaticText12setTextWidthEf @ 11837 NONAME
+ _ZN11QStaticText13setTextFormatEN2Qt10TextFormatE @ 11838 NONAME
+ _ZN11QStaticText18setPerformanceHintENS_15PerformanceHintE @ 11839 NONAME
+ _ZN11QStaticText6detachEv @ 11840 NONAME
+ _ZN11QStaticText7prepareERK10QTransformRK5QFont @ 11841 NONAME
+ _ZN11QStaticText7setTextERK7QString @ 11842 NONAME
+ _ZN11QStaticTextC1ERK7QString @ 11843 NONAME
+ _ZN11QStaticTextC1ERKS_ @ 11844 NONAME
+ _ZN11QStaticTextC1Ev @ 11845 NONAME
+ _ZN11QStaticTextC2ERK7QString @ 11846 NONAME
+ _ZN11QStaticTextC2ERKS_ @ 11847 NONAME
+ _ZN11QStaticTextC2Ev @ 11848 NONAME
+ _ZN11QStaticTextD1Ev @ 11849 NONAME
+ _ZN11QStaticTextD2Ev @ 11850 NONAME
+ _ZN11QStaticTextaSERKS_ @ 11851 NONAME
+ _ZN12QKeySequence6assignERK7QStringNS_14SequenceFormatE @ 11852 NONAME
+ _ZN12QKeySequenceC1ERK7QStringNS_14SequenceFormatE @ 11853 NONAME
+ _ZN12QKeySequenceC2ERK7QStringNS_14SequenceFormatE @ 11854 NONAME
+ _ZN12QLineControl5pasteEN10QClipboard4ModeE @ 11855 NONAME
+ _ZN12QPixmapCache10allPixmapsEv @ 11856 NONAME
+ _ZN12QPixmapCache20flushDetachedPixmapsEv @ 11857 NONAME
+ _ZN12QPixmapCache9totalUsedEv @ 11858 NONAME
+ _ZN12QTextControl5pasteEN10QClipboard4ModeE @ 11859 NONAME
+ _ZN13QGraphicsItem16updateMicroFocusEv @ 11860 NONAME
+ _ZN13QIconEngineV28iconNameEv @ 11861 NONAME
+ _ZN13QTextDocument19clearUndoRedoStacksENS_6StacksE @ 11862 NONAME
+ _ZN14QEglProperties13setDeviceTypeEi @ 11863 NONAME
+ _ZN14QPaintEngineEx19drawPixmapFragmentsEPKN8QPainter14PixmapFragmentEiRK7QPixmap6QFlagsINS0_18PixmapFragmentHintEE @ 11864 NONAME
+ _ZN14QWidgetPrivate6renderEP12QPaintDeviceRK6QPointRK7QRegion6QFlagsIN7QWidget10RenderFlagEEb @ 11865 NONAME
+ _ZN14QWindowSurface23setPartialUpdateSupportEb @ 11866 NONAME
+ _ZN15QGraphicsObject12widthChangedEv @ 11867 NONAME
+ _ZN15QGraphicsObject13heightChangedEv @ 11868 NONAME
+ _ZN15QGraphicsObject15childrenChangedEv @ 11869 NONAME
+ _ZN15QGraphicsObject16updateMicroFocusEv @ 11870 NONAME
+ _ZN15QGraphicsWidget13layoutChangedEv @ 11871 NONAME
+ _ZN15QGraphicsWidget15geometryChangedEv @ 11872 NONAME
+ _ZN15QGraphicsWidget21setAutoFillBackgroundEb @ 11873 NONAME
+ _ZN15QSplitterHandle11resizeEventEP12QResizeEvent @ 11874 NONAME
+ _ZN16QFileSystemModel15directoryLoadedERK7QString @ 11875 NONAME
+ _ZN16QPainterReplayer15processCommandsERK12QPaintBufferP8QPainterii @ 11876 NONAME
+ _ZN18QTextureGlyphCache8populateEP11QFontEngineiPKjPK11QFixedPoint @ 11877 NONAME
+ _ZN19QApplicationPrivate15getPixmapCursorEN2Qt11CursorShapeE @ 11878 NONAME
+ _ZN20QGraphicsItemPrivate10resetWidthEv @ 11879 NONAME
+ _ZN20QGraphicsItemPrivate11children_atEP24QDeclarativeListPropertyI15QGraphicsObjectEi @ 11880 NONAME
+ _ZN20QGraphicsItemPrivate11resetHeightEv @ 11881 NONAME
+ _ZN20QGraphicsItemPrivate12childrenListEv @ 11882 NONAME
+ _ZN20QGraphicsItemPrivate14children_countEP24QDeclarativeListPropertyI15QGraphicsObjectE @ 11883 NONAME
+ _ZN20QGraphicsItemPrivate15children_appendEP24QDeclarativeListPropertyI15QGraphicsObjectEPS1_ @ 11884 NONAME
+ _ZN20QGraphicsItemPrivate24prependGraphicsTransformEP18QGraphicsTransform @ 11885 NONAME
+ _ZN20QGraphicsItemPrivate30updatePaintedViewBoundingRectsEb @ 11886 NONAME
+ _ZN20QGraphicsItemPrivate8setWidthEf @ 11887 NONAME
+ _ZN20QGraphicsItemPrivate9setHeightEf @ 11888 NONAME
+ _ZN20QGraphicsViewPrivate10centerViewEN13QGraphicsView14ViewportAnchorE @ 11889 NONAME
+ _ZN20QGraphicsViewPrivate10updateRectERK5QRect @ 11890 NONAME
+ _ZN20QGraphicsViewPrivate12updateRegionERK6QRectFRK10QTransform @ 11891 NONAME
+ _ZN20QGraphicsViewPrivate12updateScrollEv @ 11892 NONAME
+ _ZN20QGraphicsViewPrivate13setUpdateClipEP13QGraphicsItem @ 11893 NONAME
+ _ZN20QGraphicsViewPrivate15storeMouseEventEP11QMouseEvent @ 11894 NONAME
+ _ZN20QGraphicsViewPrivate18storeDragDropEventEPK27QGraphicsSceneDragDropEvent @ 11895 NONAME
+ _ZN20QGraphicsViewPrivate19translateTouchEventEPS_P11QTouchEvent @ 11896 NONAME
+ _ZN20QGraphicsViewPrivate20_q_setViewportCursorERK7QCursor @ 11897 NONAME
+ _ZN20QGraphicsViewPrivate20replayLastMouseEventEv @ 11898 NONAME
+ _ZN20QGraphicsViewPrivate21freeStyleOptionsArrayEP24QStyleOptionGraphicsItem @ 11899 NONAME
+ _ZN20QGraphicsViewPrivate21mouseMoveEventHandlerEP11QMouseEvent @ 11900 NONAME
+ _ZN20QGraphicsViewPrivate21processPendingUpdatesEv @ 11901 NONAME
+ _ZN20QGraphicsViewPrivate21updateLastCenterPointEv @ 11902 NONAME
+ _ZN20QGraphicsViewPrivate22_q_unsetViewportCursorEv @ 11903 NONAME
+ _ZN20QGraphicsViewPrivate22allocStyleOptionsArrayEi @ 11904 NONAME
+ _ZN20QGraphicsViewPrivate22recalculateContentSizeEv @ 11905 NONAME
+ _ZN20QGraphicsViewPrivate26populateSceneDragDropEventEP27QGraphicsSceneDragDropEventP10QDropEvent @ 11906 NONAME
+ _ZN20QGraphicsViewPrivate28updateInputMethodSensitivityEv @ 11907 NONAME
+ _ZN20QGraphicsViewPrivateC1Ev @ 11908 NONAME
+ _ZN20QGraphicsViewPrivateC2Ev @ 11909 NONAME
+ _ZN23QImageTextureGlyphCache11fillTextureERKN18QTextureGlyphCache5CoordEj @ 11910 NONAME
+ _ZN23QImageTextureGlyphCache17createTextureDataEii @ 11911 NONAME
+ _ZN23QImageTextureGlyphCache17resizeTextureDataEii @ 11912 NONAME
+ _ZN26QAbstractScrollAreaPrivate14layoutChildrenEv @ 11913 NONAME
+ _ZN26QAbstractScrollAreaPrivate16replaceScrollBarEP10QScrollBarN2Qt11OrientationE @ 11914 NONAME
+ _ZN26QAbstractScrollAreaPrivate23_q_showOrHideScrollBarsEv @ 11915 NONAME
+ _ZN26QAbstractScrollAreaPrivate4initEv @ 11916 NONAME
+ _ZN26QAbstractScrollAreaPrivate9_q_hslideEi @ 11917 NONAME
+ _ZN26QAbstractScrollAreaPrivate9_q_vslideEi @ 11918 NONAME
+ _ZN26QAbstractScrollAreaPrivateC1Ev @ 11919 NONAME
+ _ZN26QAbstractScrollAreaPrivateC2Ev @ 11920 NONAME
+ _ZN4QEgl10extensionsEv @ 11921 NONAME
+ _ZN4QEgl11errorStringEi @ 11922 NONAME
+ _ZN4QEgl12chooseConfigEPK14QEglPropertiesNS_16PixelFormatMatchE @ 11923 NONAME
+ _ZN4QEgl12hasExtensionEPKc @ 11924 NONAME
+ _ZN4QEgl12nativePixmapEP7QPixmap @ 11925 NONAME
+ _ZN4QEgl12nativeWindowEP7QWidget @ 11926 NONAME
+ _ZN4QEgl13createSurfaceEP12QPaintDeviceiPK14QEglProperties @ 11927 NONAME
+ _ZN4QEgl13defaultConfigEiNS_3APIE6QFlagsINS_12ConfigOptionEE @ 11928 NONAME
+ _ZN4QEgl13nativeDisplayEv @ 11929 NONAME
+ _ZN4QEgl14dumpAllConfigsEv @ 11930 NONAME
+ _ZN4QEgl17eglCreateImageKHREiiiiPKi @ 11931 NONAME
+ _ZN4QEgl18eglDestroyImageKHREii @ 11932 NONAME
+ _ZN4QEgl7displayEv @ 11933 NONAME
+ _ZN6QColor12isValidColorERK7QString @ 11934 NONAME
+ _ZN6QColor18setColorFromStringERK7QString @ 11935 NONAME
+ _ZN6QLabel12setSelectionEii @ 11936 NONAME
+ _ZN7QPixmap16convertFromImageERK6QImage6QFlagsIN2Qt19ImageConversionFlagEE @ 11937 NONAME
+ _ZN7QWizard11pageRemovedEi @ 11938 NONAME
+ _ZN7QWizard13setSideWidgetEP7QWidget @ 11939 NONAME
+ _ZN7QWizard9pageAddedEi @ 11940 NONAME
+ _ZN8QPainter14PixmapFragment6createERK7QPointFRK6QRectFffff @ 11941 NONAME
+ _ZN8QPainter14drawStaticTextERK7QPointFRK11QStaticText @ 11942 NONAME
+ _ZN8QPainter19drawPixmapFragmentsEPKNS_14PixmapFragmentEiRK7QPixmap6QFlagsINS_18PixmapFragmentHintEE @ 11943 NONAME
+ _ZN8QToolBar17visibilityChangedEb @ 11944 NONAME
+ _ZN9QLineEdit18setPlaceholderTextERK7QString @ 11945 NONAME
+ _ZNK10QZipReader10extractAllERK7QString @ 11946 NONAME
+ _ZNK10QZipReader10isReadableEv @ 11947 NONAME
+ _ZNK10QZipReader11entryInfoAtEi @ 11948 NONAME
+ _ZNK10QZipReader12fileInfoListEv @ 11949 NONAME
+ _ZNK10QZipReader5countEv @ 11950 NONAME
+ _ZNK10QZipReader6deviceEv @ 11951 NONAME
+ _ZNK10QZipReader6existsEv @ 11952 NONAME
+ _ZNK10QZipReader6statusEv @ 11953 NONAME
+ _ZNK10QZipReader8FileInfo7isValidEv @ 11954 NONAME
+ _ZNK10QZipReader8fileDataERK7QString @ 11955 NONAME
+ _ZNK11QEglContext12configAttribEi @ 11956 NONAME
+ _ZNK11QStaticText10textFormatEv @ 11957 NONAME
+ _ZNK11QStaticText15performanceHintEv @ 11958 NONAME
+ _ZNK11QStaticText4sizeEv @ 11959 NONAME
+ _ZNK11QStaticText4textEv @ 11960 NONAME
+ _ZNK11QStaticText9textWidthEv @ 11961 NONAME
+ _ZNK11QStaticTexteqERKS_ @ 11962 NONAME
+ _ZNK11QStaticTextneERKS_ @ 11963 NONAME
+ _ZNK11QTextCursor15positionInBlockEv @ 11964 NONAME
+ _ZNK12QPaintBuffer13frameEndIndexEi @ 11965 NONAME
+ _ZNK12QPaintBuffer15frameStartIndexEi @ 11966 NONAME
+ _ZNK12QPaintBuffer15processCommandsEP8QPainterii @ 11967 NONAME
+ _ZNK12QPaintBuffer18commandDescriptionEi @ 11968 NONAME
+ _ZNK13QIntValidator5fixupER7QString @ 11969 NONAME
+ _ZNK14QPlainTextEdit8anchorAtERK6QPoint @ 11970 NONAME
+ _ZNK14QWindowSurface23hasPartialUpdateSupportEv @ 11971 NONAME
+ _ZNK15QGraphicsWidget18autoFillBackgroundEv @ 11972 NONAME
+ _ZNK19QItemSelectionRange7isEmptyEv @ 11973 NONAME
+ _ZNK20QGraphicsItemPrivate5widthEv @ 11974 NONAME
+ _ZNK20QGraphicsItemPrivate6heightEv @ 11975 NONAME
+ _ZNK20QGraphicsViewPrivate10mapToSceneERK6QRectF @ 11976 NONAME
+ _ZNK20QGraphicsViewPrivate10mapToSceneERK7QPointF @ 11977 NONAME
+ _ZNK20QGraphicsViewPrivate13mapToViewRectEPK13QGraphicsItemRK6QRectF @ 11978 NONAME
+ _ZNK20QGraphicsViewPrivate14mapRectToSceneERK5QRect @ 11979 NONAME
+ _ZNK20QGraphicsViewPrivate14verticalScrollEv @ 11980 NONAME
+ _ZNK20QGraphicsViewPrivate15mapToViewRegionEPK13QGraphicsItemRK6QRectF @ 11981 NONAME
+ _ZNK20QGraphicsViewPrivate16horizontalScrollEv @ 11982 NONAME
+ _ZNK20QGraphicsViewPrivate16mapRectFromSceneERK6QRectF @ 11983 NONAME
+ _ZNK20QGraphicsViewPrivate16rubberBandRegionEPK7QWidgetRK5QRect @ 11984 NONAME
+ _ZNK20QGraphicsViewPrivate9findItemsERK7QRegionPbRK10QTransform @ 11985 NONAME
+ _ZNK23QImageTextureGlyphCache11glyphMarginEv @ 11986 NONAME
+ _ZNK26QAbstractScrollAreaPrivate14contentsOffsetEv @ 11987 NONAME
+ _ZNK5QIcon4nameEv @ 11988 NONAME
+ _ZNK6QImage13bitPlaneCountEv @ 11989 NONAME
+ _ZNK6QImage13constScanLineEi @ 11990 NONAME
+ _ZNK6QImage9constBitsEv @ 11991 NONAME
+ _ZNK6QLabel12selectedTextEv @ 11992 NONAME
+ _ZNK6QLabel14selectionStartEv @ 11993 NONAME
+ _ZNK6QLabel15hasSelectedTextEv @ 11994 NONAME
+ _ZNK7QBezier11getSubRangeEff @ 11995 NONAME
+ _ZNK7QBezier12addToPolygonEP9QPolygonFf @ 11996 NONAME
+ _ZNK7QBezier5mapByERK10QTransform @ 11997 NONAME
+ _ZNK7QBezier9toPolygonEf @ 11998 NONAME
+ _ZNK7QWizard10sideWidgetEv @ 11999 NONAME
+ _ZNK9QLineEdit15placeholderTextEv @ 12000 NONAME
+ _ZNK9QTextLine17horizontalAdvanceEv @ 12001 NONAME
+ _ZTI20QGraphicsViewPrivate @ 12002 NONAME
+ _ZTI23QImageTextureGlyphCache @ 12003 NONAME
+ _ZTI26QAbstractScrollAreaPrivate @ 12004 NONAME
+ _ZTV20QGraphicsViewPrivate @ 12005 NONAME
+ _ZTV23QImageTextureGlyphCache @ 12006 NONAME
+ _ZTV26QAbstractScrollAreaPrivate @ 12007 NONAME
+ _ZN11QTextCursor20setVerticalMovementXEi @ 12008 NONAME
+ _ZN11QTextCursor23setKeepPositionOnInsertEb @ 12009 NONAME
+ _ZN19QApplicationPrivate23runtime_graphics_systemE @ 12010 NONAME DATA 1
+ _ZNK11QTextCursor17verticalMovementXEv @ 12011 NONAME
+ _ZNK11QTextCursor20keepPositionOnInsertEv @ 12012 NONAME
+ _ZNK12QFontMetrics5widthERK7QStringii @ 12013 NONAME
diff --git a/src/s60installs/eabi/QtMediaServicesu.def b/src/s60installs/eabi/QtMediaServicesu.def
deleted file mode 100644
index 0b4083da75..0000000000
--- a/src/s60installs/eabi/QtMediaServicesu.def
+++ /dev/null
@@ -1,674 +0,0 @@
-EXPORTS
- _ZN12QMediaObject11qt_metacallEN11QMetaObject4CallEiPPv @ 1 NONAME
- _ZN12QMediaObject11qt_metacastEPKc @ 2 NONAME
- _ZN12QMediaObject11setMetaDataEN15QtMediaServices8MetaDataERK8QVariant @ 3 NONAME
- _ZN12QMediaObject13setupMetaDataEv @ 4 NONAME
- _ZN12QMediaObject15metaDataChangedEv @ 5 NONAME
- _ZN12QMediaObject16addPropertyWatchERK10QByteArray @ 6 NONAME
- _ZN12QMediaObject16staticMetaObjectE @ 7 NONAME DATA 16
- _ZN12QMediaObject17setNotifyIntervalEi @ 8 NONAME
- _ZN12QMediaObject19availabilityChangedEb @ 9 NONAME
- _ZN12QMediaObject19getStaticMetaObjectEv @ 10 NONAME
- _ZN12QMediaObject19removePropertyWatchERK10QByteArray @ 11 NONAME
- _ZN12QMediaObject19setExtendedMetaDataERK7QStringRK8QVariant @ 12 NONAME
- _ZN12QMediaObject21notifyIntervalChangedEi @ 13 NONAME
- _ZN12QMediaObject23metaDataWritableChangedEb @ 14 NONAME
- _ZN12QMediaObject24metaDataAvailableChangedEb @ 15 NONAME
- _ZN12QMediaObject4bindEP7QObject @ 16 NONAME
- _ZN12QMediaObject6unbindEP7QObject @ 17 NONAME
- _ZN12QMediaObjectC1EP7QObjectP13QMediaService @ 18 NONAME
- _ZN12QMediaObjectC1ER19QMediaObjectPrivateP7QObjectP13QMediaService @ 19 NONAME
- _ZN12QMediaObjectC2EP7QObjectP13QMediaService @ 20 NONAME
- _ZN12QMediaObjectC2ER19QMediaObjectPrivateP7QObjectP13QMediaService @ 21 NONAME
- _ZN12QMediaObjectD0Ev @ 22 NONAME
- _ZN12QMediaObjectD1Ev @ 23 NONAME
- _ZN12QMediaObjectD2Ev @ 24 NONAME
- _ZN12QMediaPlayer10hasSupportERK7QStringRK11QStringList6QFlagsINS_4FlagEE @ 25 NONAME
- _ZN12QMediaPlayer11qt_metacallEN11QMetaObject4CallEiPPv @ 26 NONAME
- _ZN12QMediaPlayer11qt_metacastEPKc @ 27 NONAME
- _ZN12QMediaPlayer11setPositionEx @ 28 NONAME
- _ZN12QMediaPlayer12mediaChangedERK13QMediaContent @ 29 NONAME
- _ZN12QMediaPlayer12mutedChangedEb @ 30 NONAME
- _ZN12QMediaPlayer12stateChangedENS_5StateE @ 31 NONAME
- _ZN12QMediaPlayer13volumeChangedEi @ 32 NONAME
- _ZN12QMediaPlayer15durationChangedEx @ 33 NONAME
- _ZN12QMediaPlayer15positionChangedEx @ 34 NONAME
- _ZN12QMediaPlayer15seekableChangedEb @ 35 NONAME
- _ZN12QMediaPlayer15setPlaybackRateEf @ 36 NONAME
- _ZN12QMediaPlayer16staticMetaObjectE @ 37 NONAME DATA 16
- _ZN12QMediaPlayer18mediaStatusChangedENS_11MediaStatusE @ 38 NONAME
- _ZN12QMediaPlayer18supportedMimeTypesE6QFlagsINS_4FlagEE @ 39 NONAME
- _ZN12QMediaPlayer19bufferStatusChangedEi @ 40 NONAME
- _ZN12QMediaPlayer19getStaticMetaObjectEv @ 41 NONAME
- _ZN12QMediaPlayer19playbackRateChangedEf @ 42 NONAME
- _ZN12QMediaPlayer21audioAvailableChangedEb @ 43 NONAME
- _ZN12QMediaPlayer21videoAvailableChangedEb @ 44 NONAME
- _ZN12QMediaPlayer4bindEP7QObject @ 45 NONAME
- _ZN12QMediaPlayer4playEv @ 46 NONAME
- _ZN12QMediaPlayer4stopEv @ 47 NONAME
- _ZN12QMediaPlayer5errorENS_5ErrorE @ 48 NONAME
- _ZN12QMediaPlayer5pauseEv @ 49 NONAME
- _ZN12QMediaPlayer6unbindEP7QObject @ 50 NONAME
- _ZN12QMediaPlayer8setMediaERK13QMediaContentP9QIODevice @ 51 NONAME
- _ZN12QMediaPlayer8setMutedEb @ 52 NONAME
- _ZN12QMediaPlayer9setVolumeEi @ 53 NONAME
- _ZN12QMediaPlayerC1EP7QObject6QFlagsINS_4FlagEEP21QMediaServiceProvider @ 54 NONAME
- _ZN12QMediaPlayerC2EP7QObject6QFlagsINS_4FlagEEP21QMediaServiceProvider @ 55 NONAME
- _ZN12QMediaPlayerD0Ev @ 56 NONAME
- _ZN12QMediaPlayerD1Ev @ 57 NONAME
- _ZN12QMediaPlayerD2Ev @ 58 NONAME
- _ZN12QSoundEffect11qt_metacallEN11QMetaObject4CallEiPPv @ 59 NONAME
- _ZN12QSoundEffect11qt_metacastEPKc @ 60 NONAME
- _ZN12QSoundEffect12loopsChangedEv @ 61 NONAME
- _ZN12QSoundEffect12mutedChangedEv @ 62 NONAME
- _ZN12QSoundEffect13sourceChangedEv @ 63 NONAME
- _ZN12QSoundEffect13volumeChangedEv @ 64 NONAME
- _ZN12QSoundEffect16staticMetaObjectE @ 65 NONAME DATA 16
- _ZN12QSoundEffect19getStaticMetaObjectEv @ 66 NONAME
- _ZN12QSoundEffect4playEv @ 67 NONAME
- _ZN12QSoundEffect8setLoopsEi @ 68 NONAME
- _ZN12QSoundEffect8setMutedEb @ 69 NONAME
- _ZN12QSoundEffect9setSourceERK4QUrl @ 70 NONAME
- _ZN12QSoundEffect9setVolumeEi @ 71 NONAME
- _ZN12QSoundEffectC1EP7QObject @ 72 NONAME
- _ZN12QSoundEffectC2EP7QObject @ 73 NONAME
- _ZN12QSoundEffectD0Ev @ 74 NONAME
- _ZN12QSoundEffectD1Ev @ 75 NONAME
- _ZN12QSoundEffectD2Ev @ 76 NONAME
- _ZN12QVideoWidget10hueChangedEi @ 77 NONAME
- _ZN12QVideoWidget10paintEventEP11QPaintEvent @ 78 NONAME
- _ZN12QVideoWidget11qt_metacallEN11QMetaObject4CallEiPPv @ 79 NONAME
- _ZN12QVideoWidget11qt_metacastEPKc @ 80 NONAME
- _ZN12QVideoWidget11resizeEventEP12QResizeEvent @ 81 NONAME
- _ZN12QVideoWidget11setContrastEi @ 82 NONAME
- _ZN12QVideoWidget13setBrightnessEi @ 83 NONAME
- _ZN12QVideoWidget13setFullScreenEb @ 84 NONAME
- _ZN12QVideoWidget13setSaturationEi @ 85 NONAME
- _ZN12QVideoWidget14setMediaObjectEP12QMediaObject @ 86 NONAME
- _ZN12QVideoWidget15contrastChangedEi @ 87 NONAME
- _ZN12QVideoWidget16staticMetaObjectE @ 88 NONAME DATA 16
- _ZN12QVideoWidget17brightnessChangedEi @ 89 NONAME
- _ZN12QVideoWidget17fullScreenChangedEb @ 90 NONAME
- _ZN12QVideoWidget17saturationChangedEi @ 91 NONAME
- _ZN12QVideoWidget18setAspectRatioModeEN2Qt15AspectRatioModeE @ 92 NONAME
- _ZN12QVideoWidget19getStaticMetaObjectEv @ 93 NONAME
- _ZN12QVideoWidget5eventEP6QEvent @ 94 NONAME
- _ZN12QVideoWidget6setHueEi @ 95 NONAME
- _ZN12QVideoWidget9hideEventEP10QHideEvent @ 96 NONAME
- _ZN12QVideoWidget9moveEventEP10QMoveEvent @ 97 NONAME
- _ZN12QVideoWidget9showEventEP10QShowEvent @ 98 NONAME
- _ZN12QVideoWidgetC1EP7QWidget @ 99 NONAME
- _ZN12QVideoWidgetC2EP7QWidget @ 100 NONAME
- _ZN12QVideoWidgetD0Ev @ 101 NONAME
- _ZN12QVideoWidgetD1Ev @ 102 NONAME
- _ZN12QVideoWidgetD2Ev @ 103 NONAME
- _ZN13QMediaContentC1ERK14QMediaResource @ 104 NONAME
- _ZN13QMediaContentC1ERK15QNetworkRequest @ 105 NONAME
- _ZN13QMediaContentC1ERK4QUrl @ 106 NONAME
- _ZN13QMediaContentC1ERK5QListI14QMediaResourceE @ 107 NONAME
- _ZN13QMediaContentC1ERKS_ @ 108 NONAME
- _ZN13QMediaContentC1Ev @ 109 NONAME
- _ZN13QMediaContentC2ERK14QMediaResource @ 110 NONAME
- _ZN13QMediaContentC2ERK15QNetworkRequest @ 111 NONAME
- _ZN13QMediaContentC2ERK4QUrl @ 112 NONAME
- _ZN13QMediaContentC2ERK5QListI14QMediaResourceE @ 113 NONAME
- _ZN13QMediaContentC2ERKS_ @ 114 NONAME
- _ZN13QMediaContentC2Ev @ 115 NONAME
- _ZN13QMediaContentD1Ev @ 116 NONAME
- _ZN13QMediaContentD2Ev @ 117 NONAME
- _ZN13QMediaContentaSERKS_ @ 118 NONAME
- _ZN13QMediaControl11qt_metacallEN11QMetaObject4CallEiPPv @ 119 NONAME
- _ZN13QMediaControl11qt_metacastEPKc @ 120 NONAME
- _ZN13QMediaControl16staticMetaObjectE @ 121 NONAME DATA 16
- _ZN13QMediaControl19getStaticMetaObjectEv @ 122 NONAME
- _ZN13QMediaControlC1EP7QObject @ 123 NONAME
- _ZN13QMediaControlC1ER20QMediaControlPrivateP7QObject @ 124 NONAME
- _ZN13QMediaControlC2EP7QObject @ 125 NONAME
- _ZN13QMediaControlC2ER20QMediaControlPrivateP7QObject @ 126 NONAME
- _ZN13QMediaControlD0Ev @ 127 NONAME
- _ZN13QMediaControlD1Ev @ 128 NONAME
- _ZN13QMediaControlD2Ev @ 129 NONAME
- _ZN13QMediaService11qt_metacallEN11QMetaObject4CallEiPPv @ 130 NONAME
- _ZN13QMediaService11qt_metacastEPKc @ 131 NONAME
- _ZN13QMediaService16staticMetaObjectE @ 132 NONAME DATA 16
- _ZN13QMediaService19getStaticMetaObjectEv @ 133 NONAME
- _ZN13QMediaServiceC2EP7QObject @ 134 NONAME
- _ZN13QMediaServiceC2ER20QMediaServicePrivateP7QObject @ 135 NONAME
- _ZN13QMediaServiceD0Ev @ 136 NONAME
- _ZN13QMediaServiceD1Ev @ 137 NONAME
- _ZN13QMediaServiceD2Ev @ 138 NONAME
- _ZN14QMediaPlaylist10loadFailedEv @ 139 NONAME
- _ZN14QMediaPlaylist11insertMediaEiRK13QMediaContent @ 140 NONAME
- _ZN14QMediaPlaylist11insertMediaEiRK5QListI13QMediaContentE @ 141 NONAME
- _ZN14QMediaPlaylist11qt_metacallEN11QMetaObject4CallEiPPv @ 142 NONAME
- _ZN14QMediaPlaylist11qt_metacastEPKc @ 143 NONAME
- _ZN14QMediaPlaylist11removeMediaEi @ 144 NONAME
- _ZN14QMediaPlaylist11removeMediaEii @ 145 NONAME
- _ZN14QMediaPlaylist12mediaChangedEii @ 146 NONAME
- _ZN14QMediaPlaylist12mediaRemovedEii @ 147 NONAME
- _ZN14QMediaPlaylist13mediaInsertedEii @ 148 NONAME
- _ZN14QMediaPlaylist14setMediaObjectEP12QMediaObject @ 149 NONAME
- _ZN14QMediaPlaylist15setCurrentIndexEi @ 150 NONAME
- _ZN14QMediaPlaylist15setPlaybackModeENS_12PlaybackModeE @ 151 NONAME
- _ZN14QMediaPlaylist16staticMetaObjectE @ 152 NONAME DATA 16
- _ZN14QMediaPlaylist19currentIndexChangedEi @ 153 NONAME
- _ZN14QMediaPlaylist19currentMediaChangedERK13QMediaContent @ 154 NONAME
- _ZN14QMediaPlaylist19getStaticMetaObjectEv @ 155 NONAME
- _ZN14QMediaPlaylist19playbackModeChangedENS_12PlaybackModeE @ 156 NONAME
- _ZN14QMediaPlaylist21mediaAboutToBeRemovedEii @ 157 NONAME
- _ZN14QMediaPlaylist22mediaAboutToBeInsertedEii @ 158 NONAME
- _ZN14QMediaPlaylist4loadEP9QIODevicePKc @ 159 NONAME
- _ZN14QMediaPlaylist4loadERK4QUrlPKc @ 160 NONAME
- _ZN14QMediaPlaylist4nextEv @ 161 NONAME
- _ZN14QMediaPlaylist4saveEP9QIODevicePKc @ 162 NONAME
- _ZN14QMediaPlaylist4saveERK4QUrlPKc @ 163 NONAME
- _ZN14QMediaPlaylist5clearEv @ 164 NONAME
- _ZN14QMediaPlaylist6loadedEv @ 165 NONAME
- _ZN14QMediaPlaylist7shuffleEv @ 166 NONAME
- _ZN14QMediaPlaylist8addMediaERK13QMediaContent @ 167 NONAME
- _ZN14QMediaPlaylist8addMediaERK5QListI13QMediaContentE @ 168 NONAME
- _ZN14QMediaPlaylist8previousEv @ 169 NONAME
- _ZN14QMediaPlaylistC1EP7QObject @ 170 NONAME
- _ZN14QMediaPlaylistC2EP7QObject @ 171 NONAME
- _ZN14QMediaPlaylistD0Ev @ 172 NONAME
- _ZN14QMediaPlaylistD1Ev @ 173 NONAME
- _ZN14QMediaPlaylistD2Ev @ 174 NONAME
- _ZN14QMediaResource11setDataSizeEx @ 175 NONAME
- _ZN14QMediaResource11setLanguageERK7QString @ 176 NONAME
- _ZN14QMediaResource13setAudioCodecERK7QString @ 177 NONAME
- _ZN14QMediaResource13setResolutionERK5QSize @ 178 NONAME
- _ZN14QMediaResource13setResolutionEii @ 179 NONAME
- _ZN14QMediaResource13setSampleRateEi @ 180 NONAME
- _ZN14QMediaResource13setVideoCodecERK7QString @ 181 NONAME
- _ZN14QMediaResource15setAudioBitRateEi @ 182 NONAME
- _ZN14QMediaResource15setChannelCountEi @ 183 NONAME
- _ZN14QMediaResource15setVideoBitRateEi @ 184 NONAME
- _ZN14QMediaResourceC1ERK15QNetworkRequestRK7QString @ 185 NONAME
- _ZN14QMediaResourceC1ERK4QUrlRK7QString @ 186 NONAME
- _ZN14QMediaResourceC1ERKS_ @ 187 NONAME
- _ZN14QMediaResourceC1Ev @ 188 NONAME
- _ZN14QMediaResourceC2ERK15QNetworkRequestRK7QString @ 189 NONAME
- _ZN14QMediaResourceC2ERK4QUrlRK7QString @ 190 NONAME
- _ZN14QMediaResourceC2ERKS_ @ 191 NONAME
- _ZN14QMediaResourceC2Ev @ 192 NONAME
- _ZN14QMediaResourceD1Ev @ 193 NONAME
- _ZN14QMediaResourceD2Ev @ 194 NONAME
- _ZN14QMediaResourceaSERKS_ @ 195 NONAME
- _ZN15QMediaTimeRange11addIntervalERK18QMediaTimeInterval @ 196 NONAME
- _ZN15QMediaTimeRange11addIntervalExx @ 197 NONAME
- _ZN15QMediaTimeRange12addTimeRangeERKS_ @ 198 NONAME
- _ZN15QMediaTimeRange14removeIntervalERK18QMediaTimeInterval @ 199 NONAME
- _ZN15QMediaTimeRange14removeIntervalExx @ 200 NONAME
- _ZN15QMediaTimeRange15removeTimeRangeERKS_ @ 201 NONAME
- _ZN15QMediaTimeRange5clearEv @ 202 NONAME
- _ZN15QMediaTimeRangeC1ERK18QMediaTimeInterval @ 203 NONAME
- _ZN15QMediaTimeRangeC1ERKS_ @ 204 NONAME
- _ZN15QMediaTimeRangeC1Ev @ 205 NONAME
- _ZN15QMediaTimeRangeC1Exx @ 206 NONAME
- _ZN15QMediaTimeRangeC2ERK18QMediaTimeInterval @ 207 NONAME
- _ZN15QMediaTimeRangeC2ERKS_ @ 208 NONAME
- _ZN15QMediaTimeRangeC2Ev @ 209 NONAME
- _ZN15QMediaTimeRangeC2Exx @ 210 NONAME
- _ZN15QMediaTimeRangeD1Ev @ 211 NONAME
- _ZN15QMediaTimeRangeD2Ev @ 212 NONAME
- _ZN15QMediaTimeRangeaSERK18QMediaTimeInterval @ 213 NONAME
- _ZN15QMediaTimeRangeaSERKS_ @ 214 NONAME
- _ZN15QMediaTimeRangemIERK18QMediaTimeInterval @ 215 NONAME
- _ZN15QMediaTimeRangemIERKS_ @ 216 NONAME
- _ZN15QMediaTimeRangepLERK18QMediaTimeInterval @ 217 NONAME
- _ZN15QMediaTimeRangepLERKS_ @ 218 NONAME
- _ZN16QMetaDataControl11qt_metacallEN11QMetaObject4CallEiPPv @ 219 NONAME
- _ZN16QMetaDataControl11qt_metacastEPKc @ 220 NONAME
- _ZN16QMetaDataControl15metaDataChangedEv @ 221 NONAME
- _ZN16QMetaDataControl15writableChangedEb @ 222 NONAME
- _ZN16QMetaDataControl16staticMetaObjectE @ 223 NONAME DATA 16
- _ZN16QMetaDataControl19getStaticMetaObjectEv @ 224 NONAME
- _ZN16QMetaDataControl24metaDataAvailableChangedEb @ 225 NONAME
- _ZN16QMetaDataControlC2EP7QObject @ 226 NONAME
- _ZN16QMetaDataControlD0Ev @ 227 NONAME
- _ZN16QMetaDataControlD1Ev @ 228 NONAME
- _ZN16QMetaDataControlD2Ev @ 229 NONAME
- _ZN18QGraphicsVideoItem10itemChangeEN13QGraphicsItem18GraphicsItemChangeERK8QVariant @ 230 NONAME
- _ZN18QGraphicsVideoItem10sceneEventEP6QEvent @ 231 NONAME
- _ZN18QGraphicsVideoItem11qt_metacallEN11QMetaObject4CallEiPPv @ 232 NONAME
- _ZN18QGraphicsVideoItem11qt_metacastEPKc @ 233 NONAME
- _ZN18QGraphicsVideoItem14setMediaObjectEP12QMediaObject @ 234 NONAME
- _ZN18QGraphicsVideoItem16staticMetaObjectE @ 235 NONAME DATA 16
- _ZN18QGraphicsVideoItem17nativeSizeChangedERK6QSizeF @ 236 NONAME
- _ZN18QGraphicsVideoItem18setAspectRatioModeEN2Qt15AspectRatioModeE @ 237 NONAME
- _ZN18QGraphicsVideoItem19getStaticMetaObjectEv @ 238 NONAME
- _ZN18QGraphicsVideoItem5eventEP6QEvent @ 239 NONAME
- _ZN18QGraphicsVideoItem5paintEP8QPainterPK24QStyleOptionGraphicsItemP7QWidget @ 240 NONAME
- _ZN18QGraphicsVideoItem7setSizeERK6QSizeF @ 241 NONAME
- _ZN18QGraphicsVideoItem9setOffsetERK7QPointF @ 242 NONAME
- _ZN18QGraphicsVideoItemC1EP13QGraphicsItem @ 243 NONAME
- _ZN18QGraphicsVideoItemC2EP13QGraphicsItem @ 244 NONAME
- _ZN18QGraphicsVideoItemD0Ev @ 245 NONAME
- _ZN18QGraphicsVideoItemD1Ev @ 246 NONAME
- _ZN18QGraphicsVideoItemD2Ev @ 247 NONAME
- _ZN18QMediaTimeIntervalC1ERKS_ @ 248 NONAME
- _ZN18QMediaTimeIntervalC1Ev @ 249 NONAME
- _ZN18QMediaTimeIntervalC1Exx @ 250 NONAME
- _ZN18QMediaTimeIntervalC2ERKS_ @ 251 NONAME
- _ZN18QMediaTimeIntervalC2Ev @ 252 NONAME
- _ZN18QMediaTimeIntervalC2Exx @ 253 NONAME
- _ZN19QMediaPlayerControl11qt_metacallEN11QMetaObject4CallEiPPv @ 254 NONAME
- _ZN19QMediaPlayerControl11qt_metacastEPKc @ 255 NONAME
- _ZN19QMediaPlayerControl12mediaChangedERK13QMediaContent @ 256 NONAME
- _ZN19QMediaPlayerControl12mutedChangedEb @ 257 NONAME
- _ZN19QMediaPlayerControl12stateChangedEN12QMediaPlayer5StateE @ 258 NONAME
- _ZN19QMediaPlayerControl13volumeChangedEi @ 259 NONAME
- _ZN19QMediaPlayerControl15durationChangedEx @ 260 NONAME
- _ZN19QMediaPlayerControl15positionChangedEx @ 261 NONAME
- _ZN19QMediaPlayerControl15seekableChangedEb @ 262 NONAME
- _ZN19QMediaPlayerControl16staticMetaObjectE @ 263 NONAME DATA 16
- _ZN19QMediaPlayerControl18mediaStatusChangedEN12QMediaPlayer11MediaStatusE @ 264 NONAME
- _ZN19QMediaPlayerControl19bufferStatusChangedEi @ 265 NONAME
- _ZN19QMediaPlayerControl19getStaticMetaObjectEv @ 266 NONAME
- _ZN19QMediaPlayerControl19playbackRateChangedEf @ 267 NONAME
- _ZN19QMediaPlayerControl21audioAvailableChangedEb @ 268 NONAME
- _ZN19QMediaPlayerControl21videoAvailableChangedEb @ 269 NONAME
- _ZN19QMediaPlayerControl30availablePlaybackRangesChangedERK15QMediaTimeRange @ 270 NONAME
- _ZN19QMediaPlayerControl5errorEiRK7QString @ 271 NONAME
- _ZN19QMediaPlayerControlC2EP7QObject @ 272 NONAME
- _ZN19QMediaPlayerControlD0Ev @ 273 NONAME
- _ZN19QMediaPlayerControlD1Ev @ 274 NONAME
- _ZN19QMediaPlayerControlD2Ev @ 275 NONAME
- _ZN19QVideoDeviceControl11qt_metacallEN11QMetaObject4CallEiPPv @ 276 NONAME
- _ZN19QVideoDeviceControl11qt_metacastEPKc @ 277 NONAME
- _ZN19QVideoDeviceControl14devicesChangedEv @ 278 NONAME
- _ZN19QVideoDeviceControl16staticMetaObjectE @ 279 NONAME DATA 16
- _ZN19QVideoDeviceControl19getStaticMetaObjectEv @ 280 NONAME
- _ZN19QVideoDeviceControl21selectedDeviceChangedERK7QString @ 281 NONAME
- _ZN19QVideoDeviceControl21selectedDeviceChangedEi @ 282 NONAME
- _ZN19QVideoDeviceControlC2EP7QObject @ 283 NONAME
- _ZN19QVideoDeviceControlD0Ev @ 284 NONAME
- _ZN19QVideoDeviceControlD1Ev @ 285 NONAME
- _ZN19QVideoDeviceControlD2Ev @ 286 NONAME
- _ZN19QVideoOutputControl11qt_metacallEN11QMetaObject4CallEiPPv @ 287 NONAME
- _ZN19QVideoOutputControl11qt_metacastEPKc @ 288 NONAME
- _ZN19QVideoOutputControl16staticMetaObjectE @ 289 NONAME DATA 16
- _ZN19QVideoOutputControl19getStaticMetaObjectEv @ 290 NONAME
- _ZN19QVideoOutputControl23availableOutputsChangedERK5QListINS_6OutputEE @ 291 NONAME
- _ZN19QVideoOutputControlC2EP7QObject @ 292 NONAME
- _ZN19QVideoOutputControlD0Ev @ 293 NONAME
- _ZN19QVideoOutputControlD1Ev @ 294 NONAME
- _ZN19QVideoOutputControlD2Ev @ 295 NONAME
- _ZN19QVideoWidgetControl10hueChangedEi @ 296 NONAME
- _ZN19QVideoWidgetControl11qt_metacallEN11QMetaObject4CallEiPPv @ 297 NONAME
- _ZN19QVideoWidgetControl11qt_metacastEPKc @ 298 NONAME
- _ZN19QVideoWidgetControl15contrastChangedEi @ 299 NONAME
- _ZN19QVideoWidgetControl16staticMetaObjectE @ 300 NONAME DATA 16
- _ZN19QVideoWidgetControl17brightnessChangedEi @ 301 NONAME
- _ZN19QVideoWidgetControl17fullScreenChangedEb @ 302 NONAME
- _ZN19QVideoWidgetControl17saturationChangedEi @ 303 NONAME
- _ZN19QVideoWidgetControl19getStaticMetaObjectEv @ 304 NONAME
- _ZN19QVideoWidgetControlC2EP7QObject @ 305 NONAME
- _ZN19QVideoWidgetControlD0Ev @ 306 NONAME
- _ZN19QVideoWidgetControlD1Ev @ 307 NONAME
- _ZN19QVideoWidgetControlD2Ev @ 308 NONAME
- _ZN19QVideoWindowControl10hueChangedEi @ 309 NONAME
- _ZN19QVideoWindowControl11qt_metacallEN11QMetaObject4CallEiPPv @ 310 NONAME
- _ZN19QVideoWindowControl11qt_metacastEPKc @ 311 NONAME
- _ZN19QVideoWindowControl15contrastChangedEi @ 312 NONAME
- _ZN19QVideoWindowControl16staticMetaObjectE @ 313 NONAME DATA 16
- _ZN19QVideoWindowControl17brightnessChangedEi @ 314 NONAME
- _ZN19QVideoWindowControl17fullScreenChangedEb @ 315 NONAME
- _ZN19QVideoWindowControl17nativeSizeChangedEv @ 316 NONAME
- _ZN19QVideoWindowControl17saturationChangedEi @ 317 NONAME
- _ZN19QVideoWindowControl19getStaticMetaObjectEv @ 318 NONAME
- _ZN19QVideoWindowControlC2EP7QObject @ 319 NONAME
- _ZN19QVideoWindowControlD0Ev @ 320 NONAME
- _ZN19QVideoWindowControlD1Ev @ 321 NONAME
- _ZN19QVideoWindowControlD2Ev @ 322 NONAME
- _ZN20QMediaPlaylistReaderD0Ev @ 323 NONAME
- _ZN20QMediaPlaylistReaderD1Ev @ 324 NONAME
- _ZN20QMediaPlaylistReaderD2Ev @ 325 NONAME
- _ZN20QMediaPlaylistWriterD0Ev @ 326 NONAME
- _ZN20QMediaPlaylistWriterD1Ev @ 327 NONAME
- _ZN20QMediaPlaylistWriterD2Ev @ 328 NONAME
- _ZN20QPainterVideoSurface11qt_metacallEN11QMetaObject4CallEiPPv @ 329 NONAME
- _ZN20QPainterVideoSurface11qt_metacastEPKc @ 330 NONAME
- _ZN20QPainterVideoSurface11setContrastEi @ 331 NONAME
- _ZN20QPainterVideoSurface12frameChangedEv @ 332 NONAME
- _ZN20QPainterVideoSurface13createPainterEv @ 333 NONAME
- _ZN20QPainterVideoSurface13setBrightnessEi @ 334 NONAME
- _ZN20QPainterVideoSurface13setSaturationEi @ 335 NONAME
- _ZN20QPainterVideoSurface16staticMetaObjectE @ 336 NONAME DATA 16
- _ZN20QPainterVideoSurface19getStaticMetaObjectEv @ 337 NONAME
- _ZN20QPainterVideoSurface4stopEv @ 338 NONAME
- _ZN20QPainterVideoSurface5paintEP8QPainterRK6QRectFS4_ @ 339 NONAME
- _ZN20QPainterVideoSurface5startERK19QVideoSurfaceFormat @ 340 NONAME
- _ZN20QPainterVideoSurface6setHueEi @ 341 NONAME
- _ZN20QPainterVideoSurface7presentERK11QVideoFrame @ 342 NONAME
- _ZN20QPainterVideoSurface8setReadyEb @ 343 NONAME
- _ZN20QPainterVideoSurfaceC1EP7QObject @ 344 NONAME
- _ZN20QPainterVideoSurfaceC2EP7QObject @ 345 NONAME
- _ZN20QPainterVideoSurfaceD0Ev @ 346 NONAME
- _ZN20QPainterVideoSurfaceD1Ev @ 347 NONAME
- _ZN20QPainterVideoSurfaceD2Ev @ 348 NONAME
- _ZN21QMediaPlaylistControl11qt_metacallEN11QMetaObject4CallEiPPv @ 349 NONAME
- _ZN21QMediaPlaylistControl11qt_metacastEPKc @ 350 NONAME
- _ZN21QMediaPlaylistControl16staticMetaObjectE @ 351 NONAME DATA 16
- _ZN21QMediaPlaylistControl19currentIndexChangedEi @ 352 NONAME
- _ZN21QMediaPlaylistControl19currentMediaChangedERK13QMediaContent @ 353 NONAME
- _ZN21QMediaPlaylistControl19getStaticMetaObjectEv @ 354 NONAME
- _ZN21QMediaPlaylistControl19playbackModeChangedEN14QMediaPlaylist12PlaybackModeE @ 355 NONAME
- _ZN21QMediaPlaylistControl23playlistProviderChangedEv @ 356 NONAME
- _ZN21QMediaPlaylistControlC2EP7QObject @ 357 NONAME
- _ZN21QMediaPlaylistControlD0Ev @ 358 NONAME
- _ZN21QMediaPlaylistControlD1Ev @ 359 NONAME
- _ZN21QMediaPlaylistControlD2Ev @ 360 NONAME
- _ZN21QMediaServiceProvider11qt_metacallEN11QMetaObject4CallEiPPv @ 361 NONAME
- _ZN21QMediaServiceProvider11qt_metacastEPKc @ 362 NONAME
- _ZN21QMediaServiceProvider16staticMetaObjectE @ 363 NONAME DATA 16
- _ZN21QMediaServiceProvider17deviceDescriptionERK10QByteArrayS2_ @ 364 NONAME
- _ZN21QMediaServiceProvider19getStaticMetaObjectEv @ 365 NONAME
- _ZN21QMediaServiceProvider22defaultServiceProviderEv @ 366 NONAME
- _ZN21QVideoRendererControl11qt_metacallEN11QMetaObject4CallEiPPv @ 367 NONAME
- _ZN21QVideoRendererControl11qt_metacastEPKc @ 368 NONAME
- _ZN21QVideoRendererControl16staticMetaObjectE @ 369 NONAME DATA 16
- _ZN21QVideoRendererControl19getStaticMetaObjectEv @ 370 NONAME
- _ZN21QVideoRendererControlC2EP7QObject @ 371 NONAME
- _ZN21QVideoRendererControlD0Ev @ 372 NONAME
- _ZN21QVideoRendererControlD1Ev @ 373 NONAME
- _ZN21QVideoRendererControlD2Ev @ 374 NONAME
- _ZN22QMediaPlaylistIOPlugin11qt_metacallEN11QMetaObject4CallEiPPv @ 375 NONAME
- _ZN22QMediaPlaylistIOPlugin11qt_metacastEPKc @ 376 NONAME
- _ZN22QMediaPlaylistIOPlugin16staticMetaObjectE @ 377 NONAME DATA 16
- _ZN22QMediaPlaylistIOPlugin19getStaticMetaObjectEv @ 378 NONAME
- _ZN22QMediaPlaylistIOPluginC2EP7QObject @ 379 NONAME
- _ZN22QMediaPlaylistIOPluginD0Ev @ 380 NONAME
- _ZN22QMediaPlaylistIOPluginD1Ev @ 381 NONAME
- _ZN22QMediaPlaylistIOPluginD2Ev @ 382 NONAME
- _ZN22QMediaPlaylistProvider10loadFailedEN14QMediaPlaylist5ErrorERK7QString @ 383 NONAME
- _ZN22QMediaPlaylistProvider11insertMediaEiRK13QMediaContent @ 384 NONAME
- _ZN22QMediaPlaylistProvider11insertMediaEiRK5QListI13QMediaContentE @ 385 NONAME
- _ZN22QMediaPlaylistProvider11qt_metacallEN11QMetaObject4CallEiPPv @ 386 NONAME
- _ZN22QMediaPlaylistProvider11qt_metacastEPKc @ 387 NONAME
- _ZN22QMediaPlaylistProvider11removeMediaEi @ 388 NONAME
- _ZN22QMediaPlaylistProvider11removeMediaEii @ 389 NONAME
- _ZN22QMediaPlaylistProvider12mediaChangedEii @ 390 NONAME
- _ZN22QMediaPlaylistProvider12mediaRemovedEii @ 391 NONAME
- _ZN22QMediaPlaylistProvider13mediaInsertedEii @ 392 NONAME
- _ZN22QMediaPlaylistProvider16staticMetaObjectE @ 393 NONAME DATA 16
- _ZN22QMediaPlaylistProvider19getStaticMetaObjectEv @ 394 NONAME
- _ZN22QMediaPlaylistProvider21mediaAboutToBeRemovedEii @ 395 NONAME
- _ZN22QMediaPlaylistProvider22mediaAboutToBeInsertedEii @ 396 NONAME
- _ZN22QMediaPlaylistProvider4loadEP9QIODevicePKc @ 397 NONAME
- _ZN22QMediaPlaylistProvider4loadERK4QUrlPKc @ 398 NONAME
- _ZN22QMediaPlaylistProvider4saveEP9QIODevicePKc @ 399 NONAME
- _ZN22QMediaPlaylistProvider4saveERK4QUrlPKc @ 400 NONAME
- _ZN22QMediaPlaylistProvider5clearEv @ 401 NONAME
- _ZN22QMediaPlaylistProvider6loadedEv @ 402 NONAME
- _ZN22QMediaPlaylistProvider7shuffleEv @ 403 NONAME
- _ZN22QMediaPlaylistProvider8addMediaERK13QMediaContent @ 404 NONAME
- _ZN22QMediaPlaylistProvider8addMediaERK5QListI13QMediaContentE @ 405 NONAME
- _ZN22QMediaPlaylistProviderC2EP7QObject @ 406 NONAME
- _ZN22QMediaPlaylistProviderC2ER29QMediaPlaylistProviderPrivateP7QObject @ 407 NONAME
- _ZN22QMediaPlaylistProviderD0Ev @ 408 NONAME
- _ZN22QMediaPlaylistProviderD1Ev @ 409 NONAME
- _ZN22QMediaPlaylistProviderD2Ev @ 410 NONAME
- _ZN23QMediaPlaylistNavigator11qt_metacallEN11QMetaObject4CallEiPPv @ 411 NONAME
- _ZN23QMediaPlaylistNavigator11qt_metacastEPKc @ 412 NONAME
- _ZN23QMediaPlaylistNavigator11setPlaylistEP22QMediaPlaylistProvider @ 413 NONAME
- _ZN23QMediaPlaylistNavigator15setPlaybackModeEN14QMediaPlaylist12PlaybackModeE @ 414 NONAME
- _ZN23QMediaPlaylistNavigator16staticMetaObjectE @ 415 NONAME DATA 16
- _ZN23QMediaPlaylistNavigator19currentIndexChangedEi @ 416 NONAME
- _ZN23QMediaPlaylistNavigator19getStaticMetaObjectEv @ 417 NONAME
- _ZN23QMediaPlaylistNavigator19playbackModeChangedEN14QMediaPlaylist12PlaybackModeE @ 418 NONAME
- _ZN23QMediaPlaylistNavigator23surroundingItemsChangedEv @ 419 NONAME
- _ZN23QMediaPlaylistNavigator4jumpEi @ 420 NONAME
- _ZN23QMediaPlaylistNavigator4nextEv @ 421 NONAME
- _ZN23QMediaPlaylistNavigator8previousEv @ 422 NONAME
- _ZN23QMediaPlaylistNavigator9activatedERK13QMediaContent @ 423 NONAME
- _ZN23QMediaPlaylistNavigatorC1EP22QMediaPlaylistProviderP7QObject @ 424 NONAME
- _ZN23QMediaPlaylistNavigatorC2EP22QMediaPlaylistProviderP7QObject @ 425 NONAME
- _ZN23QMediaPlaylistNavigatorD0Ev @ 426 NONAME
- _ZN23QMediaPlaylistNavigatorD1Ev @ 427 NONAME
- _ZN23QMediaPlaylistNavigatorD2Ev @ 428 NONAME
- _ZN25QMediaServiceProviderHintC1E6QFlagsINS_7FeatureEE @ 429 NONAME
- _ZN25QMediaServiceProviderHintC1ERK10QByteArray @ 430 NONAME
- _ZN25QMediaServiceProviderHintC1ERK7QStringRK11QStringList @ 431 NONAME
- _ZN25QMediaServiceProviderHintC1ERKS_ @ 432 NONAME
- _ZN25QMediaServiceProviderHintC1Ev @ 433 NONAME
- _ZN25QMediaServiceProviderHintC2E6QFlagsINS_7FeatureEE @ 434 NONAME
- _ZN25QMediaServiceProviderHintC2ERK10QByteArray @ 435 NONAME
- _ZN25QMediaServiceProviderHintC2ERK7QStringRK11QStringList @ 436 NONAME
- _ZN25QMediaServiceProviderHintC2ERKS_ @ 437 NONAME
- _ZN25QMediaServiceProviderHintC2Ev @ 438 NONAME
- _ZN25QMediaServiceProviderHintD1Ev @ 439 NONAME
- _ZN25QMediaServiceProviderHintD2Ev @ 440 NONAME
- _ZN25QMediaServiceProviderHintaSERKS_ @ 441 NONAME
- _ZN27QLocalMediaPlaylistProvider11insertMediaEiRK13QMediaContent @ 442 NONAME
- _ZN27QLocalMediaPlaylistProvider11insertMediaEiRK5QListI13QMediaContentE @ 443 NONAME
- _ZN27QLocalMediaPlaylistProvider11qt_metacallEN11QMetaObject4CallEiPPv @ 444 NONAME
- _ZN27QLocalMediaPlaylistProvider11qt_metacastEPKc @ 445 NONAME
- _ZN27QLocalMediaPlaylistProvider11removeMediaEi @ 446 NONAME
- _ZN27QLocalMediaPlaylistProvider11removeMediaEii @ 447 NONAME
- _ZN27QLocalMediaPlaylistProvider16staticMetaObjectE @ 448 NONAME DATA 16
- _ZN27QLocalMediaPlaylistProvider19getStaticMetaObjectEv @ 449 NONAME
- _ZN27QLocalMediaPlaylistProvider5clearEv @ 450 NONAME
- _ZN27QLocalMediaPlaylistProvider7shuffleEv @ 451 NONAME
- _ZN27QLocalMediaPlaylistProvider8addMediaERK13QMediaContent @ 452 NONAME
- _ZN27QLocalMediaPlaylistProvider8addMediaERK5QListI13QMediaContentE @ 453 NONAME
- _ZN27QLocalMediaPlaylistProviderC1EP7QObject @ 454 NONAME
- _ZN27QLocalMediaPlaylistProviderC2EP7QObject @ 455 NONAME
- _ZN27QLocalMediaPlaylistProviderD0Ev @ 456 NONAME
- _ZN27QLocalMediaPlaylistProviderD1Ev @ 457 NONAME
- _ZN27QLocalMediaPlaylistProviderD2Ev @ 458 NONAME
- _ZN27QMediaServiceProviderPlugin11qt_metacallEN11QMetaObject4CallEiPPv @ 459 NONAME
- _ZN27QMediaServiceProviderPlugin11qt_metacastEPKc @ 460 NONAME
- _ZN27QMediaServiceProviderPlugin16staticMetaObjectE @ 461 NONAME DATA 16
- _ZN27QMediaServiceProviderPlugin19getStaticMetaObjectEv @ 462 NONAME
- _ZNK12QMediaObject10metaObjectEv @ 463 NONAME
- _ZNK12QMediaObject11isAvailableEv @ 464 NONAME
- _ZNK12QMediaObject14notifyIntervalEv @ 465 NONAME
- _ZNK12QMediaObject16extendedMetaDataERK7QString @ 466 NONAME
- _ZNK12QMediaObject17availabilityErrorEv @ 467 NONAME
- _ZNK12QMediaObject17availableMetaDataEv @ 468 NONAME
- _ZNK12QMediaObject18isMetaDataWritableEv @ 469 NONAME
- _ZNK12QMediaObject19isMetaDataAvailableEv @ 470 NONAME
- _ZNK12QMediaObject25availableExtendedMetaDataEv @ 471 NONAME
- _ZNK12QMediaObject7serviceEv @ 472 NONAME
- _ZNK12QMediaObject8metaDataEN15QtMediaServices8MetaDataE @ 473 NONAME
- _ZNK12QMediaPlayer10isSeekableEv @ 474 NONAME
- _ZNK12QMediaPlayer10metaObjectEv @ 475 NONAME
- _ZNK12QMediaPlayer11errorStringEv @ 476 NONAME
- _ZNK12QMediaPlayer11mediaStatusEv @ 477 NONAME
- _ZNK12QMediaPlayer11mediaStreamEv @ 478 NONAME
- _ZNK12QMediaPlayer12bufferStatusEv @ 479 NONAME
- _ZNK12QMediaPlayer12playbackRateEv @ 480 NONAME
- _ZNK12QMediaPlayer16isAudioAvailableEv @ 481 NONAME
- _ZNK12QMediaPlayer16isVideoAvailableEv @ 482 NONAME
- _ZNK12QMediaPlayer5errorEv @ 483 NONAME
- _ZNK12QMediaPlayer5mediaEv @ 484 NONAME
- _ZNK12QMediaPlayer5stateEv @ 485 NONAME
- _ZNK12QMediaPlayer6volumeEv @ 486 NONAME
- _ZNK12QMediaPlayer7isMutedEv @ 487 NONAME
- _ZNK12QMediaPlayer8durationEv @ 488 NONAME
- _ZNK12QMediaPlayer8positionEv @ 489 NONAME
- _ZNK12QSoundEffect10metaObjectEv @ 490 NONAME
- _ZNK12QSoundEffect5loopsEv @ 491 NONAME
- _ZNK12QSoundEffect6sourceEv @ 492 NONAME
- _ZNK12QSoundEffect6volumeEv @ 493 NONAME
- _ZNK12QSoundEffect7isMutedEv @ 494 NONAME
- _ZNK12QVideoWidget10brightnessEv @ 495 NONAME
- _ZNK12QVideoWidget10metaObjectEv @ 496 NONAME
- _ZNK12QVideoWidget10saturationEv @ 497 NONAME
- _ZNK12QVideoWidget11mediaObjectEv @ 498 NONAME
- _ZNK12QVideoWidget15aspectRatioModeEv @ 499 NONAME
- _ZNK12QVideoWidget3hueEv @ 500 NONAME
- _ZNK12QVideoWidget8contrastEv @ 501 NONAME
- _ZNK12QVideoWidget8sizeHintEv @ 502 NONAME
- _ZNK13QMediaContent12canonicalUrlEv @ 503 NONAME
- _ZNK13QMediaContent16canonicalRequestEv @ 504 NONAME
- _ZNK13QMediaContent17canonicalResourceEv @ 505 NONAME
- _ZNK13QMediaContent6isNullEv @ 506 NONAME
- _ZNK13QMediaContent9resourcesEv @ 507 NONAME
- _ZNK13QMediaContenteqERKS_ @ 508 NONAME
- _ZNK13QMediaContentneERKS_ @ 509 NONAME
- _ZNK13QMediaControl10metaObjectEv @ 510 NONAME
- _ZNK13QMediaService10metaObjectEv @ 511 NONAME
- _ZNK14QMediaPlaylist10isReadOnlyEv @ 512 NONAME
- _ZNK14QMediaPlaylist10mediaCountEv @ 513 NONAME
- _ZNK14QMediaPlaylist10metaObjectEv @ 514 NONAME
- _ZNK14QMediaPlaylist11errorStringEv @ 515 NONAME
- _ZNK14QMediaPlaylist11mediaObjectEv @ 516 NONAME
- _ZNK14QMediaPlaylist12currentIndexEv @ 517 NONAME
- _ZNK14QMediaPlaylist12currentMediaEv @ 518 NONAME
- _ZNK14QMediaPlaylist12playbackModeEv @ 519 NONAME
- _ZNK14QMediaPlaylist13previousIndexEi @ 520 NONAME
- _ZNK14QMediaPlaylist5errorEv @ 521 NONAME
- _ZNK14QMediaPlaylist5mediaEi @ 522 NONAME
- _ZNK14QMediaPlaylist7isEmptyEv @ 523 NONAME
- _ZNK14QMediaPlaylist9nextIndexEi @ 524 NONAME
- _ZNK14QMediaResource10audioCodecEv @ 525 NONAME
- _ZNK14QMediaResource10resolutionEv @ 526 NONAME
- _ZNK14QMediaResource10sampleRateEv @ 527 NONAME
- _ZNK14QMediaResource10videoCodecEv @ 528 NONAME
- _ZNK14QMediaResource12audioBitRateEv @ 529 NONAME
- _ZNK14QMediaResource12channelCountEv @ 530 NONAME
- _ZNK14QMediaResource12videoBitRateEv @ 531 NONAME
- _ZNK14QMediaResource3urlEv @ 532 NONAME
- _ZNK14QMediaResource6isNullEv @ 533 NONAME
- _ZNK14QMediaResource7requestEv @ 534 NONAME
- _ZNK14QMediaResource8dataSizeEv @ 535 NONAME
- _ZNK14QMediaResource8languageEv @ 536 NONAME
- _ZNK14QMediaResource8mimeTypeEv @ 537 NONAME
- _ZNK14QMediaResourceeqERKS_ @ 538 NONAME
- _ZNK14QMediaResourceneERKS_ @ 539 NONAME
- _ZNK15QMediaTimeRange10latestTimeEv @ 540 NONAME
- _ZNK15QMediaTimeRange12earliestTimeEv @ 541 NONAME
- _ZNK15QMediaTimeRange12isContinuousEv @ 542 NONAME
- _ZNK15QMediaTimeRange7isEmptyEv @ 543 NONAME
- _ZNK15QMediaTimeRange8containsEx @ 544 NONAME
- _ZNK15QMediaTimeRange9intervalsEv @ 545 NONAME
- _ZNK16QMetaDataControl10metaObjectEv @ 546 NONAME
- _ZNK18QGraphicsVideoItem10metaObjectEv @ 547 NONAME
- _ZNK18QGraphicsVideoItem10nativeSizeEv @ 548 NONAME
- _ZNK18QGraphicsVideoItem11mediaObjectEv @ 549 NONAME
- _ZNK18QGraphicsVideoItem12boundingRectEv @ 550 NONAME
- _ZNK18QGraphicsVideoItem15aspectRatioModeEv @ 551 NONAME
- _ZNK18QGraphicsVideoItem4sizeEv @ 552 NONAME
- _ZNK18QGraphicsVideoItem6offsetEv @ 553 NONAME
- _ZNK18QMediaTimeInterval10normalizedEv @ 554 NONAME
- _ZNK18QMediaTimeInterval10translatedEx @ 555 NONAME
- _ZNK18QMediaTimeInterval3endEv @ 556 NONAME
- _ZNK18QMediaTimeInterval5startEv @ 557 NONAME
- _ZNK18QMediaTimeInterval8containsEx @ 558 NONAME
- _ZNK18QMediaTimeInterval8isNormalEv @ 559 NONAME
- _ZNK19QMediaPlayerControl10metaObjectEv @ 560 NONAME
- _ZNK19QVideoDeviceControl10metaObjectEv @ 561 NONAME
- _ZNK19QVideoOutputControl10metaObjectEv @ 562 NONAME
- _ZNK19QVideoWidgetControl10metaObjectEv @ 563 NONAME
- _ZNK19QVideoWindowControl10metaObjectEv @ 564 NONAME
- _ZNK20QPainterVideoSurface10brightnessEv @ 565 NONAME
- _ZNK20QPainterVideoSurface10metaObjectEv @ 566 NONAME
- _ZNK20QPainterVideoSurface10saturationEv @ 567 NONAME
- _ZNK20QPainterVideoSurface17isFormatSupportedERK19QVideoSurfaceFormatPS0_ @ 568 NONAME
- _ZNK20QPainterVideoSurface21supportedPixelFormatsEN20QAbstractVideoBuffer10HandleTypeE @ 569 NONAME
- _ZNK20QPainterVideoSurface3hueEv @ 570 NONAME
- _ZNK20QPainterVideoSurface7isReadyEv @ 571 NONAME
- _ZNK20QPainterVideoSurface8contrastEv @ 572 NONAME
- _ZNK21QMediaPlaylistControl10metaObjectEv @ 573 NONAME
- _ZNK21QMediaServiceProvider10hasSupportERK10QByteArrayRK7QStringRK11QStringListi @ 574 NONAME
- _ZNK21QMediaServiceProvider10metaObjectEv @ 575 NONAME
- _ZNK21QMediaServiceProvider18supportedMimeTypesERK10QByteArrayi @ 576 NONAME
- _ZNK21QMediaServiceProvider7devicesERK10QByteArray @ 577 NONAME
- _ZNK21QVideoRendererControl10metaObjectEv @ 578 NONAME
- _ZNK22QMediaPlaylistIOPlugin10metaObjectEv @ 579 NONAME
- _ZNK22QMediaPlaylistProvider10isReadOnlyEv @ 580 NONAME
- _ZNK22QMediaPlaylistProvider10metaObjectEv @ 581 NONAME
- _ZNK23QMediaPlaylistNavigator10metaObjectEv @ 582 NONAME
- _ZNK23QMediaPlaylistNavigator11currentItemEv @ 583 NONAME
- _ZNK23QMediaPlaylistNavigator12currentIndexEv @ 584 NONAME
- _ZNK23QMediaPlaylistNavigator12playbackModeEv @ 585 NONAME
- _ZNK23QMediaPlaylistNavigator12previousItemEi @ 586 NONAME
- _ZNK23QMediaPlaylistNavigator13previousIndexEi @ 587 NONAME
- _ZNK23QMediaPlaylistNavigator6itemAtEi @ 588 NONAME
- _ZNK23QMediaPlaylistNavigator8nextItemEi @ 589 NONAME
- _ZNK23QMediaPlaylistNavigator8playlistEv @ 590 NONAME
- _ZNK23QMediaPlaylistNavigator9nextIndexEi @ 591 NONAME
- _ZNK25QMediaServiceProviderHint4typeEv @ 592 NONAME
- _ZNK25QMediaServiceProviderHint6codecsEv @ 593 NONAME
- _ZNK25QMediaServiceProviderHint6deviceEv @ 594 NONAME
- _ZNK25QMediaServiceProviderHint6isNullEv @ 595 NONAME
- _ZNK25QMediaServiceProviderHint8featuresEv @ 596 NONAME
- _ZNK25QMediaServiceProviderHint8mimeTypeEv @ 597 NONAME
- _ZNK25QMediaServiceProviderHinteqERKS_ @ 598 NONAME
- _ZNK25QMediaServiceProviderHintneERKS_ @ 599 NONAME
- _ZNK27QLocalMediaPlaylistProvider10isReadOnlyEv @ 600 NONAME
- _ZNK27QLocalMediaPlaylistProvider10mediaCountEv @ 601 NONAME
- _ZNK27QLocalMediaPlaylistProvider10metaObjectEv @ 602 NONAME
- _ZNK27QLocalMediaPlaylistProvider5mediaEi @ 603 NONAME
- _ZNK27QMediaServiceProviderPlugin10metaObjectEv @ 604 NONAME
- _ZTI12QMediaObject @ 605 NONAME
- _ZTI12QMediaPlayer @ 606 NONAME
- _ZTI12QSoundEffect @ 607 NONAME
- _ZTI12QVideoWidget @ 608 NONAME
- _ZTI13QMediaControl @ 609 NONAME
- _ZTI13QMediaService @ 610 NONAME
- _ZTI14QMediaPlaylist @ 611 NONAME
- _ZTI16QMetaDataControl @ 612 NONAME
- _ZTI18QGraphicsVideoItem @ 613 NONAME
- _ZTI19QMediaPlayerControl @ 614 NONAME
- _ZTI19QVideoDeviceControl @ 615 NONAME
- _ZTI19QVideoOutputControl @ 616 NONAME
- _ZTI19QVideoWidgetControl @ 617 NONAME
- _ZTI19QVideoWindowControl @ 618 NONAME
- _ZTI20QMediaPlaylistReader @ 619 NONAME
- _ZTI20QMediaPlaylistWriter @ 620 NONAME
- _ZTI20QPainterVideoSurface @ 621 NONAME
- _ZTI21QMediaPlaylistControl @ 622 NONAME
- _ZTI21QMediaServiceProvider @ 623 NONAME
- _ZTI21QVideoRendererControl @ 624 NONAME
- _ZTI22QMediaPlaylistIOPlugin @ 625 NONAME
- _ZTI22QMediaPlaylistProvider @ 626 NONAME
- _ZTI23QMediaPlaylistNavigator @ 627 NONAME
- _ZTI25QMediaPlaylistIOInterface @ 628 NONAME
- _ZTI27QLocalMediaPlaylistProvider @ 629 NONAME
- _ZTI27QMediaServiceProviderPlugin @ 630 NONAME
- _ZTI37QMediaServiceProviderFactoryInterface @ 631 NONAME
- _ZTV12QMediaObject @ 632 NONAME
- _ZTV12QMediaPlayer @ 633 NONAME
- _ZTV12QSoundEffect @ 634 NONAME
- _ZTV12QVideoWidget @ 635 NONAME
- _ZTV13QMediaControl @ 636 NONAME
- _ZTV13QMediaService @ 637 NONAME
- _ZTV14QMediaPlaylist @ 638 NONAME
- _ZTV16QMetaDataControl @ 639 NONAME
- _ZTV18QGraphicsVideoItem @ 640 NONAME
- _ZTV19QMediaPlayerControl @ 641 NONAME
- _ZTV19QVideoDeviceControl @ 642 NONAME
- _ZTV19QVideoOutputControl @ 643 NONAME
- _ZTV19QVideoWidgetControl @ 644 NONAME
- _ZTV19QVideoWindowControl @ 645 NONAME
- _ZTV20QMediaPlaylistReader @ 646 NONAME
- _ZTV20QMediaPlaylistWriter @ 647 NONAME
- _ZTV20QPainterVideoSurface @ 648 NONAME
- _ZTV21QMediaPlaylistControl @ 649 NONAME
- _ZTV21QMediaServiceProvider @ 650 NONAME
- _ZTV21QVideoRendererControl @ 651 NONAME
- _ZTV22QMediaPlaylistIOPlugin @ 652 NONAME
- _ZTV22QMediaPlaylistProvider @ 653 NONAME
- _ZTV23QMediaPlaylistNavigator @ 654 NONAME
- _ZTV27QLocalMediaPlaylistProvider @ 655 NONAME
- _ZTV27QMediaServiceProviderPlugin @ 656 NONAME
- _ZThn8_N12QVideoWidgetD0Ev @ 657 NONAME
- _ZThn8_N12QVideoWidgetD1Ev @ 658 NONAME
- _ZThn8_N18QGraphicsVideoItem10itemChangeEN13QGraphicsItem18GraphicsItemChangeERK8QVariant @ 659 NONAME
- _ZThn8_N18QGraphicsVideoItem10sceneEventEP6QEvent @ 660 NONAME
- _ZThn8_N18QGraphicsVideoItem5paintEP8QPainterPK24QStyleOptionGraphicsItemP7QWidget @ 661 NONAME
- _ZThn8_N18QGraphicsVideoItemD0Ev @ 662 NONAME
- _ZThn8_N18QGraphicsVideoItemD1Ev @ 663 NONAME
- _ZThn8_N22QMediaPlaylistIOPluginD0Ev @ 664 NONAME
- _ZThn8_N22QMediaPlaylistIOPluginD1Ev @ 665 NONAME
- _ZThn8_NK18QGraphicsVideoItem12boundingRectEv @ 666 NONAME
- _ZeqRK15QMediaTimeRangeS1_ @ 667 NONAME
- _ZeqRK18QMediaTimeIntervalS1_ @ 668 NONAME
- _ZmiRK15QMediaTimeRangeS1_ @ 669 NONAME
- _ZneRK15QMediaTimeRangeS1_ @ 670 NONAME
- _ZneRK18QMediaTimeIntervalS1_ @ 671 NONAME
- _ZplRK15QMediaTimeRangeS1_ @ 672 NONAME
-
diff --git a/src/s60installs/eabi/QtNetworku.def b/src/s60installs/eabi/QtNetworku.def
index 2566415a7e..3cc36443a9 100644
--- a/src/s60installs/eabi/QtNetworku.def
+++ b/src/s60installs/eabi/QtNetworku.def
@@ -993,178 +993,175 @@ EXPORTS
_ZN10QSslSocket15setSocketOptionEN15QAbstractSocket12SocketOptionERK8QVariant @ 992 NONAME
_ZN15QNetworkRequest20setOriginatingObjectEP7QObject @ 993 NONAME
_ZNK15QNetworkRequest17originatingObjectEv @ 994 NONAME
- _Z35qNetworkConfigurationManagerPrivatev @ 995 NONAME
- _ZN13QBearerEngine11qt_metacallEN11QMetaObject4CallEiPPv @ 996 NONAME
- _ZN13QBearerEngine11qt_metacastEPKc @ 997 NONAME
- _ZN13QBearerEngine15updateCompletedEv @ 998 NONAME
- _ZN13QBearerEngine16staticMetaObjectE @ 999 NONAME DATA 16
- _ZN13QBearerEngine18configurationAddedE28QExplicitlySharedDataPointerI28QNetworkConfigurationPrivateE @ 1000 NONAME
- _ZN13QBearerEngine19getStaticMetaObjectEv @ 1001 NONAME
- _ZN13QBearerEngine20configurationChangedE28QExplicitlySharedDataPointerI28QNetworkConfigurationPrivateE @ 1002 NONAME
- _ZN13QBearerEngine20configurationRemovedE28QExplicitlySharedDataPointerI28QNetworkConfigurationPrivateE @ 1003 NONAME
- _ZN13QBearerEngineC2EP7QObject @ 1004 NONAME
- _ZN13QBearerEngineD0Ev @ 1005 NONAME
- _ZN13QBearerEngineD1Ev @ 1006 NONAME
- _ZN13QBearerEngineD2Ev @ 1007 NONAME
- _ZN15QNetworkRequest11setPriorityENS_8PriorityE @ 1008 NONAME
- _ZN15QNetworkSession11qt_metacallEN11QMetaObject4CallEiPPv @ 1009 NONAME
- _ZN15QNetworkSession11qt_metacastEPKc @ 1010 NONAME
- _ZN15QNetworkSession12stateChangedENS_5StateE @ 1011 NONAME
- _ZN15QNetworkSession13connectNotifyEPKc @ 1012 NONAME
- _ZN15QNetworkSession13waitForOpenedEi @ 1013 NONAME
- _ZN15QNetworkSession16disconnectNotifyEPKc @ 1014 NONAME
- _ZN15QNetworkSession16staticMetaObjectE @ 1015 NONAME DATA 16
- _ZN15QNetworkSession18setSessionPropertyERK7QStringRK8QVariant @ 1016 NONAME
- _ZN15QNetworkSession19getStaticMetaObjectEv @ 1017 NONAME
- _ZN15QNetworkSession25newConfigurationActivatedEv @ 1018 NONAME
- _ZN15QNetworkSession29preferredConfigurationChangedERK21QNetworkConfigurationb @ 1019 NONAME
- _ZN15QNetworkSession4openEv @ 1020 NONAME
- _ZN15QNetworkSession4stopEv @ 1021 NONAME
- _ZN15QNetworkSession5closeEv @ 1022 NONAME
- _ZN15QNetworkSession5errorENS_12SessionErrorE @ 1023 NONAME
- _ZN15QNetworkSession6acceptEv @ 1024 NONAME
- _ZN15QNetworkSession6closedEv @ 1025 NONAME
- _ZN15QNetworkSession6ignoreEv @ 1026 NONAME
- _ZN15QNetworkSession6openedEv @ 1027 NONAME
- _ZN15QNetworkSession6rejectEv @ 1028 NONAME
- _ZN15QNetworkSession7migrateEv @ 1029 NONAME
- _ZN15QNetworkSessionC1ERK21QNetworkConfigurationP7QObject @ 1030 NONAME
- _ZN15QNetworkSessionC2ERK21QNetworkConfigurationP7QObject @ 1031 NONAME
- _ZN15QNetworkSessionD0Ev @ 1032 NONAME
- _ZN15QNetworkSessionD1Ev @ 1033 NONAME
- _ZN15QNetworkSessionD2Ev @ 1034 NONAME
- _ZN19QBearerEnginePlugin11qt_metacallEN11QMetaObject4CallEiPPv @ 1035 NONAME
- _ZN19QBearerEnginePlugin11qt_metacastEPKc @ 1036 NONAME
- _ZN19QBearerEnginePlugin16staticMetaObjectE @ 1037 NONAME DATA 16
- _ZN19QBearerEnginePlugin19getStaticMetaObjectEv @ 1038 NONAME
- _ZN19QBearerEnginePluginC2EP7QObject @ 1039 NONAME
- _ZN19QBearerEnginePluginD0Ev @ 1040 NONAME
- _ZN19QBearerEnginePluginD1Ev @ 1041 NONAME
- _ZN19QBearerEnginePluginD2Ev @ 1042 NONAME
- _ZN21QNetworkAccessManager16setConfigurationERK21QNetworkConfiguration @ 1043 NONAME
- _ZN21QNetworkAccessManager17sendCustomRequestERK15QNetworkRequestRK10QByteArrayP9QIODevice @ 1044 NONAME
- _ZN21QNetworkAccessManager20networkAccessChangedEb @ 1045 NONAME ABSENT
- _ZN21QNetworkAccessManager20networkSessionOnlineEv @ 1046 NONAME ABSENT
- _ZN21QNetworkAccessManager23setNetworkAccessEnabledEb @ 1047 NONAME ABSENT
- _ZN21QNetworkConfigurationC1ERKS_ @ 1048 NONAME
- _ZN21QNetworkConfigurationC1Ev @ 1049 NONAME
- _ZN21QNetworkConfigurationC2ERKS_ @ 1050 NONAME
- _ZN21QNetworkConfigurationC2Ev @ 1051 NONAME
- _ZN21QNetworkConfigurationD1Ev @ 1052 NONAME
- _ZN21QNetworkConfigurationD2Ev @ 1053 NONAME
- _ZN21QNetworkConfigurationaSERKS_ @ 1054 NONAME
- _ZN22QNetworkSessionPrivate11qt_metacallEN11QMetaObject4CallEiPPv @ 1055 NONAME
- _ZN22QNetworkSessionPrivate11qt_metacastEPKc @ 1056 NONAME
- _ZN22QNetworkSessionPrivate12stateChangedEN15QNetworkSession5StateE @ 1057 NONAME
- _ZN22QNetworkSessionPrivate16staticMetaObjectE @ 1058 NONAME DATA 16
- _ZN22QNetworkSessionPrivate19getStaticMetaObjectEv @ 1059 NONAME
- _ZN22QNetworkSessionPrivate25newConfigurationActivatedEv @ 1060 NONAME
- _ZN22QNetworkSessionPrivate25quitPendingWaitsForOpenedEv @ 1061 NONAME
- _ZN22QNetworkSessionPrivate29preferredConfigurationChangedERK21QNetworkConfigurationb @ 1062 NONAME
- _ZN22QNetworkSessionPrivate5errorEN15QNetworkSession12SessionErrorE @ 1063 NONAME
- _ZN22QNetworkSessionPrivate6closedEv @ 1064 NONAME
- _ZN28QNetworkConfigurationManager11qt_metacallEN11QMetaObject4CallEiPPv @ 1065 NONAME
- _ZN28QNetworkConfigurationManager11qt_metacastEPKc @ 1066 NONAME
- _ZN28QNetworkConfigurationManager15updateCompletedEv @ 1067 NONAME
- _ZN28QNetworkConfigurationManager16staticMetaObjectE @ 1068 NONAME DATA 16
- _ZN28QNetworkConfigurationManager18configurationAddedERK21QNetworkConfiguration @ 1069 NONAME
- _ZN28QNetworkConfigurationManager18onlineStateChangedEb @ 1070 NONAME
- _ZN28QNetworkConfigurationManager19getStaticMetaObjectEv @ 1071 NONAME
- _ZN28QNetworkConfigurationManager20configurationChangedERK21QNetworkConfiguration @ 1072 NONAME
- _ZN28QNetworkConfigurationManager20configurationRemovedERK21QNetworkConfiguration @ 1073 NONAME
- _ZN28QNetworkConfigurationManager20updateConfigurationsEv @ 1074 NONAME
- _ZN28QNetworkConfigurationManagerC1EP7QObject @ 1075 NONAME
- _ZN28QNetworkConfigurationManagerC2EP7QObject @ 1076 NONAME
- _ZN28QNetworkConfigurationManagerD0Ev @ 1077 NONAME
- _ZN28QNetworkConfigurationManagerD1Ev @ 1078 NONAME
- _ZN28QNetworkConfigurationManagerD2Ev @ 1079 NONAME
- _ZN35QNetworkConfigurationManagerPrivate11qt_metacallEN11QMetaObject4CallEiPPv @ 1080 NONAME
- _ZN35QNetworkConfigurationManagerPrivate11qt_metacastEPKc @ 1081 NONAME
- _ZN35QNetworkConfigurationManagerPrivate16staticMetaObjectE @ 1082 NONAME DATA 16
- _ZN35QNetworkConfigurationManagerPrivate18configurationAddedE28QExplicitlySharedDataPointerI28QNetworkConfigurationPrivateE @ 1083 NONAME
- _ZN35QNetworkConfigurationManagerPrivate18configurationAddedERK21QNetworkConfiguration @ 1084 NONAME
- _ZN35QNetworkConfigurationManagerPrivate18onlineStateChangedEb @ 1085 NONAME
- _ZN35QNetworkConfigurationManagerPrivate19getStaticMetaObjectEv @ 1086 NONAME
- _ZN35QNetworkConfigurationManagerPrivate20configurationChangedE28QExplicitlySharedDataPointerI28QNetworkConfigurationPrivateE @ 1087 NONAME
- _ZN35QNetworkConfigurationManagerPrivate20configurationChangedERK21QNetworkConfiguration @ 1088 NONAME
- _ZN35QNetworkConfigurationManagerPrivate20configurationRemovedE28QExplicitlySharedDataPointerI28QNetworkConfigurationPrivateE @ 1089 NONAME
- _ZN35QNetworkConfigurationManagerPrivate20configurationRemovedERK21QNetworkConfiguration @ 1090 NONAME
- _ZN35QNetworkConfigurationManagerPrivate20updateConfigurationsEv @ 1091 NONAME
- _ZN35QNetworkConfigurationManagerPrivate27configurationUpdateCompleteEv @ 1092 NONAME
- _ZN35QNetworkConfigurationManagerPrivate31performAsyncConfigurationUpdateEv @ 1093 NONAME
- _ZN35QNetworkConfigurationManagerPrivate5abortEv @ 1094 NONAME
- _ZN35QNetworkConfigurationManagerPrivate7enginesEv @ 1095 NONAME
- _ZN35QNetworkConfigurationManagerPrivateC1Ev @ 1096 NONAME
- _ZN35QNetworkConfigurationManagerPrivateC2Ev @ 1097 NONAME
- _ZN35QNetworkConfigurationManagerPrivateD0Ev @ 1098 NONAME
- _ZN35QNetworkConfigurationManagerPrivateD1Ev @ 1099 NONAME
- _ZN35QNetworkConfigurationManagerPrivateD2Ev @ 1100 NONAME
- _ZNK13QBearerEngine10metaObjectEv @ 1101 NONAME
- _ZNK13QNetworkReply14rawHeaderPairsEv @ 1102 NONAME
- _ZNK15QNetworkRequest8priorityEv @ 1103 NONAME
- _ZNK15QNetworkSession10activeTimeEv @ 1104 NONAME
- _ZNK15QNetworkSession10metaObjectEv @ 1105 NONAME
- _ZNK15QNetworkSession11errorStringEv @ 1106 NONAME
- _ZNK15QNetworkSession12bytesWrittenEv @ 1107 NONAME
- _ZNK15QNetworkSession13bytesReceivedEv @ 1108 NONAME
- _ZNK15QNetworkSession13configurationEv @ 1109 NONAME
- _ZNK15QNetworkSession15sessionPropertyERK7QString @ 1110 NONAME
- _ZNK15QNetworkSession5errorEv @ 1111 NONAME
- _ZNK15QNetworkSession5stateEv @ 1112 NONAME
- _ZNK15QNetworkSession6isOpenEv @ 1113 NONAME
- _ZNK15QNetworkSession9interfaceEv @ 1114 NONAME
- _ZNK19QBearerEnginePlugin10metaObjectEv @ 1115 NONAME
- _ZNK21QNetworkAccessManager13configurationEv @ 1116 NONAME
- _ZNK21QNetworkAccessManager19activeConfigurationEv @ 1117 NONAME
- _ZNK21QNetworkAccessManager20networkAccessEnabledEv @ 1118 NONAME ABSENT
- _ZNK21QNetworkConfiguration10bearerNameEv @ 1119 NONAME
- _ZNK21QNetworkConfiguration10identifierEv @ 1120 NONAME
- _ZNK21QNetworkConfiguration18isRoamingAvailableEv @ 1121 NONAME
- _ZNK21QNetworkConfiguration4nameEv @ 1122 NONAME
- _ZNK21QNetworkConfiguration4typeEv @ 1123 NONAME
- _ZNK21QNetworkConfiguration5stateEv @ 1124 NONAME
- _ZNK21QNetworkConfiguration7isValidEv @ 1125 NONAME
- _ZNK21QNetworkConfiguration7purposeEv @ 1126 NONAME
- _ZNK21QNetworkConfiguration8childrenEv @ 1127 NONAME
- _ZNK21QNetworkConfigurationeqERKS_ @ 1128 NONAME
- _ZNK22QNetworkSessionPrivate10metaObjectEv @ 1129 NONAME
- _ZNK28QNetworkConfigurationManager10metaObjectEv @ 1130 NONAME
- _ZNK28QNetworkConfigurationManager12capabilitiesEv @ 1131 NONAME
- _ZNK28QNetworkConfigurationManager17allConfigurationsE6QFlagsIN21QNetworkConfiguration9StateFlagEE @ 1132 NONAME
- _ZNK28QNetworkConfigurationManager20defaultConfigurationEv @ 1133 NONAME
- _ZNK28QNetworkConfigurationManager27configurationFromIdentifierERK7QString @ 1134 NONAME
- _ZNK28QNetworkConfigurationManager8isOnlineEv @ 1135 NONAME
- _ZNK35QNetworkConfigurationManagerPrivate10metaObjectEv @ 1136 NONAME
- _ZTI13QBearerEngine @ 1137 NONAME
- _ZTI15QNetworkSession @ 1138 NONAME
- _ZTI19QBearerEnginePlugin @ 1139 NONAME
- _ZTI22QNetworkSessionPrivate @ 1140 NONAME
- _ZTI28QNetworkConfigurationManager @ 1141 NONAME
- _ZTI29QBearerEngineFactoryInterface @ 1142 NONAME
- _ZTI35QNetworkConfigurationManagerPrivate @ 1143 NONAME
- _ZTV13QBearerEngine @ 1144 NONAME
- _ZTV15QNetworkSession @ 1145 NONAME
- _ZTV19QBearerEnginePlugin @ 1146 NONAME
- _ZTV22QNetworkSessionPrivate @ 1147 NONAME
- _ZTV28QNetworkConfigurationManager @ 1148 NONAME
- _ZTV35QNetworkConfigurationManagerPrivate @ 1149 NONAME
- _ZThn8_N19QBearerEnginePluginD0Ev @ 1150 NONAME
- _ZThn8_N19QBearerEnginePluginD1Ev @ 1151 NONAME
- _Z19qt_qhostinfo_lookupRK7QStringP7QObjectPKcPbPi @ 1152 NONAME
- _Z24qt_qhostinfo_clear_cachev @ 1153 NONAME ABSENT
- _ZN21QNetworkAccessManager20setNetworkAccessibleENS_20NetworkAccessibilityE @ 1154 NONAME
- _ZN21QNetworkAccessManager23networkSessionConnectedEv @ 1155 NONAME
- _ZN21QNetworkAccessManager24networkAccessibleChangedENS_20NetworkAccessibilityE @ 1156 NONAME
- _ZN35QNetworkConfigurationManagerPrivate11pollEnginesEv @ 1157 NONAME
- _ZN35QNetworkConfigurationManagerPrivate12startPollingEv @ 1158 NONAME
- _ZN35QNetworkConfigurationManagerPrivate13enablePollingEv @ 1159 NONAME
- _ZN35QNetworkConfigurationManagerPrivate14disablePollingEv @ 1160 NONAME
- _ZN35QNetworkConfigurationManagerPrivate17allConfigurationsE6QFlagsIN21QNetworkConfiguration9StateFlagEE @ 1161 NONAME
- _ZN35QNetworkConfigurationManagerPrivate20defaultConfigurationEv @ 1162 NONAME
- _ZN35QNetworkConfigurationManagerPrivate27configurationFromIdentifierERK7QString @ 1163 NONAME
- _ZN35QNetworkConfigurationManagerPrivate8isOnlineEv @ 1164 NONAME
- _ZNK13QBearerEngine15requiresPollingEv @ 1165 NONAME
- _ZNK13QBearerEngine19configurationsInUseEv @ 1166 NONAME
- _ZNK21QNetworkAccessManager17networkAccessibleEv @ 1167 NONAME
- _ZN35QNetworkConfigurationManagerPrivate12capabilitiesEv @ 1168 NONAME
+ _Z19qt_qhostinfo_lookupRK7QStringP7QObjectPKcPbPi @ 995 NONAME
+ _Z24qt_qhostinfo_clear_cachev @ 996 NONAME ABSENT
+ _Z35qNetworkConfigurationManagerPrivatev @ 997 NONAME
+ _ZN10QTcpServer20addPendingConnectionEP10QTcpSocket @ 998 NONAME
+ _ZN13QBearerEngine11qt_metacallEN11QMetaObject4CallEiPPv @ 999 NONAME
+ _ZN13QBearerEngine11qt_metacastEPKc @ 1000 NONAME
+ _ZN13QBearerEngine15updateCompletedEv @ 1001 NONAME
+ _ZN13QBearerEngine16staticMetaObjectE @ 1002 NONAME DATA 16
+ _ZN13QBearerEngine18configurationAddedE28QExplicitlySharedDataPointerI28QNetworkConfigurationPrivateE @ 1003 NONAME
+ _ZN13QBearerEngine19getStaticMetaObjectEv @ 1004 NONAME
+ _ZN13QBearerEngine20configurationChangedE28QExplicitlySharedDataPointerI28QNetworkConfigurationPrivateE @ 1005 NONAME
+ _ZN13QBearerEngine20configurationRemovedE28QExplicitlySharedDataPointerI28QNetworkConfigurationPrivateE @ 1006 NONAME
+ _ZN13QBearerEngineC2EP7QObject @ 1007 NONAME
+ _ZN13QBearerEngineD0Ev @ 1008 NONAME
+ _ZN13QBearerEngineD1Ev @ 1009 NONAME
+ _ZN13QBearerEngineD2Ev @ 1010 NONAME
+ _ZN15QNetworkRequest11setPriorityENS_8PriorityE @ 1011 NONAME
+ _ZN15QNetworkSession11qt_metacallEN11QMetaObject4CallEiPPv @ 1012 NONAME
+ _ZN15QNetworkSession11qt_metacastEPKc @ 1013 NONAME
+ _ZN15QNetworkSession12stateChangedENS_5StateE @ 1014 NONAME
+ _ZN15QNetworkSession13connectNotifyEPKc @ 1015 NONAME
+ _ZN15QNetworkSession13waitForOpenedEi @ 1016 NONAME
+ _ZN15QNetworkSession16disconnectNotifyEPKc @ 1017 NONAME
+ _ZN15QNetworkSession16staticMetaObjectE @ 1018 NONAME DATA 16
+ _ZN15QNetworkSession18setSessionPropertyERK7QStringRK8QVariant @ 1019 NONAME
+ _ZN15QNetworkSession19getStaticMetaObjectEv @ 1020 NONAME
+ _ZN15QNetworkSession25newConfigurationActivatedEv @ 1021 NONAME
+ _ZN15QNetworkSession29preferredConfigurationChangedERK21QNetworkConfigurationb @ 1022 NONAME
+ _ZN15QNetworkSession4openEv @ 1023 NONAME
+ _ZN15QNetworkSession4stopEv @ 1024 NONAME
+ _ZN15QNetworkSession5closeEv @ 1025 NONAME
+ _ZN15QNetworkSession5errorENS_12SessionErrorE @ 1026 NONAME
+ _ZN15QNetworkSession6acceptEv @ 1027 NONAME
+ _ZN15QNetworkSession6closedEv @ 1028 NONAME
+ _ZN15QNetworkSession6ignoreEv @ 1029 NONAME
+ _ZN15QNetworkSession6openedEv @ 1030 NONAME
+ _ZN15QNetworkSession6rejectEv @ 1031 NONAME
+ _ZN15QNetworkSession7migrateEv @ 1032 NONAME
+ _ZN15QNetworkSessionC1ERK21QNetworkConfigurationP7QObject @ 1033 NONAME
+ _ZN15QNetworkSessionC2ERK21QNetworkConfigurationP7QObject @ 1034 NONAME
+ _ZN15QNetworkSessionD0Ev @ 1035 NONAME
+ _ZN15QNetworkSessionD1Ev @ 1036 NONAME
+ _ZN15QNetworkSessionD2Ev @ 1037 NONAME
+ _ZN19QBearerEnginePlugin11qt_metacallEN11QMetaObject4CallEiPPv @ 1038 NONAME
+ _ZN19QBearerEnginePlugin11qt_metacastEPKc @ 1039 NONAME
+ _ZN19QBearerEnginePlugin16staticMetaObjectE @ 1040 NONAME DATA 16
+ _ZN19QBearerEnginePlugin19getStaticMetaObjectEv @ 1041 NONAME
+ _ZN19QBearerEnginePluginC2EP7QObject @ 1042 NONAME
+ _ZN19QBearerEnginePluginD0Ev @ 1043 NONAME
+ _ZN19QBearerEnginePluginD1Ev @ 1044 NONAME
+ _ZN19QBearerEnginePluginD2Ev @ 1045 NONAME
+ _ZN21QNetworkAccessManager16setConfigurationERK21QNetworkConfiguration @ 1046 NONAME
+ _ZN21QNetworkAccessManager17sendCustomRequestERK15QNetworkRequestRK10QByteArrayP9QIODevice @ 1047 NONAME
+ _ZN21QNetworkAccessManager20setNetworkAccessibleENS_20NetworkAccessibilityE @ 1048 NONAME
+ _ZN21QNetworkAccessManager23networkSessionConnectedEv @ 1049 NONAME
+ _ZN21QNetworkAccessManager24networkAccessibleChangedENS_20NetworkAccessibilityE @ 1050 NONAME
+ _ZN21QNetworkConfigurationC1ERKS_ @ 1051 NONAME
+ _ZN21QNetworkConfigurationC1Ev @ 1052 NONAME
+ _ZN21QNetworkConfigurationC2ERKS_ @ 1053 NONAME
+ _ZN21QNetworkConfigurationC2Ev @ 1054 NONAME
+ _ZN21QNetworkConfigurationD1Ev @ 1055 NONAME
+ _ZN21QNetworkConfigurationD2Ev @ 1056 NONAME
+ _ZN21QNetworkConfigurationaSERKS_ @ 1057 NONAME
+ _ZN22QNetworkSessionPrivate11qt_metacallEN11QMetaObject4CallEiPPv @ 1058 NONAME
+ _ZN22QNetworkSessionPrivate11qt_metacastEPKc @ 1059 NONAME
+ _ZN22QNetworkSessionPrivate12stateChangedEN15QNetworkSession5StateE @ 1060 NONAME
+ _ZN22QNetworkSessionPrivate16staticMetaObjectE @ 1061 NONAME DATA 16
+ _ZN22QNetworkSessionPrivate19getStaticMetaObjectEv @ 1062 NONAME
+ _ZN22QNetworkSessionPrivate25newConfigurationActivatedEv @ 1063 NONAME
+ _ZN22QNetworkSessionPrivate25quitPendingWaitsForOpenedEv @ 1064 NONAME
+ _ZN22QNetworkSessionPrivate29preferredConfigurationChangedERK21QNetworkConfigurationb @ 1065 NONAME
+ _ZN22QNetworkSessionPrivate5errorEN15QNetworkSession12SessionErrorE @ 1066 NONAME
+ _ZN22QNetworkSessionPrivate6closedEv @ 1067 NONAME
+ _ZN28QNetworkConfigurationManager11qt_metacallEN11QMetaObject4CallEiPPv @ 1068 NONAME
+ _ZN28QNetworkConfigurationManager11qt_metacastEPKc @ 1069 NONAME
+ _ZN28QNetworkConfigurationManager15updateCompletedEv @ 1070 NONAME
+ _ZN28QNetworkConfigurationManager16staticMetaObjectE @ 1071 NONAME DATA 16
+ _ZN28QNetworkConfigurationManager18configurationAddedERK21QNetworkConfiguration @ 1072 NONAME
+ _ZN28QNetworkConfigurationManager18onlineStateChangedEb @ 1073 NONAME
+ _ZN28QNetworkConfigurationManager19getStaticMetaObjectEv @ 1074 NONAME
+ _ZN28QNetworkConfigurationManager20configurationChangedERK21QNetworkConfiguration @ 1075 NONAME
+ _ZN28QNetworkConfigurationManager20configurationRemovedERK21QNetworkConfiguration @ 1076 NONAME
+ _ZN28QNetworkConfigurationManager20updateConfigurationsEv @ 1077 NONAME
+ _ZN28QNetworkConfigurationManagerC1EP7QObject @ 1078 NONAME
+ _ZN28QNetworkConfigurationManagerC2EP7QObject @ 1079 NONAME
+ _ZN28QNetworkConfigurationManagerD0Ev @ 1080 NONAME
+ _ZN28QNetworkConfigurationManagerD1Ev @ 1081 NONAME
+ _ZN28QNetworkConfigurationManagerD2Ev @ 1082 NONAME
+ _ZN35QNetworkConfigurationManagerPrivate11pollEnginesEv @ 1083 NONAME
+ _ZN35QNetworkConfigurationManagerPrivate11qt_metacallEN11QMetaObject4CallEiPPv @ 1084 NONAME
+ _ZN35QNetworkConfigurationManagerPrivate11qt_metacastEPKc @ 1085 NONAME
+ _ZN35QNetworkConfigurationManagerPrivate12capabilitiesEv @ 1086 NONAME
+ _ZN35QNetworkConfigurationManagerPrivate12startPollingEv @ 1087 NONAME
+ _ZN35QNetworkConfigurationManagerPrivate13enablePollingEv @ 1088 NONAME
+ _ZN35QNetworkConfigurationManagerPrivate14disablePollingEv @ 1089 NONAME
+ _ZN35QNetworkConfigurationManagerPrivate16staticMetaObjectE @ 1090 NONAME DATA 16
+ _ZN35QNetworkConfigurationManagerPrivate17allConfigurationsE6QFlagsIN21QNetworkConfiguration9StateFlagEE @ 1091 NONAME
+ _ZN35QNetworkConfigurationManagerPrivate18configurationAddedE28QExplicitlySharedDataPointerI28QNetworkConfigurationPrivateE @ 1092 NONAME
+ _ZN35QNetworkConfigurationManagerPrivate18configurationAddedERK21QNetworkConfiguration @ 1093 NONAME
+ _ZN35QNetworkConfigurationManagerPrivate18onlineStateChangedEb @ 1094 NONAME
+ _ZN35QNetworkConfigurationManagerPrivate19getStaticMetaObjectEv @ 1095 NONAME
+ _ZN35QNetworkConfigurationManagerPrivate20configurationChangedE28QExplicitlySharedDataPointerI28QNetworkConfigurationPrivateE @ 1096 NONAME
+ _ZN35QNetworkConfigurationManagerPrivate20configurationChangedERK21QNetworkConfiguration @ 1097 NONAME
+ _ZN35QNetworkConfigurationManagerPrivate20configurationRemovedE28QExplicitlySharedDataPointerI28QNetworkConfigurationPrivateE @ 1098 NONAME
+ _ZN35QNetworkConfigurationManagerPrivate20configurationRemovedERK21QNetworkConfiguration @ 1099 NONAME
+ _ZN35QNetworkConfigurationManagerPrivate20defaultConfigurationEv @ 1100 NONAME
+ _ZN35QNetworkConfigurationManagerPrivate20updateConfigurationsEv @ 1101 NONAME
+ _ZN35QNetworkConfigurationManagerPrivate27configurationFromIdentifierERK7QString @ 1102 NONAME
+ _ZN35QNetworkConfigurationManagerPrivate27configurationUpdateCompleteEv @ 1103 NONAME
+ _ZN35QNetworkConfigurationManagerPrivate31performAsyncConfigurationUpdateEv @ 1104 NONAME
+ _ZN35QNetworkConfigurationManagerPrivate5abortEv @ 1105 NONAME
+ _ZN35QNetworkConfigurationManagerPrivate7enginesEv @ 1106 NONAME
+ _ZN35QNetworkConfigurationManagerPrivate8isOnlineEv @ 1107 NONAME
+ _ZN35QNetworkConfigurationManagerPrivateC1Ev @ 1108 NONAME
+ _ZN35QNetworkConfigurationManagerPrivateC2Ev @ 1109 NONAME
+ _ZN35QNetworkConfigurationManagerPrivateD0Ev @ 1110 NONAME
+ _ZN35QNetworkConfigurationManagerPrivateD1Ev @ 1111 NONAME
+ _ZN35QNetworkConfigurationManagerPrivateD2Ev @ 1112 NONAME
+ _ZNK13QBearerEngine10metaObjectEv @ 1113 NONAME
+ _ZNK13QBearerEngine15requiresPollingEv @ 1114 NONAME
+ _ZNK13QBearerEngine19configurationsInUseEv @ 1115 NONAME
+ _ZNK13QNetworkReply14rawHeaderPairsEv @ 1116 NONAME
+ _ZNK15QNetworkRequest8priorityEv @ 1117 NONAME
+ _ZNK15QNetworkSession10activeTimeEv @ 1118 NONAME
+ _ZNK15QNetworkSession10metaObjectEv @ 1119 NONAME
+ _ZNK15QNetworkSession11errorStringEv @ 1120 NONAME
+ _ZNK15QNetworkSession12bytesWrittenEv @ 1121 NONAME
+ _ZNK15QNetworkSession13bytesReceivedEv @ 1122 NONAME
+ _ZNK15QNetworkSession13configurationEv @ 1123 NONAME
+ _ZNK15QNetworkSession15sessionPropertyERK7QString @ 1124 NONAME
+ _ZNK15QNetworkSession5errorEv @ 1125 NONAME
+ _ZNK15QNetworkSession5stateEv @ 1126 NONAME
+ _ZNK15QNetworkSession6isOpenEv @ 1127 NONAME
+ _ZNK15QNetworkSession9interfaceEv @ 1128 NONAME
+ _ZNK19QBearerEnginePlugin10metaObjectEv @ 1129 NONAME
+ _ZNK21QNetworkAccessManager13configurationEv @ 1130 NONAME
+ _ZNK21QNetworkAccessManager17networkAccessibleEv @ 1131 NONAME
+ _ZNK21QNetworkAccessManager19activeConfigurationEv @ 1132 NONAME
+ _ZNK21QNetworkConfiguration10bearerNameEv @ 1133 NONAME
+ _ZNK21QNetworkConfiguration10identifierEv @ 1134 NONAME
+ _ZNK21QNetworkConfiguration18isRoamingAvailableEv @ 1135 NONAME
+ _ZNK21QNetworkConfiguration4nameEv @ 1136 NONAME
+ _ZNK21QNetworkConfiguration4typeEv @ 1137 NONAME
+ _ZNK21QNetworkConfiguration5stateEv @ 1138 NONAME
+ _ZNK21QNetworkConfiguration7isValidEv @ 1139 NONAME
+ _ZNK21QNetworkConfiguration7purposeEv @ 1140 NONAME
+ _ZNK21QNetworkConfiguration8childrenEv @ 1141 NONAME
+ _ZNK21QNetworkConfigurationeqERKS_ @ 1142 NONAME
+ _ZNK22QNetworkSessionPrivate10metaObjectEv @ 1143 NONAME
+ _ZNK28QNetworkConfigurationManager10metaObjectEv @ 1144 NONAME
+ _ZNK28QNetworkConfigurationManager12capabilitiesEv @ 1145 NONAME
+ _ZNK28QNetworkConfigurationManager17allConfigurationsE6QFlagsIN21QNetworkConfiguration9StateFlagEE @ 1146 NONAME
+ _ZNK28QNetworkConfigurationManager20defaultConfigurationEv @ 1147 NONAME
+ _ZNK28QNetworkConfigurationManager27configurationFromIdentifierERK7QString @ 1148 NONAME
+ _ZNK28QNetworkConfigurationManager8isOnlineEv @ 1149 NONAME
+ _ZNK35QNetworkConfigurationManagerPrivate10metaObjectEv @ 1150 NONAME
+ _ZTI13QBearerEngine @ 1151 NONAME
+ _ZTI15QNetworkSession @ 1152 NONAME
+ _ZTI19QBearerEnginePlugin @ 1153 NONAME
+ _ZTI22QNetworkSessionPrivate @ 1154 NONAME
+ _ZTI28QNetworkConfigurationManager @ 1155 NONAME
+ _ZTI29QBearerEngineFactoryInterface @ 1156 NONAME
+ _ZTI35QNetworkConfigurationManagerPrivate @ 1157 NONAME
+ _ZTV13QBearerEngine @ 1158 NONAME
+ _ZTV15QNetworkSession @ 1159 NONAME
+ _ZTV19QBearerEnginePlugin @ 1160 NONAME
+ _ZTV22QNetworkSessionPrivate @ 1161 NONAME
+ _ZTV28QNetworkConfigurationManager @ 1162 NONAME
+ _ZTV35QNetworkConfigurationManagerPrivate @ 1163 NONAME
+ _ZThn8_N19QBearerEnginePluginD0Ev @ 1164 NONAME
+ _ZThn8_N19QBearerEnginePluginD1Ev @ 1165 NONAME
diff --git a/src/s60installs/eabi/QtOpenVGu.def b/src/s60installs/eabi/QtOpenVGu.def
index 5db9dced9f..15fda9abc6 100644
--- a/src/s60installs/eabi/QtOpenVGu.def
+++ b/src/s60installs/eabi/QtOpenVGu.def
@@ -196,9 +196,9 @@ EXPORTS
_ZN13QVGPixmapData19detachImageFromPoolEv @ 195 NONAME
_ZTI12QVGImagePool @ 196 NONAME
_ZTV12QVGImagePool @ 197 NONAME
- _ZN14QVGPaintEngine16drawCachedGlyphsEiPKjRK5QFontP11QFontEngineRK7QPointF @ 198 NONAME
- _ZN14QVGPaintEngine18drawStaticTextItemEP15QStaticTextItem @ 199 NONAME
- _ZN14QVGPaintEngine19drawPixmapFragmentsEPKN8QPainter14PixmapFragmentEiRK7QPixmap6QFlagsINS0_18PixmapFragmentHintEE @ 200 NONAME
- _ZN25QVGEGLWindowSurfaceDirect6scrollEP7QWidgetRK7QRegionii @ 201 NONAME
- _ZNK25QVGEGLWindowSurfaceDirect22supportsStaticContentsEv @ 202 NONAME
+ _ZN25QVGEGLWindowSurfaceDirect6scrollEP7QWidgetRK7QRegionii @ 198 NONAME
+ _ZNK25QVGEGLWindowSurfaceDirect22supportsStaticContentsEv @ 199 NONAME
+ _ZN14QVGPaintEngine16drawCachedGlyphsEiPKjRK5QFontP11QFontEngineRK7QPointFPK11QFixedPoint @ 200 NONAME
+ _ZN14QVGPaintEngine18drawStaticTextItemEP15QStaticTextItem @ 201 NONAME
+ _ZN14QVGPaintEngine19drawPixmapFragmentsEPKN8QPainter14PixmapFragmentEiRK7QPixmap6QFlagsINS0_18PixmapFragmentHintEE @ 202 NONAME
diff --git a/src/s60installs/qsymbianbearer.qtplugin b/src/s60installs/qsymbianbearer.qtplugin
new file mode 100644
index 0000000000..5c45bdd69e
--- /dev/null
+++ b/src/s60installs/qsymbianbearer.qtplugin
@@ -0,0 +1 @@
+This file is a Qt plugin stub file. The real Qt plugin is located in /sys/bin. Created:2010-06-02T14:02:21
diff --git a/src/s60installs/qt.iby b/src/s60installs/qt.iby
index ec019e2d73..f43f344c1b 100644
--- a/src/s60installs/qt.iby
+++ b/src/s60installs/qt.iby
@@ -74,6 +74,21 @@ data=\epoc32\data\z\resource\qt\plugins\codecs\qtwcodecs.qtplugin resou
// iconengines stubs
data=\epoc32\data\z\resource\qt\plugins\iconengines\qsvgicon.qtplugin resource\qt\plugins\iconengines\qsvgicon.qtplugin
+// qml import plugins
+file=ABI_DIR\BUILD_DIR\qmlwebkitplugin.dll SHARED_LIB_DIR\qmlwebkitplugin.dll
+file=ABI_DIR\BUILD_DIR\qmlfolderlistmodelplugin.dll SHARED_LIB_DIR\qmlfolderlistmodelplugin.dll
+file=ABI_DIR\BUILD_DIR\qmlgesturesplugin.dll SHARED_LIB_DIR\qmlgesturesplugin.dll
+file=ABI_DIR\BUILD_DIR\qmlparticlesplugin.dll SHARED_LIB_DIR\qmlparticlesplugin.dll
+
+data=\epoc32\data\z\resource\qt\imports\org\webkit\qmlwebkitplugin.qtplugin resource\qt\imports\org\webkit\qmlwebkitplugin.qtplugin
+data=\epoc32\data\z\resource\qt\imports\Qt\labs\folderlistmodel\qmlfolderlistmodelplugin.qtplugin resource\qt\imports\Qt\labs\folderlistmodel\qmlfolderlistmodelplugin.qtplugin
+data=\epoc32\data\z\resource\qt\imports\Qt\labs\gestures\qmlgesturesplugin.qtplugin resource\qt\imports\Qt\labs\gestures\qmlgesturesplugin.qtplugin
+data=\epoc32\data\z\resource\qt\imports\Qt\labs\particles\qmlparticlesplugin.qtplugin resource\qt\imports\Qt\labs\particles\qmlparticlesplugin.qtplugin
+
+data=\epoc32\data\z\resource\qt\imports\org\webkit\qmldir resource\qt\imports\org\webkit\qmldir
+data=\epoc32\data\z\resource\qt\imports\Qt\labs\folderlistmodel\qmldir resource\qt\imports\Qt\labs\folderlistmodel\qmldir
+data=\epoc32\data\z\resource\qt\imports\Qt\labs\gestures\qmldir resource\qt\imports\Qt\labs\gestures\qmldir
+data=\epoc32\data\z\resource\qt\imports\Qt\labs\particles\qmldir resource\qt\imports\Qt\labs\particles\qmldir
// QtMultimedia audio backend
data=\epoc32\data\qt\qtlibspluginstubs\qaudio.qtplugin resource\qt\plugins\audio\qaudio.qtplugin
diff --git a/src/s60installs/qt.svg b/src/s60installs/qt.svg
index 6230adac6f..566acfada0 100644
--- a/src/s60installs/qt.svg
+++ b/src/s60installs/qt.svg
@@ -1,17 +1,93 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1 Tiny//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11-tiny.dtd">
-<svg xmlns="http://www.w3.org/2000/svg" baseProfile="tiny" height="146.3063" version="1.0" viewBox="0 0 122 146" width="121.60006">
-<g transform="translate(-376.34283,-407.78046)">
-<g transform="matrix(0.697424,0,0,0.697424,376.34283,407.78046)">
-<path d="M 43.086,0.358597 C 40.9414,0.00358582 38.8399,-0.0824127 36.8086,0.0775909 L 36.8047,0.0735931 C 36.8047,0.0735931 22.9219,1.01859 22.2891,1.0696 C 9.6211,2.08159 0,12.5036 0,26.8896 L 0,196.554 L 14.1914,209.781 L 156.789,185.816 C 166.606,184.113 174.356,172.538 174.356,160.038 L 174.356,21.8786 L 43.086,0.358597 z" style="fill:#006225;fill-rule:evenodd;stroke:none"/>
-<path d="M 174.356,160.042 C 174.356,172.538 166.606,184.113 156.789,185.816 L 14.1914,209.781 L 14.1914,25.9916 C 14.1914,9.2726 27.5313,-2.20741 43.086,0.358597 L 174.356,21.8786 L 174.356,160.042 z" style="fill:#80c342;fill-rule:evenodd;stroke:none"/>
-<path d="M 130.422,45.9136 L 141.938,47.1516 L 141.938,67.3626 L 154.899,68.2766 L 154.899,80.9566 L 141.938,80.3586 L 141.938,126.691 C 141.938,130.723 142.383,133.316 143.278,134.48 C 144.078,135.547 145.324,136.074 146.988,136.074 C 147.149,136.074 147.317,136.07 147.485,136.058 C 150.035,135.91 152.805,135.125 155.828,133.75 L 155.828,145.398 C 150.692,147.656 145.653,148.996 140.703,149.418 C 139.985,149.473 139.293,149.504 138.625,149.504 C 134.145,149.504 130.719,148.203 128.379,145.57 C 125.649,142.519 124.289,137.621 124.289,130.898 L 124.289,79.5426 L 118.063,79.2576 L 118.063,65.6716 L 125.649,66.2186 L 130.422,45.9136 z" style="fill:#ffffff;fill-rule:evenodd;stroke:none"/>
-<path d="M 154.899,80.9566 L 141.938,80.3586 L 141.938,80.6366 L 148.883,80.9566 L 154.899,80.9566 z" style="fill:#006225;fill-rule:evenodd;stroke:none"/>
-<path d="M 144.637,135.598 C 145.297,135.926 146.067,136.074 146.988,136.074 C 147.149,136.074 147.317,136.07 147.485,136.058 C 150.035,135.91 152.805,135.125 155.828,133.75 L 149.813,133.75 C 147.992,134.582 146.281,135.207 144.637,135.598 z" style="fill:#006225;fill-rule:evenodd;stroke:none"/>
-<path d="M 128.379,145.57 C 125.649,142.519 124.289,137.621 124.289,130.898 L 124.289,79.5426 L 118.063,79.2576 L 118.063,65.6716 L 112.047,65.6716 L 112.047,68.7066 C 112.918,71.9796 113.602,75.5266 114.11,79.3506 L 118.274,79.5426 L 118.274,130.898 C 118.274,137.621 119.641,142.519 122.364,145.57 C 124.707,148.203 128.129,149.504 132.61,149.504 L 138.625,149.504 C 134.145,149.504 130.719,148.203 128.379,145.57 z M 130.422,45.9136 L 124.406,45.9136 L 119.738,65.7966 L 125.649,66.2186 L 130.422,45.9136 z" style="fill:#006225;fill-rule:evenodd;stroke:none"/>
-<path d="M 91.1528,132.406 C 93.5038,126.355 94.6638,114.492 94.6638,96.7886 C 94.6638,80.8976 93.5158,69.9726 91.1798,63.9756 C 88.8438,57.9486 85.3478,54.6946 80.6598,54.2846 C 80.3008,54.2536 79.9458,54.2336 79.6018,54.2336 C 75.2618,54.2336 71.9218,56.7686 69.5938,61.8586 C 67.0738,67.4016 65.8008,78.8976 65.8008,96.2966 C 65.8008,113.113 67.0388,125.047 69.5348,132.051 C 71.8908,138.723 75.4138,142.027 80.0388,142.027 C 80.2458,142.027 80.4488,142.019 80.6598,142.008 C 85.2928,141.715 88.7808,138.512 91.1528,132.406 M 109.129,136.156 C 105.012,145.863 98.7348,152.214 90.1408,155.156 C 91.0078,159.605 92.3168,162.597 94.0628,164.175 C 95.4138,165.386 97.4958,165.996 100.285,165.996 C 101.09,165.996 101.953,165.941 102.875,165.839 L 102.875,178.964 L 96.9138,179.746 C 95.1558,179.976 93.4878,180.089 91.9098,180.089 C 86.6918,180.089 82.4648,178.824 79.2888,176.265 C 75.0818,172.886 71.9808,166.371 69.9918,156.73 C 60.8555,154.785 53.7344,148.976 48.8008,139.226 C 43.7969,129.324 41.25,114.836 41.25,95.8866 C 41.25,75.4566 44.7344,60.3786 51.5938,50.8156 C 57.3828,42.7456 65.4568,38.7766 75.6168,38.7766 C 77.2458,38.7766 78.9258,38.8786 80.6598,39.0816 C 92.6138,40.4566 101.278,46.0976 106.918,55.8706 C 112.453,65.4326 115.172,79.1366 115.172,97.1326 C 115.172,113.617 113.172,126.582 109.129,136.156 z" style="fill:#ffffff;fill-rule:evenodd;stroke:none"/>
-<path d="M 100.281,165.996 C 101.09,165.996 101.953,165.941 102.871,165.839 L 98.0348,165.839 C 98.7108,165.945 99.4878,165.996 100.281,165.996 z" style="fill:#006225;fill-rule:evenodd;stroke:none"/>
-<path d="M 84.8518,63.9756 C 87.1878,69.9726 88.3358,80.8976 88.3358,96.7886 C 88.3358,114.492 87.1758,126.355 84.8238,132.406 C 82.9298,137.285 80.2968,140.308 76.9608,141.476 C 77.9258,141.844 78.9528,142.027 80.0388,142.027 C 80.2458,142.027 80.4488,142.019 80.6598,142.008 C 85.2928,141.715 88.7808,138.512 91.1528,132.406 C 93.5038,126.355 94.6638,114.492 94.6638,96.7886 C 94.6638,80.8976 93.5158,69.9726 91.1798,63.9756 C 88.8438,57.9486 85.3478,54.6946 80.6598,54.2846 C 80.3008,54.2536 79.9458,54.2336 79.6018,54.2336 C 78.5118,54.2336 77.4848,54.3936 76.5198,54.7146 L 76.5198,54.7146 L 76.5158,54.7146 C 80.1168,55.8356 82.8948,58.9296 84.8518,63.9756 z M 82.5078,178.253 C 82.3948,178.203 82.2808,178.148 82.1718,178.093 C 82.1598,178.089 82.1488,178.081 82.1368,178.078 C 82.0348,178.027 81.9298,177.972 81.8278,177.921 C 81.8088,177.91 81.7888,177.902 81.7698,177.89 C 81.6798,177.839 81.5858,177.792 81.4918,177.742 C 81.4648,177.726 81.4378,177.706 81.4058,177.691 C 81.3238,177.648 81.2418,177.601 81.1638,177.554 C 81.1248,177.531 81.0858,177.507 81.0508,177.484 C 80.9808,177.445 80.9058,177.402 80.8358,177.359 C 80.7888,177.328 80.7418,177.3 80.6958,177.269 C 80.6368,177.23 80.5778,177.195 80.5198,177.156 C 80.4608,177.117 80.4058,177.081 80.3518,177.042 C 80.3008,177.011 80.2498,176.976 80.2028,176.945 C 80.1368,176.898 80.0708,176.851 80.0078,176.808 C 79.9688,176.781 79.9298,176.753 79.8948,176.726 C 79.8168,176.671 79.7418,176.613 79.6638,176.554 C 79.6408,176.538 79.6138,176.519 79.5858,176.499 C 79.4878,176.421 79.3868,176.343 79.2888,176.265 C 75.0818,172.886 71.9808,166.371 69.9918,156.73 C 60.8555,154.785 53.7344,148.976 48.8008,139.226 C 43.7969,129.324 41.25,114.836 41.25,95.8866 C 41.25,75.4566 44.7344,60.3786 51.5938,50.8156 C 57.3828,42.7456 65.4568,38.7766 75.6168,38.7766 C 75.6528,38.7766 69.2658,38.7766 69.2658,38.7766 L 69.2658,38.7766 C 59.1172,38.7846 51.0508,42.7536 45.2656,50.8156 C 38.4102,60.3786 34.9219,75.4566 34.9219,95.8866 C 34.9219,114.836 37.4688,129.324 42.4727,139.226 C 47.4063,148.976 54.5274,154.785 63.6638,156.73 C 65.6528,166.371 68.7538,172.886 72.9608,176.265 C 76.1368,178.824 80.3638,180.089 85.5858,180.089 C 85.6838,180.089 85.7848,180.089 85.8828,180.085 L 91.4218,180.085 C 88.0158,180.035 85.0388,179.425 82.5158,178.257 C 82.5158,178.257 82.5118,178.257 82.5078,178.253 z" style="fill:#006225;fill-rule:evenodd;stroke:none"/>
-</g>
-</g>
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ height="44px"
+ version="1.1"
+ viewBox="0 0 44 44"
+ width="44px"
+ x="0px"
+ y="0px"
+ id="svg2"
+ inkscape:version="0.47 r22583"
+ sodipodi:docname="qt.svg">
+ <metadata
+ id="metadata18">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <defs
+ id="defs16">
+ <inkscape:perspective
+ sodipodi:type="inkscape:persp3d"
+ inkscape:vp_x="0 : 22 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_z="44 : 22 : 1"
+ inkscape:persp3d-origin="22 : 14.666667 : 1"
+ id="perspective2836" />
+ </defs>
+ <sodipodi:namedview
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1"
+ objecttolerance="10"
+ gridtolerance="10"
+ guidetolerance="10"
+ inkscape:pageopacity="0"
+ inkscape:pageshadow="2"
+ inkscape:window-width="1920"
+ inkscape:window-height="1020"
+ id="namedview14"
+ showgrid="false"
+ inkscape:zoom="21.454545"
+ inkscape:cx="49.412871"
+ inkscape:cy="21.894358"
+ inkscape:window-x="-4"
+ inkscape:window-y="-4"
+ inkscape:window-maximized="1"
+ inkscape:current-layer="g3" />
+ <g
+ transform="matrix(0.18308778,0,0,0.18308778,6.6100946,3.2385199)"
+ id="g3">
+ <path
+ d="M 43.09,0.3586 C 40.94,0.0036 38.84,-0.0824 36.81,0.0776 31.968136,0.39505671 27.122677,0.73638425 22.28,1.0696 9.62,2.0816 0,12.4996 0,26.8896 l 0,169.7 14.19,13.2 28.87,-209.42 0.03,-0.011 z"
+ style="fill:#006225"
+ id="path5"
+ sodipodi:nodetypes="cccccccc" />
+ <path
+ d="m 174.4,160 c 0,12.5 -7.75,24.07 -17.57,25.77 L 14.23,209.73 V 25.93 C 14.23,9.21 27.57,-2.27 43.12,0.3 l 131.3,21.52 v 138.2 z"
+ style="fill:#80c342"
+ id="path7" />
+ <path
+ d="m 154.9,80.96 -12.96,-0.598 0,0.278 6.945,0.32 6.016,0 z"
+ style="fill:#006225"
+ id="path11" />
+ <path
+ d="m 144.6,135.6 c 0.66,0.328 1.43,0.476 2.351,0.476 0.161,0 0.329,-0.004 0.497,-0.016 2.55,-0.148 5.32,-0.933 8.343,-2.308 h -6.015 c -1.821,0.832 -3.532,1.457 -5.176,1.848 z"
+ style="fill:#006225"
+ id="path13" />
+ <path
+ id="path17"
+ style="fill:#ffffff"
+ d="m 91.15,132.4 c 2.351,-6.051 3.511,-17.91 3.511,-35.62 0,-15.89 -1.148,-26.82 -3.484,-32.81 -2.336,-6.027 -5.832,-9.281 -10.52,-9.691 -0.359,-0.031 -0.714,-0.051 -1.058,-0.051 -4.34,0 -7.68,2.535 -10.01,7.625 -2.52,5.543 -3.793,17.04 -3.793,34.44 0,16.82 1.238,28.75 3.734,35.75 2.356,6.672 5.879,9.976 10.5,9.976 0.207,0 0.41,-0.008 0.621,-0.019 4.633,-0.293 8.121,-3.496 10.49,-9.602 m 17.98,3.75 c -4.117,9.707 -10.39,16.06 -18.99,19 0.867,4.449 2.176,7.441 3.922,9.019 1.351,1.211 3.433,1.821 6.222,1.821 0.805,0 1.668,-0.055 2.59,-0.157 v 13.12 l -5.961,0.782 c -1.758,0.23 -3.426,0.343 -5.004,0.343 -5.218,0 -9.445,-1.265 -12.62,-3.824 -4.207,-3.379 -7.308,-9.894 -9.297,-19.54 -9.136,-1.945 -16.26,-7.754 -21.19,-17.5 -5.004,-9.902 -7.551,-24.39 -7.551,-43.34 0,-20.43 3.484,-35.51 10.34,-45.07 5.789,-8.07 13.86,-12.04 24.02,-12.04 1.629,0 3.309,0.102 5.043,0.305 11.95,1.375 20.62,7.016 26.26,16.79 5.535,9.562 8.254,23.27 8.254,41.26 0,16.48 -2,29.45 -6.043,39.02 z M 130.4,45.91 l 11.52,1.238 0,20.21 12.96,0.914 0,12.68 -12.96,-0.598 0,46.33 c 0,4.032 0.445,6.625 1.34,7.789 0.8,1.067 2.046,1.594 3.71,1.594 0.161,0 0.329,-0.004 0.497,-0.016 2.55,-0.148 5.32,-0.933 8.343,-2.308 v 11.65 c -5.136,2.258 -10.18,3.598 -15.12,4.02 -0.718,0.055 -1.41,0.086 -2.078,0.086 -4.48,0 -7.906,-1.301 -10.25,-3.934 -2.73,-3.051 -4.09,-7.949 -4.09,-14.67 V 79.535 L 118.046,79.25 V 65.66 l 7.586,0.547 4.773,-20.3 z" />
+ <path
+ d="m 100.3,166 c 0.809,0 1.672,-0.055 2.59,-0.157 H 98.054 C 98.73,165.949 99.507,166 100.3,166 z"
+ style="fill:#006225"
+ id="path19" />
+ <path
+ id="path21"
+ style="fill:#006225"
+ d="m 84.85,63.98 c 2.336,5.997 3.484,16.92 3.484,32.81 0,17.7 -1.16,29.57 -3.512,35.62 -1.894,4.879 -4.527,7.902 -7.863,9.07 0.965,0.368 1.992,0.551 3.078,0.551 0.207,0 0.41,-0.008 0.621,-0.019 4.633,-0.293 8.121,-3.496 10.49,-9.602 2.351,-6.051 3.511,-17.91 3.511,-35.62 0,-15.89 -1.148,-26.82 -3.484,-32.81 -2.336,-6.027 -5.832,-9.281 -10.52,-9.691 -0.359,-0.031 -0.714,-0.051 -1.058,-0.051 -1.09,0 -2.117,0.16 -3.082,0.481 h -0.004 c 3.601,1.121 6.379,4.215 8.336,9.261 z m -2.344,114.3 c -0.113,-0.05 -0.227,-0.105 -0.336,-0.16 -0.012,-0.004 -0.023,-0.012 -0.035,-0.015 -0.102,-0.051 -0.207,-0.106 -0.309,-0.157 -0.019,-0.011 -0.039,-0.019 -0.058,-0.031 -0.09,-0.051 -0.184,-0.098 -0.278,-0.148 -0.027,-0.016 -0.054,-0.036 -0.086,-0.051 -0.082,-0.043 -0.164,-0.09 -0.242,-0.137 -0.039,-0.023 -0.078,-0.047 -0.113,-0.07 -0.07,-0.039 -0.145,-0.082 -0.215,-0.125 -0.047,-0.031 -0.094,-0.059 -0.14,-0.09 -0.059,-0.039 -0.118,-0.074 -0.176,-0.113 -0.059,-0.039 -0.114,-0.075 -0.168,-0.114 -0.051,-0.031 -0.102,-0.066 -0.149,-0.097 -0.066,-0.047 -0.132,-0.094 -0.195,-0.137 -0.039,-0.027 -0.078,-0.055 -0.113,-0.082 -0.078,-0.055 -0.153,-0.113 -0.231,-0.172 -0.023,-0.016 -0.05,-0.035 -0.078,-0.055 -0.098,-0.078 -0.199,-0.156 -0.297,-0.234 -4.207,-3.379 -7.308,-9.894 -9.297,-19.54 -9.136,-1.945 -16.26,-7.754 -21.19,-17.5 -5.004,-9.902 -7.551,-24.39 -7.551,-43.34 0,-20.43 3.484,-35.51 10.34,-45.07 5.789,-8.07 13.86,-12.04 24.02,-12.04 h -6.351 c -10.15,0.008 -18.22,3.977 -24,12.04 -6.855,9.563 -10.34,24.64 -10.34,45.07 0,18.95 2.547,33.44 7.551,43.34 4.934,9.75 12.05,15.56 21.19,17.5 1.989,9.641 5.09,16.16 9.297,19.54 3.176,2.559 7.403,3.824 12.62,3.824 0.098,0 0.199,0 0.297,-0.004 h 5.539 c -3.406,-0.05 -6.383,-0.66 -8.906,-1.828 L 82.498,178.28 z M 128.4,145.6 c -2.73,-3.051 -4.09,-7.949 -4.09,-14.67 V 79.57 l -6.226,-0.285 v -13.59 h -6.016 v 3.035 c 0.871,3.273 1.555,6.82 2.063,10.64 l 4.164,0.192 v 51.36 c 0,6.723 1.367,11.62 4.09,14.67 2.343,2.633 5.765,3.934 10.25,3.934 h 6.015 c -4.48,0 -7.906,-1.301 -10.25,-3.934 z m 2.043,-99.66 -6.016,0 -4.668,19.88 5.911,0.422 4.773,-20.3 z" />
+ </g>
</svg>
diff --git a/src/s60installs/s60installs.pro b/src/s60installs/s60installs.pro
index dfd26948b3..6d8513e99a 100644
--- a/src/s60installs/s60installs.pro
+++ b/src/s60installs/s60installs.pro
@@ -11,21 +11,24 @@ symbian: {
isEmpty(QT_LIBINFIX) {
TARGET.UID3 = 0x2001E61C
-
- # sqlite3 is expected to be already found on phone if infixed configuration is built.
- BLD_INF_RULES.prj_exports += \
- "sqlite3.sis $${EPOCROOT}epoc32/data/qt/sis/sqlite3.sis" \
- "sqlite3_selfsigned.sis $${EPOCROOT}epoc32/data/qt/sis/sqlite3_selfsigned.sis"
- symbian-abld|symbian-sbsv2 {
- sqlitedeployment = \
- "; Deploy sqlite onto phone that does not have it already" \
- "@\"$${EPOCROOT}epoc32/data/qt/sis/sqlite3.sis\", (0x2002af5f)"
- } else {
- sqlitedeployment = \
- "; Deploy sqlite onto phone that does not have it already" \
- "@\"$${PWD}/sqlite3.sis\", (0x2002af5f)"
+
+ # Sqlite3 is expected to be already found on phone if infixed configuration is built.
+ # It is also expected that devices newer than those based on S60 5.0 all have sqlite3.dll.
+ contains(S60_VERSION, 3.1)|contains(S60_VERSION, 3.2)|contains(S60_VERSION, 5.0) {
+ BLD_INF_RULES.prj_exports += \
+ "sqlite3.sis /epoc32/data/qt/sis/sqlite3.sis" \
+ "sqlite3_selfsigned.sis /epoc32/data/qt/sis/sqlite3_selfsigned.sis"
+ symbian-abld|symbian-sbsv2 {
+ sqlitedeployment = \
+ "; Deploy sqlite onto phone that does not have it already" \
+ "@\"$${EPOCROOT}epoc32/data/qt/sis/sqlite3.sis\", (0x2002af5f)"
+ } else {
+ sqlitedeployment = \
+ "; Deploy sqlite onto phone that does not have it already" \
+ "@\"$${PWD}/sqlite3.sis\", (0x2002af5f)"
+ }
+ qtlibraries.pkg_postrules += sqlitedeployment
}
- qtlibraries.pkg_postrules += sqlitedeployment
} else {
# Always use experimental UID for infixed configuration to avoid UID clash
TARGET.UID3 = 0xE001E61C
@@ -51,20 +54,35 @@ symbian: {
symbian-abld|symbian-sbsv2 {
pluginLocations = $${EPOCROOT}epoc32/release/$(PLATFORM)/$(TARGET)
+ bearerPluginLocation = $${EPOCROOT}epoc32/release/$(PLATFORM)/$(TARGET)
+ bearerStubZ = $${EPOCROOT}$${HW_ZDIR}$${QT_PLUGINS_BASE_DIR}/bearer/qsymbianbearer$${QT_LIBINFIX}.qtplugin
+ BLD_INF_RULES.prj_exports += \
+ "qsymbianbearer.qtplugin $$bearerStubZ" \
+ "qsymbianbearer.qtplugin $${EPOCROOT}epoc32/winscw/c$${QT_PLUGINS_BASE_DIR}/bearer/qsymbianbearer$${QT_LIBINFIX}.qtplugin"
} else {
pluginLocations = $$QT_BUILD_TREE/plugins/s60
+ bearerPluginLocation = $$QT_BUILD_TREE/plugins/bearer
+ bearerStubZ = $${PWD}/qsymbianbearer.qtplugin
}
qts60plugindeployment = \
- "IF package(0x1028315F)" \
+ "IF package(0x20022E6D)" \
" \"$$pluginLocations/qts60plugin_5_0$${QT_LIBINFIX}.dll\" - \"c:\\sys\\bin\\qts60plugin_5_0$${QT_LIBINFIX}.dll\"" \
+ " \"$$bearerPluginLocation/qsymbianbearer$${QT_LIBINFIX}.dll\" - \"c:\\sys\\bin\\qsymbianbearer$${QT_LIBINFIX}.dll\"" \
+ "ELSEIF package(0x1028315F)" \
+ " \"$$pluginLocations/qts60plugin_5_0$${QT_LIBINFIX}.dll\" - \"c:\\sys\\bin\\qts60plugin_5_0$${QT_LIBINFIX}.dll\"" \
+ " \"$$bearerPluginLocation/qsymbianbearer_3_2$${QT_LIBINFIX}.dll\" - \"c:\\sys\\bin\\qsymbianbearer$${QT_LIBINFIX}.dll\"" \
"ELSEIF package(0x102752AE)" \
" \"$$pluginLocations/qts60plugin_3_2$${QT_LIBINFIX}.dll\" - \"c:\\sys\\bin\\qts60plugin_3_2$${QT_LIBINFIX}.dll\"" \
+ " \"$$bearerPluginLocation/qsymbianbearer_3_2$${QT_LIBINFIX}.dll\" - \"c:\\sys\\bin\\qsymbianbearer$${QT_LIBINFIX}.dll\"" \
"ELSEIF package(0x102032BE)" \
" \"$$pluginLocations/qts60plugin_3_1$${QT_LIBINFIX}.dll\" - \"c:\\sys\\bin\\qts60plugin_3_1$${QT_LIBINFIX}.dll\"" \
+ " \"$$bearerPluginLocation/qsymbianbearer_3_1$${QT_LIBINFIX}.dll\" - \"c:\\sys\\bin\\qsymbianbearer$${QT_LIBINFIX}.dll\"" \
"ELSE" \
" \"$$pluginLocations/qts60plugin_5_0$${QT_LIBINFIX}.dll\" - \"c:\\sys\\bin\\qts60plugin_5_0$${QT_LIBINFIX}.dll\"" \
- "ENDIF"
+ " \"$$bearerPluginLocation/qsymbianbearer$${QT_LIBINFIX}.dll\" - \"c:\\sys\\bin\\qsymbianbearer$${QT_LIBINFIX}.dll\"" \
+ "ENDIF" \
+ " \"$$bearerStubZ\" - \"c:$$replace(QT_PLUGINS_BASE_DIR,/,\\)\\bearer\\qsymbianbearer$${QT_LIBINFIX}.qtplugin\"
qtlibraries.pkg_postrules += qts60plugindeployment
@@ -81,12 +99,16 @@ symbian: {
qtlibraries.pkg_prerules = vendorinfo
qtlibraries.pkg_prerules += "; Dependencies of Qt libraries"
- qtlibraries.pkg_prerules += "(0x20013851), 1, 5, 1, {\"PIPS Installer\"}"
- contains(QT_CONFIG, openssl) | contains(QT_CONFIG, openssl-linked) {
- qtlibraries.pkg_prerules += "(0x200110CB), 1, 5, 1, {\"Open C LIBSSL Common\"}"
- }
- contains(CONFIG, stl) {
- qtlibraries.pkg_prerules += "(0x2000F866), 1, 0, 0, {\"Standard C++ Library Common\"}"
+
+ # It is expected that Symbian^3 and newer phones will have sufficiently new OpenC already installed
+ contains(S60_VERSION, 3.1)|contains(S60_VERSION, 3.2)|contains(S60_VERSION, 5.0) {
+ qtlibraries.pkg_prerules += "(0x20013851), 1, 5, 1, {\"PIPS Installer\"}"
+ contains(QT_CONFIG, openssl) | contains(QT_CONFIG, openssl-linked) {
+ qtlibraries.pkg_prerules += "(0x200110CB), 1, 5, 1, {\"Open C LIBSSL Common\"}"
+ }
+ contains(CONFIG, stl) {
+ qtlibraries.pkg_prerules += "(0x2000F866), 1, 0, 0, {\"Standard C++ Library Common\"}"
+ }
}
qtlibraries.pkg_prerules += "(0x2002af5f), 0, 5, 0, {\"sqlite3\"}"
@@ -111,15 +133,11 @@ symbian: {
qtbackup.sources = backup_registration.xml
qtbackup.path = c:/private/10202D56/import/packages/$$replace(TARGET.UID3, 0x,)
- bearer_plugins.path = c:$$QT_PLUGINS_BASE_DIR/bearer
- bearer_plugins.sources += $$QT_BUILD_TREE/plugins/bearer/qsymbianbearer$${QT_LIBINFIX}.dll
-
DEPLOYMENT += qtlibraries \
qtbackup \
imageformats_plugins \
codecs_plugins \
- graphicssystems_plugins \
- bearer_plugins
+ graphicssystems_plugins
contains(QT_CONFIG, svg): {
qtlibraries.sources += $$QMAKE_LIBDIR_QT/QtSvg$${QT_LIBINFIX}.dll
@@ -143,28 +161,45 @@ symbian: {
contains(QT_CONFIG, declarative): {
qtlibraries.sources += $$QMAKE_LIBDIR_QT/QtDeclarative$${QT_LIBINFIX}.dll
+
+ folderlistmodelImport.sources = $$QT_BUILD_TREE/imports/Qt/labs/folderlistmodel/qmlfolderlistmodelplugin$${QT_LIBINFIX}.dll
+ gesturesImport.sources = $$QT_BUILD_TREE/imports/Qt/labs/gestures/qmlgesturesplugin$${QT_LIBINFIX}.dll
+ particlesImport.sources = $$QT_BUILD_TREE/imports/Qt/labs/particles/qmlparticlesplugin$${QT_LIBINFIX}.dll
+
+ folderlistmodelImport.sources += $$QT_SOURCE_TREE/src/imports/folderlistmodel/qmldir
+ gesturesImport.sources += $$QT_SOURCE_TREE/src/imports/gestures/qmldir
+ particlesImport.sources += $$QT_SOURCE_TREE/src/imports/particles/qmldir
+
+ folderlistmodelImport.path = c:$$QT_IMPORTS_BASE_DIR/Qt/labs/folderlistmodel
+ gesturesImport.path = c:$$QT_IMPORTS_BASE_DIR/Qt/labs/gestures
+ particlesImport.path = c:$$QT_IMPORTS_BASE_DIR/Qt/labs/particles
+
+ DEPLOYMENT += folderlistmodelImport gesturesImport particlesImport
+
+ contains(QT_CONFIG, webkit): {
+ webkitImport.sources = $$QT_BUILD_TREE/imports/org/webkit/qmlwebkitplugin$${QT_LIBINFIX}.dll
+ webkitImport.sources += $$QT_SOURCE_TREE/src/imports/webkit/qmldir
+ webkitImport.path = c:$$QT_IMPORTS_BASE_DIR/org/webkit
+ DEPLOYMENT += webkitImport
+ }
}
graphicssystems_plugins.path = c:$$QT_PLUGINS_BASE_DIR/graphicssystems
contains(QT_CONFIG, openvg) {
qtlibraries.sources += $$QMAKE_LIBDIR_QT/QtOpenVG$${QT_LIBINFIX}.dll
graphicssystems_plugins.sources += $$QT_BUILD_TREE/plugins/graphicssystems/qvggraphicssystem$${QT_LIBINFIX}.dll
+ # OpenVG requires Symbian^3 or later
+ pkg_platform_dependencies -= \
+ "[0x101F7961],0,0,0,{\"S60ProductID\"}" \
+ "[0x102032BE],0,0,0,{\"S60ProductID\"}" \
+ "[0x102752AE],0,0,0,{\"S60ProductID\"}" \
+ "[0x1028315F],0,0,0,{\"S60ProductID\"}"
}
- contains(QT_CONFIG, multimedia):contains(QT_CONFIG, mediaservices):contains(QT_CONFIG, media-backend) {
+ contains(QT_CONFIG, multimedia){
qtlibraries.sources += $$QMAKE_LIBDIR_QT/QtMultimedia$${QT_LIBINFIX}.dll
}
- contains(QT_CONFIG, media-backend) {
- qtlibraries.sources += $$QMAKE_LIBDIR_QT/QtMediaServices$${QT_LIBINFIX}.dll
-
- mediaservices_plugins.path = c:$$QT_PLUGINS_BASE_DIR/mediaservices
- mediaservices_plugins.sources += $$QT_BUILD_TREE/plugins/mediaservices/qmmfengine$${QT_LIBINFIX}.dll
-
- DEPLOYMENT += mediaservices_plugins
-
- }
-
BLD_INF_RULES.prj_exports += "qt.iby $$CORE_MW_LAYER_IBY_EXPORT_PATH(qt.iby)"
BLD_INF_RULES.prj_exports += "qtdemoapps.iby $$CUSTOMER_VARIANT_APP_LAYER_IBY_EXPORT_PATH(qtdemoapps.iby)"
}
diff --git a/src/script/api/qscriptcontext.cpp b/src/script/api/qscriptcontext.cpp
index 639af802a9..3f08e749df 100644
--- a/src/script/api/qscriptcontext.cpp
+++ b/src/script/api/qscriptcontext.cpp
@@ -742,6 +742,7 @@ void QScriptContext::pushScope(const QScriptValue &object)
*/
QScriptValue QScriptContext::popScope()
{
+ activationObject(); //ensure the creation of the normal scope for native context
JSC::CallFrame *frame = QScriptEnginePrivate::frameForContext(this);
JSC::ScopeChainNode *scope = frame->scopeChain();
Q_ASSERT(scope != 0);
diff --git a/src/script/api/qscriptengine.cpp b/src/script/api/qscriptengine.cpp
index 03d535c784..e2999c19d5 100644
--- a/src/script/api/qscriptengine.cpp
+++ b/src/script/api/qscriptengine.cpp
@@ -294,9 +294,20 @@ QT_BEGIN_NAMESPACE
This enum specifies the ownership when wrapping a C++ value, e.g. by using newQObject().
- \value QtOwnership The standard Qt ownership rules apply, i.e. the associated object will never be explicitly deleted by the script engine. This is the default. (QObject ownership is explained in \l{Object Trees and Object Ownership}.)
- \value ScriptOwnership The value is owned by the script environment. The associated data will be deleted when appropriate (i.e. after the garbage collector has discovered that there are no more live references to the value).
- \value AutoOwnership If the associated object has a parent, the Qt ownership rules apply (QtOwnership); otherwise, the object is owned by the script environment (ScriptOwnership).
+ \value QtOwnership The standard Qt ownership rules apply, i.e. the
+ associated object will never be explicitly deleted by the script
+ engine. This is the default. (QObject ownership is explained in
+ \l{Object Trees & Ownership}.)
+
+ \value ScriptOwnership The value is owned by the script
+ environment. The associated data will be deleted when appropriate
+ (i.e. after the garbage collector has discovered that there are no
+ more live references to the value).
+
+ \value AutoOwnership If the associated object has a parent, the Qt
+ ownership rules apply (QtOwnership); otherwise, the object is
+ owned by the script environment (ScriptOwnership).
+
*/
/*!
@@ -1000,12 +1011,17 @@ JSC::JSValue QScriptEnginePrivate::arrayFromVariantList(JSC::ExecState *exec, co
return arr;
}
-QVariantList QScriptEnginePrivate::variantListFromArray(JSC::ExecState *exec, JSC::JSValue arr)
+QVariantList QScriptEnginePrivate::variantListFromArray(JSC::ExecState *exec, JSC::JSArray *arr)
{
+ QScriptEnginePrivate *eng = QScript::scriptEngineFromExec(exec);
+ if (eng->visitedConversionObjects.contains(arr))
+ return QVariantList(); // Avoid recursion.
+ eng->visitedConversionObjects.insert(arr);
QVariantList lst;
uint len = toUInt32(exec, property(exec, arr, exec->propertyNames().length));
for (uint i = 0; i < len; ++i)
lst.append(toVariant(exec, property(exec, arr, i)));
+ eng->visitedConversionObjects.remove(arr);
return lst;
}
@@ -1018,14 +1034,19 @@ JSC::JSValue QScriptEnginePrivate::objectFromVariantMap(JSC::ExecState *exec, co
return obj;
}
-QVariantMap QScriptEnginePrivate::variantMapFromObject(JSC::ExecState *exec, JSC::JSValue obj)
+QVariantMap QScriptEnginePrivate::variantMapFromObject(JSC::ExecState *exec, JSC::JSObject *obj)
{
+ QScriptEnginePrivate *eng = QScript::scriptEngineFromExec(exec);
+ if (eng->visitedConversionObjects.contains(obj))
+ return QVariantMap(); // Avoid recursion.
+ eng->visitedConversionObjects.insert(obj);
JSC::PropertyNameArray propertyNames(exec);
- JSC::asObject(obj)->getOwnPropertyNames(exec, propertyNames, JSC::IncludeDontEnumProperties);
+ obj->getOwnPropertyNames(exec, propertyNames, JSC::IncludeDontEnumProperties);
QVariantMap vmap;
JSC::PropertyNameArray::const_iterator it = propertyNames.begin();
for( ; it != propertyNames.end(); ++it)
vmap.insert(it->ustring(), toVariant(exec, property(exec, obj, *it)));
+ eng->visitedConversionObjects.remove(obj);
return vmap;
}
@@ -1514,7 +1535,7 @@ void QScriptEnginePrivate::detachAllRegisteredScriptStrings()
#ifndef QT_NO_REGEXP
-Q_DECL_IMPORT extern QString qt_regexp_toCanonical(const QString &, QRegExp::PatternSyntax);
+Q_CORE_EXPORT QString qt_regexp_toCanonical(const QString &, QRegExp::PatternSyntax);
JSC::JSValue QScriptEnginePrivate::newRegExp(JSC::ExecState *exec, const QRegExp &regexp)
{
@@ -1650,16 +1671,10 @@ QVariant QScriptEnginePrivate::toVariant(JSC::ExecState *exec, JSC::JSValue valu
return QVariant(toRegExp(exec, value));
#endif
else if (isArray(value))
- return variantListFromArray(exec, value);
+ return variantListFromArray(exec, JSC::asArray(value));
else if (QScriptDeclarativeClass *dc = declarativeClass(value))
return dc->toVariant(declarativeObject(value));
- // try to convert to primitive
- JSC::JSValue savedException;
- saveException(exec, &savedException);
- JSC::JSValue prim = value.toPrimitive(exec);
- restoreException(exec, savedException);
- if (!prim.isObject())
- return toVariant(exec, prim);
+ return variantMapFromObject(exec, JSC::asObject(value));
} else if (value.isNumber()) {
return QVariant(toNumber(exec, value));
} else if (value.isString()) {
@@ -2009,8 +2024,6 @@ QScriptValue QScriptEngine::newFunction(QScriptEngine::FunctionSignature fun,
#ifndef QT_NO_REGEXP
-Q_DECL_IMPORT extern QString qt_regexp_toCanonical(const QString &, QRegExp::PatternSyntax);
-
/*!
Creates a QtScript object of class RegExp with the given
\a regexp.
@@ -3120,12 +3133,12 @@ bool QScriptEnginePrivate::convertValue(JSC::ExecState *exec, JSC::JSValue value
} break;
case QMetaType::QVariantList:
if (isArray(value)) {
- *reinterpret_cast<QVariantList *>(ptr) = variantListFromArray(exec, value);
+ *reinterpret_cast<QVariantList *>(ptr) = variantListFromArray(exec, JSC::asArray(value));
return true;
} break;
case QMetaType::QVariantMap:
if (isObject(value)) {
- *reinterpret_cast<QVariantMap *>(ptr) = variantMapFromObject(exec, value);
+ *reinterpret_cast<QVariantMap *>(ptr) = variantMapFromObject(exec, JSC::asObject(value));
return true;
} break;
case QMetaType::QVariant:
diff --git a/src/script/api/qscriptengine_p.h b/src/script/api/qscriptengine_p.h
index fd47208066..56366e2e74 100644
--- a/src/script/api/qscriptengine_p.h
+++ b/src/script/api/qscriptengine_p.h
@@ -215,10 +215,10 @@ public:
static QStringList stringListFromArray(JSC::ExecState*, JSC::JSValue arr);
static JSC::JSValue arrayFromVariantList(JSC::ExecState*, const QVariantList &lst);
- static QVariantList variantListFromArray(JSC::ExecState*, JSC::JSValue arr);
+ static QVariantList variantListFromArray(JSC::ExecState*, JSC::JSArray *arr);
static JSC::JSValue objectFromVariantMap(JSC::ExecState*, const QVariantMap &vmap);
- static QVariantMap variantMapFromObject(JSC::ExecState*, JSC::JSValue obj);
+ static QVariantMap variantMapFromObject(JSC::ExecState*, JSC::JSObject *obj);
JSC::JSValue defaultPrototype(int metaTypeId) const;
void setDefaultPrototype(int metaTypeId, JSC::JSValue prototype);
@@ -378,6 +378,8 @@ public:
QHash<intptr_t, QScript::UStringSourceProviderWithFeedback*> loadedScripts;
QScriptValue m_currentException;
+ QSet<JSC::JSObject*> visitedConversionObjects;
+
#ifndef QT_NO_QOBJECT
QHash<QObject*, QScript::QObjectData*> m_qobjectData;
#endif
diff --git a/src/script/api/qscriptvalue.cpp b/src/script/api/qscriptvalue.cpp
index 1310c8c249..451d1b0eac 100644
--- a/src/script/api/qscriptvalue.cpp
+++ b/src/script/api/qscriptvalue.cpp
@@ -1215,8 +1215,8 @@ qsreal QScriptValue::toInteger() const
\row \o QObject Object \o A QVariant containing a pointer to the QObject.
\row \o Date Object \o A QVariant containing the date value (toDateTime()).
\row \o RegExp Object \o A QVariant containing the regular expression value (toRegExp()).
- \row \o Array Object \o The array is converted to a QVariantList.
- \row \o Object \o If the value is primitive, then the result is converted to a QVariant according to the above rules; otherwise, an invalid QVariant is returned.
+ \row \o Array Object \o The array is converted to a QVariantList. Each element is converted to a QVariant, recursively; cyclic references are not followed.
+ \row \o Object \o The object is converted to a QVariantMap. Each property is converted to a QVariant, recursively; cyclic references are not followed.
\endtable
\sa isVariant()
diff --git a/src/script/parser/qscriptlexer.cpp b/src/script/parser/qscriptlexer.cpp
index ca647767a8..3ddc3aa01d 100644
--- a/src/script/parser/qscriptlexer.cpp
+++ b/src/script/parser/qscriptlexer.cpp
@@ -31,7 +31,7 @@
QT_BEGIN_NAMESPACE
-Q_DECL_IMPORT extern double qstrtod(const char *s00, char const **se, bool *ok);
+Q_CORE_EXPORT double qstrtod(const char *s00, char const **se, bool *ok);
#define shiftWindowsLineBreak() \
do { \
diff --git a/src/sql/drivers/drivers.pri b/src/sql/drivers/drivers.pri
index 8dfc50f88e..05e7265120 100644
--- a/src/sql/drivers/drivers.pri
+++ b/src/sql/drivers/drivers.pri
@@ -6,16 +6,14 @@ contains(sql-drivers, psql) {
HEADERS += drivers/psql/qsql_psql.h
SOURCES += drivers/psql/qsql_psql.cpp
- unix|win32-g++ {
+ unix|win32-g++* {
!static:!isEmpty(QT_LFLAGS_PSQL) {
!contains(QT_CONFIG, system-zlib): QT_LFLAGS_PSQL -= -lz
!static:LIBS *= $$QT_LFLAGS_PSQL
QMAKE_CXXFLAGS *= $$QT_CFLAGS_PSQL
}
!contains(LIBS, .*pq.*):LIBS *= -lpq
- }
-
- win32:!win32-g++:!contains(LIBS, .*pq.* ) LIBS *= -llibpq -lws2_32 -ladvapi32
+ } else:win32:!contains(LIBS, .*pq.* ) LIBS *= -llibpq -lws2_32 -ladvapi32
}
contains(sql-drivers, mysql) {
@@ -35,8 +33,8 @@ contains(sql-drivers, mysql) {
}
win32:!contains(LIBS, .*mysql.*):!contains(LIBS, .*mysqld.*) {
- !win32-g++:LIBS *= -llibmysql
- win32-g++:LIBS *= -lmysql
+ !win32-g++*:LIBS *= -llibmysql
+ else:LIBS *= -lmysql
}
}
@@ -49,8 +47,8 @@ contains(sql-drivers, odbc) {
unix:DEFINES += UNICODE
win32 {
- !win32-borland:LIBS *= -lodbc32
- win32-borland:LIBS *= $(BCB)/lib/PSDK/odbc32.lib
+ !win32-borland:LIBS *= -lodbc32
+ else:LIBS *= $(BCB)/lib/PSDK/odbc32.lib
}
}
@@ -71,7 +69,7 @@ contains(sql-drivers, tds) {
win32 {
!win32-borland:LIBS += -lNTWDBLIB
- win32-borland:LIBS += $(BCB)/lib/PSDK/NTWDBLIB.LIB
+ else:LIBS += $(BCB)/lib/PSDK/NTWDBLIB.LIB
}
}
@@ -83,7 +81,7 @@ contains(sql-drivers, db2) {
win32 {
!win32-borland:LIBS += -ldb2cli
-# win32-borland:LIBS += $(BCB)/lib/PSDK/db2cli.lib
+# else:LIBS += $(BCB)/lib/PSDK/db2cli.lib
}
}
@@ -95,7 +93,7 @@ contains(sql-drivers, ibase) {
win32 {
!win32-borland:LIBS *= -lgds32_ms
- win32-borland:LIBS += gds32.lib
+ else:LIBS += gds32.lib
}
}
diff --git a/src/sql/drivers/odbc/qsql_odbc.cpp b/src/sql/drivers/odbc/qsql_odbc.cpp
index 6fd1725ae7..9a35ac55b9 100644
--- a/src/sql/drivers/odbc/qsql_odbc.cpp
+++ b/src/sql/drivers/odbc/qsql_odbc.cpp
@@ -259,14 +259,14 @@ static QString qWarnODBCHandle(int handleType, SQLHANDLE handle, int *nativeCode
static QString qODBCWarn(const QODBCPrivate* odbc, int *nativeCode = 0)
{
- return (qWarnODBCHandle(SQL_HANDLE_ENV, odbc->dpEnv()) + QLatin1Char(' ')
+ return QString(qWarnODBCHandle(SQL_HANDLE_ENV, odbc->dpEnv()) + QLatin1Char(' ')
+ qWarnODBCHandle(SQL_HANDLE_DBC, odbc->dpDbc()) + QLatin1Char(' ')
+ qWarnODBCHandle(SQL_HANDLE_STMT, odbc->hStmt, nativeCode)).simplified();
}
static QString qODBCWarn(const QODBCDriverPrivate* odbc, int *nativeCode = 0)
{
- return (qWarnODBCHandle(SQL_HANDLE_ENV, odbc->hEnv) + QLatin1Char(' ')
+ return QString(qWarnODBCHandle(SQL_HANDLE_ENV, odbc->hEnv) + QLatin1Char(' ')
+ qWarnODBCHandle(SQL_HANDLE_DBC, odbc->hDbc, nativeCode)).simplified();
}
diff --git a/src/src.pro b/src/src.pro
index d15e973f0a..b8cd0ae4d2 100644
--- a/src/src.pro
+++ b/src/src.pro
@@ -19,7 +19,6 @@ contains(QT_CONFIG, openvg): SRC_SUBDIRS += src_openvg
contains(QT_CONFIG, xmlpatterns): SRC_SUBDIRS += src_xmlpatterns
contains(QT_CONFIG, phonon): SRC_SUBDIRS += src_phonon
contains(QT_CONFIG, multimedia): SRC_SUBDIRS += src_multimedia
-contains(QT_CONFIG, mediaservices): SRC_SUBDIRS += src_mediaservices
contains(QT_CONFIG, svg): SRC_SUBDIRS += src_svg
contains(QT_CONFIG, webkit) {
exists($$QT_SOURCE_TREE/src/3rdparty/webkit/JavaScriptCore/JavaScriptCore.pro): SRC_SUBDIRS += src_javascriptcore
@@ -69,10 +68,8 @@ src_qt3support.subdir = $$QT_SOURCE_TREE/src/qt3support
src_qt3support.target = sub-qt3support
src_phonon.subdir = $$QT_SOURCE_TREE/src/phonon
src_phonon.target = sub-phonon
-src_multimedia.subdir = $$QT_SOURCE_TREE/src/multimedia/multimedia
+src_multimedia.subdir = $$QT_SOURCE_TREE/src/multimedia
src_multimedia.target = sub-multimedia
-src_mediaservices.subdir = $$QT_SOURCE_TREE/src/multimedia/mediaservices
-src_mediaservices.target = sub-mediaservices
src_activeqt.subdir = $$QT_SOURCE_TREE/src/activeqt
src_activeqt.target = sub-activeqt
src_plugins.subdir = $$QT_SOURCE_TREE/src/plugins
@@ -89,14 +86,14 @@ src_declarative.subdir = $$QT_SOURCE_TREE/src/declarative
src_declarative.target = sub-declarative
#CONFIG += ordered
-!wince*:!ordered {
+!wince*:!ordered:!symbian-abld:!symbian-sbsv2 {
src_corelib.depends = src_tools_moc src_tools_rcc
src_gui.depends = src_corelib src_tools_uic
embedded: src_gui.depends += src_network
src_xml.depends = src_corelib
src_xmlpatterns.depends = src_corelib src_network
src_dbus.depends = src_corelib src_xml
- src_svg.depends = src_xml src_gui
+ src_svg.depends = src_corelib src_gui
src_script.depends = src_corelib
src_scripttools.depends = src_script src_gui src_network
src_network.depends = src_corelib
@@ -110,17 +107,14 @@ src_declarative.target = sub-declarative
src_phonon.depends = src_gui
src_multimedia.depends = src_gui
contains(QT_CONFIG, opengl):src_multimedia.depends += src_opengl
- src_mediaservices.depends = src_multimedia
src_tools_activeqt.depends = src_tools_idc src_gui
- src_declarative.depends = src_xml src_gui src_script src_network src_svg
+ src_declarative.depends = src_gui src_script src_network
src_plugins.depends = src_gui src_sql src_svg src_multimedia
src_s60installs.depends = $$TOOLS_SUBDIRS $$SRC_SUBDIRS
src_imports.depends = src_gui src_declarative
contains(QT_CONFIG, webkit) {
- src_webkit.depends = src_gui src_sql src_network src_xml
- contains(QT_CONFIG, mediaservices):src_webkit.depends += src_mediaservices
+ src_webkit.depends = src_gui src_sql src_network
contains(QT_CONFIG, xmlpatterns): src_webkit.depends += src_xmlpatterns
- contains(QT_CONFIG, declarative):src_declarative.depends += src_webkit
src_imports.depends += src_webkit
exists($$QT_SOURCE_TREE/src/3rdparty/webkit/JavaScriptCore/JavaScriptCore.pro): src_webkit.depends += src_javascriptcore
}
@@ -129,7 +123,18 @@ src_declarative.target = sub-declarative
src_plugins.depends += src_dbus
src_phonon.depends += src_dbus
}
- contains(QT_CONFIG, opengl)|contains(QT_CONFIG, opengles1)|contains(QT_CONFIG, opengles2): src_plugins.depends += src_opengl
+ contains(QT_CONFIG, opengl)|contains(QT_CONFIG, opengles1)|contains(QT_CONFIG, opengles2) {
+ src_plugins.depends += src_opengl
+ src_declarative.depends += src_opengl
+ src_webkit.depends += src_opengl
+ }
+ contains(QT_CONFIG, xmlpatterns) {
+ src_declarative.depends += src_xmlpatterns
+ src_webkit.depends += src_xmlpatterns
+ }
+ contains(QT_CONFIG, svg) {
+ src_declarative.depends += src_svg
+ }
}
@@ -154,24 +159,24 @@ for(subname, SRC_SUBDIRS) {
SUB_TEMPLATE = $$list($$fromfile($$subpro, TEMPLATE))
!isEqual(subname, src_tools_bootstrap):if(isEqual($$SUB_TEMPLATE, lib) | isEqual($$SUB_TEMPLATE, subdirs) | isEqual(subname, src_tools_idc) | isEqual(subname, src_tools_uic3)):!separate_debug_info {
#debug
- eval(debug-$${subtarget}.depends = $${subdir}\$${QMAKE_DIR_SEP}$(MAKEFILE) $$EXTRA_DEBUG_TARGETS)
- eval(debug-$${subtarget}.commands = (cd $$subdir && $(MAKE) -f $(MAKEFILE) debug))
+ debug-$${subtarget}.depends = $${subdir}$${QMAKE_DIR_SEP}$(MAKEFILE) $$EXTRA_DEBUG_TARGETS
+ debug-$${subtarget}.commands = (cd $$subdir && $(MAKE) -f $(MAKEFILE) debug)
EXTRA_DEBUG_TARGETS += debug-$${subtarget}
QMAKE_EXTRA_TARGETS += debug-$${subtarget}
#release
- eval(release-$${subtarget}.depends = $${subdir}\$${QMAKE_DIR_SEP}$(MAKEFILE) $$EXTRA_RELEASE_TARGETS)
- eval(release-$${subtarget}.commands = (cd $$subdir && $(MAKE) -f $(MAKEFILE) release))
+ release-$${subtarget}.depends = $${subdir}$${QMAKE_DIR_SEP}$(MAKEFILE) $$EXTRA_RELEASE_TARGETS
+ release-$${subtarget}.commands = (cd $$subdir && $(MAKE) -f $(MAKEFILE) release)
EXTRA_RELEASE_TARGETS += release-$${subtarget}
QMAKE_EXTRA_TARGETS += release-$${subtarget}
} else { #do not have a real debug target/release
#debug
- eval(debug-$${subtarget}.depends = $${subdir}\$${QMAKE_DIR_SEP}$(MAKEFILE) $$EXTRA_DEBUG_TARGETS)
- eval(debug-$${subtarget}.commands = (cd $$subdir && $(MAKE) -f $(MAKEFILE) first))
+ debug-$${subtarget}.depends = $${subdir}$${QMAKE_DIR_SEP}$(MAKEFILE) $$EXTRA_DEBUG_TARGETS
+ debug-$${subtarget}.commands = (cd $$subdir && $(MAKE) -f $(MAKEFILE) first)
EXTRA_DEBUG_TARGETS += debug-$${subtarget}
QMAKE_EXTRA_TARGETS += debug-$${subtarget}
#release
- eval(release-$${subtarget}.depends = $${subdir}\$${QMAKE_DIR_SEP}$(MAKEFILE) $$EXTRA_RELEASE_TARGETS)
- eval(release-$${subtarget}.commands = (cd $$subdir && $(MAKE) -f $(MAKEFILE) first))
+ release-$${subtarget}.depends = $${subdir}$${QMAKE_DIR_SEP}$(MAKEFILE) $$EXTRA_RELEASE_TARGETS
+ release-$${subtarget}.commands = (cd $$subdir && $(MAKE) -f $(MAKEFILE) first)
EXTRA_RELEASE_TARGETS += release-$${subtarget}
QMAKE_EXTRA_TARGETS += release-$${subtarget}
}
diff --git a/src/svg/qgraphicssvgitem.cpp b/src/svg/qgraphicssvgitem.cpp
index 69ff7a3db9..e035e1da31 100644
--- a/src/svg/qgraphicssvgitem.cpp
+++ b/src/svg/qgraphicssvgitem.cpp
@@ -124,8 +124,10 @@ public:
\snippet doc/src/snippets/code/src_svg_qgraphicssvgitem.cpp 0
- Size of the item can be set via the setSize() method or via
- direct manipulation of the items transformation matrix.
+ Size of the item can be set via the \l{QRectF::setSize()}
+ {setSize()} method of the \l{QGraphicsSvgItem::boundingRect()}
+ {bounding rectangle} or via direct manipulation of the items
+ transformation matrix.
By default the SVG rendering is cached using QGraphicsItem::DeviceCoordinateCache
mode to speedup the display of items. Caching can be disabled by passing
diff --git a/src/svg/svg.pro b/src/svg/svg.pro
index d2a4227822..de4bba6ce0 100644
--- a/src/svg/svg.pro
+++ b/src/svg/svg.pro
@@ -44,7 +44,9 @@ symbian:TARGET.UID3=0x2001B2E2
#zlib support
contains(QT_CONFIG, zlib) {
- INCLUDEPATH += ../3rdparty/zlib
+ INCLUDEPATH += ../3rdparty/zlib
} else:!contains(QT_CONFIG, no-zlib) {
- unix:LIBS_PRIVATE += -lz
+ symbian:LIBS_PRIVATE += -llibz
+ else:if(unix|win32-g++*):LIBS_PRIVATE += -lz
+ else:LIBS += zdll.lib
}
diff --git a/src/testlib/qbenchmark.cpp b/src/testlib/qbenchmark.cpp
index 23c563983a..c88ecb0320 100644
--- a/src/testlib/qbenchmark.cpp
+++ b/src/testlib/qbenchmark.cpp
@@ -159,7 +159,7 @@ void QBenchmarkTestMethodData::setResult(
if (QBenchmarkGlobalData::current->iterationCount != -1)
accepted = true;
- if (QBenchmarkTestMethodData::current->runOnce || !setByMacro) {
+ else if (QBenchmarkTestMethodData::current->runOnce || !setByMacro) {
iterationCount = 1;
accepted = true;
}
diff --git a/src/testlib/qbenchmarkmeasurement.cpp b/src/testlib/qbenchmarkmeasurement.cpp
index c03cbff2ac..0a84792d7e 100644
--- a/src/testlib/qbenchmarkmeasurement.cpp
+++ b/src/testlib/qbenchmarkmeasurement.cpp
@@ -66,7 +66,7 @@ qint64 QBenchmarkTimeMeasurer::stop()
bool QBenchmarkTimeMeasurer::isMeasurementAccepted(qint64 measurement)
{
- return (measurement > 20);
+ return (measurement > 50);
}
int QBenchmarkTimeMeasurer::adjustIterationCount(int suggestion)
@@ -74,6 +74,11 @@ int QBenchmarkTimeMeasurer::adjustIterationCount(int suggestion)
return suggestion;
}
+bool QBenchmarkTimeMeasurer::needsWarmupIteration()
+{
+ return true;
+}
+
int QBenchmarkTimeMeasurer::adjustMedianCount(int)
{
return 1;
diff --git a/src/testlib/qbenchmarkmeasurement_p.h b/src/testlib/qbenchmarkmeasurement_p.h
index 8ad36134c7..932852c090 100644
--- a/src/testlib/qbenchmarkmeasurement_p.h
+++ b/src/testlib/qbenchmarkmeasurement_p.h
@@ -84,6 +84,7 @@ public:
bool isMeasurementAccepted(qint64 measurement);
int adjustIterationCount(int sugestion);
int adjustMedianCount(int suggestion);
+ bool needsWarmupIteration();
QTest::QBenchmarkMetric metricType();
private:
QTime time;
diff --git a/src/tools/bootstrap/bootstrap.pri b/src/tools/bootstrap/bootstrap.pri
index 1de7b184e4..1aa812116f 100644
--- a/src/tools/bootstrap/bootstrap.pri
+++ b/src/tools/bootstrap/bootstrap.pri
@@ -52,8 +52,9 @@ hpux-acc*|hpuxi-acc* {
LIBS += -lbootstrap
}
!contains(QT_CONFIG, zlib):!contains(QT_CONFIG, no-zlib):!cross_compile {
- unix:LIBS += -lz
-# win32:LIBS += libz.lib
+ symbian:LIBS_PRIVATE += -llibz
+ else:if(unix|win32-g++*):LIBS_PRIVATE += -lz
+ else:LIBS += zdll.lib
}
win32:LIBS += -luser32
diff --git a/src/tools/bootstrap/bootstrap.pro b/src/tools/bootstrap/bootstrap.pro
index 44dd6252cb..149291a3da 100644
--- a/src/tools/bootstrap/bootstrap.pro
+++ b/src/tools/bootstrap/bootstrap.pro
@@ -109,6 +109,10 @@ contains(QT_CONFIG, zlib)|cross_compile {
../3rdparty/zlib/trees.c \
../3rdparty/zlib/uncompr.c \
../3rdparty/zlib/zutil.c
+} else:!contains(QT_CONFIG, no-zlib) {
+ symbian:LIBS_PRIVATE += -llibz
+ else:if(unix|win32-g++*):LIBS_PRIVATE += -lz
+ else:LIBS += zdll.lib
}
lib.CONFIG = dummy_install
diff --git a/src/tools/moc/main.cpp b/src/tools/moc/main.cpp
index ebe1834a5a..499769041f 100644
--- a/src/tools/moc/main.cpp
+++ b/src/tools/moc/main.cpp
@@ -359,11 +359,10 @@ int runMoc(int _argc, char **_argv)
if (autoInclude) {
+ int spos = filename.lastIndexOf(QDir::separator().toLatin1());
int ppos = filename.lastIndexOf('.');
- moc.noInclude = (ppos >= 0
- && tolower(filename[ppos + 1]) != 'h'
- && tolower(filename[ppos + 1]) != QDir::separator().toLatin1()
- );
+ // spos >= -1 && ppos > spos => ppos >= 0
+ moc.noInclude = (ppos > spos && tolower(filename[ppos + 1]) != 'h');
}
if (moc.includeFiles.isEmpty()) {
if (moc.includePath.isEmpty()) {
diff --git a/src/tools/tools.pro b/src/tools/tools.pro
index 1ecb9441dc..4736d09cbe 100644
--- a/src/tools/tools.pro
+++ b/src/tools/tools.pro
@@ -45,24 +45,24 @@ EXTRA_RELEASE_TARGETS =
SUB_TEMPLATE = $$list($$fromfile($$subpro, TEMPLATE))
!isEqual(subname, src_tools_bootstrap):if(isEqual($$SUB_TEMPLATE, lib) | isEqual($$SUB_TEMPLATE, subdirs) | isEqual(subname, src_tools_idc) | isEqual(subname, src_tools_uic3)):!separate_debug_info {
#debug
- eval(debug-$${subtarget}.depends = $${subdir}\$${QMAKE_DIR_SEP}$(MAKEFILE) $$EXTRA_DEBUG_TARGETS)
- eval(debug-$${subtarget}.commands = (cd $$subdir && $(MAKE) -f $(MAKEFILE) debug))
+ debug-$${subtarget}.depends = $${subdir}$${QMAKE_DIR_SEP}$(MAKEFILE) $$EXTRA_DEBUG_TARGETS
+ debug-$${subtarget}.commands = (cd $$subdir && $(MAKE) -f $(MAKEFILE) debug)
EXTRA_DEBUG_TARGETS += debug-$${subtarget}
QMAKE_EXTRA_TARGETS += debug-$${subtarget}
#release
- eval(release-$${subtarget}.depends = $${subdir}\$${QMAKE_DIR_SEP}$(MAKEFILE) $$EXTRA_RELEASE_TARGETS)
- eval(release-$${subtarget}.commands = (cd $$subdir && $(MAKE) -f $(MAKEFILE) release))
+ release-$${subtarget}.depends = $${subdir}$${QMAKE_DIR_SEP}$(MAKEFILE) $$EXTRA_RELEASE_TARGETS
+ release-$${subtarget}.commands = (cd $$subdir && $(MAKE) -f $(MAKEFILE) release)
EXTRA_RELEASE_TARGETS += release-$${subtarget}
QMAKE_EXTRA_TARGETS += release-$${subtarget}
} else { #do not have a real debug target/release
#debug
- eval(debug-$${subtarget}.depends = $${subdir}\$${QMAKE_DIR_SEP}$(MAKEFILE) $$EXTRA_DEBUG_TARGETS)
- eval(debug-$${subtarget}.commands = (cd $$subdir && $(MAKE) -f $(MAKEFILE) first))
+ debug-$${subtarget}.depends = $${subdir}$${QMAKE_DIR_SEP}$(MAKEFILE) $$EXTRA_DEBUG_TARGETS
+ debug-$${subtarget}.commands = (cd $$subdir && $(MAKE) -f $(MAKEFILE) first)
EXTRA_DEBUG_TARGETS += debug-$${subtarget}
QMAKE_EXTRA_TARGETS += debug-$${subtarget}
#release
- eval(release-$${subtarget}.depends = $${subdir}\$${QMAKE_DIR_SEP}$(MAKEFILE) $$EXTRA_RELEASE_TARGETS)
- eval(release-$${subtarget}.commands = (cd $$subdir && $(MAKE) -f $(MAKEFILE) first))
+ release-$${subtarget}.depends = $${subdir}$${QMAKE_DIR_SEP}$(MAKEFILE) $$EXTRA_RELEASE_TARGETS
+ release-$${subtarget}.commands = (cd $$subdir && $(MAKE) -f $(MAKEFILE) first)
EXTRA_RELEASE_TARGETS += release-$${subtarget}
QMAKE_EXTRA_TARGETS += release-$${subtarget}
}
diff --git a/src/winmain/winmain.pro b/src/winmain/winmain.pro
index bc322b9a33..0c9b2146eb 100644
--- a/src/winmain/winmain.pro
+++ b/src/winmain/winmain.pro
@@ -8,10 +8,10 @@ CONFIG += staticlib warn_on
CONFIG -= qt shared
win32 {
- win32-g++:DEFINES += QT_NEEDS_QMAIN
+ win32-g++*:DEFINES += QT_NEEDS_QMAIN
win32-borland:DEFINES += QT_NEEDS_QMAIN
SOURCES = qtmain_win.cpp
- CONFIG += png zlib
+ CONFIG += png
CONFIG -= jpeg
INCLUDEPATH += tmp $$QMAKE_INCDIR_QT/QtCore
}
diff --git a/src/xmlpatterns/data/qdecimal_p.h b/src/xmlpatterns/data/qdecimal_p.h
index d17b647ad9..2a5e0b35d4 100644
--- a/src/xmlpatterns/data/qdecimal_p.h
+++ b/src/xmlpatterns/data/qdecimal_p.h
@@ -61,7 +61,7 @@ QT_BEGIN_NAMESPACE
/**
* Defined in QtCore's qlocale.cpp.
*/
-Q_DECL_IMPORT extern char *qdtoa(double d, int mode, int ndigits, int *decpt, int *sign, char **rve, char **resultp);
+Q_CORE_EXPORT char *qdtoa(double d, int mode, int ndigits, int *decpt, int *sign, char **rve, char **resultp);
namespace QPatternist
{
diff --git a/src/xmlpatterns/schema/qxsdparticlechecker.cpp b/src/xmlpatterns/schema/qxsdparticlechecker.cpp
index ef1d1350bf..15c2afef4c 100644
--- a/src/xmlpatterns/schema/qxsdparticlechecker.cpp
+++ b/src/xmlpatterns/schema/qxsdparticlechecker.cpp
@@ -344,6 +344,19 @@ bool XsdParticleChecker::hasDuplicatedElements(const XsdParticle::Ptr &particle,
bool XsdParticleChecker::isUPAConform(const XsdParticle::Ptr &particle, const NamePool::Ptr &namePool)
{
+
+ /**
+ * In case we encounter an <xsd:all> element, don't construct a state machine, but use the approach
+ * described at http://www.w3.org/TR/xmlschema-1/#non-ambig
+ * Reason: For n elements inside the <xsd:all>, represented in the NDA, the state machine
+ * constructs n! states in the DFA, which does not scale.
+ */
+ if (particle->term()->isModelGroup()) {
+ const XsdModelGroup::Ptr group(particle->term());
+ if (group->compositor() == XsdModelGroup::AllCompositor)
+ return isUPAConformXsdAll(particle, namePool);
+ }
+
/**
* The algorithm is implemented like described in http://www.ltg.ed.ac.uk/~ht/XML_Europe_2003.html#S2.2
*/
@@ -414,6 +427,23 @@ bool XsdParticleChecker::isUPAConform(const XsdParticle::Ptr &particle, const Na
return true;
}
+bool XsdParticleChecker::isUPAConformXsdAll(const XsdParticle::Ptr &particle, const NamePool::Ptr &namePool)
+{
+ /**
+ * see http://www.w3.org/TR/xmlschema-1/#non-ambig
+ */
+ const XsdModelGroup::Ptr group(particle->term());
+ const XsdParticle::List particles = group->particles();
+ const int count = particles.count();
+ for (int left = 0; left < count; ++left) {
+ for (int right = left+1; right < count; ++right) {
+ if (termMatches(particles.at(left)->term(), particles.at(right)->term(), namePool))
+ return false;
+ }
+ }
+ return true;
+}
+
bool XsdParticleChecker::subsumes(const XsdParticle::Ptr &particle, const XsdParticle::Ptr &derivedParticle, const XsdSchemaContext::Ptr &context, QString &errorMsg)
{
/**
diff --git a/src/xmlpatterns/schema/qxsdparticlechecker_p.h b/src/xmlpatterns/schema/qxsdparticlechecker_p.h
index 742f0d08c2..40c525afcf 100644
--- a/src/xmlpatterns/schema/qxsdparticlechecker_p.h
+++ b/src/xmlpatterns/schema/qxsdparticlechecker_p.h
@@ -85,6 +85,13 @@ namespace QPatternist
static bool isUPAConform(const XsdParticle::Ptr &particle, const NamePool::Ptr &namePool);
/**
+ * Checks whether the given @p particle, which must be an xsd:all element,
+ * is valid according the UPA (http://www.w3.org/TR/xmlschema-1/#cos-nonambig) constraint.
+ * For xsd:all elements, we do not want to construct a state machine.
+ */
+ static bool isUPAConformXsdAll(const XsdParticle::Ptr &particle, const NamePool::Ptr &namePool);
+
+ /**
* Checks whether the given @p particle subsumes the given @p derivedParticle.
* (http://www.w3.org/TR/xmlschema-1/#cos-particle-restrict)
*/
diff --git a/tests/.gitignore b/tests/.gitignore
new file mode 100644
index 0000000000..b20347367b
--- /dev/null
+++ b/tests/.gitignore
@@ -0,0 +1,6 @@
+QObject.log
+tst_*
+!tst_*.*
+tst_*.log
+tst_*.debug
+tst_*~
diff --git a/tests/auto/auto.pro b/tests/auto/auto.pro
index 12ebc75766..c0004f7cb1 100644
--- a/tests/auto/auto.pro
+++ b/tests/auto/auto.pro
@@ -16,7 +16,6 @@ unix:!embedded:contains(QT_CONFIG, dbus): SUBDIRS += dbus.pro
contains(QT_CONFIG, script): SUBDIRS += script.pro
contains(QT_CONFIG, webkit): SUBDIRS += webkit.pro
contains(QT_CONFIG, multimedia): SUBDIRS += multimedia.pro
-contains(QT_CONFIG, mediaservices): SUBDIRS += mediaservices.pro
contains(QT_CONFIG, phonon): SUBDIRS += phonon.pro
contains(QT_CONFIG, svg): SUBDIRS += svg.pro
contains(QT_CONFIG, declarative): SUBDIRS += declarative.pro
diff --git a/tests/auto/bic/data/Qt3Support.4.5.0.linux-gcc-amd64.txt b/tests/auto/bic/data/Qt3Support.4.5.0.linux-gcc-amd64.txt
new file mode 100644
index 0000000000..fc448c7ba0
--- /dev/null
+++ b/tests/auto/bic/data/Qt3Support.4.5.0.linux-gcc-amd64.txt
@@ -0,0 +1,24426 @@
+Class QSysInfo
+ size=1 align=1
+ base size=0 base align=1
+QSysInfo (0x7fea180a7460) 0 empty
+
+Class QBool
+ size=1 align=1
+ base size=1 base align=1
+QBool (0x7fea180be150) 0
+
+Class qIsNull(double)::U
+ size=8 align=8
+ base size=8 base align=8
+qIsNull(double)::U (0x7fea180d5540) 0
+
+Class qIsNull(float)::U
+ size=4 align=4
+ base size=4 base align=4
+qIsNull(float)::U (0x7fea180d57e0) 0
+
+Class QFlag
+ size=4 align=4
+ base size=4 base align=4
+QFlag (0x7fea1810c620) 0
+
+Class QIncompatibleFlag
+ size=4 align=4
+ base size=4 base align=4
+QIncompatibleFlag (0x7fea1810ce00) 0
+
+Class QInternal
+ size=1 align=1
+ base size=0 base align=1
+QInternal (0x7fea16e8a540) 0 empty
+
+Class QGenericArgument
+ size=16 align=8
+ base size=16 base align=8
+QGenericArgument (0x7fea16e8a850) 0
+
+Class QGenericReturnArgument
+ size=16 align=8
+ base size=16 base align=8
+QGenericReturnArgument (0x7fea16ea53f0) 0
+ QGenericArgument (0x7fea16ea5460) 0
+
+Class QMetaObject
+ size=32 align=8
+ base size=32 base align=8
+QMetaObject (0x7fea16ea5cb0) 0
+
+Class QMetaObjectExtraData
+ size=16 align=8
+ base size=16 base align=8
+QMetaObjectExtraData (0x7fea16ccccb0) 0
+
+Class QLatin1Char
+ size=1 align=1
+ base size=1 base align=1
+QLatin1Char (0x7fea16cd5700) 0
+
+Class QChar
+ size=2 align=2
+ base size=2 base align=2
+QChar (0x7fea16cdc2a0) 0
+
+Class QBasicAtomicInt
+ size=4 align=4
+ base size=4 base align=4
+QBasicAtomicInt (0x7fea16d49380) 0
+
+Class QAtomicInt
+ size=4 align=4
+ base size=4 base align=4
+QAtomicInt (0x7fea16d86d20) 0
+ QBasicAtomicInt (0x7fea16d86d90) 0
+
+Class __locale_struct
+ size=232 align=8
+ base size=232 base align=8
+__locale_struct (0x7fea16daa1c0) 0
+
+Class QByteArray::Data
+ size=32 align=8
+ base size=32 base align=8
+QByteArray::Data (0x7fea16c217e0) 0
+
+Class QByteArray
+ size=8 align=8
+ base size=8 base align=8
+QByteArray (0x7fea16bde540) 0
+
+Class QByteRef
+ size=16 align=8
+ base size=12 base align=8
+QByteRef (0x7fea16c77a80) 0
+
+Class QString::Null
+ size=1 align=1
+ base size=0 base align=1
+QString::Null (0x7fea16b81700) 0 empty
+
+Class QString::Data
+ size=32 align=8
+ base size=32 base align=8
+QString::Data (0x7fea16b91ee0) 0
+
+Class QString
+ size=8 align=8
+ base size=8 base align=8
+QString (0x7fea16b005b0) 0
+
+Class QLatin1String
+ size=8 align=8
+ base size=8 base align=8
+QLatin1String (0x7fea16a6a000) 0
+
+Class QCharRef
+ size=16 align=8
+ base size=12 base align=8
+QCharRef (0x7fea168ff620) 0
+
+Class QConstString
+ size=8 align=8
+ base size=8 base align=8
+QConstString (0x7fea16848ee0) 0
+ QString (0x7fea16848f50) 0
+
+Class QStringRef
+ size=16 align=8
+ base size=16 base align=8
+QStringRef (0x7fea16869bd0) 0
+
+Vtable for std::exception
+std::exception::_ZTVSt9exception: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt9exception)
+16 std::exception::~exception
+24 std::exception::~exception
+32 std::exception::what
+
+Class std::exception
+ size=8 align=8
+ base size=8 base align=8
+std::exception (0x7fea16723620) 0 nearly-empty
+ vptr=((& std::exception::_ZTVSt9exception) + 16u)
+
+Vtable for std::bad_exception
+std::bad_exception::_ZTVSt13bad_exception: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt13bad_exception)
+16 std::bad_exception::~bad_exception
+24 std::bad_exception::~bad_exception
+32 std::bad_exception::what
+
+Class std::bad_exception
+ size=8 align=8
+ base size=8 base align=8
+std::bad_exception (0x7fea16745000) 0 nearly-empty
+ vptr=((& std::bad_exception::_ZTVSt13bad_exception) + 16u)
+ std::exception (0x7fea16745070) 0 nearly-empty
+ primary-for std::bad_exception (0x7fea16745000)
+
+Vtable for std::bad_alloc
+std::bad_alloc::_ZTVSt9bad_alloc: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt9bad_alloc)
+16 std::bad_alloc::~bad_alloc
+24 std::bad_alloc::~bad_alloc
+32 std::bad_alloc::what
+
+Class std::bad_alloc
+ size=8 align=8
+ base size=8 base align=8
+std::bad_alloc (0x7fea167458c0) 0 nearly-empty
+ vptr=((& std::bad_alloc::_ZTVSt9bad_alloc) + 16u)
+ std::exception (0x7fea16745930) 0 nearly-empty
+ primary-for std::bad_alloc (0x7fea167458c0)
+
+Class std::nothrow_t
+ size=1 align=1
+ base size=0 base align=1
+std::nothrow_t (0x7fea167580e0) 0 empty
+
+Class QListData::Data
+ size=32 align=8
+ base size=32 base align=8
+QListData::Data (0x7fea16758620) 0
+
+Class QListData
+ size=8 align=8
+ base size=8 base align=8
+QListData (0x7fea167585b0) 0
+
+Vtable for QObjectData
+QObjectData::_ZTV11QObjectData: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QObjectData)
+16 __cxa_pure_virtual
+24 __cxa_pure_virtual
+
+Class QObjectData
+ size=40 align=8
+ base size=40 base align=8
+QObjectData (0x7fea1665dbd0) 0
+ vptr=((& QObjectData::_ZTV11QObjectData) + 16u)
+
+Vtable for QObject
+QObject::_ZTV7QObject: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QObject)
+16 QObject::metaObject
+24 QObject::qt_metacast
+32 QObject::qt_metacall
+40 QObject::~QObject
+48 QObject::~QObject
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QObject
+ size=16 align=8
+ base size=16 base align=8
+QObject (0x7fea1665dee0) 0
+ vptr=((& QObject::_ZTV7QObject) + 16u)
+
+Vtable for QObjectUserData
+QObjectUserData::_ZTV15QObjectUserData: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QObjectUserData)
+16 QObjectUserData::~QObjectUserData
+24 QObjectUserData::~QObjectUserData
+
+Class QObjectUserData
+ size=8 align=8
+ base size=8 base align=8
+QObjectUserData (0x7fea164eb3f0) 0 nearly-empty
+ vptr=((& QObjectUserData::_ZTV15QObjectUserData) + 16u)
+
+Vtable for QIODevice
+QIODevice::_ZTV9QIODevice: 30u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QIODevice)
+16 QIODevice::metaObject
+24 QIODevice::qt_metacast
+32 QIODevice::qt_metacall
+40 QIODevice::~QIODevice
+48 QIODevice::~QIODevice
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QIODevice::isSequential
+120 QIODevice::open
+128 QIODevice::close
+136 QIODevice::pos
+144 QIODevice::size
+152 QIODevice::seek
+160 QIODevice::atEnd
+168 QIODevice::reset
+176 QIODevice::bytesAvailable
+184 QIODevice::bytesToWrite
+192 QIODevice::canReadLine
+200 QIODevice::waitForReadyRead
+208 QIODevice::waitForBytesWritten
+216 __cxa_pure_virtual
+224 QIODevice::readLineData
+232 __cxa_pure_virtual
+
+Class QIODevice
+ size=16 align=8
+ base size=16 base align=8
+QIODevice (0x7fea164eb930) 0
+ vptr=((& QIODevice::_ZTV9QIODevice) + 16u)
+ QObject (0x7fea164eb9a0) 0
+ primary-for QIODevice (0x7fea164eb930)
+
+Vtable for QDataStream
+QDataStream::_ZTV11QDataStream: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QDataStream)
+16 QDataStream::~QDataStream
+24 QDataStream::~QDataStream
+
+Class QDataStream
+ size=40 align=8
+ base size=40 base align=8
+QDataStream (0x7fea165622a0) 0
+ vptr=((& QDataStream::_ZTV11QDataStream) + 16u)
+
+Class QHashData::Node
+ size=16 align=8
+ base size=16 base align=8
+QHashData::Node (0x7fea163e9150) 0
+
+Class QHashData
+ size=40 align=8
+ base size=40 base align=8
+QHashData (0x7fea163e90e0) 0
+
+Class QHashDummyValue
+ size=1 align=1
+ base size=0 base align=1
+QHashDummyValue (0x7fea163f8ee0) 0 empty
+
+Class QMapData::Node
+ size=16 align=8
+ base size=16 base align=8
+QMapData::Node (0x7fea1630c690) 0
+
+Class QMapData
+ size=128 align=8
+ base size=128 base align=8
+QMapData (0x7fea1630c620) 0
+
+Vtable for QSystemLocale
+QSystemLocale::_ZTV13QSystemLocale: 6u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QSystemLocale)
+16 QSystemLocale::~QSystemLocale
+24 QSystemLocale::~QSystemLocale
+32 QSystemLocale::query
+40 QSystemLocale::fallbackLocale
+
+Class QSystemLocale
+ size=8 align=8
+ base size=8 base align=8
+QSystemLocale (0x7fea1621ee00) 0 nearly-empty
+ vptr=((& QSystemLocale::_ZTV13QSystemLocale) + 16u)
+
+Class QLocale::Data
+ size=4 align=2
+ base size=4 base align=2
+QLocale::Data (0x7fea1627d3f0) 0
+
+Class QLocale
+ size=8 align=8
+ base size=8 base align=8
+QLocale (0x7fea162420e0) 0
+
+Class QTextCodec::ConverterState
+ size=32 align=8
+ base size=32 base align=8
+QTextCodec::ConverterState (0x7fea160cce70) 0
+
+Vtable for QTextCodec
+QTextCodec::_ZTV10QTextCodec: 9u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QTextCodec)
+16 __cxa_pure_virtual
+24 QTextCodec::aliases
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+48 __cxa_pure_virtual
+56 QTextCodec::~QTextCodec
+64 QTextCodec::~QTextCodec
+
+Class QTextCodec
+ size=8 align=8
+ base size=8 base align=8
+QTextCodec (0x7fea160b3a80) 0 nearly-empty
+ vptr=((& QTextCodec::_ZTV10QTextCodec) + 16u)
+
+Class QTextEncoder
+ size=40 align=8
+ base size=40 base align=8
+QTextEncoder (0x7fea161373f0) 0
+
+Class QTextDecoder
+ size=40 align=8
+ base size=40 base align=8
+QTextDecoder (0x7fea16140230) 0
+
+Class _IO_marker
+ size=24 align=8
+ base size=24 base align=8
+_IO_marker (0x7fea1614a2a0) 0
+
+Class _IO_FILE
+ size=216 align=8
+ base size=216 base align=8
+_IO_FILE (0x7fea1614a310) 0
+
+Vtable for QTextStream
+QTextStream::_ZTV11QTextStream: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QTextStream)
+16 QTextStream::~QTextStream
+24 QTextStream::~QTextStream
+
+Class QTextStream
+ size=16 align=8
+ base size=16 base align=8
+QTextStream (0x7fea1614a3f0) 0
+ vptr=((& QTextStream::_ZTV11QTextStream) + 16u)
+
+Class QTextStreamManipulator
+ size=40 align=8
+ base size=38 base align=8
+QTextStreamManipulator (0x7fea15fe2ee0) 0
+
+Vtable for QTextIStream
+QTextIStream::_ZTV12QTextIStream: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QTextIStream)
+16 QTextIStream::~QTextIStream
+24 QTextIStream::~QTextIStream
+
+Class QTextIStream
+ size=16 align=8
+ base size=16 base align=8
+QTextIStream (0x7fea1600c1c0) 0
+ vptr=((& QTextIStream::_ZTV12QTextIStream) + 16u)
+ QTextStream (0x7fea1600c230) 0
+ primary-for QTextIStream (0x7fea1600c1c0)
+
+Vtable for QTextOStream
+QTextOStream::_ZTV12QTextOStream: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QTextOStream)
+16 QTextOStream::~QTextOStream
+24 QTextOStream::~QTextOStream
+
+Class QTextOStream
+ size=16 align=8
+ base size=16 base align=8
+QTextOStream (0x7fea16024070) 0
+ vptr=((& QTextOStream::_ZTV12QTextOStream) + 16u)
+ QTextStream (0x7fea160240e0) 0
+ primary-for QTextOStream (0x7fea16024070)
+
+Class wait
+ size=4 align=4
+ base size=4 base align=4
+wait (0x7fea16030ee0) 0
+
+Class timespec
+ size=16 align=8
+ base size=16 base align=8
+timespec (0x7fea1603c230) 0
+
+Class timeval
+ size=16 align=8
+ base size=16 base align=8
+timeval (0x7fea1603c2a0) 0
+
+Class __pthread_internal_list
+ size=16 align=8
+ base size=16 base align=8
+__pthread_internal_list (0x7fea1603c3f0) 0
+
+Class random_data
+ size=48 align=8
+ base size=48 base align=8
+random_data (0x7fea1603c9a0) 0
+
+Class drand48_data
+ size=24 align=8
+ base size=24 base align=8
+drand48_data (0x7fea1603ca10) 0
+
+Class QVectorData
+ size=16 align=4
+ base size=16 base align=4
+QVectorData (0x7fea1603ca80) 0
+
+Class QDebug::Stream
+ size=40 align=8
+ base size=34 base align=8
+QDebug::Stream (0x7fea15db9230) 0
+
+Class QDebug
+ size=8 align=8
+ base size=8 base align=8
+QDebug (0x7fea15db91c0) 0
+
+Class QNoDebug
+ size=1 align=1
+ base size=0 base align=1
+QNoDebug (0x7fea15e56070) 0 empty
+
+Vtable for QFile
+QFile::_ZTV5QFile: 31u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI5QFile)
+16 QFile::metaObject
+24 QFile::qt_metacast
+32 QFile::qt_metacall
+40 QFile::~QFile
+48 QFile::~QFile
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QFile::isSequential
+120 QFile::open
+128 QFile::close
+136 QFile::pos
+144 QFile::size
+152 QFile::seek
+160 QFile::atEnd
+168 QIODevice::reset
+176 QIODevice::bytesAvailable
+184 QIODevice::bytesToWrite
+192 QIODevice::canReadLine
+200 QIODevice::waitForReadyRead
+208 QIODevice::waitForBytesWritten
+216 QFile::readData
+224 QFile::readLineData
+232 QFile::writeData
+240 QFile::fileEngine
+
+Class QFile
+ size=16 align=8
+ base size=16 base align=8
+QFile (0x7fea15e68620) 0
+ vptr=((& QFile::_ZTV5QFile) + 16u)
+ QIODevice (0x7fea15e68690) 0
+ primary-for QFile (0x7fea15e68620)
+ QObject (0x7fea15e68700) 0
+ primary-for QIODevice (0x7fea15e68690)
+
+Vtable for QTemporaryFile
+QTemporaryFile::_ZTV14QTemporaryFile: 31u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QTemporaryFile)
+16 QTemporaryFile::metaObject
+24 QTemporaryFile::qt_metacast
+32 QTemporaryFile::qt_metacall
+40 QTemporaryFile::~QTemporaryFile
+48 QTemporaryFile::~QTemporaryFile
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QFile::isSequential
+120 QTemporaryFile::open
+128 QFile::close
+136 QFile::pos
+144 QFile::size
+152 QFile::seek
+160 QFile::atEnd
+168 QIODevice::reset
+176 QIODevice::bytesAvailable
+184 QIODevice::bytesToWrite
+192 QIODevice::canReadLine
+200 QIODevice::waitForReadyRead
+208 QIODevice::waitForBytesWritten
+216 QFile::readData
+224 QFile::readLineData
+232 QFile::writeData
+240 QTemporaryFile::fileEngine
+
+Class QTemporaryFile
+ size=16 align=8
+ base size=16 base align=8
+QTemporaryFile (0x7fea15cd1850) 0
+ vptr=((& QTemporaryFile::_ZTV14QTemporaryFile) + 16u)
+ QFile (0x7fea15cd18c0) 0
+ primary-for QTemporaryFile (0x7fea15cd1850)
+ QIODevice (0x7fea15cd1930) 0
+ primary-for QFile (0x7fea15cd18c0)
+ QObject (0x7fea15cd19a0) 0
+ primary-for QIODevice (0x7fea15cd1930)
+
+Class QFileInfo
+ size=8 align=8
+ base size=8 base align=8
+QFileInfo (0x7fea15cf3f50) 0
+
+Class QRegExp
+ size=8 align=8
+ base size=8 base align=8
+QRegExp (0x7fea15d4f770) 0
+
+Class QStringMatcher
+ size=1048 align=8
+ base size=1048 base align=8
+QStringMatcher (0x7fea15d9c5b0) 0
+
+Class QStringList
+ size=8 align=8
+ base size=8 base align=8
+QStringList (0x7fea15bad070) 0
+ QList<QString> (0x7fea15bad0e0) 0
+
+Class QDir
+ size=8 align=8
+ base size=8 base align=8
+QDir (0x7fea15c3ecb0) 0
+
+Class QAbstractFileEngine::ExtensionOption
+ size=1 align=1
+ base size=0 base align=1
+QAbstractFileEngine::ExtensionOption (0x7fea15ad5e70) 0 empty
+
+Class QAbstractFileEngine::ExtensionReturn
+ size=1 align=1
+ base size=0 base align=1
+QAbstractFileEngine::ExtensionReturn (0x7fea15ad5ee0) 0 empty
+
+Class QAbstractFileEngine::MapExtensionOption
+ size=24 align=8
+ base size=20 base align=8
+QAbstractFileEngine::MapExtensionOption (0x7fea15ad5f50) 0
+ QAbstractFileEngine::ExtensionOption (0x7fea15aeb000) 0 empty
+
+Class QAbstractFileEngine::MapExtensionReturn
+ size=8 align=8
+ base size=8 base align=8
+QAbstractFileEngine::MapExtensionReturn (0x7fea15aeb1c0) 0
+ QAbstractFileEngine::ExtensionReturn (0x7fea15aeb230) 0 empty
+
+Class QAbstractFileEngine::UnMapExtensionOption
+ size=8 align=8
+ base size=8 base align=8
+QAbstractFileEngine::UnMapExtensionOption (0x7fea15aeb2a0) 0
+ QAbstractFileEngine::ExtensionOption (0x7fea15aeb310) 0 empty
+
+Vtable for QAbstractFileEngine
+QAbstractFileEngine::_ZTV19QAbstractFileEngine: 36u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QAbstractFileEngine)
+16 QAbstractFileEngine::~QAbstractFileEngine
+24 QAbstractFileEngine::~QAbstractFileEngine
+32 QAbstractFileEngine::open
+40 QAbstractFileEngine::close
+48 QAbstractFileEngine::flush
+56 QAbstractFileEngine::size
+64 QAbstractFileEngine::pos
+72 QAbstractFileEngine::seek
+80 QAbstractFileEngine::isSequential
+88 QAbstractFileEngine::remove
+96 QAbstractFileEngine::copy
+104 QAbstractFileEngine::rename
+112 QAbstractFileEngine::link
+120 QAbstractFileEngine::mkdir
+128 QAbstractFileEngine::rmdir
+136 QAbstractFileEngine::setSize
+144 QAbstractFileEngine::caseSensitive
+152 QAbstractFileEngine::isRelativePath
+160 QAbstractFileEngine::entryList
+168 QAbstractFileEngine::fileFlags
+176 QAbstractFileEngine::setPermissions
+184 QAbstractFileEngine::fileName
+192 QAbstractFileEngine::ownerId
+200 QAbstractFileEngine::owner
+208 QAbstractFileEngine::fileTime
+216 QAbstractFileEngine::setFileName
+224 QAbstractFileEngine::handle
+232 QAbstractFileEngine::beginEntryList
+240 QAbstractFileEngine::endEntryList
+248 QAbstractFileEngine::read
+256 QAbstractFileEngine::readLine
+264 QAbstractFileEngine::write
+272 QAbstractFileEngine::extension
+280 QAbstractFileEngine::supportsExtension
+
+Class QAbstractFileEngine
+ size=16 align=8
+ base size=16 base align=8
+QAbstractFileEngine (0x7fea15ac8e00) 0
+ vptr=((& QAbstractFileEngine::_ZTV19QAbstractFileEngine) + 16u)
+
+Vtable for QAbstractFileEngineHandler
+QAbstractFileEngineHandler::_ZTV26QAbstractFileEngineHandler: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI26QAbstractFileEngineHandler)
+16 QAbstractFileEngineHandler::~QAbstractFileEngineHandler
+24 QAbstractFileEngineHandler::~QAbstractFileEngineHandler
+32 __cxa_pure_virtual
+
+Class QAbstractFileEngineHandler
+ size=8 align=8
+ base size=8 base align=8
+QAbstractFileEngineHandler (0x7fea15b1b000) 0 nearly-empty
+ vptr=((& QAbstractFileEngineHandler::_ZTV26QAbstractFileEngineHandler) + 16u)
+
+Vtable for QAbstractFileEngineIterator
+QAbstractFileEngineIterator::_ZTV27QAbstractFileEngineIterator: 9u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI27QAbstractFileEngineIterator)
+16 QAbstractFileEngineIterator::~QAbstractFileEngineIterator
+24 QAbstractFileEngineIterator::~QAbstractFileEngineIterator
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+48 __cxa_pure_virtual
+56 QAbstractFileEngineIterator::currentFileInfo
+64 QAbstractFileEngineIterator::entryInfo
+
+Class QAbstractFileEngineIterator
+ size=16 align=8
+ base size=16 base align=8
+QAbstractFileEngineIterator (0x7fea15b1b1c0) 0
+ vptr=((& QAbstractFileEngineIterator::_ZTV27QAbstractFileEngineIterator) + 16u)
+
+Vtable for QFSFileEngine
+QFSFileEngine::_ZTV13QFSFileEngine: 36u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QFSFileEngine)
+16 QFSFileEngine::~QFSFileEngine
+24 QFSFileEngine::~QFSFileEngine
+32 QFSFileEngine::open
+40 QFSFileEngine::close
+48 QFSFileEngine::flush
+56 QFSFileEngine::size
+64 QFSFileEngine::pos
+72 QFSFileEngine::seek
+80 QFSFileEngine::isSequential
+88 QFSFileEngine::remove
+96 QFSFileEngine::copy
+104 QFSFileEngine::rename
+112 QFSFileEngine::link
+120 QFSFileEngine::mkdir
+128 QFSFileEngine::rmdir
+136 QFSFileEngine::setSize
+144 QFSFileEngine::caseSensitive
+152 QFSFileEngine::isRelativePath
+160 QFSFileEngine::entryList
+168 QFSFileEngine::fileFlags
+176 QFSFileEngine::setPermissions
+184 QFSFileEngine::fileName
+192 QFSFileEngine::ownerId
+200 QFSFileEngine::owner
+208 QFSFileEngine::fileTime
+216 QFSFileEngine::setFileName
+224 QFSFileEngine::handle
+232 QFSFileEngine::beginEntryList
+240 QFSFileEngine::endEntryList
+248 QFSFileEngine::read
+256 QFSFileEngine::readLine
+264 QFSFileEngine::write
+272 QFSFileEngine::extension
+280 QFSFileEngine::supportsExtension
+
+Class QFSFileEngine
+ size=16 align=8
+ base size=16 base align=8
+QFSFileEngine (0x7fea15b1ba10) 0
+ vptr=((& QFSFileEngine::_ZTV13QFSFileEngine) + 16u)
+ QAbstractFileEngine (0x7fea15b1ba80) 0
+ primary-for QFSFileEngine (0x7fea15b1ba10)
+
+Vtable for QProcess
+QProcess::_ZTV8QProcess: 31u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI8QProcess)
+16 QProcess::metaObject
+24 QProcess::qt_metacast
+32 QProcess::qt_metacall
+40 QProcess::~QProcess
+48 QProcess::~QProcess
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QProcess::isSequential
+120 QIODevice::open
+128 QProcess::close
+136 QIODevice::pos
+144 QIODevice::size
+152 QIODevice::seek
+160 QProcess::atEnd
+168 QIODevice::reset
+176 QProcess::bytesAvailable
+184 QProcess::bytesToWrite
+192 QProcess::canReadLine
+200 QProcess::waitForReadyRead
+208 QProcess::waitForBytesWritten
+216 QProcess::readData
+224 QIODevice::readLineData
+232 QProcess::writeData
+240 QProcess::setupChildProcess
+
+Class QProcess
+ size=16 align=8
+ base size=16 base align=8
+QProcess (0x7fea15b32d20) 0
+ vptr=((& QProcess::_ZTV8QProcess) + 16u)
+ QIODevice (0x7fea15b32d90) 0
+ primary-for QProcess (0x7fea15b32d20)
+ QObject (0x7fea15b32e00) 0
+ primary-for QIODevice (0x7fea15b32d90)
+
+Class QResource
+ size=8 align=8
+ base size=8 base align=8
+QResource (0x7fea15b6e230) 0
+
+Vtable for QDirIterator
+QDirIterator::_ZTV12QDirIterator: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QDirIterator)
+16 QDirIterator::~QDirIterator
+24 QDirIterator::~QDirIterator
+
+Class QDirIterator
+ size=16 align=8
+ base size=16 base align=8
+QDirIterator (0x7fea15b6ecb0) 0
+ vptr=((& QDirIterator::_ZTV12QDirIterator) + 16u)
+
+Vtable for QBuffer
+QBuffer::_ZTV7QBuffer: 30u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QBuffer)
+16 QBuffer::metaObject
+24 QBuffer::qt_metacast
+32 QBuffer::qt_metacall
+40 QBuffer::~QBuffer
+48 QBuffer::~QBuffer
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QBuffer::connectNotify
+104 QBuffer::disconnectNotify
+112 QIODevice::isSequential
+120 QBuffer::open
+128 QBuffer::close
+136 QBuffer::pos
+144 QBuffer::size
+152 QBuffer::seek
+160 QBuffer::atEnd
+168 QIODevice::reset
+176 QIODevice::bytesAvailable
+184 QIODevice::bytesToWrite
+192 QBuffer::canReadLine
+200 QIODevice::waitForReadyRead
+208 QIODevice::waitForBytesWritten
+216 QBuffer::readData
+224 QIODevice::readLineData
+232 QBuffer::writeData
+
+Class QBuffer
+ size=16 align=8
+ base size=16 base align=8
+QBuffer (0x7fea15ba0a80) 0
+ vptr=((& QBuffer::_ZTV7QBuffer) + 16u)
+ QIODevice (0x7fea15ba0af0) 0
+ primary-for QBuffer (0x7fea15ba0a80)
+ QObject (0x7fea15ba0b60) 0
+ primary-for QIODevice (0x7fea15ba0af0)
+
+Vtable for QFileSystemWatcher
+QFileSystemWatcher::_ZTV18QFileSystemWatcher: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QFileSystemWatcher)
+16 QFileSystemWatcher::metaObject
+24 QFileSystemWatcher::qt_metacast
+32 QFileSystemWatcher::qt_metacall
+40 QFileSystemWatcher::~QFileSystemWatcher
+48 QFileSystemWatcher::~QFileSystemWatcher
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QFileSystemWatcher
+ size=16 align=8
+ base size=16 base align=8
+QFileSystemWatcher (0x7fea159c6690) 0
+ vptr=((& QFileSystemWatcher::_ZTV18QFileSystemWatcher) + 16u)
+ QObject (0x7fea159c6700) 0
+ primary-for QFileSystemWatcher (0x7fea159c6690)
+
+Class QUrl
+ size=8 align=8
+ base size=8 base align=8
+QUrl (0x7fea159d9bd0) 0
+
+Class QMetaType
+ size=1 align=1
+ base size=0 base align=1
+QMetaType (0x7fea15a633f0) 0 empty
+
+Class QVariant::PrivateShared
+ size=16 align=8
+ base size=12 base align=8
+QVariant::PrivateShared (0x7fea15936930) 0
+
+Class QVariant::Private::Data
+ size=8 align=8
+ base size=8 base align=8
+QVariant::Private::Data (0x7fea15936c40) 0
+
+Class QVariant::Private
+ size=16 align=8
+ base size=12 base align=8
+QVariant::Private (0x7fea15936a10) 0
+
+Class QVariant::Handler
+ size=72 align=8
+ base size=72 base align=8
+QVariant::Handler (0x7fea15946930) 0
+
+Class QVariant
+ size=16 align=8
+ base size=16 base align=8
+QVariant (0x7fea15905af0) 0
+
+Class QVariantComparisonHelper
+ size=8 align=8
+ base size=8 base align=8
+QVariantComparisonHelper (0x7fea157e9cb0) 0
+
+Vtable for QSettings
+QSettings::_ZTV9QSettings: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QSettings)
+16 QSettings::metaObject
+24 QSettings::qt_metacast
+32 QSettings::qt_metacall
+40 QSettings::~QSettings
+48 QSettings::~QSettings
+56 QSettings::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QSettings
+ size=16 align=8
+ base size=16 base align=8
+QSettings (0x7fea15810cb0) 0
+ vptr=((& QSettings::_ZTV9QSettings) + 16u)
+ QObject (0x7fea15810d20) 0
+ primary-for QSettings (0x7fea15810cb0)
+
+Class QXmlStreamStringRef
+ size=16 align=8
+ base size=16 base align=8
+QXmlStreamStringRef (0x7fea15893070) 0
+
+Class QXmlStreamAttribute
+ size=80 align=8
+ base size=73 base align=8
+QXmlStreamAttribute (0x7fea156b0850) 0
+
+Class QXmlStreamAttributes
+ size=8 align=8
+ base size=8 base align=8
+QXmlStreamAttributes (0x7fea156d9380) 0
+ QVector<QXmlStreamAttribute> (0x7fea156d93f0) 0
+
+Class QXmlStreamNamespaceDeclaration
+ size=40 align=8
+ base size=40 base align=8
+QXmlStreamNamespaceDeclaration (0x7fea156d9850) 0
+
+Class QXmlStreamNotationDeclaration
+ size=56 align=8
+ base size=56 base align=8
+QXmlStreamNotationDeclaration (0x7fea157181c0) 0
+
+Class QXmlStreamEntityDeclaration
+ size=88 align=8
+ base size=88 base align=8
+QXmlStreamEntityDeclaration (0x7fea15739070) 0
+
+Vtable for QXmlStreamEntityResolver
+QXmlStreamEntityResolver::_ZTV24QXmlStreamEntityResolver: 6u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI24QXmlStreamEntityResolver)
+16 QXmlStreamEntityResolver::~QXmlStreamEntityResolver
+24 QXmlStreamEntityResolver::~QXmlStreamEntityResolver
+32 QXmlStreamEntityResolver::resolveEntity
+40 QXmlStreamEntityResolver::resolveUndeclaredEntity
+
+Class QXmlStreamEntityResolver
+ size=8 align=8
+ base size=8 base align=8
+QXmlStreamEntityResolver (0x7fea157529a0) 0 nearly-empty
+ vptr=((& QXmlStreamEntityResolver::_ZTV24QXmlStreamEntityResolver) + 16u)
+
+Class QXmlStreamReader
+ size=8 align=8
+ base size=8 base align=8
+QXmlStreamReader (0x7fea15752b60) 0
+
+Class QXmlStreamWriter
+ size=8 align=8
+ base size=8 base align=8
+QXmlStreamWriter (0x7fea15790a10) 0
+
+Class QPoint
+ size=8 align=4
+ base size=8 base align=4
+QPoint (0x7fea155ce150) 0
+
+Class QPointF
+ size=16 align=8
+ base size=16 base align=8
+QPointF (0x7fea15604d90) 0
+
+Class QLine
+ size=16 align=4
+ base size=16 base align=4
+QLine (0x7fea15641bd0) 0
+
+Class QLineF
+ size=32 align=8
+ base size=32 base align=8
+QLineF (0x7fea1567da80) 0
+
+Class QSize
+ size=8 align=4
+ base size=8 base align=4
+QSize (0x7fea154d8540) 0
+
+Class QSizeF
+ size=16 align=8
+ base size=16 base align=8
+QSizeF (0x7fea15524380) 0
+
+Class QRect
+ size=16 align=4
+ base size=16 base align=4
+QRect (0x7fea1556f9a0) 0
+
+Class QRectF
+ size=32 align=8
+ base size=32 base align=8
+QRectF (0x7fea15427380) 0
+
+Class QSharedData
+ size=4 align=4
+ base size=4 base align=4
+QSharedData (0x7fea152ca150) 0
+
+Vtable for QtSharedPointer::ExternalRefCountData
+QtSharedPointer::ExternalRefCountData::_ZTVN15QtSharedPointer20ExternalRefCountDataE: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN15QtSharedPointer20ExternalRefCountDataE)
+16 QtSharedPointer::ExternalRefCountData::~ExternalRefCountData
+24 QtSharedPointer::ExternalRefCountData::~ExternalRefCountData
+32 QtSharedPointer::ExternalRefCountData::destroy
+
+Class QtSharedPointer::ExternalRefCountData
+ size=16 align=8
+ base size=16 base align=8
+QtSharedPointer::ExternalRefCountData (0x7fea152faaf0) 0
+ vptr=((& QtSharedPointer::ExternalRefCountData::_ZTVN15QtSharedPointer20ExternalRefCountDataE) + 16u)
+
+Class QLinkedListData
+ size=32 align=8
+ base size=32 base align=8
+QLinkedListData (0x7fea15380c40) 0
+
+Class QBitArray
+ size=8 align=8
+ base size=8 base align=8
+QBitArray (0x7fea1524cb60) 0
+
+Class QBitRef
+ size=16 align=8
+ base size=12 base align=8
+QBitRef (0x7fea150c1930) 0
+
+Class QByteArrayMatcher
+ size=1040 align=8
+ base size=1040 base align=8
+QByteArrayMatcher (0x7fea150dc310) 0
+
+Class QCryptographicHash
+ size=8 align=8
+ base size=8 base align=8
+QCryptographicHash (0x7fea150efa10) 0
+
+Class QTextBoundaryFinder
+ size=48 align=8
+ base size=48 base align=8
+QTextBoundaryFinder (0x7fea1511c460) 0
+
+Class QDate
+ size=4 align=4
+ base size=4 base align=4
+QDate (0x7fea151317e0) 0
+
+Class QTime
+ size=4 align=4
+ base size=4 base align=4
+QTime (0x7fea15159770) 0
+
+Class QDateTime
+ size=8 align=8
+ base size=8 base align=8
+QDateTime (0x7fea15178d20) 0
+
+Vtable for QTimeLine
+QTimeLine::_ZTV9QTimeLine: 15u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QTimeLine)
+16 QTimeLine::metaObject
+24 QTimeLine::qt_metacast
+32 QTimeLine::qt_metacall
+40 QTimeLine::~QTimeLine
+48 QTimeLine::~QTimeLine
+56 QObject::event
+64 QObject::eventFilter
+72 QTimeLine::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QTimeLine::valueForTime
+
+Class QTimeLine
+ size=16 align=8
+ base size=16 base align=8
+QTimeLine (0x7fea14fab1c0) 0
+ vptr=((& QTimeLine::_ZTV9QTimeLine) + 16u)
+ QObject (0x7fea14fab230) 0
+ primary-for QTimeLine (0x7fea14fab1c0)
+
+Vtable for QRunnable
+QRunnable::_ZTV9QRunnable: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QRunnable)
+16 __cxa_pure_virtual
+24 QRunnable::~QRunnable
+32 QRunnable::~QRunnable
+
+Class QRunnable
+ size=16 align=8
+ base size=12 base align=8
+QRunnable (0x7fea14fd3070) 0
+ vptr=((& QRunnable::_ZTV9QRunnable) + 16u)
+
+Class QMutex
+ size=8 align=8
+ base size=8 base align=8
+QMutex (0x7fea14fde700) 0
+
+Class QMutexLocker
+ size=8 align=8
+ base size=8 base align=8
+QMutexLocker (0x7fea14fef2a0) 0
+
+Vtable for QtConcurrent::Exception
+QtConcurrent::Exception::_ZTVN12QtConcurrent9ExceptionE: 7u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN12QtConcurrent9ExceptionE)
+16 QtConcurrent::Exception::~Exception
+24 QtConcurrent::Exception::~Exception
+32 std::exception::what
+40 QtConcurrent::Exception::raise
+48 QtConcurrent::Exception::clone
+
+Class QtConcurrent::Exception
+ size=8 align=8
+ base size=8 base align=8
+QtConcurrent::Exception (0x7fea150055b0) 0 nearly-empty
+ vptr=((& QtConcurrent::Exception::_ZTVN12QtConcurrent9ExceptionE) + 16u)
+ std::exception (0x7fea15005620) 0 nearly-empty
+ primary-for QtConcurrent::Exception (0x7fea150055b0)
+
+Vtable for QtConcurrent::UnhandledException
+QtConcurrent::UnhandledException::_ZTVN12QtConcurrent18UnhandledExceptionE: 7u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN12QtConcurrent18UnhandledExceptionE)
+16 QtConcurrent::UnhandledException::~UnhandledException
+24 QtConcurrent::UnhandledException::~UnhandledException
+32 std::exception::what
+40 QtConcurrent::UnhandledException::raise
+48 QtConcurrent::UnhandledException::clone
+
+Class QtConcurrent::UnhandledException
+ size=8 align=8
+ base size=8 base align=8
+QtConcurrent::UnhandledException (0x7fea15005850) 0 nearly-empty
+ vptr=((& QtConcurrent::UnhandledException::_ZTVN12QtConcurrent18UnhandledExceptionE) + 16u)
+ QtConcurrent::Exception (0x7fea150058c0) 0 nearly-empty
+ primary-for QtConcurrent::UnhandledException (0x7fea15005850)
+ std::exception (0x7fea15005930) 0 nearly-empty
+ primary-for QtConcurrent::Exception (0x7fea150058c0)
+
+Class QtConcurrent::internal::ExceptionHolder
+ size=8 align=8
+ base size=8 base align=8
+QtConcurrent::internal::ExceptionHolder (0x7fea15005b60) 0
+
+Class QtConcurrent::internal::ExceptionStore
+ size=8 align=8
+ base size=8 base align=8
+QtConcurrent::internal::ExceptionStore (0x7fea15005ee0) 0
+
+Class QtConcurrent::ResultItem
+ size=16 align=8
+ base size=16 base align=8
+QtConcurrent::ResultItem (0x7fea15005f50) 0
+
+Class QtConcurrent::ResultIteratorBase
+ size=16 align=8
+ base size=12 base align=8
+QtConcurrent::ResultIteratorBase (0x7fea1501be70) 0
+
+Vtable for QtConcurrent::ResultStoreBase
+QtConcurrent::ResultStoreBase::_ZTVN12QtConcurrent15ResultStoreBaseE: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN12QtConcurrent15ResultStoreBaseE)
+16 QtConcurrent::ResultStoreBase::~ResultStoreBase
+24 QtConcurrent::ResultStoreBase::~ResultStoreBase
+
+Class QtConcurrent::ResultStoreBase
+ size=48 align=8
+ base size=44 base align=8
+QtConcurrent::ResultStoreBase (0x7fea15020a10) 0
+ vptr=((& QtConcurrent::ResultStoreBase::_ZTVN12QtConcurrent15ResultStoreBaseE) + 16u)
+
+Vtable for QFutureInterfaceBase
+QFutureInterfaceBase::_ZTV20QFutureInterfaceBase: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI20QFutureInterfaceBase)
+16 QFutureInterfaceBase::~QFutureInterfaceBase
+24 QFutureInterfaceBase::~QFutureInterfaceBase
+
+Class QFutureInterfaceBase
+ size=16 align=8
+ base size=16 base align=8
+QFutureInterfaceBase (0x7fea15061e70) 0
+ vptr=((& QFutureInterfaceBase::_ZTV20QFutureInterfaceBase) + 16u)
+
+Vtable for QThread
+QThread::_ZTV7QThread: 15u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QThread)
+16 QThread::metaObject
+24 QThread::qt_metacast
+32 QThread::qt_metacall
+40 QThread::~QThread
+48 QThread::~QThread
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QThread::run
+
+Class QThread
+ size=16 align=8
+ base size=16 base align=8
+QThread (0x7fea14f43e00) 0
+ vptr=((& QThread::_ZTV7QThread) + 16u)
+ QObject (0x7fea14f43e70) 0
+ primary-for QThread (0x7fea14f43e00)
+
+Vtable for QThreadPool
+QThreadPool::_ZTV11QThreadPool: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QThreadPool)
+16 QThreadPool::metaObject
+24 QThreadPool::qt_metacast
+32 QThreadPool::qt_metacall
+40 QThreadPool::~QThreadPool
+48 QThreadPool::~QThreadPool
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QThreadPool
+ size=16 align=8
+ base size=16 base align=8
+QThreadPool (0x7fea14f76cb0) 0
+ vptr=((& QThreadPool::_ZTV11QThreadPool) + 16u)
+ QObject (0x7fea14f76d20) 0
+ primary-for QThreadPool (0x7fea14f76cb0)
+
+Class QWaitCondition
+ size=8 align=8
+ base size=8 base align=8
+QWaitCondition (0x7fea14d91540) 0
+
+Class QtConcurrent::ThreadEngineSemaphore
+ size=24 align=8
+ base size=24 base align=8
+QtConcurrent::ThreadEngineSemaphore (0x7fea14d91a80) 0
+
+Vtable for QtConcurrent::ThreadEngineBase
+QtConcurrent::ThreadEngineBase::_ZTVN12QtConcurrent16ThreadEngineBaseE: 11u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN12QtConcurrent16ThreadEngineBaseE)
+16 QtConcurrent::ThreadEngineBase::run
+24 QtConcurrent::ThreadEngineBase::~ThreadEngineBase
+32 QtConcurrent::ThreadEngineBase::~ThreadEngineBase
+40 QtConcurrent::ThreadEngineBase::start
+48 QtConcurrent::ThreadEngineBase::finish
+56 QtConcurrent::ThreadEngineBase::threadFunction
+64 QtConcurrent::ThreadEngineBase::shouldStartThread
+72 QtConcurrent::ThreadEngineBase::shouldThrottleThread
+80 __cxa_pure_virtual
+
+Class QtConcurrent::ThreadEngineBase
+ size=64 align=8
+ base size=64 base align=8
+QtConcurrent::ThreadEngineBase (0x7fea14dae460) 0
+ vptr=((& QtConcurrent::ThreadEngineBase::_ZTVN12QtConcurrent16ThreadEngineBaseE) + 16u)
+ QRunnable (0x7fea14dae4d0) 0
+ primary-for QtConcurrent::ThreadEngineBase (0x7fea14dae460)
+
+VTT for QtConcurrent::ThreadEngine<void>
+QtConcurrent::ThreadEngine<void>::_ZTTN12QtConcurrent12ThreadEngineIvEE: 2u entries
+0 ((& QtConcurrent::ThreadEngine<void>::_ZTVN12QtConcurrent12ThreadEngineIvEE) + 24u)
+8 ((& QtConcurrent::ThreadEngine<void>::_ZTVN12QtConcurrent12ThreadEngineIvEE) + 136u)
+
+Class std::input_iterator_tag
+ size=1 align=1
+ base size=0 base align=1
+std::input_iterator_tag (0x7fea14df0850) 0 empty
+
+Class std::output_iterator_tag
+ size=1 align=1
+ base size=0 base align=1
+std::output_iterator_tag (0x7fea14df08c0) 0 empty
+
+Class std::forward_iterator_tag
+ size=1 align=1
+ base size=1 base align=1
+std::forward_iterator_tag (0x7fea14df0930) 0 empty
+ std::input_iterator_tag (0x7fea14df09a0) 0 empty
+
+Class std::bidirectional_iterator_tag
+ size=1 align=1
+ base size=1 base align=1
+std::bidirectional_iterator_tag (0x7fea14df0a10) 0 empty
+ std::forward_iterator_tag (0x7fea14df0a80) 0 empty
+ std::input_iterator_tag (0x7fea14df0af0) 0 empty
+
+Class std::random_access_iterator_tag
+ size=1 align=1
+ base size=1 base align=1
+std::random_access_iterator_tag (0x7fea14df0b60) 0 empty
+ std::bidirectional_iterator_tag (0x7fea14df0bd0) 0 empty
+ std::forward_iterator_tag (0x7fea14df0c40) 0 empty
+ std::input_iterator_tag (0x7fea14df0cb0) 0 empty
+
+Class std::__true_type
+ size=1 align=1
+ base size=0 base align=1
+std::__true_type (0x7fea14e032a0) 0 empty
+
+Class std::__false_type
+ size=1 align=1
+ base size=0 base align=1
+std::__false_type (0x7fea14e03310) 0 empty
+
+Class lconv
+ size=96 align=8
+ base size=96 base align=8
+lconv (0x7fea14be0620) 0
+
+Class sched_param
+ size=4 align=4
+ base size=4 base align=4
+sched_param (0x7fea14be0a80) 0
+
+Class __sched_param
+ size=4 align=4
+ base size=4 base align=4
+__sched_param (0x7fea14be0af0) 0
+
+Class tm
+ size=56 align=8
+ base size=56 base align=8
+tm (0x7fea14be0bd0) 0
+
+Class itimerspec
+ size=32 align=8
+ base size=32 base align=8
+itimerspec (0x7fea14be0cb0) 0
+
+Class _pthread_cleanup_buffer
+ size=32 align=8
+ base size=32 base align=8
+_pthread_cleanup_buffer (0x7fea14be0d20) 0
+
+Class __pthread_cleanup_frame
+ size=24 align=8
+ base size=24 base align=8
+__pthread_cleanup_frame (0x7fea14be0e70) 0
+
+Class __pthread_cleanup_class
+ size=24 align=8
+ base size=24 base align=8
+__pthread_cleanup_class (0x7fea14be0ee0) 0
+
+Vtable for __cxxabiv1::__forced_unwind
+__cxxabiv1::__forced_unwind::_ZTVN10__cxxabiv115__forced_unwindE: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN10__cxxabiv115__forced_unwindE)
+16 __cxxabiv1::__forced_unwind::~__forced_unwind
+24 __cxxabiv1::__forced_unwind::~__forced_unwind
+32 __cxa_pure_virtual
+
+Class __cxxabiv1::__forced_unwind
+ size=8 align=8
+ base size=8 base align=8
+__cxxabiv1::__forced_unwind (0x7fea14aeba80) 0 nearly-empty
+ vptr=((& __cxxabiv1::__forced_unwind::_ZTVN10__cxxabiv115__forced_unwindE) + 16u)
+
+Class std::locale
+ size=8 align=8
+ base size=8 base align=8
+std::locale (0x7fea1479d5b0) 0
+
+Vtable for std::locale::facet
+std::locale::facet::_ZTVNSt6locale5facetE: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTINSt6locale5facetE)
+16 std::locale::facet::~facet
+24 std::locale::facet::~facet
+
+Class std::locale::facet
+ size=16 align=8
+ base size=12 base align=8
+std::locale::facet (0x7fea1483fcb0) 0
+ vptr=((& std::locale::facet::_ZTVNSt6locale5facetE) + 16u)
+
+Class std::locale::id
+ size=8 align=8
+ base size=8 base align=8
+std::locale::id (0x7fea148542a0) 0
+
+Class std::locale::_Impl
+ size=40 align=8
+ base size=40 base align=8
+std::locale::_Impl (0x7fea148548c0) 0
+
+Vtable for std::ios_base::failure
+std::ios_base::failure::_ZTVNSt8ios_base7failureE: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTINSt8ios_base7failureE)
+16 std::ios_base::failure::~failure
+24 std::ios_base::failure::~failure
+32 std::ios_base::failure::what
+
+Class std::ios_base::failure
+ size=16 align=8
+ base size=16 base align=8
+std::ios_base::failure (0x7fea146e2070) 0
+ vptr=((& std::ios_base::failure::_ZTVNSt8ios_base7failureE) + 16u)
+ std::exception (0x7fea146e20e0) 0 nearly-empty
+ primary-for std::ios_base::failure (0x7fea146e2070)
+
+Class std::ios_base::_Callback_list
+ size=24 align=8
+ base size=24 base align=8
+std::ios_base::_Callback_list (0x7fea146f0310) 0
+
+Class std::ios_base::_Words
+ size=16 align=8
+ base size=16 base align=8
+std::ios_base::_Words (0x7fea146f0d90) 0
+
+Class std::ios_base::Init
+ size=1 align=1
+ base size=0 base align=1
+std::ios_base::Init (0x7fea146f84d0) 0 empty
+
+Vtable for std::ios_base
+std::ios_base::_ZTVSt8ios_base: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt8ios_base)
+16 std::ios_base::~ios_base
+24 std::ios_base::~ios_base
+
+Class std::ios_base
+ size=216 align=8
+ base size=216 base align=8
+std::ios_base (0x7fea146e2000) 0
+ vptr=((& std::ios_base::_ZTVSt8ios_base) + 16u)
+
+Class std::ctype_base
+ size=1 align=1
+ base size=0 base align=1
+std::ctype_base (0x7fea1476e930) 0 empty
+
+Class std::__num_base
+ size=1 align=1
+ base size=0 base align=1
+std::__num_base (0x7fea144941c0) 0 empty
+
+VTT for std::basic_ostream<char, std::char_traits<char> >
+std::basic_ostream<char, std::char_traits<char> >::_ZTTSo: 2u entries
+0 ((& std::basic_ostream<char, std::char_traits<char> >::_ZTVSo) + 24u)
+8 ((& std::basic_ostream<char, std::char_traits<char> >::_ZTVSo) + 64u)
+
+VTT for std::basic_ostream<wchar_t, std::char_traits<wchar_t> >
+std::basic_ostream<wchar_t, std::char_traits<wchar_t> >::_ZTTSt13basic_ostreamIwSt11char_traitsIwEE: 2u entries
+0 ((& std::basic_ostream<wchar_t, std::char_traits<wchar_t> >::_ZTVSt13basic_ostreamIwSt11char_traitsIwEE) + 24u)
+8 ((& std::basic_ostream<wchar_t, std::char_traits<wchar_t> >::_ZTVSt13basic_ostreamIwSt11char_traitsIwEE) + 64u)
+
+VTT for std::basic_istream<char, std::char_traits<char> >
+std::basic_istream<char, std::char_traits<char> >::_ZTTSi: 2u entries
+0 ((& std::basic_istream<char, std::char_traits<char> >::_ZTVSi) + 24u)
+8 ((& std::basic_istream<char, std::char_traits<char> >::_ZTVSi) + 64u)
+
+VTT for std::basic_istream<wchar_t, std::char_traits<wchar_t> >
+std::basic_istream<wchar_t, std::char_traits<wchar_t> >::_ZTTSt13basic_istreamIwSt11char_traitsIwEE: 2u entries
+0 ((& std::basic_istream<wchar_t, std::char_traits<wchar_t> >::_ZTVSt13basic_istreamIwSt11char_traitsIwEE) + 24u)
+8 ((& std::basic_istream<wchar_t, std::char_traits<wchar_t> >::_ZTVSt13basic_istreamIwSt11char_traitsIwEE) + 64u)
+
+Construction vtable for std::basic_istream<char, std::char_traits<char> > (0x7fea141c7310 instance) in std::basic_iostream<char, std::char_traits<char> >
+std::basic_iostream<char, std::char_traits<char> >::_ZTCSd0_Si: 10u entries
+0 24u
+8 (int (*)(...))0
+16 (int (*)(...))(& _ZTISi)
+24 std::basic_istream<_CharT, _Traits>::~basic_istream [with _CharT = char, _Traits = std::char_traits<char>]
+32 std::basic_istream<_CharT, _Traits>::~basic_istream [with _CharT = char, _Traits = std::char_traits<char>]
+40 -24u
+48 (int (*)(...))-0x00000000000000018
+56 (int (*)(...))(& _ZTISi)
+64 std::basic_istream<char, std::char_traits<char> >::_ZTv0_n24_NSiD1Ev
+72 std::basic_istream<char, std::char_traits<char> >::_ZTv0_n24_NSiD0Ev
+
+Construction vtable for std::basic_ostream<char, std::char_traits<char> > (0x7fea141c7460 instance) in std::basic_iostream<char, std::char_traits<char> >
+std::basic_iostream<char, std::char_traits<char> >::_ZTCSd16_So: 10u entries
+0 8u
+8 (int (*)(...))0
+16 (int (*)(...))(& _ZTISo)
+24 std::basic_ostream<_CharT, _Traits>::~basic_ostream [with _CharT = char, _Traits = std::char_traits<char>]
+32 std::basic_ostream<_CharT, _Traits>::~basic_ostream [with _CharT = char, _Traits = std::char_traits<char>]
+40 -8u
+48 (int (*)(...))-0x00000000000000008
+56 (int (*)(...))(& _ZTISo)
+64 std::basic_ostream<char, std::char_traits<char> >::_ZTv0_n24_NSoD1Ev
+72 std::basic_ostream<char, std::char_traits<char> >::_ZTv0_n24_NSoD0Ev
+
+VTT for std::basic_iostream<char, std::char_traits<char> >
+std::basic_iostream<char, std::char_traits<char> >::_ZTTSd: 7u entries
+0 ((& std::basic_iostream<char, std::char_traits<char> >::_ZTVSd) + 24u)
+8 ((& std::basic_iostream<char, std::char_traits<char> >::_ZTCSd0_Si) + 24u)
+16 ((& std::basic_iostream<char, std::char_traits<char> >::_ZTCSd0_Si) + 64u)
+24 ((& std::basic_iostream<char, std::char_traits<char> >::_ZTCSd16_So) + 24u)
+32 ((& std::basic_iostream<char, std::char_traits<char> >::_ZTCSd16_So) + 64u)
+40 ((& std::basic_iostream<char, std::char_traits<char> >::_ZTVSd) + 104u)
+48 ((& std::basic_iostream<char, std::char_traits<char> >::_ZTVSd) + 64u)
+
+Construction vtable for std::basic_istream<wchar_t, std::char_traits<wchar_t> > (0x7fea141c7620 instance) in std::basic_iostream<wchar_t, std::char_traits<wchar_t> >
+std::basic_iostream<wchar_t, std::char_traits<wchar_t> >::_ZTCSt14basic_iostreamIwSt11char_traitsIwEE0_St13basic_istreamIwS1_E: 10u entries
+0 24u
+8 (int (*)(...))0
+16 (int (*)(...))(& _ZTISt13basic_istreamIwSt11char_traitsIwEE)
+24 std::basic_istream<_CharT, _Traits>::~basic_istream [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
+32 std::basic_istream<_CharT, _Traits>::~basic_istream [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
+40 -24u
+48 (int (*)(...))-0x00000000000000018
+56 (int (*)(...))(& _ZTISt13basic_istreamIwSt11char_traitsIwEE)
+64 std::basic_istream<wchar_t, std::char_traits<wchar_t> >::_ZTv0_n24_NSt13basic_istreamIwSt11char_traitsIwEED1Ev
+72 std::basic_istream<wchar_t, std::char_traits<wchar_t> >::_ZTv0_n24_NSt13basic_istreamIwSt11char_traitsIwEED0Ev
+
+Construction vtable for std::basic_ostream<wchar_t, std::char_traits<wchar_t> > (0x7fea141c7770 instance) in std::basic_iostream<wchar_t, std::char_traits<wchar_t> >
+std::basic_iostream<wchar_t, std::char_traits<wchar_t> >::_ZTCSt14basic_iostreamIwSt11char_traitsIwEE16_St13basic_ostreamIwS1_E: 10u entries
+0 8u
+8 (int (*)(...))0
+16 (int (*)(...))(& _ZTISt13basic_ostreamIwSt11char_traitsIwEE)
+24 std::basic_ostream<_CharT, _Traits>::~basic_ostream [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
+32 std::basic_ostream<_CharT, _Traits>::~basic_ostream [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
+40 -8u
+48 (int (*)(...))-0x00000000000000008
+56 (int (*)(...))(& _ZTISt13basic_ostreamIwSt11char_traitsIwEE)
+64 std::basic_ostream<wchar_t, std::char_traits<wchar_t> >::_ZTv0_n24_NSt13basic_ostreamIwSt11char_traitsIwEED1Ev
+72 std::basic_ostream<wchar_t, std::char_traits<wchar_t> >::_ZTv0_n24_NSt13basic_ostreamIwSt11char_traitsIwEED0Ev
+
+VTT for std::basic_iostream<wchar_t, std::char_traits<wchar_t> >
+std::basic_iostream<wchar_t, std::char_traits<wchar_t> >::_ZTTSt14basic_iostreamIwSt11char_traitsIwEE: 7u entries
+0 ((& std::basic_iostream<wchar_t, std::char_traits<wchar_t> >::_ZTVSt14basic_iostreamIwSt11char_traitsIwEE) + 24u)
+8 ((& std::basic_iostream<wchar_t, std::char_traits<wchar_t> >::_ZTCSt14basic_iostreamIwSt11char_traitsIwEE0_St13basic_istreamIwS1_E) + 24u)
+16 ((& std::basic_iostream<wchar_t, std::char_traits<wchar_t> >::_ZTCSt14basic_iostreamIwSt11char_traitsIwEE0_St13basic_istreamIwS1_E) + 64u)
+24 ((& std::basic_iostream<wchar_t, std::char_traits<wchar_t> >::_ZTCSt14basic_iostreamIwSt11char_traitsIwEE16_St13basic_ostreamIwS1_E) + 24u)
+32 ((& std::basic_iostream<wchar_t, std::char_traits<wchar_t> >::_ZTCSt14basic_iostreamIwSt11char_traitsIwEE16_St13basic_ostreamIwS1_E) + 64u)
+40 ((& std::basic_iostream<wchar_t, std::char_traits<wchar_t> >::_ZTVSt14basic_iostreamIwSt11char_traitsIwEE) + 104u)
+48 ((& std::basic_iostream<wchar_t, std::char_traits<wchar_t> >::_ZTVSt14basic_iostreamIwSt11char_traitsIwEE) + 64u)
+
+Class QtConcurrent::BlockSizeManager
+ size=96 align=8
+ base size=92 base align=8
+QtConcurrent::BlockSizeManager (0x7fea14233230) 0
+
+Vtable for QFutureWatcherBase
+QFutureWatcherBase::_ZTV18QFutureWatcherBase: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QFutureWatcherBase)
+16 QFutureWatcherBase::metaObject
+24 QFutureWatcherBase::qt_metacast
+32 QFutureWatcherBase::qt_metacall
+40 QFutureWatcherBase::~QFutureWatcherBase
+48 QFutureWatcherBase::~QFutureWatcherBase
+56 QFutureWatcherBase::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QFutureWatcherBase::connectNotify
+104 QFutureWatcherBase::disconnectNotify
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+
+Class QFutureWatcherBase
+ size=16 align=8
+ base size=16 base align=8
+QFutureWatcherBase (0x7fea13dbebd0) 0
+ vptr=((& QFutureWatcherBase::_ZTV18QFutureWatcherBase) + 16u)
+ QObject (0x7fea13dbec40) 0
+ primary-for QFutureWatcherBase (0x7fea13dbebd0)
+
+Vtable for QFactoryInterface
+QFactoryInterface::_ZTV17QFactoryInterface: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QFactoryInterface)
+16 QFactoryInterface::~QFactoryInterface
+24 QFactoryInterface::~QFactoryInterface
+32 __cxa_pure_virtual
+
+Class QFactoryInterface
+ size=8 align=8
+ base size=8 base align=8
+QFactoryInterface (0x7fea13cd7e00) 0 nearly-empty
+ vptr=((& QFactoryInterface::_ZTV17QFactoryInterface) + 16u)
+
+Vtable for QTextCodecFactoryInterface
+QTextCodecFactoryInterface::_ZTV26QTextCodecFactoryInterface: 6u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI26QTextCodecFactoryInterface)
+16 QTextCodecFactoryInterface::~QTextCodecFactoryInterface
+24 QTextCodecFactoryInterface::~QTextCodecFactoryInterface
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+
+Class QTextCodecFactoryInterface
+ size=8 align=8
+ base size=8 base align=8
+QTextCodecFactoryInterface (0x7fea13cf8ee0) 0 nearly-empty
+ vptr=((& QTextCodecFactoryInterface::_ZTV26QTextCodecFactoryInterface) + 16u)
+ QFactoryInterface (0x7fea13cf8f50) 0 nearly-empty
+ primary-for QTextCodecFactoryInterface (0x7fea13cf8ee0)
+
+Vtable for QTextCodecPlugin
+QTextCodecPlugin::_ZTV16QTextCodecPlugin: 27u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QTextCodecPlugin)
+16 QTextCodecPlugin::metaObject
+24 QTextCodecPlugin::qt_metacast
+32 QTextCodecPlugin::qt_metacall
+40 QTextCodecPlugin::~QTextCodecPlugin
+48 QTextCodecPlugin::~QTextCodecPlugin
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 __cxa_pure_virtual
+136 __cxa_pure_virtual
+144 __cxa_pure_virtual
+152 QTextCodecPlugin::keys
+160 QTextCodecPlugin::create
+168 (int (*)(...))-0x00000000000000010
+176 (int (*)(...))(& _ZTI16QTextCodecPlugin)
+184 QTextCodecPlugin::_ZThn16_N16QTextCodecPluginD1Ev
+192 QTextCodecPlugin::_ZThn16_N16QTextCodecPluginD0Ev
+200 QTextCodecPlugin::_ZThn16_NK16QTextCodecPlugin4keysEv
+208 QTextCodecPlugin::_ZThn16_N16QTextCodecPlugin6createERK7QString
+
+Class QTextCodecPlugin
+ size=24 align=8
+ base size=24 base align=8
+QTextCodecPlugin (0x7fea13cfde00) 0
+ vptr=((& QTextCodecPlugin::_ZTV16QTextCodecPlugin) + 16u)
+ QObject (0x7fea13d037e0) 0
+ primary-for QTextCodecPlugin (0x7fea13cfde00)
+ QTextCodecFactoryInterface (0x7fea13d03850) 16 nearly-empty
+ vptr=((& QTextCodecPlugin::_ZTV16QTextCodecPlugin) + 184u)
+ QFactoryInterface (0x7fea13d038c0) 16 nearly-empty
+ primary-for QTextCodecFactoryInterface (0x7fea13d03850)
+
+Class QLibraryInfo
+ size=1 align=1
+ base size=0 base align=1
+QLibraryInfo (0x7fea13d1a700) 0 empty
+
+Vtable for QTranslator
+QTranslator::_ZTV11QTranslator: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QTranslator)
+16 QTranslator::metaObject
+24 QTranslator::qt_metacast
+32 QTranslator::qt_metacall
+40 QTranslator::~QTranslator
+48 QTranslator::~QTranslator
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QTranslator::translate
+120 QTranslator::isEmpty
+
+Class QTranslator
+ size=16 align=8
+ base size=16 base align=8
+QTranslator (0x7fea13b5d000) 0
+ vptr=((& QTranslator::_ZTV11QTranslator) + 16u)
+ QObject (0x7fea13b5d070) 0
+ primary-for QTranslator (0x7fea13b5d000)
+
+Class __exception
+ size=40 align=8
+ base size=40 base align=8
+__exception (0x7fea13b72f50) 0
+
+Vtable for QMimeData
+QMimeData::_ZTV9QMimeData: 17u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QMimeData)
+16 QMimeData::metaObject
+24 QMimeData::qt_metacast
+32 QMimeData::qt_metacall
+40 QMimeData::~QMimeData
+48 QMimeData::~QMimeData
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QMimeData::hasFormat
+120 QMimeData::formats
+128 QMimeData::retrieveData
+
+Class QMimeData
+ size=16 align=8
+ base size=16 base align=8
+QMimeData (0x7fea13bdd150) 0
+ vptr=((& QMimeData::_ZTV9QMimeData) + 16u)
+ QObject (0x7fea13bdd1c0) 0
+ primary-for QMimeData (0x7fea13bdd150)
+
+Vtable for QEventLoop
+QEventLoop::_ZTV10QEventLoop: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QEventLoop)
+16 QEventLoop::metaObject
+24 QEventLoop::qt_metacast
+32 QEventLoop::qt_metacall
+40 QEventLoop::~QEventLoop
+48 QEventLoop::~QEventLoop
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QEventLoop
+ size=16 align=8
+ base size=16 base align=8
+QEventLoop (0x7fea13bf59a0) 0
+ vptr=((& QEventLoop::_ZTV10QEventLoop) + 16u)
+ QObject (0x7fea13bf5a10) 0
+ primary-for QEventLoop (0x7fea13bf59a0)
+
+Vtable for QEvent
+QEvent::_ZTV6QEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI6QEvent)
+16 QEvent::~QEvent
+24 QEvent::~QEvent
+
+Class QEvent
+ size=24 align=8
+ base size=20 base align=8
+QEvent (0x7fea13c34310) 0
+ vptr=((& QEvent::_ZTV6QEvent) + 16u)
+
+Vtable for QTimerEvent
+QTimerEvent::_ZTV11QTimerEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QTimerEvent)
+16 QTimerEvent::~QTimerEvent
+24 QTimerEvent::~QTimerEvent
+
+Class QTimerEvent
+ size=24 align=8
+ base size=24 base align=8
+QTimerEvent (0x7fea13a4dee0) 0
+ vptr=((& QTimerEvent::_ZTV11QTimerEvent) + 16u)
+ QEvent (0x7fea13a4df50) 0
+ primary-for QTimerEvent (0x7fea13a4dee0)
+
+Vtable for QChildEvent
+QChildEvent::_ZTV11QChildEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QChildEvent)
+16 QChildEvent::~QChildEvent
+24 QChildEvent::~QChildEvent
+
+Class QChildEvent
+ size=32 align=8
+ base size=32 base align=8
+QChildEvent (0x7fea13a50380) 0
+ vptr=((& QChildEvent::_ZTV11QChildEvent) + 16u)
+ QEvent (0x7fea13a503f0) 0
+ primary-for QChildEvent (0x7fea13a50380)
+
+Vtable for QCustomEvent
+QCustomEvent::_ZTV12QCustomEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QCustomEvent)
+16 QCustomEvent::~QCustomEvent
+24 QCustomEvent::~QCustomEvent
+
+Class QCustomEvent
+ size=24 align=8
+ base size=20 base align=8
+QCustomEvent (0x7fea13a64620) 0
+ vptr=((& QCustomEvent::_ZTV12QCustomEvent) + 16u)
+ QEvent (0x7fea13a64690) 0
+ primary-for QCustomEvent (0x7fea13a64620)
+
+Vtable for QDynamicPropertyChangeEvent
+QDynamicPropertyChangeEvent::_ZTV27QDynamicPropertyChangeEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI27QDynamicPropertyChangeEvent)
+16 QDynamicPropertyChangeEvent::~QDynamicPropertyChangeEvent
+24 QDynamicPropertyChangeEvent::~QDynamicPropertyChangeEvent
+
+Class QDynamicPropertyChangeEvent
+ size=32 align=8
+ base size=32 base align=8
+QDynamicPropertyChangeEvent (0x7fea13a64e00) 0
+ vptr=((& QDynamicPropertyChangeEvent::_ZTV27QDynamicPropertyChangeEvent) + 16u)
+ QEvent (0x7fea13a64e70) 0
+ primary-for QDynamicPropertyChangeEvent (0x7fea13a64e00)
+
+Vtable for QCoreApplication
+QCoreApplication::_ZTV16QCoreApplication: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QCoreApplication)
+16 QCoreApplication::metaObject
+24 QCoreApplication::qt_metacast
+32 QCoreApplication::qt_metacall
+40 QCoreApplication::~QCoreApplication
+48 QCoreApplication::~QCoreApplication
+56 QCoreApplication::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QCoreApplication::notify
+120 QCoreApplication::compressEvent
+
+Class QCoreApplication
+ size=16 align=8
+ base size=16 base align=8
+QCoreApplication (0x7fea13a72230) 0
+ vptr=((& QCoreApplication::_ZTV16QCoreApplication) + 16u)
+ QObject (0x7fea13a722a0) 0
+ primary-for QCoreApplication (0x7fea13a72230)
+
+Vtable for QSharedMemory
+QSharedMemory::_ZTV13QSharedMemory: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QSharedMemory)
+16 QSharedMemory::metaObject
+24 QSharedMemory::qt_metacast
+32 QSharedMemory::qt_metacall
+40 QSharedMemory::~QSharedMemory
+48 QSharedMemory::~QSharedMemory
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QSharedMemory
+ size=16 align=8
+ base size=16 base align=8
+QSharedMemory (0x7fea13a9fa80) 0
+ vptr=((& QSharedMemory::_ZTV13QSharedMemory) + 16u)
+ QObject (0x7fea13a9faf0) 0
+ primary-for QSharedMemory (0x7fea13a9fa80)
+
+Class QModelIndex
+ size=24 align=8
+ base size=24 base align=8
+QModelIndex (0x7fea13abc850) 0
+
+Class QPersistentModelIndex
+ size=8 align=8
+ base size=8 base align=8
+QPersistentModelIndex (0x7fea13ae5310) 0
+
+Vtable for QAbstractItemModel
+QAbstractItemModel::_ZTV18QAbstractItemModel: 42u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QAbstractItemModel)
+16 QAbstractItemModel::metaObject
+24 QAbstractItemModel::qt_metacast
+32 QAbstractItemModel::qt_metacall
+40 QAbstractItemModel::~QAbstractItemModel
+48 QAbstractItemModel::~QAbstractItemModel
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 __cxa_pure_virtual
+136 __cxa_pure_virtual
+144 QAbstractItemModel::hasChildren
+152 __cxa_pure_virtual
+160 QAbstractItemModel::setData
+168 QAbstractItemModel::headerData
+176 QAbstractItemModel::setHeaderData
+184 QAbstractItemModel::itemData
+192 QAbstractItemModel::setItemData
+200 QAbstractItemModel::mimeTypes
+208 QAbstractItemModel::mimeData
+216 QAbstractItemModel::dropMimeData
+224 QAbstractItemModel::supportedDropActions
+232 QAbstractItemModel::insertRows
+240 QAbstractItemModel::insertColumns
+248 QAbstractItemModel::removeRows
+256 QAbstractItemModel::removeColumns
+264 QAbstractItemModel::fetchMore
+272 QAbstractItemModel::canFetchMore
+280 QAbstractItemModel::flags
+288 QAbstractItemModel::sort
+296 QAbstractItemModel::buddy
+304 QAbstractItemModel::match
+312 QAbstractItemModel::span
+320 QAbstractItemModel::submit
+328 QAbstractItemModel::revert
+
+Class QAbstractItemModel
+ size=16 align=8
+ base size=16 base align=8
+QAbstractItemModel (0x7fea13af25b0) 0
+ vptr=((& QAbstractItemModel::_ZTV18QAbstractItemModel) + 16u)
+ QObject (0x7fea13af2620) 0
+ primary-for QAbstractItemModel (0x7fea13af25b0)
+
+Vtable for QAbstractTableModel
+QAbstractTableModel::_ZTV19QAbstractTableModel: 42u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QAbstractTableModel)
+16 QAbstractTableModel::metaObject
+24 QAbstractTableModel::qt_metacast
+32 QAbstractTableModel::qt_metacall
+40 QAbstractTableModel::~QAbstractTableModel
+48 QAbstractTableModel::~QAbstractTableModel
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QAbstractTableModel::index
+120 QAbstractTableModel::parent
+128 __cxa_pure_virtual
+136 __cxa_pure_virtual
+144 QAbstractTableModel::hasChildren
+152 __cxa_pure_virtual
+160 QAbstractItemModel::setData
+168 QAbstractItemModel::headerData
+176 QAbstractItemModel::setHeaderData
+184 QAbstractItemModel::itemData
+192 QAbstractItemModel::setItemData
+200 QAbstractItemModel::mimeTypes
+208 QAbstractItemModel::mimeData
+216 QAbstractTableModel::dropMimeData
+224 QAbstractItemModel::supportedDropActions
+232 QAbstractItemModel::insertRows
+240 QAbstractItemModel::insertColumns
+248 QAbstractItemModel::removeRows
+256 QAbstractItemModel::removeColumns
+264 QAbstractItemModel::fetchMore
+272 QAbstractItemModel::canFetchMore
+280 QAbstractItemModel::flags
+288 QAbstractItemModel::sort
+296 QAbstractItemModel::buddy
+304 QAbstractItemModel::match
+312 QAbstractItemModel::span
+320 QAbstractItemModel::submit
+328 QAbstractItemModel::revert
+
+Class QAbstractTableModel
+ size=16 align=8
+ base size=16 base align=8
+QAbstractTableModel (0x7fea13946930) 0
+ vptr=((& QAbstractTableModel::_ZTV19QAbstractTableModel) + 16u)
+ QAbstractItemModel (0x7fea139469a0) 0
+ primary-for QAbstractTableModel (0x7fea13946930)
+ QObject (0x7fea13946a10) 0
+ primary-for QAbstractItemModel (0x7fea139469a0)
+
+Vtable for QAbstractListModel
+QAbstractListModel::_ZTV18QAbstractListModel: 42u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QAbstractListModel)
+16 QAbstractListModel::metaObject
+24 QAbstractListModel::qt_metacast
+32 QAbstractListModel::qt_metacall
+40 QAbstractListModel::~QAbstractListModel
+48 QAbstractListModel::~QAbstractListModel
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QAbstractListModel::index
+120 QAbstractListModel::parent
+128 __cxa_pure_virtual
+136 QAbstractListModel::columnCount
+144 QAbstractListModel::hasChildren
+152 __cxa_pure_virtual
+160 QAbstractItemModel::setData
+168 QAbstractItemModel::headerData
+176 QAbstractItemModel::setHeaderData
+184 QAbstractItemModel::itemData
+192 QAbstractItemModel::setItemData
+200 QAbstractItemModel::mimeTypes
+208 QAbstractItemModel::mimeData
+216 QAbstractListModel::dropMimeData
+224 QAbstractItemModel::supportedDropActions
+232 QAbstractItemModel::insertRows
+240 QAbstractItemModel::insertColumns
+248 QAbstractItemModel::removeRows
+256 QAbstractItemModel::removeColumns
+264 QAbstractItemModel::fetchMore
+272 QAbstractItemModel::canFetchMore
+280 QAbstractItemModel::flags
+288 QAbstractItemModel::sort
+296 QAbstractItemModel::buddy
+304 QAbstractItemModel::match
+312 QAbstractItemModel::span
+320 QAbstractItemModel::submit
+328 QAbstractItemModel::revert
+
+Class QAbstractListModel
+ size=16 align=8
+ base size=16 base align=8
+QAbstractListModel (0x7fea13953ee0) 0
+ vptr=((& QAbstractListModel::_ZTV18QAbstractListModel) + 16u)
+ QAbstractItemModel (0x7fea13953f50) 0
+ primary-for QAbstractListModel (0x7fea13953ee0)
+ QObject (0x7fea13953230) 0
+ primary-for QAbstractItemModel (0x7fea13953f50)
+
+Vtable for QSignalMapper
+QSignalMapper::_ZTV13QSignalMapper: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QSignalMapper)
+16 QSignalMapper::metaObject
+24 QSignalMapper::qt_metacast
+32 QSignalMapper::qt_metacall
+40 QSignalMapper::~QSignalMapper
+48 QSignalMapper::~QSignalMapper
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QSignalMapper
+ size=16 align=8
+ base size=16 base align=8
+QSignalMapper (0x7fea13993000) 0
+ vptr=((& QSignalMapper::_ZTV13QSignalMapper) + 16u)
+ QObject (0x7fea13993070) 0
+ primary-for QSignalMapper (0x7fea13993000)
+
+Vtable for QObjectCleanupHandler
+QObjectCleanupHandler::_ZTV21QObjectCleanupHandler: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI21QObjectCleanupHandler)
+16 QObjectCleanupHandler::metaObject
+24 QObjectCleanupHandler::qt_metacast
+32 QObjectCleanupHandler::qt_metacall
+40 QObjectCleanupHandler::~QObjectCleanupHandler
+48 QObjectCleanupHandler::~QObjectCleanupHandler
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QObjectCleanupHandler
+ size=24 align=8
+ base size=24 base align=8
+QObjectCleanupHandler (0x7fea139ab3f0) 0
+ vptr=((& QObjectCleanupHandler::_ZTV21QObjectCleanupHandler) + 16u)
+ QObject (0x7fea139ab460) 0
+ primary-for QObjectCleanupHandler (0x7fea139ab3f0)
+
+Class QBasicTimer
+ size=4 align=4
+ base size=4 base align=4
+QBasicTimer (0x7fea139bb540) 0
+
+Vtable for QSocketNotifier
+QSocketNotifier::_ZTV15QSocketNotifier: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QSocketNotifier)
+16 QSocketNotifier::metaObject
+24 QSocketNotifier::qt_metacast
+32 QSocketNotifier::qt_metacall
+40 QSocketNotifier::~QSocketNotifier
+48 QSocketNotifier::~QSocketNotifier
+56 QSocketNotifier::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QSocketNotifier
+ size=32 align=8
+ base size=25 base align=8
+QSocketNotifier (0x7fea139c6930) 0
+ vptr=((& QSocketNotifier::_ZTV15QSocketNotifier) + 16u)
+ QObject (0x7fea139c69a0) 0
+ primary-for QSocketNotifier (0x7fea139c6930)
+
+Vtable for QTimer
+QTimer::_ZTV6QTimer: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI6QTimer)
+16 QTimer::metaObject
+24 QTimer::qt_metacast
+32 QTimer::qt_metacall
+40 QTimer::~QTimer
+48 QTimer::~QTimer
+56 QObject::event
+64 QObject::eventFilter
+72 QTimer::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QTimer
+ size=32 align=8
+ base size=29 base align=8
+QTimer (0x7fea139e4cb0) 0
+ vptr=((& QTimer::_ZTV6QTimer) + 16u)
+ QObject (0x7fea139e4d20) 0
+ primary-for QTimer (0x7fea139e4cb0)
+
+Vtable for QAbstractEventDispatcher
+QAbstractEventDispatcher::_ZTV24QAbstractEventDispatcher: 27u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI24QAbstractEventDispatcher)
+16 QAbstractEventDispatcher::metaObject
+24 QAbstractEventDispatcher::qt_metacast
+32 QAbstractEventDispatcher::qt_metacall
+40 QAbstractEventDispatcher::~QAbstractEventDispatcher
+48 QAbstractEventDispatcher::~QAbstractEventDispatcher
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 __cxa_pure_virtual
+136 __cxa_pure_virtual
+144 __cxa_pure_virtual
+152 __cxa_pure_virtual
+160 __cxa_pure_virtual
+168 __cxa_pure_virtual
+176 __cxa_pure_virtual
+184 __cxa_pure_virtual
+192 __cxa_pure_virtual
+200 QAbstractEventDispatcher::startingUp
+208 QAbstractEventDispatcher::closingDown
+
+Class QAbstractEventDispatcher
+ size=16 align=8
+ base size=16 base align=8
+QAbstractEventDispatcher (0x7fea13a052a0) 0
+ vptr=((& QAbstractEventDispatcher::_ZTV24QAbstractEventDispatcher) + 16u)
+ QObject (0x7fea13a05310) 0
+ primary-for QAbstractEventDispatcher (0x7fea13a052a0)
+
+Class QMetaMethod
+ size=16 align=8
+ base size=12 base align=8
+QMetaMethod (0x7fea13a20150) 0
+
+Class QMetaEnum
+ size=16 align=8
+ base size=12 base align=8
+QMetaEnum (0x7fea13a3b5b0) 0
+
+Class QMetaProperty
+ size=32 align=8
+ base size=32 base align=8
+QMetaProperty (0x7fea13847310) 0
+
+Class QMetaClassInfo
+ size=16 align=8
+ base size=12 base align=8
+QMetaClassInfo (0x7fea138479a0) 0
+
+Class QSystemSemaphore
+ size=8 align=8
+ base size=8 base align=8
+QSystemSemaphore (0x7fea1385b4d0) 0
+
+Vtable for QLibrary
+QLibrary::_ZTV8QLibrary: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI8QLibrary)
+16 QLibrary::metaObject
+24 QLibrary::qt_metacast
+32 QLibrary::qt_metacall
+40 QLibrary::~QLibrary
+48 QLibrary::~QLibrary
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QLibrary
+ size=32 align=8
+ base size=25 base align=8
+QLibrary (0x7fea1385be00) 0
+ vptr=((& QLibrary::_ZTV8QLibrary) + 16u)
+ QObject (0x7fea1385be70) 0
+ primary-for QLibrary (0x7fea1385be00)
+
+Vtable for QPluginLoader
+QPluginLoader::_ZTV13QPluginLoader: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QPluginLoader)
+16 QPluginLoader::metaObject
+24 QPluginLoader::qt_metacast
+32 QPluginLoader::qt_metacall
+40 QPluginLoader::~QPluginLoader
+48 QPluginLoader::~QPluginLoader
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QPluginLoader
+ size=32 align=8
+ base size=25 base align=8
+QPluginLoader (0x7fea138a28c0) 0
+ vptr=((& QPluginLoader::_ZTV13QPluginLoader) + 16u)
+ QObject (0x7fea138a2930) 0
+ primary-for QPluginLoader (0x7fea138a28c0)
+
+Class QUuid
+ size=16 align=4
+ base size=16 base align=4
+QUuid (0x7fea138c4070) 0
+
+Class QSemaphore
+ size=8 align=8
+ base size=8 base align=8
+QSemaphore (0x7fea138e39a0) 0
+
+Class QThreadStorageData
+ size=4 align=4
+ base size=4 base align=4
+QThreadStorageData (0x7fea138e3ee0) 0
+
+Class QReadWriteLock
+ size=8 align=8
+ base size=8 base align=8
+QReadWriteLock (0x7fea138f2690) 0
+
+Class QReadLocker
+ size=8 align=8
+ base size=8 base align=8
+QReadLocker (0x7fea138f2d20) 0
+
+Class QWriteLocker
+ size=8 align=8
+ base size=8 base align=8
+QWriteLocker (0x7fea139250e0) 0
+
+Class QColor
+ size=16 align=4
+ base size=14 base align=4
+QColor (0x7fea1393fe70) 0
+
+Class QFont
+ size=16 align=8
+ base size=12 base align=8
+QFont (0x7fea137960e0) 0
+
+Class QPolygon
+ size=8 align=8
+ base size=8 base align=8
+QPolygon (0x7fea137d0ee0) 0
+ QVector<QPoint> (0x7fea137d0f50) 0
+
+Class QPolygonF
+ size=8 align=8
+ base size=8 base align=8
+QPolygonF (0x7fea13837070) 0
+ QVector<QPointF> (0x7fea138370e0) 0
+
+Class QRegion::QRegionData
+ size=32 align=8
+ base size=32 base align=8
+QRegion::QRegionData (0x7fea1366e5b0) 0
+
+Class QRegion
+ size=8 align=8
+ base size=8 base align=8
+QRegion (0x7fea1364dcb0) 0
+
+Class QMatrix
+ size=48 align=8
+ base size=48 base align=8
+QMatrix (0x7fea13681e00) 0
+
+Class QPainterPath::Element
+ size=24 align=8
+ base size=24 base align=8
+QPainterPath::Element (0x7fea136ba850) 0
+
+Class QPainterPath
+ size=8 align=8
+ base size=8 base align=8
+QPainterPath (0x7fea136ba7e0) 0
+
+Class QPainterPathPrivate
+ size=16 align=8
+ base size=16 base align=8
+QPainterPathPrivate (0x7fea136fdbd0) 0
+
+Class QPainterPathStroker
+ size=8 align=8
+ base size=8 base align=8
+QPainterPathStroker (0x7fea13705770) 0
+
+Class QTransform
+ size=88 align=8
+ base size=88 base align=8
+QTransform (0x7fea1356a310) 0
+
+Vtable for QPaintDevice
+QPaintDevice::_ZTV12QPaintDevice: 7u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QPaintDevice)
+16 QPaintDevice::~QPaintDevice
+24 QPaintDevice::~QPaintDevice
+32 QPaintDevice::devType
+40 __cxa_pure_virtual
+48 QPaintDevice::metric
+
+Class QPaintDevice
+ size=16 align=8
+ base size=10 base align=8
+QPaintDevice (0x7fea135e2620) 0
+ vptr=((& QPaintDevice::_ZTV12QPaintDevice) + 16u)
+
+Class QImageTextKeyLang
+ size=16 align=8
+ base size=16 base align=8
+QImageTextKeyLang (0x7fea13607f50) 0
+
+Vtable for QImage
+QImage::_ZTV6QImage: 7u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI6QImage)
+16 QImage::~QImage
+24 QImage::~QImage
+32 QImage::devType
+40 QImage::paintEngine
+48 QImage::metric
+
+Class QImage
+ size=24 align=8
+ base size=24 base align=8
+QImage (0x7fea136357e0) 0
+ vptr=((& QImage::_ZTV6QImage) + 16u)
+ QPaintDevice (0x7fea13635850) 0
+ primary-for QImage (0x7fea136357e0)
+
+Vtable for QPixmap
+QPixmap::_ZTV7QPixmap: 7u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QPixmap)
+16 QPixmap::~QPixmap
+24 QPixmap::~QPixmap
+32 QPixmap::devType
+40 QPixmap::paintEngine
+48 QPixmap::metric
+
+Class QPixmap
+ size=24 align=8
+ base size=24 base align=8
+QPixmap (0x7fea134d8230) 0
+ vptr=((& QPixmap::_ZTV7QPixmap) + 16u)
+ QPaintDevice (0x7fea134d82a0) 0
+ primary-for QPixmap (0x7fea134d8230)
+
+Class QBrush
+ size=8 align=8
+ base size=8 base align=8
+QBrush (0x7fea135243f0) 0
+
+Class QBrushData
+ size=112 align=8
+ base size=112 base align=8
+QBrushData (0x7fea13348000) 0
+
+Class QGradient
+ size=64 align=8
+ base size=64 base align=8
+QGradient (0x7fea133571c0) 0
+
+Class QLinearGradient
+ size=64 align=8
+ base size=64 base align=8
+QLinearGradient (0x7fea13368cb0) 0
+ QGradient (0x7fea13368d20) 0
+
+Class QRadialGradient
+ size=64 align=8
+ base size=64 base align=8
+QRadialGradient (0x7fea13393150) 0
+ QGradient (0x7fea133931c0) 0
+
+Class QConicalGradient
+ size=64 align=8
+ base size=64 base align=8
+QConicalGradient (0x7fea13393700) 0
+ QGradient (0x7fea13393770) 0
+
+Class QPen
+ size=8 align=8
+ base size=8 base align=8
+QPen (0x7fea13393a80) 0
+
+Class QTextOption::Tab
+ size=16 align=8
+ base size=14 base align=8
+QTextOption::Tab (0x7fea133bd230) 0
+
+Class QTextOption
+ size=32 align=8
+ base size=32 base align=8
+QTextOption (0x7fea133bd1c0) 0
+
+Class QTextLength
+ size=16 align=8
+ base size=16 base align=8
+QTextLength (0x7fea1341a620) 0
+
+Class QTextFormat
+ size=16 align=8
+ base size=12 base align=8
+QTextFormat (0x7fea134359a0) 0
+
+Class QTextCharFormat
+ size=16 align=8
+ base size=12 base align=8
+QTextCharFormat (0x7fea132e0a10) 0
+ QTextFormat (0x7fea132e0a80) 0
+
+Class QTextBlockFormat
+ size=16 align=8
+ base size=12 base align=8
+QTextBlockFormat (0x7fea1314a690) 0
+ QTextFormat (0x7fea1314a700) 0
+
+Class QTextListFormat
+ size=16 align=8
+ base size=12 base align=8
+QTextListFormat (0x7fea1316bcb0) 0
+ QTextFormat (0x7fea1316bd20) 0
+
+Class QTextImageFormat
+ size=16 align=8
+ base size=12 base align=8
+QTextImageFormat (0x7fea1317d1c0) 0
+ QTextCharFormat (0x7fea1317d230) 0
+ QTextFormat (0x7fea1317d2a0) 0
+
+Class QTextFrameFormat
+ size=16 align=8
+ base size=12 base align=8
+QTextFrameFormat (0x7fea131878c0) 0
+ QTextFormat (0x7fea13187930) 0
+
+Class QTextTableFormat
+ size=16 align=8
+ base size=12 base align=8
+QTextTableFormat (0x7fea131bd7e0) 0
+ QTextFrameFormat (0x7fea131bd850) 0
+ QTextFormat (0x7fea131bd8c0) 0
+
+Class QTextTableCellFormat
+ size=16 align=8
+ base size=12 base align=8
+QTextTableCellFormat (0x7fea131d8690) 0
+ QTextCharFormat (0x7fea131d8700) 0
+ QTextFormat (0x7fea131d8770) 0
+
+Vtable for QTextObject
+QTextObject::_ZTV11QTextObject: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QTextObject)
+16 QTextObject::metaObject
+24 QTextObject::qt_metacast
+32 QTextObject::qt_metacall
+40 QTextObject::~QTextObject
+48 QTextObject::~QTextObject
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QTextObject
+ size=16 align=8
+ base size=16 base align=8
+QTextObject (0x7fea131eeb60) 0
+ vptr=((& QTextObject::_ZTV11QTextObject) + 16u)
+ QObject (0x7fea131eebd0) 0
+ primary-for QTextObject (0x7fea131eeb60)
+
+Vtable for QTextBlockGroup
+QTextBlockGroup::_ZTV15QTextBlockGroup: 17u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QTextBlockGroup)
+16 QTextBlockGroup::metaObject
+24 QTextBlockGroup::qt_metacast
+32 QTextBlockGroup::qt_metacall
+40 QTextBlockGroup::~QTextBlockGroup
+48 QTextBlockGroup::~QTextBlockGroup
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QTextBlockGroup::blockInserted
+120 QTextBlockGroup::blockRemoved
+128 QTextBlockGroup::blockFormatChanged
+
+Class QTextBlockGroup
+ size=16 align=8
+ base size=16 base align=8
+QTextBlockGroup (0x7fea132073f0) 0
+ vptr=((& QTextBlockGroup::_ZTV15QTextBlockGroup) + 16u)
+ QTextObject (0x7fea13207460) 0
+ primary-for QTextBlockGroup (0x7fea132073f0)
+ QObject (0x7fea132074d0) 0
+ primary-for QTextObject (0x7fea13207460)
+
+Vtable for QTextFrameLayoutData
+QTextFrameLayoutData::_ZTV20QTextFrameLayoutData: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI20QTextFrameLayoutData)
+16 QTextFrameLayoutData::~QTextFrameLayoutData
+24 QTextFrameLayoutData::~QTextFrameLayoutData
+
+Class QTextFrameLayoutData
+ size=8 align=8
+ base size=8 base align=8
+QTextFrameLayoutData (0x7fea13218cb0) 0 nearly-empty
+ vptr=((& QTextFrameLayoutData::_ZTV20QTextFrameLayoutData) + 16u)
+
+Class QTextFrame::iterator
+ size=32 align=8
+ base size=28 base align=8
+QTextFrame::iterator (0x7fea13223700) 0
+
+Vtable for QTextFrame
+QTextFrame::_ZTV10QTextFrame: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QTextFrame)
+16 QTextFrame::metaObject
+24 QTextFrame::qt_metacast
+32 QTextFrame::qt_metacall
+40 QTextFrame::~QTextFrame
+48 QTextFrame::~QTextFrame
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QTextFrame
+ size=16 align=8
+ base size=16 base align=8
+QTextFrame (0x7fea13218e00) 0
+ vptr=((& QTextFrame::_ZTV10QTextFrame) + 16u)
+ QTextObject (0x7fea13218e70) 0
+ primary-for QTextFrame (0x7fea13218e00)
+ QObject (0x7fea13218ee0) 0
+ primary-for QTextObject (0x7fea13218e70)
+
+Vtable for QTextBlockUserData
+QTextBlockUserData::_ZTV18QTextBlockUserData: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QTextBlockUserData)
+16 QTextBlockUserData::~QTextBlockUserData
+24 QTextBlockUserData::~QTextBlockUserData
+
+Class QTextBlockUserData
+ size=8 align=8
+ base size=8 base align=8
+QTextBlockUserData (0x7fea13057850) 0 nearly-empty
+ vptr=((& QTextBlockUserData::_ZTV18QTextBlockUserData) + 16u)
+
+Class QTextBlock::iterator
+ size=24 align=8
+ base size=20 base align=8
+QTextBlock::iterator (0x7fea130601c0) 0
+
+Class QTextBlock
+ size=16 align=8
+ base size=12 base align=8
+QTextBlock (0x7fea130579a0) 0
+
+Class QTextFragment
+ size=16 align=8
+ base size=16 base align=8
+QTextFragment (0x7fea13099310) 0
+
+Class QFontMetrics
+ size=8 align=8
+ base size=8 base align=8
+QFontMetrics (0x7fea130b64d0) 0
+
+Class QFontMetricsF
+ size=8 align=8
+ base size=8 base align=8
+QFontMetricsF (0x7fea130cd930) 0
+
+Class QFontDatabase
+ size=8 align=8
+ base size=8 base align=8
+QFontDatabase (0x7fea130d8850) 0
+
+Vtable for QAbstractUndoItem
+QAbstractUndoItem::_ZTV17QAbstractUndoItem: 6u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QAbstractUndoItem)
+16 __cxa_pure_virtual
+24 __cxa_pure_virtual
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+
+Class QAbstractUndoItem
+ size=8 align=8
+ base size=8 base align=8
+QAbstractUndoItem (0x7fea130ef850) 0 nearly-empty
+ vptr=((& QAbstractUndoItem::_ZTV17QAbstractUndoItem) + 16u)
+
+Vtable for QTextDocument
+QTextDocument::_ZTV13QTextDocument: 17u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QTextDocument)
+16 QTextDocument::metaObject
+24 QTextDocument::qt_metacast
+32 QTextDocument::qt_metacall
+40 QTextDocument::~QTextDocument
+48 QTextDocument::~QTextDocument
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QTextDocument::clear
+120 QTextDocument::createObject
+128 QTextDocument::loadResource
+
+Class QTextDocument
+ size=16 align=8
+ base size=16 base align=8
+QTextDocument (0x7fea131042a0) 0
+ vptr=((& QTextDocument::_ZTV13QTextDocument) + 16u)
+ QObject (0x7fea13104310) 0
+ primary-for QTextDocument (0x7fea131042a0)
+
+Class QTextTableCell
+ size=16 align=8
+ base size=12 base align=8
+QTextTableCell (0x7fea12f632a0) 0
+
+Vtable for QTextTable
+QTextTable::_ZTV10QTextTable: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QTextTable)
+16 QTextTable::metaObject
+24 QTextTable::qt_metacast
+32 QTextTable::qt_metacall
+40 QTextTable::~QTextTable
+48 QTextTable::~QTextTable
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QTextTable
+ size=16 align=8
+ base size=16 base align=8
+QTextTable (0x7fea12f7c3f0) 0
+ vptr=((& QTextTable::_ZTV10QTextTable) + 16u)
+ QTextFrame (0x7fea12f7c460) 0
+ primary-for QTextTable (0x7fea12f7c3f0)
+ QTextObject (0x7fea12f7c4d0) 0
+ primary-for QTextFrame (0x7fea12f7c460)
+ QObject (0x7fea12f7c540) 0
+ primary-for QTextObject (0x7fea12f7c4d0)
+
+Class QTextDocumentWriter
+ size=8 align=8
+ base size=8 base align=8
+QTextDocumentWriter (0x7fea12f97bd0) 0
+
+Class QKeySequence
+ size=8 align=8
+ base size=8 base align=8
+QKeySequence (0x7fea12fa32a0) 0
+
+Vtable for QMimeSource
+QMimeSource::_ZTV11QMimeSource: 7u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QMimeSource)
+16 QMimeSource::~QMimeSource
+24 QMimeSource::~QMimeSource
+32 __cxa_pure_virtual
+40 QMimeSource::provides
+48 __cxa_pure_virtual
+
+Class QMimeSource
+ size=8 align=8
+ base size=8 base align=8
+QMimeSource (0x7fea12fbfe70) 0 nearly-empty
+ vptr=((& QMimeSource::_ZTV11QMimeSource) + 16u)
+
+Vtable for QDrag
+QDrag::_ZTV5QDrag: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI5QDrag)
+16 QDrag::metaObject
+24 QDrag::qt_metacast
+32 QDrag::qt_metacall
+40 QDrag::~QDrag
+48 QDrag::~QDrag
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QDrag
+ size=16 align=8
+ base size=16 base align=8
+QDrag (0x7fea12fbff50) 0
+ vptr=((& QDrag::_ZTV5QDrag) + 16u)
+ QObject (0x7fea12feb000) 0
+ primary-for QDrag (0x7fea12fbff50)
+
+Vtable for QInputEvent
+QInputEvent::_ZTV11QInputEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QInputEvent)
+16 QInputEvent::~QInputEvent
+24 QInputEvent::~QInputEvent
+
+Class QInputEvent
+ size=24 align=8
+ base size=24 base align=8
+QInputEvent (0x7fea12fff770) 0
+ vptr=((& QInputEvent::_ZTV11QInputEvent) + 16u)
+ QEvent (0x7fea12fff7e0) 0
+ primary-for QInputEvent (0x7fea12fff770)
+
+Vtable for QMouseEvent
+QMouseEvent::_ZTV11QMouseEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QMouseEvent)
+16 QMouseEvent::~QMouseEvent
+24 QMouseEvent::~QMouseEvent
+
+Class QMouseEvent
+ size=48 align=8
+ base size=48 base align=8
+QMouseEvent (0x7fea12fffd20) 0
+ vptr=((& QMouseEvent::_ZTV11QMouseEvent) + 16u)
+ QInputEvent (0x7fea12fffd90) 0
+ primary-for QMouseEvent (0x7fea12fffd20)
+ QEvent (0x7fea12fffe00) 0
+ primary-for QInputEvent (0x7fea12fffd90)
+
+Vtable for QHoverEvent
+QHoverEvent::_ZTV11QHoverEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QHoverEvent)
+16 QHoverEvent::~QHoverEvent
+24 QHoverEvent::~QHoverEvent
+
+Class QHoverEvent
+ size=40 align=8
+ base size=36 base align=8
+QHoverEvent (0x7fea13020b60) 0
+ vptr=((& QHoverEvent::_ZTV11QHoverEvent) + 16u)
+ QEvent (0x7fea13020bd0) 0
+ primary-for QHoverEvent (0x7fea13020b60)
+
+Vtable for QWheelEvent
+QWheelEvent::_ZTV11QWheelEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QWheelEvent)
+16 QWheelEvent::~QWheelEvent
+24 QWheelEvent::~QWheelEvent
+
+Class QWheelEvent
+ size=56 align=8
+ base size=52 base align=8
+QWheelEvent (0x7fea12e36230) 0
+ vptr=((& QWheelEvent::_ZTV11QWheelEvent) + 16u)
+ QInputEvent (0x7fea12e362a0) 0
+ primary-for QWheelEvent (0x7fea12e36230)
+ QEvent (0x7fea12e36310) 0
+ primary-for QInputEvent (0x7fea12e362a0)
+
+Vtable for QTabletEvent
+QTabletEvent::_ZTV12QTabletEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QTabletEvent)
+16 QTabletEvent::~QTabletEvent
+24 QTabletEvent::~QTabletEvent
+
+Class QTabletEvent
+ size=120 align=8
+ base size=120 base align=8
+QTabletEvent (0x7fea12e4e070) 0
+ vptr=((& QTabletEvent::_ZTV12QTabletEvent) + 16u)
+ QInputEvent (0x7fea12e4e0e0) 0
+ primary-for QTabletEvent (0x7fea12e4e070)
+ QEvent (0x7fea12e4e150) 0
+ primary-for QInputEvent (0x7fea12e4e0e0)
+
+Vtable for QKeyEvent
+QKeyEvent::_ZTV9QKeyEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QKeyEvent)
+16 QKeyEvent::~QKeyEvent
+24 QKeyEvent::~QKeyEvent
+
+Class QKeyEvent
+ size=40 align=8
+ base size=39 base align=8
+QKeyEvent (0x7fea12e69380) 0
+ vptr=((& QKeyEvent::_ZTV9QKeyEvent) + 16u)
+ QInputEvent (0x7fea12e693f0) 0
+ primary-for QKeyEvent (0x7fea12e69380)
+ QEvent (0x7fea12e69460) 0
+ primary-for QInputEvent (0x7fea12e693f0)
+
+Vtable for QFocusEvent
+QFocusEvent::_ZTV11QFocusEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QFocusEvent)
+16 QFocusEvent::~QFocusEvent
+24 QFocusEvent::~QFocusEvent
+
+Class QFocusEvent
+ size=24 align=8
+ base size=24 base align=8
+QFocusEvent (0x7fea12e8ccb0) 0
+ vptr=((& QFocusEvent::_ZTV11QFocusEvent) + 16u)
+ QEvent (0x7fea12e8cd20) 0
+ primary-for QFocusEvent (0x7fea12e8ccb0)
+
+Vtable for QPaintEvent
+QPaintEvent::_ZTV11QPaintEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QPaintEvent)
+16 QPaintEvent::~QPaintEvent
+24 QPaintEvent::~QPaintEvent
+
+Class QPaintEvent
+ size=56 align=8
+ base size=49 base align=8
+QPaintEvent (0x7fea12e98770) 0
+ vptr=((& QPaintEvent::_ZTV11QPaintEvent) + 16u)
+ QEvent (0x7fea12e987e0) 0
+ primary-for QPaintEvent (0x7fea12e98770)
+
+Vtable for QUpdateLaterEvent
+QUpdateLaterEvent::_ZTV17QUpdateLaterEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QUpdateLaterEvent)
+16 QUpdateLaterEvent::~QUpdateLaterEvent
+24 QUpdateLaterEvent::~QUpdateLaterEvent
+
+Class QUpdateLaterEvent
+ size=32 align=8
+ base size=32 base align=8
+QUpdateLaterEvent (0x7fea12ea6380) 0
+ vptr=((& QUpdateLaterEvent::_ZTV17QUpdateLaterEvent) + 16u)
+ QEvent (0x7fea12ea63f0) 0
+ primary-for QUpdateLaterEvent (0x7fea12ea6380)
+
+Vtable for QMoveEvent
+QMoveEvent::_ZTV10QMoveEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QMoveEvent)
+16 QMoveEvent::~QMoveEvent
+24 QMoveEvent::~QMoveEvent
+
+Class QMoveEvent
+ size=40 align=8
+ base size=36 base align=8
+QMoveEvent (0x7fea12ea67e0) 0
+ vptr=((& QMoveEvent::_ZTV10QMoveEvent) + 16u)
+ QEvent (0x7fea12ea6850) 0
+ primary-for QMoveEvent (0x7fea12ea67e0)
+
+Vtable for QResizeEvent
+QResizeEvent::_ZTV12QResizeEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QResizeEvent)
+16 QResizeEvent::~QResizeEvent
+24 QResizeEvent::~QResizeEvent
+
+Class QResizeEvent
+ size=40 align=8
+ base size=36 base align=8
+QResizeEvent (0x7fea12ea6e70) 0
+ vptr=((& QResizeEvent::_ZTV12QResizeEvent) + 16u)
+ QEvent (0x7fea12ea6ee0) 0
+ primary-for QResizeEvent (0x7fea12ea6e70)
+
+Vtable for QCloseEvent
+QCloseEvent::_ZTV11QCloseEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QCloseEvent)
+16 QCloseEvent::~QCloseEvent
+24 QCloseEvent::~QCloseEvent
+
+Class QCloseEvent
+ size=24 align=8
+ base size=20 base align=8
+QCloseEvent (0x7fea12eb73f0) 0
+ vptr=((& QCloseEvent::_ZTV11QCloseEvent) + 16u)
+ QEvent (0x7fea12eb7460) 0
+ primary-for QCloseEvent (0x7fea12eb73f0)
+
+Vtable for QIconDragEvent
+QIconDragEvent::_ZTV14QIconDragEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QIconDragEvent)
+16 QIconDragEvent::~QIconDragEvent
+24 QIconDragEvent::~QIconDragEvent
+
+Class QIconDragEvent
+ size=24 align=8
+ base size=20 base align=8
+QIconDragEvent (0x7fea12eb7620) 0
+ vptr=((& QIconDragEvent::_ZTV14QIconDragEvent) + 16u)
+ QEvent (0x7fea12eb7690) 0
+ primary-for QIconDragEvent (0x7fea12eb7620)
+
+Vtable for QShowEvent
+QShowEvent::_ZTV10QShowEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QShowEvent)
+16 QShowEvent::~QShowEvent
+24 QShowEvent::~QShowEvent
+
+Class QShowEvent
+ size=24 align=8
+ base size=20 base align=8
+QShowEvent (0x7fea12eb7850) 0
+ vptr=((& QShowEvent::_ZTV10QShowEvent) + 16u)
+ QEvent (0x7fea12eb78c0) 0
+ primary-for QShowEvent (0x7fea12eb7850)
+
+Vtable for QHideEvent
+QHideEvent::_ZTV10QHideEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QHideEvent)
+16 QHideEvent::~QHideEvent
+24 QHideEvent::~QHideEvent
+
+Class QHideEvent
+ size=24 align=8
+ base size=20 base align=8
+QHideEvent (0x7fea12eb7a80) 0
+ vptr=((& QHideEvent::_ZTV10QHideEvent) + 16u)
+ QEvent (0x7fea12eb7af0) 0
+ primary-for QHideEvent (0x7fea12eb7a80)
+
+Vtable for QContextMenuEvent
+QContextMenuEvent::_ZTV17QContextMenuEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QContextMenuEvent)
+16 QContextMenuEvent::~QContextMenuEvent
+24 QContextMenuEvent::~QContextMenuEvent
+
+Class QContextMenuEvent
+ size=48 align=8
+ base size=41 base align=8
+QContextMenuEvent (0x7fea12eb7cb0) 0
+ vptr=((& QContextMenuEvent::_ZTV17QContextMenuEvent) + 16u)
+ QInputEvent (0x7fea12eb7d20) 0
+ primary-for QContextMenuEvent (0x7fea12eb7cb0)
+ QEvent (0x7fea12eb7d90) 0
+ primary-for QInputEvent (0x7fea12eb7d20)
+
+Class QInputMethodEvent::Attribute
+ size=32 align=8
+ base size=32 base align=8
+QInputMethodEvent::Attribute (0x7fea12ed3850) 0
+
+Vtable for QInputMethodEvent
+QInputMethodEvent::_ZTV17QInputMethodEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QInputMethodEvent)
+16 QInputMethodEvent::~QInputMethodEvent
+24 QInputMethodEvent::~QInputMethodEvent
+
+Class QInputMethodEvent
+ size=56 align=8
+ base size=56 base align=8
+QInputMethodEvent (0x7fea12ed3770) 0
+ vptr=((& QInputMethodEvent::_ZTV17QInputMethodEvent) + 16u)
+ QEvent (0x7fea12ed37e0) 0
+ primary-for QInputMethodEvent (0x7fea12ed3770)
+
+Vtable for QDropEvent
+QDropEvent::_ZTV10QDropEvent: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QDropEvent)
+16 QDropEvent::~QDropEvent
+24 QDropEvent::~QDropEvent
+32 QDropEvent::format
+40 QDropEvent::encodedData
+48 QDropEvent::provides
+56 (int (*)(...))-0x00000000000000018
+64 (int (*)(...))(& _ZTI10QDropEvent)
+72 QDropEvent::_ZThn24_N10QDropEventD1Ev
+80 QDropEvent::_ZThn24_N10QDropEventD0Ev
+88 QDropEvent::_ZThn24_NK10QDropEvent6formatEi
+96 QDropEvent::_ZThn24_NK10QDropEvent8providesEPKc
+104 QDropEvent::_ZThn24_NK10QDropEvent11encodedDataEPKc
+
+Class QDropEvent
+ size=80 align=8
+ base size=80 base align=8
+QDropEvent (0x7fea12f0b200) 0
+ vptr=((& QDropEvent::_ZTV10QDropEvent) + 16u)
+ QEvent (0x7fea12f08f50) 0
+ primary-for QDropEvent (0x7fea12f0b200)
+ QMimeSource (0x7fea12f0d000) 24 nearly-empty
+ vptr=((& QDropEvent::_ZTV10QDropEvent) + 72u)
+
+Vtable for QDragMoveEvent
+QDragMoveEvent::_ZTV14QDragMoveEvent: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QDragMoveEvent)
+16 QDragMoveEvent::~QDragMoveEvent
+24 QDragMoveEvent::~QDragMoveEvent
+32 QDropEvent::format
+40 QDropEvent::encodedData
+48 QDropEvent::provides
+56 (int (*)(...))-0x00000000000000018
+64 (int (*)(...))(& _ZTI14QDragMoveEvent)
+72 QDragMoveEvent::_ZThn24_N14QDragMoveEventD1Ev
+80 QDragMoveEvent::_ZThn24_N14QDragMoveEventD0Ev
+88 QDropEvent::_ZThn24_NK10QDropEvent6formatEi
+96 QDropEvent::_ZThn24_NK10QDropEvent8providesEPKc
+104 QDropEvent::_ZThn24_NK10QDropEvent11encodedDataEPKc
+
+Class QDragMoveEvent
+ size=96 align=8
+ base size=96 base align=8
+QDragMoveEvent (0x7fea12f25cb0) 0
+ vptr=((& QDragMoveEvent::_ZTV14QDragMoveEvent) + 16u)
+ QDropEvent (0x7fea12f24900) 0
+ primary-for QDragMoveEvent (0x7fea12f25cb0)
+ QEvent (0x7fea12f25d20) 0
+ primary-for QDropEvent (0x7fea12f24900)
+ QMimeSource (0x7fea12f25d90) 24 nearly-empty
+ vptr=((& QDragMoveEvent::_ZTV14QDragMoveEvent) + 72u)
+
+Vtable for QDragEnterEvent
+QDragEnterEvent::_ZTV15QDragEnterEvent: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QDragEnterEvent)
+16 QDragEnterEvent::~QDragEnterEvent
+24 QDragEnterEvent::~QDragEnterEvent
+32 QDropEvent::format
+40 QDropEvent::encodedData
+48 QDropEvent::provides
+56 (int (*)(...))-0x00000000000000018
+64 (int (*)(...))(& _ZTI15QDragEnterEvent)
+72 QDragEnterEvent::_ZThn24_N15QDragEnterEventD1Ev
+80 QDragEnterEvent::_ZThn24_N15QDragEnterEventD0Ev
+88 QDropEvent::_ZThn24_NK10QDropEvent6formatEi
+96 QDropEvent::_ZThn24_NK10QDropEvent8providesEPKc
+104 QDropEvent::_ZThn24_NK10QDropEvent11encodedDataEPKc
+
+Class QDragEnterEvent
+ size=96 align=8
+ base size=96 base align=8
+QDragEnterEvent (0x7fea12d36460) 0
+ vptr=((& QDragEnterEvent::_ZTV15QDragEnterEvent) + 16u)
+ QDragMoveEvent (0x7fea12d364d0) 0
+ primary-for QDragEnterEvent (0x7fea12d36460)
+ QDropEvent (0x7fea12f34280) 0
+ primary-for QDragMoveEvent (0x7fea12d364d0)
+ QEvent (0x7fea12d36540) 0
+ primary-for QDropEvent (0x7fea12f34280)
+ QMimeSource (0x7fea12d365b0) 24 nearly-empty
+ vptr=((& QDragEnterEvent::_ZTV15QDragEnterEvent) + 72u)
+
+Vtable for QDragResponseEvent
+QDragResponseEvent::_ZTV18QDragResponseEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QDragResponseEvent)
+16 QDragResponseEvent::~QDragResponseEvent
+24 QDragResponseEvent::~QDragResponseEvent
+
+Class QDragResponseEvent
+ size=24 align=8
+ base size=21 base align=8
+QDragResponseEvent (0x7fea12d36770) 0
+ vptr=((& QDragResponseEvent::_ZTV18QDragResponseEvent) + 16u)
+ QEvent (0x7fea12d367e0) 0
+ primary-for QDragResponseEvent (0x7fea12d36770)
+
+Vtable for QDragLeaveEvent
+QDragLeaveEvent::_ZTV15QDragLeaveEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QDragLeaveEvent)
+16 QDragLeaveEvent::~QDragLeaveEvent
+24 QDragLeaveEvent::~QDragLeaveEvent
+
+Class QDragLeaveEvent
+ size=24 align=8
+ base size=20 base align=8
+QDragLeaveEvent (0x7fea12d36bd0) 0
+ vptr=((& QDragLeaveEvent::_ZTV15QDragLeaveEvent) + 16u)
+ QEvent (0x7fea12d36c40) 0
+ primary-for QDragLeaveEvent (0x7fea12d36bd0)
+
+Vtable for QHelpEvent
+QHelpEvent::_ZTV10QHelpEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QHelpEvent)
+16 QHelpEvent::~QHelpEvent
+24 QHelpEvent::~QHelpEvent
+
+Class QHelpEvent
+ size=40 align=8
+ base size=36 base align=8
+QHelpEvent (0x7fea12d36e00) 0
+ vptr=((& QHelpEvent::_ZTV10QHelpEvent) + 16u)
+ QEvent (0x7fea12d36e70) 0
+ primary-for QHelpEvent (0x7fea12d36e00)
+
+Vtable for QStatusTipEvent
+QStatusTipEvent::_ZTV15QStatusTipEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QStatusTipEvent)
+16 QStatusTipEvent::~QStatusTipEvent
+24 QStatusTipEvent::~QStatusTipEvent
+
+Class QStatusTipEvent
+ size=32 align=8
+ base size=32 base align=8
+QStatusTipEvent (0x7fea12d48e70) 0
+ vptr=((& QStatusTipEvent::_ZTV15QStatusTipEvent) + 16u)
+ QEvent (0x7fea12d48ee0) 0
+ primary-for QStatusTipEvent (0x7fea12d48e70)
+
+Vtable for QWhatsThisClickedEvent
+QWhatsThisClickedEvent::_ZTV22QWhatsThisClickedEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI22QWhatsThisClickedEvent)
+16 QWhatsThisClickedEvent::~QWhatsThisClickedEvent
+24 QWhatsThisClickedEvent::~QWhatsThisClickedEvent
+
+Class QWhatsThisClickedEvent
+ size=32 align=8
+ base size=32 base align=8
+QWhatsThisClickedEvent (0x7fea12d4d380) 0
+ vptr=((& QWhatsThisClickedEvent::_ZTV22QWhatsThisClickedEvent) + 16u)
+ QEvent (0x7fea12d4d3f0) 0
+ primary-for QWhatsThisClickedEvent (0x7fea12d4d380)
+
+Vtable for QActionEvent
+QActionEvent::_ZTV12QActionEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QActionEvent)
+16 QActionEvent::~QActionEvent
+24 QActionEvent::~QActionEvent
+
+Class QActionEvent
+ size=40 align=8
+ base size=40 base align=8
+QActionEvent (0x7fea12d4d850) 0
+ vptr=((& QActionEvent::_ZTV12QActionEvent) + 16u)
+ QEvent (0x7fea12d4d8c0) 0
+ primary-for QActionEvent (0x7fea12d4d850)
+
+Vtable for QFileOpenEvent
+QFileOpenEvent::_ZTV14QFileOpenEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QFileOpenEvent)
+16 QFileOpenEvent::~QFileOpenEvent
+24 QFileOpenEvent::~QFileOpenEvent
+
+Class QFileOpenEvent
+ size=32 align=8
+ base size=32 base align=8
+QFileOpenEvent (0x7fea12d4dee0) 0
+ vptr=((& QFileOpenEvent::_ZTV14QFileOpenEvent) + 16u)
+ QEvent (0x7fea12d4df50) 0
+ primary-for QFileOpenEvent (0x7fea12d4dee0)
+
+Vtable for QToolBarChangeEvent
+QToolBarChangeEvent::_ZTV19QToolBarChangeEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QToolBarChangeEvent)
+16 QToolBarChangeEvent::~QToolBarChangeEvent
+24 QToolBarChangeEvent::~QToolBarChangeEvent
+
+Class QToolBarChangeEvent
+ size=24 align=8
+ base size=21 base align=8
+QToolBarChangeEvent (0x7fea12d61230) 0
+ vptr=((& QToolBarChangeEvent::_ZTV19QToolBarChangeEvent) + 16u)
+ QEvent (0x7fea12d612a0) 0
+ primary-for QToolBarChangeEvent (0x7fea12d61230)
+
+Vtable for QShortcutEvent
+QShortcutEvent::_ZTV14QShortcutEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QShortcutEvent)
+16 QShortcutEvent::~QShortcutEvent
+24 QShortcutEvent::~QShortcutEvent
+
+Class QShortcutEvent
+ size=40 align=8
+ base size=40 base align=8
+QShortcutEvent (0x7fea12d61770) 0
+ vptr=((& QShortcutEvent::_ZTV14QShortcutEvent) + 16u)
+ QEvent (0x7fea12d617e0) 0
+ primary-for QShortcutEvent (0x7fea12d61770)
+
+Vtable for QClipboardEvent
+QClipboardEvent::_ZTV15QClipboardEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QClipboardEvent)
+16 QClipboardEvent::~QClipboardEvent
+24 QClipboardEvent::~QClipboardEvent
+
+Class QClipboardEvent
+ size=24 align=8
+ base size=20 base align=8
+QClipboardEvent (0x7fea12d6d620) 0
+ vptr=((& QClipboardEvent::_ZTV15QClipboardEvent) + 16u)
+ QEvent (0x7fea12d6d690) 0
+ primary-for QClipboardEvent (0x7fea12d6d620)
+
+Vtable for QWindowStateChangeEvent
+QWindowStateChangeEvent::_ZTV23QWindowStateChangeEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI23QWindowStateChangeEvent)
+16 QWindowStateChangeEvent::~QWindowStateChangeEvent
+24 QWindowStateChangeEvent::~QWindowStateChangeEvent
+
+Class QWindowStateChangeEvent
+ size=24 align=8
+ base size=24 base align=8
+QWindowStateChangeEvent (0x7fea12d6da80) 0
+ vptr=((& QWindowStateChangeEvent::_ZTV23QWindowStateChangeEvent) + 16u)
+ QEvent (0x7fea12d6daf0) 0
+ primary-for QWindowStateChangeEvent (0x7fea12d6da80)
+
+Vtable for QMenubarUpdatedEvent
+QMenubarUpdatedEvent::_ZTV20QMenubarUpdatedEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI20QMenubarUpdatedEvent)
+16 QMenubarUpdatedEvent::~QMenubarUpdatedEvent
+24 QMenubarUpdatedEvent::~QMenubarUpdatedEvent
+
+Class QMenubarUpdatedEvent
+ size=32 align=8
+ base size=32 base align=8
+QMenubarUpdatedEvent (0x7fea12d6d7e0) 0
+ vptr=((& QMenubarUpdatedEvent::_ZTV20QMenubarUpdatedEvent) + 16u)
+ QEvent (0x7fea12d6dcb0) 0
+ primary-for QMenubarUpdatedEvent (0x7fea12d6d7e0)
+
+Class QTextInlineObject
+ size=16 align=8
+ base size=16 base align=8
+QTextInlineObject (0x7fea12d7ba10) 0
+
+Class QTextLayout::FormatRange
+ size=24 align=8
+ base size=24 base align=8
+QTextLayout::FormatRange (0x7fea12d8bcb0) 0
+
+Class QTextLayout
+ size=8 align=8
+ base size=8 base align=8
+QTextLayout (0x7fea12d8ba10) 0
+
+Class QTextLine
+ size=16 align=8
+ base size=16 base align=8
+QTextLine (0x7fea12da6a80) 0
+
+Vtable for QTextList
+QTextList::_ZTV9QTextList: 17u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QTextList)
+16 QTextList::metaObject
+24 QTextList::qt_metacast
+32 QTextList::qt_metacall
+40 QTextList::~QTextList
+48 QTextList::~QTextList
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QTextBlockGroup::blockInserted
+120 QTextBlockGroup::blockRemoved
+128 QTextBlockGroup::blockFormatChanged
+
+Class QTextList
+ size=16 align=8
+ base size=16 base align=8
+QTextList (0x7fea12dd8310) 0
+ vptr=((& QTextList::_ZTV9QTextList) + 16u)
+ QTextBlockGroup (0x7fea12dd8380) 0
+ primary-for QTextList (0x7fea12dd8310)
+ QTextObject (0x7fea12dd83f0) 0
+ primary-for QTextBlockGroup (0x7fea12dd8380)
+ QObject (0x7fea12dd8460) 0
+ primary-for QTextObject (0x7fea12dd83f0)
+
+Class QFontInfo
+ size=8 align=8
+ base size=8 base align=8
+QFontInfo (0x7fea12dfb1c0) 0
+
+Class QTextDocumentFragment
+ size=8 align=8
+ base size=8 base align=8
+QTextDocumentFragment (0x7fea12dfbcb0) 0
+
+Class QTextCursor
+ size=8 align=8
+ base size=8 base align=8
+QTextCursor (0x7fea12e07700) 0
+
+Class QPalette
+ size=16 align=8
+ base size=12 base align=8
+QPalette (0x7fea12e1bbd0) 0
+
+Class QColorGroup
+ size=16 align=8
+ base size=12 base align=8
+QColorGroup (0x7fea12c814d0) 0
+ QPalette (0x7fea12c81540) 0
+
+Class QAbstractTextDocumentLayout::Selection
+ size=24 align=8
+ base size=24 base align=8
+QAbstractTextDocumentLayout::Selection (0x7fea12cb8a10) 0
+
+Class QAbstractTextDocumentLayout::PaintContext
+ size=64 align=8
+ base size=64 base align=8
+QAbstractTextDocumentLayout::PaintContext (0x7fea12cb8a80) 0
+
+Vtable for QAbstractTextDocumentLayout
+QAbstractTextDocumentLayout::_ZTV27QAbstractTextDocumentLayout: 24u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI27QAbstractTextDocumentLayout)
+16 QAbstractTextDocumentLayout::metaObject
+24 QAbstractTextDocumentLayout::qt_metacast
+32 QAbstractTextDocumentLayout::qt_metacall
+40 QAbstractTextDocumentLayout::~QAbstractTextDocumentLayout
+48 QAbstractTextDocumentLayout::~QAbstractTextDocumentLayout
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 __cxa_pure_virtual
+136 __cxa_pure_virtual
+144 __cxa_pure_virtual
+152 __cxa_pure_virtual
+160 __cxa_pure_virtual
+168 QAbstractTextDocumentLayout::resizeInlineObject
+176 QAbstractTextDocumentLayout::positionInlineObject
+184 QAbstractTextDocumentLayout::drawInlineObject
+
+Class QAbstractTextDocumentLayout
+ size=16 align=8
+ base size=16 base align=8
+QAbstractTextDocumentLayout (0x7fea12cb87e0) 0
+ vptr=((& QAbstractTextDocumentLayout::_ZTV27QAbstractTextDocumentLayout) + 16u)
+ QObject (0x7fea12cb8850) 0
+ primary-for QAbstractTextDocumentLayout (0x7fea12cb87e0)
+
+Vtable for QTextObjectInterface
+QTextObjectInterface::_ZTV20QTextObjectInterface: 6u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI20QTextObjectInterface)
+16 QTextObjectInterface::~QTextObjectInterface
+24 QTextObjectInterface::~QTextObjectInterface
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+
+Class QTextObjectInterface
+ size=8 align=8
+ base size=8 base align=8
+QTextObjectInterface (0x7fea12d03150) 0 nearly-empty
+ vptr=((& QTextObjectInterface::_ZTV20QTextObjectInterface) + 16u)
+
+Vtable for QSyntaxHighlighter
+QSyntaxHighlighter::_ZTV18QSyntaxHighlighter: 15u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QSyntaxHighlighter)
+16 QSyntaxHighlighter::metaObject
+24 QSyntaxHighlighter::qt_metacast
+32 QSyntaxHighlighter::qt_metacall
+40 QSyntaxHighlighter::~QSyntaxHighlighter
+48 QSyntaxHighlighter::~QSyntaxHighlighter
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+
+Class QSyntaxHighlighter
+ size=16 align=8
+ base size=16 base align=8
+QSyntaxHighlighter (0x7fea12d0d2a0) 0
+ vptr=((& QSyntaxHighlighter::_ZTV18QSyntaxHighlighter) + 16u)
+ QObject (0x7fea12d0d310) 0
+ primary-for QSyntaxHighlighter (0x7fea12d0d2a0)
+
+Vtable for QUndoGroup
+QUndoGroup::_ZTV10QUndoGroup: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QUndoGroup)
+16 QUndoGroup::metaObject
+24 QUndoGroup::qt_metacast
+32 QUndoGroup::qt_metacall
+40 QUndoGroup::~QUndoGroup
+48 QUndoGroup::~QUndoGroup
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QUndoGroup
+ size=16 align=8
+ base size=16 base align=8
+QUndoGroup (0x7fea12d23c40) 0
+ vptr=((& QUndoGroup::_ZTV10QUndoGroup) + 16u)
+ QObject (0x7fea12d23cb0) 0
+ primary-for QUndoGroup (0x7fea12d23c40)
+
+Class QDesktopServices
+ size=1 align=1
+ base size=0 base align=1
+QDesktopServices (0x7fea12b2f7e0) 0 empty
+
+Class QSizePolicy
+ size=4 align=4
+ base size=4 base align=4
+QSizePolicy (0x7fea12b2f930) 0
+
+Class QCursor
+ size=8 align=8
+ base size=8 base align=8
+QCursor (0x7fea12bfc690) 0
+
+Class QWidgetData
+ size=88 align=8
+ base size=88 base align=8
+QWidgetData (0x7fea12bfce70) 0
+
+Vtable for QWidget
+QWidget::_ZTV7QWidget: 63u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QWidget)
+16 QWidget::metaObject
+24 QWidget::qt_metacast
+32 QWidget::qt_metacall
+40 QWidget::~QWidget
+48 QWidget::~QWidget
+56 QWidget::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QWidget::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QWidget::paintEvent
+256 QWidget::moveEvent
+264 QWidget::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QWidget::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 (int (*)(...))-0x00000000000000010
+456 (int (*)(...))(& _ZTI7QWidget)
+464 QWidget::_ZThn16_N7QWidgetD1Ev
+472 QWidget::_ZThn16_N7QWidgetD0Ev
+480 QWidget::_ZThn16_NK7QWidget7devTypeEv
+488 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+496 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QWidget
+ size=40 align=8
+ base size=40 base align=8
+QWidget (0x7fea12bf9a00) 0
+ vptr=((& QWidget::_ZTV7QWidget) + 16u)
+ QObject (0x7fea12bfcee0) 0
+ primary-for QWidget (0x7fea12bf9a00)
+ QPaintDevice (0x7fea12bfcf50) 16
+ vptr=((& QWidget::_ZTV7QWidget) + 464u)
+
+Vtable for QFrame
+QFrame::_ZTV6QFrame: 63u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI6QFrame)
+16 QFrame::metaObject
+24 QFrame::qt_metacast
+32 QFrame::qt_metacall
+40 QFrame::~QFrame
+48 QFrame::~QFrame
+56 QFrame::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QFrame::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QFrame::paintEvent
+256 QWidget::moveEvent
+264 QWidget::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QFrame::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 (int (*)(...))-0x00000000000000010
+456 (int (*)(...))(& _ZTI6QFrame)
+464 QFrame::_ZThn16_N6QFrameD1Ev
+472 QFrame::_ZThn16_N6QFrameD0Ev
+480 QWidget::_ZThn16_NK7QWidget7devTypeEv
+488 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+496 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QFrame
+ size=40 align=8
+ base size=40 base align=8
+QFrame (0x7fea12978cb0) 0
+ vptr=((& QFrame::_ZTV6QFrame) + 16u)
+ QWidget (0x7fea1297d400) 0
+ primary-for QFrame (0x7fea12978cb0)
+ QObject (0x7fea12978d20) 0
+ primary-for QWidget (0x7fea1297d400)
+ QPaintDevice (0x7fea12978d90) 16
+ vptr=((& QFrame::_ZTV6QFrame) + 464u)
+
+Vtable for QAbstractScrollArea
+QAbstractScrollArea::_ZTV19QAbstractScrollArea: 65u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QAbstractScrollArea)
+16 QAbstractScrollArea::metaObject
+24 QAbstractScrollArea::qt_metacast
+32 QAbstractScrollArea::qt_metacall
+40 QAbstractScrollArea::~QAbstractScrollArea
+48 QAbstractScrollArea::~QAbstractScrollArea
+56 QAbstractScrollArea::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QAbstractScrollArea::sizeHint
+136 QAbstractScrollArea::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QAbstractScrollArea::mousePressEvent
+168 QAbstractScrollArea::mouseReleaseEvent
+176 QAbstractScrollArea::mouseDoubleClickEvent
+184 QAbstractScrollArea::mouseMoveEvent
+192 QAbstractScrollArea::wheelEvent
+200 QAbstractScrollArea::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QAbstractScrollArea::paintEvent
+256 QWidget::moveEvent
+264 QAbstractScrollArea::resizeEvent
+272 QWidget::closeEvent
+280 QAbstractScrollArea::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QAbstractScrollArea::dragEnterEvent
+312 QAbstractScrollArea::dragMoveEvent
+320 QAbstractScrollArea::dragLeaveEvent
+328 QAbstractScrollArea::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QFrame::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QAbstractScrollArea::viewportEvent
+456 QAbstractScrollArea::scrollContentsBy
+464 (int (*)(...))-0x00000000000000010
+472 (int (*)(...))(& _ZTI19QAbstractScrollArea)
+480 QAbstractScrollArea::_ZThn16_N19QAbstractScrollAreaD1Ev
+488 QAbstractScrollArea::_ZThn16_N19QAbstractScrollAreaD0Ev
+496 QWidget::_ZThn16_NK7QWidget7devTypeEv
+504 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+512 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QAbstractScrollArea
+ size=40 align=8
+ base size=40 base align=8
+QAbstractScrollArea (0x7fea129a3310) 0
+ vptr=((& QAbstractScrollArea::_ZTV19QAbstractScrollArea) + 16u)
+ QFrame (0x7fea129a3380) 0
+ primary-for QAbstractScrollArea (0x7fea129a3310)
+ QWidget (0x7fea12999700) 0
+ primary-for QFrame (0x7fea129a3380)
+ QObject (0x7fea129a33f0) 0
+ primary-for QWidget (0x7fea12999700)
+ QPaintDevice (0x7fea129a3460) 16
+ vptr=((& QAbstractScrollArea::_ZTV19QAbstractScrollArea) + 480u)
+
+Class QItemSelectionRange
+ size=16 align=8
+ base size=16 base align=8
+QItemSelectionRange (0x7fea129c7230) 0
+
+Vtable for QItemSelectionModel
+QItemSelectionModel::_ZTV19QItemSelectionModel: 18u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QItemSelectionModel)
+16 QItemSelectionModel::metaObject
+24 QItemSelectionModel::qt_metacast
+32 QItemSelectionModel::qt_metacall
+40 QItemSelectionModel::~QItemSelectionModel
+48 QItemSelectionModel::~QItemSelectionModel
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QItemSelectionModel::select
+120 QItemSelectionModel::select
+128 QItemSelectionModel::clear
+136 QItemSelectionModel::reset
+
+Class QItemSelectionModel
+ size=16 align=8
+ base size=16 base align=8
+QItemSelectionModel (0x7fea1282d700) 0
+ vptr=((& QItemSelectionModel::_ZTV19QItemSelectionModel) + 16u)
+ QObject (0x7fea1282d770) 0
+ primary-for QItemSelectionModel (0x7fea1282d700)
+
+Class QItemSelection
+ size=8 align=8
+ base size=8 base align=8
+QItemSelection (0x7fea1286fbd0) 0
+ QList<QItemSelectionRange> (0x7fea1286fc40) 0
+
+Vtable for QValidator
+QValidator::_ZTV10QValidator: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QValidator)
+16 QValidator::metaObject
+24 QValidator::qt_metacast
+32 QValidator::qt_metacall
+40 QValidator::~QValidator
+48 QValidator::~QValidator
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+120 QValidator::fixup
+
+Class QValidator
+ size=16 align=8
+ base size=16 base align=8
+QValidator (0x7fea128a94d0) 0
+ vptr=((& QValidator::_ZTV10QValidator) + 16u)
+ QObject (0x7fea128a9540) 0
+ primary-for QValidator (0x7fea128a94d0)
+
+Vtable for QIntValidator
+QIntValidator::_ZTV13QIntValidator: 17u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QIntValidator)
+16 QIntValidator::metaObject
+24 QIntValidator::qt_metacast
+32 QIntValidator::qt_metacall
+40 QIntValidator::~QIntValidator
+48 QIntValidator::~QIntValidator
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QIntValidator::validate
+120 QValidator::fixup
+128 QIntValidator::setRange
+
+Class QIntValidator
+ size=24 align=8
+ base size=24 base align=8
+QIntValidator (0x7fea128c3310) 0
+ vptr=((& QIntValidator::_ZTV13QIntValidator) + 16u)
+ QValidator (0x7fea128c3380) 0
+ primary-for QIntValidator (0x7fea128c3310)
+ QObject (0x7fea128c33f0) 0
+ primary-for QValidator (0x7fea128c3380)
+
+Vtable for QDoubleValidator
+QDoubleValidator::_ZTV16QDoubleValidator: 17u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QDoubleValidator)
+16 QDoubleValidator::metaObject
+24 QDoubleValidator::qt_metacast
+32 QDoubleValidator::qt_metacall
+40 QDoubleValidator::~QDoubleValidator
+48 QDoubleValidator::~QDoubleValidator
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QDoubleValidator::validate
+120 QValidator::fixup
+128 QDoubleValidator::setRange
+
+Class QDoubleValidator
+ size=40 align=8
+ base size=36 base align=8
+QDoubleValidator (0x7fea128dc2a0) 0
+ vptr=((& QDoubleValidator::_ZTV16QDoubleValidator) + 16u)
+ QValidator (0x7fea128dc310) 0
+ primary-for QDoubleValidator (0x7fea128dc2a0)
+ QObject (0x7fea128dc380) 0
+ primary-for QValidator (0x7fea128dc310)
+
+Vtable for QRegExpValidator
+QRegExpValidator::_ZTV16QRegExpValidator: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QRegExpValidator)
+16 QRegExpValidator::metaObject
+24 QRegExpValidator::qt_metacast
+32 QRegExpValidator::qt_metacall
+40 QRegExpValidator::~QRegExpValidator
+48 QRegExpValidator::~QRegExpValidator
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QRegExpValidator::validate
+120 QValidator::fixup
+
+Class QRegExpValidator
+ size=24 align=8
+ base size=24 base align=8
+QRegExpValidator (0x7fea128f7b60) 0
+ vptr=((& QRegExpValidator::_ZTV16QRegExpValidator) + 16u)
+ QValidator (0x7fea128f7bd0) 0
+ primary-for QRegExpValidator (0x7fea128f7b60)
+ QObject (0x7fea128f7c40) 0
+ primary-for QValidator (0x7fea128f7bd0)
+
+Vtable for QAbstractSpinBox
+QAbstractSpinBox::_ZTV16QAbstractSpinBox: 68u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QAbstractSpinBox)
+16 QAbstractSpinBox::metaObject
+24 QAbstractSpinBox::qt_metacast
+32 QAbstractSpinBox::qt_metacall
+40 QAbstractSpinBox::~QAbstractSpinBox
+48 QAbstractSpinBox::~QAbstractSpinBox
+56 QAbstractSpinBox::event
+64 QObject::eventFilter
+72 QAbstractSpinBox::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QAbstractSpinBox::sizeHint
+136 QAbstractSpinBox::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QAbstractSpinBox::mousePressEvent
+168 QAbstractSpinBox::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QAbstractSpinBox::mouseMoveEvent
+192 QAbstractSpinBox::wheelEvent
+200 QAbstractSpinBox::keyPressEvent
+208 QAbstractSpinBox::keyReleaseEvent
+216 QAbstractSpinBox::focusInEvent
+224 QAbstractSpinBox::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QAbstractSpinBox::paintEvent
+256 QWidget::moveEvent
+264 QAbstractSpinBox::resizeEvent
+272 QAbstractSpinBox::closeEvent
+280 QAbstractSpinBox::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QAbstractSpinBox::showEvent
+344 QAbstractSpinBox::hideEvent
+352 QWidget::x11Event
+360 QAbstractSpinBox::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QAbstractSpinBox::validate
+456 QAbstractSpinBox::fixup
+464 QAbstractSpinBox::stepBy
+472 QAbstractSpinBox::clear
+480 QAbstractSpinBox::stepEnabled
+488 (int (*)(...))-0x00000000000000010
+496 (int (*)(...))(& _ZTI16QAbstractSpinBox)
+504 QAbstractSpinBox::_ZThn16_N16QAbstractSpinBoxD1Ev
+512 QAbstractSpinBox::_ZThn16_N16QAbstractSpinBoxD0Ev
+520 QWidget::_ZThn16_NK7QWidget7devTypeEv
+528 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+536 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QAbstractSpinBox
+ size=40 align=8
+ base size=40 base align=8
+QAbstractSpinBox (0x7fea1290b7e0) 0
+ vptr=((& QAbstractSpinBox::_ZTV16QAbstractSpinBox) + 16u)
+ QWidget (0x7fea128fa700) 0
+ primary-for QAbstractSpinBox (0x7fea1290b7e0)
+ QObject (0x7fea1290b850) 0
+ primary-for QWidget (0x7fea128fa700)
+ QPaintDevice (0x7fea1290b8c0) 16
+ vptr=((& QAbstractSpinBox::_ZTV16QAbstractSpinBox) + 504u)
+
+Class QIcon
+ size=8 align=8
+ base size=8 base align=8
+QIcon (0x7fea1275a7e0) 0
+
+Vtable for QAbstractSlider
+QAbstractSlider::_ZTV15QAbstractSlider: 64u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QAbstractSlider)
+16 QAbstractSlider::metaObject
+24 QAbstractSlider::qt_metacast
+32 QAbstractSlider::qt_metacall
+40 QAbstractSlider::~QAbstractSlider
+48 QAbstractSlider::~QAbstractSlider
+56 QAbstractSlider::event
+64 QObject::eventFilter
+72 QAbstractSlider::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QWidget::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QAbstractSlider::wheelEvent
+200 QAbstractSlider::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QWidget::paintEvent
+256 QWidget::moveEvent
+264 QWidget::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QAbstractSlider::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QAbstractSlider::sliderChange
+456 (int (*)(...))-0x00000000000000010
+464 (int (*)(...))(& _ZTI15QAbstractSlider)
+472 QAbstractSlider::_ZThn16_N15QAbstractSliderD1Ev
+480 QAbstractSlider::_ZThn16_N15QAbstractSliderD0Ev
+488 QWidget::_ZThn16_NK7QWidget7devTypeEv
+496 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+504 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QAbstractSlider
+ size=40 align=8
+ base size=40 base align=8
+QAbstractSlider (0x7fea12797380) 0
+ vptr=((& QAbstractSlider::_ZTV15QAbstractSlider) + 16u)
+ QWidget (0x7fea1279a380) 0
+ primary-for QAbstractSlider (0x7fea12797380)
+ QObject (0x7fea127973f0) 0
+ primary-for QWidget (0x7fea1279a380)
+ QPaintDevice (0x7fea12797460) 16
+ vptr=((& QAbstractSlider::_ZTV15QAbstractSlider) + 472u)
+
+Vtable for QSlider
+QSlider::_ZTV7QSlider: 64u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QSlider)
+16 QSlider::metaObject
+24 QSlider::qt_metacast
+32 QSlider::qt_metacall
+40 QSlider::~QSlider
+48 QSlider::~QSlider
+56 QSlider::event
+64 QObject::eventFilter
+72 QAbstractSlider::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QSlider::sizeHint
+136 QSlider::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QSlider::mousePressEvent
+168 QSlider::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QSlider::mouseMoveEvent
+192 QAbstractSlider::wheelEvent
+200 QAbstractSlider::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QSlider::paintEvent
+256 QWidget::moveEvent
+264 QWidget::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QAbstractSlider::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QAbstractSlider::sliderChange
+456 (int (*)(...))-0x00000000000000010
+464 (int (*)(...))(& _ZTI7QSlider)
+472 QSlider::_ZThn16_N7QSliderD1Ev
+480 QSlider::_ZThn16_N7QSliderD0Ev
+488 QWidget::_ZThn16_NK7QWidget7devTypeEv
+496 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+504 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QSlider
+ size=40 align=8
+ base size=40 base align=8
+QSlider (0x7fea127cf1c0) 0
+ vptr=((& QSlider::_ZTV7QSlider) + 16u)
+ QAbstractSlider (0x7fea127cf230) 0
+ primary-for QSlider (0x7fea127cf1c0)
+ QWidget (0x7fea127cd380) 0
+ primary-for QAbstractSlider (0x7fea127cf230)
+ QObject (0x7fea127cf2a0) 0
+ primary-for QWidget (0x7fea127cd380)
+ QPaintDevice (0x7fea127cf310) 16
+ vptr=((& QSlider::_ZTV7QSlider) + 472u)
+
+Vtable for QStyle
+QStyle::_ZTV6QStyle: 35u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI6QStyle)
+16 QStyle::metaObject
+24 QStyle::qt_metacast
+32 QStyle::qt_metacall
+40 QStyle::~QStyle
+48 QStyle::~QStyle
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QStyle::polish
+120 QStyle::unpolish
+128 QStyle::polish
+136 QStyle::unpolish
+144 QStyle::polish
+152 QStyle::itemTextRect
+160 QStyle::itemPixmapRect
+168 QStyle::drawItemText
+176 QStyle::drawItemPixmap
+184 QStyle::standardPalette
+192 __cxa_pure_virtual
+200 __cxa_pure_virtual
+208 __cxa_pure_virtual
+216 __cxa_pure_virtual
+224 __cxa_pure_virtual
+232 __cxa_pure_virtual
+240 __cxa_pure_virtual
+248 __cxa_pure_virtual
+256 __cxa_pure_virtual
+264 __cxa_pure_virtual
+272 __cxa_pure_virtual
+
+Class QStyle
+ size=16 align=8
+ base size=16 base align=8
+QStyle (0x7fea127f7770) 0
+ vptr=((& QStyle::_ZTV6QStyle) + 16u)
+ QObject (0x7fea127f77e0) 0
+ primary-for QStyle (0x7fea127f7770)
+
+Vtable for QTabBar
+QTabBar::_ZTV7QTabBar: 67u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QTabBar)
+16 QTabBar::metaObject
+24 QTabBar::qt_metacast
+32 QTabBar::qt_metacall
+40 QTabBar::~QTabBar
+48 QTabBar::~QTabBar
+56 QTabBar::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QTabBar::sizeHint
+136 QTabBar::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QTabBar::mousePressEvent
+168 QTabBar::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QTabBar::mouseMoveEvent
+192 QTabBar::wheelEvent
+200 QTabBar::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QTabBar::paintEvent
+256 QWidget::moveEvent
+264 QTabBar::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QTabBar::showEvent
+344 QTabBar::hideEvent
+352 QWidget::x11Event
+360 QTabBar::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QTabBar::tabSizeHint
+456 QTabBar::tabInserted
+464 QTabBar::tabRemoved
+472 QTabBar::tabLayoutChange
+480 (int (*)(...))-0x00000000000000010
+488 (int (*)(...))(& _ZTI7QTabBar)
+496 QTabBar::_ZThn16_N7QTabBarD1Ev
+504 QTabBar::_ZThn16_N7QTabBarD0Ev
+512 QWidget::_ZThn16_NK7QWidget7devTypeEv
+520 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+528 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QTabBar
+ size=40 align=8
+ base size=40 base align=8
+QTabBar (0x7fea126a84d0) 0
+ vptr=((& QTabBar::_ZTV7QTabBar) + 16u)
+ QWidget (0x7fea12645e80) 0
+ primary-for QTabBar (0x7fea126a84d0)
+ QObject (0x7fea126a8540) 0
+ primary-for QWidget (0x7fea12645e80)
+ QPaintDevice (0x7fea126a85b0) 16
+ vptr=((& QTabBar::_ZTV7QTabBar) + 496u)
+
+Vtable for QTabWidget
+QTabWidget::_ZTV10QTabWidget: 65u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QTabWidget)
+16 QTabWidget::metaObject
+24 QTabWidget::qt_metacast
+32 QTabWidget::qt_metacall
+40 QTabWidget::~QTabWidget
+48 QTabWidget::~QTabWidget
+56 QTabWidget::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QTabWidget::sizeHint
+136 QTabWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QTabWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QTabWidget::paintEvent
+256 QWidget::moveEvent
+264 QTabWidget::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QTabWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QTabWidget::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QTabWidget::tabInserted
+456 QTabWidget::tabRemoved
+464 (int (*)(...))-0x00000000000000010
+472 (int (*)(...))(& _ZTI10QTabWidget)
+480 QTabWidget::_ZThn16_N10QTabWidgetD1Ev
+488 QTabWidget::_ZThn16_N10QTabWidgetD0Ev
+496 QWidget::_ZThn16_NK7QWidget7devTypeEv
+504 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+512 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QTabWidget
+ size=40 align=8
+ base size=40 base align=8
+QTabWidget (0x7fea126daaf0) 0
+ vptr=((& QTabWidget::_ZTV10QTabWidget) + 16u)
+ QWidget (0x7fea126dd180) 0
+ primary-for QTabWidget (0x7fea126daaf0)
+ QObject (0x7fea126dab60) 0
+ primary-for QWidget (0x7fea126dd180)
+ QPaintDevice (0x7fea126dabd0) 16
+ vptr=((& QTabWidget::_ZTV10QTabWidget) + 480u)
+
+Vtable for QRubberBand
+QRubberBand::_ZTV11QRubberBand: 63u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QRubberBand)
+16 QRubberBand::metaObject
+24 QRubberBand::qt_metacast
+32 QRubberBand::qt_metacall
+40 QRubberBand::~QRubberBand
+48 QRubberBand::~QRubberBand
+56 QRubberBand::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QWidget::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QRubberBand::paintEvent
+256 QRubberBand::moveEvent
+264 QRubberBand::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QRubberBand::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QRubberBand::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 (int (*)(...))-0x00000000000000010
+456 (int (*)(...))(& _ZTI11QRubberBand)
+464 QRubberBand::_ZThn16_N11QRubberBandD1Ev
+472 QRubberBand::_ZThn16_N11QRubberBandD0Ev
+480 QWidget::_ZThn16_NK7QWidget7devTypeEv
+488 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+496 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QRubberBand
+ size=40 align=8
+ base size=40 base align=8
+QRubberBand (0x7fea1252e4d0) 0
+ vptr=((& QRubberBand::_ZTV11QRubberBand) + 16u)
+ QWidget (0x7fea1252d200) 0
+ primary-for QRubberBand (0x7fea1252e4d0)
+ QObject (0x7fea1252e540) 0
+ primary-for QWidget (0x7fea1252d200)
+ QPaintDevice (0x7fea1252e5b0) 16
+ vptr=((& QRubberBand::_ZTV11QRubberBand) + 464u)
+
+Class QStyleOption
+ size=56 align=8
+ base size=56 base align=8
+QStyleOption (0x7fea125517e0) 0
+
+Class QStyleOptionFocusRect
+ size=72 align=8
+ base size=72 base align=8
+QStyleOptionFocusRect (0x7fea1255f540) 0
+ QStyleOption (0x7fea1255f5b0) 0
+
+Class QStyleOptionFrame
+ size=64 align=8
+ base size=64 base align=8
+QStyleOptionFrame (0x7fea12569540) 0
+ QStyleOption (0x7fea125695b0) 0
+
+Class QStyleOptionFrameV2
+ size=72 align=8
+ base size=68 base align=8
+QStyleOptionFrameV2 (0x7fea125754d0) 0
+ QStyleOptionFrame (0x7fea12575540) 0
+ QStyleOption (0x7fea125755b0) 0
+
+Class QStyleOptionFrameV3
+ size=72 align=8
+ base size=72 base align=8
+QStyleOptionFrameV3 (0x7fea125a5d90) 0
+ QStyleOptionFrameV2 (0x7fea125a5e00) 0
+ QStyleOptionFrame (0x7fea125a5e70) 0
+ QStyleOption (0x7fea125a5ee0) 0
+
+Class QStyleOptionTabWidgetFrame
+ size=96 align=8
+ base size=92 base align=8
+QStyleOptionTabWidgetFrame (0x7fea125c8690) 0
+ QStyleOption (0x7fea125c8700) 0
+
+Class QStyleOptionTabBarBase
+ size=96 align=8
+ base size=92 base align=8
+QStyleOptionTabBarBase (0x7fea125d6e00) 0
+ QStyleOption (0x7fea125d6e70) 0
+
+Class QStyleOptionTabBarBaseV2
+ size=96 align=8
+ base size=93 base align=8
+QStyleOptionTabBarBaseV2 (0x7fea125e81c0) 0
+ QStyleOptionTabBarBase (0x7fea125e8230) 0
+ QStyleOption (0x7fea125e82a0) 0
+
+Class QStyleOptionHeader
+ size=112 align=8
+ base size=108 base align=8
+QStyleOptionHeader (0x7fea125f1850) 0
+ QStyleOption (0x7fea125f18c0) 0
+
+Class QStyleOptionButton
+ size=88 align=8
+ base size=88 base align=8
+QStyleOptionButton (0x7fea1260ba10) 0
+ QStyleOption (0x7fea1260ba80) 0
+
+Class QStyleOptionTab
+ size=96 align=8
+ base size=96 base align=8
+QStyleOptionTab (0x7fea124583f0) 0
+ QStyleOption (0x7fea12458460) 0
+
+Class QStyleOptionTabV2
+ size=104 align=8
+ base size=104 base align=8
+QStyleOptionTabV2 (0x7fea124a2380) 0
+ QStyleOptionTab (0x7fea124a23f0) 0
+ QStyleOption (0x7fea124a2460) 0
+
+Class QStyleOptionTabV3
+ size=128 align=8
+ base size=124 base align=8
+QStyleOptionTabV3 (0x7fea124acd90) 0
+ QStyleOptionTabV2 (0x7fea124ace00) 0
+ QStyleOptionTab (0x7fea124ace70) 0
+ QStyleOption (0x7fea124acee0) 0
+
+Class QStyleOptionToolBar
+ size=80 align=8
+ base size=80 base align=8
+QStyleOptionToolBar (0x7fea124cb3f0) 0
+ QStyleOption (0x7fea124cb460) 0
+
+Class QStyleOptionProgressBar
+ size=88 align=8
+ base size=85 base align=8
+QStyleOptionProgressBar (0x7fea124febd0) 0
+ QStyleOption (0x7fea124fec40) 0
+
+Class QStyleOptionProgressBarV2
+ size=96 align=8
+ base size=94 base align=8
+QStyleOptionProgressBarV2 (0x7fea12323380) 0
+ QStyleOptionProgressBar (0x7fea123233f0) 0
+ QStyleOption (0x7fea12323460) 0
+
+Class QStyleOptionMenuItem
+ size=128 align=8
+ base size=128 base align=8
+QStyleOptionMenuItem (0x7fea12323c40) 0
+ QStyleOption (0x7fea12323cb0) 0
+
+Class QStyleOptionQ3ListViewItem
+ size=80 align=8
+ base size=76 base align=8
+QStyleOptionQ3ListViewItem (0x7fea1233ee70) 0
+ QStyleOption (0x7fea1233eee0) 0
+
+Class QStyleOptionQ3DockWindow
+ size=64 align=8
+ base size=58 base align=8
+QStyleOptionQ3DockWindow (0x7fea12389310) 0
+ QStyleOption (0x7fea12389380) 0
+
+Class QStyleOptionDockWidget
+ size=72 align=8
+ base size=67 base align=8
+QStyleOptionDockWidget (0x7fea123952a0) 0
+ QStyleOption (0x7fea12395310) 0
+
+Class QStyleOptionDockWidgetV2
+ size=72 align=8
+ base size=68 base align=8
+QStyleOptionDockWidgetV2 (0x7fea123a3690) 0
+ QStyleOptionDockWidget (0x7fea123a3700) 0
+ QStyleOption (0x7fea123a3770) 0
+
+Class QStyleOptionViewItem
+ size=104 align=8
+ base size=97 base align=8
+QStyleOptionViewItem (0x7fea123abe70) 0
+ QStyleOption (0x7fea123abee0) 0
+
+Class QStyleOptionViewItemV2
+ size=104 align=8
+ base size=104 base align=8
+QStyleOptionViewItemV2 (0x7fea123c6a10) 0
+ QStyleOptionViewItem (0x7fea123c6a80) 0
+ QStyleOption (0x7fea123c6af0) 0
+
+Class QStyleOptionViewItemV3
+ size=120 align=8
+ base size=120 base align=8
+QStyleOptionViewItemV3 (0x7fea1240e460) 0
+ QStyleOptionViewItemV2 (0x7fea1240e4d0) 0
+ QStyleOptionViewItem (0x7fea1240e540) 0
+ QStyleOption (0x7fea1240e5b0) 0
+
+Class QStyleOptionViewItemV4
+ size=184 align=8
+ base size=184 base align=8
+QStyleOptionViewItemV4 (0x7fea12419d20) 0
+ QStyleOptionViewItemV3 (0x7fea12419d90) 0
+ QStyleOptionViewItemV2 (0x7fea12419e00) 0
+ QStyleOptionViewItem (0x7fea12419e70) 0
+ QStyleOption (0x7fea12419ee0) 0
+
+Class QStyleOptionToolBox
+ size=72 align=8
+ base size=72 base align=8
+QStyleOptionToolBox (0x7fea1223a460) 0
+ QStyleOption (0x7fea1223a4d0) 0
+
+Class QStyleOptionToolBoxV2
+ size=80 align=8
+ base size=80 base align=8
+QStyleOptionToolBoxV2 (0x7fea1224b930) 0
+ QStyleOptionToolBox (0x7fea1224b9a0) 0
+ QStyleOption (0x7fea1224ba10) 0
+
+Class QStyleOptionRubberBand
+ size=64 align=8
+ base size=61 base align=8
+QStyleOptionRubberBand (0x7fea1225f620) 0
+ QStyleOption (0x7fea1225f690) 0
+
+Class QStyleOptionComplex
+ size=64 align=8
+ base size=64 base align=8
+QStyleOptionComplex (0x7fea1226a700) 0
+ QStyleOption (0x7fea1226a770) 0
+
+Class QStyleOptionSlider
+ size=120 align=8
+ base size=113 base align=8
+QStyleOptionSlider (0x7fea12272ee0) 0
+ QStyleOptionComplex (0x7fea12272f50) 0
+ QStyleOption (0x7fea12272310) 0
+
+Class QStyleOptionSpinBox
+ size=80 align=8
+ base size=73 base align=8
+QStyleOptionSpinBox (0x7fea12289cb0) 0
+ QStyleOptionComplex (0x7fea12289d20) 0
+ QStyleOption (0x7fea12289d90) 0
+
+Class QStyleOptionQ3ListView
+ size=112 align=8
+ base size=105 base align=8
+QStyleOptionQ3ListView (0x7fea1229a1c0) 0
+ QStyleOptionComplex (0x7fea1229a230) 0
+ QStyleOption (0x7fea1229a2a0) 0
+
+Class QStyleOptionToolButton
+ size=128 align=8
+ base size=128 base align=8
+QStyleOptionToolButton (0x7fea122cfe00) 0
+ QStyleOptionComplex (0x7fea122cfe70) 0
+ QStyleOption (0x7fea122cfee0) 0
+
+Class QStyleOptionComboBox
+ size=112 align=8
+ base size=112 base align=8
+QStyleOptionComboBox (0x7fea12124070) 0
+ QStyleOptionComplex (0x7fea121240e0) 0
+ QStyleOption (0x7fea12124150) 0
+
+Class QStyleOptionTitleBar
+ size=88 align=8
+ base size=88 base align=8
+QStyleOptionTitleBar (0x7fea12132b60) 0
+ QStyleOptionComplex (0x7fea12132bd0) 0
+ QStyleOption (0x7fea12132c40) 0
+
+Class QStyleOptionGroupBox
+ size=112 align=8
+ base size=108 base align=8
+QStyleOptionGroupBox (0x7fea121493f0) 0
+ QStyleOptionComplex (0x7fea12149460) 0
+ QStyleOption (0x7fea121494d0) 0
+
+Class QStyleOptionSizeGrip
+ size=72 align=8
+ base size=68 base align=8
+QStyleOptionSizeGrip (0x7fea1215f000) 0
+ QStyleOptionComplex (0x7fea1215f070) 0
+ QStyleOption (0x7fea1215f0e0) 0
+
+Class QStyleOptionGraphicsItem
+ size=144 align=8
+ base size=144 base align=8
+QStyleOptionGraphicsItem (0x7fea1215ff50) 0
+ QStyleOption (0x7fea1215f700) 0
+
+Class QStyleHintReturn
+ size=8 align=4
+ base size=8 base align=4
+QStyleHintReturn (0x7fea121782a0) 0
+
+Class QStyleHintReturnMask
+ size=16 align=8
+ base size=16 base align=8
+QStyleHintReturnMask (0x7fea12178700) 0
+ QStyleHintReturn (0x7fea12178770) 0
+
+Class QStyleHintReturnVariant
+ size=24 align=8
+ base size=24 base align=8
+QStyleHintReturnVariant (0x7fea12178930) 0
+ QStyleHintReturn (0x7fea121789a0) 0
+
+Vtable for QAbstractItemDelegate
+QAbstractItemDelegate::_ZTV21QAbstractItemDelegate: 21u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI21QAbstractItemDelegate)
+16 QAbstractItemDelegate::metaObject
+24 QAbstractItemDelegate::qt_metacast
+32 QAbstractItemDelegate::qt_metacall
+40 QAbstractItemDelegate::~QAbstractItemDelegate
+48 QAbstractItemDelegate::~QAbstractItemDelegate
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 QAbstractItemDelegate::createEditor
+136 QAbstractItemDelegate::setEditorData
+144 QAbstractItemDelegate::setModelData
+152 QAbstractItemDelegate::updateEditorGeometry
+160 QAbstractItemDelegate::editorEvent
+
+Class QAbstractItemDelegate
+ size=16 align=8
+ base size=16 base align=8
+QAbstractItemDelegate (0x7fea12178e00) 0
+ vptr=((& QAbstractItemDelegate::_ZTV21QAbstractItemDelegate) + 16u)
+ QObject (0x7fea12178e70) 0
+ primary-for QAbstractItemDelegate (0x7fea12178e00)
+
+Vtable for QAbstractItemView
+QAbstractItemView::_ZTV17QAbstractItemView: 103u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QAbstractItemView)
+16 QAbstractItemView::metaObject
+24 QAbstractItemView::qt_metacast
+32 QAbstractItemView::qt_metacall
+40 QAbstractItemView::~QAbstractItemView
+48 QAbstractItemView::~QAbstractItemView
+56 QAbstractItemView::event
+64 QObject::eventFilter
+72 QAbstractItemView::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QAbstractScrollArea::sizeHint
+136 QAbstractScrollArea::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QAbstractItemView::mousePressEvent
+168 QAbstractItemView::mouseReleaseEvent
+176 QAbstractItemView::mouseDoubleClickEvent
+184 QAbstractItemView::mouseMoveEvent
+192 QAbstractScrollArea::wheelEvent
+200 QAbstractItemView::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QAbstractItemView::focusInEvent
+224 QAbstractItemView::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QAbstractScrollArea::paintEvent
+256 QWidget::moveEvent
+264 QAbstractItemView::resizeEvent
+272 QWidget::closeEvent
+280 QAbstractScrollArea::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QAbstractItemView::dragEnterEvent
+312 QAbstractItemView::dragMoveEvent
+320 QAbstractItemView::dragLeaveEvent
+328 QAbstractItemView::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QFrame::changeEvent
+368 QWidget::metric
+376 QAbstractItemView::inputMethodEvent
+384 QAbstractItemView::inputMethodQuery
+392 QAbstractItemView::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QAbstractItemView::viewportEvent
+456 QAbstractScrollArea::scrollContentsBy
+464 QAbstractItemView::setModel
+472 QAbstractItemView::setSelectionModel
+480 QAbstractItemView::keyboardSearch
+488 __cxa_pure_virtual
+496 __cxa_pure_virtual
+504 __cxa_pure_virtual
+512 QAbstractItemView::sizeHintForRow
+520 QAbstractItemView::sizeHintForColumn
+528 QAbstractItemView::reset
+536 QAbstractItemView::setRootIndex
+544 QAbstractItemView::doItemsLayout
+552 QAbstractItemView::selectAll
+560 QAbstractItemView::dataChanged
+568 QAbstractItemView::rowsInserted
+576 QAbstractItemView::rowsAboutToBeRemoved
+584 QAbstractItemView::selectionChanged
+592 QAbstractItemView::currentChanged
+600 QAbstractItemView::updateEditorData
+608 QAbstractItemView::updateEditorGeometries
+616 QAbstractItemView::updateGeometries
+624 QAbstractItemView::verticalScrollbarAction
+632 QAbstractItemView::horizontalScrollbarAction
+640 QAbstractItemView::verticalScrollbarValueChanged
+648 QAbstractItemView::horizontalScrollbarValueChanged
+656 QAbstractItemView::closeEditor
+664 QAbstractItemView::commitData
+672 QAbstractItemView::editorDestroyed
+680 __cxa_pure_virtual
+688 __cxa_pure_virtual
+696 __cxa_pure_virtual
+704 __cxa_pure_virtual
+712 __cxa_pure_virtual
+720 __cxa_pure_virtual
+728 QAbstractItemView::selectedIndexes
+736 QAbstractItemView::edit
+744 QAbstractItemView::selectionCommand
+752 QAbstractItemView::startDrag
+760 QAbstractItemView::viewOptions
+768 (int (*)(...))-0x00000000000000010
+776 (int (*)(...))(& _ZTI17QAbstractItemView)
+784 QAbstractItemView::_ZThn16_N17QAbstractItemViewD1Ev
+792 QAbstractItemView::_ZThn16_N17QAbstractItemViewD0Ev
+800 QWidget::_ZThn16_NK7QWidget7devTypeEv
+808 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+816 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QAbstractItemView
+ size=40 align=8
+ base size=40 base align=8
+QAbstractItemView (0x7fea121bd4d0) 0
+ vptr=((& QAbstractItemView::_ZTV17QAbstractItemView) + 16u)
+ QAbstractScrollArea (0x7fea121bd540) 0
+ primary-for QAbstractItemView (0x7fea121bd4d0)
+ QFrame (0x7fea121bd5b0) 0
+ primary-for QAbstractScrollArea (0x7fea121bd540)
+ QWidget (0x7fea121be000) 0
+ primary-for QFrame (0x7fea121bd5b0)
+ QObject (0x7fea121bd620) 0
+ primary-for QWidget (0x7fea121be000)
+ QPaintDevice (0x7fea121bd690) 16
+ vptr=((& QAbstractItemView::_ZTV17QAbstractItemView) + 784u)
+
+Vtable for QListView
+QListView::_ZTV9QListView: 103u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QListView)
+16 QListView::metaObject
+24 QListView::qt_metacast
+32 QListView::qt_metacall
+40 QListView::~QListView
+48 QListView::~QListView
+56 QListView::event
+64 QObject::eventFilter
+72 QListView::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QAbstractScrollArea::sizeHint
+136 QAbstractScrollArea::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QAbstractItemView::mousePressEvent
+168 QListView::mouseReleaseEvent
+176 QAbstractItemView::mouseDoubleClickEvent
+184 QListView::mouseMoveEvent
+192 QAbstractScrollArea::wheelEvent
+200 QAbstractItemView::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QAbstractItemView::focusInEvent
+224 QAbstractItemView::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QListView::paintEvent
+256 QWidget::moveEvent
+264 QListView::resizeEvent
+272 QWidget::closeEvent
+280 QAbstractScrollArea::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QAbstractItemView::dragEnterEvent
+312 QListView::dragMoveEvent
+320 QListView::dragLeaveEvent
+328 QListView::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QFrame::changeEvent
+368 QWidget::metric
+376 QAbstractItemView::inputMethodEvent
+384 QAbstractItemView::inputMethodQuery
+392 QAbstractItemView::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QAbstractItemView::viewportEvent
+456 QListView::scrollContentsBy
+464 QAbstractItemView::setModel
+472 QAbstractItemView::setSelectionModel
+480 QAbstractItemView::keyboardSearch
+488 QListView::visualRect
+496 QListView::scrollTo
+504 QListView::indexAt
+512 QAbstractItemView::sizeHintForRow
+520 QAbstractItemView::sizeHintForColumn
+528 QListView::reset
+536 QListView::setRootIndex
+544 QListView::doItemsLayout
+552 QAbstractItemView::selectAll
+560 QListView::dataChanged
+568 QListView::rowsInserted
+576 QListView::rowsAboutToBeRemoved
+584 QListView::selectionChanged
+592 QListView::currentChanged
+600 QAbstractItemView::updateEditorData
+608 QAbstractItemView::updateEditorGeometries
+616 QListView::updateGeometries
+624 QAbstractItemView::verticalScrollbarAction
+632 QAbstractItemView::horizontalScrollbarAction
+640 QAbstractItemView::verticalScrollbarValueChanged
+648 QAbstractItemView::horizontalScrollbarValueChanged
+656 QAbstractItemView::closeEditor
+664 QAbstractItemView::commitData
+672 QAbstractItemView::editorDestroyed
+680 QListView::moveCursor
+688 QListView::horizontalOffset
+696 QListView::verticalOffset
+704 QListView::isIndexHidden
+712 QListView::setSelection
+720 QListView::visualRegionForSelection
+728 QListView::selectedIndexes
+736 QAbstractItemView::edit
+744 QAbstractItemView::selectionCommand
+752 QListView::startDrag
+760 QListView::viewOptions
+768 (int (*)(...))-0x00000000000000010
+776 (int (*)(...))(& _ZTI9QListView)
+784 QListView::_ZThn16_N9QListViewD1Ev
+792 QListView::_ZThn16_N9QListViewD0Ev
+800 QWidget::_ZThn16_NK7QWidget7devTypeEv
+808 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+816 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QListView
+ size=40 align=8
+ base size=40 base align=8
+QListView (0x7fea1202bcb0) 0
+ vptr=((& QListView::_ZTV9QListView) + 16u)
+ QAbstractItemView (0x7fea1202bd20) 0
+ primary-for QListView (0x7fea1202bcb0)
+ QAbstractScrollArea (0x7fea1202bd90) 0
+ primary-for QAbstractItemView (0x7fea1202bd20)
+ QFrame (0x7fea1202be00) 0
+ primary-for QAbstractScrollArea (0x7fea1202bd90)
+ QWidget (0x7fea1220e680) 0
+ primary-for QFrame (0x7fea1202be00)
+ QObject (0x7fea1202be70) 0
+ primary-for QWidget (0x7fea1220e680)
+ QPaintDevice (0x7fea1202bee0) 16
+ vptr=((& QListView::_ZTV9QListView) + 784u)
+
+Vtable for QUndoView
+QUndoView::_ZTV9QUndoView: 103u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QUndoView)
+16 QUndoView::metaObject
+24 QUndoView::qt_metacast
+32 QUndoView::qt_metacall
+40 QUndoView::~QUndoView
+48 QUndoView::~QUndoView
+56 QListView::event
+64 QObject::eventFilter
+72 QListView::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QAbstractScrollArea::sizeHint
+136 QAbstractScrollArea::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QAbstractItemView::mousePressEvent
+168 QListView::mouseReleaseEvent
+176 QAbstractItemView::mouseDoubleClickEvent
+184 QListView::mouseMoveEvent
+192 QAbstractScrollArea::wheelEvent
+200 QAbstractItemView::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QAbstractItemView::focusInEvent
+224 QAbstractItemView::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QListView::paintEvent
+256 QWidget::moveEvent
+264 QListView::resizeEvent
+272 QWidget::closeEvent
+280 QAbstractScrollArea::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QAbstractItemView::dragEnterEvent
+312 QListView::dragMoveEvent
+320 QListView::dragLeaveEvent
+328 QListView::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QFrame::changeEvent
+368 QWidget::metric
+376 QAbstractItemView::inputMethodEvent
+384 QAbstractItemView::inputMethodQuery
+392 QAbstractItemView::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QAbstractItemView::viewportEvent
+456 QListView::scrollContentsBy
+464 QAbstractItemView::setModel
+472 QAbstractItemView::setSelectionModel
+480 QAbstractItemView::keyboardSearch
+488 QListView::visualRect
+496 QListView::scrollTo
+504 QListView::indexAt
+512 QAbstractItemView::sizeHintForRow
+520 QAbstractItemView::sizeHintForColumn
+528 QListView::reset
+536 QListView::setRootIndex
+544 QListView::doItemsLayout
+552 QAbstractItemView::selectAll
+560 QListView::dataChanged
+568 QListView::rowsInserted
+576 QListView::rowsAboutToBeRemoved
+584 QListView::selectionChanged
+592 QListView::currentChanged
+600 QAbstractItemView::updateEditorData
+608 QAbstractItemView::updateEditorGeometries
+616 QListView::updateGeometries
+624 QAbstractItemView::verticalScrollbarAction
+632 QAbstractItemView::horizontalScrollbarAction
+640 QAbstractItemView::verticalScrollbarValueChanged
+648 QAbstractItemView::horizontalScrollbarValueChanged
+656 QAbstractItemView::closeEditor
+664 QAbstractItemView::commitData
+672 QAbstractItemView::editorDestroyed
+680 QListView::moveCursor
+688 QListView::horizontalOffset
+696 QListView::verticalOffset
+704 QListView::isIndexHidden
+712 QListView::setSelection
+720 QListView::visualRegionForSelection
+728 QListView::selectedIndexes
+736 QAbstractItemView::edit
+744 QAbstractItemView::selectionCommand
+752 QListView::startDrag
+760 QListView::viewOptions
+768 (int (*)(...))-0x00000000000000010
+776 (int (*)(...))(& _ZTI9QUndoView)
+784 QUndoView::_ZThn16_N9QUndoViewD1Ev
+792 QUndoView::_ZThn16_N9QUndoViewD0Ev
+800 QWidget::_ZThn16_NK7QWidget7devTypeEv
+808 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+816 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QUndoView
+ size=40 align=8
+ base size=40 base align=8
+QUndoView (0x7fea12079380) 0
+ vptr=((& QUndoView::_ZTV9QUndoView) + 16u)
+ QListView (0x7fea120793f0) 0
+ primary-for QUndoView (0x7fea12079380)
+ QAbstractItemView (0x7fea12079460) 0
+ primary-for QListView (0x7fea120793f0)
+ QAbstractScrollArea (0x7fea120794d0) 0
+ primary-for QAbstractItemView (0x7fea12079460)
+ QFrame (0x7fea12079540) 0
+ primary-for QAbstractScrollArea (0x7fea120794d0)
+ QWidget (0x7fea12070580) 0
+ primary-for QFrame (0x7fea12079540)
+ QObject (0x7fea120795b0) 0
+ primary-for QWidget (0x7fea12070580)
+ QPaintDevice (0x7fea12079620) 16
+ vptr=((& QUndoView::_ZTV9QUndoView) + 784u)
+
+Vtable for QCompleter
+QCompleter::_ZTV10QCompleter: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QCompleter)
+16 QCompleter::metaObject
+24 QCompleter::qt_metacast
+32 QCompleter::qt_metacall
+40 QCompleter::~QCompleter
+48 QCompleter::~QCompleter
+56 QCompleter::event
+64 QCompleter::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QCompleter::pathFromIndex
+120 QCompleter::splitPath
+
+Class QCompleter
+ size=16 align=8
+ base size=16 base align=8
+QCompleter (0x7fea12097070) 0
+ vptr=((& QCompleter::_ZTV10QCompleter) + 16u)
+ QObject (0x7fea120970e0) 0
+ primary-for QCompleter (0x7fea12097070)
+
+Vtable for QUndoCommand
+QUndoCommand::_ZTV12QUndoCommand: 8u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QUndoCommand)
+16 QUndoCommand::~QUndoCommand
+24 QUndoCommand::~QUndoCommand
+32 QUndoCommand::undo
+40 QUndoCommand::redo
+48 QUndoCommand::id
+56 QUndoCommand::mergeWith
+
+Class QUndoCommand
+ size=16 align=8
+ base size=16 base align=8
+QUndoCommand (0x7fea120bc000) 0
+ vptr=((& QUndoCommand::_ZTV12QUndoCommand) + 16u)
+
+Vtable for QUndoStack
+QUndoStack::_ZTV10QUndoStack: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QUndoStack)
+16 QUndoStack::metaObject
+24 QUndoStack::qt_metacast
+32 QUndoStack::qt_metacall
+40 QUndoStack::~QUndoStack
+48 QUndoStack::~QUndoStack
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QUndoStack
+ size=16 align=8
+ base size=16 base align=8
+QUndoStack (0x7fea120bc930) 0
+ vptr=((& QUndoStack::_ZTV10QUndoStack) + 16u)
+ QObject (0x7fea120bc9a0) 0
+ primary-for QUndoStack (0x7fea120bc930)
+
+Vtable for QSystemTrayIcon
+QSystemTrayIcon::_ZTV15QSystemTrayIcon: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QSystemTrayIcon)
+16 QSystemTrayIcon::metaObject
+24 QSystemTrayIcon::qt_metacast
+32 QSystemTrayIcon::qt_metacall
+40 QSystemTrayIcon::~QSystemTrayIcon
+48 QSystemTrayIcon::~QSystemTrayIcon
+56 QSystemTrayIcon::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QSystemTrayIcon
+ size=16 align=8
+ base size=16 base align=8
+QSystemTrayIcon (0x7fea120e0460) 0
+ vptr=((& QSystemTrayIcon::_ZTV15QSystemTrayIcon) + 16u)
+ QObject (0x7fea120e04d0) 0
+ primary-for QSystemTrayIcon (0x7fea120e0460)
+
+Vtable for QDialog
+QDialog::_ZTV7QDialog: 66u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QDialog)
+16 QDialog::metaObject
+24 QDialog::qt_metacast
+32 QDialog::qt_metacall
+40 QDialog::~QDialog
+48 QDialog::~QDialog
+56 QWidget::event
+64 QDialog::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QDialog::setVisible
+128 QDialog::sizeHint
+136 QDialog::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QDialog::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QWidget::paintEvent
+256 QWidget::moveEvent
+264 QDialog::resizeEvent
+272 QDialog::closeEvent
+280 QDialog::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QDialog::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QWidget::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QDialog::done
+456 QDialog::accept
+464 QDialog::reject
+472 (int (*)(...))-0x00000000000000010
+480 (int (*)(...))(& _ZTI7QDialog)
+488 QDialog::_ZThn16_N7QDialogD1Ev
+496 QDialog::_ZThn16_N7QDialogD0Ev
+504 QWidget::_ZThn16_NK7QWidget7devTypeEv
+512 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+520 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QDialog
+ size=40 align=8
+ base size=40 base align=8
+QDialog (0x7fea120fe690) 0
+ vptr=((& QDialog::_ZTV7QDialog) + 16u)
+ QWidget (0x7fea120fd380) 0
+ primary-for QDialog (0x7fea120fe690)
+ QObject (0x7fea120fe700) 0
+ primary-for QWidget (0x7fea120fd380)
+ QPaintDevice (0x7fea120fe770) 16
+ vptr=((& QDialog::_ZTV7QDialog) + 488u)
+
+Vtable for QAbstractPageSetupDialog
+QAbstractPageSetupDialog::_ZTV24QAbstractPageSetupDialog: 67u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI24QAbstractPageSetupDialog)
+16 QAbstractPageSetupDialog::metaObject
+24 QAbstractPageSetupDialog::qt_metacast
+32 QAbstractPageSetupDialog::qt_metacall
+40 QAbstractPageSetupDialog::~QAbstractPageSetupDialog
+48 QAbstractPageSetupDialog::~QAbstractPageSetupDialog
+56 QWidget::event
+64 QDialog::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QDialog::setVisible
+128 QDialog::sizeHint
+136 QDialog::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QDialog::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QWidget::paintEvent
+256 QWidget::moveEvent
+264 QDialog::resizeEvent
+272 QDialog::closeEvent
+280 QDialog::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QDialog::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QWidget::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QAbstractPageSetupDialog::done
+456 QDialog::accept
+464 QDialog::reject
+472 __cxa_pure_virtual
+480 (int (*)(...))-0x00000000000000010
+488 (int (*)(...))(& _ZTI24QAbstractPageSetupDialog)
+496 QAbstractPageSetupDialog::_ZThn16_N24QAbstractPageSetupDialogD1Ev
+504 QAbstractPageSetupDialog::_ZThn16_N24QAbstractPageSetupDialogD0Ev
+512 QWidget::_ZThn16_NK7QWidget7devTypeEv
+520 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+528 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QAbstractPageSetupDialog
+ size=40 align=8
+ base size=40 base align=8
+QAbstractPageSetupDialog (0x7fea11f204d0) 0
+ vptr=((& QAbstractPageSetupDialog::_ZTV24QAbstractPageSetupDialog) + 16u)
+ QDialog (0x7fea11f20540) 0
+ primary-for QAbstractPageSetupDialog (0x7fea11f204d0)
+ QWidget (0x7fea120fdd80) 0
+ primary-for QDialog (0x7fea11f20540)
+ QObject (0x7fea11f205b0) 0
+ primary-for QWidget (0x7fea120fdd80)
+ QPaintDevice (0x7fea11f20620) 16
+ vptr=((& QAbstractPageSetupDialog::_ZTV24QAbstractPageSetupDialog) + 496u)
+
+Vtable for QColorDialog
+QColorDialog::_ZTV12QColorDialog: 66u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QColorDialog)
+16 QColorDialog::metaObject
+24 QColorDialog::qt_metacast
+32 QColorDialog::qt_metacall
+40 QColorDialog::~QColorDialog
+48 QColorDialog::~QColorDialog
+56 QWidget::event
+64 QDialog::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QColorDialog::setVisible
+128 QDialog::sizeHint
+136 QDialog::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QDialog::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QWidget::paintEvent
+256 QWidget::moveEvent
+264 QDialog::resizeEvent
+272 QDialog::closeEvent
+280 QDialog::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QDialog::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QColorDialog::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QColorDialog::done
+456 QDialog::accept
+464 QDialog::reject
+472 (int (*)(...))-0x00000000000000010
+480 (int (*)(...))(& _ZTI12QColorDialog)
+488 QColorDialog::_ZThn16_N12QColorDialogD1Ev
+496 QColorDialog::_ZThn16_N12QColorDialogD0Ev
+504 QWidget::_ZThn16_NK7QWidget7devTypeEv
+512 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+520 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QColorDialog
+ size=40 align=8
+ base size=40 base align=8
+QColorDialog (0x7fea11f36a80) 0
+ vptr=((& QColorDialog::_ZTV12QColorDialog) + 16u)
+ QDialog (0x7fea11f36af0) 0
+ primary-for QColorDialog (0x7fea11f36a80)
+ QWidget (0x7fea11f34680) 0
+ primary-for QDialog (0x7fea11f36af0)
+ QObject (0x7fea11f36b60) 0
+ primary-for QWidget (0x7fea11f34680)
+ QPaintDevice (0x7fea11f36bd0) 16
+ vptr=((& QColorDialog::_ZTV12QColorDialog) + 488u)
+
+Vtable for QFontDialog
+QFontDialog::_ZTV11QFontDialog: 66u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QFontDialog)
+16 QFontDialog::metaObject
+24 QFontDialog::qt_metacast
+32 QFontDialog::qt_metacall
+40 QFontDialog::~QFontDialog
+48 QFontDialog::~QFontDialog
+56 QWidget::event
+64 QFontDialog::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QFontDialog::setVisible
+128 QDialog::sizeHint
+136 QDialog::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QDialog::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QWidget::paintEvent
+256 QWidget::moveEvent
+264 QDialog::resizeEvent
+272 QDialog::closeEvent
+280 QDialog::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QDialog::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QFontDialog::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QFontDialog::done
+456 QDialog::accept
+464 QDialog::reject
+472 (int (*)(...))-0x00000000000000010
+480 (int (*)(...))(& _ZTI11QFontDialog)
+488 QFontDialog::_ZThn16_N11QFontDialogD1Ev
+496 QFontDialog::_ZThn16_N11QFontDialogD0Ev
+504 QWidget::_ZThn16_NK7QWidget7devTypeEv
+512 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+520 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QFontDialog
+ size=40 align=8
+ base size=40 base align=8
+QFontDialog (0x7fea11f82e00) 0
+ vptr=((& QFontDialog::_ZTV11QFontDialog) + 16u)
+ QDialog (0x7fea11f82e70) 0
+ primary-for QFontDialog (0x7fea11f82e00)
+ QWidget (0x7fea11f69900) 0
+ primary-for QDialog (0x7fea11f82e70)
+ QObject (0x7fea11f82ee0) 0
+ primary-for QWidget (0x7fea11f69900)
+ QPaintDevice (0x7fea11f82f50) 16
+ vptr=((& QFontDialog::_ZTV11QFontDialog) + 488u)
+
+Vtable for QMessageBox
+QMessageBox::_ZTV11QMessageBox: 66u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QMessageBox)
+16 QMessageBox::metaObject
+24 QMessageBox::qt_metacast
+32 QMessageBox::qt_metacall
+40 QMessageBox::~QMessageBox
+48 QMessageBox::~QMessageBox
+56 QMessageBox::event
+64 QDialog::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QDialog::setVisible
+128 QMessageBox::sizeHint
+136 QDialog::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QMessageBox::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QWidget::paintEvent
+256 QWidget::moveEvent
+264 QMessageBox::resizeEvent
+272 QMessageBox::closeEvent
+280 QDialog::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QMessageBox::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QMessageBox::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QDialog::done
+456 QDialog::accept
+464 QDialog::reject
+472 (int (*)(...))-0x00000000000000010
+480 (int (*)(...))(& _ZTI11QMessageBox)
+488 QMessageBox::_ZThn16_N11QMessageBoxD1Ev
+496 QMessageBox::_ZThn16_N11QMessageBoxD0Ev
+504 QWidget::_ZThn16_NK7QWidget7devTypeEv
+512 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+520 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QMessageBox
+ size=40 align=8
+ base size=40 base align=8
+QMessageBox (0x7fea11ff52a0) 0
+ vptr=((& QMessageBox::_ZTV11QMessageBox) + 16u)
+ QDialog (0x7fea11ff5310) 0
+ primary-for QMessageBox (0x7fea11ff52a0)
+ QWidget (0x7fea11fb7b00) 0
+ primary-for QDialog (0x7fea11ff5310)
+ QObject (0x7fea11ff5380) 0
+ primary-for QWidget (0x7fea11fb7b00)
+ QPaintDevice (0x7fea11ff53f0) 16
+ vptr=((& QMessageBox::_ZTV11QMessageBox) + 488u)
+
+Vtable for QProgressDialog
+QProgressDialog::_ZTV15QProgressDialog: 66u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QProgressDialog)
+16 QProgressDialog::metaObject
+24 QProgressDialog::qt_metacast
+32 QProgressDialog::qt_metacall
+40 QProgressDialog::~QProgressDialog
+48 QProgressDialog::~QProgressDialog
+56 QWidget::event
+64 QDialog::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QDialog::setVisible
+128 QProgressDialog::sizeHint
+136 QDialog::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QDialog::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QWidget::paintEvent
+256 QWidget::moveEvent
+264 QProgressDialog::resizeEvent
+272 QProgressDialog::closeEvent
+280 QDialog::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QProgressDialog::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QProgressDialog::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QDialog::done
+456 QDialog::accept
+464 QDialog::reject
+472 (int (*)(...))-0x00000000000000010
+480 (int (*)(...))(& _ZTI15QProgressDialog)
+488 QProgressDialog::_ZThn16_N15QProgressDialogD1Ev
+496 QProgressDialog::_ZThn16_N15QProgressDialogD0Ev
+504 QWidget::_ZThn16_NK7QWidget7devTypeEv
+512 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+520 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QProgressDialog
+ size=40 align=8
+ base size=40 base align=8
+QProgressDialog (0x7fea11e71bd0) 0
+ vptr=((& QProgressDialog::_ZTV15QProgressDialog) + 16u)
+ QDialog (0x7fea11e71c40) 0
+ primary-for QProgressDialog (0x7fea11e71bd0)
+ QWidget (0x7fea11e88100) 0
+ primary-for QDialog (0x7fea11e71c40)
+ QObject (0x7fea11e71cb0) 0
+ primary-for QWidget (0x7fea11e88100)
+ QPaintDevice (0x7fea11e71d20) 16
+ vptr=((& QProgressDialog::_ZTV15QProgressDialog) + 488u)
+
+Vtable for QErrorMessage
+QErrorMessage::_ZTV13QErrorMessage: 66u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QErrorMessage)
+16 QErrorMessage::metaObject
+24 QErrorMessage::qt_metacast
+32 QErrorMessage::qt_metacall
+40 QErrorMessage::~QErrorMessage
+48 QErrorMessage::~QErrorMessage
+56 QWidget::event
+64 QDialog::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QDialog::setVisible
+128 QDialog::sizeHint
+136 QDialog::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QDialog::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QWidget::paintEvent
+256 QWidget::moveEvent
+264 QDialog::resizeEvent
+272 QDialog::closeEvent
+280 QDialog::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QDialog::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QErrorMessage::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QErrorMessage::done
+456 QDialog::accept
+464 QDialog::reject
+472 (int (*)(...))-0x00000000000000010
+480 (int (*)(...))(& _ZTI13QErrorMessage)
+488 QErrorMessage::_ZThn16_N13QErrorMessageD1Ev
+496 QErrorMessage::_ZThn16_N13QErrorMessageD0Ev
+504 QWidget::_ZThn16_NK7QWidget7devTypeEv
+512 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+520 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QErrorMessage
+ size=40 align=8
+ base size=40 base align=8
+QErrorMessage (0x7fea11eaa7e0) 0
+ vptr=((& QErrorMessage::_ZTV13QErrorMessage) + 16u)
+ QDialog (0x7fea11eaa850) 0
+ primary-for QErrorMessage (0x7fea11eaa7e0)
+ QWidget (0x7fea11e88a00) 0
+ primary-for QDialog (0x7fea11eaa850)
+ QObject (0x7fea11eaa8c0) 0
+ primary-for QWidget (0x7fea11e88a00)
+ QPaintDevice (0x7fea11eaa930) 16
+ vptr=((& QErrorMessage::_ZTV13QErrorMessage) + 488u)
+
+Vtable for QPrintPreviewDialog
+QPrintPreviewDialog::_ZTV19QPrintPreviewDialog: 66u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QPrintPreviewDialog)
+16 QPrintPreviewDialog::metaObject
+24 QPrintPreviewDialog::qt_metacast
+32 QPrintPreviewDialog::qt_metacall
+40 QPrintPreviewDialog::~QPrintPreviewDialog
+48 QPrintPreviewDialog::~QPrintPreviewDialog
+56 QWidget::event
+64 QDialog::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QPrintPreviewDialog::setVisible
+128 QDialog::sizeHint
+136 QDialog::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QDialog::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QWidget::paintEvent
+256 QWidget::moveEvent
+264 QDialog::resizeEvent
+272 QDialog::closeEvent
+280 QDialog::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QDialog::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QWidget::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QPrintPreviewDialog::done
+456 QDialog::accept
+464 QDialog::reject
+472 (int (*)(...))-0x00000000000000010
+480 (int (*)(...))(& _ZTI19QPrintPreviewDialog)
+488 QPrintPreviewDialog::_ZThn16_N19QPrintPreviewDialogD1Ev
+496 QPrintPreviewDialog::_ZThn16_N19QPrintPreviewDialogD0Ev
+504 QWidget::_ZThn16_NK7QWidget7devTypeEv
+512 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+520 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QPrintPreviewDialog
+ size=48 align=8
+ base size=48 base align=8
+QPrintPreviewDialog (0x7fea11ec63f0) 0
+ vptr=((& QPrintPreviewDialog::_ZTV19QPrintPreviewDialog) + 16u)
+ QDialog (0x7fea11ec6460) 0
+ primary-for QPrintPreviewDialog (0x7fea11ec63f0)
+ QWidget (0x7fea11ec2480) 0
+ primary-for QDialog (0x7fea11ec6460)
+ QObject (0x7fea11ec64d0) 0
+ primary-for QWidget (0x7fea11ec2480)
+ QPaintDevice (0x7fea11ec6540) 16
+ vptr=((& QPrintPreviewDialog::_ZTV19QPrintPreviewDialog) + 488u)
+
+Vtable for QFileDialog
+QFileDialog::_ZTV11QFileDialog: 66u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QFileDialog)
+16 QFileDialog::metaObject
+24 QFileDialog::qt_metacast
+32 QFileDialog::qt_metacall
+40 QFileDialog::~QFileDialog
+48 QFileDialog::~QFileDialog
+56 QWidget::event
+64 QDialog::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QFileDialog::setVisible
+128 QDialog::sizeHint
+136 QDialog::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QDialog::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QWidget::paintEvent
+256 QWidget::moveEvent
+264 QDialog::resizeEvent
+272 QDialog::closeEvent
+280 QDialog::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QDialog::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QFileDialog::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QFileDialog::done
+456 QFileDialog::accept
+464 QDialog::reject
+472 (int (*)(...))-0x00000000000000010
+480 (int (*)(...))(& _ZTI11QFileDialog)
+488 QFileDialog::_ZThn16_N11QFileDialogD1Ev
+496 QFileDialog::_ZThn16_N11QFileDialogD0Ev
+504 QWidget::_ZThn16_NK7QWidget7devTypeEv
+512 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+520 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QFileDialog
+ size=40 align=8
+ base size=40 base align=8
+QFileDialog (0x7fea11edea80) 0
+ vptr=((& QFileDialog::_ZTV11QFileDialog) + 16u)
+ QDialog (0x7fea11edeaf0) 0
+ primary-for QFileDialog (0x7fea11edea80)
+ QWidget (0x7fea11ec2d80) 0
+ primary-for QDialog (0x7fea11edeaf0)
+ QObject (0x7fea11edeb60) 0
+ primary-for QWidget (0x7fea11ec2d80)
+ QPaintDevice (0x7fea11edebd0) 16
+ vptr=((& QFileDialog::_ZTV11QFileDialog) + 488u)
+
+Vtable for QAbstractPrintDialog
+QAbstractPrintDialog::_ZTV20QAbstractPrintDialog: 67u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI20QAbstractPrintDialog)
+16 QAbstractPrintDialog::metaObject
+24 QAbstractPrintDialog::qt_metacast
+32 QAbstractPrintDialog::qt_metacall
+40 QAbstractPrintDialog::~QAbstractPrintDialog
+48 QAbstractPrintDialog::~QAbstractPrintDialog
+56 QWidget::event
+64 QDialog::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QDialog::setVisible
+128 QDialog::sizeHint
+136 QDialog::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QDialog::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QWidget::paintEvent
+256 QWidget::moveEvent
+264 QDialog::resizeEvent
+272 QDialog::closeEvent
+280 QDialog::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QDialog::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QWidget::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QDialog::done
+456 QDialog::accept
+464 QDialog::reject
+472 __cxa_pure_virtual
+480 (int (*)(...))-0x00000000000000010
+488 (int (*)(...))(& _ZTI20QAbstractPrintDialog)
+496 QAbstractPrintDialog::_ZThn16_N20QAbstractPrintDialogD1Ev
+504 QAbstractPrintDialog::_ZThn16_N20QAbstractPrintDialogD0Ev
+512 QWidget::_ZThn16_NK7QWidget7devTypeEv
+520 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+528 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QAbstractPrintDialog
+ size=40 align=8
+ base size=40 base align=8
+QAbstractPrintDialog (0x7fea11d72070) 0
+ vptr=((& QAbstractPrintDialog::_ZTV20QAbstractPrintDialog) + 16u)
+ QDialog (0x7fea11d720e0) 0
+ primary-for QAbstractPrintDialog (0x7fea11d72070)
+ QWidget (0x7fea11d70200) 0
+ primary-for QDialog (0x7fea11d720e0)
+ QObject (0x7fea11d72150) 0
+ primary-for QWidget (0x7fea11d70200)
+ QPaintDevice (0x7fea11d721c0) 16
+ vptr=((& QAbstractPrintDialog::_ZTV20QAbstractPrintDialog) + 496u)
+
+Vtable for QUnixPrintWidget
+QUnixPrintWidget::_ZTV16QUnixPrintWidget: 63u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QUnixPrintWidget)
+16 QUnixPrintWidget::metaObject
+24 QUnixPrintWidget::qt_metacast
+32 QUnixPrintWidget::qt_metacall
+40 QUnixPrintWidget::~QUnixPrintWidget
+48 QUnixPrintWidget::~QUnixPrintWidget
+56 QWidget::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QWidget::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QWidget::paintEvent
+256 QWidget::moveEvent
+264 QWidget::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QWidget::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 (int (*)(...))-0x00000000000000010
+456 (int (*)(...))(& _ZTI16QUnixPrintWidget)
+464 QUnixPrintWidget::_ZThn16_N16QUnixPrintWidgetD1Ev
+472 QUnixPrintWidget::_ZThn16_N16QUnixPrintWidgetD0Ev
+480 QWidget::_ZThn16_NK7QWidget7devTypeEv
+488 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+496 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QUnixPrintWidget
+ size=48 align=8
+ base size=48 base align=8
+QUnixPrintWidget (0x7fea11dd0150) 0
+ vptr=((& QUnixPrintWidget::_ZTV16QUnixPrintWidget) + 16u)
+ QWidget (0x7fea11d9d580) 0
+ primary-for QUnixPrintWidget (0x7fea11dd0150)
+ QObject (0x7fea11dd01c0) 0
+ primary-for QWidget (0x7fea11d9d580)
+ QPaintDevice (0x7fea11dd0230) 16
+ vptr=((& QUnixPrintWidget::_ZTV16QUnixPrintWidget) + 464u)
+
+Vtable for QPrintDialog
+QPrintDialog::_ZTV12QPrintDialog: 67u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QPrintDialog)
+16 QPrintDialog::metaObject
+24 QPrintDialog::qt_metacast
+32 QPrintDialog::qt_metacall
+40 QPrintDialog::~QPrintDialog
+48 QPrintDialog::~QPrintDialog
+56 QWidget::event
+64 QDialog::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QPrintDialog::setVisible
+128 QDialog::sizeHint
+136 QDialog::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QDialog::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QWidget::paintEvent
+256 QWidget::moveEvent
+264 QDialog::resizeEvent
+272 QDialog::closeEvent
+280 QDialog::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QDialog::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QWidget::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QPrintDialog::done
+456 QPrintDialog::accept
+464 QDialog::reject
+472 QPrintDialog::exec
+480 (int (*)(...))-0x00000000000000010
+488 (int (*)(...))(& _ZTI12QPrintDialog)
+496 QPrintDialog::_ZThn16_N12QPrintDialogD1Ev
+504 QPrintDialog::_ZThn16_N12QPrintDialogD0Ev
+512 QWidget::_ZThn16_NK7QWidget7devTypeEv
+520 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+528 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QPrintDialog
+ size=40 align=8
+ base size=40 base align=8
+QPrintDialog (0x7fea11de4070) 0
+ vptr=((& QPrintDialog::_ZTV12QPrintDialog) + 16u)
+ QAbstractPrintDialog (0x7fea11de40e0) 0
+ primary-for QPrintDialog (0x7fea11de4070)
+ QDialog (0x7fea11de4150) 0
+ primary-for QAbstractPrintDialog (0x7fea11de40e0)
+ QWidget (0x7fea11d9dc80) 0
+ primary-for QDialog (0x7fea11de4150)
+ QObject (0x7fea11de41c0) 0
+ primary-for QWidget (0x7fea11d9dc80)
+ QPaintDevice (0x7fea11de4230) 16
+ vptr=((& QPrintDialog::_ZTV12QPrintDialog) + 496u)
+
+Vtable for QWizard
+QWizard::_ZTV7QWizard: 70u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QWizard)
+16 QWizard::metaObject
+24 QWizard::qt_metacast
+32 QWizard::qt_metacall
+40 QWizard::~QWizard
+48 QWizard::~QWizard
+56 QWizard::event
+64 QDialog::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWizard::setVisible
+128 QWizard::sizeHint
+136 QDialog::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QDialog::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QWizard::paintEvent
+256 QWidget::moveEvent
+264 QWizard::resizeEvent
+272 QDialog::closeEvent
+280 QDialog::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QDialog::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QWidget::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QWizard::done
+456 QDialog::accept
+464 QDialog::reject
+472 QWizard::validateCurrentPage
+480 QWizard::nextId
+488 QWizard::initializePage
+496 QWizard::cleanupPage
+504 (int (*)(...))-0x00000000000000010
+512 (int (*)(...))(& _ZTI7QWizard)
+520 QWizard::_ZThn16_N7QWizardD1Ev
+528 QWizard::_ZThn16_N7QWizardD0Ev
+536 QWidget::_ZThn16_NK7QWidget7devTypeEv
+544 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+552 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QWizard
+ size=40 align=8
+ base size=40 base align=8
+QWizard (0x7fea11dfbbd0) 0
+ vptr=((& QWizard::_ZTV7QWizard) + 16u)
+ QDialog (0x7fea11dfbc40) 0
+ primary-for QWizard (0x7fea11dfbbd0)
+ QWidget (0x7fea11df8580) 0
+ primary-for QDialog (0x7fea11dfbc40)
+ QObject (0x7fea11dfbcb0) 0
+ primary-for QWidget (0x7fea11df8580)
+ QPaintDevice (0x7fea11dfbd20) 16
+ vptr=((& QWizard::_ZTV7QWizard) + 520u)
+
+Vtable for QWizardPage
+QWizardPage::_ZTV11QWizardPage: 68u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QWizardPage)
+16 QWizardPage::metaObject
+24 QWizardPage::qt_metacast
+32 QWizardPage::qt_metacall
+40 QWizardPage::~QWizardPage
+48 QWizardPage::~QWizardPage
+56 QWidget::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QWidget::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QWidget::paintEvent
+256 QWidget::moveEvent
+264 QWidget::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QWidget::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QWizardPage::initializePage
+456 QWizardPage::cleanupPage
+464 QWizardPage::validatePage
+472 QWizardPage::isComplete
+480 QWizardPage::nextId
+488 (int (*)(...))-0x00000000000000010
+496 (int (*)(...))(& _ZTI11QWizardPage)
+504 QWizardPage::_ZThn16_N11QWizardPageD1Ev
+512 QWizardPage::_ZThn16_N11QWizardPageD0Ev
+520 QWidget::_ZThn16_NK7QWidget7devTypeEv
+528 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+536 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QWizardPage
+ size=40 align=8
+ base size=40 base align=8
+QWizardPage (0x7fea11c51f50) 0
+ vptr=((& QWizardPage::_ZTV11QWizardPage) + 16u)
+ QWidget (0x7fea11c2d780) 0
+ primary-for QWizardPage (0x7fea11c51f50)
+ QObject (0x7fea11c6a000) 0
+ primary-for QWidget (0x7fea11c2d780)
+ QPaintDevice (0x7fea11c6a070) 16
+ vptr=((& QWizardPage::_ZTV11QWizardPage) + 504u)
+
+Vtable for QPageSetupDialog
+QPageSetupDialog::_ZTV16QPageSetupDialog: 67u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QPageSetupDialog)
+16 QPageSetupDialog::metaObject
+24 QPageSetupDialog::qt_metacast
+32 QPageSetupDialog::qt_metacall
+40 QPageSetupDialog::~QPageSetupDialog
+48 QPageSetupDialog::~QPageSetupDialog
+56 QWidget::event
+64 QDialog::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QDialog::setVisible
+128 QDialog::sizeHint
+136 QDialog::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QDialog::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QWidget::paintEvent
+256 QWidget::moveEvent
+264 QDialog::resizeEvent
+272 QDialog::closeEvent
+280 QDialog::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QDialog::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QWidget::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QAbstractPageSetupDialog::done
+456 QDialog::accept
+464 QDialog::reject
+472 QPageSetupDialog::exec
+480 (int (*)(...))-0x00000000000000010
+488 (int (*)(...))(& _ZTI16QPageSetupDialog)
+496 QPageSetupDialog::_ZThn16_N16QPageSetupDialogD1Ev
+504 QPageSetupDialog::_ZThn16_N16QPageSetupDialogD0Ev
+512 QWidget::_ZThn16_NK7QWidget7devTypeEv
+520 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+528 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QPageSetupDialog
+ size=40 align=8
+ base size=40 base align=8
+QPageSetupDialog (0x7fea11c84a80) 0
+ vptr=((& QPageSetupDialog::_ZTV16QPageSetupDialog) + 16u)
+ QAbstractPageSetupDialog (0x7fea11c84af0) 0
+ primary-for QPageSetupDialog (0x7fea11c84a80)
+ QDialog (0x7fea11c84b60) 0
+ primary-for QAbstractPageSetupDialog (0x7fea11c84af0)
+ QWidget (0x7fea11c89080) 0
+ primary-for QDialog (0x7fea11c84b60)
+ QObject (0x7fea11c84bd0) 0
+ primary-for QWidget (0x7fea11c89080)
+ QPaintDevice (0x7fea11c84c40) 16
+ vptr=((& QPageSetupDialog::_ZTV16QPageSetupDialog) + 496u)
+
+Vtable for QLineEdit
+QLineEdit::_ZTV9QLineEdit: 63u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QLineEdit)
+16 QLineEdit::metaObject
+24 QLineEdit::qt_metacast
+32 QLineEdit::qt_metacall
+40 QLineEdit::~QLineEdit
+48 QLineEdit::~QLineEdit
+56 QLineEdit::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QLineEdit::sizeHint
+136 QLineEdit::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QLineEdit::mousePressEvent
+168 QLineEdit::mouseReleaseEvent
+176 QLineEdit::mouseDoubleClickEvent
+184 QLineEdit::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QLineEdit::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QLineEdit::focusInEvent
+224 QLineEdit::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QLineEdit::paintEvent
+256 QWidget::moveEvent
+264 QWidget::resizeEvent
+272 QWidget::closeEvent
+280 QLineEdit::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QLineEdit::dragEnterEvent
+312 QLineEdit::dragMoveEvent
+320 QLineEdit::dragLeaveEvent
+328 QLineEdit::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QLineEdit::changeEvent
+368 QWidget::metric
+376 QLineEdit::inputMethodEvent
+384 QLineEdit::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 (int (*)(...))-0x00000000000000010
+456 (int (*)(...))(& _ZTI9QLineEdit)
+464 QLineEdit::_ZThn16_N9QLineEditD1Ev
+472 QLineEdit::_ZThn16_N9QLineEditD0Ev
+480 QWidget::_ZThn16_NK7QWidget7devTypeEv
+488 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+496 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QLineEdit
+ size=40 align=8
+ base size=40 base align=8
+QLineEdit (0x7fea11ca2a10) 0
+ vptr=((& QLineEdit::_ZTV9QLineEdit) + 16u)
+ QWidget (0x7fea11c89b00) 0
+ primary-for QLineEdit (0x7fea11ca2a10)
+ QObject (0x7fea11ca2a80) 0
+ primary-for QWidget (0x7fea11c89b00)
+ QPaintDevice (0x7fea11ca2af0) 16
+ vptr=((& QLineEdit::_ZTV9QLineEdit) + 464u)
+
+Vtable for QInputDialog
+QInputDialog::_ZTV12QInputDialog: 66u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QInputDialog)
+16 QInputDialog::metaObject
+24 QInputDialog::qt_metacast
+32 QInputDialog::qt_metacall
+40 QInputDialog::~QInputDialog
+48 QInputDialog::~QInputDialog
+56 QWidget::event
+64 QDialog::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QInputDialog::setVisible
+128 QInputDialog::sizeHint
+136 QInputDialog::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QDialog::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QWidget::paintEvent
+256 QWidget::moveEvent
+264 QDialog::resizeEvent
+272 QDialog::closeEvent
+280 QDialog::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QDialog::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QWidget::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QInputDialog::done
+456 QDialog::accept
+464 QDialog::reject
+472 (int (*)(...))-0x00000000000000010
+480 (int (*)(...))(& _ZTI12QInputDialog)
+488 QInputDialog::_ZThn16_N12QInputDialogD1Ev
+496 QInputDialog::_ZThn16_N12QInputDialogD0Ev
+504 QWidget::_ZThn16_NK7QWidget7devTypeEv
+512 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+520 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QInputDialog
+ size=40 align=8
+ base size=40 base align=8
+QInputDialog (0x7fea11cf2930) 0
+ vptr=((& QInputDialog::_ZTV12QInputDialog) + 16u)
+ QDialog (0x7fea11cf29a0) 0
+ primary-for QInputDialog (0x7fea11cf2930)
+ QWidget (0x7fea11cf0980) 0
+ primary-for QDialog (0x7fea11cf29a0)
+ QObject (0x7fea11cf2a10) 0
+ primary-for QWidget (0x7fea11cf0980)
+ QPaintDevice (0x7fea11cf2a80) 16
+ vptr=((& QInputDialog::_ZTV12QInputDialog) + 488u)
+
+Vtable for QFileSystemModel
+QFileSystemModel::_ZTV16QFileSystemModel: 42u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QFileSystemModel)
+16 QFileSystemModel::metaObject
+24 QFileSystemModel::qt_metacast
+32 QFileSystemModel::qt_metacall
+40 QFileSystemModel::~QFileSystemModel
+48 QFileSystemModel::~QFileSystemModel
+56 QFileSystemModel::event
+64 QObject::eventFilter
+72 QFileSystemModel::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QFileSystemModel::index
+120 QFileSystemModel::parent
+128 QFileSystemModel::rowCount
+136 QFileSystemModel::columnCount
+144 QFileSystemModel::hasChildren
+152 QFileSystemModel::data
+160 QFileSystemModel::setData
+168 QFileSystemModel::headerData
+176 QAbstractItemModel::setHeaderData
+184 QAbstractItemModel::itemData
+192 QAbstractItemModel::setItemData
+200 QFileSystemModel::mimeTypes
+208 QFileSystemModel::mimeData
+216 QFileSystemModel::dropMimeData
+224 QFileSystemModel::supportedDropActions
+232 QAbstractItemModel::insertRows
+240 QAbstractItemModel::insertColumns
+248 QAbstractItemModel::removeRows
+256 QAbstractItemModel::removeColumns
+264 QFileSystemModel::fetchMore
+272 QFileSystemModel::canFetchMore
+280 QFileSystemModel::flags
+288 QFileSystemModel::sort
+296 QAbstractItemModel::buddy
+304 QAbstractItemModel::match
+312 QAbstractItemModel::span
+320 QAbstractItemModel::submit
+328 QAbstractItemModel::revert
+
+Class QFileSystemModel
+ size=16 align=8
+ base size=16 base align=8
+QFileSystemModel (0x7fea11b557e0) 0
+ vptr=((& QFileSystemModel::_ZTV16QFileSystemModel) + 16u)
+ QAbstractItemModel (0x7fea11b55850) 0
+ primary-for QFileSystemModel (0x7fea11b557e0)
+ QObject (0x7fea11b558c0) 0
+ primary-for QAbstractItemModel (0x7fea11b55850)
+
+Class QPixmapCache
+ size=1 align=1
+ base size=0 base align=1
+QPixmapCache (0x7fea11b9bee0) 0 empty
+
+Vtable for QImageIOHandler
+QImageIOHandler::_ZTV15QImageIOHandler: 18u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QImageIOHandler)
+16 QImageIOHandler::~QImageIOHandler
+24 QImageIOHandler::~QImageIOHandler
+32 QImageIOHandler::name
+40 __cxa_pure_virtual
+48 __cxa_pure_virtual
+56 QImageIOHandler::write
+64 QImageIOHandler::option
+72 QImageIOHandler::setOption
+80 QImageIOHandler::supportsOption
+88 QImageIOHandler::jumpToNextImage
+96 QImageIOHandler::jumpToImage
+104 QImageIOHandler::loopCount
+112 QImageIOHandler::imageCount
+120 QImageIOHandler::nextImageDelay
+128 QImageIOHandler::currentImageNumber
+136 QImageIOHandler::currentImageRect
+
+Class QImageIOHandler
+ size=16 align=8
+ base size=16 base align=8
+QImageIOHandler (0x7fea11b9bf50) 0
+ vptr=((& QImageIOHandler::_ZTV15QImageIOHandler) + 16u)
+
+Vtable for QImageIOHandlerFactoryInterface
+QImageIOHandlerFactoryInterface::_ZTV31QImageIOHandlerFactoryInterface: 6u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI31QImageIOHandlerFactoryInterface)
+16 QImageIOHandlerFactoryInterface::~QImageIOHandlerFactoryInterface
+24 QImageIOHandlerFactoryInterface::~QImageIOHandlerFactoryInterface
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+
+Class QImageIOHandlerFactoryInterface
+ size=8 align=8
+ base size=8 base align=8
+QImageIOHandlerFactoryInterface (0x7fea11bacb60) 0 nearly-empty
+ vptr=((& QImageIOHandlerFactoryInterface::_ZTV31QImageIOHandlerFactoryInterface) + 16u)
+ QFactoryInterface (0x7fea11bacbd0) 0 nearly-empty
+ primary-for QImageIOHandlerFactoryInterface (0x7fea11bacb60)
+
+Vtable for QImageIOPlugin
+QImageIOPlugin::_ZTV14QImageIOPlugin: 23u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QImageIOPlugin)
+16 QImageIOPlugin::metaObject
+24 QImageIOPlugin::qt_metacast
+32 QImageIOPlugin::qt_metacall
+40 QImageIOPlugin::~QImageIOPlugin
+48 QImageIOPlugin::~QImageIOPlugin
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 __cxa_pure_virtual
+136 (int (*)(...))-0x00000000000000010
+144 (int (*)(...))(& _ZTI14QImageIOPlugin)
+152 QImageIOPlugin::_ZThn16_N14QImageIOPluginD1Ev
+160 QImageIOPlugin::_ZThn16_N14QImageIOPluginD0Ev
+168 __cxa_pure_virtual
+176 __cxa_pure_virtual
+
+Class QImageIOPlugin
+ size=24 align=8
+ base size=24 base align=8
+QImageIOPlugin (0x7fea11bb0b00) 0
+ vptr=((& QImageIOPlugin::_ZTV14QImageIOPlugin) + 16u)
+ QObject (0x7fea11bc13f0) 0
+ primary-for QImageIOPlugin (0x7fea11bb0b00)
+ QImageIOHandlerFactoryInterface (0x7fea11bc1460) 16 nearly-empty
+ vptr=((& QImageIOPlugin::_ZTV14QImageIOPlugin) + 152u)
+ QFactoryInterface (0x7fea11bc14d0) 16 nearly-empty
+ primary-for QImageIOHandlerFactoryInterface (0x7fea11bc1460)
+
+Vtable for QPicture
+QPicture::_ZTV8QPicture: 8u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI8QPicture)
+16 QPicture::~QPicture
+24 QPicture::~QPicture
+32 QPicture::devType
+40 QPicture::paintEngine
+48 QPicture::metric
+56 QPicture::setData
+
+Class QPicture
+ size=24 align=8
+ base size=24 base align=8
+QPicture (0x7fea11c134d0) 0
+ vptr=((& QPicture::_ZTV8QPicture) + 16u)
+ QPaintDevice (0x7fea11c13540) 0
+ primary-for QPicture (0x7fea11c134d0)
+
+Class QPictureIO
+ size=8 align=8
+ base size=8 base align=8
+QPictureIO (0x7fea11a2b070) 0
+
+Class QImageReader
+ size=8 align=8
+ base size=8 base align=8
+QImageReader (0x7fea11a2b690) 0
+
+Class QImageWriter
+ size=8 align=8
+ base size=8 base align=8
+QImageWriter (0x7fea11a470e0) 0
+
+Vtable for QMovie
+QMovie::_ZTV6QMovie: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI6QMovie)
+16 QMovie::metaObject
+24 QMovie::qt_metacast
+32 QMovie::qt_metacall
+40 QMovie::~QMovie
+48 QMovie::~QMovie
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QMovie
+ size=16 align=8
+ base size=16 base align=8
+QMovie (0x7fea11a47930) 0
+ vptr=((& QMovie::_ZTV6QMovie) + 16u)
+ QObject (0x7fea11a479a0) 0
+ primary-for QMovie (0x7fea11a47930)
+
+Vtable for QIconEngineFactoryInterface
+QIconEngineFactoryInterface::_ZTV27QIconEngineFactoryInterface: 6u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI27QIconEngineFactoryInterface)
+16 QIconEngineFactoryInterface::~QIconEngineFactoryInterface
+24 QIconEngineFactoryInterface::~QIconEngineFactoryInterface
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+
+Class QIconEngineFactoryInterface
+ size=8 align=8
+ base size=8 base align=8
+QIconEngineFactoryInterface (0x7fea11a8d9a0) 0 nearly-empty
+ vptr=((& QIconEngineFactoryInterface::_ZTV27QIconEngineFactoryInterface) + 16u)
+ QFactoryInterface (0x7fea11a8da10) 0 nearly-empty
+ primary-for QIconEngineFactoryInterface (0x7fea11a8d9a0)
+
+Vtable for QIconEnginePlugin
+QIconEnginePlugin::_ZTV17QIconEnginePlugin: 22u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QIconEnginePlugin)
+16 QIconEnginePlugin::metaObject
+24 QIconEnginePlugin::qt_metacast
+32 QIconEnginePlugin::qt_metacall
+40 QIconEnginePlugin::~QIconEnginePlugin
+48 QIconEnginePlugin::~QIconEnginePlugin
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 (int (*)(...))-0x00000000000000010
+136 (int (*)(...))(& _ZTI17QIconEnginePlugin)
+144 QIconEnginePlugin::_ZThn16_N17QIconEnginePluginD1Ev
+152 QIconEnginePlugin::_ZThn16_N17QIconEnginePluginD0Ev
+160 __cxa_pure_virtual
+168 __cxa_pure_virtual
+
+Class QIconEnginePlugin
+ size=24 align=8
+ base size=24 base align=8
+QIconEnginePlugin (0x7fea11a8be80) 0
+ vptr=((& QIconEnginePlugin::_ZTV17QIconEnginePlugin) + 16u)
+ QObject (0x7fea11a97230) 0
+ primary-for QIconEnginePlugin (0x7fea11a8be80)
+ QIconEngineFactoryInterface (0x7fea11a972a0) 16 nearly-empty
+ vptr=((& QIconEnginePlugin::_ZTV17QIconEnginePlugin) + 144u)
+ QFactoryInterface (0x7fea11a97310) 16 nearly-empty
+ primary-for QIconEngineFactoryInterface (0x7fea11a972a0)
+
+Vtable for QIconEngineFactoryInterfaceV2
+QIconEngineFactoryInterfaceV2::_ZTV29QIconEngineFactoryInterfaceV2: 6u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI29QIconEngineFactoryInterfaceV2)
+16 QIconEngineFactoryInterfaceV2::~QIconEngineFactoryInterfaceV2
+24 QIconEngineFactoryInterfaceV2::~QIconEngineFactoryInterfaceV2
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+
+Class QIconEngineFactoryInterfaceV2
+ size=8 align=8
+ base size=8 base align=8
+QIconEngineFactoryInterfaceV2 (0x7fea11aa71c0) 0 nearly-empty
+ vptr=((& QIconEngineFactoryInterfaceV2::_ZTV29QIconEngineFactoryInterfaceV2) + 16u)
+ QFactoryInterface (0x7fea11aa7230) 0 nearly-empty
+ primary-for QIconEngineFactoryInterfaceV2 (0x7fea11aa71c0)
+
+Vtable for QIconEnginePluginV2
+QIconEnginePluginV2::_ZTV19QIconEnginePluginV2: 22u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QIconEnginePluginV2)
+16 QIconEnginePluginV2::metaObject
+24 QIconEnginePluginV2::qt_metacast
+32 QIconEnginePluginV2::qt_metacall
+40 QIconEnginePluginV2::~QIconEnginePluginV2
+48 QIconEnginePluginV2::~QIconEnginePluginV2
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 (int (*)(...))-0x00000000000000010
+136 (int (*)(...))(& _ZTI19QIconEnginePluginV2)
+144 QIconEnginePluginV2::_ZThn16_N19QIconEnginePluginV2D1Ev
+152 QIconEnginePluginV2::_ZThn16_N19QIconEnginePluginV2D0Ev
+160 __cxa_pure_virtual
+168 __cxa_pure_virtual
+
+Class QIconEnginePluginV2
+ size=24 align=8
+ base size=24 base align=8
+QIconEnginePluginV2 (0x7fea11aa1d00) 0
+ vptr=((& QIconEnginePluginV2::_ZTV19QIconEnginePluginV2) + 16u)
+ QObject (0x7fea11aa7af0) 0
+ primary-for QIconEnginePluginV2 (0x7fea11aa1d00)
+ QIconEngineFactoryInterfaceV2 (0x7fea11aa7b60) 16 nearly-empty
+ vptr=((& QIconEnginePluginV2::_ZTV19QIconEnginePluginV2) + 144u)
+ QFactoryInterface (0x7fea11aa7bd0) 16 nearly-empty
+ primary-for QIconEngineFactoryInterfaceV2 (0x7fea11aa7b60)
+
+Vtable for QIconEngine
+QIconEngine::_ZTV11QIconEngine: 9u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QIconEngine)
+16 QIconEngine::~QIconEngine
+24 QIconEngine::~QIconEngine
+32 __cxa_pure_virtual
+40 QIconEngine::actualSize
+48 QIconEngine::pixmap
+56 QIconEngine::addPixmap
+64 QIconEngine::addFile
+
+Class QIconEngine
+ size=8 align=8
+ base size=8 base align=8
+QIconEngine (0x7fea11abea80) 0 nearly-empty
+ vptr=((& QIconEngine::_ZTV11QIconEngine) + 16u)
+
+Class QIconEngineV2::AvailableSizesArgument
+ size=16 align=8
+ base size=16 base align=8
+QIconEngineV2::AvailableSizesArgument (0x7fea11ac82a0) 0
+
+Vtable for QIconEngineV2
+QIconEngineV2::_ZTV13QIconEngineV2: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QIconEngineV2)
+16 QIconEngineV2::~QIconEngineV2
+24 QIconEngineV2::~QIconEngineV2
+32 __cxa_pure_virtual
+40 QIconEngine::actualSize
+48 QIconEngine::pixmap
+56 QIconEngine::addPixmap
+64 QIconEngine::addFile
+72 QIconEngineV2::key
+80 QIconEngineV2::clone
+88 QIconEngineV2::read
+96 QIconEngineV2::write
+104 QIconEngineV2::virtual_hook
+
+Class QIconEngineV2
+ size=8 align=8
+ base size=8 base align=8
+QIconEngineV2 (0x7fea11ac8070) 0 nearly-empty
+ vptr=((& QIconEngineV2::_ZTV13QIconEngineV2) + 16u)
+ QIconEngine (0x7fea11ac80e0) 0 nearly-empty
+ primary-for QIconEngineV2 (0x7fea11ac8070)
+
+Vtable for QBitmap
+QBitmap::_ZTV7QBitmap: 7u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QBitmap)
+16 QBitmap::~QBitmap
+24 QBitmap::~QBitmap
+32 QPixmap::devType
+40 QPixmap::paintEngine
+48 QPixmap::metric
+
+Class QBitmap
+ size=24 align=8
+ base size=24 base align=8
+QBitmap (0x7fea11ac8a80) 0
+ vptr=((& QBitmap::_ZTV7QBitmap) + 16u)
+ QPixmap (0x7fea11ac8af0) 0
+ primary-for QBitmap (0x7fea11ac8a80)
+ QPaintDevice (0x7fea11ac8b60) 0
+ primary-for QPixmap (0x7fea11ac8af0)
+
+Vtable for QPictureFormatInterface
+QPictureFormatInterface::_ZTV23QPictureFormatInterface: 8u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI23QPictureFormatInterface)
+16 QPictureFormatInterface::~QPictureFormatInterface
+24 QPictureFormatInterface::~QPictureFormatInterface
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+48 __cxa_pure_virtual
+56 __cxa_pure_virtual
+
+Class QPictureFormatInterface
+ size=8 align=8
+ base size=8 base align=8
+QPictureFormatInterface (0x7fea11921bd0) 0 nearly-empty
+ vptr=((& QPictureFormatInterface::_ZTV23QPictureFormatInterface) + 16u)
+ QFactoryInterface (0x7fea11921c40) 0 nearly-empty
+ primary-for QPictureFormatInterface (0x7fea11921bd0)
+
+Vtable for QPictureFormatPlugin
+QPictureFormatPlugin::_ZTV20QPictureFormatPlugin: 26u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI20QPictureFormatPlugin)
+16 QPictureFormatPlugin::metaObject
+24 QPictureFormatPlugin::qt_metacast
+32 QPictureFormatPlugin::qt_metacall
+40 QPictureFormatPlugin::~QPictureFormatPlugin
+48 QPictureFormatPlugin::~QPictureFormatPlugin
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+120 QPictureFormatPlugin::loadPicture
+128 QPictureFormatPlugin::savePicture
+136 __cxa_pure_virtual
+144 (int (*)(...))-0x00000000000000010
+152 (int (*)(...))(& _ZTI20QPictureFormatPlugin)
+160 QPictureFormatPlugin::_ZThn16_N20QPictureFormatPluginD1Ev
+168 QPictureFormatPlugin::_ZThn16_N20QPictureFormatPluginD0Ev
+176 __cxa_pure_virtual
+184 QPictureFormatPlugin::_ZThn16_N20QPictureFormatPlugin11loadPictureERK7QStringS2_P8QPicture
+192 QPictureFormatPlugin::_ZThn16_N20QPictureFormatPlugin11savePictureERK7QStringS2_RK8QPicture
+200 __cxa_pure_virtual
+
+Class QPictureFormatPlugin
+ size=24 align=8
+ base size=24 base align=8
+QPictureFormatPlugin (0x7fea11928a00) 0
+ vptr=((& QPictureFormatPlugin::_ZTV20QPictureFormatPlugin) + 16u)
+ QObject (0x7fea1192e3f0) 0
+ primary-for QPictureFormatPlugin (0x7fea11928a00)
+ QPictureFormatInterface (0x7fea1192e460) 16 nearly-empty
+ vptr=((& QPictureFormatPlugin::_ZTV20QPictureFormatPlugin) + 160u)
+ QFactoryInterface (0x7fea1192e4d0) 16 nearly-empty
+ primary-for QPictureFormatInterface (0x7fea1192e460)
+
+Class QVFbHeader
+ size=1088 align=8
+ base size=1088 base align=8
+QVFbHeader (0x7fea11944380) 0
+
+Class QVFbKeyData
+ size=12 align=4
+ base size=12 base align=4
+QVFbKeyData (0x7fea119443f0) 0
+
+Vtable for QWSEmbedWidget
+QWSEmbedWidget::_ZTV14QWSEmbedWidget: 63u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QWSEmbedWidget)
+16 QWSEmbedWidget::metaObject
+24 QWSEmbedWidget::qt_metacast
+32 QWSEmbedWidget::qt_metacall
+40 QWSEmbedWidget::~QWSEmbedWidget
+48 QWSEmbedWidget::~QWSEmbedWidget
+56 QWidget::event
+64 QWSEmbedWidget::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QWidget::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QWidget::paintEvent
+256 QWSEmbedWidget::moveEvent
+264 QWSEmbedWidget::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWSEmbedWidget::showEvent
+344 QWSEmbedWidget::hideEvent
+352 QWidget::x11Event
+360 QWSEmbedWidget::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 (int (*)(...))-0x00000000000000010
+456 (int (*)(...))(& _ZTI14QWSEmbedWidget)
+464 QWSEmbedWidget::_ZThn16_N14QWSEmbedWidgetD1Ev
+472 QWSEmbedWidget::_ZThn16_N14QWSEmbedWidgetD0Ev
+480 QWidget::_ZThn16_NK7QWidget7devTypeEv
+488 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+496 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QWSEmbedWidget
+ size=40 align=8
+ base size=40 base align=8
+QWSEmbedWidget (0x7fea11944460) 0
+ vptr=((& QWSEmbedWidget::_ZTV14QWSEmbedWidget) + 16u)
+ QWidget (0x7fea11943200) 0
+ primary-for QWSEmbedWidget (0x7fea11944460)
+ QObject (0x7fea119444d0) 0
+ primary-for QWidget (0x7fea11943200)
+ QPaintDevice (0x7fea11944540) 16
+ vptr=((& QWSEmbedWidget::_ZTV14QWSEmbedWidget) + 464u)
+
+Class QColormap
+ size=8 align=8
+ base size=8 base align=8
+QColormap (0x7fea1195b930) 0
+
+Vtable for QPrinter
+QPrinter::_ZTV8QPrinter: 7u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI8QPrinter)
+16 QPrinter::~QPrinter
+24 QPrinter::~QPrinter
+32 QPrinter::devType
+40 QPrinter::paintEngine
+48 QPrinter::metric
+
+Class QPrinter
+ size=24 align=8
+ base size=24 base align=8
+QPrinter (0x7fea11964150) 0
+ vptr=((& QPrinter::_ZTV8QPrinter) + 16u)
+ QPaintDevice (0x7fea119641c0) 0
+ primary-for QPrinter (0x7fea11964150)
+
+Vtable for QPrintEngine
+QPrintEngine::_ZTV12QPrintEngine: 10u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QPrintEngine)
+16 QPrintEngine::~QPrintEngine
+24 QPrintEngine::~QPrintEngine
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+48 __cxa_pure_virtual
+56 __cxa_pure_virtual
+64 __cxa_pure_virtual
+72 __cxa_pure_virtual
+
+Class QPrintEngine
+ size=8 align=8
+ base size=8 base align=8
+QPrintEngine (0x7fea119a5620) 0 nearly-empty
+ vptr=((& QPrintEngine::_ZTV12QPrintEngine) + 16u)
+
+Class QPainter
+ size=8 align=8
+ base size=8 base align=8
+QPainter (0x7fea119b6380) 0
+
+Class QStylePainter
+ size=24 align=8
+ base size=24 base align=8
+QStylePainter (0x7fea117b9c40) 0
+ QPainter (0x7fea117b9cb0) 0
+
+Class QPrinterInfo
+ size=8 align=8
+ base size=8 base align=8
+QPrinterInfo (0x7fea117eb230) 0
+
+Class QTextItem
+ size=1 align=1
+ base size=0 base align=1
+QTextItem (0x7fea117ef700) 0 empty
+
+Vtable for QPaintEngine
+QPaintEngine::_ZTV12QPaintEngine: 24u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QPaintEngine)
+16 QPaintEngine::~QPaintEngine
+24 QPaintEngine::~QPaintEngine
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+48 __cxa_pure_virtual
+56 QPaintEngine::drawRects
+64 QPaintEngine::drawRects
+72 QPaintEngine::drawLines
+80 QPaintEngine::drawLines
+88 QPaintEngine::drawEllipse
+96 QPaintEngine::drawEllipse
+104 QPaintEngine::drawPath
+112 QPaintEngine::drawPoints
+120 QPaintEngine::drawPoints
+128 QPaintEngine::drawPolygon
+136 QPaintEngine::drawPolygon
+144 __cxa_pure_virtual
+152 QPaintEngine::drawTextItem
+160 QPaintEngine::drawTiledPixmap
+168 QPaintEngine::drawImage
+176 QPaintEngine::coordinateOffset
+184 __cxa_pure_virtual
+
+Class QPaintEngine
+ size=32 align=8
+ base size=32 base align=8
+QPaintEngine (0x7fea117efd20) 0
+ vptr=((& QPaintEngine::_ZTV12QPaintEngine) + 16u)
+
+Class QPaintEngineState
+ size=4 align=4
+ base size=4 base align=4
+QPaintEngineState (0x7fea116397e0) 0
+
+Class QTreeWidgetItemIterator
+ size=24 align=8
+ base size=20 base align=8
+QTreeWidgetItemIterator (0x7fea116f3af0) 0
+
+Vtable for QDataWidgetMapper
+QDataWidgetMapper::_ZTV17QDataWidgetMapper: 15u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QDataWidgetMapper)
+16 QDataWidgetMapper::metaObject
+24 QDataWidgetMapper::qt_metacast
+32 QDataWidgetMapper::qt_metacall
+40 QDataWidgetMapper::~QDataWidgetMapper
+48 QDataWidgetMapper::~QDataWidgetMapper
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QDataWidgetMapper::setCurrentIndex
+
+Class QDataWidgetMapper
+ size=16 align=8
+ base size=16 base align=8
+QDataWidgetMapper (0x7fea11550690) 0
+ vptr=((& QDataWidgetMapper::_ZTV17QDataWidgetMapper) + 16u)
+ QObject (0x7fea11550700) 0
+ primary-for QDataWidgetMapper (0x7fea11550690)
+
+Vtable for QFileIconProvider
+QFileIconProvider::_ZTV17QFileIconProvider: 7u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QFileIconProvider)
+16 QFileIconProvider::~QFileIconProvider
+24 QFileIconProvider::~QFileIconProvider
+32 QFileIconProvider::icon
+40 QFileIconProvider::icon
+48 QFileIconProvider::type
+
+Class QFileIconProvider
+ size=16 align=8
+ base size=16 base align=8
+QFileIconProvider (0x7fea11589150) 0
+ vptr=((& QFileIconProvider::_ZTV17QFileIconProvider) + 16u)
+
+Vtable for QStringListModel
+QStringListModel::_ZTV16QStringListModel: 42u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QStringListModel)
+16 QStringListModel::metaObject
+24 QStringListModel::qt_metacast
+32 QStringListModel::qt_metacall
+40 QStringListModel::~QStringListModel
+48 QStringListModel::~QStringListModel
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QAbstractListModel::index
+120 QAbstractListModel::parent
+128 QStringListModel::rowCount
+136 QAbstractListModel::columnCount
+144 QAbstractListModel::hasChildren
+152 QStringListModel::data
+160 QStringListModel::setData
+168 QAbstractItemModel::headerData
+176 QAbstractItemModel::setHeaderData
+184 QAbstractItemModel::itemData
+192 QAbstractItemModel::setItemData
+200 QAbstractItemModel::mimeTypes
+208 QAbstractItemModel::mimeData
+216 QAbstractListModel::dropMimeData
+224 QStringListModel::supportedDropActions
+232 QStringListModel::insertRows
+240 QAbstractItemModel::insertColumns
+248 QStringListModel::removeRows
+256 QAbstractItemModel::removeColumns
+264 QAbstractItemModel::fetchMore
+272 QAbstractItemModel::canFetchMore
+280 QStringListModel::flags
+288 QStringListModel::sort
+296 QAbstractItemModel::buddy
+304 QAbstractItemModel::match
+312 QAbstractItemModel::span
+320 QAbstractItemModel::submit
+328 QAbstractItemModel::revert
+
+Class QStringListModel
+ size=24 align=8
+ base size=24 base align=8
+QStringListModel (0x7fea11589c40) 0
+ vptr=((& QStringListModel::_ZTV16QStringListModel) + 16u)
+ QAbstractListModel (0x7fea11589cb0) 0
+ primary-for QStringListModel (0x7fea11589c40)
+ QAbstractItemModel (0x7fea11589d20) 0
+ primary-for QAbstractListModel (0x7fea11589cb0)
+ QObject (0x7fea11589d90) 0
+ primary-for QAbstractItemModel (0x7fea11589d20)
+
+Vtable for QListWidgetItem
+QListWidgetItem::_ZTV15QListWidgetItem: 11u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QListWidgetItem)
+16 QListWidgetItem::~QListWidgetItem
+24 QListWidgetItem::~QListWidgetItem
+32 QListWidgetItem::clone
+40 QListWidgetItem::setBackgroundColor
+48 QListWidgetItem::data
+56 QListWidgetItem::setData
+64 QListWidgetItem::operator<
+72 QListWidgetItem::read
+80 QListWidgetItem::write
+
+Class QListWidgetItem
+ size=48 align=8
+ base size=44 base align=8
+QListWidgetItem (0x7fea115a9230) 0
+ vptr=((& QListWidgetItem::_ZTV15QListWidgetItem) + 16u)
+
+Vtable for QListWidget
+QListWidget::_ZTV11QListWidget: 107u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QListWidget)
+16 QListWidget::metaObject
+24 QListWidget::qt_metacast
+32 QListWidget::qt_metacall
+40 QListWidget::~QListWidget
+48 QListWidget::~QListWidget
+56 QListWidget::event
+64 QObject::eventFilter
+72 QListView::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QAbstractScrollArea::sizeHint
+136 QAbstractScrollArea::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QAbstractItemView::mousePressEvent
+168 QListView::mouseReleaseEvent
+176 QAbstractItemView::mouseDoubleClickEvent
+184 QListView::mouseMoveEvent
+192 QAbstractScrollArea::wheelEvent
+200 QAbstractItemView::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QAbstractItemView::focusInEvent
+224 QAbstractItemView::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QListView::paintEvent
+256 QWidget::moveEvent
+264 QListView::resizeEvent
+272 QWidget::closeEvent
+280 QAbstractScrollArea::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QAbstractItemView::dragEnterEvent
+312 QListView::dragMoveEvent
+320 QListView::dragLeaveEvent
+328 QListWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QFrame::changeEvent
+368 QWidget::metric
+376 QAbstractItemView::inputMethodEvent
+384 QAbstractItemView::inputMethodQuery
+392 QAbstractItemView::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QAbstractItemView::viewportEvent
+456 QListView::scrollContentsBy
+464 QListWidget::setModel
+472 QAbstractItemView::setSelectionModel
+480 QAbstractItemView::keyboardSearch
+488 QListView::visualRect
+496 QListView::scrollTo
+504 QListView::indexAt
+512 QAbstractItemView::sizeHintForRow
+520 QAbstractItemView::sizeHintForColumn
+528 QListView::reset
+536 QListView::setRootIndex
+544 QListView::doItemsLayout
+552 QAbstractItemView::selectAll
+560 QListView::dataChanged
+568 QListView::rowsInserted
+576 QListView::rowsAboutToBeRemoved
+584 QListView::selectionChanged
+592 QListView::currentChanged
+600 QAbstractItemView::updateEditorData
+608 QAbstractItemView::updateEditorGeometries
+616 QListView::updateGeometries
+624 QAbstractItemView::verticalScrollbarAction
+632 QAbstractItemView::horizontalScrollbarAction
+640 QAbstractItemView::verticalScrollbarValueChanged
+648 QAbstractItemView::horizontalScrollbarValueChanged
+656 QAbstractItemView::closeEditor
+664 QAbstractItemView::commitData
+672 QAbstractItemView::editorDestroyed
+680 QListView::moveCursor
+688 QListView::horizontalOffset
+696 QListView::verticalOffset
+704 QListView::isIndexHidden
+712 QListView::setSelection
+720 QListView::visualRegionForSelection
+728 QListView::selectedIndexes
+736 QAbstractItemView::edit
+744 QAbstractItemView::selectionCommand
+752 QListView::startDrag
+760 QListView::viewOptions
+768 QListWidget::mimeTypes
+776 QListWidget::mimeData
+784 QListWidget::dropMimeData
+792 QListWidget::supportedDropActions
+800 (int (*)(...))-0x00000000000000010
+808 (int (*)(...))(& _ZTI11QListWidget)
+816 QListWidget::_ZThn16_N11QListWidgetD1Ev
+824 QListWidget::_ZThn16_N11QListWidgetD0Ev
+832 QWidget::_ZThn16_NK7QWidget7devTypeEv
+840 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+848 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QListWidget
+ size=40 align=8
+ base size=40 base align=8
+QListWidget (0x7fea1141b9a0) 0
+ vptr=((& QListWidget::_ZTV11QListWidget) + 16u)
+ QListView (0x7fea1141ba10) 0
+ primary-for QListWidget (0x7fea1141b9a0)
+ QAbstractItemView (0x7fea1141ba80) 0
+ primary-for QListView (0x7fea1141ba10)
+ QAbstractScrollArea (0x7fea1141baf0) 0
+ primary-for QAbstractItemView (0x7fea1141ba80)
+ QFrame (0x7fea1141bb60) 0
+ primary-for QAbstractScrollArea (0x7fea1141baf0)
+ QWidget (0x7fea11419580) 0
+ primary-for QFrame (0x7fea1141bb60)
+ QObject (0x7fea1141bbd0) 0
+ primary-for QWidget (0x7fea11419580)
+ QPaintDevice (0x7fea1141bc40) 16
+ vptr=((& QListWidget::_ZTV11QListWidget) + 816u)
+
+Vtable for QDirModel
+QDirModel::_ZTV9QDirModel: 42u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QDirModel)
+16 QDirModel::metaObject
+24 QDirModel::qt_metacast
+32 QDirModel::qt_metacall
+40 QDirModel::~QDirModel
+48 QDirModel::~QDirModel
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QDirModel::index
+120 QDirModel::parent
+128 QDirModel::rowCount
+136 QDirModel::columnCount
+144 QDirModel::hasChildren
+152 QDirModel::data
+160 QDirModel::setData
+168 QDirModel::headerData
+176 QAbstractItemModel::setHeaderData
+184 QAbstractItemModel::itemData
+192 QAbstractItemModel::setItemData
+200 QDirModel::mimeTypes
+208 QDirModel::mimeData
+216 QDirModel::dropMimeData
+224 QDirModel::supportedDropActions
+232 QAbstractItemModel::insertRows
+240 QAbstractItemModel::insertColumns
+248 QAbstractItemModel::removeRows
+256 QAbstractItemModel::removeColumns
+264 QAbstractItemModel::fetchMore
+272 QAbstractItemModel::canFetchMore
+280 QDirModel::flags
+288 QDirModel::sort
+296 QAbstractItemModel::buddy
+304 QAbstractItemModel::match
+312 QAbstractItemModel::span
+320 QAbstractItemModel::submit
+328 QAbstractItemModel::revert
+
+Class QDirModel
+ size=16 align=8
+ base size=16 base align=8
+QDirModel (0x7fea11459e00) 0
+ vptr=((& QDirModel::_ZTV9QDirModel) + 16u)
+ QAbstractItemModel (0x7fea11459e70) 0
+ primary-for QDirModel (0x7fea11459e00)
+ QObject (0x7fea11459ee0) 0
+ primary-for QAbstractItemModel (0x7fea11459e70)
+
+Vtable for QColumnView
+QColumnView::_ZTV11QColumnView: 104u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QColumnView)
+16 QColumnView::metaObject
+24 QColumnView::qt_metacast
+32 QColumnView::qt_metacall
+40 QColumnView::~QColumnView
+48 QColumnView::~QColumnView
+56 QAbstractItemView::event
+64 QObject::eventFilter
+72 QAbstractItemView::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QColumnView::sizeHint
+136 QAbstractScrollArea::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QAbstractItemView::mousePressEvent
+168 QAbstractItemView::mouseReleaseEvent
+176 QAbstractItemView::mouseDoubleClickEvent
+184 QAbstractItemView::mouseMoveEvent
+192 QAbstractScrollArea::wheelEvent
+200 QAbstractItemView::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QAbstractItemView::focusInEvent
+224 QAbstractItemView::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QAbstractScrollArea::paintEvent
+256 QWidget::moveEvent
+264 QColumnView::resizeEvent
+272 QWidget::closeEvent
+280 QAbstractScrollArea::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QAbstractItemView::dragEnterEvent
+312 QAbstractItemView::dragMoveEvent
+320 QAbstractItemView::dragLeaveEvent
+328 QAbstractItemView::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QFrame::changeEvent
+368 QWidget::metric
+376 QAbstractItemView::inputMethodEvent
+384 QAbstractItemView::inputMethodQuery
+392 QAbstractItemView::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QAbstractItemView::viewportEvent
+456 QColumnView::scrollContentsBy
+464 QColumnView::setModel
+472 QColumnView::setSelectionModel
+480 QAbstractItemView::keyboardSearch
+488 QColumnView::visualRect
+496 QColumnView::scrollTo
+504 QColumnView::indexAt
+512 QAbstractItemView::sizeHintForRow
+520 QAbstractItemView::sizeHintForColumn
+528 QAbstractItemView::reset
+536 QColumnView::setRootIndex
+544 QAbstractItemView::doItemsLayout
+552 QColumnView::selectAll
+560 QAbstractItemView::dataChanged
+568 QAbstractItemView::rowsInserted
+576 QAbstractItemView::rowsAboutToBeRemoved
+584 QAbstractItemView::selectionChanged
+592 QColumnView::currentChanged
+600 QAbstractItemView::updateEditorData
+608 QAbstractItemView::updateEditorGeometries
+616 QAbstractItemView::updateGeometries
+624 QAbstractItemView::verticalScrollbarAction
+632 QAbstractItemView::horizontalScrollbarAction
+640 QAbstractItemView::verticalScrollbarValueChanged
+648 QAbstractItemView::horizontalScrollbarValueChanged
+656 QAbstractItemView::closeEditor
+664 QAbstractItemView::commitData
+672 QAbstractItemView::editorDestroyed
+680 QColumnView::moveCursor
+688 QColumnView::horizontalOffset
+696 QColumnView::verticalOffset
+704 QColumnView::isIndexHidden
+712 QColumnView::setSelection
+720 QColumnView::visualRegionForSelection
+728 QAbstractItemView::selectedIndexes
+736 QAbstractItemView::edit
+744 QAbstractItemView::selectionCommand
+752 QAbstractItemView::startDrag
+760 QAbstractItemView::viewOptions
+768 QColumnView::createColumn
+776 (int (*)(...))-0x00000000000000010
+784 (int (*)(...))(& _ZTI11QColumnView)
+792 QColumnView::_ZThn16_N11QColumnViewD1Ev
+800 QColumnView::_ZThn16_N11QColumnViewD0Ev
+808 QWidget::_ZThn16_NK7QWidget7devTypeEv
+816 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+824 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QColumnView
+ size=40 align=8
+ base size=40 base align=8
+QColumnView (0x7fea114840e0) 0
+ vptr=((& QColumnView::_ZTV11QColumnView) + 16u)
+ QAbstractItemView (0x7fea11484150) 0
+ primary-for QColumnView (0x7fea114840e0)
+ QAbstractScrollArea (0x7fea114841c0) 0
+ primary-for QAbstractItemView (0x7fea11484150)
+ QFrame (0x7fea11484230) 0
+ primary-for QAbstractScrollArea (0x7fea114841c0)
+ QWidget (0x7fea1145ad00) 0
+ primary-for QFrame (0x7fea11484230)
+ QObject (0x7fea114842a0) 0
+ primary-for QWidget (0x7fea1145ad00)
+ QPaintDevice (0x7fea11484310) 16
+ vptr=((& QColumnView::_ZTV11QColumnView) + 792u)
+
+Vtable for QStandardItem
+QStandardItem::_ZTV13QStandardItem: 11u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QStandardItem)
+16 QStandardItem::~QStandardItem
+24 QStandardItem::~QStandardItem
+32 QStandardItem::data
+40 QStandardItem::setData
+48 QStandardItem::clone
+56 QStandardItem::type
+64 QStandardItem::read
+72 QStandardItem::write
+80 QStandardItem::operator<
+
+Class QStandardItem
+ size=16 align=8
+ base size=16 base align=8
+QStandardItem (0x7fea114a9230) 0
+ vptr=((& QStandardItem::_ZTV13QStandardItem) + 16u)
+
+Vtable for QStandardItemModel
+QStandardItemModel::_ZTV18QStandardItemModel: 42u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QStandardItemModel)
+16 QStandardItemModel::metaObject
+24 QStandardItemModel::qt_metacast
+32 QStandardItemModel::qt_metacall
+40 QStandardItemModel::~QStandardItemModel
+48 QStandardItemModel::~QStandardItemModel
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QStandardItemModel::index
+120 QStandardItemModel::parent
+128 QStandardItemModel::rowCount
+136 QStandardItemModel::columnCount
+144 QStandardItemModel::hasChildren
+152 QStandardItemModel::data
+160 QStandardItemModel::setData
+168 QStandardItemModel::headerData
+176 QStandardItemModel::setHeaderData
+184 QStandardItemModel::itemData
+192 QStandardItemModel::setItemData
+200 QStandardItemModel::mimeTypes
+208 QStandardItemModel::mimeData
+216 QStandardItemModel::dropMimeData
+224 QStandardItemModel::supportedDropActions
+232 QStandardItemModel::insertRows
+240 QStandardItemModel::insertColumns
+248 QStandardItemModel::removeRows
+256 QStandardItemModel::removeColumns
+264 QAbstractItemModel::fetchMore
+272 QAbstractItemModel::canFetchMore
+280 QStandardItemModel::flags
+288 QStandardItemModel::sort
+296 QAbstractItemModel::buddy
+304 QAbstractItemModel::match
+312 QAbstractItemModel::span
+320 QAbstractItemModel::submit
+328 QAbstractItemModel::revert
+
+Class QStandardItemModel
+ size=16 align=8
+ base size=16 base align=8
+QStandardItemModel (0x7fea11385e00) 0
+ vptr=((& QStandardItemModel::_ZTV18QStandardItemModel) + 16u)
+ QAbstractItemModel (0x7fea11385e70) 0
+ primary-for QStandardItemModel (0x7fea11385e00)
+ QObject (0x7fea11385ee0) 0
+ primary-for QAbstractItemModel (0x7fea11385e70)
+
+Vtable for QAbstractProxyModel
+QAbstractProxyModel::_ZTV19QAbstractProxyModel: 47u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QAbstractProxyModel)
+16 QAbstractProxyModel::metaObject
+24 QAbstractProxyModel::qt_metacast
+32 QAbstractProxyModel::qt_metacall
+40 QAbstractProxyModel::~QAbstractProxyModel
+48 QAbstractProxyModel::~QAbstractProxyModel
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 __cxa_pure_virtual
+136 __cxa_pure_virtual
+144 QAbstractItemModel::hasChildren
+152 QAbstractProxyModel::data
+160 QAbstractProxyModel::setData
+168 QAbstractProxyModel::headerData
+176 QAbstractProxyModel::setHeaderData
+184 QAbstractProxyModel::itemData
+192 QAbstractItemModel::setItemData
+200 QAbstractItemModel::mimeTypes
+208 QAbstractItemModel::mimeData
+216 QAbstractItemModel::dropMimeData
+224 QAbstractItemModel::supportedDropActions
+232 QAbstractItemModel::insertRows
+240 QAbstractItemModel::insertColumns
+248 QAbstractItemModel::removeRows
+256 QAbstractItemModel::removeColumns
+264 QAbstractItemModel::fetchMore
+272 QAbstractItemModel::canFetchMore
+280 QAbstractProxyModel::flags
+288 QAbstractItemModel::sort
+296 QAbstractItemModel::buddy
+304 QAbstractItemModel::match
+312 QAbstractItemModel::span
+320 QAbstractProxyModel::submit
+328 QAbstractProxyModel::revert
+336 QAbstractProxyModel::setSourceModel
+344 __cxa_pure_virtual
+352 __cxa_pure_virtual
+360 QAbstractProxyModel::mapSelectionToSource
+368 QAbstractProxyModel::mapSelectionFromSource
+
+Class QAbstractProxyModel
+ size=16 align=8
+ base size=16 base align=8
+QAbstractProxyModel (0x7fea113c39a0) 0
+ vptr=((& QAbstractProxyModel::_ZTV19QAbstractProxyModel) + 16u)
+ QAbstractItemModel (0x7fea113c3a10) 0
+ primary-for QAbstractProxyModel (0x7fea113c39a0)
+ QObject (0x7fea113c3a80) 0
+ primary-for QAbstractItemModel (0x7fea113c3a10)
+
+Vtable for QSortFilterProxyModel
+QSortFilterProxyModel::_ZTV21QSortFilterProxyModel: 50u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI21QSortFilterProxyModel)
+16 QSortFilterProxyModel::metaObject
+24 QSortFilterProxyModel::qt_metacast
+32 QSortFilterProxyModel::qt_metacall
+40 QSortFilterProxyModel::~QSortFilterProxyModel
+48 QSortFilterProxyModel::~QSortFilterProxyModel
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QSortFilterProxyModel::index
+120 QSortFilterProxyModel::parent
+128 QSortFilterProxyModel::rowCount
+136 QSortFilterProxyModel::columnCount
+144 QSortFilterProxyModel::hasChildren
+152 QSortFilterProxyModel::data
+160 QSortFilterProxyModel::setData
+168 QSortFilterProxyModel::headerData
+176 QSortFilterProxyModel::setHeaderData
+184 QAbstractProxyModel::itemData
+192 QAbstractItemModel::setItemData
+200 QSortFilterProxyModel::mimeTypes
+208 QSortFilterProxyModel::mimeData
+216 QSortFilterProxyModel::dropMimeData
+224 QSortFilterProxyModel::supportedDropActions
+232 QSortFilterProxyModel::insertRows
+240 QSortFilterProxyModel::insertColumns
+248 QSortFilterProxyModel::removeRows
+256 QSortFilterProxyModel::removeColumns
+264 QSortFilterProxyModel::fetchMore
+272 QSortFilterProxyModel::canFetchMore
+280 QSortFilterProxyModel::flags
+288 QSortFilterProxyModel::sort
+296 QSortFilterProxyModel::buddy
+304 QSortFilterProxyModel::match
+312 QSortFilterProxyModel::span
+320 QAbstractProxyModel::submit
+328 QAbstractProxyModel::revert
+336 QSortFilterProxyModel::setSourceModel
+344 QSortFilterProxyModel::mapToSource
+352 QSortFilterProxyModel::mapFromSource
+360 QSortFilterProxyModel::mapSelectionToSource
+368 QSortFilterProxyModel::mapSelectionFromSource
+376 QSortFilterProxyModel::filterAcceptsRow
+384 QSortFilterProxyModel::filterAcceptsColumn
+392 QSortFilterProxyModel::lessThan
+
+Class QSortFilterProxyModel
+ size=16 align=8
+ base size=16 base align=8
+QSortFilterProxyModel (0x7fea113ee5b0) 0
+ vptr=((& QSortFilterProxyModel::_ZTV21QSortFilterProxyModel) + 16u)
+ QAbstractProxyModel (0x7fea113ee620) 0
+ primary-for QSortFilterProxyModel (0x7fea113ee5b0)
+ QAbstractItemModel (0x7fea113ee690) 0
+ primary-for QAbstractProxyModel (0x7fea113ee620)
+ QObject (0x7fea113ee700) 0
+ primary-for QAbstractItemModel (0x7fea113ee690)
+
+Vtable for QStyledItemDelegate
+QStyledItemDelegate::_ZTV19QStyledItemDelegate: 23u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QStyledItemDelegate)
+16 QStyledItemDelegate::metaObject
+24 QStyledItemDelegate::qt_metacast
+32 QStyledItemDelegate::qt_metacall
+40 QStyledItemDelegate::~QStyledItemDelegate
+48 QStyledItemDelegate::~QStyledItemDelegate
+56 QObject::event
+64 QStyledItemDelegate::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QStyledItemDelegate::paint
+120 QStyledItemDelegate::sizeHint
+128 QStyledItemDelegate::createEditor
+136 QStyledItemDelegate::setEditorData
+144 QStyledItemDelegate::setModelData
+152 QStyledItemDelegate::updateEditorGeometry
+160 QStyledItemDelegate::editorEvent
+168 QStyledItemDelegate::displayText
+176 QStyledItemDelegate::initStyleOption
+
+Class QStyledItemDelegate
+ size=16 align=8
+ base size=16 base align=8
+QStyledItemDelegate (0x7fea1121e4d0) 0
+ vptr=((& QStyledItemDelegate::_ZTV19QStyledItemDelegate) + 16u)
+ QAbstractItemDelegate (0x7fea1121e540) 0
+ primary-for QStyledItemDelegate (0x7fea1121e4d0)
+ QObject (0x7fea1121e5b0) 0
+ primary-for QAbstractItemDelegate (0x7fea1121e540)
+
+Vtable for QItemDelegate
+QItemDelegate::_ZTV13QItemDelegate: 25u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QItemDelegate)
+16 QItemDelegate::metaObject
+24 QItemDelegate::qt_metacast
+32 QItemDelegate::qt_metacall
+40 QItemDelegate::~QItemDelegate
+48 QItemDelegate::~QItemDelegate
+56 QObject::event
+64 QItemDelegate::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QItemDelegate::paint
+120 QItemDelegate::sizeHint
+128 QItemDelegate::createEditor
+136 QItemDelegate::setEditorData
+144 QItemDelegate::setModelData
+152 QItemDelegate::updateEditorGeometry
+160 QItemDelegate::editorEvent
+168 QItemDelegate::drawDisplay
+176 QItemDelegate::drawDecoration
+184 QItemDelegate::drawFocus
+192 QItemDelegate::drawCheck
+
+Class QItemDelegate
+ size=16 align=8
+ base size=16 base align=8
+QItemDelegate (0x7fea11231e70) 0
+ vptr=((& QItemDelegate::_ZTV13QItemDelegate) + 16u)
+ QAbstractItemDelegate (0x7fea11231ee0) 0
+ primary-for QItemDelegate (0x7fea11231e70)
+ QObject (0x7fea11231f50) 0
+ primary-for QAbstractItemDelegate (0x7fea11231ee0)
+
+Vtable for QTableView
+QTableView::_ZTV10QTableView: 103u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QTableView)
+16 QTableView::metaObject
+24 QTableView::qt_metacast
+32 QTableView::qt_metacall
+40 QTableView::~QTableView
+48 QTableView::~QTableView
+56 QAbstractItemView::event
+64 QObject::eventFilter
+72 QTableView::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QAbstractScrollArea::sizeHint
+136 QAbstractScrollArea::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QAbstractItemView::mousePressEvent
+168 QAbstractItemView::mouseReleaseEvent
+176 QAbstractItemView::mouseDoubleClickEvent
+184 QAbstractItemView::mouseMoveEvent
+192 QAbstractScrollArea::wheelEvent
+200 QAbstractItemView::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QAbstractItemView::focusInEvent
+224 QAbstractItemView::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QTableView::paintEvent
+256 QWidget::moveEvent
+264 QAbstractItemView::resizeEvent
+272 QWidget::closeEvent
+280 QAbstractScrollArea::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QAbstractItemView::dragEnterEvent
+312 QAbstractItemView::dragMoveEvent
+320 QAbstractItemView::dragLeaveEvent
+328 QAbstractItemView::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QFrame::changeEvent
+368 QWidget::metric
+376 QAbstractItemView::inputMethodEvent
+384 QAbstractItemView::inputMethodQuery
+392 QAbstractItemView::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QAbstractItemView::viewportEvent
+456 QTableView::scrollContentsBy
+464 QTableView::setModel
+472 QTableView::setSelectionModel
+480 QAbstractItemView::keyboardSearch
+488 QTableView::visualRect
+496 QTableView::scrollTo
+504 QTableView::indexAt
+512 QTableView::sizeHintForRow
+520 QTableView::sizeHintForColumn
+528 QAbstractItemView::reset
+536 QTableView::setRootIndex
+544 QAbstractItemView::doItemsLayout
+552 QAbstractItemView::selectAll
+560 QAbstractItemView::dataChanged
+568 QAbstractItemView::rowsInserted
+576 QAbstractItemView::rowsAboutToBeRemoved
+584 QTableView::selectionChanged
+592 QTableView::currentChanged
+600 QAbstractItemView::updateEditorData
+608 QAbstractItemView::updateEditorGeometries
+616 QTableView::updateGeometries
+624 QTableView::verticalScrollbarAction
+632 QTableView::horizontalScrollbarAction
+640 QAbstractItemView::verticalScrollbarValueChanged
+648 QAbstractItemView::horizontalScrollbarValueChanged
+656 QAbstractItemView::closeEditor
+664 QAbstractItemView::commitData
+672 QAbstractItemView::editorDestroyed
+680 QTableView::moveCursor
+688 QTableView::horizontalOffset
+696 QTableView::verticalOffset
+704 QTableView::isIndexHidden
+712 QTableView::setSelection
+720 QTableView::visualRegionForSelection
+728 QTableView::selectedIndexes
+736 QAbstractItemView::edit
+744 QAbstractItemView::selectionCommand
+752 QAbstractItemView::startDrag
+760 QTableView::viewOptions
+768 (int (*)(...))-0x00000000000000010
+776 (int (*)(...))(& _ZTI10QTableView)
+784 QTableView::_ZThn16_N10QTableViewD1Ev
+792 QTableView::_ZThn16_N10QTableViewD0Ev
+800 QWidget::_ZThn16_NK7QWidget7devTypeEv
+808 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+816 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QTableView
+ size=40 align=8
+ base size=40 base align=8
+QTableView (0x7fea11256850) 0
+ vptr=((& QTableView::_ZTV10QTableView) + 16u)
+ QAbstractItemView (0x7fea112568c0) 0
+ primary-for QTableView (0x7fea11256850)
+ QAbstractScrollArea (0x7fea11256930) 0
+ primary-for QAbstractItemView (0x7fea112568c0)
+ QFrame (0x7fea112569a0) 0
+ primary-for QAbstractScrollArea (0x7fea11256930)
+ QWidget (0x7fea11253500) 0
+ primary-for QFrame (0x7fea112569a0)
+ QObject (0x7fea11256a10) 0
+ primary-for QWidget (0x7fea11253500)
+ QPaintDevice (0x7fea11256a80) 16
+ vptr=((& QTableView::_ZTV10QTableView) + 784u)
+
+Class QTableWidgetSelectionRange
+ size=16 align=4
+ base size=16 base align=4
+QTableWidgetSelectionRange (0x7fea11288620) 0
+
+Vtable for QTableWidgetItem
+QTableWidgetItem::_ZTV16QTableWidgetItem: 10u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QTableWidgetItem)
+16 QTableWidgetItem::~QTableWidgetItem
+24 QTableWidgetItem::~QTableWidgetItem
+32 QTableWidgetItem::clone
+40 QTableWidgetItem::data
+48 QTableWidgetItem::setData
+56 QTableWidgetItem::operator<
+64 QTableWidgetItem::read
+72 QTableWidgetItem::write
+
+Class QTableWidgetItem
+ size=48 align=8
+ base size=44 base align=8
+QTableWidgetItem (0x7fea11292af0) 0
+ vptr=((& QTableWidgetItem::_ZTV16QTableWidgetItem) + 16u)
+
+Vtable for QTableWidget
+QTableWidget::_ZTV12QTableWidget: 107u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QTableWidget)
+16 QTableWidget::metaObject
+24 QTableWidget::qt_metacast
+32 QTableWidget::qt_metacall
+40 QTableWidget::~QTableWidget
+48 QTableWidget::~QTableWidget
+56 QTableWidget::event
+64 QObject::eventFilter
+72 QTableView::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QAbstractScrollArea::sizeHint
+136 QAbstractScrollArea::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QAbstractItemView::mousePressEvent
+168 QAbstractItemView::mouseReleaseEvent
+176 QAbstractItemView::mouseDoubleClickEvent
+184 QAbstractItemView::mouseMoveEvent
+192 QAbstractScrollArea::wheelEvent
+200 QAbstractItemView::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QAbstractItemView::focusInEvent
+224 QAbstractItemView::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QTableView::paintEvent
+256 QWidget::moveEvent
+264 QAbstractItemView::resizeEvent
+272 QWidget::closeEvent
+280 QAbstractScrollArea::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QAbstractItemView::dragEnterEvent
+312 QAbstractItemView::dragMoveEvent
+320 QAbstractItemView::dragLeaveEvent
+328 QTableWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QFrame::changeEvent
+368 QWidget::metric
+376 QAbstractItemView::inputMethodEvent
+384 QAbstractItemView::inputMethodQuery
+392 QAbstractItemView::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QAbstractItemView::viewportEvent
+456 QTableView::scrollContentsBy
+464 QTableWidget::setModel
+472 QTableView::setSelectionModel
+480 QAbstractItemView::keyboardSearch
+488 QTableView::visualRect
+496 QTableView::scrollTo
+504 QTableView::indexAt
+512 QTableView::sizeHintForRow
+520 QTableView::sizeHintForColumn
+528 QAbstractItemView::reset
+536 QTableView::setRootIndex
+544 QAbstractItemView::doItemsLayout
+552 QAbstractItemView::selectAll
+560 QAbstractItemView::dataChanged
+568 QAbstractItemView::rowsInserted
+576 QAbstractItemView::rowsAboutToBeRemoved
+584 QTableView::selectionChanged
+592 QTableView::currentChanged
+600 QAbstractItemView::updateEditorData
+608 QAbstractItemView::updateEditorGeometries
+616 QTableView::updateGeometries
+624 QTableView::verticalScrollbarAction
+632 QTableView::horizontalScrollbarAction
+640 QAbstractItemView::verticalScrollbarValueChanged
+648 QAbstractItemView::horizontalScrollbarValueChanged
+656 QAbstractItemView::closeEditor
+664 QAbstractItemView::commitData
+672 QAbstractItemView::editorDestroyed
+680 QTableView::moveCursor
+688 QTableView::horizontalOffset
+696 QTableView::verticalOffset
+704 QTableView::isIndexHidden
+712 QTableView::setSelection
+720 QTableView::visualRegionForSelection
+728 QTableView::selectedIndexes
+736 QAbstractItemView::edit
+744 QAbstractItemView::selectionCommand
+752 QAbstractItemView::startDrag
+760 QTableView::viewOptions
+768 QTableWidget::mimeTypes
+776 QTableWidget::mimeData
+784 QTableWidget::dropMimeData
+792 QTableWidget::supportedDropActions
+800 (int (*)(...))-0x00000000000000010
+808 (int (*)(...))(& _ZTI12QTableWidget)
+816 QTableWidget::_ZThn16_N12QTableWidgetD1Ev
+824 QTableWidget::_ZThn16_N12QTableWidgetD0Ev
+832 QWidget::_ZThn16_NK7QWidget7devTypeEv
+840 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+848 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QTableWidget
+ size=40 align=8
+ base size=40 base align=8
+QTableWidget (0x7fea113080e0) 0
+ vptr=((& QTableWidget::_ZTV12QTableWidget) + 16u)
+ QTableView (0x7fea11308150) 0
+ primary-for QTableWidget (0x7fea113080e0)
+ QAbstractItemView (0x7fea113081c0) 0
+ primary-for QTableView (0x7fea11308150)
+ QAbstractScrollArea (0x7fea11308230) 0
+ primary-for QAbstractItemView (0x7fea113081c0)
+ QFrame (0x7fea113082a0) 0
+ primary-for QAbstractScrollArea (0x7fea11308230)
+ QWidget (0x7fea11303580) 0
+ primary-for QFrame (0x7fea113082a0)
+ QObject (0x7fea11308310) 0
+ primary-for QWidget (0x7fea11303580)
+ QPaintDevice (0x7fea11308380) 16
+ vptr=((& QTableWidget::_ZTV12QTableWidget) + 816u)
+
+Vtable for QTreeView
+QTreeView::_ZTV9QTreeView: 105u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QTreeView)
+16 QTreeView::metaObject
+24 QTreeView::qt_metacast
+32 QTreeView::qt_metacall
+40 QTreeView::~QTreeView
+48 QTreeView::~QTreeView
+56 QAbstractItemView::event
+64 QObject::eventFilter
+72 QTreeView::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QAbstractScrollArea::sizeHint
+136 QAbstractScrollArea::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QTreeView::mousePressEvent
+168 QTreeView::mouseReleaseEvent
+176 QTreeView::mouseDoubleClickEvent
+184 QTreeView::mouseMoveEvent
+192 QAbstractScrollArea::wheelEvent
+200 QTreeView::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QAbstractItemView::focusInEvent
+224 QAbstractItemView::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QTreeView::paintEvent
+256 QWidget::moveEvent
+264 QAbstractItemView::resizeEvent
+272 QWidget::closeEvent
+280 QAbstractScrollArea::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QAbstractItemView::dragEnterEvent
+312 QTreeView::dragMoveEvent
+320 QAbstractItemView::dragLeaveEvent
+328 QAbstractItemView::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QFrame::changeEvent
+368 QWidget::metric
+376 QAbstractItemView::inputMethodEvent
+384 QAbstractItemView::inputMethodQuery
+392 QAbstractItemView::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QTreeView::viewportEvent
+456 QTreeView::scrollContentsBy
+464 QTreeView::setModel
+472 QTreeView::setSelectionModel
+480 QTreeView::keyboardSearch
+488 QTreeView::visualRect
+496 QTreeView::scrollTo
+504 QTreeView::indexAt
+512 QAbstractItemView::sizeHintForRow
+520 QTreeView::sizeHintForColumn
+528 QTreeView::reset
+536 QTreeView::setRootIndex
+544 QTreeView::doItemsLayout
+552 QTreeView::selectAll
+560 QTreeView::dataChanged
+568 QTreeView::rowsInserted
+576 QTreeView::rowsAboutToBeRemoved
+584 QTreeView::selectionChanged
+592 QTreeView::currentChanged
+600 QAbstractItemView::updateEditorData
+608 QAbstractItemView::updateEditorGeometries
+616 QTreeView::updateGeometries
+624 QAbstractItemView::verticalScrollbarAction
+632 QTreeView::horizontalScrollbarAction
+640 QAbstractItemView::verticalScrollbarValueChanged
+648 QAbstractItemView::horizontalScrollbarValueChanged
+656 QAbstractItemView::closeEditor
+664 QAbstractItemView::commitData
+672 QAbstractItemView::editorDestroyed
+680 QTreeView::moveCursor
+688 QTreeView::horizontalOffset
+696 QTreeView::verticalOffset
+704 QTreeView::isIndexHidden
+712 QTreeView::setSelection
+720 QTreeView::visualRegionForSelection
+728 QTreeView::selectedIndexes
+736 QAbstractItemView::edit
+744 QAbstractItemView::selectionCommand
+752 QAbstractItemView::startDrag
+760 QAbstractItemView::viewOptions
+768 QTreeView::drawRow
+776 QTreeView::drawBranches
+784 (int (*)(...))-0x00000000000000010
+792 (int (*)(...))(& _ZTI9QTreeView)
+800 QTreeView::_ZThn16_N9QTreeViewD1Ev
+808 QTreeView::_ZThn16_N9QTreeViewD0Ev
+816 QWidget::_ZThn16_NK7QWidget7devTypeEv
+824 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+832 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QTreeView
+ size=40 align=8
+ base size=40 base align=8
+QTreeView (0x7fea11138070) 0
+ vptr=((& QTreeView::_ZTV9QTreeView) + 16u)
+ QAbstractItemView (0x7fea111380e0) 0
+ primary-for QTreeView (0x7fea11138070)
+ QAbstractScrollArea (0x7fea11138150) 0
+ primary-for QAbstractItemView (0x7fea111380e0)
+ QFrame (0x7fea111381c0) 0
+ primary-for QAbstractScrollArea (0x7fea11138150)
+ QWidget (0x7fea11130e00) 0
+ primary-for QFrame (0x7fea111381c0)
+ QObject (0x7fea11138230) 0
+ primary-for QWidget (0x7fea11130e00)
+ QPaintDevice (0x7fea111382a0) 16
+ vptr=((& QTreeView::_ZTV9QTreeView) + 800u)
+
+Vtable for QProxyModel
+QProxyModel::_ZTV11QProxyModel: 43u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QProxyModel)
+16 QProxyModel::metaObject
+24 QProxyModel::qt_metacast
+32 QProxyModel::qt_metacall
+40 QProxyModel::~QProxyModel
+48 QProxyModel::~QProxyModel
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QProxyModel::index
+120 QProxyModel::parent
+128 QProxyModel::rowCount
+136 QProxyModel::columnCount
+144 QProxyModel::hasChildren
+152 QProxyModel::data
+160 QProxyModel::setData
+168 QProxyModel::headerData
+176 QProxyModel::setHeaderData
+184 QAbstractItemModel::itemData
+192 QAbstractItemModel::setItemData
+200 QProxyModel::mimeTypes
+208 QProxyModel::mimeData
+216 QProxyModel::dropMimeData
+224 QProxyModel::supportedDropActions
+232 QProxyModel::insertRows
+240 QProxyModel::insertColumns
+248 QAbstractItemModel::removeRows
+256 QAbstractItemModel::removeColumns
+264 QProxyModel::fetchMore
+272 QAbstractItemModel::canFetchMore
+280 QProxyModel::flags
+288 QProxyModel::sort
+296 QAbstractItemModel::buddy
+304 QProxyModel::match
+312 QProxyModel::span
+320 QProxyModel::submit
+328 QProxyModel::revert
+336 QProxyModel::setModel
+
+Class QProxyModel
+ size=16 align=8
+ base size=16 base align=8
+QProxyModel (0x7fea11169e00) 0
+ vptr=((& QProxyModel::_ZTV11QProxyModel) + 16u)
+ QAbstractItemModel (0x7fea11169e70) 0
+ primary-for QProxyModel (0x7fea11169e00)
+ QObject (0x7fea11169ee0) 0
+ primary-for QAbstractItemModel (0x7fea11169e70)
+
+Vtable for QHeaderView
+QHeaderView::_ZTV11QHeaderView: 105u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QHeaderView)
+16 QHeaderView::metaObject
+24 QHeaderView::qt_metacast
+32 QHeaderView::qt_metacall
+40 QHeaderView::~QHeaderView
+48 QHeaderView::~QHeaderView
+56 QHeaderView::event
+64 QObject::eventFilter
+72 QAbstractItemView::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QHeaderView::sizeHint
+136 QAbstractScrollArea::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QHeaderView::mousePressEvent
+168 QHeaderView::mouseReleaseEvent
+176 QHeaderView::mouseDoubleClickEvent
+184 QHeaderView::mouseMoveEvent
+192 QAbstractScrollArea::wheelEvent
+200 QAbstractItemView::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QAbstractItemView::focusInEvent
+224 QAbstractItemView::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QHeaderView::paintEvent
+256 QWidget::moveEvent
+264 QAbstractItemView::resizeEvent
+272 QWidget::closeEvent
+280 QAbstractScrollArea::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QAbstractItemView::dragEnterEvent
+312 QAbstractItemView::dragMoveEvent
+320 QAbstractItemView::dragLeaveEvent
+328 QAbstractItemView::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QFrame::changeEvent
+368 QWidget::metric
+376 QAbstractItemView::inputMethodEvent
+384 QAbstractItemView::inputMethodQuery
+392 QAbstractItemView::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QHeaderView::viewportEvent
+456 QHeaderView::scrollContentsBy
+464 QHeaderView::setModel
+472 QAbstractItemView::setSelectionModel
+480 QAbstractItemView::keyboardSearch
+488 QHeaderView::visualRect
+496 QHeaderView::scrollTo
+504 QHeaderView::indexAt
+512 QAbstractItemView::sizeHintForRow
+520 QAbstractItemView::sizeHintForColumn
+528 QHeaderView::reset
+536 QAbstractItemView::setRootIndex
+544 QHeaderView::doItemsLayout
+552 QAbstractItemView::selectAll
+560 QHeaderView::dataChanged
+568 QHeaderView::rowsInserted
+576 QAbstractItemView::rowsAboutToBeRemoved
+584 QAbstractItemView::selectionChanged
+592 QHeaderView::currentChanged
+600 QAbstractItemView::updateEditorData
+608 QAbstractItemView::updateEditorGeometries
+616 QHeaderView::updateGeometries
+624 QAbstractItemView::verticalScrollbarAction
+632 QAbstractItemView::horizontalScrollbarAction
+640 QAbstractItemView::verticalScrollbarValueChanged
+648 QAbstractItemView::horizontalScrollbarValueChanged
+656 QAbstractItemView::closeEditor
+664 QAbstractItemView::commitData
+672 QAbstractItemView::editorDestroyed
+680 QHeaderView::moveCursor
+688 QHeaderView::horizontalOffset
+696 QHeaderView::verticalOffset
+704 QHeaderView::isIndexHidden
+712 QHeaderView::setSelection
+720 QHeaderView::visualRegionForSelection
+728 QAbstractItemView::selectedIndexes
+736 QAbstractItemView::edit
+744 QAbstractItemView::selectionCommand
+752 QAbstractItemView::startDrag
+760 QAbstractItemView::viewOptions
+768 QHeaderView::paintSection
+776 QHeaderView::sectionSizeFromContents
+784 (int (*)(...))-0x00000000000000010
+792 (int (*)(...))(& _ZTI11QHeaderView)
+800 QHeaderView::_ZThn16_N11QHeaderViewD1Ev
+808 QHeaderView::_ZThn16_N11QHeaderViewD0Ev
+816 QWidget::_ZThn16_NK7QWidget7devTypeEv
+824 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+832 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QHeaderView
+ size=40 align=8
+ base size=40 base align=8
+QHeaderView (0x7fea1118fcb0) 0
+ vptr=((& QHeaderView::_ZTV11QHeaderView) + 16u)
+ QAbstractItemView (0x7fea1118fd20) 0
+ primary-for QHeaderView (0x7fea1118fcb0)
+ QAbstractScrollArea (0x7fea1118fd90) 0
+ primary-for QAbstractItemView (0x7fea1118fd20)
+ QFrame (0x7fea1118fe00) 0
+ primary-for QAbstractScrollArea (0x7fea1118fd90)
+ QWidget (0x7fea11164f80) 0
+ primary-for QFrame (0x7fea1118fe00)
+ QObject (0x7fea1118fe70) 0
+ primary-for QWidget (0x7fea11164f80)
+ QPaintDevice (0x7fea1118fee0) 16
+ vptr=((& QHeaderView::_ZTV11QHeaderView) + 800u)
+
+Vtable for QItemEditorCreatorBase
+QItemEditorCreatorBase::_ZTV22QItemEditorCreatorBase: 6u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI22QItemEditorCreatorBase)
+16 QItemEditorCreatorBase::~QItemEditorCreatorBase
+24 QItemEditorCreatorBase::~QItemEditorCreatorBase
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+
+Class QItemEditorCreatorBase
+ size=8 align=8
+ base size=8 base align=8
+QItemEditorCreatorBase (0x7fea111d08c0) 0 nearly-empty
+ vptr=((& QItemEditorCreatorBase::_ZTV22QItemEditorCreatorBase) + 16u)
+
+Vtable for QItemEditorFactory
+QItemEditorFactory::_ZTV18QItemEditorFactory: 6u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QItemEditorFactory)
+16 QItemEditorFactory::~QItemEditorFactory
+24 QItemEditorFactory::~QItemEditorFactory
+32 QItemEditorFactory::createEditor
+40 QItemEditorFactory::valuePropertyName
+
+Class QItemEditorFactory
+ size=16 align=8
+ base size=16 base align=8
+QItemEditorFactory (0x7fea111db770) 0
+ vptr=((& QItemEditorFactory::_ZTV18QItemEditorFactory) + 16u)
+
+Vtable for QTreeWidgetItem
+QTreeWidgetItem::_ZTV15QTreeWidgetItem: 10u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QTreeWidgetItem)
+16 QTreeWidgetItem::~QTreeWidgetItem
+24 QTreeWidgetItem::~QTreeWidgetItem
+32 QTreeWidgetItem::clone
+40 QTreeWidgetItem::data
+48 QTreeWidgetItem::setData
+56 QTreeWidgetItem::operator<
+64 QTreeWidgetItem::read
+72 QTreeWidgetItem::write
+
+Class QTreeWidgetItem
+ size=64 align=8
+ base size=60 base align=8
+QTreeWidgetItem (0x7fea111e7a10) 0
+ vptr=((& QTreeWidgetItem::_ZTV15QTreeWidgetItem) + 16u)
+
+Vtable for QTreeWidget
+QTreeWidget::_ZTV11QTreeWidget: 109u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QTreeWidget)
+16 QTreeWidget::metaObject
+24 QTreeWidget::qt_metacast
+32 QTreeWidget::qt_metacall
+40 QTreeWidget::~QTreeWidget
+48 QTreeWidget::~QTreeWidget
+56 QTreeWidget::event
+64 QObject::eventFilter
+72 QTreeView::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QAbstractScrollArea::sizeHint
+136 QAbstractScrollArea::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QTreeView::mousePressEvent
+168 QTreeView::mouseReleaseEvent
+176 QTreeView::mouseDoubleClickEvent
+184 QTreeView::mouseMoveEvent
+192 QAbstractScrollArea::wheelEvent
+200 QTreeView::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QAbstractItemView::focusInEvent
+224 QAbstractItemView::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QTreeView::paintEvent
+256 QWidget::moveEvent
+264 QAbstractItemView::resizeEvent
+272 QWidget::closeEvent
+280 QAbstractScrollArea::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QAbstractItemView::dragEnterEvent
+312 QTreeView::dragMoveEvent
+320 QAbstractItemView::dragLeaveEvent
+328 QTreeWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QFrame::changeEvent
+368 QWidget::metric
+376 QAbstractItemView::inputMethodEvent
+384 QAbstractItemView::inputMethodQuery
+392 QAbstractItemView::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QTreeView::viewportEvent
+456 QTreeView::scrollContentsBy
+464 QTreeWidget::setModel
+472 QTreeWidget::setSelectionModel
+480 QTreeView::keyboardSearch
+488 QTreeView::visualRect
+496 QTreeView::scrollTo
+504 QTreeView::indexAt
+512 QAbstractItemView::sizeHintForRow
+520 QTreeView::sizeHintForColumn
+528 QTreeView::reset
+536 QTreeView::setRootIndex
+544 QTreeView::doItemsLayout
+552 QTreeView::selectAll
+560 QTreeView::dataChanged
+568 QTreeView::rowsInserted
+576 QTreeView::rowsAboutToBeRemoved
+584 QTreeView::selectionChanged
+592 QTreeView::currentChanged
+600 QAbstractItemView::updateEditorData
+608 QAbstractItemView::updateEditorGeometries
+616 QTreeView::updateGeometries
+624 QAbstractItemView::verticalScrollbarAction
+632 QTreeView::horizontalScrollbarAction
+640 QAbstractItemView::verticalScrollbarValueChanged
+648 QAbstractItemView::horizontalScrollbarValueChanged
+656 QAbstractItemView::closeEditor
+664 QAbstractItemView::commitData
+672 QAbstractItemView::editorDestroyed
+680 QTreeView::moveCursor
+688 QTreeView::horizontalOffset
+696 QTreeView::verticalOffset
+704 QTreeView::isIndexHidden
+712 QTreeView::setSelection
+720 QTreeView::visualRegionForSelection
+728 QTreeView::selectedIndexes
+736 QAbstractItemView::edit
+744 QAbstractItemView::selectionCommand
+752 QAbstractItemView::startDrag
+760 QAbstractItemView::viewOptions
+768 QTreeView::drawRow
+776 QTreeView::drawBranches
+784 QTreeWidget::mimeTypes
+792 QTreeWidget::mimeData
+800 QTreeWidget::dropMimeData
+808 QTreeWidget::supportedDropActions
+816 (int (*)(...))-0x00000000000000010
+824 (int (*)(...))(& _ZTI11QTreeWidget)
+832 QTreeWidget::_ZThn16_N11QTreeWidgetD1Ev
+840 QTreeWidget::_ZThn16_N11QTreeWidgetD0Ev
+848 QWidget::_ZThn16_NK7QWidget7devTypeEv
+856 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+864 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QTreeWidget
+ size=40 align=8
+ base size=40 base align=8
+QTreeWidget (0x7fea110b0f50) 0
+ vptr=((& QTreeWidget::_ZTV11QTreeWidget) + 16u)
+ QTreeView (0x7fea110b7000) 0
+ primary-for QTreeWidget (0x7fea110b0f50)
+ QAbstractItemView (0x7fea110b7070) 0
+ primary-for QTreeView (0x7fea110b7000)
+ QAbstractScrollArea (0x7fea110b70e0) 0
+ primary-for QAbstractItemView (0x7fea110b7070)
+ QFrame (0x7fea110b7150) 0
+ primary-for QAbstractScrollArea (0x7fea110b70e0)
+ QWidget (0x7fea110a9e00) 0
+ primary-for QFrame (0x7fea110b7150)
+ QObject (0x7fea110b71c0) 0
+ primary-for QWidget (0x7fea110a9e00)
+ QPaintDevice (0x7fea110b7230) 16
+ vptr=((& QTreeWidget::_ZTV11QTreeWidget) + 832u)
+
+Vtable for QAccessibleBridge
+QAccessibleBridge::_ZTV17QAccessibleBridge: 6u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QAccessibleBridge)
+16 QAccessibleBridge::~QAccessibleBridge
+24 QAccessibleBridge::~QAccessibleBridge
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+
+Class QAccessibleBridge
+ size=8 align=8
+ base size=8 base align=8
+QAccessibleBridge (0x7fea10f18310) 0 nearly-empty
+ vptr=((& QAccessibleBridge::_ZTV17QAccessibleBridge) + 16u)
+
+Vtable for QAccessibleBridgeFactoryInterface
+QAccessibleBridgeFactoryInterface::_ZTV33QAccessibleBridgeFactoryInterface: 6u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI33QAccessibleBridgeFactoryInterface)
+16 QAccessibleBridgeFactoryInterface::~QAccessibleBridgeFactoryInterface
+24 QAccessibleBridgeFactoryInterface::~QAccessibleBridgeFactoryInterface
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+
+Class QAccessibleBridgeFactoryInterface
+ size=8 align=8
+ base size=8 base align=8
+QAccessibleBridgeFactoryInterface (0x7fea10f18d90) 0 nearly-empty
+ vptr=((& QAccessibleBridgeFactoryInterface::_ZTV33QAccessibleBridgeFactoryInterface) + 16u)
+ QFactoryInterface (0x7fea10f18e00) 0 nearly-empty
+ primary-for QAccessibleBridgeFactoryInterface (0x7fea10f18d90)
+
+Vtable for QAccessibleBridgePlugin
+QAccessibleBridgePlugin::_ZTV23QAccessibleBridgePlugin: 22u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI23QAccessibleBridgePlugin)
+16 QAccessibleBridgePlugin::metaObject
+24 QAccessibleBridgePlugin::qt_metacast
+32 QAccessibleBridgePlugin::qt_metacall
+40 QAccessibleBridgePlugin::~QAccessibleBridgePlugin
+48 QAccessibleBridgePlugin::~QAccessibleBridgePlugin
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 (int (*)(...))-0x00000000000000010
+136 (int (*)(...))(& _ZTI23QAccessibleBridgePlugin)
+144 QAccessibleBridgePlugin::_ZThn16_N23QAccessibleBridgePluginD1Ev
+152 QAccessibleBridgePlugin::_ZThn16_N23QAccessibleBridgePluginD0Ev
+160 __cxa_pure_virtual
+168 __cxa_pure_virtual
+
+Class QAccessibleBridgePlugin
+ size=24 align=8
+ base size=24 base align=8
+QAccessibleBridgePlugin (0x7fea10f25500) 0
+ vptr=((& QAccessibleBridgePlugin::_ZTV23QAccessibleBridgePlugin) + 16u)
+ QObject (0x7fea10f265b0) 0
+ primary-for QAccessibleBridgePlugin (0x7fea10f25500)
+ QAccessibleBridgeFactoryInterface (0x7fea10f26620) 16 nearly-empty
+ vptr=((& QAccessibleBridgePlugin::_ZTV23QAccessibleBridgePlugin) + 144u)
+ QFactoryInterface (0x7fea10f26690) 16 nearly-empty
+ primary-for QAccessibleBridgeFactoryInterface (0x7fea10f26620)
+
+Class QAccessible
+ size=1 align=1
+ base size=0 base align=1
+QAccessible (0x7fea10f38540) 0 empty
+
+Vtable for QAccessibleInterface
+QAccessibleInterface::_ZTV20QAccessibleInterface: 19u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI20QAccessibleInterface)
+16 QAccessibleInterface::~QAccessibleInterface
+24 QAccessibleInterface::~QAccessibleInterface
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+48 __cxa_pure_virtual
+56 __cxa_pure_virtual
+64 __cxa_pure_virtual
+72 __cxa_pure_virtual
+80 __cxa_pure_virtual
+88 __cxa_pure_virtual
+96 __cxa_pure_virtual
+104 __cxa_pure_virtual
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 __cxa_pure_virtual
+136 __cxa_pure_virtual
+144 __cxa_pure_virtual
+
+Class QAccessibleInterface
+ size=8 align=8
+ base size=8 base align=8
+QAccessibleInterface (0x7fea10fdc700) 0 nearly-empty
+ vptr=((& QAccessibleInterface::_ZTV20QAccessibleInterface) + 16u)
+ QAccessible (0x7fea10fdc770) 0 empty
+
+Vtable for QAccessibleInterfaceEx
+QAccessibleInterfaceEx::_ZTV22QAccessibleInterfaceEx: 22u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI22QAccessibleInterfaceEx)
+16 QAccessibleInterfaceEx::~QAccessibleInterfaceEx
+24 QAccessibleInterfaceEx::~QAccessibleInterfaceEx
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+48 __cxa_pure_virtual
+56 __cxa_pure_virtual
+64 __cxa_pure_virtual
+72 __cxa_pure_virtual
+80 __cxa_pure_virtual
+88 __cxa_pure_virtual
+96 __cxa_pure_virtual
+104 __cxa_pure_virtual
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 __cxa_pure_virtual
+136 __cxa_pure_virtual
+144 __cxa_pure_virtual
+152 __cxa_pure_virtual
+160 QAccessibleInterfaceEx::virtual_hook
+168 QAccessibleInterfaceEx::interface_cast
+
+Class QAccessibleInterfaceEx
+ size=8 align=8
+ base size=8 base align=8
+QAccessibleInterfaceEx (0x7fea10e39000) 0 nearly-empty
+ vptr=((& QAccessibleInterfaceEx::_ZTV22QAccessibleInterfaceEx) + 16u)
+ QAccessibleInterface (0x7fea10e39070) 0 nearly-empty
+ primary-for QAccessibleInterfaceEx (0x7fea10e39000)
+ QAccessible (0x7fea10e390e0) 0 empty
+
+Vtable for QAccessibleEvent
+QAccessibleEvent::_ZTV16QAccessibleEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QAccessibleEvent)
+16 QAccessibleEvent::~QAccessibleEvent
+24 QAccessibleEvent::~QAccessibleEvent
+
+Class QAccessibleEvent
+ size=32 align=8
+ base size=32 base align=8
+QAccessibleEvent (0x7fea10e39380) 0
+ vptr=((& QAccessibleEvent::_ZTV16QAccessibleEvent) + 16u)
+ QEvent (0x7fea10e393f0) 0
+ primary-for QAccessibleEvent (0x7fea10e39380)
+
+Vtable for QAccessibleObject
+QAccessibleObject::_ZTV17QAccessibleObject: 19u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QAccessibleObject)
+16 QAccessibleObject::~QAccessibleObject
+24 QAccessibleObject::~QAccessibleObject
+32 QAccessibleObject::isValid
+40 QAccessibleObject::object
+48 __cxa_pure_virtual
+56 __cxa_pure_virtual
+64 __cxa_pure_virtual
+72 __cxa_pure_virtual
+80 __cxa_pure_virtual
+88 __cxa_pure_virtual
+96 QAccessibleObject::setText
+104 QAccessibleObject::rect
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 QAccessibleObject::userActionCount
+136 QAccessibleObject::actionText
+144 QAccessibleObject::doAction
+
+Class QAccessibleObject
+ size=16 align=8
+ base size=16 base align=8
+QAccessibleObject (0x7fea10e51230) 0
+ vptr=((& QAccessibleObject::_ZTV17QAccessibleObject) + 16u)
+ QAccessibleInterface (0x7fea10e512a0) 0 nearly-empty
+ primary-for QAccessibleObject (0x7fea10e51230)
+ QAccessible (0x7fea10e51310) 0 empty
+
+Vtable for QAccessibleObjectEx
+QAccessibleObjectEx::_ZTV19QAccessibleObjectEx: 22u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QAccessibleObjectEx)
+16 QAccessibleObjectEx::~QAccessibleObjectEx
+24 QAccessibleObjectEx::~QAccessibleObjectEx
+32 QAccessibleObjectEx::isValid
+40 QAccessibleObjectEx::object
+48 __cxa_pure_virtual
+56 __cxa_pure_virtual
+64 __cxa_pure_virtual
+72 __cxa_pure_virtual
+80 __cxa_pure_virtual
+88 __cxa_pure_virtual
+96 QAccessibleObjectEx::setText
+104 QAccessibleObjectEx::rect
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 QAccessibleObjectEx::userActionCount
+136 QAccessibleObjectEx::actionText
+144 QAccessibleObjectEx::doAction
+152 __cxa_pure_virtual
+160 QAccessibleInterfaceEx::virtual_hook
+168 QAccessibleInterfaceEx::interface_cast
+
+Class QAccessibleObjectEx
+ size=16 align=8
+ base size=16 base align=8
+QAccessibleObjectEx (0x7fea10e51a10) 0
+ vptr=((& QAccessibleObjectEx::_ZTV19QAccessibleObjectEx) + 16u)
+ QAccessibleInterfaceEx (0x7fea10e51a80) 0 nearly-empty
+ primary-for QAccessibleObjectEx (0x7fea10e51a10)
+ QAccessibleInterface (0x7fea10e51af0) 0 nearly-empty
+ primary-for QAccessibleInterfaceEx (0x7fea10e51a80)
+ QAccessible (0x7fea10e51b60) 0 empty
+
+Vtable for QAccessibleApplication
+QAccessibleApplication::_ZTV22QAccessibleApplication: 19u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI22QAccessibleApplication)
+16 QAccessibleApplication::~QAccessibleApplication
+24 QAccessibleApplication::~QAccessibleApplication
+32 QAccessibleObject::isValid
+40 QAccessibleObject::object
+48 QAccessibleApplication::childCount
+56 QAccessibleApplication::indexOfChild
+64 QAccessibleApplication::relationTo
+72 QAccessibleApplication::childAt
+80 QAccessibleApplication::navigate
+88 QAccessibleApplication::text
+96 QAccessibleObject::setText
+104 QAccessibleObject::rect
+112 QAccessibleApplication::role
+120 QAccessibleApplication::state
+128 QAccessibleApplication::userActionCount
+136 QAccessibleApplication::actionText
+144 QAccessibleApplication::doAction
+
+Class QAccessibleApplication
+ size=16 align=8
+ base size=16 base align=8
+QAccessibleApplication (0x7fea10e61230) 0
+ vptr=((& QAccessibleApplication::_ZTV22QAccessibleApplication) + 16u)
+ QAccessibleObject (0x7fea10e612a0) 0
+ primary-for QAccessibleApplication (0x7fea10e61230)
+ QAccessibleInterface (0x7fea10e61310) 0 nearly-empty
+ primary-for QAccessibleObject (0x7fea10e612a0)
+ QAccessible (0x7fea10e61380) 0 empty
+
+Vtable for QAccessibleWidget
+QAccessibleWidget::_ZTV17QAccessibleWidget: 19u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QAccessibleWidget)
+16 QAccessibleWidget::~QAccessibleWidget
+24 QAccessibleWidget::~QAccessibleWidget
+32 QAccessibleObject::isValid
+40 QAccessibleObject::object
+48 QAccessibleWidget::childCount
+56 QAccessibleWidget::indexOfChild
+64 QAccessibleWidget::relationTo
+72 QAccessibleWidget::childAt
+80 QAccessibleWidget::navigate
+88 QAccessibleWidget::text
+96 QAccessibleObject::setText
+104 QAccessibleWidget::rect
+112 QAccessibleWidget::role
+120 QAccessibleWidget::state
+128 QAccessibleWidget::userActionCount
+136 QAccessibleWidget::actionText
+144 QAccessibleWidget::doAction
+
+Class QAccessibleWidget
+ size=24 align=8
+ base size=24 base align=8
+QAccessibleWidget (0x7fea10e61c40) 0
+ vptr=((& QAccessibleWidget::_ZTV17QAccessibleWidget) + 16u)
+ QAccessibleObject (0x7fea10e61cb0) 0
+ primary-for QAccessibleWidget (0x7fea10e61c40)
+ QAccessibleInterface (0x7fea10e61d20) 0 nearly-empty
+ primary-for QAccessibleObject (0x7fea10e61cb0)
+ QAccessible (0x7fea10e61d90) 0 empty
+
+Vtable for QAccessibleWidgetEx
+QAccessibleWidgetEx::_ZTV19QAccessibleWidgetEx: 22u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QAccessibleWidgetEx)
+16 QAccessibleWidgetEx::~QAccessibleWidgetEx
+24 QAccessibleWidgetEx::~QAccessibleWidgetEx
+32 QAccessibleObjectEx::isValid
+40 QAccessibleObjectEx::object
+48 QAccessibleWidgetEx::childCount
+56 QAccessibleWidgetEx::indexOfChild
+64 QAccessibleWidgetEx::relationTo
+72 QAccessibleWidgetEx::childAt
+80 QAccessibleWidgetEx::navigate
+88 QAccessibleWidgetEx::text
+96 QAccessibleObjectEx::setText
+104 QAccessibleWidgetEx::rect
+112 QAccessibleWidgetEx::role
+120 QAccessibleWidgetEx::state
+128 QAccessibleObjectEx::userActionCount
+136 QAccessibleWidgetEx::actionText
+144 QAccessibleWidgetEx::doAction
+152 QAccessibleWidgetEx::invokeMethodEx
+160 QAccessibleInterfaceEx::virtual_hook
+168 QAccessibleInterfaceEx::interface_cast
+
+Class QAccessibleWidgetEx
+ size=24 align=8
+ base size=24 base align=8
+QAccessibleWidgetEx (0x7fea10e71c40) 0
+ vptr=((& QAccessibleWidgetEx::_ZTV19QAccessibleWidgetEx) + 16u)
+ QAccessibleObjectEx (0x7fea10e71cb0) 0
+ primary-for QAccessibleWidgetEx (0x7fea10e71c40)
+ QAccessibleInterfaceEx (0x7fea10e71d20) 0 nearly-empty
+ primary-for QAccessibleObjectEx (0x7fea10e71cb0)
+ QAccessibleInterface (0x7fea10e71d90) 0 nearly-empty
+ primary-for QAccessibleInterfaceEx (0x7fea10e71d20)
+ QAccessible (0x7fea10e71e00) 0 empty
+
+Vtable for QAccessible2Interface
+QAccessible2Interface::_ZTV21QAccessible2Interface: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI21QAccessible2Interface)
+16 QAccessible2Interface::~QAccessible2Interface
+24 QAccessible2Interface::~QAccessible2Interface
+
+Class QAccessible2Interface
+ size=8 align=8
+ base size=8 base align=8
+QAccessible2Interface (0x7fea10e7dd90) 0 nearly-empty
+ vptr=((& QAccessible2Interface::_ZTV21QAccessible2Interface) + 16u)
+
+Vtable for QAccessibleTextInterface
+QAccessibleTextInterface::_ZTV24QAccessibleTextInterface: 20u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI24QAccessibleTextInterface)
+16 QAccessibleTextInterface::~QAccessibleTextInterface
+24 QAccessibleTextInterface::~QAccessibleTextInterface
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+48 __cxa_pure_virtual
+56 __cxa_pure_virtual
+64 __cxa_pure_virtual
+72 __cxa_pure_virtual
+80 __cxa_pure_virtual
+88 __cxa_pure_virtual
+96 __cxa_pure_virtual
+104 __cxa_pure_virtual
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 __cxa_pure_virtual
+136 __cxa_pure_virtual
+144 __cxa_pure_virtual
+152 __cxa_pure_virtual
+
+Class QAccessibleTextInterface
+ size=8 align=8
+ base size=8 base align=8
+QAccessibleTextInterface (0x7fea10e8dcb0) 0 nearly-empty
+ vptr=((& QAccessibleTextInterface::_ZTV24QAccessibleTextInterface) + 16u)
+ QAccessible2Interface (0x7fea10e8dd20) 0 nearly-empty
+ primary-for QAccessibleTextInterface (0x7fea10e8dcb0)
+
+Vtable for QAccessibleEditableTextInterface
+QAccessibleEditableTextInterface::_ZTV32QAccessibleEditableTextInterface: 11u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI32QAccessibleEditableTextInterface)
+16 QAccessibleEditableTextInterface::~QAccessibleEditableTextInterface
+24 QAccessibleEditableTextInterface::~QAccessibleEditableTextInterface
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+48 __cxa_pure_virtual
+56 __cxa_pure_virtual
+64 __cxa_pure_virtual
+72 __cxa_pure_virtual
+80 __cxa_pure_virtual
+
+Class QAccessibleEditableTextInterface
+ size=8 align=8
+ base size=8 base align=8
+QAccessibleEditableTextInterface (0x7fea10e9cb60) 0 nearly-empty
+ vptr=((& QAccessibleEditableTextInterface::_ZTV32QAccessibleEditableTextInterface) + 16u)
+ QAccessible2Interface (0x7fea10e9cbd0) 0 nearly-empty
+ primary-for QAccessibleEditableTextInterface (0x7fea10e9cb60)
+
+Vtable for QAccessibleSimpleEditableTextInterface
+QAccessibleSimpleEditableTextInterface::_ZTV38QAccessibleSimpleEditableTextInterface: 11u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI38QAccessibleSimpleEditableTextInterface)
+16 QAccessibleSimpleEditableTextInterface::~QAccessibleSimpleEditableTextInterface
+24 QAccessibleSimpleEditableTextInterface::~QAccessibleSimpleEditableTextInterface
+32 QAccessibleSimpleEditableTextInterface::copyText
+40 QAccessibleSimpleEditableTextInterface::deleteText
+48 QAccessibleSimpleEditableTextInterface::insertText
+56 QAccessibleSimpleEditableTextInterface::cutText
+64 QAccessibleSimpleEditableTextInterface::pasteText
+72 QAccessibleSimpleEditableTextInterface::replaceText
+80 QAccessibleSimpleEditableTextInterface::setAttributes
+
+Class QAccessibleSimpleEditableTextInterface
+ size=16 align=8
+ base size=16 base align=8
+QAccessibleSimpleEditableTextInterface (0x7fea10eaba10) 0
+ vptr=((& QAccessibleSimpleEditableTextInterface::_ZTV38QAccessibleSimpleEditableTextInterface) + 16u)
+ QAccessibleEditableTextInterface (0x7fea10eaba80) 0 nearly-empty
+ primary-for QAccessibleSimpleEditableTextInterface (0x7fea10eaba10)
+ QAccessible2Interface (0x7fea10eabaf0) 0 nearly-empty
+ primary-for QAccessibleEditableTextInterface (0x7fea10eaba80)
+
+Vtable for QAccessibleValueInterface
+QAccessibleValueInterface::_ZTV25QAccessibleValueInterface: 8u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI25QAccessibleValueInterface)
+16 QAccessibleValueInterface::~QAccessibleValueInterface
+24 QAccessibleValueInterface::~QAccessibleValueInterface
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+48 __cxa_pure_virtual
+56 __cxa_pure_virtual
+
+Class QAccessibleValueInterface
+ size=8 align=8
+ base size=8 base align=8
+QAccessibleValueInterface (0x7fea10eabd20) 0 nearly-empty
+ vptr=((& QAccessibleValueInterface::_ZTV25QAccessibleValueInterface) + 16u)
+ QAccessible2Interface (0x7fea10eabd90) 0 nearly-empty
+ primary-for QAccessibleValueInterface (0x7fea10eabd20)
+
+Vtable for QAccessibleTableInterface
+QAccessibleTableInterface::_ZTV25QAccessibleTableInterface: 30u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI25QAccessibleTableInterface)
+16 QAccessibleTableInterface::~QAccessibleTableInterface
+24 QAccessibleTableInterface::~QAccessibleTableInterface
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+48 __cxa_pure_virtual
+56 __cxa_pure_virtual
+64 __cxa_pure_virtual
+72 __cxa_pure_virtual
+80 __cxa_pure_virtual
+88 __cxa_pure_virtual
+96 __cxa_pure_virtual
+104 __cxa_pure_virtual
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 __cxa_pure_virtual
+136 __cxa_pure_virtual
+144 __cxa_pure_virtual
+152 __cxa_pure_virtual
+160 __cxa_pure_virtual
+168 __cxa_pure_virtual
+176 __cxa_pure_virtual
+184 __cxa_pure_virtual
+192 __cxa_pure_virtual
+200 __cxa_pure_virtual
+208 __cxa_pure_virtual
+216 __cxa_pure_virtual
+224 __cxa_pure_virtual
+232 __cxa_pure_virtual
+
+Class QAccessibleTableInterface
+ size=8 align=8
+ base size=8 base align=8
+QAccessibleTableInterface (0x7fea10ebbb60) 0 nearly-empty
+ vptr=((& QAccessibleTableInterface::_ZTV25QAccessibleTableInterface) + 16u)
+ QAccessible2Interface (0x7fea10ebbbd0) 0 nearly-empty
+ primary-for QAccessibleTableInterface (0x7fea10ebbb60)
+
+Vtable for QAccessibleFactoryInterface
+QAccessibleFactoryInterface::_ZTV27QAccessibleFactoryInterface: 6u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI27QAccessibleFactoryInterface)
+16 QAccessibleFactoryInterface::~QAccessibleFactoryInterface
+24 QAccessibleFactoryInterface::~QAccessibleFactoryInterface
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+
+Class QAccessibleFactoryInterface
+ size=8 align=8
+ base size=8 base align=8
+QAccessibleFactoryInterface (0x7fea10ebec80) 0 nearly-empty
+ vptr=((& QAccessibleFactoryInterface::_ZTV27QAccessibleFactoryInterface) + 16u)
+ QAccessible (0x7fea10ebbf50) 0 empty
+ QFactoryInterface (0x7fea10ebbd90) 0 nearly-empty
+ primary-for QAccessibleFactoryInterface (0x7fea10ebec80)
+
+Vtable for QAccessiblePlugin
+QAccessiblePlugin::_ZTV17QAccessiblePlugin: 22u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QAccessiblePlugin)
+16 QAccessiblePlugin::metaObject
+24 QAccessiblePlugin::qt_metacast
+32 QAccessiblePlugin::qt_metacall
+40 QAccessiblePlugin::~QAccessiblePlugin
+48 QAccessiblePlugin::~QAccessiblePlugin
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 (int (*)(...))-0x00000000000000010
+136 (int (*)(...))(& _ZTI17QAccessiblePlugin)
+144 QAccessiblePlugin::_ZThn16_N17QAccessiblePluginD1Ev
+152 QAccessiblePlugin::_ZThn16_N17QAccessiblePluginD0Ev
+160 __cxa_pure_virtual
+168 __cxa_pure_virtual
+
+Class QAccessiblePlugin
+ size=24 align=8
+ base size=24 base align=8
+QAccessiblePlugin (0x7fea10ed2480) 0
+ vptr=((& QAccessiblePlugin::_ZTV17QAccessiblePlugin) + 16u)
+ QObject (0x7fea10ecf7e0) 0
+ primary-for QAccessiblePlugin (0x7fea10ed2480)
+ QAccessibleFactoryInterface (0x7fea10ed2500) 16 nearly-empty
+ vptr=((& QAccessiblePlugin::_ZTV17QAccessiblePlugin) + 144u)
+ QAccessible (0x7fea10ecf850) 16 empty
+ QFactoryInterface (0x7fea10ecf8c0) 16 nearly-empty
+ primary-for QAccessibleFactoryInterface (0x7fea10ed2500)
+
+Vtable for QLayoutItem
+QLayoutItem::_ZTV11QLayoutItem: 18u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QLayoutItem)
+16 QLayoutItem::~QLayoutItem
+24 QLayoutItem::~QLayoutItem
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+48 __cxa_pure_virtual
+56 __cxa_pure_virtual
+64 __cxa_pure_virtual
+72 __cxa_pure_virtual
+80 __cxa_pure_virtual
+88 QLayoutItem::hasHeightForWidth
+96 QLayoutItem::heightForWidth
+104 QLayoutItem::minimumHeightForWidth
+112 QLayoutItem::invalidate
+120 QLayoutItem::widget
+128 QLayoutItem::layout
+136 QLayoutItem::spacerItem
+
+Class QLayoutItem
+ size=16 align=8
+ base size=12 base align=8
+QLayoutItem (0x7fea10ee17e0) 0
+ vptr=((& QLayoutItem::_ZTV11QLayoutItem) + 16u)
+
+Vtable for QSpacerItem
+QSpacerItem::_ZTV11QSpacerItem: 18u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QSpacerItem)
+16 QSpacerItem::~QSpacerItem
+24 QSpacerItem::~QSpacerItem
+32 QSpacerItem::sizeHint
+40 QSpacerItem::minimumSize
+48 QSpacerItem::maximumSize
+56 QSpacerItem::expandingDirections
+64 QSpacerItem::setGeometry
+72 QSpacerItem::geometry
+80 QSpacerItem::isEmpty
+88 QLayoutItem::hasHeightForWidth
+96 QLayoutItem::heightForWidth
+104 QLayoutItem::minimumHeightForWidth
+112 QLayoutItem::invalidate
+120 QLayoutItem::widget
+128 QLayoutItem::layout
+136 QSpacerItem::spacerItem
+
+Class QSpacerItem
+ size=40 align=8
+ base size=40 base align=8
+QSpacerItem (0x7fea10ef4380) 0
+ vptr=((& QSpacerItem::_ZTV11QSpacerItem) + 16u)
+ QLayoutItem (0x7fea10ef43f0) 0
+ primary-for QSpacerItem (0x7fea10ef4380)
+
+Vtable for QWidgetItem
+QWidgetItem::_ZTV11QWidgetItem: 18u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QWidgetItem)
+16 QWidgetItem::~QWidgetItem
+24 QWidgetItem::~QWidgetItem
+32 QWidgetItem::sizeHint
+40 QWidgetItem::minimumSize
+48 QWidgetItem::maximumSize
+56 QWidgetItem::expandingDirections
+64 QWidgetItem::setGeometry
+72 QWidgetItem::geometry
+80 QWidgetItem::isEmpty
+88 QWidgetItem::hasHeightForWidth
+96 QWidgetItem::heightForWidth
+104 QLayoutItem::minimumHeightForWidth
+112 QLayoutItem::invalidate
+120 QWidgetItem::widget
+128 QLayoutItem::layout
+136 QLayoutItem::spacerItem
+
+Class QWidgetItem
+ size=24 align=8
+ base size=24 base align=8
+QWidgetItem (0x7fea10d018c0) 0
+ vptr=((& QWidgetItem::_ZTV11QWidgetItem) + 16u)
+ QLayoutItem (0x7fea10d01930) 0
+ primary-for QWidgetItem (0x7fea10d018c0)
+
+Vtable for QWidgetItemV2
+QWidgetItemV2::_ZTV13QWidgetItemV2: 18u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QWidgetItemV2)
+16 QWidgetItemV2::~QWidgetItemV2
+24 QWidgetItemV2::~QWidgetItemV2
+32 QWidgetItemV2::sizeHint
+40 QWidgetItemV2::minimumSize
+48 QWidgetItemV2::maximumSize
+56 QWidgetItem::expandingDirections
+64 QWidgetItem::setGeometry
+72 QWidgetItem::geometry
+80 QWidgetItem::isEmpty
+88 QWidgetItem::hasHeightForWidth
+96 QWidgetItemV2::heightForWidth
+104 QLayoutItem::minimumHeightForWidth
+112 QLayoutItem::invalidate
+120 QWidgetItem::widget
+128 QLayoutItem::layout
+136 QLayoutItem::spacerItem
+
+Class QWidgetItemV2
+ size=88 align=8
+ base size=88 base align=8
+QWidgetItemV2 (0x7fea10d10700) 0
+ vptr=((& QWidgetItemV2::_ZTV13QWidgetItemV2) + 16u)
+ QWidgetItem (0x7fea10d10770) 0
+ primary-for QWidgetItemV2 (0x7fea10d10700)
+ QLayoutItem (0x7fea10d107e0) 0
+ primary-for QWidgetItem (0x7fea10d10770)
+
+Class QLayoutIterator
+ size=16 align=8
+ base size=12 base align=8
+QLayoutIterator (0x7fea10d1e540) 0
+
+Vtable for QLayout
+QLayout::_ZTV7QLayout: 45u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QLayout)
+16 QLayout::metaObject
+24 QLayout::qt_metacast
+32 QLayout::qt_metacall
+40 QLayout::~QLayout
+48 QLayout::~QLayout
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QLayout::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QLayout::invalidate
+120 QLayout::geometry
+128 __cxa_pure_virtual
+136 QLayout::expandingDirections
+144 QLayout::minimumSize
+152 QLayout::maximumSize
+160 QLayout::setGeometry
+168 __cxa_pure_virtual
+176 __cxa_pure_virtual
+184 QLayout::indexOf
+192 __cxa_pure_virtual
+200 QLayout::isEmpty
+208 QLayout::layout
+216 (int (*)(...))-0x00000000000000010
+224 (int (*)(...))(& _ZTI7QLayout)
+232 QLayout::_ZThn16_N7QLayoutD1Ev
+240 QLayout::_ZThn16_N7QLayoutD0Ev
+248 __cxa_pure_virtual
+256 QLayout::_ZThn16_NK7QLayout11minimumSizeEv
+264 QLayout::_ZThn16_NK7QLayout11maximumSizeEv
+272 QLayout::_ZThn16_NK7QLayout19expandingDirectionsEv
+280 QLayout::_ZThn16_N7QLayout11setGeometryERK5QRect
+288 QLayout::_ZThn16_NK7QLayout8geometryEv
+296 QLayout::_ZThn16_NK7QLayout7isEmptyEv
+304 QLayoutItem::hasHeightForWidth
+312 QLayoutItem::heightForWidth
+320 QLayoutItem::minimumHeightForWidth
+328 QLayout::_ZThn16_N7QLayout10invalidateEv
+336 QLayoutItem::widget
+344 QLayout::_ZThn16_N7QLayout6layoutEv
+352 QLayoutItem::spacerItem
+
+Class QLayout
+ size=32 align=8
+ base size=28 base align=8
+QLayout (0x7fea10d2b180) 0
+ vptr=((& QLayout::_ZTV7QLayout) + 16u)
+ QObject (0x7fea10d29690) 0
+ primary-for QLayout (0x7fea10d2b180)
+ QLayoutItem (0x7fea10d29700) 16
+ vptr=((& QLayout::_ZTV7QLayout) + 232u)
+
+Vtable for QBoxLayout
+QBoxLayout::_ZTV10QBoxLayout: 49u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QBoxLayout)
+16 QBoxLayout::metaObject
+24 QBoxLayout::qt_metacast
+32 QBoxLayout::qt_metacall
+40 QBoxLayout::~QBoxLayout
+48 QBoxLayout::~QBoxLayout
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QLayout::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QBoxLayout::invalidate
+120 QLayout::geometry
+128 QBoxLayout::addItem
+136 QBoxLayout::expandingDirections
+144 QBoxLayout::minimumSize
+152 QBoxLayout::maximumSize
+160 QBoxLayout::setGeometry
+168 QBoxLayout::itemAt
+176 QBoxLayout::takeAt
+184 QLayout::indexOf
+192 QBoxLayout::count
+200 QLayout::isEmpty
+208 QLayout::layout
+216 QBoxLayout::sizeHint
+224 QBoxLayout::hasHeightForWidth
+232 QBoxLayout::heightForWidth
+240 QBoxLayout::minimumHeightForWidth
+248 (int (*)(...))-0x00000000000000010
+256 (int (*)(...))(& _ZTI10QBoxLayout)
+264 QBoxLayout::_ZThn16_N10QBoxLayoutD1Ev
+272 QBoxLayout::_ZThn16_N10QBoxLayoutD0Ev
+280 QBoxLayout::_ZThn16_NK10QBoxLayout8sizeHintEv
+288 QBoxLayout::_ZThn16_NK10QBoxLayout11minimumSizeEv
+296 QBoxLayout::_ZThn16_NK10QBoxLayout11maximumSizeEv
+304 QBoxLayout::_ZThn16_NK10QBoxLayout19expandingDirectionsEv
+312 QBoxLayout::_ZThn16_N10QBoxLayout11setGeometryERK5QRect
+320 QLayout::_ZThn16_NK7QLayout8geometryEv
+328 QLayout::_ZThn16_NK7QLayout7isEmptyEv
+336 QBoxLayout::_ZThn16_NK10QBoxLayout17hasHeightForWidthEv
+344 QBoxLayout::_ZThn16_NK10QBoxLayout14heightForWidthEi
+352 QBoxLayout::_ZThn16_NK10QBoxLayout21minimumHeightForWidthEi
+360 QBoxLayout::_ZThn16_N10QBoxLayout10invalidateEv
+368 QLayoutItem::widget
+376 QLayout::_ZThn16_N7QLayout6layoutEv
+384 QLayoutItem::spacerItem
+
+Class QBoxLayout
+ size=32 align=8
+ base size=28 base align=8
+QBoxLayout (0x7fea10d64bd0) 0
+ vptr=((& QBoxLayout::_ZTV10QBoxLayout) + 16u)
+ QLayout (0x7fea10d6a200) 0
+ primary-for QBoxLayout (0x7fea10d64bd0)
+ QObject (0x7fea10d64c40) 0
+ primary-for QLayout (0x7fea10d6a200)
+ QLayoutItem (0x7fea10d64cb0) 16
+ vptr=((& QBoxLayout::_ZTV10QBoxLayout) + 264u)
+
+Vtable for QHBoxLayout
+QHBoxLayout::_ZTV11QHBoxLayout: 49u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QHBoxLayout)
+16 QHBoxLayout::metaObject
+24 QHBoxLayout::qt_metacast
+32 QHBoxLayout::qt_metacall
+40 QHBoxLayout::~QHBoxLayout
+48 QHBoxLayout::~QHBoxLayout
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QLayout::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QBoxLayout::invalidate
+120 QLayout::geometry
+128 QBoxLayout::addItem
+136 QBoxLayout::expandingDirections
+144 QBoxLayout::minimumSize
+152 QBoxLayout::maximumSize
+160 QBoxLayout::setGeometry
+168 QBoxLayout::itemAt
+176 QBoxLayout::takeAt
+184 QLayout::indexOf
+192 QBoxLayout::count
+200 QLayout::isEmpty
+208 QLayout::layout
+216 QBoxLayout::sizeHint
+224 QBoxLayout::hasHeightForWidth
+232 QBoxLayout::heightForWidth
+240 QBoxLayout::minimumHeightForWidth
+248 (int (*)(...))-0x00000000000000010
+256 (int (*)(...))(& _ZTI11QHBoxLayout)
+264 QHBoxLayout::_ZThn16_N11QHBoxLayoutD1Ev
+272 QHBoxLayout::_ZThn16_N11QHBoxLayoutD0Ev
+280 QBoxLayout::_ZThn16_NK10QBoxLayout8sizeHintEv
+288 QBoxLayout::_ZThn16_NK10QBoxLayout11minimumSizeEv
+296 QBoxLayout::_ZThn16_NK10QBoxLayout11maximumSizeEv
+304 QBoxLayout::_ZThn16_NK10QBoxLayout19expandingDirectionsEv
+312 QBoxLayout::_ZThn16_N10QBoxLayout11setGeometryERK5QRect
+320 QLayout::_ZThn16_NK7QLayout8geometryEv
+328 QLayout::_ZThn16_NK7QLayout7isEmptyEv
+336 QBoxLayout::_ZThn16_NK10QBoxLayout17hasHeightForWidthEv
+344 QBoxLayout::_ZThn16_NK10QBoxLayout14heightForWidthEi
+352 QBoxLayout::_ZThn16_NK10QBoxLayout21minimumHeightForWidthEi
+360 QBoxLayout::_ZThn16_N10QBoxLayout10invalidateEv
+368 QLayoutItem::widget
+376 QLayout::_ZThn16_N7QLayout6layoutEv
+384 QLayoutItem::spacerItem
+
+Class QHBoxLayout
+ size=32 align=8
+ base size=28 base align=8
+QHBoxLayout (0x7fea10d93620) 0
+ vptr=((& QHBoxLayout::_ZTV11QHBoxLayout) + 16u)
+ QBoxLayout (0x7fea10d93690) 0
+ primary-for QHBoxLayout (0x7fea10d93620)
+ QLayout (0x7fea10d6af80) 0
+ primary-for QBoxLayout (0x7fea10d93690)
+ QObject (0x7fea10d93700) 0
+ primary-for QLayout (0x7fea10d6af80)
+ QLayoutItem (0x7fea10d93770) 16
+ vptr=((& QHBoxLayout::_ZTV11QHBoxLayout) + 264u)
+
+Vtable for QVBoxLayout
+QVBoxLayout::_ZTV11QVBoxLayout: 49u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QVBoxLayout)
+16 QVBoxLayout::metaObject
+24 QVBoxLayout::qt_metacast
+32 QVBoxLayout::qt_metacall
+40 QVBoxLayout::~QVBoxLayout
+48 QVBoxLayout::~QVBoxLayout
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QLayout::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QBoxLayout::invalidate
+120 QLayout::geometry
+128 QBoxLayout::addItem
+136 QBoxLayout::expandingDirections
+144 QBoxLayout::minimumSize
+152 QBoxLayout::maximumSize
+160 QBoxLayout::setGeometry
+168 QBoxLayout::itemAt
+176 QBoxLayout::takeAt
+184 QLayout::indexOf
+192 QBoxLayout::count
+200 QLayout::isEmpty
+208 QLayout::layout
+216 QBoxLayout::sizeHint
+224 QBoxLayout::hasHeightForWidth
+232 QBoxLayout::heightForWidth
+240 QBoxLayout::minimumHeightForWidth
+248 (int (*)(...))-0x00000000000000010
+256 (int (*)(...))(& _ZTI11QVBoxLayout)
+264 QVBoxLayout::_ZThn16_N11QVBoxLayoutD1Ev
+272 QVBoxLayout::_ZThn16_N11QVBoxLayoutD0Ev
+280 QBoxLayout::_ZThn16_NK10QBoxLayout8sizeHintEv
+288 QBoxLayout::_ZThn16_NK10QBoxLayout11minimumSizeEv
+296 QBoxLayout::_ZThn16_NK10QBoxLayout11maximumSizeEv
+304 QBoxLayout::_ZThn16_NK10QBoxLayout19expandingDirectionsEv
+312 QBoxLayout::_ZThn16_N10QBoxLayout11setGeometryERK5QRect
+320 QLayout::_ZThn16_NK7QLayout8geometryEv
+328 QLayout::_ZThn16_NK7QLayout7isEmptyEv
+336 QBoxLayout::_ZThn16_NK10QBoxLayout17hasHeightForWidthEv
+344 QBoxLayout::_ZThn16_NK10QBoxLayout14heightForWidthEi
+352 QBoxLayout::_ZThn16_NK10QBoxLayout21minimumHeightForWidthEi
+360 QBoxLayout::_ZThn16_N10QBoxLayout10invalidateEv
+368 QLayoutItem::widget
+376 QLayout::_ZThn16_N7QLayout6layoutEv
+384 QLayoutItem::spacerItem
+
+Class QVBoxLayout
+ size=32 align=8
+ base size=28 base align=8
+QVBoxLayout (0x7fea10da0cb0) 0
+ vptr=((& QVBoxLayout::_ZTV11QVBoxLayout) + 16u)
+ QBoxLayout (0x7fea10da0d20) 0
+ primary-for QVBoxLayout (0x7fea10da0cb0)
+ QLayout (0x7fea10d97680) 0
+ primary-for QBoxLayout (0x7fea10da0d20)
+ QObject (0x7fea10da0d90) 0
+ primary-for QLayout (0x7fea10d97680)
+ QLayoutItem (0x7fea10da0e00) 16
+ vptr=((& QVBoxLayout::_ZTV11QVBoxLayout) + 264u)
+
+Vtable for QGridLayout
+QGridLayout::_ZTV11QGridLayout: 49u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QGridLayout)
+16 QGridLayout::metaObject
+24 QGridLayout::qt_metacast
+32 QGridLayout::qt_metacall
+40 QGridLayout::~QGridLayout
+48 QGridLayout::~QGridLayout
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QLayout::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QGridLayout::invalidate
+120 QLayout::geometry
+128 QGridLayout::addItem
+136 QGridLayout::expandingDirections
+144 QGridLayout::minimumSize
+152 QGridLayout::maximumSize
+160 QGridLayout::setGeometry
+168 QGridLayout::itemAt
+176 QGridLayout::takeAt
+184 QLayout::indexOf
+192 QGridLayout::count
+200 QLayout::isEmpty
+208 QLayout::layout
+216 QGridLayout::sizeHint
+224 QGridLayout::hasHeightForWidth
+232 QGridLayout::heightForWidth
+240 QGridLayout::minimumHeightForWidth
+248 (int (*)(...))-0x00000000000000010
+256 (int (*)(...))(& _ZTI11QGridLayout)
+264 QGridLayout::_ZThn16_N11QGridLayoutD1Ev
+272 QGridLayout::_ZThn16_N11QGridLayoutD0Ev
+280 QGridLayout::_ZThn16_NK11QGridLayout8sizeHintEv
+288 QGridLayout::_ZThn16_NK11QGridLayout11minimumSizeEv
+296 QGridLayout::_ZThn16_NK11QGridLayout11maximumSizeEv
+304 QGridLayout::_ZThn16_NK11QGridLayout19expandingDirectionsEv
+312 QGridLayout::_ZThn16_N11QGridLayout11setGeometryERK5QRect
+320 QLayout::_ZThn16_NK7QLayout8geometryEv
+328 QLayout::_ZThn16_NK7QLayout7isEmptyEv
+336 QGridLayout::_ZThn16_NK11QGridLayout17hasHeightForWidthEv
+344 QGridLayout::_ZThn16_NK11QGridLayout14heightForWidthEi
+352 QGridLayout::_ZThn16_NK11QGridLayout21minimumHeightForWidthEi
+360 QGridLayout::_ZThn16_N11QGridLayout10invalidateEv
+368 QLayoutItem::widget
+376 QLayout::_ZThn16_N7QLayout6layoutEv
+384 QLayoutItem::spacerItem
+
+Class QGridLayout
+ size=32 align=8
+ base size=28 base align=8
+QGridLayout (0x7fea10dc32a0) 0
+ vptr=((& QGridLayout::_ZTV11QGridLayout) + 16u)
+ QLayout (0x7fea10d97d80) 0
+ primary-for QGridLayout (0x7fea10dc32a0)
+ QObject (0x7fea10dc3310) 0
+ primary-for QLayout (0x7fea10d97d80)
+ QLayoutItem (0x7fea10dc3380) 16
+ vptr=((& QGridLayout::_ZTV11QGridLayout) + 264u)
+
+Vtable for QFormLayout
+QFormLayout::_ZTV11QFormLayout: 48u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QFormLayout)
+16 QFormLayout::metaObject
+24 QFormLayout::qt_metacast
+32 QFormLayout::qt_metacall
+40 QFormLayout::~QFormLayout
+48 QFormLayout::~QFormLayout
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QLayout::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QFormLayout::invalidate
+120 QLayout::geometry
+128 QFormLayout::addItem
+136 QFormLayout::expandingDirections
+144 QFormLayout::minimumSize
+152 QLayout::maximumSize
+160 QFormLayout::setGeometry
+168 QFormLayout::itemAt
+176 QFormLayout::takeAt
+184 QLayout::indexOf
+192 QFormLayout::count
+200 QLayout::isEmpty
+208 QLayout::layout
+216 QFormLayout::sizeHint
+224 QFormLayout::hasHeightForWidth
+232 QFormLayout::heightForWidth
+240 (int (*)(...))-0x00000000000000010
+248 (int (*)(...))(& _ZTI11QFormLayout)
+256 QFormLayout::_ZThn16_N11QFormLayoutD1Ev
+264 QFormLayout::_ZThn16_N11QFormLayoutD0Ev
+272 QFormLayout::_ZThn16_NK11QFormLayout8sizeHintEv
+280 QFormLayout::_ZThn16_NK11QFormLayout11minimumSizeEv
+288 QLayout::_ZThn16_NK7QLayout11maximumSizeEv
+296 QFormLayout::_ZThn16_NK11QFormLayout19expandingDirectionsEv
+304 QFormLayout::_ZThn16_N11QFormLayout11setGeometryERK5QRect
+312 QLayout::_ZThn16_NK7QLayout8geometryEv
+320 QLayout::_ZThn16_NK7QLayout7isEmptyEv
+328 QFormLayout::_ZThn16_NK11QFormLayout17hasHeightForWidthEv
+336 QFormLayout::_ZThn16_NK11QFormLayout14heightForWidthEi
+344 QLayoutItem::minimumHeightForWidth
+352 QFormLayout::_ZThn16_N11QFormLayout10invalidateEv
+360 QLayoutItem::widget
+368 QLayout::_ZThn16_N7QLayout6layoutEv
+376 QLayoutItem::spacerItem
+
+Class QFormLayout
+ size=32 align=8
+ base size=28 base align=8
+QFormLayout (0x7fea10c0e310) 0
+ vptr=((& QFormLayout::_ZTV11QFormLayout) + 16u)
+ QLayout (0x7fea10c09b80) 0
+ primary-for QFormLayout (0x7fea10c0e310)
+ QObject (0x7fea10c0e380) 0
+ primary-for QLayout (0x7fea10c09b80)
+ QLayoutItem (0x7fea10c0e3f0) 16
+ vptr=((& QFormLayout::_ZTV11QFormLayout) + 256u)
+
+Vtable for QClipboard
+QClipboard::_ZTV10QClipboard: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QClipboard)
+16 QClipboard::metaObject
+24 QClipboard::qt_metacast
+32 QClipboard::qt_metacall
+40 QClipboard::~QClipboard
+48 QClipboard::~QClipboard
+56 QClipboard::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QClipboard::connectNotify
+104 QObject::disconnectNotify
+
+Class QClipboard
+ size=16 align=8
+ base size=16 base align=8
+QClipboard (0x7fea10c3a770) 0
+ vptr=((& QClipboard::_ZTV10QClipboard) + 16u)
+ QObject (0x7fea10c3a7e0) 0
+ primary-for QClipboard (0x7fea10c3a770)
+
+Class QWhatsThis
+ size=1 align=1
+ base size=0 base align=1
+QWhatsThis (0x7fea10c5c4d0) 0 empty
+
+Vtable for QDesktopWidget
+QDesktopWidget::_ZTV14QDesktopWidget: 63u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QDesktopWidget)
+16 QDesktopWidget::metaObject
+24 QDesktopWidget::qt_metacast
+32 QDesktopWidget::qt_metacall
+40 QDesktopWidget::~QDesktopWidget
+48 QDesktopWidget::~QDesktopWidget
+56 QWidget::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QWidget::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QWidget::paintEvent
+256 QWidget::moveEvent
+264 QDesktopWidget::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QWidget::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 (int (*)(...))-0x00000000000000010
+456 (int (*)(...))(& _ZTI14QDesktopWidget)
+464 QDesktopWidget::_ZThn16_N14QDesktopWidgetD1Ev
+472 QDesktopWidget::_ZThn16_N14QDesktopWidgetD0Ev
+480 QWidget::_ZThn16_NK7QWidget7devTypeEv
+488 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+496 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QDesktopWidget
+ size=40 align=8
+ base size=40 base align=8
+QDesktopWidget (0x7fea10c5c5b0) 0
+ vptr=((& QDesktopWidget::_ZTV14QDesktopWidget) + 16u)
+ QWidget (0x7fea10c58400) 0
+ primary-for QDesktopWidget (0x7fea10c5c5b0)
+ QObject (0x7fea10c5c620) 0
+ primary-for QWidget (0x7fea10c58400)
+ QPaintDevice (0x7fea10c5c690) 16
+ vptr=((& QDesktopWidget::_ZTV14QDesktopWidget) + 464u)
+
+Vtable for QShortcut
+QShortcut::_ZTV9QShortcut: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QShortcut)
+16 QShortcut::metaObject
+24 QShortcut::qt_metacast
+32 QShortcut::qt_metacall
+40 QShortcut::~QShortcut
+48 QShortcut::~QShortcut
+56 QShortcut::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QShortcut
+ size=16 align=8
+ base size=16 base align=8
+QShortcut (0x7fea10c815b0) 0
+ vptr=((& QShortcut::_ZTV9QShortcut) + 16u)
+ QObject (0x7fea10c81620) 0
+ primary-for QShortcut (0x7fea10c815b0)
+
+Vtable for QSessionManager
+QSessionManager::_ZTV15QSessionManager: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QSessionManager)
+16 QSessionManager::metaObject
+24 QSessionManager::qt_metacast
+32 QSessionManager::qt_metacall
+40 QSessionManager::~QSessionManager
+48 QSessionManager::~QSessionManager
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QSessionManager
+ size=16 align=8
+ base size=16 base align=8
+QSessionManager (0x7fea10c95d20) 0
+ vptr=((& QSessionManager::_ZTV15QSessionManager) + 16u)
+ QObject (0x7fea10c95d90) 0
+ primary-for QSessionManager (0x7fea10c95d20)
+
+Vtable for QApplication
+QApplication::_ZTV12QApplication: 20u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QApplication)
+16 QApplication::metaObject
+24 QApplication::qt_metacast
+32 QApplication::qt_metacall
+40 QApplication::~QApplication
+48 QApplication::~QApplication
+56 QApplication::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QApplication::notify
+120 QApplication::compressEvent
+128 QApplication::x11EventFilter
+136 QApplication::x11ClientMessage
+144 QApplication::commitData
+152 QApplication::saveState
+
+Class QApplication
+ size=16 align=8
+ base size=16 base align=8
+QApplication (0x7fea10cb42a0) 0
+ vptr=((& QApplication::_ZTV12QApplication) + 16u)
+ QCoreApplication (0x7fea10cb4310) 0
+ primary-for QApplication (0x7fea10cb42a0)
+ QObject (0x7fea10cb4380) 0
+ primary-for QCoreApplication (0x7fea10cb4310)
+
+Vtable for QAction
+QAction::_ZTV7QAction: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QAction)
+16 QAction::metaObject
+24 QAction::qt_metacast
+32 QAction::qt_metacall
+40 QAction::~QAction
+48 QAction::~QAction
+56 QAction::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QAction
+ size=16 align=8
+ base size=16 base align=8
+QAction (0x7fea10cf9ee0) 0
+ vptr=((& QAction::_ZTV7QAction) + 16u)
+ QObject (0x7fea10cf9f50) 0
+ primary-for QAction (0x7fea10cf9ee0)
+
+Vtable for QActionGroup
+QActionGroup::_ZTV12QActionGroup: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QActionGroup)
+16 QActionGroup::metaObject
+24 QActionGroup::qt_metacast
+32 QActionGroup::qt_metacall
+40 QActionGroup::~QActionGroup
+48 QActionGroup::~QActionGroup
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QActionGroup
+ size=16 align=8
+ base size=16 base align=8
+QActionGroup (0x7fea10b3e700) 0
+ vptr=((& QActionGroup::_ZTV12QActionGroup) + 16u)
+ QObject (0x7fea10b3e770) 0
+ primary-for QActionGroup (0x7fea10b3e700)
+
+Vtable for QSound
+QSound::_ZTV6QSound: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI6QSound)
+16 QSound::metaObject
+24 QSound::qt_metacast
+32 QSound::qt_metacall
+40 QSound::~QSound
+48 QSound::~QSound
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QSound
+ size=16 align=8
+ base size=16 base align=8
+QSound (0x7fea10b5baf0) 0
+ vptr=((& QSound::_ZTV6QSound) + 16u)
+ QObject (0x7fea10b5bb60) 0
+ primary-for QSound (0x7fea10b5baf0)
+
+Vtable for QStackedLayout
+QStackedLayout::_ZTV14QStackedLayout: 46u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QStackedLayout)
+16 QStackedLayout::metaObject
+24 QStackedLayout::qt_metacast
+32 QStackedLayout::qt_metacall
+40 QStackedLayout::~QStackedLayout
+48 QStackedLayout::~QStackedLayout
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QLayout::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QLayout::invalidate
+120 QLayout::geometry
+128 QStackedLayout::addItem
+136 QLayout::expandingDirections
+144 QStackedLayout::minimumSize
+152 QLayout::maximumSize
+160 QStackedLayout::setGeometry
+168 QStackedLayout::itemAt
+176 QStackedLayout::takeAt
+184 QLayout::indexOf
+192 QStackedLayout::count
+200 QLayout::isEmpty
+208 QLayout::layout
+216 QStackedLayout::sizeHint
+224 (int (*)(...))-0x00000000000000010
+232 (int (*)(...))(& _ZTI14QStackedLayout)
+240 QStackedLayout::_ZThn16_N14QStackedLayoutD1Ev
+248 QStackedLayout::_ZThn16_N14QStackedLayoutD0Ev
+256 QStackedLayout::_ZThn16_NK14QStackedLayout8sizeHintEv
+264 QStackedLayout::_ZThn16_NK14QStackedLayout11minimumSizeEv
+272 QLayout::_ZThn16_NK7QLayout11maximumSizeEv
+280 QLayout::_ZThn16_NK7QLayout19expandingDirectionsEv
+288 QStackedLayout::_ZThn16_N14QStackedLayout11setGeometryERK5QRect
+296 QLayout::_ZThn16_NK7QLayout8geometryEv
+304 QLayout::_ZThn16_NK7QLayout7isEmptyEv
+312 QLayoutItem::hasHeightForWidth
+320 QLayoutItem::heightForWidth
+328 QLayoutItem::minimumHeightForWidth
+336 QLayout::_ZThn16_N7QLayout10invalidateEv
+344 QLayoutItem::widget
+352 QLayout::_ZThn16_N7QLayout6layoutEv
+360 QLayoutItem::spacerItem
+
+Class QStackedLayout
+ size=32 align=8
+ base size=28 base align=8
+QStackedLayout (0x7fea10b9c2a0) 0
+ vptr=((& QStackedLayout::_ZTV14QStackedLayout) + 16u)
+ QLayout (0x7fea10b83a80) 0
+ primary-for QStackedLayout (0x7fea10b9c2a0)
+ QObject (0x7fea10b9c310) 0
+ primary-for QLayout (0x7fea10b83a80)
+ QLayoutItem (0x7fea10b9c380) 16
+ vptr=((& QStackedLayout::_ZTV14QStackedLayout) + 240u)
+
+Vtable for QWidgetAction
+QWidgetAction::_ZTV13QWidgetAction: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QWidgetAction)
+16 QWidgetAction::metaObject
+24 QWidgetAction::qt_metacast
+32 QWidgetAction::qt_metacall
+40 QWidgetAction::~QWidgetAction
+48 QWidgetAction::~QWidgetAction
+56 QWidgetAction::event
+64 QWidgetAction::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidgetAction::createWidget
+120 QWidgetAction::deleteWidget
+
+Class QWidgetAction
+ size=16 align=8
+ base size=16 base align=8
+QWidgetAction (0x7fea10bb82a0) 0
+ vptr=((& QWidgetAction::_ZTV13QWidgetAction) + 16u)
+ QAction (0x7fea10bb8310) 0
+ primary-for QWidgetAction (0x7fea10bb82a0)
+ QObject (0x7fea10bb8380) 0
+ primary-for QAction (0x7fea10bb8310)
+
+Class QToolTip
+ size=1 align=1
+ base size=0 base align=1
+QToolTip (0x7fea10bcbc40) 0 empty
+
+Vtable for QCommonStyle
+QCommonStyle::_ZTV12QCommonStyle: 35u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QCommonStyle)
+16 QCommonStyle::metaObject
+24 QCommonStyle::qt_metacast
+32 QCommonStyle::qt_metacall
+40 QCommonStyle::~QCommonStyle
+48 QCommonStyle::~QCommonStyle
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QCommonStyle::polish
+120 QCommonStyle::unpolish
+128 QCommonStyle::polish
+136 QCommonStyle::unpolish
+144 QCommonStyle::polish
+152 QStyle::itemTextRect
+160 QStyle::itemPixmapRect
+168 QStyle::drawItemText
+176 QStyle::drawItemPixmap
+184 QStyle::standardPalette
+192 QCommonStyle::drawPrimitive
+200 QCommonStyle::drawControl
+208 QCommonStyle::subElementRect
+216 QCommonStyle::drawComplexControl
+224 QCommonStyle::hitTestComplexControl
+232 QCommonStyle::subControlRect
+240 QCommonStyle::pixelMetric
+248 QCommonStyle::sizeFromContents
+256 QCommonStyle::styleHint
+264 QCommonStyle::standardPixmap
+272 QCommonStyle::generatedIconPixmap
+
+Class QCommonStyle
+ size=16 align=8
+ base size=16 base align=8
+QCommonStyle (0x7fea10bd6230) 0
+ vptr=((& QCommonStyle::_ZTV12QCommonStyle) + 16u)
+ QStyle (0x7fea10bd62a0) 0
+ primary-for QCommonStyle (0x7fea10bd6230)
+ QObject (0x7fea10bd6310) 0
+ primary-for QStyle (0x7fea10bd62a0)
+
+Vtable for QMotifStyle
+QMotifStyle::_ZTV11QMotifStyle: 35u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QMotifStyle)
+16 QMotifStyle::metaObject
+24 QMotifStyle::qt_metacast
+32 QMotifStyle::qt_metacall
+40 QMotifStyle::~QMotifStyle
+48 QMotifStyle::~QMotifStyle
+56 QMotifStyle::event
+64 QMotifStyle::eventFilter
+72 QMotifStyle::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QMotifStyle::polish
+120 QMotifStyle::unpolish
+128 QMotifStyle::polish
+136 QMotifStyle::unpolish
+144 QMotifStyle::polish
+152 QStyle::itemTextRect
+160 QStyle::itemPixmapRect
+168 QStyle::drawItemText
+176 QStyle::drawItemPixmap
+184 QMotifStyle::standardPalette
+192 QMotifStyle::drawPrimitive
+200 QMotifStyle::drawControl
+208 QMotifStyle::subElementRect
+216 QMotifStyle::drawComplexControl
+224 QCommonStyle::hitTestComplexControl
+232 QMotifStyle::subControlRect
+240 QMotifStyle::pixelMetric
+248 QMotifStyle::sizeFromContents
+256 QMotifStyle::styleHint
+264 QMotifStyle::standardPixmap
+272 QCommonStyle::generatedIconPixmap
+
+Class QMotifStyle
+ size=32 align=8
+ base size=25 base align=8
+QMotifStyle (0x7fea10bf8230) 0
+ vptr=((& QMotifStyle::_ZTV11QMotifStyle) + 16u)
+ QCommonStyle (0x7fea10bf82a0) 0
+ primary-for QMotifStyle (0x7fea10bf8230)
+ QStyle (0x7fea10bf8310) 0
+ primary-for QCommonStyle (0x7fea10bf82a0)
+ QObject (0x7fea10bf8380) 0
+ primary-for QStyle (0x7fea10bf8310)
+
+Vtable for QWindowsStyle
+QWindowsStyle::_ZTV13QWindowsStyle: 35u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QWindowsStyle)
+16 QWindowsStyle::metaObject
+24 QWindowsStyle::qt_metacast
+32 QWindowsStyle::qt_metacall
+40 QWindowsStyle::~QWindowsStyle
+48 QWindowsStyle::~QWindowsStyle
+56 QObject::event
+64 QWindowsStyle::eventFilter
+72 QWindowsStyle::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWindowsStyle::polish
+120 QWindowsStyle::unpolish
+128 QWindowsStyle::polish
+136 QWindowsStyle::unpolish
+144 QWindowsStyle::polish
+152 QStyle::itemTextRect
+160 QStyle::itemPixmapRect
+168 QStyle::drawItemText
+176 QStyle::drawItemPixmap
+184 QStyle::standardPalette
+192 QWindowsStyle::drawPrimitive
+200 QWindowsStyle::drawControl
+208 QWindowsStyle::subElementRect
+216 QWindowsStyle::drawComplexControl
+224 QCommonStyle::hitTestComplexControl
+232 QCommonStyle::subControlRect
+240 QWindowsStyle::pixelMetric
+248 QWindowsStyle::sizeFromContents
+256 QWindowsStyle::styleHint
+264 QWindowsStyle::standardPixmap
+272 QCommonStyle::generatedIconPixmap
+
+Class QWindowsStyle
+ size=24 align=8
+ base size=24 base align=8
+QWindowsStyle (0x7fea10a1e150) 0
+ vptr=((& QWindowsStyle::_ZTV13QWindowsStyle) + 16u)
+ QCommonStyle (0x7fea10a1e1c0) 0
+ primary-for QWindowsStyle (0x7fea10a1e150)
+ QStyle (0x7fea10a1e230) 0
+ primary-for QCommonStyle (0x7fea10a1e1c0)
+ QObject (0x7fea10a1e2a0) 0
+ primary-for QStyle (0x7fea10a1e230)
+
+Vtable for QCleanlooksStyle
+QCleanlooksStyle::_ZTV16QCleanlooksStyle: 35u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QCleanlooksStyle)
+16 QCleanlooksStyle::metaObject
+24 QCleanlooksStyle::qt_metacast
+32 QCleanlooksStyle::qt_metacall
+40 QCleanlooksStyle::~QCleanlooksStyle
+48 QCleanlooksStyle::~QCleanlooksStyle
+56 QObject::event
+64 QWindowsStyle::eventFilter
+72 QWindowsStyle::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QCleanlooksStyle::polish
+120 QCleanlooksStyle::unpolish
+128 QCleanlooksStyle::polish
+136 QCleanlooksStyle::unpolish
+144 QCleanlooksStyle::polish
+152 QStyle::itemTextRect
+160 QCleanlooksStyle::itemPixmapRect
+168 QCleanlooksStyle::drawItemText
+176 QCleanlooksStyle::drawItemPixmap
+184 QCleanlooksStyle::standardPalette
+192 QCleanlooksStyle::drawPrimitive
+200 QCleanlooksStyle::drawControl
+208 QCleanlooksStyle::subElementRect
+216 QCleanlooksStyle::drawComplexControl
+224 QCleanlooksStyle::hitTestComplexControl
+232 QCleanlooksStyle::subControlRect
+240 QCleanlooksStyle::pixelMetric
+248 QCleanlooksStyle::sizeFromContents
+256 QCleanlooksStyle::styleHint
+264 QCleanlooksStyle::standardPixmap
+272 QCleanlooksStyle::generatedIconPixmap
+
+Class QCleanlooksStyle
+ size=24 align=8
+ base size=24 base align=8
+QCleanlooksStyle (0x7fea10a36ee0) 0
+ vptr=((& QCleanlooksStyle::_ZTV16QCleanlooksStyle) + 16u)
+ QWindowsStyle (0x7fea10a36f50) 0
+ primary-for QCleanlooksStyle (0x7fea10a36ee0)
+ QCommonStyle (0x7fea10a3c000) 0
+ primary-for QWindowsStyle (0x7fea10a36f50)
+ QStyle (0x7fea10a3c070) 0
+ primary-for QCommonStyle (0x7fea10a3c000)
+ QObject (0x7fea10a3c0e0) 0
+ primary-for QStyle (0x7fea10a3c070)
+
+Vtable for QStyleFactoryInterface
+QStyleFactoryInterface::_ZTV22QStyleFactoryInterface: 6u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI22QStyleFactoryInterface)
+16 QStyleFactoryInterface::~QStyleFactoryInterface
+24 QStyleFactoryInterface::~QStyleFactoryInterface
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+
+Class QStyleFactoryInterface
+ size=8 align=8
+ base size=8 base align=8
+QStyleFactoryInterface (0x7fea10a59cb0) 0 nearly-empty
+ vptr=((& QStyleFactoryInterface::_ZTV22QStyleFactoryInterface) + 16u)
+ QFactoryInterface (0x7fea10a59d20) 0 nearly-empty
+ primary-for QStyleFactoryInterface (0x7fea10a59cb0)
+
+Vtable for QStylePlugin
+QStylePlugin::_ZTV12QStylePlugin: 22u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QStylePlugin)
+16 QStylePlugin::metaObject
+24 QStylePlugin::qt_metacast
+32 QStylePlugin::qt_metacall
+40 QStylePlugin::~QStylePlugin
+48 QStylePlugin::~QStylePlugin
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 (int (*)(...))-0x00000000000000010
+136 (int (*)(...))(& _ZTI12QStylePlugin)
+144 QStylePlugin::_ZThn16_N12QStylePluginD1Ev
+152 QStylePlugin::_ZThn16_N12QStylePluginD0Ev
+160 __cxa_pure_virtual
+168 __cxa_pure_virtual
+
+Class QStylePlugin
+ size=24 align=8
+ base size=24 base align=8
+QStylePlugin (0x7fea10a3df80) 0
+ vptr=((& QStylePlugin::_ZTV12QStylePlugin) + 16u)
+ QObject (0x7fea10a63540) 0
+ primary-for QStylePlugin (0x7fea10a3df80)
+ QStyleFactoryInterface (0x7fea10a635b0) 16 nearly-empty
+ vptr=((& QStylePlugin::_ZTV12QStylePlugin) + 144u)
+ QFactoryInterface (0x7fea10a63620) 16 nearly-empty
+ primary-for QStyleFactoryInterface (0x7fea10a635b0)
+
+Vtable for QWindowsXPStyle
+QWindowsXPStyle::_ZTV15QWindowsXPStyle: 35u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QWindowsXPStyle)
+16 QWindowsXPStyle::metaObject
+24 QWindowsXPStyle::qt_metacast
+32 QWindowsXPStyle::qt_metacall
+40 QWindowsXPStyle::~QWindowsXPStyle
+48 QWindowsXPStyle::~QWindowsXPStyle
+56 QObject::event
+64 QWindowsStyle::eventFilter
+72 QWindowsStyle::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWindowsXPStyle::polish
+120 QWindowsXPStyle::unpolish
+128 QWindowsXPStyle::polish
+136 QWindowsXPStyle::unpolish
+144 QWindowsXPStyle::polish
+152 QStyle::itemTextRect
+160 QStyle::itemPixmapRect
+168 QStyle::drawItemText
+176 QStyle::drawItemPixmap
+184 QWindowsXPStyle::standardPalette
+192 QWindowsXPStyle::drawPrimitive
+200 QWindowsXPStyle::drawControl
+208 QWindowsXPStyle::subElementRect
+216 QWindowsXPStyle::drawComplexControl
+224 QCommonStyle::hitTestComplexControl
+232 QWindowsXPStyle::subControlRect
+240 QWindowsXPStyle::pixelMetric
+248 QWindowsXPStyle::sizeFromContents
+256 QWindowsXPStyle::styleHint
+264 QWindowsXPStyle::standardPixmap
+272 QCommonStyle::generatedIconPixmap
+
+Class QWindowsXPStyle
+ size=32 align=8
+ base size=32 base align=8
+QWindowsXPStyle (0x7fea10a754d0) 0
+ vptr=((& QWindowsXPStyle::_ZTV15QWindowsXPStyle) + 16u)
+ QWindowsStyle (0x7fea10a75540) 0
+ primary-for QWindowsXPStyle (0x7fea10a754d0)
+ QCommonStyle (0x7fea10a755b0) 0
+ primary-for QWindowsStyle (0x7fea10a75540)
+ QStyle (0x7fea10a75620) 0
+ primary-for QCommonStyle (0x7fea10a755b0)
+ QObject (0x7fea10a75690) 0
+ primary-for QStyle (0x7fea10a75620)
+
+Vtable for QCDEStyle
+QCDEStyle::_ZTV9QCDEStyle: 35u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QCDEStyle)
+16 QCDEStyle::metaObject
+24 QCDEStyle::qt_metacast
+32 QCDEStyle::qt_metacall
+40 QCDEStyle::~QCDEStyle
+48 QCDEStyle::~QCDEStyle
+56 QMotifStyle::event
+64 QMotifStyle::eventFilter
+72 QMotifStyle::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QMotifStyle::polish
+120 QMotifStyle::unpolish
+128 QMotifStyle::polish
+136 QMotifStyle::unpolish
+144 QMotifStyle::polish
+152 QStyle::itemTextRect
+160 QStyle::itemPixmapRect
+168 QStyle::drawItemText
+176 QStyle::drawItemPixmap
+184 QCDEStyle::standardPalette
+192 QCDEStyle::drawPrimitive
+200 QCDEStyle::drawControl
+208 QMotifStyle::subElementRect
+216 QMotifStyle::drawComplexControl
+224 QCommonStyle::hitTestComplexControl
+232 QMotifStyle::subControlRect
+240 QCDEStyle::pixelMetric
+248 QMotifStyle::sizeFromContents
+256 QMotifStyle::styleHint
+264 QMotifStyle::standardPixmap
+272 QCommonStyle::generatedIconPixmap
+
+Class QCDEStyle
+ size=32 align=8
+ base size=25 base align=8
+QCDEStyle (0x7fea10a98380) 0
+ vptr=((& QCDEStyle::_ZTV9QCDEStyle) + 16u)
+ QMotifStyle (0x7fea10a983f0) 0
+ primary-for QCDEStyle (0x7fea10a98380)
+ QCommonStyle (0x7fea10a98460) 0
+ primary-for QMotifStyle (0x7fea10a983f0)
+ QStyle (0x7fea10a984d0) 0
+ primary-for QCommonStyle (0x7fea10a98460)
+ QObject (0x7fea10a98540) 0
+ primary-for QStyle (0x7fea10a984d0)
+
+Vtable for QPlastiqueStyle
+QPlastiqueStyle::_ZTV15QPlastiqueStyle: 35u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QPlastiqueStyle)
+16 QPlastiqueStyle::metaObject
+24 QPlastiqueStyle::qt_metacast
+32 QPlastiqueStyle::qt_metacall
+40 QPlastiqueStyle::~QPlastiqueStyle
+48 QPlastiqueStyle::~QPlastiqueStyle
+56 QObject::event
+64 QPlastiqueStyle::eventFilter
+72 QPlastiqueStyle::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QPlastiqueStyle::polish
+120 QPlastiqueStyle::unpolish
+128 QPlastiqueStyle::polish
+136 QPlastiqueStyle::unpolish
+144 QPlastiqueStyle::polish
+152 QStyle::itemTextRect
+160 QStyle::itemPixmapRect
+168 QStyle::drawItemText
+176 QStyle::drawItemPixmap
+184 QPlastiqueStyle::standardPalette
+192 QPlastiqueStyle::drawPrimitive
+200 QPlastiqueStyle::drawControl
+208 QPlastiqueStyle::subElementRect
+216 QPlastiqueStyle::drawComplexControl
+224 QPlastiqueStyle::hitTestComplexControl
+232 QPlastiqueStyle::subControlRect
+240 QPlastiqueStyle::pixelMetric
+248 QPlastiqueStyle::sizeFromContents
+256 QPlastiqueStyle::styleHint
+264 QPlastiqueStyle::standardPixmap
+272 QCommonStyle::generatedIconPixmap
+
+Class QPlastiqueStyle
+ size=32 align=8
+ base size=32 base align=8
+QPlastiqueStyle (0x7fea10aaa4d0) 0
+ vptr=((& QPlastiqueStyle::_ZTV15QPlastiqueStyle) + 16u)
+ QWindowsStyle (0x7fea10aaa540) 0
+ primary-for QPlastiqueStyle (0x7fea10aaa4d0)
+ QCommonStyle (0x7fea10aaa5b0) 0
+ primary-for QWindowsStyle (0x7fea10aaa540)
+ QStyle (0x7fea10aaa620) 0
+ primary-for QCommonStyle (0x7fea10aaa5b0)
+ QObject (0x7fea10aaa690) 0
+ primary-for QStyle (0x7fea10aaa620)
+
+Vtable for QWindowsVistaStyle
+QWindowsVistaStyle::_ZTV18QWindowsVistaStyle: 35u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QWindowsVistaStyle)
+16 QWindowsVistaStyle::metaObject
+24 QWindowsVistaStyle::qt_metacast
+32 QWindowsVistaStyle::qt_metacall
+40 QWindowsVistaStyle::~QWindowsVistaStyle
+48 QWindowsVistaStyle::~QWindowsVistaStyle
+56 QWindowsVistaStyle::event
+64 QWindowsStyle::eventFilter
+72 QWindowsStyle::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWindowsVistaStyle::polish
+120 QWindowsVistaStyle::unpolish
+128 QWindowsVistaStyle::polish
+136 QWindowsVistaStyle::unpolish
+144 QWindowsVistaStyle::polish
+152 QStyle::itemTextRect
+160 QStyle::itemPixmapRect
+168 QStyle::drawItemText
+176 QStyle::drawItemPixmap
+184 QWindowsVistaStyle::standardPalette
+192 QWindowsVistaStyle::drawPrimitive
+200 QWindowsVistaStyle::drawControl
+208 QWindowsVistaStyle::subElementRect
+216 QWindowsVistaStyle::drawComplexControl
+224 QWindowsVistaStyle::hitTestComplexControl
+232 QWindowsVistaStyle::subControlRect
+240 QWindowsVistaStyle::pixelMetric
+248 QWindowsVistaStyle::sizeFromContents
+256 QWindowsVistaStyle::styleHint
+264 QWindowsVistaStyle::standardPixmap
+272 QCommonStyle::generatedIconPixmap
+
+Class QWindowsVistaStyle
+ size=32 align=8
+ base size=32 base align=8
+QWindowsVistaStyle (0x7fea10aca620) 0
+ vptr=((& QWindowsVistaStyle::_ZTV18QWindowsVistaStyle) + 16u)
+ QWindowsXPStyle (0x7fea10aca690) 0
+ primary-for QWindowsVistaStyle (0x7fea10aca620)
+ QWindowsStyle (0x7fea10aca700) 0
+ primary-for QWindowsXPStyle (0x7fea10aca690)
+ QCommonStyle (0x7fea10aca770) 0
+ primary-for QWindowsStyle (0x7fea10aca700)
+ QStyle (0x7fea10aca7e0) 0
+ primary-for QCommonStyle (0x7fea10aca770)
+ QObject (0x7fea10aca850) 0
+ primary-for QStyle (0x7fea10aca7e0)
+
+Vtable for QWindowsCEStyle
+QWindowsCEStyle::_ZTV15QWindowsCEStyle: 35u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QWindowsCEStyle)
+16 QWindowsCEStyle::metaObject
+24 QWindowsCEStyle::qt_metacast
+32 QWindowsCEStyle::qt_metacall
+40 QWindowsCEStyle::~QWindowsCEStyle
+48 QWindowsCEStyle::~QWindowsCEStyle
+56 QObject::event
+64 QWindowsStyle::eventFilter
+72 QWindowsStyle::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWindowsCEStyle::polish
+120 QWindowsStyle::unpolish
+128 QWindowsCEStyle::polish
+136 QWindowsStyle::unpolish
+144 QWindowsCEStyle::polish
+152 QStyle::itemTextRect
+160 QStyle::itemPixmapRect
+168 QWindowsCEStyle::drawItemText
+176 QStyle::drawItemPixmap
+184 QWindowsCEStyle::standardPalette
+192 QWindowsCEStyle::drawPrimitive
+200 QWindowsCEStyle::drawControl
+208 QWindowsCEStyle::subElementRect
+216 QWindowsCEStyle::drawComplexControl
+224 QWindowsCEStyle::hitTestComplexControl
+232 QWindowsCEStyle::subControlRect
+240 QWindowsCEStyle::pixelMetric
+248 QWindowsCEStyle::sizeFromContents
+256 QWindowsCEStyle::styleHint
+264 QWindowsCEStyle::standardPixmap
+272 QCommonStyle::generatedIconPixmap
+
+Class QWindowsCEStyle
+ size=24 align=8
+ base size=24 base align=8
+QWindowsCEStyle (0x7fea10ae8620) 0
+ vptr=((& QWindowsCEStyle::_ZTV15QWindowsCEStyle) + 16u)
+ QWindowsStyle (0x7fea10ae8690) 0
+ primary-for QWindowsCEStyle (0x7fea10ae8620)
+ QCommonStyle (0x7fea10ae8700) 0
+ primary-for QWindowsStyle (0x7fea10ae8690)
+ QStyle (0x7fea10ae8770) 0
+ primary-for QCommonStyle (0x7fea10ae8700)
+ QObject (0x7fea10ae87e0) 0
+ primary-for QStyle (0x7fea10ae8770)
+
+Vtable for QWindowsMobileStyle
+QWindowsMobileStyle::_ZTV19QWindowsMobileStyle: 35u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QWindowsMobileStyle)
+16 QWindowsMobileStyle::metaObject
+24 QWindowsMobileStyle::qt_metacast
+32 QWindowsMobileStyle::qt_metacall
+40 QWindowsMobileStyle::~QWindowsMobileStyle
+48 QWindowsMobileStyle::~QWindowsMobileStyle
+56 QObject::event
+64 QWindowsStyle::eventFilter
+72 QWindowsStyle::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWindowsMobileStyle::polish
+120 QWindowsMobileStyle::unpolish
+128 QWindowsMobileStyle::polish
+136 QWindowsMobileStyle::unpolish
+144 QWindowsMobileStyle::polish
+152 QStyle::itemTextRect
+160 QStyle::itemPixmapRect
+168 QStyle::drawItemText
+176 QStyle::drawItemPixmap
+184 QWindowsMobileStyle::standardPalette
+192 QWindowsMobileStyle::drawPrimitive
+200 QWindowsMobileStyle::drawControl
+208 QWindowsMobileStyle::subElementRect
+216 QWindowsMobileStyle::drawComplexControl
+224 QCommonStyle::hitTestComplexControl
+232 QWindowsMobileStyle::subControlRect
+240 QWindowsMobileStyle::pixelMetric
+248 QWindowsMobileStyle::sizeFromContents
+256 QWindowsMobileStyle::styleHint
+264 QWindowsMobileStyle::standardPixmap
+272 QWindowsMobileStyle::generatedIconPixmap
+
+Class QWindowsMobileStyle
+ size=24 align=8
+ base size=24 base align=8
+QWindowsMobileStyle (0x7fea108fbd20) 0
+ vptr=((& QWindowsMobileStyle::_ZTV19QWindowsMobileStyle) + 16u)
+ QWindowsStyle (0x7fea108fbd90) 0
+ primary-for QWindowsMobileStyle (0x7fea108fbd20)
+ QCommonStyle (0x7fea108fbe00) 0
+ primary-for QWindowsStyle (0x7fea108fbd90)
+ QStyle (0x7fea108fbe70) 0
+ primary-for QCommonStyle (0x7fea108fbe00)
+ QObject (0x7fea108fbee0) 0
+ primary-for QStyle (0x7fea108fbe70)
+
+Class QStyleFactory
+ size=1 align=1
+ base size=0 base align=1
+QStyleFactory (0x7fea10921690) 0 empty
+
+Vtable for QInputContextFactoryInterface
+QInputContextFactoryInterface::_ZTV29QInputContextFactoryInterface: 9u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI29QInputContextFactoryInterface)
+16 QInputContextFactoryInterface::~QInputContextFactoryInterface
+24 QInputContextFactoryInterface::~QInputContextFactoryInterface
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+48 __cxa_pure_virtual
+56 __cxa_pure_virtual
+64 __cxa_pure_virtual
+
+Class QInputContextFactoryInterface
+ size=8 align=8
+ base size=8 base align=8
+QInputContextFactoryInterface (0x7fea10921700) 0 nearly-empty
+ vptr=((& QInputContextFactoryInterface::_ZTV29QInputContextFactoryInterface) + 16u)
+ QFactoryInterface (0x7fea10921770) 0 nearly-empty
+ primary-for QInputContextFactoryInterface (0x7fea10921700)
+
+Vtable for QInputContextPlugin
+QInputContextPlugin::_ZTV19QInputContextPlugin: 28u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QInputContextPlugin)
+16 QInputContextPlugin::metaObject
+24 QInputContextPlugin::qt_metacast
+32 QInputContextPlugin::qt_metacall
+40 QInputContextPlugin::~QInputContextPlugin
+48 QInputContextPlugin::~QInputContextPlugin
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 __cxa_pure_virtual
+136 __cxa_pure_virtual
+144 __cxa_pure_virtual
+152 (int (*)(...))-0x00000000000000010
+160 (int (*)(...))(& _ZTI19QInputContextPlugin)
+168 QInputContextPlugin::_ZThn16_N19QInputContextPluginD1Ev
+176 QInputContextPlugin::_ZThn16_N19QInputContextPluginD0Ev
+184 __cxa_pure_virtual
+192 __cxa_pure_virtual
+200 __cxa_pure_virtual
+208 __cxa_pure_virtual
+216 __cxa_pure_virtual
+
+Class QInputContextPlugin
+ size=24 align=8
+ base size=24 base align=8
+QInputContextPlugin (0x7fea1091ad80) 0
+ vptr=((& QInputContextPlugin::_ZTV19QInputContextPlugin) + 16u)
+ QObject (0x7fea10921f50) 0
+ primary-for QInputContextPlugin (0x7fea1091ad80)
+ QInputContextFactoryInterface (0x7fea109217e0) 16 nearly-empty
+ vptr=((& QInputContextPlugin::_ZTV19QInputContextPlugin) + 168u)
+ QFactoryInterface (0x7fea1092c000) 16 nearly-empty
+ primary-for QInputContextFactoryInterface (0x7fea109217e0)
+
+Class QInputContextFactory
+ size=1 align=1
+ base size=0 base align=1
+QInputContextFactory (0x7fea1092cee0) 0 empty
+
+Vtable for QInputContext
+QInputContext::_ZTV13QInputContext: 26u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QInputContext)
+16 QInputContext::metaObject
+24 QInputContext::qt_metacast
+32 QInputContext::qt_metacall
+40 QInputContext::~QInputContext
+48 QInputContext::~QInputContext
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 __cxa_pure_virtual
+136 QInputContext::update
+144 QInputContext::mouseHandler
+152 QInputContext::font
+160 __cxa_pure_virtual
+168 QInputContext::setFocusWidget
+176 QInputContext::widgetDestroyed
+184 QInputContext::actions
+192 QInputContext::x11FilterEvent
+200 QInputContext::filterEvent
+
+Class QInputContext
+ size=16 align=8
+ base size=16 base align=8
+QInputContext (0x7fea1092cf50) 0
+ vptr=((& QInputContext::_ZTV13QInputContext) + 16u)
+ QObject (0x7fea1092c2a0) 0
+ primary-for QInputContext (0x7fea1092cf50)
+
+Vtable for QGraphicsItem
+QGraphicsItem::_ZTV13QGraphicsItem: 39u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QGraphicsItem)
+16 QGraphicsItem::~QGraphicsItem
+24 QGraphicsItem::~QGraphicsItem
+32 QGraphicsItem::advance
+40 __cxa_pure_virtual
+48 QGraphicsItem::shape
+56 QGraphicsItem::contains
+64 QGraphicsItem::collidesWithItem
+72 QGraphicsItem::collidesWithPath
+80 QGraphicsItem::isObscuredBy
+88 QGraphicsItem::opaqueArea
+96 __cxa_pure_virtual
+104 QGraphicsItem::type
+112 QGraphicsItem::sceneEventFilter
+120 QGraphicsItem::sceneEvent
+128 QGraphicsItem::contextMenuEvent
+136 QGraphicsItem::dragEnterEvent
+144 QGraphicsItem::dragLeaveEvent
+152 QGraphicsItem::dragMoveEvent
+160 QGraphicsItem::dropEvent
+168 QGraphicsItem::focusInEvent
+176 QGraphicsItem::focusOutEvent
+184 QGraphicsItem::hoverEnterEvent
+192 QGraphicsItem::hoverMoveEvent
+200 QGraphicsItem::hoverLeaveEvent
+208 QGraphicsItem::keyPressEvent
+216 QGraphicsItem::keyReleaseEvent
+224 QGraphicsItem::mousePressEvent
+232 QGraphicsItem::mouseMoveEvent
+240 QGraphicsItem::mouseReleaseEvent
+248 QGraphicsItem::mouseDoubleClickEvent
+256 QGraphicsItem::wheelEvent
+264 QGraphicsItem::inputMethodEvent
+272 QGraphicsItem::inputMethodQuery
+280 QGraphicsItem::itemChange
+288 QGraphicsItem::supportsExtension
+296 QGraphicsItem::setExtension
+304 QGraphicsItem::extension
+
+Class QGraphicsItem
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsItem (0x7fea10954850) 0
+ vptr=((& QGraphicsItem::_ZTV13QGraphicsItem) + 16u)
+
+Vtable for QAbstractGraphicsShapeItem
+QAbstractGraphicsShapeItem::_ZTV26QAbstractGraphicsShapeItem: 39u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI26QAbstractGraphicsShapeItem)
+16 QAbstractGraphicsShapeItem::~QAbstractGraphicsShapeItem
+24 QAbstractGraphicsShapeItem::~QAbstractGraphicsShapeItem
+32 QGraphicsItem::advance
+40 __cxa_pure_virtual
+48 QGraphicsItem::shape
+56 QGraphicsItem::contains
+64 QGraphicsItem::collidesWithItem
+72 QGraphicsItem::collidesWithPath
+80 QAbstractGraphicsShapeItem::isObscuredBy
+88 QAbstractGraphicsShapeItem::opaqueArea
+96 __cxa_pure_virtual
+104 QGraphicsItem::type
+112 QGraphicsItem::sceneEventFilter
+120 QGraphicsItem::sceneEvent
+128 QGraphicsItem::contextMenuEvent
+136 QGraphicsItem::dragEnterEvent
+144 QGraphicsItem::dragLeaveEvent
+152 QGraphicsItem::dragMoveEvent
+160 QGraphicsItem::dropEvent
+168 QGraphicsItem::focusInEvent
+176 QGraphicsItem::focusOutEvent
+184 QGraphicsItem::hoverEnterEvent
+192 QGraphicsItem::hoverMoveEvent
+200 QGraphicsItem::hoverLeaveEvent
+208 QGraphicsItem::keyPressEvent
+216 QGraphicsItem::keyReleaseEvent
+224 QGraphicsItem::mousePressEvent
+232 QGraphicsItem::mouseMoveEvent
+240 QGraphicsItem::mouseReleaseEvent
+248 QGraphicsItem::mouseDoubleClickEvent
+256 QGraphicsItem::wheelEvent
+264 QGraphicsItem::inputMethodEvent
+272 QGraphicsItem::inputMethodQuery
+280 QGraphicsItem::itemChange
+288 QGraphicsItem::supportsExtension
+296 QGraphicsItem::setExtension
+304 QGraphicsItem::extension
+
+Class QAbstractGraphicsShapeItem
+ size=16 align=8
+ base size=16 base align=8
+QAbstractGraphicsShapeItem (0x7fea10827380) 0
+ vptr=((& QAbstractGraphicsShapeItem::_ZTV26QAbstractGraphicsShapeItem) + 16u)
+ QGraphicsItem (0x7fea108273f0) 0
+ primary-for QAbstractGraphicsShapeItem (0x7fea10827380)
+
+Vtable for QGraphicsPathItem
+QGraphicsPathItem::_ZTV17QGraphicsPathItem: 39u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QGraphicsPathItem)
+16 QGraphicsPathItem::~QGraphicsPathItem
+24 QGraphicsPathItem::~QGraphicsPathItem
+32 QGraphicsItem::advance
+40 QGraphicsPathItem::boundingRect
+48 QGraphicsPathItem::shape
+56 QGraphicsPathItem::contains
+64 QGraphicsItem::collidesWithItem
+72 QGraphicsItem::collidesWithPath
+80 QGraphicsPathItem::isObscuredBy
+88 QGraphicsPathItem::opaqueArea
+96 QGraphicsPathItem::paint
+104 QGraphicsPathItem::type
+112 QGraphicsItem::sceneEventFilter
+120 QGraphicsItem::sceneEvent
+128 QGraphicsItem::contextMenuEvent
+136 QGraphicsItem::dragEnterEvent
+144 QGraphicsItem::dragLeaveEvent
+152 QGraphicsItem::dragMoveEvent
+160 QGraphicsItem::dropEvent
+168 QGraphicsItem::focusInEvent
+176 QGraphicsItem::focusOutEvent
+184 QGraphicsItem::hoverEnterEvent
+192 QGraphicsItem::hoverMoveEvent
+200 QGraphicsItem::hoverLeaveEvent
+208 QGraphicsItem::keyPressEvent
+216 QGraphicsItem::keyReleaseEvent
+224 QGraphicsItem::mousePressEvent
+232 QGraphicsItem::mouseMoveEvent
+240 QGraphicsItem::mouseReleaseEvent
+248 QGraphicsItem::mouseDoubleClickEvent
+256 QGraphicsItem::wheelEvent
+264 QGraphicsItem::inputMethodEvent
+272 QGraphicsItem::inputMethodQuery
+280 QGraphicsItem::itemChange
+288 QGraphicsPathItem::supportsExtension
+296 QGraphicsPathItem::setExtension
+304 QGraphicsPathItem::extension
+
+Class QGraphicsPathItem
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsPathItem (0x7fea108321c0) 0
+ vptr=((& QGraphicsPathItem::_ZTV17QGraphicsPathItem) + 16u)
+ QAbstractGraphicsShapeItem (0x7fea10832230) 0
+ primary-for QGraphicsPathItem (0x7fea108321c0)
+ QGraphicsItem (0x7fea108322a0) 0
+ primary-for QAbstractGraphicsShapeItem (0x7fea10832230)
+
+Vtable for QGraphicsRectItem
+QGraphicsRectItem::_ZTV17QGraphicsRectItem: 39u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QGraphicsRectItem)
+16 QGraphicsRectItem::~QGraphicsRectItem
+24 QGraphicsRectItem::~QGraphicsRectItem
+32 QGraphicsItem::advance
+40 QGraphicsRectItem::boundingRect
+48 QGraphicsRectItem::shape
+56 QGraphicsRectItem::contains
+64 QGraphicsItem::collidesWithItem
+72 QGraphicsItem::collidesWithPath
+80 QGraphicsRectItem::isObscuredBy
+88 QGraphicsRectItem::opaqueArea
+96 QGraphicsRectItem::paint
+104 QGraphicsRectItem::type
+112 QGraphicsItem::sceneEventFilter
+120 QGraphicsItem::sceneEvent
+128 QGraphicsItem::contextMenuEvent
+136 QGraphicsItem::dragEnterEvent
+144 QGraphicsItem::dragLeaveEvent
+152 QGraphicsItem::dragMoveEvent
+160 QGraphicsItem::dropEvent
+168 QGraphicsItem::focusInEvent
+176 QGraphicsItem::focusOutEvent
+184 QGraphicsItem::hoverEnterEvent
+192 QGraphicsItem::hoverMoveEvent
+200 QGraphicsItem::hoverLeaveEvent
+208 QGraphicsItem::keyPressEvent
+216 QGraphicsItem::keyReleaseEvent
+224 QGraphicsItem::mousePressEvent
+232 QGraphicsItem::mouseMoveEvent
+240 QGraphicsItem::mouseReleaseEvent
+248 QGraphicsItem::mouseDoubleClickEvent
+256 QGraphicsItem::wheelEvent
+264 QGraphicsItem::inputMethodEvent
+272 QGraphicsItem::inputMethodQuery
+280 QGraphicsItem::itemChange
+288 QGraphicsRectItem::supportsExtension
+296 QGraphicsRectItem::setExtension
+304 QGraphicsRectItem::extension
+
+Class QGraphicsRectItem
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsRectItem (0x7fea10844150) 0
+ vptr=((& QGraphicsRectItem::_ZTV17QGraphicsRectItem) + 16u)
+ QAbstractGraphicsShapeItem (0x7fea108441c0) 0
+ primary-for QGraphicsRectItem (0x7fea10844150)
+ QGraphicsItem (0x7fea10844230) 0
+ primary-for QAbstractGraphicsShapeItem (0x7fea108441c0)
+
+Vtable for QGraphicsEllipseItem
+QGraphicsEllipseItem::_ZTV20QGraphicsEllipseItem: 39u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI20QGraphicsEllipseItem)
+16 QGraphicsEllipseItem::~QGraphicsEllipseItem
+24 QGraphicsEllipseItem::~QGraphicsEllipseItem
+32 QGraphicsItem::advance
+40 QGraphicsEllipseItem::boundingRect
+48 QGraphicsEllipseItem::shape
+56 QGraphicsEllipseItem::contains
+64 QGraphicsItem::collidesWithItem
+72 QGraphicsItem::collidesWithPath
+80 QGraphicsEllipseItem::isObscuredBy
+88 QGraphicsEllipseItem::opaqueArea
+96 QGraphicsEllipseItem::paint
+104 QGraphicsEllipseItem::type
+112 QGraphicsItem::sceneEventFilter
+120 QGraphicsItem::sceneEvent
+128 QGraphicsItem::contextMenuEvent
+136 QGraphicsItem::dragEnterEvent
+144 QGraphicsItem::dragLeaveEvent
+152 QGraphicsItem::dragMoveEvent
+160 QGraphicsItem::dropEvent
+168 QGraphicsItem::focusInEvent
+176 QGraphicsItem::focusOutEvent
+184 QGraphicsItem::hoverEnterEvent
+192 QGraphicsItem::hoverMoveEvent
+200 QGraphicsItem::hoverLeaveEvent
+208 QGraphicsItem::keyPressEvent
+216 QGraphicsItem::keyReleaseEvent
+224 QGraphicsItem::mousePressEvent
+232 QGraphicsItem::mouseMoveEvent
+240 QGraphicsItem::mouseReleaseEvent
+248 QGraphicsItem::mouseDoubleClickEvent
+256 QGraphicsItem::wheelEvent
+264 QGraphicsItem::inputMethodEvent
+272 QGraphicsItem::inputMethodQuery
+280 QGraphicsItem::itemChange
+288 QGraphicsEllipseItem::supportsExtension
+296 QGraphicsEllipseItem::setExtension
+304 QGraphicsEllipseItem::extension
+
+Class QGraphicsEllipseItem
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsEllipseItem (0x7fea10855460) 0
+ vptr=((& QGraphicsEllipseItem::_ZTV20QGraphicsEllipseItem) + 16u)
+ QAbstractGraphicsShapeItem (0x7fea108554d0) 0
+ primary-for QGraphicsEllipseItem (0x7fea10855460)
+ QGraphicsItem (0x7fea10855540) 0
+ primary-for QAbstractGraphicsShapeItem (0x7fea108554d0)
+
+Vtable for QGraphicsPolygonItem
+QGraphicsPolygonItem::_ZTV20QGraphicsPolygonItem: 39u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI20QGraphicsPolygonItem)
+16 QGraphicsPolygonItem::~QGraphicsPolygonItem
+24 QGraphicsPolygonItem::~QGraphicsPolygonItem
+32 QGraphicsItem::advance
+40 QGraphicsPolygonItem::boundingRect
+48 QGraphicsPolygonItem::shape
+56 QGraphicsPolygonItem::contains
+64 QGraphicsItem::collidesWithItem
+72 QGraphicsItem::collidesWithPath
+80 QGraphicsPolygonItem::isObscuredBy
+88 QGraphicsPolygonItem::opaqueArea
+96 QGraphicsPolygonItem::paint
+104 QGraphicsPolygonItem::type
+112 QGraphicsItem::sceneEventFilter
+120 QGraphicsItem::sceneEvent
+128 QGraphicsItem::contextMenuEvent
+136 QGraphicsItem::dragEnterEvent
+144 QGraphicsItem::dragLeaveEvent
+152 QGraphicsItem::dragMoveEvent
+160 QGraphicsItem::dropEvent
+168 QGraphicsItem::focusInEvent
+176 QGraphicsItem::focusOutEvent
+184 QGraphicsItem::hoverEnterEvent
+192 QGraphicsItem::hoverMoveEvent
+200 QGraphicsItem::hoverLeaveEvent
+208 QGraphicsItem::keyPressEvent
+216 QGraphicsItem::keyReleaseEvent
+224 QGraphicsItem::mousePressEvent
+232 QGraphicsItem::mouseMoveEvent
+240 QGraphicsItem::mouseReleaseEvent
+248 QGraphicsItem::mouseDoubleClickEvent
+256 QGraphicsItem::wheelEvent
+264 QGraphicsItem::inputMethodEvent
+272 QGraphicsItem::inputMethodQuery
+280 QGraphicsItem::itemChange
+288 QGraphicsPolygonItem::supportsExtension
+296 QGraphicsPolygonItem::setExtension
+304 QGraphicsPolygonItem::extension
+
+Class QGraphicsPolygonItem
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsPolygonItem (0x7fea10869770) 0
+ vptr=((& QGraphicsPolygonItem::_ZTV20QGraphicsPolygonItem) + 16u)
+ QAbstractGraphicsShapeItem (0x7fea108697e0) 0
+ primary-for QGraphicsPolygonItem (0x7fea10869770)
+ QGraphicsItem (0x7fea10869850) 0
+ primary-for QAbstractGraphicsShapeItem (0x7fea108697e0)
+
+Vtable for QGraphicsLineItem
+QGraphicsLineItem::_ZTV17QGraphicsLineItem: 39u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QGraphicsLineItem)
+16 QGraphicsLineItem::~QGraphicsLineItem
+24 QGraphicsLineItem::~QGraphicsLineItem
+32 QGraphicsItem::advance
+40 QGraphicsLineItem::boundingRect
+48 QGraphicsLineItem::shape
+56 QGraphicsLineItem::contains
+64 QGraphicsItem::collidesWithItem
+72 QGraphicsItem::collidesWithPath
+80 QGraphicsLineItem::isObscuredBy
+88 QGraphicsLineItem::opaqueArea
+96 QGraphicsLineItem::paint
+104 QGraphicsLineItem::type
+112 QGraphicsItem::sceneEventFilter
+120 QGraphicsItem::sceneEvent
+128 QGraphicsItem::contextMenuEvent
+136 QGraphicsItem::dragEnterEvent
+144 QGraphicsItem::dragLeaveEvent
+152 QGraphicsItem::dragMoveEvent
+160 QGraphicsItem::dropEvent
+168 QGraphicsItem::focusInEvent
+176 QGraphicsItem::focusOutEvent
+184 QGraphicsItem::hoverEnterEvent
+192 QGraphicsItem::hoverMoveEvent
+200 QGraphicsItem::hoverLeaveEvent
+208 QGraphicsItem::keyPressEvent
+216 QGraphicsItem::keyReleaseEvent
+224 QGraphicsItem::mousePressEvent
+232 QGraphicsItem::mouseMoveEvent
+240 QGraphicsItem::mouseReleaseEvent
+248 QGraphicsItem::mouseDoubleClickEvent
+256 QGraphicsItem::wheelEvent
+264 QGraphicsItem::inputMethodEvent
+272 QGraphicsItem::inputMethodQuery
+280 QGraphicsItem::itemChange
+288 QGraphicsLineItem::supportsExtension
+296 QGraphicsLineItem::setExtension
+304 QGraphicsLineItem::extension
+
+Class QGraphicsLineItem
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsLineItem (0x7fea10878770) 0
+ vptr=((& QGraphicsLineItem::_ZTV17QGraphicsLineItem) + 16u)
+ QGraphicsItem (0x7fea108787e0) 0
+ primary-for QGraphicsLineItem (0x7fea10878770)
+
+Vtable for QGraphicsPixmapItem
+QGraphicsPixmapItem::_ZTV19QGraphicsPixmapItem: 39u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QGraphicsPixmapItem)
+16 QGraphicsPixmapItem::~QGraphicsPixmapItem
+24 QGraphicsPixmapItem::~QGraphicsPixmapItem
+32 QGraphicsItem::advance
+40 QGraphicsPixmapItem::boundingRect
+48 QGraphicsPixmapItem::shape
+56 QGraphicsPixmapItem::contains
+64 QGraphicsItem::collidesWithItem
+72 QGraphicsItem::collidesWithPath
+80 QGraphicsPixmapItem::isObscuredBy
+88 QGraphicsPixmapItem::opaqueArea
+96 QGraphicsPixmapItem::paint
+104 QGraphicsPixmapItem::type
+112 QGraphicsItem::sceneEventFilter
+120 QGraphicsItem::sceneEvent
+128 QGraphicsItem::contextMenuEvent
+136 QGraphicsItem::dragEnterEvent
+144 QGraphicsItem::dragLeaveEvent
+152 QGraphicsItem::dragMoveEvent
+160 QGraphicsItem::dropEvent
+168 QGraphicsItem::focusInEvent
+176 QGraphicsItem::focusOutEvent
+184 QGraphicsItem::hoverEnterEvent
+192 QGraphicsItem::hoverMoveEvent
+200 QGraphicsItem::hoverLeaveEvent
+208 QGraphicsItem::keyPressEvent
+216 QGraphicsItem::keyReleaseEvent
+224 QGraphicsItem::mousePressEvent
+232 QGraphicsItem::mouseMoveEvent
+240 QGraphicsItem::mouseReleaseEvent
+248 QGraphicsItem::mouseDoubleClickEvent
+256 QGraphicsItem::wheelEvent
+264 QGraphicsItem::inputMethodEvent
+272 QGraphicsItem::inputMethodQuery
+280 QGraphicsItem::itemChange
+288 QGraphicsPixmapItem::supportsExtension
+296 QGraphicsPixmapItem::setExtension
+304 QGraphicsPixmapItem::extension
+
+Class QGraphicsPixmapItem
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsPixmapItem (0x7fea10889a10) 0
+ vptr=((& QGraphicsPixmapItem::_ZTV19QGraphicsPixmapItem) + 16u)
+ QGraphicsItem (0x7fea10889a80) 0
+ primary-for QGraphicsPixmapItem (0x7fea10889a10)
+
+Vtable for QGraphicsTextItem
+QGraphicsTextItem::_ZTV17QGraphicsTextItem: 82u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QGraphicsTextItem)
+16 QGraphicsTextItem::metaObject
+24 QGraphicsTextItem::qt_metacast
+32 QGraphicsTextItem::qt_metacall
+40 QGraphicsTextItem::~QGraphicsTextItem
+48 QGraphicsTextItem::~QGraphicsTextItem
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QGraphicsTextItem::boundingRect
+120 QGraphicsTextItem::shape
+128 QGraphicsTextItem::contains
+136 QGraphicsTextItem::paint
+144 QGraphicsTextItem::isObscuredBy
+152 QGraphicsTextItem::opaqueArea
+160 QGraphicsTextItem::type
+168 QGraphicsTextItem::sceneEvent
+176 QGraphicsTextItem::mousePressEvent
+184 QGraphicsTextItem::mouseMoveEvent
+192 QGraphicsTextItem::mouseReleaseEvent
+200 QGraphicsTextItem::mouseDoubleClickEvent
+208 QGraphicsTextItem::contextMenuEvent
+216 QGraphicsTextItem::keyPressEvent
+224 QGraphicsTextItem::keyReleaseEvent
+232 QGraphicsTextItem::focusInEvent
+240 QGraphicsTextItem::focusOutEvent
+248 QGraphicsTextItem::dragEnterEvent
+256 QGraphicsTextItem::dragLeaveEvent
+264 QGraphicsTextItem::dragMoveEvent
+272 QGraphicsTextItem::dropEvent
+280 QGraphicsTextItem::inputMethodEvent
+288 QGraphicsTextItem::hoverEnterEvent
+296 QGraphicsTextItem::hoverMoveEvent
+304 QGraphicsTextItem::hoverLeaveEvent
+312 QGraphicsTextItem::inputMethodQuery
+320 QGraphicsTextItem::supportsExtension
+328 QGraphicsTextItem::setExtension
+336 QGraphicsTextItem::extension
+344 (int (*)(...))-0x00000000000000010
+352 (int (*)(...))(& _ZTI17QGraphicsTextItem)
+360 QGraphicsTextItem::_ZThn16_N17QGraphicsTextItemD1Ev
+368 QGraphicsTextItem::_ZThn16_N17QGraphicsTextItemD0Ev
+376 QGraphicsItem::advance
+384 QGraphicsTextItem::_ZThn16_NK17QGraphicsTextItem12boundingRectEv
+392 QGraphicsTextItem::_ZThn16_NK17QGraphicsTextItem5shapeEv
+400 QGraphicsTextItem::_ZThn16_NK17QGraphicsTextItem8containsERK7QPointF
+408 QGraphicsItem::collidesWithItem
+416 QGraphicsItem::collidesWithPath
+424 QGraphicsTextItem::_ZThn16_NK17QGraphicsTextItem12isObscuredByEPK13QGraphicsItem
+432 QGraphicsTextItem::_ZThn16_NK17QGraphicsTextItem10opaqueAreaEv
+440 QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem5paintEP8QPainterPK24QStyleOptionGraphicsItemP7QWidget
+448 QGraphicsTextItem::_ZThn16_NK17QGraphicsTextItem4typeEv
+456 QGraphicsItem::sceneEventFilter
+464 QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem10sceneEventEP6QEvent
+472 QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem16contextMenuEventEP30QGraphicsSceneContextMenuEvent
+480 QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem14dragEnterEventEP27QGraphicsSceneDragDropEvent
+488 QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem14dragLeaveEventEP27QGraphicsSceneDragDropEvent
+496 QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem13dragMoveEventEP27QGraphicsSceneDragDropEvent
+504 QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem9dropEventEP27QGraphicsSceneDragDropEvent
+512 QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem12focusInEventEP11QFocusEvent
+520 QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem13focusOutEventEP11QFocusEvent
+528 QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem15hoverEnterEventEP24QGraphicsSceneHoverEvent
+536 QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem14hoverMoveEventEP24QGraphicsSceneHoverEvent
+544 QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem15hoverLeaveEventEP24QGraphicsSceneHoverEvent
+552 QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem13keyPressEventEP9QKeyEvent
+560 QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem15keyReleaseEventEP9QKeyEvent
+568 QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem15mousePressEventEP24QGraphicsSceneMouseEvent
+576 QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem14mouseMoveEventEP24QGraphicsSceneMouseEvent
+584 QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem17mouseReleaseEventEP24QGraphicsSceneMouseEvent
+592 QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem21mouseDoubleClickEventEP24QGraphicsSceneMouseEvent
+600 QGraphicsItem::wheelEvent
+608 QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem16inputMethodEventEP17QInputMethodEvent
+616 QGraphicsTextItem::_ZThn16_NK17QGraphicsTextItem16inputMethodQueryEN2Qt16InputMethodQueryE
+624 QGraphicsItem::itemChange
+632 QGraphicsTextItem::_ZThn16_NK17QGraphicsTextItem17supportsExtensionEN13QGraphicsItem9ExtensionE
+640 QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem12setExtensionEN13QGraphicsItem9ExtensionERK8QVariant
+648 QGraphicsTextItem::_ZThn16_NK17QGraphicsTextItem9extensionERK8QVariant
+
+Class QGraphicsTextItem
+ size=40 align=8
+ base size=40 base align=8
+QGraphicsTextItem (0x7fea1086af80) 0
+ vptr=((& QGraphicsTextItem::_ZTV17QGraphicsTextItem) + 16u)
+ QObject (0x7fea1089ac40) 0
+ primary-for QGraphicsTextItem (0x7fea1086af80)
+ QGraphicsItem (0x7fea1089acb0) 16
+ vptr=((& QGraphicsTextItem::_ZTV17QGraphicsTextItem) + 360u)
+
+Vtable for QGraphicsSimpleTextItem
+QGraphicsSimpleTextItem::_ZTV23QGraphicsSimpleTextItem: 39u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI23QGraphicsSimpleTextItem)
+16 QGraphicsSimpleTextItem::~QGraphicsSimpleTextItem
+24 QGraphicsSimpleTextItem::~QGraphicsSimpleTextItem
+32 QGraphicsItem::advance
+40 QGraphicsSimpleTextItem::boundingRect
+48 QGraphicsSimpleTextItem::shape
+56 QGraphicsSimpleTextItem::contains
+64 QGraphicsItem::collidesWithItem
+72 QGraphicsItem::collidesWithPath
+80 QGraphicsSimpleTextItem::isObscuredBy
+88 QGraphicsSimpleTextItem::opaqueArea
+96 QGraphicsSimpleTextItem::paint
+104 QGraphicsSimpleTextItem::type
+112 QGraphicsItem::sceneEventFilter
+120 QGraphicsItem::sceneEvent
+128 QGraphicsItem::contextMenuEvent
+136 QGraphicsItem::dragEnterEvent
+144 QGraphicsItem::dragLeaveEvent
+152 QGraphicsItem::dragMoveEvent
+160 QGraphicsItem::dropEvent
+168 QGraphicsItem::focusInEvent
+176 QGraphicsItem::focusOutEvent
+184 QGraphicsItem::hoverEnterEvent
+192 QGraphicsItem::hoverMoveEvent
+200 QGraphicsItem::hoverLeaveEvent
+208 QGraphicsItem::keyPressEvent
+216 QGraphicsItem::keyReleaseEvent
+224 QGraphicsItem::mousePressEvent
+232 QGraphicsItem::mouseMoveEvent
+240 QGraphicsItem::mouseReleaseEvent
+248 QGraphicsItem::mouseDoubleClickEvent
+256 QGraphicsItem::wheelEvent
+264 QGraphicsItem::inputMethodEvent
+272 QGraphicsItem::inputMethodQuery
+280 QGraphicsItem::itemChange
+288 QGraphicsSimpleTextItem::supportsExtension
+296 QGraphicsSimpleTextItem::setExtension
+304 QGraphicsSimpleTextItem::extension
+
+Class QGraphicsSimpleTextItem
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsSimpleTextItem (0x7fea108d31c0) 0
+ vptr=((& QGraphicsSimpleTextItem::_ZTV23QGraphicsSimpleTextItem) + 16u)
+ QAbstractGraphicsShapeItem (0x7fea108d3230) 0
+ primary-for QGraphicsSimpleTextItem (0x7fea108d31c0)
+ QGraphicsItem (0x7fea108d32a0) 0
+ primary-for QAbstractGraphicsShapeItem (0x7fea108d3230)
+
+Vtable for QGraphicsItemGroup
+QGraphicsItemGroup::_ZTV18QGraphicsItemGroup: 39u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QGraphicsItemGroup)
+16 QGraphicsItemGroup::~QGraphicsItemGroup
+24 QGraphicsItemGroup::~QGraphicsItemGroup
+32 QGraphicsItem::advance
+40 QGraphicsItemGroup::boundingRect
+48 QGraphicsItem::shape
+56 QGraphicsItem::contains
+64 QGraphicsItem::collidesWithItem
+72 QGraphicsItem::collidesWithPath
+80 QGraphicsItemGroup::isObscuredBy
+88 QGraphicsItemGroup::opaqueArea
+96 QGraphicsItemGroup::paint
+104 QGraphicsItemGroup::type
+112 QGraphicsItem::sceneEventFilter
+120 QGraphicsItem::sceneEvent
+128 QGraphicsItem::contextMenuEvent
+136 QGraphicsItem::dragEnterEvent
+144 QGraphicsItem::dragLeaveEvent
+152 QGraphicsItem::dragMoveEvent
+160 QGraphicsItem::dropEvent
+168 QGraphicsItem::focusInEvent
+176 QGraphicsItem::focusOutEvent
+184 QGraphicsItem::hoverEnterEvent
+192 QGraphicsItem::hoverMoveEvent
+200 QGraphicsItem::hoverLeaveEvent
+208 QGraphicsItem::keyPressEvent
+216 QGraphicsItem::keyReleaseEvent
+224 QGraphicsItem::mousePressEvent
+232 QGraphicsItem::mouseMoveEvent
+240 QGraphicsItem::mouseReleaseEvent
+248 QGraphicsItem::mouseDoubleClickEvent
+256 QGraphicsItem::wheelEvent
+264 QGraphicsItem::inputMethodEvent
+272 QGraphicsItem::inputMethodQuery
+280 QGraphicsItem::itemChange
+288 QGraphicsItem::supportsExtension
+296 QGraphicsItem::setExtension
+304 QGraphicsItem::extension
+
+Class QGraphicsItemGroup
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsItemGroup (0x7fea108e3150) 0
+ vptr=((& QGraphicsItemGroup::_ZTV18QGraphicsItemGroup) + 16u)
+ QGraphicsItem (0x7fea108e31c0) 0
+ primary-for QGraphicsItemGroup (0x7fea108e3150)
+
+Vtable for QGraphicsLayoutItem
+QGraphicsLayoutItem::_ZTV19QGraphicsLayoutItem: 8u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QGraphicsLayoutItem)
+16 QGraphicsLayoutItem::~QGraphicsLayoutItem
+24 QGraphicsLayoutItem::~QGraphicsLayoutItem
+32 QGraphicsLayoutItem::setGeometry
+40 QGraphicsLayoutItem::getContentsMargins
+48 QGraphicsLayoutItem::updateGeometry
+56 __cxa_pure_virtual
+
+Class QGraphicsLayoutItem
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsLayoutItem (0x7fea108f1a80) 0
+ vptr=((& QGraphicsLayoutItem::_ZTV19QGraphicsLayoutItem) + 16u)
+
+Vtable for QGraphicsLayout
+QGraphicsLayout::_ZTV15QGraphicsLayout: 13u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QGraphicsLayout)
+16 QGraphicsLayout::~QGraphicsLayout
+24 QGraphicsLayout::~QGraphicsLayout
+32 QGraphicsLayoutItem::setGeometry
+40 QGraphicsLayout::getContentsMargins
+48 QGraphicsLayout::updateGeometry
+56 __cxa_pure_virtual
+64 QGraphicsLayout::invalidate
+72 QGraphicsLayout::widgetEvent
+80 __cxa_pure_virtual
+88 __cxa_pure_virtual
+96 __cxa_pure_virtual
+
+Class QGraphicsLayout
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsLayout (0x7fea1071f7e0) 0
+ vptr=((& QGraphicsLayout::_ZTV15QGraphicsLayout) + 16u)
+ QGraphicsLayoutItem (0x7fea1071f850) 0
+ primary-for QGraphicsLayout (0x7fea1071f7e0)
+
+Vtable for QGraphicsScene
+QGraphicsScene::_ZTV14QGraphicsScene: 34u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QGraphicsScene)
+16 QGraphicsScene::metaObject
+24 QGraphicsScene::qt_metacast
+32 QGraphicsScene::qt_metacall
+40 QGraphicsScene::~QGraphicsScene
+48 QGraphicsScene::~QGraphicsScene
+56 QGraphicsScene::event
+64 QGraphicsScene::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QGraphicsScene::inputMethodQuery
+120 QGraphicsScene::contextMenuEvent
+128 QGraphicsScene::dragEnterEvent
+136 QGraphicsScene::dragMoveEvent
+144 QGraphicsScene::dragLeaveEvent
+152 QGraphicsScene::dropEvent
+160 QGraphicsScene::focusInEvent
+168 QGraphicsScene::focusOutEvent
+176 QGraphicsScene::helpEvent
+184 QGraphicsScene::keyPressEvent
+192 QGraphicsScene::keyReleaseEvent
+200 QGraphicsScene::mousePressEvent
+208 QGraphicsScene::mouseMoveEvent
+216 QGraphicsScene::mouseReleaseEvent
+224 QGraphicsScene::mouseDoubleClickEvent
+232 QGraphicsScene::wheelEvent
+240 QGraphicsScene::inputMethodEvent
+248 QGraphicsScene::drawBackground
+256 QGraphicsScene::drawForeground
+264 QGraphicsScene::drawItems
+
+Class QGraphicsScene
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsScene (0x7fea1072c700) 0
+ vptr=((& QGraphicsScene::_ZTV14QGraphicsScene) + 16u)
+ QObject (0x7fea1072c770) 0
+ primary-for QGraphicsScene (0x7fea1072c700)
+
+Vtable for QGraphicsLinearLayout
+QGraphicsLinearLayout::_ZTV21QGraphicsLinearLayout: 13u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI21QGraphicsLinearLayout)
+16 QGraphicsLinearLayout::~QGraphicsLinearLayout
+24 QGraphicsLinearLayout::~QGraphicsLinearLayout
+32 QGraphicsLinearLayout::setGeometry
+40 QGraphicsLayout::getContentsMargins
+48 QGraphicsLayout::updateGeometry
+56 QGraphicsLinearLayout::sizeHint
+64 QGraphicsLinearLayout::invalidate
+72 QGraphicsLayout::widgetEvent
+80 QGraphicsLinearLayout::count
+88 QGraphicsLinearLayout::itemAt
+96 QGraphicsLinearLayout::removeAt
+
+Class QGraphicsLinearLayout
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsLinearLayout (0x7fea107d2d20) 0
+ vptr=((& QGraphicsLinearLayout::_ZTV21QGraphicsLinearLayout) + 16u)
+ QGraphicsLayout (0x7fea107d2d90) 0
+ primary-for QGraphicsLinearLayout (0x7fea107d2d20)
+ QGraphicsLayoutItem (0x7fea107d2e00) 0
+ primary-for QGraphicsLayout (0x7fea107d2d90)
+
+Vtable for QScrollArea
+QScrollArea::_ZTV11QScrollArea: 65u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QScrollArea)
+16 QScrollArea::metaObject
+24 QScrollArea::qt_metacast
+32 QScrollArea::qt_metacall
+40 QScrollArea::~QScrollArea
+48 QScrollArea::~QScrollArea
+56 QScrollArea::event
+64 QScrollArea::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QScrollArea::sizeHint
+136 QAbstractScrollArea::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QAbstractScrollArea::mousePressEvent
+168 QAbstractScrollArea::mouseReleaseEvent
+176 QAbstractScrollArea::mouseDoubleClickEvent
+184 QAbstractScrollArea::mouseMoveEvent
+192 QAbstractScrollArea::wheelEvent
+200 QAbstractScrollArea::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QAbstractScrollArea::paintEvent
+256 QWidget::moveEvent
+264 QScrollArea::resizeEvent
+272 QWidget::closeEvent
+280 QAbstractScrollArea::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QAbstractScrollArea::dragEnterEvent
+312 QAbstractScrollArea::dragMoveEvent
+320 QAbstractScrollArea::dragLeaveEvent
+328 QAbstractScrollArea::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QFrame::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QScrollArea::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QAbstractScrollArea::viewportEvent
+456 QScrollArea::scrollContentsBy
+464 (int (*)(...))-0x00000000000000010
+472 (int (*)(...))(& _ZTI11QScrollArea)
+480 QScrollArea::_ZThn16_N11QScrollAreaD1Ev
+488 QScrollArea::_ZThn16_N11QScrollAreaD0Ev
+496 QWidget::_ZThn16_NK7QWidget7devTypeEv
+504 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+512 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QScrollArea
+ size=40 align=8
+ base size=40 base align=8
+QScrollArea (0x7fea105ff540) 0
+ vptr=((& QScrollArea::_ZTV11QScrollArea) + 16u)
+ QAbstractScrollArea (0x7fea105ff5b0) 0
+ primary-for QScrollArea (0x7fea105ff540)
+ QFrame (0x7fea105ff620) 0
+ primary-for QAbstractScrollArea (0x7fea105ff5b0)
+ QWidget (0x7fea107d1880) 0
+ primary-for QFrame (0x7fea105ff620)
+ QObject (0x7fea105ff690) 0
+ primary-for QWidget (0x7fea107d1880)
+ QPaintDevice (0x7fea105ff700) 16
+ vptr=((& QScrollArea::_ZTV11QScrollArea) + 480u)
+
+Vtable for QGraphicsView
+QGraphicsView::_ZTV13QGraphicsView: 68u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QGraphicsView)
+16 QGraphicsView::metaObject
+24 QGraphicsView::qt_metacast
+32 QGraphicsView::qt_metacall
+40 QGraphicsView::~QGraphicsView
+48 QGraphicsView::~QGraphicsView
+56 QGraphicsView::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QGraphicsView::sizeHint
+136 QAbstractScrollArea::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QGraphicsView::mousePressEvent
+168 QGraphicsView::mouseReleaseEvent
+176 QGraphicsView::mouseDoubleClickEvent
+184 QGraphicsView::mouseMoveEvent
+192 QGraphicsView::wheelEvent
+200 QGraphicsView::keyPressEvent
+208 QGraphicsView::keyReleaseEvent
+216 QGraphicsView::focusInEvent
+224 QGraphicsView::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QGraphicsView::paintEvent
+256 QWidget::moveEvent
+264 QGraphicsView::resizeEvent
+272 QWidget::closeEvent
+280 QGraphicsView::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QGraphicsView::dragEnterEvent
+312 QGraphicsView::dragMoveEvent
+320 QGraphicsView::dragLeaveEvent
+328 QGraphicsView::dropEvent
+336 QGraphicsView::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QFrame::changeEvent
+368 QWidget::metric
+376 QGraphicsView::inputMethodEvent
+384 QGraphicsView::inputMethodQuery
+392 QGraphicsView::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QGraphicsView::viewportEvent
+456 QGraphicsView::scrollContentsBy
+464 QGraphicsView::drawBackground
+472 QGraphicsView::drawForeground
+480 QGraphicsView::drawItems
+488 (int (*)(...))-0x00000000000000010
+496 (int (*)(...))(& _ZTI13QGraphicsView)
+504 QGraphicsView::_ZThn16_N13QGraphicsViewD1Ev
+512 QGraphicsView::_ZThn16_N13QGraphicsViewD0Ev
+520 QWidget::_ZThn16_NK7QWidget7devTypeEv
+528 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+536 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QGraphicsView
+ size=40 align=8
+ base size=40 base align=8
+QGraphicsView (0x7fea1061f460) 0
+ vptr=((& QGraphicsView::_ZTV13QGraphicsView) + 16u)
+ QAbstractScrollArea (0x7fea1061f4d0) 0
+ primary-for QGraphicsView (0x7fea1061f460)
+ QFrame (0x7fea1061f540) 0
+ primary-for QAbstractScrollArea (0x7fea1061f4d0)
+ QWidget (0x7fea1061e180) 0
+ primary-for QFrame (0x7fea1061f540)
+ QObject (0x7fea1061f5b0) 0
+ primary-for QWidget (0x7fea1061e180)
+ QPaintDevice (0x7fea1061f620) 16
+ vptr=((& QGraphicsView::_ZTV13QGraphicsView) + 504u)
+
+Vtable for QGraphicsWidget
+QGraphicsWidget::_ZTV15QGraphicsWidget: 92u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QGraphicsWidget)
+16 QGraphicsWidget::metaObject
+24 QGraphicsWidget::qt_metacast
+32 QGraphicsWidget::qt_metacall
+40 QGraphicsWidget::~QGraphicsWidget
+48 QGraphicsWidget::~QGraphicsWidget
+56 QGraphicsWidget::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QGraphicsWidget::setGeometry
+120 QGraphicsWidget::getContentsMargins
+128 QGraphicsWidget::type
+136 QGraphicsWidget::paint
+144 QGraphicsWidget::paintWindowFrame
+152 QGraphicsWidget::boundingRect
+160 QGraphicsWidget::shape
+168 QGraphicsWidget::initStyleOption
+176 QGraphicsWidget::sizeHint
+184 QGraphicsWidget::updateGeometry
+192 QGraphicsWidget::itemChange
+200 QGraphicsWidget::propertyChange
+208 QGraphicsWidget::sceneEvent
+216 QGraphicsWidget::windowFrameEvent
+224 QGraphicsWidget::windowFrameSectionAt
+232 QGraphicsWidget::changeEvent
+240 QGraphicsWidget::closeEvent
+248 QGraphicsWidget::focusInEvent
+256 QGraphicsWidget::focusNextPrevChild
+264 QGraphicsWidget::focusOutEvent
+272 QGraphicsWidget::hideEvent
+280 QGraphicsWidget::moveEvent
+288 QGraphicsWidget::polishEvent
+296 QGraphicsWidget::resizeEvent
+304 QGraphicsWidget::showEvent
+312 QGraphicsWidget::hoverMoveEvent
+320 QGraphicsWidget::hoverLeaveEvent
+328 QGraphicsWidget::grabMouseEvent
+336 QGraphicsWidget::ungrabMouseEvent
+344 QGraphicsWidget::grabKeyboardEvent
+352 QGraphicsWidget::ungrabKeyboardEvent
+360 (int (*)(...))-0x00000000000000010
+368 (int (*)(...))(& _ZTI15QGraphicsWidget)
+376 QGraphicsWidget::_ZThn16_N15QGraphicsWidgetD1Ev
+384 QGraphicsWidget::_ZThn16_N15QGraphicsWidgetD0Ev
+392 QGraphicsItem::advance
+400 QGraphicsWidget::_ZThn16_NK15QGraphicsWidget12boundingRectEv
+408 QGraphicsWidget::_ZThn16_NK15QGraphicsWidget5shapeEv
+416 QGraphicsItem::contains
+424 QGraphicsItem::collidesWithItem
+432 QGraphicsItem::collidesWithPath
+440 QGraphicsItem::isObscuredBy
+448 QGraphicsItem::opaqueArea
+456 QGraphicsWidget::_ZThn16_N15QGraphicsWidget5paintEP8QPainterPK24QStyleOptionGraphicsItemP7QWidget
+464 QGraphicsWidget::_ZThn16_NK15QGraphicsWidget4typeEv
+472 QGraphicsItem::sceneEventFilter
+480 QGraphicsWidget::_ZThn16_N15QGraphicsWidget10sceneEventEP6QEvent
+488 QGraphicsItem::contextMenuEvent
+496 QGraphicsItem::dragEnterEvent
+504 QGraphicsItem::dragLeaveEvent
+512 QGraphicsItem::dragMoveEvent
+520 QGraphicsItem::dropEvent
+528 QGraphicsWidget::_ZThn16_N15QGraphicsWidget12focusInEventEP11QFocusEvent
+536 QGraphicsWidget::_ZThn16_N15QGraphicsWidget13focusOutEventEP11QFocusEvent
+544 QGraphicsItem::hoverEnterEvent
+552 QGraphicsWidget::_ZThn16_N15QGraphicsWidget14hoverMoveEventEP24QGraphicsSceneHoverEvent
+560 QGraphicsWidget::_ZThn16_N15QGraphicsWidget15hoverLeaveEventEP24QGraphicsSceneHoverEvent
+568 QGraphicsItem::keyPressEvent
+576 QGraphicsItem::keyReleaseEvent
+584 QGraphicsItem::mousePressEvent
+592 QGraphicsItem::mouseMoveEvent
+600 QGraphicsItem::mouseReleaseEvent
+608 QGraphicsItem::mouseDoubleClickEvent
+616 QGraphicsItem::wheelEvent
+624 QGraphicsItem::inputMethodEvent
+632 QGraphicsItem::inputMethodQuery
+640 QGraphicsWidget::_ZThn16_N15QGraphicsWidget10itemChangeEN13QGraphicsItem18GraphicsItemChangeERK8QVariant
+648 QGraphicsItem::supportsExtension
+656 QGraphicsItem::setExtension
+664 QGraphicsItem::extension
+672 (int (*)(...))-0x00000000000000020
+680 (int (*)(...))(& _ZTI15QGraphicsWidget)
+688 QGraphicsWidget::_ZThn32_N15QGraphicsWidgetD1Ev
+696 QGraphicsWidget::_ZThn32_N15QGraphicsWidgetD0Ev
+704 QGraphicsWidget::_ZThn32_N15QGraphicsWidget11setGeometryERK6QRectF
+712 QGraphicsWidget::_ZThn32_NK15QGraphicsWidget18getContentsMarginsEPdS0_S0_S0_
+720 QGraphicsWidget::_ZThn32_N15QGraphicsWidget14updateGeometryEv
+728 QGraphicsWidget::_ZThn32_NK15QGraphicsWidget8sizeHintEN2Qt8SizeHintERK6QSizeF
+
+Class QGraphicsWidget
+ size=48 align=8
+ base size=48 base align=8
+QGraphicsWidget (0x7fea104f8d00) 0
+ vptr=((& QGraphicsWidget::_ZTV15QGraphicsWidget) + 16u)
+ QObject (0x7fea10504930) 0
+ primary-for QGraphicsWidget (0x7fea104f8d00)
+ QGraphicsItem (0x7fea105049a0) 16
+ vptr=((& QGraphicsWidget::_ZTV15QGraphicsWidget) + 376u)
+ QGraphicsLayoutItem (0x7fea10504a10) 32
+ vptr=((& QGraphicsWidget::_ZTV15QGraphicsWidget) + 688u)
+
+Vtable for QGraphicsProxyWidget
+QGraphicsProxyWidget::_ZTV20QGraphicsProxyWidget: 105u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI20QGraphicsProxyWidget)
+16 QGraphicsProxyWidget::metaObject
+24 QGraphicsProxyWidget::qt_metacast
+32 QGraphicsProxyWidget::qt_metacall
+40 QGraphicsProxyWidget::~QGraphicsProxyWidget
+48 QGraphicsProxyWidget::~QGraphicsProxyWidget
+56 QGraphicsProxyWidget::event
+64 QGraphicsProxyWidget::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QGraphicsProxyWidget::setGeometry
+120 QGraphicsWidget::getContentsMargins
+128 QGraphicsProxyWidget::type
+136 QGraphicsProxyWidget::paint
+144 QGraphicsWidget::paintWindowFrame
+152 QGraphicsWidget::boundingRect
+160 QGraphicsWidget::shape
+168 QGraphicsWidget::initStyleOption
+176 QGraphicsProxyWidget::sizeHint
+184 QGraphicsWidget::updateGeometry
+192 QGraphicsProxyWidget::itemChange
+200 QGraphicsWidget::propertyChange
+208 QGraphicsWidget::sceneEvent
+216 QGraphicsWidget::windowFrameEvent
+224 QGraphicsWidget::windowFrameSectionAt
+232 QGraphicsWidget::changeEvent
+240 QGraphicsWidget::closeEvent
+248 QGraphicsProxyWidget::focusInEvent
+256 QGraphicsProxyWidget::focusNextPrevChild
+264 QGraphicsProxyWidget::focusOutEvent
+272 QGraphicsProxyWidget::hideEvent
+280 QGraphicsWidget::moveEvent
+288 QGraphicsWidget::polishEvent
+296 QGraphicsProxyWidget::resizeEvent
+304 QGraphicsProxyWidget::showEvent
+312 QGraphicsProxyWidget::hoverMoveEvent
+320 QGraphicsProxyWidget::hoverLeaveEvent
+328 QGraphicsProxyWidget::grabMouseEvent
+336 QGraphicsProxyWidget::ungrabMouseEvent
+344 QGraphicsWidget::grabKeyboardEvent
+352 QGraphicsWidget::ungrabKeyboardEvent
+360 QGraphicsProxyWidget::contextMenuEvent
+368 QGraphicsProxyWidget::dragEnterEvent
+376 QGraphicsProxyWidget::dragLeaveEvent
+384 QGraphicsProxyWidget::dragMoveEvent
+392 QGraphicsProxyWidget::dropEvent
+400 QGraphicsProxyWidget::hoverEnterEvent
+408 QGraphicsProxyWidget::mouseMoveEvent
+416 QGraphicsProxyWidget::mousePressEvent
+424 QGraphicsProxyWidget::mouseReleaseEvent
+432 QGraphicsProxyWidget::mouseDoubleClickEvent
+440 QGraphicsProxyWidget::wheelEvent
+448 QGraphicsProxyWidget::keyPressEvent
+456 QGraphicsProxyWidget::keyReleaseEvent
+464 (int (*)(...))-0x00000000000000010
+472 (int (*)(...))(& _ZTI20QGraphicsProxyWidget)
+480 QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidgetD1Ev
+488 QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidgetD0Ev
+496 QGraphicsItem::advance
+504 QGraphicsWidget::_ZThn16_NK15QGraphicsWidget12boundingRectEv
+512 QGraphicsWidget::_ZThn16_NK15QGraphicsWidget5shapeEv
+520 QGraphicsItem::contains
+528 QGraphicsItem::collidesWithItem
+536 QGraphicsItem::collidesWithPath
+544 QGraphicsItem::isObscuredBy
+552 QGraphicsItem::opaqueArea
+560 QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget5paintEP8QPainterPK24QStyleOptionGraphicsItemP7QWidget
+568 QGraphicsProxyWidget::_ZThn16_NK20QGraphicsProxyWidget4typeEv
+576 QGraphicsItem::sceneEventFilter
+584 QGraphicsWidget::_ZThn16_N15QGraphicsWidget10sceneEventEP6QEvent
+592 QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget16contextMenuEventEP30QGraphicsSceneContextMenuEvent
+600 QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget14dragEnterEventEP27QGraphicsSceneDragDropEvent
+608 QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget14dragLeaveEventEP27QGraphicsSceneDragDropEvent
+616 QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget13dragMoveEventEP27QGraphicsSceneDragDropEvent
+624 QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget9dropEventEP27QGraphicsSceneDragDropEvent
+632 QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget12focusInEventEP11QFocusEvent
+640 QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget13focusOutEventEP11QFocusEvent
+648 QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget15hoverEnterEventEP24QGraphicsSceneHoverEvent
+656 QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget14hoverMoveEventEP24QGraphicsSceneHoverEvent
+664 QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget15hoverLeaveEventEP24QGraphicsSceneHoverEvent
+672 QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget13keyPressEventEP9QKeyEvent
+680 QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget15keyReleaseEventEP9QKeyEvent
+688 QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget15mousePressEventEP24QGraphicsSceneMouseEvent
+696 QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget14mouseMoveEventEP24QGraphicsSceneMouseEvent
+704 QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget17mouseReleaseEventEP24QGraphicsSceneMouseEvent
+712 QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget21mouseDoubleClickEventEP24QGraphicsSceneMouseEvent
+720 QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget10wheelEventEP24QGraphicsSceneWheelEvent
+728 QGraphicsItem::inputMethodEvent
+736 QGraphicsItem::inputMethodQuery
+744 QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget10itemChangeEN13QGraphicsItem18GraphicsItemChangeERK8QVariant
+752 QGraphicsItem::supportsExtension
+760 QGraphicsItem::setExtension
+768 QGraphicsItem::extension
+776 (int (*)(...))-0x00000000000000020
+784 (int (*)(...))(& _ZTI20QGraphicsProxyWidget)
+792 QGraphicsProxyWidget::_ZThn32_N20QGraphicsProxyWidgetD1Ev
+800 QGraphicsProxyWidget::_ZThn32_N20QGraphicsProxyWidgetD0Ev
+808 QGraphicsProxyWidget::_ZThn32_N20QGraphicsProxyWidget11setGeometryERK6QRectF
+816 QGraphicsWidget::_ZThn32_NK15QGraphicsWidget18getContentsMarginsEPdS0_S0_S0_
+824 QGraphicsWidget::_ZThn32_N15QGraphicsWidget14updateGeometryEv
+832 QGraphicsProxyWidget::_ZThn32_NK20QGraphicsProxyWidget8sizeHintEN2Qt8SizeHintERK6QSizeF
+
+Class QGraphicsProxyWidget
+ size=48 align=8
+ base size=48 base align=8
+QGraphicsProxyWidget (0x7fea1054b1c0) 0
+ vptr=((& QGraphicsProxyWidget::_ZTV20QGraphicsProxyWidget) + 16u)
+ QGraphicsWidget (0x7fea1053bb80) 0
+ primary-for QGraphicsProxyWidget (0x7fea1054b1c0)
+ QObject (0x7fea1054b230) 0
+ primary-for QGraphicsWidget (0x7fea1053bb80)
+ QGraphicsItem (0x7fea1054b2a0) 16
+ vptr=((& QGraphicsProxyWidget::_ZTV20QGraphicsProxyWidget) + 480u)
+ QGraphicsLayoutItem (0x7fea1054b310) 32
+ vptr=((& QGraphicsProxyWidget::_ZTV20QGraphicsProxyWidget) + 792u)
+
+Vtable for QGraphicsSceneEvent
+QGraphicsSceneEvent::_ZTV19QGraphicsSceneEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QGraphicsSceneEvent)
+16 QGraphicsSceneEvent::~QGraphicsSceneEvent
+24 QGraphicsSceneEvent::~QGraphicsSceneEvent
+
+Class QGraphicsSceneEvent
+ size=32 align=8
+ base size=32 base align=8
+QGraphicsSceneEvent (0x7fea10577230) 0
+ vptr=((& QGraphicsSceneEvent::_ZTV19QGraphicsSceneEvent) + 16u)
+ QEvent (0x7fea105772a0) 0
+ primary-for QGraphicsSceneEvent (0x7fea10577230)
+
+Vtable for QGraphicsSceneMouseEvent
+QGraphicsSceneMouseEvent::_ZTV24QGraphicsSceneMouseEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI24QGraphicsSceneMouseEvent)
+16 QGraphicsSceneMouseEvent::~QGraphicsSceneMouseEvent
+24 QGraphicsSceneMouseEvent::~QGraphicsSceneMouseEvent
+
+Class QGraphicsSceneMouseEvent
+ size=32 align=8
+ base size=32 base align=8
+QGraphicsSceneMouseEvent (0x7fea10577b60) 0
+ vptr=((& QGraphicsSceneMouseEvent::_ZTV24QGraphicsSceneMouseEvent) + 16u)
+ QGraphicsSceneEvent (0x7fea10577bd0) 0
+ primary-for QGraphicsSceneMouseEvent (0x7fea10577b60)
+ QEvent (0x7fea10577c40) 0
+ primary-for QGraphicsSceneEvent (0x7fea10577bd0)
+
+Vtable for QGraphicsSceneWheelEvent
+QGraphicsSceneWheelEvent::_ZTV24QGraphicsSceneWheelEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI24QGraphicsSceneWheelEvent)
+16 QGraphicsSceneWheelEvent::~QGraphicsSceneWheelEvent
+24 QGraphicsSceneWheelEvent::~QGraphicsSceneWheelEvent
+
+Class QGraphicsSceneWheelEvent
+ size=32 align=8
+ base size=32 base align=8
+QGraphicsSceneWheelEvent (0x7fea10589460) 0
+ vptr=((& QGraphicsSceneWheelEvent::_ZTV24QGraphicsSceneWheelEvent) + 16u)
+ QGraphicsSceneEvent (0x7fea105894d0) 0
+ primary-for QGraphicsSceneWheelEvent (0x7fea10589460)
+ QEvent (0x7fea10589540) 0
+ primary-for QGraphicsSceneEvent (0x7fea105894d0)
+
+Vtable for QGraphicsSceneContextMenuEvent
+QGraphicsSceneContextMenuEvent::_ZTV30QGraphicsSceneContextMenuEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI30QGraphicsSceneContextMenuEvent)
+16 QGraphicsSceneContextMenuEvent::~QGraphicsSceneContextMenuEvent
+24 QGraphicsSceneContextMenuEvent::~QGraphicsSceneContextMenuEvent
+
+Class QGraphicsSceneContextMenuEvent
+ size=32 align=8
+ base size=32 base align=8
+QGraphicsSceneContextMenuEvent (0x7fea10589e00) 0
+ vptr=((& QGraphicsSceneContextMenuEvent::_ZTV30QGraphicsSceneContextMenuEvent) + 16u)
+ QGraphicsSceneEvent (0x7fea10589e70) 0
+ primary-for QGraphicsSceneContextMenuEvent (0x7fea10589e00)
+ QEvent (0x7fea10589ee0) 0
+ primary-for QGraphicsSceneEvent (0x7fea10589e70)
+
+Vtable for QGraphicsSceneHoverEvent
+QGraphicsSceneHoverEvent::_ZTV24QGraphicsSceneHoverEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI24QGraphicsSceneHoverEvent)
+16 QGraphicsSceneHoverEvent::~QGraphicsSceneHoverEvent
+24 QGraphicsSceneHoverEvent::~QGraphicsSceneHoverEvent
+
+Class QGraphicsSceneHoverEvent
+ size=32 align=8
+ base size=32 base align=8
+QGraphicsSceneHoverEvent (0x7fea10596930) 0
+ vptr=((& QGraphicsSceneHoverEvent::_ZTV24QGraphicsSceneHoverEvent) + 16u)
+ QGraphicsSceneEvent (0x7fea105969a0) 0
+ primary-for QGraphicsSceneHoverEvent (0x7fea10596930)
+ QEvent (0x7fea10596a10) 0
+ primary-for QGraphicsSceneEvent (0x7fea105969a0)
+
+Vtable for QGraphicsSceneHelpEvent
+QGraphicsSceneHelpEvent::_ZTV23QGraphicsSceneHelpEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI23QGraphicsSceneHelpEvent)
+16 QGraphicsSceneHelpEvent::~QGraphicsSceneHelpEvent
+24 QGraphicsSceneHelpEvent::~QGraphicsSceneHelpEvent
+
+Class QGraphicsSceneHelpEvent
+ size=32 align=8
+ base size=32 base align=8
+QGraphicsSceneHelpEvent (0x7fea105a9230) 0
+ vptr=((& QGraphicsSceneHelpEvent::_ZTV23QGraphicsSceneHelpEvent) + 16u)
+ QGraphicsSceneEvent (0x7fea105a92a0) 0
+ primary-for QGraphicsSceneHelpEvent (0x7fea105a9230)
+ QEvent (0x7fea105a9310) 0
+ primary-for QGraphicsSceneEvent (0x7fea105a92a0)
+
+Vtable for QGraphicsSceneDragDropEvent
+QGraphicsSceneDragDropEvent::_ZTV27QGraphicsSceneDragDropEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI27QGraphicsSceneDragDropEvent)
+16 QGraphicsSceneDragDropEvent::~QGraphicsSceneDragDropEvent
+24 QGraphicsSceneDragDropEvent::~QGraphicsSceneDragDropEvent
+
+Class QGraphicsSceneDragDropEvent
+ size=32 align=8
+ base size=32 base align=8
+QGraphicsSceneDragDropEvent (0x7fea105a9bd0) 0
+ vptr=((& QGraphicsSceneDragDropEvent::_ZTV27QGraphicsSceneDragDropEvent) + 16u)
+ QGraphicsSceneEvent (0x7fea105a9c40) 0
+ primary-for QGraphicsSceneDragDropEvent (0x7fea105a9bd0)
+ QEvent (0x7fea105a9cb0) 0
+ primary-for QGraphicsSceneEvent (0x7fea105a9c40)
+
+Vtable for QGraphicsSceneResizeEvent
+QGraphicsSceneResizeEvent::_ZTV25QGraphicsSceneResizeEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI25QGraphicsSceneResizeEvent)
+16 QGraphicsSceneResizeEvent::~QGraphicsSceneResizeEvent
+24 QGraphicsSceneResizeEvent::~QGraphicsSceneResizeEvent
+
+Class QGraphicsSceneResizeEvent
+ size=32 align=8
+ base size=32 base align=8
+QGraphicsSceneResizeEvent (0x7fea105b94d0) 0
+ vptr=((& QGraphicsSceneResizeEvent::_ZTV25QGraphicsSceneResizeEvent) + 16u)
+ QGraphicsSceneEvent (0x7fea105b9540) 0
+ primary-for QGraphicsSceneResizeEvent (0x7fea105b94d0)
+ QEvent (0x7fea105b95b0) 0
+ primary-for QGraphicsSceneEvent (0x7fea105b9540)
+
+Vtable for QGraphicsSceneMoveEvent
+QGraphicsSceneMoveEvent::_ZTV23QGraphicsSceneMoveEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI23QGraphicsSceneMoveEvent)
+16 QGraphicsSceneMoveEvent::~QGraphicsSceneMoveEvent
+24 QGraphicsSceneMoveEvent::~QGraphicsSceneMoveEvent
+
+Class QGraphicsSceneMoveEvent
+ size=32 align=8
+ base size=32 base align=8
+QGraphicsSceneMoveEvent (0x7fea105b9cb0) 0
+ vptr=((& QGraphicsSceneMoveEvent::_ZTV23QGraphicsSceneMoveEvent) + 16u)
+ QGraphicsSceneEvent (0x7fea105b9d20) 0
+ primary-for QGraphicsSceneMoveEvent (0x7fea105b9cb0)
+ QEvent (0x7fea105b9d90) 0
+ primary-for QGraphicsSceneEvent (0x7fea105b9d20)
+
+Vtable for QGraphicsItemAnimation
+QGraphicsItemAnimation::_ZTV22QGraphicsItemAnimation: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI22QGraphicsItemAnimation)
+16 QGraphicsItemAnimation::metaObject
+24 QGraphicsItemAnimation::qt_metacast
+32 QGraphicsItemAnimation::qt_metacall
+40 QGraphicsItemAnimation::~QGraphicsItemAnimation
+48 QGraphicsItemAnimation::~QGraphicsItemAnimation
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QGraphicsItemAnimation::beforeAnimationStep
+120 QGraphicsItemAnimation::afterAnimationStep
+
+Class QGraphicsItemAnimation
+ size=24 align=8
+ base size=24 base align=8
+QGraphicsItemAnimation (0x7fea105c83f0) 0
+ vptr=((& QGraphicsItemAnimation::_ZTV22QGraphicsItemAnimation) + 16u)
+ QObject (0x7fea105c8460) 0
+ primary-for QGraphicsItemAnimation (0x7fea105c83f0)
+
+Vtable for QGraphicsGridLayout
+QGraphicsGridLayout::_ZTV19QGraphicsGridLayout: 13u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QGraphicsGridLayout)
+16 QGraphicsGridLayout::~QGraphicsGridLayout
+24 QGraphicsGridLayout::~QGraphicsGridLayout
+32 QGraphicsGridLayout::setGeometry
+40 QGraphicsLayout::getContentsMargins
+48 QGraphicsLayout::updateGeometry
+56 QGraphicsGridLayout::sizeHint
+64 QGraphicsGridLayout::invalidate
+72 QGraphicsLayout::widgetEvent
+80 QGraphicsGridLayout::count
+88 QGraphicsGridLayout::itemAt
+96 QGraphicsGridLayout::removeAt
+
+Class QGraphicsGridLayout
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsGridLayout (0x7fea105e2770) 0
+ vptr=((& QGraphicsGridLayout::_ZTV19QGraphicsGridLayout) + 16u)
+ QGraphicsLayout (0x7fea105e27e0) 0
+ primary-for QGraphicsGridLayout (0x7fea105e2770)
+ QGraphicsLayoutItem (0x7fea105e2850) 0
+ primary-for QGraphicsLayout (0x7fea105e27e0)
+
+Vtable for QAbstractButton
+QAbstractButton::_ZTV15QAbstractButton: 66u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QAbstractButton)
+16 QAbstractButton::metaObject
+24 QAbstractButton::qt_metacast
+32 QAbstractButton::qt_metacall
+40 QAbstractButton::~QAbstractButton
+48 QAbstractButton::~QAbstractButton
+56 QAbstractButton::event
+64 QObject::eventFilter
+72 QAbstractButton::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QWidget::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QAbstractButton::mousePressEvent
+168 QAbstractButton::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QAbstractButton::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QAbstractButton::keyPressEvent
+208 QAbstractButton::keyReleaseEvent
+216 QAbstractButton::focusInEvent
+224 QAbstractButton::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 __cxa_pure_virtual
+256 QWidget::moveEvent
+264 QWidget::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QAbstractButton::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QAbstractButton::hitButton
+456 QAbstractButton::checkStateSet
+464 QAbstractButton::nextCheckState
+472 (int (*)(...))-0x00000000000000010
+480 (int (*)(...))(& _ZTI15QAbstractButton)
+488 QAbstractButton::_ZThn16_N15QAbstractButtonD1Ev
+496 QAbstractButton::_ZThn16_N15QAbstractButtonD0Ev
+504 QWidget::_ZThn16_NK7QWidget7devTypeEv
+512 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+520 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QAbstractButton
+ size=40 align=8
+ base size=40 base align=8
+QAbstractButton (0x7fea103fbbd0) 0
+ vptr=((& QAbstractButton::_ZTV15QAbstractButton) + 16u)
+ QWidget (0x7fea105df800) 0
+ primary-for QAbstractButton (0x7fea103fbbd0)
+ QObject (0x7fea103fbc40) 0
+ primary-for QWidget (0x7fea105df800)
+ QPaintDevice (0x7fea103fbcb0) 16
+ vptr=((& QAbstractButton::_ZTV15QAbstractButton) + 488u)
+
+Vtable for QCheckBox
+QCheckBox::_ZTV9QCheckBox: 66u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QCheckBox)
+16 QCheckBox::metaObject
+24 QCheckBox::qt_metacast
+32 QCheckBox::qt_metacall
+40 QCheckBox::~QCheckBox
+48 QCheckBox::~QCheckBox
+56 QCheckBox::event
+64 QObject::eventFilter
+72 QAbstractButton::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QCheckBox::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QAbstractButton::mousePressEvent
+168 QAbstractButton::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QCheckBox::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QAbstractButton::keyPressEvent
+208 QAbstractButton::keyReleaseEvent
+216 QAbstractButton::focusInEvent
+224 QAbstractButton::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QCheckBox::paintEvent
+256 QWidget::moveEvent
+264 QWidget::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QAbstractButton::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QCheckBox::hitButton
+456 QCheckBox::checkStateSet
+464 QCheckBox::nextCheckState
+472 (int (*)(...))-0x00000000000000010
+480 (int (*)(...))(& _ZTI9QCheckBox)
+488 QCheckBox::_ZThn16_N9QCheckBoxD1Ev
+496 QCheckBox::_ZThn16_N9QCheckBoxD0Ev
+504 QWidget::_ZThn16_NK7QWidget7devTypeEv
+512 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+520 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QCheckBox
+ size=40 align=8
+ base size=40 base align=8
+QCheckBox (0x7fea1042ff50) 0
+ vptr=((& QCheckBox::_ZTV9QCheckBox) + 16u)
+ QAbstractButton (0x7fea10437000) 0
+ primary-for QCheckBox (0x7fea1042ff50)
+ QWidget (0x7fea10438000) 0
+ primary-for QAbstractButton (0x7fea10437000)
+ QObject (0x7fea10437070) 0
+ primary-for QWidget (0x7fea10438000)
+ QPaintDevice (0x7fea104370e0) 16
+ vptr=((& QCheckBox::_ZTV9QCheckBox) + 488u)
+
+Vtable for QMenu
+QMenu::_ZTV5QMenu: 63u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI5QMenu)
+16 QMenu::metaObject
+24 QMenu::qt_metacast
+32 QMenu::qt_metacall
+40 QMenu::~QMenu
+48 QMenu::~QMenu
+56 QMenu::event
+64 QObject::eventFilter
+72 QMenu::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QMenu::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QMenu::mousePressEvent
+168 QMenu::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QMenu::mouseMoveEvent
+192 QMenu::wheelEvent
+200 QMenu::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QMenu::enterEvent
+240 QMenu::leaveEvent
+248 QMenu::paintEvent
+256 QWidget::moveEvent
+264 QWidget::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QMenu::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QMenu::hideEvent
+352 QWidget::x11Event
+360 QMenu::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QMenu::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 (int (*)(...))-0x00000000000000010
+456 (int (*)(...))(& _ZTI5QMenu)
+464 QMenu::_ZThn16_N5QMenuD1Ev
+472 QMenu::_ZThn16_N5QMenuD0Ev
+480 QWidget::_ZThn16_NK7QWidget7devTypeEv
+488 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+496 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QMenu
+ size=40 align=8
+ base size=40 base align=8
+QMenu (0x7fea10456770) 0
+ vptr=((& QMenu::_ZTV5QMenu) + 16u)
+ QWidget (0x7fea10438f00) 0
+ primary-for QMenu (0x7fea10456770)
+ QObject (0x7fea104567e0) 0
+ primary-for QWidget (0x7fea10438f00)
+ QPaintDevice (0x7fea10456850) 16
+ vptr=((& QMenu::_ZTV5QMenu) + 464u)
+
+Vtable for QPrintPreviewWidget
+QPrintPreviewWidget::_ZTV19QPrintPreviewWidget: 63u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QPrintPreviewWidget)
+16 QPrintPreviewWidget::metaObject
+24 QPrintPreviewWidget::qt_metacast
+32 QPrintPreviewWidget::qt_metacall
+40 QPrintPreviewWidget::~QPrintPreviewWidget
+48 QPrintPreviewWidget::~QPrintPreviewWidget
+56 QWidget::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QPrintPreviewWidget::setVisible
+128 QWidget::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QWidget::paintEvent
+256 QWidget::moveEvent
+264 QWidget::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QWidget::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 (int (*)(...))-0x00000000000000010
+456 (int (*)(...))(& _ZTI19QPrintPreviewWidget)
+464 QPrintPreviewWidget::_ZThn16_N19QPrintPreviewWidgetD1Ev
+472 QPrintPreviewWidget::_ZThn16_N19QPrintPreviewWidgetD0Ev
+480 QWidget::_ZThn16_NK7QWidget7devTypeEv
+488 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+496 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QPrintPreviewWidget
+ size=48 align=8
+ base size=48 base align=8
+QPrintPreviewWidget (0x7fea102ff5b0) 0
+ vptr=((& QPrintPreviewWidget::_ZTV19QPrintPreviewWidget) + 16u)
+ QWidget (0x7fea102fd680) 0
+ primary-for QPrintPreviewWidget (0x7fea102ff5b0)
+ QObject (0x7fea102ff620) 0
+ primary-for QWidget (0x7fea102fd680)
+ QPaintDevice (0x7fea102ff690) 16
+ vptr=((& QPrintPreviewWidget::_ZTV19QPrintPreviewWidget) + 464u)
+
+Vtable for QWorkspace
+QWorkspace::_ZTV10QWorkspace: 63u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QWorkspace)
+16 QWorkspace::metaObject
+24 QWorkspace::qt_metacast
+32 QWorkspace::qt_metacall
+40 QWorkspace::~QWorkspace
+48 QWorkspace::~QWorkspace
+56 QWorkspace::event
+64 QWorkspace::eventFilter
+72 QObject::timerEvent
+80 QWorkspace::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QWorkspace::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWorkspace::wheelEvent
+200 QWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QWorkspace::paintEvent
+256 QWidget::moveEvent
+264 QWorkspace::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWorkspace::showEvent
+344 QWorkspace::hideEvent
+352 QWidget::x11Event
+360 QWorkspace::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 (int (*)(...))-0x00000000000000010
+456 (int (*)(...))(& _ZTI10QWorkspace)
+464 QWorkspace::_ZThn16_N10QWorkspaceD1Ev
+472 QWorkspace::_ZThn16_N10QWorkspaceD0Ev
+480 QWidget::_ZThn16_NK7QWidget7devTypeEv
+488 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+496 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QWorkspace
+ size=40 align=8
+ base size=40 base align=8
+QWorkspace (0x7fea10323070) 0
+ vptr=((& QWorkspace::_ZTV10QWorkspace) + 16u)
+ QWidget (0x7fea1031f280) 0
+ primary-for QWorkspace (0x7fea10323070)
+ QObject (0x7fea103230e0) 0
+ primary-for QWidget (0x7fea1031f280)
+ QPaintDevice (0x7fea10323150) 16
+ vptr=((& QWorkspace::_ZTV10QWorkspace) + 464u)
+
+Vtable for QButtonGroup
+QButtonGroup::_ZTV12QButtonGroup: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QButtonGroup)
+16 QButtonGroup::metaObject
+24 QButtonGroup::qt_metacast
+32 QButtonGroup::qt_metacall
+40 QButtonGroup::~QButtonGroup
+48 QButtonGroup::~QButtonGroup
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QButtonGroup
+ size=16 align=8
+ base size=16 base align=8
+QButtonGroup (0x7fea10345150) 0
+ vptr=((& QButtonGroup::_ZTV12QButtonGroup) + 16u)
+ QObject (0x7fea103451c0) 0
+ primary-for QButtonGroup (0x7fea10345150)
+
+Vtable for QSpinBox
+QSpinBox::_ZTV8QSpinBox: 70u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI8QSpinBox)
+16 QSpinBox::metaObject
+24 QSpinBox::qt_metacast
+32 QSpinBox::qt_metacall
+40 QSpinBox::~QSpinBox
+48 QSpinBox::~QSpinBox
+56 QSpinBox::event
+64 QObject::eventFilter
+72 QAbstractSpinBox::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QAbstractSpinBox::sizeHint
+136 QAbstractSpinBox::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QAbstractSpinBox::mousePressEvent
+168 QAbstractSpinBox::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QAbstractSpinBox::mouseMoveEvent
+192 QAbstractSpinBox::wheelEvent
+200 QAbstractSpinBox::keyPressEvent
+208 QAbstractSpinBox::keyReleaseEvent
+216 QAbstractSpinBox::focusInEvent
+224 QAbstractSpinBox::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QAbstractSpinBox::paintEvent
+256 QWidget::moveEvent
+264 QAbstractSpinBox::resizeEvent
+272 QAbstractSpinBox::closeEvent
+280 QAbstractSpinBox::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QAbstractSpinBox::showEvent
+344 QAbstractSpinBox::hideEvent
+352 QWidget::x11Event
+360 QAbstractSpinBox::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QSpinBox::validate
+456 QSpinBox::fixup
+464 QAbstractSpinBox::stepBy
+472 QAbstractSpinBox::clear
+480 QAbstractSpinBox::stepEnabled
+488 QSpinBox::valueFromText
+496 QSpinBox::textFromValue
+504 (int (*)(...))-0x00000000000000010
+512 (int (*)(...))(& _ZTI8QSpinBox)
+520 QSpinBox::_ZThn16_N8QSpinBoxD1Ev
+528 QSpinBox::_ZThn16_N8QSpinBoxD0Ev
+536 QWidget::_ZThn16_NK7QWidget7devTypeEv
+544 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+552 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QSpinBox
+ size=40 align=8
+ base size=40 base align=8
+QSpinBox (0x7fea1035ad90) 0
+ vptr=((& QSpinBox::_ZTV8QSpinBox) + 16u)
+ QAbstractSpinBox (0x7fea1035ae00) 0
+ primary-for QSpinBox (0x7fea1035ad90)
+ QWidget (0x7fea10357800) 0
+ primary-for QAbstractSpinBox (0x7fea1035ae00)
+ QObject (0x7fea1035ae70) 0
+ primary-for QWidget (0x7fea10357800)
+ QPaintDevice (0x7fea1035aee0) 16
+ vptr=((& QSpinBox::_ZTV8QSpinBox) + 520u)
+
+Vtable for QDoubleSpinBox
+QDoubleSpinBox::_ZTV14QDoubleSpinBox: 70u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QDoubleSpinBox)
+16 QDoubleSpinBox::metaObject
+24 QDoubleSpinBox::qt_metacast
+32 QDoubleSpinBox::qt_metacall
+40 QDoubleSpinBox::~QDoubleSpinBox
+48 QDoubleSpinBox::~QDoubleSpinBox
+56 QAbstractSpinBox::event
+64 QObject::eventFilter
+72 QAbstractSpinBox::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QAbstractSpinBox::sizeHint
+136 QAbstractSpinBox::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QAbstractSpinBox::mousePressEvent
+168 QAbstractSpinBox::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QAbstractSpinBox::mouseMoveEvent
+192 QAbstractSpinBox::wheelEvent
+200 QAbstractSpinBox::keyPressEvent
+208 QAbstractSpinBox::keyReleaseEvent
+216 QAbstractSpinBox::focusInEvent
+224 QAbstractSpinBox::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QAbstractSpinBox::paintEvent
+256 QWidget::moveEvent
+264 QAbstractSpinBox::resizeEvent
+272 QAbstractSpinBox::closeEvent
+280 QAbstractSpinBox::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QAbstractSpinBox::showEvent
+344 QAbstractSpinBox::hideEvent
+352 QWidget::x11Event
+360 QAbstractSpinBox::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QDoubleSpinBox::validate
+456 QDoubleSpinBox::fixup
+464 QAbstractSpinBox::stepBy
+472 QAbstractSpinBox::clear
+480 QAbstractSpinBox::stepEnabled
+488 QDoubleSpinBox::valueFromText
+496 QDoubleSpinBox::textFromValue
+504 (int (*)(...))-0x00000000000000010
+512 (int (*)(...))(& _ZTI14QDoubleSpinBox)
+520 QDoubleSpinBox::_ZThn16_N14QDoubleSpinBoxD1Ev
+528 QDoubleSpinBox::_ZThn16_N14QDoubleSpinBoxD0Ev
+536 QWidget::_ZThn16_NK7QWidget7devTypeEv
+544 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+552 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QDoubleSpinBox
+ size=40 align=8
+ base size=40 base align=8
+QDoubleSpinBox (0x7fea10382700) 0
+ vptr=((& QDoubleSpinBox::_ZTV14QDoubleSpinBox) + 16u)
+ QAbstractSpinBox (0x7fea10382770) 0
+ primary-for QDoubleSpinBox (0x7fea10382700)
+ QWidget (0x7fea10381880) 0
+ primary-for QAbstractSpinBox (0x7fea10382770)
+ QObject (0x7fea103827e0) 0
+ primary-for QWidget (0x7fea10381880)
+ QPaintDevice (0x7fea10382850) 16
+ vptr=((& QDoubleSpinBox::_ZTV14QDoubleSpinBox) + 520u)
+
+Vtable for QLCDNumber
+QLCDNumber::_ZTV10QLCDNumber: 63u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QLCDNumber)
+16 QLCDNumber::metaObject
+24 QLCDNumber::qt_metacast
+32 QLCDNumber::qt_metacall
+40 QLCDNumber::~QLCDNumber
+48 QLCDNumber::~QLCDNumber
+56 QLCDNumber::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QLCDNumber::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QLCDNumber::paintEvent
+256 QWidget::moveEvent
+264 QWidget::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QFrame::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 (int (*)(...))-0x00000000000000010
+456 (int (*)(...))(& _ZTI10QLCDNumber)
+464 QLCDNumber::_ZThn16_N10QLCDNumberD1Ev
+472 QLCDNumber::_ZThn16_N10QLCDNumberD0Ev
+480 QWidget::_ZThn16_NK7QWidget7devTypeEv
+488 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+496 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QLCDNumber
+ size=40 align=8
+ base size=40 base align=8
+QLCDNumber (0x7fea103a51c0) 0
+ vptr=((& QLCDNumber::_ZTV10QLCDNumber) + 16u)
+ QFrame (0x7fea103a5230) 0
+ primary-for QLCDNumber (0x7fea103a51c0)
+ QWidget (0x7fea103a4180) 0
+ primary-for QFrame (0x7fea103a5230)
+ QObject (0x7fea103a52a0) 0
+ primary-for QWidget (0x7fea103a4180)
+ QPaintDevice (0x7fea103a5310) 16
+ vptr=((& QLCDNumber::_ZTV10QLCDNumber) + 464u)
+
+Vtable for QStackedWidget
+QStackedWidget::_ZTV14QStackedWidget: 63u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QStackedWidget)
+16 QStackedWidget::metaObject
+24 QStackedWidget::qt_metacast
+32 QStackedWidget::qt_metacall
+40 QStackedWidget::~QStackedWidget
+48 QStackedWidget::~QStackedWidget
+56 QStackedWidget::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QFrame::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QFrame::paintEvent
+256 QWidget::moveEvent
+264 QWidget::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QFrame::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 (int (*)(...))-0x00000000000000010
+456 (int (*)(...))(& _ZTI14QStackedWidget)
+464 QStackedWidget::_ZThn16_N14QStackedWidgetD1Ev
+472 QStackedWidget::_ZThn16_N14QStackedWidgetD0Ev
+480 QWidget::_ZThn16_NK7QWidget7devTypeEv
+488 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+496 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QStackedWidget
+ size=40 align=8
+ base size=40 base align=8
+QStackedWidget (0x7fea103c8d20) 0
+ vptr=((& QStackedWidget::_ZTV14QStackedWidget) + 16u)
+ QFrame (0x7fea103c8d90) 0
+ primary-for QStackedWidget (0x7fea103c8d20)
+ QWidget (0x7fea103cb200) 0
+ primary-for QFrame (0x7fea103c8d90)
+ QObject (0x7fea103c8e00) 0
+ primary-for QWidget (0x7fea103cb200)
+ QPaintDevice (0x7fea103c8e70) 16
+ vptr=((& QStackedWidget::_ZTV14QStackedWidget) + 464u)
+
+Vtable for QMdiArea
+QMdiArea::_ZTV8QMdiArea: 65u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI8QMdiArea)
+16 QMdiArea::metaObject
+24 QMdiArea::qt_metacast
+32 QMdiArea::qt_metacall
+40 QMdiArea::~QMdiArea
+48 QMdiArea::~QMdiArea
+56 QMdiArea::event
+64 QMdiArea::eventFilter
+72 QMdiArea::timerEvent
+80 QMdiArea::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QMdiArea::sizeHint
+136 QMdiArea::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QAbstractScrollArea::mousePressEvent
+168 QAbstractScrollArea::mouseReleaseEvent
+176 QAbstractScrollArea::mouseDoubleClickEvent
+184 QAbstractScrollArea::mouseMoveEvent
+192 QAbstractScrollArea::wheelEvent
+200 QAbstractScrollArea::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QMdiArea::paintEvent
+256 QWidget::moveEvent
+264 QMdiArea::resizeEvent
+272 QWidget::closeEvent
+280 QAbstractScrollArea::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QAbstractScrollArea::dragEnterEvent
+312 QAbstractScrollArea::dragMoveEvent
+320 QAbstractScrollArea::dragLeaveEvent
+328 QAbstractScrollArea::dropEvent
+336 QMdiArea::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QFrame::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QMdiArea::viewportEvent
+456 QMdiArea::scrollContentsBy
+464 (int (*)(...))-0x00000000000000010
+472 (int (*)(...))(& _ZTI8QMdiArea)
+480 QMdiArea::_ZThn16_N8QMdiAreaD1Ev
+488 QMdiArea::_ZThn16_N8QMdiAreaD0Ev
+496 QWidget::_ZThn16_NK7QWidget7devTypeEv
+504 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+512 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QMdiArea
+ size=40 align=8
+ base size=40 base align=8
+QMdiArea (0x7fea103e2bd0) 0
+ vptr=((& QMdiArea::_ZTV8QMdiArea) + 16u)
+ QAbstractScrollArea (0x7fea103e2c40) 0
+ primary-for QMdiArea (0x7fea103e2bd0)
+ QFrame (0x7fea103e2cb0) 0
+ primary-for QAbstractScrollArea (0x7fea103e2c40)
+ QWidget (0x7fea103cbb00) 0
+ primary-for QFrame (0x7fea103e2cb0)
+ QObject (0x7fea103e2d20) 0
+ primary-for QWidget (0x7fea103cbb00)
+ QPaintDevice (0x7fea103e2d90) 16
+ vptr=((& QMdiArea::_ZTV8QMdiArea) + 480u)
+
+Vtable for QPushButton
+QPushButton::_ZTV11QPushButton: 66u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QPushButton)
+16 QPushButton::metaObject
+24 QPushButton::qt_metacast
+32 QPushButton::qt_metacall
+40 QPushButton::~QPushButton
+48 QPushButton::~QPushButton
+56 QPushButton::event
+64 QObject::eventFilter
+72 QAbstractButton::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QPushButton::sizeHint
+136 QPushButton::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QAbstractButton::mousePressEvent
+168 QAbstractButton::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QAbstractButton::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QPushButton::keyPressEvent
+208 QAbstractButton::keyReleaseEvent
+216 QPushButton::focusInEvent
+224 QPushButton::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QPushButton::paintEvent
+256 QWidget::moveEvent
+264 QWidget::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QAbstractButton::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QAbstractButton::hitButton
+456 QAbstractButton::checkStateSet
+464 QAbstractButton::nextCheckState
+472 (int (*)(...))-0x00000000000000010
+480 (int (*)(...))(& _ZTI11QPushButton)
+488 QPushButton::_ZThn16_N11QPushButtonD1Ev
+496 QPushButton::_ZThn16_N11QPushButtonD0Ev
+504 QWidget::_ZThn16_NK7QWidget7devTypeEv
+512 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+520 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QPushButton
+ size=40 align=8
+ base size=40 base align=8
+QPushButton (0x7fea10256150) 0
+ vptr=((& QPushButton::_ZTV11QPushButton) + 16u)
+ QAbstractButton (0x7fea102561c0) 0
+ primary-for QPushButton (0x7fea10256150)
+ QWidget (0x7fea10207d00) 0
+ primary-for QAbstractButton (0x7fea102561c0)
+ QObject (0x7fea10256230) 0
+ primary-for QWidget (0x7fea10207d00)
+ QPaintDevice (0x7fea102562a0) 16
+ vptr=((& QPushButton::_ZTV11QPushButton) + 488u)
+
+Vtable for QMdiSubWindow
+QMdiSubWindow::_ZTV13QMdiSubWindow: 63u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QMdiSubWindow)
+16 QMdiSubWindow::metaObject
+24 QMdiSubWindow::qt_metacast
+32 QMdiSubWindow::qt_metacall
+40 QMdiSubWindow::~QMdiSubWindow
+48 QMdiSubWindow::~QMdiSubWindow
+56 QMdiSubWindow::event
+64 QMdiSubWindow::eventFilter
+72 QMdiSubWindow::timerEvent
+80 QMdiSubWindow::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QMdiSubWindow::sizeHint
+136 QMdiSubWindow::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QMdiSubWindow::mousePressEvent
+168 QMdiSubWindow::mouseReleaseEvent
+176 QMdiSubWindow::mouseDoubleClickEvent
+184 QMdiSubWindow::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QMdiSubWindow::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QMdiSubWindow::focusInEvent
+224 QMdiSubWindow::focusOutEvent
+232 QWidget::enterEvent
+240 QMdiSubWindow::leaveEvent
+248 QMdiSubWindow::paintEvent
+256 QMdiSubWindow::moveEvent
+264 QMdiSubWindow::resizeEvent
+272 QMdiSubWindow::closeEvent
+280 QMdiSubWindow::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QMdiSubWindow::showEvent
+344 QMdiSubWindow::hideEvent
+352 QWidget::x11Event
+360 QMdiSubWindow::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 (int (*)(...))-0x00000000000000010
+456 (int (*)(...))(& _ZTI13QMdiSubWindow)
+464 QMdiSubWindow::_ZThn16_N13QMdiSubWindowD1Ev
+472 QMdiSubWindow::_ZThn16_N13QMdiSubWindowD0Ev
+480 QWidget::_ZThn16_NK7QWidget7devTypeEv
+488 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+496 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QMdiSubWindow
+ size=40 align=8
+ base size=40 base align=8
+QMdiSubWindow (0x7fea1027aa80) 0
+ vptr=((& QMdiSubWindow::_ZTV13QMdiSubWindow) + 16u)
+ QWidget (0x7fea10272c00) 0
+ primary-for QMdiSubWindow (0x7fea1027aa80)
+ QObject (0x7fea1027aaf0) 0
+ primary-for QWidget (0x7fea10272c00)
+ QPaintDevice (0x7fea1027ab60) 16
+ vptr=((& QMdiSubWindow::_ZTV13QMdiSubWindow) + 464u)
+
+Vtable for QSplashScreen
+QSplashScreen::_ZTV13QSplashScreen: 64u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QSplashScreen)
+16 QSplashScreen::metaObject
+24 QSplashScreen::qt_metacast
+32 QSplashScreen::qt_metacall
+40 QSplashScreen::~QSplashScreen
+48 QSplashScreen::~QSplashScreen
+56 QSplashScreen::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QWidget::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QSplashScreen::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QWidget::paintEvent
+256 QWidget::moveEvent
+264 QWidget::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QWidget::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QSplashScreen::drawContents
+456 (int (*)(...))-0x00000000000000010
+464 (int (*)(...))(& _ZTI13QSplashScreen)
+472 QSplashScreen::_ZThn16_N13QSplashScreenD1Ev
+480 QSplashScreen::_ZThn16_N13QSplashScreenD0Ev
+488 QWidget::_ZThn16_NK7QWidget7devTypeEv
+496 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+504 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QSplashScreen
+ size=40 align=8
+ base size=40 base align=8
+QSplashScreen (0x7fea102ce930) 0
+ vptr=((& QSplashScreen::_ZTV13QSplashScreen) + 16u)
+ QWidget (0x7fea1029cd00) 0
+ primary-for QSplashScreen (0x7fea102ce930)
+ QObject (0x7fea102ce9a0) 0
+ primary-for QWidget (0x7fea1029cd00)
+ QPaintDevice (0x7fea102cea10) 16
+ vptr=((& QSplashScreen::_ZTV13QSplashScreen) + 472u)
+
+Vtable for QDateTimeEdit
+QDateTimeEdit::_ZTV13QDateTimeEdit: 70u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QDateTimeEdit)
+16 QDateTimeEdit::metaObject
+24 QDateTimeEdit::qt_metacast
+32 QDateTimeEdit::qt_metacall
+40 QDateTimeEdit::~QDateTimeEdit
+48 QDateTimeEdit::~QDateTimeEdit
+56 QDateTimeEdit::event
+64 QObject::eventFilter
+72 QAbstractSpinBox::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QDateTimeEdit::sizeHint
+136 QAbstractSpinBox::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QDateTimeEdit::mousePressEvent
+168 QAbstractSpinBox::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QAbstractSpinBox::mouseMoveEvent
+192 QDateTimeEdit::wheelEvent
+200 QDateTimeEdit::keyPressEvent
+208 QAbstractSpinBox::keyReleaseEvent
+216 QDateTimeEdit::focusInEvent
+224 QAbstractSpinBox::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QDateTimeEdit::paintEvent
+256 QWidget::moveEvent
+264 QAbstractSpinBox::resizeEvent
+272 QAbstractSpinBox::closeEvent
+280 QAbstractSpinBox::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QAbstractSpinBox::showEvent
+344 QAbstractSpinBox::hideEvent
+352 QWidget::x11Event
+360 QAbstractSpinBox::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QDateTimeEdit::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QDateTimeEdit::validate
+456 QDateTimeEdit::fixup
+464 QDateTimeEdit::stepBy
+472 QDateTimeEdit::clear
+480 QDateTimeEdit::stepEnabled
+488 QDateTimeEdit::dateTimeFromText
+496 QDateTimeEdit::textFromDateTime
+504 (int (*)(...))-0x00000000000000010
+512 (int (*)(...))(& _ZTI13QDateTimeEdit)
+520 QDateTimeEdit::_ZThn16_N13QDateTimeEditD1Ev
+528 QDateTimeEdit::_ZThn16_N13QDateTimeEditD0Ev
+536 QWidget::_ZThn16_NK7QWidget7devTypeEv
+544 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+552 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QDateTimeEdit
+ size=40 align=8
+ base size=40 base align=8
+QDateTimeEdit (0x7fea1010aa10) 0
+ vptr=((& QDateTimeEdit::_ZTV13QDateTimeEdit) + 16u)
+ QAbstractSpinBox (0x7fea1010aa80) 0
+ primary-for QDateTimeEdit (0x7fea1010aa10)
+ QWidget (0x7fea10104880) 0
+ primary-for QAbstractSpinBox (0x7fea1010aa80)
+ QObject (0x7fea1010aaf0) 0
+ primary-for QWidget (0x7fea10104880)
+ QPaintDevice (0x7fea1010ab60) 16
+ vptr=((& QDateTimeEdit::_ZTV13QDateTimeEdit) + 520u)
+
+Vtable for QTimeEdit
+QTimeEdit::_ZTV9QTimeEdit: 70u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QTimeEdit)
+16 QTimeEdit::metaObject
+24 QTimeEdit::qt_metacast
+32 QTimeEdit::qt_metacall
+40 QTimeEdit::~QTimeEdit
+48 QTimeEdit::~QTimeEdit
+56 QDateTimeEdit::event
+64 QObject::eventFilter
+72 QAbstractSpinBox::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QDateTimeEdit::sizeHint
+136 QAbstractSpinBox::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QDateTimeEdit::mousePressEvent
+168 QAbstractSpinBox::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QAbstractSpinBox::mouseMoveEvent
+192 QDateTimeEdit::wheelEvent
+200 QDateTimeEdit::keyPressEvent
+208 QAbstractSpinBox::keyReleaseEvent
+216 QDateTimeEdit::focusInEvent
+224 QAbstractSpinBox::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QDateTimeEdit::paintEvent
+256 QWidget::moveEvent
+264 QAbstractSpinBox::resizeEvent
+272 QAbstractSpinBox::closeEvent
+280 QAbstractSpinBox::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QAbstractSpinBox::showEvent
+344 QAbstractSpinBox::hideEvent
+352 QWidget::x11Event
+360 QAbstractSpinBox::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QDateTimeEdit::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QDateTimeEdit::validate
+456 QDateTimeEdit::fixup
+464 QDateTimeEdit::stepBy
+472 QDateTimeEdit::clear
+480 QDateTimeEdit::stepEnabled
+488 QDateTimeEdit::dateTimeFromText
+496 QDateTimeEdit::textFromDateTime
+504 (int (*)(...))-0x00000000000000010
+512 (int (*)(...))(& _ZTI9QTimeEdit)
+520 QTimeEdit::_ZThn16_N9QTimeEditD1Ev
+528 QTimeEdit::_ZThn16_N9QTimeEditD0Ev
+536 QWidget::_ZThn16_NK7QWidget7devTypeEv
+544 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+552 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QTimeEdit
+ size=40 align=8
+ base size=40 base align=8
+QTimeEdit (0x7fea1013a930) 0
+ vptr=((& QTimeEdit::_ZTV9QTimeEdit) + 16u)
+ QDateTimeEdit (0x7fea1013a9a0) 0
+ primary-for QTimeEdit (0x7fea1013a930)
+ QAbstractSpinBox (0x7fea1013aa10) 0
+ primary-for QDateTimeEdit (0x7fea1013a9a0)
+ QWidget (0x7fea10131700) 0
+ primary-for QAbstractSpinBox (0x7fea1013aa10)
+ QObject (0x7fea1013aa80) 0
+ primary-for QWidget (0x7fea10131700)
+ QPaintDevice (0x7fea1013aaf0) 16
+ vptr=((& QTimeEdit::_ZTV9QTimeEdit) + 520u)
+
+Vtable for QDateEdit
+QDateEdit::_ZTV9QDateEdit: 70u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QDateEdit)
+16 QDateEdit::metaObject
+24 QDateEdit::qt_metacast
+32 QDateEdit::qt_metacall
+40 QDateEdit::~QDateEdit
+48 QDateEdit::~QDateEdit
+56 QDateTimeEdit::event
+64 QObject::eventFilter
+72 QAbstractSpinBox::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QDateTimeEdit::sizeHint
+136 QAbstractSpinBox::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QDateTimeEdit::mousePressEvent
+168 QAbstractSpinBox::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QAbstractSpinBox::mouseMoveEvent
+192 QDateTimeEdit::wheelEvent
+200 QDateTimeEdit::keyPressEvent
+208 QAbstractSpinBox::keyReleaseEvent
+216 QDateTimeEdit::focusInEvent
+224 QAbstractSpinBox::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QDateTimeEdit::paintEvent
+256 QWidget::moveEvent
+264 QAbstractSpinBox::resizeEvent
+272 QAbstractSpinBox::closeEvent
+280 QAbstractSpinBox::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QAbstractSpinBox::showEvent
+344 QAbstractSpinBox::hideEvent
+352 QWidget::x11Event
+360 QAbstractSpinBox::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QDateTimeEdit::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QDateTimeEdit::validate
+456 QDateTimeEdit::fixup
+464 QDateTimeEdit::stepBy
+472 QDateTimeEdit::clear
+480 QDateTimeEdit::stepEnabled
+488 QDateTimeEdit::dateTimeFromText
+496 QDateTimeEdit::textFromDateTime
+504 (int (*)(...))-0x00000000000000010
+512 (int (*)(...))(& _ZTI9QDateEdit)
+520 QDateEdit::_ZThn16_N9QDateEditD1Ev
+528 QDateEdit::_ZThn16_N9QDateEditD0Ev
+536 QWidget::_ZThn16_NK7QWidget7devTypeEv
+544 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+552 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QDateEdit
+ size=40 align=8
+ base size=40 base align=8
+QDateEdit (0x7fea1014ba10) 0
+ vptr=((& QDateEdit::_ZTV9QDateEdit) + 16u)
+ QDateTimeEdit (0x7fea1014ba80) 0
+ primary-for QDateEdit (0x7fea1014ba10)
+ QAbstractSpinBox (0x7fea1014baf0) 0
+ primary-for QDateTimeEdit (0x7fea1014ba80)
+ QWidget (0x7fea10131e00) 0
+ primary-for QAbstractSpinBox (0x7fea1014baf0)
+ QObject (0x7fea1014bb60) 0
+ primary-for QWidget (0x7fea10131e00)
+ QPaintDevice (0x7fea1014bbd0) 16
+ vptr=((& QDateEdit::_ZTV9QDateEdit) + 520u)
+
+Vtable for QLabel
+QLabel::_ZTV6QLabel: 63u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI6QLabel)
+16 QLabel::metaObject
+24 QLabel::qt_metacast
+32 QLabel::qt_metacall
+40 QLabel::~QLabel
+48 QLabel::~QLabel
+56 QLabel::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QLabel::sizeHint
+136 QLabel::minimumSizeHint
+144 QLabel::heightForWidth
+152 QWidget::paintEngine
+160 QLabel::mousePressEvent
+168 QLabel::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QLabel::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QLabel::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QLabel::focusInEvent
+224 QLabel::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QLabel::paintEvent
+256 QWidget::moveEvent
+264 QWidget::resizeEvent
+272 QWidget::closeEvent
+280 QLabel::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QLabel::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QLabel::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 (int (*)(...))-0x00000000000000010
+456 (int (*)(...))(& _ZTI6QLabel)
+464 QLabel::_ZThn16_N6QLabelD1Ev
+472 QLabel::_ZThn16_N6QLabelD0Ev
+480 QWidget::_ZThn16_NK7QWidget7devTypeEv
+488 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+496 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QLabel
+ size=40 align=8
+ base size=40 base align=8
+QLabel (0x7fea101917e0) 0
+ vptr=((& QLabel::_ZTV6QLabel) + 16u)
+ QFrame (0x7fea10191850) 0
+ primary-for QLabel (0x7fea101917e0)
+ QWidget (0x7fea1015fa80) 0
+ primary-for QFrame (0x7fea10191850)
+ QObject (0x7fea101918c0) 0
+ primary-for QWidget (0x7fea1015fa80)
+ QPaintDevice (0x7fea10191930) 16
+ vptr=((& QLabel::_ZTV6QLabel) + 464u)
+
+Vtable for QDockWidget
+QDockWidget::_ZTV11QDockWidget: 63u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QDockWidget)
+16 QDockWidget::metaObject
+24 QDockWidget::qt_metacast
+32 QDockWidget::qt_metacall
+40 QDockWidget::~QDockWidget
+48 QDockWidget::~QDockWidget
+56 QDockWidget::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QWidget::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QDockWidget::paintEvent
+256 QWidget::moveEvent
+264 QWidget::resizeEvent
+272 QDockWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QDockWidget::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 (int (*)(...))-0x00000000000000010
+456 (int (*)(...))(& _ZTI11QDockWidget)
+464 QDockWidget::_ZThn16_N11QDockWidgetD1Ev
+472 QDockWidget::_ZThn16_N11QDockWidgetD0Ev
+480 QWidget::_ZThn16_NK7QWidget7devTypeEv
+488 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+496 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QDockWidget
+ size=40 align=8
+ base size=40 base align=8
+QDockWidget (0x7fea101da930) 0
+ vptr=((& QDockWidget::_ZTV11QDockWidget) + 16u)
+ QWidget (0x7fea101d6580) 0
+ primary-for QDockWidget (0x7fea101da930)
+ QObject (0x7fea101da9a0) 0
+ primary-for QWidget (0x7fea101d6580)
+ QPaintDevice (0x7fea101daa10) 16
+ vptr=((& QDockWidget::_ZTV11QDockWidget) + 464u)
+
+Vtable for QGroupBox
+QGroupBox::_ZTV9QGroupBox: 63u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QGroupBox)
+16 QGroupBox::metaObject
+24 QGroupBox::qt_metacast
+32 QGroupBox::qt_metacall
+40 QGroupBox::~QGroupBox
+48 QGroupBox::~QGroupBox
+56 QGroupBox::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QGroupBox::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QWidget::sizeHint
+136 QGroupBox::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QGroupBox::mousePressEvent
+168 QGroupBox::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QGroupBox::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QGroupBox::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QGroupBox::paintEvent
+256 QWidget::moveEvent
+264 QGroupBox::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QGroupBox::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 (int (*)(...))-0x00000000000000010
+456 (int (*)(...))(& _ZTI9QGroupBox)
+464 QGroupBox::_ZThn16_N9QGroupBoxD1Ev
+472 QGroupBox::_ZThn16_N9QGroupBoxD0Ev
+480 QWidget::_ZThn16_NK7QWidget7devTypeEv
+488 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+496 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QGroupBox
+ size=40 align=8
+ base size=40 base align=8
+QGroupBox (0x7fea10055380) 0
+ vptr=((& QGroupBox::_ZTV9QGroupBox) + 16u)
+ QWidget (0x7fea0fffdc80) 0
+ primary-for QGroupBox (0x7fea10055380)
+ QObject (0x7fea100553f0) 0
+ primary-for QWidget (0x7fea0fffdc80)
+ QPaintDevice (0x7fea10055460) 16
+ vptr=((& QGroupBox::_ZTV9QGroupBox) + 464u)
+
+Vtable for QDialogButtonBox
+QDialogButtonBox::_ZTV16QDialogButtonBox: 63u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QDialogButtonBox)
+16 QDialogButtonBox::metaObject
+24 QDialogButtonBox::qt_metacast
+32 QDialogButtonBox::qt_metacall
+40 QDialogButtonBox::~QDialogButtonBox
+48 QDialogButtonBox::~QDialogButtonBox
+56 QDialogButtonBox::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QWidget::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QWidget::paintEvent
+256 QWidget::moveEvent
+264 QWidget::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QDialogButtonBox::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 (int (*)(...))-0x00000000000000010
+456 (int (*)(...))(& _ZTI16QDialogButtonBox)
+464 QDialogButtonBox::_ZThn16_N16QDialogButtonBoxD1Ev
+472 QDialogButtonBox::_ZThn16_N16QDialogButtonBoxD0Ev
+480 QWidget::_ZThn16_NK7QWidget7devTypeEv
+488 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+496 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QDialogButtonBox
+ size=40 align=8
+ base size=40 base align=8
+QDialogButtonBox (0x7fea10078000) 0
+ vptr=((& QDialogButtonBox::_ZTV16QDialogButtonBox) + 16u)
+ QWidget (0x7fea1006f580) 0
+ primary-for QDialogButtonBox (0x7fea10078000)
+ QObject (0x7fea10078070) 0
+ primary-for QWidget (0x7fea1006f580)
+ QPaintDevice (0x7fea100780e0) 16
+ vptr=((& QDialogButtonBox::_ZTV16QDialogButtonBox) + 464u)
+
+Vtable for QMainWindow
+QMainWindow::_ZTV11QMainWindow: 64u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QMainWindow)
+16 QMainWindow::metaObject
+24 QMainWindow::qt_metacast
+32 QMainWindow::qt_metacall
+40 QMainWindow::~QMainWindow
+48 QMainWindow::~QMainWindow
+56 QMainWindow::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QWidget::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QWidget::paintEvent
+256 QWidget::moveEvent
+264 QWidget::resizeEvent
+272 QWidget::closeEvent
+280 QMainWindow::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QWidget::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QMainWindow::createPopupMenu
+456 (int (*)(...))-0x00000000000000010
+464 (int (*)(...))(& _ZTI11QMainWindow)
+472 QMainWindow::_ZThn16_N11QMainWindowD1Ev
+480 QMainWindow::_ZThn16_N11QMainWindowD0Ev
+488 QWidget::_ZThn16_NK7QWidget7devTypeEv
+496 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+504 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QMainWindow
+ size=40 align=8
+ base size=40 base align=8
+QMainWindow (0x7fea100e94d0) 0
+ vptr=((& QMainWindow::_ZTV11QMainWindow) + 16u)
+ QWidget (0x7fea100a0600) 0
+ primary-for QMainWindow (0x7fea100e94d0)
+ QObject (0x7fea100e9540) 0
+ primary-for QWidget (0x7fea100a0600)
+ QPaintDevice (0x7fea100e95b0) 16
+ vptr=((& QMainWindow::_ZTV11QMainWindow) + 472u)
+
+Class QTextEdit::ExtraSelection
+ size=24 align=8
+ base size=24 base align=8
+QTextEdit::ExtraSelection (0x7fea0ff6c770) 0
+
+Vtable for QTextEdit
+QTextEdit::_ZTV9QTextEdit: 69u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QTextEdit)
+16 QTextEdit::metaObject
+24 QTextEdit::qt_metacast
+32 QTextEdit::qt_metacall
+40 QTextEdit::~QTextEdit
+48 QTextEdit::~QTextEdit
+56 QTextEdit::event
+64 QObject::eventFilter
+72 QTextEdit::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QAbstractScrollArea::sizeHint
+136 QAbstractScrollArea::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QTextEdit::mousePressEvent
+168 QTextEdit::mouseReleaseEvent
+176 QTextEdit::mouseDoubleClickEvent
+184 QTextEdit::mouseMoveEvent
+192 QTextEdit::wheelEvent
+200 QTextEdit::keyPressEvent
+208 QTextEdit::keyReleaseEvent
+216 QTextEdit::focusInEvent
+224 QTextEdit::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QTextEdit::paintEvent
+256 QWidget::moveEvent
+264 QTextEdit::resizeEvent
+272 QWidget::closeEvent
+280 QTextEdit::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QTextEdit::dragEnterEvent
+312 QTextEdit::dragMoveEvent
+320 QTextEdit::dragLeaveEvent
+328 QTextEdit::dropEvent
+336 QTextEdit::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QTextEdit::changeEvent
+368 QWidget::metric
+376 QTextEdit::inputMethodEvent
+384 QTextEdit::inputMethodQuery
+392 QTextEdit::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QAbstractScrollArea::viewportEvent
+456 QTextEdit::scrollContentsBy
+464 QTextEdit::loadResource
+472 QTextEdit::createMimeDataFromSelection
+480 QTextEdit::canInsertFromMimeData
+488 QTextEdit::insertFromMimeData
+496 (int (*)(...))-0x00000000000000010
+504 (int (*)(...))(& _ZTI9QTextEdit)
+512 QTextEdit::_ZThn16_N9QTextEditD1Ev
+520 QTextEdit::_ZThn16_N9QTextEditD0Ev
+528 QWidget::_ZThn16_NK7QWidget7devTypeEv
+536 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+544 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QTextEdit
+ size=40 align=8
+ base size=40 base align=8
+QTextEdit (0x7fea0ff427e0) 0
+ vptr=((& QTextEdit::_ZTV9QTextEdit) + 16u)
+ QAbstractScrollArea (0x7fea0ff42850) 0
+ primary-for QTextEdit (0x7fea0ff427e0)
+ QFrame (0x7fea0ff428c0) 0
+ primary-for QAbstractScrollArea (0x7fea0ff42850)
+ QWidget (0x7fea0ff15700) 0
+ primary-for QFrame (0x7fea0ff428c0)
+ QObject (0x7fea0ff42930) 0
+ primary-for QWidget (0x7fea0ff15700)
+ QPaintDevice (0x7fea0ff429a0) 16
+ vptr=((& QTextEdit::_ZTV9QTextEdit) + 512u)
+
+Vtable for QPlainTextEdit
+QPlainTextEdit::_ZTV14QPlainTextEdit: 69u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QPlainTextEdit)
+16 QPlainTextEdit::metaObject
+24 QPlainTextEdit::qt_metacast
+32 QPlainTextEdit::qt_metacall
+40 QPlainTextEdit::~QPlainTextEdit
+48 QPlainTextEdit::~QPlainTextEdit
+56 QPlainTextEdit::event
+64 QObject::eventFilter
+72 QPlainTextEdit::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QAbstractScrollArea::sizeHint
+136 QAbstractScrollArea::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QPlainTextEdit::mousePressEvent
+168 QPlainTextEdit::mouseReleaseEvent
+176 QPlainTextEdit::mouseDoubleClickEvent
+184 QPlainTextEdit::mouseMoveEvent
+192 QPlainTextEdit::wheelEvent
+200 QPlainTextEdit::keyPressEvent
+208 QPlainTextEdit::keyReleaseEvent
+216 QPlainTextEdit::focusInEvent
+224 QPlainTextEdit::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QPlainTextEdit::paintEvent
+256 QWidget::moveEvent
+264 QPlainTextEdit::resizeEvent
+272 QWidget::closeEvent
+280 QPlainTextEdit::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QPlainTextEdit::dragEnterEvent
+312 QPlainTextEdit::dragMoveEvent
+320 QPlainTextEdit::dragLeaveEvent
+328 QPlainTextEdit::dropEvent
+336 QPlainTextEdit::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QPlainTextEdit::changeEvent
+368 QWidget::metric
+376 QPlainTextEdit::inputMethodEvent
+384 QPlainTextEdit::inputMethodQuery
+392 QPlainTextEdit::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QAbstractScrollArea::viewportEvent
+456 QPlainTextEdit::scrollContentsBy
+464 QPlainTextEdit::loadResource
+472 QPlainTextEdit::createMimeDataFromSelection
+480 QPlainTextEdit::canInsertFromMimeData
+488 QPlainTextEdit::insertFromMimeData
+496 (int (*)(...))-0x00000000000000010
+504 (int (*)(...))(& _ZTI14QPlainTextEdit)
+512 QPlainTextEdit::_ZThn16_N14QPlainTextEditD1Ev
+520 QPlainTextEdit::_ZThn16_N14QPlainTextEditD0Ev
+528 QWidget::_ZThn16_NK7QWidget7devTypeEv
+536 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+544 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QPlainTextEdit
+ size=40 align=8
+ base size=40 base align=8
+QPlainTextEdit (0x7fea0fe04930) 0
+ vptr=((& QPlainTextEdit::_ZTV14QPlainTextEdit) + 16u)
+ QAbstractScrollArea (0x7fea0fe049a0) 0
+ primary-for QPlainTextEdit (0x7fea0fe04930)
+ QFrame (0x7fea0fe04a10) 0
+ primary-for QAbstractScrollArea (0x7fea0fe049a0)
+ QWidget (0x7fea0ffd3f00) 0
+ primary-for QFrame (0x7fea0fe04a10)
+ QObject (0x7fea0fe04a80) 0
+ primary-for QWidget (0x7fea0ffd3f00)
+ QPaintDevice (0x7fea0fe04af0) 16
+ vptr=((& QPlainTextEdit::_ZTV14QPlainTextEdit) + 512u)
+
+Vtable for QPlainTextDocumentLayout
+QPlainTextDocumentLayout::_ZTV24QPlainTextDocumentLayout: 24u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI24QPlainTextDocumentLayout)
+16 QPlainTextDocumentLayout::metaObject
+24 QPlainTextDocumentLayout::qt_metacast
+32 QPlainTextDocumentLayout::qt_metacall
+40 QPlainTextDocumentLayout::~QPlainTextDocumentLayout
+48 QPlainTextDocumentLayout::~QPlainTextDocumentLayout
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QPlainTextDocumentLayout::draw
+120 QPlainTextDocumentLayout::hitTest
+128 QPlainTextDocumentLayout::pageCount
+136 QPlainTextDocumentLayout::documentSize
+144 QPlainTextDocumentLayout::frameBoundingRect
+152 QPlainTextDocumentLayout::blockBoundingRect
+160 QPlainTextDocumentLayout::documentChanged
+168 QAbstractTextDocumentLayout::resizeInlineObject
+176 QAbstractTextDocumentLayout::positionInlineObject
+184 QAbstractTextDocumentLayout::drawInlineObject
+
+Class QPlainTextDocumentLayout
+ size=16 align=8
+ base size=16 base align=8
+QPlainTextDocumentLayout (0x7fea0fe63700) 0
+ vptr=((& QPlainTextDocumentLayout::_ZTV24QPlainTextDocumentLayout) + 16u)
+ QAbstractTextDocumentLayout (0x7fea0fe63770) 0
+ primary-for QPlainTextDocumentLayout (0x7fea0fe63700)
+ QObject (0x7fea0fe637e0) 0
+ primary-for QAbstractTextDocumentLayout (0x7fea0fe63770)
+
+Vtable for QProgressBar
+QProgressBar::_ZTV12QProgressBar: 64u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QProgressBar)
+16 QProgressBar::metaObject
+24 QProgressBar::qt_metacast
+32 QProgressBar::qt_metacall
+40 QProgressBar::~QProgressBar
+48 QProgressBar::~QProgressBar
+56 QProgressBar::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QProgressBar::sizeHint
+136 QProgressBar::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QProgressBar::paintEvent
+256 QWidget::moveEvent
+264 QWidget::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QWidget::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QProgressBar::text
+456 (int (*)(...))-0x00000000000000010
+464 (int (*)(...))(& _ZTI12QProgressBar)
+472 QProgressBar::_ZThn16_N12QProgressBarD1Ev
+480 QProgressBar::_ZThn16_N12QProgressBarD0Ev
+488 QWidget::_ZThn16_NK7QWidget7devTypeEv
+496 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+504 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QProgressBar
+ size=40 align=8
+ base size=40 base align=8
+QProgressBar (0x7fea0fe79bd0) 0
+ vptr=((& QProgressBar::_ZTV12QProgressBar) + 16u)
+ QWidget (0x7fea0fe62f00) 0
+ primary-for QProgressBar (0x7fea0fe79bd0)
+ QObject (0x7fea0fe79c40) 0
+ primary-for QWidget (0x7fea0fe62f00)
+ QPaintDevice (0x7fea0fe79cb0) 16
+ vptr=((& QProgressBar::_ZTV12QProgressBar) + 472u)
+
+Vtable for QScrollBar
+QScrollBar::_ZTV10QScrollBar: 64u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QScrollBar)
+16 QScrollBar::metaObject
+24 QScrollBar::qt_metacast
+32 QScrollBar::qt_metacall
+40 QScrollBar::~QScrollBar
+48 QScrollBar::~QScrollBar
+56 QScrollBar::event
+64 QObject::eventFilter
+72 QAbstractSlider::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QScrollBar::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QScrollBar::mousePressEvent
+168 QScrollBar::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QScrollBar::mouseMoveEvent
+192 QAbstractSlider::wheelEvent
+200 QAbstractSlider::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QScrollBar::paintEvent
+256 QWidget::moveEvent
+264 QWidget::resizeEvent
+272 QWidget::closeEvent
+280 QScrollBar::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QScrollBar::hideEvent
+352 QWidget::x11Event
+360 QAbstractSlider::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QScrollBar::sliderChange
+456 (int (*)(...))-0x00000000000000010
+464 (int (*)(...))(& _ZTI10QScrollBar)
+472 QScrollBar::_ZThn16_N10QScrollBarD1Ev
+480 QScrollBar::_ZThn16_N10QScrollBarD0Ev
+488 QWidget::_ZThn16_NK7QWidget7devTypeEv
+496 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+504 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QScrollBar
+ size=40 align=8
+ base size=40 base align=8
+QScrollBar (0x7fea0fe9ca10) 0
+ vptr=((& QScrollBar::_ZTV10QScrollBar) + 16u)
+ QAbstractSlider (0x7fea0fe9ca80) 0
+ primary-for QScrollBar (0x7fea0fe9ca10)
+ QWidget (0x7fea0fe7f900) 0
+ primary-for QAbstractSlider (0x7fea0fe9ca80)
+ QObject (0x7fea0fe9caf0) 0
+ primary-for QWidget (0x7fea0fe7f900)
+ QPaintDevice (0x7fea0fe9cb60) 16
+ vptr=((& QScrollBar::_ZTV10QScrollBar) + 472u)
+
+Vtable for QSizeGrip
+QSizeGrip::_ZTV9QSizeGrip: 63u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QSizeGrip)
+16 QSizeGrip::metaObject
+24 QSizeGrip::qt_metacast
+32 QSizeGrip::qt_metacall
+40 QSizeGrip::~QSizeGrip
+48 QSizeGrip::~QSizeGrip
+56 QSizeGrip::event
+64 QSizeGrip::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QSizeGrip::setVisible
+128 QSizeGrip::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QSizeGrip::mousePressEvent
+168 QSizeGrip::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QSizeGrip::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QSizeGrip::paintEvent
+256 QSizeGrip::moveEvent
+264 QWidget::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QSizeGrip::showEvent
+344 QSizeGrip::hideEvent
+352 QWidget::x11Event
+360 QWidget::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 (int (*)(...))-0x00000000000000010
+456 (int (*)(...))(& _ZTI9QSizeGrip)
+464 QSizeGrip::_ZThn16_N9QSizeGripD1Ev
+472 QSizeGrip::_ZThn16_N9QSizeGripD0Ev
+480 QWidget::_ZThn16_NK7QWidget7devTypeEv
+488 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+496 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QSizeGrip
+ size=40 align=8
+ base size=40 base align=8
+QSizeGrip (0x7fea0febcb60) 0
+ vptr=((& QSizeGrip::_ZTV9QSizeGrip) + 16u)
+ QWidget (0x7fea0febe380) 0
+ primary-for QSizeGrip (0x7fea0febcb60)
+ QObject (0x7fea0febcbd0) 0
+ primary-for QWidget (0x7fea0febe380)
+ QPaintDevice (0x7fea0febcc40) 16
+ vptr=((& QSizeGrip::_ZTV9QSizeGrip) + 464u)
+
+Vtable for QTextBrowser
+QTextBrowser::_ZTV12QTextBrowser: 74u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QTextBrowser)
+16 QTextBrowser::metaObject
+24 QTextBrowser::qt_metacast
+32 QTextBrowser::qt_metacall
+40 QTextBrowser::~QTextBrowser
+48 QTextBrowser::~QTextBrowser
+56 QTextBrowser::event
+64 QObject::eventFilter
+72 QTextEdit::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QAbstractScrollArea::sizeHint
+136 QAbstractScrollArea::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QTextBrowser::mousePressEvent
+168 QTextBrowser::mouseReleaseEvent
+176 QTextEdit::mouseDoubleClickEvent
+184 QTextBrowser::mouseMoveEvent
+192 QTextEdit::wheelEvent
+200 QTextBrowser::keyPressEvent
+208 QTextEdit::keyReleaseEvent
+216 QTextEdit::focusInEvent
+224 QTextBrowser::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QTextBrowser::paintEvent
+256 QWidget::moveEvent
+264 QTextEdit::resizeEvent
+272 QWidget::closeEvent
+280 QTextEdit::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QTextEdit::dragEnterEvent
+312 QTextEdit::dragMoveEvent
+320 QTextEdit::dragLeaveEvent
+328 QTextEdit::dropEvent
+336 QTextEdit::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QTextEdit::changeEvent
+368 QWidget::metric
+376 QTextEdit::inputMethodEvent
+384 QTextEdit::inputMethodQuery
+392 QTextBrowser::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QAbstractScrollArea::viewportEvent
+456 QTextEdit::scrollContentsBy
+464 QTextBrowser::loadResource
+472 QTextEdit::createMimeDataFromSelection
+480 QTextEdit::canInsertFromMimeData
+488 QTextEdit::insertFromMimeData
+496 QTextBrowser::setSource
+504 QTextBrowser::backward
+512 QTextBrowser::forward
+520 QTextBrowser::home
+528 QTextBrowser::reload
+536 (int (*)(...))-0x00000000000000010
+544 (int (*)(...))(& _ZTI12QTextBrowser)
+552 QTextBrowser::_ZThn16_N12QTextBrowserD1Ev
+560 QTextBrowser::_ZThn16_N12QTextBrowserD0Ev
+568 QWidget::_ZThn16_NK7QWidget7devTypeEv
+576 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+584 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QTextBrowser
+ size=40 align=8
+ base size=40 base align=8
+QTextBrowser (0x7fea0feda690) 0
+ vptr=((& QTextBrowser::_ZTV12QTextBrowser) + 16u)
+ QTextEdit (0x7fea0feda700) 0
+ primary-for QTextBrowser (0x7fea0feda690)
+ QAbstractScrollArea (0x7fea0feda770) 0
+ primary-for QTextEdit (0x7fea0feda700)
+ QFrame (0x7fea0feda7e0) 0
+ primary-for QAbstractScrollArea (0x7fea0feda770)
+ QWidget (0x7fea0febec80) 0
+ primary-for QFrame (0x7fea0feda7e0)
+ QObject (0x7fea0feda850) 0
+ primary-for QWidget (0x7fea0febec80)
+ QPaintDevice (0x7fea0feda8c0) 16
+ vptr=((& QTextBrowser::_ZTV12QTextBrowser) + 552u)
+
+Vtable for QStatusBar
+QStatusBar::_ZTV10QStatusBar: 63u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QStatusBar)
+16 QStatusBar::metaObject
+24 QStatusBar::qt_metacast
+32 QStatusBar::qt_metacall
+40 QStatusBar::~QStatusBar
+48 QStatusBar::~QStatusBar
+56 QStatusBar::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QWidget::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QStatusBar::paintEvent
+256 QWidget::moveEvent
+264 QStatusBar::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QStatusBar::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QWidget::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 (int (*)(...))-0x00000000000000010
+456 (int (*)(...))(& _ZTI10QStatusBar)
+464 QStatusBar::_ZThn16_N10QStatusBarD1Ev
+472 QStatusBar::_ZThn16_N10QStatusBarD0Ev
+480 QWidget::_ZThn16_NK7QWidget7devTypeEv
+488 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+496 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QStatusBar
+ size=40 align=8
+ base size=40 base align=8
+QStatusBar (0x7fea0fcfe2a0) 0
+ vptr=((& QStatusBar::_ZTV10QStatusBar) + 16u)
+ QWidget (0x7fea0fcf5580) 0
+ primary-for QStatusBar (0x7fea0fcfe2a0)
+ QObject (0x7fea0fcfe310) 0
+ primary-for QWidget (0x7fea0fcf5580)
+ QPaintDevice (0x7fea0fcfe380) 16
+ vptr=((& QStatusBar::_ZTV10QStatusBar) + 464u)
+
+Vtable for QToolButton
+QToolButton::_ZTV11QToolButton: 66u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QToolButton)
+16 QToolButton::metaObject
+24 QToolButton::qt_metacast
+32 QToolButton::qt_metacall
+40 QToolButton::~QToolButton
+48 QToolButton::~QToolButton
+56 QToolButton::event
+64 QObject::eventFilter
+72 QToolButton::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QToolButton::sizeHint
+136 QToolButton::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QToolButton::mousePressEvent
+168 QToolButton::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QAbstractButton::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QAbstractButton::keyPressEvent
+208 QAbstractButton::keyReleaseEvent
+216 QAbstractButton::focusInEvent
+224 QAbstractButton::focusOutEvent
+232 QToolButton::enterEvent
+240 QToolButton::leaveEvent
+248 QToolButton::paintEvent
+256 QWidget::moveEvent
+264 QWidget::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QToolButton::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QToolButton::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QToolButton::hitButton
+456 QAbstractButton::checkStateSet
+464 QToolButton::nextCheckState
+472 (int (*)(...))-0x00000000000000010
+480 (int (*)(...))(& _ZTI11QToolButton)
+488 QToolButton::_ZThn16_N11QToolButtonD1Ev
+496 QToolButton::_ZThn16_N11QToolButtonD0Ev
+504 QWidget::_ZThn16_NK7QWidget7devTypeEv
+512 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+520 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QToolButton
+ size=40 align=8
+ base size=40 base align=8
+QToolButton (0x7fea0fd1f7e0) 0
+ vptr=((& QToolButton::_ZTV11QToolButton) + 16u)
+ QAbstractButton (0x7fea0fd1f850) 0
+ primary-for QToolButton (0x7fea0fd1f7e0)
+ QWidget (0x7fea0fd1d480) 0
+ primary-for QAbstractButton (0x7fea0fd1f850)
+ QObject (0x7fea0fd1f8c0) 0
+ primary-for QWidget (0x7fea0fd1d480)
+ QPaintDevice (0x7fea0fd1f930) 16
+ vptr=((& QToolButton::_ZTV11QToolButton) + 488u)
+
+Vtable for QComboBox
+QComboBox::_ZTV9QComboBox: 65u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QComboBox)
+16 QComboBox::metaObject
+24 QComboBox::qt_metacast
+32 QComboBox::qt_metacall
+40 QComboBox::~QComboBox
+48 QComboBox::~QComboBox
+56 QComboBox::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QComboBox::sizeHint
+136 QComboBox::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QComboBox::mousePressEvent
+168 QComboBox::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QComboBox::wheelEvent
+200 QComboBox::keyPressEvent
+208 QComboBox::keyReleaseEvent
+216 QComboBox::focusInEvent
+224 QComboBox::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QComboBox::paintEvent
+256 QWidget::moveEvent
+264 QComboBox::resizeEvent
+272 QWidget::closeEvent
+280 QComboBox::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QComboBox::showEvent
+344 QComboBox::hideEvent
+352 QWidget::x11Event
+360 QComboBox::changeEvent
+368 QWidget::metric
+376 QComboBox::inputMethodEvent
+384 QComboBox::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QComboBox::showPopup
+456 QComboBox::hidePopup
+464 (int (*)(...))-0x00000000000000010
+472 (int (*)(...))(& _ZTI9QComboBox)
+480 QComboBox::_ZThn16_N9QComboBoxD1Ev
+488 QComboBox::_ZThn16_N9QComboBoxD0Ev
+496 QWidget::_ZThn16_NK7QWidget7devTypeEv
+504 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+512 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QComboBox
+ size=40 align=8
+ base size=40 base align=8
+QComboBox (0x7fea0fd5faf0) 0
+ vptr=((& QComboBox::_ZTV9QComboBox) + 16u)
+ QWidget (0x7fea0fd66080) 0
+ primary-for QComboBox (0x7fea0fd5faf0)
+ QObject (0x7fea0fd5fb60) 0
+ primary-for QWidget (0x7fea0fd66080)
+ QPaintDevice (0x7fea0fd5fbd0) 16
+ vptr=((& QComboBox::_ZTV9QComboBox) + 480u)
+
+Vtable for QCommandLinkButton
+QCommandLinkButton::_ZTV18QCommandLinkButton: 66u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QCommandLinkButton)
+16 QCommandLinkButton::metaObject
+24 QCommandLinkButton::qt_metacast
+32 QCommandLinkButton::qt_metacall
+40 QCommandLinkButton::~QCommandLinkButton
+48 QCommandLinkButton::~QCommandLinkButton
+56 QCommandLinkButton::event
+64 QObject::eventFilter
+72 QAbstractButton::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QCommandLinkButton::sizeHint
+136 QCommandLinkButton::minimumSizeHint
+144 QCommandLinkButton::heightForWidth
+152 QWidget::paintEngine
+160 QAbstractButton::mousePressEvent
+168 QAbstractButton::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QAbstractButton::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QPushButton::keyPressEvent
+208 QAbstractButton::keyReleaseEvent
+216 QPushButton::focusInEvent
+224 QPushButton::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QCommandLinkButton::paintEvent
+256 QWidget::moveEvent
+264 QWidget::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QAbstractButton::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QAbstractButton::hitButton
+456 QAbstractButton::checkStateSet
+464 QAbstractButton::nextCheckState
+472 (int (*)(...))-0x00000000000000010
+480 (int (*)(...))(& _ZTI18QCommandLinkButton)
+488 QCommandLinkButton::_ZThn16_N18QCommandLinkButtonD1Ev
+496 QCommandLinkButton::_ZThn16_N18QCommandLinkButtonD0Ev
+504 QWidget::_ZThn16_NK7QWidget7devTypeEv
+512 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+520 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QCommandLinkButton
+ size=40 align=8
+ base size=40 base align=8
+QCommandLinkButton (0x7fea0fdce620) 0
+ vptr=((& QCommandLinkButton::_ZTV18QCommandLinkButton) + 16u)
+ QPushButton (0x7fea0fdce690) 0
+ primary-for QCommandLinkButton (0x7fea0fdce620)
+ QAbstractButton (0x7fea0fdce700) 0
+ primary-for QPushButton (0x7fea0fdce690)
+ QWidget (0x7fea0fdcac80) 0
+ primary-for QAbstractButton (0x7fea0fdce700)
+ QObject (0x7fea0fdce770) 0
+ primary-for QWidget (0x7fea0fdcac80)
+ QPaintDevice (0x7fea0fdce7e0) 16
+ vptr=((& QCommandLinkButton::_ZTV18QCommandLinkButton) + 488u)
+
+Vtable for QMenuItem
+QMenuItem::_ZTV9QMenuItem: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QMenuItem)
+16 QMenuItem::metaObject
+24 QMenuItem::qt_metacast
+32 QMenuItem::qt_metacall
+40 QMenuItem::~QMenuItem
+48 QMenuItem::~QMenuItem
+56 QAction::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QMenuItem
+ size=16 align=8
+ base size=16 base align=8
+QMenuItem (0x7fea0fdf01c0) 0
+ vptr=((& QMenuItem::_ZTV9QMenuItem) + 16u)
+ QAction (0x7fea0fdf0230) 0
+ primary-for QMenuItem (0x7fea0fdf01c0)
+ QObject (0x7fea0fdf02a0) 0
+ primary-for QAction (0x7fea0fdf0230)
+
+Vtable for QCalendarWidget
+QCalendarWidget::_ZTV15QCalendarWidget: 64u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QCalendarWidget)
+16 QCalendarWidget::metaObject
+24 QCalendarWidget::qt_metacast
+32 QCalendarWidget::qt_metacall
+40 QCalendarWidget::~QCalendarWidget
+48 QCalendarWidget::~QCalendarWidget
+56 QCalendarWidget::event
+64 QCalendarWidget::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QCalendarWidget::sizeHint
+136 QCalendarWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QCalendarWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QCalendarWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QWidget::paintEvent
+256 QWidget::moveEvent
+264 QCalendarWidget::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QWidget::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QCalendarWidget::paintCell
+456 (int (*)(...))-0x00000000000000010
+464 (int (*)(...))(& _ZTI15QCalendarWidget)
+472 QCalendarWidget::_ZThn16_N15QCalendarWidgetD1Ev
+480 QCalendarWidget::_ZThn16_N15QCalendarWidgetD0Ev
+488 QWidget::_ZThn16_NK7QWidget7devTypeEv
+496 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+504 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QCalendarWidget
+ size=40 align=8
+ base size=40 base align=8
+QCalendarWidget (0x7fea0fbfc000) 0
+ vptr=((& QCalendarWidget::_ZTV15QCalendarWidget) + 16u)
+ QWidget (0x7fea0fde7c00) 0
+ primary-for QCalendarWidget (0x7fea0fbfc000)
+ QObject (0x7fea0fbfc070) 0
+ primary-for QWidget (0x7fea0fde7c00)
+ QPaintDevice (0x7fea0fbfc0e0) 16
+ vptr=((& QCalendarWidget::_ZTV15QCalendarWidget) + 472u)
+
+Vtable for QRadioButton
+QRadioButton::_ZTV12QRadioButton: 66u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QRadioButton)
+16 QRadioButton::metaObject
+24 QRadioButton::qt_metacast
+32 QRadioButton::qt_metacall
+40 QRadioButton::~QRadioButton
+48 QRadioButton::~QRadioButton
+56 QRadioButton::event
+64 QObject::eventFilter
+72 QAbstractButton::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QRadioButton::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QAbstractButton::mousePressEvent
+168 QAbstractButton::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QRadioButton::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QAbstractButton::keyPressEvent
+208 QAbstractButton::keyReleaseEvent
+216 QAbstractButton::focusInEvent
+224 QAbstractButton::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QRadioButton::paintEvent
+256 QWidget::moveEvent
+264 QWidget::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QAbstractButton::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QRadioButton::hitButton
+456 QAbstractButton::checkStateSet
+464 QAbstractButton::nextCheckState
+472 (int (*)(...))-0x00000000000000010
+480 (int (*)(...))(& _ZTI12QRadioButton)
+488 QRadioButton::_ZThn16_N12QRadioButtonD1Ev
+496 QRadioButton::_ZThn16_N12QRadioButtonD0Ev
+504 QWidget::_ZThn16_NK7QWidget7devTypeEv
+512 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+520 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QRadioButton
+ size=40 align=8
+ base size=40 base align=8
+QRadioButton (0x7fea0fc29150) 0
+ vptr=((& QRadioButton::_ZTV12QRadioButton) + 16u)
+ QAbstractButton (0x7fea0fc291c0) 0
+ primary-for QRadioButton (0x7fea0fc29150)
+ QWidget (0x7fea0fc02b00) 0
+ primary-for QAbstractButton (0x7fea0fc291c0)
+ QObject (0x7fea0fc29230) 0
+ primary-for QWidget (0x7fea0fc02b00)
+ QPaintDevice (0x7fea0fc292a0) 16
+ vptr=((& QRadioButton::_ZTV12QRadioButton) + 488u)
+
+Vtable for QMenuBar
+QMenuBar::_ZTV8QMenuBar: 63u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI8QMenuBar)
+16 QMenuBar::metaObject
+24 QMenuBar::qt_metacast
+32 QMenuBar::qt_metacall
+40 QMenuBar::~QMenuBar
+48 QMenuBar::~QMenuBar
+56 QMenuBar::event
+64 QMenuBar::eventFilter
+72 QMenuBar::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QMenuBar::setVisible
+128 QMenuBar::sizeHint
+136 QMenuBar::minimumSizeHint
+144 QMenuBar::heightForWidth
+152 QWidget::paintEngine
+160 QMenuBar::mousePressEvent
+168 QMenuBar::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QMenuBar::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QMenuBar::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QMenuBar::focusInEvent
+224 QMenuBar::focusOutEvent
+232 QWidget::enterEvent
+240 QMenuBar::leaveEvent
+248 QMenuBar::paintEvent
+256 QWidget::moveEvent
+264 QMenuBar::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QMenuBar::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QMenuBar::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 (int (*)(...))-0x00000000000000010
+456 (int (*)(...))(& _ZTI8QMenuBar)
+464 QMenuBar::_ZThn16_N8QMenuBarD1Ev
+472 QMenuBar::_ZThn16_N8QMenuBarD0Ev
+480 QWidget::_ZThn16_NK7QWidget7devTypeEv
+488 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+496 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QMenuBar
+ size=40 align=8
+ base size=40 base align=8
+QMenuBar (0x7fea0fc3fd90) 0
+ vptr=((& QMenuBar::_ZTV8QMenuBar) + 16u)
+ QWidget (0x7fea0fc43400) 0
+ primary-for QMenuBar (0x7fea0fc3fd90)
+ QObject (0x7fea0fc3fe00) 0
+ primary-for QWidget (0x7fea0fc43400)
+ QPaintDevice (0x7fea0fc3fe70) 16
+ vptr=((& QMenuBar::_ZTV8QMenuBar) + 464u)
+
+Vtable for QFocusFrame
+QFocusFrame::_ZTV11QFocusFrame: 63u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QFocusFrame)
+16 QFocusFrame::metaObject
+24 QFocusFrame::qt_metacast
+32 QFocusFrame::qt_metacall
+40 QFocusFrame::~QFocusFrame
+48 QFocusFrame::~QFocusFrame
+56 QFocusFrame::event
+64 QFocusFrame::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QWidget::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QFocusFrame::paintEvent
+256 QWidget::moveEvent
+264 QWidget::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QWidget::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 (int (*)(...))-0x00000000000000010
+456 (int (*)(...))(& _ZTI11QFocusFrame)
+464 QFocusFrame::_ZThn16_N11QFocusFrameD1Ev
+472 QFocusFrame::_ZThn16_N11QFocusFrameD0Ev
+480 QWidget::_ZThn16_NK7QWidget7devTypeEv
+488 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+496 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QFocusFrame
+ size=40 align=8
+ base size=40 base align=8
+QFocusFrame (0x7fea0fcdecb0) 0
+ vptr=((& QFocusFrame::_ZTV11QFocusFrame) + 16u)
+ QWidget (0x7fea0fcdbe00) 0
+ primary-for QFocusFrame (0x7fea0fcdecb0)
+ QObject (0x7fea0fcded20) 0
+ primary-for QWidget (0x7fea0fcdbe00)
+ QPaintDevice (0x7fea0fcded90) 16
+ vptr=((& QFocusFrame::_ZTV11QFocusFrame) + 464u)
+
+Vtable for QFontComboBox
+QFontComboBox::_ZTV13QFontComboBox: 65u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QFontComboBox)
+16 QFontComboBox::metaObject
+24 QFontComboBox::qt_metacast
+32 QFontComboBox::qt_metacall
+40 QFontComboBox::~QFontComboBox
+48 QFontComboBox::~QFontComboBox
+56 QFontComboBox::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QFontComboBox::sizeHint
+136 QComboBox::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QComboBox::mousePressEvent
+168 QComboBox::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QComboBox::wheelEvent
+200 QComboBox::keyPressEvent
+208 QComboBox::keyReleaseEvent
+216 QComboBox::focusInEvent
+224 QComboBox::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QComboBox::paintEvent
+256 QWidget::moveEvent
+264 QComboBox::resizeEvent
+272 QWidget::closeEvent
+280 QComboBox::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QComboBox::showEvent
+344 QComboBox::hideEvent
+352 QWidget::x11Event
+360 QComboBox::changeEvent
+368 QWidget::metric
+376 QComboBox::inputMethodEvent
+384 QComboBox::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QComboBox::showPopup
+456 QComboBox::hidePopup
+464 (int (*)(...))-0x00000000000000010
+472 (int (*)(...))(& _ZTI13QFontComboBox)
+480 QFontComboBox::_ZThn16_N13QFontComboBoxD1Ev
+488 QFontComboBox::_ZThn16_N13QFontComboBoxD0Ev
+496 QWidget::_ZThn16_NK7QWidget7devTypeEv
+504 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+512 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QFontComboBox
+ size=40 align=8
+ base size=40 base align=8
+QFontComboBox (0x7fea0faf7850) 0
+ vptr=((& QFontComboBox::_ZTV13QFontComboBox) + 16u)
+ QComboBox (0x7fea0faf78c0) 0
+ primary-for QFontComboBox (0x7fea0faf7850)
+ QWidget (0x7fea0faf0700) 0
+ primary-for QComboBox (0x7fea0faf78c0)
+ QObject (0x7fea0faf7930) 0
+ primary-for QWidget (0x7fea0faf0700)
+ QPaintDevice (0x7fea0faf79a0) 16
+ vptr=((& QFontComboBox::_ZTV13QFontComboBox) + 480u)
+
+Vtable for QToolBar
+QToolBar::_ZTV8QToolBar: 63u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI8QToolBar)
+16 QToolBar::metaObject
+24 QToolBar::qt_metacast
+32 QToolBar::qt_metacall
+40 QToolBar::~QToolBar
+48 QToolBar::~QToolBar
+56 QToolBar::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QToolBar::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QWidget::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QToolBar::paintEvent
+256 QWidget::moveEvent
+264 QToolBar::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QToolBar::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QToolBar::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 (int (*)(...))-0x00000000000000010
+456 (int (*)(...))(& _ZTI8QToolBar)
+464 QToolBar::_ZThn16_N8QToolBarD1Ev
+472 QToolBar::_ZThn16_N8QToolBarD0Ev
+480 QWidget::_ZThn16_NK7QWidget7devTypeEv
+488 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+496 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QToolBar
+ size=40 align=8
+ base size=40 base align=8
+QToolBar (0x7fea0fb63540) 0
+ vptr=((& QToolBar::_ZTV8QToolBar) + 16u)
+ QWidget (0x7fea0fb12800) 0
+ primary-for QToolBar (0x7fea0fb63540)
+ QObject (0x7fea0fb635b0) 0
+ primary-for QWidget (0x7fea0fb12800)
+ QPaintDevice (0x7fea0fb63620) 16
+ vptr=((& QToolBar::_ZTV8QToolBar) + 464u)
+
+Vtable for QToolBox
+QToolBox::_ZTV8QToolBox: 65u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI8QToolBox)
+16 QToolBox::metaObject
+24 QToolBox::qt_metacast
+32 QToolBox::qt_metacall
+40 QToolBox::~QToolBox
+48 QToolBox::~QToolBox
+56 QToolBox::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QFrame::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QFrame::paintEvent
+256 QWidget::moveEvent
+264 QWidget::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QToolBox::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QToolBox::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QToolBox::itemInserted
+456 QToolBox::itemRemoved
+464 (int (*)(...))-0x00000000000000010
+472 (int (*)(...))(& _ZTI8QToolBox)
+480 QToolBox::_ZThn16_N8QToolBoxD1Ev
+488 QToolBox::_ZThn16_N8QToolBoxD0Ev
+496 QWidget::_ZThn16_NK7QWidget7devTypeEv
+504 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+512 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QToolBox
+ size=40 align=8
+ base size=40 base align=8
+QToolBox (0x7fea0fb9a380) 0
+ vptr=((& QToolBox::_ZTV8QToolBox) + 16u)
+ QFrame (0x7fea0fb9a3f0) 0
+ primary-for QToolBox (0x7fea0fb9a380)
+ QWidget (0x7fea0fb95800) 0
+ primary-for QFrame (0x7fea0fb9a3f0)
+ QObject (0x7fea0fb9a460) 0
+ primary-for QWidget (0x7fea0fb95800)
+ QPaintDevice (0x7fea0fb9a4d0) 16
+ vptr=((& QToolBox::_ZTV8QToolBox) + 480u)
+
+Vtable for QSplitter
+QSplitter::_ZTV9QSplitter: 64u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QSplitter)
+16 QSplitter::metaObject
+24 QSplitter::qt_metacast
+32 QSplitter::qt_metacall
+40 QSplitter::~QSplitter
+48 QSplitter::~QSplitter
+56 QSplitter::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QSplitter::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QSplitter::sizeHint
+136 QSplitter::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QFrame::paintEvent
+256 QWidget::moveEvent
+264 QSplitter::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QSplitter::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QSplitter::createHandle
+456 (int (*)(...))-0x00000000000000010
+464 (int (*)(...))(& _ZTI9QSplitter)
+472 QSplitter::_ZThn16_N9QSplitterD1Ev
+480 QSplitter::_ZThn16_N9QSplitterD0Ev
+488 QWidget::_ZThn16_NK7QWidget7devTypeEv
+496 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+504 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QSplitter
+ size=40 align=8
+ base size=40 base align=8
+QSplitter (0x7fea0fbd2000) 0
+ vptr=((& QSplitter::_ZTV9QSplitter) + 16u)
+ QFrame (0x7fea0fbd2070) 0
+ primary-for QSplitter (0x7fea0fbd2000)
+ QWidget (0x7fea0fbcd480) 0
+ primary-for QFrame (0x7fea0fbd2070)
+ QObject (0x7fea0fbd20e0) 0
+ primary-for QWidget (0x7fea0fbcd480)
+ QPaintDevice (0x7fea0fbd2150) 16
+ vptr=((& QSplitter::_ZTV9QSplitter) + 472u)
+
+Vtable for QSplitterHandle
+QSplitterHandle::_ZTV15QSplitterHandle: 63u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QSplitterHandle)
+16 QSplitterHandle::metaObject
+24 QSplitterHandle::qt_metacast
+32 QSplitterHandle::qt_metacall
+40 QSplitterHandle::~QSplitterHandle
+48 QSplitterHandle::~QSplitterHandle
+56 QSplitterHandle::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QSplitterHandle::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QSplitterHandle::mousePressEvent
+168 QSplitterHandle::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QSplitterHandle::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QSplitterHandle::paintEvent
+256 QWidget::moveEvent
+264 QWidget::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QWidget::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 (int (*)(...))-0x00000000000000010
+456 (int (*)(...))(& _ZTI15QSplitterHandle)
+464 QSplitterHandle::_ZThn16_N15QSplitterHandleD1Ev
+472 QSplitterHandle::_ZThn16_N15QSplitterHandleD0Ev
+480 QWidget::_ZThn16_NK7QWidget7devTypeEv
+488 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+496 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QSplitterHandle
+ size=40 align=8
+ base size=40 base align=8
+QSplitterHandle (0x7fea0f9ff0e0) 0
+ vptr=((& QSplitterHandle::_ZTV15QSplitterHandle) + 16u)
+ QWidget (0x7fea0f9f9580) 0
+ primary-for QSplitterHandle (0x7fea0f9ff0e0)
+ QObject (0x7fea0f9ff150) 0
+ primary-for QWidget (0x7fea0f9f9580)
+ QPaintDevice (0x7fea0f9ff1c0) 16
+ vptr=((& QSplitterHandle::_ZTV15QSplitterHandle) + 464u)
+
+Vtable for QDial
+QDial::_ZTV5QDial: 64u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI5QDial)
+16 QDial::metaObject
+24 QDial::qt_metacast
+32 QDial::qt_metacall
+40 QDial::~QDial
+48 QDial::~QDial
+56 QDial::event
+64 QObject::eventFilter
+72 QAbstractSlider::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QDial::sizeHint
+136 QDial::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QDial::mousePressEvent
+168 QDial::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QDial::mouseMoveEvent
+192 QAbstractSlider::wheelEvent
+200 QAbstractSlider::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QDial::paintEvent
+256 QWidget::moveEvent
+264 QDial::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QAbstractSlider::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QDial::sliderChange
+456 (int (*)(...))-0x00000000000000010
+464 (int (*)(...))(& _ZTI5QDial)
+472 QDial::_ZThn16_N5QDialD1Ev
+480 QDial::_ZThn16_N5QDialD0Ev
+488 QWidget::_ZThn16_NK7QWidget7devTypeEv
+496 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+504 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QDial
+ size=40 align=8
+ base size=40 base align=8
+QDial (0x7fea0fa178c0) 0
+ vptr=((& QDial::_ZTV5QDial) + 16u)
+ QAbstractSlider (0x7fea0fa17930) 0
+ primary-for QDial (0x7fea0fa178c0)
+ QWidget (0x7fea0f9f9e80) 0
+ primary-for QAbstractSlider (0x7fea0fa17930)
+ QObject (0x7fea0fa179a0) 0
+ primary-for QWidget (0x7fea0f9f9e80)
+ QPaintDevice (0x7fea0fa17a10) 16
+ vptr=((& QDial::_ZTV5QDial) + 472u)
+
+Class QSslCertificate
+ size=8 align=8
+ base size=8 base align=8
+QSslCertificate (0x7fea0fa38540) 0
+
+Class QSslError
+ size=8 align=8
+ base size=8 base align=8
+QSslError (0x7fea0fa53000) 0
+
+Class QSslCipher
+ size=8 align=8
+ base size=8 base align=8
+QSslCipher (0x7fea0fa53d90) 0
+
+Vtable for QAbstractSocket
+QAbstractSocket::_ZTV15QAbstractSocket: 30u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QAbstractSocket)
+16 QAbstractSocket::metaObject
+24 QAbstractSocket::qt_metacast
+32 QAbstractSocket::qt_metacall
+40 QAbstractSocket::~QAbstractSocket
+48 QAbstractSocket::~QAbstractSocket
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QAbstractSocket::isSequential
+120 QIODevice::open
+128 QAbstractSocket::close
+136 QIODevice::pos
+144 QIODevice::size
+152 QIODevice::seek
+160 QAbstractSocket::atEnd
+168 QIODevice::reset
+176 QAbstractSocket::bytesAvailable
+184 QAbstractSocket::bytesToWrite
+192 QAbstractSocket::canReadLine
+200 QAbstractSocket::waitForReadyRead
+208 QAbstractSocket::waitForBytesWritten
+216 QAbstractSocket::readData
+224 QAbstractSocket::readLineData
+232 QAbstractSocket::writeData
+
+Class QAbstractSocket
+ size=16 align=8
+ base size=16 base align=8
+QAbstractSocket (0x7fea0fa63700) 0
+ vptr=((& QAbstractSocket::_ZTV15QAbstractSocket) + 16u)
+ QIODevice (0x7fea0fa63770) 0
+ primary-for QAbstractSocket (0x7fea0fa63700)
+ QObject (0x7fea0fa637e0) 0
+ primary-for QIODevice (0x7fea0fa63770)
+
+Vtable for QTcpSocket
+QTcpSocket::_ZTV10QTcpSocket: 30u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QTcpSocket)
+16 QTcpSocket::metaObject
+24 QTcpSocket::qt_metacast
+32 QTcpSocket::qt_metacall
+40 QTcpSocket::~QTcpSocket
+48 QTcpSocket::~QTcpSocket
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QAbstractSocket::isSequential
+120 QIODevice::open
+128 QAbstractSocket::close
+136 QIODevice::pos
+144 QIODevice::size
+152 QIODevice::seek
+160 QAbstractSocket::atEnd
+168 QIODevice::reset
+176 QAbstractSocket::bytesAvailable
+184 QAbstractSocket::bytesToWrite
+192 QAbstractSocket::canReadLine
+200 QAbstractSocket::waitForReadyRead
+208 QAbstractSocket::waitForBytesWritten
+216 QAbstractSocket::readData
+224 QAbstractSocket::readLineData
+232 QAbstractSocket::writeData
+
+Class QTcpSocket
+ size=16 align=8
+ base size=16 base align=8
+QTcpSocket (0x7fea0fa9ed90) 0
+ vptr=((& QTcpSocket::_ZTV10QTcpSocket) + 16u)
+ QAbstractSocket (0x7fea0fa9ee00) 0
+ primary-for QTcpSocket (0x7fea0fa9ed90)
+ QIODevice (0x7fea0fa9ee70) 0
+ primary-for QAbstractSocket (0x7fea0fa9ee00)
+ QObject (0x7fea0fa9eee0) 0
+ primary-for QIODevice (0x7fea0fa9ee70)
+
+Vtable for QSslSocket
+QSslSocket::_ZTV10QSslSocket: 30u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QSslSocket)
+16 QSslSocket::metaObject
+24 QSslSocket::qt_metacast
+32 QSslSocket::qt_metacall
+40 QSslSocket::~QSslSocket
+48 QSslSocket::~QSslSocket
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QAbstractSocket::isSequential
+120 QIODevice::open
+128 QSslSocket::close
+136 QIODevice::pos
+144 QIODevice::size
+152 QIODevice::seek
+160 QSslSocket::atEnd
+168 QIODevice::reset
+176 QSslSocket::bytesAvailable
+184 QSslSocket::bytesToWrite
+192 QSslSocket::canReadLine
+200 QSslSocket::waitForReadyRead
+208 QSslSocket::waitForBytesWritten
+216 QSslSocket::readData
+224 QAbstractSocket::readLineData
+232 QSslSocket::writeData
+
+Class QSslSocket
+ size=16 align=8
+ base size=16 base align=8
+QSslSocket (0x7fea0faba850) 0
+ vptr=((& QSslSocket::_ZTV10QSslSocket) + 16u)
+ QTcpSocket (0x7fea0faba8c0) 0
+ primary-for QSslSocket (0x7fea0faba850)
+ QAbstractSocket (0x7fea0faba930) 0
+ primary-for QTcpSocket (0x7fea0faba8c0)
+ QIODevice (0x7fea0faba9a0) 0
+ primary-for QAbstractSocket (0x7fea0faba930)
+ QObject (0x7fea0fabaa10) 0
+ primary-for QIODevice (0x7fea0faba9a0)
+
+Class QSslConfiguration
+ size=8 align=8
+ base size=8 base align=8
+QSslConfiguration (0x7fea0f8ed5b0) 0
+
+Class QSslKey
+ size=8 align=8
+ base size=8 base align=8
+QSslKey (0x7fea0f8fc380) 0
+
+Vtable for QHttpHeader
+QHttpHeader::_ZTV11QHttpHeader: 8u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QHttpHeader)
+16 QHttpHeader::~QHttpHeader
+24 QHttpHeader::~QHttpHeader
+32 QHttpHeader::toString
+40 __cxa_pure_virtual
+48 __cxa_pure_virtual
+56 QHttpHeader::parseLine
+
+Class QHttpHeader
+ size=16 align=8
+ base size=16 base align=8
+QHttpHeader (0x7fea0f8fcee0) 0
+ vptr=((& QHttpHeader::_ZTV11QHttpHeader) + 16u)
+
+Vtable for QHttpResponseHeader
+QHttpResponseHeader::_ZTV19QHttpResponseHeader: 8u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QHttpResponseHeader)
+16 QHttpResponseHeader::~QHttpResponseHeader
+24 QHttpResponseHeader::~QHttpResponseHeader
+32 QHttpResponseHeader::toString
+40 QHttpResponseHeader::majorVersion
+48 QHttpResponseHeader::minorVersion
+56 QHttpResponseHeader::parseLine
+
+Class QHttpResponseHeader
+ size=16 align=8
+ base size=16 base align=8
+QHttpResponseHeader (0x7fea0f919b60) 0
+ vptr=((& QHttpResponseHeader::_ZTV19QHttpResponseHeader) + 16u)
+ QHttpHeader (0x7fea0f919bd0) 0
+ primary-for QHttpResponseHeader (0x7fea0f919b60)
+
+Vtable for QHttpRequestHeader
+QHttpRequestHeader::_ZTV18QHttpRequestHeader: 8u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QHttpRequestHeader)
+16 QHttpRequestHeader::~QHttpRequestHeader
+24 QHttpRequestHeader::~QHttpRequestHeader
+32 QHttpRequestHeader::toString
+40 QHttpRequestHeader::majorVersion
+48 QHttpRequestHeader::minorVersion
+56 QHttpRequestHeader::parseLine
+
+Class QHttpRequestHeader
+ size=16 align=8
+ base size=16 base align=8
+QHttpRequestHeader (0x7fea0f92a850) 0
+ vptr=((& QHttpRequestHeader::_ZTV18QHttpRequestHeader) + 16u)
+ QHttpHeader (0x7fea0f92a8c0) 0
+ primary-for QHttpRequestHeader (0x7fea0f92a850)
+
+Vtable for QHttp
+QHttp::_ZTV5QHttp: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI5QHttp)
+16 QHttp::metaObject
+24 QHttp::qt_metacast
+32 QHttp::qt_metacall
+40 QHttp::~QHttp
+48 QHttp::~QHttp
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QHttp
+ size=16 align=8
+ base size=16 base align=8
+QHttp (0x7fea0f93f3f0) 0
+ vptr=((& QHttp::_ZTV5QHttp) + 16u)
+ QObject (0x7fea0f93f460) 0
+ primary-for QHttp (0x7fea0f93f3f0)
+
+Class QNetworkRequest
+ size=8 align=8
+ base size=8 base align=8
+QNetworkRequest (0x7fea0f96b620) 0
+
+Vtable for QNetworkAccessManager
+QNetworkAccessManager::_ZTV21QNetworkAccessManager: 15u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI21QNetworkAccessManager)
+16 QNetworkAccessManager::metaObject
+24 QNetworkAccessManager::qt_metacast
+32 QNetworkAccessManager::qt_metacall
+40 QNetworkAccessManager::~QNetworkAccessManager
+48 QNetworkAccessManager::~QNetworkAccessManager
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QNetworkAccessManager::createRequest
+
+Class QNetworkAccessManager
+ size=16 align=8
+ base size=16 base align=8
+QNetworkAccessManager (0x7fea0f985540) 0
+ vptr=((& QNetworkAccessManager::_ZTV21QNetworkAccessManager) + 16u)
+ QObject (0x7fea0f9855b0) 0
+ primary-for QNetworkAccessManager (0x7fea0f985540)
+
+Class QNetworkCookie
+ size=8 align=8
+ base size=8 base align=8
+QNetworkCookie (0x7fea0f9a3a80) 0
+
+Vtable for QNetworkCookieJar
+QNetworkCookieJar::_ZTV17QNetworkCookieJar: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QNetworkCookieJar)
+16 QNetworkCookieJar::metaObject
+24 QNetworkCookieJar::qt_metacast
+32 QNetworkCookieJar::qt_metacall
+40 QNetworkCookieJar::~QNetworkCookieJar
+48 QNetworkCookieJar::~QNetworkCookieJar
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QNetworkCookieJar::cookiesForUrl
+120 QNetworkCookieJar::setCookiesFromUrl
+
+Class QNetworkCookieJar
+ size=16 align=8
+ base size=16 base align=8
+QNetworkCookieJar (0x7fea0f9abbd0) 0
+ vptr=((& QNetworkCookieJar::_ZTV17QNetworkCookieJar) + 16u)
+ QObject (0x7fea0f9abc40) 0
+ primary-for QNetworkCookieJar (0x7fea0f9abbd0)
+
+Vtable for QNetworkReply
+QNetworkReply::_ZTV13QNetworkReply: 33u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QNetworkReply)
+16 QNetworkReply::metaObject
+24 QNetworkReply::qt_metacast
+32 QNetworkReply::qt_metacall
+40 QNetworkReply::~QNetworkReply
+48 QNetworkReply::~QNetworkReply
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QNetworkReply::isSequential
+120 QIODevice::open
+128 QNetworkReply::close
+136 QIODevice::pos
+144 QIODevice::size
+152 QIODevice::seek
+160 QIODevice::atEnd
+168 QIODevice::reset
+176 QIODevice::bytesAvailable
+184 QIODevice::bytesToWrite
+192 QIODevice::canReadLine
+200 QIODevice::waitForReadyRead
+208 QIODevice::waitForBytesWritten
+216 __cxa_pure_virtual
+224 QIODevice::readLineData
+232 QNetworkReply::writeData
+240 __cxa_pure_virtual
+248 QNetworkReply::setReadBufferSize
+256 QNetworkReply::ignoreSslErrors
+
+Class QNetworkReply
+ size=16 align=8
+ base size=16 base align=8
+QNetworkReply (0x7fea0f9d9a80) 0
+ vptr=((& QNetworkReply::_ZTV13QNetworkReply) + 16u)
+ QIODevice (0x7fea0f9d9af0) 0
+ primary-for QNetworkReply (0x7fea0f9d9a80)
+ QObject (0x7fea0f9d9b60) 0
+ primary-for QIODevice (0x7fea0f9d9af0)
+
+Vtable for QUrlInfo
+QUrlInfo::_ZTV8QUrlInfo: 15u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI8QUrlInfo)
+16 QUrlInfo::~QUrlInfo
+24 QUrlInfo::~QUrlInfo
+32 QUrlInfo::setName
+40 QUrlInfo::setDir
+48 QUrlInfo::setFile
+56 QUrlInfo::setSymLink
+64 QUrlInfo::setOwner
+72 QUrlInfo::setGroup
+80 QUrlInfo::setSize
+88 QUrlInfo::setWritable
+96 QUrlInfo::setReadable
+104 QUrlInfo::setPermissions
+112 QUrlInfo::setLastModified
+
+Class QUrlInfo
+ size=16 align=8
+ base size=16 base align=8
+QUrlInfo (0x7fea0f808700) 0
+ vptr=((& QUrlInfo::_ZTV8QUrlInfo) + 16u)
+
+Vtable for QFtp
+QFtp::_ZTV4QFtp: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI4QFtp)
+16 QFtp::metaObject
+24 QFtp::qt_metacast
+32 QFtp::qt_metacall
+40 QFtp::~QFtp
+48 QFtp::~QFtp
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QFtp
+ size=16 align=8
+ base size=16 base align=8
+QFtp (0x7fea0f819690) 0
+ vptr=((& QFtp::_ZTV4QFtp) + 16u)
+ QObject (0x7fea0f819700) 0
+ primary-for QFtp (0x7fea0f819690)
+
+Class QNetworkCacheMetaData
+ size=8 align=8
+ base size=8 base align=8
+QNetworkCacheMetaData (0x7fea0f844cb0) 0
+
+Vtable for QAbstractNetworkCache
+QAbstractNetworkCache::_ZTV21QAbstractNetworkCache: 22u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI21QAbstractNetworkCache)
+16 QAbstractNetworkCache::metaObject
+24 QAbstractNetworkCache::qt_metacast
+32 QAbstractNetworkCache::qt_metacall
+40 QAbstractNetworkCache::~QAbstractNetworkCache
+48 QAbstractNetworkCache::~QAbstractNetworkCache
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 __cxa_pure_virtual
+136 __cxa_pure_virtual
+144 __cxa_pure_virtual
+152 __cxa_pure_virtual
+160 __cxa_pure_virtual
+168 __cxa_pure_virtual
+
+Class QAbstractNetworkCache
+ size=16 align=8
+ base size=16 base align=8
+QAbstractNetworkCache (0x7fea0f84dd90) 0
+ vptr=((& QAbstractNetworkCache::_ZTV21QAbstractNetworkCache) + 16u)
+ QObject (0x7fea0f865000) 0
+ primary-for QAbstractNetworkCache (0x7fea0f84dd90)
+
+Vtable for QNetworkDiskCache
+QNetworkDiskCache::_ZTV17QNetworkDiskCache: 23u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QNetworkDiskCache)
+16 QNetworkDiskCache::metaObject
+24 QNetworkDiskCache::qt_metacast
+32 QNetworkDiskCache::qt_metacall
+40 QNetworkDiskCache::~QNetworkDiskCache
+48 QNetworkDiskCache::~QNetworkDiskCache
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QNetworkDiskCache::metaData
+120 QNetworkDiskCache::updateMetaData
+128 QNetworkDiskCache::data
+136 QNetworkDiskCache::remove
+144 QNetworkDiskCache::cacheSize
+152 QNetworkDiskCache::prepare
+160 QNetworkDiskCache::insert
+168 QNetworkDiskCache::clear
+176 QNetworkDiskCache::expire
+
+Class QNetworkDiskCache
+ size=16 align=8
+ base size=16 base align=8
+QNetworkDiskCache (0x7fea0f873930) 0
+ vptr=((& QNetworkDiskCache::_ZTV17QNetworkDiskCache) + 16u)
+ QAbstractNetworkCache (0x7fea0f8739a0) 0
+ primary-for QNetworkDiskCache (0x7fea0f873930)
+ QObject (0x7fea0f873a10) 0
+ primary-for QAbstractNetworkCache (0x7fea0f8739a0)
+
+Class QIPv6Address
+ size=16 align=1
+ base size=16 base align=1
+QIPv6Address (0x7fea0f8912a0) 0
+
+Class QHostAddress
+ size=8 align=8
+ base size=8 base align=8
+QHostAddress (0x7fea0f8918c0) 0
+
+Class QNetworkAddressEntry
+ size=8 align=8
+ base size=8 base align=8
+QNetworkAddressEntry (0x7fea0f8b8850) 0
+
+Class QNetworkInterface
+ size=8 align=8
+ base size=8 base align=8
+QNetworkInterface (0x7fea0f8ce0e0) 0
+
+Class QAuthenticator
+ size=8 align=8
+ base size=8 base align=8
+QAuthenticator (0x7fea0f70be00) 0
+
+Class QHostInfo
+ size=8 align=8
+ base size=8 base align=8
+QHostInfo (0x7fea0f72e700) 0
+
+Class QNetworkProxyQuery
+ size=8 align=8
+ base size=8 base align=8
+QNetworkProxyQuery (0x7fea0f72ef50) 0
+
+Class QNetworkProxy
+ size=8 align=8
+ base size=8 base align=8
+QNetworkProxy (0x7fea0f757230) 0
+
+Vtable for QNetworkProxyFactory
+QNetworkProxyFactory::_ZTV20QNetworkProxyFactory: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI20QNetworkProxyFactory)
+16 QNetworkProxyFactory::~QNetworkProxyFactory
+24 QNetworkProxyFactory::~QNetworkProxyFactory
+32 __cxa_pure_virtual
+
+Class QNetworkProxyFactory
+ size=8 align=8
+ base size=8 base align=8
+QNetworkProxyFactory (0x7fea0f7a7690) 0 nearly-empty
+ vptr=((& QNetworkProxyFactory::_ZTV20QNetworkProxyFactory) + 16u)
+
+Vtable for QLocalServer
+QLocalServer::_ZTV12QLocalServer: 17u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QLocalServer)
+16 QLocalServer::metaObject
+24 QLocalServer::qt_metacast
+32 QLocalServer::qt_metacall
+40 QLocalServer::~QLocalServer
+48 QLocalServer::~QLocalServer
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QLocalServer::hasPendingConnections
+120 QLocalServer::nextPendingConnection
+128 QLocalServer::incomingConnection
+
+Class QLocalServer
+ size=16 align=8
+ base size=16 base align=8
+QLocalServer (0x7fea0f7a79a0) 0
+ vptr=((& QLocalServer::_ZTV12QLocalServer) + 16u)
+ QObject (0x7fea0f7a7a10) 0
+ primary-for QLocalServer (0x7fea0f7a79a0)
+
+Vtable for QLocalSocket
+QLocalSocket::_ZTV12QLocalSocket: 30u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QLocalSocket)
+16 QLocalSocket::metaObject
+24 QLocalSocket::qt_metacast
+32 QLocalSocket::qt_metacall
+40 QLocalSocket::~QLocalSocket
+48 QLocalSocket::~QLocalSocket
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QLocalSocket::isSequential
+120 QIODevice::open
+128 QLocalSocket::close
+136 QIODevice::pos
+144 QIODevice::size
+152 QIODevice::seek
+160 QIODevice::atEnd
+168 QIODevice::reset
+176 QLocalSocket::bytesAvailable
+184 QLocalSocket::bytesToWrite
+192 QLocalSocket::canReadLine
+200 QLocalSocket::waitForReadyRead
+208 QLocalSocket::waitForBytesWritten
+216 QLocalSocket::readData
+224 QIODevice::readLineData
+232 QLocalSocket::writeData
+
+Class QLocalSocket
+ size=16 align=8
+ base size=16 base align=8
+QLocalSocket (0x7fea0f7e6380) 0
+ vptr=((& QLocalSocket::_ZTV12QLocalSocket) + 16u)
+ QIODevice (0x7fea0f7e63f0) 0
+ primary-for QLocalSocket (0x7fea0f7e6380)
+ QObject (0x7fea0f7e6460) 0
+ primary-for QIODevice (0x7fea0f7e63f0)
+
+Vtable for QTcpServer
+QTcpServer::_ZTV10QTcpServer: 17u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QTcpServer)
+16 QTcpServer::metaObject
+24 QTcpServer::qt_metacast
+32 QTcpServer::qt_metacall
+40 QTcpServer::~QTcpServer
+48 QTcpServer::~QTcpServer
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QTcpServer::hasPendingConnections
+120 QTcpServer::nextPendingConnection
+128 QTcpServer::incomingConnection
+
+Class QTcpServer
+ size=16 align=8
+ base size=16 base align=8
+QTcpServer (0x7fea0f607540) 0
+ vptr=((& QTcpServer::_ZTV10QTcpServer) + 16u)
+ QObject (0x7fea0f6075b0) 0
+ primary-for QTcpServer (0x7fea0f607540)
+
+Vtable for QUdpSocket
+QUdpSocket::_ZTV10QUdpSocket: 30u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QUdpSocket)
+16 QUdpSocket::metaObject
+24 QUdpSocket::qt_metacast
+32 QUdpSocket::qt_metacall
+40 QUdpSocket::~QUdpSocket
+48 QUdpSocket::~QUdpSocket
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QAbstractSocket::isSequential
+120 QIODevice::open
+128 QAbstractSocket::close
+136 QIODevice::pos
+144 QIODevice::size
+152 QIODevice::seek
+160 QAbstractSocket::atEnd
+168 QIODevice::reset
+176 QAbstractSocket::bytesAvailable
+184 QAbstractSocket::bytesToWrite
+192 QAbstractSocket::canReadLine
+200 QAbstractSocket::waitForReadyRead
+208 QAbstractSocket::waitForBytesWritten
+216 QAbstractSocket::readData
+224 QAbstractSocket::readLineData
+232 QAbstractSocket::writeData
+
+Class QUdpSocket
+ size=16 align=8
+ base size=16 base align=8
+QUdpSocket (0x7fea0f621070) 0
+ vptr=((& QUdpSocket::_ZTV10QUdpSocket) + 16u)
+ QAbstractSocket (0x7fea0f6210e0) 0
+ primary-for QUdpSocket (0x7fea0f621070)
+ QIODevice (0x7fea0f621150) 0
+ primary-for QAbstractSocket (0x7fea0f6210e0)
+ QObject (0x7fea0f6211c0) 0
+ primary-for QIODevice (0x7fea0f621150)
+
+Class QSqlRecord
+ size=8 align=8
+ base size=8 base align=8
+QSqlRecord (0x7fea0f66bd90) 0
+
+Class QSqlIndex
+ size=32 align=8
+ base size=32 base align=8
+QSqlIndex (0x7fea0f691a10) 0
+ QSqlRecord (0x7fea0f691a80) 0
+
+Vtable for QSqlResult
+QSqlResult::_ZTV10QSqlResult: 29u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QSqlResult)
+16 QSqlResult::~QSqlResult
+24 QSqlResult::~QSqlResult
+32 QSqlResult::handle
+40 QSqlResult::setAt
+48 QSqlResult::setActive
+56 QSqlResult::setLastError
+64 QSqlResult::setQuery
+72 QSqlResult::setSelect
+80 QSqlResult::setForwardOnly
+88 QSqlResult::exec
+96 QSqlResult::prepare
+104 QSqlResult::savePrepare
+112 QSqlResult::bindValue
+120 QSqlResult::bindValue
+128 __cxa_pure_virtual
+136 __cxa_pure_virtual
+144 __cxa_pure_virtual
+152 __cxa_pure_virtual
+160 QSqlResult::fetchNext
+168 QSqlResult::fetchPrevious
+176 __cxa_pure_virtual
+184 __cxa_pure_virtual
+192 __cxa_pure_virtual
+200 __cxa_pure_virtual
+208 QSqlResult::record
+216 QSqlResult::lastInsertId
+224 QSqlResult::virtual_hook
+
+Class QSqlResult
+ size=16 align=8
+ base size=16 base align=8
+QSqlResult (0x7fea0f6e8f50) 0
+ vptr=((& QSqlResult::_ZTV10QSqlResult) + 16u)
+
+Vtable for QSqlDriverCreatorBase
+QSqlDriverCreatorBase::_ZTV21QSqlDriverCreatorBase: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI21QSqlDriverCreatorBase)
+16 QSqlDriverCreatorBase::~QSqlDriverCreatorBase
+24 QSqlDriverCreatorBase::~QSqlDriverCreatorBase
+32 __cxa_pure_virtual
+
+Class QSqlDriverCreatorBase
+ size=8 align=8
+ base size=8 base align=8
+QSqlDriverCreatorBase (0x7fea0f52f850) 0 nearly-empty
+ vptr=((& QSqlDriverCreatorBase::_ZTV21QSqlDriverCreatorBase) + 16u)
+
+Class QSqlDatabase
+ size=8 align=8
+ base size=8 base align=8
+QSqlDatabase (0x7fea0f54c310) 0
+
+Class QSqlQuery
+ size=8 align=8
+ base size=8 base align=8
+QSqlQuery (0x7fea0f561700) 0
+
+Vtable for QSqlDriverFactoryInterface
+QSqlDriverFactoryInterface::_ZTV26QSqlDriverFactoryInterface: 6u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI26QSqlDriverFactoryInterface)
+16 QSqlDriverFactoryInterface::~QSqlDriverFactoryInterface
+24 QSqlDriverFactoryInterface::~QSqlDriverFactoryInterface
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+
+Class QSqlDriverFactoryInterface
+ size=8 align=8
+ base size=8 base align=8
+QSqlDriverFactoryInterface (0x7fea0f5771c0) 0 nearly-empty
+ vptr=((& QSqlDriverFactoryInterface::_ZTV26QSqlDriverFactoryInterface) + 16u)
+ QFactoryInterface (0x7fea0f577230) 0 nearly-empty
+ primary-for QSqlDriverFactoryInterface (0x7fea0f5771c0)
+
+Vtable for QSqlDriverPlugin
+QSqlDriverPlugin::_ZTV16QSqlDriverPlugin: 22u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QSqlDriverPlugin)
+16 QSqlDriverPlugin::metaObject
+24 QSqlDriverPlugin::qt_metacast
+32 QSqlDriverPlugin::qt_metacall
+40 QSqlDriverPlugin::~QSqlDriverPlugin
+48 QSqlDriverPlugin::~QSqlDriverPlugin
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 (int (*)(...))-0x00000000000000010
+136 (int (*)(...))(& _ZTI16QSqlDriverPlugin)
+144 QSqlDriverPlugin::_ZThn16_N16QSqlDriverPluginD1Ev
+152 QSqlDriverPlugin::_ZThn16_N16QSqlDriverPluginD0Ev
+160 __cxa_pure_virtual
+168 __cxa_pure_virtual
+
+Class QSqlDriverPlugin
+ size=24 align=8
+ base size=24 base align=8
+QSqlDriverPlugin (0x7fea0f57b700) 0
+ vptr=((& QSqlDriverPlugin::_ZTV16QSqlDriverPlugin) + 16u)
+ QObject (0x7fea0f577a80) 0
+ primary-for QSqlDriverPlugin (0x7fea0f57b700)
+ QSqlDriverFactoryInterface (0x7fea0f577af0) 16 nearly-empty
+ vptr=((& QSqlDriverPlugin::_ZTV16QSqlDriverPlugin) + 144u)
+ QFactoryInterface (0x7fea0f577b60) 16 nearly-empty
+ primary-for QSqlDriverFactoryInterface (0x7fea0f577af0)
+
+Vtable for QSqlDriver
+QSqlDriver::_ZTV10QSqlDriver: 32u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QSqlDriver)
+16 QSqlDriver::metaObject
+24 QSqlDriver::qt_metacast
+32 QSqlDriver::qt_metacall
+40 QSqlDriver::~QSqlDriver
+48 QSqlDriver::~QSqlDriver
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QSqlDriver::isOpen
+120 QSqlDriver::beginTransaction
+128 QSqlDriver::commitTransaction
+136 QSqlDriver::rollbackTransaction
+144 QSqlDriver::tables
+152 QSqlDriver::primaryIndex
+160 QSqlDriver::record
+168 QSqlDriver::formatValue
+176 QSqlDriver::escapeIdentifier
+184 QSqlDriver::sqlStatement
+192 QSqlDriver::handle
+200 __cxa_pure_virtual
+208 __cxa_pure_virtual
+216 __cxa_pure_virtual
+224 __cxa_pure_virtual
+232 QSqlDriver::setOpen
+240 QSqlDriver::setOpenError
+248 QSqlDriver::setLastError
+
+Class QSqlDriver
+ size=16 align=8
+ base size=16 base align=8
+QSqlDriver (0x7fea0f58b9a0) 0
+ vptr=((& QSqlDriver::_ZTV10QSqlDriver) + 16u)
+ QObject (0x7fea0f58ba10) 0
+ primary-for QSqlDriver (0x7fea0f58b9a0)
+
+Class QSqlError
+ size=24 align=8
+ base size=24 base align=8
+QSqlError (0x7fea0f5bd070) 0
+
+Class QSqlField
+ size=24 align=8
+ base size=24 base align=8
+QSqlField (0x7fea0f5bdf50) 0
+
+Vtable for QSqlQueryModel
+QSqlQueryModel::_ZTV14QSqlQueryModel: 44u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QSqlQueryModel)
+16 QSqlQueryModel::metaObject
+24 QSqlQueryModel::qt_metacast
+32 QSqlQueryModel::qt_metacall
+40 QSqlQueryModel::~QSqlQueryModel
+48 QSqlQueryModel::~QSqlQueryModel
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QAbstractTableModel::index
+120 QAbstractTableModel::parent
+128 QSqlQueryModel::rowCount
+136 QSqlQueryModel::columnCount
+144 QAbstractTableModel::hasChildren
+152 QSqlQueryModel::data
+160 QAbstractItemModel::setData
+168 QSqlQueryModel::headerData
+176 QSqlQueryModel::setHeaderData
+184 QAbstractItemModel::itemData
+192 QAbstractItemModel::setItemData
+200 QAbstractItemModel::mimeTypes
+208 QAbstractItemModel::mimeData
+216 QAbstractTableModel::dropMimeData
+224 QAbstractItemModel::supportedDropActions
+232 QAbstractItemModel::insertRows
+240 QSqlQueryModel::insertColumns
+248 QAbstractItemModel::removeRows
+256 QSqlQueryModel::removeColumns
+264 QSqlQueryModel::fetchMore
+272 QSqlQueryModel::canFetchMore
+280 QAbstractItemModel::flags
+288 QAbstractItemModel::sort
+296 QAbstractItemModel::buddy
+304 QAbstractItemModel::match
+312 QAbstractItemModel::span
+320 QAbstractItemModel::submit
+328 QAbstractItemModel::revert
+336 QSqlQueryModel::clear
+344 QSqlQueryModel::queryChange
+
+Class QSqlQueryModel
+ size=16 align=8
+ base size=16 base align=8
+QSqlQueryModel (0x7fea0f5d9850) 0
+ vptr=((& QSqlQueryModel::_ZTV14QSqlQueryModel) + 16u)
+ QAbstractTableModel (0x7fea0f5d98c0) 0
+ primary-for QSqlQueryModel (0x7fea0f5d9850)
+ QAbstractItemModel (0x7fea0f5d9930) 0
+ primary-for QAbstractTableModel (0x7fea0f5d98c0)
+ QObject (0x7fea0f5d99a0) 0
+ primary-for QAbstractItemModel (0x7fea0f5d9930)
+
+Vtable for QSqlTableModel
+QSqlTableModel::_ZTV14QSqlTableModel: 55u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QSqlTableModel)
+16 QSqlTableModel::metaObject
+24 QSqlTableModel::qt_metacast
+32 QSqlTableModel::qt_metacall
+40 QSqlTableModel::~QSqlTableModel
+48 QSqlTableModel::~QSqlTableModel
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QAbstractTableModel::index
+120 QAbstractTableModel::parent
+128 QSqlTableModel::rowCount
+136 QSqlQueryModel::columnCount
+144 QAbstractTableModel::hasChildren
+152 QSqlTableModel::data
+160 QSqlTableModel::setData
+168 QSqlTableModel::headerData
+176 QSqlQueryModel::setHeaderData
+184 QAbstractItemModel::itemData
+192 QAbstractItemModel::setItemData
+200 QAbstractItemModel::mimeTypes
+208 QAbstractItemModel::mimeData
+216 QAbstractTableModel::dropMimeData
+224 QAbstractItemModel::supportedDropActions
+232 QSqlTableModel::insertRows
+240 QSqlQueryModel::insertColumns
+248 QSqlTableModel::removeRows
+256 QSqlTableModel::removeColumns
+264 QSqlQueryModel::fetchMore
+272 QSqlQueryModel::canFetchMore
+280 QSqlTableModel::flags
+288 QSqlTableModel::sort
+296 QAbstractItemModel::buddy
+304 QAbstractItemModel::match
+312 QAbstractItemModel::span
+320 QSqlTableModel::submit
+328 QSqlTableModel::revert
+336 QSqlTableModel::clear
+344 QSqlQueryModel::queryChange
+352 QSqlTableModel::select
+360 QSqlTableModel::setTable
+368 QSqlTableModel::setEditStrategy
+376 QSqlTableModel::setSort
+384 QSqlTableModel::setFilter
+392 QSqlTableModel::revertRow
+400 QSqlTableModel::updateRowInTable
+408 QSqlTableModel::insertRowIntoTable
+416 QSqlTableModel::deleteRowFromTable
+424 QSqlTableModel::orderByClause
+432 QSqlTableModel::selectStatement
+
+Class QSqlTableModel
+ size=16 align=8
+ base size=16 base align=8
+QSqlTableModel (0x7fea0f3fa1c0) 0
+ vptr=((& QSqlTableModel::_ZTV14QSqlTableModel) + 16u)
+ QSqlQueryModel (0x7fea0f3fa230) 0
+ primary-for QSqlTableModel (0x7fea0f3fa1c0)
+ QAbstractTableModel (0x7fea0f3fa2a0) 0
+ primary-for QSqlQueryModel (0x7fea0f3fa230)
+ QAbstractItemModel (0x7fea0f3fa310) 0
+ primary-for QAbstractTableModel (0x7fea0f3fa2a0)
+ QObject (0x7fea0f3fa380) 0
+ primary-for QAbstractItemModel (0x7fea0f3fa310)
+
+Class QSqlRelation
+ size=24 align=8
+ base size=24 base align=8
+QSqlRelation (0x7fea0f41fcb0) 0
+
+Vtable for QSqlRelationalTableModel
+QSqlRelationalTableModel::_ZTV24QSqlRelationalTableModel: 57u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI24QSqlRelationalTableModel)
+16 QSqlRelationalTableModel::metaObject
+24 QSqlRelationalTableModel::qt_metacast
+32 QSqlRelationalTableModel::qt_metacall
+40 QSqlRelationalTableModel::~QSqlRelationalTableModel
+48 QSqlRelationalTableModel::~QSqlRelationalTableModel
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QAbstractTableModel::index
+120 QAbstractTableModel::parent
+128 QSqlTableModel::rowCount
+136 QSqlQueryModel::columnCount
+144 QAbstractTableModel::hasChildren
+152 QSqlRelationalTableModel::data
+160 QSqlRelationalTableModel::setData
+168 QSqlTableModel::headerData
+176 QSqlQueryModel::setHeaderData
+184 QAbstractItemModel::itemData
+192 QAbstractItemModel::setItemData
+200 QAbstractItemModel::mimeTypes
+208 QAbstractItemModel::mimeData
+216 QAbstractTableModel::dropMimeData
+224 QAbstractItemModel::supportedDropActions
+232 QSqlTableModel::insertRows
+240 QSqlQueryModel::insertColumns
+248 QSqlTableModel::removeRows
+256 QSqlRelationalTableModel::removeColumns
+264 QSqlQueryModel::fetchMore
+272 QSqlQueryModel::canFetchMore
+280 QSqlTableModel::flags
+288 QSqlTableModel::sort
+296 QAbstractItemModel::buddy
+304 QAbstractItemModel::match
+312 QAbstractItemModel::span
+320 QSqlTableModel::submit
+328 QSqlTableModel::revert
+336 QSqlRelationalTableModel::clear
+344 QSqlQueryModel::queryChange
+352 QSqlRelationalTableModel::select
+360 QSqlRelationalTableModel::setTable
+368 QSqlTableModel::setEditStrategy
+376 QSqlTableModel::setSort
+384 QSqlTableModel::setFilter
+392 QSqlRelationalTableModel::revertRow
+400 QSqlRelationalTableModel::updateRowInTable
+408 QSqlRelationalTableModel::insertRowIntoTable
+416 QSqlTableModel::deleteRowFromTable
+424 QSqlRelationalTableModel::orderByClause
+432 QSqlRelationalTableModel::selectStatement
+440 QSqlRelationalTableModel::setRelation
+448 QSqlRelationalTableModel::relationModel
+
+Class QSqlRelationalTableModel
+ size=16 align=8
+ base size=16 base align=8
+QSqlRelationalTableModel (0x7fea0f43e620) 0
+ vptr=((& QSqlRelationalTableModel::_ZTV24QSqlRelationalTableModel) + 16u)
+ QSqlTableModel (0x7fea0f43e690) 0
+ primary-for QSqlRelationalTableModel (0x7fea0f43e620)
+ QSqlQueryModel (0x7fea0f43e700) 0
+ primary-for QSqlTableModel (0x7fea0f43e690)
+ QAbstractTableModel (0x7fea0f43e770) 0
+ primary-for QSqlQueryModel (0x7fea0f43e700)
+ QAbstractItemModel (0x7fea0f43e7e0) 0
+ primary-for QAbstractTableModel (0x7fea0f43e770)
+ QObject (0x7fea0f43e850) 0
+ primary-for QAbstractItemModel (0x7fea0f43e7e0)
+
+Vtable for Q3SqlCursor
+Q3SqlCursor::_ZTV11Q3SqlCursor: 40u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11Q3SqlCursor)
+16 Q3SqlCursor::~Q3SqlCursor
+24 Q3SqlCursor::~Q3SqlCursor
+32 Q3SqlCursor::setValue
+40 Q3SqlCursor::primaryIndex
+48 Q3SqlCursor::index
+56 Q3SqlCursor::setPrimaryIndex
+64 Q3SqlCursor::append
+72 Q3SqlCursor::insert
+80 Q3SqlCursor::remove
+88 Q3SqlCursor::clear
+96 Q3SqlCursor::setGenerated
+104 Q3SqlCursor::setGenerated
+112 Q3SqlCursor::editBuffer
+120 Q3SqlCursor::primeInsert
+128 Q3SqlCursor::primeUpdate
+136 Q3SqlCursor::primeDelete
+144 Q3SqlCursor::insert
+152 Q3SqlCursor::update
+160 Q3SqlCursor::del
+168 Q3SqlCursor::setMode
+176 Q3SqlCursor::setCalculated
+184 Q3SqlCursor::setTrimmed
+192 Q3SqlCursor::select
+200 Q3SqlCursor::setSort
+208 Q3SqlCursor::setFilter
+216 Q3SqlCursor::setName
+224 Q3SqlCursor::seek
+232 Q3SqlCursor::next
+240 Q3SqlCursor::prev
+248 Q3SqlCursor::first
+256 Q3SqlCursor::last
+264 Q3SqlCursor::exec
+272 Q3SqlCursor::calculateField
+280 Q3SqlCursor::update
+288 Q3SqlCursor::del
+296 Q3SqlCursor::toString
+304 Q3SqlCursor::toString
+312 Q3SqlCursor::toString
+
+Class Q3SqlCursor
+ size=32 align=8
+ base size=32 base align=8
+Q3SqlCursor (0x7fea0f452680) 0
+ vptr=((& Q3SqlCursor::_ZTV11Q3SqlCursor) + 16u)
+ QSqlRecord (0x7fea0f455e70) 8
+ QSqlQuery (0x7fea0f455ee0) 16
+
+Vtable for Q3Frame
+Q3Frame::_ZTV7Q3Frame: 66u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7Q3Frame)
+16 Q3Frame::metaObject
+24 Q3Frame::qt_metacast
+32 Q3Frame::qt_metacall
+40 Q3Frame::~Q3Frame
+48 Q3Frame::~Q3Frame
+56 QFrame::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QFrame::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 Q3Frame::paintEvent
+256 QWidget::moveEvent
+264 Q3Frame::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QFrame::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 Q3Frame::frameChanged
+456 Q3Frame::drawFrame
+464 Q3Frame::drawContents
+472 (int (*)(...))-0x00000000000000010
+480 (int (*)(...))(& _ZTI7Q3Frame)
+488 Q3Frame::_ZThn16_N7Q3FrameD1Ev
+496 Q3Frame::_ZThn16_N7Q3FrameD0Ev
+504 QWidget::_ZThn16_NK7QWidget7devTypeEv
+512 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+520 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class Q3Frame
+ size=48 align=8
+ base size=44 base align=8
+Q3Frame (0x7fea0f47ca10) 0
+ vptr=((& Q3Frame::_ZTV7Q3Frame) + 16u)
+ QFrame (0x7fea0f47ca80) 0
+ primary-for Q3Frame (0x7fea0f47ca10)
+ QWidget (0x7fea0f452f00) 0
+ primary-for QFrame (0x7fea0f47ca80)
+ QObject (0x7fea0f47caf0) 0
+ primary-for QWidget (0x7fea0f452f00)
+ QPaintDevice (0x7fea0f47cb60) 16
+ vptr=((& Q3Frame::_ZTV7Q3Frame) + 488u)
+
+Vtable for Q3ScrollView
+Q3ScrollView::_ZTV12Q3ScrollView: 102u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12Q3ScrollView)
+16 Q3ScrollView::metaObject
+24 Q3ScrollView::qt_metacast
+32 Q3ScrollView::qt_metacall
+40 Q3ScrollView::~Q3ScrollView
+48 Q3ScrollView::~Q3ScrollView
+56 QFrame::event
+64 Q3ScrollView::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 Q3ScrollView::setVisible
+128 Q3ScrollView::sizeHint
+136 Q3ScrollView::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 Q3ScrollView::mousePressEvent
+168 Q3ScrollView::mouseReleaseEvent
+176 Q3ScrollView::mouseDoubleClickEvent
+184 Q3ScrollView::mouseMoveEvent
+192 Q3ScrollView::wheelEvent
+200 QWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 Q3Frame::paintEvent
+256 QWidget::moveEvent
+264 Q3ScrollView::resizeEvent
+272 QWidget::closeEvent
+280 Q3ScrollView::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QFrame::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 Q3ScrollView::focusNextPrevChild
+400 Q3ScrollView::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 Q3ScrollView::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 Q3ScrollView::frameChanged
+456 Q3Frame::drawFrame
+464 Q3ScrollView::drawContents
+472 Q3ScrollView::setResizePolicy
+480 Q3ScrollView::addChild
+488 Q3ScrollView::moveChild
+496 Q3ScrollView::setVScrollBarMode
+504 Q3ScrollView::setHScrollBarMode
+512 Q3ScrollView::setCornerWidget
+520 Q3ScrollView::setDragAutoScroll
+528 Q3ScrollView::resizeContents
+536 Q3ScrollView::setContentsPos
+544 Q3ScrollView::drawContents
+552 Q3ScrollView::drawContentsOffset
+560 Q3ScrollView::contentsMousePressEvent
+568 Q3ScrollView::contentsMouseReleaseEvent
+576 Q3ScrollView::contentsMouseDoubleClickEvent
+584 Q3ScrollView::contentsMouseMoveEvent
+592 Q3ScrollView::contentsDragEnterEvent
+600 Q3ScrollView::contentsDragMoveEvent
+608 Q3ScrollView::contentsDragLeaveEvent
+616 Q3ScrollView::contentsDropEvent
+624 Q3ScrollView::contentsWheelEvent
+632 Q3ScrollView::contentsContextMenuEvent
+640 Q3ScrollView::viewportPaintEvent
+648 Q3ScrollView::viewportResizeEvent
+656 Q3ScrollView::viewportMousePressEvent
+664 Q3ScrollView::viewportMouseReleaseEvent
+672 Q3ScrollView::viewportMouseDoubleClickEvent
+680 Q3ScrollView::viewportMouseMoveEvent
+688 Q3ScrollView::viewportDragEnterEvent
+696 Q3ScrollView::viewportDragMoveEvent
+704 Q3ScrollView::viewportDragLeaveEvent
+712 Q3ScrollView::viewportDropEvent
+720 Q3ScrollView::viewportWheelEvent
+728 Q3ScrollView::viewportContextMenuEvent
+736 Q3ScrollView::setMargins
+744 Q3ScrollView::setHBarGeometry
+752 Q3ScrollView::setVBarGeometry
+760 (int (*)(...))-0x00000000000000010
+768 (int (*)(...))(& _ZTI12Q3ScrollView)
+776 Q3ScrollView::_ZThn16_N12Q3ScrollViewD1Ev
+784 Q3ScrollView::_ZThn16_N12Q3ScrollViewD0Ev
+792 QWidget::_ZThn16_NK7QWidget7devTypeEv
+800 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+808 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class Q3ScrollView
+ size=56 align=8
+ base size=56 base align=8
+Q3ScrollView (0x7fea0f49c230) 0
+ vptr=((& Q3ScrollView::_ZTV12Q3ScrollView) + 16u)
+ Q3Frame (0x7fea0f49c2a0) 0
+ primary-for Q3ScrollView (0x7fea0f49c230)
+ QFrame (0x7fea0f49c310) 0
+ primary-for Q3Frame (0x7fea0f49c2a0)
+ QWidget (0x7fea0f484800) 0
+ primary-for QFrame (0x7fea0f49c310)
+ QObject (0x7fea0f49c380) 0
+ primary-for QWidget (0x7fea0f484800)
+ QPaintDevice (0x7fea0f49c3f0) 16
+ vptr=((& Q3ScrollView::_ZTV12Q3ScrollView) + 776u)
+
+Vtable for Q3PtrCollection
+Q3PtrCollection::_ZTV15Q3PtrCollection: 8u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15Q3PtrCollection)
+16 __cxa_pure_virtual
+24 __cxa_pure_virtual
+32 Q3PtrCollection::~Q3PtrCollection
+40 Q3PtrCollection::~Q3PtrCollection
+48 Q3PtrCollection::newItem
+56 __cxa_pure_virtual
+
+Class Q3PtrCollection
+ size=16 align=8
+ base size=9 base align=8
+Q3PtrCollection (0x7fea0f4dc8c0) 0
+ vptr=((& Q3PtrCollection::_ZTV15Q3PtrCollection) + 16u)
+
+Vtable for Q3GVector
+Q3GVector::_ZTV9Q3GVector: 11u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9Q3GVector)
+16 Q3GVector::count
+24 Q3GVector::clear
+32 Q3GVector::~Q3GVector
+40 Q3GVector::~Q3GVector
+48 Q3PtrCollection::newItem
+56 __cxa_pure_virtual
+64 Q3GVector::compareItems
+72 Q3GVector::read
+80 Q3GVector::write
+
+Class Q3GVector
+ size=32 align=8
+ base size=32 base align=8
+Q3GVector (0x7fea0f4eaa10) 0
+ vptr=((& Q3GVector::_ZTV9Q3GVector) + 16u)
+ Q3PtrCollection (0x7fea0f4eaa80) 0
+ primary-for Q3GVector (0x7fea0f4eaa10)
+
+Vtable for Q3Header
+Q3Header::_ZTV8Q3Header: 76u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI8Q3Header)
+16 Q3Header::metaObject
+24 Q3Header::qt_metacast
+32 Q3Header::qt_metacall
+40 Q3Header::~Q3Header
+48 Q3Header::~Q3Header
+56 QWidget::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 Q3Header::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 Q3Header::mousePressEvent
+168 Q3Header::mouseReleaseEvent
+176 Q3Header::mouseDoubleClickEvent
+184 Q3Header::mouseMoveEvent
+192 QWidget::wheelEvent
+200 Q3Header::keyPressEvent
+208 Q3Header::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 Q3Header::paintEvent
+256 QWidget::moveEvent
+264 Q3Header::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 Q3Header::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 Q3Header::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 Q3Header::setLabel
+456 Q3Header::setLabel
+464 Q3Header::setOrientation
+472 Q3Header::setTracking
+480 Q3Header::setClickEnabled
+488 Q3Header::setResizeEnabled
+496 Q3Header::setMovingEnabled
+504 Q3Header::setStretchEnabled
+512 Q3Header::setCellSize
+520 Q3Header::moveCell
+528 Q3Header::setOffset
+536 Q3Header::paintSection
+544 Q3Header::paintSectionLabel
+552 (int (*)(...))-0x00000000000000010
+560 (int (*)(...))(& _ZTI8Q3Header)
+568 Q3Header::_ZThn16_N8Q3HeaderD1Ev
+576 Q3Header::_ZThn16_N8Q3HeaderD0Ev
+584 QWidget::_ZThn16_NK7QWidget7devTypeEv
+592 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+600 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class Q3Header
+ size=88 align=8
+ base size=88 base align=8
+Q3Header (0x7fea0f219a80) 0
+ vptr=((& Q3Header::_ZTV8Q3Header) + 16u)
+ QWidget (0x7fea0f22b500) 0
+ primary-for Q3Header (0x7fea0f219a80)
+ QObject (0x7fea0f219af0) 0
+ primary-for QWidget (0x7fea0f22b500)
+ QPaintDevice (0x7fea0f219b60) 16
+ vptr=((& Q3Header::_ZTV8Q3Header) + 568u)
+
+Class Q3Shared
+ size=4 align=4
+ base size=4 base align=4
+Q3Shared (0x7fea0f269460) 0
+
+Class Q3GArray::array_data
+ size=24 align=8
+ base size=20 base align=8
+Q3GArray::array_data (0x7fea0f26e230) 0
+ Q3Shared (0x7fea0f26e2a0) 0
+
+Vtable for Q3GArray
+Q3GArray::_ZTV8Q3GArray: 7u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI8Q3GArray)
+16 Q3GArray::~Q3GArray
+24 Q3GArray::~Q3GArray
+32 Q3GArray::detach
+40 Q3GArray::newData
+48 Q3GArray::deleteData
+
+Class Q3GArray
+ size=16 align=8
+ base size=16 base align=8
+Q3GArray (0x7fea0f26e1c0) 0
+ vptr=((& Q3GArray::_ZTV8Q3GArray) + 16u)
+
+Class Q3LNode
+ size=24 align=8
+ base size=24 base align=8
+Q3LNode (0x7fea0f2b0700) 0
+
+Vtable for Q3GList
+Q3GList::_ZTV7Q3GList: 11u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7Q3GList)
+16 Q3GList::count
+24 Q3GList::clear
+32 Q3GList::~Q3GList
+40 Q3GList::~Q3GList
+48 Q3PtrCollection::newItem
+56 __cxa_pure_virtual
+64 Q3GList::compareItems
+72 Q3GList::read
+80 Q3GList::write
+
+Class Q3GList
+ size=56 align=8
+ base size=56 base align=8
+Q3GList (0x7fea0f2bc620) 0
+ vptr=((& Q3GList::_ZTV7Q3GList) + 16u)
+ Q3PtrCollection (0x7fea0f2bc690) 0
+ primary-for Q3GList (0x7fea0f2bc620)
+
+Class Q3GListIterator
+ size=16 align=8
+ base size=16 base align=8
+Q3GListIterator (0x7fea0f2e6310) 0
+
+Class Q3GListStdIterator
+ size=8 align=8
+ base size=8 base align=8
+Q3GListStdIterator (0x7fea0f0f02a0) 0
+
+Class Q3BaseBucket
+ size=16 align=8
+ base size=16 base align=8
+Q3BaseBucket (0x7fea0f14b540) 0
+
+Class Q3StringBucket
+ size=24 align=8
+ base size=24 base align=8
+Q3StringBucket (0x7fea0f153f50) 0
+ Q3BaseBucket (0x7fea0f157000) 0
+
+Class Q3AsciiBucket
+ size=24 align=8
+ base size=24 base align=8
+Q3AsciiBucket (0x7fea0f157b60) 0
+ Q3BaseBucket (0x7fea0f157bd0) 0
+
+Class Q3IntBucket
+ size=24 align=8
+ base size=24 base align=8
+Q3IntBucket (0x7fea0f163620) 0
+ Q3BaseBucket (0x7fea0f163690) 0
+
+Class Q3PtrBucket
+ size=24 align=8
+ base size=24 base align=8
+Q3PtrBucket (0x7fea0f16a0e0) 0
+ Q3BaseBucket (0x7fea0f16a150) 0
+
+Vtable for Q3GDict
+Q3GDict::_ZTV7Q3GDict: 10u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7Q3GDict)
+16 Q3GDict::count
+24 Q3GDict::clear
+32 Q3GDict::~Q3GDict
+40 Q3GDict::~Q3GDict
+48 Q3PtrCollection::newItem
+56 __cxa_pure_virtual
+64 Q3GDict::read
+72 Q3GDict::write
+
+Class Q3GDict
+ size=48 align=8
+ base size=48 base align=8
+Q3GDict (0x7fea0f16ab60) 0
+ vptr=((& Q3GDict::_ZTV7Q3GDict) + 16u)
+ Q3PtrCollection (0x7fea0f16abd0) 0
+ primary-for Q3GDict (0x7fea0f16ab60)
+
+Class Q3GDictIterator
+ size=24 align=8
+ base size=20 base align=8
+Q3GDictIterator (0x7fea0f180cb0) 0
+
+Class Q3TableSelection
+ size=28 align=4
+ base size=28 base align=4
+Q3TableSelection (0x7fea0f1ba850) 0
+
+Vtable for Q3TableItem
+Q3TableItem::_ZTV11Q3TableItem: 21u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11Q3TableItem)
+16 Q3TableItem::~Q3TableItem
+24 Q3TableItem::~Q3TableItem
+32 Q3TableItem::pixmap
+40 Q3TableItem::text
+48 Q3TableItem::setPixmap
+56 Q3TableItem::setText
+64 Q3TableItem::alignment
+72 Q3TableItem::setWordWrap
+80 Q3TableItem::createEditor
+88 Q3TableItem::setContentFromEditor
+96 Q3TableItem::setReplaceable
+104 Q3TableItem::key
+112 Q3TableItem::sizeHint
+120 Q3TableItem::setSpan
+128 Q3TableItem::setRow
+136 Q3TableItem::setCol
+144 Q3TableItem::paint
+152 Q3TableItem::setEnabled
+160 Q3TableItem::rtti
+
+Class Q3TableItem
+ size=72 align=8
+ base size=72 base align=8
+Q3TableItem (0x7fea0f1d5000) 0
+ vptr=((& Q3TableItem::_ZTV11Q3TableItem) + 16u)
+
+Vtable for Q3ComboTableItem
+Q3ComboTableItem::_ZTV16Q3ComboTableItem: 25u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16Q3ComboTableItem)
+16 Q3ComboTableItem::~Q3ComboTableItem
+24 Q3ComboTableItem::~Q3ComboTableItem
+32 Q3TableItem::pixmap
+40 Q3TableItem::text
+48 Q3TableItem::setPixmap
+56 Q3TableItem::setText
+64 Q3TableItem::alignment
+72 Q3TableItem::setWordWrap
+80 Q3ComboTableItem::createEditor
+88 Q3ComboTableItem::setContentFromEditor
+96 Q3TableItem::setReplaceable
+104 Q3TableItem::key
+112 Q3ComboTableItem::sizeHint
+120 Q3TableItem::setSpan
+128 Q3TableItem::setRow
+136 Q3TableItem::setCol
+144 Q3ComboTableItem::paint
+152 Q3TableItem::setEnabled
+160 Q3ComboTableItem::rtti
+168 Q3ComboTableItem::setCurrentItem
+176 Q3ComboTableItem::setCurrentItem
+184 Q3ComboTableItem::setEditable
+192 Q3ComboTableItem::setStringList
+
+Class Q3ComboTableItem
+ size=96 align=8
+ base size=93 base align=8
+Q3ComboTableItem (0x7fea0f1d58c0) 0
+ vptr=((& Q3ComboTableItem::_ZTV16Q3ComboTableItem) + 16u)
+ Q3TableItem (0x7fea0f1d5930) 0
+ primary-for Q3ComboTableItem (0x7fea0f1d58c0)
+
+Vtable for Q3CheckTableItem
+Q3CheckTableItem::_ZTV16Q3CheckTableItem: 22u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16Q3CheckTableItem)
+16 Q3CheckTableItem::~Q3CheckTableItem
+24 Q3CheckTableItem::~Q3CheckTableItem
+32 Q3TableItem::pixmap
+40 Q3TableItem::text
+48 Q3TableItem::setPixmap
+56 Q3CheckTableItem::setText
+64 Q3TableItem::alignment
+72 Q3TableItem::setWordWrap
+80 Q3CheckTableItem::createEditor
+88 Q3CheckTableItem::setContentFromEditor
+96 Q3TableItem::setReplaceable
+104 Q3TableItem::key
+112 Q3CheckTableItem::sizeHint
+120 Q3TableItem::setSpan
+128 Q3TableItem::setRow
+136 Q3TableItem::setCol
+144 Q3CheckTableItem::paint
+152 Q3TableItem::setEnabled
+160 Q3CheckTableItem::rtti
+168 Q3CheckTableItem::setChecked
+
+Class Q3CheckTableItem
+ size=88 align=8
+ base size=81 base align=8
+Q3CheckTableItem (0x7fea0f1d5bd0) 0
+ vptr=((& Q3CheckTableItem::_ZTV16Q3CheckTableItem) + 16u)
+ Q3TableItem (0x7fea0f1d5c40) 0
+ primary-for Q3CheckTableItem (0x7fea0f1d5bd0)
+
+Class Q3Table::TableWidget
+ size=16 align=8
+ base size=16 base align=8
+Q3Table::TableWidget (0x7fea0effecb0) 0
+
+Vtable for Q3Table
+Q3Table::_ZTV7Q3Table: 183u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7Q3Table)
+16 Q3Table::metaObject
+24 Q3Table::qt_metacast
+32 Q3Table::qt_metacall
+40 Q3Table::~Q3Table
+48 Q3Table::~Q3Table
+56 QFrame::event
+64 Q3Table::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 Q3ScrollView::setVisible
+128 Q3Table::sizeHint
+136 Q3ScrollView::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 Q3ScrollView::mousePressEvent
+168 Q3ScrollView::mouseReleaseEvent
+176 Q3ScrollView::mouseDoubleClickEvent
+184 Q3ScrollView::mouseMoveEvent
+192 Q3ScrollView::wheelEvent
+200 Q3Table::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 Q3Table::focusInEvent
+224 Q3Table::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 Q3Table::paintEvent
+256 QWidget::moveEvent
+264 Q3ScrollView::resizeEvent
+272 QWidget::closeEvent
+280 Q3ScrollView::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 Q3Table::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QFrame::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 Q3Table::inputMethodQuery
+392 Q3ScrollView::focusNextPrevChild
+400 Q3ScrollView::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 Q3ScrollView::fontChange
+432 Q3Table::windowActivationChange
+440 QWidget::languageChange
+448 Q3ScrollView::frameChanged
+456 Q3Frame::drawFrame
+464 Q3Table::drawContents
+472 Q3ScrollView::setResizePolicy
+480 Q3ScrollView::addChild
+488 Q3ScrollView::moveChild
+496 Q3ScrollView::setVScrollBarMode
+504 Q3ScrollView::setHScrollBarMode
+512 Q3ScrollView::setCornerWidget
+520 Q3ScrollView::setDragAutoScroll
+528 Q3ScrollView::resizeContents
+536 Q3ScrollView::setContentsPos
+544 Q3Table::drawContents
+552 Q3ScrollView::drawContentsOffset
+560 Q3Table::contentsMousePressEvent
+568 Q3Table::contentsMouseReleaseEvent
+576 Q3Table::contentsMouseDoubleClickEvent
+584 Q3Table::contentsMouseMoveEvent
+592 Q3Table::contentsDragEnterEvent
+600 Q3Table::contentsDragMoveEvent
+608 Q3Table::contentsDragLeaveEvent
+616 Q3Table::contentsDropEvent
+624 Q3ScrollView::contentsWheelEvent
+632 Q3Table::contentsContextMenuEvent
+640 Q3ScrollView::viewportPaintEvent
+648 Q3Table::viewportResizeEvent
+656 Q3ScrollView::viewportMousePressEvent
+664 Q3ScrollView::viewportMouseReleaseEvent
+672 Q3ScrollView::viewportMouseDoubleClickEvent
+680 Q3ScrollView::viewportMouseMoveEvent
+688 Q3ScrollView::viewportDragEnterEvent
+696 Q3ScrollView::viewportDragMoveEvent
+704 Q3ScrollView::viewportDragLeaveEvent
+712 Q3ScrollView::viewportDropEvent
+720 Q3ScrollView::viewportWheelEvent
+728 Q3ScrollView::viewportContextMenuEvent
+736 Q3ScrollView::setMargins
+744 Q3ScrollView::setHBarGeometry
+752 Q3ScrollView::setVBarGeometry
+760 Q3Table::setSelectionMode
+768 Q3Table::setItem
+776 Q3Table::setText
+784 Q3Table::setPixmap
+792 Q3Table::item
+800 Q3Table::text
+808 Q3Table::pixmap
+816 Q3Table::clearCell
+824 Q3Table::cellGeometry
+832 Q3Table::columnWidth
+840 Q3Table::rowHeight
+848 Q3Table::columnPos
+856 Q3Table::rowPos
+864 Q3Table::columnAt
+872 Q3Table::rowAt
+880 Q3Table::numRows
+888 Q3Table::numCols
+896 Q3Table::addSelection
+904 Q3Table::removeSelection
+912 Q3Table::removeSelection
+920 Q3Table::currentSelection
+928 Q3Table::selectRow
+936 Q3Table::selectColumn
+944 Q3Table::sortColumn
+952 Q3Table::takeItem
+960 Q3Table::setCellWidget
+968 Q3Table::cellWidget
+976 Q3Table::clearCellWidget
+984 Q3Table::cellRect
+992 Q3Table::paintCell
+1000 Q3Table::paintCell
+1008 Q3Table::paintFocus
+1016 Q3Table::setFocusStyle
+1024 Q3Table::setNumRows
+1032 Q3Table::setNumCols
+1040 Q3Table::setShowGrid
+1048 Q3Table::hideRow
+1056 Q3Table::hideColumn
+1064 Q3Table::showRow
+1072 Q3Table::showColumn
+1080 Q3Table::setColumnWidth
+1088 Q3Table::setRowHeight
+1096 Q3Table::adjustColumn
+1104 Q3Table::adjustRow
+1112 Q3Table::setColumnStretchable
+1120 Q3Table::setRowStretchable
+1128 Q3Table::setSorting
+1136 Q3Table::swapRows
+1144 Q3Table::swapColumns
+1152 Q3Table::swapCells
+1160 Q3Table::setLeftMargin
+1168 Q3Table::setTopMargin
+1176 Q3Table::setCurrentCell
+1184 Q3Table::setColumnMovingEnabled
+1192 Q3Table::setRowMovingEnabled
+1200 Q3Table::setReadOnly
+1208 Q3Table::setRowReadOnly
+1216 Q3Table::setColumnReadOnly
+1224 Q3Table::setDragEnabled
+1232 Q3Table::insertRows
+1240 Q3Table::insertColumns
+1248 Q3Table::removeRow
+1256 Q3Table::removeRows
+1264 Q3Table::removeColumn
+1272 Q3Table::removeColumns
+1280 Q3Table::editCell
+1288 Q3Table::dragObject
+1296 Q3Table::startDrag
+1304 Q3Table::paintEmptyArea
+1312 Q3Table::activateNextCell
+1320 Q3Table::createEditor
+1328 Q3Table::setCellContentFromEditor
+1336 Q3Table::beginEdit
+1344 Q3Table::endEdit
+1352 Q3Table::resizeData
+1360 Q3Table::insertWidget
+1368 Q3Table::columnWidthChanged
+1376 Q3Table::rowHeightChanged
+1384 Q3Table::columnIndexChanged
+1392 Q3Table::rowIndexChanged
+1400 Q3Table::columnClicked
+1408 (int (*)(...))-0x00000000000000010
+1416 (int (*)(...))(& _ZTI7Q3Table)
+1424 Q3Table::_ZThn16_N7Q3TableD1Ev
+1432 Q3Table::_ZThn16_N7Q3TableD0Ev
+1440 QWidget::_ZThn16_NK7QWidget7devTypeEv
+1448 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+1456 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class Q3Table
+ size=392 align=8
+ base size=388 base align=8
+Q3Table (0x7fea0f1d5d90) 0
+ vptr=((& Q3Table::_ZTV7Q3Table) + 16u)
+ Q3ScrollView (0x7fea0f1d5e00) 0
+ primary-for Q3Table (0x7fea0f1d5d90)
+ Q3Frame (0x7fea0f1d5e70) 0
+ primary-for Q3ScrollView (0x7fea0f1d5e00)
+ QFrame (0x7fea0f1d5ee0) 0
+ primary-for Q3Frame (0x7fea0f1d5e70)
+ QWidget (0x7fea0f1ced80) 0
+ primary-for QFrame (0x7fea0f1d5ee0)
+ QObject (0x7fea0f1d5f50) 0
+ primary-for QWidget (0x7fea0f1ced80)
+ QPaintDevice (0x7fea0f1d5620) 16
+ vptr=((& Q3Table::_ZTV7Q3Table) + 1424u)
+
+Vtable for Q3EditorFactory
+Q3EditorFactory::_ZTV15Q3EditorFactory: 15u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15Q3EditorFactory)
+16 QObject::metaObject
+24 QObject::qt_metacast
+32 QObject::qt_metacall
+40 Q3EditorFactory::~Q3EditorFactory
+48 Q3EditorFactory::~Q3EditorFactory
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 Q3EditorFactory::createEditor
+
+Class Q3EditorFactory
+ size=16 align=8
+ base size=16 base align=8
+Q3EditorFactory (0x7fea0f098f50) 0
+ vptr=((& Q3EditorFactory::_ZTV15Q3EditorFactory) + 16u)
+ QObject (0x7fea0f09c000) 0
+ primary-for Q3EditorFactory (0x7fea0f098f50)
+
+Vtable for Q3SqlEditorFactory
+Q3SqlEditorFactory::_ZTV18Q3SqlEditorFactory: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18Q3SqlEditorFactory)
+16 QObject::metaObject
+24 QObject::qt_metacast
+32 QObject::qt_metacall
+40 Q3SqlEditorFactory::~Q3SqlEditorFactory
+48 Q3SqlEditorFactory::~Q3SqlEditorFactory
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 Q3SqlEditorFactory::createEditor
+120 Q3SqlEditorFactory::createEditor
+
+Class Q3SqlEditorFactory
+ size=16 align=8
+ base size=16 base align=8
+Q3SqlEditorFactory (0x7fea0f09c8c0) 0
+ vptr=((& Q3SqlEditorFactory::_ZTV18Q3SqlEditorFactory) + 16u)
+ Q3EditorFactory (0x7fea0f09c930) 0
+ primary-for Q3SqlEditorFactory (0x7fea0f09c8c0)
+ QObject (0x7fea0f09c9a0) 0
+ primary-for Q3EditorFactory (0x7fea0f09c930)
+
+Vtable for Q3DataTable
+Q3DataTable::_ZTV11Q3DataTable: 214u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11Q3DataTable)
+16 Q3DataTable::metaObject
+24 Q3DataTable::qt_metacast
+32 Q3DataTable::qt_metacall
+40 Q3DataTable::~Q3DataTable
+48 Q3DataTable::~Q3DataTable
+56 QFrame::event
+64 Q3DataTable::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 Q3ScrollView::setVisible
+128 Q3Table::sizeHint
+136 Q3ScrollView::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 Q3ScrollView::mousePressEvent
+168 Q3ScrollView::mouseReleaseEvent
+176 Q3ScrollView::mouseDoubleClickEvent
+184 Q3ScrollView::mouseMoveEvent
+192 Q3ScrollView::wheelEvent
+200 Q3DataTable::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 Q3Table::focusInEvent
+224 Q3Table::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 Q3Table::paintEvent
+256 QWidget::moveEvent
+264 Q3DataTable::resizeEvent
+272 QWidget::closeEvent
+280 Q3ScrollView::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 Q3Table::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QFrame::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 Q3Table::inputMethodQuery
+392 Q3ScrollView::focusNextPrevChild
+400 Q3ScrollView::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 Q3ScrollView::fontChange
+432 Q3Table::windowActivationChange
+440 QWidget::languageChange
+448 Q3ScrollView::frameChanged
+456 Q3Frame::drawFrame
+464 Q3DataTable::drawContents
+472 Q3ScrollView::setResizePolicy
+480 Q3ScrollView::addChild
+488 Q3ScrollView::moveChild
+496 Q3ScrollView::setVScrollBarMode
+504 Q3ScrollView::setHScrollBarMode
+512 Q3ScrollView::setCornerWidget
+520 Q3ScrollView::setDragAutoScroll
+528 Q3ScrollView::resizeContents
+536 Q3ScrollView::setContentsPos
+544 Q3DataTable::drawContents
+552 Q3ScrollView::drawContentsOffset
+560 Q3DataTable::contentsMousePressEvent
+568 Q3Table::contentsMouseReleaseEvent
+576 Q3Table::contentsMouseDoubleClickEvent
+584 Q3Table::contentsMouseMoveEvent
+592 Q3Table::contentsDragEnterEvent
+600 Q3Table::contentsDragMoveEvent
+608 Q3Table::contentsDragLeaveEvent
+616 Q3Table::contentsDropEvent
+624 Q3ScrollView::contentsWheelEvent
+632 Q3DataTable::contentsContextMenuEvent
+640 Q3ScrollView::viewportPaintEvent
+648 Q3Table::viewportResizeEvent
+656 Q3ScrollView::viewportMousePressEvent
+664 Q3ScrollView::viewportMouseReleaseEvent
+672 Q3ScrollView::viewportMouseDoubleClickEvent
+680 Q3ScrollView::viewportMouseMoveEvent
+688 Q3ScrollView::viewportDragEnterEvent
+696 Q3ScrollView::viewportDragMoveEvent
+704 Q3ScrollView::viewportDragLeaveEvent
+712 Q3ScrollView::viewportDropEvent
+720 Q3ScrollView::viewportWheelEvent
+728 Q3ScrollView::viewportContextMenuEvent
+736 Q3ScrollView::setMargins
+744 Q3ScrollView::setHBarGeometry
+752 Q3ScrollView::setVBarGeometry
+760 Q3Table::setSelectionMode
+768 Q3DataTable::setItem
+776 Q3Table::setText
+784 Q3DataTable::setPixmap
+792 Q3DataTable::item
+800 Q3DataTable::text
+808 Q3Table::pixmap
+816 Q3DataTable::clearCell
+824 Q3Table::cellGeometry
+832 Q3Table::columnWidth
+840 Q3Table::rowHeight
+848 Q3Table::columnPos
+856 Q3Table::rowPos
+864 Q3Table::columnAt
+872 Q3Table::rowAt
+880 Q3DataTable::numRows
+888 Q3DataTable::numCols
+896 Q3Table::addSelection
+904 Q3Table::removeSelection
+912 Q3Table::removeSelection
+920 Q3Table::currentSelection
+928 Q3DataTable::selectRow
+936 Q3Table::selectColumn
+944 Q3DataTable::sortColumn
+952 Q3DataTable::takeItem
+960 Q3Table::setCellWidget
+968 Q3Table::cellWidget
+976 Q3Table::clearCellWidget
+984 Q3Table::cellRect
+992 Q3Table::paintCell
+1000 Q3DataTable::paintCell
+1008 Q3Table::paintFocus
+1016 Q3Table::setFocusStyle
+1024 Q3DataTable::setNumRows
+1032 Q3DataTable::setNumCols
+1040 Q3Table::setShowGrid
+1048 Q3Table::hideRow
+1056 Q3DataTable::hideColumn
+1064 Q3Table::showRow
+1072 Q3DataTable::showColumn
+1080 Q3DataTable::setColumnWidth
+1088 Q3Table::setRowHeight
+1096 Q3DataTable::adjustColumn
+1104 Q3Table::adjustRow
+1112 Q3DataTable::setColumnStretchable
+1120 Q3Table::setRowStretchable
+1128 Q3Table::setSorting
+1136 Q3Table::swapRows
+1144 Q3DataTable::swapColumns
+1152 Q3Table::swapCells
+1160 Q3Table::setLeftMargin
+1168 Q3Table::setTopMargin
+1176 Q3Table::setCurrentCell
+1184 Q3Table::setColumnMovingEnabled
+1192 Q3Table::setRowMovingEnabled
+1200 Q3Table::setReadOnly
+1208 Q3Table::setRowReadOnly
+1216 Q3Table::setColumnReadOnly
+1224 Q3Table::setDragEnabled
+1232 Q3Table::insertRows
+1240 Q3Table::insertColumns
+1248 Q3Table::removeRow
+1256 Q3Table::removeRows
+1264 Q3DataTable::removeColumn
+1272 Q3Table::removeColumns
+1280 Q3Table::editCell
+1288 Q3Table::dragObject
+1296 Q3Table::startDrag
+1304 Q3Table::paintEmptyArea
+1312 Q3DataTable::activateNextCell
+1320 Q3DataTable::createEditor
+1328 Q3Table::setCellContentFromEditor
+1336 Q3DataTable::beginEdit
+1344 Q3DataTable::endEdit
+1352 Q3DataTable::resizeData
+1360 Q3Table::insertWidget
+1368 Q3Table::columnWidthChanged
+1376 Q3Table::rowHeightChanged
+1384 Q3Table::columnIndexChanged
+1392 Q3Table::rowIndexChanged
+1400 Q3DataTable::columnClicked
+1408 Q3DataTable::addColumn
+1416 Q3DataTable::setColumn
+1424 Q3DataTable::setSqlCursor
+1432 Q3DataTable::setNullText
+1440 Q3DataTable::setTrueText
+1448 Q3DataTable::setFalseText
+1456 Q3DataTable::setDateFormat
+1464 Q3DataTable::setConfirmEdits
+1472 Q3DataTable::setConfirmInsert
+1480 Q3DataTable::setConfirmUpdate
+1488 Q3DataTable::setConfirmDelete
+1496 Q3DataTable::setConfirmCancels
+1504 Q3DataTable::setAutoDelete
+1512 Q3DataTable::setAutoEdit
+1520 Q3DataTable::setFilter
+1528 Q3DataTable::setSort
+1536 Q3DataTable::setSort
+1544 Q3DataTable::find
+1552 Q3DataTable::sortAscending
+1560 Q3DataTable::sortDescending
+1568 Q3DataTable::refresh
+1576 Q3DataTable::insertCurrent
+1584 Q3DataTable::updateCurrent
+1592 Q3DataTable::deleteCurrent
+1600 Q3DataTable::confirmEdit
+1608 Q3DataTable::confirmCancel
+1616 Q3DataTable::handleError
+1624 Q3DataTable::beginInsert
+1632 Q3DataTable::beginUpdate
+1640 Q3DataTable::paintField
+1648 Q3DataTable::fieldAlignment
+1656 (int (*)(...))-0x00000000000000010
+1664 (int (*)(...))(& _ZTI11Q3DataTable)
+1672 Q3DataTable::_ZThn16_N11Q3DataTableD1Ev
+1680 Q3DataTable::_ZThn16_N11Q3DataTableD0Ev
+1688 QWidget::_ZThn16_NK7QWidget7devTypeEv
+1696 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+1704 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class Q3DataTable
+ size=400 align=8
+ base size=400 base align=8
+Q3DataTable (0x7fea0f0a6230) 0
+ vptr=((& Q3DataTable::_ZTV11Q3DataTable) + 16u)
+ Q3Table (0x7fea0f0a62a0) 0
+ primary-for Q3DataTable (0x7fea0f0a6230)
+ Q3ScrollView (0x7fea0f0a6310) 0
+ primary-for Q3Table (0x7fea0f0a62a0)
+ Q3Frame (0x7fea0f0a6380) 0
+ primary-for Q3ScrollView (0x7fea0f0a6310)
+ QFrame (0x7fea0f0a63f0) 0
+ primary-for Q3Frame (0x7fea0f0a6380)
+ QWidget (0x7fea0f09b380) 0
+ primary-for QFrame (0x7fea0f0a63f0)
+ QObject (0x7fea0f0a6460) 0
+ primary-for QWidget (0x7fea0f09b380)
+ QPaintDevice (0x7fea0f0a64d0) 16
+ vptr=((& Q3DataTable::_ZTV11Q3DataTable) + 1672u)
+
+Vtable for Q3SqlSelectCursor
+Q3SqlSelectCursor::_ZTV17Q3SqlSelectCursor: 40u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17Q3SqlSelectCursor)
+16 Q3SqlSelectCursor::~Q3SqlSelectCursor
+24 Q3SqlSelectCursor::~Q3SqlSelectCursor
+32 Q3SqlCursor::setValue
+40 Q3SqlSelectCursor::primaryIndex
+48 Q3SqlSelectCursor::index
+56 Q3SqlSelectCursor::setPrimaryIndex
+64 Q3SqlSelectCursor::append
+72 Q3SqlSelectCursor::insert
+80 Q3SqlSelectCursor::remove
+88 Q3SqlSelectCursor::clear
+96 Q3SqlSelectCursor::setGenerated
+104 Q3SqlSelectCursor::setGenerated
+112 Q3SqlSelectCursor::editBuffer
+120 Q3SqlSelectCursor::primeInsert
+128 Q3SqlSelectCursor::primeUpdate
+136 Q3SqlSelectCursor::primeDelete
+144 Q3SqlSelectCursor::insert
+152 Q3SqlSelectCursor::update
+160 Q3SqlSelectCursor::del
+168 Q3SqlSelectCursor::setMode
+176 Q3SqlCursor::setCalculated
+184 Q3SqlCursor::setTrimmed
+192 Q3SqlSelectCursor::select
+200 Q3SqlSelectCursor::setSort
+208 Q3SqlSelectCursor::setFilter
+216 Q3SqlSelectCursor::setName
+224 Q3SqlCursor::seek
+232 Q3SqlCursor::next
+240 Q3SqlCursor::prev
+248 Q3SqlCursor::first
+256 Q3SqlCursor::last
+264 Q3SqlSelectCursor::exec
+272 Q3SqlCursor::calculateField
+280 Q3SqlCursor::update
+288 Q3SqlCursor::del
+296 Q3SqlCursor::toString
+304 Q3SqlCursor::toString
+312 Q3SqlCursor::toString
+
+Class Q3SqlSelectCursor
+ size=40 align=8
+ base size=40 base align=8
+Q3SqlSelectCursor (0x7fea0f0d7f50) 0
+ vptr=((& Q3SqlSelectCursor::_ZTV17Q3SqlSelectCursor) + 16u)
+ Q3SqlCursor (0x7fea0f09bc00) 0
+ primary-for Q3SqlSelectCursor (0x7fea0f0d7f50)
+ QSqlRecord (0x7fea0f0d7150) 8
+ QSqlQuery (0x7fea0eed5000) 16
+
+Vtable for Q3DataBrowser
+Q3DataBrowser::_ZTV13Q3DataBrowser: 91u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13Q3DataBrowser)
+16 Q3DataBrowser::metaObject
+24 Q3DataBrowser::qt_metacast
+32 Q3DataBrowser::qt_metacall
+40 Q3DataBrowser::~Q3DataBrowser
+48 Q3DataBrowser::~Q3DataBrowser
+56 QWidget::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QWidget::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QWidget::paintEvent
+256 QWidget::moveEvent
+264 QWidget::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QWidget::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 Q3DataBrowser::setSqlCursor
+456 Q3DataBrowser::setForm
+464 Q3DataBrowser::setConfirmEdits
+472 Q3DataBrowser::setConfirmInsert
+480 Q3DataBrowser::setConfirmUpdate
+488 Q3DataBrowser::setConfirmDelete
+496 Q3DataBrowser::setConfirmCancels
+504 Q3DataBrowser::setReadOnly
+512 Q3DataBrowser::setAutoEdit
+520 Q3DataBrowser::seek
+528 Q3DataBrowser::refresh
+536 Q3DataBrowser::insert
+544 Q3DataBrowser::update
+552 Q3DataBrowser::del
+560 Q3DataBrowser::first
+568 Q3DataBrowser::last
+576 Q3DataBrowser::next
+584 Q3DataBrowser::prev
+592 Q3DataBrowser::readFields
+600 Q3DataBrowser::writeFields
+608 Q3DataBrowser::clearValues
+616 Q3DataBrowser::insertCurrent
+624 Q3DataBrowser::updateCurrent
+632 Q3DataBrowser::deleteCurrent
+640 Q3DataBrowser::currentEdited
+648 Q3DataBrowser::confirmEdit
+656 Q3DataBrowser::confirmCancel
+664 Q3DataBrowser::handleError
+672 (int (*)(...))-0x00000000000000010
+680 (int (*)(...))(& _ZTI13Q3DataBrowser)
+688 Q3DataBrowser::_ZThn16_N13Q3DataBrowserD1Ev
+696 Q3DataBrowser::_ZThn16_N13Q3DataBrowserD0Ev
+704 QWidget::_ZThn16_NK7QWidget7devTypeEv
+712 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+720 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class Q3DataBrowser
+ size=48 align=8
+ base size=48 base align=8
+Q3DataBrowser (0x7fea0ef01000) 0
+ vptr=((& Q3DataBrowser::_ZTV13Q3DataBrowser) + 16u)
+ QWidget (0x7fea0eefc400) 0
+ primary-for Q3DataBrowser (0x7fea0ef01000)
+ QObject (0x7fea0ef01070) 0
+ primary-for QWidget (0x7fea0eefc400)
+ QPaintDevice (0x7fea0ef010e0) 16
+ vptr=((& Q3DataBrowser::_ZTV13Q3DataBrowser) + 688u)
+
+Vtable for Q3SqlFieldInfo
+Q3SqlFieldInfo::_ZTV14Q3SqlFieldInfo: 7u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14Q3SqlFieldInfo)
+16 Q3SqlFieldInfo::~Q3SqlFieldInfo
+24 Q3SqlFieldInfo::~Q3SqlFieldInfo
+32 Q3SqlFieldInfo::setTrim
+40 Q3SqlFieldInfo::setGenerated
+48 Q3SqlFieldInfo::setCalculated
+
+Class Q3SqlFieldInfo
+ size=64 align=8
+ base size=64 base align=8
+Q3SqlFieldInfo (0x7fea0ef27700) 0
+ vptr=((& Q3SqlFieldInfo::_ZTV14Q3SqlFieldInfo) + 16u)
+
+Vtable for Q3SqlForm
+Q3SqlForm::_ZTV9Q3SqlForm: 26u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9Q3SqlForm)
+16 Q3SqlForm::metaObject
+24 Q3SqlForm::qt_metacast
+32 Q3SqlForm::qt_metacall
+40 Q3SqlForm::~Q3SqlForm
+48 Q3SqlForm::~Q3SqlForm
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 Q3SqlForm::insert
+120 Q3SqlForm::remove
+128 Q3SqlForm::setRecord
+136 Q3SqlForm::readField
+144 Q3SqlForm::writeField
+152 Q3SqlForm::readFields
+160 Q3SqlForm::writeFields
+168 Q3SqlForm::clear
+176 Q3SqlForm::clearValues
+184 Q3SqlForm::insert
+192 Q3SqlForm::remove
+200 Q3SqlForm::sync
+
+Class Q3SqlForm
+ size=24 align=8
+ base size=24 base align=8
+Q3SqlForm (0x7fea0ef8be00) 0
+ vptr=((& Q3SqlForm::_ZTV9Q3SqlForm) + 16u)
+ QObject (0x7fea0ef8be70) 0
+ primary-for Q3SqlForm (0x7fea0ef8be00)
+
+Vtable for Q3SqlPropertyMap
+Q3SqlPropertyMap::_ZTV16Q3SqlPropertyMap: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16Q3SqlPropertyMap)
+16 Q3SqlPropertyMap::~Q3SqlPropertyMap
+24 Q3SqlPropertyMap::~Q3SqlPropertyMap
+32 Q3SqlPropertyMap::setProperty
+
+Class Q3SqlPropertyMap
+ size=16 align=8
+ base size=16 base align=8
+Q3SqlPropertyMap (0x7fea0efa31c0) 0
+ vptr=((& Q3SqlPropertyMap::_ZTV16Q3SqlPropertyMap) + 16u)
+
+Class Q3SqlRecordInfo
+ size=8 align=8
+ base size=8 base align=8
+Q3SqlRecordInfo (0x7fea0efc4d90) 0
+ Q3ValueList<Q3SqlFieldInfo> (0x7fea0efc4e00) 0
+ QLinkedList<Q3SqlFieldInfo> (0x7fea0efc4e70) 0
+
+Vtable for Q3DataView
+Q3DataView::_ZTV10Q3DataView: 69u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10Q3DataView)
+16 Q3DataView::metaObject
+24 Q3DataView::qt_metacast
+32 Q3DataView::qt_metacall
+40 Q3DataView::~Q3DataView
+48 Q3DataView::~Q3DataView
+56 QWidget::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QWidget::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QWidget::paintEvent
+256 QWidget::moveEvent
+264 QWidget::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QWidget::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 Q3DataView::setForm
+456 Q3DataView::setRecord
+464 Q3DataView::refresh
+472 Q3DataView::readFields
+480 Q3DataView::writeFields
+488 Q3DataView::clearValues
+496 (int (*)(...))-0x00000000000000010
+504 (int (*)(...))(& _ZTI10Q3DataView)
+512 Q3DataView::_ZThn16_N10Q3DataViewD1Ev
+520 Q3DataView::_ZThn16_N10Q3DataViewD0Ev
+528 QWidget::_ZThn16_NK7QWidget7devTypeEv
+536 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+544 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class Q3DataView
+ size=48 align=8
+ base size=48 base align=8
+Q3DataView (0x7fea0ee9d0e0) 0
+ vptr=((& Q3DataView::_ZTV10Q3DataView) + 16u)
+ QWidget (0x7fea0ee91c00) 0
+ primary-for Q3DataView (0x7fea0ee9d0e0)
+ QObject (0x7fea0ee9d150) 0
+ primary-for QWidget (0x7fea0ee91c00)
+ QPaintDevice (0x7fea0ee9d1c0) 16
+ vptr=((& Q3DataView::_ZTV10Q3DataView) + 512u)
+
+Class Q3StyleSheetItem
+ size=8 align=8
+ base size=8 base align=8
+Q3StyleSheetItem (0x7fea0eeb24d0) 0
+
+Vtable for Q3StyleSheet
+Q3StyleSheet::_ZTV12Q3StyleSheet: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12Q3StyleSheet)
+16 Q3StyleSheet::metaObject
+24 Q3StyleSheet::qt_metacast
+32 Q3StyleSheet::qt_metacall
+40 Q3StyleSheet::~Q3StyleSheet
+48 Q3StyleSheet::~Q3StyleSheet
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 Q3StyleSheet::scaleFont
+120 Q3StyleSheet::error
+
+Class Q3StyleSheet
+ size=32 align=8
+ base size=32 base align=8
+Q3StyleSheet (0x7fea0eec8310) 0
+ vptr=((& Q3StyleSheet::_ZTV12Q3StyleSheet) + 16u)
+ QObject (0x7fea0eec8380) 0
+ primary-for Q3StyleSheet (0x7fea0eec8310)
+
+Vtable for Q3MimeSourceFactory
+Q3MimeSourceFactory::_ZTV19Q3MimeSourceFactory: 13u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19Q3MimeSourceFactory)
+16 Q3MimeSourceFactory::~Q3MimeSourceFactory
+24 Q3MimeSourceFactory::~Q3MimeSourceFactory
+32 Q3MimeSourceFactory::data
+40 Q3MimeSourceFactory::makeAbsolute
+48 Q3MimeSourceFactory::setText
+56 Q3MimeSourceFactory::setImage
+64 Q3MimeSourceFactory::setPixmap
+72 Q3MimeSourceFactory::setData
+80 Q3MimeSourceFactory::setFilePath
+88 Q3MimeSourceFactory::filePath
+96 Q3MimeSourceFactory::setExtensionType
+
+Class Q3MimeSourceFactory
+ size=16 align=8
+ base size=16 base align=8
+Q3MimeSourceFactory (0x7fea0ecf7af0) 0
+ vptr=((& Q3MimeSourceFactory::_ZTV19Q3MimeSourceFactory) + 16u)
+
+Class Q3TextEditOptimPrivate::Tag
+ size=56 align=8
+ base size=56 base align=8
+Q3TextEditOptimPrivate::Tag (0x7fea0ed003f0) 0
+
+Class Q3TextEditOptimPrivate::Selection
+ size=8 align=4
+ base size=8 base align=4
+Q3TextEditOptimPrivate::Selection (0x7fea0ed00c40) 0
+
+Class Q3TextEditOptimPrivate
+ size=72 align=8
+ base size=72 base align=8
+Q3TextEditOptimPrivate (0x7fea0ed00380) 0
+
+Class Q3TextEdit::UndoRedoInfo
+ size=56 align=8
+ base size=56 base align=8
+Q3TextEdit::UndoRedoInfo (0x7fea0ed85b60) 0
+
+Vtable for Q3TextEdit
+Q3TextEdit::_ZTV10Q3TextEdit: 175u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10Q3TextEdit)
+16 Q3TextEdit::metaObject
+24 Q3TextEdit::qt_metacast
+32 Q3TextEdit::qt_metacall
+40 Q3TextEdit::~Q3TextEdit
+48 Q3TextEdit::~Q3TextEdit
+56 Q3TextEdit::event
+64 Q3TextEdit::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 Q3ScrollView::setVisible
+128 Q3TextEdit::sizeHint
+136 Q3ScrollView::minimumSizeHint
+144 Q3TextEdit::heightForWidth
+152 QWidget::paintEngine
+160 Q3ScrollView::mousePressEvent
+168 Q3ScrollView::mouseReleaseEvent
+176 Q3ScrollView::mouseDoubleClickEvent
+184 Q3ScrollView::mouseMoveEvent
+192 Q3ScrollView::wheelEvent
+200 Q3TextEdit::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 Q3Frame::paintEvent
+256 QWidget::moveEvent
+264 Q3TextEdit::resizeEvent
+272 QWidget::closeEvent
+280 Q3ScrollView::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 Q3TextEdit::changeEvent
+368 QWidget::metric
+376 Q3TextEdit::inputMethodEvent
+384 Q3TextEdit::inputMethodQuery
+392 Q3TextEdit::focusNextPrevChild
+400 Q3ScrollView::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 Q3ScrollView::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 Q3ScrollView::frameChanged
+456 Q3Frame::drawFrame
+464 Q3TextEdit::drawContents
+472 Q3ScrollView::setResizePolicy
+480 Q3ScrollView::addChild
+488 Q3ScrollView::moveChild
+496 Q3ScrollView::setVScrollBarMode
+504 Q3ScrollView::setHScrollBarMode
+512 Q3ScrollView::setCornerWidget
+520 Q3ScrollView::setDragAutoScroll
+528 Q3ScrollView::resizeContents
+536 Q3ScrollView::setContentsPos
+544 Q3TextEdit::drawContents
+552 Q3ScrollView::drawContentsOffset
+560 Q3TextEdit::contentsMousePressEvent
+568 Q3TextEdit::contentsMouseReleaseEvent
+576 Q3TextEdit::contentsMouseDoubleClickEvent
+584 Q3TextEdit::contentsMouseMoveEvent
+592 Q3TextEdit::contentsDragEnterEvent
+600 Q3TextEdit::contentsDragMoveEvent
+608 Q3TextEdit::contentsDragLeaveEvent
+616 Q3TextEdit::contentsDropEvent
+624 Q3TextEdit::contentsWheelEvent
+632 Q3TextEdit::contentsContextMenuEvent
+640 Q3ScrollView::viewportPaintEvent
+648 Q3TextEdit::viewportResizeEvent
+656 Q3ScrollView::viewportMousePressEvent
+664 Q3ScrollView::viewportMouseReleaseEvent
+672 Q3ScrollView::viewportMouseDoubleClickEvent
+680 Q3ScrollView::viewportMouseMoveEvent
+688 Q3ScrollView::viewportDragEnterEvent
+696 Q3ScrollView::viewportDragMoveEvent
+704 Q3ScrollView::viewportDragLeaveEvent
+712 Q3ScrollView::viewportDropEvent
+720 Q3ScrollView::viewportWheelEvent
+728 Q3ScrollView::viewportContextMenuEvent
+736 Q3ScrollView::setMargins
+744 Q3ScrollView::setHBarGeometry
+752 Q3ScrollView::setVBarGeometry
+760 Q3TextEdit::find
+768 Q3TextEdit::getFormat
+776 Q3TextEdit::getParagraphFormat
+784 Q3TextEdit::setMimeSourceFactory
+792 Q3TextEdit::setStyleSheet
+800 Q3TextEdit::scrollToAnchor
+808 Q3TextEdit::setPaper
+816 Q3TextEdit::setLinkUnderline
+824 Q3TextEdit::setWordWrap
+832 Q3TextEdit::setWrapColumnOrWidth
+840 Q3TextEdit::setWrapPolicy
+848 Q3TextEdit::copy
+856 Q3TextEdit::append
+864 Q3TextEdit::setText
+872 Q3TextEdit::setTextFormat
+880 Q3TextEdit::selectAll
+888 Q3TextEdit::setTabStopWidth
+896 Q3TextEdit::zoomIn
+904 Q3TextEdit::zoomIn
+912 Q3TextEdit::zoomOut
+920 Q3TextEdit::zoomOut
+928 Q3TextEdit::zoomTo
+936 Q3TextEdit::sync
+944 Q3TextEdit::setReadOnly
+952 Q3TextEdit::undo
+960 Q3TextEdit::redo
+968 Q3TextEdit::cut
+976 Q3TextEdit::paste
+984 Q3TextEdit::pasteSubType
+992 Q3TextEdit::clear
+1000 Q3TextEdit::del
+1008 Q3TextEdit::indent
+1016 Q3TextEdit::setItalic
+1024 Q3TextEdit::setBold
+1032 Q3TextEdit::setUnderline
+1040 Q3TextEdit::setFamily
+1048 Q3TextEdit::setPointSize
+1056 Q3TextEdit::setColor
+1064 Q3TextEdit::setVerticalAlignment
+1072 Q3TextEdit::setAlignment
+1080 Q3TextEdit::setParagType
+1088 Q3TextEdit::setCursorPosition
+1096 Q3TextEdit::setSelection
+1104 Q3TextEdit::setSelectionAttributes
+1112 Q3TextEdit::setModified
+1120 Q3TextEdit::resetFormat
+1128 Q3TextEdit::setUndoDepth
+1136 Q3TextEdit::setFormat
+1144 Q3TextEdit::ensureCursorVisible
+1152 Q3TextEdit::placeCursor
+1160 Q3TextEdit::moveCursor
+1168 Q3TextEdit::doKeyboardAction
+1176 Q3TextEdit::removeSelectedText
+1184 Q3TextEdit::removeSelection
+1192 Q3TextEdit::setCurrentFont
+1200 Q3TextEdit::setOverwriteMode
+1208 Q3TextEdit::scrollToBottom
+1216 Q3TextEdit::insert
+1224 Q3TextEdit::insert
+1232 Q3TextEdit::insertAt
+1240 Q3TextEdit::removeParagraph
+1248 Q3TextEdit::insertParagraph
+1256 Q3TextEdit::setParagraphBackgroundColor
+1264 Q3TextEdit::clearParagraphBackground
+1272 Q3TextEdit::setUndoRedoEnabled
+1280 Q3TextEdit::setTabChangesFocus
+1288 Q3TextEdit::createPopupMenu
+1296 Q3TextEdit::createPopupMenu
+1304 Q3TextEdit::doChangeInterval
+1312 Q3TextEdit::sliderReleased
+1320 Q3TextEdit::linksEnabled
+1328 Q3TextEdit::emitHighlighted
+1336 Q3TextEdit::emitLinkClicked
+1344 (int (*)(...))-0x00000000000000010
+1352 (int (*)(...))(& _ZTI10Q3TextEdit)
+1360 Q3TextEdit::_ZThn16_N10Q3TextEditD1Ev
+1368 Q3TextEdit::_ZThn16_N10Q3TextEditD0Ev
+1376 QWidget::_ZThn16_NK7QWidget7devTypeEv
+1384 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+1392 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class Q3TextEdit
+ size=272 align=8
+ base size=266 base align=8
+Q3TextEdit (0x7fea0ed65150) 0
+ vptr=((& Q3TextEdit::_ZTV10Q3TextEdit) + 16u)
+ Q3ScrollView (0x7fea0ed651c0) 0
+ primary-for Q3TextEdit (0x7fea0ed65150)
+ Q3Frame (0x7fea0ed65230) 0
+ primary-for Q3ScrollView (0x7fea0ed651c0)
+ QFrame (0x7fea0ed652a0) 0
+ primary-for Q3Frame (0x7fea0ed65230)
+ QWidget (0x7fea0ed64600) 0
+ primary-for QFrame (0x7fea0ed652a0)
+ QObject (0x7fea0ed65310) 0
+ primary-for QWidget (0x7fea0ed64600)
+ QPaintDevice (0x7fea0ed65380) 16
+ vptr=((& Q3TextEdit::_ZTV10Q3TextEdit) + 1360u)
+
+Vtable for Q3SyntaxHighlighter
+Q3SyntaxHighlighter::_ZTV19Q3SyntaxHighlighter: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19Q3SyntaxHighlighter)
+16 Q3SyntaxHighlighter::~Q3SyntaxHighlighter
+24 Q3SyntaxHighlighter::~Q3SyntaxHighlighter
+32 __cxa_pure_virtual
+
+Class Q3SyntaxHighlighter
+ size=32 align=8
+ base size=32 base align=8
+Q3SyntaxHighlighter (0x7fea0ec392a0) 0
+ vptr=((& Q3SyntaxHighlighter::_ZTV19Q3SyntaxHighlighter) + 16u)
+
+Vtable for Q3TextView
+Q3TextView::_ZTV10Q3TextView: 175u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10Q3TextView)
+16 Q3TextView::metaObject
+24 Q3TextView::qt_metacast
+32 Q3TextView::qt_metacall
+40 Q3TextView::~Q3TextView
+48 Q3TextView::~Q3TextView
+56 Q3TextEdit::event
+64 Q3TextEdit::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 Q3ScrollView::setVisible
+128 Q3TextEdit::sizeHint
+136 Q3ScrollView::minimumSizeHint
+144 Q3TextEdit::heightForWidth
+152 QWidget::paintEngine
+160 Q3ScrollView::mousePressEvent
+168 Q3ScrollView::mouseReleaseEvent
+176 Q3ScrollView::mouseDoubleClickEvent
+184 Q3ScrollView::mouseMoveEvent
+192 Q3ScrollView::wheelEvent
+200 Q3TextEdit::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 Q3Frame::paintEvent
+256 QWidget::moveEvent
+264 Q3TextEdit::resizeEvent
+272 QWidget::closeEvent
+280 Q3ScrollView::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 Q3TextEdit::changeEvent
+368 QWidget::metric
+376 Q3TextEdit::inputMethodEvent
+384 Q3TextEdit::inputMethodQuery
+392 Q3TextEdit::focusNextPrevChild
+400 Q3ScrollView::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 Q3ScrollView::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 Q3ScrollView::frameChanged
+456 Q3Frame::drawFrame
+464 Q3TextEdit::drawContents
+472 Q3ScrollView::setResizePolicy
+480 Q3ScrollView::addChild
+488 Q3ScrollView::moveChild
+496 Q3ScrollView::setVScrollBarMode
+504 Q3ScrollView::setHScrollBarMode
+512 Q3ScrollView::setCornerWidget
+520 Q3ScrollView::setDragAutoScroll
+528 Q3ScrollView::resizeContents
+536 Q3ScrollView::setContentsPos
+544 Q3TextEdit::drawContents
+552 Q3ScrollView::drawContentsOffset
+560 Q3TextEdit::contentsMousePressEvent
+568 Q3TextEdit::contentsMouseReleaseEvent
+576 Q3TextEdit::contentsMouseDoubleClickEvent
+584 Q3TextEdit::contentsMouseMoveEvent
+592 Q3TextEdit::contentsDragEnterEvent
+600 Q3TextEdit::contentsDragMoveEvent
+608 Q3TextEdit::contentsDragLeaveEvent
+616 Q3TextEdit::contentsDropEvent
+624 Q3TextEdit::contentsWheelEvent
+632 Q3TextEdit::contentsContextMenuEvent
+640 Q3ScrollView::viewportPaintEvent
+648 Q3TextEdit::viewportResizeEvent
+656 Q3ScrollView::viewportMousePressEvent
+664 Q3ScrollView::viewportMouseReleaseEvent
+672 Q3ScrollView::viewportMouseDoubleClickEvent
+680 Q3ScrollView::viewportMouseMoveEvent
+688 Q3ScrollView::viewportDragEnterEvent
+696 Q3ScrollView::viewportDragMoveEvent
+704 Q3ScrollView::viewportDragLeaveEvent
+712 Q3ScrollView::viewportDropEvent
+720 Q3ScrollView::viewportWheelEvent
+728 Q3ScrollView::viewportContextMenuEvent
+736 Q3ScrollView::setMargins
+744 Q3ScrollView::setHBarGeometry
+752 Q3ScrollView::setVBarGeometry
+760 Q3TextEdit::find
+768 Q3TextEdit::getFormat
+776 Q3TextEdit::getParagraphFormat
+784 Q3TextEdit::setMimeSourceFactory
+792 Q3TextEdit::setStyleSheet
+800 Q3TextEdit::scrollToAnchor
+808 Q3TextEdit::setPaper
+816 Q3TextEdit::setLinkUnderline
+824 Q3TextEdit::setWordWrap
+832 Q3TextEdit::setWrapColumnOrWidth
+840 Q3TextEdit::setWrapPolicy
+848 Q3TextEdit::copy
+856 Q3TextEdit::append
+864 Q3TextEdit::setText
+872 Q3TextEdit::setTextFormat
+880 Q3TextEdit::selectAll
+888 Q3TextEdit::setTabStopWidth
+896 Q3TextEdit::zoomIn
+904 Q3TextEdit::zoomIn
+912 Q3TextEdit::zoomOut
+920 Q3TextEdit::zoomOut
+928 Q3TextEdit::zoomTo
+936 Q3TextEdit::sync
+944 Q3TextEdit::setReadOnly
+952 Q3TextEdit::undo
+960 Q3TextEdit::redo
+968 Q3TextEdit::cut
+976 Q3TextEdit::paste
+984 Q3TextEdit::pasteSubType
+992 Q3TextEdit::clear
+1000 Q3TextEdit::del
+1008 Q3TextEdit::indent
+1016 Q3TextEdit::setItalic
+1024 Q3TextEdit::setBold
+1032 Q3TextEdit::setUnderline
+1040 Q3TextEdit::setFamily
+1048 Q3TextEdit::setPointSize
+1056 Q3TextEdit::setColor
+1064 Q3TextEdit::setVerticalAlignment
+1072 Q3TextEdit::setAlignment
+1080 Q3TextEdit::setParagType
+1088 Q3TextEdit::setCursorPosition
+1096 Q3TextEdit::setSelection
+1104 Q3TextEdit::setSelectionAttributes
+1112 Q3TextEdit::setModified
+1120 Q3TextEdit::resetFormat
+1128 Q3TextEdit::setUndoDepth
+1136 Q3TextEdit::setFormat
+1144 Q3TextEdit::ensureCursorVisible
+1152 Q3TextEdit::placeCursor
+1160 Q3TextEdit::moveCursor
+1168 Q3TextEdit::doKeyboardAction
+1176 Q3TextEdit::removeSelectedText
+1184 Q3TextEdit::removeSelection
+1192 Q3TextEdit::setCurrentFont
+1200 Q3TextEdit::setOverwriteMode
+1208 Q3TextEdit::scrollToBottom
+1216 Q3TextEdit::insert
+1224 Q3TextEdit::insert
+1232 Q3TextEdit::insertAt
+1240 Q3TextEdit::removeParagraph
+1248 Q3TextEdit::insertParagraph
+1256 Q3TextEdit::setParagraphBackgroundColor
+1264 Q3TextEdit::clearParagraphBackground
+1272 Q3TextEdit::setUndoRedoEnabled
+1280 Q3TextEdit::setTabChangesFocus
+1288 Q3TextEdit::createPopupMenu
+1296 Q3TextEdit::createPopupMenu
+1304 Q3TextEdit::doChangeInterval
+1312 Q3TextEdit::sliderReleased
+1320 Q3TextEdit::linksEnabled
+1328 Q3TextEdit::emitHighlighted
+1336 Q3TextEdit::emitLinkClicked
+1344 (int (*)(...))-0x00000000000000010
+1352 (int (*)(...))(& _ZTI10Q3TextView)
+1360 Q3TextView::_ZThn16_N10Q3TextViewD1Ev
+1368 Q3TextView::_ZThn16_N10Q3TextViewD0Ev
+1376 QWidget::_ZThn16_NK7QWidget7devTypeEv
+1384 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+1392 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class Q3TextView
+ size=272 align=8
+ base size=266 base align=8
+Q3TextView (0x7fea0ec39690) 0
+ vptr=((& Q3TextView::_ZTV10Q3TextView) + 16u)
+ Q3TextEdit (0x7fea0ec39700) 0
+ primary-for Q3TextView (0x7fea0ec39690)
+ Q3ScrollView (0x7fea0ec39770) 0
+ primary-for Q3TextEdit (0x7fea0ec39700)
+ Q3Frame (0x7fea0ec397e0) 0
+ primary-for Q3ScrollView (0x7fea0ec39770)
+ QFrame (0x7fea0ec39850) 0
+ primary-for Q3Frame (0x7fea0ec397e0)
+ QWidget (0x7fea0ebf2980) 0
+ primary-for QFrame (0x7fea0ec39850)
+ QObject (0x7fea0ec398c0) 0
+ primary-for QWidget (0x7fea0ebf2980)
+ QPaintDevice (0x7fea0ec39930) 16
+ vptr=((& Q3TextView::_ZTV10Q3TextView) + 1360u)
+
+Class Q3CString
+ size=8 align=8
+ base size=8 base align=8
+Q3CString (0x7fea0ec46d90) 0
+ QByteArray (0x7fea0ec46e00) 0
+
+Vtable for Q3TextStream
+Q3TextStream::_ZTV12Q3TextStream: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12Q3TextStream)
+16 Q3TextStream::~Q3TextStream
+24 Q3TextStream::~Q3TextStream
+
+Class Q3TextStream
+ size=136 align=8
+ base size=136 base align=8
+Q3TextStream (0x7fea0eaf8310) 0
+ vptr=((& Q3TextStream::_ZTV12Q3TextStream) + 16u)
+
+Class Q3TSManip
+ size=24 align=8
+ base size=20 base align=8
+Q3TSManip (0x7fea0eb31bd0) 0
+
+Vtable for Q3TextBrowser
+Q3TextBrowser::_ZTV13Q3TextBrowser: 180u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13Q3TextBrowser)
+16 Q3TextBrowser::metaObject
+24 Q3TextBrowser::qt_metacast
+32 Q3TextBrowser::qt_metacall
+40 Q3TextBrowser::~Q3TextBrowser
+48 Q3TextBrowser::~Q3TextBrowser
+56 Q3TextEdit::event
+64 Q3TextEdit::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 Q3ScrollView::setVisible
+128 Q3TextEdit::sizeHint
+136 Q3ScrollView::minimumSizeHint
+144 Q3TextEdit::heightForWidth
+152 QWidget::paintEngine
+160 Q3ScrollView::mousePressEvent
+168 Q3ScrollView::mouseReleaseEvent
+176 Q3ScrollView::mouseDoubleClickEvent
+184 Q3ScrollView::mouseMoveEvent
+192 Q3ScrollView::wheelEvent
+200 Q3TextBrowser::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 Q3Frame::paintEvent
+256 QWidget::moveEvent
+264 Q3TextEdit::resizeEvent
+272 QWidget::closeEvent
+280 Q3ScrollView::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 Q3TextEdit::changeEvent
+368 QWidget::metric
+376 Q3TextEdit::inputMethodEvent
+384 Q3TextEdit::inputMethodQuery
+392 Q3TextEdit::focusNextPrevChild
+400 Q3ScrollView::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 Q3ScrollView::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 Q3ScrollView::frameChanged
+456 Q3Frame::drawFrame
+464 Q3TextEdit::drawContents
+472 Q3ScrollView::setResizePolicy
+480 Q3ScrollView::addChild
+488 Q3ScrollView::moveChild
+496 Q3ScrollView::setVScrollBarMode
+504 Q3ScrollView::setHScrollBarMode
+512 Q3ScrollView::setCornerWidget
+520 Q3ScrollView::setDragAutoScroll
+528 Q3ScrollView::resizeContents
+536 Q3ScrollView::setContentsPos
+544 Q3TextEdit::drawContents
+552 Q3ScrollView::drawContentsOffset
+560 Q3TextEdit::contentsMousePressEvent
+568 Q3TextEdit::contentsMouseReleaseEvent
+576 Q3TextEdit::contentsMouseDoubleClickEvent
+584 Q3TextEdit::contentsMouseMoveEvent
+592 Q3TextEdit::contentsDragEnterEvent
+600 Q3TextEdit::contentsDragMoveEvent
+608 Q3TextEdit::contentsDragLeaveEvent
+616 Q3TextEdit::contentsDropEvent
+624 Q3TextEdit::contentsWheelEvent
+632 Q3TextEdit::contentsContextMenuEvent
+640 Q3ScrollView::viewportPaintEvent
+648 Q3TextEdit::viewportResizeEvent
+656 Q3ScrollView::viewportMousePressEvent
+664 Q3ScrollView::viewportMouseReleaseEvent
+672 Q3ScrollView::viewportMouseDoubleClickEvent
+680 Q3ScrollView::viewportMouseMoveEvent
+688 Q3ScrollView::viewportDragEnterEvent
+696 Q3ScrollView::viewportDragMoveEvent
+704 Q3ScrollView::viewportDragLeaveEvent
+712 Q3ScrollView::viewportDropEvent
+720 Q3ScrollView::viewportWheelEvent
+728 Q3ScrollView::viewportContextMenuEvent
+736 Q3ScrollView::setMargins
+744 Q3ScrollView::setHBarGeometry
+752 Q3ScrollView::setVBarGeometry
+760 Q3TextEdit::find
+768 Q3TextEdit::getFormat
+776 Q3TextEdit::getParagraphFormat
+784 Q3TextEdit::setMimeSourceFactory
+792 Q3TextEdit::setStyleSheet
+800 Q3TextEdit::scrollToAnchor
+808 Q3TextEdit::setPaper
+816 Q3TextEdit::setLinkUnderline
+824 Q3TextEdit::setWordWrap
+832 Q3TextEdit::setWrapColumnOrWidth
+840 Q3TextEdit::setWrapPolicy
+848 Q3TextEdit::copy
+856 Q3TextEdit::append
+864 Q3TextBrowser::setText
+872 Q3TextEdit::setTextFormat
+880 Q3TextEdit::selectAll
+888 Q3TextEdit::setTabStopWidth
+896 Q3TextEdit::zoomIn
+904 Q3TextEdit::zoomIn
+912 Q3TextEdit::zoomOut
+920 Q3TextEdit::zoomOut
+928 Q3TextEdit::zoomTo
+936 Q3TextEdit::sync
+944 Q3TextEdit::setReadOnly
+952 Q3TextEdit::undo
+960 Q3TextEdit::redo
+968 Q3TextEdit::cut
+976 Q3TextEdit::paste
+984 Q3TextEdit::pasteSubType
+992 Q3TextEdit::clear
+1000 Q3TextEdit::del
+1008 Q3TextEdit::indent
+1016 Q3TextEdit::setItalic
+1024 Q3TextEdit::setBold
+1032 Q3TextEdit::setUnderline
+1040 Q3TextEdit::setFamily
+1048 Q3TextEdit::setPointSize
+1056 Q3TextEdit::setColor
+1064 Q3TextEdit::setVerticalAlignment
+1072 Q3TextEdit::setAlignment
+1080 Q3TextEdit::setParagType
+1088 Q3TextEdit::setCursorPosition
+1096 Q3TextEdit::setSelection
+1104 Q3TextEdit::setSelectionAttributes
+1112 Q3TextEdit::setModified
+1120 Q3TextEdit::resetFormat
+1128 Q3TextEdit::setUndoDepth
+1136 Q3TextEdit::setFormat
+1144 Q3TextEdit::ensureCursorVisible
+1152 Q3TextEdit::placeCursor
+1160 Q3TextEdit::moveCursor
+1168 Q3TextEdit::doKeyboardAction
+1176 Q3TextEdit::removeSelectedText
+1184 Q3TextEdit::removeSelection
+1192 Q3TextEdit::setCurrentFont
+1200 Q3TextEdit::setOverwriteMode
+1208 Q3TextEdit::scrollToBottom
+1216 Q3TextEdit::insert
+1224 Q3TextEdit::insert
+1232 Q3TextEdit::insertAt
+1240 Q3TextEdit::removeParagraph
+1248 Q3TextEdit::insertParagraph
+1256 Q3TextEdit::setParagraphBackgroundColor
+1264 Q3TextEdit::clearParagraphBackground
+1272 Q3TextEdit::setUndoRedoEnabled
+1280 Q3TextEdit::setTabChangesFocus
+1288 Q3TextEdit::createPopupMenu
+1296 Q3TextEdit::createPopupMenu
+1304 Q3TextEdit::doChangeInterval
+1312 Q3TextEdit::sliderReleased
+1320 Q3TextBrowser::linksEnabled
+1328 Q3TextBrowser::emitHighlighted
+1336 Q3TextBrowser::emitLinkClicked
+1344 Q3TextBrowser::setSource
+1352 Q3TextBrowser::backward
+1360 Q3TextBrowser::forward
+1368 Q3TextBrowser::home
+1376 Q3TextBrowser::reload
+1384 (int (*)(...))-0x00000000000000010
+1392 (int (*)(...))(& _ZTI13Q3TextBrowser)
+1400 Q3TextBrowser::_ZThn16_N13Q3TextBrowserD1Ev
+1408 Q3TextBrowser::_ZThn16_N13Q3TextBrowserD0Ev
+1416 QWidget::_ZThn16_NK7QWidget7devTypeEv
+1424 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+1432 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class Q3TextBrowser
+ size=280 align=8
+ base size=280 base align=8
+Q3TextBrowser (0x7fea0eb3f5b0) 0
+ vptr=((& Q3TextBrowser::_ZTV13Q3TextBrowser) + 16u)
+ Q3TextEdit (0x7fea0eb3f620) 0
+ primary-for Q3TextBrowser (0x7fea0eb3f5b0)
+ Q3ScrollView (0x7fea0eb3f690) 0
+ primary-for Q3TextEdit (0x7fea0eb3f620)
+ Q3Frame (0x7fea0eb3f700) 0
+ primary-for Q3ScrollView (0x7fea0eb3f690)
+ QFrame (0x7fea0eb3f770) 0
+ primary-for Q3Frame (0x7fea0eb3f700)
+ QWidget (0x7fea0eb3e580) 0
+ primary-for QFrame (0x7fea0eb3f770)
+ QObject (0x7fea0eb3f7e0) 0
+ primary-for QWidget (0x7fea0eb3e580)
+ QPaintDevice (0x7fea0eb3f850) 16
+ vptr=((& Q3TextBrowser::_ZTV13Q3TextBrowser) + 1400u)
+
+Vtable for Q3MultiLineEdit
+Q3MultiLineEdit::_ZTV15Q3MultiLineEdit: 192u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15Q3MultiLineEdit)
+16 Q3MultiLineEdit::metaObject
+24 Q3MultiLineEdit::qt_metacast
+32 Q3MultiLineEdit::qt_metacall
+40 Q3MultiLineEdit::~Q3MultiLineEdit
+48 Q3MultiLineEdit::~Q3MultiLineEdit
+56 Q3TextEdit::event
+64 Q3TextEdit::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 Q3ScrollView::setVisible
+128 Q3TextEdit::sizeHint
+136 Q3ScrollView::minimumSizeHint
+144 Q3TextEdit::heightForWidth
+152 QWidget::paintEngine
+160 Q3ScrollView::mousePressEvent
+168 Q3ScrollView::mouseReleaseEvent
+176 Q3ScrollView::mouseDoubleClickEvent
+184 Q3ScrollView::mouseMoveEvent
+192 Q3ScrollView::wheelEvent
+200 Q3TextEdit::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 Q3Frame::paintEvent
+256 QWidget::moveEvent
+264 Q3TextEdit::resizeEvent
+272 QWidget::closeEvent
+280 Q3ScrollView::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 Q3TextEdit::changeEvent
+368 QWidget::metric
+376 Q3TextEdit::inputMethodEvent
+384 Q3TextEdit::inputMethodQuery
+392 Q3TextEdit::focusNextPrevChild
+400 Q3ScrollView::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 Q3ScrollView::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 Q3ScrollView::frameChanged
+456 Q3Frame::drawFrame
+464 Q3TextEdit::drawContents
+472 Q3ScrollView::setResizePolicy
+480 Q3ScrollView::addChild
+488 Q3ScrollView::moveChild
+496 Q3ScrollView::setVScrollBarMode
+504 Q3ScrollView::setHScrollBarMode
+512 Q3ScrollView::setCornerWidget
+520 Q3ScrollView::setDragAutoScroll
+528 Q3ScrollView::resizeContents
+536 Q3ScrollView::setContentsPos
+544 Q3TextEdit::drawContents
+552 Q3ScrollView::drawContentsOffset
+560 Q3TextEdit::contentsMousePressEvent
+568 Q3TextEdit::contentsMouseReleaseEvent
+576 Q3TextEdit::contentsMouseDoubleClickEvent
+584 Q3TextEdit::contentsMouseMoveEvent
+592 Q3TextEdit::contentsDragEnterEvent
+600 Q3TextEdit::contentsDragMoveEvent
+608 Q3TextEdit::contentsDragLeaveEvent
+616 Q3TextEdit::contentsDropEvent
+624 Q3TextEdit::contentsWheelEvent
+632 Q3TextEdit::contentsContextMenuEvent
+640 Q3ScrollView::viewportPaintEvent
+648 Q3TextEdit::viewportResizeEvent
+656 Q3ScrollView::viewportMousePressEvent
+664 Q3ScrollView::viewportMouseReleaseEvent
+672 Q3ScrollView::viewportMouseDoubleClickEvent
+680 Q3ScrollView::viewportMouseMoveEvent
+688 Q3ScrollView::viewportDragEnterEvent
+696 Q3ScrollView::viewportDragMoveEvent
+704 Q3ScrollView::viewportDragLeaveEvent
+712 Q3ScrollView::viewportDropEvent
+720 Q3ScrollView::viewportWheelEvent
+728 Q3ScrollView::viewportContextMenuEvent
+736 Q3ScrollView::setMargins
+744 Q3ScrollView::setHBarGeometry
+752 Q3ScrollView::setVBarGeometry
+760 Q3TextEdit::find
+768 Q3TextEdit::getFormat
+776 Q3TextEdit::getParagraphFormat
+784 Q3TextEdit::setMimeSourceFactory
+792 Q3TextEdit::setStyleSheet
+800 Q3TextEdit::scrollToAnchor
+808 Q3TextEdit::setPaper
+816 Q3TextEdit::setLinkUnderline
+824 Q3TextEdit::setWordWrap
+832 Q3TextEdit::setWrapColumnOrWidth
+840 Q3TextEdit::setWrapPolicy
+848 Q3TextEdit::copy
+856 Q3TextEdit::append
+864 Q3TextEdit::setText
+872 Q3TextEdit::setTextFormat
+880 Q3TextEdit::selectAll
+888 Q3TextEdit::setTabStopWidth
+896 Q3TextEdit::zoomIn
+904 Q3TextEdit::zoomIn
+912 Q3TextEdit::zoomOut
+920 Q3TextEdit::zoomOut
+928 Q3TextEdit::zoomTo
+936 Q3TextEdit::sync
+944 Q3TextEdit::setReadOnly
+952 Q3TextEdit::undo
+960 Q3TextEdit::redo
+968 Q3TextEdit::cut
+976 Q3TextEdit::paste
+984 Q3TextEdit::pasteSubType
+992 Q3TextEdit::clear
+1000 Q3TextEdit::del
+1008 Q3TextEdit::indent
+1016 Q3TextEdit::setItalic
+1024 Q3TextEdit::setBold
+1032 Q3TextEdit::setUnderline
+1040 Q3TextEdit::setFamily
+1048 Q3TextEdit::setPointSize
+1056 Q3TextEdit::setColor
+1064 Q3TextEdit::setVerticalAlignment
+1072 Q3TextEdit::setAlignment
+1080 Q3TextEdit::setParagType
+1088 Q3MultiLineEdit::setCursorPosition
+1096 Q3TextEdit::setSelection
+1104 Q3TextEdit::setSelectionAttributes
+1112 Q3TextEdit::setModified
+1120 Q3TextEdit::resetFormat
+1128 Q3TextEdit::setUndoDepth
+1136 Q3TextEdit::setFormat
+1144 Q3TextEdit::ensureCursorVisible
+1152 Q3TextEdit::placeCursor
+1160 Q3TextEdit::moveCursor
+1168 Q3TextEdit::doKeyboardAction
+1176 Q3TextEdit::removeSelectedText
+1184 Q3TextEdit::removeSelection
+1192 Q3TextEdit::setCurrentFont
+1200 Q3TextEdit::setOverwriteMode
+1208 Q3TextEdit::scrollToBottom
+1216 Q3TextEdit::insert
+1224 Q3TextEdit::insert
+1232 Q3MultiLineEdit::insertAt
+1240 Q3TextEdit::removeParagraph
+1248 Q3TextEdit::insertParagraph
+1256 Q3TextEdit::setParagraphBackgroundColor
+1264 Q3TextEdit::clearParagraphBackground
+1272 Q3TextEdit::setUndoRedoEnabled
+1280 Q3TextEdit::setTabChangesFocus
+1288 Q3TextEdit::createPopupMenu
+1296 Q3TextEdit::createPopupMenu
+1304 Q3TextEdit::doChangeInterval
+1312 Q3TextEdit::sliderReleased
+1320 Q3TextEdit::linksEnabled
+1328 Q3TextEdit::emitHighlighted
+1336 Q3TextEdit::emitLinkClicked
+1344 Q3MultiLineEdit::insertLine
+1352 Q3MultiLineEdit::insertAt
+1360 Q3MultiLineEdit::removeLine
+1368 Q3MultiLineEdit::setCursorPosition
+1376 Q3MultiLineEdit::setAutoUpdate
+1384 Q3MultiLineEdit::insertAndMark
+1392 Q3MultiLineEdit::newLine
+1400 Q3MultiLineEdit::killLine
+1408 Q3MultiLineEdit::pageUp
+1416 Q3MultiLineEdit::pageDown
+1424 Q3MultiLineEdit::cursorLeft
+1432 Q3MultiLineEdit::cursorRight
+1440 Q3MultiLineEdit::cursorUp
+1448 Q3MultiLineEdit::cursorDown
+1456 Q3MultiLineEdit::backspace
+1464 Q3MultiLineEdit::home
+1472 Q3MultiLineEdit::end
+1480 (int (*)(...))-0x00000000000000010
+1488 (int (*)(...))(& _ZTI15Q3MultiLineEdit)
+1496 Q3MultiLineEdit::_ZThn16_N15Q3MultiLineEditD1Ev
+1504 Q3MultiLineEdit::_ZThn16_N15Q3MultiLineEditD0Ev
+1512 QWidget::_ZThn16_NK7QWidget7devTypeEv
+1520 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+1528 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class Q3MultiLineEdit
+ size=280 align=8
+ base size=280 base align=8
+Q3MultiLineEdit (0x7fea0eb5ef50) 0
+ vptr=((& Q3MultiLineEdit::_ZTV15Q3MultiLineEdit) + 16u)
+ Q3TextEdit (0x7fea0eb6a000) 0
+ primary-for Q3MultiLineEdit (0x7fea0eb5ef50)
+ Q3ScrollView (0x7fea0eb6a070) 0
+ primary-for Q3TextEdit (0x7fea0eb6a000)
+ Q3Frame (0x7fea0eb6a0e0) 0
+ primary-for Q3ScrollView (0x7fea0eb6a070)
+ QFrame (0x7fea0eb6a150) 0
+ primary-for Q3Frame (0x7fea0eb6a0e0)
+ QWidget (0x7fea0eb3ef80) 0
+ primary-for QFrame (0x7fea0eb6a150)
+ QObject (0x7fea0eb6a1c0) 0
+ primary-for QWidget (0x7fea0eb3ef80)
+ QPaintDevice (0x7fea0eb6a230) 16
+ vptr=((& Q3MultiLineEdit::_ZTV15Q3MultiLineEdit) + 1496u)
+
+Class Q3SimpleRichText
+ size=8 align=8
+ base size=8 base align=8
+Q3SimpleRichText (0x7fea0eb97930) 0
+
+Vtable for Q3TabDialog
+Q3TabDialog::_ZTV11Q3TabDialog: 66u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11Q3TabDialog)
+16 Q3TabDialog::metaObject
+24 Q3TabDialog::qt_metacast
+32 Q3TabDialog::qt_metacall
+40 Q3TabDialog::~Q3TabDialog
+48 Q3TabDialog::~Q3TabDialog
+56 QWidget::event
+64 QDialog::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QDialog::setVisible
+128 QDialog::sizeHint
+136 QDialog::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QDialog::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 Q3TabDialog::paintEvent
+256 QWidget::moveEvent
+264 Q3TabDialog::resizeEvent
+272 QDialog::closeEvent
+280 QDialog::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QDialog::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QWidget::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 Q3TabDialog::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QDialog::done
+456 QDialog::accept
+464 QDialog::reject
+472 (int (*)(...))-0x00000000000000010
+480 (int (*)(...))(& _ZTI11Q3TabDialog)
+488 Q3TabDialog::_ZThn16_N11Q3TabDialogD1Ev
+496 Q3TabDialog::_ZThn16_N11Q3TabDialogD0Ev
+504 QWidget::_ZThn16_NK7QWidget7devTypeEv
+512 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+520 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class Q3TabDialog
+ size=48 align=8
+ base size=48 base align=8
+Q3TabDialog (0x7fea0eba9070) 0
+ vptr=((& Q3TabDialog::_ZTV11Q3TabDialog) + 16u)
+ QDialog (0x7fea0eba90e0) 0
+ primary-for Q3TabDialog (0x7fea0eba9070)
+ QWidget (0x7fea0eb9a380) 0
+ primary-for QDialog (0x7fea0eba90e0)
+ QObject (0x7fea0eba9150) 0
+ primary-for QWidget (0x7fea0eb9a380)
+ QPaintDevice (0x7fea0eba91c0) 16
+ vptr=((& Q3TabDialog::_ZTV11Q3TabDialog) + 488u)
+
+Vtable for Q3Wizard
+Q3Wizard::_ZTV8Q3Wizard: 82u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI8Q3Wizard)
+16 Q3Wizard::metaObject
+24 Q3Wizard::qt_metacast
+32 Q3Wizard::qt_metacall
+40 Q3Wizard::~Q3Wizard
+48 Q3Wizard::~Q3Wizard
+56 QWidget::event
+64 Q3Wizard::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 Q3Wizard::setVisible
+128 QDialog::sizeHint
+136 QDialog::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QDialog::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QWidget::paintEvent
+256 QWidget::moveEvent
+264 QDialog::resizeEvent
+272 QDialog::closeEvent
+280 QDialog::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QDialog::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QWidget::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QDialog::done
+456 QDialog::accept
+464 QDialog::reject
+472 Q3Wizard::addPage
+480 Q3Wizard::insertPage
+488 Q3Wizard::removePage
+496 Q3Wizard::showPage
+504 Q3Wizard::appropriate
+512 Q3Wizard::setAppropriate
+520 Q3Wizard::setBackEnabled
+528 Q3Wizard::setNextEnabled
+536 Q3Wizard::setFinishEnabled
+544 Q3Wizard::setHelpEnabled
+552 Q3Wizard::setFinish
+560 Q3Wizard::back
+568 Q3Wizard::next
+576 Q3Wizard::help
+584 Q3Wizard::layOutButtonRow
+592 Q3Wizard::layOutTitleRow
+600 (int (*)(...))-0x00000000000000010
+608 (int (*)(...))(& _ZTI8Q3Wizard)
+616 Q3Wizard::_ZThn16_N8Q3WizardD1Ev
+624 Q3Wizard::_ZThn16_N8Q3WizardD0Ev
+632 QWidget::_ZThn16_NK7QWidget7devTypeEv
+640 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+648 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class Q3Wizard
+ size=48 align=8
+ base size=48 base align=8
+Q3Wizard (0x7fea0ebc4bd0) 0
+ vptr=((& Q3Wizard::_ZTV8Q3Wizard) + 16u)
+ QDialog (0x7fea0ebc4c40) 0
+ primary-for Q3Wizard (0x7fea0ebc4bd0)
+ QWidget (0x7fea0eb9aa80) 0
+ primary-for QDialog (0x7fea0ebc4c40)
+ QObject (0x7fea0ebc4cb0) 0
+ primary-for QWidget (0x7fea0eb9aa80)
+ QPaintDevice (0x7fea0ebc4d20) 16
+ vptr=((& Q3Wizard::_ZTV8Q3Wizard) + 616u)
+
+Vtable for Q3ProgressDialog
+Q3ProgressDialog::_ZTV16Q3ProgressDialog: 66u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16Q3ProgressDialog)
+16 Q3ProgressDialog::metaObject
+24 Q3ProgressDialog::qt_metacast
+32 Q3ProgressDialog::qt_metacall
+40 Q3ProgressDialog::~Q3ProgressDialog
+48 Q3ProgressDialog::~Q3ProgressDialog
+56 QWidget::event
+64 QDialog::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QDialog::setVisible
+128 Q3ProgressDialog::sizeHint
+136 QDialog::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QDialog::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QWidget::paintEvent
+256 QWidget::moveEvent
+264 Q3ProgressDialog::resizeEvent
+272 Q3ProgressDialog::closeEvent
+280 QDialog::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 Q3ProgressDialog::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 Q3ProgressDialog::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QDialog::done
+456 QDialog::accept
+464 QDialog::reject
+472 (int (*)(...))-0x00000000000000010
+480 (int (*)(...))(& _ZTI16Q3ProgressDialog)
+488 Q3ProgressDialog::_ZThn16_N16Q3ProgressDialogD1Ev
+496 Q3ProgressDialog::_ZThn16_N16Q3ProgressDialogD0Ev
+504 QWidget::_ZThn16_NK7QWidget7devTypeEv
+512 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+520 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class Q3ProgressDialog
+ size=56 align=8
+ base size=56 base align=8
+Q3ProgressDialog (0x7fea0e9e6af0) 0
+ vptr=((& Q3ProgressDialog::_ZTV16Q3ProgressDialog) + 16u)
+ QDialog (0x7fea0e9e6b60) 0
+ primary-for Q3ProgressDialog (0x7fea0e9e6af0)
+ QWidget (0x7fea0e9ea280) 0
+ primary-for QDialog (0x7fea0e9e6b60)
+ QObject (0x7fea0e9e6bd0) 0
+ primary-for QWidget (0x7fea0e9ea280)
+ QPaintDevice (0x7fea0e9e6c40) 16
+ vptr=((& Q3ProgressDialog::_ZTV16Q3ProgressDialog) + 488u)
+
+Vtable for Q3Url
+Q3Url::_ZTV5Q3Url: 19u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI5Q3Url)
+16 Q3Url::~Q3Url
+24 Q3Url::~Q3Url
+32 Q3Url::setProtocol
+40 Q3Url::setUser
+48 Q3Url::setPassword
+56 Q3Url::setHost
+64 Q3Url::setPort
+72 Q3Url::setPath
+80 Q3Url::setEncodedPathAndQuery
+88 Q3Url::setQuery
+96 Q3Url::setRef
+104 Q3Url::addPath
+112 Q3Url::setFileName
+120 Q3Url::toString
+128 Q3Url::cdUp
+136 Q3Url::reset
+144 Q3Url::parse
+
+Class Q3Url
+ size=16 align=8
+ base size=16 base align=8
+Q3Url (0x7fea0ea13310) 0
+ vptr=((& Q3Url::_ZTV5Q3Url) + 16u)
+
+Vtable for Q3NetworkProtocolFactoryBase
+Q3NetworkProtocolFactoryBase::_ZTV28Q3NetworkProtocolFactoryBase: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI28Q3NetworkProtocolFactoryBase)
+16 Q3NetworkProtocolFactoryBase::~Q3NetworkProtocolFactoryBase
+24 Q3NetworkProtocolFactoryBase::~Q3NetworkProtocolFactoryBase
+32 __cxa_pure_virtual
+
+Class Q3NetworkProtocolFactoryBase
+ size=8 align=8
+ base size=8 base align=8
+Q3NetworkProtocolFactoryBase (0x7fea0ea4c0e0) 0 nearly-empty
+ vptr=((& Q3NetworkProtocolFactoryBase::_ZTV28Q3NetworkProtocolFactoryBase) + 16u)
+
+Vtable for Q3NetworkProtocol
+Q3NetworkProtocol::_ZTV17Q3NetworkProtocol: 29u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17Q3NetworkProtocol)
+16 Q3NetworkProtocol::metaObject
+24 Q3NetworkProtocol::qt_metacast
+32 Q3NetworkProtocol::qt_metacall
+40 Q3NetworkProtocol::~Q3NetworkProtocol
+48 Q3NetworkProtocol::~Q3NetworkProtocol
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 Q3NetworkProtocol::setUrl
+120 Q3NetworkProtocol::setAutoDelete
+128 Q3NetworkProtocol::supportedOperations
+136 Q3NetworkProtocol::addOperation
+144 Q3NetworkProtocol::clearOperationQueue
+152 Q3NetworkProtocol::stop
+160 Q3NetworkProtocol::processOperation
+168 Q3NetworkProtocol::operationListChildren
+176 Q3NetworkProtocol::operationMkDir
+184 Q3NetworkProtocol::operationRemove
+192 Q3NetworkProtocol::operationRename
+200 Q3NetworkProtocol::operationGet
+208 Q3NetworkProtocol::operationPut
+216 Q3NetworkProtocol::operationPutChunk
+224 Q3NetworkProtocol::checkConnection
+
+Class Q3NetworkProtocol
+ size=24 align=8
+ base size=24 base align=8
+Q3NetworkProtocol (0x7fea0ea4cc40) 0
+ vptr=((& Q3NetworkProtocol::_ZTV17Q3NetworkProtocol) + 16u)
+ QObject (0x7fea0ea4ccb0) 0
+ primary-for Q3NetworkProtocol (0x7fea0ea4cc40)
+
+Vtable for Q3NetworkOperation
+Q3NetworkOperation::_ZTV18Q3NetworkOperation: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18Q3NetworkOperation)
+16 Q3NetworkOperation::metaObject
+24 Q3NetworkOperation::qt_metacast
+32 Q3NetworkOperation::qt_metacall
+40 Q3NetworkOperation::~Q3NetworkOperation
+48 Q3NetworkOperation::~Q3NetworkOperation
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class Q3NetworkOperation
+ size=24 align=8
+ base size=24 base align=8
+Q3NetworkOperation (0x7fea0ea772a0) 0
+ vptr=((& Q3NetworkOperation::_ZTV18Q3NetworkOperation) + 16u)
+ QObject (0x7fea0ea77310) 0
+ primary-for Q3NetworkOperation (0x7fea0ea772a0)
+
+Vtable for Q3UrlOperator
+Q3UrlOperator::_ZTV13Q3UrlOperator: 51u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13Q3UrlOperator)
+16 Q3UrlOperator::metaObject
+24 Q3UrlOperator::qt_metacast
+32 Q3UrlOperator::qt_metacall
+40 Q3UrlOperator::~Q3UrlOperator
+48 Q3UrlOperator::~Q3UrlOperator
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 Q3UrlOperator::setPath
+120 Q3UrlOperator::cdUp
+128 Q3UrlOperator::listChildren
+136 Q3UrlOperator::mkdir
+144 Q3UrlOperator::remove
+152 Q3UrlOperator::rename
+160 Q3UrlOperator::get
+168 Q3UrlOperator::put
+176 Q3UrlOperator::copy
+184 Q3UrlOperator::copy
+192 Q3UrlOperator::isDir
+200 Q3UrlOperator::setNameFilter
+208 Q3UrlOperator::info
+216 Q3UrlOperator::stop
+224 Q3UrlOperator::reset
+232 Q3UrlOperator::parse
+240 Q3UrlOperator::checkValid
+248 Q3UrlOperator::clearEntries
+256 (int (*)(...))-0x00000000000000010
+264 (int (*)(...))(& _ZTI13Q3UrlOperator)
+272 Q3UrlOperator::_ZThn16_N13Q3UrlOperatorD1Ev
+280 Q3UrlOperator::_ZThn16_N13Q3UrlOperatorD0Ev
+288 Q3Url::setProtocol
+296 Q3Url::setUser
+304 Q3Url::setPassword
+312 Q3Url::setHost
+320 Q3Url::setPort
+328 Q3UrlOperator::_ZThn16_N13Q3UrlOperator7setPathERK7QString
+336 Q3Url::setEncodedPathAndQuery
+344 Q3Url::setQuery
+352 Q3Url::setRef
+360 Q3Url::addPath
+368 Q3Url::setFileName
+376 Q3Url::toString
+384 Q3UrlOperator::_ZThn16_N13Q3UrlOperator4cdUpEv
+392 Q3UrlOperator::_ZThn16_N13Q3UrlOperator5resetEv
+400 Q3UrlOperator::_ZThn16_N13Q3UrlOperator5parseERK7QString
+
+Class Q3UrlOperator
+ size=40 align=8
+ base size=40 base align=8
+Q3UrlOperator (0x7fea0ea61f80) 0
+ vptr=((& Q3UrlOperator::_ZTV13Q3UrlOperator) + 16u)
+ QObject (0x7fea0ea89a80) 0
+ primary-for Q3UrlOperator (0x7fea0ea61f80)
+ Q3Url (0x7fea0ea89af0) 16
+ vptr=((& Q3UrlOperator::_ZTV13Q3UrlOperator) + 272u)
+
+Vtable for Q3FileIconProvider
+Q3FileIconProvider::_ZTV18Q3FileIconProvider: 15u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18Q3FileIconProvider)
+16 Q3FileIconProvider::metaObject
+24 Q3FileIconProvider::qt_metacast
+32 Q3FileIconProvider::qt_metacall
+40 Q3FileIconProvider::~Q3FileIconProvider
+48 Q3FileIconProvider::~Q3FileIconProvider
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 Q3FileIconProvider::pixmap
+
+Class Q3FileIconProvider
+ size=16 align=8
+ base size=16 base align=8
+Q3FileIconProvider (0x7fea0eab5150) 0
+ vptr=((& Q3FileIconProvider::_ZTV18Q3FileIconProvider) + 16u)
+ QObject (0x7fea0eab51c0) 0
+ primary-for Q3FileIconProvider (0x7fea0eab5150)
+
+Vtable for Q3FilePreview
+Q3FilePreview::_ZTV13Q3FilePreview: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13Q3FilePreview)
+16 Q3FilePreview::~Q3FilePreview
+24 Q3FilePreview::~Q3FilePreview
+32 __cxa_pure_virtual
+
+Class Q3FilePreview
+ size=8 align=8
+ base size=8 base align=8
+Q3FilePreview (0x7fea0eac6460) 0 nearly-empty
+ vptr=((& Q3FilePreview::_ZTV13Q3FilePreview) + 16u)
+
+Vtable for Q3FileDialog
+Q3FileDialog::_ZTV12Q3FileDialog: 68u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12Q3FileDialog)
+16 Q3FileDialog::metaObject
+24 Q3FileDialog::qt_metacast
+32 Q3FileDialog::qt_metacall
+40 Q3FileDialog::~Q3FileDialog
+48 Q3FileDialog::~Q3FileDialog
+56 QWidget::event
+64 Q3FileDialog::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QDialog::setVisible
+128 QDialog::sizeHint
+136 QDialog::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 Q3FileDialog::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QWidget::paintEvent
+256 QWidget::moveEvent
+264 Q3FileDialog::resizeEvent
+272 QDialog::closeEvent
+280 QDialog::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QDialog::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QWidget::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 Q3FileDialog::done
+456 QDialog::accept
+464 QDialog::reject
+472 Q3FileDialog::setSelectedFilter
+480 Q3FileDialog::setSelectedFilter
+488 (int (*)(...))-0x00000000000000010
+496 (int (*)(...))(& _ZTI12Q3FileDialog)
+504 Q3FileDialog::_ZThn16_N12Q3FileDialogD1Ev
+512 Q3FileDialog::_ZThn16_N12Q3FileDialogD0Ev
+520 QWidget::_ZThn16_NK7QWidget7devTypeEv
+528 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+536 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class Q3FileDialog
+ size=88 align=8
+ base size=88 base align=8
+Q3FileDialog (0x7fea0eac6ee0) 0
+ vptr=((& Q3FileDialog::_ZTV12Q3FileDialog) + 16u)
+ QDialog (0x7fea0eac6f50) 0
+ primary-for Q3FileDialog (0x7fea0eac6ee0)
+ QWidget (0x7fea0e8c8c80) 0
+ primary-for QDialog (0x7fea0eac6f50)
+ QObject (0x7fea0eac65b0) 0
+ primary-for QWidget (0x7fea0e8c8c80)
+ QPaintDevice (0x7fea0e8cc000) 16
+ vptr=((& Q3FileDialog::_ZTV12Q3FileDialog) + 504u)
+
+Vtable for Q3GridLayout
+Q3GridLayout::_ZTV12Q3GridLayout: 49u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12Q3GridLayout)
+16 QGridLayout::metaObject
+24 QGridLayout::qt_metacast
+32 QGridLayout::qt_metacall
+40 Q3GridLayout::~Q3GridLayout
+48 Q3GridLayout::~Q3GridLayout
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QLayout::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QGridLayout::invalidate
+120 QLayout::geometry
+128 QGridLayout::addItem
+136 QGridLayout::expandingDirections
+144 QGridLayout::minimumSize
+152 QGridLayout::maximumSize
+160 QGridLayout::setGeometry
+168 QGridLayout::itemAt
+176 QGridLayout::takeAt
+184 QLayout::indexOf
+192 QGridLayout::count
+200 QLayout::isEmpty
+208 QLayout::layout
+216 QGridLayout::sizeHint
+224 QGridLayout::hasHeightForWidth
+232 QGridLayout::heightForWidth
+240 QGridLayout::minimumHeightForWidth
+248 (int (*)(...))-0x00000000000000010
+256 (int (*)(...))(& _ZTI12Q3GridLayout)
+264 Q3GridLayout::_ZThn16_N12Q3GridLayoutD1Ev
+272 Q3GridLayout::_ZThn16_N12Q3GridLayoutD0Ev
+280 QGridLayout::_ZThn16_NK11QGridLayout8sizeHintEv
+288 QGridLayout::_ZThn16_NK11QGridLayout11minimumSizeEv
+296 QGridLayout::_ZThn16_NK11QGridLayout11maximumSizeEv
+304 QGridLayout::_ZThn16_NK11QGridLayout19expandingDirectionsEv
+312 QGridLayout::_ZThn16_N11QGridLayout11setGeometryERK5QRect
+320 QLayout::_ZThn16_NK7QLayout8geometryEv
+328 QLayout::_ZThn16_NK7QLayout7isEmptyEv
+336 QGridLayout::_ZThn16_NK11QGridLayout17hasHeightForWidthEv
+344 QGridLayout::_ZThn16_NK11QGridLayout14heightForWidthEi
+352 QGridLayout::_ZThn16_NK11QGridLayout21minimumHeightForWidthEi
+360 QGridLayout::_ZThn16_N11QGridLayout10invalidateEv
+368 QLayoutItem::widget
+376 QLayout::_ZThn16_N7QLayout6layoutEv
+384 QLayoutItem::spacerItem
+
+Class Q3GridLayout
+ size=32 align=8
+ base size=28 base align=8
+Q3GridLayout (0x7fea0e90c380) 0
+ vptr=((& Q3GridLayout::_ZTV12Q3GridLayout) + 16u)
+ QGridLayout (0x7fea0e90c3f0) 0
+ primary-for Q3GridLayout (0x7fea0e90c380)
+ QLayout (0x7fea0e8dae00) 0
+ primary-for QGridLayout (0x7fea0e90c3f0)
+ QObject (0x7fea0e90c460) 0
+ primary-for QLayout (0x7fea0e8dae00)
+ QLayoutItem (0x7fea0e90c4d0) 16
+ vptr=((& Q3GridLayout::_ZTV12Q3GridLayout) + 264u)
+
+Vtable for Q3Accel
+Q3Accel::_ZTV7Q3Accel: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7Q3Accel)
+16 Q3Accel::metaObject
+24 Q3Accel::qt_metacast
+32 Q3Accel::qt_metacall
+40 Q3Accel::~Q3Accel
+48 Q3Accel::~Q3Accel
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class Q3Accel
+ size=24 align=8
+ base size=24 base align=8
+Q3Accel (0x7fea0e92c4d0) 0
+ vptr=((& Q3Accel::_ZTV7Q3Accel) + 16u)
+ QObject (0x7fea0e92c540) 0
+ primary-for Q3Accel (0x7fea0e92c4d0)
+
+Vtable for Q3StrList
+Q3StrList::_ZTV9Q3StrList: 11u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9Q3StrList)
+16 Q3PtrList<type>::count [with type = char]
+24 Q3PtrList<type>::clear [with type = char]
+32 Q3StrList::~Q3StrList
+40 Q3StrList::~Q3StrList
+48 Q3StrList::newItem
+56 Q3StrList::deleteItem
+64 Q3StrList::compareItems
+72 Q3StrList::read
+80 Q3StrList::write
+
+Class Q3StrList
+ size=64 align=8
+ base size=57 base align=8
+Q3StrList (0x7fea0e942cb0) 0
+ vptr=((& Q3StrList::_ZTV9Q3StrList) + 16u)
+ Q3PtrList<char> (0x7fea0e942d20) 0
+ primary-for Q3StrList (0x7fea0e942cb0)
+ Q3GList (0x7fea0e942d90) 0
+ primary-for Q3PtrList<char> (0x7fea0e942d20)
+ Q3PtrCollection (0x7fea0e942e00) 0
+ primary-for Q3GList (0x7fea0e942d90)
+
+Vtable for Q3StrIList
+Q3StrIList::_ZTV10Q3StrIList: 11u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10Q3StrIList)
+16 Q3PtrList<type>::count [with type = char]
+24 Q3PtrList<type>::clear [with type = char]
+32 Q3StrIList::~Q3StrIList
+40 Q3StrIList::~Q3StrIList
+48 Q3StrList::newItem
+56 Q3StrList::deleteItem
+64 Q3StrIList::compareItems
+72 Q3StrList::read
+80 Q3StrList::write
+
+Class Q3StrIList
+ size=64 align=8
+ base size=57 base align=8
+Q3StrIList (0x7fea0e998700) 0
+ vptr=((& Q3StrIList::_ZTV10Q3StrIList) + 16u)
+ Q3StrList (0x7fea0e998770) 0
+ primary-for Q3StrIList (0x7fea0e998700)
+ Q3PtrList<char> (0x7fea0e9987e0) 0
+ primary-for Q3StrList (0x7fea0e998770)
+ Q3GList (0x7fea0e998850) 0
+ primary-for Q3PtrList<char> (0x7fea0e9987e0)
+ Q3PtrCollection (0x7fea0e9988c0) 0
+ primary-for Q3GList (0x7fea0e998850)
+
+Vtable for Q3DragObject
+Q3DragObject::_ZTV12Q3DragObject: 24u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12Q3DragObject)
+16 Q3DragObject::metaObject
+24 Q3DragObject::qt_metacast
+32 Q3DragObject::qt_metacall
+40 Q3DragObject::~Q3DragObject
+48 Q3DragObject::~Q3DragObject
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 Q3DragObject::setPixmap
+120 Q3DragObject::setPixmap
+128 Q3DragObject::drag
+136 (int (*)(...))-0x00000000000000010
+144 (int (*)(...))(& _ZTI12Q3DragObject)
+152 Q3DragObject::_ZThn16_N12Q3DragObjectD1Ev
+160 Q3DragObject::_ZThn16_N12Q3DragObjectD0Ev
+168 __cxa_pure_virtual
+176 QMimeSource::provides
+184 __cxa_pure_virtual
+
+Class Q3DragObject
+ size=24 align=8
+ base size=24 base align=8
+Q3DragObject (0x7fea0e9bcc00) 0
+ vptr=((& Q3DragObject::_ZTV12Q3DragObject) + 16u)
+ QObject (0x7fea0e7c1150) 0
+ primary-for Q3DragObject (0x7fea0e9bcc00)
+ QMimeSource (0x7fea0e7c11c0) 16 nearly-empty
+ vptr=((& Q3DragObject::_ZTV12Q3DragObject) + 152u)
+
+Vtable for Q3StoredDrag
+Q3StoredDrag::_ZTV12Q3StoredDrag: 27u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12Q3StoredDrag)
+16 Q3StoredDrag::metaObject
+24 Q3StoredDrag::qt_metacast
+32 Q3StoredDrag::qt_metacall
+40 Q3StoredDrag::~Q3StoredDrag
+48 Q3StoredDrag::~Q3StoredDrag
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 Q3DragObject::setPixmap
+120 Q3DragObject::setPixmap
+128 Q3DragObject::drag
+136 Q3StoredDrag::setEncodedData
+144 Q3StoredDrag::format
+152 Q3StoredDrag::encodedData
+160 (int (*)(...))-0x00000000000000010
+168 (int (*)(...))(& _ZTI12Q3StoredDrag)
+176 Q3StoredDrag::_ZThn16_N12Q3StoredDragD1Ev
+184 Q3StoredDrag::_ZThn16_N12Q3StoredDragD0Ev
+192 Q3StoredDrag::_ZThn16_NK12Q3StoredDrag6formatEi
+200 QMimeSource::provides
+208 Q3StoredDrag::_ZThn16_NK12Q3StoredDrag11encodedDataEPKc
+
+Class Q3StoredDrag
+ size=24 align=8
+ base size=24 base align=8
+Q3StoredDrag (0x7fea0e7d99a0) 0
+ vptr=((& Q3StoredDrag::_ZTV12Q3StoredDrag) + 16u)
+ Q3DragObject (0x7fea0e7d2780) 0
+ primary-for Q3StoredDrag (0x7fea0e7d99a0)
+ QObject (0x7fea0e7d9a10) 0
+ primary-for Q3DragObject (0x7fea0e7d2780)
+ QMimeSource (0x7fea0e7d9a80) 16 nearly-empty
+ vptr=((& Q3StoredDrag::_ZTV12Q3StoredDrag) + 176u)
+
+Vtable for Q3TextDrag
+Q3TextDrag::_ZTV10Q3TextDrag: 28u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10Q3TextDrag)
+16 Q3TextDrag::metaObject
+24 Q3TextDrag::qt_metacast
+32 Q3TextDrag::qt_metacall
+40 Q3TextDrag::~Q3TextDrag
+48 Q3TextDrag::~Q3TextDrag
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 Q3DragObject::setPixmap
+120 Q3DragObject::setPixmap
+128 Q3DragObject::drag
+136 Q3TextDrag::setText
+144 Q3TextDrag::setSubtype
+152 Q3TextDrag::format
+160 Q3TextDrag::encodedData
+168 (int (*)(...))-0x00000000000000010
+176 (int (*)(...))(& _ZTI10Q3TextDrag)
+184 Q3TextDrag::_ZThn16_N10Q3TextDragD1Ev
+192 Q3TextDrag::_ZThn16_N10Q3TextDragD0Ev
+200 Q3TextDrag::_ZThn16_NK10Q3TextDrag6formatEi
+208 QMimeSource::provides
+216 Q3TextDrag::_ZThn16_NK10Q3TextDrag11encodedDataEPKc
+
+Class Q3TextDrag
+ size=24 align=8
+ base size=24 base align=8
+Q3TextDrag (0x7fea0e7f42a0) 0
+ vptr=((& Q3TextDrag::_ZTV10Q3TextDrag) + 16u)
+ Q3DragObject (0x7fea0e7f5080) 0
+ primary-for Q3TextDrag (0x7fea0e7f42a0)
+ QObject (0x7fea0e7f4310) 0
+ primary-for Q3DragObject (0x7fea0e7f5080)
+ QMimeSource (0x7fea0e7f4380) 16 nearly-empty
+ vptr=((& Q3TextDrag::_ZTV10Q3TextDrag) + 184u)
+
+Vtable for Q3ImageDrag
+Q3ImageDrag::_ZTV11Q3ImageDrag: 27u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11Q3ImageDrag)
+16 Q3ImageDrag::metaObject
+24 Q3ImageDrag::qt_metacast
+32 Q3ImageDrag::qt_metacall
+40 Q3ImageDrag::~Q3ImageDrag
+48 Q3ImageDrag::~Q3ImageDrag
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 Q3DragObject::setPixmap
+120 Q3DragObject::setPixmap
+128 Q3DragObject::drag
+136 Q3ImageDrag::setImage
+144 Q3ImageDrag::format
+152 Q3ImageDrag::encodedData
+160 (int (*)(...))-0x00000000000000010
+168 (int (*)(...))(& _ZTI11Q3ImageDrag)
+176 Q3ImageDrag::_ZThn16_N11Q3ImageDragD1Ev
+184 Q3ImageDrag::_ZThn16_N11Q3ImageDragD0Ev
+192 Q3ImageDrag::_ZThn16_NK11Q3ImageDrag6formatEi
+200 QMimeSource::provides
+208 Q3ImageDrag::_ZThn16_NK11Q3ImageDrag11encodedDataEPKc
+
+Class Q3ImageDrag
+ size=24 align=8
+ base size=24 base align=8
+Q3ImageDrag (0x7fea0e806e70) 0
+ vptr=((& Q3ImageDrag::_ZTV11Q3ImageDrag) + 16u)
+ Q3DragObject (0x7fea0e7f5980) 0
+ primary-for Q3ImageDrag (0x7fea0e806e70)
+ QObject (0x7fea0e806ee0) 0
+ primary-for Q3DragObject (0x7fea0e7f5980)
+ QMimeSource (0x7fea0e806f50) 16 nearly-empty
+ vptr=((& Q3ImageDrag::_ZTV11Q3ImageDrag) + 176u)
+
+Vtable for Q3UriDrag
+Q3UriDrag::_ZTV9Q3UriDrag: 28u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9Q3UriDrag)
+16 Q3UriDrag::metaObject
+24 Q3UriDrag::qt_metacast
+32 Q3UriDrag::qt_metacall
+40 Q3UriDrag::~Q3UriDrag
+48 Q3UriDrag::~Q3UriDrag
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 Q3DragObject::setPixmap
+120 Q3DragObject::setPixmap
+128 Q3DragObject::drag
+136 Q3StoredDrag::setEncodedData
+144 Q3StoredDrag::format
+152 Q3StoredDrag::encodedData
+160 Q3UriDrag::setUris
+168 (int (*)(...))-0x00000000000000010
+176 (int (*)(...))(& _ZTI9Q3UriDrag)
+184 Q3UriDrag::_ZThn16_N9Q3UriDragD1Ev
+192 Q3UriDrag::_ZThn16_N9Q3UriDragD0Ev
+200 Q3StoredDrag::_ZThn16_NK12Q3StoredDrag6formatEi
+208 QMimeSource::provides
+216 Q3StoredDrag::_ZThn16_NK12Q3StoredDrag11encodedDataEPKc
+
+Class Q3UriDrag
+ size=24 align=8
+ base size=24 base align=8
+Q3UriDrag (0x7fea0e821a80) 0
+ vptr=((& Q3UriDrag::_ZTV9Q3UriDrag) + 16u)
+ Q3StoredDrag (0x7fea0e821af0) 0
+ primary-for Q3UriDrag (0x7fea0e821a80)
+ Q3DragObject (0x7fea0e823280) 0
+ primary-for Q3StoredDrag (0x7fea0e821af0)
+ QObject (0x7fea0e821b60) 0
+ primary-for Q3DragObject (0x7fea0e823280)
+ QMimeSource (0x7fea0e821bd0) 16 nearly-empty
+ vptr=((& Q3UriDrag::_ZTV9Q3UriDrag) + 184u)
+
+Vtable for Q3ColorDrag
+Q3ColorDrag::_ZTV11Q3ColorDrag: 27u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11Q3ColorDrag)
+16 Q3ColorDrag::metaObject
+24 Q3ColorDrag::qt_metacast
+32 Q3ColorDrag::qt_metacall
+40 Q3ColorDrag::~Q3ColorDrag
+48 Q3ColorDrag::~Q3ColorDrag
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 Q3DragObject::setPixmap
+120 Q3DragObject::setPixmap
+128 Q3DragObject::drag
+136 Q3StoredDrag::setEncodedData
+144 Q3StoredDrag::format
+152 Q3StoredDrag::encodedData
+160 (int (*)(...))-0x00000000000000010
+168 (int (*)(...))(& _ZTI11Q3ColorDrag)
+176 Q3ColorDrag::_ZThn16_N11Q3ColorDragD1Ev
+184 Q3ColorDrag::_ZThn16_N11Q3ColorDragD0Ev
+192 Q3StoredDrag::_ZThn16_NK12Q3StoredDrag6formatEi
+200 QMimeSource::provides
+208 Q3StoredDrag::_ZThn16_NK12Q3StoredDrag11encodedDataEPKc
+
+Class Q3ColorDrag
+ size=40 align=8
+ base size=40 base align=8
+Q3ColorDrag (0x7fea0e83b5b0) 0
+ vptr=((& Q3ColorDrag::_ZTV11Q3ColorDrag) + 16u)
+ Q3StoredDrag (0x7fea0e83b620) 0
+ primary-for Q3ColorDrag (0x7fea0e83b5b0)
+ Q3DragObject (0x7fea0e842000) 0
+ primary-for Q3StoredDrag (0x7fea0e83b620)
+ QObject (0x7fea0e83b690) 0
+ primary-for Q3DragObject (0x7fea0e842000)
+ QMimeSource (0x7fea0e83b700) 16 nearly-empty
+ vptr=((& Q3ColorDrag::_ZTV11Q3ColorDrag) + 176u)
+
+Vtable for Q3PolygonScanner
+Q3PolygonScanner::_ZTV16Q3PolygonScanner: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16Q3PolygonScanner)
+16 Q3PolygonScanner::~Q3PolygonScanner
+24 Q3PolygonScanner::~Q3PolygonScanner
+32 __cxa_pure_virtual
+
+Class Q3PolygonScanner
+ size=8 align=8
+ base size=8 base align=8
+Q3PolygonScanner (0x7fea0e850a10) 0 nearly-empty
+ vptr=((& Q3PolygonScanner::_ZTV16Q3PolygonScanner) + 16u)
+
+Vtable for Q3DropSite
+Q3DropSite::_ZTV10Q3DropSite: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10Q3DropSite)
+16 Q3DropSite::~Q3DropSite
+24 Q3DropSite::~Q3DropSite
+
+Class Q3DropSite
+ size=8 align=8
+ base size=8 base align=8
+Q3DropSite (0x7fea0e862460) 0 nearly-empty
+ vptr=((& Q3DropSite::_ZTV10Q3DropSite) + 16u)
+
+Vtable for Q3BoxLayout
+Q3BoxLayout::_ZTV11Q3BoxLayout: 49u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11Q3BoxLayout)
+16 QBoxLayout::metaObject
+24 QBoxLayout::qt_metacast
+32 QBoxLayout::qt_metacall
+40 Q3BoxLayout::~Q3BoxLayout
+48 Q3BoxLayout::~Q3BoxLayout
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QLayout::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QBoxLayout::invalidate
+120 QLayout::geometry
+128 QBoxLayout::addItem
+136 QBoxLayout::expandingDirections
+144 QBoxLayout::minimumSize
+152 QBoxLayout::maximumSize
+160 QBoxLayout::setGeometry
+168 QBoxLayout::itemAt
+176 QBoxLayout::takeAt
+184 QLayout::indexOf
+192 QBoxLayout::count
+200 QLayout::isEmpty
+208 QLayout::layout
+216 QBoxLayout::sizeHint
+224 QBoxLayout::hasHeightForWidth
+232 QBoxLayout::heightForWidth
+240 QBoxLayout::minimumHeightForWidth
+248 (int (*)(...))-0x00000000000000010
+256 (int (*)(...))(& _ZTI11Q3BoxLayout)
+264 Q3BoxLayout::_ZThn16_N11Q3BoxLayoutD1Ev
+272 Q3BoxLayout::_ZThn16_N11Q3BoxLayoutD0Ev
+280 QBoxLayout::_ZThn16_NK10QBoxLayout8sizeHintEv
+288 QBoxLayout::_ZThn16_NK10QBoxLayout11minimumSizeEv
+296 QBoxLayout::_ZThn16_NK10QBoxLayout11maximumSizeEv
+304 QBoxLayout::_ZThn16_NK10QBoxLayout19expandingDirectionsEv
+312 QBoxLayout::_ZThn16_N10QBoxLayout11setGeometryERK5QRect
+320 QLayout::_ZThn16_NK7QLayout8geometryEv
+328 QLayout::_ZThn16_NK7QLayout7isEmptyEv
+336 QBoxLayout::_ZThn16_NK10QBoxLayout17hasHeightForWidthEv
+344 QBoxLayout::_ZThn16_NK10QBoxLayout14heightForWidthEi
+352 QBoxLayout::_ZThn16_NK10QBoxLayout21minimumHeightForWidthEi
+360 QBoxLayout::_ZThn16_N10QBoxLayout10invalidateEv
+368 QLayoutItem::widget
+376 QLayout::_ZThn16_N7QLayout6layoutEv
+384 QLayoutItem::spacerItem
+
+Class Q3BoxLayout
+ size=32 align=8
+ base size=28 base align=8
+Q3BoxLayout (0x7fea0e862620) 0
+ vptr=((& Q3BoxLayout::_ZTV11Q3BoxLayout) + 16u)
+ QBoxLayout (0x7fea0e862690) 0
+ primary-for Q3BoxLayout (0x7fea0e862620)
+ QLayout (0x7fea0e860900) 0
+ primary-for QBoxLayout (0x7fea0e862690)
+ QObject (0x7fea0e862700) 0
+ primary-for QLayout (0x7fea0e860900)
+ QLayoutItem (0x7fea0e862770) 16
+ vptr=((& Q3BoxLayout::_ZTV11Q3BoxLayout) + 264u)
+
+Vtable for Q3HBoxLayout
+Q3HBoxLayout::_ZTV12Q3HBoxLayout: 49u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12Q3HBoxLayout)
+16 QBoxLayout::metaObject
+24 QBoxLayout::qt_metacast
+32 QBoxLayout::qt_metacall
+40 Q3HBoxLayout::~Q3HBoxLayout
+48 Q3HBoxLayout::~Q3HBoxLayout
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QLayout::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QBoxLayout::invalidate
+120 QLayout::geometry
+128 QBoxLayout::addItem
+136 QBoxLayout::expandingDirections
+144 QBoxLayout::minimumSize
+152 QBoxLayout::maximumSize
+160 QBoxLayout::setGeometry
+168 QBoxLayout::itemAt
+176 QBoxLayout::takeAt
+184 QLayout::indexOf
+192 QBoxLayout::count
+200 QLayout::isEmpty
+208 QLayout::layout
+216 QBoxLayout::sizeHint
+224 QBoxLayout::hasHeightForWidth
+232 QBoxLayout::heightForWidth
+240 QBoxLayout::minimumHeightForWidth
+248 (int (*)(...))-0x00000000000000010
+256 (int (*)(...))(& _ZTI12Q3HBoxLayout)
+264 Q3HBoxLayout::_ZThn16_N12Q3HBoxLayoutD1Ev
+272 Q3HBoxLayout::_ZThn16_N12Q3HBoxLayoutD0Ev
+280 QBoxLayout::_ZThn16_NK10QBoxLayout8sizeHintEv
+288 QBoxLayout::_ZThn16_NK10QBoxLayout11minimumSizeEv
+296 QBoxLayout::_ZThn16_NK10QBoxLayout11maximumSizeEv
+304 QBoxLayout::_ZThn16_NK10QBoxLayout19expandingDirectionsEv
+312 QBoxLayout::_ZThn16_N10QBoxLayout11setGeometryERK5QRect
+320 QLayout::_ZThn16_NK7QLayout8geometryEv
+328 QLayout::_ZThn16_NK7QLayout7isEmptyEv
+336 QBoxLayout::_ZThn16_NK10QBoxLayout17hasHeightForWidthEv
+344 QBoxLayout::_ZThn16_NK10QBoxLayout14heightForWidthEi
+352 QBoxLayout::_ZThn16_NK10QBoxLayout21minimumHeightForWidthEi
+360 QBoxLayout::_ZThn16_N10QBoxLayout10invalidateEv
+368 QLayoutItem::widget
+376 QLayout::_ZThn16_N7QLayout6layoutEv
+384 QLayoutItem::spacerItem
+
+Class Q3HBoxLayout
+ size=32 align=8
+ base size=28 base align=8
+Q3HBoxLayout (0x7fea0e88a070) 0
+ vptr=((& Q3HBoxLayout::_ZTV12Q3HBoxLayout) + 16u)
+ Q3BoxLayout (0x7fea0e88a0e0) 0
+ primary-for Q3HBoxLayout (0x7fea0e88a070)
+ QBoxLayout (0x7fea0e88a150) 0
+ primary-for Q3BoxLayout (0x7fea0e88a0e0)
+ QLayout (0x7fea0e889280) 0
+ primary-for QBoxLayout (0x7fea0e88a150)
+ QObject (0x7fea0e88a1c0) 0
+ primary-for QLayout (0x7fea0e889280)
+ QLayoutItem (0x7fea0e88a230) 16
+ vptr=((& Q3HBoxLayout::_ZTV12Q3HBoxLayout) + 264u)
+
+Vtable for Q3VBoxLayout
+Q3VBoxLayout::_ZTV12Q3VBoxLayout: 49u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12Q3VBoxLayout)
+16 QBoxLayout::metaObject
+24 QBoxLayout::qt_metacast
+32 QBoxLayout::qt_metacall
+40 Q3VBoxLayout::~Q3VBoxLayout
+48 Q3VBoxLayout::~Q3VBoxLayout
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QLayout::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QBoxLayout::invalidate
+120 QLayout::geometry
+128 QBoxLayout::addItem
+136 QBoxLayout::expandingDirections
+144 QBoxLayout::minimumSize
+152 QBoxLayout::maximumSize
+160 QBoxLayout::setGeometry
+168 QBoxLayout::itemAt
+176 QBoxLayout::takeAt
+184 QLayout::indexOf
+192 QBoxLayout::count
+200 QLayout::isEmpty
+208 QLayout::layout
+216 QBoxLayout::sizeHint
+224 QBoxLayout::hasHeightForWidth
+232 QBoxLayout::heightForWidth
+240 QBoxLayout::minimumHeightForWidth
+248 (int (*)(...))-0x00000000000000010
+256 (int (*)(...))(& _ZTI12Q3VBoxLayout)
+264 Q3VBoxLayout::_ZThn16_N12Q3VBoxLayoutD1Ev
+272 Q3VBoxLayout::_ZThn16_N12Q3VBoxLayoutD0Ev
+280 QBoxLayout::_ZThn16_NK10QBoxLayout8sizeHintEv
+288 QBoxLayout::_ZThn16_NK10QBoxLayout11minimumSizeEv
+296 QBoxLayout::_ZThn16_NK10QBoxLayout11maximumSizeEv
+304 QBoxLayout::_ZThn16_NK10QBoxLayout19expandingDirectionsEv
+312 QBoxLayout::_ZThn16_N10QBoxLayout11setGeometryERK5QRect
+320 QLayout::_ZThn16_NK7QLayout8geometryEv
+328 QLayout::_ZThn16_NK7QLayout7isEmptyEv
+336 QBoxLayout::_ZThn16_NK10QBoxLayout17hasHeightForWidthEv
+344 QBoxLayout::_ZThn16_NK10QBoxLayout14heightForWidthEi
+352 QBoxLayout::_ZThn16_NK10QBoxLayout21minimumHeightForWidthEi
+360 QBoxLayout::_ZThn16_N10QBoxLayout10invalidateEv
+368 QLayoutItem::widget
+376 QLayout::_ZThn16_N7QLayout6layoutEv
+384 QLayoutItem::spacerItem
+
+Class Q3VBoxLayout
+ size=32 align=8
+ base size=28 base align=8
+Q3VBoxLayout (0x7fea0e8b4690) 0
+ vptr=((& Q3VBoxLayout::_ZTV12Q3VBoxLayout) + 16u)
+ Q3BoxLayout (0x7fea0e8b4700) 0
+ primary-for Q3VBoxLayout (0x7fea0e8b4690)
+ QBoxLayout (0x7fea0e8b4770) 0
+ primary-for Q3BoxLayout (0x7fea0e8b4700)
+ QLayout (0x7fea0e8a9d00) 0
+ primary-for QBoxLayout (0x7fea0e8b4770)
+ QObject (0x7fea0e8b47e0) 0
+ primary-for QLayout (0x7fea0e8a9d00)
+ QLayoutItem (0x7fea0e8b4850) 16
+ vptr=((& Q3VBoxLayout::_ZTV12Q3VBoxLayout) + 264u)
+
+Vtable for Q3Process
+Q3Process::_ZTV9Q3Process: 27u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9Q3Process)
+16 Q3Process::metaObject
+24 Q3Process::qt_metacast
+32 Q3Process::qt_metacall
+40 Q3Process::~Q3Process
+48 Q3Process::~Q3Process
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 Q3Process::connectNotify
+104 Q3Process::disconnectNotify
+112 Q3Process::setArguments
+120 Q3Process::addArgument
+128 Q3Process::setWorkingDirectory
+136 Q3Process::start
+144 Q3Process::launch
+152 Q3Process::launch
+160 Q3Process::readStdout
+168 Q3Process::readStderr
+176 Q3Process::readLineStdout
+184 Q3Process::readLineStderr
+192 Q3Process::writeToStdin
+200 Q3Process::writeToStdin
+208 Q3Process::closeStdin
+
+Class Q3Process
+ size=56 align=8
+ base size=56 base align=8
+Q3Process (0x7fea0e6e0000) 0
+ vptr=((& Q3Process::_ZTV9Q3Process) + 16u)
+ QObject (0x7fea0e6e0070) 0
+ primary-for Q3Process (0x7fea0e6e0000)
+
+Vtable for Q3Signal
+Q3Signal::_ZTV8Q3Signal: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI8Q3Signal)
+16 Q3Signal::metaObject
+24 Q3Signal::qt_metacast
+32 Q3Signal::qt_metacall
+40 Q3Signal::~Q3Signal
+48 Q3Signal::~Q3Signal
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class Q3Signal
+ size=32 align=8
+ base size=32 base align=8
+Q3Signal (0x7fea0e71b460) 0
+ vptr=((& Q3Signal::_ZTV8Q3Signal) + 16u)
+ QObject (0x7fea0e71b4d0) 0
+ primary-for Q3Signal (0x7fea0e71b460)
+
+Vtable for Q3ObjectDictionary
+Q3ObjectDictionary::_ZTV18Q3ObjectDictionary: 10u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18Q3ObjectDictionary)
+16 Q3AsciiDict<type>::count [with type = QMetaObject]
+24 Q3AsciiDict<type>::clear [with type = QMetaObject]
+32 Q3ObjectDictionary::~Q3ObjectDictionary
+40 Q3ObjectDictionary::~Q3ObjectDictionary
+48 Q3PtrCollection::newItem
+56 Q3AsciiDict<type>::deleteItem [with type = QMetaObject]
+64 Q3GDict::read
+72 Q3GDict::write
+
+Class Q3ObjectDictionary
+ size=48 align=8
+ base size=48 base align=8
+Q3ObjectDictionary (0x7fea0e76f770) 0
+ vptr=((& Q3ObjectDictionary::_ZTV18Q3ObjectDictionary) + 16u)
+ Q3AsciiDict<QMetaObject> (0x7fea0e76f7e0) 0
+ primary-for Q3ObjectDictionary (0x7fea0e76f770)
+ Q3GDict (0x7fea0e76f850) 0
+ primary-for Q3AsciiDict<QMetaObject> (0x7fea0e76f7e0)
+ Q3PtrCollection (0x7fea0e76f8c0) 0
+ primary-for Q3GDict (0x7fea0e76f850)
+
+Vtable for Q3GCache
+Q3GCache::_ZTV8Q3GCache: 8u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI8Q3GCache)
+16 Q3GCache::count
+24 Q3GCache::clear
+32 Q3GCache::~Q3GCache
+40 Q3GCache::~Q3GCache
+48 Q3PtrCollection::newItem
+56 __cxa_pure_virtual
+
+Class Q3GCache
+ size=48 align=8
+ base size=41 base align=8
+Q3GCache (0x7fea0e79e150) 0
+ vptr=((& Q3GCache::_ZTV8Q3GCache) + 16u)
+ Q3PtrCollection (0x7fea0e79e1c0) 0
+ primary-for Q3GCache (0x7fea0e79e150)
+
+Class Q3GCacheIterator
+ size=8 align=8
+ base size=8 base align=8
+Q3GCacheIterator (0x7fea0e7ab070) 0
+
+Vtable for Q3Semaphore
+Q3Semaphore::_ZTV11Q3Semaphore: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11Q3Semaphore)
+16 Q3Semaphore::~Q3Semaphore
+24 Q3Semaphore::~Q3Semaphore
+
+Class Q3Semaphore
+ size=16 align=8
+ base size=16 base align=8
+Q3Semaphore (0x7fea0e681ee0) 0
+ vptr=((& Q3Semaphore::_ZTV11Q3Semaphore) + 16u)
+
+Vtable for Q3StrVec
+Q3StrVec::_ZTV8Q3StrVec: 11u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI8Q3StrVec)
+16 Q3PtrVector<type>::count [with type = char]
+24 Q3PtrVector<type>::clear [with type = char]
+32 Q3StrVec::~Q3StrVec
+40 Q3StrVec::~Q3StrVec
+48 Q3StrVec::newItem
+56 Q3StrVec::deleteItem
+64 Q3StrVec::compareItems
+72 Q3StrVec::read
+80 Q3StrVec::write
+
+Class Q3StrVec
+ size=40 align=8
+ base size=33 base align=8
+Q3StrVec (0x7fea0e69b690) 0
+ vptr=((& Q3StrVec::_ZTV8Q3StrVec) + 16u)
+ Q3PtrVector<char> (0x7fea0e69b700) 0
+ primary-for Q3StrVec (0x7fea0e69b690)
+ Q3GVector (0x7fea0e69b770) 0
+ primary-for Q3PtrVector<char> (0x7fea0e69b700)
+ Q3PtrCollection (0x7fea0e69b7e0) 0
+ primary-for Q3GVector (0x7fea0e69b770)
+
+Vtable for Q3StrIVec
+Q3StrIVec::_ZTV9Q3StrIVec: 11u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9Q3StrIVec)
+16 Q3PtrVector<type>::count [with type = char]
+24 Q3PtrVector<type>::clear [with type = char]
+32 Q3StrIVec::~Q3StrIVec
+40 Q3StrIVec::~Q3StrIVec
+48 Q3StrVec::newItem
+56 Q3StrVec::deleteItem
+64 Q3StrIVec::compareItems
+72 Q3StrVec::read
+80 Q3StrVec::write
+
+Class Q3StrIVec
+ size=40 align=8
+ base size=33 base align=8
+Q3StrIVec (0x7fea0e4c6cb0) 0
+ vptr=((& Q3StrIVec::_ZTV9Q3StrIVec) + 16u)
+ Q3StrVec (0x7fea0e4c6d20) 0
+ primary-for Q3StrIVec (0x7fea0e4c6cb0)
+ Q3PtrVector<char> (0x7fea0e4c6d90) 0
+ primary-for Q3StrVec (0x7fea0e4c6d20)
+ Q3GVector (0x7fea0e4c6e00) 0
+ primary-for Q3PtrVector<char> (0x7fea0e4c6d90)
+ Q3PtrCollection (0x7fea0e4c6e70) 0
+ primary-for Q3GVector (0x7fea0e4c6e00)
+
+Vtable for Q3Picture
+Q3Picture::_ZTV9Q3Picture: 8u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9Q3Picture)
+16 Q3Picture::~Q3Picture
+24 Q3Picture::~Q3Picture
+32 QPicture::devType
+40 QPicture::paintEngine
+48 QPicture::metric
+56 QPicture::setData
+
+Class Q3Picture
+ size=24 align=8
+ base size=24 base align=8
+Q3Picture (0x7fea0e4f00e0) 0
+ vptr=((& Q3Picture::_ZTV9Q3Picture) + 16u)
+ QPicture (0x7fea0e4f0150) 0
+ primary-for Q3Picture (0x7fea0e4f00e0)
+ QPaintDevice (0x7fea0e4f01c0) 0
+ primary-for QPicture (0x7fea0e4f0150)
+
+Class Q3Painter
+ size=8 align=8
+ base size=8 base align=8
+Q3Painter (0x7fea0e4fc230) 0
+ QPainter (0x7fea0e4fc2a0) 0
+
+Class Q3PointArray
+ size=8 align=8
+ base size=8 base align=8
+Q3PointArray (0x7fea0e51d070) 0
+ QPolygon (0x7fea0e51d0e0) 0
+ QVector<QPoint> (0x7fea0e51d150) 0
+
+Class Q3PaintDeviceMetrics
+ size=8 align=8
+ base size=8 base align=8
+Q3PaintDeviceMetrics (0x7fea0e5318c0) 0
+
+Class Q3CanvasItemList
+ size=8 align=8
+ base size=8 base align=8
+Q3CanvasItemList (0x7fea0e543af0) 0
+ Q3ValueList<Q3CanvasItem*> (0x7fea0e543b60) 0
+ QLinkedList<Q3CanvasItem*> (0x7fea0e543bd0) 0
+
+Vtable for Q3CanvasItem
+Q3CanvasItem::_ZTV12Q3CanvasItem: 23u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12Q3CanvasItem)
+16 Q3CanvasItem::~Q3CanvasItem
+24 Q3CanvasItem::~Q3CanvasItem
+32 Q3CanvasItem::moveBy
+40 Q3CanvasItem::setAnimated
+48 Q3CanvasItem::setVelocity
+56 Q3CanvasItem::advance
+64 __cxa_pure_virtual
+72 Q3CanvasItem::setCanvas
+80 __cxa_pure_virtual
+88 Q3CanvasItem::setVisible
+96 Q3CanvasItem::setSelected
+104 Q3CanvasItem::setEnabled
+112 Q3CanvasItem::setActive
+120 Q3CanvasItem::rtti
+128 __cxa_pure_virtual
+136 Q3CanvasItem::boundingRectAdvanced
+144 Q3CanvasItem::chunks
+152 Q3CanvasItem::addToChunks
+160 Q3CanvasItem::removeFromChunks
+168 Q3CanvasItem::changeChunks
+176 __cxa_pure_virtual
+
+Class Q3CanvasItem
+ size=56 align=8
+ base size=49 base align=8
+Q3CanvasItem (0x7fea0e543ee0) 0
+ vptr=((& Q3CanvasItem::_ZTV12Q3CanvasItem) + 16u)
+
+Vtable for Q3Canvas
+Q3Canvas::_ZTV8Q3Canvas: 38u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI8Q3Canvas)
+16 Q3Canvas::metaObject
+24 Q3Canvas::qt_metacast
+32 Q3Canvas::qt_metacall
+40 Q3Canvas::~Q3Canvas
+48 Q3Canvas::~Q3Canvas
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 Q3Canvas::setTiles
+120 Q3Canvas::setBackgroundPixmap
+128 Q3Canvas::setBackgroundColor
+136 Q3Canvas::setTile
+144 Q3Canvas::resize
+152 Q3Canvas::retune
+160 Q3Canvas::setChangedChunk
+168 Q3Canvas::setChangedChunkContaining
+176 Q3Canvas::setAllChanged
+184 Q3Canvas::setChanged
+192 Q3Canvas::setUnchanged
+200 Q3Canvas::addView
+208 Q3Canvas::removeView
+216 Q3Canvas::addItem
+224 Q3Canvas::addAnimation
+232 Q3Canvas::removeItem
+240 Q3Canvas::removeAnimation
+248 Q3Canvas::setAdvancePeriod
+256 Q3Canvas::setUpdatePeriod
+264 Q3Canvas::setDoubleBuffering
+272 Q3Canvas::advance
+280 Q3Canvas::update
+288 Q3Canvas::drawBackground
+296 Q3Canvas::drawForeground
+
+Class Q3Canvas
+ size=160 align=8
+ base size=154 base align=8
+Q3Canvas (0x7fea0e59be00) 0
+ vptr=((& Q3Canvas::_ZTV8Q3Canvas) + 16u)
+ QObject (0x7fea0e59be70) 0
+ primary-for Q3Canvas (0x7fea0e59be00)
+
+Vtable for Q3CanvasView
+Q3CanvasView::_ZTV12Q3CanvasView: 102u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12Q3CanvasView)
+16 Q3CanvasView::metaObject
+24 Q3CanvasView::qt_metacast
+32 Q3CanvasView::qt_metacall
+40 Q3CanvasView::~Q3CanvasView
+48 Q3CanvasView::~Q3CanvasView
+56 QFrame::event
+64 Q3ScrollView::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 Q3ScrollView::setVisible
+128 Q3CanvasView::sizeHint
+136 Q3ScrollView::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 Q3ScrollView::mousePressEvent
+168 Q3ScrollView::mouseReleaseEvent
+176 Q3ScrollView::mouseDoubleClickEvent
+184 Q3ScrollView::mouseMoveEvent
+192 Q3ScrollView::wheelEvent
+200 QWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 Q3Frame::paintEvent
+256 QWidget::moveEvent
+264 Q3ScrollView::resizeEvent
+272 QWidget::closeEvent
+280 Q3ScrollView::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QFrame::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 Q3ScrollView::focusNextPrevChild
+400 Q3ScrollView::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 Q3ScrollView::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 Q3ScrollView::frameChanged
+456 Q3Frame::drawFrame
+464 Q3CanvasView::drawContents
+472 Q3ScrollView::setResizePolicy
+480 Q3ScrollView::addChild
+488 Q3ScrollView::moveChild
+496 Q3ScrollView::setVScrollBarMode
+504 Q3ScrollView::setHScrollBarMode
+512 Q3ScrollView::setCornerWidget
+520 Q3ScrollView::setDragAutoScroll
+528 Q3ScrollView::resizeContents
+536 Q3ScrollView::setContentsPos
+544 Q3CanvasView::drawContents
+552 Q3ScrollView::drawContentsOffset
+560 Q3ScrollView::contentsMousePressEvent
+568 Q3ScrollView::contentsMouseReleaseEvent
+576 Q3ScrollView::contentsMouseDoubleClickEvent
+584 Q3ScrollView::contentsMouseMoveEvent
+592 Q3ScrollView::contentsDragEnterEvent
+600 Q3ScrollView::contentsDragMoveEvent
+608 Q3ScrollView::contentsDragLeaveEvent
+616 Q3ScrollView::contentsDropEvent
+624 Q3ScrollView::contentsWheelEvent
+632 Q3ScrollView::contentsContextMenuEvent
+640 Q3ScrollView::viewportPaintEvent
+648 Q3ScrollView::viewportResizeEvent
+656 Q3ScrollView::viewportMousePressEvent
+664 Q3ScrollView::viewportMouseReleaseEvent
+672 Q3ScrollView::viewportMouseDoubleClickEvent
+680 Q3ScrollView::viewportMouseMoveEvent
+688 Q3ScrollView::viewportDragEnterEvent
+696 Q3ScrollView::viewportDragMoveEvent
+704 Q3ScrollView::viewportDragLeaveEvent
+712 Q3ScrollView::viewportDropEvent
+720 Q3ScrollView::viewportWheelEvent
+728 Q3ScrollView::viewportContextMenuEvent
+736 Q3ScrollView::setMargins
+744 Q3ScrollView::setHBarGeometry
+752 Q3ScrollView::setVBarGeometry
+760 (int (*)(...))-0x00000000000000010
+768 (int (*)(...))(& _ZTI12Q3CanvasView)
+776 Q3CanvasView::_ZThn16_N12Q3CanvasViewD1Ev
+784 Q3CanvasView::_ZThn16_N12Q3CanvasViewD0Ev
+792 QWidget::_ZThn16_NK7QWidget7devTypeEv
+800 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+808 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class Q3CanvasView
+ size=72 align=8
+ base size=72 base align=8
+Q3CanvasView (0x7fea0e3ddb60) 0
+ vptr=((& Q3CanvasView::_ZTV12Q3CanvasView) + 16u)
+ Q3ScrollView (0x7fea0e3ddbd0) 0
+ primary-for Q3CanvasView (0x7fea0e3ddb60)
+ Q3Frame (0x7fea0e3ddc40) 0
+ primary-for Q3ScrollView (0x7fea0e3ddbd0)
+ QFrame (0x7fea0e3ddcb0) 0
+ primary-for Q3Frame (0x7fea0e3ddc40)
+ QWidget (0x7fea0e3d8e00) 0
+ primary-for QFrame (0x7fea0e3ddcb0)
+ QObject (0x7fea0e3ddd20) 0
+ primary-for QWidget (0x7fea0e3d8e00)
+ QPaintDevice (0x7fea0e3ddd90) 16
+ vptr=((& Q3CanvasView::_ZTV12Q3CanvasView) + 776u)
+
+Vtable for Q3CanvasPixmap
+Q3CanvasPixmap::_ZTV14Q3CanvasPixmap: 7u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14Q3CanvasPixmap)
+16 Q3CanvasPixmap::~Q3CanvasPixmap
+24 Q3CanvasPixmap::~Q3CanvasPixmap
+32 QPixmap::devType
+40 QPixmap::paintEngine
+48 QPixmap::metric
+
+Class Q3CanvasPixmap
+ size=40 align=8
+ base size=40 base align=8
+Q3CanvasPixmap (0x7fea0e3fa3f0) 0
+ vptr=((& Q3CanvasPixmap::_ZTV14Q3CanvasPixmap) + 16u)
+ QPixmap (0x7fea0e3fa460) 0
+ primary-for Q3CanvasPixmap (0x7fea0e3fa3f0)
+ QPaintDevice (0x7fea0e3fa4d0) 0
+ primary-for QPixmap (0x7fea0e3fa460)
+
+Class Q3CanvasPixmapArray
+ size=16 align=8
+ base size=16 base align=8
+Q3CanvasPixmapArray (0x7fea0e405690) 0
+
+Vtable for Q3CanvasSprite
+Q3CanvasSprite::_ZTV14Q3CanvasSprite: 26u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14Q3CanvasSprite)
+16 Q3CanvasSprite::~Q3CanvasSprite
+24 Q3CanvasSprite::~Q3CanvasSprite
+32 Q3CanvasItem::moveBy
+40 Q3CanvasItem::setAnimated
+48 Q3CanvasItem::setVelocity
+56 Q3CanvasSprite::advance
+64 Q3CanvasSprite::collidesWith
+72 Q3CanvasItem::setCanvas
+80 Q3CanvasSprite::draw
+88 Q3CanvasItem::setVisible
+96 Q3CanvasItem::setSelected
+104 Q3CanvasItem::setEnabled
+112 Q3CanvasItem::setActive
+120 Q3CanvasSprite::rtti
+128 Q3CanvasSprite::boundingRect
+136 Q3CanvasItem::boundingRectAdvanced
+144 Q3CanvasItem::chunks
+152 Q3CanvasSprite::addToChunks
+160 Q3CanvasSprite::removeFromChunks
+168 Q3CanvasSprite::changeChunks
+176 Q3CanvasSprite::collidesWith
+184 Q3CanvasSprite::move
+192 Q3CanvasSprite::setFrameAnimation
+200 Q3CanvasSprite::imageAdvanced
+
+Class Q3CanvasSprite
+ size=72 align=8
+ base size=72 base align=8
+Q3CanvasSprite (0x7fea0e413690) 0
+ vptr=((& Q3CanvasSprite::_ZTV14Q3CanvasSprite) + 16u)
+ Q3CanvasItem (0x7fea0e413700) 0
+ primary-for Q3CanvasSprite (0x7fea0e413690)
+
+Vtable for Q3CanvasPolygonalItem
+Q3CanvasPolygonalItem::_ZTV21Q3CanvasPolygonalItem: 28u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI21Q3CanvasPolygonalItem)
+16 Q3CanvasPolygonalItem::~Q3CanvasPolygonalItem
+24 Q3CanvasPolygonalItem::~Q3CanvasPolygonalItem
+32 Q3CanvasItem::moveBy
+40 Q3CanvasItem::setAnimated
+48 Q3CanvasItem::setVelocity
+56 Q3CanvasItem::advance
+64 Q3CanvasPolygonalItem::collidesWith
+72 Q3CanvasItem::setCanvas
+80 Q3CanvasPolygonalItem::draw
+88 Q3CanvasItem::setVisible
+96 Q3CanvasItem::setSelected
+104 Q3CanvasItem::setEnabled
+112 Q3CanvasItem::setActive
+120 Q3CanvasPolygonalItem::rtti
+128 Q3CanvasPolygonalItem::boundingRect
+136 Q3CanvasItem::boundingRectAdvanced
+144 Q3CanvasPolygonalItem::chunks
+152 Q3CanvasItem::addToChunks
+160 Q3CanvasItem::removeFromChunks
+168 Q3CanvasItem::changeChunks
+176 Q3CanvasPolygonalItem::collidesWith
+184 Q3CanvasPolygonalItem::setPen
+192 Q3CanvasPolygonalItem::setBrush
+200 __cxa_pure_virtual
+208 Q3CanvasPolygonalItem::areaPointsAdvanced
+216 __cxa_pure_virtual
+
+Class Q3CanvasPolygonalItem
+ size=80 align=8
+ base size=73 base align=8
+Q3CanvasPolygonalItem (0x7fea0e41fe70) 0
+ vptr=((& Q3CanvasPolygonalItem::_ZTV21Q3CanvasPolygonalItem) + 16u)
+ Q3CanvasItem (0x7fea0e41fee0) 0
+ primary-for Q3CanvasPolygonalItem (0x7fea0e41fe70)
+
+Vtable for Q3CanvasRectangle
+Q3CanvasRectangle::_ZTV17Q3CanvasRectangle: 28u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17Q3CanvasRectangle)
+16 Q3CanvasRectangle::~Q3CanvasRectangle
+24 Q3CanvasRectangle::~Q3CanvasRectangle
+32 Q3CanvasItem::moveBy
+40 Q3CanvasItem::setAnimated
+48 Q3CanvasItem::setVelocity
+56 Q3CanvasItem::advance
+64 Q3CanvasRectangle::collidesWith
+72 Q3CanvasItem::setCanvas
+80 Q3CanvasPolygonalItem::draw
+88 Q3CanvasItem::setVisible
+96 Q3CanvasItem::setSelected
+104 Q3CanvasItem::setEnabled
+112 Q3CanvasItem::setActive
+120 Q3CanvasRectangle::rtti
+128 Q3CanvasPolygonalItem::boundingRect
+136 Q3CanvasItem::boundingRectAdvanced
+144 Q3CanvasRectangle::chunks
+152 Q3CanvasItem::addToChunks
+160 Q3CanvasItem::removeFromChunks
+168 Q3CanvasItem::changeChunks
+176 Q3CanvasRectangle::collidesWith
+184 Q3CanvasPolygonalItem::setPen
+192 Q3CanvasPolygonalItem::setBrush
+200 Q3CanvasRectangle::areaPoints
+208 Q3CanvasPolygonalItem::areaPointsAdvanced
+216 Q3CanvasRectangle::drawShape
+
+Class Q3CanvasRectangle
+ size=88 align=8
+ base size=84 base align=8
+Q3CanvasRectangle (0x7fea0e42ca10) 0
+ vptr=((& Q3CanvasRectangle::_ZTV17Q3CanvasRectangle) + 16u)
+ Q3CanvasPolygonalItem (0x7fea0e42ca80) 0
+ primary-for Q3CanvasRectangle (0x7fea0e42ca10)
+ Q3CanvasItem (0x7fea0e42caf0) 0
+ primary-for Q3CanvasPolygonalItem (0x7fea0e42ca80)
+
+Vtable for Q3CanvasPolygon
+Q3CanvasPolygon::_ZTV15Q3CanvasPolygon: 28u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15Q3CanvasPolygon)
+16 Q3CanvasPolygon::~Q3CanvasPolygon
+24 Q3CanvasPolygon::~Q3CanvasPolygon
+32 Q3CanvasPolygon::moveBy
+40 Q3CanvasItem::setAnimated
+48 Q3CanvasItem::setVelocity
+56 Q3CanvasItem::advance
+64 Q3CanvasPolygonalItem::collidesWith
+72 Q3CanvasItem::setCanvas
+80 Q3CanvasPolygonalItem::draw
+88 Q3CanvasItem::setVisible
+96 Q3CanvasItem::setSelected
+104 Q3CanvasItem::setEnabled
+112 Q3CanvasItem::setActive
+120 Q3CanvasPolygon::rtti
+128 Q3CanvasPolygonalItem::boundingRect
+136 Q3CanvasItem::boundingRectAdvanced
+144 Q3CanvasPolygonalItem::chunks
+152 Q3CanvasItem::addToChunks
+160 Q3CanvasItem::removeFromChunks
+168 Q3CanvasItem::changeChunks
+176 Q3CanvasPolygonalItem::collidesWith
+184 Q3CanvasPolygonalItem::setPen
+192 Q3CanvasPolygonalItem::setBrush
+200 Q3CanvasPolygon::areaPoints
+208 Q3CanvasPolygonalItem::areaPointsAdvanced
+216 Q3CanvasPolygon::drawShape
+
+Class Q3CanvasPolygon
+ size=88 align=8
+ base size=88 base align=8
+Q3CanvasPolygon (0x7fea0e446e00) 0
+ vptr=((& Q3CanvasPolygon::_ZTV15Q3CanvasPolygon) + 16u)
+ Q3CanvasPolygonalItem (0x7fea0e446e70) 0
+ primary-for Q3CanvasPolygon (0x7fea0e446e00)
+ Q3CanvasItem (0x7fea0e446ee0) 0
+ primary-for Q3CanvasPolygonalItem (0x7fea0e446e70)
+
+Vtable for Q3CanvasSpline
+Q3CanvasSpline::_ZTV14Q3CanvasSpline: 28u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14Q3CanvasSpline)
+16 Q3CanvasSpline::~Q3CanvasSpline
+24 Q3CanvasSpline::~Q3CanvasSpline
+32 Q3CanvasPolygon::moveBy
+40 Q3CanvasItem::setAnimated
+48 Q3CanvasItem::setVelocity
+56 Q3CanvasItem::advance
+64 Q3CanvasPolygonalItem::collidesWith
+72 Q3CanvasItem::setCanvas
+80 Q3CanvasPolygonalItem::draw
+88 Q3CanvasItem::setVisible
+96 Q3CanvasItem::setSelected
+104 Q3CanvasItem::setEnabled
+112 Q3CanvasItem::setActive
+120 Q3CanvasSpline::rtti
+128 Q3CanvasPolygonalItem::boundingRect
+136 Q3CanvasItem::boundingRectAdvanced
+144 Q3CanvasPolygonalItem::chunks
+152 Q3CanvasItem::addToChunks
+160 Q3CanvasItem::removeFromChunks
+168 Q3CanvasItem::changeChunks
+176 Q3CanvasPolygonalItem::collidesWith
+184 Q3CanvasPolygonalItem::setPen
+192 Q3CanvasPolygonalItem::setBrush
+200 Q3CanvasPolygon::areaPoints
+208 Q3CanvasPolygonalItem::areaPointsAdvanced
+216 Q3CanvasPolygon::drawShape
+
+Class Q3CanvasSpline
+ size=104 align=8
+ base size=97 base align=8
+Q3CanvasSpline (0x7fea0e44f070) 0
+ vptr=((& Q3CanvasSpline::_ZTV14Q3CanvasSpline) + 16u)
+ Q3CanvasPolygon (0x7fea0e44f0e0) 0
+ primary-for Q3CanvasSpline (0x7fea0e44f070)
+ Q3CanvasPolygonalItem (0x7fea0e44f150) 0
+ primary-for Q3CanvasPolygon (0x7fea0e44f0e0)
+ Q3CanvasItem (0x7fea0e44f1c0) 0
+ primary-for Q3CanvasPolygonalItem (0x7fea0e44f150)
+
+Vtable for Q3CanvasLine
+Q3CanvasLine::_ZTV12Q3CanvasLine: 28u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12Q3CanvasLine)
+16 Q3CanvasLine::~Q3CanvasLine
+24 Q3CanvasLine::~Q3CanvasLine
+32 Q3CanvasLine::moveBy
+40 Q3CanvasItem::setAnimated
+48 Q3CanvasItem::setVelocity
+56 Q3CanvasItem::advance
+64 Q3CanvasPolygonalItem::collidesWith
+72 Q3CanvasItem::setCanvas
+80 Q3CanvasPolygonalItem::draw
+88 Q3CanvasItem::setVisible
+96 Q3CanvasItem::setSelected
+104 Q3CanvasItem::setEnabled
+112 Q3CanvasItem::setActive
+120 Q3CanvasLine::rtti
+128 Q3CanvasPolygonalItem::boundingRect
+136 Q3CanvasItem::boundingRectAdvanced
+144 Q3CanvasPolygonalItem::chunks
+152 Q3CanvasItem::addToChunks
+160 Q3CanvasItem::removeFromChunks
+168 Q3CanvasItem::changeChunks
+176 Q3CanvasPolygonalItem::collidesWith
+184 Q3CanvasLine::setPen
+192 Q3CanvasPolygonalItem::setBrush
+200 Q3CanvasLine::areaPoints
+208 Q3CanvasPolygonalItem::areaPointsAdvanced
+216 Q3CanvasLine::drawShape
+
+Class Q3CanvasLine
+ size=96 align=8
+ base size=92 base align=8
+Q3CanvasLine (0x7fea0e44f380) 0
+ vptr=((& Q3CanvasLine::_ZTV12Q3CanvasLine) + 16u)
+ Q3CanvasPolygonalItem (0x7fea0e44f3f0) 0
+ primary-for Q3CanvasLine (0x7fea0e44f380)
+ Q3CanvasItem (0x7fea0e44f460) 0
+ primary-for Q3CanvasPolygonalItem (0x7fea0e44f3f0)
+
+Vtable for Q3CanvasEllipse
+Q3CanvasEllipse::_ZTV15Q3CanvasEllipse: 28u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15Q3CanvasEllipse)
+16 Q3CanvasEllipse::~Q3CanvasEllipse
+24 Q3CanvasEllipse::~Q3CanvasEllipse
+32 Q3CanvasItem::moveBy
+40 Q3CanvasItem::setAnimated
+48 Q3CanvasItem::setVelocity
+56 Q3CanvasItem::advance
+64 Q3CanvasEllipse::collidesWith
+72 Q3CanvasItem::setCanvas
+80 Q3CanvasPolygonalItem::draw
+88 Q3CanvasItem::setVisible
+96 Q3CanvasItem::setSelected
+104 Q3CanvasItem::setEnabled
+112 Q3CanvasItem::setActive
+120 Q3CanvasEllipse::rtti
+128 Q3CanvasPolygonalItem::boundingRect
+136 Q3CanvasItem::boundingRectAdvanced
+144 Q3CanvasPolygonalItem::chunks
+152 Q3CanvasItem::addToChunks
+160 Q3CanvasItem::removeFromChunks
+168 Q3CanvasItem::changeChunks
+176 Q3CanvasEllipse::collidesWith
+184 Q3CanvasPolygonalItem::setPen
+192 Q3CanvasPolygonalItem::setBrush
+200 Q3CanvasEllipse::areaPoints
+208 Q3CanvasPolygonalItem::areaPointsAdvanced
+216 Q3CanvasEllipse::drawShape
+
+Class Q3CanvasEllipse
+ size=96 align=8
+ base size=92 base align=8
+Q3CanvasEllipse (0x7fea0e44fee0) 0
+ vptr=((& Q3CanvasEllipse::_ZTV15Q3CanvasEllipse) + 16u)
+ Q3CanvasPolygonalItem (0x7fea0e44ff50) 0
+ primary-for Q3CanvasEllipse (0x7fea0e44fee0)
+ Q3CanvasItem (0x7fea0e44f000) 0
+ primary-for Q3CanvasPolygonalItem (0x7fea0e44ff50)
+
+Vtable for Q3CanvasText
+Q3CanvasText::_ZTV12Q3CanvasText: 23u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12Q3CanvasText)
+16 Q3CanvasText::~Q3CanvasText
+24 Q3CanvasText::~Q3CanvasText
+32 Q3CanvasText::moveBy
+40 Q3CanvasItem::setAnimated
+48 Q3CanvasItem::setVelocity
+56 Q3CanvasItem::advance
+64 Q3CanvasText::collidesWith
+72 Q3CanvasItem::setCanvas
+80 Q3CanvasText::draw
+88 Q3CanvasItem::setVisible
+96 Q3CanvasItem::setSelected
+104 Q3CanvasItem::setEnabled
+112 Q3CanvasItem::setActive
+120 Q3CanvasText::rtti
+128 Q3CanvasText::boundingRect
+136 Q3CanvasItem::boundingRectAdvanced
+144 Q3CanvasItem::chunks
+152 Q3CanvasText::addToChunks
+160 Q3CanvasText::removeFromChunks
+168 Q3CanvasText::changeChunks
+176 Q3CanvasText::collidesWith
+
+Class Q3CanvasText
+ size=128 align=8
+ base size=128 base align=8
+Q3CanvasText (0x7fea0e466850) 0
+ vptr=((& Q3CanvasText::_ZTV12Q3CanvasText) + 16u)
+ Q3CanvasItem (0x7fea0e4668c0) 0
+ primary-for Q3CanvasText (0x7fea0e466850)
+
+Vtable for Q3IconDragItem
+Q3IconDragItem::_ZTV14Q3IconDragItem: 6u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14Q3IconDragItem)
+16 Q3IconDragItem::~Q3IconDragItem
+24 Q3IconDragItem::~Q3IconDragItem
+32 Q3IconDragItem::data
+40 Q3IconDragItem::setData
+
+Class Q3IconDragItem
+ size=16 align=8
+ base size=16 base align=8
+Q3IconDragItem (0x7fea0e477380) 0
+ vptr=((& Q3IconDragItem::_ZTV14Q3IconDragItem) + 16u)
+
+Vtable for Q3IconDrag
+Q3IconDrag::_ZTV10Q3IconDrag: 26u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10Q3IconDrag)
+16 Q3IconDrag::metaObject
+24 Q3IconDrag::qt_metacast
+32 Q3IconDrag::qt_metacall
+40 Q3IconDrag::~Q3IconDrag
+48 Q3IconDrag::~Q3IconDrag
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 Q3DragObject::setPixmap
+120 Q3DragObject::setPixmap
+128 Q3DragObject::drag
+136 Q3IconDrag::format
+144 Q3IconDrag::encodedData
+152 (int (*)(...))-0x00000000000000010
+160 (int (*)(...))(& _ZTI10Q3IconDrag)
+168 Q3IconDrag::_ZThn16_N10Q3IconDragD1Ev
+176 Q3IconDrag::_ZThn16_N10Q3IconDragD0Ev
+184 Q3IconDrag::_ZThn16_NK10Q3IconDrag6formatEi
+192 QMimeSource::provides
+200 Q3IconDrag::_ZThn16_NK10Q3IconDrag11encodedDataEPKc
+
+Class Q3IconDrag
+ size=40 align=8
+ base size=34 base align=8
+Q3IconDrag (0x7fea0e477690) 0
+ vptr=((& Q3IconDrag::_ZTV10Q3IconDrag) + 16u)
+ Q3DragObject (0x7fea0e461500) 0
+ primary-for Q3IconDrag (0x7fea0e477690)
+ QObject (0x7fea0e477700) 0
+ primary-for Q3DragObject (0x7fea0e461500)
+ QMimeSource (0x7fea0e477770) 16 nearly-empty
+ vptr=((& Q3IconDrag::_ZTV10Q3IconDrag) + 168u)
+
+Vtable for Q3IconViewItem
+Q3IconViewItem::_ZTV14Q3IconViewItem: 35u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14Q3IconViewItem)
+16 Q3IconViewItem::~Q3IconViewItem
+24 Q3IconViewItem::~Q3IconViewItem
+32 Q3IconViewItem::setRenameEnabled
+40 Q3IconViewItem::setDragEnabled
+48 Q3IconViewItem::setDropEnabled
+56 Q3IconViewItem::text
+64 Q3IconViewItem::pixmap
+72 Q3IconViewItem::picture
+80 Q3IconViewItem::key
+88 Q3IconViewItem::setSelected
+96 Q3IconViewItem::setSelected
+104 Q3IconViewItem::setSelectable
+112 Q3IconViewItem::repaint
+120 Q3IconViewItem::move
+128 Q3IconViewItem::moveBy
+136 Q3IconViewItem::move
+144 Q3IconViewItem::moveBy
+152 Q3IconViewItem::acceptDrop
+160 Q3IconViewItem::compare
+168 Q3IconViewItem::setText
+176 Q3IconViewItem::setPixmap
+184 Q3IconViewItem::setPicture
+192 Q3IconViewItem::setText
+200 Q3IconViewItem::setPixmap
+208 Q3IconViewItem::setKey
+216 Q3IconViewItem::rtti
+224 Q3IconViewItem::removeRenameBox
+232 Q3IconViewItem::calcRect
+240 Q3IconViewItem::paintItem
+248 Q3IconViewItem::paintFocus
+256 Q3IconViewItem::dropped
+264 Q3IconViewItem::dragEntered
+272 Q3IconViewItem::dragLeft
+
+Class Q3IconViewItem
+ size=160 align=8
+ base size=160 base align=8
+Q3IconViewItem (0x7fea0e48e930) 0
+ vptr=((& Q3IconViewItem::_ZTV14Q3IconViewItem) + 16u)
+
+Vtable for Q3IconView
+Q3IconView::_ZTV10Q3IconView: 139u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10Q3IconView)
+16 Q3IconView::metaObject
+24 Q3IconView::qt_metacast
+32 Q3IconView::qt_metacall
+40 Q3IconView::~Q3IconView
+48 Q3IconView::~Q3IconView
+56 QFrame::event
+64 Q3IconView::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 Q3ScrollView::setVisible
+128 Q3IconView::sizeHint
+136 Q3IconView::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 Q3ScrollView::mousePressEvent
+168 Q3ScrollView::mouseReleaseEvent
+176 Q3ScrollView::mouseDoubleClickEvent
+184 Q3ScrollView::mouseMoveEvent
+192 Q3ScrollView::wheelEvent
+200 Q3IconView::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 Q3IconView::focusInEvent
+224 Q3IconView::focusOutEvent
+232 Q3IconView::enterEvent
+240 QWidget::leaveEvent
+248 Q3Frame::paintEvent
+256 QWidget::moveEvent
+264 Q3IconView::resizeEvent
+272 QWidget::closeEvent
+280 Q3ScrollView::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 Q3IconView::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 Q3IconView::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 Q3IconView::inputMethodQuery
+392 Q3ScrollView::focusNextPrevChild
+400 Q3ScrollView::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 Q3ScrollView::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 Q3ScrollView::frameChanged
+456 Q3Frame::drawFrame
+464 Q3ScrollView::drawContents
+472 Q3ScrollView::setResizePolicy
+480 Q3ScrollView::addChild
+488 Q3ScrollView::moveChild
+496 Q3ScrollView::setVScrollBarMode
+504 Q3ScrollView::setHScrollBarMode
+512 Q3ScrollView::setCornerWidget
+520 Q3ScrollView::setDragAutoScroll
+528 Q3ScrollView::resizeContents
+536 Q3IconView::setContentsPos
+544 Q3IconView::drawContents
+552 Q3ScrollView::drawContentsOffset
+560 Q3IconView::contentsMousePressEvent
+568 Q3IconView::contentsMouseReleaseEvent
+576 Q3IconView::contentsMouseDoubleClickEvent
+584 Q3IconView::contentsMouseMoveEvent
+592 Q3IconView::contentsDragEnterEvent
+600 Q3IconView::contentsDragMoveEvent
+608 Q3IconView::contentsDragLeaveEvent
+616 Q3IconView::contentsDropEvent
+624 Q3ScrollView::contentsWheelEvent
+632 Q3IconView::contentsContextMenuEvent
+640 Q3ScrollView::viewportPaintEvent
+648 Q3ScrollView::viewportResizeEvent
+656 Q3ScrollView::viewportMousePressEvent
+664 Q3ScrollView::viewportMouseReleaseEvent
+672 Q3ScrollView::viewportMouseDoubleClickEvent
+680 Q3ScrollView::viewportMouseMoveEvent
+688 Q3ScrollView::viewportDragEnterEvent
+696 Q3ScrollView::viewportDragMoveEvent
+704 Q3ScrollView::viewportDragLeaveEvent
+712 Q3ScrollView::viewportDropEvent
+720 Q3ScrollView::viewportWheelEvent
+728 Q3ScrollView::viewportContextMenuEvent
+736 Q3ScrollView::setMargins
+744 Q3ScrollView::setHBarGeometry
+752 Q3ScrollView::setVBarGeometry
+760 Q3IconView::insertItem
+768 Q3IconView::takeItem
+776 Q3IconView::setCurrentItem
+784 Q3IconView::setSelected
+792 Q3IconView::setSelectionMode
+800 Q3IconView::selectAll
+808 Q3IconView::clearSelection
+816 Q3IconView::invertSelection
+824 Q3IconView::repaintItem
+832 Q3IconView::clear
+840 Q3IconView::setGridX
+848 Q3IconView::setGridY
+856 Q3IconView::setSpacing
+864 Q3IconView::setItemTextPos
+872 Q3IconView::setItemTextBackground
+880 Q3IconView::setArrangement
+888 Q3IconView::setResizeMode
+896 Q3IconView::setMaxItemWidth
+904 Q3IconView::setMaxItemTextLength
+912 Q3IconView::setAutoArrange
+920 Q3IconView::setShowToolTips
+928 Q3IconView::setItemsMovable
+936 Q3IconView::setWordWrapIconText
+944 Q3IconView::sort
+952 Q3IconView::arrangeItemsInGrid
+960 Q3IconView::arrangeItemsInGrid
+968 Q3IconView::updateContents
+976 Q3IconView::doAutoScroll
+984 Q3IconView::adjustItems
+992 Q3IconView::slotUpdate
+1000 Q3IconView::drawRubber
+1008 Q3IconView::dragObject
+1016 Q3IconView::startDrag
+1024 Q3IconView::insertInGrid
+1032 Q3IconView::drawBackground
+1040 Q3IconView::drawDragShapes
+1048 Q3IconView::initDragEnter
+1056 (int (*)(...))-0x00000000000000010
+1064 (int (*)(...))(& _ZTI10Q3IconView)
+1072 Q3IconView::_ZThn16_N10Q3IconViewD1Ev
+1080 Q3IconView::_ZThn16_N10Q3IconViewD0Ev
+1088 QWidget::_ZThn16_NK7QWidget7devTypeEv
+1096 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+1104 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class Q3IconView
+ size=64 align=8
+ base size=64 base align=8
+Q3IconView (0x7fea0e49d540) 0
+ vptr=((& Q3IconView::_ZTV10Q3IconView) + 16u)
+ Q3ScrollView (0x7fea0e49d5b0) 0
+ primary-for Q3IconView (0x7fea0e49d540)
+ Q3Frame (0x7fea0e49d620) 0
+ primary-for Q3ScrollView (0x7fea0e49d5b0)
+ QFrame (0x7fea0e49d690) 0
+ primary-for Q3Frame (0x7fea0e49d620)
+ QWidget (0x7fea0e461c80) 0
+ primary-for QFrame (0x7fea0e49d690)
+ QObject (0x7fea0e49d700) 0
+ primary-for QWidget (0x7fea0e461c80)
+ QPaintDevice (0x7fea0e49d770) 16
+ vptr=((& Q3IconView::_ZTV10Q3IconView) + 1072u)
+
+Vtable for Q3ListViewItem
+Q3ListViewItem::_ZTV14Q3ListViewItem: 41u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14Q3ListViewItem)
+16 Q3ListViewItem::~Q3ListViewItem
+24 Q3ListViewItem::~Q3ListViewItem
+32 Q3ListViewItem::insertItem
+40 Q3ListViewItem::takeItem
+48 Q3ListViewItem::removeItem
+56 Q3ListViewItem::invalidateHeight
+64 Q3ListViewItem::width
+72 Q3ListViewItem::setText
+80 Q3ListViewItem::text
+88 Q3ListViewItem::setPixmap
+96 Q3ListViewItem::pixmap
+104 Q3ListViewItem::key
+112 Q3ListViewItem::compare
+120 Q3ListViewItem::sortChildItems
+128 Q3ListViewItem::setOpen
+136 Q3ListViewItem::setup
+144 Q3ListViewItem::setSelected
+152 Q3ListViewItem::paintCell
+160 Q3ListViewItem::paintBranches
+168 Q3ListViewItem::paintFocus
+176 Q3ListViewItem::setSelectable
+184 Q3ListViewItem::setExpandable
+192 Q3ListViewItem::sort
+200 Q3ListViewItem::setDragEnabled
+208 Q3ListViewItem::setDropEnabled
+216 Q3ListViewItem::acceptDrop
+224 Q3ListViewItem::setRenameEnabled
+232 Q3ListViewItem::startRename
+240 Q3ListViewItem::setEnabled
+248 Q3ListViewItem::rtti
+256 Q3ListViewItem::setMultiLinesEnabled
+264 Q3ListViewItem::enforceSortOrder
+272 Q3ListViewItem::setHeight
+280 Q3ListViewItem::activate
+288 Q3ListViewItem::dropped
+296 Q3ListViewItem::dragEntered
+304 Q3ListViewItem::dragLeft
+312 Q3ListViewItem::okRename
+320 Q3ListViewItem::cancelRename
+
+Class Q3ListViewItem
+ size=72 align=8
+ base size=72 base align=8
+Q3ListViewItem (0x7fea0e3084d0) 0
+ vptr=((& Q3ListViewItem::_ZTV14Q3ListViewItem) + 16u)
+
+Vtable for Q3ListView
+Q3ListView::_ZTV10Q3ListView: 134u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10Q3ListView)
+16 Q3ListView::metaObject
+24 Q3ListView::qt_metacast
+32 Q3ListView::qt_metacall
+40 Q3ListView::~Q3ListView
+48 Q3ListView::~Q3ListView
+56 QFrame::event
+64 Q3ListView::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 Q3ScrollView::setVisible
+128 Q3ListView::sizeHint
+136 Q3ListView::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 Q3ScrollView::mousePressEvent
+168 Q3ScrollView::mouseReleaseEvent
+176 Q3ScrollView::mouseDoubleClickEvent
+184 Q3ScrollView::mouseMoveEvent
+192 Q3ScrollView::wheelEvent
+200 Q3ListView::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 Q3ListView::focusInEvent
+224 Q3ListView::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 Q3Frame::paintEvent
+256 QWidget::moveEvent
+264 Q3ListView::resizeEvent
+272 QWidget::closeEvent
+280 Q3ScrollView::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 Q3ListView::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 Q3ListView::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 Q3ListView::inputMethodQuery
+392 Q3ScrollView::focusNextPrevChild
+400 Q3ScrollView::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 Q3ScrollView::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 Q3ScrollView::frameChanged
+456 Q3Frame::drawFrame
+464 Q3ScrollView::drawContents
+472 Q3ScrollView::setResizePolicy
+480 Q3ScrollView::addChild
+488 Q3ScrollView::moveChild
+496 Q3ScrollView::setVScrollBarMode
+504 Q3ScrollView::setHScrollBarMode
+512 Q3ScrollView::setCornerWidget
+520 Q3ScrollView::setDragAutoScroll
+528 Q3ScrollView::resizeContents
+536 Q3ListView::setContentsPos
+544 Q3ScrollView::drawContents
+552 Q3ListView::drawContentsOffset
+560 Q3ListView::contentsMousePressEvent
+568 Q3ListView::contentsMouseReleaseEvent
+576 Q3ListView::contentsMouseDoubleClickEvent
+584 Q3ListView::contentsMouseMoveEvent
+592 Q3ListView::contentsDragEnterEvent
+600 Q3ListView::contentsDragMoveEvent
+608 Q3ListView::contentsDragLeaveEvent
+616 Q3ListView::contentsDropEvent
+624 Q3ScrollView::contentsWheelEvent
+632 Q3ListView::contentsContextMenuEvent
+640 Q3ScrollView::viewportPaintEvent
+648 Q3ListView::viewportResizeEvent
+656 Q3ScrollView::viewportMousePressEvent
+664 Q3ScrollView::viewportMouseReleaseEvent
+672 Q3ScrollView::viewportMouseDoubleClickEvent
+680 Q3ScrollView::viewportMouseMoveEvent
+688 Q3ScrollView::viewportDragEnterEvent
+696 Q3ScrollView::viewportDragMoveEvent
+704 Q3ScrollView::viewportDragLeaveEvent
+712 Q3ScrollView::viewportDropEvent
+720 Q3ScrollView::viewportWheelEvent
+728 Q3ScrollView::viewportContextMenuEvent
+736 Q3ScrollView::setMargins
+744 Q3ScrollView::setHBarGeometry
+752 Q3ScrollView::setVBarGeometry
+760 Q3ListView::setTreeStepSize
+768 Q3ListView::insertItem
+776 Q3ListView::takeItem
+784 Q3ListView::removeItem
+792 Q3ListView::addColumn
+800 Q3ListView::addColumn
+808 Q3ListView::removeColumn
+816 Q3ListView::setColumnText
+824 Q3ListView::setColumnText
+832 Q3ListView::setColumnWidth
+840 Q3ListView::setColumnWidthMode
+848 Q3ListView::setColumnAlignment
+856 Q3ListView::setMultiSelection
+864 Q3ListView::clearSelection
+872 Q3ListView::setSelected
+880 Q3ListView::setOpen
+888 Q3ListView::setCurrentItem
+896 Q3ListView::setAllColumnsShowFocus
+904 Q3ListView::setItemMargin
+912 Q3ListView::setRootIsDecorated
+920 Q3ListView::setSorting
+928 Q3ListView::sort
+936 Q3ListView::setShowSortIndicator
+944 Q3ListView::setShowToolTips
+952 Q3ListView::setResizeMode
+960 Q3ListView::setDefaultRenameAction
+968 Q3ListView::clear
+976 Q3ListView::invertSelection
+984 Q3ListView::selectAll
+992 Q3ListView::dragObject
+1000 Q3ListView::startDrag
+1008 Q3ListView::paintEmptyArea
+1016 (int (*)(...))-0x00000000000000010
+1024 (int (*)(...))(& _ZTI10Q3ListView)
+1032 Q3ListView::_ZThn16_N10Q3ListViewD1Ev
+1040 Q3ListView::_ZThn16_N10Q3ListViewD0Ev
+1048 QWidget::_ZThn16_NK7QWidget7devTypeEv
+1056 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+1064 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class Q3ListView
+ size=64 align=8
+ base size=64 base align=8
+Q3ListView (0x7fea0e351000) 0
+ vptr=((& Q3ListView::_ZTV10Q3ListView) + 16u)
+ Q3ScrollView (0x7fea0e351070) 0
+ primary-for Q3ListView (0x7fea0e351000)
+ Q3Frame (0x7fea0e3510e0) 0
+ primary-for Q3ScrollView (0x7fea0e351070)
+ QFrame (0x7fea0e351150) 0
+ primary-for Q3Frame (0x7fea0e3510e0)
+ QWidget (0x7fea0e348800) 0
+ primary-for QFrame (0x7fea0e351150)
+ QObject (0x7fea0e3511c0) 0
+ primary-for QWidget (0x7fea0e348800)
+ QPaintDevice (0x7fea0e351230) 16
+ vptr=((& Q3ListView::_ZTV10Q3ListView) + 1032u)
+
+Vtable for Q3CheckListItem
+Q3CheckListItem::_ZTV15Q3CheckListItem: 43u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15Q3CheckListItem)
+16 Q3CheckListItem::~Q3CheckListItem
+24 Q3CheckListItem::~Q3CheckListItem
+32 Q3ListViewItem::insertItem
+40 Q3ListViewItem::takeItem
+48 Q3ListViewItem::removeItem
+56 Q3ListViewItem::invalidateHeight
+64 Q3CheckListItem::width
+72 Q3ListViewItem::setText
+80 Q3CheckListItem::text
+88 Q3ListViewItem::setPixmap
+96 Q3ListViewItem::pixmap
+104 Q3ListViewItem::key
+112 Q3ListViewItem::compare
+120 Q3ListViewItem::sortChildItems
+128 Q3ListViewItem::setOpen
+136 Q3CheckListItem::setup
+144 Q3ListViewItem::setSelected
+152 Q3CheckListItem::paintCell
+160 Q3ListViewItem::paintBranches
+168 Q3CheckListItem::paintFocus
+176 Q3ListViewItem::setSelectable
+184 Q3ListViewItem::setExpandable
+192 Q3ListViewItem::sort
+200 Q3ListViewItem::setDragEnabled
+208 Q3ListViewItem::setDropEnabled
+216 Q3ListViewItem::acceptDrop
+224 Q3ListViewItem::setRenameEnabled
+232 Q3ListViewItem::startRename
+240 Q3ListViewItem::setEnabled
+248 Q3CheckListItem::rtti
+256 Q3ListViewItem::setMultiLinesEnabled
+264 Q3ListViewItem::enforceSortOrder
+272 Q3ListViewItem::setHeight
+280 Q3CheckListItem::activate
+288 Q3ListViewItem::dropped
+296 Q3ListViewItem::dragEntered
+304 Q3ListViewItem::dragLeft
+312 Q3ListViewItem::okRename
+320 Q3ListViewItem::cancelRename
+328 Q3CheckListItem::setOn
+336 Q3CheckListItem::stateChange
+
+Class Q3CheckListItem
+ size=88 align=8
+ base size=88 base align=8
+Q3CheckListItem (0x7fea0e3a02a0) 0
+ vptr=((& Q3CheckListItem::_ZTV15Q3CheckListItem) + 16u)
+ Q3ListViewItem (0x7fea0e3a0310) 0
+ primary-for Q3CheckListItem (0x7fea0e3a02a0)
+
+Class Q3ListViewItemIterator
+ size=24 align=8
+ base size=20 base align=8
+Q3ListViewItemIterator (0x7fea0e3bfc40) 0
+
+Vtable for Q3ListBox
+Q3ListBox::_ZTV9Q3ListBox: 119u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9Q3ListBox)
+16 Q3ListBox::metaObject
+24 Q3ListBox::qt_metacast
+32 Q3ListBox::qt_metacall
+40 Q3ListBox::~Q3ListBox
+48 Q3ListBox::~Q3ListBox
+56 QFrame::event
+64 Q3ListBox::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 Q3ScrollView::setVisible
+128 Q3ListBox::sizeHint
+136 Q3ListBox::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 Q3ListBox::mousePressEvent
+168 Q3ListBox::mouseReleaseEvent
+176 Q3ListBox::mouseDoubleClickEvent
+184 Q3ListBox::mouseMoveEvent
+192 Q3ScrollView::wheelEvent
+200 Q3ListBox::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 Q3ListBox::focusInEvent
+224 Q3ListBox::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 Q3Frame::paintEvent
+256 QWidget::moveEvent
+264 Q3ListBox::resizeEvent
+272 QWidget::closeEvent
+280 Q3ScrollView::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 Q3ListBox::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 Q3ListBox::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 Q3ListBox::inputMethodQuery
+392 Q3ScrollView::focusNextPrevChild
+400 Q3ScrollView::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 Q3ScrollView::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 Q3ScrollView::frameChanged
+456 Q3Frame::drawFrame
+464 Q3ScrollView::drawContents
+472 Q3ScrollView::setResizePolicy
+480 Q3ScrollView::addChild
+488 Q3ScrollView::moveChild
+496 Q3ScrollView::setVScrollBarMode
+504 Q3ScrollView::setHScrollBarMode
+512 Q3ScrollView::setCornerWidget
+520 Q3ScrollView::setDragAutoScroll
+528 Q3ScrollView::resizeContents
+536 Q3ScrollView::setContentsPos
+544 Q3ScrollView::drawContents
+552 Q3ScrollView::drawContentsOffset
+560 Q3ScrollView::contentsMousePressEvent
+568 Q3ScrollView::contentsMouseReleaseEvent
+576 Q3ScrollView::contentsMouseDoubleClickEvent
+584 Q3ScrollView::contentsMouseMoveEvent
+592 Q3ScrollView::contentsDragEnterEvent
+600 Q3ScrollView::contentsDragMoveEvent
+608 Q3ScrollView::contentsDragLeaveEvent
+616 Q3ScrollView::contentsDropEvent
+624 Q3ScrollView::contentsWheelEvent
+632 Q3ListBox::contentsContextMenuEvent
+640 Q3ListBox::viewportPaintEvent
+648 Q3ScrollView::viewportResizeEvent
+656 Q3ScrollView::viewportMousePressEvent
+664 Q3ScrollView::viewportMouseReleaseEvent
+672 Q3ScrollView::viewportMouseDoubleClickEvent
+680 Q3ScrollView::viewportMouseMoveEvent
+688 Q3ScrollView::viewportDragEnterEvent
+696 Q3ScrollView::viewportDragMoveEvent
+704 Q3ScrollView::viewportDragLeaveEvent
+712 Q3ScrollView::viewportDropEvent
+720 Q3ScrollView::viewportWheelEvent
+728 Q3ScrollView::viewportContextMenuEvent
+736 Q3ScrollView::setMargins
+744 Q3ScrollView::setHBarGeometry
+752 Q3ScrollView::setVBarGeometry
+760 Q3ListBox::setCurrentItem
+768 Q3ListBox::setCurrentItem
+776 Q3ListBox::setTopItem
+784 Q3ListBox::setBottomItem
+792 Q3ListBox::setSelectionMode
+800 Q3ListBox::setSelected
+808 Q3ListBox::setColumnMode
+816 Q3ListBox::setColumnMode
+824 Q3ListBox::setRowMode
+832 Q3ListBox::setRowMode
+840 Q3ListBox::setVariableWidth
+848 Q3ListBox::setVariableHeight
+856 Q3ListBox::ensureCurrentVisible
+864 Q3ListBox::clearSelection
+872 Q3ListBox::selectAll
+880 Q3ListBox::invertSelection
+888 Q3ListBox::paintCell
+896 (int (*)(...))-0x00000000000000010
+904 (int (*)(...))(& _ZTI9Q3ListBox)
+912 Q3ListBox::_ZThn16_N9Q3ListBoxD1Ev
+920 Q3ListBox::_ZThn16_N9Q3ListBoxD0Ev
+928 QWidget::_ZThn16_NK7QWidget7devTypeEv
+936 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+944 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class Q3ListBox
+ size=64 align=8
+ base size=64 base align=8
+Q3ListBox (0x7fea0e1c1e00) 0
+ vptr=((& Q3ListBox::_ZTV9Q3ListBox) + 16u)
+ Q3ScrollView (0x7fea0e1c1e70) 0
+ primary-for Q3ListBox (0x7fea0e1c1e00)
+ Q3Frame (0x7fea0e1c1ee0) 0
+ primary-for Q3ScrollView (0x7fea0e1c1e70)
+ QFrame (0x7fea0e1c1f50) 0
+ primary-for Q3Frame (0x7fea0e1c1ee0)
+ QWidget (0x7fea0e1bba80) 0
+ primary-for QFrame (0x7fea0e1c1f50)
+ QObject (0x7fea0e1ca000) 0
+ primary-for QWidget (0x7fea0e1bba80)
+ QPaintDevice (0x7fea0e1ca070) 16
+ vptr=((& Q3ListBox::_ZTV9Q3ListBox) + 912u)
+
+Vtable for Q3ListBoxItem
+Q3ListBoxItem::_ZTV13Q3ListBoxItem: 11u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13Q3ListBoxItem)
+16 Q3ListBoxItem::~Q3ListBoxItem
+24 Q3ListBoxItem::~Q3ListBoxItem
+32 Q3ListBoxItem::text
+40 Q3ListBoxItem::pixmap
+48 Q3ListBoxItem::height
+56 Q3ListBoxItem::width
+64 Q3ListBoxItem::rtti
+72 __cxa_pure_virtual
+80 Q3ListBoxItem::setText
+
+Class Q3ListBoxItem
+ size=48 align=8
+ base size=48 base align=8
+Q3ListBoxItem (0x7fea0e242150) 0
+ vptr=((& Q3ListBoxItem::_ZTV13Q3ListBoxItem) + 16u)
+
+Vtable for Q3ListBoxText
+Q3ListBoxText::_ZTV13Q3ListBoxText: 11u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13Q3ListBoxText)
+16 Q3ListBoxText::~Q3ListBoxText
+24 Q3ListBoxText::~Q3ListBoxText
+32 Q3ListBoxItem::text
+40 Q3ListBoxItem::pixmap
+48 Q3ListBoxText::height
+56 Q3ListBoxText::width
+64 Q3ListBoxText::rtti
+72 Q3ListBoxText::paint
+80 Q3ListBoxItem::setText
+
+Class Q3ListBoxText
+ size=48 align=8
+ base size=48 base align=8
+Q3ListBoxText (0x7fea0e256c40) 0
+ vptr=((& Q3ListBoxText::_ZTV13Q3ListBoxText) + 16u)
+ Q3ListBoxItem (0x7fea0e256cb0) 0
+ primary-for Q3ListBoxText (0x7fea0e256c40)
+
+Vtable for Q3ListBoxPixmap
+Q3ListBoxPixmap::_ZTV15Q3ListBoxPixmap: 11u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15Q3ListBoxPixmap)
+16 Q3ListBoxPixmap::~Q3ListBoxPixmap
+24 Q3ListBoxPixmap::~Q3ListBoxPixmap
+32 Q3ListBoxItem::text
+40 Q3ListBoxPixmap::pixmap
+48 Q3ListBoxPixmap::height
+56 Q3ListBoxPixmap::width
+64 Q3ListBoxPixmap::rtti
+72 Q3ListBoxPixmap::paint
+80 Q3ListBoxItem::setText
+
+Class Q3ListBoxPixmap
+ size=72 align=8
+ base size=72 base align=8
+Q3ListBoxPixmap (0x7fea0e25f540) 0
+ vptr=((& Q3ListBoxPixmap::_ZTV15Q3ListBoxPixmap) + 16u)
+ Q3ListBoxItem (0x7fea0e25f5b0) 0
+ primary-for Q3ListBoxPixmap (0x7fea0e25f540)
+
+Vtable for Q3SocketDevice
+Q3SocketDevice::_ZTV14Q3SocketDevice: 41u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14Q3SocketDevice)
+16 QIODevice::metaObject
+24 QIODevice::qt_metacast
+32 QIODevice::qt_metacall
+40 Q3SocketDevice::~Q3SocketDevice
+48 Q3SocketDevice::~Q3SocketDevice
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 Q3SocketDevice::isSequential
+120 Q3SocketDevice::open
+128 Q3SocketDevice::close
+136 QIODevice::pos
+144 Q3SocketDevice::size
+152 QIODevice::seek
+160 Q3SocketDevice::atEnd
+168 QIODevice::reset
+176 Q3SocketDevice::bytesAvailable
+184 QIODevice::bytesToWrite
+192 QIODevice::canReadLine
+200 QIODevice::waitForReadyRead
+208 QIODevice::waitForBytesWritten
+216 Q3SocketDevice::readData
+224 QIODevice::readLineData
+232 Q3SocketDevice::writeData
+240 Q3SocketDevice::setSocket
+248 Q3SocketDevice::setBlocking
+256 Q3SocketDevice::setAddressReusable
+264 Q3SocketDevice::setReceiveBufferSize
+272 Q3SocketDevice::setSendBufferSize
+280 Q3SocketDevice::connect
+288 Q3SocketDevice::bind
+296 Q3SocketDevice::listen
+304 Q3SocketDevice::accept
+312 Q3SocketDevice::writeBlock
+320 Q3SocketDevice::setOption
+
+Class Q3SocketDevice
+ size=72 align=8
+ base size=72 base align=8
+Q3SocketDevice (0x7fea0e272070) 0
+ vptr=((& Q3SocketDevice::_ZTV14Q3SocketDevice) + 16u)
+ QIODevice (0x7fea0e2720e0) 0
+ primary-for Q3SocketDevice (0x7fea0e272070)
+ QObject (0x7fea0e272150) 0
+ primary-for QIODevice (0x7fea0e2720e0)
+
+Vtable for Q3HttpHeader
+Q3HttpHeader::_ZTV12Q3HttpHeader: 8u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12Q3HttpHeader)
+16 Q3HttpHeader::~Q3HttpHeader
+24 Q3HttpHeader::~Q3HttpHeader
+32 Q3HttpHeader::toString
+40 __cxa_pure_virtual
+48 __cxa_pure_virtual
+56 Q3HttpHeader::parseLine
+
+Class Q3HttpHeader
+ size=24 align=8
+ base size=17 base align=8
+Q3HttpHeader (0x7fea0e295700) 0
+ vptr=((& Q3HttpHeader::_ZTV12Q3HttpHeader) + 16u)
+
+Vtable for Q3HttpResponseHeader
+Q3HttpResponseHeader::_ZTV20Q3HttpResponseHeader: 8u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI20Q3HttpResponseHeader)
+16 Q3HttpResponseHeader::~Q3HttpResponseHeader
+24 Q3HttpResponseHeader::~Q3HttpResponseHeader
+32 Q3HttpResponseHeader::toString
+40 Q3HttpResponseHeader::majorVersion
+48 Q3HttpResponseHeader::minorVersion
+56 Q3HttpResponseHeader::parseLine
+
+Class Q3HttpResponseHeader
+ size=40 align=8
+ base size=40 base align=8
+Q3HttpResponseHeader (0x7fea0e295ee0) 0
+ vptr=((& Q3HttpResponseHeader::_ZTV20Q3HttpResponseHeader) + 16u)
+ Q3HttpHeader (0x7fea0e295f50) 0
+ primary-for Q3HttpResponseHeader (0x7fea0e295ee0)
+
+Vtable for Q3HttpRequestHeader
+Q3HttpRequestHeader::_ZTV19Q3HttpRequestHeader: 8u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19Q3HttpRequestHeader)
+16 Q3HttpRequestHeader::~Q3HttpRequestHeader
+24 Q3HttpRequestHeader::~Q3HttpRequestHeader
+32 Q3HttpRequestHeader::toString
+40 Q3HttpRequestHeader::majorVersion
+48 Q3HttpRequestHeader::minorVersion
+56 Q3HttpRequestHeader::parseLine
+
+Class Q3HttpRequestHeader
+ size=48 align=8
+ base size=48 base align=8
+Q3HttpRequestHeader (0x7fea0e0bf310) 0
+ vptr=((& Q3HttpRequestHeader::_ZTV19Q3HttpRequestHeader) + 16u)
+ Q3HttpHeader (0x7fea0e0bf380) 0
+ primary-for Q3HttpRequestHeader (0x7fea0e0bf310)
+
+Vtable for Q3Http
+Q3Http::_ZTV6Q3Http: 29u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI6Q3Http)
+16 Q3Http::metaObject
+24 Q3Http::qt_metacast
+32 Q3Http::qt_metacall
+40 Q3Http::~Q3Http
+48 Q3Http::~Q3Http
+56 QObject::event
+64 QObject::eventFilter
+72 Q3Http::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 Q3NetworkProtocol::setUrl
+120 Q3NetworkProtocol::setAutoDelete
+128 Q3Http::supportedOperations
+136 Q3NetworkProtocol::addOperation
+144 Q3NetworkProtocol::clearOperationQueue
+152 Q3NetworkProtocol::stop
+160 Q3NetworkProtocol::processOperation
+168 Q3NetworkProtocol::operationListChildren
+176 Q3NetworkProtocol::operationMkDir
+184 Q3NetworkProtocol::operationRemove
+192 Q3NetworkProtocol::operationRename
+200 Q3Http::operationGet
+208 Q3Http::operationPut
+216 Q3NetworkProtocol::operationPutChunk
+224 Q3NetworkProtocol::checkConnection
+
+Class Q3Http
+ size=48 align=8
+ base size=44 base align=8
+Q3Http (0x7fea0e0bf700) 0
+ vptr=((& Q3Http::_ZTV6Q3Http) + 16u)
+ Q3NetworkProtocol (0x7fea0e0bf770) 0
+ primary-for Q3Http (0x7fea0e0bf700)
+ QObject (0x7fea0e0bf7e0) 0
+ primary-for Q3NetworkProtocol (0x7fea0e0bf770)
+
+Class Q3Dns::MailServer
+ size=16 align=8
+ base size=10 base align=8
+Q3Dns::MailServer (0x7fea0e0eef50) 0
+
+Class Q3Dns::Server
+ size=16 align=8
+ base size=14 base align=8
+Q3Dns::Server (0x7fea0e0ff540) 0
+
+Vtable for Q3Dns
+Q3Dns::_ZTV5Q3Dns: 17u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI5Q3Dns)
+16 Q3Dns::metaObject
+24 Q3Dns::qt_metacast
+32 Q3Dns::qt_metacall
+40 Q3Dns::~Q3Dns
+48 Q3Dns::~Q3Dns
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 Q3Dns::setLabel
+120 Q3Dns::setLabel
+128 Q3Dns::setRecordType
+
+Class Q3Dns
+ size=48 align=8
+ base size=48 base align=8
+Q3Dns (0x7fea0e0ee9a0) 0
+ vptr=((& Q3Dns::_ZTV5Q3Dns) + 16u)
+ QObject (0x7fea0e0eea10) 0
+ primary-for Q3Dns (0x7fea0e0ee9a0)
+
+Vtable for Q3DnsSocket
+Q3DnsSocket::_ZTV11Q3DnsSocket: 17u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11Q3DnsSocket)
+16 Q3DnsSocket::metaObject
+24 Q3DnsSocket::qt_metacast
+32 Q3DnsSocket::qt_metacall
+40 Q3DnsSocket::~Q3DnsSocket
+48 Q3DnsSocket::~Q3DnsSocket
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 Q3DnsSocket::cleanCache
+120 Q3DnsSocket::retransmit
+128 Q3DnsSocket::answer
+
+Class Q3DnsSocket
+ size=16 align=8
+ base size=16 base align=8
+Q3DnsSocket (0x7fea0e120620) 0
+ vptr=((& Q3DnsSocket::_ZTV11Q3DnsSocket) + 16u)
+ QObject (0x7fea0e120690) 0
+ primary-for Q3DnsSocket (0x7fea0e120620)
+
+Vtable for Q3Ftp
+Q3Ftp::_ZTV5Q3Ftp: 29u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI5Q3Ftp)
+16 Q3Ftp::metaObject
+24 Q3Ftp::qt_metacast
+32 Q3Ftp::qt_metacall
+40 Q3Ftp::~Q3Ftp
+48 Q3Ftp::~Q3Ftp
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 Q3NetworkProtocol::setUrl
+120 Q3NetworkProtocol::setAutoDelete
+128 Q3Ftp::supportedOperations
+136 Q3NetworkProtocol::addOperation
+144 Q3NetworkProtocol::clearOperationQueue
+152 Q3NetworkProtocol::stop
+160 Q3NetworkProtocol::processOperation
+168 Q3Ftp::operationListChildren
+176 Q3Ftp::operationMkDir
+184 Q3Ftp::operationRemove
+192 Q3Ftp::operationRename
+200 Q3Ftp::operationGet
+208 Q3Ftp::operationPut
+216 Q3NetworkProtocol::operationPutChunk
+224 Q3Ftp::checkConnection
+
+Class Q3Ftp
+ size=72 align=8
+ base size=65 base align=8
+Q3Ftp (0x7fea0e12f540) 0
+ vptr=((& Q3Ftp::_ZTV5Q3Ftp) + 16u)
+ Q3NetworkProtocol (0x7fea0e12f5b0) 0
+ primary-for Q3Ftp (0x7fea0e12f540)
+ QObject (0x7fea0e12f620) 0
+ primary-for Q3NetworkProtocol (0x7fea0e12f5b0)
+
+Vtable for Q3ServerSocket
+Q3ServerSocket::_ZTV14Q3ServerSocket: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14Q3ServerSocket)
+16 Q3ServerSocket::metaObject
+24 Q3ServerSocket::qt_metacast
+32 Q3ServerSocket::qt_metacall
+40 Q3ServerSocket::~Q3ServerSocket
+48 Q3ServerSocket::~Q3ServerSocket
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 Q3ServerSocket::setSocket
+120 __cxa_pure_virtual
+
+Class Q3ServerSocket
+ size=24 align=8
+ base size=24 base align=8
+Q3ServerSocket (0x7fea0e157a80) 0
+ vptr=((& Q3ServerSocket::_ZTV14Q3ServerSocket) + 16u)
+ QObject (0x7fea0e157af0) 0
+ primary-for Q3ServerSocket (0x7fea0e157a80)
+
+Vtable for Q3Socket
+Q3Socket::_ZTV8Q3Socket: 35u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI8Q3Socket)
+16 Q3Socket::metaObject
+24 Q3Socket::qt_metacast
+32 Q3Socket::qt_metacall
+40 Q3Socket::~Q3Socket
+48 Q3Socket::~Q3Socket
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 Q3Socket::isSequential
+120 Q3Socket::open
+128 Q3Socket::close
+136 QIODevice::pos
+144 Q3Socket::size
+152 QIODevice::seek
+160 Q3Socket::atEnd
+168 QIODevice::reset
+176 Q3Socket::bytesAvailable
+184 Q3Socket::bytesToWrite
+192 Q3Socket::canReadLine
+200 QIODevice::waitForReadyRead
+208 QIODevice::waitForBytesWritten
+216 Q3Socket::readData
+224 QIODevice::readLineData
+232 Q3Socket::writeData
+240 Q3Socket::setSocket
+248 Q3Socket::setSocketDevice
+256 Q3Socket::connectToHost
+264 Q3Socket::sn_read
+272 Q3Socket::sn_write
+
+Class Q3Socket
+ size=24 align=8
+ base size=24 base align=8
+Q3Socket (0x7fea0e16db60) 0
+ vptr=((& Q3Socket::_ZTV8Q3Socket) + 16u)
+ QIODevice (0x7fea0e16dbd0) 0
+ primary-for Q3Socket (0x7fea0e16db60)
+ QObject (0x7fea0e16dc40) 0
+ primary-for QIODevice (0x7fea0e16dbd0)
+
+Vtable for Q3LocalFs
+Q3LocalFs::_ZTV9Q3LocalFs: 29u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9Q3LocalFs)
+16 Q3LocalFs::metaObject
+24 Q3LocalFs::qt_metacast
+32 Q3LocalFs::qt_metacall
+40 Q3LocalFs::~Q3LocalFs
+48 Q3LocalFs::~Q3LocalFs
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 Q3NetworkProtocol::setUrl
+120 Q3NetworkProtocol::setAutoDelete
+128 Q3LocalFs::supportedOperations
+136 Q3NetworkProtocol::addOperation
+144 Q3NetworkProtocol::clearOperationQueue
+152 Q3NetworkProtocol::stop
+160 Q3NetworkProtocol::processOperation
+168 Q3LocalFs::operationListChildren
+176 Q3LocalFs::operationMkDir
+184 Q3LocalFs::operationRemove
+192 Q3LocalFs::operationRename
+200 Q3LocalFs::operationGet
+208 Q3LocalFs::operationPut
+216 Q3NetworkProtocol::operationPutChunk
+224 Q3NetworkProtocol::checkConnection
+
+Class Q3LocalFs
+ size=32 align=8
+ base size=32 base align=8
+Q3LocalFs (0x7fea0e198a80) 0
+ vptr=((& Q3LocalFs::_ZTV9Q3LocalFs) + 16u)
+ Q3NetworkProtocol (0x7fea0e198af0) 0
+ primary-for Q3LocalFs (0x7fea0e198a80)
+ QObject (0x7fea0e198b60) 0
+ primary-for Q3NetworkProtocol (0x7fea0e198af0)
+
+Vtable for Q3PopupMenu
+Q3PopupMenu::_ZTV11Q3PopupMenu: 63u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11Q3PopupMenu)
+16 Q3PopupMenu::metaObject
+24 Q3PopupMenu::qt_metacast
+32 Q3PopupMenu::qt_metacall
+40 Q3PopupMenu::~Q3PopupMenu
+48 Q3PopupMenu::~Q3PopupMenu
+56 QMenu::event
+64 QObject::eventFilter
+72 QMenu::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QMenu::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QMenu::mousePressEvent
+168 QMenu::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QMenu::mouseMoveEvent
+192 QMenu::wheelEvent
+200 QMenu::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QMenu::enterEvent
+240 QMenu::leaveEvent
+248 QMenu::paintEvent
+256 QWidget::moveEvent
+264 QWidget::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QMenu::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QMenu::hideEvent
+352 QWidget::x11Event
+360 QMenu::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QMenu::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 (int (*)(...))-0x00000000000000010
+456 (int (*)(...))(& _ZTI11Q3PopupMenu)
+464 Q3PopupMenu::_ZThn16_N11Q3PopupMenuD1Ev
+472 Q3PopupMenu::_ZThn16_N11Q3PopupMenuD0Ev
+480 QWidget::_ZThn16_NK7QWidget7devTypeEv
+488 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+496 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class Q3PopupMenu
+ size=40 align=8
+ base size=40 base align=8
+Q3PopupMenu (0x7fea0e1ac8c0) 0
+ vptr=((& Q3PopupMenu::_ZTV11Q3PopupMenu) + 16u)
+ QMenu (0x7fea0e1ac930) 0
+ primary-for Q3PopupMenu (0x7fea0e1ac8c0)
+ QWidget (0x7fea0e19e700) 0
+ primary-for QMenu (0x7fea0e1ac930)
+ QObject (0x7fea0e1ac9a0) 0
+ primary-for QWidget (0x7fea0e19e700)
+ QPaintDevice (0x7fea0e1aca10) 16
+ vptr=((& Q3PopupMenu::_ZTV11Q3PopupMenu) + 464u)
+
+Vtable for Q3HBox
+Q3HBox::_ZTV6Q3HBox: 66u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI6Q3HBox)
+16 Q3HBox::metaObject
+24 Q3HBox::qt_metacast
+32 Q3HBox::qt_metacall
+40 Q3HBox::~Q3HBox
+48 Q3HBox::~Q3HBox
+56 QFrame::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 Q3HBox::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 Q3Frame::paintEvent
+256 QWidget::moveEvent
+264 Q3Frame::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QFrame::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 Q3HBox::frameChanged
+456 Q3Frame::drawFrame
+464 Q3Frame::drawContents
+472 (int (*)(...))-0x00000000000000010
+480 (int (*)(...))(& _ZTI6Q3HBox)
+488 Q3HBox::_ZThn16_N6Q3HBoxD1Ev
+496 Q3HBox::_ZThn16_N6Q3HBoxD0Ev
+504 QWidget::_ZThn16_NK7QWidget7devTypeEv
+512 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+520 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class Q3HBox
+ size=48 align=8
+ base size=44 base align=8
+Q3HBox (0x7fea0dfdbc40) 0
+ vptr=((& Q3HBox::_ZTV6Q3HBox) + 16u)
+ Q3Frame (0x7fea0dfdbcb0) 0
+ primary-for Q3HBox (0x7fea0dfdbc40)
+ QFrame (0x7fea0dfdbd20) 0
+ primary-for Q3Frame (0x7fea0dfdbcb0)
+ QWidget (0x7fea0dfe0180) 0
+ primary-for QFrame (0x7fea0dfdbd20)
+ QObject (0x7fea0dfdbd90) 0
+ primary-for QWidget (0x7fea0dfe0180)
+ QPaintDevice (0x7fea0dfdbe00) 16
+ vptr=((& Q3HBox::_ZTV6Q3HBox) + 488u)
+
+Vtable for Q3Grid
+Q3Grid::_ZTV6Q3Grid: 66u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI6Q3Grid)
+16 Q3Grid::metaObject
+24 Q3Grid::qt_metacast
+32 Q3Grid::qt_metacall
+40 Q3Grid::~Q3Grid
+48 Q3Grid::~Q3Grid
+56 QFrame::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 Q3Grid::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 Q3Frame::paintEvent
+256 QWidget::moveEvent
+264 Q3Frame::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QFrame::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 Q3Grid::frameChanged
+456 Q3Frame::drawFrame
+464 Q3Frame::drawContents
+472 (int (*)(...))-0x00000000000000010
+480 (int (*)(...))(& _ZTI6Q3Grid)
+488 Q3Grid::_ZThn16_N6Q3GridD1Ev
+496 Q3Grid::_ZThn16_N6Q3GridD0Ev
+504 QWidget::_ZThn16_NK7QWidget7devTypeEv
+512 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+520 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class Q3Grid
+ size=48 align=8
+ base size=44 base align=8
+Q3Grid (0x7fea0dff8230) 0
+ vptr=((& Q3Grid::_ZTV6Q3Grid) + 16u)
+ Q3Frame (0x7fea0dff82a0) 0
+ primary-for Q3Grid (0x7fea0dff8230)
+ QFrame (0x7fea0dff8310) 0
+ primary-for Q3Frame (0x7fea0dff82a0)
+ QWidget (0x7fea0dfe0880) 0
+ primary-for QFrame (0x7fea0dff8310)
+ QObject (0x7fea0dff8380) 0
+ primary-for QWidget (0x7fea0dfe0880)
+ QPaintDevice (0x7fea0dff83f0) 16
+ vptr=((& Q3Grid::_ZTV6Q3Grid) + 488u)
+
+Vtable for Q3GroupBox
+Q3GroupBox::_ZTV10Q3GroupBox: 64u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10Q3GroupBox)
+16 Q3GroupBox::metaObject
+24 Q3GroupBox::qt_metacast
+32 Q3GroupBox::qt_metacall
+40 Q3GroupBox::~Q3GroupBox
+48 Q3GroupBox::~Q3GroupBox
+56 Q3GroupBox::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 Q3GroupBox::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QWidget::sizeHint
+136 QGroupBox::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QGroupBox::mousePressEvent
+168 QGroupBox::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QGroupBox::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QGroupBox::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QGroupBox::paintEvent
+256 QWidget::moveEvent
+264 Q3GroupBox::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 Q3GroupBox::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 Q3GroupBox::setColumnLayout
+456 (int (*)(...))-0x00000000000000010
+464 (int (*)(...))(& _ZTI10Q3GroupBox)
+472 Q3GroupBox::_ZThn16_N10Q3GroupBoxD1Ev
+480 Q3GroupBox::_ZThn16_N10Q3GroupBoxD0Ev
+488 QWidget::_ZThn16_NK7QWidget7devTypeEv
+496 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+504 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class Q3GroupBox
+ size=48 align=8
+ base size=48 base align=8
+Q3GroupBox (0x7fea0e00d700) 0
+ vptr=((& Q3GroupBox::_ZTV10Q3GroupBox) + 16u)
+ QGroupBox (0x7fea0e00d770) 0
+ primary-for Q3GroupBox (0x7fea0e00d700)
+ QWidget (0x7fea0dfe0f80) 0
+ primary-for QGroupBox (0x7fea0e00d770)
+ QObject (0x7fea0e00d7e0) 0
+ primary-for QWidget (0x7fea0dfe0f80)
+ QPaintDevice (0x7fea0e00d850) 16
+ vptr=((& Q3GroupBox::_ZTV10Q3GroupBox) + 472u)
+
+Vtable for Q3DateTimeEditBase
+Q3DateTimeEditBase::_ZTV18Q3DateTimeEditBase: 69u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18Q3DateTimeEditBase)
+16 Q3DateTimeEditBase::metaObject
+24 Q3DateTimeEditBase::qt_metacast
+32 Q3DateTimeEditBase::qt_metacall
+40 Q3DateTimeEditBase::~Q3DateTimeEditBase
+48 Q3DateTimeEditBase::~Q3DateTimeEditBase
+56 QWidget::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QWidget::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QWidget::paintEvent
+256 QWidget::moveEvent
+264 QWidget::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QWidget::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 __cxa_pure_virtual
+456 __cxa_pure_virtual
+464 __cxa_pure_virtual
+472 __cxa_pure_virtual
+480 __cxa_pure_virtual
+488 __cxa_pure_virtual
+496 (int (*)(...))-0x00000000000000010
+504 (int (*)(...))(& _ZTI18Q3DateTimeEditBase)
+512 Q3DateTimeEditBase::_ZThn16_N18Q3DateTimeEditBaseD1Ev
+520 Q3DateTimeEditBase::_ZThn16_N18Q3DateTimeEditBaseD0Ev
+528 QWidget::_ZThn16_NK7QWidget7devTypeEv
+536 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+544 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class Q3DateTimeEditBase
+ size=40 align=8
+ base size=40 base align=8
+Q3DateTimeEditBase (0x7fea0e0379a0) 0
+ vptr=((& Q3DateTimeEditBase::_ZTV18Q3DateTimeEditBase) + 16u)
+ QWidget (0x7fea0e039180) 0
+ primary-for Q3DateTimeEditBase (0x7fea0e0379a0)
+ QObject (0x7fea0e037a10) 0
+ primary-for QWidget (0x7fea0e039180)
+ QPaintDevice (0x7fea0e037a80) 16
+ vptr=((& Q3DateTimeEditBase::_ZTV18Q3DateTimeEditBase) + 512u)
+
+Vtable for Q3DateEdit
+Q3DateEdit::_ZTV10Q3DateEdit: 81u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10Q3DateEdit)
+16 Q3DateEdit::metaObject
+24 Q3DateEdit::qt_metacast
+32 Q3DateEdit::qt_metacall
+40 Q3DateEdit::~Q3DateEdit
+48 Q3DateEdit::~Q3DateEdit
+56 Q3DateEdit::event
+64 QObject::eventFilter
+72 Q3DateEdit::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 Q3DateEdit::sizeHint
+136 Q3DateEdit::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QWidget::paintEvent
+256 QWidget::moveEvent
+264 Q3DateEdit::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QWidget::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 Q3DateEdit::setFocusSection
+456 Q3DateEdit::sectionFormattedText
+464 Q3DateEdit::addNumber
+472 Q3DateEdit::removeLastNumber
+480 Q3DateEdit::stepUp
+488 Q3DateEdit::stepDown
+496 Q3DateEdit::setDate
+504 Q3DateEdit::setOrder
+512 Q3DateEdit::setAutoAdvance
+520 Q3DateEdit::setMinValue
+528 Q3DateEdit::setMaxValue
+536 Q3DateEdit::setRange
+544 Q3DateEdit::setSeparator
+552 Q3DateEdit::setYear
+560 Q3DateEdit::setMonth
+568 Q3DateEdit::setDay
+576 Q3DateEdit::fix
+584 Q3DateEdit::outOfRange
+592 (int (*)(...))-0x00000000000000010
+600 (int (*)(...))(& _ZTI10Q3DateEdit)
+608 Q3DateEdit::_ZThn16_N10Q3DateEditD1Ev
+616 Q3DateEdit::_ZThn16_N10Q3DateEditD0Ev
+624 QWidget::_ZThn16_NK7QWidget7devTypeEv
+632 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+640 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class Q3DateEdit
+ size=48 align=8
+ base size=48 base align=8
+Q3DateEdit (0x7fea0e0568c0) 0
+ vptr=((& Q3DateEdit::_ZTV10Q3DateEdit) + 16u)
+ Q3DateTimeEditBase (0x7fea0e056930) 0
+ primary-for Q3DateEdit (0x7fea0e0568c0)
+ QWidget (0x7fea0e058300) 0
+ primary-for Q3DateTimeEditBase (0x7fea0e056930)
+ QObject (0x7fea0e0569a0) 0
+ primary-for QWidget (0x7fea0e058300)
+ QPaintDevice (0x7fea0e056a10) 16
+ vptr=((& Q3DateEdit::_ZTV10Q3DateEdit) + 608u)
+
+Vtable for Q3TimeEdit
+Q3TimeEdit::_ZTV10Q3TimeEdit: 79u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10Q3TimeEdit)
+16 Q3TimeEdit::metaObject
+24 Q3TimeEdit::qt_metacast
+32 Q3TimeEdit::qt_metacall
+40 Q3TimeEdit::~Q3TimeEdit
+48 Q3TimeEdit::~Q3TimeEdit
+56 Q3TimeEdit::event
+64 QObject::eventFilter
+72 Q3TimeEdit::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 Q3TimeEdit::sizeHint
+136 Q3TimeEdit::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QWidget::paintEvent
+256 QWidget::moveEvent
+264 Q3TimeEdit::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QWidget::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 Q3TimeEdit::setFocusSection
+456 Q3TimeEdit::sectionFormattedText
+464 Q3TimeEdit::addNumber
+472 Q3TimeEdit::removeLastNumber
+480 Q3TimeEdit::stepUp
+488 Q3TimeEdit::stepDown
+496 Q3TimeEdit::setTime
+504 Q3TimeEdit::setAutoAdvance
+512 Q3TimeEdit::setMinValue
+520 Q3TimeEdit::setMaxValue
+528 Q3TimeEdit::setRange
+536 Q3TimeEdit::setSeparator
+544 Q3TimeEdit::outOfRange
+552 Q3TimeEdit::setHour
+560 Q3TimeEdit::setMinute
+568 Q3TimeEdit::setSecond
+576 (int (*)(...))-0x00000000000000010
+584 (int (*)(...))(& _ZTI10Q3TimeEdit)
+592 Q3TimeEdit::_ZThn16_N10Q3TimeEditD1Ev
+600 Q3TimeEdit::_ZThn16_N10Q3TimeEditD0Ev
+608 QWidget::_ZThn16_NK7QWidget7devTypeEv
+616 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+624 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class Q3TimeEdit
+ size=48 align=8
+ base size=48 base align=8
+Q3TimeEdit (0x7fea0e0809a0) 0
+ vptr=((& Q3TimeEdit::_ZTV10Q3TimeEdit) + 16u)
+ Q3DateTimeEditBase (0x7fea0e080a10) 0
+ primary-for Q3TimeEdit (0x7fea0e0809a0)
+ QWidget (0x7fea0e058f00) 0
+ primary-for Q3DateTimeEditBase (0x7fea0e080a10)
+ QObject (0x7fea0e080a80) 0
+ primary-for QWidget (0x7fea0e058f00)
+ QPaintDevice (0x7fea0e080af0) 16
+ vptr=((& Q3TimeEdit::_ZTV10Q3TimeEdit) + 592u)
+
+Vtable for Q3DateTimeEdit
+Q3DateTimeEdit::_ZTV14Q3DateTimeEdit: 65u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14Q3DateTimeEdit)
+16 Q3DateTimeEdit::metaObject
+24 Q3DateTimeEdit::qt_metacast
+32 Q3DateTimeEdit::qt_metacall
+40 Q3DateTimeEdit::~Q3DateTimeEdit
+48 Q3DateTimeEdit::~Q3DateTimeEdit
+56 QWidget::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 Q3DateTimeEdit::sizeHint
+136 Q3DateTimeEdit::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QWidget::paintEvent
+256 QWidget::moveEvent
+264 Q3DateTimeEdit::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QWidget::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 Q3DateTimeEdit::setDateTime
+456 Q3DateTimeEdit::setAutoAdvance
+464 (int (*)(...))-0x00000000000000010
+472 (int (*)(...))(& _ZTI14Q3DateTimeEdit)
+480 Q3DateTimeEdit::_ZThn16_N14Q3DateTimeEditD1Ev
+488 Q3DateTimeEdit::_ZThn16_N14Q3DateTimeEditD0Ev
+496 QWidget::_ZThn16_NK7QWidget7devTypeEv
+504 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+512 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class Q3DateTimeEdit
+ size=64 align=8
+ base size=64 base align=8
+Q3DateTimeEdit (0x7fea0e0a48c0) 0
+ vptr=((& Q3DateTimeEdit::_ZTV14Q3DateTimeEdit) + 16u)
+ QWidget (0x7fea0e084b00) 0
+ primary-for Q3DateTimeEdit (0x7fea0e0a48c0)
+ QObject (0x7fea0e0a4930) 0
+ primary-for QWidget (0x7fea0e084b00)
+ QPaintDevice (0x7fea0e0a49a0) 16
+ vptr=((& Q3DateTimeEdit::_ZTV14Q3DateTimeEdit) + 480u)
+
+Vtable for Q3GridView
+Q3GridView::_ZTV10Q3GridView: 109u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10Q3GridView)
+16 Q3GridView::metaObject
+24 Q3GridView::qt_metacast
+32 Q3GridView::qt_metacall
+40 Q3GridView::~Q3GridView
+48 Q3GridView::~Q3GridView
+56 QFrame::event
+64 Q3ScrollView::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 Q3ScrollView::setVisible
+128 Q3ScrollView::sizeHint
+136 Q3ScrollView::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 Q3ScrollView::mousePressEvent
+168 Q3ScrollView::mouseReleaseEvent
+176 Q3ScrollView::mouseDoubleClickEvent
+184 Q3ScrollView::mouseMoveEvent
+192 Q3ScrollView::wheelEvent
+200 QWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 Q3Frame::paintEvent
+256 QWidget::moveEvent
+264 Q3ScrollView::resizeEvent
+272 QWidget::closeEvent
+280 Q3ScrollView::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QFrame::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 Q3ScrollView::focusNextPrevChild
+400 Q3ScrollView::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 Q3ScrollView::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 Q3ScrollView::frameChanged
+456 Q3Frame::drawFrame
+464 Q3GridView::drawContents
+472 Q3ScrollView::setResizePolicy
+480 Q3ScrollView::addChild
+488 Q3ScrollView::moveChild
+496 Q3ScrollView::setVScrollBarMode
+504 Q3ScrollView::setHScrollBarMode
+512 Q3ScrollView::setCornerWidget
+520 Q3ScrollView::setDragAutoScroll
+528 Q3ScrollView::resizeContents
+536 Q3ScrollView::setContentsPos
+544 Q3GridView::drawContents
+552 Q3ScrollView::drawContentsOffset
+560 Q3ScrollView::contentsMousePressEvent
+568 Q3ScrollView::contentsMouseReleaseEvent
+576 Q3ScrollView::contentsMouseDoubleClickEvent
+584 Q3ScrollView::contentsMouseMoveEvent
+592 Q3ScrollView::contentsDragEnterEvent
+600 Q3ScrollView::contentsDragMoveEvent
+608 Q3ScrollView::contentsDragLeaveEvent
+616 Q3ScrollView::contentsDropEvent
+624 Q3ScrollView::contentsWheelEvent
+632 Q3ScrollView::contentsContextMenuEvent
+640 Q3ScrollView::viewportPaintEvent
+648 Q3ScrollView::viewportResizeEvent
+656 Q3ScrollView::viewportMousePressEvent
+664 Q3ScrollView::viewportMouseReleaseEvent
+672 Q3ScrollView::viewportMouseDoubleClickEvent
+680 Q3ScrollView::viewportMouseMoveEvent
+688 Q3ScrollView::viewportDragEnterEvent
+696 Q3ScrollView::viewportDragMoveEvent
+704 Q3ScrollView::viewportDragLeaveEvent
+712 Q3ScrollView::viewportDropEvent
+720 Q3ScrollView::viewportWheelEvent
+728 Q3ScrollView::viewportContextMenuEvent
+736 Q3ScrollView::setMargins
+744 Q3ScrollView::setHBarGeometry
+752 Q3ScrollView::setVBarGeometry
+760 Q3GridView::setNumRows
+768 Q3GridView::setNumCols
+776 Q3GridView::setCellWidth
+784 Q3GridView::setCellHeight
+792 __cxa_pure_virtual
+800 Q3GridView::paintEmptyArea
+808 Q3GridView::dimensionChange
+816 (int (*)(...))-0x00000000000000010
+824 (int (*)(...))(& _ZTI10Q3GridView)
+832 Q3GridView::_ZThn16_N10Q3GridViewD1Ev
+840 Q3GridView::_ZThn16_N10Q3GridViewD0Ev
+848 QWidget::_ZThn16_NK7QWidget7devTypeEv
+856 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+864 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class Q3GridView
+ size=80 align=8
+ base size=80 base align=8
+Q3GridView (0x7fea0dec3230) 0
+ vptr=((& Q3GridView::_ZTV10Q3GridView) + 16u)
+ Q3ScrollView (0x7fea0dec32a0) 0
+ primary-for Q3GridView (0x7fea0dec3230)
+ Q3Frame (0x7fea0dec3310) 0
+ primary-for Q3ScrollView (0x7fea0dec32a0)
+ QFrame (0x7fea0dec3380) 0
+ primary-for Q3Frame (0x7fea0dec3310)
+ QWidget (0x7fea0dec0400) 0
+ primary-for QFrame (0x7fea0dec3380)
+ QObject (0x7fea0dec33f0) 0
+ primary-for QWidget (0x7fea0dec0400)
+ QPaintDevice (0x7fea0dec3460) 16
+ vptr=((& Q3GridView::_ZTV10Q3GridView) + 832u)
+
+Vtable for Q3RangeControl
+Q3RangeControl::_ZTV14Q3RangeControl: 7u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14Q3RangeControl)
+16 Q3RangeControl::~Q3RangeControl
+24 Q3RangeControl::~Q3RangeControl
+32 Q3RangeControl::valueChange
+40 Q3RangeControl::rangeChange
+48 Q3RangeControl::stepChange
+
+Class Q3RangeControl
+ size=40 align=8
+ base size=40 base align=8
+Q3RangeControl (0x7fea0deed310) 0
+ vptr=((& Q3RangeControl::_ZTV14Q3RangeControl) + 16u)
+
+Vtable for Q3SpinWidget
+Q3SpinWidget::_ZTV12Q3SpinWidget: 64u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12Q3SpinWidget)
+16 Q3SpinWidget::metaObject
+24 Q3SpinWidget::qt_metacast
+32 Q3SpinWidget::qt_metacall
+40 Q3SpinWidget::~Q3SpinWidget
+48 Q3SpinWidget::~Q3SpinWidget
+56 QWidget::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QWidget::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 Q3SpinWidget::mousePressEvent
+168 Q3SpinWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 Q3SpinWidget::mouseMoveEvent
+192 Q3SpinWidget::wheelEvent
+200 QWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 Q3SpinWidget::paintEvent
+256 QWidget::moveEvent
+264 Q3SpinWidget::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 Q3SpinWidget::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 Q3SpinWidget::setButtonSymbols
+456 (int (*)(...))-0x00000000000000010
+464 (int (*)(...))(& _ZTI12Q3SpinWidget)
+472 Q3SpinWidget::_ZThn16_N12Q3SpinWidgetD1Ev
+480 Q3SpinWidget::_ZThn16_N12Q3SpinWidgetD0Ev
+488 QWidget::_ZThn16_NK7QWidget7devTypeEv
+496 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+504 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class Q3SpinWidget
+ size=48 align=8
+ base size=48 base align=8
+Q3SpinWidget (0x7fea0defc620) 0
+ vptr=((& Q3SpinWidget::_ZTV12Q3SpinWidget) + 16u)
+ QWidget (0x7fea0dee9a00) 0
+ primary-for Q3SpinWidget (0x7fea0defc620)
+ QObject (0x7fea0defc690) 0
+ primary-for QWidget (0x7fea0dee9a00)
+ QPaintDevice (0x7fea0defc700) 16
+ vptr=((& Q3SpinWidget::_ZTV12Q3SpinWidget) + 472u)
+
+Vtable for Q3VBox
+Q3VBox::_ZTV6Q3VBox: 66u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI6Q3VBox)
+16 Q3VBox::metaObject
+24 Q3VBox::qt_metacast
+32 Q3VBox::qt_metacall
+40 Q3VBox::~Q3VBox
+48 Q3VBox::~Q3VBox
+56 QFrame::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 Q3HBox::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 Q3Frame::paintEvent
+256 QWidget::moveEvent
+264 Q3Frame::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QFrame::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 Q3HBox::frameChanged
+456 Q3Frame::drawFrame
+464 Q3Frame::drawContents
+472 (int (*)(...))-0x00000000000000010
+480 (int (*)(...))(& _ZTI6Q3VBox)
+488 Q3VBox::_ZThn16_N6Q3VBoxD1Ev
+496 Q3VBox::_ZThn16_N6Q3VBoxD0Ev
+504 QWidget::_ZThn16_NK7QWidget7devTypeEv
+512 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+520 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class Q3VBox
+ size=48 align=8
+ base size=44 base align=8
+Q3VBox (0x7fea0df0be00) 0
+ vptr=((& Q3VBox::_ZTV6Q3VBox) + 16u)
+ Q3HBox (0x7fea0df0be70) 0
+ primary-for Q3VBox (0x7fea0df0be00)
+ Q3Frame (0x7fea0df0bee0) 0
+ primary-for Q3HBox (0x7fea0df0be70)
+ QFrame (0x7fea0df0bf50) 0
+ primary-for Q3Frame (0x7fea0df0bee0)
+ QWidget (0x7fea0df17200) 0
+ primary-for QFrame (0x7fea0df0bf50)
+ QObject (0x7fea0df0b1c0) 0
+ primary-for QWidget (0x7fea0df17200)
+ QPaintDevice (0x7fea0df1c000) 16
+ vptr=((& Q3VBox::_ZTV6Q3VBox) + 488u)
+
+Vtable for Q3ButtonGroup
+Q3ButtonGroup::_ZTV13Q3ButtonGroup: 64u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13Q3ButtonGroup)
+16 Q3ButtonGroup::metaObject
+24 Q3ButtonGroup::qt_metacast
+32 Q3ButtonGroup::qt_metacall
+40 Q3ButtonGroup::~Q3ButtonGroup
+48 Q3ButtonGroup::~Q3ButtonGroup
+56 Q3ButtonGroup::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 Q3GroupBox::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QWidget::sizeHint
+136 QGroupBox::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QGroupBox::mousePressEvent
+168 QGroupBox::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QGroupBox::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QGroupBox::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QGroupBox::paintEvent
+256 QWidget::moveEvent
+264 Q3GroupBox::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 Q3GroupBox::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 Q3GroupBox::setColumnLayout
+456 (int (*)(...))-0x00000000000000010
+464 (int (*)(...))(& _ZTI13Q3ButtonGroup)
+472 Q3ButtonGroup::_ZThn16_N13Q3ButtonGroupD1Ev
+480 Q3ButtonGroup::_ZThn16_N13Q3ButtonGroupD0Ev
+488 QWidget::_ZThn16_NK7QWidget7devTypeEv
+496 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+504 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class Q3ButtonGroup
+ size=80 align=8
+ base size=80 base align=8
+Q3ButtonGroup (0x7fea0df2e2a0) 0
+ vptr=((& Q3ButtonGroup::_ZTV13Q3ButtonGroup) + 16u)
+ Q3GroupBox (0x7fea0df2e310) 0
+ primary-for Q3ButtonGroup (0x7fea0df2e2a0)
+ QGroupBox (0x7fea0df2e380) 0
+ primary-for Q3GroupBox (0x7fea0df2e310)
+ QWidget (0x7fea0df17900) 0
+ primary-for QGroupBox (0x7fea0df2e380)
+ QObject (0x7fea0df2e3f0) 0
+ primary-for QWidget (0x7fea0df17900)
+ QPaintDevice (0x7fea0df2e460) 16
+ vptr=((& Q3ButtonGroup::_ZTV13Q3ButtonGroup) + 472u)
+
+Vtable for Q3VButtonGroup
+Q3VButtonGroup::_ZTV14Q3VButtonGroup: 64u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14Q3VButtonGroup)
+16 Q3VButtonGroup::metaObject
+24 Q3VButtonGroup::qt_metacast
+32 Q3VButtonGroup::qt_metacall
+40 Q3VButtonGroup::~Q3VButtonGroup
+48 Q3VButtonGroup::~Q3VButtonGroup
+56 Q3ButtonGroup::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 Q3GroupBox::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QWidget::sizeHint
+136 QGroupBox::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QGroupBox::mousePressEvent
+168 QGroupBox::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QGroupBox::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QGroupBox::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QGroupBox::paintEvent
+256 QWidget::moveEvent
+264 Q3GroupBox::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 Q3GroupBox::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 Q3GroupBox::setColumnLayout
+456 (int (*)(...))-0x00000000000000010
+464 (int (*)(...))(& _ZTI14Q3VButtonGroup)
+472 Q3VButtonGroup::_ZThn16_N14Q3VButtonGroupD1Ev
+480 Q3VButtonGroup::_ZThn16_N14Q3VButtonGroupD0Ev
+488 QWidget::_ZThn16_NK7QWidget7devTypeEv
+496 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+504 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class Q3VButtonGroup
+ size=80 align=8
+ base size=80 base align=8
+Q3VButtonGroup (0x7fea0df66d90) 0
+ vptr=((& Q3VButtonGroup::_ZTV14Q3VButtonGroup) + 16u)
+ Q3ButtonGroup (0x7fea0df66e00) 0
+ primary-for Q3VButtonGroup (0x7fea0df66d90)
+ Q3GroupBox (0x7fea0df66e70) 0
+ primary-for Q3ButtonGroup (0x7fea0df66e00)
+ QGroupBox (0x7fea0df66ee0) 0
+ primary-for Q3GroupBox (0x7fea0df66e70)
+ QWidget (0x7fea0df6b280) 0
+ primary-for QGroupBox (0x7fea0df66ee0)
+ QObject (0x7fea0df66f50) 0
+ primary-for QWidget (0x7fea0df6b280)
+ QPaintDevice (0x7fea0df6f000) 16
+ vptr=((& Q3VButtonGroup::_ZTV14Q3VButtonGroup) + 472u)
+
+Vtable for Q3HButtonGroup
+Q3HButtonGroup::_ZTV14Q3HButtonGroup: 64u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14Q3HButtonGroup)
+16 Q3HButtonGroup::metaObject
+24 Q3HButtonGroup::qt_metacast
+32 Q3HButtonGroup::qt_metacall
+40 Q3HButtonGroup::~Q3HButtonGroup
+48 Q3HButtonGroup::~Q3HButtonGroup
+56 Q3ButtonGroup::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 Q3GroupBox::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QWidget::sizeHint
+136 QGroupBox::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QGroupBox::mousePressEvent
+168 QGroupBox::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QGroupBox::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QGroupBox::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QGroupBox::paintEvent
+256 QWidget::moveEvent
+264 Q3GroupBox::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 Q3GroupBox::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 Q3GroupBox::setColumnLayout
+456 (int (*)(...))-0x00000000000000010
+464 (int (*)(...))(& _ZTI14Q3HButtonGroup)
+472 Q3HButtonGroup::_ZThn16_N14Q3HButtonGroupD1Ev
+480 Q3HButtonGroup::_ZThn16_N14Q3HButtonGroupD0Ev
+488 QWidget::_ZThn16_NK7QWidget7devTypeEv
+496 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+504 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class Q3HButtonGroup
+ size=80 align=8
+ base size=80 base align=8
+Q3HButtonGroup (0x7fea0df904d0) 0
+ vptr=((& Q3HButtonGroup::_ZTV14Q3HButtonGroup) + 16u)
+ Q3ButtonGroup (0x7fea0df90540) 0
+ primary-for Q3HButtonGroup (0x7fea0df904d0)
+ Q3GroupBox (0x7fea0df905b0) 0
+ primary-for Q3ButtonGroup (0x7fea0df90540)
+ QGroupBox (0x7fea0df90620) 0
+ primary-for Q3GroupBox (0x7fea0df905b0)
+ QWidget (0x7fea0df8f300) 0
+ primary-for QGroupBox (0x7fea0df90620)
+ QObject (0x7fea0df90690) 0
+ primary-for QWidget (0x7fea0df8f300)
+ QPaintDevice (0x7fea0df90700) 16
+ vptr=((& Q3HButtonGroup::_ZTV14Q3HButtonGroup) + 472u)
+
+Vtable for Q3WidgetStack
+Q3WidgetStack::_ZTV13Q3WidgetStack: 67u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13Q3WidgetStack)
+16 Q3WidgetStack::metaObject
+24 Q3WidgetStack::qt_metacast
+32 Q3WidgetStack::qt_metacall
+40 Q3WidgetStack::~Q3WidgetStack
+48 Q3WidgetStack::~Q3WidgetStack
+56 Q3WidgetStack::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 Q3WidgetStack::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 Q3WidgetStack::setVisible
+128 Q3WidgetStack::sizeHint
+136 Q3WidgetStack::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 Q3Frame::paintEvent
+256 QWidget::moveEvent
+264 Q3WidgetStack::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QFrame::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 Q3WidgetStack::frameChanged
+456 Q3Frame::drawFrame
+464 Q3Frame::drawContents
+472 Q3WidgetStack::setChildGeometries
+480 (int (*)(...))-0x00000000000000010
+488 (int (*)(...))(& _ZTI13Q3WidgetStack)
+496 Q3WidgetStack::_ZThn16_N13Q3WidgetStackD1Ev
+504 Q3WidgetStack::_ZThn16_N13Q3WidgetStackD0Ev
+512 QWidget::_ZThn16_NK7QWidget7devTypeEv
+520 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+528 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class Q3WidgetStack
+ size=88 align=8
+ base size=88 base align=8
+Q3WidgetStack (0x7fea0dfacbd0) 0
+ vptr=((& Q3WidgetStack::_ZTV13Q3WidgetStack) + 16u)
+ Q3Frame (0x7fea0dfacc40) 0
+ primary-for Q3WidgetStack (0x7fea0dfacbd0)
+ QFrame (0x7fea0dfaccb0) 0
+ primary-for Q3Frame (0x7fea0dfacc40)
+ QWidget (0x7fea0dfaf380) 0
+ primary-for QFrame (0x7fea0dfaccb0)
+ QObject (0x7fea0dfacd20) 0
+ primary-for QWidget (0x7fea0dfaf380)
+ QPaintDevice (0x7fea0dfacd90) 16
+ vptr=((& Q3WidgetStack::_ZTV13Q3WidgetStack) + 496u)
+
+Vtable for Q3ComboBox
+Q3ComboBox::_ZTV10Q3ComboBox: 75u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10Q3ComboBox)
+16 Q3ComboBox::metaObject
+24 Q3ComboBox::qt_metacast
+32 Q3ComboBox::qt_metacall
+40 Q3ComboBox::~Q3ComboBox
+48 Q3ComboBox::~Q3ComboBox
+56 QWidget::event
+64 Q3ComboBox::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 Q3ComboBox::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 Q3ComboBox::mousePressEvent
+168 Q3ComboBox::mouseReleaseEvent
+176 Q3ComboBox::mouseDoubleClickEvent
+184 Q3ComboBox::mouseMoveEvent
+192 Q3ComboBox::wheelEvent
+200 Q3ComboBox::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 Q3ComboBox::focusInEvent
+224 Q3ComboBox::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 Q3ComboBox::paintEvent
+256 QWidget::moveEvent
+264 Q3ComboBox::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QWidget::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 Q3ComboBox::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 Q3ComboBox::setCurrentItem
+456 Q3ComboBox::setCurrentText
+464 Q3ComboBox::setAutoResize
+472 Q3ComboBox::setSizeLimit
+480 Q3ComboBox::setMaxCount
+488 Q3ComboBox::setInsertionPolicy
+496 Q3ComboBox::setValidator
+504 Q3ComboBox::setListBox
+512 Q3ComboBox::setLineEdit
+520 Q3ComboBox::setAutoCompletion
+528 Q3ComboBox::popup
+536 Q3ComboBox::setEditText
+544 (int (*)(...))-0x00000000000000010
+552 (int (*)(...))(& _ZTI10Q3ComboBox)
+560 Q3ComboBox::_ZThn16_N10Q3ComboBoxD1Ev
+568 Q3ComboBox::_ZThn16_N10Q3ComboBoxD0Ev
+576 QWidget::_ZThn16_NK7QWidget7devTypeEv
+584 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+592 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class Q3ComboBox
+ size=48 align=8
+ base size=48 base align=8
+Q3ComboBox (0x7fea0ddd0230) 0
+ vptr=((& Q3ComboBox::_ZTV10Q3ComboBox) + 16u)
+ QWidget (0x7fea0dfafa80) 0
+ primary-for Q3ComboBox (0x7fea0ddd0230)
+ QObject (0x7fea0ddd02a0) 0
+ primary-for QWidget (0x7fea0dfafa80)
+ QPaintDevice (0x7fea0ddd0310) 16
+ vptr=((& Q3ComboBox::_ZTV10Q3ComboBox) + 560u)
+
+Vtable for Q3DockWindow
+Q3DockWindow::_ZTV12Q3DockWindow: 81u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12Q3DockWindow)
+16 Q3DockWindow::metaObject
+24 Q3DockWindow::qt_metacast
+32 Q3DockWindow::qt_metacall
+40 Q3DockWindow::~Q3DockWindow
+48 Q3DockWindow::~Q3DockWindow
+56 Q3DockWindow::event
+64 Q3DockWindow::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 Q3DockWindow::sizeHint
+136 Q3DockWindow::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 Q3Frame::paintEvent
+256 QWidget::moveEvent
+264 Q3DockWindow::resizeEvent
+272 QWidget::closeEvent
+280 Q3DockWindow::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 Q3DockWindow::showEvent
+344 Q3DockWindow::hideEvent
+352 QWidget::x11Event
+360 QFrame::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 Q3Frame::frameChanged
+456 Q3DockWindow::drawFrame
+464 Q3DockWindow::drawContents
+472 Q3DockWindow::setWidget
+480 Q3DockWindow::setCloseMode
+488 Q3DockWindow::setResizeEnabled
+496 Q3DockWindow::setMovingEnabled
+504 Q3DockWindow::setHorizontallyStretchable
+512 Q3DockWindow::setVerticallyStretchable
+520 Q3DockWindow::setOffset
+528 Q3DockWindow::setFixedExtentWidth
+536 Q3DockWindow::setFixedExtentHeight
+544 Q3DockWindow::setNewLine
+552 Q3DockWindow::setOpaqueMoving
+560 Q3DockWindow::undock
+568 Q3DockWindow::undock
+576 Q3DockWindow::dock
+584 Q3DockWindow::setOrientation
+592 (int (*)(...))-0x00000000000000010
+600 (int (*)(...))(& _ZTI12Q3DockWindow)
+608 Q3DockWindow::_ZThn16_N12Q3DockWindowD1Ev
+616 Q3DockWindow::_ZThn16_N12Q3DockWindowD0Ev
+624 QWidget::_ZThn16_NK7QWidget7devTypeEv
+632 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+640 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class Q3DockWindow
+ size=256 align=8
+ base size=256 base align=8
+Q3DockWindow (0x7fea0ddf0ee0) 0
+ vptr=((& Q3DockWindow::_ZTV12Q3DockWindow) + 16u)
+ Q3Frame (0x7fea0ddf0f50) 0
+ primary-for Q3DockWindow (0x7fea0ddf0ee0)
+ QFrame (0x7fea0ddf02a0) 0
+ primary-for Q3Frame (0x7fea0ddf0f50)
+ QWidget (0x7fea0dde0780) 0
+ primary-for QFrame (0x7fea0ddf02a0)
+ QObject (0x7fea0de03000) 0
+ primary-for QWidget (0x7fea0dde0780)
+ QPaintDevice (0x7fea0de03070) 16
+ vptr=((& Q3DockWindow::_ZTV12Q3DockWindow) + 608u)
+
+Vtable for Q3ToolBar
+Q3ToolBar::_ZTV9Q3ToolBar: 84u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9Q3ToolBar)
+16 Q3ToolBar::metaObject
+24 Q3ToolBar::qt_metacast
+32 Q3ToolBar::qt_metacall
+40 Q3ToolBar::~Q3ToolBar
+48 Q3ToolBar::~Q3ToolBar
+56 Q3ToolBar::event
+64 Q3DockWindow::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 Q3ToolBar::setVisible
+128 Q3DockWindow::sizeHint
+136 Q3ToolBar::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 Q3Frame::paintEvent
+256 QWidget::moveEvent
+264 Q3ToolBar::resizeEvent
+272 QWidget::closeEvent
+280 Q3DockWindow::contextMenuEvent
+288 QWidget::tabletEvent
+296 Q3ToolBar::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 Q3DockWindow::showEvent
+344 Q3DockWindow::hideEvent
+352 QWidget::x11Event
+360 QFrame::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 Q3ToolBar::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 Q3Frame::frameChanged
+456 Q3DockWindow::drawFrame
+464 Q3DockWindow::drawContents
+472 Q3DockWindow::setWidget
+480 Q3DockWindow::setCloseMode
+488 Q3DockWindow::setResizeEnabled
+496 Q3DockWindow::setMovingEnabled
+504 Q3DockWindow::setHorizontallyStretchable
+512 Q3DockWindow::setVerticallyStretchable
+520 Q3DockWindow::setOffset
+528 Q3DockWindow::setFixedExtentWidth
+536 Q3DockWindow::setFixedExtentHeight
+544 Q3DockWindow::setNewLine
+552 Q3DockWindow::setOpaqueMoving
+560 Q3DockWindow::undock
+568 Q3DockWindow::undock
+576 Q3DockWindow::dock
+584 Q3ToolBar::setOrientation
+592 Q3ToolBar::setStretchableWidget
+600 Q3ToolBar::setLabel
+608 Q3ToolBar::clear
+616 (int (*)(...))-0x00000000000000010
+624 (int (*)(...))(& _ZTI9Q3ToolBar)
+632 Q3ToolBar::_ZThn16_N9Q3ToolBarD1Ev
+640 Q3ToolBar::_ZThn16_N9Q3ToolBarD0Ev
+648 QWidget::_ZThn16_NK7QWidget7devTypeEv
+656 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+664 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class Q3ToolBar
+ size=288 align=8
+ base size=288 base align=8
+Q3ToolBar (0x7fea0de39f50) 0
+ vptr=((& Q3ToolBar::_ZTV9Q3ToolBar) + 16u)
+ Q3DockWindow (0x7fea0de40000) 0
+ primary-for Q3ToolBar (0x7fea0de39f50)
+ Q3Frame (0x7fea0de40070) 0
+ primary-for Q3DockWindow (0x7fea0de40000)
+ QFrame (0x7fea0de400e0) 0
+ primary-for Q3Frame (0x7fea0de40070)
+ QWidget (0x7fea0de32d00) 0
+ primary-for QFrame (0x7fea0de400e0)
+ QObject (0x7fea0de40150) 0
+ primary-for QWidget (0x7fea0de32d00)
+ QPaintDevice (0x7fea0de401c0) 16
+ vptr=((& Q3ToolBar::_ZTV9Q3ToolBar) + 632u)
+
+Vtable for Q3HGroupBox
+Q3HGroupBox::_ZTV11Q3HGroupBox: 64u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11Q3HGroupBox)
+16 Q3HGroupBox::metaObject
+24 Q3HGroupBox::qt_metacast
+32 Q3HGroupBox::qt_metacall
+40 Q3HGroupBox::~Q3HGroupBox
+48 Q3HGroupBox::~Q3HGroupBox
+56 Q3GroupBox::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 Q3GroupBox::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QWidget::sizeHint
+136 QGroupBox::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QGroupBox::mousePressEvent
+168 QGroupBox::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QGroupBox::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QGroupBox::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QGroupBox::paintEvent
+256 QWidget::moveEvent
+264 Q3GroupBox::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 Q3GroupBox::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 Q3GroupBox::setColumnLayout
+456 (int (*)(...))-0x00000000000000010
+464 (int (*)(...))(& _ZTI11Q3HGroupBox)
+472 Q3HGroupBox::_ZThn16_N11Q3HGroupBoxD1Ev
+480 Q3HGroupBox::_ZThn16_N11Q3HGroupBoxD0Ev
+488 QWidget::_ZThn16_NK7QWidget7devTypeEv
+496 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+504 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class Q3HGroupBox
+ size=48 align=8
+ base size=48 base align=8
+Q3HGroupBox (0x7fea0de59700) 0
+ vptr=((& Q3HGroupBox::_ZTV11Q3HGroupBox) + 16u)
+ Q3GroupBox (0x7fea0de59770) 0
+ primary-for Q3HGroupBox (0x7fea0de59700)
+ QGroupBox (0x7fea0de597e0) 0
+ primary-for Q3GroupBox (0x7fea0de59770)
+ QWidget (0x7fea0de56400) 0
+ primary-for QGroupBox (0x7fea0de597e0)
+ QObject (0x7fea0de59850) 0
+ primary-for QWidget (0x7fea0de56400)
+ QPaintDevice (0x7fea0de598c0) 16
+ vptr=((& Q3HGroupBox::_ZTV11Q3HGroupBox) + 472u)
+
+Vtable for Q3Action
+Q3Action::_ZTV8Q3Action: 29u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI8Q3Action)
+16 Q3Action::metaObject
+24 Q3Action::qt_metacast
+32 Q3Action::qt_metacall
+40 Q3Action::~Q3Action
+48 Q3Action::~Q3Action
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 Q3Action::setIconSet
+120 Q3Action::setText
+128 Q3Action::setMenuText
+136 Q3Action::setToolTip
+144 Q3Action::setStatusTip
+152 Q3Action::setWhatsThis
+160 Q3Action::setAccel
+168 Q3Action::setToggleAction
+176 Q3Action::addTo
+184 Q3Action::removeFrom
+192 Q3Action::addedTo
+200 Q3Action::addedTo
+208 Q3Action::setOn
+216 Q3Action::setEnabled
+224 Q3Action::setVisible
+
+Class Q3Action
+ size=24 align=8
+ base size=24 base align=8
+Q3Action (0x7fea0de64d20) 0
+ vptr=((& Q3Action::_ZTV8Q3Action) + 16u)
+ QObject (0x7fea0de64d90) 0
+ primary-for Q3Action (0x7fea0de64d20)
+
+Vtable for Q3ActionGroup
+Q3ActionGroup::_ZTV13Q3ActionGroup: 31u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13Q3ActionGroup)
+16 Q3ActionGroup::metaObject
+24 Q3ActionGroup::qt_metacast
+32 Q3ActionGroup::qt_metacall
+40 Q3ActionGroup::~Q3ActionGroup
+48 Q3ActionGroup::~Q3ActionGroup
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 Q3ActionGroup::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 Q3ActionGroup::setIconSet
+120 Q3ActionGroup::setText
+128 Q3ActionGroup::setMenuText
+136 Q3ActionGroup::setToolTip
+144 Q3Action::setStatusTip
+152 Q3ActionGroup::setWhatsThis
+160 Q3Action::setAccel
+168 Q3ActionGroup::setToggleAction
+176 Q3ActionGroup::addTo
+184 Q3ActionGroup::removeFrom
+192 Q3ActionGroup::addedTo
+200 Q3ActionGroup::addedTo
+208 Q3ActionGroup::setOn
+216 Q3ActionGroup::setEnabled
+224 Q3ActionGroup::setVisible
+232 Q3ActionGroup::addedTo
+240 Q3ActionGroup::addedTo
+
+Class Q3ActionGroup
+ size=32 align=8
+ base size=32 base align=8
+Q3ActionGroup (0x7fea0de96540) 0
+ vptr=((& Q3ActionGroup::_ZTV13Q3ActionGroup) + 16u)
+ Q3Action (0x7fea0de965b0) 0
+ primary-for Q3ActionGroup (0x7fea0de96540)
+ QObject (0x7fea0de96620) 0
+ primary-for Q3Action (0x7fea0de965b0)
+
+Vtable for Q3VGroupBox
+Q3VGroupBox::_ZTV11Q3VGroupBox: 64u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11Q3VGroupBox)
+16 Q3VGroupBox::metaObject
+24 Q3VGroupBox::qt_metacast
+32 Q3VGroupBox::qt_metacall
+40 Q3VGroupBox::~Q3VGroupBox
+48 Q3VGroupBox::~Q3VGroupBox
+56 Q3GroupBox::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 Q3GroupBox::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QWidget::sizeHint
+136 QGroupBox::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QGroupBox::mousePressEvent
+168 QGroupBox::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QGroupBox::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QGroupBox::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QGroupBox::paintEvent
+256 QWidget::moveEvent
+264 Q3GroupBox::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 Q3GroupBox::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 Q3GroupBox::setColumnLayout
+456 (int (*)(...))-0x00000000000000010
+464 (int (*)(...))(& _ZTI11Q3VGroupBox)
+472 Q3VGroupBox::_ZThn16_N11Q3VGroupBoxD1Ev
+480 Q3VGroupBox::_ZThn16_N11Q3VGroupBoxD0Ev
+488 QWidget::_ZThn16_NK7QWidget7devTypeEv
+496 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+504 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class Q3VGroupBox
+ size=48 align=8
+ base size=48 base align=8
+Q3VGroupBox (0x7fea0dcb6070) 0
+ vptr=((& Q3VGroupBox::_ZTV11Q3VGroupBox) + 16u)
+ Q3GroupBox (0x7fea0dcb60e0) 0
+ primary-for Q3VGroupBox (0x7fea0dcb6070)
+ QGroupBox (0x7fea0dcb6150) 0
+ primary-for Q3GroupBox (0x7fea0dcb60e0)
+ QWidget (0x7fea0de95980) 0
+ primary-for QGroupBox (0x7fea0dcb6150)
+ QObject (0x7fea0dcb61c0) 0
+ primary-for QWidget (0x7fea0de95980)
+ QPaintDevice (0x7fea0dcb6230) 16
+ vptr=((& Q3VGroupBox::_ZTV11Q3VGroupBox) + 472u)
+
+Vtable for Q3ProgressBar
+Q3ProgressBar::_ZTV13Q3ProgressBar: 66u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13Q3ProgressBar)
+16 Q3ProgressBar::metaObject
+24 Q3ProgressBar::qt_metacast
+32 Q3ProgressBar::qt_metacall
+40 Q3ProgressBar::~Q3ProgressBar
+48 Q3ProgressBar::~Q3ProgressBar
+56 QFrame::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 Q3ProgressBar::setVisible
+128 Q3ProgressBar::sizeHint
+136 Q3ProgressBar::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 Q3ProgressBar::paintEvent
+256 QWidget::moveEvent
+264 QWidget::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 Q3ProgressBar::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 Q3ProgressBar::setTotalSteps
+456 Q3ProgressBar::setProgress
+464 Q3ProgressBar::setIndicator
+472 (int (*)(...))-0x00000000000000010
+480 (int (*)(...))(& _ZTI13Q3ProgressBar)
+488 Q3ProgressBar::_ZThn16_N13Q3ProgressBarD1Ev
+496 Q3ProgressBar::_ZThn16_N13Q3ProgressBarD0Ev
+504 QWidget::_ZThn16_NK7QWidget7devTypeEv
+512 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+520 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class Q3ProgressBar
+ size=80 align=8
+ base size=80 base align=8
+Q3ProgressBar (0x7fea0dcc8620) 0
+ vptr=((& Q3ProgressBar::_ZTV13Q3ProgressBar) + 16u)
+ QFrame (0x7fea0dcc8690) 0
+ primary-for Q3ProgressBar (0x7fea0dcc8620)
+ QWidget (0x7fea0dccb080) 0
+ primary-for QFrame (0x7fea0dcc8690)
+ QObject (0x7fea0dcc8700) 0
+ primary-for QWidget (0x7fea0dccb080)
+ QPaintDevice (0x7fea0dcc8770) 16
+ vptr=((& Q3ProgressBar::_ZTV13Q3ProgressBar) + 488u)
+
+Vtable for Q3WhatsThis
+Q3WhatsThis::_ZTV11Q3WhatsThis: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11Q3WhatsThis)
+16 Q3WhatsThis::metaObject
+24 Q3WhatsThis::qt_metacast
+32 Q3WhatsThis::qt_metacall
+40 Q3WhatsThis::~Q3WhatsThis
+48 Q3WhatsThis::~Q3WhatsThis
+56 QObject::event
+64 Q3WhatsThis::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 Q3WhatsThis::text
+120 Q3WhatsThis::clicked
+
+Class Q3WhatsThis
+ size=16 align=8
+ base size=16 base align=8
+Q3WhatsThis (0x7fea0dcf4000) 0
+ vptr=((& Q3WhatsThis::_ZTV11Q3WhatsThis) + 16u)
+ QObject (0x7fea0dcf4070) 0
+ primary-for Q3WhatsThis (0x7fea0dcf4000)
+
+Vtable for Q3Button
+Q3Button::_ZTV8Q3Button: 68u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI8Q3Button)
+16 Q3Button::metaObject
+24 Q3Button::qt_metacast
+32 Q3Button::qt_metacall
+40 Q3Button::~Q3Button
+48 Q3Button::~Q3Button
+56 QAbstractButton::event
+64 QObject::eventFilter
+72 QAbstractButton::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QWidget::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QAbstractButton::mousePressEvent
+168 QAbstractButton::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QAbstractButton::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QAbstractButton::keyPressEvent
+208 QAbstractButton::keyReleaseEvent
+216 QAbstractButton::focusInEvent
+224 QAbstractButton::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 Q3Button::paintEvent
+256 QWidget::moveEvent
+264 QWidget::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QAbstractButton::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QAbstractButton::hitButton
+456 QAbstractButton::checkStateSet
+464 QAbstractButton::nextCheckState
+472 Q3Button::drawButton
+480 Q3Button::drawButtonLabel
+488 (int (*)(...))-0x00000000000000010
+496 (int (*)(...))(& _ZTI8Q3Button)
+504 Q3Button::_ZThn16_N8Q3ButtonD1Ev
+512 Q3Button::_ZThn16_N8Q3ButtonD0Ev
+520 QWidget::_ZThn16_NK7QWidget7devTypeEv
+528 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+536 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class Q3Button
+ size=40 align=8
+ base size=40 base align=8
+Q3Button (0x7fea0dd07620) 0
+ vptr=((& Q3Button::_ZTV8Q3Button) + 16u)
+ QAbstractButton (0x7fea0dd07690) 0
+ primary-for Q3Button (0x7fea0dd07620)
+ QWidget (0x7fea0dcffd00) 0
+ primary-for QAbstractButton (0x7fea0dd07690)
+ QObject (0x7fea0dd07700) 0
+ primary-for QWidget (0x7fea0dcffd00)
+ QPaintDevice (0x7fea0dd07770) 16
+ vptr=((& Q3Button::_ZTV8Q3Button) + 504u)
+
+Vtable for Q3MainWindow
+Q3MainWindow::_ZTV12Q3MainWindow: 87u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12Q3MainWindow)
+16 Q3MainWindow::metaObject
+24 Q3MainWindow::qt_metacast
+32 Q3MainWindow::qt_metacall
+40 Q3MainWindow::~Q3MainWindow
+48 Q3MainWindow::~Q3MainWindow
+56 Q3MainWindow::event
+64 Q3MainWindow::eventFilter
+72 QObject::timerEvent
+80 Q3MainWindow::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 Q3MainWindow::setVisible
+128 Q3MainWindow::sizeHint
+136 Q3MainWindow::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 Q3MainWindow::paintEvent
+256 QWidget::moveEvent
+264 QWidget::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QWidget::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 Q3MainWindow::setCentralWidget
+456 Q3MainWindow::setDockEnabled
+464 Q3MainWindow::setDockEnabled
+472 Q3MainWindow::addDockWindow
+480 Q3MainWindow::addDockWindow
+488 Q3MainWindow::moveDockWindow
+496 Q3MainWindow::moveDockWindow
+504 Q3MainWindow::removeDockWindow
+512 Q3MainWindow::dockingArea
+520 Q3MainWindow::isCustomizable
+528 Q3MainWindow::createDockWindowMenu
+536 Q3MainWindow::setRightJustification
+544 Q3MainWindow::setUsesBigPixmaps
+552 Q3MainWindow::setUsesTextLabel
+560 Q3MainWindow::setDockWindowsMovable
+568 Q3MainWindow::setOpaqueMoving
+576 Q3MainWindow::setDockMenuEnabled
+584 Q3MainWindow::whatsThis
+592 Q3MainWindow::setAppropriate
+600 Q3MainWindow::customize
+608 Q3MainWindow::setUpLayout
+616 Q3MainWindow::showDockMenu
+624 Q3MainWindow::setMenuBar
+632 Q3MainWindow::setStatusBar
+640 (int (*)(...))-0x00000000000000010
+648 (int (*)(...))(& _ZTI12Q3MainWindow)
+656 Q3MainWindow::_ZThn16_N12Q3MainWindowD1Ev
+664 Q3MainWindow::_ZThn16_N12Q3MainWindowD0Ev
+672 QWidget::_ZThn16_NK7QWidget7devTypeEv
+680 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+688 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class Q3MainWindow
+ size=40 align=8
+ base size=40 base align=8
+Q3MainWindow (0x7fea0dd1f620) 0
+ vptr=((& Q3MainWindow::_ZTV12Q3MainWindow) + 16u)
+ QWidget (0x7fea0dd19400) 0
+ primary-for Q3MainWindow (0x7fea0dd1f620)
+ QObject (0x7fea0dd1f690) 0
+ primary-for QWidget (0x7fea0dd19400)
+ QPaintDevice (0x7fea0dd1f700) 16
+ vptr=((& Q3MainWindow::_ZTV12Q3MainWindow) + 656u)
+
+Vtable for Q3DockAreaLayout
+Q3DockAreaLayout::_ZTV16Q3DockAreaLayout: 48u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16Q3DockAreaLayout)
+16 Q3DockAreaLayout::metaObject
+24 Q3DockAreaLayout::qt_metacast
+32 Q3DockAreaLayout::qt_metacall
+40 Q3DockAreaLayout::~Q3DockAreaLayout
+48 Q3DockAreaLayout::~Q3DockAreaLayout
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QLayout::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 Q3DockAreaLayout::invalidate
+120 QLayout::geometry
+128 Q3DockAreaLayout::addItem
+136 Q3DockAreaLayout::expandingDirections
+144 Q3DockAreaLayout::minimumSize
+152 QLayout::maximumSize
+160 Q3DockAreaLayout::setGeometry
+168 Q3DockAreaLayout::itemAt
+176 Q3DockAreaLayout::takeAt
+184 QLayout::indexOf
+192 Q3DockAreaLayout::count
+200 QLayout::isEmpty
+208 QLayout::layout
+216 Q3DockAreaLayout::hasHeightForWidth
+224 Q3DockAreaLayout::heightForWidth
+232 Q3DockAreaLayout::sizeHint
+240 (int (*)(...))-0x00000000000000010
+248 (int (*)(...))(& _ZTI16Q3DockAreaLayout)
+256 Q3DockAreaLayout::_ZThn16_N16Q3DockAreaLayoutD1Ev
+264 Q3DockAreaLayout::_ZThn16_N16Q3DockAreaLayoutD0Ev
+272 Q3DockAreaLayout::_ZThn16_NK16Q3DockAreaLayout8sizeHintEv
+280 Q3DockAreaLayout::_ZThn16_NK16Q3DockAreaLayout11minimumSizeEv
+288 QLayout::_ZThn16_NK7QLayout11maximumSizeEv
+296 Q3DockAreaLayout::_ZThn16_NK16Q3DockAreaLayout19expandingDirectionsEv
+304 Q3DockAreaLayout::_ZThn16_N16Q3DockAreaLayout11setGeometryERK5QRect
+312 QLayout::_ZThn16_NK7QLayout8geometryEv
+320 QLayout::_ZThn16_NK7QLayout7isEmptyEv
+328 Q3DockAreaLayout::_ZThn16_NK16Q3DockAreaLayout17hasHeightForWidthEv
+336 Q3DockAreaLayout::_ZThn16_NK16Q3DockAreaLayout14heightForWidthEi
+344 QLayoutItem::minimumHeightForWidth
+352 Q3DockAreaLayout::_ZThn16_N16Q3DockAreaLayout10invalidateEv
+360 QLayoutItem::widget
+368 QLayout::_ZThn16_N7QLayout6layoutEv
+376 QLayoutItem::spacerItem
+
+Class Q3DockAreaLayout
+ size=88 align=8
+ base size=88 base align=8
+Q3DockAreaLayout (0x7fea0dd61f50) 0
+ vptr=((& Q3DockAreaLayout::_ZTV16Q3DockAreaLayout) + 16u)
+ QLayout (0x7fea0dd57a80) 0
+ primary-for Q3DockAreaLayout (0x7fea0dd61f50)
+ QObject (0x7fea0dd65000) 0
+ primary-for QLayout (0x7fea0dd57a80)
+ QLayoutItem (0x7fea0dd65070) 16
+ vptr=((& Q3DockAreaLayout::_ZTV16Q3DockAreaLayout) + 256u)
+
+Class Q3DockArea::DockWindowData
+ size=32 align=8
+ base size=32 base align=8
+Q3DockArea::DockWindowData (0x7fea0dbea7e0) 0
+
+Vtable for Q3DockArea
+Q3DockArea::_ZTV10Q3DockArea: 63u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10Q3DockArea)
+16 Q3DockArea::metaObject
+24 Q3DockArea::qt_metacast
+32 Q3DockArea::qt_metacall
+40 Q3DockArea::~Q3DockArea
+48 Q3DockArea::~Q3DockArea
+56 QWidget::event
+64 Q3DockArea::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QWidget::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QWidget::paintEvent
+256 QWidget::moveEvent
+264 QWidget::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QWidget::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 (int (*)(...))-0x00000000000000010
+456 (int (*)(...))(& _ZTI10Q3DockArea)
+464 Q3DockArea::_ZThn16_N10Q3DockAreaD1Ev
+472 Q3DockArea::_ZThn16_N10Q3DockAreaD0Ev
+480 QWidget::_ZThn16_NK7QWidget7devTypeEv
+488 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+496 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class Q3DockArea
+ size=88 align=8
+ base size=88 base align=8
+Q3DockArea (0x7fea0dbea2a0) 0
+ vptr=((& Q3DockArea::_ZTV10Q3DockArea) + 16u)
+ QWidget (0x7fea0dbec000) 0
+ primary-for Q3DockArea (0x7fea0dbea2a0)
+ QObject (0x7fea0dbea310) 0
+ primary-for QWidget (0x7fea0dbec000)
+ QPaintDevice (0x7fea0dbea380) 16
+ vptr=((& Q3DockArea::_ZTV10Q3DockArea) + 464u)
+
diff --git a/tests/auto/bic/data/Qt3Support.4.6.0.linux-gcc-amd64.txt b/tests/auto/bic/data/Qt3Support.4.6.0.linux-gcc-amd64.txt
new file mode 100644
index 0000000000..2a12cc2225
--- /dev/null
+++ b/tests/auto/bic/data/Qt3Support.4.6.0.linux-gcc-amd64.txt
@@ -0,0 +1,25521 @@
+Class QSysInfo
+ size=1 align=1
+ base size=0 base align=1
+QSysInfo (0x7f62e3a0a230) 0 empty
+
+Class QBool
+ size=1 align=1
+ base size=1 base align=1
+QBool (0x7f62e3a0ae70) 0
+
+Class qIsNull(double)::U
+ size=8 align=8
+ base size=8 base align=8
+qIsNull(double)::U (0x7f62e3a36540) 0
+
+Class qIsNull(float)::U
+ size=4 align=4
+ base size=4 base align=4
+qIsNull(float)::U (0x7f62e3a367e0) 0
+
+Class QFlag
+ size=4 align=4
+ base size=4 base align=4
+QFlag (0x7f62e3a70690) 0
+
+Class QIncompatibleFlag
+ size=4 align=4
+ base size=4 base align=4
+QIncompatibleFlag (0x7f62e3a70e70) 0
+
+Class QLatin1Char
+ size=1 align=1
+ base size=1 base align=1
+QLatin1Char (0x7f62e3a9e5b0) 0
+
+Class QChar
+ size=2 align=2
+ base size=2 base align=2
+QChar (0x7f62e3ac2150) 0
+
+Class QBasicAtomicInt
+ size=4 align=4
+ base size=4 base align=4
+QBasicAtomicInt (0x7f62e292d310) 0
+
+Class QAtomicInt
+ size=4 align=4
+ base size=4 base align=4
+QAtomicInt (0x7f62e2968cb0) 0
+ QBasicAtomicInt (0x7f62e2968d20) 0
+
+Class QInternal
+ size=1 align=1
+ base size=0 base align=1
+QInternal (0x7f62e25bd4d0) 0 empty
+
+Class __locale_struct
+ size=232 align=8
+ base size=232 base align=8
+__locale_struct (0x7f62e25bd700) 0
+
+Class QByteArray::Data
+ size=32 align=8
+ base size=32 base align=8
+QByteArray::Data (0x7f62e25f6af0) 0
+
+Class QByteArray
+ size=8 align=8
+ base size=8 base align=8
+QByteArray (0x7f62e25f6a80) 0
+
+Class QByteRef
+ size=16 align=8
+ base size=12 base align=8
+QByteRef (0x7f62e269b380) 0
+
+Class QString::Null
+ size=1 align=1
+ base size=0 base align=1
+QString::Null (0x7f62e2598d20) 0 empty
+
+Class QString::Data
+ size=32 align=8
+ base size=32 base align=8
+QString::Data (0x7f62e25b25b0) 0
+
+Class QString
+ size=8 align=8
+ base size=8 base align=8
+QString (0x7f62e2514bd0) 0
+
+Class QLatin1String
+ size=8 align=8
+ base size=8 base align=8
+QLatin1String (0x7f62e24899a0) 0
+
+Class QCharRef
+ size=16 align=8
+ base size=12 base align=8
+QCharRef (0x7f62e2327000) 0
+
+Class QConstString
+ size=8 align=8
+ base size=8 base align=8
+QConstString (0x7f62e226f8c0) 0
+ QString (0x7f62e226f930) 0
+
+Class QStringRef
+ size=16 align=8
+ base size=16 base align=8
+QStringRef (0x7f62e2295310) 0
+
+Class QGenericArgument
+ size=16 align=8
+ base size=16 base align=8
+QGenericArgument (0x7f62e210f700) 0
+
+Class QGenericReturnArgument
+ size=16 align=8
+ base size=16 base align=8
+QGenericReturnArgument (0x7f62e211a2a0) 0
+ QGenericArgument (0x7f62e211a310) 0
+
+Class QMetaObject
+ size=32 align=8
+ base size=32 base align=8
+QMetaObject (0x7f62e211ab60) 0
+
+Class QMetaObjectExtraData
+ size=16 align=8
+ base size=16 base align=8
+QMetaObjectExtraData (0x7f62e2141bd0) 0
+
+Vtable for std::exception
+std::exception::_ZTVSt9exception: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt9exception)
+16 std::exception::~exception
+24 std::exception::~exception
+32 std::exception::what
+
+Class std::exception
+ size=8 align=8
+ base size=8 base align=8
+std::exception (0x7f62e21951c0) 0 nearly-empty
+ vptr=((& std::exception::_ZTVSt9exception) + 16u)
+
+Vtable for std::bad_exception
+std::bad_exception::_ZTVSt13bad_exception: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt13bad_exception)
+16 std::bad_exception::~bad_exception
+24 std::bad_exception::~bad_exception
+32 std::bad_exception::what
+
+Class std::bad_exception
+ size=8 align=8
+ base size=8 base align=8
+std::bad_exception (0x7f62e2195770) 0 nearly-empty
+ vptr=((& std::bad_exception::_ZTVSt13bad_exception) + 16u)
+ std::exception (0x7f62e21957e0) 0 nearly-empty
+ primary-for std::bad_exception (0x7f62e2195770)
+
+Vtable for std::bad_alloc
+std::bad_alloc::_ZTVSt9bad_alloc: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt9bad_alloc)
+16 std::bad_alloc::~bad_alloc
+24 std::bad_alloc::~bad_alloc
+32 std::bad_alloc::what
+
+Class std::bad_alloc
+ size=8 align=8
+ base size=8 base align=8
+std::bad_alloc (0x7f62e2195930) 0 nearly-empty
+ vptr=((& std::bad_alloc::_ZTVSt9bad_alloc) + 16u)
+ std::exception (0x7f62e21ac000) 0 nearly-empty
+ primary-for std::bad_alloc (0x7f62e2195930)
+
+Class std::nothrow_t
+ size=1 align=1
+ base size=0 base align=1
+std::nothrow_t (0x7f62e21ac850) 0 empty
+
+Class QListData::Data
+ size=32 align=8
+ base size=32 base align=8
+QListData::Data (0x7f62e21acd90) 0
+
+Class QListData
+ size=8 align=8
+ base size=8 base align=8
+QListData (0x7f62e21acd20) 0
+
+Class QScopedPointerPodDeleter
+ size=1 align=1
+ base size=0 base align=1
+QScopedPointerPodDeleter (0x7f62e1ed8850) 0 empty
+
+Vtable for QObjectData
+QObjectData::_ZTV11QObjectData: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QObjectData)
+16 __cxa_pure_virtual
+24 __cxa_pure_virtual
+
+Class QObjectData
+ size=48 align=8
+ base size=48 base align=8
+QObjectData (0x7f62e1ef82a0) 0
+ vptr=((& QObjectData::_ZTV11QObjectData) + 16u)
+
+Vtable for QObject
+QObject::_ZTV7QObject: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QObject)
+16 QObject::metaObject
+24 QObject::qt_metacast
+32 QObject::qt_metacall
+40 QObject::~QObject
+48 QObject::~QObject
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QObject
+ size=16 align=8
+ base size=16 base align=8
+QObject (0x7f62e1ef85b0) 0
+ vptr=((& QObject::_ZTV7QObject) + 16u)
+
+Vtable for QObjectUserData
+QObjectUserData::_ZTV15QObjectUserData: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QObjectUserData)
+16 QObjectUserData::~QObjectUserData
+24 QObjectUserData::~QObjectUserData
+
+Class QObjectUserData
+ size=8 align=8
+ base size=8 base align=8
+QObjectUserData (0x7f62e1f7bb60) 0 nearly-empty
+ vptr=((& QObjectUserData::_ZTV15QObjectUserData) + 16u)
+
+Vtable for QIODevice
+QIODevice::_ZTV9QIODevice: 30u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QIODevice)
+16 QIODevice::metaObject
+24 QIODevice::qt_metacast
+32 QIODevice::qt_metacall
+40 QIODevice::~QIODevice
+48 QIODevice::~QIODevice
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QIODevice::isSequential
+120 QIODevice::open
+128 QIODevice::close
+136 QIODevice::pos
+144 QIODevice::size
+152 QIODevice::seek
+160 QIODevice::atEnd
+168 QIODevice::reset
+176 QIODevice::bytesAvailable
+184 QIODevice::bytesToWrite
+192 QIODevice::canReadLine
+200 QIODevice::waitForReadyRead
+208 QIODevice::waitForBytesWritten
+216 __cxa_pure_virtual
+224 QIODevice::readLineData
+232 __cxa_pure_virtual
+
+Class QIODevice
+ size=16 align=8
+ base size=16 base align=8
+QIODevice (0x7f62e1f8a150) 0
+ vptr=((& QIODevice::_ZTV9QIODevice) + 16u)
+ QObject (0x7f62e1f8a1c0) 0
+ primary-for QIODevice (0x7f62e1f8a150)
+
+Class _IO_marker
+ size=24 align=8
+ base size=24 base align=8
+_IO_marker (0x7f62e1debcb0) 0
+
+Class _IO_FILE
+ size=216 align=8
+ base size=216 base align=8
+_IO_FILE (0x7f62e1debd20) 0
+
+Vtable for QFile
+QFile::_ZTV5QFile: 31u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI5QFile)
+16 QFile::metaObject
+24 QFile::qt_metacast
+32 QFile::qt_metacall
+40 QFile::~QFile
+48 QFile::~QFile
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QFile::isSequential
+120 QFile::open
+128 QFile::close
+136 QFile::pos
+144 QFile::size
+152 QFile::seek
+160 QFile::atEnd
+168 QIODevice::reset
+176 QIODevice::bytesAvailable
+184 QIODevice::bytesToWrite
+192 QIODevice::canReadLine
+200 QIODevice::waitForReadyRead
+208 QIODevice::waitForBytesWritten
+216 QFile::readData
+224 QFile::readLineData
+232 QFile::writeData
+240 QFile::fileEngine
+
+Class QFile
+ size=16 align=8
+ base size=16 base align=8
+QFile (0x7f62e1debe00) 0
+ vptr=((& QFile::_ZTV5QFile) + 16u)
+ QIODevice (0x7f62e1debe70) 0
+ primary-for QFile (0x7f62e1debe00)
+ QObject (0x7f62e1debee0) 0
+ primary-for QIODevice (0x7f62e1debe70)
+
+Class QFileInfo
+ size=8 align=8
+ base size=8 base align=8
+QFileInfo (0x7f62e1e8f070) 0
+
+Vtable for QDataStream
+QDataStream::_ZTV11QDataStream: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QDataStream)
+16 QDataStream::~QDataStream
+24 QDataStream::~QDataStream
+
+Class QDataStream
+ size=40 align=8
+ base size=40 base align=8
+QDataStream (0x7f62e1ce2a10) 0
+ vptr=((& QDataStream::_ZTV11QDataStream) + 16u)
+
+Class QRegExp
+ size=8 align=8
+ base size=8 base align=8
+QRegExp (0x7f62e1d4ee70) 0
+
+Class QStringMatcher::Data
+ size=272 align=8
+ base size=272 base align=8
+QStringMatcher::Data (0x7f62e1db42a0) 0
+
+Class QStringMatcher
+ size=1048 align=8
+ base size=1048 base align=8
+QStringMatcher (0x7f62e1da8c40) 0
+
+Class QStringList
+ size=8 align=8
+ base size=8 base align=8
+QStringList (0x7f62e1db4850) 0
+ QList<QString> (0x7f62e1db48c0) 0
+
+Class QDir
+ size=8 align=8
+ base size=8 base align=8
+QDir (0x7f62e1c544d0) 0
+
+Class QAbstractFileEngine::ExtensionOption
+ size=1 align=1
+ base size=0 base align=1
+QAbstractFileEngine::ExtensionOption (0x7f62e1afc8c0) 0 empty
+
+Class QAbstractFileEngine::ExtensionReturn
+ size=1 align=1
+ base size=0 base align=1
+QAbstractFileEngine::ExtensionReturn (0x7f62e1afc930) 0 empty
+
+Class QAbstractFileEngine::MapExtensionOption
+ size=24 align=8
+ base size=20 base align=8
+QAbstractFileEngine::MapExtensionOption (0x7f62e1afc9a0) 0
+ QAbstractFileEngine::ExtensionOption (0x7f62e1afca10) 0 empty
+
+Class QAbstractFileEngine::MapExtensionReturn
+ size=8 align=8
+ base size=8 base align=8
+QAbstractFileEngine::MapExtensionReturn (0x7f62e1afcbd0) 0
+ QAbstractFileEngine::ExtensionReturn (0x7f62e1afcc40) 0 empty
+
+Class QAbstractFileEngine::UnMapExtensionOption
+ size=8 align=8
+ base size=8 base align=8
+QAbstractFileEngine::UnMapExtensionOption (0x7f62e1afccb0) 0
+ QAbstractFileEngine::ExtensionOption (0x7f62e1afcd20) 0 empty
+
+Vtable for QAbstractFileEngine
+QAbstractFileEngine::_ZTV19QAbstractFileEngine: 36u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QAbstractFileEngine)
+16 QAbstractFileEngine::~QAbstractFileEngine
+24 QAbstractFileEngine::~QAbstractFileEngine
+32 QAbstractFileEngine::open
+40 QAbstractFileEngine::close
+48 QAbstractFileEngine::flush
+56 QAbstractFileEngine::size
+64 QAbstractFileEngine::pos
+72 QAbstractFileEngine::seek
+80 QAbstractFileEngine::isSequential
+88 QAbstractFileEngine::remove
+96 QAbstractFileEngine::copy
+104 QAbstractFileEngine::rename
+112 QAbstractFileEngine::link
+120 QAbstractFileEngine::mkdir
+128 QAbstractFileEngine::rmdir
+136 QAbstractFileEngine::setSize
+144 QAbstractFileEngine::caseSensitive
+152 QAbstractFileEngine::isRelativePath
+160 QAbstractFileEngine::entryList
+168 QAbstractFileEngine::fileFlags
+176 QAbstractFileEngine::setPermissions
+184 QAbstractFileEngine::fileName
+192 QAbstractFileEngine::ownerId
+200 QAbstractFileEngine::owner
+208 QAbstractFileEngine::fileTime
+216 QAbstractFileEngine::setFileName
+224 QAbstractFileEngine::handle
+232 QAbstractFileEngine::beginEntryList
+240 QAbstractFileEngine::endEntryList
+248 QAbstractFileEngine::read
+256 QAbstractFileEngine::readLine
+264 QAbstractFileEngine::write
+272 QAbstractFileEngine::extension
+280 QAbstractFileEngine::supportsExtension
+
+Class QAbstractFileEngine
+ size=16 align=8
+ base size=16 base align=8
+QAbstractFileEngine (0x7f62e1ade850) 0
+ vptr=((& QAbstractFileEngine::_ZTV19QAbstractFileEngine) + 16u)
+
+Vtable for QAbstractFileEngineHandler
+QAbstractFileEngineHandler::_ZTV26QAbstractFileEngineHandler: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI26QAbstractFileEngineHandler)
+16 QAbstractFileEngineHandler::~QAbstractFileEngineHandler
+24 QAbstractFileEngineHandler::~QAbstractFileEngineHandler
+32 __cxa_pure_virtual
+
+Class QAbstractFileEngineHandler
+ size=8 align=8
+ base size=8 base align=8
+QAbstractFileEngineHandler (0x7f62e1b30bd0) 0 nearly-empty
+ vptr=((& QAbstractFileEngineHandler::_ZTV26QAbstractFileEngineHandler) + 16u)
+
+Vtable for QAbstractFileEngineIterator
+QAbstractFileEngineIterator::_ZTV27QAbstractFileEngineIterator: 9u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI27QAbstractFileEngineIterator)
+16 QAbstractFileEngineIterator::~QAbstractFileEngineIterator
+24 QAbstractFileEngineIterator::~QAbstractFileEngineIterator
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+48 __cxa_pure_virtual
+56 QAbstractFileEngineIterator::currentFileInfo
+64 QAbstractFileEngineIterator::entryInfo
+
+Class QAbstractFileEngineIterator
+ size=16 align=8
+ base size=16 base align=8
+QAbstractFileEngineIterator (0x7f62e1b30d90) 0
+ vptr=((& QAbstractFileEngineIterator::_ZTV27QAbstractFileEngineIterator) + 16u)
+
+Vtable for QBuffer
+QBuffer::_ZTV7QBuffer: 30u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QBuffer)
+16 QBuffer::metaObject
+24 QBuffer::qt_metacast
+32 QBuffer::qt_metacall
+40 QBuffer::~QBuffer
+48 QBuffer::~QBuffer
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QBuffer::connectNotify
+104 QBuffer::disconnectNotify
+112 QIODevice::isSequential
+120 QBuffer::open
+128 QBuffer::close
+136 QBuffer::pos
+144 QBuffer::size
+152 QBuffer::seek
+160 QBuffer::atEnd
+168 QIODevice::reset
+176 QIODevice::bytesAvailable
+184 QIODevice::bytesToWrite
+192 QBuffer::canReadLine
+200 QIODevice::waitForReadyRead
+208 QIODevice::waitForBytesWritten
+216 QBuffer::readData
+224 QIODevice::readLineData
+232 QBuffer::writeData
+
+Class QBuffer
+ size=16 align=8
+ base size=16 base align=8
+QBuffer (0x7f62e1b42690) 0
+ vptr=((& QBuffer::_ZTV7QBuffer) + 16u)
+ QIODevice (0x7f62e1b42700) 0
+ primary-for QBuffer (0x7f62e1b42690)
+ QObject (0x7f62e1b42770) 0
+ primary-for QIODevice (0x7f62e1b42700)
+
+Class QHashData::Node
+ size=16 align=8
+ base size=16 base align=8
+QHashData::Node (0x7f62e1b86e00) 0
+
+Class QHashData
+ size=40 align=8
+ base size=40 base align=8
+QHashData (0x7f62e1b86d90) 0
+
+Class QHashDummyValue
+ size=1 align=1
+ base size=0 base align=1
+QHashDummyValue (0x7f62e1ba9150) 0 empty
+
+Class QMapData::Node
+ size=16 align=8
+ base size=16 base align=8
+QMapData::Node (0x7f62e1aaba80) 0
+
+Class QMapData
+ size=128 align=8
+ base size=128 base align=8
+QMapData (0x7f62e1aaba10) 0
+
+Vtable for QSystemLocale
+QSystemLocale::_ZTV13QSystemLocale: 6u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QSystemLocale)
+16 QSystemLocale::~QSystemLocale
+24 QSystemLocale::~QSystemLocale
+32 QSystemLocale::query
+40 QSystemLocale::fallbackLocale
+
+Class QSystemLocale
+ size=8 align=8
+ base size=8 base align=8
+QSystemLocale (0x7f62e17e4690) 0 nearly-empty
+ vptr=((& QSystemLocale::_ZTV13QSystemLocale) + 16u)
+
+Class QLocale::Data
+ size=4 align=2
+ base size=4 base align=2
+QLocale::Data (0x7f62e1834d90) 0
+
+Class QLocale
+ size=8 align=8
+ base size=8 base align=8
+QLocale (0x7f62e17e4af0) 0
+
+Class QTextCodec::ConverterState
+ size=32 align=8
+ base size=32 base align=8
+QTextCodec::ConverterState (0x7f62e1888bd0) 0
+
+Vtable for QTextCodec
+QTextCodec::_ZTV10QTextCodec: 9u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QTextCodec)
+16 __cxa_pure_virtual
+24 QTextCodec::aliases
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+48 __cxa_pure_virtual
+56 QTextCodec::~QTextCodec
+64 QTextCodec::~QTextCodec
+
+Class QTextCodec
+ size=8 align=8
+ base size=8 base align=8
+QTextCodec (0x7f62e187b460) 0 nearly-empty
+ vptr=((& QTextCodec::_ZTV10QTextCodec) + 16u)
+
+Class QTextEncoder
+ size=40 align=8
+ base size=40 base align=8
+QTextEncoder (0x7f62e16f9150) 0
+
+Class QTextDecoder
+ size=40 align=8
+ base size=40 base align=8
+QTextDecoder (0x7f62e16f9f50) 0
+
+Vtable for QTextStream
+QTextStream::_ZTV11QTextStream: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QTextStream)
+16 QTextStream::~QTextStream
+24 QTextStream::~QTextStream
+
+Class QTextStream
+ size=16 align=8
+ base size=16 base align=8
+QTextStream (0x7f62e1700d90) 0
+ vptr=((& QTextStream::_ZTV11QTextStream) + 16u)
+
+Class QTextStreamManipulator
+ size=40 align=8
+ base size=38 base align=8
+QTextStreamManipulator (0x7f62e177aa80) 0
+
+Vtable for QTextIStream
+QTextIStream::_ZTV12QTextIStream: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QTextIStream)
+16 QTextIStream::~QTextIStream
+24 QTextIStream::~QTextIStream
+
+Class QTextIStream
+ size=16 align=8
+ base size=16 base align=8
+QTextIStream (0x7f62e17ac070) 0
+ vptr=((& QTextIStream::_ZTV12QTextIStream) + 16u)
+ QTextStream (0x7f62e17ac0e0) 0
+ primary-for QTextIStream (0x7f62e17ac070)
+
+Vtable for QTextOStream
+QTextOStream::_ZTV12QTextOStream: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QTextOStream)
+16 QTextOStream::~QTextOStream
+24 QTextOStream::~QTextOStream
+
+Class QTextOStream
+ size=16 align=8
+ base size=16 base align=8
+QTextOStream (0x7f62e15b8ee0) 0
+ vptr=((& QTextOStream::_ZTV12QTextOStream) + 16u)
+ QTextStream (0x7f62e15b8f50) 0
+ primary-for QTextOStream (0x7f62e15b8ee0)
+
+Class wait
+ size=4 align=4
+ base size=4 base align=4
+wait (0x7f62e15cdd90) 0
+
+Class timespec
+ size=16 align=8
+ base size=16 base align=8
+timespec (0x7f62e15d80e0) 0
+
+Class timeval
+ size=16 align=8
+ base size=16 base align=8
+timeval (0x7f62e15d8150) 0
+
+Class __pthread_internal_list
+ size=16 align=8
+ base size=16 base align=8
+__pthread_internal_list (0x7f62e15d82a0) 0
+
+Class random_data
+ size=48 align=8
+ base size=48 base align=8
+random_data (0x7f62e15d8850) 0
+
+Class drand48_data
+ size=24 align=8
+ base size=24 base align=8
+drand48_data (0x7f62e15d88c0) 0
+
+Class QVectorData
+ size=16 align=4
+ base size=16 base align=4
+QVectorData (0x7f62e15d8930) 0
+
+Class QContiguousCacheData
+ size=24 align=4
+ base size=24 base align=4
+QContiguousCacheData (0x7f62e1595620) 0
+
+Class QDebug::Stream
+ size=40 align=8
+ base size=34 base align=8
+QDebug::Stream (0x7f62e1417150) 0
+
+Class QDebug
+ size=8 align=8
+ base size=8 base align=8
+QDebug (0x7f62e14170e0) 0
+
+Class QNoDebug
+ size=1 align=1
+ base size=0 base align=1
+QNoDebug (0x7f62e12c30e0) 0 empty
+
+Vtable for QDirIterator
+QDirIterator::_ZTV12QDirIterator: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QDirIterator)
+16 QDirIterator::~QDirIterator
+24 QDirIterator::~QDirIterator
+
+Class QDirIterator
+ size=16 align=8
+ base size=16 base align=8
+QDirIterator (0x7f62e12d3700) 0
+ vptr=((& QDirIterator::_ZTV12QDirIterator) + 16u)
+
+Vtable for QFileSystemWatcher
+QFileSystemWatcher::_ZTV18QFileSystemWatcher: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QFileSystemWatcher)
+16 QFileSystemWatcher::metaObject
+24 QFileSystemWatcher::qt_metacast
+32 QFileSystemWatcher::qt_metacall
+40 QFileSystemWatcher::~QFileSystemWatcher
+48 QFileSystemWatcher::~QFileSystemWatcher
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QFileSystemWatcher
+ size=16 align=8
+ base size=16 base align=8
+QFileSystemWatcher (0x7f62e1332540) 0
+ vptr=((& QFileSystemWatcher::_ZTV18QFileSystemWatcher) + 16u)
+ QObject (0x7f62e13325b0) 0
+ primary-for QFileSystemWatcher (0x7f62e1332540)
+
+Vtable for QFSFileEngine
+QFSFileEngine::_ZTV13QFSFileEngine: 36u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QFSFileEngine)
+16 QFSFileEngine::~QFSFileEngine
+24 QFSFileEngine::~QFSFileEngine
+32 QFSFileEngine::open
+40 QFSFileEngine::close
+48 QFSFileEngine::flush
+56 QFSFileEngine::size
+64 QFSFileEngine::pos
+72 QFSFileEngine::seek
+80 QFSFileEngine::isSequential
+88 QFSFileEngine::remove
+96 QFSFileEngine::copy
+104 QFSFileEngine::rename
+112 QFSFileEngine::link
+120 QFSFileEngine::mkdir
+128 QFSFileEngine::rmdir
+136 QFSFileEngine::setSize
+144 QFSFileEngine::caseSensitive
+152 QFSFileEngine::isRelativePath
+160 QFSFileEngine::entryList
+168 QFSFileEngine::fileFlags
+176 QFSFileEngine::setPermissions
+184 QFSFileEngine::fileName
+192 QFSFileEngine::ownerId
+200 QFSFileEngine::owner
+208 QFSFileEngine::fileTime
+216 QFSFileEngine::setFileName
+224 QFSFileEngine::handle
+232 QFSFileEngine::beginEntryList
+240 QFSFileEngine::endEntryList
+248 QFSFileEngine::read
+256 QFSFileEngine::readLine
+264 QFSFileEngine::write
+272 QFSFileEngine::extension
+280 QFSFileEngine::supportsExtension
+
+Class QFSFileEngine
+ size=16 align=8
+ base size=16 base align=8
+QFSFileEngine (0x7f62e1343a80) 0
+ vptr=((& QFSFileEngine::_ZTV13QFSFileEngine) + 16u)
+ QAbstractFileEngine (0x7f62e1343af0) 0
+ primary-for QFSFileEngine (0x7f62e1343a80)
+
+Class QSharedData
+ size=4 align=4
+ base size=4 base align=4
+QSharedData (0x7f62e1354e70) 0
+
+Class QProcessEnvironment
+ size=8 align=8
+ base size=8 base align=8
+QProcessEnvironment (0x7f62e139c1c0) 0
+
+Vtable for QProcess
+QProcess::_ZTV8QProcess: 31u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI8QProcess)
+16 QProcess::metaObject
+24 QProcess::qt_metacast
+32 QProcess::qt_metacall
+40 QProcess::~QProcess
+48 QProcess::~QProcess
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QProcess::isSequential
+120 QIODevice::open
+128 QProcess::close
+136 QIODevice::pos
+144 QIODevice::size
+152 QIODevice::seek
+160 QProcess::atEnd
+168 QIODevice::reset
+176 QProcess::bytesAvailable
+184 QProcess::bytesToWrite
+192 QProcess::canReadLine
+200 QProcess::waitForReadyRead
+208 QProcess::waitForBytesWritten
+216 QProcess::readData
+224 QIODevice::readLineData
+232 QProcess::writeData
+240 QProcess::setupChildProcess
+
+Class QProcess
+ size=16 align=8
+ base size=16 base align=8
+QProcess (0x7f62e139ccb0) 0
+ vptr=((& QProcess::_ZTV8QProcess) + 16u)
+ QIODevice (0x7f62e139cd20) 0
+ primary-for QProcess (0x7f62e139ccb0)
+ QObject (0x7f62e139cd90) 0
+ primary-for QIODevice (0x7f62e139cd20)
+
+Class QResource
+ size=8 align=8
+ base size=8 base align=8
+QResource (0x7f62e11e41c0) 0
+
+Class QMetaType
+ size=1 align=1
+ base size=0 base align=1
+QMetaType (0x7f62e11e4e70) 0 empty
+
+Class QVariant::PrivateShared
+ size=16 align=8
+ base size=12 base align=8
+QVariant::PrivateShared (0x7f62e10e1700) 0
+
+Class QVariant::Private::Data
+ size=8 align=8
+ base size=8 base align=8
+QVariant::Private::Data (0x7f62e10e1a10) 0
+
+Class QVariant::Private
+ size=16 align=8
+ base size=12 base align=8
+QVariant::Private (0x7f62e10e17e0) 0
+
+Class QVariant::Handler
+ size=72 align=8
+ base size=72 base align=8
+QVariant::Handler (0x7f62e10ef700) 0
+
+Class QVariant
+ size=16 align=8
+ base size=16 base align=8
+QVariant (0x7f62e10b17e0) 0
+
+Class QVariantComparisonHelper
+ size=8 align=8
+ base size=8 base align=8
+QVariantComparisonHelper (0x7f62e11a89a0) 0
+
+Vtable for QSettings
+QSettings::_ZTV9QSettings: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QSettings)
+16 QSettings::metaObject
+24 QSettings::qt_metacast
+32 QSettings::qt_metacall
+40 QSettings::~QSettings
+48 QSettings::~QSettings
+56 QSettings::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QSettings
+ size=16 align=8
+ base size=16 base align=8
+QSettings (0x7f62e0fc6ee0) 0
+ vptr=((& QSettings::_ZTV9QSettings) + 16u)
+ QObject (0x7f62e0fc6f50) 0
+ primary-for QSettings (0x7f62e0fc6ee0)
+
+Vtable for QTemporaryFile
+QTemporaryFile::_ZTV14QTemporaryFile: 31u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QTemporaryFile)
+16 QTemporaryFile::metaObject
+24 QTemporaryFile::qt_metacast
+32 QTemporaryFile::qt_metacall
+40 QTemporaryFile::~QTemporaryFile
+48 QTemporaryFile::~QTemporaryFile
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QFile::isSequential
+120 QTemporaryFile::open
+128 QFile::close
+136 QFile::pos
+144 QFile::size
+152 QFile::seek
+160 QFile::atEnd
+168 QIODevice::reset
+176 QIODevice::bytesAvailable
+184 QIODevice::bytesToWrite
+192 QIODevice::canReadLine
+200 QIODevice::waitForReadyRead
+208 QIODevice::waitForBytesWritten
+216 QFile::readData
+224 QFile::readLineData
+232 QFile::writeData
+240 QTemporaryFile::fileEngine
+
+Class QTemporaryFile
+ size=16 align=8
+ base size=16 base align=8
+QTemporaryFile (0x7f62e104b2a0) 0
+ vptr=((& QTemporaryFile::_ZTV14QTemporaryFile) + 16u)
+ QFile (0x7f62e104b310) 0
+ primary-for QTemporaryFile (0x7f62e104b2a0)
+ QIODevice (0x7f62e104b380) 0
+ primary-for QFile (0x7f62e104b310)
+ QObject (0x7f62e104b3f0) 0
+ primary-for QIODevice (0x7f62e104b380)
+
+Class QUrl
+ size=8 align=8
+ base size=8 base align=8
+QUrl (0x7f62e10679a0) 0
+
+Class QXmlStreamStringRef
+ size=16 align=8
+ base size=16 base align=8
+QXmlStreamStringRef (0x7f62e0ef0070) 0
+
+Class QXmlStreamAttribute
+ size=80 align=8
+ base size=73 base align=8
+QXmlStreamAttribute (0x7f62e0f0d850) 0
+
+Class QXmlStreamAttributes
+ size=8 align=8
+ base size=8 base align=8
+QXmlStreamAttributes (0x7f62e0f36310) 0
+ QVector<QXmlStreamAttribute> (0x7f62e0f36380) 0
+
+Class QXmlStreamNamespaceDeclaration
+ size=40 align=8
+ base size=40 base align=8
+QXmlStreamNamespaceDeclaration (0x7f62e0f367e0) 0
+
+Class QXmlStreamNotationDeclaration
+ size=56 align=8
+ base size=56 base align=8
+QXmlStreamNotationDeclaration (0x7f62e0f771c0) 0
+
+Class QXmlStreamEntityDeclaration
+ size=88 align=8
+ base size=88 base align=8
+QXmlStreamEntityDeclaration (0x7f62e0f99070) 0
+
+Vtable for QXmlStreamEntityResolver
+QXmlStreamEntityResolver::_ZTV24QXmlStreamEntityResolver: 6u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI24QXmlStreamEntityResolver)
+16 QXmlStreamEntityResolver::~QXmlStreamEntityResolver
+24 QXmlStreamEntityResolver::~QXmlStreamEntityResolver
+32 QXmlStreamEntityResolver::resolveEntity
+40 QXmlStreamEntityResolver::resolveUndeclaredEntity
+
+Class QXmlStreamEntityResolver
+ size=8 align=8
+ base size=8 base align=8
+QXmlStreamEntityResolver (0x7f62e0db39a0) 0 nearly-empty
+ vptr=((& QXmlStreamEntityResolver::_ZTV24QXmlStreamEntityResolver) + 16u)
+
+Class QXmlStreamReader
+ size=8 align=8
+ base size=8 base align=8
+QXmlStreamReader (0x7f62e0db3b60) 0
+
+Class QXmlStreamWriter
+ size=8 align=8
+ base size=8 base align=8
+QXmlStreamWriter (0x7f62e0dfbc40) 0
+
+Vtable for QAbstractState
+QAbstractState::_ZTV14QAbstractState: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QAbstractState)
+16 QAbstractState::metaObject
+24 QAbstractState::qt_metacast
+32 QAbstractState::qt_metacall
+40 QAbstractState::~QAbstractState
+48 QAbstractState::~QAbstractState
+56 QAbstractState::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+
+Class QAbstractState
+ size=16 align=8
+ base size=16 base align=8
+QAbstractState (0x7f62e0e12a80) 0
+ vptr=((& QAbstractState::_ZTV14QAbstractState) + 16u)
+ QObject (0x7f62e0e12af0) 0
+ primary-for QAbstractState (0x7f62e0e12a80)
+
+Vtable for QAbstractTransition
+QAbstractTransition::_ZTV19QAbstractTransition: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QAbstractTransition)
+16 QAbstractTransition::metaObject
+24 QAbstractTransition::qt_metacast
+32 QAbstractTransition::qt_metacall
+40 QAbstractTransition::~QAbstractTransition
+48 QAbstractTransition::~QAbstractTransition
+56 QAbstractTransition::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+
+Class QAbstractTransition
+ size=16 align=8
+ base size=16 base align=8
+QAbstractTransition (0x7f62e0e372a0) 0
+ vptr=((& QAbstractTransition::_ZTV19QAbstractTransition) + 16u)
+ QObject (0x7f62e0e37310) 0
+ primary-for QAbstractTransition (0x7f62e0e372a0)
+
+Vtable for QEvent
+QEvent::_ZTV6QEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI6QEvent)
+16 QEvent::~QEvent
+24 QEvent::~QEvent
+
+Class QEvent
+ size=24 align=8
+ base size=20 base align=8
+QEvent (0x7f62e0e4aaf0) 0
+ vptr=((& QEvent::_ZTV6QEvent) + 16u)
+
+Vtable for QTimerEvent
+QTimerEvent::_ZTV11QTimerEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QTimerEvent)
+16 QTimerEvent::~QTimerEvent
+24 QTimerEvent::~QTimerEvent
+
+Class QTimerEvent
+ size=24 align=8
+ base size=24 base align=8
+QTimerEvent (0x7f62e0e6b700) 0
+ vptr=((& QTimerEvent::_ZTV11QTimerEvent) + 16u)
+ QEvent (0x7f62e0e6b770) 0
+ primary-for QTimerEvent (0x7f62e0e6b700)
+
+Vtable for QChildEvent
+QChildEvent::_ZTV11QChildEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QChildEvent)
+16 QChildEvent::~QChildEvent
+24 QChildEvent::~QChildEvent
+
+Class QChildEvent
+ size=32 align=8
+ base size=32 base align=8
+QChildEvent (0x7f62e0e6bb60) 0
+ vptr=((& QChildEvent::_ZTV11QChildEvent) + 16u)
+ QEvent (0x7f62e0e6bbd0) 0
+ primary-for QChildEvent (0x7f62e0e6bb60)
+
+Vtable for QCustomEvent
+QCustomEvent::_ZTV12QCustomEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QCustomEvent)
+16 QCustomEvent::~QCustomEvent
+24 QCustomEvent::~QCustomEvent
+
+Class QCustomEvent
+ size=24 align=8
+ base size=20 base align=8
+QCustomEvent (0x7f62e0e74e00) 0
+ vptr=((& QCustomEvent::_ZTV12QCustomEvent) + 16u)
+ QEvent (0x7f62e0e74e70) 0
+ primary-for QCustomEvent (0x7f62e0e74e00)
+
+Vtable for QDynamicPropertyChangeEvent
+QDynamicPropertyChangeEvent::_ZTV27QDynamicPropertyChangeEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI27QDynamicPropertyChangeEvent)
+16 QDynamicPropertyChangeEvent::~QDynamicPropertyChangeEvent
+24 QDynamicPropertyChangeEvent::~QDynamicPropertyChangeEvent
+
+Class QDynamicPropertyChangeEvent
+ size=32 align=8
+ base size=32 base align=8
+QDynamicPropertyChangeEvent (0x7f62e0e86620) 0
+ vptr=((& QDynamicPropertyChangeEvent::_ZTV27QDynamicPropertyChangeEvent) + 16u)
+ QEvent (0x7f62e0e86690) 0
+ primary-for QDynamicPropertyChangeEvent (0x7f62e0e86620)
+
+Vtable for QEventTransition
+QEventTransition::_ZTV16QEventTransition: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QEventTransition)
+16 QEventTransition::metaObject
+24 QEventTransition::qt_metacast
+32 QEventTransition::qt_metacall
+40 QEventTransition::~QEventTransition
+48 QEventTransition::~QEventTransition
+56 QEventTransition::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QEventTransition::eventTest
+120 QEventTransition::onTransition
+
+Class QEventTransition
+ size=16 align=8
+ base size=16 base align=8
+QEventTransition (0x7f62e0e86af0) 0
+ vptr=((& QEventTransition::_ZTV16QEventTransition) + 16u)
+ QAbstractTransition (0x7f62e0e86b60) 0
+ primary-for QEventTransition (0x7f62e0e86af0)
+ QObject (0x7f62e0e86bd0) 0
+ primary-for QAbstractTransition (0x7f62e0e86b60)
+
+Vtable for QFinalState
+QFinalState::_ZTV11QFinalState: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QFinalState)
+16 QFinalState::metaObject
+24 QFinalState::qt_metacast
+32 QFinalState::qt_metacall
+40 QFinalState::~QFinalState
+48 QFinalState::~QFinalState
+56 QFinalState::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QFinalState::onEntry
+120 QFinalState::onExit
+
+Class QFinalState
+ size=16 align=8
+ base size=16 base align=8
+QFinalState (0x7f62e0ea29a0) 0
+ vptr=((& QFinalState::_ZTV11QFinalState) + 16u)
+ QAbstractState (0x7f62e0ea2a10) 0
+ primary-for QFinalState (0x7f62e0ea29a0)
+ QObject (0x7f62e0ea2a80) 0
+ primary-for QAbstractState (0x7f62e0ea2a10)
+
+Vtable for QHistoryState
+QHistoryState::_ZTV13QHistoryState: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QHistoryState)
+16 QHistoryState::metaObject
+24 QHistoryState::qt_metacast
+32 QHistoryState::qt_metacall
+40 QHistoryState::~QHistoryState
+48 QHistoryState::~QHistoryState
+56 QHistoryState::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QHistoryState::onEntry
+120 QHistoryState::onExit
+
+Class QHistoryState
+ size=16 align=8
+ base size=16 base align=8
+QHistoryState (0x7f62e0cb4230) 0
+ vptr=((& QHistoryState::_ZTV13QHistoryState) + 16u)
+ QAbstractState (0x7f62e0cb42a0) 0
+ primary-for QHistoryState (0x7f62e0cb4230)
+ QObject (0x7f62e0cb4310) 0
+ primary-for QAbstractState (0x7f62e0cb42a0)
+
+Vtable for QSignalTransition
+QSignalTransition::_ZTV17QSignalTransition: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QSignalTransition)
+16 QSignalTransition::metaObject
+24 QSignalTransition::qt_metacast
+32 QSignalTransition::qt_metacall
+40 QSignalTransition::~QSignalTransition
+48 QSignalTransition::~QSignalTransition
+56 QSignalTransition::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QSignalTransition::eventTest
+120 QSignalTransition::onTransition
+
+Class QSignalTransition
+ size=16 align=8
+ base size=16 base align=8
+QSignalTransition (0x7f62e0cc5f50) 0
+ vptr=((& QSignalTransition::_ZTV17QSignalTransition) + 16u)
+ QAbstractTransition (0x7f62e0cce000) 0
+ primary-for QSignalTransition (0x7f62e0cc5f50)
+ QObject (0x7f62e0cce070) 0
+ primary-for QAbstractTransition (0x7f62e0cce000)
+
+Vtable for QState
+QState::_ZTV6QState: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI6QState)
+16 QState::metaObject
+24 QState::qt_metacast
+32 QState::qt_metacall
+40 QState::~QState
+48 QState::~QState
+56 QState::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QState::onEntry
+120 QState::onExit
+
+Class QState
+ size=16 align=8
+ base size=16 base align=8
+QState (0x7f62e0cdeaf0) 0
+ vptr=((& QState::_ZTV6QState) + 16u)
+ QAbstractState (0x7f62e0cdeb60) 0
+ primary-for QState (0x7f62e0cdeaf0)
+ QObject (0x7f62e0cdebd0) 0
+ primary-for QAbstractState (0x7f62e0cdeb60)
+
+Vtable for QStateMachine::SignalEvent
+QStateMachine::SignalEvent::_ZTVN13QStateMachine11SignalEventE: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN13QStateMachine11SignalEventE)
+16 QStateMachine::SignalEvent::~SignalEvent
+24 QStateMachine::SignalEvent::~SignalEvent
+
+Class QStateMachine::SignalEvent
+ size=48 align=8
+ base size=48 base align=8
+QStateMachine::SignalEvent (0x7f62e0d03150) 0
+ vptr=((& QStateMachine::SignalEvent::_ZTVN13QStateMachine11SignalEventE) + 16u)
+ QEvent (0x7f62e0d031c0) 0
+ primary-for QStateMachine::SignalEvent (0x7f62e0d03150)
+
+Vtable for QStateMachine::WrappedEvent
+QStateMachine::WrappedEvent::_ZTVN13QStateMachine12WrappedEventE: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN13QStateMachine12WrappedEventE)
+16 QStateMachine::WrappedEvent::~WrappedEvent
+24 QStateMachine::WrappedEvent::~WrappedEvent
+
+Class QStateMachine::WrappedEvent
+ size=40 align=8
+ base size=40 base align=8
+QStateMachine::WrappedEvent (0x7f62e0d03700) 0
+ vptr=((& QStateMachine::WrappedEvent::_ZTVN13QStateMachine12WrappedEventE) + 16u)
+ QEvent (0x7f62e0d03770) 0
+ primary-for QStateMachine::WrappedEvent (0x7f62e0d03700)
+
+Vtable for QStateMachine
+QStateMachine::_ZTV13QStateMachine: 20u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QStateMachine)
+16 QStateMachine::metaObject
+24 QStateMachine::qt_metacast
+32 QStateMachine::qt_metacall
+40 QStateMachine::~QStateMachine
+48 QStateMachine::~QStateMachine
+56 QStateMachine::event
+64 QStateMachine::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QStateMachine::onEntry
+120 QStateMachine::onExit
+128 QStateMachine::beginSelectTransitions
+136 QStateMachine::endSelectTransitions
+144 QStateMachine::beginMicrostep
+152 QStateMachine::endMicrostep
+
+Class QStateMachine
+ size=16 align=8
+ base size=16 base align=8
+QStateMachine (0x7f62e0cfbee0) 0
+ vptr=((& QStateMachine::_ZTV13QStateMachine) + 16u)
+ QState (0x7f62e0cfbf50) 0
+ primary-for QStateMachine (0x7f62e0cfbee0)
+ QAbstractState (0x7f62e0d03000) 0
+ primary-for QState (0x7f62e0cfbf50)
+ QObject (0x7f62e0d03070) 0
+ primary-for QAbstractState (0x7f62e0d03000)
+
+Class QBitArray
+ size=8 align=8
+ base size=8 base align=8
+QBitArray (0x7f62e0d36150) 0
+
+Class QBitRef
+ size=16 align=8
+ base size=12 base align=8
+QBitRef (0x7f62e0d89e00) 0
+
+Class QByteArrayMatcher::Data
+ size=272 align=8
+ base size=272 base align=8
+QByteArrayMatcher::Data (0x7f62e0d9caf0) 0
+
+Class QByteArrayMatcher
+ size=1040 align=8
+ base size=1040 base align=8
+QByteArrayMatcher (0x7f62e0d9c4d0) 0
+
+Class QCryptographicHash
+ size=8 align=8
+ base size=8 base align=8
+QCryptographicHash (0x7f62e0bd4150) 0
+
+Vtable for QtSharedPointer::ExternalRefCountData
+QtSharedPointer::ExternalRefCountData::_ZTVN15QtSharedPointer20ExternalRefCountDataE: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN15QtSharedPointer20ExternalRefCountDataE)
+16 QtSharedPointer::ExternalRefCountData::~ExternalRefCountData
+24 QtSharedPointer::ExternalRefCountData::~ExternalRefCountData
+32 QtSharedPointer::ExternalRefCountData::destroy
+
+Class QtSharedPointer::ExternalRefCountData
+ size=16 align=8
+ base size=16 base align=8
+QtSharedPointer::ExternalRefCountData (0x7f62e0bff070) 0
+ vptr=((& QtSharedPointer::ExternalRefCountData::_ZTVN15QtSharedPointer20ExternalRefCountDataE) + 16u)
+
+Vtable for QtSharedPointer::ExternalRefCountWithDestroyFn
+QtSharedPointer::ExternalRefCountWithDestroyFn::_ZTVN15QtSharedPointer29ExternalRefCountWithDestroyFnE: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN15QtSharedPointer29ExternalRefCountWithDestroyFnE)
+16 QtSharedPointer::ExternalRefCountWithDestroyFn::~ExternalRefCountWithDestroyFn
+24 QtSharedPointer::ExternalRefCountWithDestroyFn::~ExternalRefCountWithDestroyFn
+32 QtSharedPointer::ExternalRefCountWithDestroyFn::destroy
+
+Class QtSharedPointer::ExternalRefCountWithDestroyFn
+ size=24 align=8
+ base size=24 base align=8
+QtSharedPointer::ExternalRefCountWithDestroyFn (0x7f62e0c18930) 0
+ vptr=((& QtSharedPointer::ExternalRefCountWithDestroyFn::_ZTVN15QtSharedPointer29ExternalRefCountWithDestroyFnE) + 16u)
+ QtSharedPointer::ExternalRefCountData (0x7f62e0c189a0) 0
+ primary-for QtSharedPointer::ExternalRefCountWithDestroyFn (0x7f62e0c18930)
+
+Class QDate
+ size=4 align=4
+ base size=4 base align=4
+QDate (0x7f62e0a9f5b0) 0
+
+Class QTime
+ size=4 align=4
+ base size=4 base align=4
+QTime (0x7f62e0acf540) 0
+
+Class QDateTime
+ size=8 align=8
+ base size=8 base align=8
+QDateTime (0x7f62e0aecaf0) 0
+
+Class QEasingCurve
+ size=8 align=8
+ base size=8 base align=8
+QEasingCurve (0x7f62e0b32000) 0
+
+Class QPoint
+ size=8 align=4
+ base size=8 base align=4
+QPoint (0x7f62e0b32ee0) 0
+
+Class QPointF
+ size=16 align=8
+ base size=16 base align=8
+QPointF (0x7f62e0b71af0) 0
+
+Class QLine
+ size=16 align=4
+ base size=16 base align=4
+QLine (0x7f62e09a9af0) 0
+
+Class QLineF
+ size=32 align=8
+ base size=32 base align=8
+QLineF (0x7f62e09e79a0) 0
+
+Class QLinkedListData
+ size=32 align=8
+ base size=32 base align=8
+QLinkedListData (0x7f62e0a43460) 0
+
+Class QMargins
+ size=16 align=4
+ base size=16 base align=4
+QMargins (0x7f62e0902380) 0
+
+Class QSize
+ size=8 align=4
+ base size=8 base align=4
+QSize (0x7f62e092e150) 0
+
+Class QSizeF
+ size=16 align=8
+ base size=16 base align=8
+QSizeF (0x7f62e096fe00) 0
+
+Class QRect
+ size=16 align=4
+ base size=16 base align=4
+QRect (0x7f62e07c3380) 0
+
+Class QRectF
+ size=32 align=8
+ base size=32 base align=8
+QRectF (0x7f62e086fd20) 0
+
+Class QLatin1Literal
+ size=16 align=8
+ base size=16 base align=8
+QLatin1Literal (0x7f62e071eee0) 0
+
+Class QAbstractConcatenable
+ size=1 align=1
+ base size=0 base align=1
+QAbstractConcatenable (0x7f62e07303f0) 0 empty
+
+Class QTextBoundaryFinder
+ size=48 align=8
+ base size=48 base align=8
+QTextBoundaryFinder (0x7f62e0767380) 0
+
+Vtable for QTimeLine
+QTimeLine::_ZTV9QTimeLine: 15u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QTimeLine)
+16 QTimeLine::metaObject
+24 QTimeLine::qt_metacast
+32 QTimeLine::qt_metacall
+40 QTimeLine::~QTimeLine
+48 QTimeLine::~QTimeLine
+56 QObject::event
+64 QObject::eventFilter
+72 QTimeLine::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QTimeLine::valueForTime
+
+Class QTimeLine
+ size=16 align=8
+ base size=16 base align=8
+QTimeLine (0x7f62e0777700) 0
+ vptr=((& QTimeLine::_ZTV9QTimeLine) + 16u)
+ QObject (0x7f62e0777770) 0
+ primary-for QTimeLine (0x7f62e0777700)
+
+Vtable for QRunnable
+QRunnable::_ZTV9QRunnable: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QRunnable)
+16 __cxa_pure_virtual
+24 QRunnable::~QRunnable
+32 QRunnable::~QRunnable
+
+Class QRunnable
+ size=16 align=8
+ base size=12 base align=8
+QRunnable (0x7f62e059ff50) 0
+ vptr=((& QRunnable::_ZTV9QRunnable) + 16u)
+
+Class QMutex
+ size=8 align=8
+ base size=8 base align=8
+QMutex (0x7f62e05d6620) 0
+
+Class QMutexLocker
+ size=8 align=8
+ base size=8 base align=8
+QMutexLocker (0x7f62e05e51c0) 0
+
+Vtable for QtConcurrent::Exception
+QtConcurrent::Exception::_ZTVN12QtConcurrent9ExceptionE: 7u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN12QtConcurrent9ExceptionE)
+16 QtConcurrent::Exception::~Exception
+24 QtConcurrent::Exception::~Exception
+32 std::exception::what
+40 QtConcurrent::Exception::raise
+48 QtConcurrent::Exception::clone
+
+Class QtConcurrent::Exception
+ size=8 align=8
+ base size=8 base align=8
+QtConcurrent::Exception (0x7f62e05fa4d0) 0 nearly-empty
+ vptr=((& QtConcurrent::Exception::_ZTVN12QtConcurrent9ExceptionE) + 16u)
+ std::exception (0x7f62e05fa540) 0 nearly-empty
+ primary-for QtConcurrent::Exception (0x7f62e05fa4d0)
+
+Vtable for QtConcurrent::UnhandledException
+QtConcurrent::UnhandledException::_ZTVN12QtConcurrent18UnhandledExceptionE: 7u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN12QtConcurrent18UnhandledExceptionE)
+16 QtConcurrent::UnhandledException::~UnhandledException
+24 QtConcurrent::UnhandledException::~UnhandledException
+32 std::exception::what
+40 QtConcurrent::UnhandledException::raise
+48 QtConcurrent::UnhandledException::clone
+
+Class QtConcurrent::UnhandledException
+ size=8 align=8
+ base size=8 base align=8
+QtConcurrent::UnhandledException (0x7f62e05fa770) 0 nearly-empty
+ vptr=((& QtConcurrent::UnhandledException::_ZTVN12QtConcurrent18UnhandledExceptionE) + 16u)
+ QtConcurrent::Exception (0x7f62e05fa7e0) 0 nearly-empty
+ primary-for QtConcurrent::UnhandledException (0x7f62e05fa770)
+ std::exception (0x7f62e05fa850) 0 nearly-empty
+ primary-for QtConcurrent::Exception (0x7f62e05fa7e0)
+
+Class QtConcurrent::internal::ExceptionHolder
+ size=8 align=8
+ base size=8 base align=8
+QtConcurrent::internal::ExceptionHolder (0x7f62e05faa80) 0
+
+Class QtConcurrent::internal::ExceptionStore
+ size=8 align=8
+ base size=8 base align=8
+QtConcurrent::internal::ExceptionStore (0x7f62e05fae00) 0
+
+Class QtConcurrent::ResultItem
+ size=16 align=8
+ base size=16 base align=8
+QtConcurrent::ResultItem (0x7f62e05fae70) 0
+
+Class QtConcurrent::ResultIteratorBase
+ size=16 align=8
+ base size=12 base align=8
+QtConcurrent::ResultIteratorBase (0x7f62e0613d90) 0
+
+Vtable for QtConcurrent::ResultStoreBase
+QtConcurrent::ResultStoreBase::_ZTVN12QtConcurrent15ResultStoreBaseE: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN12QtConcurrent15ResultStoreBaseE)
+16 QtConcurrent::ResultStoreBase::~ResultStoreBase
+24 QtConcurrent::ResultStoreBase::~ResultStoreBase
+
+Class QtConcurrent::ResultStoreBase
+ size=48 align=8
+ base size=44 base align=8
+QtConcurrent::ResultStoreBase (0x7f62e0619930) 0
+ vptr=((& QtConcurrent::ResultStoreBase::_ZTVN12QtConcurrent15ResultStoreBaseE) + 16u)
+
+Vtable for QFutureInterfaceBase
+QFutureInterfaceBase::_ZTV20QFutureInterfaceBase: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI20QFutureInterfaceBase)
+16 QFutureInterfaceBase::~QFutureInterfaceBase
+24 QFutureInterfaceBase::~QFutureInterfaceBase
+
+Class QFutureInterfaceBase
+ size=16 align=8
+ base size=16 base align=8
+QFutureInterfaceBase (0x7f62e0657d90) 0
+ vptr=((& QFutureInterfaceBase::_ZTV20QFutureInterfaceBase) + 16u)
+
+Vtable for QFutureWatcherBase
+QFutureWatcherBase::_ZTV18QFutureWatcherBase: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QFutureWatcherBase)
+16 QFutureWatcherBase::metaObject
+24 QFutureWatcherBase::qt_metacast
+32 QFutureWatcherBase::qt_metacall
+40 QFutureWatcherBase::~QFutureWatcherBase
+48 QFutureWatcherBase::~QFutureWatcherBase
+56 QFutureWatcherBase::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QFutureWatcherBase::connectNotify
+104 QFutureWatcherBase::disconnectNotify
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+
+Class QFutureWatcherBase
+ size=16 align=8
+ base size=16 base align=8
+QFutureWatcherBase (0x7f62e053c690) 0
+ vptr=((& QFutureWatcherBase::_ZTV18QFutureWatcherBase) + 16u)
+ QObject (0x7f62e053c700) 0
+ primary-for QFutureWatcherBase (0x7f62e053c690)
+
+Vtable for QThread
+QThread::_ZTV7QThread: 15u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QThread)
+16 QThread::metaObject
+24 QThread::qt_metacast
+32 QThread::qt_metacall
+40 QThread::~QThread
+48 QThread::~QThread
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QThread::run
+
+Class QThread
+ size=16 align=8
+ base size=16 base align=8
+QThread (0x7f62e058ea80) 0
+ vptr=((& QThread::_ZTV7QThread) + 16u)
+ QObject (0x7f62e058eaf0) 0
+ primary-for QThread (0x7f62e058ea80)
+
+Vtable for QThreadPool
+QThreadPool::_ZTV11QThreadPool: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QThreadPool)
+16 QThreadPool::metaObject
+24 QThreadPool::qt_metacast
+32 QThreadPool::qt_metacall
+40 QThreadPool::~QThreadPool
+48 QThreadPool::~QThreadPool
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QThreadPool
+ size=16 align=8
+ base size=16 base align=8
+QThreadPool (0x7f62e03b4930) 0
+ vptr=((& QThreadPool::_ZTV11QThreadPool) + 16u)
+ QObject (0x7f62e03b49a0) 0
+ primary-for QThreadPool (0x7f62e03b4930)
+
+Class QWaitCondition
+ size=8 align=8
+ base size=8 base align=8
+QWaitCondition (0x7f62e03c4ee0) 0
+
+Class QSemaphore
+ size=8 align=8
+ base size=8 base align=8
+QSemaphore (0x7f62e03d0460) 0
+
+Class QtConcurrent::ThreadEngineBarrier
+ size=24 align=8
+ base size=24 base align=8
+QtConcurrent::ThreadEngineBarrier (0x7f62e03d09a0) 0
+
+Vtable for QtConcurrent::ThreadEngineBase
+QtConcurrent::ThreadEngineBase::_ZTVN12QtConcurrent16ThreadEngineBaseE: 11u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN12QtConcurrent16ThreadEngineBaseE)
+16 QtConcurrent::ThreadEngineBase::run
+24 QtConcurrent::ThreadEngineBase::~ThreadEngineBase
+32 QtConcurrent::ThreadEngineBase::~ThreadEngineBase
+40 QtConcurrent::ThreadEngineBase::start
+48 QtConcurrent::ThreadEngineBase::finish
+56 QtConcurrent::ThreadEngineBase::threadFunction
+64 QtConcurrent::ThreadEngineBase::shouldStartThread
+72 QtConcurrent::ThreadEngineBase::shouldThrottleThread
+80 __cxa_pure_virtual
+
+Class QtConcurrent::ThreadEngineBase
+ size=64 align=8
+ base size=64 base align=8
+QtConcurrent::ThreadEngineBase (0x7f62e03d0a80) 0
+ vptr=((& QtConcurrent::ThreadEngineBase::_ZTVN12QtConcurrent16ThreadEngineBaseE) + 16u)
+ QRunnable (0x7f62e03d0af0) 0
+ primary-for QtConcurrent::ThreadEngineBase (0x7f62e03d0a80)
+
+VTT for QtConcurrent::ThreadEngine<void>
+QtConcurrent::ThreadEngine<void>::_ZTTN12QtConcurrent12ThreadEngineIvEE: 2u entries
+0 ((& QtConcurrent::ThreadEngine<void>::_ZTVN12QtConcurrent12ThreadEngineIvEE) + 24u)
+8 ((& QtConcurrent::ThreadEngine<void>::_ZTVN12QtConcurrent12ThreadEngineIvEE) + 136u)
+
+Class QtConcurrent::BlockSizeManager
+ size=96 align=8
+ base size=92 base align=8
+QtConcurrent::BlockSizeManager (0x7f62e041bee0) 0
+
+Vtable for QFactoryInterface
+QFactoryInterface::_ZTV17QFactoryInterface: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QFactoryInterface)
+16 QFactoryInterface::~QFactoryInterface
+24 QFactoryInterface::~QFactoryInterface
+32 __cxa_pure_virtual
+
+Class QFactoryInterface
+ size=8 align=8
+ base size=8 base align=8
+QFactoryInterface (0x7f62dfec5d20) 0 nearly-empty
+ vptr=((& QFactoryInterface::_ZTV17QFactoryInterface) + 16u)
+
+Vtable for QTextCodecFactoryInterface
+QTextCodecFactoryInterface::_ZTV26QTextCodecFactoryInterface: 6u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI26QTextCodecFactoryInterface)
+16 QTextCodecFactoryInterface::~QTextCodecFactoryInterface
+24 QTextCodecFactoryInterface::~QTextCodecFactoryInterface
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+
+Class QTextCodecFactoryInterface
+ size=8 align=8
+ base size=8 base align=8
+QTextCodecFactoryInterface (0x7f62dfef9000) 0 nearly-empty
+ vptr=((& QTextCodecFactoryInterface::_ZTV26QTextCodecFactoryInterface) + 16u)
+ QFactoryInterface (0x7f62dfef9070) 0 nearly-empty
+ primary-for QTextCodecFactoryInterface (0x7f62dfef9000)
+
+Vtable for QTextCodecPlugin
+QTextCodecPlugin::_ZTV16QTextCodecPlugin: 27u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QTextCodecPlugin)
+16 QTextCodecPlugin::metaObject
+24 QTextCodecPlugin::qt_metacast
+32 QTextCodecPlugin::qt_metacall
+40 QTextCodecPlugin::~QTextCodecPlugin
+48 QTextCodecPlugin::~QTextCodecPlugin
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 __cxa_pure_virtual
+136 __cxa_pure_virtual
+144 __cxa_pure_virtual
+152 QTextCodecPlugin::keys
+160 QTextCodecPlugin::create
+168 (int (*)(...))-0x00000000000000010
+176 (int (*)(...))(& _ZTI16QTextCodecPlugin)
+184 QTextCodecPlugin::_ZThn16_N16QTextCodecPluginD1Ev
+192 QTextCodecPlugin::_ZThn16_N16QTextCodecPluginD0Ev
+200 QTextCodecPlugin::_ZThn16_NK16QTextCodecPlugin4keysEv
+208 QTextCodecPlugin::_ZThn16_N16QTextCodecPlugin6createERK7QString
+
+Class QTextCodecPlugin
+ size=24 align=8
+ base size=24 base align=8
+QTextCodecPlugin (0x7f62dff01580) 0
+ vptr=((& QTextCodecPlugin::_ZTV16QTextCodecPlugin) + 16u)
+ QObject (0x7f62dfef9a80) 0
+ primary-for QTextCodecPlugin (0x7f62dff01580)
+ QTextCodecFactoryInterface (0x7f62dfef9af0) 16 nearly-empty
+ vptr=((& QTextCodecPlugin::_ZTV16QTextCodecPlugin) + 184u)
+ QFactoryInterface (0x7f62dfef9b60) 16 nearly-empty
+ primary-for QTextCodecFactoryInterface (0x7f62dfef9af0)
+
+Class QLibraryInfo
+ size=1 align=1
+ base size=0 base align=1
+QLibraryInfo (0x7f62dff4f150) 0 empty
+
+Vtable for QEventLoop
+QEventLoop::_ZTV10QEventLoop: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QEventLoop)
+16 QEventLoop::metaObject
+24 QEventLoop::qt_metacast
+32 QEventLoop::qt_metacall
+40 QEventLoop::~QEventLoop
+48 QEventLoop::~QEventLoop
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QEventLoop
+ size=16 align=8
+ base size=16 base align=8
+QEventLoop (0x7f62dff4f2a0) 0
+ vptr=((& QEventLoop::_ZTV10QEventLoop) + 16u)
+ QObject (0x7f62dff4f310) 0
+ primary-for QEventLoop (0x7f62dff4f2a0)
+
+Vtable for QAbstractEventDispatcher
+QAbstractEventDispatcher::_ZTV24QAbstractEventDispatcher: 27u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI24QAbstractEventDispatcher)
+16 QAbstractEventDispatcher::metaObject
+24 QAbstractEventDispatcher::qt_metacast
+32 QAbstractEventDispatcher::qt_metacall
+40 QAbstractEventDispatcher::~QAbstractEventDispatcher
+48 QAbstractEventDispatcher::~QAbstractEventDispatcher
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 __cxa_pure_virtual
+136 __cxa_pure_virtual
+144 __cxa_pure_virtual
+152 __cxa_pure_virtual
+160 __cxa_pure_virtual
+168 __cxa_pure_virtual
+176 __cxa_pure_virtual
+184 __cxa_pure_virtual
+192 __cxa_pure_virtual
+200 QAbstractEventDispatcher::startingUp
+208 QAbstractEventDispatcher::closingDown
+
+Class QAbstractEventDispatcher
+ size=16 align=8
+ base size=16 base align=8
+QAbstractEventDispatcher (0x7f62dff87bd0) 0
+ vptr=((& QAbstractEventDispatcher::_ZTV24QAbstractEventDispatcher) + 16u)
+ QObject (0x7f62dff87c40) 0
+ primary-for QAbstractEventDispatcher (0x7f62dff87bd0)
+
+Class QModelIndex
+ size=24 align=8
+ base size=24 base align=8
+QModelIndex (0x7f62dfdb1a80) 0
+
+Class QPersistentModelIndex
+ size=8 align=8
+ base size=8 base align=8
+QPersistentModelIndex (0x7f62dfddd540) 0
+
+Vtable for QAbstractItemModel
+QAbstractItemModel::_ZTV18QAbstractItemModel: 42u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QAbstractItemModel)
+16 QAbstractItemModel::metaObject
+24 QAbstractItemModel::qt_metacast
+32 QAbstractItemModel::qt_metacall
+40 QAbstractItemModel::~QAbstractItemModel
+48 QAbstractItemModel::~QAbstractItemModel
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 __cxa_pure_virtual
+136 __cxa_pure_virtual
+144 QAbstractItemModel::hasChildren
+152 __cxa_pure_virtual
+160 QAbstractItemModel::setData
+168 QAbstractItemModel::headerData
+176 QAbstractItemModel::setHeaderData
+184 QAbstractItemModel::itemData
+192 QAbstractItemModel::setItemData
+200 QAbstractItemModel::mimeTypes
+208 QAbstractItemModel::mimeData
+216 QAbstractItemModel::dropMimeData
+224 QAbstractItemModel::supportedDropActions
+232 QAbstractItemModel::insertRows
+240 QAbstractItemModel::insertColumns
+248 QAbstractItemModel::removeRows
+256 QAbstractItemModel::removeColumns
+264 QAbstractItemModel::fetchMore
+272 QAbstractItemModel::canFetchMore
+280 QAbstractItemModel::flags
+288 QAbstractItemModel::sort
+296 QAbstractItemModel::buddy
+304 QAbstractItemModel::match
+312 QAbstractItemModel::span
+320 QAbstractItemModel::submit
+328 QAbstractItemModel::revert
+
+Class QAbstractItemModel
+ size=16 align=8
+ base size=16 base align=8
+QAbstractItemModel (0x7f62dfde6850) 0
+ vptr=((& QAbstractItemModel::_ZTV18QAbstractItemModel) + 16u)
+ QObject (0x7f62dfde68c0) 0
+ primary-for QAbstractItemModel (0x7f62dfde6850)
+
+Vtable for QAbstractTableModel
+QAbstractTableModel::_ZTV19QAbstractTableModel: 42u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QAbstractTableModel)
+16 QAbstractTableModel::metaObject
+24 QAbstractTableModel::qt_metacast
+32 QAbstractTableModel::qt_metacall
+40 QAbstractTableModel::~QAbstractTableModel
+48 QAbstractTableModel::~QAbstractTableModel
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QAbstractTableModel::index
+120 QAbstractTableModel::parent
+128 __cxa_pure_virtual
+136 __cxa_pure_virtual
+144 QAbstractTableModel::hasChildren
+152 __cxa_pure_virtual
+160 QAbstractItemModel::setData
+168 QAbstractItemModel::headerData
+176 QAbstractItemModel::setHeaderData
+184 QAbstractItemModel::itemData
+192 QAbstractItemModel::setItemData
+200 QAbstractItemModel::mimeTypes
+208 QAbstractItemModel::mimeData
+216 QAbstractTableModel::dropMimeData
+224 QAbstractItemModel::supportedDropActions
+232 QAbstractItemModel::insertRows
+240 QAbstractItemModel::insertColumns
+248 QAbstractItemModel::removeRows
+256 QAbstractItemModel::removeColumns
+264 QAbstractItemModel::fetchMore
+272 QAbstractItemModel::canFetchMore
+280 QAbstractItemModel::flags
+288 QAbstractItemModel::sort
+296 QAbstractItemModel::buddy
+304 QAbstractItemModel::match
+312 QAbstractItemModel::span
+320 QAbstractItemModel::submit
+328 QAbstractItemModel::revert
+
+Class QAbstractTableModel
+ size=16 align=8
+ base size=16 base align=8
+QAbstractTableModel (0x7f62dfe42b60) 0
+ vptr=((& QAbstractTableModel::_ZTV19QAbstractTableModel) + 16u)
+ QAbstractItemModel (0x7f62dfe42bd0) 0
+ primary-for QAbstractTableModel (0x7f62dfe42b60)
+ QObject (0x7f62dfe42c40) 0
+ primary-for QAbstractItemModel (0x7f62dfe42bd0)
+
+Vtable for QAbstractListModel
+QAbstractListModel::_ZTV18QAbstractListModel: 42u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QAbstractListModel)
+16 QAbstractListModel::metaObject
+24 QAbstractListModel::qt_metacast
+32 QAbstractListModel::qt_metacall
+40 QAbstractListModel::~QAbstractListModel
+48 QAbstractListModel::~QAbstractListModel
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QAbstractListModel::index
+120 QAbstractListModel::parent
+128 __cxa_pure_virtual
+136 QAbstractListModel::columnCount
+144 QAbstractListModel::hasChildren
+152 __cxa_pure_virtual
+160 QAbstractItemModel::setData
+168 QAbstractItemModel::headerData
+176 QAbstractItemModel::setHeaderData
+184 QAbstractItemModel::itemData
+192 QAbstractItemModel::setItemData
+200 QAbstractItemModel::mimeTypes
+208 QAbstractItemModel::mimeData
+216 QAbstractListModel::dropMimeData
+224 QAbstractItemModel::supportedDropActions
+232 QAbstractItemModel::insertRows
+240 QAbstractItemModel::insertColumns
+248 QAbstractItemModel::removeRows
+256 QAbstractItemModel::removeColumns
+264 QAbstractItemModel::fetchMore
+272 QAbstractItemModel::canFetchMore
+280 QAbstractItemModel::flags
+288 QAbstractItemModel::sort
+296 QAbstractItemModel::buddy
+304 QAbstractItemModel::match
+312 QAbstractItemModel::span
+320 QAbstractItemModel::submit
+328 QAbstractItemModel::revert
+
+Class QAbstractListModel
+ size=16 align=8
+ base size=16 base align=8
+QAbstractListModel (0x7f62dfe5c0e0) 0
+ vptr=((& QAbstractListModel::_ZTV18QAbstractListModel) + 16u)
+ QAbstractItemModel (0x7f62dfe5c150) 0
+ primary-for QAbstractListModel (0x7f62dfe5c0e0)
+ QObject (0x7f62dfe5c1c0) 0
+ primary-for QAbstractItemModel (0x7f62dfe5c150)
+
+Class QBasicTimer
+ size=4 align=4
+ base size=4 base align=4
+QBasicTimer (0x7f62dfe8e230) 0
+
+Vtable for QCoreApplication
+QCoreApplication::_ZTV16QCoreApplication: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QCoreApplication)
+16 QCoreApplication::metaObject
+24 QCoreApplication::qt_metacast
+32 QCoreApplication::qt_metacall
+40 QCoreApplication::~QCoreApplication
+48 QCoreApplication::~QCoreApplication
+56 QCoreApplication::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QCoreApplication::notify
+120 QCoreApplication::compressEvent
+
+Class QCoreApplication
+ size=16 align=8
+ base size=16 base align=8
+QCoreApplication (0x7f62dfc98620) 0
+ vptr=((& QCoreApplication::_ZTV16QCoreApplication) + 16u)
+ QObject (0x7f62dfc98690) 0
+ primary-for QCoreApplication (0x7f62dfc98620)
+
+Class __exception
+ size=40 align=8
+ base size=40 base align=8
+__exception (0x7f62dfccd310) 0
+
+Class QMetaMethod
+ size=16 align=8
+ base size=12 base align=8
+QMetaMethod (0x7f62dfd3a770) 0
+
+Class QMetaEnum
+ size=16 align=8
+ base size=12 base align=8
+QMetaEnum (0x7f62dfd52bd0) 0
+
+Class QMetaProperty
+ size=32 align=8
+ base size=32 base align=8
+QMetaProperty (0x7f62dfd62930) 0
+
+Class QMetaClassInfo
+ size=16 align=8
+ base size=12 base align=8
+QMetaClassInfo (0x7f62dfd73000) 0
+
+Vtable for QMimeData
+QMimeData::_ZTV9QMimeData: 17u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QMimeData)
+16 QMimeData::metaObject
+24 QMimeData::qt_metacast
+32 QMimeData::qt_metacall
+40 QMimeData::~QMimeData
+48 QMimeData::~QMimeData
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QMimeData::hasFormat
+120 QMimeData::formats
+128 QMimeData::retrieveData
+
+Class QMimeData
+ size=16 align=8
+ base size=16 base align=8
+QMimeData (0x7f62dfd73af0) 0
+ vptr=((& QMimeData::_ZTV9QMimeData) + 16u)
+ QObject (0x7f62dfd73b60) 0
+ primary-for QMimeData (0x7f62dfd73af0)
+
+Vtable for QObjectCleanupHandler
+QObjectCleanupHandler::_ZTV21QObjectCleanupHandler: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI21QObjectCleanupHandler)
+16 QObjectCleanupHandler::metaObject
+24 QObjectCleanupHandler::qt_metacast
+32 QObjectCleanupHandler::qt_metacall
+40 QObjectCleanupHandler::~QObjectCleanupHandler
+48 QObjectCleanupHandler::~QObjectCleanupHandler
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QObjectCleanupHandler
+ size=24 align=8
+ base size=24 base align=8
+QObjectCleanupHandler (0x7f62dfb97380) 0
+ vptr=((& QObjectCleanupHandler::_ZTV21QObjectCleanupHandler) + 16u)
+ QObject (0x7f62dfb973f0) 0
+ primary-for QObjectCleanupHandler (0x7f62dfb97380)
+
+Vtable for QSharedMemory
+QSharedMemory::_ZTV13QSharedMemory: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QSharedMemory)
+16 QSharedMemory::metaObject
+24 QSharedMemory::qt_metacast
+32 QSharedMemory::qt_metacall
+40 QSharedMemory::~QSharedMemory
+48 QSharedMemory::~QSharedMemory
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QSharedMemory
+ size=16 align=8
+ base size=16 base align=8
+QSharedMemory (0x7f62dfba84d0) 0
+ vptr=((& QSharedMemory::_ZTV13QSharedMemory) + 16u)
+ QObject (0x7f62dfba8540) 0
+ primary-for QSharedMemory (0x7f62dfba84d0)
+
+Vtable for QSignalMapper
+QSignalMapper::_ZTV13QSignalMapper: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QSignalMapper)
+16 QSignalMapper::metaObject
+24 QSignalMapper::qt_metacast
+32 QSignalMapper::qt_metacall
+40 QSignalMapper::~QSignalMapper
+48 QSignalMapper::~QSignalMapper
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QSignalMapper
+ size=16 align=8
+ base size=16 base align=8
+QSignalMapper (0x7f62dfbc62a0) 0
+ vptr=((& QSignalMapper::_ZTV13QSignalMapper) + 16u)
+ QObject (0x7f62dfbc6310) 0
+ primary-for QSignalMapper (0x7f62dfbc62a0)
+
+Vtable for QSocketNotifier
+QSocketNotifier::_ZTV15QSocketNotifier: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QSocketNotifier)
+16 QSocketNotifier::metaObject
+24 QSocketNotifier::qt_metacast
+32 QSocketNotifier::qt_metacall
+40 QSocketNotifier::~QSocketNotifier
+48 QSocketNotifier::~QSocketNotifier
+56 QSocketNotifier::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QSocketNotifier
+ size=32 align=8
+ base size=25 base align=8
+QSocketNotifier (0x7f62dfbde690) 0
+ vptr=((& QSocketNotifier::_ZTV15QSocketNotifier) + 16u)
+ QObject (0x7f62dfbde700) 0
+ primary-for QSocketNotifier (0x7f62dfbde690)
+
+Class QSystemSemaphore
+ size=8 align=8
+ base size=8 base align=8
+QSystemSemaphore (0x7f62dfbf8a10) 0
+
+Vtable for QTimer
+QTimer::_ZTV6QTimer: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI6QTimer)
+16 QTimer::metaObject
+24 QTimer::qt_metacast
+32 QTimer::qt_metacall
+40 QTimer::~QTimer
+48 QTimer::~QTimer
+56 QObject::event
+64 QObject::eventFilter
+72 QTimer::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QTimer
+ size=32 align=8
+ base size=29 base align=8
+QTimer (0x7f62dfc04460) 0
+ vptr=((& QTimer::_ZTV6QTimer) + 16u)
+ QObject (0x7f62dfc044d0) 0
+ primary-for QTimer (0x7f62dfc04460)
+
+Vtable for QTranslator
+QTranslator::_ZTV11QTranslator: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QTranslator)
+16 QTranslator::metaObject
+24 QTranslator::qt_metacast
+32 QTranslator::qt_metacall
+40 QTranslator::~QTranslator
+48 QTranslator::~QTranslator
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QTranslator::translate
+120 QTranslator::isEmpty
+
+Class QTranslator
+ size=16 align=8
+ base size=16 base align=8
+QTranslator (0x7f62dfc289a0) 0
+ vptr=((& QTranslator::_ZTV11QTranslator) + 16u)
+ QObject (0x7f62dfc28a10) 0
+ primary-for QTranslator (0x7f62dfc289a0)
+
+Vtable for QLibrary
+QLibrary::_ZTV8QLibrary: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI8QLibrary)
+16 QLibrary::metaObject
+24 QLibrary::qt_metacast
+32 QLibrary::qt_metacall
+40 QLibrary::~QLibrary
+48 QLibrary::~QLibrary
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QLibrary
+ size=32 align=8
+ base size=25 base align=8
+QLibrary (0x7f62dfc42930) 0
+ vptr=((& QLibrary::_ZTV8QLibrary) + 16u)
+ QObject (0x7f62dfc429a0) 0
+ primary-for QLibrary (0x7f62dfc42930)
+
+Vtable for QPluginLoader
+QPluginLoader::_ZTV13QPluginLoader: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QPluginLoader)
+16 QPluginLoader::metaObject
+24 QPluginLoader::qt_metacast
+32 QPluginLoader::qt_metacall
+40 QPluginLoader::~QPluginLoader
+48 QPluginLoader::~QPluginLoader
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QPluginLoader
+ size=32 align=8
+ base size=25 base align=8
+QPluginLoader (0x7f62dfc903f0) 0
+ vptr=((& QPluginLoader::_ZTV13QPluginLoader) + 16u)
+ QObject (0x7f62dfc90460) 0
+ primary-for QPluginLoader (0x7f62dfc903f0)
+
+Class QUuid
+ size=16 align=4
+ base size=16 base align=4
+QUuid (0x7f62dfa9eb60) 0
+
+Class QReadWriteLock
+ size=8 align=8
+ base size=8 base align=8
+QReadWriteLock (0x7f62dfac84d0) 0
+
+Class QReadLocker
+ size=8 align=8
+ base size=8 base align=8
+QReadLocker (0x7f62dfac8b60) 0
+
+Class QWriteLocker
+ size=8 align=8
+ base size=8 base align=8
+QWriteLocker (0x7f62dfae5ee0) 0
+
+Class QThreadStorageData
+ size=4 align=4
+ base size=4 base align=4
+QThreadStorageData (0x7f62dfb002a0) 0
+
+Vtable for QAbstractAnimation
+QAbstractAnimation::_ZTV18QAbstractAnimation: 18u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QAbstractAnimation)
+16 QAbstractAnimation::metaObject
+24 QAbstractAnimation::qt_metacast
+32 QAbstractAnimation::qt_metacall
+40 QAbstractAnimation::~QAbstractAnimation
+48 QAbstractAnimation::~QAbstractAnimation
+56 QAbstractAnimation::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 QAbstractAnimation::updateState
+136 QAbstractAnimation::updateDirection
+
+Class QAbstractAnimation
+ size=16 align=8
+ base size=16 base align=8
+QAbstractAnimation (0x7f62dfb00a10) 0
+ vptr=((& QAbstractAnimation::_ZTV18QAbstractAnimation) + 16u)
+ QObject (0x7f62dfb00a80) 0
+ primary-for QAbstractAnimation (0x7f62dfb00a10)
+
+Vtable for QAnimationGroup
+QAnimationGroup::_ZTV15QAnimationGroup: 18u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QAnimationGroup)
+16 QAnimationGroup::metaObject
+24 QAnimationGroup::qt_metacast
+32 QAnimationGroup::qt_metacall
+40 QAnimationGroup::~QAnimationGroup
+48 QAnimationGroup::~QAnimationGroup
+56 QAnimationGroup::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 QAbstractAnimation::updateState
+136 QAbstractAnimation::updateDirection
+
+Class QAnimationGroup
+ size=16 align=8
+ base size=16 base align=8
+QAnimationGroup (0x7f62dfb36150) 0
+ vptr=((& QAnimationGroup::_ZTV15QAnimationGroup) + 16u)
+ QAbstractAnimation (0x7f62dfb361c0) 0
+ primary-for QAnimationGroup (0x7f62dfb36150)
+ QObject (0x7f62dfb36230) 0
+ primary-for QAbstractAnimation (0x7f62dfb361c0)
+
+Vtable for QParallelAnimationGroup
+QParallelAnimationGroup::_ZTV23QParallelAnimationGroup: 18u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI23QParallelAnimationGroup)
+16 QParallelAnimationGroup::metaObject
+24 QParallelAnimationGroup::qt_metacast
+32 QParallelAnimationGroup::qt_metacall
+40 QParallelAnimationGroup::~QParallelAnimationGroup
+48 QParallelAnimationGroup::~QParallelAnimationGroup
+56 QParallelAnimationGroup::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QParallelAnimationGroup::duration
+120 QParallelAnimationGroup::updateCurrentTime
+128 QParallelAnimationGroup::updateState
+136 QParallelAnimationGroup::updateDirection
+
+Class QParallelAnimationGroup
+ size=16 align=8
+ base size=16 base align=8
+QParallelAnimationGroup (0x7f62dfb4f000) 0
+ vptr=((& QParallelAnimationGroup::_ZTV23QParallelAnimationGroup) + 16u)
+ QAnimationGroup (0x7f62dfb4f070) 0
+ primary-for QParallelAnimationGroup (0x7f62dfb4f000)
+ QAbstractAnimation (0x7f62dfb4f0e0) 0
+ primary-for QAnimationGroup (0x7f62dfb4f070)
+ QObject (0x7f62dfb4f150) 0
+ primary-for QAbstractAnimation (0x7f62dfb4f0e0)
+
+Vtable for QPauseAnimation
+QPauseAnimation::_ZTV15QPauseAnimation: 18u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QPauseAnimation)
+16 QPauseAnimation::metaObject
+24 QPauseAnimation::qt_metacast
+32 QPauseAnimation::qt_metacall
+40 QPauseAnimation::~QPauseAnimation
+48 QPauseAnimation::~QPauseAnimation
+56 QPauseAnimation::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QPauseAnimation::duration
+120 QPauseAnimation::updateCurrentTime
+128 QAbstractAnimation::updateState
+136 QAbstractAnimation::updateDirection
+
+Class QPauseAnimation
+ size=16 align=8
+ base size=16 base align=8
+QPauseAnimation (0x7f62dfb5de70) 0
+ vptr=((& QPauseAnimation::_ZTV15QPauseAnimation) + 16u)
+ QAbstractAnimation (0x7f62dfb5dee0) 0
+ primary-for QPauseAnimation (0x7f62dfb5de70)
+ QObject (0x7f62dfb5df50) 0
+ primary-for QAbstractAnimation (0x7f62dfb5dee0)
+
+Vtable for QVariantAnimation
+QVariantAnimation::_ZTV17QVariantAnimation: 20u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QVariantAnimation)
+16 QVariantAnimation::metaObject
+24 QVariantAnimation::qt_metacast
+32 QVariantAnimation::qt_metacall
+40 QVariantAnimation::~QVariantAnimation
+48 QVariantAnimation::~QVariantAnimation
+56 QVariantAnimation::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QVariantAnimation::duration
+120 QVariantAnimation::updateCurrentTime
+128 QVariantAnimation::updateState
+136 QAbstractAnimation::updateDirection
+144 __cxa_pure_virtual
+152 QVariantAnimation::interpolated
+
+Class QVariantAnimation
+ size=16 align=8
+ base size=16 base align=8
+QVariantAnimation (0x7f62dfb7b8c0) 0
+ vptr=((& QVariantAnimation::_ZTV17QVariantAnimation) + 16u)
+ QAbstractAnimation (0x7f62dfb7b930) 0
+ primary-for QVariantAnimation (0x7f62dfb7b8c0)
+ QObject (0x7f62dfb7b9a0) 0
+ primary-for QAbstractAnimation (0x7f62dfb7b930)
+
+Vtable for QPropertyAnimation
+QPropertyAnimation::_ZTV18QPropertyAnimation: 20u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QPropertyAnimation)
+16 QPropertyAnimation::metaObject
+24 QPropertyAnimation::qt_metacast
+32 QPropertyAnimation::qt_metacall
+40 QPropertyAnimation::~QPropertyAnimation
+48 QPropertyAnimation::~QPropertyAnimation
+56 QPropertyAnimation::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QVariantAnimation::duration
+120 QVariantAnimation::updateCurrentTime
+128 QPropertyAnimation::updateState
+136 QAbstractAnimation::updateDirection
+144 QPropertyAnimation::updateCurrentValue
+152 QVariantAnimation::interpolated
+
+Class QPropertyAnimation
+ size=16 align=8
+ base size=16 base align=8
+QPropertyAnimation (0x7f62df999b60) 0
+ vptr=((& QPropertyAnimation::_ZTV18QPropertyAnimation) + 16u)
+ QVariantAnimation (0x7f62df999bd0) 0
+ primary-for QPropertyAnimation (0x7f62df999b60)
+ QAbstractAnimation (0x7f62df999c40) 0
+ primary-for QVariantAnimation (0x7f62df999bd0)
+ QObject (0x7f62df999cb0) 0
+ primary-for QAbstractAnimation (0x7f62df999c40)
+
+Vtable for QSequentialAnimationGroup
+QSequentialAnimationGroup::_ZTV25QSequentialAnimationGroup: 18u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI25QSequentialAnimationGroup)
+16 QSequentialAnimationGroup::metaObject
+24 QSequentialAnimationGroup::qt_metacast
+32 QSequentialAnimationGroup::qt_metacall
+40 QSequentialAnimationGroup::~QSequentialAnimationGroup
+48 QSequentialAnimationGroup::~QSequentialAnimationGroup
+56 QSequentialAnimationGroup::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QSequentialAnimationGroup::duration
+120 QSequentialAnimationGroup::updateCurrentTime
+128 QSequentialAnimationGroup::updateState
+136 QSequentialAnimationGroup::updateDirection
+
+Class QSequentialAnimationGroup
+ size=16 align=8
+ base size=16 base align=8
+QSequentialAnimationGroup (0x7f62df9b3b60) 0
+ vptr=((& QSequentialAnimationGroup::_ZTV25QSequentialAnimationGroup) + 16u)
+ QAnimationGroup (0x7f62df9b3bd0) 0
+ primary-for QSequentialAnimationGroup (0x7f62df9b3b60)
+ QAbstractAnimation (0x7f62df9b3c40) 0
+ primary-for QAnimationGroup (0x7f62df9b3bd0)
+ QObject (0x7f62df9b3cb0) 0
+ primary-for QAbstractAnimation (0x7f62df9b3c40)
+
+Class QColor
+ size=16 align=4
+ base size=14 base align=4
+QColor (0x7f62df9db620) 0
+
+Class QRegion::QRegionData
+ size=32 align=8
+ base size=32 base align=8
+QRegion::QRegionData (0x7f62dfa555b0) 0
+
+Class QRegion
+ size=8 align=8
+ base size=8 base align=8
+QRegion (0x7f62dfa2fcb0) 0
+
+Class QKeySequence
+ size=8 align=8
+ base size=8 base align=8
+QKeySequence (0x7f62dfa69e00) 0
+
+Vtable for QMimeSource
+QMimeSource::_ZTV11QMimeSource: 7u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QMimeSource)
+16 QMimeSource::~QMimeSource
+24 QMimeSource::~QMimeSource
+32 __cxa_pure_virtual
+40 QMimeSource::provides
+48 __cxa_pure_virtual
+
+Class QMimeSource
+ size=8 align=8
+ base size=8 base align=8
+QMimeSource (0x7f62df867770) 0 nearly-empty
+ vptr=((& QMimeSource::_ZTV11QMimeSource) + 16u)
+
+Vtable for QDrag
+QDrag::_ZTV5QDrag: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI5QDrag)
+16 QDrag::metaObject
+24 QDrag::qt_metacast
+32 QDrag::qt_metacall
+40 QDrag::~QDrag
+48 QDrag::~QDrag
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QDrag
+ size=16 align=8
+ base size=16 base align=8
+QDrag (0x7f62df8678c0) 0
+ vptr=((& QDrag::_ZTV5QDrag) + 16u)
+ QObject (0x7f62df867930) 0
+ primary-for QDrag (0x7f62df8678c0)
+
+Vtable for QInputEvent
+QInputEvent::_ZTV11QInputEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QInputEvent)
+16 QInputEvent::~QInputEvent
+24 QInputEvent::~QInputEvent
+
+Class QInputEvent
+ size=24 align=8
+ base size=24 base align=8
+QInputEvent (0x7f62df890070) 0
+ vptr=((& QInputEvent::_ZTV11QInputEvent) + 16u)
+ QEvent (0x7f62df8900e0) 0
+ primary-for QInputEvent (0x7f62df890070)
+
+Vtable for QMouseEvent
+QMouseEvent::_ZTV11QMouseEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QMouseEvent)
+16 QMouseEvent::~QMouseEvent
+24 QMouseEvent::~QMouseEvent
+
+Class QMouseEvent
+ size=48 align=8
+ base size=48 base align=8
+QMouseEvent (0x7f62df890930) 0
+ vptr=((& QMouseEvent::_ZTV11QMouseEvent) + 16u)
+ QInputEvent (0x7f62df8909a0) 0
+ primary-for QMouseEvent (0x7f62df890930)
+ QEvent (0x7f62df890a10) 0
+ primary-for QInputEvent (0x7f62df8909a0)
+
+Vtable for QHoverEvent
+QHoverEvent::_ZTV11QHoverEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QHoverEvent)
+16 QHoverEvent::~QHoverEvent
+24 QHoverEvent::~QHoverEvent
+
+Class QHoverEvent
+ size=40 align=8
+ base size=36 base align=8
+QHoverEvent (0x7f62df8bb700) 0
+ vptr=((& QHoverEvent::_ZTV11QHoverEvent) + 16u)
+ QEvent (0x7f62df8bb770) 0
+ primary-for QHoverEvent (0x7f62df8bb700)
+
+Vtable for QWheelEvent
+QWheelEvent::_ZTV11QWheelEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QWheelEvent)
+16 QWheelEvent::~QWheelEvent
+24 QWheelEvent::~QWheelEvent
+
+Class QWheelEvent
+ size=56 align=8
+ base size=52 base align=8
+QWheelEvent (0x7f62df8bbe70) 0
+ vptr=((& QWheelEvent::_ZTV11QWheelEvent) + 16u)
+ QInputEvent (0x7f62df8bbee0) 0
+ primary-for QWheelEvent (0x7f62df8bbe70)
+ QEvent (0x7f62df8bbf50) 0
+ primary-for QInputEvent (0x7f62df8bbee0)
+
+Vtable for QTabletEvent
+QTabletEvent::_ZTV12QTabletEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QTabletEvent)
+16 QTabletEvent::~QTabletEvent
+24 QTabletEvent::~QTabletEvent
+
+Class QTabletEvent
+ size=120 align=8
+ base size=120 base align=8
+QTabletEvent (0x7f62df8d5c40) 0
+ vptr=((& QTabletEvent::_ZTV12QTabletEvent) + 16u)
+ QInputEvent (0x7f62df8d5cb0) 0
+ primary-for QTabletEvent (0x7f62df8d5c40)
+ QEvent (0x7f62df8d5d20) 0
+ primary-for QInputEvent (0x7f62df8d5cb0)
+
+Vtable for QKeyEvent
+QKeyEvent::_ZTV9QKeyEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QKeyEvent)
+16 QKeyEvent::~QKeyEvent
+24 QKeyEvent::~QKeyEvent
+
+Class QKeyEvent
+ size=40 align=8
+ base size=39 base align=8
+QKeyEvent (0x7f62df8f3f50) 0
+ vptr=((& QKeyEvent::_ZTV9QKeyEvent) + 16u)
+ QInputEvent (0x7f62df8f9000) 0
+ primary-for QKeyEvent (0x7f62df8f3f50)
+ QEvent (0x7f62df8f9070) 0
+ primary-for QInputEvent (0x7f62df8f9000)
+
+Vtable for QFocusEvent
+QFocusEvent::_ZTV11QFocusEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QFocusEvent)
+16 QFocusEvent::~QFocusEvent
+24 QFocusEvent::~QFocusEvent
+
+Class QFocusEvent
+ size=24 align=8
+ base size=24 base align=8
+QFocusEvent (0x7f62df91c930) 0
+ vptr=((& QFocusEvent::_ZTV11QFocusEvent) + 16u)
+ QEvent (0x7f62df91c9a0) 0
+ primary-for QFocusEvent (0x7f62df91c930)
+
+Vtable for QPaintEvent
+QPaintEvent::_ZTV11QPaintEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QPaintEvent)
+16 QPaintEvent::~QPaintEvent
+24 QPaintEvent::~QPaintEvent
+
+Class QPaintEvent
+ size=56 align=8
+ base size=49 base align=8
+QPaintEvent (0x7f62df929380) 0
+ vptr=((& QPaintEvent::_ZTV11QPaintEvent) + 16u)
+ QEvent (0x7f62df9293f0) 0
+ primary-for QPaintEvent (0x7f62df929380)
+
+Vtable for QUpdateLaterEvent
+QUpdateLaterEvent::_ZTV17QUpdateLaterEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QUpdateLaterEvent)
+16 QUpdateLaterEvent::~QUpdateLaterEvent
+24 QUpdateLaterEvent::~QUpdateLaterEvent
+
+Class QUpdateLaterEvent
+ size=32 align=8
+ base size=32 base align=8
+QUpdateLaterEvent (0x7f62df936000) 0
+ vptr=((& QUpdateLaterEvent::_ZTV17QUpdateLaterEvent) + 16u)
+ QEvent (0x7f62df936070) 0
+ primary-for QUpdateLaterEvent (0x7f62df936000)
+
+Vtable for QMoveEvent
+QMoveEvent::_ZTV10QMoveEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QMoveEvent)
+16 QMoveEvent::~QMoveEvent
+24 QMoveEvent::~QMoveEvent
+
+Class QMoveEvent
+ size=40 align=8
+ base size=36 base align=8
+QMoveEvent (0x7f62df936460) 0
+ vptr=((& QMoveEvent::_ZTV10QMoveEvent) + 16u)
+ QEvent (0x7f62df9364d0) 0
+ primary-for QMoveEvent (0x7f62df936460)
+
+Vtable for QResizeEvent
+QResizeEvent::_ZTV12QResizeEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QResizeEvent)
+16 QResizeEvent::~QResizeEvent
+24 QResizeEvent::~QResizeEvent
+
+Class QResizeEvent
+ size=40 align=8
+ base size=36 base align=8
+QResizeEvent (0x7f62df936af0) 0
+ vptr=((& QResizeEvent::_ZTV12QResizeEvent) + 16u)
+ QEvent (0x7f62df936b60) 0
+ primary-for QResizeEvent (0x7f62df936af0)
+
+Vtable for QCloseEvent
+QCloseEvent::_ZTV11QCloseEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QCloseEvent)
+16 QCloseEvent::~QCloseEvent
+24 QCloseEvent::~QCloseEvent
+
+Class QCloseEvent
+ size=24 align=8
+ base size=20 base align=8
+QCloseEvent (0x7f62df947070) 0
+ vptr=((& QCloseEvent::_ZTV11QCloseEvent) + 16u)
+ QEvent (0x7f62df9470e0) 0
+ primary-for QCloseEvent (0x7f62df947070)
+
+Vtable for QIconDragEvent
+QIconDragEvent::_ZTV14QIconDragEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QIconDragEvent)
+16 QIconDragEvent::~QIconDragEvent
+24 QIconDragEvent::~QIconDragEvent
+
+Class QIconDragEvent
+ size=24 align=8
+ base size=20 base align=8
+QIconDragEvent (0x7f62df9472a0) 0
+ vptr=((& QIconDragEvent::_ZTV14QIconDragEvent) + 16u)
+ QEvent (0x7f62df947310) 0
+ primary-for QIconDragEvent (0x7f62df9472a0)
+
+Vtable for QShowEvent
+QShowEvent::_ZTV10QShowEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QShowEvent)
+16 QShowEvent::~QShowEvent
+24 QShowEvent::~QShowEvent
+
+Class QShowEvent
+ size=24 align=8
+ base size=20 base align=8
+QShowEvent (0x7f62df9474d0) 0
+ vptr=((& QShowEvent::_ZTV10QShowEvent) + 16u)
+ QEvent (0x7f62df947540) 0
+ primary-for QShowEvent (0x7f62df9474d0)
+
+Vtable for QHideEvent
+QHideEvent::_ZTV10QHideEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QHideEvent)
+16 QHideEvent::~QHideEvent
+24 QHideEvent::~QHideEvent
+
+Class QHideEvent
+ size=24 align=8
+ base size=20 base align=8
+QHideEvent (0x7f62df947700) 0
+ vptr=((& QHideEvent::_ZTV10QHideEvent) + 16u)
+ QEvent (0x7f62df947770) 0
+ primary-for QHideEvent (0x7f62df947700)
+
+Vtable for QContextMenuEvent
+QContextMenuEvent::_ZTV17QContextMenuEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QContextMenuEvent)
+16 QContextMenuEvent::~QContextMenuEvent
+24 QContextMenuEvent::~QContextMenuEvent
+
+Class QContextMenuEvent
+ size=48 align=8
+ base size=41 base align=8
+QContextMenuEvent (0x7f62df947930) 0
+ vptr=((& QContextMenuEvent::_ZTV17QContextMenuEvent) + 16u)
+ QInputEvent (0x7f62df9479a0) 0
+ primary-for QContextMenuEvent (0x7f62df947930)
+ QEvent (0x7f62df947a10) 0
+ primary-for QInputEvent (0x7f62df9479a0)
+
+Class QInputMethodEvent::Attribute
+ size=32 align=8
+ base size=32 base align=8
+QInputMethodEvent::Attribute (0x7f62df7614d0) 0
+
+Vtable for QInputMethodEvent
+QInputMethodEvent::_ZTV17QInputMethodEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QInputMethodEvent)
+16 QInputMethodEvent::~QInputMethodEvent
+24 QInputMethodEvent::~QInputMethodEvent
+
+Class QInputMethodEvent
+ size=56 align=8
+ base size=56 base align=8
+QInputMethodEvent (0x7f62df7613f0) 0
+ vptr=((& QInputMethodEvent::_ZTV17QInputMethodEvent) + 16u)
+ QEvent (0x7f62df761460) 0
+ primary-for QInputMethodEvent (0x7f62df7613f0)
+
+Vtable for QDropEvent
+QDropEvent::_ZTV10QDropEvent: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QDropEvent)
+16 QDropEvent::~QDropEvent
+24 QDropEvent::~QDropEvent
+32 QDropEvent::format
+40 QDropEvent::encodedData
+48 QDropEvent::provides
+56 (int (*)(...))-0x00000000000000018
+64 (int (*)(...))(& _ZTI10QDropEvent)
+72 QDropEvent::_ZThn24_N10QDropEventD1Ev
+80 QDropEvent::_ZThn24_N10QDropEventD0Ev
+88 QDropEvent::_ZThn24_NK10QDropEvent6formatEi
+96 QDropEvent::_ZThn24_NK10QDropEvent8providesEPKc
+104 QDropEvent::_ZThn24_NK10QDropEvent11encodedDataEPKc
+
+Class QDropEvent
+ size=80 align=8
+ base size=80 base align=8
+QDropEvent (0x7f62df79c200) 0
+ vptr=((& QDropEvent::_ZTV10QDropEvent) + 16u)
+ QEvent (0x7f62df79abd0) 0
+ primary-for QDropEvent (0x7f62df79c200)
+ QMimeSource (0x7f62df79ac40) 24 nearly-empty
+ vptr=((& QDropEvent::_ZTV10QDropEvent) + 72u)
+
+Vtable for QDragMoveEvent
+QDragMoveEvent::_ZTV14QDragMoveEvent: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QDragMoveEvent)
+16 QDragMoveEvent::~QDragMoveEvent
+24 QDragMoveEvent::~QDragMoveEvent
+32 QDropEvent::format
+40 QDropEvent::encodedData
+48 QDropEvent::provides
+56 (int (*)(...))-0x00000000000000018
+64 (int (*)(...))(& _ZTI14QDragMoveEvent)
+72 QDragMoveEvent::_ZThn24_N14QDragMoveEventD1Ev
+80 QDragMoveEvent::_ZThn24_N14QDragMoveEventD0Ev
+88 QDropEvent::_ZThn24_NK10QDropEvent6formatEi
+96 QDropEvent::_ZThn24_NK10QDropEvent8providesEPKc
+104 QDropEvent::_ZThn24_NK10QDropEvent11encodedDataEPKc
+
+Class QDragMoveEvent
+ size=96 align=8
+ base size=96 base align=8
+QDragMoveEvent (0x7f62df7b5930) 0
+ vptr=((& QDragMoveEvent::_ZTV14QDragMoveEvent) + 16u)
+ QDropEvent (0x7f62df7b1900) 0
+ primary-for QDragMoveEvent (0x7f62df7b5930)
+ QEvent (0x7f62df7b59a0) 0
+ primary-for QDropEvent (0x7f62df7b1900)
+ QMimeSource (0x7f62df7b5a10) 24 nearly-empty
+ vptr=((& QDragMoveEvent::_ZTV14QDragMoveEvent) + 72u)
+
+Vtable for QDragEnterEvent
+QDragEnterEvent::_ZTV15QDragEnterEvent: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QDragEnterEvent)
+16 QDragEnterEvent::~QDragEnterEvent
+24 QDragEnterEvent::~QDragEnterEvent
+32 QDropEvent::format
+40 QDropEvent::encodedData
+48 QDropEvent::provides
+56 (int (*)(...))-0x00000000000000018
+64 (int (*)(...))(& _ZTI15QDragEnterEvent)
+72 QDragEnterEvent::_ZThn24_N15QDragEnterEventD1Ev
+80 QDragEnterEvent::_ZThn24_N15QDragEnterEventD0Ev
+88 QDropEvent::_ZThn24_NK10QDropEvent6formatEi
+96 QDropEvent::_ZThn24_NK10QDropEvent8providesEPKc
+104 QDropEvent::_ZThn24_NK10QDropEvent11encodedDataEPKc
+
+Class QDragEnterEvent
+ size=96 align=8
+ base size=96 base align=8
+QDragEnterEvent (0x7f62df7c50e0) 0
+ vptr=((& QDragEnterEvent::_ZTV15QDragEnterEvent) + 16u)
+ QDragMoveEvent (0x7f62df7c5150) 0
+ primary-for QDragEnterEvent (0x7f62df7c50e0)
+ QDropEvent (0x7f62df7c4280) 0
+ primary-for QDragMoveEvent (0x7f62df7c5150)
+ QEvent (0x7f62df7c51c0) 0
+ primary-for QDropEvent (0x7f62df7c4280)
+ QMimeSource (0x7f62df7c5230) 24 nearly-empty
+ vptr=((& QDragEnterEvent::_ZTV15QDragEnterEvent) + 72u)
+
+Vtable for QDragResponseEvent
+QDragResponseEvent::_ZTV18QDragResponseEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QDragResponseEvent)
+16 QDragResponseEvent::~QDragResponseEvent
+24 QDragResponseEvent::~QDragResponseEvent
+
+Class QDragResponseEvent
+ size=24 align=8
+ base size=21 base align=8
+QDragResponseEvent (0x7f62df7c53f0) 0
+ vptr=((& QDragResponseEvent::_ZTV18QDragResponseEvent) + 16u)
+ QEvent (0x7f62df7c5460) 0
+ primary-for QDragResponseEvent (0x7f62df7c53f0)
+
+Vtable for QDragLeaveEvent
+QDragLeaveEvent::_ZTV15QDragLeaveEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QDragLeaveEvent)
+16 QDragLeaveEvent::~QDragLeaveEvent
+24 QDragLeaveEvent::~QDragLeaveEvent
+
+Class QDragLeaveEvent
+ size=24 align=8
+ base size=20 base align=8
+QDragLeaveEvent (0x7f62df7c5850) 0
+ vptr=((& QDragLeaveEvent::_ZTV15QDragLeaveEvent) + 16u)
+ QEvent (0x7f62df7c58c0) 0
+ primary-for QDragLeaveEvent (0x7f62df7c5850)
+
+Vtable for QHelpEvent
+QHelpEvent::_ZTV10QHelpEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QHelpEvent)
+16 QHelpEvent::~QHelpEvent
+24 QHelpEvent::~QHelpEvent
+
+Class QHelpEvent
+ size=40 align=8
+ base size=36 base align=8
+QHelpEvent (0x7f62df7c5a80) 0
+ vptr=((& QHelpEvent::_ZTV10QHelpEvent) + 16u)
+ QEvent (0x7f62df7c5af0) 0
+ primary-for QHelpEvent (0x7f62df7c5a80)
+
+Vtable for QStatusTipEvent
+QStatusTipEvent::_ZTV15QStatusTipEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QStatusTipEvent)
+16 QStatusTipEvent::~QStatusTipEvent
+24 QStatusTipEvent::~QStatusTipEvent
+
+Class QStatusTipEvent
+ size=32 align=8
+ base size=32 base align=8
+QStatusTipEvent (0x7f62df7d7af0) 0
+ vptr=((& QStatusTipEvent::_ZTV15QStatusTipEvent) + 16u)
+ QEvent (0x7f62df7d7b60) 0
+ primary-for QStatusTipEvent (0x7f62df7d7af0)
+
+Vtable for QWhatsThisClickedEvent
+QWhatsThisClickedEvent::_ZTV22QWhatsThisClickedEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI22QWhatsThisClickedEvent)
+16 QWhatsThisClickedEvent::~QWhatsThisClickedEvent
+24 QWhatsThisClickedEvent::~QWhatsThisClickedEvent
+
+Class QWhatsThisClickedEvent
+ size=32 align=8
+ base size=32 base align=8
+QWhatsThisClickedEvent (0x7f62df7d7cb0) 0
+ vptr=((& QWhatsThisClickedEvent::_ZTV22QWhatsThisClickedEvent) + 16u)
+ QEvent (0x7f62df7e0000) 0
+ primary-for QWhatsThisClickedEvent (0x7f62df7d7cb0)
+
+Vtable for QActionEvent
+QActionEvent::_ZTV12QActionEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QActionEvent)
+16 QActionEvent::~QActionEvent
+24 QActionEvent::~QActionEvent
+
+Class QActionEvent
+ size=40 align=8
+ base size=40 base align=8
+QActionEvent (0x7f62df7e0460) 0
+ vptr=((& QActionEvent::_ZTV12QActionEvent) + 16u)
+ QEvent (0x7f62df7e04d0) 0
+ primary-for QActionEvent (0x7f62df7e0460)
+
+Vtable for QFileOpenEvent
+QFileOpenEvent::_ZTV14QFileOpenEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QFileOpenEvent)
+16 QFileOpenEvent::~QFileOpenEvent
+24 QFileOpenEvent::~QFileOpenEvent
+
+Class QFileOpenEvent
+ size=32 align=8
+ base size=32 base align=8
+QFileOpenEvent (0x7f62df7e0af0) 0
+ vptr=((& QFileOpenEvent::_ZTV14QFileOpenEvent) + 16u)
+ QEvent (0x7f62df7e0b60) 0
+ primary-for QFileOpenEvent (0x7f62df7e0af0)
+
+Vtable for QToolBarChangeEvent
+QToolBarChangeEvent::_ZTV19QToolBarChangeEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QToolBarChangeEvent)
+16 QToolBarChangeEvent::~QToolBarChangeEvent
+24 QToolBarChangeEvent::~QToolBarChangeEvent
+
+Class QToolBarChangeEvent
+ size=24 align=8
+ base size=21 base align=8
+QToolBarChangeEvent (0x7f62df7e0620) 0
+ vptr=((& QToolBarChangeEvent::_ZTV19QToolBarChangeEvent) + 16u)
+ QEvent (0x7f62df7e0d20) 0
+ primary-for QToolBarChangeEvent (0x7f62df7e0620)
+
+Vtable for QShortcutEvent
+QShortcutEvent::_ZTV14QShortcutEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QShortcutEvent)
+16 QShortcutEvent::~QShortcutEvent
+24 QShortcutEvent::~QShortcutEvent
+
+Class QShortcutEvent
+ size=40 align=8
+ base size=40 base align=8
+QShortcutEvent (0x7f62df7f3460) 0
+ vptr=((& QShortcutEvent::_ZTV14QShortcutEvent) + 16u)
+ QEvent (0x7f62df7f34d0) 0
+ primary-for QShortcutEvent (0x7f62df7f3460)
+
+Vtable for QClipboardEvent
+QClipboardEvent::_ZTV15QClipboardEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QClipboardEvent)
+16 QClipboardEvent::~QClipboardEvent
+24 QClipboardEvent::~QClipboardEvent
+
+Class QClipboardEvent
+ size=24 align=8
+ base size=20 base align=8
+QClipboardEvent (0x7f62df7fe310) 0
+ vptr=((& QClipboardEvent::_ZTV15QClipboardEvent) + 16u)
+ QEvent (0x7f62df7fe380) 0
+ primary-for QClipboardEvent (0x7f62df7fe310)
+
+Vtable for QWindowStateChangeEvent
+QWindowStateChangeEvent::_ZTV23QWindowStateChangeEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI23QWindowStateChangeEvent)
+16 QWindowStateChangeEvent::~QWindowStateChangeEvent
+24 QWindowStateChangeEvent::~QWindowStateChangeEvent
+
+Class QWindowStateChangeEvent
+ size=24 align=8
+ base size=24 base align=8
+QWindowStateChangeEvent (0x7f62df7fe770) 0
+ vptr=((& QWindowStateChangeEvent::_ZTV23QWindowStateChangeEvent) + 16u)
+ QEvent (0x7f62df7fe7e0) 0
+ primary-for QWindowStateChangeEvent (0x7f62df7fe770)
+
+Vtable for QMenubarUpdatedEvent
+QMenubarUpdatedEvent::_ZTV20QMenubarUpdatedEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI20QMenubarUpdatedEvent)
+16 QMenubarUpdatedEvent::~QMenubarUpdatedEvent
+24 QMenubarUpdatedEvent::~QMenubarUpdatedEvent
+
+Class QMenubarUpdatedEvent
+ size=32 align=8
+ base size=32 base align=8
+QMenubarUpdatedEvent (0x7f62df7fecb0) 0
+ vptr=((& QMenubarUpdatedEvent::_ZTV20QMenubarUpdatedEvent) + 16u)
+ QEvent (0x7f62df7fed20) 0
+ primary-for QMenubarUpdatedEvent (0x7f62df7fecb0)
+
+Class QTouchEvent::TouchPoint
+ size=8 align=8
+ base size=8 base align=8
+QTouchEvent::TouchPoint (0x7f62df80f7e0) 0
+
+Vtable for QTouchEvent
+QTouchEvent::_ZTV11QTouchEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QTouchEvent)
+16 QTouchEvent::~QTouchEvent
+24 QTouchEvent::~QTouchEvent
+
+Class QTouchEvent
+ size=48 align=8
+ base size=48 base align=8
+QTouchEvent (0x7f62df80f690) 0
+ vptr=((& QTouchEvent::_ZTV11QTouchEvent) + 16u)
+ QInputEvent (0x7f62df80f700) 0
+ primary-for QTouchEvent (0x7f62df80f690)
+ QEvent (0x7f62df80f770) 0
+ primary-for QInputEvent (0x7f62df80f700)
+
+Vtable for QGestureEvent
+QGestureEvent::_ZTV13QGestureEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QGestureEvent)
+16 QGestureEvent::~QGestureEvent
+24 QGestureEvent::~QGestureEvent
+
+Class QGestureEvent
+ size=24 align=8
+ base size=20 base align=8
+QGestureEvent (0x7f62df655d20) 0
+ vptr=((& QGestureEvent::_ZTV13QGestureEvent) + 16u)
+ QEvent (0x7f62df655d90) 0
+ primary-for QGestureEvent (0x7f62df655d20)
+
+Class QFont
+ size=16 align=8
+ base size=12 base align=8
+QFont (0x7f62df65a310) 0
+
+Class QPolygon
+ size=8 align=8
+ base size=8 base align=8
+QPolygon (0x7f62df6ac0e0) 0
+ QVector<QPoint> (0x7f62df6ac150) 0
+
+Class QPolygonF
+ size=8 align=8
+ base size=8 base align=8
+QPolygonF (0x7f62df6ed620) 0
+ QVector<QPointF> (0x7f62df6ed690) 0
+
+Class QMatrix
+ size=48 align=8
+ base size=48 base align=8
+QMatrix (0x7f62df72f770) 0
+
+Class QPainterPath::Element
+ size=24 align=8
+ base size=24 base align=8
+QPainterPath::Element (0x7f62df5708c0) 0
+
+Class QPainterPath
+ size=8 align=8
+ base size=8 base align=8
+QPainterPath (0x7f62df570850) 0
+
+Class QPainterPathPrivate
+ size=16 align=8
+ base size=16 base align=8
+QPainterPathPrivate (0x7f62df5ca000) 0
+
+Class QPainterPathStroker
+ size=8 align=8
+ base size=8 base align=8
+QPainterPathStroker (0x7f62df5caaf0) 0
+
+Class QTransform
+ size=88 align=8
+ base size=88 base align=8
+QTransform (0x7f62df636af0) 0
+
+Vtable for QPaintDevice
+QPaintDevice::_ZTV12QPaintDevice: 7u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QPaintDevice)
+16 QPaintDevice::~QPaintDevice
+24 QPaintDevice::~QPaintDevice
+32 QPaintDevice::devType
+40 __cxa_pure_virtual
+48 QPaintDevice::metric
+
+Class QPaintDevice
+ size=16 align=8
+ base size=10 base align=8
+QPaintDevice (0x7f62df4e4150) 0
+ vptr=((& QPaintDevice::_ZTV12QPaintDevice) + 16u)
+
+Class QImageTextKeyLang
+ size=16 align=8
+ base size=16 base align=8
+QImageTextKeyLang (0x7f62df508070) 0
+
+Vtable for QImage
+QImage::_ZTV6QImage: 7u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI6QImage)
+16 QImage::~QImage
+24 QImage::~QImage
+32 QImage::devType
+40 QImage::paintEngine
+48 QImage::metric
+
+Class QImage
+ size=24 align=8
+ base size=24 base align=8
+QImage (0x7f62df5338c0) 0
+ vptr=((& QImage::_ZTV6QImage) + 16u)
+ QPaintDevice (0x7f62df533930) 0
+ primary-for QImage (0x7f62df5338c0)
+
+Vtable for QPixmap
+QPixmap::_ZTV7QPixmap: 7u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QPixmap)
+16 QPixmap::~QPixmap
+24 QPixmap::~QPixmap
+32 QPixmap::devType
+40 QPixmap::paintEngine
+48 QPixmap::metric
+
+Class QPixmap
+ size=24 align=8
+ base size=24 base align=8
+QPixmap (0x7f62df357070) 0
+ vptr=((& QPixmap::_ZTV7QPixmap) + 16u)
+ QPaintDevice (0x7f62df3570e0) 0
+ primary-for QPixmap (0x7f62df357070)
+
+Class QBrush
+ size=8 align=8
+ base size=8 base align=8
+QBrush (0x7f62df3b5380) 0
+
+Class QBrushData
+ size=112 align=8
+ base size=112 base align=8
+QBrushData (0x7f62df1cfd90) 0
+
+Class QGradient
+ size=64 align=8
+ base size=64 base align=8
+QGradient (0x7f62df1e3f50) 0
+
+Class QLinearGradient
+ size=64 align=8
+ base size=64 base align=8
+QLinearGradient (0x7f62df225a10) 0
+ QGradient (0x7f62df225a80) 0
+
+Class QRadialGradient
+ size=64 align=8
+ base size=64 base align=8
+QRadialGradient (0x7f62df225ee0) 0
+ QGradient (0x7f62df225f50) 0
+
+Class QConicalGradient
+ size=64 align=8
+ base size=64 base align=8
+QConicalGradient (0x7f62df22f4d0) 0
+ QGradient (0x7f62df22f540) 0
+
+Class QPen
+ size=8 align=8
+ base size=8 base align=8
+QPen (0x7f62df22f850) 0
+
+Class QTextOption::Tab
+ size=16 align=8
+ base size=14 base align=8
+QTextOption::Tab (0x7f62df24be00) 0
+
+Class QTextOption
+ size=32 align=8
+ base size=32 base align=8
+QTextOption (0x7f62df24bd90) 0
+
+Class QTextLength
+ size=16 align=8
+ base size=16 base align=8
+QTextLength (0x7f62df2bc150) 0
+
+Class QTextFormat
+ size=16 align=8
+ base size=12 base align=8
+QTextFormat (0x7f62df0d74d0) 0
+
+Class QTextCharFormat
+ size=16 align=8
+ base size=12 base align=8
+QTextCharFormat (0x7f62df192540) 0
+ QTextFormat (0x7f62df1925b0) 0
+
+Class QTextBlockFormat
+ size=16 align=8
+ base size=12 base align=8
+QTextBlockFormat (0x7f62deff01c0) 0
+ QTextFormat (0x7f62deff0230) 0
+
+Class QTextListFormat
+ size=16 align=8
+ base size=12 base align=8
+QTextListFormat (0x7f62df00f7e0) 0
+ QTextFormat (0x7f62df00f850) 0
+
+Class QTextImageFormat
+ size=16 align=8
+ base size=12 base align=8
+QTextImageFormat (0x7f62df01bd20) 0
+ QTextCharFormat (0x7f62df01bd90) 0
+ QTextFormat (0x7f62df01be00) 0
+
+Class QTextFrameFormat
+ size=16 align=8
+ base size=12 base align=8
+QTextFrameFormat (0x7f62df02d460) 0
+ QTextFormat (0x7f62df02d4d0) 0
+
+Class QTextTableFormat
+ size=16 align=8
+ base size=12 base align=8
+QTextTableFormat (0x7f62df063380) 0
+ QTextFrameFormat (0x7f62df0633f0) 0
+ QTextFormat (0x7f62df063460) 0
+
+Class QTextTableCellFormat
+ size=16 align=8
+ base size=12 base align=8
+QTextTableCellFormat (0x7f62df07f230) 0
+ QTextCharFormat (0x7f62df07f2a0) 0
+ QTextFormat (0x7f62df07f310) 0
+
+Class QTextInlineObject
+ size=16 align=8
+ base size=16 base align=8
+QTextInlineObject (0x7f62df093700) 0
+
+Class QTextLayout::FormatRange
+ size=24 align=8
+ base size=24 base align=8
+QTextLayout::FormatRange (0x7f62df09ea10) 0
+
+Class QTextLayout
+ size=8 align=8
+ base size=8 base align=8
+QTextLayout (0x7f62df09e770) 0
+
+Class QTextLine
+ size=16 align=8
+ base size=16 base align=8
+QTextLine (0x7f62df0b7770) 0
+
+Vtable for QAbstractUndoItem
+QAbstractUndoItem::_ZTV17QAbstractUndoItem: 6u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QAbstractUndoItem)
+16 __cxa_pure_virtual
+24 __cxa_pure_virtual
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+
+Class QAbstractUndoItem
+ size=8 align=8
+ base size=8 base align=8
+QAbstractUndoItem (0x7f62deeec070) 0 nearly-empty
+ vptr=((& QAbstractUndoItem::_ZTV17QAbstractUndoItem) + 16u)
+
+Vtable for QTextDocument
+QTextDocument::_ZTV13QTextDocument: 17u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QTextDocument)
+16 QTextDocument::metaObject
+24 QTextDocument::qt_metacast
+32 QTextDocument::qt_metacall
+40 QTextDocument::~QTextDocument
+48 QTextDocument::~QTextDocument
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QTextDocument::clear
+120 QTextDocument::createObject
+128 QTextDocument::loadResource
+
+Class QTextDocument
+ size=16 align=8
+ base size=16 base align=8
+QTextDocument (0x7f62deeecaf0) 0
+ vptr=((& QTextDocument::_ZTV13QTextDocument) + 16u)
+ QObject (0x7f62deeecb60) 0
+ primary-for QTextDocument (0x7f62deeecaf0)
+
+Class QTextCursor
+ size=8 align=8
+ base size=8 base align=8
+QTextCursor (0x7f62def4ca80) 0
+
+Class QPalette
+ size=16 align=8
+ base size=12 base align=8
+QPalette (0x7f62def5ff50) 0
+
+Class QColorGroup
+ size=16 align=8
+ base size=12 base align=8
+QColorGroup (0x7f62dedcf850) 0
+ QPalette (0x7f62dedcf8c0) 0
+
+Class QAbstractTextDocumentLayout::Selection
+ size=24 align=8
+ base size=24 base align=8
+QAbstractTextDocumentLayout::Selection (0x7f62dee07d90) 0
+
+Class QAbstractTextDocumentLayout::PaintContext
+ size=64 align=8
+ base size=64 base align=8
+QAbstractTextDocumentLayout::PaintContext (0x7f62dee07e00) 0
+
+Vtable for QAbstractTextDocumentLayout
+QAbstractTextDocumentLayout::_ZTV27QAbstractTextDocumentLayout: 24u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI27QAbstractTextDocumentLayout)
+16 QAbstractTextDocumentLayout::metaObject
+24 QAbstractTextDocumentLayout::qt_metacast
+32 QAbstractTextDocumentLayout::qt_metacall
+40 QAbstractTextDocumentLayout::~QAbstractTextDocumentLayout
+48 QAbstractTextDocumentLayout::~QAbstractTextDocumentLayout
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 __cxa_pure_virtual
+136 __cxa_pure_virtual
+144 __cxa_pure_virtual
+152 __cxa_pure_virtual
+160 __cxa_pure_virtual
+168 QAbstractTextDocumentLayout::resizeInlineObject
+176 QAbstractTextDocumentLayout::positionInlineObject
+184 QAbstractTextDocumentLayout::drawInlineObject
+
+Class QAbstractTextDocumentLayout
+ size=16 align=8
+ base size=16 base align=8
+QAbstractTextDocumentLayout (0x7f62dee07b60) 0
+ vptr=((& QAbstractTextDocumentLayout::_ZTV27QAbstractTextDocumentLayout) + 16u)
+ QObject (0x7f62dee07bd0) 0
+ primary-for QAbstractTextDocumentLayout (0x7f62dee07b60)
+
+Vtable for QTextObjectInterface
+QTextObjectInterface::_ZTV20QTextObjectInterface: 6u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI20QTextObjectInterface)
+16 QTextObjectInterface::~QTextObjectInterface
+24 QTextObjectInterface::~QTextObjectInterface
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+
+Class QTextObjectInterface
+ size=8 align=8
+ base size=8 base align=8
+QTextObjectInterface (0x7f62dee4e4d0) 0 nearly-empty
+ vptr=((& QTextObjectInterface::_ZTV20QTextObjectInterface) + 16u)
+
+Class QFontDatabase
+ size=8 align=8
+ base size=8 base align=8
+QFontDatabase (0x7f62dee5a7e0) 0
+
+Class QFontInfo
+ size=8 align=8
+ base size=8 base align=8
+QFontInfo (0x7f62dee6b7e0) 0
+
+Class QFontMetrics
+ size=8 align=8
+ base size=8 base align=8
+QFontMetrics (0x7f62dee7d310) 0
+
+Class QFontMetricsF
+ size=8 align=8
+ base size=8 base align=8
+QFontMetricsF (0x7f62dee93770) 0
+
+Vtable for QTextObject
+QTextObject::_ZTV11QTextObject: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QTextObject)
+16 QTextObject::metaObject
+24 QTextObject::qt_metacast
+32 QTextObject::qt_metacall
+40 QTextObject::~QTextObject
+48 QTextObject::~QTextObject
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QTextObject
+ size=16 align=8
+ base size=16 base align=8
+QTextObject (0x7f62deea7690) 0
+ vptr=((& QTextObject::_ZTV11QTextObject) + 16u)
+ QObject (0x7f62deea7700) 0
+ primary-for QTextObject (0x7f62deea7690)
+
+Vtable for QTextBlockGroup
+QTextBlockGroup::_ZTV15QTextBlockGroup: 17u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QTextBlockGroup)
+16 QTextBlockGroup::metaObject
+24 QTextBlockGroup::qt_metacast
+32 QTextBlockGroup::qt_metacall
+40 QTextBlockGroup::~QTextBlockGroup
+48 QTextBlockGroup::~QTextBlockGroup
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QTextBlockGroup::blockInserted
+120 QTextBlockGroup::blockRemoved
+128 QTextBlockGroup::blockFormatChanged
+
+Class QTextBlockGroup
+ size=16 align=8
+ base size=16 base align=8
+QTextBlockGroup (0x7f62deeb8ee0) 0
+ vptr=((& QTextBlockGroup::_ZTV15QTextBlockGroup) + 16u)
+ QTextObject (0x7f62deeb8f50) 0
+ primary-for QTextBlockGroup (0x7f62deeb8ee0)
+ QObject (0x7f62deec1000) 0
+ primary-for QTextObject (0x7f62deeb8f50)
+
+Vtable for QTextFrameLayoutData
+QTextFrameLayoutData::_ZTV20QTextFrameLayoutData: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI20QTextFrameLayoutData)
+16 QTextFrameLayoutData::~QTextFrameLayoutData
+24 QTextFrameLayoutData::~QTextFrameLayoutData
+
+Class QTextFrameLayoutData
+ size=8 align=8
+ base size=8 base align=8
+QTextFrameLayoutData (0x7f62decc57e0) 0 nearly-empty
+ vptr=((& QTextFrameLayoutData::_ZTV20QTextFrameLayoutData) + 16u)
+
+Class QTextFrame::iterator
+ size=32 align=8
+ base size=28 base align=8
+QTextFrame::iterator (0x7f62decd0230) 0
+
+Vtable for QTextFrame
+QTextFrame::_ZTV10QTextFrame: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QTextFrame)
+16 QTextFrame::metaObject
+24 QTextFrame::qt_metacast
+32 QTextFrame::qt_metacall
+40 QTextFrame::~QTextFrame
+48 QTextFrame::~QTextFrame
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QTextFrame
+ size=16 align=8
+ base size=16 base align=8
+QTextFrame (0x7f62decc5930) 0
+ vptr=((& QTextFrame::_ZTV10QTextFrame) + 16u)
+ QTextObject (0x7f62decc59a0) 0
+ primary-for QTextFrame (0x7f62decc5930)
+ QObject (0x7f62decc5a10) 0
+ primary-for QTextObject (0x7f62decc59a0)
+
+Vtable for QTextBlockUserData
+QTextBlockUserData::_ZTV18QTextBlockUserData: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QTextBlockUserData)
+16 QTextBlockUserData::~QTextBlockUserData
+24 QTextBlockUserData::~QTextBlockUserData
+
+Class QTextBlockUserData
+ size=8 align=8
+ base size=8 base align=8
+QTextBlockUserData (0x7f62ded04380) 0 nearly-empty
+ vptr=((& QTextBlockUserData::_ZTV18QTextBlockUserData) + 16u)
+
+Class QTextBlock::iterator
+ size=24 align=8
+ base size=20 base align=8
+QTextBlock::iterator (0x7f62ded04cb0) 0
+
+Class QTextBlock
+ size=16 align=8
+ base size=12 base align=8
+QTextBlock (0x7f62ded044d0) 0
+
+Class QTextFragment
+ size=16 align=8
+ base size=16 base align=8
+QTextFragment (0x7f62ded3de00) 0
+
+Vtable for QSyntaxHighlighter
+QSyntaxHighlighter::_ZTV18QSyntaxHighlighter: 15u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QSyntaxHighlighter)
+16 QSyntaxHighlighter::metaObject
+24 QSyntaxHighlighter::qt_metacast
+32 QSyntaxHighlighter::qt_metacall
+40 QSyntaxHighlighter::~QSyntaxHighlighter
+48 QSyntaxHighlighter::~QSyntaxHighlighter
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+
+Class QSyntaxHighlighter
+ size=16 align=8
+ base size=16 base align=8
+QSyntaxHighlighter (0x7f62ded66000) 0
+ vptr=((& QSyntaxHighlighter::_ZTV18QSyntaxHighlighter) + 16u)
+ QObject (0x7f62ded66070) 0
+ primary-for QSyntaxHighlighter (0x7f62ded66000)
+
+Class QTextDocumentFragment
+ size=8 align=8
+ base size=8 base align=8
+QTextDocumentFragment (0x7f62ded7e9a0) 0
+
+Class QTextDocumentWriter
+ size=8 align=8
+ base size=8 base align=8
+QTextDocumentWriter (0x7f62ded853f0) 0
+
+Vtable for QTextList
+QTextList::_ZTV9QTextList: 17u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QTextList)
+16 QTextList::metaObject
+24 QTextList::qt_metacast
+32 QTextList::qt_metacall
+40 QTextList::~QTextList
+48 QTextList::~QTextList
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QTextBlockGroup::blockInserted
+120 QTextBlockGroup::blockRemoved
+128 QTextBlockGroup::blockFormatChanged
+
+Class QTextList
+ size=16 align=8
+ base size=16 base align=8
+QTextList (0x7f62ded85a80) 0
+ vptr=((& QTextList::_ZTV9QTextList) + 16u)
+ QTextBlockGroup (0x7f62ded85af0) 0
+ primary-for QTextList (0x7f62ded85a80)
+ QTextObject (0x7f62ded85b60) 0
+ primary-for QTextBlockGroup (0x7f62ded85af0)
+ QObject (0x7f62ded85bd0) 0
+ primary-for QTextObject (0x7f62ded85b60)
+
+Class QTextTableCell
+ size=16 align=8
+ base size=12 base align=8
+QTextTableCell (0x7f62dedb0930) 0
+
+Vtable for QTextTable
+QTextTable::_ZTV10QTextTable: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QTextTable)
+16 QTextTable::metaObject
+24 QTextTable::qt_metacast
+32 QTextTable::qt_metacall
+40 QTextTable::~QTextTable
+48 QTextTable::~QTextTable
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QTextTable
+ size=16 align=8
+ base size=16 base align=8
+QTextTable (0x7f62debc7a80) 0
+ vptr=((& QTextTable::_ZTV10QTextTable) + 16u)
+ QTextFrame (0x7f62debc7af0) 0
+ primary-for QTextTable (0x7f62debc7a80)
+ QTextObject (0x7f62debc7b60) 0
+ primary-for QTextFrame (0x7f62debc7af0)
+ QObject (0x7f62debc7bd0) 0
+ primary-for QTextObject (0x7f62debc7b60)
+
+Vtable for QCompleter
+QCompleter::_ZTV10QCompleter: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QCompleter)
+16 QCompleter::metaObject
+24 QCompleter::qt_metacast
+32 QCompleter::qt_metacall
+40 QCompleter::~QCompleter
+48 QCompleter::~QCompleter
+56 QCompleter::event
+64 QCompleter::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QCompleter::pathFromIndex
+120 QCompleter::splitPath
+
+Class QCompleter
+ size=16 align=8
+ base size=16 base align=8
+QCompleter (0x7f62debed2a0) 0
+ vptr=((& QCompleter::_ZTV10QCompleter) + 16u)
+ QObject (0x7f62debed310) 0
+ primary-for QCompleter (0x7f62debed2a0)
+
+Class QDesktopServices
+ size=1 align=1
+ base size=0 base align=1
+QDesktopServices (0x7f62dec12230) 0 empty
+
+Class QIcon
+ size=8 align=8
+ base size=8 base align=8
+QIcon (0x7f62dec12380) 0
+
+Vtable for QSystemTrayIcon
+QSystemTrayIcon::_ZTV15QSystemTrayIcon: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QSystemTrayIcon)
+16 QSystemTrayIcon::metaObject
+24 QSystemTrayIcon::qt_metacast
+32 QSystemTrayIcon::qt_metacall
+40 QSystemTrayIcon::~QSystemTrayIcon
+48 QSystemTrayIcon::~QSystemTrayIcon
+56 QSystemTrayIcon::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QSystemTrayIcon
+ size=16 align=8
+ base size=16 base align=8
+QSystemTrayIcon (0x7f62dec39f50) 0
+ vptr=((& QSystemTrayIcon::_ZTV15QSystemTrayIcon) + 16u)
+ QObject (0x7f62dec4b000) 0
+ primary-for QSystemTrayIcon (0x7f62dec39f50)
+
+Vtable for QUndoGroup
+QUndoGroup::_ZTV10QUndoGroup: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QUndoGroup)
+16 QUndoGroup::metaObject
+24 QUndoGroup::qt_metacast
+32 QUndoGroup::qt_metacall
+40 QUndoGroup::~QUndoGroup
+48 QUndoGroup::~QUndoGroup
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QUndoGroup
+ size=16 align=8
+ base size=16 base align=8
+QUndoGroup (0x7f62dec6a1c0) 0
+ vptr=((& QUndoGroup::_ZTV10QUndoGroup) + 16u)
+ QObject (0x7f62dec6a230) 0
+ primary-for QUndoGroup (0x7f62dec6a1c0)
+
+Vtable for QUndoCommand
+QUndoCommand::_ZTV12QUndoCommand: 8u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QUndoCommand)
+16 QUndoCommand::~QUndoCommand
+24 QUndoCommand::~QUndoCommand
+32 QUndoCommand::undo
+40 QUndoCommand::redo
+48 QUndoCommand::id
+56 QUndoCommand::mergeWith
+
+Class QUndoCommand
+ size=16 align=8
+ base size=16 base align=8
+QUndoCommand (0x7f62dec7dd20) 0
+ vptr=((& QUndoCommand::_ZTV12QUndoCommand) + 16u)
+
+Vtable for QUndoStack
+QUndoStack::_ZTV10QUndoStack: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QUndoStack)
+16 QUndoStack::metaObject
+24 QUndoStack::qt_metacast
+32 QUndoStack::qt_metacall
+40 QUndoStack::~QUndoStack
+48 QUndoStack::~QUndoStack
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QUndoStack
+ size=16 align=8
+ base size=16 base align=8
+QUndoStack (0x7f62dec86690) 0
+ vptr=((& QUndoStack::_ZTV10QUndoStack) + 16u)
+ QObject (0x7f62dec86700) 0
+ primary-for QUndoStack (0x7f62dec86690)
+
+Class QSizePolicy
+ size=4 align=4
+ base size=4 base align=4
+QSizePolicy (0x7f62decac1c0) 0
+
+Class QCursor
+ size=8 align=8
+ base size=8 base align=8
+QCursor (0x7f62deb7a1c0) 0
+
+Class QWidgetData
+ size=88 align=8
+ base size=88 base align=8
+QWidgetData (0x7f62deb7a9a0) 0
+
+Vtable for QWidget
+QWidget::_ZTV7QWidget: 63u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QWidget)
+16 QWidget::metaObject
+24 QWidget::qt_metacast
+32 QWidget::qt_metacall
+40 QWidget::~QWidget
+48 QWidget::~QWidget
+56 QWidget::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QWidget::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QWidget::paintEvent
+256 QWidget::moveEvent
+264 QWidget::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QWidget::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 (int (*)(...))-0x00000000000000010
+456 (int (*)(...))(& _ZTI7QWidget)
+464 QWidget::_ZThn16_N7QWidgetD1Ev
+472 QWidget::_ZThn16_N7QWidgetD0Ev
+480 QWidget::_ZThn16_NK7QWidget7devTypeEv
+488 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+496 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QWidget
+ size=40 align=8
+ base size=40 base align=8
+QWidget (0x7f62deb73a00) 0
+ vptr=((& QWidget::_ZTV7QWidget) + 16u)
+ QObject (0x7f62deb7aa10) 0
+ primary-for QWidget (0x7f62deb73a00)
+ QPaintDevice (0x7f62deb7aa80) 16
+ vptr=((& QWidget::_ZTV7QWidget) + 464u)
+
+Vtable for QFrame
+QFrame::_ZTV6QFrame: 63u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI6QFrame)
+16 QFrame::metaObject
+24 QFrame::qt_metacast
+32 QFrame::qt_metacall
+40 QFrame::~QFrame
+48 QFrame::~QFrame
+56 QFrame::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QFrame::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QFrame::paintEvent
+256 QWidget::moveEvent
+264 QWidget::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QFrame::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 (int (*)(...))-0x00000000000000010
+456 (int (*)(...))(& _ZTI6QFrame)
+464 QFrame::_ZThn16_N6QFrameD1Ev
+472 QFrame::_ZThn16_N6QFrameD0Ev
+480 QWidget::_ZThn16_NK7QWidget7devTypeEv
+488 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+496 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QFrame
+ size=40 align=8
+ base size=40 base align=8
+QFrame (0x7f62de902a80) 0
+ vptr=((& QFrame::_ZTV6QFrame) + 16u)
+ QWidget (0x7f62de905680) 0
+ primary-for QFrame (0x7f62de902a80)
+ QObject (0x7f62de902af0) 0
+ primary-for QWidget (0x7f62de905680)
+ QPaintDevice (0x7f62de902b60) 16
+ vptr=((& QFrame::_ZTV6QFrame) + 464u)
+
+Vtable for QAbstractScrollArea
+QAbstractScrollArea::_ZTV19QAbstractScrollArea: 65u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QAbstractScrollArea)
+16 QAbstractScrollArea::metaObject
+24 QAbstractScrollArea::qt_metacast
+32 QAbstractScrollArea::qt_metacall
+40 QAbstractScrollArea::~QAbstractScrollArea
+48 QAbstractScrollArea::~QAbstractScrollArea
+56 QAbstractScrollArea::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QAbstractScrollArea::sizeHint
+136 QAbstractScrollArea::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QAbstractScrollArea::mousePressEvent
+168 QAbstractScrollArea::mouseReleaseEvent
+176 QAbstractScrollArea::mouseDoubleClickEvent
+184 QAbstractScrollArea::mouseMoveEvent
+192 QAbstractScrollArea::wheelEvent
+200 QAbstractScrollArea::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QAbstractScrollArea::paintEvent
+256 QWidget::moveEvent
+264 QAbstractScrollArea::resizeEvent
+272 QWidget::closeEvent
+280 QAbstractScrollArea::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QAbstractScrollArea::dragEnterEvent
+312 QAbstractScrollArea::dragMoveEvent
+320 QAbstractScrollArea::dragLeaveEvent
+328 QAbstractScrollArea::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QFrame::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QAbstractScrollArea::viewportEvent
+456 QAbstractScrollArea::scrollContentsBy
+464 (int (*)(...))-0x00000000000000010
+472 (int (*)(...))(& _ZTI19QAbstractScrollArea)
+480 QAbstractScrollArea::_ZThn16_N19QAbstractScrollAreaD1Ev
+488 QAbstractScrollArea::_ZThn16_N19QAbstractScrollAreaD0Ev
+496 QWidget::_ZThn16_NK7QWidget7devTypeEv
+504 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+512 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QAbstractScrollArea
+ size=40 align=8
+ base size=40 base align=8
+QAbstractScrollArea (0x7f62de92f0e0) 0
+ vptr=((& QAbstractScrollArea::_ZTV19QAbstractScrollArea) + 16u)
+ QFrame (0x7f62de92f150) 0
+ primary-for QAbstractScrollArea (0x7f62de92f0e0)
+ QWidget (0x7f62de913a80) 0
+ primary-for QFrame (0x7f62de92f150)
+ QObject (0x7f62de92f1c0) 0
+ primary-for QWidget (0x7f62de913a80)
+ QPaintDevice (0x7f62de92f230) 16
+ vptr=((& QAbstractScrollArea::_ZTV19QAbstractScrollArea) + 480u)
+
+Class QItemSelectionRange
+ size=16 align=8
+ base size=16 base align=8
+QItemSelectionRange (0x7f62de955000) 0
+
+Vtable for QItemSelectionModel
+QItemSelectionModel::_ZTV19QItemSelectionModel: 18u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QItemSelectionModel)
+16 QItemSelectionModel::metaObject
+24 QItemSelectionModel::qt_metacast
+32 QItemSelectionModel::qt_metacall
+40 QItemSelectionModel::~QItemSelectionModel
+48 QItemSelectionModel::~QItemSelectionModel
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QItemSelectionModel::select
+120 QItemSelectionModel::select
+128 QItemSelectionModel::clear
+136 QItemSelectionModel::reset
+
+Class QItemSelectionModel
+ size=16 align=8
+ base size=16 base align=8
+QItemSelectionModel (0x7f62de7bf4d0) 0
+ vptr=((& QItemSelectionModel::_ZTV19QItemSelectionModel) + 16u)
+ QObject (0x7f62de7bf540) 0
+ primary-for QItemSelectionModel (0x7f62de7bf4d0)
+
+Class QItemSelection
+ size=8 align=8
+ base size=8 base align=8
+QItemSelection (0x7f62de7ff9a0) 0
+ QList<QItemSelectionRange> (0x7f62de7ffa10) 0
+
+Vtable for QValidator
+QValidator::_ZTV10QValidator: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QValidator)
+16 QValidator::metaObject
+24 QValidator::qt_metacast
+32 QValidator::qt_metacall
+40 QValidator::~QValidator
+48 QValidator::~QValidator
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+120 QValidator::fixup
+
+Class QValidator
+ size=16 align=8
+ base size=16 base align=8
+QValidator (0x7f62de83e2a0) 0
+ vptr=((& QValidator::_ZTV10QValidator) + 16u)
+ QObject (0x7f62de83e310) 0
+ primary-for QValidator (0x7f62de83e2a0)
+
+Vtable for QIntValidator
+QIntValidator::_ZTV13QIntValidator: 17u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QIntValidator)
+16 QIntValidator::metaObject
+24 QIntValidator::qt_metacast
+32 QIntValidator::qt_metacall
+40 QIntValidator::~QIntValidator
+48 QIntValidator::~QIntValidator
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QIntValidator::validate
+120 QValidator::fixup
+128 QIntValidator::setRange
+
+Class QIntValidator
+ size=24 align=8
+ base size=24 base align=8
+QIntValidator (0x7f62de8590e0) 0
+ vptr=((& QIntValidator::_ZTV13QIntValidator) + 16u)
+ QValidator (0x7f62de859150) 0
+ primary-for QIntValidator (0x7f62de8590e0)
+ QObject (0x7f62de8591c0) 0
+ primary-for QValidator (0x7f62de859150)
+
+Vtable for QDoubleValidator
+QDoubleValidator::_ZTV16QDoubleValidator: 17u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QDoubleValidator)
+16 QDoubleValidator::metaObject
+24 QDoubleValidator::qt_metacast
+32 QDoubleValidator::qt_metacall
+40 QDoubleValidator::~QDoubleValidator
+48 QDoubleValidator::~QDoubleValidator
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QDoubleValidator::validate
+120 QValidator::fixup
+128 QDoubleValidator::setRange
+
+Class QDoubleValidator
+ size=40 align=8
+ base size=36 base align=8
+QDoubleValidator (0x7f62de870070) 0
+ vptr=((& QDoubleValidator::_ZTV16QDoubleValidator) + 16u)
+ QValidator (0x7f62de8700e0) 0
+ primary-for QDoubleValidator (0x7f62de870070)
+ QObject (0x7f62de870150) 0
+ primary-for QValidator (0x7f62de8700e0)
+
+Vtable for QRegExpValidator
+QRegExpValidator::_ZTV16QRegExpValidator: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QRegExpValidator)
+16 QRegExpValidator::metaObject
+24 QRegExpValidator::qt_metacast
+32 QRegExpValidator::qt_metacall
+40 QRegExpValidator::~QRegExpValidator
+48 QRegExpValidator::~QRegExpValidator
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QRegExpValidator::validate
+120 QValidator::fixup
+
+Class QRegExpValidator
+ size=24 align=8
+ base size=24 base align=8
+QRegExpValidator (0x7f62de88a930) 0
+ vptr=((& QRegExpValidator::_ZTV16QRegExpValidator) + 16u)
+ QValidator (0x7f62de88a9a0) 0
+ primary-for QRegExpValidator (0x7f62de88a930)
+ QObject (0x7f62de88aa10) 0
+ primary-for QValidator (0x7f62de88a9a0)
+
+Vtable for QAbstractSpinBox
+QAbstractSpinBox::_ZTV16QAbstractSpinBox: 68u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QAbstractSpinBox)
+16 QAbstractSpinBox::metaObject
+24 QAbstractSpinBox::qt_metacast
+32 QAbstractSpinBox::qt_metacall
+40 QAbstractSpinBox::~QAbstractSpinBox
+48 QAbstractSpinBox::~QAbstractSpinBox
+56 QAbstractSpinBox::event
+64 QObject::eventFilter
+72 QAbstractSpinBox::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QAbstractSpinBox::sizeHint
+136 QAbstractSpinBox::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QAbstractSpinBox::mousePressEvent
+168 QAbstractSpinBox::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QAbstractSpinBox::mouseMoveEvent
+192 QAbstractSpinBox::wheelEvent
+200 QAbstractSpinBox::keyPressEvent
+208 QAbstractSpinBox::keyReleaseEvent
+216 QAbstractSpinBox::focusInEvent
+224 QAbstractSpinBox::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QAbstractSpinBox::paintEvent
+256 QWidget::moveEvent
+264 QAbstractSpinBox::resizeEvent
+272 QAbstractSpinBox::closeEvent
+280 QAbstractSpinBox::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QAbstractSpinBox::showEvent
+344 QAbstractSpinBox::hideEvent
+352 QWidget::x11Event
+360 QAbstractSpinBox::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QAbstractSpinBox::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QAbstractSpinBox::validate
+456 QAbstractSpinBox::fixup
+464 QAbstractSpinBox::stepBy
+472 QAbstractSpinBox::clear
+480 QAbstractSpinBox::stepEnabled
+488 (int (*)(...))-0x00000000000000010
+496 (int (*)(...))(& _ZTI16QAbstractSpinBox)
+504 QAbstractSpinBox::_ZThn16_N16QAbstractSpinBoxD1Ev
+512 QAbstractSpinBox::_ZThn16_N16QAbstractSpinBoxD0Ev
+520 QWidget::_ZThn16_NK7QWidget7devTypeEv
+528 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+536 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QAbstractSpinBox
+ size=40 align=8
+ base size=40 base align=8
+QAbstractSpinBox (0x7f62de8a25b0) 0
+ vptr=((& QAbstractSpinBox::_ZTV16QAbstractSpinBox) + 16u)
+ QWidget (0x7f62de887e80) 0
+ primary-for QAbstractSpinBox (0x7f62de8a25b0)
+ QObject (0x7f62de8a2620) 0
+ primary-for QWidget (0x7f62de887e80)
+ QPaintDevice (0x7f62de8a2690) 16
+ vptr=((& QAbstractSpinBox::_ZTV16QAbstractSpinBox) + 504u)
+
+Vtable for QAbstractSlider
+QAbstractSlider::_ZTV15QAbstractSlider: 64u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QAbstractSlider)
+16 QAbstractSlider::metaObject
+24 QAbstractSlider::qt_metacast
+32 QAbstractSlider::qt_metacall
+40 QAbstractSlider::~QAbstractSlider
+48 QAbstractSlider::~QAbstractSlider
+56 QAbstractSlider::event
+64 QObject::eventFilter
+72 QAbstractSlider::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QWidget::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QAbstractSlider::wheelEvent
+200 QAbstractSlider::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QWidget::paintEvent
+256 QWidget::moveEvent
+264 QWidget::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QAbstractSlider::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QAbstractSlider::sliderChange
+456 (int (*)(...))-0x00000000000000010
+464 (int (*)(...))(& _ZTI15QAbstractSlider)
+472 QAbstractSlider::_ZThn16_N15QAbstractSliderD1Ev
+480 QAbstractSlider::_ZThn16_N15QAbstractSliderD0Ev
+488 QWidget::_ZThn16_NK7QWidget7devTypeEv
+496 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+504 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QAbstractSlider
+ size=40 align=8
+ base size=40 base align=8
+QAbstractSlider (0x7f62de6ff5b0) 0
+ vptr=((& QAbstractSlider::_ZTV15QAbstractSlider) + 16u)
+ QWidget (0x7f62de700200) 0
+ primary-for QAbstractSlider (0x7f62de6ff5b0)
+ QObject (0x7f62de6ff620) 0
+ primary-for QWidget (0x7f62de700200)
+ QPaintDevice (0x7f62de6ff690) 16
+ vptr=((& QAbstractSlider::_ZTV15QAbstractSlider) + 472u)
+
+Vtable for QSlider
+QSlider::_ZTV7QSlider: 64u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QSlider)
+16 QSlider::metaObject
+24 QSlider::qt_metacast
+32 QSlider::qt_metacall
+40 QSlider::~QSlider
+48 QSlider::~QSlider
+56 QSlider::event
+64 QObject::eventFilter
+72 QAbstractSlider::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QSlider::sizeHint
+136 QSlider::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QSlider::mousePressEvent
+168 QSlider::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QSlider::mouseMoveEvent
+192 QAbstractSlider::wheelEvent
+200 QAbstractSlider::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QSlider::paintEvent
+256 QWidget::moveEvent
+264 QWidget::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QAbstractSlider::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QAbstractSlider::sliderChange
+456 (int (*)(...))-0x00000000000000010
+464 (int (*)(...))(& _ZTI7QSlider)
+472 QSlider::_ZThn16_N7QSliderD1Ev
+480 QSlider::_ZThn16_N7QSliderD0Ev
+488 QWidget::_ZThn16_NK7QWidget7devTypeEv
+496 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+504 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QSlider
+ size=40 align=8
+ base size=40 base align=8
+QSlider (0x7f62de7363f0) 0
+ vptr=((& QSlider::_ZTV7QSlider) + 16u)
+ QAbstractSlider (0x7f62de736460) 0
+ primary-for QSlider (0x7f62de7363f0)
+ QWidget (0x7f62de735300) 0
+ primary-for QAbstractSlider (0x7f62de736460)
+ QObject (0x7f62de7364d0) 0
+ primary-for QWidget (0x7f62de735300)
+ QPaintDevice (0x7f62de736540) 16
+ vptr=((& QSlider::_ZTV7QSlider) + 472u)
+
+Vtable for QStyle
+QStyle::_ZTV6QStyle: 35u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI6QStyle)
+16 QStyle::metaObject
+24 QStyle::qt_metacast
+32 QStyle::qt_metacall
+40 QStyle::~QStyle
+48 QStyle::~QStyle
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QStyle::polish
+120 QStyle::unpolish
+128 QStyle::polish
+136 QStyle::unpolish
+144 QStyle::polish
+152 QStyle::itemTextRect
+160 QStyle::itemPixmapRect
+168 QStyle::drawItemText
+176 QStyle::drawItemPixmap
+184 QStyle::standardPalette
+192 __cxa_pure_virtual
+200 __cxa_pure_virtual
+208 __cxa_pure_virtual
+216 __cxa_pure_virtual
+224 __cxa_pure_virtual
+232 __cxa_pure_virtual
+240 __cxa_pure_virtual
+248 __cxa_pure_virtual
+256 __cxa_pure_virtual
+264 __cxa_pure_virtual
+272 __cxa_pure_virtual
+
+Class QStyle
+ size=16 align=8
+ base size=16 base align=8
+QStyle (0x7f62de75c9a0) 0
+ vptr=((& QStyle::_ZTV6QStyle) + 16u)
+ QObject (0x7f62de75ca10) 0
+ primary-for QStyle (0x7f62de75c9a0)
+
+Vtable for QTabBar
+QTabBar::_ZTV7QTabBar: 67u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QTabBar)
+16 QTabBar::metaObject
+24 QTabBar::qt_metacast
+32 QTabBar::qt_metacall
+40 QTabBar::~QTabBar
+48 QTabBar::~QTabBar
+56 QTabBar::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QTabBar::sizeHint
+136 QTabBar::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QTabBar::mousePressEvent
+168 QTabBar::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QTabBar::mouseMoveEvent
+192 QTabBar::wheelEvent
+200 QTabBar::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QTabBar::paintEvent
+256 QWidget::moveEvent
+264 QTabBar::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QTabBar::showEvent
+344 QTabBar::hideEvent
+352 QWidget::x11Event
+360 QTabBar::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QTabBar::tabSizeHint
+456 QTabBar::tabInserted
+464 QTabBar::tabRemoved
+472 QTabBar::tabLayoutChange
+480 (int (*)(...))-0x00000000000000010
+488 (int (*)(...))(& _ZTI7QTabBar)
+496 QTabBar::_ZThn16_N7QTabBarD1Ev
+504 QTabBar::_ZThn16_N7QTabBarD0Ev
+512 QWidget::_ZThn16_NK7QWidget7devTypeEv
+520 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+528 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QTabBar
+ size=40 align=8
+ base size=40 base align=8
+QTabBar (0x7f62de5f7850) 0
+ vptr=((& QTabBar::_ZTV7QTabBar) + 16u)
+ QWidget (0x7f62de5f8300) 0
+ primary-for QTabBar (0x7f62de5f7850)
+ QObject (0x7f62de5f78c0) 0
+ primary-for QWidget (0x7f62de5f8300)
+ QPaintDevice (0x7f62de5f7930) 16
+ vptr=((& QTabBar::_ZTV7QTabBar) + 496u)
+
+Vtable for QTabWidget
+QTabWidget::_ZTV10QTabWidget: 65u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QTabWidget)
+16 QTabWidget::metaObject
+24 QTabWidget::qt_metacast
+32 QTabWidget::qt_metacall
+40 QTabWidget::~QTabWidget
+48 QTabWidget::~QTabWidget
+56 QTabWidget::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QTabWidget::sizeHint
+136 QTabWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QTabWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QTabWidget::paintEvent
+256 QWidget::moveEvent
+264 QTabWidget::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QTabWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QTabWidget::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QTabWidget::tabInserted
+456 QTabWidget::tabRemoved
+464 (int (*)(...))-0x00000000000000010
+472 (int (*)(...))(& _ZTI10QTabWidget)
+480 QTabWidget::_ZThn16_N10QTabWidgetD1Ev
+488 QTabWidget::_ZThn16_N10QTabWidgetD0Ev
+496 QWidget::_ZThn16_NK7QWidget7devTypeEv
+504 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+512 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QTabWidget
+ size=40 align=8
+ base size=40 base align=8
+QTabWidget (0x7f62de639e70) 0
+ vptr=((& QTabWidget::_ZTV10QTabWidget) + 16u)
+ QWidget (0x7f62de635700) 0
+ primary-for QTabWidget (0x7f62de639e70)
+ QObject (0x7f62de639ee0) 0
+ primary-for QWidget (0x7f62de635700)
+ QPaintDevice (0x7f62de639f50) 16
+ vptr=((& QTabWidget::_ZTV10QTabWidget) + 480u)
+
+Vtable for QRubberBand
+QRubberBand::_ZTV11QRubberBand: 63u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QRubberBand)
+16 QRubberBand::metaObject
+24 QRubberBand::qt_metacast
+32 QRubberBand::qt_metacall
+40 QRubberBand::~QRubberBand
+48 QRubberBand::~QRubberBand
+56 QRubberBand::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QWidget::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QRubberBand::paintEvent
+256 QRubberBand::moveEvent
+264 QRubberBand::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QRubberBand::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QRubberBand::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 (int (*)(...))-0x00000000000000010
+456 (int (*)(...))(& _ZTI11QRubberBand)
+464 QRubberBand::_ZThn16_N11QRubberBandD1Ev
+472 QRubberBand::_ZThn16_N11QRubberBandD0Ev
+480 QWidget::_ZThn16_NK7QWidget7devTypeEv
+488 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+496 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QRubberBand
+ size=40 align=8
+ base size=40 base align=8
+QRubberBand (0x7f62de68d850) 0
+ vptr=((& QRubberBand::_ZTV11QRubberBand) + 16u)
+ QWidget (0x7f62de68b880) 0
+ primary-for QRubberBand (0x7f62de68d850)
+ QObject (0x7f62de68d8c0) 0
+ primary-for QWidget (0x7f62de68b880)
+ QPaintDevice (0x7f62de68d930) 16
+ vptr=((& QRubberBand::_ZTV11QRubberBand) + 464u)
+
+Class QStyleOption
+ size=56 align=8
+ base size=56 base align=8
+QStyleOption (0x7f62de4b1b60) 0
+
+Class QStyleOptionFocusRect
+ size=72 align=8
+ base size=72 base align=8
+QStyleOptionFocusRect (0x7f62de4bf8c0) 0
+ QStyleOption (0x7f62de4bf930) 0
+
+Class QStyleOptionFrame
+ size=64 align=8
+ base size=64 base align=8
+QStyleOptionFrame (0x7f62de4c98c0) 0
+ QStyleOption (0x7f62de4c9930) 0
+
+Class QStyleOptionFrameV2
+ size=72 align=8
+ base size=68 base align=8
+QStyleOptionFrameV2 (0x7f62de4d8850) 0
+ QStyleOptionFrame (0x7f62de4d88c0) 0
+ QStyleOption (0x7f62de4d8930) 0
+
+Class QStyleOptionFrameV3
+ size=72 align=8
+ base size=72 base align=8
+QStyleOptionFrameV3 (0x7f62de51e150) 0
+ QStyleOptionFrameV2 (0x7f62de51e1c0) 0
+ QStyleOptionFrame (0x7f62de51e230) 0
+ QStyleOption (0x7f62de51e2a0) 0
+
+Class QStyleOptionTabWidgetFrame
+ size=96 align=8
+ base size=92 base align=8
+QStyleOptionTabWidgetFrame (0x7f62de52ba10) 0
+ QStyleOption (0x7f62de52ba80) 0
+
+Class QStyleOptionTabWidgetFrameV2
+ size=128 align=8
+ base size=124 base align=8
+QStyleOptionTabWidgetFrameV2 (0x7f62de5401c0) 0
+ QStyleOptionTabWidgetFrame (0x7f62de540230) 0
+ QStyleOption (0x7f62de5402a0) 0
+
+Class QStyleOptionTabBarBase
+ size=96 align=8
+ base size=92 base align=8
+QStyleOptionTabBarBase (0x7f62de548af0) 0
+ QStyleOption (0x7f62de548b60) 0
+
+Class QStyleOptionTabBarBaseV2
+ size=96 align=8
+ base size=93 base align=8
+QStyleOptionTabBarBaseV2 (0x7f62de555ee0) 0
+ QStyleOptionTabBarBase (0x7f62de555f50) 0
+ QStyleOption (0x7f62de555310) 0
+
+Class QStyleOptionHeader
+ size=112 align=8
+ base size=108 base align=8
+QStyleOptionHeader (0x7f62de56a540) 0
+ QStyleOption (0x7f62de56a5b0) 0
+
+Class QStyleOptionButton
+ size=88 align=8
+ base size=88 base align=8
+QStyleOptionButton (0x7f62de583700) 0
+ QStyleOption (0x7f62de583770) 0
+
+Class QStyleOptionTab
+ size=96 align=8
+ base size=96 base align=8
+QStyleOptionTab (0x7f62de3d20e0) 0
+ QStyleOption (0x7f62de3d2150) 0
+
+Class QStyleOptionTabV2
+ size=104 align=8
+ base size=104 base align=8
+QStyleOptionTabV2 (0x7f62de41e070) 0
+ QStyleOptionTab (0x7f62de41e0e0) 0
+ QStyleOption (0x7f62de41e150) 0
+
+Class QStyleOptionTabV3
+ size=128 align=8
+ base size=124 base align=8
+QStyleOptionTabV3 (0x7f62de429a80) 0
+ QStyleOptionTabV2 (0x7f62de429af0) 0
+ QStyleOptionTab (0x7f62de429b60) 0
+ QStyleOption (0x7f62de429bd0) 0
+
+Class QStyleOptionToolBar
+ size=80 align=8
+ base size=80 base align=8
+QStyleOptionToolBar (0x7f62de4480e0) 0
+ QStyleOption (0x7f62de448150) 0
+
+Class QStyleOptionProgressBar
+ size=88 align=8
+ base size=85 base align=8
+QStyleOptionProgressBar (0x7f62de47b8c0) 0
+ QStyleOption (0x7f62de47b930) 0
+
+Class QStyleOptionProgressBarV2
+ size=96 align=8
+ base size=94 base align=8
+QStyleOptionProgressBarV2 (0x7f62de2a4070) 0
+ QStyleOptionProgressBar (0x7f62de2a40e0) 0
+ QStyleOption (0x7f62de2a4150) 0
+
+Class QStyleOptionMenuItem
+ size=128 align=8
+ base size=128 base align=8
+QStyleOptionMenuItem (0x7f62de2a4930) 0
+ QStyleOption (0x7f62de2a49a0) 0
+
+Class QStyleOptionQ3ListViewItem
+ size=80 align=8
+ base size=76 base align=8
+QStyleOptionQ3ListViewItem (0x7f62de2bdb60) 0
+ QStyleOption (0x7f62de2bdbd0) 0
+
+Class QStyleOptionQ3DockWindow
+ size=64 align=8
+ base size=58 base align=8
+QStyleOptionQ3DockWindow (0x7f62de30c000) 0
+ QStyleOption (0x7f62de30c070) 0
+
+Class QStyleOptionDockWidget
+ size=72 align=8
+ base size=67 base align=8
+QStyleOptionDockWidget (0x7f62de30c690) 0
+ QStyleOption (0x7f62de318000) 0
+
+Class QStyleOptionDockWidgetV2
+ size=72 align=8
+ base size=68 base align=8
+QStyleOptionDockWidgetV2 (0x7f62de326380) 0
+ QStyleOptionDockWidget (0x7f62de3263f0) 0
+ QStyleOption (0x7f62de326460) 0
+
+Class QStyleOptionViewItem
+ size=104 align=8
+ base size=97 base align=8
+QStyleOptionViewItem (0x7f62de32eb60) 0
+ QStyleOption (0x7f62de32ebd0) 0
+
+Class QStyleOptionViewItemV2
+ size=104 align=8
+ base size=104 base align=8
+QStyleOptionViewItemV2 (0x7f62de348700) 0
+ QStyleOptionViewItem (0x7f62de348770) 0
+ QStyleOption (0x7f62de3487e0) 0
+
+Class QStyleOptionViewItemV3
+ size=120 align=8
+ base size=120 base align=8
+QStyleOptionViewItemV3 (0x7f62de395150) 0
+ QStyleOptionViewItemV2 (0x7f62de3951c0) 0
+ QStyleOptionViewItem (0x7f62de395230) 0
+ QStyleOption (0x7f62de3952a0) 0
+
+Class QStyleOptionViewItemV4
+ size=184 align=8
+ base size=184 base align=8
+QStyleOptionViewItemV4 (0x7f62de39fa10) 0
+ QStyleOptionViewItemV3 (0x7f62de39fa80) 0
+ QStyleOptionViewItemV2 (0x7f62de39faf0) 0
+ QStyleOptionViewItem (0x7f62de39fb60) 0
+ QStyleOption (0x7f62de39fbd0) 0
+
+Class QStyleOptionToolBox
+ size=72 align=8
+ base size=72 base align=8
+QStyleOptionToolBox (0x7f62de1c1150) 0
+ QStyleOption (0x7f62de1c11c0) 0
+
+Class QStyleOptionToolBoxV2
+ size=80 align=8
+ base size=80 base align=8
+QStyleOptionToolBoxV2 (0x7f62de1cd620) 0
+ QStyleOptionToolBox (0x7f62de1cd690) 0
+ QStyleOption (0x7f62de1cd700) 0
+
+Class QStyleOptionRubberBand
+ size=64 align=8
+ base size=61 base align=8
+QStyleOptionRubberBand (0x7f62de1e4310) 0
+ QStyleOption (0x7f62de1e4380) 0
+
+Class QStyleOptionComplex
+ size=64 align=8
+ base size=64 base align=8
+QStyleOptionComplex (0x7f62de1ee3f0) 0
+ QStyleOption (0x7f62de1ee460) 0
+
+Class QStyleOptionSlider
+ size=120 align=8
+ base size=113 base align=8
+QStyleOptionSlider (0x7f62de1f8bd0) 0
+ QStyleOptionComplex (0x7f62de1f8c40) 0
+ QStyleOption (0x7f62de1f8cb0) 0
+
+Class QStyleOptionSpinBox
+ size=80 align=8
+ base size=73 base align=8
+QStyleOptionSpinBox (0x7f62de20e9a0) 0
+ QStyleOptionComplex (0x7f62de20ea10) 0
+ QStyleOption (0x7f62de20ea80) 0
+
+Class QStyleOptionQ3ListView
+ size=112 align=8
+ base size=105 base align=8
+QStyleOptionQ3ListView (0x7f62de216ee0) 0
+ QStyleOptionComplex (0x7f62de216f50) 0
+ QStyleOption (0x7f62de216380) 0
+
+Class QStyleOptionToolButton
+ size=128 align=8
+ base size=128 base align=8
+QStyleOptionToolButton (0x7f62de250af0) 0
+ QStyleOptionComplex (0x7f62de250b60) 0
+ QStyleOption (0x7f62de250bd0) 0
+
+Class QStyleOptionComboBox
+ size=112 align=8
+ base size=112 base align=8
+QStyleOptionComboBox (0x7f62de290d20) 0
+ QStyleOptionComplex (0x7f62de290d90) 0
+ QStyleOption (0x7f62de290e00) 0
+
+Class QStyleOptionTitleBar
+ size=88 align=8
+ base size=88 base align=8
+QStyleOptionTitleBar (0x7f62de0ba850) 0
+ QStyleOptionComplex (0x7f62de0ba8c0) 0
+ QStyleOption (0x7f62de0ba930) 0
+
+Class QStyleOptionGroupBox
+ size=112 align=8
+ base size=108 base align=8
+QStyleOptionGroupBox (0x7f62de0d00e0) 0
+ QStyleOptionComplex (0x7f62de0d0150) 0
+ QStyleOption (0x7f62de0d01c0) 0
+
+Class QStyleOptionSizeGrip
+ size=72 align=8
+ base size=68 base align=8
+QStyleOptionSizeGrip (0x7f62de0dfcb0) 0
+ QStyleOptionComplex (0x7f62de0dfd20) 0
+ QStyleOption (0x7f62de0dfd90) 0
+
+Class QStyleOptionGraphicsItem
+ size=144 align=8
+ base size=144 base align=8
+QStyleOptionGraphicsItem (0x7f62de0e9c40) 0
+ QStyleOption (0x7f62de0e9cb0) 0
+
+Class QStyleHintReturn
+ size=8 align=4
+ base size=8 base align=4
+QStyleHintReturn (0x7f62de0f62a0) 0
+
+Class QStyleHintReturnMask
+ size=16 align=8
+ base size=16 base align=8
+QStyleHintReturnMask (0x7f62de1143f0) 0
+ QStyleHintReturn (0x7f62de114460) 0
+
+Class QStyleHintReturnVariant
+ size=24 align=8
+ base size=24 base align=8
+QStyleHintReturnVariant (0x7f62de114620) 0
+ QStyleHintReturn (0x7f62de114690) 0
+
+Vtable for QAbstractItemDelegate
+QAbstractItemDelegate::_ZTV21QAbstractItemDelegate: 21u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI21QAbstractItemDelegate)
+16 QAbstractItemDelegate::metaObject
+24 QAbstractItemDelegate::qt_metacast
+32 QAbstractItemDelegate::qt_metacall
+40 QAbstractItemDelegate::~QAbstractItemDelegate
+48 QAbstractItemDelegate::~QAbstractItemDelegate
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 QAbstractItemDelegate::createEditor
+136 QAbstractItemDelegate::setEditorData
+144 QAbstractItemDelegate::setModelData
+152 QAbstractItemDelegate::updateEditorGeometry
+160 QAbstractItemDelegate::editorEvent
+
+Class QAbstractItemDelegate
+ size=16 align=8
+ base size=16 base align=8
+QAbstractItemDelegate (0x7f62de114af0) 0
+ vptr=((& QAbstractItemDelegate::_ZTV21QAbstractItemDelegate) + 16u)
+ QObject (0x7f62de114b60) 0
+ primary-for QAbstractItemDelegate (0x7f62de114af0)
+
+Vtable for QAbstractItemView
+QAbstractItemView::_ZTV17QAbstractItemView: 103u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QAbstractItemView)
+16 QAbstractItemView::metaObject
+24 QAbstractItemView::qt_metacast
+32 QAbstractItemView::qt_metacall
+40 QAbstractItemView::~QAbstractItemView
+48 QAbstractItemView::~QAbstractItemView
+56 QAbstractItemView::event
+64 QObject::eventFilter
+72 QAbstractItemView::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QAbstractScrollArea::sizeHint
+136 QAbstractScrollArea::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QAbstractItemView::mousePressEvent
+168 QAbstractItemView::mouseReleaseEvent
+176 QAbstractItemView::mouseDoubleClickEvent
+184 QAbstractItemView::mouseMoveEvent
+192 QAbstractScrollArea::wheelEvent
+200 QAbstractItemView::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QAbstractItemView::focusInEvent
+224 QAbstractItemView::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QAbstractScrollArea::paintEvent
+256 QWidget::moveEvent
+264 QAbstractItemView::resizeEvent
+272 QWidget::closeEvent
+280 QAbstractScrollArea::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QAbstractItemView::dragEnterEvent
+312 QAbstractItemView::dragMoveEvent
+320 QAbstractItemView::dragLeaveEvent
+328 QAbstractItemView::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QFrame::changeEvent
+368 QWidget::metric
+376 QAbstractItemView::inputMethodEvent
+384 QAbstractItemView::inputMethodQuery
+392 QAbstractItemView::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QAbstractItemView::viewportEvent
+456 QAbstractScrollArea::scrollContentsBy
+464 QAbstractItemView::setModel
+472 QAbstractItemView::setSelectionModel
+480 QAbstractItemView::keyboardSearch
+488 __cxa_pure_virtual
+496 __cxa_pure_virtual
+504 __cxa_pure_virtual
+512 QAbstractItemView::sizeHintForRow
+520 QAbstractItemView::sizeHintForColumn
+528 QAbstractItemView::reset
+536 QAbstractItemView::setRootIndex
+544 QAbstractItemView::doItemsLayout
+552 QAbstractItemView::selectAll
+560 QAbstractItemView::dataChanged
+568 QAbstractItemView::rowsInserted
+576 QAbstractItemView::rowsAboutToBeRemoved
+584 QAbstractItemView::selectionChanged
+592 QAbstractItemView::currentChanged
+600 QAbstractItemView::updateEditorData
+608 QAbstractItemView::updateEditorGeometries
+616 QAbstractItemView::updateGeometries
+624 QAbstractItemView::verticalScrollbarAction
+632 QAbstractItemView::horizontalScrollbarAction
+640 QAbstractItemView::verticalScrollbarValueChanged
+648 QAbstractItemView::horizontalScrollbarValueChanged
+656 QAbstractItemView::closeEditor
+664 QAbstractItemView::commitData
+672 QAbstractItemView::editorDestroyed
+680 __cxa_pure_virtual
+688 __cxa_pure_virtual
+696 __cxa_pure_virtual
+704 __cxa_pure_virtual
+712 __cxa_pure_virtual
+720 __cxa_pure_virtual
+728 QAbstractItemView::selectedIndexes
+736 QAbstractItemView::edit
+744 QAbstractItemView::selectionCommand
+752 QAbstractItemView::startDrag
+760 QAbstractItemView::viewOptions
+768 (int (*)(...))-0x00000000000000010
+776 (int (*)(...))(& _ZTI17QAbstractItemView)
+784 QAbstractItemView::_ZThn16_N17QAbstractItemViewD1Ev
+792 QAbstractItemView::_ZThn16_N17QAbstractItemViewD0Ev
+800 QWidget::_ZThn16_NK7QWidget7devTypeEv
+808 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+816 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QAbstractItemView
+ size=40 align=8
+ base size=40 base align=8
+QAbstractItemView (0x7f62de1451c0) 0
+ vptr=((& QAbstractItemView::_ZTV17QAbstractItemView) + 16u)
+ QAbstractScrollArea (0x7f62de145230) 0
+ primary-for QAbstractItemView (0x7f62de1451c0)
+ QFrame (0x7f62de1452a0) 0
+ primary-for QAbstractScrollArea (0x7f62de145230)
+ QWidget (0x7f62de122d80) 0
+ primary-for QFrame (0x7f62de1452a0)
+ QObject (0x7f62de145310) 0
+ primary-for QWidget (0x7f62de122d80)
+ QPaintDevice (0x7f62de145380) 16
+ vptr=((& QAbstractItemView::_ZTV17QAbstractItemView) + 784u)
+
+Vtable for QListView
+QListView::_ZTV9QListView: 103u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QListView)
+16 QListView::metaObject
+24 QListView::qt_metacast
+32 QListView::qt_metacall
+40 QListView::~QListView
+48 QListView::~QListView
+56 QListView::event
+64 QObject::eventFilter
+72 QListView::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QAbstractScrollArea::sizeHint
+136 QAbstractScrollArea::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QAbstractItemView::mousePressEvent
+168 QListView::mouseReleaseEvent
+176 QAbstractItemView::mouseDoubleClickEvent
+184 QListView::mouseMoveEvent
+192 QAbstractScrollArea::wheelEvent
+200 QAbstractItemView::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QAbstractItemView::focusInEvent
+224 QAbstractItemView::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QListView::paintEvent
+256 QWidget::moveEvent
+264 QListView::resizeEvent
+272 QWidget::closeEvent
+280 QAbstractScrollArea::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QAbstractItemView::dragEnterEvent
+312 QListView::dragMoveEvent
+320 QListView::dragLeaveEvent
+328 QListView::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QFrame::changeEvent
+368 QWidget::metric
+376 QAbstractItemView::inputMethodEvent
+384 QAbstractItemView::inputMethodQuery
+392 QAbstractItemView::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QAbstractItemView::viewportEvent
+456 QListView::scrollContentsBy
+464 QAbstractItemView::setModel
+472 QAbstractItemView::setSelectionModel
+480 QAbstractItemView::keyboardSearch
+488 QListView::visualRect
+496 QListView::scrollTo
+504 QListView::indexAt
+512 QAbstractItemView::sizeHintForRow
+520 QAbstractItemView::sizeHintForColumn
+528 QListView::reset
+536 QListView::setRootIndex
+544 QListView::doItemsLayout
+552 QAbstractItemView::selectAll
+560 QListView::dataChanged
+568 QListView::rowsInserted
+576 QListView::rowsAboutToBeRemoved
+584 QListView::selectionChanged
+592 QListView::currentChanged
+600 QAbstractItemView::updateEditorData
+608 QAbstractItemView::updateEditorGeometries
+616 QListView::updateGeometries
+624 QAbstractItemView::verticalScrollbarAction
+632 QAbstractItemView::horizontalScrollbarAction
+640 QAbstractItemView::verticalScrollbarValueChanged
+648 QAbstractItemView::horizontalScrollbarValueChanged
+656 QAbstractItemView::closeEditor
+664 QAbstractItemView::commitData
+672 QAbstractItemView::editorDestroyed
+680 QListView::moveCursor
+688 QListView::horizontalOffset
+696 QListView::verticalOffset
+704 QListView::isIndexHidden
+712 QListView::setSelection
+720 QListView::visualRegionForSelection
+728 QListView::selectedIndexes
+736 QAbstractItemView::edit
+744 QAbstractItemView::selectionCommand
+752 QListView::startDrag
+760 QListView::viewOptions
+768 (int (*)(...))-0x00000000000000010
+776 (int (*)(...))(& _ZTI9QListView)
+784 QListView::_ZThn16_N9QListViewD1Ev
+792 QListView::_ZThn16_N9QListViewD0Ev
+800 QWidget::_ZThn16_NK7QWidget7devTypeEv
+808 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+816 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QListView
+ size=40 align=8
+ base size=40 base align=8
+QListView (0x7f62ddfba9a0) 0
+ vptr=((& QListView::_ZTV9QListView) + 16u)
+ QAbstractItemView (0x7f62ddfbaa10) 0
+ primary-for QListView (0x7f62ddfba9a0)
+ QAbstractScrollArea (0x7f62ddfbaa80) 0
+ primary-for QAbstractItemView (0x7f62ddfbaa10)
+ QFrame (0x7f62ddfbaaf0) 0
+ primary-for QAbstractScrollArea (0x7f62ddfbaa80)
+ QWidget (0x7f62ddfa4500) 0
+ primary-for QFrame (0x7f62ddfbaaf0)
+ QObject (0x7f62ddfbab60) 0
+ primary-for QWidget (0x7f62ddfa4500)
+ QPaintDevice (0x7f62ddfbabd0) 16
+ vptr=((& QListView::_ZTV9QListView) + 784u)
+
+Vtable for QUndoView
+QUndoView::_ZTV9QUndoView: 103u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QUndoView)
+16 QUndoView::metaObject
+24 QUndoView::qt_metacast
+32 QUndoView::qt_metacall
+40 QUndoView::~QUndoView
+48 QUndoView::~QUndoView
+56 QListView::event
+64 QObject::eventFilter
+72 QListView::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QAbstractScrollArea::sizeHint
+136 QAbstractScrollArea::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QAbstractItemView::mousePressEvent
+168 QListView::mouseReleaseEvent
+176 QAbstractItemView::mouseDoubleClickEvent
+184 QListView::mouseMoveEvent
+192 QAbstractScrollArea::wheelEvent
+200 QAbstractItemView::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QAbstractItemView::focusInEvent
+224 QAbstractItemView::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QListView::paintEvent
+256 QWidget::moveEvent
+264 QListView::resizeEvent
+272 QWidget::closeEvent
+280 QAbstractScrollArea::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QAbstractItemView::dragEnterEvent
+312 QListView::dragMoveEvent
+320 QListView::dragLeaveEvent
+328 QListView::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QFrame::changeEvent
+368 QWidget::metric
+376 QAbstractItemView::inputMethodEvent
+384 QAbstractItemView::inputMethodQuery
+392 QAbstractItemView::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QAbstractItemView::viewportEvent
+456 QListView::scrollContentsBy
+464 QAbstractItemView::setModel
+472 QAbstractItemView::setSelectionModel
+480 QAbstractItemView::keyboardSearch
+488 QListView::visualRect
+496 QListView::scrollTo
+504 QListView::indexAt
+512 QAbstractItemView::sizeHintForRow
+520 QAbstractItemView::sizeHintForColumn
+528 QListView::reset
+536 QListView::setRootIndex
+544 QListView::doItemsLayout
+552 QAbstractItemView::selectAll
+560 QListView::dataChanged
+568 QListView::rowsInserted
+576 QListView::rowsAboutToBeRemoved
+584 QListView::selectionChanged
+592 QListView::currentChanged
+600 QAbstractItemView::updateEditorData
+608 QAbstractItemView::updateEditorGeometries
+616 QListView::updateGeometries
+624 QAbstractItemView::verticalScrollbarAction
+632 QAbstractItemView::horizontalScrollbarAction
+640 QAbstractItemView::verticalScrollbarValueChanged
+648 QAbstractItemView::horizontalScrollbarValueChanged
+656 QAbstractItemView::closeEditor
+664 QAbstractItemView::commitData
+672 QAbstractItemView::editorDestroyed
+680 QListView::moveCursor
+688 QListView::horizontalOffset
+696 QListView::verticalOffset
+704 QListView::isIndexHidden
+712 QListView::setSelection
+720 QListView::visualRegionForSelection
+728 QListView::selectedIndexes
+736 QAbstractItemView::edit
+744 QAbstractItemView::selectionCommand
+752 QListView::startDrag
+760 QListView::viewOptions
+768 (int (*)(...))-0x00000000000000010
+776 (int (*)(...))(& _ZTI9QUndoView)
+784 QUndoView::_ZThn16_N9QUndoViewD1Ev
+792 QUndoView::_ZThn16_N9QUndoViewD0Ev
+800 QWidget::_ZThn16_NK7QWidget7devTypeEv
+808 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+816 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QUndoView
+ size=40 align=8
+ base size=40 base align=8
+QUndoView (0x7f62de009070) 0
+ vptr=((& QUndoView::_ZTV9QUndoView) + 16u)
+ QListView (0x7f62de0090e0) 0
+ primary-for QUndoView (0x7f62de009070)
+ QAbstractItemView (0x7f62de009150) 0
+ primary-for QListView (0x7f62de0090e0)
+ QAbstractScrollArea (0x7f62de0091c0) 0
+ primary-for QAbstractItemView (0x7f62de009150)
+ QFrame (0x7f62de009230) 0
+ primary-for QAbstractScrollArea (0x7f62de0091c0)
+ QWidget (0x7f62de004500) 0
+ primary-for QFrame (0x7f62de009230)
+ QObject (0x7f62de0092a0) 0
+ primary-for QWidget (0x7f62de004500)
+ QPaintDevice (0x7f62de009310) 16
+ vptr=((& QUndoView::_ZTV9QUndoView) + 784u)
+
+Vtable for QDialog
+QDialog::_ZTV7QDialog: 66u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QDialog)
+16 QDialog::metaObject
+24 QDialog::qt_metacast
+32 QDialog::qt_metacall
+40 QDialog::~QDialog
+48 QDialog::~QDialog
+56 QWidget::event
+64 QDialog::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QDialog::setVisible
+128 QDialog::sizeHint
+136 QDialog::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QDialog::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QWidget::paintEvent
+256 QWidget::moveEvent
+264 QDialog::resizeEvent
+272 QDialog::closeEvent
+280 QDialog::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QDialog::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QWidget::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QDialog::done
+456 QDialog::accept
+464 QDialog::reject
+472 (int (*)(...))-0x00000000000000010
+480 (int (*)(...))(& _ZTI7QDialog)
+488 QDialog::_ZThn16_N7QDialogD1Ev
+496 QDialog::_ZThn16_N7QDialogD0Ev
+504 QWidget::_ZThn16_NK7QWidget7devTypeEv
+512 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+520 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QDialog
+ size=40 align=8
+ base size=40 base align=8
+QDialog (0x7f62de021d20) 0
+ vptr=((& QDialog::_ZTV7QDialog) + 16u)
+ QWidget (0x7f62de004f00) 0
+ primary-for QDialog (0x7f62de021d20)
+ QObject (0x7f62de021d90) 0
+ primary-for QWidget (0x7f62de004f00)
+ QPaintDevice (0x7f62de021e00) 16
+ vptr=((& QDialog::_ZTV7QDialog) + 488u)
+
+Vtable for QAbstractPageSetupDialog
+QAbstractPageSetupDialog::_ZTV24QAbstractPageSetupDialog: 67u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI24QAbstractPageSetupDialog)
+16 QAbstractPageSetupDialog::metaObject
+24 QAbstractPageSetupDialog::qt_metacast
+32 QAbstractPageSetupDialog::qt_metacall
+40 QAbstractPageSetupDialog::~QAbstractPageSetupDialog
+48 QAbstractPageSetupDialog::~QAbstractPageSetupDialog
+56 QWidget::event
+64 QDialog::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QDialog::setVisible
+128 QDialog::sizeHint
+136 QDialog::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QDialog::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QWidget::paintEvent
+256 QWidget::moveEvent
+264 QDialog::resizeEvent
+272 QDialog::closeEvent
+280 QDialog::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QDialog::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QWidget::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QAbstractPageSetupDialog::done
+456 QDialog::accept
+464 QDialog::reject
+472 __cxa_pure_virtual
+480 (int (*)(...))-0x00000000000000010
+488 (int (*)(...))(& _ZTI24QAbstractPageSetupDialog)
+496 QAbstractPageSetupDialog::_ZThn16_N24QAbstractPageSetupDialogD1Ev
+504 QAbstractPageSetupDialog::_ZThn16_N24QAbstractPageSetupDialogD0Ev
+512 QWidget::_ZThn16_NK7QWidget7devTypeEv
+520 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+528 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QAbstractPageSetupDialog
+ size=40 align=8
+ base size=40 base align=8
+QAbstractPageSetupDialog (0x7f62de04ab60) 0
+ vptr=((& QAbstractPageSetupDialog::_ZTV24QAbstractPageSetupDialog) + 16u)
+ QDialog (0x7f62de04abd0) 0
+ primary-for QAbstractPageSetupDialog (0x7f62de04ab60)
+ QWidget (0x7f62de029a00) 0
+ primary-for QDialog (0x7f62de04abd0)
+ QObject (0x7f62de04ac40) 0
+ primary-for QWidget (0x7f62de029a00)
+ QPaintDevice (0x7f62de04acb0) 16
+ vptr=((& QAbstractPageSetupDialog::_ZTV24QAbstractPageSetupDialog) + 496u)
+
+Vtable for QAbstractPrintDialog
+QAbstractPrintDialog::_ZTV20QAbstractPrintDialog: 67u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI20QAbstractPrintDialog)
+16 QAbstractPrintDialog::metaObject
+24 QAbstractPrintDialog::qt_metacast
+32 QAbstractPrintDialog::qt_metacall
+40 QAbstractPrintDialog::~QAbstractPrintDialog
+48 QAbstractPrintDialog::~QAbstractPrintDialog
+56 QWidget::event
+64 QDialog::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QDialog::setVisible
+128 QDialog::sizeHint
+136 QDialog::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QDialog::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QWidget::paintEvent
+256 QWidget::moveEvent
+264 QDialog::resizeEvent
+272 QDialog::closeEvent
+280 QDialog::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QDialog::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QWidget::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QDialog::done
+456 QDialog::accept
+464 QDialog::reject
+472 __cxa_pure_virtual
+480 (int (*)(...))-0x00000000000000010
+488 (int (*)(...))(& _ZTI20QAbstractPrintDialog)
+496 QAbstractPrintDialog::_ZThn16_N20QAbstractPrintDialogD1Ev
+504 QAbstractPrintDialog::_ZThn16_N20QAbstractPrintDialogD0Ev
+512 QWidget::_ZThn16_NK7QWidget7devTypeEv
+520 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+528 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QAbstractPrintDialog
+ size=40 align=8
+ base size=40 base align=8
+QAbstractPrintDialog (0x7f62de068150) 0
+ vptr=((& QAbstractPrintDialog::_ZTV20QAbstractPrintDialog) + 16u)
+ QDialog (0x7f62de0681c0) 0
+ primary-for QAbstractPrintDialog (0x7f62de068150)
+ QWidget (0x7f62de061400) 0
+ primary-for QDialog (0x7f62de0681c0)
+ QObject (0x7f62de068230) 0
+ primary-for QWidget (0x7f62de061400)
+ QPaintDevice (0x7f62de0682a0) 16
+ vptr=((& QAbstractPrintDialog::_ZTV20QAbstractPrintDialog) + 496u)
+
+Vtable for QColorDialog
+QColorDialog::_ZTV12QColorDialog: 66u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QColorDialog)
+16 QColorDialog::metaObject
+24 QColorDialog::qt_metacast
+32 QColorDialog::qt_metacall
+40 QColorDialog::~QColorDialog
+48 QColorDialog::~QColorDialog
+56 QWidget::event
+64 QDialog::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QColorDialog::setVisible
+128 QDialog::sizeHint
+136 QDialog::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QDialog::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QWidget::paintEvent
+256 QWidget::moveEvent
+264 QDialog::resizeEvent
+272 QDialog::closeEvent
+280 QDialog::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QDialog::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QColorDialog::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QColorDialog::done
+456 QDialog::accept
+464 QDialog::reject
+472 (int (*)(...))-0x00000000000000010
+480 (int (*)(...))(& _ZTI12QColorDialog)
+488 QColorDialog::_ZThn16_N12QColorDialogD1Ev
+496 QColorDialog::_ZThn16_N12QColorDialogD0Ev
+504 QWidget::_ZThn16_NK7QWidget7devTypeEv
+512 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+520 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QColorDialog
+ size=40 align=8
+ base size=40 base align=8
+QColorDialog (0x7f62ddec2230) 0
+ vptr=((& QColorDialog::_ZTV12QColorDialog) + 16u)
+ QDialog (0x7f62ddec22a0) 0
+ primary-for QColorDialog (0x7f62ddec2230)
+ QWidget (0x7f62de084880) 0
+ primary-for QDialog (0x7f62ddec22a0)
+ QObject (0x7f62ddec2310) 0
+ primary-for QWidget (0x7f62de084880)
+ QPaintDevice (0x7f62ddec2380) 16
+ vptr=((& QColorDialog::_ZTV12QColorDialog) + 488u)
+
+Vtable for QErrorMessage
+QErrorMessage::_ZTV13QErrorMessage: 66u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QErrorMessage)
+16 QErrorMessage::metaObject
+24 QErrorMessage::qt_metacast
+32 QErrorMessage::qt_metacall
+40 QErrorMessage::~QErrorMessage
+48 QErrorMessage::~QErrorMessage
+56 QWidget::event
+64 QDialog::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QDialog::setVisible
+128 QDialog::sizeHint
+136 QDialog::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QDialog::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QWidget::paintEvent
+256 QWidget::moveEvent
+264 QDialog::resizeEvent
+272 QDialog::closeEvent
+280 QDialog::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QDialog::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QErrorMessage::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QErrorMessage::done
+456 QDialog::accept
+464 QDialog::reject
+472 (int (*)(...))-0x00000000000000010
+480 (int (*)(...))(& _ZTI13QErrorMessage)
+488 QErrorMessage::_ZThn16_N13QErrorMessageD1Ev
+496 QErrorMessage::_ZThn16_N13QErrorMessageD0Ev
+504 QWidget::_ZThn16_NK7QWidget7devTypeEv
+512 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+520 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QErrorMessage
+ size=40 align=8
+ base size=40 base align=8
+QErrorMessage (0x7f62ddf225b0) 0
+ vptr=((& QErrorMessage::_ZTV13QErrorMessage) + 16u)
+ QDialog (0x7f62ddf22620) 0
+ primary-for QErrorMessage (0x7f62ddf225b0)
+ QWidget (0x7f62ddeeac00) 0
+ primary-for QDialog (0x7f62ddf22620)
+ QObject (0x7f62ddf22690) 0
+ primary-for QWidget (0x7f62ddeeac00)
+ QPaintDevice (0x7f62ddf22700) 16
+ vptr=((& QErrorMessage::_ZTV13QErrorMessage) + 488u)
+
+Vtable for QFileDialog
+QFileDialog::_ZTV11QFileDialog: 66u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QFileDialog)
+16 QFileDialog::metaObject
+24 QFileDialog::qt_metacast
+32 QFileDialog::qt_metacall
+40 QFileDialog::~QFileDialog
+48 QFileDialog::~QFileDialog
+56 QWidget::event
+64 QDialog::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QFileDialog::setVisible
+128 QDialog::sizeHint
+136 QDialog::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QDialog::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QWidget::paintEvent
+256 QWidget::moveEvent
+264 QDialog::resizeEvent
+272 QDialog::closeEvent
+280 QDialog::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QDialog::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QFileDialog::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QFileDialog::done
+456 QFileDialog::accept
+464 QDialog::reject
+472 (int (*)(...))-0x00000000000000010
+480 (int (*)(...))(& _ZTI11QFileDialog)
+488 QFileDialog::_ZThn16_N11QFileDialogD1Ev
+496 QFileDialog::_ZThn16_N11QFileDialogD0Ev
+504 QWidget::_ZThn16_NK7QWidget7devTypeEv
+512 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+520 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QFileDialog
+ size=40 align=8
+ base size=40 base align=8
+QFileDialog (0x7f62ddf401c0) 0
+ vptr=((& QFileDialog::_ZTV11QFileDialog) + 16u)
+ QDialog (0x7f62ddf40230) 0
+ primary-for QFileDialog (0x7f62ddf401c0)
+ QWidget (0x7f62ddf37780) 0
+ primary-for QDialog (0x7f62ddf40230)
+ QObject (0x7f62ddf402a0) 0
+ primary-for QWidget (0x7f62ddf37780)
+ QPaintDevice (0x7f62ddf40310) 16
+ vptr=((& QFileDialog::_ZTV11QFileDialog) + 488u)
+
+Vtable for QFileSystemModel
+QFileSystemModel::_ZTV16QFileSystemModel: 42u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QFileSystemModel)
+16 QFileSystemModel::metaObject
+24 QFileSystemModel::qt_metacast
+32 QFileSystemModel::qt_metacall
+40 QFileSystemModel::~QFileSystemModel
+48 QFileSystemModel::~QFileSystemModel
+56 QFileSystemModel::event
+64 QObject::eventFilter
+72 QFileSystemModel::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QFileSystemModel::index
+120 QFileSystemModel::parent
+128 QFileSystemModel::rowCount
+136 QFileSystemModel::columnCount
+144 QFileSystemModel::hasChildren
+152 QFileSystemModel::data
+160 QFileSystemModel::setData
+168 QFileSystemModel::headerData
+176 QAbstractItemModel::setHeaderData
+184 QAbstractItemModel::itemData
+192 QAbstractItemModel::setItemData
+200 QFileSystemModel::mimeTypes
+208 QFileSystemModel::mimeData
+216 QFileSystemModel::dropMimeData
+224 QFileSystemModel::supportedDropActions
+232 QAbstractItemModel::insertRows
+240 QAbstractItemModel::insertColumns
+248 QAbstractItemModel::removeRows
+256 QAbstractItemModel::removeColumns
+264 QFileSystemModel::fetchMore
+272 QFileSystemModel::canFetchMore
+280 QFileSystemModel::flags
+288 QFileSystemModel::sort
+296 QAbstractItemModel::buddy
+304 QAbstractItemModel::match
+312 QAbstractItemModel::span
+320 QAbstractItemModel::submit
+328 QAbstractItemModel::revert
+
+Class QFileSystemModel
+ size=16 align=8
+ base size=16 base align=8
+QFileSystemModel (0x7f62dddbb770) 0
+ vptr=((& QFileSystemModel::_ZTV16QFileSystemModel) + 16u)
+ QAbstractItemModel (0x7f62dddbb7e0) 0
+ primary-for QFileSystemModel (0x7f62dddbb770)
+ QObject (0x7f62dddbb850) 0
+ primary-for QAbstractItemModel (0x7f62dddbb7e0)
+
+Vtable for QFontDialog
+QFontDialog::_ZTV11QFontDialog: 66u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QFontDialog)
+16 QFontDialog::metaObject
+24 QFontDialog::qt_metacast
+32 QFontDialog::qt_metacall
+40 QFontDialog::~QFontDialog
+48 QFontDialog::~QFontDialog
+56 QWidget::event
+64 QFontDialog::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QFontDialog::setVisible
+128 QDialog::sizeHint
+136 QDialog::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QDialog::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QWidget::paintEvent
+256 QWidget::moveEvent
+264 QDialog::resizeEvent
+272 QDialog::closeEvent
+280 QDialog::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QDialog::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QFontDialog::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QFontDialog::done
+456 QDialog::accept
+464 QDialog::reject
+472 (int (*)(...))-0x00000000000000010
+480 (int (*)(...))(& _ZTI11QFontDialog)
+488 QFontDialog::_ZThn16_N11QFontDialogD1Ev
+496 QFontDialog::_ZThn16_N11QFontDialogD0Ev
+504 QWidget::_ZThn16_NK7QWidget7devTypeEv
+512 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+520 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QFontDialog
+ size=40 align=8
+ base size=40 base align=8
+QFontDialog (0x7f62dddffe70) 0
+ vptr=((& QFontDialog::_ZTV11QFontDialog) + 16u)
+ QDialog (0x7f62dddffee0) 0
+ primary-for QFontDialog (0x7f62dddffe70)
+ QWidget (0x7f62dde09500) 0
+ primary-for QDialog (0x7f62dddffee0)
+ QObject (0x7f62dddfff50) 0
+ primary-for QWidget (0x7f62dde09500)
+ QPaintDevice (0x7f62dde0e000) 16
+ vptr=((& QFontDialog::_ZTV11QFontDialog) + 488u)
+
+Vtable for QLineEdit
+QLineEdit::_ZTV9QLineEdit: 63u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QLineEdit)
+16 QLineEdit::metaObject
+24 QLineEdit::qt_metacast
+32 QLineEdit::qt_metacall
+40 QLineEdit::~QLineEdit
+48 QLineEdit::~QLineEdit
+56 QLineEdit::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QLineEdit::sizeHint
+136 QLineEdit::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QLineEdit::mousePressEvent
+168 QLineEdit::mouseReleaseEvent
+176 QLineEdit::mouseDoubleClickEvent
+184 QLineEdit::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QLineEdit::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QLineEdit::focusInEvent
+224 QLineEdit::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QLineEdit::paintEvent
+256 QWidget::moveEvent
+264 QWidget::resizeEvent
+272 QWidget::closeEvent
+280 QLineEdit::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QLineEdit::dragEnterEvent
+312 QLineEdit::dragMoveEvent
+320 QLineEdit::dragLeaveEvent
+328 QLineEdit::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QLineEdit::changeEvent
+368 QWidget::metric
+376 QLineEdit::inputMethodEvent
+384 QLineEdit::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 (int (*)(...))-0x00000000000000010
+456 (int (*)(...))(& _ZTI9QLineEdit)
+464 QLineEdit::_ZThn16_N9QLineEditD1Ev
+472 QLineEdit::_ZThn16_N9QLineEditD0Ev
+480 QWidget::_ZThn16_NK7QWidget7devTypeEv
+488 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+496 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QLineEdit
+ size=40 align=8
+ base size=40 base align=8
+QLineEdit (0x7f62dde6f310) 0
+ vptr=((& QLineEdit::_ZTV9QLineEdit) + 16u)
+ QWidget (0x7f62dde31800) 0
+ primary-for QLineEdit (0x7f62dde6f310)
+ QObject (0x7f62dde6f380) 0
+ primary-for QWidget (0x7f62dde31800)
+ QPaintDevice (0x7f62dde6f3f0) 16
+ vptr=((& QLineEdit::_ZTV9QLineEdit) + 464u)
+
+Vtable for QInputDialog
+QInputDialog::_ZTV12QInputDialog: 66u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QInputDialog)
+16 QInputDialog::metaObject
+24 QInputDialog::qt_metacast
+32 QInputDialog::qt_metacall
+40 QInputDialog::~QInputDialog
+48 QInputDialog::~QInputDialog
+56 QWidget::event
+64 QDialog::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QInputDialog::setVisible
+128 QInputDialog::sizeHint
+136 QInputDialog::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QDialog::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QWidget::paintEvent
+256 QWidget::moveEvent
+264 QDialog::resizeEvent
+272 QDialog::closeEvent
+280 QDialog::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QDialog::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QWidget::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QInputDialog::done
+456 QDialog::accept
+464 QDialog::reject
+472 (int (*)(...))-0x00000000000000010
+480 (int (*)(...))(& _ZTI12QInputDialog)
+488 QInputDialog::_ZThn16_N12QInputDialogD1Ev
+496 QInputDialog::_ZThn16_N12QInputDialogD0Ev
+504 QWidget::_ZThn16_NK7QWidget7devTypeEv
+512 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+520 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QInputDialog
+ size=40 align=8
+ base size=40 base align=8
+QInputDialog (0x7f62ddcc1070) 0
+ vptr=((& QInputDialog::_ZTV12QInputDialog) + 16u)
+ QDialog (0x7f62ddcc10e0) 0
+ primary-for QInputDialog (0x7f62ddcc1070)
+ QWidget (0x7f62ddcbc780) 0
+ primary-for QDialog (0x7f62ddcc10e0)
+ QObject (0x7f62ddcc1150) 0
+ primary-for QWidget (0x7f62ddcbc780)
+ QPaintDevice (0x7f62ddcc11c0) 16
+ vptr=((& QInputDialog::_ZTV12QInputDialog) + 488u)
+
+Vtable for QMessageBox
+QMessageBox::_ZTV11QMessageBox: 66u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QMessageBox)
+16 QMessageBox::metaObject
+24 QMessageBox::qt_metacast
+32 QMessageBox::qt_metacall
+40 QMessageBox::~QMessageBox
+48 QMessageBox::~QMessageBox
+56 QMessageBox::event
+64 QDialog::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QDialog::setVisible
+128 QMessageBox::sizeHint
+136 QDialog::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QMessageBox::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QWidget::paintEvent
+256 QWidget::moveEvent
+264 QMessageBox::resizeEvent
+272 QMessageBox::closeEvent
+280 QDialog::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QMessageBox::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QMessageBox::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QDialog::done
+456 QDialog::accept
+464 QDialog::reject
+472 (int (*)(...))-0x00000000000000010
+480 (int (*)(...))(& _ZTI11QMessageBox)
+488 QMessageBox::_ZThn16_N11QMessageBoxD1Ev
+496 QMessageBox::_ZThn16_N11QMessageBoxD0Ev
+504 QWidget::_ZThn16_NK7QWidget7devTypeEv
+512 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+520 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QMessageBox
+ size=40 align=8
+ base size=40 base align=8
+QMessageBox (0x7f62ddd20ee0) 0
+ vptr=((& QMessageBox::_ZTV11QMessageBox) + 16u)
+ QDialog (0x7f62ddd20f50) 0
+ primary-for QMessageBox (0x7f62ddd20ee0)
+ QWidget (0x7f62ddd39100) 0
+ primary-for QDialog (0x7f62ddd20f50)
+ QObject (0x7f62ddd3a000) 0
+ primary-for QWidget (0x7f62ddd39100)
+ QPaintDevice (0x7f62ddd3a070) 16
+ vptr=((& QMessageBox::_ZTV11QMessageBox) + 488u)
+
+Vtable for QPageSetupDialog
+QPageSetupDialog::_ZTV16QPageSetupDialog: 67u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QPageSetupDialog)
+16 QPageSetupDialog::metaObject
+24 QPageSetupDialog::qt_metacast
+32 QPageSetupDialog::qt_metacall
+40 QPageSetupDialog::~QPageSetupDialog
+48 QPageSetupDialog::~QPageSetupDialog
+56 QWidget::event
+64 QDialog::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QDialog::setVisible
+128 QDialog::sizeHint
+136 QDialog::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QDialog::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QWidget::paintEvent
+256 QWidget::moveEvent
+264 QDialog::resizeEvent
+272 QDialog::closeEvent
+280 QDialog::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QDialog::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QWidget::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QAbstractPageSetupDialog::done
+456 QDialog::accept
+464 QDialog::reject
+472 QPageSetupDialog::exec
+480 (int (*)(...))-0x00000000000000010
+488 (int (*)(...))(& _ZTI16QPageSetupDialog)
+496 QPageSetupDialog::_ZThn16_N16QPageSetupDialogD1Ev
+504 QPageSetupDialog::_ZThn16_N16QPageSetupDialogD0Ev
+512 QWidget::_ZThn16_NK7QWidget7devTypeEv
+520 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+528 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QPageSetupDialog
+ size=40 align=8
+ base size=40 base align=8
+QPageSetupDialog (0x7f62ddbb8850) 0
+ vptr=((& QPageSetupDialog::_ZTV16QPageSetupDialog) + 16u)
+ QAbstractPageSetupDialog (0x7f62ddbb88c0) 0
+ primary-for QPageSetupDialog (0x7f62ddbb8850)
+ QDialog (0x7f62ddbb8930) 0
+ primary-for QAbstractPageSetupDialog (0x7f62ddbb88c0)
+ QWidget (0x7f62ddb9d800) 0
+ primary-for QDialog (0x7f62ddbb8930)
+ QObject (0x7f62ddbb89a0) 0
+ primary-for QWidget (0x7f62ddb9d800)
+ QPaintDevice (0x7f62ddbb8a10) 16
+ vptr=((& QPageSetupDialog::_ZTV16QPageSetupDialog) + 496u)
+
+Vtable for QUnixPrintWidget
+QUnixPrintWidget::_ZTV16QUnixPrintWidget: 63u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QUnixPrintWidget)
+16 QUnixPrintWidget::metaObject
+24 QUnixPrintWidget::qt_metacast
+32 QUnixPrintWidget::qt_metacall
+40 QUnixPrintWidget::~QUnixPrintWidget
+48 QUnixPrintWidget::~QUnixPrintWidget
+56 QWidget::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QWidget::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QWidget::paintEvent
+256 QWidget::moveEvent
+264 QWidget::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QWidget::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 (int (*)(...))-0x00000000000000010
+456 (int (*)(...))(& _ZTI16QUnixPrintWidget)
+464 QUnixPrintWidget::_ZThn16_N16QUnixPrintWidgetD1Ev
+472 QUnixPrintWidget::_ZThn16_N16QUnixPrintWidgetD0Ev
+480 QWidget::_ZThn16_NK7QWidget7devTypeEv
+488 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+496 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QUnixPrintWidget
+ size=48 align=8
+ base size=48 base align=8
+QUnixPrintWidget (0x7f62ddbed7e0) 0
+ vptr=((& QUnixPrintWidget::_ZTV16QUnixPrintWidget) + 16u)
+ QWidget (0x7f62ddbec380) 0
+ primary-for QUnixPrintWidget (0x7f62ddbed7e0)
+ QObject (0x7f62ddbed850) 0
+ primary-for QWidget (0x7f62ddbec380)
+ QPaintDevice (0x7f62ddbed8c0) 16
+ vptr=((& QUnixPrintWidget::_ZTV16QUnixPrintWidget) + 464u)
+
+Vtable for QPrintDialog
+QPrintDialog::_ZTV12QPrintDialog: 67u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QPrintDialog)
+16 QPrintDialog::metaObject
+24 QPrintDialog::qt_metacast
+32 QPrintDialog::qt_metacall
+40 QPrintDialog::~QPrintDialog
+48 QPrintDialog::~QPrintDialog
+56 QWidget::event
+64 QDialog::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QPrintDialog::setVisible
+128 QDialog::sizeHint
+136 QDialog::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QDialog::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QWidget::paintEvent
+256 QWidget::moveEvent
+264 QDialog::resizeEvent
+272 QDialog::closeEvent
+280 QDialog::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QDialog::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QWidget::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QPrintDialog::done
+456 QPrintDialog::accept
+464 QDialog::reject
+472 QPrintDialog::exec
+480 (int (*)(...))-0x00000000000000010
+488 (int (*)(...))(& _ZTI12QPrintDialog)
+496 QPrintDialog::_ZThn16_N12QPrintDialogD1Ev
+504 QPrintDialog::_ZThn16_N12QPrintDialogD0Ev
+512 QWidget::_ZThn16_NK7QWidget7devTypeEv
+520 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+528 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QPrintDialog
+ size=40 align=8
+ base size=40 base align=8
+QPrintDialog (0x7f62ddc03700) 0
+ vptr=((& QPrintDialog::_ZTV12QPrintDialog) + 16u)
+ QAbstractPrintDialog (0x7f62ddc03770) 0
+ primary-for QPrintDialog (0x7f62ddc03700)
+ QDialog (0x7f62ddc037e0) 0
+ primary-for QAbstractPrintDialog (0x7f62ddc03770)
+ QWidget (0x7f62ddbeca80) 0
+ primary-for QDialog (0x7f62ddc037e0)
+ QObject (0x7f62ddc03850) 0
+ primary-for QWidget (0x7f62ddbeca80)
+ QPaintDevice (0x7f62ddc038c0) 16
+ vptr=((& QPrintDialog::_ZTV12QPrintDialog) + 496u)
+
+Vtable for QPrintPreviewDialog
+QPrintPreviewDialog::_ZTV19QPrintPreviewDialog: 66u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QPrintPreviewDialog)
+16 QPrintPreviewDialog::metaObject
+24 QPrintPreviewDialog::qt_metacast
+32 QPrintPreviewDialog::qt_metacall
+40 QPrintPreviewDialog::~QPrintPreviewDialog
+48 QPrintPreviewDialog::~QPrintPreviewDialog
+56 QWidget::event
+64 QDialog::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QPrintPreviewDialog::setVisible
+128 QDialog::sizeHint
+136 QDialog::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QDialog::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QWidget::paintEvent
+256 QWidget::moveEvent
+264 QDialog::resizeEvent
+272 QDialog::closeEvent
+280 QDialog::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QDialog::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QWidget::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QPrintPreviewDialog::done
+456 QDialog::accept
+464 QDialog::reject
+472 (int (*)(...))-0x00000000000000010
+480 (int (*)(...))(& _ZTI19QPrintPreviewDialog)
+488 QPrintPreviewDialog::_ZThn16_N19QPrintPreviewDialogD1Ev
+496 QPrintPreviewDialog::_ZThn16_N19QPrintPreviewDialogD0Ev
+504 QWidget::_ZThn16_NK7QWidget7devTypeEv
+512 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+520 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QPrintPreviewDialog
+ size=48 align=8
+ base size=48 base align=8
+QPrintPreviewDialog (0x7f62ddc222a0) 0
+ vptr=((& QPrintPreviewDialog::_ZTV19QPrintPreviewDialog) + 16u)
+ QDialog (0x7f62ddc22310) 0
+ primary-for QPrintPreviewDialog (0x7f62ddc222a0)
+ QWidget (0x7f62ddc1e480) 0
+ primary-for QDialog (0x7f62ddc22310)
+ QObject (0x7f62ddc22380) 0
+ primary-for QWidget (0x7f62ddc1e480)
+ QPaintDevice (0x7f62ddc223f0) 16
+ vptr=((& QPrintPreviewDialog::_ZTV19QPrintPreviewDialog) + 488u)
+
+Vtable for QProgressDialog
+QProgressDialog::_ZTV15QProgressDialog: 66u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QProgressDialog)
+16 QProgressDialog::metaObject
+24 QProgressDialog::qt_metacast
+32 QProgressDialog::qt_metacall
+40 QProgressDialog::~QProgressDialog
+48 QProgressDialog::~QProgressDialog
+56 QWidget::event
+64 QDialog::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QDialog::setVisible
+128 QProgressDialog::sizeHint
+136 QDialog::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QDialog::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QWidget::paintEvent
+256 QWidget::moveEvent
+264 QProgressDialog::resizeEvent
+272 QProgressDialog::closeEvent
+280 QDialog::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QProgressDialog::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QProgressDialog::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QDialog::done
+456 QDialog::accept
+464 QDialog::reject
+472 (int (*)(...))-0x00000000000000010
+480 (int (*)(...))(& _ZTI15QProgressDialog)
+488 QProgressDialog::_ZThn16_N15QProgressDialogD1Ev
+496 QProgressDialog::_ZThn16_N15QProgressDialogD0Ev
+504 QWidget::_ZThn16_NK7QWidget7devTypeEv
+512 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+520 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QProgressDialog
+ size=40 align=8
+ base size=40 base align=8
+QProgressDialog (0x7f62ddc3aa10) 0
+ vptr=((& QProgressDialog::_ZTV15QProgressDialog) + 16u)
+ QDialog (0x7f62ddc3aa80) 0
+ primary-for QProgressDialog (0x7f62ddc3aa10)
+ QWidget (0x7f62ddc1ee80) 0
+ primary-for QDialog (0x7f62ddc3aa80)
+ QObject (0x7f62ddc3aaf0) 0
+ primary-for QWidget (0x7f62ddc1ee80)
+ QPaintDevice (0x7f62ddc3ab60) 16
+ vptr=((& QProgressDialog::_ZTV15QProgressDialog) + 488u)
+
+Vtable for QWizard
+QWizard::_ZTV7QWizard: 70u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QWizard)
+16 QWizard::metaObject
+24 QWizard::qt_metacast
+32 QWizard::qt_metacall
+40 QWizard::~QWizard
+48 QWizard::~QWizard
+56 QWizard::event
+64 QDialog::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWizard::setVisible
+128 QWizard::sizeHint
+136 QDialog::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QDialog::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QWizard::paintEvent
+256 QWidget::moveEvent
+264 QWizard::resizeEvent
+272 QDialog::closeEvent
+280 QDialog::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QDialog::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QWidget::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QWizard::done
+456 QDialog::accept
+464 QDialog::reject
+472 QWizard::validateCurrentPage
+480 QWizard::nextId
+488 QWizard::initializePage
+496 QWizard::cleanupPage
+504 (int (*)(...))-0x00000000000000010
+512 (int (*)(...))(& _ZTI7QWizard)
+520 QWizard::_ZThn16_N7QWizardD1Ev
+528 QWizard::_ZThn16_N7QWizardD0Ev
+536 QWidget::_ZThn16_NK7QWidget7devTypeEv
+544 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+552 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QWizard
+ size=40 align=8
+ base size=40 base align=8
+QWizard (0x7f62ddc5f620) 0
+ vptr=((& QWizard::_ZTV7QWizard) + 16u)
+ QDialog (0x7f62ddc5f690) 0
+ primary-for QWizard (0x7f62ddc5f620)
+ QWidget (0x7f62ddc58880) 0
+ primary-for QDialog (0x7f62ddc5f690)
+ QObject (0x7f62ddc5f700) 0
+ primary-for QWidget (0x7f62ddc58880)
+ QPaintDevice (0x7f62ddc5f770) 16
+ vptr=((& QWizard::_ZTV7QWizard) + 520u)
+
+Vtable for QWizardPage
+QWizardPage::_ZTV11QWizardPage: 68u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QWizardPage)
+16 QWizardPage::metaObject
+24 QWizardPage::qt_metacast
+32 QWizardPage::qt_metacall
+40 QWizardPage::~QWizardPage
+48 QWizardPage::~QWizardPage
+56 QWidget::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QWidget::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QWidget::paintEvent
+256 QWidget::moveEvent
+264 QWidget::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QWidget::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QWizardPage::initializePage
+456 QWizardPage::cleanupPage
+464 QWizardPage::validatePage
+472 QWizardPage::isComplete
+480 QWizardPage::nextId
+488 (int (*)(...))-0x00000000000000010
+496 (int (*)(...))(& _ZTI11QWizardPage)
+504 QWizardPage::_ZThn16_N11QWizardPageD1Ev
+512 QWizardPage::_ZThn16_N11QWizardPageD0Ev
+520 QWidget::_ZThn16_NK7QWidget7devTypeEv
+528 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+536 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QWizardPage
+ size=40 align=8
+ base size=40 base align=8
+QWizardPage (0x7f62ddab79a0) 0
+ vptr=((& QWizardPage::_ZTV11QWizardPage) + 16u)
+ QWidget (0x7f62ddc8bb80) 0
+ primary-for QWizardPage (0x7f62ddab79a0)
+ QObject (0x7f62ddab7a10) 0
+ primary-for QWidget (0x7f62ddc8bb80)
+ QPaintDevice (0x7f62ddab7a80) 16
+ vptr=((& QWizardPage::_ZTV11QWizardPage) + 504u)
+
+Vtable for QKeyEventTransition
+QKeyEventTransition::_ZTV19QKeyEventTransition: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QKeyEventTransition)
+16 QKeyEventTransition::metaObject
+24 QKeyEventTransition::qt_metacast
+32 QKeyEventTransition::qt_metacall
+40 QKeyEventTransition::~QKeyEventTransition
+48 QKeyEventTransition::~QKeyEventTransition
+56 QEventTransition::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QKeyEventTransition::eventTest
+120 QKeyEventTransition::onTransition
+
+Class QKeyEventTransition
+ size=16 align=8
+ base size=16 base align=8
+QKeyEventTransition (0x7f62ddaef4d0) 0
+ vptr=((& QKeyEventTransition::_ZTV19QKeyEventTransition) + 16u)
+ QEventTransition (0x7f62ddaef540) 0
+ primary-for QKeyEventTransition (0x7f62ddaef4d0)
+ QAbstractTransition (0x7f62ddaef5b0) 0
+ primary-for QEventTransition (0x7f62ddaef540)
+ QObject (0x7f62ddaef620) 0
+ primary-for QAbstractTransition (0x7f62ddaef5b0)
+
+Vtable for QMouseEventTransition
+QMouseEventTransition::_ZTV21QMouseEventTransition: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI21QMouseEventTransition)
+16 QMouseEventTransition::metaObject
+24 QMouseEventTransition::qt_metacast
+32 QMouseEventTransition::qt_metacall
+40 QMouseEventTransition::~QMouseEventTransition
+48 QMouseEventTransition::~QMouseEventTransition
+56 QEventTransition::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QMouseEventTransition::eventTest
+120 QMouseEventTransition::onTransition
+
+Class QMouseEventTransition
+ size=16 align=8
+ base size=16 base align=8
+QMouseEventTransition (0x7f62ddb02f50) 0
+ vptr=((& QMouseEventTransition::_ZTV21QMouseEventTransition) + 16u)
+ QEventTransition (0x7f62ddb0b000) 0
+ primary-for QMouseEventTransition (0x7f62ddb02f50)
+ QAbstractTransition (0x7f62ddb0b070) 0
+ primary-for QEventTransition (0x7f62ddb0b000)
+ QObject (0x7f62ddb0b0e0) 0
+ primary-for QAbstractTransition (0x7f62ddb0b070)
+
+Vtable for QBitmap
+QBitmap::_ZTV7QBitmap: 7u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QBitmap)
+16 QBitmap::~QBitmap
+24 QBitmap::~QBitmap
+32 QPixmap::devType
+40 QPixmap::paintEngine
+48 QPixmap::metric
+
+Class QBitmap
+ size=24 align=8
+ base size=24 base align=8
+QBitmap (0x7f62ddb1ea10) 0
+ vptr=((& QBitmap::_ZTV7QBitmap) + 16u)
+ QPixmap (0x7f62ddb1ea80) 0
+ primary-for QBitmap (0x7f62ddb1ea10)
+ QPaintDevice (0x7f62ddb1eaf0) 0
+ primary-for QPixmap (0x7f62ddb1ea80)
+
+Vtable for QIconEngine
+QIconEngine::_ZTV11QIconEngine: 9u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QIconEngine)
+16 QIconEngine::~QIconEngine
+24 QIconEngine::~QIconEngine
+32 __cxa_pure_virtual
+40 QIconEngine::actualSize
+48 QIconEngine::pixmap
+56 QIconEngine::addPixmap
+64 QIconEngine::addFile
+
+Class QIconEngine
+ size=8 align=8
+ base size=8 base align=8
+QIconEngine (0x7f62ddb518c0) 0 nearly-empty
+ vptr=((& QIconEngine::_ZTV11QIconEngine) + 16u)
+
+Class QIconEngineV2::AvailableSizesArgument
+ size=16 align=8
+ base size=16 base align=8
+QIconEngineV2::AvailableSizesArgument (0x7f62ddb5b070) 0
+
+Vtable for QIconEngineV2
+QIconEngineV2::_ZTV13QIconEngineV2: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QIconEngineV2)
+16 QIconEngineV2::~QIconEngineV2
+24 QIconEngineV2::~QIconEngineV2
+32 __cxa_pure_virtual
+40 QIconEngine::actualSize
+48 QIconEngine::pixmap
+56 QIconEngine::addPixmap
+64 QIconEngine::addFile
+72 QIconEngineV2::key
+80 QIconEngineV2::clone
+88 QIconEngineV2::read
+96 QIconEngineV2::write
+104 QIconEngineV2::virtual_hook
+
+Class QIconEngineV2
+ size=8 align=8
+ base size=8 base align=8
+QIconEngineV2 (0x7f62ddb51e70) 0 nearly-empty
+ vptr=((& QIconEngineV2::_ZTV13QIconEngineV2) + 16u)
+ QIconEngine (0x7f62ddb51ee0) 0 nearly-empty
+ primary-for QIconEngineV2 (0x7f62ddb51e70)
+
+Vtable for QIconEngineFactoryInterface
+QIconEngineFactoryInterface::_ZTV27QIconEngineFactoryInterface: 6u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI27QIconEngineFactoryInterface)
+16 QIconEngineFactoryInterface::~QIconEngineFactoryInterface
+24 QIconEngineFactoryInterface::~QIconEngineFactoryInterface
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+
+Class QIconEngineFactoryInterface
+ size=8 align=8
+ base size=8 base align=8
+QIconEngineFactoryInterface (0x7f62ddb5b850) 0 nearly-empty
+ vptr=((& QIconEngineFactoryInterface::_ZTV27QIconEngineFactoryInterface) + 16u)
+ QFactoryInterface (0x7f62ddb5b8c0) 0 nearly-empty
+ primary-for QIconEngineFactoryInterface (0x7f62ddb5b850)
+
+Vtable for QIconEnginePlugin
+QIconEnginePlugin::_ZTV17QIconEnginePlugin: 22u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QIconEnginePlugin)
+16 QIconEnginePlugin::metaObject
+24 QIconEnginePlugin::qt_metacast
+32 QIconEnginePlugin::qt_metacall
+40 QIconEnginePlugin::~QIconEnginePlugin
+48 QIconEnginePlugin::~QIconEnginePlugin
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 (int (*)(...))-0x00000000000000010
+136 (int (*)(...))(& _ZTI17QIconEnginePlugin)
+144 QIconEnginePlugin::_ZThn16_N17QIconEnginePluginD1Ev
+152 QIconEnginePlugin::_ZThn16_N17QIconEnginePluginD0Ev
+160 __cxa_pure_virtual
+168 __cxa_pure_virtual
+
+Class QIconEnginePlugin
+ size=24 align=8
+ base size=24 base align=8
+QIconEnginePlugin (0x7f62ddb55f80) 0
+ vptr=((& QIconEnginePlugin::_ZTV17QIconEnginePlugin) + 16u)
+ QObject (0x7f62ddb921c0) 0
+ primary-for QIconEnginePlugin (0x7f62ddb55f80)
+ QIconEngineFactoryInterface (0x7f62ddb92230) 16 nearly-empty
+ vptr=((& QIconEnginePlugin::_ZTV17QIconEnginePlugin) + 144u)
+ QFactoryInterface (0x7f62ddb922a0) 16 nearly-empty
+ primary-for QIconEngineFactoryInterface (0x7f62ddb92230)
+
+Vtable for QIconEngineFactoryInterfaceV2
+QIconEngineFactoryInterfaceV2::_ZTV29QIconEngineFactoryInterfaceV2: 6u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI29QIconEngineFactoryInterfaceV2)
+16 QIconEngineFactoryInterfaceV2::~QIconEngineFactoryInterfaceV2
+24 QIconEngineFactoryInterfaceV2::~QIconEngineFactoryInterfaceV2
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+
+Class QIconEngineFactoryInterfaceV2
+ size=8 align=8
+ base size=8 base align=8
+QIconEngineFactoryInterfaceV2 (0x7f62dd9a5150) 0 nearly-empty
+ vptr=((& QIconEngineFactoryInterfaceV2::_ZTV29QIconEngineFactoryInterfaceV2) + 16u)
+ QFactoryInterface (0x7f62dd9a51c0) 0 nearly-empty
+ primary-for QIconEngineFactoryInterfaceV2 (0x7f62dd9a5150)
+
+Vtable for QIconEnginePluginV2
+QIconEnginePluginV2::_ZTV19QIconEnginePluginV2: 22u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QIconEnginePluginV2)
+16 QIconEnginePluginV2::metaObject
+24 QIconEnginePluginV2::qt_metacast
+32 QIconEnginePluginV2::qt_metacall
+40 QIconEnginePluginV2::~QIconEnginePluginV2
+48 QIconEnginePluginV2::~QIconEnginePluginV2
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 (int (*)(...))-0x00000000000000010
+136 (int (*)(...))(& _ZTI19QIconEnginePluginV2)
+144 QIconEnginePluginV2::_ZThn16_N19QIconEnginePluginV2D1Ev
+152 QIconEnginePluginV2::_ZThn16_N19QIconEnginePluginV2D0Ev
+160 __cxa_pure_virtual
+168 __cxa_pure_virtual
+
+Class QIconEnginePluginV2
+ size=24 align=8
+ base size=24 base align=8
+QIconEnginePluginV2 (0x7f62dd9b0000) 0
+ vptr=((& QIconEnginePluginV2::_ZTV19QIconEnginePluginV2) + 16u)
+ QObject (0x7f62dd9a5c40) 0
+ primary-for QIconEnginePluginV2 (0x7f62dd9b0000)
+ QIconEngineFactoryInterfaceV2 (0x7f62dd9a5cb0) 16 nearly-empty
+ vptr=((& QIconEnginePluginV2::_ZTV19QIconEnginePluginV2) + 144u)
+ QFactoryInterface (0x7f62dd9a5d20) 16 nearly-empty
+ primary-for QIconEngineFactoryInterfaceV2 (0x7f62dd9a5cb0)
+
+Vtable for QImageIOHandler
+QImageIOHandler::_ZTV15QImageIOHandler: 18u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QImageIOHandler)
+16 QImageIOHandler::~QImageIOHandler
+24 QImageIOHandler::~QImageIOHandler
+32 QImageIOHandler::name
+40 __cxa_pure_virtual
+48 __cxa_pure_virtual
+56 QImageIOHandler::write
+64 QImageIOHandler::option
+72 QImageIOHandler::setOption
+80 QImageIOHandler::supportsOption
+88 QImageIOHandler::jumpToNextImage
+96 QImageIOHandler::jumpToImage
+104 QImageIOHandler::loopCount
+112 QImageIOHandler::imageCount
+120 QImageIOHandler::nextImageDelay
+128 QImageIOHandler::currentImageNumber
+136 QImageIOHandler::currentImageRect
+
+Class QImageIOHandler
+ size=16 align=8
+ base size=16 base align=8
+QImageIOHandler (0x7f62dd9b9bd0) 0
+ vptr=((& QImageIOHandler::_ZTV15QImageIOHandler) + 16u)
+
+Vtable for QImageIOHandlerFactoryInterface
+QImageIOHandlerFactoryInterface::_ZTV31QImageIOHandlerFactoryInterface: 6u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI31QImageIOHandlerFactoryInterface)
+16 QImageIOHandlerFactoryInterface::~QImageIOHandlerFactoryInterface
+24 QImageIOHandlerFactoryInterface::~QImageIOHandlerFactoryInterface
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+
+Class QImageIOHandlerFactoryInterface
+ size=8 align=8
+ base size=8 base align=8
+QImageIOHandlerFactoryInterface (0x7f62dd9d39a0) 0 nearly-empty
+ vptr=((& QImageIOHandlerFactoryInterface::_ZTV31QImageIOHandlerFactoryInterface) + 16u)
+ QFactoryInterface (0x7f62dd9d3a10) 0 nearly-empty
+ primary-for QImageIOHandlerFactoryInterface (0x7f62dd9d39a0)
+
+Vtable for QImageIOPlugin
+QImageIOPlugin::_ZTV14QImageIOPlugin: 23u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QImageIOPlugin)
+16 QImageIOPlugin::metaObject
+24 QImageIOPlugin::qt_metacast
+32 QImageIOPlugin::qt_metacall
+40 QImageIOPlugin::~QImageIOPlugin
+48 QImageIOPlugin::~QImageIOPlugin
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 __cxa_pure_virtual
+136 (int (*)(...))-0x00000000000000010
+144 (int (*)(...))(& _ZTI14QImageIOPlugin)
+152 QImageIOPlugin::_ZThn16_N14QImageIOPluginD1Ev
+160 QImageIOPlugin::_ZThn16_N14QImageIOPluginD0Ev
+168 __cxa_pure_virtual
+176 __cxa_pure_virtual
+
+Class QImageIOPlugin
+ size=24 align=8
+ base size=24 base align=8
+QImageIOPlugin (0x7f62dd9dac00) 0
+ vptr=((& QImageIOPlugin::_ZTV14QImageIOPlugin) + 16u)
+ QObject (0x7f62dd9e53f0) 0
+ primary-for QImageIOPlugin (0x7f62dd9dac00)
+ QImageIOHandlerFactoryInterface (0x7f62dd9e5460) 16 nearly-empty
+ vptr=((& QImageIOPlugin::_ZTV14QImageIOPlugin) + 152u)
+ QFactoryInterface (0x7f62dd9e54d0) 16 nearly-empty
+ primary-for QImageIOHandlerFactoryInterface (0x7f62dd9e5460)
+
+Class QImageReader
+ size=8 align=8
+ base size=8 base align=8
+QImageReader (0x7f62dda394d0) 0
+
+Class QImageWriter
+ size=8 align=8
+ base size=8 base align=8
+QImageWriter (0x7f62dda39ee0) 0
+
+Vtable for QMovie
+QMovie::_ZTV6QMovie: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI6QMovie)
+16 QMovie::metaObject
+24 QMovie::qt_metacast
+32 QMovie::qt_metacall
+40 QMovie::~QMovie
+48 QMovie::~QMovie
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QMovie
+ size=16 align=8
+ base size=16 base align=8
+QMovie (0x7f62dda4e770) 0
+ vptr=((& QMovie::_ZTV6QMovie) + 16u)
+ QObject (0x7f62dda4e7e0) 0
+ primary-for QMovie (0x7f62dda4e770)
+
+Vtable for QPicture
+QPicture::_ZTV8QPicture: 8u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI8QPicture)
+16 QPicture::~QPicture
+24 QPicture::~QPicture
+32 QPicture::devType
+40 QPicture::paintEngine
+48 QPicture::metric
+56 QPicture::setData
+
+Class QPicture
+ size=24 align=8
+ base size=24 base align=8
+QPicture (0x7f62dda947e0) 0
+ vptr=((& QPicture::_ZTV8QPicture) + 16u)
+ QPaintDevice (0x7f62dda94850) 0
+ primary-for QPicture (0x7f62dda947e0)
+
+Class QPictureIO
+ size=8 align=8
+ base size=8 base align=8
+QPictureIO (0x7f62dd8b6310) 0
+
+Vtable for QPictureFormatInterface
+QPictureFormatInterface::_ZTV23QPictureFormatInterface: 8u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI23QPictureFormatInterface)
+16 QPictureFormatInterface::~QPictureFormatInterface
+24 QPictureFormatInterface::~QPictureFormatInterface
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+48 __cxa_pure_virtual
+56 __cxa_pure_virtual
+
+Class QPictureFormatInterface
+ size=8 align=8
+ base size=8 base align=8
+QPictureFormatInterface (0x7f62dd8b6930) 0 nearly-empty
+ vptr=((& QPictureFormatInterface::_ZTV23QPictureFormatInterface) + 16u)
+ QFactoryInterface (0x7f62dd8b69a0) 0 nearly-empty
+ primary-for QPictureFormatInterface (0x7f62dd8b6930)
+
+Vtable for QPictureFormatPlugin
+QPictureFormatPlugin::_ZTV20QPictureFormatPlugin: 26u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI20QPictureFormatPlugin)
+16 QPictureFormatPlugin::metaObject
+24 QPictureFormatPlugin::qt_metacast
+32 QPictureFormatPlugin::qt_metacall
+40 QPictureFormatPlugin::~QPictureFormatPlugin
+48 QPictureFormatPlugin::~QPictureFormatPlugin
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+120 QPictureFormatPlugin::loadPicture
+128 QPictureFormatPlugin::savePicture
+136 __cxa_pure_virtual
+144 (int (*)(...))-0x00000000000000010
+152 (int (*)(...))(& _ZTI20QPictureFormatPlugin)
+160 QPictureFormatPlugin::_ZThn16_N20QPictureFormatPluginD1Ev
+168 QPictureFormatPlugin::_ZThn16_N20QPictureFormatPluginD0Ev
+176 __cxa_pure_virtual
+184 QPictureFormatPlugin::_ZThn16_N20QPictureFormatPlugin11loadPictureERK7QStringS2_P8QPicture
+192 QPictureFormatPlugin::_ZThn16_N20QPictureFormatPlugin11savePictureERK7QStringS2_RK8QPicture
+200 __cxa_pure_virtual
+
+Class QPictureFormatPlugin
+ size=24 align=8
+ base size=24 base align=8
+QPictureFormatPlugin (0x7f62dd8d2300) 0
+ vptr=((& QPictureFormatPlugin::_ZTV20QPictureFormatPlugin) + 16u)
+ QObject (0x7f62dd8d3310) 0
+ primary-for QPictureFormatPlugin (0x7f62dd8d2300)
+ QPictureFormatInterface (0x7f62dd8d3380) 16 nearly-empty
+ vptr=((& QPictureFormatPlugin::_ZTV20QPictureFormatPlugin) + 160u)
+ QFactoryInterface (0x7f62dd8d33f0) 16 nearly-empty
+ primary-for QPictureFormatInterface (0x7f62dd8d3380)
+
+Class QPixmapCache::Key
+ size=8 align=8
+ base size=8 base align=8
+QPixmapCache::Key (0x7f62dd8e3310) 0
+
+Class QPixmapCache
+ size=1 align=1
+ base size=0 base align=1
+QPixmapCache (0x7f62dd8e32a0) 0 empty
+
+Vtable for QGraphicsEffect
+QGraphicsEffect::_ZTV15QGraphicsEffect: 17u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QGraphicsEffect)
+16 QGraphicsEffect::metaObject
+24 QGraphicsEffect::qt_metacast
+32 QGraphicsEffect::qt_metacall
+40 QGraphicsEffect::~QGraphicsEffect
+48 QGraphicsEffect::~QGraphicsEffect
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QGraphicsEffect::boundingRectFor
+120 __cxa_pure_virtual
+128 QGraphicsEffect::sourceChanged
+
+Class QGraphicsEffect
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsEffect (0x7f62dd8ec150) 0
+ vptr=((& QGraphicsEffect::_ZTV15QGraphicsEffect) + 16u)
+ QObject (0x7f62dd8ec1c0) 0
+ primary-for QGraphicsEffect (0x7f62dd8ec150)
+
+Vtable for QGraphicsColorizeEffect
+QGraphicsColorizeEffect::_ZTV23QGraphicsColorizeEffect: 17u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI23QGraphicsColorizeEffect)
+16 QGraphicsColorizeEffect::metaObject
+24 QGraphicsColorizeEffect::qt_metacast
+32 QGraphicsColorizeEffect::qt_metacall
+40 QGraphicsColorizeEffect::~QGraphicsColorizeEffect
+48 QGraphicsColorizeEffect::~QGraphicsColorizeEffect
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QGraphicsEffect::boundingRectFor
+120 QGraphicsColorizeEffect::draw
+128 QGraphicsEffect::sourceChanged
+
+Class QGraphicsColorizeEffect
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsColorizeEffect (0x7f62dd934c40) 0
+ vptr=((& QGraphicsColorizeEffect::_ZTV23QGraphicsColorizeEffect) + 16u)
+ QGraphicsEffect (0x7f62dd934cb0) 0
+ primary-for QGraphicsColorizeEffect (0x7f62dd934c40)
+ QObject (0x7f62dd934d20) 0
+ primary-for QGraphicsEffect (0x7f62dd934cb0)
+
+Vtable for QGraphicsBlurEffect
+QGraphicsBlurEffect::_ZTV19QGraphicsBlurEffect: 17u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QGraphicsBlurEffect)
+16 QGraphicsBlurEffect::metaObject
+24 QGraphicsBlurEffect::qt_metacast
+32 QGraphicsBlurEffect::qt_metacall
+40 QGraphicsBlurEffect::~QGraphicsBlurEffect
+48 QGraphicsBlurEffect::~QGraphicsBlurEffect
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QGraphicsBlurEffect::boundingRectFor
+120 QGraphicsBlurEffect::draw
+128 QGraphicsEffect::sourceChanged
+
+Class QGraphicsBlurEffect
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsBlurEffect (0x7f62dd9625b0) 0
+ vptr=((& QGraphicsBlurEffect::_ZTV19QGraphicsBlurEffect) + 16u)
+ QGraphicsEffect (0x7f62dd962620) 0
+ primary-for QGraphicsBlurEffect (0x7f62dd9625b0)
+ QObject (0x7f62dd962690) 0
+ primary-for QGraphicsEffect (0x7f62dd962620)
+
+Vtable for QGraphicsDropShadowEffect
+QGraphicsDropShadowEffect::_ZTV25QGraphicsDropShadowEffect: 17u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI25QGraphicsDropShadowEffect)
+16 QGraphicsDropShadowEffect::metaObject
+24 QGraphicsDropShadowEffect::qt_metacast
+32 QGraphicsDropShadowEffect::qt_metacall
+40 QGraphicsDropShadowEffect::~QGraphicsDropShadowEffect
+48 QGraphicsDropShadowEffect::~QGraphicsDropShadowEffect
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QGraphicsDropShadowEffect::boundingRectFor
+120 QGraphicsDropShadowEffect::draw
+128 QGraphicsEffect::sourceChanged
+
+Class QGraphicsDropShadowEffect
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsDropShadowEffect (0x7f62dd7c00e0) 0
+ vptr=((& QGraphicsDropShadowEffect::_ZTV25QGraphicsDropShadowEffect) + 16u)
+ QGraphicsEffect (0x7f62dd7c0150) 0
+ primary-for QGraphicsDropShadowEffect (0x7f62dd7c00e0)
+ QObject (0x7f62dd7c01c0) 0
+ primary-for QGraphicsEffect (0x7f62dd7c0150)
+
+Vtable for QGraphicsOpacityEffect
+QGraphicsOpacityEffect::_ZTV22QGraphicsOpacityEffect: 17u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI22QGraphicsOpacityEffect)
+16 QGraphicsOpacityEffect::metaObject
+24 QGraphicsOpacityEffect::qt_metacast
+32 QGraphicsOpacityEffect::qt_metacall
+40 QGraphicsOpacityEffect::~QGraphicsOpacityEffect
+48 QGraphicsOpacityEffect::~QGraphicsOpacityEffect
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QGraphicsEffect::boundingRectFor
+120 QGraphicsOpacityEffect::draw
+128 QGraphicsEffect::sourceChanged
+
+Class QGraphicsOpacityEffect
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsOpacityEffect (0x7f62dd7df5b0) 0
+ vptr=((& QGraphicsOpacityEffect::_ZTV22QGraphicsOpacityEffect) + 16u)
+ QGraphicsEffect (0x7f62dd7df620) 0
+ primary-for QGraphicsOpacityEffect (0x7f62dd7df5b0)
+ QObject (0x7f62dd7df690) 0
+ primary-for QGraphicsEffect (0x7f62dd7df620)
+
+Class QVFbHeader
+ size=1088 align=8
+ base size=1088 base align=8
+QVFbHeader (0x7f62dd7f1ee0) 0
+
+Class QVFbKeyData
+ size=12 align=4
+ base size=12 base align=4
+QVFbKeyData (0x7f62dd7f1f50) 0
+
+Vtable for QWSEmbedWidget
+QWSEmbedWidget::_ZTV14QWSEmbedWidget: 63u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QWSEmbedWidget)
+16 QWSEmbedWidget::metaObject
+24 QWSEmbedWidget::qt_metacast
+32 QWSEmbedWidget::qt_metacall
+40 QWSEmbedWidget::~QWSEmbedWidget
+48 QWSEmbedWidget::~QWSEmbedWidget
+56 QWidget::event
+64 QWSEmbedWidget::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QWidget::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QWidget::paintEvent
+256 QWSEmbedWidget::moveEvent
+264 QWSEmbedWidget::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWSEmbedWidget::showEvent
+344 QWSEmbedWidget::hideEvent
+352 QWidget::x11Event
+360 QWSEmbedWidget::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 (int (*)(...))-0x00000000000000010
+456 (int (*)(...))(& _ZTI14QWSEmbedWidget)
+464 QWSEmbedWidget::_ZThn16_N14QWSEmbedWidgetD1Ev
+472 QWSEmbedWidget::_ZThn16_N14QWSEmbedWidgetD0Ev
+480 QWidget::_ZThn16_NK7QWidget7devTypeEv
+488 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+496 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QWSEmbedWidget
+ size=40 align=8
+ base size=40 base align=8
+QWSEmbedWidget (0x7f62dd7fb000) 0
+ vptr=((& QWSEmbedWidget::_ZTV14QWSEmbedWidget) + 16u)
+ QWidget (0x7f62dd7ef900) 0
+ primary-for QWSEmbedWidget (0x7f62dd7fb000)
+ QObject (0x7f62dd7fb070) 0
+ primary-for QWidget (0x7f62dd7ef900)
+ QPaintDevice (0x7f62dd7fb0e0) 16
+ vptr=((& QWSEmbedWidget::_ZTV14QWSEmbedWidget) + 464u)
+
+Class QColormap
+ size=8 align=8
+ base size=8 base align=8
+QColormap (0x7f62dd8134d0) 0
+
+Class QTileRules
+ size=8 align=4
+ base size=8 base align=4
+QTileRules (0x7f62dd813cb0) 0
+
+Class QDrawPixmaps::Data
+ size=80 align=8
+ base size=80 base align=8
+QDrawPixmaps::Data (0x7f62dd82ad20) 0
+
+Class QPainter
+ size=8 align=8
+ base size=8 base align=8
+QPainter (0x7f62dd82ae00) 0
+
+Class QTextItem
+ size=1 align=1
+ base size=0 base align=1
+QTextItem (0x7f62dd6588c0) 0 empty
+
+Vtable for QPaintEngine
+QPaintEngine::_ZTV12QPaintEngine: 24u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QPaintEngine)
+16 QPaintEngine::~QPaintEngine
+24 QPaintEngine::~QPaintEngine
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+48 __cxa_pure_virtual
+56 QPaintEngine::drawRects
+64 QPaintEngine::drawRects
+72 QPaintEngine::drawLines
+80 QPaintEngine::drawLines
+88 QPaintEngine::drawEllipse
+96 QPaintEngine::drawEllipse
+104 QPaintEngine::drawPath
+112 QPaintEngine::drawPoints
+120 QPaintEngine::drawPoints
+128 QPaintEngine::drawPolygon
+136 QPaintEngine::drawPolygon
+144 __cxa_pure_virtual
+152 QPaintEngine::drawTextItem
+160 QPaintEngine::drawTiledPixmap
+168 QPaintEngine::drawImage
+176 QPaintEngine::coordinateOffset
+184 __cxa_pure_virtual
+
+Class QPaintEngine
+ size=32 align=8
+ base size=32 base align=8
+QPaintEngine (0x7f62dd658ee0) 0
+ vptr=((& QPaintEngine::_ZTV12QPaintEngine) + 16u)
+
+Class QPaintEngineState
+ size=4 align=4
+ base size=4 base align=4
+QPaintEngineState (0x7f62dd4a1b60) 0
+
+Vtable for QPrinter
+QPrinter::_ZTV8QPrinter: 7u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI8QPrinter)
+16 QPrinter::~QPrinter
+24 QPrinter::~QPrinter
+32 QPrinter::devType
+40 QPrinter::paintEngine
+48 QPrinter::metric
+
+Class QPrinter
+ size=24 align=8
+ base size=24 base align=8
+QPrinter (0x7f62dd571e70) 0
+ vptr=((& QPrinter::_ZTV8QPrinter) + 16u)
+ QPaintDevice (0x7f62dd571ee0) 0
+ primary-for QPrinter (0x7f62dd571e70)
+
+Vtable for QPrintEngine
+QPrintEngine::_ZTV12QPrintEngine: 10u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QPrintEngine)
+16 QPrintEngine::~QPrintEngine
+24 QPrintEngine::~QPrintEngine
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+48 __cxa_pure_virtual
+56 __cxa_pure_virtual
+64 __cxa_pure_virtual
+72 __cxa_pure_virtual
+
+Class QPrintEngine
+ size=8 align=8
+ base size=8 base align=8
+QPrintEngine (0x7f62dd3d9540) 0 nearly-empty
+ vptr=((& QPrintEngine::_ZTV12QPrintEngine) + 16u)
+
+Class QPrinterInfo
+ size=8 align=8
+ base size=8 base align=8
+QPrinterInfo (0x7f62dd3e62a0) 0
+
+Class QStylePainter
+ size=24 align=8
+ base size=24 base align=8
+QStylePainter (0x7f62dd3ee9a0) 0
+ QPainter (0x7f62dd3eea10) 0
+
+Vtable for QAbstractProxyModel
+QAbstractProxyModel::_ZTV19QAbstractProxyModel: 47u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QAbstractProxyModel)
+16 QAbstractProxyModel::metaObject
+24 QAbstractProxyModel::qt_metacast
+32 QAbstractProxyModel::qt_metacall
+40 QAbstractProxyModel::~QAbstractProxyModel
+48 QAbstractProxyModel::~QAbstractProxyModel
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 __cxa_pure_virtual
+136 __cxa_pure_virtual
+144 QAbstractItemModel::hasChildren
+152 QAbstractProxyModel::data
+160 QAbstractProxyModel::setData
+168 QAbstractProxyModel::headerData
+176 QAbstractProxyModel::setHeaderData
+184 QAbstractProxyModel::itemData
+192 QAbstractItemModel::setItemData
+200 QAbstractItemModel::mimeTypes
+208 QAbstractItemModel::mimeData
+216 QAbstractItemModel::dropMimeData
+224 QAbstractItemModel::supportedDropActions
+232 QAbstractItemModel::insertRows
+240 QAbstractItemModel::insertColumns
+248 QAbstractItemModel::removeRows
+256 QAbstractItemModel::removeColumns
+264 QAbstractItemModel::fetchMore
+272 QAbstractItemModel::canFetchMore
+280 QAbstractProxyModel::flags
+288 QAbstractItemModel::sort
+296 QAbstractItemModel::buddy
+304 QAbstractItemModel::match
+312 QAbstractItemModel::span
+320 QAbstractProxyModel::submit
+328 QAbstractProxyModel::revert
+336 QAbstractProxyModel::setSourceModel
+344 __cxa_pure_virtual
+352 __cxa_pure_virtual
+360 QAbstractProxyModel::mapSelectionToSource
+368 QAbstractProxyModel::mapSelectionFromSource
+
+Class QAbstractProxyModel
+ size=16 align=8
+ base size=16 base align=8
+QAbstractProxyModel (0x7f62dd41eee0) 0
+ vptr=((& QAbstractProxyModel::_ZTV19QAbstractProxyModel) + 16u)
+ QAbstractItemModel (0x7f62dd41ef50) 0
+ primary-for QAbstractProxyModel (0x7f62dd41eee0)
+ QObject (0x7f62dd422000) 0
+ primary-for QAbstractItemModel (0x7f62dd41ef50)
+
+Vtable for QColumnView
+QColumnView::_ZTV11QColumnView: 104u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QColumnView)
+16 QColumnView::metaObject
+24 QColumnView::qt_metacast
+32 QColumnView::qt_metacall
+40 QColumnView::~QColumnView
+48 QColumnView::~QColumnView
+56 QAbstractItemView::event
+64 QObject::eventFilter
+72 QAbstractItemView::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QColumnView::sizeHint
+136 QAbstractScrollArea::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QAbstractItemView::mousePressEvent
+168 QAbstractItemView::mouseReleaseEvent
+176 QAbstractItemView::mouseDoubleClickEvent
+184 QAbstractItemView::mouseMoveEvent
+192 QAbstractScrollArea::wheelEvent
+200 QAbstractItemView::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QAbstractItemView::focusInEvent
+224 QAbstractItemView::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QAbstractScrollArea::paintEvent
+256 QWidget::moveEvent
+264 QColumnView::resizeEvent
+272 QWidget::closeEvent
+280 QAbstractScrollArea::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QAbstractItemView::dragEnterEvent
+312 QAbstractItemView::dragMoveEvent
+320 QAbstractItemView::dragLeaveEvent
+328 QAbstractItemView::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QFrame::changeEvent
+368 QWidget::metric
+376 QAbstractItemView::inputMethodEvent
+384 QAbstractItemView::inputMethodQuery
+392 QAbstractItemView::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QAbstractItemView::viewportEvent
+456 QColumnView::scrollContentsBy
+464 QColumnView::setModel
+472 QColumnView::setSelectionModel
+480 QAbstractItemView::keyboardSearch
+488 QColumnView::visualRect
+496 QColumnView::scrollTo
+504 QColumnView::indexAt
+512 QAbstractItemView::sizeHintForRow
+520 QAbstractItemView::sizeHintForColumn
+528 QAbstractItemView::reset
+536 QColumnView::setRootIndex
+544 QAbstractItemView::doItemsLayout
+552 QColumnView::selectAll
+560 QAbstractItemView::dataChanged
+568 QColumnView::rowsInserted
+576 QAbstractItemView::rowsAboutToBeRemoved
+584 QAbstractItemView::selectionChanged
+592 QColumnView::currentChanged
+600 QAbstractItemView::updateEditorData
+608 QAbstractItemView::updateEditorGeometries
+616 QAbstractItemView::updateGeometries
+624 QAbstractItemView::verticalScrollbarAction
+632 QAbstractItemView::horizontalScrollbarAction
+640 QAbstractItemView::verticalScrollbarValueChanged
+648 QAbstractItemView::horizontalScrollbarValueChanged
+656 QAbstractItemView::closeEditor
+664 QAbstractItemView::commitData
+672 QAbstractItemView::editorDestroyed
+680 QColumnView::moveCursor
+688 QColumnView::horizontalOffset
+696 QColumnView::verticalOffset
+704 QColumnView::isIndexHidden
+712 QColumnView::setSelection
+720 QColumnView::visualRegionForSelection
+728 QAbstractItemView::selectedIndexes
+736 QAbstractItemView::edit
+744 QAbstractItemView::selectionCommand
+752 QAbstractItemView::startDrag
+760 QAbstractItemView::viewOptions
+768 QColumnView::createColumn
+776 (int (*)(...))-0x00000000000000010
+784 (int (*)(...))(& _ZTI11QColumnView)
+792 QColumnView::_ZThn16_N11QColumnViewD1Ev
+800 QColumnView::_ZThn16_N11QColumnViewD0Ev
+808 QWidget::_ZThn16_NK7QWidget7devTypeEv
+816 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+824 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QColumnView
+ size=40 align=8
+ base size=40 base align=8
+QColumnView (0x7f62dd43aaf0) 0
+ vptr=((& QColumnView::_ZTV11QColumnView) + 16u)
+ QAbstractItemView (0x7f62dd43ab60) 0
+ primary-for QColumnView (0x7f62dd43aaf0)
+ QAbstractScrollArea (0x7f62dd43abd0) 0
+ primary-for QAbstractItemView (0x7f62dd43ab60)
+ QFrame (0x7f62dd43ac40) 0
+ primary-for QAbstractScrollArea (0x7f62dd43abd0)
+ QWidget (0x7f62dd43f200) 0
+ primary-for QFrame (0x7f62dd43ac40)
+ QObject (0x7f62dd43acb0) 0
+ primary-for QWidget (0x7f62dd43f200)
+ QPaintDevice (0x7f62dd43ad20) 16
+ vptr=((& QColumnView::_ZTV11QColumnView) + 792u)
+
+Vtable for QDataWidgetMapper
+QDataWidgetMapper::_ZTV17QDataWidgetMapper: 15u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QDataWidgetMapper)
+16 QDataWidgetMapper::metaObject
+24 QDataWidgetMapper::qt_metacast
+32 QDataWidgetMapper::qt_metacall
+40 QDataWidgetMapper::~QDataWidgetMapper
+48 QDataWidgetMapper::~QDataWidgetMapper
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QDataWidgetMapper::setCurrentIndex
+
+Class QDataWidgetMapper
+ size=16 align=8
+ base size=16 base align=8
+QDataWidgetMapper (0x7f62dd45fc40) 0
+ vptr=((& QDataWidgetMapper::_ZTV17QDataWidgetMapper) + 16u)
+ QObject (0x7f62dd45fcb0) 0
+ primary-for QDataWidgetMapper (0x7f62dd45fc40)
+
+Vtable for QFileIconProvider
+QFileIconProvider::_ZTV17QFileIconProvider: 7u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QFileIconProvider)
+16 QFileIconProvider::~QFileIconProvider
+24 QFileIconProvider::~QFileIconProvider
+32 QFileIconProvider::icon
+40 QFileIconProvider::icon
+48 QFileIconProvider::type
+
+Class QFileIconProvider
+ size=16 align=8
+ base size=16 base align=8
+QFileIconProvider (0x7f62dd480700) 0
+ vptr=((& QFileIconProvider::_ZTV17QFileIconProvider) + 16u)
+
+Vtable for QDirModel
+QDirModel::_ZTV9QDirModel: 42u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QDirModel)
+16 QDirModel::metaObject
+24 QDirModel::qt_metacast
+32 QDirModel::qt_metacall
+40 QDirModel::~QDirModel
+48 QDirModel::~QDirModel
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QDirModel::index
+120 QDirModel::parent
+128 QDirModel::rowCount
+136 QDirModel::columnCount
+144 QDirModel::hasChildren
+152 QDirModel::data
+160 QDirModel::setData
+168 QDirModel::headerData
+176 QAbstractItemModel::setHeaderData
+184 QAbstractItemModel::itemData
+192 QAbstractItemModel::setItemData
+200 QDirModel::mimeTypes
+208 QDirModel::mimeData
+216 QDirModel::dropMimeData
+224 QDirModel::supportedDropActions
+232 QAbstractItemModel::insertRows
+240 QAbstractItemModel::insertColumns
+248 QAbstractItemModel::removeRows
+256 QAbstractItemModel::removeColumns
+264 QAbstractItemModel::fetchMore
+272 QAbstractItemModel::canFetchMore
+280 QDirModel::flags
+288 QDirModel::sort
+296 QAbstractItemModel::buddy
+304 QAbstractItemModel::match
+312 QAbstractItemModel::span
+320 QAbstractItemModel::submit
+328 QAbstractItemModel::revert
+
+Class QDirModel
+ size=16 align=8
+ base size=16 base align=8
+QDirModel (0x7f62dd493380) 0
+ vptr=((& QDirModel::_ZTV9QDirModel) + 16u)
+ QAbstractItemModel (0x7f62dd4933f0) 0
+ primary-for QDirModel (0x7f62dd493380)
+ QObject (0x7f62dd493460) 0
+ primary-for QAbstractItemModel (0x7f62dd4933f0)
+
+Vtable for QHeaderView
+QHeaderView::_ZTV11QHeaderView: 105u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QHeaderView)
+16 QHeaderView::metaObject
+24 QHeaderView::qt_metacast
+32 QHeaderView::qt_metacall
+40 QHeaderView::~QHeaderView
+48 QHeaderView::~QHeaderView
+56 QHeaderView::event
+64 QObject::eventFilter
+72 QAbstractItemView::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QHeaderView::sizeHint
+136 QAbstractScrollArea::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QHeaderView::mousePressEvent
+168 QHeaderView::mouseReleaseEvent
+176 QHeaderView::mouseDoubleClickEvent
+184 QHeaderView::mouseMoveEvent
+192 QAbstractScrollArea::wheelEvent
+200 QAbstractItemView::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QAbstractItemView::focusInEvent
+224 QAbstractItemView::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QHeaderView::paintEvent
+256 QWidget::moveEvent
+264 QAbstractItemView::resizeEvent
+272 QWidget::closeEvent
+280 QAbstractScrollArea::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QAbstractItemView::dragEnterEvent
+312 QAbstractItemView::dragMoveEvent
+320 QAbstractItemView::dragLeaveEvent
+328 QAbstractItemView::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QFrame::changeEvent
+368 QWidget::metric
+376 QAbstractItemView::inputMethodEvent
+384 QAbstractItemView::inputMethodQuery
+392 QAbstractItemView::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QHeaderView::viewportEvent
+456 QHeaderView::scrollContentsBy
+464 QHeaderView::setModel
+472 QAbstractItemView::setSelectionModel
+480 QAbstractItemView::keyboardSearch
+488 QHeaderView::visualRect
+496 QHeaderView::scrollTo
+504 QHeaderView::indexAt
+512 QAbstractItemView::sizeHintForRow
+520 QAbstractItemView::sizeHintForColumn
+528 QHeaderView::reset
+536 QAbstractItemView::setRootIndex
+544 QHeaderView::doItemsLayout
+552 QAbstractItemView::selectAll
+560 QHeaderView::dataChanged
+568 QHeaderView::rowsInserted
+576 QAbstractItemView::rowsAboutToBeRemoved
+584 QAbstractItemView::selectionChanged
+592 QHeaderView::currentChanged
+600 QAbstractItemView::updateEditorData
+608 QAbstractItemView::updateEditorGeometries
+616 QHeaderView::updateGeometries
+624 QAbstractItemView::verticalScrollbarAction
+632 QAbstractItemView::horizontalScrollbarAction
+640 QAbstractItemView::verticalScrollbarValueChanged
+648 QAbstractItemView::horizontalScrollbarValueChanged
+656 QAbstractItemView::closeEditor
+664 QAbstractItemView::commitData
+672 QAbstractItemView::editorDestroyed
+680 QHeaderView::moveCursor
+688 QHeaderView::horizontalOffset
+696 QHeaderView::verticalOffset
+704 QHeaderView::isIndexHidden
+712 QHeaderView::setSelection
+720 QHeaderView::visualRegionForSelection
+728 QAbstractItemView::selectedIndexes
+736 QAbstractItemView::edit
+744 QAbstractItemView::selectionCommand
+752 QAbstractItemView::startDrag
+760 QAbstractItemView::viewOptions
+768 QHeaderView::paintSection
+776 QHeaderView::sectionSizeFromContents
+784 (int (*)(...))-0x00000000000000010
+792 (int (*)(...))(& _ZTI11QHeaderView)
+800 QHeaderView::_ZThn16_N11QHeaderViewD1Ev
+808 QHeaderView::_ZThn16_N11QHeaderViewD0Ev
+816 QWidget::_ZThn16_NK7QWidget7devTypeEv
+824 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+832 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QHeaderView
+ size=40 align=8
+ base size=40 base align=8
+QHeaderView (0x7f62dd2bd620) 0
+ vptr=((& QHeaderView::_ZTV11QHeaderView) + 16u)
+ QAbstractItemView (0x7f62dd2bd690) 0
+ primary-for QHeaderView (0x7f62dd2bd620)
+ QAbstractScrollArea (0x7f62dd2bd700) 0
+ primary-for QAbstractItemView (0x7f62dd2bd690)
+ QFrame (0x7f62dd2bd770) 0
+ primary-for QAbstractScrollArea (0x7f62dd2bd700)
+ QWidget (0x7f62dd299980) 0
+ primary-for QFrame (0x7f62dd2bd770)
+ QObject (0x7f62dd2bd7e0) 0
+ primary-for QWidget (0x7f62dd299980)
+ QPaintDevice (0x7f62dd2bd850) 16
+ vptr=((& QHeaderView::_ZTV11QHeaderView) + 800u)
+
+Vtable for QItemDelegate
+QItemDelegate::_ZTV13QItemDelegate: 25u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QItemDelegate)
+16 QItemDelegate::metaObject
+24 QItemDelegate::qt_metacast
+32 QItemDelegate::qt_metacall
+40 QItemDelegate::~QItemDelegate
+48 QItemDelegate::~QItemDelegate
+56 QObject::event
+64 QItemDelegate::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QItemDelegate::paint
+120 QItemDelegate::sizeHint
+128 QItemDelegate::createEditor
+136 QItemDelegate::setEditorData
+144 QItemDelegate::setModelData
+152 QItemDelegate::updateEditorGeometry
+160 QItemDelegate::editorEvent
+168 QItemDelegate::drawDisplay
+176 QItemDelegate::drawDecoration
+184 QItemDelegate::drawFocus
+192 QItemDelegate::drawCheck
+
+Class QItemDelegate
+ size=16 align=8
+ base size=16 base align=8
+QItemDelegate (0x7f62dd303230) 0
+ vptr=((& QItemDelegate::_ZTV13QItemDelegate) + 16u)
+ QAbstractItemDelegate (0x7f62dd3032a0) 0
+ primary-for QItemDelegate (0x7f62dd303230)
+ QObject (0x7f62dd303310) 0
+ primary-for QAbstractItemDelegate (0x7f62dd3032a0)
+
+Vtable for QItemEditorCreatorBase
+QItemEditorCreatorBase::_ZTV22QItemEditorCreatorBase: 6u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI22QItemEditorCreatorBase)
+16 QItemEditorCreatorBase::~QItemEditorCreatorBase
+24 QItemEditorCreatorBase::~QItemEditorCreatorBase
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+
+Class QItemEditorCreatorBase
+ size=8 align=8
+ base size=8 base align=8
+QItemEditorCreatorBase (0x7f62dd31ebd0) 0 nearly-empty
+ vptr=((& QItemEditorCreatorBase::_ZTV22QItemEditorCreatorBase) + 16u)
+
+Vtable for QItemEditorFactory
+QItemEditorFactory::_ZTV18QItemEditorFactory: 6u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QItemEditorFactory)
+16 QItemEditorFactory::~QItemEditorFactory
+24 QItemEditorFactory::~QItemEditorFactory
+32 QItemEditorFactory::createEditor
+40 QItemEditorFactory::valuePropertyName
+
+Class QItemEditorFactory
+ size=16 align=8
+ base size=16 base align=8
+QItemEditorFactory (0x7f62dd329a80) 0
+ vptr=((& QItemEditorFactory::_ZTV18QItemEditorFactory) + 16u)
+
+Vtable for QListWidgetItem
+QListWidgetItem::_ZTV15QListWidgetItem: 11u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QListWidgetItem)
+16 QListWidgetItem::~QListWidgetItem
+24 QListWidgetItem::~QListWidgetItem
+32 QListWidgetItem::clone
+40 QListWidgetItem::setBackgroundColor
+48 QListWidgetItem::data
+56 QListWidgetItem::setData
+64 QListWidgetItem::operator<
+72 QListWidgetItem::read
+80 QListWidgetItem::write
+
+Class QListWidgetItem
+ size=48 align=8
+ base size=44 base align=8
+QListWidgetItem (0x7f62dd337d20) 0
+ vptr=((& QListWidgetItem::_ZTV15QListWidgetItem) + 16u)
+
+Vtable for QListWidget
+QListWidget::_ZTV11QListWidget: 107u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QListWidget)
+16 QListWidget::metaObject
+24 QListWidget::qt_metacast
+32 QListWidget::qt_metacall
+40 QListWidget::~QListWidget
+48 QListWidget::~QListWidget
+56 QListWidget::event
+64 QObject::eventFilter
+72 QListView::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QAbstractScrollArea::sizeHint
+136 QAbstractScrollArea::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QAbstractItemView::mousePressEvent
+168 QListView::mouseReleaseEvent
+176 QAbstractItemView::mouseDoubleClickEvent
+184 QListView::mouseMoveEvent
+192 QAbstractScrollArea::wheelEvent
+200 QAbstractItemView::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QAbstractItemView::focusInEvent
+224 QAbstractItemView::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QListView::paintEvent
+256 QWidget::moveEvent
+264 QListView::resizeEvent
+272 QWidget::closeEvent
+280 QAbstractScrollArea::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QAbstractItemView::dragEnterEvent
+312 QListView::dragMoveEvent
+320 QListView::dragLeaveEvent
+328 QListWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QFrame::changeEvent
+368 QWidget::metric
+376 QAbstractItemView::inputMethodEvent
+384 QAbstractItemView::inputMethodQuery
+392 QAbstractItemView::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QAbstractItemView::viewportEvent
+456 QListView::scrollContentsBy
+464 QListWidget::setModel
+472 QAbstractItemView::setSelectionModel
+480 QAbstractItemView::keyboardSearch
+488 QListView::visualRect
+496 QListView::scrollTo
+504 QListView::indexAt
+512 QAbstractItemView::sizeHintForRow
+520 QAbstractItemView::sizeHintForColumn
+528 QListView::reset
+536 QListView::setRootIndex
+544 QListView::doItemsLayout
+552 QAbstractItemView::selectAll
+560 QListView::dataChanged
+568 QListView::rowsInserted
+576 QListView::rowsAboutToBeRemoved
+584 QListView::selectionChanged
+592 QListView::currentChanged
+600 QAbstractItemView::updateEditorData
+608 QAbstractItemView::updateEditorGeometries
+616 QListView::updateGeometries
+624 QAbstractItemView::verticalScrollbarAction
+632 QAbstractItemView::horizontalScrollbarAction
+640 QAbstractItemView::verticalScrollbarValueChanged
+648 QAbstractItemView::horizontalScrollbarValueChanged
+656 QAbstractItemView::closeEditor
+664 QAbstractItemView::commitData
+672 QAbstractItemView::editorDestroyed
+680 QListView::moveCursor
+688 QListView::horizontalOffset
+696 QListView::verticalOffset
+704 QListView::isIndexHidden
+712 QListView::setSelection
+720 QListView::visualRegionForSelection
+728 QListView::selectedIndexes
+736 QAbstractItemView::edit
+744 QAbstractItemView::selectionCommand
+752 QListView::startDrag
+760 QListView::viewOptions
+768 QListWidget::mimeTypes
+776 QListWidget::mimeData
+784 QListWidget::dropMimeData
+792 QListWidget::supportedDropActions
+800 (int (*)(...))-0x00000000000000010
+808 (int (*)(...))(& _ZTI11QListWidget)
+816 QListWidget::_ZThn16_N11QListWidgetD1Ev
+824 QListWidget::_ZThn16_N11QListWidgetD0Ev
+832 QWidget::_ZThn16_NK7QWidget7devTypeEv
+840 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+848 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QListWidget
+ size=40 align=8
+ base size=40 base align=8
+QListWidget (0x7f62dd1c73f0) 0
+ vptr=((& QListWidget::_ZTV11QListWidget) + 16u)
+ QListView (0x7f62dd1c7460) 0
+ primary-for QListWidget (0x7f62dd1c73f0)
+ QAbstractItemView (0x7f62dd1c74d0) 0
+ primary-for QListView (0x7f62dd1c7460)
+ QAbstractScrollArea (0x7f62dd1c7540) 0
+ primary-for QAbstractItemView (0x7f62dd1c74d0)
+ QFrame (0x7f62dd1c75b0) 0
+ primary-for QAbstractScrollArea (0x7f62dd1c7540)
+ QWidget (0x7f62dd1c0a00) 0
+ primary-for QFrame (0x7f62dd1c75b0)
+ QObject (0x7f62dd1c7620) 0
+ primary-for QWidget (0x7f62dd1c0a00)
+ QPaintDevice (0x7f62dd1c7690) 16
+ vptr=((& QListWidget::_ZTV11QListWidget) + 816u)
+
+Vtable for QProxyModel
+QProxyModel::_ZTV11QProxyModel: 43u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QProxyModel)
+16 QProxyModel::metaObject
+24 QProxyModel::qt_metacast
+32 QProxyModel::qt_metacall
+40 QProxyModel::~QProxyModel
+48 QProxyModel::~QProxyModel
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QProxyModel::index
+120 QProxyModel::parent
+128 QProxyModel::rowCount
+136 QProxyModel::columnCount
+144 QProxyModel::hasChildren
+152 QProxyModel::data
+160 QProxyModel::setData
+168 QProxyModel::headerData
+176 QProxyModel::setHeaderData
+184 QAbstractItemModel::itemData
+192 QAbstractItemModel::setItemData
+200 QProxyModel::mimeTypes
+208 QProxyModel::mimeData
+216 QProxyModel::dropMimeData
+224 QProxyModel::supportedDropActions
+232 QProxyModel::insertRows
+240 QProxyModel::insertColumns
+248 QAbstractItemModel::removeRows
+256 QAbstractItemModel::removeColumns
+264 QProxyModel::fetchMore
+272 QAbstractItemModel::canFetchMore
+280 QProxyModel::flags
+288 QProxyModel::sort
+296 QAbstractItemModel::buddy
+304 QProxyModel::match
+312 QProxyModel::span
+320 QProxyModel::submit
+328 QProxyModel::revert
+336 QProxyModel::setModel
+
+Class QProxyModel
+ size=16 align=8
+ base size=16 base align=8
+QProxyModel (0x7f62dd200850) 0
+ vptr=((& QProxyModel::_ZTV11QProxyModel) + 16u)
+ QAbstractItemModel (0x7f62dd2008c0) 0
+ primary-for QProxyModel (0x7f62dd200850)
+ QObject (0x7f62dd200930) 0
+ primary-for QAbstractItemModel (0x7f62dd2008c0)
+
+Vtable for QSortFilterProxyModel
+QSortFilterProxyModel::_ZTV21QSortFilterProxyModel: 50u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI21QSortFilterProxyModel)
+16 QSortFilterProxyModel::metaObject
+24 QSortFilterProxyModel::qt_metacast
+32 QSortFilterProxyModel::qt_metacall
+40 QSortFilterProxyModel::~QSortFilterProxyModel
+48 QSortFilterProxyModel::~QSortFilterProxyModel
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QSortFilterProxyModel::index
+120 QSortFilterProxyModel::parent
+128 QSortFilterProxyModel::rowCount
+136 QSortFilterProxyModel::columnCount
+144 QSortFilterProxyModel::hasChildren
+152 QSortFilterProxyModel::data
+160 QSortFilterProxyModel::setData
+168 QSortFilterProxyModel::headerData
+176 QSortFilterProxyModel::setHeaderData
+184 QAbstractProxyModel::itemData
+192 QAbstractItemModel::setItemData
+200 QSortFilterProxyModel::mimeTypes
+208 QSortFilterProxyModel::mimeData
+216 QSortFilterProxyModel::dropMimeData
+224 QSortFilterProxyModel::supportedDropActions
+232 QSortFilterProxyModel::insertRows
+240 QSortFilterProxyModel::insertColumns
+248 QSortFilterProxyModel::removeRows
+256 QSortFilterProxyModel::removeColumns
+264 QSortFilterProxyModel::fetchMore
+272 QSortFilterProxyModel::canFetchMore
+280 QSortFilterProxyModel::flags
+288 QSortFilterProxyModel::sort
+296 QSortFilterProxyModel::buddy
+304 QSortFilterProxyModel::match
+312 QSortFilterProxyModel::span
+320 QAbstractProxyModel::submit
+328 QAbstractProxyModel::revert
+336 QSortFilterProxyModel::setSourceModel
+344 QSortFilterProxyModel::mapToSource
+352 QSortFilterProxyModel::mapFromSource
+360 QSortFilterProxyModel::mapSelectionToSource
+368 QSortFilterProxyModel::mapSelectionFromSource
+376 QSortFilterProxyModel::filterAcceptsRow
+384 QSortFilterProxyModel::filterAcceptsColumn
+392 QSortFilterProxyModel::lessThan
+
+Class QSortFilterProxyModel
+ size=16 align=8
+ base size=16 base align=8
+QSortFilterProxyModel (0x7f62dd225700) 0
+ vptr=((& QSortFilterProxyModel::_ZTV21QSortFilterProxyModel) + 16u)
+ QAbstractProxyModel (0x7f62dd225770) 0
+ primary-for QSortFilterProxyModel (0x7f62dd225700)
+ QAbstractItemModel (0x7f62dd2257e0) 0
+ primary-for QAbstractProxyModel (0x7f62dd225770)
+ QObject (0x7f62dd225850) 0
+ primary-for QAbstractItemModel (0x7f62dd2257e0)
+
+Vtable for QStandardItem
+QStandardItem::_ZTV13QStandardItem: 11u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QStandardItem)
+16 QStandardItem::~QStandardItem
+24 QStandardItem::~QStandardItem
+32 QStandardItem::data
+40 QStandardItem::setData
+48 QStandardItem::clone
+56 QStandardItem::type
+64 QStandardItem::read
+72 QStandardItem::write
+80 QStandardItem::operator<
+
+Class QStandardItem
+ size=16 align=8
+ base size=16 base align=8
+QStandardItem (0x7f62dd254620) 0
+ vptr=((& QStandardItem::_ZTV13QStandardItem) + 16u)
+
+Vtable for QStandardItemModel
+QStandardItemModel::_ZTV18QStandardItemModel: 42u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QStandardItemModel)
+16 QStandardItemModel::metaObject
+24 QStandardItemModel::qt_metacast
+32 QStandardItemModel::qt_metacall
+40 QStandardItemModel::~QStandardItemModel
+48 QStandardItemModel::~QStandardItemModel
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QStandardItemModel::index
+120 QStandardItemModel::parent
+128 QStandardItemModel::rowCount
+136 QStandardItemModel::columnCount
+144 QStandardItemModel::hasChildren
+152 QStandardItemModel::data
+160 QStandardItemModel::setData
+168 QStandardItemModel::headerData
+176 QStandardItemModel::setHeaderData
+184 QStandardItemModel::itemData
+192 QStandardItemModel::setItemData
+200 QStandardItemModel::mimeTypes
+208 QStandardItemModel::mimeData
+216 QStandardItemModel::dropMimeData
+224 QStandardItemModel::supportedDropActions
+232 QStandardItemModel::insertRows
+240 QStandardItemModel::insertColumns
+248 QStandardItemModel::removeRows
+256 QStandardItemModel::removeColumns
+264 QAbstractItemModel::fetchMore
+272 QAbstractItemModel::canFetchMore
+280 QStandardItemModel::flags
+288 QStandardItemModel::sort
+296 QAbstractItemModel::buddy
+304 QAbstractItemModel::match
+312 QAbstractItemModel::span
+320 QAbstractItemModel::submit
+328 QAbstractItemModel::revert
+
+Class QStandardItemModel
+ size=16 align=8
+ base size=16 base align=8
+QStandardItemModel (0x7f62dd1403f0) 0
+ vptr=((& QStandardItemModel::_ZTV18QStandardItemModel) + 16u)
+ QAbstractItemModel (0x7f62dd140460) 0
+ primary-for QStandardItemModel (0x7f62dd1403f0)
+ QObject (0x7f62dd1404d0) 0
+ primary-for QAbstractItemModel (0x7f62dd140460)
+
+Vtable for QStringListModel
+QStringListModel::_ZTV16QStringListModel: 42u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QStringListModel)
+16 QStringListModel::metaObject
+24 QStringListModel::qt_metacast
+32 QStringListModel::qt_metacall
+40 QStringListModel::~QStringListModel
+48 QStringListModel::~QStringListModel
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QAbstractListModel::index
+120 QAbstractListModel::parent
+128 QStringListModel::rowCount
+136 QAbstractListModel::columnCount
+144 QAbstractListModel::hasChildren
+152 QStringListModel::data
+160 QStringListModel::setData
+168 QAbstractItemModel::headerData
+176 QAbstractItemModel::setHeaderData
+184 QAbstractItemModel::itemData
+192 QAbstractItemModel::setItemData
+200 QAbstractItemModel::mimeTypes
+208 QAbstractItemModel::mimeData
+216 QAbstractListModel::dropMimeData
+224 QStringListModel::supportedDropActions
+232 QStringListModel::insertRows
+240 QAbstractItemModel::insertColumns
+248 QStringListModel::removeRows
+256 QAbstractItemModel::removeColumns
+264 QAbstractItemModel::fetchMore
+272 QAbstractItemModel::canFetchMore
+280 QStringListModel::flags
+288 QStringListModel::sort
+296 QAbstractItemModel::buddy
+304 QAbstractItemModel::match
+312 QAbstractItemModel::span
+320 QAbstractItemModel::submit
+328 QAbstractItemModel::revert
+
+Class QStringListModel
+ size=24 align=8
+ base size=24 base align=8
+QStringListModel (0x7f62dd179f50) 0
+ vptr=((& QStringListModel::_ZTV16QStringListModel) + 16u)
+ QAbstractListModel (0x7f62dd18c000) 0
+ primary-for QStringListModel (0x7f62dd179f50)
+ QAbstractItemModel (0x7f62dd18c070) 0
+ primary-for QAbstractListModel (0x7f62dd18c000)
+ QObject (0x7f62dd18c0e0) 0
+ primary-for QAbstractItemModel (0x7f62dd18c070)
+
+Vtable for QStyledItemDelegate
+QStyledItemDelegate::_ZTV19QStyledItemDelegate: 23u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QStyledItemDelegate)
+16 QStyledItemDelegate::metaObject
+24 QStyledItemDelegate::qt_metacast
+32 QStyledItemDelegate::qt_metacall
+40 QStyledItemDelegate::~QStyledItemDelegate
+48 QStyledItemDelegate::~QStyledItemDelegate
+56 QObject::event
+64 QStyledItemDelegate::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QStyledItemDelegate::paint
+120 QStyledItemDelegate::sizeHint
+128 QStyledItemDelegate::createEditor
+136 QStyledItemDelegate::setEditorData
+144 QStyledItemDelegate::setModelData
+152 QStyledItemDelegate::updateEditorGeometry
+160 QStyledItemDelegate::editorEvent
+168 QStyledItemDelegate::displayText
+176 QStyledItemDelegate::initStyleOption
+
+Class QStyledItemDelegate
+ size=16 align=8
+ base size=16 base align=8
+QStyledItemDelegate (0x7f62dcfa45b0) 0
+ vptr=((& QStyledItemDelegate::_ZTV19QStyledItemDelegate) + 16u)
+ QAbstractItemDelegate (0x7f62dcfa4620) 0
+ primary-for QStyledItemDelegate (0x7f62dcfa45b0)
+ QObject (0x7f62dcfa4690) 0
+ primary-for QAbstractItemDelegate (0x7f62dcfa4620)
+
+Vtable for QTableView
+QTableView::_ZTV10QTableView: 103u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QTableView)
+16 QTableView::metaObject
+24 QTableView::qt_metacast
+32 QTableView::qt_metacall
+40 QTableView::~QTableView
+48 QTableView::~QTableView
+56 QAbstractItemView::event
+64 QObject::eventFilter
+72 QTableView::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QAbstractScrollArea::sizeHint
+136 QAbstractScrollArea::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QAbstractItemView::mousePressEvent
+168 QAbstractItemView::mouseReleaseEvent
+176 QAbstractItemView::mouseDoubleClickEvent
+184 QAbstractItemView::mouseMoveEvent
+192 QAbstractScrollArea::wheelEvent
+200 QAbstractItemView::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QAbstractItemView::focusInEvent
+224 QAbstractItemView::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QTableView::paintEvent
+256 QWidget::moveEvent
+264 QAbstractItemView::resizeEvent
+272 QWidget::closeEvent
+280 QAbstractScrollArea::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QAbstractItemView::dragEnterEvent
+312 QAbstractItemView::dragMoveEvent
+320 QAbstractItemView::dragLeaveEvent
+328 QAbstractItemView::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QFrame::changeEvent
+368 QWidget::metric
+376 QAbstractItemView::inputMethodEvent
+384 QAbstractItemView::inputMethodQuery
+392 QAbstractItemView::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QAbstractItemView::viewportEvent
+456 QTableView::scrollContentsBy
+464 QTableView::setModel
+472 QTableView::setSelectionModel
+480 QAbstractItemView::keyboardSearch
+488 QTableView::visualRect
+496 QTableView::scrollTo
+504 QTableView::indexAt
+512 QTableView::sizeHintForRow
+520 QTableView::sizeHintForColumn
+528 QAbstractItemView::reset
+536 QTableView::setRootIndex
+544 QAbstractItemView::doItemsLayout
+552 QAbstractItemView::selectAll
+560 QAbstractItemView::dataChanged
+568 QAbstractItemView::rowsInserted
+576 QAbstractItemView::rowsAboutToBeRemoved
+584 QTableView::selectionChanged
+592 QTableView::currentChanged
+600 QAbstractItemView::updateEditorData
+608 QAbstractItemView::updateEditorGeometries
+616 QTableView::updateGeometries
+624 QTableView::verticalScrollbarAction
+632 QTableView::horizontalScrollbarAction
+640 QAbstractItemView::verticalScrollbarValueChanged
+648 QAbstractItemView::horizontalScrollbarValueChanged
+656 QAbstractItemView::closeEditor
+664 QAbstractItemView::commitData
+672 QAbstractItemView::editorDestroyed
+680 QTableView::moveCursor
+688 QTableView::horizontalOffset
+696 QTableView::verticalOffset
+704 QTableView::isIndexHidden
+712 QTableView::setSelection
+720 QTableView::visualRegionForSelection
+728 QTableView::selectedIndexes
+736 QAbstractItemView::edit
+744 QAbstractItemView::selectionCommand
+752 QAbstractItemView::startDrag
+760 QTableView::viewOptions
+768 (int (*)(...))-0x00000000000000010
+776 (int (*)(...))(& _ZTI10QTableView)
+784 QTableView::_ZThn16_N10QTableViewD1Ev
+792 QTableView::_ZThn16_N10QTableViewD0Ev
+800 QWidget::_ZThn16_NK7QWidget7devTypeEv
+808 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+816 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QTableView
+ size=40 align=8
+ base size=40 base align=8
+QTableView (0x7f62dcfbbf50) 0
+ vptr=((& QTableView::_ZTV10QTableView) + 16u)
+ QAbstractItemView (0x7f62dcfc2000) 0
+ primary-for QTableView (0x7f62dcfbbf50)
+ QAbstractScrollArea (0x7f62dcfc2070) 0
+ primary-for QAbstractItemView (0x7f62dcfc2000)
+ QFrame (0x7f62dcfc20e0) 0
+ primary-for QAbstractScrollArea (0x7f62dcfc2070)
+ QWidget (0x7f62dcfa3b00) 0
+ primary-for QFrame (0x7f62dcfc20e0)
+ QObject (0x7f62dcfc2150) 0
+ primary-for QWidget (0x7f62dcfa3b00)
+ QPaintDevice (0x7f62dcfc21c0) 16
+ vptr=((& QTableView::_ZTV10QTableView) + 784u)
+
+Class QTableWidgetSelectionRange
+ size=16 align=4
+ base size=16 base align=4
+QTableWidgetSelectionRange (0x7f62dcfedd20) 0
+
+Vtable for QTableWidgetItem
+QTableWidgetItem::_ZTV16QTableWidgetItem: 10u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QTableWidgetItem)
+16 QTableWidgetItem::~QTableWidgetItem
+24 QTableWidgetItem::~QTableWidgetItem
+32 QTableWidgetItem::clone
+40 QTableWidgetItem::data
+48 QTableWidgetItem::setData
+56 QTableWidgetItem::operator<
+64 QTableWidgetItem::read
+72 QTableWidgetItem::write
+
+Class QTableWidgetItem
+ size=48 align=8
+ base size=44 base align=8
+QTableWidgetItem (0x7f62dcffd230) 0
+ vptr=((& QTableWidgetItem::_ZTV16QTableWidgetItem) + 16u)
+
+Vtable for QTableWidget
+QTableWidget::_ZTV12QTableWidget: 107u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QTableWidget)
+16 QTableWidget::metaObject
+24 QTableWidget::qt_metacast
+32 QTableWidget::qt_metacall
+40 QTableWidget::~QTableWidget
+48 QTableWidget::~QTableWidget
+56 QTableWidget::event
+64 QObject::eventFilter
+72 QTableView::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QAbstractScrollArea::sizeHint
+136 QAbstractScrollArea::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QAbstractItemView::mousePressEvent
+168 QAbstractItemView::mouseReleaseEvent
+176 QAbstractItemView::mouseDoubleClickEvent
+184 QAbstractItemView::mouseMoveEvent
+192 QAbstractScrollArea::wheelEvent
+200 QAbstractItemView::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QAbstractItemView::focusInEvent
+224 QAbstractItemView::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QTableView::paintEvent
+256 QWidget::moveEvent
+264 QAbstractItemView::resizeEvent
+272 QWidget::closeEvent
+280 QAbstractScrollArea::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QAbstractItemView::dragEnterEvent
+312 QAbstractItemView::dragMoveEvent
+320 QAbstractItemView::dragLeaveEvent
+328 QTableWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QFrame::changeEvent
+368 QWidget::metric
+376 QAbstractItemView::inputMethodEvent
+384 QAbstractItemView::inputMethodQuery
+392 QAbstractItemView::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QAbstractItemView::viewportEvent
+456 QTableView::scrollContentsBy
+464 QTableWidget::setModel
+472 QTableView::setSelectionModel
+480 QAbstractItemView::keyboardSearch
+488 QTableView::visualRect
+496 QTableView::scrollTo
+504 QTableView::indexAt
+512 QTableView::sizeHintForRow
+520 QTableView::sizeHintForColumn
+528 QAbstractItemView::reset
+536 QTableView::setRootIndex
+544 QAbstractItemView::doItemsLayout
+552 QAbstractItemView::selectAll
+560 QAbstractItemView::dataChanged
+568 QAbstractItemView::rowsInserted
+576 QAbstractItemView::rowsAboutToBeRemoved
+584 QTableView::selectionChanged
+592 QTableView::currentChanged
+600 QAbstractItemView::updateEditorData
+608 QAbstractItemView::updateEditorGeometries
+616 QTableView::updateGeometries
+624 QTableView::verticalScrollbarAction
+632 QTableView::horizontalScrollbarAction
+640 QAbstractItemView::verticalScrollbarValueChanged
+648 QAbstractItemView::horizontalScrollbarValueChanged
+656 QAbstractItemView::closeEditor
+664 QAbstractItemView::commitData
+672 QAbstractItemView::editorDestroyed
+680 QTableView::moveCursor
+688 QTableView::horizontalOffset
+696 QTableView::verticalOffset
+704 QTableView::isIndexHidden
+712 QTableView::setSelection
+720 QTableView::visualRegionForSelection
+728 QTableView::selectedIndexes
+736 QAbstractItemView::edit
+744 QAbstractItemView::selectionCommand
+752 QAbstractItemView::startDrag
+760 QTableView::viewOptions
+768 QTableWidget::mimeTypes
+776 QTableWidget::mimeData
+784 QTableWidget::dropMimeData
+792 QTableWidget::supportedDropActions
+800 (int (*)(...))-0x00000000000000010
+808 (int (*)(...))(& _ZTI12QTableWidget)
+816 QTableWidget::_ZThn16_N12QTableWidgetD1Ev
+824 QTableWidget::_ZThn16_N12QTableWidgetD0Ev
+832 QWidget::_ZThn16_NK7QWidget7devTypeEv
+840 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+848 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QTableWidget
+ size=40 align=8
+ base size=40 base align=8
+QTableWidget (0x7f62dd0717e0) 0
+ vptr=((& QTableWidget::_ZTV12QTableWidget) + 16u)
+ QTableView (0x7f62dd071850) 0
+ primary-for QTableWidget (0x7f62dd0717e0)
+ QAbstractItemView (0x7f62dd0718c0) 0
+ primary-for QTableView (0x7f62dd071850)
+ QAbstractScrollArea (0x7f62dd071930) 0
+ primary-for QAbstractItemView (0x7f62dd0718c0)
+ QFrame (0x7f62dd0719a0) 0
+ primary-for QAbstractScrollArea (0x7f62dd071930)
+ QWidget (0x7f62dd068c80) 0
+ primary-for QFrame (0x7f62dd0719a0)
+ QObject (0x7f62dd071a10) 0
+ primary-for QWidget (0x7f62dd068c80)
+ QPaintDevice (0x7f62dd071a80) 16
+ vptr=((& QTableWidget::_ZTV12QTableWidget) + 816u)
+
+Vtable for QTreeView
+QTreeView::_ZTV9QTreeView: 105u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QTreeView)
+16 QTreeView::metaObject
+24 QTreeView::qt_metacast
+32 QTreeView::qt_metacall
+40 QTreeView::~QTreeView
+48 QTreeView::~QTreeView
+56 QAbstractItemView::event
+64 QObject::eventFilter
+72 QTreeView::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QAbstractScrollArea::sizeHint
+136 QAbstractScrollArea::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QTreeView::mousePressEvent
+168 QTreeView::mouseReleaseEvent
+176 QTreeView::mouseDoubleClickEvent
+184 QTreeView::mouseMoveEvent
+192 QAbstractScrollArea::wheelEvent
+200 QTreeView::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QAbstractItemView::focusInEvent
+224 QAbstractItemView::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QTreeView::paintEvent
+256 QWidget::moveEvent
+264 QAbstractItemView::resizeEvent
+272 QWidget::closeEvent
+280 QAbstractScrollArea::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QAbstractItemView::dragEnterEvent
+312 QTreeView::dragMoveEvent
+320 QAbstractItemView::dragLeaveEvent
+328 QAbstractItemView::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QFrame::changeEvent
+368 QWidget::metric
+376 QAbstractItemView::inputMethodEvent
+384 QAbstractItemView::inputMethodQuery
+392 QAbstractItemView::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QTreeView::viewportEvent
+456 QTreeView::scrollContentsBy
+464 QTreeView::setModel
+472 QTreeView::setSelectionModel
+480 QTreeView::keyboardSearch
+488 QTreeView::visualRect
+496 QTreeView::scrollTo
+504 QTreeView::indexAt
+512 QAbstractItemView::sizeHintForRow
+520 QTreeView::sizeHintForColumn
+528 QTreeView::reset
+536 QTreeView::setRootIndex
+544 QTreeView::doItemsLayout
+552 QTreeView::selectAll
+560 QTreeView::dataChanged
+568 QTreeView::rowsInserted
+576 QTreeView::rowsAboutToBeRemoved
+584 QTreeView::selectionChanged
+592 QTreeView::currentChanged
+600 QAbstractItemView::updateEditorData
+608 QAbstractItemView::updateEditorGeometries
+616 QTreeView::updateGeometries
+624 QAbstractItemView::verticalScrollbarAction
+632 QTreeView::horizontalScrollbarAction
+640 QAbstractItemView::verticalScrollbarValueChanged
+648 QAbstractItemView::horizontalScrollbarValueChanged
+656 QAbstractItemView::closeEditor
+664 QAbstractItemView::commitData
+672 QAbstractItemView::editorDestroyed
+680 QTreeView::moveCursor
+688 QTreeView::horizontalOffset
+696 QTreeView::verticalOffset
+704 QTreeView::isIndexHidden
+712 QTreeView::setSelection
+720 QTreeView::visualRegionForSelection
+728 QTreeView::selectedIndexes
+736 QAbstractItemView::edit
+744 QAbstractItemView::selectionCommand
+752 QAbstractItemView::startDrag
+760 QAbstractItemView::viewOptions
+768 QTreeView::drawRow
+776 QTreeView::drawBranches
+784 (int (*)(...))-0x00000000000000010
+792 (int (*)(...))(& _ZTI9QTreeView)
+800 QTreeView::_ZThn16_N9QTreeViewD1Ev
+808 QTreeView::_ZThn16_N9QTreeViewD0Ev
+816 QWidget::_ZThn16_NK7QWidget7devTypeEv
+824 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+832 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QTreeView
+ size=40 align=8
+ base size=40 base align=8
+QTreeView (0x7f62dceaf770) 0
+ vptr=((& QTreeView::_ZTV9QTreeView) + 16u)
+ QAbstractItemView (0x7f62dceaf7e0) 0
+ primary-for QTreeView (0x7f62dceaf770)
+ QAbstractScrollArea (0x7f62dceaf850) 0
+ primary-for QAbstractItemView (0x7f62dceaf7e0)
+ QFrame (0x7f62dceaf8c0) 0
+ primary-for QAbstractScrollArea (0x7f62dceaf850)
+ QWidget (0x7f62dceae600) 0
+ primary-for QFrame (0x7f62dceaf8c0)
+ QObject (0x7f62dceaf930) 0
+ primary-for QWidget (0x7f62dceae600)
+ QPaintDevice (0x7f62dceaf9a0) 16
+ vptr=((& QTreeView::_ZTV9QTreeView) + 800u)
+
+Class QTreeWidgetItemIterator
+ size=24 align=8
+ base size=20 base align=8
+QTreeWidgetItemIterator (0x7f62dceea540) 0
+
+Vtable for QTreeWidgetItem
+QTreeWidgetItem::_ZTV15QTreeWidgetItem: 10u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QTreeWidgetItem)
+16 QTreeWidgetItem::~QTreeWidgetItem
+24 QTreeWidgetItem::~QTreeWidgetItem
+32 QTreeWidgetItem::clone
+40 QTreeWidgetItem::data
+48 QTreeWidgetItem::setData
+56 QTreeWidgetItem::operator<
+64 QTreeWidgetItem::read
+72 QTreeWidgetItem::write
+
+Class QTreeWidgetItem
+ size=64 align=8
+ base size=60 base align=8
+QTreeWidgetItem (0x7f62dcf562a0) 0
+ vptr=((& QTreeWidgetItem::_ZTV15QTreeWidgetItem) + 16u)
+
+Vtable for QTreeWidget
+QTreeWidget::_ZTV11QTreeWidget: 109u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QTreeWidget)
+16 QTreeWidget::metaObject
+24 QTreeWidget::qt_metacast
+32 QTreeWidget::qt_metacall
+40 QTreeWidget::~QTreeWidget
+48 QTreeWidget::~QTreeWidget
+56 QTreeWidget::event
+64 QObject::eventFilter
+72 QTreeView::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QAbstractScrollArea::sizeHint
+136 QAbstractScrollArea::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QTreeView::mousePressEvent
+168 QTreeView::mouseReleaseEvent
+176 QTreeView::mouseDoubleClickEvent
+184 QTreeView::mouseMoveEvent
+192 QAbstractScrollArea::wheelEvent
+200 QTreeView::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QAbstractItemView::focusInEvent
+224 QAbstractItemView::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QTreeView::paintEvent
+256 QWidget::moveEvent
+264 QAbstractItemView::resizeEvent
+272 QWidget::closeEvent
+280 QAbstractScrollArea::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QAbstractItemView::dragEnterEvent
+312 QTreeView::dragMoveEvent
+320 QAbstractItemView::dragLeaveEvent
+328 QTreeWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QFrame::changeEvent
+368 QWidget::metric
+376 QAbstractItemView::inputMethodEvent
+384 QAbstractItemView::inputMethodQuery
+392 QAbstractItemView::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QTreeView::viewportEvent
+456 QTreeView::scrollContentsBy
+464 QTreeWidget::setModel
+472 QTreeWidget::setSelectionModel
+480 QTreeView::keyboardSearch
+488 QTreeView::visualRect
+496 QTreeView::scrollTo
+504 QTreeView::indexAt
+512 QAbstractItemView::sizeHintForRow
+520 QTreeView::sizeHintForColumn
+528 QTreeView::reset
+536 QTreeView::setRootIndex
+544 QTreeView::doItemsLayout
+552 QTreeView::selectAll
+560 QTreeView::dataChanged
+568 QTreeView::rowsInserted
+576 QTreeView::rowsAboutToBeRemoved
+584 QTreeView::selectionChanged
+592 QTreeView::currentChanged
+600 QAbstractItemView::updateEditorData
+608 QAbstractItemView::updateEditorGeometries
+616 QTreeView::updateGeometries
+624 QAbstractItemView::verticalScrollbarAction
+632 QTreeView::horizontalScrollbarAction
+640 QAbstractItemView::verticalScrollbarValueChanged
+648 QAbstractItemView::horizontalScrollbarValueChanged
+656 QAbstractItemView::closeEditor
+664 QAbstractItemView::commitData
+672 QAbstractItemView::editorDestroyed
+680 QTreeView::moveCursor
+688 QTreeView::horizontalOffset
+696 QTreeView::verticalOffset
+704 QTreeView::isIndexHidden
+712 QTreeView::setSelection
+720 QTreeView::visualRegionForSelection
+728 QTreeView::selectedIndexes
+736 QAbstractItemView::edit
+744 QAbstractItemView::selectionCommand
+752 QAbstractItemView::startDrag
+760 QAbstractItemView::viewOptions
+768 QTreeView::drawRow
+776 QTreeView::drawBranches
+784 QTreeWidget::mimeTypes
+792 QTreeWidget::mimeData
+800 QTreeWidget::dropMimeData
+808 QTreeWidget::supportedDropActions
+816 (int (*)(...))-0x00000000000000010
+824 (int (*)(...))(& _ZTI11QTreeWidget)
+832 QTreeWidget::_ZThn16_N11QTreeWidgetD1Ev
+840 QTreeWidget::_ZThn16_N11QTreeWidgetD0Ev
+848 QWidget::_ZThn16_NK7QWidget7devTypeEv
+856 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+864 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QTreeWidget
+ size=40 align=8
+ base size=40 base align=8
+QTreeWidget (0x7f62dce068c0) 0
+ vptr=((& QTreeWidget::_ZTV11QTreeWidget) + 16u)
+ QTreeView (0x7f62dce06930) 0
+ primary-for QTreeWidget (0x7f62dce068c0)
+ QAbstractItemView (0x7f62dce069a0) 0
+ primary-for QTreeView (0x7f62dce06930)
+ QAbstractScrollArea (0x7f62dce06a10) 0
+ primary-for QAbstractItemView (0x7f62dce069a0)
+ QFrame (0x7f62dce06a80) 0
+ primary-for QAbstractScrollArea (0x7f62dce06a10)
+ QWidget (0x7f62dce08200) 0
+ primary-for QFrame (0x7f62dce06a80)
+ QObject (0x7f62dce06af0) 0
+ primary-for QWidget (0x7f62dce08200)
+ QPaintDevice (0x7f62dce06b60) 16
+ vptr=((& QTreeWidget::_ZTV11QTreeWidget) + 832u)
+
+Class QAccessible
+ size=1 align=1
+ base size=0 base align=1
+QAccessible (0x7f62dce4dc40) 0 empty
+
+Vtable for QAccessibleInterface
+QAccessibleInterface::_ZTV20QAccessibleInterface: 19u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI20QAccessibleInterface)
+16 QAccessibleInterface::~QAccessibleInterface
+24 QAccessibleInterface::~QAccessibleInterface
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+48 __cxa_pure_virtual
+56 __cxa_pure_virtual
+64 __cxa_pure_virtual
+72 __cxa_pure_virtual
+80 __cxa_pure_virtual
+88 __cxa_pure_virtual
+96 __cxa_pure_virtual
+104 __cxa_pure_virtual
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 __cxa_pure_virtual
+136 __cxa_pure_virtual
+144 __cxa_pure_virtual
+
+Class QAccessibleInterface
+ size=8 align=8
+ base size=8 base align=8
+QAccessibleInterface (0x7f62dccf6e00) 0 nearly-empty
+ vptr=((& QAccessibleInterface::_ZTV20QAccessibleInterface) + 16u)
+ QAccessible (0x7f62dccf6e70) 0 empty
+
+Vtable for QAccessibleInterfaceEx
+QAccessibleInterfaceEx::_ZTV22QAccessibleInterfaceEx: 22u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI22QAccessibleInterfaceEx)
+16 QAccessibleInterfaceEx::~QAccessibleInterfaceEx
+24 QAccessibleInterfaceEx::~QAccessibleInterfaceEx
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+48 __cxa_pure_virtual
+56 __cxa_pure_virtual
+64 __cxa_pure_virtual
+72 __cxa_pure_virtual
+80 __cxa_pure_virtual
+88 __cxa_pure_virtual
+96 __cxa_pure_virtual
+104 __cxa_pure_virtual
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 __cxa_pure_virtual
+136 __cxa_pure_virtual
+144 __cxa_pure_virtual
+152 __cxa_pure_virtual
+160 QAccessibleInterfaceEx::virtual_hook
+168 QAccessibleInterfaceEx::interface_cast
+
+Class QAccessibleInterfaceEx
+ size=8 align=8
+ base size=8 base align=8
+QAccessibleInterfaceEx (0x7f62dcd72b60) 0 nearly-empty
+ vptr=((& QAccessibleInterfaceEx::_ZTV22QAccessibleInterfaceEx) + 16u)
+ QAccessibleInterface (0x7f62dcd72bd0) 0 nearly-empty
+ primary-for QAccessibleInterfaceEx (0x7f62dcd72b60)
+ QAccessible (0x7f62dcd72c40) 0 empty
+
+Vtable for QAccessibleEvent
+QAccessibleEvent::_ZTV16QAccessibleEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QAccessibleEvent)
+16 QAccessibleEvent::~QAccessibleEvent
+24 QAccessibleEvent::~QAccessibleEvent
+
+Class QAccessibleEvent
+ size=32 align=8
+ base size=32 base align=8
+QAccessibleEvent (0x7f62dcd72ee0) 0
+ vptr=((& QAccessibleEvent::_ZTV16QAccessibleEvent) + 16u)
+ QEvent (0x7f62dcd72f50) 0
+ primary-for QAccessibleEvent (0x7f62dcd72ee0)
+
+Vtable for QAccessible2Interface
+QAccessible2Interface::_ZTV21QAccessible2Interface: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI21QAccessible2Interface)
+16 QAccessible2Interface::~QAccessible2Interface
+24 QAccessible2Interface::~QAccessible2Interface
+
+Class QAccessible2Interface
+ size=8 align=8
+ base size=8 base align=8
+QAccessible2Interface (0x7f62dcd88f50) 0 nearly-empty
+ vptr=((& QAccessible2Interface::_ZTV21QAccessible2Interface) + 16u)
+
+Vtable for QAccessibleTextInterface
+QAccessibleTextInterface::_ZTV24QAccessibleTextInterface: 20u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI24QAccessibleTextInterface)
+16 QAccessibleTextInterface::~QAccessibleTextInterface
+24 QAccessibleTextInterface::~QAccessibleTextInterface
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+48 __cxa_pure_virtual
+56 __cxa_pure_virtual
+64 __cxa_pure_virtual
+72 __cxa_pure_virtual
+80 __cxa_pure_virtual
+88 __cxa_pure_virtual
+96 __cxa_pure_virtual
+104 __cxa_pure_virtual
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 __cxa_pure_virtual
+136 __cxa_pure_virtual
+144 __cxa_pure_virtual
+152 __cxa_pure_virtual
+
+Class QAccessibleTextInterface
+ size=8 align=8
+ base size=8 base align=8
+QAccessibleTextInterface (0x7f62dcb9e1c0) 0 nearly-empty
+ vptr=((& QAccessibleTextInterface::_ZTV24QAccessibleTextInterface) + 16u)
+ QAccessible2Interface (0x7f62dcb9e230) 0 nearly-empty
+ primary-for QAccessibleTextInterface (0x7f62dcb9e1c0)
+
+Vtable for QAccessibleEditableTextInterface
+QAccessibleEditableTextInterface::_ZTV32QAccessibleEditableTextInterface: 11u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI32QAccessibleEditableTextInterface)
+16 QAccessibleEditableTextInterface::~QAccessibleEditableTextInterface
+24 QAccessibleEditableTextInterface::~QAccessibleEditableTextInterface
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+48 __cxa_pure_virtual
+56 __cxa_pure_virtual
+64 __cxa_pure_virtual
+72 __cxa_pure_virtual
+80 __cxa_pure_virtual
+
+Class QAccessibleEditableTextInterface
+ size=8 align=8
+ base size=8 base align=8
+QAccessibleEditableTextInterface (0x7f62dcbb0070) 0 nearly-empty
+ vptr=((& QAccessibleEditableTextInterface::_ZTV32QAccessibleEditableTextInterface) + 16u)
+ QAccessible2Interface (0x7f62dcbb00e0) 0 nearly-empty
+ primary-for QAccessibleEditableTextInterface (0x7f62dcbb0070)
+
+Vtable for QAccessibleSimpleEditableTextInterface
+QAccessibleSimpleEditableTextInterface::_ZTV38QAccessibleSimpleEditableTextInterface: 11u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI38QAccessibleSimpleEditableTextInterface)
+16 QAccessibleSimpleEditableTextInterface::~QAccessibleSimpleEditableTextInterface
+24 QAccessibleSimpleEditableTextInterface::~QAccessibleSimpleEditableTextInterface
+32 QAccessibleSimpleEditableTextInterface::copyText
+40 QAccessibleSimpleEditableTextInterface::deleteText
+48 QAccessibleSimpleEditableTextInterface::insertText
+56 QAccessibleSimpleEditableTextInterface::cutText
+64 QAccessibleSimpleEditableTextInterface::pasteText
+72 QAccessibleSimpleEditableTextInterface::replaceText
+80 QAccessibleSimpleEditableTextInterface::setAttributes
+
+Class QAccessibleSimpleEditableTextInterface
+ size=16 align=8
+ base size=16 base align=8
+QAccessibleSimpleEditableTextInterface (0x7f62dcbb0f50) 0
+ vptr=((& QAccessibleSimpleEditableTextInterface::_ZTV38QAccessibleSimpleEditableTextInterface) + 16u)
+ QAccessibleEditableTextInterface (0x7f62dcbb0310) 0 nearly-empty
+ primary-for QAccessibleSimpleEditableTextInterface (0x7f62dcbb0f50)
+ QAccessible2Interface (0x7f62dcbbb000) 0 nearly-empty
+ primary-for QAccessibleEditableTextInterface (0x7f62dcbb0310)
+
+Vtable for QAccessibleValueInterface
+QAccessibleValueInterface::_ZTV25QAccessibleValueInterface: 8u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI25QAccessibleValueInterface)
+16 QAccessibleValueInterface::~QAccessibleValueInterface
+24 QAccessibleValueInterface::~QAccessibleValueInterface
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+48 __cxa_pure_virtual
+56 __cxa_pure_virtual
+
+Class QAccessibleValueInterface
+ size=8 align=8
+ base size=8 base align=8
+QAccessibleValueInterface (0x7f62dcbbb230) 0 nearly-empty
+ vptr=((& QAccessibleValueInterface::_ZTV25QAccessibleValueInterface) + 16u)
+ QAccessible2Interface (0x7f62dcbbb2a0) 0 nearly-empty
+ primary-for QAccessibleValueInterface (0x7f62dcbbb230)
+
+Vtable for QAccessibleTableInterface
+QAccessibleTableInterface::_ZTV25QAccessibleTableInterface: 30u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI25QAccessibleTableInterface)
+16 QAccessibleTableInterface::~QAccessibleTableInterface
+24 QAccessibleTableInterface::~QAccessibleTableInterface
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+48 __cxa_pure_virtual
+56 __cxa_pure_virtual
+64 __cxa_pure_virtual
+72 __cxa_pure_virtual
+80 __cxa_pure_virtual
+88 __cxa_pure_virtual
+96 __cxa_pure_virtual
+104 __cxa_pure_virtual
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 __cxa_pure_virtual
+136 __cxa_pure_virtual
+144 __cxa_pure_virtual
+152 __cxa_pure_virtual
+160 __cxa_pure_virtual
+168 __cxa_pure_virtual
+176 __cxa_pure_virtual
+184 __cxa_pure_virtual
+192 __cxa_pure_virtual
+200 __cxa_pure_virtual
+208 __cxa_pure_virtual
+216 __cxa_pure_virtual
+224 __cxa_pure_virtual
+232 __cxa_pure_virtual
+
+Class QAccessibleTableInterface
+ size=8 align=8
+ base size=8 base align=8
+QAccessibleTableInterface (0x7f62dcbcb070) 0 nearly-empty
+ vptr=((& QAccessibleTableInterface::_ZTV25QAccessibleTableInterface) + 16u)
+ QAccessible2Interface (0x7f62dcbcb0e0) 0 nearly-empty
+ primary-for QAccessibleTableInterface (0x7f62dcbcb070)
+
+Vtable for QAccessibleActionInterface
+QAccessibleActionInterface::_ZTV26QAccessibleActionInterface: 10u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI26QAccessibleActionInterface)
+16 QAccessibleActionInterface::~QAccessibleActionInterface
+24 QAccessibleActionInterface::~QAccessibleActionInterface
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+48 __cxa_pure_virtual
+56 __cxa_pure_virtual
+64 __cxa_pure_virtual
+72 __cxa_pure_virtual
+
+Class QAccessibleActionInterface
+ size=8 align=8
+ base size=8 base align=8
+QAccessibleActionInterface (0x7f62dcbcb460) 0 nearly-empty
+ vptr=((& QAccessibleActionInterface::_ZTV26QAccessibleActionInterface) + 16u)
+ QAccessible2Interface (0x7f62dcbcb4d0) 0 nearly-empty
+ primary-for QAccessibleActionInterface (0x7f62dcbcb460)
+
+Vtable for QAccessibleImageInterface
+QAccessibleImageInterface::_ZTV25QAccessibleImageInterface: 7u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI25QAccessibleImageInterface)
+16 QAccessibleImageInterface::~QAccessibleImageInterface
+24 QAccessibleImageInterface::~QAccessibleImageInterface
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+48 __cxa_pure_virtual
+
+Class QAccessibleImageInterface
+ size=8 align=8
+ base size=8 base align=8
+QAccessibleImageInterface (0x7f62dcbcb850) 0 nearly-empty
+ vptr=((& QAccessibleImageInterface::_ZTV25QAccessibleImageInterface) + 16u)
+ QAccessible2Interface (0x7f62dcbcb8c0) 0 nearly-empty
+ primary-for QAccessibleImageInterface (0x7f62dcbcb850)
+
+Vtable for QAccessibleBridge
+QAccessibleBridge::_ZTV17QAccessibleBridge: 6u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QAccessibleBridge)
+16 QAccessibleBridge::~QAccessibleBridge
+24 QAccessibleBridge::~QAccessibleBridge
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+
+Class QAccessibleBridge
+ size=8 align=8
+ base size=8 base align=8
+QAccessibleBridge (0x7f62dcbcbc40) 0 nearly-empty
+ vptr=((& QAccessibleBridge::_ZTV17QAccessibleBridge) + 16u)
+
+Vtable for QAccessibleBridgeFactoryInterface
+QAccessibleBridgeFactoryInterface::_ZTV33QAccessibleBridgeFactoryInterface: 6u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI33QAccessibleBridgeFactoryInterface)
+16 QAccessibleBridgeFactoryInterface::~QAccessibleBridgeFactoryInterface
+24 QAccessibleBridgeFactoryInterface::~QAccessibleBridgeFactoryInterface
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+
+Class QAccessibleBridgeFactoryInterface
+ size=8 align=8
+ base size=8 base align=8
+QAccessibleBridgeFactoryInterface (0x7f62dcbe4540) 0 nearly-empty
+ vptr=((& QAccessibleBridgeFactoryInterface::_ZTV33QAccessibleBridgeFactoryInterface) + 16u)
+ QFactoryInterface (0x7f62dcbe45b0) 0 nearly-empty
+ primary-for QAccessibleBridgeFactoryInterface (0x7f62dcbe4540)
+
+Vtable for QAccessibleBridgePlugin
+QAccessibleBridgePlugin::_ZTV23QAccessibleBridgePlugin: 22u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI23QAccessibleBridgePlugin)
+16 QAccessibleBridgePlugin::metaObject
+24 QAccessibleBridgePlugin::qt_metacast
+32 QAccessibleBridgePlugin::qt_metacall
+40 QAccessibleBridgePlugin::~QAccessibleBridgePlugin
+48 QAccessibleBridgePlugin::~QAccessibleBridgePlugin
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 (int (*)(...))-0x00000000000000010
+136 (int (*)(...))(& _ZTI23QAccessibleBridgePlugin)
+144 QAccessibleBridgePlugin::_ZThn16_N23QAccessibleBridgePluginD1Ev
+152 QAccessibleBridgePlugin::_ZThn16_N23QAccessibleBridgePluginD0Ev
+160 __cxa_pure_virtual
+168 __cxa_pure_virtual
+
+Class QAccessibleBridgePlugin
+ size=24 align=8
+ base size=24 base align=8
+QAccessibleBridgePlugin (0x7f62dcbf0580) 0
+ vptr=((& QAccessibleBridgePlugin::_ZTV23QAccessibleBridgePlugin) + 16u)
+ QObject (0x7f62dcbe4620) 0
+ primary-for QAccessibleBridgePlugin (0x7f62dcbf0580)
+ QAccessibleBridgeFactoryInterface (0x7f62dcbf4000) 16 nearly-empty
+ vptr=((& QAccessibleBridgePlugin::_ZTV23QAccessibleBridgePlugin) + 144u)
+ QFactoryInterface (0x7f62dcbf4070) 16 nearly-empty
+ primary-for QAccessibleBridgeFactoryInterface (0x7f62dcbf4000)
+
+Vtable for QAccessibleObject
+QAccessibleObject::_ZTV17QAccessibleObject: 19u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QAccessibleObject)
+16 QAccessibleObject::~QAccessibleObject
+24 QAccessibleObject::~QAccessibleObject
+32 QAccessibleObject::isValid
+40 QAccessibleObject::object
+48 __cxa_pure_virtual
+56 __cxa_pure_virtual
+64 __cxa_pure_virtual
+72 __cxa_pure_virtual
+80 __cxa_pure_virtual
+88 __cxa_pure_virtual
+96 QAccessibleObject::setText
+104 QAccessibleObject::rect
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 QAccessibleObject::userActionCount
+136 QAccessibleObject::actionText
+144 QAccessibleObject::doAction
+
+Class QAccessibleObject
+ size=16 align=8
+ base size=16 base align=8
+QAccessibleObject (0x7f62dcbf4f50) 0
+ vptr=((& QAccessibleObject::_ZTV17QAccessibleObject) + 16u)
+ QAccessibleInterface (0x7f62dcbf4310) 0 nearly-empty
+ primary-for QAccessibleObject (0x7f62dcbf4f50)
+ QAccessible (0x7f62dcc06000) 0 empty
+
+Vtable for QAccessibleObjectEx
+QAccessibleObjectEx::_ZTV19QAccessibleObjectEx: 22u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QAccessibleObjectEx)
+16 QAccessibleObjectEx::~QAccessibleObjectEx
+24 QAccessibleObjectEx::~QAccessibleObjectEx
+32 QAccessibleObjectEx::isValid
+40 QAccessibleObjectEx::object
+48 __cxa_pure_virtual
+56 __cxa_pure_virtual
+64 __cxa_pure_virtual
+72 __cxa_pure_virtual
+80 __cxa_pure_virtual
+88 __cxa_pure_virtual
+96 QAccessibleObjectEx::setText
+104 QAccessibleObjectEx::rect
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 QAccessibleObjectEx::userActionCount
+136 QAccessibleObjectEx::actionText
+144 QAccessibleObjectEx::doAction
+152 __cxa_pure_virtual
+160 QAccessibleInterfaceEx::virtual_hook
+168 QAccessibleInterfaceEx::interface_cast
+
+Class QAccessibleObjectEx
+ size=16 align=8
+ base size=16 base align=8
+QAccessibleObjectEx (0x7f62dcc06700) 0
+ vptr=((& QAccessibleObjectEx::_ZTV19QAccessibleObjectEx) + 16u)
+ QAccessibleInterfaceEx (0x7f62dcc06770) 0 nearly-empty
+ primary-for QAccessibleObjectEx (0x7f62dcc06700)
+ QAccessibleInterface (0x7f62dcc067e0) 0 nearly-empty
+ primary-for QAccessibleInterfaceEx (0x7f62dcc06770)
+ QAccessible (0x7f62dcc06850) 0 empty
+
+Vtable for QAccessibleApplication
+QAccessibleApplication::_ZTV22QAccessibleApplication: 19u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI22QAccessibleApplication)
+16 QAccessibleApplication::~QAccessibleApplication
+24 QAccessibleApplication::~QAccessibleApplication
+32 QAccessibleObject::isValid
+40 QAccessibleObject::object
+48 QAccessibleApplication::childCount
+56 QAccessibleApplication::indexOfChild
+64 QAccessibleApplication::relationTo
+72 QAccessibleApplication::childAt
+80 QAccessibleApplication::navigate
+88 QAccessibleApplication::text
+96 QAccessibleObject::setText
+104 QAccessibleObject::rect
+112 QAccessibleApplication::role
+120 QAccessibleApplication::state
+128 QAccessibleApplication::userActionCount
+136 QAccessibleApplication::actionText
+144 QAccessibleApplication::doAction
+
+Class QAccessibleApplication
+ size=16 align=8
+ base size=16 base align=8
+QAccessibleApplication (0x7f62dcc06f50) 0
+ vptr=((& QAccessibleApplication::_ZTV22QAccessibleApplication) + 16u)
+ QAccessibleObject (0x7f62dcc06690) 0
+ primary-for QAccessibleApplication (0x7f62dcc06f50)
+ QAccessibleInterface (0x7f62dcc06ee0) 0 nearly-empty
+ primary-for QAccessibleObject (0x7f62dcc06690)
+ QAccessible (0x7f62dcc18000) 0 empty
+
+Vtable for QAccessibleFactoryInterface
+QAccessibleFactoryInterface::_ZTV27QAccessibleFactoryInterface: 6u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI27QAccessibleFactoryInterface)
+16 QAccessibleFactoryInterface::~QAccessibleFactoryInterface
+24 QAccessibleFactoryInterface::~QAccessibleFactoryInterface
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+
+Class QAccessibleFactoryInterface
+ size=8 align=8
+ base size=8 base align=8
+QAccessibleFactoryInterface (0x7f62dcbf0e00) 0 nearly-empty
+ vptr=((& QAccessibleFactoryInterface::_ZTV27QAccessibleFactoryInterface) + 16u)
+ QAccessible (0x7f62dcc188c0) 0 empty
+ QFactoryInterface (0x7f62dcc18930) 0 nearly-empty
+ primary-for QAccessibleFactoryInterface (0x7f62dcbf0e00)
+
+Vtable for QAccessiblePlugin
+QAccessiblePlugin::_ZTV17QAccessiblePlugin: 22u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QAccessiblePlugin)
+16 QAccessiblePlugin::metaObject
+24 QAccessiblePlugin::qt_metacast
+32 QAccessiblePlugin::qt_metacall
+40 QAccessiblePlugin::~QAccessiblePlugin
+48 QAccessiblePlugin::~QAccessiblePlugin
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 (int (*)(...))-0x00000000000000010
+136 (int (*)(...))(& _ZTI17QAccessiblePlugin)
+144 QAccessiblePlugin::_ZThn16_N17QAccessiblePluginD1Ev
+152 QAccessiblePlugin::_ZThn16_N17QAccessiblePluginD0Ev
+160 __cxa_pure_virtual
+168 __cxa_pure_virtual
+
+Class QAccessiblePlugin
+ size=24 align=8
+ base size=24 base align=8
+QAccessiblePlugin (0x7f62dcc24800) 0
+ vptr=((& QAccessiblePlugin::_ZTV17QAccessiblePlugin) + 16u)
+ QObject (0x7f62dcc2b2a0) 0
+ primary-for QAccessiblePlugin (0x7f62dcc24800)
+ QAccessibleFactoryInterface (0x7f62dcc24880) 16 nearly-empty
+ vptr=((& QAccessiblePlugin::_ZTV17QAccessiblePlugin) + 144u)
+ QAccessible (0x7f62dcc2b310) 16 empty
+ QFactoryInterface (0x7f62dcc2b380) 16 nearly-empty
+ primary-for QAccessibleFactoryInterface (0x7f62dcc24880)
+
+Vtable for QAccessibleWidget
+QAccessibleWidget::_ZTV17QAccessibleWidget: 19u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QAccessibleWidget)
+16 QAccessibleWidget::~QAccessibleWidget
+24 QAccessibleWidget::~QAccessibleWidget
+32 QAccessibleObject::isValid
+40 QAccessibleObject::object
+48 QAccessibleWidget::childCount
+56 QAccessibleWidget::indexOfChild
+64 QAccessibleWidget::relationTo
+72 QAccessibleWidget::childAt
+80 QAccessibleWidget::navigate
+88 QAccessibleWidget::text
+96 QAccessibleObject::setText
+104 QAccessibleWidget::rect
+112 QAccessibleWidget::role
+120 QAccessibleWidget::state
+128 QAccessibleWidget::userActionCount
+136 QAccessibleWidget::actionText
+144 QAccessibleWidget::doAction
+
+Class QAccessibleWidget
+ size=24 align=8
+ base size=24 base align=8
+QAccessibleWidget (0x7f62dcc3b310) 0
+ vptr=((& QAccessibleWidget::_ZTV17QAccessibleWidget) + 16u)
+ QAccessibleObject (0x7f62dcc3b380) 0
+ primary-for QAccessibleWidget (0x7f62dcc3b310)
+ QAccessibleInterface (0x7f62dcc3b3f0) 0 nearly-empty
+ primary-for QAccessibleObject (0x7f62dcc3b380)
+ QAccessible (0x7f62dcc3b460) 0 empty
+
+Vtable for QAccessibleWidgetEx
+QAccessibleWidgetEx::_ZTV19QAccessibleWidgetEx: 22u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QAccessibleWidgetEx)
+16 QAccessibleWidgetEx::~QAccessibleWidgetEx
+24 QAccessibleWidgetEx::~QAccessibleWidgetEx
+32 QAccessibleObjectEx::isValid
+40 QAccessibleObjectEx::object
+48 QAccessibleWidgetEx::childCount
+56 QAccessibleWidgetEx::indexOfChild
+64 QAccessibleWidgetEx::relationTo
+72 QAccessibleWidgetEx::childAt
+80 QAccessibleWidgetEx::navigate
+88 QAccessibleWidgetEx::text
+96 QAccessibleObjectEx::setText
+104 QAccessibleWidgetEx::rect
+112 QAccessibleWidgetEx::role
+120 QAccessibleWidgetEx::state
+128 QAccessibleObjectEx::userActionCount
+136 QAccessibleWidgetEx::actionText
+144 QAccessibleWidgetEx::doAction
+152 QAccessibleWidgetEx::invokeMethodEx
+160 QAccessibleInterfaceEx::virtual_hook
+168 QAccessibleInterfaceEx::interface_cast
+
+Class QAccessibleWidgetEx
+ size=24 align=8
+ base size=24 base align=8
+QAccessibleWidgetEx (0x7f62dcc463f0) 0
+ vptr=((& QAccessibleWidgetEx::_ZTV19QAccessibleWidgetEx) + 16u)
+ QAccessibleObjectEx (0x7f62dcc46460) 0
+ primary-for QAccessibleWidgetEx (0x7f62dcc463f0)
+ QAccessibleInterfaceEx (0x7f62dcc464d0) 0 nearly-empty
+ primary-for QAccessibleObjectEx (0x7f62dcc46460)
+ QAccessibleInterface (0x7f62dcc46540) 0 nearly-empty
+ primary-for QAccessibleInterfaceEx (0x7f62dcc464d0)
+ QAccessible (0x7f62dcc465b0) 0 empty
+
+Vtable for QAction
+QAction::_ZTV7QAction: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QAction)
+16 QAction::metaObject
+24 QAction::qt_metacast
+32 QAction::qt_metacall
+40 QAction::~QAction
+48 QAction::~QAction
+56 QAction::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QAction
+ size=16 align=8
+ base size=16 base align=8
+QAction (0x7f62dcc55540) 0
+ vptr=((& QAction::_ZTV7QAction) + 16u)
+ QObject (0x7f62dcc555b0) 0
+ primary-for QAction (0x7f62dcc55540)
+
+Vtable for QActionGroup
+QActionGroup::_ZTV12QActionGroup: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QActionGroup)
+16 QActionGroup::metaObject
+24 QActionGroup::qt_metacast
+32 QActionGroup::qt_metacall
+40 QActionGroup::~QActionGroup
+48 QActionGroup::~QActionGroup
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QActionGroup
+ size=16 align=8
+ base size=16 base align=8
+QActionGroup (0x7f62dca9c070) 0
+ vptr=((& QActionGroup::_ZTV12QActionGroup) + 16u)
+ QObject (0x7f62dca9c0e0) 0
+ primary-for QActionGroup (0x7f62dca9c070)
+
+Vtable for QApplication
+QApplication::_ZTV12QApplication: 20u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QApplication)
+16 QApplication::metaObject
+24 QApplication::qt_metacast
+32 QApplication::qt_metacall
+40 QApplication::~QApplication
+48 QApplication::~QApplication
+56 QApplication::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QApplication::notify
+120 QApplication::compressEvent
+128 QApplication::x11EventFilter
+136 QApplication::x11ClientMessage
+144 QApplication::commitData
+152 QApplication::saveState
+
+Class QApplication
+ size=16 align=8
+ base size=16 base align=8
+QApplication (0x7f62dcae0460) 0
+ vptr=((& QApplication::_ZTV12QApplication) + 16u)
+ QCoreApplication (0x7f62dcae04d0) 0
+ primary-for QApplication (0x7f62dcae0460)
+ QObject (0x7f62dcae0540) 0
+ primary-for QCoreApplication (0x7f62dcae04d0)
+
+Vtable for QLayoutItem
+QLayoutItem::_ZTV11QLayoutItem: 18u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QLayoutItem)
+16 QLayoutItem::~QLayoutItem
+24 QLayoutItem::~QLayoutItem
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+48 __cxa_pure_virtual
+56 __cxa_pure_virtual
+64 __cxa_pure_virtual
+72 __cxa_pure_virtual
+80 __cxa_pure_virtual
+88 QLayoutItem::hasHeightForWidth
+96 QLayoutItem::heightForWidth
+104 QLayoutItem::minimumHeightForWidth
+112 QLayoutItem::invalidate
+120 QLayoutItem::widget
+128 QLayoutItem::layout
+136 QLayoutItem::spacerItem
+
+Class QLayoutItem
+ size=16 align=8
+ base size=12 base align=8
+QLayoutItem (0x7f62dcb320e0) 0
+ vptr=((& QLayoutItem::_ZTV11QLayoutItem) + 16u)
+
+Vtable for QSpacerItem
+QSpacerItem::_ZTV11QSpacerItem: 18u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QSpacerItem)
+16 QSpacerItem::~QSpacerItem
+24 QSpacerItem::~QSpacerItem
+32 QSpacerItem::sizeHint
+40 QSpacerItem::minimumSize
+48 QSpacerItem::maximumSize
+56 QSpacerItem::expandingDirections
+64 QSpacerItem::setGeometry
+72 QSpacerItem::geometry
+80 QSpacerItem::isEmpty
+88 QLayoutItem::hasHeightForWidth
+96 QLayoutItem::heightForWidth
+104 QLayoutItem::minimumHeightForWidth
+112 QLayoutItem::invalidate
+120 QLayoutItem::widget
+128 QLayoutItem::layout
+136 QSpacerItem::spacerItem
+
+Class QSpacerItem
+ size=40 align=8
+ base size=40 base align=8
+QSpacerItem (0x7f62dcb32cb0) 0
+ vptr=((& QSpacerItem::_ZTV11QSpacerItem) + 16u)
+ QLayoutItem (0x7f62dcb32d20) 0
+ primary-for QSpacerItem (0x7f62dcb32cb0)
+
+Vtable for QWidgetItem
+QWidgetItem::_ZTV11QWidgetItem: 18u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QWidgetItem)
+16 QWidgetItem::~QWidgetItem
+24 QWidgetItem::~QWidgetItem
+32 QWidgetItem::sizeHint
+40 QWidgetItem::minimumSize
+48 QWidgetItem::maximumSize
+56 QWidgetItem::expandingDirections
+64 QWidgetItem::setGeometry
+72 QWidgetItem::geometry
+80 QWidgetItem::isEmpty
+88 QWidgetItem::hasHeightForWidth
+96 QWidgetItem::heightForWidth
+104 QLayoutItem::minimumHeightForWidth
+112 QLayoutItem::invalidate
+120 QWidgetItem::widget
+128 QLayoutItem::layout
+136 QLayoutItem::spacerItem
+
+Class QWidgetItem
+ size=24 align=8
+ base size=24 base align=8
+QWidgetItem (0x7f62dcb4e1c0) 0
+ vptr=((& QWidgetItem::_ZTV11QWidgetItem) + 16u)
+ QLayoutItem (0x7f62dcb4e230) 0
+ primary-for QWidgetItem (0x7f62dcb4e1c0)
+
+Vtable for QWidgetItemV2
+QWidgetItemV2::_ZTV13QWidgetItemV2: 18u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QWidgetItemV2)
+16 QWidgetItemV2::~QWidgetItemV2
+24 QWidgetItemV2::~QWidgetItemV2
+32 QWidgetItemV2::sizeHint
+40 QWidgetItemV2::minimumSize
+48 QWidgetItemV2::maximumSize
+56 QWidgetItem::expandingDirections
+64 QWidgetItem::setGeometry
+72 QWidgetItem::geometry
+80 QWidgetItem::isEmpty
+88 QWidgetItem::hasHeightForWidth
+96 QWidgetItemV2::heightForWidth
+104 QLayoutItem::minimumHeightForWidth
+112 QLayoutItem::invalidate
+120 QWidgetItem::widget
+128 QLayoutItem::layout
+136 QLayoutItem::spacerItem
+
+Class QWidgetItemV2
+ size=88 align=8
+ base size=88 base align=8
+QWidgetItemV2 (0x7f62dcb60000) 0
+ vptr=((& QWidgetItemV2::_ZTV13QWidgetItemV2) + 16u)
+ QWidgetItem (0x7f62dcb60070) 0
+ primary-for QWidgetItemV2 (0x7f62dcb60000)
+ QLayoutItem (0x7f62dcb600e0) 0
+ primary-for QWidgetItem (0x7f62dcb60070)
+
+Class QLayoutIterator
+ size=16 align=8
+ base size=12 base align=8
+QLayoutIterator (0x7f62dcb60e70) 0
+
+Vtable for QLayout
+QLayout::_ZTV7QLayout: 45u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QLayout)
+16 QLayout::metaObject
+24 QLayout::qt_metacast
+32 QLayout::qt_metacall
+40 QLayout::~QLayout
+48 QLayout::~QLayout
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QLayout::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QLayout::invalidate
+120 QLayout::geometry
+128 __cxa_pure_virtual
+136 QLayout::expandingDirections
+144 QLayout::minimumSize
+152 QLayout::maximumSize
+160 QLayout::setGeometry
+168 __cxa_pure_virtual
+176 __cxa_pure_virtual
+184 QLayout::indexOf
+192 __cxa_pure_virtual
+200 QLayout::isEmpty
+208 QLayout::layout
+216 (int (*)(...))-0x00000000000000010
+224 (int (*)(...))(& _ZTI7QLayout)
+232 QLayout::_ZThn16_N7QLayoutD1Ev
+240 QLayout::_ZThn16_N7QLayoutD0Ev
+248 __cxa_pure_virtual
+256 QLayout::_ZThn16_NK7QLayout11minimumSizeEv
+264 QLayout::_ZThn16_NK7QLayout11maximumSizeEv
+272 QLayout::_ZThn16_NK7QLayout19expandingDirectionsEv
+280 QLayout::_ZThn16_N7QLayout11setGeometryERK5QRect
+288 QLayout::_ZThn16_NK7QLayout8geometryEv
+296 QLayout::_ZThn16_NK7QLayout7isEmptyEv
+304 QLayoutItem::hasHeightForWidth
+312 QLayoutItem::heightForWidth
+320 QLayoutItem::minimumHeightForWidth
+328 QLayout::_ZThn16_N7QLayout10invalidateEv
+336 QLayoutItem::widget
+344 QLayout::_ZThn16_N7QLayout6layoutEv
+352 QLayoutItem::spacerItem
+
+Class QLayout
+ size=32 align=8
+ base size=28 base align=8
+QLayout (0x7f62dcb74380) 0
+ vptr=((& QLayout::_ZTV7QLayout) + 16u)
+ QObject (0x7f62dcb72f50) 0
+ primary-for QLayout (0x7f62dcb74380)
+ QLayoutItem (0x7f62dcb76000) 16
+ vptr=((& QLayout::_ZTV7QLayout) + 232u)
+
+Vtable for QGridLayout
+QGridLayout::_ZTV11QGridLayout: 49u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QGridLayout)
+16 QGridLayout::metaObject
+24 QGridLayout::qt_metacast
+32 QGridLayout::qt_metacall
+40 QGridLayout::~QGridLayout
+48 QGridLayout::~QGridLayout
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QLayout::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QGridLayout::invalidate
+120 QLayout::geometry
+128 QGridLayout::addItem
+136 QGridLayout::expandingDirections
+144 QGridLayout::minimumSize
+152 QGridLayout::maximumSize
+160 QGridLayout::setGeometry
+168 QGridLayout::itemAt
+176 QGridLayout::takeAt
+184 QLayout::indexOf
+192 QGridLayout::count
+200 QLayout::isEmpty
+208 QLayout::layout
+216 QGridLayout::sizeHint
+224 QGridLayout::hasHeightForWidth
+232 QGridLayout::heightForWidth
+240 QGridLayout::minimumHeightForWidth
+248 (int (*)(...))-0x00000000000000010
+256 (int (*)(...))(& _ZTI11QGridLayout)
+264 QGridLayout::_ZThn16_N11QGridLayoutD1Ev
+272 QGridLayout::_ZThn16_N11QGridLayoutD0Ev
+280 QGridLayout::_ZThn16_NK11QGridLayout8sizeHintEv
+288 QGridLayout::_ZThn16_NK11QGridLayout11minimumSizeEv
+296 QGridLayout::_ZThn16_NK11QGridLayout11maximumSizeEv
+304 QGridLayout::_ZThn16_NK11QGridLayout19expandingDirectionsEv
+312 QGridLayout::_ZThn16_N11QGridLayout11setGeometryERK5QRect
+320 QLayout::_ZThn16_NK7QLayout8geometryEv
+328 QLayout::_ZThn16_NK7QLayout7isEmptyEv
+336 QGridLayout::_ZThn16_NK11QGridLayout17hasHeightForWidthEv
+344 QGridLayout::_ZThn16_NK11QGridLayout14heightForWidthEi
+352 QGridLayout::_ZThn16_NK11QGridLayout21minimumHeightForWidthEi
+360 QGridLayout::_ZThn16_N11QGridLayout10invalidateEv
+368 QLayoutItem::widget
+376 QLayout::_ZThn16_N7QLayout6layoutEv
+384 QLayoutItem::spacerItem
+
+Class QGridLayout
+ size=32 align=8
+ base size=28 base align=8
+QGridLayout (0x7f62dc9b64d0) 0
+ vptr=((& QGridLayout::_ZTV11QGridLayout) + 16u)
+ QLayout (0x7f62dc9b2500) 0
+ primary-for QGridLayout (0x7f62dc9b64d0)
+ QObject (0x7f62dc9b6540) 0
+ primary-for QLayout (0x7f62dc9b2500)
+ QLayoutItem (0x7f62dc9b65b0) 16
+ vptr=((& QGridLayout::_ZTV11QGridLayout) + 264u)
+
+Vtable for QBoxLayout
+QBoxLayout::_ZTV10QBoxLayout: 49u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QBoxLayout)
+16 QBoxLayout::metaObject
+24 QBoxLayout::qt_metacast
+32 QBoxLayout::qt_metacall
+40 QBoxLayout::~QBoxLayout
+48 QBoxLayout::~QBoxLayout
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QLayout::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QBoxLayout::invalidate
+120 QLayout::geometry
+128 QBoxLayout::addItem
+136 QBoxLayout::expandingDirections
+144 QBoxLayout::minimumSize
+152 QBoxLayout::maximumSize
+160 QBoxLayout::setGeometry
+168 QBoxLayout::itemAt
+176 QBoxLayout::takeAt
+184 QLayout::indexOf
+192 QBoxLayout::count
+200 QLayout::isEmpty
+208 QLayout::layout
+216 QBoxLayout::sizeHint
+224 QBoxLayout::hasHeightForWidth
+232 QBoxLayout::heightForWidth
+240 QBoxLayout::minimumHeightForWidth
+248 (int (*)(...))-0x00000000000000010
+256 (int (*)(...))(& _ZTI10QBoxLayout)
+264 QBoxLayout::_ZThn16_N10QBoxLayoutD1Ev
+272 QBoxLayout::_ZThn16_N10QBoxLayoutD0Ev
+280 QBoxLayout::_ZThn16_NK10QBoxLayout8sizeHintEv
+288 QBoxLayout::_ZThn16_NK10QBoxLayout11minimumSizeEv
+296 QBoxLayout::_ZThn16_NK10QBoxLayout11maximumSizeEv
+304 QBoxLayout::_ZThn16_NK10QBoxLayout19expandingDirectionsEv
+312 QBoxLayout::_ZThn16_N10QBoxLayout11setGeometryERK5QRect
+320 QLayout::_ZThn16_NK7QLayout8geometryEv
+328 QLayout::_ZThn16_NK7QLayout7isEmptyEv
+336 QBoxLayout::_ZThn16_NK10QBoxLayout17hasHeightForWidthEv
+344 QBoxLayout::_ZThn16_NK10QBoxLayout14heightForWidthEi
+352 QBoxLayout::_ZThn16_NK10QBoxLayout21minimumHeightForWidthEi
+360 QBoxLayout::_ZThn16_N10QBoxLayout10invalidateEv
+368 QLayoutItem::widget
+376 QLayout::_ZThn16_N7QLayout6layoutEv
+384 QLayoutItem::spacerItem
+
+Class QBoxLayout
+ size=32 align=8
+ base size=28 base align=8
+QBoxLayout (0x7f62dca03540) 0
+ vptr=((& QBoxLayout::_ZTV10QBoxLayout) + 16u)
+ QLayout (0x7f62dca01400) 0
+ primary-for QBoxLayout (0x7f62dca03540)
+ QObject (0x7f62dca035b0) 0
+ primary-for QLayout (0x7f62dca01400)
+ QLayoutItem (0x7f62dca03620) 16
+ vptr=((& QBoxLayout::_ZTV10QBoxLayout) + 264u)
+
+Vtable for QHBoxLayout
+QHBoxLayout::_ZTV11QHBoxLayout: 49u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QHBoxLayout)
+16 QHBoxLayout::metaObject
+24 QHBoxLayout::qt_metacast
+32 QHBoxLayout::qt_metacall
+40 QHBoxLayout::~QHBoxLayout
+48 QHBoxLayout::~QHBoxLayout
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QLayout::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QBoxLayout::invalidate
+120 QLayout::geometry
+128 QBoxLayout::addItem
+136 QBoxLayout::expandingDirections
+144 QBoxLayout::minimumSize
+152 QBoxLayout::maximumSize
+160 QBoxLayout::setGeometry
+168 QBoxLayout::itemAt
+176 QBoxLayout::takeAt
+184 QLayout::indexOf
+192 QBoxLayout::count
+200 QLayout::isEmpty
+208 QLayout::layout
+216 QBoxLayout::sizeHint
+224 QBoxLayout::hasHeightForWidth
+232 QBoxLayout::heightForWidth
+240 QBoxLayout::minimumHeightForWidth
+248 (int (*)(...))-0x00000000000000010
+256 (int (*)(...))(& _ZTI11QHBoxLayout)
+264 QHBoxLayout::_ZThn16_N11QHBoxLayoutD1Ev
+272 QHBoxLayout::_ZThn16_N11QHBoxLayoutD0Ev
+280 QBoxLayout::_ZThn16_NK10QBoxLayout8sizeHintEv
+288 QBoxLayout::_ZThn16_NK10QBoxLayout11minimumSizeEv
+296 QBoxLayout::_ZThn16_NK10QBoxLayout11maximumSizeEv
+304 QBoxLayout::_ZThn16_NK10QBoxLayout19expandingDirectionsEv
+312 QBoxLayout::_ZThn16_N10QBoxLayout11setGeometryERK5QRect
+320 QLayout::_ZThn16_NK7QLayout8geometryEv
+328 QLayout::_ZThn16_NK7QLayout7isEmptyEv
+336 QBoxLayout::_ZThn16_NK10QBoxLayout17hasHeightForWidthEv
+344 QBoxLayout::_ZThn16_NK10QBoxLayout14heightForWidthEi
+352 QBoxLayout::_ZThn16_NK10QBoxLayout21minimumHeightForWidthEi
+360 QBoxLayout::_ZThn16_N10QBoxLayout10invalidateEv
+368 QLayoutItem::widget
+376 QLayout::_ZThn16_N7QLayout6layoutEv
+384 QLayoutItem::spacerItem
+
+Class QHBoxLayout
+ size=32 align=8
+ base size=28 base align=8
+QHBoxLayout (0x7f62dca28f50) 0
+ vptr=((& QHBoxLayout::_ZTV11QHBoxLayout) + 16u)
+ QBoxLayout (0x7f62dca32000) 0
+ primary-for QHBoxLayout (0x7f62dca28f50)
+ QLayout (0x7f62dca2e280) 0
+ primary-for QBoxLayout (0x7f62dca32000)
+ QObject (0x7f62dca32070) 0
+ primary-for QLayout (0x7f62dca2e280)
+ QLayoutItem (0x7f62dca320e0) 16
+ vptr=((& QHBoxLayout::_ZTV11QHBoxLayout) + 264u)
+
+Vtable for QVBoxLayout
+QVBoxLayout::_ZTV11QVBoxLayout: 49u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QVBoxLayout)
+16 QVBoxLayout::metaObject
+24 QVBoxLayout::qt_metacast
+32 QVBoxLayout::qt_metacall
+40 QVBoxLayout::~QVBoxLayout
+48 QVBoxLayout::~QVBoxLayout
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QLayout::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QBoxLayout::invalidate
+120 QLayout::geometry
+128 QBoxLayout::addItem
+136 QBoxLayout::expandingDirections
+144 QBoxLayout::minimumSize
+152 QBoxLayout::maximumSize
+160 QBoxLayout::setGeometry
+168 QBoxLayout::itemAt
+176 QBoxLayout::takeAt
+184 QLayout::indexOf
+192 QBoxLayout::count
+200 QLayout::isEmpty
+208 QLayout::layout
+216 QBoxLayout::sizeHint
+224 QBoxLayout::hasHeightForWidth
+232 QBoxLayout::heightForWidth
+240 QBoxLayout::minimumHeightForWidth
+248 (int (*)(...))-0x00000000000000010
+256 (int (*)(...))(& _ZTI11QVBoxLayout)
+264 QVBoxLayout::_ZThn16_N11QVBoxLayoutD1Ev
+272 QVBoxLayout::_ZThn16_N11QVBoxLayoutD0Ev
+280 QBoxLayout::_ZThn16_NK10QBoxLayout8sizeHintEv
+288 QBoxLayout::_ZThn16_NK10QBoxLayout11minimumSizeEv
+296 QBoxLayout::_ZThn16_NK10QBoxLayout11maximumSizeEv
+304 QBoxLayout::_ZThn16_NK10QBoxLayout19expandingDirectionsEv
+312 QBoxLayout::_ZThn16_N10QBoxLayout11setGeometryERK5QRect
+320 QLayout::_ZThn16_NK7QLayout8geometryEv
+328 QLayout::_ZThn16_NK7QLayout7isEmptyEv
+336 QBoxLayout::_ZThn16_NK10QBoxLayout17hasHeightForWidthEv
+344 QBoxLayout::_ZThn16_NK10QBoxLayout14heightForWidthEi
+352 QBoxLayout::_ZThn16_NK10QBoxLayout21minimumHeightForWidthEi
+360 QBoxLayout::_ZThn16_N10QBoxLayout10invalidateEv
+368 QLayoutItem::widget
+376 QLayout::_ZThn16_N7QLayout6layoutEv
+384 QLayoutItem::spacerItem
+
+Class QVBoxLayout
+ size=32 align=8
+ base size=28 base align=8
+QVBoxLayout (0x7f62dca455b0) 0
+ vptr=((& QVBoxLayout::_ZTV11QVBoxLayout) + 16u)
+ QBoxLayout (0x7f62dca45620) 0
+ primary-for QVBoxLayout (0x7f62dca455b0)
+ QLayout (0x7f62dca2e980) 0
+ primary-for QBoxLayout (0x7f62dca45620)
+ QObject (0x7f62dca45690) 0
+ primary-for QLayout (0x7f62dca2e980)
+ QLayoutItem (0x7f62dca45700) 16
+ vptr=((& QVBoxLayout::_ZTV11QVBoxLayout) + 264u)
+
+Vtable for QClipboard
+QClipboard::_ZTV10QClipboard: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QClipboard)
+16 QClipboard::metaObject
+24 QClipboard::qt_metacast
+32 QClipboard::qt_metacall
+40 QClipboard::~QClipboard
+48 QClipboard::~QClipboard
+56 QClipboard::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QClipboard::connectNotify
+104 QObject::disconnectNotify
+
+Class QClipboard
+ size=16 align=8
+ base size=16 base align=8
+QClipboard (0x7f62dca54c40) 0
+ vptr=((& QClipboard::_ZTV10QClipboard) + 16u)
+ QObject (0x7f62dca54cb0) 0
+ primary-for QClipboard (0x7f62dca54c40)
+
+Vtable for QDesktopWidget
+QDesktopWidget::_ZTV14QDesktopWidget: 63u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QDesktopWidget)
+16 QDesktopWidget::metaObject
+24 QDesktopWidget::qt_metacast
+32 QDesktopWidget::qt_metacall
+40 QDesktopWidget::~QDesktopWidget
+48 QDesktopWidget::~QDesktopWidget
+56 QWidget::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QWidget::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QWidget::paintEvent
+256 QWidget::moveEvent
+264 QDesktopWidget::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QWidget::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 (int (*)(...))-0x00000000000000010
+456 (int (*)(...))(& _ZTI14QDesktopWidget)
+464 QDesktopWidget::_ZThn16_N14QDesktopWidgetD1Ev
+472 QDesktopWidget::_ZThn16_N14QDesktopWidgetD0Ev
+480 QWidget::_ZThn16_NK7QWidget7devTypeEv
+488 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+496 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QDesktopWidget
+ size=40 align=8
+ base size=40 base align=8
+QDesktopWidget (0x7f62dca7f930) 0
+ vptr=((& QDesktopWidget::_ZTV14QDesktopWidget) + 16u)
+ QWidget (0x7f62dca5dc00) 0
+ primary-for QDesktopWidget (0x7f62dca7f930)
+ QObject (0x7f62dca7f9a0) 0
+ primary-for QWidget (0x7f62dca5dc00)
+ QPaintDevice (0x7f62dca7fa10) 16
+ vptr=((& QDesktopWidget::_ZTV14QDesktopWidget) + 464u)
+
+Vtable for QFormLayout
+QFormLayout::_ZTV11QFormLayout: 48u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QFormLayout)
+16 QFormLayout::metaObject
+24 QFormLayout::qt_metacast
+32 QFormLayout::qt_metacall
+40 QFormLayout::~QFormLayout
+48 QFormLayout::~QFormLayout
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QLayout::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QFormLayout::invalidate
+120 QLayout::geometry
+128 QFormLayout::addItem
+136 QFormLayout::expandingDirections
+144 QFormLayout::minimumSize
+152 QLayout::maximumSize
+160 QFormLayout::setGeometry
+168 QFormLayout::itemAt
+176 QFormLayout::takeAt
+184 QLayout::indexOf
+192 QFormLayout::count
+200 QLayout::isEmpty
+208 QLayout::layout
+216 QFormLayout::sizeHint
+224 QFormLayout::hasHeightForWidth
+232 QFormLayout::heightForWidth
+240 (int (*)(...))-0x00000000000000010
+248 (int (*)(...))(& _ZTI11QFormLayout)
+256 QFormLayout::_ZThn16_N11QFormLayoutD1Ev
+264 QFormLayout::_ZThn16_N11QFormLayoutD0Ev
+272 QFormLayout::_ZThn16_NK11QFormLayout8sizeHintEv
+280 QFormLayout::_ZThn16_NK11QFormLayout11minimumSizeEv
+288 QLayout::_ZThn16_NK7QLayout11maximumSizeEv
+296 QFormLayout::_ZThn16_NK11QFormLayout19expandingDirectionsEv
+304 QFormLayout::_ZThn16_N11QFormLayout11setGeometryERK5QRect
+312 QLayout::_ZThn16_NK7QLayout8geometryEv
+320 QLayout::_ZThn16_NK7QLayout7isEmptyEv
+328 QFormLayout::_ZThn16_NK11QFormLayout17hasHeightForWidthEv
+336 QFormLayout::_ZThn16_NK11QFormLayout14heightForWidthEi
+344 QLayoutItem::minimumHeightForWidth
+352 QFormLayout::_ZThn16_N11QFormLayout10invalidateEv
+360 QLayoutItem::widget
+368 QLayout::_ZThn16_N7QLayout6layoutEv
+376 QLayoutItem::spacerItem
+
+Class QFormLayout
+ size=32 align=8
+ base size=28 base align=8
+QFormLayout (0x7f62dc89a9a0) 0
+ vptr=((& QFormLayout::_ZTV11QFormLayout) + 16u)
+ QLayout (0x7f62dc895b80) 0
+ primary-for QFormLayout (0x7f62dc89a9a0)
+ QObject (0x7f62dc89aa10) 0
+ primary-for QLayout (0x7f62dc895b80)
+ QLayoutItem (0x7f62dc89aa80) 16
+ vptr=((& QFormLayout::_ZTV11QFormLayout) + 256u)
+
+Vtable for QGesture
+QGesture::_ZTV8QGesture: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI8QGesture)
+16 QGesture::metaObject
+24 QGesture::qt_metacast
+32 QGesture::qt_metacall
+40 QGesture::~QGesture
+48 QGesture::~QGesture
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QGesture
+ size=16 align=8
+ base size=16 base align=8
+QGesture (0x7f62dc8cf150) 0
+ vptr=((& QGesture::_ZTV8QGesture) + 16u)
+ QObject (0x7f62dc8cf1c0) 0
+ primary-for QGesture (0x7f62dc8cf150)
+
+Vtable for QPanGesture
+QPanGesture::_ZTV11QPanGesture: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QPanGesture)
+16 QPanGesture::metaObject
+24 QPanGesture::qt_metacast
+32 QPanGesture::qt_metacall
+40 QPanGesture::~QPanGesture
+48 QPanGesture::~QPanGesture
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QPanGesture
+ size=16 align=8
+ base size=16 base align=8
+QPanGesture (0x7f62dc8e8850) 0
+ vptr=((& QPanGesture::_ZTV11QPanGesture) + 16u)
+ QGesture (0x7f62dc8e88c0) 0
+ primary-for QPanGesture (0x7f62dc8e8850)
+ QObject (0x7f62dc8e8930) 0
+ primary-for QGesture (0x7f62dc8e88c0)
+
+Vtable for QPinchGesture
+QPinchGesture::_ZTV13QPinchGesture: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QPinchGesture)
+16 QPinchGesture::metaObject
+24 QPinchGesture::qt_metacast
+32 QPinchGesture::qt_metacall
+40 QPinchGesture::~QPinchGesture
+48 QPinchGesture::~QPinchGesture
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QPinchGesture
+ size=16 align=8
+ base size=16 base align=8
+QPinchGesture (0x7f62dc8facb0) 0
+ vptr=((& QPinchGesture::_ZTV13QPinchGesture) + 16u)
+ QGesture (0x7f62dc8fad20) 0
+ primary-for QPinchGesture (0x7f62dc8facb0)
+ QObject (0x7f62dc8fad90) 0
+ primary-for QGesture (0x7f62dc8fad20)
+
+Vtable for QSwipeGesture
+QSwipeGesture::_ZTV13QSwipeGesture: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QSwipeGesture)
+16 QSwipeGesture::metaObject
+24 QSwipeGesture::qt_metacast
+32 QSwipeGesture::qt_metacall
+40 QSwipeGesture::~QSwipeGesture
+48 QSwipeGesture::~QSwipeGesture
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QSwipeGesture
+ size=16 align=8
+ base size=16 base align=8
+QSwipeGesture (0x7f62dc91bd20) 0
+ vptr=((& QSwipeGesture::_ZTV13QSwipeGesture) + 16u)
+ QGesture (0x7f62dc91bd90) 0
+ primary-for QSwipeGesture (0x7f62dc91bd20)
+ QObject (0x7f62dc91be00) 0
+ primary-for QGesture (0x7f62dc91bd90)
+
+Vtable for QTapGesture
+QTapGesture::_ZTV11QTapGesture: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QTapGesture)
+16 QTapGesture::metaObject
+24 QTapGesture::qt_metacast
+32 QTapGesture::qt_metacall
+40 QTapGesture::~QTapGesture
+48 QTapGesture::~QTapGesture
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QTapGesture
+ size=16 align=8
+ base size=16 base align=8
+QTapGesture (0x7f62dc93b460) 0
+ vptr=((& QTapGesture::_ZTV11QTapGesture) + 16u)
+ QGesture (0x7f62dc93b4d0) 0
+ primary-for QTapGesture (0x7f62dc93b460)
+ QObject (0x7f62dc93b540) 0
+ primary-for QGesture (0x7f62dc93b4d0)
+
+Vtable for QTapAndHoldGesture
+QTapAndHoldGesture::_ZTV18QTapAndHoldGesture: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QTapAndHoldGesture)
+16 QTapAndHoldGesture::metaObject
+24 QTapAndHoldGesture::qt_metacast
+32 QTapAndHoldGesture::qt_metacall
+40 QTapAndHoldGesture::~QTapAndHoldGesture
+48 QTapAndHoldGesture::~QTapAndHoldGesture
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QTapAndHoldGesture
+ size=16 align=8
+ base size=16 base align=8
+QTapAndHoldGesture (0x7f62dc94a8c0) 0
+ vptr=((& QTapAndHoldGesture::_ZTV18QTapAndHoldGesture) + 16u)
+ QGesture (0x7f62dc94a930) 0
+ primary-for QTapAndHoldGesture (0x7f62dc94a8c0)
+ QObject (0x7f62dc94a9a0) 0
+ primary-for QGesture (0x7f62dc94a930)
+
+Vtable for QGestureRecognizer
+QGestureRecognizer::_ZTV18QGestureRecognizer: 7u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QGestureRecognizer)
+16 QGestureRecognizer::~QGestureRecognizer
+24 QGestureRecognizer::~QGestureRecognizer
+32 QGestureRecognizer::create
+40 __cxa_pure_virtual
+48 QGestureRecognizer::reset
+
+Class QGestureRecognizer
+ size=8 align=8
+ base size=8 base align=8
+QGestureRecognizer (0x7f62dc965310) 0 nearly-empty
+ vptr=((& QGestureRecognizer::_ZTV18QGestureRecognizer) + 16u)
+
+Vtable for QSessionManager
+QSessionManager::_ZTV15QSessionManager: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QSessionManager)
+16 QSessionManager::metaObject
+24 QSessionManager::qt_metacast
+32 QSessionManager::qt_metacall
+40 QSessionManager::~QSessionManager
+48 QSessionManager::~QSessionManager
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QSessionManager
+ size=16 align=8
+ base size=16 base align=8
+QSessionManager (0x7f62dc79b620) 0
+ vptr=((& QSessionManager::_ZTV15QSessionManager) + 16u)
+ QObject (0x7f62dc79b690) 0
+ primary-for QSessionManager (0x7f62dc79b620)
+
+Vtable for QShortcut
+QShortcut::_ZTV9QShortcut: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QShortcut)
+16 QShortcut::metaObject
+24 QShortcut::qt_metacast
+32 QShortcut::qt_metacall
+40 QShortcut::~QShortcut
+48 QShortcut::~QShortcut
+56 QShortcut::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QShortcut
+ size=16 align=8
+ base size=16 base align=8
+QShortcut (0x7f62dc7ccb60) 0
+ vptr=((& QShortcut::_ZTV9QShortcut) + 16u)
+ QObject (0x7f62dc7ccbd0) 0
+ primary-for QShortcut (0x7f62dc7ccb60)
+
+Vtable for QSound
+QSound::_ZTV6QSound: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI6QSound)
+16 QSound::metaObject
+24 QSound::qt_metacast
+32 QSound::qt_metacall
+40 QSound::~QSound
+48 QSound::~QSound
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QSound
+ size=16 align=8
+ base size=16 base align=8
+QSound (0x7f62dc7ea310) 0
+ vptr=((& QSound::_ZTV6QSound) + 16u)
+ QObject (0x7f62dc7ea380) 0
+ primary-for QSound (0x7f62dc7ea310)
+
+Vtable for QStackedLayout
+QStackedLayout::_ZTV14QStackedLayout: 46u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QStackedLayout)
+16 QStackedLayout::metaObject
+24 QStackedLayout::qt_metacast
+32 QStackedLayout::qt_metacall
+40 QStackedLayout::~QStackedLayout
+48 QStackedLayout::~QStackedLayout
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QLayout::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QLayout::invalidate
+120 QLayout::geometry
+128 QStackedLayout::addItem
+136 QLayout::expandingDirections
+144 QStackedLayout::minimumSize
+152 QLayout::maximumSize
+160 QStackedLayout::setGeometry
+168 QStackedLayout::itemAt
+176 QStackedLayout::takeAt
+184 QLayout::indexOf
+192 QStackedLayout::count
+200 QLayout::isEmpty
+208 QLayout::layout
+216 QStackedLayout::sizeHint
+224 (int (*)(...))-0x00000000000000010
+232 (int (*)(...))(& _ZTI14QStackedLayout)
+240 QStackedLayout::_ZThn16_N14QStackedLayoutD1Ev
+248 QStackedLayout::_ZThn16_N14QStackedLayoutD0Ev
+256 QStackedLayout::_ZThn16_NK14QStackedLayout8sizeHintEv
+264 QStackedLayout::_ZThn16_NK14QStackedLayout11minimumSizeEv
+272 QLayout::_ZThn16_NK7QLayout11maximumSizeEv
+280 QLayout::_ZThn16_NK7QLayout19expandingDirectionsEv
+288 QStackedLayout::_ZThn16_N14QStackedLayout11setGeometryERK5QRect
+296 QLayout::_ZThn16_NK7QLayout8geometryEv
+304 QLayout::_ZThn16_NK7QLayout7isEmptyEv
+312 QLayoutItem::hasHeightForWidth
+320 QLayoutItem::heightForWidth
+328 QLayoutItem::minimumHeightForWidth
+336 QLayout::_ZThn16_N7QLayout10invalidateEv
+344 QLayoutItem::widget
+352 QLayout::_ZThn16_N7QLayout6layoutEv
+360 QLayoutItem::spacerItem
+
+Class QStackedLayout
+ size=32 align=8
+ base size=28 base align=8
+QStackedLayout (0x7f62dc7fea80) 0
+ vptr=((& QStackedLayout::_ZTV14QStackedLayout) + 16u)
+ QLayout (0x7f62dc7f6880) 0
+ primary-for QStackedLayout (0x7f62dc7fea80)
+ QObject (0x7f62dc7feaf0) 0
+ primary-for QLayout (0x7f62dc7f6880)
+ QLayoutItem (0x7f62dc7feb60) 16
+ vptr=((& QStackedLayout::_ZTV14QStackedLayout) + 240u)
+
+Class QToolTip
+ size=1 align=1
+ base size=0 base align=1
+QToolTip (0x7f62dc81da80) 0 empty
+
+Class QWhatsThis
+ size=1 align=1
+ base size=0 base align=1
+QWhatsThis (0x7f62dc82b070) 0 empty
+
+Vtable for QWidgetAction
+QWidgetAction::_ZTV13QWidgetAction: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QWidgetAction)
+16 QWidgetAction::metaObject
+24 QWidgetAction::qt_metacast
+32 QWidgetAction::qt_metacall
+40 QWidgetAction::~QWidgetAction
+48 QWidgetAction::~QWidgetAction
+56 QWidgetAction::event
+64 QWidgetAction::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidgetAction::createWidget
+120 QWidgetAction::deleteWidget
+
+Class QWidgetAction
+ size=16 align=8
+ base size=16 base align=8
+QWidgetAction (0x7f62dc82b150) 0
+ vptr=((& QWidgetAction::_ZTV13QWidgetAction) + 16u)
+ QAction (0x7f62dc82b1c0) 0
+ primary-for QWidgetAction (0x7f62dc82b150)
+ QObject (0x7f62dc82b230) 0
+ primary-for QAction (0x7f62dc82b1c0)
+
+Class QVector3D
+ size=12 align=4
+ base size=12 base align=4
+QVector3D (0x7f62dc6f91c0) 0
+
+Class QVector4D
+ size=16 align=4
+ base size=16 base align=4
+QVector4D (0x7f62dc75ccb0) 0
+
+Class QQuaternion
+ size=32 align=8
+ base size=32 base align=8
+QQuaternion (0x7f62dc5d1d20) 0
+
+Class QMatrix4x4
+ size=136 align=8
+ base size=132 base align=8
+QMatrix4x4 (0x7f62dc651b60) 0
+
+Class QVector2D
+ size=8 align=4
+ base size=8 base align=4
+QVector2D (0x7f62dc29cd90) 0
+
+Vtable for QCommonStyle
+QCommonStyle::_ZTV12QCommonStyle: 35u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QCommonStyle)
+16 QCommonStyle::metaObject
+24 QCommonStyle::qt_metacast
+32 QCommonStyle::qt_metacall
+40 QCommonStyle::~QCommonStyle
+48 QCommonStyle::~QCommonStyle
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QCommonStyle::polish
+120 QCommonStyle::unpolish
+128 QCommonStyle::polish
+136 QCommonStyle::unpolish
+144 QCommonStyle::polish
+152 QStyle::itemTextRect
+160 QStyle::itemPixmapRect
+168 QStyle::drawItemText
+176 QStyle::drawItemPixmap
+184 QStyle::standardPalette
+192 QCommonStyle::drawPrimitive
+200 QCommonStyle::drawControl
+208 QCommonStyle::subElementRect
+216 QCommonStyle::drawComplexControl
+224 QCommonStyle::hitTestComplexControl
+232 QCommonStyle::subControlRect
+240 QCommonStyle::pixelMetric
+248 QCommonStyle::sizeFromContents
+256 QCommonStyle::styleHint
+264 QCommonStyle::standardPixmap
+272 QCommonStyle::generatedIconPixmap
+
+Class QCommonStyle
+ size=16 align=8
+ base size=16 base align=8
+QCommonStyle (0x7f62dc3002a0) 0
+ vptr=((& QCommonStyle::_ZTV12QCommonStyle) + 16u)
+ QStyle (0x7f62dc300310) 0
+ primary-for QCommonStyle (0x7f62dc3002a0)
+ QObject (0x7f62dc300380) 0
+ primary-for QStyle (0x7f62dc300310)
+
+Vtable for QMotifStyle
+QMotifStyle::_ZTV11QMotifStyle: 35u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QMotifStyle)
+16 QMotifStyle::metaObject
+24 QMotifStyle::qt_metacast
+32 QMotifStyle::qt_metacall
+40 QMotifStyle::~QMotifStyle
+48 QMotifStyle::~QMotifStyle
+56 QMotifStyle::event
+64 QMotifStyle::eventFilter
+72 QMotifStyle::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QMotifStyle::polish
+120 QMotifStyle::unpolish
+128 QMotifStyle::polish
+136 QMotifStyle::unpolish
+144 QMotifStyle::polish
+152 QStyle::itemTextRect
+160 QStyle::itemPixmapRect
+168 QStyle::drawItemText
+176 QStyle::drawItemPixmap
+184 QMotifStyle::standardPalette
+192 QMotifStyle::drawPrimitive
+200 QMotifStyle::drawControl
+208 QMotifStyle::subElementRect
+216 QMotifStyle::drawComplexControl
+224 QCommonStyle::hitTestComplexControl
+232 QMotifStyle::subControlRect
+240 QMotifStyle::pixelMetric
+248 QMotifStyle::sizeFromContents
+256 QMotifStyle::styleHint
+264 QMotifStyle::standardPixmap
+272 QCommonStyle::generatedIconPixmap
+
+Class QMotifStyle
+ size=32 align=8
+ base size=25 base align=8
+QMotifStyle (0x7f62dc3232a0) 0
+ vptr=((& QMotifStyle::_ZTV11QMotifStyle) + 16u)
+ QCommonStyle (0x7f62dc323310) 0
+ primary-for QMotifStyle (0x7f62dc3232a0)
+ QStyle (0x7f62dc323380) 0
+ primary-for QCommonStyle (0x7f62dc323310)
+ QObject (0x7f62dc3233f0) 0
+ primary-for QStyle (0x7f62dc323380)
+
+Vtable for QCDEStyle
+QCDEStyle::_ZTV9QCDEStyle: 35u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QCDEStyle)
+16 QCDEStyle::metaObject
+24 QCDEStyle::qt_metacast
+32 QCDEStyle::qt_metacall
+40 QCDEStyle::~QCDEStyle
+48 QCDEStyle::~QCDEStyle
+56 QMotifStyle::event
+64 QMotifStyle::eventFilter
+72 QMotifStyle::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QMotifStyle::polish
+120 QMotifStyle::unpolish
+128 QMotifStyle::polish
+136 QMotifStyle::unpolish
+144 QMotifStyle::polish
+152 QStyle::itemTextRect
+160 QStyle::itemPixmapRect
+168 QStyle::drawItemText
+176 QStyle::drawItemPixmap
+184 QCDEStyle::standardPalette
+192 QCDEStyle::drawPrimitive
+200 QCDEStyle::drawControl
+208 QMotifStyle::subElementRect
+216 QMotifStyle::drawComplexControl
+224 QCommonStyle::hitTestComplexControl
+232 QMotifStyle::subControlRect
+240 QCDEStyle::pixelMetric
+248 QMotifStyle::sizeFromContents
+256 QMotifStyle::styleHint
+264 QMotifStyle::standardPixmap
+272 QCommonStyle::generatedIconPixmap
+
+Class QCDEStyle
+ size=32 align=8
+ base size=25 base align=8
+QCDEStyle (0x7f62dc34c1c0) 0
+ vptr=((& QCDEStyle::_ZTV9QCDEStyle) + 16u)
+ QMotifStyle (0x7f62dc34c230) 0
+ primary-for QCDEStyle (0x7f62dc34c1c0)
+ QCommonStyle (0x7f62dc34c2a0) 0
+ primary-for QMotifStyle (0x7f62dc34c230)
+ QStyle (0x7f62dc34c310) 0
+ primary-for QCommonStyle (0x7f62dc34c2a0)
+ QObject (0x7f62dc34c380) 0
+ primary-for QStyle (0x7f62dc34c310)
+
+Vtable for QWindowsStyle
+QWindowsStyle::_ZTV13QWindowsStyle: 35u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QWindowsStyle)
+16 QWindowsStyle::metaObject
+24 QWindowsStyle::qt_metacast
+32 QWindowsStyle::qt_metacall
+40 QWindowsStyle::~QWindowsStyle
+48 QWindowsStyle::~QWindowsStyle
+56 QObject::event
+64 QWindowsStyle::eventFilter
+72 QWindowsStyle::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWindowsStyle::polish
+120 QWindowsStyle::unpolish
+128 QWindowsStyle::polish
+136 QWindowsStyle::unpolish
+144 QWindowsStyle::polish
+152 QStyle::itemTextRect
+160 QStyle::itemPixmapRect
+168 QStyle::drawItemText
+176 QStyle::drawItemPixmap
+184 QStyle::standardPalette
+192 QWindowsStyle::drawPrimitive
+200 QWindowsStyle::drawControl
+208 QWindowsStyle::subElementRect
+216 QWindowsStyle::drawComplexControl
+224 QCommonStyle::hitTestComplexControl
+232 QCommonStyle::subControlRect
+240 QWindowsStyle::pixelMetric
+248 QWindowsStyle::sizeFromContents
+256 QWindowsStyle::styleHint
+264 QWindowsStyle::standardPixmap
+272 QCommonStyle::generatedIconPixmap
+
+Class QWindowsStyle
+ size=24 align=8
+ base size=24 base align=8
+QWindowsStyle (0x7f62dc35f310) 0
+ vptr=((& QWindowsStyle::_ZTV13QWindowsStyle) + 16u)
+ QCommonStyle (0x7f62dc35f380) 0
+ primary-for QWindowsStyle (0x7f62dc35f310)
+ QStyle (0x7f62dc35f3f0) 0
+ primary-for QCommonStyle (0x7f62dc35f380)
+ QObject (0x7f62dc35f460) 0
+ primary-for QStyle (0x7f62dc35f3f0)
+
+Vtable for QCleanlooksStyle
+QCleanlooksStyle::_ZTV16QCleanlooksStyle: 35u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QCleanlooksStyle)
+16 QCleanlooksStyle::metaObject
+24 QCleanlooksStyle::qt_metacast
+32 QCleanlooksStyle::qt_metacall
+40 QCleanlooksStyle::~QCleanlooksStyle
+48 QCleanlooksStyle::~QCleanlooksStyle
+56 QObject::event
+64 QWindowsStyle::eventFilter
+72 QWindowsStyle::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QCleanlooksStyle::polish
+120 QCleanlooksStyle::unpolish
+128 QCleanlooksStyle::polish
+136 QCleanlooksStyle::unpolish
+144 QCleanlooksStyle::polish
+152 QStyle::itemTextRect
+160 QCleanlooksStyle::itemPixmapRect
+168 QCleanlooksStyle::drawItemText
+176 QCleanlooksStyle::drawItemPixmap
+184 QCleanlooksStyle::standardPalette
+192 QCleanlooksStyle::drawPrimitive
+200 QCleanlooksStyle::drawControl
+208 QCleanlooksStyle::subElementRect
+216 QCleanlooksStyle::drawComplexControl
+224 QCleanlooksStyle::hitTestComplexControl
+232 QCleanlooksStyle::subControlRect
+240 QCleanlooksStyle::pixelMetric
+248 QCleanlooksStyle::sizeFromContents
+256 QCleanlooksStyle::styleHint
+264 QCleanlooksStyle::standardPixmap
+272 QCleanlooksStyle::generatedIconPixmap
+
+Class QCleanlooksStyle
+ size=24 align=8
+ base size=24 base align=8
+QCleanlooksStyle (0x7f62dc3810e0) 0
+ vptr=((& QCleanlooksStyle::_ZTV16QCleanlooksStyle) + 16u)
+ QWindowsStyle (0x7f62dc381150) 0
+ primary-for QCleanlooksStyle (0x7f62dc3810e0)
+ QCommonStyle (0x7f62dc3811c0) 0
+ primary-for QWindowsStyle (0x7f62dc381150)
+ QStyle (0x7f62dc381230) 0
+ primary-for QCommonStyle (0x7f62dc3811c0)
+ QObject (0x7f62dc3812a0) 0
+ primary-for QStyle (0x7f62dc381230)
+
+Vtable for QPlastiqueStyle
+QPlastiqueStyle::_ZTV15QPlastiqueStyle: 35u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QPlastiqueStyle)
+16 QPlastiqueStyle::metaObject
+24 QPlastiqueStyle::qt_metacast
+32 QPlastiqueStyle::qt_metacall
+40 QPlastiqueStyle::~QPlastiqueStyle
+48 QPlastiqueStyle::~QPlastiqueStyle
+56 QObject::event
+64 QPlastiqueStyle::eventFilter
+72 QPlastiqueStyle::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QPlastiqueStyle::polish
+120 QPlastiqueStyle::unpolish
+128 QPlastiqueStyle::polish
+136 QPlastiqueStyle::unpolish
+144 QPlastiqueStyle::polish
+152 QStyle::itemTextRect
+160 QStyle::itemPixmapRect
+168 QStyle::drawItemText
+176 QStyle::drawItemPixmap
+184 QPlastiqueStyle::standardPalette
+192 QPlastiqueStyle::drawPrimitive
+200 QPlastiqueStyle::drawControl
+208 QPlastiqueStyle::subElementRect
+216 QPlastiqueStyle::drawComplexControl
+224 QPlastiqueStyle::hitTestComplexControl
+232 QPlastiqueStyle::subControlRect
+240 QPlastiqueStyle::pixelMetric
+248 QPlastiqueStyle::sizeFromContents
+256 QPlastiqueStyle::styleHint
+264 QPlastiqueStyle::standardPixmap
+272 QCommonStyle::generatedIconPixmap
+
+Class QPlastiqueStyle
+ size=32 align=8
+ base size=32 base align=8
+QPlastiqueStyle (0x7f62dc19be70) 0
+ vptr=((& QPlastiqueStyle::_ZTV15QPlastiqueStyle) + 16u)
+ QWindowsStyle (0x7f62dc19bee0) 0
+ primary-for QPlastiqueStyle (0x7f62dc19be70)
+ QCommonStyle (0x7f62dc19bf50) 0
+ primary-for QWindowsStyle (0x7f62dc19bee0)
+ QStyle (0x7f62dc1a1000) 0
+ primary-for QCommonStyle (0x7f62dc19bf50)
+ QObject (0x7f62dc1a1070) 0
+ primary-for QStyle (0x7f62dc1a1000)
+
+Vtable for QProxyStyle
+QProxyStyle::_ZTV11QProxyStyle: 35u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QProxyStyle)
+16 QProxyStyle::metaObject
+24 QProxyStyle::qt_metacast
+32 QProxyStyle::qt_metacall
+40 QProxyStyle::~QProxyStyle
+48 QProxyStyle::~QProxyStyle
+56 QProxyStyle::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QProxyStyle::polish
+120 QProxyStyle::unpolish
+128 QProxyStyle::polish
+136 QProxyStyle::unpolish
+144 QProxyStyle::polish
+152 QProxyStyle::itemTextRect
+160 QProxyStyle::itemPixmapRect
+168 QProxyStyle::drawItemText
+176 QProxyStyle::drawItemPixmap
+184 QProxyStyle::standardPalette
+192 QProxyStyle::drawPrimitive
+200 QProxyStyle::drawControl
+208 QProxyStyle::subElementRect
+216 QProxyStyle::drawComplexControl
+224 QProxyStyle::hitTestComplexControl
+232 QProxyStyle::subControlRect
+240 QProxyStyle::pixelMetric
+248 QProxyStyle::sizeFromContents
+256 QProxyStyle::styleHint
+264 QProxyStyle::standardPixmap
+272 QProxyStyle::generatedIconPixmap
+
+Class QProxyStyle
+ size=16 align=8
+ base size=16 base align=8
+QProxyStyle (0x7f62dc1c4000) 0
+ vptr=((& QProxyStyle::_ZTV11QProxyStyle) + 16u)
+ QCommonStyle (0x7f62dc1c4070) 0
+ primary-for QProxyStyle (0x7f62dc1c4000)
+ QStyle (0x7f62dc1c40e0) 0
+ primary-for QCommonStyle (0x7f62dc1c4070)
+ QObject (0x7f62dc1c4150) 0
+ primary-for QStyle (0x7f62dc1c40e0)
+
+Vtable for QS60Style
+QS60Style::_ZTV9QS60Style: 35u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QS60Style)
+16 QS60Style::metaObject
+24 QS60Style::qt_metacast
+32 QS60Style::qt_metacall
+40 QS60Style::~QS60Style
+48 QS60Style::~QS60Style
+56 QS60Style::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QS60Style::polish
+120 QS60Style::unpolish
+128 QS60Style::polish
+136 QS60Style::unpolish
+144 QCommonStyle::polish
+152 QStyle::itemTextRect
+160 QStyle::itemPixmapRect
+168 QStyle::drawItemText
+176 QStyle::drawItemPixmap
+184 QStyle::standardPalette
+192 QS60Style::drawPrimitive
+200 QS60Style::drawControl
+208 QS60Style::subElementRect
+216 QS60Style::drawComplexControl
+224 QCommonStyle::hitTestComplexControl
+232 QS60Style::subControlRect
+240 QS60Style::pixelMetric
+248 QS60Style::sizeFromContents
+256 QS60Style::styleHint
+264 QCommonStyle::standardPixmap
+272 QCommonStyle::generatedIconPixmap
+
+Class QS60Style
+ size=16 align=8
+ base size=16 base align=8
+QS60Style (0x7f62dc1e54d0) 0
+ vptr=((& QS60Style::_ZTV9QS60Style) + 16u)
+ QCommonStyle (0x7f62dc1e5540) 0
+ primary-for QS60Style (0x7f62dc1e54d0)
+ QStyle (0x7f62dc1e55b0) 0
+ primary-for QCommonStyle (0x7f62dc1e5540)
+ QObject (0x7f62dc1e5620) 0
+ primary-for QStyle (0x7f62dc1e55b0)
+
+Class QStyleFactory
+ size=1 align=1
+ base size=0 base align=1
+QStyleFactory (0x7f62dc20a310) 0 empty
+
+Vtable for QStyleFactoryInterface
+QStyleFactoryInterface::_ZTV22QStyleFactoryInterface: 6u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI22QStyleFactoryInterface)
+16 QStyleFactoryInterface::~QStyleFactoryInterface
+24 QStyleFactoryInterface::~QStyleFactoryInterface
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+
+Class QStyleFactoryInterface
+ size=8 align=8
+ base size=8 base align=8
+QStyleFactoryInterface (0x7f62dc20a380) 0 nearly-empty
+ vptr=((& QStyleFactoryInterface::_ZTV22QStyleFactoryInterface) + 16u)
+ QFactoryInterface (0x7f62dc20a3f0) 0 nearly-empty
+ primary-for QStyleFactoryInterface (0x7f62dc20a380)
+
+Vtable for QStylePlugin
+QStylePlugin::_ZTV12QStylePlugin: 22u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QStylePlugin)
+16 QStylePlugin::metaObject
+24 QStylePlugin::qt_metacast
+32 QStylePlugin::qt_metacall
+40 QStylePlugin::~QStylePlugin
+48 QStylePlugin::~QStylePlugin
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 (int (*)(...))-0x00000000000000010
+136 (int (*)(...))(& _ZTI12QStylePlugin)
+144 QStylePlugin::_ZThn16_N12QStylePluginD1Ev
+152 QStylePlugin::_ZThn16_N12QStylePluginD0Ev
+160 __cxa_pure_virtual
+168 __cxa_pure_virtual
+
+Class QStylePlugin
+ size=24 align=8
+ base size=24 base align=8
+QStylePlugin (0x7f62dc214000) 0
+ vptr=((& QStylePlugin::_ZTV12QStylePlugin) + 16u)
+ QObject (0x7f62dc20ae00) 0
+ primary-for QStylePlugin (0x7f62dc214000)
+ QStyleFactoryInterface (0x7f62dc20ae70) 16 nearly-empty
+ vptr=((& QStylePlugin::_ZTV12QStylePlugin) + 144u)
+ QFactoryInterface (0x7f62dc20aee0) 16 nearly-empty
+ primary-for QStyleFactoryInterface (0x7f62dc20ae70)
+
+Vtable for QWindowsCEStyle
+QWindowsCEStyle::_ZTV15QWindowsCEStyle: 35u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QWindowsCEStyle)
+16 QWindowsCEStyle::metaObject
+24 QWindowsCEStyle::qt_metacast
+32 QWindowsCEStyle::qt_metacall
+40 QWindowsCEStyle::~QWindowsCEStyle
+48 QWindowsCEStyle::~QWindowsCEStyle
+56 QObject::event
+64 QWindowsStyle::eventFilter
+72 QWindowsStyle::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWindowsCEStyle::polish
+120 QWindowsStyle::unpolish
+128 QWindowsCEStyle::polish
+136 QWindowsStyle::unpolish
+144 QWindowsCEStyle::polish
+152 QStyle::itemTextRect
+160 QStyle::itemPixmapRect
+168 QWindowsCEStyle::drawItemText
+176 QStyle::drawItemPixmap
+184 QWindowsCEStyle::standardPalette
+192 QWindowsCEStyle::drawPrimitive
+200 QWindowsCEStyle::drawControl
+208 QWindowsCEStyle::subElementRect
+216 QWindowsCEStyle::drawComplexControl
+224 QWindowsCEStyle::hitTestComplexControl
+232 QWindowsCEStyle::subControlRect
+240 QWindowsCEStyle::pixelMetric
+248 QWindowsCEStyle::sizeFromContents
+256 QWindowsCEStyle::styleHint
+264 QWindowsCEStyle::standardPixmap
+272 QCommonStyle::generatedIconPixmap
+
+Class QWindowsCEStyle
+ size=24 align=8
+ base size=24 base align=8
+QWindowsCEStyle (0x7f62dc217d90) 0
+ vptr=((& QWindowsCEStyle::_ZTV15QWindowsCEStyle) + 16u)
+ QWindowsStyle (0x7f62dc217e00) 0
+ primary-for QWindowsCEStyle (0x7f62dc217d90)
+ QCommonStyle (0x7f62dc217e70) 0
+ primary-for QWindowsStyle (0x7f62dc217e00)
+ QStyle (0x7f62dc217ee0) 0
+ primary-for QCommonStyle (0x7f62dc217e70)
+ QObject (0x7f62dc217f50) 0
+ primary-for QStyle (0x7f62dc217ee0)
+
+Vtable for QWindowsMobileStyle
+QWindowsMobileStyle::_ZTV19QWindowsMobileStyle: 35u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QWindowsMobileStyle)
+16 QWindowsMobileStyle::metaObject
+24 QWindowsMobileStyle::qt_metacast
+32 QWindowsMobileStyle::qt_metacall
+40 QWindowsMobileStyle::~QWindowsMobileStyle
+48 QWindowsMobileStyle::~QWindowsMobileStyle
+56 QObject::event
+64 QWindowsStyle::eventFilter
+72 QWindowsStyle::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWindowsMobileStyle::polish
+120 QWindowsMobileStyle::unpolish
+128 QWindowsMobileStyle::polish
+136 QWindowsMobileStyle::unpolish
+144 QWindowsMobileStyle::polish
+152 QStyle::itemTextRect
+160 QStyle::itemPixmapRect
+168 QStyle::drawItemText
+176 QStyle::drawItemPixmap
+184 QWindowsMobileStyle::standardPalette
+192 QWindowsMobileStyle::drawPrimitive
+200 QWindowsMobileStyle::drawControl
+208 QWindowsMobileStyle::subElementRect
+216 QWindowsMobileStyle::drawComplexControl
+224 QCommonStyle::hitTestComplexControl
+232 QWindowsMobileStyle::subControlRect
+240 QWindowsMobileStyle::pixelMetric
+248 QWindowsMobileStyle::sizeFromContents
+256 QWindowsMobileStyle::styleHint
+264 QWindowsMobileStyle::standardPixmap
+272 QWindowsMobileStyle::generatedIconPixmap
+
+Class QWindowsMobileStyle
+ size=24 align=8
+ base size=24 base align=8
+QWindowsMobileStyle (0x7f62dc23d3f0) 0
+ vptr=((& QWindowsMobileStyle::_ZTV19QWindowsMobileStyle) + 16u)
+ QWindowsStyle (0x7f62dc23d460) 0
+ primary-for QWindowsMobileStyle (0x7f62dc23d3f0)
+ QCommonStyle (0x7f62dc23d4d0) 0
+ primary-for QWindowsStyle (0x7f62dc23d460)
+ QStyle (0x7f62dc23d540) 0
+ primary-for QCommonStyle (0x7f62dc23d4d0)
+ QObject (0x7f62dc23d5b0) 0
+ primary-for QStyle (0x7f62dc23d540)
+
+Vtable for QWindowsXPStyle
+QWindowsXPStyle::_ZTV15QWindowsXPStyle: 35u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QWindowsXPStyle)
+16 QWindowsXPStyle::metaObject
+24 QWindowsXPStyle::qt_metacast
+32 QWindowsXPStyle::qt_metacall
+40 QWindowsXPStyle::~QWindowsXPStyle
+48 QWindowsXPStyle::~QWindowsXPStyle
+56 QObject::event
+64 QWindowsStyle::eventFilter
+72 QWindowsStyle::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWindowsXPStyle::polish
+120 QWindowsXPStyle::unpolish
+128 QWindowsXPStyle::polish
+136 QWindowsXPStyle::unpolish
+144 QWindowsXPStyle::polish
+152 QStyle::itemTextRect
+160 QStyle::itemPixmapRect
+168 QStyle::drawItemText
+176 QStyle::drawItemPixmap
+184 QWindowsXPStyle::standardPalette
+192 QWindowsXPStyle::drawPrimitive
+200 QWindowsXPStyle::drawControl
+208 QWindowsXPStyle::subElementRect
+216 QWindowsXPStyle::drawComplexControl
+224 QCommonStyle::hitTestComplexControl
+232 QWindowsXPStyle::subControlRect
+240 QWindowsXPStyle::pixelMetric
+248 QWindowsXPStyle::sizeFromContents
+256 QWindowsXPStyle::styleHint
+264 QWindowsXPStyle::standardPixmap
+272 QCommonStyle::generatedIconPixmap
+
+Class QWindowsXPStyle
+ size=32 align=8
+ base size=32 base align=8
+QWindowsXPStyle (0x7f62dc256d90) 0
+ vptr=((& QWindowsXPStyle::_ZTV15QWindowsXPStyle) + 16u)
+ QWindowsStyle (0x7f62dc256e00) 0
+ primary-for QWindowsXPStyle (0x7f62dc256d90)
+ QCommonStyle (0x7f62dc256e70) 0
+ primary-for QWindowsStyle (0x7f62dc256e00)
+ QStyle (0x7f62dc256ee0) 0
+ primary-for QCommonStyle (0x7f62dc256e70)
+ QObject (0x7f62dc256f50) 0
+ primary-for QStyle (0x7f62dc256ee0)
+
+Vtable for QWindowsVistaStyle
+QWindowsVistaStyle::_ZTV18QWindowsVistaStyle: 35u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QWindowsVistaStyle)
+16 QWindowsVistaStyle::metaObject
+24 QWindowsVistaStyle::qt_metacast
+32 QWindowsVistaStyle::qt_metacall
+40 QWindowsVistaStyle::~QWindowsVistaStyle
+48 QWindowsVistaStyle::~QWindowsVistaStyle
+56 QWindowsVistaStyle::event
+64 QWindowsStyle::eventFilter
+72 QWindowsStyle::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWindowsVistaStyle::polish
+120 QWindowsVistaStyle::unpolish
+128 QWindowsVistaStyle::polish
+136 QWindowsVistaStyle::unpolish
+144 QWindowsVistaStyle::polish
+152 QStyle::itemTextRect
+160 QStyle::itemPixmapRect
+168 QStyle::drawItemText
+176 QStyle::drawItemPixmap
+184 QWindowsVistaStyle::standardPalette
+192 QWindowsVistaStyle::drawPrimitive
+200 QWindowsVistaStyle::drawControl
+208 QWindowsVistaStyle::subElementRect
+216 QWindowsVistaStyle::drawComplexControl
+224 QWindowsVistaStyle::hitTestComplexControl
+232 QWindowsVistaStyle::subControlRect
+240 QWindowsVistaStyle::pixelMetric
+248 QWindowsVistaStyle::sizeFromContents
+256 QWindowsVistaStyle::styleHint
+264 QWindowsVistaStyle::standardPixmap
+272 QCommonStyle::generatedIconPixmap
+
+Class QWindowsVistaStyle
+ size=32 align=8
+ base size=32 base align=8
+QWindowsVistaStyle (0x7f62dc278c40) 0
+ vptr=((& QWindowsVistaStyle::_ZTV18QWindowsVistaStyle) + 16u)
+ QWindowsXPStyle (0x7f62dc278cb0) 0
+ primary-for QWindowsVistaStyle (0x7f62dc278c40)
+ QWindowsStyle (0x7f62dc278d20) 0
+ primary-for QWindowsXPStyle (0x7f62dc278cb0)
+ QCommonStyle (0x7f62dc278d90) 0
+ primary-for QWindowsStyle (0x7f62dc278d20)
+ QStyle (0x7f62dc278e00) 0
+ primary-for QCommonStyle (0x7f62dc278d90)
+ QObject (0x7f62dc278e70) 0
+ primary-for QStyle (0x7f62dc278e00)
+
+Vtable for QInputContext
+QInputContext::_ZTV13QInputContext: 26u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QInputContext)
+16 QInputContext::metaObject
+24 QInputContext::qt_metacast
+32 QInputContext::qt_metacall
+40 QInputContext::~QInputContext
+48 QInputContext::~QInputContext
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 __cxa_pure_virtual
+136 QInputContext::update
+144 QInputContext::mouseHandler
+152 QInputContext::font
+160 __cxa_pure_virtual
+168 QInputContext::setFocusWidget
+176 QInputContext::widgetDestroyed
+184 QInputContext::actions
+192 QInputContext::x11FilterEvent
+200 QInputContext::filterEvent
+
+Class QInputContext
+ size=16 align=8
+ base size=16 base align=8
+QInputContext (0x7f62dc097c40) 0
+ vptr=((& QInputContext::_ZTV13QInputContext) + 16u)
+ QObject (0x7f62dc097cb0) 0
+ primary-for QInputContext (0x7f62dc097c40)
+
+Class QInputContextFactory
+ size=1 align=1
+ base size=0 base align=1
+QInputContextFactory (0x7f62dc0b85b0) 0 empty
+
+Vtable for QInputContextFactoryInterface
+QInputContextFactoryInterface::_ZTV29QInputContextFactoryInterface: 9u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI29QInputContextFactoryInterface)
+16 QInputContextFactoryInterface::~QInputContextFactoryInterface
+24 QInputContextFactoryInterface::~QInputContextFactoryInterface
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+48 __cxa_pure_virtual
+56 __cxa_pure_virtual
+64 __cxa_pure_virtual
+
+Class QInputContextFactoryInterface
+ size=8 align=8
+ base size=8 base align=8
+QInputContextFactoryInterface (0x7f62dc0b8620) 0 nearly-empty
+ vptr=((& QInputContextFactoryInterface::_ZTV29QInputContextFactoryInterface) + 16u)
+ QFactoryInterface (0x7f62dc0b8690) 0 nearly-empty
+ primary-for QInputContextFactoryInterface (0x7f62dc0b8620)
+
+Vtable for QInputContextPlugin
+QInputContextPlugin::_ZTV19QInputContextPlugin: 28u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QInputContextPlugin)
+16 QInputContextPlugin::metaObject
+24 QInputContextPlugin::qt_metacast
+32 QInputContextPlugin::qt_metacall
+40 QInputContextPlugin::~QInputContextPlugin
+48 QInputContextPlugin::~QInputContextPlugin
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 __cxa_pure_virtual
+136 __cxa_pure_virtual
+144 __cxa_pure_virtual
+152 (int (*)(...))-0x00000000000000010
+160 (int (*)(...))(& _ZTI19QInputContextPlugin)
+168 QInputContextPlugin::_ZThn16_N19QInputContextPluginD1Ev
+176 QInputContextPlugin::_ZThn16_N19QInputContextPluginD0Ev
+184 __cxa_pure_virtual
+192 __cxa_pure_virtual
+200 __cxa_pure_virtual
+208 __cxa_pure_virtual
+216 __cxa_pure_virtual
+
+Class QInputContextPlugin
+ size=24 align=8
+ base size=24 base align=8
+QInputContextPlugin (0x7f62dc0b4e80) 0
+ vptr=((& QInputContextPlugin::_ZTV19QInputContextPlugin) + 16u)
+ QObject (0x7f62dc0c6000) 0
+ primary-for QInputContextPlugin (0x7f62dc0b4e80)
+ QInputContextFactoryInterface (0x7f62dc0c6070) 16 nearly-empty
+ vptr=((& QInputContextPlugin::_ZTV19QInputContextPlugin) + 168u)
+ QFactoryInterface (0x7f62dc0c60e0) 16 nearly-empty
+ primary-for QInputContextFactoryInterface (0x7f62dc0c6070)
+
+Vtable for QGraphicsItem
+QGraphicsItem::_ZTV13QGraphicsItem: 39u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QGraphicsItem)
+16 QGraphicsItem::~QGraphicsItem
+24 QGraphicsItem::~QGraphicsItem
+32 QGraphicsItem::advance
+40 __cxa_pure_virtual
+48 QGraphicsItem::shape
+56 QGraphicsItem::contains
+64 QGraphicsItem::collidesWithItem
+72 QGraphicsItem::collidesWithPath
+80 QGraphicsItem::isObscuredBy
+88 QGraphicsItem::opaqueArea
+96 __cxa_pure_virtual
+104 QGraphicsItem::type
+112 QGraphicsItem::sceneEventFilter
+120 QGraphicsItem::sceneEvent
+128 QGraphicsItem::contextMenuEvent
+136 QGraphicsItem::dragEnterEvent
+144 QGraphicsItem::dragLeaveEvent
+152 QGraphicsItem::dragMoveEvent
+160 QGraphicsItem::dropEvent
+168 QGraphicsItem::focusInEvent
+176 QGraphicsItem::focusOutEvent
+184 QGraphicsItem::hoverEnterEvent
+192 QGraphicsItem::hoverMoveEvent
+200 QGraphicsItem::hoverLeaveEvent
+208 QGraphicsItem::keyPressEvent
+216 QGraphicsItem::keyReleaseEvent
+224 QGraphicsItem::mousePressEvent
+232 QGraphicsItem::mouseMoveEvent
+240 QGraphicsItem::mouseReleaseEvent
+248 QGraphicsItem::mouseDoubleClickEvent
+256 QGraphicsItem::wheelEvent
+264 QGraphicsItem::inputMethodEvent
+272 QGraphicsItem::inputMethodQuery
+280 QGraphicsItem::itemChange
+288 QGraphicsItem::supportsExtension
+296 QGraphicsItem::setExtension
+304 QGraphicsItem::extension
+
+Class QGraphicsItem
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsItem (0x7f62dc0c6380) 0
+ vptr=((& QGraphicsItem::_ZTV13QGraphicsItem) + 16u)
+
+Vtable for QGraphicsObject
+QGraphicsObject::_ZTV15QGraphicsObject: 53u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QGraphicsObject)
+16 QGraphicsObject::metaObject
+24 QGraphicsObject::qt_metacast
+32 QGraphicsObject::qt_metacall
+40 QGraphicsObject::~QGraphicsObject
+48 QGraphicsObject::~QGraphicsObject
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 (int (*)(...))-0x00000000000000010
+120 (int (*)(...))(& _ZTI15QGraphicsObject)
+128 QGraphicsObject::_ZThn16_N15QGraphicsObjectD1Ev
+136 QGraphicsObject::_ZThn16_N15QGraphicsObjectD0Ev
+144 QGraphicsItem::advance
+152 __cxa_pure_virtual
+160 QGraphicsItem::shape
+168 QGraphicsItem::contains
+176 QGraphicsItem::collidesWithItem
+184 QGraphicsItem::collidesWithPath
+192 QGraphicsItem::isObscuredBy
+200 QGraphicsItem::opaqueArea
+208 __cxa_pure_virtual
+216 QGraphicsItem::type
+224 QGraphicsItem::sceneEventFilter
+232 QGraphicsItem::sceneEvent
+240 QGraphicsItem::contextMenuEvent
+248 QGraphicsItem::dragEnterEvent
+256 QGraphicsItem::dragLeaveEvent
+264 QGraphicsItem::dragMoveEvent
+272 QGraphicsItem::dropEvent
+280 QGraphicsItem::focusInEvent
+288 QGraphicsItem::focusOutEvent
+296 QGraphicsItem::hoverEnterEvent
+304 QGraphicsItem::hoverMoveEvent
+312 QGraphicsItem::hoverLeaveEvent
+320 QGraphicsItem::keyPressEvent
+328 QGraphicsItem::keyReleaseEvent
+336 QGraphicsItem::mousePressEvent
+344 QGraphicsItem::mouseMoveEvent
+352 QGraphicsItem::mouseReleaseEvent
+360 QGraphicsItem::mouseDoubleClickEvent
+368 QGraphicsItem::wheelEvent
+376 QGraphicsItem::inputMethodEvent
+384 QGraphicsItem::inputMethodQuery
+392 QGraphicsItem::itemChange
+400 QGraphicsItem::supportsExtension
+408 QGraphicsItem::setExtension
+416 QGraphicsItem::extension
+
+Class QGraphicsObject
+ size=32 align=8
+ base size=32 base align=8
+QGraphicsObject (0x7f62dbfbbc80) 0
+ vptr=((& QGraphicsObject::_ZTV15QGraphicsObject) + 16u)
+ QObject (0x7f62dbfc2f50) 0
+ primary-for QGraphicsObject (0x7f62dbfbbc80)
+ QGraphicsItem (0x7f62dbfcc000) 16
+ vptr=((& QGraphicsObject::_ZTV15QGraphicsObject) + 128u)
+
+Vtable for QAbstractGraphicsShapeItem
+QAbstractGraphicsShapeItem::_ZTV26QAbstractGraphicsShapeItem: 39u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI26QAbstractGraphicsShapeItem)
+16 QAbstractGraphicsShapeItem::~QAbstractGraphicsShapeItem
+24 QAbstractGraphicsShapeItem::~QAbstractGraphicsShapeItem
+32 QGraphicsItem::advance
+40 __cxa_pure_virtual
+48 QGraphicsItem::shape
+56 QGraphicsItem::contains
+64 QGraphicsItem::collidesWithItem
+72 QGraphicsItem::collidesWithPath
+80 QAbstractGraphicsShapeItem::isObscuredBy
+88 QAbstractGraphicsShapeItem::opaqueArea
+96 __cxa_pure_virtual
+104 QGraphicsItem::type
+112 QGraphicsItem::sceneEventFilter
+120 QGraphicsItem::sceneEvent
+128 QGraphicsItem::contextMenuEvent
+136 QGraphicsItem::dragEnterEvent
+144 QGraphicsItem::dragLeaveEvent
+152 QGraphicsItem::dragMoveEvent
+160 QGraphicsItem::dropEvent
+168 QGraphicsItem::focusInEvent
+176 QGraphicsItem::focusOutEvent
+184 QGraphicsItem::hoverEnterEvent
+192 QGraphicsItem::hoverMoveEvent
+200 QGraphicsItem::hoverLeaveEvent
+208 QGraphicsItem::keyPressEvent
+216 QGraphicsItem::keyReleaseEvent
+224 QGraphicsItem::mousePressEvent
+232 QGraphicsItem::mouseMoveEvent
+240 QGraphicsItem::mouseReleaseEvent
+248 QGraphicsItem::mouseDoubleClickEvent
+256 QGraphicsItem::wheelEvent
+264 QGraphicsItem::inputMethodEvent
+272 QGraphicsItem::inputMethodQuery
+280 QGraphicsItem::itemChange
+288 QGraphicsItem::supportsExtension
+296 QGraphicsItem::setExtension
+304 QGraphicsItem::extension
+
+Class QAbstractGraphicsShapeItem
+ size=16 align=8
+ base size=16 base align=8
+QAbstractGraphicsShapeItem (0x7f62dbfe2070) 0
+ vptr=((& QAbstractGraphicsShapeItem::_ZTV26QAbstractGraphicsShapeItem) + 16u)
+ QGraphicsItem (0x7f62dbfe20e0) 0
+ primary-for QAbstractGraphicsShapeItem (0x7f62dbfe2070)
+
+Vtable for QGraphicsPathItem
+QGraphicsPathItem::_ZTV17QGraphicsPathItem: 39u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QGraphicsPathItem)
+16 QGraphicsPathItem::~QGraphicsPathItem
+24 QGraphicsPathItem::~QGraphicsPathItem
+32 QGraphicsItem::advance
+40 QGraphicsPathItem::boundingRect
+48 QGraphicsPathItem::shape
+56 QGraphicsPathItem::contains
+64 QGraphicsItem::collidesWithItem
+72 QGraphicsItem::collidesWithPath
+80 QGraphicsPathItem::isObscuredBy
+88 QGraphicsPathItem::opaqueArea
+96 QGraphicsPathItem::paint
+104 QGraphicsPathItem::type
+112 QGraphicsItem::sceneEventFilter
+120 QGraphicsItem::sceneEvent
+128 QGraphicsItem::contextMenuEvent
+136 QGraphicsItem::dragEnterEvent
+144 QGraphicsItem::dragLeaveEvent
+152 QGraphicsItem::dragMoveEvent
+160 QGraphicsItem::dropEvent
+168 QGraphicsItem::focusInEvent
+176 QGraphicsItem::focusOutEvent
+184 QGraphicsItem::hoverEnterEvent
+192 QGraphicsItem::hoverMoveEvent
+200 QGraphicsItem::hoverLeaveEvent
+208 QGraphicsItem::keyPressEvent
+216 QGraphicsItem::keyReleaseEvent
+224 QGraphicsItem::mousePressEvent
+232 QGraphicsItem::mouseMoveEvent
+240 QGraphicsItem::mouseReleaseEvent
+248 QGraphicsItem::mouseDoubleClickEvent
+256 QGraphicsItem::wheelEvent
+264 QGraphicsItem::inputMethodEvent
+272 QGraphicsItem::inputMethodQuery
+280 QGraphicsItem::itemChange
+288 QGraphicsPathItem::supportsExtension
+296 QGraphicsPathItem::setExtension
+304 QGraphicsPathItem::extension
+
+Class QGraphicsPathItem
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsPathItem (0x7f62dbfe2ee0) 0
+ vptr=((& QGraphicsPathItem::_ZTV17QGraphicsPathItem) + 16u)
+ QAbstractGraphicsShapeItem (0x7f62dbfe2f50) 0
+ primary-for QGraphicsPathItem (0x7f62dbfe2ee0)
+ QGraphicsItem (0x7f62dbfe2930) 0
+ primary-for QAbstractGraphicsShapeItem (0x7f62dbfe2f50)
+
+Vtable for QGraphicsRectItem
+QGraphicsRectItem::_ZTV17QGraphicsRectItem: 39u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QGraphicsRectItem)
+16 QGraphicsRectItem::~QGraphicsRectItem
+24 QGraphicsRectItem::~QGraphicsRectItem
+32 QGraphicsItem::advance
+40 QGraphicsRectItem::boundingRect
+48 QGraphicsRectItem::shape
+56 QGraphicsRectItem::contains
+64 QGraphicsItem::collidesWithItem
+72 QGraphicsItem::collidesWithPath
+80 QGraphicsRectItem::isObscuredBy
+88 QGraphicsRectItem::opaqueArea
+96 QGraphicsRectItem::paint
+104 QGraphicsRectItem::type
+112 QGraphicsItem::sceneEventFilter
+120 QGraphicsItem::sceneEvent
+128 QGraphicsItem::contextMenuEvent
+136 QGraphicsItem::dragEnterEvent
+144 QGraphicsItem::dragLeaveEvent
+152 QGraphicsItem::dragMoveEvent
+160 QGraphicsItem::dropEvent
+168 QGraphicsItem::focusInEvent
+176 QGraphicsItem::focusOutEvent
+184 QGraphicsItem::hoverEnterEvent
+192 QGraphicsItem::hoverMoveEvent
+200 QGraphicsItem::hoverLeaveEvent
+208 QGraphicsItem::keyPressEvent
+216 QGraphicsItem::keyReleaseEvent
+224 QGraphicsItem::mousePressEvent
+232 QGraphicsItem::mouseMoveEvent
+240 QGraphicsItem::mouseReleaseEvent
+248 QGraphicsItem::mouseDoubleClickEvent
+256 QGraphicsItem::wheelEvent
+264 QGraphicsItem::inputMethodEvent
+272 QGraphicsItem::inputMethodQuery
+280 QGraphicsItem::itemChange
+288 QGraphicsRectItem::supportsExtension
+296 QGraphicsRectItem::setExtension
+304 QGraphicsRectItem::extension
+
+Class QGraphicsRectItem
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsRectItem (0x7f62dbfefe70) 0
+ vptr=((& QGraphicsRectItem::_ZTV17QGraphicsRectItem) + 16u)
+ QAbstractGraphicsShapeItem (0x7f62dbfefee0) 0
+ primary-for QGraphicsRectItem (0x7f62dbfefe70)
+ QGraphicsItem (0x7f62dbfeff50) 0
+ primary-for QAbstractGraphicsShapeItem (0x7f62dbfefee0)
+
+Vtable for QGraphicsEllipseItem
+QGraphicsEllipseItem::_ZTV20QGraphicsEllipseItem: 39u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI20QGraphicsEllipseItem)
+16 QGraphicsEllipseItem::~QGraphicsEllipseItem
+24 QGraphicsEllipseItem::~QGraphicsEllipseItem
+32 QGraphicsItem::advance
+40 QGraphicsEllipseItem::boundingRect
+48 QGraphicsEllipseItem::shape
+56 QGraphicsEllipseItem::contains
+64 QGraphicsItem::collidesWithItem
+72 QGraphicsItem::collidesWithPath
+80 QGraphicsEllipseItem::isObscuredBy
+88 QGraphicsEllipseItem::opaqueArea
+96 QGraphicsEllipseItem::paint
+104 QGraphicsEllipseItem::type
+112 QGraphicsItem::sceneEventFilter
+120 QGraphicsItem::sceneEvent
+128 QGraphicsItem::contextMenuEvent
+136 QGraphicsItem::dragEnterEvent
+144 QGraphicsItem::dragLeaveEvent
+152 QGraphicsItem::dragMoveEvent
+160 QGraphicsItem::dropEvent
+168 QGraphicsItem::focusInEvent
+176 QGraphicsItem::focusOutEvent
+184 QGraphicsItem::hoverEnterEvent
+192 QGraphicsItem::hoverMoveEvent
+200 QGraphicsItem::hoverLeaveEvent
+208 QGraphicsItem::keyPressEvent
+216 QGraphicsItem::keyReleaseEvent
+224 QGraphicsItem::mousePressEvent
+232 QGraphicsItem::mouseMoveEvent
+240 QGraphicsItem::mouseReleaseEvent
+248 QGraphicsItem::mouseDoubleClickEvent
+256 QGraphicsItem::wheelEvent
+264 QGraphicsItem::inputMethodEvent
+272 QGraphicsItem::inputMethodQuery
+280 QGraphicsItem::itemChange
+288 QGraphicsEllipseItem::supportsExtension
+296 QGraphicsEllipseItem::setExtension
+304 QGraphicsEllipseItem::extension
+
+Class QGraphicsEllipseItem
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsEllipseItem (0x7f62dc013150) 0
+ vptr=((& QGraphicsEllipseItem::_ZTV20QGraphicsEllipseItem) + 16u)
+ QAbstractGraphicsShapeItem (0x7f62dc0131c0) 0
+ primary-for QGraphicsEllipseItem (0x7f62dc013150)
+ QGraphicsItem (0x7f62dc013230) 0
+ primary-for QAbstractGraphicsShapeItem (0x7f62dc0131c0)
+
+Vtable for QGraphicsPolygonItem
+QGraphicsPolygonItem::_ZTV20QGraphicsPolygonItem: 39u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI20QGraphicsPolygonItem)
+16 QGraphicsPolygonItem::~QGraphicsPolygonItem
+24 QGraphicsPolygonItem::~QGraphicsPolygonItem
+32 QGraphicsItem::advance
+40 QGraphicsPolygonItem::boundingRect
+48 QGraphicsPolygonItem::shape
+56 QGraphicsPolygonItem::contains
+64 QGraphicsItem::collidesWithItem
+72 QGraphicsItem::collidesWithPath
+80 QGraphicsPolygonItem::isObscuredBy
+88 QGraphicsPolygonItem::opaqueArea
+96 QGraphicsPolygonItem::paint
+104 QGraphicsPolygonItem::type
+112 QGraphicsItem::sceneEventFilter
+120 QGraphicsItem::sceneEvent
+128 QGraphicsItem::contextMenuEvent
+136 QGraphicsItem::dragEnterEvent
+144 QGraphicsItem::dragLeaveEvent
+152 QGraphicsItem::dragMoveEvent
+160 QGraphicsItem::dropEvent
+168 QGraphicsItem::focusInEvent
+176 QGraphicsItem::focusOutEvent
+184 QGraphicsItem::hoverEnterEvent
+192 QGraphicsItem::hoverMoveEvent
+200 QGraphicsItem::hoverLeaveEvent
+208 QGraphicsItem::keyPressEvent
+216 QGraphicsItem::keyReleaseEvent
+224 QGraphicsItem::mousePressEvent
+232 QGraphicsItem::mouseMoveEvent
+240 QGraphicsItem::mouseReleaseEvent
+248 QGraphicsItem::mouseDoubleClickEvent
+256 QGraphicsItem::wheelEvent
+264 QGraphicsItem::inputMethodEvent
+272 QGraphicsItem::inputMethodQuery
+280 QGraphicsItem::itemChange
+288 QGraphicsPolygonItem::supportsExtension
+296 QGraphicsPolygonItem::setExtension
+304 QGraphicsPolygonItem::extension
+
+Class QGraphicsPolygonItem
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsPolygonItem (0x7f62dc026460) 0
+ vptr=((& QGraphicsPolygonItem::_ZTV20QGraphicsPolygonItem) + 16u)
+ QAbstractGraphicsShapeItem (0x7f62dc0264d0) 0
+ primary-for QGraphicsPolygonItem (0x7f62dc026460)
+ QGraphicsItem (0x7f62dc026540) 0
+ primary-for QAbstractGraphicsShapeItem (0x7f62dc0264d0)
+
+Vtable for QGraphicsLineItem
+QGraphicsLineItem::_ZTV17QGraphicsLineItem: 39u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QGraphicsLineItem)
+16 QGraphicsLineItem::~QGraphicsLineItem
+24 QGraphicsLineItem::~QGraphicsLineItem
+32 QGraphicsItem::advance
+40 QGraphicsLineItem::boundingRect
+48 QGraphicsLineItem::shape
+56 QGraphicsLineItem::contains
+64 QGraphicsItem::collidesWithItem
+72 QGraphicsItem::collidesWithPath
+80 QGraphicsLineItem::isObscuredBy
+88 QGraphicsLineItem::opaqueArea
+96 QGraphicsLineItem::paint
+104 QGraphicsLineItem::type
+112 QGraphicsItem::sceneEventFilter
+120 QGraphicsItem::sceneEvent
+128 QGraphicsItem::contextMenuEvent
+136 QGraphicsItem::dragEnterEvent
+144 QGraphicsItem::dragLeaveEvent
+152 QGraphicsItem::dragMoveEvent
+160 QGraphicsItem::dropEvent
+168 QGraphicsItem::focusInEvent
+176 QGraphicsItem::focusOutEvent
+184 QGraphicsItem::hoverEnterEvent
+192 QGraphicsItem::hoverMoveEvent
+200 QGraphicsItem::hoverLeaveEvent
+208 QGraphicsItem::keyPressEvent
+216 QGraphicsItem::keyReleaseEvent
+224 QGraphicsItem::mousePressEvent
+232 QGraphicsItem::mouseMoveEvent
+240 QGraphicsItem::mouseReleaseEvent
+248 QGraphicsItem::mouseDoubleClickEvent
+256 QGraphicsItem::wheelEvent
+264 QGraphicsItem::inputMethodEvent
+272 QGraphicsItem::inputMethodQuery
+280 QGraphicsItem::itemChange
+288 QGraphicsLineItem::supportsExtension
+296 QGraphicsLineItem::setExtension
+304 QGraphicsLineItem::extension
+
+Class QGraphicsLineItem
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsLineItem (0x7f62dc03c3f0) 0
+ vptr=((& QGraphicsLineItem::_ZTV17QGraphicsLineItem) + 16u)
+ QGraphicsItem (0x7f62dc03c460) 0
+ primary-for QGraphicsLineItem (0x7f62dc03c3f0)
+
+Vtable for QGraphicsPixmapItem
+QGraphicsPixmapItem::_ZTV19QGraphicsPixmapItem: 39u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QGraphicsPixmapItem)
+16 QGraphicsPixmapItem::~QGraphicsPixmapItem
+24 QGraphicsPixmapItem::~QGraphicsPixmapItem
+32 QGraphicsItem::advance
+40 QGraphicsPixmapItem::boundingRect
+48 QGraphicsPixmapItem::shape
+56 QGraphicsPixmapItem::contains
+64 QGraphicsItem::collidesWithItem
+72 QGraphicsItem::collidesWithPath
+80 QGraphicsPixmapItem::isObscuredBy
+88 QGraphicsPixmapItem::opaqueArea
+96 QGraphicsPixmapItem::paint
+104 QGraphicsPixmapItem::type
+112 QGraphicsItem::sceneEventFilter
+120 QGraphicsItem::sceneEvent
+128 QGraphicsItem::contextMenuEvent
+136 QGraphicsItem::dragEnterEvent
+144 QGraphicsItem::dragLeaveEvent
+152 QGraphicsItem::dragMoveEvent
+160 QGraphicsItem::dropEvent
+168 QGraphicsItem::focusInEvent
+176 QGraphicsItem::focusOutEvent
+184 QGraphicsItem::hoverEnterEvent
+192 QGraphicsItem::hoverMoveEvent
+200 QGraphicsItem::hoverLeaveEvent
+208 QGraphicsItem::keyPressEvent
+216 QGraphicsItem::keyReleaseEvent
+224 QGraphicsItem::mousePressEvent
+232 QGraphicsItem::mouseMoveEvent
+240 QGraphicsItem::mouseReleaseEvent
+248 QGraphicsItem::mouseDoubleClickEvent
+256 QGraphicsItem::wheelEvent
+264 QGraphicsItem::inputMethodEvent
+272 QGraphicsItem::inputMethodQuery
+280 QGraphicsItem::itemChange
+288 QGraphicsPixmapItem::supportsExtension
+296 QGraphicsPixmapItem::setExtension
+304 QGraphicsPixmapItem::extension
+
+Class QGraphicsPixmapItem
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsPixmapItem (0x7f62dc04e690) 0
+ vptr=((& QGraphicsPixmapItem::_ZTV19QGraphicsPixmapItem) + 16u)
+ QGraphicsItem (0x7f62dc04e700) 0
+ primary-for QGraphicsPixmapItem (0x7f62dc04e690)
+
+Vtable for QGraphicsTextItem
+QGraphicsTextItem::_ZTV17QGraphicsTextItem: 82u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QGraphicsTextItem)
+16 QGraphicsTextItem::metaObject
+24 QGraphicsTextItem::qt_metacast
+32 QGraphicsTextItem::qt_metacall
+40 QGraphicsTextItem::~QGraphicsTextItem
+48 QGraphicsTextItem::~QGraphicsTextItem
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QGraphicsTextItem::boundingRect
+120 QGraphicsTextItem::shape
+128 QGraphicsTextItem::contains
+136 QGraphicsTextItem::paint
+144 QGraphicsTextItem::isObscuredBy
+152 QGraphicsTextItem::opaqueArea
+160 QGraphicsTextItem::type
+168 QGraphicsTextItem::sceneEvent
+176 QGraphicsTextItem::mousePressEvent
+184 QGraphicsTextItem::mouseMoveEvent
+192 QGraphicsTextItem::mouseReleaseEvent
+200 QGraphicsTextItem::mouseDoubleClickEvent
+208 QGraphicsTextItem::contextMenuEvent
+216 QGraphicsTextItem::keyPressEvent
+224 QGraphicsTextItem::keyReleaseEvent
+232 QGraphicsTextItem::focusInEvent
+240 QGraphicsTextItem::focusOutEvent
+248 QGraphicsTextItem::dragEnterEvent
+256 QGraphicsTextItem::dragLeaveEvent
+264 QGraphicsTextItem::dragMoveEvent
+272 QGraphicsTextItem::dropEvent
+280 QGraphicsTextItem::inputMethodEvent
+288 QGraphicsTextItem::hoverEnterEvent
+296 QGraphicsTextItem::hoverMoveEvent
+304 QGraphicsTextItem::hoverLeaveEvent
+312 QGraphicsTextItem::inputMethodQuery
+320 QGraphicsTextItem::supportsExtension
+328 QGraphicsTextItem::setExtension
+336 QGraphicsTextItem::extension
+344 (int (*)(...))-0x00000000000000010
+352 (int (*)(...))(& _ZTI17QGraphicsTextItem)
+360 QGraphicsTextItem::_ZThn16_N17QGraphicsTextItemD1Ev
+368 QGraphicsTextItem::_ZThn16_N17QGraphicsTextItemD0Ev
+376 QGraphicsItem::advance
+384 QGraphicsTextItem::_ZThn16_NK17QGraphicsTextItem12boundingRectEv
+392 QGraphicsTextItem::_ZThn16_NK17QGraphicsTextItem5shapeEv
+400 QGraphicsTextItem::_ZThn16_NK17QGraphicsTextItem8containsERK7QPointF
+408 QGraphicsItem::collidesWithItem
+416 QGraphicsItem::collidesWithPath
+424 QGraphicsTextItem::_ZThn16_NK17QGraphicsTextItem12isObscuredByEPK13QGraphicsItem
+432 QGraphicsTextItem::_ZThn16_NK17QGraphicsTextItem10opaqueAreaEv
+440 QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem5paintEP8QPainterPK24QStyleOptionGraphicsItemP7QWidget
+448 QGraphicsTextItem::_ZThn16_NK17QGraphicsTextItem4typeEv
+456 QGraphicsItem::sceneEventFilter
+464 QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem10sceneEventEP6QEvent
+472 QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem16contextMenuEventEP30QGraphicsSceneContextMenuEvent
+480 QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem14dragEnterEventEP27QGraphicsSceneDragDropEvent
+488 QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem14dragLeaveEventEP27QGraphicsSceneDragDropEvent
+496 QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem13dragMoveEventEP27QGraphicsSceneDragDropEvent
+504 QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem9dropEventEP27QGraphicsSceneDragDropEvent
+512 QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem12focusInEventEP11QFocusEvent
+520 QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem13focusOutEventEP11QFocusEvent
+528 QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem15hoverEnterEventEP24QGraphicsSceneHoverEvent
+536 QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem14hoverMoveEventEP24QGraphicsSceneHoverEvent
+544 QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem15hoverLeaveEventEP24QGraphicsSceneHoverEvent
+552 QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem13keyPressEventEP9QKeyEvent
+560 QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem15keyReleaseEventEP9QKeyEvent
+568 QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem15mousePressEventEP24QGraphicsSceneMouseEvent
+576 QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem14mouseMoveEventEP24QGraphicsSceneMouseEvent
+584 QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem17mouseReleaseEventEP24QGraphicsSceneMouseEvent
+592 QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem21mouseDoubleClickEventEP24QGraphicsSceneMouseEvent
+600 QGraphicsItem::wheelEvent
+608 QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem16inputMethodEventEP17QInputMethodEvent
+616 QGraphicsTextItem::_ZThn16_NK17QGraphicsTextItem16inputMethodQueryEN2Qt16InputMethodQueryE
+624 QGraphicsItem::itemChange
+632 QGraphicsTextItem::_ZThn16_NK17QGraphicsTextItem17supportsExtensionEN13QGraphicsItem9ExtensionE
+640 QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem12setExtensionEN13QGraphicsItem9ExtensionERK8QVariant
+648 QGraphicsTextItem::_ZThn16_NK17QGraphicsTextItem9extensionERK8QVariant
+
+Class QGraphicsTextItem
+ size=40 align=8
+ base size=40 base align=8
+QGraphicsTextItem (0x7f62dc05e930) 0
+ vptr=((& QGraphicsTextItem::_ZTV17QGraphicsTextItem) + 16u)
+ QGraphicsObject (0x7f62dc053700) 0
+ primary-for QGraphicsTextItem (0x7f62dc05e930)
+ QObject (0x7f62dc05e9a0) 0
+ primary-for QGraphicsObject (0x7f62dc053700)
+ QGraphicsItem (0x7f62dc05ea10) 16
+ vptr=((& QGraphicsTextItem::_ZTV17QGraphicsTextItem) + 360u)
+
+Vtable for QGraphicsSimpleTextItem
+QGraphicsSimpleTextItem::_ZTV23QGraphicsSimpleTextItem: 39u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI23QGraphicsSimpleTextItem)
+16 QGraphicsSimpleTextItem::~QGraphicsSimpleTextItem
+24 QGraphicsSimpleTextItem::~QGraphicsSimpleTextItem
+32 QGraphicsItem::advance
+40 QGraphicsSimpleTextItem::boundingRect
+48 QGraphicsSimpleTextItem::shape
+56 QGraphicsSimpleTextItem::contains
+64 QGraphicsItem::collidesWithItem
+72 QGraphicsItem::collidesWithPath
+80 QGraphicsSimpleTextItem::isObscuredBy
+88 QGraphicsSimpleTextItem::opaqueArea
+96 QGraphicsSimpleTextItem::paint
+104 QGraphicsSimpleTextItem::type
+112 QGraphicsItem::sceneEventFilter
+120 QGraphicsItem::sceneEvent
+128 QGraphicsItem::contextMenuEvent
+136 QGraphicsItem::dragEnterEvent
+144 QGraphicsItem::dragLeaveEvent
+152 QGraphicsItem::dragMoveEvent
+160 QGraphicsItem::dropEvent
+168 QGraphicsItem::focusInEvent
+176 QGraphicsItem::focusOutEvent
+184 QGraphicsItem::hoverEnterEvent
+192 QGraphicsItem::hoverMoveEvent
+200 QGraphicsItem::hoverLeaveEvent
+208 QGraphicsItem::keyPressEvent
+216 QGraphicsItem::keyReleaseEvent
+224 QGraphicsItem::mousePressEvent
+232 QGraphicsItem::mouseMoveEvent
+240 QGraphicsItem::mouseReleaseEvent
+248 QGraphicsItem::mouseDoubleClickEvent
+256 QGraphicsItem::wheelEvent
+264 QGraphicsItem::inputMethodEvent
+272 QGraphicsItem::inputMethodQuery
+280 QGraphicsItem::itemChange
+288 QGraphicsSimpleTextItem::supportsExtension
+296 QGraphicsSimpleTextItem::setExtension
+304 QGraphicsSimpleTextItem::extension
+
+Class QGraphicsSimpleTextItem
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsSimpleTextItem (0x7f62dc07e380) 0
+ vptr=((& QGraphicsSimpleTextItem::_ZTV23QGraphicsSimpleTextItem) + 16u)
+ QAbstractGraphicsShapeItem (0x7f62dbe94000) 0
+ primary-for QGraphicsSimpleTextItem (0x7f62dc07e380)
+ QGraphicsItem (0x7f62dbe94070) 0
+ primary-for QAbstractGraphicsShapeItem (0x7f62dbe94000)
+
+Vtable for QGraphicsItemGroup
+QGraphicsItemGroup::_ZTV18QGraphicsItemGroup: 39u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QGraphicsItemGroup)
+16 QGraphicsItemGroup::~QGraphicsItemGroup
+24 QGraphicsItemGroup::~QGraphicsItemGroup
+32 QGraphicsItem::advance
+40 QGraphicsItemGroup::boundingRect
+48 QGraphicsItem::shape
+56 QGraphicsItem::contains
+64 QGraphicsItem::collidesWithItem
+72 QGraphicsItem::collidesWithPath
+80 QGraphicsItemGroup::isObscuredBy
+88 QGraphicsItemGroup::opaqueArea
+96 QGraphicsItemGroup::paint
+104 QGraphicsItemGroup::type
+112 QGraphicsItem::sceneEventFilter
+120 QGraphicsItem::sceneEvent
+128 QGraphicsItem::contextMenuEvent
+136 QGraphicsItem::dragEnterEvent
+144 QGraphicsItem::dragLeaveEvent
+152 QGraphicsItem::dragMoveEvent
+160 QGraphicsItem::dropEvent
+168 QGraphicsItem::focusInEvent
+176 QGraphicsItem::focusOutEvent
+184 QGraphicsItem::hoverEnterEvent
+192 QGraphicsItem::hoverMoveEvent
+200 QGraphicsItem::hoverLeaveEvent
+208 QGraphicsItem::keyPressEvent
+216 QGraphicsItem::keyReleaseEvent
+224 QGraphicsItem::mousePressEvent
+232 QGraphicsItem::mouseMoveEvent
+240 QGraphicsItem::mouseReleaseEvent
+248 QGraphicsItem::mouseDoubleClickEvent
+256 QGraphicsItem::wheelEvent
+264 QGraphicsItem::inputMethodEvent
+272 QGraphicsItem::inputMethodQuery
+280 QGraphicsItem::itemChange
+288 QGraphicsItem::supportsExtension
+296 QGraphicsItem::setExtension
+304 QGraphicsItem::extension
+
+Class QGraphicsItemGroup
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsItemGroup (0x7f62dbe94f50) 0
+ vptr=((& QGraphicsItemGroup::_ZTV18QGraphicsItemGroup) + 16u)
+ QGraphicsItem (0x7f62dbe949a0) 0
+ primary-for QGraphicsItemGroup (0x7f62dbe94f50)
+
+Vtable for QGraphicsLayoutItem
+QGraphicsLayoutItem::_ZTV19QGraphicsLayoutItem: 8u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QGraphicsLayoutItem)
+16 QGraphicsLayoutItem::~QGraphicsLayoutItem
+24 QGraphicsLayoutItem::~QGraphicsLayoutItem
+32 QGraphicsLayoutItem::setGeometry
+40 QGraphicsLayoutItem::getContentsMargins
+48 QGraphicsLayoutItem::updateGeometry
+56 __cxa_pure_virtual
+
+Class QGraphicsLayoutItem
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsLayoutItem (0x7f62dbeb7850) 0
+ vptr=((& QGraphicsLayoutItem::_ZTV19QGraphicsLayoutItem) + 16u)
+
+Vtable for QGraphicsLayout
+QGraphicsLayout::_ZTV15QGraphicsLayout: 13u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QGraphicsLayout)
+16 QGraphicsLayout::~QGraphicsLayout
+24 QGraphicsLayout::~QGraphicsLayout
+32 QGraphicsLayoutItem::setGeometry
+40 QGraphicsLayout::getContentsMargins
+48 QGraphicsLayout::updateGeometry
+56 __cxa_pure_virtual
+64 QGraphicsLayout::invalidate
+72 QGraphicsLayout::widgetEvent
+80 __cxa_pure_virtual
+88 __cxa_pure_virtual
+96 __cxa_pure_virtual
+
+Class QGraphicsLayout
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsLayout (0x7f62dbefa070) 0
+ vptr=((& QGraphicsLayout::_ZTV15QGraphicsLayout) + 16u)
+ QGraphicsLayoutItem (0x7f62dbefa0e0) 0
+ primary-for QGraphicsLayout (0x7f62dbefa070)
+
+Vtable for QGraphicsAnchor
+QGraphicsAnchor::_ZTV15QGraphicsAnchor: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QGraphicsAnchor)
+16 QGraphicsAnchor::metaObject
+24 QGraphicsAnchor::qt_metacast
+32 QGraphicsAnchor::qt_metacall
+40 QGraphicsAnchor::~QGraphicsAnchor
+48 QGraphicsAnchor::~QGraphicsAnchor
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QGraphicsAnchor
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsAnchor (0x7f62dbf08850) 0
+ vptr=((& QGraphicsAnchor::_ZTV15QGraphicsAnchor) + 16u)
+ QObject (0x7f62dbf088c0) 0
+ primary-for QGraphicsAnchor (0x7f62dbf08850)
+
+Vtable for QGraphicsAnchorLayout
+QGraphicsAnchorLayout::_ZTV21QGraphicsAnchorLayout: 13u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI21QGraphicsAnchorLayout)
+16 QGraphicsAnchorLayout::~QGraphicsAnchorLayout
+24 QGraphicsAnchorLayout::~QGraphicsAnchorLayout
+32 QGraphicsAnchorLayout::setGeometry
+40 QGraphicsLayout::getContentsMargins
+48 QGraphicsLayout::updateGeometry
+56 QGraphicsAnchorLayout::sizeHint
+64 QGraphicsAnchorLayout::invalidate
+72 QGraphicsLayout::widgetEvent
+80 QGraphicsAnchorLayout::count
+88 QGraphicsAnchorLayout::itemAt
+96 QGraphicsAnchorLayout::removeAt
+
+Class QGraphicsAnchorLayout
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsAnchorLayout (0x7f62dbf1dd90) 0
+ vptr=((& QGraphicsAnchorLayout::_ZTV21QGraphicsAnchorLayout) + 16u)
+ QGraphicsLayout (0x7f62dbf1de00) 0
+ primary-for QGraphicsAnchorLayout (0x7f62dbf1dd90)
+ QGraphicsLayoutItem (0x7f62dbf1de70) 0
+ primary-for QGraphicsLayout (0x7f62dbf1de00)
+
+Vtable for QGraphicsGridLayout
+QGraphicsGridLayout::_ZTV19QGraphicsGridLayout: 13u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QGraphicsGridLayout)
+16 QGraphicsGridLayout::~QGraphicsGridLayout
+24 QGraphicsGridLayout::~QGraphicsGridLayout
+32 QGraphicsGridLayout::setGeometry
+40 QGraphicsLayout::getContentsMargins
+48 QGraphicsLayout::updateGeometry
+56 QGraphicsGridLayout::sizeHint
+64 QGraphicsGridLayout::invalidate
+72 QGraphicsLayout::widgetEvent
+80 QGraphicsGridLayout::count
+88 QGraphicsGridLayout::itemAt
+96 QGraphicsGridLayout::removeAt
+
+Class QGraphicsGridLayout
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsGridLayout (0x7f62dbf340e0) 0
+ vptr=((& QGraphicsGridLayout::_ZTV19QGraphicsGridLayout) + 16u)
+ QGraphicsLayout (0x7f62dbf34150) 0
+ primary-for QGraphicsGridLayout (0x7f62dbf340e0)
+ QGraphicsLayoutItem (0x7f62dbf341c0) 0
+ primary-for QGraphicsLayout (0x7f62dbf34150)
+
+Vtable for QGraphicsItemAnimation
+QGraphicsItemAnimation::_ZTV22QGraphicsItemAnimation: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI22QGraphicsItemAnimation)
+16 QGraphicsItemAnimation::metaObject
+24 QGraphicsItemAnimation::qt_metacast
+32 QGraphicsItemAnimation::qt_metacall
+40 QGraphicsItemAnimation::~QGraphicsItemAnimation
+48 QGraphicsItemAnimation::~QGraphicsItemAnimation
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QGraphicsItemAnimation::beforeAnimationStep
+120 QGraphicsItemAnimation::afterAnimationStep
+
+Class QGraphicsItemAnimation
+ size=24 align=8
+ base size=24 base align=8
+QGraphicsItemAnimation (0x7f62dbf534d0) 0
+ vptr=((& QGraphicsItemAnimation::_ZTV22QGraphicsItemAnimation) + 16u)
+ QObject (0x7f62dbf53540) 0
+ primary-for QGraphicsItemAnimation (0x7f62dbf534d0)
+
+Vtable for QGraphicsLinearLayout
+QGraphicsLinearLayout::_ZTV21QGraphicsLinearLayout: 13u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI21QGraphicsLinearLayout)
+16 QGraphicsLinearLayout::~QGraphicsLinearLayout
+24 QGraphicsLinearLayout::~QGraphicsLinearLayout
+32 QGraphicsLinearLayout::setGeometry
+40 QGraphicsLayout::getContentsMargins
+48 QGraphicsLayout::updateGeometry
+56 QGraphicsLinearLayout::sizeHint
+64 QGraphicsLinearLayout::invalidate
+72 QGraphicsLayout::widgetEvent
+80 QGraphicsLinearLayout::count
+88 QGraphicsLinearLayout::itemAt
+96 QGraphicsLinearLayout::removeAt
+
+Class QGraphicsLinearLayout
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsLinearLayout (0x7f62dbf6b850) 0
+ vptr=((& QGraphicsLinearLayout::_ZTV21QGraphicsLinearLayout) + 16u)
+ QGraphicsLayout (0x7f62dbf6b8c0) 0
+ primary-for QGraphicsLinearLayout (0x7f62dbf6b850)
+ QGraphicsLayoutItem (0x7f62dbf6b930) 0
+ primary-for QGraphicsLayout (0x7f62dbf6b8c0)
+
+Vtable for QGraphicsWidget
+QGraphicsWidget::_ZTV15QGraphicsWidget: 92u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QGraphicsWidget)
+16 QGraphicsWidget::metaObject
+24 QGraphicsWidget::qt_metacast
+32 QGraphicsWidget::qt_metacall
+40 QGraphicsWidget::~QGraphicsWidget
+48 QGraphicsWidget::~QGraphicsWidget
+56 QGraphicsWidget::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QGraphicsWidget::setGeometry
+120 QGraphicsWidget::getContentsMargins
+128 QGraphicsWidget::type
+136 QGraphicsWidget::paint
+144 QGraphicsWidget::paintWindowFrame
+152 QGraphicsWidget::boundingRect
+160 QGraphicsWidget::shape
+168 QGraphicsWidget::initStyleOption
+176 QGraphicsWidget::sizeHint
+184 QGraphicsWidget::updateGeometry
+192 QGraphicsWidget::itemChange
+200 QGraphicsWidget::propertyChange
+208 QGraphicsWidget::sceneEvent
+216 QGraphicsWidget::windowFrameEvent
+224 QGraphicsWidget::windowFrameSectionAt
+232 QGraphicsWidget::changeEvent
+240 QGraphicsWidget::closeEvent
+248 QGraphicsWidget::focusInEvent
+256 QGraphicsWidget::focusNextPrevChild
+264 QGraphicsWidget::focusOutEvent
+272 QGraphicsWidget::hideEvent
+280 QGraphicsWidget::moveEvent
+288 QGraphicsWidget::polishEvent
+296 QGraphicsWidget::resizeEvent
+304 QGraphicsWidget::showEvent
+312 QGraphicsWidget::hoverMoveEvent
+320 QGraphicsWidget::hoverLeaveEvent
+328 QGraphicsWidget::grabMouseEvent
+336 QGraphicsWidget::ungrabMouseEvent
+344 QGraphicsWidget::grabKeyboardEvent
+352 QGraphicsWidget::ungrabKeyboardEvent
+360 (int (*)(...))-0x00000000000000010
+368 (int (*)(...))(& _ZTI15QGraphicsWidget)
+376 QGraphicsWidget::_ZThn16_N15QGraphicsWidgetD1Ev
+384 QGraphicsWidget::_ZThn16_N15QGraphicsWidgetD0Ev
+392 QGraphicsItem::advance
+400 QGraphicsWidget::_ZThn16_NK15QGraphicsWidget12boundingRectEv
+408 QGraphicsWidget::_ZThn16_NK15QGraphicsWidget5shapeEv
+416 QGraphicsItem::contains
+424 QGraphicsItem::collidesWithItem
+432 QGraphicsItem::collidesWithPath
+440 QGraphicsItem::isObscuredBy
+448 QGraphicsItem::opaqueArea
+456 QGraphicsWidget::_ZThn16_N15QGraphicsWidget5paintEP8QPainterPK24QStyleOptionGraphicsItemP7QWidget
+464 QGraphicsWidget::_ZThn16_NK15QGraphicsWidget4typeEv
+472 QGraphicsItem::sceneEventFilter
+480 QGraphicsWidget::_ZThn16_N15QGraphicsWidget10sceneEventEP6QEvent
+488 QGraphicsItem::contextMenuEvent
+496 QGraphicsItem::dragEnterEvent
+504 QGraphicsItem::dragLeaveEvent
+512 QGraphicsItem::dragMoveEvent
+520 QGraphicsItem::dropEvent
+528 QGraphicsWidget::_ZThn16_N15QGraphicsWidget12focusInEventEP11QFocusEvent
+536 QGraphicsWidget::_ZThn16_N15QGraphicsWidget13focusOutEventEP11QFocusEvent
+544 QGraphicsItem::hoverEnterEvent
+552 QGraphicsWidget::_ZThn16_N15QGraphicsWidget14hoverMoveEventEP24QGraphicsSceneHoverEvent
+560 QGraphicsWidget::_ZThn16_N15QGraphicsWidget15hoverLeaveEventEP24QGraphicsSceneHoverEvent
+568 QGraphicsItem::keyPressEvent
+576 QGraphicsItem::keyReleaseEvent
+584 QGraphicsItem::mousePressEvent
+592 QGraphicsItem::mouseMoveEvent
+600 QGraphicsItem::mouseReleaseEvent
+608 QGraphicsItem::mouseDoubleClickEvent
+616 QGraphicsItem::wheelEvent
+624 QGraphicsItem::inputMethodEvent
+632 QGraphicsItem::inputMethodQuery
+640 QGraphicsWidget::_ZThn16_N15QGraphicsWidget10itemChangeEN13QGraphicsItem18GraphicsItemChangeERK8QVariant
+648 QGraphicsItem::supportsExtension
+656 QGraphicsItem::setExtension
+664 QGraphicsItem::extension
+672 (int (*)(...))-0x00000000000000020
+680 (int (*)(...))(& _ZTI15QGraphicsWidget)
+688 QGraphicsWidget::_ZThn32_N15QGraphicsWidgetD1Ev
+696 QGraphicsWidget::_ZThn32_N15QGraphicsWidgetD0Ev
+704 QGraphicsWidget::_ZThn32_N15QGraphicsWidget11setGeometryERK6QRectF
+712 QGraphicsWidget::_ZThn32_NK15QGraphicsWidget18getContentsMarginsEPdS0_S0_S0_
+720 QGraphicsWidget::_ZThn32_N15QGraphicsWidget14updateGeometryEv
+728 QGraphicsWidget::_ZThn32_NK15QGraphicsWidget8sizeHintEN2Qt8SizeHintERK6QSizeF
+
+Class QGraphicsWidget
+ size=48 align=8
+ base size=48 base align=8
+QGraphicsWidget (0x7f62dbf87000) 0
+ vptr=((& QGraphicsWidget::_ZTV15QGraphicsWidget) + 16u)
+ QGraphicsObject (0x7f62dbf87080) 0
+ primary-for QGraphicsWidget (0x7f62dbf87000)
+ QObject (0x7f62dbf86070) 0
+ primary-for QGraphicsObject (0x7f62dbf87080)
+ QGraphicsItem (0x7f62dbf860e0) 16
+ vptr=((& QGraphicsWidget::_ZTV15QGraphicsWidget) + 376u)
+ QGraphicsLayoutItem (0x7f62dbf86150) 32
+ vptr=((& QGraphicsWidget::_ZTV15QGraphicsWidget) + 688u)
+
+Vtable for QGraphicsProxyWidget
+QGraphicsProxyWidget::_ZTV20QGraphicsProxyWidget: 105u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI20QGraphicsProxyWidget)
+16 QGraphicsProxyWidget::metaObject
+24 QGraphicsProxyWidget::qt_metacast
+32 QGraphicsProxyWidget::qt_metacall
+40 QGraphicsProxyWidget::~QGraphicsProxyWidget
+48 QGraphicsProxyWidget::~QGraphicsProxyWidget
+56 QGraphicsProxyWidget::event
+64 QGraphicsProxyWidget::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QGraphicsProxyWidget::setGeometry
+120 QGraphicsWidget::getContentsMargins
+128 QGraphicsProxyWidget::type
+136 QGraphicsProxyWidget::paint
+144 QGraphicsWidget::paintWindowFrame
+152 QGraphicsWidget::boundingRect
+160 QGraphicsWidget::shape
+168 QGraphicsWidget::initStyleOption
+176 QGraphicsProxyWidget::sizeHint
+184 QGraphicsWidget::updateGeometry
+192 QGraphicsProxyWidget::itemChange
+200 QGraphicsWidget::propertyChange
+208 QGraphicsWidget::sceneEvent
+216 QGraphicsWidget::windowFrameEvent
+224 QGraphicsWidget::windowFrameSectionAt
+232 QGraphicsWidget::changeEvent
+240 QGraphicsWidget::closeEvent
+248 QGraphicsProxyWidget::focusInEvent
+256 QGraphicsProxyWidget::focusNextPrevChild
+264 QGraphicsProxyWidget::focusOutEvent
+272 QGraphicsProxyWidget::hideEvent
+280 QGraphicsWidget::moveEvent
+288 QGraphicsWidget::polishEvent
+296 QGraphicsProxyWidget::resizeEvent
+304 QGraphicsProxyWidget::showEvent
+312 QGraphicsProxyWidget::hoverMoveEvent
+320 QGraphicsProxyWidget::hoverLeaveEvent
+328 QGraphicsProxyWidget::grabMouseEvent
+336 QGraphicsProxyWidget::ungrabMouseEvent
+344 QGraphicsWidget::grabKeyboardEvent
+352 QGraphicsWidget::ungrabKeyboardEvent
+360 QGraphicsProxyWidget::contextMenuEvent
+368 QGraphicsProxyWidget::dragEnterEvent
+376 QGraphicsProxyWidget::dragLeaveEvent
+384 QGraphicsProxyWidget::dragMoveEvent
+392 QGraphicsProxyWidget::dropEvent
+400 QGraphicsProxyWidget::hoverEnterEvent
+408 QGraphicsProxyWidget::mouseMoveEvent
+416 QGraphicsProxyWidget::mousePressEvent
+424 QGraphicsProxyWidget::mouseReleaseEvent
+432 QGraphicsProxyWidget::mouseDoubleClickEvent
+440 QGraphicsProxyWidget::wheelEvent
+448 QGraphicsProxyWidget::keyPressEvent
+456 QGraphicsProxyWidget::keyReleaseEvent
+464 (int (*)(...))-0x00000000000000010
+472 (int (*)(...))(& _ZTI20QGraphicsProxyWidget)
+480 QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidgetD1Ev
+488 QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidgetD0Ev
+496 QGraphicsItem::advance
+504 QGraphicsWidget::_ZThn16_NK15QGraphicsWidget12boundingRectEv
+512 QGraphicsWidget::_ZThn16_NK15QGraphicsWidget5shapeEv
+520 QGraphicsItem::contains
+528 QGraphicsItem::collidesWithItem
+536 QGraphicsItem::collidesWithPath
+544 QGraphicsItem::isObscuredBy
+552 QGraphicsItem::opaqueArea
+560 QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget5paintEP8QPainterPK24QStyleOptionGraphicsItemP7QWidget
+568 QGraphicsProxyWidget::_ZThn16_NK20QGraphicsProxyWidget4typeEv
+576 QGraphicsItem::sceneEventFilter
+584 QGraphicsWidget::_ZThn16_N15QGraphicsWidget10sceneEventEP6QEvent
+592 QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget16contextMenuEventEP30QGraphicsSceneContextMenuEvent
+600 QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget14dragEnterEventEP27QGraphicsSceneDragDropEvent
+608 QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget14dragLeaveEventEP27QGraphicsSceneDragDropEvent
+616 QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget13dragMoveEventEP27QGraphicsSceneDragDropEvent
+624 QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget9dropEventEP27QGraphicsSceneDragDropEvent
+632 QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget12focusInEventEP11QFocusEvent
+640 QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget13focusOutEventEP11QFocusEvent
+648 QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget15hoverEnterEventEP24QGraphicsSceneHoverEvent
+656 QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget14hoverMoveEventEP24QGraphicsSceneHoverEvent
+664 QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget15hoverLeaveEventEP24QGraphicsSceneHoverEvent
+672 QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget13keyPressEventEP9QKeyEvent
+680 QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget15keyReleaseEventEP9QKeyEvent
+688 QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget15mousePressEventEP24QGraphicsSceneMouseEvent
+696 QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget14mouseMoveEventEP24QGraphicsSceneMouseEvent
+704 QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget17mouseReleaseEventEP24QGraphicsSceneMouseEvent
+712 QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget21mouseDoubleClickEventEP24QGraphicsSceneMouseEvent
+720 QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget10wheelEventEP24QGraphicsSceneWheelEvent
+728 QGraphicsItem::inputMethodEvent
+736 QGraphicsItem::inputMethodQuery
+744 QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget10itemChangeEN13QGraphicsItem18GraphicsItemChangeERK8QVariant
+752 QGraphicsItem::supportsExtension
+760 QGraphicsItem::setExtension
+768 QGraphicsItem::extension
+776 (int (*)(...))-0x00000000000000020
+784 (int (*)(...))(& _ZTI20QGraphicsProxyWidget)
+792 QGraphicsProxyWidget::_ZThn32_N20QGraphicsProxyWidgetD1Ev
+800 QGraphicsProxyWidget::_ZThn32_N20QGraphicsProxyWidgetD0Ev
+808 QGraphicsProxyWidget::_ZThn32_N20QGraphicsProxyWidget11setGeometryERK6QRectF
+816 QGraphicsWidget::_ZThn32_NK15QGraphicsWidget18getContentsMarginsEPdS0_S0_S0_
+824 QGraphicsWidget::_ZThn32_N15QGraphicsWidget14updateGeometryEv
+832 QGraphicsProxyWidget::_ZThn32_NK20QGraphicsProxyWidget8sizeHintEN2Qt8SizeHintERK6QSizeF
+
+Class QGraphicsProxyWidget
+ size=48 align=8
+ base size=48 base align=8
+QGraphicsProxyWidget (0x7f62dbdbf8c0) 0
+ vptr=((& QGraphicsProxyWidget::_ZTV20QGraphicsProxyWidget) + 16u)
+ QGraphicsWidget (0x7f62dbdc5000) 0
+ primary-for QGraphicsProxyWidget (0x7f62dbdbf8c0)
+ QGraphicsObject (0x7f62dbdc5080) 0
+ primary-for QGraphicsWidget (0x7f62dbdc5000)
+ QObject (0x7f62dbdbf930) 0
+ primary-for QGraphicsObject (0x7f62dbdc5080)
+ QGraphicsItem (0x7f62dbdbf9a0) 16
+ vptr=((& QGraphicsProxyWidget::_ZTV20QGraphicsProxyWidget) + 480u)
+ QGraphicsLayoutItem (0x7f62dbdbfa10) 32
+ vptr=((& QGraphicsProxyWidget::_ZTV20QGraphicsProxyWidget) + 792u)
+
+Vtable for QGraphicsScene
+QGraphicsScene::_ZTV14QGraphicsScene: 34u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QGraphicsScene)
+16 QGraphicsScene::metaObject
+24 QGraphicsScene::qt_metacast
+32 QGraphicsScene::qt_metacall
+40 QGraphicsScene::~QGraphicsScene
+48 QGraphicsScene::~QGraphicsScene
+56 QGraphicsScene::event
+64 QGraphicsScene::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QGraphicsScene::inputMethodQuery
+120 QGraphicsScene::contextMenuEvent
+128 QGraphicsScene::dragEnterEvent
+136 QGraphicsScene::dragMoveEvent
+144 QGraphicsScene::dragLeaveEvent
+152 QGraphicsScene::dropEvent
+160 QGraphicsScene::focusInEvent
+168 QGraphicsScene::focusOutEvent
+176 QGraphicsScene::helpEvent
+184 QGraphicsScene::keyPressEvent
+192 QGraphicsScene::keyReleaseEvent
+200 QGraphicsScene::mousePressEvent
+208 QGraphicsScene::mouseMoveEvent
+216 QGraphicsScene::mouseReleaseEvent
+224 QGraphicsScene::mouseDoubleClickEvent
+232 QGraphicsScene::wheelEvent
+240 QGraphicsScene::inputMethodEvent
+248 QGraphicsScene::drawBackground
+256 QGraphicsScene::drawForeground
+264 QGraphicsScene::drawItems
+
+Class QGraphicsScene
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsScene (0x7f62dbdec930) 0
+ vptr=((& QGraphicsScene::_ZTV14QGraphicsScene) + 16u)
+ QObject (0x7f62dbdec9a0) 0
+ primary-for QGraphicsScene (0x7f62dbdec930)
+
+Vtable for QGraphicsSceneEvent
+QGraphicsSceneEvent::_ZTV19QGraphicsSceneEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QGraphicsSceneEvent)
+16 QGraphicsSceneEvent::~QGraphicsSceneEvent
+24 QGraphicsSceneEvent::~QGraphicsSceneEvent
+
+Class QGraphicsSceneEvent
+ size=32 align=8
+ base size=32 base align=8
+QGraphicsSceneEvent (0x7f62dbc9e850) 0
+ vptr=((& QGraphicsSceneEvent::_ZTV19QGraphicsSceneEvent) + 16u)
+ QEvent (0x7f62dbc9e8c0) 0
+ primary-for QGraphicsSceneEvent (0x7f62dbc9e850)
+
+Vtable for QGraphicsSceneMouseEvent
+QGraphicsSceneMouseEvent::_ZTV24QGraphicsSceneMouseEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI24QGraphicsSceneMouseEvent)
+16 QGraphicsSceneMouseEvent::~QGraphicsSceneMouseEvent
+24 QGraphicsSceneMouseEvent::~QGraphicsSceneMouseEvent
+
+Class QGraphicsSceneMouseEvent
+ size=32 align=8
+ base size=32 base align=8
+QGraphicsSceneMouseEvent (0x7f62dbccc310) 0
+ vptr=((& QGraphicsSceneMouseEvent::_ZTV24QGraphicsSceneMouseEvent) + 16u)
+ QGraphicsSceneEvent (0x7f62dbccc380) 0
+ primary-for QGraphicsSceneMouseEvent (0x7f62dbccc310)
+ QEvent (0x7f62dbccc3f0) 0
+ primary-for QGraphicsSceneEvent (0x7f62dbccc380)
+
+Vtable for QGraphicsSceneWheelEvent
+QGraphicsSceneWheelEvent::_ZTV24QGraphicsSceneWheelEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI24QGraphicsSceneWheelEvent)
+16 QGraphicsSceneWheelEvent::~QGraphicsSceneWheelEvent
+24 QGraphicsSceneWheelEvent::~QGraphicsSceneWheelEvent
+
+Class QGraphicsSceneWheelEvent
+ size=32 align=8
+ base size=32 base align=8
+QGraphicsSceneWheelEvent (0x7f62dbccccb0) 0
+ vptr=((& QGraphicsSceneWheelEvent::_ZTV24QGraphicsSceneWheelEvent) + 16u)
+ QGraphicsSceneEvent (0x7f62dbcccd20) 0
+ primary-for QGraphicsSceneWheelEvent (0x7f62dbccccb0)
+ QEvent (0x7f62dbcccd90) 0
+ primary-for QGraphicsSceneEvent (0x7f62dbcccd20)
+
+Vtable for QGraphicsSceneContextMenuEvent
+QGraphicsSceneContextMenuEvent::_ZTV30QGraphicsSceneContextMenuEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI30QGraphicsSceneContextMenuEvent)
+16 QGraphicsSceneContextMenuEvent::~QGraphicsSceneContextMenuEvent
+24 QGraphicsSceneContextMenuEvent::~QGraphicsSceneContextMenuEvent
+
+Class QGraphicsSceneContextMenuEvent
+ size=32 align=8
+ base size=32 base align=8
+QGraphicsSceneContextMenuEvent (0x7f62dbce45b0) 0
+ vptr=((& QGraphicsSceneContextMenuEvent::_ZTV30QGraphicsSceneContextMenuEvent) + 16u)
+ QGraphicsSceneEvent (0x7f62dbce4620) 0
+ primary-for QGraphicsSceneContextMenuEvent (0x7f62dbce45b0)
+ QEvent (0x7f62dbce4690) 0
+ primary-for QGraphicsSceneEvent (0x7f62dbce4620)
+
+Vtable for QGraphicsSceneHoverEvent
+QGraphicsSceneHoverEvent::_ZTV24QGraphicsSceneHoverEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI24QGraphicsSceneHoverEvent)
+16 QGraphicsSceneHoverEvent::~QGraphicsSceneHoverEvent
+24 QGraphicsSceneHoverEvent::~QGraphicsSceneHoverEvent
+
+Class QGraphicsSceneHoverEvent
+ size=32 align=8
+ base size=32 base align=8
+QGraphicsSceneHoverEvent (0x7f62dbcef0e0) 0
+ vptr=((& QGraphicsSceneHoverEvent::_ZTV24QGraphicsSceneHoverEvent) + 16u)
+ QGraphicsSceneEvent (0x7f62dbcef150) 0
+ primary-for QGraphicsSceneHoverEvent (0x7f62dbcef0e0)
+ QEvent (0x7f62dbcef1c0) 0
+ primary-for QGraphicsSceneEvent (0x7f62dbcef150)
+
+Vtable for QGraphicsSceneHelpEvent
+QGraphicsSceneHelpEvent::_ZTV23QGraphicsSceneHelpEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI23QGraphicsSceneHelpEvent)
+16 QGraphicsSceneHelpEvent::~QGraphicsSceneHelpEvent
+24 QGraphicsSceneHelpEvent::~QGraphicsSceneHelpEvent
+
+Class QGraphicsSceneHelpEvent
+ size=32 align=8
+ base size=32 base align=8
+QGraphicsSceneHelpEvent (0x7f62dbcefa80) 0
+ vptr=((& QGraphicsSceneHelpEvent::_ZTV23QGraphicsSceneHelpEvent) + 16u)
+ QGraphicsSceneEvent (0x7f62dbcefaf0) 0
+ primary-for QGraphicsSceneHelpEvent (0x7f62dbcefa80)
+ QEvent (0x7f62dbcefb60) 0
+ primary-for QGraphicsSceneEvent (0x7f62dbcefaf0)
+
+Vtable for QGraphicsSceneDragDropEvent
+QGraphicsSceneDragDropEvent::_ZTV27QGraphicsSceneDragDropEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI27QGraphicsSceneDragDropEvent)
+16 QGraphicsSceneDragDropEvent::~QGraphicsSceneDragDropEvent
+24 QGraphicsSceneDragDropEvent::~QGraphicsSceneDragDropEvent
+
+Class QGraphicsSceneDragDropEvent
+ size=32 align=8
+ base size=32 base align=8
+QGraphicsSceneDragDropEvent (0x7f62dbd02380) 0
+ vptr=((& QGraphicsSceneDragDropEvent::_ZTV27QGraphicsSceneDragDropEvent) + 16u)
+ QGraphicsSceneEvent (0x7f62dbd023f0) 0
+ primary-for QGraphicsSceneDragDropEvent (0x7f62dbd02380)
+ QEvent (0x7f62dbd02460) 0
+ primary-for QGraphicsSceneEvent (0x7f62dbd023f0)
+
+Vtable for QGraphicsSceneResizeEvent
+QGraphicsSceneResizeEvent::_ZTV25QGraphicsSceneResizeEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI25QGraphicsSceneResizeEvent)
+16 QGraphicsSceneResizeEvent::~QGraphicsSceneResizeEvent
+24 QGraphicsSceneResizeEvent::~QGraphicsSceneResizeEvent
+
+Class QGraphicsSceneResizeEvent
+ size=32 align=8
+ base size=32 base align=8
+QGraphicsSceneResizeEvent (0x7f62dbd02d20) 0
+ vptr=((& QGraphicsSceneResizeEvent::_ZTV25QGraphicsSceneResizeEvent) + 16u)
+ QGraphicsSceneEvent (0x7f62dbd02d90) 0
+ primary-for QGraphicsSceneResizeEvent (0x7f62dbd02d20)
+ QEvent (0x7f62dbd02e00) 0
+ primary-for QGraphicsSceneEvent (0x7f62dbd02d90)
+
+Vtable for QGraphicsSceneMoveEvent
+QGraphicsSceneMoveEvent::_ZTV23QGraphicsSceneMoveEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI23QGraphicsSceneMoveEvent)
+16 QGraphicsSceneMoveEvent::~QGraphicsSceneMoveEvent
+24 QGraphicsSceneMoveEvent::~QGraphicsSceneMoveEvent
+
+Class QGraphicsSceneMoveEvent
+ size=32 align=8
+ base size=32 base align=8
+QGraphicsSceneMoveEvent (0x7f62dbd16460) 0
+ vptr=((& QGraphicsSceneMoveEvent::_ZTV23QGraphicsSceneMoveEvent) + 16u)
+ QGraphicsSceneEvent (0x7f62dbd164d0) 0
+ primary-for QGraphicsSceneMoveEvent (0x7f62dbd16460)
+ QEvent (0x7f62dbd16540) 0
+ primary-for QGraphicsSceneEvent (0x7f62dbd164d0)
+
+Vtable for QGraphicsTransform
+QGraphicsTransform::_ZTV18QGraphicsTransform: 15u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QGraphicsTransform)
+16 QGraphicsTransform::metaObject
+24 QGraphicsTransform::qt_metacast
+32 QGraphicsTransform::qt_metacall
+40 QGraphicsTransform::~QGraphicsTransform
+48 QGraphicsTransform::~QGraphicsTransform
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+
+Class QGraphicsTransform
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsTransform (0x7f62dbd16c40) 0
+ vptr=((& QGraphicsTransform::_ZTV18QGraphicsTransform) + 16u)
+ QObject (0x7f62dbd16cb0) 0
+ primary-for QGraphicsTransform (0x7f62dbd16c40)
+
+Vtable for QGraphicsScale
+QGraphicsScale::_ZTV14QGraphicsScale: 15u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QGraphicsScale)
+16 QGraphicsScale::metaObject
+24 QGraphicsScale::qt_metacast
+32 QGraphicsScale::qt_metacall
+40 QGraphicsScale::~QGraphicsScale
+48 QGraphicsScale::~QGraphicsScale
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QGraphicsScale::applyTo
+
+Class QGraphicsScale
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsScale (0x7f62dbd34150) 0
+ vptr=((& QGraphicsScale::_ZTV14QGraphicsScale) + 16u)
+ QGraphicsTransform (0x7f62dbd341c0) 0
+ primary-for QGraphicsScale (0x7f62dbd34150)
+ QObject (0x7f62dbd34230) 0
+ primary-for QGraphicsTransform (0x7f62dbd341c0)
+
+Vtable for QGraphicsRotation
+QGraphicsRotation::_ZTV17QGraphicsRotation: 15u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QGraphicsRotation)
+16 QGraphicsRotation::metaObject
+24 QGraphicsRotation::qt_metacast
+32 QGraphicsRotation::qt_metacall
+40 QGraphicsRotation::~QGraphicsRotation
+48 QGraphicsRotation::~QGraphicsRotation
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QGraphicsRotation::applyTo
+
+Class QGraphicsRotation
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsRotation (0x7f62dbd48620) 0
+ vptr=((& QGraphicsRotation::_ZTV17QGraphicsRotation) + 16u)
+ QGraphicsTransform (0x7f62dbd48690) 0
+ primary-for QGraphicsRotation (0x7f62dbd48620)
+ QObject (0x7f62dbd48700) 0
+ primary-for QGraphicsTransform (0x7f62dbd48690)
+
+Vtable for QScrollArea
+QScrollArea::_ZTV11QScrollArea: 65u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QScrollArea)
+16 QScrollArea::metaObject
+24 QScrollArea::qt_metacast
+32 QScrollArea::qt_metacall
+40 QScrollArea::~QScrollArea
+48 QScrollArea::~QScrollArea
+56 QScrollArea::event
+64 QScrollArea::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QScrollArea::sizeHint
+136 QAbstractScrollArea::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QAbstractScrollArea::mousePressEvent
+168 QAbstractScrollArea::mouseReleaseEvent
+176 QAbstractScrollArea::mouseDoubleClickEvent
+184 QAbstractScrollArea::mouseMoveEvent
+192 QAbstractScrollArea::wheelEvent
+200 QAbstractScrollArea::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QAbstractScrollArea::paintEvent
+256 QWidget::moveEvent
+264 QScrollArea::resizeEvent
+272 QWidget::closeEvent
+280 QAbstractScrollArea::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QAbstractScrollArea::dragEnterEvent
+312 QAbstractScrollArea::dragMoveEvent
+320 QAbstractScrollArea::dragLeaveEvent
+328 QAbstractScrollArea::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QFrame::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QScrollArea::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QAbstractScrollArea::viewportEvent
+456 QScrollArea::scrollContentsBy
+464 (int (*)(...))-0x00000000000000010
+472 (int (*)(...))(& _ZTI11QScrollArea)
+480 QScrollArea::_ZThn16_N11QScrollAreaD1Ev
+488 QScrollArea::_ZThn16_N11QScrollAreaD0Ev
+496 QWidget::_ZThn16_NK7QWidget7devTypeEv
+504 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+512 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QScrollArea
+ size=40 align=8
+ base size=40 base align=8
+QScrollArea (0x7f62dbd5baf0) 0
+ vptr=((& QScrollArea::_ZTV11QScrollArea) + 16u)
+ QAbstractScrollArea (0x7f62dbd5bb60) 0
+ primary-for QScrollArea (0x7f62dbd5baf0)
+ QFrame (0x7f62dbd5bbd0) 0
+ primary-for QAbstractScrollArea (0x7f62dbd5bb60)
+ QWidget (0x7f62dbd49c80) 0
+ primary-for QFrame (0x7f62dbd5bbd0)
+ QObject (0x7f62dbd5bc40) 0
+ primary-for QWidget (0x7f62dbd49c80)
+ QPaintDevice (0x7f62dbd5bcb0) 16
+ vptr=((& QScrollArea::_ZTV11QScrollArea) + 480u)
+
+Vtable for QGraphicsView
+QGraphicsView::_ZTV13QGraphicsView: 68u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QGraphicsView)
+16 QGraphicsView::metaObject
+24 QGraphicsView::qt_metacast
+32 QGraphicsView::qt_metacall
+40 QGraphicsView::~QGraphicsView
+48 QGraphicsView::~QGraphicsView
+56 QGraphicsView::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QGraphicsView::sizeHint
+136 QAbstractScrollArea::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QGraphicsView::mousePressEvent
+168 QGraphicsView::mouseReleaseEvent
+176 QGraphicsView::mouseDoubleClickEvent
+184 QGraphicsView::mouseMoveEvent
+192 QGraphicsView::wheelEvent
+200 QGraphicsView::keyPressEvent
+208 QGraphicsView::keyReleaseEvent
+216 QGraphicsView::focusInEvent
+224 QGraphicsView::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QGraphicsView::paintEvent
+256 QWidget::moveEvent
+264 QGraphicsView::resizeEvent
+272 QWidget::closeEvent
+280 QGraphicsView::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QGraphicsView::dragEnterEvent
+312 QGraphicsView::dragMoveEvent
+320 QGraphicsView::dragLeaveEvent
+328 QGraphicsView::dropEvent
+336 QGraphicsView::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QFrame::changeEvent
+368 QWidget::metric
+376 QGraphicsView::inputMethodEvent
+384 QGraphicsView::inputMethodQuery
+392 QGraphicsView::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QGraphicsView::viewportEvent
+456 QGraphicsView::scrollContentsBy
+464 QGraphicsView::drawBackground
+472 QGraphicsView::drawForeground
+480 QGraphicsView::drawItems
+488 (int (*)(...))-0x00000000000000010
+496 (int (*)(...))(& _ZTI13QGraphicsView)
+504 QGraphicsView::_ZThn16_N13QGraphicsViewD1Ev
+512 QGraphicsView::_ZThn16_N13QGraphicsViewD0Ev
+520 QWidget::_ZThn16_NK7QWidget7devTypeEv
+528 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+536 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QGraphicsView
+ size=40 align=8
+ base size=40 base align=8
+QGraphicsView (0x7f62dbd7da10) 0
+ vptr=((& QGraphicsView::_ZTV13QGraphicsView) + 16u)
+ QAbstractScrollArea (0x7f62dbd7da80) 0
+ primary-for QGraphicsView (0x7f62dbd7da10)
+ QFrame (0x7f62dbd7daf0) 0
+ primary-for QAbstractScrollArea (0x7f62dbd7da80)
+ QWidget (0x7f62dbd78680) 0
+ primary-for QFrame (0x7f62dbd7daf0)
+ QObject (0x7f62dbd7db60) 0
+ primary-for QWidget (0x7f62dbd78680)
+ QPaintDevice (0x7f62dbd7dbd0) 16
+ vptr=((& QGraphicsView::_ZTV13QGraphicsView) + 504u)
+
+Vtable for QAbstractButton
+QAbstractButton::_ZTV15QAbstractButton: 66u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QAbstractButton)
+16 QAbstractButton::metaObject
+24 QAbstractButton::qt_metacast
+32 QAbstractButton::qt_metacall
+40 QAbstractButton::~QAbstractButton
+48 QAbstractButton::~QAbstractButton
+56 QAbstractButton::event
+64 QObject::eventFilter
+72 QAbstractButton::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QWidget::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QAbstractButton::mousePressEvent
+168 QAbstractButton::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QAbstractButton::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QAbstractButton::keyPressEvent
+208 QAbstractButton::keyReleaseEvent
+216 QAbstractButton::focusInEvent
+224 QAbstractButton::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 __cxa_pure_virtual
+256 QWidget::moveEvent
+264 QWidget::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QAbstractButton::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QAbstractButton::hitButton
+456 QAbstractButton::checkStateSet
+464 QAbstractButton::nextCheckState
+472 (int (*)(...))-0x00000000000000010
+480 (int (*)(...))(& _ZTI15QAbstractButton)
+488 QAbstractButton::_ZThn16_N15QAbstractButtonD1Ev
+496 QAbstractButton::_ZThn16_N15QAbstractButtonD0Ev
+504 QWidget::_ZThn16_NK7QWidget7devTypeEv
+512 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+520 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QAbstractButton
+ size=40 align=8
+ base size=40 base align=8
+QAbstractButton (0x7f62dbc6cee0) 0
+ vptr=((& QAbstractButton::_ZTV15QAbstractButton) + 16u)
+ QWidget (0x7f62dbc75380) 0
+ primary-for QAbstractButton (0x7f62dbc6cee0)
+ QObject (0x7f62dbc6cf50) 0
+ primary-for QWidget (0x7f62dbc75380)
+ QPaintDevice (0x7f62dbc7b000) 16
+ vptr=((& QAbstractButton::_ZTV15QAbstractButton) + 488u)
+
+Vtable for QButtonGroup
+QButtonGroup::_ZTV12QButtonGroup: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QButtonGroup)
+16 QButtonGroup::metaObject
+24 QButtonGroup::qt_metacast
+32 QButtonGroup::qt_metacall
+40 QButtonGroup::~QButtonGroup
+48 QButtonGroup::~QButtonGroup
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QButtonGroup
+ size=16 align=8
+ base size=16 base align=8
+QButtonGroup (0x7f62dbaab310) 0
+ vptr=((& QButtonGroup::_ZTV12QButtonGroup) + 16u)
+ QObject (0x7f62dbaab380) 0
+ primary-for QButtonGroup (0x7f62dbaab310)
+
+Vtable for QCalendarWidget
+QCalendarWidget::_ZTV15QCalendarWidget: 64u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QCalendarWidget)
+16 QCalendarWidget::metaObject
+24 QCalendarWidget::qt_metacast
+32 QCalendarWidget::qt_metacall
+40 QCalendarWidget::~QCalendarWidget
+48 QCalendarWidget::~QCalendarWidget
+56 QCalendarWidget::event
+64 QCalendarWidget::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QCalendarWidget::sizeHint
+136 QCalendarWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QCalendarWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QCalendarWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QWidget::paintEvent
+256 QWidget::moveEvent
+264 QCalendarWidget::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QWidget::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QCalendarWidget::paintCell
+456 (int (*)(...))-0x00000000000000010
+464 (int (*)(...))(& _ZTI15QCalendarWidget)
+472 QCalendarWidget::_ZThn16_N15QCalendarWidgetD1Ev
+480 QCalendarWidget::_ZThn16_N15QCalendarWidgetD0Ev
+488 QWidget::_ZThn16_NK7QWidget7devTypeEv
+496 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+504 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QCalendarWidget
+ size=40 align=8
+ base size=40 base align=8
+QCalendarWidget (0x7f62dbac3f50) 0
+ vptr=((& QCalendarWidget::_ZTV15QCalendarWidget) + 16u)
+ QWidget (0x7f62dbac1900) 0
+ primary-for QCalendarWidget (0x7f62dbac3f50)
+ QObject (0x7f62dbaca000) 0
+ primary-for QWidget (0x7f62dbac1900)
+ QPaintDevice (0x7f62dbaca070) 16
+ vptr=((& QCalendarWidget::_ZTV15QCalendarWidget) + 472u)
+
+Vtable for QCheckBox
+QCheckBox::_ZTV9QCheckBox: 66u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QCheckBox)
+16 QCheckBox::metaObject
+24 QCheckBox::qt_metacast
+32 QCheckBox::qt_metacall
+40 QCheckBox::~QCheckBox
+48 QCheckBox::~QCheckBox
+56 QCheckBox::event
+64 QObject::eventFilter
+72 QAbstractButton::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QCheckBox::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QAbstractButton::mousePressEvent
+168 QAbstractButton::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QCheckBox::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QAbstractButton::keyPressEvent
+208 QAbstractButton::keyReleaseEvent
+216 QAbstractButton::focusInEvent
+224 QAbstractButton::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QCheckBox::paintEvent
+256 QWidget::moveEvent
+264 QWidget::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QAbstractButton::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QCheckBox::hitButton
+456 QCheckBox::checkStateSet
+464 QCheckBox::nextCheckState
+472 (int (*)(...))-0x00000000000000010
+480 (int (*)(...))(& _ZTI9QCheckBox)
+488 QCheckBox::_ZThn16_N9QCheckBoxD1Ev
+496 QCheckBox::_ZThn16_N9QCheckBoxD0Ev
+504 QWidget::_ZThn16_NK7QWidget7devTypeEv
+512 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+520 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QCheckBox
+ size=40 align=8
+ base size=40 base align=8
+QCheckBox (0x7f62dbaf70e0) 0
+ vptr=((& QCheckBox::_ZTV9QCheckBox) + 16u)
+ QAbstractButton (0x7f62dbaf7150) 0
+ primary-for QCheckBox (0x7f62dbaf70e0)
+ QWidget (0x7f62dbaeb900) 0
+ primary-for QAbstractButton (0x7f62dbaf7150)
+ QObject (0x7f62dbaf71c0) 0
+ primary-for QWidget (0x7f62dbaeb900)
+ QPaintDevice (0x7f62dbaf7230) 16
+ vptr=((& QCheckBox::_ZTV9QCheckBox) + 488u)
+
+Vtable for QComboBox
+QComboBox::_ZTV9QComboBox: 65u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QComboBox)
+16 QComboBox::metaObject
+24 QComboBox::qt_metacast
+32 QComboBox::qt_metacall
+40 QComboBox::~QComboBox
+48 QComboBox::~QComboBox
+56 QComboBox::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QComboBox::sizeHint
+136 QComboBox::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QComboBox::mousePressEvent
+168 QComboBox::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QComboBox::wheelEvent
+200 QComboBox::keyPressEvent
+208 QComboBox::keyReleaseEvent
+216 QComboBox::focusInEvent
+224 QComboBox::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QComboBox::paintEvent
+256 QWidget::moveEvent
+264 QComboBox::resizeEvent
+272 QWidget::closeEvent
+280 QComboBox::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QComboBox::showEvent
+344 QComboBox::hideEvent
+352 QWidget::x11Event
+360 QComboBox::changeEvent
+368 QWidget::metric
+376 QComboBox::inputMethodEvent
+384 QComboBox::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QComboBox::showPopup
+456 QComboBox::hidePopup
+464 (int (*)(...))-0x00000000000000010
+472 (int (*)(...))(& _ZTI9QComboBox)
+480 QComboBox::_ZThn16_N9QComboBoxD1Ev
+488 QComboBox::_ZThn16_N9QComboBoxD0Ev
+496 QWidget::_ZThn16_NK7QWidget7devTypeEv
+504 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+512 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QComboBox
+ size=40 align=8
+ base size=40 base align=8
+QComboBox (0x7f62dbb198c0) 0
+ vptr=((& QComboBox::_ZTV9QComboBox) + 16u)
+ QWidget (0x7f62dbb13900) 0
+ primary-for QComboBox (0x7f62dbb198c0)
+ QObject (0x7f62dbb19930) 0
+ primary-for QWidget (0x7f62dbb13900)
+ QPaintDevice (0x7f62dbb199a0) 16
+ vptr=((& QComboBox::_ZTV9QComboBox) + 480u)
+
+Vtable for QPushButton
+QPushButton::_ZTV11QPushButton: 66u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QPushButton)
+16 QPushButton::metaObject
+24 QPushButton::qt_metacast
+32 QPushButton::qt_metacall
+40 QPushButton::~QPushButton
+48 QPushButton::~QPushButton
+56 QPushButton::event
+64 QObject::eventFilter
+72 QAbstractButton::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QPushButton::sizeHint
+136 QPushButton::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QAbstractButton::mousePressEvent
+168 QAbstractButton::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QAbstractButton::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QPushButton::keyPressEvent
+208 QAbstractButton::keyReleaseEvent
+216 QPushButton::focusInEvent
+224 QPushButton::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QPushButton::paintEvent
+256 QWidget::moveEvent
+264 QWidget::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QAbstractButton::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QAbstractButton::hitButton
+456 QAbstractButton::checkStateSet
+464 QAbstractButton::nextCheckState
+472 (int (*)(...))-0x00000000000000010
+480 (int (*)(...))(& _ZTI11QPushButton)
+488 QPushButton::_ZThn16_N11QPushButtonD1Ev
+496 QPushButton::_ZThn16_N11QPushButtonD0Ev
+504 QWidget::_ZThn16_NK7QWidget7devTypeEv
+512 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+520 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QPushButton
+ size=40 align=8
+ base size=40 base align=8
+QPushButton (0x7f62db9863f0) 0
+ vptr=((& QPushButton::_ZTV11QPushButton) + 16u)
+ QAbstractButton (0x7f62db986460) 0
+ primary-for QPushButton (0x7f62db9863f0)
+ QWidget (0x7f62dbb83600) 0
+ primary-for QAbstractButton (0x7f62db986460)
+ QObject (0x7f62db9864d0) 0
+ primary-for QWidget (0x7f62dbb83600)
+ QPaintDevice (0x7f62db986540) 16
+ vptr=((& QPushButton::_ZTV11QPushButton) + 488u)
+
+Vtable for QCommandLinkButton
+QCommandLinkButton::_ZTV18QCommandLinkButton: 66u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QCommandLinkButton)
+16 QCommandLinkButton::metaObject
+24 QCommandLinkButton::qt_metacast
+32 QCommandLinkButton::qt_metacall
+40 QCommandLinkButton::~QCommandLinkButton
+48 QCommandLinkButton::~QCommandLinkButton
+56 QCommandLinkButton::event
+64 QObject::eventFilter
+72 QAbstractButton::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QCommandLinkButton::sizeHint
+136 QCommandLinkButton::minimumSizeHint
+144 QCommandLinkButton::heightForWidth
+152 QWidget::paintEngine
+160 QAbstractButton::mousePressEvent
+168 QAbstractButton::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QAbstractButton::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QPushButton::keyPressEvent
+208 QAbstractButton::keyReleaseEvent
+216 QPushButton::focusInEvent
+224 QPushButton::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QCommandLinkButton::paintEvent
+256 QWidget::moveEvent
+264 QWidget::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QAbstractButton::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QAbstractButton::hitButton
+456 QAbstractButton::checkStateSet
+464 QAbstractButton::nextCheckState
+472 (int (*)(...))-0x00000000000000010
+480 (int (*)(...))(& _ZTI18QCommandLinkButton)
+488 QCommandLinkButton::_ZThn16_N18QCommandLinkButtonD1Ev
+496 QCommandLinkButton::_ZThn16_N18QCommandLinkButtonD0Ev
+504 QWidget::_ZThn16_NK7QWidget7devTypeEv
+512 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+520 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QCommandLinkButton
+ size=40 align=8
+ base size=40 base align=8
+QCommandLinkButton (0x7f62db9aad20) 0
+ vptr=((& QCommandLinkButton::_ZTV18QCommandLinkButton) + 16u)
+ QPushButton (0x7f62db9aad90) 0
+ primary-for QCommandLinkButton (0x7f62db9aad20)
+ QAbstractButton (0x7f62db9aae00) 0
+ primary-for QPushButton (0x7f62db9aad90)
+ QWidget (0x7f62db9ad600) 0
+ primary-for QAbstractButton (0x7f62db9aae00)
+ QObject (0x7f62db9aae70) 0
+ primary-for QWidget (0x7f62db9ad600)
+ QPaintDevice (0x7f62db9aaee0) 16
+ vptr=((& QCommandLinkButton::_ZTV18QCommandLinkButton) + 488u)
+
+Vtable for QDateTimeEdit
+QDateTimeEdit::_ZTV13QDateTimeEdit: 70u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QDateTimeEdit)
+16 QDateTimeEdit::metaObject
+24 QDateTimeEdit::qt_metacast
+32 QDateTimeEdit::qt_metacall
+40 QDateTimeEdit::~QDateTimeEdit
+48 QDateTimeEdit::~QDateTimeEdit
+56 QDateTimeEdit::event
+64 QObject::eventFilter
+72 QAbstractSpinBox::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QDateTimeEdit::sizeHint
+136 QAbstractSpinBox::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QDateTimeEdit::mousePressEvent
+168 QAbstractSpinBox::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QAbstractSpinBox::mouseMoveEvent
+192 QDateTimeEdit::wheelEvent
+200 QDateTimeEdit::keyPressEvent
+208 QAbstractSpinBox::keyReleaseEvent
+216 QDateTimeEdit::focusInEvent
+224 QAbstractSpinBox::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QDateTimeEdit::paintEvent
+256 QWidget::moveEvent
+264 QAbstractSpinBox::resizeEvent
+272 QAbstractSpinBox::closeEvent
+280 QAbstractSpinBox::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QAbstractSpinBox::showEvent
+344 QAbstractSpinBox::hideEvent
+352 QWidget::x11Event
+360 QAbstractSpinBox::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QAbstractSpinBox::inputMethodQuery
+392 QDateTimeEdit::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QDateTimeEdit::validate
+456 QDateTimeEdit::fixup
+464 QDateTimeEdit::stepBy
+472 QDateTimeEdit::clear
+480 QDateTimeEdit::stepEnabled
+488 QDateTimeEdit::dateTimeFromText
+496 QDateTimeEdit::textFromDateTime
+504 (int (*)(...))-0x00000000000000010
+512 (int (*)(...))(& _ZTI13QDateTimeEdit)
+520 QDateTimeEdit::_ZThn16_N13QDateTimeEditD1Ev
+528 QDateTimeEdit::_ZThn16_N13QDateTimeEditD0Ev
+536 QWidget::_ZThn16_NK7QWidget7devTypeEv
+544 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+552 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QDateTimeEdit
+ size=40 align=8
+ base size=40 base align=8
+QDateTimeEdit (0x7f62db9c78c0) 0
+ vptr=((& QDateTimeEdit::_ZTV13QDateTimeEdit) + 16u)
+ QAbstractSpinBox (0x7f62db9c7930) 0
+ primary-for QDateTimeEdit (0x7f62db9c78c0)
+ QWidget (0x7f62db9ce000) 0
+ primary-for QAbstractSpinBox (0x7f62db9c7930)
+ QObject (0x7f62db9c79a0) 0
+ primary-for QWidget (0x7f62db9ce000)
+ QPaintDevice (0x7f62db9c7a10) 16
+ vptr=((& QDateTimeEdit::_ZTV13QDateTimeEdit) + 520u)
+
+Vtable for QTimeEdit
+QTimeEdit::_ZTV9QTimeEdit: 70u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QTimeEdit)
+16 QTimeEdit::metaObject
+24 QTimeEdit::qt_metacast
+32 QTimeEdit::qt_metacall
+40 QTimeEdit::~QTimeEdit
+48 QTimeEdit::~QTimeEdit
+56 QDateTimeEdit::event
+64 QObject::eventFilter
+72 QAbstractSpinBox::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QDateTimeEdit::sizeHint
+136 QAbstractSpinBox::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QDateTimeEdit::mousePressEvent
+168 QAbstractSpinBox::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QAbstractSpinBox::mouseMoveEvent
+192 QDateTimeEdit::wheelEvent
+200 QDateTimeEdit::keyPressEvent
+208 QAbstractSpinBox::keyReleaseEvent
+216 QDateTimeEdit::focusInEvent
+224 QAbstractSpinBox::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QDateTimeEdit::paintEvent
+256 QWidget::moveEvent
+264 QAbstractSpinBox::resizeEvent
+272 QAbstractSpinBox::closeEvent
+280 QAbstractSpinBox::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QAbstractSpinBox::showEvent
+344 QAbstractSpinBox::hideEvent
+352 QWidget::x11Event
+360 QAbstractSpinBox::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QAbstractSpinBox::inputMethodQuery
+392 QDateTimeEdit::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QDateTimeEdit::validate
+456 QDateTimeEdit::fixup
+464 QDateTimeEdit::stepBy
+472 QDateTimeEdit::clear
+480 QDateTimeEdit::stepEnabled
+488 QDateTimeEdit::dateTimeFromText
+496 QDateTimeEdit::textFromDateTime
+504 (int (*)(...))-0x00000000000000010
+512 (int (*)(...))(& _ZTI9QTimeEdit)
+520 QTimeEdit::_ZThn16_N9QTimeEditD1Ev
+528 QTimeEdit::_ZThn16_N9QTimeEditD0Ev
+536 QWidget::_ZThn16_NK7QWidget7devTypeEv
+544 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+552 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QTimeEdit
+ size=40 align=8
+ base size=40 base align=8
+QTimeEdit (0x7f62db9f97e0) 0
+ vptr=((& QTimeEdit::_ZTV9QTimeEdit) + 16u)
+ QDateTimeEdit (0x7f62db9f9850) 0
+ primary-for QTimeEdit (0x7f62db9f97e0)
+ QAbstractSpinBox (0x7f62db9f98c0) 0
+ primary-for QDateTimeEdit (0x7f62db9f9850)
+ QWidget (0x7f62db9cef80) 0
+ primary-for QAbstractSpinBox (0x7f62db9f98c0)
+ QObject (0x7f62db9f9930) 0
+ primary-for QWidget (0x7f62db9cef80)
+ QPaintDevice (0x7f62db9f99a0) 16
+ vptr=((& QTimeEdit::_ZTV9QTimeEdit) + 520u)
+
+Vtable for QDateEdit
+QDateEdit::_ZTV9QDateEdit: 70u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QDateEdit)
+16 QDateEdit::metaObject
+24 QDateEdit::qt_metacast
+32 QDateEdit::qt_metacall
+40 QDateEdit::~QDateEdit
+48 QDateEdit::~QDateEdit
+56 QDateTimeEdit::event
+64 QObject::eventFilter
+72 QAbstractSpinBox::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QDateTimeEdit::sizeHint
+136 QAbstractSpinBox::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QDateTimeEdit::mousePressEvent
+168 QAbstractSpinBox::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QAbstractSpinBox::mouseMoveEvent
+192 QDateTimeEdit::wheelEvent
+200 QDateTimeEdit::keyPressEvent
+208 QAbstractSpinBox::keyReleaseEvent
+216 QDateTimeEdit::focusInEvent
+224 QAbstractSpinBox::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QDateTimeEdit::paintEvent
+256 QWidget::moveEvent
+264 QAbstractSpinBox::resizeEvent
+272 QAbstractSpinBox::closeEvent
+280 QAbstractSpinBox::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QAbstractSpinBox::showEvent
+344 QAbstractSpinBox::hideEvent
+352 QWidget::x11Event
+360 QAbstractSpinBox::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QAbstractSpinBox::inputMethodQuery
+392 QDateTimeEdit::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QDateTimeEdit::validate
+456 QDateTimeEdit::fixup
+464 QDateTimeEdit::stepBy
+472 QDateTimeEdit::clear
+480 QDateTimeEdit::stepEnabled
+488 QDateTimeEdit::dateTimeFromText
+496 QDateTimeEdit::textFromDateTime
+504 (int (*)(...))-0x00000000000000010
+512 (int (*)(...))(& _ZTI9QDateEdit)
+520 QDateEdit::_ZThn16_N9QDateEditD1Ev
+528 QDateEdit::_ZThn16_N9QDateEditD0Ev
+536 QWidget::_ZThn16_NK7QWidget7devTypeEv
+544 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+552 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QDateEdit
+ size=40 align=8
+ base size=40 base align=8
+QDateEdit (0x7f62dba0e8c0) 0
+ vptr=((& QDateEdit::_ZTV9QDateEdit) + 16u)
+ QDateTimeEdit (0x7f62dba0e930) 0
+ primary-for QDateEdit (0x7f62dba0e8c0)
+ QAbstractSpinBox (0x7f62dba0e9a0) 0
+ primary-for QDateTimeEdit (0x7f62dba0e930)
+ QWidget (0x7f62db9ff680) 0
+ primary-for QAbstractSpinBox (0x7f62dba0e9a0)
+ QObject (0x7f62dba0ea10) 0
+ primary-for QWidget (0x7f62db9ff680)
+ QPaintDevice (0x7f62dba0ea80) 16
+ vptr=((& QDateEdit::_ZTV9QDateEdit) + 520u)
+
+Vtable for QDial
+QDial::_ZTV5QDial: 64u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI5QDial)
+16 QDial::metaObject
+24 QDial::qt_metacast
+32 QDial::qt_metacall
+40 QDial::~QDial
+48 QDial::~QDial
+56 QDial::event
+64 QObject::eventFilter
+72 QAbstractSlider::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QDial::sizeHint
+136 QDial::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QDial::mousePressEvent
+168 QDial::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QDial::mouseMoveEvent
+192 QAbstractSlider::wheelEvent
+200 QAbstractSlider::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QDial::paintEvent
+256 QWidget::moveEvent
+264 QDial::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QAbstractSlider::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QDial::sliderChange
+456 (int (*)(...))-0x00000000000000010
+464 (int (*)(...))(& _ZTI5QDial)
+472 QDial::_ZThn16_N5QDialD1Ev
+480 QDial::_ZThn16_N5QDialD0Ev
+488 QWidget::_ZThn16_NK7QWidget7devTypeEv
+496 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+504 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QDial
+ size=40 align=8
+ base size=40 base align=8
+QDial (0x7f62dba55690) 0
+ vptr=((& QDial::_ZTV5QDial) + 16u)
+ QAbstractSlider (0x7f62dba55700) 0
+ primary-for QDial (0x7f62dba55690)
+ QWidget (0x7f62dba56300) 0
+ primary-for QAbstractSlider (0x7f62dba55700)
+ QObject (0x7f62dba55770) 0
+ primary-for QWidget (0x7f62dba56300)
+ QPaintDevice (0x7f62dba557e0) 16
+ vptr=((& QDial::_ZTV5QDial) + 472u)
+
+Vtable for QDialogButtonBox
+QDialogButtonBox::_ZTV16QDialogButtonBox: 63u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QDialogButtonBox)
+16 QDialogButtonBox::metaObject
+24 QDialogButtonBox::qt_metacast
+32 QDialogButtonBox::qt_metacall
+40 QDialogButtonBox::~QDialogButtonBox
+48 QDialogButtonBox::~QDialogButtonBox
+56 QDialogButtonBox::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QWidget::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QWidget::paintEvent
+256 QWidget::moveEvent
+264 QWidget::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QDialogButtonBox::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 (int (*)(...))-0x00000000000000010
+456 (int (*)(...))(& _ZTI16QDialogButtonBox)
+464 QDialogButtonBox::_ZThn16_N16QDialogButtonBoxD1Ev
+472 QDialogButtonBox::_ZThn16_N16QDialogButtonBoxD0Ev
+480 QWidget::_ZThn16_NK7QWidget7devTypeEv
+488 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+496 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QDialogButtonBox
+ size=40 align=8
+ base size=40 base align=8
+QDialogButtonBox (0x7f62db893310) 0
+ vptr=((& QDialogButtonBox::_ZTV16QDialogButtonBox) + 16u)
+ QWidget (0x7f62dba56d00) 0
+ primary-for QDialogButtonBox (0x7f62db893310)
+ QObject (0x7f62db893380) 0
+ primary-for QWidget (0x7f62dba56d00)
+ QPaintDevice (0x7f62db8933f0) 16
+ vptr=((& QDialogButtonBox::_ZTV16QDialogButtonBox) + 464u)
+
+Vtable for QDockWidget
+QDockWidget::_ZTV11QDockWidget: 63u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QDockWidget)
+16 QDockWidget::metaObject
+24 QDockWidget::qt_metacast
+32 QDockWidget::qt_metacall
+40 QDockWidget::~QDockWidget
+48 QDockWidget::~QDockWidget
+56 QDockWidget::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QWidget::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QDockWidget::paintEvent
+256 QWidget::moveEvent
+264 QWidget::resizeEvent
+272 QDockWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QDockWidget::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 (int (*)(...))-0x00000000000000010
+456 (int (*)(...))(& _ZTI11QDockWidget)
+464 QDockWidget::_ZThn16_N11QDockWidgetD1Ev
+472 QDockWidget::_ZThn16_N11QDockWidgetD0Ev
+480 QWidget::_ZThn16_NK7QWidget7devTypeEv
+488 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+496 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QDockWidget
+ size=40 align=8
+ base size=40 base align=8
+QDockWidget (0x7f62db8e77e0) 0
+ vptr=((& QDockWidget::_ZTV11QDockWidget) + 16u)
+ QWidget (0x7f62db89fe80) 0
+ primary-for QDockWidget (0x7f62db8e77e0)
+ QObject (0x7f62db8e7850) 0
+ primary-for QWidget (0x7f62db89fe80)
+ QPaintDevice (0x7f62db8e78c0) 16
+ vptr=((& QDockWidget::_ZTV11QDockWidget) + 464u)
+
+Vtable for QFocusFrame
+QFocusFrame::_ZTV11QFocusFrame: 63u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QFocusFrame)
+16 QFocusFrame::metaObject
+24 QFocusFrame::qt_metacast
+32 QFocusFrame::qt_metacall
+40 QFocusFrame::~QFocusFrame
+48 QFocusFrame::~QFocusFrame
+56 QFocusFrame::event
+64 QFocusFrame::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QWidget::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QFocusFrame::paintEvent
+256 QWidget::moveEvent
+264 QWidget::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QWidget::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 (int (*)(...))-0x00000000000000010
+456 (int (*)(...))(& _ZTI11QFocusFrame)
+464 QFocusFrame::_ZThn16_N11QFocusFrameD1Ev
+472 QFocusFrame::_ZThn16_N11QFocusFrameD0Ev
+480 QWidget::_ZThn16_NK7QWidget7devTypeEv
+488 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+496 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QFocusFrame
+ size=40 align=8
+ base size=40 base align=8
+QFocusFrame (0x7f62db78a230) 0
+ vptr=((& QFocusFrame::_ZTV11QFocusFrame) + 16u)
+ QWidget (0x7f62db93c680) 0
+ primary-for QFocusFrame (0x7f62db78a230)
+ QObject (0x7f62db78a2a0) 0
+ primary-for QWidget (0x7f62db93c680)
+ QPaintDevice (0x7f62db78a310) 16
+ vptr=((& QFocusFrame::_ZTV11QFocusFrame) + 464u)
+
+Vtable for QFontComboBox
+QFontComboBox::_ZTV13QFontComboBox: 65u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QFontComboBox)
+16 QFontComboBox::metaObject
+24 QFontComboBox::qt_metacast
+32 QFontComboBox::qt_metacall
+40 QFontComboBox::~QFontComboBox
+48 QFontComboBox::~QFontComboBox
+56 QFontComboBox::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QFontComboBox::sizeHint
+136 QComboBox::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QComboBox::mousePressEvent
+168 QComboBox::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QComboBox::wheelEvent
+200 QComboBox::keyPressEvent
+208 QComboBox::keyReleaseEvent
+216 QComboBox::focusInEvent
+224 QComboBox::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QComboBox::paintEvent
+256 QWidget::moveEvent
+264 QComboBox::resizeEvent
+272 QWidget::closeEvent
+280 QComboBox::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QComboBox::showEvent
+344 QComboBox::hideEvent
+352 QWidget::x11Event
+360 QComboBox::changeEvent
+368 QWidget::metric
+376 QComboBox::inputMethodEvent
+384 QComboBox::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QComboBox::showPopup
+456 QComboBox::hidePopup
+464 (int (*)(...))-0x00000000000000010
+472 (int (*)(...))(& _ZTI13QFontComboBox)
+480 QFontComboBox::_ZThn16_N13QFontComboBoxD1Ev
+488 QFontComboBox::_ZThn16_N13QFontComboBoxD0Ev
+496 QWidget::_ZThn16_NK7QWidget7devTypeEv
+504 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+512 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QFontComboBox
+ size=40 align=8
+ base size=40 base align=8
+QFontComboBox (0x7f62db79dd90) 0
+ vptr=((& QFontComboBox::_ZTV13QFontComboBox) + 16u)
+ QComboBox (0x7f62db79de00) 0
+ primary-for QFontComboBox (0x7f62db79dd90)
+ QWidget (0x7f62db7a4080) 0
+ primary-for QComboBox (0x7f62db79de00)
+ QObject (0x7f62db79de70) 0
+ primary-for QWidget (0x7f62db7a4080)
+ QPaintDevice (0x7f62db79dee0) 16
+ vptr=((& QFontComboBox::_ZTV13QFontComboBox) + 480u)
+
+Vtable for QGroupBox
+QGroupBox::_ZTV9QGroupBox: 63u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QGroupBox)
+16 QGroupBox::metaObject
+24 QGroupBox::qt_metacast
+32 QGroupBox::qt_metacall
+40 QGroupBox::~QGroupBox
+48 QGroupBox::~QGroupBox
+56 QGroupBox::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QGroupBox::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QWidget::sizeHint
+136 QGroupBox::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QGroupBox::mousePressEvent
+168 QGroupBox::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QGroupBox::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QGroupBox::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QGroupBox::paintEvent
+256 QWidget::moveEvent
+264 QGroupBox::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QGroupBox::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 (int (*)(...))-0x00000000000000010
+456 (int (*)(...))(& _ZTI9QGroupBox)
+464 QGroupBox::_ZThn16_N9QGroupBoxD1Ev
+472 QGroupBox::_ZThn16_N9QGroupBoxD0Ev
+480 QWidget::_ZThn16_NK7QWidget7devTypeEv
+488 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+496 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QGroupBox
+ size=40 align=8
+ base size=40 base align=8
+QGroupBox (0x7f62db7eda80) 0
+ vptr=((& QGroupBox::_ZTV9QGroupBox) + 16u)
+ QWidget (0x7f62db7ee280) 0
+ primary-for QGroupBox (0x7f62db7eda80)
+ QObject (0x7f62db7edaf0) 0
+ primary-for QWidget (0x7f62db7ee280)
+ QPaintDevice (0x7f62db7edb60) 16
+ vptr=((& QGroupBox::_ZTV9QGroupBox) + 464u)
+
+Vtable for QLabel
+QLabel::_ZTV6QLabel: 63u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI6QLabel)
+16 QLabel::metaObject
+24 QLabel::qt_metacast
+32 QLabel::qt_metacall
+40 QLabel::~QLabel
+48 QLabel::~QLabel
+56 QLabel::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QLabel::sizeHint
+136 QLabel::minimumSizeHint
+144 QLabel::heightForWidth
+152 QWidget::paintEngine
+160 QLabel::mousePressEvent
+168 QLabel::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QLabel::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QLabel::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QLabel::focusInEvent
+224 QLabel::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QLabel::paintEvent
+256 QWidget::moveEvent
+264 QWidget::resizeEvent
+272 QWidget::closeEvent
+280 QLabel::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QLabel::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QLabel::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 (int (*)(...))-0x00000000000000010
+456 (int (*)(...))(& _ZTI6QLabel)
+464 QLabel::_ZThn16_N6QLabelD1Ev
+472 QLabel::_ZThn16_N6QLabelD0Ev
+480 QWidget::_ZThn16_NK7QWidget7devTypeEv
+488 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+496 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QLabel
+ size=40 align=8
+ base size=40 base align=8
+QLabel (0x7f62db82c700) 0
+ vptr=((& QLabel::_ZTV6QLabel) + 16u)
+ QFrame (0x7f62db82c770) 0
+ primary-for QLabel (0x7f62db82c700)
+ QWidget (0x7f62db7eec80) 0
+ primary-for QFrame (0x7f62db82c770)
+ QObject (0x7f62db82c7e0) 0
+ primary-for QWidget (0x7f62db7eec80)
+ QPaintDevice (0x7f62db82c850) 16
+ vptr=((& QLabel::_ZTV6QLabel) + 464u)
+
+Vtable for QLCDNumber
+QLCDNumber::_ZTV10QLCDNumber: 63u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QLCDNumber)
+16 QLCDNumber::metaObject
+24 QLCDNumber::qt_metacast
+32 QLCDNumber::qt_metacall
+40 QLCDNumber::~QLCDNumber
+48 QLCDNumber::~QLCDNumber
+56 QLCDNumber::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QLCDNumber::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QLCDNumber::paintEvent
+256 QWidget::moveEvent
+264 QWidget::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QFrame::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 (int (*)(...))-0x00000000000000010
+456 (int (*)(...))(& _ZTI10QLCDNumber)
+464 QLCDNumber::_ZThn16_N10QLCDNumberD1Ev
+472 QLCDNumber::_ZThn16_N10QLCDNumberD0Ev
+480 QWidget::_ZThn16_NK7QWidget7devTypeEv
+488 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+496 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QLCDNumber
+ size=40 align=8
+ base size=40 base align=8
+QLCDNumber (0x7f62db85a850) 0
+ vptr=((& QLCDNumber::_ZTV10QLCDNumber) + 16u)
+ QFrame (0x7f62db85a8c0) 0
+ primary-for QLCDNumber (0x7f62db85a850)
+ QWidget (0x7f62db855880) 0
+ primary-for QFrame (0x7f62db85a8c0)
+ QObject (0x7f62db85a930) 0
+ primary-for QWidget (0x7f62db855880)
+ QPaintDevice (0x7f62db85a9a0) 16
+ vptr=((& QLCDNumber::_ZTV10QLCDNumber) + 464u)
+
+Vtable for QMainWindow
+QMainWindow::_ZTV11QMainWindow: 64u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QMainWindow)
+16 QMainWindow::metaObject
+24 QMainWindow::qt_metacast
+32 QMainWindow::qt_metacall
+40 QMainWindow::~QMainWindow
+48 QMainWindow::~QMainWindow
+56 QMainWindow::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QWidget::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QWidget::paintEvent
+256 QWidget::moveEvent
+264 QWidget::resizeEvent
+272 QWidget::closeEvent
+280 QMainWindow::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QWidget::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QMainWindow::createPopupMenu
+456 (int (*)(...))-0x00000000000000010
+464 (int (*)(...))(& _ZTI11QMainWindow)
+472 QMainWindow::_ZThn16_N11QMainWindowD1Ev
+480 QMainWindow::_ZThn16_N11QMainWindowD0Ev
+488 QWidget::_ZThn16_NK7QWidget7devTypeEv
+496 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+504 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QMainWindow
+ size=40 align=8
+ base size=40 base align=8
+QMainWindow (0x7f62db685230) 0
+ vptr=((& QMainWindow::_ZTV11QMainWindow) + 16u)
+ QWidget (0x7f62db87ba00) 0
+ primary-for QMainWindow (0x7f62db685230)
+ QObject (0x7f62db6852a0) 0
+ primary-for QWidget (0x7f62db87ba00)
+ QPaintDevice (0x7f62db685310) 16
+ vptr=((& QMainWindow::_ZTV11QMainWindow) + 472u)
+
+Vtable for QMdiArea
+QMdiArea::_ZTV8QMdiArea: 65u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI8QMdiArea)
+16 QMdiArea::metaObject
+24 QMdiArea::qt_metacast
+32 QMdiArea::qt_metacall
+40 QMdiArea::~QMdiArea
+48 QMdiArea::~QMdiArea
+56 QMdiArea::event
+64 QMdiArea::eventFilter
+72 QMdiArea::timerEvent
+80 QMdiArea::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QMdiArea::sizeHint
+136 QMdiArea::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QAbstractScrollArea::mousePressEvent
+168 QAbstractScrollArea::mouseReleaseEvent
+176 QAbstractScrollArea::mouseDoubleClickEvent
+184 QAbstractScrollArea::mouseMoveEvent
+192 QAbstractScrollArea::wheelEvent
+200 QAbstractScrollArea::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QMdiArea::paintEvent
+256 QWidget::moveEvent
+264 QMdiArea::resizeEvent
+272 QWidget::closeEvent
+280 QAbstractScrollArea::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QAbstractScrollArea::dragEnterEvent
+312 QAbstractScrollArea::dragMoveEvent
+320 QAbstractScrollArea::dragLeaveEvent
+328 QAbstractScrollArea::dropEvent
+336 QMdiArea::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QFrame::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QMdiArea::viewportEvent
+456 QMdiArea::scrollContentsBy
+464 (int (*)(...))-0x00000000000000010
+472 (int (*)(...))(& _ZTI8QMdiArea)
+480 QMdiArea::_ZThn16_N8QMdiAreaD1Ev
+488 QMdiArea::_ZThn16_N8QMdiAreaD0Ev
+496 QWidget::_ZThn16_NK7QWidget7devTypeEv
+504 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+512 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QMdiArea
+ size=40 align=8
+ base size=40 base align=8
+QMdiArea (0x7f62db702540) 0
+ vptr=((& QMdiArea::_ZTV8QMdiArea) + 16u)
+ QAbstractScrollArea (0x7f62db7025b0) 0
+ primary-for QMdiArea (0x7f62db702540)
+ QFrame (0x7f62db702620) 0
+ primary-for QAbstractScrollArea (0x7f62db7025b0)
+ QWidget (0x7f62db6adc00) 0
+ primary-for QFrame (0x7f62db702620)
+ QObject (0x7f62db702690) 0
+ primary-for QWidget (0x7f62db6adc00)
+ QPaintDevice (0x7f62db702700) 16
+ vptr=((& QMdiArea::_ZTV8QMdiArea) + 480u)
+
+Vtable for QMdiSubWindow
+QMdiSubWindow::_ZTV13QMdiSubWindow: 63u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QMdiSubWindow)
+16 QMdiSubWindow::metaObject
+24 QMdiSubWindow::qt_metacast
+32 QMdiSubWindow::qt_metacall
+40 QMdiSubWindow::~QMdiSubWindow
+48 QMdiSubWindow::~QMdiSubWindow
+56 QMdiSubWindow::event
+64 QMdiSubWindow::eventFilter
+72 QMdiSubWindow::timerEvent
+80 QMdiSubWindow::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QMdiSubWindow::sizeHint
+136 QMdiSubWindow::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QMdiSubWindow::mousePressEvent
+168 QMdiSubWindow::mouseReleaseEvent
+176 QMdiSubWindow::mouseDoubleClickEvent
+184 QMdiSubWindow::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QMdiSubWindow::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QMdiSubWindow::focusInEvent
+224 QMdiSubWindow::focusOutEvent
+232 QWidget::enterEvent
+240 QMdiSubWindow::leaveEvent
+248 QMdiSubWindow::paintEvent
+256 QMdiSubWindow::moveEvent
+264 QMdiSubWindow::resizeEvent
+272 QMdiSubWindow::closeEvent
+280 QMdiSubWindow::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QMdiSubWindow::showEvent
+344 QMdiSubWindow::hideEvent
+352 QWidget::x11Event
+360 QMdiSubWindow::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 (int (*)(...))-0x00000000000000010
+456 (int (*)(...))(& _ZTI13QMdiSubWindow)
+464 QMdiSubWindow::_ZThn16_N13QMdiSubWindowD1Ev
+472 QMdiSubWindow::_ZThn16_N13QMdiSubWindowD0Ev
+480 QWidget::_ZThn16_NK7QWidget7devTypeEv
+488 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+496 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QMdiSubWindow
+ size=40 align=8
+ base size=40 base align=8
+QMdiSubWindow (0x7f62db75ca80) 0
+ vptr=((& QMdiSubWindow::_ZTV13QMdiSubWindow) + 16u)
+ QWidget (0x7f62db70df00) 0
+ primary-for QMdiSubWindow (0x7f62db75ca80)
+ QObject (0x7f62db75caf0) 0
+ primary-for QWidget (0x7f62db70df00)
+ QPaintDevice (0x7f62db75cb60) 16
+ vptr=((& QMdiSubWindow::_ZTV13QMdiSubWindow) + 464u)
+
+Vtable for QMenu
+QMenu::_ZTV5QMenu: 63u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI5QMenu)
+16 QMenu::metaObject
+24 QMenu::qt_metacast
+32 QMenu::qt_metacall
+40 QMenu::~QMenu
+48 QMenu::~QMenu
+56 QMenu::event
+64 QObject::eventFilter
+72 QMenu::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QMenu::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QMenu::mousePressEvent
+168 QMenu::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QMenu::mouseMoveEvent
+192 QMenu::wheelEvent
+200 QMenu::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QMenu::enterEvent
+240 QMenu::leaveEvent
+248 QMenu::paintEvent
+256 QWidget::moveEvent
+264 QWidget::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QMenu::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QMenu::hideEvent
+352 QWidget::x11Event
+360 QMenu::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QMenu::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 (int (*)(...))-0x00000000000000010
+456 (int (*)(...))(& _ZTI5QMenu)
+464 QMenu::_ZThn16_N5QMenuD1Ev
+472 QMenu::_ZThn16_N5QMenuD0Ev
+480 QWidget::_ZThn16_NK7QWidget7devTypeEv
+488 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+496 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QMenu
+ size=40 align=8
+ base size=40 base align=8
+QMenu (0x7f62db5d6930) 0
+ vptr=((& QMenu::_ZTV5QMenu) + 16u)
+ QWidget (0x7f62db5f8100) 0
+ primary-for QMenu (0x7f62db5d6930)
+ QObject (0x7f62db5d69a0) 0
+ primary-for QWidget (0x7f62db5f8100)
+ QPaintDevice (0x7f62db5d6a10) 16
+ vptr=((& QMenu::_ZTV5QMenu) + 464u)
+
+Vtable for QMenuBar
+QMenuBar::_ZTV8QMenuBar: 63u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI8QMenuBar)
+16 QMenuBar::metaObject
+24 QMenuBar::qt_metacast
+32 QMenuBar::qt_metacall
+40 QMenuBar::~QMenuBar
+48 QMenuBar::~QMenuBar
+56 QMenuBar::event
+64 QMenuBar::eventFilter
+72 QMenuBar::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QMenuBar::setVisible
+128 QMenuBar::sizeHint
+136 QMenuBar::minimumSizeHint
+144 QMenuBar::heightForWidth
+152 QWidget::paintEngine
+160 QMenuBar::mousePressEvent
+168 QMenuBar::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QMenuBar::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QMenuBar::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QMenuBar::focusInEvent
+224 QMenuBar::focusOutEvent
+232 QWidget::enterEvent
+240 QMenuBar::leaveEvent
+248 QMenuBar::paintEvent
+256 QWidget::moveEvent
+264 QMenuBar::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QMenuBar::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QMenuBar::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 (int (*)(...))-0x00000000000000010
+456 (int (*)(...))(& _ZTI8QMenuBar)
+464 QMenuBar::_ZThn16_N8QMenuBarD1Ev
+472 QMenuBar::_ZThn16_N8QMenuBarD0Ev
+480 QWidget::_ZThn16_NK7QWidget7devTypeEv
+488 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+496 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QMenuBar
+ size=40 align=8
+ base size=40 base align=8
+QMenuBar (0x7f62db49c770) 0
+ vptr=((& QMenuBar::_ZTV8QMenuBar) + 16u)
+ QWidget (0x7f62db49a980) 0
+ primary-for QMenuBar (0x7f62db49c770)
+ QObject (0x7f62db49c7e0) 0
+ primary-for QWidget (0x7f62db49a980)
+ QPaintDevice (0x7f62db49c850) 16
+ vptr=((& QMenuBar::_ZTV8QMenuBar) + 464u)
+
+Vtable for QMenuItem
+QMenuItem::_ZTV9QMenuItem: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QMenuItem)
+16 QMenuItem::metaObject
+24 QMenuItem::qt_metacast
+32 QMenuItem::qt_metacall
+40 QMenuItem::~QMenuItem
+48 QMenuItem::~QMenuItem
+56 QAction::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QMenuItem
+ size=16 align=8
+ base size=16 base align=8
+QMenuItem (0x7f62db53e4d0) 0
+ vptr=((& QMenuItem::_ZTV9QMenuItem) + 16u)
+ QAction (0x7f62db53e540) 0
+ primary-for QMenuItem (0x7f62db53e4d0)
+ QObject (0x7f62db53e5b0) 0
+ primary-for QAction (0x7f62db53e540)
+
+Class QTextEdit::ExtraSelection
+ size=24 align=8
+ base size=24 base align=8
+QTextEdit::ExtraSelection (0x7f62db55d700) 0
+
+Vtable for QTextEdit
+QTextEdit::_ZTV9QTextEdit: 69u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QTextEdit)
+16 QTextEdit::metaObject
+24 QTextEdit::qt_metacast
+32 QTextEdit::qt_metacall
+40 QTextEdit::~QTextEdit
+48 QTextEdit::~QTextEdit
+56 QTextEdit::event
+64 QObject::eventFilter
+72 QTextEdit::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QAbstractScrollArea::sizeHint
+136 QAbstractScrollArea::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QTextEdit::mousePressEvent
+168 QTextEdit::mouseReleaseEvent
+176 QTextEdit::mouseDoubleClickEvent
+184 QTextEdit::mouseMoveEvent
+192 QTextEdit::wheelEvent
+200 QTextEdit::keyPressEvent
+208 QTextEdit::keyReleaseEvent
+216 QTextEdit::focusInEvent
+224 QTextEdit::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QTextEdit::paintEvent
+256 QWidget::moveEvent
+264 QTextEdit::resizeEvent
+272 QWidget::closeEvent
+280 QTextEdit::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QTextEdit::dragEnterEvent
+312 QTextEdit::dragMoveEvent
+320 QTextEdit::dragLeaveEvent
+328 QTextEdit::dropEvent
+336 QTextEdit::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QTextEdit::changeEvent
+368 QWidget::metric
+376 QTextEdit::inputMethodEvent
+384 QTextEdit::inputMethodQuery
+392 QTextEdit::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QAbstractScrollArea::viewportEvent
+456 QTextEdit::scrollContentsBy
+464 QTextEdit::loadResource
+472 QTextEdit::createMimeDataFromSelection
+480 QTextEdit::canInsertFromMimeData
+488 QTextEdit::insertFromMimeData
+496 (int (*)(...))-0x00000000000000010
+504 (int (*)(...))(& _ZTI9QTextEdit)
+512 QTextEdit::_ZThn16_N9QTextEditD1Ev
+520 QTextEdit::_ZThn16_N9QTextEditD0Ev
+528 QWidget::_ZThn16_NK7QWidget7devTypeEv
+536 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+544 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QTextEdit
+ size=40 align=8
+ base size=40 base align=8
+QTextEdit (0x7f62db54d770) 0
+ vptr=((& QTextEdit::_ZTV9QTextEdit) + 16u)
+ QAbstractScrollArea (0x7f62db54d7e0) 0
+ primary-for QTextEdit (0x7f62db54d770)
+ QFrame (0x7f62db54d850) 0
+ primary-for QAbstractScrollArea (0x7f62db54d7e0)
+ QWidget (0x7f62db53ab00) 0
+ primary-for QFrame (0x7f62db54d850)
+ QObject (0x7f62db54d8c0) 0
+ primary-for QWidget (0x7f62db53ab00)
+ QPaintDevice (0x7f62db54d930) 16
+ vptr=((& QTextEdit::_ZTV9QTextEdit) + 512u)
+
+Vtable for QPlainTextEdit
+QPlainTextEdit::_ZTV14QPlainTextEdit: 69u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QPlainTextEdit)
+16 QPlainTextEdit::metaObject
+24 QPlainTextEdit::qt_metacast
+32 QPlainTextEdit::qt_metacall
+40 QPlainTextEdit::~QPlainTextEdit
+48 QPlainTextEdit::~QPlainTextEdit
+56 QPlainTextEdit::event
+64 QObject::eventFilter
+72 QPlainTextEdit::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QAbstractScrollArea::sizeHint
+136 QAbstractScrollArea::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QPlainTextEdit::mousePressEvent
+168 QPlainTextEdit::mouseReleaseEvent
+176 QPlainTextEdit::mouseDoubleClickEvent
+184 QPlainTextEdit::mouseMoveEvent
+192 QPlainTextEdit::wheelEvent
+200 QPlainTextEdit::keyPressEvent
+208 QPlainTextEdit::keyReleaseEvent
+216 QPlainTextEdit::focusInEvent
+224 QPlainTextEdit::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QPlainTextEdit::paintEvent
+256 QWidget::moveEvent
+264 QPlainTextEdit::resizeEvent
+272 QWidget::closeEvent
+280 QPlainTextEdit::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QPlainTextEdit::dragEnterEvent
+312 QPlainTextEdit::dragMoveEvent
+320 QPlainTextEdit::dragLeaveEvent
+328 QPlainTextEdit::dropEvent
+336 QPlainTextEdit::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QPlainTextEdit::changeEvent
+368 QWidget::metric
+376 QPlainTextEdit::inputMethodEvent
+384 QPlainTextEdit::inputMethodQuery
+392 QPlainTextEdit::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QAbstractScrollArea::viewportEvent
+456 QPlainTextEdit::scrollContentsBy
+464 QPlainTextEdit::loadResource
+472 QPlainTextEdit::createMimeDataFromSelection
+480 QPlainTextEdit::canInsertFromMimeData
+488 QPlainTextEdit::insertFromMimeData
+496 (int (*)(...))-0x00000000000000010
+504 (int (*)(...))(& _ZTI14QPlainTextEdit)
+512 QPlainTextEdit::_ZThn16_N14QPlainTextEditD1Ev
+520 QPlainTextEdit::_ZThn16_N14QPlainTextEditD0Ev
+528 QWidget::_ZThn16_NK7QWidget7devTypeEv
+536 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+544 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QPlainTextEdit
+ size=40 align=8
+ base size=40 base align=8
+QPlainTextEdit (0x7f62db3f48c0) 0
+ vptr=((& QPlainTextEdit::_ZTV14QPlainTextEdit) + 16u)
+ QAbstractScrollArea (0x7f62db3f4930) 0
+ primary-for QPlainTextEdit (0x7f62db3f48c0)
+ QFrame (0x7f62db3f49a0) 0
+ primary-for QAbstractScrollArea (0x7f62db3f4930)
+ QWidget (0x7f62db3f3400) 0
+ primary-for QFrame (0x7f62db3f49a0)
+ QObject (0x7f62db3f4a10) 0
+ primary-for QWidget (0x7f62db3f3400)
+ QPaintDevice (0x7f62db3f4a80) 16
+ vptr=((& QPlainTextEdit::_ZTV14QPlainTextEdit) + 512u)
+
+Vtable for QPlainTextDocumentLayout
+QPlainTextDocumentLayout::_ZTV24QPlainTextDocumentLayout: 24u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI24QPlainTextDocumentLayout)
+16 QPlainTextDocumentLayout::metaObject
+24 QPlainTextDocumentLayout::qt_metacast
+32 QPlainTextDocumentLayout::qt_metacall
+40 QPlainTextDocumentLayout::~QPlainTextDocumentLayout
+48 QPlainTextDocumentLayout::~QPlainTextDocumentLayout
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QPlainTextDocumentLayout::draw
+120 QPlainTextDocumentLayout::hitTest
+128 QPlainTextDocumentLayout::pageCount
+136 QPlainTextDocumentLayout::documentSize
+144 QPlainTextDocumentLayout::frameBoundingRect
+152 QPlainTextDocumentLayout::blockBoundingRect
+160 QPlainTextDocumentLayout::documentChanged
+168 QAbstractTextDocumentLayout::resizeInlineObject
+176 QAbstractTextDocumentLayout::positionInlineObject
+184 QAbstractTextDocumentLayout::drawInlineObject
+
+Class QPlainTextDocumentLayout
+ size=16 align=8
+ base size=16 base align=8
+QPlainTextDocumentLayout (0x7f62db456690) 0
+ vptr=((& QPlainTextDocumentLayout::_ZTV24QPlainTextDocumentLayout) + 16u)
+ QAbstractTextDocumentLayout (0x7f62db456700) 0
+ primary-for QPlainTextDocumentLayout (0x7f62db456690)
+ QObject (0x7f62db456770) 0
+ primary-for QAbstractTextDocumentLayout (0x7f62db456700)
+
+Vtable for QPrintPreviewWidget
+QPrintPreviewWidget::_ZTV19QPrintPreviewWidget: 63u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QPrintPreviewWidget)
+16 QPrintPreviewWidget::metaObject
+24 QPrintPreviewWidget::qt_metacast
+32 QPrintPreviewWidget::qt_metacall
+40 QPrintPreviewWidget::~QPrintPreviewWidget
+48 QPrintPreviewWidget::~QPrintPreviewWidget
+56 QWidget::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QPrintPreviewWidget::setVisible
+128 QWidget::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QWidget::paintEvent
+256 QWidget::moveEvent
+264 QWidget::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QWidget::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 (int (*)(...))-0x00000000000000010
+456 (int (*)(...))(& _ZTI19QPrintPreviewWidget)
+464 QPrintPreviewWidget::_ZThn16_N19QPrintPreviewWidgetD1Ev
+472 QPrintPreviewWidget::_ZThn16_N19QPrintPreviewWidgetD0Ev
+480 QWidget::_ZThn16_NK7QWidget7devTypeEv
+488 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+496 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QPrintPreviewWidget
+ size=48 align=8
+ base size=48 base align=8
+QPrintPreviewWidget (0x7f62db46eb60) 0
+ vptr=((& QPrintPreviewWidget::_ZTV19QPrintPreviewWidget) + 16u)
+ QWidget (0x7f62db46a600) 0
+ primary-for QPrintPreviewWidget (0x7f62db46eb60)
+ QObject (0x7f62db46ebd0) 0
+ primary-for QWidget (0x7f62db46a600)
+ QPaintDevice (0x7f62db46ec40) 16
+ vptr=((& QPrintPreviewWidget::_ZTV19QPrintPreviewWidget) + 464u)
+
+Vtable for QProgressBar
+QProgressBar::_ZTV12QProgressBar: 64u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QProgressBar)
+16 QProgressBar::metaObject
+24 QProgressBar::qt_metacast
+32 QProgressBar::qt_metacall
+40 QProgressBar::~QProgressBar
+48 QProgressBar::~QProgressBar
+56 QProgressBar::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QProgressBar::sizeHint
+136 QProgressBar::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QProgressBar::paintEvent
+256 QWidget::moveEvent
+264 QWidget::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QWidget::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QProgressBar::text
+456 (int (*)(...))-0x00000000000000010
+464 (int (*)(...))(& _ZTI12QProgressBar)
+472 QProgressBar::_ZThn16_N12QProgressBarD1Ev
+480 QProgressBar::_ZThn16_N12QProgressBarD0Ev
+488 QWidget::_ZThn16_NK7QWidget7devTypeEv
+496 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+504 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QProgressBar
+ size=40 align=8
+ base size=40 base align=8
+QProgressBar (0x7f62db290700) 0
+ vptr=((& QProgressBar::_ZTV12QProgressBar) + 16u)
+ QWidget (0x7f62db293300) 0
+ primary-for QProgressBar (0x7f62db290700)
+ QObject (0x7f62db290770) 0
+ primary-for QWidget (0x7f62db293300)
+ QPaintDevice (0x7f62db2907e0) 16
+ vptr=((& QProgressBar::_ZTV12QProgressBar) + 472u)
+
+Vtable for QRadioButton
+QRadioButton::_ZTV12QRadioButton: 66u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QRadioButton)
+16 QRadioButton::metaObject
+24 QRadioButton::qt_metacast
+32 QRadioButton::qt_metacall
+40 QRadioButton::~QRadioButton
+48 QRadioButton::~QRadioButton
+56 QRadioButton::event
+64 QObject::eventFilter
+72 QAbstractButton::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QRadioButton::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QAbstractButton::mousePressEvent
+168 QAbstractButton::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QRadioButton::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QAbstractButton::keyPressEvent
+208 QAbstractButton::keyReleaseEvent
+216 QAbstractButton::focusInEvent
+224 QAbstractButton::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QRadioButton::paintEvent
+256 QWidget::moveEvent
+264 QWidget::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QAbstractButton::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QRadioButton::hitButton
+456 QAbstractButton::checkStateSet
+464 QAbstractButton::nextCheckState
+472 (int (*)(...))-0x00000000000000010
+480 (int (*)(...))(& _ZTI12QRadioButton)
+488 QRadioButton::_ZThn16_N12QRadioButtonD1Ev
+496 QRadioButton::_ZThn16_N12QRadioButtonD0Ev
+504 QWidget::_ZThn16_NK7QWidget7devTypeEv
+512 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+520 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QRadioButton
+ size=40 align=8
+ base size=40 base align=8
+QRadioButton (0x7f62db2b4540) 0
+ vptr=((& QRadioButton::_ZTV12QRadioButton) + 16u)
+ QAbstractButton (0x7f62db2b45b0) 0
+ primary-for QRadioButton (0x7f62db2b4540)
+ QWidget (0x7f62db293e00) 0
+ primary-for QAbstractButton (0x7f62db2b45b0)
+ QObject (0x7f62db2b4620) 0
+ primary-for QWidget (0x7f62db293e00)
+ QPaintDevice (0x7f62db2b4690) 16
+ vptr=((& QRadioButton::_ZTV12QRadioButton) + 488u)
+
+Vtable for QScrollBar
+QScrollBar::_ZTV10QScrollBar: 64u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QScrollBar)
+16 QScrollBar::metaObject
+24 QScrollBar::qt_metacast
+32 QScrollBar::qt_metacall
+40 QScrollBar::~QScrollBar
+48 QScrollBar::~QScrollBar
+56 QScrollBar::event
+64 QObject::eventFilter
+72 QAbstractSlider::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QScrollBar::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QScrollBar::mousePressEvent
+168 QScrollBar::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QScrollBar::mouseMoveEvent
+192 QAbstractSlider::wheelEvent
+200 QAbstractSlider::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QScrollBar::paintEvent
+256 QWidget::moveEvent
+264 QWidget::resizeEvent
+272 QWidget::closeEvent
+280 QScrollBar::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QScrollBar::hideEvent
+352 QWidget::x11Event
+360 QAbstractSlider::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QScrollBar::sliderChange
+456 (int (*)(...))-0x00000000000000010
+464 (int (*)(...))(& _ZTI10QScrollBar)
+472 QScrollBar::_ZThn16_N10QScrollBarD1Ev
+480 QScrollBar::_ZThn16_N10QScrollBarD0Ev
+488 QWidget::_ZThn16_NK7QWidget7devTypeEv
+496 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+504 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QScrollBar
+ size=40 align=8
+ base size=40 base align=8
+QScrollBar (0x7f62db2d41c0) 0
+ vptr=((& QScrollBar::_ZTV10QScrollBar) + 16u)
+ QAbstractSlider (0x7f62db2d4230) 0
+ primary-for QScrollBar (0x7f62db2d41c0)
+ QWidget (0x7f62db2c9800) 0
+ primary-for QAbstractSlider (0x7f62db2d4230)
+ QObject (0x7f62db2d42a0) 0
+ primary-for QWidget (0x7f62db2c9800)
+ QPaintDevice (0x7f62db2d4310) 16
+ vptr=((& QScrollBar::_ZTV10QScrollBar) + 472u)
+
+Vtable for QSizeGrip
+QSizeGrip::_ZTV9QSizeGrip: 63u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QSizeGrip)
+16 QSizeGrip::metaObject
+24 QSizeGrip::qt_metacast
+32 QSizeGrip::qt_metacall
+40 QSizeGrip::~QSizeGrip
+48 QSizeGrip::~QSizeGrip
+56 QSizeGrip::event
+64 QSizeGrip::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QSizeGrip::setVisible
+128 QSizeGrip::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QSizeGrip::mousePressEvent
+168 QSizeGrip::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QSizeGrip::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QSizeGrip::paintEvent
+256 QSizeGrip::moveEvent
+264 QWidget::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QSizeGrip::showEvent
+344 QSizeGrip::hideEvent
+352 QWidget::x11Event
+360 QWidget::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 (int (*)(...))-0x00000000000000010
+456 (int (*)(...))(& _ZTI9QSizeGrip)
+464 QSizeGrip::_ZThn16_N9QSizeGripD1Ev
+472 QSizeGrip::_ZThn16_N9QSizeGripD0Ev
+480 QWidget::_ZThn16_NK7QWidget7devTypeEv
+488 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+496 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QSizeGrip
+ size=40 align=8
+ base size=40 base align=8
+QSizeGrip (0x7f62db2f4310) 0
+ vptr=((& QSizeGrip::_ZTV9QSizeGrip) + 16u)
+ QWidget (0x7f62db2f3380) 0
+ primary-for QSizeGrip (0x7f62db2f4310)
+ QObject (0x7f62db2f4380) 0
+ primary-for QWidget (0x7f62db2f3380)
+ QPaintDevice (0x7f62db2f43f0) 16
+ vptr=((& QSizeGrip::_ZTV9QSizeGrip) + 464u)
+
+Vtable for QSpinBox
+QSpinBox::_ZTV8QSpinBox: 70u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI8QSpinBox)
+16 QSpinBox::metaObject
+24 QSpinBox::qt_metacast
+32 QSpinBox::qt_metacall
+40 QSpinBox::~QSpinBox
+48 QSpinBox::~QSpinBox
+56 QSpinBox::event
+64 QObject::eventFilter
+72 QAbstractSpinBox::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QAbstractSpinBox::sizeHint
+136 QAbstractSpinBox::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QAbstractSpinBox::mousePressEvent
+168 QAbstractSpinBox::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QAbstractSpinBox::mouseMoveEvent
+192 QAbstractSpinBox::wheelEvent
+200 QAbstractSpinBox::keyPressEvent
+208 QAbstractSpinBox::keyReleaseEvent
+216 QAbstractSpinBox::focusInEvent
+224 QAbstractSpinBox::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QAbstractSpinBox::paintEvent
+256 QWidget::moveEvent
+264 QAbstractSpinBox::resizeEvent
+272 QAbstractSpinBox::closeEvent
+280 QAbstractSpinBox::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QAbstractSpinBox::showEvent
+344 QAbstractSpinBox::hideEvent
+352 QWidget::x11Event
+360 QAbstractSpinBox::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QAbstractSpinBox::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QSpinBox::validate
+456 QSpinBox::fixup
+464 QAbstractSpinBox::stepBy
+472 QAbstractSpinBox::clear
+480 QAbstractSpinBox::stepEnabled
+488 QSpinBox::valueFromText
+496 QSpinBox::textFromValue
+504 (int (*)(...))-0x00000000000000010
+512 (int (*)(...))(& _ZTI8QSpinBox)
+520 QSpinBox::_ZThn16_N8QSpinBoxD1Ev
+528 QSpinBox::_ZThn16_N8QSpinBoxD0Ev
+536 QWidget::_ZThn16_NK7QWidget7devTypeEv
+544 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+552 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QSpinBox
+ size=40 align=8
+ base size=40 base align=8
+QSpinBox (0x7f62db30be00) 0
+ vptr=((& QSpinBox::_ZTV8QSpinBox) + 16u)
+ QAbstractSpinBox (0x7f62db30be70) 0
+ primary-for QSpinBox (0x7f62db30be00)
+ QWidget (0x7f62db2f3d80) 0
+ primary-for QAbstractSpinBox (0x7f62db30be70)
+ QObject (0x7f62db30bee0) 0
+ primary-for QWidget (0x7f62db2f3d80)
+ QPaintDevice (0x7f62db30bf50) 16
+ vptr=((& QSpinBox::_ZTV8QSpinBox) + 520u)
+
+Vtable for QDoubleSpinBox
+QDoubleSpinBox::_ZTV14QDoubleSpinBox: 70u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QDoubleSpinBox)
+16 QDoubleSpinBox::metaObject
+24 QDoubleSpinBox::qt_metacast
+32 QDoubleSpinBox::qt_metacall
+40 QDoubleSpinBox::~QDoubleSpinBox
+48 QDoubleSpinBox::~QDoubleSpinBox
+56 QAbstractSpinBox::event
+64 QObject::eventFilter
+72 QAbstractSpinBox::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QAbstractSpinBox::sizeHint
+136 QAbstractSpinBox::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QAbstractSpinBox::mousePressEvent
+168 QAbstractSpinBox::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QAbstractSpinBox::mouseMoveEvent
+192 QAbstractSpinBox::wheelEvent
+200 QAbstractSpinBox::keyPressEvent
+208 QAbstractSpinBox::keyReleaseEvent
+216 QAbstractSpinBox::focusInEvent
+224 QAbstractSpinBox::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QAbstractSpinBox::paintEvent
+256 QWidget::moveEvent
+264 QAbstractSpinBox::resizeEvent
+272 QAbstractSpinBox::closeEvent
+280 QAbstractSpinBox::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QAbstractSpinBox::showEvent
+344 QAbstractSpinBox::hideEvent
+352 QWidget::x11Event
+360 QAbstractSpinBox::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QAbstractSpinBox::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QDoubleSpinBox::validate
+456 QDoubleSpinBox::fixup
+464 QAbstractSpinBox::stepBy
+472 QAbstractSpinBox::clear
+480 QAbstractSpinBox::stepEnabled
+488 QDoubleSpinBox::valueFromText
+496 QDoubleSpinBox::textFromValue
+504 (int (*)(...))-0x00000000000000010
+512 (int (*)(...))(& _ZTI14QDoubleSpinBox)
+520 QDoubleSpinBox::_ZThn16_N14QDoubleSpinBoxD1Ev
+528 QDoubleSpinBox::_ZThn16_N14QDoubleSpinBoxD0Ev
+536 QWidget::_ZThn16_NK7QWidget7devTypeEv
+544 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+552 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QDoubleSpinBox
+ size=40 align=8
+ base size=40 base align=8
+QDoubleSpinBox (0x7f62db338770) 0
+ vptr=((& QDoubleSpinBox::_ZTV14QDoubleSpinBox) + 16u)
+ QAbstractSpinBox (0x7f62db3387e0) 0
+ primary-for QDoubleSpinBox (0x7f62db338770)
+ QWidget (0x7f62db32cf00) 0
+ primary-for QAbstractSpinBox (0x7f62db3387e0)
+ QObject (0x7f62db338850) 0
+ primary-for QWidget (0x7f62db32cf00)
+ QPaintDevice (0x7f62db3388c0) 16
+ vptr=((& QDoubleSpinBox::_ZTV14QDoubleSpinBox) + 520u)
+
+Vtable for QSplashScreen
+QSplashScreen::_ZTV13QSplashScreen: 64u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QSplashScreen)
+16 QSplashScreen::metaObject
+24 QSplashScreen::qt_metacast
+32 QSplashScreen::qt_metacall
+40 QSplashScreen::~QSplashScreen
+48 QSplashScreen::~QSplashScreen
+56 QSplashScreen::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QWidget::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QSplashScreen::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QWidget::paintEvent
+256 QWidget::moveEvent
+264 QWidget::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QWidget::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QSplashScreen::drawContents
+456 (int (*)(...))-0x00000000000000010
+464 (int (*)(...))(& _ZTI13QSplashScreen)
+472 QSplashScreen::_ZThn16_N13QSplashScreenD1Ev
+480 QSplashScreen::_ZThn16_N13QSplashScreenD0Ev
+488 QWidget::_ZThn16_NK7QWidget7devTypeEv
+496 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+504 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QSplashScreen
+ size=40 align=8
+ base size=40 base align=8
+QSplashScreen (0x7f62db358230) 0
+ vptr=((& QSplashScreen::_ZTV13QSplashScreen) + 16u)
+ QWidget (0x7f62db33a900) 0
+ primary-for QSplashScreen (0x7f62db358230)
+ QObject (0x7f62db3582a0) 0
+ primary-for QWidget (0x7f62db33a900)
+ QPaintDevice (0x7f62db358310) 16
+ vptr=((& QSplashScreen::_ZTV13QSplashScreen) + 472u)
+
+Vtable for QSplitter
+QSplitter::_ZTV9QSplitter: 64u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QSplitter)
+16 QSplitter::metaObject
+24 QSplitter::qt_metacast
+32 QSplitter::qt_metacall
+40 QSplitter::~QSplitter
+48 QSplitter::~QSplitter
+56 QSplitter::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QSplitter::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QSplitter::sizeHint
+136 QSplitter::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QFrame::paintEvent
+256 QWidget::moveEvent
+264 QSplitter::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QSplitter::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QSplitter::createHandle
+456 (int (*)(...))-0x00000000000000010
+464 (int (*)(...))(& _ZTI9QSplitter)
+472 QSplitter::_ZThn16_N9QSplitterD1Ev
+480 QSplitter::_ZThn16_N9QSplitterD0Ev
+488 QWidget::_ZThn16_NK7QWidget7devTypeEv
+496 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+504 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QSplitter
+ size=40 align=8
+ base size=40 base align=8
+QSplitter (0x7f62db379310) 0
+ vptr=((& QSplitter::_ZTV9QSplitter) + 16u)
+ QFrame (0x7f62db379380) 0
+ primary-for QSplitter (0x7f62db379310)
+ QWidget (0x7f62db375580) 0
+ primary-for QFrame (0x7f62db379380)
+ QObject (0x7f62db3793f0) 0
+ primary-for QWidget (0x7f62db375580)
+ QPaintDevice (0x7f62db379460) 16
+ vptr=((& QSplitter::_ZTV9QSplitter) + 472u)
+
+Vtable for QSplitterHandle
+QSplitterHandle::_ZTV15QSplitterHandle: 63u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QSplitterHandle)
+16 QSplitterHandle::metaObject
+24 QSplitterHandle::qt_metacast
+32 QSplitterHandle::qt_metacall
+40 QSplitterHandle::~QSplitterHandle
+48 QSplitterHandle::~QSplitterHandle
+56 QSplitterHandle::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QSplitterHandle::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QSplitterHandle::mousePressEvent
+168 QSplitterHandle::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QSplitterHandle::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QSplitterHandle::paintEvent
+256 QWidget::moveEvent
+264 QWidget::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QWidget::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 (int (*)(...))-0x00000000000000010
+456 (int (*)(...))(& _ZTI15QSplitterHandle)
+464 QSplitterHandle::_ZThn16_N15QSplitterHandleD1Ev
+472 QSplitterHandle::_ZThn16_N15QSplitterHandleD0Ev
+480 QWidget::_ZThn16_NK7QWidget7devTypeEv
+488 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+496 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QSplitterHandle
+ size=40 align=8
+ base size=40 base align=8
+QSplitterHandle (0x7f62db1a7230) 0
+ vptr=((& QSplitterHandle::_ZTV15QSplitterHandle) + 16u)
+ QWidget (0x7f62db1a3780) 0
+ primary-for QSplitterHandle (0x7f62db1a7230)
+ QObject (0x7f62db1a72a0) 0
+ primary-for QWidget (0x7f62db1a3780)
+ QPaintDevice (0x7f62db1a7310) 16
+ vptr=((& QSplitterHandle::_ZTV15QSplitterHandle) + 464u)
+
+Vtable for QStackedWidget
+QStackedWidget::_ZTV14QStackedWidget: 63u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QStackedWidget)
+16 QStackedWidget::metaObject
+24 QStackedWidget::qt_metacast
+32 QStackedWidget::qt_metacall
+40 QStackedWidget::~QStackedWidget
+48 QStackedWidget::~QStackedWidget
+56 QStackedWidget::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QFrame::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QFrame::paintEvent
+256 QWidget::moveEvent
+264 QWidget::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QFrame::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 (int (*)(...))-0x00000000000000010
+456 (int (*)(...))(& _ZTI14QStackedWidget)
+464 QStackedWidget::_ZThn16_N14QStackedWidgetD1Ev
+472 QStackedWidget::_ZThn16_N14QStackedWidgetD0Ev
+480 QWidget::_ZThn16_NK7QWidget7devTypeEv
+488 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+496 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QStackedWidget
+ size=40 align=8
+ base size=40 base align=8
+QStackedWidget (0x7f62db1c0a10) 0
+ vptr=((& QStackedWidget::_ZTV14QStackedWidget) + 16u)
+ QFrame (0x7f62db1c0a80) 0
+ primary-for QStackedWidget (0x7f62db1c0a10)
+ QWidget (0x7f62db1c4180) 0
+ primary-for QFrame (0x7f62db1c0a80)
+ QObject (0x7f62db1c0af0) 0
+ primary-for QWidget (0x7f62db1c4180)
+ QPaintDevice (0x7f62db1c0b60) 16
+ vptr=((& QStackedWidget::_ZTV14QStackedWidget) + 464u)
+
+Vtable for QStatusBar
+QStatusBar::_ZTV10QStatusBar: 63u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QStatusBar)
+16 QStatusBar::metaObject
+24 QStatusBar::qt_metacast
+32 QStatusBar::qt_metacall
+40 QStatusBar::~QStatusBar
+48 QStatusBar::~QStatusBar
+56 QStatusBar::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QWidget::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QStatusBar::paintEvent
+256 QWidget::moveEvent
+264 QStatusBar::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QStatusBar::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QWidget::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 (int (*)(...))-0x00000000000000010
+456 (int (*)(...))(& _ZTI10QStatusBar)
+464 QStatusBar::_ZThn16_N10QStatusBarD1Ev
+472 QStatusBar::_ZThn16_N10QStatusBarD0Ev
+480 QWidget::_ZThn16_NK7QWidget7devTypeEv
+488 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+496 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QStatusBar
+ size=40 align=8
+ base size=40 base align=8
+QStatusBar (0x7f62db1dc8c0) 0
+ vptr=((& QStatusBar::_ZTV10QStatusBar) + 16u)
+ QWidget (0x7f62db1c4b80) 0
+ primary-for QStatusBar (0x7f62db1dc8c0)
+ QObject (0x7f62db1dc930) 0
+ primary-for QWidget (0x7f62db1c4b80)
+ QPaintDevice (0x7f62db1dc9a0) 16
+ vptr=((& QStatusBar::_ZTV10QStatusBar) + 464u)
+
+Vtable for QTextBrowser
+QTextBrowser::_ZTV12QTextBrowser: 74u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QTextBrowser)
+16 QTextBrowser::metaObject
+24 QTextBrowser::qt_metacast
+32 QTextBrowser::qt_metacall
+40 QTextBrowser::~QTextBrowser
+48 QTextBrowser::~QTextBrowser
+56 QTextBrowser::event
+64 QObject::eventFilter
+72 QTextEdit::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QAbstractScrollArea::sizeHint
+136 QAbstractScrollArea::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QTextBrowser::mousePressEvent
+168 QTextBrowser::mouseReleaseEvent
+176 QTextEdit::mouseDoubleClickEvent
+184 QTextBrowser::mouseMoveEvent
+192 QTextEdit::wheelEvent
+200 QTextBrowser::keyPressEvent
+208 QTextEdit::keyReleaseEvent
+216 QTextEdit::focusInEvent
+224 QTextBrowser::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QTextBrowser::paintEvent
+256 QWidget::moveEvent
+264 QTextEdit::resizeEvent
+272 QWidget::closeEvent
+280 QTextEdit::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QTextEdit::dragEnterEvent
+312 QTextEdit::dragMoveEvent
+320 QTextEdit::dragLeaveEvent
+328 QTextEdit::dropEvent
+336 QTextEdit::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QTextEdit::changeEvent
+368 QWidget::metric
+376 QTextEdit::inputMethodEvent
+384 QTextEdit::inputMethodQuery
+392 QTextBrowser::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QAbstractScrollArea::viewportEvent
+456 QTextEdit::scrollContentsBy
+464 QTextBrowser::loadResource
+472 QTextEdit::createMimeDataFromSelection
+480 QTextEdit::canInsertFromMimeData
+488 QTextEdit::insertFromMimeData
+496 QTextBrowser::setSource
+504 QTextBrowser::backward
+512 QTextBrowser::forward
+520 QTextBrowser::home
+528 QTextBrowser::reload
+536 (int (*)(...))-0x00000000000000010
+544 (int (*)(...))(& _ZTI12QTextBrowser)
+552 QTextBrowser::_ZThn16_N12QTextBrowserD1Ev
+560 QTextBrowser::_ZThn16_N12QTextBrowserD0Ev
+568 QWidget::_ZThn16_NK7QWidget7devTypeEv
+576 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+584 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QTextBrowser
+ size=40 align=8
+ base size=40 base align=8
+QTextBrowser (0x7f62db1ffe00) 0
+ vptr=((& QTextBrowser::_ZTV12QTextBrowser) + 16u)
+ QTextEdit (0x7f62db1ffe70) 0
+ primary-for QTextBrowser (0x7f62db1ffe00)
+ QAbstractScrollArea (0x7f62db1ffee0) 0
+ primary-for QTextEdit (0x7f62db1ffe70)
+ QFrame (0x7f62db1fff50) 0
+ primary-for QAbstractScrollArea (0x7f62db1ffee0)
+ QWidget (0x7f62db1f9b80) 0
+ primary-for QFrame (0x7f62db1fff50)
+ QObject (0x7f62db204000) 0
+ primary-for QWidget (0x7f62db1f9b80)
+ QPaintDevice (0x7f62db204070) 16
+ vptr=((& QTextBrowser::_ZTV12QTextBrowser) + 552u)
+
+Vtable for QToolBar
+QToolBar::_ZTV8QToolBar: 63u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI8QToolBar)
+16 QToolBar::metaObject
+24 QToolBar::qt_metacast
+32 QToolBar::qt_metacall
+40 QToolBar::~QToolBar
+48 QToolBar::~QToolBar
+56 QToolBar::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QToolBar::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QWidget::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QToolBar::paintEvent
+256 QWidget::moveEvent
+264 QToolBar::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QToolBar::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QToolBar::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 (int (*)(...))-0x00000000000000010
+456 (int (*)(...))(& _ZTI8QToolBar)
+464 QToolBar::_ZThn16_N8QToolBarD1Ev
+472 QToolBar::_ZThn16_N8QToolBarD0Ev
+480 QWidget::_ZThn16_NK7QWidget7devTypeEv
+488 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+496 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QToolBar
+ size=40 align=8
+ base size=40 base align=8
+QToolBar (0x7f62db223a10) 0
+ vptr=((& QToolBar::_ZTV8QToolBar) + 16u)
+ QWidget (0x7f62db21f580) 0
+ primary-for QToolBar (0x7f62db223a10)
+ QObject (0x7f62db223a80) 0
+ primary-for QWidget (0x7f62db21f580)
+ QPaintDevice (0x7f62db223af0) 16
+ vptr=((& QToolBar::_ZTV8QToolBar) + 464u)
+
+Vtable for QToolBox
+QToolBox::_ZTV8QToolBox: 65u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI8QToolBox)
+16 QToolBox::metaObject
+24 QToolBox::qt_metacast
+32 QToolBox::qt_metacall
+40 QToolBox::~QToolBox
+48 QToolBox::~QToolBox
+56 QToolBox::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QFrame::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QFrame::paintEvent
+256 QWidget::moveEvent
+264 QWidget::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QToolBox::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QToolBox::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QToolBox::itemInserted
+456 QToolBox::itemRemoved
+464 (int (*)(...))-0x00000000000000010
+472 (int (*)(...))(& _ZTI8QToolBox)
+480 QToolBox::_ZThn16_N8QToolBoxD1Ev
+488 QToolBox::_ZThn16_N8QToolBoxD0Ev
+496 QWidget::_ZThn16_NK7QWidget7devTypeEv
+504 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+512 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QToolBox
+ size=40 align=8
+ base size=40 base align=8
+QToolBox (0x7f62db260850) 0
+ vptr=((& QToolBox::_ZTV8QToolBox) + 16u)
+ QFrame (0x7f62db2608c0) 0
+ primary-for QToolBox (0x7f62db260850)
+ QWidget (0x7f62db25c680) 0
+ primary-for QFrame (0x7f62db2608c0)
+ QObject (0x7f62db260930) 0
+ primary-for QWidget (0x7f62db25c680)
+ QPaintDevice (0x7f62db2609a0) 16
+ vptr=((& QToolBox::_ZTV8QToolBox) + 480u)
+
+Vtable for QToolButton
+QToolButton::_ZTV11QToolButton: 66u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QToolButton)
+16 QToolButton::metaObject
+24 QToolButton::qt_metacast
+32 QToolButton::qt_metacall
+40 QToolButton::~QToolButton
+48 QToolButton::~QToolButton
+56 QToolButton::event
+64 QObject::eventFilter
+72 QToolButton::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QToolButton::sizeHint
+136 QToolButton::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QToolButton::mousePressEvent
+168 QToolButton::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QAbstractButton::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QAbstractButton::keyPressEvent
+208 QAbstractButton::keyReleaseEvent
+216 QAbstractButton::focusInEvent
+224 QAbstractButton::focusOutEvent
+232 QToolButton::enterEvent
+240 QToolButton::leaveEvent
+248 QToolButton::paintEvent
+256 QWidget::moveEvent
+264 QWidget::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QToolButton::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QToolButton::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QToolButton::hitButton
+456 QAbstractButton::checkStateSet
+464 QToolButton::nextCheckState
+472 (int (*)(...))-0x00000000000000010
+480 (int (*)(...))(& _ZTI11QToolButton)
+488 QToolButton::_ZThn16_N11QToolButtonD1Ev
+496 QToolButton::_ZThn16_N11QToolButtonD0Ev
+504 QWidget::_ZThn16_NK7QWidget7devTypeEv
+512 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+520 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QToolButton
+ size=40 align=8
+ base size=40 base align=8
+QToolButton (0x7f62db098310) 0
+ vptr=((& QToolButton::_ZTV11QToolButton) + 16u)
+ QAbstractButton (0x7f62db098380) 0
+ primary-for QToolButton (0x7f62db098310)
+ QWidget (0x7f62db095400) 0
+ primary-for QAbstractButton (0x7f62db098380)
+ QObject (0x7f62db0983f0) 0
+ primary-for QWidget (0x7f62db095400)
+ QPaintDevice (0x7f62db098460) 16
+ vptr=((& QToolButton::_ZTV11QToolButton) + 488u)
+
+Vtable for QWorkspace
+QWorkspace::_ZTV10QWorkspace: 63u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QWorkspace)
+16 QWorkspace::metaObject
+24 QWorkspace::qt_metacast
+32 QWorkspace::qt_metacall
+40 QWorkspace::~QWorkspace
+48 QWorkspace::~QWorkspace
+56 QWorkspace::event
+64 QWorkspace::eventFilter
+72 QObject::timerEvent
+80 QWorkspace::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QWorkspace::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWorkspace::wheelEvent
+200 QWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QWorkspace::paintEvent
+256 QWidget::moveEvent
+264 QWorkspace::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWorkspace::showEvent
+344 QWorkspace::hideEvent
+352 QWidget::x11Event
+360 QWorkspace::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 (int (*)(...))-0x00000000000000010
+456 (int (*)(...))(& _ZTI10QWorkspace)
+464 QWorkspace::_ZThn16_N10QWorkspaceD1Ev
+472 QWorkspace::_ZThn16_N10QWorkspaceD0Ev
+480 QWidget::_ZThn16_NK7QWidget7devTypeEv
+488 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+496 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QWorkspace
+ size=40 align=8
+ base size=40 base align=8
+QWorkspace (0x7f62db0dc620) 0
+ vptr=((& QWorkspace::_ZTV10QWorkspace) + 16u)
+ QWidget (0x7f62db0e0100) 0
+ primary-for QWorkspace (0x7f62db0dc620)
+ QObject (0x7f62db0dc690) 0
+ primary-for QWidget (0x7f62db0e0100)
+ QPaintDevice (0x7f62db0dc700) 16
+ vptr=((& QWorkspace::_ZTV10QWorkspace) + 464u)
+
+Class QSslCertificate
+ size=8 align=8
+ base size=8 base align=8
+QSslCertificate (0x7f62db101700) 0
+
+Class QSslCipher
+ size=8 align=8
+ base size=8 base align=8
+QSslCipher (0x7f62db128230) 0
+
+Vtable for QAbstractSocket
+QAbstractSocket::_ZTV15QAbstractSocket: 30u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QAbstractSocket)
+16 QAbstractSocket::metaObject
+24 QAbstractSocket::qt_metacast
+32 QAbstractSocket::qt_metacall
+40 QAbstractSocket::~QAbstractSocket
+48 QAbstractSocket::~QAbstractSocket
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QAbstractSocket::isSequential
+120 QIODevice::open
+128 QAbstractSocket::close
+136 QIODevice::pos
+144 QIODevice::size
+152 QIODevice::seek
+160 QAbstractSocket::atEnd
+168 QIODevice::reset
+176 QAbstractSocket::bytesAvailable
+184 QAbstractSocket::bytesToWrite
+192 QAbstractSocket::canReadLine
+200 QAbstractSocket::waitForReadyRead
+208 QAbstractSocket::waitForBytesWritten
+216 QAbstractSocket::readData
+224 QAbstractSocket::readLineData
+232 QAbstractSocket::writeData
+
+Class QAbstractSocket
+ size=16 align=8
+ base size=16 base align=8
+QAbstractSocket (0x7f62db128c40) 0
+ vptr=((& QAbstractSocket::_ZTV15QAbstractSocket) + 16u)
+ QIODevice (0x7f62db128cb0) 0
+ primary-for QAbstractSocket (0x7f62db128c40)
+ QObject (0x7f62db128d20) 0
+ primary-for QIODevice (0x7f62db128cb0)
+
+Vtable for QTcpSocket
+QTcpSocket::_ZTV10QTcpSocket: 30u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QTcpSocket)
+16 QTcpSocket::metaObject
+24 QTcpSocket::qt_metacast
+32 QTcpSocket::qt_metacall
+40 QTcpSocket::~QTcpSocket
+48 QTcpSocket::~QTcpSocket
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QAbstractSocket::isSequential
+120 QIODevice::open
+128 QAbstractSocket::close
+136 QIODevice::pos
+144 QIODevice::size
+152 QIODevice::seek
+160 QAbstractSocket::atEnd
+168 QIODevice::reset
+176 QAbstractSocket::bytesAvailable
+184 QAbstractSocket::bytesToWrite
+192 QAbstractSocket::canReadLine
+200 QAbstractSocket::waitForReadyRead
+208 QAbstractSocket::waitForBytesWritten
+216 QAbstractSocket::readData
+224 QAbstractSocket::readLineData
+232 QAbstractSocket::writeData
+
+Class QTcpSocket
+ size=16 align=8
+ base size=16 base align=8
+QTcpSocket (0x7f62db179540) 0
+ vptr=((& QTcpSocket::_ZTV10QTcpSocket) + 16u)
+ QAbstractSocket (0x7f62db1795b0) 0
+ primary-for QTcpSocket (0x7f62db179540)
+ QIODevice (0x7f62db179620) 0
+ primary-for QAbstractSocket (0x7f62db1795b0)
+ QObject (0x7f62db179690) 0
+ primary-for QIODevice (0x7f62db179620)
+
+Class QSslError
+ size=8 align=8
+ base size=8 base align=8
+QSslError (0x7f62daf92000) 0
+
+Vtable for QSslSocket
+QSslSocket::_ZTV10QSslSocket: 30u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QSslSocket)
+16 QSslSocket::metaObject
+24 QSslSocket::qt_metacast
+32 QSslSocket::qt_metacall
+40 QSslSocket::~QSslSocket
+48 QSslSocket::~QSslSocket
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QAbstractSocket::isSequential
+120 QIODevice::open
+128 QSslSocket::close
+136 QIODevice::pos
+144 QIODevice::size
+152 QIODevice::seek
+160 QSslSocket::atEnd
+168 QIODevice::reset
+176 QSslSocket::bytesAvailable
+184 QSslSocket::bytesToWrite
+192 QSslSocket::canReadLine
+200 QSslSocket::waitForReadyRead
+208 QSslSocket::waitForBytesWritten
+216 QSslSocket::readData
+224 QAbstractSocket::readLineData
+232 QSslSocket::writeData
+
+Class QSslSocket
+ size=16 align=8
+ base size=16 base align=8
+QSslSocket (0x7f62daf92ee0) 0
+ vptr=((& QSslSocket::_ZTV10QSslSocket) + 16u)
+ QTcpSocket (0x7f62daf92f50) 0
+ primary-for QSslSocket (0x7f62daf92ee0)
+ QAbstractSocket (0x7f62daf92af0) 0
+ primary-for QTcpSocket (0x7f62daf92f50)
+ QIODevice (0x7f62dafa7000) 0
+ primary-for QAbstractSocket (0x7f62daf92af0)
+ QObject (0x7f62dafa7070) 0
+ primary-for QIODevice (0x7f62dafa7000)
+
+Class QSslConfiguration
+ size=8 align=8
+ base size=8 base align=8
+QSslConfiguration (0x7f62dafe2000) 0
+
+Class QSslKey
+ size=8 align=8
+ base size=8 base align=8
+QSslKey (0x7f62dafe2d90) 0
+
+Class QNetworkRequest
+ size=8 align=8
+ base size=8 base align=8
+QNetworkRequest (0x7f62daffe9a0) 0
+
+Class QNetworkCacheMetaData
+ size=8 align=8
+ base size=8 base align=8
+QNetworkCacheMetaData (0x7f62db01a8c0) 0
+
+Vtable for QAbstractNetworkCache
+QAbstractNetworkCache::_ZTV21QAbstractNetworkCache: 22u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI21QAbstractNetworkCache)
+16 QAbstractNetworkCache::metaObject
+24 QAbstractNetworkCache::qt_metacast
+32 QAbstractNetworkCache::qt_metacall
+40 QAbstractNetworkCache::~QAbstractNetworkCache
+48 QAbstractNetworkCache::~QAbstractNetworkCache
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 __cxa_pure_virtual
+136 __cxa_pure_virtual
+144 __cxa_pure_virtual
+152 __cxa_pure_virtual
+160 __cxa_pure_virtual
+168 __cxa_pure_virtual
+
+Class QAbstractNetworkCache
+ size=16 align=8
+ base size=16 base align=8
+QAbstractNetworkCache (0x7f62db035b60) 0
+ vptr=((& QAbstractNetworkCache::_ZTV21QAbstractNetworkCache) + 16u)
+ QObject (0x7f62db035bd0) 0
+ primary-for QAbstractNetworkCache (0x7f62db035b60)
+
+Vtable for QUrlInfo
+QUrlInfo::_ZTV8QUrlInfo: 15u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI8QUrlInfo)
+16 QUrlInfo::~QUrlInfo
+24 QUrlInfo::~QUrlInfo
+32 QUrlInfo::setName
+40 QUrlInfo::setDir
+48 QUrlInfo::setFile
+56 QUrlInfo::setSymLink
+64 QUrlInfo::setOwner
+72 QUrlInfo::setGroup
+80 QUrlInfo::setSize
+88 QUrlInfo::setWritable
+96 QUrlInfo::setReadable
+104 QUrlInfo::setPermissions
+112 QUrlInfo::setLastModified
+
+Class QUrlInfo
+ size=16 align=8
+ base size=16 base align=8
+QUrlInfo (0x7f62db0604d0) 0
+ vptr=((& QUrlInfo::_ZTV8QUrlInfo) + 16u)
+
+Vtable for QFtp
+QFtp::_ZTV4QFtp: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI4QFtp)
+16 QFtp::metaObject
+24 QFtp::qt_metacast
+32 QFtp::qt_metacall
+40 QFtp::~QFtp
+48 QFtp::~QFtp
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QFtp
+ size=16 align=8
+ base size=16 base align=8
+QFtp (0x7f62db070460) 0
+ vptr=((& QFtp::_ZTV4QFtp) + 16u)
+ QObject (0x7f62db0704d0) 0
+ primary-for QFtp (0x7f62db070460)
+
+Vtable for QHttpHeader
+QHttpHeader::_ZTV11QHttpHeader: 8u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QHttpHeader)
+16 QHttpHeader::~QHttpHeader
+24 QHttpHeader::~QHttpHeader
+32 QHttpHeader::toString
+40 __cxa_pure_virtual
+48 __cxa_pure_virtual
+56 QHttpHeader::parseLine
+
+Class QHttpHeader
+ size=16 align=8
+ base size=16 base align=8
+QHttpHeader (0x7f62dae9ea80) 0
+ vptr=((& QHttpHeader::_ZTV11QHttpHeader) + 16u)
+
+Vtable for QHttpResponseHeader
+QHttpResponseHeader::_ZTV19QHttpResponseHeader: 8u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QHttpResponseHeader)
+16 QHttpResponseHeader::~QHttpResponseHeader
+24 QHttpResponseHeader::~QHttpResponseHeader
+32 QHttpResponseHeader::toString
+40 QHttpResponseHeader::majorVersion
+48 QHttpResponseHeader::minorVersion
+56 QHttpResponseHeader::parseLine
+
+Class QHttpResponseHeader
+ size=16 align=8
+ base size=16 base align=8
+QHttpResponseHeader (0x7f62daea69a0) 0
+ vptr=((& QHttpResponseHeader::_ZTV19QHttpResponseHeader) + 16u)
+ QHttpHeader (0x7f62daea6a10) 0
+ primary-for QHttpResponseHeader (0x7f62daea69a0)
+
+Vtable for QHttpRequestHeader
+QHttpRequestHeader::_ZTV18QHttpRequestHeader: 8u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QHttpRequestHeader)
+16 QHttpRequestHeader::~QHttpRequestHeader
+24 QHttpRequestHeader::~QHttpRequestHeader
+32 QHttpRequestHeader::toString
+40 QHttpRequestHeader::majorVersion
+48 QHttpRequestHeader::minorVersion
+56 QHttpRequestHeader::parseLine
+
+Class QHttpRequestHeader
+ size=16 align=8
+ base size=16 base align=8
+QHttpRequestHeader (0x7f62daec45b0) 0
+ vptr=((& QHttpRequestHeader::_ZTV18QHttpRequestHeader) + 16u)
+ QHttpHeader (0x7f62daec4620) 0
+ primary-for QHttpRequestHeader (0x7f62daec45b0)
+
+Vtable for QHttp
+QHttp::_ZTV5QHttp: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI5QHttp)
+16 QHttp::metaObject
+24 QHttp::qt_metacast
+32 QHttp::qt_metacall
+40 QHttp::~QHttp
+48 QHttp::~QHttp
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QHttp
+ size=16 align=8
+ base size=16 base align=8
+QHttp (0x7f62daed41c0) 0
+ vptr=((& QHttp::_ZTV5QHttp) + 16u)
+ QObject (0x7f62daed4230) 0
+ primary-for QHttp (0x7f62daed41c0)
+
+Vtable for QNetworkAccessManager
+QNetworkAccessManager::_ZTV21QNetworkAccessManager: 15u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI21QNetworkAccessManager)
+16 QNetworkAccessManager::metaObject
+24 QNetworkAccessManager::qt_metacast
+32 QNetworkAccessManager::qt_metacall
+40 QNetworkAccessManager::~QNetworkAccessManager
+48 QNetworkAccessManager::~QNetworkAccessManager
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QNetworkAccessManager::createRequest
+
+Class QNetworkAccessManager
+ size=16 align=8
+ base size=16 base align=8
+QNetworkAccessManager (0x7f62daf043f0) 0
+ vptr=((& QNetworkAccessManager::_ZTV21QNetworkAccessManager) + 16u)
+ QObject (0x7f62daf04460) 0
+ primary-for QNetworkAccessManager (0x7f62daf043f0)
+
+Class QNetworkCookie
+ size=8 align=8
+ base size=8 base align=8
+QNetworkCookie (0x7f62daf1e930) 0
+
+Vtable for QNetworkCookieJar
+QNetworkCookieJar::_ZTV17QNetworkCookieJar: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QNetworkCookieJar)
+16 QNetworkCookieJar::metaObject
+24 QNetworkCookieJar::qt_metacast
+32 QNetworkCookieJar::qt_metacall
+40 QNetworkCookieJar::~QNetworkCookieJar
+48 QNetworkCookieJar::~QNetworkCookieJar
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QNetworkCookieJar::cookiesForUrl
+120 QNetworkCookieJar::setCookiesFromUrl
+
+Class QNetworkCookieJar
+ size=16 align=8
+ base size=16 base align=8
+QNetworkCookieJar (0x7f62daf25a80) 0
+ vptr=((& QNetworkCookieJar::_ZTV17QNetworkCookieJar) + 16u)
+ QObject (0x7f62daf25af0) 0
+ primary-for QNetworkCookieJar (0x7f62daf25a80)
+
+Vtable for QNetworkDiskCache
+QNetworkDiskCache::_ZTV17QNetworkDiskCache: 23u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QNetworkDiskCache)
+16 QNetworkDiskCache::metaObject
+24 QNetworkDiskCache::qt_metacast
+32 QNetworkDiskCache::qt_metacall
+40 QNetworkDiskCache::~QNetworkDiskCache
+48 QNetworkDiskCache::~QNetworkDiskCache
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QNetworkDiskCache::metaData
+120 QNetworkDiskCache::updateMetaData
+128 QNetworkDiskCache::data
+136 QNetworkDiskCache::remove
+144 QNetworkDiskCache::cacheSize
+152 QNetworkDiskCache::prepare
+160 QNetworkDiskCache::insert
+168 QNetworkDiskCache::clear
+176 QNetworkDiskCache::expire
+
+Class QNetworkDiskCache
+ size=16 align=8
+ base size=16 base align=8
+QNetworkDiskCache (0x7f62daf57930) 0
+ vptr=((& QNetworkDiskCache::_ZTV17QNetworkDiskCache) + 16u)
+ QAbstractNetworkCache (0x7f62daf579a0) 0
+ primary-for QNetworkDiskCache (0x7f62daf57930)
+ QObject (0x7f62daf57a10) 0
+ primary-for QAbstractNetworkCache (0x7f62daf579a0)
+
+Vtable for QNetworkReply
+QNetworkReply::_ZTV13QNetworkReply: 33u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QNetworkReply)
+16 QNetworkReply::metaObject
+24 QNetworkReply::qt_metacast
+32 QNetworkReply::qt_metacall
+40 QNetworkReply::~QNetworkReply
+48 QNetworkReply::~QNetworkReply
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QNetworkReply::isSequential
+120 QIODevice::open
+128 QNetworkReply::close
+136 QIODevice::pos
+144 QIODevice::size
+152 QIODevice::seek
+160 QIODevice::atEnd
+168 QIODevice::reset
+176 QIODevice::bytesAvailable
+184 QIODevice::bytesToWrite
+192 QIODevice::canReadLine
+200 QIODevice::waitForReadyRead
+208 QIODevice::waitForBytesWritten
+216 __cxa_pure_virtual
+224 QIODevice::readLineData
+232 QNetworkReply::writeData
+240 __cxa_pure_virtual
+248 QNetworkReply::setReadBufferSize
+256 QNetworkReply::ignoreSslErrors
+
+Class QNetworkReply
+ size=16 align=8
+ base size=16 base align=8
+QNetworkReply (0x7f62daf7b2a0) 0
+ vptr=((& QNetworkReply::_ZTV13QNetworkReply) + 16u)
+ QIODevice (0x7f62daf7b310) 0
+ primary-for QNetworkReply (0x7f62daf7b2a0)
+ QObject (0x7f62daf7b380) 0
+ primary-for QIODevice (0x7f62daf7b310)
+
+Class QAuthenticator
+ size=8 align=8
+ base size=8 base align=8
+QAuthenticator (0x7f62dad99ee0) 0
+
+Class QIPv6Address
+ size=16 align=1
+ base size=16 base align=1
+QIPv6Address (0x7f62dada27e0) 0
+
+Class QHostAddress
+ size=8 align=8
+ base size=8 base align=8
+QHostAddress (0x7f62dada2e00) 0
+
+Class QHostInfo
+ size=8 align=8
+ base size=8 base align=8
+QHostInfo (0x7f62dadd2e00) 0
+
+Class QNetworkAddressEntry
+ size=8 align=8
+ base size=8 base align=8
+QNetworkAddressEntry (0x7f62dade5770) 0
+
+Class QNetworkInterface
+ size=8 align=8
+ base size=8 base align=8
+QNetworkInterface (0x7f62dae07000) 0
+
+Class QNetworkProxyQuery
+ size=8 align=8
+ base size=8 base align=8
+QNetworkProxyQuery (0x7f62dae47d20) 0
+
+Class QNetworkProxy
+ size=8 align=8
+ base size=8 base align=8
+QNetworkProxy (0x7f62dab8d000) 0
+
+Vtable for QNetworkProxyFactory
+QNetworkProxyFactory::_ZTV20QNetworkProxyFactory: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI20QNetworkProxyFactory)
+16 QNetworkProxyFactory::~QNetworkProxyFactory
+24 QNetworkProxyFactory::~QNetworkProxyFactory
+32 __cxa_pure_virtual
+
+Class QNetworkProxyFactory
+ size=8 align=8
+ base size=8 base align=8
+QNetworkProxyFactory (0x7f62dabfc460) 0 nearly-empty
+ vptr=((& QNetworkProxyFactory::_ZTV20QNetworkProxyFactory) + 16u)
+
+Vtable for QLocalServer
+QLocalServer::_ZTV12QLocalServer: 17u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QLocalServer)
+16 QLocalServer::metaObject
+24 QLocalServer::qt_metacast
+32 QLocalServer::qt_metacall
+40 QLocalServer::~QLocalServer
+48 QLocalServer::~QLocalServer
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QLocalServer::hasPendingConnections
+120 QLocalServer::nextPendingConnection
+128 QLocalServer::incomingConnection
+
+Class QLocalServer
+ size=16 align=8
+ base size=16 base align=8
+QLocalServer (0x7f62dabfc770) 0
+ vptr=((& QLocalServer::_ZTV12QLocalServer) + 16u)
+ QObject (0x7f62dabfc7e0) 0
+ primary-for QLocalServer (0x7f62dabfc770)
+
+Vtable for QLocalSocket
+QLocalSocket::_ZTV12QLocalSocket: 30u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QLocalSocket)
+16 QLocalSocket::metaObject
+24 QLocalSocket::qt_metacast
+32 QLocalSocket::qt_metacall
+40 QLocalSocket::~QLocalSocket
+48 QLocalSocket::~QLocalSocket
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QLocalSocket::isSequential
+120 QIODevice::open
+128 QLocalSocket::close
+136 QIODevice::pos
+144 QIODevice::size
+152 QIODevice::seek
+160 QIODevice::atEnd
+168 QIODevice::reset
+176 QLocalSocket::bytesAvailable
+184 QLocalSocket::bytesToWrite
+192 QLocalSocket::canReadLine
+200 QLocalSocket::waitForReadyRead
+208 QLocalSocket::waitForBytesWritten
+216 QLocalSocket::readData
+224 QIODevice::readLineData
+232 QLocalSocket::writeData
+
+Class QLocalSocket
+ size=16 align=8
+ base size=16 base align=8
+QLocalSocket (0x7f62dac1b150) 0
+ vptr=((& QLocalSocket::_ZTV12QLocalSocket) + 16u)
+ QIODevice (0x7f62dac1b1c0) 0
+ primary-for QLocalSocket (0x7f62dac1b150)
+ QObject (0x7f62dac1b230) 0
+ primary-for QIODevice (0x7f62dac1b1c0)
+
+Vtable for QTcpServer
+QTcpServer::_ZTV10QTcpServer: 17u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QTcpServer)
+16 QTcpServer::metaObject
+24 QTcpServer::qt_metacast
+32 QTcpServer::qt_metacall
+40 QTcpServer::~QTcpServer
+48 QTcpServer::~QTcpServer
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QTcpServer::hasPendingConnections
+120 QTcpServer::nextPendingConnection
+128 QTcpServer::incomingConnection
+
+Class QTcpServer
+ size=16 align=8
+ base size=16 base align=8
+QTcpServer (0x7f62dac41310) 0
+ vptr=((& QTcpServer::_ZTV10QTcpServer) + 16u)
+ QObject (0x7f62dac41380) 0
+ primary-for QTcpServer (0x7f62dac41310)
+
+Vtable for QUdpSocket
+QUdpSocket::_ZTV10QUdpSocket: 30u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QUdpSocket)
+16 QUdpSocket::metaObject
+24 QUdpSocket::qt_metacast
+32 QUdpSocket::qt_metacall
+40 QUdpSocket::~QUdpSocket
+48 QUdpSocket::~QUdpSocket
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QAbstractSocket::isSequential
+120 QIODevice::open
+128 QAbstractSocket::close
+136 QIODevice::pos
+144 QIODevice::size
+152 QIODevice::seek
+160 QAbstractSocket::atEnd
+168 QIODevice::reset
+176 QAbstractSocket::bytesAvailable
+184 QAbstractSocket::bytesToWrite
+192 QAbstractSocket::canReadLine
+200 QAbstractSocket::waitForReadyRead
+208 QAbstractSocket::waitForBytesWritten
+216 QAbstractSocket::readData
+224 QAbstractSocket::readLineData
+232 QAbstractSocket::writeData
+
+Class QUdpSocket
+ size=16 align=8
+ base size=16 base align=8
+QUdpSocket (0x7f62dac51e00) 0
+ vptr=((& QUdpSocket::_ZTV10QUdpSocket) + 16u)
+ QAbstractSocket (0x7f62dac51e70) 0
+ primary-for QUdpSocket (0x7f62dac51e00)
+ QIODevice (0x7f62dac51ee0) 0
+ primary-for QAbstractSocket (0x7f62dac51e70)
+ QObject (0x7f62dac51f50) 0
+ primary-for QIODevice (0x7f62dac51ee0)
+
+Class QSqlRecord
+ size=8 align=8
+ base size=8 base align=8
+QSqlRecord (0x7f62dab2b1c0) 0
+
+Vtable for QSqlDriverCreatorBase
+QSqlDriverCreatorBase::_ZTV21QSqlDriverCreatorBase: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI21QSqlDriverCreatorBase)
+16 QSqlDriverCreatorBase::~QSqlDriverCreatorBase
+24 QSqlDriverCreatorBase::~QSqlDriverCreatorBase
+32 __cxa_pure_virtual
+
+Class QSqlDriverCreatorBase
+ size=8 align=8
+ base size=8 base align=8
+QSqlDriverCreatorBase (0x7f62dab2be00) 0 nearly-empty
+ vptr=((& QSqlDriverCreatorBase::_ZTV21QSqlDriverCreatorBase) + 16u)
+
+Class QSqlDatabase
+ size=8 align=8
+ base size=8 base align=8
+QSqlDatabase (0x7f62dab42930) 0
+
+Class QSqlQuery
+ size=8 align=8
+ base size=8 base align=8
+QSqlQuery (0x7f62dab51d20) 0
+
+Vtable for QSqlDriver
+QSqlDriver::_ZTV10QSqlDriver: 32u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QSqlDriver)
+16 QSqlDriver::metaObject
+24 QSqlDriver::qt_metacast
+32 QSqlDriver::qt_metacall
+40 QSqlDriver::~QSqlDriver
+48 QSqlDriver::~QSqlDriver
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QSqlDriver::isOpen
+120 QSqlDriver::beginTransaction
+128 QSqlDriver::commitTransaction
+136 QSqlDriver::rollbackTransaction
+144 QSqlDriver::tables
+152 QSqlDriver::primaryIndex
+160 QSqlDriver::record
+168 QSqlDriver::formatValue
+176 QSqlDriver::escapeIdentifier
+184 QSqlDriver::sqlStatement
+192 QSqlDriver::handle
+200 __cxa_pure_virtual
+208 __cxa_pure_virtual
+216 __cxa_pure_virtual
+224 __cxa_pure_virtual
+232 QSqlDriver::setOpen
+240 QSqlDriver::setOpenError
+248 QSqlDriver::setLastError
+
+Class QSqlDriver
+ size=16 align=8
+ base size=16 base align=8
+QSqlDriver (0x7f62dab5e7e0) 0
+ vptr=((& QSqlDriver::_ZTV10QSqlDriver) + 16u)
+ QObject (0x7f62dab5e850) 0
+ primary-for QSqlDriver (0x7f62dab5e7e0)
+
+Vtable for QSqlDriverFactoryInterface
+QSqlDriverFactoryInterface::_ZTV26QSqlDriverFactoryInterface: 6u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI26QSqlDriverFactoryInterface)
+16 QSqlDriverFactoryInterface::~QSqlDriverFactoryInterface
+24 QSqlDriverFactoryInterface::~QSqlDriverFactoryInterface
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+
+Class QSqlDriverFactoryInterface
+ size=8 align=8
+ base size=8 base align=8
+QSqlDriverFactoryInterface (0x7f62da9a1070) 0 nearly-empty
+ vptr=((& QSqlDriverFactoryInterface::_ZTV26QSqlDriverFactoryInterface) + 16u)
+ QFactoryInterface (0x7f62da9a10e0) 0 nearly-empty
+ primary-for QSqlDriverFactoryInterface (0x7f62da9a1070)
+
+Vtable for QSqlDriverPlugin
+QSqlDriverPlugin::_ZTV16QSqlDriverPlugin: 22u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QSqlDriverPlugin)
+16 QSqlDriverPlugin::metaObject
+24 QSqlDriverPlugin::qt_metacast
+32 QSqlDriverPlugin::qt_metacall
+40 QSqlDriverPlugin::~QSqlDriverPlugin
+48 QSqlDriverPlugin::~QSqlDriverPlugin
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 (int (*)(...))-0x00000000000000010
+136 (int (*)(...))(& _ZTI16QSqlDriverPlugin)
+144 QSqlDriverPlugin::_ZThn16_N16QSqlDriverPluginD1Ev
+152 QSqlDriverPlugin::_ZThn16_N16QSqlDriverPluginD0Ev
+160 __cxa_pure_virtual
+168 __cxa_pure_virtual
+
+Class QSqlDriverPlugin
+ size=24 align=8
+ base size=24 base align=8
+QSqlDriverPlugin (0x7f62da9a2980) 0
+ vptr=((& QSqlDriverPlugin::_ZTV16QSqlDriverPlugin) + 16u)
+ QObject (0x7f62da9a1af0) 0
+ primary-for QSqlDriverPlugin (0x7f62da9a2980)
+ QSqlDriverFactoryInterface (0x7f62da9a1b60) 16 nearly-empty
+ vptr=((& QSqlDriverPlugin::_ZTV16QSqlDriverPlugin) + 144u)
+ QFactoryInterface (0x7f62da9a1bd0) 16 nearly-empty
+ primary-for QSqlDriverFactoryInterface (0x7f62da9a1b60)
+
+Class QSqlError
+ size=24 align=8
+ base size=24 base align=8
+QSqlError (0x7f62da9b5a10) 0
+
+Class QSqlField
+ size=24 align=8
+ base size=24 base align=8
+QSqlField (0x7f62da9bf930) 0
+
+Class QSqlIndex
+ size=32 align=8
+ base size=32 base align=8
+QSqlIndex (0x7f62da9d9230) 0
+ QSqlRecord (0x7f62da9d92a0) 0
+
+Vtable for QSqlResult
+QSqlResult::_ZTV10QSqlResult: 29u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QSqlResult)
+16 QSqlResult::~QSqlResult
+24 QSqlResult::~QSqlResult
+32 QSqlResult::handle
+40 QSqlResult::setAt
+48 QSqlResult::setActive
+56 QSqlResult::setLastError
+64 QSqlResult::setQuery
+72 QSqlResult::setSelect
+80 QSqlResult::setForwardOnly
+88 QSqlResult::exec
+96 QSqlResult::prepare
+104 QSqlResult::savePrepare
+112 QSqlResult::bindValue
+120 QSqlResult::bindValue
+128 __cxa_pure_virtual
+136 __cxa_pure_virtual
+144 __cxa_pure_virtual
+152 __cxa_pure_virtual
+160 QSqlResult::fetchNext
+168 QSqlResult::fetchPrevious
+176 __cxa_pure_virtual
+184 __cxa_pure_virtual
+192 __cxa_pure_virtual
+200 __cxa_pure_virtual
+208 QSqlResult::record
+216 QSqlResult::lastInsertId
+224 QSqlResult::virtual_hook
+
+Class QSqlResult
+ size=16 align=8
+ base size=16 base align=8
+QSqlResult (0x7f62daa0b150) 0
+ vptr=((& QSqlResult::_ZTV10QSqlResult) + 16u)
+
+Vtable for QSqlQueryModel
+QSqlQueryModel::_ZTV14QSqlQueryModel: 44u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QSqlQueryModel)
+16 QSqlQueryModel::metaObject
+24 QSqlQueryModel::qt_metacast
+32 QSqlQueryModel::qt_metacall
+40 QSqlQueryModel::~QSqlQueryModel
+48 QSqlQueryModel::~QSqlQueryModel
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QAbstractTableModel::index
+120 QAbstractTableModel::parent
+128 QSqlQueryModel::rowCount
+136 QSqlQueryModel::columnCount
+144 QAbstractTableModel::hasChildren
+152 QSqlQueryModel::data
+160 QAbstractItemModel::setData
+168 QSqlQueryModel::headerData
+176 QSqlQueryModel::setHeaderData
+184 QAbstractItemModel::itemData
+192 QAbstractItemModel::setItemData
+200 QAbstractItemModel::mimeTypes
+208 QAbstractItemModel::mimeData
+216 QAbstractTableModel::dropMimeData
+224 QAbstractItemModel::supportedDropActions
+232 QAbstractItemModel::insertRows
+240 QSqlQueryModel::insertColumns
+248 QAbstractItemModel::removeRows
+256 QSqlQueryModel::removeColumns
+264 QSqlQueryModel::fetchMore
+272 QSqlQueryModel::canFetchMore
+280 QAbstractItemModel::flags
+288 QAbstractItemModel::sort
+296 QAbstractItemModel::buddy
+304 QAbstractItemModel::match
+312 QAbstractItemModel::span
+320 QAbstractItemModel::submit
+328 QAbstractItemModel::revert
+336 QSqlQueryModel::clear
+344 QSqlQueryModel::queryChange
+
+Class QSqlQueryModel
+ size=16 align=8
+ base size=16 base align=8
+QSqlQueryModel (0x7f62daa0ba10) 0
+ vptr=((& QSqlQueryModel::_ZTV14QSqlQueryModel) + 16u)
+ QAbstractTableModel (0x7f62daa0ba80) 0
+ primary-for QSqlQueryModel (0x7f62daa0ba10)
+ QAbstractItemModel (0x7f62daa0baf0) 0
+ primary-for QAbstractTableModel (0x7f62daa0ba80)
+ QObject (0x7f62daa0bb60) 0
+ primary-for QAbstractItemModel (0x7f62daa0baf0)
+
+Vtable for QSqlTableModel
+QSqlTableModel::_ZTV14QSqlTableModel: 55u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QSqlTableModel)
+16 QSqlTableModel::metaObject
+24 QSqlTableModel::qt_metacast
+32 QSqlTableModel::qt_metacall
+40 QSqlTableModel::~QSqlTableModel
+48 QSqlTableModel::~QSqlTableModel
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QAbstractTableModel::index
+120 QAbstractTableModel::parent
+128 QSqlTableModel::rowCount
+136 QSqlQueryModel::columnCount
+144 QAbstractTableModel::hasChildren
+152 QSqlTableModel::data
+160 QSqlTableModel::setData
+168 QSqlTableModel::headerData
+176 QSqlQueryModel::setHeaderData
+184 QAbstractItemModel::itemData
+192 QAbstractItemModel::setItemData
+200 QAbstractItemModel::mimeTypes
+208 QAbstractItemModel::mimeData
+216 QAbstractTableModel::dropMimeData
+224 QAbstractItemModel::supportedDropActions
+232 QSqlTableModel::insertRows
+240 QSqlQueryModel::insertColumns
+248 QSqlTableModel::removeRows
+256 QSqlTableModel::removeColumns
+264 QSqlQueryModel::fetchMore
+272 QSqlQueryModel::canFetchMore
+280 QSqlTableModel::flags
+288 QSqlTableModel::sort
+296 QAbstractItemModel::buddy
+304 QAbstractItemModel::match
+312 QAbstractItemModel::span
+320 QSqlTableModel::submit
+328 QSqlTableModel::revert
+336 QSqlTableModel::clear
+344 QSqlQueryModel::queryChange
+352 QSqlTableModel::select
+360 QSqlTableModel::setTable
+368 QSqlTableModel::setEditStrategy
+376 QSqlTableModel::setSort
+384 QSqlTableModel::setFilter
+392 QSqlTableModel::revertRow
+400 QSqlTableModel::updateRowInTable
+408 QSqlTableModel::insertRowIntoTable
+416 QSqlTableModel::deleteRowFromTable
+424 QSqlTableModel::orderByClause
+432 QSqlTableModel::selectStatement
+
+Class QSqlTableModel
+ size=16 align=8
+ base size=16 base align=8
+QSqlTableModel (0x7f62daa46310) 0
+ vptr=((& QSqlTableModel::_ZTV14QSqlTableModel) + 16u)
+ QSqlQueryModel (0x7f62daa46380) 0
+ primary-for QSqlTableModel (0x7f62daa46310)
+ QAbstractTableModel (0x7f62daa463f0) 0
+ primary-for QSqlQueryModel (0x7f62daa46380)
+ QAbstractItemModel (0x7f62daa46460) 0
+ primary-for QAbstractTableModel (0x7f62daa463f0)
+ QObject (0x7f62daa464d0) 0
+ primary-for QAbstractItemModel (0x7f62daa46460)
+
+Class QSqlRelation
+ size=24 align=8
+ base size=24 base align=8
+QSqlRelation (0x7f62daa67e00) 0
+
+Vtable for QSqlRelationalTableModel
+QSqlRelationalTableModel::_ZTV24QSqlRelationalTableModel: 57u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI24QSqlRelationalTableModel)
+16 QSqlRelationalTableModel::metaObject
+24 QSqlRelationalTableModel::qt_metacast
+32 QSqlRelationalTableModel::qt_metacall
+40 QSqlRelationalTableModel::~QSqlRelationalTableModel
+48 QSqlRelationalTableModel::~QSqlRelationalTableModel
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QAbstractTableModel::index
+120 QAbstractTableModel::parent
+128 QSqlTableModel::rowCount
+136 QSqlQueryModel::columnCount
+144 QAbstractTableModel::hasChildren
+152 QSqlRelationalTableModel::data
+160 QSqlRelationalTableModel::setData
+168 QSqlTableModel::headerData
+176 QSqlQueryModel::setHeaderData
+184 QAbstractItemModel::itemData
+192 QAbstractItemModel::setItemData
+200 QAbstractItemModel::mimeTypes
+208 QAbstractItemModel::mimeData
+216 QAbstractTableModel::dropMimeData
+224 QAbstractItemModel::supportedDropActions
+232 QSqlTableModel::insertRows
+240 QSqlQueryModel::insertColumns
+248 QSqlTableModel::removeRows
+256 QSqlRelationalTableModel::removeColumns
+264 QSqlQueryModel::fetchMore
+272 QSqlQueryModel::canFetchMore
+280 QSqlTableModel::flags
+288 QSqlTableModel::sort
+296 QAbstractItemModel::buddy
+304 QAbstractItemModel::match
+312 QAbstractItemModel::span
+320 QSqlTableModel::submit
+328 QSqlTableModel::revert
+336 QSqlRelationalTableModel::clear
+344 QSqlQueryModel::queryChange
+352 QSqlRelationalTableModel::select
+360 QSqlRelationalTableModel::setTable
+368 QSqlTableModel::setEditStrategy
+376 QSqlTableModel::setSort
+384 QSqlTableModel::setFilter
+392 QSqlRelationalTableModel::revertRow
+400 QSqlRelationalTableModel::updateRowInTable
+408 QSqlRelationalTableModel::insertRowIntoTable
+416 QSqlTableModel::deleteRowFromTable
+424 QSqlRelationalTableModel::orderByClause
+432 QSqlRelationalTableModel::selectStatement
+440 QSqlRelationalTableModel::setRelation
+448 QSqlRelationalTableModel::relationModel
+
+Class QSqlRelationalTableModel
+ size=16 align=8
+ base size=16 base align=8
+QSqlRelationalTableModel (0x7f62da888770) 0
+ vptr=((& QSqlRelationalTableModel::_ZTV24QSqlRelationalTableModel) + 16u)
+ QSqlTableModel (0x7f62da8887e0) 0
+ primary-for QSqlRelationalTableModel (0x7f62da888770)
+ QSqlQueryModel (0x7f62da888850) 0
+ primary-for QSqlTableModel (0x7f62da8887e0)
+ QAbstractTableModel (0x7f62da8888c0) 0
+ primary-for QSqlQueryModel (0x7f62da888850)
+ QAbstractItemModel (0x7f62da888930) 0
+ primary-for QAbstractTableModel (0x7f62da8888c0)
+ QObject (0x7f62da8889a0) 0
+ primary-for QAbstractItemModel (0x7f62da888930)
+
+Vtable for Q3SqlCursor
+Q3SqlCursor::_ZTV11Q3SqlCursor: 40u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11Q3SqlCursor)
+16 Q3SqlCursor::~Q3SqlCursor
+24 Q3SqlCursor::~Q3SqlCursor
+32 Q3SqlCursor::setValue
+40 Q3SqlCursor::primaryIndex
+48 Q3SqlCursor::index
+56 Q3SqlCursor::setPrimaryIndex
+64 Q3SqlCursor::append
+72 Q3SqlCursor::insert
+80 Q3SqlCursor::remove
+88 Q3SqlCursor::clear
+96 Q3SqlCursor::setGenerated
+104 Q3SqlCursor::setGenerated
+112 Q3SqlCursor::editBuffer
+120 Q3SqlCursor::primeInsert
+128 Q3SqlCursor::primeUpdate
+136 Q3SqlCursor::primeDelete
+144 Q3SqlCursor::insert
+152 Q3SqlCursor::update
+160 Q3SqlCursor::del
+168 Q3SqlCursor::setMode
+176 Q3SqlCursor::setCalculated
+184 Q3SqlCursor::setTrimmed
+192 Q3SqlCursor::select
+200 Q3SqlCursor::setSort
+208 Q3SqlCursor::setFilter
+216 Q3SqlCursor::setName
+224 Q3SqlCursor::seek
+232 Q3SqlCursor::next
+240 Q3SqlCursor::prev
+248 Q3SqlCursor::first
+256 Q3SqlCursor::last
+264 Q3SqlCursor::exec
+272 Q3SqlCursor::calculateField
+280 Q3SqlCursor::update
+288 Q3SqlCursor::del
+296 Q3SqlCursor::toString
+304 Q3SqlCursor::toString
+312 Q3SqlCursor::toString
+
+Class Q3SqlCursor
+ size=32 align=8
+ base size=32 base align=8
+Q3SqlCursor (0x7f62da88d980) 0
+ vptr=((& Q3SqlCursor::_ZTV11Q3SqlCursor) + 16u)
+ QSqlRecord (0x7f62da8aa000) 8
+ QSqlQuery (0x7f62da8aa070) 16
+
+Vtable for Q3DataBrowser
+Q3DataBrowser::_ZTV13Q3DataBrowser: 91u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13Q3DataBrowser)
+16 Q3DataBrowser::metaObject
+24 Q3DataBrowser::qt_metacast
+32 Q3DataBrowser::qt_metacall
+40 Q3DataBrowser::~Q3DataBrowser
+48 Q3DataBrowser::~Q3DataBrowser
+56 QWidget::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QWidget::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QWidget::paintEvent
+256 QWidget::moveEvent
+264 QWidget::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QWidget::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 Q3DataBrowser::setSqlCursor
+456 Q3DataBrowser::setForm
+464 Q3DataBrowser::setConfirmEdits
+472 Q3DataBrowser::setConfirmInsert
+480 Q3DataBrowser::setConfirmUpdate
+488 Q3DataBrowser::setConfirmDelete
+496 Q3DataBrowser::setConfirmCancels
+504 Q3DataBrowser::setReadOnly
+512 Q3DataBrowser::setAutoEdit
+520 Q3DataBrowser::seek
+528 Q3DataBrowser::refresh
+536 Q3DataBrowser::insert
+544 Q3DataBrowser::update
+552 Q3DataBrowser::del
+560 Q3DataBrowser::first
+568 Q3DataBrowser::last
+576 Q3DataBrowser::next
+584 Q3DataBrowser::prev
+592 Q3DataBrowser::readFields
+600 Q3DataBrowser::writeFields
+608 Q3DataBrowser::clearValues
+616 Q3DataBrowser::insertCurrent
+624 Q3DataBrowser::updateCurrent
+632 Q3DataBrowser::deleteCurrent
+640 Q3DataBrowser::currentEdited
+648 Q3DataBrowser::confirmEdit
+656 Q3DataBrowser::confirmCancel
+664 Q3DataBrowser::handleError
+672 (int (*)(...))-0x00000000000000010
+680 (int (*)(...))(& _ZTI13Q3DataBrowser)
+688 Q3DataBrowser::_ZThn16_N13Q3DataBrowserD1Ev
+696 Q3DataBrowser::_ZThn16_N13Q3DataBrowserD0Ev
+704 QWidget::_ZThn16_NK7QWidget7devTypeEv
+712 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+720 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class Q3DataBrowser
+ size=48 align=8
+ base size=48 base align=8
+Q3DataBrowser (0x7f62da8c6b60) 0
+ vptr=((& Q3DataBrowser::_ZTV13Q3DataBrowser) + 16u)
+ QWidget (0x7f62da8cc200) 0
+ primary-for Q3DataBrowser (0x7f62da8c6b60)
+ QObject (0x7f62da8c6bd0) 0
+ primary-for QWidget (0x7f62da8cc200)
+ QPaintDevice (0x7f62da8c6c40) 16
+ vptr=((& Q3DataBrowser::_ZTV13Q3DataBrowser) + 688u)
+
+Vtable for Q3Frame
+Q3Frame::_ZTV7Q3Frame: 66u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7Q3Frame)
+16 Q3Frame::metaObject
+24 Q3Frame::qt_metacast
+32 Q3Frame::qt_metacall
+40 Q3Frame::~Q3Frame
+48 Q3Frame::~Q3Frame
+56 QFrame::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QFrame::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 Q3Frame::paintEvent
+256 QWidget::moveEvent
+264 Q3Frame::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QFrame::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 Q3Frame::frameChanged
+456 Q3Frame::drawFrame
+464 Q3Frame::drawContents
+472 (int (*)(...))-0x00000000000000010
+480 (int (*)(...))(& _ZTI7Q3Frame)
+488 Q3Frame::_ZThn16_N7Q3FrameD1Ev
+496 Q3Frame::_ZThn16_N7Q3FrameD0Ev
+504 QWidget::_ZThn16_NK7QWidget7devTypeEv
+512 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+520 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class Q3Frame
+ size=48 align=8
+ base size=44 base align=8
+Q3Frame (0x7f62da8f72a0) 0
+ vptr=((& Q3Frame::_ZTV7Q3Frame) + 16u)
+ QFrame (0x7f62da8f7310) 0
+ primary-for Q3Frame (0x7f62da8f72a0)
+ QWidget (0x7f62da8ccc00) 0
+ primary-for QFrame (0x7f62da8f7310)
+ QObject (0x7f62da8f7380) 0
+ primary-for QWidget (0x7f62da8ccc00)
+ QPaintDevice (0x7f62da8f73f0) 16
+ vptr=((& Q3Frame::_ZTV7Q3Frame) + 488u)
+
+Vtable for Q3ScrollView
+Q3ScrollView::_ZTV12Q3ScrollView: 102u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12Q3ScrollView)
+16 Q3ScrollView::metaObject
+24 Q3ScrollView::qt_metacast
+32 Q3ScrollView::qt_metacall
+40 Q3ScrollView::~Q3ScrollView
+48 Q3ScrollView::~Q3ScrollView
+56 QFrame::event
+64 Q3ScrollView::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 Q3ScrollView::setVisible
+128 Q3ScrollView::sizeHint
+136 Q3ScrollView::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 Q3ScrollView::mousePressEvent
+168 Q3ScrollView::mouseReleaseEvent
+176 Q3ScrollView::mouseDoubleClickEvent
+184 Q3ScrollView::mouseMoveEvent
+192 Q3ScrollView::wheelEvent
+200 QWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 Q3Frame::paintEvent
+256 QWidget::moveEvent
+264 Q3ScrollView::resizeEvent
+272 QWidget::closeEvent
+280 Q3ScrollView::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QFrame::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 Q3ScrollView::focusNextPrevChild
+400 Q3ScrollView::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 Q3ScrollView::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 Q3ScrollView::frameChanged
+456 Q3Frame::drawFrame
+464 Q3ScrollView::drawContents
+472 Q3ScrollView::setResizePolicy
+480 Q3ScrollView::addChild
+488 Q3ScrollView::moveChild
+496 Q3ScrollView::setVScrollBarMode
+504 Q3ScrollView::setHScrollBarMode
+512 Q3ScrollView::setCornerWidget
+520 Q3ScrollView::setDragAutoScroll
+528 Q3ScrollView::resizeContents
+536 Q3ScrollView::setContentsPos
+544 Q3ScrollView::drawContents
+552 Q3ScrollView::drawContentsOffset
+560 Q3ScrollView::contentsMousePressEvent
+568 Q3ScrollView::contentsMouseReleaseEvent
+576 Q3ScrollView::contentsMouseDoubleClickEvent
+584 Q3ScrollView::contentsMouseMoveEvent
+592 Q3ScrollView::contentsDragEnterEvent
+600 Q3ScrollView::contentsDragMoveEvent
+608 Q3ScrollView::contentsDragLeaveEvent
+616 Q3ScrollView::contentsDropEvent
+624 Q3ScrollView::contentsWheelEvent
+632 Q3ScrollView::contentsContextMenuEvent
+640 Q3ScrollView::viewportPaintEvent
+648 Q3ScrollView::viewportResizeEvent
+656 Q3ScrollView::viewportMousePressEvent
+664 Q3ScrollView::viewportMouseReleaseEvent
+672 Q3ScrollView::viewportMouseDoubleClickEvent
+680 Q3ScrollView::viewportMouseMoveEvent
+688 Q3ScrollView::viewportDragEnterEvent
+696 Q3ScrollView::viewportDragMoveEvent
+704 Q3ScrollView::viewportDragLeaveEvent
+712 Q3ScrollView::viewportDropEvent
+720 Q3ScrollView::viewportWheelEvent
+728 Q3ScrollView::viewportContextMenuEvent
+736 Q3ScrollView::setMargins
+744 Q3ScrollView::setHBarGeometry
+752 Q3ScrollView::setVBarGeometry
+760 (int (*)(...))-0x00000000000000010
+768 (int (*)(...))(& _ZTI12Q3ScrollView)
+776 Q3ScrollView::_ZThn16_N12Q3ScrollViewD1Ev
+784 Q3ScrollView::_ZThn16_N12Q3ScrollViewD0Ev
+792 QWidget::_ZThn16_NK7QWidget7devTypeEv
+800 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+808 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class Q3ScrollView
+ size=56 align=8
+ base size=56 base align=8
+Q3ScrollView (0x7f62da90fa80) 0
+ vptr=((& Q3ScrollView::_ZTV12Q3ScrollView) + 16u)
+ Q3Frame (0x7f62da90faf0) 0
+ primary-for Q3ScrollView (0x7f62da90fa80)
+ QFrame (0x7f62da90fb60) 0
+ primary-for Q3Frame (0x7f62da90faf0)
+ QWidget (0x7f62da90d500) 0
+ primary-for QFrame (0x7f62da90fb60)
+ QObject (0x7f62da90fbd0) 0
+ primary-for QWidget (0x7f62da90d500)
+ QPaintDevice (0x7f62da90fc40) 16
+ vptr=((& Q3ScrollView::_ZTV12Q3ScrollView) + 776u)
+
+Vtable for Q3PtrCollection
+Q3PtrCollection::_ZTV15Q3PtrCollection: 8u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15Q3PtrCollection)
+16 __cxa_pure_virtual
+24 __cxa_pure_virtual
+32 Q3PtrCollection::~Q3PtrCollection
+40 Q3PtrCollection::~Q3PtrCollection
+48 Q3PtrCollection::newItem
+56 __cxa_pure_virtual
+
+Class Q3PtrCollection
+ size=16 align=8
+ base size=9 base align=8
+Q3PtrCollection (0x7f62da957150) 0
+ vptr=((& Q3PtrCollection::_ZTV15Q3PtrCollection) + 16u)
+
+Vtable for Q3GVector
+Q3GVector::_ZTV9Q3GVector: 11u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9Q3GVector)
+16 Q3GVector::count
+24 Q3GVector::clear
+32 Q3GVector::~Q3GVector
+40 Q3GVector::~Q3GVector
+48 Q3PtrCollection::newItem
+56 __cxa_pure_virtual
+64 Q3GVector::compareItems
+72 Q3GVector::read
+80 Q3GVector::write
+
+Class Q3GVector
+ size=32 align=8
+ base size=32 base align=8
+Q3GVector (0x7f62da9672a0) 0
+ vptr=((& Q3GVector::_ZTV9Q3GVector) + 16u)
+ Q3PtrCollection (0x7f62da967310) 0
+ primary-for Q3GVector (0x7f62da9672a0)
+
+Vtable for Q3Header
+Q3Header::_ZTV8Q3Header: 76u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI8Q3Header)
+16 Q3Header::metaObject
+24 Q3Header::qt_metacast
+32 Q3Header::qt_metacall
+40 Q3Header::~Q3Header
+48 Q3Header::~Q3Header
+56 QWidget::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 Q3Header::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 Q3Header::mousePressEvent
+168 Q3Header::mouseReleaseEvent
+176 Q3Header::mouseDoubleClickEvent
+184 Q3Header::mouseMoveEvent
+192 QWidget::wheelEvent
+200 Q3Header::keyPressEvent
+208 Q3Header::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 Q3Header::paintEvent
+256 QWidget::moveEvent
+264 Q3Header::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 Q3Header::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 Q3Header::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 Q3Header::setLabel
+456 Q3Header::setLabel
+464 Q3Header::setOrientation
+472 Q3Header::setTracking
+480 Q3Header::setClickEnabled
+488 Q3Header::setResizeEnabled
+496 Q3Header::setMovingEnabled
+504 Q3Header::setStretchEnabled
+512 Q3Header::setCellSize
+520 Q3Header::moveCell
+528 Q3Header::setOffset
+536 Q3Header::paintSection
+544 Q3Header::paintSectionLabel
+552 (int (*)(...))-0x00000000000000010
+560 (int (*)(...))(& _ZTI8Q3Header)
+568 Q3Header::_ZThn16_N8Q3HeaderD1Ev
+576 Q3Header::_ZThn16_N8Q3HeaderD0Ev
+584 QWidget::_ZThn16_NK7QWidget7devTypeEv
+592 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+600 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class Q3Header
+ size=88 align=8
+ base size=88 base align=8
+Q3Header (0x7f62da7a32a0) 0
+ vptr=((& Q3Header::_ZTV8Q3Header) + 16u)
+ QWidget (0x7f62da7a5200) 0
+ primary-for Q3Header (0x7f62da7a32a0)
+ QObject (0x7f62da7a3310) 0
+ primary-for QWidget (0x7f62da7a5200)
+ QPaintDevice (0x7f62da7a3380) 16
+ vptr=((& Q3Header::_ZTV8Q3Header) + 568u)
+
+Class Q3Shared
+ size=4 align=4
+ base size=4 base align=4
+Q3Shared (0x7f62da7decb0) 0
+
+Class Q3GArray::array_data
+ size=24 align=8
+ base size=20 base align=8
+Q3GArray::array_data (0x7f62da7e7a80) 0
+ Q3Shared (0x7f62da7e7af0) 0
+
+Vtable for Q3GArray
+Q3GArray::_ZTV8Q3GArray: 7u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI8Q3GArray)
+16 Q3GArray::~Q3GArray
+24 Q3GArray::~Q3GArray
+32 Q3GArray::detach
+40 Q3GArray::newData
+48 Q3GArray::deleteData
+
+Class Q3GArray
+ size=16 align=8
+ base size=16 base align=8
+Q3GArray (0x7f62da7e7a10) 0
+ vptr=((& Q3GArray::_ZTV8Q3GArray) + 16u)
+
+Class Q3LNode
+ size=24 align=8
+ base size=24 base align=8
+Q3LNode (0x7f62da820f50) 0
+
+Vtable for Q3GList
+Q3GList::_ZTV7Q3GList: 11u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7Q3GList)
+16 Q3GList::count
+24 Q3GList::clear
+32 Q3GList::~Q3GList
+40 Q3GList::~Q3GList
+48 Q3PtrCollection::newItem
+56 __cxa_pure_virtual
+64 Q3GList::compareItems
+72 Q3GList::read
+80 Q3GList::write
+
+Class Q3GList
+ size=56 align=8
+ base size=56 base align=8
+Q3GList (0x7f62da834e70) 0
+ vptr=((& Q3GList::_ZTV7Q3GList) + 16u)
+ Q3PtrCollection (0x7f62da834ee0) 0
+ primary-for Q3GList (0x7f62da834e70)
+
+Class Q3GListIterator
+ size=16 align=8
+ base size=16 base align=8
+Q3GListIterator (0x7f62da85bb60) 0
+
+Class Q3GListStdIterator
+ size=8 align=8
+ base size=8 base align=8
+Q3GListStdIterator (0x7f62da868af0) 0
+
+Class Q3BaseBucket
+ size=16 align=8
+ base size=16 base align=8
+Q3BaseBucket (0x7f62da6a2e00) 0
+
+Class Q3StringBucket
+ size=24 align=8
+ base size=24 base align=8
+Q3StringBucket (0x7f62da6ce7e0) 0
+ Q3BaseBucket (0x7f62da6ce850) 0
+
+Class Q3AsciiBucket
+ size=24 align=8
+ base size=24 base align=8
+Q3AsciiBucket (0x7f62da6d83f0) 0
+ Q3BaseBucket (0x7f62da6d8460) 0
+
+Class Q3IntBucket
+ size=24 align=8
+ base size=24 base align=8
+Q3IntBucket (0x7f62da6d8e70) 0
+ Q3BaseBucket (0x7f62da6d8ee0) 0
+
+Class Q3PtrBucket
+ size=24 align=8
+ base size=24 base align=8
+Q3PtrBucket (0x7f62da6e0930) 0
+ Q3BaseBucket (0x7f62da6e09a0) 0
+
+Vtable for Q3GDict
+Q3GDict::_ZTV7Q3GDict: 10u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7Q3GDict)
+16 Q3GDict::count
+24 Q3GDict::clear
+32 Q3GDict::~Q3GDict
+40 Q3GDict::~Q3GDict
+48 Q3PtrCollection::newItem
+56 __cxa_pure_virtual
+64 Q3GDict::read
+72 Q3GDict::write
+
+Class Q3GDict
+ size=48 align=8
+ base size=48 base align=8
+Q3GDict (0x7f62da6e93f0) 0
+ vptr=((& Q3GDict::_ZTV7Q3GDict) + 16u)
+ Q3PtrCollection (0x7f62da6e9460) 0
+ primary-for Q3GDict (0x7f62da6e93f0)
+
+Class Q3GDictIterator
+ size=24 align=8
+ base size=20 base align=8
+Q3GDictIterator (0x7f62da6fe540) 0
+
+Class Q3TableSelection
+ size=28 align=4
+ base size=28 base align=4
+Q3TableSelection (0x7f62da73f0e0) 0
+
+Vtable for Q3TableItem
+Q3TableItem::_ZTV11Q3TableItem: 21u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11Q3TableItem)
+16 Q3TableItem::~Q3TableItem
+24 Q3TableItem::~Q3TableItem
+32 Q3TableItem::pixmap
+40 Q3TableItem::text
+48 Q3TableItem::setPixmap
+56 Q3TableItem::setText
+64 Q3TableItem::alignment
+72 Q3TableItem::setWordWrap
+80 Q3TableItem::createEditor
+88 Q3TableItem::setContentFromEditor
+96 Q3TableItem::setReplaceable
+104 Q3TableItem::key
+112 Q3TableItem::sizeHint
+120 Q3TableItem::setSpan
+128 Q3TableItem::setRow
+136 Q3TableItem::setCol
+144 Q3TableItem::paint
+152 Q3TableItem::setEnabled
+160 Q3TableItem::rtti
+
+Class Q3TableItem
+ size=72 align=8
+ base size=72 base align=8
+Q3TableItem (0x7f62da74c850) 0
+ vptr=((& Q3TableItem::_ZTV11Q3TableItem) + 16u)
+
+Vtable for Q3ComboTableItem
+Q3ComboTableItem::_ZTV16Q3ComboTableItem: 25u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16Q3ComboTableItem)
+16 Q3ComboTableItem::~Q3ComboTableItem
+24 Q3ComboTableItem::~Q3ComboTableItem
+32 Q3TableItem::pixmap
+40 Q3TableItem::text
+48 Q3TableItem::setPixmap
+56 Q3TableItem::setText
+64 Q3TableItem::alignment
+72 Q3TableItem::setWordWrap
+80 Q3ComboTableItem::createEditor
+88 Q3ComboTableItem::setContentFromEditor
+96 Q3TableItem::setReplaceable
+104 Q3TableItem::key
+112 Q3ComboTableItem::sizeHint
+120 Q3TableItem::setSpan
+128 Q3TableItem::setRow
+136 Q3TableItem::setCol
+144 Q3ComboTableItem::paint
+152 Q3TableItem::setEnabled
+160 Q3ComboTableItem::rtti
+168 Q3ComboTableItem::setCurrentItem
+176 Q3ComboTableItem::setCurrentItem
+184 Q3ComboTableItem::setEditable
+192 Q3ComboTableItem::setStringList
+
+Class Q3ComboTableItem
+ size=96 align=8
+ base size=93 base align=8
+Q3ComboTableItem (0x7f62da7630e0) 0
+ vptr=((& Q3ComboTableItem::_ZTV16Q3ComboTableItem) + 16u)
+ Q3TableItem (0x7f62da763150) 0
+ primary-for Q3ComboTableItem (0x7f62da7630e0)
+
+Vtable for Q3CheckTableItem
+Q3CheckTableItem::_ZTV16Q3CheckTableItem: 22u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16Q3CheckTableItem)
+16 Q3CheckTableItem::~Q3CheckTableItem
+24 Q3CheckTableItem::~Q3CheckTableItem
+32 Q3TableItem::pixmap
+40 Q3TableItem::text
+48 Q3TableItem::setPixmap
+56 Q3CheckTableItem::setText
+64 Q3TableItem::alignment
+72 Q3TableItem::setWordWrap
+80 Q3CheckTableItem::createEditor
+88 Q3CheckTableItem::setContentFromEditor
+96 Q3TableItem::setReplaceable
+104 Q3TableItem::key
+112 Q3CheckTableItem::sizeHint
+120 Q3TableItem::setSpan
+128 Q3TableItem::setRow
+136 Q3TableItem::setCol
+144 Q3CheckTableItem::paint
+152 Q3TableItem::setEnabled
+160 Q3CheckTableItem::rtti
+168 Q3CheckTableItem::setChecked
+
+Class Q3CheckTableItem
+ size=88 align=8
+ base size=81 base align=8
+Q3CheckTableItem (0x7f62da7633f0) 0
+ vptr=((& Q3CheckTableItem::_ZTV16Q3CheckTableItem) + 16u)
+ Q3TableItem (0x7f62da763460) 0
+ primary-for Q3CheckTableItem (0x7f62da7633f0)
+
+Class Q3Table::TableWidget
+ size=16 align=8
+ base size=16 base align=8
+Q3Table::TableWidget (0x7f62da590540) 0
+
+Vtable for Q3Table
+Q3Table::_ZTV7Q3Table: 183u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7Q3Table)
+16 Q3Table::metaObject
+24 Q3Table::qt_metacast
+32 Q3Table::qt_metacall
+40 Q3Table::~Q3Table
+48 Q3Table::~Q3Table
+56 QFrame::event
+64 Q3Table::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 Q3ScrollView::setVisible
+128 Q3Table::sizeHint
+136 Q3ScrollView::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 Q3ScrollView::mousePressEvent
+168 Q3ScrollView::mouseReleaseEvent
+176 Q3ScrollView::mouseDoubleClickEvent
+184 Q3ScrollView::mouseMoveEvent
+192 Q3ScrollView::wheelEvent
+200 Q3Table::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 Q3Table::focusInEvent
+224 Q3Table::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 Q3Table::paintEvent
+256 QWidget::moveEvent
+264 Q3ScrollView::resizeEvent
+272 QWidget::closeEvent
+280 Q3ScrollView::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 Q3Table::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QFrame::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 Q3Table::inputMethodQuery
+392 Q3ScrollView::focusNextPrevChild
+400 Q3ScrollView::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 Q3ScrollView::fontChange
+432 Q3Table::windowActivationChange
+440 QWidget::languageChange
+448 Q3ScrollView::frameChanged
+456 Q3Frame::drawFrame
+464 Q3Table::drawContents
+472 Q3ScrollView::setResizePolicy
+480 Q3ScrollView::addChild
+488 Q3ScrollView::moveChild
+496 Q3ScrollView::setVScrollBarMode
+504 Q3ScrollView::setHScrollBarMode
+512 Q3ScrollView::setCornerWidget
+520 Q3ScrollView::setDragAutoScroll
+528 Q3ScrollView::resizeContents
+536 Q3ScrollView::setContentsPos
+544 Q3Table::drawContents
+552 Q3ScrollView::drawContentsOffset
+560 Q3Table::contentsMousePressEvent
+568 Q3Table::contentsMouseReleaseEvent
+576 Q3Table::contentsMouseDoubleClickEvent
+584 Q3Table::contentsMouseMoveEvent
+592 Q3Table::contentsDragEnterEvent
+600 Q3Table::contentsDragMoveEvent
+608 Q3Table::contentsDragLeaveEvent
+616 Q3Table::contentsDropEvent
+624 Q3ScrollView::contentsWheelEvent
+632 Q3Table::contentsContextMenuEvent
+640 Q3ScrollView::viewportPaintEvent
+648 Q3Table::viewportResizeEvent
+656 Q3ScrollView::viewportMousePressEvent
+664 Q3ScrollView::viewportMouseReleaseEvent
+672 Q3ScrollView::viewportMouseDoubleClickEvent
+680 Q3ScrollView::viewportMouseMoveEvent
+688 Q3ScrollView::viewportDragEnterEvent
+696 Q3ScrollView::viewportDragMoveEvent
+704 Q3ScrollView::viewportDragLeaveEvent
+712 Q3ScrollView::viewportDropEvent
+720 Q3ScrollView::viewportWheelEvent
+728 Q3ScrollView::viewportContextMenuEvent
+736 Q3ScrollView::setMargins
+744 Q3ScrollView::setHBarGeometry
+752 Q3ScrollView::setVBarGeometry
+760 Q3Table::setSelectionMode
+768 Q3Table::setItem
+776 Q3Table::setText
+784 Q3Table::setPixmap
+792 Q3Table::item
+800 Q3Table::text
+808 Q3Table::pixmap
+816 Q3Table::clearCell
+824 Q3Table::cellGeometry
+832 Q3Table::columnWidth
+840 Q3Table::rowHeight
+848 Q3Table::columnPos
+856 Q3Table::rowPos
+864 Q3Table::columnAt
+872 Q3Table::rowAt
+880 Q3Table::numRows
+888 Q3Table::numCols
+896 Q3Table::addSelection
+904 Q3Table::removeSelection
+912 Q3Table::removeSelection
+920 Q3Table::currentSelection
+928 Q3Table::selectRow
+936 Q3Table::selectColumn
+944 Q3Table::sortColumn
+952 Q3Table::takeItem
+960 Q3Table::setCellWidget
+968 Q3Table::cellWidget
+976 Q3Table::clearCellWidget
+984 Q3Table::cellRect
+992 Q3Table::paintCell
+1000 Q3Table::paintCell
+1008 Q3Table::paintFocus
+1016 Q3Table::setFocusStyle
+1024 Q3Table::setNumRows
+1032 Q3Table::setNumCols
+1040 Q3Table::setShowGrid
+1048 Q3Table::hideRow
+1056 Q3Table::hideColumn
+1064 Q3Table::showRow
+1072 Q3Table::showColumn
+1080 Q3Table::setColumnWidth
+1088 Q3Table::setRowHeight
+1096 Q3Table::adjustColumn
+1104 Q3Table::adjustRow
+1112 Q3Table::setColumnStretchable
+1120 Q3Table::setRowStretchable
+1128 Q3Table::setSorting
+1136 Q3Table::swapRows
+1144 Q3Table::swapColumns
+1152 Q3Table::swapCells
+1160 Q3Table::setLeftMargin
+1168 Q3Table::setTopMargin
+1176 Q3Table::setCurrentCell
+1184 Q3Table::setColumnMovingEnabled
+1192 Q3Table::setRowMovingEnabled
+1200 Q3Table::setReadOnly
+1208 Q3Table::setRowReadOnly
+1216 Q3Table::setColumnReadOnly
+1224 Q3Table::setDragEnabled
+1232 Q3Table::insertRows
+1240 Q3Table::insertColumns
+1248 Q3Table::removeRow
+1256 Q3Table::removeRows
+1264 Q3Table::removeColumn
+1272 Q3Table::removeColumns
+1280 Q3Table::editCell
+1288 Q3Table::dragObject
+1296 Q3Table::startDrag
+1304 Q3Table::paintEmptyArea
+1312 Q3Table::activateNextCell
+1320 Q3Table::createEditor
+1328 Q3Table::setCellContentFromEditor
+1336 Q3Table::beginEdit
+1344 Q3Table::endEdit
+1352 Q3Table::resizeData
+1360 Q3Table::insertWidget
+1368 Q3Table::columnWidthChanged
+1376 Q3Table::rowHeightChanged
+1384 Q3Table::columnIndexChanged
+1392 Q3Table::rowIndexChanged
+1400 Q3Table::columnClicked
+1408 (int (*)(...))-0x00000000000000010
+1416 (int (*)(...))(& _ZTI7Q3Table)
+1424 Q3Table::_ZThn16_N7Q3TableD1Ev
+1432 Q3Table::_ZThn16_N7Q3TableD0Ev
+1440 QWidget::_ZThn16_NK7QWidget7devTypeEv
+1448 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+1456 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class Q3Table
+ size=392 align=8
+ base size=388 base align=8
+Q3Table (0x7f62da7635b0) 0
+ vptr=((& Q3Table::_ZTV7Q3Table) + 16u)
+ Q3ScrollView (0x7f62da763620) 0
+ primary-for Q3Table (0x7f62da7635b0)
+ Q3Frame (0x7f62da763690) 0
+ primary-for Q3ScrollView (0x7f62da763620)
+ QFrame (0x7f62da763700) 0
+ primary-for Q3Frame (0x7f62da763690)
+ QWidget (0x7f62da74ba80) 0
+ primary-for QFrame (0x7f62da763700)
+ QObject (0x7f62da763770) 0
+ primary-for QWidget (0x7f62da74ba80)
+ QPaintDevice (0x7f62da7637e0) 16
+ vptr=((& Q3Table::_ZTV7Q3Table) + 1424u)
+
+Vtable for Q3EditorFactory
+Q3EditorFactory::_ZTV15Q3EditorFactory: 15u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15Q3EditorFactory)
+16 QObject::metaObject
+24 QObject::qt_metacast
+32 QObject::qt_metacall
+40 Q3EditorFactory::~Q3EditorFactory
+48 Q3EditorFactory::~Q3EditorFactory
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 Q3EditorFactory::createEditor
+
+Class Q3EditorFactory
+ size=16 align=8
+ base size=16 base align=8
+Q3EditorFactory (0x7f62da6137e0) 0
+ vptr=((& Q3EditorFactory::_ZTV15Q3EditorFactory) + 16u)
+ QObject (0x7f62da613850) 0
+ primary-for Q3EditorFactory (0x7f62da6137e0)
+
+Vtable for Q3SqlEditorFactory
+Q3SqlEditorFactory::_ZTV18Q3SqlEditorFactory: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18Q3SqlEditorFactory)
+16 QObject::metaObject
+24 QObject::qt_metacast
+32 QObject::qt_metacall
+40 Q3SqlEditorFactory::~Q3SqlEditorFactory
+48 Q3SqlEditorFactory::~Q3SqlEditorFactory
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 Q3SqlEditorFactory::createEditor
+120 Q3SqlEditorFactory::createEditor
+
+Class Q3SqlEditorFactory
+ size=16 align=8
+ base size=16 base align=8
+Q3SqlEditorFactory (0x7f62da619150) 0
+ vptr=((& Q3SqlEditorFactory::_ZTV18Q3SqlEditorFactory) + 16u)
+ Q3EditorFactory (0x7f62da6191c0) 0
+ primary-for Q3SqlEditorFactory (0x7f62da619150)
+ QObject (0x7f62da619230) 0
+ primary-for Q3EditorFactory (0x7f62da6191c0)
+
+Vtable for Q3DataTable
+Q3DataTable::_ZTV11Q3DataTable: 214u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11Q3DataTable)
+16 Q3DataTable::metaObject
+24 Q3DataTable::qt_metacast
+32 Q3DataTable::qt_metacall
+40 Q3DataTable::~Q3DataTable
+48 Q3DataTable::~Q3DataTable
+56 QFrame::event
+64 Q3DataTable::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 Q3ScrollView::setVisible
+128 Q3Table::sizeHint
+136 Q3ScrollView::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 Q3ScrollView::mousePressEvent
+168 Q3ScrollView::mouseReleaseEvent
+176 Q3ScrollView::mouseDoubleClickEvent
+184 Q3ScrollView::mouseMoveEvent
+192 Q3ScrollView::wheelEvent
+200 Q3DataTable::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 Q3Table::focusInEvent
+224 Q3Table::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 Q3Table::paintEvent
+256 QWidget::moveEvent
+264 Q3DataTable::resizeEvent
+272 QWidget::closeEvent
+280 Q3ScrollView::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 Q3Table::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QFrame::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 Q3Table::inputMethodQuery
+392 Q3ScrollView::focusNextPrevChild
+400 Q3ScrollView::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 Q3ScrollView::fontChange
+432 Q3Table::windowActivationChange
+440 QWidget::languageChange
+448 Q3ScrollView::frameChanged
+456 Q3Frame::drawFrame
+464 Q3DataTable::drawContents
+472 Q3ScrollView::setResizePolicy
+480 Q3ScrollView::addChild
+488 Q3ScrollView::moveChild
+496 Q3ScrollView::setVScrollBarMode
+504 Q3ScrollView::setHScrollBarMode
+512 Q3ScrollView::setCornerWidget
+520 Q3ScrollView::setDragAutoScroll
+528 Q3ScrollView::resizeContents
+536 Q3ScrollView::setContentsPos
+544 Q3DataTable::drawContents
+552 Q3ScrollView::drawContentsOffset
+560 Q3DataTable::contentsMousePressEvent
+568 Q3Table::contentsMouseReleaseEvent
+576 Q3Table::contentsMouseDoubleClickEvent
+584 Q3Table::contentsMouseMoveEvent
+592 Q3Table::contentsDragEnterEvent
+600 Q3Table::contentsDragMoveEvent
+608 Q3Table::contentsDragLeaveEvent
+616 Q3Table::contentsDropEvent
+624 Q3ScrollView::contentsWheelEvent
+632 Q3DataTable::contentsContextMenuEvent
+640 Q3ScrollView::viewportPaintEvent
+648 Q3Table::viewportResizeEvent
+656 Q3ScrollView::viewportMousePressEvent
+664 Q3ScrollView::viewportMouseReleaseEvent
+672 Q3ScrollView::viewportMouseDoubleClickEvent
+680 Q3ScrollView::viewportMouseMoveEvent
+688 Q3ScrollView::viewportDragEnterEvent
+696 Q3ScrollView::viewportDragMoveEvent
+704 Q3ScrollView::viewportDragLeaveEvent
+712 Q3ScrollView::viewportDropEvent
+720 Q3ScrollView::viewportWheelEvent
+728 Q3ScrollView::viewportContextMenuEvent
+736 Q3ScrollView::setMargins
+744 Q3ScrollView::setHBarGeometry
+752 Q3ScrollView::setVBarGeometry
+760 Q3Table::setSelectionMode
+768 Q3DataTable::setItem
+776 Q3Table::setText
+784 Q3DataTable::setPixmap
+792 Q3DataTable::item
+800 Q3DataTable::text
+808 Q3Table::pixmap
+816 Q3DataTable::clearCell
+824 Q3Table::cellGeometry
+832 Q3Table::columnWidth
+840 Q3Table::rowHeight
+848 Q3Table::columnPos
+856 Q3Table::rowPos
+864 Q3Table::columnAt
+872 Q3Table::rowAt
+880 Q3DataTable::numRows
+888 Q3DataTable::numCols
+896 Q3Table::addSelection
+904 Q3Table::removeSelection
+912 Q3Table::removeSelection
+920 Q3Table::currentSelection
+928 Q3DataTable::selectRow
+936 Q3Table::selectColumn
+944 Q3DataTable::sortColumn
+952 Q3DataTable::takeItem
+960 Q3Table::setCellWidget
+968 Q3Table::cellWidget
+976 Q3Table::clearCellWidget
+984 Q3Table::cellRect
+992 Q3Table::paintCell
+1000 Q3DataTable::paintCell
+1008 Q3Table::paintFocus
+1016 Q3Table::setFocusStyle
+1024 Q3DataTable::setNumRows
+1032 Q3DataTable::setNumCols
+1040 Q3Table::setShowGrid
+1048 Q3Table::hideRow
+1056 Q3DataTable::hideColumn
+1064 Q3Table::showRow
+1072 Q3DataTable::showColumn
+1080 Q3DataTable::setColumnWidth
+1088 Q3Table::setRowHeight
+1096 Q3DataTable::adjustColumn
+1104 Q3Table::adjustRow
+1112 Q3DataTable::setColumnStretchable
+1120 Q3Table::setRowStretchable
+1128 Q3Table::setSorting
+1136 Q3Table::swapRows
+1144 Q3DataTable::swapColumns
+1152 Q3Table::swapCells
+1160 Q3Table::setLeftMargin
+1168 Q3Table::setTopMargin
+1176 Q3Table::setCurrentCell
+1184 Q3Table::setColumnMovingEnabled
+1192 Q3Table::setRowMovingEnabled
+1200 Q3Table::setReadOnly
+1208 Q3Table::setRowReadOnly
+1216 Q3Table::setColumnReadOnly
+1224 Q3Table::setDragEnabled
+1232 Q3Table::insertRows
+1240 Q3Table::insertColumns
+1248 Q3Table::removeRow
+1256 Q3Table::removeRows
+1264 Q3DataTable::removeColumn
+1272 Q3Table::removeColumns
+1280 Q3Table::editCell
+1288 Q3Table::dragObject
+1296 Q3Table::startDrag
+1304 Q3Table::paintEmptyArea
+1312 Q3DataTable::activateNextCell
+1320 Q3DataTable::createEditor
+1328 Q3Table::setCellContentFromEditor
+1336 Q3DataTable::beginEdit
+1344 Q3DataTable::endEdit
+1352 Q3DataTable::resizeData
+1360 Q3Table::insertWidget
+1368 Q3Table::columnWidthChanged
+1376 Q3Table::rowHeightChanged
+1384 Q3Table::columnIndexChanged
+1392 Q3Table::rowIndexChanged
+1400 Q3DataTable::columnClicked
+1408 Q3DataTable::addColumn
+1416 Q3DataTable::setColumn
+1424 Q3DataTable::setSqlCursor
+1432 Q3DataTable::setNullText
+1440 Q3DataTable::setTrueText
+1448 Q3DataTable::setFalseText
+1456 Q3DataTable::setDateFormat
+1464 Q3DataTable::setConfirmEdits
+1472 Q3DataTable::setConfirmInsert
+1480 Q3DataTable::setConfirmUpdate
+1488 Q3DataTable::setConfirmDelete
+1496 Q3DataTable::setConfirmCancels
+1504 Q3DataTable::setAutoDelete
+1512 Q3DataTable::setAutoEdit
+1520 Q3DataTable::setFilter
+1528 Q3DataTable::setSort
+1536 Q3DataTable::setSort
+1544 Q3DataTable::find
+1552 Q3DataTable::sortAscending
+1560 Q3DataTable::sortDescending
+1568 Q3DataTable::refresh
+1576 Q3DataTable::insertCurrent
+1584 Q3DataTable::updateCurrent
+1592 Q3DataTable::deleteCurrent
+1600 Q3DataTable::confirmEdit
+1608 Q3DataTable::confirmCancel
+1616 Q3DataTable::handleError
+1624 Q3DataTable::beginInsert
+1632 Q3DataTable::beginUpdate
+1640 Q3DataTable::paintField
+1648 Q3DataTable::fieldAlignment
+1656 (int (*)(...))-0x00000000000000010
+1664 (int (*)(...))(& _ZTI11Q3DataTable)
+1672 Q3DataTable::_ZThn16_N11Q3DataTableD1Ev
+1680 Q3DataTable::_ZThn16_N11Q3DataTableD0Ev
+1688 QWidget::_ZThn16_NK7QWidget7devTypeEv
+1696 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+1704 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class Q3DataTable
+ size=400 align=8
+ base size=400 base align=8
+Q3DataTable (0x7f62da619af0) 0
+ vptr=((& Q3DataTable::_ZTV11Q3DataTable) + 16u)
+ Q3Table (0x7f62da619b60) 0
+ primary-for Q3DataTable (0x7f62da619af0)
+ Q3ScrollView (0x7f62da619bd0) 0
+ primary-for Q3Table (0x7f62da619b60)
+ Q3Frame (0x7f62da619c40) 0
+ primary-for Q3ScrollView (0x7f62da619bd0)
+ QFrame (0x7f62da619cb0) 0
+ primary-for Q3Frame (0x7f62da619c40)
+ QWidget (0x7f62da61e080) 0
+ primary-for QFrame (0x7f62da619cb0)
+ QObject (0x7f62da619d20) 0
+ primary-for QWidget (0x7f62da61e080)
+ QPaintDevice (0x7f62da619d90) 16
+ vptr=((& Q3DataTable::_ZTV11Q3DataTable) + 1672u)
+
+Vtable for Q3DataView
+Q3DataView::_ZTV10Q3DataView: 69u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10Q3DataView)
+16 Q3DataView::metaObject
+24 Q3DataView::qt_metacast
+32 Q3DataView::qt_metacall
+40 Q3DataView::~Q3DataView
+48 Q3DataView::~Q3DataView
+56 QWidget::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QWidget::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QWidget::paintEvent
+256 QWidget::moveEvent
+264 QWidget::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QWidget::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 Q3DataView::setForm
+456 Q3DataView::setRecord
+464 Q3DataView::refresh
+472 Q3DataView::readFields
+480 Q3DataView::writeFields
+488 Q3DataView::clearValues
+496 (int (*)(...))-0x00000000000000010
+504 (int (*)(...))(& _ZTI10Q3DataView)
+512 Q3DataView::_ZThn16_N10Q3DataViewD1Ev
+520 Q3DataView::_ZThn16_N10Q3DataViewD0Ev
+528 QWidget::_ZThn16_NK7QWidget7devTypeEv
+536 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+544 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class Q3DataView
+ size=48 align=8
+ base size=48 base align=8
+Q3DataView (0x7f62da663770) 0
+ vptr=((& Q3DataView::_ZTV10Q3DataView) + 16u)
+ QWidget (0x7f62da61e900) 0
+ primary-for Q3DataView (0x7f62da663770)
+ QObject (0x7f62da6637e0) 0
+ primary-for QWidget (0x7f62da61e900)
+ QPaintDevice (0x7f62da663850) 16
+ vptr=((& Q3DataView::_ZTV10Q3DataView) + 512u)
+
+Vtable for Q3SqlFieldInfo
+Q3SqlFieldInfo::_ZTV14Q3SqlFieldInfo: 7u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14Q3SqlFieldInfo)
+16 Q3SqlFieldInfo::~Q3SqlFieldInfo
+24 Q3SqlFieldInfo::~Q3SqlFieldInfo
+32 Q3SqlFieldInfo::setTrim
+40 Q3SqlFieldInfo::setGenerated
+48 Q3SqlFieldInfo::setCalculated
+
+Class Q3SqlFieldInfo
+ size=64 align=8
+ base size=64 base align=8
+Q3SqlFieldInfo (0x7f62da46bb60) 0
+ vptr=((& Q3SqlFieldInfo::_ZTV14Q3SqlFieldInfo) + 16u)
+
+Vtable for Q3SqlForm
+Q3SqlForm::_ZTV9Q3SqlForm: 26u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9Q3SqlForm)
+16 Q3SqlForm::metaObject
+24 Q3SqlForm::qt_metacast
+32 Q3SqlForm::qt_metacall
+40 Q3SqlForm::~Q3SqlForm
+48 Q3SqlForm::~Q3SqlForm
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 Q3SqlForm::insert
+120 Q3SqlForm::remove
+128 Q3SqlForm::setRecord
+136 Q3SqlForm::readField
+144 Q3SqlForm::writeField
+152 Q3SqlForm::readFields
+160 Q3SqlForm::writeFields
+168 Q3SqlForm::clear
+176 Q3SqlForm::clearValues
+184 Q3SqlForm::insert
+192 Q3SqlForm::remove
+200 Q3SqlForm::sync
+
+Class Q3SqlForm
+ size=24 align=8
+ base size=24 base align=8
+Q3SqlForm (0x7f62da4d72a0) 0
+ vptr=((& Q3SqlForm::_ZTV9Q3SqlForm) + 16u)
+ QObject (0x7f62da4d7310) 0
+ primary-for Q3SqlForm (0x7f62da4d72a0)
+
+Vtable for Q3SqlPropertyMap
+Q3SqlPropertyMap::_ZTV16Q3SqlPropertyMap: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16Q3SqlPropertyMap)
+16 Q3SqlPropertyMap::~Q3SqlPropertyMap
+24 Q3SqlPropertyMap::~Q3SqlPropertyMap
+32 Q3SqlPropertyMap::setProperty
+
+Class Q3SqlPropertyMap
+ size=16 align=8
+ base size=16 base align=8
+Q3SqlPropertyMap (0x7f62da4e9620) 0
+ vptr=((& Q3SqlPropertyMap::_ZTV16Q3SqlPropertyMap) + 16u)
+
+Class Q3SqlRecordInfo
+ size=8 align=8
+ base size=8 base align=8
+Q3SqlRecordInfo (0x7f62da520230) 0
+ Q3ValueList<Q3SqlFieldInfo> (0x7f62da5202a0) 0
+ QLinkedList<Q3SqlFieldInfo> (0x7f62da520310) 0
+
+Vtable for Q3SqlSelectCursor
+Q3SqlSelectCursor::_ZTV17Q3SqlSelectCursor: 40u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17Q3SqlSelectCursor)
+16 Q3SqlSelectCursor::~Q3SqlSelectCursor
+24 Q3SqlSelectCursor::~Q3SqlSelectCursor
+32 Q3SqlCursor::setValue
+40 Q3SqlSelectCursor::primaryIndex
+48 Q3SqlSelectCursor::index
+56 Q3SqlSelectCursor::setPrimaryIndex
+64 Q3SqlSelectCursor::append
+72 Q3SqlSelectCursor::insert
+80 Q3SqlSelectCursor::remove
+88 Q3SqlSelectCursor::clear
+96 Q3SqlSelectCursor::setGenerated
+104 Q3SqlSelectCursor::setGenerated
+112 Q3SqlSelectCursor::editBuffer
+120 Q3SqlSelectCursor::primeInsert
+128 Q3SqlSelectCursor::primeUpdate
+136 Q3SqlSelectCursor::primeDelete
+144 Q3SqlSelectCursor::insert
+152 Q3SqlSelectCursor::update
+160 Q3SqlSelectCursor::del
+168 Q3SqlSelectCursor::setMode
+176 Q3SqlCursor::setCalculated
+184 Q3SqlCursor::setTrimmed
+192 Q3SqlSelectCursor::select
+200 Q3SqlSelectCursor::setSort
+208 Q3SqlSelectCursor::setFilter
+216 Q3SqlSelectCursor::setName
+224 Q3SqlCursor::seek
+232 Q3SqlCursor::next
+240 Q3SqlCursor::prev
+248 Q3SqlCursor::first
+256 Q3SqlCursor::last
+264 Q3SqlSelectCursor::exec
+272 Q3SqlCursor::calculateField
+280 Q3SqlCursor::update
+288 Q3SqlCursor::del
+296 Q3SqlCursor::toString
+304 Q3SqlCursor::toString
+312 Q3SqlCursor::toString
+
+Class Q3SqlSelectCursor
+ size=40 align=8
+ base size=40 base align=8
+Q3SqlSelectCursor (0x7f62da3e6540) 0
+ vptr=((& Q3SqlSelectCursor::_ZTV17Q3SqlSelectCursor) + 16u)
+ Q3SqlCursor (0x7f62da3e4e00) 0
+ primary-for Q3SqlSelectCursor (0x7f62da3e6540)
+ QSqlRecord (0x7f62da3e65b0) 8
+ QSqlQuery (0x7f62da3e6620) 16
+
+Class Q3StyleSheetItem
+ size=8 align=8
+ base size=8 base align=8
+Q3StyleSheetItem (0x7f62da416620) 0
+
+Vtable for Q3StyleSheet
+Q3StyleSheet::_ZTV12Q3StyleSheet: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12Q3StyleSheet)
+16 Q3StyleSheet::metaObject
+24 Q3StyleSheet::qt_metacast
+32 Q3StyleSheet::qt_metacall
+40 Q3StyleSheet::~Q3StyleSheet
+48 Q3StyleSheet::~Q3StyleSheet
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 Q3StyleSheet::scaleFont
+120 Q3StyleSheet::error
+
+Class Q3StyleSheet
+ size=32 align=8
+ base size=32 base align=8
+Q3StyleSheet (0x7f62da42f460) 0
+ vptr=((& Q3StyleSheet::_ZTV12Q3StyleSheet) + 16u)
+ QObject (0x7f62da42f4d0) 0
+ primary-for Q3StyleSheet (0x7f62da42f460)
+
+Vtable for Q3MimeSourceFactory
+Q3MimeSourceFactory::_ZTV19Q3MimeSourceFactory: 13u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19Q3MimeSourceFactory)
+16 Q3MimeSourceFactory::~Q3MimeSourceFactory
+24 Q3MimeSourceFactory::~Q3MimeSourceFactory
+32 Q3MimeSourceFactory::data
+40 Q3MimeSourceFactory::makeAbsolute
+48 Q3MimeSourceFactory::setText
+56 Q3MimeSourceFactory::setImage
+64 Q3MimeSourceFactory::setPixmap
+72 Q3MimeSourceFactory::setData
+80 Q3MimeSourceFactory::setFilePath
+88 Q3MimeSourceFactory::filePath
+96 Q3MimeSourceFactory::setExtensionType
+
+Class Q3MimeSourceFactory
+ size=16 align=8
+ base size=16 base align=8
+Q3MimeSourceFactory (0x7f62da45ec40) 0
+ vptr=((& Q3MimeSourceFactory::_ZTV19Q3MimeSourceFactory) + 16u)
+
+Class Q3TextEditOptimPrivate::Tag
+ size=56 align=8
+ base size=56 base align=8
+Q3TextEditOptimPrivate::Tag (0x7f62da468540) 0
+
+Class Q3TextEditOptimPrivate::Selection
+ size=8 align=4
+ base size=8 base align=4
+Q3TextEditOptimPrivate::Selection (0x7f62da468d90) 0
+
+Class Q3TextEditOptimPrivate
+ size=72 align=8
+ base size=72 base align=8
+Q3TextEditOptimPrivate (0x7f62da4684d0) 0
+
+Class Q3TextEdit::UndoRedoInfo
+ size=56 align=8
+ base size=56 base align=8
+Q3TextEdit::UndoRedoInfo (0x7f62da2eccb0) 0
+
+Vtable for Q3TextEdit
+Q3TextEdit::_ZTV10Q3TextEdit: 175u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10Q3TextEdit)
+16 Q3TextEdit::metaObject
+24 Q3TextEdit::qt_metacast
+32 Q3TextEdit::qt_metacall
+40 Q3TextEdit::~Q3TextEdit
+48 Q3TextEdit::~Q3TextEdit
+56 Q3TextEdit::event
+64 Q3TextEdit::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 Q3ScrollView::setVisible
+128 Q3TextEdit::sizeHint
+136 Q3ScrollView::minimumSizeHint
+144 Q3TextEdit::heightForWidth
+152 QWidget::paintEngine
+160 Q3ScrollView::mousePressEvent
+168 Q3ScrollView::mouseReleaseEvent
+176 Q3ScrollView::mouseDoubleClickEvent
+184 Q3ScrollView::mouseMoveEvent
+192 Q3ScrollView::wheelEvent
+200 Q3TextEdit::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 Q3Frame::paintEvent
+256 QWidget::moveEvent
+264 Q3TextEdit::resizeEvent
+272 QWidget::closeEvent
+280 Q3ScrollView::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 Q3TextEdit::changeEvent
+368 QWidget::metric
+376 Q3TextEdit::inputMethodEvent
+384 Q3TextEdit::inputMethodQuery
+392 Q3TextEdit::focusNextPrevChild
+400 Q3ScrollView::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 Q3ScrollView::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 Q3ScrollView::frameChanged
+456 Q3Frame::drawFrame
+464 Q3TextEdit::drawContents
+472 Q3ScrollView::setResizePolicy
+480 Q3ScrollView::addChild
+488 Q3ScrollView::moveChild
+496 Q3ScrollView::setVScrollBarMode
+504 Q3ScrollView::setHScrollBarMode
+512 Q3ScrollView::setCornerWidget
+520 Q3ScrollView::setDragAutoScroll
+528 Q3ScrollView::resizeContents
+536 Q3ScrollView::setContentsPos
+544 Q3TextEdit::drawContents
+552 Q3ScrollView::drawContentsOffset
+560 Q3TextEdit::contentsMousePressEvent
+568 Q3TextEdit::contentsMouseReleaseEvent
+576 Q3TextEdit::contentsMouseDoubleClickEvent
+584 Q3TextEdit::contentsMouseMoveEvent
+592 Q3TextEdit::contentsDragEnterEvent
+600 Q3TextEdit::contentsDragMoveEvent
+608 Q3TextEdit::contentsDragLeaveEvent
+616 Q3TextEdit::contentsDropEvent
+624 Q3TextEdit::contentsWheelEvent
+632 Q3TextEdit::contentsContextMenuEvent
+640 Q3ScrollView::viewportPaintEvent
+648 Q3TextEdit::viewportResizeEvent
+656 Q3ScrollView::viewportMousePressEvent
+664 Q3ScrollView::viewportMouseReleaseEvent
+672 Q3ScrollView::viewportMouseDoubleClickEvent
+680 Q3ScrollView::viewportMouseMoveEvent
+688 Q3ScrollView::viewportDragEnterEvent
+696 Q3ScrollView::viewportDragMoveEvent
+704 Q3ScrollView::viewportDragLeaveEvent
+712 Q3ScrollView::viewportDropEvent
+720 Q3ScrollView::viewportWheelEvent
+728 Q3ScrollView::viewportContextMenuEvent
+736 Q3ScrollView::setMargins
+744 Q3ScrollView::setHBarGeometry
+752 Q3ScrollView::setVBarGeometry
+760 Q3TextEdit::find
+768 Q3TextEdit::getFormat
+776 Q3TextEdit::getParagraphFormat
+784 Q3TextEdit::setMimeSourceFactory
+792 Q3TextEdit::setStyleSheet
+800 Q3TextEdit::scrollToAnchor
+808 Q3TextEdit::setPaper
+816 Q3TextEdit::setLinkUnderline
+824 Q3TextEdit::setWordWrap
+832 Q3TextEdit::setWrapColumnOrWidth
+840 Q3TextEdit::setWrapPolicy
+848 Q3TextEdit::copy
+856 Q3TextEdit::append
+864 Q3TextEdit::setText
+872 Q3TextEdit::setTextFormat
+880 Q3TextEdit::selectAll
+888 Q3TextEdit::setTabStopWidth
+896 Q3TextEdit::zoomIn
+904 Q3TextEdit::zoomIn
+912 Q3TextEdit::zoomOut
+920 Q3TextEdit::zoomOut
+928 Q3TextEdit::zoomTo
+936 Q3TextEdit::sync
+944 Q3TextEdit::setReadOnly
+952 Q3TextEdit::undo
+960 Q3TextEdit::redo
+968 Q3TextEdit::cut
+976 Q3TextEdit::paste
+984 Q3TextEdit::pasteSubType
+992 Q3TextEdit::clear
+1000 Q3TextEdit::del
+1008 Q3TextEdit::indent
+1016 Q3TextEdit::setItalic
+1024 Q3TextEdit::setBold
+1032 Q3TextEdit::setUnderline
+1040 Q3TextEdit::setFamily
+1048 Q3TextEdit::setPointSize
+1056 Q3TextEdit::setColor
+1064 Q3TextEdit::setVerticalAlignment
+1072 Q3TextEdit::setAlignment
+1080 Q3TextEdit::setParagType
+1088 Q3TextEdit::setCursorPosition
+1096 Q3TextEdit::setSelection
+1104 Q3TextEdit::setSelectionAttributes
+1112 Q3TextEdit::setModified
+1120 Q3TextEdit::resetFormat
+1128 Q3TextEdit::setUndoDepth
+1136 Q3TextEdit::setFormat
+1144 Q3TextEdit::ensureCursorVisible
+1152 Q3TextEdit::placeCursor
+1160 Q3TextEdit::moveCursor
+1168 Q3TextEdit::doKeyboardAction
+1176 Q3TextEdit::removeSelectedText
+1184 Q3TextEdit::removeSelection
+1192 Q3TextEdit::setCurrentFont
+1200 Q3TextEdit::setOverwriteMode
+1208 Q3TextEdit::scrollToBottom
+1216 Q3TextEdit::insert
+1224 Q3TextEdit::insert
+1232 Q3TextEdit::insertAt
+1240 Q3TextEdit::removeParagraph
+1248 Q3TextEdit::insertParagraph
+1256 Q3TextEdit::setParagraphBackgroundColor
+1264 Q3TextEdit::clearParagraphBackground
+1272 Q3TextEdit::setUndoRedoEnabled
+1280 Q3TextEdit::setTabChangesFocus
+1288 Q3TextEdit::createPopupMenu
+1296 Q3TextEdit::createPopupMenu
+1304 Q3TextEdit::doChangeInterval
+1312 Q3TextEdit::sliderReleased
+1320 Q3TextEdit::linksEnabled
+1328 Q3TextEdit::emitHighlighted
+1336 Q3TextEdit::emitLinkClicked
+1344 (int (*)(...))-0x00000000000000010
+1352 (int (*)(...))(& _ZTI10Q3TextEdit)
+1360 Q3TextEdit::_ZThn16_N10Q3TextEditD1Ev
+1368 Q3TextEdit::_ZThn16_N10Q3TextEditD0Ev
+1376 QWidget::_ZThn16_NK7QWidget7devTypeEv
+1384 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+1392 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class Q3TextEdit
+ size=272 align=8
+ base size=266 base align=8
+Q3TextEdit (0x7f62da2cd2a0) 0
+ vptr=((& Q3TextEdit::_ZTV10Q3TextEdit) + 16u)
+ Q3ScrollView (0x7f62da2cd310) 0
+ primary-for Q3TextEdit (0x7f62da2cd2a0)
+ Q3Frame (0x7f62da2cd380) 0
+ primary-for Q3ScrollView (0x7f62da2cd310)
+ QFrame (0x7f62da2cd3f0) 0
+ primary-for Q3Frame (0x7f62da2cd380)
+ QWidget (0x7f62da2cb900) 0
+ primary-for QFrame (0x7f62da2cd3f0)
+ QObject (0x7f62da2cd460) 0
+ primary-for QWidget (0x7f62da2cb900)
+ QPaintDevice (0x7f62da2cd4d0) 16
+ vptr=((& Q3TextEdit::_ZTV10Q3TextEdit) + 1360u)
+
+Vtable for Q3MultiLineEdit
+Q3MultiLineEdit::_ZTV15Q3MultiLineEdit: 192u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15Q3MultiLineEdit)
+16 Q3MultiLineEdit::metaObject
+24 Q3MultiLineEdit::qt_metacast
+32 Q3MultiLineEdit::qt_metacall
+40 Q3MultiLineEdit::~Q3MultiLineEdit
+48 Q3MultiLineEdit::~Q3MultiLineEdit
+56 Q3TextEdit::event
+64 Q3TextEdit::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 Q3ScrollView::setVisible
+128 Q3TextEdit::sizeHint
+136 Q3ScrollView::minimumSizeHint
+144 Q3TextEdit::heightForWidth
+152 QWidget::paintEngine
+160 Q3ScrollView::mousePressEvent
+168 Q3ScrollView::mouseReleaseEvent
+176 Q3ScrollView::mouseDoubleClickEvent
+184 Q3ScrollView::mouseMoveEvent
+192 Q3ScrollView::wheelEvent
+200 Q3TextEdit::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 Q3Frame::paintEvent
+256 QWidget::moveEvent
+264 Q3TextEdit::resizeEvent
+272 QWidget::closeEvent
+280 Q3ScrollView::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 Q3TextEdit::changeEvent
+368 QWidget::metric
+376 Q3TextEdit::inputMethodEvent
+384 Q3TextEdit::inputMethodQuery
+392 Q3TextEdit::focusNextPrevChild
+400 Q3ScrollView::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 Q3ScrollView::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 Q3ScrollView::frameChanged
+456 Q3Frame::drawFrame
+464 Q3TextEdit::drawContents
+472 Q3ScrollView::setResizePolicy
+480 Q3ScrollView::addChild
+488 Q3ScrollView::moveChild
+496 Q3ScrollView::setVScrollBarMode
+504 Q3ScrollView::setHScrollBarMode
+512 Q3ScrollView::setCornerWidget
+520 Q3ScrollView::setDragAutoScroll
+528 Q3ScrollView::resizeContents
+536 Q3ScrollView::setContentsPos
+544 Q3TextEdit::drawContents
+552 Q3ScrollView::drawContentsOffset
+560 Q3TextEdit::contentsMousePressEvent
+568 Q3TextEdit::contentsMouseReleaseEvent
+576 Q3TextEdit::contentsMouseDoubleClickEvent
+584 Q3TextEdit::contentsMouseMoveEvent
+592 Q3TextEdit::contentsDragEnterEvent
+600 Q3TextEdit::contentsDragMoveEvent
+608 Q3TextEdit::contentsDragLeaveEvent
+616 Q3TextEdit::contentsDropEvent
+624 Q3TextEdit::contentsWheelEvent
+632 Q3TextEdit::contentsContextMenuEvent
+640 Q3ScrollView::viewportPaintEvent
+648 Q3TextEdit::viewportResizeEvent
+656 Q3ScrollView::viewportMousePressEvent
+664 Q3ScrollView::viewportMouseReleaseEvent
+672 Q3ScrollView::viewportMouseDoubleClickEvent
+680 Q3ScrollView::viewportMouseMoveEvent
+688 Q3ScrollView::viewportDragEnterEvent
+696 Q3ScrollView::viewportDragMoveEvent
+704 Q3ScrollView::viewportDragLeaveEvent
+712 Q3ScrollView::viewportDropEvent
+720 Q3ScrollView::viewportWheelEvent
+728 Q3ScrollView::viewportContextMenuEvent
+736 Q3ScrollView::setMargins
+744 Q3ScrollView::setHBarGeometry
+752 Q3ScrollView::setVBarGeometry
+760 Q3TextEdit::find
+768 Q3TextEdit::getFormat
+776 Q3TextEdit::getParagraphFormat
+784 Q3TextEdit::setMimeSourceFactory
+792 Q3TextEdit::setStyleSheet
+800 Q3TextEdit::scrollToAnchor
+808 Q3TextEdit::setPaper
+816 Q3TextEdit::setLinkUnderline
+824 Q3TextEdit::setWordWrap
+832 Q3TextEdit::setWrapColumnOrWidth
+840 Q3TextEdit::setWrapPolicy
+848 Q3TextEdit::copy
+856 Q3TextEdit::append
+864 Q3TextEdit::setText
+872 Q3TextEdit::setTextFormat
+880 Q3TextEdit::selectAll
+888 Q3TextEdit::setTabStopWidth
+896 Q3TextEdit::zoomIn
+904 Q3TextEdit::zoomIn
+912 Q3TextEdit::zoomOut
+920 Q3TextEdit::zoomOut
+928 Q3TextEdit::zoomTo
+936 Q3TextEdit::sync
+944 Q3TextEdit::setReadOnly
+952 Q3TextEdit::undo
+960 Q3TextEdit::redo
+968 Q3TextEdit::cut
+976 Q3TextEdit::paste
+984 Q3TextEdit::pasteSubType
+992 Q3TextEdit::clear
+1000 Q3TextEdit::del
+1008 Q3TextEdit::indent
+1016 Q3TextEdit::setItalic
+1024 Q3TextEdit::setBold
+1032 Q3TextEdit::setUnderline
+1040 Q3TextEdit::setFamily
+1048 Q3TextEdit::setPointSize
+1056 Q3TextEdit::setColor
+1064 Q3TextEdit::setVerticalAlignment
+1072 Q3TextEdit::setAlignment
+1080 Q3TextEdit::setParagType
+1088 Q3MultiLineEdit::setCursorPosition
+1096 Q3TextEdit::setSelection
+1104 Q3TextEdit::setSelectionAttributes
+1112 Q3TextEdit::setModified
+1120 Q3TextEdit::resetFormat
+1128 Q3TextEdit::setUndoDepth
+1136 Q3TextEdit::setFormat
+1144 Q3TextEdit::ensureCursorVisible
+1152 Q3TextEdit::placeCursor
+1160 Q3TextEdit::moveCursor
+1168 Q3TextEdit::doKeyboardAction
+1176 Q3TextEdit::removeSelectedText
+1184 Q3TextEdit::removeSelection
+1192 Q3TextEdit::setCurrentFont
+1200 Q3TextEdit::setOverwriteMode
+1208 Q3TextEdit::scrollToBottom
+1216 Q3TextEdit::insert
+1224 Q3TextEdit::insert
+1232 Q3MultiLineEdit::insertAt
+1240 Q3TextEdit::removeParagraph
+1248 Q3TextEdit::insertParagraph
+1256 Q3TextEdit::setParagraphBackgroundColor
+1264 Q3TextEdit::clearParagraphBackground
+1272 Q3TextEdit::setUndoRedoEnabled
+1280 Q3TextEdit::setTabChangesFocus
+1288 Q3TextEdit::createPopupMenu
+1296 Q3TextEdit::createPopupMenu
+1304 Q3TextEdit::doChangeInterval
+1312 Q3TextEdit::sliderReleased
+1320 Q3TextEdit::linksEnabled
+1328 Q3TextEdit::emitHighlighted
+1336 Q3TextEdit::emitLinkClicked
+1344 Q3MultiLineEdit::insertLine
+1352 Q3MultiLineEdit::insertAt
+1360 Q3MultiLineEdit::removeLine
+1368 Q3MultiLineEdit::setCursorPosition
+1376 Q3MultiLineEdit::setAutoUpdate
+1384 Q3MultiLineEdit::insertAndMark
+1392 Q3MultiLineEdit::newLine
+1400 Q3MultiLineEdit::killLine
+1408 Q3MultiLineEdit::pageUp
+1416 Q3MultiLineEdit::pageDown
+1424 Q3MultiLineEdit::cursorLeft
+1432 Q3MultiLineEdit::cursorRight
+1440 Q3MultiLineEdit::cursorUp
+1448 Q3MultiLineEdit::cursorDown
+1456 Q3MultiLineEdit::backspace
+1464 Q3MultiLineEdit::home
+1472 Q3MultiLineEdit::end
+1480 (int (*)(...))-0x00000000000000010
+1488 (int (*)(...))(& _ZTI15Q3MultiLineEdit)
+1496 Q3MultiLineEdit::_ZThn16_N15Q3MultiLineEditD1Ev
+1504 Q3MultiLineEdit::_ZThn16_N15Q3MultiLineEditD0Ev
+1512 QWidget::_ZThn16_NK7QWidget7devTypeEv
+1520 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+1528 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class Q3MultiLineEdit
+ size=280 align=8
+ base size=280 base align=8
+Q3MultiLineEdit (0x7f62da1a53f0) 0
+ vptr=((& Q3MultiLineEdit::_ZTV15Q3MultiLineEdit) + 16u)
+ Q3TextEdit (0x7f62da1a5460) 0
+ primary-for Q3MultiLineEdit (0x7f62da1a53f0)
+ Q3ScrollView (0x7f62da1a54d0) 0
+ primary-for Q3TextEdit (0x7f62da1a5460)
+ Q3Frame (0x7f62da1a5540) 0
+ primary-for Q3ScrollView (0x7f62da1a54d0)
+ QFrame (0x7f62da1a55b0) 0
+ primary-for Q3Frame (0x7f62da1a5540)
+ QWidget (0x7f62da34db00) 0
+ primary-for QFrame (0x7f62da1a55b0)
+ QObject (0x7f62da1a5620) 0
+ primary-for QWidget (0x7f62da34db00)
+ QPaintDevice (0x7f62da1a5690) 16
+ vptr=((& Q3MultiLineEdit::_ZTV15Q3MultiLineEdit) + 1496u)
+
+Class Q3SimpleRichText
+ size=8 align=8
+ base size=8 base align=8
+Q3SimpleRichText (0x7f62da1d6d90) 0
+
+Vtable for Q3SyntaxHighlighter
+Q3SyntaxHighlighter::_ZTV19Q3SyntaxHighlighter: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19Q3SyntaxHighlighter)
+16 Q3SyntaxHighlighter::~Q3SyntaxHighlighter
+24 Q3SyntaxHighlighter::~Q3SyntaxHighlighter
+32 __cxa_pure_virtual
+
+Class Q3SyntaxHighlighter
+ size=32 align=8
+ base size=32 base align=8
+Q3SyntaxHighlighter (0x7f62da1e04d0) 0
+ vptr=((& Q3SyntaxHighlighter::_ZTV19Q3SyntaxHighlighter) + 16u)
+
+Vtable for Q3TextBrowser
+Q3TextBrowser::_ZTV13Q3TextBrowser: 180u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13Q3TextBrowser)
+16 Q3TextBrowser::metaObject
+24 Q3TextBrowser::qt_metacast
+32 Q3TextBrowser::qt_metacall
+40 Q3TextBrowser::~Q3TextBrowser
+48 Q3TextBrowser::~Q3TextBrowser
+56 Q3TextEdit::event
+64 Q3TextEdit::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 Q3ScrollView::setVisible
+128 Q3TextEdit::sizeHint
+136 Q3ScrollView::minimumSizeHint
+144 Q3TextEdit::heightForWidth
+152 QWidget::paintEngine
+160 Q3ScrollView::mousePressEvent
+168 Q3ScrollView::mouseReleaseEvent
+176 Q3ScrollView::mouseDoubleClickEvent
+184 Q3ScrollView::mouseMoveEvent
+192 Q3ScrollView::wheelEvent
+200 Q3TextBrowser::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 Q3Frame::paintEvent
+256 QWidget::moveEvent
+264 Q3TextEdit::resizeEvent
+272 QWidget::closeEvent
+280 Q3ScrollView::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 Q3TextEdit::changeEvent
+368 QWidget::metric
+376 Q3TextEdit::inputMethodEvent
+384 Q3TextEdit::inputMethodQuery
+392 Q3TextEdit::focusNextPrevChild
+400 Q3ScrollView::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 Q3ScrollView::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 Q3ScrollView::frameChanged
+456 Q3Frame::drawFrame
+464 Q3TextEdit::drawContents
+472 Q3ScrollView::setResizePolicy
+480 Q3ScrollView::addChild
+488 Q3ScrollView::moveChild
+496 Q3ScrollView::setVScrollBarMode
+504 Q3ScrollView::setHScrollBarMode
+512 Q3ScrollView::setCornerWidget
+520 Q3ScrollView::setDragAutoScroll
+528 Q3ScrollView::resizeContents
+536 Q3ScrollView::setContentsPos
+544 Q3TextEdit::drawContents
+552 Q3ScrollView::drawContentsOffset
+560 Q3TextEdit::contentsMousePressEvent
+568 Q3TextEdit::contentsMouseReleaseEvent
+576 Q3TextEdit::contentsMouseDoubleClickEvent
+584 Q3TextEdit::contentsMouseMoveEvent
+592 Q3TextEdit::contentsDragEnterEvent
+600 Q3TextEdit::contentsDragMoveEvent
+608 Q3TextEdit::contentsDragLeaveEvent
+616 Q3TextEdit::contentsDropEvent
+624 Q3TextEdit::contentsWheelEvent
+632 Q3TextEdit::contentsContextMenuEvent
+640 Q3ScrollView::viewportPaintEvent
+648 Q3TextEdit::viewportResizeEvent
+656 Q3ScrollView::viewportMousePressEvent
+664 Q3ScrollView::viewportMouseReleaseEvent
+672 Q3ScrollView::viewportMouseDoubleClickEvent
+680 Q3ScrollView::viewportMouseMoveEvent
+688 Q3ScrollView::viewportDragEnterEvent
+696 Q3ScrollView::viewportDragMoveEvent
+704 Q3ScrollView::viewportDragLeaveEvent
+712 Q3ScrollView::viewportDropEvent
+720 Q3ScrollView::viewportWheelEvent
+728 Q3ScrollView::viewportContextMenuEvent
+736 Q3ScrollView::setMargins
+744 Q3ScrollView::setHBarGeometry
+752 Q3ScrollView::setVBarGeometry
+760 Q3TextEdit::find
+768 Q3TextEdit::getFormat
+776 Q3TextEdit::getParagraphFormat
+784 Q3TextEdit::setMimeSourceFactory
+792 Q3TextEdit::setStyleSheet
+800 Q3TextEdit::scrollToAnchor
+808 Q3TextEdit::setPaper
+816 Q3TextEdit::setLinkUnderline
+824 Q3TextEdit::setWordWrap
+832 Q3TextEdit::setWrapColumnOrWidth
+840 Q3TextEdit::setWrapPolicy
+848 Q3TextEdit::copy
+856 Q3TextEdit::append
+864 Q3TextBrowser::setText
+872 Q3TextEdit::setTextFormat
+880 Q3TextEdit::selectAll
+888 Q3TextEdit::setTabStopWidth
+896 Q3TextEdit::zoomIn
+904 Q3TextEdit::zoomIn
+912 Q3TextEdit::zoomOut
+920 Q3TextEdit::zoomOut
+928 Q3TextEdit::zoomTo
+936 Q3TextEdit::sync
+944 Q3TextEdit::setReadOnly
+952 Q3TextEdit::undo
+960 Q3TextEdit::redo
+968 Q3TextEdit::cut
+976 Q3TextEdit::paste
+984 Q3TextEdit::pasteSubType
+992 Q3TextEdit::clear
+1000 Q3TextEdit::del
+1008 Q3TextEdit::indent
+1016 Q3TextEdit::setItalic
+1024 Q3TextEdit::setBold
+1032 Q3TextEdit::setUnderline
+1040 Q3TextEdit::setFamily
+1048 Q3TextEdit::setPointSize
+1056 Q3TextEdit::setColor
+1064 Q3TextEdit::setVerticalAlignment
+1072 Q3TextEdit::setAlignment
+1080 Q3TextEdit::setParagType
+1088 Q3TextEdit::setCursorPosition
+1096 Q3TextEdit::setSelection
+1104 Q3TextEdit::setSelectionAttributes
+1112 Q3TextEdit::setModified
+1120 Q3TextEdit::resetFormat
+1128 Q3TextEdit::setUndoDepth
+1136 Q3TextEdit::setFormat
+1144 Q3TextEdit::ensureCursorVisible
+1152 Q3TextEdit::placeCursor
+1160 Q3TextEdit::moveCursor
+1168 Q3TextEdit::doKeyboardAction
+1176 Q3TextEdit::removeSelectedText
+1184 Q3TextEdit::removeSelection
+1192 Q3TextEdit::setCurrentFont
+1200 Q3TextEdit::setOverwriteMode
+1208 Q3TextEdit::scrollToBottom
+1216 Q3TextEdit::insert
+1224 Q3TextEdit::insert
+1232 Q3TextEdit::insertAt
+1240 Q3TextEdit::removeParagraph
+1248 Q3TextEdit::insertParagraph
+1256 Q3TextEdit::setParagraphBackgroundColor
+1264 Q3TextEdit::clearParagraphBackground
+1272 Q3TextEdit::setUndoRedoEnabled
+1280 Q3TextEdit::setTabChangesFocus
+1288 Q3TextEdit::createPopupMenu
+1296 Q3TextEdit::createPopupMenu
+1304 Q3TextEdit::doChangeInterval
+1312 Q3TextEdit::sliderReleased
+1320 Q3TextBrowser::linksEnabled
+1328 Q3TextBrowser::emitHighlighted
+1336 Q3TextBrowser::emitLinkClicked
+1344 Q3TextBrowser::setSource
+1352 Q3TextBrowser::backward
+1360 Q3TextBrowser::forward
+1368 Q3TextBrowser::home
+1376 Q3TextBrowser::reload
+1384 (int (*)(...))-0x00000000000000010
+1392 (int (*)(...))(& _ZTI13Q3TextBrowser)
+1400 Q3TextBrowser::_ZThn16_N13Q3TextBrowserD1Ev
+1408 Q3TextBrowser::_ZThn16_N13Q3TextBrowserD0Ev
+1416 QWidget::_ZThn16_NK7QWidget7devTypeEv
+1424 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+1432 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class Q3TextBrowser
+ size=280 align=8
+ base size=280 base align=8
+Q3TextBrowser (0x7f62da1e08c0) 0
+ vptr=((& Q3TextBrowser::_ZTV13Q3TextBrowser) + 16u)
+ Q3TextEdit (0x7f62da1e0930) 0
+ primary-for Q3TextBrowser (0x7f62da1e08c0)
+ Q3ScrollView (0x7f62da1e09a0) 0
+ primary-for Q3TextEdit (0x7f62da1e0930)
+ Q3Frame (0x7f62da1e0a10) 0
+ primary-for Q3ScrollView (0x7f62da1e09a0)
+ QFrame (0x7f62da1e0a80) 0
+ primary-for Q3Frame (0x7f62da1e0a10)
+ QWidget (0x7f62da1ee080) 0
+ primary-for QFrame (0x7f62da1e0a80)
+ QObject (0x7f62da1e0af0) 0
+ primary-for QWidget (0x7f62da1ee080)
+ QPaintDevice (0x7f62da1e0b60) 16
+ vptr=((& Q3TextBrowser::_ZTV13Q3TextBrowser) + 1400u)
+
+Class Q3CString
+ size=8 align=8
+ base size=8 base align=8
+Q3CString (0x7f62da212230) 0
+ QByteArray (0x7f62da2122a0) 0
+
+Vtable for Q3TextStream
+Q3TextStream::_ZTV12Q3TextStream: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12Q3TextStream)
+16 Q3TextStream::~Q3TextStream
+24 Q3TextStream::~Q3TextStream
+
+Class Q3TextStream
+ size=136 align=8
+ base size=136 base align=8
+Q3TextStream (0x7f62da0a57e0) 0
+ vptr=((& Q3TextStream::_ZTV12Q3TextStream) + 16u)
+
+Class Q3TSManip
+ size=24 align=8
+ base size=20 base align=8
+Q3TSManip (0x7f62da0e90e0) 0
+
+Vtable for Q3TextView
+Q3TextView::_ZTV10Q3TextView: 175u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10Q3TextView)
+16 Q3TextView::metaObject
+24 Q3TextView::qt_metacast
+32 Q3TextView::qt_metacall
+40 Q3TextView::~Q3TextView
+48 Q3TextView::~Q3TextView
+56 Q3TextEdit::event
+64 Q3TextEdit::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 Q3ScrollView::setVisible
+128 Q3TextEdit::sizeHint
+136 Q3ScrollView::minimumSizeHint
+144 Q3TextEdit::heightForWidth
+152 QWidget::paintEngine
+160 Q3ScrollView::mousePressEvent
+168 Q3ScrollView::mouseReleaseEvent
+176 Q3ScrollView::mouseDoubleClickEvent
+184 Q3ScrollView::mouseMoveEvent
+192 Q3ScrollView::wheelEvent
+200 Q3TextEdit::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 Q3Frame::paintEvent
+256 QWidget::moveEvent
+264 Q3TextEdit::resizeEvent
+272 QWidget::closeEvent
+280 Q3ScrollView::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 Q3TextEdit::changeEvent
+368 QWidget::metric
+376 Q3TextEdit::inputMethodEvent
+384 Q3TextEdit::inputMethodQuery
+392 Q3TextEdit::focusNextPrevChild
+400 Q3ScrollView::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 Q3ScrollView::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 Q3ScrollView::frameChanged
+456 Q3Frame::drawFrame
+464 Q3TextEdit::drawContents
+472 Q3ScrollView::setResizePolicy
+480 Q3ScrollView::addChild
+488 Q3ScrollView::moveChild
+496 Q3ScrollView::setVScrollBarMode
+504 Q3ScrollView::setHScrollBarMode
+512 Q3ScrollView::setCornerWidget
+520 Q3ScrollView::setDragAutoScroll
+528 Q3ScrollView::resizeContents
+536 Q3ScrollView::setContentsPos
+544 Q3TextEdit::drawContents
+552 Q3ScrollView::drawContentsOffset
+560 Q3TextEdit::contentsMousePressEvent
+568 Q3TextEdit::contentsMouseReleaseEvent
+576 Q3TextEdit::contentsMouseDoubleClickEvent
+584 Q3TextEdit::contentsMouseMoveEvent
+592 Q3TextEdit::contentsDragEnterEvent
+600 Q3TextEdit::contentsDragMoveEvent
+608 Q3TextEdit::contentsDragLeaveEvent
+616 Q3TextEdit::contentsDropEvent
+624 Q3TextEdit::contentsWheelEvent
+632 Q3TextEdit::contentsContextMenuEvent
+640 Q3ScrollView::viewportPaintEvent
+648 Q3TextEdit::viewportResizeEvent
+656 Q3ScrollView::viewportMousePressEvent
+664 Q3ScrollView::viewportMouseReleaseEvent
+672 Q3ScrollView::viewportMouseDoubleClickEvent
+680 Q3ScrollView::viewportMouseMoveEvent
+688 Q3ScrollView::viewportDragEnterEvent
+696 Q3ScrollView::viewportDragMoveEvent
+704 Q3ScrollView::viewportDragLeaveEvent
+712 Q3ScrollView::viewportDropEvent
+720 Q3ScrollView::viewportWheelEvent
+728 Q3ScrollView::viewportContextMenuEvent
+736 Q3ScrollView::setMargins
+744 Q3ScrollView::setHBarGeometry
+752 Q3ScrollView::setVBarGeometry
+760 Q3TextEdit::find
+768 Q3TextEdit::getFormat
+776 Q3TextEdit::getParagraphFormat
+784 Q3TextEdit::setMimeSourceFactory
+792 Q3TextEdit::setStyleSheet
+800 Q3TextEdit::scrollToAnchor
+808 Q3TextEdit::setPaper
+816 Q3TextEdit::setLinkUnderline
+824 Q3TextEdit::setWordWrap
+832 Q3TextEdit::setWrapColumnOrWidth
+840 Q3TextEdit::setWrapPolicy
+848 Q3TextEdit::copy
+856 Q3TextEdit::append
+864 Q3TextEdit::setText
+872 Q3TextEdit::setTextFormat
+880 Q3TextEdit::selectAll
+888 Q3TextEdit::setTabStopWidth
+896 Q3TextEdit::zoomIn
+904 Q3TextEdit::zoomIn
+912 Q3TextEdit::zoomOut
+920 Q3TextEdit::zoomOut
+928 Q3TextEdit::zoomTo
+936 Q3TextEdit::sync
+944 Q3TextEdit::setReadOnly
+952 Q3TextEdit::undo
+960 Q3TextEdit::redo
+968 Q3TextEdit::cut
+976 Q3TextEdit::paste
+984 Q3TextEdit::pasteSubType
+992 Q3TextEdit::clear
+1000 Q3TextEdit::del
+1008 Q3TextEdit::indent
+1016 Q3TextEdit::setItalic
+1024 Q3TextEdit::setBold
+1032 Q3TextEdit::setUnderline
+1040 Q3TextEdit::setFamily
+1048 Q3TextEdit::setPointSize
+1056 Q3TextEdit::setColor
+1064 Q3TextEdit::setVerticalAlignment
+1072 Q3TextEdit::setAlignment
+1080 Q3TextEdit::setParagType
+1088 Q3TextEdit::setCursorPosition
+1096 Q3TextEdit::setSelection
+1104 Q3TextEdit::setSelectionAttributes
+1112 Q3TextEdit::setModified
+1120 Q3TextEdit::resetFormat
+1128 Q3TextEdit::setUndoDepth
+1136 Q3TextEdit::setFormat
+1144 Q3TextEdit::ensureCursorVisible
+1152 Q3TextEdit::placeCursor
+1160 Q3TextEdit::moveCursor
+1168 Q3TextEdit::doKeyboardAction
+1176 Q3TextEdit::removeSelectedText
+1184 Q3TextEdit::removeSelection
+1192 Q3TextEdit::setCurrentFont
+1200 Q3TextEdit::setOverwriteMode
+1208 Q3TextEdit::scrollToBottom
+1216 Q3TextEdit::insert
+1224 Q3TextEdit::insert
+1232 Q3TextEdit::insertAt
+1240 Q3TextEdit::removeParagraph
+1248 Q3TextEdit::insertParagraph
+1256 Q3TextEdit::setParagraphBackgroundColor
+1264 Q3TextEdit::clearParagraphBackground
+1272 Q3TextEdit::setUndoRedoEnabled
+1280 Q3TextEdit::setTabChangesFocus
+1288 Q3TextEdit::createPopupMenu
+1296 Q3TextEdit::createPopupMenu
+1304 Q3TextEdit::doChangeInterval
+1312 Q3TextEdit::sliderReleased
+1320 Q3TextEdit::linksEnabled
+1328 Q3TextEdit::emitHighlighted
+1336 Q3TextEdit::emitLinkClicked
+1344 (int (*)(...))-0x00000000000000010
+1352 (int (*)(...))(& _ZTI10Q3TextView)
+1360 Q3TextView::_ZThn16_N10Q3TextViewD1Ev
+1368 Q3TextView::_ZThn16_N10Q3TextViewD0Ev
+1376 QWidget::_ZThn16_NK7QWidget7devTypeEv
+1384 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+1392 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class Q3TextView
+ size=272 align=8
+ base size=266 base align=8
+Q3TextView (0x7f62da0f2a80) 0
+ vptr=((& Q3TextView::_ZTV10Q3TextView) + 16u)
+ Q3TextEdit (0x7f62da0f2af0) 0
+ primary-for Q3TextView (0x7f62da0f2a80)
+ Q3ScrollView (0x7f62da0f2b60) 0
+ primary-for Q3TextEdit (0x7f62da0f2af0)
+ Q3Frame (0x7f62da0f2bd0) 0
+ primary-for Q3ScrollView (0x7f62da0f2b60)
+ QFrame (0x7f62da0f2c40) 0
+ primary-for Q3Frame (0x7f62da0f2bd0)
+ QWidget (0x7f62da0e6f80) 0
+ primary-for QFrame (0x7f62da0f2c40)
+ QObject (0x7f62da0f2cb0) 0
+ primary-for QWidget (0x7f62da0e6f80)
+ QPaintDevice (0x7f62da0f2d20) 16
+ vptr=((& Q3TextView::_ZTV10Q3TextView) + 1360u)
+
+Vtable for Q3Url
+Q3Url::_ZTV5Q3Url: 19u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI5Q3Url)
+16 Q3Url::~Q3Url
+24 Q3Url::~Q3Url
+32 Q3Url::setProtocol
+40 Q3Url::setUser
+48 Q3Url::setPassword
+56 Q3Url::setHost
+64 Q3Url::setPort
+72 Q3Url::setPath
+80 Q3Url::setEncodedPathAndQuery
+88 Q3Url::setQuery
+96 Q3Url::setRef
+104 Q3Url::addPath
+112 Q3Url::setFileName
+120 Q3Url::toString
+128 Q3Url::cdUp
+136 Q3Url::reset
+144 Q3Url::parse
+
+Class Q3Url
+ size=16 align=8
+ base size=16 base align=8
+Q3Url (0x7f62da1151c0) 0
+ vptr=((& Q3Url::_ZTV5Q3Url) + 16u)
+
+Vtable for Q3NetworkProtocolFactoryBase
+Q3NetworkProtocolFactoryBase::_ZTV28Q3NetworkProtocolFactoryBase: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI28Q3NetworkProtocolFactoryBase)
+16 Q3NetworkProtocolFactoryBase::~Q3NetworkProtocolFactoryBase
+24 Q3NetworkProtocolFactoryBase::~Q3NetworkProtocolFactoryBase
+32 __cxa_pure_virtual
+
+Class Q3NetworkProtocolFactoryBase
+ size=8 align=8
+ base size=8 base align=8
+Q3NetworkProtocolFactoryBase (0x7f62da135690) 0 nearly-empty
+ vptr=((& Q3NetworkProtocolFactoryBase::_ZTV28Q3NetworkProtocolFactoryBase) + 16u)
+
+Vtable for Q3NetworkProtocol
+Q3NetworkProtocol::_ZTV17Q3NetworkProtocol: 29u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17Q3NetworkProtocol)
+16 Q3NetworkProtocol::metaObject
+24 Q3NetworkProtocol::qt_metacast
+32 Q3NetworkProtocol::qt_metacall
+40 Q3NetworkProtocol::~Q3NetworkProtocol
+48 Q3NetworkProtocol::~Q3NetworkProtocol
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 Q3NetworkProtocol::setUrl
+120 Q3NetworkProtocol::setAutoDelete
+128 Q3NetworkProtocol::supportedOperations
+136 Q3NetworkProtocol::addOperation
+144 Q3NetworkProtocol::clearOperationQueue
+152 Q3NetworkProtocol::stop
+160 Q3NetworkProtocol::processOperation
+168 Q3NetworkProtocol::operationListChildren
+176 Q3NetworkProtocol::operationMkDir
+184 Q3NetworkProtocol::operationRemove
+192 Q3NetworkProtocol::operationRename
+200 Q3NetworkProtocol::operationGet
+208 Q3NetworkProtocol::operationPut
+216 Q3NetworkProtocol::operationPutChunk
+224 Q3NetworkProtocol::checkConnection
+
+Class Q3NetworkProtocol
+ size=24 align=8
+ base size=24 base align=8
+Q3NetworkProtocol (0x7f62da150af0) 0
+ vptr=((& Q3NetworkProtocol::_ZTV17Q3NetworkProtocol) + 16u)
+ QObject (0x7f62da150b60) 0
+ primary-for Q3NetworkProtocol (0x7f62da150af0)
+
+Vtable for Q3NetworkOperation
+Q3NetworkOperation::_ZTV18Q3NetworkOperation: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18Q3NetworkOperation)
+16 Q3NetworkOperation::metaObject
+24 Q3NetworkOperation::qt_metacast
+32 Q3NetworkOperation::qt_metacall
+40 Q3NetworkOperation::~Q3NetworkOperation
+48 Q3NetworkOperation::~Q3NetworkOperation
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class Q3NetworkOperation
+ size=24 align=8
+ base size=24 base align=8
+Q3NetworkOperation (0x7f62d9f77150) 0
+ vptr=((& Q3NetworkOperation::_ZTV18Q3NetworkOperation) + 16u)
+ QObject (0x7f62d9f771c0) 0
+ primary-for Q3NetworkOperation (0x7f62d9f77150)
+
+Vtable for Q3UrlOperator
+Q3UrlOperator::_ZTV13Q3UrlOperator: 51u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13Q3UrlOperator)
+16 Q3UrlOperator::metaObject
+24 Q3UrlOperator::qt_metacast
+32 Q3UrlOperator::qt_metacall
+40 Q3UrlOperator::~Q3UrlOperator
+48 Q3UrlOperator::~Q3UrlOperator
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 Q3UrlOperator::setPath
+120 Q3UrlOperator::cdUp
+128 Q3UrlOperator::listChildren
+136 Q3UrlOperator::mkdir
+144 Q3UrlOperator::remove
+152 Q3UrlOperator::rename
+160 Q3UrlOperator::get
+168 Q3UrlOperator::put
+176 Q3UrlOperator::copy
+184 Q3UrlOperator::copy
+192 Q3UrlOperator::isDir
+200 Q3UrlOperator::setNameFilter
+208 Q3UrlOperator::info
+216 Q3UrlOperator::stop
+224 Q3UrlOperator::reset
+232 Q3UrlOperator::parse
+240 Q3UrlOperator::checkValid
+248 Q3UrlOperator::clearEntries
+256 (int (*)(...))-0x00000000000000010
+264 (int (*)(...))(& _ZTI13Q3UrlOperator)
+272 Q3UrlOperator::_ZThn16_N13Q3UrlOperatorD1Ev
+280 Q3UrlOperator::_ZThn16_N13Q3UrlOperatorD0Ev
+288 Q3Url::setProtocol
+296 Q3Url::setUser
+304 Q3Url::setPassword
+312 Q3Url::setHost
+320 Q3Url::setPort
+328 Q3UrlOperator::_ZThn16_N13Q3UrlOperator7setPathERK7QString
+336 Q3Url::setEncodedPathAndQuery
+344 Q3Url::setQuery
+352 Q3Url::setRef
+360 Q3Url::addPath
+368 Q3Url::setFileName
+376 Q3Url::toString
+384 Q3UrlOperator::_ZThn16_N13Q3UrlOperator4cdUpEv
+392 Q3UrlOperator::_ZThn16_N13Q3UrlOperator5resetEv
+400 Q3UrlOperator::_ZThn16_N13Q3UrlOperator5parseERK7QString
+
+Class Q3UrlOperator
+ size=40 align=8
+ base size=40 base align=8
+Q3UrlOperator (0x7f62da163c80) 0
+ vptr=((& Q3UrlOperator::_ZTV13Q3UrlOperator) + 16u)
+ QObject (0x7f62d9f88930) 0
+ primary-for Q3UrlOperator (0x7f62da163c80)
+ Q3Url (0x7f62d9f889a0) 16
+ vptr=((& Q3UrlOperator::_ZTV13Q3UrlOperator) + 272u)
+
+Vtable for Q3FileIconProvider
+Q3FileIconProvider::_ZTV18Q3FileIconProvider: 15u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18Q3FileIconProvider)
+16 Q3FileIconProvider::metaObject
+24 Q3FileIconProvider::qt_metacast
+32 Q3FileIconProvider::qt_metacall
+40 Q3FileIconProvider::~Q3FileIconProvider
+48 Q3FileIconProvider::~Q3FileIconProvider
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 Q3FileIconProvider::pixmap
+
+Class Q3FileIconProvider
+ size=16 align=8
+ base size=16 base align=8
+Q3FileIconProvider (0x7f62d9fb4000) 0
+ vptr=((& Q3FileIconProvider::_ZTV18Q3FileIconProvider) + 16u)
+ QObject (0x7f62d9fb4070) 0
+ primary-for Q3FileIconProvider (0x7f62d9fb4000)
+
+Vtable for Q3FilePreview
+Q3FilePreview::_ZTV13Q3FilePreview: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13Q3FilePreview)
+16 Q3FilePreview::~Q3FilePreview
+24 Q3FilePreview::~Q3FilePreview
+32 __cxa_pure_virtual
+
+Class Q3FilePreview
+ size=8 align=8
+ base size=8 base align=8
+Q3FilePreview (0x7f62d9fc3310) 0 nearly-empty
+ vptr=((& Q3FilePreview::_ZTV13Q3FilePreview) + 16u)
+
+Vtable for Q3FileDialog
+Q3FileDialog::_ZTV12Q3FileDialog: 68u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12Q3FileDialog)
+16 Q3FileDialog::metaObject
+24 Q3FileDialog::qt_metacast
+32 Q3FileDialog::qt_metacall
+40 Q3FileDialog::~Q3FileDialog
+48 Q3FileDialog::~Q3FileDialog
+56 QWidget::event
+64 Q3FileDialog::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QDialog::setVisible
+128 QDialog::sizeHint
+136 QDialog::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 Q3FileDialog::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QWidget::paintEvent
+256 QWidget::moveEvent
+264 Q3FileDialog::resizeEvent
+272 QDialog::closeEvent
+280 QDialog::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QDialog::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QWidget::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 Q3FileDialog::done
+456 QDialog::accept
+464 QDialog::reject
+472 Q3FileDialog::setSelectedFilter
+480 Q3FileDialog::setSelectedFilter
+488 (int (*)(...))-0x00000000000000010
+496 (int (*)(...))(& _ZTI12Q3FileDialog)
+504 Q3FileDialog::_ZThn16_N12Q3FileDialogD1Ev
+512 Q3FileDialog::_ZThn16_N12Q3FileDialogD0Ev
+520 QWidget::_ZThn16_NK7QWidget7devTypeEv
+528 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+536 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class Q3FileDialog
+ size=88 align=8
+ base size=88 base align=8
+Q3FileDialog (0x7f62d9fc3d90) 0
+ vptr=((& Q3FileDialog::_ZTV12Q3FileDialog) + 16u)
+ QDialog (0x7f62d9fc3e00) 0
+ primary-for Q3FileDialog (0x7f62d9fc3d90)
+ QWidget (0x7f62d9fc8980) 0
+ primary-for QDialog (0x7f62d9fc3e00)
+ QObject (0x7f62d9fc3e70) 0
+ primary-for QWidget (0x7f62d9fc8980)
+ QPaintDevice (0x7f62d9fc3ee0) 16
+ vptr=((& Q3FileDialog::_ZTV12Q3FileDialog) + 504u)
+
+Vtable for Q3ProgressDialog
+Q3ProgressDialog::_ZTV16Q3ProgressDialog: 66u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16Q3ProgressDialog)
+16 Q3ProgressDialog::metaObject
+24 Q3ProgressDialog::qt_metacast
+32 Q3ProgressDialog::qt_metacall
+40 Q3ProgressDialog::~Q3ProgressDialog
+48 Q3ProgressDialog::~Q3ProgressDialog
+56 QWidget::event
+64 QDialog::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QDialog::setVisible
+128 Q3ProgressDialog::sizeHint
+136 QDialog::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QDialog::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QWidget::paintEvent
+256 QWidget::moveEvent
+264 Q3ProgressDialog::resizeEvent
+272 Q3ProgressDialog::closeEvent
+280 QDialog::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 Q3ProgressDialog::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 Q3ProgressDialog::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QDialog::done
+456 QDialog::accept
+464 QDialog::reject
+472 (int (*)(...))-0x00000000000000010
+480 (int (*)(...))(& _ZTI16Q3ProgressDialog)
+488 Q3ProgressDialog::_ZThn16_N16Q3ProgressDialogD1Ev
+496 Q3ProgressDialog::_ZThn16_N16Q3ProgressDialogD0Ev
+504 QWidget::_ZThn16_NK7QWidget7devTypeEv
+512 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+520 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class Q3ProgressDialog
+ size=56 align=8
+ base size=56 base align=8
+Q3ProgressDialog (0x7f62da008230) 0
+ vptr=((& Q3ProgressDialog::_ZTV16Q3ProgressDialog) + 16u)
+ QDialog (0x7f62da0082a0) 0
+ primary-for Q3ProgressDialog (0x7f62da008230)
+ QWidget (0x7f62d9ff4b00) 0
+ primary-for QDialog (0x7f62da0082a0)
+ QObject (0x7f62da008310) 0
+ primary-for QWidget (0x7f62d9ff4b00)
+ QPaintDevice (0x7f62da008380) 16
+ vptr=((& Q3ProgressDialog::_ZTV16Q3ProgressDialog) + 488u)
+
+Vtable for Q3TabDialog
+Q3TabDialog::_ZTV11Q3TabDialog: 66u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11Q3TabDialog)
+16 Q3TabDialog::metaObject
+24 Q3TabDialog::qt_metacast
+32 Q3TabDialog::qt_metacall
+40 Q3TabDialog::~Q3TabDialog
+48 Q3TabDialog::~Q3TabDialog
+56 QWidget::event
+64 QDialog::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QDialog::setVisible
+128 QDialog::sizeHint
+136 QDialog::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QDialog::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 Q3TabDialog::paintEvent
+256 QWidget::moveEvent
+264 Q3TabDialog::resizeEvent
+272 QDialog::closeEvent
+280 QDialog::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 Q3TabDialog::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QWidget::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 Q3TabDialog::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QDialog::done
+456 QDialog::accept
+464 QDialog::reject
+472 (int (*)(...))-0x00000000000000010
+480 (int (*)(...))(& _ZTI11Q3TabDialog)
+488 Q3TabDialog::_ZThn16_N11Q3TabDialogD1Ev
+496 Q3TabDialog::_ZThn16_N11Q3TabDialogD0Ev
+504 QWidget::_ZThn16_NK7QWidget7devTypeEv
+512 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+520 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class Q3TabDialog
+ size=48 align=8
+ base size=48 base align=8
+Q3TabDialog (0x7f62da02aa10) 0
+ vptr=((& Q3TabDialog::_ZTV11Q3TabDialog) + 16u)
+ QDialog (0x7f62da02aa80) 0
+ primary-for Q3TabDialog (0x7f62da02aa10)
+ QWidget (0x7f62da02d200) 0
+ primary-for QDialog (0x7f62da02aa80)
+ QObject (0x7f62da02aaf0) 0
+ primary-for QWidget (0x7f62da02d200)
+ QPaintDevice (0x7f62da02ab60) 16
+ vptr=((& Q3TabDialog::_ZTV11Q3TabDialog) + 488u)
+
+Vtable for Q3Wizard
+Q3Wizard::_ZTV8Q3Wizard: 82u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI8Q3Wizard)
+16 Q3Wizard::metaObject
+24 Q3Wizard::qt_metacast
+32 Q3Wizard::qt_metacall
+40 Q3Wizard::~Q3Wizard
+48 Q3Wizard::~Q3Wizard
+56 QWidget::event
+64 Q3Wizard::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 Q3Wizard::setVisible
+128 QDialog::sizeHint
+136 QDialog::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QDialog::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QWidget::paintEvent
+256 QWidget::moveEvent
+264 QDialog::resizeEvent
+272 QDialog::closeEvent
+280 QDialog::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QDialog::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QWidget::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QDialog::done
+456 QDialog::accept
+464 QDialog::reject
+472 Q3Wizard::addPage
+480 Q3Wizard::insertPage
+488 Q3Wizard::removePage
+496 Q3Wizard::showPage
+504 Q3Wizard::appropriate
+512 Q3Wizard::setAppropriate
+520 Q3Wizard::setBackEnabled
+528 Q3Wizard::setNextEnabled
+536 Q3Wizard::setFinishEnabled
+544 Q3Wizard::setHelpEnabled
+552 Q3Wizard::setFinish
+560 Q3Wizard::back
+568 Q3Wizard::next
+576 Q3Wizard::help
+584 Q3Wizard::layOutButtonRow
+592 Q3Wizard::layOutTitleRow
+600 (int (*)(...))-0x00000000000000010
+608 (int (*)(...))(& _ZTI8Q3Wizard)
+616 Q3Wizard::_ZThn16_N8Q3WizardD1Ev
+624 Q3Wizard::_ZThn16_N8Q3WizardD0Ev
+632 QWidget::_ZThn16_NK7QWidget7devTypeEv
+640 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+648 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class Q3Wizard
+ size=48 align=8
+ base size=48 base align=8
+Q3Wizard (0x7f62da0515b0) 0
+ vptr=((& Q3Wizard::_ZTV8Q3Wizard) + 16u)
+ QDialog (0x7f62da051620) 0
+ primary-for Q3Wizard (0x7f62da0515b0)
+ QWidget (0x7f62da02d900) 0
+ primary-for QDialog (0x7f62da051620)
+ QObject (0x7f62da051690) 0
+ primary-for QWidget (0x7f62da02d900)
+ QPaintDevice (0x7f62da051700) 16
+ vptr=((& Q3Wizard::_ZTV8Q3Wizard) + 616u)
+
+Vtable for Q3Accel
+Q3Accel::_ZTV7Q3Accel: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7Q3Accel)
+16 Q3Accel::metaObject
+24 Q3Accel::qt_metacast
+32 Q3Accel::qt_metacall
+40 Q3Accel::~Q3Accel
+48 Q3Accel::~Q3Accel
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class Q3Accel
+ size=24 align=8
+ base size=24 base align=8
+Q3Accel (0x7f62d9e704d0) 0
+ vptr=((& Q3Accel::_ZTV7Q3Accel) + 16u)
+ QObject (0x7f62d9e70540) 0
+ primary-for Q3Accel (0x7f62d9e704d0)
+
+Vtable for Q3BoxLayout
+Q3BoxLayout::_ZTV11Q3BoxLayout: 49u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11Q3BoxLayout)
+16 QBoxLayout::metaObject
+24 QBoxLayout::qt_metacast
+32 QBoxLayout::qt_metacall
+40 Q3BoxLayout::~Q3BoxLayout
+48 Q3BoxLayout::~Q3BoxLayout
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QLayout::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QBoxLayout::invalidate
+120 QLayout::geometry
+128 QBoxLayout::addItem
+136 QBoxLayout::expandingDirections
+144 QBoxLayout::minimumSize
+152 QBoxLayout::maximumSize
+160 QBoxLayout::setGeometry
+168 QBoxLayout::itemAt
+176 QBoxLayout::takeAt
+184 QLayout::indexOf
+192 QBoxLayout::count
+200 QLayout::isEmpty
+208 QLayout::layout
+216 QBoxLayout::sizeHint
+224 QBoxLayout::hasHeightForWidth
+232 QBoxLayout::heightForWidth
+240 QBoxLayout::minimumHeightForWidth
+248 (int (*)(...))-0x00000000000000010
+256 (int (*)(...))(& _ZTI11Q3BoxLayout)
+264 Q3BoxLayout::_ZThn16_N11Q3BoxLayoutD1Ev
+272 Q3BoxLayout::_ZThn16_N11Q3BoxLayoutD0Ev
+280 QBoxLayout::_ZThn16_NK10QBoxLayout8sizeHintEv
+288 QBoxLayout::_ZThn16_NK10QBoxLayout11minimumSizeEv
+296 QBoxLayout::_ZThn16_NK10QBoxLayout11maximumSizeEv
+304 QBoxLayout::_ZThn16_NK10QBoxLayout19expandingDirectionsEv
+312 QBoxLayout::_ZThn16_N10QBoxLayout11setGeometryERK5QRect
+320 QLayout::_ZThn16_NK7QLayout8geometryEv
+328 QLayout::_ZThn16_NK7QLayout7isEmptyEv
+336 QBoxLayout::_ZThn16_NK10QBoxLayout17hasHeightForWidthEv
+344 QBoxLayout::_ZThn16_NK10QBoxLayout14heightForWidthEi
+352 QBoxLayout::_ZThn16_NK10QBoxLayout21minimumHeightForWidthEi
+360 QBoxLayout::_ZThn16_N10QBoxLayout10invalidateEv
+368 QLayoutItem::widget
+376 QLayout::_ZThn16_N7QLayout6layoutEv
+384 QLayoutItem::spacerItem
+
+Class Q3BoxLayout
+ size=32 align=8
+ base size=28 base align=8
+Q3BoxLayout (0x7f62d9e87af0) 0
+ vptr=((& Q3BoxLayout::_ZTV11Q3BoxLayout) + 16u)
+ QBoxLayout (0x7f62d9e87b60) 0
+ primary-for Q3BoxLayout (0x7f62d9e87af0)
+ QLayout (0x7f62d9e72880) 0
+ primary-for QBoxLayout (0x7f62d9e87b60)
+ QObject (0x7f62d9e87bd0) 0
+ primary-for QLayout (0x7f62d9e72880)
+ QLayoutItem (0x7f62d9e87c40) 16
+ vptr=((& Q3BoxLayout::_ZTV11Q3BoxLayout) + 264u)
+
+Vtable for Q3HBoxLayout
+Q3HBoxLayout::_ZTV12Q3HBoxLayout: 49u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12Q3HBoxLayout)
+16 QBoxLayout::metaObject
+24 QBoxLayout::qt_metacast
+32 QBoxLayout::qt_metacall
+40 Q3HBoxLayout::~Q3HBoxLayout
+48 Q3HBoxLayout::~Q3HBoxLayout
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QLayout::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QBoxLayout::invalidate
+120 QLayout::geometry
+128 QBoxLayout::addItem
+136 QBoxLayout::expandingDirections
+144 QBoxLayout::minimumSize
+152 QBoxLayout::maximumSize
+160 QBoxLayout::setGeometry
+168 QBoxLayout::itemAt
+176 QBoxLayout::takeAt
+184 QLayout::indexOf
+192 QBoxLayout::count
+200 QLayout::isEmpty
+208 QLayout::layout
+216 QBoxLayout::sizeHint
+224 QBoxLayout::hasHeightForWidth
+232 QBoxLayout::heightForWidth
+240 QBoxLayout::minimumHeightForWidth
+248 (int (*)(...))-0x00000000000000010
+256 (int (*)(...))(& _ZTI12Q3HBoxLayout)
+264 Q3HBoxLayout::_ZThn16_N12Q3HBoxLayoutD1Ev
+272 Q3HBoxLayout::_ZThn16_N12Q3HBoxLayoutD0Ev
+280 QBoxLayout::_ZThn16_NK10QBoxLayout8sizeHintEv
+288 QBoxLayout::_ZThn16_NK10QBoxLayout11minimumSizeEv
+296 QBoxLayout::_ZThn16_NK10QBoxLayout11maximumSizeEv
+304 QBoxLayout::_ZThn16_NK10QBoxLayout19expandingDirectionsEv
+312 QBoxLayout::_ZThn16_N10QBoxLayout11setGeometryERK5QRect
+320 QLayout::_ZThn16_NK7QLayout8geometryEv
+328 QLayout::_ZThn16_NK7QLayout7isEmptyEv
+336 QBoxLayout::_ZThn16_NK10QBoxLayout17hasHeightForWidthEv
+344 QBoxLayout::_ZThn16_NK10QBoxLayout14heightForWidthEi
+352 QBoxLayout::_ZThn16_NK10QBoxLayout21minimumHeightForWidthEi
+360 QBoxLayout::_ZThn16_N10QBoxLayout10invalidateEv
+368 QLayoutItem::widget
+376 QLayout::_ZThn16_N7QLayout6layoutEv
+384 QLayoutItem::spacerItem
+
+Class Q3HBoxLayout
+ size=32 align=8
+ base size=28 base align=8
+Q3HBoxLayout (0x7f62d9eb05b0) 0
+ vptr=((& Q3HBoxLayout::_ZTV12Q3HBoxLayout) + 16u)
+ Q3BoxLayout (0x7f62d9eb0620) 0
+ primary-for Q3HBoxLayout (0x7f62d9eb05b0)
+ QBoxLayout (0x7f62d9eb0690) 0
+ primary-for Q3BoxLayout (0x7f62d9eb0620)
+ QLayout (0x7f62d9eb2200) 0
+ primary-for QBoxLayout (0x7f62d9eb0690)
+ QObject (0x7f62d9eb0700) 0
+ primary-for QLayout (0x7f62d9eb2200)
+ QLayoutItem (0x7f62d9eb0770) 16
+ vptr=((& Q3HBoxLayout::_ZTV12Q3HBoxLayout) + 264u)
+
+Vtable for Q3VBoxLayout
+Q3VBoxLayout::_ZTV12Q3VBoxLayout: 49u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12Q3VBoxLayout)
+16 QBoxLayout::metaObject
+24 QBoxLayout::qt_metacast
+32 QBoxLayout::qt_metacall
+40 Q3VBoxLayout::~Q3VBoxLayout
+48 Q3VBoxLayout::~Q3VBoxLayout
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QLayout::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QBoxLayout::invalidate
+120 QLayout::geometry
+128 QBoxLayout::addItem
+136 QBoxLayout::expandingDirections
+144 QBoxLayout::minimumSize
+152 QBoxLayout::maximumSize
+160 QBoxLayout::setGeometry
+168 QBoxLayout::itemAt
+176 QBoxLayout::takeAt
+184 QLayout::indexOf
+192 QBoxLayout::count
+200 QLayout::isEmpty
+208 QLayout::layout
+216 QBoxLayout::sizeHint
+224 QBoxLayout::hasHeightForWidth
+232 QBoxLayout::heightForWidth
+240 QBoxLayout::minimumHeightForWidth
+248 (int (*)(...))-0x00000000000000010
+256 (int (*)(...))(& _ZTI12Q3VBoxLayout)
+264 Q3VBoxLayout::_ZThn16_N12Q3VBoxLayoutD1Ev
+272 Q3VBoxLayout::_ZThn16_N12Q3VBoxLayoutD0Ev
+280 QBoxLayout::_ZThn16_NK10QBoxLayout8sizeHintEv
+288 QBoxLayout::_ZThn16_NK10QBoxLayout11minimumSizeEv
+296 QBoxLayout::_ZThn16_NK10QBoxLayout11maximumSizeEv
+304 QBoxLayout::_ZThn16_NK10QBoxLayout19expandingDirectionsEv
+312 QBoxLayout::_ZThn16_N10QBoxLayout11setGeometryERK5QRect
+320 QLayout::_ZThn16_NK7QLayout8geometryEv
+328 QLayout::_ZThn16_NK7QLayout7isEmptyEv
+336 QBoxLayout::_ZThn16_NK10QBoxLayout17hasHeightForWidthEv
+344 QBoxLayout::_ZThn16_NK10QBoxLayout14heightForWidthEi
+352 QBoxLayout::_ZThn16_NK10QBoxLayout21minimumHeightForWidthEi
+360 QBoxLayout::_ZThn16_N10QBoxLayout10invalidateEv
+368 QLayoutItem::widget
+376 QLayout::_ZThn16_N7QLayout6layoutEv
+384 QLayoutItem::spacerItem
+
+Class Q3VBoxLayout
+ size=32 align=8
+ base size=28 base align=8
+Q3VBoxLayout (0x7f62d9eddbd0) 0
+ vptr=((& Q3VBoxLayout::_ZTV12Q3VBoxLayout) + 16u)
+ Q3BoxLayout (0x7f62d9eddc40) 0
+ primary-for Q3VBoxLayout (0x7f62d9eddbd0)
+ QBoxLayout (0x7f62d9eddcb0) 0
+ primary-for Q3BoxLayout (0x7f62d9eddc40)
+ QLayout (0x7f62d9ed4c80) 0
+ primary-for QBoxLayout (0x7f62d9eddcb0)
+ QObject (0x7f62d9eddd20) 0
+ primary-for QLayout (0x7f62d9ed4c80)
+ QLayoutItem (0x7f62d9eddd90) 16
+ vptr=((& Q3VBoxLayout::_ZTV12Q3VBoxLayout) + 264u)
+
+Vtable for Q3StrList
+Q3StrList::_ZTV9Q3StrList: 11u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9Q3StrList)
+16 Q3PtrList<type>::count [with type = char]
+24 Q3PtrList<type>::clear [with type = char]
+32 Q3StrList::~Q3StrList
+40 Q3StrList::~Q3StrList
+48 Q3StrList::newItem
+56 Q3StrList::deleteItem
+64 Q3StrList::compareItems
+72 Q3StrList::read
+80 Q3StrList::write
+
+Class Q3StrList
+ size=64 align=8
+ base size=57 base align=8
+Q3StrList (0x7f62d9f07700) 0
+ vptr=((& Q3StrList::_ZTV9Q3StrList) + 16u)
+ Q3PtrList<char> (0x7f62d9f07770) 0
+ primary-for Q3StrList (0x7f62d9f07700)
+ Q3GList (0x7f62d9f077e0) 0
+ primary-for Q3PtrList<char> (0x7f62d9f07770)
+ Q3PtrCollection (0x7f62d9f07850) 0
+ primary-for Q3GList (0x7f62d9f077e0)
+
+Vtable for Q3StrIList
+Q3StrIList::_ZTV10Q3StrIList: 11u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10Q3StrIList)
+16 Q3PtrList<type>::count [with type = char]
+24 Q3PtrList<type>::clear [with type = char]
+32 Q3StrIList::~Q3StrIList
+40 Q3StrIList::~Q3StrIList
+48 Q3StrList::newItem
+56 Q3StrList::deleteItem
+64 Q3StrIList::compareItems
+72 Q3StrList::read
+80 Q3StrList::write
+
+Class Q3StrIList
+ size=64 align=8
+ base size=57 base align=8
+Q3StrIList (0x7f62d9d6b150) 0
+ vptr=((& Q3StrIList::_ZTV10Q3StrIList) + 16u)
+ Q3StrList (0x7f62d9d6b1c0) 0
+ primary-for Q3StrIList (0x7f62d9d6b150)
+ Q3PtrList<char> (0x7f62d9d6b230) 0
+ primary-for Q3StrList (0x7f62d9d6b1c0)
+ Q3GList (0x7f62d9d6b2a0) 0
+ primary-for Q3PtrList<char> (0x7f62d9d6b230)
+ Q3PtrCollection (0x7f62d9d6b310) 0
+ primary-for Q3GList (0x7f62d9d6b2a0)
+
+Vtable for Q3DragObject
+Q3DragObject::_ZTV12Q3DragObject: 24u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12Q3DragObject)
+16 Q3DragObject::metaObject
+24 Q3DragObject::qt_metacast
+32 Q3DragObject::qt_metacall
+40 Q3DragObject::~Q3DragObject
+48 Q3DragObject::~Q3DragObject
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 Q3DragObject::setPixmap
+120 Q3DragObject::setPixmap
+128 Q3DragObject::drag
+136 (int (*)(...))-0x00000000000000010
+144 (int (*)(...))(& _ZTI12Q3DragObject)
+152 Q3DragObject::_ZThn16_N12Q3DragObjectD1Ev
+160 Q3DragObject::_ZThn16_N12Q3DragObjectD0Ev
+168 __cxa_pure_virtual
+176 QMimeSource::provides
+184 __cxa_pure_virtual
+
+Class Q3DragObject
+ size=24 align=8
+ base size=24 base align=8
+Q3DragObject (0x7f62d9d85280) 0
+ vptr=((& Q3DragObject::_ZTV12Q3DragObject) + 16u)
+ QObject (0x7f62d9d82b60) 0
+ primary-for Q3DragObject (0x7f62d9d85280)
+ QMimeSource (0x7f62d9d82bd0) 16 nearly-empty
+ vptr=((& Q3DragObject::_ZTV12Q3DragObject) + 152u)
+
+Vtable for Q3StoredDrag
+Q3StoredDrag::_ZTV12Q3StoredDrag: 27u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12Q3StoredDrag)
+16 Q3StoredDrag::metaObject
+24 Q3StoredDrag::qt_metacast
+32 Q3StoredDrag::qt_metacall
+40 Q3StoredDrag::~Q3StoredDrag
+48 Q3StoredDrag::~Q3StoredDrag
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 Q3DragObject::setPixmap
+120 Q3DragObject::setPixmap
+128 Q3DragObject::drag
+136 Q3StoredDrag::setEncodedData
+144 Q3StoredDrag::format
+152 Q3StoredDrag::encodedData
+160 (int (*)(...))-0x00000000000000010
+168 (int (*)(...))(& _ZTI12Q3StoredDrag)
+176 Q3StoredDrag::_ZThn16_N12Q3StoredDragD1Ev
+184 Q3StoredDrag::_ZThn16_N12Q3StoredDragD0Ev
+192 Q3StoredDrag::_ZThn16_NK12Q3StoredDrag6formatEi
+200 QMimeSource::provides
+208 Q3StoredDrag::_ZThn16_NK12Q3StoredDrag11encodedDataEPKc
+
+Class Q3StoredDrag
+ size=24 align=8
+ base size=24 base align=8
+Q3StoredDrag (0x7f62d9da23f0) 0
+ vptr=((& Q3StoredDrag::_ZTV12Q3StoredDrag) + 16u)
+ Q3DragObject (0x7f62d9d85f00) 0
+ primary-for Q3StoredDrag (0x7f62d9da23f0)
+ QObject (0x7f62d9da2460) 0
+ primary-for Q3DragObject (0x7f62d9d85f00)
+ QMimeSource (0x7f62d9da24d0) 16 nearly-empty
+ vptr=((& Q3StoredDrag::_ZTV12Q3StoredDrag) + 176u)
+
+Vtable for Q3TextDrag
+Q3TextDrag::_ZTV10Q3TextDrag: 28u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10Q3TextDrag)
+16 Q3TextDrag::metaObject
+24 Q3TextDrag::qt_metacast
+32 Q3TextDrag::qt_metacall
+40 Q3TextDrag::~Q3TextDrag
+48 Q3TextDrag::~Q3TextDrag
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 Q3DragObject::setPixmap
+120 Q3DragObject::setPixmap
+128 Q3DragObject::drag
+136 Q3TextDrag::setText
+144 Q3TextDrag::setSubtype
+152 Q3TextDrag::format
+160 Q3TextDrag::encodedData
+168 (int (*)(...))-0x00000000000000010
+176 (int (*)(...))(& _ZTI10Q3TextDrag)
+184 Q3TextDrag::_ZThn16_N10Q3TextDragD1Ev
+192 Q3TextDrag::_ZThn16_N10Q3TextDragD0Ev
+200 Q3TextDrag::_ZThn16_NK10Q3TextDrag6formatEi
+208 QMimeSource::provides
+216 Q3TextDrag::_ZThn16_NK10Q3TextDrag11encodedDataEPKc
+
+Class Q3TextDrag
+ size=24 align=8
+ base size=24 base align=8
+Q3TextDrag (0x7f62d9db4cb0) 0
+ vptr=((& Q3TextDrag::_ZTV10Q3TextDrag) + 16u)
+ Q3DragObject (0x7f62d9da4900) 0
+ primary-for Q3TextDrag (0x7f62d9db4cb0)
+ QObject (0x7f62d9db4d20) 0
+ primary-for Q3DragObject (0x7f62d9da4900)
+ QMimeSource (0x7f62d9db4d90) 16 nearly-empty
+ vptr=((& Q3TextDrag::_ZTV10Q3TextDrag) + 184u)
+
+Vtable for Q3ImageDrag
+Q3ImageDrag::_ZTV11Q3ImageDrag: 27u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11Q3ImageDrag)
+16 Q3ImageDrag::metaObject
+24 Q3ImageDrag::qt_metacast
+32 Q3ImageDrag::qt_metacall
+40 Q3ImageDrag::~Q3ImageDrag
+48 Q3ImageDrag::~Q3ImageDrag
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 Q3DragObject::setPixmap
+120 Q3DragObject::setPixmap
+128 Q3DragObject::drag
+136 Q3ImageDrag::setImage
+144 Q3ImageDrag::format
+152 Q3ImageDrag::encodedData
+160 (int (*)(...))-0x00000000000000010
+168 (int (*)(...))(& _ZTI11Q3ImageDrag)
+176 Q3ImageDrag::_ZThn16_N11Q3ImageDragD1Ev
+184 Q3ImageDrag::_ZThn16_N11Q3ImageDragD0Ev
+192 Q3ImageDrag::_ZThn16_NK11Q3ImageDrag6formatEi
+200 QMimeSource::provides
+208 Q3ImageDrag::_ZThn16_NK11Q3ImageDrag11encodedDataEPKc
+
+Class Q3ImageDrag
+ size=24 align=8
+ base size=24 base align=8
+Q3ImageDrag (0x7f62d9dd18c0) 0
+ vptr=((& Q3ImageDrag::_ZTV11Q3ImageDrag) + 16u)
+ Q3DragObject (0x7f62d9dd4300) 0
+ primary-for Q3ImageDrag (0x7f62d9dd18c0)
+ QObject (0x7f62d9dd1930) 0
+ primary-for Q3DragObject (0x7f62d9dd4300)
+ QMimeSource (0x7f62d9dd19a0) 16 nearly-empty
+ vptr=((& Q3ImageDrag::_ZTV11Q3ImageDrag) + 176u)
+
+Vtable for Q3UriDrag
+Q3UriDrag::_ZTV9Q3UriDrag: 28u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9Q3UriDrag)
+16 Q3UriDrag::metaObject
+24 Q3UriDrag::qt_metacast
+32 Q3UriDrag::qt_metacall
+40 Q3UriDrag::~Q3UriDrag
+48 Q3UriDrag::~Q3UriDrag
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 Q3DragObject::setPixmap
+120 Q3DragObject::setPixmap
+128 Q3DragObject::drag
+136 Q3StoredDrag::setEncodedData
+144 Q3StoredDrag::format
+152 Q3StoredDrag::encodedData
+160 Q3UriDrag::setUris
+168 (int (*)(...))-0x00000000000000010
+176 (int (*)(...))(& _ZTI9Q3UriDrag)
+184 Q3UriDrag::_ZThn16_N9Q3UriDragD1Ev
+192 Q3UriDrag::_ZThn16_N9Q3UriDragD0Ev
+200 Q3StoredDrag::_ZThn16_NK12Q3StoredDrag6formatEi
+208 QMimeSource::provides
+216 Q3StoredDrag::_ZThn16_NK12Q3StoredDrag11encodedDataEPKc
+
+Class Q3UriDrag
+ size=24 align=8
+ base size=24 base align=8
+Q3UriDrag (0x7f62d9def4d0) 0
+ vptr=((& Q3UriDrag::_ZTV9Q3UriDrag) + 16u)
+ Q3StoredDrag (0x7f62d9def540) 0
+ primary-for Q3UriDrag (0x7f62d9def4d0)
+ Q3DragObject (0x7f62d9dd4d00) 0
+ primary-for Q3StoredDrag (0x7f62d9def540)
+ QObject (0x7f62d9def5b0) 0
+ primary-for Q3DragObject (0x7f62d9dd4d00)
+ QMimeSource (0x7f62d9def620) 16 nearly-empty
+ vptr=((& Q3UriDrag::_ZTV9Q3UriDrag) + 184u)
+
+Vtable for Q3ColorDrag
+Q3ColorDrag::_ZTV11Q3ColorDrag: 27u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11Q3ColorDrag)
+16 Q3ColorDrag::metaObject
+24 Q3ColorDrag::qt_metacast
+32 Q3ColorDrag::qt_metacall
+40 Q3ColorDrag::~Q3ColorDrag
+48 Q3ColorDrag::~Q3ColorDrag
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 Q3DragObject::setPixmap
+120 Q3DragObject::setPixmap
+128 Q3DragObject::drag
+136 Q3StoredDrag::setEncodedData
+144 Q3StoredDrag::format
+152 Q3StoredDrag::encodedData
+160 (int (*)(...))-0x00000000000000010
+168 (int (*)(...))(& _ZTI11Q3ColorDrag)
+176 Q3ColorDrag::_ZThn16_N11Q3ColorDragD1Ev
+184 Q3ColorDrag::_ZThn16_N11Q3ColorDragD0Ev
+192 Q3StoredDrag::_ZThn16_NK12Q3StoredDrag6formatEi
+200 QMimeSource::provides
+208 Q3StoredDrag::_ZThn16_NK12Q3StoredDrag11encodedDataEPKc
+
+Class Q3ColorDrag
+ size=40 align=8
+ base size=40 base align=8
+Q3ColorDrag (0x7f62d9e0c000) 0
+ vptr=((& Q3ColorDrag::_ZTV11Q3ColorDrag) + 16u)
+ Q3StoredDrag (0x7f62d9e0c070) 0
+ primary-for Q3ColorDrag (0x7f62d9e0c000)
+ Q3DragObject (0x7f62d9e02a80) 0
+ primary-for Q3StoredDrag (0x7f62d9e0c070)
+ QObject (0x7f62d9e0c0e0) 0
+ primary-for Q3DragObject (0x7f62d9e02a80)
+ QMimeSource (0x7f62d9e0c150) 16 nearly-empty
+ vptr=((& Q3ColorDrag::_ZTV11Q3ColorDrag) + 176u)
+
+Vtable for Q3DropSite
+Q3DropSite::_ZTV10Q3DropSite: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10Q3DropSite)
+16 Q3DropSite::~Q3DropSite
+24 Q3DropSite::~Q3DropSite
+
+Class Q3DropSite
+ size=8 align=8
+ base size=8 base align=8
+Q3DropSite (0x7f62d9e1f460) 0 nearly-empty
+ vptr=((& Q3DropSite::_ZTV10Q3DropSite) + 16u)
+
+Vtable for Q3GridLayout
+Q3GridLayout::_ZTV12Q3GridLayout: 49u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12Q3GridLayout)
+16 QGridLayout::metaObject
+24 QGridLayout::qt_metacast
+32 QGridLayout::qt_metacall
+40 Q3GridLayout::~Q3GridLayout
+48 Q3GridLayout::~Q3GridLayout
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QLayout::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QGridLayout::invalidate
+120 QLayout::geometry
+128 QGridLayout::addItem
+136 QGridLayout::expandingDirections
+144 QGridLayout::minimumSize
+152 QGridLayout::maximumSize
+160 QGridLayout::setGeometry
+168 QGridLayout::itemAt
+176 QGridLayout::takeAt
+184 QLayout::indexOf
+192 QGridLayout::count
+200 QLayout::isEmpty
+208 QLayout::layout
+216 QGridLayout::sizeHint
+224 QGridLayout::hasHeightForWidth
+232 QGridLayout::heightForWidth
+240 QGridLayout::minimumHeightForWidth
+248 (int (*)(...))-0x00000000000000010
+256 (int (*)(...))(& _ZTI12Q3GridLayout)
+264 Q3GridLayout::_ZThn16_N12Q3GridLayoutD1Ev
+272 Q3GridLayout::_ZThn16_N12Q3GridLayoutD0Ev
+280 QGridLayout::_ZThn16_NK11QGridLayout8sizeHintEv
+288 QGridLayout::_ZThn16_NK11QGridLayout11minimumSizeEv
+296 QGridLayout::_ZThn16_NK11QGridLayout11maximumSizeEv
+304 QGridLayout::_ZThn16_NK11QGridLayout19expandingDirectionsEv
+312 QGridLayout::_ZThn16_N11QGridLayout11setGeometryERK5QRect
+320 QLayout::_ZThn16_NK7QLayout8geometryEv
+328 QLayout::_ZThn16_NK7QLayout7isEmptyEv
+336 QGridLayout::_ZThn16_NK11QGridLayout17hasHeightForWidthEv
+344 QGridLayout::_ZThn16_NK11QGridLayout14heightForWidthEi
+352 QGridLayout::_ZThn16_NK11QGridLayout21minimumHeightForWidthEi
+360 QGridLayout::_ZThn16_N11QGridLayout10invalidateEv
+368 QLayoutItem::widget
+376 QLayout::_ZThn16_N7QLayout6layoutEv
+384 QLayoutItem::spacerItem
+
+Class Q3GridLayout
+ size=32 align=8
+ base size=28 base align=8
+Q3GridLayout (0x7f62d9e1f620) 0
+ vptr=((& Q3GridLayout::_ZTV12Q3GridLayout) + 16u)
+ QGridLayout (0x7f62d9e1f690) 0
+ primary-for Q3GridLayout (0x7f62d9e1f620)
+ QLayout (0x7f62d9e1d200) 0
+ primary-for QGridLayout (0x7f62d9e1f690)
+ QObject (0x7f62d9e1f700) 0
+ primary-for QLayout (0x7f62d9e1d200)
+ QLayoutItem (0x7f62d9e1f770) 16
+ vptr=((& Q3GridLayout::_ZTV12Q3GridLayout) + 264u)
+
+Vtable for Q3PolygonScanner
+Q3PolygonScanner::_ZTV16Q3PolygonScanner: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16Q3PolygonScanner)
+16 Q3PolygonScanner::~Q3PolygonScanner
+24 Q3PolygonScanner::~Q3PolygonScanner
+32 __cxa_pure_virtual
+
+Class Q3PolygonScanner
+ size=8 align=8
+ base size=8 base align=8
+Q3PolygonScanner (0x7f62d9e44700) 0 nearly-empty
+ vptr=((& Q3PolygonScanner::_ZTV16Q3PolygonScanner) + 16u)
+
+Vtable for Q3Process
+Q3Process::_ZTV9Q3Process: 27u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9Q3Process)
+16 Q3Process::metaObject
+24 Q3Process::qt_metacast
+32 Q3Process::qt_metacall
+40 Q3Process::~Q3Process
+48 Q3Process::~Q3Process
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 Q3Process::connectNotify
+104 Q3Process::disconnectNotify
+112 Q3Process::setArguments
+120 Q3Process::addArgument
+128 Q3Process::setWorkingDirectory
+136 Q3Process::start
+144 Q3Process::launch
+152 Q3Process::launch
+160 Q3Process::readStdout
+168 Q3Process::readStderr
+176 Q3Process::readLineStdout
+184 Q3Process::readLineStderr
+192 Q3Process::writeToStdin
+200 Q3Process::writeToStdin
+208 Q3Process::closeStdin
+
+Class Q3Process
+ size=56 align=8
+ base size=56 base align=8
+Q3Process (0x7f62d9e4f150) 0
+ vptr=((& Q3Process::_ZTV9Q3Process) + 16u)
+ QObject (0x7f62d9e4f1c0) 0
+ primary-for Q3Process (0x7f62d9e4f150)
+
+Vtable for Q3GCache
+Q3GCache::_ZTV8Q3GCache: 8u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI8Q3GCache)
+16 Q3GCache::count
+24 Q3GCache::clear
+32 Q3GCache::~Q3GCache
+40 Q3GCache::~Q3GCache
+48 Q3PtrCollection::newItem
+56 __cxa_pure_virtual
+
+Class Q3GCache
+ size=48 align=8
+ base size=41 base align=8
+Q3GCache (0x7f62d9c737e0) 0
+ vptr=((& Q3GCache::_ZTV8Q3GCache) + 16u)
+ Q3PtrCollection (0x7f62d9c73850) 0
+ primary-for Q3GCache (0x7f62d9c737e0)
+
+Class Q3GCacheIterator
+ size=8 align=8
+ base size=8 base align=8
+Q3GCacheIterator (0x7f62d9c82770) 0
+
+Vtable for Q3ObjectDictionary
+Q3ObjectDictionary::_ZTV18Q3ObjectDictionary: 10u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18Q3ObjectDictionary)
+16 Q3AsciiDict<type>::count [with type = QMetaObject]
+24 Q3AsciiDict<type>::clear [with type = QMetaObject]
+32 Q3ObjectDictionary::~Q3ObjectDictionary
+40 Q3ObjectDictionary::~Q3ObjectDictionary
+48 Q3PtrCollection::newItem
+56 Q3AsciiDict<type>::deleteItem [with type = QMetaObject]
+64 Q3GDict::read
+72 Q3GDict::write
+
+Class Q3ObjectDictionary
+ size=48 align=8
+ base size=48 base align=8
+Q3ObjectDictionary (0x7f62d9d4a930) 0
+ vptr=((& Q3ObjectDictionary::_ZTV18Q3ObjectDictionary) + 16u)
+ Q3AsciiDict<QMetaObject> (0x7f62d9d4a9a0) 0
+ primary-for Q3ObjectDictionary (0x7f62d9d4a930)
+ Q3GDict (0x7f62d9d4aa10) 0
+ primary-for Q3AsciiDict<QMetaObject> (0x7f62d9d4a9a0)
+ Q3PtrCollection (0x7f62d9d4aa80) 0
+ primary-for Q3GDict (0x7f62d9d4aa10)
+
+Vtable for Q3Semaphore
+Q3Semaphore::_ZTV11Q3Semaphore: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11Q3Semaphore)
+16 Q3Semaphore::~Q3Semaphore
+24 Q3Semaphore::~Q3Semaphore
+
+Class Q3Semaphore
+ size=16 align=8
+ base size=16 base align=8
+Q3Semaphore (0x7f62d9bcc2a0) 0
+ vptr=((& Q3Semaphore::_ZTV11Q3Semaphore) + 16u)
+
+Vtable for Q3Signal
+Q3Signal::_ZTV8Q3Signal: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI8Q3Signal)
+16 Q3Signal::metaObject
+24 Q3Signal::qt_metacast
+32 Q3Signal::qt_metacall
+40 Q3Signal::~Q3Signal
+48 Q3Signal::~Q3Signal
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class Q3Signal
+ size=32 align=8
+ base size=32 base align=8
+Q3Signal (0x7f62d9bcc850) 0
+ vptr=((& Q3Signal::_ZTV8Q3Signal) + 16u)
+ QObject (0x7f62d9bcc8c0) 0
+ primary-for Q3Signal (0x7f62d9bcc850)
+
+Vtable for Q3StrVec
+Q3StrVec::_ZTV8Q3StrVec: 11u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI8Q3StrVec)
+16 Q3PtrVector<type>::count [with type = char]
+24 Q3PtrVector<type>::clear [with type = char]
+32 Q3StrVec::~Q3StrVec
+40 Q3StrVec::~Q3StrVec
+48 Q3StrVec::newItem
+56 Q3StrVec::deleteItem
+64 Q3StrVec::compareItems
+72 Q3StrVec::read
+80 Q3StrVec::write
+
+Class Q3StrVec
+ size=40 align=8
+ base size=33 base align=8
+Q3StrVec (0x7f62d9be7a10) 0
+ vptr=((& Q3StrVec::_ZTV8Q3StrVec) + 16u)
+ Q3PtrVector<char> (0x7f62d9be7a80) 0
+ primary-for Q3StrVec (0x7f62d9be7a10)
+ Q3GVector (0x7f62d9be7af0) 0
+ primary-for Q3PtrVector<char> (0x7f62d9be7a80)
+ Q3PtrCollection (0x7f62d9be7b60) 0
+ primary-for Q3GVector (0x7f62d9be7af0)
+
+Vtable for Q3StrIVec
+Q3StrIVec::_ZTV9Q3StrIVec: 11u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9Q3StrIVec)
+16 Q3PtrVector<type>::count [with type = char]
+24 Q3PtrVector<type>::clear [with type = char]
+32 Q3StrIVec::~Q3StrIVec
+40 Q3StrIVec::~Q3StrIVec
+48 Q3StrVec::newItem
+56 Q3StrVec::deleteItem
+64 Q3StrIVec::compareItems
+72 Q3StrVec::read
+80 Q3StrVec::write
+
+Class Q3StrIVec
+ size=40 align=8
+ base size=33 base align=8
+Q3StrIVec (0x7f62d9c290e0) 0
+ vptr=((& Q3StrIVec::_ZTV9Q3StrIVec) + 16u)
+ Q3StrVec (0x7f62d9c29150) 0
+ primary-for Q3StrIVec (0x7f62d9c290e0)
+ Q3PtrVector<char> (0x7f62d9c291c0) 0
+ primary-for Q3StrVec (0x7f62d9c29150)
+ Q3GVector (0x7f62d9c29230) 0
+ primary-for Q3PtrVector<char> (0x7f62d9c291c0)
+ Q3PtrCollection (0x7f62d9c292a0) 0
+ primary-for Q3GVector (0x7f62d9c29230)
+
+Class Q3PaintDeviceMetrics
+ size=8 align=8
+ base size=8 base align=8
+Q3PaintDeviceMetrics (0x7f62d9a62230) 0
+
+Class Q3Painter
+ size=8 align=8
+ base size=8 base align=8
+Q3Painter (0x7f62d9a72230) 0
+ QPainter (0x7f62d9a722a0) 0
+
+Vtable for Q3Picture
+Q3Picture::_ZTV9Q3Picture: 8u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9Q3Picture)
+16 Q3Picture::~Q3Picture
+24 Q3Picture::~Q3Picture
+32 QPicture::devType
+40 QPicture::paintEngine
+48 QPicture::metric
+56 QPicture::setData
+
+Class Q3Picture
+ size=24 align=8
+ base size=24 base align=8
+Q3Picture (0x7f62d9a944d0) 0
+ vptr=((& Q3Picture::_ZTV9Q3Picture) + 16u)
+ QPicture (0x7f62d9a94540) 0
+ primary-for Q3Picture (0x7f62d9a944d0)
+ QPaintDevice (0x7f62d9a945b0) 0
+ primary-for QPicture (0x7f62d9a94540)
+
+Class Q3PointArray
+ size=8 align=8
+ base size=8 base align=8
+Q3PointArray (0x7f62d9aa1620) 0
+ QPolygon (0x7f62d9aa1690) 0
+ QVector<QPoint> (0x7f62d9aa1700) 0
+
+Class Q3CanvasItemList
+ size=8 align=8
+ base size=8 base align=8
+Q3CanvasItemList (0x7f62d9ada0e0) 0
+ Q3ValueList<Q3CanvasItem*> (0x7f62d9ada150) 0
+ QLinkedList<Q3CanvasItem*> (0x7f62d9ada1c0) 0
+
+Vtable for Q3CanvasItem
+Q3CanvasItem::_ZTV12Q3CanvasItem: 23u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12Q3CanvasItem)
+16 Q3CanvasItem::~Q3CanvasItem
+24 Q3CanvasItem::~Q3CanvasItem
+32 Q3CanvasItem::moveBy
+40 Q3CanvasItem::setAnimated
+48 Q3CanvasItem::setVelocity
+56 Q3CanvasItem::advance
+64 __cxa_pure_virtual
+72 Q3CanvasItem::setCanvas
+80 __cxa_pure_virtual
+88 Q3CanvasItem::setVisible
+96 Q3CanvasItem::setSelected
+104 Q3CanvasItem::setEnabled
+112 Q3CanvasItem::setActive
+120 Q3CanvasItem::rtti
+128 __cxa_pure_virtual
+136 Q3CanvasItem::boundingRectAdvanced
+144 Q3CanvasItem::chunks
+152 Q3CanvasItem::addToChunks
+160 Q3CanvasItem::removeFromChunks
+168 Q3CanvasItem::changeChunks
+176 __cxa_pure_virtual
+
+Class Q3CanvasItem
+ size=56 align=8
+ base size=49 base align=8
+Q3CanvasItem (0x7f62d9ada4d0) 0
+ vptr=((& Q3CanvasItem::_ZTV12Q3CanvasItem) + 16u)
+
+Vtable for Q3Canvas
+Q3Canvas::_ZTV8Q3Canvas: 38u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI8Q3Canvas)
+16 Q3Canvas::metaObject
+24 Q3Canvas::qt_metacast
+32 Q3Canvas::qt_metacall
+40 Q3Canvas::~Q3Canvas
+48 Q3Canvas::~Q3Canvas
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 Q3Canvas::setTiles
+120 Q3Canvas::setBackgroundPixmap
+128 Q3Canvas::setBackgroundColor
+136 Q3Canvas::setTile
+144 Q3Canvas::resize
+152 Q3Canvas::retune
+160 Q3Canvas::setChangedChunk
+168 Q3Canvas::setChangedChunkContaining
+176 Q3Canvas::setAllChanged
+184 Q3Canvas::setChanged
+192 Q3Canvas::setUnchanged
+200 Q3Canvas::addView
+208 Q3Canvas::removeView
+216 Q3Canvas::addItem
+224 Q3Canvas::addAnimation
+232 Q3Canvas::removeItem
+240 Q3Canvas::removeAnimation
+248 Q3Canvas::setAdvancePeriod
+256 Q3Canvas::setUpdatePeriod
+264 Q3Canvas::setDoubleBuffering
+272 Q3Canvas::advance
+280 Q3Canvas::update
+288 Q3Canvas::drawBackground
+296 Q3Canvas::drawForeground
+
+Class Q3Canvas
+ size=160 align=8
+ base size=154 base align=8
+Q3Canvas (0x7f62d9b153f0) 0
+ vptr=((& Q3Canvas::_ZTV8Q3Canvas) + 16u)
+ QObject (0x7f62d9b15460) 0
+ primary-for Q3Canvas (0x7f62d9b153f0)
+
+Vtable for Q3CanvasView
+Q3CanvasView::_ZTV12Q3CanvasView: 102u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12Q3CanvasView)
+16 Q3CanvasView::metaObject
+24 Q3CanvasView::qt_metacast
+32 Q3CanvasView::qt_metacall
+40 Q3CanvasView::~Q3CanvasView
+48 Q3CanvasView::~Q3CanvasView
+56 QFrame::event
+64 Q3ScrollView::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 Q3ScrollView::setVisible
+128 Q3CanvasView::sizeHint
+136 Q3ScrollView::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 Q3ScrollView::mousePressEvent
+168 Q3ScrollView::mouseReleaseEvent
+176 Q3ScrollView::mouseDoubleClickEvent
+184 Q3ScrollView::mouseMoveEvent
+192 Q3ScrollView::wheelEvent
+200 QWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 Q3Frame::paintEvent
+256 QWidget::moveEvent
+264 Q3ScrollView::resizeEvent
+272 QWidget::closeEvent
+280 Q3ScrollView::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QFrame::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 Q3ScrollView::focusNextPrevChild
+400 Q3ScrollView::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 Q3ScrollView::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 Q3ScrollView::frameChanged
+456 Q3Frame::drawFrame
+464 Q3CanvasView::drawContents
+472 Q3ScrollView::setResizePolicy
+480 Q3ScrollView::addChild
+488 Q3ScrollView::moveChild
+496 Q3ScrollView::setVScrollBarMode
+504 Q3ScrollView::setHScrollBarMode
+512 Q3ScrollView::setCornerWidget
+520 Q3ScrollView::setDragAutoScroll
+528 Q3ScrollView::resizeContents
+536 Q3ScrollView::setContentsPos
+544 Q3CanvasView::drawContents
+552 Q3ScrollView::drawContentsOffset
+560 Q3ScrollView::contentsMousePressEvent
+568 Q3ScrollView::contentsMouseReleaseEvent
+576 Q3ScrollView::contentsMouseDoubleClickEvent
+584 Q3ScrollView::contentsMouseMoveEvent
+592 Q3ScrollView::contentsDragEnterEvent
+600 Q3ScrollView::contentsDragMoveEvent
+608 Q3ScrollView::contentsDragLeaveEvent
+616 Q3ScrollView::contentsDropEvent
+624 Q3ScrollView::contentsWheelEvent
+632 Q3ScrollView::contentsContextMenuEvent
+640 Q3ScrollView::viewportPaintEvent
+648 Q3ScrollView::viewportResizeEvent
+656 Q3ScrollView::viewportMousePressEvent
+664 Q3ScrollView::viewportMouseReleaseEvent
+672 Q3ScrollView::viewportMouseDoubleClickEvent
+680 Q3ScrollView::viewportMouseMoveEvent
+688 Q3ScrollView::viewportDragEnterEvent
+696 Q3ScrollView::viewportDragMoveEvent
+704 Q3ScrollView::viewportDragLeaveEvent
+712 Q3ScrollView::viewportDropEvent
+720 Q3ScrollView::viewportWheelEvent
+728 Q3ScrollView::viewportContextMenuEvent
+736 Q3ScrollView::setMargins
+744 Q3ScrollView::setHBarGeometry
+752 Q3ScrollView::setVBarGeometry
+760 (int (*)(...))-0x00000000000000010
+768 (int (*)(...))(& _ZTI12Q3CanvasView)
+776 Q3CanvasView::_ZThn16_N12Q3CanvasViewD1Ev
+784 Q3CanvasView::_ZThn16_N12Q3CanvasViewD0Ev
+792 QWidget::_ZThn16_NK7QWidget7devTypeEv
+800 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+808 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class Q3CanvasView
+ size=72 align=8
+ base size=72 base align=8
+Q3CanvasView (0x7f62d9b55150) 0
+ vptr=((& Q3CanvasView::_ZTV12Q3CanvasView) + 16u)
+ Q3ScrollView (0x7f62d9b551c0) 0
+ primary-for Q3CanvasView (0x7f62d9b55150)
+ Q3Frame (0x7f62d9b55230) 0
+ primary-for Q3ScrollView (0x7f62d9b551c0)
+ QFrame (0x7f62d9b552a0) 0
+ primary-for Q3Frame (0x7f62d9b55230)
+ QWidget (0x7f62d9b52500) 0
+ primary-for QFrame (0x7f62d9b552a0)
+ QObject (0x7f62d9b55310) 0
+ primary-for QWidget (0x7f62d9b52500)
+ QPaintDevice (0x7f62d9b55380) 16
+ vptr=((& Q3CanvasView::_ZTV12Q3CanvasView) + 776u)
+
+Vtable for Q3CanvasPixmap
+Q3CanvasPixmap::_ZTV14Q3CanvasPixmap: 7u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14Q3CanvasPixmap)
+16 Q3CanvasPixmap::~Q3CanvasPixmap
+24 Q3CanvasPixmap::~Q3CanvasPixmap
+32 QPixmap::devType
+40 QPixmap::paintEngine
+48 QPixmap::metric
+
+Class Q3CanvasPixmap
+ size=40 align=8
+ base size=40 base align=8
+Q3CanvasPixmap (0x7f62d994e9a0) 0
+ vptr=((& Q3CanvasPixmap::_ZTV14Q3CanvasPixmap) + 16u)
+ QPixmap (0x7f62d994ea10) 0
+ primary-for Q3CanvasPixmap (0x7f62d994e9a0)
+ QPaintDevice (0x7f62d994ea80) 0
+ primary-for QPixmap (0x7f62d994ea10)
+
+Class Q3CanvasPixmapArray
+ size=16 align=8
+ base size=16 base align=8
+Q3CanvasPixmapArray (0x7f62d9954d20) 0
+
+Vtable for Q3CanvasSprite
+Q3CanvasSprite::_ZTV14Q3CanvasSprite: 26u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14Q3CanvasSprite)
+16 Q3CanvasSprite::~Q3CanvasSprite
+24 Q3CanvasSprite::~Q3CanvasSprite
+32 Q3CanvasItem::moveBy
+40 Q3CanvasItem::setAnimated
+48 Q3CanvasItem::setVelocity
+56 Q3CanvasSprite::advance
+64 Q3CanvasSprite::collidesWith
+72 Q3CanvasItem::setCanvas
+80 Q3CanvasSprite::draw
+88 Q3CanvasItem::setVisible
+96 Q3CanvasItem::setSelected
+104 Q3CanvasItem::setEnabled
+112 Q3CanvasItem::setActive
+120 Q3CanvasSprite::rtti
+128 Q3CanvasSprite::boundingRect
+136 Q3CanvasItem::boundingRectAdvanced
+144 Q3CanvasItem::chunks
+152 Q3CanvasSprite::addToChunks
+160 Q3CanvasSprite::removeFromChunks
+168 Q3CanvasSprite::changeChunks
+176 Q3CanvasSprite::collidesWith
+184 Q3CanvasSprite::move
+192 Q3CanvasSprite::setFrameAnimation
+200 Q3CanvasSprite::imageAdvanced
+
+Class Q3CanvasSprite
+ size=72 align=8
+ base size=72 base align=8
+Q3CanvasSprite (0x7f62d9963c40) 0
+ vptr=((& Q3CanvasSprite::_ZTV14Q3CanvasSprite) + 16u)
+ Q3CanvasItem (0x7f62d9963cb0) 0
+ primary-for Q3CanvasSprite (0x7f62d9963c40)
+
+Vtable for Q3CanvasPolygonalItem
+Q3CanvasPolygonalItem::_ZTV21Q3CanvasPolygonalItem: 28u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI21Q3CanvasPolygonalItem)
+16 Q3CanvasPolygonalItem::~Q3CanvasPolygonalItem
+24 Q3CanvasPolygonalItem::~Q3CanvasPolygonalItem
+32 Q3CanvasItem::moveBy
+40 Q3CanvasItem::setAnimated
+48 Q3CanvasItem::setVelocity
+56 Q3CanvasItem::advance
+64 Q3CanvasPolygonalItem::collidesWith
+72 Q3CanvasItem::setCanvas
+80 Q3CanvasPolygonalItem::draw
+88 Q3CanvasItem::setVisible
+96 Q3CanvasItem::setSelected
+104 Q3CanvasItem::setEnabled
+112 Q3CanvasItem::setActive
+120 Q3CanvasPolygonalItem::rtti
+128 Q3CanvasPolygonalItem::boundingRect
+136 Q3CanvasItem::boundingRectAdvanced
+144 Q3CanvasPolygonalItem::chunks
+152 Q3CanvasItem::addToChunks
+160 Q3CanvasItem::removeFromChunks
+168 Q3CanvasItem::changeChunks
+176 Q3CanvasPolygonalItem::collidesWith
+184 Q3CanvasPolygonalItem::setPen
+192 Q3CanvasPolygonalItem::setBrush
+200 __cxa_pure_virtual
+208 Q3CanvasPolygonalItem::areaPointsAdvanced
+216 __cxa_pure_virtual
+
+Class Q3CanvasPolygonalItem
+ size=80 align=8
+ base size=73 base align=8
+Q3CanvasPolygonalItem (0x7f62d9981380) 0
+ vptr=((& Q3CanvasPolygonalItem::_ZTV21Q3CanvasPolygonalItem) + 16u)
+ Q3CanvasItem (0x7f62d99813f0) 0
+ primary-for Q3CanvasPolygonalItem (0x7f62d9981380)
+
+Vtable for Q3CanvasRectangle
+Q3CanvasRectangle::_ZTV17Q3CanvasRectangle: 28u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17Q3CanvasRectangle)
+16 Q3CanvasRectangle::~Q3CanvasRectangle
+24 Q3CanvasRectangle::~Q3CanvasRectangle
+32 Q3CanvasItem::moveBy
+40 Q3CanvasItem::setAnimated
+48 Q3CanvasItem::setVelocity
+56 Q3CanvasItem::advance
+64 Q3CanvasRectangle::collidesWith
+72 Q3CanvasItem::setCanvas
+80 Q3CanvasPolygonalItem::draw
+88 Q3CanvasItem::setVisible
+96 Q3CanvasItem::setSelected
+104 Q3CanvasItem::setEnabled
+112 Q3CanvasItem::setActive
+120 Q3CanvasRectangle::rtti
+128 Q3CanvasPolygonalItem::boundingRect
+136 Q3CanvasItem::boundingRectAdvanced
+144 Q3CanvasRectangle::chunks
+152 Q3CanvasItem::addToChunks
+160 Q3CanvasItem::removeFromChunks
+168 Q3CanvasItem::changeChunks
+176 Q3CanvasRectangle::collidesWith
+184 Q3CanvasPolygonalItem::setPen
+192 Q3CanvasPolygonalItem::setBrush
+200 Q3CanvasRectangle::areaPoints
+208 Q3CanvasPolygonalItem::areaPointsAdvanced
+216 Q3CanvasRectangle::drawShape
+
+Class Q3CanvasRectangle
+ size=88 align=8
+ base size=84 base align=8
+Q3CanvasRectangle (0x7f62d9981700) 0
+ vptr=((& Q3CanvasRectangle::_ZTV17Q3CanvasRectangle) + 16u)
+ Q3CanvasPolygonalItem (0x7f62d9992000) 0
+ primary-for Q3CanvasRectangle (0x7f62d9981700)
+ Q3CanvasItem (0x7f62d9992070) 0
+ primary-for Q3CanvasPolygonalItem (0x7f62d9992000)
+
+Vtable for Q3CanvasPolygon
+Q3CanvasPolygon::_ZTV15Q3CanvasPolygon: 28u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15Q3CanvasPolygon)
+16 Q3CanvasPolygon::~Q3CanvasPolygon
+24 Q3CanvasPolygon::~Q3CanvasPolygon
+32 Q3CanvasPolygon::moveBy
+40 Q3CanvasItem::setAnimated
+48 Q3CanvasItem::setVelocity
+56 Q3CanvasItem::advance
+64 Q3CanvasPolygonalItem::collidesWith
+72 Q3CanvasItem::setCanvas
+80 Q3CanvasPolygonalItem::draw
+88 Q3CanvasItem::setVisible
+96 Q3CanvasItem::setSelected
+104 Q3CanvasItem::setEnabled
+112 Q3CanvasItem::setActive
+120 Q3CanvasPolygon::rtti
+128 Q3CanvasPolygonalItem::boundingRect
+136 Q3CanvasItem::boundingRectAdvanced
+144 Q3CanvasPolygonalItem::chunks
+152 Q3CanvasItem::addToChunks
+160 Q3CanvasItem::removeFromChunks
+168 Q3CanvasItem::changeChunks
+176 Q3CanvasPolygonalItem::collidesWith
+184 Q3CanvasPolygonalItem::setPen
+192 Q3CanvasPolygonalItem::setBrush
+200 Q3CanvasPolygon::areaPoints
+208 Q3CanvasPolygonalItem::areaPointsAdvanced
+216 Q3CanvasPolygon::drawShape
+
+Class Q3CanvasPolygon
+ size=88 align=8
+ base size=88 base align=8
+Q3CanvasPolygon (0x7f62d99a0380) 0
+ vptr=((& Q3CanvasPolygon::_ZTV15Q3CanvasPolygon) + 16u)
+ Q3CanvasPolygonalItem (0x7f62d99a03f0) 0
+ primary-for Q3CanvasPolygon (0x7f62d99a0380)
+ Q3CanvasItem (0x7f62d99a0460) 0
+ primary-for Q3CanvasPolygonalItem (0x7f62d99a03f0)
+
+Vtable for Q3CanvasSpline
+Q3CanvasSpline::_ZTV14Q3CanvasSpline: 28u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14Q3CanvasSpline)
+16 Q3CanvasSpline::~Q3CanvasSpline
+24 Q3CanvasSpline::~Q3CanvasSpline
+32 Q3CanvasPolygon::moveBy
+40 Q3CanvasItem::setAnimated
+48 Q3CanvasItem::setVelocity
+56 Q3CanvasItem::advance
+64 Q3CanvasPolygonalItem::collidesWith
+72 Q3CanvasItem::setCanvas
+80 Q3CanvasPolygonalItem::draw
+88 Q3CanvasItem::setVisible
+96 Q3CanvasItem::setSelected
+104 Q3CanvasItem::setEnabled
+112 Q3CanvasItem::setActive
+120 Q3CanvasSpline::rtti
+128 Q3CanvasPolygonalItem::boundingRect
+136 Q3CanvasItem::boundingRectAdvanced
+144 Q3CanvasPolygonalItem::chunks
+152 Q3CanvasItem::addToChunks
+160 Q3CanvasItem::removeFromChunks
+168 Q3CanvasItem::changeChunks
+176 Q3CanvasPolygonalItem::collidesWith
+184 Q3CanvasPolygonalItem::setPen
+192 Q3CanvasPolygonalItem::setBrush
+200 Q3CanvasPolygon::areaPoints
+208 Q3CanvasPolygonalItem::areaPointsAdvanced
+216 Q3CanvasPolygon::drawShape
+
+Class Q3CanvasSpline
+ size=104 align=8
+ base size=97 base align=8
+Q3CanvasSpline (0x7f62d99a0620) 0
+ vptr=((& Q3CanvasSpline::_ZTV14Q3CanvasSpline) + 16u)
+ Q3CanvasPolygon (0x7f62d99a0690) 0
+ primary-for Q3CanvasSpline (0x7f62d99a0620)
+ Q3CanvasPolygonalItem (0x7f62d99a0700) 0
+ primary-for Q3CanvasPolygon (0x7f62d99a0690)
+ Q3CanvasItem (0x7f62d99a0770) 0
+ primary-for Q3CanvasPolygonalItem (0x7f62d99a0700)
+
+Vtable for Q3CanvasLine
+Q3CanvasLine::_ZTV12Q3CanvasLine: 28u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12Q3CanvasLine)
+16 Q3CanvasLine::~Q3CanvasLine
+24 Q3CanvasLine::~Q3CanvasLine
+32 Q3CanvasLine::moveBy
+40 Q3CanvasItem::setAnimated
+48 Q3CanvasItem::setVelocity
+56 Q3CanvasItem::advance
+64 Q3CanvasPolygonalItem::collidesWith
+72 Q3CanvasItem::setCanvas
+80 Q3CanvasPolygonalItem::draw
+88 Q3CanvasItem::setVisible
+96 Q3CanvasItem::setSelected
+104 Q3CanvasItem::setEnabled
+112 Q3CanvasItem::setActive
+120 Q3CanvasLine::rtti
+128 Q3CanvasPolygonalItem::boundingRect
+136 Q3CanvasItem::boundingRectAdvanced
+144 Q3CanvasPolygonalItem::chunks
+152 Q3CanvasItem::addToChunks
+160 Q3CanvasItem::removeFromChunks
+168 Q3CanvasItem::changeChunks
+176 Q3CanvasPolygonalItem::collidesWith
+184 Q3CanvasLine::setPen
+192 Q3CanvasPolygonalItem::setBrush
+200 Q3CanvasLine::areaPoints
+208 Q3CanvasPolygonalItem::areaPointsAdvanced
+216 Q3CanvasLine::drawShape
+
+Class Q3CanvasLine
+ size=96 align=8
+ base size=92 base align=8
+Q3CanvasLine (0x7f62d99a0930) 0
+ vptr=((& Q3CanvasLine::_ZTV12Q3CanvasLine) + 16u)
+ Q3CanvasPolygonalItem (0x7f62d99a09a0) 0
+ primary-for Q3CanvasLine (0x7f62d99a0930)
+ Q3CanvasItem (0x7f62d99a0a10) 0
+ primary-for Q3CanvasPolygonalItem (0x7f62d99a09a0)
+
+Vtable for Q3CanvasEllipse
+Q3CanvasEllipse::_ZTV15Q3CanvasEllipse: 28u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15Q3CanvasEllipse)
+16 Q3CanvasEllipse::~Q3CanvasEllipse
+24 Q3CanvasEllipse::~Q3CanvasEllipse
+32 Q3CanvasItem::moveBy
+40 Q3CanvasItem::setAnimated
+48 Q3CanvasItem::setVelocity
+56 Q3CanvasItem::advance
+64 Q3CanvasEllipse::collidesWith
+72 Q3CanvasItem::setCanvas
+80 Q3CanvasPolygonalItem::draw
+88 Q3CanvasItem::setVisible
+96 Q3CanvasItem::setSelected
+104 Q3CanvasItem::setEnabled
+112 Q3CanvasItem::setActive
+120 Q3CanvasEllipse::rtti
+128 Q3CanvasPolygonalItem::boundingRect
+136 Q3CanvasItem::boundingRectAdvanced
+144 Q3CanvasPolygonalItem::chunks
+152 Q3CanvasItem::addToChunks
+160 Q3CanvasItem::removeFromChunks
+168 Q3CanvasItem::changeChunks
+176 Q3CanvasEllipse::collidesWith
+184 Q3CanvasPolygonalItem::setPen
+192 Q3CanvasPolygonalItem::setBrush
+200 Q3CanvasEllipse::areaPoints
+208 Q3CanvasPolygonalItem::areaPointsAdvanced
+216 Q3CanvasEllipse::drawShape
+
+Class Q3CanvasEllipse
+ size=96 align=8
+ base size=92 base align=8
+Q3CanvasEllipse (0x7f62d99b5380) 0
+ vptr=((& Q3CanvasEllipse::_ZTV15Q3CanvasEllipse) + 16u)
+ Q3CanvasPolygonalItem (0x7f62d99b53f0) 0
+ primary-for Q3CanvasEllipse (0x7f62d99b5380)
+ Q3CanvasItem (0x7f62d99b5460) 0
+ primary-for Q3CanvasPolygonalItem (0x7f62d99b53f0)
+
+Vtable for Q3CanvasText
+Q3CanvasText::_ZTV12Q3CanvasText: 23u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12Q3CanvasText)
+16 Q3CanvasText::~Q3CanvasText
+24 Q3CanvasText::~Q3CanvasText
+32 Q3CanvasText::moveBy
+40 Q3CanvasItem::setAnimated
+48 Q3CanvasItem::setVelocity
+56 Q3CanvasItem::advance
+64 Q3CanvasText::collidesWith
+72 Q3CanvasItem::setCanvas
+80 Q3CanvasText::draw
+88 Q3CanvasItem::setVisible
+96 Q3CanvasItem::setSelected
+104 Q3CanvasItem::setEnabled
+112 Q3CanvasItem::setActive
+120 Q3CanvasText::rtti
+128 Q3CanvasText::boundingRect
+136 Q3CanvasItem::boundingRectAdvanced
+144 Q3CanvasItem::chunks
+152 Q3CanvasText::addToChunks
+160 Q3CanvasText::removeFromChunks
+168 Q3CanvasText::changeChunks
+176 Q3CanvasText::collidesWith
+
+Class Q3CanvasText
+ size=128 align=8
+ base size=128 base align=8
+Q3CanvasText (0x7f62d99b5e00) 0
+ vptr=((& Q3CanvasText::_ZTV12Q3CanvasText) + 16u)
+ Q3CanvasItem (0x7f62d99b5e70) 0
+ primary-for Q3CanvasText (0x7f62d99b5e00)
+
+Vtable for Q3IconDragItem
+Q3IconDragItem::_ZTV14Q3IconDragItem: 6u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14Q3IconDragItem)
+16 Q3IconDragItem::~Q3IconDragItem
+24 Q3IconDragItem::~Q3IconDragItem
+32 Q3IconDragItem::data
+40 Q3IconDragItem::setData
+
+Class Q3IconDragItem
+ size=16 align=8
+ base size=16 base align=8
+Q3IconDragItem (0x7f62d99c5930) 0
+ vptr=((& Q3IconDragItem::_ZTV14Q3IconDragItem) + 16u)
+
+Vtable for Q3IconDrag
+Q3IconDrag::_ZTV10Q3IconDrag: 26u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10Q3IconDrag)
+16 Q3IconDrag::metaObject
+24 Q3IconDrag::qt_metacast
+32 Q3IconDrag::qt_metacall
+40 Q3IconDrag::~Q3IconDrag
+48 Q3IconDrag::~Q3IconDrag
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 Q3DragObject::setPixmap
+120 Q3DragObject::setPixmap
+128 Q3DragObject::drag
+136 Q3IconDrag::format
+144 Q3IconDrag::encodedData
+152 (int (*)(...))-0x00000000000000010
+160 (int (*)(...))(& _ZTI10Q3IconDrag)
+168 Q3IconDrag::_ZThn16_N10Q3IconDragD1Ev
+176 Q3IconDrag::_ZThn16_N10Q3IconDragD0Ev
+184 Q3IconDrag::_ZThn16_NK10Q3IconDrag6formatEi
+192 QMimeSource::provides
+200 Q3IconDrag::_ZThn16_NK10Q3IconDrag11encodedDataEPKc
+
+Class Q3IconDrag
+ size=40 align=8
+ base size=34 base align=8
+Q3IconDrag (0x7f62d99c5c40) 0
+ vptr=((& Q3IconDrag::_ZTV10Q3IconDrag) + 16u)
+ Q3DragObject (0x7f62d9990c00) 0
+ primary-for Q3IconDrag (0x7f62d99c5c40)
+ QObject (0x7f62d99c5cb0) 0
+ primary-for Q3DragObject (0x7f62d9990c00)
+ QMimeSource (0x7f62d99c5d20) 16 nearly-empty
+ vptr=((& Q3IconDrag::_ZTV10Q3IconDrag) + 168u)
+
+Vtable for Q3IconViewItem
+Q3IconViewItem::_ZTV14Q3IconViewItem: 35u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14Q3IconViewItem)
+16 Q3IconViewItem::~Q3IconViewItem
+24 Q3IconViewItem::~Q3IconViewItem
+32 Q3IconViewItem::setRenameEnabled
+40 Q3IconViewItem::setDragEnabled
+48 Q3IconViewItem::setDropEnabled
+56 Q3IconViewItem::text
+64 Q3IconViewItem::pixmap
+72 Q3IconViewItem::picture
+80 Q3IconViewItem::key
+88 Q3IconViewItem::setSelected
+96 Q3IconViewItem::setSelected
+104 Q3IconViewItem::setSelectable
+112 Q3IconViewItem::repaint
+120 Q3IconViewItem::move
+128 Q3IconViewItem::moveBy
+136 Q3IconViewItem::move
+144 Q3IconViewItem::moveBy
+152 Q3IconViewItem::acceptDrop
+160 Q3IconViewItem::compare
+168 Q3IconViewItem::setText
+176 Q3IconViewItem::setPixmap
+184 Q3IconViewItem::setPicture
+192 Q3IconViewItem::setText
+200 Q3IconViewItem::setPixmap
+208 Q3IconViewItem::setKey
+216 Q3IconViewItem::rtti
+224 Q3IconViewItem::removeRenameBox
+232 Q3IconViewItem::calcRect
+240 Q3IconViewItem::paintItem
+248 Q3IconViewItem::paintFocus
+256 Q3IconViewItem::dropped
+264 Q3IconViewItem::dragEntered
+272 Q3IconViewItem::dragLeft
+
+Class Q3IconViewItem
+ size=160 align=8
+ base size=160 base align=8
+Q3IconViewItem (0x7f62d99ddf50) 0
+ vptr=((& Q3IconViewItem::_ZTV14Q3IconViewItem) + 16u)
+
+Vtable for Q3IconView
+Q3IconView::_ZTV10Q3IconView: 139u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10Q3IconView)
+16 Q3IconView::metaObject
+24 Q3IconView::qt_metacast
+32 Q3IconView::qt_metacall
+40 Q3IconView::~Q3IconView
+48 Q3IconView::~Q3IconView
+56 QFrame::event
+64 Q3IconView::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 Q3ScrollView::setVisible
+128 Q3IconView::sizeHint
+136 Q3IconView::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 Q3ScrollView::mousePressEvent
+168 Q3ScrollView::mouseReleaseEvent
+176 Q3ScrollView::mouseDoubleClickEvent
+184 Q3ScrollView::mouseMoveEvent
+192 Q3ScrollView::wheelEvent
+200 Q3IconView::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 Q3IconView::focusInEvent
+224 Q3IconView::focusOutEvent
+232 Q3IconView::enterEvent
+240 QWidget::leaveEvent
+248 Q3Frame::paintEvent
+256 QWidget::moveEvent
+264 Q3IconView::resizeEvent
+272 QWidget::closeEvent
+280 Q3ScrollView::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 Q3IconView::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 Q3IconView::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 Q3IconView::inputMethodQuery
+392 Q3ScrollView::focusNextPrevChild
+400 Q3ScrollView::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 Q3ScrollView::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 Q3ScrollView::frameChanged
+456 Q3Frame::drawFrame
+464 Q3ScrollView::drawContents
+472 Q3ScrollView::setResizePolicy
+480 Q3ScrollView::addChild
+488 Q3ScrollView::moveChild
+496 Q3ScrollView::setVScrollBarMode
+504 Q3ScrollView::setHScrollBarMode
+512 Q3ScrollView::setCornerWidget
+520 Q3ScrollView::setDragAutoScroll
+528 Q3ScrollView::resizeContents
+536 Q3IconView::setContentsPos
+544 Q3IconView::drawContents
+552 Q3ScrollView::drawContentsOffset
+560 Q3IconView::contentsMousePressEvent
+568 Q3IconView::contentsMouseReleaseEvent
+576 Q3IconView::contentsMouseDoubleClickEvent
+584 Q3IconView::contentsMouseMoveEvent
+592 Q3IconView::contentsDragEnterEvent
+600 Q3IconView::contentsDragMoveEvent
+608 Q3IconView::contentsDragLeaveEvent
+616 Q3IconView::contentsDropEvent
+624 Q3ScrollView::contentsWheelEvent
+632 Q3IconView::contentsContextMenuEvent
+640 Q3ScrollView::viewportPaintEvent
+648 Q3ScrollView::viewportResizeEvent
+656 Q3ScrollView::viewportMousePressEvent
+664 Q3ScrollView::viewportMouseReleaseEvent
+672 Q3ScrollView::viewportMouseDoubleClickEvent
+680 Q3ScrollView::viewportMouseMoveEvent
+688 Q3ScrollView::viewportDragEnterEvent
+696 Q3ScrollView::viewportDragMoveEvent
+704 Q3ScrollView::viewportDragLeaveEvent
+712 Q3ScrollView::viewportDropEvent
+720 Q3ScrollView::viewportWheelEvent
+728 Q3ScrollView::viewportContextMenuEvent
+736 Q3ScrollView::setMargins
+744 Q3ScrollView::setHBarGeometry
+752 Q3ScrollView::setVBarGeometry
+760 Q3IconView::insertItem
+768 Q3IconView::takeItem
+776 Q3IconView::setCurrentItem
+784 Q3IconView::setSelected
+792 Q3IconView::setSelectionMode
+800 Q3IconView::selectAll
+808 Q3IconView::clearSelection
+816 Q3IconView::invertSelection
+824 Q3IconView::repaintItem
+832 Q3IconView::clear
+840 Q3IconView::setGridX
+848 Q3IconView::setGridY
+856 Q3IconView::setSpacing
+864 Q3IconView::setItemTextPos
+872 Q3IconView::setItemTextBackground
+880 Q3IconView::setArrangement
+888 Q3IconView::setResizeMode
+896 Q3IconView::setMaxItemWidth
+904 Q3IconView::setMaxItemTextLength
+912 Q3IconView::setAutoArrange
+920 Q3IconView::setShowToolTips
+928 Q3IconView::setItemsMovable
+936 Q3IconView::setWordWrapIconText
+944 Q3IconView::sort
+952 Q3IconView::arrangeItemsInGrid
+960 Q3IconView::arrangeItemsInGrid
+968 Q3IconView::updateContents
+976 Q3IconView::doAutoScroll
+984 Q3IconView::adjustItems
+992 Q3IconView::slotUpdate
+1000 Q3IconView::drawRubber
+1008 Q3IconView::dragObject
+1016 Q3IconView::startDrag
+1024 Q3IconView::insertInGrid
+1032 Q3IconView::drawBackground
+1040 Q3IconView::drawDragShapes
+1048 Q3IconView::initDragEnter
+1056 (int (*)(...))-0x00000000000000010
+1064 (int (*)(...))(& _ZTI10Q3IconView)
+1072 Q3IconView::_ZThn16_N10Q3IconViewD1Ev
+1080 Q3IconView::_ZThn16_N10Q3IconViewD0Ev
+1088 QWidget::_ZThn16_NK7QWidget7devTypeEv
+1096 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+1104 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class Q3IconView
+ size=64 align=8
+ base size=64 base align=8
+Q3IconView (0x7f62d99ebaf0) 0
+ vptr=((& Q3IconView::_ZTV10Q3IconView) + 16u)
+ Q3ScrollView (0x7f62d99ebb60) 0
+ primary-for Q3IconView (0x7f62d99ebaf0)
+ Q3Frame (0x7f62d99ebbd0) 0
+ primary-for Q3ScrollView (0x7f62d99ebb60)
+ QFrame (0x7f62d99ebc40) 0
+ primary-for Q3Frame (0x7f62d99ebbd0)
+ QWidget (0x7f62d99e7380) 0
+ primary-for QFrame (0x7f62d99ebc40)
+ QObject (0x7f62d99ebcb0) 0
+ primary-for QWidget (0x7f62d99e7380)
+ QPaintDevice (0x7f62d99ebd20) 16
+ vptr=((& Q3IconView::_ZTV10Q3IconView) + 1072u)
+
+Vtable for Q3ListBox
+Q3ListBox::_ZTV9Q3ListBox: 119u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9Q3ListBox)
+16 Q3ListBox::metaObject
+24 Q3ListBox::qt_metacast
+32 Q3ListBox::qt_metacall
+40 Q3ListBox::~Q3ListBox
+48 Q3ListBox::~Q3ListBox
+56 QFrame::event
+64 Q3ListBox::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 Q3ScrollView::setVisible
+128 Q3ListBox::sizeHint
+136 Q3ListBox::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 Q3ListBox::mousePressEvent
+168 Q3ListBox::mouseReleaseEvent
+176 Q3ListBox::mouseDoubleClickEvent
+184 Q3ListBox::mouseMoveEvent
+192 Q3ScrollView::wheelEvent
+200 Q3ListBox::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 Q3ListBox::focusInEvent
+224 Q3ListBox::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 Q3Frame::paintEvent
+256 QWidget::moveEvent
+264 Q3ListBox::resizeEvent
+272 QWidget::closeEvent
+280 Q3ScrollView::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 Q3ListBox::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 Q3ListBox::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 Q3ListBox::inputMethodQuery
+392 Q3ScrollView::focusNextPrevChild
+400 Q3ScrollView::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 Q3ScrollView::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 Q3ScrollView::frameChanged
+456 Q3Frame::drawFrame
+464 Q3ScrollView::drawContents
+472 Q3ScrollView::setResizePolicy
+480 Q3ScrollView::addChild
+488 Q3ScrollView::moveChild
+496 Q3ScrollView::setVScrollBarMode
+504 Q3ScrollView::setHScrollBarMode
+512 Q3ScrollView::setCornerWidget
+520 Q3ScrollView::setDragAutoScroll
+528 Q3ScrollView::resizeContents
+536 Q3ScrollView::setContentsPos
+544 Q3ScrollView::drawContents
+552 Q3ScrollView::drawContentsOffset
+560 Q3ScrollView::contentsMousePressEvent
+568 Q3ScrollView::contentsMouseReleaseEvent
+576 Q3ScrollView::contentsMouseDoubleClickEvent
+584 Q3ScrollView::contentsMouseMoveEvent
+592 Q3ScrollView::contentsDragEnterEvent
+600 Q3ScrollView::contentsDragMoveEvent
+608 Q3ScrollView::contentsDragLeaveEvent
+616 Q3ScrollView::contentsDropEvent
+624 Q3ScrollView::contentsWheelEvent
+632 Q3ListBox::contentsContextMenuEvent
+640 Q3ListBox::viewportPaintEvent
+648 Q3ScrollView::viewportResizeEvent
+656 Q3ScrollView::viewportMousePressEvent
+664 Q3ScrollView::viewportMouseReleaseEvent
+672 Q3ScrollView::viewportMouseDoubleClickEvent
+680 Q3ScrollView::viewportMouseMoveEvent
+688 Q3ScrollView::viewportDragEnterEvent
+696 Q3ScrollView::viewportDragMoveEvent
+704 Q3ScrollView::viewportDragLeaveEvent
+712 Q3ScrollView::viewportDropEvent
+720 Q3ScrollView::viewportWheelEvent
+728 Q3ScrollView::viewportContextMenuEvent
+736 Q3ScrollView::setMargins
+744 Q3ScrollView::setHBarGeometry
+752 Q3ScrollView::setVBarGeometry
+760 Q3ListBox::setCurrentItem
+768 Q3ListBox::setCurrentItem
+776 Q3ListBox::setTopItem
+784 Q3ListBox::setBottomItem
+792 Q3ListBox::setSelectionMode
+800 Q3ListBox::setSelected
+808 Q3ListBox::setColumnMode
+816 Q3ListBox::setColumnMode
+824 Q3ListBox::setRowMode
+832 Q3ListBox::setRowMode
+840 Q3ListBox::setVariableWidth
+848 Q3ListBox::setVariableHeight
+856 Q3ListBox::ensureCurrentVisible
+864 Q3ListBox::clearSelection
+872 Q3ListBox::selectAll
+880 Q3ListBox::invertSelection
+888 Q3ListBox::paintCell
+896 (int (*)(...))-0x00000000000000010
+904 (int (*)(...))(& _ZTI9Q3ListBox)
+912 Q3ListBox::_ZThn16_N9Q3ListBoxD1Ev
+920 Q3ListBox::_ZThn16_N9Q3ListBoxD0Ev
+928 QWidget::_ZThn16_NK7QWidget7devTypeEv
+936 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+944 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class Q3ListBox
+ size=64 align=8
+ base size=64 base align=8
+Q3ListBox (0x7f62d9859a80) 0
+ vptr=((& Q3ListBox::_ZTV9Q3ListBox) + 16u)
+ Q3ScrollView (0x7f62d9859af0) 0
+ primary-for Q3ListBox (0x7f62d9859a80)
+ Q3Frame (0x7f62d9859b60) 0
+ primary-for Q3ScrollView (0x7f62d9859af0)
+ QFrame (0x7f62d9859bd0) 0
+ primary-for Q3Frame (0x7f62d9859b60)
+ QWidget (0x7f62d9858480) 0
+ primary-for QFrame (0x7f62d9859bd0)
+ QObject (0x7f62d9859c40) 0
+ primary-for QWidget (0x7f62d9858480)
+ QPaintDevice (0x7f62d9859cb0) 16
+ vptr=((& Q3ListBox::_ZTV9Q3ListBox) + 912u)
+
+Vtable for Q3ListBoxItem
+Q3ListBoxItem::_ZTV13Q3ListBoxItem: 11u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13Q3ListBoxItem)
+16 Q3ListBoxItem::~Q3ListBoxItem
+24 Q3ListBoxItem::~Q3ListBoxItem
+32 Q3ListBoxItem::text
+40 Q3ListBoxItem::pixmap
+48 Q3ListBoxItem::height
+56 Q3ListBoxItem::width
+64 Q3ListBoxItem::rtti
+72 __cxa_pure_virtual
+80 Q3ListBoxItem::setText
+
+Class Q3ListBoxItem
+ size=48 align=8
+ base size=48 base align=8
+Q3ListBoxItem (0x7f62d98d3d90) 0
+ vptr=((& Q3ListBoxItem::_ZTV13Q3ListBoxItem) + 16u)
+
+Vtable for Q3ListBoxText
+Q3ListBoxText::_ZTV13Q3ListBoxText: 11u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13Q3ListBoxText)
+16 Q3ListBoxText::~Q3ListBoxText
+24 Q3ListBoxText::~Q3ListBoxText
+32 Q3ListBoxItem::text
+40 Q3ListBoxItem::pixmap
+48 Q3ListBoxText::height
+56 Q3ListBoxText::width
+64 Q3ListBoxText::rtti
+72 Q3ListBoxText::paint
+80 Q3ListBoxItem::setText
+
+Class Q3ListBoxText
+ size=48 align=8
+ base size=48 base align=8
+Q3ListBoxText (0x7f62d98f08c0) 0
+ vptr=((& Q3ListBoxText::_ZTV13Q3ListBoxText) + 16u)
+ Q3ListBoxItem (0x7f62d98f0930) 0
+ primary-for Q3ListBoxText (0x7f62d98f08c0)
+
+Vtable for Q3ListBoxPixmap
+Q3ListBoxPixmap::_ZTV15Q3ListBoxPixmap: 11u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15Q3ListBoxPixmap)
+16 Q3ListBoxPixmap::~Q3ListBoxPixmap
+24 Q3ListBoxPixmap::~Q3ListBoxPixmap
+32 Q3ListBoxItem::text
+40 Q3ListBoxPixmap::pixmap
+48 Q3ListBoxPixmap::height
+56 Q3ListBoxPixmap::width
+64 Q3ListBoxPixmap::rtti
+72 Q3ListBoxPixmap::paint
+80 Q3ListBoxItem::setText
+
+Class Q3ListBoxPixmap
+ size=72 align=8
+ base size=72 base align=8
+Q3ListBoxPixmap (0x7f62d98fa1c0) 0
+ vptr=((& Q3ListBoxPixmap::_ZTV15Q3ListBoxPixmap) + 16u)
+ Q3ListBoxItem (0x7f62d98fa230) 0
+ primary-for Q3ListBoxPixmap (0x7f62d98fa1c0)
+
+Vtable for Q3ListViewItem
+Q3ListViewItem::_ZTV14Q3ListViewItem: 41u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14Q3ListViewItem)
+16 Q3ListViewItem::~Q3ListViewItem
+24 Q3ListViewItem::~Q3ListViewItem
+32 Q3ListViewItem::insertItem
+40 Q3ListViewItem::takeItem
+48 Q3ListViewItem::removeItem
+56 Q3ListViewItem::invalidateHeight
+64 Q3ListViewItem::width
+72 Q3ListViewItem::setText
+80 Q3ListViewItem::text
+88 Q3ListViewItem::setPixmap
+96 Q3ListViewItem::pixmap
+104 Q3ListViewItem::key
+112 Q3ListViewItem::compare
+120 Q3ListViewItem::sortChildItems
+128 Q3ListViewItem::setOpen
+136 Q3ListViewItem::setup
+144 Q3ListViewItem::setSelected
+152 Q3ListViewItem::paintCell
+160 Q3ListViewItem::paintBranches
+168 Q3ListViewItem::paintFocus
+176 Q3ListViewItem::setSelectable
+184 Q3ListViewItem::setExpandable
+192 Q3ListViewItem::sort
+200 Q3ListViewItem::setDragEnabled
+208 Q3ListViewItem::setDropEnabled
+216 Q3ListViewItem::acceptDrop
+224 Q3ListViewItem::setRenameEnabled
+232 Q3ListViewItem::startRename
+240 Q3ListViewItem::setEnabled
+248 Q3ListViewItem::rtti
+256 Q3ListViewItem::setMultiLinesEnabled
+264 Q3ListViewItem::enforceSortOrder
+272 Q3ListViewItem::setHeight
+280 Q3ListViewItem::activate
+288 Q3ListViewItem::dropped
+296 Q3ListViewItem::dragEntered
+304 Q3ListViewItem::dragLeft
+312 Q3ListViewItem::okRename
+320 Q3ListViewItem::cancelRename
+
+Class Q3ListViewItem
+ size=72 align=8
+ base size=72 base align=8
+Q3ListViewItem (0x7f62d98fad90) 0
+ vptr=((& Q3ListViewItem::_ZTV14Q3ListViewItem) + 16u)
+
+Vtable for Q3ListView
+Q3ListView::_ZTV10Q3ListView: 134u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10Q3ListView)
+16 Q3ListView::metaObject
+24 Q3ListView::qt_metacast
+32 Q3ListView::qt_metacall
+40 Q3ListView::~Q3ListView
+48 Q3ListView::~Q3ListView
+56 QFrame::event
+64 Q3ListView::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 Q3ScrollView::setVisible
+128 Q3ListView::sizeHint
+136 Q3ListView::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 Q3ScrollView::mousePressEvent
+168 Q3ScrollView::mouseReleaseEvent
+176 Q3ScrollView::mouseDoubleClickEvent
+184 Q3ScrollView::mouseMoveEvent
+192 Q3ScrollView::wheelEvent
+200 Q3ListView::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 Q3ListView::focusInEvent
+224 Q3ListView::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 Q3Frame::paintEvent
+256 QWidget::moveEvent
+264 Q3ListView::resizeEvent
+272 QWidget::closeEvent
+280 Q3ScrollView::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 Q3ListView::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 Q3ListView::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 Q3ListView::inputMethodQuery
+392 Q3ScrollView::focusNextPrevChild
+400 Q3ScrollView::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 Q3ScrollView::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 Q3ScrollView::frameChanged
+456 Q3Frame::drawFrame
+464 Q3ScrollView::drawContents
+472 Q3ScrollView::setResizePolicy
+480 Q3ScrollView::addChild
+488 Q3ScrollView::moveChild
+496 Q3ScrollView::setVScrollBarMode
+504 Q3ScrollView::setHScrollBarMode
+512 Q3ScrollView::setCornerWidget
+520 Q3ScrollView::setDragAutoScroll
+528 Q3ScrollView::resizeContents
+536 Q3ListView::setContentsPos
+544 Q3ScrollView::drawContents
+552 Q3ListView::drawContentsOffset
+560 Q3ListView::contentsMousePressEvent
+568 Q3ListView::contentsMouseReleaseEvent
+576 Q3ListView::contentsMouseDoubleClickEvent
+584 Q3ListView::contentsMouseMoveEvent
+592 Q3ListView::contentsDragEnterEvent
+600 Q3ListView::contentsDragMoveEvent
+608 Q3ListView::contentsDragLeaveEvent
+616 Q3ListView::contentsDropEvent
+624 Q3ScrollView::contentsWheelEvent
+632 Q3ListView::contentsContextMenuEvent
+640 Q3ScrollView::viewportPaintEvent
+648 Q3ListView::viewportResizeEvent
+656 Q3ScrollView::viewportMousePressEvent
+664 Q3ScrollView::viewportMouseReleaseEvent
+672 Q3ScrollView::viewportMouseDoubleClickEvent
+680 Q3ScrollView::viewportMouseMoveEvent
+688 Q3ScrollView::viewportDragEnterEvent
+696 Q3ScrollView::viewportDragMoveEvent
+704 Q3ScrollView::viewportDragLeaveEvent
+712 Q3ScrollView::viewportDropEvent
+720 Q3ScrollView::viewportWheelEvent
+728 Q3ScrollView::viewportContextMenuEvent
+736 Q3ScrollView::setMargins
+744 Q3ScrollView::setHBarGeometry
+752 Q3ScrollView::setVBarGeometry
+760 Q3ListView::setTreeStepSize
+768 Q3ListView::insertItem
+776 Q3ListView::takeItem
+784 Q3ListView::removeItem
+792 Q3ListView::addColumn
+800 Q3ListView::addColumn
+808 Q3ListView::removeColumn
+816 Q3ListView::setColumnText
+824 Q3ListView::setColumnText
+832 Q3ListView::setColumnWidth
+840 Q3ListView::setColumnWidthMode
+848 Q3ListView::setColumnAlignment
+856 Q3ListView::setMultiSelection
+864 Q3ListView::clearSelection
+872 Q3ListView::setSelected
+880 Q3ListView::setOpen
+888 Q3ListView::setCurrentItem
+896 Q3ListView::setAllColumnsShowFocus
+904 Q3ListView::setItemMargin
+912 Q3ListView::setRootIsDecorated
+920 Q3ListView::setSorting
+928 Q3ListView::sort
+936 Q3ListView::setShowSortIndicator
+944 Q3ListView::setShowToolTips
+952 Q3ListView::setResizeMode
+960 Q3ListView::setDefaultRenameAction
+968 Q3ListView::clear
+976 Q3ListView::invertSelection
+984 Q3ListView::selectAll
+992 Q3ListView::dragObject
+1000 Q3ListView::startDrag
+1008 Q3ListView::paintEmptyArea
+1016 (int (*)(...))-0x00000000000000010
+1024 (int (*)(...))(& _ZTI10Q3ListView)
+1032 Q3ListView::_ZThn16_N10Q3ListViewD1Ev
+1040 Q3ListView::_ZThn16_N10Q3ListViewD0Ev
+1048 QWidget::_ZThn16_NK7QWidget7devTypeEv
+1056 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+1064 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class Q3ListView
+ size=64 align=8
+ base size=64 base align=8
+Q3ListView (0x7f62d974a7e0) 0
+ vptr=((& Q3ListView::_ZTV10Q3ListView) + 16u)
+ Q3ScrollView (0x7f62d974a850) 0
+ primary-for Q3ListView (0x7f62d974a7e0)
+ Q3Frame (0x7f62d974a8c0) 0
+ primary-for Q3ScrollView (0x7f62d974a850)
+ QFrame (0x7f62d974a930) 0
+ primary-for Q3Frame (0x7f62d974a8c0)
+ QWidget (0x7f62d9746680) 0
+ primary-for QFrame (0x7f62d974a930)
+ QObject (0x7f62d974a9a0) 0
+ primary-for QWidget (0x7f62d9746680)
+ QPaintDevice (0x7f62d974aa10) 16
+ vptr=((& Q3ListView::_ZTV10Q3ListView) + 1032u)
+
+Vtable for Q3CheckListItem
+Q3CheckListItem::_ZTV15Q3CheckListItem: 43u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15Q3CheckListItem)
+16 Q3CheckListItem::~Q3CheckListItem
+24 Q3CheckListItem::~Q3CheckListItem
+32 Q3ListViewItem::insertItem
+40 Q3ListViewItem::takeItem
+48 Q3ListViewItem::removeItem
+56 Q3ListViewItem::invalidateHeight
+64 Q3CheckListItem::width
+72 Q3ListViewItem::setText
+80 Q3CheckListItem::text
+88 Q3ListViewItem::setPixmap
+96 Q3ListViewItem::pixmap
+104 Q3ListViewItem::key
+112 Q3ListViewItem::compare
+120 Q3ListViewItem::sortChildItems
+128 Q3ListViewItem::setOpen
+136 Q3CheckListItem::setup
+144 Q3ListViewItem::setSelected
+152 Q3CheckListItem::paintCell
+160 Q3ListViewItem::paintBranches
+168 Q3CheckListItem::paintFocus
+176 Q3ListViewItem::setSelectable
+184 Q3ListViewItem::setExpandable
+192 Q3ListViewItem::sort
+200 Q3ListViewItem::setDragEnabled
+208 Q3ListViewItem::setDropEnabled
+216 Q3ListViewItem::acceptDrop
+224 Q3ListViewItem::setRenameEnabled
+232 Q3ListViewItem::startRename
+240 Q3ListViewItem::setEnabled
+248 Q3CheckListItem::rtti
+256 Q3ListViewItem::setMultiLinesEnabled
+264 Q3ListViewItem::enforceSortOrder
+272 Q3ListViewItem::setHeight
+280 Q3CheckListItem::activate
+288 Q3ListViewItem::dropped
+296 Q3ListViewItem::dragEntered
+304 Q3ListViewItem::dragLeft
+312 Q3ListViewItem::okRename
+320 Q3ListViewItem::cancelRename
+328 Q3CheckListItem::setOn
+336 Q3CheckListItem::stateChange
+
+Class Q3CheckListItem
+ size=88 align=8
+ base size=88 base align=8
+Q3CheckListItem (0x7f62d9798a80) 0
+ vptr=((& Q3CheckListItem::_ZTV15Q3CheckListItem) + 16u)
+ Q3ListViewItem (0x7f62d9798af0) 0
+ primary-for Q3CheckListItem (0x7f62d9798a80)
+
+Class Q3ListViewItemIterator
+ size=24 align=8
+ base size=20 base align=8
+Q3ListViewItemIterator (0x7f62d97bf460) 0
+
+Class Q3Dns::MailServer
+ size=16 align=8
+ base size=10 base align=8
+Q3Dns::MailServer (0x7f62d97c8bd0) 0
+
+Class Q3Dns::Server
+ size=16 align=8
+ base size=14 base align=8
+Q3Dns::Server (0x7f62d97d81c0) 0
+
+Vtable for Q3Dns
+Q3Dns::_ZTV5Q3Dns: 17u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI5Q3Dns)
+16 Q3Dns::metaObject
+24 Q3Dns::qt_metacast
+32 Q3Dns::qt_metacall
+40 Q3Dns::~Q3Dns
+48 Q3Dns::~Q3Dns
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 Q3Dns::setLabel
+120 Q3Dns::setLabel
+128 Q3Dns::setRecordType
+
+Class Q3Dns
+ size=48 align=8
+ base size=48 base align=8
+Q3Dns (0x7f62d97c8620) 0
+ vptr=((& Q3Dns::_ZTV5Q3Dns) + 16u)
+ QObject (0x7f62d97c8690) 0
+ primary-for Q3Dns (0x7f62d97c8620)
+
+Vtable for Q3DnsSocket
+Q3DnsSocket::_ZTV11Q3DnsSocket: 17u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11Q3DnsSocket)
+16 Q3DnsSocket::metaObject
+24 Q3DnsSocket::qt_metacast
+32 Q3DnsSocket::qt_metacall
+40 Q3DnsSocket::~Q3DnsSocket
+48 Q3DnsSocket::~Q3DnsSocket
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 Q3DnsSocket::cleanCache
+120 Q3DnsSocket::retransmit
+128 Q3DnsSocket::answer
+
+Class Q3DnsSocket
+ size=16 align=8
+ base size=16 base align=8
+Q3DnsSocket (0x7f62d97f72a0) 0
+ vptr=((& Q3DnsSocket::_ZTV11Q3DnsSocket) + 16u)
+ QObject (0x7f62d97f7310) 0
+ primary-for Q3DnsSocket (0x7f62d97f72a0)
+
+Vtable for Q3Ftp
+Q3Ftp::_ZTV5Q3Ftp: 29u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI5Q3Ftp)
+16 Q3Ftp::metaObject
+24 Q3Ftp::qt_metacast
+32 Q3Ftp::qt_metacall
+40 Q3Ftp::~Q3Ftp
+48 Q3Ftp::~Q3Ftp
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 Q3NetworkProtocol::setUrl
+120 Q3NetworkProtocol::setAutoDelete
+128 Q3Ftp::supportedOperations
+136 Q3NetworkProtocol::addOperation
+144 Q3NetworkProtocol::clearOperationQueue
+152 Q3NetworkProtocol::stop
+160 Q3NetworkProtocol::processOperation
+168 Q3Ftp::operationListChildren
+176 Q3Ftp::operationMkDir
+184 Q3Ftp::operationRemove
+192 Q3Ftp::operationRename
+200 Q3Ftp::operationGet
+208 Q3Ftp::operationPut
+216 Q3NetworkProtocol::operationPutChunk
+224 Q3Ftp::checkConnection
+
+Class Q3Ftp
+ size=72 align=8
+ base size=65 base align=8
+Q3Ftp (0x7f62d98091c0) 0
+ vptr=((& Q3Ftp::_ZTV5Q3Ftp) + 16u)
+ Q3NetworkProtocol (0x7f62d9809230) 0
+ primary-for Q3Ftp (0x7f62d98091c0)
+ QObject (0x7f62d98092a0) 0
+ primary-for Q3NetworkProtocol (0x7f62d9809230)
+
+Vtable for Q3HttpHeader
+Q3HttpHeader::_ZTV12Q3HttpHeader: 8u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12Q3HttpHeader)
+16 Q3HttpHeader::~Q3HttpHeader
+24 Q3HttpHeader::~Q3HttpHeader
+32 Q3HttpHeader::toString
+40 __cxa_pure_virtual
+48 __cxa_pure_virtual
+56 Q3HttpHeader::parseLine
+
+Class Q3HttpHeader
+ size=24 align=8
+ base size=17 base align=8
+Q3HttpHeader (0x7f62d9831700) 0
+ vptr=((& Q3HttpHeader::_ZTV12Q3HttpHeader) + 16u)
+
+Vtable for Q3HttpResponseHeader
+Q3HttpResponseHeader::_ZTV20Q3HttpResponseHeader: 8u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI20Q3HttpResponseHeader)
+16 Q3HttpResponseHeader::~Q3HttpResponseHeader
+24 Q3HttpResponseHeader::~Q3HttpResponseHeader
+32 Q3HttpResponseHeader::toString
+40 Q3HttpResponseHeader::majorVersion
+48 Q3HttpResponseHeader::minorVersion
+56 Q3HttpResponseHeader::parseLine
+
+Class Q3HttpResponseHeader
+ size=40 align=8
+ base size=40 base align=8
+Q3HttpResponseHeader (0x7f62d9831ee0) 0
+ vptr=((& Q3HttpResponseHeader::_ZTV20Q3HttpResponseHeader) + 16u)
+ Q3HttpHeader (0x7f62d9831f50) 0
+ primary-for Q3HttpResponseHeader (0x7f62d9831ee0)
+
+Vtable for Q3HttpRequestHeader
+Q3HttpRequestHeader::_ZTV19Q3HttpRequestHeader: 8u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19Q3HttpRequestHeader)
+16 Q3HttpRequestHeader::~Q3HttpRequestHeader
+24 Q3HttpRequestHeader::~Q3HttpRequestHeader
+32 Q3HttpRequestHeader::toString
+40 Q3HttpRequestHeader::majorVersion
+48 Q3HttpRequestHeader::minorVersion
+56 Q3HttpRequestHeader::parseLine
+
+Class Q3HttpRequestHeader
+ size=48 align=8
+ base size=48 base align=8
+Q3HttpRequestHeader (0x7f62d9660310) 0
+ vptr=((& Q3HttpRequestHeader::_ZTV19Q3HttpRequestHeader) + 16u)
+ Q3HttpHeader (0x7f62d9660380) 0
+ primary-for Q3HttpRequestHeader (0x7f62d9660310)
+
+Vtable for Q3Http
+Q3Http::_ZTV6Q3Http: 29u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI6Q3Http)
+16 Q3Http::metaObject
+24 Q3Http::qt_metacast
+32 Q3Http::qt_metacall
+40 Q3Http::~Q3Http
+48 Q3Http::~Q3Http
+56 QObject::event
+64 QObject::eventFilter
+72 Q3Http::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 Q3NetworkProtocol::setUrl
+120 Q3NetworkProtocol::setAutoDelete
+128 Q3Http::supportedOperations
+136 Q3NetworkProtocol::addOperation
+144 Q3NetworkProtocol::clearOperationQueue
+152 Q3NetworkProtocol::stop
+160 Q3NetworkProtocol::processOperation
+168 Q3NetworkProtocol::operationListChildren
+176 Q3NetworkProtocol::operationMkDir
+184 Q3NetworkProtocol::operationRemove
+192 Q3NetworkProtocol::operationRename
+200 Q3Http::operationGet
+208 Q3Http::operationPut
+216 Q3NetworkProtocol::operationPutChunk
+224 Q3NetworkProtocol::checkConnection
+
+Class Q3Http
+ size=48 align=8
+ base size=44 base align=8
+Q3Http (0x7f62d9660700) 0
+ vptr=((& Q3Http::_ZTV6Q3Http) + 16u)
+ Q3NetworkProtocol (0x7f62d9660770) 0
+ primary-for Q3Http (0x7f62d9660700)
+ QObject (0x7f62d96607e0) 0
+ primary-for Q3NetworkProtocol (0x7f62d9660770)
+
+Vtable for Q3LocalFs
+Q3LocalFs::_ZTV9Q3LocalFs: 29u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9Q3LocalFs)
+16 Q3LocalFs::metaObject
+24 Q3LocalFs::qt_metacast
+32 Q3LocalFs::qt_metacall
+40 Q3LocalFs::~Q3LocalFs
+48 Q3LocalFs::~Q3LocalFs
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 Q3NetworkProtocol::setUrl
+120 Q3NetworkProtocol::setAutoDelete
+128 Q3LocalFs::supportedOperations
+136 Q3NetworkProtocol::addOperation
+144 Q3NetworkProtocol::clearOperationQueue
+152 Q3NetworkProtocol::stop
+160 Q3NetworkProtocol::processOperation
+168 Q3LocalFs::operationListChildren
+176 Q3LocalFs::operationMkDir
+184 Q3LocalFs::operationRemove
+192 Q3LocalFs::operationRename
+200 Q3LocalFs::operationGet
+208 Q3LocalFs::operationPut
+216 Q3NetworkProtocol::operationPutChunk
+224 Q3NetworkProtocol::checkConnection
+
+Class Q3LocalFs
+ size=32 align=8
+ base size=32 base align=8
+Q3LocalFs (0x7f62d96909a0) 0
+ vptr=((& Q3LocalFs::_ZTV9Q3LocalFs) + 16u)
+ Q3NetworkProtocol (0x7f62d9690a10) 0
+ primary-for Q3LocalFs (0x7f62d96909a0)
+ QObject (0x7f62d9690a80) 0
+ primary-for Q3NetworkProtocol (0x7f62d9690a10)
+
+Vtable for Q3SocketDevice
+Q3SocketDevice::_ZTV14Q3SocketDevice: 41u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14Q3SocketDevice)
+16 QIODevice::metaObject
+24 QIODevice::qt_metacast
+32 QIODevice::qt_metacall
+40 Q3SocketDevice::~Q3SocketDevice
+48 Q3SocketDevice::~Q3SocketDevice
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 Q3SocketDevice::isSequential
+120 Q3SocketDevice::open
+128 Q3SocketDevice::close
+136 QIODevice::pos
+144 Q3SocketDevice::size
+152 QIODevice::seek
+160 Q3SocketDevice::atEnd
+168 QIODevice::reset
+176 Q3SocketDevice::bytesAvailable
+184 QIODevice::bytesToWrite
+192 QIODevice::canReadLine
+200 QIODevice::waitForReadyRead
+208 QIODevice::waitForBytesWritten
+216 Q3SocketDevice::readData
+224 QIODevice::readLineData
+232 Q3SocketDevice::writeData
+240 Q3SocketDevice::setSocket
+248 Q3SocketDevice::setBlocking
+256 Q3SocketDevice::setAddressReusable
+264 Q3SocketDevice::setReceiveBufferSize
+272 Q3SocketDevice::setSendBufferSize
+280 Q3SocketDevice::connect
+288 Q3SocketDevice::bind
+296 Q3SocketDevice::listen
+304 Q3SocketDevice::accept
+312 Q3SocketDevice::writeBlock
+320 Q3SocketDevice::setOption
+
+Class Q3SocketDevice
+ size=72 align=8
+ base size=72 base align=8
+Q3SocketDevice (0x7f62d96a37e0) 0
+ vptr=((& Q3SocketDevice::_ZTV14Q3SocketDevice) + 16u)
+ QIODevice (0x7f62d96a3850) 0
+ primary-for Q3SocketDevice (0x7f62d96a37e0)
+ QObject (0x7f62d96a38c0) 0
+ primary-for QIODevice (0x7f62d96a3850)
+
+Vtable for Q3ServerSocket
+Q3ServerSocket::_ZTV14Q3ServerSocket: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14Q3ServerSocket)
+16 Q3ServerSocket::metaObject
+24 Q3ServerSocket::qt_metacast
+32 Q3ServerSocket::qt_metacall
+40 Q3ServerSocket::~Q3ServerSocket
+48 Q3ServerSocket::~Q3ServerSocket
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 Q3ServerSocket::setSocket
+120 __cxa_pure_virtual
+
+Class Q3ServerSocket
+ size=24 align=8
+ base size=24 base align=8
+Q3ServerSocket (0x7f62d96c4ee0) 0
+ vptr=((& Q3ServerSocket::_ZTV14Q3ServerSocket) + 16u)
+ QObject (0x7f62d96c4f50) 0
+ primary-for Q3ServerSocket (0x7f62d96c4ee0)
+
+Vtable for Q3Socket
+Q3Socket::_ZTV8Q3Socket: 35u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI8Q3Socket)
+16 Q3Socket::metaObject
+24 Q3Socket::qt_metacast
+32 Q3Socket::qt_metacall
+40 Q3Socket::~Q3Socket
+48 Q3Socket::~Q3Socket
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 Q3Socket::isSequential
+120 Q3Socket::open
+128 Q3Socket::close
+136 QIODevice::pos
+144 Q3Socket::size
+152 QIODevice::seek
+160 Q3Socket::atEnd
+168 QIODevice::reset
+176 Q3Socket::bytesAvailable
+184 Q3Socket::bytesToWrite
+192 Q3Socket::canReadLine
+200 QIODevice::waitForReadyRead
+208 QIODevice::waitForBytesWritten
+216 Q3Socket::readData
+224 QIODevice::readLineData
+232 Q3Socket::writeData
+240 Q3Socket::setSocket
+248 Q3Socket::setSocketDevice
+256 Q3Socket::connectToHost
+264 Q3Socket::sn_read
+272 Q3Socket::sn_write
+
+Class Q3Socket
+ size=24 align=8
+ base size=24 base align=8
+Q3Socket (0x7f62d96d2380) 0
+ vptr=((& Q3Socket::_ZTV8Q3Socket) + 16u)
+ QIODevice (0x7f62d96e4000) 0
+ primary-for Q3Socket (0x7f62d96d2380)
+ QObject (0x7f62d96e4070) 0
+ primary-for QIODevice (0x7f62d96e4000)
+
+Vtable for Q3Action
+Q3Action::_ZTV8Q3Action: 29u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI8Q3Action)
+16 Q3Action::metaObject
+24 Q3Action::qt_metacast
+32 Q3Action::qt_metacall
+40 Q3Action::~Q3Action
+48 Q3Action::~Q3Action
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 Q3Action::setIconSet
+120 Q3Action::setText
+128 Q3Action::setMenuText
+136 Q3Action::setToolTip
+144 Q3Action::setStatusTip
+152 Q3Action::setWhatsThis
+160 Q3Action::setAccel
+168 Q3Action::setToggleAction
+176 Q3Action::addTo
+184 Q3Action::removeFrom
+192 Q3Action::addedTo
+200 Q3Action::addedTo
+208 Q3Action::setOn
+216 Q3Action::setEnabled
+224 Q3Action::setVisible
+
+Class Q3Action
+ size=24 align=8
+ base size=24 base align=8
+Q3Action (0x7f62d9705e70) 0
+ vptr=((& Q3Action::_ZTV8Q3Action) + 16u)
+ QObject (0x7f62d9705ee0) 0
+ primary-for Q3Action (0x7f62d9705e70)
+
+Vtable for Q3ActionGroup
+Q3ActionGroup::_ZTV13Q3ActionGroup: 31u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13Q3ActionGroup)
+16 Q3ActionGroup::metaObject
+24 Q3ActionGroup::qt_metacast
+32 Q3ActionGroup::qt_metacall
+40 Q3ActionGroup::~Q3ActionGroup
+48 Q3ActionGroup::~Q3ActionGroup
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 Q3ActionGroup::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 Q3ActionGroup::setIconSet
+120 Q3ActionGroup::setText
+128 Q3ActionGroup::setMenuText
+136 Q3ActionGroup::setToolTip
+144 Q3Action::setStatusTip
+152 Q3ActionGroup::setWhatsThis
+160 Q3Action::setAccel
+168 Q3ActionGroup::setToggleAction
+176 Q3ActionGroup::addTo
+184 Q3ActionGroup::removeFrom
+192 Q3ActionGroup::addedTo
+200 Q3ActionGroup::addedTo
+208 Q3ActionGroup::setOn
+216 Q3ActionGroup::setEnabled
+224 Q3ActionGroup::setVisible
+232 Q3ActionGroup::addedTo
+240 Q3ActionGroup::addedTo
+
+Class Q3ActionGroup
+ size=32 align=8
+ base size=32 base align=8
+Q3ActionGroup (0x7f62d972d700) 0
+ vptr=((& Q3ActionGroup::_ZTV13Q3ActionGroup) + 16u)
+ Q3Action (0x7f62d972d770) 0
+ primary-for Q3ActionGroup (0x7f62d972d700)
+ QObject (0x7f62d972d7e0) 0
+ primary-for Q3Action (0x7f62d972d770)
+
+Vtable for Q3Button
+Q3Button::_ZTV8Q3Button: 68u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI8Q3Button)
+16 Q3Button::metaObject
+24 Q3Button::qt_metacast
+32 Q3Button::qt_metacall
+40 Q3Button::~Q3Button
+48 Q3Button::~Q3Button
+56 QAbstractButton::event
+64 QObject::eventFilter
+72 QAbstractButton::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QWidget::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QAbstractButton::mousePressEvent
+168 QAbstractButton::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QAbstractButton::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QAbstractButton::keyPressEvent
+208 QAbstractButton::keyReleaseEvent
+216 QAbstractButton::focusInEvent
+224 QAbstractButton::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 Q3Button::paintEvent
+256 QWidget::moveEvent
+264 QWidget::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QAbstractButton::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QAbstractButton::hitButton
+456 QAbstractButton::checkStateSet
+464 QAbstractButton::nextCheckState
+472 Q3Button::drawButton
+480 Q3Button::drawButtonLabel
+488 (int (*)(...))-0x00000000000000010
+496 (int (*)(...))(& _ZTI8Q3Button)
+504 Q3Button::_ZThn16_N8Q3ButtonD1Ev
+512 Q3Button::_ZThn16_N8Q3ButtonD0Ev
+520 QWidget::_ZThn16_NK7QWidget7devTypeEv
+528 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+536 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class Q3Button
+ size=40 align=8
+ base size=40 base align=8
+Q3Button (0x7f62d954e230) 0
+ vptr=((& Q3Button::_ZTV8Q3Button) + 16u)
+ QAbstractButton (0x7f62d954e2a0) 0
+ primary-for Q3Button (0x7f62d954e230)
+ QWidget (0x7f62d9728c80) 0
+ primary-for QAbstractButton (0x7f62d954e2a0)
+ QObject (0x7f62d954e310) 0
+ primary-for QWidget (0x7f62d9728c80)
+ QPaintDevice (0x7f62d954e380) 16
+ vptr=((& Q3Button::_ZTV8Q3Button) + 504u)
+
+Vtable for Q3GroupBox
+Q3GroupBox::_ZTV10Q3GroupBox: 64u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10Q3GroupBox)
+16 Q3GroupBox::metaObject
+24 Q3GroupBox::qt_metacast
+32 Q3GroupBox::qt_metacall
+40 Q3GroupBox::~Q3GroupBox
+48 Q3GroupBox::~Q3GroupBox
+56 Q3GroupBox::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 Q3GroupBox::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QWidget::sizeHint
+136 QGroupBox::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QGroupBox::mousePressEvent
+168 QGroupBox::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QGroupBox::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QGroupBox::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QGroupBox::paintEvent
+256 QWidget::moveEvent
+264 Q3GroupBox::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 Q3GroupBox::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 Q3GroupBox::setColumnLayout
+456 (int (*)(...))-0x00000000000000010
+464 (int (*)(...))(& _ZTI10Q3GroupBox)
+472 Q3GroupBox::_ZThn16_N10Q3GroupBoxD1Ev
+480 Q3GroupBox::_ZThn16_N10Q3GroupBoxD0Ev
+488 QWidget::_ZThn16_NK7QWidget7devTypeEv
+496 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+504 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class Q3GroupBox
+ size=48 align=8
+ base size=48 base align=8
+Q3GroupBox (0x7f62d9566230) 0
+ vptr=((& Q3GroupBox::_ZTV10Q3GroupBox) + 16u)
+ QGroupBox (0x7f62d95662a0) 0
+ primary-for Q3GroupBox (0x7f62d9566230)
+ QWidget (0x7f62d955d380) 0
+ primary-for QGroupBox (0x7f62d95662a0)
+ QObject (0x7f62d9566310) 0
+ primary-for QWidget (0x7f62d955d380)
+ QPaintDevice (0x7f62d9566380) 16
+ vptr=((& Q3GroupBox::_ZTV10Q3GroupBox) + 472u)
+
+Vtable for Q3ButtonGroup
+Q3ButtonGroup::_ZTV13Q3ButtonGroup: 64u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13Q3ButtonGroup)
+16 Q3ButtonGroup::metaObject
+24 Q3ButtonGroup::qt_metacast
+32 Q3ButtonGroup::qt_metacall
+40 Q3ButtonGroup::~Q3ButtonGroup
+48 Q3ButtonGroup::~Q3ButtonGroup
+56 Q3ButtonGroup::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 Q3GroupBox::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QWidget::sizeHint
+136 QGroupBox::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QGroupBox::mousePressEvent
+168 QGroupBox::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QGroupBox::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QGroupBox::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QGroupBox::paintEvent
+256 QWidget::moveEvent
+264 Q3GroupBox::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 Q3GroupBox::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 Q3GroupBox::setColumnLayout
+456 (int (*)(...))-0x00000000000000010
+464 (int (*)(...))(& _ZTI13Q3ButtonGroup)
+472 Q3ButtonGroup::_ZThn16_N13Q3ButtonGroupD1Ev
+480 Q3ButtonGroup::_ZThn16_N13Q3ButtonGroupD0Ev
+488 QWidget::_ZThn16_NK7QWidget7devTypeEv
+496 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+504 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class Q3ButtonGroup
+ size=80 align=8
+ base size=80 base align=8
+Q3ButtonGroup (0x7f62d958d310) 0
+ vptr=((& Q3ButtonGroup::_ZTV13Q3ButtonGroup) + 16u)
+ Q3GroupBox (0x7f62d958d380) 0
+ primary-for Q3ButtonGroup (0x7f62d958d310)
+ QGroupBox (0x7f62d958d3f0) 0
+ primary-for Q3GroupBox (0x7f62d958d380)
+ QWidget (0x7f62d9586580) 0
+ primary-for QGroupBox (0x7f62d958d3f0)
+ QObject (0x7f62d958d460) 0
+ primary-for QWidget (0x7f62d9586580)
+ QPaintDevice (0x7f62d958d4d0) 16
+ vptr=((& Q3ButtonGroup::_ZTV13Q3ButtonGroup) + 472u)
+
+Vtable for Q3VButtonGroup
+Q3VButtonGroup::_ZTV14Q3VButtonGroup: 64u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14Q3VButtonGroup)
+16 Q3VButtonGroup::metaObject
+24 Q3VButtonGroup::qt_metacast
+32 Q3VButtonGroup::qt_metacall
+40 Q3VButtonGroup::~Q3VButtonGroup
+48 Q3VButtonGroup::~Q3VButtonGroup
+56 Q3ButtonGroup::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 Q3GroupBox::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QWidget::sizeHint
+136 QGroupBox::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QGroupBox::mousePressEvent
+168 QGroupBox::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QGroupBox::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QGroupBox::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QGroupBox::paintEvent
+256 QWidget::moveEvent
+264 Q3GroupBox::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 Q3GroupBox::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 Q3GroupBox::setColumnLayout
+456 (int (*)(...))-0x00000000000000010
+464 (int (*)(...))(& _ZTI14Q3VButtonGroup)
+472 Q3VButtonGroup::_ZThn16_N14Q3VButtonGroupD1Ev
+480 Q3VButtonGroup::_ZThn16_N14Q3VButtonGroupD0Ev
+488 QWidget::_ZThn16_NK7QWidget7devTypeEv
+496 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+504 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class Q3VButtonGroup
+ size=80 align=8
+ base size=80 base align=8
+Q3VButtonGroup (0x7f62d95c2e70) 0
+ vptr=((& Q3VButtonGroup::_ZTV14Q3VButtonGroup) + 16u)
+ Q3ButtonGroup (0x7f62d95c2ee0) 0
+ primary-for Q3VButtonGroup (0x7f62d95c2e70)
+ Q3GroupBox (0x7f62d95c2f50) 0
+ primary-for Q3ButtonGroup (0x7f62d95c2ee0)
+ QGroupBox (0x7f62d95c2000) 0
+ primary-for Q3GroupBox (0x7f62d95c2f50)
+ QWidget (0x7f62d9586f00) 0
+ primary-for QGroupBox (0x7f62d95c2000)
+ QObject (0x7f62d95cd000) 0
+ primary-for QWidget (0x7f62d9586f00)
+ QPaintDevice (0x7f62d95cd070) 16
+ vptr=((& Q3VButtonGroup::_ZTV14Q3VButtonGroup) + 472u)
+
+Vtable for Q3HButtonGroup
+Q3HButtonGroup::_ZTV14Q3HButtonGroup: 64u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14Q3HButtonGroup)
+16 Q3HButtonGroup::metaObject
+24 Q3HButtonGroup::qt_metacast
+32 Q3HButtonGroup::qt_metacall
+40 Q3HButtonGroup::~Q3HButtonGroup
+48 Q3HButtonGroup::~Q3HButtonGroup
+56 Q3ButtonGroup::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 Q3GroupBox::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QWidget::sizeHint
+136 QGroupBox::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QGroupBox::mousePressEvent
+168 QGroupBox::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QGroupBox::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QGroupBox::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QGroupBox::paintEvent
+256 QWidget::moveEvent
+264 Q3GroupBox::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 Q3GroupBox::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 Q3GroupBox::setColumnLayout
+456 (int (*)(...))-0x00000000000000010
+464 (int (*)(...))(& _ZTI14Q3HButtonGroup)
+472 Q3HButtonGroup::_ZThn16_N14Q3HButtonGroupD1Ev
+480 Q3HButtonGroup::_ZThn16_N14Q3HButtonGroupD0Ev
+488 QWidget::_ZThn16_NK7QWidget7devTypeEv
+496 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+504 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class Q3HButtonGroup
+ size=80 align=8
+ base size=80 base align=8
+Q3HButtonGroup (0x7f62d95ee540) 0
+ vptr=((& Q3HButtonGroup::_ZTV14Q3HButtonGroup) + 16u)
+ Q3ButtonGroup (0x7f62d95ee5b0) 0
+ primary-for Q3HButtonGroup (0x7f62d95ee540)
+ Q3GroupBox (0x7f62d95ee620) 0
+ primary-for Q3ButtonGroup (0x7f62d95ee5b0)
+ QGroupBox (0x7f62d95ee690) 0
+ primary-for Q3GroupBox (0x7f62d95ee620)
+ QWidget (0x7f62d95cef80) 0
+ primary-for QGroupBox (0x7f62d95ee690)
+ QObject (0x7f62d95ee700) 0
+ primary-for QWidget (0x7f62d95cef80)
+ QPaintDevice (0x7f62d95ee770) 16
+ vptr=((& Q3HButtonGroup::_ZTV14Q3HButtonGroup) + 472u)
+
+Vtable for Q3ComboBox
+Q3ComboBox::_ZTV10Q3ComboBox: 75u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10Q3ComboBox)
+16 Q3ComboBox::metaObject
+24 Q3ComboBox::qt_metacast
+32 Q3ComboBox::qt_metacall
+40 Q3ComboBox::~Q3ComboBox
+48 Q3ComboBox::~Q3ComboBox
+56 QWidget::event
+64 Q3ComboBox::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 Q3ComboBox::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 Q3ComboBox::mousePressEvent
+168 Q3ComboBox::mouseReleaseEvent
+176 Q3ComboBox::mouseDoubleClickEvent
+184 Q3ComboBox::mouseMoveEvent
+192 Q3ComboBox::wheelEvent
+200 Q3ComboBox::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 Q3ComboBox::focusInEvent
+224 Q3ComboBox::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 Q3ComboBox::paintEvent
+256 QWidget::moveEvent
+264 Q3ComboBox::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QWidget::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 Q3ComboBox::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 Q3ComboBox::setCurrentItem
+456 Q3ComboBox::setCurrentText
+464 Q3ComboBox::setAutoResize
+472 Q3ComboBox::setSizeLimit
+480 Q3ComboBox::setMaxCount
+488 Q3ComboBox::setInsertionPolicy
+496 Q3ComboBox::setValidator
+504 Q3ComboBox::setListBox
+512 Q3ComboBox::setLineEdit
+520 Q3ComboBox::setAutoCompletion
+528 Q3ComboBox::popup
+536 Q3ComboBox::setEditText
+544 (int (*)(...))-0x00000000000000010
+552 (int (*)(...))(& _ZTI10Q3ComboBox)
+560 Q3ComboBox::_ZThn16_N10Q3ComboBoxD1Ev
+568 Q3ComboBox::_ZThn16_N10Q3ComboBoxD0Ev
+576 QWidget::_ZThn16_NK7QWidget7devTypeEv
+584 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+592 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class Q3ComboBox
+ size=48 align=8
+ base size=48 base align=8
+Q3ComboBox (0x7f62d9609c40) 0
+ vptr=((& Q3ComboBox::_ZTV10Q3ComboBox) + 16u)
+ QWidget (0x7f62d9613000) 0
+ primary-for Q3ComboBox (0x7f62d9609c40)
+ QObject (0x7f62d9609cb0) 0
+ primary-for QWidget (0x7f62d9613000)
+ QPaintDevice (0x7f62d9609d20) 16
+ vptr=((& Q3ComboBox::_ZTV10Q3ComboBox) + 560u)
+
+Vtable for Q3DateTimeEditBase
+Q3DateTimeEditBase::_ZTV18Q3DateTimeEditBase: 69u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18Q3DateTimeEditBase)
+16 Q3DateTimeEditBase::metaObject
+24 Q3DateTimeEditBase::qt_metacast
+32 Q3DateTimeEditBase::qt_metacall
+40 Q3DateTimeEditBase::~Q3DateTimeEditBase
+48 Q3DateTimeEditBase::~Q3DateTimeEditBase
+56 QWidget::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QWidget::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QWidget::paintEvent
+256 QWidget::moveEvent
+264 QWidget::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QWidget::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 __cxa_pure_virtual
+456 __cxa_pure_virtual
+464 __cxa_pure_virtual
+472 __cxa_pure_virtual
+480 __cxa_pure_virtual
+488 __cxa_pure_virtual
+496 (int (*)(...))-0x00000000000000010
+504 (int (*)(...))(& _ZTI18Q3DateTimeEditBase)
+512 Q3DateTimeEditBase::_ZThn16_N18Q3DateTimeEditBaseD1Ev
+520 Q3DateTimeEditBase::_ZThn16_N18Q3DateTimeEditBaseD0Ev
+528 QWidget::_ZThn16_NK7QWidget7devTypeEv
+536 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+544 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class Q3DateTimeEditBase
+ size=40 align=8
+ base size=40 base align=8
+Q3DateTimeEditBase (0x7f62d943c8c0) 0
+ vptr=((& Q3DateTimeEditBase::_ZTV18Q3DateTimeEditBase) + 16u)
+ QWidget (0x7f62d9613d00) 0
+ primary-for Q3DateTimeEditBase (0x7f62d943c8c0)
+ QObject (0x7f62d943c930) 0
+ primary-for QWidget (0x7f62d9613d00)
+ QPaintDevice (0x7f62d943c9a0) 16
+ vptr=((& Q3DateTimeEditBase::_ZTV18Q3DateTimeEditBase) + 512u)
+
+Vtable for Q3DateEdit
+Q3DateEdit::_ZTV10Q3DateEdit: 81u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10Q3DateEdit)
+16 Q3DateEdit::metaObject
+24 Q3DateEdit::qt_metacast
+32 Q3DateEdit::qt_metacall
+40 Q3DateEdit::~Q3DateEdit
+48 Q3DateEdit::~Q3DateEdit
+56 Q3DateEdit::event
+64 QObject::eventFilter
+72 Q3DateEdit::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 Q3DateEdit::sizeHint
+136 Q3DateEdit::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QWidget::paintEvent
+256 QWidget::moveEvent
+264 Q3DateEdit::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QWidget::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 Q3DateEdit::setFocusSection
+456 Q3DateEdit::sectionFormattedText
+464 Q3DateEdit::addNumber
+472 Q3DateEdit::removeLastNumber
+480 Q3DateEdit::stepUp
+488 Q3DateEdit::stepDown
+496 Q3DateEdit::setDate
+504 Q3DateEdit::setOrder
+512 Q3DateEdit::setAutoAdvance
+520 Q3DateEdit::setMinValue
+528 Q3DateEdit::setMaxValue
+536 Q3DateEdit::setRange
+544 Q3DateEdit::setSeparator
+552 Q3DateEdit::setYear
+560 Q3DateEdit::setMonth
+568 Q3DateEdit::setDay
+576 Q3DateEdit::fix
+584 Q3DateEdit::outOfRange
+592 (int (*)(...))-0x00000000000000010
+600 (int (*)(...))(& _ZTI10Q3DateEdit)
+608 Q3DateEdit::_ZThn16_N10Q3DateEditD1Ev
+616 Q3DateEdit::_ZThn16_N10Q3DateEditD0Ev
+624 QWidget::_ZThn16_NK7QWidget7devTypeEv
+632 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+640 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class Q3DateEdit
+ size=48 align=8
+ base size=48 base align=8
+Q3DateEdit (0x7f62d94607e0) 0
+ vptr=((& Q3DateEdit::_ZTV10Q3DateEdit) + 16u)
+ Q3DateTimeEditBase (0x7f62d9460850) 0
+ primary-for Q3DateEdit (0x7f62d94607e0)
+ QWidget (0x7f62d9453e80) 0
+ primary-for Q3DateTimeEditBase (0x7f62d9460850)
+ QObject (0x7f62d94608c0) 0
+ primary-for QWidget (0x7f62d9453e80)
+ QPaintDevice (0x7f62d9460930) 16
+ vptr=((& Q3DateEdit::_ZTV10Q3DateEdit) + 608u)
+
+Vtable for Q3TimeEdit
+Q3TimeEdit::_ZTV10Q3TimeEdit: 79u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10Q3TimeEdit)
+16 Q3TimeEdit::metaObject
+24 Q3TimeEdit::qt_metacast
+32 Q3TimeEdit::qt_metacall
+40 Q3TimeEdit::~Q3TimeEdit
+48 Q3TimeEdit::~Q3TimeEdit
+56 Q3TimeEdit::event
+64 QObject::eventFilter
+72 Q3TimeEdit::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 Q3TimeEdit::sizeHint
+136 Q3TimeEdit::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QWidget::paintEvent
+256 QWidget::moveEvent
+264 Q3TimeEdit::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QWidget::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 Q3TimeEdit::setFocusSection
+456 Q3TimeEdit::sectionFormattedText
+464 Q3TimeEdit::addNumber
+472 Q3TimeEdit::removeLastNumber
+480 Q3TimeEdit::stepUp
+488 Q3TimeEdit::stepDown
+496 Q3TimeEdit::setTime
+504 Q3TimeEdit::setAutoAdvance
+512 Q3TimeEdit::setMinValue
+520 Q3TimeEdit::setMaxValue
+528 Q3TimeEdit::setRange
+536 Q3TimeEdit::setSeparator
+544 Q3TimeEdit::outOfRange
+552 Q3TimeEdit::setHour
+560 Q3TimeEdit::setMinute
+568 Q3TimeEdit::setSecond
+576 (int (*)(...))-0x00000000000000010
+584 (int (*)(...))(& _ZTI10Q3TimeEdit)
+592 Q3TimeEdit::_ZThn16_N10Q3TimeEditD1Ev
+600 Q3TimeEdit::_ZThn16_N10Q3TimeEditD0Ev
+608 QWidget::_ZThn16_NK7QWidget7devTypeEv
+616 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+624 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class Q3TimeEdit
+ size=48 align=8
+ base size=48 base align=8
+Q3TimeEdit (0x7f62d94888c0) 0
+ vptr=((& Q3TimeEdit::_ZTV10Q3TimeEdit) + 16u)
+ Q3DateTimeEditBase (0x7f62d9488930) 0
+ primary-for Q3TimeEdit (0x7f62d94888c0)
+ QWidget (0x7f62d9469a80) 0
+ primary-for Q3DateTimeEditBase (0x7f62d9488930)
+ QObject (0x7f62d94889a0) 0
+ primary-for QWidget (0x7f62d9469a80)
+ QPaintDevice (0x7f62d9488a10) 16
+ vptr=((& Q3TimeEdit::_ZTV10Q3TimeEdit) + 592u)
+
+Vtable for Q3DateTimeEdit
+Q3DateTimeEdit::_ZTV14Q3DateTimeEdit: 65u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14Q3DateTimeEdit)
+16 Q3DateTimeEdit::metaObject
+24 Q3DateTimeEdit::qt_metacast
+32 Q3DateTimeEdit::qt_metacall
+40 Q3DateTimeEdit::~Q3DateTimeEdit
+48 Q3DateTimeEdit::~Q3DateTimeEdit
+56 QWidget::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 Q3DateTimeEdit::sizeHint
+136 Q3DateTimeEdit::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QWidget::paintEvent
+256 QWidget::moveEvent
+264 Q3DateTimeEdit::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QWidget::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 Q3DateTimeEdit::setDateTime
+456 Q3DateTimeEdit::setAutoAdvance
+464 (int (*)(...))-0x00000000000000010
+472 (int (*)(...))(& _ZTI14Q3DateTimeEdit)
+480 Q3DateTimeEdit::_ZThn16_N14Q3DateTimeEditD1Ev
+488 Q3DateTimeEdit::_ZThn16_N14Q3DateTimeEditD0Ev
+496 QWidget::_ZThn16_NK7QWidget7devTypeEv
+504 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+512 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class Q3DateTimeEdit
+ size=64 align=8
+ base size=64 base align=8
+Q3DateTimeEdit (0x7f62d94ab7e0) 0
+ vptr=((& Q3DateTimeEdit::_ZTV14Q3DateTimeEdit) + 16u)
+ QWidget (0x7f62d94a5680) 0
+ primary-for Q3DateTimeEdit (0x7f62d94ab7e0)
+ QObject (0x7f62d94ab850) 0
+ primary-for QWidget (0x7f62d94a5680)
+ QPaintDevice (0x7f62d94ab8c0) 16
+ vptr=((& Q3DateTimeEdit::_ZTV14Q3DateTimeEdit) + 480u)
+
+Vtable for Q3DockWindow
+Q3DockWindow::_ZTV12Q3DockWindow: 81u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12Q3DockWindow)
+16 Q3DockWindow::metaObject
+24 Q3DockWindow::qt_metacast
+32 Q3DockWindow::qt_metacall
+40 Q3DockWindow::~Q3DockWindow
+48 Q3DockWindow::~Q3DockWindow
+56 Q3DockWindow::event
+64 Q3DockWindow::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 Q3DockWindow::sizeHint
+136 Q3DockWindow::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 Q3Frame::paintEvent
+256 QWidget::moveEvent
+264 Q3DockWindow::resizeEvent
+272 QWidget::closeEvent
+280 Q3DockWindow::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 Q3DockWindow::showEvent
+344 Q3DockWindow::hideEvent
+352 QWidget::x11Event
+360 QFrame::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 Q3Frame::frameChanged
+456 Q3DockWindow::drawFrame
+464 Q3DockWindow::drawContents
+472 Q3DockWindow::setWidget
+480 Q3DockWindow::setCloseMode
+488 Q3DockWindow::setResizeEnabled
+496 Q3DockWindow::setMovingEnabled
+504 Q3DockWindow::setHorizontallyStretchable
+512 Q3DockWindow::setVerticallyStretchable
+520 Q3DockWindow::setOffset
+528 Q3DockWindow::setFixedExtentWidth
+536 Q3DockWindow::setFixedExtentHeight
+544 Q3DockWindow::setNewLine
+552 Q3DockWindow::setOpaqueMoving
+560 Q3DockWindow::undock
+568 Q3DockWindow::undock
+576 Q3DockWindow::dock
+584 Q3DockWindow::setOrientation
+592 (int (*)(...))-0x00000000000000010
+600 (int (*)(...))(& _ZTI12Q3DockWindow)
+608 Q3DockWindow::_ZThn16_N12Q3DockWindowD1Ev
+616 Q3DockWindow::_ZThn16_N12Q3DockWindowD0Ev
+624 QWidget::_ZThn16_NK7QWidget7devTypeEv
+632 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+640 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class Q3DockWindow
+ size=256 align=8
+ base size=256 base align=8
+Q3DockWindow (0x7f62d94cd150) 0
+ vptr=((& Q3DockWindow::_ZTV12Q3DockWindow) + 16u)
+ Q3Frame (0x7f62d94cd1c0) 0
+ primary-for Q3DockWindow (0x7f62d94cd150)
+ QFrame (0x7f62d94cd230) 0
+ primary-for Q3Frame (0x7f62d94cd1c0)
+ QWidget (0x7f62d94a5f80) 0
+ primary-for QFrame (0x7f62d94cd230)
+ QObject (0x7f62d94cd2a0) 0
+ primary-for QWidget (0x7f62d94a5f80)
+ QPaintDevice (0x7f62d94cd310) 16
+ vptr=((& Q3DockWindow::_ZTV12Q3DockWindow) + 608u)
+
+Vtable for Q3DockAreaLayout
+Q3DockAreaLayout::_ZTV16Q3DockAreaLayout: 48u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16Q3DockAreaLayout)
+16 Q3DockAreaLayout::metaObject
+24 Q3DockAreaLayout::qt_metacast
+32 Q3DockAreaLayout::qt_metacall
+40 Q3DockAreaLayout::~Q3DockAreaLayout
+48 Q3DockAreaLayout::~Q3DockAreaLayout
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QLayout::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 Q3DockAreaLayout::invalidate
+120 QLayout::geometry
+128 Q3DockAreaLayout::addItem
+136 Q3DockAreaLayout::expandingDirections
+144 Q3DockAreaLayout::minimumSize
+152 QLayout::maximumSize
+160 Q3DockAreaLayout::setGeometry
+168 Q3DockAreaLayout::itemAt
+176 Q3DockAreaLayout::takeAt
+184 QLayout::indexOf
+192 Q3DockAreaLayout::count
+200 QLayout::isEmpty
+208 QLayout::layout
+216 Q3DockAreaLayout::hasHeightForWidth
+224 Q3DockAreaLayout::heightForWidth
+232 Q3DockAreaLayout::sizeHint
+240 (int (*)(...))-0x00000000000000010
+248 (int (*)(...))(& _ZTI16Q3DockAreaLayout)
+256 Q3DockAreaLayout::_ZThn16_N16Q3DockAreaLayoutD1Ev
+264 Q3DockAreaLayout::_ZThn16_N16Q3DockAreaLayoutD0Ev
+272 Q3DockAreaLayout::_ZThn16_NK16Q3DockAreaLayout8sizeHintEv
+280 Q3DockAreaLayout::_ZThn16_NK16Q3DockAreaLayout11minimumSizeEv
+288 QLayout::_ZThn16_NK7QLayout11maximumSizeEv
+296 Q3DockAreaLayout::_ZThn16_NK16Q3DockAreaLayout19expandingDirectionsEv
+304 Q3DockAreaLayout::_ZThn16_N16Q3DockAreaLayout11setGeometryERK5QRect
+312 QLayout::_ZThn16_NK7QLayout8geometryEv
+320 QLayout::_ZThn16_NK7QLayout7isEmptyEv
+328 Q3DockAreaLayout::_ZThn16_NK16Q3DockAreaLayout17hasHeightForWidthEv
+336 Q3DockAreaLayout::_ZThn16_NK16Q3DockAreaLayout14heightForWidthEi
+344 QLayoutItem::minimumHeightForWidth
+352 Q3DockAreaLayout::_ZThn16_N16Q3DockAreaLayout10invalidateEv
+360 QLayoutItem::widget
+368 QLayout::_ZThn16_N7QLayout6layoutEv
+376 QLayoutItem::spacerItem
+
+Class Q3DockAreaLayout
+ size=88 align=8
+ base size=88 base align=8
+Q3DockAreaLayout (0x7f62d9509230) 0
+ vptr=((& Q3DockAreaLayout::_ZTV16Q3DockAreaLayout) + 16u)
+ QLayout (0x7f62d9504500) 0
+ primary-for Q3DockAreaLayout (0x7f62d9509230)
+ QObject (0x7f62d95092a0) 0
+ primary-for QLayout (0x7f62d9504500)
+ QLayoutItem (0x7f62d9509310) 16
+ vptr=((& Q3DockAreaLayout::_ZTV16Q3DockAreaLayout) + 256u)
+
+Class Q3DockArea::DockWindowData
+ size=32 align=8
+ base size=32 base align=8
+Q3DockArea::DockWindowData (0x7f62d938da80) 0
+
+Vtable for Q3DockArea
+Q3DockArea::_ZTV10Q3DockArea: 63u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10Q3DockArea)
+16 Q3DockArea::metaObject
+24 Q3DockArea::qt_metacast
+32 Q3DockArea::qt_metacall
+40 Q3DockArea::~Q3DockArea
+48 Q3DockArea::~Q3DockArea
+56 QWidget::event
+64 Q3DockArea::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QWidget::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QWidget::paintEvent
+256 QWidget::moveEvent
+264 QWidget::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QWidget::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 (int (*)(...))-0x00000000000000010
+456 (int (*)(...))(& _ZTI10Q3DockArea)
+464 Q3DockArea::_ZThn16_N10Q3DockAreaD1Ev
+472 Q3DockArea::_ZThn16_N10Q3DockAreaD0Ev
+480 QWidget::_ZThn16_NK7QWidget7devTypeEv
+488 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+496 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class Q3DockArea
+ size=88 align=8
+ base size=88 base align=8
+Q3DockArea (0x7f62d938d540) 0
+ vptr=((& Q3DockArea::_ZTV10Q3DockArea) + 16u)
+ QWidget (0x7f62d9389a80) 0
+ primary-for Q3DockArea (0x7f62d938d540)
+ QObject (0x7f62d938d5b0) 0
+ primary-for QWidget (0x7f62d9389a80)
+ QPaintDevice (0x7f62d938d620) 16
+ vptr=((& Q3DockArea::_ZTV10Q3DockArea) + 464u)
+
+Vtable for Q3Grid
+Q3Grid::_ZTV6Q3Grid: 66u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI6Q3Grid)
+16 Q3Grid::metaObject
+24 Q3Grid::qt_metacast
+32 Q3Grid::qt_metacall
+40 Q3Grid::~Q3Grid
+48 Q3Grid::~Q3Grid
+56 QFrame::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 Q3Grid::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 Q3Frame::paintEvent
+256 QWidget::moveEvent
+264 Q3Frame::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QFrame::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 Q3Grid::frameChanged
+456 Q3Frame::drawFrame
+464 Q3Frame::drawContents
+472 (int (*)(...))-0x00000000000000010
+480 (int (*)(...))(& _ZTI6Q3Grid)
+488 Q3Grid::_ZThn16_N6Q3GridD1Ev
+496 Q3Grid::_ZThn16_N6Q3GridD0Ev
+504 QWidget::_ZThn16_NK7QWidget7devTypeEv
+512 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+520 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class Q3Grid
+ size=48 align=8
+ base size=44 base align=8
+Q3Grid (0x7f62d93b6930) 0
+ vptr=((& Q3Grid::_ZTV6Q3Grid) + 16u)
+ Q3Frame (0x7f62d93b69a0) 0
+ primary-for Q3Grid (0x7f62d93b6930)
+ QFrame (0x7f62d93b6a10) 0
+ primary-for Q3Frame (0x7f62d93b69a0)
+ QWidget (0x7f62d93b0600) 0
+ primary-for QFrame (0x7f62d93b6a10)
+ QObject (0x7f62d93b6a80) 0
+ primary-for QWidget (0x7f62d93b0600)
+ QPaintDevice (0x7f62d93b6af0) 16
+ vptr=((& Q3Grid::_ZTV6Q3Grid) + 488u)
+
+Vtable for Q3GridView
+Q3GridView::_ZTV10Q3GridView: 109u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10Q3GridView)
+16 Q3GridView::metaObject
+24 Q3GridView::qt_metacast
+32 Q3GridView::qt_metacall
+40 Q3GridView::~Q3GridView
+48 Q3GridView::~Q3GridView
+56 QFrame::event
+64 Q3ScrollView::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 Q3ScrollView::setVisible
+128 Q3ScrollView::sizeHint
+136 Q3ScrollView::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 Q3ScrollView::mousePressEvent
+168 Q3ScrollView::mouseReleaseEvent
+176 Q3ScrollView::mouseDoubleClickEvent
+184 Q3ScrollView::mouseMoveEvent
+192 Q3ScrollView::wheelEvent
+200 QWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 Q3Frame::paintEvent
+256 QWidget::moveEvent
+264 Q3ScrollView::resizeEvent
+272 QWidget::closeEvent
+280 Q3ScrollView::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QFrame::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 Q3ScrollView::focusNextPrevChild
+400 Q3ScrollView::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 Q3ScrollView::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 Q3ScrollView::frameChanged
+456 Q3Frame::drawFrame
+464 Q3GridView::drawContents
+472 Q3ScrollView::setResizePolicy
+480 Q3ScrollView::addChild
+488 Q3ScrollView::moveChild
+496 Q3ScrollView::setVScrollBarMode
+504 Q3ScrollView::setHScrollBarMode
+512 Q3ScrollView::setCornerWidget
+520 Q3ScrollView::setDragAutoScroll
+528 Q3ScrollView::resizeContents
+536 Q3ScrollView::setContentsPos
+544 Q3GridView::drawContents
+552 Q3ScrollView::drawContentsOffset
+560 Q3ScrollView::contentsMousePressEvent
+568 Q3ScrollView::contentsMouseReleaseEvent
+576 Q3ScrollView::contentsMouseDoubleClickEvent
+584 Q3ScrollView::contentsMouseMoveEvent
+592 Q3ScrollView::contentsDragEnterEvent
+600 Q3ScrollView::contentsDragMoveEvent
+608 Q3ScrollView::contentsDragLeaveEvent
+616 Q3ScrollView::contentsDropEvent
+624 Q3ScrollView::contentsWheelEvent
+632 Q3ScrollView::contentsContextMenuEvent
+640 Q3ScrollView::viewportPaintEvent
+648 Q3ScrollView::viewportResizeEvent
+656 Q3ScrollView::viewportMousePressEvent
+664 Q3ScrollView::viewportMouseReleaseEvent
+672 Q3ScrollView::viewportMouseDoubleClickEvent
+680 Q3ScrollView::viewportMouseMoveEvent
+688 Q3ScrollView::viewportDragEnterEvent
+696 Q3ScrollView::viewportDragMoveEvent
+704 Q3ScrollView::viewportDragLeaveEvent
+712 Q3ScrollView::viewportDropEvent
+720 Q3ScrollView::viewportWheelEvent
+728 Q3ScrollView::viewportContextMenuEvent
+736 Q3ScrollView::setMargins
+744 Q3ScrollView::setHBarGeometry
+752 Q3ScrollView::setVBarGeometry
+760 Q3GridView::setNumRows
+768 Q3GridView::setNumCols
+776 Q3GridView::setCellWidth
+784 Q3GridView::setCellHeight
+792 __cxa_pure_virtual
+800 Q3GridView::paintEmptyArea
+808 Q3GridView::dimensionChange
+816 (int (*)(...))-0x00000000000000010
+824 (int (*)(...))(& _ZTI10Q3GridView)
+832 Q3GridView::_ZThn16_N10Q3GridViewD1Ev
+840 Q3GridView::_ZThn16_N10Q3GridViewD0Ev
+848 QWidget::_ZThn16_NK7QWidget7devTypeEv
+856 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+864 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class Q3GridView
+ size=80 align=8
+ base size=80 base align=8
+Q3GridView (0x7f62d93c1e70) 0
+ vptr=((& Q3GridView::_ZTV10Q3GridView) + 16u)
+ Q3ScrollView (0x7f62d93c1ee0) 0
+ primary-for Q3GridView (0x7f62d93c1e70)
+ Q3Frame (0x7f62d93c1f50) 0
+ primary-for Q3ScrollView (0x7f62d93c1ee0)
+ QFrame (0x7f62d93c1230) 0
+ primary-for Q3Frame (0x7f62d93c1f50)
+ QWidget (0x7f62d93b0d00) 0
+ primary-for QFrame (0x7f62d93c1230)
+ QObject (0x7f62d93d4000) 0
+ primary-for QWidget (0x7f62d93b0d00)
+ QPaintDevice (0x7f62d93d4070) 16
+ vptr=((& Q3GridView::_ZTV10Q3GridView) + 832u)
+
+Vtable for Q3HBox
+Q3HBox::_ZTV6Q3HBox: 66u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI6Q3HBox)
+16 Q3HBox::metaObject
+24 Q3HBox::qt_metacast
+32 Q3HBox::qt_metacall
+40 Q3HBox::~Q3HBox
+48 Q3HBox::~Q3HBox
+56 QFrame::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 Q3HBox::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 Q3Frame::paintEvent
+256 QWidget::moveEvent
+264 Q3Frame::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QFrame::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 Q3HBox::frameChanged
+456 Q3Frame::drawFrame
+464 Q3Frame::drawContents
+472 (int (*)(...))-0x00000000000000010
+480 (int (*)(...))(& _ZTI6Q3HBox)
+488 Q3HBox::_ZThn16_N6Q3HBoxD1Ev
+496 Q3HBox::_ZThn16_N6Q3HBoxD0Ev
+504 QWidget::_ZThn16_NK7QWidget7devTypeEv
+512 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+520 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class Q3HBox
+ size=48 align=8
+ base size=44 base align=8
+Q3HBox (0x7f62d93f7f50) 0
+ vptr=((& Q3HBox::_ZTV6Q3HBox) + 16u)
+ Q3Frame (0x7f62d93f78c0) 0
+ primary-for Q3HBox (0x7f62d93f7f50)
+ QFrame (0x7f62d93fb000) 0
+ primary-for Q3Frame (0x7f62d93f78c0)
+ QWidget (0x7f62d93e9c00) 0
+ primary-for QFrame (0x7f62d93fb000)
+ QObject (0x7f62d93fb070) 0
+ primary-for QWidget (0x7f62d93e9c00)
+ QPaintDevice (0x7f62d93fb0e0) 16
+ vptr=((& Q3HBox::_ZTV6Q3HBox) + 488u)
+
+Vtable for Q3HGroupBox
+Q3HGroupBox::_ZTV11Q3HGroupBox: 64u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11Q3HGroupBox)
+16 Q3HGroupBox::metaObject
+24 Q3HGroupBox::qt_metacast
+32 Q3HGroupBox::qt_metacall
+40 Q3HGroupBox::~Q3HGroupBox
+48 Q3HGroupBox::~Q3HGroupBox
+56 Q3GroupBox::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 Q3GroupBox::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QWidget::sizeHint
+136 QGroupBox::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QGroupBox::mousePressEvent
+168 QGroupBox::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QGroupBox::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QGroupBox::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QGroupBox::paintEvent
+256 QWidget::moveEvent
+264 Q3GroupBox::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 Q3GroupBox::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 Q3GroupBox::setColumnLayout
+456 (int (*)(...))-0x00000000000000010
+464 (int (*)(...))(& _ZTI11Q3HGroupBox)
+472 Q3HGroupBox::_ZThn16_N11Q3HGroupBoxD1Ev
+480 Q3HGroupBox::_ZThn16_N11Q3HGroupBoxD0Ev
+488 QWidget::_ZThn16_NK7QWidget7devTypeEv
+496 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+504 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class Q3HGroupBox
+ size=48 align=8
+ base size=48 base align=8
+Q3HGroupBox (0x7f62d94114d0) 0
+ vptr=((& Q3HGroupBox::_ZTV11Q3HGroupBox) + 16u)
+ Q3GroupBox (0x7f62d9411540) 0
+ primary-for Q3HGroupBox (0x7f62d94114d0)
+ QGroupBox (0x7f62d94115b0) 0
+ primary-for Q3GroupBox (0x7f62d9411540)
+ QWidget (0x7f62d940c300) 0
+ primary-for QGroupBox (0x7f62d94115b0)
+ QObject (0x7f62d9411620) 0
+ primary-for QWidget (0x7f62d940c300)
+ QPaintDevice (0x7f62d9411690) 16
+ vptr=((& Q3HGroupBox::_ZTV11Q3HGroupBox) + 472u)
+
+Vtable for Q3ToolBar
+Q3ToolBar::_ZTV9Q3ToolBar: 84u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9Q3ToolBar)
+16 Q3ToolBar::metaObject
+24 Q3ToolBar::qt_metacast
+32 Q3ToolBar::qt_metacall
+40 Q3ToolBar::~Q3ToolBar
+48 Q3ToolBar::~Q3ToolBar
+56 Q3ToolBar::event
+64 Q3DockWindow::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 Q3ToolBar::setVisible
+128 Q3DockWindow::sizeHint
+136 Q3ToolBar::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 Q3Frame::paintEvent
+256 QWidget::moveEvent
+264 Q3ToolBar::resizeEvent
+272 QWidget::closeEvent
+280 Q3DockWindow::contextMenuEvent
+288 QWidget::tabletEvent
+296 Q3ToolBar::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 Q3DockWindow::showEvent
+344 Q3DockWindow::hideEvent
+352 QWidget::x11Event
+360 QFrame::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 Q3ToolBar::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 Q3Frame::frameChanged
+456 Q3DockWindow::drawFrame
+464 Q3DockWindow::drawContents
+472 Q3DockWindow::setWidget
+480 Q3DockWindow::setCloseMode
+488 Q3DockWindow::setResizeEnabled
+496 Q3DockWindow::setMovingEnabled
+504 Q3DockWindow::setHorizontallyStretchable
+512 Q3DockWindow::setVerticallyStretchable
+520 Q3DockWindow::setOffset
+528 Q3DockWindow::setFixedExtentWidth
+536 Q3DockWindow::setFixedExtentHeight
+544 Q3DockWindow::setNewLine
+552 Q3DockWindow::setOpaqueMoving
+560 Q3DockWindow::undock
+568 Q3DockWindow::undock
+576 Q3DockWindow::dock
+584 Q3ToolBar::setOrientation
+592 Q3ToolBar::setStretchableWidget
+600 Q3ToolBar::setLabel
+608 Q3ToolBar::clear
+616 (int (*)(...))-0x00000000000000010
+624 (int (*)(...))(& _ZTI9Q3ToolBar)
+632 Q3ToolBar::_ZThn16_N9Q3ToolBarD1Ev
+640 Q3ToolBar::_ZThn16_N9Q3ToolBarD0Ev
+648 QWidget::_ZThn16_NK7QWidget7devTypeEv
+656 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+664 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class Q3ToolBar
+ size=288 align=8
+ base size=288 base align=8
+Q3ToolBar (0x7f62d9423a80) 0
+ vptr=((& Q3ToolBar::_ZTV9Q3ToolBar) + 16u)
+ Q3DockWindow (0x7f62d9423af0) 0
+ primary-for Q3ToolBar (0x7f62d9423a80)
+ Q3Frame (0x7f62d9423b60) 0
+ primary-for Q3DockWindow (0x7f62d9423af0)
+ QFrame (0x7f62d9423bd0) 0
+ primary-for Q3Frame (0x7f62d9423b60)
+ QWidget (0x7f62d940ca00) 0
+ primary-for QFrame (0x7f62d9423bd0)
+ QObject (0x7f62d9423c40) 0
+ primary-for QWidget (0x7f62d940ca00)
+ QPaintDevice (0x7f62d9423cb0) 16
+ vptr=((& Q3ToolBar::_ZTV9Q3ToolBar) + 632u)
+
+Vtable for Q3MainWindow
+Q3MainWindow::_ZTV12Q3MainWindow: 87u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12Q3MainWindow)
+16 Q3MainWindow::metaObject
+24 Q3MainWindow::qt_metacast
+32 Q3MainWindow::qt_metacall
+40 Q3MainWindow::~Q3MainWindow
+48 Q3MainWindow::~Q3MainWindow
+56 Q3MainWindow::event
+64 Q3MainWindow::eventFilter
+72 QObject::timerEvent
+80 Q3MainWindow::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 Q3MainWindow::setVisible
+128 Q3MainWindow::sizeHint
+136 Q3MainWindow::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 Q3MainWindow::paintEvent
+256 QWidget::moveEvent
+264 QWidget::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QWidget::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 Q3MainWindow::setCentralWidget
+456 Q3MainWindow::setDockEnabled
+464 Q3MainWindow::setDockEnabled
+472 Q3MainWindow::addDockWindow
+480 Q3MainWindow::addDockWindow
+488 Q3MainWindow::moveDockWindow
+496 Q3MainWindow::moveDockWindow
+504 Q3MainWindow::removeDockWindow
+512 Q3MainWindow::dockingArea
+520 Q3MainWindow::isCustomizable
+528 Q3MainWindow::createDockWindowMenu
+536 Q3MainWindow::setRightJustification
+544 Q3MainWindow::setUsesBigPixmaps
+552 Q3MainWindow::setUsesTextLabel
+560 Q3MainWindow::setDockWindowsMovable
+568 Q3MainWindow::setOpaqueMoving
+576 Q3MainWindow::setDockMenuEnabled
+584 Q3MainWindow::whatsThis
+592 Q3MainWindow::setAppropriate
+600 Q3MainWindow::customize
+608 Q3MainWindow::setUpLayout
+616 Q3MainWindow::showDockMenu
+624 Q3MainWindow::setMenuBar
+632 Q3MainWindow::setStatusBar
+640 (int (*)(...))-0x00000000000000010
+648 (int (*)(...))(& _ZTI12Q3MainWindow)
+656 Q3MainWindow::_ZThn16_N12Q3MainWindowD1Ev
+664 Q3MainWindow::_ZThn16_N12Q3MainWindowD0Ev
+672 QWidget::_ZThn16_NK7QWidget7devTypeEv
+680 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+688 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class Q3MainWindow
+ size=40 align=8
+ base size=40 base align=8
+Q3MainWindow (0x7f62d9248230) 0
+ vptr=((& Q3MainWindow::_ZTV12Q3MainWindow) + 16u)
+ QWidget (0x7f62d9246100) 0
+ primary-for Q3MainWindow (0x7f62d9248230)
+ QObject (0x7f62d92482a0) 0
+ primary-for QWidget (0x7f62d9246100)
+ QPaintDevice (0x7f62d9248310) 16
+ vptr=((& Q3MainWindow::_ZTV12Q3MainWindow) + 656u)
+
+Vtable for Q3PopupMenu
+Q3PopupMenu::_ZTV11Q3PopupMenu: 63u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11Q3PopupMenu)
+16 Q3PopupMenu::metaObject
+24 Q3PopupMenu::qt_metacast
+32 Q3PopupMenu::qt_metacall
+40 Q3PopupMenu::~Q3PopupMenu
+48 Q3PopupMenu::~Q3PopupMenu
+56 QMenu::event
+64 QObject::eventFilter
+72 QMenu::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QMenu::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QMenu::mousePressEvent
+168 QMenu::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QMenu::mouseMoveEvent
+192 QMenu::wheelEvent
+200 QMenu::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QMenu::enterEvent
+240 QMenu::leaveEvent
+248 QMenu::paintEvent
+256 QWidget::moveEvent
+264 QWidget::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QMenu::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QMenu::hideEvent
+352 QWidget::x11Event
+360 QMenu::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QMenu::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 (int (*)(...))-0x00000000000000010
+456 (int (*)(...))(& _ZTI11Q3PopupMenu)
+464 Q3PopupMenu::_ZThn16_N11Q3PopupMenuD1Ev
+472 Q3PopupMenu::_ZThn16_N11Q3PopupMenuD0Ev
+480 QWidget::_ZThn16_NK7QWidget7devTypeEv
+488 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+496 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class Q3PopupMenu
+ size=40 align=8
+ base size=40 base align=8
+Q3PopupMenu (0x7f62d928ab60) 0
+ vptr=((& Q3PopupMenu::_ZTV11Q3PopupMenu) + 16u)
+ QMenu (0x7f62d928abd0) 0
+ primary-for Q3PopupMenu (0x7f62d928ab60)
+ QWidget (0x7f62d9283880) 0
+ primary-for QMenu (0x7f62d928abd0)
+ QObject (0x7f62d928ac40) 0
+ primary-for QWidget (0x7f62d9283880)
+ QPaintDevice (0x7f62d928acb0) 16
+ vptr=((& Q3PopupMenu::_ZTV11Q3PopupMenu) + 464u)
+
+Vtable for Q3ProgressBar
+Q3ProgressBar::_ZTV13Q3ProgressBar: 66u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13Q3ProgressBar)
+16 Q3ProgressBar::metaObject
+24 Q3ProgressBar::qt_metacast
+32 Q3ProgressBar::qt_metacall
+40 Q3ProgressBar::~Q3ProgressBar
+48 Q3ProgressBar::~Q3ProgressBar
+56 QFrame::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 Q3ProgressBar::setVisible
+128 Q3ProgressBar::sizeHint
+136 Q3ProgressBar::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 Q3ProgressBar::paintEvent
+256 QWidget::moveEvent
+264 QWidget::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 Q3ProgressBar::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 Q3ProgressBar::setTotalSteps
+456 Q3ProgressBar::setProgress
+464 Q3ProgressBar::setIndicator
+472 (int (*)(...))-0x00000000000000010
+480 (int (*)(...))(& _ZTI13Q3ProgressBar)
+488 Q3ProgressBar::_ZThn16_N13Q3ProgressBarD1Ev
+496 Q3ProgressBar::_ZThn16_N13Q3ProgressBarD0Ev
+504 QWidget::_ZThn16_NK7QWidget7devTypeEv
+512 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+520 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class Q3ProgressBar
+ size=80 align=8
+ base size=80 base align=8
+Q3ProgressBar (0x7f62d92c00e0) 0
+ vptr=((& Q3ProgressBar::_ZTV13Q3ProgressBar) + 16u)
+ QFrame (0x7f62d92c0150) 0
+ primary-for Q3ProgressBar (0x7f62d92c00e0)
+ QWidget (0x7f62d92bc900) 0
+ primary-for QFrame (0x7f62d92c0150)
+ QObject (0x7f62d92c01c0) 0
+ primary-for QWidget (0x7f62d92bc900)
+ QPaintDevice (0x7f62d92c0230) 16
+ vptr=((& Q3ProgressBar::_ZTV13Q3ProgressBar) + 488u)
+
+Vtable for Q3RangeControl
+Q3RangeControl::_ZTV14Q3RangeControl: 7u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14Q3RangeControl)
+16 Q3RangeControl::~Q3RangeControl
+24 Q3RangeControl::~Q3RangeControl
+32 Q3RangeControl::valueChange
+40 Q3RangeControl::rangeChange
+48 Q3RangeControl::stepChange
+
+Class Q3RangeControl
+ size=40 align=8
+ base size=40 base align=8
+Q3RangeControl (0x7f62d92e58c0) 0
+ vptr=((& Q3RangeControl::_ZTV14Q3RangeControl) + 16u)
+
+Vtable for Q3SpinWidget
+Q3SpinWidget::_ZTV12Q3SpinWidget: 64u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12Q3SpinWidget)
+16 Q3SpinWidget::metaObject
+24 Q3SpinWidget::qt_metacast
+32 Q3SpinWidget::qt_metacall
+40 Q3SpinWidget::~Q3SpinWidget
+48 Q3SpinWidget::~Q3SpinWidget
+56 QWidget::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QWidget::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 Q3SpinWidget::mousePressEvent
+168 Q3SpinWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 Q3SpinWidget::mouseMoveEvent
+192 Q3SpinWidget::wheelEvent
+200 QWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 Q3SpinWidget::paintEvent
+256 QWidget::moveEvent
+264 Q3SpinWidget::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 Q3SpinWidget::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 Q3SpinWidget::setButtonSymbols
+456 (int (*)(...))-0x00000000000000010
+464 (int (*)(...))(& _ZTI12Q3SpinWidget)
+472 Q3SpinWidget::_ZThn16_N12Q3SpinWidgetD1Ev
+480 Q3SpinWidget::_ZThn16_N12Q3SpinWidgetD0Ev
+488 QWidget::_ZThn16_NK7QWidget7devTypeEv
+496 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+504 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class Q3SpinWidget
+ size=48 align=8
+ base size=48 base align=8
+Q3SpinWidget (0x7f62d92f5bd0) 0
+ vptr=((& Q3SpinWidget::_ZTV12Q3SpinWidget) + 16u)
+ QWidget (0x7f62d92e2e00) 0
+ primary-for Q3SpinWidget (0x7f62d92f5bd0)
+ QObject (0x7f62d92f5c40) 0
+ primary-for QWidget (0x7f62d92e2e00)
+ QPaintDevice (0x7f62d92f5cb0) 16
+ vptr=((& Q3SpinWidget::_ZTV12Q3SpinWidget) + 472u)
+
+Vtable for Q3VBox
+Q3VBox::_ZTV6Q3VBox: 66u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI6Q3VBox)
+16 Q3VBox::metaObject
+24 Q3VBox::qt_metacast
+32 Q3VBox::qt_metacall
+40 Q3VBox::~Q3VBox
+48 Q3VBox::~Q3VBox
+56 QFrame::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 Q3HBox::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 Q3Frame::paintEvent
+256 QWidget::moveEvent
+264 Q3Frame::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QFrame::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 Q3HBox::frameChanged
+456 Q3Frame::drawFrame
+464 Q3Frame::drawContents
+472 (int (*)(...))-0x00000000000000010
+480 (int (*)(...))(& _ZTI6Q3VBox)
+488 Q3VBox::_ZThn16_N6Q3VBoxD1Ev
+496 Q3VBox::_ZThn16_N6Q3VBoxD0Ev
+504 QWidget::_ZThn16_NK7QWidget7devTypeEv
+512 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+520 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class Q3VBox
+ size=48 align=8
+ base size=44 base align=8
+Q3VBox (0x7f62d9316380) 0
+ vptr=((& Q3VBox::_ZTV6Q3VBox) + 16u)
+ Q3HBox (0x7f62d93163f0) 0
+ primary-for Q3VBox (0x7f62d9316380)
+ Q3Frame (0x7f62d9316460) 0
+ primary-for Q3HBox (0x7f62d93163f0)
+ QFrame (0x7f62d93164d0) 0
+ primary-for Q3Frame (0x7f62d9316460)
+ QWidget (0x7f62d9300600) 0
+ primary-for QFrame (0x7f62d93164d0)
+ QObject (0x7f62d9316540) 0
+ primary-for QWidget (0x7f62d9300600)
+ QPaintDevice (0x7f62d93165b0) 16
+ vptr=((& Q3VBox::_ZTV6Q3VBox) + 488u)
+
+Vtable for Q3VGroupBox
+Q3VGroupBox::_ZTV11Q3VGroupBox: 64u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11Q3VGroupBox)
+16 Q3VGroupBox::metaObject
+24 Q3VGroupBox::qt_metacast
+32 Q3VGroupBox::qt_metacall
+40 Q3VGroupBox::~Q3VGroupBox
+48 Q3VGroupBox::~Q3VGroupBox
+56 Q3GroupBox::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 Q3GroupBox::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QWidget::sizeHint
+136 QGroupBox::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QGroupBox::mousePressEvent
+168 QGroupBox::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QGroupBox::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QGroupBox::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QGroupBox::paintEvent
+256 QWidget::moveEvent
+264 Q3GroupBox::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 Q3GroupBox::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 Q3GroupBox::setColumnLayout
+456 (int (*)(...))-0x00000000000000010
+464 (int (*)(...))(& _ZTI11Q3VGroupBox)
+472 Q3VGroupBox::_ZThn16_N11Q3VGroupBoxD1Ev
+480 Q3VGroupBox::_ZThn16_N11Q3VGroupBoxD0Ev
+488 QWidget::_ZThn16_NK7QWidget7devTypeEv
+496 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+504 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class Q3VGroupBox
+ size=48 align=8
+ base size=48 base align=8
+Q3VGroupBox (0x7f62d9327850) 0
+ vptr=((& Q3VGroupBox::_ZTV11Q3VGroupBox) + 16u)
+ Q3GroupBox (0x7f62d93278c0) 0
+ primary-for Q3VGroupBox (0x7f62d9327850)
+ QGroupBox (0x7f62d9327930) 0
+ primary-for Q3GroupBox (0x7f62d93278c0)
+ QWidget (0x7f62d9300d00) 0
+ primary-for QGroupBox (0x7f62d9327930)
+ QObject (0x7f62d93279a0) 0
+ primary-for QWidget (0x7f62d9300d00)
+ QPaintDevice (0x7f62d9327a10) 16
+ vptr=((& Q3VGroupBox::_ZTV11Q3VGroupBox) + 472u)
+
+Vtable for Q3WhatsThis
+Q3WhatsThis::_ZTV11Q3WhatsThis: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11Q3WhatsThis)
+16 Q3WhatsThis::metaObject
+24 Q3WhatsThis::qt_metacast
+32 Q3WhatsThis::qt_metacall
+40 Q3WhatsThis::~Q3WhatsThis
+48 Q3WhatsThis::~Q3WhatsThis
+56 QObject::event
+64 Q3WhatsThis::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 Q3WhatsThis::text
+120 Q3WhatsThis::clicked
+
+Class Q3WhatsThis
+ size=16 align=8
+ base size=16 base align=8
+Q3WhatsThis (0x7f62d9334e70) 0
+ vptr=((& Q3WhatsThis::_ZTV11Q3WhatsThis) + 16u)
+ QObject (0x7f62d9334ee0) 0
+ primary-for Q3WhatsThis (0x7f62d9334e70)
+
+Vtable for Q3WidgetStack
+Q3WidgetStack::_ZTV13Q3WidgetStack: 67u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13Q3WidgetStack)
+16 Q3WidgetStack::metaObject
+24 Q3WidgetStack::qt_metacast
+32 Q3WidgetStack::qt_metacall
+40 Q3WidgetStack::~Q3WidgetStack
+48 Q3WidgetStack::~Q3WidgetStack
+56 Q3WidgetStack::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 Q3WidgetStack::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 Q3WidgetStack::setVisible
+128 Q3WidgetStack::sizeHint
+136 Q3WidgetStack::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 Q3Frame::paintEvent
+256 QWidget::moveEvent
+264 Q3WidgetStack::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QFrame::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 Q3WidgetStack::frameChanged
+456 Q3Frame::drawFrame
+464 Q3Frame::drawContents
+472 Q3WidgetStack::setChildGeometries
+480 (int (*)(...))-0x00000000000000010
+488 (int (*)(...))(& _ZTI13Q3WidgetStack)
+496 Q3WidgetStack::_ZThn16_N13Q3WidgetStackD1Ev
+504 Q3WidgetStack::_ZThn16_N13Q3WidgetStackD0Ev
+512 QWidget::_ZThn16_NK7QWidget7devTypeEv
+520 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+528 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class Q3WidgetStack
+ size=88 align=8
+ base size=88 base align=8
+Q3WidgetStack (0x7f62d9158460) 0
+ vptr=((& Q3WidgetStack::_ZTV13Q3WidgetStack) + 16u)
+ Q3Frame (0x7f62d91584d0) 0
+ primary-for Q3WidgetStack (0x7f62d9158460)
+ QFrame (0x7f62d9158540) 0
+ primary-for Q3Frame (0x7f62d91584d0)
+ QWidget (0x7f62d915a280) 0
+ primary-for QFrame (0x7f62d9158540)
+ QObject (0x7f62d91585b0) 0
+ primary-for QWidget (0x7f62d915a280)
+ QPaintDevice (0x7f62d9158620) 16
+ vptr=((& Q3WidgetStack::_ZTV13Q3WidgetStack) + 496u)
+
diff --git a/tests/auto/bic/data/QtCore.4.5.0.linux-gcc-amd64.txt b/tests/auto/bic/data/QtCore.4.5.0.linux-gcc-amd64.txt
new file mode 100644
index 0000000000..c41d8c15ce
--- /dev/null
+++ b/tests/auto/bic/data/QtCore.4.5.0.linux-gcc-amd64.txt
@@ -0,0 +1,2343 @@
+Class QSysInfo
+ size=1 align=1
+ base size=0 base align=1
+QSysInfo (0x7f74d5406460) 0 empty
+
+Class QBool
+ size=1 align=1
+ base size=1 base align=1
+QBool (0x7f74d541b150) 0
+
+Class qIsNull(double)::U
+ size=8 align=8
+ base size=8 base align=8
+qIsNull(double)::U (0x7f74d5433540) 0
+
+Class qIsNull(float)::U
+ size=4 align=4
+ base size=4 base align=4
+qIsNull(float)::U (0x7f74d54337e0) 0
+
+Class QFlag
+ size=4 align=4
+ base size=4 base align=4
+QFlag (0x7f74d5469620) 0
+
+Class QIncompatibleFlag
+ size=4 align=4
+ base size=4 base align=4
+QIncompatibleFlag (0x7f74d5469e00) 0
+
+Class QInternal
+ size=1 align=1
+ base size=0 base align=1
+QInternal (0x7f74d4a63540) 0 empty
+
+Class QGenericArgument
+ size=16 align=8
+ base size=16 base align=8
+QGenericArgument (0x7f74d4a63850) 0
+
+Class QGenericReturnArgument
+ size=16 align=8
+ base size=16 base align=8
+QGenericReturnArgument (0x7f74d4a7f3f0) 0
+ QGenericArgument (0x7f74d4a7f460) 0
+
+Class QMetaObject
+ size=32 align=8
+ base size=32 base align=8
+QMetaObject (0x7f74d4a7fcb0) 0
+
+Class QMetaObjectExtraData
+ size=16 align=8
+ base size=16 base align=8
+QMetaObjectExtraData (0x7f74d4aa6cb0) 0
+
+Class QLatin1Char
+ size=1 align=1
+ base size=1 base align=1
+QLatin1Char (0x7f74d4ab2700) 0
+
+Class QChar
+ size=2 align=2
+ base size=2 base align=2
+QChar (0x7f74d4ab62a0) 0
+
+Class QBasicAtomicInt
+ size=4 align=4
+ base size=4 base align=4
+QBasicAtomicInt (0x7f74d491f380) 0
+
+Class QAtomicInt
+ size=4 align=4
+ base size=4 base align=4
+QAtomicInt (0x7f74d4959d20) 0
+ QBasicAtomicInt (0x7f74d4959d90) 0
+
+Class __locale_struct
+ size=232 align=8
+ base size=232 base align=8
+__locale_struct (0x7f74d49801c0) 0
+
+Class QByteArray::Data
+ size=32 align=8
+ base size=32 base align=8
+QByteArray::Data (0x7f74d47fd7e0) 0
+
+Class QByteArray
+ size=8 align=8
+ base size=8 base align=8
+QByteArray (0x7f74d49b7540) 0
+
+Class QByteRef
+ size=16 align=8
+ base size=12 base align=8
+QByteRef (0x7f74d4853a80) 0
+
+Class QString::Null
+ size=1 align=1
+ base size=0 base align=1
+QString::Null (0x7f74d475a700) 0 empty
+
+Class QString::Data
+ size=32 align=8
+ base size=32 base align=8
+QString::Data (0x7f74d4769ee0) 0
+
+Class QString
+ size=8 align=8
+ base size=8 base align=8
+QString (0x7f74d46d95b0) 0
+
+Class QLatin1String
+ size=8 align=8
+ base size=8 base align=8
+QLatin1String (0x7f74d4644000) 0
+
+Class QCharRef
+ size=16 align=8
+ base size=12 base align=8
+QCharRef (0x7f74d44da620) 0
+
+Class QConstString
+ size=8 align=8
+ base size=8 base align=8
+QConstString (0x7f74d4424ee0) 0
+ QString (0x7f74d4424f50) 0
+
+Class QStringRef
+ size=16 align=8
+ base size=16 base align=8
+QStringRef (0x7f74d4445bd0) 0
+
+Vtable for std::exception
+std::exception::_ZTVSt9exception: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt9exception)
+16 std::exception::~exception
+24 std::exception::~exception
+32 std::exception::what
+
+Class std::exception
+ size=8 align=8
+ base size=8 base align=8
+std::exception (0x7f74d4300620) 0 nearly-empty
+ vptr=((& std::exception::_ZTVSt9exception) + 16u)
+
+Vtable for std::bad_exception
+std::bad_exception::_ZTVSt13bad_exception: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt13bad_exception)
+16 std::bad_exception::~bad_exception
+24 std::bad_exception::~bad_exception
+32 std::bad_exception::what
+
+Class std::bad_exception
+ size=8 align=8
+ base size=8 base align=8
+std::bad_exception (0x7f74d4322000) 0 nearly-empty
+ vptr=((& std::bad_exception::_ZTVSt13bad_exception) + 16u)
+ std::exception (0x7f74d4322070) 0 nearly-empty
+ primary-for std::bad_exception (0x7f74d4322000)
+
+Vtable for std::bad_alloc
+std::bad_alloc::_ZTVSt9bad_alloc: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt9bad_alloc)
+16 std::bad_alloc::~bad_alloc
+24 std::bad_alloc::~bad_alloc
+32 std::bad_alloc::what
+
+Class std::bad_alloc
+ size=8 align=8
+ base size=8 base align=8
+std::bad_alloc (0x7f74d43228c0) 0 nearly-empty
+ vptr=((& std::bad_alloc::_ZTVSt9bad_alloc) + 16u)
+ std::exception (0x7f74d4322930) 0 nearly-empty
+ primary-for std::bad_alloc (0x7f74d43228c0)
+
+Class std::nothrow_t
+ size=1 align=1
+ base size=0 base align=1
+std::nothrow_t (0x7f74d43330e0) 0 empty
+
+Class QListData::Data
+ size=32 align=8
+ base size=32 base align=8
+QListData::Data (0x7f74d4333620) 0
+
+Class QListData
+ size=8 align=8
+ base size=8 base align=8
+QListData (0x7f74d43335b0) 0
+
+Vtable for QObjectData
+QObjectData::_ZTV11QObjectData: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QObjectData)
+16 __cxa_pure_virtual
+24 __cxa_pure_virtual
+
+Class QObjectData
+ size=40 align=8
+ base size=40 base align=8
+QObjectData (0x7f74d4235bd0) 0
+ vptr=((& QObjectData::_ZTV11QObjectData) + 16u)
+
+Vtable for QObject
+QObject::_ZTV7QObject: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QObject)
+16 QObject::metaObject
+24 QObject::qt_metacast
+32 QObject::qt_metacall
+40 QObject::~QObject
+48 QObject::~QObject
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QObject
+ size=16 align=8
+ base size=16 base align=8
+QObject (0x7f74d4235ee0) 0
+ vptr=((& QObject::_ZTV7QObject) + 16u)
+
+Vtable for QObjectUserData
+QObjectUserData::_ZTV15QObjectUserData: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QObjectUserData)
+16 QObjectUserData::~QObjectUserData
+24 QObjectUserData::~QObjectUserData
+
+Class QObjectUserData
+ size=8 align=8
+ base size=8 base align=8
+QObjectUserData (0x7f74d42c93f0) 0 nearly-empty
+ vptr=((& QObjectUserData::_ZTV15QObjectUserData) + 16u)
+
+Vtable for QIODevice
+QIODevice::_ZTV9QIODevice: 30u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QIODevice)
+16 QIODevice::metaObject
+24 QIODevice::qt_metacast
+32 QIODevice::qt_metacall
+40 QIODevice::~QIODevice
+48 QIODevice::~QIODevice
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QIODevice::isSequential
+120 QIODevice::open
+128 QIODevice::close
+136 QIODevice::pos
+144 QIODevice::size
+152 QIODevice::seek
+160 QIODevice::atEnd
+168 QIODevice::reset
+176 QIODevice::bytesAvailable
+184 QIODevice::bytesToWrite
+192 QIODevice::canReadLine
+200 QIODevice::waitForReadyRead
+208 QIODevice::waitForBytesWritten
+216 __cxa_pure_virtual
+224 QIODevice::readLineData
+232 __cxa_pure_virtual
+
+Class QIODevice
+ size=16 align=8
+ base size=16 base align=8
+QIODevice (0x7f74d42c9930) 0
+ vptr=((& QIODevice::_ZTV9QIODevice) + 16u)
+ QObject (0x7f74d42c99a0) 0
+ primary-for QIODevice (0x7f74d42c9930)
+
+Vtable for QDataStream
+QDataStream::_ZTV11QDataStream: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QDataStream)
+16 QDataStream::~QDataStream
+24 QDataStream::~QDataStream
+
+Class QDataStream
+ size=40 align=8
+ base size=40 base align=8
+QDataStream (0x7f74d412e2a0) 0
+ vptr=((& QDataStream::_ZTV11QDataStream) + 16u)
+
+Class QHashData::Node
+ size=16 align=8
+ base size=16 base align=8
+QHashData::Node (0x7f74d41b3150) 0
+
+Class QHashData
+ size=40 align=8
+ base size=40 base align=8
+QHashData (0x7f74d41b30e0) 0
+
+Class QHashDummyValue
+ size=1 align=1
+ base size=0 base align=1
+QHashDummyValue (0x7f74d3fc4ee0) 0 empty
+
+Class QMapData::Node
+ size=16 align=8
+ base size=16 base align=8
+QMapData::Node (0x7f74d3ed6690) 0
+
+Class QMapData
+ size=128 align=8
+ base size=128 base align=8
+QMapData (0x7f74d3ed6620) 0
+
+Vtable for QSystemLocale
+QSystemLocale::_ZTV13QSystemLocale: 6u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QSystemLocale)
+16 QSystemLocale::~QSystemLocale
+24 QSystemLocale::~QSystemLocale
+32 QSystemLocale::query
+40 QSystemLocale::fallbackLocale
+
+Class QSystemLocale
+ size=8 align=8
+ base size=8 base align=8
+QSystemLocale (0x7f74d3debe00) 0 nearly-empty
+ vptr=((& QSystemLocale::_ZTV13QSystemLocale) + 16u)
+
+Class QLocale::Data
+ size=4 align=2
+ base size=4 base align=2
+QLocale::Data (0x7f74d3e483f0) 0
+
+Class QLocale
+ size=8 align=8
+ base size=8 base align=8
+QLocale (0x7f74d3e0c0e0) 0
+
+Class QTextCodec::ConverterState
+ size=32 align=8
+ base size=32 base align=8
+QTextCodec::ConverterState (0x7f74d3e95e70) 0
+
+Vtable for QTextCodec
+QTextCodec::_ZTV10QTextCodec: 9u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QTextCodec)
+16 __cxa_pure_virtual
+24 QTextCodec::aliases
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+48 __cxa_pure_virtual
+56 QTextCodec::~QTextCodec
+64 QTextCodec::~QTextCodec
+
+Class QTextCodec
+ size=8 align=8
+ base size=8 base align=8
+QTextCodec (0x7f74d3e80a80) 0 nearly-empty
+ vptr=((& QTextCodec::_ZTV10QTextCodec) + 16u)
+
+Class QTextEncoder
+ size=40 align=8
+ base size=40 base align=8
+QTextEncoder (0x7f74d3d033f0) 0
+
+Class QTextDecoder
+ size=40 align=8
+ base size=40 base align=8
+QTextDecoder (0x7f74d3d0c230) 0
+
+Class _IO_marker
+ size=24 align=8
+ base size=24 base align=8
+_IO_marker (0x7f74d3d142a0) 0
+
+Class _IO_FILE
+ size=216 align=8
+ base size=216 base align=8
+_IO_FILE (0x7f74d3d14310) 0
+
+Vtable for QTextStream
+QTextStream::_ZTV11QTextStream: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QTextStream)
+16 QTextStream::~QTextStream
+24 QTextStream::~QTextStream
+
+Class QTextStream
+ size=16 align=8
+ base size=16 base align=8
+QTextStream (0x7f74d3d143f0) 0
+ vptr=((& QTextStream::_ZTV11QTextStream) + 16u)
+
+Class QTextStreamManipulator
+ size=40 align=8
+ base size=38 base align=8
+QTextStreamManipulator (0x7f74d3dacee0) 0
+
+Vtable for QTextIStream
+QTextIStream::_ZTV12QTextIStream: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QTextIStream)
+16 QTextIStream::~QTextIStream
+24 QTextIStream::~QTextIStream
+
+Class QTextIStream
+ size=16 align=8
+ base size=16 base align=8
+QTextIStream (0x7f74d3bd91c0) 0
+ vptr=((& QTextIStream::_ZTV12QTextIStream) + 16u)
+ QTextStream (0x7f74d3bd9230) 0
+ primary-for QTextIStream (0x7f74d3bd91c0)
+
+Vtable for QTextOStream
+QTextOStream::_ZTV12QTextOStream: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QTextOStream)
+16 QTextOStream::~QTextOStream
+24 QTextOStream::~QTextOStream
+
+Class QTextOStream
+ size=16 align=8
+ base size=16 base align=8
+QTextOStream (0x7f74d3bed070) 0
+ vptr=((& QTextOStream::_ZTV12QTextOStream) + 16u)
+ QTextStream (0x7f74d3bed0e0) 0
+ primary-for QTextOStream (0x7f74d3bed070)
+
+Class wait
+ size=4 align=4
+ base size=4 base align=4
+wait (0x7f74d3bfaee0) 0
+
+Class timespec
+ size=16 align=8
+ base size=16 base align=8
+timespec (0x7f74d3c07230) 0
+
+Class timeval
+ size=16 align=8
+ base size=16 base align=8
+timeval (0x7f74d3c072a0) 0
+
+Class __pthread_internal_list
+ size=16 align=8
+ base size=16 base align=8
+__pthread_internal_list (0x7f74d3c073f0) 0
+
+Class random_data
+ size=48 align=8
+ base size=48 base align=8
+random_data (0x7f74d3c079a0) 0
+
+Class drand48_data
+ size=24 align=8
+ base size=24 base align=8
+drand48_data (0x7f74d3c07a10) 0
+
+Class QVectorData
+ size=16 align=4
+ base size=16 base align=4
+QVectorData (0x7f74d3c07a80) 0
+
+Class QDebug::Stream
+ size=40 align=8
+ base size=34 base align=8
+QDebug::Stream (0x7f74d3b82230) 0
+
+Class QDebug
+ size=8 align=8
+ base size=8 base align=8
+QDebug (0x7f74d3b821c0) 0
+
+Class QNoDebug
+ size=1 align=1
+ base size=0 base align=1
+QNoDebug (0x7f74d3a1f070) 0 empty
+
+Vtable for QFile
+QFile::_ZTV5QFile: 31u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI5QFile)
+16 QFile::metaObject
+24 QFile::qt_metacast
+32 QFile::qt_metacall
+40 QFile::~QFile
+48 QFile::~QFile
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QFile::isSequential
+120 QFile::open
+128 QFile::close
+136 QFile::pos
+144 QFile::size
+152 QFile::seek
+160 QFile::atEnd
+168 QIODevice::reset
+176 QIODevice::bytesAvailable
+184 QIODevice::bytesToWrite
+192 QIODevice::canReadLine
+200 QIODevice::waitForReadyRead
+208 QIODevice::waitForBytesWritten
+216 QFile::readData
+224 QFile::readLineData
+232 QFile::writeData
+240 QFile::fileEngine
+
+Class QFile
+ size=16 align=8
+ base size=16 base align=8
+QFile (0x7f74d3a31620) 0
+ vptr=((& QFile::_ZTV5QFile) + 16u)
+ QIODevice (0x7f74d3a31690) 0
+ primary-for QFile (0x7f74d3a31620)
+ QObject (0x7f74d3a31700) 0
+ primary-for QIODevice (0x7f74d3a31690)
+
+Vtable for QTemporaryFile
+QTemporaryFile::_ZTV14QTemporaryFile: 31u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QTemporaryFile)
+16 QTemporaryFile::metaObject
+24 QTemporaryFile::qt_metacast
+32 QTemporaryFile::qt_metacall
+40 QTemporaryFile::~QTemporaryFile
+48 QTemporaryFile::~QTemporaryFile
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QFile::isSequential
+120 QTemporaryFile::open
+128 QFile::close
+136 QFile::pos
+144 QFile::size
+152 QFile::seek
+160 QFile::atEnd
+168 QIODevice::reset
+176 QIODevice::bytesAvailable
+184 QIODevice::bytesToWrite
+192 QIODevice::canReadLine
+200 QIODevice::waitForReadyRead
+208 QIODevice::waitForBytesWritten
+216 QFile::readData
+224 QFile::readLineData
+232 QFile::writeData
+240 QTemporaryFile::fileEngine
+
+Class QTemporaryFile
+ size=16 align=8
+ base size=16 base align=8
+QTemporaryFile (0x7f74d3a9d850) 0
+ vptr=((& QTemporaryFile::_ZTV14QTemporaryFile) + 16u)
+ QFile (0x7f74d3a9d8c0) 0
+ primary-for QTemporaryFile (0x7f74d3a9d850)
+ QIODevice (0x7f74d3a9d930) 0
+ primary-for QFile (0x7f74d3a9d8c0)
+ QObject (0x7f74d3a9d9a0) 0
+ primary-for QIODevice (0x7f74d3a9d930)
+
+Class QFileInfo
+ size=8 align=8
+ base size=8 base align=8
+QFileInfo (0x7f74d38bdf50) 0
+
+Class QRegExp
+ size=8 align=8
+ base size=8 base align=8
+QRegExp (0x7f74d391a770) 0
+
+Class QStringMatcher
+ size=1048 align=8
+ base size=1048 base align=8
+QStringMatcher (0x7f74d39665b0) 0
+
+Class QStringList
+ size=8 align=8
+ base size=8 base align=8
+QStringList (0x7f74d397b070) 0
+ QList<QString> (0x7f74d397b0e0) 0
+
+Class QDir
+ size=8 align=8
+ base size=8 base align=8
+QDir (0x7f74d3808cb0) 0
+
+Class QAbstractFileEngine::ExtensionOption
+ size=1 align=1
+ base size=0 base align=1
+QAbstractFileEngine::ExtensionOption (0x7f74d38a2e70) 0 empty
+
+Class QAbstractFileEngine::ExtensionReturn
+ size=1 align=1
+ base size=0 base align=1
+QAbstractFileEngine::ExtensionReturn (0x7f74d38a2ee0) 0 empty
+
+Class QAbstractFileEngine::MapExtensionOption
+ size=24 align=8
+ base size=20 base align=8
+QAbstractFileEngine::MapExtensionOption (0x7f74d38a2f50) 0
+ QAbstractFileEngine::ExtensionOption (0x7f74d38b6000) 0 empty
+
+Class QAbstractFileEngine::MapExtensionReturn
+ size=8 align=8
+ base size=8 base align=8
+QAbstractFileEngine::MapExtensionReturn (0x7f74d38b61c0) 0
+ QAbstractFileEngine::ExtensionReturn (0x7f74d38b6230) 0 empty
+
+Class QAbstractFileEngine::UnMapExtensionOption
+ size=8 align=8
+ base size=8 base align=8
+QAbstractFileEngine::UnMapExtensionOption (0x7f74d38b62a0) 0
+ QAbstractFileEngine::ExtensionOption (0x7f74d38b6310) 0 empty
+
+Vtable for QAbstractFileEngine
+QAbstractFileEngine::_ZTV19QAbstractFileEngine: 36u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QAbstractFileEngine)
+16 QAbstractFileEngine::~QAbstractFileEngine
+24 QAbstractFileEngine::~QAbstractFileEngine
+32 QAbstractFileEngine::open
+40 QAbstractFileEngine::close
+48 QAbstractFileEngine::flush
+56 QAbstractFileEngine::size
+64 QAbstractFileEngine::pos
+72 QAbstractFileEngine::seek
+80 QAbstractFileEngine::isSequential
+88 QAbstractFileEngine::remove
+96 QAbstractFileEngine::copy
+104 QAbstractFileEngine::rename
+112 QAbstractFileEngine::link
+120 QAbstractFileEngine::mkdir
+128 QAbstractFileEngine::rmdir
+136 QAbstractFileEngine::setSize
+144 QAbstractFileEngine::caseSensitive
+152 QAbstractFileEngine::isRelativePath
+160 QAbstractFileEngine::entryList
+168 QAbstractFileEngine::fileFlags
+176 QAbstractFileEngine::setPermissions
+184 QAbstractFileEngine::fileName
+192 QAbstractFileEngine::ownerId
+200 QAbstractFileEngine::owner
+208 QAbstractFileEngine::fileTime
+216 QAbstractFileEngine::setFileName
+224 QAbstractFileEngine::handle
+232 QAbstractFileEngine::beginEntryList
+240 QAbstractFileEngine::endEntryList
+248 QAbstractFileEngine::read
+256 QAbstractFileEngine::readLine
+264 QAbstractFileEngine::write
+272 QAbstractFileEngine::extension
+280 QAbstractFileEngine::supportsExtension
+
+Class QAbstractFileEngine
+ size=16 align=8
+ base size=16 base align=8
+QAbstractFileEngine (0x7f74d3891e00) 0
+ vptr=((& QAbstractFileEngine::_ZTV19QAbstractFileEngine) + 16u)
+
+Vtable for QAbstractFileEngineHandler
+QAbstractFileEngineHandler::_ZTV26QAbstractFileEngineHandler: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI26QAbstractFileEngineHandler)
+16 QAbstractFileEngineHandler::~QAbstractFileEngineHandler
+24 QAbstractFileEngineHandler::~QAbstractFileEngineHandler
+32 __cxa_pure_virtual
+
+Class QAbstractFileEngineHandler
+ size=8 align=8
+ base size=8 base align=8
+QAbstractFileEngineHandler (0x7f74d36e7000) 0 nearly-empty
+ vptr=((& QAbstractFileEngineHandler::_ZTV26QAbstractFileEngineHandler) + 16u)
+
+Vtable for QAbstractFileEngineIterator
+QAbstractFileEngineIterator::_ZTV27QAbstractFileEngineIterator: 9u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI27QAbstractFileEngineIterator)
+16 QAbstractFileEngineIterator::~QAbstractFileEngineIterator
+24 QAbstractFileEngineIterator::~QAbstractFileEngineIterator
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+48 __cxa_pure_virtual
+56 QAbstractFileEngineIterator::currentFileInfo
+64 QAbstractFileEngineIterator::entryInfo
+
+Class QAbstractFileEngineIterator
+ size=16 align=8
+ base size=16 base align=8
+QAbstractFileEngineIterator (0x7f74d36e71c0) 0
+ vptr=((& QAbstractFileEngineIterator::_ZTV27QAbstractFileEngineIterator) + 16u)
+
+Vtable for QFSFileEngine
+QFSFileEngine::_ZTV13QFSFileEngine: 36u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QFSFileEngine)
+16 QFSFileEngine::~QFSFileEngine
+24 QFSFileEngine::~QFSFileEngine
+32 QFSFileEngine::open
+40 QFSFileEngine::close
+48 QFSFileEngine::flush
+56 QFSFileEngine::size
+64 QFSFileEngine::pos
+72 QFSFileEngine::seek
+80 QFSFileEngine::isSequential
+88 QFSFileEngine::remove
+96 QFSFileEngine::copy
+104 QFSFileEngine::rename
+112 QFSFileEngine::link
+120 QFSFileEngine::mkdir
+128 QFSFileEngine::rmdir
+136 QFSFileEngine::setSize
+144 QFSFileEngine::caseSensitive
+152 QFSFileEngine::isRelativePath
+160 QFSFileEngine::entryList
+168 QFSFileEngine::fileFlags
+176 QFSFileEngine::setPermissions
+184 QFSFileEngine::fileName
+192 QFSFileEngine::ownerId
+200 QFSFileEngine::owner
+208 QFSFileEngine::fileTime
+216 QFSFileEngine::setFileName
+224 QFSFileEngine::handle
+232 QFSFileEngine::beginEntryList
+240 QFSFileEngine::endEntryList
+248 QFSFileEngine::read
+256 QFSFileEngine::readLine
+264 QFSFileEngine::write
+272 QFSFileEngine::extension
+280 QFSFileEngine::supportsExtension
+
+Class QFSFileEngine
+ size=16 align=8
+ base size=16 base align=8
+QFSFileEngine (0x7f74d36e7a10) 0
+ vptr=((& QFSFileEngine::_ZTV13QFSFileEngine) + 16u)
+ QAbstractFileEngine (0x7f74d36e7a80) 0
+ primary-for QFSFileEngine (0x7f74d36e7a10)
+
+Vtable for QProcess
+QProcess::_ZTV8QProcess: 31u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI8QProcess)
+16 QProcess::metaObject
+24 QProcess::qt_metacast
+32 QProcess::qt_metacall
+40 QProcess::~QProcess
+48 QProcess::~QProcess
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QProcess::isSequential
+120 QIODevice::open
+128 QProcess::close
+136 QIODevice::pos
+144 QIODevice::size
+152 QIODevice::seek
+160 QProcess::atEnd
+168 QIODevice::reset
+176 QProcess::bytesAvailable
+184 QProcess::bytesToWrite
+192 QProcess::canReadLine
+200 QProcess::waitForReadyRead
+208 QProcess::waitForBytesWritten
+216 QProcess::readData
+224 QIODevice::readLineData
+232 QProcess::writeData
+240 QProcess::setupChildProcess
+
+Class QProcess
+ size=16 align=8
+ base size=16 base align=8
+QProcess (0x7f74d36fdd20) 0
+ vptr=((& QProcess::_ZTV8QProcess) + 16u)
+ QIODevice (0x7f74d36fdd90) 0
+ primary-for QProcess (0x7f74d36fdd20)
+ QObject (0x7f74d36fde00) 0
+ primary-for QIODevice (0x7f74d36fdd90)
+
+Class QResource
+ size=8 align=8
+ base size=8 base align=8
+QResource (0x7f74d373a230) 0
+
+Vtable for QDirIterator
+QDirIterator::_ZTV12QDirIterator: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QDirIterator)
+16 QDirIterator::~QDirIterator
+24 QDirIterator::~QDirIterator
+
+Class QDirIterator
+ size=16 align=8
+ base size=16 base align=8
+QDirIterator (0x7f74d373acb0) 0
+ vptr=((& QDirIterator::_ZTV12QDirIterator) + 16u)
+
+Vtable for QBuffer
+QBuffer::_ZTV7QBuffer: 30u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QBuffer)
+16 QBuffer::metaObject
+24 QBuffer::qt_metacast
+32 QBuffer::qt_metacall
+40 QBuffer::~QBuffer
+48 QBuffer::~QBuffer
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QBuffer::connectNotify
+104 QBuffer::disconnectNotify
+112 QIODevice::isSequential
+120 QBuffer::open
+128 QBuffer::close
+136 QBuffer::pos
+144 QBuffer::size
+152 QBuffer::seek
+160 QBuffer::atEnd
+168 QIODevice::reset
+176 QIODevice::bytesAvailable
+184 QIODevice::bytesToWrite
+192 QBuffer::canReadLine
+200 QIODevice::waitForReadyRead
+208 QIODevice::waitForBytesWritten
+216 QBuffer::readData
+224 QIODevice::readLineData
+232 QBuffer::writeData
+
+Class QBuffer
+ size=16 align=8
+ base size=16 base align=8
+QBuffer (0x7f74d3769a80) 0
+ vptr=((& QBuffer::_ZTV7QBuffer) + 16u)
+ QIODevice (0x7f74d3769af0) 0
+ primary-for QBuffer (0x7f74d3769a80)
+ QObject (0x7f74d3769b60) 0
+ primary-for QIODevice (0x7f74d3769af0)
+
+Vtable for QFileSystemWatcher
+QFileSystemWatcher::_ZTV18QFileSystemWatcher: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QFileSystemWatcher)
+16 QFileSystemWatcher::metaObject
+24 QFileSystemWatcher::qt_metacast
+32 QFileSystemWatcher::qt_metacall
+40 QFileSystemWatcher::~QFileSystemWatcher
+48 QFileSystemWatcher::~QFileSystemWatcher
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QFileSystemWatcher
+ size=16 align=8
+ base size=16 base align=8
+QFileSystemWatcher (0x7f74d3792690) 0
+ vptr=((& QFileSystemWatcher::_ZTV18QFileSystemWatcher) + 16u)
+ QObject (0x7f74d3792700) 0
+ primary-for QFileSystemWatcher (0x7f74d3792690)
+
+Class QUrl
+ size=8 align=8
+ base size=8 base align=8
+QUrl (0x7f74d37a5bd0) 0
+
+Class QMetaType
+ size=1 align=1
+ base size=0 base align=1
+QMetaType (0x7f74d36103f0) 0 empty
+
+Class QVariant::PrivateShared
+ size=16 align=8
+ base size=12 base align=8
+QVariant::PrivateShared (0x7f74d34e3930) 0
+
+Class QVariant::Private::Data
+ size=8 align=8
+ base size=8 base align=8
+QVariant::Private::Data (0x7f74d34e3c40) 0
+
+Class QVariant::Private
+ size=16 align=8
+ base size=12 base align=8
+QVariant::Private (0x7f74d34e3a10) 0
+
+Class QVariant::Handler
+ size=72 align=8
+ base size=72 base align=8
+QVariant::Handler (0x7f74d34f1930) 0
+
+Class QVariant
+ size=16 align=8
+ base size=16 base align=8
+QVariant (0x7f74d34b2af0) 0
+
+Class QVariantComparisonHelper
+ size=8 align=8
+ base size=8 base align=8
+QVariantComparisonHelper (0x7f74d3396cb0) 0
+
+Vtable for QSettings
+QSettings::_ZTV9QSettings: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QSettings)
+16 QSettings::metaObject
+24 QSettings::qt_metacast
+32 QSettings::qt_metacall
+40 QSettings::~QSettings
+48 QSettings::~QSettings
+56 QSettings::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QSettings
+ size=16 align=8
+ base size=16 base align=8
+QSettings (0x7f74d33bacb0) 0
+ vptr=((& QSettings::_ZTV9QSettings) + 16u)
+ QObject (0x7f74d33bad20) 0
+ primary-for QSettings (0x7f74d33bacb0)
+
+Class QXmlStreamStringRef
+ size=16 align=8
+ base size=16 base align=8
+QXmlStreamStringRef (0x7f74d343d070) 0
+
+Class QXmlStreamAttribute
+ size=80 align=8
+ base size=73 base align=8
+QXmlStreamAttribute (0x7f74d345b850) 0
+
+Class QXmlStreamAttributes
+ size=8 align=8
+ base size=8 base align=8
+QXmlStreamAttributes (0x7f74d3482380) 0
+ QVector<QXmlStreamAttribute> (0x7f74d34823f0) 0
+
+Class QXmlStreamNamespaceDeclaration
+ size=40 align=8
+ base size=40 base align=8
+QXmlStreamNamespaceDeclaration (0x7f74d3482850) 0
+
+Class QXmlStreamNotationDeclaration
+ size=56 align=8
+ base size=56 base align=8
+QXmlStreamNotationDeclaration (0x7f74d32c41c0) 0
+
+Class QXmlStreamEntityDeclaration
+ size=88 align=8
+ base size=88 base align=8
+QXmlStreamEntityDeclaration (0x7f74d32e3070) 0
+
+Vtable for QXmlStreamEntityResolver
+QXmlStreamEntityResolver::_ZTV24QXmlStreamEntityResolver: 6u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI24QXmlStreamEntityResolver)
+16 QXmlStreamEntityResolver::~QXmlStreamEntityResolver
+24 QXmlStreamEntityResolver::~QXmlStreamEntityResolver
+32 QXmlStreamEntityResolver::resolveEntity
+40 QXmlStreamEntityResolver::resolveUndeclaredEntity
+
+Class QXmlStreamEntityResolver
+ size=8 align=8
+ base size=8 base align=8
+QXmlStreamEntityResolver (0x7f74d33009a0) 0 nearly-empty
+ vptr=((& QXmlStreamEntityResolver::_ZTV24QXmlStreamEntityResolver) + 16u)
+
+Class QXmlStreamReader
+ size=8 align=8
+ base size=8 base align=8
+QXmlStreamReader (0x7f74d3300b60) 0
+
+Class QXmlStreamWriter
+ size=8 align=8
+ base size=8 base align=8
+QXmlStreamWriter (0x7f74d333da10) 0
+
+Class QPoint
+ size=8 align=4
+ base size=8 base align=4
+QPoint (0x7f74d337b150) 0
+
+Class QPointF
+ size=16 align=8
+ base size=16 base align=8
+QPointF (0x7f74d31b1d90) 0
+
+Class QLine
+ size=16 align=4
+ base size=16 base align=4
+QLine (0x7f74d31efbd0) 0
+
+Class QLineF
+ size=32 align=8
+ base size=32 base align=8
+QLineF (0x7f74d3228a80) 0
+
+Class QSize
+ size=8 align=4
+ base size=8 base align=4
+QSize (0x7f74d3285540) 0
+
+Class QSizeF
+ size=16 align=8
+ base size=16 base align=8
+QSizeF (0x7f74d30d0380) 0
+
+Class QRect
+ size=16 align=4
+ base size=16 base align=4
+QRect (0x7f74d311e9a0) 0
+
+Class QRectF
+ size=32 align=8
+ base size=32 base align=8
+QRectF (0x7f74d2fcc380) 0
+
+Class QSharedData
+ size=4 align=4
+ base size=4 base align=4
+QSharedData (0x7f74d3078150) 0
+
+Vtable for QtSharedPointer::ExternalRefCountData
+QtSharedPointer::ExternalRefCountData::_ZTVN15QtSharedPointer20ExternalRefCountDataE: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN15QtSharedPointer20ExternalRefCountDataE)
+16 QtSharedPointer::ExternalRefCountData::~ExternalRefCountData
+24 QtSharedPointer::ExternalRefCountData::~ExternalRefCountData
+32 QtSharedPointer::ExternalRefCountData::destroy
+
+Class QtSharedPointer::ExternalRefCountData
+ size=16 align=8
+ base size=16 base align=8
+QtSharedPointer::ExternalRefCountData (0x7f74d2ea7af0) 0
+ vptr=((& QtSharedPointer::ExternalRefCountData::_ZTVN15QtSharedPointer20ExternalRefCountDataE) + 16u)
+
+Class QLinkedListData
+ size=32 align=8
+ base size=32 base align=8
+QLinkedListData (0x7f74d2f2fc40) 0
+
+Class QBitArray
+ size=8 align=8
+ base size=8 base align=8
+QBitArray (0x7f74d2dfbb60) 0
+
+Class QBitRef
+ size=16 align=8
+ base size=12 base align=8
+QBitRef (0x7f74d2e6d930) 0
+
+Class QByteArrayMatcher
+ size=1040 align=8
+ base size=1040 base align=8
+QByteArrayMatcher (0x7f74d2c88310) 0
+
+Class QCryptographicHash
+ size=8 align=8
+ base size=8 base align=8
+QCryptographicHash (0x7f74d2c99a10) 0
+
+Class QTextBoundaryFinder
+ size=48 align=8
+ base size=48 base align=8
+QTextBoundaryFinder (0x7f74d2cc8460) 0
+
+Class QDate
+ size=4 align=4
+ base size=4 base align=4
+QDate (0x7f74d2cdd7e0) 0
+
+Class QTime
+ size=4 align=4
+ base size=4 base align=4
+QTime (0x7f74d2d05770) 0
+
+Class QDateTime
+ size=8 align=8
+ base size=8 base align=8
+QDateTime (0x7f74d2d22d20) 0
+
+Vtable for QTimeLine
+QTimeLine::_ZTV9QTimeLine: 15u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QTimeLine)
+16 QTimeLine::metaObject
+24 QTimeLine::qt_metacast
+32 QTimeLine::qt_metacall
+40 QTimeLine::~QTimeLine
+48 QTimeLine::~QTimeLine
+56 QObject::event
+64 QObject::eventFilter
+72 QTimeLine::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QTimeLine::valueForTime
+
+Class QTimeLine
+ size=16 align=8
+ base size=16 base align=8
+QTimeLine (0x7f74d2d581c0) 0
+ vptr=((& QTimeLine::_ZTV9QTimeLine) + 16u)
+ QObject (0x7f74d2d58230) 0
+ primary-for QTimeLine (0x7f74d2d581c0)
+
+Vtable for QRunnable
+QRunnable::_ZTV9QRunnable: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QRunnable)
+16 __cxa_pure_virtual
+24 QRunnable::~QRunnable
+32 QRunnable::~QRunnable
+
+Class QRunnable
+ size=16 align=8
+ base size=12 base align=8
+QRunnable (0x7f74d2d7e070) 0
+ vptr=((& QRunnable::_ZTV9QRunnable) + 16u)
+
+Class QMutex
+ size=8 align=8
+ base size=8 base align=8
+QMutex (0x7f74d2b8b700) 0
+
+Class QMutexLocker
+ size=8 align=8
+ base size=8 base align=8
+QMutexLocker (0x7f74d2b992a0) 0
+
+Vtable for QtConcurrent::Exception
+QtConcurrent::Exception::_ZTVN12QtConcurrent9ExceptionE: 7u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN12QtConcurrent9ExceptionE)
+16 QtConcurrent::Exception::~Exception
+24 QtConcurrent::Exception::~Exception
+32 std::exception::what
+40 QtConcurrent::Exception::raise
+48 QtConcurrent::Exception::clone
+
+Class QtConcurrent::Exception
+ size=8 align=8
+ base size=8 base align=8
+QtConcurrent::Exception (0x7f74d2baf5b0) 0 nearly-empty
+ vptr=((& QtConcurrent::Exception::_ZTVN12QtConcurrent9ExceptionE) + 16u)
+ std::exception (0x7f74d2baf620) 0 nearly-empty
+ primary-for QtConcurrent::Exception (0x7f74d2baf5b0)
+
+Vtable for QtConcurrent::UnhandledException
+QtConcurrent::UnhandledException::_ZTVN12QtConcurrent18UnhandledExceptionE: 7u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN12QtConcurrent18UnhandledExceptionE)
+16 QtConcurrent::UnhandledException::~UnhandledException
+24 QtConcurrent::UnhandledException::~UnhandledException
+32 std::exception::what
+40 QtConcurrent::UnhandledException::raise
+48 QtConcurrent::UnhandledException::clone
+
+Class QtConcurrent::UnhandledException
+ size=8 align=8
+ base size=8 base align=8
+QtConcurrent::UnhandledException (0x7f74d2baf850) 0 nearly-empty
+ vptr=((& QtConcurrent::UnhandledException::_ZTVN12QtConcurrent18UnhandledExceptionE) + 16u)
+ QtConcurrent::Exception (0x7f74d2baf8c0) 0 nearly-empty
+ primary-for QtConcurrent::UnhandledException (0x7f74d2baf850)
+ std::exception (0x7f74d2baf930) 0 nearly-empty
+ primary-for QtConcurrent::Exception (0x7f74d2baf8c0)
+
+Class QtConcurrent::internal::ExceptionHolder
+ size=8 align=8
+ base size=8 base align=8
+QtConcurrent::internal::ExceptionHolder (0x7f74d2bafb60) 0
+
+Class QtConcurrent::internal::ExceptionStore
+ size=8 align=8
+ base size=8 base align=8
+QtConcurrent::internal::ExceptionStore (0x7f74d2bafee0) 0
+
+Class QtConcurrent::ResultItem
+ size=16 align=8
+ base size=16 base align=8
+QtConcurrent::ResultItem (0x7f74d2baff50) 0
+
+Class QtConcurrent::ResultIteratorBase
+ size=16 align=8
+ base size=12 base align=8
+QtConcurrent::ResultIteratorBase (0x7f74d2bc7e70) 0
+
+Vtable for QtConcurrent::ResultStoreBase
+QtConcurrent::ResultStoreBase::_ZTVN12QtConcurrent15ResultStoreBaseE: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN12QtConcurrent15ResultStoreBaseE)
+16 QtConcurrent::ResultStoreBase::~ResultStoreBase
+24 QtConcurrent::ResultStoreBase::~ResultStoreBase
+
+Class QtConcurrent::ResultStoreBase
+ size=48 align=8
+ base size=44 base align=8
+QtConcurrent::ResultStoreBase (0x7f74d2bcca10) 0
+ vptr=((& QtConcurrent::ResultStoreBase::_ZTVN12QtConcurrent15ResultStoreBaseE) + 16u)
+
+Vtable for QFutureInterfaceBase
+QFutureInterfaceBase::_ZTV20QFutureInterfaceBase: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI20QFutureInterfaceBase)
+16 QFutureInterfaceBase::~QFutureInterfaceBase
+24 QFutureInterfaceBase::~QFutureInterfaceBase
+
+Class QFutureInterfaceBase
+ size=16 align=8
+ base size=16 base align=8
+QFutureInterfaceBase (0x7f74d2c0be70) 0
+ vptr=((& QFutureInterfaceBase::_ZTV20QFutureInterfaceBase) + 16u)
+
+Vtable for QThread
+QThread::_ZTV7QThread: 15u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QThread)
+16 QThread::metaObject
+24 QThread::qt_metacast
+32 QThread::qt_metacall
+40 QThread::~QThread
+48 QThread::~QThread
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QThread::run
+
+Class QThread
+ size=16 align=8
+ base size=16 base align=8
+QThread (0x7f74d2af0e00) 0
+ vptr=((& QThread::_ZTV7QThread) + 16u)
+ QObject (0x7f74d2af0e70) 0
+ primary-for QThread (0x7f74d2af0e00)
+
+Vtable for QThreadPool
+QThreadPool::_ZTV11QThreadPool: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QThreadPool)
+16 QThreadPool::metaObject
+24 QThreadPool::qt_metacast
+32 QThreadPool::qt_metacall
+40 QThreadPool::~QThreadPool
+48 QThreadPool::~QThreadPool
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QThreadPool
+ size=16 align=8
+ base size=16 base align=8
+QThreadPool (0x7f74d2b22cb0) 0
+ vptr=((& QThreadPool::_ZTV11QThreadPool) + 16u)
+ QObject (0x7f74d2b22d20) 0
+ primary-for QThreadPool (0x7f74d2b22cb0)
+
+Class QWaitCondition
+ size=8 align=8
+ base size=8 base align=8
+QWaitCondition (0x7f74d2b3c540) 0
+
+Class QtConcurrent::ThreadEngineSemaphore
+ size=24 align=8
+ base size=24 base align=8
+QtConcurrent::ThreadEngineSemaphore (0x7f74d2b3ca80) 0
+
+Vtable for QtConcurrent::ThreadEngineBase
+QtConcurrent::ThreadEngineBase::_ZTVN12QtConcurrent16ThreadEngineBaseE: 11u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN12QtConcurrent16ThreadEngineBaseE)
+16 QtConcurrent::ThreadEngineBase::run
+24 QtConcurrent::ThreadEngineBase::~ThreadEngineBase
+32 QtConcurrent::ThreadEngineBase::~ThreadEngineBase
+40 QtConcurrent::ThreadEngineBase::start
+48 QtConcurrent::ThreadEngineBase::finish
+56 QtConcurrent::ThreadEngineBase::threadFunction
+64 QtConcurrent::ThreadEngineBase::shouldStartThread
+72 QtConcurrent::ThreadEngineBase::shouldThrottleThread
+80 __cxa_pure_virtual
+
+Class QtConcurrent::ThreadEngineBase
+ size=64 align=8
+ base size=64 base align=8
+QtConcurrent::ThreadEngineBase (0x7f74d2b5c460) 0
+ vptr=((& QtConcurrent::ThreadEngineBase::_ZTVN12QtConcurrent16ThreadEngineBaseE) + 16u)
+ QRunnable (0x7f74d2b5c4d0) 0
+ primary-for QtConcurrent::ThreadEngineBase (0x7f74d2b5c460)
+
+VTT for QtConcurrent::ThreadEngine<void>
+QtConcurrent::ThreadEngine<void>::_ZTTN12QtConcurrent12ThreadEngineIvEE: 2u entries
+0 ((& QtConcurrent::ThreadEngine<void>::_ZTVN12QtConcurrent12ThreadEngineIvEE) + 24u)
+8 ((& QtConcurrent::ThreadEngine<void>::_ZTVN12QtConcurrent12ThreadEngineIvEE) + 136u)
+
+Class std::input_iterator_tag
+ size=1 align=1
+ base size=0 base align=1
+std::input_iterator_tag (0x7f74d299d850) 0 empty
+
+Class std::output_iterator_tag
+ size=1 align=1
+ base size=0 base align=1
+std::output_iterator_tag (0x7f74d299d8c0) 0 empty
+
+Class std::forward_iterator_tag
+ size=1 align=1
+ base size=1 base align=1
+std::forward_iterator_tag (0x7f74d299d930) 0 empty
+ std::input_iterator_tag (0x7f74d299d9a0) 0 empty
+
+Class std::bidirectional_iterator_tag
+ size=1 align=1
+ base size=1 base align=1
+std::bidirectional_iterator_tag (0x7f74d299da10) 0 empty
+ std::forward_iterator_tag (0x7f74d299da80) 0 empty
+ std::input_iterator_tag (0x7f74d299daf0) 0 empty
+
+Class std::random_access_iterator_tag
+ size=1 align=1
+ base size=1 base align=1
+std::random_access_iterator_tag (0x7f74d299db60) 0 empty
+ std::bidirectional_iterator_tag (0x7f74d299dbd0) 0 empty
+ std::forward_iterator_tag (0x7f74d299dc40) 0 empty
+ std::input_iterator_tag (0x7f74d299dcb0) 0 empty
+
+Class std::__true_type
+ size=1 align=1
+ base size=0 base align=1
+std::__true_type (0x7f74d29af2a0) 0 empty
+
+Class std::__false_type
+ size=1 align=1
+ base size=0 base align=1
+std::__false_type (0x7f74d29af310) 0 empty
+
+Class lconv
+ size=96 align=8
+ base size=96 base align=8
+lconv (0x7f74d278a620) 0
+
+Class sched_param
+ size=4 align=4
+ base size=4 base align=4
+sched_param (0x7f74d278aa80) 0
+
+Class __sched_param
+ size=4 align=4
+ base size=4 base align=4
+__sched_param (0x7f74d278aaf0) 0
+
+Class tm
+ size=56 align=8
+ base size=56 base align=8
+tm (0x7f74d278abd0) 0
+
+Class itimerspec
+ size=32 align=8
+ base size=32 base align=8
+itimerspec (0x7f74d278acb0) 0
+
+Class _pthread_cleanup_buffer
+ size=32 align=8
+ base size=32 base align=8
+_pthread_cleanup_buffer (0x7f74d278ad20) 0
+
+Class __pthread_cleanup_frame
+ size=24 align=8
+ base size=24 base align=8
+__pthread_cleanup_frame (0x7f74d278ae70) 0
+
+Class __pthread_cleanup_class
+ size=24 align=8
+ base size=24 base align=8
+__pthread_cleanup_class (0x7f74d278aee0) 0
+
+Vtable for __cxxabiv1::__forced_unwind
+__cxxabiv1::__forced_unwind::_ZTVN10__cxxabiv115__forced_unwindE: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN10__cxxabiv115__forced_unwindE)
+16 __cxxabiv1::__forced_unwind::~__forced_unwind
+24 __cxxabiv1::__forced_unwind::~__forced_unwind
+32 __cxa_pure_virtual
+
+Class __cxxabiv1::__forced_unwind
+ size=8 align=8
+ base size=8 base align=8
+__cxxabiv1::__forced_unwind (0x7f74d26a1a80) 0 nearly-empty
+ vptr=((& __cxxabiv1::__forced_unwind::_ZTVN10__cxxabiv115__forced_unwindE) + 16u)
+
+Class std::locale
+ size=8 align=8
+ base size=8 base align=8
+std::locale (0x7f74d25525b0) 0
+
+Vtable for std::locale::facet
+std::locale::facet::_ZTVNSt6locale5facetE: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTINSt6locale5facetE)
+16 std::locale::facet::~facet
+24 std::locale::facet::~facet
+
+Class std::locale::facet
+ size=16 align=8
+ base size=12 base align=8
+std::locale::facet (0x7f74d23f5cb0) 0
+ vptr=((& std::locale::facet::_ZTVNSt6locale5facetE) + 16u)
+
+Class std::locale::id
+ size=8 align=8
+ base size=8 base align=8
+std::locale::id (0x7f74d24092a0) 0
+
+Class std::locale::_Impl
+ size=40 align=8
+ base size=40 base align=8
+std::locale::_Impl (0x7f74d24098c0) 0
+
+Vtable for std::ios_base::failure
+std::ios_base::failure::_ZTVNSt8ios_base7failureE: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTINSt8ios_base7failureE)
+16 std::ios_base::failure::~failure
+24 std::ios_base::failure::~failure
+32 std::ios_base::failure::what
+
+Class std::ios_base::failure
+ size=16 align=8
+ base size=16 base align=8
+std::ios_base::failure (0x7f74d2298070) 0
+ vptr=((& std::ios_base::failure::_ZTVNSt8ios_base7failureE) + 16u)
+ std::exception (0x7f74d22980e0) 0 nearly-empty
+ primary-for std::ios_base::failure (0x7f74d2298070)
+
+Class std::ios_base::_Callback_list
+ size=24 align=8
+ base size=24 base align=8
+std::ios_base::_Callback_list (0x7f74d22a6310) 0
+
+Class std::ios_base::_Words
+ size=16 align=8
+ base size=16 base align=8
+std::ios_base::_Words (0x7f74d22a6d90) 0
+
+Class std::ios_base::Init
+ size=1 align=1
+ base size=0 base align=1
+std::ios_base::Init (0x7f74d22ad4d0) 0 empty
+
+Vtable for std::ios_base
+std::ios_base::_ZTVSt8ios_base: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt8ios_base)
+16 std::ios_base::~ios_base
+24 std::ios_base::~ios_base
+
+Class std::ios_base
+ size=216 align=8
+ base size=216 base align=8
+std::ios_base (0x7f74d2298000) 0
+ vptr=((& std::ios_base::_ZTVSt8ios_base) + 16u)
+
+Class std::ctype_base
+ size=1 align=1
+ base size=0 base align=1
+std::ctype_base (0x7f74d2325930) 0 empty
+
+Class std::__num_base
+ size=1 align=1
+ base size=0 base align=1
+std::__num_base (0x7f74d224a1c0) 0 empty
+
+VTT for std::basic_ostream<char, std::char_traits<char> >
+std::basic_ostream<char, std::char_traits<char> >::_ZTTSo: 2u entries
+0 ((& std::basic_ostream<char, std::char_traits<char> >::_ZTVSo) + 24u)
+8 ((& std::basic_ostream<char, std::char_traits<char> >::_ZTVSo) + 64u)
+
+VTT for std::basic_ostream<wchar_t, std::char_traits<wchar_t> >
+std::basic_ostream<wchar_t, std::char_traits<wchar_t> >::_ZTTSt13basic_ostreamIwSt11char_traitsIwEE: 2u entries
+0 ((& std::basic_ostream<wchar_t, std::char_traits<wchar_t> >::_ZTVSt13basic_ostreamIwSt11char_traitsIwEE) + 24u)
+8 ((& std::basic_ostream<wchar_t, std::char_traits<wchar_t> >::_ZTVSt13basic_ostreamIwSt11char_traitsIwEE) + 64u)
+
+VTT for std::basic_istream<char, std::char_traits<char> >
+std::basic_istream<char, std::char_traits<char> >::_ZTTSi: 2u entries
+0 ((& std::basic_istream<char, std::char_traits<char> >::_ZTVSi) + 24u)
+8 ((& std::basic_istream<char, std::char_traits<char> >::_ZTVSi) + 64u)
+
+VTT for std::basic_istream<wchar_t, std::char_traits<wchar_t> >
+std::basic_istream<wchar_t, std::char_traits<wchar_t> >::_ZTTSt13basic_istreamIwSt11char_traitsIwEE: 2u entries
+0 ((& std::basic_istream<wchar_t, std::char_traits<wchar_t> >::_ZTVSt13basic_istreamIwSt11char_traitsIwEE) + 24u)
+8 ((& std::basic_istream<wchar_t, std::char_traits<wchar_t> >::_ZTVSt13basic_istreamIwSt11char_traitsIwEE) + 64u)
+
+Construction vtable for std::basic_istream<char, std::char_traits<char> > (0x7f74d1d76310 instance) in std::basic_iostream<char, std::char_traits<char> >
+std::basic_iostream<char, std::char_traits<char> >::_ZTCSd0_Si: 10u entries
+0 24u
+8 (int (*)(...))0
+16 (int (*)(...))(& _ZTISi)
+24 std::basic_istream<_CharT, _Traits>::~basic_istream [with _CharT = char, _Traits = std::char_traits<char>]
+32 std::basic_istream<_CharT, _Traits>::~basic_istream [with _CharT = char, _Traits = std::char_traits<char>]
+40 -24u
+48 (int (*)(...))-0x00000000000000018
+56 (int (*)(...))(& _ZTISi)
+64 std::basic_istream<char, std::char_traits<char> >::_ZTv0_n24_NSiD1Ev
+72 std::basic_istream<char, std::char_traits<char> >::_ZTv0_n24_NSiD0Ev
+
+Construction vtable for std::basic_ostream<char, std::char_traits<char> > (0x7f74d1d76460 instance) in std::basic_iostream<char, std::char_traits<char> >
+std::basic_iostream<char, std::char_traits<char> >::_ZTCSd16_So: 10u entries
+0 8u
+8 (int (*)(...))0
+16 (int (*)(...))(& _ZTISo)
+24 std::basic_ostream<_CharT, _Traits>::~basic_ostream [with _CharT = char, _Traits = std::char_traits<char>]
+32 std::basic_ostream<_CharT, _Traits>::~basic_ostream [with _CharT = char, _Traits = std::char_traits<char>]
+40 -8u
+48 (int (*)(...))-0x00000000000000008
+56 (int (*)(...))(& _ZTISo)
+64 std::basic_ostream<char, std::char_traits<char> >::_ZTv0_n24_NSoD1Ev
+72 std::basic_ostream<char, std::char_traits<char> >::_ZTv0_n24_NSoD0Ev
+
+VTT for std::basic_iostream<char, std::char_traits<char> >
+std::basic_iostream<char, std::char_traits<char> >::_ZTTSd: 7u entries
+0 ((& std::basic_iostream<char, std::char_traits<char> >::_ZTVSd) + 24u)
+8 ((& std::basic_iostream<char, std::char_traits<char> >::_ZTCSd0_Si) + 24u)
+16 ((& std::basic_iostream<char, std::char_traits<char> >::_ZTCSd0_Si) + 64u)
+24 ((& std::basic_iostream<char, std::char_traits<char> >::_ZTCSd16_So) + 24u)
+32 ((& std::basic_iostream<char, std::char_traits<char> >::_ZTCSd16_So) + 64u)
+40 ((& std::basic_iostream<char, std::char_traits<char> >::_ZTVSd) + 104u)
+48 ((& std::basic_iostream<char, std::char_traits<char> >::_ZTVSd) + 64u)
+
+Construction vtable for std::basic_istream<wchar_t, std::char_traits<wchar_t> > (0x7f74d1d76620 instance) in std::basic_iostream<wchar_t, std::char_traits<wchar_t> >
+std::basic_iostream<wchar_t, std::char_traits<wchar_t> >::_ZTCSt14basic_iostreamIwSt11char_traitsIwEE0_St13basic_istreamIwS1_E: 10u entries
+0 24u
+8 (int (*)(...))0
+16 (int (*)(...))(& _ZTISt13basic_istreamIwSt11char_traitsIwEE)
+24 std::basic_istream<_CharT, _Traits>::~basic_istream [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
+32 std::basic_istream<_CharT, _Traits>::~basic_istream [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
+40 -24u
+48 (int (*)(...))-0x00000000000000018
+56 (int (*)(...))(& _ZTISt13basic_istreamIwSt11char_traitsIwEE)
+64 std::basic_istream<wchar_t, std::char_traits<wchar_t> >::_ZTv0_n24_NSt13basic_istreamIwSt11char_traitsIwEED1Ev
+72 std::basic_istream<wchar_t, std::char_traits<wchar_t> >::_ZTv0_n24_NSt13basic_istreamIwSt11char_traitsIwEED0Ev
+
+Construction vtable for std::basic_ostream<wchar_t, std::char_traits<wchar_t> > (0x7f74d1d76770 instance) in std::basic_iostream<wchar_t, std::char_traits<wchar_t> >
+std::basic_iostream<wchar_t, std::char_traits<wchar_t> >::_ZTCSt14basic_iostreamIwSt11char_traitsIwEE16_St13basic_ostreamIwS1_E: 10u entries
+0 8u
+8 (int (*)(...))0
+16 (int (*)(...))(& _ZTISt13basic_ostreamIwSt11char_traitsIwEE)
+24 std::basic_ostream<_CharT, _Traits>::~basic_ostream [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
+32 std::basic_ostream<_CharT, _Traits>::~basic_ostream [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
+40 -8u
+48 (int (*)(...))-0x00000000000000008
+56 (int (*)(...))(& _ZTISt13basic_ostreamIwSt11char_traitsIwEE)
+64 std::basic_ostream<wchar_t, std::char_traits<wchar_t> >::_ZTv0_n24_NSt13basic_ostreamIwSt11char_traitsIwEED1Ev
+72 std::basic_ostream<wchar_t, std::char_traits<wchar_t> >::_ZTv0_n24_NSt13basic_ostreamIwSt11char_traitsIwEED0Ev
+
+VTT for std::basic_iostream<wchar_t, std::char_traits<wchar_t> >
+std::basic_iostream<wchar_t, std::char_traits<wchar_t> >::_ZTTSt14basic_iostreamIwSt11char_traitsIwEE: 7u entries
+0 ((& std::basic_iostream<wchar_t, std::char_traits<wchar_t> >::_ZTVSt14basic_iostreamIwSt11char_traitsIwEE) + 24u)
+8 ((& std::basic_iostream<wchar_t, std::char_traits<wchar_t> >::_ZTCSt14basic_iostreamIwSt11char_traitsIwEE0_St13basic_istreamIwS1_E) + 24u)
+16 ((& std::basic_iostream<wchar_t, std::char_traits<wchar_t> >::_ZTCSt14basic_iostreamIwSt11char_traitsIwEE0_St13basic_istreamIwS1_E) + 64u)
+24 ((& std::basic_iostream<wchar_t, std::char_traits<wchar_t> >::_ZTCSt14basic_iostreamIwSt11char_traitsIwEE16_St13basic_ostreamIwS1_E) + 24u)
+32 ((& std::basic_iostream<wchar_t, std::char_traits<wchar_t> >::_ZTCSt14basic_iostreamIwSt11char_traitsIwEE16_St13basic_ostreamIwS1_E) + 64u)
+40 ((& std::basic_iostream<wchar_t, std::char_traits<wchar_t> >::_ZTVSt14basic_iostreamIwSt11char_traitsIwEE) + 104u)
+48 ((& std::basic_iostream<wchar_t, std::char_traits<wchar_t> >::_ZTVSt14basic_iostreamIwSt11char_traitsIwEE) + 64u)
+
+Class QtConcurrent::BlockSizeManager
+ size=96 align=8
+ base size=92 base align=8
+QtConcurrent::BlockSizeManager (0x7f74d1de0230) 0
+
+Vtable for QFutureWatcherBase
+QFutureWatcherBase::_ZTV18QFutureWatcherBase: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QFutureWatcherBase)
+16 QFutureWatcherBase::metaObject
+24 QFutureWatcherBase::qt_metacast
+32 QFutureWatcherBase::qt_metacall
+40 QFutureWatcherBase::~QFutureWatcherBase
+48 QFutureWatcherBase::~QFutureWatcherBase
+56 QFutureWatcherBase::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QFutureWatcherBase::connectNotify
+104 QFutureWatcherBase::disconnectNotify
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+
+Class QFutureWatcherBase
+ size=16 align=8
+ base size=16 base align=8
+QFutureWatcherBase (0x7f74d19aabd0) 0
+ vptr=((& QFutureWatcherBase::_ZTV18QFutureWatcherBase) + 16u)
+ QObject (0x7f74d19aac40) 0
+ primary-for QFutureWatcherBase (0x7f74d19aabd0)
+
+Vtable for QFactoryInterface
+QFactoryInterface::_ZTV17QFactoryInterface: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QFactoryInterface)
+16 QFactoryInterface::~QFactoryInterface
+24 QFactoryInterface::~QFactoryInterface
+32 __cxa_pure_virtual
+
+Class QFactoryInterface
+ size=8 align=8
+ base size=8 base align=8
+QFactoryInterface (0x7f74d18c2e00) 0 nearly-empty
+ vptr=((& QFactoryInterface::_ZTV17QFactoryInterface) + 16u)
+
+Vtable for QTextCodecFactoryInterface
+QTextCodecFactoryInterface::_ZTV26QTextCodecFactoryInterface: 6u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI26QTextCodecFactoryInterface)
+16 QTextCodecFactoryInterface::~QTextCodecFactoryInterface
+24 QTextCodecFactoryInterface::~QTextCodecFactoryInterface
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+
+Class QTextCodecFactoryInterface
+ size=8 align=8
+ base size=8 base align=8
+QTextCodecFactoryInterface (0x7f74d18e6ee0) 0 nearly-empty
+ vptr=((& QTextCodecFactoryInterface::_ZTV26QTextCodecFactoryInterface) + 16u)
+ QFactoryInterface (0x7f74d18e6f50) 0 nearly-empty
+ primary-for QTextCodecFactoryInterface (0x7f74d18e6ee0)
+
+Vtable for QTextCodecPlugin
+QTextCodecPlugin::_ZTV16QTextCodecPlugin: 27u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QTextCodecPlugin)
+16 QTextCodecPlugin::metaObject
+24 QTextCodecPlugin::qt_metacast
+32 QTextCodecPlugin::qt_metacall
+40 QTextCodecPlugin::~QTextCodecPlugin
+48 QTextCodecPlugin::~QTextCodecPlugin
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 __cxa_pure_virtual
+136 __cxa_pure_virtual
+144 __cxa_pure_virtual
+152 QTextCodecPlugin::keys
+160 QTextCodecPlugin::create
+168 (int (*)(...))-0x00000000000000010
+176 (int (*)(...))(& _ZTI16QTextCodecPlugin)
+184 QTextCodecPlugin::_ZThn16_N16QTextCodecPluginD1Ev
+192 QTextCodecPlugin::_ZThn16_N16QTextCodecPluginD0Ev
+200 QTextCodecPlugin::_ZThn16_NK16QTextCodecPlugin4keysEv
+208 QTextCodecPlugin::_ZThn16_N16QTextCodecPlugin6createERK7QString
+
+Class QTextCodecPlugin
+ size=24 align=8
+ base size=24 base align=8
+QTextCodecPlugin (0x7f74d18e9e00) 0
+ vptr=((& QTextCodecPlugin::_ZTV16QTextCodecPlugin) + 16u)
+ QObject (0x7f74d18f17e0) 0
+ primary-for QTextCodecPlugin (0x7f74d18e9e00)
+ QTextCodecFactoryInterface (0x7f74d18f1850) 16 nearly-empty
+ vptr=((& QTextCodecPlugin::_ZTV16QTextCodecPlugin) + 184u)
+ QFactoryInterface (0x7f74d18f18c0) 16 nearly-empty
+ primary-for QTextCodecFactoryInterface (0x7f74d18f1850)
+
+Class QLibraryInfo
+ size=1 align=1
+ base size=0 base align=1
+QLibraryInfo (0x7f74d1907700) 0 empty
+
+Vtable for QTranslator
+QTranslator::_ZTV11QTranslator: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QTranslator)
+16 QTranslator::metaObject
+24 QTranslator::qt_metacast
+32 QTranslator::qt_metacall
+40 QTranslator::~QTranslator
+48 QTranslator::~QTranslator
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QTranslator::translate
+120 QTranslator::isEmpty
+
+Class QTranslator
+ size=16 align=8
+ base size=16 base align=8
+QTranslator (0x7f74d194a000) 0
+ vptr=((& QTranslator::_ZTV11QTranslator) + 16u)
+ QObject (0x7f74d194a070) 0
+ primary-for QTranslator (0x7f74d194a000)
+
+Class __exception
+ size=40 align=8
+ base size=40 base align=8
+__exception (0x7f74d195cf50) 0
+
+Vtable for QMimeData
+QMimeData::_ZTV9QMimeData: 17u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QMimeData)
+16 QMimeData::metaObject
+24 QMimeData::qt_metacast
+32 QMimeData::qt_metacall
+40 QMimeData::~QMimeData
+48 QMimeData::~QMimeData
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QMimeData::hasFormat
+120 QMimeData::formats
+128 QMimeData::retrieveData
+
+Class QMimeData
+ size=16 align=8
+ base size=16 base align=8
+QMimeData (0x7f74d17c8150) 0
+ vptr=((& QMimeData::_ZTV9QMimeData) + 16u)
+ QObject (0x7f74d17c81c0) 0
+ primary-for QMimeData (0x7f74d17c8150)
+
+Vtable for QEventLoop
+QEventLoop::_ZTV10QEventLoop: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QEventLoop)
+16 QEventLoop::metaObject
+24 QEventLoop::qt_metacast
+32 QEventLoop::qt_metacall
+40 QEventLoop::~QEventLoop
+48 QEventLoop::~QEventLoop
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QEventLoop
+ size=16 align=8
+ base size=16 base align=8
+QEventLoop (0x7f74d17e19a0) 0
+ vptr=((& QEventLoop::_ZTV10QEventLoop) + 16u)
+ QObject (0x7f74d17e1a10) 0
+ primary-for QEventLoop (0x7f74d17e19a0)
+
+Vtable for QEvent
+QEvent::_ZTV6QEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI6QEvent)
+16 QEvent::~QEvent
+24 QEvent::~QEvent
+
+Class QEvent
+ size=24 align=8
+ base size=20 base align=8
+QEvent (0x7f74d1822310) 0
+ vptr=((& QEvent::_ZTV6QEvent) + 16u)
+
+Vtable for QTimerEvent
+QTimerEvent::_ZTV11QTimerEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QTimerEvent)
+16 QTimerEvent::~QTimerEvent
+24 QTimerEvent::~QTimerEvent
+
+Class QTimerEvent
+ size=24 align=8
+ base size=24 base align=8
+QTimerEvent (0x7f74d183aee0) 0
+ vptr=((& QTimerEvent::_ZTV11QTimerEvent) + 16u)
+ QEvent (0x7f74d183af50) 0
+ primary-for QTimerEvent (0x7f74d183aee0)
+
+Vtable for QChildEvent
+QChildEvent::_ZTV11QChildEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QChildEvent)
+16 QChildEvent::~QChildEvent
+24 QChildEvent::~QChildEvent
+
+Class QChildEvent
+ size=32 align=8
+ base size=32 base align=8
+QChildEvent (0x7f74d183e380) 0
+ vptr=((& QChildEvent::_ZTV11QChildEvent) + 16u)
+ QEvent (0x7f74d183e3f0) 0
+ primary-for QChildEvent (0x7f74d183e380)
+
+Vtable for QCustomEvent
+QCustomEvent::_ZTV12QCustomEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QCustomEvent)
+16 QCustomEvent::~QCustomEvent
+24 QCustomEvent::~QCustomEvent
+
+Class QCustomEvent
+ size=24 align=8
+ base size=20 base align=8
+QCustomEvent (0x7f74d184f620) 0
+ vptr=((& QCustomEvent::_ZTV12QCustomEvent) + 16u)
+ QEvent (0x7f74d184f690) 0
+ primary-for QCustomEvent (0x7f74d184f620)
+
+Vtable for QDynamicPropertyChangeEvent
+QDynamicPropertyChangeEvent::_ZTV27QDynamicPropertyChangeEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI27QDynamicPropertyChangeEvent)
+16 QDynamicPropertyChangeEvent::~QDynamicPropertyChangeEvent
+24 QDynamicPropertyChangeEvent::~QDynamicPropertyChangeEvent
+
+Class QDynamicPropertyChangeEvent
+ size=32 align=8
+ base size=32 base align=8
+QDynamicPropertyChangeEvent (0x7f74d184fe00) 0
+ vptr=((& QDynamicPropertyChangeEvent::_ZTV27QDynamicPropertyChangeEvent) + 16u)
+ QEvent (0x7f74d184fe70) 0
+ primary-for QDynamicPropertyChangeEvent (0x7f74d184fe00)
+
+Vtable for QCoreApplication
+QCoreApplication::_ZTV16QCoreApplication: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QCoreApplication)
+16 QCoreApplication::metaObject
+24 QCoreApplication::qt_metacast
+32 QCoreApplication::qt_metacall
+40 QCoreApplication::~QCoreApplication
+48 QCoreApplication::~QCoreApplication
+56 QCoreApplication::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QCoreApplication::notify
+120 QCoreApplication::compressEvent
+
+Class QCoreApplication
+ size=16 align=8
+ base size=16 base align=8
+QCoreApplication (0x7f74d1860230) 0
+ vptr=((& QCoreApplication::_ZTV16QCoreApplication) + 16u)
+ QObject (0x7f74d18602a0) 0
+ primary-for QCoreApplication (0x7f74d1860230)
+
+Vtable for QSharedMemory
+QSharedMemory::_ZTV13QSharedMemory: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QSharedMemory)
+16 QSharedMemory::metaObject
+24 QSharedMemory::qt_metacast
+32 QSharedMemory::qt_metacall
+40 QSharedMemory::~QSharedMemory
+48 QSharedMemory::~QSharedMemory
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QSharedMemory
+ size=16 align=8
+ base size=16 base align=8
+QSharedMemory (0x7f74d168aa80) 0
+ vptr=((& QSharedMemory::_ZTV13QSharedMemory) + 16u)
+ QObject (0x7f74d168aaf0) 0
+ primary-for QSharedMemory (0x7f74d168aa80)
+
+Class QModelIndex
+ size=24 align=8
+ base size=24 base align=8
+QModelIndex (0x7f74d16aa850) 0
+
+Class QPersistentModelIndex
+ size=8 align=8
+ base size=8 base align=8
+QPersistentModelIndex (0x7f74d16d4310) 0
+
+Vtable for QAbstractItemModel
+QAbstractItemModel::_ZTV18QAbstractItemModel: 42u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QAbstractItemModel)
+16 QAbstractItemModel::metaObject
+24 QAbstractItemModel::qt_metacast
+32 QAbstractItemModel::qt_metacall
+40 QAbstractItemModel::~QAbstractItemModel
+48 QAbstractItemModel::~QAbstractItemModel
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 __cxa_pure_virtual
+136 __cxa_pure_virtual
+144 QAbstractItemModel::hasChildren
+152 __cxa_pure_virtual
+160 QAbstractItemModel::setData
+168 QAbstractItemModel::headerData
+176 QAbstractItemModel::setHeaderData
+184 QAbstractItemModel::itemData
+192 QAbstractItemModel::setItemData
+200 QAbstractItemModel::mimeTypes
+208 QAbstractItemModel::mimeData
+216 QAbstractItemModel::dropMimeData
+224 QAbstractItemModel::supportedDropActions
+232 QAbstractItemModel::insertRows
+240 QAbstractItemModel::insertColumns
+248 QAbstractItemModel::removeRows
+256 QAbstractItemModel::removeColumns
+264 QAbstractItemModel::fetchMore
+272 QAbstractItemModel::canFetchMore
+280 QAbstractItemModel::flags
+288 QAbstractItemModel::sort
+296 QAbstractItemModel::buddy
+304 QAbstractItemModel::match
+312 QAbstractItemModel::span
+320 QAbstractItemModel::submit
+328 QAbstractItemModel::revert
+
+Class QAbstractItemModel
+ size=16 align=8
+ base size=16 base align=8
+QAbstractItemModel (0x7f74d16e15b0) 0
+ vptr=((& QAbstractItemModel::_ZTV18QAbstractItemModel) + 16u)
+ QObject (0x7f74d16e1620) 0
+ primary-for QAbstractItemModel (0x7f74d16e15b0)
+
+Vtable for QAbstractTableModel
+QAbstractTableModel::_ZTV19QAbstractTableModel: 42u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QAbstractTableModel)
+16 QAbstractTableModel::metaObject
+24 QAbstractTableModel::qt_metacast
+32 QAbstractTableModel::qt_metacall
+40 QAbstractTableModel::~QAbstractTableModel
+48 QAbstractTableModel::~QAbstractTableModel
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QAbstractTableModel::index
+120 QAbstractTableModel::parent
+128 __cxa_pure_virtual
+136 __cxa_pure_virtual
+144 QAbstractTableModel::hasChildren
+152 __cxa_pure_virtual
+160 QAbstractItemModel::setData
+168 QAbstractItemModel::headerData
+176 QAbstractItemModel::setHeaderData
+184 QAbstractItemModel::itemData
+192 QAbstractItemModel::setItemData
+200 QAbstractItemModel::mimeTypes
+208 QAbstractItemModel::mimeData
+216 QAbstractTableModel::dropMimeData
+224 QAbstractItemModel::supportedDropActions
+232 QAbstractItemModel::insertRows
+240 QAbstractItemModel::insertColumns
+248 QAbstractItemModel::removeRows
+256 QAbstractItemModel::removeColumns
+264 QAbstractItemModel::fetchMore
+272 QAbstractItemModel::canFetchMore
+280 QAbstractItemModel::flags
+288 QAbstractItemModel::sort
+296 QAbstractItemModel::buddy
+304 QAbstractItemModel::match
+312 QAbstractItemModel::span
+320 QAbstractItemModel::submit
+328 QAbstractItemModel::revert
+
+Class QAbstractTableModel
+ size=16 align=8
+ base size=16 base align=8
+QAbstractTableModel (0x7f74d1732930) 0
+ vptr=((& QAbstractTableModel::_ZTV19QAbstractTableModel) + 16u)
+ QAbstractItemModel (0x7f74d17329a0) 0
+ primary-for QAbstractTableModel (0x7f74d1732930)
+ QObject (0x7f74d1732a10) 0
+ primary-for QAbstractItemModel (0x7f74d17329a0)
+
+Vtable for QAbstractListModel
+QAbstractListModel::_ZTV18QAbstractListModel: 42u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QAbstractListModel)
+16 QAbstractListModel::metaObject
+24 QAbstractListModel::qt_metacast
+32 QAbstractListModel::qt_metacall
+40 QAbstractListModel::~QAbstractListModel
+48 QAbstractListModel::~QAbstractListModel
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QAbstractListModel::index
+120 QAbstractListModel::parent
+128 __cxa_pure_virtual
+136 QAbstractListModel::columnCount
+144 QAbstractListModel::hasChildren
+152 __cxa_pure_virtual
+160 QAbstractItemModel::setData
+168 QAbstractItemModel::headerData
+176 QAbstractItemModel::setHeaderData
+184 QAbstractItemModel::itemData
+192 QAbstractItemModel::setItemData
+200 QAbstractItemModel::mimeTypes
+208 QAbstractItemModel::mimeData
+216 QAbstractListModel::dropMimeData
+224 QAbstractItemModel::supportedDropActions
+232 QAbstractItemModel::insertRows
+240 QAbstractItemModel::insertColumns
+248 QAbstractItemModel::removeRows
+256 QAbstractItemModel::removeColumns
+264 QAbstractItemModel::fetchMore
+272 QAbstractItemModel::canFetchMore
+280 QAbstractItemModel::flags
+288 QAbstractItemModel::sort
+296 QAbstractItemModel::buddy
+304 QAbstractItemModel::match
+312 QAbstractItemModel::span
+320 QAbstractItemModel::submit
+328 QAbstractItemModel::revert
+
+Class QAbstractListModel
+ size=16 align=8
+ base size=16 base align=8
+QAbstractListModel (0x7f74d173fee0) 0
+ vptr=((& QAbstractListModel::_ZTV18QAbstractListModel) + 16u)
+ QAbstractItemModel (0x7f74d173ff50) 0
+ primary-for QAbstractListModel (0x7f74d173fee0)
+ QObject (0x7f74d173f230) 0
+ primary-for QAbstractItemModel (0x7f74d173ff50)
+
+Vtable for QSignalMapper
+QSignalMapper::_ZTV13QSignalMapper: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QSignalMapper)
+16 QSignalMapper::metaObject
+24 QSignalMapper::qt_metacast
+32 QSignalMapper::qt_metacall
+40 QSignalMapper::~QSignalMapper
+48 QSignalMapper::~QSignalMapper
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QSignalMapper
+ size=16 align=8
+ base size=16 base align=8
+QSignalMapper (0x7f74d1580000) 0
+ vptr=((& QSignalMapper::_ZTV13QSignalMapper) + 16u)
+ QObject (0x7f74d1580070) 0
+ primary-for QSignalMapper (0x7f74d1580000)
+
+Vtable for QObjectCleanupHandler
+QObjectCleanupHandler::_ZTV21QObjectCleanupHandler: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI21QObjectCleanupHandler)
+16 QObjectCleanupHandler::metaObject
+24 QObjectCleanupHandler::qt_metacast
+32 QObjectCleanupHandler::qt_metacall
+40 QObjectCleanupHandler::~QObjectCleanupHandler
+48 QObjectCleanupHandler::~QObjectCleanupHandler
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QObjectCleanupHandler
+ size=24 align=8
+ base size=24 base align=8
+QObjectCleanupHandler (0x7f74d15983f0) 0
+ vptr=((& QObjectCleanupHandler::_ZTV21QObjectCleanupHandler) + 16u)
+ QObject (0x7f74d1598460) 0
+ primary-for QObjectCleanupHandler (0x7f74d15983f0)
+
+Class QBasicTimer
+ size=4 align=4
+ base size=4 base align=4
+QBasicTimer (0x7f74d15a6540) 0
+
+Vtable for QSocketNotifier
+QSocketNotifier::_ZTV15QSocketNotifier: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QSocketNotifier)
+16 QSocketNotifier::metaObject
+24 QSocketNotifier::qt_metacast
+32 QSocketNotifier::qt_metacall
+40 QSocketNotifier::~QSocketNotifier
+48 QSocketNotifier::~QSocketNotifier
+56 QSocketNotifier::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QSocketNotifier
+ size=32 align=8
+ base size=25 base align=8
+QSocketNotifier (0x7f74d15b2930) 0
+ vptr=((& QSocketNotifier::_ZTV15QSocketNotifier) + 16u)
+ QObject (0x7f74d15b29a0) 0
+ primary-for QSocketNotifier (0x7f74d15b2930)
+
+Vtable for QTimer
+QTimer::_ZTV6QTimer: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI6QTimer)
+16 QTimer::metaObject
+24 QTimer::qt_metacast
+32 QTimer::qt_metacall
+40 QTimer::~QTimer
+48 QTimer::~QTimer
+56 QObject::event
+64 QObject::eventFilter
+72 QTimer::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QTimer
+ size=32 align=8
+ base size=29 base align=8
+QTimer (0x7f74d15cfcb0) 0
+ vptr=((& QTimer::_ZTV6QTimer) + 16u)
+ QObject (0x7f74d15cfd20) 0
+ primary-for QTimer (0x7f74d15cfcb0)
+
+Vtable for QAbstractEventDispatcher
+QAbstractEventDispatcher::_ZTV24QAbstractEventDispatcher: 27u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI24QAbstractEventDispatcher)
+16 QAbstractEventDispatcher::metaObject
+24 QAbstractEventDispatcher::qt_metacast
+32 QAbstractEventDispatcher::qt_metacall
+40 QAbstractEventDispatcher::~QAbstractEventDispatcher
+48 QAbstractEventDispatcher::~QAbstractEventDispatcher
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 __cxa_pure_virtual
+136 __cxa_pure_virtual
+144 __cxa_pure_virtual
+152 __cxa_pure_virtual
+160 __cxa_pure_virtual
+168 __cxa_pure_virtual
+176 __cxa_pure_virtual
+184 __cxa_pure_virtual
+192 __cxa_pure_virtual
+200 QAbstractEventDispatcher::startingUp
+208 QAbstractEventDispatcher::closingDown
+
+Class QAbstractEventDispatcher
+ size=16 align=8
+ base size=16 base align=8
+QAbstractEventDispatcher (0x7f74d15f32a0) 0
+ vptr=((& QAbstractEventDispatcher::_ZTV24QAbstractEventDispatcher) + 16u)
+ QObject (0x7f74d15f3310) 0
+ primary-for QAbstractEventDispatcher (0x7f74d15f32a0)
+
+Class QMetaMethod
+ size=16 align=8
+ base size=12 base align=8
+QMetaMethod (0x7f74d160e150) 0
+
+Class QMetaEnum
+ size=16 align=8
+ base size=12 base align=8
+QMetaEnum (0x7f74d162a5b0) 0
+
+Class QMetaProperty
+ size=32 align=8
+ base size=32 base align=8
+QMetaProperty (0x7f74d1635310) 0
+
+Class QMetaClassInfo
+ size=16 align=8
+ base size=12 base align=8
+QMetaClassInfo (0x7f74d16359a0) 0
+
+Class QSystemSemaphore
+ size=8 align=8
+ base size=8 base align=8
+QSystemSemaphore (0x7f74d16474d0) 0
+
+Vtable for QLibrary
+QLibrary::_ZTV8QLibrary: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI8QLibrary)
+16 QLibrary::metaObject
+24 QLibrary::qt_metacast
+32 QLibrary::qt_metacall
+40 QLibrary::~QLibrary
+48 QLibrary::~QLibrary
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QLibrary
+ size=32 align=8
+ base size=25 base align=8
+QLibrary (0x7f74d1647e00) 0
+ vptr=((& QLibrary::_ZTV8QLibrary) + 16u)
+ QObject (0x7f74d1647e70) 0
+ primary-for QLibrary (0x7f74d1647e00)
+
+Vtable for QPluginLoader
+QPluginLoader::_ZTV13QPluginLoader: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QPluginLoader)
+16 QPluginLoader::metaObject
+24 QPluginLoader::qt_metacast
+32 QPluginLoader::qt_metacall
+40 QPluginLoader::~QPluginLoader
+48 QPluginLoader::~QPluginLoader
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QPluginLoader
+ size=32 align=8
+ base size=25 base align=8
+QPluginLoader (0x7f74d148d8c0) 0
+ vptr=((& QPluginLoader::_ZTV13QPluginLoader) + 16u)
+ QObject (0x7f74d148d930) 0
+ primary-for QPluginLoader (0x7f74d148d8c0)
+
+Class QUuid
+ size=16 align=4
+ base size=16 base align=4
+QUuid (0x7f74d14b2070) 0
+
+Class QSemaphore
+ size=8 align=8
+ base size=8 base align=8
+QSemaphore (0x7f74d14cf9a0) 0
+
+Class QThreadStorageData
+ size=4 align=4
+ base size=4 base align=4
+QThreadStorageData (0x7f74d14cfee0) 0
+
+Class QReadWriteLock
+ size=8 align=8
+ base size=8 base align=8
+QReadWriteLock (0x7f74d14e3690) 0
+
+Class QReadLocker
+ size=8 align=8
+ base size=8 base align=8
+QReadLocker (0x7f74d14e3d20) 0
+
+Class QWriteLocker
+ size=8 align=8
+ base size=8 base align=8
+QWriteLocker (0x7f74d15100e0) 0
+
diff --git a/tests/auto/bic/data/QtCore.4.6.0.linux-gcc-amd64.txt b/tests/auto/bic/data/QtCore.4.6.0.linux-gcc-amd64.txt
new file mode 100644
index 0000000000..effd7c7af3
--- /dev/null
+++ b/tests/auto/bic/data/QtCore.4.6.0.linux-gcc-amd64.txt
@@ -0,0 +1,2624 @@
+Class QSysInfo
+ size=1 align=1
+ base size=0 base align=1
+QSysInfo (0x7f3bf8ee7230) 0 empty
+
+Class QBool
+ size=1 align=1
+ base size=1 base align=1
+QBool (0x7f3bf8ee7e70) 0
+
+Class qIsNull(double)::U
+ size=8 align=8
+ base size=8 base align=8
+qIsNull(double)::U (0x7f3bf86f8540) 0
+
+Class qIsNull(float)::U
+ size=4 align=4
+ base size=4 base align=4
+qIsNull(float)::U (0x7f3bf86f87e0) 0
+
+Class QFlag
+ size=4 align=4
+ base size=4 base align=4
+QFlag (0x7f3bf8731690) 0
+
+Class QIncompatibleFlag
+ size=4 align=4
+ base size=4 base align=4
+QIncompatibleFlag (0x7f3bf8731e70) 0
+
+Class QLatin1Char
+ size=1 align=1
+ base size=1 base align=1
+QLatin1Char (0x7f3bf87605b0) 0
+
+Class QChar
+ size=2 align=2
+ base size=2 base align=2
+QChar (0x7f3bf8788150) 0
+
+Class QBasicAtomicInt
+ size=4 align=4
+ base size=4 base align=4
+QBasicAtomicInt (0x7f3bf85ee310) 0
+
+Class QAtomicInt
+ size=4 align=4
+ base size=4 base align=4
+QAtomicInt (0x7f3bf862bcb0) 0
+ QBasicAtomicInt (0x7f3bf862bd20) 0
+
+Class QInternal
+ size=1 align=1
+ base size=0 base align=1
+QInternal (0x7f3bf84804d0) 0 empty
+
+Class __locale_struct
+ size=232 align=8
+ base size=232 base align=8
+__locale_struct (0x7f3bf8480700) 0
+
+Class QByteArray::Data
+ size=32 align=8
+ base size=32 base align=8
+QByteArray::Data (0x7f3bf84bcaf0) 0
+
+Class QByteArray
+ size=8 align=8
+ base size=8 base align=8
+QByteArray (0x7f3bf84bca80) 0
+
+Class QByteRef
+ size=16 align=8
+ base size=12 base align=8
+QByteRef (0x7f3bf835f380) 0
+
+Class QString::Null
+ size=1 align=1
+ base size=0 base align=1
+QString::Null (0x7f3bf825fd20) 0 empty
+
+Class QString::Data
+ size=32 align=8
+ base size=32 base align=8
+QString::Data (0x7f3bf82775b0) 0
+
+Class QString
+ size=8 align=8
+ base size=8 base align=8
+QString (0x7f3bf83d9bd0) 0
+
+Class QLatin1String
+ size=8 align=8
+ base size=8 base align=8
+QLatin1String (0x7f3bf814f9a0) 0
+
+Class QCharRef
+ size=16 align=8
+ base size=12 base align=8
+QCharRef (0x7f3bf7fef000) 0
+
+Class QConstString
+ size=8 align=8
+ base size=8 base align=8
+QConstString (0x7f3bf7f378c0) 0
+ QString (0x7f3bf7f37930) 0
+
+Class QStringRef
+ size=16 align=8
+ base size=16 base align=8
+QStringRef (0x7f3bf7f5e310) 0
+
+Class QGenericArgument
+ size=16 align=8
+ base size=16 base align=8
+QGenericArgument (0x7f3bf7fd6700) 0
+
+Class QGenericReturnArgument
+ size=16 align=8
+ base size=16 base align=8
+QGenericReturnArgument (0x7f3bf7de12a0) 0
+ QGenericArgument (0x7f3bf7de1310) 0
+
+Class QMetaObject
+ size=32 align=8
+ base size=32 base align=8
+QMetaObject (0x7f3bf7de1b60) 0
+
+Class QMetaObjectExtraData
+ size=16 align=8
+ base size=16 base align=8
+QMetaObjectExtraData (0x7f3bf7e0abd0) 0
+
+Vtable for std::exception
+std::exception::_ZTVSt9exception: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt9exception)
+16 std::exception::~exception
+24 std::exception::~exception
+32 std::exception::what
+
+Class std::exception
+ size=8 align=8
+ base size=8 base align=8
+std::exception (0x7f3bf7e5d1c0) 0 nearly-empty
+ vptr=((& std::exception::_ZTVSt9exception) + 16u)
+
+Vtable for std::bad_exception
+std::bad_exception::_ZTVSt13bad_exception: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt13bad_exception)
+16 std::bad_exception::~bad_exception
+24 std::bad_exception::~bad_exception
+32 std::bad_exception::what
+
+Class std::bad_exception
+ size=8 align=8
+ base size=8 base align=8
+std::bad_exception (0x7f3bf7e5d770) 0 nearly-empty
+ vptr=((& std::bad_exception::_ZTVSt13bad_exception) + 16u)
+ std::exception (0x7f3bf7e5d7e0) 0 nearly-empty
+ primary-for std::bad_exception (0x7f3bf7e5d770)
+
+Vtable for std::bad_alloc
+std::bad_alloc::_ZTVSt9bad_alloc: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt9bad_alloc)
+16 std::bad_alloc::~bad_alloc
+24 std::bad_alloc::~bad_alloc
+32 std::bad_alloc::what
+
+Class std::bad_alloc
+ size=8 align=8
+ base size=8 base align=8
+std::bad_alloc (0x7f3bf7e5d930) 0 nearly-empty
+ vptr=((& std::bad_alloc::_ZTVSt9bad_alloc) + 16u)
+ std::exception (0x7f3bf7e73000) 0 nearly-empty
+ primary-for std::bad_alloc (0x7f3bf7e5d930)
+
+Class std::nothrow_t
+ size=1 align=1
+ base size=0 base align=1
+std::nothrow_t (0x7f3bf7e73850) 0 empty
+
+Class QListData::Data
+ size=32 align=8
+ base size=32 base align=8
+QListData::Data (0x7f3bf7e73d90) 0
+
+Class QListData
+ size=8 align=8
+ base size=8 base align=8
+QListData (0x7f3bf7e73d20) 0
+
+Class QScopedPointerPodDeleter
+ size=1 align=1
+ base size=0 base align=1
+QScopedPointerPodDeleter (0x7f3bf7d9d850) 0 empty
+
+Vtable for QObjectData
+QObjectData::_ZTV11QObjectData: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QObjectData)
+16 __cxa_pure_virtual
+24 __cxa_pure_virtual
+
+Class QObjectData
+ size=48 align=8
+ base size=48 base align=8
+QObjectData (0x7f3bf7dbd2a0) 0
+ vptr=((& QObjectData::_ZTV11QObjectData) + 16u)
+
+Vtable for QObject
+QObject::_ZTV7QObject: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QObject)
+16 QObject::metaObject
+24 QObject::qt_metacast
+32 QObject::qt_metacall
+40 QObject::~QObject
+48 QObject::~QObject
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QObject
+ size=16 align=8
+ base size=16 base align=8
+QObject (0x7f3bf7dbd5b0) 0
+ vptr=((& QObject::_ZTV7QObject) + 16u)
+
+Vtable for QObjectUserData
+QObjectUserData::_ZTV15QObjectUserData: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QObjectUserData)
+16 QObjectUserData::~QObjectUserData
+24 QObjectUserData::~QObjectUserData
+
+Class QObjectUserData
+ size=8 align=8
+ base size=8 base align=8
+QObjectUserData (0x7f3bf7c32b60) 0 nearly-empty
+ vptr=((& QObjectUserData::_ZTV15QObjectUserData) + 16u)
+
+Vtable for QIODevice
+QIODevice::_ZTV9QIODevice: 30u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QIODevice)
+16 QIODevice::metaObject
+24 QIODevice::qt_metacast
+32 QIODevice::qt_metacall
+40 QIODevice::~QIODevice
+48 QIODevice::~QIODevice
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QIODevice::isSequential
+120 QIODevice::open
+128 QIODevice::close
+136 QIODevice::pos
+144 QIODevice::size
+152 QIODevice::seek
+160 QIODevice::atEnd
+168 QIODevice::reset
+176 QIODevice::bytesAvailable
+184 QIODevice::bytesToWrite
+192 QIODevice::canReadLine
+200 QIODevice::waitForReadyRead
+208 QIODevice::waitForBytesWritten
+216 __cxa_pure_virtual
+224 QIODevice::readLineData
+232 __cxa_pure_virtual
+
+Class QIODevice
+ size=16 align=8
+ base size=16 base align=8
+QIODevice (0x7f3bf7c43150) 0
+ vptr=((& QIODevice::_ZTV9QIODevice) + 16u)
+ QObject (0x7f3bf7c431c0) 0
+ primary-for QIODevice (0x7f3bf7c43150)
+
+Class _IO_marker
+ size=24 align=8
+ base size=24 base align=8
+_IO_marker (0x7f3bf7ca7cb0) 0
+
+Class _IO_FILE
+ size=216 align=8
+ base size=216 base align=8
+_IO_FILE (0x7f3bf7ca7d20) 0
+
+Vtable for QFile
+QFile::_ZTV5QFile: 31u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI5QFile)
+16 QFile::metaObject
+24 QFile::qt_metacast
+32 QFile::qt_metacall
+40 QFile::~QFile
+48 QFile::~QFile
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QFile::isSequential
+120 QFile::open
+128 QFile::close
+136 QFile::pos
+144 QFile::size
+152 QFile::seek
+160 QFile::atEnd
+168 QIODevice::reset
+176 QIODevice::bytesAvailable
+184 QIODevice::bytesToWrite
+192 QIODevice::canReadLine
+200 QIODevice::waitForReadyRead
+208 QIODevice::waitForBytesWritten
+216 QFile::readData
+224 QFile::readLineData
+232 QFile::writeData
+240 QFile::fileEngine
+
+Class QFile
+ size=16 align=8
+ base size=16 base align=8
+QFile (0x7f3bf7ca7e00) 0
+ vptr=((& QFile::_ZTV5QFile) + 16u)
+ QIODevice (0x7f3bf7ca7e70) 0
+ primary-for QFile (0x7f3bf7ca7e00)
+ QObject (0x7f3bf7ca7ee0) 0
+ primary-for QIODevice (0x7f3bf7ca7e70)
+
+Class QFileInfo
+ size=8 align=8
+ base size=8 base align=8
+QFileInfo (0x7f3bf7b48070) 0
+
+Vtable for QDataStream
+QDataStream::_ZTV11QDataStream: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QDataStream)
+16 QDataStream::~QDataStream
+24 QDataStream::~QDataStream
+
+Class QDataStream
+ size=40 align=8
+ base size=40 base align=8
+QDataStream (0x7f3bf7b9ca10) 0
+ vptr=((& QDataStream::_ZTV11QDataStream) + 16u)
+
+Class QRegExp
+ size=8 align=8
+ base size=8 base align=8
+QRegExp (0x7f3bf7a05e70) 0
+
+Class QStringMatcher::Data
+ size=272 align=8
+ base size=272 base align=8
+QStringMatcher::Data (0x7f3bf7a6e2a0) 0
+
+Class QStringMatcher
+ size=1048 align=8
+ base size=1048 base align=8
+QStringMatcher (0x7f3bf7a61c40) 0
+
+Class QStringList
+ size=8 align=8
+ base size=8 base align=8
+QStringList (0x7f3bf7a6e850) 0
+ QList<QString> (0x7f3bf7a6e8c0) 0
+
+Class QDir
+ size=8 align=8
+ base size=8 base align=8
+QDir (0x7f3bf790c4d0) 0
+
+Class QAbstractFileEngine::ExtensionOption
+ size=1 align=1
+ base size=0 base align=1
+QAbstractFileEngine::ExtensionOption (0x7f3bf79b48c0) 0 empty
+
+Class QAbstractFileEngine::ExtensionReturn
+ size=1 align=1
+ base size=0 base align=1
+QAbstractFileEngine::ExtensionReturn (0x7f3bf79b4930) 0 empty
+
+Class QAbstractFileEngine::MapExtensionOption
+ size=24 align=8
+ base size=20 base align=8
+QAbstractFileEngine::MapExtensionOption (0x7f3bf79b49a0) 0
+ QAbstractFileEngine::ExtensionOption (0x7f3bf79b4a10) 0 empty
+
+Class QAbstractFileEngine::MapExtensionReturn
+ size=8 align=8
+ base size=8 base align=8
+QAbstractFileEngine::MapExtensionReturn (0x7f3bf79b4bd0) 0
+ QAbstractFileEngine::ExtensionReturn (0x7f3bf79b4c40) 0 empty
+
+Class QAbstractFileEngine::UnMapExtensionOption
+ size=8 align=8
+ base size=8 base align=8
+QAbstractFileEngine::UnMapExtensionOption (0x7f3bf79b4cb0) 0
+ QAbstractFileEngine::ExtensionOption (0x7f3bf79b4d20) 0 empty
+
+Vtable for QAbstractFileEngine
+QAbstractFileEngine::_ZTV19QAbstractFileEngine: 36u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QAbstractFileEngine)
+16 QAbstractFileEngine::~QAbstractFileEngine
+24 QAbstractFileEngine::~QAbstractFileEngine
+32 QAbstractFileEngine::open
+40 QAbstractFileEngine::close
+48 QAbstractFileEngine::flush
+56 QAbstractFileEngine::size
+64 QAbstractFileEngine::pos
+72 QAbstractFileEngine::seek
+80 QAbstractFileEngine::isSequential
+88 QAbstractFileEngine::remove
+96 QAbstractFileEngine::copy
+104 QAbstractFileEngine::rename
+112 QAbstractFileEngine::link
+120 QAbstractFileEngine::mkdir
+128 QAbstractFileEngine::rmdir
+136 QAbstractFileEngine::setSize
+144 QAbstractFileEngine::caseSensitive
+152 QAbstractFileEngine::isRelativePath
+160 QAbstractFileEngine::entryList
+168 QAbstractFileEngine::fileFlags
+176 QAbstractFileEngine::setPermissions
+184 QAbstractFileEngine::fileName
+192 QAbstractFileEngine::ownerId
+200 QAbstractFileEngine::owner
+208 QAbstractFileEngine::fileTime
+216 QAbstractFileEngine::setFileName
+224 QAbstractFileEngine::handle
+232 QAbstractFileEngine::beginEntryList
+240 QAbstractFileEngine::endEntryList
+248 QAbstractFileEngine::read
+256 QAbstractFileEngine::readLine
+264 QAbstractFileEngine::write
+272 QAbstractFileEngine::extension
+280 QAbstractFileEngine::supportsExtension
+
+Class QAbstractFileEngine
+ size=16 align=8
+ base size=16 base align=8
+QAbstractFileEngine (0x7f3bf7998850) 0
+ vptr=((& QAbstractFileEngine::_ZTV19QAbstractFileEngine) + 16u)
+
+Vtable for QAbstractFileEngineHandler
+QAbstractFileEngineHandler::_ZTV26QAbstractFileEngineHandler: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI26QAbstractFileEngineHandler)
+16 QAbstractFileEngineHandler::~QAbstractFileEngineHandler
+24 QAbstractFileEngineHandler::~QAbstractFileEngineHandler
+32 __cxa_pure_virtual
+
+Class QAbstractFileEngineHandler
+ size=8 align=8
+ base size=8 base align=8
+QAbstractFileEngineHandler (0x7f3bf77eabd0) 0 nearly-empty
+ vptr=((& QAbstractFileEngineHandler::_ZTV26QAbstractFileEngineHandler) + 16u)
+
+Vtable for QAbstractFileEngineIterator
+QAbstractFileEngineIterator::_ZTV27QAbstractFileEngineIterator: 9u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI27QAbstractFileEngineIterator)
+16 QAbstractFileEngineIterator::~QAbstractFileEngineIterator
+24 QAbstractFileEngineIterator::~QAbstractFileEngineIterator
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+48 __cxa_pure_virtual
+56 QAbstractFileEngineIterator::currentFileInfo
+64 QAbstractFileEngineIterator::entryInfo
+
+Class QAbstractFileEngineIterator
+ size=16 align=8
+ base size=16 base align=8
+QAbstractFileEngineIterator (0x7f3bf77ead90) 0
+ vptr=((& QAbstractFileEngineIterator::_ZTV27QAbstractFileEngineIterator) + 16u)
+
+Vtable for QBuffer
+QBuffer::_ZTV7QBuffer: 30u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QBuffer)
+16 QBuffer::metaObject
+24 QBuffer::qt_metacast
+32 QBuffer::qt_metacall
+40 QBuffer::~QBuffer
+48 QBuffer::~QBuffer
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QBuffer::connectNotify
+104 QBuffer::disconnectNotify
+112 QIODevice::isSequential
+120 QBuffer::open
+128 QBuffer::close
+136 QBuffer::pos
+144 QBuffer::size
+152 QBuffer::seek
+160 QBuffer::atEnd
+168 QIODevice::reset
+176 QIODevice::bytesAvailable
+184 QIODevice::bytesToWrite
+192 QBuffer::canReadLine
+200 QIODevice::waitForReadyRead
+208 QIODevice::waitForBytesWritten
+216 QBuffer::readData
+224 QIODevice::readLineData
+232 QBuffer::writeData
+
+Class QBuffer
+ size=16 align=8
+ base size=16 base align=8
+QBuffer (0x7f3bf77fe690) 0
+ vptr=((& QBuffer::_ZTV7QBuffer) + 16u)
+ QIODevice (0x7f3bf77fe700) 0
+ primary-for QBuffer (0x7f3bf77fe690)
+ QObject (0x7f3bf77fe770) 0
+ primary-for QIODevice (0x7f3bf77fe700)
+
+Class QHashData::Node
+ size=16 align=8
+ base size=16 base align=8
+QHashData::Node (0x7f3bf783ee00) 0
+
+Class QHashData
+ size=40 align=8
+ base size=40 base align=8
+QHashData (0x7f3bf783ed90) 0
+
+Class QHashDummyValue
+ size=1 align=1
+ base size=0 base align=1
+QHashDummyValue (0x7f3bf7860150) 0 empty
+
+Class QMapData::Node
+ size=16 align=8
+ base size=16 base align=8
+QMapData::Node (0x7f3bf7761a80) 0
+
+Class QMapData
+ size=128 align=8
+ base size=128 base align=8
+QMapData (0x7f3bf7761a10) 0
+
+Vtable for QSystemLocale
+QSystemLocale::_ZTV13QSystemLocale: 6u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QSystemLocale)
+16 QSystemLocale::~QSystemLocale
+24 QSystemLocale::~QSystemLocale
+32 QSystemLocale::query
+40 QSystemLocale::fallbackLocale
+
+Class QSystemLocale
+ size=8 align=8
+ base size=8 base align=8
+QSystemLocale (0x7f3bf769e690) 0 nearly-empty
+ vptr=((& QSystemLocale::_ZTV13QSystemLocale) + 16u)
+
+Class QLocale::Data
+ size=4 align=2
+ base size=4 base align=2
+QLocale::Data (0x7f3bf74e6d90) 0
+
+Class QLocale
+ size=8 align=8
+ base size=8 base align=8
+QLocale (0x7f3bf769eaf0) 0
+
+Class QTextCodec::ConverterState
+ size=32 align=8
+ base size=32 base align=8
+QTextCodec::ConverterState (0x7f3bf753ebd0) 0
+
+Vtable for QTextCodec
+QTextCodec::_ZTV10QTextCodec: 9u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QTextCodec)
+16 __cxa_pure_virtual
+24 QTextCodec::aliases
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+48 __cxa_pure_virtual
+56 QTextCodec::~QTextCodec
+64 QTextCodec::~QTextCodec
+
+Class QTextCodec
+ size=8 align=8
+ base size=8 base align=8
+QTextCodec (0x7f3bf752f460) 0 nearly-empty
+ vptr=((& QTextCodec::_ZTV10QTextCodec) + 16u)
+
+Class QTextEncoder
+ size=40 align=8
+ base size=40 base align=8
+QTextEncoder (0x7f3bf75b1150) 0
+
+Class QTextDecoder
+ size=40 align=8
+ base size=40 base align=8
+QTextDecoder (0x7f3bf75b1f50) 0
+
+Vtable for QTextStream
+QTextStream::_ZTV11QTextStream: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QTextStream)
+16 QTextStream::~QTextStream
+24 QTextStream::~QTextStream
+
+Class QTextStream
+ size=16 align=8
+ base size=16 base align=8
+QTextStream (0x7f3bf75b9d90) 0
+ vptr=((& QTextStream::_ZTV11QTextStream) + 16u)
+
+Class QTextStreamManipulator
+ size=40 align=8
+ base size=38 base align=8
+QTextStreamManipulator (0x7f3bf7432a80) 0
+
+Vtable for QTextIStream
+QTextIStream::_ZTV12QTextIStream: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QTextIStream)
+16 QTextIStream::~QTextIStream
+24 QTextIStream::~QTextIStream
+
+Class QTextIStream
+ size=16 align=8
+ base size=16 base align=8
+QTextIStream (0x7f3bf7462070) 0
+ vptr=((& QTextIStream::_ZTV12QTextIStream) + 16u)
+ QTextStream (0x7f3bf74620e0) 0
+ primary-for QTextIStream (0x7f3bf7462070)
+
+Vtable for QTextOStream
+QTextOStream::_ZTV12QTextOStream: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QTextOStream)
+16 QTextOStream::~QTextOStream
+24 QTextOStream::~QTextOStream
+
+Class QTextOStream
+ size=16 align=8
+ base size=16 base align=8
+QTextOStream (0x7f3bf746fee0) 0
+ vptr=((& QTextOStream::_ZTV12QTextOStream) + 16u)
+ QTextStream (0x7f3bf746ff50) 0
+ primary-for QTextOStream (0x7f3bf746fee0)
+
+Class wait
+ size=4 align=4
+ base size=4 base align=4
+wait (0x7f3bf7484d90) 0
+
+Class timespec
+ size=16 align=8
+ base size=16 base align=8
+timespec (0x7f3bf74900e0) 0
+
+Class timeval
+ size=16 align=8
+ base size=16 base align=8
+timeval (0x7f3bf7490150) 0
+
+Class __pthread_internal_list
+ size=16 align=8
+ base size=16 base align=8
+__pthread_internal_list (0x7f3bf74902a0) 0
+
+Class random_data
+ size=48 align=8
+ base size=48 base align=8
+random_data (0x7f3bf7490850) 0
+
+Class drand48_data
+ size=24 align=8
+ base size=24 base align=8
+drand48_data (0x7f3bf74908c0) 0
+
+Class QVectorData
+ size=16 align=4
+ base size=16 base align=4
+QVectorData (0x7f3bf7490930) 0
+
+Class QContiguousCacheData
+ size=24 align=4
+ base size=24 base align=4
+QContiguousCacheData (0x7f3bf724f620) 0
+
+Class QDebug::Stream
+ size=40 align=8
+ base size=34 base align=8
+QDebug::Stream (0x7f3bf70af150) 0
+
+Class QDebug
+ size=8 align=8
+ base size=8 base align=8
+QDebug (0x7f3bf70af0e0) 0
+
+Class QNoDebug
+ size=1 align=1
+ base size=0 base align=1
+QNoDebug (0x7f3bf715e0e0) 0 empty
+
+Vtable for QDirIterator
+QDirIterator::_ZTV12QDirIterator: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QDirIterator)
+16 QDirIterator::~QDirIterator
+24 QDirIterator::~QDirIterator
+
+Class QDirIterator
+ size=16 align=8
+ base size=16 base align=8
+QDirIterator (0x7f3bf716f700) 0
+ vptr=((& QDirIterator::_ZTV12QDirIterator) + 16u)
+
+Vtable for QFileSystemWatcher
+QFileSystemWatcher::_ZTV18QFileSystemWatcher: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QFileSystemWatcher)
+16 QFileSystemWatcher::metaObject
+24 QFileSystemWatcher::qt_metacast
+32 QFileSystemWatcher::qt_metacall
+40 QFileSystemWatcher::~QFileSystemWatcher
+48 QFileSystemWatcher::~QFileSystemWatcher
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QFileSystemWatcher
+ size=16 align=8
+ base size=16 base align=8
+QFileSystemWatcher (0x7f3bf6fca540) 0
+ vptr=((& QFileSystemWatcher::_ZTV18QFileSystemWatcher) + 16u)
+ QObject (0x7f3bf6fca5b0) 0
+ primary-for QFileSystemWatcher (0x7f3bf6fca540)
+
+Vtable for QFSFileEngine
+QFSFileEngine::_ZTV13QFSFileEngine: 36u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QFSFileEngine)
+16 QFSFileEngine::~QFSFileEngine
+24 QFSFileEngine::~QFSFileEngine
+32 QFSFileEngine::open
+40 QFSFileEngine::close
+48 QFSFileEngine::flush
+56 QFSFileEngine::size
+64 QFSFileEngine::pos
+72 QFSFileEngine::seek
+80 QFSFileEngine::isSequential
+88 QFSFileEngine::remove
+96 QFSFileEngine::copy
+104 QFSFileEngine::rename
+112 QFSFileEngine::link
+120 QFSFileEngine::mkdir
+128 QFSFileEngine::rmdir
+136 QFSFileEngine::setSize
+144 QFSFileEngine::caseSensitive
+152 QFSFileEngine::isRelativePath
+160 QFSFileEngine::entryList
+168 QFSFileEngine::fileFlags
+176 QFSFileEngine::setPermissions
+184 QFSFileEngine::fileName
+192 QFSFileEngine::ownerId
+200 QFSFileEngine::owner
+208 QFSFileEngine::fileTime
+216 QFSFileEngine::setFileName
+224 QFSFileEngine::handle
+232 QFSFileEngine::beginEntryList
+240 QFSFileEngine::endEntryList
+248 QFSFileEngine::read
+256 QFSFileEngine::readLine
+264 QFSFileEngine::write
+272 QFSFileEngine::extension
+280 QFSFileEngine::supportsExtension
+
+Class QFSFileEngine
+ size=16 align=8
+ base size=16 base align=8
+QFSFileEngine (0x7f3bf6fdba80) 0
+ vptr=((& QFSFileEngine::_ZTV13QFSFileEngine) + 16u)
+ QAbstractFileEngine (0x7f3bf6fdbaf0) 0
+ primary-for QFSFileEngine (0x7f3bf6fdba80)
+
+Class QSharedData
+ size=4 align=4
+ base size=4 base align=4
+QSharedData (0x7f3bf6feae70) 0
+
+Class QProcessEnvironment
+ size=8 align=8
+ base size=8 base align=8
+QProcessEnvironment (0x7f3bf70361c0) 0
+
+Vtable for QProcess
+QProcess::_ZTV8QProcess: 31u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI8QProcess)
+16 QProcess::metaObject
+24 QProcess::qt_metacast
+32 QProcess::qt_metacall
+40 QProcess::~QProcess
+48 QProcess::~QProcess
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QProcess::isSequential
+120 QIODevice::open
+128 QProcess::close
+136 QIODevice::pos
+144 QIODevice::size
+152 QIODevice::seek
+160 QProcess::atEnd
+168 QIODevice::reset
+176 QProcess::bytesAvailable
+184 QProcess::bytesToWrite
+192 QProcess::canReadLine
+200 QProcess::waitForReadyRead
+208 QProcess::waitForBytesWritten
+216 QProcess::readData
+224 QIODevice::readLineData
+232 QProcess::writeData
+240 QProcess::setupChildProcess
+
+Class QProcess
+ size=16 align=8
+ base size=16 base align=8
+QProcess (0x7f3bf7036cb0) 0
+ vptr=((& QProcess::_ZTV8QProcess) + 16u)
+ QIODevice (0x7f3bf7036d20) 0
+ primary-for QProcess (0x7f3bf7036cb0)
+ QObject (0x7f3bf7036d90) 0
+ primary-for QIODevice (0x7f3bf7036d20)
+
+Class QResource
+ size=8 align=8
+ base size=8 base align=8
+QResource (0x7f3bf707b1c0) 0
+
+Class QMetaType
+ size=1 align=1
+ base size=0 base align=1
+QMetaType (0x7f3bf707be70) 0 empty
+
+Class QVariant::PrivateShared
+ size=16 align=8
+ base size=12 base align=8
+QVariant::PrivateShared (0x7f3bf6f7b700) 0
+
+Class QVariant::Private::Data
+ size=8 align=8
+ base size=8 base align=8
+QVariant::Private::Data (0x7f3bf6f7ba10) 0
+
+Class QVariant::Private
+ size=16 align=8
+ base size=12 base align=8
+QVariant::Private (0x7f3bf6f7b7e0) 0
+
+Class QVariant::Handler
+ size=72 align=8
+ base size=72 base align=8
+QVariant::Handler (0x7f3bf6f8a700) 0
+
+Class QVariant
+ size=16 align=8
+ base size=16 base align=8
+QVariant (0x7f3bf6f4b7e0) 0
+
+Class QVariantComparisonHelper
+ size=8 align=8
+ base size=8 base align=8
+QVariantComparisonHelper (0x7f3bf6dff9a0) 0
+
+Vtable for QSettings
+QSettings::_ZTV9QSettings: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QSettings)
+16 QSettings::metaObject
+24 QSettings::qt_metacast
+32 QSettings::qt_metacall
+40 QSettings::~QSettings
+48 QSettings::~QSettings
+56 QSettings::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QSettings
+ size=16 align=8
+ base size=16 base align=8
+QSettings (0x7f3bf6e26ee0) 0
+ vptr=((& QSettings::_ZTV9QSettings) + 16u)
+ QObject (0x7f3bf6e26f50) 0
+ primary-for QSettings (0x7f3bf6e26ee0)
+
+Vtable for QTemporaryFile
+QTemporaryFile::_ZTV14QTemporaryFile: 31u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QTemporaryFile)
+16 QTemporaryFile::metaObject
+24 QTemporaryFile::qt_metacast
+32 QTemporaryFile::qt_metacall
+40 QTemporaryFile::~QTemporaryFile
+48 QTemporaryFile::~QTemporaryFile
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QFile::isSequential
+120 QTemporaryFile::open
+128 QFile::close
+136 QFile::pos
+144 QFile::size
+152 QFile::seek
+160 QFile::atEnd
+168 QIODevice::reset
+176 QIODevice::bytesAvailable
+184 QIODevice::bytesToWrite
+192 QIODevice::canReadLine
+200 QIODevice::waitForReadyRead
+208 QIODevice::waitForBytesWritten
+216 QFile::readData
+224 QFile::readLineData
+232 QFile::writeData
+240 QTemporaryFile::fileEngine
+
+Class QTemporaryFile
+ size=16 align=8
+ base size=16 base align=8
+QTemporaryFile (0x7f3bf6ca82a0) 0
+ vptr=((& QTemporaryFile::_ZTV14QTemporaryFile) + 16u)
+ QFile (0x7f3bf6ca8310) 0
+ primary-for QTemporaryFile (0x7f3bf6ca82a0)
+ QIODevice (0x7f3bf6ca8380) 0
+ primary-for QFile (0x7f3bf6ca8310)
+ QObject (0x7f3bf6ca83f0) 0
+ primary-for QIODevice (0x7f3bf6ca8380)
+
+Class QUrl
+ size=8 align=8
+ base size=8 base align=8
+QUrl (0x7f3bf6cc39a0) 0
+
+Class QXmlStreamStringRef
+ size=16 align=8
+ base size=16 base align=8
+QXmlStreamStringRef (0x7f3bf6d51070) 0
+
+Class QXmlStreamAttribute
+ size=80 align=8
+ base size=73 base align=8
+QXmlStreamAttribute (0x7f3bf6b6b850) 0
+
+Class QXmlStreamAttributes
+ size=8 align=8
+ base size=8 base align=8
+QXmlStreamAttributes (0x7f3bf6b94310) 0
+ QVector<QXmlStreamAttribute> (0x7f3bf6b94380) 0
+
+Class QXmlStreamNamespaceDeclaration
+ size=40 align=8
+ base size=40 base align=8
+QXmlStreamNamespaceDeclaration (0x7f3bf6b947e0) 0
+
+Class QXmlStreamNotationDeclaration
+ size=56 align=8
+ base size=56 base align=8
+QXmlStreamNotationDeclaration (0x7f3bf6bd51c0) 0
+
+Class QXmlStreamEntityDeclaration
+ size=88 align=8
+ base size=88 base align=8
+QXmlStreamEntityDeclaration (0x7f3bf6bf5070) 0
+
+Vtable for QXmlStreamEntityResolver
+QXmlStreamEntityResolver::_ZTV24QXmlStreamEntityResolver: 6u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI24QXmlStreamEntityResolver)
+16 QXmlStreamEntityResolver::~QXmlStreamEntityResolver
+24 QXmlStreamEntityResolver::~QXmlStreamEntityResolver
+32 QXmlStreamEntityResolver::resolveEntity
+40 QXmlStreamEntityResolver::resolveUndeclaredEntity
+
+Class QXmlStreamEntityResolver
+ size=8 align=8
+ base size=8 base align=8
+QXmlStreamEntityResolver (0x7f3bf6c119a0) 0 nearly-empty
+ vptr=((& QXmlStreamEntityResolver::_ZTV24QXmlStreamEntityResolver) + 16u)
+
+Class QXmlStreamReader
+ size=8 align=8
+ base size=8 base align=8
+QXmlStreamReader (0x7f3bf6c11b60) 0
+
+Class QXmlStreamWriter
+ size=8 align=8
+ base size=8 base align=8
+QXmlStreamWriter (0x7f3bf6c58c40) 0
+
+Vtable for QAbstractState
+QAbstractState::_ZTV14QAbstractState: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QAbstractState)
+16 QAbstractState::metaObject
+24 QAbstractState::qt_metacast
+32 QAbstractState::qt_metacall
+40 QAbstractState::~QAbstractState
+48 QAbstractState::~QAbstractState
+56 QAbstractState::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+
+Class QAbstractState
+ size=16 align=8
+ base size=16 base align=8
+QAbstractState (0x7f3bf6a6da80) 0
+ vptr=((& QAbstractState::_ZTV14QAbstractState) + 16u)
+ QObject (0x7f3bf6a6daf0) 0
+ primary-for QAbstractState (0x7f3bf6a6da80)
+
+Vtable for QAbstractTransition
+QAbstractTransition::_ZTV19QAbstractTransition: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QAbstractTransition)
+16 QAbstractTransition::metaObject
+24 QAbstractTransition::qt_metacast
+32 QAbstractTransition::qt_metacall
+40 QAbstractTransition::~QAbstractTransition
+48 QAbstractTransition::~QAbstractTransition
+56 QAbstractTransition::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+
+Class QAbstractTransition
+ size=16 align=8
+ base size=16 base align=8
+QAbstractTransition (0x7f3bf6a942a0) 0
+ vptr=((& QAbstractTransition::_ZTV19QAbstractTransition) + 16u)
+ QObject (0x7f3bf6a94310) 0
+ primary-for QAbstractTransition (0x7f3bf6a942a0)
+
+Vtable for QEvent
+QEvent::_ZTV6QEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI6QEvent)
+16 QEvent::~QEvent
+24 QEvent::~QEvent
+
+Class QEvent
+ size=24 align=8
+ base size=20 base align=8
+QEvent (0x7f3bf6aa8af0) 0
+ vptr=((& QEvent::_ZTV6QEvent) + 16u)
+
+Vtable for QTimerEvent
+QTimerEvent::_ZTV11QTimerEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QTimerEvent)
+16 QTimerEvent::~QTimerEvent
+24 QTimerEvent::~QTimerEvent
+
+Class QTimerEvent
+ size=24 align=8
+ base size=24 base align=8
+QTimerEvent (0x7f3bf6acb700) 0
+ vptr=((& QTimerEvent::_ZTV11QTimerEvent) + 16u)
+ QEvent (0x7f3bf6acb770) 0
+ primary-for QTimerEvent (0x7f3bf6acb700)
+
+Vtable for QChildEvent
+QChildEvent::_ZTV11QChildEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QChildEvent)
+16 QChildEvent::~QChildEvent
+24 QChildEvent::~QChildEvent
+
+Class QChildEvent
+ size=32 align=8
+ base size=32 base align=8
+QChildEvent (0x7f3bf6acbb60) 0
+ vptr=((& QChildEvent::_ZTV11QChildEvent) + 16u)
+ QEvent (0x7f3bf6acbbd0) 0
+ primary-for QChildEvent (0x7f3bf6acbb60)
+
+Vtable for QCustomEvent
+QCustomEvent::_ZTV12QCustomEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QCustomEvent)
+16 QCustomEvent::~QCustomEvent
+24 QCustomEvent::~QCustomEvent
+
+Class QCustomEvent
+ size=24 align=8
+ base size=20 base align=8
+QCustomEvent (0x7f3bf6ad5e00) 0
+ vptr=((& QCustomEvent::_ZTV12QCustomEvent) + 16u)
+ QEvent (0x7f3bf6ad5e70) 0
+ primary-for QCustomEvent (0x7f3bf6ad5e00)
+
+Vtable for QDynamicPropertyChangeEvent
+QDynamicPropertyChangeEvent::_ZTV27QDynamicPropertyChangeEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI27QDynamicPropertyChangeEvent)
+16 QDynamicPropertyChangeEvent::~QDynamicPropertyChangeEvent
+24 QDynamicPropertyChangeEvent::~QDynamicPropertyChangeEvent
+
+Class QDynamicPropertyChangeEvent
+ size=32 align=8
+ base size=32 base align=8
+QDynamicPropertyChangeEvent (0x7f3bf6ae5620) 0
+ vptr=((& QDynamicPropertyChangeEvent::_ZTV27QDynamicPropertyChangeEvent) + 16u)
+ QEvent (0x7f3bf6ae5690) 0
+ primary-for QDynamicPropertyChangeEvent (0x7f3bf6ae5620)
+
+Vtable for QEventTransition
+QEventTransition::_ZTV16QEventTransition: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QEventTransition)
+16 QEventTransition::metaObject
+24 QEventTransition::qt_metacast
+32 QEventTransition::qt_metacall
+40 QEventTransition::~QEventTransition
+48 QEventTransition::~QEventTransition
+56 QEventTransition::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QEventTransition::eventTest
+120 QEventTransition::onTransition
+
+Class QEventTransition
+ size=16 align=8
+ base size=16 base align=8
+QEventTransition (0x7f3bf6ae5af0) 0
+ vptr=((& QEventTransition::_ZTV16QEventTransition) + 16u)
+ QAbstractTransition (0x7f3bf6ae5b60) 0
+ primary-for QEventTransition (0x7f3bf6ae5af0)
+ QObject (0x7f3bf6ae5bd0) 0
+ primary-for QAbstractTransition (0x7f3bf6ae5b60)
+
+Vtable for QFinalState
+QFinalState::_ZTV11QFinalState: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QFinalState)
+16 QFinalState::metaObject
+24 QFinalState::qt_metacast
+32 QFinalState::qt_metacall
+40 QFinalState::~QFinalState
+48 QFinalState::~QFinalState
+56 QFinalState::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QFinalState::onEntry
+120 QFinalState::onExit
+
+Class QFinalState
+ size=16 align=8
+ base size=16 base align=8
+QFinalState (0x7f3bf6b019a0) 0
+ vptr=((& QFinalState::_ZTV11QFinalState) + 16u)
+ QAbstractState (0x7f3bf6b01a10) 0
+ primary-for QFinalState (0x7f3bf6b019a0)
+ QObject (0x7f3bf6b01a80) 0
+ primary-for QAbstractState (0x7f3bf6b01a10)
+
+Vtable for QHistoryState
+QHistoryState::_ZTV13QHistoryState: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QHistoryState)
+16 QHistoryState::metaObject
+24 QHistoryState::qt_metacast
+32 QHistoryState::qt_metacall
+40 QHistoryState::~QHistoryState
+48 QHistoryState::~QHistoryState
+56 QHistoryState::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QHistoryState::onEntry
+120 QHistoryState::onExit
+
+Class QHistoryState
+ size=16 align=8
+ base size=16 base align=8
+QHistoryState (0x7f3bf6b1a230) 0
+ vptr=((& QHistoryState::_ZTV13QHistoryState) + 16u)
+ QAbstractState (0x7f3bf6b1a2a0) 0
+ primary-for QHistoryState (0x7f3bf6b1a230)
+ QObject (0x7f3bf6b1a310) 0
+ primary-for QAbstractState (0x7f3bf6b1a2a0)
+
+Vtable for QSignalTransition
+QSignalTransition::_ZTV17QSignalTransition: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QSignalTransition)
+16 QSignalTransition::metaObject
+24 QSignalTransition::qt_metacast
+32 QSignalTransition::qt_metacall
+40 QSignalTransition::~QSignalTransition
+48 QSignalTransition::~QSignalTransition
+56 QSignalTransition::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QSignalTransition::eventTest
+120 QSignalTransition::onTransition
+
+Class QSignalTransition
+ size=16 align=8
+ base size=16 base align=8
+QSignalTransition (0x7f3bf6b2af50) 0
+ vptr=((& QSignalTransition::_ZTV17QSignalTransition) + 16u)
+ QAbstractTransition (0x7f3bf6b32000) 0
+ primary-for QSignalTransition (0x7f3bf6b2af50)
+ QObject (0x7f3bf6b32070) 0
+ primary-for QAbstractTransition (0x7f3bf6b32000)
+
+Vtable for QState
+QState::_ZTV6QState: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI6QState)
+16 QState::metaObject
+24 QState::qt_metacast
+32 QState::qt_metacall
+40 QState::~QState
+48 QState::~QState
+56 QState::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QState::onEntry
+120 QState::onExit
+
+Class QState
+ size=16 align=8
+ base size=16 base align=8
+QState (0x7f3bf6b46af0) 0
+ vptr=((& QState::_ZTV6QState) + 16u)
+ QAbstractState (0x7f3bf6b46b60) 0
+ primary-for QState (0x7f3bf6b46af0)
+ QObject (0x7f3bf6b46bd0) 0
+ primary-for QAbstractState (0x7f3bf6b46b60)
+
+Vtable for QStateMachine::SignalEvent
+QStateMachine::SignalEvent::_ZTVN13QStateMachine11SignalEventE: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN13QStateMachine11SignalEventE)
+16 QStateMachine::SignalEvent::~SignalEvent
+24 QStateMachine::SignalEvent::~SignalEvent
+
+Class QStateMachine::SignalEvent
+ size=48 align=8
+ base size=48 base align=8
+QStateMachine::SignalEvent (0x7f3bf696a150) 0
+ vptr=((& QStateMachine::SignalEvent::_ZTVN13QStateMachine11SignalEventE) + 16u)
+ QEvent (0x7f3bf696a1c0) 0
+ primary-for QStateMachine::SignalEvent (0x7f3bf696a150)
+
+Vtable for QStateMachine::WrappedEvent
+QStateMachine::WrappedEvent::_ZTVN13QStateMachine12WrappedEventE: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN13QStateMachine12WrappedEventE)
+16 QStateMachine::WrappedEvent::~WrappedEvent
+24 QStateMachine::WrappedEvent::~WrappedEvent
+
+Class QStateMachine::WrappedEvent
+ size=40 align=8
+ base size=40 base align=8
+QStateMachine::WrappedEvent (0x7f3bf696a700) 0
+ vptr=((& QStateMachine::WrappedEvent::_ZTVN13QStateMachine12WrappedEventE) + 16u)
+ QEvent (0x7f3bf696a770) 0
+ primary-for QStateMachine::WrappedEvent (0x7f3bf696a700)
+
+Vtable for QStateMachine
+QStateMachine::_ZTV13QStateMachine: 20u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QStateMachine)
+16 QStateMachine::metaObject
+24 QStateMachine::qt_metacast
+32 QStateMachine::qt_metacall
+40 QStateMachine::~QStateMachine
+48 QStateMachine::~QStateMachine
+56 QStateMachine::event
+64 QStateMachine::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QStateMachine::onEntry
+120 QStateMachine::onExit
+128 QStateMachine::beginSelectTransitions
+136 QStateMachine::endSelectTransitions
+144 QStateMachine::beginMicrostep
+152 QStateMachine::endMicrostep
+
+Class QStateMachine
+ size=16 align=8
+ base size=16 base align=8
+QStateMachine (0x7f3bf6962ee0) 0
+ vptr=((& QStateMachine::_ZTV13QStateMachine) + 16u)
+ QState (0x7f3bf6962f50) 0
+ primary-for QStateMachine (0x7f3bf6962ee0)
+ QAbstractState (0x7f3bf696a000) 0
+ primary-for QState (0x7f3bf6962f50)
+ QObject (0x7f3bf696a070) 0
+ primary-for QAbstractState (0x7f3bf696a000)
+
+Class QBitArray
+ size=8 align=8
+ base size=8 base align=8
+QBitArray (0x7f3bf699a150) 0
+
+Class QBitRef
+ size=16 align=8
+ base size=12 base align=8
+QBitRef (0x7f3bf69f2e00) 0
+
+Class QByteArrayMatcher::Data
+ size=272 align=8
+ base size=272 base align=8
+QByteArrayMatcher::Data (0x7f3bf6a04af0) 0
+
+Class QByteArrayMatcher
+ size=1040 align=8
+ base size=1040 base align=8
+QByteArrayMatcher (0x7f3bf6a044d0) 0
+
+Class QCryptographicHash
+ size=8 align=8
+ base size=8 base align=8
+QCryptographicHash (0x7f3bf6a3b150) 0
+
+Vtable for QtSharedPointer::ExternalRefCountData
+QtSharedPointer::ExternalRefCountData::_ZTVN15QtSharedPointer20ExternalRefCountDataE: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN15QtSharedPointer20ExternalRefCountDataE)
+16 QtSharedPointer::ExternalRefCountData::~ExternalRefCountData
+24 QtSharedPointer::ExternalRefCountData::~ExternalRefCountData
+32 QtSharedPointer::ExternalRefCountData::destroy
+
+Class QtSharedPointer::ExternalRefCountData
+ size=16 align=8
+ base size=16 base align=8
+QtSharedPointer::ExternalRefCountData (0x7f3bf6866070) 0
+ vptr=((& QtSharedPointer::ExternalRefCountData::_ZTVN15QtSharedPointer20ExternalRefCountDataE) + 16u)
+
+Vtable for QtSharedPointer::ExternalRefCountWithDestroyFn
+QtSharedPointer::ExternalRefCountWithDestroyFn::_ZTVN15QtSharedPointer29ExternalRefCountWithDestroyFnE: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN15QtSharedPointer29ExternalRefCountWithDestroyFnE)
+16 QtSharedPointer::ExternalRefCountWithDestroyFn::~ExternalRefCountWithDestroyFn
+24 QtSharedPointer::ExternalRefCountWithDestroyFn::~ExternalRefCountWithDestroyFn
+32 QtSharedPointer::ExternalRefCountWithDestroyFn::destroy
+
+Class QtSharedPointer::ExternalRefCountWithDestroyFn
+ size=24 align=8
+ base size=24 base align=8
+QtSharedPointer::ExternalRefCountWithDestroyFn (0x7f3bf687e930) 0
+ vptr=((& QtSharedPointer::ExternalRefCountWithDestroyFn::_ZTVN15QtSharedPointer29ExternalRefCountWithDestroyFnE) + 16u)
+ QtSharedPointer::ExternalRefCountData (0x7f3bf687e9a0) 0
+ primary-for QtSharedPointer::ExternalRefCountWithDestroyFn (0x7f3bf687e930)
+
+Class QDate
+ size=4 align=4
+ base size=4 base align=4
+QDate (0x7f3bf69045b0) 0
+
+Class QTime
+ size=4 align=4
+ base size=4 base align=4
+QTime (0x7f3bf6934540) 0
+
+Class QDateTime
+ size=8 align=8
+ base size=8 base align=8
+QDateTime (0x7f3bf6950af0) 0
+
+Class QEasingCurve
+ size=8 align=8
+ base size=8 base align=8
+QEasingCurve (0x7f3bf6797000) 0
+
+Class QPoint
+ size=8 align=4
+ base size=8 base align=4
+QPoint (0x7f3bf6797ee0) 0
+
+Class QPointF
+ size=16 align=8
+ base size=16 base align=8
+QPointF (0x7f3bf67daaf0) 0
+
+Class QLine
+ size=16 align=4
+ base size=16 base align=4
+QLine (0x7f3bf6818af0) 0
+
+Class QLineF
+ size=32 align=8
+ base size=32 base align=8
+QLineF (0x7f3bf68539a0) 0
+
+Class QLinkedListData
+ size=32 align=8
+ base size=32 base align=8
+QLinkedListData (0x7f3bf66a8460) 0
+
+Class QMargins
+ size=16 align=4
+ base size=16 base align=4
+QMargins (0x7f3bf6566380) 0
+
+Class QSize
+ size=8 align=4
+ base size=8 base align=4
+QSize (0x7f3bf6596150) 0
+
+Class QSizeF
+ size=16 align=8
+ base size=16 base align=8
+QSizeF (0x7f3bf65d5e00) 0
+
+Class QRect
+ size=16 align=4
+ base size=16 base align=4
+QRect (0x7f3bf662a380) 0
+
+Class QRectF
+ size=32 align=8
+ base size=32 base align=8
+QRectF (0x7f3bf64d5d20) 0
+
+Class QLatin1Literal
+ size=16 align=8
+ base size=16 base align=8
+QLatin1Literal (0x7f3bf6384ee0) 0
+
+Class QAbstractConcatenable
+ size=1 align=1
+ base size=0 base align=1
+QAbstractConcatenable (0x7f3bf63973f0) 0 empty
+
+Class QTextBoundaryFinder
+ size=48 align=8
+ base size=48 base align=8
+QTextBoundaryFinder (0x7f3bf63cd380) 0
+
+Vtable for QTimeLine
+QTimeLine::_ZTV9QTimeLine: 15u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QTimeLine)
+16 QTimeLine::metaObject
+24 QTimeLine::qt_metacast
+32 QTimeLine::qt_metacall
+40 QTimeLine::~QTimeLine
+48 QTimeLine::~QTimeLine
+56 QObject::event
+64 QObject::eventFilter
+72 QTimeLine::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QTimeLine::valueForTime
+
+Class QTimeLine
+ size=16 align=8
+ base size=16 base align=8
+QTimeLine (0x7f3bf63de700) 0
+ vptr=((& QTimeLine::_ZTV9QTimeLine) + 16u)
+ QObject (0x7f3bf63de770) 0
+ primary-for QTimeLine (0x7f3bf63de700)
+
+Vtable for QRunnable
+QRunnable::_ZTV9QRunnable: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QRunnable)
+16 __cxa_pure_virtual
+24 QRunnable::~QRunnable
+32 QRunnable::~QRunnable
+
+Class QRunnable
+ size=16 align=8
+ base size=12 base align=8
+QRunnable (0x7f3bf6405f50) 0
+ vptr=((& QRunnable::_ZTV9QRunnable) + 16u)
+
+Class QMutex
+ size=8 align=8
+ base size=8 base align=8
+QMutex (0x7f3bf643c620) 0
+
+Class QMutexLocker
+ size=8 align=8
+ base size=8 base align=8
+QMutexLocker (0x7f3bf644b1c0) 0
+
+Vtable for QtConcurrent::Exception
+QtConcurrent::Exception::_ZTVN12QtConcurrent9ExceptionE: 7u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN12QtConcurrent9ExceptionE)
+16 QtConcurrent::Exception::~Exception
+24 QtConcurrent::Exception::~Exception
+32 std::exception::what
+40 QtConcurrent::Exception::raise
+48 QtConcurrent::Exception::clone
+
+Class QtConcurrent::Exception
+ size=8 align=8
+ base size=8 base align=8
+QtConcurrent::Exception (0x7f3bf62614d0) 0 nearly-empty
+ vptr=((& QtConcurrent::Exception::_ZTVN12QtConcurrent9ExceptionE) + 16u)
+ std::exception (0x7f3bf6261540) 0 nearly-empty
+ primary-for QtConcurrent::Exception (0x7f3bf62614d0)
+
+Vtable for QtConcurrent::UnhandledException
+QtConcurrent::UnhandledException::_ZTVN12QtConcurrent18UnhandledExceptionE: 7u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN12QtConcurrent18UnhandledExceptionE)
+16 QtConcurrent::UnhandledException::~UnhandledException
+24 QtConcurrent::UnhandledException::~UnhandledException
+32 std::exception::what
+40 QtConcurrent::UnhandledException::raise
+48 QtConcurrent::UnhandledException::clone
+
+Class QtConcurrent::UnhandledException
+ size=8 align=8
+ base size=8 base align=8
+QtConcurrent::UnhandledException (0x7f3bf6261770) 0 nearly-empty
+ vptr=((& QtConcurrent::UnhandledException::_ZTVN12QtConcurrent18UnhandledExceptionE) + 16u)
+ QtConcurrent::Exception (0x7f3bf62617e0) 0 nearly-empty
+ primary-for QtConcurrent::UnhandledException (0x7f3bf6261770)
+ std::exception (0x7f3bf6261850) 0 nearly-empty
+ primary-for QtConcurrent::Exception (0x7f3bf62617e0)
+
+Class QtConcurrent::internal::ExceptionHolder
+ size=8 align=8
+ base size=8 base align=8
+QtConcurrent::internal::ExceptionHolder (0x7f3bf6261a80) 0
+
+Class QtConcurrent::internal::ExceptionStore
+ size=8 align=8
+ base size=8 base align=8
+QtConcurrent::internal::ExceptionStore (0x7f3bf6261e00) 0
+
+Class QtConcurrent::ResultItem
+ size=16 align=8
+ base size=16 base align=8
+QtConcurrent::ResultItem (0x7f3bf6261e70) 0
+
+Class QtConcurrent::ResultIteratorBase
+ size=16 align=8
+ base size=12 base align=8
+QtConcurrent::ResultIteratorBase (0x7f3bf6279d90) 0
+
+Vtable for QtConcurrent::ResultStoreBase
+QtConcurrent::ResultStoreBase::_ZTVN12QtConcurrent15ResultStoreBaseE: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN12QtConcurrent15ResultStoreBaseE)
+16 QtConcurrent::ResultStoreBase::~ResultStoreBase
+24 QtConcurrent::ResultStoreBase::~ResultStoreBase
+
+Class QtConcurrent::ResultStoreBase
+ size=48 align=8
+ base size=44 base align=8
+QtConcurrent::ResultStoreBase (0x7f3bf627e930) 0
+ vptr=((& QtConcurrent::ResultStoreBase::_ZTVN12QtConcurrent15ResultStoreBaseE) + 16u)
+
+Vtable for QFutureInterfaceBase
+QFutureInterfaceBase::_ZTV20QFutureInterfaceBase: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI20QFutureInterfaceBase)
+16 QFutureInterfaceBase::~QFutureInterfaceBase
+24 QFutureInterfaceBase::~QFutureInterfaceBase
+
+Class QFutureInterfaceBase
+ size=16 align=8
+ base size=16 base align=8
+QFutureInterfaceBase (0x7f3bf62bcd90) 0
+ vptr=((& QFutureInterfaceBase::_ZTV20QFutureInterfaceBase) + 16u)
+
+Vtable for QFutureWatcherBase
+QFutureWatcherBase::_ZTV18QFutureWatcherBase: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QFutureWatcherBase)
+16 QFutureWatcherBase::metaObject
+24 QFutureWatcherBase::qt_metacast
+32 QFutureWatcherBase::qt_metacall
+40 QFutureWatcherBase::~QFutureWatcherBase
+48 QFutureWatcherBase::~QFutureWatcherBase
+56 QFutureWatcherBase::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QFutureWatcherBase::connectNotify
+104 QFutureWatcherBase::disconnectNotify
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+
+Class QFutureWatcherBase
+ size=16 align=8
+ base size=16 base align=8
+QFutureWatcherBase (0x7f3bf61a3690) 0
+ vptr=((& QFutureWatcherBase::_ZTV18QFutureWatcherBase) + 16u)
+ QObject (0x7f3bf61a3700) 0
+ primary-for QFutureWatcherBase (0x7f3bf61a3690)
+
+Vtable for QThread
+QThread::_ZTV7QThread: 15u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QThread)
+16 QThread::metaObject
+24 QThread::qt_metacast
+32 QThread::qt_metacall
+40 QThread::~QThread
+48 QThread::~QThread
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QThread::run
+
+Class QThread
+ size=16 align=8
+ base size=16 base align=8
+QThread (0x7f3bf61f4a80) 0
+ vptr=((& QThread::_ZTV7QThread) + 16u)
+ QObject (0x7f3bf61f4af0) 0
+ primary-for QThread (0x7f3bf61f4a80)
+
+Vtable for QThreadPool
+QThreadPool::_ZTV11QThreadPool: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QThreadPool)
+16 QThreadPool::metaObject
+24 QThreadPool::qt_metacast
+32 QThreadPool::qt_metacall
+40 QThreadPool::~QThreadPool
+48 QThreadPool::~QThreadPool
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QThreadPool
+ size=16 align=8
+ base size=16 base align=8
+QThreadPool (0x7f3bf621a930) 0
+ vptr=((& QThreadPool::_ZTV11QThreadPool) + 16u)
+ QObject (0x7f3bf621a9a0) 0
+ primary-for QThreadPool (0x7f3bf621a930)
+
+Class QWaitCondition
+ size=8 align=8
+ base size=8 base align=8
+QWaitCondition (0x7f3bf622cee0) 0
+
+Class QSemaphore
+ size=8 align=8
+ base size=8 base align=8
+QSemaphore (0x7f3bf6235460) 0
+
+Class QtConcurrent::ThreadEngineBarrier
+ size=24 align=8
+ base size=24 base align=8
+QtConcurrent::ThreadEngineBarrier (0x7f3bf62359a0) 0
+
+Vtable for QtConcurrent::ThreadEngineBase
+QtConcurrent::ThreadEngineBase::_ZTVN12QtConcurrent16ThreadEngineBaseE: 11u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN12QtConcurrent16ThreadEngineBaseE)
+16 QtConcurrent::ThreadEngineBase::run
+24 QtConcurrent::ThreadEngineBase::~ThreadEngineBase
+32 QtConcurrent::ThreadEngineBase::~ThreadEngineBase
+40 QtConcurrent::ThreadEngineBase::start
+48 QtConcurrent::ThreadEngineBase::finish
+56 QtConcurrent::ThreadEngineBase::threadFunction
+64 QtConcurrent::ThreadEngineBase::shouldStartThread
+72 QtConcurrent::ThreadEngineBase::shouldThrottleThread
+80 __cxa_pure_virtual
+
+Class QtConcurrent::ThreadEngineBase
+ size=64 align=8
+ base size=64 base align=8
+QtConcurrent::ThreadEngineBase (0x7f3bf6235a80) 0
+ vptr=((& QtConcurrent::ThreadEngineBase::_ZTVN12QtConcurrent16ThreadEngineBaseE) + 16u)
+ QRunnable (0x7f3bf6235af0) 0
+ primary-for QtConcurrent::ThreadEngineBase (0x7f3bf6235a80)
+
+VTT for QtConcurrent::ThreadEngine<void>
+QtConcurrent::ThreadEngine<void>::_ZTTN12QtConcurrent12ThreadEngineIvEE: 2u entries
+0 ((& QtConcurrent::ThreadEngine<void>::_ZTVN12QtConcurrent12ThreadEngineIvEE) + 24u)
+8 ((& QtConcurrent::ThreadEngine<void>::_ZTVN12QtConcurrent12ThreadEngineIvEE) + 136u)
+
+Class QtConcurrent::BlockSizeManager
+ size=96 align=8
+ base size=92 base align=8
+QtConcurrent::BlockSizeManager (0x7f3bf6081ee0) 0
+
+Vtable for QFactoryInterface
+QFactoryInterface::_ZTV17QFactoryInterface: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QFactoryInterface)
+16 QFactoryInterface::~QFactoryInterface
+24 QFactoryInterface::~QFactoryInterface
+32 __cxa_pure_virtual
+
+Class QFactoryInterface
+ size=8 align=8
+ base size=8 base align=8
+QFactoryInterface (0x7f3bf5d25d20) 0 nearly-empty
+ vptr=((& QFactoryInterface::_ZTV17QFactoryInterface) + 16u)
+
+Vtable for QTextCodecFactoryInterface
+QTextCodecFactoryInterface::_ZTV26QTextCodecFactoryInterface: 6u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI26QTextCodecFactoryInterface)
+16 QTextCodecFactoryInterface::~QTextCodecFactoryInterface
+24 QTextCodecFactoryInterface::~QTextCodecFactoryInterface
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+
+Class QTextCodecFactoryInterface
+ size=8 align=8
+ base size=8 base align=8
+QTextCodecFactoryInterface (0x7f3bf5b57000) 0 nearly-empty
+ vptr=((& QTextCodecFactoryInterface::_ZTV26QTextCodecFactoryInterface) + 16u)
+ QFactoryInterface (0x7f3bf5b57070) 0 nearly-empty
+ primary-for QTextCodecFactoryInterface (0x7f3bf5b57000)
+
+Vtable for QTextCodecPlugin
+QTextCodecPlugin::_ZTV16QTextCodecPlugin: 27u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QTextCodecPlugin)
+16 QTextCodecPlugin::metaObject
+24 QTextCodecPlugin::qt_metacast
+32 QTextCodecPlugin::qt_metacall
+40 QTextCodecPlugin::~QTextCodecPlugin
+48 QTextCodecPlugin::~QTextCodecPlugin
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 __cxa_pure_virtual
+136 __cxa_pure_virtual
+144 __cxa_pure_virtual
+152 QTextCodecPlugin::keys
+160 QTextCodecPlugin::create
+168 (int (*)(...))-0x00000000000000010
+176 (int (*)(...))(& _ZTI16QTextCodecPlugin)
+184 QTextCodecPlugin::_ZThn16_N16QTextCodecPluginD1Ev
+192 QTextCodecPlugin::_ZThn16_N16QTextCodecPluginD0Ev
+200 QTextCodecPlugin::_ZThn16_NK16QTextCodecPlugin4keysEv
+208 QTextCodecPlugin::_ZThn16_N16QTextCodecPlugin6createERK7QString
+
+Class QTextCodecPlugin
+ size=24 align=8
+ base size=24 base align=8
+QTextCodecPlugin (0x7f3bf5b60580) 0
+ vptr=((& QTextCodecPlugin::_ZTV16QTextCodecPlugin) + 16u)
+ QObject (0x7f3bf5b57a80) 0
+ primary-for QTextCodecPlugin (0x7f3bf5b60580)
+ QTextCodecFactoryInterface (0x7f3bf5b57af0) 16 nearly-empty
+ vptr=((& QTextCodecPlugin::_ZTV16QTextCodecPlugin) + 184u)
+ QFactoryInterface (0x7f3bf5b57b60) 16 nearly-empty
+ primary-for QTextCodecFactoryInterface (0x7f3bf5b57af0)
+
+Class QLibraryInfo
+ size=1 align=1
+ base size=0 base align=1
+QLibraryInfo (0x7f3bf5bac150) 0 empty
+
+Vtable for QEventLoop
+QEventLoop::_ZTV10QEventLoop: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QEventLoop)
+16 QEventLoop::metaObject
+24 QEventLoop::qt_metacast
+32 QEventLoop::qt_metacall
+40 QEventLoop::~QEventLoop
+48 QEventLoop::~QEventLoop
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QEventLoop
+ size=16 align=8
+ base size=16 base align=8
+QEventLoop (0x7f3bf5bac2a0) 0
+ vptr=((& QEventLoop::_ZTV10QEventLoop) + 16u)
+ QObject (0x7f3bf5bac310) 0
+ primary-for QEventLoop (0x7f3bf5bac2a0)
+
+Vtable for QAbstractEventDispatcher
+QAbstractEventDispatcher::_ZTV24QAbstractEventDispatcher: 27u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI24QAbstractEventDispatcher)
+16 QAbstractEventDispatcher::metaObject
+24 QAbstractEventDispatcher::qt_metacast
+32 QAbstractEventDispatcher::qt_metacall
+40 QAbstractEventDispatcher::~QAbstractEventDispatcher
+48 QAbstractEventDispatcher::~QAbstractEventDispatcher
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 __cxa_pure_virtual
+136 __cxa_pure_virtual
+144 __cxa_pure_virtual
+152 __cxa_pure_virtual
+160 __cxa_pure_virtual
+168 __cxa_pure_virtual
+176 __cxa_pure_virtual
+184 __cxa_pure_virtual
+192 __cxa_pure_virtual
+200 QAbstractEventDispatcher::startingUp
+208 QAbstractEventDispatcher::closingDown
+
+Class QAbstractEventDispatcher
+ size=16 align=8
+ base size=16 base align=8
+QAbstractEventDispatcher (0x7f3bf5be8bd0) 0
+ vptr=((& QAbstractEventDispatcher::_ZTV24QAbstractEventDispatcher) + 16u)
+ QObject (0x7f3bf5be8c40) 0
+ primary-for QAbstractEventDispatcher (0x7f3bf5be8bd0)
+
+Class QModelIndex
+ size=24 align=8
+ base size=24 base align=8
+QModelIndex (0x7f3bf5c0fa80) 0
+
+Class QPersistentModelIndex
+ size=8 align=8
+ base size=8 base align=8
+QPersistentModelIndex (0x7f3bf5c38540) 0
+
+Vtable for QAbstractItemModel
+QAbstractItemModel::_ZTV18QAbstractItemModel: 42u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QAbstractItemModel)
+16 QAbstractItemModel::metaObject
+24 QAbstractItemModel::qt_metacast
+32 QAbstractItemModel::qt_metacall
+40 QAbstractItemModel::~QAbstractItemModel
+48 QAbstractItemModel::~QAbstractItemModel
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 __cxa_pure_virtual
+136 __cxa_pure_virtual
+144 QAbstractItemModel::hasChildren
+152 __cxa_pure_virtual
+160 QAbstractItemModel::setData
+168 QAbstractItemModel::headerData
+176 QAbstractItemModel::setHeaderData
+184 QAbstractItemModel::itemData
+192 QAbstractItemModel::setItemData
+200 QAbstractItemModel::mimeTypes
+208 QAbstractItemModel::mimeData
+216 QAbstractItemModel::dropMimeData
+224 QAbstractItemModel::supportedDropActions
+232 QAbstractItemModel::insertRows
+240 QAbstractItemModel::insertColumns
+248 QAbstractItemModel::removeRows
+256 QAbstractItemModel::removeColumns
+264 QAbstractItemModel::fetchMore
+272 QAbstractItemModel::canFetchMore
+280 QAbstractItemModel::flags
+288 QAbstractItemModel::sort
+296 QAbstractItemModel::buddy
+304 QAbstractItemModel::match
+312 QAbstractItemModel::span
+320 QAbstractItemModel::submit
+328 QAbstractItemModel::revert
+
+Class QAbstractItemModel
+ size=16 align=8
+ base size=16 base align=8
+QAbstractItemModel (0x7f3bf5c42850) 0
+ vptr=((& QAbstractItemModel::_ZTV18QAbstractItemModel) + 16u)
+ QObject (0x7f3bf5c428c0) 0
+ primary-for QAbstractItemModel (0x7f3bf5c42850)
+
+Vtable for QAbstractTableModel
+QAbstractTableModel::_ZTV19QAbstractTableModel: 42u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QAbstractTableModel)
+16 QAbstractTableModel::metaObject
+24 QAbstractTableModel::qt_metacast
+32 QAbstractTableModel::qt_metacall
+40 QAbstractTableModel::~QAbstractTableModel
+48 QAbstractTableModel::~QAbstractTableModel
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QAbstractTableModel::index
+120 QAbstractTableModel::parent
+128 __cxa_pure_virtual
+136 __cxa_pure_virtual
+144 QAbstractTableModel::hasChildren
+152 __cxa_pure_virtual
+160 QAbstractItemModel::setData
+168 QAbstractItemModel::headerData
+176 QAbstractItemModel::setHeaderData
+184 QAbstractItemModel::itemData
+192 QAbstractItemModel::setItemData
+200 QAbstractItemModel::mimeTypes
+208 QAbstractItemModel::mimeData
+216 QAbstractTableModel::dropMimeData
+224 QAbstractItemModel::supportedDropActions
+232 QAbstractItemModel::insertRows
+240 QAbstractItemModel::insertColumns
+248 QAbstractItemModel::removeRows
+256 QAbstractItemModel::removeColumns
+264 QAbstractItemModel::fetchMore
+272 QAbstractItemModel::canFetchMore
+280 QAbstractItemModel::flags
+288 QAbstractItemModel::sort
+296 QAbstractItemModel::buddy
+304 QAbstractItemModel::match
+312 QAbstractItemModel::span
+320 QAbstractItemModel::submit
+328 QAbstractItemModel::revert
+
+Class QAbstractTableModel
+ size=16 align=8
+ base size=16 base align=8
+QAbstractTableModel (0x7f3bf5a9db60) 0
+ vptr=((& QAbstractTableModel::_ZTV19QAbstractTableModel) + 16u)
+ QAbstractItemModel (0x7f3bf5a9dbd0) 0
+ primary-for QAbstractTableModel (0x7f3bf5a9db60)
+ QObject (0x7f3bf5a9dc40) 0
+ primary-for QAbstractItemModel (0x7f3bf5a9dbd0)
+
+Vtable for QAbstractListModel
+QAbstractListModel::_ZTV18QAbstractListModel: 42u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QAbstractListModel)
+16 QAbstractListModel::metaObject
+24 QAbstractListModel::qt_metacast
+32 QAbstractListModel::qt_metacall
+40 QAbstractListModel::~QAbstractListModel
+48 QAbstractListModel::~QAbstractListModel
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QAbstractListModel::index
+120 QAbstractListModel::parent
+128 __cxa_pure_virtual
+136 QAbstractListModel::columnCount
+144 QAbstractListModel::hasChildren
+152 __cxa_pure_virtual
+160 QAbstractItemModel::setData
+168 QAbstractItemModel::headerData
+176 QAbstractItemModel::setHeaderData
+184 QAbstractItemModel::itemData
+192 QAbstractItemModel::setItemData
+200 QAbstractItemModel::mimeTypes
+208 QAbstractItemModel::mimeData
+216 QAbstractListModel::dropMimeData
+224 QAbstractItemModel::supportedDropActions
+232 QAbstractItemModel::insertRows
+240 QAbstractItemModel::insertColumns
+248 QAbstractItemModel::removeRows
+256 QAbstractItemModel::removeColumns
+264 QAbstractItemModel::fetchMore
+272 QAbstractItemModel::canFetchMore
+280 QAbstractItemModel::flags
+288 QAbstractItemModel::sort
+296 QAbstractItemModel::buddy
+304 QAbstractItemModel::match
+312 QAbstractItemModel::span
+320 QAbstractItemModel::submit
+328 QAbstractItemModel::revert
+
+Class QAbstractListModel
+ size=16 align=8
+ base size=16 base align=8
+QAbstractListModel (0x7f3bf5ab90e0) 0
+ vptr=((& QAbstractListModel::_ZTV18QAbstractListModel) + 16u)
+ QAbstractItemModel (0x7f3bf5ab9150) 0
+ primary-for QAbstractListModel (0x7f3bf5ab90e0)
+ QObject (0x7f3bf5ab91c0) 0
+ primary-for QAbstractItemModel (0x7f3bf5ab9150)
+
+Class QBasicTimer
+ size=4 align=4
+ base size=4 base align=4
+QBasicTimer (0x7f3bf5aea230) 0
+
+Vtable for QCoreApplication
+QCoreApplication::_ZTV16QCoreApplication: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QCoreApplication)
+16 QCoreApplication::metaObject
+24 QCoreApplication::qt_metacast
+32 QCoreApplication::qt_metacall
+40 QCoreApplication::~QCoreApplication
+48 QCoreApplication::~QCoreApplication
+56 QCoreApplication::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QCoreApplication::notify
+120 QCoreApplication::compressEvent
+
+Class QCoreApplication
+ size=16 align=8
+ base size=16 base align=8
+QCoreApplication (0x7f3bf5af7620) 0
+ vptr=((& QCoreApplication::_ZTV16QCoreApplication) + 16u)
+ QObject (0x7f3bf5af7690) 0
+ primary-for QCoreApplication (0x7f3bf5af7620)
+
+Class __exception
+ size=40 align=8
+ base size=40 base align=8
+__exception (0x7f3bf5b2b310) 0
+
+Class QMetaMethod
+ size=16 align=8
+ base size=12 base align=8
+QMetaMethod (0x7f3bf5997770) 0
+
+Class QMetaEnum
+ size=16 align=8
+ base size=12 base align=8
+QMetaEnum (0x7f3bf59b3bd0) 0
+
+Class QMetaProperty
+ size=32 align=8
+ base size=32 base align=8
+QMetaProperty (0x7f3bf59c2930) 0
+
+Class QMetaClassInfo
+ size=16 align=8
+ base size=12 base align=8
+QMetaClassInfo (0x7f3bf59d1000) 0
+
+Vtable for QMimeData
+QMimeData::_ZTV9QMimeData: 17u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QMimeData)
+16 QMimeData::metaObject
+24 QMimeData::qt_metacast
+32 QMimeData::qt_metacall
+40 QMimeData::~QMimeData
+48 QMimeData::~QMimeData
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QMimeData::hasFormat
+120 QMimeData::formats
+128 QMimeData::retrieveData
+
+Class QMimeData
+ size=16 align=8
+ base size=16 base align=8
+QMimeData (0x7f3bf59d1af0) 0
+ vptr=((& QMimeData::_ZTV9QMimeData) + 16u)
+ QObject (0x7f3bf59d1b60) 0
+ primary-for QMimeData (0x7f3bf59d1af0)
+
+Vtable for QObjectCleanupHandler
+QObjectCleanupHandler::_ZTV21QObjectCleanupHandler: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI21QObjectCleanupHandler)
+16 QObjectCleanupHandler::metaObject
+24 QObjectCleanupHandler::qt_metacast
+32 QObjectCleanupHandler::qt_metacall
+40 QObjectCleanupHandler::~QObjectCleanupHandler
+48 QObjectCleanupHandler::~QObjectCleanupHandler
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QObjectCleanupHandler
+ size=24 align=8
+ base size=24 base align=8
+QObjectCleanupHandler (0x7f3bf59f5380) 0
+ vptr=((& QObjectCleanupHandler::_ZTV21QObjectCleanupHandler) + 16u)
+ QObject (0x7f3bf59f53f0) 0
+ primary-for QObjectCleanupHandler (0x7f3bf59f5380)
+
+Vtable for QSharedMemory
+QSharedMemory::_ZTV13QSharedMemory: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QSharedMemory)
+16 QSharedMemory::metaObject
+24 QSharedMemory::qt_metacast
+32 QSharedMemory::qt_metacall
+40 QSharedMemory::~QSharedMemory
+48 QSharedMemory::~QSharedMemory
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QSharedMemory
+ size=16 align=8
+ base size=16 base align=8
+QSharedMemory (0x7f3bf5a054d0) 0
+ vptr=((& QSharedMemory::_ZTV13QSharedMemory) + 16u)
+ QObject (0x7f3bf5a05540) 0
+ primary-for QSharedMemory (0x7f3bf5a054d0)
+
+Vtable for QSignalMapper
+QSignalMapper::_ZTV13QSignalMapper: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QSignalMapper)
+16 QSignalMapper::metaObject
+24 QSignalMapper::qt_metacast
+32 QSignalMapper::qt_metacall
+40 QSignalMapper::~QSignalMapper
+48 QSignalMapper::~QSignalMapper
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QSignalMapper
+ size=16 align=8
+ base size=16 base align=8
+QSignalMapper (0x7f3bf5a212a0) 0
+ vptr=((& QSignalMapper::_ZTV13QSignalMapper) + 16u)
+ QObject (0x7f3bf5a21310) 0
+ primary-for QSignalMapper (0x7f3bf5a212a0)
+
+Vtable for QSocketNotifier
+QSocketNotifier::_ZTV15QSocketNotifier: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QSocketNotifier)
+16 QSocketNotifier::metaObject
+24 QSocketNotifier::qt_metacast
+32 QSocketNotifier::qt_metacall
+40 QSocketNotifier::~QSocketNotifier
+48 QSocketNotifier::~QSocketNotifier
+56 QSocketNotifier::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QSocketNotifier
+ size=32 align=8
+ base size=25 base align=8
+QSocketNotifier (0x7f3bf5a3d690) 0
+ vptr=((& QSocketNotifier::_ZTV15QSocketNotifier) + 16u)
+ QObject (0x7f3bf5a3d700) 0
+ primary-for QSocketNotifier (0x7f3bf5a3d690)
+
+Class QSystemSemaphore
+ size=8 align=8
+ base size=8 base align=8
+QSystemSemaphore (0x7f3bf5856a10) 0
+
+Vtable for QTimer
+QTimer::_ZTV6QTimer: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI6QTimer)
+16 QTimer::metaObject
+24 QTimer::qt_metacast
+32 QTimer::qt_metacall
+40 QTimer::~QTimer
+48 QTimer::~QTimer
+56 QObject::event
+64 QObject::eventFilter
+72 QTimer::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QTimer
+ size=32 align=8
+ base size=29 base align=8
+QTimer (0x7f3bf5861460) 0
+ vptr=((& QTimer::_ZTV6QTimer) + 16u)
+ QObject (0x7f3bf58614d0) 0
+ primary-for QTimer (0x7f3bf5861460)
+
+Vtable for QTranslator
+QTranslator::_ZTV11QTranslator: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QTranslator)
+16 QTranslator::metaObject
+24 QTranslator::qt_metacast
+32 QTranslator::qt_metacall
+40 QTranslator::~QTranslator
+48 QTranslator::~QTranslator
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QTranslator::translate
+120 QTranslator::isEmpty
+
+Class QTranslator
+ size=16 align=8
+ base size=16 base align=8
+QTranslator (0x7f3bf58859a0) 0
+ vptr=((& QTranslator::_ZTV11QTranslator) + 16u)
+ QObject (0x7f3bf5885a10) 0
+ primary-for QTranslator (0x7f3bf58859a0)
+
+Vtable for QLibrary
+QLibrary::_ZTV8QLibrary: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI8QLibrary)
+16 QLibrary::metaObject
+24 QLibrary::qt_metacast
+32 QLibrary::qt_metacall
+40 QLibrary::~QLibrary
+48 QLibrary::~QLibrary
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QLibrary
+ size=32 align=8
+ base size=25 base align=8
+QLibrary (0x7f3bf58a1930) 0
+ vptr=((& QLibrary::_ZTV8QLibrary) + 16u)
+ QObject (0x7f3bf58a19a0) 0
+ primary-for QLibrary (0x7f3bf58a1930)
+
+Vtable for QPluginLoader
+QPluginLoader::_ZTV13QPluginLoader: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QPluginLoader)
+16 QPluginLoader::metaObject
+24 QPluginLoader::qt_metacast
+32 QPluginLoader::qt_metacall
+40 QPluginLoader::~QPluginLoader
+48 QPluginLoader::~QPluginLoader
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QPluginLoader
+ size=32 align=8
+ base size=25 base align=8
+QPluginLoader (0x7f3bf58ee3f0) 0
+ vptr=((& QPluginLoader::_ZTV13QPluginLoader) + 16u)
+ QObject (0x7f3bf58ee460) 0
+ primary-for QPluginLoader (0x7f3bf58ee3f0)
+
+Class QUuid
+ size=16 align=4
+ base size=16 base align=4
+QUuid (0x7f3bf58fcb60) 0
+
+Class QReadWriteLock
+ size=8 align=8
+ base size=8 base align=8
+QReadWriteLock (0x7f3bf59234d0) 0
+
+Class QReadLocker
+ size=8 align=8
+ base size=8 base align=8
+QReadLocker (0x7f3bf5923b60) 0
+
+Class QWriteLocker
+ size=8 align=8
+ base size=8 base align=8
+QWriteLocker (0x7f3bf5942ee0) 0
+
+Class QThreadStorageData
+ size=4 align=4
+ base size=4 base align=4
+QThreadStorageData (0x7f3bf575c2a0) 0
+
+Vtable for QAbstractAnimation
+QAbstractAnimation::_ZTV18QAbstractAnimation: 18u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QAbstractAnimation)
+16 QAbstractAnimation::metaObject
+24 QAbstractAnimation::qt_metacast
+32 QAbstractAnimation::qt_metacall
+40 QAbstractAnimation::~QAbstractAnimation
+48 QAbstractAnimation::~QAbstractAnimation
+56 QAbstractAnimation::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 QAbstractAnimation::updateState
+136 QAbstractAnimation::updateDirection
+
+Class QAbstractAnimation
+ size=16 align=8
+ base size=16 base align=8
+QAbstractAnimation (0x7f3bf575ca10) 0
+ vptr=((& QAbstractAnimation::_ZTV18QAbstractAnimation) + 16u)
+ QObject (0x7f3bf575ca80) 0
+ primary-for QAbstractAnimation (0x7f3bf575ca10)
+
+Vtable for QAnimationGroup
+QAnimationGroup::_ZTV15QAnimationGroup: 18u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QAnimationGroup)
+16 QAnimationGroup::metaObject
+24 QAnimationGroup::qt_metacast
+32 QAnimationGroup::qt_metacall
+40 QAnimationGroup::~QAnimationGroup
+48 QAnimationGroup::~QAnimationGroup
+56 QAnimationGroup::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 QAbstractAnimation::updateState
+136 QAbstractAnimation::updateDirection
+
+Class QAnimationGroup
+ size=16 align=8
+ base size=16 base align=8
+QAnimationGroup (0x7f3bf5794150) 0
+ vptr=((& QAnimationGroup::_ZTV15QAnimationGroup) + 16u)
+ QAbstractAnimation (0x7f3bf57941c0) 0
+ primary-for QAnimationGroup (0x7f3bf5794150)
+ QObject (0x7f3bf5794230) 0
+ primary-for QAbstractAnimation (0x7f3bf57941c0)
+
+Vtable for QParallelAnimationGroup
+QParallelAnimationGroup::_ZTV23QParallelAnimationGroup: 18u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI23QParallelAnimationGroup)
+16 QParallelAnimationGroup::metaObject
+24 QParallelAnimationGroup::qt_metacast
+32 QParallelAnimationGroup::qt_metacall
+40 QParallelAnimationGroup::~QParallelAnimationGroup
+48 QParallelAnimationGroup::~QParallelAnimationGroup
+56 QParallelAnimationGroup::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QParallelAnimationGroup::duration
+120 QParallelAnimationGroup::updateCurrentTime
+128 QParallelAnimationGroup::updateState
+136 QParallelAnimationGroup::updateDirection
+
+Class QParallelAnimationGroup
+ size=16 align=8
+ base size=16 base align=8
+QParallelAnimationGroup (0x7f3bf57ae000) 0
+ vptr=((& QParallelAnimationGroup::_ZTV23QParallelAnimationGroup) + 16u)
+ QAnimationGroup (0x7f3bf57ae070) 0
+ primary-for QParallelAnimationGroup (0x7f3bf57ae000)
+ QAbstractAnimation (0x7f3bf57ae0e0) 0
+ primary-for QAnimationGroup (0x7f3bf57ae070)
+ QObject (0x7f3bf57ae150) 0
+ primary-for QAbstractAnimation (0x7f3bf57ae0e0)
+
+Vtable for QPauseAnimation
+QPauseAnimation::_ZTV15QPauseAnimation: 18u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QPauseAnimation)
+16 QPauseAnimation::metaObject
+24 QPauseAnimation::qt_metacast
+32 QPauseAnimation::qt_metacall
+40 QPauseAnimation::~QPauseAnimation
+48 QPauseAnimation::~QPauseAnimation
+56 QPauseAnimation::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QPauseAnimation::duration
+120 QPauseAnimation::updateCurrentTime
+128 QAbstractAnimation::updateState
+136 QAbstractAnimation::updateDirection
+
+Class QPauseAnimation
+ size=16 align=8
+ base size=16 base align=8
+QPauseAnimation (0x7f3bf57bce70) 0
+ vptr=((& QPauseAnimation::_ZTV15QPauseAnimation) + 16u)
+ QAbstractAnimation (0x7f3bf57bcee0) 0
+ primary-for QPauseAnimation (0x7f3bf57bce70)
+ QObject (0x7f3bf57bcf50) 0
+ primary-for QAbstractAnimation (0x7f3bf57bcee0)
+
+Vtable for QVariantAnimation
+QVariantAnimation::_ZTV17QVariantAnimation: 20u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QVariantAnimation)
+16 QVariantAnimation::metaObject
+24 QVariantAnimation::qt_metacast
+32 QVariantAnimation::qt_metacall
+40 QVariantAnimation::~QVariantAnimation
+48 QVariantAnimation::~QVariantAnimation
+56 QVariantAnimation::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QVariantAnimation::duration
+120 QVariantAnimation::updateCurrentTime
+128 QVariantAnimation::updateState
+136 QAbstractAnimation::updateDirection
+144 __cxa_pure_virtual
+152 QVariantAnimation::interpolated
+
+Class QVariantAnimation
+ size=16 align=8
+ base size=16 base align=8
+QVariantAnimation (0x7f3bf57d88c0) 0
+ vptr=((& QVariantAnimation::_ZTV17QVariantAnimation) + 16u)
+ QAbstractAnimation (0x7f3bf57d8930) 0
+ primary-for QVariantAnimation (0x7f3bf57d88c0)
+ QObject (0x7f3bf57d89a0) 0
+ primary-for QAbstractAnimation (0x7f3bf57d8930)
+
+Vtable for QPropertyAnimation
+QPropertyAnimation::_ZTV18QPropertyAnimation: 20u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QPropertyAnimation)
+16 QPropertyAnimation::metaObject
+24 QPropertyAnimation::qt_metacast
+32 QPropertyAnimation::qt_metacall
+40 QPropertyAnimation::~QPropertyAnimation
+48 QPropertyAnimation::~QPropertyAnimation
+56 QPropertyAnimation::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QVariantAnimation::duration
+120 QVariantAnimation::updateCurrentTime
+128 QPropertyAnimation::updateState
+136 QAbstractAnimation::updateDirection
+144 QPropertyAnimation::updateCurrentValue
+152 QVariantAnimation::interpolated
+
+Class QPropertyAnimation
+ size=16 align=8
+ base size=16 base align=8
+QPropertyAnimation (0x7f3bf57f6b60) 0
+ vptr=((& QPropertyAnimation::_ZTV18QPropertyAnimation) + 16u)
+ QVariantAnimation (0x7f3bf57f6bd0) 0
+ primary-for QPropertyAnimation (0x7f3bf57f6b60)
+ QAbstractAnimation (0x7f3bf57f6c40) 0
+ primary-for QVariantAnimation (0x7f3bf57f6bd0)
+ QObject (0x7f3bf57f6cb0) 0
+ primary-for QAbstractAnimation (0x7f3bf57f6c40)
+
+Vtable for QSequentialAnimationGroup
+QSequentialAnimationGroup::_ZTV25QSequentialAnimationGroup: 18u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI25QSequentialAnimationGroup)
+16 QSequentialAnimationGroup::metaObject
+24 QSequentialAnimationGroup::qt_metacast
+32 QSequentialAnimationGroup::qt_metacall
+40 QSequentialAnimationGroup::~QSequentialAnimationGroup
+48 QSequentialAnimationGroup::~QSequentialAnimationGroup
+56 QSequentialAnimationGroup::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QSequentialAnimationGroup::duration
+120 QSequentialAnimationGroup::updateCurrentTime
+128 QSequentialAnimationGroup::updateState
+136 QSequentialAnimationGroup::updateDirection
+
+Class QSequentialAnimationGroup
+ size=16 align=8
+ base size=16 base align=8
+QSequentialAnimationGroup (0x7f3bf5810b60) 0
+ vptr=((& QSequentialAnimationGroup::_ZTV25QSequentialAnimationGroup) + 16u)
+ QAnimationGroup (0x7f3bf5810bd0) 0
+ primary-for QSequentialAnimationGroup (0x7f3bf5810b60)
+ QAbstractAnimation (0x7f3bf5810c40) 0
+ primary-for QAnimationGroup (0x7f3bf5810bd0)
+ QObject (0x7f3bf5810cb0) 0
+ primary-for QAbstractAnimation (0x7f3bf5810c40)
+
diff --git a/tests/auto/bic/data/QtDBus.4.5.0.linux-gcc-amd64.txt b/tests/auto/bic/data/QtDBus.4.5.0.linux-gcc-amd64.txt
new file mode 100644
index 0000000000..fdc64afeff
--- /dev/null
+++ b/tests/auto/bic/data/QtDBus.4.5.0.linux-gcc-amd64.txt
@@ -0,0 +1,2997 @@
+Class QSysInfo
+ size=1 align=1
+ base size=0 base align=1
+QSysInfo (0x7fafb8417460) 0 empty
+
+Class QBool
+ size=1 align=1
+ base size=1 base align=1
+QBool (0x7fafb842c150) 0
+
+Class qIsNull(double)::U
+ size=8 align=8
+ base size=8 base align=8
+qIsNull(double)::U (0x7fafb8442540) 0
+
+Class qIsNull(float)::U
+ size=4 align=4
+ base size=4 base align=4
+qIsNull(float)::U (0x7fafb84427e0) 0
+
+Class QFlag
+ size=4 align=4
+ base size=4 base align=4
+QFlag (0x7fafb847b620) 0
+
+Class QIncompatibleFlag
+ size=4 align=4
+ base size=4 base align=4
+QIncompatibleFlag (0x7fafb847be00) 0
+
+Class QInternal
+ size=1 align=1
+ base size=0 base align=1
+QInternal (0x7fafb7a75540) 0 empty
+
+Class QGenericArgument
+ size=16 align=8
+ base size=16 base align=8
+QGenericArgument (0x7fafb7a75850) 0
+
+Class QGenericReturnArgument
+ size=16 align=8
+ base size=16 base align=8
+QGenericReturnArgument (0x7fafb7a903f0) 0
+ QGenericArgument (0x7fafb7a90460) 0
+
+Class QMetaObject
+ size=32 align=8
+ base size=32 base align=8
+QMetaObject (0x7fafb7a90cb0) 0
+
+Class QMetaObjectExtraData
+ size=16 align=8
+ base size=16 base align=8
+QMetaObjectExtraData (0x7fafb7ab6cb0) 0
+
+Class QLatin1Char
+ size=1 align=1
+ base size=1 base align=1
+QLatin1Char (0x7fafb7ac2700) 0
+
+Class QChar
+ size=2 align=2
+ base size=2 base align=2
+QChar (0x7fafb7ac72a0) 0
+
+Class QBasicAtomicInt
+ size=4 align=4
+ base size=4 base align=4
+QBasicAtomicInt (0x7fafb7934380) 0
+
+Class QAtomicInt
+ size=4 align=4
+ base size=4 base align=4
+QAtomicInt (0x7fafb796dd20) 0
+ QBasicAtomicInt (0x7fafb796dd90) 0
+
+Class __locale_struct
+ size=232 align=8
+ base size=232 base align=8
+__locale_struct (0x7fafb79941c0) 0
+
+Class QByteArray::Data
+ size=32 align=8
+ base size=32 base align=8
+QByteArray::Data (0x7fafb780d7e0) 0
+
+Class QByteArray
+ size=8 align=8
+ base size=8 base align=8
+QByteArray (0x7fafb79cc540) 0
+
+Class QByteRef
+ size=16 align=8
+ base size=12 base align=8
+QByteRef (0x7fafb7862a80) 0
+
+Class QString::Null
+ size=1 align=1
+ base size=0 base align=1
+QString::Null (0x7fafb776b700) 0 empty
+
+Class QString::Data
+ size=32 align=8
+ base size=32 base align=8
+QString::Data (0x7fafb777aee0) 0
+
+Class QString
+ size=8 align=8
+ base size=8 base align=8
+QString (0x7fafb76ea5b0) 0
+
+Class QLatin1String
+ size=8 align=8
+ base size=8 base align=8
+QLatin1String (0x7fafb7653000) 0
+
+Class QCharRef
+ size=16 align=8
+ base size=12 base align=8
+QCharRef (0x7fafb74eb620) 0
+
+Class QConstString
+ size=8 align=8
+ base size=8 base align=8
+QConstString (0x7fafb7435ee0) 0
+ QString (0x7fafb7435f50) 0
+
+Class QStringRef
+ size=16 align=8
+ base size=16 base align=8
+QStringRef (0x7fafb7455bd0) 0
+
+Vtable for std::exception
+std::exception::_ZTVSt9exception: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt9exception)
+16 std::exception::~exception
+24 std::exception::~exception
+32 std::exception::what
+
+Class std::exception
+ size=8 align=8
+ base size=8 base align=8
+std::exception (0x7fafb7311620) 0 nearly-empty
+ vptr=((& std::exception::_ZTVSt9exception) + 16u)
+
+Vtable for std::bad_exception
+std::bad_exception::_ZTVSt13bad_exception: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt13bad_exception)
+16 std::bad_exception::~bad_exception
+24 std::bad_exception::~bad_exception
+32 std::bad_exception::what
+
+Class std::bad_exception
+ size=8 align=8
+ base size=8 base align=8
+std::bad_exception (0x7fafb7332000) 0 nearly-empty
+ vptr=((& std::bad_exception::_ZTVSt13bad_exception) + 16u)
+ std::exception (0x7fafb7332070) 0 nearly-empty
+ primary-for std::bad_exception (0x7fafb7332000)
+
+Vtable for std::bad_alloc
+std::bad_alloc::_ZTVSt9bad_alloc: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt9bad_alloc)
+16 std::bad_alloc::~bad_alloc
+24 std::bad_alloc::~bad_alloc
+32 std::bad_alloc::what
+
+Class std::bad_alloc
+ size=8 align=8
+ base size=8 base align=8
+std::bad_alloc (0x7fafb73328c0) 0 nearly-empty
+ vptr=((& std::bad_alloc::_ZTVSt9bad_alloc) + 16u)
+ std::exception (0x7fafb7332930) 0 nearly-empty
+ primary-for std::bad_alloc (0x7fafb73328c0)
+
+Class std::nothrow_t
+ size=1 align=1
+ base size=0 base align=1
+std::nothrow_t (0x7fafb73440e0) 0 empty
+
+Class QListData::Data
+ size=32 align=8
+ base size=32 base align=8
+QListData::Data (0x7fafb7344620) 0
+
+Class QListData
+ size=8 align=8
+ base size=8 base align=8
+QListData (0x7fafb73445b0) 0
+
+Vtable for QObjectData
+QObjectData::_ZTV11QObjectData: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QObjectData)
+16 __cxa_pure_virtual
+24 __cxa_pure_virtual
+
+Class QObjectData
+ size=40 align=8
+ base size=40 base align=8
+QObjectData (0x7fafb7245bd0) 0
+ vptr=((& QObjectData::_ZTV11QObjectData) + 16u)
+
+Vtable for QObject
+QObject::_ZTV7QObject: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QObject)
+16 QObject::metaObject
+24 QObject::qt_metacast
+32 QObject::qt_metacall
+40 QObject::~QObject
+48 QObject::~QObject
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QObject
+ size=16 align=8
+ base size=16 base align=8
+QObject (0x7fafb7245ee0) 0
+ vptr=((& QObject::_ZTV7QObject) + 16u)
+
+Vtable for QObjectUserData
+QObjectUserData::_ZTV15QObjectUserData: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QObjectUserData)
+16 QObjectUserData::~QObjectUserData
+24 QObjectUserData::~QObjectUserData
+
+Class QObjectUserData
+ size=8 align=8
+ base size=8 base align=8
+QObjectUserData (0x7fafb70c83f0) 0 nearly-empty
+ vptr=((& QObjectUserData::_ZTV15QObjectUserData) + 16u)
+
+Vtable for QIODevice
+QIODevice::_ZTV9QIODevice: 30u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QIODevice)
+16 QIODevice::metaObject
+24 QIODevice::qt_metacast
+32 QIODevice::qt_metacall
+40 QIODevice::~QIODevice
+48 QIODevice::~QIODevice
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QIODevice::isSequential
+120 QIODevice::open
+128 QIODevice::close
+136 QIODevice::pos
+144 QIODevice::size
+152 QIODevice::seek
+160 QIODevice::atEnd
+168 QIODevice::reset
+176 QIODevice::bytesAvailable
+184 QIODevice::bytesToWrite
+192 QIODevice::canReadLine
+200 QIODevice::waitForReadyRead
+208 QIODevice::waitForBytesWritten
+216 __cxa_pure_virtual
+224 QIODevice::readLineData
+232 __cxa_pure_virtual
+
+Class QIODevice
+ size=16 align=8
+ base size=16 base align=8
+QIODevice (0x7fafb70c8930) 0
+ vptr=((& QIODevice::_ZTV9QIODevice) + 16u)
+ QObject (0x7fafb70c89a0) 0
+ primary-for QIODevice (0x7fafb70c8930)
+
+Vtable for QDataStream
+QDataStream::_ZTV11QDataStream: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QDataStream)
+16 QDataStream::~QDataStream
+24 QDataStream::~QDataStream
+
+Class QDataStream
+ size=40 align=8
+ base size=40 base align=8
+QDataStream (0x7fafb713e2a0) 0
+ vptr=((& QDataStream::_ZTV11QDataStream) + 16u)
+
+Class QHashData::Node
+ size=16 align=8
+ base size=16 base align=8
+QHashData::Node (0x7fafb6fc5150) 0
+
+Class QHashData
+ size=40 align=8
+ base size=40 base align=8
+QHashData (0x7fafb6fc50e0) 0
+
+Class QHashDummyValue
+ size=1 align=1
+ base size=0 base align=1
+QHashDummyValue (0x7fafb6fd5ee0) 0 empty
+
+Class QMapData::Node
+ size=16 align=8
+ base size=16 base align=8
+QMapData::Node (0x7fafb6ee6690) 0
+
+Class QMapData
+ size=128 align=8
+ base size=128 base align=8
+QMapData (0x7fafb6ee6620) 0
+
+Vtable for QSystemLocale
+QSystemLocale::_ZTV13QSystemLocale: 6u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QSystemLocale)
+16 QSystemLocale::~QSystemLocale
+24 QSystemLocale::~QSystemLocale
+32 QSystemLocale::query
+40 QSystemLocale::fallbackLocale
+
+Class QSystemLocale
+ size=8 align=8
+ base size=8 base align=8
+QSystemLocale (0x7fafb6dfae00) 0 nearly-empty
+ vptr=((& QSystemLocale::_ZTV13QSystemLocale) + 16u)
+
+Class QLocale::Data
+ size=4 align=2
+ base size=4 base align=2
+QLocale::Data (0x7fafb6e5b3f0) 0
+
+Class QLocale
+ size=8 align=8
+ base size=8 base align=8
+QLocale (0x7fafb6e1c0e0) 0
+
+Class QTextCodec::ConverterState
+ size=32 align=8
+ base size=32 base align=8
+QTextCodec::ConverterState (0x7fafb6ea8e70) 0
+
+Vtable for QTextCodec
+QTextCodec::_ZTV10QTextCodec: 9u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QTextCodec)
+16 __cxa_pure_virtual
+24 QTextCodec::aliases
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+48 __cxa_pure_virtual
+56 QTextCodec::~QTextCodec
+64 QTextCodec::~QTextCodec
+
+Class QTextCodec
+ size=8 align=8
+ base size=8 base align=8
+QTextCodec (0x7fafb6e91a80) 0 nearly-empty
+ vptr=((& QTextCodec::_ZTV10QTextCodec) + 16u)
+
+Class QTextEncoder
+ size=40 align=8
+ base size=40 base align=8
+QTextEncoder (0x7fafb6d143f0) 0
+
+Class QTextDecoder
+ size=40 align=8
+ base size=40 base align=8
+QTextDecoder (0x7fafb6d1d230) 0
+
+Class _IO_marker
+ size=24 align=8
+ base size=24 base align=8
+_IO_marker (0x7fafb6d252a0) 0
+
+Class _IO_FILE
+ size=216 align=8
+ base size=216 base align=8
+_IO_FILE (0x7fafb6d25310) 0
+
+Vtable for QTextStream
+QTextStream::_ZTV11QTextStream: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QTextStream)
+16 QTextStream::~QTextStream
+24 QTextStream::~QTextStream
+
+Class QTextStream
+ size=16 align=8
+ base size=16 base align=8
+QTextStream (0x7fafb6d253f0) 0
+ vptr=((& QTextStream::_ZTV11QTextStream) + 16u)
+
+Class QTextStreamManipulator
+ size=40 align=8
+ base size=38 base align=8
+QTextStreamManipulator (0x7fafb6bbdee0) 0
+
+Vtable for QTextIStream
+QTextIStream::_ZTV12QTextIStream: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QTextIStream)
+16 QTextIStream::~QTextIStream
+24 QTextIStream::~QTextIStream
+
+Class QTextIStream
+ size=16 align=8
+ base size=16 base align=8
+QTextIStream (0x7fafb6bea1c0) 0
+ vptr=((& QTextIStream::_ZTV12QTextIStream) + 16u)
+ QTextStream (0x7fafb6bea230) 0
+ primary-for QTextIStream (0x7fafb6bea1c0)
+
+Vtable for QTextOStream
+QTextOStream::_ZTV12QTextOStream: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QTextOStream)
+16 QTextOStream::~QTextOStream
+24 QTextOStream::~QTextOStream
+
+Class QTextOStream
+ size=16 align=8
+ base size=16 base align=8
+QTextOStream (0x7fafb6bfd070) 0
+ vptr=((& QTextOStream::_ZTV12QTextOStream) + 16u)
+ QTextStream (0x7fafb6bfd0e0) 0
+ primary-for QTextOStream (0x7fafb6bfd070)
+
+Class wait
+ size=4 align=4
+ base size=4 base align=4
+wait (0x7fafb6c0aee0) 0
+
+Class timespec
+ size=16 align=8
+ base size=16 base align=8
+timespec (0x7fafb6c17230) 0
+
+Class timeval
+ size=16 align=8
+ base size=16 base align=8
+timeval (0x7fafb6c172a0) 0
+
+Class __pthread_internal_list
+ size=16 align=8
+ base size=16 base align=8
+__pthread_internal_list (0x7fafb6c173f0) 0
+
+Class random_data
+ size=48 align=8
+ base size=48 base align=8
+random_data (0x7fafb6c179a0) 0
+
+Class drand48_data
+ size=24 align=8
+ base size=24 base align=8
+drand48_data (0x7fafb6c17a10) 0
+
+Class QVectorData
+ size=16 align=4
+ base size=16 base align=4
+QVectorData (0x7fafb6c17a80) 0
+
+Class QDebug::Stream
+ size=40 align=8
+ base size=34 base align=8
+QDebug::Stream (0x7fafb6b93230) 0
+
+Class QDebug
+ size=8 align=8
+ base size=8 base align=8
+QDebug (0x7fafb6b931c0) 0
+
+Class QNoDebug
+ size=1 align=1
+ base size=0 base align=1
+QNoDebug (0x7fafb6a31070) 0 empty
+
+Vtable for QFile
+QFile::_ZTV5QFile: 31u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI5QFile)
+16 QFile::metaObject
+24 QFile::qt_metacast
+32 QFile::qt_metacall
+40 QFile::~QFile
+48 QFile::~QFile
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QFile::isSequential
+120 QFile::open
+128 QFile::close
+136 QFile::pos
+144 QFile::size
+152 QFile::seek
+160 QFile::atEnd
+168 QIODevice::reset
+176 QIODevice::bytesAvailable
+184 QIODevice::bytesToWrite
+192 QIODevice::canReadLine
+200 QIODevice::waitForReadyRead
+208 QIODevice::waitForBytesWritten
+216 QFile::readData
+224 QFile::readLineData
+232 QFile::writeData
+240 QFile::fileEngine
+
+Class QFile
+ size=16 align=8
+ base size=16 base align=8
+QFile (0x7fafb6a42620) 0
+ vptr=((& QFile::_ZTV5QFile) + 16u)
+ QIODevice (0x7fafb6a42690) 0
+ primary-for QFile (0x7fafb6a42620)
+ QObject (0x7fafb6a42700) 0
+ primary-for QIODevice (0x7fafb6a42690)
+
+Vtable for QTemporaryFile
+QTemporaryFile::_ZTV14QTemporaryFile: 31u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QTemporaryFile)
+16 QTemporaryFile::metaObject
+24 QTemporaryFile::qt_metacast
+32 QTemporaryFile::qt_metacall
+40 QTemporaryFile::~QTemporaryFile
+48 QTemporaryFile::~QTemporaryFile
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QFile::isSequential
+120 QTemporaryFile::open
+128 QFile::close
+136 QFile::pos
+144 QFile::size
+152 QFile::seek
+160 QFile::atEnd
+168 QIODevice::reset
+176 QIODevice::bytesAvailable
+184 QIODevice::bytesToWrite
+192 QIODevice::canReadLine
+200 QIODevice::waitForReadyRead
+208 QIODevice::waitForBytesWritten
+216 QFile::readData
+224 QFile::readLineData
+232 QFile::writeData
+240 QTemporaryFile::fileEngine
+
+Class QTemporaryFile
+ size=16 align=8
+ base size=16 base align=8
+QTemporaryFile (0x7fafb6aad850) 0
+ vptr=((& QTemporaryFile::_ZTV14QTemporaryFile) + 16u)
+ QFile (0x7fafb6aad8c0) 0
+ primary-for QTemporaryFile (0x7fafb6aad850)
+ QIODevice (0x7fafb6aad930) 0
+ primary-for QFile (0x7fafb6aad8c0)
+ QObject (0x7fafb6aad9a0) 0
+ primary-for QIODevice (0x7fafb6aad930)
+
+Class QFileInfo
+ size=8 align=8
+ base size=8 base align=8
+QFileInfo (0x7fafb68cef50) 0
+
+Class QRegExp
+ size=8 align=8
+ base size=8 base align=8
+QRegExp (0x7fafb692b770) 0
+
+Class QStringMatcher
+ size=1048 align=8
+ base size=1048 base align=8
+QStringMatcher (0x7fafb69795b0) 0
+
+Class QStringList
+ size=8 align=8
+ base size=8 base align=8
+QStringList (0x7fafb698a070) 0
+ QList<QString> (0x7fafb698a0e0) 0
+
+Class QDir
+ size=8 align=8
+ base size=8 base align=8
+QDir (0x7fafb6818cb0) 0
+
+Class QAbstractFileEngine::ExtensionOption
+ size=1 align=1
+ base size=0 base align=1
+QAbstractFileEngine::ExtensionOption (0x7fafb68b3e70) 0 empty
+
+Class QAbstractFileEngine::ExtensionReturn
+ size=1 align=1
+ base size=0 base align=1
+QAbstractFileEngine::ExtensionReturn (0x7fafb68b3ee0) 0 empty
+
+Class QAbstractFileEngine::MapExtensionOption
+ size=24 align=8
+ base size=20 base align=8
+QAbstractFileEngine::MapExtensionOption (0x7fafb68b3f50) 0
+ QAbstractFileEngine::ExtensionOption (0x7fafb66c6000) 0 empty
+
+Class QAbstractFileEngine::MapExtensionReturn
+ size=8 align=8
+ base size=8 base align=8
+QAbstractFileEngine::MapExtensionReturn (0x7fafb66c61c0) 0
+ QAbstractFileEngine::ExtensionReturn (0x7fafb66c6230) 0 empty
+
+Class QAbstractFileEngine::UnMapExtensionOption
+ size=8 align=8
+ base size=8 base align=8
+QAbstractFileEngine::UnMapExtensionOption (0x7fafb66c62a0) 0
+ QAbstractFileEngine::ExtensionOption (0x7fafb66c6310) 0 empty
+
+Vtable for QAbstractFileEngine
+QAbstractFileEngine::_ZTV19QAbstractFileEngine: 36u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QAbstractFileEngine)
+16 QAbstractFileEngine::~QAbstractFileEngine
+24 QAbstractFileEngine::~QAbstractFileEngine
+32 QAbstractFileEngine::open
+40 QAbstractFileEngine::close
+48 QAbstractFileEngine::flush
+56 QAbstractFileEngine::size
+64 QAbstractFileEngine::pos
+72 QAbstractFileEngine::seek
+80 QAbstractFileEngine::isSequential
+88 QAbstractFileEngine::remove
+96 QAbstractFileEngine::copy
+104 QAbstractFileEngine::rename
+112 QAbstractFileEngine::link
+120 QAbstractFileEngine::mkdir
+128 QAbstractFileEngine::rmdir
+136 QAbstractFileEngine::setSize
+144 QAbstractFileEngine::caseSensitive
+152 QAbstractFileEngine::isRelativePath
+160 QAbstractFileEngine::entryList
+168 QAbstractFileEngine::fileFlags
+176 QAbstractFileEngine::setPermissions
+184 QAbstractFileEngine::fileName
+192 QAbstractFileEngine::ownerId
+200 QAbstractFileEngine::owner
+208 QAbstractFileEngine::fileTime
+216 QAbstractFileEngine::setFileName
+224 QAbstractFileEngine::handle
+232 QAbstractFileEngine::beginEntryList
+240 QAbstractFileEngine::endEntryList
+248 QAbstractFileEngine::read
+256 QAbstractFileEngine::readLine
+264 QAbstractFileEngine::write
+272 QAbstractFileEngine::extension
+280 QAbstractFileEngine::supportsExtension
+
+Class QAbstractFileEngine
+ size=16 align=8
+ base size=16 base align=8
+QAbstractFileEngine (0x7fafb68a3e00) 0
+ vptr=((& QAbstractFileEngine::_ZTV19QAbstractFileEngine) + 16u)
+
+Vtable for QAbstractFileEngineHandler
+QAbstractFileEngineHandler::_ZTV26QAbstractFileEngineHandler: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI26QAbstractFileEngineHandler)
+16 QAbstractFileEngineHandler::~QAbstractFileEngineHandler
+24 QAbstractFileEngineHandler::~QAbstractFileEngineHandler
+32 __cxa_pure_virtual
+
+Class QAbstractFileEngineHandler
+ size=8 align=8
+ base size=8 base align=8
+QAbstractFileEngineHandler (0x7fafb66f7000) 0 nearly-empty
+ vptr=((& QAbstractFileEngineHandler::_ZTV26QAbstractFileEngineHandler) + 16u)
+
+Vtable for QAbstractFileEngineIterator
+QAbstractFileEngineIterator::_ZTV27QAbstractFileEngineIterator: 9u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI27QAbstractFileEngineIterator)
+16 QAbstractFileEngineIterator::~QAbstractFileEngineIterator
+24 QAbstractFileEngineIterator::~QAbstractFileEngineIterator
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+48 __cxa_pure_virtual
+56 QAbstractFileEngineIterator::currentFileInfo
+64 QAbstractFileEngineIterator::entryInfo
+
+Class QAbstractFileEngineIterator
+ size=16 align=8
+ base size=16 base align=8
+QAbstractFileEngineIterator (0x7fafb66f71c0) 0
+ vptr=((& QAbstractFileEngineIterator::_ZTV27QAbstractFileEngineIterator) + 16u)
+
+Vtable for QFSFileEngine
+QFSFileEngine::_ZTV13QFSFileEngine: 36u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QFSFileEngine)
+16 QFSFileEngine::~QFSFileEngine
+24 QFSFileEngine::~QFSFileEngine
+32 QFSFileEngine::open
+40 QFSFileEngine::close
+48 QFSFileEngine::flush
+56 QFSFileEngine::size
+64 QFSFileEngine::pos
+72 QFSFileEngine::seek
+80 QFSFileEngine::isSequential
+88 QFSFileEngine::remove
+96 QFSFileEngine::copy
+104 QFSFileEngine::rename
+112 QFSFileEngine::link
+120 QFSFileEngine::mkdir
+128 QFSFileEngine::rmdir
+136 QFSFileEngine::setSize
+144 QFSFileEngine::caseSensitive
+152 QFSFileEngine::isRelativePath
+160 QFSFileEngine::entryList
+168 QFSFileEngine::fileFlags
+176 QFSFileEngine::setPermissions
+184 QFSFileEngine::fileName
+192 QFSFileEngine::ownerId
+200 QFSFileEngine::owner
+208 QFSFileEngine::fileTime
+216 QFSFileEngine::setFileName
+224 QFSFileEngine::handle
+232 QFSFileEngine::beginEntryList
+240 QFSFileEngine::endEntryList
+248 QFSFileEngine::read
+256 QFSFileEngine::readLine
+264 QFSFileEngine::write
+272 QFSFileEngine::extension
+280 QFSFileEngine::supportsExtension
+
+Class QFSFileEngine
+ size=16 align=8
+ base size=16 base align=8
+QFSFileEngine (0x7fafb66f7a10) 0
+ vptr=((& QFSFileEngine::_ZTV13QFSFileEngine) + 16u)
+ QAbstractFileEngine (0x7fafb66f7a80) 0
+ primary-for QFSFileEngine (0x7fafb66f7a10)
+
+Vtable for QProcess
+QProcess::_ZTV8QProcess: 31u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI8QProcess)
+16 QProcess::metaObject
+24 QProcess::qt_metacast
+32 QProcess::qt_metacall
+40 QProcess::~QProcess
+48 QProcess::~QProcess
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QProcess::isSequential
+120 QIODevice::open
+128 QProcess::close
+136 QIODevice::pos
+144 QIODevice::size
+152 QIODevice::seek
+160 QProcess::atEnd
+168 QIODevice::reset
+176 QProcess::bytesAvailable
+184 QProcess::bytesToWrite
+192 QProcess::canReadLine
+200 QProcess::waitForReadyRead
+208 QProcess::waitForBytesWritten
+216 QProcess::readData
+224 QIODevice::readLineData
+232 QProcess::writeData
+240 QProcess::setupChildProcess
+
+Class QProcess
+ size=16 align=8
+ base size=16 base align=8
+QProcess (0x7fafb670dd20) 0
+ vptr=((& QProcess::_ZTV8QProcess) + 16u)
+ QIODevice (0x7fafb670dd90) 0
+ primary-for QProcess (0x7fafb670dd20)
+ QObject (0x7fafb670de00) 0
+ primary-for QIODevice (0x7fafb670dd90)
+
+Class QResource
+ size=8 align=8
+ base size=8 base align=8
+QResource (0x7fafb674b230) 0
+
+Vtable for QDirIterator
+QDirIterator::_ZTV12QDirIterator: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QDirIterator)
+16 QDirIterator::~QDirIterator
+24 QDirIterator::~QDirIterator
+
+Class QDirIterator
+ size=16 align=8
+ base size=16 base align=8
+QDirIterator (0x7fafb674bcb0) 0
+ vptr=((& QDirIterator::_ZTV12QDirIterator) + 16u)
+
+Vtable for QBuffer
+QBuffer::_ZTV7QBuffer: 30u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QBuffer)
+16 QBuffer::metaObject
+24 QBuffer::qt_metacast
+32 QBuffer::qt_metacall
+40 QBuffer::~QBuffer
+48 QBuffer::~QBuffer
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QBuffer::connectNotify
+104 QBuffer::disconnectNotify
+112 QIODevice::isSequential
+120 QBuffer::open
+128 QBuffer::close
+136 QBuffer::pos
+144 QBuffer::size
+152 QBuffer::seek
+160 QBuffer::atEnd
+168 QIODevice::reset
+176 QIODevice::bytesAvailable
+184 QIODevice::bytesToWrite
+192 QBuffer::canReadLine
+200 QIODevice::waitForReadyRead
+208 QIODevice::waitForBytesWritten
+216 QBuffer::readData
+224 QIODevice::readLineData
+232 QBuffer::writeData
+
+Class QBuffer
+ size=16 align=8
+ base size=16 base align=8
+QBuffer (0x7fafb677ca80) 0
+ vptr=((& QBuffer::_ZTV7QBuffer) + 16u)
+ QIODevice (0x7fafb677caf0) 0
+ primary-for QBuffer (0x7fafb677ca80)
+ QObject (0x7fafb677cb60) 0
+ primary-for QIODevice (0x7fafb677caf0)
+
+Vtable for QFileSystemWatcher
+QFileSystemWatcher::_ZTV18QFileSystemWatcher: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QFileSystemWatcher)
+16 QFileSystemWatcher::metaObject
+24 QFileSystemWatcher::qt_metacast
+32 QFileSystemWatcher::qt_metacall
+40 QFileSystemWatcher::~QFileSystemWatcher
+48 QFileSystemWatcher::~QFileSystemWatcher
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QFileSystemWatcher
+ size=16 align=8
+ base size=16 base align=8
+QFileSystemWatcher (0x7fafb67a2690) 0
+ vptr=((& QFileSystemWatcher::_ZTV18QFileSystemWatcher) + 16u)
+ QObject (0x7fafb67a2700) 0
+ primary-for QFileSystemWatcher (0x7fafb67a2690)
+
+Class QUrl
+ size=8 align=8
+ base size=8 base align=8
+QUrl (0x7fafb67b5bd0) 0
+
+Class QMetaType
+ size=1 align=1
+ base size=0 base align=1
+QMetaType (0x7fafb66213f0) 0 empty
+
+Class QVariant::PrivateShared
+ size=16 align=8
+ base size=12 base align=8
+QVariant::PrivateShared (0x7fafb64f4930) 0
+
+Class QVariant::Private::Data
+ size=8 align=8
+ base size=8 base align=8
+QVariant::Private::Data (0x7fafb64f4c40) 0
+
+Class QVariant::Private
+ size=16 align=8
+ base size=12 base align=8
+QVariant::Private (0x7fafb64f4a10) 0
+
+Class QVariant::Handler
+ size=72 align=8
+ base size=72 base align=8
+QVariant::Handler (0x7fafb6502930) 0
+
+Class QVariant
+ size=16 align=8
+ base size=16 base align=8
+QVariant (0x7fafb64c2af0) 0
+
+Class QVariantComparisonHelper
+ size=8 align=8
+ base size=8 base align=8
+QVariantComparisonHelper (0x7fafb63a8cb0) 0
+
+Vtable for QSettings
+QSettings::_ZTV9QSettings: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QSettings)
+16 QSettings::metaObject
+24 QSettings::qt_metacast
+32 QSettings::qt_metacall
+40 QSettings::~QSettings
+48 QSettings::~QSettings
+56 QSettings::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QSettings
+ size=16 align=8
+ base size=16 base align=8
+QSettings (0x7fafb63cdcb0) 0
+ vptr=((& QSettings::_ZTV9QSettings) + 16u)
+ QObject (0x7fafb63cdd20) 0
+ primary-for QSettings (0x7fafb63cdcb0)
+
+Class QXmlStreamStringRef
+ size=16 align=8
+ base size=16 base align=8
+QXmlStreamStringRef (0x7fafb644d070) 0
+
+Class QXmlStreamAttribute
+ size=80 align=8
+ base size=73 base align=8
+QXmlStreamAttribute (0x7fafb646b850) 0
+
+Class QXmlStreamAttributes
+ size=8 align=8
+ base size=8 base align=8
+QXmlStreamAttributes (0x7fafb6295380) 0
+ QVector<QXmlStreamAttribute> (0x7fafb62953f0) 0
+
+Class QXmlStreamNamespaceDeclaration
+ size=40 align=8
+ base size=40 base align=8
+QXmlStreamNamespaceDeclaration (0x7fafb6295850) 0
+
+Class QXmlStreamNotationDeclaration
+ size=56 align=8
+ base size=56 base align=8
+QXmlStreamNotationDeclaration (0x7fafb62d51c0) 0
+
+Class QXmlStreamEntityDeclaration
+ size=88 align=8
+ base size=88 base align=8
+QXmlStreamEntityDeclaration (0x7fafb62f4070) 0
+
+Vtable for QXmlStreamEntityResolver
+QXmlStreamEntityResolver::_ZTV24QXmlStreamEntityResolver: 6u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI24QXmlStreamEntityResolver)
+16 QXmlStreamEntityResolver::~QXmlStreamEntityResolver
+24 QXmlStreamEntityResolver::~QXmlStreamEntityResolver
+32 QXmlStreamEntityResolver::resolveEntity
+40 QXmlStreamEntityResolver::resolveUndeclaredEntity
+
+Class QXmlStreamEntityResolver
+ size=8 align=8
+ base size=8 base align=8
+QXmlStreamEntityResolver (0x7fafb63109a0) 0 nearly-empty
+ vptr=((& QXmlStreamEntityResolver::_ZTV24QXmlStreamEntityResolver) + 16u)
+
+Class QXmlStreamReader
+ size=8 align=8
+ base size=8 base align=8
+QXmlStreamReader (0x7fafb6310b60) 0
+
+Class QXmlStreamWriter
+ size=8 align=8
+ base size=8 base align=8
+QXmlStreamWriter (0x7fafb634ea10) 0
+
+Class QPoint
+ size=8 align=4
+ base size=8 base align=4
+QPoint (0x7fafb638b150) 0
+
+Class QPointF
+ size=16 align=8
+ base size=16 base align=8
+QPointF (0x7fafb61c2d90) 0
+
+Class QLine
+ size=16 align=4
+ base size=16 base align=4
+QLine (0x7fafb6200bd0) 0
+
+Class QLineF
+ size=32 align=8
+ base size=32 base align=8
+QLineF (0x7fafb623aa80) 0
+
+Class QSize
+ size=8 align=4
+ base size=8 base align=4
+QSize (0x7fafb6096540) 0
+
+Class QSizeF
+ size=16 align=8
+ base size=16 base align=8
+QSizeF (0x7fafb60e2380) 0
+
+Class QRect
+ size=16 align=4
+ base size=16 base align=4
+QRect (0x7fafb612e9a0) 0
+
+Class QRectF
+ size=32 align=8
+ base size=32 base align=8
+QRectF (0x7fafb5fde380) 0
+
+Class QSharedData
+ size=4 align=4
+ base size=4 base align=4
+QSharedData (0x7fafb5e89150) 0
+
+Vtable for QtSharedPointer::ExternalRefCountData
+QtSharedPointer::ExternalRefCountData::_ZTVN15QtSharedPointer20ExternalRefCountDataE: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN15QtSharedPointer20ExternalRefCountDataE)
+16 QtSharedPointer::ExternalRefCountData::~ExternalRefCountData
+24 QtSharedPointer::ExternalRefCountData::~ExternalRefCountData
+32 QtSharedPointer::ExternalRefCountData::destroy
+
+Class QtSharedPointer::ExternalRefCountData
+ size=16 align=8
+ base size=16 base align=8
+QtSharedPointer::ExternalRefCountData (0x7fafb5eb9af0) 0
+ vptr=((& QtSharedPointer::ExternalRefCountData::_ZTVN15QtSharedPointer20ExternalRefCountDataE) + 16u)
+
+Class QLinkedListData
+ size=32 align=8
+ base size=32 base align=8
+QLinkedListData (0x7fafb5f3fc40) 0
+
+Class QBitArray
+ size=8 align=8
+ base size=8 base align=8
+QBitArray (0x7fafb5e0cb60) 0
+
+Class QBitRef
+ size=16 align=8
+ base size=12 base align=8
+QBitRef (0x7fafb5e80930) 0
+
+Class QByteArrayMatcher
+ size=1040 align=8
+ base size=1040 base align=8
+QByteArrayMatcher (0x7fafb5c99310) 0
+
+Class QCryptographicHash
+ size=8 align=8
+ base size=8 base align=8
+QCryptographicHash (0x7fafb5caba10) 0
+
+Class QTextBoundaryFinder
+ size=48 align=8
+ base size=48 base align=8
+QTextBoundaryFinder (0x7fafb5cd9460) 0
+
+Class QDate
+ size=4 align=4
+ base size=4 base align=4
+QDate (0x7fafb5cee7e0) 0
+
+Class QTime
+ size=4 align=4
+ base size=4 base align=4
+QTime (0x7fafb5d17770) 0
+
+Class QDateTime
+ size=8 align=8
+ base size=8 base align=8
+QDateTime (0x7fafb5d35d20) 0
+
+Vtable for QTimeLine
+QTimeLine::_ZTV9QTimeLine: 15u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QTimeLine)
+16 QTimeLine::metaObject
+24 QTimeLine::qt_metacast
+32 QTimeLine::qt_metacall
+40 QTimeLine::~QTimeLine
+48 QTimeLine::~QTimeLine
+56 QObject::event
+64 QObject::eventFilter
+72 QTimeLine::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QTimeLine::valueForTime
+
+Class QTimeLine
+ size=16 align=8
+ base size=16 base align=8
+QTimeLine (0x7fafb5d691c0) 0
+ vptr=((& QTimeLine::_ZTV9QTimeLine) + 16u)
+ QObject (0x7fafb5d69230) 0
+ primary-for QTimeLine (0x7fafb5d691c0)
+
+Vtable for QRunnable
+QRunnable::_ZTV9QRunnable: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QRunnable)
+16 __cxa_pure_virtual
+24 QRunnable::~QRunnable
+32 QRunnable::~QRunnable
+
+Class QRunnable
+ size=16 align=8
+ base size=12 base align=8
+QRunnable (0x7fafb5b90070) 0
+ vptr=((& QRunnable::_ZTV9QRunnable) + 16u)
+
+Class QMutex
+ size=8 align=8
+ base size=8 base align=8
+QMutex (0x7fafb5b9e700) 0
+
+Class QMutexLocker
+ size=8 align=8
+ base size=8 base align=8
+QMutexLocker (0x7fafb5bab2a0) 0
+
+Vtable for QtConcurrent::Exception
+QtConcurrent::Exception::_ZTVN12QtConcurrent9ExceptionE: 7u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN12QtConcurrent9ExceptionE)
+16 QtConcurrent::Exception::~Exception
+24 QtConcurrent::Exception::~Exception
+32 std::exception::what
+40 QtConcurrent::Exception::raise
+48 QtConcurrent::Exception::clone
+
+Class QtConcurrent::Exception
+ size=8 align=8
+ base size=8 base align=8
+QtConcurrent::Exception (0x7fafb5bc25b0) 0 nearly-empty
+ vptr=((& QtConcurrent::Exception::_ZTVN12QtConcurrent9ExceptionE) + 16u)
+ std::exception (0x7fafb5bc2620) 0 nearly-empty
+ primary-for QtConcurrent::Exception (0x7fafb5bc25b0)
+
+Vtable for QtConcurrent::UnhandledException
+QtConcurrent::UnhandledException::_ZTVN12QtConcurrent18UnhandledExceptionE: 7u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN12QtConcurrent18UnhandledExceptionE)
+16 QtConcurrent::UnhandledException::~UnhandledException
+24 QtConcurrent::UnhandledException::~UnhandledException
+32 std::exception::what
+40 QtConcurrent::UnhandledException::raise
+48 QtConcurrent::UnhandledException::clone
+
+Class QtConcurrent::UnhandledException
+ size=8 align=8
+ base size=8 base align=8
+QtConcurrent::UnhandledException (0x7fafb5bc2850) 0 nearly-empty
+ vptr=((& QtConcurrent::UnhandledException::_ZTVN12QtConcurrent18UnhandledExceptionE) + 16u)
+ QtConcurrent::Exception (0x7fafb5bc28c0) 0 nearly-empty
+ primary-for QtConcurrent::UnhandledException (0x7fafb5bc2850)
+ std::exception (0x7fafb5bc2930) 0 nearly-empty
+ primary-for QtConcurrent::Exception (0x7fafb5bc28c0)
+
+Class QtConcurrent::internal::ExceptionHolder
+ size=8 align=8
+ base size=8 base align=8
+QtConcurrent::internal::ExceptionHolder (0x7fafb5bc2b60) 0
+
+Class QtConcurrent::internal::ExceptionStore
+ size=8 align=8
+ base size=8 base align=8
+QtConcurrent::internal::ExceptionStore (0x7fafb5bc2ee0) 0
+
+Class QtConcurrent::ResultItem
+ size=16 align=8
+ base size=16 base align=8
+QtConcurrent::ResultItem (0x7fafb5bc2f50) 0
+
+Class QtConcurrent::ResultIteratorBase
+ size=16 align=8
+ base size=12 base align=8
+QtConcurrent::ResultIteratorBase (0x7fafb5bd8e70) 0
+
+Vtable for QtConcurrent::ResultStoreBase
+QtConcurrent::ResultStoreBase::_ZTVN12QtConcurrent15ResultStoreBaseE: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN12QtConcurrent15ResultStoreBaseE)
+16 QtConcurrent::ResultStoreBase::~ResultStoreBase
+24 QtConcurrent::ResultStoreBase::~ResultStoreBase
+
+Class QtConcurrent::ResultStoreBase
+ size=48 align=8
+ base size=44 base align=8
+QtConcurrent::ResultStoreBase (0x7fafb5bdda10) 0
+ vptr=((& QtConcurrent::ResultStoreBase::_ZTVN12QtConcurrent15ResultStoreBaseE) + 16u)
+
+Vtable for QFutureInterfaceBase
+QFutureInterfaceBase::_ZTV20QFutureInterfaceBase: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI20QFutureInterfaceBase)
+16 QFutureInterfaceBase::~QFutureInterfaceBase
+24 QFutureInterfaceBase::~QFutureInterfaceBase
+
+Class QFutureInterfaceBase
+ size=16 align=8
+ base size=16 base align=8
+QFutureInterfaceBase (0x7fafb5c1ee70) 0
+ vptr=((& QFutureInterfaceBase::_ZTV20QFutureInterfaceBase) + 16u)
+
+Vtable for QThread
+QThread::_ZTV7QThread: 15u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QThread)
+16 QThread::metaObject
+24 QThread::qt_metacast
+32 QThread::qt_metacall
+40 QThread::~QThread
+48 QThread::~QThread
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QThread::run
+
+Class QThread
+ size=16 align=8
+ base size=16 base align=8
+QThread (0x7fafb5b01e00) 0
+ vptr=((& QThread::_ZTV7QThread) + 16u)
+ QObject (0x7fafb5b01e70) 0
+ primary-for QThread (0x7fafb5b01e00)
+
+Vtable for QThreadPool
+QThreadPool::_ZTV11QThreadPool: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QThreadPool)
+16 QThreadPool::metaObject
+24 QThreadPool::qt_metacast
+32 QThreadPool::qt_metacall
+40 QThreadPool::~QThreadPool
+48 QThreadPool::~QThreadPool
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QThreadPool
+ size=16 align=8
+ base size=16 base align=8
+QThreadPool (0x7fafb5b34cb0) 0
+ vptr=((& QThreadPool::_ZTV11QThreadPool) + 16u)
+ QObject (0x7fafb5b34d20) 0
+ primary-for QThreadPool (0x7fafb5b34cb0)
+
+Class QWaitCondition
+ size=8 align=8
+ base size=8 base align=8
+QWaitCondition (0x7fafb5b4d540) 0
+
+Class QtConcurrent::ThreadEngineSemaphore
+ size=24 align=8
+ base size=24 base align=8
+QtConcurrent::ThreadEngineSemaphore (0x7fafb5b4da80) 0
+
+Vtable for QtConcurrent::ThreadEngineBase
+QtConcurrent::ThreadEngineBase::_ZTVN12QtConcurrent16ThreadEngineBaseE: 11u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN12QtConcurrent16ThreadEngineBaseE)
+16 QtConcurrent::ThreadEngineBase::run
+24 QtConcurrent::ThreadEngineBase::~ThreadEngineBase
+32 QtConcurrent::ThreadEngineBase::~ThreadEngineBase
+40 QtConcurrent::ThreadEngineBase::start
+48 QtConcurrent::ThreadEngineBase::finish
+56 QtConcurrent::ThreadEngineBase::threadFunction
+64 QtConcurrent::ThreadEngineBase::shouldStartThread
+72 QtConcurrent::ThreadEngineBase::shouldThrottleThread
+80 __cxa_pure_virtual
+
+Class QtConcurrent::ThreadEngineBase
+ size=64 align=8
+ base size=64 base align=8
+QtConcurrent::ThreadEngineBase (0x7fafb5b6e460) 0
+ vptr=((& QtConcurrent::ThreadEngineBase::_ZTVN12QtConcurrent16ThreadEngineBaseE) + 16u)
+ QRunnable (0x7fafb5b6e4d0) 0
+ primary-for QtConcurrent::ThreadEngineBase (0x7fafb5b6e460)
+
+VTT for QtConcurrent::ThreadEngine<void>
+QtConcurrent::ThreadEngine<void>::_ZTTN12QtConcurrent12ThreadEngineIvEE: 2u entries
+0 ((& QtConcurrent::ThreadEngine<void>::_ZTVN12QtConcurrent12ThreadEngineIvEE) + 24u)
+8 ((& QtConcurrent::ThreadEngine<void>::_ZTVN12QtConcurrent12ThreadEngineIvEE) + 136u)
+
+Class std::input_iterator_tag
+ size=1 align=1
+ base size=0 base align=1
+std::input_iterator_tag (0x7fafb59b0850) 0 empty
+
+Class std::output_iterator_tag
+ size=1 align=1
+ base size=0 base align=1
+std::output_iterator_tag (0x7fafb59b08c0) 0 empty
+
+Class std::forward_iterator_tag
+ size=1 align=1
+ base size=1 base align=1
+std::forward_iterator_tag (0x7fafb59b0930) 0 empty
+ std::input_iterator_tag (0x7fafb59b09a0) 0 empty
+
+Class std::bidirectional_iterator_tag
+ size=1 align=1
+ base size=1 base align=1
+std::bidirectional_iterator_tag (0x7fafb59b0a10) 0 empty
+ std::forward_iterator_tag (0x7fafb59b0a80) 0 empty
+ std::input_iterator_tag (0x7fafb59b0af0) 0 empty
+
+Class std::random_access_iterator_tag
+ size=1 align=1
+ base size=1 base align=1
+std::random_access_iterator_tag (0x7fafb59b0b60) 0 empty
+ std::bidirectional_iterator_tag (0x7fafb59b0bd0) 0 empty
+ std::forward_iterator_tag (0x7fafb59b0c40) 0 empty
+ std::input_iterator_tag (0x7fafb59b0cb0) 0 empty
+
+Class std::__true_type
+ size=1 align=1
+ base size=0 base align=1
+std::__true_type (0x7fafb59c02a0) 0 empty
+
+Class std::__false_type
+ size=1 align=1
+ base size=0 base align=1
+std::__false_type (0x7fafb59c0310) 0 empty
+
+Class lconv
+ size=96 align=8
+ base size=96 base align=8
+lconv (0x7fafb579c620) 0
+
+Class sched_param
+ size=4 align=4
+ base size=4 base align=4
+sched_param (0x7fafb579ca80) 0
+
+Class __sched_param
+ size=4 align=4
+ base size=4 base align=4
+__sched_param (0x7fafb579caf0) 0
+
+Class tm
+ size=56 align=8
+ base size=56 base align=8
+tm (0x7fafb579cbd0) 0
+
+Class itimerspec
+ size=32 align=8
+ base size=32 base align=8
+itimerspec (0x7fafb579ccb0) 0
+
+Class _pthread_cleanup_buffer
+ size=32 align=8
+ base size=32 base align=8
+_pthread_cleanup_buffer (0x7fafb579cd20) 0
+
+Class __pthread_cleanup_frame
+ size=24 align=8
+ base size=24 base align=8
+__pthread_cleanup_frame (0x7fafb579ce70) 0
+
+Class __pthread_cleanup_class
+ size=24 align=8
+ base size=24 base align=8
+__pthread_cleanup_class (0x7fafb579cee0) 0
+
+Vtable for __cxxabiv1::__forced_unwind
+__cxxabiv1::__forced_unwind::_ZTVN10__cxxabiv115__forced_unwindE: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN10__cxxabiv115__forced_unwindE)
+16 __cxxabiv1::__forced_unwind::~__forced_unwind
+24 __cxxabiv1::__forced_unwind::~__forced_unwind
+32 __cxa_pure_virtual
+
+Class __cxxabiv1::__forced_unwind
+ size=8 align=8
+ base size=8 base align=8
+__cxxabiv1::__forced_unwind (0x7fafb56b1a80) 0 nearly-empty
+ vptr=((& __cxxabiv1::__forced_unwind::_ZTVN10__cxxabiv115__forced_unwindE) + 16u)
+
+Class std::locale
+ size=8 align=8
+ base size=8 base align=8
+std::locale (0x7fafb55635b0) 0
+
+Vtable for std::locale::facet
+std::locale::facet::_ZTVNSt6locale5facetE: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTINSt6locale5facetE)
+16 std::locale::facet::~facet
+24 std::locale::facet::~facet
+
+Class std::locale::facet
+ size=16 align=8
+ base size=12 base align=8
+std::locale::facet (0x7fafb5406cb0) 0
+ vptr=((& std::locale::facet::_ZTVNSt6locale5facetE) + 16u)
+
+Class std::locale::id
+ size=8 align=8
+ base size=8 base align=8
+std::locale::id (0x7fafb541b2a0) 0
+
+Class std::locale::_Impl
+ size=40 align=8
+ base size=40 base align=8
+std::locale::_Impl (0x7fafb541b8c0) 0
+
+Vtable for std::ios_base::failure
+std::ios_base::failure::_ZTVNSt8ios_base7failureE: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTINSt8ios_base7failureE)
+16 std::ios_base::failure::~failure
+24 std::ios_base::failure::~failure
+32 std::ios_base::failure::what
+
+Class std::ios_base::failure
+ size=16 align=8
+ base size=16 base align=8
+std::ios_base::failure (0x7fafb52a8070) 0
+ vptr=((& std::ios_base::failure::_ZTVNSt8ios_base7failureE) + 16u)
+ std::exception (0x7fafb52a80e0) 0 nearly-empty
+ primary-for std::ios_base::failure (0x7fafb52a8070)
+
+Class std::ios_base::_Callback_list
+ size=24 align=8
+ base size=24 base align=8
+std::ios_base::_Callback_list (0x7fafb52b6310) 0
+
+Class std::ios_base::_Words
+ size=16 align=8
+ base size=16 base align=8
+std::ios_base::_Words (0x7fafb52b6d90) 0
+
+Class std::ios_base::Init
+ size=1 align=1
+ base size=0 base align=1
+std::ios_base::Init (0x7fafb52be4d0) 0 empty
+
+Vtable for std::ios_base
+std::ios_base::_ZTVSt8ios_base: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt8ios_base)
+16 std::ios_base::~ios_base
+24 std::ios_base::~ios_base
+
+Class std::ios_base
+ size=216 align=8
+ base size=216 base align=8
+std::ios_base (0x7fafb52a8000) 0
+ vptr=((& std::ios_base::_ZTVSt8ios_base) + 16u)
+
+Class std::ctype_base
+ size=1 align=1
+ base size=0 base align=1
+std::ctype_base (0x7fafb5335930) 0 empty
+
+Class std::__num_base
+ size=1 align=1
+ base size=0 base align=1
+std::__num_base (0x7fafb52591c0) 0 empty
+
+VTT for std::basic_ostream<char, std::char_traits<char> >
+std::basic_ostream<char, std::char_traits<char> >::_ZTTSo: 2u entries
+0 ((& std::basic_ostream<char, std::char_traits<char> >::_ZTVSo) + 24u)
+8 ((& std::basic_ostream<char, std::char_traits<char> >::_ZTVSo) + 64u)
+
+VTT for std::basic_ostream<wchar_t, std::char_traits<wchar_t> >
+std::basic_ostream<wchar_t, std::char_traits<wchar_t> >::_ZTTSt13basic_ostreamIwSt11char_traitsIwEE: 2u entries
+0 ((& std::basic_ostream<wchar_t, std::char_traits<wchar_t> >::_ZTVSt13basic_ostreamIwSt11char_traitsIwEE) + 24u)
+8 ((& std::basic_ostream<wchar_t, std::char_traits<wchar_t> >::_ZTVSt13basic_ostreamIwSt11char_traitsIwEE) + 64u)
+
+VTT for std::basic_istream<char, std::char_traits<char> >
+std::basic_istream<char, std::char_traits<char> >::_ZTTSi: 2u entries
+0 ((& std::basic_istream<char, std::char_traits<char> >::_ZTVSi) + 24u)
+8 ((& std::basic_istream<char, std::char_traits<char> >::_ZTVSi) + 64u)
+
+VTT for std::basic_istream<wchar_t, std::char_traits<wchar_t> >
+std::basic_istream<wchar_t, std::char_traits<wchar_t> >::_ZTTSt13basic_istreamIwSt11char_traitsIwEE: 2u entries
+0 ((& std::basic_istream<wchar_t, std::char_traits<wchar_t> >::_ZTVSt13basic_istreamIwSt11char_traitsIwEE) + 24u)
+8 ((& std::basic_istream<wchar_t, std::char_traits<wchar_t> >::_ZTVSt13basic_istreamIwSt11char_traitsIwEE) + 64u)
+
+Construction vtable for std::basic_istream<char, std::char_traits<char> > (0x7fafb4d86310 instance) in std::basic_iostream<char, std::char_traits<char> >
+std::basic_iostream<char, std::char_traits<char> >::_ZTCSd0_Si: 10u entries
+0 24u
+8 (int (*)(...))0
+16 (int (*)(...))(& _ZTISi)
+24 std::basic_istream<_CharT, _Traits>::~basic_istream [with _CharT = char, _Traits = std::char_traits<char>]
+32 std::basic_istream<_CharT, _Traits>::~basic_istream [with _CharT = char, _Traits = std::char_traits<char>]
+40 -24u
+48 (int (*)(...))-0x00000000000000018
+56 (int (*)(...))(& _ZTISi)
+64 std::basic_istream<char, std::char_traits<char> >::_ZTv0_n24_NSiD1Ev
+72 std::basic_istream<char, std::char_traits<char> >::_ZTv0_n24_NSiD0Ev
+
+Construction vtable for std::basic_ostream<char, std::char_traits<char> > (0x7fafb4d86460 instance) in std::basic_iostream<char, std::char_traits<char> >
+std::basic_iostream<char, std::char_traits<char> >::_ZTCSd16_So: 10u entries
+0 8u
+8 (int (*)(...))0
+16 (int (*)(...))(& _ZTISo)
+24 std::basic_ostream<_CharT, _Traits>::~basic_ostream [with _CharT = char, _Traits = std::char_traits<char>]
+32 std::basic_ostream<_CharT, _Traits>::~basic_ostream [with _CharT = char, _Traits = std::char_traits<char>]
+40 -8u
+48 (int (*)(...))-0x00000000000000008
+56 (int (*)(...))(& _ZTISo)
+64 std::basic_ostream<char, std::char_traits<char> >::_ZTv0_n24_NSoD1Ev
+72 std::basic_ostream<char, std::char_traits<char> >::_ZTv0_n24_NSoD0Ev
+
+VTT for std::basic_iostream<char, std::char_traits<char> >
+std::basic_iostream<char, std::char_traits<char> >::_ZTTSd: 7u entries
+0 ((& std::basic_iostream<char, std::char_traits<char> >::_ZTVSd) + 24u)
+8 ((& std::basic_iostream<char, std::char_traits<char> >::_ZTCSd0_Si) + 24u)
+16 ((& std::basic_iostream<char, std::char_traits<char> >::_ZTCSd0_Si) + 64u)
+24 ((& std::basic_iostream<char, std::char_traits<char> >::_ZTCSd16_So) + 24u)
+32 ((& std::basic_iostream<char, std::char_traits<char> >::_ZTCSd16_So) + 64u)
+40 ((& std::basic_iostream<char, std::char_traits<char> >::_ZTVSd) + 104u)
+48 ((& std::basic_iostream<char, std::char_traits<char> >::_ZTVSd) + 64u)
+
+Construction vtable for std::basic_istream<wchar_t, std::char_traits<wchar_t> > (0x7fafb4d86620 instance) in std::basic_iostream<wchar_t, std::char_traits<wchar_t> >
+std::basic_iostream<wchar_t, std::char_traits<wchar_t> >::_ZTCSt14basic_iostreamIwSt11char_traitsIwEE0_St13basic_istreamIwS1_E: 10u entries
+0 24u
+8 (int (*)(...))0
+16 (int (*)(...))(& _ZTISt13basic_istreamIwSt11char_traitsIwEE)
+24 std::basic_istream<_CharT, _Traits>::~basic_istream [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
+32 std::basic_istream<_CharT, _Traits>::~basic_istream [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
+40 -24u
+48 (int (*)(...))-0x00000000000000018
+56 (int (*)(...))(& _ZTISt13basic_istreamIwSt11char_traitsIwEE)
+64 std::basic_istream<wchar_t, std::char_traits<wchar_t> >::_ZTv0_n24_NSt13basic_istreamIwSt11char_traitsIwEED1Ev
+72 std::basic_istream<wchar_t, std::char_traits<wchar_t> >::_ZTv0_n24_NSt13basic_istreamIwSt11char_traitsIwEED0Ev
+
+Construction vtable for std::basic_ostream<wchar_t, std::char_traits<wchar_t> > (0x7fafb4d86770 instance) in std::basic_iostream<wchar_t, std::char_traits<wchar_t> >
+std::basic_iostream<wchar_t, std::char_traits<wchar_t> >::_ZTCSt14basic_iostreamIwSt11char_traitsIwEE16_St13basic_ostreamIwS1_E: 10u entries
+0 8u
+8 (int (*)(...))0
+16 (int (*)(...))(& _ZTISt13basic_ostreamIwSt11char_traitsIwEE)
+24 std::basic_ostream<_CharT, _Traits>::~basic_ostream [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
+32 std::basic_ostream<_CharT, _Traits>::~basic_ostream [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
+40 -8u
+48 (int (*)(...))-0x00000000000000008
+56 (int (*)(...))(& _ZTISt13basic_ostreamIwSt11char_traitsIwEE)
+64 std::basic_ostream<wchar_t, std::char_traits<wchar_t> >::_ZTv0_n24_NSt13basic_ostreamIwSt11char_traitsIwEED1Ev
+72 std::basic_ostream<wchar_t, std::char_traits<wchar_t> >::_ZTv0_n24_NSt13basic_ostreamIwSt11char_traitsIwEED0Ev
+
+VTT for std::basic_iostream<wchar_t, std::char_traits<wchar_t> >
+std::basic_iostream<wchar_t, std::char_traits<wchar_t> >::_ZTTSt14basic_iostreamIwSt11char_traitsIwEE: 7u entries
+0 ((& std::basic_iostream<wchar_t, std::char_traits<wchar_t> >::_ZTVSt14basic_iostreamIwSt11char_traitsIwEE) + 24u)
+8 ((& std::basic_iostream<wchar_t, std::char_traits<wchar_t> >::_ZTCSt14basic_iostreamIwSt11char_traitsIwEE0_St13basic_istreamIwS1_E) + 24u)
+16 ((& std::basic_iostream<wchar_t, std::char_traits<wchar_t> >::_ZTCSt14basic_iostreamIwSt11char_traitsIwEE0_St13basic_istreamIwS1_E) + 64u)
+24 ((& std::basic_iostream<wchar_t, std::char_traits<wchar_t> >::_ZTCSt14basic_iostreamIwSt11char_traitsIwEE16_St13basic_ostreamIwS1_E) + 24u)
+32 ((& std::basic_iostream<wchar_t, std::char_traits<wchar_t> >::_ZTCSt14basic_iostreamIwSt11char_traitsIwEE16_St13basic_ostreamIwS1_E) + 64u)
+40 ((& std::basic_iostream<wchar_t, std::char_traits<wchar_t> >::_ZTVSt14basic_iostreamIwSt11char_traitsIwEE) + 104u)
+48 ((& std::basic_iostream<wchar_t, std::char_traits<wchar_t> >::_ZTVSt14basic_iostreamIwSt11char_traitsIwEE) + 64u)
+
+Class QtConcurrent::BlockSizeManager
+ size=96 align=8
+ base size=92 base align=8
+QtConcurrent::BlockSizeManager (0x7fafb4df1230) 0
+
+Vtable for QFutureWatcherBase
+QFutureWatcherBase::_ZTV18QFutureWatcherBase: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QFutureWatcherBase)
+16 QFutureWatcherBase::metaObject
+24 QFutureWatcherBase::qt_metacast
+32 QFutureWatcherBase::qt_metacall
+40 QFutureWatcherBase::~QFutureWatcherBase
+48 QFutureWatcherBase::~QFutureWatcherBase
+56 QFutureWatcherBase::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QFutureWatcherBase::connectNotify
+104 QFutureWatcherBase::disconnectNotify
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+
+Class QFutureWatcherBase
+ size=16 align=8
+ base size=16 base align=8
+QFutureWatcherBase (0x7fafb49babd0) 0
+ vptr=((& QFutureWatcherBase::_ZTV18QFutureWatcherBase) + 16u)
+ QObject (0x7fafb49bac40) 0
+ primary-for QFutureWatcherBase (0x7fafb49babd0)
+
+Vtable for QFactoryInterface
+QFactoryInterface::_ZTV17QFactoryInterface: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QFactoryInterface)
+16 QFactoryInterface::~QFactoryInterface
+24 QFactoryInterface::~QFactoryInterface
+32 __cxa_pure_virtual
+
+Class QFactoryInterface
+ size=8 align=8
+ base size=8 base align=8
+QFactoryInterface (0x7fafb48d3e00) 0 nearly-empty
+ vptr=((& QFactoryInterface::_ZTV17QFactoryInterface) + 16u)
+
+Vtable for QTextCodecFactoryInterface
+QTextCodecFactoryInterface::_ZTV26QTextCodecFactoryInterface: 6u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI26QTextCodecFactoryInterface)
+16 QTextCodecFactoryInterface::~QTextCodecFactoryInterface
+24 QTextCodecFactoryInterface::~QTextCodecFactoryInterface
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+
+Class QTextCodecFactoryInterface
+ size=8 align=8
+ base size=8 base align=8
+QTextCodecFactoryInterface (0x7fafb48f6ee0) 0 nearly-empty
+ vptr=((& QTextCodecFactoryInterface::_ZTV26QTextCodecFactoryInterface) + 16u)
+ QFactoryInterface (0x7fafb48f6f50) 0 nearly-empty
+ primary-for QTextCodecFactoryInterface (0x7fafb48f6ee0)
+
+Vtable for QTextCodecPlugin
+QTextCodecPlugin::_ZTV16QTextCodecPlugin: 27u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QTextCodecPlugin)
+16 QTextCodecPlugin::metaObject
+24 QTextCodecPlugin::qt_metacast
+32 QTextCodecPlugin::qt_metacall
+40 QTextCodecPlugin::~QTextCodecPlugin
+48 QTextCodecPlugin::~QTextCodecPlugin
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 __cxa_pure_virtual
+136 __cxa_pure_virtual
+144 __cxa_pure_virtual
+152 QTextCodecPlugin::keys
+160 QTextCodecPlugin::create
+168 (int (*)(...))-0x00000000000000010
+176 (int (*)(...))(& _ZTI16QTextCodecPlugin)
+184 QTextCodecPlugin::_ZThn16_N16QTextCodecPluginD1Ev
+192 QTextCodecPlugin::_ZThn16_N16QTextCodecPluginD0Ev
+200 QTextCodecPlugin::_ZThn16_NK16QTextCodecPlugin4keysEv
+208 QTextCodecPlugin::_ZThn16_N16QTextCodecPlugin6createERK7QString
+
+Class QTextCodecPlugin
+ size=24 align=8
+ base size=24 base align=8
+QTextCodecPlugin (0x7fafb48f9e00) 0
+ vptr=((& QTextCodecPlugin::_ZTV16QTextCodecPlugin) + 16u)
+ QObject (0x7fafb49027e0) 0
+ primary-for QTextCodecPlugin (0x7fafb48f9e00)
+ QTextCodecFactoryInterface (0x7fafb4902850) 16 nearly-empty
+ vptr=((& QTextCodecPlugin::_ZTV16QTextCodecPlugin) + 184u)
+ QFactoryInterface (0x7fafb49028c0) 16 nearly-empty
+ primary-for QTextCodecFactoryInterface (0x7fafb4902850)
+
+Class QLibraryInfo
+ size=1 align=1
+ base size=0 base align=1
+QLibraryInfo (0x7fafb4917700) 0 empty
+
+Vtable for QTranslator
+QTranslator::_ZTV11QTranslator: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QTranslator)
+16 QTranslator::metaObject
+24 QTranslator::qt_metacast
+32 QTranslator::qt_metacall
+40 QTranslator::~QTranslator
+48 QTranslator::~QTranslator
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QTranslator::translate
+120 QTranslator::isEmpty
+
+Class QTranslator
+ size=16 align=8
+ base size=16 base align=8
+QTranslator (0x7fafb495b000) 0
+ vptr=((& QTranslator::_ZTV11QTranslator) + 16u)
+ QObject (0x7fafb495b070) 0
+ primary-for QTranslator (0x7fafb495b000)
+
+Class __exception
+ size=40 align=8
+ base size=40 base align=8
+__exception (0x7fafb496cf50) 0
+
+Vtable for QMimeData
+QMimeData::_ZTV9QMimeData: 17u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QMimeData)
+16 QMimeData::metaObject
+24 QMimeData::qt_metacast
+32 QMimeData::qt_metacall
+40 QMimeData::~QMimeData
+48 QMimeData::~QMimeData
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QMimeData::hasFormat
+120 QMimeData::formats
+128 QMimeData::retrieveData
+
+Class QMimeData
+ size=16 align=8
+ base size=16 base align=8
+QMimeData (0x7fafb47d8150) 0
+ vptr=((& QMimeData::_ZTV9QMimeData) + 16u)
+ QObject (0x7fafb47d81c0) 0
+ primary-for QMimeData (0x7fafb47d8150)
+
+Vtable for QEventLoop
+QEventLoop::_ZTV10QEventLoop: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QEventLoop)
+16 QEventLoop::metaObject
+24 QEventLoop::qt_metacast
+32 QEventLoop::qt_metacall
+40 QEventLoop::~QEventLoop
+48 QEventLoop::~QEventLoop
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QEventLoop
+ size=16 align=8
+ base size=16 base align=8
+QEventLoop (0x7fafb47f19a0) 0
+ vptr=((& QEventLoop::_ZTV10QEventLoop) + 16u)
+ QObject (0x7fafb47f1a10) 0
+ primary-for QEventLoop (0x7fafb47f19a0)
+
+Vtable for QEvent
+QEvent::_ZTV6QEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI6QEvent)
+16 QEvent::~QEvent
+24 QEvent::~QEvent
+
+Class QEvent
+ size=24 align=8
+ base size=20 base align=8
+QEvent (0x7fafb4832310) 0
+ vptr=((& QEvent::_ZTV6QEvent) + 16u)
+
+Vtable for QTimerEvent
+QTimerEvent::_ZTV11QTimerEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QTimerEvent)
+16 QTimerEvent::~QTimerEvent
+24 QTimerEvent::~QTimerEvent
+
+Class QTimerEvent
+ size=24 align=8
+ base size=24 base align=8
+QTimerEvent (0x7fafb484cee0) 0
+ vptr=((& QTimerEvent::_ZTV11QTimerEvent) + 16u)
+ QEvent (0x7fafb484cf50) 0
+ primary-for QTimerEvent (0x7fafb484cee0)
+
+Vtable for QChildEvent
+QChildEvent::_ZTV11QChildEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QChildEvent)
+16 QChildEvent::~QChildEvent
+24 QChildEvent::~QChildEvent
+
+Class QChildEvent
+ size=32 align=8
+ base size=32 base align=8
+QChildEvent (0x7fafb484d380) 0
+ vptr=((& QChildEvent::_ZTV11QChildEvent) + 16u)
+ QEvent (0x7fafb484d3f0) 0
+ primary-for QChildEvent (0x7fafb484d380)
+
+Vtable for QCustomEvent
+QCustomEvent::_ZTV12QCustomEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QCustomEvent)
+16 QCustomEvent::~QCustomEvent
+24 QCustomEvent::~QCustomEvent
+
+Class QCustomEvent
+ size=24 align=8
+ base size=20 base align=8
+QCustomEvent (0x7fafb4860620) 0
+ vptr=((& QCustomEvent::_ZTV12QCustomEvent) + 16u)
+ QEvent (0x7fafb4860690) 0
+ primary-for QCustomEvent (0x7fafb4860620)
+
+Vtable for QDynamicPropertyChangeEvent
+QDynamicPropertyChangeEvent::_ZTV27QDynamicPropertyChangeEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI27QDynamicPropertyChangeEvent)
+16 QDynamicPropertyChangeEvent::~QDynamicPropertyChangeEvent
+24 QDynamicPropertyChangeEvent::~QDynamicPropertyChangeEvent
+
+Class QDynamicPropertyChangeEvent
+ size=32 align=8
+ base size=32 base align=8
+QDynamicPropertyChangeEvent (0x7fafb4860e00) 0
+ vptr=((& QDynamicPropertyChangeEvent::_ZTV27QDynamicPropertyChangeEvent) + 16u)
+ QEvent (0x7fafb4860e70) 0
+ primary-for QDynamicPropertyChangeEvent (0x7fafb4860e00)
+
+Vtable for QCoreApplication
+QCoreApplication::_ZTV16QCoreApplication: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QCoreApplication)
+16 QCoreApplication::metaObject
+24 QCoreApplication::qt_metacast
+32 QCoreApplication::qt_metacall
+40 QCoreApplication::~QCoreApplication
+48 QCoreApplication::~QCoreApplication
+56 QCoreApplication::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QCoreApplication::notify
+120 QCoreApplication::compressEvent
+
+Class QCoreApplication
+ size=16 align=8
+ base size=16 base align=8
+QCoreApplication (0x7fafb4870230) 0
+ vptr=((& QCoreApplication::_ZTV16QCoreApplication) + 16u)
+ QObject (0x7fafb48702a0) 0
+ primary-for QCoreApplication (0x7fafb4870230)
+
+Vtable for QSharedMemory
+QSharedMemory::_ZTV13QSharedMemory: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QSharedMemory)
+16 QSharedMemory::metaObject
+24 QSharedMemory::qt_metacast
+32 QSharedMemory::qt_metacall
+40 QSharedMemory::~QSharedMemory
+48 QSharedMemory::~QSharedMemory
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QSharedMemory
+ size=16 align=8
+ base size=16 base align=8
+QSharedMemory (0x7fafb469aa80) 0
+ vptr=((& QSharedMemory::_ZTV13QSharedMemory) + 16u)
+ QObject (0x7fafb469aaf0) 0
+ primary-for QSharedMemory (0x7fafb469aa80)
+
+Class QModelIndex
+ size=24 align=8
+ base size=24 base align=8
+QModelIndex (0x7fafb46bb850) 0
+
+Class QPersistentModelIndex
+ size=8 align=8
+ base size=8 base align=8
+QPersistentModelIndex (0x7fafb46e3310) 0
+
+Vtable for QAbstractItemModel
+QAbstractItemModel::_ZTV18QAbstractItemModel: 42u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QAbstractItemModel)
+16 QAbstractItemModel::metaObject
+24 QAbstractItemModel::qt_metacast
+32 QAbstractItemModel::qt_metacall
+40 QAbstractItemModel::~QAbstractItemModel
+48 QAbstractItemModel::~QAbstractItemModel
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 __cxa_pure_virtual
+136 __cxa_pure_virtual
+144 QAbstractItemModel::hasChildren
+152 __cxa_pure_virtual
+160 QAbstractItemModel::setData
+168 QAbstractItemModel::headerData
+176 QAbstractItemModel::setHeaderData
+184 QAbstractItemModel::itemData
+192 QAbstractItemModel::setItemData
+200 QAbstractItemModel::mimeTypes
+208 QAbstractItemModel::mimeData
+216 QAbstractItemModel::dropMimeData
+224 QAbstractItemModel::supportedDropActions
+232 QAbstractItemModel::insertRows
+240 QAbstractItemModel::insertColumns
+248 QAbstractItemModel::removeRows
+256 QAbstractItemModel::removeColumns
+264 QAbstractItemModel::fetchMore
+272 QAbstractItemModel::canFetchMore
+280 QAbstractItemModel::flags
+288 QAbstractItemModel::sort
+296 QAbstractItemModel::buddy
+304 QAbstractItemModel::match
+312 QAbstractItemModel::span
+320 QAbstractItemModel::submit
+328 QAbstractItemModel::revert
+
+Class QAbstractItemModel
+ size=16 align=8
+ base size=16 base align=8
+QAbstractItemModel (0x7fafb46f15b0) 0
+ vptr=((& QAbstractItemModel::_ZTV18QAbstractItemModel) + 16u)
+ QObject (0x7fafb46f1620) 0
+ primary-for QAbstractItemModel (0x7fafb46f15b0)
+
+Vtable for QAbstractTableModel
+QAbstractTableModel::_ZTV19QAbstractTableModel: 42u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QAbstractTableModel)
+16 QAbstractTableModel::metaObject
+24 QAbstractTableModel::qt_metacast
+32 QAbstractTableModel::qt_metacall
+40 QAbstractTableModel::~QAbstractTableModel
+48 QAbstractTableModel::~QAbstractTableModel
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QAbstractTableModel::index
+120 QAbstractTableModel::parent
+128 __cxa_pure_virtual
+136 __cxa_pure_virtual
+144 QAbstractTableModel::hasChildren
+152 __cxa_pure_virtual
+160 QAbstractItemModel::setData
+168 QAbstractItemModel::headerData
+176 QAbstractItemModel::setHeaderData
+184 QAbstractItemModel::itemData
+192 QAbstractItemModel::setItemData
+200 QAbstractItemModel::mimeTypes
+208 QAbstractItemModel::mimeData
+216 QAbstractTableModel::dropMimeData
+224 QAbstractItemModel::supportedDropActions
+232 QAbstractItemModel::insertRows
+240 QAbstractItemModel::insertColumns
+248 QAbstractItemModel::removeRows
+256 QAbstractItemModel::removeColumns
+264 QAbstractItemModel::fetchMore
+272 QAbstractItemModel::canFetchMore
+280 QAbstractItemModel::flags
+288 QAbstractItemModel::sort
+296 QAbstractItemModel::buddy
+304 QAbstractItemModel::match
+312 QAbstractItemModel::span
+320 QAbstractItemModel::submit
+328 QAbstractItemModel::revert
+
+Class QAbstractTableModel
+ size=16 align=8
+ base size=16 base align=8
+QAbstractTableModel (0x7fafb4742930) 0
+ vptr=((& QAbstractTableModel::_ZTV19QAbstractTableModel) + 16u)
+ QAbstractItemModel (0x7fafb47429a0) 0
+ primary-for QAbstractTableModel (0x7fafb4742930)
+ QObject (0x7fafb4742a10) 0
+ primary-for QAbstractItemModel (0x7fafb47429a0)
+
+Vtable for QAbstractListModel
+QAbstractListModel::_ZTV18QAbstractListModel: 42u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QAbstractListModel)
+16 QAbstractListModel::metaObject
+24 QAbstractListModel::qt_metacast
+32 QAbstractListModel::qt_metacall
+40 QAbstractListModel::~QAbstractListModel
+48 QAbstractListModel::~QAbstractListModel
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QAbstractListModel::index
+120 QAbstractListModel::parent
+128 __cxa_pure_virtual
+136 QAbstractListModel::columnCount
+144 QAbstractListModel::hasChildren
+152 __cxa_pure_virtual
+160 QAbstractItemModel::setData
+168 QAbstractItemModel::headerData
+176 QAbstractItemModel::setHeaderData
+184 QAbstractItemModel::itemData
+192 QAbstractItemModel::setItemData
+200 QAbstractItemModel::mimeTypes
+208 QAbstractItemModel::mimeData
+216 QAbstractListModel::dropMimeData
+224 QAbstractItemModel::supportedDropActions
+232 QAbstractItemModel::insertRows
+240 QAbstractItemModel::insertColumns
+248 QAbstractItemModel::removeRows
+256 QAbstractItemModel::removeColumns
+264 QAbstractItemModel::fetchMore
+272 QAbstractItemModel::canFetchMore
+280 QAbstractItemModel::flags
+288 QAbstractItemModel::sort
+296 QAbstractItemModel::buddy
+304 QAbstractItemModel::match
+312 QAbstractItemModel::span
+320 QAbstractItemModel::submit
+328 QAbstractItemModel::revert
+
+Class QAbstractListModel
+ size=16 align=8
+ base size=16 base align=8
+QAbstractListModel (0x7fafb474fee0) 0
+ vptr=((& QAbstractListModel::_ZTV18QAbstractListModel) + 16u)
+ QAbstractItemModel (0x7fafb474ff50) 0
+ primary-for QAbstractListModel (0x7fafb474fee0)
+ QObject (0x7fafb474f230) 0
+ primary-for QAbstractItemModel (0x7fafb474ff50)
+
+Vtable for QSignalMapper
+QSignalMapper::_ZTV13QSignalMapper: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QSignalMapper)
+16 QSignalMapper::metaObject
+24 QSignalMapper::qt_metacast
+32 QSignalMapper::qt_metacall
+40 QSignalMapper::~QSignalMapper
+48 QSignalMapper::~QSignalMapper
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QSignalMapper
+ size=16 align=8
+ base size=16 base align=8
+QSignalMapper (0x7fafb4591000) 0
+ vptr=((& QSignalMapper::_ZTV13QSignalMapper) + 16u)
+ QObject (0x7fafb4591070) 0
+ primary-for QSignalMapper (0x7fafb4591000)
+
+Vtable for QObjectCleanupHandler
+QObjectCleanupHandler::_ZTV21QObjectCleanupHandler: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI21QObjectCleanupHandler)
+16 QObjectCleanupHandler::metaObject
+24 QObjectCleanupHandler::qt_metacast
+32 QObjectCleanupHandler::qt_metacall
+40 QObjectCleanupHandler::~QObjectCleanupHandler
+48 QObjectCleanupHandler::~QObjectCleanupHandler
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QObjectCleanupHandler
+ size=24 align=8
+ base size=24 base align=8
+QObjectCleanupHandler (0x7fafb45a83f0) 0
+ vptr=((& QObjectCleanupHandler::_ZTV21QObjectCleanupHandler) + 16u)
+ QObject (0x7fafb45a8460) 0
+ primary-for QObjectCleanupHandler (0x7fafb45a83f0)
+
+Class QBasicTimer
+ size=4 align=4
+ base size=4 base align=4
+QBasicTimer (0x7fafb45b8540) 0
+
+Vtable for QSocketNotifier
+QSocketNotifier::_ZTV15QSocketNotifier: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QSocketNotifier)
+16 QSocketNotifier::metaObject
+24 QSocketNotifier::qt_metacast
+32 QSocketNotifier::qt_metacall
+40 QSocketNotifier::~QSocketNotifier
+48 QSocketNotifier::~QSocketNotifier
+56 QSocketNotifier::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QSocketNotifier
+ size=32 align=8
+ base size=25 base align=8
+QSocketNotifier (0x7fafb45c2930) 0
+ vptr=((& QSocketNotifier::_ZTV15QSocketNotifier) + 16u)
+ QObject (0x7fafb45c29a0) 0
+ primary-for QSocketNotifier (0x7fafb45c2930)
+
+Vtable for QTimer
+QTimer::_ZTV6QTimer: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI6QTimer)
+16 QTimer::metaObject
+24 QTimer::qt_metacast
+32 QTimer::qt_metacall
+40 QTimer::~QTimer
+48 QTimer::~QTimer
+56 QObject::event
+64 QObject::eventFilter
+72 QTimer::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QTimer
+ size=32 align=8
+ base size=29 base align=8
+QTimer (0x7fafb45e0cb0) 0
+ vptr=((& QTimer::_ZTV6QTimer) + 16u)
+ QObject (0x7fafb45e0d20) 0
+ primary-for QTimer (0x7fafb45e0cb0)
+
+Vtable for QAbstractEventDispatcher
+QAbstractEventDispatcher::_ZTV24QAbstractEventDispatcher: 27u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI24QAbstractEventDispatcher)
+16 QAbstractEventDispatcher::metaObject
+24 QAbstractEventDispatcher::qt_metacast
+32 QAbstractEventDispatcher::qt_metacall
+40 QAbstractEventDispatcher::~QAbstractEventDispatcher
+48 QAbstractEventDispatcher::~QAbstractEventDispatcher
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 __cxa_pure_virtual
+136 __cxa_pure_virtual
+144 __cxa_pure_virtual
+152 __cxa_pure_virtual
+160 __cxa_pure_virtual
+168 __cxa_pure_virtual
+176 __cxa_pure_virtual
+184 __cxa_pure_virtual
+192 __cxa_pure_virtual
+200 QAbstractEventDispatcher::startingUp
+208 QAbstractEventDispatcher::closingDown
+
+Class QAbstractEventDispatcher
+ size=16 align=8
+ base size=16 base align=8
+QAbstractEventDispatcher (0x7fafb46042a0) 0
+ vptr=((& QAbstractEventDispatcher::_ZTV24QAbstractEventDispatcher) + 16u)
+ QObject (0x7fafb4604310) 0
+ primary-for QAbstractEventDispatcher (0x7fafb46042a0)
+
+Class QMetaMethod
+ size=16 align=8
+ base size=12 base align=8
+QMetaMethod (0x7fafb461f150) 0
+
+Class QMetaEnum
+ size=16 align=8
+ base size=12 base align=8
+QMetaEnum (0x7fafb463a5b0) 0
+
+Class QMetaProperty
+ size=32 align=8
+ base size=32 base align=8
+QMetaProperty (0x7fafb4646310) 0
+
+Class QMetaClassInfo
+ size=16 align=8
+ base size=12 base align=8
+QMetaClassInfo (0x7fafb46469a0) 0
+
+Class QSystemSemaphore
+ size=8 align=8
+ base size=8 base align=8
+QSystemSemaphore (0x7fafb46594d0) 0
+
+Vtable for QLibrary
+QLibrary::_ZTV8QLibrary: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI8QLibrary)
+16 QLibrary::metaObject
+24 QLibrary::qt_metacast
+32 QLibrary::qt_metacall
+40 QLibrary::~QLibrary
+48 QLibrary::~QLibrary
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QLibrary
+ size=32 align=8
+ base size=25 base align=8
+QLibrary (0x7fafb4659e00) 0
+ vptr=((& QLibrary::_ZTV8QLibrary) + 16u)
+ QObject (0x7fafb4659e70) 0
+ primary-for QLibrary (0x7fafb4659e00)
+
+Vtable for QPluginLoader
+QPluginLoader::_ZTV13QPluginLoader: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QPluginLoader)
+16 QPluginLoader::metaObject
+24 QPluginLoader::qt_metacast
+32 QPluginLoader::qt_metacall
+40 QPluginLoader::~QPluginLoader
+48 QPluginLoader::~QPluginLoader
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QPluginLoader
+ size=32 align=8
+ base size=25 base align=8
+QPluginLoader (0x7fafb449f8c0) 0
+ vptr=((& QPluginLoader::_ZTV13QPluginLoader) + 16u)
+ QObject (0x7fafb449f930) 0
+ primary-for QPluginLoader (0x7fafb449f8c0)
+
+Class QUuid
+ size=16 align=4
+ base size=16 base align=4
+QUuid (0x7fafb44c2070) 0
+
+Class QSemaphore
+ size=8 align=8
+ base size=8 base align=8
+QSemaphore (0x7fafb44e19a0) 0
+
+Class QThreadStorageData
+ size=4 align=4
+ base size=4 base align=4
+QThreadStorageData (0x7fafb44e1ee0) 0
+
+Class QReadWriteLock
+ size=8 align=8
+ base size=8 base align=8
+QReadWriteLock (0x7fafb44f2690) 0
+
+Class QReadLocker
+ size=8 align=8
+ base size=8 base align=8
+QReadLocker (0x7fafb44f2d20) 0
+
+Class QWriteLocker
+ size=8 align=8
+ base size=8 base align=8
+QWriteLocker (0x7fafb45210e0) 0
+
+Class QDomImplementation
+ size=8 align=8
+ base size=8 base align=8
+QDomImplementation (0x7fafb4533460) 0
+
+Class QDomNode
+ size=8 align=8
+ base size=8 base align=8
+QDomNode (0x7fafb4533d90) 0
+
+Class QDomNodeList
+ size=8 align=8
+ base size=8 base align=8
+QDomNodeList (0x7fafb4561000) 0
+
+Class QDomDocumentType
+ size=8 align=8
+ base size=8 base align=8
+QDomDocumentType (0x7fafb4569070) 0
+ QDomNode (0x7fafb45690e0) 0
+
+Class QDomDocument
+ size=8 align=8
+ base size=8 base align=8
+QDomDocument (0x7fafb4569bd0) 0
+ QDomNode (0x7fafb4569c40) 0
+
+Class QDomNamedNodeMap
+ size=8 align=8
+ base size=8 base align=8
+QDomNamedNodeMap (0x7fafb4571af0) 0
+
+Class QDomDocumentFragment
+ size=8 align=8
+ base size=8 base align=8
+QDomDocumentFragment (0x7fafb4380930) 0
+ QDomNode (0x7fafb43809a0) 0
+
+Class QDomCharacterData
+ size=8 align=8
+ base size=8 base align=8
+QDomCharacterData (0x7fafb438c4d0) 0
+ QDomNode (0x7fafb438c540) 0
+
+Class QDomAttr
+ size=8 align=8
+ base size=8 base align=8
+QDomAttr (0x7fafb438cee0) 0
+ QDomNode (0x7fafb438cf50) 0
+
+Class QDomElement
+ size=8 align=8
+ base size=8 base align=8
+QDomElement (0x7fafb4394a80) 0
+ QDomNode (0x7fafb4394af0) 0
+
+Class QDomText
+ size=8 align=8
+ base size=8 base align=8
+QDomText (0x7fafb439cd20) 0
+ QDomCharacterData (0x7fafb439cd90) 0
+ QDomNode (0x7fafb439ce00) 0
+
+Class QDomComment
+ size=8 align=8
+ base size=8 base align=8
+QDomComment (0x7fafb43b2a80) 0
+ QDomCharacterData (0x7fafb43b2af0) 0
+ QDomNode (0x7fafb43b2b60) 0
+
+Class QDomCDATASection
+ size=8 align=8
+ base size=8 base align=8
+QDomCDATASection (0x7fafb43b8690) 0
+ QDomText (0x7fafb43b8700) 0
+ QDomCharacterData (0x7fafb43b8770) 0
+ QDomNode (0x7fafb43b87e0) 0
+
+Class QDomNotation
+ size=8 align=8
+ base size=8 base align=8
+QDomNotation (0x7fafb43bc310) 0
+ QDomNode (0x7fafb43bc380) 0
+
+Class QDomEntity
+ size=8 align=8
+ base size=8 base align=8
+QDomEntity (0x7fafb43bce70) 0
+ QDomNode (0x7fafb43bcee0) 0
+
+Class QDomEntityReference
+ size=8 align=8
+ base size=8 base align=8
+QDomEntityReference (0x7fafb43c4a10) 0
+ QDomNode (0x7fafb43c4a80) 0
+
+Class QDomProcessingInstruction
+ size=8 align=8
+ base size=8 base align=8
+QDomProcessingInstruction (0x7fafb43c95b0) 0
+ QDomNode (0x7fafb43c9620) 0
+
+Class QXmlNamespaceSupport
+ size=8 align=8
+ base size=8 base align=8
+QXmlNamespaceSupport (0x7fafb43d0150) 0
+
+Class QXmlAttributes::Attribute
+ size=32 align=8
+ base size=32 base align=8
+QXmlAttributes::Attribute (0x7fafb43d07e0) 0
+
+Vtable for QXmlAttributes
+QXmlAttributes::_ZTV14QXmlAttributes: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QXmlAttributes)
+16 QXmlAttributes::~QXmlAttributes
+24 QXmlAttributes::~QXmlAttributes
+
+Class QXmlAttributes
+ size=24 align=8
+ base size=24 base align=8
+QXmlAttributes (0x7fafb43d0690) 0
+ vptr=((& QXmlAttributes::_ZTV14QXmlAttributes) + 16u)
+
+Vtable for QXmlInputSource
+QXmlInputSource::_ZTV15QXmlInputSource: 11u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QXmlInputSource)
+16 QXmlInputSource::~QXmlInputSource
+24 QXmlInputSource::~QXmlInputSource
+32 QXmlInputSource::setData
+40 QXmlInputSource::setData
+48 QXmlInputSource::fetchData
+56 QXmlInputSource::data
+64 QXmlInputSource::next
+72 QXmlInputSource::reset
+80 QXmlInputSource::fromRawData
+
+Class QXmlInputSource
+ size=16 align=8
+ base size=16 base align=8
+QXmlInputSource (0x7fafb440aee0) 0
+ vptr=((& QXmlInputSource::_ZTV15QXmlInputSource) + 16u)
+
+Class QXmlParseException
+ size=8 align=8
+ base size=8 base align=8
+QXmlParseException (0x7fafb4410230) 0
+
+Vtable for QXmlReader
+QXmlReader::_ZTV10QXmlReader: 24u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QXmlReader)
+16 QXmlReader::~QXmlReader
+24 QXmlReader::~QXmlReader
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+48 __cxa_pure_virtual
+56 __cxa_pure_virtual
+64 __cxa_pure_virtual
+72 __cxa_pure_virtual
+80 __cxa_pure_virtual
+88 __cxa_pure_virtual
+96 __cxa_pure_virtual
+104 __cxa_pure_virtual
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 __cxa_pure_virtual
+136 __cxa_pure_virtual
+144 __cxa_pure_virtual
+152 __cxa_pure_virtual
+160 __cxa_pure_virtual
+168 __cxa_pure_virtual
+176 __cxa_pure_virtual
+184 __cxa_pure_virtual
+
+Class QXmlReader
+ size=8 align=8
+ base size=8 base align=8
+QXmlReader (0x7fafb44104d0) 0 nearly-empty
+ vptr=((& QXmlReader::_ZTV10QXmlReader) + 16u)
+
+Vtable for QXmlSimpleReader
+QXmlSimpleReader::_ZTV16QXmlSimpleReader: 26u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QXmlSimpleReader)
+16 QXmlSimpleReader::~QXmlSimpleReader
+24 QXmlSimpleReader::~QXmlSimpleReader
+32 QXmlSimpleReader::feature
+40 QXmlSimpleReader::setFeature
+48 QXmlSimpleReader::hasFeature
+56 QXmlSimpleReader::property
+64 QXmlSimpleReader::setProperty
+72 QXmlSimpleReader::hasProperty
+80 QXmlSimpleReader::setEntityResolver
+88 QXmlSimpleReader::entityResolver
+96 QXmlSimpleReader::setDTDHandler
+104 QXmlSimpleReader::DTDHandler
+112 QXmlSimpleReader::setContentHandler
+120 QXmlSimpleReader::contentHandler
+128 QXmlSimpleReader::setErrorHandler
+136 QXmlSimpleReader::errorHandler
+144 QXmlSimpleReader::setLexicalHandler
+152 QXmlSimpleReader::lexicalHandler
+160 QXmlSimpleReader::setDeclHandler
+168 QXmlSimpleReader::declHandler
+176 QXmlSimpleReader::parse
+184 QXmlSimpleReader::parse
+192 QXmlSimpleReader::parse
+200 QXmlSimpleReader::parseContinue
+
+Class QXmlSimpleReader
+ size=16 align=8
+ base size=16 base align=8
+QXmlSimpleReader (0x7fafb4410ee0) 0
+ vptr=((& QXmlSimpleReader::_ZTV16QXmlSimpleReader) + 16u)
+ QXmlReader (0x7fafb4410f50) 0 nearly-empty
+ primary-for QXmlSimpleReader (0x7fafb4410ee0)
+
+Vtable for QXmlLocator
+QXmlLocator::_ZTV11QXmlLocator: 6u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QXmlLocator)
+16 QXmlLocator::~QXmlLocator
+24 QXmlLocator::~QXmlLocator
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+
+Class QXmlLocator
+ size=8 align=8
+ base size=8 base align=8
+QXmlLocator (0x7fafb4435930) 0 nearly-empty
+ vptr=((& QXmlLocator::_ZTV11QXmlLocator) + 16u)
+
+Vtable for QXmlContentHandler
+QXmlContentHandler::_ZTV18QXmlContentHandler: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QXmlContentHandler)
+16 QXmlContentHandler::~QXmlContentHandler
+24 QXmlContentHandler::~QXmlContentHandler
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+48 __cxa_pure_virtual
+56 __cxa_pure_virtual
+64 __cxa_pure_virtual
+72 __cxa_pure_virtual
+80 __cxa_pure_virtual
+88 __cxa_pure_virtual
+96 __cxa_pure_virtual
+104 __cxa_pure_virtual
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+
+Class QXmlContentHandler
+ size=8 align=8
+ base size=8 base align=8
+QXmlContentHandler (0x7fafb4435b60) 0 nearly-empty
+ vptr=((& QXmlContentHandler::_ZTV18QXmlContentHandler) + 16u)
+
+Vtable for QXmlErrorHandler
+QXmlErrorHandler::_ZTV16QXmlErrorHandler: 8u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QXmlErrorHandler)
+16 QXmlErrorHandler::~QXmlErrorHandler
+24 QXmlErrorHandler::~QXmlErrorHandler
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+48 __cxa_pure_virtual
+56 __cxa_pure_virtual
+
+Class QXmlErrorHandler
+ size=8 align=8
+ base size=8 base align=8
+QXmlErrorHandler (0x7fafb4448460) 0 nearly-empty
+ vptr=((& QXmlErrorHandler::_ZTV16QXmlErrorHandler) + 16u)
+
+Vtable for QXmlDTDHandler
+QXmlDTDHandler::_ZTV14QXmlDTDHandler: 7u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QXmlDTDHandler)
+16 QXmlDTDHandler::~QXmlDTDHandler
+24 QXmlDTDHandler::~QXmlDTDHandler
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+48 __cxa_pure_virtual
+
+Class QXmlDTDHandler
+ size=8 align=8
+ base size=8 base align=8
+QXmlDTDHandler (0x7fafb4448e70) 0 nearly-empty
+ vptr=((& QXmlDTDHandler::_ZTV14QXmlDTDHandler) + 16u)
+
+Vtable for QXmlEntityResolver
+QXmlEntityResolver::_ZTV18QXmlEntityResolver: 6u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QXmlEntityResolver)
+16 QXmlEntityResolver::~QXmlEntityResolver
+24 QXmlEntityResolver::~QXmlEntityResolver
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+
+Class QXmlEntityResolver
+ size=8 align=8
+ base size=8 base align=8
+QXmlEntityResolver (0x7fafb44587e0) 0 nearly-empty
+ vptr=((& QXmlEntityResolver::_ZTV18QXmlEntityResolver) + 16u)
+
+Vtable for QXmlLexicalHandler
+QXmlLexicalHandler::_ZTV18QXmlLexicalHandler: 12u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QXmlLexicalHandler)
+16 QXmlLexicalHandler::~QXmlLexicalHandler
+24 QXmlLexicalHandler::~QXmlLexicalHandler
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+48 __cxa_pure_virtual
+56 __cxa_pure_virtual
+64 __cxa_pure_virtual
+72 __cxa_pure_virtual
+80 __cxa_pure_virtual
+88 __cxa_pure_virtual
+
+Class QXmlLexicalHandler
+ size=8 align=8
+ base size=8 base align=8
+QXmlLexicalHandler (0x7fafb4460230) 0 nearly-empty
+ vptr=((& QXmlLexicalHandler::_ZTV18QXmlLexicalHandler) + 16u)
+
+Vtable for QXmlDeclHandler
+QXmlDeclHandler::_ZTV15QXmlDeclHandler: 8u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QXmlDeclHandler)
+16 QXmlDeclHandler::~QXmlDeclHandler
+24 QXmlDeclHandler::~QXmlDeclHandler
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+48 __cxa_pure_virtual
+56 __cxa_pure_virtual
+
+Class QXmlDeclHandler
+ size=8 align=8
+ base size=8 base align=8
+QXmlDeclHandler (0x7fafb4460c40) 0 nearly-empty
+ vptr=((& QXmlDeclHandler::_ZTV15QXmlDeclHandler) + 16u)
+
+Vtable for QXmlDefaultHandler
+QXmlDefaultHandler::_ZTV18QXmlDefaultHandler: 73u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QXmlDefaultHandler)
+16 QXmlDefaultHandler::~QXmlDefaultHandler
+24 QXmlDefaultHandler::~QXmlDefaultHandler
+32 QXmlDefaultHandler::setDocumentLocator
+40 QXmlDefaultHandler::startDocument
+48 QXmlDefaultHandler::endDocument
+56 QXmlDefaultHandler::startPrefixMapping
+64 QXmlDefaultHandler::endPrefixMapping
+72 QXmlDefaultHandler::startElement
+80 QXmlDefaultHandler::endElement
+88 QXmlDefaultHandler::characters
+96 QXmlDefaultHandler::ignorableWhitespace
+104 QXmlDefaultHandler::processingInstruction
+112 QXmlDefaultHandler::skippedEntity
+120 QXmlDefaultHandler::errorString
+128 QXmlDefaultHandler::warning
+136 QXmlDefaultHandler::error
+144 QXmlDefaultHandler::fatalError
+152 QXmlDefaultHandler::notationDecl
+160 QXmlDefaultHandler::unparsedEntityDecl
+168 QXmlDefaultHandler::resolveEntity
+176 QXmlDefaultHandler::startDTD
+184 QXmlDefaultHandler::endDTD
+192 QXmlDefaultHandler::startEntity
+200 QXmlDefaultHandler::endEntity
+208 QXmlDefaultHandler::startCDATA
+216 QXmlDefaultHandler::endCDATA
+224 QXmlDefaultHandler::comment
+232 QXmlDefaultHandler::attributeDecl
+240 QXmlDefaultHandler::internalEntityDecl
+248 QXmlDefaultHandler::externalEntityDecl
+256 (int (*)(...))-0x00000000000000008
+264 (int (*)(...))(& _ZTI18QXmlDefaultHandler)
+272 QXmlDefaultHandler::_ZThn8_N18QXmlDefaultHandlerD1Ev
+280 QXmlDefaultHandler::_ZThn8_N18QXmlDefaultHandlerD0Ev
+288 QXmlDefaultHandler::_ZThn8_N18QXmlDefaultHandler7warningERK18QXmlParseException
+296 QXmlDefaultHandler::_ZThn8_N18QXmlDefaultHandler5errorERK18QXmlParseException
+304 QXmlDefaultHandler::_ZThn8_N18QXmlDefaultHandler10fatalErrorERK18QXmlParseException
+312 QXmlDefaultHandler::_ZThn8_NK18QXmlDefaultHandler11errorStringEv
+320 (int (*)(...))-0x00000000000000010
+328 (int (*)(...))(& _ZTI18QXmlDefaultHandler)
+336 QXmlDefaultHandler::_ZThn16_N18QXmlDefaultHandlerD1Ev
+344 QXmlDefaultHandler::_ZThn16_N18QXmlDefaultHandlerD0Ev
+352 QXmlDefaultHandler::_ZThn16_N18QXmlDefaultHandler12notationDeclERK7QStringS2_S2_
+360 QXmlDefaultHandler::_ZThn16_N18QXmlDefaultHandler18unparsedEntityDeclERK7QStringS2_S2_S2_
+368 QXmlDefaultHandler::_ZThn16_NK18QXmlDefaultHandler11errorStringEv
+376 (int (*)(...))-0x00000000000000018
+384 (int (*)(...))(& _ZTI18QXmlDefaultHandler)
+392 QXmlDefaultHandler::_ZThn24_N18QXmlDefaultHandlerD1Ev
+400 QXmlDefaultHandler::_ZThn24_N18QXmlDefaultHandlerD0Ev
+408 QXmlDefaultHandler::_ZThn24_N18QXmlDefaultHandler13resolveEntityERK7QStringS2_RP15QXmlInputSource
+416 QXmlDefaultHandler::_ZThn24_NK18QXmlDefaultHandler11errorStringEv
+424 (int (*)(...))-0x00000000000000020
+432 (int (*)(...))(& _ZTI18QXmlDefaultHandler)
+440 QXmlDefaultHandler::_ZThn32_N18QXmlDefaultHandlerD1Ev
+448 QXmlDefaultHandler::_ZThn32_N18QXmlDefaultHandlerD0Ev
+456 QXmlDefaultHandler::_ZThn32_N18QXmlDefaultHandler8startDTDERK7QStringS2_S2_
+464 QXmlDefaultHandler::_ZThn32_N18QXmlDefaultHandler6endDTDEv
+472 QXmlDefaultHandler::_ZThn32_N18QXmlDefaultHandler11startEntityERK7QString
+480 QXmlDefaultHandler::_ZThn32_N18QXmlDefaultHandler9endEntityERK7QString
+488 QXmlDefaultHandler::_ZThn32_N18QXmlDefaultHandler10startCDATAEv
+496 QXmlDefaultHandler::_ZThn32_N18QXmlDefaultHandler8endCDATAEv
+504 QXmlDefaultHandler::_ZThn32_N18QXmlDefaultHandler7commentERK7QString
+512 QXmlDefaultHandler::_ZThn32_NK18QXmlDefaultHandler11errorStringEv
+520 (int (*)(...))-0x00000000000000028
+528 (int (*)(...))(& _ZTI18QXmlDefaultHandler)
+536 QXmlDefaultHandler::_ZThn40_N18QXmlDefaultHandlerD1Ev
+544 QXmlDefaultHandler::_ZThn40_N18QXmlDefaultHandlerD0Ev
+552 QXmlDefaultHandler::_ZThn40_N18QXmlDefaultHandler13attributeDeclERK7QStringS2_S2_S2_S2_
+560 QXmlDefaultHandler::_ZThn40_N18QXmlDefaultHandler18internalEntityDeclERK7QStringS2_
+568 QXmlDefaultHandler::_ZThn40_N18QXmlDefaultHandler18externalEntityDeclERK7QStringS2_S2_
+576 QXmlDefaultHandler::_ZThn40_NK18QXmlDefaultHandler11errorStringEv
+
+Class QXmlDefaultHandler
+ size=56 align=8
+ base size=56 base align=8
+QXmlDefaultHandler (0x7fafb446bc80) 0
+ vptr=((& QXmlDefaultHandler::_ZTV18QXmlDefaultHandler) + 16u)
+ QXmlContentHandler (0x7fafb44725b0) 0 nearly-empty
+ primary-for QXmlDefaultHandler (0x7fafb446bc80)
+ QXmlErrorHandler (0x7fafb4472620) 8 nearly-empty
+ vptr=((& QXmlDefaultHandler::_ZTV18QXmlDefaultHandler) + 272u)
+ QXmlDTDHandler (0x7fafb4472690) 16 nearly-empty
+ vptr=((& QXmlDefaultHandler::_ZTV18QXmlDefaultHandler) + 336u)
+ QXmlEntityResolver (0x7fafb4472700) 24 nearly-empty
+ vptr=((& QXmlDefaultHandler::_ZTV18QXmlDefaultHandler) + 392u)
+ QXmlLexicalHandler (0x7fafb4472770) 32 nearly-empty
+ vptr=((& QXmlDefaultHandler::_ZTV18QXmlDefaultHandler) + 440u)
+ QXmlDeclHandler (0x7fafb44727e0) 40 nearly-empty
+ vptr=((& QXmlDefaultHandler::_ZTV18QXmlDefaultHandler) + 536u)
+
+Class QDBusObjectPath
+ size=8 align=8
+ base size=8 base align=8
+QDBusObjectPath (0x7fafb42c6150) 0
+ QString (0x7fafb42c61c0) 0
+
+Class QDBusSignature
+ size=8 align=8
+ base size=8 base align=8
+QDBusSignature (0x7fafb430f070) 0
+ QString (0x7fafb430f0e0) 0
+
+Class QDBusVariant
+ size=16 align=8
+ base size=16 base align=8
+QDBusVariant (0x7fafb4329f50) 0
+ QVariant (0x7fafb4358000) 0
+
+Class QDBusArgument
+ size=8 align=8
+ base size=8 base align=8
+QDBusArgument (0x7fafb41748c0) 0
+
+Vtable for QDBusAbstractAdaptor
+QDBusAbstractAdaptor::_ZTV20QDBusAbstractAdaptor: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI20QDBusAbstractAdaptor)
+16 QDBusAbstractAdaptor::metaObject
+24 QDBusAbstractAdaptor::qt_metacast
+32 QDBusAbstractAdaptor::qt_metacall
+40 QDBusAbstractAdaptor::~QDBusAbstractAdaptor
+48 QDBusAbstractAdaptor::~QDBusAbstractAdaptor
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QDBusAbstractAdaptor
+ size=16 align=8
+ base size=16 base align=8
+QDBusAbstractAdaptor (0x7fafb42342a0) 0
+ vptr=((& QDBusAbstractAdaptor::_ZTV20QDBusAbstractAdaptor) + 16u)
+ QObject (0x7fafb4234310) 0
+ primary-for QDBusAbstractAdaptor (0x7fafb42342a0)
+
+Class QDBusError
+ size=32 align=8
+ base size=32 base align=8
+QDBusError (0x7fafb4247700) 0
+
+Class QDBusMessage
+ size=8 align=8
+ base size=8 base align=8
+QDBusMessage (0x7fafb42531c0) 0
+
+Class QDBusConnection
+ size=8 align=8
+ base size=8 base align=8
+QDBusConnection (0x7fafb42720e0) 0
+
+Vtable for QDBusAbstractInterface
+QDBusAbstractInterface::_ZTV22QDBusAbstractInterface: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI22QDBusAbstractInterface)
+16 QDBusAbstractInterface::metaObject
+24 QDBusAbstractInterface::qt_metacast
+32 QDBusAbstractInterface::qt_metacall
+40 QDBusAbstractInterface::~QDBusAbstractInterface
+48 QDBusAbstractInterface::~QDBusAbstractInterface
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QDBusAbstractInterface::connectNotify
+104 QDBusAbstractInterface::disconnectNotify
+
+Class QDBusAbstractInterface
+ size=16 align=8
+ base size=16 base align=8
+QDBusAbstractInterface (0x7fafb40a4850) 0
+ vptr=((& QDBusAbstractInterface::_ZTV22QDBusAbstractInterface) + 16u)
+ QObject (0x7fafb40a48c0) 0
+ primary-for QDBusAbstractInterface (0x7fafb40a4850)
+
+Class QDBusPendingCall
+ size=8 align=8
+ base size=8 base align=8
+QDBusPendingCall (0x7fafb40d3930) 0
+
+Vtable for QDBusPendingCallWatcher
+QDBusPendingCallWatcher::_ZTV23QDBusPendingCallWatcher: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI23QDBusPendingCallWatcher)
+16 QDBusPendingCallWatcher::metaObject
+24 QDBusPendingCallWatcher::qt_metacast
+32 QDBusPendingCallWatcher::qt_metacall
+40 QDBusPendingCallWatcher::~QDBusPendingCallWatcher
+48 QDBusPendingCallWatcher::~QDBusPendingCallWatcher
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QDBusPendingCallWatcher
+ size=24 align=8
+ base size=24 base align=8
+QDBusPendingCallWatcher (0x7fafb4095e80) 0
+ vptr=((& QDBusPendingCallWatcher::_ZTV23QDBusPendingCallWatcher) + 16u)
+ QObject (0x7fafb40d3e00) 0
+ primary-for QDBusPendingCallWatcher (0x7fafb4095e80)
+ QDBusPendingCall (0x7fafb40e8000) 16
+
+Class QDBusPendingReplyData
+ size=8 align=8
+ base size=8 base align=8
+QDBusPendingReplyData (0x7fafb40fc4d0) 0
+ QDBusPendingCall (0x7fafb40fc540) 0
+
+Vtable for QDBusConnectionInterface
+QDBusConnectionInterface::_ZTV24QDBusConnectionInterface: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI24QDBusConnectionInterface)
+16 QDBusConnectionInterface::metaObject
+24 QDBusConnectionInterface::qt_metacast
+32 QDBusConnectionInterface::qt_metacall
+40 QDBusConnectionInterface::~QDBusConnectionInterface
+48 QDBusConnectionInterface::~QDBusConnectionInterface
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QDBusConnectionInterface::connectNotify
+104 QDBusConnectionInterface::disconnectNotify
+
+Class QDBusConnectionInterface
+ size=16 align=8
+ base size=16 base align=8
+QDBusConnectionInterface (0x7fafb414ce70) 0
+ vptr=((& QDBusConnectionInterface::_ZTV24QDBusConnectionInterface) + 16u)
+ QDBusAbstractInterface (0x7fafb414cee0) 0
+ primary-for QDBusConnectionInterface (0x7fafb414ce70)
+ QObject (0x7fafb414cf50) 0
+ primary-for QDBusAbstractInterface (0x7fafb414cee0)
+
+Vtable for QDBusServer
+QDBusServer::_ZTV11QDBusServer: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QDBusServer)
+16 QDBusServer::metaObject
+24 QDBusServer::qt_metacast
+32 QDBusServer::qt_metacall
+40 QDBusServer::~QDBusServer
+48 QDBusServer::~QDBusServer
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QDBusServer
+ size=24 align=8
+ base size=24 base align=8
+QDBusServer (0x7fafb416aa10) 0
+ vptr=((& QDBusServer::_ZTV11QDBusServer) + 16u)
+ QObject (0x7fafb416aa80) 0
+ primary-for QDBusServer (0x7fafb416aa10)
+
+Class QDBusContext
+ size=8 align=8
+ base size=8 base align=8
+QDBusContext (0x7fafb3f74d20) 0
+
+Vtable for QDBusInterface
+QDBusInterface::_ZTV14QDBusInterface: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QDBusInterface)
+16 QDBusInterface::metaObject
+24 QDBusInterface::qt_metacast
+32 QDBusInterface::qt_metacall
+40 QDBusInterface::~QDBusInterface
+48 QDBusInterface::~QDBusInterface
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QDBusAbstractInterface::connectNotify
+104 QDBusAbstractInterface::disconnectNotify
+
+Class QDBusInterface
+ size=16 align=8
+ base size=16 base align=8
+QDBusInterface (0x7fafb3f893f0) 0
+ vptr=((& QDBusInterface::_ZTV14QDBusInterface) + 16u)
+ QDBusAbstractInterface (0x7fafb3f89460) 0
+ primary-for QDBusInterface (0x7fafb3f893f0)
+ QObject (0x7fafb3f894d0) 0
+ primary-for QDBusAbstractInterface (0x7fafb3f89460)
+
+Class QDBusMetaType
+ size=1 align=1
+ base size=0 base align=1
+QDBusMetaType (0x7fafb3f89d90) 0 empty
+
diff --git a/tests/auto/bic/data/QtDBus.4.6.0.linux-gcc-amd64.txt b/tests/auto/bic/data/QtDBus.4.6.0.linux-gcc-amd64.txt
new file mode 100644
index 0000000000..177e065c39
--- /dev/null
+++ b/tests/auto/bic/data/QtDBus.4.6.0.linux-gcc-amd64.txt
@@ -0,0 +1,2894 @@
+Class QSysInfo
+ size=1 align=1
+ base size=0 base align=1
+QSysInfo (0x7f088f9ed230) 0 empty
+
+Class QBool
+ size=1 align=1
+ base size=1 base align=1
+QBool (0x7f088f9ede70) 0
+
+Class qIsNull(double)::U
+ size=8 align=8
+ base size=8 base align=8
+qIsNull(double)::U (0x7f088f200540) 0
+
+Class qIsNull(float)::U
+ size=4 align=4
+ base size=4 base align=4
+qIsNull(float)::U (0x7f088f2007e0) 0
+
+Class QFlag
+ size=4 align=4
+ base size=4 base align=4
+QFlag (0x7f088f238690) 0
+
+Class QIncompatibleFlag
+ size=4 align=4
+ base size=4 base align=4
+QIncompatibleFlag (0x7f088f238e70) 0
+
+Class QLatin1Char
+ size=1 align=1
+ base size=1 base align=1
+QLatin1Char (0x7f088f2675b0) 0
+
+Class QChar
+ size=2 align=2
+ base size=2 base align=2
+QChar (0x7f088f28e150) 0
+
+Class QBasicAtomicInt
+ size=4 align=4
+ base size=4 base align=4
+QBasicAtomicInt (0x7f088f0f5310) 0
+
+Class QAtomicInt
+ size=4 align=4
+ base size=4 base align=4
+QAtomicInt (0x7f088f133cb0) 0
+ QBasicAtomicInt (0x7f088f133d20) 0
+
+Class QInternal
+ size=1 align=1
+ base size=0 base align=1
+QInternal (0x7f088ef874d0) 0 empty
+
+Class __locale_struct
+ size=232 align=8
+ base size=232 base align=8
+__locale_struct (0x7f088ef87700) 0
+
+Class QByteArray::Data
+ size=32 align=8
+ base size=32 base align=8
+QByteArray::Data (0x7f088efc3af0) 0
+
+Class QByteArray
+ size=8 align=8
+ base size=8 base align=8
+QByteArray (0x7f088efc3a80) 0
+
+Class QByteRef
+ size=16 align=8
+ base size=12 base align=8
+QByteRef (0x7f088ee66380) 0
+
+Class QString::Null
+ size=1 align=1
+ base size=0 base align=1
+QString::Null (0x7f088ed66d20) 0 empty
+
+Class QString::Data
+ size=32 align=8
+ base size=32 base align=8
+QString::Data (0x7f088ed7e5b0) 0
+
+Class QString
+ size=8 align=8
+ base size=8 base align=8
+QString (0x7f088ecdfbd0) 0
+
+Class QLatin1String
+ size=8 align=8
+ base size=8 base align=8
+QLatin1String (0x7f088ec569a0) 0
+
+Class QCharRef
+ size=16 align=8
+ base size=12 base align=8
+QCharRef (0x7f088eab4000) 0
+
+Class QConstString
+ size=8 align=8
+ base size=8 base align=8
+QConstString (0x7f088e9fd8c0) 0
+ QString (0x7f088e9fd930) 0
+
+Class QStringRef
+ size=16 align=8
+ base size=16 base align=8
+QStringRef (0x7f088ea24310) 0
+
+Class QGenericArgument
+ size=16 align=8
+ base size=16 base align=8
+QGenericArgument (0x7f088e89c700) 0
+
+Class QGenericReturnArgument
+ size=16 align=8
+ base size=16 base align=8
+QGenericReturnArgument (0x7f088e8a62a0) 0
+ QGenericArgument (0x7f088e8a6310) 0
+
+Class QMetaObject
+ size=32 align=8
+ base size=32 base align=8
+QMetaObject (0x7f088e8a6b60) 0
+
+Class QMetaObjectExtraData
+ size=16 align=8
+ base size=16 base align=8
+QMetaObjectExtraData (0x7f088e8cfbd0) 0
+
+Vtable for std::exception
+std::exception::_ZTVSt9exception: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt9exception)
+16 std::exception::~exception
+24 std::exception::~exception
+32 std::exception::what
+
+Class std::exception
+ size=8 align=8
+ base size=8 base align=8
+std::exception (0x7f088e9231c0) 0 nearly-empty
+ vptr=((& std::exception::_ZTVSt9exception) + 16u)
+
+Vtable for std::bad_exception
+std::bad_exception::_ZTVSt13bad_exception: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt13bad_exception)
+16 std::bad_exception::~bad_exception
+24 std::bad_exception::~bad_exception
+32 std::bad_exception::what
+
+Class std::bad_exception
+ size=8 align=8
+ base size=8 base align=8
+std::bad_exception (0x7f088e923770) 0 nearly-empty
+ vptr=((& std::bad_exception::_ZTVSt13bad_exception) + 16u)
+ std::exception (0x7f088e9237e0) 0 nearly-empty
+ primary-for std::bad_exception (0x7f088e923770)
+
+Vtable for std::bad_alloc
+std::bad_alloc::_ZTVSt9bad_alloc: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt9bad_alloc)
+16 std::bad_alloc::~bad_alloc
+24 std::bad_alloc::~bad_alloc
+32 std::bad_alloc::what
+
+Class std::bad_alloc
+ size=8 align=8
+ base size=8 base align=8
+std::bad_alloc (0x7f088e923930) 0 nearly-empty
+ vptr=((& std::bad_alloc::_ZTVSt9bad_alloc) + 16u)
+ std::exception (0x7f088e939000) 0 nearly-empty
+ primary-for std::bad_alloc (0x7f088e923930)
+
+Class std::nothrow_t
+ size=1 align=1
+ base size=0 base align=1
+std::nothrow_t (0x7f088e939850) 0 empty
+
+Class QListData::Data
+ size=32 align=8
+ base size=32 base align=8
+QListData::Data (0x7f088e939d90) 0
+
+Class QListData
+ size=8 align=8
+ base size=8 base align=8
+QListData (0x7f088e939d20) 0
+
+Class QScopedPointerPodDeleter
+ size=1 align=1
+ base size=0 base align=1
+QScopedPointerPodDeleter (0x7f088e863850) 0 empty
+
+Vtable for QObjectData
+QObjectData::_ZTV11QObjectData: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QObjectData)
+16 __cxa_pure_virtual
+24 __cxa_pure_virtual
+
+Class QObjectData
+ size=48 align=8
+ base size=48 base align=8
+QObjectData (0x7f088e8832a0) 0
+ vptr=((& QObjectData::_ZTV11QObjectData) + 16u)
+
+Vtable for QObject
+QObject::_ZTV7QObject: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QObject)
+16 QObject::metaObject
+24 QObject::qt_metacast
+32 QObject::qt_metacall
+40 QObject::~QObject
+48 QObject::~QObject
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QObject
+ size=16 align=8
+ base size=16 base align=8
+QObject (0x7f088e8835b0) 0
+ vptr=((& QObject::_ZTV7QObject) + 16u)
+
+Vtable for QObjectUserData
+QObjectUserData::_ZTV15QObjectUserData: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QObjectUserData)
+16 QObjectUserData::~QObjectUserData
+24 QObjectUserData::~QObjectUserData
+
+Class QObjectUserData
+ size=8 align=8
+ base size=8 base align=8
+QObjectUserData (0x7f088e6f8b60) 0 nearly-empty
+ vptr=((& QObjectUserData::_ZTV15QObjectUserData) + 16u)
+
+Vtable for QIODevice
+QIODevice::_ZTV9QIODevice: 30u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QIODevice)
+16 QIODevice::metaObject
+24 QIODevice::qt_metacast
+32 QIODevice::qt_metacall
+40 QIODevice::~QIODevice
+48 QIODevice::~QIODevice
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QIODevice::isSequential
+120 QIODevice::open
+128 QIODevice::close
+136 QIODevice::pos
+144 QIODevice::size
+152 QIODevice::seek
+160 QIODevice::atEnd
+168 QIODevice::reset
+176 QIODevice::bytesAvailable
+184 QIODevice::bytesToWrite
+192 QIODevice::canReadLine
+200 QIODevice::waitForReadyRead
+208 QIODevice::waitForBytesWritten
+216 __cxa_pure_virtual
+224 QIODevice::readLineData
+232 __cxa_pure_virtual
+
+Class QIODevice
+ size=16 align=8
+ base size=16 base align=8
+QIODevice (0x7f088e709150) 0
+ vptr=((& QIODevice::_ZTV9QIODevice) + 16u)
+ QObject (0x7f088e7091c0) 0
+ primary-for QIODevice (0x7f088e709150)
+
+Class _IO_marker
+ size=24 align=8
+ base size=24 base align=8
+_IO_marker (0x7f088e76ccb0) 0
+
+Class _IO_FILE
+ size=216 align=8
+ base size=216 base align=8
+_IO_FILE (0x7f088e76cd20) 0
+
+Vtable for QFile
+QFile::_ZTV5QFile: 31u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI5QFile)
+16 QFile::metaObject
+24 QFile::qt_metacast
+32 QFile::qt_metacall
+40 QFile::~QFile
+48 QFile::~QFile
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QFile::isSequential
+120 QFile::open
+128 QFile::close
+136 QFile::pos
+144 QFile::size
+152 QFile::seek
+160 QFile::atEnd
+168 QIODevice::reset
+176 QIODevice::bytesAvailable
+184 QIODevice::bytesToWrite
+192 QIODevice::canReadLine
+200 QIODevice::waitForReadyRead
+208 QIODevice::waitForBytesWritten
+216 QFile::readData
+224 QFile::readLineData
+232 QFile::writeData
+240 QFile::fileEngine
+
+Class QFile
+ size=16 align=8
+ base size=16 base align=8
+QFile (0x7f088e76ce00) 0
+ vptr=((& QFile::_ZTV5QFile) + 16u)
+ QIODevice (0x7f088e76ce70) 0
+ primary-for QFile (0x7f088e76ce00)
+ QObject (0x7f088e76cee0) 0
+ primary-for QIODevice (0x7f088e76ce70)
+
+Class QFileInfo
+ size=8 align=8
+ base size=8 base align=8
+QFileInfo (0x7f088e60d070) 0
+
+Vtable for QDataStream
+QDataStream::_ZTV11QDataStream: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QDataStream)
+16 QDataStream::~QDataStream
+24 QDataStream::~QDataStream
+
+Class QDataStream
+ size=40 align=8
+ base size=40 base align=8
+QDataStream (0x7f088e662a10) 0
+ vptr=((& QDataStream::_ZTV11QDataStream) + 16u)
+
+Class QRegExp
+ size=8 align=8
+ base size=8 base align=8
+QRegExp (0x7f088e4cbe70) 0
+
+Class QStringMatcher::Data
+ size=272 align=8
+ base size=272 base align=8
+QStringMatcher::Data (0x7f088e5332a0) 0
+
+Class QStringMatcher
+ size=1048 align=8
+ base size=1048 base align=8
+QStringMatcher (0x7f088e527c40) 0
+
+Class QStringList
+ size=8 align=8
+ base size=8 base align=8
+QStringList (0x7f088e533850) 0
+ QList<QString> (0x7f088e5338c0) 0
+
+Class QDir
+ size=8 align=8
+ base size=8 base align=8
+QDir (0x7f088e3d14d0) 0
+
+Class QAbstractFileEngine::ExtensionOption
+ size=1 align=1
+ base size=0 base align=1
+QAbstractFileEngine::ExtensionOption (0x7f088e4798c0) 0 empty
+
+Class QAbstractFileEngine::ExtensionReturn
+ size=1 align=1
+ base size=0 base align=1
+QAbstractFileEngine::ExtensionReturn (0x7f088e479930) 0 empty
+
+Class QAbstractFileEngine::MapExtensionOption
+ size=24 align=8
+ base size=20 base align=8
+QAbstractFileEngine::MapExtensionOption (0x7f088e4799a0) 0
+ QAbstractFileEngine::ExtensionOption (0x7f088e479a10) 0 empty
+
+Class QAbstractFileEngine::MapExtensionReturn
+ size=8 align=8
+ base size=8 base align=8
+QAbstractFileEngine::MapExtensionReturn (0x7f088e479bd0) 0
+ QAbstractFileEngine::ExtensionReturn (0x7f088e479c40) 0 empty
+
+Class QAbstractFileEngine::UnMapExtensionOption
+ size=8 align=8
+ base size=8 base align=8
+QAbstractFileEngine::UnMapExtensionOption (0x7f088e479cb0) 0
+ QAbstractFileEngine::ExtensionOption (0x7f088e479d20) 0 empty
+
+Vtable for QAbstractFileEngine
+QAbstractFileEngine::_ZTV19QAbstractFileEngine: 36u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QAbstractFileEngine)
+16 QAbstractFileEngine::~QAbstractFileEngine
+24 QAbstractFileEngine::~QAbstractFileEngine
+32 QAbstractFileEngine::open
+40 QAbstractFileEngine::close
+48 QAbstractFileEngine::flush
+56 QAbstractFileEngine::size
+64 QAbstractFileEngine::pos
+72 QAbstractFileEngine::seek
+80 QAbstractFileEngine::isSequential
+88 QAbstractFileEngine::remove
+96 QAbstractFileEngine::copy
+104 QAbstractFileEngine::rename
+112 QAbstractFileEngine::link
+120 QAbstractFileEngine::mkdir
+128 QAbstractFileEngine::rmdir
+136 QAbstractFileEngine::setSize
+144 QAbstractFileEngine::caseSensitive
+152 QAbstractFileEngine::isRelativePath
+160 QAbstractFileEngine::entryList
+168 QAbstractFileEngine::fileFlags
+176 QAbstractFileEngine::setPermissions
+184 QAbstractFileEngine::fileName
+192 QAbstractFileEngine::ownerId
+200 QAbstractFileEngine::owner
+208 QAbstractFileEngine::fileTime
+216 QAbstractFileEngine::setFileName
+224 QAbstractFileEngine::handle
+232 QAbstractFileEngine::beginEntryList
+240 QAbstractFileEngine::endEntryList
+248 QAbstractFileEngine::read
+256 QAbstractFileEngine::readLine
+264 QAbstractFileEngine::write
+272 QAbstractFileEngine::extension
+280 QAbstractFileEngine::supportsExtension
+
+Class QAbstractFileEngine
+ size=16 align=8
+ base size=16 base align=8
+QAbstractFileEngine (0x7f088e45e850) 0
+ vptr=((& QAbstractFileEngine::_ZTV19QAbstractFileEngine) + 16u)
+
+Vtable for QAbstractFileEngineHandler
+QAbstractFileEngineHandler::_ZTV26QAbstractFileEngineHandler: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI26QAbstractFileEngineHandler)
+16 QAbstractFileEngineHandler::~QAbstractFileEngineHandler
+24 QAbstractFileEngineHandler::~QAbstractFileEngineHandler
+32 __cxa_pure_virtual
+
+Class QAbstractFileEngineHandler
+ size=8 align=8
+ base size=8 base align=8
+QAbstractFileEngineHandler (0x7f088e2afbd0) 0 nearly-empty
+ vptr=((& QAbstractFileEngineHandler::_ZTV26QAbstractFileEngineHandler) + 16u)
+
+Vtable for QAbstractFileEngineIterator
+QAbstractFileEngineIterator::_ZTV27QAbstractFileEngineIterator: 9u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI27QAbstractFileEngineIterator)
+16 QAbstractFileEngineIterator::~QAbstractFileEngineIterator
+24 QAbstractFileEngineIterator::~QAbstractFileEngineIterator
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+48 __cxa_pure_virtual
+56 QAbstractFileEngineIterator::currentFileInfo
+64 QAbstractFileEngineIterator::entryInfo
+
+Class QAbstractFileEngineIterator
+ size=16 align=8
+ base size=16 base align=8
+QAbstractFileEngineIterator (0x7f088e2afd90) 0
+ vptr=((& QAbstractFileEngineIterator::_ZTV27QAbstractFileEngineIterator) + 16u)
+
+Vtable for QBuffer
+QBuffer::_ZTV7QBuffer: 30u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QBuffer)
+16 QBuffer::metaObject
+24 QBuffer::qt_metacast
+32 QBuffer::qt_metacall
+40 QBuffer::~QBuffer
+48 QBuffer::~QBuffer
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QBuffer::connectNotify
+104 QBuffer::disconnectNotify
+112 QIODevice::isSequential
+120 QBuffer::open
+128 QBuffer::close
+136 QBuffer::pos
+144 QBuffer::size
+152 QBuffer::seek
+160 QBuffer::atEnd
+168 QIODevice::reset
+176 QIODevice::bytesAvailable
+184 QIODevice::bytesToWrite
+192 QBuffer::canReadLine
+200 QIODevice::waitForReadyRead
+208 QIODevice::waitForBytesWritten
+216 QBuffer::readData
+224 QIODevice::readLineData
+232 QBuffer::writeData
+
+Class QBuffer
+ size=16 align=8
+ base size=16 base align=8
+QBuffer (0x7f088e2c3690) 0
+ vptr=((& QBuffer::_ZTV7QBuffer) + 16u)
+ QIODevice (0x7f088e2c3700) 0
+ primary-for QBuffer (0x7f088e2c3690)
+ QObject (0x7f088e2c3770) 0
+ primary-for QIODevice (0x7f088e2c3700)
+
+Class QHashData::Node
+ size=16 align=8
+ base size=16 base align=8
+QHashData::Node (0x7f088e304e00) 0
+
+Class QHashData
+ size=40 align=8
+ base size=40 base align=8
+QHashData (0x7f088e304d90) 0
+
+Class QHashDummyValue
+ size=1 align=1
+ base size=0 base align=1
+QHashDummyValue (0x7f088e328150) 0 empty
+
+Class QMapData::Node
+ size=16 align=8
+ base size=16 base align=8
+QMapData::Node (0x7f088e226a80) 0
+
+Class QMapData
+ size=128 align=8
+ base size=128 base align=8
+QMapData (0x7f088e226a10) 0
+
+Vtable for QSystemLocale
+QSystemLocale::_ZTV13QSystemLocale: 6u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QSystemLocale)
+16 QSystemLocale::~QSystemLocale
+24 QSystemLocale::~QSystemLocale
+32 QSystemLocale::query
+40 QSystemLocale::fallbackLocale
+
+Class QSystemLocale
+ size=8 align=8
+ base size=8 base align=8
+QSystemLocale (0x7f088e163690) 0 nearly-empty
+ vptr=((& QSystemLocale::_ZTV13QSystemLocale) + 16u)
+
+Class QLocale::Data
+ size=4 align=2
+ base size=4 base align=2
+QLocale::Data (0x7f088dfacd90) 0
+
+Class QLocale
+ size=8 align=8
+ base size=8 base align=8
+QLocale (0x7f088e163af0) 0
+
+Class QTextCodec::ConverterState
+ size=32 align=8
+ base size=32 base align=8
+QTextCodec::ConverterState (0x7f088e003bd0) 0
+
+Vtable for QTextCodec
+QTextCodec::_ZTV10QTextCodec: 9u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QTextCodec)
+16 __cxa_pure_virtual
+24 QTextCodec::aliases
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+48 __cxa_pure_virtual
+56 QTextCodec::~QTextCodec
+64 QTextCodec::~QTextCodec
+
+Class QTextCodec
+ size=8 align=8
+ base size=8 base align=8
+QTextCodec (0x7f088dff4460) 0 nearly-empty
+ vptr=((& QTextCodec::_ZTV10QTextCodec) + 16u)
+
+Class QTextEncoder
+ size=40 align=8
+ base size=40 base align=8
+QTextEncoder (0x7f088e077150) 0
+
+Class QTextDecoder
+ size=40 align=8
+ base size=40 base align=8
+QTextDecoder (0x7f088e077f50) 0
+
+Vtable for QTextStream
+QTextStream::_ZTV11QTextStream: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QTextStream)
+16 QTextStream::~QTextStream
+24 QTextStream::~QTextStream
+
+Class QTextStream
+ size=16 align=8
+ base size=16 base align=8
+QTextStream (0x7f088e07fd90) 0
+ vptr=((& QTextStream::_ZTV11QTextStream) + 16u)
+
+Class QTextStreamManipulator
+ size=40 align=8
+ base size=38 base align=8
+QTextStreamManipulator (0x7f088def8a80) 0
+
+Vtable for QTextIStream
+QTextIStream::_ZTV12QTextIStream: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QTextIStream)
+16 QTextIStream::~QTextIStream
+24 QTextIStream::~QTextIStream
+
+Class QTextIStream
+ size=16 align=8
+ base size=16 base align=8
+QTextIStream (0x7f088df28070) 0
+ vptr=((& QTextIStream::_ZTV12QTextIStream) + 16u)
+ QTextStream (0x7f088df280e0) 0
+ primary-for QTextIStream (0x7f088df28070)
+
+Vtable for QTextOStream
+QTextOStream::_ZTV12QTextOStream: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QTextOStream)
+16 QTextOStream::~QTextOStream
+24 QTextOStream::~QTextOStream
+
+Class QTextOStream
+ size=16 align=8
+ base size=16 base align=8
+QTextOStream (0x7f088df35ee0) 0
+ vptr=((& QTextOStream::_ZTV12QTextOStream) + 16u)
+ QTextStream (0x7f088df35f50) 0
+ primary-for QTextOStream (0x7f088df35ee0)
+
+Class wait
+ size=4 align=4
+ base size=4 base align=4
+wait (0x7f088df4ad90) 0
+
+Class timespec
+ size=16 align=8
+ base size=16 base align=8
+timespec (0x7f088df560e0) 0
+
+Class timeval
+ size=16 align=8
+ base size=16 base align=8
+timeval (0x7f088df56150) 0
+
+Class __pthread_internal_list
+ size=16 align=8
+ base size=16 base align=8
+__pthread_internal_list (0x7f088df562a0) 0
+
+Class random_data
+ size=48 align=8
+ base size=48 base align=8
+random_data (0x7f088df56850) 0
+
+Class drand48_data
+ size=24 align=8
+ base size=24 base align=8
+drand48_data (0x7f088df568c0) 0
+
+Class QVectorData
+ size=16 align=4
+ base size=16 base align=4
+QVectorData (0x7f088df56930) 0
+
+Class QContiguousCacheData
+ size=24 align=4
+ base size=24 base align=4
+QContiguousCacheData (0x7f088dd15620) 0
+
+Class QDebug::Stream
+ size=40 align=8
+ base size=34 base align=8
+QDebug::Stream (0x7f088db75150) 0
+
+Class QDebug
+ size=8 align=8
+ base size=8 base align=8
+QDebug (0x7f088db750e0) 0
+
+Class QNoDebug
+ size=1 align=1
+ base size=0 base align=1
+QNoDebug (0x7f088dc230e0) 0 empty
+
+Vtable for QDirIterator
+QDirIterator::_ZTV12QDirIterator: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QDirIterator)
+16 QDirIterator::~QDirIterator
+24 QDirIterator::~QDirIterator
+
+Class QDirIterator
+ size=16 align=8
+ base size=16 base align=8
+QDirIterator (0x7f088dc34700) 0
+ vptr=((& QDirIterator::_ZTV12QDirIterator) + 16u)
+
+Vtable for QFileSystemWatcher
+QFileSystemWatcher::_ZTV18QFileSystemWatcher: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QFileSystemWatcher)
+16 QFileSystemWatcher::metaObject
+24 QFileSystemWatcher::qt_metacast
+32 QFileSystemWatcher::qt_metacall
+40 QFileSystemWatcher::~QFileSystemWatcher
+48 QFileSystemWatcher::~QFileSystemWatcher
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QFileSystemWatcher
+ size=16 align=8
+ base size=16 base align=8
+QFileSystemWatcher (0x7f088da8e540) 0
+ vptr=((& QFileSystemWatcher::_ZTV18QFileSystemWatcher) + 16u)
+ QObject (0x7f088da8e5b0) 0
+ primary-for QFileSystemWatcher (0x7f088da8e540)
+
+Vtable for QFSFileEngine
+QFSFileEngine::_ZTV13QFSFileEngine: 36u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QFSFileEngine)
+16 QFSFileEngine::~QFSFileEngine
+24 QFSFileEngine::~QFSFileEngine
+32 QFSFileEngine::open
+40 QFSFileEngine::close
+48 QFSFileEngine::flush
+56 QFSFileEngine::size
+64 QFSFileEngine::pos
+72 QFSFileEngine::seek
+80 QFSFileEngine::isSequential
+88 QFSFileEngine::remove
+96 QFSFileEngine::copy
+104 QFSFileEngine::rename
+112 QFSFileEngine::link
+120 QFSFileEngine::mkdir
+128 QFSFileEngine::rmdir
+136 QFSFileEngine::setSize
+144 QFSFileEngine::caseSensitive
+152 QFSFileEngine::isRelativePath
+160 QFSFileEngine::entryList
+168 QFSFileEngine::fileFlags
+176 QFSFileEngine::setPermissions
+184 QFSFileEngine::fileName
+192 QFSFileEngine::ownerId
+200 QFSFileEngine::owner
+208 QFSFileEngine::fileTime
+216 QFSFileEngine::setFileName
+224 QFSFileEngine::handle
+232 QFSFileEngine::beginEntryList
+240 QFSFileEngine::endEntryList
+248 QFSFileEngine::read
+256 QFSFileEngine::readLine
+264 QFSFileEngine::write
+272 QFSFileEngine::extension
+280 QFSFileEngine::supportsExtension
+
+Class QFSFileEngine
+ size=16 align=8
+ base size=16 base align=8
+QFSFileEngine (0x7f088daa1a80) 0
+ vptr=((& QFSFileEngine::_ZTV13QFSFileEngine) + 16u)
+ QAbstractFileEngine (0x7f088daa1af0) 0
+ primary-for QFSFileEngine (0x7f088daa1a80)
+
+Class QSharedData
+ size=4 align=4
+ base size=4 base align=4
+QSharedData (0x7f088dab0e70) 0
+
+Class QProcessEnvironment
+ size=8 align=8
+ base size=8 base align=8
+QProcessEnvironment (0x7f088dafb1c0) 0
+
+Vtable for QProcess
+QProcess::_ZTV8QProcess: 31u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI8QProcess)
+16 QProcess::metaObject
+24 QProcess::qt_metacast
+32 QProcess::qt_metacall
+40 QProcess::~QProcess
+48 QProcess::~QProcess
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QProcess::isSequential
+120 QIODevice::open
+128 QProcess::close
+136 QIODevice::pos
+144 QIODevice::size
+152 QIODevice::seek
+160 QProcess::atEnd
+168 QIODevice::reset
+176 QProcess::bytesAvailable
+184 QProcess::bytesToWrite
+192 QProcess::canReadLine
+200 QProcess::waitForReadyRead
+208 QProcess::waitForBytesWritten
+216 QProcess::readData
+224 QIODevice::readLineData
+232 QProcess::writeData
+240 QProcess::setupChildProcess
+
+Class QProcess
+ size=16 align=8
+ base size=16 base align=8
+QProcess (0x7f088dafbcb0) 0
+ vptr=((& QProcess::_ZTV8QProcess) + 16u)
+ QIODevice (0x7f088dafbd20) 0
+ primary-for QProcess (0x7f088dafbcb0)
+ QObject (0x7f088dafbd90) 0
+ primary-for QIODevice (0x7f088dafbd20)
+
+Class QResource
+ size=8 align=8
+ base size=8 base align=8
+QResource (0x7f088db411c0) 0
+
+Class QMetaType
+ size=1 align=1
+ base size=0 base align=1
+QMetaType (0x7f088db41e70) 0 empty
+
+Class QVariant::PrivateShared
+ size=16 align=8
+ base size=12 base align=8
+QVariant::PrivateShared (0x7f088da3f700) 0
+
+Class QVariant::Private::Data
+ size=8 align=8
+ base size=8 base align=8
+QVariant::Private::Data (0x7f088da3fa10) 0
+
+Class QVariant::Private
+ size=16 align=8
+ base size=12 base align=8
+QVariant::Private (0x7f088da3f7e0) 0
+
+Class QVariant::Handler
+ size=72 align=8
+ base size=72 base align=8
+QVariant::Handler (0x7f088da4f700) 0
+
+Class QVariant
+ size=16 align=8
+ base size=16 base align=8
+QVariant (0x7f088da0f7e0) 0
+
+Class QVariantComparisonHelper
+ size=8 align=8
+ base size=8 base align=8
+QVariantComparisonHelper (0x7f088d9009a0) 0
+
+Vtable for QSettings
+QSettings::_ZTV9QSettings: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QSettings)
+16 QSettings::metaObject
+24 QSettings::qt_metacast
+32 QSettings::qt_metacall
+40 QSettings::~QSettings
+48 QSettings::~QSettings
+56 QSettings::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QSettings
+ size=16 align=8
+ base size=16 base align=8
+QSettings (0x7f088d926ee0) 0
+ vptr=((& QSettings::_ZTV9QSettings) + 16u)
+ QObject (0x7f088d926f50) 0
+ primary-for QSettings (0x7f088d926ee0)
+
+Vtable for QTemporaryFile
+QTemporaryFile::_ZTV14QTemporaryFile: 31u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QTemporaryFile)
+16 QTemporaryFile::metaObject
+24 QTemporaryFile::qt_metacast
+32 QTemporaryFile::qt_metacall
+40 QTemporaryFile::~QTemporaryFile
+48 QTemporaryFile::~QTemporaryFile
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QFile::isSequential
+120 QTemporaryFile::open
+128 QFile::close
+136 QFile::pos
+144 QFile::size
+152 QFile::seek
+160 QFile::atEnd
+168 QIODevice::reset
+176 QIODevice::bytesAvailable
+184 QIODevice::bytesToWrite
+192 QIODevice::canReadLine
+200 QIODevice::waitForReadyRead
+208 QIODevice::waitForBytesWritten
+216 QFile::readData
+224 QFile::readLineData
+232 QFile::writeData
+240 QTemporaryFile::fileEngine
+
+Class QTemporaryFile
+ size=16 align=8
+ base size=16 base align=8
+QTemporaryFile (0x7f088d7a82a0) 0
+ vptr=((& QTemporaryFile::_ZTV14QTemporaryFile) + 16u)
+ QFile (0x7f088d7a8310) 0
+ primary-for QTemporaryFile (0x7f088d7a82a0)
+ QIODevice (0x7f088d7a8380) 0
+ primary-for QFile (0x7f088d7a8310)
+ QObject (0x7f088d7a83f0) 0
+ primary-for QIODevice (0x7f088d7a8380)
+
+Class QUrl
+ size=8 align=8
+ base size=8 base align=8
+QUrl (0x7f088d7c49a0) 0
+
+Class QXmlStreamStringRef
+ size=16 align=8
+ base size=16 base align=8
+QXmlStreamStringRef (0x7f088d852070) 0
+
+Class QXmlStreamAttribute
+ size=80 align=8
+ base size=73 base align=8
+QXmlStreamAttribute (0x7f088d66d850) 0
+
+Class QXmlStreamAttributes
+ size=8 align=8
+ base size=8 base align=8
+QXmlStreamAttributes (0x7f088d695310) 0
+ QVector<QXmlStreamAttribute> (0x7f088d695380) 0
+
+Class QXmlStreamNamespaceDeclaration
+ size=40 align=8
+ base size=40 base align=8
+QXmlStreamNamespaceDeclaration (0x7f088d6957e0) 0
+
+Class QXmlStreamNotationDeclaration
+ size=56 align=8
+ base size=56 base align=8
+QXmlStreamNotationDeclaration (0x7f088d6d61c0) 0
+
+Class QXmlStreamEntityDeclaration
+ size=88 align=8
+ base size=88 base align=8
+QXmlStreamEntityDeclaration (0x7f088d6f4070) 0
+
+Vtable for QXmlStreamEntityResolver
+QXmlStreamEntityResolver::_ZTV24QXmlStreamEntityResolver: 6u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI24QXmlStreamEntityResolver)
+16 QXmlStreamEntityResolver::~QXmlStreamEntityResolver
+24 QXmlStreamEntityResolver::~QXmlStreamEntityResolver
+32 QXmlStreamEntityResolver::resolveEntity
+40 QXmlStreamEntityResolver::resolveUndeclaredEntity
+
+Class QXmlStreamEntityResolver
+ size=8 align=8
+ base size=8 base align=8
+QXmlStreamEntityResolver (0x7f088d7119a0) 0 nearly-empty
+ vptr=((& QXmlStreamEntityResolver::_ZTV24QXmlStreamEntityResolver) + 16u)
+
+Class QXmlStreamReader
+ size=8 align=8
+ base size=8 base align=8
+QXmlStreamReader (0x7f088d711b60) 0
+
+Class QXmlStreamWriter
+ size=8 align=8
+ base size=8 base align=8
+QXmlStreamWriter (0x7f088d559c40) 0
+
+Vtable for QAbstractState
+QAbstractState::_ZTV14QAbstractState: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QAbstractState)
+16 QAbstractState::metaObject
+24 QAbstractState::qt_metacast
+32 QAbstractState::qt_metacall
+40 QAbstractState::~QAbstractState
+48 QAbstractState::~QAbstractState
+56 QAbstractState::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+
+Class QAbstractState
+ size=16 align=8
+ base size=16 base align=8
+QAbstractState (0x7f088d56ea80) 0
+ vptr=((& QAbstractState::_ZTV14QAbstractState) + 16u)
+ QObject (0x7f088d56eaf0) 0
+ primary-for QAbstractState (0x7f088d56ea80)
+
+Vtable for QAbstractTransition
+QAbstractTransition::_ZTV19QAbstractTransition: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QAbstractTransition)
+16 QAbstractTransition::metaObject
+24 QAbstractTransition::qt_metacast
+32 QAbstractTransition::qt_metacall
+40 QAbstractTransition::~QAbstractTransition
+48 QAbstractTransition::~QAbstractTransition
+56 QAbstractTransition::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+
+Class QAbstractTransition
+ size=16 align=8
+ base size=16 base align=8
+QAbstractTransition (0x7f088d5952a0) 0
+ vptr=((& QAbstractTransition::_ZTV19QAbstractTransition) + 16u)
+ QObject (0x7f088d595310) 0
+ primary-for QAbstractTransition (0x7f088d5952a0)
+
+Vtable for QEvent
+QEvent::_ZTV6QEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI6QEvent)
+16 QEvent::~QEvent
+24 QEvent::~QEvent
+
+Class QEvent
+ size=24 align=8
+ base size=20 base align=8
+QEvent (0x7f088d5a8af0) 0
+ vptr=((& QEvent::_ZTV6QEvent) + 16u)
+
+Vtable for QTimerEvent
+QTimerEvent::_ZTV11QTimerEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QTimerEvent)
+16 QTimerEvent::~QTimerEvent
+24 QTimerEvent::~QTimerEvent
+
+Class QTimerEvent
+ size=24 align=8
+ base size=24 base align=8
+QTimerEvent (0x7f088d5cb700) 0
+ vptr=((& QTimerEvent::_ZTV11QTimerEvent) + 16u)
+ QEvent (0x7f088d5cb770) 0
+ primary-for QTimerEvent (0x7f088d5cb700)
+
+Vtable for QChildEvent
+QChildEvent::_ZTV11QChildEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QChildEvent)
+16 QChildEvent::~QChildEvent
+24 QChildEvent::~QChildEvent
+
+Class QChildEvent
+ size=32 align=8
+ base size=32 base align=8
+QChildEvent (0x7f088d5cbb60) 0
+ vptr=((& QChildEvent::_ZTV11QChildEvent) + 16u)
+ QEvent (0x7f088d5cbbd0) 0
+ primary-for QChildEvent (0x7f088d5cbb60)
+
+Vtable for QCustomEvent
+QCustomEvent::_ZTV12QCustomEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QCustomEvent)
+16 QCustomEvent::~QCustomEvent
+24 QCustomEvent::~QCustomEvent
+
+Class QCustomEvent
+ size=24 align=8
+ base size=20 base align=8
+QCustomEvent (0x7f088d5d4e00) 0
+ vptr=((& QCustomEvent::_ZTV12QCustomEvent) + 16u)
+ QEvent (0x7f088d5d4e70) 0
+ primary-for QCustomEvent (0x7f088d5d4e00)
+
+Vtable for QDynamicPropertyChangeEvent
+QDynamicPropertyChangeEvent::_ZTV27QDynamicPropertyChangeEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI27QDynamicPropertyChangeEvent)
+16 QDynamicPropertyChangeEvent::~QDynamicPropertyChangeEvent
+24 QDynamicPropertyChangeEvent::~QDynamicPropertyChangeEvent
+
+Class QDynamicPropertyChangeEvent
+ size=32 align=8
+ base size=32 base align=8
+QDynamicPropertyChangeEvent (0x7f088d5e5620) 0
+ vptr=((& QDynamicPropertyChangeEvent::_ZTV27QDynamicPropertyChangeEvent) + 16u)
+ QEvent (0x7f088d5e5690) 0
+ primary-for QDynamicPropertyChangeEvent (0x7f088d5e5620)
+
+Vtable for QEventTransition
+QEventTransition::_ZTV16QEventTransition: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QEventTransition)
+16 QEventTransition::metaObject
+24 QEventTransition::qt_metacast
+32 QEventTransition::qt_metacall
+40 QEventTransition::~QEventTransition
+48 QEventTransition::~QEventTransition
+56 QEventTransition::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QEventTransition::eventTest
+120 QEventTransition::onTransition
+
+Class QEventTransition
+ size=16 align=8
+ base size=16 base align=8
+QEventTransition (0x7f088d5e5af0) 0
+ vptr=((& QEventTransition::_ZTV16QEventTransition) + 16u)
+ QAbstractTransition (0x7f088d5e5b60) 0
+ primary-for QEventTransition (0x7f088d5e5af0)
+ QObject (0x7f088d5e5bd0) 0
+ primary-for QAbstractTransition (0x7f088d5e5b60)
+
+Vtable for QFinalState
+QFinalState::_ZTV11QFinalState: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QFinalState)
+16 QFinalState::metaObject
+24 QFinalState::qt_metacast
+32 QFinalState::qt_metacall
+40 QFinalState::~QFinalState
+48 QFinalState::~QFinalState
+56 QFinalState::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QFinalState::onEntry
+120 QFinalState::onExit
+
+Class QFinalState
+ size=16 align=8
+ base size=16 base align=8
+QFinalState (0x7f088d6019a0) 0
+ vptr=((& QFinalState::_ZTV11QFinalState) + 16u)
+ QAbstractState (0x7f088d601a10) 0
+ primary-for QFinalState (0x7f088d6019a0)
+ QObject (0x7f088d601a80) 0
+ primary-for QAbstractState (0x7f088d601a10)
+
+Vtable for QHistoryState
+QHistoryState::_ZTV13QHistoryState: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QHistoryState)
+16 QHistoryState::metaObject
+24 QHistoryState::qt_metacast
+32 QHistoryState::qt_metacall
+40 QHistoryState::~QHistoryState
+48 QHistoryState::~QHistoryState
+56 QHistoryState::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QHistoryState::onEntry
+120 QHistoryState::onExit
+
+Class QHistoryState
+ size=16 align=8
+ base size=16 base align=8
+QHistoryState (0x7f088d61b230) 0
+ vptr=((& QHistoryState::_ZTV13QHistoryState) + 16u)
+ QAbstractState (0x7f088d61b2a0) 0
+ primary-for QHistoryState (0x7f088d61b230)
+ QObject (0x7f088d61b310) 0
+ primary-for QAbstractState (0x7f088d61b2a0)
+
+Vtable for QSignalTransition
+QSignalTransition::_ZTV17QSignalTransition: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QSignalTransition)
+16 QSignalTransition::metaObject
+24 QSignalTransition::qt_metacast
+32 QSignalTransition::qt_metacall
+40 QSignalTransition::~QSignalTransition
+48 QSignalTransition::~QSignalTransition
+56 QSignalTransition::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QSignalTransition::eventTest
+120 QSignalTransition::onTransition
+
+Class QSignalTransition
+ size=16 align=8
+ base size=16 base align=8
+QSignalTransition (0x7f088d62af50) 0
+ vptr=((& QSignalTransition::_ZTV17QSignalTransition) + 16u)
+ QAbstractTransition (0x7f088d633000) 0
+ primary-for QSignalTransition (0x7f088d62af50)
+ QObject (0x7f088d633070) 0
+ primary-for QAbstractTransition (0x7f088d633000)
+
+Vtable for QState
+QState::_ZTV6QState: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI6QState)
+16 QState::metaObject
+24 QState::qt_metacast
+32 QState::qt_metacall
+40 QState::~QState
+48 QState::~QState
+56 QState::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QState::onEntry
+120 QState::onExit
+
+Class QState
+ size=16 align=8
+ base size=16 base align=8
+QState (0x7f088d647af0) 0
+ vptr=((& QState::_ZTV6QState) + 16u)
+ QAbstractState (0x7f088d647b60) 0
+ primary-for QState (0x7f088d647af0)
+ QObject (0x7f088d647bd0) 0
+ primary-for QAbstractState (0x7f088d647b60)
+
+Vtable for QStateMachine::SignalEvent
+QStateMachine::SignalEvent::_ZTVN13QStateMachine11SignalEventE: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN13QStateMachine11SignalEventE)
+16 QStateMachine::SignalEvent::~SignalEvent
+24 QStateMachine::SignalEvent::~SignalEvent
+
+Class QStateMachine::SignalEvent
+ size=48 align=8
+ base size=48 base align=8
+QStateMachine::SignalEvent (0x7f088d46a150) 0
+ vptr=((& QStateMachine::SignalEvent::_ZTVN13QStateMachine11SignalEventE) + 16u)
+ QEvent (0x7f088d46a1c0) 0
+ primary-for QStateMachine::SignalEvent (0x7f088d46a150)
+
+Vtable for QStateMachine::WrappedEvent
+QStateMachine::WrappedEvent::_ZTVN13QStateMachine12WrappedEventE: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN13QStateMachine12WrappedEventE)
+16 QStateMachine::WrappedEvent::~WrappedEvent
+24 QStateMachine::WrappedEvent::~WrappedEvent
+
+Class QStateMachine::WrappedEvent
+ size=40 align=8
+ base size=40 base align=8
+QStateMachine::WrappedEvent (0x7f088d46a700) 0
+ vptr=((& QStateMachine::WrappedEvent::_ZTVN13QStateMachine12WrappedEventE) + 16u)
+ QEvent (0x7f088d46a770) 0
+ primary-for QStateMachine::WrappedEvent (0x7f088d46a700)
+
+Vtable for QStateMachine
+QStateMachine::_ZTV13QStateMachine: 20u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QStateMachine)
+16 QStateMachine::metaObject
+24 QStateMachine::qt_metacast
+32 QStateMachine::qt_metacall
+40 QStateMachine::~QStateMachine
+48 QStateMachine::~QStateMachine
+56 QStateMachine::event
+64 QStateMachine::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QStateMachine::onEntry
+120 QStateMachine::onExit
+128 QStateMachine::beginSelectTransitions
+136 QStateMachine::endSelectTransitions
+144 QStateMachine::beginMicrostep
+152 QStateMachine::endMicrostep
+
+Class QStateMachine
+ size=16 align=8
+ base size=16 base align=8
+QStateMachine (0x7f088d462ee0) 0
+ vptr=((& QStateMachine::_ZTV13QStateMachine) + 16u)
+ QState (0x7f088d462f50) 0
+ primary-for QStateMachine (0x7f088d462ee0)
+ QAbstractState (0x7f088d46a000) 0
+ primary-for QState (0x7f088d462f50)
+ QObject (0x7f088d46a070) 0
+ primary-for QAbstractState (0x7f088d46a000)
+
+Class QBitArray
+ size=8 align=8
+ base size=8 base align=8
+QBitArray (0x7f088d49b150) 0
+
+Class QBitRef
+ size=16 align=8
+ base size=12 base align=8
+QBitRef (0x7f088d4f2e00) 0
+
+Class QByteArrayMatcher::Data
+ size=272 align=8
+ base size=272 base align=8
+QByteArrayMatcher::Data (0x7f088d505af0) 0
+
+Class QByteArrayMatcher
+ size=1040 align=8
+ base size=1040 base align=8
+QByteArrayMatcher (0x7f088d5054d0) 0
+
+Class QCryptographicHash
+ size=8 align=8
+ base size=8 base align=8
+QCryptographicHash (0x7f088d53b150) 0
+
+Vtable for QtSharedPointer::ExternalRefCountData
+QtSharedPointer::ExternalRefCountData::_ZTVN15QtSharedPointer20ExternalRefCountDataE: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN15QtSharedPointer20ExternalRefCountDataE)
+16 QtSharedPointer::ExternalRefCountData::~ExternalRefCountData
+24 QtSharedPointer::ExternalRefCountData::~ExternalRefCountData
+32 QtSharedPointer::ExternalRefCountData::destroy
+
+Class QtSharedPointer::ExternalRefCountData
+ size=16 align=8
+ base size=16 base align=8
+QtSharedPointer::ExternalRefCountData (0x7f088d366070) 0
+ vptr=((& QtSharedPointer::ExternalRefCountData::_ZTVN15QtSharedPointer20ExternalRefCountDataE) + 16u)
+
+Vtable for QtSharedPointer::ExternalRefCountWithDestroyFn
+QtSharedPointer::ExternalRefCountWithDestroyFn::_ZTVN15QtSharedPointer29ExternalRefCountWithDestroyFnE: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN15QtSharedPointer29ExternalRefCountWithDestroyFnE)
+16 QtSharedPointer::ExternalRefCountWithDestroyFn::~ExternalRefCountWithDestroyFn
+24 QtSharedPointer::ExternalRefCountWithDestroyFn::~ExternalRefCountWithDestroyFn
+32 QtSharedPointer::ExternalRefCountWithDestroyFn::destroy
+
+Class QtSharedPointer::ExternalRefCountWithDestroyFn
+ size=24 align=8
+ base size=24 base align=8
+QtSharedPointer::ExternalRefCountWithDestroyFn (0x7f088d37f930) 0
+ vptr=((& QtSharedPointer::ExternalRefCountWithDestroyFn::_ZTVN15QtSharedPointer29ExternalRefCountWithDestroyFnE) + 16u)
+ QtSharedPointer::ExternalRefCountData (0x7f088d37f9a0) 0
+ primary-for QtSharedPointer::ExternalRefCountWithDestroyFn (0x7f088d37f930)
+
+Class QDate
+ size=4 align=4
+ base size=4 base align=4
+QDate (0x7f088d4045b0) 0
+
+Class QTime
+ size=4 align=4
+ base size=4 base align=4
+QTime (0x7f088d435540) 0
+
+Class QDateTime
+ size=8 align=8
+ base size=8 base align=8
+QDateTime (0x7f088d451af0) 0
+
+Class QEasingCurve
+ size=8 align=8
+ base size=8 base align=8
+QEasingCurve (0x7f088d297000) 0
+
+Class QPoint
+ size=8 align=4
+ base size=8 base align=4
+QPoint (0x7f088d297ee0) 0
+
+Class QPointF
+ size=16 align=8
+ base size=16 base align=8
+QPointF (0x7f088d2daaf0) 0
+
+Class QLine
+ size=16 align=4
+ base size=16 base align=4
+QLine (0x7f088d318af0) 0
+
+Class QLineF
+ size=32 align=8
+ base size=32 base align=8
+QLineF (0x7f088d3549a0) 0
+
+Class QLinkedListData
+ size=32 align=8
+ base size=32 base align=8
+QLinkedListData (0x7f088d1a9460) 0
+
+Class QMargins
+ size=16 align=4
+ base size=16 base align=4
+QMargins (0x7f088d067380) 0
+
+Class QSize
+ size=8 align=4
+ base size=8 base align=4
+QSize (0x7f088d096150) 0
+
+Class QSizeF
+ size=16 align=8
+ base size=16 base align=8
+QSizeF (0x7f088d0d5e00) 0
+
+Class QRect
+ size=16 align=4
+ base size=16 base align=4
+QRect (0x7f088d12b380) 0
+
+Class QRectF
+ size=32 align=8
+ base size=32 base align=8
+QRectF (0x7f088cfd7d20) 0
+
+Class QLatin1Literal
+ size=16 align=8
+ base size=16 base align=8
+QLatin1Literal (0x7f088ce85ee0) 0
+
+Class QAbstractConcatenable
+ size=1 align=1
+ base size=0 base align=1
+QAbstractConcatenable (0x7f088ce973f0) 0 empty
+
+Class QTextBoundaryFinder
+ size=48 align=8
+ base size=48 base align=8
+QTextBoundaryFinder (0x7f088cece380) 0
+
+Vtable for QTimeLine
+QTimeLine::_ZTV9QTimeLine: 15u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QTimeLine)
+16 QTimeLine::metaObject
+24 QTimeLine::qt_metacast
+32 QTimeLine::qt_metacall
+40 QTimeLine::~QTimeLine
+48 QTimeLine::~QTimeLine
+56 QObject::event
+64 QObject::eventFilter
+72 QTimeLine::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QTimeLine::valueForTime
+
+Class QTimeLine
+ size=16 align=8
+ base size=16 base align=8
+QTimeLine (0x7f088cedf700) 0
+ vptr=((& QTimeLine::_ZTV9QTimeLine) + 16u)
+ QObject (0x7f088cedf770) 0
+ primary-for QTimeLine (0x7f088cedf700)
+
+Vtable for QRunnable
+QRunnable::_ZTV9QRunnable: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QRunnable)
+16 __cxa_pure_virtual
+24 QRunnable::~QRunnable
+32 QRunnable::~QRunnable
+
+Class QRunnable
+ size=16 align=8
+ base size=12 base align=8
+QRunnable (0x7f088cf06f50) 0
+ vptr=((& QRunnable::_ZTV9QRunnable) + 16u)
+
+Class QMutex
+ size=8 align=8
+ base size=8 base align=8
+QMutex (0x7f088cf3d620) 0
+
+Class QMutexLocker
+ size=8 align=8
+ base size=8 base align=8
+QMutexLocker (0x7f088cf4b1c0) 0
+
+Vtable for QtConcurrent::Exception
+QtConcurrent::Exception::_ZTVN12QtConcurrent9ExceptionE: 7u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN12QtConcurrent9ExceptionE)
+16 QtConcurrent::Exception::~Exception
+24 QtConcurrent::Exception::~Exception
+32 std::exception::what
+40 QtConcurrent::Exception::raise
+48 QtConcurrent::Exception::clone
+
+Class QtConcurrent::Exception
+ size=8 align=8
+ base size=8 base align=8
+QtConcurrent::Exception (0x7f088cd614d0) 0 nearly-empty
+ vptr=((& QtConcurrent::Exception::_ZTVN12QtConcurrent9ExceptionE) + 16u)
+ std::exception (0x7f088cd61540) 0 nearly-empty
+ primary-for QtConcurrent::Exception (0x7f088cd614d0)
+
+Vtable for QtConcurrent::UnhandledException
+QtConcurrent::UnhandledException::_ZTVN12QtConcurrent18UnhandledExceptionE: 7u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN12QtConcurrent18UnhandledExceptionE)
+16 QtConcurrent::UnhandledException::~UnhandledException
+24 QtConcurrent::UnhandledException::~UnhandledException
+32 std::exception::what
+40 QtConcurrent::UnhandledException::raise
+48 QtConcurrent::UnhandledException::clone
+
+Class QtConcurrent::UnhandledException
+ size=8 align=8
+ base size=8 base align=8
+QtConcurrent::UnhandledException (0x7f088cd61770) 0 nearly-empty
+ vptr=((& QtConcurrent::UnhandledException::_ZTVN12QtConcurrent18UnhandledExceptionE) + 16u)
+ QtConcurrent::Exception (0x7f088cd617e0) 0 nearly-empty
+ primary-for QtConcurrent::UnhandledException (0x7f088cd61770)
+ std::exception (0x7f088cd61850) 0 nearly-empty
+ primary-for QtConcurrent::Exception (0x7f088cd617e0)
+
+Class QtConcurrent::internal::ExceptionHolder
+ size=8 align=8
+ base size=8 base align=8
+QtConcurrent::internal::ExceptionHolder (0x7f088cd61a80) 0
+
+Class QtConcurrent::internal::ExceptionStore
+ size=8 align=8
+ base size=8 base align=8
+QtConcurrent::internal::ExceptionStore (0x7f088cd61e00) 0
+
+Class QtConcurrent::ResultItem
+ size=16 align=8
+ base size=16 base align=8
+QtConcurrent::ResultItem (0x7f088cd61e70) 0
+
+Class QtConcurrent::ResultIteratorBase
+ size=16 align=8
+ base size=12 base align=8
+QtConcurrent::ResultIteratorBase (0x7f088cd7bd90) 0
+
+Vtable for QtConcurrent::ResultStoreBase
+QtConcurrent::ResultStoreBase::_ZTVN12QtConcurrent15ResultStoreBaseE: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN12QtConcurrent15ResultStoreBaseE)
+16 QtConcurrent::ResultStoreBase::~ResultStoreBase
+24 QtConcurrent::ResultStoreBase::~ResultStoreBase
+
+Class QtConcurrent::ResultStoreBase
+ size=48 align=8
+ base size=44 base align=8
+QtConcurrent::ResultStoreBase (0x7f088cd7f930) 0
+ vptr=((& QtConcurrent::ResultStoreBase::_ZTVN12QtConcurrent15ResultStoreBaseE) + 16u)
+
+Vtable for QFutureInterfaceBase
+QFutureInterfaceBase::_ZTV20QFutureInterfaceBase: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI20QFutureInterfaceBase)
+16 QFutureInterfaceBase::~QFutureInterfaceBase
+24 QFutureInterfaceBase::~QFutureInterfaceBase
+
+Class QFutureInterfaceBase
+ size=16 align=8
+ base size=16 base align=8
+QFutureInterfaceBase (0x7f088cdbdd90) 0
+ vptr=((& QFutureInterfaceBase::_ZTV20QFutureInterfaceBase) + 16u)
+
+Vtable for QFutureWatcherBase
+QFutureWatcherBase::_ZTV18QFutureWatcherBase: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QFutureWatcherBase)
+16 QFutureWatcherBase::metaObject
+24 QFutureWatcherBase::qt_metacast
+32 QFutureWatcherBase::qt_metacall
+40 QFutureWatcherBase::~QFutureWatcherBase
+48 QFutureWatcherBase::~QFutureWatcherBase
+56 QFutureWatcherBase::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QFutureWatcherBase::connectNotify
+104 QFutureWatcherBase::disconnectNotify
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+
+Class QFutureWatcherBase
+ size=16 align=8
+ base size=16 base align=8
+QFutureWatcherBase (0x7f088cca3690) 0
+ vptr=((& QFutureWatcherBase::_ZTV18QFutureWatcherBase) + 16u)
+ QObject (0x7f088cca3700) 0
+ primary-for QFutureWatcherBase (0x7f088cca3690)
+
+Vtable for QThread
+QThread::_ZTV7QThread: 15u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QThread)
+16 QThread::metaObject
+24 QThread::qt_metacast
+32 QThread::qt_metacall
+40 QThread::~QThread
+48 QThread::~QThread
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QThread::run
+
+Class QThread
+ size=16 align=8
+ base size=16 base align=8
+QThread (0x7f088ccf5a80) 0
+ vptr=((& QThread::_ZTV7QThread) + 16u)
+ QObject (0x7f088ccf5af0) 0
+ primary-for QThread (0x7f088ccf5a80)
+
+Vtable for QThreadPool
+QThreadPool::_ZTV11QThreadPool: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QThreadPool)
+16 QThreadPool::metaObject
+24 QThreadPool::qt_metacast
+32 QThreadPool::qt_metacall
+40 QThreadPool::~QThreadPool
+48 QThreadPool::~QThreadPool
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QThreadPool
+ size=16 align=8
+ base size=16 base align=8
+QThreadPool (0x7f088cd1b930) 0
+ vptr=((& QThreadPool::_ZTV11QThreadPool) + 16u)
+ QObject (0x7f088cd1b9a0) 0
+ primary-for QThreadPool (0x7f088cd1b930)
+
+Class QWaitCondition
+ size=8 align=8
+ base size=8 base align=8
+QWaitCondition (0x7f088cd2cee0) 0
+
+Class QSemaphore
+ size=8 align=8
+ base size=8 base align=8
+QSemaphore (0x7f088cd35460) 0
+
+Class QtConcurrent::ThreadEngineBarrier
+ size=24 align=8
+ base size=24 base align=8
+QtConcurrent::ThreadEngineBarrier (0x7f088cd359a0) 0
+
+Vtable for QtConcurrent::ThreadEngineBase
+QtConcurrent::ThreadEngineBase::_ZTVN12QtConcurrent16ThreadEngineBaseE: 11u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN12QtConcurrent16ThreadEngineBaseE)
+16 QtConcurrent::ThreadEngineBase::run
+24 QtConcurrent::ThreadEngineBase::~ThreadEngineBase
+32 QtConcurrent::ThreadEngineBase::~ThreadEngineBase
+40 QtConcurrent::ThreadEngineBase::start
+48 QtConcurrent::ThreadEngineBase::finish
+56 QtConcurrent::ThreadEngineBase::threadFunction
+64 QtConcurrent::ThreadEngineBase::shouldStartThread
+72 QtConcurrent::ThreadEngineBase::shouldThrottleThread
+80 __cxa_pure_virtual
+
+Class QtConcurrent::ThreadEngineBase
+ size=64 align=8
+ base size=64 base align=8
+QtConcurrent::ThreadEngineBase (0x7f088cd35a80) 0
+ vptr=((& QtConcurrent::ThreadEngineBase::_ZTVN12QtConcurrent16ThreadEngineBaseE) + 16u)
+ QRunnable (0x7f088cd35af0) 0
+ primary-for QtConcurrent::ThreadEngineBase (0x7f088cd35a80)
+
+VTT for QtConcurrent::ThreadEngine<void>
+QtConcurrent::ThreadEngine<void>::_ZTTN12QtConcurrent12ThreadEngineIvEE: 2u entries
+0 ((& QtConcurrent::ThreadEngine<void>::_ZTVN12QtConcurrent12ThreadEngineIvEE) + 24u)
+8 ((& QtConcurrent::ThreadEngine<void>::_ZTVN12QtConcurrent12ThreadEngineIvEE) + 136u)
+
+Class QtConcurrent::BlockSizeManager
+ size=96 align=8
+ base size=92 base align=8
+QtConcurrent::BlockSizeManager (0x7f088cb82ee0) 0
+
+Vtable for QFactoryInterface
+QFactoryInterface::_ZTV17QFactoryInterface: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QFactoryInterface)
+16 QFactoryInterface::~QFactoryInterface
+24 QFactoryInterface::~QFactoryInterface
+32 __cxa_pure_virtual
+
+Class QFactoryInterface
+ size=8 align=8
+ base size=8 base align=8
+QFactoryInterface (0x7f088c825d20) 0 nearly-empty
+ vptr=((& QFactoryInterface::_ZTV17QFactoryInterface) + 16u)
+
+Vtable for QTextCodecFactoryInterface
+QTextCodecFactoryInterface::_ZTV26QTextCodecFactoryInterface: 6u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI26QTextCodecFactoryInterface)
+16 QTextCodecFactoryInterface::~QTextCodecFactoryInterface
+24 QTextCodecFactoryInterface::~QTextCodecFactoryInterface
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+
+Class QTextCodecFactoryInterface
+ size=8 align=8
+ base size=8 base align=8
+QTextCodecFactoryInterface (0x7f088c657000) 0 nearly-empty
+ vptr=((& QTextCodecFactoryInterface::_ZTV26QTextCodecFactoryInterface) + 16u)
+ QFactoryInterface (0x7f088c657070) 0 nearly-empty
+ primary-for QTextCodecFactoryInterface (0x7f088c657000)
+
+Vtable for QTextCodecPlugin
+QTextCodecPlugin::_ZTV16QTextCodecPlugin: 27u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QTextCodecPlugin)
+16 QTextCodecPlugin::metaObject
+24 QTextCodecPlugin::qt_metacast
+32 QTextCodecPlugin::qt_metacall
+40 QTextCodecPlugin::~QTextCodecPlugin
+48 QTextCodecPlugin::~QTextCodecPlugin
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 __cxa_pure_virtual
+136 __cxa_pure_virtual
+144 __cxa_pure_virtual
+152 QTextCodecPlugin::keys
+160 QTextCodecPlugin::create
+168 (int (*)(...))-0x00000000000000010
+176 (int (*)(...))(& _ZTI16QTextCodecPlugin)
+184 QTextCodecPlugin::_ZThn16_N16QTextCodecPluginD1Ev
+192 QTextCodecPlugin::_ZThn16_N16QTextCodecPluginD0Ev
+200 QTextCodecPlugin::_ZThn16_NK16QTextCodecPlugin4keysEv
+208 QTextCodecPlugin::_ZThn16_N16QTextCodecPlugin6createERK7QString
+
+Class QTextCodecPlugin
+ size=24 align=8
+ base size=24 base align=8
+QTextCodecPlugin (0x7f088c661580) 0
+ vptr=((& QTextCodecPlugin::_ZTV16QTextCodecPlugin) + 16u)
+ QObject (0x7f088c657a80) 0
+ primary-for QTextCodecPlugin (0x7f088c661580)
+ QTextCodecFactoryInterface (0x7f088c657af0) 16 nearly-empty
+ vptr=((& QTextCodecPlugin::_ZTV16QTextCodecPlugin) + 184u)
+ QFactoryInterface (0x7f088c657b60) 16 nearly-empty
+ primary-for QTextCodecFactoryInterface (0x7f088c657af0)
+
+Class QLibraryInfo
+ size=1 align=1
+ base size=0 base align=1
+QLibraryInfo (0x7f088c6ad150) 0 empty
+
+Vtable for QEventLoop
+QEventLoop::_ZTV10QEventLoop: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QEventLoop)
+16 QEventLoop::metaObject
+24 QEventLoop::qt_metacast
+32 QEventLoop::qt_metacall
+40 QEventLoop::~QEventLoop
+48 QEventLoop::~QEventLoop
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QEventLoop
+ size=16 align=8
+ base size=16 base align=8
+QEventLoop (0x7f088c6ad2a0) 0
+ vptr=((& QEventLoop::_ZTV10QEventLoop) + 16u)
+ QObject (0x7f088c6ad310) 0
+ primary-for QEventLoop (0x7f088c6ad2a0)
+
+Vtable for QAbstractEventDispatcher
+QAbstractEventDispatcher::_ZTV24QAbstractEventDispatcher: 27u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI24QAbstractEventDispatcher)
+16 QAbstractEventDispatcher::metaObject
+24 QAbstractEventDispatcher::qt_metacast
+32 QAbstractEventDispatcher::qt_metacall
+40 QAbstractEventDispatcher::~QAbstractEventDispatcher
+48 QAbstractEventDispatcher::~QAbstractEventDispatcher
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 __cxa_pure_virtual
+136 __cxa_pure_virtual
+144 __cxa_pure_virtual
+152 __cxa_pure_virtual
+160 __cxa_pure_virtual
+168 __cxa_pure_virtual
+176 __cxa_pure_virtual
+184 __cxa_pure_virtual
+192 __cxa_pure_virtual
+200 QAbstractEventDispatcher::startingUp
+208 QAbstractEventDispatcher::closingDown
+
+Class QAbstractEventDispatcher
+ size=16 align=8
+ base size=16 base align=8
+QAbstractEventDispatcher (0x7f088c6e8bd0) 0
+ vptr=((& QAbstractEventDispatcher::_ZTV24QAbstractEventDispatcher) + 16u)
+ QObject (0x7f088c6e8c40) 0
+ primary-for QAbstractEventDispatcher (0x7f088c6e8bd0)
+
+Class QModelIndex
+ size=24 align=8
+ base size=24 base align=8
+QModelIndex (0x7f088c70ea80) 0
+
+Class QPersistentModelIndex
+ size=8 align=8
+ base size=8 base align=8
+QPersistentModelIndex (0x7f088c739540) 0
+
+Vtable for QAbstractItemModel
+QAbstractItemModel::_ZTV18QAbstractItemModel: 42u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QAbstractItemModel)
+16 QAbstractItemModel::metaObject
+24 QAbstractItemModel::qt_metacast
+32 QAbstractItemModel::qt_metacall
+40 QAbstractItemModel::~QAbstractItemModel
+48 QAbstractItemModel::~QAbstractItemModel
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 __cxa_pure_virtual
+136 __cxa_pure_virtual
+144 QAbstractItemModel::hasChildren
+152 __cxa_pure_virtual
+160 QAbstractItemModel::setData
+168 QAbstractItemModel::headerData
+176 QAbstractItemModel::setHeaderData
+184 QAbstractItemModel::itemData
+192 QAbstractItemModel::setItemData
+200 QAbstractItemModel::mimeTypes
+208 QAbstractItemModel::mimeData
+216 QAbstractItemModel::dropMimeData
+224 QAbstractItemModel::supportedDropActions
+232 QAbstractItemModel::insertRows
+240 QAbstractItemModel::insertColumns
+248 QAbstractItemModel::removeRows
+256 QAbstractItemModel::removeColumns
+264 QAbstractItemModel::fetchMore
+272 QAbstractItemModel::canFetchMore
+280 QAbstractItemModel::flags
+288 QAbstractItemModel::sort
+296 QAbstractItemModel::buddy
+304 QAbstractItemModel::match
+312 QAbstractItemModel::span
+320 QAbstractItemModel::submit
+328 QAbstractItemModel::revert
+
+Class QAbstractItemModel
+ size=16 align=8
+ base size=16 base align=8
+QAbstractItemModel (0x7f088c743850) 0
+ vptr=((& QAbstractItemModel::_ZTV18QAbstractItemModel) + 16u)
+ QObject (0x7f088c7438c0) 0
+ primary-for QAbstractItemModel (0x7f088c743850)
+
+Vtable for QAbstractTableModel
+QAbstractTableModel::_ZTV19QAbstractTableModel: 42u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QAbstractTableModel)
+16 QAbstractTableModel::metaObject
+24 QAbstractTableModel::qt_metacast
+32 QAbstractTableModel::qt_metacall
+40 QAbstractTableModel::~QAbstractTableModel
+48 QAbstractTableModel::~QAbstractTableModel
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QAbstractTableModel::index
+120 QAbstractTableModel::parent
+128 __cxa_pure_virtual
+136 __cxa_pure_virtual
+144 QAbstractTableModel::hasChildren
+152 __cxa_pure_virtual
+160 QAbstractItemModel::setData
+168 QAbstractItemModel::headerData
+176 QAbstractItemModel::setHeaderData
+184 QAbstractItemModel::itemData
+192 QAbstractItemModel::setItemData
+200 QAbstractItemModel::mimeTypes
+208 QAbstractItemModel::mimeData
+216 QAbstractTableModel::dropMimeData
+224 QAbstractItemModel::supportedDropActions
+232 QAbstractItemModel::insertRows
+240 QAbstractItemModel::insertColumns
+248 QAbstractItemModel::removeRows
+256 QAbstractItemModel::removeColumns
+264 QAbstractItemModel::fetchMore
+272 QAbstractItemModel::canFetchMore
+280 QAbstractItemModel::flags
+288 QAbstractItemModel::sort
+296 QAbstractItemModel::buddy
+304 QAbstractItemModel::match
+312 QAbstractItemModel::span
+320 QAbstractItemModel::submit
+328 QAbstractItemModel::revert
+
+Class QAbstractTableModel
+ size=16 align=8
+ base size=16 base align=8
+QAbstractTableModel (0x7f088c59eb60) 0
+ vptr=((& QAbstractTableModel::_ZTV19QAbstractTableModel) + 16u)
+ QAbstractItemModel (0x7f088c59ebd0) 0
+ primary-for QAbstractTableModel (0x7f088c59eb60)
+ QObject (0x7f088c59ec40) 0
+ primary-for QAbstractItemModel (0x7f088c59ebd0)
+
+Vtable for QAbstractListModel
+QAbstractListModel::_ZTV18QAbstractListModel: 42u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QAbstractListModel)
+16 QAbstractListModel::metaObject
+24 QAbstractListModel::qt_metacast
+32 QAbstractListModel::qt_metacall
+40 QAbstractListModel::~QAbstractListModel
+48 QAbstractListModel::~QAbstractListModel
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QAbstractListModel::index
+120 QAbstractListModel::parent
+128 __cxa_pure_virtual
+136 QAbstractListModel::columnCount
+144 QAbstractListModel::hasChildren
+152 __cxa_pure_virtual
+160 QAbstractItemModel::setData
+168 QAbstractItemModel::headerData
+176 QAbstractItemModel::setHeaderData
+184 QAbstractItemModel::itemData
+192 QAbstractItemModel::setItemData
+200 QAbstractItemModel::mimeTypes
+208 QAbstractItemModel::mimeData
+216 QAbstractListModel::dropMimeData
+224 QAbstractItemModel::supportedDropActions
+232 QAbstractItemModel::insertRows
+240 QAbstractItemModel::insertColumns
+248 QAbstractItemModel::removeRows
+256 QAbstractItemModel::removeColumns
+264 QAbstractItemModel::fetchMore
+272 QAbstractItemModel::canFetchMore
+280 QAbstractItemModel::flags
+288 QAbstractItemModel::sort
+296 QAbstractItemModel::buddy
+304 QAbstractItemModel::match
+312 QAbstractItemModel::span
+320 QAbstractItemModel::submit
+328 QAbstractItemModel::revert
+
+Class QAbstractListModel
+ size=16 align=8
+ base size=16 base align=8
+QAbstractListModel (0x7f088c5bb0e0) 0
+ vptr=((& QAbstractListModel::_ZTV18QAbstractListModel) + 16u)
+ QAbstractItemModel (0x7f088c5bb150) 0
+ primary-for QAbstractListModel (0x7f088c5bb0e0)
+ QObject (0x7f088c5bb1c0) 0
+ primary-for QAbstractItemModel (0x7f088c5bb150)
+
+Class QBasicTimer
+ size=4 align=4
+ base size=4 base align=4
+QBasicTimer (0x7f088c5eb230) 0
+
+Vtable for QCoreApplication
+QCoreApplication::_ZTV16QCoreApplication: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QCoreApplication)
+16 QCoreApplication::metaObject
+24 QCoreApplication::qt_metacast
+32 QCoreApplication::qt_metacall
+40 QCoreApplication::~QCoreApplication
+48 QCoreApplication::~QCoreApplication
+56 QCoreApplication::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QCoreApplication::notify
+120 QCoreApplication::compressEvent
+
+Class QCoreApplication
+ size=16 align=8
+ base size=16 base align=8
+QCoreApplication (0x7f088c5f8620) 0
+ vptr=((& QCoreApplication::_ZTV16QCoreApplication) + 16u)
+ QObject (0x7f088c5f8690) 0
+ primary-for QCoreApplication (0x7f088c5f8620)
+
+Class __exception
+ size=40 align=8
+ base size=40 base align=8
+__exception (0x7f088c62b310) 0
+
+Class QMetaMethod
+ size=16 align=8
+ base size=12 base align=8
+QMetaMethod (0x7f088c497770) 0
+
+Class QMetaEnum
+ size=16 align=8
+ base size=12 base align=8
+QMetaEnum (0x7f088c4b3bd0) 0
+
+Class QMetaProperty
+ size=32 align=8
+ base size=32 base align=8
+QMetaProperty (0x7f088c4c3930) 0
+
+Class QMetaClassInfo
+ size=16 align=8
+ base size=12 base align=8
+QMetaClassInfo (0x7f088c4d4000) 0
+
+Vtable for QMimeData
+QMimeData::_ZTV9QMimeData: 17u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QMimeData)
+16 QMimeData::metaObject
+24 QMimeData::qt_metacast
+32 QMimeData::qt_metacall
+40 QMimeData::~QMimeData
+48 QMimeData::~QMimeData
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QMimeData::hasFormat
+120 QMimeData::formats
+128 QMimeData::retrieveData
+
+Class QMimeData
+ size=16 align=8
+ base size=16 base align=8
+QMimeData (0x7f088c4d4af0) 0
+ vptr=((& QMimeData::_ZTV9QMimeData) + 16u)
+ QObject (0x7f088c4d4b60) 0
+ primary-for QMimeData (0x7f088c4d4af0)
+
+Vtable for QObjectCleanupHandler
+QObjectCleanupHandler::_ZTV21QObjectCleanupHandler: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI21QObjectCleanupHandler)
+16 QObjectCleanupHandler::metaObject
+24 QObjectCleanupHandler::qt_metacast
+32 QObjectCleanupHandler::qt_metacall
+40 QObjectCleanupHandler::~QObjectCleanupHandler
+48 QObjectCleanupHandler::~QObjectCleanupHandler
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QObjectCleanupHandler
+ size=24 align=8
+ base size=24 base align=8
+QObjectCleanupHandler (0x7f088c4f7380) 0
+ vptr=((& QObjectCleanupHandler::_ZTV21QObjectCleanupHandler) + 16u)
+ QObject (0x7f088c4f73f0) 0
+ primary-for QObjectCleanupHandler (0x7f088c4f7380)
+
+Vtable for QSharedMemory
+QSharedMemory::_ZTV13QSharedMemory: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QSharedMemory)
+16 QSharedMemory::metaObject
+24 QSharedMemory::qt_metacast
+32 QSharedMemory::qt_metacall
+40 QSharedMemory::~QSharedMemory
+48 QSharedMemory::~QSharedMemory
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QSharedMemory
+ size=16 align=8
+ base size=16 base align=8
+QSharedMemory (0x7f088c5074d0) 0
+ vptr=((& QSharedMemory::_ZTV13QSharedMemory) + 16u)
+ QObject (0x7f088c507540) 0
+ primary-for QSharedMemory (0x7f088c5074d0)
+
+Vtable for QSignalMapper
+QSignalMapper::_ZTV13QSignalMapper: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QSignalMapper)
+16 QSignalMapper::metaObject
+24 QSignalMapper::qt_metacast
+32 QSignalMapper::qt_metacall
+40 QSignalMapper::~QSignalMapper
+48 QSignalMapper::~QSignalMapper
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QSignalMapper
+ size=16 align=8
+ base size=16 base align=8
+QSignalMapper (0x7f088c5232a0) 0
+ vptr=((& QSignalMapper::_ZTV13QSignalMapper) + 16u)
+ QObject (0x7f088c523310) 0
+ primary-for QSignalMapper (0x7f088c5232a0)
+
+Vtable for QSocketNotifier
+QSocketNotifier::_ZTV15QSocketNotifier: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QSocketNotifier)
+16 QSocketNotifier::metaObject
+24 QSocketNotifier::qt_metacast
+32 QSocketNotifier::qt_metacall
+40 QSocketNotifier::~QSocketNotifier
+48 QSocketNotifier::~QSocketNotifier
+56 QSocketNotifier::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QSocketNotifier
+ size=32 align=8
+ base size=25 base align=8
+QSocketNotifier (0x7f088c53e690) 0
+ vptr=((& QSocketNotifier::_ZTV15QSocketNotifier) + 16u)
+ QObject (0x7f088c53e700) 0
+ primary-for QSocketNotifier (0x7f088c53e690)
+
+Class QSystemSemaphore
+ size=8 align=8
+ base size=8 base align=8
+QSystemSemaphore (0x7f088c358a10) 0
+
+Vtable for QTimer
+QTimer::_ZTV6QTimer: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI6QTimer)
+16 QTimer::metaObject
+24 QTimer::qt_metacast
+32 QTimer::qt_metacall
+40 QTimer::~QTimer
+48 QTimer::~QTimer
+56 QObject::event
+64 QObject::eventFilter
+72 QTimer::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QTimer
+ size=32 align=8
+ base size=29 base align=8
+QTimer (0x7f088c363460) 0
+ vptr=((& QTimer::_ZTV6QTimer) + 16u)
+ QObject (0x7f088c3634d0) 0
+ primary-for QTimer (0x7f088c363460)
+
+Vtable for QTranslator
+QTranslator::_ZTV11QTranslator: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QTranslator)
+16 QTranslator::metaObject
+24 QTranslator::qt_metacast
+32 QTranslator::qt_metacall
+40 QTranslator::~QTranslator
+48 QTranslator::~QTranslator
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QTranslator::translate
+120 QTranslator::isEmpty
+
+Class QTranslator
+ size=16 align=8
+ base size=16 base align=8
+QTranslator (0x7f088c3889a0) 0
+ vptr=((& QTranslator::_ZTV11QTranslator) + 16u)
+ QObject (0x7f088c388a10) 0
+ primary-for QTranslator (0x7f088c3889a0)
+
+Vtable for QLibrary
+QLibrary::_ZTV8QLibrary: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI8QLibrary)
+16 QLibrary::metaObject
+24 QLibrary::qt_metacast
+32 QLibrary::qt_metacall
+40 QLibrary::~QLibrary
+48 QLibrary::~QLibrary
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QLibrary
+ size=32 align=8
+ base size=25 base align=8
+QLibrary (0x7f088c3a3930) 0
+ vptr=((& QLibrary::_ZTV8QLibrary) + 16u)
+ QObject (0x7f088c3a39a0) 0
+ primary-for QLibrary (0x7f088c3a3930)
+
+Vtable for QPluginLoader
+QPluginLoader::_ZTV13QPluginLoader: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QPluginLoader)
+16 QPluginLoader::metaObject
+24 QPluginLoader::qt_metacast
+32 QPluginLoader::qt_metacall
+40 QPluginLoader::~QPluginLoader
+48 QPluginLoader::~QPluginLoader
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QPluginLoader
+ size=32 align=8
+ base size=25 base align=8
+QPluginLoader (0x7f088c3ef3f0) 0
+ vptr=((& QPluginLoader::_ZTV13QPluginLoader) + 16u)
+ QObject (0x7f088c3ef460) 0
+ primary-for QPluginLoader (0x7f088c3ef3f0)
+
+Class QUuid
+ size=16 align=4
+ base size=16 base align=4
+QUuid (0x7f088c3feb60) 0
+
+Class QReadWriteLock
+ size=8 align=8
+ base size=8 base align=8
+QReadWriteLock (0x7f088c4254d0) 0
+
+Class QReadLocker
+ size=8 align=8
+ base size=8 base align=8
+QReadLocker (0x7f088c425b60) 0
+
+Class QWriteLocker
+ size=8 align=8
+ base size=8 base align=8
+QWriteLocker (0x7f088c444ee0) 0
+
+Class QThreadStorageData
+ size=4 align=4
+ base size=4 base align=4
+QThreadStorageData (0x7f088c25d2a0) 0
+
+Vtable for QAbstractAnimation
+QAbstractAnimation::_ZTV18QAbstractAnimation: 18u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QAbstractAnimation)
+16 QAbstractAnimation::metaObject
+24 QAbstractAnimation::qt_metacast
+32 QAbstractAnimation::qt_metacall
+40 QAbstractAnimation::~QAbstractAnimation
+48 QAbstractAnimation::~QAbstractAnimation
+56 QAbstractAnimation::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 QAbstractAnimation::updateState
+136 QAbstractAnimation::updateDirection
+
+Class QAbstractAnimation
+ size=16 align=8
+ base size=16 base align=8
+QAbstractAnimation (0x7f088c25da10) 0
+ vptr=((& QAbstractAnimation::_ZTV18QAbstractAnimation) + 16u)
+ QObject (0x7f088c25da80) 0
+ primary-for QAbstractAnimation (0x7f088c25da10)
+
+Vtable for QAnimationGroup
+QAnimationGroup::_ZTV15QAnimationGroup: 18u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QAnimationGroup)
+16 QAnimationGroup::metaObject
+24 QAnimationGroup::qt_metacast
+32 QAnimationGroup::qt_metacall
+40 QAnimationGroup::~QAnimationGroup
+48 QAnimationGroup::~QAnimationGroup
+56 QAnimationGroup::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 QAbstractAnimation::updateState
+136 QAbstractAnimation::updateDirection
+
+Class QAnimationGroup
+ size=16 align=8
+ base size=16 base align=8
+QAnimationGroup (0x7f088c295150) 0
+ vptr=((& QAnimationGroup::_ZTV15QAnimationGroup) + 16u)
+ QAbstractAnimation (0x7f088c2951c0) 0
+ primary-for QAnimationGroup (0x7f088c295150)
+ QObject (0x7f088c295230) 0
+ primary-for QAbstractAnimation (0x7f088c2951c0)
+
+Vtable for QParallelAnimationGroup
+QParallelAnimationGroup::_ZTV23QParallelAnimationGroup: 18u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI23QParallelAnimationGroup)
+16 QParallelAnimationGroup::metaObject
+24 QParallelAnimationGroup::qt_metacast
+32 QParallelAnimationGroup::qt_metacall
+40 QParallelAnimationGroup::~QParallelAnimationGroup
+48 QParallelAnimationGroup::~QParallelAnimationGroup
+56 QParallelAnimationGroup::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QParallelAnimationGroup::duration
+120 QParallelAnimationGroup::updateCurrentTime
+128 QParallelAnimationGroup::updateState
+136 QParallelAnimationGroup::updateDirection
+
+Class QParallelAnimationGroup
+ size=16 align=8
+ base size=16 base align=8
+QParallelAnimationGroup (0x7f088c2af000) 0
+ vptr=((& QParallelAnimationGroup::_ZTV23QParallelAnimationGroup) + 16u)
+ QAnimationGroup (0x7f088c2af070) 0
+ primary-for QParallelAnimationGroup (0x7f088c2af000)
+ QAbstractAnimation (0x7f088c2af0e0) 0
+ primary-for QAnimationGroup (0x7f088c2af070)
+ QObject (0x7f088c2af150) 0
+ primary-for QAbstractAnimation (0x7f088c2af0e0)
+
+Vtable for QPauseAnimation
+QPauseAnimation::_ZTV15QPauseAnimation: 18u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QPauseAnimation)
+16 QPauseAnimation::metaObject
+24 QPauseAnimation::qt_metacast
+32 QPauseAnimation::qt_metacall
+40 QPauseAnimation::~QPauseAnimation
+48 QPauseAnimation::~QPauseAnimation
+56 QPauseAnimation::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QPauseAnimation::duration
+120 QPauseAnimation::updateCurrentTime
+128 QAbstractAnimation::updateState
+136 QAbstractAnimation::updateDirection
+
+Class QPauseAnimation
+ size=16 align=8
+ base size=16 base align=8
+QPauseAnimation (0x7f088c2bde70) 0
+ vptr=((& QPauseAnimation::_ZTV15QPauseAnimation) + 16u)
+ QAbstractAnimation (0x7f088c2bdee0) 0
+ primary-for QPauseAnimation (0x7f088c2bde70)
+ QObject (0x7f088c2bdf50) 0
+ primary-for QAbstractAnimation (0x7f088c2bdee0)
+
+Vtable for QVariantAnimation
+QVariantAnimation::_ZTV17QVariantAnimation: 20u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QVariantAnimation)
+16 QVariantAnimation::metaObject
+24 QVariantAnimation::qt_metacast
+32 QVariantAnimation::qt_metacall
+40 QVariantAnimation::~QVariantAnimation
+48 QVariantAnimation::~QVariantAnimation
+56 QVariantAnimation::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QVariantAnimation::duration
+120 QVariantAnimation::updateCurrentTime
+128 QVariantAnimation::updateState
+136 QAbstractAnimation::updateDirection
+144 __cxa_pure_virtual
+152 QVariantAnimation::interpolated
+
+Class QVariantAnimation
+ size=16 align=8
+ base size=16 base align=8
+QVariantAnimation (0x7f088c2da8c0) 0
+ vptr=((& QVariantAnimation::_ZTV17QVariantAnimation) + 16u)
+ QAbstractAnimation (0x7f088c2da930) 0
+ primary-for QVariantAnimation (0x7f088c2da8c0)
+ QObject (0x7f088c2da9a0) 0
+ primary-for QAbstractAnimation (0x7f088c2da930)
+
+Vtable for QPropertyAnimation
+QPropertyAnimation::_ZTV18QPropertyAnimation: 20u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QPropertyAnimation)
+16 QPropertyAnimation::metaObject
+24 QPropertyAnimation::qt_metacast
+32 QPropertyAnimation::qt_metacall
+40 QPropertyAnimation::~QPropertyAnimation
+48 QPropertyAnimation::~QPropertyAnimation
+56 QPropertyAnimation::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QVariantAnimation::duration
+120 QVariantAnimation::updateCurrentTime
+128 QPropertyAnimation::updateState
+136 QAbstractAnimation::updateDirection
+144 QPropertyAnimation::updateCurrentValue
+152 QVariantAnimation::interpolated
+
+Class QPropertyAnimation
+ size=16 align=8
+ base size=16 base align=8
+QPropertyAnimation (0x7f088c2f8b60) 0
+ vptr=((& QPropertyAnimation::_ZTV18QPropertyAnimation) + 16u)
+ QVariantAnimation (0x7f088c2f8bd0) 0
+ primary-for QPropertyAnimation (0x7f088c2f8b60)
+ QAbstractAnimation (0x7f088c2f8c40) 0
+ primary-for QVariantAnimation (0x7f088c2f8bd0)
+ QObject (0x7f088c2f8cb0) 0
+ primary-for QAbstractAnimation (0x7f088c2f8c40)
+
+Vtable for QSequentialAnimationGroup
+QSequentialAnimationGroup::_ZTV25QSequentialAnimationGroup: 18u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI25QSequentialAnimationGroup)
+16 QSequentialAnimationGroup::metaObject
+24 QSequentialAnimationGroup::qt_metacast
+32 QSequentialAnimationGroup::qt_metacall
+40 QSequentialAnimationGroup::~QSequentialAnimationGroup
+48 QSequentialAnimationGroup::~QSequentialAnimationGroup
+56 QSequentialAnimationGroup::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QSequentialAnimationGroup::duration
+120 QSequentialAnimationGroup::updateCurrentTime
+128 QSequentialAnimationGroup::updateState
+136 QSequentialAnimationGroup::updateDirection
+
+Class QSequentialAnimationGroup
+ size=16 align=8
+ base size=16 base align=8
+QSequentialAnimationGroup (0x7f088c312b60) 0
+ vptr=((& QSequentialAnimationGroup::_ZTV25QSequentialAnimationGroup) + 16u)
+ QAnimationGroup (0x7f088c312bd0) 0
+ primary-for QSequentialAnimationGroup (0x7f088c312b60)
+ QAbstractAnimation (0x7f088c312c40) 0
+ primary-for QAnimationGroup (0x7f088c312bd0)
+ QObject (0x7f088c312cb0) 0
+ primary-for QAbstractAnimation (0x7f088c312c40)
+
+Vtable for QDBusAbstractAdaptor
+QDBusAbstractAdaptor::_ZTV20QDBusAbstractAdaptor: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI20QDBusAbstractAdaptor)
+16 QDBusAbstractAdaptor::metaObject
+24 QDBusAbstractAdaptor::qt_metacast
+32 QDBusAbstractAdaptor::qt_metacall
+40 QDBusAbstractAdaptor::~QDBusAbstractAdaptor
+48 QDBusAbstractAdaptor::~QDBusAbstractAdaptor
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QDBusAbstractAdaptor
+ size=16 align=8
+ base size=16 base align=8
+QDBusAbstractAdaptor (0x7f088c32abd0) 0
+ vptr=((& QDBusAbstractAdaptor::_ZTV20QDBusAbstractAdaptor) + 16u)
+ QObject (0x7f088c32ac40) 0
+ primary-for QDBusAbstractAdaptor (0x7f088c32abd0)
+
+Class QDBusError
+ size=32 align=8
+ base size=32 base align=8
+QDBusError (0x7f088c345070) 0
+
+Class QDBusMessage
+ size=8 align=8
+ base size=8 base align=8
+QDBusMessage (0x7f088c345af0) 0
+
+Class QDBusObjectPath
+ size=8 align=8
+ base size=8 base align=8
+QDBusObjectPath (0x7f088c159770) 0
+ QString (0x7f088c1597e0) 0
+
+Class QDBusSignature
+ size=8 align=8
+ base size=8 base align=8
+QDBusSignature (0x7f088c185690) 0
+ QString (0x7f088c185700) 0
+
+Class QDBusVariant
+ size=16 align=8
+ base size=16 base align=8
+QDBusVariant (0x7f088c1cf5b0) 0
+ QVariant (0x7f088c1cf620) 0
+
+Class QDBusConnection
+ size=8 align=8
+ base size=8 base align=8
+QDBusConnection (0x7f088c22b070) 0
+
+Vtable for QDBusAbstractInterfaceBase
+QDBusAbstractInterfaceBase::_ZTV26QDBusAbstractInterfaceBase: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI26QDBusAbstractInterfaceBase)
+16 QObject::metaObject
+24 QObject::qt_metacast
+32 QDBusAbstractInterfaceBase::qt_metacall
+40 QDBusAbstractInterfaceBase::~QDBusAbstractInterfaceBase
+48 QDBusAbstractInterfaceBase::~QDBusAbstractInterfaceBase
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QDBusAbstractInterfaceBase
+ size=16 align=8
+ base size=16 base align=8
+QDBusAbstractInterfaceBase (0x7f088c0627e0) 0
+ vptr=((& QDBusAbstractInterfaceBase::_ZTV26QDBusAbstractInterfaceBase) + 16u)
+ QObject (0x7f088c062850) 0
+ primary-for QDBusAbstractInterfaceBase (0x7f088c0627e0)
+
+Vtable for QDBusAbstractInterface
+QDBusAbstractInterface::_ZTV22QDBusAbstractInterface: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI22QDBusAbstractInterface)
+16 QDBusAbstractInterface::metaObject
+24 QDBusAbstractInterface::qt_metacast
+32 QDBusAbstractInterface::qt_metacall
+40 QDBusAbstractInterface::~QDBusAbstractInterface
+48 QDBusAbstractInterface::~QDBusAbstractInterface
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QDBusAbstractInterface::connectNotify
+104 QDBusAbstractInterface::disconnectNotify
+
+Class QDBusAbstractInterface
+ size=16 align=8
+ base size=16 base align=8
+QDBusAbstractInterface (0x7f088c062a10) 0
+ vptr=((& QDBusAbstractInterface::_ZTV22QDBusAbstractInterface) + 16u)
+ QDBusAbstractInterfaceBase (0x7f088c078000) 0
+ primary-for QDBusAbstractInterface (0x7f088c062a10)
+ QObject (0x7f088c078070) 0
+ primary-for QDBusAbstractInterfaceBase (0x7f088c078000)
+
+Class QDBusArgument
+ size=8 align=8
+ base size=8 base align=8
+QDBusArgument (0x7f088c09f0e0) 0
+
+Class QDBusPendingCall
+ size=8 align=8
+ base size=8 base align=8
+QDBusPendingCall (0x7f088c109a80) 0
+
+Vtable for QDBusPendingCallWatcher
+QDBusPendingCallWatcher::_ZTV23QDBusPendingCallWatcher: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI23QDBusPendingCallWatcher)
+16 QDBusPendingCallWatcher::metaObject
+24 QDBusPendingCallWatcher::qt_metacast
+32 QDBusPendingCallWatcher::qt_metacall
+40 QDBusPendingCallWatcher::~QDBusPendingCallWatcher
+48 QDBusPendingCallWatcher::~QDBusPendingCallWatcher
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QDBusPendingCallWatcher
+ size=24 align=8
+ base size=24 base align=8
+QDBusPendingCallWatcher (0x7f088c145d80) 0
+ vptr=((& QDBusPendingCallWatcher::_ZTV23QDBusPendingCallWatcher) + 16u)
+ QObject (0x7f088bf543f0) 0
+ primary-for QDBusPendingCallWatcher (0x7f088c145d80)
+ QDBusPendingCall (0x7f088bf54460) 16
+
+Class QDBusPendingReplyData
+ size=8 align=8
+ base size=8 base align=8
+QDBusPendingReplyData (0x7f088bf778c0) 0
+ QDBusPendingCall (0x7f088bf77930) 0
+
+Vtable for QDBusConnectionInterface
+QDBusConnectionInterface::_ZTV24QDBusConnectionInterface: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI24QDBusConnectionInterface)
+16 QDBusConnectionInterface::metaObject
+24 QDBusConnectionInterface::qt_metacast
+32 QDBusConnectionInterface::qt_metacall
+40 QDBusConnectionInterface::~QDBusConnectionInterface
+48 QDBusConnectionInterface::~QDBusConnectionInterface
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QDBusConnectionInterface::connectNotify
+104 QDBusConnectionInterface::disconnectNotify
+
+Class QDBusConnectionInterface
+ size=16 align=8
+ base size=16 base align=8
+QDBusConnectionInterface (0x7f088bfcf2a0) 0
+ vptr=((& QDBusConnectionInterface::_ZTV24QDBusConnectionInterface) + 16u)
+ QDBusAbstractInterface (0x7f088bfcf310) 0
+ primary-for QDBusConnectionInterface (0x7f088bfcf2a0)
+ QDBusAbstractInterfaceBase (0x7f088bfcf380) 0
+ primary-for QDBusAbstractInterface (0x7f088bfcf310)
+ QObject (0x7f088bfcf3f0) 0
+ primary-for QDBusAbstractInterfaceBase (0x7f088bfcf380)
+
+Class QDBusContext
+ size=8 align=8
+ base size=8 base align=8
+QDBusContext (0x7f088bfe7e70) 0
+
+Vtable for QDBusInterface
+QDBusInterface::_ZTV14QDBusInterface: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QDBusInterface)
+16 QDBusInterface::metaObject
+24 QDBusInterface::qt_metacast
+32 QDBusInterface::qt_metacall
+40 QDBusInterface::~QDBusInterface
+48 QDBusInterface::~QDBusInterface
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QDBusAbstractInterface::connectNotify
+104 QDBusAbstractInterface::disconnectNotify
+
+Class QDBusInterface
+ size=16 align=8
+ base size=16 base align=8
+QDBusInterface (0x7f088bff1150) 0
+ vptr=((& QDBusInterface::_ZTV14QDBusInterface) + 16u)
+ QDBusAbstractInterface (0x7f088bff11c0) 0
+ primary-for QDBusInterface (0x7f088bff1150)
+ QDBusAbstractInterfaceBase (0x7f088bff1230) 0
+ primary-for QDBusAbstractInterface (0x7f088bff11c0)
+ QObject (0x7f088bff12a0) 0
+ primary-for QDBusAbstractInterfaceBase (0x7f088bff1230)
+
+Class QDBusMetaType
+ size=1 align=1
+ base size=0 base align=1
+QDBusMetaType (0x7f088bff1b60) 0 empty
+
+Vtable for QDBusServer
+QDBusServer::_ZTV11QDBusServer: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QDBusServer)
+16 QDBusServer::metaObject
+24 QDBusServer::qt_metacast
+32 QDBusServer::qt_metacall
+40 QDBusServer::~QDBusServer
+48 QDBusServer::~QDBusServer
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QDBusServer
+ size=24 align=8
+ base size=24 base align=8
+QDBusServer (0x7f088bff1e00) 0
+ vptr=((& QDBusServer::_ZTV11QDBusServer) + 16u)
+ QObject (0x7f088bff1e70) 0
+ primary-for QDBusServer (0x7f088bff1e00)
+
+Vtable for QDBusServiceWatcher
+QDBusServiceWatcher::_ZTV19QDBusServiceWatcher: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QDBusServiceWatcher)
+16 QDBusServiceWatcher::metaObject
+24 QDBusServiceWatcher::qt_metacast
+32 QDBusServiceWatcher::qt_metacall
+40 QDBusServiceWatcher::~QDBusServiceWatcher
+48 QDBusServiceWatcher::~QDBusServiceWatcher
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QDBusServiceWatcher
+ size=16 align=8
+ base size=16 base align=8
+QDBusServiceWatcher (0x7f088c01a070) 0
+ vptr=((& QDBusServiceWatcher::_ZTV19QDBusServiceWatcher) + 16u)
+ QObject (0x7f088c01a0e0) 0
+ primary-for QDBusServiceWatcher (0x7f088c01a070)
+
diff --git a/tests/auto/bic/data/QtDesigner.4.5.0.linux-gcc-amd64.txt b/tests/auto/bic/data/QtDesigner.4.5.0.linux-gcc-amd64.txt
new file mode 100644
index 0000000000..d430a84291
--- /dev/null
+++ b/tests/auto/bic/data/QtDesigner.4.5.0.linux-gcc-amd64.txt
@@ -0,0 +1,4460 @@
+Class QSysInfo
+ size=1 align=1
+ base size=0 base align=1
+QSysInfo (0x7f09f7532540) 0 empty
+
+Class QBool
+ size=1 align=1
+ base size=1 base align=1
+QBool (0x7f09f7545230) 0
+
+Class qIsNull(double)::U
+ size=8 align=8
+ base size=8 base align=8
+qIsNull(double)::U (0x7f09f755c620) 0
+
+Class qIsNull(float)::U
+ size=4 align=4
+ base size=4 base align=4
+qIsNull(float)::U (0x7f09f755c8c0) 0
+
+Class QFlag
+ size=4 align=4
+ base size=4 base align=4
+QFlag (0x7f09f7592700) 0
+
+Class QIncompatibleFlag
+ size=4 align=4
+ base size=4 base align=4
+QIncompatibleFlag (0x7f09f7592ee0) 0
+
+Class QInternal
+ size=1 align=1
+ base size=0 base align=1
+QInternal (0x7f09f6b71620) 0 empty
+
+Class QGenericArgument
+ size=16 align=8
+ base size=16 base align=8
+QGenericArgument (0x7f09f6b71930) 0
+
+Class QGenericReturnArgument
+ size=16 align=8
+ base size=16 base align=8
+QGenericReturnArgument (0x7f09f6b8c4d0) 0
+ QGenericArgument (0x7f09f6b8c540) 0
+
+Class QMetaObject
+ size=32 align=8
+ base size=32 base align=8
+QMetaObject (0x7f09f6b8cd90) 0
+
+Class QMetaObjectExtraData
+ size=16 align=8
+ base size=16 base align=8
+QMetaObjectExtraData (0x7f09f69b2d90) 0
+
+Class QLatin1Char
+ size=1 align=1
+ base size=1 base align=1
+QLatin1Char (0x7f09f69bc7e0) 0
+
+Class QChar
+ size=2 align=2
+ base size=2 base align=2
+QChar (0x7f09f69c2380) 0
+
+Class QBasicAtomicInt
+ size=4 align=4
+ base size=4 base align=4
+QBasicAtomicInt (0x7f09f6a2f460) 0
+
+Class QAtomicInt
+ size=4 align=4
+ base size=4 base align=4
+QAtomicInt (0x7f09f6a6ae00) 0
+ QBasicAtomicInt (0x7f09f6a6ae70) 0
+
+Class __locale_struct
+ size=232 align=8
+ base size=232 base align=8
+__locale_struct (0x7f09f6a8f2a0) 0
+
+Class QByteArray::Data
+ size=32 align=8
+ base size=32 base align=8
+QByteArray::Data (0x7f09f69088c0) 0
+
+Class QByteArray
+ size=8 align=8
+ base size=8 base align=8
+QByteArray (0x7f09f68c4620) 0
+
+Class QByteRef
+ size=16 align=8
+ base size=12 base align=8
+QByteRef (0x7f09f695eb60) 0
+
+Class QString::Null
+ size=1 align=1
+ base size=0 base align=1
+QString::Null (0x7f09f68667e0) 0 empty
+
+Class QString::Data
+ size=32 align=8
+ base size=32 base align=8
+QString::Data (0x7f09f687f000) 0
+
+Class QString
+ size=8 align=8
+ base size=8 base align=8
+QString (0x7f09f67e4690) 0
+
+Class QLatin1String
+ size=8 align=8
+ base size=8 base align=8
+QLatin1String (0x7f09f67500e0) 0
+
+Class QCharRef
+ size=16 align=8
+ base size=12 base align=8
+QCharRef (0x7f09f65e6700) 0
+
+Class QConstString
+ size=8 align=8
+ base size=8 base align=8
+QConstString (0x7f09f653a000) 0
+ QString (0x7f09f653a070) 0
+
+Class QStringRef
+ size=16 align=8
+ base size=16 base align=8
+QStringRef (0x7f09f6553cb0) 0
+
+Vtable for std::exception
+std::exception::_ZTVSt9exception: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt9exception)
+16 std::exception::~exception
+24 std::exception::~exception
+32 std::exception::what
+
+Class std::exception
+ size=8 align=8
+ base size=8 base align=8
+std::exception (0x7f09f640b7e0) 0 nearly-empty
+ vptr=((& std::exception::_ZTVSt9exception) + 16u)
+
+Vtable for std::bad_exception
+std::bad_exception::_ZTVSt13bad_exception: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt13bad_exception)
+16 std::bad_exception::~bad_exception
+24 std::bad_exception::~bad_exception
+32 std::bad_exception::what
+
+Class std::bad_exception
+ size=8 align=8
+ base size=8 base align=8
+std::bad_exception (0x7f09f642e0e0) 0 nearly-empty
+ vptr=((& std::bad_exception::_ZTVSt13bad_exception) + 16u)
+ std::exception (0x7f09f642e150) 0 nearly-empty
+ primary-for std::bad_exception (0x7f09f642e0e0)
+
+Vtable for std::bad_alloc
+std::bad_alloc::_ZTVSt9bad_alloc: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt9bad_alloc)
+16 std::bad_alloc::~bad_alloc
+24 std::bad_alloc::~bad_alloc
+32 std::bad_alloc::what
+
+Class std::bad_alloc
+ size=8 align=8
+ base size=8 base align=8
+std::bad_alloc (0x7f09f642e9a0) 0 nearly-empty
+ vptr=((& std::bad_alloc::_ZTVSt9bad_alloc) + 16u)
+ std::exception (0x7f09f642ea10) 0 nearly-empty
+ primary-for std::bad_alloc (0x7f09f642e9a0)
+
+Class std::nothrow_t
+ size=1 align=1
+ base size=0 base align=1
+std::nothrow_t (0x7f09f643e1c0) 0 empty
+
+Class QListData::Data
+ size=32 align=8
+ base size=32 base align=8
+QListData::Data (0x7f09f643e700) 0
+
+Class QListData
+ size=8 align=8
+ base size=8 base align=8
+QListData (0x7f09f643e690) 0
+
+Vtable for QObjectData
+QObjectData::_ZTV11QObjectData: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QObjectData)
+16 __cxa_pure_virtual
+24 __cxa_pure_virtual
+
+Class QObjectData
+ size=40 align=8
+ base size=40 base align=8
+QObjectData (0x7f09f6342cb0) 0
+ vptr=((& QObjectData::_ZTV11QObjectData) + 16u)
+
+Vtable for QObject
+QObject::_ZTV7QObject: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QObject)
+16 QObject::metaObject
+24 QObject::qt_metacast
+32 QObject::qt_metacall
+40 QObject::~QObject
+48 QObject::~QObject
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QObject
+ size=16 align=8
+ base size=16 base align=8
+QObject (0x7f09f6342f50) 0
+ vptr=((& QObject::_ZTV7QObject) + 16u)
+
+Vtable for QObjectUserData
+QObjectUserData::_ZTV15QObjectUserData: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QObjectUserData)
+16 QObjectUserData::~QObjectUserData
+24 QObjectUserData::~QObjectUserData
+
+Class QObjectUserData
+ size=8 align=8
+ base size=8 base align=8
+QObjectUserData (0x7f09f61d34d0) 0 nearly-empty
+ vptr=((& QObjectUserData::_ZTV15QObjectUserData) + 16u)
+
+Vtable for QIODevice
+QIODevice::_ZTV9QIODevice: 30u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QIODevice)
+16 QIODevice::metaObject
+24 QIODevice::qt_metacast
+32 QIODevice::qt_metacall
+40 QIODevice::~QIODevice
+48 QIODevice::~QIODevice
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QIODevice::isSequential
+120 QIODevice::open
+128 QIODevice::close
+136 QIODevice::pos
+144 QIODevice::size
+152 QIODevice::seek
+160 QIODevice::atEnd
+168 QIODevice::reset
+176 QIODevice::bytesAvailable
+184 QIODevice::bytesToWrite
+192 QIODevice::canReadLine
+200 QIODevice::waitForReadyRead
+208 QIODevice::waitForBytesWritten
+216 __cxa_pure_virtual
+224 QIODevice::readLineData
+232 __cxa_pure_virtual
+
+Class QIODevice
+ size=16 align=8
+ base size=16 base align=8
+QIODevice (0x7f09f61d3a10) 0
+ vptr=((& QIODevice::_ZTV9QIODevice) + 16u)
+ QObject (0x7f09f61d3a80) 0
+ primary-for QIODevice (0x7f09f61d3a10)
+
+Vtable for QDataStream
+QDataStream::_ZTV11QDataStream: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QDataStream)
+16 QDataStream::~QDataStream
+24 QDataStream::~QDataStream
+
+Class QDataStream
+ size=40 align=8
+ base size=40 base align=8
+QDataStream (0x7f09f6248380) 0
+ vptr=((& QDataStream::_ZTV11QDataStream) + 16u)
+
+Class QHashData::Node
+ size=16 align=8
+ base size=16 base align=8
+QHashData::Node (0x7f09f60ce230) 0
+
+Class QHashData
+ size=40 align=8
+ base size=40 base align=8
+QHashData (0x7f09f60ce1c0) 0
+
+Class QHashDummyValue
+ size=1 align=1
+ base size=0 base align=1
+QHashDummyValue (0x7f09f60e3000) 0 empty
+
+Class QMapData::Node
+ size=16 align=8
+ base size=16 base align=8
+QMapData::Node (0x7f09f5ff2770) 0
+
+Class QMapData
+ size=128 align=8
+ base size=128 base align=8
+QMapData (0x7f09f5ff2700) 0
+
+Vtable for QSystemLocale
+QSystemLocale::_ZTV13QSystemLocale: 6u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QSystemLocale)
+16 QSystemLocale::~QSystemLocale
+24 QSystemLocale::~QSystemLocale
+32 QSystemLocale::query
+40 QSystemLocale::fallbackLocale
+
+Class QSystemLocale
+ size=8 align=8
+ base size=8 base align=8
+QSystemLocale (0x7f09f5f07ee0) 0 nearly-empty
+ vptr=((& QSystemLocale::_ZTV13QSystemLocale) + 16u)
+
+Class QLocale::Data
+ size=4 align=2
+ base size=4 base align=2
+QLocale::Data (0x7f09f5f644d0) 0
+
+Class QLocale
+ size=8 align=8
+ base size=8 base align=8
+QLocale (0x7f09f5f241c0) 0
+
+Class QTextCodec::ConverterState
+ size=32 align=8
+ base size=32 base align=8
+QTextCodec::ConverterState (0x7f09f5db2f50) 0
+
+Vtable for QTextCodec
+QTextCodec::_ZTV10QTextCodec: 9u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QTextCodec)
+16 __cxa_pure_virtual
+24 QTextCodec::aliases
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+48 __cxa_pure_virtual
+56 QTextCodec::~QTextCodec
+64 QTextCodec::~QTextCodec
+
+Class QTextCodec
+ size=8 align=8
+ base size=8 base align=8
+QTextCodec (0x7f09f5d9db60) 0 nearly-empty
+ vptr=((& QTextCodec::_ZTV10QTextCodec) + 16u)
+
+Class QTextEncoder
+ size=40 align=8
+ base size=40 base align=8
+QTextEncoder (0x7f09f5e1f4d0) 0
+
+Class QTextDecoder
+ size=40 align=8
+ base size=40 base align=8
+QTextDecoder (0x7f09f5e27310) 0
+
+Class _IO_marker
+ size=24 align=8
+ base size=24 base align=8
+_IO_marker (0x7f09f5e31380) 0
+
+Class _IO_FILE
+ size=216 align=8
+ base size=216 base align=8
+_IO_FILE (0x7f09f5e313f0) 0
+
+Vtable for QTextStream
+QTextStream::_ZTV11QTextStream: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QTextStream)
+16 QTextStream::~QTextStream
+24 QTextStream::~QTextStream
+
+Class QTextStream
+ size=16 align=8
+ base size=16 base align=8
+QTextStream (0x7f09f5e314d0) 0
+ vptr=((& QTextStream::_ZTV11QTextStream) + 16u)
+
+Class QTextStreamManipulator
+ size=40 align=8
+ base size=38 base align=8
+QTextStreamManipulator (0x7f09f5cd5000) 0
+
+Vtable for QTextIStream
+QTextIStream::_ZTV12QTextIStream: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QTextIStream)
+16 QTextIStream::~QTextIStream
+24 QTextIStream::~QTextIStream
+
+Class QTextIStream
+ size=16 align=8
+ base size=16 base align=8
+QTextIStream (0x7f09f5cf52a0) 0
+ vptr=((& QTextIStream::_ZTV12QTextIStream) + 16u)
+ QTextStream (0x7f09f5cf5310) 0
+ primary-for QTextIStream (0x7f09f5cf52a0)
+
+Vtable for QTextOStream
+QTextOStream::_ZTV12QTextOStream: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QTextOStream)
+16 QTextOStream::~QTextOStream
+24 QTextOStream::~QTextOStream
+
+Class QTextOStream
+ size=16 align=8
+ base size=16 base align=8
+QTextOStream (0x7f09f5d0a150) 0
+ vptr=((& QTextOStream::_ZTV12QTextOStream) + 16u)
+ QTextStream (0x7f09f5d0a1c0) 0
+ primary-for QTextOStream (0x7f09f5d0a150)
+
+Class wait
+ size=4 align=4
+ base size=4 base align=4
+wait (0x7f09f5d21000) 0
+
+Class timespec
+ size=16 align=8
+ base size=16 base align=8
+timespec (0x7f09f5d21310) 0
+
+Class timeval
+ size=16 align=8
+ base size=16 base align=8
+timeval (0x7f09f5d21380) 0
+
+Class __pthread_internal_list
+ size=16 align=8
+ base size=16 base align=8
+__pthread_internal_list (0x7f09f5d214d0) 0
+
+Class random_data
+ size=48 align=8
+ base size=48 base align=8
+random_data (0x7f09f5d21a80) 0
+
+Class drand48_data
+ size=24 align=8
+ base size=24 base align=8
+drand48_data (0x7f09f5d21af0) 0
+
+Class QVectorData
+ size=16 align=4
+ base size=16 base align=4
+QVectorData (0x7f09f5d21b60) 0
+
+Class QDebug::Stream
+ size=40 align=8
+ base size=34 base align=8
+QDebug::Stream (0x7f09f5a9e310) 0
+
+Class QDebug
+ size=8 align=8
+ base size=8 base align=8
+QDebug (0x7f09f5a9e2a0) 0
+
+Class QNoDebug
+ size=1 align=1
+ base size=0 base align=1
+QNoDebug (0x7f09f5b3d150) 0 empty
+
+Vtable for QFile
+QFile::_ZTV5QFile: 31u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI5QFile)
+16 QFile::metaObject
+24 QFile::qt_metacast
+32 QFile::qt_metacall
+40 QFile::~QFile
+48 QFile::~QFile
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QFile::isSequential
+120 QFile::open
+128 QFile::close
+136 QFile::pos
+144 QFile::size
+152 QFile::seek
+160 QFile::atEnd
+168 QIODevice::reset
+176 QIODevice::bytesAvailable
+184 QIODevice::bytesToWrite
+192 QIODevice::canReadLine
+200 QIODevice::waitForReadyRead
+208 QIODevice::waitForBytesWritten
+216 QFile::readData
+224 QFile::readLineData
+232 QFile::writeData
+240 QFile::fileEngine
+
+Class QFile
+ size=16 align=8
+ base size=16 base align=8
+QFile (0x7f09f5b4c700) 0
+ vptr=((& QFile::_ZTV5QFile) + 16u)
+ QIODevice (0x7f09f5b4c770) 0
+ primary-for QFile (0x7f09f5b4c700)
+ QObject (0x7f09f5b4c7e0) 0
+ primary-for QIODevice (0x7f09f5b4c770)
+
+Vtable for QTemporaryFile
+QTemporaryFile::_ZTV14QTemporaryFile: 31u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QTemporaryFile)
+16 QTemporaryFile::metaObject
+24 QTemporaryFile::qt_metacast
+32 QTemporaryFile::qt_metacall
+40 QTemporaryFile::~QTemporaryFile
+48 QTemporaryFile::~QTemporaryFile
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QFile::isSequential
+120 QTemporaryFile::open
+128 QFile::close
+136 QFile::pos
+144 QFile::size
+152 QFile::seek
+160 QFile::atEnd
+168 QIODevice::reset
+176 QIODevice::bytesAvailable
+184 QIODevice::bytesToWrite
+192 QIODevice::canReadLine
+200 QIODevice::waitForReadyRead
+208 QIODevice::waitForBytesWritten
+216 QFile::readData
+224 QFile::readLineData
+232 QFile::writeData
+240 QTemporaryFile::fileEngine
+
+Class QTemporaryFile
+ size=16 align=8
+ base size=16 base align=8
+QTemporaryFile (0x7f09f59b9930) 0
+ vptr=((& QTemporaryFile::_ZTV14QTemporaryFile) + 16u)
+ QFile (0x7f09f59b99a0) 0
+ primary-for QTemporaryFile (0x7f09f59b9930)
+ QIODevice (0x7f09f59b9a10) 0
+ primary-for QFile (0x7f09f59b99a0)
+ QObject (0x7f09f59b9a80) 0
+ primary-for QIODevice (0x7f09f59b9a10)
+
+Class QFileInfo
+ size=8 align=8
+ base size=8 base align=8
+QFileInfo (0x7f09f59e1070) 0
+
+Class QRegExp
+ size=8 align=8
+ base size=8 base align=8
+QRegExp (0x7f09f5a35850) 0
+
+Class QStringMatcher
+ size=1048 align=8
+ base size=1048 base align=8
+QStringMatcher (0x7f09f5a82690) 0
+
+Class QStringList
+ size=8 align=8
+ base size=8 base align=8
+QStringList (0x7f09f5894150) 0
+ QList<QString> (0x7f09f58941c0) 0
+
+Class QDir
+ size=8 align=8
+ base size=8 base align=8
+QDir (0x7f09f5925d90) 0
+
+Class QAbstractFileEngine::ExtensionOption
+ size=1 align=1
+ base size=0 base align=1
+QAbstractFileEngine::ExtensionOption (0x7f09f57bef50) 0 empty
+
+Class QAbstractFileEngine::ExtensionReturn
+ size=1 align=1
+ base size=0 base align=1
+QAbstractFileEngine::ExtensionReturn (0x7f09f57d1000) 0 empty
+
+Class QAbstractFileEngine::MapExtensionOption
+ size=24 align=8
+ base size=20 base align=8
+QAbstractFileEngine::MapExtensionOption (0x7f09f57d1070) 0
+ QAbstractFileEngine::ExtensionOption (0x7f09f57d10e0) 0 empty
+
+Class QAbstractFileEngine::MapExtensionReturn
+ size=8 align=8
+ base size=8 base align=8
+QAbstractFileEngine::MapExtensionReturn (0x7f09f57d12a0) 0
+ QAbstractFileEngine::ExtensionReturn (0x7f09f57d1310) 0 empty
+
+Class QAbstractFileEngine::UnMapExtensionOption
+ size=8 align=8
+ base size=8 base align=8
+QAbstractFileEngine::UnMapExtensionOption (0x7f09f57d1380) 0
+ QAbstractFileEngine::ExtensionOption (0x7f09f57d13f0) 0 empty
+
+Vtable for QAbstractFileEngine
+QAbstractFileEngine::_ZTV19QAbstractFileEngine: 36u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QAbstractFileEngine)
+16 QAbstractFileEngine::~QAbstractFileEngine
+24 QAbstractFileEngine::~QAbstractFileEngine
+32 QAbstractFileEngine::open
+40 QAbstractFileEngine::close
+48 QAbstractFileEngine::flush
+56 QAbstractFileEngine::size
+64 QAbstractFileEngine::pos
+72 QAbstractFileEngine::seek
+80 QAbstractFileEngine::isSequential
+88 QAbstractFileEngine::remove
+96 QAbstractFileEngine::copy
+104 QAbstractFileEngine::rename
+112 QAbstractFileEngine::link
+120 QAbstractFileEngine::mkdir
+128 QAbstractFileEngine::rmdir
+136 QAbstractFileEngine::setSize
+144 QAbstractFileEngine::caseSensitive
+152 QAbstractFileEngine::isRelativePath
+160 QAbstractFileEngine::entryList
+168 QAbstractFileEngine::fileFlags
+176 QAbstractFileEngine::setPermissions
+184 QAbstractFileEngine::fileName
+192 QAbstractFileEngine::ownerId
+200 QAbstractFileEngine::owner
+208 QAbstractFileEngine::fileTime
+216 QAbstractFileEngine::setFileName
+224 QAbstractFileEngine::handle
+232 QAbstractFileEngine::beginEntryList
+240 QAbstractFileEngine::endEntryList
+248 QAbstractFileEngine::read
+256 QAbstractFileEngine::readLine
+264 QAbstractFileEngine::write
+272 QAbstractFileEngine::extension
+280 QAbstractFileEngine::supportsExtension
+
+Class QAbstractFileEngine
+ size=16 align=8
+ base size=16 base align=8
+QAbstractFileEngine (0x7f09f57aeee0) 0
+ vptr=((& QAbstractFileEngine::_ZTV19QAbstractFileEngine) + 16u)
+
+Vtable for QAbstractFileEngineHandler
+QAbstractFileEngineHandler::_ZTV26QAbstractFileEngineHandler: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI26QAbstractFileEngineHandler)
+16 QAbstractFileEngineHandler::~QAbstractFileEngineHandler
+24 QAbstractFileEngineHandler::~QAbstractFileEngineHandler
+32 __cxa_pure_virtual
+
+Class QAbstractFileEngineHandler
+ size=8 align=8
+ base size=8 base align=8
+QAbstractFileEngineHandler (0x7f09f58030e0) 0 nearly-empty
+ vptr=((& QAbstractFileEngineHandler::_ZTV26QAbstractFileEngineHandler) + 16u)
+
+Vtable for QAbstractFileEngineIterator
+QAbstractFileEngineIterator::_ZTV27QAbstractFileEngineIterator: 9u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI27QAbstractFileEngineIterator)
+16 QAbstractFileEngineIterator::~QAbstractFileEngineIterator
+24 QAbstractFileEngineIterator::~QAbstractFileEngineIterator
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+48 __cxa_pure_virtual
+56 QAbstractFileEngineIterator::currentFileInfo
+64 QAbstractFileEngineIterator::entryInfo
+
+Class QAbstractFileEngineIterator
+ size=16 align=8
+ base size=16 base align=8
+QAbstractFileEngineIterator (0x7f09f58032a0) 0
+ vptr=((& QAbstractFileEngineIterator::_ZTV27QAbstractFileEngineIterator) + 16u)
+
+Vtable for QFSFileEngine
+QFSFileEngine::_ZTV13QFSFileEngine: 36u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QFSFileEngine)
+16 QFSFileEngine::~QFSFileEngine
+24 QFSFileEngine::~QFSFileEngine
+32 QFSFileEngine::open
+40 QFSFileEngine::close
+48 QFSFileEngine::flush
+56 QFSFileEngine::size
+64 QFSFileEngine::pos
+72 QFSFileEngine::seek
+80 QFSFileEngine::isSequential
+88 QFSFileEngine::remove
+96 QFSFileEngine::copy
+104 QFSFileEngine::rename
+112 QFSFileEngine::link
+120 QFSFileEngine::mkdir
+128 QFSFileEngine::rmdir
+136 QFSFileEngine::setSize
+144 QFSFileEngine::caseSensitive
+152 QFSFileEngine::isRelativePath
+160 QFSFileEngine::entryList
+168 QFSFileEngine::fileFlags
+176 QFSFileEngine::setPermissions
+184 QFSFileEngine::fileName
+192 QFSFileEngine::ownerId
+200 QFSFileEngine::owner
+208 QFSFileEngine::fileTime
+216 QFSFileEngine::setFileName
+224 QFSFileEngine::handle
+232 QFSFileEngine::beginEntryList
+240 QFSFileEngine::endEntryList
+248 QFSFileEngine::read
+256 QFSFileEngine::readLine
+264 QFSFileEngine::write
+272 QFSFileEngine::extension
+280 QFSFileEngine::supportsExtension
+
+Class QFSFileEngine
+ size=16 align=8
+ base size=16 base align=8
+QFSFileEngine (0x7f09f5803af0) 0
+ vptr=((& QFSFileEngine::_ZTV13QFSFileEngine) + 16u)
+ QAbstractFileEngine (0x7f09f5803b60) 0
+ primary-for QFSFileEngine (0x7f09f5803af0)
+
+Vtable for QProcess
+QProcess::_ZTV8QProcess: 31u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI8QProcess)
+16 QProcess::metaObject
+24 QProcess::qt_metacast
+32 QProcess::qt_metacall
+40 QProcess::~QProcess
+48 QProcess::~QProcess
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QProcess::isSequential
+120 QIODevice::open
+128 QProcess::close
+136 QIODevice::pos
+144 QIODevice::size
+152 QIODevice::seek
+160 QProcess::atEnd
+168 QIODevice::reset
+176 QProcess::bytesAvailable
+184 QProcess::bytesToWrite
+192 QProcess::canReadLine
+200 QProcess::waitForReadyRead
+208 QProcess::waitForBytesWritten
+216 QProcess::readData
+224 QIODevice::readLineData
+232 QProcess::writeData
+240 QProcess::setupChildProcess
+
+Class QProcess
+ size=16 align=8
+ base size=16 base align=8
+QProcess (0x7f09f5818e00) 0
+ vptr=((& QProcess::_ZTV8QProcess) + 16u)
+ QIODevice (0x7f09f5818e70) 0
+ primary-for QProcess (0x7f09f5818e00)
+ QObject (0x7f09f5818ee0) 0
+ primary-for QIODevice (0x7f09f5818e70)
+
+Class QResource
+ size=8 align=8
+ base size=8 base align=8
+QResource (0x7f09f5857310) 0
+
+Vtable for QDirIterator
+QDirIterator::_ZTV12QDirIterator: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QDirIterator)
+16 QDirIterator::~QDirIterator
+24 QDirIterator::~QDirIterator
+
+Class QDirIterator
+ size=16 align=8
+ base size=16 base align=8
+QDirIterator (0x7f09f5857d90) 0
+ vptr=((& QDirIterator::_ZTV12QDirIterator) + 16u)
+
+Vtable for QBuffer
+QBuffer::_ZTV7QBuffer: 30u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QBuffer)
+16 QBuffer::metaObject
+24 QBuffer::qt_metacast
+32 QBuffer::qt_metacall
+40 QBuffer::~QBuffer
+48 QBuffer::~QBuffer
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QBuffer::connectNotify
+104 QBuffer::disconnectNotify
+112 QIODevice::isSequential
+120 QBuffer::open
+128 QBuffer::close
+136 QBuffer::pos
+144 QBuffer::size
+152 QBuffer::seek
+160 QBuffer::atEnd
+168 QIODevice::reset
+176 QIODevice::bytesAvailable
+184 QIODevice::bytesToWrite
+192 QBuffer::canReadLine
+200 QIODevice::waitForReadyRead
+208 QIODevice::waitForBytesWritten
+216 QBuffer::readData
+224 QIODevice::readLineData
+232 QBuffer::writeData
+
+Class QBuffer
+ size=16 align=8
+ base size=16 base align=8
+QBuffer (0x7f09f5887b60) 0
+ vptr=((& QBuffer::_ZTV7QBuffer) + 16u)
+ QIODevice (0x7f09f5887bd0) 0
+ primary-for QBuffer (0x7f09f5887b60)
+ QObject (0x7f09f5887c40) 0
+ primary-for QIODevice (0x7f09f5887bd0)
+
+Vtable for QFileSystemWatcher
+QFileSystemWatcher::_ZTV18QFileSystemWatcher: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QFileSystemWatcher)
+16 QFileSystemWatcher::metaObject
+24 QFileSystemWatcher::qt_metacast
+32 QFileSystemWatcher::qt_metacall
+40 QFileSystemWatcher::~QFileSystemWatcher
+48 QFileSystemWatcher::~QFileSystemWatcher
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QFileSystemWatcher
+ size=16 align=8
+ base size=16 base align=8
+QFileSystemWatcher (0x7f09f568e770) 0
+ vptr=((& QFileSystemWatcher::_ZTV18QFileSystemWatcher) + 16u)
+ QObject (0x7f09f568e7e0) 0
+ primary-for QFileSystemWatcher (0x7f09f568e770)
+
+Class QUrl
+ size=8 align=8
+ base size=8 base align=8
+QUrl (0x7f09f56a2cb0) 0
+
+Class QMetaType
+ size=1 align=1
+ base size=0 base align=1
+QMetaType (0x7f09f572b4d0) 0 empty
+
+Class QVariant::PrivateShared
+ size=16 align=8
+ base size=12 base align=8
+QVariant::PrivateShared (0x7f09f55ffa10) 0
+
+Class QVariant::Private::Data
+ size=8 align=8
+ base size=8 base align=8
+QVariant::Private::Data (0x7f09f55ffd20) 0
+
+Class QVariant::Private
+ size=16 align=8
+ base size=12 base align=8
+QVariant::Private (0x7f09f55ffaf0) 0
+
+Class QVariant::Handler
+ size=72 align=8
+ base size=72 base align=8
+QVariant::Handler (0x7f09f560da10) 0
+
+Class QVariant
+ size=16 align=8
+ base size=16 base align=8
+QVariant (0x7f09f55cfbd0) 0
+
+Class QVariantComparisonHelper
+ size=8 align=8
+ base size=8 base align=8
+QVariantComparisonHelper (0x7f09f54b2d90) 0
+
+Vtable for QSettings
+QSettings::_ZTV9QSettings: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QSettings)
+16 QSettings::metaObject
+24 QSettings::qt_metacast
+32 QSettings::qt_metacall
+40 QSettings::~QSettings
+48 QSettings::~QSettings
+56 QSettings::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QSettings
+ size=16 align=8
+ base size=16 base align=8
+QSettings (0x7f09f54d7d90) 0
+ vptr=((& QSettings::_ZTV9QSettings) + 16u)
+ QObject (0x7f09f54d7e00) 0
+ primary-for QSettings (0x7f09f54d7d90)
+
+Class QXmlStreamStringRef
+ size=16 align=8
+ base size=16 base align=8
+QXmlStreamStringRef (0x7f09f555a150) 0
+
+Class QXmlStreamAttribute
+ size=80 align=8
+ base size=73 base align=8
+QXmlStreamAttribute (0x7f09f53759a0) 0
+
+Class QXmlStreamAttributes
+ size=8 align=8
+ base size=8 base align=8
+QXmlStreamAttributes (0x7f09f539f460) 0
+ QVector<QXmlStreamAttribute> (0x7f09f539f4d0) 0
+
+Class QXmlStreamNamespaceDeclaration
+ size=40 align=8
+ base size=40 base align=8
+QXmlStreamNamespaceDeclaration (0x7f09f539f930) 0
+
+Class QXmlStreamNotationDeclaration
+ size=56 align=8
+ base size=56 base align=8
+QXmlStreamNotationDeclaration (0x7f09f53df2a0) 0
+
+Class QXmlStreamEntityDeclaration
+ size=88 align=8
+ base size=88 base align=8
+QXmlStreamEntityDeclaration (0x7f09f53ff150) 0
+
+Vtable for QXmlStreamEntityResolver
+QXmlStreamEntityResolver::_ZTV24QXmlStreamEntityResolver: 6u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI24QXmlStreamEntityResolver)
+16 QXmlStreamEntityResolver::~QXmlStreamEntityResolver
+24 QXmlStreamEntityResolver::~QXmlStreamEntityResolver
+32 QXmlStreamEntityResolver::resolveEntity
+40 QXmlStreamEntityResolver::resolveUndeclaredEntity
+
+Class QXmlStreamEntityResolver
+ size=8 align=8
+ base size=8 base align=8
+QXmlStreamEntityResolver (0x7f09f541ca80) 0 nearly-empty
+ vptr=((& QXmlStreamEntityResolver::_ZTV24QXmlStreamEntityResolver) + 16u)
+
+Class QXmlStreamReader
+ size=8 align=8
+ base size=8 base align=8
+QXmlStreamReader (0x7f09f541cc40) 0
+
+Class QXmlStreamWriter
+ size=8 align=8
+ base size=8 base align=8
+QXmlStreamWriter (0x7f09f5458af0) 0
+
+Class QPoint
+ size=8 align=4
+ base size=8 base align=4
+QPoint (0x7f09f5292230) 0
+
+Class QPointF
+ size=16 align=8
+ base size=16 base align=8
+QPointF (0x7f09f52cde70) 0
+
+Class QLine
+ size=16 align=4
+ base size=16 base align=4
+QLine (0x7f09f5309cb0) 0
+
+Class QLineF
+ size=32 align=8
+ base size=32 base align=8
+QLineF (0x7f09f5343b60) 0
+
+Class QSize
+ size=8 align=4
+ base size=8 base align=4
+QSize (0x7f09f519e620) 0
+
+Class QSizeF
+ size=16 align=8
+ base size=16 base align=8
+QSizeF (0x7f09f51ec460) 0
+
+Class QRect
+ size=16 align=4
+ base size=16 base align=4
+QRect (0x7f09f5238a80) 0
+
+Class QRectF
+ size=32 align=8
+ base size=32 base align=8
+QRectF (0x7f09f50ee460) 0
+
+Class QSharedData
+ size=4 align=4
+ base size=4 base align=4
+QSharedData (0x7f09f4f93230) 0
+
+Vtable for QtSharedPointer::ExternalRefCountData
+QtSharedPointer::ExternalRefCountData::_ZTVN15QtSharedPointer20ExternalRefCountDataE: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN15QtSharedPointer20ExternalRefCountDataE)
+16 QtSharedPointer::ExternalRefCountData::~ExternalRefCountData
+24 QtSharedPointer::ExternalRefCountData::~ExternalRefCountData
+32 QtSharedPointer::ExternalRefCountData::destroy
+
+Class QtSharedPointer::ExternalRefCountData
+ size=16 align=8
+ base size=16 base align=8
+QtSharedPointer::ExternalRefCountData (0x7f09f4fc0bd0) 0
+ vptr=((& QtSharedPointer::ExternalRefCountData::_ZTVN15QtSharedPointer20ExternalRefCountDataE) + 16u)
+
+Class QLinkedListData
+ size=32 align=8
+ base size=32 base align=8
+QLinkedListData (0x7f09f5048d20) 0
+
+Class QBitArray
+ size=8 align=8
+ base size=8 base align=8
+QBitArray (0x7f09f4f14c40) 0
+
+Class QBitRef
+ size=16 align=8
+ base size=12 base align=8
+QBitRef (0x7f09f4d88a10) 0
+
+Class QByteArrayMatcher
+ size=1040 align=8
+ base size=1040 base align=8
+QByteArrayMatcher (0x7f09f4da43f0) 0
+
+Class QCryptographicHash
+ size=8 align=8
+ base size=8 base align=8
+QCryptographicHash (0x7f09f4db4af0) 0
+
+Class QTextBoundaryFinder
+ size=48 align=8
+ base size=48 base align=8
+QTextBoundaryFinder (0x7f09f4de3540) 0
+
+Class QDate
+ size=4 align=4
+ base size=4 base align=4
+QDate (0x7f09f4df98c0) 0
+
+Class QTime
+ size=4 align=4
+ base size=4 base align=4
+QTime (0x7f09f4e22850) 0
+
+Class QDateTime
+ size=8 align=8
+ base size=8 base align=8
+QDateTime (0x7f09f4e3ee00) 0
+
+Vtable for QTimeLine
+QTimeLine::_ZTV9QTimeLine: 15u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QTimeLine)
+16 QTimeLine::metaObject
+24 QTimeLine::qt_metacast
+32 QTimeLine::qt_metacall
+40 QTimeLine::~QTimeLine
+48 QTimeLine::~QTimeLine
+56 QObject::event
+64 QObject::eventFilter
+72 QTimeLine::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QTimeLine::valueForTime
+
+Class QTimeLine
+ size=16 align=8
+ base size=16 base align=8
+QTimeLine (0x7f09f4c742a0) 0
+ vptr=((& QTimeLine::_ZTV9QTimeLine) + 16u)
+ QObject (0x7f09f4c74310) 0
+ primary-for QTimeLine (0x7f09f4c742a0)
+
+Vtable for QRunnable
+QRunnable::_ZTV9QRunnable: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QRunnable)
+16 __cxa_pure_virtual
+24 QRunnable::~QRunnable
+32 QRunnable::~QRunnable
+
+Class QRunnable
+ size=16 align=8
+ base size=12 base align=8
+QRunnable (0x7f09f4c9c150) 0
+ vptr=((& QRunnable::_ZTV9QRunnable) + 16u)
+
+Class QMutex
+ size=8 align=8
+ base size=8 base align=8
+QMutex (0x7f09f4ca77e0) 0
+
+Class QMutexLocker
+ size=8 align=8
+ base size=8 base align=8
+QMutexLocker (0x7f09f4cb7380) 0
+
+Vtable for QtConcurrent::Exception
+QtConcurrent::Exception::_ZTVN12QtConcurrent9ExceptionE: 7u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN12QtConcurrent9ExceptionE)
+16 QtConcurrent::Exception::~Exception
+24 QtConcurrent::Exception::~Exception
+32 std::exception::what
+40 QtConcurrent::Exception::raise
+48 QtConcurrent::Exception::clone
+
+Class QtConcurrent::Exception
+ size=8 align=8
+ base size=8 base align=8
+QtConcurrent::Exception (0x7f09f4ccc690) 0 nearly-empty
+ vptr=((& QtConcurrent::Exception::_ZTVN12QtConcurrent9ExceptionE) + 16u)
+ std::exception (0x7f09f4ccc700) 0 nearly-empty
+ primary-for QtConcurrent::Exception (0x7f09f4ccc690)
+
+Vtable for QtConcurrent::UnhandledException
+QtConcurrent::UnhandledException::_ZTVN12QtConcurrent18UnhandledExceptionE: 7u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN12QtConcurrent18UnhandledExceptionE)
+16 QtConcurrent::UnhandledException::~UnhandledException
+24 QtConcurrent::UnhandledException::~UnhandledException
+32 std::exception::what
+40 QtConcurrent::UnhandledException::raise
+48 QtConcurrent::UnhandledException::clone
+
+Class QtConcurrent::UnhandledException
+ size=8 align=8
+ base size=8 base align=8
+QtConcurrent::UnhandledException (0x7f09f4ccc930) 0 nearly-empty
+ vptr=((& QtConcurrent::UnhandledException::_ZTVN12QtConcurrent18UnhandledExceptionE) + 16u)
+ QtConcurrent::Exception (0x7f09f4ccc9a0) 0 nearly-empty
+ primary-for QtConcurrent::UnhandledException (0x7f09f4ccc930)
+ std::exception (0x7f09f4ccca10) 0 nearly-empty
+ primary-for QtConcurrent::Exception (0x7f09f4ccc9a0)
+
+Class QtConcurrent::internal::ExceptionHolder
+ size=8 align=8
+ base size=8 base align=8
+QtConcurrent::internal::ExceptionHolder (0x7f09f4cccc40) 0
+
+Class QtConcurrent::internal::ExceptionStore
+ size=8 align=8
+ base size=8 base align=8
+QtConcurrent::internal::ExceptionStore (0x7f09f4ccc8c0) 0
+
+Class QtConcurrent::ResultItem
+ size=16 align=8
+ base size=16 base align=8
+QtConcurrent::ResultItem (0x7f09f4cccbd0) 0
+
+Class QtConcurrent::ResultIteratorBase
+ size=16 align=8
+ base size=12 base align=8
+QtConcurrent::ResultIteratorBase (0x7f09f4ce3f50) 0
+
+Vtable for QtConcurrent::ResultStoreBase
+QtConcurrent::ResultStoreBase::_ZTVN12QtConcurrent15ResultStoreBaseE: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN12QtConcurrent15ResultStoreBaseE)
+16 QtConcurrent::ResultStoreBase::~ResultStoreBase
+24 QtConcurrent::ResultStoreBase::~ResultStoreBase
+
+Class QtConcurrent::ResultStoreBase
+ size=48 align=8
+ base size=44 base align=8
+QtConcurrent::ResultStoreBase (0x7f09f4ce9af0) 0
+ vptr=((& QtConcurrent::ResultStoreBase::_ZTVN12QtConcurrent15ResultStoreBaseE) + 16u)
+
+Vtable for QFutureInterfaceBase
+QFutureInterfaceBase::_ZTV20QFutureInterfaceBase: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI20QFutureInterfaceBase)
+16 QFutureInterfaceBase::~QFutureInterfaceBase
+24 QFutureInterfaceBase::~QFutureInterfaceBase
+
+Class QFutureInterfaceBase
+ size=16 align=8
+ base size=16 base align=8
+QFutureInterfaceBase (0x7f09f4d28f50) 0
+ vptr=((& QFutureInterfaceBase::_ZTV20QFutureInterfaceBase) + 16u)
+
+Vtable for QThread
+QThread::_ZTV7QThread: 15u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QThread)
+16 QThread::metaObject
+24 QThread::qt_metacast
+32 QThread::qt_metacall
+40 QThread::~QThread
+48 QThread::~QThread
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QThread::run
+
+Class QThread
+ size=16 align=8
+ base size=16 base align=8
+QThread (0x7f09f4c0bee0) 0
+ vptr=((& QThread::_ZTV7QThread) + 16u)
+ QObject (0x7f09f4c0bf50) 0
+ primary-for QThread (0x7f09f4c0bee0)
+
+Vtable for QThreadPool
+QThreadPool::_ZTV11QThreadPool: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QThreadPool)
+16 QThreadPool::metaObject
+24 QThreadPool::qt_metacast
+32 QThreadPool::qt_metacall
+40 QThreadPool::~QThreadPool
+48 QThreadPool::~QThreadPool
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QThreadPool
+ size=16 align=8
+ base size=16 base align=8
+QThreadPool (0x7f09f4c3ed90) 0
+ vptr=((& QThreadPool::_ZTV11QThreadPool) + 16u)
+ QObject (0x7f09f4c3ee00) 0
+ primary-for QThreadPool (0x7f09f4c3ed90)
+
+Class QWaitCondition
+ size=8 align=8
+ base size=8 base align=8
+QWaitCondition (0x7f09f4c5a620) 0
+
+Class QtConcurrent::ThreadEngineSemaphore
+ size=24 align=8
+ base size=24 base align=8
+QtConcurrent::ThreadEngineSemaphore (0x7f09f4c5ab60) 0
+
+Vtable for QtConcurrent::ThreadEngineBase
+QtConcurrent::ThreadEngineBase::_ZTVN12QtConcurrent16ThreadEngineBaseE: 11u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN12QtConcurrent16ThreadEngineBaseE)
+16 QtConcurrent::ThreadEngineBase::run
+24 QtConcurrent::ThreadEngineBase::~ThreadEngineBase
+32 QtConcurrent::ThreadEngineBase::~ThreadEngineBase
+40 QtConcurrent::ThreadEngineBase::start
+48 QtConcurrent::ThreadEngineBase::finish
+56 QtConcurrent::ThreadEngineBase::threadFunction
+64 QtConcurrent::ThreadEngineBase::shouldStartThread
+72 QtConcurrent::ThreadEngineBase::shouldThrottleThread
+80 __cxa_pure_virtual
+
+Class QtConcurrent::ThreadEngineBase
+ size=64 align=8
+ base size=64 base align=8
+QtConcurrent::ThreadEngineBase (0x7f09f4a78540) 0
+ vptr=((& QtConcurrent::ThreadEngineBase::_ZTVN12QtConcurrent16ThreadEngineBaseE) + 16u)
+ QRunnable (0x7f09f4a785b0) 0
+ primary-for QtConcurrent::ThreadEngineBase (0x7f09f4a78540)
+
+VTT for QtConcurrent::ThreadEngine<void>
+QtConcurrent::ThreadEngine<void>::_ZTTN12QtConcurrent12ThreadEngineIvEE: 2u entries
+0 ((& QtConcurrent::ThreadEngine<void>::_ZTVN12QtConcurrent12ThreadEngineIvEE) + 24u)
+8 ((& QtConcurrent::ThreadEngine<void>::_ZTVN12QtConcurrent12ThreadEngineIvEE) + 136u)
+
+Class std::input_iterator_tag
+ size=1 align=1
+ base size=0 base align=1
+std::input_iterator_tag (0x7f09f4ab9930) 0 empty
+
+Class std::output_iterator_tag
+ size=1 align=1
+ base size=0 base align=1
+std::output_iterator_tag (0x7f09f4ab99a0) 0 empty
+
+Class std::forward_iterator_tag
+ size=1 align=1
+ base size=1 base align=1
+std::forward_iterator_tag (0x7f09f4ab9a10) 0 empty
+ std::input_iterator_tag (0x7f09f4ab9a80) 0 empty
+
+Class std::bidirectional_iterator_tag
+ size=1 align=1
+ base size=1 base align=1
+std::bidirectional_iterator_tag (0x7f09f4ab9af0) 0 empty
+ std::forward_iterator_tag (0x7f09f4ab9b60) 0 empty
+ std::input_iterator_tag (0x7f09f4ab9bd0) 0 empty
+
+Class std::random_access_iterator_tag
+ size=1 align=1
+ base size=1 base align=1
+std::random_access_iterator_tag (0x7f09f4ab9c40) 0 empty
+ std::bidirectional_iterator_tag (0x7f09f4ab9cb0) 0 empty
+ std::forward_iterator_tag (0x7f09f4ab9d20) 0 empty
+ std::input_iterator_tag (0x7f09f4ab9d90) 0 empty
+
+Class std::__true_type
+ size=1 align=1
+ base size=0 base align=1
+std::__true_type (0x7f09f4ac9380) 0 empty
+
+Class std::__false_type
+ size=1 align=1
+ base size=0 base align=1
+std::__false_type (0x7f09f4ac93f0) 0 empty
+
+Class lconv
+ size=96 align=8
+ base size=96 base align=8
+lconv (0x7f09f48a7700) 0
+
+Class sched_param
+ size=4 align=4
+ base size=4 base align=4
+sched_param (0x7f09f48a7b60) 0
+
+Class __sched_param
+ size=4 align=4
+ base size=4 base align=4
+__sched_param (0x7f09f48a7bd0) 0
+
+Class tm
+ size=56 align=8
+ base size=56 base align=8
+tm (0x7f09f48a7cb0) 0
+
+Class itimerspec
+ size=32 align=8
+ base size=32 base align=8
+itimerspec (0x7f09f48a7d90) 0
+
+Class _pthread_cleanup_buffer
+ size=32 align=8
+ base size=32 base align=8
+_pthread_cleanup_buffer (0x7f09f48a7e00) 0
+
+Class __pthread_cleanup_frame
+ size=24 align=8
+ base size=24 base align=8
+__pthread_cleanup_frame (0x7f09f48a7f50) 0
+
+Class __pthread_cleanup_class
+ size=24 align=8
+ base size=24 base align=8
+__pthread_cleanup_class (0x7f09f4905000) 0
+
+Vtable for __cxxabiv1::__forced_unwind
+__cxxabiv1::__forced_unwind::_ZTVN10__cxxabiv115__forced_unwindE: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN10__cxxabiv115__forced_unwindE)
+16 __cxxabiv1::__forced_unwind::~__forced_unwind
+24 __cxxabiv1::__forced_unwind::~__forced_unwind
+32 __cxa_pure_virtual
+
+Class __cxxabiv1::__forced_unwind
+ size=8 align=8
+ base size=8 base align=8
+__cxxabiv1::__forced_unwind (0x7f09f47bcb60) 0 nearly-empty
+ vptr=((& __cxxabiv1::__forced_unwind::_ZTVN10__cxxabiv115__forced_unwindE) + 16u)
+
+Class std::locale
+ size=8 align=8
+ base size=8 base align=8
+std::locale (0x7f09f446c690) 0
+
+Vtable for std::locale::facet
+std::locale::facet::_ZTVNSt6locale5facetE: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTINSt6locale5facetE)
+16 std::locale::facet::~facet
+24 std::locale::facet::~facet
+
+Class std::locale::facet
+ size=16 align=8
+ base size=12 base align=8
+std::locale::facet (0x7f09f4511d90) 0
+ vptr=((& std::locale::facet::_ZTVNSt6locale5facetE) + 16u)
+
+Class std::locale::id
+ size=8 align=8
+ base size=8 base align=8
+std::locale::id (0x7f09f4525380) 0
+
+Class std::locale::_Impl
+ size=40 align=8
+ base size=40 base align=8
+std::locale::_Impl (0x7f09f45259a0) 0
+
+Vtable for std::ios_base::failure
+std::ios_base::failure::_ZTVNSt8ios_base7failureE: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTINSt8ios_base7failureE)
+16 std::ios_base::failure::~failure
+24 std::ios_base::failure::~failure
+32 std::ios_base::failure::what
+
+Class std::ios_base::failure
+ size=16 align=8
+ base size=16 base align=8
+std::ios_base::failure (0x7f09f43b2150) 0
+ vptr=((& std::ios_base::failure::_ZTVNSt8ios_base7failureE) + 16u)
+ std::exception (0x7f09f43b21c0) 0 nearly-empty
+ primary-for std::ios_base::failure (0x7f09f43b2150)
+
+Class std::ios_base::_Callback_list
+ size=24 align=8
+ base size=24 base align=8
+std::ios_base::_Callback_list (0x7f09f43c13f0) 0
+
+Class std::ios_base::_Words
+ size=16 align=8
+ base size=16 base align=8
+std::ios_base::_Words (0x7f09f43c1e70) 0
+
+Class std::ios_base::Init
+ size=1 align=1
+ base size=0 base align=1
+std::ios_base::Init (0x7f09f43c65b0) 0 empty
+
+Vtable for std::ios_base
+std::ios_base::_ZTVSt8ios_base: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt8ios_base)
+16 std::ios_base::~ios_base
+24 std::ios_base::~ios_base
+
+Class std::ios_base
+ size=216 align=8
+ base size=216 base align=8
+std::ios_base (0x7f09f43b20e0) 0
+ vptr=((& std::ios_base::_ZTVSt8ios_base) + 16u)
+
+Class std::ctype_base
+ size=1 align=1
+ base size=0 base align=1
+std::ctype_base (0x7f09f443ca10) 0 empty
+
+Class std::__num_base
+ size=1 align=1
+ base size=0 base align=1
+std::__num_base (0x7f09f415e2a0) 0 empty
+
+VTT for std::basic_ostream<char, std::char_traits<char> >
+std::basic_ostream<char, std::char_traits<char> >::_ZTTSo: 2u entries
+0 ((& std::basic_ostream<char, std::char_traits<char> >::_ZTVSo) + 24u)
+8 ((& std::basic_ostream<char, std::char_traits<char> >::_ZTVSo) + 64u)
+
+VTT for std::basic_ostream<wchar_t, std::char_traits<wchar_t> >
+std::basic_ostream<wchar_t, std::char_traits<wchar_t> >::_ZTTSt13basic_ostreamIwSt11char_traitsIwEE: 2u entries
+0 ((& std::basic_ostream<wchar_t, std::char_traits<wchar_t> >::_ZTVSt13basic_ostreamIwSt11char_traitsIwEE) + 24u)
+8 ((& std::basic_ostream<wchar_t, std::char_traits<wchar_t> >::_ZTVSt13basic_ostreamIwSt11char_traitsIwEE) + 64u)
+
+VTT for std::basic_istream<char, std::char_traits<char> >
+std::basic_istream<char, std::char_traits<char> >::_ZTTSi: 2u entries
+0 ((& std::basic_istream<char, std::char_traits<char> >::_ZTVSi) + 24u)
+8 ((& std::basic_istream<char, std::char_traits<char> >::_ZTVSi) + 64u)
+
+VTT for std::basic_istream<wchar_t, std::char_traits<wchar_t> >
+std::basic_istream<wchar_t, std::char_traits<wchar_t> >::_ZTTSt13basic_istreamIwSt11char_traitsIwEE: 2u entries
+0 ((& std::basic_istream<wchar_t, std::char_traits<wchar_t> >::_ZTVSt13basic_istreamIwSt11char_traitsIwEE) + 24u)
+8 ((& std::basic_istream<wchar_t, std::char_traits<wchar_t> >::_ZTVSt13basic_istreamIwSt11char_traitsIwEE) + 64u)
+
+Construction vtable for std::basic_istream<char, std::char_traits<char> > (0x7f09f3e8b3f0 instance) in std::basic_iostream<char, std::char_traits<char> >
+std::basic_iostream<char, std::char_traits<char> >::_ZTCSd0_Si: 10u entries
+0 24u
+8 (int (*)(...))0
+16 (int (*)(...))(& _ZTISi)
+24 std::basic_istream<_CharT, _Traits>::~basic_istream [with _CharT = char, _Traits = std::char_traits<char>]
+32 std::basic_istream<_CharT, _Traits>::~basic_istream [with _CharT = char, _Traits = std::char_traits<char>]
+40 -24u
+48 (int (*)(...))-0x00000000000000018
+56 (int (*)(...))(& _ZTISi)
+64 std::basic_istream<char, std::char_traits<char> >::_ZTv0_n24_NSiD1Ev
+72 std::basic_istream<char, std::char_traits<char> >::_ZTv0_n24_NSiD0Ev
+
+Construction vtable for std::basic_ostream<char, std::char_traits<char> > (0x7f09f3e8b540 instance) in std::basic_iostream<char, std::char_traits<char> >
+std::basic_iostream<char, std::char_traits<char> >::_ZTCSd16_So: 10u entries
+0 8u
+8 (int (*)(...))0
+16 (int (*)(...))(& _ZTISo)
+24 std::basic_ostream<_CharT, _Traits>::~basic_ostream [with _CharT = char, _Traits = std::char_traits<char>]
+32 std::basic_ostream<_CharT, _Traits>::~basic_ostream [with _CharT = char, _Traits = std::char_traits<char>]
+40 -8u
+48 (int (*)(...))-0x00000000000000008
+56 (int (*)(...))(& _ZTISo)
+64 std::basic_ostream<char, std::char_traits<char> >::_ZTv0_n24_NSoD1Ev
+72 std::basic_ostream<char, std::char_traits<char> >::_ZTv0_n24_NSoD0Ev
+
+VTT for std::basic_iostream<char, std::char_traits<char> >
+std::basic_iostream<char, std::char_traits<char> >::_ZTTSd: 7u entries
+0 ((& std::basic_iostream<char, std::char_traits<char> >::_ZTVSd) + 24u)
+8 ((& std::basic_iostream<char, std::char_traits<char> >::_ZTCSd0_Si) + 24u)
+16 ((& std::basic_iostream<char, std::char_traits<char> >::_ZTCSd0_Si) + 64u)
+24 ((& std::basic_iostream<char, std::char_traits<char> >::_ZTCSd16_So) + 24u)
+32 ((& std::basic_iostream<char, std::char_traits<char> >::_ZTCSd16_So) + 64u)
+40 ((& std::basic_iostream<char, std::char_traits<char> >::_ZTVSd) + 104u)
+48 ((& std::basic_iostream<char, std::char_traits<char> >::_ZTVSd) + 64u)
+
+Construction vtable for std::basic_istream<wchar_t, std::char_traits<wchar_t> > (0x7f09f3e8b700 instance) in std::basic_iostream<wchar_t, std::char_traits<wchar_t> >
+std::basic_iostream<wchar_t, std::char_traits<wchar_t> >::_ZTCSt14basic_iostreamIwSt11char_traitsIwEE0_St13basic_istreamIwS1_E: 10u entries
+0 24u
+8 (int (*)(...))0
+16 (int (*)(...))(& _ZTISt13basic_istreamIwSt11char_traitsIwEE)
+24 std::basic_istream<_CharT, _Traits>::~basic_istream [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
+32 std::basic_istream<_CharT, _Traits>::~basic_istream [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
+40 -24u
+48 (int (*)(...))-0x00000000000000018
+56 (int (*)(...))(& _ZTISt13basic_istreamIwSt11char_traitsIwEE)
+64 std::basic_istream<wchar_t, std::char_traits<wchar_t> >::_ZTv0_n24_NSt13basic_istreamIwSt11char_traitsIwEED1Ev
+72 std::basic_istream<wchar_t, std::char_traits<wchar_t> >::_ZTv0_n24_NSt13basic_istreamIwSt11char_traitsIwEED0Ev
+
+Construction vtable for std::basic_ostream<wchar_t, std::char_traits<wchar_t> > (0x7f09f3e8b850 instance) in std::basic_iostream<wchar_t, std::char_traits<wchar_t> >
+std::basic_iostream<wchar_t, std::char_traits<wchar_t> >::_ZTCSt14basic_iostreamIwSt11char_traitsIwEE16_St13basic_ostreamIwS1_E: 10u entries
+0 8u
+8 (int (*)(...))0
+16 (int (*)(...))(& _ZTISt13basic_ostreamIwSt11char_traitsIwEE)
+24 std::basic_ostream<_CharT, _Traits>::~basic_ostream [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
+32 std::basic_ostream<_CharT, _Traits>::~basic_ostream [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
+40 -8u
+48 (int (*)(...))-0x00000000000000008
+56 (int (*)(...))(& _ZTISt13basic_ostreamIwSt11char_traitsIwEE)
+64 std::basic_ostream<wchar_t, std::char_traits<wchar_t> >::_ZTv0_n24_NSt13basic_ostreamIwSt11char_traitsIwEED1Ev
+72 std::basic_ostream<wchar_t, std::char_traits<wchar_t> >::_ZTv0_n24_NSt13basic_ostreamIwSt11char_traitsIwEED0Ev
+
+VTT for std::basic_iostream<wchar_t, std::char_traits<wchar_t> >
+std::basic_iostream<wchar_t, std::char_traits<wchar_t> >::_ZTTSt14basic_iostreamIwSt11char_traitsIwEE: 7u entries
+0 ((& std::basic_iostream<wchar_t, std::char_traits<wchar_t> >::_ZTVSt14basic_iostreamIwSt11char_traitsIwEE) + 24u)
+8 ((& std::basic_iostream<wchar_t, std::char_traits<wchar_t> >::_ZTCSt14basic_iostreamIwSt11char_traitsIwEE0_St13basic_istreamIwS1_E) + 24u)
+16 ((& std::basic_iostream<wchar_t, std::char_traits<wchar_t> >::_ZTCSt14basic_iostreamIwSt11char_traitsIwEE0_St13basic_istreamIwS1_E) + 64u)
+24 ((& std::basic_iostream<wchar_t, std::char_traits<wchar_t> >::_ZTCSt14basic_iostreamIwSt11char_traitsIwEE16_St13basic_ostreamIwS1_E) + 24u)
+32 ((& std::basic_iostream<wchar_t, std::char_traits<wchar_t> >::_ZTCSt14basic_iostreamIwSt11char_traitsIwEE16_St13basic_ostreamIwS1_E) + 64u)
+40 ((& std::basic_iostream<wchar_t, std::char_traits<wchar_t> >::_ZTVSt14basic_iostreamIwSt11char_traitsIwEE) + 104u)
+48 ((& std::basic_iostream<wchar_t, std::char_traits<wchar_t> >::_ZTVSt14basic_iostreamIwSt11char_traitsIwEE) + 64u)
+
+Class QtConcurrent::BlockSizeManager
+ size=96 align=8
+ base size=92 base align=8
+QtConcurrent::BlockSizeManager (0x7f09f3efb310) 0
+
+Vtable for QFutureWatcherBase
+QFutureWatcherBase::_ZTV18QFutureWatcherBase: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QFutureWatcherBase)
+16 QFutureWatcherBase::metaObject
+24 QFutureWatcherBase::qt_metacast
+32 QFutureWatcherBase::qt_metacall
+40 QFutureWatcherBase::~QFutureWatcherBase
+48 QFutureWatcherBase::~QFutureWatcherBase
+56 QFutureWatcherBase::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QFutureWatcherBase::connectNotify
+104 QFutureWatcherBase::disconnectNotify
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+
+Class QFutureWatcherBase
+ size=16 align=8
+ base size=16 base align=8
+QFutureWatcherBase (0x7f09f3ac2cb0) 0
+ vptr=((& QFutureWatcherBase::_ZTV18QFutureWatcherBase) + 16u)
+ QObject (0x7f09f3ac2d20) 0
+ primary-for QFutureWatcherBase (0x7f09f3ac2cb0)
+
+Vtable for QFactoryInterface
+QFactoryInterface::_ZTV17QFactoryInterface: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QFactoryInterface)
+16 QFactoryInterface::~QFactoryInterface
+24 QFactoryInterface::~QFactoryInterface
+32 __cxa_pure_virtual
+
+Class QFactoryInterface
+ size=8 align=8
+ base size=8 base align=8
+QFactoryInterface (0x7f09f39deee0) 0 nearly-empty
+ vptr=((& QFactoryInterface::_ZTV17QFactoryInterface) + 16u)
+
+Vtable for QTextCodecFactoryInterface
+QTextCodecFactoryInterface::_ZTV26QTextCodecFactoryInterface: 6u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI26QTextCodecFactoryInterface)
+16 QTextCodecFactoryInterface::~QTextCodecFactoryInterface
+24 QTextCodecFactoryInterface::~QTextCodecFactoryInterface
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+
+Class QTextCodecFactoryInterface
+ size=8 align=8
+ base size=8 base align=8
+QTextCodecFactoryInterface (0x7f09f3a0b000) 0 nearly-empty
+ vptr=((& QTextCodecFactoryInterface::_ZTV26QTextCodecFactoryInterface) + 16u)
+ QFactoryInterface (0x7f09f3a0b070) 0 nearly-empty
+ primary-for QTextCodecFactoryInterface (0x7f09f3a0b000)
+
+Vtable for QTextCodecPlugin
+QTextCodecPlugin::_ZTV16QTextCodecPlugin: 27u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QTextCodecPlugin)
+16 QTextCodecPlugin::metaObject
+24 QTextCodecPlugin::qt_metacast
+32 QTextCodecPlugin::qt_metacall
+40 QTextCodecPlugin::~QTextCodecPlugin
+48 QTextCodecPlugin::~QTextCodecPlugin
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 __cxa_pure_virtual
+136 __cxa_pure_virtual
+144 __cxa_pure_virtual
+152 QTextCodecPlugin::keys
+160 QTextCodecPlugin::create
+168 (int (*)(...))-0x00000000000000010
+176 (int (*)(...))(& _ZTI16QTextCodecPlugin)
+184 QTextCodecPlugin::_ZThn16_N16QTextCodecPluginD1Ev
+192 QTextCodecPlugin::_ZThn16_N16QTextCodecPluginD0Ev
+200 QTextCodecPlugin::_ZThn16_NK16QTextCodecPlugin4keysEv
+208 QTextCodecPlugin::_ZThn16_N16QTextCodecPlugin6createERK7QString
+
+Class QTextCodecPlugin
+ size=24 align=8
+ base size=24 base align=8
+QTextCodecPlugin (0x7f09f3a05e80) 0
+ vptr=((& QTextCodecPlugin::_ZTV16QTextCodecPlugin) + 16u)
+ QObject (0x7f09f3a0b8c0) 0
+ primary-for QTextCodecPlugin (0x7f09f3a05e80)
+ QTextCodecFactoryInterface (0x7f09f3a0b930) 16 nearly-empty
+ vptr=((& QTextCodecPlugin::_ZTV16QTextCodecPlugin) + 184u)
+ QFactoryInterface (0x7f09f3a0b9a0) 16 nearly-empty
+ primary-for QTextCodecFactoryInterface (0x7f09f3a0b930)
+
+Class QLibraryInfo
+ size=1 align=1
+ base size=0 base align=1
+QLibraryInfo (0x7f09f3a247e0) 0 empty
+
+Vtable for QTranslator
+QTranslator::_ZTV11QTranslator: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QTranslator)
+16 QTranslator::metaObject
+24 QTranslator::qt_metacast
+32 QTranslator::qt_metacall
+40 QTranslator::~QTranslator
+48 QTranslator::~QTranslator
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QTranslator::translate
+120 QTranslator::isEmpty
+
+Class QTranslator
+ size=16 align=8
+ base size=16 base align=8
+QTranslator (0x7f09f38630e0) 0
+ vptr=((& QTranslator::_ZTV11QTranslator) + 16u)
+ QObject (0x7f09f3863150) 0
+ primary-for QTranslator (0x7f09f38630e0)
+
+Class __exception
+ size=40 align=8
+ base size=40 base align=8
+__exception (0x7f09f3881070) 0
+
+Vtable for QMimeData
+QMimeData::_ZTV9QMimeData: 17u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QMimeData)
+16 QMimeData::metaObject
+24 QMimeData::qt_metacast
+32 QMimeData::qt_metacall
+40 QMimeData::~QMimeData
+48 QMimeData::~QMimeData
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QMimeData::hasFormat
+120 QMimeData::formats
+128 QMimeData::retrieveData
+
+Class QMimeData
+ size=16 align=8
+ base size=16 base align=8
+QMimeData (0x7f09f38e3230) 0
+ vptr=((& QMimeData::_ZTV9QMimeData) + 16u)
+ QObject (0x7f09f38e32a0) 0
+ primary-for QMimeData (0x7f09f38e3230)
+
+Vtable for QEventLoop
+QEventLoop::_ZTV10QEventLoop: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QEventLoop)
+16 QEventLoop::metaObject
+24 QEventLoop::qt_metacast
+32 QEventLoop::qt_metacall
+40 QEventLoop::~QEventLoop
+48 QEventLoop::~QEventLoop
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QEventLoop
+ size=16 align=8
+ base size=16 base align=8
+QEventLoop (0x7f09f38fda80) 0
+ vptr=((& QEventLoop::_ZTV10QEventLoop) + 16u)
+ QObject (0x7f09f38fdaf0) 0
+ primary-for QEventLoop (0x7f09f38fda80)
+
+Vtable for QEvent
+QEvent::_ZTV6QEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI6QEvent)
+16 QEvent::~QEvent
+24 QEvent::~QEvent
+
+Class QEvent
+ size=24 align=8
+ base size=20 base align=8
+QEvent (0x7f09f393c3f0) 0
+ vptr=((& QEvent::_ZTV6QEvent) + 16u)
+
+Vtable for QTimerEvent
+QTimerEvent::_ZTV11QTimerEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QTimerEvent)
+16 QTimerEvent::~QTimerEvent
+24 QTimerEvent::~QTimerEvent
+
+Class QTimerEvent
+ size=24 align=8
+ base size=24 base align=8
+QTimerEvent (0x7f09f375a000) 0
+ vptr=((& QTimerEvent::_ZTV11QTimerEvent) + 16u)
+ QEvent (0x7f09f375a070) 0
+ primary-for QTimerEvent (0x7f09f375a000)
+
+Vtable for QChildEvent
+QChildEvent::_ZTV11QChildEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QChildEvent)
+16 QChildEvent::~QChildEvent
+24 QChildEvent::~QChildEvent
+
+Class QChildEvent
+ size=32 align=8
+ base size=32 base align=8
+QChildEvent (0x7f09f375a460) 0
+ vptr=((& QChildEvent::_ZTV11QChildEvent) + 16u)
+ QEvent (0x7f09f375a4d0) 0
+ primary-for QChildEvent (0x7f09f375a460)
+
+Vtable for QCustomEvent
+QCustomEvent::_ZTV12QCustomEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QCustomEvent)
+16 QCustomEvent::~QCustomEvent
+24 QCustomEvent::~QCustomEvent
+
+Class QCustomEvent
+ size=24 align=8
+ base size=20 base align=8
+QCustomEvent (0x7f09f376c700) 0
+ vptr=((& QCustomEvent::_ZTV12QCustomEvent) + 16u)
+ QEvent (0x7f09f376c770) 0
+ primary-for QCustomEvent (0x7f09f376c700)
+
+Vtable for QDynamicPropertyChangeEvent
+QDynamicPropertyChangeEvent::_ZTV27QDynamicPropertyChangeEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI27QDynamicPropertyChangeEvent)
+16 QDynamicPropertyChangeEvent::~QDynamicPropertyChangeEvent
+24 QDynamicPropertyChangeEvent::~QDynamicPropertyChangeEvent
+
+Class QDynamicPropertyChangeEvent
+ size=32 align=8
+ base size=32 base align=8
+QDynamicPropertyChangeEvent (0x7f09f376cee0) 0
+ vptr=((& QDynamicPropertyChangeEvent::_ZTV27QDynamicPropertyChangeEvent) + 16u)
+ QEvent (0x7f09f376cf50) 0
+ primary-for QDynamicPropertyChangeEvent (0x7f09f376cee0)
+
+Vtable for QCoreApplication
+QCoreApplication::_ZTV16QCoreApplication: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QCoreApplication)
+16 QCoreApplication::metaObject
+24 QCoreApplication::qt_metacast
+32 QCoreApplication::qt_metacall
+40 QCoreApplication::~QCoreApplication
+48 QCoreApplication::~QCoreApplication
+56 QCoreApplication::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QCoreApplication::notify
+120 QCoreApplication::compressEvent
+
+Class QCoreApplication
+ size=16 align=8
+ base size=16 base align=8
+QCoreApplication (0x7f09f377a380) 0
+ vptr=((& QCoreApplication::_ZTV16QCoreApplication) + 16u)
+ QObject (0x7f09f377a3f0) 0
+ primary-for QCoreApplication (0x7f09f377a380)
+
+Vtable for QSharedMemory
+QSharedMemory::_ZTV13QSharedMemory: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QSharedMemory)
+16 QSharedMemory::metaObject
+24 QSharedMemory::qt_metacast
+32 QSharedMemory::qt_metacall
+40 QSharedMemory::~QSharedMemory
+48 QSharedMemory::~QSharedMemory
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QSharedMemory
+ size=16 align=8
+ base size=16 base align=8
+QSharedMemory (0x7f09f37a6b60) 0
+ vptr=((& QSharedMemory::_ZTV13QSharedMemory) + 16u)
+ QObject (0x7f09f37a6bd0) 0
+ primary-for QSharedMemory (0x7f09f37a6b60)
+
+Class QModelIndex
+ size=24 align=8
+ base size=24 base align=8
+QModelIndex (0x7f09f37c5930) 0
+
+Class QPersistentModelIndex
+ size=8 align=8
+ base size=8 base align=8
+QPersistentModelIndex (0x7f09f37f03f0) 0
+
+Vtable for QAbstractItemModel
+QAbstractItemModel::_ZTV18QAbstractItemModel: 42u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QAbstractItemModel)
+16 QAbstractItemModel::metaObject
+24 QAbstractItemModel::qt_metacast
+32 QAbstractItemModel::qt_metacall
+40 QAbstractItemModel::~QAbstractItemModel
+48 QAbstractItemModel::~QAbstractItemModel
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 __cxa_pure_virtual
+136 __cxa_pure_virtual
+144 QAbstractItemModel::hasChildren
+152 __cxa_pure_virtual
+160 QAbstractItemModel::setData
+168 QAbstractItemModel::headerData
+176 QAbstractItemModel::setHeaderData
+184 QAbstractItemModel::itemData
+192 QAbstractItemModel::setItemData
+200 QAbstractItemModel::mimeTypes
+208 QAbstractItemModel::mimeData
+216 QAbstractItemModel::dropMimeData
+224 QAbstractItemModel::supportedDropActions
+232 QAbstractItemModel::insertRows
+240 QAbstractItemModel::insertColumns
+248 QAbstractItemModel::removeRows
+256 QAbstractItemModel::removeColumns
+264 QAbstractItemModel::fetchMore
+272 QAbstractItemModel::canFetchMore
+280 QAbstractItemModel::flags
+288 QAbstractItemModel::sort
+296 QAbstractItemModel::buddy
+304 QAbstractItemModel::match
+312 QAbstractItemModel::span
+320 QAbstractItemModel::submit
+328 QAbstractItemModel::revert
+
+Class QAbstractItemModel
+ size=16 align=8
+ base size=16 base align=8
+QAbstractItemModel (0x7f09f37fc700) 0
+ vptr=((& QAbstractItemModel::_ZTV18QAbstractItemModel) + 16u)
+ QObject (0x7f09f37fc770) 0
+ primary-for QAbstractItemModel (0x7f09f37fc700)
+
+Vtable for QAbstractTableModel
+QAbstractTableModel::_ZTV19QAbstractTableModel: 42u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QAbstractTableModel)
+16 QAbstractTableModel::metaObject
+24 QAbstractTableModel::qt_metacast
+32 QAbstractTableModel::qt_metacall
+40 QAbstractTableModel::~QAbstractTableModel
+48 QAbstractTableModel::~QAbstractTableModel
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QAbstractTableModel::index
+120 QAbstractTableModel::parent
+128 __cxa_pure_virtual
+136 __cxa_pure_virtual
+144 QAbstractTableModel::hasChildren
+152 __cxa_pure_virtual
+160 QAbstractItemModel::setData
+168 QAbstractItemModel::headerData
+176 QAbstractItemModel::setHeaderData
+184 QAbstractItemModel::itemData
+192 QAbstractItemModel::setItemData
+200 QAbstractItemModel::mimeTypes
+208 QAbstractItemModel::mimeData
+216 QAbstractTableModel::dropMimeData
+224 QAbstractItemModel::supportedDropActions
+232 QAbstractItemModel::insertRows
+240 QAbstractItemModel::insertColumns
+248 QAbstractItemModel::removeRows
+256 QAbstractItemModel::removeColumns
+264 QAbstractItemModel::fetchMore
+272 QAbstractItemModel::canFetchMore
+280 QAbstractItemModel::flags
+288 QAbstractItemModel::sort
+296 QAbstractItemModel::buddy
+304 QAbstractItemModel::match
+312 QAbstractItemModel::span
+320 QAbstractItemModel::submit
+328 QAbstractItemModel::revert
+
+Class QAbstractTableModel
+ size=16 align=8
+ base size=16 base align=8
+QAbstractTableModel (0x7f09f364fa10) 0
+ vptr=((& QAbstractTableModel::_ZTV19QAbstractTableModel) + 16u)
+ QAbstractItemModel (0x7f09f364fa80) 0
+ primary-for QAbstractTableModel (0x7f09f364fa10)
+ QObject (0x7f09f364faf0) 0
+ primary-for QAbstractItemModel (0x7f09f364fa80)
+
+Vtable for QAbstractListModel
+QAbstractListModel::_ZTV18QAbstractListModel: 42u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QAbstractListModel)
+16 QAbstractListModel::metaObject
+24 QAbstractListModel::qt_metacast
+32 QAbstractListModel::qt_metacall
+40 QAbstractListModel::~QAbstractListModel
+48 QAbstractListModel::~QAbstractListModel
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QAbstractListModel::index
+120 QAbstractListModel::parent
+128 __cxa_pure_virtual
+136 QAbstractListModel::columnCount
+144 QAbstractListModel::hasChildren
+152 __cxa_pure_virtual
+160 QAbstractItemModel::setData
+168 QAbstractItemModel::headerData
+176 QAbstractItemModel::setHeaderData
+184 QAbstractItemModel::itemData
+192 QAbstractItemModel::setItemData
+200 QAbstractItemModel::mimeTypes
+208 QAbstractItemModel::mimeData
+216 QAbstractListModel::dropMimeData
+224 QAbstractItemModel::supportedDropActions
+232 QAbstractItemModel::insertRows
+240 QAbstractItemModel::insertColumns
+248 QAbstractItemModel::removeRows
+256 QAbstractItemModel::removeColumns
+264 QAbstractItemModel::fetchMore
+272 QAbstractItemModel::canFetchMore
+280 QAbstractItemModel::flags
+288 QAbstractItemModel::sort
+296 QAbstractItemModel::buddy
+304 QAbstractItemModel::match
+312 QAbstractItemModel::span
+320 QAbstractItemModel::submit
+328 QAbstractItemModel::revert
+
+Class QAbstractListModel
+ size=16 align=8
+ base size=16 base align=8
+QAbstractListModel (0x7f09f365b310) 0
+ vptr=((& QAbstractListModel::_ZTV18QAbstractListModel) + 16u)
+ QAbstractItemModel (0x7f09f3668000) 0
+ primary-for QAbstractListModel (0x7f09f365b310)
+ QObject (0x7f09f3668070) 0
+ primary-for QAbstractItemModel (0x7f09f3668000)
+
+Vtable for QSignalMapper
+QSignalMapper::_ZTV13QSignalMapper: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QSignalMapper)
+16 QSignalMapper::metaObject
+24 QSignalMapper::qt_metacast
+32 QSignalMapper::qt_metacall
+40 QSignalMapper::~QSignalMapper
+48 QSignalMapper::~QSignalMapper
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QSignalMapper
+ size=16 align=8
+ base size=16 base align=8
+QSignalMapper (0x7f09f369b0e0) 0
+ vptr=((& QSignalMapper::_ZTV13QSignalMapper) + 16u)
+ QObject (0x7f09f369b150) 0
+ primary-for QSignalMapper (0x7f09f369b0e0)
+
+Vtable for QObjectCleanupHandler
+QObjectCleanupHandler::_ZTV21QObjectCleanupHandler: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI21QObjectCleanupHandler)
+16 QObjectCleanupHandler::metaObject
+24 QObjectCleanupHandler::qt_metacast
+32 QObjectCleanupHandler::qt_metacall
+40 QObjectCleanupHandler::~QObjectCleanupHandler
+48 QObjectCleanupHandler::~QObjectCleanupHandler
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QObjectCleanupHandler
+ size=24 align=8
+ base size=24 base align=8
+QObjectCleanupHandler (0x7f09f36b44d0) 0
+ vptr=((& QObjectCleanupHandler::_ZTV21QObjectCleanupHandler) + 16u)
+ QObject (0x7f09f36b4540) 0
+ primary-for QObjectCleanupHandler (0x7f09f36b44d0)
+
+Class QBasicTimer
+ size=4 align=4
+ base size=4 base align=4
+QBasicTimer (0x7f09f36c5620) 0
+
+Vtable for QSocketNotifier
+QSocketNotifier::_ZTV15QSocketNotifier: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QSocketNotifier)
+16 QSocketNotifier::metaObject
+24 QSocketNotifier::qt_metacast
+32 QSocketNotifier::qt_metacall
+40 QSocketNotifier::~QSocketNotifier
+48 QSocketNotifier::~QSocketNotifier
+56 QSocketNotifier::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QSocketNotifier
+ size=32 align=8
+ base size=25 base align=8
+QSocketNotifier (0x7f09f36cda10) 0
+ vptr=((& QSocketNotifier::_ZTV15QSocketNotifier) + 16u)
+ QObject (0x7f09f36cda80) 0
+ primary-for QSocketNotifier (0x7f09f36cda10)
+
+Vtable for QTimer
+QTimer::_ZTV6QTimer: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI6QTimer)
+16 QTimer::metaObject
+24 QTimer::qt_metacast
+32 QTimer::qt_metacall
+40 QTimer::~QTimer
+48 QTimer::~QTimer
+56 QObject::event
+64 QObject::eventFilter
+72 QTimer::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QTimer
+ size=32 align=8
+ base size=29 base align=8
+QTimer (0x7f09f36e9d90) 0
+ vptr=((& QTimer::_ZTV6QTimer) + 16u)
+ QObject (0x7f09f36e9e00) 0
+ primary-for QTimer (0x7f09f36e9d90)
+
+Vtable for QAbstractEventDispatcher
+QAbstractEventDispatcher::_ZTV24QAbstractEventDispatcher: 27u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI24QAbstractEventDispatcher)
+16 QAbstractEventDispatcher::metaObject
+24 QAbstractEventDispatcher::qt_metacast
+32 QAbstractEventDispatcher::qt_metacall
+40 QAbstractEventDispatcher::~QAbstractEventDispatcher
+48 QAbstractEventDispatcher::~QAbstractEventDispatcher
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 __cxa_pure_virtual
+136 __cxa_pure_virtual
+144 __cxa_pure_virtual
+152 __cxa_pure_virtual
+160 __cxa_pure_virtual
+168 __cxa_pure_virtual
+176 __cxa_pure_virtual
+184 __cxa_pure_virtual
+192 __cxa_pure_virtual
+200 QAbstractEventDispatcher::startingUp
+208 QAbstractEventDispatcher::closingDown
+
+Class QAbstractEventDispatcher
+ size=16 align=8
+ base size=16 base align=8
+QAbstractEventDispatcher (0x7f09f370e380) 0
+ vptr=((& QAbstractEventDispatcher::_ZTV24QAbstractEventDispatcher) + 16u)
+ QObject (0x7f09f370e3f0) 0
+ primary-for QAbstractEventDispatcher (0x7f09f370e380)
+
+Class QMetaMethod
+ size=16 align=8
+ base size=12 base align=8
+QMetaMethod (0x7f09f3729230) 0
+
+Class QMetaEnum
+ size=16 align=8
+ base size=12 base align=8
+QMetaEnum (0x7f09f3744690) 0
+
+Class QMetaProperty
+ size=32 align=8
+ base size=32 base align=8
+QMetaProperty (0x7f09f35513f0) 0
+
+Class QMetaClassInfo
+ size=16 align=8
+ base size=12 base align=8
+QMetaClassInfo (0x7f09f3551a80) 0
+
+Class QSystemSemaphore
+ size=8 align=8
+ base size=8 base align=8
+QSystemSemaphore (0x7f09f35635b0) 0
+
+Vtable for QLibrary
+QLibrary::_ZTV8QLibrary: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI8QLibrary)
+16 QLibrary::metaObject
+24 QLibrary::qt_metacast
+32 QLibrary::qt_metacall
+40 QLibrary::~QLibrary
+48 QLibrary::~QLibrary
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QLibrary
+ size=32 align=8
+ base size=25 base align=8
+QLibrary (0x7f09f3563ee0) 0
+ vptr=((& QLibrary::_ZTV8QLibrary) + 16u)
+ QObject (0x7f09f3563f50) 0
+ primary-for QLibrary (0x7f09f3563ee0)
+
+Vtable for QPluginLoader
+QPluginLoader::_ZTV13QPluginLoader: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QPluginLoader)
+16 QPluginLoader::metaObject
+24 QPluginLoader::qt_metacast
+32 QPluginLoader::qt_metacall
+40 QPluginLoader::~QPluginLoader
+48 QPluginLoader::~QPluginLoader
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QPluginLoader
+ size=32 align=8
+ base size=25 base align=8
+QPluginLoader (0x7f09f35aa9a0) 0
+ vptr=((& QPluginLoader::_ZTV13QPluginLoader) + 16u)
+ QObject (0x7f09f35aaa10) 0
+ primary-for QPluginLoader (0x7f09f35aa9a0)
+
+Class QUuid
+ size=16 align=4
+ base size=16 base align=4
+QUuid (0x7f09f35cd150) 0
+
+Class QSemaphore
+ size=8 align=8
+ base size=8 base align=8
+QSemaphore (0x7f09f35eba80) 0
+
+Class QThreadStorageData
+ size=4 align=4
+ base size=4 base align=4
+QThreadStorageData (0x7f09f35fd000) 0
+
+Class QReadWriteLock
+ size=8 align=8
+ base size=8 base align=8
+QReadWriteLock (0x7f09f35fd770) 0
+
+Class QReadLocker
+ size=8 align=8
+ base size=8 base align=8
+QReadLocker (0x7f09f35fde00) 0
+
+Class QWriteLocker
+ size=8 align=8
+ base size=8 base align=8
+QWriteLocker (0x7f09f362b1c0) 0
+
+Class QDomImplementation
+ size=8 align=8
+ base size=8 base align=8
+QDomImplementation (0x7f09f363d540) 0
+
+Class QDomNode
+ size=8 align=8
+ base size=8 base align=8
+QDomNode (0x7f09f363de70) 0
+
+Class QDomNodeList
+ size=8 align=8
+ base size=8 base align=8
+QDomNodeList (0x7f09f34690e0) 0
+
+Class QDomDocumentType
+ size=8 align=8
+ base size=8 base align=8
+QDomDocumentType (0x7f09f3473150) 0
+ QDomNode (0x7f09f34731c0) 0
+
+Class QDomDocument
+ size=8 align=8
+ base size=8 base align=8
+QDomDocument (0x7f09f3473cb0) 0
+ QDomNode (0x7f09f3473d20) 0
+
+Class QDomNamedNodeMap
+ size=8 align=8
+ base size=8 base align=8
+QDomNamedNodeMap (0x7f09f347bbd0) 0
+
+Class QDomDocumentFragment
+ size=8 align=8
+ base size=8 base align=8
+QDomDocumentFragment (0x7f09f348da10) 0
+ QDomNode (0x7f09f348da80) 0
+
+Class QDomCharacterData
+ size=8 align=8
+ base size=8 base align=8
+QDomCharacterData (0x7f09f349a5b0) 0
+ QDomNode (0x7f09f349a620) 0
+
+Class QDomAttr
+ size=8 align=8
+ base size=8 base align=8
+QDomAttr (0x7f09f34a1000) 0
+ QDomNode (0x7f09f34a1070) 0
+
+Class QDomElement
+ size=8 align=8
+ base size=8 base align=8
+QDomElement (0x7f09f34a1b60) 0
+ QDomNode (0x7f09f34a1bd0) 0
+
+Class QDomText
+ size=8 align=8
+ base size=8 base align=8
+QDomText (0x7f09f34a8e00) 0
+ QDomCharacterData (0x7f09f34a8e70) 0
+ QDomNode (0x7f09f34a8ee0) 0
+
+Class QDomComment
+ size=8 align=8
+ base size=8 base align=8
+QDomComment (0x7f09f34bfb60) 0
+ QDomCharacterData (0x7f09f34bfbd0) 0
+ QDomNode (0x7f09f34bfc40) 0
+
+Class QDomCDATASection
+ size=8 align=8
+ base size=8 base align=8
+QDomCDATASection (0x7f09f34c4770) 0
+ QDomText (0x7f09f34c47e0) 0
+ QDomCharacterData (0x7f09f34c4850) 0
+ QDomNode (0x7f09f34c48c0) 0
+
+Class QDomNotation
+ size=8 align=8
+ base size=8 base align=8
+QDomNotation (0x7f09f34c83f0) 0
+ QDomNode (0x7f09f34c8460) 0
+
+Class QDomEntity
+ size=8 align=8
+ base size=8 base align=8
+QDomEntity (0x7f09f34c8f50) 0
+ QDomNode (0x7f09f34d0000) 0
+
+Class QDomEntityReference
+ size=8 align=8
+ base size=8 base align=8
+QDomEntityReference (0x7f09f34d0af0) 0
+ QDomNode (0x7f09f34d0b60) 0
+
+Class QDomProcessingInstruction
+ size=8 align=8
+ base size=8 base align=8
+QDomProcessingInstruction (0x7f09f34d4690) 0
+ QDomNode (0x7f09f34d4700) 0
+
+Class QXmlNamespaceSupport
+ size=8 align=8
+ base size=8 base align=8
+QXmlNamespaceSupport (0x7f09f34dc230) 0
+
+Class QXmlAttributes::Attribute
+ size=32 align=8
+ base size=32 base align=8
+QXmlAttributes::Attribute (0x7f09f34dc8c0) 0
+
+Vtable for QXmlAttributes
+QXmlAttributes::_ZTV14QXmlAttributes: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QXmlAttributes)
+16 QXmlAttributes::~QXmlAttributes
+24 QXmlAttributes::~QXmlAttributes
+
+Class QXmlAttributes
+ size=24 align=8
+ base size=24 base align=8
+QXmlAttributes (0x7f09f34dc770) 0
+ vptr=((& QXmlAttributes::_ZTV14QXmlAttributes) + 16u)
+
+Vtable for QXmlInputSource
+QXmlInputSource::_ZTV15QXmlInputSource: 11u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QXmlInputSource)
+16 QXmlInputSource::~QXmlInputSource
+24 QXmlInputSource::~QXmlInputSource
+32 QXmlInputSource::setData
+40 QXmlInputSource::setData
+48 QXmlInputSource::fetchData
+56 QXmlInputSource::data
+64 QXmlInputSource::next
+72 QXmlInputSource::reset
+80 QXmlInputSource::fromRawData
+
+Class QXmlInputSource
+ size=16 align=8
+ base size=16 base align=8
+QXmlInputSource (0x7f09f351d000) 0
+ vptr=((& QXmlInputSource::_ZTV15QXmlInputSource) + 16u)
+
+Class QXmlParseException
+ size=8 align=8
+ base size=8 base align=8
+QXmlParseException (0x7f09f351d310) 0
+
+Vtable for QXmlReader
+QXmlReader::_ZTV10QXmlReader: 24u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QXmlReader)
+16 QXmlReader::~QXmlReader
+24 QXmlReader::~QXmlReader
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+48 __cxa_pure_virtual
+56 __cxa_pure_virtual
+64 __cxa_pure_virtual
+72 __cxa_pure_virtual
+80 __cxa_pure_virtual
+88 __cxa_pure_virtual
+96 __cxa_pure_virtual
+104 __cxa_pure_virtual
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 __cxa_pure_virtual
+136 __cxa_pure_virtual
+144 __cxa_pure_virtual
+152 __cxa_pure_virtual
+160 __cxa_pure_virtual
+168 __cxa_pure_virtual
+176 __cxa_pure_virtual
+184 __cxa_pure_virtual
+
+Class QXmlReader
+ size=8 align=8
+ base size=8 base align=8
+QXmlReader (0x7f09f351d5b0) 0 nearly-empty
+ vptr=((& QXmlReader::_ZTV10QXmlReader) + 16u)
+
+Vtable for QXmlSimpleReader
+QXmlSimpleReader::_ZTV16QXmlSimpleReader: 26u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QXmlSimpleReader)
+16 QXmlSimpleReader::~QXmlSimpleReader
+24 QXmlSimpleReader::~QXmlSimpleReader
+32 QXmlSimpleReader::feature
+40 QXmlSimpleReader::setFeature
+48 QXmlSimpleReader::hasFeature
+56 QXmlSimpleReader::property
+64 QXmlSimpleReader::setProperty
+72 QXmlSimpleReader::hasProperty
+80 QXmlSimpleReader::setEntityResolver
+88 QXmlSimpleReader::entityResolver
+96 QXmlSimpleReader::setDTDHandler
+104 QXmlSimpleReader::DTDHandler
+112 QXmlSimpleReader::setContentHandler
+120 QXmlSimpleReader::contentHandler
+128 QXmlSimpleReader::setErrorHandler
+136 QXmlSimpleReader::errorHandler
+144 QXmlSimpleReader::setLexicalHandler
+152 QXmlSimpleReader::lexicalHandler
+160 QXmlSimpleReader::setDeclHandler
+168 QXmlSimpleReader::declHandler
+176 QXmlSimpleReader::parse
+184 QXmlSimpleReader::parse
+192 QXmlSimpleReader::parse
+200 QXmlSimpleReader::parseContinue
+
+Class QXmlSimpleReader
+ size=16 align=8
+ base size=16 base align=8
+QXmlSimpleReader (0x7f09f351d2a0) 0
+ vptr=((& QXmlSimpleReader::_ZTV16QXmlSimpleReader) + 16u)
+ QXmlReader (0x7f09f351d690) 0 nearly-empty
+ primary-for QXmlSimpleReader (0x7f09f351d2a0)
+
+Vtable for QXmlLocator
+QXmlLocator::_ZTV11QXmlLocator: 6u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QXmlLocator)
+16 QXmlLocator::~QXmlLocator
+24 QXmlLocator::~QXmlLocator
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+
+Class QXmlLocator
+ size=8 align=8
+ base size=8 base align=8
+QXmlLocator (0x7f09f3539a10) 0 nearly-empty
+ vptr=((& QXmlLocator::_ZTV11QXmlLocator) + 16u)
+
+Vtable for QXmlContentHandler
+QXmlContentHandler::_ZTV18QXmlContentHandler: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QXmlContentHandler)
+16 QXmlContentHandler::~QXmlContentHandler
+24 QXmlContentHandler::~QXmlContentHandler
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+48 __cxa_pure_virtual
+56 __cxa_pure_virtual
+64 __cxa_pure_virtual
+72 __cxa_pure_virtual
+80 __cxa_pure_virtual
+88 __cxa_pure_virtual
+96 __cxa_pure_virtual
+104 __cxa_pure_virtual
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+
+Class QXmlContentHandler
+ size=8 align=8
+ base size=8 base align=8
+QXmlContentHandler (0x7f09f3539c40) 0 nearly-empty
+ vptr=((& QXmlContentHandler::_ZTV18QXmlContentHandler) + 16u)
+
+Vtable for QXmlErrorHandler
+QXmlErrorHandler::_ZTV16QXmlErrorHandler: 8u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QXmlErrorHandler)
+16 QXmlErrorHandler::~QXmlErrorHandler
+24 QXmlErrorHandler::~QXmlErrorHandler
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+48 __cxa_pure_virtual
+56 __cxa_pure_virtual
+
+Class QXmlErrorHandler
+ size=8 align=8
+ base size=8 base align=8
+QXmlErrorHandler (0x7f09f3352540) 0 nearly-empty
+ vptr=((& QXmlErrorHandler::_ZTV16QXmlErrorHandler) + 16u)
+
+Vtable for QXmlDTDHandler
+QXmlDTDHandler::_ZTV14QXmlDTDHandler: 7u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QXmlDTDHandler)
+16 QXmlDTDHandler::~QXmlDTDHandler
+24 QXmlDTDHandler::~QXmlDTDHandler
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+48 __cxa_pure_virtual
+
+Class QXmlDTDHandler
+ size=8 align=8
+ base size=8 base align=8
+QXmlDTDHandler (0x7f09f3352f50) 0 nearly-empty
+ vptr=((& QXmlDTDHandler::_ZTV14QXmlDTDHandler) + 16u)
+
+Vtable for QXmlEntityResolver
+QXmlEntityResolver::_ZTV18QXmlEntityResolver: 6u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QXmlEntityResolver)
+16 QXmlEntityResolver::~QXmlEntityResolver
+24 QXmlEntityResolver::~QXmlEntityResolver
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+
+Class QXmlEntityResolver
+ size=8 align=8
+ base size=8 base align=8
+QXmlEntityResolver (0x7f09f3361930) 0 nearly-empty
+ vptr=((& QXmlEntityResolver::_ZTV18QXmlEntityResolver) + 16u)
+
+Vtable for QXmlLexicalHandler
+QXmlLexicalHandler::_ZTV18QXmlLexicalHandler: 12u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QXmlLexicalHandler)
+16 QXmlLexicalHandler::~QXmlLexicalHandler
+24 QXmlLexicalHandler::~QXmlLexicalHandler
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+48 __cxa_pure_virtual
+56 __cxa_pure_virtual
+64 __cxa_pure_virtual
+72 __cxa_pure_virtual
+80 __cxa_pure_virtual
+88 __cxa_pure_virtual
+
+Class QXmlLexicalHandler
+ size=8 align=8
+ base size=8 base align=8
+QXmlLexicalHandler (0x7f09f336c310) 0 nearly-empty
+ vptr=((& QXmlLexicalHandler::_ZTV18QXmlLexicalHandler) + 16u)
+
+Vtable for QXmlDeclHandler
+QXmlDeclHandler::_ZTV15QXmlDeclHandler: 8u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QXmlDeclHandler)
+16 QXmlDeclHandler::~QXmlDeclHandler
+24 QXmlDeclHandler::~QXmlDeclHandler
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+48 __cxa_pure_virtual
+56 __cxa_pure_virtual
+
+Class QXmlDeclHandler
+ size=8 align=8
+ base size=8 base align=8
+QXmlDeclHandler (0x7f09f336cd20) 0 nearly-empty
+ vptr=((& QXmlDeclHandler::_ZTV15QXmlDeclHandler) + 16u)
+
+Vtable for QXmlDefaultHandler
+QXmlDefaultHandler::_ZTV18QXmlDefaultHandler: 73u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QXmlDefaultHandler)
+16 QXmlDefaultHandler::~QXmlDefaultHandler
+24 QXmlDefaultHandler::~QXmlDefaultHandler
+32 QXmlDefaultHandler::setDocumentLocator
+40 QXmlDefaultHandler::startDocument
+48 QXmlDefaultHandler::endDocument
+56 QXmlDefaultHandler::startPrefixMapping
+64 QXmlDefaultHandler::endPrefixMapping
+72 QXmlDefaultHandler::startElement
+80 QXmlDefaultHandler::endElement
+88 QXmlDefaultHandler::characters
+96 QXmlDefaultHandler::ignorableWhitespace
+104 QXmlDefaultHandler::processingInstruction
+112 QXmlDefaultHandler::skippedEntity
+120 QXmlDefaultHandler::errorString
+128 QXmlDefaultHandler::warning
+136 QXmlDefaultHandler::error
+144 QXmlDefaultHandler::fatalError
+152 QXmlDefaultHandler::notationDecl
+160 QXmlDefaultHandler::unparsedEntityDecl
+168 QXmlDefaultHandler::resolveEntity
+176 QXmlDefaultHandler::startDTD
+184 QXmlDefaultHandler::endDTD
+192 QXmlDefaultHandler::startEntity
+200 QXmlDefaultHandler::endEntity
+208 QXmlDefaultHandler::startCDATA
+216 QXmlDefaultHandler::endCDATA
+224 QXmlDefaultHandler::comment
+232 QXmlDefaultHandler::attributeDecl
+240 QXmlDefaultHandler::internalEntityDecl
+248 QXmlDefaultHandler::externalEntityDecl
+256 (int (*)(...))-0x00000000000000008
+264 (int (*)(...))(& _ZTI18QXmlDefaultHandler)
+272 QXmlDefaultHandler::_ZThn8_N18QXmlDefaultHandlerD1Ev
+280 QXmlDefaultHandler::_ZThn8_N18QXmlDefaultHandlerD0Ev
+288 QXmlDefaultHandler::_ZThn8_N18QXmlDefaultHandler7warningERK18QXmlParseException
+296 QXmlDefaultHandler::_ZThn8_N18QXmlDefaultHandler5errorERK18QXmlParseException
+304 QXmlDefaultHandler::_ZThn8_N18QXmlDefaultHandler10fatalErrorERK18QXmlParseException
+312 QXmlDefaultHandler::_ZThn8_NK18QXmlDefaultHandler11errorStringEv
+320 (int (*)(...))-0x00000000000000010
+328 (int (*)(...))(& _ZTI18QXmlDefaultHandler)
+336 QXmlDefaultHandler::_ZThn16_N18QXmlDefaultHandlerD1Ev
+344 QXmlDefaultHandler::_ZThn16_N18QXmlDefaultHandlerD0Ev
+352 QXmlDefaultHandler::_ZThn16_N18QXmlDefaultHandler12notationDeclERK7QStringS2_S2_
+360 QXmlDefaultHandler::_ZThn16_N18QXmlDefaultHandler18unparsedEntityDeclERK7QStringS2_S2_S2_
+368 QXmlDefaultHandler::_ZThn16_NK18QXmlDefaultHandler11errorStringEv
+376 (int (*)(...))-0x00000000000000018
+384 (int (*)(...))(& _ZTI18QXmlDefaultHandler)
+392 QXmlDefaultHandler::_ZThn24_N18QXmlDefaultHandlerD1Ev
+400 QXmlDefaultHandler::_ZThn24_N18QXmlDefaultHandlerD0Ev
+408 QXmlDefaultHandler::_ZThn24_N18QXmlDefaultHandler13resolveEntityERK7QStringS2_RP15QXmlInputSource
+416 QXmlDefaultHandler::_ZThn24_NK18QXmlDefaultHandler11errorStringEv
+424 (int (*)(...))-0x00000000000000020
+432 (int (*)(...))(& _ZTI18QXmlDefaultHandler)
+440 QXmlDefaultHandler::_ZThn32_N18QXmlDefaultHandlerD1Ev
+448 QXmlDefaultHandler::_ZThn32_N18QXmlDefaultHandlerD0Ev
+456 QXmlDefaultHandler::_ZThn32_N18QXmlDefaultHandler8startDTDERK7QStringS2_S2_
+464 QXmlDefaultHandler::_ZThn32_N18QXmlDefaultHandler6endDTDEv
+472 QXmlDefaultHandler::_ZThn32_N18QXmlDefaultHandler11startEntityERK7QString
+480 QXmlDefaultHandler::_ZThn32_N18QXmlDefaultHandler9endEntityERK7QString
+488 QXmlDefaultHandler::_ZThn32_N18QXmlDefaultHandler10startCDATAEv
+496 QXmlDefaultHandler::_ZThn32_N18QXmlDefaultHandler8endCDATAEv
+504 QXmlDefaultHandler::_ZThn32_N18QXmlDefaultHandler7commentERK7QString
+512 QXmlDefaultHandler::_ZThn32_NK18QXmlDefaultHandler11errorStringEv
+520 (int (*)(...))-0x00000000000000028
+528 (int (*)(...))(& _ZTI18QXmlDefaultHandler)
+536 QXmlDefaultHandler::_ZThn40_N18QXmlDefaultHandlerD1Ev
+544 QXmlDefaultHandler::_ZThn40_N18QXmlDefaultHandlerD0Ev
+552 QXmlDefaultHandler::_ZThn40_N18QXmlDefaultHandler13attributeDeclERK7QStringS2_S2_S2_S2_
+560 QXmlDefaultHandler::_ZThn40_N18QXmlDefaultHandler18internalEntityDeclERK7QStringS2_
+568 QXmlDefaultHandler::_ZThn40_N18QXmlDefaultHandler18externalEntityDeclERK7QStringS2_S2_
+576 QXmlDefaultHandler::_ZThn40_NK18QXmlDefaultHandler11errorStringEv
+
+Class QXmlDefaultHandler
+ size=56 align=8
+ base size=56 base align=8
+QXmlDefaultHandler (0x7f09f3376c80) 0
+ vptr=((& QXmlDefaultHandler::_ZTV18QXmlDefaultHandler) + 16u)
+ QXmlContentHandler (0x7f09f337d690) 0 nearly-empty
+ primary-for QXmlDefaultHandler (0x7f09f3376c80)
+ QXmlErrorHandler (0x7f09f337d700) 8 nearly-empty
+ vptr=((& QXmlDefaultHandler::_ZTV18QXmlDefaultHandler) + 272u)
+ QXmlDTDHandler (0x7f09f337d770) 16 nearly-empty
+ vptr=((& QXmlDefaultHandler::_ZTV18QXmlDefaultHandler) + 336u)
+ QXmlEntityResolver (0x7f09f337d7e0) 24 nearly-empty
+ vptr=((& QXmlDefaultHandler::_ZTV18QXmlDefaultHandler) + 392u)
+ QXmlLexicalHandler (0x7f09f337d850) 32 nearly-empty
+ vptr=((& QXmlDefaultHandler::_ZTV18QXmlDefaultHandler) + 440u)
+ QXmlDeclHandler (0x7f09f337d8c0) 40 nearly-empty
+ vptr=((& QXmlDefaultHandler::_ZTV18QXmlDefaultHandler) + 536u)
+
+Vtable for QAbstractExtensionFactory
+QAbstractExtensionFactory::_ZTV25QAbstractExtensionFactory: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI25QAbstractExtensionFactory)
+16 QAbstractExtensionFactory::~QAbstractExtensionFactory
+24 QAbstractExtensionFactory::~QAbstractExtensionFactory
+32 __cxa_pure_virtual
+
+Class QAbstractExtensionFactory
+ size=8 align=8
+ base size=8 base align=8
+QAbstractExtensionFactory (0x7f09f33d1230) 0 nearly-empty
+ vptr=((& QAbstractExtensionFactory::_ZTV25QAbstractExtensionFactory) + 16u)
+
+Vtable for QAbstractExtensionManager
+QAbstractExtensionManager::_ZTV25QAbstractExtensionManager: 7u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI25QAbstractExtensionManager)
+16 QAbstractExtensionManager::~QAbstractExtensionManager
+24 QAbstractExtensionManager::~QAbstractExtensionManager
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+48 __cxa_pure_virtual
+
+Class QAbstractExtensionManager
+ size=8 align=8
+ base size=8 base align=8
+QAbstractExtensionManager (0x7f09f33de310) 0 nearly-empty
+ vptr=((& QAbstractExtensionManager::_ZTV25QAbstractExtensionManager) + 16u)
+
+Vtable for QDesignerMemberSheetExtension
+QDesignerMemberSheetExtension::_ZTV29QDesignerMemberSheetExtension: 18u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI29QDesignerMemberSheetExtension)
+16 QDesignerMemberSheetExtension::~QDesignerMemberSheetExtension
+24 QDesignerMemberSheetExtension::~QDesignerMemberSheetExtension
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+48 __cxa_pure_virtual
+56 __cxa_pure_virtual
+64 __cxa_pure_virtual
+72 __cxa_pure_virtual
+80 __cxa_pure_virtual
+88 __cxa_pure_virtual
+96 __cxa_pure_virtual
+104 __cxa_pure_virtual
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 __cxa_pure_virtual
+136 __cxa_pure_virtual
+
+Class QDesignerMemberSheetExtension
+ size=8 align=8
+ base size=8 base align=8
+QDesignerMemberSheetExtension (0x7f09f33ea460) 0 nearly-empty
+ vptr=((& QDesignerMemberSheetExtension::_ZTV29QDesignerMemberSheetExtension) + 16u)
+
+Vtable for QDesignerWidgetFactoryInterface
+QDesignerWidgetFactoryInterface::_ZTV31QDesignerWidgetFactoryInterface: 21u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI31QDesignerWidgetFactoryInterface)
+16 QDesignerWidgetFactoryInterface::metaObject
+24 QDesignerWidgetFactoryInterface::qt_metacast
+32 QDesignerWidgetFactoryInterface::qt_metacall
+40 QDesignerWidgetFactoryInterface::~QDesignerWidgetFactoryInterface
+48 QDesignerWidgetFactoryInterface::~QDesignerWidgetFactoryInterface
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 __cxa_pure_virtual
+136 __cxa_pure_virtual
+144 __cxa_pure_virtual
+152 __cxa_pure_virtual
+160 __cxa_pure_virtual
+
+Class QDesignerWidgetFactoryInterface
+ size=16 align=8
+ base size=16 base align=8
+QDesignerWidgetFactoryInterface (0x7f09f33feaf0) 0
+ vptr=((& QDesignerWidgetFactoryInterface::_ZTV31QDesignerWidgetFactoryInterface) + 16u)
+ QObject (0x7f09f33feb60) 0
+ primary-for QDesignerWidgetFactoryInterface (0x7f09f33feaf0)
+
+Vtable for QDesignerFormEditorPluginInterface
+QDesignerFormEditorPluginInterface::_ZTV34QDesignerFormEditorPluginInterface: 8u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI34QDesignerFormEditorPluginInterface)
+16 QDesignerFormEditorPluginInterface::~QDesignerFormEditorPluginInterface
+24 QDesignerFormEditorPluginInterface::~QDesignerFormEditorPluginInterface
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+48 __cxa_pure_virtual
+56 __cxa_pure_virtual
+
+Class QDesignerFormEditorPluginInterface
+ size=8 align=8
+ base size=8 base align=8
+QDesignerFormEditorPluginInterface (0x7f09f3415a80) 0 nearly-empty
+ vptr=((& QDesignerFormEditorPluginInterface::_ZTV34QDesignerFormEditorPluginInterface) + 16u)
+
+Vtable for QDesignerExtraInfoExtension
+QDesignerExtraInfoExtension::_ZTV27QDesignerExtraInfoExtension: 10u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI27QDesignerExtraInfoExtension)
+16 QDesignerExtraInfoExtension::~QDesignerExtraInfoExtension
+24 QDesignerExtraInfoExtension::~QDesignerExtraInfoExtension
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+48 __cxa_pure_virtual
+56 __cxa_pure_virtual
+64 __cxa_pure_virtual
+72 __cxa_pure_virtual
+
+Class QDesignerExtraInfoExtension
+ size=16 align=8
+ base size=16 base align=8
+QDesignerExtraInfoExtension (0x7f09f341fc40) 0
+ vptr=((& QDesignerExtraInfoExtension::_ZTV27QDesignerExtraInfoExtension) + 16u)
+
+Vtable for QDesignerDynamicPropertySheetExtension
+QDesignerDynamicPropertySheetExtension::_ZTV38QDesignerDynamicPropertySheetExtension: 9u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI38QDesignerDynamicPropertySheetExtension)
+16 QDesignerDynamicPropertySheetExtension::~QDesignerDynamicPropertySheetExtension
+24 QDesignerDynamicPropertySheetExtension::~QDesignerDynamicPropertySheetExtension
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+48 __cxa_pure_virtual
+56 __cxa_pure_virtual
+64 __cxa_pure_virtual
+
+Class QDesignerDynamicPropertySheetExtension
+ size=8 align=8
+ base size=8 base align=8
+QDesignerDynamicPropertySheetExtension (0x7f09f343b4d0) 0 nearly-empty
+ vptr=((& QDesignerDynamicPropertySheetExtension::_ZTV38QDesignerDynamicPropertySheetExtension) + 16u)
+
+Vtable for QDesignerFormWindowToolInterface
+QDesignerFormWindowToolInterface::_ZTV32QDesignerFormWindowToolInterface: 23u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI32QDesignerFormWindowToolInterface)
+16 QDesignerFormWindowToolInterface::metaObject
+24 QDesignerFormWindowToolInterface::qt_metacast
+32 QDesignerFormWindowToolInterface::qt_metacall
+40 QDesignerFormWindowToolInterface::~QDesignerFormWindowToolInterface
+48 QDesignerFormWindowToolInterface::~QDesignerFormWindowToolInterface
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 __cxa_pure_virtual
+136 __cxa_pure_virtual
+144 __cxa_pure_virtual
+152 __cxa_pure_virtual
+160 QDesignerFormWindowToolInterface::saveToDom
+168 QDesignerFormWindowToolInterface::loadFromDom
+176 __cxa_pure_virtual
+
+Class QDesignerFormWindowToolInterface
+ size=16 align=8
+ base size=16 base align=8
+QDesignerFormWindowToolInterface (0x7f09f3249b60) 0
+ vptr=((& QDesignerFormWindowToolInterface::_ZTV32QDesignerFormWindowToolInterface) + 16u)
+ QObject (0x7f09f3249bd0) 0
+ primary-for QDesignerFormWindowToolInterface (0x7f09f3249b60)
+
+Vtable for QPaintDevice
+QPaintDevice::_ZTV12QPaintDevice: 7u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QPaintDevice)
+16 QPaintDevice::~QPaintDevice
+24 QPaintDevice::~QPaintDevice
+32 QPaintDevice::devType
+40 __cxa_pure_virtual
+48 QPaintDevice::metric
+
+Class QPaintDevice
+ size=16 align=8
+ base size=10 base align=8
+QPaintDevice (0x7f09f325ec40) 0
+ vptr=((& QPaintDevice::_ZTV12QPaintDevice) + 16u)
+
+Class QColor
+ size=16 align=4
+ base size=14 base align=4
+QColor (0x7f09f329a000) 0
+
+Class QPolygon
+ size=8 align=8
+ base size=8 base align=8
+QPolygon (0x7f09f32e93f0) 0
+ QVector<QPoint> (0x7f09f32e9460) 0
+
+Class QPolygonF
+ size=8 align=8
+ base size=8 base align=8
+QPolygonF (0x7f09f332d540) 0
+ QVector<QPointF> (0x7f09f332d5b0) 0
+
+Class QRegion::QRegionData
+ size=32 align=8
+ base size=32 base align=8
+QRegion::QRegionData (0x7f09f3185af0) 0
+
+Class QRegion
+ size=8 align=8
+ base size=8 base align=8
+QRegion (0x7f09f316d1c0) 0
+
+Class QMatrix
+ size=48 align=8
+ base size=48 base align=8
+QMatrix (0x7f09f31a2310) 0
+
+Class QPainterPath::Element
+ size=24 align=8
+ base size=24 base align=8
+QPainterPath::Element (0x7f09f31d2d20) 0
+
+Class QPainterPath
+ size=8 align=8
+ base size=8 base align=8
+QPainterPath (0x7f09f31d2cb0) 0
+
+Class QPainterPathPrivate
+ size=16 align=8
+ base size=16 base align=8
+QPainterPathPrivate (0x7f09f321b0e0) 0
+
+Class QPainterPathStroker
+ size=8 align=8
+ base size=8 base align=8
+QPainterPathStroker (0x7f09f321bc40) 0
+
+Class QTransform
+ size=88 align=8
+ base size=88 base align=8
+QTransform (0x7f09f307a7e0) 0
+
+Class QImageTextKeyLang
+ size=16 align=8
+ base size=16 base align=8
+QImageTextKeyLang (0x7f09f30f8af0) 0
+
+Vtable for QImage
+QImage::_ZTV6QImage: 7u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI6QImage)
+16 QImage::~QImage
+24 QImage::~QImage
+32 QImage::devType
+40 QImage::paintEngine
+48 QImage::metric
+
+Class QImage
+ size=24 align=8
+ base size=24 base align=8
+QImage (0x7f09f3148380) 0
+ vptr=((& QImage::_ZTV6QImage) + 16u)
+ QPaintDevice (0x7f09f31483f0) 0
+ primary-for QImage (0x7f09f3148380)
+
+Vtable for QPixmap
+QPixmap::_ZTV7QPixmap: 7u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QPixmap)
+16 QPixmap::~QPixmap
+24 QPixmap::~QPixmap
+32 QPixmap::devType
+40 QPixmap::paintEngine
+48 QPixmap::metric
+
+Class QPixmap
+ size=24 align=8
+ base size=24 base align=8
+QPixmap (0x7f09f2f3ed90) 0
+ vptr=((& QPixmap::_ZTV7QPixmap) + 16u)
+ QPaintDevice (0x7f09f2f3ee00) 0
+ primary-for QPixmap (0x7f09f2f3ed90)
+
+Class QBrush
+ size=8 align=8
+ base size=8 base align=8
+QBrush (0x7f09f2f91f50) 0
+
+Class QBrushData
+ size=112 align=8
+ base size=112 base align=8
+QBrushData (0x7f09f2fb2b60) 0
+
+Class QGradient
+ size=64 align=8
+ base size=64 base align=8
+QGradient (0x7f09f2fc0d20) 0
+
+Class QLinearGradient
+ size=64 align=8
+ base size=64 base align=8
+QLinearGradient (0x7f09f2dfe7e0) 0
+ QGradient (0x7f09f2dfe850) 0
+
+Class QRadialGradient
+ size=64 align=8
+ base size=64 base align=8
+QRadialGradient (0x7f09f2dfecb0) 0
+ QGradient (0x7f09f2dfed20) 0
+
+Class QConicalGradient
+ size=64 align=8
+ base size=64 base align=8
+QConicalGradient (0x7f09f2e112a0) 0
+ QGradient (0x7f09f2e11310) 0
+
+Class QPalette
+ size=16 align=8
+ base size=12 base align=8
+QPalette (0x7f09f2e11620) 0
+
+Class QColorGroup
+ size=16 align=8
+ base size=12 base align=8
+QColorGroup (0x7f09f2e5ef50) 0
+ QPalette (0x7f09f2e67000) 0
+
+Class QFont
+ size=16 align=8
+ base size=12 base align=8
+QFont (0x7f09f2ea02a0) 0
+
+Class QFontMetrics
+ size=8 align=8
+ base size=8 base align=8
+QFontMetrics (0x7f09f2cd6ee0) 0
+
+Class QFontMetricsF
+ size=8 align=8
+ base size=8 base align=8
+QFontMetricsF (0x7f09f2cf2380) 0
+
+Class QFontInfo
+ size=8 align=8
+ base size=8 base align=8
+QFontInfo (0x7f09f2d072a0) 0
+
+Class QSizePolicy
+ size=4 align=4
+ base size=4 base align=4
+QSizePolicy (0x7f09f2d07d90) 0
+
+Class QCursor
+ size=8 align=8
+ base size=8 base align=8
+QCursor (0x7f09f2bcdaf0) 0
+
+Class QKeySequence
+ size=8 align=8
+ base size=8 base align=8
+QKeySequence (0x7f09f2bd3310) 0
+
+Class QWidgetData
+ size=88 align=8
+ base size=88 base align=8
+QWidgetData (0x7f09f2bf5ee0) 0
+
+Vtable for QWidget
+QWidget::_ZTV7QWidget: 63u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QWidget)
+16 QWidget::metaObject
+24 QWidget::qt_metacast
+32 QWidget::qt_metacall
+40 QWidget::~QWidget
+48 QWidget::~QWidget
+56 QWidget::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QWidget::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QWidget::paintEvent
+256 QWidget::moveEvent
+264 QWidget::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QWidget::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 (int (*)(...))-0x00000000000000010
+456 (int (*)(...))(& _ZTI7QWidget)
+464 QWidget::_ZThn16_N7QWidgetD1Ev
+472 QWidget::_ZThn16_N7QWidgetD0Ev
+480 QWidget::_ZThn16_NK7QWidget7devTypeEv
+488 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+496 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QWidget
+ size=40 align=8
+ base size=40 base align=8
+QWidget (0x7f09f2c1c180) 0
+ vptr=((& QWidget::_ZTV7QWidget) + 16u)
+ QObject (0x7f09f2bf5f50) 0
+ primary-for QWidget (0x7f09f2c1c180)
+ QPaintDevice (0x7f09f2c2f000) 16
+ vptr=((& QWidget::_ZTV7QWidget) + 464u)
+
+Class QIcon
+ size=8 align=8
+ base size=8 base align=8
+QIcon (0x7f09f2b81d20) 0
+
+Class QDesignerWidgetBoxInterface::Widget
+ size=32 align=8
+ base size=28 base align=8
+QDesignerWidgetBoxInterface::Widget (0x7f09f2bada80) 0
+
+Class QDesignerWidgetBoxInterface::Category
+ size=24 align=8
+ base size=24 base align=8
+QDesignerWidgetBoxInterface::Category (0x7f09f29c51c0) 0
+
+Vtable for QDesignerWidgetBoxInterface
+QDesignerWidgetBoxInterface::_ZTV27QDesignerWidgetBoxInterface: 76u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI27QDesignerWidgetBoxInterface)
+16 QDesignerWidgetBoxInterface::metaObject
+24 QDesignerWidgetBoxInterface::qt_metacast
+32 QDesignerWidgetBoxInterface::qt_metacall
+40 QDesignerWidgetBoxInterface::~QDesignerWidgetBoxInterface
+48 QDesignerWidgetBoxInterface::~QDesignerWidgetBoxInterface
+56 QWidget::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QWidget::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QWidget::paintEvent
+256 QWidget::moveEvent
+264 QWidget::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QWidget::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 __cxa_pure_virtual
+456 __cxa_pure_virtual
+464 __cxa_pure_virtual
+472 __cxa_pure_virtual
+480 __cxa_pure_virtual
+488 __cxa_pure_virtual
+496 __cxa_pure_virtual
+504 __cxa_pure_virtual
+512 __cxa_pure_virtual
+520 __cxa_pure_virtual
+528 __cxa_pure_virtual
+536 __cxa_pure_virtual
+544 __cxa_pure_virtual
+552 (int (*)(...))-0x00000000000000010
+560 (int (*)(...))(& _ZTI27QDesignerWidgetBoxInterface)
+568 QDesignerWidgetBoxInterface::_ZThn16_N27QDesignerWidgetBoxInterfaceD1Ev
+576 QDesignerWidgetBoxInterface::_ZThn16_N27QDesignerWidgetBoxInterfaceD0Ev
+584 QWidget::_ZThn16_NK7QWidget7devTypeEv
+592 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+600 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QDesignerWidgetBoxInterface
+ size=40 align=8
+ base size=40 base align=8
+QDesignerWidgetBoxInterface (0x7f09f2bad8c0) 0
+ vptr=((& QDesignerWidgetBoxInterface::_ZTV27QDesignerWidgetBoxInterface) + 16u)
+ QWidget (0x7f09f2bb4580) 0
+ primary-for QDesignerWidgetBoxInterface (0x7f09f2bad8c0)
+ QObject (0x7f09f2bad930) 0
+ primary-for QWidget (0x7f09f2bb4580)
+ QPaintDevice (0x7f09f2bad9a0) 16
+ vptr=((& QDesignerWidgetBoxInterface::_ZTV27QDesignerWidgetBoxInterface) + 568u)
+
+Class QDesignerPromotionInterface::PromotedClass
+ size=16 align=8
+ base size=16 base align=8
+QDesignerPromotionInterface::PromotedClass (0x7f09f2a48150) 0
+
+Vtable for QDesignerPromotionInterface
+QDesignerPromotionInterface::_ZTV27QDesignerPromotionInterface: 11u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI27QDesignerPromotionInterface)
+16 QDesignerPromotionInterface::~QDesignerPromotionInterface
+24 QDesignerPromotionInterface::~QDesignerPromotionInterface
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+48 __cxa_pure_virtual
+56 __cxa_pure_virtual
+64 __cxa_pure_virtual
+72 __cxa_pure_virtual
+80 __cxa_pure_virtual
+
+Class QDesignerPromotionInterface
+ size=8 align=8
+ base size=8 base align=8
+QDesignerPromotionInterface (0x7f09f2a48070) 0 nearly-empty
+ vptr=((& QDesignerPromotionInterface::_ZTV27QDesignerPromotionInterface) + 16u)
+
+Vtable for QDesignerFormWindowInterface
+QDesignerFormWindowInterface::_ZTV28QDesignerFormWindowInterface: 114u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI28QDesignerFormWindowInterface)
+16 QDesignerFormWindowInterface::metaObject
+24 QDesignerFormWindowInterface::qt_metacast
+32 QDesignerFormWindowInterface::qt_metacall
+40 QDesignerFormWindowInterface::~QDesignerFormWindowInterface
+48 QDesignerFormWindowInterface::~QDesignerFormWindowInterface
+56 QWidget::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QWidget::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QWidget::paintEvent
+256 QWidget::moveEvent
+264 QWidget::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QWidget::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 __cxa_pure_virtual
+456 __cxa_pure_virtual
+464 __cxa_pure_virtual
+472 __cxa_pure_virtual
+480 __cxa_pure_virtual
+488 __cxa_pure_virtual
+496 __cxa_pure_virtual
+504 __cxa_pure_virtual
+512 __cxa_pure_virtual
+520 __cxa_pure_virtual
+528 __cxa_pure_virtual
+536 __cxa_pure_virtual
+544 __cxa_pure_virtual
+552 __cxa_pure_virtual
+560 __cxa_pure_virtual
+568 __cxa_pure_virtual
+576 __cxa_pure_virtual
+584 __cxa_pure_virtual
+592 __cxa_pure_virtual
+600 __cxa_pure_virtual
+608 QDesignerFormWindowInterface::core
+616 __cxa_pure_virtual
+624 __cxa_pure_virtual
+632 __cxa_pure_virtual
+640 __cxa_pure_virtual
+648 __cxa_pure_virtual
+656 __cxa_pure_virtual
+664 __cxa_pure_virtual
+672 __cxa_pure_virtual
+680 __cxa_pure_virtual
+688 __cxa_pure_virtual
+696 __cxa_pure_virtual
+704 __cxa_pure_virtual
+712 __cxa_pure_virtual
+720 __cxa_pure_virtual
+728 __cxa_pure_virtual
+736 __cxa_pure_virtual
+744 __cxa_pure_virtual
+752 __cxa_pure_virtual
+760 __cxa_pure_virtual
+768 __cxa_pure_virtual
+776 __cxa_pure_virtual
+784 __cxa_pure_virtual
+792 __cxa_pure_virtual
+800 __cxa_pure_virtual
+808 __cxa_pure_virtual
+816 __cxa_pure_virtual
+824 __cxa_pure_virtual
+832 __cxa_pure_virtual
+840 __cxa_pure_virtual
+848 __cxa_pure_virtual
+856 (int (*)(...))-0x00000000000000010
+864 (int (*)(...))(& _ZTI28QDesignerFormWindowInterface)
+872 QDesignerFormWindowInterface::_ZThn16_N28QDesignerFormWindowInterfaceD1Ev
+880 QDesignerFormWindowInterface::_ZThn16_N28QDesignerFormWindowInterfaceD0Ev
+888 QWidget::_ZThn16_NK7QWidget7devTypeEv
+896 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+904 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QDesignerFormWindowInterface
+ size=40 align=8
+ base size=40 base align=8
+QDesignerFormWindowInterface (0x7f09f2a48620) 0
+ vptr=((& QDesignerFormWindowInterface::_ZTV28QDesignerFormWindowInterface) + 16u)
+ QWidget (0x7f09f2a4e000) 0
+ primary-for QDesignerFormWindowInterface (0x7f09f2a48620)
+ QObject (0x7f09f2a48690) 0
+ primary-for QWidget (0x7f09f2a4e000)
+ QPaintDevice (0x7f09f2a48700) 16
+ vptr=((& QDesignerFormWindowInterface::_ZTV28QDesignerFormWindowInterface) + 872u)
+
+Vtable for QDesignerObjectInspectorInterface
+QDesignerObjectInspectorInterface::_ZTV33QDesignerObjectInspectorInterface: 65u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI33QDesignerObjectInspectorInterface)
+16 QDesignerObjectInspectorInterface::metaObject
+24 QDesignerObjectInspectorInterface::qt_metacast
+32 QDesignerObjectInspectorInterface::qt_metacall
+40 QDesignerObjectInspectorInterface::~QDesignerObjectInspectorInterface
+48 QDesignerObjectInspectorInterface::~QDesignerObjectInspectorInterface
+56 QWidget::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QWidget::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QWidget::paintEvent
+256 QWidget::moveEvent
+264 QWidget::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QWidget::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QDesignerObjectInspectorInterface::core
+456 __cxa_pure_virtual
+464 (int (*)(...))-0x00000000000000010
+472 (int (*)(...))(& _ZTI33QDesignerObjectInspectorInterface)
+480 QDesignerObjectInspectorInterface::_ZThn16_N33QDesignerObjectInspectorInterfaceD1Ev
+488 QDesignerObjectInspectorInterface::_ZThn16_N33QDesignerObjectInspectorInterfaceD0Ev
+496 QWidget::_ZThn16_NK7QWidget7devTypeEv
+504 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+512 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QDesignerObjectInspectorInterface
+ size=40 align=8
+ base size=40 base align=8
+QDesignerObjectInspectorInterface (0x7f09f2a76a10) 0
+ vptr=((& QDesignerObjectInspectorInterface::_ZTV33QDesignerObjectInspectorInterface) + 16u)
+ QWidget (0x7f09f2a4e900) 0
+ primary-for QDesignerObjectInspectorInterface (0x7f09f2a76a10)
+ QObject (0x7f09f2a76a80) 0
+ primary-for QWidget (0x7f09f2a4e900)
+ QPaintDevice (0x7f09f2a76af0) 16
+ vptr=((& QDesignerObjectInspectorInterface::_ZTV33QDesignerObjectInspectorInterface) + 480u)
+
+Vtable for QDesignerIconCacheInterface
+QDesignerIconCacheInterface::_ZTV27QDesignerIconCacheInterface: 23u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI27QDesignerIconCacheInterface)
+16 QDesignerIconCacheInterface::metaObject
+24 QDesignerIconCacheInterface::qt_metacast
+32 QDesignerIconCacheInterface::qt_metacall
+40 QDesignerIconCacheInterface::~QDesignerIconCacheInterface
+48 QDesignerIconCacheInterface::~QDesignerIconCacheInterface
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 __cxa_pure_virtual
+136 __cxa_pure_virtual
+144 __cxa_pure_virtual
+152 __cxa_pure_virtual
+160 __cxa_pure_virtual
+168 __cxa_pure_virtual
+176 __cxa_pure_virtual
+
+Class QDesignerIconCacheInterface
+ size=16 align=8
+ base size=16 base align=8
+QDesignerIconCacheInterface (0x7f09f2a8a9a0) 0
+ vptr=((& QDesignerIconCacheInterface::_ZTV27QDesignerIconCacheInterface) + 16u)
+ QObject (0x7f09f2a8aa10) 0
+ primary-for QDesignerIconCacheInterface (0x7f09f2a8a9a0)
+
+Vtable for QDesignerMetaDataBaseItemInterface
+QDesignerMetaDataBaseItemInterface::_ZTV34QDesignerMetaDataBaseItemInterface: 10u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI34QDesignerMetaDataBaseItemInterface)
+16 QDesignerMetaDataBaseItemInterface::~QDesignerMetaDataBaseItemInterface
+24 QDesignerMetaDataBaseItemInterface::~QDesignerMetaDataBaseItemInterface
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+48 __cxa_pure_virtual
+56 __cxa_pure_virtual
+64 __cxa_pure_virtual
+72 __cxa_pure_virtual
+
+Class QDesignerMetaDataBaseItemInterface
+ size=8 align=8
+ base size=8 base align=8
+QDesignerMetaDataBaseItemInterface (0x7f09f2aa80e0) 0 nearly-empty
+ vptr=((& QDesignerMetaDataBaseItemInterface::_ZTV34QDesignerMetaDataBaseItemInterface) + 16u)
+
+Vtable for QDesignerMetaDataBaseInterface
+QDesignerMetaDataBaseInterface::_ZTV30QDesignerMetaDataBaseInterface: 19u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI30QDesignerMetaDataBaseInterface)
+16 QDesignerMetaDataBaseInterface::metaObject
+24 QDesignerMetaDataBaseInterface::qt_metacast
+32 QDesignerMetaDataBaseInterface::qt_metacall
+40 QDesignerMetaDataBaseInterface::~QDesignerMetaDataBaseInterface
+48 QDesignerMetaDataBaseInterface::~QDesignerMetaDataBaseInterface
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 __cxa_pure_virtual
+136 __cxa_pure_virtual
+144 __cxa_pure_virtual
+
+Class QDesignerMetaDataBaseInterface
+ size=16 align=8
+ base size=16 base align=8
+QDesignerMetaDataBaseInterface (0x7f09f2aa8af0) 0
+ vptr=((& QDesignerMetaDataBaseInterface::_ZTV30QDesignerMetaDataBaseInterface) + 16u)
+ QObject (0x7f09f2aa8b60) 0
+ primary-for QDesignerMetaDataBaseInterface (0x7f09f2aa8af0)
+
+Vtable for QDesignerLayoutDecorationExtension
+QDesignerLayoutDecorationExtension::_ZTV34QDesignerLayoutDecorationExtension: 19u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI34QDesignerLayoutDecorationExtension)
+16 QDesignerLayoutDecorationExtension::~QDesignerLayoutDecorationExtension
+24 QDesignerLayoutDecorationExtension::~QDesignerLayoutDecorationExtension
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+48 __cxa_pure_virtual
+56 __cxa_pure_virtual
+64 __cxa_pure_virtual
+72 __cxa_pure_virtual
+80 __cxa_pure_virtual
+88 __cxa_pure_virtual
+96 __cxa_pure_virtual
+104 __cxa_pure_virtual
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 __cxa_pure_virtual
+136 __cxa_pure_virtual
+144 __cxa_pure_virtual
+
+Class QDesignerLayoutDecorationExtension
+ size=8 align=8
+ base size=8 base align=8
+QDesignerLayoutDecorationExtension (0x7f09f28b9380) 0 nearly-empty
+ vptr=((& QDesignerLayoutDecorationExtension::_ZTV34QDesignerLayoutDecorationExtension) + 16u)
+
+Vtable for QDesignerPropertySheetExtension
+QDesignerPropertySheetExtension::_ZTV31QDesignerPropertySheetExtension: 19u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI31QDesignerPropertySheetExtension)
+16 QDesignerPropertySheetExtension::~QDesignerPropertySheetExtension
+24 QDesignerPropertySheetExtension::~QDesignerPropertySheetExtension
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+48 __cxa_pure_virtual
+56 __cxa_pure_virtual
+64 __cxa_pure_virtual
+72 __cxa_pure_virtual
+80 __cxa_pure_virtual
+88 __cxa_pure_virtual
+96 __cxa_pure_virtual
+104 __cxa_pure_virtual
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 __cxa_pure_virtual
+136 __cxa_pure_virtual
+144 __cxa_pure_virtual
+
+Class QDesignerPropertySheetExtension
+ size=8 align=8
+ base size=8 base align=8
+QDesignerPropertySheetExtension (0x7f09f28da770) 0 nearly-empty
+ vptr=((& QDesignerPropertySheetExtension::_ZTV31QDesignerPropertySheetExtension) + 16u)
+
+Vtable for QDesignerActionEditorInterface
+QDesignerActionEditorInterface::_ZTV30QDesignerActionEditorInterface: 67u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI30QDesignerActionEditorInterface)
+16 QDesignerActionEditorInterface::metaObject
+24 QDesignerActionEditorInterface::qt_metacast
+32 QDesignerActionEditorInterface::qt_metacall
+40 QDesignerActionEditorInterface::~QDesignerActionEditorInterface
+48 QDesignerActionEditorInterface::~QDesignerActionEditorInterface
+56 QWidget::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QWidget::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QWidget::paintEvent
+256 QWidget::moveEvent
+264 QWidget::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QWidget::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QDesignerActionEditorInterface::core
+456 __cxa_pure_virtual
+464 __cxa_pure_virtual
+472 __cxa_pure_virtual
+480 (int (*)(...))-0x00000000000000010
+488 (int (*)(...))(& _ZTI30QDesignerActionEditorInterface)
+496 QDesignerActionEditorInterface::_ZThn16_N30QDesignerActionEditorInterfaceD1Ev
+504 QDesignerActionEditorInterface::_ZThn16_N30QDesignerActionEditorInterfaceD0Ev
+512 QWidget::_ZThn16_NK7QWidget7devTypeEv
+520 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+528 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QDesignerActionEditorInterface
+ size=40 align=8
+ base size=40 base align=8
+QDesignerActionEditorInterface (0x7f09f28eae00) 0
+ vptr=((& QDesignerActionEditorInterface::_ZTV30QDesignerActionEditorInterface) + 16u)
+ QWidget (0x7f09f28ebb00) 0
+ primary-for QDesignerActionEditorInterface (0x7f09f28eae00)
+ QObject (0x7f09f28eae70) 0
+ primary-for QWidget (0x7f09f28ebb00)
+ QPaintDevice (0x7f09f28eaee0) 16
+ vptr=((& QDesignerActionEditorInterface::_ZTV30QDesignerActionEditorInterface) + 496u)
+
+Vtable for QDesignerIntegrationInterface
+QDesignerIntegrationInterface::_ZTV29QDesignerIntegrationInterface: 15u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI29QDesignerIntegrationInterface)
+16 QDesignerIntegrationInterface::metaObject
+24 QDesignerIntegrationInterface::qt_metacast
+32 QDesignerIntegrationInterface::qt_metacall
+40 QDesignerIntegrationInterface::~QDesignerIntegrationInterface
+48 QDesignerIntegrationInterface::~QDesignerIntegrationInterface
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+
+Class QDesignerIntegrationInterface
+ size=24 align=8
+ base size=24 base align=8
+QDesignerIntegrationInterface (0x7f09f28f9e00) 0
+ vptr=((& QDesignerIntegrationInterface::_ZTV29QDesignerIntegrationInterface) + 16u)
+ QObject (0x7f09f28f9e70) 0
+ primary-for QDesignerIntegrationInterface (0x7f09f28f9e00)
+
+Vtable for QDesignerTaskMenuExtension
+QDesignerTaskMenuExtension::_ZTV26QDesignerTaskMenuExtension: 6u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI26QDesignerTaskMenuExtension)
+16 QDesignerTaskMenuExtension::~QDesignerTaskMenuExtension
+24 QDesignerTaskMenuExtension::~QDesignerTaskMenuExtension
+32 QDesignerTaskMenuExtension::preferredEditAction
+40 __cxa_pure_virtual
+
+Class QDesignerTaskMenuExtension
+ size=8 align=8
+ base size=8 base align=8
+QDesignerTaskMenuExtension (0x7f09f2912e70) 0 nearly-empty
+ vptr=((& QDesignerTaskMenuExtension::_ZTV26QDesignerTaskMenuExtension) + 16u)
+
+Vtable for QDesignerFormWindowCursorInterface
+QDesignerFormWindowCursorInterface::_ZTV34QDesignerFormWindowCursorInterface: 17u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI34QDesignerFormWindowCursorInterface)
+16 QDesignerFormWindowCursorInterface::~QDesignerFormWindowCursorInterface
+24 QDesignerFormWindowCursorInterface::~QDesignerFormWindowCursorInterface
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+48 __cxa_pure_virtual
+56 __cxa_pure_virtual
+64 __cxa_pure_virtual
+72 __cxa_pure_virtual
+80 __cxa_pure_virtual
+88 __cxa_pure_virtual
+96 __cxa_pure_virtual
+104 __cxa_pure_virtual
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 __cxa_pure_virtual
+
+Class QDesignerFormWindowCursorInterface
+ size=8 align=8
+ base size=8 base align=8
+QDesignerFormWindowCursorInterface (0x7f09f292a690) 0 nearly-empty
+ vptr=((& QDesignerFormWindowCursorInterface::_ZTV34QDesignerFormWindowCursorInterface) + 16u)
+
+Vtable for QDesignerWidgetDataBaseItemInterface
+QDesignerWidgetDataBaseItemInterface::_ZTV36QDesignerWidgetDataBaseItemInterface: 30u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI36QDesignerWidgetDataBaseItemInterface)
+16 QDesignerWidgetDataBaseItemInterface::~QDesignerWidgetDataBaseItemInterface
+24 QDesignerWidgetDataBaseItemInterface::~QDesignerWidgetDataBaseItemInterface
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+48 __cxa_pure_virtual
+56 __cxa_pure_virtual
+64 __cxa_pure_virtual
+72 __cxa_pure_virtual
+80 __cxa_pure_virtual
+88 __cxa_pure_virtual
+96 __cxa_pure_virtual
+104 __cxa_pure_virtual
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 __cxa_pure_virtual
+136 __cxa_pure_virtual
+144 __cxa_pure_virtual
+152 __cxa_pure_virtual
+160 __cxa_pure_virtual
+168 __cxa_pure_virtual
+176 __cxa_pure_virtual
+184 __cxa_pure_virtual
+192 __cxa_pure_virtual
+200 __cxa_pure_virtual
+208 __cxa_pure_virtual
+216 __cxa_pure_virtual
+224 __cxa_pure_virtual
+232 __cxa_pure_virtual
+
+Class QDesignerWidgetDataBaseItemInterface
+ size=8 align=8
+ base size=8 base align=8
+QDesignerWidgetDataBaseItemInterface (0x7f09f293b380) 0 nearly-empty
+ vptr=((& QDesignerWidgetDataBaseItemInterface::_ZTV36QDesignerWidgetDataBaseItemInterface) + 16u)
+
+Vtable for QDesignerWidgetDataBaseInterface
+QDesignerWidgetDataBaseInterface::_ZTV32QDesignerWidgetDataBaseInterface: 22u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI32QDesignerWidgetDataBaseInterface)
+16 QDesignerWidgetDataBaseInterface::metaObject
+24 QDesignerWidgetDataBaseInterface::qt_metacast
+32 QDesignerWidgetDataBaseInterface::qt_metacall
+40 QDesignerWidgetDataBaseInterface::~QDesignerWidgetDataBaseInterface
+48 QDesignerWidgetDataBaseInterface::~QDesignerWidgetDataBaseInterface
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QDesignerWidgetDataBaseInterface::count
+120 QDesignerWidgetDataBaseInterface::item
+128 QDesignerWidgetDataBaseInterface::indexOf
+136 QDesignerWidgetDataBaseInterface::insert
+144 QDesignerWidgetDataBaseInterface::append
+152 QDesignerWidgetDataBaseInterface::indexOfObject
+160 QDesignerWidgetDataBaseInterface::indexOfClassName
+168 QDesignerWidgetDataBaseInterface::core
+
+Class QDesignerWidgetDataBaseInterface
+ size=24 align=8
+ base size=24 base align=8
+QDesignerWidgetDataBaseInterface (0x7f09f293bd90) 0
+ vptr=((& QDesignerWidgetDataBaseInterface::_ZTV32QDesignerWidgetDataBaseInterface) + 16u)
+ QObject (0x7f09f293be00) 0
+ primary-for QDesignerWidgetDataBaseInterface (0x7f09f293bd90)
+
+Vtable for QDesignerPropertyEditorInterface
+QDesignerPropertyEditorInterface::_ZTV32QDesignerPropertyEditorInterface: 70u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI32QDesignerPropertyEditorInterface)
+16 QDesignerPropertyEditorInterface::metaObject
+24 QDesignerPropertyEditorInterface::qt_metacast
+32 QDesignerPropertyEditorInterface::qt_metacall
+40 QDesignerPropertyEditorInterface::~QDesignerPropertyEditorInterface
+48 QDesignerPropertyEditorInterface::~QDesignerPropertyEditorInterface
+56 QWidget::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QWidget::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QWidget::paintEvent
+256 QWidget::moveEvent
+264 QWidget::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QWidget::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QDesignerPropertyEditorInterface::core
+456 __cxa_pure_virtual
+464 __cxa_pure_virtual
+472 __cxa_pure_virtual
+480 __cxa_pure_virtual
+488 __cxa_pure_virtual
+496 __cxa_pure_virtual
+504 (int (*)(...))-0x00000000000000010
+512 (int (*)(...))(& _ZTI32QDesignerPropertyEditorInterface)
+520 QDesignerPropertyEditorInterface::_ZThn16_N32QDesignerPropertyEditorInterfaceD1Ev
+528 QDesignerPropertyEditorInterface::_ZThn16_N32QDesignerPropertyEditorInterfaceD0Ev
+536 QWidget::_ZThn16_NK7QWidget7devTypeEv
+544 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+552 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QDesignerPropertyEditorInterface
+ size=40 align=8
+ base size=40 base align=8
+QDesignerPropertyEditorInterface (0x7f09f29521c0) 0
+ vptr=((& QDesignerPropertyEditorInterface::_ZTV32QDesignerPropertyEditorInterface) + 16u)
+ QWidget (0x7f09f2982280) 0
+ primary-for QDesignerPropertyEditorInterface (0x7f09f29521c0)
+ QObject (0x7f09f2952380) 0
+ primary-for QWidget (0x7f09f2982280)
+ QPaintDevice (0x7f09f2988000) 16
+ vptr=((& QDesignerPropertyEditorInterface::_ZTV32QDesignerPropertyEditorInterface) + 520u)
+
+Vtable for QDesignerFormEditorInterface
+QDesignerFormEditorInterface::_ZTV28QDesignerFormEditorInterface: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI28QDesignerFormEditorInterface)
+16 QDesignerFormEditorInterface::metaObject
+24 QDesignerFormEditorInterface::qt_metacast
+32 QDesignerFormEditorInterface::qt_metacall
+40 QDesignerFormEditorInterface::~QDesignerFormEditorInterface
+48 QDesignerFormEditorInterface::~QDesignerFormEditorInterface
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QDesignerFormEditorInterface
+ size=120 align=8
+ base size=120 base align=8
+QDesignerFormEditorInterface (0x7f09f299f070) 0
+ vptr=((& QDesignerFormEditorInterface::_ZTV28QDesignerFormEditorInterface) + 16u)
+ QObject (0x7f09f299f0e0) 0
+ primary-for QDesignerFormEditorInterface (0x7f09f299f070)
+
+Vtable for QDesignerResourceBrowserInterface
+QDesignerResourceBrowserInterface::_ZTV33QDesignerResourceBrowserInterface: 65u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI33QDesignerResourceBrowserInterface)
+16 QDesignerResourceBrowserInterface::metaObject
+24 QDesignerResourceBrowserInterface::qt_metacast
+32 QDesignerResourceBrowserInterface::qt_metacall
+40 QDesignerResourceBrowserInterface::~QDesignerResourceBrowserInterface
+48 QDesignerResourceBrowserInterface::~QDesignerResourceBrowserInterface
+56 QWidget::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QWidget::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QWidget::paintEvent
+256 QWidget::moveEvent
+264 QWidget::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QWidget::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 __cxa_pure_virtual
+456 __cxa_pure_virtual
+464 (int (*)(...))-0x00000000000000010
+472 (int (*)(...))(& _ZTI33QDesignerResourceBrowserInterface)
+480 QDesignerResourceBrowserInterface::_ZThn16_N33QDesignerResourceBrowserInterfaceD1Ev
+488 QDesignerResourceBrowserInterface::_ZThn16_N33QDesignerResourceBrowserInterfaceD0Ev
+496 QWidget::_ZThn16_NK7QWidget7devTypeEv
+504 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+512 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QDesignerResourceBrowserInterface
+ size=40 align=8
+ base size=40 base align=8
+QDesignerResourceBrowserInterface (0x7f09f2807770) 0
+ vptr=((& QDesignerResourceBrowserInterface::_ZTV33QDesignerResourceBrowserInterface) + 16u)
+ QWidget (0x7f09f27fe600) 0
+ primary-for QDesignerResourceBrowserInterface (0x7f09f2807770)
+ QObject (0x7f09f28077e0) 0
+ primary-for QWidget (0x7f09f27fe600)
+ QPaintDevice (0x7f09f2807850) 16
+ vptr=((& QDesignerResourceBrowserInterface::_ZTV33QDesignerResourceBrowserInterface) + 480u)
+
+Vtable for QDesignerBrushManagerInterface
+QDesignerBrushManagerInterface::_ZTV30QDesignerBrushManagerInterface: 21u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI30QDesignerBrushManagerInterface)
+16 QDesignerBrushManagerInterface::metaObject
+24 QDesignerBrushManagerInterface::qt_metacast
+32 QDesignerBrushManagerInterface::qt_metacall
+40 QDesignerBrushManagerInterface::~QDesignerBrushManagerInterface
+48 QDesignerBrushManagerInterface::~QDesignerBrushManagerInterface
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 __cxa_pure_virtual
+136 __cxa_pure_virtual
+144 __cxa_pure_virtual
+152 __cxa_pure_virtual
+160 __cxa_pure_virtual
+
+Class QDesignerBrushManagerInterface
+ size=16 align=8
+ base size=16 base align=8
+QDesignerBrushManagerInterface (0x7f09f281e700) 0
+ vptr=((& QDesignerBrushManagerInterface::_ZTV30QDesignerBrushManagerInterface) + 16u)
+ QObject (0x7f09f281e770) 0
+ primary-for QDesignerBrushManagerInterface (0x7f09f281e700)
+
+Vtable for QDesignerDnDItemInterface
+QDesignerDnDItemInterface::_ZTV25QDesignerDnDItemInterface: 10u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI25QDesignerDnDItemInterface)
+16 QDesignerDnDItemInterface::~QDesignerDnDItemInterface
+24 QDesignerDnDItemInterface::~QDesignerDnDItemInterface
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+48 __cxa_pure_virtual
+56 __cxa_pure_virtual
+64 __cxa_pure_virtual
+72 __cxa_pure_virtual
+
+Class QDesignerDnDItemInterface
+ size=8 align=8
+ base size=8 base align=8
+QDesignerDnDItemInterface (0x7f09f2832cb0) 0 nearly-empty
+ vptr=((& QDesignerDnDItemInterface::_ZTV25QDesignerDnDItemInterface) + 16u)
+
+Vtable for QDesignerFormWindowManagerInterface
+QDesignerFormWindowManagerInterface::_ZTV35QDesignerFormWindowManagerInterface: 39u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI35QDesignerFormWindowManagerInterface)
+16 QDesignerFormWindowManagerInterface::metaObject
+24 QDesignerFormWindowManagerInterface::qt_metacast
+32 QDesignerFormWindowManagerInterface::qt_metacall
+40 QDesignerFormWindowManagerInterface::~QDesignerFormWindowManagerInterface
+48 QDesignerFormWindowManagerInterface::~QDesignerFormWindowManagerInterface
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QDesignerFormWindowManagerInterface::actionCut
+120 QDesignerFormWindowManagerInterface::actionCopy
+128 QDesignerFormWindowManagerInterface::actionPaste
+136 QDesignerFormWindowManagerInterface::actionDelete
+144 QDesignerFormWindowManagerInterface::actionSelectAll
+152 QDesignerFormWindowManagerInterface::actionLower
+160 QDesignerFormWindowManagerInterface::actionRaise
+168 QDesignerFormWindowManagerInterface::actionUndo
+176 QDesignerFormWindowManagerInterface::actionRedo
+184 QDesignerFormWindowManagerInterface::actionHorizontalLayout
+192 QDesignerFormWindowManagerInterface::actionVerticalLayout
+200 QDesignerFormWindowManagerInterface::actionSplitHorizontal
+208 QDesignerFormWindowManagerInterface::actionSplitVertical
+216 QDesignerFormWindowManagerInterface::actionGridLayout
+224 QDesignerFormWindowManagerInterface::actionBreakLayout
+232 QDesignerFormWindowManagerInterface::actionAdjustSize
+240 QDesignerFormWindowManagerInterface::activeFormWindow
+248 QDesignerFormWindowManagerInterface::formWindowCount
+256 QDesignerFormWindowManagerInterface::formWindow
+264 QDesignerFormWindowManagerInterface::createFormWindow
+272 QDesignerFormWindowManagerInterface::core
+280 __cxa_pure_virtual
+288 QDesignerFormWindowManagerInterface::addFormWindow
+296 QDesignerFormWindowManagerInterface::removeFormWindow
+304 QDesignerFormWindowManagerInterface::setActiveFormWindow
+
+Class QDesignerFormWindowManagerInterface
+ size=16 align=8
+ base size=16 base align=8
+QDesignerFormWindowManagerInterface (0x7f09f283dc40) 0
+ vptr=((& QDesignerFormWindowManagerInterface::_ZTV35QDesignerFormWindowManagerInterface) + 16u)
+ QObject (0x7f09f283dcb0) 0
+ primary-for QDesignerFormWindowManagerInterface (0x7f09f283dc40)
+
+Vtable for QDesignerLanguageExtension
+QDesignerLanguageExtension::_ZTV26QDesignerLanguageExtension: 13u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI26QDesignerLanguageExtension)
+16 QDesignerLanguageExtension::~QDesignerLanguageExtension
+24 QDesignerLanguageExtension::~QDesignerLanguageExtension
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+48 __cxa_pure_virtual
+56 __cxa_pure_virtual
+64 __cxa_pure_virtual
+72 __cxa_pure_virtual
+80 __cxa_pure_virtual
+88 __cxa_pure_virtual
+96 __cxa_pure_virtual
+
+Class QDesignerLanguageExtension
+ size=8 align=8
+ base size=8 base align=8
+QDesignerLanguageExtension (0x7f09f285f000) 0 nearly-empty
+ vptr=((& QDesignerLanguageExtension::_ZTV26QDesignerLanguageExtension) + 16u)
+
+Vtable for QAbstractFormBuilder
+QAbstractFormBuilder::_ZTV20QAbstractFormBuilder: 48u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI20QAbstractFormBuilder)
+16 QAbstractFormBuilder::~QAbstractFormBuilder
+24 QAbstractFormBuilder::~QAbstractFormBuilder
+32 QAbstractFormBuilder::load
+40 QAbstractFormBuilder::save
+48 QAbstractFormBuilder::loadExtraInfo
+56 QAbstractFormBuilder::create
+64 QAbstractFormBuilder::create
+72 QAbstractFormBuilder::create
+80 QAbstractFormBuilder::create
+88 QAbstractFormBuilder::create
+96 QAbstractFormBuilder::create
+104 QAbstractFormBuilder::addMenuAction
+112 QAbstractFormBuilder::applyProperties
+120 QAbstractFormBuilder::applyTabStops
+128 QAbstractFormBuilder::createWidget
+136 QAbstractFormBuilder::createLayout
+144 QAbstractFormBuilder::createAction
+152 QAbstractFormBuilder::createActionGroup
+160 QAbstractFormBuilder::createCustomWidgets
+168 QAbstractFormBuilder::createConnections
+176 QAbstractFormBuilder::createResources
+184 QAbstractFormBuilder::addItem
+192 QAbstractFormBuilder::addItem
+200 QAbstractFormBuilder::saveExtraInfo
+208 QAbstractFormBuilder::saveDom
+216 QAbstractFormBuilder::createActionRefDom
+224 QAbstractFormBuilder::createDom
+232 QAbstractFormBuilder::createDom
+240 QAbstractFormBuilder::createDom
+248 QAbstractFormBuilder::createDom
+256 QAbstractFormBuilder::createDom
+264 QAbstractFormBuilder::createDom
+272 QAbstractFormBuilder::saveConnections
+280 QAbstractFormBuilder::saveCustomWidgets
+288 QAbstractFormBuilder::saveTabStops
+296 QAbstractFormBuilder::saveResources
+304 QAbstractFormBuilder::computeProperties
+312 QAbstractFormBuilder::checkProperty
+320 QAbstractFormBuilder::createProperty
+328 QAbstractFormBuilder::layoutInfo
+336 QAbstractFormBuilder::nameToIcon
+344 QAbstractFormBuilder::iconToFilePath
+352 QAbstractFormBuilder::iconToQrcPath
+360 QAbstractFormBuilder::nameToPixmap
+368 QAbstractFormBuilder::pixmapToFilePath
+376 QAbstractFormBuilder::pixmapToQrcPath
+
+Class QAbstractFormBuilder
+ size=48 align=8
+ base size=48 base align=8
+QAbstractFormBuilder (0x7f09f286e690) 0
+ vptr=((& QAbstractFormBuilder::_ZTV20QAbstractFormBuilder) + 16u)
+
+Vtable for QFormBuilder
+QFormBuilder::_ZTV12QFormBuilder: 49u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QFormBuilder)
+16 QFormBuilder::~QFormBuilder
+24 QFormBuilder::~QFormBuilder
+32 QAbstractFormBuilder::load
+40 QAbstractFormBuilder::save
+48 QAbstractFormBuilder::loadExtraInfo
+56 QFormBuilder::create
+64 QFormBuilder::create
+72 QFormBuilder::create
+80 QFormBuilder::create
+88 QFormBuilder::create
+96 QFormBuilder::create
+104 QAbstractFormBuilder::addMenuAction
+112 QFormBuilder::applyProperties
+120 QAbstractFormBuilder::applyTabStops
+128 QFormBuilder::createWidget
+136 QFormBuilder::createLayout
+144 QAbstractFormBuilder::createAction
+152 QAbstractFormBuilder::createActionGroup
+160 QAbstractFormBuilder::createCustomWidgets
+168 QFormBuilder::createConnections
+176 QAbstractFormBuilder::createResources
+184 QFormBuilder::addItem
+192 QFormBuilder::addItem
+200 QAbstractFormBuilder::saveExtraInfo
+208 QAbstractFormBuilder::saveDom
+216 QAbstractFormBuilder::createActionRefDom
+224 QAbstractFormBuilder::createDom
+232 QAbstractFormBuilder::createDom
+240 QAbstractFormBuilder::createDom
+248 QAbstractFormBuilder::createDom
+256 QAbstractFormBuilder::createDom
+264 QAbstractFormBuilder::createDom
+272 QAbstractFormBuilder::saveConnections
+280 QAbstractFormBuilder::saveCustomWidgets
+288 QAbstractFormBuilder::saveTabStops
+296 QAbstractFormBuilder::saveResources
+304 QAbstractFormBuilder::computeProperties
+312 QAbstractFormBuilder::checkProperty
+320 QAbstractFormBuilder::createProperty
+328 QAbstractFormBuilder::layoutInfo
+336 QAbstractFormBuilder::nameToIcon
+344 QAbstractFormBuilder::iconToFilePath
+352 QAbstractFormBuilder::iconToQrcPath
+360 QAbstractFormBuilder::nameToPixmap
+368 QAbstractFormBuilder::pixmapToFilePath
+376 QAbstractFormBuilder::pixmapToQrcPath
+384 QFormBuilder::updateCustomWidgets
+
+Class QFormBuilder
+ size=64 align=8
+ base size=64 base align=8
+QFormBuilder (0x7f09f26baaf0) 0
+ vptr=((& QFormBuilder::_ZTV12QFormBuilder) + 16u)
+ QAbstractFormBuilder (0x7f09f26bab60) 0
+ primary-for QFormBuilder (0x7f09f26baaf0)
+
+Vtable for QDesignerCustomWidgetInterface
+QDesignerCustomWidgetInterface::_ZTV30QDesignerCustomWidgetInterface: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI30QDesignerCustomWidgetInterface)
+16 QDesignerCustomWidgetInterface::~QDesignerCustomWidgetInterface
+24 QDesignerCustomWidgetInterface::~QDesignerCustomWidgetInterface
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+48 __cxa_pure_virtual
+56 __cxa_pure_virtual
+64 __cxa_pure_virtual
+72 __cxa_pure_virtual
+80 __cxa_pure_virtual
+88 __cxa_pure_virtual
+96 QDesignerCustomWidgetInterface::isInitialized
+104 QDesignerCustomWidgetInterface::initialize
+112 QDesignerCustomWidgetInterface::domXml
+120 QDesignerCustomWidgetInterface::codeTemplate
+
+Class QDesignerCustomWidgetInterface
+ size=8 align=8
+ base size=8 base align=8
+QDesignerCustomWidgetInterface (0x7f09f26baee0) 0 nearly-empty
+ vptr=((& QDesignerCustomWidgetInterface::_ZTV30QDesignerCustomWidgetInterface) + 16u)
+
+Vtable for QDesignerCustomWidgetCollectionInterface
+QDesignerCustomWidgetCollectionInterface::_ZTV40QDesignerCustomWidgetCollectionInterface: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI40QDesignerCustomWidgetCollectionInterface)
+16 QDesignerCustomWidgetCollectionInterface::~QDesignerCustomWidgetCollectionInterface
+24 QDesignerCustomWidgetCollectionInterface::~QDesignerCustomWidgetCollectionInterface
+32 __cxa_pure_virtual
+
+Class QDesignerCustomWidgetCollectionInterface
+ size=8 align=8
+ base size=8 base align=8
+QDesignerCustomWidgetCollectionInterface (0x7f09f27309a0) 0 nearly-empty
+ vptr=((& QDesignerCustomWidgetCollectionInterface::_ZTV40QDesignerCustomWidgetCollectionInterface) + 16u)
+
+Vtable for QDesignerContainerExtension
+QDesignerContainerExtension::_ZTV27QDesignerContainerExtension: 11u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI27QDesignerContainerExtension)
+16 QDesignerContainerExtension::~QDesignerContainerExtension
+24 QDesignerContainerExtension::~QDesignerContainerExtension
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+48 __cxa_pure_virtual
+56 __cxa_pure_virtual
+64 __cxa_pure_virtual
+72 __cxa_pure_virtual
+80 __cxa_pure_virtual
+
+Class QDesignerContainerExtension
+ size=8 align=8
+ base size=8 base align=8
+QDesignerContainerExtension (0x7f09f2740a80) 0 nearly-empty
+ vptr=((& QDesignerContainerExtension::_ZTV27QDesignerContainerExtension) + 16u)
+
+Vtable for QExtensionManager
+QExtensionManager::_ZTV17QExtensionManager: 24u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QExtensionManager)
+16 QExtensionManager::metaObject
+24 QExtensionManager::qt_metacast
+32 QExtensionManager::qt_metacall
+40 QExtensionManager::~QExtensionManager
+48 QExtensionManager::~QExtensionManager
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QExtensionManager::registerExtensions
+120 QExtensionManager::unregisterExtensions
+128 QExtensionManager::extension
+136 (int (*)(...))-0x00000000000000010
+144 (int (*)(...))(& _ZTI17QExtensionManager)
+152 QExtensionManager::_ZThn16_N17QExtensionManagerD1Ev
+160 QExtensionManager::_ZThn16_N17QExtensionManagerD0Ev
+168 QExtensionManager::_ZThn16_N17QExtensionManager18registerExtensionsEP25QAbstractExtensionFactoryRK7QString
+176 QExtensionManager::_ZThn16_N17QExtensionManager20unregisterExtensionsEP25QAbstractExtensionFactoryRK7QString
+184 QExtensionManager::_ZThn16_NK17QExtensionManager9extensionEP7QObjectRK7QString
+
+Class QExtensionManager
+ size=40 align=8
+ base size=40 base align=8
+QExtensionManager (0x7f09f274fc80) 0
+ vptr=((& QExtensionManager::_ZTV17QExtensionManager) + 16u)
+ QObject (0x7f09f2759150) 0
+ primary-for QExtensionManager (0x7f09f274fc80)
+ QAbstractExtensionManager (0x7f09f27591c0) 16 nearly-empty
+ vptr=((& QExtensionManager::_ZTV17QExtensionManager) + 152u)
+
diff --git a/tests/auto/bic/data/QtDesigner.4.6.0.linux-gcc-amd64.txt b/tests/auto/bic/data/QtDesigner.4.6.0.linux-gcc-amd64.txt
new file mode 100644
index 0000000000..349907e1e7
--- /dev/null
+++ b/tests/auto/bic/data/QtDesigner.4.6.0.linux-gcc-amd64.txt
@@ -0,0 +1,4741 @@
+Class QSysInfo
+ size=1 align=1
+ base size=0 base align=1
+QSysInfo (0x7f0d42e42380) 0 empty
+
+Class QBool
+ size=1 align=1
+ base size=1 base align=1
+QBool (0x7f0d42e5a000) 0
+
+Class qIsNull(double)::U
+ size=8 align=8
+ base size=8 base align=8
+qIsNull(double)::U (0x7f0d42e6f690) 0
+
+Class qIsNull(float)::U
+ size=4 align=4
+ base size=4 base align=4
+qIsNull(float)::U (0x7f0d42e6f930) 0
+
+Class QFlag
+ size=4 align=4
+ base size=4 base align=4
+QFlag (0x7f0d42ea67e0) 0
+
+Class QIncompatibleFlag
+ size=4 align=4
+ base size=4 base align=4
+QIncompatibleFlag (0x7f0d42ebe000) 0
+
+Class QLatin1Char
+ size=1 align=1
+ base size=1 base align=1
+QLatin1Char (0x7f0d42ed6700) 0
+
+Class QChar
+ size=2 align=2
+ base size=2 base align=2
+QChar (0x7f0d42efd2a0) 0
+
+Class QBasicAtomicInt
+ size=4 align=4
+ base size=4 base align=4
+QBasicAtomicInt (0x7f0d42543460) 0
+
+Class QAtomicInt
+ size=4 align=4
+ base size=4 base align=4
+QAtomicInt (0x7f0d42580e00) 0
+ QBasicAtomicInt (0x7f0d42580e70) 0
+
+Class QInternal
+ size=1 align=1
+ base size=0 base align=1
+QInternal (0x7f0d423cf620) 0 empty
+
+Class __locale_struct
+ size=232 align=8
+ base size=232 base align=8
+__locale_struct (0x7f0d423cf850) 0
+
+Class QByteArray::Data
+ size=32 align=8
+ base size=32 base align=8
+QByteArray::Data (0x7f0d42210c40) 0
+
+Class QByteArray
+ size=8 align=8
+ base size=8 base align=8
+QByteArray (0x7f0d42210bd0) 0
+
+Class QByteRef
+ size=16 align=8
+ base size=12 base align=8
+QByteRef (0x7f0d422b24d0) 0
+
+Class QString::Null
+ size=1 align=1
+ base size=0 base align=1
+QString::Null (0x7f0d421b4e70) 0 empty
+
+Class QString::Data
+ size=32 align=8
+ base size=32 base align=8
+QString::Data (0x7f0d421ca700) 0
+
+Class QString
+ size=8 align=8
+ base size=8 base align=8
+QString (0x7f0d4212cd20) 0
+
+Class QLatin1String
+ size=8 align=8
+ base size=8 base align=8
+QLatin1String (0x7f0d420a4af0) 0
+
+Class QCharRef
+ size=16 align=8
+ base size=12 base align=8
+QCharRef (0x7f0d41f42150) 0
+
+Class QConstString
+ size=8 align=8
+ base size=8 base align=8
+QConstString (0x7f0d41e8ba10) 0
+ QString (0x7f0d41e8ba80) 0
+
+Class QStringRef
+ size=16 align=8
+ base size=16 base align=8
+QStringRef (0x7f0d41eb2460) 0
+
+Class QGenericArgument
+ size=16 align=8
+ base size=16 base align=8
+QGenericArgument (0x7f0d41d2b850) 0
+
+Class QGenericReturnArgument
+ size=16 align=8
+ base size=16 base align=8
+QGenericReturnArgument (0x7f0d41d363f0) 0
+ QGenericArgument (0x7f0d41d36460) 0
+
+Class QMetaObject
+ size=32 align=8
+ base size=32 base align=8
+QMetaObject (0x7f0d41d36cb0) 0
+
+Class QMetaObjectExtraData
+ size=16 align=8
+ base size=16 base align=8
+QMetaObjectExtraData (0x7f0d41d5cd20) 0
+
+Vtable for std::exception
+std::exception::_ZTVSt9exception: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt9exception)
+16 std::exception::~exception
+24 std::exception::~exception
+32 std::exception::what
+
+Class std::exception
+ size=8 align=8
+ base size=8 base align=8
+std::exception (0x7f0d41db0310) 0 nearly-empty
+ vptr=((& std::exception::_ZTVSt9exception) + 16u)
+
+Vtable for std::bad_exception
+std::bad_exception::_ZTVSt13bad_exception: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt13bad_exception)
+16 std::bad_exception::~bad_exception
+24 std::bad_exception::~bad_exception
+32 std::bad_exception::what
+
+Class std::bad_exception
+ size=8 align=8
+ base size=8 base align=8
+std::bad_exception (0x7f0d41db08c0) 0 nearly-empty
+ vptr=((& std::bad_exception::_ZTVSt13bad_exception) + 16u)
+ std::exception (0x7f0d41db0930) 0 nearly-empty
+ primary-for std::bad_exception (0x7f0d41db08c0)
+
+Vtable for std::bad_alloc
+std::bad_alloc::_ZTVSt9bad_alloc: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt9bad_alloc)
+16 std::bad_alloc::~bad_alloc
+24 std::bad_alloc::~bad_alloc
+32 std::bad_alloc::what
+
+Class std::bad_alloc
+ size=8 align=8
+ base size=8 base align=8
+std::bad_alloc (0x7f0d41dc60e0) 0 nearly-empty
+ vptr=((& std::bad_alloc::_ZTVSt9bad_alloc) + 16u)
+ std::exception (0x7f0d41dc6150) 0 nearly-empty
+ primary-for std::bad_alloc (0x7f0d41dc60e0)
+
+Class std::nothrow_t
+ size=1 align=1
+ base size=0 base align=1
+std::nothrow_t (0x7f0d41dc69a0) 0 empty
+
+Class QListData::Data
+ size=32 align=8
+ base size=32 base align=8
+QListData::Data (0x7f0d41dc6ee0) 0
+
+Class QListData
+ size=8 align=8
+ base size=8 base align=8
+QListData (0x7f0d41dc6e70) 0
+
+Class QScopedPointerPodDeleter
+ size=1 align=1
+ base size=0 base align=1
+QScopedPointerPodDeleter (0x7f0d41aef9a0) 0 empty
+
+Vtable for QObjectData
+QObjectData::_ZTV11QObjectData: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QObjectData)
+16 __cxa_pure_virtual
+24 __cxa_pure_virtual
+
+Class QObjectData
+ size=48 align=8
+ base size=48 base align=8
+QObjectData (0x7f0d41b103f0) 0
+ vptr=((& QObjectData::_ZTV11QObjectData) + 16u)
+
+Vtable for QObject
+QObject::_ZTV7QObject: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QObject)
+16 QObject::metaObject
+24 QObject::qt_metacast
+32 QObject::qt_metacall
+40 QObject::~QObject
+48 QObject::~QObject
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QObject
+ size=16 align=8
+ base size=16 base align=8
+QObject (0x7f0d41b10700) 0
+ vptr=((& QObject::_ZTV7QObject) + 16u)
+
+Vtable for QObjectUserData
+QObjectUserData::_ZTV15QObjectUserData: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QObjectUserData)
+16 QObjectUserData::~QObjectUserData
+24 QObjectUserData::~QObjectUserData
+
+Class QObjectUserData
+ size=8 align=8
+ base size=8 base align=8
+QObjectUserData (0x7f0d41b96cb0) 0 nearly-empty
+ vptr=((& QObjectUserData::_ZTV15QObjectUserData) + 16u)
+
+Vtable for QIODevice
+QIODevice::_ZTV9QIODevice: 30u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QIODevice)
+16 QIODevice::metaObject
+24 QIODevice::qt_metacast
+32 QIODevice::qt_metacall
+40 QIODevice::~QIODevice
+48 QIODevice::~QIODevice
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QIODevice::isSequential
+120 QIODevice::open
+128 QIODevice::close
+136 QIODevice::pos
+144 QIODevice::size
+152 QIODevice::seek
+160 QIODevice::atEnd
+168 QIODevice::reset
+176 QIODevice::bytesAvailable
+184 QIODevice::bytesToWrite
+192 QIODevice::canReadLine
+200 QIODevice::waitForReadyRead
+208 QIODevice::waitForBytesWritten
+216 __cxa_pure_virtual
+224 QIODevice::readLineData
+232 __cxa_pure_virtual
+
+Class QIODevice
+ size=16 align=8
+ base size=16 base align=8
+QIODevice (0x7f0d41ba62a0) 0
+ vptr=((& QIODevice::_ZTV9QIODevice) + 16u)
+ QObject (0x7f0d41ba6310) 0
+ primary-for QIODevice (0x7f0d41ba62a0)
+
+Class _IO_marker
+ size=24 align=8
+ base size=24 base align=8
+_IO_marker (0x7f0d41a08e00) 0
+
+Class _IO_FILE
+ size=216 align=8
+ base size=216 base align=8
+_IO_FILE (0x7f0d41a08e70) 0
+
+Vtable for QFile
+QFile::_ZTV5QFile: 31u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI5QFile)
+16 QFile::metaObject
+24 QFile::qt_metacast
+32 QFile::qt_metacall
+40 QFile::~QFile
+48 QFile::~QFile
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QFile::isSequential
+120 QFile::open
+128 QFile::close
+136 QFile::pos
+144 QFile::size
+152 QFile::seek
+160 QFile::atEnd
+168 QIODevice::reset
+176 QIODevice::bytesAvailable
+184 QIODevice::bytesToWrite
+192 QIODevice::canReadLine
+200 QIODevice::waitForReadyRead
+208 QIODevice::waitForBytesWritten
+216 QFile::readData
+224 QFile::readLineData
+232 QFile::writeData
+240 QFile::fileEngine
+
+Class QFile
+ size=16 align=8
+ base size=16 base align=8
+QFile (0x7f0d41a08f50) 0
+ vptr=((& QFile::_ZTV5QFile) + 16u)
+ QIODevice (0x7f0d41a4e000) 0
+ primary-for QFile (0x7f0d41a08f50)
+ QObject (0x7f0d41a4e070) 0
+ primary-for QIODevice (0x7f0d41a4e000)
+
+Class QFileInfo
+ size=8 align=8
+ base size=8 base align=8
+QFileInfo (0x7f0d41aab1c0) 0
+
+Vtable for QDataStream
+QDataStream::_ZTV11QDataStream: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QDataStream)
+16 QDataStream::~QDataStream
+24 QDataStream::~QDataStream
+
+Class QDataStream
+ size=40 align=8
+ base size=40 base align=8
+QDataStream (0x7f0d41900b60) 0
+ vptr=((& QDataStream::_ZTV11QDataStream) + 16u)
+
+Class QRegExp
+ size=8 align=8
+ base size=8 base align=8
+QRegExp (0x7f0d419a1000) 0
+
+Class QStringMatcher::Data
+ size=272 align=8
+ base size=272 base align=8
+QStringMatcher::Data (0x7f0d419d03f0) 0
+
+Class QStringMatcher
+ size=1048 align=8
+ base size=1048 base align=8
+QStringMatcher (0x7f0d419c5d90) 0
+
+Class QStringList
+ size=8 align=8
+ base size=8 base align=8
+QStringList (0x7f0d419d09a0) 0
+ QList<QString> (0x7f0d419d0a10) 0
+
+Class QDir
+ size=8 align=8
+ base size=8 base align=8
+QDir (0x7f0d41870620) 0
+
+Class QAbstractFileEngine::ExtensionOption
+ size=1 align=1
+ base size=0 base align=1
+QAbstractFileEngine::ExtensionOption (0x7f0d41711a10) 0 empty
+
+Class QAbstractFileEngine::ExtensionReturn
+ size=1 align=1
+ base size=0 base align=1
+QAbstractFileEngine::ExtensionReturn (0x7f0d41711a80) 0 empty
+
+Class QAbstractFileEngine::MapExtensionOption
+ size=24 align=8
+ base size=20 base align=8
+QAbstractFileEngine::MapExtensionOption (0x7f0d41711af0) 0
+ QAbstractFileEngine::ExtensionOption (0x7f0d41711b60) 0 empty
+
+Class QAbstractFileEngine::MapExtensionReturn
+ size=8 align=8
+ base size=8 base align=8
+QAbstractFileEngine::MapExtensionReturn (0x7f0d41711d20) 0
+ QAbstractFileEngine::ExtensionReturn (0x7f0d41711d90) 0 empty
+
+Class QAbstractFileEngine::UnMapExtensionOption
+ size=8 align=8
+ base size=8 base align=8
+QAbstractFileEngine::UnMapExtensionOption (0x7f0d41711e00) 0
+ QAbstractFileEngine::ExtensionOption (0x7f0d41711e70) 0 empty
+
+Vtable for QAbstractFileEngine
+QAbstractFileEngine::_ZTV19QAbstractFileEngine: 36u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QAbstractFileEngine)
+16 QAbstractFileEngine::~QAbstractFileEngine
+24 QAbstractFileEngine::~QAbstractFileEngine
+32 QAbstractFileEngine::open
+40 QAbstractFileEngine::close
+48 QAbstractFileEngine::flush
+56 QAbstractFileEngine::size
+64 QAbstractFileEngine::pos
+72 QAbstractFileEngine::seek
+80 QAbstractFileEngine::isSequential
+88 QAbstractFileEngine::remove
+96 QAbstractFileEngine::copy
+104 QAbstractFileEngine::rename
+112 QAbstractFileEngine::link
+120 QAbstractFileEngine::mkdir
+128 QAbstractFileEngine::rmdir
+136 QAbstractFileEngine::setSize
+144 QAbstractFileEngine::caseSensitive
+152 QAbstractFileEngine::isRelativePath
+160 QAbstractFileEngine::entryList
+168 QAbstractFileEngine::fileFlags
+176 QAbstractFileEngine::setPermissions
+184 QAbstractFileEngine::fileName
+192 QAbstractFileEngine::ownerId
+200 QAbstractFileEngine::owner
+208 QAbstractFileEngine::fileTime
+216 QAbstractFileEngine::setFileName
+224 QAbstractFileEngine::handle
+232 QAbstractFileEngine::beginEntryList
+240 QAbstractFileEngine::endEntryList
+248 QAbstractFileEngine::read
+256 QAbstractFileEngine::readLine
+264 QAbstractFileEngine::write
+272 QAbstractFileEngine::extension
+280 QAbstractFileEngine::supportsExtension
+
+Class QAbstractFileEngine
+ size=16 align=8
+ base size=16 base align=8
+QAbstractFileEngine (0x7f0d416fc9a0) 0
+ vptr=((& QAbstractFileEngine::_ZTV19QAbstractFileEngine) + 16u)
+
+Vtable for QAbstractFileEngineHandler
+QAbstractFileEngineHandler::_ZTV26QAbstractFileEngineHandler: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI26QAbstractFileEngineHandler)
+16 QAbstractFileEngineHandler::~QAbstractFileEngineHandler
+24 QAbstractFileEngineHandler::~QAbstractFileEngineHandler
+32 __cxa_pure_virtual
+
+Class QAbstractFileEngineHandler
+ size=8 align=8
+ base size=8 base align=8
+QAbstractFileEngineHandler (0x7f0d4174dd20) 0 nearly-empty
+ vptr=((& QAbstractFileEngineHandler::_ZTV26QAbstractFileEngineHandler) + 16u)
+
+Vtable for QAbstractFileEngineIterator
+QAbstractFileEngineIterator::_ZTV27QAbstractFileEngineIterator: 9u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI27QAbstractFileEngineIterator)
+16 QAbstractFileEngineIterator::~QAbstractFileEngineIterator
+24 QAbstractFileEngineIterator::~QAbstractFileEngineIterator
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+48 __cxa_pure_virtual
+56 QAbstractFileEngineIterator::currentFileInfo
+64 QAbstractFileEngineIterator::entryInfo
+
+Class QAbstractFileEngineIterator
+ size=16 align=8
+ base size=16 base align=8
+QAbstractFileEngineIterator (0x7f0d4174dee0) 0
+ vptr=((& QAbstractFileEngineIterator::_ZTV27QAbstractFileEngineIterator) + 16u)
+
+Vtable for QBuffer
+QBuffer::_ZTV7QBuffer: 30u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QBuffer)
+16 QBuffer::metaObject
+24 QBuffer::qt_metacast
+32 QBuffer::qt_metacall
+40 QBuffer::~QBuffer
+48 QBuffer::~QBuffer
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QBuffer::connectNotify
+104 QBuffer::disconnectNotify
+112 QIODevice::isSequential
+120 QBuffer::open
+128 QBuffer::close
+136 QBuffer::pos
+144 QBuffer::size
+152 QBuffer::seek
+160 QBuffer::atEnd
+168 QIODevice::reset
+176 QIODevice::bytesAvailable
+184 QIODevice::bytesToWrite
+192 QBuffer::canReadLine
+200 QIODevice::waitForReadyRead
+208 QIODevice::waitForBytesWritten
+216 QBuffer::readData
+224 QIODevice::readLineData
+232 QBuffer::writeData
+
+Class QBuffer
+ size=16 align=8
+ base size=16 base align=8
+QBuffer (0x7f0d4175f7e0) 0
+ vptr=((& QBuffer::_ZTV7QBuffer) + 16u)
+ QIODevice (0x7f0d4175f850) 0
+ primary-for QBuffer (0x7f0d4175f7e0)
+ QObject (0x7f0d4175f8c0) 0
+ primary-for QIODevice (0x7f0d4175f850)
+
+Class QHashData::Node
+ size=16 align=8
+ base size=16 base align=8
+QHashData::Node (0x7f0d417a2f50) 0
+
+Class QHashData
+ size=40 align=8
+ base size=40 base align=8
+QHashData (0x7f0d417a2ee0) 0
+
+Class QHashDummyValue
+ size=1 align=1
+ base size=0 base align=1
+QHashDummyValue (0x7f0d417c42a0) 0 empty
+
+Class QMapData::Node
+ size=16 align=8
+ base size=16 base align=8
+QMapData::Node (0x7f0d416c4bd0) 0
+
+Class QMapData
+ size=128 align=8
+ base size=128 base align=8
+QMapData (0x7f0d416c4b60) 0
+
+Vtable for QSystemLocale
+QSystemLocale::_ZTV13QSystemLocale: 6u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QSystemLocale)
+16 QSystemLocale::~QSystemLocale
+24 QSystemLocale::~QSystemLocale
+32 QSystemLocale::query
+40 QSystemLocale::fallbackLocale
+
+Class QSystemLocale
+ size=8 align=8
+ base size=8 base align=8
+QSystemLocale (0x7f0d414007e0) 0 nearly-empty
+ vptr=((& QSystemLocale::_ZTV13QSystemLocale) + 16u)
+
+Class QLocale::Data
+ size=4 align=2
+ base size=4 base align=2
+QLocale::Data (0x7f0d4144fee0) 0
+
+Class QLocale
+ size=8 align=8
+ base size=8 base align=8
+QLocale (0x7f0d41400c40) 0
+
+Class QTextCodec::ConverterState
+ size=32 align=8
+ base size=32 base align=8
+QTextCodec::ConverterState (0x7f0d414a8d20) 0
+
+Vtable for QTextCodec
+QTextCodec::_ZTV10QTextCodec: 9u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QTextCodec)
+16 __cxa_pure_virtual
+24 QTextCodec::aliases
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+48 __cxa_pure_virtual
+56 QTextCodec::~QTextCodec
+64 QTextCodec::~QTextCodec
+
+Class QTextCodec
+ size=8 align=8
+ base size=8 base align=8
+QTextCodec (0x7f0d414985b0) 0 nearly-empty
+ vptr=((& QTextCodec::_ZTV10QTextCodec) + 16u)
+
+Class QTextEncoder
+ size=40 align=8
+ base size=40 base align=8
+QTextEncoder (0x7f0d413162a0) 0
+
+Class QTextDecoder
+ size=40 align=8
+ base size=40 base align=8
+QTextDecoder (0x7f0d4131d0e0) 0
+
+Vtable for QTextStream
+QTextStream::_ZTV11QTextStream: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QTextStream)
+16 QTextStream::~QTextStream
+24 QTextStream::~QTextStream
+
+Class QTextStream
+ size=16 align=8
+ base size=16 base align=8
+QTextStream (0x7f0d4131dee0) 0
+ vptr=((& QTextStream::_ZTV11QTextStream) + 16u)
+
+Class QTextStreamManipulator
+ size=40 align=8
+ base size=38 base align=8
+QTextStreamManipulator (0x7f0d41397bd0) 0
+
+Vtable for QTextIStream
+QTextIStream::_ZTV12QTextIStream: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QTextIStream)
+16 QTextIStream::~QTextIStream
+24 QTextIStream::~QTextIStream
+
+Class QTextIStream
+ size=16 align=8
+ base size=16 base align=8
+QTextIStream (0x7f0d413c81c0) 0
+ vptr=((& QTextIStream::_ZTV12QTextIStream) + 16u)
+ QTextStream (0x7f0d413c8230) 0
+ primary-for QTextIStream (0x7f0d413c81c0)
+
+Vtable for QTextOStream
+QTextOStream::_ZTV12QTextOStream: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QTextOStream)
+16 QTextOStream::~QTextOStream
+24 QTextOStream::~QTextOStream
+
+Class QTextOStream
+ size=16 align=8
+ base size=16 base align=8
+QTextOStream (0x7f0d413db070) 0
+ vptr=((& QTextOStream::_ZTV12QTextOStream) + 16u)
+ QTextStream (0x7f0d413db0e0) 0
+ primary-for QTextOStream (0x7f0d413db070)
+
+Class wait
+ size=4 align=4
+ base size=4 base align=4
+wait (0x7f0d411e7ee0) 0
+
+Class timespec
+ size=16 align=8
+ base size=16 base align=8
+timespec (0x7f0d411f2230) 0
+
+Class timeval
+ size=16 align=8
+ base size=16 base align=8
+timeval (0x7f0d411f22a0) 0
+
+Class __pthread_internal_list
+ size=16 align=8
+ base size=16 base align=8
+__pthread_internal_list (0x7f0d411f23f0) 0
+
+Class random_data
+ size=48 align=8
+ base size=48 base align=8
+random_data (0x7f0d411f29a0) 0
+
+Class drand48_data
+ size=24 align=8
+ base size=24 base align=8
+drand48_data (0x7f0d411f2a10) 0
+
+Class QVectorData
+ size=16 align=4
+ base size=16 base align=4
+QVectorData (0x7f0d411f2a80) 0
+
+Class QContiguousCacheData
+ size=24 align=4
+ base size=24 base align=4
+QContiguousCacheData (0x7f0d411aa770) 0
+
+Class QDebug::Stream
+ size=40 align=8
+ base size=34 base align=8
+QDebug::Stream (0x7f0d4100e2a0) 0
+
+Class QDebug
+ size=8 align=8
+ base size=8 base align=8
+QDebug (0x7f0d4100e230) 0
+
+Class QNoDebug
+ size=1 align=1
+ base size=0 base align=1
+QNoDebug (0x7f0d410c0230) 0 empty
+
+Vtable for QDirIterator
+QDirIterator::_ZTV12QDirIterator: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QDirIterator)
+16 QDirIterator::~QDirIterator
+24 QDirIterator::~QDirIterator
+
+Class QDirIterator
+ size=16 align=8
+ base size=16 base align=8
+QDirIterator (0x7f0d40ed18c0) 0
+ vptr=((& QDirIterator::_ZTV12QDirIterator) + 16u)
+
+Vtable for QFileSystemWatcher
+QFileSystemWatcher::_ZTV18QFileSystemWatcher: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QFileSystemWatcher)
+16 QFileSystemWatcher::metaObject
+24 QFileSystemWatcher::qt_metacast
+32 QFileSystemWatcher::qt_metacall
+40 QFileSystemWatcher::~QFileSystemWatcher
+48 QFileSystemWatcher::~QFileSystemWatcher
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QFileSystemWatcher
+ size=16 align=8
+ base size=16 base align=8
+QFileSystemWatcher (0x7f0d40f21690) 0
+ vptr=((& QFileSystemWatcher::_ZTV18QFileSystemWatcher) + 16u)
+ QObject (0x7f0d40f21700) 0
+ primary-for QFileSystemWatcher (0x7f0d40f21690)
+
+Vtable for QFSFileEngine
+QFSFileEngine::_ZTV13QFSFileEngine: 36u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QFSFileEngine)
+16 QFSFileEngine::~QFSFileEngine
+24 QFSFileEngine::~QFSFileEngine
+32 QFSFileEngine::open
+40 QFSFileEngine::close
+48 QFSFileEngine::flush
+56 QFSFileEngine::size
+64 QFSFileEngine::pos
+72 QFSFileEngine::seek
+80 QFSFileEngine::isSequential
+88 QFSFileEngine::remove
+96 QFSFileEngine::copy
+104 QFSFileEngine::rename
+112 QFSFileEngine::link
+120 QFSFileEngine::mkdir
+128 QFSFileEngine::rmdir
+136 QFSFileEngine::setSize
+144 QFSFileEngine::caseSensitive
+152 QFSFileEngine::isRelativePath
+160 QFSFileEngine::entryList
+168 QFSFileEngine::fileFlags
+176 QFSFileEngine::setPermissions
+184 QFSFileEngine::fileName
+192 QFSFileEngine::ownerId
+200 QFSFileEngine::owner
+208 QFSFileEngine::fileTime
+216 QFSFileEngine::setFileName
+224 QFSFileEngine::handle
+232 QFSFileEngine::beginEntryList
+240 QFSFileEngine::endEntryList
+248 QFSFileEngine::read
+256 QFSFileEngine::readLine
+264 QFSFileEngine::write
+272 QFSFileEngine::extension
+280 QFSFileEngine::supportsExtension
+
+Class QFSFileEngine
+ size=16 align=8
+ base size=16 base align=8
+QFSFileEngine (0x7f0d40f3ebd0) 0
+ vptr=((& QFSFileEngine::_ZTV13QFSFileEngine) + 16u)
+ QAbstractFileEngine (0x7f0d40f3ec40) 0
+ primary-for QFSFileEngine (0x7f0d40f3ebd0)
+
+Class QSharedData
+ size=4 align=4
+ base size=4 base align=4
+QSharedData (0x7f0d40f4f9a0) 0
+
+Class QProcessEnvironment
+ size=8 align=8
+ base size=8 base align=8
+QProcessEnvironment (0x7f0d40f97310) 0
+
+Vtable for QProcess
+QProcess::_ZTV8QProcess: 31u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI8QProcess)
+16 QProcess::metaObject
+24 QProcess::qt_metacast
+32 QProcess::qt_metacall
+40 QProcess::~QProcess
+48 QProcess::~QProcess
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QProcess::isSequential
+120 QIODevice::open
+128 QProcess::close
+136 QIODevice::pos
+144 QIODevice::size
+152 QIODevice::seek
+160 QProcess::atEnd
+168 QIODevice::reset
+176 QProcess::bytesAvailable
+184 QProcess::bytesToWrite
+192 QProcess::canReadLine
+200 QProcess::waitForReadyRead
+208 QProcess::waitForBytesWritten
+216 QProcess::readData
+224 QIODevice::readLineData
+232 QProcess::writeData
+240 QProcess::setupChildProcess
+
+Class QProcess
+ size=16 align=8
+ base size=16 base align=8
+QProcess (0x7f0d40f97e00) 0
+ vptr=((& QProcess::_ZTV8QProcess) + 16u)
+ QIODevice (0x7f0d40f97e70) 0
+ primary-for QProcess (0x7f0d40f97e00)
+ QObject (0x7f0d40f97ee0) 0
+ primary-for QIODevice (0x7f0d40f97e70)
+
+Class QResource
+ size=8 align=8
+ base size=8 base align=8
+QResource (0x7f0d40de0310) 0
+
+Class QMetaType
+ size=1 align=1
+ base size=0 base align=1
+QMetaType (0x7f0d40de0460) 0 empty
+
+Class QVariant::PrivateShared
+ size=16 align=8
+ base size=12 base align=8
+QVariant::PrivateShared (0x7f0d40cdf850) 0
+
+Class QVariant::Private::Data
+ size=8 align=8
+ base size=8 base align=8
+QVariant::Private::Data (0x7f0d40cdfb60) 0
+
+Class QVariant::Private
+ size=16 align=8
+ base size=12 base align=8
+QVariant::Private (0x7f0d40cdf930) 0
+
+Class QVariant::Handler
+ size=72 align=8
+ base size=72 base align=8
+QVariant::Handler (0x7f0d40cee850) 0
+
+Class QVariant
+ size=16 align=8
+ base size=16 base align=8
+QVariant (0x7f0d40eae930) 0
+
+Class QVariantComparisonHelper
+ size=8 align=8
+ base size=8 base align=8
+QVariantComparisonHelper (0x7f0d40da4af0) 0
+
+Vtable for QSettings
+QSettings::_ZTV9QSettings: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QSettings)
+16 QSettings::metaObject
+24 QSettings::qt_metacast
+32 QSettings::qt_metacall
+40 QSettings::~QSettings
+48 QSettings::~QSettings
+56 QSettings::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QSettings
+ size=16 align=8
+ base size=16 base align=8
+QSettings (0x7f0d40bd0070) 0
+ vptr=((& QSettings::_ZTV9QSettings) + 16u)
+ QObject (0x7f0d40bd00e0) 0
+ primary-for QSettings (0x7f0d40bd0070)
+
+Vtable for QTemporaryFile
+QTemporaryFile::_ZTV14QTemporaryFile: 31u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QTemporaryFile)
+16 QTemporaryFile::metaObject
+24 QTemporaryFile::qt_metacast
+32 QTemporaryFile::qt_metacall
+40 QTemporaryFile::~QTemporaryFile
+48 QTemporaryFile::~QTemporaryFile
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QFile::isSequential
+120 QTemporaryFile::open
+128 QFile::close
+136 QFile::pos
+144 QFile::size
+152 QFile::seek
+160 QFile::atEnd
+168 QIODevice::reset
+176 QIODevice::bytesAvailable
+184 QIODevice::bytesToWrite
+192 QIODevice::canReadLine
+200 QIODevice::waitForReadyRead
+208 QIODevice::waitForBytesWritten
+216 QFile::readData
+224 QFile::readLineData
+232 QFile::writeData
+240 QTemporaryFile::fileEngine
+
+Class QTemporaryFile
+ size=16 align=8
+ base size=16 base align=8
+QTemporaryFile (0x7f0d40c493f0) 0
+ vptr=((& QTemporaryFile::_ZTV14QTemporaryFile) + 16u)
+ QFile (0x7f0d40c49460) 0
+ primary-for QTemporaryFile (0x7f0d40c493f0)
+ QIODevice (0x7f0d40c494d0) 0
+ primary-for QFile (0x7f0d40c49460)
+ QObject (0x7f0d40c49540) 0
+ primary-for QIODevice (0x7f0d40c494d0)
+
+Class QUrl
+ size=8 align=8
+ base size=8 base align=8
+QUrl (0x7f0d40c64af0) 0
+
+Class QXmlStreamStringRef
+ size=16 align=8
+ base size=16 base align=8
+QXmlStreamStringRef (0x7f0d40aed1c0) 0
+
+Class QXmlStreamAttribute
+ size=80 align=8
+ base size=73 base align=8
+QXmlStreamAttribute (0x7f0d40b0aa10) 0
+
+Class QXmlStreamAttributes
+ size=8 align=8
+ base size=8 base align=8
+QXmlStreamAttributes (0x7f0d40b33460) 0
+ QVector<QXmlStreamAttribute> (0x7f0d40b334d0) 0
+
+Class QXmlStreamNamespaceDeclaration
+ size=40 align=8
+ base size=40 base align=8
+QXmlStreamNamespaceDeclaration (0x7f0d40b33930) 0
+
+Class QXmlStreamNotationDeclaration
+ size=56 align=8
+ base size=56 base align=8
+QXmlStreamNotationDeclaration (0x7f0d40b74310) 0
+
+Class QXmlStreamEntityDeclaration
+ size=88 align=8
+ base size=88 base align=8
+QXmlStreamEntityDeclaration (0x7f0d40b8f1c0) 0
+
+Vtable for QXmlStreamEntityResolver
+QXmlStreamEntityResolver::_ZTV24QXmlStreamEntityResolver: 6u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI24QXmlStreamEntityResolver)
+16 QXmlStreamEntityResolver::~QXmlStreamEntityResolver
+24 QXmlStreamEntityResolver::~QXmlStreamEntityResolver
+32 QXmlStreamEntityResolver::resolveEntity
+40 QXmlStreamEntityResolver::resolveUndeclaredEntity
+
+Class QXmlStreamEntityResolver
+ size=8 align=8
+ base size=8 base align=8
+QXmlStreamEntityResolver (0x7f0d40bb1af0) 0 nearly-empty
+ vptr=((& QXmlStreamEntityResolver::_ZTV24QXmlStreamEntityResolver) + 16u)
+
+Class QXmlStreamReader
+ size=8 align=8
+ base size=8 base align=8
+QXmlStreamReader (0x7f0d40bb1cb0) 0
+
+Class QXmlStreamWriter
+ size=8 align=8
+ base size=8 base align=8
+QXmlStreamWriter (0x7f0d409f6d90) 0
+
+Vtable for QAbstractState
+QAbstractState::_ZTV14QAbstractState: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QAbstractState)
+16 QAbstractState::metaObject
+24 QAbstractState::qt_metacast
+32 QAbstractState::qt_metacall
+40 QAbstractState::~QAbstractState
+48 QAbstractState::~QAbstractState
+56 QAbstractState::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+
+Class QAbstractState
+ size=16 align=8
+ base size=16 base align=8
+QAbstractState (0x7f0d40a02bd0) 0
+ vptr=((& QAbstractState::_ZTV14QAbstractState) + 16u)
+ QObject (0x7f0d40a02c40) 0
+ primary-for QAbstractState (0x7f0d40a02bd0)
+
+Vtable for QAbstractTransition
+QAbstractTransition::_ZTV19QAbstractTransition: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QAbstractTransition)
+16 QAbstractTransition::metaObject
+24 QAbstractTransition::qt_metacast
+32 QAbstractTransition::qt_metacall
+40 QAbstractTransition::~QAbstractTransition
+48 QAbstractTransition::~QAbstractTransition
+56 QAbstractTransition::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+
+Class QAbstractTransition
+ size=16 align=8
+ base size=16 base align=8
+QAbstractTransition (0x7f0d40a333f0) 0
+ vptr=((& QAbstractTransition::_ZTV19QAbstractTransition) + 16u)
+ QObject (0x7f0d40a33460) 0
+ primary-for QAbstractTransition (0x7f0d40a333f0)
+
+Vtable for QEvent
+QEvent::_ZTV6QEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI6QEvent)
+16 QEvent::~QEvent
+24 QEvent::~QEvent
+
+Class QEvent
+ size=24 align=8
+ base size=20 base align=8
+QEvent (0x7f0d40a47c40) 0
+ vptr=((& QEvent::_ZTV6QEvent) + 16u)
+
+Vtable for QTimerEvent
+QTimerEvent::_ZTV11QTimerEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QTimerEvent)
+16 QTimerEvent::~QTimerEvent
+24 QTimerEvent::~QTimerEvent
+
+Class QTimerEvent
+ size=24 align=8
+ base size=24 base align=8
+QTimerEvent (0x7f0d40a68850) 0
+ vptr=((& QTimerEvent::_ZTV11QTimerEvent) + 16u)
+ QEvent (0x7f0d40a688c0) 0
+ primary-for QTimerEvent (0x7f0d40a68850)
+
+Vtable for QChildEvent
+QChildEvent::_ZTV11QChildEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QChildEvent)
+16 QChildEvent::~QChildEvent
+24 QChildEvent::~QChildEvent
+
+Class QChildEvent
+ size=32 align=8
+ base size=32 base align=8
+QChildEvent (0x7f0d40a68cb0) 0
+ vptr=((& QChildEvent::_ZTV11QChildEvent) + 16u)
+ QEvent (0x7f0d40a68d20) 0
+ primary-for QChildEvent (0x7f0d40a68cb0)
+
+Vtable for QCustomEvent
+QCustomEvent::_ZTV12QCustomEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QCustomEvent)
+16 QCustomEvent::~QCustomEvent
+24 QCustomEvent::~QCustomEvent
+
+Class QCustomEvent
+ size=24 align=8
+ base size=20 base align=8
+QCustomEvent (0x7f0d40a72f50) 0
+ vptr=((& QCustomEvent::_ZTV12QCustomEvent) + 16u)
+ QEvent (0x7f0d40a81000) 0
+ primary-for QCustomEvent (0x7f0d40a72f50)
+
+Vtable for QDynamicPropertyChangeEvent
+QDynamicPropertyChangeEvent::_ZTV27QDynamicPropertyChangeEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI27QDynamicPropertyChangeEvent)
+16 QDynamicPropertyChangeEvent::~QDynamicPropertyChangeEvent
+24 QDynamicPropertyChangeEvent::~QDynamicPropertyChangeEvent
+
+Class QDynamicPropertyChangeEvent
+ size=32 align=8
+ base size=32 base align=8
+QDynamicPropertyChangeEvent (0x7f0d40a81770) 0
+ vptr=((& QDynamicPropertyChangeEvent::_ZTV27QDynamicPropertyChangeEvent) + 16u)
+ QEvent (0x7f0d40a817e0) 0
+ primary-for QDynamicPropertyChangeEvent (0x7f0d40a81770)
+
+Vtable for QEventTransition
+QEventTransition::_ZTV16QEventTransition: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QEventTransition)
+16 QEventTransition::metaObject
+24 QEventTransition::qt_metacast
+32 QEventTransition::qt_metacall
+40 QEventTransition::~QEventTransition
+48 QEventTransition::~QEventTransition
+56 QEventTransition::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QEventTransition::eventTest
+120 QEventTransition::onTransition
+
+Class QEventTransition
+ size=16 align=8
+ base size=16 base align=8
+QEventTransition (0x7f0d40a81c40) 0
+ vptr=((& QEventTransition::_ZTV16QEventTransition) + 16u)
+ QAbstractTransition (0x7f0d40a81cb0) 0
+ primary-for QEventTransition (0x7f0d40a81c40)
+ QObject (0x7f0d40a81d20) 0
+ primary-for QAbstractTransition (0x7f0d40a81cb0)
+
+Vtable for QFinalState
+QFinalState::_ZTV11QFinalState: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QFinalState)
+16 QFinalState::metaObject
+24 QFinalState::qt_metacast
+32 QFinalState::qt_metacall
+40 QFinalState::~QFinalState
+48 QFinalState::~QFinalState
+56 QFinalState::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QFinalState::onEntry
+120 QFinalState::onExit
+
+Class QFinalState
+ size=16 align=8
+ base size=16 base align=8
+QFinalState (0x7f0d40a9daf0) 0
+ vptr=((& QFinalState::_ZTV11QFinalState) + 16u)
+ QAbstractState (0x7f0d40a9db60) 0
+ primary-for QFinalState (0x7f0d40a9daf0)
+ QObject (0x7f0d40a9dbd0) 0
+ primary-for QAbstractState (0x7f0d40a9db60)
+
+Vtable for QHistoryState
+QHistoryState::_ZTV13QHistoryState: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QHistoryState)
+16 QHistoryState::metaObject
+24 QHistoryState::qt_metacast
+32 QHistoryState::qt_metacall
+40 QHistoryState::~QHistoryState
+48 QHistoryState::~QHistoryState
+56 QHistoryState::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QHistoryState::onEntry
+120 QHistoryState::onExit
+
+Class QHistoryState
+ size=16 align=8
+ base size=16 base align=8
+QHistoryState (0x7f0d408b7380) 0
+ vptr=((& QHistoryState::_ZTV13QHistoryState) + 16u)
+ QAbstractState (0x7f0d408b73f0) 0
+ primary-for QHistoryState (0x7f0d408b7380)
+ QObject (0x7f0d408b7460) 0
+ primary-for QAbstractState (0x7f0d408b73f0)
+
+Vtable for QSignalTransition
+QSignalTransition::_ZTV17QSignalTransition: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QSignalTransition)
+16 QSignalTransition::metaObject
+24 QSignalTransition::qt_metacast
+32 QSignalTransition::qt_metacall
+40 QSignalTransition::~QSignalTransition
+48 QSignalTransition::~QSignalTransition
+56 QSignalTransition::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QSignalTransition::eventTest
+120 QSignalTransition::onTransition
+
+Class QSignalTransition
+ size=16 align=8
+ base size=16 base align=8
+QSignalTransition (0x7f0d408d10e0) 0
+ vptr=((& QSignalTransition::_ZTV17QSignalTransition) + 16u)
+ QAbstractTransition (0x7f0d408d1150) 0
+ primary-for QSignalTransition (0x7f0d408d10e0)
+ QObject (0x7f0d408d11c0) 0
+ primary-for QAbstractTransition (0x7f0d408d1150)
+
+Vtable for QState
+QState::_ZTV6QState: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI6QState)
+16 QState::metaObject
+24 QState::qt_metacast
+32 QState::qt_metacall
+40 QState::~QState
+48 QState::~QState
+56 QState::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QState::onEntry
+120 QState::onExit
+
+Class QState
+ size=16 align=8
+ base size=16 base align=8
+QState (0x7f0d408e6c40) 0
+ vptr=((& QState::_ZTV6QState) + 16u)
+ QAbstractState (0x7f0d408e6cb0) 0
+ primary-for QState (0x7f0d408e6c40)
+ QObject (0x7f0d408e6d20) 0
+ primary-for QAbstractState (0x7f0d408e6cb0)
+
+Vtable for QStateMachine::SignalEvent
+QStateMachine::SignalEvent::_ZTVN13QStateMachine11SignalEventE: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN13QStateMachine11SignalEventE)
+16 QStateMachine::SignalEvent::~SignalEvent
+24 QStateMachine::SignalEvent::~SignalEvent
+
+Class QStateMachine::SignalEvent
+ size=48 align=8
+ base size=48 base align=8
+QStateMachine::SignalEvent (0x7f0d4090a2a0) 0
+ vptr=((& QStateMachine::SignalEvent::_ZTVN13QStateMachine11SignalEventE) + 16u)
+ QEvent (0x7f0d4090a310) 0
+ primary-for QStateMachine::SignalEvent (0x7f0d4090a2a0)
+
+Vtable for QStateMachine::WrappedEvent
+QStateMachine::WrappedEvent::_ZTVN13QStateMachine12WrappedEventE: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN13QStateMachine12WrappedEventE)
+16 QStateMachine::WrappedEvent::~WrappedEvent
+24 QStateMachine::WrappedEvent::~WrappedEvent
+
+Class QStateMachine::WrappedEvent
+ size=40 align=8
+ base size=40 base align=8
+QStateMachine::WrappedEvent (0x7f0d4090a850) 0
+ vptr=((& QStateMachine::WrappedEvent::_ZTVN13QStateMachine12WrappedEventE) + 16u)
+ QEvent (0x7f0d4090a8c0) 0
+ primary-for QStateMachine::WrappedEvent (0x7f0d4090a850)
+
+Vtable for QStateMachine
+QStateMachine::_ZTV13QStateMachine: 20u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QStateMachine)
+16 QStateMachine::metaObject
+24 QStateMachine::qt_metacast
+32 QStateMachine::qt_metacall
+40 QStateMachine::~QStateMachine
+48 QStateMachine::~QStateMachine
+56 QStateMachine::event
+64 QStateMachine::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QStateMachine::onEntry
+120 QStateMachine::onExit
+128 QStateMachine::beginSelectTransitions
+136 QStateMachine::endSelectTransitions
+144 QStateMachine::beginMicrostep
+152 QStateMachine::endMicrostep
+
+Class QStateMachine
+ size=16 align=8
+ base size=16 base align=8
+QStateMachine (0x7f0d4090a070) 0
+ vptr=((& QStateMachine::_ZTV13QStateMachine) + 16u)
+ QState (0x7f0d4090a0e0) 0
+ primary-for QStateMachine (0x7f0d4090a070)
+ QAbstractState (0x7f0d4090a150) 0
+ primary-for QState (0x7f0d4090a0e0)
+ QObject (0x7f0d4090a1c0) 0
+ primary-for QAbstractState (0x7f0d4090a150)
+
+Class QBitArray
+ size=8 align=8
+ base size=8 base align=8
+QBitArray (0x7f0d4093a2a0) 0
+
+Class QBitRef
+ size=16 align=8
+ base size=12 base align=8
+QBitRef (0x7f0d4098df50) 0
+
+Class QByteArrayMatcher::Data
+ size=272 align=8
+ base size=272 base align=8
+QByteArrayMatcher::Data (0x7f0d409a2c40) 0
+
+Class QByteArrayMatcher
+ size=1040 align=8
+ base size=1040 base align=8
+QByteArrayMatcher (0x7f0d409a2620) 0
+
+Class QCryptographicHash
+ size=8 align=8
+ base size=8 base align=8
+QCryptographicHash (0x7f0d407d32a0) 0
+
+Vtable for QtSharedPointer::ExternalRefCountData
+QtSharedPointer::ExternalRefCountData::_ZTVN15QtSharedPointer20ExternalRefCountDataE: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN15QtSharedPointer20ExternalRefCountDataE)
+16 QtSharedPointer::ExternalRefCountData::~ExternalRefCountData
+24 QtSharedPointer::ExternalRefCountData::~ExternalRefCountData
+32 QtSharedPointer::ExternalRefCountData::destroy
+
+Class QtSharedPointer::ExternalRefCountData
+ size=16 align=8
+ base size=16 base align=8
+QtSharedPointer::ExternalRefCountData (0x7f0d408031c0) 0
+ vptr=((& QtSharedPointer::ExternalRefCountData::_ZTVN15QtSharedPointer20ExternalRefCountDataE) + 16u)
+
+Vtable for QtSharedPointer::ExternalRefCountWithDestroyFn
+QtSharedPointer::ExternalRefCountWithDestroyFn::_ZTVN15QtSharedPointer29ExternalRefCountWithDestroyFnE: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN15QtSharedPointer29ExternalRefCountWithDestroyFnE)
+16 QtSharedPointer::ExternalRefCountWithDestroyFn::~ExternalRefCountWithDestroyFn
+24 QtSharedPointer::ExternalRefCountWithDestroyFn::~ExternalRefCountWithDestroyFn
+32 QtSharedPointer::ExternalRefCountWithDestroyFn::destroy
+
+Class QtSharedPointer::ExternalRefCountWithDestroyFn
+ size=24 align=8
+ base size=24 base align=8
+QtSharedPointer::ExternalRefCountWithDestroyFn (0x7f0d4081ba80) 0
+ vptr=((& QtSharedPointer::ExternalRefCountWithDestroyFn::_ZTVN15QtSharedPointer29ExternalRefCountWithDestroyFnE) + 16u)
+ QtSharedPointer::ExternalRefCountData (0x7f0d4081baf0) 0
+ primary-for QtSharedPointer::ExternalRefCountWithDestroyFn (0x7f0d4081ba80)
+
+Class QDate
+ size=4 align=4
+ base size=4 base align=4
+QDate (0x7f0d408a0700) 0
+
+Class QTime
+ size=4 align=4
+ base size=4 base align=4
+QTime (0x7f0d406d2690) 0
+
+Class QDateTime
+ size=8 align=8
+ base size=8 base align=8
+QDateTime (0x7f0d406efc40) 0
+
+Class QEasingCurve
+ size=8 align=8
+ base size=8 base align=8
+QEasingCurve (0x7f0d40736150) 0
+
+Class QPoint
+ size=8 align=4
+ base size=8 base align=4
+QPoint (0x7f0d40746000) 0
+
+Class QPointF
+ size=16 align=8
+ base size=16 base align=8
+QPointF (0x7f0d40778c40) 0
+
+Class QLine
+ size=16 align=4
+ base size=16 base align=4
+QLine (0x7f0d407b6c40) 0
+
+Class QLineF
+ size=32 align=8
+ base size=32 base align=8
+QLineF (0x7f0d405ebaf0) 0
+
+Class QLinkedListData
+ size=32 align=8
+ base size=32 base align=8
+QLinkedListData (0x7f0d406465b0) 0
+
+Class QMargins
+ size=16 align=4
+ base size=16 base align=4
+QMargins (0x7f0d405064d0) 0
+
+Class QSize
+ size=8 align=4
+ base size=8 base align=4
+QSize (0x7f0d405322a0) 0
+
+Class QSizeF
+ size=16 align=8
+ base size=16 base align=8
+QSizeF (0x7f0d40574f50) 0
+
+Class QRect
+ size=16 align=4
+ base size=16 base align=4
+QRect (0x7f0d403c84d0) 0
+
+Class QRectF
+ size=32 align=8
+ base size=32 base align=8
+QRectF (0x7f0d40476e70) 0
+
+Class QLatin1Literal
+ size=16 align=8
+ base size=16 base align=8
+QLatin1Literal (0x7f0d40334000) 0
+
+Class QAbstractConcatenable
+ size=1 align=1
+ base size=0 base align=1
+QAbstractConcatenable (0x7f0d40334540) 0 empty
+
+Class QTextBoundaryFinder
+ size=48 align=8
+ base size=48 base align=8
+QTextBoundaryFinder (0x7f0d4036c4d0) 0
+
+Vtable for QTimeLine
+QTimeLine::_ZTV9QTimeLine: 15u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QTimeLine)
+16 QTimeLine::metaObject
+24 QTimeLine::qt_metacast
+32 QTimeLine::qt_metacall
+40 QTimeLine::~QTimeLine
+48 QTimeLine::~QTimeLine
+56 QObject::event
+64 QObject::eventFilter
+72 QTimeLine::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QTimeLine::valueForTime
+
+Class QTimeLine
+ size=16 align=8
+ base size=16 base align=8
+QTimeLine (0x7f0d40378850) 0
+ vptr=((& QTimeLine::_ZTV9QTimeLine) + 16u)
+ QObject (0x7f0d403788c0) 0
+ primary-for QTimeLine (0x7f0d40378850)
+
+Vtable for QRunnable
+QRunnable::_ZTV9QRunnable: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QRunnable)
+16 __cxa_pure_virtual
+24 QRunnable::~QRunnable
+32 QRunnable::~QRunnable
+
+Class QRunnable
+ size=16 align=8
+ base size=12 base align=8
+QRunnable (0x7f0d401c40e0) 0
+ vptr=((& QRunnable::_ZTV9QRunnable) + 16u)
+
+Class QMutex
+ size=8 align=8
+ base size=8 base align=8
+QMutex (0x7f0d401da770) 0
+
+Class QMutexLocker
+ size=8 align=8
+ base size=8 base align=8
+QMutexLocker (0x7f0d401e9310) 0
+
+Vtable for QtConcurrent::Exception
+QtConcurrent::Exception::_ZTVN12QtConcurrent9ExceptionE: 7u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN12QtConcurrent9ExceptionE)
+16 QtConcurrent::Exception::~Exception
+24 QtConcurrent::Exception::~Exception
+32 std::exception::what
+40 QtConcurrent::Exception::raise
+48 QtConcurrent::Exception::clone
+
+Class QtConcurrent::Exception
+ size=8 align=8
+ base size=8 base align=8
+QtConcurrent::Exception (0x7f0d401ff620) 0 nearly-empty
+ vptr=((& QtConcurrent::Exception::_ZTVN12QtConcurrent9ExceptionE) + 16u)
+ std::exception (0x7f0d401ff690) 0 nearly-empty
+ primary-for QtConcurrent::Exception (0x7f0d401ff620)
+
+Vtable for QtConcurrent::UnhandledException
+QtConcurrent::UnhandledException::_ZTVN12QtConcurrent18UnhandledExceptionE: 7u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN12QtConcurrent18UnhandledExceptionE)
+16 QtConcurrent::UnhandledException::~UnhandledException
+24 QtConcurrent::UnhandledException::~UnhandledException
+32 std::exception::what
+40 QtConcurrent::UnhandledException::raise
+48 QtConcurrent::UnhandledException::clone
+
+Class QtConcurrent::UnhandledException
+ size=8 align=8
+ base size=8 base align=8
+QtConcurrent::UnhandledException (0x7f0d401ff8c0) 0 nearly-empty
+ vptr=((& QtConcurrent::UnhandledException::_ZTVN12QtConcurrent18UnhandledExceptionE) + 16u)
+ QtConcurrent::Exception (0x7f0d401ff930) 0 nearly-empty
+ primary-for QtConcurrent::UnhandledException (0x7f0d401ff8c0)
+ std::exception (0x7f0d401ff9a0) 0 nearly-empty
+ primary-for QtConcurrent::Exception (0x7f0d401ff930)
+
+Class QtConcurrent::internal::ExceptionHolder
+ size=8 align=8
+ base size=8 base align=8
+QtConcurrent::internal::ExceptionHolder (0x7f0d401ffbd0) 0
+
+Class QtConcurrent::internal::ExceptionStore
+ size=8 align=8
+ base size=8 base align=8
+QtConcurrent::internal::ExceptionStore (0x7f0d401fff50) 0
+
+Class QtConcurrent::ResultItem
+ size=16 align=8
+ base size=16 base align=8
+QtConcurrent::ResultItem (0x7f0d401ff850) 0
+
+Class QtConcurrent::ResultIteratorBase
+ size=16 align=8
+ base size=12 base align=8
+QtConcurrent::ResultIteratorBase (0x7f0d40217ee0) 0
+
+Vtable for QtConcurrent::ResultStoreBase
+QtConcurrent::ResultStoreBase::_ZTVN12QtConcurrent15ResultStoreBaseE: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN12QtConcurrent15ResultStoreBaseE)
+16 QtConcurrent::ResultStoreBase::~ResultStoreBase
+24 QtConcurrent::ResultStoreBase::~ResultStoreBase
+
+Class QtConcurrent::ResultStoreBase
+ size=48 align=8
+ base size=44 base align=8
+QtConcurrent::ResultStoreBase (0x7f0d4021ba80) 0
+ vptr=((& QtConcurrent::ResultStoreBase::_ZTVN12QtConcurrent15ResultStoreBaseE) + 16u)
+
+Vtable for QFutureInterfaceBase
+QFutureInterfaceBase::_ZTV20QFutureInterfaceBase: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI20QFutureInterfaceBase)
+16 QFutureInterfaceBase::~QFutureInterfaceBase
+24 QFutureInterfaceBase::~QFutureInterfaceBase
+
+Class QFutureInterfaceBase
+ size=16 align=8
+ base size=16 base align=8
+QFutureInterfaceBase (0x7f0d4025bee0) 0
+ vptr=((& QFutureInterfaceBase::_ZTV20QFutureInterfaceBase) + 16u)
+
+Vtable for QFutureWatcherBase
+QFutureWatcherBase::_ZTV18QFutureWatcherBase: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QFutureWatcherBase)
+16 QFutureWatcherBase::metaObject
+24 QFutureWatcherBase::qt_metacast
+32 QFutureWatcherBase::qt_metacall
+40 QFutureWatcherBase::~QFutureWatcherBase
+48 QFutureWatcherBase::~QFutureWatcherBase
+56 QFutureWatcherBase::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QFutureWatcherBase::connectNotify
+104 QFutureWatcherBase::disconnectNotify
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+
+Class QFutureWatcherBase
+ size=16 align=8
+ base size=16 base align=8
+QFutureWatcherBase (0x7f0d4013f7e0) 0
+ vptr=((& QFutureWatcherBase::_ZTV18QFutureWatcherBase) + 16u)
+ QObject (0x7f0d4013f850) 0
+ primary-for QFutureWatcherBase (0x7f0d4013f7e0)
+
+Vtable for QThread
+QThread::_ZTV7QThread: 15u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QThread)
+16 QThread::metaObject
+24 QThread::qt_metacast
+32 QThread::qt_metacall
+40 QThread::~QThread
+48 QThread::~QThread
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QThread::run
+
+Class QThread
+ size=16 align=8
+ base size=16 base align=8
+QThread (0x7f0d40190bd0) 0
+ vptr=((& QThread::_ZTV7QThread) + 16u)
+ QObject (0x7f0d40190c40) 0
+ primary-for QThread (0x7f0d40190bd0)
+
+Vtable for QThreadPool
+QThreadPool::_ZTV11QThreadPool: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QThreadPool)
+16 QThreadPool::metaObject
+24 QThreadPool::qt_metacast
+32 QThreadPool::qt_metacall
+40 QThreadPool::~QThreadPool
+48 QThreadPool::~QThreadPool
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QThreadPool
+ size=16 align=8
+ base size=16 base align=8
+QThreadPool (0x7f0d3ffb9a80) 0
+ vptr=((& QThreadPool::_ZTV11QThreadPool) + 16u)
+ QObject (0x7f0d3ffb9af0) 0
+ primary-for QThreadPool (0x7f0d3ffb9a80)
+
+Class QWaitCondition
+ size=8 align=8
+ base size=8 base align=8
+QWaitCondition (0x7f0d3ffd2070) 0
+
+Class QSemaphore
+ size=8 align=8
+ base size=8 base align=8
+QSemaphore (0x7f0d3ffd25b0) 0
+
+Class QtConcurrent::ThreadEngineBarrier
+ size=24 align=8
+ base size=24 base align=8
+QtConcurrent::ThreadEngineBarrier (0x7f0d3ffd2af0) 0
+
+Vtable for QtConcurrent::ThreadEngineBase
+QtConcurrent::ThreadEngineBase::_ZTVN12QtConcurrent16ThreadEngineBaseE: 11u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN12QtConcurrent16ThreadEngineBaseE)
+16 QtConcurrent::ThreadEngineBase::run
+24 QtConcurrent::ThreadEngineBase::~ThreadEngineBase
+32 QtConcurrent::ThreadEngineBase::~ThreadEngineBase
+40 QtConcurrent::ThreadEngineBase::start
+48 QtConcurrent::ThreadEngineBase::finish
+56 QtConcurrent::ThreadEngineBase::threadFunction
+64 QtConcurrent::ThreadEngineBase::shouldStartThread
+72 QtConcurrent::ThreadEngineBase::shouldThrottleThread
+80 __cxa_pure_virtual
+
+Class QtConcurrent::ThreadEngineBase
+ size=64 align=8
+ base size=64 base align=8
+QtConcurrent::ThreadEngineBase (0x7f0d3ffd2bd0) 0
+ vptr=((& QtConcurrent::ThreadEngineBase::_ZTVN12QtConcurrent16ThreadEngineBaseE) + 16u)
+ QRunnable (0x7f0d3ffd2c40) 0
+ primary-for QtConcurrent::ThreadEngineBase (0x7f0d3ffd2bd0)
+
+VTT for QtConcurrent::ThreadEngine<void>
+QtConcurrent::ThreadEngine<void>::_ZTTN12QtConcurrent12ThreadEngineIvEE: 2u entries
+0 ((& QtConcurrent::ThreadEngine<void>::_ZTVN12QtConcurrent12ThreadEngineIvEE) + 24u)
+8 ((& QtConcurrent::ThreadEngine<void>::_ZTVN12QtConcurrent12ThreadEngineIvEE) + 136u)
+
+Class QtConcurrent::BlockSizeManager
+ size=96 align=8
+ base size=92 base align=8
+QtConcurrent::BlockSizeManager (0x7f0d40028070) 0
+
+Vtable for QFactoryInterface
+QFactoryInterface::_ZTV17QFactoryInterface: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QFactoryInterface)
+16 QFactoryInterface::~QFactoryInterface
+24 QFactoryInterface::~QFactoryInterface
+32 __cxa_pure_virtual
+
+Class QFactoryInterface
+ size=8 align=8
+ base size=8 base align=8
+QFactoryInterface (0x7f0d3fabfe70) 0 nearly-empty
+ vptr=((& QFactoryInterface::_ZTV17QFactoryInterface) + 16u)
+
+Vtable for QTextCodecFactoryInterface
+QTextCodecFactoryInterface::_ZTV26QTextCodecFactoryInterface: 6u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI26QTextCodecFactoryInterface)
+16 QTextCodecFactoryInterface::~QTextCodecFactoryInterface
+24 QTextCodecFactoryInterface::~QTextCodecFactoryInterface
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+
+Class QTextCodecFactoryInterface
+ size=8 align=8
+ base size=8 base align=8
+QTextCodecFactoryInterface (0x7f0d3faf5150) 0 nearly-empty
+ vptr=((& QTextCodecFactoryInterface::_ZTV26QTextCodecFactoryInterface) + 16u)
+ QFactoryInterface (0x7f0d3faf51c0) 0 nearly-empty
+ primary-for QTextCodecFactoryInterface (0x7f0d3faf5150)
+
+Vtable for QTextCodecPlugin
+QTextCodecPlugin::_ZTV16QTextCodecPlugin: 27u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QTextCodecPlugin)
+16 QTextCodecPlugin::metaObject
+24 QTextCodecPlugin::qt_metacast
+32 QTextCodecPlugin::qt_metacall
+40 QTextCodecPlugin::~QTextCodecPlugin
+48 QTextCodecPlugin::~QTextCodecPlugin
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 __cxa_pure_virtual
+136 __cxa_pure_virtual
+144 __cxa_pure_virtual
+152 QTextCodecPlugin::keys
+160 QTextCodecPlugin::create
+168 (int (*)(...))-0x00000000000000010
+176 (int (*)(...))(& _ZTI16QTextCodecPlugin)
+184 QTextCodecPlugin::_ZThn16_N16QTextCodecPluginD1Ev
+192 QTextCodecPlugin::_ZThn16_N16QTextCodecPluginD0Ev
+200 QTextCodecPlugin::_ZThn16_NK16QTextCodecPlugin4keysEv
+208 QTextCodecPlugin::_ZThn16_N16QTextCodecPlugin6createERK7QString
+
+Class QTextCodecPlugin
+ size=24 align=8
+ base size=24 base align=8
+QTextCodecPlugin (0x7f0d3fafc600) 0
+ vptr=((& QTextCodecPlugin::_ZTV16QTextCodecPlugin) + 16u)
+ QObject (0x7f0d3faf5bd0) 0
+ primary-for QTextCodecPlugin (0x7f0d3fafc600)
+ QTextCodecFactoryInterface (0x7f0d3faf5c40) 16 nearly-empty
+ vptr=((& QTextCodecPlugin::_ZTV16QTextCodecPlugin) + 184u)
+ QFactoryInterface (0x7f0d3faf5cb0) 16 nearly-empty
+ primary-for QTextCodecFactoryInterface (0x7f0d3faf5c40)
+
+Class QLibraryInfo
+ size=1 align=1
+ base size=0 base align=1
+QLibraryInfo (0x7f0d3fb4a2a0) 0 empty
+
+Vtable for QEventLoop
+QEventLoop::_ZTV10QEventLoop: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QEventLoop)
+16 QEventLoop::metaObject
+24 QEventLoop::qt_metacast
+32 QEventLoop::qt_metacall
+40 QEventLoop::~QEventLoop
+48 QEventLoop::~QEventLoop
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QEventLoop
+ size=16 align=8
+ base size=16 base align=8
+QEventLoop (0x7f0d3fb4a3f0) 0
+ vptr=((& QEventLoop::_ZTV10QEventLoop) + 16u)
+ QObject (0x7f0d3fb4a460) 0
+ primary-for QEventLoop (0x7f0d3fb4a3f0)
+
+Vtable for QAbstractEventDispatcher
+QAbstractEventDispatcher::_ZTV24QAbstractEventDispatcher: 27u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI24QAbstractEventDispatcher)
+16 QAbstractEventDispatcher::metaObject
+24 QAbstractEventDispatcher::qt_metacast
+32 QAbstractEventDispatcher::qt_metacall
+40 QAbstractEventDispatcher::~QAbstractEventDispatcher
+48 QAbstractEventDispatcher::~QAbstractEventDispatcher
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 __cxa_pure_virtual
+136 __cxa_pure_virtual
+144 __cxa_pure_virtual
+152 __cxa_pure_virtual
+160 __cxa_pure_virtual
+168 __cxa_pure_virtual
+176 __cxa_pure_virtual
+184 __cxa_pure_virtual
+192 __cxa_pure_virtual
+200 QAbstractEventDispatcher::startingUp
+208 QAbstractEventDispatcher::closingDown
+
+Class QAbstractEventDispatcher
+ size=16 align=8
+ base size=16 base align=8
+QAbstractEventDispatcher (0x7f0d3fb85d20) 0
+ vptr=((& QAbstractEventDispatcher::_ZTV24QAbstractEventDispatcher) + 16u)
+ QObject (0x7f0d3fb85d90) 0
+ primary-for QAbstractEventDispatcher (0x7f0d3fb85d20)
+
+Class QModelIndex
+ size=24 align=8
+ base size=24 base align=8
+QModelIndex (0x7f0d3f9acbd0) 0
+
+Class QPersistentModelIndex
+ size=8 align=8
+ base size=8 base align=8
+QPersistentModelIndex (0x7f0d3f9d9690) 0
+
+Vtable for QAbstractItemModel
+QAbstractItemModel::_ZTV18QAbstractItemModel: 42u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QAbstractItemModel)
+16 QAbstractItemModel::metaObject
+24 QAbstractItemModel::qt_metacast
+32 QAbstractItemModel::qt_metacall
+40 QAbstractItemModel::~QAbstractItemModel
+48 QAbstractItemModel::~QAbstractItemModel
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 __cxa_pure_virtual
+136 __cxa_pure_virtual
+144 QAbstractItemModel::hasChildren
+152 __cxa_pure_virtual
+160 QAbstractItemModel::setData
+168 QAbstractItemModel::headerData
+176 QAbstractItemModel::setHeaderData
+184 QAbstractItemModel::itemData
+192 QAbstractItemModel::setItemData
+200 QAbstractItemModel::mimeTypes
+208 QAbstractItemModel::mimeData
+216 QAbstractItemModel::dropMimeData
+224 QAbstractItemModel::supportedDropActions
+232 QAbstractItemModel::insertRows
+240 QAbstractItemModel::insertColumns
+248 QAbstractItemModel::removeRows
+256 QAbstractItemModel::removeColumns
+264 QAbstractItemModel::fetchMore
+272 QAbstractItemModel::canFetchMore
+280 QAbstractItemModel::flags
+288 QAbstractItemModel::sort
+296 QAbstractItemModel::buddy
+304 QAbstractItemModel::match
+312 QAbstractItemModel::span
+320 QAbstractItemModel::submit
+328 QAbstractItemModel::revert
+
+Class QAbstractItemModel
+ size=16 align=8
+ base size=16 base align=8
+QAbstractItemModel (0x7f0d3f9e19a0) 0
+ vptr=((& QAbstractItemModel::_ZTV18QAbstractItemModel) + 16u)
+ QObject (0x7f0d3f9e1a10) 0
+ primary-for QAbstractItemModel (0x7f0d3f9e19a0)
+
+Vtable for QAbstractTableModel
+QAbstractTableModel::_ZTV19QAbstractTableModel: 42u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QAbstractTableModel)
+16 QAbstractTableModel::metaObject
+24 QAbstractTableModel::qt_metacast
+32 QAbstractTableModel::qt_metacall
+40 QAbstractTableModel::~QAbstractTableModel
+48 QAbstractTableModel::~QAbstractTableModel
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QAbstractTableModel::index
+120 QAbstractTableModel::parent
+128 __cxa_pure_virtual
+136 __cxa_pure_virtual
+144 QAbstractTableModel::hasChildren
+152 __cxa_pure_virtual
+160 QAbstractItemModel::setData
+168 QAbstractItemModel::headerData
+176 QAbstractItemModel::setHeaderData
+184 QAbstractItemModel::itemData
+192 QAbstractItemModel::setItemData
+200 QAbstractItemModel::mimeTypes
+208 QAbstractItemModel::mimeData
+216 QAbstractTableModel::dropMimeData
+224 QAbstractItemModel::supportedDropActions
+232 QAbstractItemModel::insertRows
+240 QAbstractItemModel::insertColumns
+248 QAbstractItemModel::removeRows
+256 QAbstractItemModel::removeColumns
+264 QAbstractItemModel::fetchMore
+272 QAbstractItemModel::canFetchMore
+280 QAbstractItemModel::flags
+288 QAbstractItemModel::sort
+296 QAbstractItemModel::buddy
+304 QAbstractItemModel::match
+312 QAbstractItemModel::span
+320 QAbstractItemModel::submit
+328 QAbstractItemModel::revert
+
+Class QAbstractTableModel
+ size=16 align=8
+ base size=16 base align=8
+QAbstractTableModel (0x7f0d3fa3dcb0) 0
+ vptr=((& QAbstractTableModel::_ZTV19QAbstractTableModel) + 16u)
+ QAbstractItemModel (0x7f0d3fa3dd20) 0
+ primary-for QAbstractTableModel (0x7f0d3fa3dcb0)
+ QObject (0x7f0d3fa3dd90) 0
+ primary-for QAbstractItemModel (0x7f0d3fa3dd20)
+
+Vtable for QAbstractListModel
+QAbstractListModel::_ZTV18QAbstractListModel: 42u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QAbstractListModel)
+16 QAbstractListModel::metaObject
+24 QAbstractListModel::qt_metacast
+32 QAbstractListModel::qt_metacall
+40 QAbstractListModel::~QAbstractListModel
+48 QAbstractListModel::~QAbstractListModel
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QAbstractListModel::index
+120 QAbstractListModel::parent
+128 __cxa_pure_virtual
+136 QAbstractListModel::columnCount
+144 QAbstractListModel::hasChildren
+152 __cxa_pure_virtual
+160 QAbstractItemModel::setData
+168 QAbstractItemModel::headerData
+176 QAbstractItemModel::setHeaderData
+184 QAbstractItemModel::itemData
+192 QAbstractItemModel::setItemData
+200 QAbstractItemModel::mimeTypes
+208 QAbstractItemModel::mimeData
+216 QAbstractListModel::dropMimeData
+224 QAbstractItemModel::supportedDropActions
+232 QAbstractItemModel::insertRows
+240 QAbstractItemModel::insertColumns
+248 QAbstractItemModel::removeRows
+256 QAbstractItemModel::removeColumns
+264 QAbstractItemModel::fetchMore
+272 QAbstractItemModel::canFetchMore
+280 QAbstractItemModel::flags
+288 QAbstractItemModel::sort
+296 QAbstractItemModel::buddy
+304 QAbstractItemModel::match
+312 QAbstractItemModel::span
+320 QAbstractItemModel::submit
+328 QAbstractItemModel::revert
+
+Class QAbstractListModel
+ size=16 align=8
+ base size=16 base align=8
+QAbstractListModel (0x7f0d3fa58230) 0
+ vptr=((& QAbstractListModel::_ZTV18QAbstractListModel) + 16u)
+ QAbstractItemModel (0x7f0d3fa582a0) 0
+ primary-for QAbstractListModel (0x7f0d3fa58230)
+ QObject (0x7f0d3fa58310) 0
+ primary-for QAbstractItemModel (0x7f0d3fa582a0)
+
+Class QBasicTimer
+ size=4 align=4
+ base size=4 base align=4
+QBasicTimer (0x7f0d3fa89380) 0
+
+Vtable for QCoreApplication
+QCoreApplication::_ZTV16QCoreApplication: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QCoreApplication)
+16 QCoreApplication::metaObject
+24 QCoreApplication::qt_metacast
+32 QCoreApplication::qt_metacall
+40 QCoreApplication::~QCoreApplication
+48 QCoreApplication::~QCoreApplication
+56 QCoreApplication::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QCoreApplication::notify
+120 QCoreApplication::compressEvent
+
+Class QCoreApplication
+ size=16 align=8
+ base size=16 base align=8
+QCoreApplication (0x7f0d3fa95770) 0
+ vptr=((& QCoreApplication::_ZTV16QCoreApplication) + 16u)
+ QObject (0x7f0d3fa957e0) 0
+ primary-for QCoreApplication (0x7f0d3fa95770)
+
+Class __exception
+ size=40 align=8
+ base size=40 base align=8
+__exception (0x7f0d3f8cb460) 0
+
+Class QMetaMethod
+ size=16 align=8
+ base size=12 base align=8
+QMetaMethod (0x7f0d3f9388c0) 0
+
+Class QMetaEnum
+ size=16 align=8
+ base size=12 base align=8
+QMetaEnum (0x7f0d3f952d20) 0
+
+Class QMetaProperty
+ size=32 align=8
+ base size=32 base align=8
+QMetaProperty (0x7f0d3f961a80) 0
+
+Class QMetaClassInfo
+ size=16 align=8
+ base size=12 base align=8
+QMetaClassInfo (0x7f0d3f971150) 0
+
+Vtable for QMimeData
+QMimeData::_ZTV9QMimeData: 17u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QMimeData)
+16 QMimeData::metaObject
+24 QMimeData::qt_metacast
+32 QMimeData::qt_metacall
+40 QMimeData::~QMimeData
+48 QMimeData::~QMimeData
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QMimeData::hasFormat
+120 QMimeData::formats
+128 QMimeData::retrieveData
+
+Class QMimeData
+ size=16 align=8
+ base size=16 base align=8
+QMimeData (0x7f0d3f971c40) 0
+ vptr=((& QMimeData::_ZTV9QMimeData) + 16u)
+ QObject (0x7f0d3f971cb0) 0
+ primary-for QMimeData (0x7f0d3f971c40)
+
+Vtable for QObjectCleanupHandler
+QObjectCleanupHandler::_ZTV21QObjectCleanupHandler: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI21QObjectCleanupHandler)
+16 QObjectCleanupHandler::metaObject
+24 QObjectCleanupHandler::qt_metacast
+32 QObjectCleanupHandler::qt_metacall
+40 QObjectCleanupHandler::~QObjectCleanupHandler
+48 QObjectCleanupHandler::~QObjectCleanupHandler
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QObjectCleanupHandler
+ size=24 align=8
+ base size=24 base align=8
+QObjectCleanupHandler (0x7f0d3f9944d0) 0
+ vptr=((& QObjectCleanupHandler::_ZTV21QObjectCleanupHandler) + 16u)
+ QObject (0x7f0d3f994540) 0
+ primary-for QObjectCleanupHandler (0x7f0d3f9944d0)
+
+Vtable for QSharedMemory
+QSharedMemory::_ZTV13QSharedMemory: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QSharedMemory)
+16 QSharedMemory::metaObject
+24 QSharedMemory::qt_metacast
+32 QSharedMemory::qt_metacall
+40 QSharedMemory::~QSharedMemory
+48 QSharedMemory::~QSharedMemory
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QSharedMemory
+ size=16 align=8
+ base size=16 base align=8
+QSharedMemory (0x7f0d3f9a6620) 0
+ vptr=((& QSharedMemory::_ZTV13QSharedMemory) + 16u)
+ QObject (0x7f0d3f9a6690) 0
+ primary-for QSharedMemory (0x7f0d3f9a6620)
+
+Vtable for QSignalMapper
+QSignalMapper::_ZTV13QSignalMapper: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QSignalMapper)
+16 QSignalMapper::metaObject
+24 QSignalMapper::qt_metacast
+32 QSignalMapper::qt_metacall
+40 QSignalMapper::~QSignalMapper
+48 QSignalMapper::~QSignalMapper
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QSignalMapper
+ size=16 align=8
+ base size=16 base align=8
+QSignalMapper (0x7f0d3f7c23f0) 0
+ vptr=((& QSignalMapper::_ZTV13QSignalMapper) + 16u)
+ QObject (0x7f0d3f7c2460) 0
+ primary-for QSignalMapper (0x7f0d3f7c23f0)
+
+Vtable for QSocketNotifier
+QSocketNotifier::_ZTV15QSocketNotifier: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QSocketNotifier)
+16 QSocketNotifier::metaObject
+24 QSocketNotifier::qt_metacast
+32 QSocketNotifier::qt_metacall
+40 QSocketNotifier::~QSocketNotifier
+48 QSocketNotifier::~QSocketNotifier
+56 QSocketNotifier::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QSocketNotifier
+ size=32 align=8
+ base size=25 base align=8
+QSocketNotifier (0x7f0d3f7da7e0) 0
+ vptr=((& QSocketNotifier::_ZTV15QSocketNotifier) + 16u)
+ QObject (0x7f0d3f7da850) 0
+ primary-for QSocketNotifier (0x7f0d3f7da7e0)
+
+Class QSystemSemaphore
+ size=8 align=8
+ base size=8 base align=8
+QSystemSemaphore (0x7f0d3f7f4b60) 0
+
+Vtable for QTimer
+QTimer::_ZTV6QTimer: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI6QTimer)
+16 QTimer::metaObject
+24 QTimer::qt_metacast
+32 QTimer::qt_metacall
+40 QTimer::~QTimer
+48 QTimer::~QTimer
+56 QObject::event
+64 QObject::eventFilter
+72 QTimer::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QTimer
+ size=32 align=8
+ base size=29 base align=8
+QTimer (0x7f0d3f8005b0) 0
+ vptr=((& QTimer::_ZTV6QTimer) + 16u)
+ QObject (0x7f0d3f800620) 0
+ primary-for QTimer (0x7f0d3f8005b0)
+
+Vtable for QTranslator
+QTranslator::_ZTV11QTranslator: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QTranslator)
+16 QTranslator::metaObject
+24 QTranslator::qt_metacast
+32 QTranslator::qt_metacall
+40 QTranslator::~QTranslator
+48 QTranslator::~QTranslator
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QTranslator::translate
+120 QTranslator::isEmpty
+
+Class QTranslator
+ size=16 align=8
+ base size=16 base align=8
+QTranslator (0x7f0d3f825af0) 0
+ vptr=((& QTranslator::_ZTV11QTranslator) + 16u)
+ QObject (0x7f0d3f825b60) 0
+ primary-for QTranslator (0x7f0d3f825af0)
+
+Vtable for QLibrary
+QLibrary::_ZTV8QLibrary: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI8QLibrary)
+16 QLibrary::metaObject
+24 QLibrary::qt_metacast
+32 QLibrary::qt_metacall
+40 QLibrary::~QLibrary
+48 QLibrary::~QLibrary
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QLibrary
+ size=32 align=8
+ base size=25 base align=8
+QLibrary (0x7f0d3f840a80) 0
+ vptr=((& QLibrary::_ZTV8QLibrary) + 16u)
+ QObject (0x7f0d3f840af0) 0
+ primary-for QLibrary (0x7f0d3f840a80)
+
+Vtable for QPluginLoader
+QPluginLoader::_ZTV13QPluginLoader: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QPluginLoader)
+16 QPluginLoader::metaObject
+24 QPluginLoader::qt_metacast
+32 QPluginLoader::qt_metacall
+40 QPluginLoader::~QPluginLoader
+48 QPluginLoader::~QPluginLoader
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QPluginLoader
+ size=32 align=8
+ base size=25 base align=8
+QPluginLoader (0x7f0d3f88f540) 0
+ vptr=((& QPluginLoader::_ZTV13QPluginLoader) + 16u)
+ QObject (0x7f0d3f88f5b0) 0
+ primary-for QPluginLoader (0x7f0d3f88f540)
+
+Class QUuid
+ size=16 align=4
+ base size=16 base align=4
+QUuid (0x7f0d3f897d20) 0
+
+Class QReadWriteLock
+ size=8 align=8
+ base size=8 base align=8
+QReadWriteLock (0x7f0d3f6c4620) 0
+
+Class QReadLocker
+ size=8 align=8
+ base size=8 base align=8
+QReadLocker (0x7f0d3f6c4cb0) 0
+
+Class QWriteLocker
+ size=8 align=8
+ base size=8 base align=8
+QWriteLocker (0x7f0d3f6ea070) 0
+
+Class QThreadStorageData
+ size=4 align=4
+ base size=4 base align=4
+QThreadStorageData (0x7f0d3f6fa3f0) 0
+
+Vtable for QAbstractAnimation
+QAbstractAnimation::_ZTV18QAbstractAnimation: 18u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QAbstractAnimation)
+16 QAbstractAnimation::metaObject
+24 QAbstractAnimation::qt_metacast
+32 QAbstractAnimation::qt_metacall
+40 QAbstractAnimation::~QAbstractAnimation
+48 QAbstractAnimation::~QAbstractAnimation
+56 QAbstractAnimation::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 QAbstractAnimation::updateState
+136 QAbstractAnimation::updateDirection
+
+Class QAbstractAnimation
+ size=16 align=8
+ base size=16 base align=8
+QAbstractAnimation (0x7f0d3f6fab60) 0
+ vptr=((& QAbstractAnimation::_ZTV18QAbstractAnimation) + 16u)
+ QObject (0x7f0d3f6fabd0) 0
+ primary-for QAbstractAnimation (0x7f0d3f6fab60)
+
+Vtable for QAnimationGroup
+QAnimationGroup::_ZTV15QAnimationGroup: 18u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QAnimationGroup)
+16 QAnimationGroup::metaObject
+24 QAnimationGroup::qt_metacast
+32 QAnimationGroup::qt_metacall
+40 QAnimationGroup::~QAnimationGroup
+48 QAnimationGroup::~QAnimationGroup
+56 QAnimationGroup::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 QAbstractAnimation::updateState
+136 QAbstractAnimation::updateDirection
+
+Class QAnimationGroup
+ size=16 align=8
+ base size=16 base align=8
+QAnimationGroup (0x7f0d3f7332a0) 0
+ vptr=((& QAnimationGroup::_ZTV15QAnimationGroup) + 16u)
+ QAbstractAnimation (0x7f0d3f733310) 0
+ primary-for QAnimationGroup (0x7f0d3f7332a0)
+ QObject (0x7f0d3f733380) 0
+ primary-for QAbstractAnimation (0x7f0d3f733310)
+
+Vtable for QParallelAnimationGroup
+QParallelAnimationGroup::_ZTV23QParallelAnimationGroup: 18u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI23QParallelAnimationGroup)
+16 QParallelAnimationGroup::metaObject
+24 QParallelAnimationGroup::qt_metacast
+32 QParallelAnimationGroup::qt_metacall
+40 QParallelAnimationGroup::~QParallelAnimationGroup
+48 QParallelAnimationGroup::~QParallelAnimationGroup
+56 QParallelAnimationGroup::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QParallelAnimationGroup::duration
+120 QParallelAnimationGroup::updateCurrentTime
+128 QParallelAnimationGroup::updateState
+136 QParallelAnimationGroup::updateDirection
+
+Class QParallelAnimationGroup
+ size=16 align=8
+ base size=16 base align=8
+QParallelAnimationGroup (0x7f0d3f74d150) 0
+ vptr=((& QParallelAnimationGroup::_ZTV23QParallelAnimationGroup) + 16u)
+ QAnimationGroup (0x7f0d3f74d1c0) 0
+ primary-for QParallelAnimationGroup (0x7f0d3f74d150)
+ QAbstractAnimation (0x7f0d3f74d230) 0
+ primary-for QAnimationGroup (0x7f0d3f74d1c0)
+ QObject (0x7f0d3f74d2a0) 0
+ primary-for QAbstractAnimation (0x7f0d3f74d230)
+
+Vtable for QPauseAnimation
+QPauseAnimation::_ZTV15QPauseAnimation: 18u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QPauseAnimation)
+16 QPauseAnimation::metaObject
+24 QPauseAnimation::qt_metacast
+32 QPauseAnimation::qt_metacall
+40 QPauseAnimation::~QPauseAnimation
+48 QPauseAnimation::~QPauseAnimation
+56 QPauseAnimation::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QPauseAnimation::duration
+120 QPauseAnimation::updateCurrentTime
+128 QAbstractAnimation::updateState
+136 QAbstractAnimation::updateDirection
+
+Class QPauseAnimation
+ size=16 align=8
+ base size=16 base align=8
+QPauseAnimation (0x7f0d3f765000) 0
+ vptr=((& QPauseAnimation::_ZTV15QPauseAnimation) + 16u)
+ QAbstractAnimation (0x7f0d3f765070) 0
+ primary-for QPauseAnimation (0x7f0d3f765000)
+ QObject (0x7f0d3f7650e0) 0
+ primary-for QAbstractAnimation (0x7f0d3f765070)
+
+Vtable for QVariantAnimation
+QVariantAnimation::_ZTV17QVariantAnimation: 20u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QVariantAnimation)
+16 QVariantAnimation::metaObject
+24 QVariantAnimation::qt_metacast
+32 QVariantAnimation::qt_metacall
+40 QVariantAnimation::~QVariantAnimation
+48 QVariantAnimation::~QVariantAnimation
+56 QVariantAnimation::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QVariantAnimation::duration
+120 QVariantAnimation::updateCurrentTime
+128 QVariantAnimation::updateState
+136 QAbstractAnimation::updateDirection
+144 __cxa_pure_virtual
+152 QVariantAnimation::interpolated
+
+Class QVariantAnimation
+ size=16 align=8
+ base size=16 base align=8
+QVariantAnimation (0x7f0d3f779a10) 0
+ vptr=((& QVariantAnimation::_ZTV17QVariantAnimation) + 16u)
+ QAbstractAnimation (0x7f0d3f779a80) 0
+ primary-for QVariantAnimation (0x7f0d3f779a10)
+ QObject (0x7f0d3f779af0) 0
+ primary-for QAbstractAnimation (0x7f0d3f779a80)
+
+Vtable for QPropertyAnimation
+QPropertyAnimation::_ZTV18QPropertyAnimation: 20u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QPropertyAnimation)
+16 QPropertyAnimation::metaObject
+24 QPropertyAnimation::qt_metacast
+32 QPropertyAnimation::qt_metacall
+40 QPropertyAnimation::~QPropertyAnimation
+48 QPropertyAnimation::~QPropertyAnimation
+56 QPropertyAnimation::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QVariantAnimation::duration
+120 QVariantAnimation::updateCurrentTime
+128 QPropertyAnimation::updateState
+136 QAbstractAnimation::updateDirection
+144 QPropertyAnimation::updateCurrentValue
+152 QVariantAnimation::interpolated
+
+Class QPropertyAnimation
+ size=16 align=8
+ base size=16 base align=8
+QPropertyAnimation (0x7f0d3f797cb0) 0
+ vptr=((& QPropertyAnimation::_ZTV18QPropertyAnimation) + 16u)
+ QVariantAnimation (0x7f0d3f797d20) 0
+ primary-for QPropertyAnimation (0x7f0d3f797cb0)
+ QAbstractAnimation (0x7f0d3f797d90) 0
+ primary-for QVariantAnimation (0x7f0d3f797d20)
+ QObject (0x7f0d3f797e00) 0
+ primary-for QAbstractAnimation (0x7f0d3f797d90)
+
+Vtable for QSequentialAnimationGroup
+QSequentialAnimationGroup::_ZTV25QSequentialAnimationGroup: 18u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI25QSequentialAnimationGroup)
+16 QSequentialAnimationGroup::metaObject
+24 QSequentialAnimationGroup::qt_metacast
+32 QSequentialAnimationGroup::qt_metacall
+40 QSequentialAnimationGroup::~QSequentialAnimationGroup
+48 QSequentialAnimationGroup::~QSequentialAnimationGroup
+56 QSequentialAnimationGroup::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QSequentialAnimationGroup::duration
+120 QSequentialAnimationGroup::updateCurrentTime
+128 QSequentialAnimationGroup::updateState
+136 QSequentialAnimationGroup::updateDirection
+
+Class QSequentialAnimationGroup
+ size=16 align=8
+ base size=16 base align=8
+QSequentialAnimationGroup (0x7f0d3f5afcb0) 0
+ vptr=((& QSequentialAnimationGroup::_ZTV25QSequentialAnimationGroup) + 16u)
+ QAnimationGroup (0x7f0d3f5afd20) 0
+ primary-for QSequentialAnimationGroup (0x7f0d3f5afcb0)
+ QAbstractAnimation (0x7f0d3f5afd90) 0
+ primary-for QAnimationGroup (0x7f0d3f5afd20)
+ QObject (0x7f0d3f5afe00) 0
+ primary-for QAbstractAnimation (0x7f0d3f5afd90)
+
+Class QDomImplementation
+ size=8 align=8
+ base size=8 base align=8
+QDomImplementation (0x7f0d3f5c9d20) 0
+
+Class QDomNode
+ size=8 align=8
+ base size=8 base align=8
+QDomNode (0x7f0d3f5d7690) 0
+
+Class QDomNodeList
+ size=8 align=8
+ base size=8 base align=8
+QDomNodeList (0x7f0d3f5e68c0) 0
+
+Class QDomDocumentType
+ size=8 align=8
+ base size=8 base align=8
+QDomDocumentType (0x7f0d3f5fd930) 0
+ QDomNode (0x7f0d3f5fd9a0) 0
+
+Class QDomDocument
+ size=8 align=8
+ base size=8 base align=8
+QDomDocument (0x7f0d3f6054d0) 0
+ QDomNode (0x7f0d3f605540) 0
+
+Class QDomNamedNodeMap
+ size=8 align=8
+ base size=8 base align=8
+QDomNamedNodeMap (0x7f0d3f6113f0) 0
+
+Class QDomDocumentFragment
+ size=8 align=8
+ base size=8 base align=8
+QDomDocumentFragment (0x7f0d3f625230) 0
+ QDomNode (0x7f0d3f6252a0) 0
+
+Class QDomCharacterData
+ size=8 align=8
+ base size=8 base align=8
+QDomCharacterData (0x7f0d3f625d90) 0
+ QDomNode (0x7f0d3f625e00) 0
+
+Class QDomAttr
+ size=8 align=8
+ base size=8 base align=8
+QDomAttr (0x7f0d3f62b7e0) 0
+ QDomNode (0x7f0d3f62b850) 0
+
+Class QDomElement
+ size=8 align=8
+ base size=8 base align=8
+QDomElement (0x7f0d3f634380) 0
+ QDomNode (0x7f0d3f6343f0) 0
+
+Class QDomText
+ size=8 align=8
+ base size=8 base align=8
+QDomText (0x7f0d3f648620) 0
+ QDomCharacterData (0x7f0d3f648690) 0
+ QDomNode (0x7f0d3f648700) 0
+
+Class QDomComment
+ size=8 align=8
+ base size=8 base align=8
+QDomComment (0x7f0d3f64e380) 0
+ QDomCharacterData (0x7f0d3f64e3f0) 0
+ QDomNode (0x7f0d3f64e460) 0
+
+Class QDomCDATASection
+ size=8 align=8
+ base size=8 base align=8
+QDomCDATASection (0x7f0d3f64ef50) 0
+ QDomText (0x7f0d3f656000) 0
+ QDomCharacterData (0x7f0d3f656070) 0
+ QDomNode (0x7f0d3f6560e0) 0
+
+Class QDomNotation
+ size=8 align=8
+ base size=8 base align=8
+QDomNotation (0x7f0d3f656bd0) 0
+ QDomNode (0x7f0d3f656c40) 0
+
+Class QDomEntity
+ size=8 align=8
+ base size=8 base align=8
+QDomEntity (0x7f0d3f65b770) 0
+ QDomNode (0x7f0d3f65b7e0) 0
+
+Class QDomEntityReference
+ size=8 align=8
+ base size=8 base align=8
+QDomEntityReference (0x7f0d3f662310) 0
+ QDomNode (0x7f0d3f662380) 0
+
+Class QDomProcessingInstruction
+ size=8 align=8
+ base size=8 base align=8
+QDomProcessingInstruction (0x7f0d3f662e70) 0
+ QDomNode (0x7f0d3f662ee0) 0
+
+Class QXmlNamespaceSupport
+ size=8 align=8
+ base size=8 base align=8
+QXmlNamespaceSupport (0x7f0d3f668a10) 0
+
+Class QXmlAttributes::Attribute
+ size=32 align=8
+ base size=32 base align=8
+QXmlAttributes::Attribute (0x7f0d3f6760e0) 0
+
+Vtable for QXmlAttributes
+QXmlAttributes::_ZTV14QXmlAttributes: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QXmlAttributes)
+16 QXmlAttributes::~QXmlAttributes
+24 QXmlAttributes::~QXmlAttributes
+
+Class QXmlAttributes
+ size=24 align=8
+ base size=24 base align=8
+QXmlAttributes (0x7f0d3f668f50) 0
+ vptr=((& QXmlAttributes::_ZTV14QXmlAttributes) + 16u)
+
+Vtable for QXmlInputSource
+QXmlInputSource::_ZTV15QXmlInputSource: 11u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QXmlInputSource)
+16 QXmlInputSource::~QXmlInputSource
+24 QXmlInputSource::~QXmlInputSource
+32 QXmlInputSource::setData
+40 QXmlInputSource::setData
+48 QXmlInputSource::fetchData
+56 QXmlInputSource::data
+64 QXmlInputSource::next
+72 QXmlInputSource::reset
+80 QXmlInputSource::fromRawData
+
+Class QXmlInputSource
+ size=16 align=8
+ base size=16 base align=8
+QXmlInputSource (0x7f0d3f4a87e0) 0
+ vptr=((& QXmlInputSource::_ZTV15QXmlInputSource) + 16u)
+
+Class QXmlParseException
+ size=8 align=8
+ base size=8 base align=8
+QXmlParseException (0x7f0d3f4a8af0) 0
+
+Vtable for QXmlReader
+QXmlReader::_ZTV10QXmlReader: 24u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QXmlReader)
+16 QXmlReader::~QXmlReader
+24 QXmlReader::~QXmlReader
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+48 __cxa_pure_virtual
+56 __cxa_pure_virtual
+64 __cxa_pure_virtual
+72 __cxa_pure_virtual
+80 __cxa_pure_virtual
+88 __cxa_pure_virtual
+96 __cxa_pure_virtual
+104 __cxa_pure_virtual
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 __cxa_pure_virtual
+136 __cxa_pure_virtual
+144 __cxa_pure_virtual
+152 __cxa_pure_virtual
+160 __cxa_pure_virtual
+168 __cxa_pure_virtual
+176 __cxa_pure_virtual
+184 __cxa_pure_virtual
+
+Class QXmlReader
+ size=8 align=8
+ base size=8 base align=8
+QXmlReader (0x7f0d3f4a8a80) 0 nearly-empty
+ vptr=((& QXmlReader::_ZTV10QXmlReader) + 16u)
+
+Vtable for QXmlSimpleReader
+QXmlSimpleReader::_ZTV16QXmlSimpleReader: 26u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QXmlSimpleReader)
+16 QXmlSimpleReader::~QXmlSimpleReader
+24 QXmlSimpleReader::~QXmlSimpleReader
+32 QXmlSimpleReader::feature
+40 QXmlSimpleReader::setFeature
+48 QXmlSimpleReader::hasFeature
+56 QXmlSimpleReader::property
+64 QXmlSimpleReader::setProperty
+72 QXmlSimpleReader::hasProperty
+80 QXmlSimpleReader::setEntityResolver
+88 QXmlSimpleReader::entityResolver
+96 QXmlSimpleReader::setDTDHandler
+104 QXmlSimpleReader::DTDHandler
+112 QXmlSimpleReader::setContentHandler
+120 QXmlSimpleReader::contentHandler
+128 QXmlSimpleReader::setErrorHandler
+136 QXmlSimpleReader::errorHandler
+144 QXmlSimpleReader::setLexicalHandler
+152 QXmlSimpleReader::lexicalHandler
+160 QXmlSimpleReader::setDeclHandler
+168 QXmlSimpleReader::declHandler
+176 QXmlSimpleReader::parse
+184 QXmlSimpleReader::parse
+192 QXmlSimpleReader::parse
+200 QXmlSimpleReader::parseContinue
+
+Class QXmlSimpleReader
+ size=16 align=8
+ base size=16 base align=8
+QXmlSimpleReader (0x7f0d3f4ca930) 0
+ vptr=((& QXmlSimpleReader::_ZTV16QXmlSimpleReader) + 16u)
+ QXmlReader (0x7f0d3f4ca9a0) 0 nearly-empty
+ primary-for QXmlSimpleReader (0x7f0d3f4ca930)
+
+Vtable for QXmlLocator
+QXmlLocator::_ZTV11QXmlLocator: 6u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QXmlLocator)
+16 QXmlLocator::~QXmlLocator
+24 QXmlLocator::~QXmlLocator
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+
+Class QXmlLocator
+ size=8 align=8
+ base size=8 base align=8
+QXmlLocator (0x7f0d3f4e8540) 0 nearly-empty
+ vptr=((& QXmlLocator::_ZTV11QXmlLocator) + 16u)
+
+Vtable for QXmlContentHandler
+QXmlContentHandler::_ZTV18QXmlContentHandler: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QXmlContentHandler)
+16 QXmlContentHandler::~QXmlContentHandler
+24 QXmlContentHandler::~QXmlContentHandler
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+48 __cxa_pure_virtual
+56 __cxa_pure_virtual
+64 __cxa_pure_virtual
+72 __cxa_pure_virtual
+80 __cxa_pure_virtual
+88 __cxa_pure_virtual
+96 __cxa_pure_virtual
+104 __cxa_pure_virtual
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+
+Class QXmlContentHandler
+ size=8 align=8
+ base size=8 base align=8
+QXmlContentHandler (0x7f0d3f4e8770) 0 nearly-empty
+ vptr=((& QXmlContentHandler::_ZTV18QXmlContentHandler) + 16u)
+
+Vtable for QXmlErrorHandler
+QXmlErrorHandler::_ZTV16QXmlErrorHandler: 8u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QXmlErrorHandler)
+16 QXmlErrorHandler::~QXmlErrorHandler
+24 QXmlErrorHandler::~QXmlErrorHandler
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+48 __cxa_pure_virtual
+56 __cxa_pure_virtual
+
+Class QXmlErrorHandler
+ size=8 align=8
+ base size=8 base align=8
+QXmlErrorHandler (0x7f0d3f4f80e0) 0 nearly-empty
+ vptr=((& QXmlErrorHandler::_ZTV16QXmlErrorHandler) + 16u)
+
+Vtable for QXmlDTDHandler
+QXmlDTDHandler::_ZTV14QXmlDTDHandler: 7u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QXmlDTDHandler)
+16 QXmlDTDHandler::~QXmlDTDHandler
+24 QXmlDTDHandler::~QXmlDTDHandler
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+48 __cxa_pure_virtual
+
+Class QXmlDTDHandler
+ size=8 align=8
+ base size=8 base align=8
+QXmlDTDHandler (0x7f0d3f4f8af0) 0 nearly-empty
+ vptr=((& QXmlDTDHandler::_ZTV14QXmlDTDHandler) + 16u)
+
+Vtable for QXmlEntityResolver
+QXmlEntityResolver::_ZTV18QXmlEntityResolver: 6u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QXmlEntityResolver)
+16 QXmlEntityResolver::~QXmlEntityResolver
+24 QXmlEntityResolver::~QXmlEntityResolver
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+
+Class QXmlEntityResolver
+ size=8 align=8
+ base size=8 base align=8
+QXmlEntityResolver (0x7f0d3f507460) 0 nearly-empty
+ vptr=((& QXmlEntityResolver::_ZTV18QXmlEntityResolver) + 16u)
+
+Vtable for QXmlLexicalHandler
+QXmlLexicalHandler::_ZTV18QXmlLexicalHandler: 12u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QXmlLexicalHandler)
+16 QXmlLexicalHandler::~QXmlLexicalHandler
+24 QXmlLexicalHandler::~QXmlLexicalHandler
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+48 __cxa_pure_virtual
+56 __cxa_pure_virtual
+64 __cxa_pure_virtual
+72 __cxa_pure_virtual
+80 __cxa_pure_virtual
+88 __cxa_pure_virtual
+
+Class QXmlLexicalHandler
+ size=8 align=8
+ base size=8 base align=8
+QXmlLexicalHandler (0x7f0d3f507ee0) 0 nearly-empty
+ vptr=((& QXmlLexicalHandler::_ZTV18QXmlLexicalHandler) + 16u)
+
+Vtable for QXmlDeclHandler
+QXmlDeclHandler::_ZTV15QXmlDeclHandler: 8u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QXmlDeclHandler)
+16 QXmlDeclHandler::~QXmlDeclHandler
+24 QXmlDeclHandler::~QXmlDeclHandler
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+48 __cxa_pure_virtual
+56 __cxa_pure_virtual
+
+Class QXmlDeclHandler
+ size=8 align=8
+ base size=8 base align=8
+QXmlDeclHandler (0x7f0d3f518850) 0 nearly-empty
+ vptr=((& QXmlDeclHandler::_ZTV15QXmlDeclHandler) + 16u)
+
+Vtable for QXmlDefaultHandler
+QXmlDefaultHandler::_ZTV18QXmlDefaultHandler: 73u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QXmlDefaultHandler)
+16 QXmlDefaultHandler::~QXmlDefaultHandler
+24 QXmlDefaultHandler::~QXmlDefaultHandler
+32 QXmlDefaultHandler::setDocumentLocator
+40 QXmlDefaultHandler::startDocument
+48 QXmlDefaultHandler::endDocument
+56 QXmlDefaultHandler::startPrefixMapping
+64 QXmlDefaultHandler::endPrefixMapping
+72 QXmlDefaultHandler::startElement
+80 QXmlDefaultHandler::endElement
+88 QXmlDefaultHandler::characters
+96 QXmlDefaultHandler::ignorableWhitespace
+104 QXmlDefaultHandler::processingInstruction
+112 QXmlDefaultHandler::skippedEntity
+120 QXmlDefaultHandler::errorString
+128 QXmlDefaultHandler::warning
+136 QXmlDefaultHandler::error
+144 QXmlDefaultHandler::fatalError
+152 QXmlDefaultHandler::notationDecl
+160 QXmlDefaultHandler::unparsedEntityDecl
+168 QXmlDefaultHandler::resolveEntity
+176 QXmlDefaultHandler::startDTD
+184 QXmlDefaultHandler::endDTD
+192 QXmlDefaultHandler::startEntity
+200 QXmlDefaultHandler::endEntity
+208 QXmlDefaultHandler::startCDATA
+216 QXmlDefaultHandler::endCDATA
+224 QXmlDefaultHandler::comment
+232 QXmlDefaultHandler::attributeDecl
+240 QXmlDefaultHandler::internalEntityDecl
+248 QXmlDefaultHandler::externalEntityDecl
+256 (int (*)(...))-0x00000000000000008
+264 (int (*)(...))(& _ZTI18QXmlDefaultHandler)
+272 QXmlDefaultHandler::_ZThn8_N18QXmlDefaultHandlerD1Ev
+280 QXmlDefaultHandler::_ZThn8_N18QXmlDefaultHandlerD0Ev
+288 QXmlDefaultHandler::_ZThn8_N18QXmlDefaultHandler7warningERK18QXmlParseException
+296 QXmlDefaultHandler::_ZThn8_N18QXmlDefaultHandler5errorERK18QXmlParseException
+304 QXmlDefaultHandler::_ZThn8_N18QXmlDefaultHandler10fatalErrorERK18QXmlParseException
+312 QXmlDefaultHandler::_ZThn8_NK18QXmlDefaultHandler11errorStringEv
+320 (int (*)(...))-0x00000000000000010
+328 (int (*)(...))(& _ZTI18QXmlDefaultHandler)
+336 QXmlDefaultHandler::_ZThn16_N18QXmlDefaultHandlerD1Ev
+344 QXmlDefaultHandler::_ZThn16_N18QXmlDefaultHandlerD0Ev
+352 QXmlDefaultHandler::_ZThn16_N18QXmlDefaultHandler12notationDeclERK7QStringS2_S2_
+360 QXmlDefaultHandler::_ZThn16_N18QXmlDefaultHandler18unparsedEntityDeclERK7QStringS2_S2_S2_
+368 QXmlDefaultHandler::_ZThn16_NK18QXmlDefaultHandler11errorStringEv
+376 (int (*)(...))-0x00000000000000018
+384 (int (*)(...))(& _ZTI18QXmlDefaultHandler)
+392 QXmlDefaultHandler::_ZThn24_N18QXmlDefaultHandlerD1Ev
+400 QXmlDefaultHandler::_ZThn24_N18QXmlDefaultHandlerD0Ev
+408 QXmlDefaultHandler::_ZThn24_N18QXmlDefaultHandler13resolveEntityERK7QStringS2_RP15QXmlInputSource
+416 QXmlDefaultHandler::_ZThn24_NK18QXmlDefaultHandler11errorStringEv
+424 (int (*)(...))-0x00000000000000020
+432 (int (*)(...))(& _ZTI18QXmlDefaultHandler)
+440 QXmlDefaultHandler::_ZThn32_N18QXmlDefaultHandlerD1Ev
+448 QXmlDefaultHandler::_ZThn32_N18QXmlDefaultHandlerD0Ev
+456 QXmlDefaultHandler::_ZThn32_N18QXmlDefaultHandler8startDTDERK7QStringS2_S2_
+464 QXmlDefaultHandler::_ZThn32_N18QXmlDefaultHandler6endDTDEv
+472 QXmlDefaultHandler::_ZThn32_N18QXmlDefaultHandler11startEntityERK7QString
+480 QXmlDefaultHandler::_ZThn32_N18QXmlDefaultHandler9endEntityERK7QString
+488 QXmlDefaultHandler::_ZThn32_N18QXmlDefaultHandler10startCDATAEv
+496 QXmlDefaultHandler::_ZThn32_N18QXmlDefaultHandler8endCDATAEv
+504 QXmlDefaultHandler::_ZThn32_N18QXmlDefaultHandler7commentERK7QString
+512 QXmlDefaultHandler::_ZThn32_NK18QXmlDefaultHandler11errorStringEv
+520 (int (*)(...))-0x00000000000000028
+528 (int (*)(...))(& _ZTI18QXmlDefaultHandler)
+536 QXmlDefaultHandler::_ZThn40_N18QXmlDefaultHandlerD1Ev
+544 QXmlDefaultHandler::_ZThn40_N18QXmlDefaultHandlerD0Ev
+552 QXmlDefaultHandler::_ZThn40_N18QXmlDefaultHandler13attributeDeclERK7QStringS2_S2_S2_S2_
+560 QXmlDefaultHandler::_ZThn40_N18QXmlDefaultHandler18internalEntityDeclERK7QStringS2_
+568 QXmlDefaultHandler::_ZThn40_N18QXmlDefaultHandler18externalEntityDeclERK7QStringS2_S2_
+576 QXmlDefaultHandler::_ZThn40_NK18QXmlDefaultHandler11errorStringEv
+
+Class QXmlDefaultHandler
+ size=56 align=8
+ base size=56 base align=8
+QXmlDefaultHandler (0x7f0d3f51f6e0) 0
+ vptr=((& QXmlDefaultHandler::_ZTV18QXmlDefaultHandler) + 16u)
+ QXmlContentHandler (0x7f0d3f525230) 0 nearly-empty
+ primary-for QXmlDefaultHandler (0x7f0d3f51f6e0)
+ QXmlErrorHandler (0x7f0d3f5252a0) 8 nearly-empty
+ vptr=((& QXmlDefaultHandler::_ZTV18QXmlDefaultHandler) + 272u)
+ QXmlDTDHandler (0x7f0d3f525310) 16 nearly-empty
+ vptr=((& QXmlDefaultHandler::_ZTV18QXmlDefaultHandler) + 336u)
+ QXmlEntityResolver (0x7f0d3f525380) 24 nearly-empty
+ vptr=((& QXmlDefaultHandler::_ZTV18QXmlDefaultHandler) + 392u)
+ QXmlLexicalHandler (0x7f0d3f5253f0) 32 nearly-empty
+ vptr=((& QXmlDefaultHandler::_ZTV18QXmlDefaultHandler) + 440u)
+ QXmlDeclHandler (0x7f0d3f525460) 40 nearly-empty
+ vptr=((& QXmlDefaultHandler::_ZTV18QXmlDefaultHandler) + 536u)
+
+Vtable for QPaintDevice
+QPaintDevice::_ZTV12QPaintDevice: 7u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QPaintDevice)
+16 QPaintDevice::~QPaintDevice
+24 QPaintDevice::~QPaintDevice
+32 QPaintDevice::devType
+40 __cxa_pure_virtual
+48 QPaintDevice::metric
+
+Class QPaintDevice
+ size=16 align=8
+ base size=10 base align=8
+QPaintDevice (0x7f0d3f56ed90) 0
+ vptr=((& QPaintDevice::_ZTV12QPaintDevice) + 16u)
+
+Class QColor
+ size=16 align=4
+ base size=14 base align=4
+QColor (0x7f0d3f5a5700) 0
+
+Class QPolygon
+ size=8 align=8
+ base size=8 base align=8
+QPolygon (0x7f0d3f3fcee0) 0
+ QVector<QPoint> (0x7f0d3f3fcf50) 0
+
+Class QPolygonF
+ size=8 align=8
+ base size=8 base align=8
+QPolygonF (0x7f0d3f44a460) 0
+ QVector<QPointF> (0x7f0d3f44a4d0) 0
+
+Class QRegion::QRegionData
+ size=32 align=8
+ base size=32 base align=8
+QRegion::QRegionData (0x7f0d3f4a4ee0) 0
+
+Class QRegion
+ size=8 align=8
+ base size=8 base align=8
+QRegion (0x7f0d3f48a5b0) 0
+
+Class QMatrix
+ size=48 align=8
+ base size=48 base align=8
+QMatrix (0x7f0d3f2bf700) 0
+
+Class QPainterPath::Element
+ size=24 align=8
+ base size=24 base align=8
+QPainterPath::Element (0x7f0d3f302850) 0
+
+Class QPainterPath
+ size=8 align=8
+ base size=8 base align=8
+QPainterPath (0x7f0d3f3027e0) 0
+
+Class QPainterPathPrivate
+ size=16 align=8
+ base size=16 base align=8
+QPainterPathPrivate (0x7f0d3f355f50) 0
+
+Class QPainterPathStroker
+ size=8 align=8
+ base size=8 base align=8
+QPainterPathStroker (0x7f0d3f35ea80) 0
+
+Class QTransform
+ size=88 align=8
+ base size=88 base align=8
+QTransform (0x7f0d3f1caa80) 0
+
+Class QImageTextKeyLang
+ size=16 align=8
+ base size=16 base align=8
+QImageTextKeyLang (0x7f0d3f2770e0) 0
+
+Vtable for QImage
+QImage::_ZTV6QImage: 7u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI6QImage)
+16 QImage::~QImage
+24 QImage::~QImage
+32 QImage::devType
+40 QImage::paintEngine
+48 QImage::metric
+
+Class QImage
+ size=24 align=8
+ base size=24 base align=8
+QImage (0x7f0d3f2a1930) 0
+ vptr=((& QImage::_ZTV6QImage) + 16u)
+ QPaintDevice (0x7f0d3f2a19a0) 0
+ primary-for QImage (0x7f0d3f2a1930)
+
+Vtable for QPixmap
+QPixmap::_ZTV7QPixmap: 7u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QPixmap)
+16 QPixmap::~QPixmap
+24 QPixmap::~QPixmap
+32 QPixmap::devType
+40 QPixmap::paintEngine
+48 QPixmap::metric
+
+Class QPixmap
+ size=24 align=8
+ base size=24 base align=8
+QPixmap (0x7f0d3f1480e0) 0
+ vptr=((& QPixmap::_ZTV7QPixmap) + 16u)
+ QPaintDevice (0x7f0d3f148150) 0
+ primary-for QPixmap (0x7f0d3f1480e0)
+
+Class QBrush
+ size=8 align=8
+ base size=8 base align=8
+QBrush (0x7f0d3f1a63f0) 0
+
+Class QBrushData
+ size=112 align=8
+ base size=112 base align=8
+QBrushData (0x7f0d3efc0e00) 0
+
+Class QGradient
+ size=64 align=8
+ base size=64 base align=8
+QGradient (0x7f0d3efe6000) 0
+
+Class QLinearGradient
+ size=64 align=8
+ base size=64 base align=8
+QLinearGradient (0x7f0d3f014a80) 0
+ QGradient (0x7f0d3f014af0) 0
+
+Class QRadialGradient
+ size=64 align=8
+ base size=64 base align=8
+QRadialGradient (0x7f0d3f014f50) 0
+ QGradient (0x7f0d3f021000) 0
+
+Class QConicalGradient
+ size=64 align=8
+ base size=64 base align=8
+QConicalGradient (0x7f0d3f021540) 0
+ QGradient (0x7f0d3f0215b0) 0
+
+Class QPalette
+ size=16 align=8
+ base size=12 base align=8
+QPalette (0x7f0d3f0218c0) 0
+
+Class QColorGroup
+ size=16 align=8
+ base size=12 base align=8
+QColorGroup (0x7f0d3f07e230) 0
+ QPalette (0x7f0d3f07e2a0) 0
+
+Class QFont
+ size=16 align=8
+ base size=12 base align=8
+QFont (0x7f0d3eeb6540) 0
+
+Class QFontMetrics
+ size=8 align=8
+ base size=8 base align=8
+QFontMetrics (0x7f0d3eeff230) 0
+
+Class QFontMetricsF
+ size=8 align=8
+ base size=8 base align=8
+QFontMetricsF (0x7f0d3ef13690) 0
+
+Class QFontInfo
+ size=8 align=8
+ base size=8 base align=8
+QFontInfo (0x7f0d3ef275b0) 0
+
+Class QSizePolicy
+ size=4 align=4
+ base size=4 base align=4
+QSizePolicy (0x7f0d3ef340e0) 0
+
+Class QCursor
+ size=8 align=8
+ base size=8 base align=8
+QCursor (0x7f0d3edf80e0) 0
+
+Class QKeySequence
+ size=8 align=8
+ base size=8 base align=8
+QKeySequence (0x7f0d3edf88c0) 0
+
+Class QWidgetData
+ size=88 align=8
+ base size=88 base align=8
+QWidgetData (0x7f0d3ee41230) 0
+
+Vtable for QWidget
+QWidget::_ZTV7QWidget: 63u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QWidget)
+16 QWidget::metaObject
+24 QWidget::qt_metacast
+32 QWidget::qt_metacall
+40 QWidget::~QWidget
+48 QWidget::~QWidget
+56 QWidget::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QWidget::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QWidget::paintEvent
+256 QWidget::moveEvent
+264 QWidget::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QWidget::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 (int (*)(...))-0x00000000000000010
+456 (int (*)(...))(& _ZTI7QWidget)
+464 QWidget::_ZThn16_N7QWidgetD1Ev
+472 QWidget::_ZThn16_N7QWidgetD0Ev
+480 QWidget::_ZThn16_NK7QWidget7devTypeEv
+488 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+496 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QWidget
+ size=40 align=8
+ base size=40 base align=8
+QWidget (0x7f0d3ee33d00) 0
+ vptr=((& QWidget::_ZTV7QWidget) + 16u)
+ QObject (0x7f0d3ee412a0) 0
+ primary-for QWidget (0x7f0d3ee33d00)
+ QPaintDevice (0x7f0d3ee41310) 16
+ vptr=((& QWidget::_ZTV7QWidget) + 464u)
+
+Vtable for QDesignerActionEditorInterface
+QDesignerActionEditorInterface::_ZTV30QDesignerActionEditorInterface: 67u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI30QDesignerActionEditorInterface)
+16 QDesignerActionEditorInterface::metaObject
+24 QDesignerActionEditorInterface::qt_metacast
+32 QDesignerActionEditorInterface::qt_metacall
+40 QDesignerActionEditorInterface::~QDesignerActionEditorInterface
+48 QDesignerActionEditorInterface::~QDesignerActionEditorInterface
+56 QWidget::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QWidget::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QWidget::paintEvent
+256 QWidget::moveEvent
+264 QWidget::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QWidget::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QDesignerActionEditorInterface::core
+456 __cxa_pure_virtual
+464 __cxa_pure_virtual
+472 __cxa_pure_virtual
+480 (int (*)(...))-0x00000000000000010
+488 (int (*)(...))(& _ZTI30QDesignerActionEditorInterface)
+496 QDesignerActionEditorInterface::_ZThn16_N30QDesignerActionEditorInterfaceD1Ev
+504 QDesignerActionEditorInterface::_ZThn16_N30QDesignerActionEditorInterfaceD0Ev
+512 QWidget::_ZThn16_NK7QWidget7devTypeEv
+520 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+528 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QDesignerActionEditorInterface
+ size=40 align=8
+ base size=40 base align=8
+QDesignerActionEditorInterface (0x7f0d3ebbc310) 0
+ vptr=((& QDesignerActionEditorInterface::_ZTV30QDesignerActionEditorInterface) + 16u)
+ QWidget (0x7f0d3ebb5980) 0
+ primary-for QDesignerActionEditorInterface (0x7f0d3ebbc310)
+ QObject (0x7f0d3ebbc380) 0
+ primary-for QWidget (0x7f0d3ebb5980)
+ QPaintDevice (0x7f0d3ebbc3f0) 16
+ vptr=((& QDesignerActionEditorInterface::_ZTV30QDesignerActionEditorInterface) + 496u)
+
+Vtable for QDesignerBrushManagerInterface
+QDesignerBrushManagerInterface::_ZTV30QDesignerBrushManagerInterface: 21u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI30QDesignerBrushManagerInterface)
+16 QDesignerBrushManagerInterface::metaObject
+24 QDesignerBrushManagerInterface::qt_metacast
+32 QDesignerBrushManagerInterface::qt_metacall
+40 QDesignerBrushManagerInterface::~QDesignerBrushManagerInterface
+48 QDesignerBrushManagerInterface::~QDesignerBrushManagerInterface
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 __cxa_pure_virtual
+136 __cxa_pure_virtual
+144 __cxa_pure_virtual
+152 __cxa_pure_virtual
+160 __cxa_pure_virtual
+
+Class QDesignerBrushManagerInterface
+ size=16 align=8
+ base size=16 base align=8
+QDesignerBrushManagerInterface (0x7f0d3ebd32a0) 0
+ vptr=((& QDesignerBrushManagerInterface::_ZTV30QDesignerBrushManagerInterface) + 16u)
+ QObject (0x7f0d3ebd3310) 0
+ primary-for QDesignerBrushManagerInterface (0x7f0d3ebd32a0)
+
+Vtable for QDesignerDnDItemInterface
+QDesignerDnDItemInterface::_ZTV25QDesignerDnDItemInterface: 10u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI25QDesignerDnDItemInterface)
+16 QDesignerDnDItemInterface::~QDesignerDnDItemInterface
+24 QDesignerDnDItemInterface::~QDesignerDnDItemInterface
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+48 __cxa_pure_virtual
+56 __cxa_pure_virtual
+64 __cxa_pure_virtual
+72 __cxa_pure_virtual
+
+Class QDesignerDnDItemInterface
+ size=8 align=8
+ base size=8 base align=8
+QDesignerDnDItemInterface (0x7f0d3ebe7850) 0 nearly-empty
+ vptr=((& QDesignerDnDItemInterface::_ZTV25QDesignerDnDItemInterface) + 16u)
+
+Vtable for QDesignerFormEditorInterface
+QDesignerFormEditorInterface::_ZTV28QDesignerFormEditorInterface: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI28QDesignerFormEditorInterface)
+16 QDesignerFormEditorInterface::metaObject
+24 QDesignerFormEditorInterface::qt_metacast
+32 QDesignerFormEditorInterface::qt_metacall
+40 QDesignerFormEditorInterface::~QDesignerFormEditorInterface
+48 QDesignerFormEditorInterface::~QDesignerFormEditorInterface
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QDesignerFormEditorInterface
+ size=120 align=8
+ base size=120 base align=8
+QDesignerFormEditorInterface (0x7f0d3ebf27e0) 0
+ vptr=((& QDesignerFormEditorInterface::_ZTV28QDesignerFormEditorInterface) + 16u)
+ QObject (0x7f0d3ebf2850) 0
+ primary-for QDesignerFormEditorInterface (0x7f0d3ebf27e0)
+
+Vtable for QDesignerFormEditorPluginInterface
+QDesignerFormEditorPluginInterface::_ZTV34QDesignerFormEditorPluginInterface: 8u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI34QDesignerFormEditorPluginInterface)
+16 QDesignerFormEditorPluginInterface::~QDesignerFormEditorPluginInterface
+24 QDesignerFormEditorPluginInterface::~QDesignerFormEditorPluginInterface
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+48 __cxa_pure_virtual
+56 __cxa_pure_virtual
+
+Class QDesignerFormEditorPluginInterface
+ size=8 align=8
+ base size=8 base align=8
+QDesignerFormEditorPluginInterface (0x7f0d3ec54000) 0 nearly-empty
+ vptr=((& QDesignerFormEditorPluginInterface::_ZTV34QDesignerFormEditorPluginInterface) + 16u)
+
+Vtable for QDesignerFormWindowInterface
+QDesignerFormWindowInterface::_ZTV28QDesignerFormWindowInterface: 114u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI28QDesignerFormWindowInterface)
+16 QDesignerFormWindowInterface::metaObject
+24 QDesignerFormWindowInterface::qt_metacast
+32 QDesignerFormWindowInterface::qt_metacall
+40 QDesignerFormWindowInterface::~QDesignerFormWindowInterface
+48 QDesignerFormWindowInterface::~QDesignerFormWindowInterface
+56 QWidget::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QWidget::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QWidget::paintEvent
+256 QWidget::moveEvent
+264 QWidget::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QWidget::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 __cxa_pure_virtual
+456 __cxa_pure_virtual
+464 __cxa_pure_virtual
+472 __cxa_pure_virtual
+480 __cxa_pure_virtual
+488 __cxa_pure_virtual
+496 __cxa_pure_virtual
+504 __cxa_pure_virtual
+512 __cxa_pure_virtual
+520 __cxa_pure_virtual
+528 __cxa_pure_virtual
+536 __cxa_pure_virtual
+544 __cxa_pure_virtual
+552 __cxa_pure_virtual
+560 __cxa_pure_virtual
+568 __cxa_pure_virtual
+576 __cxa_pure_virtual
+584 __cxa_pure_virtual
+592 __cxa_pure_virtual
+600 __cxa_pure_virtual
+608 QDesignerFormWindowInterface::core
+616 __cxa_pure_virtual
+624 __cxa_pure_virtual
+632 __cxa_pure_virtual
+640 __cxa_pure_virtual
+648 __cxa_pure_virtual
+656 __cxa_pure_virtual
+664 __cxa_pure_virtual
+672 __cxa_pure_virtual
+680 __cxa_pure_virtual
+688 __cxa_pure_virtual
+696 __cxa_pure_virtual
+704 __cxa_pure_virtual
+712 __cxa_pure_virtual
+720 __cxa_pure_virtual
+728 __cxa_pure_virtual
+736 __cxa_pure_virtual
+744 __cxa_pure_virtual
+752 __cxa_pure_virtual
+760 __cxa_pure_virtual
+768 __cxa_pure_virtual
+776 __cxa_pure_virtual
+784 __cxa_pure_virtual
+792 __cxa_pure_virtual
+800 __cxa_pure_virtual
+808 __cxa_pure_virtual
+816 __cxa_pure_virtual
+824 __cxa_pure_virtual
+832 __cxa_pure_virtual
+840 __cxa_pure_virtual
+848 __cxa_pure_virtual
+856 (int (*)(...))-0x00000000000000010
+864 (int (*)(...))(& _ZTI28QDesignerFormWindowInterface)
+872 QDesignerFormWindowInterface::_ZThn16_N28QDesignerFormWindowInterfaceD1Ev
+880 QDesignerFormWindowInterface::_ZThn16_N28QDesignerFormWindowInterfaceD0Ev
+888 QWidget::_ZThn16_NK7QWidget7devTypeEv
+896 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+904 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QDesignerFormWindowInterface
+ size=40 align=8
+ base size=40 base align=8
+QDesignerFormWindowInterface (0x7f0d3ec77310) 0
+ vptr=((& QDesignerFormWindowInterface::_ZTV28QDesignerFormWindowInterface) + 16u)
+ QWidget (0x7f0d3ec74580) 0
+ primary-for QDesignerFormWindowInterface (0x7f0d3ec77310)
+ QObject (0x7f0d3ec77380) 0
+ primary-for QWidget (0x7f0d3ec74580)
+ QPaintDevice (0x7f0d3ec773f0) 16
+ vptr=((& QDesignerFormWindowInterface::_ZTV28QDesignerFormWindowInterface) + 872u)
+
+Vtable for QDesignerFormWindowCursorInterface
+QDesignerFormWindowCursorInterface::_ZTV34QDesignerFormWindowCursorInterface: 17u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI34QDesignerFormWindowCursorInterface)
+16 QDesignerFormWindowCursorInterface::~QDesignerFormWindowCursorInterface
+24 QDesignerFormWindowCursorInterface::~QDesignerFormWindowCursorInterface
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+48 __cxa_pure_virtual
+56 __cxa_pure_virtual
+64 __cxa_pure_virtual
+72 __cxa_pure_virtual
+80 __cxa_pure_virtual
+88 __cxa_pure_virtual
+96 __cxa_pure_virtual
+104 __cxa_pure_virtual
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 __cxa_pure_virtual
+
+Class QDesignerFormWindowCursorInterface
+ size=8 align=8
+ base size=8 base align=8
+QDesignerFormWindowCursorInterface (0x7f0d3eaa0770) 0 nearly-empty
+ vptr=((& QDesignerFormWindowCursorInterface::_ZTV34QDesignerFormWindowCursorInterface) + 16u)
+
+Vtable for QDesignerFormWindowManagerInterface
+QDesignerFormWindowManagerInterface::_ZTV35QDesignerFormWindowManagerInterface: 39u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI35QDesignerFormWindowManagerInterface)
+16 QDesignerFormWindowManagerInterface::metaObject
+24 QDesignerFormWindowManagerInterface::qt_metacast
+32 QDesignerFormWindowManagerInterface::qt_metacall
+40 QDesignerFormWindowManagerInterface::~QDesignerFormWindowManagerInterface
+48 QDesignerFormWindowManagerInterface::~QDesignerFormWindowManagerInterface
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QDesignerFormWindowManagerInterface::actionCut
+120 QDesignerFormWindowManagerInterface::actionCopy
+128 QDesignerFormWindowManagerInterface::actionPaste
+136 QDesignerFormWindowManagerInterface::actionDelete
+144 QDesignerFormWindowManagerInterface::actionSelectAll
+152 QDesignerFormWindowManagerInterface::actionLower
+160 QDesignerFormWindowManagerInterface::actionRaise
+168 QDesignerFormWindowManagerInterface::actionUndo
+176 QDesignerFormWindowManagerInterface::actionRedo
+184 QDesignerFormWindowManagerInterface::actionHorizontalLayout
+192 QDesignerFormWindowManagerInterface::actionVerticalLayout
+200 QDesignerFormWindowManagerInterface::actionSplitHorizontal
+208 QDesignerFormWindowManagerInterface::actionSplitVertical
+216 QDesignerFormWindowManagerInterface::actionGridLayout
+224 QDesignerFormWindowManagerInterface::actionBreakLayout
+232 QDesignerFormWindowManagerInterface::actionAdjustSize
+240 QDesignerFormWindowManagerInterface::activeFormWindow
+248 QDesignerFormWindowManagerInterface::formWindowCount
+256 QDesignerFormWindowManagerInterface::formWindow
+264 QDesignerFormWindowManagerInterface::createFormWindow
+272 QDesignerFormWindowManagerInterface::core
+280 __cxa_pure_virtual
+288 QDesignerFormWindowManagerInterface::addFormWindow
+296 QDesignerFormWindowManagerInterface::removeFormWindow
+304 QDesignerFormWindowManagerInterface::setActiveFormWindow
+
+Class QDesignerFormWindowManagerInterface
+ size=16 align=8
+ base size=16 base align=8
+QDesignerFormWindowManagerInterface (0x7f0d3eaaf460) 0
+ vptr=((& QDesignerFormWindowManagerInterface::_ZTV35QDesignerFormWindowManagerInterface) + 16u)
+ QObject (0x7f0d3eaaf4d0) 0
+ primary-for QDesignerFormWindowManagerInterface (0x7f0d3eaaf460)
+
+Vtable for QDesignerFormWindowToolInterface
+QDesignerFormWindowToolInterface::_ZTV32QDesignerFormWindowToolInterface: 23u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI32QDesignerFormWindowToolInterface)
+16 QDesignerFormWindowToolInterface::metaObject
+24 QDesignerFormWindowToolInterface::qt_metacast
+32 QDesignerFormWindowToolInterface::qt_metacall
+40 QDesignerFormWindowToolInterface::~QDesignerFormWindowToolInterface
+48 QDesignerFormWindowToolInterface::~QDesignerFormWindowToolInterface
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 __cxa_pure_virtual
+136 __cxa_pure_virtual
+144 __cxa_pure_virtual
+152 __cxa_pure_virtual
+160 QDesignerFormWindowToolInterface::saveToDom
+168 QDesignerFormWindowToolInterface::loadFromDom
+176 __cxa_pure_virtual
+
+Class QDesignerFormWindowToolInterface
+ size=16 align=8
+ base size=16 base align=8
+QDesignerFormWindowToolInterface (0x7f0d3eacc7e0) 0
+ vptr=((& QDesignerFormWindowToolInterface::_ZTV32QDesignerFormWindowToolInterface) + 16u)
+ QObject (0x7f0d3eacc850) 0
+ primary-for QDesignerFormWindowToolInterface (0x7f0d3eacc7e0)
+
+Vtable for QDesignerIconCacheInterface
+QDesignerIconCacheInterface::_ZTV27QDesignerIconCacheInterface: 23u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI27QDesignerIconCacheInterface)
+16 QDesignerIconCacheInterface::metaObject
+24 QDesignerIconCacheInterface::qt_metacast
+32 QDesignerIconCacheInterface::qt_metacall
+40 QDesignerIconCacheInterface::~QDesignerIconCacheInterface
+48 QDesignerIconCacheInterface::~QDesignerIconCacheInterface
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 __cxa_pure_virtual
+136 __cxa_pure_virtual
+144 __cxa_pure_virtual
+152 __cxa_pure_virtual
+160 __cxa_pure_virtual
+168 __cxa_pure_virtual
+176 __cxa_pure_virtual
+
+Class QDesignerIconCacheInterface
+ size=16 align=8
+ base size=16 base align=8
+QDesignerIconCacheInterface (0x7f0d3eadf8c0) 0
+ vptr=((& QDesignerIconCacheInterface::_ZTV27QDesignerIconCacheInterface) + 16u)
+ QObject (0x7f0d3eadf930) 0
+ primary-for QDesignerIconCacheInterface (0x7f0d3eadf8c0)
+
+Vtable for QDesignerIntegrationInterface
+QDesignerIntegrationInterface::_ZTV29QDesignerIntegrationInterface: 15u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI29QDesignerIntegrationInterface)
+16 QDesignerIntegrationInterface::metaObject
+24 QDesignerIntegrationInterface::qt_metacast
+32 QDesignerIntegrationInterface::qt_metacall
+40 QDesignerIntegrationInterface::~QDesignerIntegrationInterface
+48 QDesignerIntegrationInterface::~QDesignerIntegrationInterface
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+
+Class QDesignerIntegrationInterface
+ size=24 align=8
+ base size=24 base align=8
+QDesignerIntegrationInterface (0x7f0d3eafb000) 0
+ vptr=((& QDesignerIntegrationInterface::_ZTV29QDesignerIntegrationInterface) + 16u)
+ QObject (0x7f0d3eafb070) 0
+ primary-for QDesignerIntegrationInterface (0x7f0d3eafb000)
+
+Vtable for QAbstractExtensionFactory
+QAbstractExtensionFactory::_ZTV25QAbstractExtensionFactory: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI25QAbstractExtensionFactory)
+16 QAbstractExtensionFactory::~QAbstractExtensionFactory
+24 QAbstractExtensionFactory::~QAbstractExtensionFactory
+32 __cxa_pure_virtual
+
+Class QAbstractExtensionFactory
+ size=8 align=8
+ base size=8 base align=8
+QAbstractExtensionFactory (0x7f0d3eb0d070) 0 nearly-empty
+ vptr=((& QAbstractExtensionFactory::_ZTV25QAbstractExtensionFactory) + 16u)
+
+Vtable for QAbstractExtensionManager
+QAbstractExtensionManager::_ZTV25QAbstractExtensionManager: 7u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI25QAbstractExtensionManager)
+16 QAbstractExtensionManager::~QAbstractExtensionManager
+24 QAbstractExtensionManager::~QAbstractExtensionManager
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+48 __cxa_pure_virtual
+
+Class QAbstractExtensionManager
+ size=8 align=8
+ base size=8 base align=8
+QAbstractExtensionManager (0x7f0d3eb19310) 0 nearly-empty
+ vptr=((& QAbstractExtensionManager::_ZTV25QAbstractExtensionManager) + 16u)
+
+Vtable for QDesignerLanguageExtension
+QDesignerLanguageExtension::_ZTV26QDesignerLanguageExtension: 13u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI26QDesignerLanguageExtension)
+16 QDesignerLanguageExtension::~QDesignerLanguageExtension
+24 QDesignerLanguageExtension::~QDesignerLanguageExtension
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+48 __cxa_pure_virtual
+56 __cxa_pure_virtual
+64 __cxa_pure_virtual
+72 __cxa_pure_virtual
+80 __cxa_pure_virtual
+88 __cxa_pure_virtual
+96 __cxa_pure_virtual
+
+Class QDesignerLanguageExtension
+ size=8 align=8
+ base size=8 base align=8
+QDesignerLanguageExtension (0x7f0d3eb29620) 0 nearly-empty
+ vptr=((& QDesignerLanguageExtension::_ZTV26QDesignerLanguageExtension) + 16u)
+
+Vtable for QDesignerMetaDataBaseItemInterface
+QDesignerMetaDataBaseItemInterface::_ZTV34QDesignerMetaDataBaseItemInterface: 10u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI34QDesignerMetaDataBaseItemInterface)
+16 QDesignerMetaDataBaseItemInterface::~QDesignerMetaDataBaseItemInterface
+24 QDesignerMetaDataBaseItemInterface::~QDesignerMetaDataBaseItemInterface
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+48 __cxa_pure_virtual
+56 __cxa_pure_virtual
+64 __cxa_pure_virtual
+72 __cxa_pure_virtual
+
+Class QDesignerMetaDataBaseItemInterface
+ size=8 align=8
+ base size=8 base align=8
+QDesignerMetaDataBaseItemInterface (0x7f0d3eb39e70) 0 nearly-empty
+ vptr=((& QDesignerMetaDataBaseItemInterface::_ZTV34QDesignerMetaDataBaseItemInterface) + 16u)
+
+Vtable for QDesignerMetaDataBaseInterface
+QDesignerMetaDataBaseInterface::_ZTV30QDesignerMetaDataBaseInterface: 19u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI30QDesignerMetaDataBaseInterface)
+16 QDesignerMetaDataBaseInterface::metaObject
+24 QDesignerMetaDataBaseInterface::qt_metacast
+32 QDesignerMetaDataBaseInterface::qt_metacall
+40 QDesignerMetaDataBaseInterface::~QDesignerMetaDataBaseInterface
+48 QDesignerMetaDataBaseInterface::~QDesignerMetaDataBaseInterface
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 __cxa_pure_virtual
+136 __cxa_pure_virtual
+144 __cxa_pure_virtual
+
+Class QDesignerMetaDataBaseInterface
+ size=16 align=8
+ base size=16 base align=8
+QDesignerMetaDataBaseInterface (0x7f0d3eb4b850) 0
+ vptr=((& QDesignerMetaDataBaseInterface::_ZTV30QDesignerMetaDataBaseInterface) + 16u)
+ QObject (0x7f0d3eb4b8c0) 0
+ primary-for QDesignerMetaDataBaseInterface (0x7f0d3eb4b850)
+
+Vtable for QDesignerObjectInspectorInterface
+QDesignerObjectInspectorInterface::_ZTV33QDesignerObjectInspectorInterface: 65u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI33QDesignerObjectInspectorInterface)
+16 QDesignerObjectInspectorInterface::metaObject
+24 QDesignerObjectInspectorInterface::qt_metacast
+32 QDesignerObjectInspectorInterface::qt_metacall
+40 QDesignerObjectInspectorInterface::~QDesignerObjectInspectorInterface
+48 QDesignerObjectInspectorInterface::~QDesignerObjectInspectorInterface
+56 QWidget::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QWidget::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QWidget::paintEvent
+256 QWidget::moveEvent
+264 QWidget::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QWidget::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QDesignerObjectInspectorInterface::core
+456 __cxa_pure_virtual
+464 (int (*)(...))-0x00000000000000010
+472 (int (*)(...))(& _ZTI33QDesignerObjectInspectorInterface)
+480 QDesignerObjectInspectorInterface::_ZThn16_N33QDesignerObjectInspectorInterfaceD1Ev
+488 QDesignerObjectInspectorInterface::_ZThn16_N33QDesignerObjectInspectorInterfaceD0Ev
+496 QWidget::_ZThn16_NK7QWidget7devTypeEv
+504 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+512 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QDesignerObjectInspectorInterface
+ size=40 align=8
+ base size=40 base align=8
+QDesignerObjectInspectorInterface (0x7f0d3eb56d90) 0
+ vptr=((& QDesignerObjectInspectorInterface::_ZTV33QDesignerObjectInspectorInterface) + 16u)
+ QWidget (0x7f0d3eb4dd00) 0
+ primary-for QDesignerObjectInspectorInterface (0x7f0d3eb56d90)
+ QObject (0x7f0d3eb56e00) 0
+ primary-for QWidget (0x7f0d3eb4dd00)
+ QPaintDevice (0x7f0d3eb56e70) 16
+ vptr=((& QDesignerObjectInspectorInterface::_ZTV33QDesignerObjectInspectorInterface) + 480u)
+
+Class QDesignerPromotionInterface::PromotedClass
+ size=16 align=8
+ base size=16 base align=8
+QDesignerPromotionInterface::PromotedClass (0x7f0d3eb64e00) 0
+
+Vtable for QDesignerPromotionInterface
+QDesignerPromotionInterface::_ZTV27QDesignerPromotionInterface: 11u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI27QDesignerPromotionInterface)
+16 QDesignerPromotionInterface::~QDesignerPromotionInterface
+24 QDesignerPromotionInterface::~QDesignerPromotionInterface
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+48 __cxa_pure_virtual
+56 __cxa_pure_virtual
+64 __cxa_pure_virtual
+72 __cxa_pure_virtual
+80 __cxa_pure_virtual
+
+Class QDesignerPromotionInterface
+ size=8 align=8
+ base size=8 base align=8
+QDesignerPromotionInterface (0x7f0d3eb64d20) 0 nearly-empty
+ vptr=((& QDesignerPromotionInterface::_ZTV27QDesignerPromotionInterface) + 16u)
+
+Vtable for QDesignerPropertyEditorInterface
+QDesignerPropertyEditorInterface::_ZTV32QDesignerPropertyEditorInterface: 70u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI32QDesignerPropertyEditorInterface)
+16 QDesignerPropertyEditorInterface::metaObject
+24 QDesignerPropertyEditorInterface::qt_metacast
+32 QDesignerPropertyEditorInterface::qt_metacall
+40 QDesignerPropertyEditorInterface::~QDesignerPropertyEditorInterface
+48 QDesignerPropertyEditorInterface::~QDesignerPropertyEditorInterface
+56 QWidget::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QWidget::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QWidget::paintEvent
+256 QWidget::moveEvent
+264 QWidget::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QWidget::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QDesignerPropertyEditorInterface::core
+456 __cxa_pure_virtual
+464 __cxa_pure_virtual
+472 __cxa_pure_virtual
+480 __cxa_pure_virtual
+488 __cxa_pure_virtual
+496 __cxa_pure_virtual
+504 (int (*)(...))-0x00000000000000010
+512 (int (*)(...))(& _ZTI32QDesignerPropertyEditorInterface)
+520 QDesignerPropertyEditorInterface::_ZThn16_N32QDesignerPropertyEditorInterfaceD1Ev
+528 QDesignerPropertyEditorInterface::_ZThn16_N32QDesignerPropertyEditorInterfaceD0Ev
+536 QWidget::_ZThn16_NK7QWidget7devTypeEv
+544 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+552 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QDesignerPropertyEditorInterface
+ size=40 align=8
+ base size=40 base align=8
+QDesignerPropertyEditorInterface (0x7f0d3eb772a0) 0
+ vptr=((& QDesignerPropertyEditorInterface::_ZTV32QDesignerPropertyEditorInterface) + 16u)
+ QWidget (0x7f0d3eb6f500) 0
+ primary-for QDesignerPropertyEditorInterface (0x7f0d3eb772a0)
+ QObject (0x7f0d3eb77310) 0
+ primary-for QWidget (0x7f0d3eb6f500)
+ QPaintDevice (0x7f0d3eb77380) 16
+ vptr=((& QDesignerPropertyEditorInterface::_ZTV32QDesignerPropertyEditorInterface) + 520u)
+
+Vtable for QDesignerResourceBrowserInterface
+QDesignerResourceBrowserInterface::_ZTV33QDesignerResourceBrowserInterface: 65u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI33QDesignerResourceBrowserInterface)
+16 QDesignerResourceBrowserInterface::metaObject
+24 QDesignerResourceBrowserInterface::qt_metacast
+32 QDesignerResourceBrowserInterface::qt_metacall
+40 QDesignerResourceBrowserInterface::~QDesignerResourceBrowserInterface
+48 QDesignerResourceBrowserInterface::~QDesignerResourceBrowserInterface
+56 QWidget::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QWidget::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QWidget::paintEvent
+256 QWidget::moveEvent
+264 QWidget::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QWidget::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 __cxa_pure_virtual
+456 __cxa_pure_virtual
+464 (int (*)(...))-0x00000000000000010
+472 (int (*)(...))(& _ZTI33QDesignerResourceBrowserInterface)
+480 QDesignerResourceBrowserInterface::_ZThn16_N33QDesignerResourceBrowserInterfaceD1Ev
+488 QDesignerResourceBrowserInterface::_ZThn16_N33QDesignerResourceBrowserInterfaceD0Ev
+496 QWidget::_ZThn16_NK7QWidget7devTypeEv
+504 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+512 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QDesignerResourceBrowserInterface
+ size=40 align=8
+ base size=40 base align=8
+QDesignerResourceBrowserInterface (0x7f0d3eb91380) 0
+ vptr=((& QDesignerResourceBrowserInterface::_ZTV33QDesignerResourceBrowserInterface) + 16u)
+ QWidget (0x7f0d3eb6fc00) 0
+ primary-for QDesignerResourceBrowserInterface (0x7f0d3eb91380)
+ QObject (0x7f0d3eb913f0) 0
+ primary-for QWidget (0x7f0d3eb6fc00)
+ QPaintDevice (0x7f0d3eb91460) 16
+ vptr=((& QDesignerResourceBrowserInterface::_ZTV33QDesignerResourceBrowserInterface) + 480u)
+
+Class QIcon
+ size=8 align=8
+ base size=8 base align=8
+QIcon (0x7f0d3e9a6310) 0
+
+Class QDesignerWidgetBoxInterface::Widget
+ size=32 align=8
+ base size=28 base align=8
+QDesignerWidgetBoxInterface::Widget (0x7f0d3e9d90e0) 0
+
+Class QDesignerWidgetBoxInterface::Category
+ size=24 align=8
+ base size=24 base align=8
+QDesignerWidgetBoxInterface::Category (0x7f0d3e9d97e0) 0
+
+Vtable for QDesignerWidgetBoxInterface
+QDesignerWidgetBoxInterface::_ZTV27QDesignerWidgetBoxInterface: 76u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI27QDesignerWidgetBoxInterface)
+16 QDesignerWidgetBoxInterface::metaObject
+24 QDesignerWidgetBoxInterface::qt_metacast
+32 QDesignerWidgetBoxInterface::qt_metacall
+40 QDesignerWidgetBoxInterface::~QDesignerWidgetBoxInterface
+48 QDesignerWidgetBoxInterface::~QDesignerWidgetBoxInterface
+56 QWidget::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QWidget::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QWidget::paintEvent
+256 QWidget::moveEvent
+264 QWidget::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QWidget::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 __cxa_pure_virtual
+456 __cxa_pure_virtual
+464 __cxa_pure_virtual
+472 __cxa_pure_virtual
+480 __cxa_pure_virtual
+488 __cxa_pure_virtual
+496 __cxa_pure_virtual
+504 __cxa_pure_virtual
+512 __cxa_pure_virtual
+520 __cxa_pure_virtual
+528 __cxa_pure_virtual
+536 __cxa_pure_virtual
+544 __cxa_pure_virtual
+552 (int (*)(...))-0x00000000000000010
+560 (int (*)(...))(& _ZTI27QDesignerWidgetBoxInterface)
+568 QDesignerWidgetBoxInterface::_ZThn16_N27QDesignerWidgetBoxInterfaceD1Ev
+576 QDesignerWidgetBoxInterface::_ZThn16_N27QDesignerWidgetBoxInterfaceD0Ev
+584 QWidget::_ZThn16_NK7QWidget7devTypeEv
+592 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+600 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QDesignerWidgetBoxInterface
+ size=40 align=8
+ base size=40 base align=8
+QDesignerWidgetBoxInterface (0x7f0d3e9caee0) 0
+ vptr=((& QDesignerWidgetBoxInterface::_ZTV27QDesignerWidgetBoxInterface) + 16u)
+ QWidget (0x7f0d3e9ccc00) 0
+ primary-for QDesignerWidgetBoxInterface (0x7f0d3e9caee0)
+ QObject (0x7f0d3e9caf50) 0
+ primary-for QWidget (0x7f0d3e9ccc00)
+ QPaintDevice (0x7f0d3e9d9000) 16
+ vptr=((& QDesignerWidgetBoxInterface::_ZTV27QDesignerWidgetBoxInterface) + 568u)
+
+Vtable for QDesignerWidgetDataBaseItemInterface
+QDesignerWidgetDataBaseItemInterface::_ZTV36QDesignerWidgetDataBaseItemInterface: 30u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI36QDesignerWidgetDataBaseItemInterface)
+16 QDesignerWidgetDataBaseItemInterface::~QDesignerWidgetDataBaseItemInterface
+24 QDesignerWidgetDataBaseItemInterface::~QDesignerWidgetDataBaseItemInterface
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+48 __cxa_pure_virtual
+56 __cxa_pure_virtual
+64 __cxa_pure_virtual
+72 __cxa_pure_virtual
+80 __cxa_pure_virtual
+88 __cxa_pure_virtual
+96 __cxa_pure_virtual
+104 __cxa_pure_virtual
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 __cxa_pure_virtual
+136 __cxa_pure_virtual
+144 __cxa_pure_virtual
+152 __cxa_pure_virtual
+160 __cxa_pure_virtual
+168 __cxa_pure_virtual
+176 __cxa_pure_virtual
+184 __cxa_pure_virtual
+192 __cxa_pure_virtual
+200 __cxa_pure_virtual
+208 __cxa_pure_virtual
+216 __cxa_pure_virtual
+224 __cxa_pure_virtual
+232 __cxa_pure_virtual
+
+Class QDesignerWidgetDataBaseItemInterface
+ size=8 align=8
+ base size=8 base align=8
+QDesignerWidgetDataBaseItemInterface (0x7f0d3ea61690) 0 nearly-empty
+ vptr=((& QDesignerWidgetDataBaseItemInterface::_ZTV36QDesignerWidgetDataBaseItemInterface) + 16u)
+
+Vtable for QDesignerWidgetDataBaseInterface
+QDesignerWidgetDataBaseInterface::_ZTV32QDesignerWidgetDataBaseInterface: 22u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI32QDesignerWidgetDataBaseInterface)
+16 QDesignerWidgetDataBaseInterface::metaObject
+24 QDesignerWidgetDataBaseInterface::qt_metacast
+32 QDesignerWidgetDataBaseInterface::qt_metacall
+40 QDesignerWidgetDataBaseInterface::~QDesignerWidgetDataBaseInterface
+48 QDesignerWidgetDataBaseInterface::~QDesignerWidgetDataBaseInterface
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QDesignerWidgetDataBaseInterface::count
+120 QDesignerWidgetDataBaseInterface::item
+128 QDesignerWidgetDataBaseInterface::indexOf
+136 QDesignerWidgetDataBaseInterface::insert
+144 QDesignerWidgetDataBaseInterface::append
+152 QDesignerWidgetDataBaseInterface::indexOfObject
+160 QDesignerWidgetDataBaseInterface::indexOfClassName
+168 QDesignerWidgetDataBaseInterface::core
+
+Class QDesignerWidgetDataBaseInterface
+ size=24 align=8
+ base size=24 base align=8
+QDesignerWidgetDataBaseInterface (0x7f0d3ea77070) 0
+ vptr=((& QDesignerWidgetDataBaseInterface::_ZTV32QDesignerWidgetDataBaseInterface) + 16u)
+ QObject (0x7f0d3ea770e0) 0
+ primary-for QDesignerWidgetDataBaseInterface (0x7f0d3ea77070)
+
+Vtable for QDesignerWidgetFactoryInterface
+QDesignerWidgetFactoryInterface::_ZTV31QDesignerWidgetFactoryInterface: 21u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI31QDesignerWidgetFactoryInterface)
+16 QDesignerWidgetFactoryInterface::metaObject
+24 QDesignerWidgetFactoryInterface::qt_metacast
+32 QDesignerWidgetFactoryInterface::qt_metacall
+40 QDesignerWidgetFactoryInterface::~QDesignerWidgetFactoryInterface
+48 QDesignerWidgetFactoryInterface::~QDesignerWidgetFactoryInterface
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 __cxa_pure_virtual
+136 __cxa_pure_virtual
+144 __cxa_pure_virtual
+152 __cxa_pure_virtual
+160 __cxa_pure_virtual
+
+Class QDesignerWidgetFactoryInterface
+ size=16 align=8
+ base size=16 base align=8
+QDesignerWidgetFactoryInterface (0x7f0d3e81d230) 0
+ vptr=((& QDesignerWidgetFactoryInterface::_ZTV31QDesignerWidgetFactoryInterface) + 16u)
+ QObject (0x7f0d3e81d2a0) 0
+ primary-for QDesignerWidgetFactoryInterface (0x7f0d3e81d230)
+
+Vtable for QDesignerDynamicPropertySheetExtension
+QDesignerDynamicPropertySheetExtension::_ZTV38QDesignerDynamicPropertySheetExtension: 9u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI38QDesignerDynamicPropertySheetExtension)
+16 QDesignerDynamicPropertySheetExtension::~QDesignerDynamicPropertySheetExtension
+24 QDesignerDynamicPropertySheetExtension::~QDesignerDynamicPropertySheetExtension
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+48 __cxa_pure_virtual
+56 __cxa_pure_virtual
+64 __cxa_pure_virtual
+
+Class QDesignerDynamicPropertySheetExtension
+ size=8 align=8
+ base size=8 base align=8
+QDesignerDynamicPropertySheetExtension (0x7f0d3e82e1c0) 0 nearly-empty
+ vptr=((& QDesignerDynamicPropertySheetExtension::_ZTV38QDesignerDynamicPropertySheetExtension) + 16u)
+
+Vtable for QDesignerExtraInfoExtension
+QDesignerExtraInfoExtension::_ZTV27QDesignerExtraInfoExtension: 10u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI27QDesignerExtraInfoExtension)
+16 QDesignerExtraInfoExtension::~QDesignerExtraInfoExtension
+24 QDesignerExtraInfoExtension::~QDesignerExtraInfoExtension
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+48 __cxa_pure_virtual
+56 __cxa_pure_virtual
+64 __cxa_pure_virtual
+72 __cxa_pure_virtual
+
+Class QDesignerExtraInfoExtension
+ size=16 align=8
+ base size=16 base align=8
+QDesignerExtraInfoExtension (0x7f0d3e83fa10) 0
+ vptr=((& QDesignerExtraInfoExtension::_ZTV27QDesignerExtraInfoExtension) + 16u)
+
+Vtable for QDesignerLayoutDecorationExtension
+QDesignerLayoutDecorationExtension::_ZTV34QDesignerLayoutDecorationExtension: 19u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI34QDesignerLayoutDecorationExtension)
+16 QDesignerLayoutDecorationExtension::~QDesignerLayoutDecorationExtension
+24 QDesignerLayoutDecorationExtension::~QDesignerLayoutDecorationExtension
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+48 __cxa_pure_virtual
+56 __cxa_pure_virtual
+64 __cxa_pure_virtual
+72 __cxa_pure_virtual
+80 __cxa_pure_virtual
+88 __cxa_pure_virtual
+96 __cxa_pure_virtual
+104 __cxa_pure_virtual
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 __cxa_pure_virtual
+136 __cxa_pure_virtual
+144 __cxa_pure_virtual
+
+Class QDesignerLayoutDecorationExtension
+ size=8 align=8
+ base size=8 base align=8
+QDesignerLayoutDecorationExtension (0x7f0d3e85e460) 0 nearly-empty
+ vptr=((& QDesignerLayoutDecorationExtension::_ZTV34QDesignerLayoutDecorationExtension) + 16u)
+
+Vtable for QDesignerMemberSheetExtension
+QDesignerMemberSheetExtension::_ZTV29QDesignerMemberSheetExtension: 18u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI29QDesignerMemberSheetExtension)
+16 QDesignerMemberSheetExtension::~QDesignerMemberSheetExtension
+24 QDesignerMemberSheetExtension::~QDesignerMemberSheetExtension
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+48 __cxa_pure_virtual
+56 __cxa_pure_virtual
+64 __cxa_pure_virtual
+72 __cxa_pure_virtual
+80 __cxa_pure_virtual
+88 __cxa_pure_virtual
+96 __cxa_pure_virtual
+104 __cxa_pure_virtual
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 __cxa_pure_virtual
+136 __cxa_pure_virtual
+
+Class QDesignerMemberSheetExtension
+ size=8 align=8
+ base size=8 base align=8
+QDesignerMemberSheetExtension (0x7f0d3e870e00) 0 nearly-empty
+ vptr=((& QDesignerMemberSheetExtension::_ZTV29QDesignerMemberSheetExtension) + 16u)
+
+Vtable for QDesignerPropertySheetExtension
+QDesignerPropertySheetExtension::_ZTV31QDesignerPropertySheetExtension: 19u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI31QDesignerPropertySheetExtension)
+16 QDesignerPropertySheetExtension::~QDesignerPropertySheetExtension
+24 QDesignerPropertySheetExtension::~QDesignerPropertySheetExtension
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+48 __cxa_pure_virtual
+56 __cxa_pure_virtual
+64 __cxa_pure_virtual
+72 __cxa_pure_virtual
+80 __cxa_pure_virtual
+88 __cxa_pure_virtual
+96 __cxa_pure_virtual
+104 __cxa_pure_virtual
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 __cxa_pure_virtual
+136 __cxa_pure_virtual
+144 __cxa_pure_virtual
+
+Class QDesignerPropertySheetExtension
+ size=8 align=8
+ base size=8 base align=8
+QDesignerPropertySheetExtension (0x7f0d3e891690) 0 nearly-empty
+ vptr=((& QDesignerPropertySheetExtension::_ZTV31QDesignerPropertySheetExtension) + 16u)
+
+Vtable for QDesignerTaskMenuExtension
+QDesignerTaskMenuExtension::_ZTV26QDesignerTaskMenuExtension: 6u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI26QDesignerTaskMenuExtension)
+16 QDesignerTaskMenuExtension::~QDesignerTaskMenuExtension
+24 QDesignerTaskMenuExtension::~QDesignerTaskMenuExtension
+32 QDesignerTaskMenuExtension::preferredEditAction
+40 __cxa_pure_virtual
+
+Class QDesignerTaskMenuExtension
+ size=8 align=8
+ base size=8 base align=8
+QDesignerTaskMenuExtension (0x7f0d3e89fee0) 0 nearly-empty
+ vptr=((& QDesignerTaskMenuExtension::_ZTV26QDesignerTaskMenuExtension) + 16u)
+
+Vtable for QAbstractFormBuilder
+QAbstractFormBuilder::_ZTV20QAbstractFormBuilder: 48u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI20QAbstractFormBuilder)
+16 QAbstractFormBuilder::~QAbstractFormBuilder
+24 QAbstractFormBuilder::~QAbstractFormBuilder
+32 QAbstractFormBuilder::load
+40 QAbstractFormBuilder::save
+48 QAbstractFormBuilder::loadExtraInfo
+56 QAbstractFormBuilder::create
+64 QAbstractFormBuilder::create
+72 QAbstractFormBuilder::create
+80 QAbstractFormBuilder::create
+88 QAbstractFormBuilder::create
+96 QAbstractFormBuilder::create
+104 QAbstractFormBuilder::addMenuAction
+112 QAbstractFormBuilder::applyProperties
+120 QAbstractFormBuilder::applyTabStops
+128 QAbstractFormBuilder::createWidget
+136 QAbstractFormBuilder::createLayout
+144 QAbstractFormBuilder::createAction
+152 QAbstractFormBuilder::createActionGroup
+160 QAbstractFormBuilder::createCustomWidgets
+168 QAbstractFormBuilder::createConnections
+176 QAbstractFormBuilder::createResources
+184 QAbstractFormBuilder::addItem
+192 QAbstractFormBuilder::addItem
+200 QAbstractFormBuilder::saveExtraInfo
+208 QAbstractFormBuilder::saveDom
+216 QAbstractFormBuilder::createActionRefDom
+224 QAbstractFormBuilder::createDom
+232 QAbstractFormBuilder::createDom
+240 QAbstractFormBuilder::createDom
+248 QAbstractFormBuilder::createDom
+256 QAbstractFormBuilder::createDom
+264 QAbstractFormBuilder::createDom
+272 QAbstractFormBuilder::saveConnections
+280 QAbstractFormBuilder::saveCustomWidgets
+288 QAbstractFormBuilder::saveTabStops
+296 QAbstractFormBuilder::saveResources
+304 QAbstractFormBuilder::computeProperties
+312 QAbstractFormBuilder::checkProperty
+320 QAbstractFormBuilder::createProperty
+328 QAbstractFormBuilder::layoutInfo
+336 QAbstractFormBuilder::nameToIcon
+344 QAbstractFormBuilder::iconToFilePath
+352 QAbstractFormBuilder::iconToQrcPath
+360 QAbstractFormBuilder::nameToPixmap
+368 QAbstractFormBuilder::pixmapToFilePath
+376 QAbstractFormBuilder::pixmapToQrcPath
+
+Class QAbstractFormBuilder
+ size=48 align=8
+ base size=48 base align=8
+QAbstractFormBuilder (0x7f0d3e8bd930) 0
+ vptr=((& QAbstractFormBuilder::_ZTV20QAbstractFormBuilder) + 16u)
+
+Vtable for QDesignerContainerExtension
+QDesignerContainerExtension::_ZTV27QDesignerContainerExtension: 11u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI27QDesignerContainerExtension)
+16 QDesignerContainerExtension::~QDesignerContainerExtension
+24 QDesignerContainerExtension::~QDesignerContainerExtension
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+48 __cxa_pure_virtual
+56 __cxa_pure_virtual
+64 __cxa_pure_virtual
+72 __cxa_pure_virtual
+80 __cxa_pure_virtual
+
+Class QDesignerContainerExtension
+ size=8 align=8
+ base size=8 base align=8
+QDesignerContainerExtension (0x7f0d3e8e7e70) 0 nearly-empty
+ vptr=((& QDesignerContainerExtension::_ZTV27QDesignerContainerExtension) + 16u)
+
+Vtable for QDesignerCustomWidgetInterface
+QDesignerCustomWidgetInterface::_ZTV30QDesignerCustomWidgetInterface: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI30QDesignerCustomWidgetInterface)
+16 QDesignerCustomWidgetInterface::~QDesignerCustomWidgetInterface
+24 QDesignerCustomWidgetInterface::~QDesignerCustomWidgetInterface
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+48 __cxa_pure_virtual
+56 __cxa_pure_virtual
+64 __cxa_pure_virtual
+72 __cxa_pure_virtual
+80 __cxa_pure_virtual
+88 __cxa_pure_virtual
+96 QDesignerCustomWidgetInterface::isInitialized
+104 QDesignerCustomWidgetInterface::initialize
+112 QDesignerCustomWidgetInterface::domXml
+120 QDesignerCustomWidgetInterface::codeTemplate
+
+Class QDesignerCustomWidgetInterface
+ size=8 align=8
+ base size=8 base align=8
+QDesignerCustomWidgetInterface (0x7f0d3e75c460) 0 nearly-empty
+ vptr=((& QDesignerCustomWidgetInterface::_ZTV30QDesignerCustomWidgetInterface) + 16u)
+
+Vtable for QDesignerCustomWidgetCollectionInterface
+QDesignerCustomWidgetCollectionInterface::_ZTV40QDesignerCustomWidgetCollectionInterface: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI40QDesignerCustomWidgetCollectionInterface)
+16 QDesignerCustomWidgetCollectionInterface::~QDesignerCustomWidgetCollectionInterface
+24 QDesignerCustomWidgetCollectionInterface::~QDesignerCustomWidgetCollectionInterface
+32 __cxa_pure_virtual
+
+Class QDesignerCustomWidgetCollectionInterface
+ size=8 align=8
+ base size=8 base align=8
+QDesignerCustomWidgetCollectionInterface (0x7f0d3e777380) 0 nearly-empty
+ vptr=((& QDesignerCustomWidgetCollectionInterface::_ZTV40QDesignerCustomWidgetCollectionInterface) + 16u)
+
+Vtable for QFormBuilder
+QFormBuilder::_ZTV12QFormBuilder: 49u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QFormBuilder)
+16 QFormBuilder::~QFormBuilder
+24 QFormBuilder::~QFormBuilder
+32 QAbstractFormBuilder::load
+40 QAbstractFormBuilder::save
+48 QAbstractFormBuilder::loadExtraInfo
+56 QFormBuilder::create
+64 QFormBuilder::create
+72 QFormBuilder::create
+80 QFormBuilder::create
+88 QFormBuilder::create
+96 QFormBuilder::create
+104 QAbstractFormBuilder::addMenuAction
+112 QFormBuilder::applyProperties
+120 QAbstractFormBuilder::applyTabStops
+128 QFormBuilder::createWidget
+136 QFormBuilder::createLayout
+144 QAbstractFormBuilder::createAction
+152 QAbstractFormBuilder::createActionGroup
+160 QAbstractFormBuilder::createCustomWidgets
+168 QFormBuilder::createConnections
+176 QAbstractFormBuilder::createResources
+184 QFormBuilder::addItem
+192 QFormBuilder::addItem
+200 QAbstractFormBuilder::saveExtraInfo
+208 QAbstractFormBuilder::saveDom
+216 QAbstractFormBuilder::createActionRefDom
+224 QAbstractFormBuilder::createDom
+232 QAbstractFormBuilder::createDom
+240 QAbstractFormBuilder::createDom
+248 QAbstractFormBuilder::createDom
+256 QAbstractFormBuilder::createDom
+264 QAbstractFormBuilder::createDom
+272 QAbstractFormBuilder::saveConnections
+280 QAbstractFormBuilder::saveCustomWidgets
+288 QAbstractFormBuilder::saveTabStops
+296 QAbstractFormBuilder::saveResources
+304 QAbstractFormBuilder::computeProperties
+312 QAbstractFormBuilder::checkProperty
+320 QAbstractFormBuilder::createProperty
+328 QAbstractFormBuilder::layoutInfo
+336 QAbstractFormBuilder::nameToIcon
+344 QAbstractFormBuilder::iconToFilePath
+352 QAbstractFormBuilder::iconToQrcPath
+360 QAbstractFormBuilder::nameToPixmap
+368 QAbstractFormBuilder::pixmapToFilePath
+376 QAbstractFormBuilder::pixmapToQrcPath
+384 QFormBuilder::updateCustomWidgets
+
+Class QFormBuilder
+ size=64 align=8
+ base size=64 base align=8
+QFormBuilder (0x7f0d3e786620) 0
+ vptr=((& QFormBuilder::_ZTV12QFormBuilder) + 16u)
+ QAbstractFormBuilder (0x7f0d3e786690) 0
+ primary-for QFormBuilder (0x7f0d3e786620)
+
+Vtable for QExtensionManager
+QExtensionManager::_ZTV17QExtensionManager: 24u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QExtensionManager)
+16 QExtensionManager::metaObject
+24 QExtensionManager::qt_metacast
+32 QExtensionManager::qt_metacall
+40 QExtensionManager::~QExtensionManager
+48 QExtensionManager::~QExtensionManager
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QExtensionManager::registerExtensions
+120 QExtensionManager::unregisterExtensions
+128 QExtensionManager::extension
+136 (int (*)(...))-0x00000000000000010
+144 (int (*)(...))(& _ZTI17QExtensionManager)
+152 QExtensionManager::_ZThn16_N17QExtensionManagerD1Ev
+160 QExtensionManager::_ZThn16_N17QExtensionManagerD0Ev
+168 QExtensionManager::_ZThn16_N17QExtensionManager18registerExtensionsEP25QAbstractExtensionFactoryRK7QString
+176 QExtensionManager::_ZThn16_N17QExtensionManager20unregisterExtensionsEP25QAbstractExtensionFactoryRK7QString
+184 QExtensionManager::_ZThn16_NK17QExtensionManager9extensionEP7QObjectRK7QString
+
+Class QExtensionManager
+ size=40 align=8
+ base size=40 base align=8
+QExtensionManager (0x7f0d3e782c00) 0
+ vptr=((& QExtensionManager::_ZTV17QExtensionManager) + 16u)
+ QObject (0x7f0d3e786a10) 0
+ primary-for QExtensionManager (0x7f0d3e782c00)
+ QAbstractExtensionManager (0x7f0d3e786a80) 16 nearly-empty
+ vptr=((& QExtensionManager::_ZTV17QExtensionManager) + 152u)
+
diff --git a/tests/auto/bic/data/QtGui.4.5.0.linux-gcc-amd64.txt b/tests/auto/bic/data/QtGui.4.5.0.linux-gcc-amd64.txt
new file mode 100644
index 0000000000..601eab8d74
--- /dev/null
+++ b/tests/auto/bic/data/QtGui.4.5.0.linux-gcc-amd64.txt
@@ -0,0 +1,15618 @@
+Class QSysInfo
+ size=1 align=1
+ base size=0 base align=1
+QSysInfo (0x7f1df2f7c460) 0 empty
+
+Class QBool
+ size=1 align=1
+ base size=1 base align=1
+QBool (0x7f1df2f93150) 0
+
+Class qIsNull(double)::U
+ size=8 align=8
+ base size=8 base align=8
+qIsNull(double)::U (0x7f1df2faa540) 0
+
+Class qIsNull(float)::U
+ size=4 align=4
+ base size=4 base align=4
+qIsNull(float)::U (0x7f1df2faa7e0) 0
+
+Class QFlag
+ size=4 align=4
+ base size=4 base align=4
+QFlag (0x7f1df2fe2620) 0
+
+Class QIncompatibleFlag
+ size=4 align=4
+ base size=4 base align=4
+QIncompatibleFlag (0x7f1df2fe2e00) 0
+
+Class QInternal
+ size=1 align=1
+ base size=0 base align=1
+QInternal (0x7f1df2ddb540) 0 empty
+
+Class QGenericArgument
+ size=16 align=8
+ base size=16 base align=8
+QGenericArgument (0x7f1df2ddb850) 0
+
+Class QGenericReturnArgument
+ size=16 align=8
+ base size=16 base align=8
+QGenericReturnArgument (0x7f1df2df73f0) 0
+ QGenericArgument (0x7f1df2df7460) 0
+
+Class QMetaObject
+ size=32 align=8
+ base size=32 base align=8
+QMetaObject (0x7f1df2df7cb0) 0
+
+Class QMetaObjectExtraData
+ size=16 align=8
+ base size=16 base align=8
+QMetaObjectExtraData (0x7f1df2e1fcb0) 0
+
+Class QLatin1Char
+ size=1 align=1
+ base size=1 base align=1
+QLatin1Char (0x7f1df2e29700) 0
+
+Class QChar
+ size=2 align=2
+ base size=2 base align=2
+QChar (0x7f1df2e2f2a0) 0
+
+Class QBasicAtomicInt
+ size=4 align=4
+ base size=4 base align=4
+QBasicAtomicInt (0x7f1df2c97380) 0
+
+Class QAtomicInt
+ size=4 align=4
+ base size=4 base align=4
+QAtomicInt (0x7f1df2cd4d20) 0
+ QBasicAtomicInt (0x7f1df2cd4d90) 0
+
+Class __locale_struct
+ size=232 align=8
+ base size=232 base align=8
+__locale_struct (0x7f1df2cf81c0) 0
+
+Class QByteArray::Data
+ size=32 align=8
+ base size=32 base align=8
+QByteArray::Data (0x7f1df2b737e0) 0
+
+Class QByteArray
+ size=8 align=8
+ base size=8 base align=8
+QByteArray (0x7f1df2d30540) 0
+
+Class QByteRef
+ size=16 align=8
+ base size=12 base align=8
+QByteRef (0x7f1df2bcaa80) 0
+
+Class QString::Null
+ size=1 align=1
+ base size=0 base align=1
+QString::Null (0x7f1df2ad3700) 0 empty
+
+Class QString::Data
+ size=32 align=8
+ base size=32 base align=8
+QString::Data (0x7f1df2ae3ee0) 0
+
+Class QString
+ size=8 align=8
+ base size=8 base align=8
+QString (0x7f1df2c525b0) 0
+
+Class QLatin1String
+ size=8 align=8
+ base size=8 base align=8
+QLatin1String (0x7f1df29bc000) 0
+
+Class QCharRef
+ size=16 align=8
+ base size=12 base align=8
+QCharRef (0x7f1df2a54620) 0
+
+Class QConstString
+ size=8 align=8
+ base size=8 base align=8
+QConstString (0x7f1df279bee0) 0
+ QString (0x7f1df279bf50) 0
+
+Class QStringRef
+ size=16 align=8
+ base size=16 base align=8
+QStringRef (0x7f1df27bcbd0) 0
+
+Vtable for std::exception
+std::exception::_ZTVSt9exception: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt9exception)
+16 std::exception::~exception
+24 std::exception::~exception
+32 std::exception::what
+
+Class std::exception
+ size=8 align=8
+ base size=8 base align=8
+std::exception (0x7f1df2676620) 0 nearly-empty
+ vptr=((& std::exception::_ZTVSt9exception) + 16u)
+
+Vtable for std::bad_exception
+std::bad_exception::_ZTVSt13bad_exception: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt13bad_exception)
+16 std::bad_exception::~bad_exception
+24 std::bad_exception::~bad_exception
+32 std::bad_exception::what
+
+Class std::bad_exception
+ size=8 align=8
+ base size=8 base align=8
+std::bad_exception (0x7f1df2699000) 0 nearly-empty
+ vptr=((& std::bad_exception::_ZTVSt13bad_exception) + 16u)
+ std::exception (0x7f1df2699070) 0 nearly-empty
+ primary-for std::bad_exception (0x7f1df2699000)
+
+Vtable for std::bad_alloc
+std::bad_alloc::_ZTVSt9bad_alloc: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt9bad_alloc)
+16 std::bad_alloc::~bad_alloc
+24 std::bad_alloc::~bad_alloc
+32 std::bad_alloc::what
+
+Class std::bad_alloc
+ size=8 align=8
+ base size=8 base align=8
+std::bad_alloc (0x7f1df26998c0) 0 nearly-empty
+ vptr=((& std::bad_alloc::_ZTVSt9bad_alloc) + 16u)
+ std::exception (0x7f1df2699930) 0 nearly-empty
+ primary-for std::bad_alloc (0x7f1df26998c0)
+
+Class std::nothrow_t
+ size=1 align=1
+ base size=0 base align=1
+std::nothrow_t (0x7f1df26aa0e0) 0 empty
+
+Class QListData::Data
+ size=32 align=8
+ base size=32 base align=8
+QListData::Data (0x7f1df26aa620) 0
+
+Class QListData
+ size=8 align=8
+ base size=8 base align=8
+QListData (0x7f1df26aa5b0) 0
+
+Vtable for QObjectData
+QObjectData::_ZTV11QObjectData: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QObjectData)
+16 __cxa_pure_virtual
+24 __cxa_pure_virtual
+
+Class QObjectData
+ size=40 align=8
+ base size=40 base align=8
+QObjectData (0x7f1df25afbd0) 0
+ vptr=((& QObjectData::_ZTV11QObjectData) + 16u)
+
+Vtable for QObject
+QObject::_ZTV7QObject: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QObject)
+16 QObject::metaObject
+24 QObject::qt_metacast
+32 QObject::qt_metacall
+40 QObject::~QObject
+48 QObject::~QObject
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QObject
+ size=16 align=8
+ base size=16 base align=8
+QObject (0x7f1df25afee0) 0
+ vptr=((& QObject::_ZTV7QObject) + 16u)
+
+Vtable for QObjectUserData
+QObjectUserData::_ZTV15QObjectUserData: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QObjectUserData)
+16 QObjectUserData::~QObjectUserData
+24 QObjectUserData::~QObjectUserData
+
+Class QObjectUserData
+ size=8 align=8
+ base size=8 base align=8
+QObjectUserData (0x7f1df26403f0) 0 nearly-empty
+ vptr=((& QObjectUserData::_ZTV15QObjectUserData) + 16u)
+
+Vtable for QIODevice
+QIODevice::_ZTV9QIODevice: 30u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QIODevice)
+16 QIODevice::metaObject
+24 QIODevice::qt_metacast
+32 QIODevice::qt_metacall
+40 QIODevice::~QIODevice
+48 QIODevice::~QIODevice
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QIODevice::isSequential
+120 QIODevice::open
+128 QIODevice::close
+136 QIODevice::pos
+144 QIODevice::size
+152 QIODevice::seek
+160 QIODevice::atEnd
+168 QIODevice::reset
+176 QIODevice::bytesAvailable
+184 QIODevice::bytesToWrite
+192 QIODevice::canReadLine
+200 QIODevice::waitForReadyRead
+208 QIODevice::waitForBytesWritten
+216 __cxa_pure_virtual
+224 QIODevice::readLineData
+232 __cxa_pure_virtual
+
+Class QIODevice
+ size=16 align=8
+ base size=16 base align=8
+QIODevice (0x7f1df2640930) 0
+ vptr=((& QIODevice::_ZTV9QIODevice) + 16u)
+ QObject (0x7f1df26409a0) 0
+ primary-for QIODevice (0x7f1df2640930)
+
+Vtable for QDataStream
+QDataStream::_ZTV11QDataStream: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QDataStream)
+16 QDataStream::~QDataStream
+24 QDataStream::~QDataStream
+
+Class QDataStream
+ size=40 align=8
+ base size=40 base align=8
+QDataStream (0x7f1df24b42a0) 0
+ vptr=((& QDataStream::_ZTV11QDataStream) + 16u)
+
+Class QHashData::Node
+ size=16 align=8
+ base size=16 base align=8
+QHashData::Node (0x7f1df253c150) 0
+
+Class QHashData
+ size=40 align=8
+ base size=40 base align=8
+QHashData (0x7f1df253c0e0) 0
+
+Class QHashDummyValue
+ size=1 align=1
+ base size=0 base align=1
+QHashDummyValue (0x7f1df254bee0) 0 empty
+
+Class QMapData::Node
+ size=16 align=8
+ base size=16 base align=8
+QMapData::Node (0x7f1df225f690) 0
+
+Class QMapData
+ size=128 align=8
+ base size=128 base align=8
+QMapData (0x7f1df225f620) 0
+
+Vtable for QSystemLocale
+QSystemLocale::_ZTV13QSystemLocale: 6u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QSystemLocale)
+16 QSystemLocale::~QSystemLocale
+24 QSystemLocale::~QSystemLocale
+32 QSystemLocale::query
+40 QSystemLocale::fallbackLocale
+
+Class QSystemLocale
+ size=8 align=8
+ base size=8 base align=8
+QSystemLocale (0x7f1df2172e00) 0 nearly-empty
+ vptr=((& QSystemLocale::_ZTV13QSystemLocale) + 16u)
+
+Class QLocale::Data
+ size=4 align=2
+ base size=4 base align=2
+QLocale::Data (0x7f1df21d13f0) 0
+
+Class QLocale
+ size=8 align=8
+ base size=8 base align=8
+QLocale (0x7f1df21950e0) 0
+
+Class QTextCodec::ConverterState
+ size=32 align=8
+ base size=32 base align=8
+QTextCodec::ConverterState (0x7f1df221fe70) 0
+
+Vtable for QTextCodec
+QTextCodec::_ZTV10QTextCodec: 9u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QTextCodec)
+16 __cxa_pure_virtual
+24 QTextCodec::aliases
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+48 __cxa_pure_virtual
+56 QTextCodec::~QTextCodec
+64 QTextCodec::~QTextCodec
+
+Class QTextCodec
+ size=8 align=8
+ base size=8 base align=8
+QTextCodec (0x7f1df2207a80) 0 nearly-empty
+ vptr=((& QTextCodec::_ZTV10QTextCodec) + 16u)
+
+Class QTextEncoder
+ size=40 align=8
+ base size=40 base align=8
+QTextEncoder (0x7f1df208a3f0) 0
+
+Class QTextDecoder
+ size=40 align=8
+ base size=40 base align=8
+QTextDecoder (0x7f1df2093230) 0
+
+Class _IO_marker
+ size=24 align=8
+ base size=24 base align=8
+_IO_marker (0x7f1df209d2a0) 0
+
+Class _IO_FILE
+ size=216 align=8
+ base size=216 base align=8
+_IO_FILE (0x7f1df209d310) 0
+
+Vtable for QTextStream
+QTextStream::_ZTV11QTextStream: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QTextStream)
+16 QTextStream::~QTextStream
+24 QTextStream::~QTextStream
+
+Class QTextStream
+ size=16 align=8
+ base size=16 base align=8
+QTextStream (0x7f1df209d3f0) 0
+ vptr=((& QTextStream::_ZTV11QTextStream) + 16u)
+
+Class QTextStreamManipulator
+ size=40 align=8
+ base size=38 base align=8
+QTextStreamManipulator (0x7f1df2135ee0) 0
+
+Vtable for QTextIStream
+QTextIStream::_ZTV12QTextIStream: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QTextIStream)
+16 QTextIStream::~QTextIStream
+24 QTextIStream::~QTextIStream
+
+Class QTextIStream
+ size=16 align=8
+ base size=16 base align=8
+QTextIStream (0x7f1df1f601c0) 0
+ vptr=((& QTextIStream::_ZTV12QTextIStream) + 16u)
+ QTextStream (0x7f1df1f60230) 0
+ primary-for QTextIStream (0x7f1df1f601c0)
+
+Vtable for QTextOStream
+QTextOStream::_ZTV12QTextOStream: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QTextOStream)
+16 QTextOStream::~QTextOStream
+24 QTextOStream::~QTextOStream
+
+Class QTextOStream
+ size=16 align=8
+ base size=16 base align=8
+QTextOStream (0x7f1df1f75070) 0
+ vptr=((& QTextOStream::_ZTV12QTextOStream) + 16u)
+ QTextStream (0x7f1df1f750e0) 0
+ primary-for QTextOStream (0x7f1df1f75070)
+
+Class wait
+ size=4 align=4
+ base size=4 base align=4
+wait (0x7f1df1f81ee0) 0
+
+Class timespec
+ size=16 align=8
+ base size=16 base align=8
+timespec (0x7f1df1f8f230) 0
+
+Class timeval
+ size=16 align=8
+ base size=16 base align=8
+timeval (0x7f1df1f8f2a0) 0
+
+Class __pthread_internal_list
+ size=16 align=8
+ base size=16 base align=8
+__pthread_internal_list (0x7f1df1f8f3f0) 0
+
+Class random_data
+ size=48 align=8
+ base size=48 base align=8
+random_data (0x7f1df1f8f9a0) 0
+
+Class drand48_data
+ size=24 align=8
+ base size=24 base align=8
+drand48_data (0x7f1df1f8fa10) 0
+
+Class QVectorData
+ size=16 align=4
+ base size=16 base align=4
+QVectorData (0x7f1df1f8fa80) 0
+
+Class QDebug::Stream
+ size=40 align=8
+ base size=34 base align=8
+QDebug::Stream (0x7f1df1f0b230) 0
+
+Class QDebug
+ size=8 align=8
+ base size=8 base align=8
+QDebug (0x7f1df1f0b1c0) 0
+
+Class QNoDebug
+ size=1 align=1
+ base size=0 base align=1
+QNoDebug (0x7f1df1da9070) 0 empty
+
+Vtable for QFile
+QFile::_ZTV5QFile: 31u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI5QFile)
+16 QFile::metaObject
+24 QFile::qt_metacast
+32 QFile::qt_metacall
+40 QFile::~QFile
+48 QFile::~QFile
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QFile::isSequential
+120 QFile::open
+128 QFile::close
+136 QFile::pos
+144 QFile::size
+152 QFile::seek
+160 QFile::atEnd
+168 QIODevice::reset
+176 QIODevice::bytesAvailable
+184 QIODevice::bytesToWrite
+192 QIODevice::canReadLine
+200 QIODevice::waitForReadyRead
+208 QIODevice::waitForBytesWritten
+216 QFile::readData
+224 QFile::readLineData
+232 QFile::writeData
+240 QFile::fileEngine
+
+Class QFile
+ size=16 align=8
+ base size=16 base align=8
+QFile (0x7f1df1dba620) 0
+ vptr=((& QFile::_ZTV5QFile) + 16u)
+ QIODevice (0x7f1df1dba690) 0
+ primary-for QFile (0x7f1df1dba620)
+ QObject (0x7f1df1dba700) 0
+ primary-for QIODevice (0x7f1df1dba690)
+
+Vtable for QTemporaryFile
+QTemporaryFile::_ZTV14QTemporaryFile: 31u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QTemporaryFile)
+16 QTemporaryFile::metaObject
+24 QTemporaryFile::qt_metacast
+32 QTemporaryFile::qt_metacall
+40 QTemporaryFile::~QTemporaryFile
+48 QTemporaryFile::~QTemporaryFile
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QFile::isSequential
+120 QTemporaryFile::open
+128 QFile::close
+136 QFile::pos
+144 QFile::size
+152 QFile::seek
+160 QFile::atEnd
+168 QIODevice::reset
+176 QIODevice::bytesAvailable
+184 QIODevice::bytesToWrite
+192 QIODevice::canReadLine
+200 QIODevice::waitForReadyRead
+208 QIODevice::waitForBytesWritten
+216 QFile::readData
+224 QFile::readLineData
+232 QFile::writeData
+240 QTemporaryFile::fileEngine
+
+Class QTemporaryFile
+ size=16 align=8
+ base size=16 base align=8
+QTemporaryFile (0x7f1df1e23850) 0
+ vptr=((& QTemporaryFile::_ZTV14QTemporaryFile) + 16u)
+ QFile (0x7f1df1e238c0) 0
+ primary-for QTemporaryFile (0x7f1df1e23850)
+ QIODevice (0x7f1df1e23930) 0
+ primary-for QFile (0x7f1df1e238c0)
+ QObject (0x7f1df1e239a0) 0
+ primary-for QIODevice (0x7f1df1e23930)
+
+Class QFileInfo
+ size=8 align=8
+ base size=8 base align=8
+QFileInfo (0x7f1df1e47f50) 0
+
+Class QRegExp
+ size=8 align=8
+ base size=8 base align=8
+QRegExp (0x7f1df1ca2770) 0
+
+Class QStringMatcher
+ size=1048 align=8
+ base size=1048 base align=8
+QStringMatcher (0x7f1df1cf05b0) 0
+
+Class QStringList
+ size=8 align=8
+ base size=8 base align=8
+QStringList (0x7f1df1d01070) 0
+ QList<QString> (0x7f1df1d010e0) 0
+
+Class QDir
+ size=8 align=8
+ base size=8 base align=8
+QDir (0x7f1df1b91cb0) 0
+
+Class QAbstractFileEngine::ExtensionOption
+ size=1 align=1
+ base size=0 base align=1
+QAbstractFileEngine::ExtensionOption (0x7f1df1c28e70) 0 empty
+
+Class QAbstractFileEngine::ExtensionReturn
+ size=1 align=1
+ base size=0 base align=1
+QAbstractFileEngine::ExtensionReturn (0x7f1df1c28ee0) 0 empty
+
+Class QAbstractFileEngine::MapExtensionOption
+ size=24 align=8
+ base size=20 base align=8
+QAbstractFileEngine::MapExtensionOption (0x7f1df1c28f50) 0
+ QAbstractFileEngine::ExtensionOption (0x7f1df1c3e000) 0 empty
+
+Class QAbstractFileEngine::MapExtensionReturn
+ size=8 align=8
+ base size=8 base align=8
+QAbstractFileEngine::MapExtensionReturn (0x7f1df1c3e1c0) 0
+ QAbstractFileEngine::ExtensionReturn (0x7f1df1c3e230) 0 empty
+
+Class QAbstractFileEngine::UnMapExtensionOption
+ size=8 align=8
+ base size=8 base align=8
+QAbstractFileEngine::UnMapExtensionOption (0x7f1df1c3e2a0) 0
+ QAbstractFileEngine::ExtensionOption (0x7f1df1c3e310) 0 empty
+
+Vtable for QAbstractFileEngine
+QAbstractFileEngine::_ZTV19QAbstractFileEngine: 36u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QAbstractFileEngine)
+16 QAbstractFileEngine::~QAbstractFileEngine
+24 QAbstractFileEngine::~QAbstractFileEngine
+32 QAbstractFileEngine::open
+40 QAbstractFileEngine::close
+48 QAbstractFileEngine::flush
+56 QAbstractFileEngine::size
+64 QAbstractFileEngine::pos
+72 QAbstractFileEngine::seek
+80 QAbstractFileEngine::isSequential
+88 QAbstractFileEngine::remove
+96 QAbstractFileEngine::copy
+104 QAbstractFileEngine::rename
+112 QAbstractFileEngine::link
+120 QAbstractFileEngine::mkdir
+128 QAbstractFileEngine::rmdir
+136 QAbstractFileEngine::setSize
+144 QAbstractFileEngine::caseSensitive
+152 QAbstractFileEngine::isRelativePath
+160 QAbstractFileEngine::entryList
+168 QAbstractFileEngine::fileFlags
+176 QAbstractFileEngine::setPermissions
+184 QAbstractFileEngine::fileName
+192 QAbstractFileEngine::ownerId
+200 QAbstractFileEngine::owner
+208 QAbstractFileEngine::fileTime
+216 QAbstractFileEngine::setFileName
+224 QAbstractFileEngine::handle
+232 QAbstractFileEngine::beginEntryList
+240 QAbstractFileEngine::endEntryList
+248 QAbstractFileEngine::read
+256 QAbstractFileEngine::readLine
+264 QAbstractFileEngine::write
+272 QAbstractFileEngine::extension
+280 QAbstractFileEngine::supportsExtension
+
+Class QAbstractFileEngine
+ size=16 align=8
+ base size=16 base align=8
+QAbstractFileEngine (0x7f1df1c1ae00) 0
+ vptr=((& QAbstractFileEngine::_ZTV19QAbstractFileEngine) + 16u)
+
+Vtable for QAbstractFileEngineHandler
+QAbstractFileEngineHandler::_ZTV26QAbstractFileEngineHandler: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI26QAbstractFileEngineHandler)
+16 QAbstractFileEngineHandler::~QAbstractFileEngineHandler
+24 QAbstractFileEngineHandler::~QAbstractFileEngineHandler
+32 __cxa_pure_virtual
+
+Class QAbstractFileEngineHandler
+ size=8 align=8
+ base size=8 base align=8
+QAbstractFileEngineHandler (0x7f1df1a6d000) 0 nearly-empty
+ vptr=((& QAbstractFileEngineHandler::_ZTV26QAbstractFileEngineHandler) + 16u)
+
+Vtable for QAbstractFileEngineIterator
+QAbstractFileEngineIterator::_ZTV27QAbstractFileEngineIterator: 9u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI27QAbstractFileEngineIterator)
+16 QAbstractFileEngineIterator::~QAbstractFileEngineIterator
+24 QAbstractFileEngineIterator::~QAbstractFileEngineIterator
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+48 __cxa_pure_virtual
+56 QAbstractFileEngineIterator::currentFileInfo
+64 QAbstractFileEngineIterator::entryInfo
+
+Class QAbstractFileEngineIterator
+ size=16 align=8
+ base size=16 base align=8
+QAbstractFileEngineIterator (0x7f1df1a6d1c0) 0
+ vptr=((& QAbstractFileEngineIterator::_ZTV27QAbstractFileEngineIterator) + 16u)
+
+Vtable for QFSFileEngine
+QFSFileEngine::_ZTV13QFSFileEngine: 36u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QFSFileEngine)
+16 QFSFileEngine::~QFSFileEngine
+24 QFSFileEngine::~QFSFileEngine
+32 QFSFileEngine::open
+40 QFSFileEngine::close
+48 QFSFileEngine::flush
+56 QFSFileEngine::size
+64 QFSFileEngine::pos
+72 QFSFileEngine::seek
+80 QFSFileEngine::isSequential
+88 QFSFileEngine::remove
+96 QFSFileEngine::copy
+104 QFSFileEngine::rename
+112 QFSFileEngine::link
+120 QFSFileEngine::mkdir
+128 QFSFileEngine::rmdir
+136 QFSFileEngine::setSize
+144 QFSFileEngine::caseSensitive
+152 QFSFileEngine::isRelativePath
+160 QFSFileEngine::entryList
+168 QFSFileEngine::fileFlags
+176 QFSFileEngine::setPermissions
+184 QFSFileEngine::fileName
+192 QFSFileEngine::ownerId
+200 QFSFileEngine::owner
+208 QFSFileEngine::fileTime
+216 QFSFileEngine::setFileName
+224 QFSFileEngine::handle
+232 QFSFileEngine::beginEntryList
+240 QFSFileEngine::endEntryList
+248 QFSFileEngine::read
+256 QFSFileEngine::readLine
+264 QFSFileEngine::write
+272 QFSFileEngine::extension
+280 QFSFileEngine::supportsExtension
+
+Class QFSFileEngine
+ size=16 align=8
+ base size=16 base align=8
+QFSFileEngine (0x7f1df1a6da10) 0
+ vptr=((& QFSFileEngine::_ZTV13QFSFileEngine) + 16u)
+ QAbstractFileEngine (0x7f1df1a6da80) 0
+ primary-for QFSFileEngine (0x7f1df1a6da10)
+
+Vtable for QProcess
+QProcess::_ZTV8QProcess: 31u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI8QProcess)
+16 QProcess::metaObject
+24 QProcess::qt_metacast
+32 QProcess::qt_metacall
+40 QProcess::~QProcess
+48 QProcess::~QProcess
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QProcess::isSequential
+120 QIODevice::open
+128 QProcess::close
+136 QIODevice::pos
+144 QIODevice::size
+152 QIODevice::seek
+160 QProcess::atEnd
+168 QIODevice::reset
+176 QProcess::bytesAvailable
+184 QProcess::bytesToWrite
+192 QProcess::canReadLine
+200 QProcess::waitForReadyRead
+208 QProcess::waitForBytesWritten
+216 QProcess::readData
+224 QIODevice::readLineData
+232 QProcess::writeData
+240 QProcess::setupChildProcess
+
+Class QProcess
+ size=16 align=8
+ base size=16 base align=8
+QProcess (0x7f1df1a86d20) 0
+ vptr=((& QProcess::_ZTV8QProcess) + 16u)
+ QIODevice (0x7f1df1a86d90) 0
+ primary-for QProcess (0x7f1df1a86d20)
+ QObject (0x7f1df1a86e00) 0
+ primary-for QIODevice (0x7f1df1a86d90)
+
+Class QResource
+ size=8 align=8
+ base size=8 base align=8
+QResource (0x7f1df1ac1230) 0
+
+Vtable for QDirIterator
+QDirIterator::_ZTV12QDirIterator: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QDirIterator)
+16 QDirIterator::~QDirIterator
+24 QDirIterator::~QDirIterator
+
+Class QDirIterator
+ size=16 align=8
+ base size=16 base align=8
+QDirIterator (0x7f1df1ac1cb0) 0
+ vptr=((& QDirIterator::_ZTV12QDirIterator) + 16u)
+
+Vtable for QBuffer
+QBuffer::_ZTV7QBuffer: 30u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QBuffer)
+16 QBuffer::metaObject
+24 QBuffer::qt_metacast
+32 QBuffer::qt_metacall
+40 QBuffer::~QBuffer
+48 QBuffer::~QBuffer
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QBuffer::connectNotify
+104 QBuffer::disconnectNotify
+112 QIODevice::isSequential
+120 QBuffer::open
+128 QBuffer::close
+136 QBuffer::pos
+144 QBuffer::size
+152 QBuffer::seek
+160 QBuffer::atEnd
+168 QIODevice::reset
+176 QIODevice::bytesAvailable
+184 QIODevice::bytesToWrite
+192 QBuffer::canReadLine
+200 QIODevice::waitForReadyRead
+208 QIODevice::waitForBytesWritten
+216 QBuffer::readData
+224 QIODevice::readLineData
+232 QBuffer::writeData
+
+Class QBuffer
+ size=16 align=8
+ base size=16 base align=8
+QBuffer (0x7f1df1af4a80) 0
+ vptr=((& QBuffer::_ZTV7QBuffer) + 16u)
+ QIODevice (0x7f1df1af4af0) 0
+ primary-for QBuffer (0x7f1df1af4a80)
+ QObject (0x7f1df1af4b60) 0
+ primary-for QIODevice (0x7f1df1af4af0)
+
+Vtable for QFileSystemWatcher
+QFileSystemWatcher::_ZTV18QFileSystemWatcher: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QFileSystemWatcher)
+16 QFileSystemWatcher::metaObject
+24 QFileSystemWatcher::qt_metacast
+32 QFileSystemWatcher::qt_metacall
+40 QFileSystemWatcher::~QFileSystemWatcher
+48 QFileSystemWatcher::~QFileSystemWatcher
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QFileSystemWatcher
+ size=16 align=8
+ base size=16 base align=8
+QFileSystemWatcher (0x7f1df1b1a690) 0
+ vptr=((& QFileSystemWatcher::_ZTV18QFileSystemWatcher) + 16u)
+ QObject (0x7f1df1b1a700) 0
+ primary-for QFileSystemWatcher (0x7f1df1b1a690)
+
+Class QUrl
+ size=8 align=8
+ base size=8 base align=8
+QUrl (0x7f1df1b2cbd0) 0
+
+Class QMetaType
+ size=1 align=1
+ base size=0 base align=1
+QMetaType (0x7f1df19923f0) 0 empty
+
+Class QVariant::PrivateShared
+ size=16 align=8
+ base size=12 base align=8
+QVariant::PrivateShared (0x7f1df1869930) 0
+
+Class QVariant::Private::Data
+ size=8 align=8
+ base size=8 base align=8
+QVariant::Private::Data (0x7f1df1869c40) 0
+
+Class QVariant::Private
+ size=16 align=8
+ base size=12 base align=8
+QVariant::Private (0x7f1df1869a10) 0
+
+Class QVariant::Handler
+ size=72 align=8
+ base size=72 base align=8
+QVariant::Handler (0x7f1df1879930) 0
+
+Class QVariant
+ size=16 align=8
+ base size=16 base align=8
+QVariant (0x7f1df1839af0) 0
+
+Class QVariantComparisonHelper
+ size=8 align=8
+ base size=8 base align=8
+QVariantComparisonHelper (0x7f1df1925cb0) 0
+
+Vtable for QSettings
+QSettings::_ZTV9QSettings: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QSettings)
+16 QSettings::metaObject
+24 QSettings::qt_metacast
+32 QSettings::qt_metacall
+40 QSettings::~QSettings
+48 QSettings::~QSettings
+56 QSettings::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QSettings
+ size=16 align=8
+ base size=16 base align=8
+QSettings (0x7f1df1742cb0) 0
+ vptr=((& QSettings::_ZTV9QSettings) + 16u)
+ QObject (0x7f1df1742d20) 0
+ primary-for QSettings (0x7f1df1742cb0)
+
+Class QXmlStreamStringRef
+ size=16 align=8
+ base size=16 base align=8
+QXmlStreamStringRef (0x7f1df17c6070) 0
+
+Class QXmlStreamAttribute
+ size=80 align=8
+ base size=73 base align=8
+QXmlStreamAttribute (0x7f1df17e3850) 0
+
+Class QXmlStreamAttributes
+ size=8 align=8
+ base size=8 base align=8
+QXmlStreamAttributes (0x7f1df180c380) 0
+ QVector<QXmlStreamAttribute> (0x7f1df180c3f0) 0
+
+Class QXmlStreamNamespaceDeclaration
+ size=40 align=8
+ base size=40 base align=8
+QXmlStreamNamespaceDeclaration (0x7f1df180c850) 0
+
+Class QXmlStreamNotationDeclaration
+ size=56 align=8
+ base size=56 base align=8
+QXmlStreamNotationDeclaration (0x7f1df164b1c0) 0
+
+Class QXmlStreamEntityDeclaration
+ size=88 align=8
+ base size=88 base align=8
+QXmlStreamEntityDeclaration (0x7f1df166b070) 0
+
+Vtable for QXmlStreamEntityResolver
+QXmlStreamEntityResolver::_ZTV24QXmlStreamEntityResolver: 6u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI24QXmlStreamEntityResolver)
+16 QXmlStreamEntityResolver::~QXmlStreamEntityResolver
+24 QXmlStreamEntityResolver::~QXmlStreamEntityResolver
+32 QXmlStreamEntityResolver::resolveEntity
+40 QXmlStreamEntityResolver::resolveUndeclaredEntity
+
+Class QXmlStreamEntityResolver
+ size=8 align=8
+ base size=8 base align=8
+QXmlStreamEntityResolver (0x7f1df16879a0) 0 nearly-empty
+ vptr=((& QXmlStreamEntityResolver::_ZTV24QXmlStreamEntityResolver) + 16u)
+
+Class QXmlStreamReader
+ size=8 align=8
+ base size=8 base align=8
+QXmlStreamReader (0x7f1df1687b60) 0
+
+Class QXmlStreamWriter
+ size=8 align=8
+ base size=8 base align=8
+QXmlStreamWriter (0x7f1df16c4a10) 0
+
+Class QPoint
+ size=8 align=4
+ base size=8 base align=4
+QPoint (0x7f1df1700150) 0
+
+Class QPointF
+ size=16 align=8
+ base size=16 base align=8
+QPointF (0x7f1df1538d90) 0
+
+Class QLine
+ size=16 align=4
+ base size=16 base align=4
+QLine (0x7f1df1575bd0) 0
+
+Class QLineF
+ size=32 align=8
+ base size=32 base align=8
+QLineF (0x7f1df15b0a80) 0
+
+Class QSize
+ size=8 align=4
+ base size=8 base align=4
+QSize (0x7f1df160a540) 0
+
+Class QSizeF
+ size=16 align=8
+ base size=16 base align=8
+QSizeF (0x7f1df1457380) 0
+
+Class QRect
+ size=16 align=4
+ base size=16 base align=4
+QRect (0x7f1df14a19a0) 0
+
+Class QRectF
+ size=32 align=8
+ base size=32 base align=8
+QRectF (0x7f1df1353380) 0
+
+Class QSharedData
+ size=4 align=4
+ base size=4 base align=4
+QSharedData (0x7f1df13fd150) 0
+
+Vtable for QtSharedPointer::ExternalRefCountData
+QtSharedPointer::ExternalRefCountData::_ZTVN15QtSharedPointer20ExternalRefCountDataE: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN15QtSharedPointer20ExternalRefCountDataE)
+16 QtSharedPointer::ExternalRefCountData::~ExternalRefCountData
+24 QtSharedPointer::ExternalRefCountData::~ExternalRefCountData
+32 QtSharedPointer::ExternalRefCountData::destroy
+
+Class QtSharedPointer::ExternalRefCountData
+ size=16 align=8
+ base size=16 base align=8
+QtSharedPointer::ExternalRefCountData (0x7f1df122eaf0) 0
+ vptr=((& QtSharedPointer::ExternalRefCountData::_ZTVN15QtSharedPointer20ExternalRefCountDataE) + 16u)
+
+Class QLinkedListData
+ size=32 align=8
+ base size=32 base align=8
+QLinkedListData (0x7f1df12b4c40) 0
+
+Class QBitArray
+ size=8 align=8
+ base size=8 base align=8
+QBitArray (0x7f1df117fb60) 0
+
+Class QBitRef
+ size=16 align=8
+ base size=12 base align=8
+QBitRef (0x7f1df11f4930) 0
+
+Class QByteArrayMatcher
+ size=1040 align=8
+ base size=1040 base align=8
+QByteArrayMatcher (0x7f1df120e310) 0
+
+Class QCryptographicHash
+ size=8 align=8
+ base size=8 base align=8
+QCryptographicHash (0x7f1df1221a10) 0
+
+Class QTextBoundaryFinder
+ size=48 align=8
+ base size=48 base align=8
+QTextBoundaryFinder (0x7f1df104e460) 0
+
+Class QDate
+ size=4 align=4
+ base size=4 base align=4
+QDate (0x7f1df10647e0) 0
+
+Class QTime
+ size=4 align=4
+ base size=4 base align=4
+QTime (0x7f1df108d770) 0
+
+Class QDateTime
+ size=8 align=8
+ base size=8 base align=8
+QDateTime (0x7f1df10abd20) 0
+
+Vtable for QTimeLine
+QTimeLine::_ZTV9QTimeLine: 15u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QTimeLine)
+16 QTimeLine::metaObject
+24 QTimeLine::qt_metacast
+32 QTimeLine::qt_metacall
+40 QTimeLine::~QTimeLine
+48 QTimeLine::~QTimeLine
+56 QObject::event
+64 QObject::eventFilter
+72 QTimeLine::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QTimeLine::valueForTime
+
+Class QTimeLine
+ size=16 align=8
+ base size=16 base align=8
+QTimeLine (0x7f1df10de1c0) 0
+ vptr=((& QTimeLine::_ZTV9QTimeLine) + 16u)
+ QObject (0x7f1df10de230) 0
+ primary-for QTimeLine (0x7f1df10de1c0)
+
+Vtable for QRunnable
+QRunnable::_ZTV9QRunnable: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QRunnable)
+16 __cxa_pure_virtual
+24 QRunnable::~QRunnable
+32 QRunnable::~QRunnable
+
+Class QRunnable
+ size=16 align=8
+ base size=12 base align=8
+QRunnable (0x7f1df1106070) 0
+ vptr=((& QRunnable::_ZTV9QRunnable) + 16u)
+
+Class QMutex
+ size=8 align=8
+ base size=8 base align=8
+QMutex (0x7f1df1112700) 0
+
+Class QMutexLocker
+ size=8 align=8
+ base size=8 base align=8
+QMutexLocker (0x7f1df11222a0) 0
+
+Vtable for QtConcurrent::Exception
+QtConcurrent::Exception::_ZTVN12QtConcurrent9ExceptionE: 7u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN12QtConcurrent9ExceptionE)
+16 QtConcurrent::Exception::~Exception
+24 QtConcurrent::Exception::~Exception
+32 std::exception::what
+40 QtConcurrent::Exception::raise
+48 QtConcurrent::Exception::clone
+
+Class QtConcurrent::Exception
+ size=8 align=8
+ base size=8 base align=8
+QtConcurrent::Exception (0x7f1df0f395b0) 0 nearly-empty
+ vptr=((& QtConcurrent::Exception::_ZTVN12QtConcurrent9ExceptionE) + 16u)
+ std::exception (0x7f1df0f39620) 0 nearly-empty
+ primary-for QtConcurrent::Exception (0x7f1df0f395b0)
+
+Vtable for QtConcurrent::UnhandledException
+QtConcurrent::UnhandledException::_ZTVN12QtConcurrent18UnhandledExceptionE: 7u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN12QtConcurrent18UnhandledExceptionE)
+16 QtConcurrent::UnhandledException::~UnhandledException
+24 QtConcurrent::UnhandledException::~UnhandledException
+32 std::exception::what
+40 QtConcurrent::UnhandledException::raise
+48 QtConcurrent::UnhandledException::clone
+
+Class QtConcurrent::UnhandledException
+ size=8 align=8
+ base size=8 base align=8
+QtConcurrent::UnhandledException (0x7f1df0f39850) 0 nearly-empty
+ vptr=((& QtConcurrent::UnhandledException::_ZTVN12QtConcurrent18UnhandledExceptionE) + 16u)
+ QtConcurrent::Exception (0x7f1df0f398c0) 0 nearly-empty
+ primary-for QtConcurrent::UnhandledException (0x7f1df0f39850)
+ std::exception (0x7f1df0f39930) 0 nearly-empty
+ primary-for QtConcurrent::Exception (0x7f1df0f398c0)
+
+Class QtConcurrent::internal::ExceptionHolder
+ size=8 align=8
+ base size=8 base align=8
+QtConcurrent::internal::ExceptionHolder (0x7f1df0f39b60) 0
+
+Class QtConcurrent::internal::ExceptionStore
+ size=8 align=8
+ base size=8 base align=8
+QtConcurrent::internal::ExceptionStore (0x7f1df0f39ee0) 0
+
+Class QtConcurrent::ResultItem
+ size=16 align=8
+ base size=16 base align=8
+QtConcurrent::ResultItem (0x7f1df0f39f50) 0
+
+Class QtConcurrent::ResultIteratorBase
+ size=16 align=8
+ base size=12 base align=8
+QtConcurrent::ResultIteratorBase (0x7f1df0f4fe70) 0
+
+Vtable for QtConcurrent::ResultStoreBase
+QtConcurrent::ResultStoreBase::_ZTVN12QtConcurrent15ResultStoreBaseE: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN12QtConcurrent15ResultStoreBaseE)
+16 QtConcurrent::ResultStoreBase::~ResultStoreBase
+24 QtConcurrent::ResultStoreBase::~ResultStoreBase
+
+Class QtConcurrent::ResultStoreBase
+ size=48 align=8
+ base size=44 base align=8
+QtConcurrent::ResultStoreBase (0x7f1df0f52a10) 0
+ vptr=((& QtConcurrent::ResultStoreBase::_ZTVN12QtConcurrent15ResultStoreBaseE) + 16u)
+
+Vtable for QFutureInterfaceBase
+QFutureInterfaceBase::_ZTV20QFutureInterfaceBase: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI20QFutureInterfaceBase)
+16 QFutureInterfaceBase::~QFutureInterfaceBase
+24 QFutureInterfaceBase::~QFutureInterfaceBase
+
+Class QFutureInterfaceBase
+ size=16 align=8
+ base size=16 base align=8
+QFutureInterfaceBase (0x7f1df0f93e70) 0
+ vptr=((& QFutureInterfaceBase::_ZTV20QFutureInterfaceBase) + 16u)
+
+Vtable for QThread
+QThread::_ZTV7QThread: 15u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QThread)
+16 QThread::metaObject
+24 QThread::qt_metacast
+32 QThread::qt_metacall
+40 QThread::~QThread
+48 QThread::~QThread
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QThread::run
+
+Class QThread
+ size=16 align=8
+ base size=16 base align=8
+QThread (0x7f1df0e76e00) 0
+ vptr=((& QThread::_ZTV7QThread) + 16u)
+ QObject (0x7f1df0e76e70) 0
+ primary-for QThread (0x7f1df0e76e00)
+
+Vtable for QThreadPool
+QThreadPool::_ZTV11QThreadPool: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QThreadPool)
+16 QThreadPool::metaObject
+24 QThreadPool::qt_metacast
+32 QThreadPool::qt_metacall
+40 QThreadPool::~QThreadPool
+48 QThreadPool::~QThreadPool
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QThreadPool
+ size=16 align=8
+ base size=16 base align=8
+QThreadPool (0x7f1df0ea9cb0) 0
+ vptr=((& QThreadPool::_ZTV11QThreadPool) + 16u)
+ QObject (0x7f1df0ea9d20) 0
+ primary-for QThreadPool (0x7f1df0ea9cb0)
+
+Class QWaitCondition
+ size=8 align=8
+ base size=8 base align=8
+QWaitCondition (0x7f1df0ec3540) 0
+
+Class QtConcurrent::ThreadEngineSemaphore
+ size=24 align=8
+ base size=24 base align=8
+QtConcurrent::ThreadEngineSemaphore (0x7f1df0ec3a80) 0
+
+Vtable for QtConcurrent::ThreadEngineBase
+QtConcurrent::ThreadEngineBase::_ZTVN12QtConcurrent16ThreadEngineBaseE: 11u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN12QtConcurrent16ThreadEngineBaseE)
+16 QtConcurrent::ThreadEngineBase::run
+24 QtConcurrent::ThreadEngineBase::~ThreadEngineBase
+32 QtConcurrent::ThreadEngineBase::~ThreadEngineBase
+40 QtConcurrent::ThreadEngineBase::start
+48 QtConcurrent::ThreadEngineBase::finish
+56 QtConcurrent::ThreadEngineBase::threadFunction
+64 QtConcurrent::ThreadEngineBase::shouldStartThread
+72 QtConcurrent::ThreadEngineBase::shouldThrottleThread
+80 __cxa_pure_virtual
+
+Class QtConcurrent::ThreadEngineBase
+ size=64 align=8
+ base size=64 base align=8
+QtConcurrent::ThreadEngineBase (0x7f1df0ee1460) 0
+ vptr=((& QtConcurrent::ThreadEngineBase::_ZTVN12QtConcurrent16ThreadEngineBaseE) + 16u)
+ QRunnable (0x7f1df0ee14d0) 0
+ primary-for QtConcurrent::ThreadEngineBase (0x7f1df0ee1460)
+
+VTT for QtConcurrent::ThreadEngine<void>
+QtConcurrent::ThreadEngine<void>::_ZTTN12QtConcurrent12ThreadEngineIvEE: 2u entries
+0 ((& QtConcurrent::ThreadEngine<void>::_ZTVN12QtConcurrent12ThreadEngineIvEE) + 24u)
+8 ((& QtConcurrent::ThreadEngine<void>::_ZTVN12QtConcurrent12ThreadEngineIvEE) + 136u)
+
+Class std::input_iterator_tag
+ size=1 align=1
+ base size=0 base align=1
+std::input_iterator_tag (0x7f1df0f24850) 0 empty
+
+Class std::output_iterator_tag
+ size=1 align=1
+ base size=0 base align=1
+std::output_iterator_tag (0x7f1df0f248c0) 0 empty
+
+Class std::forward_iterator_tag
+ size=1 align=1
+ base size=1 base align=1
+std::forward_iterator_tag (0x7f1df0f24930) 0 empty
+ std::input_iterator_tag (0x7f1df0f249a0) 0 empty
+
+Class std::bidirectional_iterator_tag
+ size=1 align=1
+ base size=1 base align=1
+std::bidirectional_iterator_tag (0x7f1df0f24a10) 0 empty
+ std::forward_iterator_tag (0x7f1df0f24a80) 0 empty
+ std::input_iterator_tag (0x7f1df0f24af0) 0 empty
+
+Class std::random_access_iterator_tag
+ size=1 align=1
+ base size=1 base align=1
+std::random_access_iterator_tag (0x7f1df0f24b60) 0 empty
+ std::bidirectional_iterator_tag (0x7f1df0f24bd0) 0 empty
+ std::forward_iterator_tag (0x7f1df0f24c40) 0 empty
+ std::input_iterator_tag (0x7f1df0f24cb0) 0 empty
+
+Class std::__true_type
+ size=1 align=1
+ base size=0 base align=1
+std::__true_type (0x7f1df0d372a0) 0 empty
+
+Class std::__false_type
+ size=1 align=1
+ base size=0 base align=1
+std::__false_type (0x7f1df0d37310) 0 empty
+
+Class lconv
+ size=96 align=8
+ base size=96 base align=8
+lconv (0x7f1df0d13620) 0
+
+Class sched_param
+ size=4 align=4
+ base size=4 base align=4
+sched_param (0x7f1df0d13a80) 0
+
+Class __sched_param
+ size=4 align=4
+ base size=4 base align=4
+__sched_param (0x7f1df0d13af0) 0
+
+Class tm
+ size=56 align=8
+ base size=56 base align=8
+tm (0x7f1df0d13bd0) 0
+
+Class itimerspec
+ size=32 align=8
+ base size=32 base align=8
+itimerspec (0x7f1df0d13cb0) 0
+
+Class _pthread_cleanup_buffer
+ size=32 align=8
+ base size=32 base align=8
+_pthread_cleanup_buffer (0x7f1df0d13d20) 0
+
+Class __pthread_cleanup_frame
+ size=24 align=8
+ base size=24 base align=8
+__pthread_cleanup_frame (0x7f1df0d13e70) 0
+
+Class __pthread_cleanup_class
+ size=24 align=8
+ base size=24 base align=8
+__pthread_cleanup_class (0x7f1df0d13ee0) 0
+
+Vtable for __cxxabiv1::__forced_unwind
+__cxxabiv1::__forced_unwind::_ZTVN10__cxxabiv115__forced_unwindE: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN10__cxxabiv115__forced_unwindE)
+16 __cxxabiv1::__forced_unwind::~__forced_unwind
+24 __cxxabiv1::__forced_unwind::~__forced_unwind
+32 __cxa_pure_virtual
+
+Class __cxxabiv1::__forced_unwind
+ size=8 align=8
+ base size=8 base align=8
+__cxxabiv1::__forced_unwind (0x7f1df0a1ea80) 0 nearly-empty
+ vptr=((& __cxxabiv1::__forced_unwind::_ZTVN10__cxxabiv115__forced_unwindE) + 16u)
+
+Class std::locale
+ size=8 align=8
+ base size=8 base align=8
+std::locale (0x7f1df08d05b0) 0
+
+Vtable for std::locale::facet
+std::locale::facet::_ZTVNSt6locale5facetE: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTINSt6locale5facetE)
+16 std::locale::facet::~facet
+24 std::locale::facet::~facet
+
+Class std::locale::facet
+ size=16 align=8
+ base size=12 base align=8
+std::locale::facet (0x7f1df0773cb0) 0
+ vptr=((& std::locale::facet::_ZTVNSt6locale5facetE) + 16u)
+
+Class std::locale::id
+ size=8 align=8
+ base size=8 base align=8
+std::locale::id (0x7f1df07882a0) 0
+
+Class std::locale::_Impl
+ size=40 align=8
+ base size=40 base align=8
+std::locale::_Impl (0x7f1df07888c0) 0
+
+Vtable for std::ios_base::failure
+std::ios_base::failure::_ZTVNSt8ios_base7failureE: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTINSt8ios_base7failureE)
+16 std::ios_base::failure::~failure
+24 std::ios_base::failure::~failure
+32 std::ios_base::failure::what
+
+Class std::ios_base::failure
+ size=16 align=8
+ base size=16 base align=8
+std::ios_base::failure (0x7f1df0815070) 0
+ vptr=((& std::ios_base::failure::_ZTVNSt8ios_base7failureE) + 16u)
+ std::exception (0x7f1df08150e0) 0 nearly-empty
+ primary-for std::ios_base::failure (0x7f1df0815070)
+
+Class std::ios_base::_Callback_list
+ size=24 align=8
+ base size=24 base align=8
+std::ios_base::_Callback_list (0x7f1df0623310) 0
+
+Class std::ios_base::_Words
+ size=16 align=8
+ base size=16 base align=8
+std::ios_base::_Words (0x7f1df0623d90) 0
+
+Class std::ios_base::Init
+ size=1 align=1
+ base size=0 base align=1
+std::ios_base::Init (0x7f1df062b4d0) 0 empty
+
+Vtable for std::ios_base
+std::ios_base::_ZTVSt8ios_base: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt8ios_base)
+16 std::ios_base::~ios_base
+24 std::ios_base::~ios_base
+
+Class std::ios_base
+ size=216 align=8
+ base size=216 base align=8
+std::ios_base (0x7f1df0815000) 0
+ vptr=((& std::ios_base::_ZTVSt8ios_base) + 16u)
+
+Class std::ctype_base
+ size=1 align=1
+ base size=0 base align=1
+std::ctype_base (0x7f1df06a1930) 0 empty
+
+Class std::__num_base
+ size=1 align=1
+ base size=0 base align=1
+std::__num_base (0x7f1df05c71c0) 0 empty
+
+VTT for std::basic_ostream<char, std::char_traits<char> >
+std::basic_ostream<char, std::char_traits<char> >::_ZTTSo: 2u entries
+0 ((& std::basic_ostream<char, std::char_traits<char> >::_ZTVSo) + 24u)
+8 ((& std::basic_ostream<char, std::char_traits<char> >::_ZTVSo) + 64u)
+
+VTT for std::basic_ostream<wchar_t, std::char_traits<wchar_t> >
+std::basic_ostream<wchar_t, std::char_traits<wchar_t> >::_ZTTSt13basic_ostreamIwSt11char_traitsIwEE: 2u entries
+0 ((& std::basic_ostream<wchar_t, std::char_traits<wchar_t> >::_ZTVSt13basic_ostreamIwSt11char_traitsIwEE) + 24u)
+8 ((& std::basic_ostream<wchar_t, std::char_traits<wchar_t> >::_ZTVSt13basic_ostreamIwSt11char_traitsIwEE) + 64u)
+
+VTT for std::basic_istream<char, std::char_traits<char> >
+std::basic_istream<char, std::char_traits<char> >::_ZTTSi: 2u entries
+0 ((& std::basic_istream<char, std::char_traits<char> >::_ZTVSi) + 24u)
+8 ((& std::basic_istream<char, std::char_traits<char> >::_ZTVSi) + 64u)
+
+VTT for std::basic_istream<wchar_t, std::char_traits<wchar_t> >
+std::basic_istream<wchar_t, std::char_traits<wchar_t> >::_ZTTSt13basic_istreamIwSt11char_traitsIwEE: 2u entries
+0 ((& std::basic_istream<wchar_t, std::char_traits<wchar_t> >::_ZTVSt13basic_istreamIwSt11char_traitsIwEE) + 24u)
+8 ((& std::basic_istream<wchar_t, std::char_traits<wchar_t> >::_ZTVSt13basic_istreamIwSt11char_traitsIwEE) + 64u)
+
+Construction vtable for std::basic_istream<char, std::char_traits<char> > (0x7f1df02fb310 instance) in std::basic_iostream<char, std::char_traits<char> >
+std::basic_iostream<char, std::char_traits<char> >::_ZTCSd0_Si: 10u entries
+0 24u
+8 (int (*)(...))0
+16 (int (*)(...))(& _ZTISi)
+24 std::basic_istream<_CharT, _Traits>::~basic_istream [with _CharT = char, _Traits = std::char_traits<char>]
+32 std::basic_istream<_CharT, _Traits>::~basic_istream [with _CharT = char, _Traits = std::char_traits<char>]
+40 -24u
+48 (int (*)(...))-0x00000000000000018
+56 (int (*)(...))(& _ZTISi)
+64 std::basic_istream<char, std::char_traits<char> >::_ZTv0_n24_NSiD1Ev
+72 std::basic_istream<char, std::char_traits<char> >::_ZTv0_n24_NSiD0Ev
+
+Construction vtable for std::basic_ostream<char, std::char_traits<char> > (0x7f1df02fb460 instance) in std::basic_iostream<char, std::char_traits<char> >
+std::basic_iostream<char, std::char_traits<char> >::_ZTCSd16_So: 10u entries
+0 8u
+8 (int (*)(...))0
+16 (int (*)(...))(& _ZTISo)
+24 std::basic_ostream<_CharT, _Traits>::~basic_ostream [with _CharT = char, _Traits = std::char_traits<char>]
+32 std::basic_ostream<_CharT, _Traits>::~basic_ostream [with _CharT = char, _Traits = std::char_traits<char>]
+40 -8u
+48 (int (*)(...))-0x00000000000000008
+56 (int (*)(...))(& _ZTISo)
+64 std::basic_ostream<char, std::char_traits<char> >::_ZTv0_n24_NSoD1Ev
+72 std::basic_ostream<char, std::char_traits<char> >::_ZTv0_n24_NSoD0Ev
+
+VTT for std::basic_iostream<char, std::char_traits<char> >
+std::basic_iostream<char, std::char_traits<char> >::_ZTTSd: 7u entries
+0 ((& std::basic_iostream<char, std::char_traits<char> >::_ZTVSd) + 24u)
+8 ((& std::basic_iostream<char, std::char_traits<char> >::_ZTCSd0_Si) + 24u)
+16 ((& std::basic_iostream<char, std::char_traits<char> >::_ZTCSd0_Si) + 64u)
+24 ((& std::basic_iostream<char, std::char_traits<char> >::_ZTCSd16_So) + 24u)
+32 ((& std::basic_iostream<char, std::char_traits<char> >::_ZTCSd16_So) + 64u)
+40 ((& std::basic_iostream<char, std::char_traits<char> >::_ZTVSd) + 104u)
+48 ((& std::basic_iostream<char, std::char_traits<char> >::_ZTVSd) + 64u)
+
+Construction vtable for std::basic_istream<wchar_t, std::char_traits<wchar_t> > (0x7f1df02fb620 instance) in std::basic_iostream<wchar_t, std::char_traits<wchar_t> >
+std::basic_iostream<wchar_t, std::char_traits<wchar_t> >::_ZTCSt14basic_iostreamIwSt11char_traitsIwEE0_St13basic_istreamIwS1_E: 10u entries
+0 24u
+8 (int (*)(...))0
+16 (int (*)(...))(& _ZTISt13basic_istreamIwSt11char_traitsIwEE)
+24 std::basic_istream<_CharT, _Traits>::~basic_istream [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
+32 std::basic_istream<_CharT, _Traits>::~basic_istream [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
+40 -24u
+48 (int (*)(...))-0x00000000000000018
+56 (int (*)(...))(& _ZTISt13basic_istreamIwSt11char_traitsIwEE)
+64 std::basic_istream<wchar_t, std::char_traits<wchar_t> >::_ZTv0_n24_NSt13basic_istreamIwSt11char_traitsIwEED1Ev
+72 std::basic_istream<wchar_t, std::char_traits<wchar_t> >::_ZTv0_n24_NSt13basic_istreamIwSt11char_traitsIwEED0Ev
+
+Construction vtable for std::basic_ostream<wchar_t, std::char_traits<wchar_t> > (0x7f1df02fb770 instance) in std::basic_iostream<wchar_t, std::char_traits<wchar_t> >
+std::basic_iostream<wchar_t, std::char_traits<wchar_t> >::_ZTCSt14basic_iostreamIwSt11char_traitsIwEE16_St13basic_ostreamIwS1_E: 10u entries
+0 8u
+8 (int (*)(...))0
+16 (int (*)(...))(& _ZTISt13basic_ostreamIwSt11char_traitsIwEE)
+24 std::basic_ostream<_CharT, _Traits>::~basic_ostream [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
+32 std::basic_ostream<_CharT, _Traits>::~basic_ostream [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
+40 -8u
+48 (int (*)(...))-0x00000000000000008
+56 (int (*)(...))(& _ZTISt13basic_ostreamIwSt11char_traitsIwEE)
+64 std::basic_ostream<wchar_t, std::char_traits<wchar_t> >::_ZTv0_n24_NSt13basic_ostreamIwSt11char_traitsIwEED1Ev
+72 std::basic_ostream<wchar_t, std::char_traits<wchar_t> >::_ZTv0_n24_NSt13basic_ostreamIwSt11char_traitsIwEED0Ev
+
+VTT for std::basic_iostream<wchar_t, std::char_traits<wchar_t> >
+std::basic_iostream<wchar_t, std::char_traits<wchar_t> >::_ZTTSt14basic_iostreamIwSt11char_traitsIwEE: 7u entries
+0 ((& std::basic_iostream<wchar_t, std::char_traits<wchar_t> >::_ZTVSt14basic_iostreamIwSt11char_traitsIwEE) + 24u)
+8 ((& std::basic_iostream<wchar_t, std::char_traits<wchar_t> >::_ZTCSt14basic_iostreamIwSt11char_traitsIwEE0_St13basic_istreamIwS1_E) + 24u)
+16 ((& std::basic_iostream<wchar_t, std::char_traits<wchar_t> >::_ZTCSt14basic_iostreamIwSt11char_traitsIwEE0_St13basic_istreamIwS1_E) + 64u)
+24 ((& std::basic_iostream<wchar_t, std::char_traits<wchar_t> >::_ZTCSt14basic_iostreamIwSt11char_traitsIwEE16_St13basic_ostreamIwS1_E) + 24u)
+32 ((& std::basic_iostream<wchar_t, std::char_traits<wchar_t> >::_ZTCSt14basic_iostreamIwSt11char_traitsIwEE16_St13basic_ostreamIwS1_E) + 64u)
+40 ((& std::basic_iostream<wchar_t, std::char_traits<wchar_t> >::_ZTVSt14basic_iostreamIwSt11char_traitsIwEE) + 104u)
+48 ((& std::basic_iostream<wchar_t, std::char_traits<wchar_t> >::_ZTVSt14basic_iostreamIwSt11char_traitsIwEE) + 64u)
+
+Class QtConcurrent::BlockSizeManager
+ size=96 align=8
+ base size=92 base align=8
+QtConcurrent::BlockSizeManager (0x7f1df0166230) 0
+
+Vtable for QFutureWatcherBase
+QFutureWatcherBase::_ZTV18QFutureWatcherBase: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QFutureWatcherBase)
+16 QFutureWatcherBase::metaObject
+24 QFutureWatcherBase::qt_metacast
+32 QFutureWatcherBase::qt_metacall
+40 QFutureWatcherBase::~QFutureWatcherBase
+48 QFutureWatcherBase::~QFutureWatcherBase
+56 QFutureWatcherBase::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QFutureWatcherBase::connectNotify
+104 QFutureWatcherBase::disconnectNotify
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+
+Class QFutureWatcherBase
+ size=16 align=8
+ base size=16 base align=8
+QFutureWatcherBase (0x7f1defd32bd0) 0
+ vptr=((& QFutureWatcherBase::_ZTV18QFutureWatcherBase) + 16u)
+ QObject (0x7f1defd32c40) 0
+ primary-for QFutureWatcherBase (0x7f1defd32bd0)
+
+Vtable for QFactoryInterface
+QFactoryInterface::_ZTV17QFactoryInterface: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QFactoryInterface)
+16 QFactoryInterface::~QFactoryInterface
+24 QFactoryInterface::~QFactoryInterface
+32 __cxa_pure_virtual
+
+Class QFactoryInterface
+ size=8 align=8
+ base size=8 base align=8
+QFactoryInterface (0x7f1defc4ae00) 0 nearly-empty
+ vptr=((& QFactoryInterface::_ZTV17QFactoryInterface) + 16u)
+
+Vtable for QTextCodecFactoryInterface
+QTextCodecFactoryInterface::_ZTV26QTextCodecFactoryInterface: 6u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI26QTextCodecFactoryInterface)
+16 QTextCodecFactoryInterface::~QTextCodecFactoryInterface
+24 QTextCodecFactoryInterface::~QTextCodecFactoryInterface
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+
+Class QTextCodecFactoryInterface
+ size=8 align=8
+ base size=8 base align=8
+QTextCodecFactoryInterface (0x7f1defc6aee0) 0 nearly-empty
+ vptr=((& QTextCodecFactoryInterface::_ZTV26QTextCodecFactoryInterface) + 16u)
+ QFactoryInterface (0x7f1defc6af50) 0 nearly-empty
+ primary-for QTextCodecFactoryInterface (0x7f1defc6aee0)
+
+Vtable for QTextCodecPlugin
+QTextCodecPlugin::_ZTV16QTextCodecPlugin: 27u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QTextCodecPlugin)
+16 QTextCodecPlugin::metaObject
+24 QTextCodecPlugin::qt_metacast
+32 QTextCodecPlugin::qt_metacall
+40 QTextCodecPlugin::~QTextCodecPlugin
+48 QTextCodecPlugin::~QTextCodecPlugin
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 __cxa_pure_virtual
+136 __cxa_pure_virtual
+144 __cxa_pure_virtual
+152 QTextCodecPlugin::keys
+160 QTextCodecPlugin::create
+168 (int (*)(...))-0x00000000000000010
+176 (int (*)(...))(& _ZTI16QTextCodecPlugin)
+184 QTextCodecPlugin::_ZThn16_N16QTextCodecPluginD1Ev
+192 QTextCodecPlugin::_ZThn16_N16QTextCodecPluginD0Ev
+200 QTextCodecPlugin::_ZThn16_NK16QTextCodecPlugin4keysEv
+208 QTextCodecPlugin::_ZThn16_N16QTextCodecPlugin6createERK7QString
+
+Class QTextCodecPlugin
+ size=24 align=8
+ base size=24 base align=8
+QTextCodecPlugin (0x7f1defc70e00) 0
+ vptr=((& QTextCodecPlugin::_ZTV16QTextCodecPlugin) + 16u)
+ QObject (0x7f1defc767e0) 0
+ primary-for QTextCodecPlugin (0x7f1defc70e00)
+ QTextCodecFactoryInterface (0x7f1defc76850) 16 nearly-empty
+ vptr=((& QTextCodecPlugin::_ZTV16QTextCodecPlugin) + 184u)
+ QFactoryInterface (0x7f1defc768c0) 16 nearly-empty
+ primary-for QTextCodecFactoryInterface (0x7f1defc76850)
+
+Class QLibraryInfo
+ size=1 align=1
+ base size=0 base align=1
+QLibraryInfo (0x7f1defc8e700) 0 empty
+
+Vtable for QTranslator
+QTranslator::_ZTV11QTranslator: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QTranslator)
+16 QTranslator::metaObject
+24 QTranslator::qt_metacast
+32 QTranslator::qt_metacall
+40 QTranslator::~QTranslator
+48 QTranslator::~QTranslator
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QTranslator::translate
+120 QTranslator::isEmpty
+
+Class QTranslator
+ size=16 align=8
+ base size=16 base align=8
+QTranslator (0x7f1defcd1000) 0
+ vptr=((& QTranslator::_ZTV11QTranslator) + 16u)
+ QObject (0x7f1defcd1070) 0
+ primary-for QTranslator (0x7f1defcd1000)
+
+Class __exception
+ size=40 align=8
+ base size=40 base align=8
+__exception (0x7f1defce4f50) 0
+
+Vtable for QMimeData
+QMimeData::_ZTV9QMimeData: 17u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QMimeData)
+16 QMimeData::metaObject
+24 QMimeData::qt_metacast
+32 QMimeData::qt_metacall
+40 QMimeData::~QMimeData
+48 QMimeData::~QMimeData
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QMimeData::hasFormat
+120 QMimeData::formats
+128 QMimeData::retrieveData
+
+Class QMimeData
+ size=16 align=8
+ base size=16 base align=8
+QMimeData (0x7f1defb50150) 0
+ vptr=((& QMimeData::_ZTV9QMimeData) + 16u)
+ QObject (0x7f1defb501c0) 0
+ primary-for QMimeData (0x7f1defb50150)
+
+Vtable for QEventLoop
+QEventLoop::_ZTV10QEventLoop: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QEventLoop)
+16 QEventLoop::metaObject
+24 QEventLoop::qt_metacast
+32 QEventLoop::qt_metacall
+40 QEventLoop::~QEventLoop
+48 QEventLoop::~QEventLoop
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QEventLoop
+ size=16 align=8
+ base size=16 base align=8
+QEventLoop (0x7f1defb679a0) 0
+ vptr=((& QEventLoop::_ZTV10QEventLoop) + 16u)
+ QObject (0x7f1defb67a10) 0
+ primary-for QEventLoop (0x7f1defb679a0)
+
+Vtable for QEvent
+QEvent::_ZTV6QEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI6QEvent)
+16 QEvent::~QEvent
+24 QEvent::~QEvent
+
+Class QEvent
+ size=24 align=8
+ base size=20 base align=8
+QEvent (0x7f1defba7310) 0
+ vptr=((& QEvent::_ZTV6QEvent) + 16u)
+
+Vtable for QTimerEvent
+QTimerEvent::_ZTV11QTimerEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QTimerEvent)
+16 QTimerEvent::~QTimerEvent
+24 QTimerEvent::~QTimerEvent
+
+Class QTimerEvent
+ size=24 align=8
+ base size=24 base align=8
+QTimerEvent (0x7f1defbc1ee0) 0
+ vptr=((& QTimerEvent::_ZTV11QTimerEvent) + 16u)
+ QEvent (0x7f1defbc1f50) 0
+ primary-for QTimerEvent (0x7f1defbc1ee0)
+
+Vtable for QChildEvent
+QChildEvent::_ZTV11QChildEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QChildEvent)
+16 QChildEvent::~QChildEvent
+24 QChildEvent::~QChildEvent
+
+Class QChildEvent
+ size=32 align=8
+ base size=32 base align=8
+QChildEvent (0x7f1defbc4380) 0
+ vptr=((& QChildEvent::_ZTV11QChildEvent) + 16u)
+ QEvent (0x7f1defbc43f0) 0
+ primary-for QChildEvent (0x7f1defbc4380)
+
+Vtable for QCustomEvent
+QCustomEvent::_ZTV12QCustomEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QCustomEvent)
+16 QCustomEvent::~QCustomEvent
+24 QCustomEvent::~QCustomEvent
+
+Class QCustomEvent
+ size=24 align=8
+ base size=20 base align=8
+QCustomEvent (0x7f1defbd7620) 0
+ vptr=((& QCustomEvent::_ZTV12QCustomEvent) + 16u)
+ QEvent (0x7f1defbd7690) 0
+ primary-for QCustomEvent (0x7f1defbd7620)
+
+Vtable for QDynamicPropertyChangeEvent
+QDynamicPropertyChangeEvent::_ZTV27QDynamicPropertyChangeEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI27QDynamicPropertyChangeEvent)
+16 QDynamicPropertyChangeEvent::~QDynamicPropertyChangeEvent
+24 QDynamicPropertyChangeEvent::~QDynamicPropertyChangeEvent
+
+Class QDynamicPropertyChangeEvent
+ size=32 align=8
+ base size=32 base align=8
+QDynamicPropertyChangeEvent (0x7f1defbd7e00) 0
+ vptr=((& QDynamicPropertyChangeEvent::_ZTV27QDynamicPropertyChangeEvent) + 16u)
+ QEvent (0x7f1defbd7e70) 0
+ primary-for QDynamicPropertyChangeEvent (0x7f1defbd7e00)
+
+Vtable for QCoreApplication
+QCoreApplication::_ZTV16QCoreApplication: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QCoreApplication)
+16 QCoreApplication::metaObject
+24 QCoreApplication::qt_metacast
+32 QCoreApplication::qt_metacall
+40 QCoreApplication::~QCoreApplication
+48 QCoreApplication::~QCoreApplication
+56 QCoreApplication::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QCoreApplication::notify
+120 QCoreApplication::compressEvent
+
+Class QCoreApplication
+ size=16 align=8
+ base size=16 base align=8
+QCoreApplication (0x7f1defbe5230) 0
+ vptr=((& QCoreApplication::_ZTV16QCoreApplication) + 16u)
+ QObject (0x7f1defbe52a0) 0
+ primary-for QCoreApplication (0x7f1defbe5230)
+
+Vtable for QSharedMemory
+QSharedMemory::_ZTV13QSharedMemory: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QSharedMemory)
+16 QSharedMemory::metaObject
+24 QSharedMemory::qt_metacast
+32 QSharedMemory::qt_metacall
+40 QSharedMemory::~QSharedMemory
+48 QSharedMemory::~QSharedMemory
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QSharedMemory
+ size=16 align=8
+ base size=16 base align=8
+QSharedMemory (0x7f1defc12a80) 0
+ vptr=((& QSharedMemory::_ZTV13QSharedMemory) + 16u)
+ QObject (0x7f1defc12af0) 0
+ primary-for QSharedMemory (0x7f1defc12a80)
+
+Class QModelIndex
+ size=24 align=8
+ base size=24 base align=8
+QModelIndex (0x7f1defa2f850) 0
+
+Class QPersistentModelIndex
+ size=8 align=8
+ base size=8 base align=8
+QPersistentModelIndex (0x7f1defa58310) 0
+
+Vtable for QAbstractItemModel
+QAbstractItemModel::_ZTV18QAbstractItemModel: 42u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QAbstractItemModel)
+16 QAbstractItemModel::metaObject
+24 QAbstractItemModel::qt_metacast
+32 QAbstractItemModel::qt_metacall
+40 QAbstractItemModel::~QAbstractItemModel
+48 QAbstractItemModel::~QAbstractItemModel
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 __cxa_pure_virtual
+136 __cxa_pure_virtual
+144 QAbstractItemModel::hasChildren
+152 __cxa_pure_virtual
+160 QAbstractItemModel::setData
+168 QAbstractItemModel::headerData
+176 QAbstractItemModel::setHeaderData
+184 QAbstractItemModel::itemData
+192 QAbstractItemModel::setItemData
+200 QAbstractItemModel::mimeTypes
+208 QAbstractItemModel::mimeData
+216 QAbstractItemModel::dropMimeData
+224 QAbstractItemModel::supportedDropActions
+232 QAbstractItemModel::insertRows
+240 QAbstractItemModel::insertColumns
+248 QAbstractItemModel::removeRows
+256 QAbstractItemModel::removeColumns
+264 QAbstractItemModel::fetchMore
+272 QAbstractItemModel::canFetchMore
+280 QAbstractItemModel::flags
+288 QAbstractItemModel::sort
+296 QAbstractItemModel::buddy
+304 QAbstractItemModel::match
+312 QAbstractItemModel::span
+320 QAbstractItemModel::submit
+328 QAbstractItemModel::revert
+
+Class QAbstractItemModel
+ size=16 align=8
+ base size=16 base align=8
+QAbstractItemModel (0x7f1defa655b0) 0
+ vptr=((& QAbstractItemModel::_ZTV18QAbstractItemModel) + 16u)
+ QObject (0x7f1defa65620) 0
+ primary-for QAbstractItemModel (0x7f1defa655b0)
+
+Vtable for QAbstractTableModel
+QAbstractTableModel::_ZTV19QAbstractTableModel: 42u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QAbstractTableModel)
+16 QAbstractTableModel::metaObject
+24 QAbstractTableModel::qt_metacast
+32 QAbstractTableModel::qt_metacall
+40 QAbstractTableModel::~QAbstractTableModel
+48 QAbstractTableModel::~QAbstractTableModel
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QAbstractTableModel::index
+120 QAbstractTableModel::parent
+128 __cxa_pure_virtual
+136 __cxa_pure_virtual
+144 QAbstractTableModel::hasChildren
+152 __cxa_pure_virtual
+160 QAbstractItemModel::setData
+168 QAbstractItemModel::headerData
+176 QAbstractItemModel::setHeaderData
+184 QAbstractItemModel::itemData
+192 QAbstractItemModel::setItemData
+200 QAbstractItemModel::mimeTypes
+208 QAbstractItemModel::mimeData
+216 QAbstractTableModel::dropMimeData
+224 QAbstractItemModel::supportedDropActions
+232 QAbstractItemModel::insertRows
+240 QAbstractItemModel::insertColumns
+248 QAbstractItemModel::removeRows
+256 QAbstractItemModel::removeColumns
+264 QAbstractItemModel::fetchMore
+272 QAbstractItemModel::canFetchMore
+280 QAbstractItemModel::flags
+288 QAbstractItemModel::sort
+296 QAbstractItemModel::buddy
+304 QAbstractItemModel::match
+312 QAbstractItemModel::span
+320 QAbstractItemModel::submit
+328 QAbstractItemModel::revert
+
+Class QAbstractTableModel
+ size=16 align=8
+ base size=16 base align=8
+QAbstractTableModel (0x7f1defab9930) 0
+ vptr=((& QAbstractTableModel::_ZTV19QAbstractTableModel) + 16u)
+ QAbstractItemModel (0x7f1defab99a0) 0
+ primary-for QAbstractTableModel (0x7f1defab9930)
+ QObject (0x7f1defab9a10) 0
+ primary-for QAbstractItemModel (0x7f1defab99a0)
+
+Vtable for QAbstractListModel
+QAbstractListModel::_ZTV18QAbstractListModel: 42u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QAbstractListModel)
+16 QAbstractListModel::metaObject
+24 QAbstractListModel::qt_metacast
+32 QAbstractListModel::qt_metacall
+40 QAbstractListModel::~QAbstractListModel
+48 QAbstractListModel::~QAbstractListModel
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QAbstractListModel::index
+120 QAbstractListModel::parent
+128 __cxa_pure_virtual
+136 QAbstractListModel::columnCount
+144 QAbstractListModel::hasChildren
+152 __cxa_pure_virtual
+160 QAbstractItemModel::setData
+168 QAbstractItemModel::headerData
+176 QAbstractItemModel::setHeaderData
+184 QAbstractItemModel::itemData
+192 QAbstractItemModel::setItemData
+200 QAbstractItemModel::mimeTypes
+208 QAbstractItemModel::mimeData
+216 QAbstractListModel::dropMimeData
+224 QAbstractItemModel::supportedDropActions
+232 QAbstractItemModel::insertRows
+240 QAbstractItemModel::insertColumns
+248 QAbstractItemModel::removeRows
+256 QAbstractItemModel::removeColumns
+264 QAbstractItemModel::fetchMore
+272 QAbstractItemModel::canFetchMore
+280 QAbstractItemModel::flags
+288 QAbstractItemModel::sort
+296 QAbstractItemModel::buddy
+304 QAbstractItemModel::match
+312 QAbstractItemModel::span
+320 QAbstractItemModel::submit
+328 QAbstractItemModel::revert
+
+Class QAbstractListModel
+ size=16 align=8
+ base size=16 base align=8
+QAbstractListModel (0x7f1defac5ee0) 0
+ vptr=((& QAbstractListModel::_ZTV18QAbstractListModel) + 16u)
+ QAbstractItemModel (0x7f1defac5f50) 0
+ primary-for QAbstractListModel (0x7f1defac5ee0)
+ QObject (0x7f1defac5230) 0
+ primary-for QAbstractItemModel (0x7f1defac5f50)
+
+Vtable for QSignalMapper
+QSignalMapper::_ZTV13QSignalMapper: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QSignalMapper)
+16 QSignalMapper::metaObject
+24 QSignalMapper::qt_metacast
+32 QSignalMapper::qt_metacall
+40 QSignalMapper::~QSignalMapper
+48 QSignalMapper::~QSignalMapper
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QSignalMapper
+ size=16 align=8
+ base size=16 base align=8
+QSignalMapper (0x7f1defb06000) 0
+ vptr=((& QSignalMapper::_ZTV13QSignalMapper) + 16u)
+ QObject (0x7f1defb06070) 0
+ primary-for QSignalMapper (0x7f1defb06000)
+
+Vtable for QObjectCleanupHandler
+QObjectCleanupHandler::_ZTV21QObjectCleanupHandler: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI21QObjectCleanupHandler)
+16 QObjectCleanupHandler::metaObject
+24 QObjectCleanupHandler::qt_metacast
+32 QObjectCleanupHandler::qt_metacall
+40 QObjectCleanupHandler::~QObjectCleanupHandler
+48 QObjectCleanupHandler::~QObjectCleanupHandler
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QObjectCleanupHandler
+ size=24 align=8
+ base size=24 base align=8
+QObjectCleanupHandler (0x7f1def9203f0) 0
+ vptr=((& QObjectCleanupHandler::_ZTV21QObjectCleanupHandler) + 16u)
+ QObject (0x7f1def920460) 0
+ primary-for QObjectCleanupHandler (0x7f1def9203f0)
+
+Class QBasicTimer
+ size=4 align=4
+ base size=4 base align=4
+QBasicTimer (0x7f1def92f540) 0
+
+Vtable for QSocketNotifier
+QSocketNotifier::_ZTV15QSocketNotifier: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QSocketNotifier)
+16 QSocketNotifier::metaObject
+24 QSocketNotifier::qt_metacast
+32 QSocketNotifier::qt_metacall
+40 QSocketNotifier::~QSocketNotifier
+48 QSocketNotifier::~QSocketNotifier
+56 QSocketNotifier::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QSocketNotifier
+ size=32 align=8
+ base size=25 base align=8
+QSocketNotifier (0x7f1def939930) 0
+ vptr=((& QSocketNotifier::_ZTV15QSocketNotifier) + 16u)
+ QObject (0x7f1def9399a0) 0
+ primary-for QSocketNotifier (0x7f1def939930)
+
+Vtable for QTimer
+QTimer::_ZTV6QTimer: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI6QTimer)
+16 QTimer::metaObject
+24 QTimer::qt_metacast
+32 QTimer::qt_metacall
+40 QTimer::~QTimer
+48 QTimer::~QTimer
+56 QObject::event
+64 QObject::eventFilter
+72 QTimer::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QTimer
+ size=32 align=8
+ base size=29 base align=8
+QTimer (0x7f1def955cb0) 0
+ vptr=((& QTimer::_ZTV6QTimer) + 16u)
+ QObject (0x7f1def955d20) 0
+ primary-for QTimer (0x7f1def955cb0)
+
+Vtable for QAbstractEventDispatcher
+QAbstractEventDispatcher::_ZTV24QAbstractEventDispatcher: 27u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI24QAbstractEventDispatcher)
+16 QAbstractEventDispatcher::metaObject
+24 QAbstractEventDispatcher::qt_metacast
+32 QAbstractEventDispatcher::qt_metacall
+40 QAbstractEventDispatcher::~QAbstractEventDispatcher
+48 QAbstractEventDispatcher::~QAbstractEventDispatcher
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 __cxa_pure_virtual
+136 __cxa_pure_virtual
+144 __cxa_pure_virtual
+152 __cxa_pure_virtual
+160 __cxa_pure_virtual
+168 __cxa_pure_virtual
+176 __cxa_pure_virtual
+184 __cxa_pure_virtual
+192 __cxa_pure_virtual
+200 QAbstractEventDispatcher::startingUp
+208 QAbstractEventDispatcher::closingDown
+
+Class QAbstractEventDispatcher
+ size=16 align=8
+ base size=16 base align=8
+QAbstractEventDispatcher (0x7f1def9782a0) 0
+ vptr=((& QAbstractEventDispatcher::_ZTV24QAbstractEventDispatcher) + 16u)
+ QObject (0x7f1def978310) 0
+ primary-for QAbstractEventDispatcher (0x7f1def9782a0)
+
+Class QMetaMethod
+ size=16 align=8
+ base size=12 base align=8
+QMetaMethod (0x7f1def993150) 0
+
+Class QMetaEnum
+ size=16 align=8
+ base size=12 base align=8
+QMetaEnum (0x7f1def9af5b0) 0
+
+Class QMetaProperty
+ size=32 align=8
+ base size=32 base align=8
+QMetaProperty (0x7f1def9bb310) 0
+
+Class QMetaClassInfo
+ size=16 align=8
+ base size=12 base align=8
+QMetaClassInfo (0x7f1def9bb9a0) 0
+
+Class QSystemSemaphore
+ size=8 align=8
+ base size=8 base align=8
+QSystemSemaphore (0x7f1def9ce4d0) 0
+
+Vtable for QLibrary
+QLibrary::_ZTV8QLibrary: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI8QLibrary)
+16 QLibrary::metaObject
+24 QLibrary::qt_metacast
+32 QLibrary::qt_metacall
+40 QLibrary::~QLibrary
+48 QLibrary::~QLibrary
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QLibrary
+ size=32 align=8
+ base size=25 base align=8
+QLibrary (0x7f1def9cee00) 0
+ vptr=((& QLibrary::_ZTV8QLibrary) + 16u)
+ QObject (0x7f1def9cee70) 0
+ primary-for QLibrary (0x7f1def9cee00)
+
+Vtable for QPluginLoader
+QPluginLoader::_ZTV13QPluginLoader: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QPluginLoader)
+16 QPluginLoader::metaObject
+24 QPluginLoader::qt_metacast
+32 QPluginLoader::qt_metacall
+40 QPluginLoader::~QPluginLoader
+48 QPluginLoader::~QPluginLoader
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QPluginLoader
+ size=32 align=8
+ base size=25 base align=8
+QPluginLoader (0x7f1defa158c0) 0
+ vptr=((& QPluginLoader::_ZTV13QPluginLoader) + 16u)
+ QObject (0x7f1defa15930) 0
+ primary-for QPluginLoader (0x7f1defa158c0)
+
+Class QUuid
+ size=16 align=4
+ base size=16 base align=4
+QUuid (0x7f1def836070) 0
+
+Class QSemaphore
+ size=8 align=8
+ base size=8 base align=8
+QSemaphore (0x7f1def8569a0) 0
+
+Class QThreadStorageData
+ size=4 align=4
+ base size=4 base align=4
+QThreadStorageData (0x7f1def856ee0) 0
+
+Class QReadWriteLock
+ size=8 align=8
+ base size=8 base align=8
+QReadWriteLock (0x7f1def867690) 0
+
+Class QReadLocker
+ size=8 align=8
+ base size=8 base align=8
+QReadLocker (0x7f1def867d20) 0
+
+Class QWriteLocker
+ size=8 align=8
+ base size=8 base align=8
+QWriteLocker (0x7f1def8980e0) 0
+
+Class QColor
+ size=16 align=4
+ base size=14 base align=4
+QColor (0x7f1def8b2e70) 0
+
+Class QFont
+ size=16 align=8
+ base size=12 base align=8
+QFont (0x7f1def9090e0) 0
+
+Class QPolygon
+ size=8 align=8
+ base size=8 base align=8
+QPolygon (0x7f1def742ee0) 0
+ QVector<QPoint> (0x7f1def742f50) 0
+
+Class QPolygonF
+ size=8 align=8
+ base size=8 base align=8
+QPolygonF (0x7f1def7a9070) 0
+ QVector<QPointF> (0x7f1def7a90e0) 0
+
+Class QRegion::QRegionData
+ size=32 align=8
+ base size=32 base align=8
+QRegion::QRegionData (0x7f1def7e35b0) 0
+
+Class QRegion
+ size=8 align=8
+ base size=8 base align=8
+QRegion (0x7f1def7c1cb0) 0
+
+Class QMatrix
+ size=48 align=8
+ base size=48 base align=8
+QMatrix (0x7f1def7f6e00) 0
+
+Class QPainterPath::Element
+ size=24 align=8
+ base size=24 base align=8
+QPainterPath::Element (0x7f1def62c850) 0
+
+Class QPainterPath
+ size=8 align=8
+ base size=8 base align=8
+QPainterPath (0x7f1def62c7e0) 0
+
+Class QPainterPathPrivate
+ size=16 align=8
+ base size=16 base align=8
+QPainterPathPrivate (0x7f1def670bd0) 0
+
+Class QPainterPathStroker
+ size=8 align=8
+ base size=8 base align=8
+QPainterPathStroker (0x7f1def679770) 0
+
+Class QTransform
+ size=88 align=8
+ base size=88 base align=8
+QTransform (0x7f1def6dd310) 0
+
+Vtable for QPaintDevice
+QPaintDevice::_ZTV12QPaintDevice: 7u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QPaintDevice)
+16 QPaintDevice::~QPaintDevice
+24 QPaintDevice::~QPaintDevice
+32 QPaintDevice::devType
+40 __cxa_pure_virtual
+48 QPaintDevice::metric
+
+Class QPaintDevice
+ size=16 align=8
+ base size=10 base align=8
+QPaintDevice (0x7f1def554620) 0
+ vptr=((& QPaintDevice::_ZTV12QPaintDevice) + 16u)
+
+Class QImageTextKeyLang
+ size=16 align=8
+ base size=16 base align=8
+QImageTextKeyLang (0x7f1def578f50) 0
+
+Vtable for QImage
+QImage::_ZTV6QImage: 7u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI6QImage)
+16 QImage::~QImage
+24 QImage::~QImage
+32 QImage::devType
+40 QImage::paintEngine
+48 QImage::metric
+
+Class QImage
+ size=24 align=8
+ base size=24 base align=8
+QImage (0x7f1def5a77e0) 0
+ vptr=((& QImage::_ZTV6QImage) + 16u)
+ QPaintDevice (0x7f1def5a7850) 0
+ primary-for QImage (0x7f1def5a77e0)
+
+Vtable for QPixmap
+QPixmap::_ZTV7QPixmap: 7u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QPixmap)
+16 QPixmap::~QPixmap
+24 QPixmap::~QPixmap
+32 QPixmap::devType
+40 QPixmap::paintEngine
+48 QPixmap::metric
+
+Class QPixmap
+ size=24 align=8
+ base size=24 base align=8
+QPixmap (0x7f1def448230) 0
+ vptr=((& QPixmap::_ZTV7QPixmap) + 16u)
+ QPaintDevice (0x7f1def4482a0) 0
+ primary-for QPixmap (0x7f1def448230)
+
+Class QBrush
+ size=8 align=8
+ base size=8 base align=8
+QBrush (0x7f1def4953f0) 0
+
+Class QBrushData
+ size=112 align=8
+ base size=112 base align=8
+QBrushData (0x7f1def4b8000) 0
+
+Class QGradient
+ size=64 align=8
+ base size=64 base align=8
+QGradient (0x7f1def4c91c0) 0
+
+Class QLinearGradient
+ size=64 align=8
+ base size=64 base align=8
+QLinearGradient (0x7f1def4d9cb0) 0
+ QGradient (0x7f1def4d9d20) 0
+
+Class QRadialGradient
+ size=64 align=8
+ base size=64 base align=8
+QRadialGradient (0x7f1def505150) 0
+ QGradient (0x7f1def5051c0) 0
+
+Class QConicalGradient
+ size=64 align=8
+ base size=64 base align=8
+QConicalGradient (0x7f1def505700) 0
+ QGradient (0x7f1def505770) 0
+
+Class QPen
+ size=8 align=8
+ base size=8 base align=8
+QPen (0x7f1def505a80) 0
+
+Class QTextOption::Tab
+ size=16 align=8
+ base size=14 base align=8
+QTextOption::Tab (0x7f1def2ae230) 0
+
+Class QTextOption
+ size=32 align=8
+ base size=32 base align=8
+QTextOption (0x7f1def2ae1c0) 0
+
+Class QTextLength
+ size=16 align=8
+ base size=16 base align=8
+QTextLength (0x7f1def30a620) 0
+
+Class QTextFormat
+ size=16 align=8
+ base size=12 base align=8
+QTextFormat (0x7f1def3259a0) 0
+
+Class QTextCharFormat
+ size=16 align=8
+ base size=12 base align=8
+QTextCharFormat (0x7f1def1cea10) 0
+ QTextFormat (0x7f1def1cea80) 0
+
+Class QTextBlockFormat
+ size=16 align=8
+ base size=12 base align=8
+QTextBlockFormat (0x7f1def23a690) 0
+ QTextFormat (0x7f1def23a700) 0
+
+Class QTextListFormat
+ size=16 align=8
+ base size=12 base align=8
+QTextListFormat (0x7f1def25bcb0) 0
+ QTextFormat (0x7f1def25bd20) 0
+
+Class QTextImageFormat
+ size=16 align=8
+ base size=12 base align=8
+QTextImageFormat (0x7f1def26c1c0) 0
+ QTextCharFormat (0x7f1def26c230) 0
+ QTextFormat (0x7f1def26c2a0) 0
+
+Class QTextFrameFormat
+ size=16 align=8
+ base size=12 base align=8
+QTextFrameFormat (0x7f1def2788c0) 0
+ QTextFormat (0x7f1def278930) 0
+
+Class QTextTableFormat
+ size=16 align=8
+ base size=12 base align=8
+QTextTableFormat (0x7f1def0ad7e0) 0
+ QTextFrameFormat (0x7f1def0ad850) 0
+ QTextFormat (0x7f1def0ad8c0) 0
+
+Class QTextTableCellFormat
+ size=16 align=8
+ base size=12 base align=8
+QTextTableCellFormat (0x7f1def0c8690) 0
+ QTextCharFormat (0x7f1def0c8700) 0
+ QTextFormat (0x7f1def0c8770) 0
+
+Vtable for QTextObject
+QTextObject::_ZTV11QTextObject: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QTextObject)
+16 QTextObject::metaObject
+24 QTextObject::qt_metacast
+32 QTextObject::qt_metacall
+40 QTextObject::~QTextObject
+48 QTextObject::~QTextObject
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QTextObject
+ size=16 align=8
+ base size=16 base align=8
+QTextObject (0x7f1def0deb60) 0
+ vptr=((& QTextObject::_ZTV11QTextObject) + 16u)
+ QObject (0x7f1def0debd0) 0
+ primary-for QTextObject (0x7f1def0deb60)
+
+Vtable for QTextBlockGroup
+QTextBlockGroup::_ZTV15QTextBlockGroup: 17u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QTextBlockGroup)
+16 QTextBlockGroup::metaObject
+24 QTextBlockGroup::qt_metacast
+32 QTextBlockGroup::qt_metacall
+40 QTextBlockGroup::~QTextBlockGroup
+48 QTextBlockGroup::~QTextBlockGroup
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QTextBlockGroup::blockInserted
+120 QTextBlockGroup::blockRemoved
+128 QTextBlockGroup::blockFormatChanged
+
+Class QTextBlockGroup
+ size=16 align=8
+ base size=16 base align=8
+QTextBlockGroup (0x7f1def0f73f0) 0
+ vptr=((& QTextBlockGroup::_ZTV15QTextBlockGroup) + 16u)
+ QTextObject (0x7f1def0f7460) 0
+ primary-for QTextBlockGroup (0x7f1def0f73f0)
+ QObject (0x7f1def0f74d0) 0
+ primary-for QTextObject (0x7f1def0f7460)
+
+Vtable for QTextFrameLayoutData
+QTextFrameLayoutData::_ZTV20QTextFrameLayoutData: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI20QTextFrameLayoutData)
+16 QTextFrameLayoutData::~QTextFrameLayoutData
+24 QTextFrameLayoutData::~QTextFrameLayoutData
+
+Class QTextFrameLayoutData
+ size=8 align=8
+ base size=8 base align=8
+QTextFrameLayoutData (0x7f1def108cb0) 0 nearly-empty
+ vptr=((& QTextFrameLayoutData::_ZTV20QTextFrameLayoutData) + 16u)
+
+Class QTextFrame::iterator
+ size=32 align=8
+ base size=28 base align=8
+QTextFrame::iterator (0x7f1def112700) 0
+
+Vtable for QTextFrame
+QTextFrame::_ZTV10QTextFrame: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QTextFrame)
+16 QTextFrame::metaObject
+24 QTextFrame::qt_metacast
+32 QTextFrame::qt_metacall
+40 QTextFrame::~QTextFrame
+48 QTextFrame::~QTextFrame
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QTextFrame
+ size=16 align=8
+ base size=16 base align=8
+QTextFrame (0x7f1def108e00) 0
+ vptr=((& QTextFrame::_ZTV10QTextFrame) + 16u)
+ QTextObject (0x7f1def108e70) 0
+ primary-for QTextFrame (0x7f1def108e00)
+ QObject (0x7f1def108ee0) 0
+ primary-for QTextObject (0x7f1def108e70)
+
+Vtable for QTextBlockUserData
+QTextBlockUserData::_ZTV18QTextBlockUserData: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QTextBlockUserData)
+16 QTextBlockUserData::~QTextBlockUserData
+24 QTextBlockUserData::~QTextBlockUserData
+
+Class QTextBlockUserData
+ size=8 align=8
+ base size=8 base align=8
+QTextBlockUserData (0x7f1def145850) 0 nearly-empty
+ vptr=((& QTextBlockUserData::_ZTV18QTextBlockUserData) + 16u)
+
+Class QTextBlock::iterator
+ size=24 align=8
+ base size=20 base align=8
+QTextBlock::iterator (0x7f1def1511c0) 0
+
+Class QTextBlock
+ size=16 align=8
+ base size=12 base align=8
+QTextBlock (0x7f1def1459a0) 0
+
+Class QTextFragment
+ size=16 align=8
+ base size=16 base align=8
+QTextFragment (0x7f1def189310) 0
+
+Class QFontMetrics
+ size=8 align=8
+ base size=8 base align=8
+QFontMetrics (0x7f1deefa54d0) 0
+
+Class QFontMetricsF
+ size=8 align=8
+ base size=8 base align=8
+QFontMetricsF (0x7f1deefbd930) 0
+
+Class QFontDatabase
+ size=8 align=8
+ base size=8 base align=8
+QFontDatabase (0x7f1deefc9850) 0
+
+Vtable for QAbstractUndoItem
+QAbstractUndoItem::_ZTV17QAbstractUndoItem: 6u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QAbstractUndoItem)
+16 __cxa_pure_virtual
+24 __cxa_pure_virtual
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+
+Class QAbstractUndoItem
+ size=8 align=8
+ base size=8 base align=8
+QAbstractUndoItem (0x7f1deefdf850) 0 nearly-empty
+ vptr=((& QAbstractUndoItem::_ZTV17QAbstractUndoItem) + 16u)
+
+Vtable for QTextDocument
+QTextDocument::_ZTV13QTextDocument: 17u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QTextDocument)
+16 QTextDocument::metaObject
+24 QTextDocument::qt_metacast
+32 QTextDocument::qt_metacall
+40 QTextDocument::~QTextDocument
+48 QTextDocument::~QTextDocument
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QTextDocument::clear
+120 QTextDocument::createObject
+128 QTextDocument::loadResource
+
+Class QTextDocument
+ size=16 align=8
+ base size=16 base align=8
+QTextDocument (0x7f1deeff42a0) 0
+ vptr=((& QTextDocument::_ZTV13QTextDocument) + 16u)
+ QObject (0x7f1deeff4310) 0
+ primary-for QTextDocument (0x7f1deeff42a0)
+
+Class QTextTableCell
+ size=16 align=8
+ base size=12 base align=8
+QTextTableCell (0x7f1def0542a0) 0
+
+Vtable for QTextTable
+QTextTable::_ZTV10QTextTable: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QTextTable)
+16 QTextTable::metaObject
+24 QTextTable::qt_metacast
+32 QTextTable::qt_metacall
+40 QTextTable::~QTextTable
+48 QTextTable::~QTextTable
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QTextTable
+ size=16 align=8
+ base size=16 base align=8
+QTextTable (0x7f1def06d3f0) 0
+ vptr=((& QTextTable::_ZTV10QTextTable) + 16u)
+ QTextFrame (0x7f1def06d460) 0
+ primary-for QTextTable (0x7f1def06d3f0)
+ QTextObject (0x7f1def06d4d0) 0
+ primary-for QTextFrame (0x7f1def06d460)
+ QObject (0x7f1def06d540) 0
+ primary-for QTextObject (0x7f1def06d4d0)
+
+Class QTextDocumentWriter
+ size=8 align=8
+ base size=8 base align=8
+QTextDocumentWriter (0x7f1def088bd0) 0
+
+Class QKeySequence
+ size=8 align=8
+ base size=8 base align=8
+QKeySequence (0x7f1deee922a0) 0
+
+Vtable for QMimeSource
+QMimeSource::_ZTV11QMimeSource: 7u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QMimeSource)
+16 QMimeSource::~QMimeSource
+24 QMimeSource::~QMimeSource
+32 __cxa_pure_virtual
+40 QMimeSource::provides
+48 __cxa_pure_virtual
+
+Class QMimeSource
+ size=8 align=8
+ base size=8 base align=8
+QMimeSource (0x7f1deeeafe70) 0 nearly-empty
+ vptr=((& QMimeSource::_ZTV11QMimeSource) + 16u)
+
+Vtable for QDrag
+QDrag::_ZTV5QDrag: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI5QDrag)
+16 QDrag::metaObject
+24 QDrag::qt_metacast
+32 QDrag::qt_metacall
+40 QDrag::~QDrag
+48 QDrag::~QDrag
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QDrag
+ size=16 align=8
+ base size=16 base align=8
+QDrag (0x7f1deeeaff50) 0
+ vptr=((& QDrag::_ZTV5QDrag) + 16u)
+ QObject (0x7f1deeedc000) 0
+ primary-for QDrag (0x7f1deeeaff50)
+
+Vtable for QInputEvent
+QInputEvent::_ZTV11QInputEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QInputEvent)
+16 QInputEvent::~QInputEvent
+24 QInputEvent::~QInputEvent
+
+Class QInputEvent
+ size=24 align=8
+ base size=24 base align=8
+QInputEvent (0x7f1deeef0770) 0
+ vptr=((& QInputEvent::_ZTV11QInputEvent) + 16u)
+ QEvent (0x7f1deeef07e0) 0
+ primary-for QInputEvent (0x7f1deeef0770)
+
+Vtable for QMouseEvent
+QMouseEvent::_ZTV11QMouseEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QMouseEvent)
+16 QMouseEvent::~QMouseEvent
+24 QMouseEvent::~QMouseEvent
+
+Class QMouseEvent
+ size=48 align=8
+ base size=48 base align=8
+QMouseEvent (0x7f1deeef0d20) 0
+ vptr=((& QMouseEvent::_ZTV11QMouseEvent) + 16u)
+ QInputEvent (0x7f1deeef0d90) 0
+ primary-for QMouseEvent (0x7f1deeef0d20)
+ QEvent (0x7f1deeef0e00) 0
+ primary-for QInputEvent (0x7f1deeef0d90)
+
+Vtable for QHoverEvent
+QHoverEvent::_ZTV11QHoverEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QHoverEvent)
+16 QHoverEvent::~QHoverEvent
+24 QHoverEvent::~QHoverEvent
+
+Class QHoverEvent
+ size=40 align=8
+ base size=36 base align=8
+QHoverEvent (0x7f1deef0fb60) 0
+ vptr=((& QHoverEvent::_ZTV11QHoverEvent) + 16u)
+ QEvent (0x7f1deef0fbd0) 0
+ primary-for QHoverEvent (0x7f1deef0fb60)
+
+Vtable for QWheelEvent
+QWheelEvent::_ZTV11QWheelEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QWheelEvent)
+16 QWheelEvent::~QWheelEvent
+24 QWheelEvent::~QWheelEvent
+
+Class QWheelEvent
+ size=56 align=8
+ base size=52 base align=8
+QWheelEvent (0x7f1deef27230) 0
+ vptr=((& QWheelEvent::_ZTV11QWheelEvent) + 16u)
+ QInputEvent (0x7f1deef272a0) 0
+ primary-for QWheelEvent (0x7f1deef27230)
+ QEvent (0x7f1deef27310) 0
+ primary-for QInputEvent (0x7f1deef272a0)
+
+Vtable for QTabletEvent
+QTabletEvent::_ZTV12QTabletEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QTabletEvent)
+16 QTabletEvent::~QTabletEvent
+24 QTabletEvent::~QTabletEvent
+
+Class QTabletEvent
+ size=120 align=8
+ base size=120 base align=8
+QTabletEvent (0x7f1deef3c070) 0
+ vptr=((& QTabletEvent::_ZTV12QTabletEvent) + 16u)
+ QInputEvent (0x7f1deef3c0e0) 0
+ primary-for QTabletEvent (0x7f1deef3c070)
+ QEvent (0x7f1deef3c150) 0
+ primary-for QInputEvent (0x7f1deef3c0e0)
+
+Vtable for QKeyEvent
+QKeyEvent::_ZTV9QKeyEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QKeyEvent)
+16 QKeyEvent::~QKeyEvent
+24 QKeyEvent::~QKeyEvent
+
+Class QKeyEvent
+ size=40 align=8
+ base size=39 base align=8
+QKeyEvent (0x7f1deef59380) 0
+ vptr=((& QKeyEvent::_ZTV9QKeyEvent) + 16u)
+ QInputEvent (0x7f1deef593f0) 0
+ primary-for QKeyEvent (0x7f1deef59380)
+ QEvent (0x7f1deef59460) 0
+ primary-for QInputEvent (0x7f1deef593f0)
+
+Vtable for QFocusEvent
+QFocusEvent::_ZTV11QFocusEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QFocusEvent)
+16 QFocusEvent::~QFocusEvent
+24 QFocusEvent::~QFocusEvent
+
+Class QFocusEvent
+ size=24 align=8
+ base size=24 base align=8
+QFocusEvent (0x7f1deef7ccb0) 0
+ vptr=((& QFocusEvent::_ZTV11QFocusEvent) + 16u)
+ QEvent (0x7f1deef7cd20) 0
+ primary-for QFocusEvent (0x7f1deef7ccb0)
+
+Vtable for QPaintEvent
+QPaintEvent::_ZTV11QPaintEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QPaintEvent)
+16 QPaintEvent::~QPaintEvent
+24 QPaintEvent::~QPaintEvent
+
+Class QPaintEvent
+ size=56 align=8
+ base size=49 base align=8
+QPaintEvent (0x7f1deed89770) 0
+ vptr=((& QPaintEvent::_ZTV11QPaintEvent) + 16u)
+ QEvent (0x7f1deed897e0) 0
+ primary-for QPaintEvent (0x7f1deed89770)
+
+Vtable for QUpdateLaterEvent
+QUpdateLaterEvent::_ZTV17QUpdateLaterEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QUpdateLaterEvent)
+16 QUpdateLaterEvent::~QUpdateLaterEvent
+24 QUpdateLaterEvent::~QUpdateLaterEvent
+
+Class QUpdateLaterEvent
+ size=32 align=8
+ base size=32 base align=8
+QUpdateLaterEvent (0x7f1deed97380) 0
+ vptr=((& QUpdateLaterEvent::_ZTV17QUpdateLaterEvent) + 16u)
+ QEvent (0x7f1deed973f0) 0
+ primary-for QUpdateLaterEvent (0x7f1deed97380)
+
+Vtable for QMoveEvent
+QMoveEvent::_ZTV10QMoveEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QMoveEvent)
+16 QMoveEvent::~QMoveEvent
+24 QMoveEvent::~QMoveEvent
+
+Class QMoveEvent
+ size=40 align=8
+ base size=36 base align=8
+QMoveEvent (0x7f1deed977e0) 0
+ vptr=((& QMoveEvent::_ZTV10QMoveEvent) + 16u)
+ QEvent (0x7f1deed97850) 0
+ primary-for QMoveEvent (0x7f1deed977e0)
+
+Vtable for QResizeEvent
+QResizeEvent::_ZTV12QResizeEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QResizeEvent)
+16 QResizeEvent::~QResizeEvent
+24 QResizeEvent::~QResizeEvent
+
+Class QResizeEvent
+ size=40 align=8
+ base size=36 base align=8
+QResizeEvent (0x7f1deed97e70) 0
+ vptr=((& QResizeEvent::_ZTV12QResizeEvent) + 16u)
+ QEvent (0x7f1deed97ee0) 0
+ primary-for QResizeEvent (0x7f1deed97e70)
+
+Vtable for QCloseEvent
+QCloseEvent::_ZTV11QCloseEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QCloseEvent)
+16 QCloseEvent::~QCloseEvent
+24 QCloseEvent::~QCloseEvent
+
+Class QCloseEvent
+ size=24 align=8
+ base size=20 base align=8
+QCloseEvent (0x7f1deeda83f0) 0
+ vptr=((& QCloseEvent::_ZTV11QCloseEvent) + 16u)
+ QEvent (0x7f1deeda8460) 0
+ primary-for QCloseEvent (0x7f1deeda83f0)
+
+Vtable for QIconDragEvent
+QIconDragEvent::_ZTV14QIconDragEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QIconDragEvent)
+16 QIconDragEvent::~QIconDragEvent
+24 QIconDragEvent::~QIconDragEvent
+
+Class QIconDragEvent
+ size=24 align=8
+ base size=20 base align=8
+QIconDragEvent (0x7f1deeda8620) 0
+ vptr=((& QIconDragEvent::_ZTV14QIconDragEvent) + 16u)
+ QEvent (0x7f1deeda8690) 0
+ primary-for QIconDragEvent (0x7f1deeda8620)
+
+Vtable for QShowEvent
+QShowEvent::_ZTV10QShowEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QShowEvent)
+16 QShowEvent::~QShowEvent
+24 QShowEvent::~QShowEvent
+
+Class QShowEvent
+ size=24 align=8
+ base size=20 base align=8
+QShowEvent (0x7f1deeda8850) 0
+ vptr=((& QShowEvent::_ZTV10QShowEvent) + 16u)
+ QEvent (0x7f1deeda88c0) 0
+ primary-for QShowEvent (0x7f1deeda8850)
+
+Vtable for QHideEvent
+QHideEvent::_ZTV10QHideEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QHideEvent)
+16 QHideEvent::~QHideEvent
+24 QHideEvent::~QHideEvent
+
+Class QHideEvent
+ size=24 align=8
+ base size=20 base align=8
+QHideEvent (0x7f1deeda8a80) 0
+ vptr=((& QHideEvent::_ZTV10QHideEvent) + 16u)
+ QEvent (0x7f1deeda8af0) 0
+ primary-for QHideEvent (0x7f1deeda8a80)
+
+Vtable for QContextMenuEvent
+QContextMenuEvent::_ZTV17QContextMenuEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QContextMenuEvent)
+16 QContextMenuEvent::~QContextMenuEvent
+24 QContextMenuEvent::~QContextMenuEvent
+
+Class QContextMenuEvent
+ size=48 align=8
+ base size=41 base align=8
+QContextMenuEvent (0x7f1deeda8cb0) 0
+ vptr=((& QContextMenuEvent::_ZTV17QContextMenuEvent) + 16u)
+ QInputEvent (0x7f1deeda8d20) 0
+ primary-for QContextMenuEvent (0x7f1deeda8cb0)
+ QEvent (0x7f1deeda8d90) 0
+ primary-for QInputEvent (0x7f1deeda8d20)
+
+Class QInputMethodEvent::Attribute
+ size=32 align=8
+ base size=32 base align=8
+QInputMethodEvent::Attribute (0x7f1deedc2850) 0
+
+Vtable for QInputMethodEvent
+QInputMethodEvent::_ZTV17QInputMethodEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QInputMethodEvent)
+16 QInputMethodEvent::~QInputMethodEvent
+24 QInputMethodEvent::~QInputMethodEvent
+
+Class QInputMethodEvent
+ size=56 align=8
+ base size=56 base align=8
+QInputMethodEvent (0x7f1deedc2770) 0
+ vptr=((& QInputMethodEvent::_ZTV17QInputMethodEvent) + 16u)
+ QEvent (0x7f1deedc27e0) 0
+ primary-for QInputMethodEvent (0x7f1deedc2770)
+
+Vtable for QDropEvent
+QDropEvent::_ZTV10QDropEvent: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QDropEvent)
+16 QDropEvent::~QDropEvent
+24 QDropEvent::~QDropEvent
+32 QDropEvent::format
+40 QDropEvent::encodedData
+48 QDropEvent::provides
+56 (int (*)(...))-0x00000000000000018
+64 (int (*)(...))(& _ZTI10QDropEvent)
+72 QDropEvent::_ZThn24_N10QDropEventD1Ev
+80 QDropEvent::_ZThn24_N10QDropEventD0Ev
+88 QDropEvent::_ZThn24_NK10QDropEvent6formatEi
+96 QDropEvent::_ZThn24_NK10QDropEvent8providesEPKc
+104 QDropEvent::_ZThn24_NK10QDropEvent11encodedDataEPKc
+
+Class QDropEvent
+ size=80 align=8
+ base size=80 base align=8
+QDropEvent (0x7f1deedfb200) 0
+ vptr=((& QDropEvent::_ZTV10QDropEvent) + 16u)
+ QEvent (0x7f1deedf8f50) 0
+ primary-for QDropEvent (0x7f1deedfb200)
+ QMimeSource (0x7f1deedfc000) 24 nearly-empty
+ vptr=((& QDropEvent::_ZTV10QDropEvent) + 72u)
+
+Vtable for QDragMoveEvent
+QDragMoveEvent::_ZTV14QDragMoveEvent: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QDragMoveEvent)
+16 QDragMoveEvent::~QDragMoveEvent
+24 QDragMoveEvent::~QDragMoveEvent
+32 QDropEvent::format
+40 QDropEvent::encodedData
+48 QDropEvent::provides
+56 (int (*)(...))-0x00000000000000018
+64 (int (*)(...))(& _ZTI14QDragMoveEvent)
+72 QDragMoveEvent::_ZThn24_N14QDragMoveEventD1Ev
+80 QDragMoveEvent::_ZThn24_N14QDragMoveEventD0Ev
+88 QDropEvent::_ZThn24_NK10QDropEvent6formatEi
+96 QDropEvent::_ZThn24_NK10QDropEvent8providesEPKc
+104 QDropEvent::_ZThn24_NK10QDropEvent11encodedDataEPKc
+
+Class QDragMoveEvent
+ size=96 align=8
+ base size=96 base align=8
+QDragMoveEvent (0x7f1deee15cb0) 0
+ vptr=((& QDragMoveEvent::_ZTV14QDragMoveEvent) + 16u)
+ QDropEvent (0x7f1deee14900) 0
+ primary-for QDragMoveEvent (0x7f1deee15cb0)
+ QEvent (0x7f1deee15d20) 0
+ primary-for QDropEvent (0x7f1deee14900)
+ QMimeSource (0x7f1deee15d90) 24 nearly-empty
+ vptr=((& QDragMoveEvent::_ZTV14QDragMoveEvent) + 72u)
+
+Vtable for QDragEnterEvent
+QDragEnterEvent::_ZTV15QDragEnterEvent: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QDragEnterEvent)
+16 QDragEnterEvent::~QDragEnterEvent
+24 QDragEnterEvent::~QDragEnterEvent
+32 QDropEvent::format
+40 QDropEvent::encodedData
+48 QDropEvent::provides
+56 (int (*)(...))-0x00000000000000018
+64 (int (*)(...))(& _ZTI15QDragEnterEvent)
+72 QDragEnterEvent::_ZThn24_N15QDragEnterEventD1Ev
+80 QDragEnterEvent::_ZThn24_N15QDragEnterEventD0Ev
+88 QDropEvent::_ZThn24_NK10QDropEvent6formatEi
+96 QDropEvent::_ZThn24_NK10QDropEvent8providesEPKc
+104 QDropEvent::_ZThn24_NK10QDropEvent11encodedDataEPKc
+
+Class QDragEnterEvent
+ size=96 align=8
+ base size=96 base align=8
+QDragEnterEvent (0x7f1deee27460) 0
+ vptr=((& QDragEnterEvent::_ZTV15QDragEnterEvent) + 16u)
+ QDragMoveEvent (0x7f1deee274d0) 0
+ primary-for QDragEnterEvent (0x7f1deee27460)
+ QDropEvent (0x7f1deee25280) 0
+ primary-for QDragMoveEvent (0x7f1deee274d0)
+ QEvent (0x7f1deee27540) 0
+ primary-for QDropEvent (0x7f1deee25280)
+ QMimeSource (0x7f1deee275b0) 24 nearly-empty
+ vptr=((& QDragEnterEvent::_ZTV15QDragEnterEvent) + 72u)
+
+Vtable for QDragResponseEvent
+QDragResponseEvent::_ZTV18QDragResponseEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QDragResponseEvent)
+16 QDragResponseEvent::~QDragResponseEvent
+24 QDragResponseEvent::~QDragResponseEvent
+
+Class QDragResponseEvent
+ size=24 align=8
+ base size=21 base align=8
+QDragResponseEvent (0x7f1deee27770) 0
+ vptr=((& QDragResponseEvent::_ZTV18QDragResponseEvent) + 16u)
+ QEvent (0x7f1deee277e0) 0
+ primary-for QDragResponseEvent (0x7f1deee27770)
+
+Vtable for QDragLeaveEvent
+QDragLeaveEvent::_ZTV15QDragLeaveEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QDragLeaveEvent)
+16 QDragLeaveEvent::~QDragLeaveEvent
+24 QDragLeaveEvent::~QDragLeaveEvent
+
+Class QDragLeaveEvent
+ size=24 align=8
+ base size=20 base align=8
+QDragLeaveEvent (0x7f1deee27bd0) 0
+ vptr=((& QDragLeaveEvent::_ZTV15QDragLeaveEvent) + 16u)
+ QEvent (0x7f1deee27c40) 0
+ primary-for QDragLeaveEvent (0x7f1deee27bd0)
+
+Vtable for QHelpEvent
+QHelpEvent::_ZTV10QHelpEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QHelpEvent)
+16 QHelpEvent::~QHelpEvent
+24 QHelpEvent::~QHelpEvent
+
+Class QHelpEvent
+ size=40 align=8
+ base size=36 base align=8
+QHelpEvent (0x7f1deee27e00) 0
+ vptr=((& QHelpEvent::_ZTV10QHelpEvent) + 16u)
+ QEvent (0x7f1deee27e70) 0
+ primary-for QHelpEvent (0x7f1deee27e00)
+
+Vtable for QStatusTipEvent
+QStatusTipEvent::_ZTV15QStatusTipEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QStatusTipEvent)
+16 QStatusTipEvent::~QStatusTipEvent
+24 QStatusTipEvent::~QStatusTipEvent
+
+Class QStatusTipEvent
+ size=32 align=8
+ base size=32 base align=8
+QStatusTipEvent (0x7f1deee38e70) 0
+ vptr=((& QStatusTipEvent::_ZTV15QStatusTipEvent) + 16u)
+ QEvent (0x7f1deee38ee0) 0
+ primary-for QStatusTipEvent (0x7f1deee38e70)
+
+Vtable for QWhatsThisClickedEvent
+QWhatsThisClickedEvent::_ZTV22QWhatsThisClickedEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI22QWhatsThisClickedEvent)
+16 QWhatsThisClickedEvent::~QWhatsThisClickedEvent
+24 QWhatsThisClickedEvent::~QWhatsThisClickedEvent
+
+Class QWhatsThisClickedEvent
+ size=32 align=8
+ base size=32 base align=8
+QWhatsThisClickedEvent (0x7f1deee3d380) 0
+ vptr=((& QWhatsThisClickedEvent::_ZTV22QWhatsThisClickedEvent) + 16u)
+ QEvent (0x7f1deee3d3f0) 0
+ primary-for QWhatsThisClickedEvent (0x7f1deee3d380)
+
+Vtable for QActionEvent
+QActionEvent::_ZTV12QActionEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QActionEvent)
+16 QActionEvent::~QActionEvent
+24 QActionEvent::~QActionEvent
+
+Class QActionEvent
+ size=40 align=8
+ base size=40 base align=8
+QActionEvent (0x7f1deee3d850) 0
+ vptr=((& QActionEvent::_ZTV12QActionEvent) + 16u)
+ QEvent (0x7f1deee3d8c0) 0
+ primary-for QActionEvent (0x7f1deee3d850)
+
+Vtable for QFileOpenEvent
+QFileOpenEvent::_ZTV14QFileOpenEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QFileOpenEvent)
+16 QFileOpenEvent::~QFileOpenEvent
+24 QFileOpenEvent::~QFileOpenEvent
+
+Class QFileOpenEvent
+ size=32 align=8
+ base size=32 base align=8
+QFileOpenEvent (0x7f1deee3dee0) 0
+ vptr=((& QFileOpenEvent::_ZTV14QFileOpenEvent) + 16u)
+ QEvent (0x7f1deee3df50) 0
+ primary-for QFileOpenEvent (0x7f1deee3dee0)
+
+Vtable for QToolBarChangeEvent
+QToolBarChangeEvent::_ZTV19QToolBarChangeEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QToolBarChangeEvent)
+16 QToolBarChangeEvent::~QToolBarChangeEvent
+24 QToolBarChangeEvent::~QToolBarChangeEvent
+
+Class QToolBarChangeEvent
+ size=24 align=8
+ base size=21 base align=8
+QToolBarChangeEvent (0x7f1deee51230) 0
+ vptr=((& QToolBarChangeEvent::_ZTV19QToolBarChangeEvent) + 16u)
+ QEvent (0x7f1deee512a0) 0
+ primary-for QToolBarChangeEvent (0x7f1deee51230)
+
+Vtable for QShortcutEvent
+QShortcutEvent::_ZTV14QShortcutEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QShortcutEvent)
+16 QShortcutEvent::~QShortcutEvent
+24 QShortcutEvent::~QShortcutEvent
+
+Class QShortcutEvent
+ size=40 align=8
+ base size=40 base align=8
+QShortcutEvent (0x7f1deee51770) 0
+ vptr=((& QShortcutEvent::_ZTV14QShortcutEvent) + 16u)
+ QEvent (0x7f1deee517e0) 0
+ primary-for QShortcutEvent (0x7f1deee51770)
+
+Vtable for QClipboardEvent
+QClipboardEvent::_ZTV15QClipboardEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QClipboardEvent)
+16 QClipboardEvent::~QClipboardEvent
+24 QClipboardEvent::~QClipboardEvent
+
+Class QClipboardEvent
+ size=24 align=8
+ base size=20 base align=8
+QClipboardEvent (0x7f1deee5e620) 0
+ vptr=((& QClipboardEvent::_ZTV15QClipboardEvent) + 16u)
+ QEvent (0x7f1deee5e690) 0
+ primary-for QClipboardEvent (0x7f1deee5e620)
+
+Vtable for QWindowStateChangeEvent
+QWindowStateChangeEvent::_ZTV23QWindowStateChangeEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI23QWindowStateChangeEvent)
+16 QWindowStateChangeEvent::~QWindowStateChangeEvent
+24 QWindowStateChangeEvent::~QWindowStateChangeEvent
+
+Class QWindowStateChangeEvent
+ size=24 align=8
+ base size=24 base align=8
+QWindowStateChangeEvent (0x7f1deee5ea80) 0
+ vptr=((& QWindowStateChangeEvent::_ZTV23QWindowStateChangeEvent) + 16u)
+ QEvent (0x7f1deee5eaf0) 0
+ primary-for QWindowStateChangeEvent (0x7f1deee5ea80)
+
+Vtable for QMenubarUpdatedEvent
+QMenubarUpdatedEvent::_ZTV20QMenubarUpdatedEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI20QMenubarUpdatedEvent)
+16 QMenubarUpdatedEvent::~QMenubarUpdatedEvent
+24 QMenubarUpdatedEvent::~QMenubarUpdatedEvent
+
+Class QMenubarUpdatedEvent
+ size=32 align=8
+ base size=32 base align=8
+QMenubarUpdatedEvent (0x7f1deee5e7e0) 0
+ vptr=((& QMenubarUpdatedEvent::_ZTV20QMenubarUpdatedEvent) + 16u)
+ QEvent (0x7f1deee5ecb0) 0
+ primary-for QMenubarUpdatedEvent (0x7f1deee5e7e0)
+
+Class QTextInlineObject
+ size=16 align=8
+ base size=16 base align=8
+QTextInlineObject (0x7f1deee6ba10) 0
+
+Class QTextLayout::FormatRange
+ size=24 align=8
+ base size=24 base align=8
+QTextLayout::FormatRange (0x7f1deee7bcb0) 0
+
+Class QTextLayout
+ size=8 align=8
+ base size=8 base align=8
+QTextLayout (0x7f1deee7ba10) 0
+
+Class QTextLine
+ size=16 align=8
+ base size=16 base align=8
+QTextLine (0x7f1deec95a80) 0
+
+Vtable for QTextList
+QTextList::_ZTV9QTextList: 17u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QTextList)
+16 QTextList::metaObject
+24 QTextList::qt_metacast
+32 QTextList::qt_metacall
+40 QTextList::~QTextList
+48 QTextList::~QTextList
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QTextBlockGroup::blockInserted
+120 QTextBlockGroup::blockRemoved
+128 QTextBlockGroup::blockFormatChanged
+
+Class QTextList
+ size=16 align=8
+ base size=16 base align=8
+QTextList (0x7f1deecc7310) 0
+ vptr=((& QTextList::_ZTV9QTextList) + 16u)
+ QTextBlockGroup (0x7f1deecc7380) 0
+ primary-for QTextList (0x7f1deecc7310)
+ QTextObject (0x7f1deecc73f0) 0
+ primary-for QTextBlockGroup (0x7f1deecc7380)
+ QObject (0x7f1deecc7460) 0
+ primary-for QTextObject (0x7f1deecc73f0)
+
+Class QFontInfo
+ size=8 align=8
+ base size=8 base align=8
+QFontInfo (0x7f1deeced1c0) 0
+
+Class QTextDocumentFragment
+ size=8 align=8
+ base size=8 base align=8
+QTextDocumentFragment (0x7f1deecedcb0) 0
+
+Class QTextCursor
+ size=8 align=8
+ base size=8 base align=8
+QTextCursor (0x7f1deecf8700) 0
+
+Class QPalette
+ size=16 align=8
+ base size=12 base align=8
+QPalette (0x7f1deed0bbd0) 0
+
+Class QColorGroup
+ size=16 align=8
+ base size=12 base align=8
+QColorGroup (0x7f1deed724d0) 0
+ QPalette (0x7f1deed72540) 0
+
+Class QAbstractTextDocumentLayout::Selection
+ size=24 align=8
+ base size=24 base align=8
+QAbstractTextDocumentLayout::Selection (0x7f1deeba9a10) 0
+
+Class QAbstractTextDocumentLayout::PaintContext
+ size=64 align=8
+ base size=64 base align=8
+QAbstractTextDocumentLayout::PaintContext (0x7f1deeba9a80) 0
+
+Vtable for QAbstractTextDocumentLayout
+QAbstractTextDocumentLayout::_ZTV27QAbstractTextDocumentLayout: 24u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI27QAbstractTextDocumentLayout)
+16 QAbstractTextDocumentLayout::metaObject
+24 QAbstractTextDocumentLayout::qt_metacast
+32 QAbstractTextDocumentLayout::qt_metacall
+40 QAbstractTextDocumentLayout::~QAbstractTextDocumentLayout
+48 QAbstractTextDocumentLayout::~QAbstractTextDocumentLayout
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 __cxa_pure_virtual
+136 __cxa_pure_virtual
+144 __cxa_pure_virtual
+152 __cxa_pure_virtual
+160 __cxa_pure_virtual
+168 QAbstractTextDocumentLayout::resizeInlineObject
+176 QAbstractTextDocumentLayout::positionInlineObject
+184 QAbstractTextDocumentLayout::drawInlineObject
+
+Class QAbstractTextDocumentLayout
+ size=16 align=8
+ base size=16 base align=8
+QAbstractTextDocumentLayout (0x7f1deeba97e0) 0
+ vptr=((& QAbstractTextDocumentLayout::_ZTV27QAbstractTextDocumentLayout) + 16u)
+ QObject (0x7f1deeba9850) 0
+ primary-for QAbstractTextDocumentLayout (0x7f1deeba97e0)
+
+Vtable for QTextObjectInterface
+QTextObjectInterface::_ZTV20QTextObjectInterface: 6u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI20QTextObjectInterface)
+16 QTextObjectInterface::~QTextObjectInterface
+24 QTextObjectInterface::~QTextObjectInterface
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+
+Class QTextObjectInterface
+ size=8 align=8
+ base size=8 base align=8
+QTextObjectInterface (0x7f1deebf1150) 0 nearly-empty
+ vptr=((& QTextObjectInterface::_ZTV20QTextObjectInterface) + 16u)
+
+Vtable for QSyntaxHighlighter
+QSyntaxHighlighter::_ZTV18QSyntaxHighlighter: 15u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QSyntaxHighlighter)
+16 QSyntaxHighlighter::metaObject
+24 QSyntaxHighlighter::qt_metacast
+32 QSyntaxHighlighter::qt_metacall
+40 QSyntaxHighlighter::~QSyntaxHighlighter
+48 QSyntaxHighlighter::~QSyntaxHighlighter
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+
+Class QSyntaxHighlighter
+ size=16 align=8
+ base size=16 base align=8
+QSyntaxHighlighter (0x7f1deebfd2a0) 0
+ vptr=((& QSyntaxHighlighter::_ZTV18QSyntaxHighlighter) + 16u)
+ QObject (0x7f1deebfd310) 0
+ primary-for QSyntaxHighlighter (0x7f1deebfd2a0)
+
+Vtable for QUndoGroup
+QUndoGroup::_ZTV10QUndoGroup: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QUndoGroup)
+16 QUndoGroup::metaObject
+24 QUndoGroup::qt_metacast
+32 QUndoGroup::qt_metacall
+40 QUndoGroup::~QUndoGroup
+48 QUndoGroup::~QUndoGroup
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QUndoGroup
+ size=16 align=8
+ base size=16 base align=8
+QUndoGroup (0x7f1deec13c40) 0
+ vptr=((& QUndoGroup::_ZTV10QUndoGroup) + 16u)
+ QObject (0x7f1deec13cb0) 0
+ primary-for QUndoGroup (0x7f1deec13c40)
+
+Class QDesktopServices
+ size=1 align=1
+ base size=0 base align=1
+QDesktopServices (0x7f1deec307e0) 0 empty
+
+Class QSizePolicy
+ size=4 align=4
+ base size=4 base align=4
+QSizePolicy (0x7f1deec30930) 0
+
+Class QCursor
+ size=8 align=8
+ base size=8 base align=8
+QCursor (0x7f1deeaec690) 0
+
+Class QWidgetData
+ size=88 align=8
+ base size=88 base align=8
+QWidgetData (0x7f1deeaece70) 0
+
+Vtable for QWidget
+QWidget::_ZTV7QWidget: 63u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QWidget)
+16 QWidget::metaObject
+24 QWidget::qt_metacast
+32 QWidget::qt_metacall
+40 QWidget::~QWidget
+48 QWidget::~QWidget
+56 QWidget::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QWidget::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QWidget::paintEvent
+256 QWidget::moveEvent
+264 QWidget::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QWidget::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 (int (*)(...))-0x00000000000000010
+456 (int (*)(...))(& _ZTI7QWidget)
+464 QWidget::_ZThn16_N7QWidgetD1Ev
+472 QWidget::_ZThn16_N7QWidgetD0Ev
+480 QWidget::_ZThn16_NK7QWidget7devTypeEv
+488 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+496 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QWidget
+ size=40 align=8
+ base size=40 base align=8
+QWidget (0x7f1deeae8a00) 0
+ vptr=((& QWidget::_ZTV7QWidget) + 16u)
+ QObject (0x7f1deeaecee0) 0
+ primary-for QWidget (0x7f1deeae8a00)
+ QPaintDevice (0x7f1deeaecf50) 16
+ vptr=((& QWidget::_ZTV7QWidget) + 464u)
+
+Vtable for QFrame
+QFrame::_ZTV6QFrame: 63u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI6QFrame)
+16 QFrame::metaObject
+24 QFrame::qt_metacast
+32 QFrame::qt_metacall
+40 QFrame::~QFrame
+48 QFrame::~QFrame
+56 QFrame::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QFrame::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QFrame::paintEvent
+256 QWidget::moveEvent
+264 QWidget::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QFrame::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 (int (*)(...))-0x00000000000000010
+456 (int (*)(...))(& _ZTI6QFrame)
+464 QFrame::_ZThn16_N6QFrameD1Ev
+472 QFrame::_ZThn16_N6QFrameD0Ev
+480 QWidget::_ZThn16_NK7QWidget7devTypeEv
+488 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+496 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QFrame
+ size=40 align=8
+ base size=40 base align=8
+QFrame (0x7f1deea6ccb0) 0
+ vptr=((& QFrame::_ZTV6QFrame) + 16u)
+ QWidget (0x7f1deea71400) 0
+ primary-for QFrame (0x7f1deea6ccb0)
+ QObject (0x7f1deea6cd20) 0
+ primary-for QWidget (0x7f1deea71400)
+ QPaintDevice (0x7f1deea6cd90) 16
+ vptr=((& QFrame::_ZTV6QFrame) + 464u)
+
+Vtable for QAbstractScrollArea
+QAbstractScrollArea::_ZTV19QAbstractScrollArea: 65u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QAbstractScrollArea)
+16 QAbstractScrollArea::metaObject
+24 QAbstractScrollArea::qt_metacast
+32 QAbstractScrollArea::qt_metacall
+40 QAbstractScrollArea::~QAbstractScrollArea
+48 QAbstractScrollArea::~QAbstractScrollArea
+56 QAbstractScrollArea::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QAbstractScrollArea::sizeHint
+136 QAbstractScrollArea::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QAbstractScrollArea::mousePressEvent
+168 QAbstractScrollArea::mouseReleaseEvent
+176 QAbstractScrollArea::mouseDoubleClickEvent
+184 QAbstractScrollArea::mouseMoveEvent
+192 QAbstractScrollArea::wheelEvent
+200 QAbstractScrollArea::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QAbstractScrollArea::paintEvent
+256 QWidget::moveEvent
+264 QAbstractScrollArea::resizeEvent
+272 QWidget::closeEvent
+280 QAbstractScrollArea::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QAbstractScrollArea::dragEnterEvent
+312 QAbstractScrollArea::dragMoveEvent
+320 QAbstractScrollArea::dragLeaveEvent
+328 QAbstractScrollArea::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QFrame::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QAbstractScrollArea::viewportEvent
+456 QAbstractScrollArea::scrollContentsBy
+464 (int (*)(...))-0x00000000000000010
+472 (int (*)(...))(& _ZTI19QAbstractScrollArea)
+480 QAbstractScrollArea::_ZThn16_N19QAbstractScrollAreaD1Ev
+488 QAbstractScrollArea::_ZThn16_N19QAbstractScrollAreaD0Ev
+496 QWidget::_ZThn16_NK7QWidget7devTypeEv
+504 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+512 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QAbstractScrollArea
+ size=40 align=8
+ base size=40 base align=8
+QAbstractScrollArea (0x7f1dee894310) 0
+ vptr=((& QAbstractScrollArea::_ZTV19QAbstractScrollArea) + 16u)
+ QFrame (0x7f1dee894380) 0
+ primary-for QAbstractScrollArea (0x7f1dee894310)
+ QWidget (0x7f1dee889700) 0
+ primary-for QFrame (0x7f1dee894380)
+ QObject (0x7f1dee8943f0) 0
+ primary-for QWidget (0x7f1dee889700)
+ QPaintDevice (0x7f1dee894460) 16
+ vptr=((& QAbstractScrollArea::_ZTV19QAbstractScrollArea) + 480u)
+
+Class QItemSelectionRange
+ size=16 align=8
+ base size=16 base align=8
+QItemSelectionRange (0x7f1dee8b7230) 0
+
+Vtable for QItemSelectionModel
+QItemSelectionModel::_ZTV19QItemSelectionModel: 18u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QItemSelectionModel)
+16 QItemSelectionModel::metaObject
+24 QItemSelectionModel::qt_metacast
+32 QItemSelectionModel::qt_metacall
+40 QItemSelectionModel::~QItemSelectionModel
+48 QItemSelectionModel::~QItemSelectionModel
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QItemSelectionModel::select
+120 QItemSelectionModel::select
+128 QItemSelectionModel::clear
+136 QItemSelectionModel::reset
+
+Class QItemSelectionModel
+ size=16 align=8
+ base size=16 base align=8
+QItemSelectionModel (0x7f1dee91d700) 0
+ vptr=((& QItemSelectionModel::_ZTV19QItemSelectionModel) + 16u)
+ QObject (0x7f1dee91d770) 0
+ primary-for QItemSelectionModel (0x7f1dee91d700)
+
+Class QItemSelection
+ size=8 align=8
+ base size=8 base align=8
+QItemSelection (0x7f1dee95ebd0) 0
+ QList<QItemSelectionRange> (0x7f1dee95ec40) 0
+
+Vtable for QValidator
+QValidator::_ZTV10QValidator: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QValidator)
+16 QValidator::metaObject
+24 QValidator::qt_metacast
+32 QValidator::qt_metacall
+40 QValidator::~QValidator
+48 QValidator::~QValidator
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+120 QValidator::fixup
+
+Class QValidator
+ size=16 align=8
+ base size=16 base align=8
+QValidator (0x7f1dee7994d0) 0
+ vptr=((& QValidator::_ZTV10QValidator) + 16u)
+ QObject (0x7f1dee799540) 0
+ primary-for QValidator (0x7f1dee7994d0)
+
+Vtable for QIntValidator
+QIntValidator::_ZTV13QIntValidator: 17u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QIntValidator)
+16 QIntValidator::metaObject
+24 QIntValidator::qt_metacast
+32 QIntValidator::qt_metacall
+40 QIntValidator::~QIntValidator
+48 QIntValidator::~QIntValidator
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QIntValidator::validate
+120 QValidator::fixup
+128 QIntValidator::setRange
+
+Class QIntValidator
+ size=24 align=8
+ base size=24 base align=8
+QIntValidator (0x7f1dee7b2310) 0
+ vptr=((& QIntValidator::_ZTV13QIntValidator) + 16u)
+ QValidator (0x7f1dee7b2380) 0
+ primary-for QIntValidator (0x7f1dee7b2310)
+ QObject (0x7f1dee7b23f0) 0
+ primary-for QValidator (0x7f1dee7b2380)
+
+Vtable for QDoubleValidator
+QDoubleValidator::_ZTV16QDoubleValidator: 17u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QDoubleValidator)
+16 QDoubleValidator::metaObject
+24 QDoubleValidator::qt_metacast
+32 QDoubleValidator::qt_metacall
+40 QDoubleValidator::~QDoubleValidator
+48 QDoubleValidator::~QDoubleValidator
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QDoubleValidator::validate
+120 QValidator::fixup
+128 QDoubleValidator::setRange
+
+Class QDoubleValidator
+ size=40 align=8
+ base size=36 base align=8
+QDoubleValidator (0x7f1dee7cb2a0) 0
+ vptr=((& QDoubleValidator::_ZTV16QDoubleValidator) + 16u)
+ QValidator (0x7f1dee7cb310) 0
+ primary-for QDoubleValidator (0x7f1dee7cb2a0)
+ QObject (0x7f1dee7cb380) 0
+ primary-for QValidator (0x7f1dee7cb310)
+
+Vtable for QRegExpValidator
+QRegExpValidator::_ZTV16QRegExpValidator: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QRegExpValidator)
+16 QRegExpValidator::metaObject
+24 QRegExpValidator::qt_metacast
+32 QRegExpValidator::qt_metacall
+40 QRegExpValidator::~QRegExpValidator
+48 QRegExpValidator::~QRegExpValidator
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QRegExpValidator::validate
+120 QValidator::fixup
+
+Class QRegExpValidator
+ size=24 align=8
+ base size=24 base align=8
+QRegExpValidator (0x7f1dee7e8b60) 0
+ vptr=((& QRegExpValidator::_ZTV16QRegExpValidator) + 16u)
+ QValidator (0x7f1dee7e8bd0) 0
+ primary-for QRegExpValidator (0x7f1dee7e8b60)
+ QObject (0x7f1dee7e8c40) 0
+ primary-for QValidator (0x7f1dee7e8bd0)
+
+Vtable for QAbstractSpinBox
+QAbstractSpinBox::_ZTV16QAbstractSpinBox: 68u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QAbstractSpinBox)
+16 QAbstractSpinBox::metaObject
+24 QAbstractSpinBox::qt_metacast
+32 QAbstractSpinBox::qt_metacall
+40 QAbstractSpinBox::~QAbstractSpinBox
+48 QAbstractSpinBox::~QAbstractSpinBox
+56 QAbstractSpinBox::event
+64 QObject::eventFilter
+72 QAbstractSpinBox::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QAbstractSpinBox::sizeHint
+136 QAbstractSpinBox::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QAbstractSpinBox::mousePressEvent
+168 QAbstractSpinBox::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QAbstractSpinBox::mouseMoveEvent
+192 QAbstractSpinBox::wheelEvent
+200 QAbstractSpinBox::keyPressEvent
+208 QAbstractSpinBox::keyReleaseEvent
+216 QAbstractSpinBox::focusInEvent
+224 QAbstractSpinBox::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QAbstractSpinBox::paintEvent
+256 QWidget::moveEvent
+264 QAbstractSpinBox::resizeEvent
+272 QAbstractSpinBox::closeEvent
+280 QAbstractSpinBox::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QAbstractSpinBox::showEvent
+344 QAbstractSpinBox::hideEvent
+352 QWidget::x11Event
+360 QAbstractSpinBox::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QAbstractSpinBox::validate
+456 QAbstractSpinBox::fixup
+464 QAbstractSpinBox::stepBy
+472 QAbstractSpinBox::clear
+480 QAbstractSpinBox::stepEnabled
+488 (int (*)(...))-0x00000000000000010
+496 (int (*)(...))(& _ZTI16QAbstractSpinBox)
+504 QAbstractSpinBox::_ZThn16_N16QAbstractSpinBoxD1Ev
+512 QAbstractSpinBox::_ZThn16_N16QAbstractSpinBoxD0Ev
+520 QWidget::_ZThn16_NK7QWidget7devTypeEv
+528 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+536 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QAbstractSpinBox
+ size=40 align=8
+ base size=40 base align=8
+QAbstractSpinBox (0x7f1dee7fc7e0) 0
+ vptr=((& QAbstractSpinBox::_ZTV16QAbstractSpinBox) + 16u)
+ QWidget (0x7f1dee7eb700) 0
+ primary-for QAbstractSpinBox (0x7f1dee7fc7e0)
+ QObject (0x7f1dee7fc850) 0
+ primary-for QWidget (0x7f1dee7eb700)
+ QPaintDevice (0x7f1dee7fc8c0) 16
+ vptr=((& QAbstractSpinBox::_ZTV16QAbstractSpinBox) + 504u)
+
+Class QIcon
+ size=8 align=8
+ base size=8 base align=8
+QIcon (0x7f1dee84a7e0) 0
+
+Vtable for QAbstractSlider
+QAbstractSlider::_ZTV15QAbstractSlider: 64u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QAbstractSlider)
+16 QAbstractSlider::metaObject
+24 QAbstractSlider::qt_metacast
+32 QAbstractSlider::qt_metacall
+40 QAbstractSlider::~QAbstractSlider
+48 QAbstractSlider::~QAbstractSlider
+56 QAbstractSlider::event
+64 QObject::eventFilter
+72 QAbstractSlider::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QWidget::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QAbstractSlider::wheelEvent
+200 QAbstractSlider::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QWidget::paintEvent
+256 QWidget::moveEvent
+264 QWidget::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QAbstractSlider::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QAbstractSlider::sliderChange
+456 (int (*)(...))-0x00000000000000010
+464 (int (*)(...))(& _ZTI15QAbstractSlider)
+472 QAbstractSlider::_ZThn16_N15QAbstractSliderD1Ev
+480 QAbstractSlider::_ZThn16_N15QAbstractSliderD0Ev
+488 QWidget::_ZThn16_NK7QWidget7devTypeEv
+496 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+504 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QAbstractSlider
+ size=40 align=8
+ base size=40 base align=8
+QAbstractSlider (0x7f1dee688380) 0
+ vptr=((& QAbstractSlider::_ZTV15QAbstractSlider) + 16u)
+ QWidget (0x7f1dee68b380) 0
+ primary-for QAbstractSlider (0x7f1dee688380)
+ QObject (0x7f1dee6883f0) 0
+ primary-for QWidget (0x7f1dee68b380)
+ QPaintDevice (0x7f1dee688460) 16
+ vptr=((& QAbstractSlider::_ZTV15QAbstractSlider) + 472u)
+
+Vtable for QSlider
+QSlider::_ZTV7QSlider: 64u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QSlider)
+16 QSlider::metaObject
+24 QSlider::qt_metacast
+32 QSlider::qt_metacall
+40 QSlider::~QSlider
+48 QSlider::~QSlider
+56 QSlider::event
+64 QObject::eventFilter
+72 QAbstractSlider::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QSlider::sizeHint
+136 QSlider::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QSlider::mousePressEvent
+168 QSlider::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QSlider::mouseMoveEvent
+192 QAbstractSlider::wheelEvent
+200 QAbstractSlider::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QSlider::paintEvent
+256 QWidget::moveEvent
+264 QWidget::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QAbstractSlider::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QAbstractSlider::sliderChange
+456 (int (*)(...))-0x00000000000000010
+464 (int (*)(...))(& _ZTI7QSlider)
+472 QSlider::_ZThn16_N7QSliderD1Ev
+480 QSlider::_ZThn16_N7QSliderD0Ev
+488 QWidget::_ZThn16_NK7QWidget7devTypeEv
+496 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+504 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QSlider
+ size=40 align=8
+ base size=40 base align=8
+QSlider (0x7f1dee6bf1c0) 0
+ vptr=((& QSlider::_ZTV7QSlider) + 16u)
+ QAbstractSlider (0x7f1dee6bf230) 0
+ primary-for QSlider (0x7f1dee6bf1c0)
+ QWidget (0x7f1dee6bc380) 0
+ primary-for QAbstractSlider (0x7f1dee6bf230)
+ QObject (0x7f1dee6bf2a0) 0
+ primary-for QWidget (0x7f1dee6bc380)
+ QPaintDevice (0x7f1dee6bf310) 16
+ vptr=((& QSlider::_ZTV7QSlider) + 472u)
+
+Vtable for QStyle
+QStyle::_ZTV6QStyle: 35u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI6QStyle)
+16 QStyle::metaObject
+24 QStyle::qt_metacast
+32 QStyle::qt_metacall
+40 QStyle::~QStyle
+48 QStyle::~QStyle
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QStyle::polish
+120 QStyle::unpolish
+128 QStyle::polish
+136 QStyle::unpolish
+144 QStyle::polish
+152 QStyle::itemTextRect
+160 QStyle::itemPixmapRect
+168 QStyle::drawItemText
+176 QStyle::drawItemPixmap
+184 QStyle::standardPalette
+192 __cxa_pure_virtual
+200 __cxa_pure_virtual
+208 __cxa_pure_virtual
+216 __cxa_pure_virtual
+224 __cxa_pure_virtual
+232 __cxa_pure_virtual
+240 __cxa_pure_virtual
+248 __cxa_pure_virtual
+256 __cxa_pure_virtual
+264 __cxa_pure_virtual
+272 __cxa_pure_virtual
+
+Class QStyle
+ size=16 align=8
+ base size=16 base align=8
+QStyle (0x7f1dee6e5770) 0
+ vptr=((& QStyle::_ZTV6QStyle) + 16u)
+ QObject (0x7f1dee6e57e0) 0
+ primary-for QStyle (0x7f1dee6e5770)
+
+Vtable for QTabBar
+QTabBar::_ZTV7QTabBar: 67u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QTabBar)
+16 QTabBar::metaObject
+24 QTabBar::qt_metacast
+32 QTabBar::qt_metacall
+40 QTabBar::~QTabBar
+48 QTabBar::~QTabBar
+56 QTabBar::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QTabBar::sizeHint
+136 QTabBar::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QTabBar::mousePressEvent
+168 QTabBar::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QTabBar::mouseMoveEvent
+192 QTabBar::wheelEvent
+200 QTabBar::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QTabBar::paintEvent
+256 QWidget::moveEvent
+264 QTabBar::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QTabBar::showEvent
+344 QTabBar::hideEvent
+352 QWidget::x11Event
+360 QTabBar::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QTabBar::tabSizeHint
+456 QTabBar::tabInserted
+464 QTabBar::tabRemoved
+472 QTabBar::tabLayoutChange
+480 (int (*)(...))-0x00000000000000010
+488 (int (*)(...))(& _ZTI7QTabBar)
+496 QTabBar::_ZThn16_N7QTabBarD1Ev
+504 QTabBar::_ZThn16_N7QTabBarD0Ev
+512 QWidget::_ZThn16_NK7QWidget7devTypeEv
+520 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+528 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QTabBar
+ size=40 align=8
+ base size=40 base align=8
+QTabBar (0x7f1dee5964d0) 0
+ vptr=((& QTabBar::_ZTV7QTabBar) + 16u)
+ QWidget (0x7f1dee73ae80) 0
+ primary-for QTabBar (0x7f1dee5964d0)
+ QObject (0x7f1dee596540) 0
+ primary-for QWidget (0x7f1dee73ae80)
+ QPaintDevice (0x7f1dee5965b0) 16
+ vptr=((& QTabBar::_ZTV7QTabBar) + 496u)
+
+Vtable for QTabWidget
+QTabWidget::_ZTV10QTabWidget: 65u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QTabWidget)
+16 QTabWidget::metaObject
+24 QTabWidget::qt_metacast
+32 QTabWidget::qt_metacall
+40 QTabWidget::~QTabWidget
+48 QTabWidget::~QTabWidget
+56 QTabWidget::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QTabWidget::sizeHint
+136 QTabWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QTabWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QTabWidget::paintEvent
+256 QWidget::moveEvent
+264 QTabWidget::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QTabWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QTabWidget::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QTabWidget::tabInserted
+456 QTabWidget::tabRemoved
+464 (int (*)(...))-0x00000000000000010
+472 (int (*)(...))(& _ZTI10QTabWidget)
+480 QTabWidget::_ZThn16_N10QTabWidgetD1Ev
+488 QTabWidget::_ZThn16_N10QTabWidgetD0Ev
+496 QWidget::_ZThn16_NK7QWidget7devTypeEv
+504 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+512 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QTabWidget
+ size=40 align=8
+ base size=40 base align=8
+QTabWidget (0x7f1dee5c8af0) 0
+ vptr=((& QTabWidget::_ZTV10QTabWidget) + 16u)
+ QWidget (0x7f1dee5cb180) 0
+ primary-for QTabWidget (0x7f1dee5c8af0)
+ QObject (0x7f1dee5c8b60) 0
+ primary-for QWidget (0x7f1dee5cb180)
+ QPaintDevice (0x7f1dee5c8bd0) 16
+ vptr=((& QTabWidget::_ZTV10QTabWidget) + 480u)
+
+Vtable for QRubberBand
+QRubberBand::_ZTV11QRubberBand: 63u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QRubberBand)
+16 QRubberBand::metaObject
+24 QRubberBand::qt_metacast
+32 QRubberBand::qt_metacall
+40 QRubberBand::~QRubberBand
+48 QRubberBand::~QRubberBand
+56 QRubberBand::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QWidget::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QRubberBand::paintEvent
+256 QRubberBand::moveEvent
+264 QRubberBand::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QRubberBand::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QRubberBand::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 (int (*)(...))-0x00000000000000010
+456 (int (*)(...))(& _ZTI11QRubberBand)
+464 QRubberBand::_ZThn16_N11QRubberBandD1Ev
+472 QRubberBand::_ZThn16_N11QRubberBandD0Ev
+480 QWidget::_ZThn16_NK7QWidget7devTypeEv
+488 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+496 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QRubberBand
+ size=40 align=8
+ base size=40 base align=8
+QRubberBand (0x7f1dee61f4d0) 0
+ vptr=((& QRubberBand::_ZTV11QRubberBand) + 16u)
+ QWidget (0x7f1dee61e200) 0
+ primary-for QRubberBand (0x7f1dee61f4d0)
+ QObject (0x7f1dee61f540) 0
+ primary-for QWidget (0x7f1dee61e200)
+ QPaintDevice (0x7f1dee61f5b0) 16
+ vptr=((& QRubberBand::_ZTV11QRubberBand) + 464u)
+
+Class QStyleOption
+ size=56 align=8
+ base size=56 base align=8
+QStyleOption (0x7f1dee6417e0) 0
+
+Class QStyleOptionFocusRect
+ size=72 align=8
+ base size=72 base align=8
+QStyleOptionFocusRect (0x7f1dee64f540) 0
+ QStyleOption (0x7f1dee64f5b0) 0
+
+Class QStyleOptionFrame
+ size=64 align=8
+ base size=64 base align=8
+QStyleOptionFrame (0x7f1dee658540) 0
+ QStyleOption (0x7f1dee6585b0) 0
+
+Class QStyleOptionFrameV2
+ size=72 align=8
+ base size=68 base align=8
+QStyleOptionFrameV2 (0x7f1dee6654d0) 0
+ QStyleOptionFrame (0x7f1dee665540) 0
+ QStyleOption (0x7f1dee6655b0) 0
+
+Class QStyleOptionFrameV3
+ size=72 align=8
+ base size=72 base align=8
+QStyleOptionFrameV3 (0x7f1dee495d90) 0
+ QStyleOptionFrameV2 (0x7f1dee495e00) 0
+ QStyleOptionFrame (0x7f1dee495e70) 0
+ QStyleOption (0x7f1dee495ee0) 0
+
+Class QStyleOptionTabWidgetFrame
+ size=96 align=8
+ base size=92 base align=8
+QStyleOptionTabWidgetFrame (0x7f1dee4b6690) 0
+ QStyleOption (0x7f1dee4b6700) 0
+
+Class QStyleOptionTabBarBase
+ size=96 align=8
+ base size=92 base align=8
+QStyleOptionTabBarBase (0x7f1dee4c5e00) 0
+ QStyleOption (0x7f1dee4c5e70) 0
+
+Class QStyleOptionTabBarBaseV2
+ size=96 align=8
+ base size=93 base align=8
+QStyleOptionTabBarBaseV2 (0x7f1dee4d81c0) 0
+ QStyleOptionTabBarBase (0x7f1dee4d8230) 0
+ QStyleOption (0x7f1dee4d82a0) 0
+
+Class QStyleOptionHeader
+ size=112 align=8
+ base size=108 base align=8
+QStyleOptionHeader (0x7f1dee4e1850) 0
+ QStyleOption (0x7f1dee4e18c0) 0
+
+Class QStyleOptionButton
+ size=88 align=8
+ base size=88 base align=8
+QStyleOptionButton (0x7f1dee4fba10) 0
+ QStyleOption (0x7f1dee4fba80) 0
+
+Class QStyleOptionTab
+ size=96 align=8
+ base size=96 base align=8
+QStyleOptionTab (0x7f1dee5483f0) 0
+ QStyleOption (0x7f1dee548460) 0
+
+Class QStyleOptionTabV2
+ size=104 align=8
+ base size=104 base align=8
+QStyleOptionTabV2 (0x7f1dee393380) 0
+ QStyleOptionTab (0x7f1dee3933f0) 0
+ QStyleOption (0x7f1dee393460) 0
+
+Class QStyleOptionTabV3
+ size=128 align=8
+ base size=124 base align=8
+QStyleOptionTabV3 (0x7f1dee39dd90) 0
+ QStyleOptionTabV2 (0x7f1dee39de00) 0
+ QStyleOptionTab (0x7f1dee39de70) 0
+ QStyleOption (0x7f1dee39dee0) 0
+
+Class QStyleOptionToolBar
+ size=80 align=8
+ base size=80 base align=8
+QStyleOptionToolBar (0x7f1dee3bb3f0) 0
+ QStyleOption (0x7f1dee3bb460) 0
+
+Class QStyleOptionProgressBar
+ size=88 align=8
+ base size=85 base align=8
+QStyleOptionProgressBar (0x7f1dee3efbd0) 0
+ QStyleOption (0x7f1dee3efc40) 0
+
+Class QStyleOptionProgressBarV2
+ size=96 align=8
+ base size=94 base align=8
+QStyleOptionProgressBarV2 (0x7f1dee413380) 0
+ QStyleOptionProgressBar (0x7f1dee4133f0) 0
+ QStyleOption (0x7f1dee413460) 0
+
+Class QStyleOptionMenuItem
+ size=128 align=8
+ base size=128 base align=8
+QStyleOptionMenuItem (0x7f1dee413c40) 0
+ QStyleOption (0x7f1dee413cb0) 0
+
+Class QStyleOptionQ3ListViewItem
+ size=80 align=8
+ base size=76 base align=8
+QStyleOptionQ3ListViewItem (0x7f1dee42de70) 0
+ QStyleOption (0x7f1dee42dee0) 0
+
+Class QStyleOptionQ3DockWindow
+ size=64 align=8
+ base size=58 base align=8
+QStyleOptionQ3DockWindow (0x7f1dee279310) 0
+ QStyleOption (0x7f1dee279380) 0
+
+Class QStyleOptionDockWidget
+ size=72 align=8
+ base size=67 base align=8
+QStyleOptionDockWidget (0x7f1dee2852a0) 0
+ QStyleOption (0x7f1dee285310) 0
+
+Class QStyleOptionDockWidgetV2
+ size=72 align=8
+ base size=68 base align=8
+QStyleOptionDockWidgetV2 (0x7f1dee294690) 0
+ QStyleOptionDockWidget (0x7f1dee294700) 0
+ QStyleOption (0x7f1dee294770) 0
+
+Class QStyleOptionViewItem
+ size=104 align=8
+ base size=97 base align=8
+QStyleOptionViewItem (0x7f1dee29ce70) 0
+ QStyleOption (0x7f1dee29cee0) 0
+
+Class QStyleOptionViewItemV2
+ size=104 align=8
+ base size=104 base align=8
+QStyleOptionViewItemV2 (0x7f1dee2b6a10) 0
+ QStyleOptionViewItem (0x7f1dee2b6a80) 0
+ QStyleOption (0x7f1dee2b6af0) 0
+
+Class QStyleOptionViewItemV3
+ size=120 align=8
+ base size=120 base align=8
+QStyleOptionViewItemV3 (0x7f1dee2fe460) 0
+ QStyleOptionViewItemV2 (0x7f1dee2fe4d0) 0
+ QStyleOptionViewItem (0x7f1dee2fe540) 0
+ QStyleOption (0x7f1dee2fe5b0) 0
+
+Class QStyleOptionViewItemV4
+ size=184 align=8
+ base size=184 base align=8
+QStyleOptionViewItemV4 (0x7f1dee309d20) 0
+ QStyleOptionViewItemV3 (0x7f1dee309d90) 0
+ QStyleOptionViewItemV2 (0x7f1dee309e00) 0
+ QStyleOptionViewItem (0x7f1dee309e70) 0
+ QStyleOption (0x7f1dee309ee0) 0
+
+Class QStyleOptionToolBox
+ size=72 align=8
+ base size=72 base align=8
+QStyleOptionToolBox (0x7f1dee32b460) 0
+ QStyleOption (0x7f1dee32b4d0) 0
+
+Class QStyleOptionToolBoxV2
+ size=80 align=8
+ base size=80 base align=8
+QStyleOptionToolBoxV2 (0x7f1dee33a930) 0
+ QStyleOptionToolBox (0x7f1dee33a9a0) 0
+ QStyleOption (0x7f1dee33aa10) 0
+
+Class QStyleOptionRubberBand
+ size=64 align=8
+ base size=61 base align=8
+QStyleOptionRubberBand (0x7f1dee34f620) 0
+ QStyleOption (0x7f1dee34f690) 0
+
+Class QStyleOptionComplex
+ size=64 align=8
+ base size=64 base align=8
+QStyleOptionComplex (0x7f1dee35a700) 0
+ QStyleOption (0x7f1dee35a770) 0
+
+Class QStyleOptionSlider
+ size=120 align=8
+ base size=113 base align=8
+QStyleOptionSlider (0x7f1dee362ee0) 0
+ QStyleOptionComplex (0x7f1dee362f50) 0
+ QStyleOption (0x7f1dee362310) 0
+
+Class QStyleOptionSpinBox
+ size=80 align=8
+ base size=73 base align=8
+QStyleOptionSpinBox (0x7f1dee17bcb0) 0
+ QStyleOptionComplex (0x7f1dee17bd20) 0
+ QStyleOption (0x7f1dee17bd90) 0
+
+Class QStyleOptionQ3ListView
+ size=112 align=8
+ base size=105 base align=8
+QStyleOptionQ3ListView (0x7f1dee18b1c0) 0
+ QStyleOptionComplex (0x7f1dee18b230) 0
+ QStyleOption (0x7f1dee18b2a0) 0
+
+Class QStyleOptionToolButton
+ size=128 align=8
+ base size=128 base align=8
+QStyleOptionToolButton (0x7f1dee1bee00) 0
+ QStyleOptionComplex (0x7f1dee1bee70) 0
+ QStyleOption (0x7f1dee1beee0) 0
+
+Class QStyleOptionComboBox
+ size=112 align=8
+ base size=112 base align=8
+QStyleOptionComboBox (0x7f1dee214070) 0
+ QStyleOptionComplex (0x7f1dee2140e0) 0
+ QStyleOption (0x7f1dee214150) 0
+
+Class QStyleOptionTitleBar
+ size=88 align=8
+ base size=88 base align=8
+QStyleOptionTitleBar (0x7f1dee222b60) 0
+ QStyleOptionComplex (0x7f1dee222bd0) 0
+ QStyleOption (0x7f1dee222c40) 0
+
+Class QStyleOptionGroupBox
+ size=112 align=8
+ base size=108 base align=8
+QStyleOptionGroupBox (0x7f1dee2393f0) 0
+ QStyleOptionComplex (0x7f1dee239460) 0
+ QStyleOption (0x7f1dee2394d0) 0
+
+Class QStyleOptionSizeGrip
+ size=72 align=8
+ base size=68 base align=8
+QStyleOptionSizeGrip (0x7f1dee24f000) 0
+ QStyleOptionComplex (0x7f1dee24f070) 0
+ QStyleOption (0x7f1dee24f0e0) 0
+
+Class QStyleOptionGraphicsItem
+ size=144 align=8
+ base size=144 base align=8
+QStyleOptionGraphicsItem (0x7f1dee24ff50) 0
+ QStyleOption (0x7f1dee24f700) 0
+
+Class QStyleHintReturn
+ size=8 align=4
+ base size=8 base align=4
+QStyleHintReturn (0x7f1dee2672a0) 0
+
+Class QStyleHintReturnMask
+ size=16 align=8
+ base size=16 base align=8
+QStyleHintReturnMask (0x7f1dee267700) 0
+ QStyleHintReturn (0x7f1dee267770) 0
+
+Class QStyleHintReturnVariant
+ size=24 align=8
+ base size=24 base align=8
+QStyleHintReturnVariant (0x7f1dee267930) 0
+ QStyleHintReturn (0x7f1dee2679a0) 0
+
+Vtable for QAbstractItemDelegate
+QAbstractItemDelegate::_ZTV21QAbstractItemDelegate: 21u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI21QAbstractItemDelegate)
+16 QAbstractItemDelegate::metaObject
+24 QAbstractItemDelegate::qt_metacast
+32 QAbstractItemDelegate::qt_metacall
+40 QAbstractItemDelegate::~QAbstractItemDelegate
+48 QAbstractItemDelegate::~QAbstractItemDelegate
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 QAbstractItemDelegate::createEditor
+136 QAbstractItemDelegate::setEditorData
+144 QAbstractItemDelegate::setModelData
+152 QAbstractItemDelegate::updateEditorGeometry
+160 QAbstractItemDelegate::editorEvent
+
+Class QAbstractItemDelegate
+ size=16 align=8
+ base size=16 base align=8
+QAbstractItemDelegate (0x7f1dee267e00) 0
+ vptr=((& QAbstractItemDelegate::_ZTV21QAbstractItemDelegate) + 16u)
+ QObject (0x7f1dee267e70) 0
+ primary-for QAbstractItemDelegate (0x7f1dee267e00)
+
+Vtable for QAbstractItemView
+QAbstractItemView::_ZTV17QAbstractItemView: 103u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QAbstractItemView)
+16 QAbstractItemView::metaObject
+24 QAbstractItemView::qt_metacast
+32 QAbstractItemView::qt_metacall
+40 QAbstractItemView::~QAbstractItemView
+48 QAbstractItemView::~QAbstractItemView
+56 QAbstractItemView::event
+64 QObject::eventFilter
+72 QAbstractItemView::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QAbstractScrollArea::sizeHint
+136 QAbstractScrollArea::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QAbstractItemView::mousePressEvent
+168 QAbstractItemView::mouseReleaseEvent
+176 QAbstractItemView::mouseDoubleClickEvent
+184 QAbstractItemView::mouseMoveEvent
+192 QAbstractScrollArea::wheelEvent
+200 QAbstractItemView::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QAbstractItemView::focusInEvent
+224 QAbstractItemView::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QAbstractScrollArea::paintEvent
+256 QWidget::moveEvent
+264 QAbstractItemView::resizeEvent
+272 QWidget::closeEvent
+280 QAbstractScrollArea::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QAbstractItemView::dragEnterEvent
+312 QAbstractItemView::dragMoveEvent
+320 QAbstractItemView::dragLeaveEvent
+328 QAbstractItemView::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QFrame::changeEvent
+368 QWidget::metric
+376 QAbstractItemView::inputMethodEvent
+384 QAbstractItemView::inputMethodQuery
+392 QAbstractItemView::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QAbstractItemView::viewportEvent
+456 QAbstractScrollArea::scrollContentsBy
+464 QAbstractItemView::setModel
+472 QAbstractItemView::setSelectionModel
+480 QAbstractItemView::keyboardSearch
+488 __cxa_pure_virtual
+496 __cxa_pure_virtual
+504 __cxa_pure_virtual
+512 QAbstractItemView::sizeHintForRow
+520 QAbstractItemView::sizeHintForColumn
+528 QAbstractItemView::reset
+536 QAbstractItemView::setRootIndex
+544 QAbstractItemView::doItemsLayout
+552 QAbstractItemView::selectAll
+560 QAbstractItemView::dataChanged
+568 QAbstractItemView::rowsInserted
+576 QAbstractItemView::rowsAboutToBeRemoved
+584 QAbstractItemView::selectionChanged
+592 QAbstractItemView::currentChanged
+600 QAbstractItemView::updateEditorData
+608 QAbstractItemView::updateEditorGeometries
+616 QAbstractItemView::updateGeometries
+624 QAbstractItemView::verticalScrollbarAction
+632 QAbstractItemView::horizontalScrollbarAction
+640 QAbstractItemView::verticalScrollbarValueChanged
+648 QAbstractItemView::horizontalScrollbarValueChanged
+656 QAbstractItemView::closeEditor
+664 QAbstractItemView::commitData
+672 QAbstractItemView::editorDestroyed
+680 __cxa_pure_virtual
+688 __cxa_pure_virtual
+696 __cxa_pure_virtual
+704 __cxa_pure_virtual
+712 __cxa_pure_virtual
+720 __cxa_pure_virtual
+728 QAbstractItemView::selectedIndexes
+736 QAbstractItemView::edit
+744 QAbstractItemView::selectionCommand
+752 QAbstractItemView::startDrag
+760 QAbstractItemView::viewOptions
+768 (int (*)(...))-0x00000000000000010
+776 (int (*)(...))(& _ZTI17QAbstractItemView)
+784 QAbstractItemView::_ZThn16_N17QAbstractItemViewD1Ev
+792 QAbstractItemView::_ZThn16_N17QAbstractItemViewD0Ev
+800 QWidget::_ZThn16_NK7QWidget7devTypeEv
+808 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+816 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QAbstractItemView
+ size=40 align=8
+ base size=40 base align=8
+QAbstractItemView (0x7f1dee0ac4d0) 0
+ vptr=((& QAbstractItemView::_ZTV17QAbstractItemView) + 16u)
+ QAbstractScrollArea (0x7f1dee0ac540) 0
+ primary-for QAbstractItemView (0x7f1dee0ac4d0)
+ QFrame (0x7f1dee0ac5b0) 0
+ primary-for QAbstractScrollArea (0x7f1dee0ac540)
+ QWidget (0x7f1dee0ae000) 0
+ primary-for QFrame (0x7f1dee0ac5b0)
+ QObject (0x7f1dee0ac620) 0
+ primary-for QWidget (0x7f1dee0ae000)
+ QPaintDevice (0x7f1dee0ac690) 16
+ vptr=((& QAbstractItemView::_ZTV17QAbstractItemView) + 784u)
+
+Vtable for QListView
+QListView::_ZTV9QListView: 103u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QListView)
+16 QListView::metaObject
+24 QListView::qt_metacast
+32 QListView::qt_metacall
+40 QListView::~QListView
+48 QListView::~QListView
+56 QListView::event
+64 QObject::eventFilter
+72 QListView::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QAbstractScrollArea::sizeHint
+136 QAbstractScrollArea::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QAbstractItemView::mousePressEvent
+168 QListView::mouseReleaseEvent
+176 QAbstractItemView::mouseDoubleClickEvent
+184 QListView::mouseMoveEvent
+192 QAbstractScrollArea::wheelEvent
+200 QAbstractItemView::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QAbstractItemView::focusInEvent
+224 QAbstractItemView::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QListView::paintEvent
+256 QWidget::moveEvent
+264 QListView::resizeEvent
+272 QWidget::closeEvent
+280 QAbstractScrollArea::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QAbstractItemView::dragEnterEvent
+312 QListView::dragMoveEvent
+320 QListView::dragLeaveEvent
+328 QListView::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QFrame::changeEvent
+368 QWidget::metric
+376 QAbstractItemView::inputMethodEvent
+384 QAbstractItemView::inputMethodQuery
+392 QAbstractItemView::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QAbstractItemView::viewportEvent
+456 QListView::scrollContentsBy
+464 QAbstractItemView::setModel
+472 QAbstractItemView::setSelectionModel
+480 QAbstractItemView::keyboardSearch
+488 QListView::visualRect
+496 QListView::scrollTo
+504 QListView::indexAt
+512 QAbstractItemView::sizeHintForRow
+520 QAbstractItemView::sizeHintForColumn
+528 QListView::reset
+536 QListView::setRootIndex
+544 QListView::doItemsLayout
+552 QAbstractItemView::selectAll
+560 QListView::dataChanged
+568 QListView::rowsInserted
+576 QListView::rowsAboutToBeRemoved
+584 QListView::selectionChanged
+592 QListView::currentChanged
+600 QAbstractItemView::updateEditorData
+608 QAbstractItemView::updateEditorGeometries
+616 QListView::updateGeometries
+624 QAbstractItemView::verticalScrollbarAction
+632 QAbstractItemView::horizontalScrollbarAction
+640 QAbstractItemView::verticalScrollbarValueChanged
+648 QAbstractItemView::horizontalScrollbarValueChanged
+656 QAbstractItemView::closeEditor
+664 QAbstractItemView::commitData
+672 QAbstractItemView::editorDestroyed
+680 QListView::moveCursor
+688 QListView::horizontalOffset
+696 QListView::verticalOffset
+704 QListView::isIndexHidden
+712 QListView::setSelection
+720 QListView::visualRegionForSelection
+728 QListView::selectedIndexes
+736 QAbstractItemView::edit
+744 QAbstractItemView::selectionCommand
+752 QListView::startDrag
+760 QListView::viewOptions
+768 (int (*)(...))-0x00000000000000010
+776 (int (*)(...))(& _ZTI9QListView)
+784 QListView::_ZThn16_N9QListViewD1Ev
+792 QListView::_ZThn16_N9QListViewD0Ev
+800 QWidget::_ZThn16_NK7QWidget7devTypeEv
+808 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+816 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QListView
+ size=40 align=8
+ base size=40 base align=8
+QListView (0x7f1dee11fcb0) 0
+ vptr=((& QListView::_ZTV9QListView) + 16u)
+ QAbstractItemView (0x7f1dee11fd20) 0
+ primary-for QListView (0x7f1dee11fcb0)
+ QAbstractScrollArea (0x7f1dee11fd90) 0
+ primary-for QAbstractItemView (0x7f1dee11fd20)
+ QFrame (0x7f1dee11fe00) 0
+ primary-for QAbstractScrollArea (0x7f1dee11fd90)
+ QWidget (0x7f1dee0ff680) 0
+ primary-for QFrame (0x7f1dee11fe00)
+ QObject (0x7f1dee11fe70) 0
+ primary-for QWidget (0x7f1dee0ff680)
+ QPaintDevice (0x7f1dee11fee0) 16
+ vptr=((& QListView::_ZTV9QListView) + 784u)
+
+Vtable for QUndoView
+QUndoView::_ZTV9QUndoView: 103u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QUndoView)
+16 QUndoView::metaObject
+24 QUndoView::qt_metacast
+32 QUndoView::qt_metacall
+40 QUndoView::~QUndoView
+48 QUndoView::~QUndoView
+56 QListView::event
+64 QObject::eventFilter
+72 QListView::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QAbstractScrollArea::sizeHint
+136 QAbstractScrollArea::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QAbstractItemView::mousePressEvent
+168 QListView::mouseReleaseEvent
+176 QAbstractItemView::mouseDoubleClickEvent
+184 QListView::mouseMoveEvent
+192 QAbstractScrollArea::wheelEvent
+200 QAbstractItemView::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QAbstractItemView::focusInEvent
+224 QAbstractItemView::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QListView::paintEvent
+256 QWidget::moveEvent
+264 QListView::resizeEvent
+272 QWidget::closeEvent
+280 QAbstractScrollArea::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QAbstractItemView::dragEnterEvent
+312 QListView::dragMoveEvent
+320 QListView::dragLeaveEvent
+328 QListView::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QFrame::changeEvent
+368 QWidget::metric
+376 QAbstractItemView::inputMethodEvent
+384 QAbstractItemView::inputMethodQuery
+392 QAbstractItemView::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QAbstractItemView::viewportEvent
+456 QListView::scrollContentsBy
+464 QAbstractItemView::setModel
+472 QAbstractItemView::setSelectionModel
+480 QAbstractItemView::keyboardSearch
+488 QListView::visualRect
+496 QListView::scrollTo
+504 QListView::indexAt
+512 QAbstractItemView::sizeHintForRow
+520 QAbstractItemView::sizeHintForColumn
+528 QListView::reset
+536 QListView::setRootIndex
+544 QListView::doItemsLayout
+552 QAbstractItemView::selectAll
+560 QListView::dataChanged
+568 QListView::rowsInserted
+576 QListView::rowsAboutToBeRemoved
+584 QListView::selectionChanged
+592 QListView::currentChanged
+600 QAbstractItemView::updateEditorData
+608 QAbstractItemView::updateEditorGeometries
+616 QListView::updateGeometries
+624 QAbstractItemView::verticalScrollbarAction
+632 QAbstractItemView::horizontalScrollbarAction
+640 QAbstractItemView::verticalScrollbarValueChanged
+648 QAbstractItemView::horizontalScrollbarValueChanged
+656 QAbstractItemView::closeEditor
+664 QAbstractItemView::commitData
+672 QAbstractItemView::editorDestroyed
+680 QListView::moveCursor
+688 QListView::horizontalOffset
+696 QListView::verticalOffset
+704 QListView::isIndexHidden
+712 QListView::setSelection
+720 QListView::visualRegionForSelection
+728 QListView::selectedIndexes
+736 QAbstractItemView::edit
+744 QAbstractItemView::selectionCommand
+752 QListView::startDrag
+760 QListView::viewOptions
+768 (int (*)(...))-0x00000000000000010
+776 (int (*)(...))(& _ZTI9QUndoView)
+784 QUndoView::_ZThn16_N9QUndoViewD1Ev
+792 QUndoView::_ZThn16_N9QUndoViewD0Ev
+800 QWidget::_ZThn16_NK7QWidget7devTypeEv
+808 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+816 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QUndoView
+ size=40 align=8
+ base size=40 base align=8
+QUndoView (0x7f1dee16c380) 0
+ vptr=((& QUndoView::_ZTV9QUndoView) + 16u)
+ QListView (0x7f1dee16c3f0) 0
+ primary-for QUndoView (0x7f1dee16c380)
+ QAbstractItemView (0x7f1dee16c460) 0
+ primary-for QListView (0x7f1dee16c3f0)
+ QAbstractScrollArea (0x7f1dee16c4d0) 0
+ primary-for QAbstractItemView (0x7f1dee16c460)
+ QFrame (0x7f1dee16c540) 0
+ primary-for QAbstractScrollArea (0x7f1dee16c4d0)
+ QWidget (0x7f1dee164580) 0
+ primary-for QFrame (0x7f1dee16c540)
+ QObject (0x7f1dee16c5b0) 0
+ primary-for QWidget (0x7f1dee164580)
+ QPaintDevice (0x7f1dee16c620) 16
+ vptr=((& QUndoView::_ZTV9QUndoView) + 784u)
+
+Vtable for QCompleter
+QCompleter::_ZTV10QCompleter: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QCompleter)
+16 QCompleter::metaObject
+24 QCompleter::qt_metacast
+32 QCompleter::qt_metacall
+40 QCompleter::~QCompleter
+48 QCompleter::~QCompleter
+56 QCompleter::event
+64 QCompleter::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QCompleter::pathFromIndex
+120 QCompleter::splitPath
+
+Class QCompleter
+ size=16 align=8
+ base size=16 base align=8
+QCompleter (0x7f1dedf86070) 0
+ vptr=((& QCompleter::_ZTV10QCompleter) + 16u)
+ QObject (0x7f1dedf860e0) 0
+ primary-for QCompleter (0x7f1dedf86070)
+
+Vtable for QUndoCommand
+QUndoCommand::_ZTV12QUndoCommand: 8u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QUndoCommand)
+16 QUndoCommand::~QUndoCommand
+24 QUndoCommand::~QUndoCommand
+32 QUndoCommand::undo
+40 QUndoCommand::redo
+48 QUndoCommand::id
+56 QUndoCommand::mergeWith
+
+Class QUndoCommand
+ size=16 align=8
+ base size=16 base align=8
+QUndoCommand (0x7f1dedfaa000) 0
+ vptr=((& QUndoCommand::_ZTV12QUndoCommand) + 16u)
+
+Vtable for QUndoStack
+QUndoStack::_ZTV10QUndoStack: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QUndoStack)
+16 QUndoStack::metaObject
+24 QUndoStack::qt_metacast
+32 QUndoStack::qt_metacall
+40 QUndoStack::~QUndoStack
+48 QUndoStack::~QUndoStack
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QUndoStack
+ size=16 align=8
+ base size=16 base align=8
+QUndoStack (0x7f1dedfaa930) 0
+ vptr=((& QUndoStack::_ZTV10QUndoStack) + 16u)
+ QObject (0x7f1dedfaa9a0) 0
+ primary-for QUndoStack (0x7f1dedfaa930)
+
+Vtable for QSystemTrayIcon
+QSystemTrayIcon::_ZTV15QSystemTrayIcon: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QSystemTrayIcon)
+16 QSystemTrayIcon::metaObject
+24 QSystemTrayIcon::qt_metacast
+32 QSystemTrayIcon::qt_metacall
+40 QSystemTrayIcon::~QSystemTrayIcon
+48 QSystemTrayIcon::~QSystemTrayIcon
+56 QSystemTrayIcon::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QSystemTrayIcon
+ size=16 align=8
+ base size=16 base align=8
+QSystemTrayIcon (0x7f1dedfce460) 0
+ vptr=((& QSystemTrayIcon::_ZTV15QSystemTrayIcon) + 16u)
+ QObject (0x7f1dedfce4d0) 0
+ primary-for QSystemTrayIcon (0x7f1dedfce460)
+
+Vtable for QDialog
+QDialog::_ZTV7QDialog: 66u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QDialog)
+16 QDialog::metaObject
+24 QDialog::qt_metacast
+32 QDialog::qt_metacall
+40 QDialog::~QDialog
+48 QDialog::~QDialog
+56 QWidget::event
+64 QDialog::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QDialog::setVisible
+128 QDialog::sizeHint
+136 QDialog::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QDialog::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QWidget::paintEvent
+256 QWidget::moveEvent
+264 QDialog::resizeEvent
+272 QDialog::closeEvent
+280 QDialog::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QDialog::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QWidget::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QDialog::done
+456 QDialog::accept
+464 QDialog::reject
+472 (int (*)(...))-0x00000000000000010
+480 (int (*)(...))(& _ZTI7QDialog)
+488 QDialog::_ZThn16_N7QDialogD1Ev
+496 QDialog::_ZThn16_N7QDialogD0Ev
+504 QWidget::_ZThn16_NK7QWidget7devTypeEv
+512 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+520 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QDialog
+ size=40 align=8
+ base size=40 base align=8
+QDialog (0x7f1dedfeb690) 0
+ vptr=((& QDialog::_ZTV7QDialog) + 16u)
+ QWidget (0x7f1dedfea380) 0
+ primary-for QDialog (0x7f1dedfeb690)
+ QObject (0x7f1dedfeb700) 0
+ primary-for QWidget (0x7f1dedfea380)
+ QPaintDevice (0x7f1dedfeb770) 16
+ vptr=((& QDialog::_ZTV7QDialog) + 488u)
+
+Vtable for QAbstractPageSetupDialog
+QAbstractPageSetupDialog::_ZTV24QAbstractPageSetupDialog: 67u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI24QAbstractPageSetupDialog)
+16 QAbstractPageSetupDialog::metaObject
+24 QAbstractPageSetupDialog::qt_metacast
+32 QAbstractPageSetupDialog::qt_metacall
+40 QAbstractPageSetupDialog::~QAbstractPageSetupDialog
+48 QAbstractPageSetupDialog::~QAbstractPageSetupDialog
+56 QWidget::event
+64 QDialog::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QDialog::setVisible
+128 QDialog::sizeHint
+136 QDialog::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QDialog::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QWidget::paintEvent
+256 QWidget::moveEvent
+264 QDialog::resizeEvent
+272 QDialog::closeEvent
+280 QDialog::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QDialog::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QWidget::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QAbstractPageSetupDialog::done
+456 QDialog::accept
+464 QDialog::reject
+472 __cxa_pure_virtual
+480 (int (*)(...))-0x00000000000000010
+488 (int (*)(...))(& _ZTI24QAbstractPageSetupDialog)
+496 QAbstractPageSetupDialog::_ZThn16_N24QAbstractPageSetupDialogD1Ev
+504 QAbstractPageSetupDialog::_ZThn16_N24QAbstractPageSetupDialogD0Ev
+512 QWidget::_ZThn16_NK7QWidget7devTypeEv
+520 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+528 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QAbstractPageSetupDialog
+ size=40 align=8
+ base size=40 base align=8
+QAbstractPageSetupDialog (0x7f1dee0114d0) 0
+ vptr=((& QAbstractPageSetupDialog::_ZTV24QAbstractPageSetupDialog) + 16u)
+ QDialog (0x7f1dee011540) 0
+ primary-for QAbstractPageSetupDialog (0x7f1dee0114d0)
+ QWidget (0x7f1dedfead80) 0
+ primary-for QDialog (0x7f1dee011540)
+ QObject (0x7f1dee0115b0) 0
+ primary-for QWidget (0x7f1dedfead80)
+ QPaintDevice (0x7f1dee011620) 16
+ vptr=((& QAbstractPageSetupDialog::_ZTV24QAbstractPageSetupDialog) + 496u)
+
+Vtable for QColorDialog
+QColorDialog::_ZTV12QColorDialog: 66u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QColorDialog)
+16 QColorDialog::metaObject
+24 QColorDialog::qt_metacast
+32 QColorDialog::qt_metacall
+40 QColorDialog::~QColorDialog
+48 QColorDialog::~QColorDialog
+56 QWidget::event
+64 QDialog::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QColorDialog::setVisible
+128 QDialog::sizeHint
+136 QDialog::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QDialog::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QWidget::paintEvent
+256 QWidget::moveEvent
+264 QDialog::resizeEvent
+272 QDialog::closeEvent
+280 QDialog::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QDialog::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QColorDialog::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QColorDialog::done
+456 QDialog::accept
+464 QDialog::reject
+472 (int (*)(...))-0x00000000000000010
+480 (int (*)(...))(& _ZTI12QColorDialog)
+488 QColorDialog::_ZThn16_N12QColorDialogD1Ev
+496 QColorDialog::_ZThn16_N12QColorDialogD0Ev
+504 QWidget::_ZThn16_NK7QWidget7devTypeEv
+512 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+520 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QColorDialog
+ size=40 align=8
+ base size=40 base align=8
+QColorDialog (0x7f1dee026a80) 0
+ vptr=((& QColorDialog::_ZTV12QColorDialog) + 16u)
+ QDialog (0x7f1dee026af0) 0
+ primary-for QColorDialog (0x7f1dee026a80)
+ QWidget (0x7f1dee023680) 0
+ primary-for QDialog (0x7f1dee026af0)
+ QObject (0x7f1dee026b60) 0
+ primary-for QWidget (0x7f1dee023680)
+ QPaintDevice (0x7f1dee026bd0) 16
+ vptr=((& QColorDialog::_ZTV12QColorDialog) + 488u)
+
+Vtable for QFontDialog
+QFontDialog::_ZTV11QFontDialog: 66u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QFontDialog)
+16 QFontDialog::metaObject
+24 QFontDialog::qt_metacast
+32 QFontDialog::qt_metacall
+40 QFontDialog::~QFontDialog
+48 QFontDialog::~QFontDialog
+56 QWidget::event
+64 QFontDialog::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QFontDialog::setVisible
+128 QDialog::sizeHint
+136 QDialog::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QDialog::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QWidget::paintEvent
+256 QWidget::moveEvent
+264 QDialog::resizeEvent
+272 QDialog::closeEvent
+280 QDialog::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QDialog::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QFontDialog::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QFontDialog::done
+456 QDialog::accept
+464 QDialog::reject
+472 (int (*)(...))-0x00000000000000010
+480 (int (*)(...))(& _ZTI11QFontDialog)
+488 QFontDialog::_ZThn16_N11QFontDialogD1Ev
+496 QFontDialog::_ZThn16_N11QFontDialogD0Ev
+504 QWidget::_ZThn16_NK7QWidget7devTypeEv
+512 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+520 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QFontDialog
+ size=40 align=8
+ base size=40 base align=8
+QFontDialog (0x7f1dede72e00) 0
+ vptr=((& QFontDialog::_ZTV11QFontDialog) + 16u)
+ QDialog (0x7f1dede72e70) 0
+ primary-for QFontDialog (0x7f1dede72e00)
+ QWidget (0x7f1dee059900) 0
+ primary-for QDialog (0x7f1dede72e70)
+ QObject (0x7f1dede72ee0) 0
+ primary-for QWidget (0x7f1dee059900)
+ QPaintDevice (0x7f1dede72f50) 16
+ vptr=((& QFontDialog::_ZTV11QFontDialog) + 488u)
+
+Vtable for QMessageBox
+QMessageBox::_ZTV11QMessageBox: 66u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QMessageBox)
+16 QMessageBox::metaObject
+24 QMessageBox::qt_metacast
+32 QMessageBox::qt_metacall
+40 QMessageBox::~QMessageBox
+48 QMessageBox::~QMessageBox
+56 QMessageBox::event
+64 QDialog::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QDialog::setVisible
+128 QMessageBox::sizeHint
+136 QDialog::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QMessageBox::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QWidget::paintEvent
+256 QWidget::moveEvent
+264 QMessageBox::resizeEvent
+272 QMessageBox::closeEvent
+280 QDialog::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QMessageBox::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QMessageBox::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QDialog::done
+456 QDialog::accept
+464 QDialog::reject
+472 (int (*)(...))-0x00000000000000010
+480 (int (*)(...))(& _ZTI11QMessageBox)
+488 QMessageBox::_ZThn16_N11QMessageBoxD1Ev
+496 QMessageBox::_ZThn16_N11QMessageBoxD0Ev
+504 QWidget::_ZThn16_NK7QWidget7devTypeEv
+512 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+520 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QMessageBox
+ size=40 align=8
+ base size=40 base align=8
+QMessageBox (0x7f1dedee62a0) 0
+ vptr=((& QMessageBox::_ZTV11QMessageBox) + 16u)
+ QDialog (0x7f1dedee6310) 0
+ primary-for QMessageBox (0x7f1dedee62a0)
+ QWidget (0x7f1dedea7b00) 0
+ primary-for QDialog (0x7f1dedee6310)
+ QObject (0x7f1dedee6380) 0
+ primary-for QWidget (0x7f1dedea7b00)
+ QPaintDevice (0x7f1dedee63f0) 16
+ vptr=((& QMessageBox::_ZTV11QMessageBox) + 488u)
+
+Vtable for QProgressDialog
+QProgressDialog::_ZTV15QProgressDialog: 66u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QProgressDialog)
+16 QProgressDialog::metaObject
+24 QProgressDialog::qt_metacast
+32 QProgressDialog::qt_metacall
+40 QProgressDialog::~QProgressDialog
+48 QProgressDialog::~QProgressDialog
+56 QWidget::event
+64 QDialog::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QDialog::setVisible
+128 QProgressDialog::sizeHint
+136 QDialog::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QDialog::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QWidget::paintEvent
+256 QWidget::moveEvent
+264 QProgressDialog::resizeEvent
+272 QProgressDialog::closeEvent
+280 QDialog::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QProgressDialog::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QProgressDialog::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QDialog::done
+456 QDialog::accept
+464 QDialog::reject
+472 (int (*)(...))-0x00000000000000010
+480 (int (*)(...))(& _ZTI15QProgressDialog)
+488 QProgressDialog::_ZThn16_N15QProgressDialogD1Ev
+496 QProgressDialog::_ZThn16_N15QProgressDialogD0Ev
+504 QWidget::_ZThn16_NK7QWidget7devTypeEv
+512 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+520 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QProgressDialog
+ size=40 align=8
+ base size=40 base align=8
+QProgressDialog (0x7f1dedf61bd0) 0
+ vptr=((& QProgressDialog::_ZTV15QProgressDialog) + 16u)
+ QDialog (0x7f1dedf61c40) 0
+ primary-for QProgressDialog (0x7f1dedf61bd0)
+ QWidget (0x7f1dedd77100) 0
+ primary-for QDialog (0x7f1dedf61c40)
+ QObject (0x7f1dedf61cb0) 0
+ primary-for QWidget (0x7f1dedd77100)
+ QPaintDevice (0x7f1dedf61d20) 16
+ vptr=((& QProgressDialog::_ZTV15QProgressDialog) + 488u)
+
+Vtable for QErrorMessage
+QErrorMessage::_ZTV13QErrorMessage: 66u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QErrorMessage)
+16 QErrorMessage::metaObject
+24 QErrorMessage::qt_metacast
+32 QErrorMessage::qt_metacall
+40 QErrorMessage::~QErrorMessage
+48 QErrorMessage::~QErrorMessage
+56 QWidget::event
+64 QDialog::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QDialog::setVisible
+128 QDialog::sizeHint
+136 QDialog::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QDialog::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QWidget::paintEvent
+256 QWidget::moveEvent
+264 QDialog::resizeEvent
+272 QDialog::closeEvent
+280 QDialog::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QDialog::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QErrorMessage::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QErrorMessage::done
+456 QDialog::accept
+464 QDialog::reject
+472 (int (*)(...))-0x00000000000000010
+480 (int (*)(...))(& _ZTI13QErrorMessage)
+488 QErrorMessage::_ZThn16_N13QErrorMessageD1Ev
+496 QErrorMessage::_ZThn16_N13QErrorMessageD0Ev
+504 QWidget::_ZThn16_NK7QWidget7devTypeEv
+512 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+520 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QErrorMessage
+ size=40 align=8
+ base size=40 base align=8
+QErrorMessage (0x7f1dedd9a7e0) 0
+ vptr=((& QErrorMessage::_ZTV13QErrorMessage) + 16u)
+ QDialog (0x7f1dedd9a850) 0
+ primary-for QErrorMessage (0x7f1dedd9a7e0)
+ QWidget (0x7f1dedd77a00) 0
+ primary-for QDialog (0x7f1dedd9a850)
+ QObject (0x7f1dedd9a8c0) 0
+ primary-for QWidget (0x7f1dedd77a00)
+ QPaintDevice (0x7f1dedd9a930) 16
+ vptr=((& QErrorMessage::_ZTV13QErrorMessage) + 488u)
+
+Vtable for QPrintPreviewDialog
+QPrintPreviewDialog::_ZTV19QPrintPreviewDialog: 66u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QPrintPreviewDialog)
+16 QPrintPreviewDialog::metaObject
+24 QPrintPreviewDialog::qt_metacast
+32 QPrintPreviewDialog::qt_metacall
+40 QPrintPreviewDialog::~QPrintPreviewDialog
+48 QPrintPreviewDialog::~QPrintPreviewDialog
+56 QWidget::event
+64 QDialog::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QPrintPreviewDialog::setVisible
+128 QDialog::sizeHint
+136 QDialog::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QDialog::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QWidget::paintEvent
+256 QWidget::moveEvent
+264 QDialog::resizeEvent
+272 QDialog::closeEvent
+280 QDialog::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QDialog::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QWidget::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QPrintPreviewDialog::done
+456 QDialog::accept
+464 QDialog::reject
+472 (int (*)(...))-0x00000000000000010
+480 (int (*)(...))(& _ZTI19QPrintPreviewDialog)
+488 QPrintPreviewDialog::_ZThn16_N19QPrintPreviewDialogD1Ev
+496 QPrintPreviewDialog::_ZThn16_N19QPrintPreviewDialogD0Ev
+504 QWidget::_ZThn16_NK7QWidget7devTypeEv
+512 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+520 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QPrintPreviewDialog
+ size=48 align=8
+ base size=48 base align=8
+QPrintPreviewDialog (0x7f1deddb73f0) 0
+ vptr=((& QPrintPreviewDialog::_ZTV19QPrintPreviewDialog) + 16u)
+ QDialog (0x7f1deddb7460) 0
+ primary-for QPrintPreviewDialog (0x7f1deddb73f0)
+ QWidget (0x7f1deddb3480) 0
+ primary-for QDialog (0x7f1deddb7460)
+ QObject (0x7f1deddb74d0) 0
+ primary-for QWidget (0x7f1deddb3480)
+ QPaintDevice (0x7f1deddb7540) 16
+ vptr=((& QPrintPreviewDialog::_ZTV19QPrintPreviewDialog) + 488u)
+
+Vtable for QFileDialog
+QFileDialog::_ZTV11QFileDialog: 66u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QFileDialog)
+16 QFileDialog::metaObject
+24 QFileDialog::qt_metacast
+32 QFileDialog::qt_metacall
+40 QFileDialog::~QFileDialog
+48 QFileDialog::~QFileDialog
+56 QWidget::event
+64 QDialog::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QFileDialog::setVisible
+128 QDialog::sizeHint
+136 QDialog::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QDialog::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QWidget::paintEvent
+256 QWidget::moveEvent
+264 QDialog::resizeEvent
+272 QDialog::closeEvent
+280 QDialog::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QDialog::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QFileDialog::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QFileDialog::done
+456 QFileDialog::accept
+464 QDialog::reject
+472 (int (*)(...))-0x00000000000000010
+480 (int (*)(...))(& _ZTI11QFileDialog)
+488 QFileDialog::_ZThn16_N11QFileDialogD1Ev
+496 QFileDialog::_ZThn16_N11QFileDialogD0Ev
+504 QWidget::_ZThn16_NK7QWidget7devTypeEv
+512 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+520 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QFileDialog
+ size=40 align=8
+ base size=40 base align=8
+QFileDialog (0x7f1deddcea80) 0
+ vptr=((& QFileDialog::_ZTV11QFileDialog) + 16u)
+ QDialog (0x7f1deddceaf0) 0
+ primary-for QFileDialog (0x7f1deddcea80)
+ QWidget (0x7f1deddb3d80) 0
+ primary-for QDialog (0x7f1deddceaf0)
+ QObject (0x7f1deddceb60) 0
+ primary-for QWidget (0x7f1deddb3d80)
+ QPaintDevice (0x7f1deddcebd0) 16
+ vptr=((& QFileDialog::_ZTV11QFileDialog) + 488u)
+
+Vtable for QAbstractPrintDialog
+QAbstractPrintDialog::_ZTV20QAbstractPrintDialog: 67u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI20QAbstractPrintDialog)
+16 QAbstractPrintDialog::metaObject
+24 QAbstractPrintDialog::qt_metacast
+32 QAbstractPrintDialog::qt_metacall
+40 QAbstractPrintDialog::~QAbstractPrintDialog
+48 QAbstractPrintDialog::~QAbstractPrintDialog
+56 QWidget::event
+64 QDialog::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QDialog::setVisible
+128 QDialog::sizeHint
+136 QDialog::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QDialog::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QWidget::paintEvent
+256 QWidget::moveEvent
+264 QDialog::resizeEvent
+272 QDialog::closeEvent
+280 QDialog::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QDialog::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QWidget::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QDialog::done
+456 QDialog::accept
+464 QDialog::reject
+472 __cxa_pure_virtual
+480 (int (*)(...))-0x00000000000000010
+488 (int (*)(...))(& _ZTI20QAbstractPrintDialog)
+496 QAbstractPrintDialog::_ZThn16_N20QAbstractPrintDialogD1Ev
+504 QAbstractPrintDialog::_ZThn16_N20QAbstractPrintDialogD0Ev
+512 QWidget::_ZThn16_NK7QWidget7devTypeEv
+520 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+528 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QAbstractPrintDialog
+ size=40 align=8
+ base size=40 base align=8
+QAbstractPrintDialog (0x7f1dede63070) 0
+ vptr=((& QAbstractPrintDialog::_ZTV20QAbstractPrintDialog) + 16u)
+ QDialog (0x7f1dede630e0) 0
+ primary-for QAbstractPrintDialog (0x7f1dede63070)
+ QWidget (0x7f1dede60200) 0
+ primary-for QDialog (0x7f1dede630e0)
+ QObject (0x7f1dede63150) 0
+ primary-for QWidget (0x7f1dede60200)
+ QPaintDevice (0x7f1dede631c0) 16
+ vptr=((& QAbstractPrintDialog::_ZTV20QAbstractPrintDialog) + 496u)
+
+Vtable for QUnixPrintWidget
+QUnixPrintWidget::_ZTV16QUnixPrintWidget: 63u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QUnixPrintWidget)
+16 QUnixPrintWidget::metaObject
+24 QUnixPrintWidget::qt_metacast
+32 QUnixPrintWidget::qt_metacall
+40 QUnixPrintWidget::~QUnixPrintWidget
+48 QUnixPrintWidget::~QUnixPrintWidget
+56 QWidget::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QWidget::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QWidget::paintEvent
+256 QWidget::moveEvent
+264 QWidget::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QWidget::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 (int (*)(...))-0x00000000000000010
+456 (int (*)(...))(& _ZTI16QUnixPrintWidget)
+464 QUnixPrintWidget::_ZThn16_N16QUnixPrintWidgetD1Ev
+472 QUnixPrintWidget::_ZThn16_N16QUnixPrintWidgetD0Ev
+480 QWidget::_ZThn16_NK7QWidget7devTypeEv
+488 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+496 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QUnixPrintWidget
+ size=48 align=8
+ base size=48 base align=8
+QUnixPrintWidget (0x7f1dedcbe150) 0
+ vptr=((& QUnixPrintWidget::_ZTV16QUnixPrintWidget) + 16u)
+ QWidget (0x7f1dedc8d580) 0
+ primary-for QUnixPrintWidget (0x7f1dedcbe150)
+ QObject (0x7f1dedcbe1c0) 0
+ primary-for QWidget (0x7f1dedc8d580)
+ QPaintDevice (0x7f1dedcbe230) 16
+ vptr=((& QUnixPrintWidget::_ZTV16QUnixPrintWidget) + 464u)
+
+Vtable for QPrintDialog
+QPrintDialog::_ZTV12QPrintDialog: 67u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QPrintDialog)
+16 QPrintDialog::metaObject
+24 QPrintDialog::qt_metacast
+32 QPrintDialog::qt_metacall
+40 QPrintDialog::~QPrintDialog
+48 QPrintDialog::~QPrintDialog
+56 QWidget::event
+64 QDialog::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QPrintDialog::setVisible
+128 QDialog::sizeHint
+136 QDialog::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QDialog::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QWidget::paintEvent
+256 QWidget::moveEvent
+264 QDialog::resizeEvent
+272 QDialog::closeEvent
+280 QDialog::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QDialog::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QWidget::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QPrintDialog::done
+456 QPrintDialog::accept
+464 QDialog::reject
+472 QPrintDialog::exec
+480 (int (*)(...))-0x00000000000000010
+488 (int (*)(...))(& _ZTI12QPrintDialog)
+496 QPrintDialog::_ZThn16_N12QPrintDialogD1Ev
+504 QPrintDialog::_ZThn16_N12QPrintDialogD0Ev
+512 QWidget::_ZThn16_NK7QWidget7devTypeEv
+520 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+528 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QPrintDialog
+ size=40 align=8
+ base size=40 base align=8
+QPrintDialog (0x7f1dedcd3070) 0
+ vptr=((& QPrintDialog::_ZTV12QPrintDialog) + 16u)
+ QAbstractPrintDialog (0x7f1dedcd30e0) 0
+ primary-for QPrintDialog (0x7f1dedcd3070)
+ QDialog (0x7f1dedcd3150) 0
+ primary-for QAbstractPrintDialog (0x7f1dedcd30e0)
+ QWidget (0x7f1dedc8dc80) 0
+ primary-for QDialog (0x7f1dedcd3150)
+ QObject (0x7f1dedcd31c0) 0
+ primary-for QWidget (0x7f1dedc8dc80)
+ QPaintDevice (0x7f1dedcd3230) 16
+ vptr=((& QPrintDialog::_ZTV12QPrintDialog) + 496u)
+
+Vtable for QWizard
+QWizard::_ZTV7QWizard: 70u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QWizard)
+16 QWizard::metaObject
+24 QWizard::qt_metacast
+32 QWizard::qt_metacall
+40 QWizard::~QWizard
+48 QWizard::~QWizard
+56 QWizard::event
+64 QDialog::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWizard::setVisible
+128 QWizard::sizeHint
+136 QDialog::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QDialog::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QWizard::paintEvent
+256 QWidget::moveEvent
+264 QWizard::resizeEvent
+272 QDialog::closeEvent
+280 QDialog::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QDialog::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QWidget::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QWizard::done
+456 QDialog::accept
+464 QDialog::reject
+472 QWizard::validateCurrentPage
+480 QWizard::nextId
+488 QWizard::initializePage
+496 QWizard::cleanupPage
+504 (int (*)(...))-0x00000000000000010
+512 (int (*)(...))(& _ZTI7QWizard)
+520 QWizard::_ZThn16_N7QWizardD1Ev
+528 QWizard::_ZThn16_N7QWizardD0Ev
+536 QWidget::_ZThn16_NK7QWidget7devTypeEv
+544 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+552 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QWizard
+ size=40 align=8
+ base size=40 base align=8
+QWizard (0x7f1dedcebbd0) 0
+ vptr=((& QWizard::_ZTV7QWizard) + 16u)
+ QDialog (0x7f1dedcebc40) 0
+ primary-for QWizard (0x7f1dedcebbd0)
+ QWidget (0x7f1dedce6580) 0
+ primary-for QDialog (0x7f1dedcebc40)
+ QObject (0x7f1dedcebcb0) 0
+ primary-for QWidget (0x7f1dedce6580)
+ QPaintDevice (0x7f1dedcebd20) 16
+ vptr=((& QWizard::_ZTV7QWizard) + 520u)
+
+Vtable for QWizardPage
+QWizardPage::_ZTV11QWizardPage: 68u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QWizardPage)
+16 QWizardPage::metaObject
+24 QWizardPage::qt_metacast
+32 QWizardPage::qt_metacall
+40 QWizardPage::~QWizardPage
+48 QWizardPage::~QWizardPage
+56 QWidget::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QWidget::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QWidget::paintEvent
+256 QWidget::moveEvent
+264 QWidget::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QWidget::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QWizardPage::initializePage
+456 QWizardPage::cleanupPage
+464 QWizardPage::validatePage
+472 QWizardPage::isComplete
+480 QWizardPage::nextId
+488 (int (*)(...))-0x00000000000000010
+496 (int (*)(...))(& _ZTI11QWizardPage)
+504 QWizardPage::_ZThn16_N11QWizardPageD1Ev
+512 QWizardPage::_ZThn16_N11QWizardPageD0Ev
+520 QWidget::_ZThn16_NK7QWidget7devTypeEv
+528 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+536 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QWizardPage
+ size=40 align=8
+ base size=40 base align=8
+QWizardPage (0x7f1dedd41f50) 0
+ vptr=((& QWizardPage::_ZTV11QWizardPage) + 16u)
+ QWidget (0x7f1dedd1e780) 0
+ primary-for QWizardPage (0x7f1dedd41f50)
+ QObject (0x7f1dedd5c000) 0
+ primary-for QWidget (0x7f1dedd1e780)
+ QPaintDevice (0x7f1dedd5c070) 16
+ vptr=((& QWizardPage::_ZTV11QWizardPage) + 504u)
+
+Vtable for QPageSetupDialog
+QPageSetupDialog::_ZTV16QPageSetupDialog: 67u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QPageSetupDialog)
+16 QPageSetupDialog::metaObject
+24 QPageSetupDialog::qt_metacast
+32 QPageSetupDialog::qt_metacall
+40 QPageSetupDialog::~QPageSetupDialog
+48 QPageSetupDialog::~QPageSetupDialog
+56 QWidget::event
+64 QDialog::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QDialog::setVisible
+128 QDialog::sizeHint
+136 QDialog::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QDialog::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QWidget::paintEvent
+256 QWidget::moveEvent
+264 QDialog::resizeEvent
+272 QDialog::closeEvent
+280 QDialog::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QDialog::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QWidget::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QAbstractPageSetupDialog::done
+456 QDialog::accept
+464 QDialog::reject
+472 QPageSetupDialog::exec
+480 (int (*)(...))-0x00000000000000010
+488 (int (*)(...))(& _ZTI16QPageSetupDialog)
+496 QPageSetupDialog::_ZThn16_N16QPageSetupDialogD1Ev
+504 QPageSetupDialog::_ZThn16_N16QPageSetupDialogD0Ev
+512 QWidget::_ZThn16_NK7QWidget7devTypeEv
+520 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+528 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QPageSetupDialog
+ size=40 align=8
+ base size=40 base align=8
+QPageSetupDialog (0x7f1dedb74a80) 0
+ vptr=((& QPageSetupDialog::_ZTV16QPageSetupDialog) + 16u)
+ QAbstractPageSetupDialog (0x7f1dedb74af0) 0
+ primary-for QPageSetupDialog (0x7f1dedb74a80)
+ QDialog (0x7f1dedb74b60) 0
+ primary-for QAbstractPageSetupDialog (0x7f1dedb74af0)
+ QWidget (0x7f1dedb78080) 0
+ primary-for QDialog (0x7f1dedb74b60)
+ QObject (0x7f1dedb74bd0) 0
+ primary-for QWidget (0x7f1dedb78080)
+ QPaintDevice (0x7f1dedb74c40) 16
+ vptr=((& QPageSetupDialog::_ZTV16QPageSetupDialog) + 496u)
+
+Vtable for QLineEdit
+QLineEdit::_ZTV9QLineEdit: 63u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QLineEdit)
+16 QLineEdit::metaObject
+24 QLineEdit::qt_metacast
+32 QLineEdit::qt_metacall
+40 QLineEdit::~QLineEdit
+48 QLineEdit::~QLineEdit
+56 QLineEdit::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QLineEdit::sizeHint
+136 QLineEdit::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QLineEdit::mousePressEvent
+168 QLineEdit::mouseReleaseEvent
+176 QLineEdit::mouseDoubleClickEvent
+184 QLineEdit::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QLineEdit::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QLineEdit::focusInEvent
+224 QLineEdit::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QLineEdit::paintEvent
+256 QWidget::moveEvent
+264 QWidget::resizeEvent
+272 QWidget::closeEvent
+280 QLineEdit::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QLineEdit::dragEnterEvent
+312 QLineEdit::dragMoveEvent
+320 QLineEdit::dragLeaveEvent
+328 QLineEdit::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QLineEdit::changeEvent
+368 QWidget::metric
+376 QLineEdit::inputMethodEvent
+384 QLineEdit::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 (int (*)(...))-0x00000000000000010
+456 (int (*)(...))(& _ZTI9QLineEdit)
+464 QLineEdit::_ZThn16_N9QLineEditD1Ev
+472 QLineEdit::_ZThn16_N9QLineEditD0Ev
+480 QWidget::_ZThn16_NK7QWidget7devTypeEv
+488 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+496 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QLineEdit
+ size=40 align=8
+ base size=40 base align=8
+QLineEdit (0x7f1dedb92a10) 0
+ vptr=((& QLineEdit::_ZTV9QLineEdit) + 16u)
+ QWidget (0x7f1dedb78b00) 0
+ primary-for QLineEdit (0x7f1dedb92a10)
+ QObject (0x7f1dedb92a80) 0
+ primary-for QWidget (0x7f1dedb78b00)
+ QPaintDevice (0x7f1dedb92af0) 16
+ vptr=((& QLineEdit::_ZTV9QLineEdit) + 464u)
+
+Vtable for QInputDialog
+QInputDialog::_ZTV12QInputDialog: 66u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QInputDialog)
+16 QInputDialog::metaObject
+24 QInputDialog::qt_metacast
+32 QInputDialog::qt_metacall
+40 QInputDialog::~QInputDialog
+48 QInputDialog::~QInputDialog
+56 QWidget::event
+64 QDialog::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QInputDialog::setVisible
+128 QInputDialog::sizeHint
+136 QInputDialog::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QDialog::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QWidget::paintEvent
+256 QWidget::moveEvent
+264 QDialog::resizeEvent
+272 QDialog::closeEvent
+280 QDialog::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QDialog::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QWidget::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QInputDialog::done
+456 QDialog::accept
+464 QDialog::reject
+472 (int (*)(...))-0x00000000000000010
+480 (int (*)(...))(& _ZTI12QInputDialog)
+488 QInputDialog::_ZThn16_N12QInputDialogD1Ev
+496 QInputDialog::_ZThn16_N12QInputDialogD0Ev
+504 QWidget::_ZThn16_NK7QWidget7devTypeEv
+512 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+520 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QInputDialog
+ size=40 align=8
+ base size=40 base align=8
+QInputDialog (0x7f1dedbe3930) 0
+ vptr=((& QInputDialog::_ZTV12QInputDialog) + 16u)
+ QDialog (0x7f1dedbe39a0) 0
+ primary-for QInputDialog (0x7f1dedbe3930)
+ QWidget (0x7f1dedbe0980) 0
+ primary-for QDialog (0x7f1dedbe39a0)
+ QObject (0x7f1dedbe3a10) 0
+ primary-for QWidget (0x7f1dedbe0980)
+ QPaintDevice (0x7f1dedbe3a80) 16
+ vptr=((& QInputDialog::_ZTV12QInputDialog) + 488u)
+
+Vtable for QFileSystemModel
+QFileSystemModel::_ZTV16QFileSystemModel: 42u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QFileSystemModel)
+16 QFileSystemModel::metaObject
+24 QFileSystemModel::qt_metacast
+32 QFileSystemModel::qt_metacall
+40 QFileSystemModel::~QFileSystemModel
+48 QFileSystemModel::~QFileSystemModel
+56 QFileSystemModel::event
+64 QObject::eventFilter
+72 QFileSystemModel::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QFileSystemModel::index
+120 QFileSystemModel::parent
+128 QFileSystemModel::rowCount
+136 QFileSystemModel::columnCount
+144 QFileSystemModel::hasChildren
+152 QFileSystemModel::data
+160 QFileSystemModel::setData
+168 QFileSystemModel::headerData
+176 QAbstractItemModel::setHeaderData
+184 QAbstractItemModel::itemData
+192 QAbstractItemModel::setItemData
+200 QFileSystemModel::mimeTypes
+208 QFileSystemModel::mimeData
+216 QFileSystemModel::dropMimeData
+224 QFileSystemModel::supportedDropActions
+232 QAbstractItemModel::insertRows
+240 QAbstractItemModel::insertColumns
+248 QAbstractItemModel::removeRows
+256 QAbstractItemModel::removeColumns
+264 QFileSystemModel::fetchMore
+272 QFileSystemModel::canFetchMore
+280 QFileSystemModel::flags
+288 QFileSystemModel::sort
+296 QAbstractItemModel::buddy
+304 QAbstractItemModel::match
+312 QAbstractItemModel::span
+320 QAbstractItemModel::submit
+328 QAbstractItemModel::revert
+
+Class QFileSystemModel
+ size=16 align=8
+ base size=16 base align=8
+QFileSystemModel (0x7f1dedc457e0) 0
+ vptr=((& QFileSystemModel::_ZTV16QFileSystemModel) + 16u)
+ QAbstractItemModel (0x7f1dedc45850) 0
+ primary-for QFileSystemModel (0x7f1dedc457e0)
+ QObject (0x7f1dedc458c0) 0
+ primary-for QAbstractItemModel (0x7f1dedc45850)
+
+Class QPixmapCache
+ size=1 align=1
+ base size=0 base align=1
+QPixmapCache (0x7f1deda8aee0) 0 empty
+
+Vtable for QImageIOHandler
+QImageIOHandler::_ZTV15QImageIOHandler: 18u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QImageIOHandler)
+16 QImageIOHandler::~QImageIOHandler
+24 QImageIOHandler::~QImageIOHandler
+32 QImageIOHandler::name
+40 __cxa_pure_virtual
+48 __cxa_pure_virtual
+56 QImageIOHandler::write
+64 QImageIOHandler::option
+72 QImageIOHandler::setOption
+80 QImageIOHandler::supportsOption
+88 QImageIOHandler::jumpToNextImage
+96 QImageIOHandler::jumpToImage
+104 QImageIOHandler::loopCount
+112 QImageIOHandler::imageCount
+120 QImageIOHandler::nextImageDelay
+128 QImageIOHandler::currentImageNumber
+136 QImageIOHandler::currentImageRect
+
+Class QImageIOHandler
+ size=16 align=8
+ base size=16 base align=8
+QImageIOHandler (0x7f1deda8af50) 0
+ vptr=((& QImageIOHandler::_ZTV15QImageIOHandler) + 16u)
+
+Vtable for QImageIOHandlerFactoryInterface
+QImageIOHandlerFactoryInterface::_ZTV31QImageIOHandlerFactoryInterface: 6u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI31QImageIOHandlerFactoryInterface)
+16 QImageIOHandlerFactoryInterface::~QImageIOHandlerFactoryInterface
+24 QImageIOHandlerFactoryInterface::~QImageIOHandlerFactoryInterface
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+
+Class QImageIOHandlerFactoryInterface
+ size=8 align=8
+ base size=8 base align=8
+QImageIOHandlerFactoryInterface (0x7f1deda9bb60) 0 nearly-empty
+ vptr=((& QImageIOHandlerFactoryInterface::_ZTV31QImageIOHandlerFactoryInterface) + 16u)
+ QFactoryInterface (0x7f1deda9bbd0) 0 nearly-empty
+ primary-for QImageIOHandlerFactoryInterface (0x7f1deda9bb60)
+
+Vtable for QImageIOPlugin
+QImageIOPlugin::_ZTV14QImageIOPlugin: 23u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QImageIOPlugin)
+16 QImageIOPlugin::metaObject
+24 QImageIOPlugin::qt_metacast
+32 QImageIOPlugin::qt_metacall
+40 QImageIOPlugin::~QImageIOPlugin
+48 QImageIOPlugin::~QImageIOPlugin
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 __cxa_pure_virtual
+136 (int (*)(...))-0x00000000000000010
+144 (int (*)(...))(& _ZTI14QImageIOPlugin)
+152 QImageIOPlugin::_ZThn16_N14QImageIOPluginD1Ev
+160 QImageIOPlugin::_ZThn16_N14QImageIOPluginD0Ev
+168 __cxa_pure_virtual
+176 __cxa_pure_virtual
+
+Class QImageIOPlugin
+ size=24 align=8
+ base size=24 base align=8
+QImageIOPlugin (0x7f1deda9fb00) 0
+ vptr=((& QImageIOPlugin::_ZTV14QImageIOPlugin) + 16u)
+ QObject (0x7f1dedaaf3f0) 0
+ primary-for QImageIOPlugin (0x7f1deda9fb00)
+ QImageIOHandlerFactoryInterface (0x7f1dedaaf460) 16 nearly-empty
+ vptr=((& QImageIOPlugin::_ZTV14QImageIOPlugin) + 152u)
+ QFactoryInterface (0x7f1dedaaf4d0) 16 nearly-empty
+ primary-for QImageIOHandlerFactoryInterface (0x7f1dedaaf460)
+
+Vtable for QPicture
+QPicture::_ZTV8QPicture: 8u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI8QPicture)
+16 QPicture::~QPicture
+24 QPicture::~QPicture
+32 QPicture::devType
+40 QPicture::paintEngine
+48 QPicture::metric
+56 QPicture::setData
+
+Class QPicture
+ size=24 align=8
+ base size=24 base align=8
+QPicture (0x7f1dedb024d0) 0
+ vptr=((& QPicture::_ZTV8QPicture) + 16u)
+ QPaintDevice (0x7f1dedb02540) 0
+ primary-for QPicture (0x7f1dedb024d0)
+
+Class QPictureIO
+ size=8 align=8
+ base size=8 base align=8
+QPictureIO (0x7f1dedb1b070) 0
+
+Class QImageReader
+ size=8 align=8
+ base size=8 base align=8
+QImageReader (0x7f1dedb1b690) 0
+
+Class QImageWriter
+ size=8 align=8
+ base size=8 base align=8
+QImageWriter (0x7f1dedb380e0) 0
+
+Vtable for QMovie
+QMovie::_ZTV6QMovie: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI6QMovie)
+16 QMovie::metaObject
+24 QMovie::qt_metacast
+32 QMovie::qt_metacall
+40 QMovie::~QMovie
+48 QMovie::~QMovie
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QMovie
+ size=16 align=8
+ base size=16 base align=8
+QMovie (0x7f1dedb38930) 0
+ vptr=((& QMovie::_ZTV6QMovie) + 16u)
+ QObject (0x7f1dedb389a0) 0
+ primary-for QMovie (0x7f1dedb38930)
+
+Vtable for QIconEngineFactoryInterface
+QIconEngineFactoryInterface::_ZTV27QIconEngineFactoryInterface: 6u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI27QIconEngineFactoryInterface)
+16 QIconEngineFactoryInterface::~QIconEngineFactoryInterface
+24 QIconEngineFactoryInterface::~QIconEngineFactoryInterface
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+
+Class QIconEngineFactoryInterface
+ size=8 align=8
+ base size=8 base align=8
+QIconEngineFactoryInterface (0x7f1ded97d9a0) 0 nearly-empty
+ vptr=((& QIconEngineFactoryInterface::_ZTV27QIconEngineFactoryInterface) + 16u)
+ QFactoryInterface (0x7f1ded97da10) 0 nearly-empty
+ primary-for QIconEngineFactoryInterface (0x7f1ded97d9a0)
+
+Vtable for QIconEnginePlugin
+QIconEnginePlugin::_ZTV17QIconEnginePlugin: 22u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QIconEnginePlugin)
+16 QIconEnginePlugin::metaObject
+24 QIconEnginePlugin::qt_metacast
+32 QIconEnginePlugin::qt_metacall
+40 QIconEnginePlugin::~QIconEnginePlugin
+48 QIconEnginePlugin::~QIconEnginePlugin
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 (int (*)(...))-0x00000000000000010
+136 (int (*)(...))(& _ZTI17QIconEnginePlugin)
+144 QIconEnginePlugin::_ZThn16_N17QIconEnginePluginD1Ev
+152 QIconEnginePlugin::_ZThn16_N17QIconEnginePluginD0Ev
+160 __cxa_pure_virtual
+168 __cxa_pure_virtual
+
+Class QIconEnginePlugin
+ size=24 align=8
+ base size=24 base align=8
+QIconEnginePlugin (0x7f1ded97be80) 0
+ vptr=((& QIconEnginePlugin::_ZTV17QIconEnginePlugin) + 16u)
+ QObject (0x7f1ded986230) 0
+ primary-for QIconEnginePlugin (0x7f1ded97be80)
+ QIconEngineFactoryInterface (0x7f1ded9862a0) 16 nearly-empty
+ vptr=((& QIconEnginePlugin::_ZTV17QIconEnginePlugin) + 144u)
+ QFactoryInterface (0x7f1ded986310) 16 nearly-empty
+ primary-for QIconEngineFactoryInterface (0x7f1ded9862a0)
+
+Vtable for QIconEngineFactoryInterfaceV2
+QIconEngineFactoryInterfaceV2::_ZTV29QIconEngineFactoryInterfaceV2: 6u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI29QIconEngineFactoryInterfaceV2)
+16 QIconEngineFactoryInterfaceV2::~QIconEngineFactoryInterfaceV2
+24 QIconEngineFactoryInterfaceV2::~QIconEngineFactoryInterfaceV2
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+
+Class QIconEngineFactoryInterfaceV2
+ size=8 align=8
+ base size=8 base align=8
+QIconEngineFactoryInterfaceV2 (0x7f1ded9961c0) 0 nearly-empty
+ vptr=((& QIconEngineFactoryInterfaceV2::_ZTV29QIconEngineFactoryInterfaceV2) + 16u)
+ QFactoryInterface (0x7f1ded996230) 0 nearly-empty
+ primary-for QIconEngineFactoryInterfaceV2 (0x7f1ded9961c0)
+
+Vtable for QIconEnginePluginV2
+QIconEnginePluginV2::_ZTV19QIconEnginePluginV2: 22u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QIconEnginePluginV2)
+16 QIconEnginePluginV2::metaObject
+24 QIconEnginePluginV2::qt_metacast
+32 QIconEnginePluginV2::qt_metacall
+40 QIconEnginePluginV2::~QIconEnginePluginV2
+48 QIconEnginePluginV2::~QIconEnginePluginV2
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 (int (*)(...))-0x00000000000000010
+136 (int (*)(...))(& _ZTI19QIconEnginePluginV2)
+144 QIconEnginePluginV2::_ZThn16_N19QIconEnginePluginV2D1Ev
+152 QIconEnginePluginV2::_ZThn16_N19QIconEnginePluginV2D0Ev
+160 __cxa_pure_virtual
+168 __cxa_pure_virtual
+
+Class QIconEnginePluginV2
+ size=24 align=8
+ base size=24 base align=8
+QIconEnginePluginV2 (0x7f1ded990d00) 0
+ vptr=((& QIconEnginePluginV2::_ZTV19QIconEnginePluginV2) + 16u)
+ QObject (0x7f1ded996af0) 0
+ primary-for QIconEnginePluginV2 (0x7f1ded990d00)
+ QIconEngineFactoryInterfaceV2 (0x7f1ded996b60) 16 nearly-empty
+ vptr=((& QIconEnginePluginV2::_ZTV19QIconEnginePluginV2) + 144u)
+ QFactoryInterface (0x7f1ded996bd0) 16 nearly-empty
+ primary-for QIconEngineFactoryInterfaceV2 (0x7f1ded996b60)
+
+Vtable for QIconEngine
+QIconEngine::_ZTV11QIconEngine: 9u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QIconEngine)
+16 QIconEngine::~QIconEngine
+24 QIconEngine::~QIconEngine
+32 __cxa_pure_virtual
+40 QIconEngine::actualSize
+48 QIconEngine::pixmap
+56 QIconEngine::addPixmap
+64 QIconEngine::addFile
+
+Class QIconEngine
+ size=8 align=8
+ base size=8 base align=8
+QIconEngine (0x7f1ded9ada80) 0 nearly-empty
+ vptr=((& QIconEngine::_ZTV11QIconEngine) + 16u)
+
+Class QIconEngineV2::AvailableSizesArgument
+ size=16 align=8
+ base size=16 base align=8
+QIconEngineV2::AvailableSizesArgument (0x7f1ded9b82a0) 0
+
+Vtable for QIconEngineV2
+QIconEngineV2::_ZTV13QIconEngineV2: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QIconEngineV2)
+16 QIconEngineV2::~QIconEngineV2
+24 QIconEngineV2::~QIconEngineV2
+32 __cxa_pure_virtual
+40 QIconEngine::actualSize
+48 QIconEngine::pixmap
+56 QIconEngine::addPixmap
+64 QIconEngine::addFile
+72 QIconEngineV2::key
+80 QIconEngineV2::clone
+88 QIconEngineV2::read
+96 QIconEngineV2::write
+104 QIconEngineV2::virtual_hook
+
+Class QIconEngineV2
+ size=8 align=8
+ base size=8 base align=8
+QIconEngineV2 (0x7f1ded9b8070) 0 nearly-empty
+ vptr=((& QIconEngineV2::_ZTV13QIconEngineV2) + 16u)
+ QIconEngine (0x7f1ded9b80e0) 0 nearly-empty
+ primary-for QIconEngineV2 (0x7f1ded9b8070)
+
+Vtable for QBitmap
+QBitmap::_ZTV7QBitmap: 7u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QBitmap)
+16 QBitmap::~QBitmap
+24 QBitmap::~QBitmap
+32 QPixmap::devType
+40 QPixmap::paintEngine
+48 QPixmap::metric
+
+Class QBitmap
+ size=24 align=8
+ base size=24 base align=8
+QBitmap (0x7f1ded9b8a80) 0
+ vptr=((& QBitmap::_ZTV7QBitmap) + 16u)
+ QPixmap (0x7f1ded9b8af0) 0
+ primary-for QBitmap (0x7f1ded9b8a80)
+ QPaintDevice (0x7f1ded9b8b60) 0
+ primary-for QPixmap (0x7f1ded9b8af0)
+
+Vtable for QPictureFormatInterface
+QPictureFormatInterface::_ZTV23QPictureFormatInterface: 8u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI23QPictureFormatInterface)
+16 QPictureFormatInterface::~QPictureFormatInterface
+24 QPictureFormatInterface::~QPictureFormatInterface
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+48 __cxa_pure_virtual
+56 __cxa_pure_virtual
+
+Class QPictureFormatInterface
+ size=8 align=8
+ base size=8 base align=8
+QPictureFormatInterface (0x7f1deda11bd0) 0 nearly-empty
+ vptr=((& QPictureFormatInterface::_ZTV23QPictureFormatInterface) + 16u)
+ QFactoryInterface (0x7f1deda11c40) 0 nearly-empty
+ primary-for QPictureFormatInterface (0x7f1deda11bd0)
+
+Vtable for QPictureFormatPlugin
+QPictureFormatPlugin::_ZTV20QPictureFormatPlugin: 26u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI20QPictureFormatPlugin)
+16 QPictureFormatPlugin::metaObject
+24 QPictureFormatPlugin::qt_metacast
+32 QPictureFormatPlugin::qt_metacall
+40 QPictureFormatPlugin::~QPictureFormatPlugin
+48 QPictureFormatPlugin::~QPictureFormatPlugin
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+120 QPictureFormatPlugin::loadPicture
+128 QPictureFormatPlugin::savePicture
+136 __cxa_pure_virtual
+144 (int (*)(...))-0x00000000000000010
+152 (int (*)(...))(& _ZTI20QPictureFormatPlugin)
+160 QPictureFormatPlugin::_ZThn16_N20QPictureFormatPluginD1Ev
+168 QPictureFormatPlugin::_ZThn16_N20QPictureFormatPluginD0Ev
+176 __cxa_pure_virtual
+184 QPictureFormatPlugin::_ZThn16_N20QPictureFormatPlugin11loadPictureERK7QStringS2_P8QPicture
+192 QPictureFormatPlugin::_ZThn16_N20QPictureFormatPlugin11savePictureERK7QStringS2_RK8QPicture
+200 __cxa_pure_virtual
+
+Class QPictureFormatPlugin
+ size=24 align=8
+ base size=24 base align=8
+QPictureFormatPlugin (0x7f1deda17a00) 0
+ vptr=((& QPictureFormatPlugin::_ZTV20QPictureFormatPlugin) + 16u)
+ QObject (0x7f1deda1f3f0) 0
+ primary-for QPictureFormatPlugin (0x7f1deda17a00)
+ QPictureFormatInterface (0x7f1deda1f460) 16 nearly-empty
+ vptr=((& QPictureFormatPlugin::_ZTV20QPictureFormatPlugin) + 160u)
+ QFactoryInterface (0x7f1deda1f4d0) 16 nearly-empty
+ primary-for QPictureFormatInterface (0x7f1deda1f460)
+
+Class QVFbHeader
+ size=1088 align=8
+ base size=1088 base align=8
+QVFbHeader (0x7f1deda34380) 0
+
+Class QVFbKeyData
+ size=12 align=4
+ base size=12 base align=4
+QVFbKeyData (0x7f1deda343f0) 0
+
+Vtable for QWSEmbedWidget
+QWSEmbedWidget::_ZTV14QWSEmbedWidget: 63u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QWSEmbedWidget)
+16 QWSEmbedWidget::metaObject
+24 QWSEmbedWidget::qt_metacast
+32 QWSEmbedWidget::qt_metacall
+40 QWSEmbedWidget::~QWSEmbedWidget
+48 QWSEmbedWidget::~QWSEmbedWidget
+56 QWidget::event
+64 QWSEmbedWidget::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QWidget::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QWidget::paintEvent
+256 QWSEmbedWidget::moveEvent
+264 QWSEmbedWidget::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWSEmbedWidget::showEvent
+344 QWSEmbedWidget::hideEvent
+352 QWidget::x11Event
+360 QWSEmbedWidget::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 (int (*)(...))-0x00000000000000010
+456 (int (*)(...))(& _ZTI14QWSEmbedWidget)
+464 QWSEmbedWidget::_ZThn16_N14QWSEmbedWidgetD1Ev
+472 QWSEmbedWidget::_ZThn16_N14QWSEmbedWidgetD0Ev
+480 QWidget::_ZThn16_NK7QWidget7devTypeEv
+488 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+496 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QWSEmbedWidget
+ size=40 align=8
+ base size=40 base align=8
+QWSEmbedWidget (0x7f1deda34460) 0
+ vptr=((& QWSEmbedWidget::_ZTV14QWSEmbedWidget) + 16u)
+ QWidget (0x7f1deda33200) 0
+ primary-for QWSEmbedWidget (0x7f1deda34460)
+ QObject (0x7f1deda344d0) 0
+ primary-for QWidget (0x7f1deda33200)
+ QPaintDevice (0x7f1deda34540) 16
+ vptr=((& QWSEmbedWidget::_ZTV14QWSEmbedWidget) + 464u)
+
+Class QColormap
+ size=8 align=8
+ base size=8 base align=8
+QColormap (0x7f1deda4b930) 0
+
+Vtable for QPrinter
+QPrinter::_ZTV8QPrinter: 7u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI8QPrinter)
+16 QPrinter::~QPrinter
+24 QPrinter::~QPrinter
+32 QPrinter::devType
+40 QPrinter::paintEngine
+48 QPrinter::metric
+
+Class QPrinter
+ size=24 align=8
+ base size=24 base align=8
+QPrinter (0x7f1deda54150) 0
+ vptr=((& QPrinter::_ZTV8QPrinter) + 16u)
+ QPaintDevice (0x7f1deda541c0) 0
+ primary-for QPrinter (0x7f1deda54150)
+
+Vtable for QPrintEngine
+QPrintEngine::_ZTV12QPrintEngine: 10u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QPrintEngine)
+16 QPrintEngine::~QPrintEngine
+24 QPrintEngine::~QPrintEngine
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+48 __cxa_pure_virtual
+56 __cxa_pure_virtual
+64 __cxa_pure_virtual
+72 __cxa_pure_virtual
+
+Class QPrintEngine
+ size=8 align=8
+ base size=8 base align=8
+QPrintEngine (0x7f1ded896620) 0 nearly-empty
+ vptr=((& QPrintEngine::_ZTV12QPrintEngine) + 16u)
+
+Class QPainter
+ size=8 align=8
+ base size=8 base align=8
+QPainter (0x7f1ded8a5380) 0
+
+Class QStylePainter
+ size=24 align=8
+ base size=24 base align=8
+QStylePainter (0x7f1ded6a8c40) 0
+ QPainter (0x7f1ded6a8cb0) 0
+
+Class QPrinterInfo
+ size=8 align=8
+ base size=8 base align=8
+QPrinterInfo (0x7f1ded6dc230) 0
+
+Class QTextItem
+ size=1 align=1
+ base size=0 base align=1
+QTextItem (0x7f1ded6df700) 0 empty
+
+Vtable for QPaintEngine
+QPaintEngine::_ZTV12QPaintEngine: 24u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QPaintEngine)
+16 QPaintEngine::~QPaintEngine
+24 QPaintEngine::~QPaintEngine
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+48 __cxa_pure_virtual
+56 QPaintEngine::drawRects
+64 QPaintEngine::drawRects
+72 QPaintEngine::drawLines
+80 QPaintEngine::drawLines
+88 QPaintEngine::drawEllipse
+96 QPaintEngine::drawEllipse
+104 QPaintEngine::drawPath
+112 QPaintEngine::drawPoints
+120 QPaintEngine::drawPoints
+128 QPaintEngine::drawPolygon
+136 QPaintEngine::drawPolygon
+144 __cxa_pure_virtual
+152 QPaintEngine::drawTextItem
+160 QPaintEngine::drawTiledPixmap
+168 QPaintEngine::drawImage
+176 QPaintEngine::coordinateOffset
+184 __cxa_pure_virtual
+
+Class QPaintEngine
+ size=32 align=8
+ base size=32 base align=8
+QPaintEngine (0x7f1ded6dfd20) 0
+ vptr=((& QPaintEngine::_ZTV12QPaintEngine) + 16u)
+
+Class QPaintEngineState
+ size=4 align=4
+ base size=4 base align=4
+QPaintEngineState (0x7f1ded7287e0) 0
+
+Class QTreeWidgetItemIterator
+ size=24 align=8
+ base size=20 base align=8
+QTreeWidgetItemIterator (0x7f1ded5e3af0) 0
+
+Vtable for QDataWidgetMapper
+QDataWidgetMapper::_ZTV17QDataWidgetMapper: 15u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QDataWidgetMapper)
+16 QDataWidgetMapper::metaObject
+24 QDataWidgetMapper::qt_metacast
+32 QDataWidgetMapper::qt_metacall
+40 QDataWidgetMapper::~QDataWidgetMapper
+48 QDataWidgetMapper::~QDataWidgetMapper
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QDataWidgetMapper::setCurrentIndex
+
+Class QDataWidgetMapper
+ size=16 align=8
+ base size=16 base align=8
+QDataWidgetMapper (0x7f1ded63f690) 0
+ vptr=((& QDataWidgetMapper::_ZTV17QDataWidgetMapper) + 16u)
+ QObject (0x7f1ded63f700) 0
+ primary-for QDataWidgetMapper (0x7f1ded63f690)
+
+Vtable for QFileIconProvider
+QFileIconProvider::_ZTV17QFileIconProvider: 7u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QFileIconProvider)
+16 QFileIconProvider::~QFileIconProvider
+24 QFileIconProvider::~QFileIconProvider
+32 QFileIconProvider::icon
+40 QFileIconProvider::icon
+48 QFileIconProvider::type
+
+Class QFileIconProvider
+ size=16 align=8
+ base size=16 base align=8
+QFileIconProvider (0x7f1ded478150) 0
+ vptr=((& QFileIconProvider::_ZTV17QFileIconProvider) + 16u)
+
+Vtable for QStringListModel
+QStringListModel::_ZTV16QStringListModel: 42u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QStringListModel)
+16 QStringListModel::metaObject
+24 QStringListModel::qt_metacast
+32 QStringListModel::qt_metacall
+40 QStringListModel::~QStringListModel
+48 QStringListModel::~QStringListModel
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QAbstractListModel::index
+120 QAbstractListModel::parent
+128 QStringListModel::rowCount
+136 QAbstractListModel::columnCount
+144 QAbstractListModel::hasChildren
+152 QStringListModel::data
+160 QStringListModel::setData
+168 QAbstractItemModel::headerData
+176 QAbstractItemModel::setHeaderData
+184 QAbstractItemModel::itemData
+192 QAbstractItemModel::setItemData
+200 QAbstractItemModel::mimeTypes
+208 QAbstractItemModel::mimeData
+216 QAbstractListModel::dropMimeData
+224 QStringListModel::supportedDropActions
+232 QStringListModel::insertRows
+240 QAbstractItemModel::insertColumns
+248 QStringListModel::removeRows
+256 QAbstractItemModel::removeColumns
+264 QAbstractItemModel::fetchMore
+272 QAbstractItemModel::canFetchMore
+280 QStringListModel::flags
+288 QStringListModel::sort
+296 QAbstractItemModel::buddy
+304 QAbstractItemModel::match
+312 QAbstractItemModel::span
+320 QAbstractItemModel::submit
+328 QAbstractItemModel::revert
+
+Class QStringListModel
+ size=24 align=8
+ base size=24 base align=8
+QStringListModel (0x7f1ded478c40) 0
+ vptr=((& QStringListModel::_ZTV16QStringListModel) + 16u)
+ QAbstractListModel (0x7f1ded478cb0) 0
+ primary-for QStringListModel (0x7f1ded478c40)
+ QAbstractItemModel (0x7f1ded478d20) 0
+ primary-for QAbstractListModel (0x7f1ded478cb0)
+ QObject (0x7f1ded478d90) 0
+ primary-for QAbstractItemModel (0x7f1ded478d20)
+
+Vtable for QListWidgetItem
+QListWidgetItem::_ZTV15QListWidgetItem: 11u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QListWidgetItem)
+16 QListWidgetItem::~QListWidgetItem
+24 QListWidgetItem::~QListWidgetItem
+32 QListWidgetItem::clone
+40 QListWidgetItem::setBackgroundColor
+48 QListWidgetItem::data
+56 QListWidgetItem::setData
+64 QListWidgetItem::operator<
+72 QListWidgetItem::read
+80 QListWidgetItem::write
+
+Class QListWidgetItem
+ size=48 align=8
+ base size=44 base align=8
+QListWidgetItem (0x7f1ded498230) 0
+ vptr=((& QListWidgetItem::_ZTV15QListWidgetItem) + 16u)
+
+Vtable for QListWidget
+QListWidget::_ZTV11QListWidget: 107u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QListWidget)
+16 QListWidget::metaObject
+24 QListWidget::qt_metacast
+32 QListWidget::qt_metacall
+40 QListWidget::~QListWidget
+48 QListWidget::~QListWidget
+56 QListWidget::event
+64 QObject::eventFilter
+72 QListView::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QAbstractScrollArea::sizeHint
+136 QAbstractScrollArea::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QAbstractItemView::mousePressEvent
+168 QListView::mouseReleaseEvent
+176 QAbstractItemView::mouseDoubleClickEvent
+184 QListView::mouseMoveEvent
+192 QAbstractScrollArea::wheelEvent
+200 QAbstractItemView::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QAbstractItemView::focusInEvent
+224 QAbstractItemView::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QListView::paintEvent
+256 QWidget::moveEvent
+264 QListView::resizeEvent
+272 QWidget::closeEvent
+280 QAbstractScrollArea::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QAbstractItemView::dragEnterEvent
+312 QListView::dragMoveEvent
+320 QListView::dragLeaveEvent
+328 QListWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QFrame::changeEvent
+368 QWidget::metric
+376 QAbstractItemView::inputMethodEvent
+384 QAbstractItemView::inputMethodQuery
+392 QAbstractItemView::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QAbstractItemView::viewportEvent
+456 QListView::scrollContentsBy
+464 QListWidget::setModel
+472 QAbstractItemView::setSelectionModel
+480 QAbstractItemView::keyboardSearch
+488 QListView::visualRect
+496 QListView::scrollTo
+504 QListView::indexAt
+512 QAbstractItemView::sizeHintForRow
+520 QAbstractItemView::sizeHintForColumn
+528 QListView::reset
+536 QListView::setRootIndex
+544 QListView::doItemsLayout
+552 QAbstractItemView::selectAll
+560 QListView::dataChanged
+568 QListView::rowsInserted
+576 QListView::rowsAboutToBeRemoved
+584 QListView::selectionChanged
+592 QListView::currentChanged
+600 QAbstractItemView::updateEditorData
+608 QAbstractItemView::updateEditorGeometries
+616 QListView::updateGeometries
+624 QAbstractItemView::verticalScrollbarAction
+632 QAbstractItemView::horizontalScrollbarAction
+640 QAbstractItemView::verticalScrollbarValueChanged
+648 QAbstractItemView::horizontalScrollbarValueChanged
+656 QAbstractItemView::closeEditor
+664 QAbstractItemView::commitData
+672 QAbstractItemView::editorDestroyed
+680 QListView::moveCursor
+688 QListView::horizontalOffset
+696 QListView::verticalOffset
+704 QListView::isIndexHidden
+712 QListView::setSelection
+720 QListView::visualRegionForSelection
+728 QListView::selectedIndexes
+736 QAbstractItemView::edit
+744 QAbstractItemView::selectionCommand
+752 QListView::startDrag
+760 QListView::viewOptions
+768 QListWidget::mimeTypes
+776 QListWidget::mimeData
+784 QListWidget::dropMimeData
+792 QListWidget::supportedDropActions
+800 (int (*)(...))-0x00000000000000010
+808 (int (*)(...))(& _ZTI11QListWidget)
+816 QListWidget::_ZThn16_N11QListWidgetD1Ev
+824 QListWidget::_ZThn16_N11QListWidgetD0Ev
+832 QWidget::_ZThn16_NK7QWidget7devTypeEv
+840 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+848 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QListWidget
+ size=40 align=8
+ base size=40 base align=8
+QListWidget (0x7f1ded50d9a0) 0
+ vptr=((& QListWidget::_ZTV11QListWidget) + 16u)
+ QListView (0x7f1ded50da10) 0
+ primary-for QListWidget (0x7f1ded50d9a0)
+ QAbstractItemView (0x7f1ded50da80) 0
+ primary-for QListView (0x7f1ded50da10)
+ QAbstractScrollArea (0x7f1ded50daf0) 0
+ primary-for QAbstractItemView (0x7f1ded50da80)
+ QFrame (0x7f1ded50db60) 0
+ primary-for QAbstractScrollArea (0x7f1ded50daf0)
+ QWidget (0x7f1ded50a580) 0
+ primary-for QFrame (0x7f1ded50db60)
+ QObject (0x7f1ded50dbd0) 0
+ primary-for QWidget (0x7f1ded50a580)
+ QPaintDevice (0x7f1ded50dc40) 16
+ vptr=((& QListWidget::_ZTV11QListWidget) + 816u)
+
+Vtable for QDirModel
+QDirModel::_ZTV9QDirModel: 42u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QDirModel)
+16 QDirModel::metaObject
+24 QDirModel::qt_metacast
+32 QDirModel::qt_metacall
+40 QDirModel::~QDirModel
+48 QDirModel::~QDirModel
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QDirModel::index
+120 QDirModel::parent
+128 QDirModel::rowCount
+136 QDirModel::columnCount
+144 QDirModel::hasChildren
+152 QDirModel::data
+160 QDirModel::setData
+168 QDirModel::headerData
+176 QAbstractItemModel::setHeaderData
+184 QAbstractItemModel::itemData
+192 QAbstractItemModel::setItemData
+200 QDirModel::mimeTypes
+208 QDirModel::mimeData
+216 QDirModel::dropMimeData
+224 QDirModel::supportedDropActions
+232 QAbstractItemModel::insertRows
+240 QAbstractItemModel::insertColumns
+248 QAbstractItemModel::removeRows
+256 QAbstractItemModel::removeColumns
+264 QAbstractItemModel::fetchMore
+272 QAbstractItemModel::canFetchMore
+280 QDirModel::flags
+288 QDirModel::sort
+296 QAbstractItemModel::buddy
+304 QAbstractItemModel::match
+312 QAbstractItemModel::span
+320 QAbstractItemModel::submit
+328 QAbstractItemModel::revert
+
+Class QDirModel
+ size=16 align=8
+ base size=16 base align=8
+QDirModel (0x7f1ded546e00) 0
+ vptr=((& QDirModel::_ZTV9QDirModel) + 16u)
+ QAbstractItemModel (0x7f1ded546e70) 0
+ primary-for QDirModel (0x7f1ded546e00)
+ QObject (0x7f1ded546ee0) 0
+ primary-for QAbstractItemModel (0x7f1ded546e70)
+
+Vtable for QColumnView
+QColumnView::_ZTV11QColumnView: 104u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QColumnView)
+16 QColumnView::metaObject
+24 QColumnView::qt_metacast
+32 QColumnView::qt_metacall
+40 QColumnView::~QColumnView
+48 QColumnView::~QColumnView
+56 QAbstractItemView::event
+64 QObject::eventFilter
+72 QAbstractItemView::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QColumnView::sizeHint
+136 QAbstractScrollArea::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QAbstractItemView::mousePressEvent
+168 QAbstractItemView::mouseReleaseEvent
+176 QAbstractItemView::mouseDoubleClickEvent
+184 QAbstractItemView::mouseMoveEvent
+192 QAbstractScrollArea::wheelEvent
+200 QAbstractItemView::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QAbstractItemView::focusInEvent
+224 QAbstractItemView::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QAbstractScrollArea::paintEvent
+256 QWidget::moveEvent
+264 QColumnView::resizeEvent
+272 QWidget::closeEvent
+280 QAbstractScrollArea::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QAbstractItemView::dragEnterEvent
+312 QAbstractItemView::dragMoveEvent
+320 QAbstractItemView::dragLeaveEvent
+328 QAbstractItemView::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QFrame::changeEvent
+368 QWidget::metric
+376 QAbstractItemView::inputMethodEvent
+384 QAbstractItemView::inputMethodQuery
+392 QAbstractItemView::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QAbstractItemView::viewportEvent
+456 QColumnView::scrollContentsBy
+464 QColumnView::setModel
+472 QColumnView::setSelectionModel
+480 QAbstractItemView::keyboardSearch
+488 QColumnView::visualRect
+496 QColumnView::scrollTo
+504 QColumnView::indexAt
+512 QAbstractItemView::sizeHintForRow
+520 QAbstractItemView::sizeHintForColumn
+528 QAbstractItemView::reset
+536 QColumnView::setRootIndex
+544 QAbstractItemView::doItemsLayout
+552 QColumnView::selectAll
+560 QAbstractItemView::dataChanged
+568 QAbstractItemView::rowsInserted
+576 QAbstractItemView::rowsAboutToBeRemoved
+584 QAbstractItemView::selectionChanged
+592 QColumnView::currentChanged
+600 QAbstractItemView::updateEditorData
+608 QAbstractItemView::updateEditorGeometries
+616 QAbstractItemView::updateGeometries
+624 QAbstractItemView::verticalScrollbarAction
+632 QAbstractItemView::horizontalScrollbarAction
+640 QAbstractItemView::verticalScrollbarValueChanged
+648 QAbstractItemView::horizontalScrollbarValueChanged
+656 QAbstractItemView::closeEditor
+664 QAbstractItemView::commitData
+672 QAbstractItemView::editorDestroyed
+680 QColumnView::moveCursor
+688 QColumnView::horizontalOffset
+696 QColumnView::verticalOffset
+704 QColumnView::isIndexHidden
+712 QColumnView::setSelection
+720 QColumnView::visualRegionForSelection
+728 QAbstractItemView::selectedIndexes
+736 QAbstractItemView::edit
+744 QAbstractItemView::selectionCommand
+752 QAbstractItemView::startDrag
+760 QAbstractItemView::viewOptions
+768 QColumnView::createColumn
+776 (int (*)(...))-0x00000000000000010
+784 (int (*)(...))(& _ZTI11QColumnView)
+792 QColumnView::_ZThn16_N11QColumnViewD1Ev
+800 QColumnView::_ZThn16_N11QColumnViewD0Ev
+808 QWidget::_ZThn16_NK7QWidget7devTypeEv
+816 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+824 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QColumnView
+ size=40 align=8
+ base size=40 base align=8
+QColumnView (0x7f1ded3740e0) 0
+ vptr=((& QColumnView::_ZTV11QColumnView) + 16u)
+ QAbstractItemView (0x7f1ded374150) 0
+ primary-for QColumnView (0x7f1ded3740e0)
+ QAbstractScrollArea (0x7f1ded3741c0) 0
+ primary-for QAbstractItemView (0x7f1ded374150)
+ QFrame (0x7f1ded374230) 0
+ primary-for QAbstractScrollArea (0x7f1ded3741c0)
+ QWidget (0x7f1ded549d00) 0
+ primary-for QFrame (0x7f1ded374230)
+ QObject (0x7f1ded3742a0) 0
+ primary-for QWidget (0x7f1ded549d00)
+ QPaintDevice (0x7f1ded374310) 16
+ vptr=((& QColumnView::_ZTV11QColumnView) + 792u)
+
+Vtable for QStandardItem
+QStandardItem::_ZTV13QStandardItem: 11u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QStandardItem)
+16 QStandardItem::~QStandardItem
+24 QStandardItem::~QStandardItem
+32 QStandardItem::data
+40 QStandardItem::setData
+48 QStandardItem::clone
+56 QStandardItem::type
+64 QStandardItem::read
+72 QStandardItem::write
+80 QStandardItem::operator<
+
+Class QStandardItem
+ size=16 align=8
+ base size=16 base align=8
+QStandardItem (0x7f1ded399230) 0
+ vptr=((& QStandardItem::_ZTV13QStandardItem) + 16u)
+
+Vtable for QStandardItemModel
+QStandardItemModel::_ZTV18QStandardItemModel: 42u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QStandardItemModel)
+16 QStandardItemModel::metaObject
+24 QStandardItemModel::qt_metacast
+32 QStandardItemModel::qt_metacall
+40 QStandardItemModel::~QStandardItemModel
+48 QStandardItemModel::~QStandardItemModel
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QStandardItemModel::index
+120 QStandardItemModel::parent
+128 QStandardItemModel::rowCount
+136 QStandardItemModel::columnCount
+144 QStandardItemModel::hasChildren
+152 QStandardItemModel::data
+160 QStandardItemModel::setData
+168 QStandardItemModel::headerData
+176 QStandardItemModel::setHeaderData
+184 QStandardItemModel::itemData
+192 QStandardItemModel::setItemData
+200 QStandardItemModel::mimeTypes
+208 QStandardItemModel::mimeData
+216 QStandardItemModel::dropMimeData
+224 QStandardItemModel::supportedDropActions
+232 QStandardItemModel::insertRows
+240 QStandardItemModel::insertColumns
+248 QStandardItemModel::removeRows
+256 QStandardItemModel::removeColumns
+264 QAbstractItemModel::fetchMore
+272 QAbstractItemModel::canFetchMore
+280 QStandardItemModel::flags
+288 QStandardItemModel::sort
+296 QAbstractItemModel::buddy
+304 QAbstractItemModel::match
+312 QAbstractItemModel::span
+320 QAbstractItemModel::submit
+328 QAbstractItemModel::revert
+
+Class QStandardItemModel
+ size=16 align=8
+ base size=16 base align=8
+QStandardItemModel (0x7f1ded275e00) 0
+ vptr=((& QStandardItemModel::_ZTV18QStandardItemModel) + 16u)
+ QAbstractItemModel (0x7f1ded275e70) 0
+ primary-for QStandardItemModel (0x7f1ded275e00)
+ QObject (0x7f1ded275ee0) 0
+ primary-for QAbstractItemModel (0x7f1ded275e70)
+
+Vtable for QAbstractProxyModel
+QAbstractProxyModel::_ZTV19QAbstractProxyModel: 47u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QAbstractProxyModel)
+16 QAbstractProxyModel::metaObject
+24 QAbstractProxyModel::qt_metacast
+32 QAbstractProxyModel::qt_metacall
+40 QAbstractProxyModel::~QAbstractProxyModel
+48 QAbstractProxyModel::~QAbstractProxyModel
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 __cxa_pure_virtual
+136 __cxa_pure_virtual
+144 QAbstractItemModel::hasChildren
+152 QAbstractProxyModel::data
+160 QAbstractProxyModel::setData
+168 QAbstractProxyModel::headerData
+176 QAbstractProxyModel::setHeaderData
+184 QAbstractProxyModel::itemData
+192 QAbstractItemModel::setItemData
+200 QAbstractItemModel::mimeTypes
+208 QAbstractItemModel::mimeData
+216 QAbstractItemModel::dropMimeData
+224 QAbstractItemModel::supportedDropActions
+232 QAbstractItemModel::insertRows
+240 QAbstractItemModel::insertColumns
+248 QAbstractItemModel::removeRows
+256 QAbstractItemModel::removeColumns
+264 QAbstractItemModel::fetchMore
+272 QAbstractItemModel::canFetchMore
+280 QAbstractProxyModel::flags
+288 QAbstractItemModel::sort
+296 QAbstractItemModel::buddy
+304 QAbstractItemModel::match
+312 QAbstractItemModel::span
+320 QAbstractProxyModel::submit
+328 QAbstractProxyModel::revert
+336 QAbstractProxyModel::setSourceModel
+344 __cxa_pure_virtual
+352 __cxa_pure_virtual
+360 QAbstractProxyModel::mapSelectionToSource
+368 QAbstractProxyModel::mapSelectionFromSource
+
+Class QAbstractProxyModel
+ size=16 align=8
+ base size=16 base align=8
+QAbstractProxyModel (0x7f1ded2b39a0) 0
+ vptr=((& QAbstractProxyModel::_ZTV19QAbstractProxyModel) + 16u)
+ QAbstractItemModel (0x7f1ded2b3a10) 0
+ primary-for QAbstractProxyModel (0x7f1ded2b39a0)
+ QObject (0x7f1ded2b3a80) 0
+ primary-for QAbstractItemModel (0x7f1ded2b3a10)
+
+Vtable for QSortFilterProxyModel
+QSortFilterProxyModel::_ZTV21QSortFilterProxyModel: 50u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI21QSortFilterProxyModel)
+16 QSortFilterProxyModel::metaObject
+24 QSortFilterProxyModel::qt_metacast
+32 QSortFilterProxyModel::qt_metacall
+40 QSortFilterProxyModel::~QSortFilterProxyModel
+48 QSortFilterProxyModel::~QSortFilterProxyModel
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QSortFilterProxyModel::index
+120 QSortFilterProxyModel::parent
+128 QSortFilterProxyModel::rowCount
+136 QSortFilterProxyModel::columnCount
+144 QSortFilterProxyModel::hasChildren
+152 QSortFilterProxyModel::data
+160 QSortFilterProxyModel::setData
+168 QSortFilterProxyModel::headerData
+176 QSortFilterProxyModel::setHeaderData
+184 QAbstractProxyModel::itemData
+192 QAbstractItemModel::setItemData
+200 QSortFilterProxyModel::mimeTypes
+208 QSortFilterProxyModel::mimeData
+216 QSortFilterProxyModel::dropMimeData
+224 QSortFilterProxyModel::supportedDropActions
+232 QSortFilterProxyModel::insertRows
+240 QSortFilterProxyModel::insertColumns
+248 QSortFilterProxyModel::removeRows
+256 QSortFilterProxyModel::removeColumns
+264 QSortFilterProxyModel::fetchMore
+272 QSortFilterProxyModel::canFetchMore
+280 QSortFilterProxyModel::flags
+288 QSortFilterProxyModel::sort
+296 QSortFilterProxyModel::buddy
+304 QSortFilterProxyModel::match
+312 QSortFilterProxyModel::span
+320 QAbstractProxyModel::submit
+328 QAbstractProxyModel::revert
+336 QSortFilterProxyModel::setSourceModel
+344 QSortFilterProxyModel::mapToSource
+352 QSortFilterProxyModel::mapFromSource
+360 QSortFilterProxyModel::mapSelectionToSource
+368 QSortFilterProxyModel::mapSelectionFromSource
+376 QSortFilterProxyModel::filterAcceptsRow
+384 QSortFilterProxyModel::filterAcceptsColumn
+392 QSortFilterProxyModel::lessThan
+
+Class QSortFilterProxyModel
+ size=16 align=8
+ base size=16 base align=8
+QSortFilterProxyModel (0x7f1ded2dd5b0) 0
+ vptr=((& QSortFilterProxyModel::_ZTV21QSortFilterProxyModel) + 16u)
+ QAbstractProxyModel (0x7f1ded2dd620) 0
+ primary-for QSortFilterProxyModel (0x7f1ded2dd5b0)
+ QAbstractItemModel (0x7f1ded2dd690) 0
+ primary-for QAbstractProxyModel (0x7f1ded2dd620)
+ QObject (0x7f1ded2dd700) 0
+ primary-for QAbstractItemModel (0x7f1ded2dd690)
+
+Vtable for QStyledItemDelegate
+QStyledItemDelegate::_ZTV19QStyledItemDelegate: 23u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QStyledItemDelegate)
+16 QStyledItemDelegate::metaObject
+24 QStyledItemDelegate::qt_metacast
+32 QStyledItemDelegate::qt_metacall
+40 QStyledItemDelegate::~QStyledItemDelegate
+48 QStyledItemDelegate::~QStyledItemDelegate
+56 QObject::event
+64 QStyledItemDelegate::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QStyledItemDelegate::paint
+120 QStyledItemDelegate::sizeHint
+128 QStyledItemDelegate::createEditor
+136 QStyledItemDelegate::setEditorData
+144 QStyledItemDelegate::setModelData
+152 QStyledItemDelegate::updateEditorGeometry
+160 QStyledItemDelegate::editorEvent
+168 QStyledItemDelegate::displayText
+176 QStyledItemDelegate::initStyleOption
+
+Class QStyledItemDelegate
+ size=16 align=8
+ base size=16 base align=8
+QStyledItemDelegate (0x7f1ded30f4d0) 0
+ vptr=((& QStyledItemDelegate::_ZTV19QStyledItemDelegate) + 16u)
+ QAbstractItemDelegate (0x7f1ded30f540) 0
+ primary-for QStyledItemDelegate (0x7f1ded30f4d0)
+ QObject (0x7f1ded30f5b0) 0
+ primary-for QAbstractItemDelegate (0x7f1ded30f540)
+
+Vtable for QItemDelegate
+QItemDelegate::_ZTV13QItemDelegate: 25u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QItemDelegate)
+16 QItemDelegate::metaObject
+24 QItemDelegate::qt_metacast
+32 QItemDelegate::qt_metacall
+40 QItemDelegate::~QItemDelegate
+48 QItemDelegate::~QItemDelegate
+56 QObject::event
+64 QItemDelegate::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QItemDelegate::paint
+120 QItemDelegate::sizeHint
+128 QItemDelegate::createEditor
+136 QItemDelegate::setEditorData
+144 QItemDelegate::setModelData
+152 QItemDelegate::updateEditorGeometry
+160 QItemDelegate::editorEvent
+168 QItemDelegate::drawDisplay
+176 QItemDelegate::drawDecoration
+184 QItemDelegate::drawFocus
+192 QItemDelegate::drawCheck
+
+Class QItemDelegate
+ size=16 align=8
+ base size=16 base align=8
+QItemDelegate (0x7f1ded321e70) 0
+ vptr=((& QItemDelegate::_ZTV13QItemDelegate) + 16u)
+ QAbstractItemDelegate (0x7f1ded321ee0) 0
+ primary-for QItemDelegate (0x7f1ded321e70)
+ QObject (0x7f1ded321f50) 0
+ primary-for QAbstractItemDelegate (0x7f1ded321ee0)
+
+Vtable for QTableView
+QTableView::_ZTV10QTableView: 103u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QTableView)
+16 QTableView::metaObject
+24 QTableView::qt_metacast
+32 QTableView::qt_metacall
+40 QTableView::~QTableView
+48 QTableView::~QTableView
+56 QAbstractItemView::event
+64 QObject::eventFilter
+72 QTableView::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QAbstractScrollArea::sizeHint
+136 QAbstractScrollArea::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QAbstractItemView::mousePressEvent
+168 QAbstractItemView::mouseReleaseEvent
+176 QAbstractItemView::mouseDoubleClickEvent
+184 QAbstractItemView::mouseMoveEvent
+192 QAbstractScrollArea::wheelEvent
+200 QAbstractItemView::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QAbstractItemView::focusInEvent
+224 QAbstractItemView::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QTableView::paintEvent
+256 QWidget::moveEvent
+264 QAbstractItemView::resizeEvent
+272 QWidget::closeEvent
+280 QAbstractScrollArea::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QAbstractItemView::dragEnterEvent
+312 QAbstractItemView::dragMoveEvent
+320 QAbstractItemView::dragLeaveEvent
+328 QAbstractItemView::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QFrame::changeEvent
+368 QWidget::metric
+376 QAbstractItemView::inputMethodEvent
+384 QAbstractItemView::inputMethodQuery
+392 QAbstractItemView::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QAbstractItemView::viewportEvent
+456 QTableView::scrollContentsBy
+464 QTableView::setModel
+472 QTableView::setSelectionModel
+480 QAbstractItemView::keyboardSearch
+488 QTableView::visualRect
+496 QTableView::scrollTo
+504 QTableView::indexAt
+512 QTableView::sizeHintForRow
+520 QTableView::sizeHintForColumn
+528 QAbstractItemView::reset
+536 QTableView::setRootIndex
+544 QAbstractItemView::doItemsLayout
+552 QAbstractItemView::selectAll
+560 QAbstractItemView::dataChanged
+568 QAbstractItemView::rowsInserted
+576 QAbstractItemView::rowsAboutToBeRemoved
+584 QTableView::selectionChanged
+592 QTableView::currentChanged
+600 QAbstractItemView::updateEditorData
+608 QAbstractItemView::updateEditorGeometries
+616 QTableView::updateGeometries
+624 QTableView::verticalScrollbarAction
+632 QTableView::horizontalScrollbarAction
+640 QAbstractItemView::verticalScrollbarValueChanged
+648 QAbstractItemView::horizontalScrollbarValueChanged
+656 QAbstractItemView::closeEditor
+664 QAbstractItemView::commitData
+672 QAbstractItemView::editorDestroyed
+680 QTableView::moveCursor
+688 QTableView::horizontalOffset
+696 QTableView::verticalOffset
+704 QTableView::isIndexHidden
+712 QTableView::setSelection
+720 QTableView::visualRegionForSelection
+728 QTableView::selectedIndexes
+736 QAbstractItemView::edit
+744 QAbstractItemView::selectionCommand
+752 QAbstractItemView::startDrag
+760 QTableView::viewOptions
+768 (int (*)(...))-0x00000000000000010
+776 (int (*)(...))(& _ZTI10QTableView)
+784 QTableView::_ZThn16_N10QTableViewD1Ev
+792 QTableView::_ZThn16_N10QTableViewD0Ev
+800 QWidget::_ZThn16_NK7QWidget7devTypeEv
+808 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+816 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QTableView
+ size=40 align=8
+ base size=40 base align=8
+QTableView (0x7f1ded346850) 0
+ vptr=((& QTableView::_ZTV10QTableView) + 16u)
+ QAbstractItemView (0x7f1ded3468c0) 0
+ primary-for QTableView (0x7f1ded346850)
+ QAbstractScrollArea (0x7f1ded346930) 0
+ primary-for QAbstractItemView (0x7f1ded3468c0)
+ QFrame (0x7f1ded3469a0) 0
+ primary-for QAbstractScrollArea (0x7f1ded346930)
+ QWidget (0x7f1ded342500) 0
+ primary-for QFrame (0x7f1ded3469a0)
+ QObject (0x7f1ded346a10) 0
+ primary-for QWidget (0x7f1ded342500)
+ QPaintDevice (0x7f1ded346a80) 16
+ vptr=((& QTableView::_ZTV10QTableView) + 784u)
+
+Class QTableWidgetSelectionRange
+ size=16 align=4
+ base size=16 base align=4
+QTableWidgetSelectionRange (0x7f1ded179620) 0
+
+Vtable for QTableWidgetItem
+QTableWidgetItem::_ZTV16QTableWidgetItem: 10u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QTableWidgetItem)
+16 QTableWidgetItem::~QTableWidgetItem
+24 QTableWidgetItem::~QTableWidgetItem
+32 QTableWidgetItem::clone
+40 QTableWidgetItem::data
+48 QTableWidgetItem::setData
+56 QTableWidgetItem::operator<
+64 QTableWidgetItem::read
+72 QTableWidgetItem::write
+
+Class QTableWidgetItem
+ size=48 align=8
+ base size=44 base align=8
+QTableWidgetItem (0x7f1ded181af0) 0
+ vptr=((& QTableWidgetItem::_ZTV16QTableWidgetItem) + 16u)
+
+Vtable for QTableWidget
+QTableWidget::_ZTV12QTableWidget: 107u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QTableWidget)
+16 QTableWidget::metaObject
+24 QTableWidget::qt_metacast
+32 QTableWidget::qt_metacall
+40 QTableWidget::~QTableWidget
+48 QTableWidget::~QTableWidget
+56 QTableWidget::event
+64 QObject::eventFilter
+72 QTableView::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QAbstractScrollArea::sizeHint
+136 QAbstractScrollArea::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QAbstractItemView::mousePressEvent
+168 QAbstractItemView::mouseReleaseEvent
+176 QAbstractItemView::mouseDoubleClickEvent
+184 QAbstractItemView::mouseMoveEvent
+192 QAbstractScrollArea::wheelEvent
+200 QAbstractItemView::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QAbstractItemView::focusInEvent
+224 QAbstractItemView::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QTableView::paintEvent
+256 QWidget::moveEvent
+264 QAbstractItemView::resizeEvent
+272 QWidget::closeEvent
+280 QAbstractScrollArea::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QAbstractItemView::dragEnterEvent
+312 QAbstractItemView::dragMoveEvent
+320 QAbstractItemView::dragLeaveEvent
+328 QTableWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QFrame::changeEvent
+368 QWidget::metric
+376 QAbstractItemView::inputMethodEvent
+384 QAbstractItemView::inputMethodQuery
+392 QAbstractItemView::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QAbstractItemView::viewportEvent
+456 QTableView::scrollContentsBy
+464 QTableWidget::setModel
+472 QTableView::setSelectionModel
+480 QAbstractItemView::keyboardSearch
+488 QTableView::visualRect
+496 QTableView::scrollTo
+504 QTableView::indexAt
+512 QTableView::sizeHintForRow
+520 QTableView::sizeHintForColumn
+528 QAbstractItemView::reset
+536 QTableView::setRootIndex
+544 QAbstractItemView::doItemsLayout
+552 QAbstractItemView::selectAll
+560 QAbstractItemView::dataChanged
+568 QAbstractItemView::rowsInserted
+576 QAbstractItemView::rowsAboutToBeRemoved
+584 QTableView::selectionChanged
+592 QTableView::currentChanged
+600 QAbstractItemView::updateEditorData
+608 QAbstractItemView::updateEditorGeometries
+616 QTableView::updateGeometries
+624 QTableView::verticalScrollbarAction
+632 QTableView::horizontalScrollbarAction
+640 QAbstractItemView::verticalScrollbarValueChanged
+648 QAbstractItemView::horizontalScrollbarValueChanged
+656 QAbstractItemView::closeEditor
+664 QAbstractItemView::commitData
+672 QAbstractItemView::editorDestroyed
+680 QTableView::moveCursor
+688 QTableView::horizontalOffset
+696 QTableView::verticalOffset
+704 QTableView::isIndexHidden
+712 QTableView::setSelection
+720 QTableView::visualRegionForSelection
+728 QTableView::selectedIndexes
+736 QAbstractItemView::edit
+744 QAbstractItemView::selectionCommand
+752 QAbstractItemView::startDrag
+760 QTableView::viewOptions
+768 QTableWidget::mimeTypes
+776 QTableWidget::mimeData
+784 QTableWidget::dropMimeData
+792 QTableWidget::supportedDropActions
+800 (int (*)(...))-0x00000000000000010
+808 (int (*)(...))(& _ZTI12QTableWidget)
+816 QTableWidget::_ZThn16_N12QTableWidgetD1Ev
+824 QTableWidget::_ZThn16_N12QTableWidgetD0Ev
+832 QWidget::_ZThn16_NK7QWidget7devTypeEv
+840 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+848 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QTableWidget
+ size=40 align=8
+ base size=40 base align=8
+QTableWidget (0x7f1ded1f80e0) 0
+ vptr=((& QTableWidget::_ZTV12QTableWidget) + 16u)
+ QTableView (0x7f1ded1f8150) 0
+ primary-for QTableWidget (0x7f1ded1f80e0)
+ QAbstractItemView (0x7f1ded1f81c0) 0
+ primary-for QTableView (0x7f1ded1f8150)
+ QAbstractScrollArea (0x7f1ded1f8230) 0
+ primary-for QAbstractItemView (0x7f1ded1f81c0)
+ QFrame (0x7f1ded1f82a0) 0
+ primary-for QAbstractScrollArea (0x7f1ded1f8230)
+ QWidget (0x7f1ded1f3580) 0
+ primary-for QFrame (0x7f1ded1f82a0)
+ QObject (0x7f1ded1f8310) 0
+ primary-for QWidget (0x7f1ded1f3580)
+ QPaintDevice (0x7f1ded1f8380) 16
+ vptr=((& QTableWidget::_ZTV12QTableWidget) + 816u)
+
+Vtable for QTreeView
+QTreeView::_ZTV9QTreeView: 105u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QTreeView)
+16 QTreeView::metaObject
+24 QTreeView::qt_metacast
+32 QTreeView::qt_metacall
+40 QTreeView::~QTreeView
+48 QTreeView::~QTreeView
+56 QAbstractItemView::event
+64 QObject::eventFilter
+72 QTreeView::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QAbstractScrollArea::sizeHint
+136 QAbstractScrollArea::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QTreeView::mousePressEvent
+168 QTreeView::mouseReleaseEvent
+176 QTreeView::mouseDoubleClickEvent
+184 QTreeView::mouseMoveEvent
+192 QAbstractScrollArea::wheelEvent
+200 QTreeView::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QAbstractItemView::focusInEvent
+224 QAbstractItemView::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QTreeView::paintEvent
+256 QWidget::moveEvent
+264 QAbstractItemView::resizeEvent
+272 QWidget::closeEvent
+280 QAbstractScrollArea::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QAbstractItemView::dragEnterEvent
+312 QTreeView::dragMoveEvent
+320 QAbstractItemView::dragLeaveEvent
+328 QAbstractItemView::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QFrame::changeEvent
+368 QWidget::metric
+376 QAbstractItemView::inputMethodEvent
+384 QAbstractItemView::inputMethodQuery
+392 QAbstractItemView::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QTreeView::viewportEvent
+456 QTreeView::scrollContentsBy
+464 QTreeView::setModel
+472 QTreeView::setSelectionModel
+480 QTreeView::keyboardSearch
+488 QTreeView::visualRect
+496 QTreeView::scrollTo
+504 QTreeView::indexAt
+512 QAbstractItemView::sizeHintForRow
+520 QTreeView::sizeHintForColumn
+528 QTreeView::reset
+536 QTreeView::setRootIndex
+544 QTreeView::doItemsLayout
+552 QTreeView::selectAll
+560 QTreeView::dataChanged
+568 QTreeView::rowsInserted
+576 QTreeView::rowsAboutToBeRemoved
+584 QTreeView::selectionChanged
+592 QTreeView::currentChanged
+600 QAbstractItemView::updateEditorData
+608 QAbstractItemView::updateEditorGeometries
+616 QTreeView::updateGeometries
+624 QAbstractItemView::verticalScrollbarAction
+632 QTreeView::horizontalScrollbarAction
+640 QAbstractItemView::verticalScrollbarValueChanged
+648 QAbstractItemView::horizontalScrollbarValueChanged
+656 QAbstractItemView::closeEditor
+664 QAbstractItemView::commitData
+672 QAbstractItemView::editorDestroyed
+680 QTreeView::moveCursor
+688 QTreeView::horizontalOffset
+696 QTreeView::verticalOffset
+704 QTreeView::isIndexHidden
+712 QTreeView::setSelection
+720 QTreeView::visualRegionForSelection
+728 QTreeView::selectedIndexes
+736 QAbstractItemView::edit
+744 QAbstractItemView::selectionCommand
+752 QAbstractItemView::startDrag
+760 QAbstractItemView::viewOptions
+768 QTreeView::drawRow
+776 QTreeView::drawBranches
+784 (int (*)(...))-0x00000000000000010
+792 (int (*)(...))(& _ZTI9QTreeView)
+800 QTreeView::_ZThn16_N9QTreeViewD1Ev
+808 QTreeView::_ZThn16_N9QTreeViewD0Ev
+816 QWidget::_ZThn16_NK7QWidget7devTypeEv
+824 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+832 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QTreeView
+ size=40 align=8
+ base size=40 base align=8
+QTreeView (0x7f1ded236070) 0
+ vptr=((& QTreeView::_ZTV9QTreeView) + 16u)
+ QAbstractItemView (0x7f1ded2360e0) 0
+ primary-for QTreeView (0x7f1ded236070)
+ QAbstractScrollArea (0x7f1ded236150) 0
+ primary-for QAbstractItemView (0x7f1ded2360e0)
+ QFrame (0x7f1ded2361c0) 0
+ primary-for QAbstractScrollArea (0x7f1ded236150)
+ QWidget (0x7f1ded230e00) 0
+ primary-for QFrame (0x7f1ded2361c0)
+ QObject (0x7f1ded236230) 0
+ primary-for QWidget (0x7f1ded230e00)
+ QPaintDevice (0x7f1ded2362a0) 16
+ vptr=((& QTreeView::_ZTV9QTreeView) + 800u)
+
+Vtable for QProxyModel
+QProxyModel::_ZTV11QProxyModel: 43u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QProxyModel)
+16 QProxyModel::metaObject
+24 QProxyModel::qt_metacast
+32 QProxyModel::qt_metacall
+40 QProxyModel::~QProxyModel
+48 QProxyModel::~QProxyModel
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QProxyModel::index
+120 QProxyModel::parent
+128 QProxyModel::rowCount
+136 QProxyModel::columnCount
+144 QProxyModel::hasChildren
+152 QProxyModel::data
+160 QProxyModel::setData
+168 QProxyModel::headerData
+176 QProxyModel::setHeaderData
+184 QAbstractItemModel::itemData
+192 QAbstractItemModel::setItemData
+200 QProxyModel::mimeTypes
+208 QProxyModel::mimeData
+216 QProxyModel::dropMimeData
+224 QProxyModel::supportedDropActions
+232 QProxyModel::insertRows
+240 QProxyModel::insertColumns
+248 QAbstractItemModel::removeRows
+256 QAbstractItemModel::removeColumns
+264 QProxyModel::fetchMore
+272 QAbstractItemModel::canFetchMore
+280 QProxyModel::flags
+288 QProxyModel::sort
+296 QAbstractItemModel::buddy
+304 QProxyModel::match
+312 QProxyModel::span
+320 QProxyModel::submit
+328 QProxyModel::revert
+336 QProxyModel::setModel
+
+Class QProxyModel
+ size=16 align=8
+ base size=16 base align=8
+QProxyModel (0x7f1ded05ae00) 0
+ vptr=((& QProxyModel::_ZTV11QProxyModel) + 16u)
+ QAbstractItemModel (0x7f1ded05ae70) 0
+ primary-for QProxyModel (0x7f1ded05ae00)
+ QObject (0x7f1ded05aee0) 0
+ primary-for QAbstractItemModel (0x7f1ded05ae70)
+
+Vtable for QHeaderView
+QHeaderView::_ZTV11QHeaderView: 105u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QHeaderView)
+16 QHeaderView::metaObject
+24 QHeaderView::qt_metacast
+32 QHeaderView::qt_metacall
+40 QHeaderView::~QHeaderView
+48 QHeaderView::~QHeaderView
+56 QHeaderView::event
+64 QObject::eventFilter
+72 QAbstractItemView::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QHeaderView::sizeHint
+136 QAbstractScrollArea::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QHeaderView::mousePressEvent
+168 QHeaderView::mouseReleaseEvent
+176 QHeaderView::mouseDoubleClickEvent
+184 QHeaderView::mouseMoveEvent
+192 QAbstractScrollArea::wheelEvent
+200 QAbstractItemView::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QAbstractItemView::focusInEvent
+224 QAbstractItemView::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QHeaderView::paintEvent
+256 QWidget::moveEvent
+264 QAbstractItemView::resizeEvent
+272 QWidget::closeEvent
+280 QAbstractScrollArea::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QAbstractItemView::dragEnterEvent
+312 QAbstractItemView::dragMoveEvent
+320 QAbstractItemView::dragLeaveEvent
+328 QAbstractItemView::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QFrame::changeEvent
+368 QWidget::metric
+376 QAbstractItemView::inputMethodEvent
+384 QAbstractItemView::inputMethodQuery
+392 QAbstractItemView::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QHeaderView::viewportEvent
+456 QHeaderView::scrollContentsBy
+464 QHeaderView::setModel
+472 QAbstractItemView::setSelectionModel
+480 QAbstractItemView::keyboardSearch
+488 QHeaderView::visualRect
+496 QHeaderView::scrollTo
+504 QHeaderView::indexAt
+512 QAbstractItemView::sizeHintForRow
+520 QAbstractItemView::sizeHintForColumn
+528 QHeaderView::reset
+536 QAbstractItemView::setRootIndex
+544 QHeaderView::doItemsLayout
+552 QAbstractItemView::selectAll
+560 QHeaderView::dataChanged
+568 QHeaderView::rowsInserted
+576 QAbstractItemView::rowsAboutToBeRemoved
+584 QAbstractItemView::selectionChanged
+592 QHeaderView::currentChanged
+600 QAbstractItemView::updateEditorData
+608 QAbstractItemView::updateEditorGeometries
+616 QHeaderView::updateGeometries
+624 QAbstractItemView::verticalScrollbarAction
+632 QAbstractItemView::horizontalScrollbarAction
+640 QAbstractItemView::verticalScrollbarValueChanged
+648 QAbstractItemView::horizontalScrollbarValueChanged
+656 QAbstractItemView::closeEditor
+664 QAbstractItemView::commitData
+672 QAbstractItemView::editorDestroyed
+680 QHeaderView::moveCursor
+688 QHeaderView::horizontalOffset
+696 QHeaderView::verticalOffset
+704 QHeaderView::isIndexHidden
+712 QHeaderView::setSelection
+720 QHeaderView::visualRegionForSelection
+728 QAbstractItemView::selectedIndexes
+736 QAbstractItemView::edit
+744 QAbstractItemView::selectionCommand
+752 QAbstractItemView::startDrag
+760 QAbstractItemView::viewOptions
+768 QHeaderView::paintSection
+776 QHeaderView::sectionSizeFromContents
+784 (int (*)(...))-0x00000000000000010
+792 (int (*)(...))(& _ZTI11QHeaderView)
+800 QHeaderView::_ZThn16_N11QHeaderViewD1Ev
+808 QHeaderView::_ZThn16_N11QHeaderViewD0Ev
+816 QWidget::_ZThn16_NK7QWidget7devTypeEv
+824 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+832 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QHeaderView
+ size=40 align=8
+ base size=40 base align=8
+QHeaderView (0x7f1ded07ecb0) 0
+ vptr=((& QHeaderView::_ZTV11QHeaderView) + 16u)
+ QAbstractItemView (0x7f1ded07ed20) 0
+ primary-for QHeaderView (0x7f1ded07ecb0)
+ QAbstractScrollArea (0x7f1ded07ed90) 0
+ primary-for QAbstractItemView (0x7f1ded07ed20)
+ QFrame (0x7f1ded07ee00) 0
+ primary-for QAbstractScrollArea (0x7f1ded07ed90)
+ QWidget (0x7f1ded056f80) 0
+ primary-for QFrame (0x7f1ded07ee00)
+ QObject (0x7f1ded07ee70) 0
+ primary-for QWidget (0x7f1ded056f80)
+ QPaintDevice (0x7f1ded07eee0) 16
+ vptr=((& QHeaderView::_ZTV11QHeaderView) + 800u)
+
+Vtable for QItemEditorCreatorBase
+QItemEditorCreatorBase::_ZTV22QItemEditorCreatorBase: 6u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI22QItemEditorCreatorBase)
+16 QItemEditorCreatorBase::~QItemEditorCreatorBase
+24 QItemEditorCreatorBase::~QItemEditorCreatorBase
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+
+Class QItemEditorCreatorBase
+ size=8 align=8
+ base size=8 base align=8
+QItemEditorCreatorBase (0x7f1ded0c08c0) 0 nearly-empty
+ vptr=((& QItemEditorCreatorBase::_ZTV22QItemEditorCreatorBase) + 16u)
+
+Vtable for QItemEditorFactory
+QItemEditorFactory::_ZTV18QItemEditorFactory: 6u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QItemEditorFactory)
+16 QItemEditorFactory::~QItemEditorFactory
+24 QItemEditorFactory::~QItemEditorFactory
+32 QItemEditorFactory::createEditor
+40 QItemEditorFactory::valuePropertyName
+
+Class QItemEditorFactory
+ size=16 align=8
+ base size=16 base align=8
+QItemEditorFactory (0x7f1ded0cb770) 0
+ vptr=((& QItemEditorFactory::_ZTV18QItemEditorFactory) + 16u)
+
+Vtable for QTreeWidgetItem
+QTreeWidgetItem::_ZTV15QTreeWidgetItem: 10u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QTreeWidgetItem)
+16 QTreeWidgetItem::~QTreeWidgetItem
+24 QTreeWidgetItem::~QTreeWidgetItem
+32 QTreeWidgetItem::clone
+40 QTreeWidgetItem::data
+48 QTreeWidgetItem::setData
+56 QTreeWidgetItem::operator<
+64 QTreeWidgetItem::read
+72 QTreeWidgetItem::write
+
+Class QTreeWidgetItem
+ size=64 align=8
+ base size=60 base align=8
+QTreeWidgetItem (0x7f1ded0d7a10) 0
+ vptr=((& QTreeWidgetItem::_ZTV15QTreeWidgetItem) + 16u)
+
+Vtable for QTreeWidget
+QTreeWidget::_ZTV11QTreeWidget: 109u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QTreeWidget)
+16 QTreeWidget::metaObject
+24 QTreeWidget::qt_metacast
+32 QTreeWidget::qt_metacall
+40 QTreeWidget::~QTreeWidget
+48 QTreeWidget::~QTreeWidget
+56 QTreeWidget::event
+64 QObject::eventFilter
+72 QTreeView::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QAbstractScrollArea::sizeHint
+136 QAbstractScrollArea::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QTreeView::mousePressEvent
+168 QTreeView::mouseReleaseEvent
+176 QTreeView::mouseDoubleClickEvent
+184 QTreeView::mouseMoveEvent
+192 QAbstractScrollArea::wheelEvent
+200 QTreeView::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QAbstractItemView::focusInEvent
+224 QAbstractItemView::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QTreeView::paintEvent
+256 QWidget::moveEvent
+264 QAbstractItemView::resizeEvent
+272 QWidget::closeEvent
+280 QAbstractScrollArea::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QAbstractItemView::dragEnterEvent
+312 QTreeView::dragMoveEvent
+320 QAbstractItemView::dragLeaveEvent
+328 QTreeWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QFrame::changeEvent
+368 QWidget::metric
+376 QAbstractItemView::inputMethodEvent
+384 QAbstractItemView::inputMethodQuery
+392 QAbstractItemView::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QTreeView::viewportEvent
+456 QTreeView::scrollContentsBy
+464 QTreeWidget::setModel
+472 QTreeWidget::setSelectionModel
+480 QTreeView::keyboardSearch
+488 QTreeView::visualRect
+496 QTreeView::scrollTo
+504 QTreeView::indexAt
+512 QAbstractItemView::sizeHintForRow
+520 QTreeView::sizeHintForColumn
+528 QTreeView::reset
+536 QTreeView::setRootIndex
+544 QTreeView::doItemsLayout
+552 QTreeView::selectAll
+560 QTreeView::dataChanged
+568 QTreeView::rowsInserted
+576 QTreeView::rowsAboutToBeRemoved
+584 QTreeView::selectionChanged
+592 QTreeView::currentChanged
+600 QAbstractItemView::updateEditorData
+608 QAbstractItemView::updateEditorGeometries
+616 QTreeView::updateGeometries
+624 QAbstractItemView::verticalScrollbarAction
+632 QTreeView::horizontalScrollbarAction
+640 QAbstractItemView::verticalScrollbarValueChanged
+648 QAbstractItemView::horizontalScrollbarValueChanged
+656 QAbstractItemView::closeEditor
+664 QAbstractItemView::commitData
+672 QAbstractItemView::editorDestroyed
+680 QTreeView::moveCursor
+688 QTreeView::horizontalOffset
+696 QTreeView::verticalOffset
+704 QTreeView::isIndexHidden
+712 QTreeView::setSelection
+720 QTreeView::visualRegionForSelection
+728 QTreeView::selectedIndexes
+736 QAbstractItemView::edit
+744 QAbstractItemView::selectionCommand
+752 QAbstractItemView::startDrag
+760 QAbstractItemView::viewOptions
+768 QTreeView::drawRow
+776 QTreeView::drawBranches
+784 QTreeWidget::mimeTypes
+792 QTreeWidget::mimeData
+800 QTreeWidget::dropMimeData
+808 QTreeWidget::supportedDropActions
+816 (int (*)(...))-0x00000000000000010
+824 (int (*)(...))(& _ZTI11QTreeWidget)
+832 QTreeWidget::_ZThn16_N11QTreeWidgetD1Ev
+840 QTreeWidget::_ZThn16_N11QTreeWidgetD0Ev
+848 QWidget::_ZThn16_NK7QWidget7devTypeEv
+856 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+864 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QTreeWidget
+ size=40 align=8
+ base size=40 base align=8
+QTreeWidget (0x7f1decf9ff50) 0
+ vptr=((& QTreeWidget::_ZTV11QTreeWidget) + 16u)
+ QTreeView (0x7f1decfa7000) 0
+ primary-for QTreeWidget (0x7f1decf9ff50)
+ QAbstractItemView (0x7f1decfa7070) 0
+ primary-for QTreeView (0x7f1decfa7000)
+ QAbstractScrollArea (0x7f1decfa70e0) 0
+ primary-for QAbstractItemView (0x7f1decfa7070)
+ QFrame (0x7f1decfa7150) 0
+ primary-for QAbstractScrollArea (0x7f1decfa70e0)
+ QWidget (0x7f1decf98e00) 0
+ primary-for QFrame (0x7f1decfa7150)
+ QObject (0x7f1decfa71c0) 0
+ primary-for QWidget (0x7f1decf98e00)
+ QPaintDevice (0x7f1decfa7230) 16
+ vptr=((& QTreeWidget::_ZTV11QTreeWidget) + 832u)
+
+Vtable for QAccessibleBridge
+QAccessibleBridge::_ZTV17QAccessibleBridge: 6u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QAccessibleBridge)
+16 QAccessibleBridge::~QAccessibleBridge
+24 QAccessibleBridge::~QAccessibleBridge
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+
+Class QAccessibleBridge
+ size=8 align=8
+ base size=8 base align=8
+QAccessibleBridge (0x7f1ded008310) 0 nearly-empty
+ vptr=((& QAccessibleBridge::_ZTV17QAccessibleBridge) + 16u)
+
+Vtable for QAccessibleBridgeFactoryInterface
+QAccessibleBridgeFactoryInterface::_ZTV33QAccessibleBridgeFactoryInterface: 6u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI33QAccessibleBridgeFactoryInterface)
+16 QAccessibleBridgeFactoryInterface::~QAccessibleBridgeFactoryInterface
+24 QAccessibleBridgeFactoryInterface::~QAccessibleBridgeFactoryInterface
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+
+Class QAccessibleBridgeFactoryInterface
+ size=8 align=8
+ base size=8 base align=8
+QAccessibleBridgeFactoryInterface (0x7f1ded008d90) 0 nearly-empty
+ vptr=((& QAccessibleBridgeFactoryInterface::_ZTV33QAccessibleBridgeFactoryInterface) + 16u)
+ QFactoryInterface (0x7f1ded008e00) 0 nearly-empty
+ primary-for QAccessibleBridgeFactoryInterface (0x7f1ded008d90)
+
+Vtable for QAccessibleBridgePlugin
+QAccessibleBridgePlugin::_ZTV23QAccessibleBridgePlugin: 22u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI23QAccessibleBridgePlugin)
+16 QAccessibleBridgePlugin::metaObject
+24 QAccessibleBridgePlugin::qt_metacast
+32 QAccessibleBridgePlugin::qt_metacall
+40 QAccessibleBridgePlugin::~QAccessibleBridgePlugin
+48 QAccessibleBridgePlugin::~QAccessibleBridgePlugin
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 (int (*)(...))-0x00000000000000010
+136 (int (*)(...))(& _ZTI23QAccessibleBridgePlugin)
+144 QAccessibleBridgePlugin::_ZThn16_N23QAccessibleBridgePluginD1Ev
+152 QAccessibleBridgePlugin::_ZThn16_N23QAccessibleBridgePluginD0Ev
+160 __cxa_pure_virtual
+168 __cxa_pure_virtual
+
+Class QAccessibleBridgePlugin
+ size=24 align=8
+ base size=24 base align=8
+QAccessibleBridgePlugin (0x7f1ded017500) 0
+ vptr=((& QAccessibleBridgePlugin::_ZTV23QAccessibleBridgePlugin) + 16u)
+ QObject (0x7f1ded0185b0) 0
+ primary-for QAccessibleBridgePlugin (0x7f1ded017500)
+ QAccessibleBridgeFactoryInterface (0x7f1ded018620) 16 nearly-empty
+ vptr=((& QAccessibleBridgePlugin::_ZTV23QAccessibleBridgePlugin) + 144u)
+ QFactoryInterface (0x7f1ded018690) 16 nearly-empty
+ primary-for QAccessibleBridgeFactoryInterface (0x7f1ded018620)
+
+Class QAccessible
+ size=1 align=1
+ base size=0 base align=1
+QAccessible (0x7f1ded02a540) 0 empty
+
+Vtable for QAccessibleInterface
+QAccessibleInterface::_ZTV20QAccessibleInterface: 19u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI20QAccessibleInterface)
+16 QAccessibleInterface::~QAccessibleInterface
+24 QAccessibleInterface::~QAccessibleInterface
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+48 __cxa_pure_virtual
+56 __cxa_pure_virtual
+64 __cxa_pure_virtual
+72 __cxa_pure_virtual
+80 __cxa_pure_virtual
+88 __cxa_pure_virtual
+96 __cxa_pure_virtual
+104 __cxa_pure_virtual
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 __cxa_pure_virtual
+136 __cxa_pure_virtual
+144 __cxa_pure_virtual
+
+Class QAccessibleInterface
+ size=8 align=8
+ base size=8 base align=8
+QAccessibleInterface (0x7f1dececb700) 0 nearly-empty
+ vptr=((& QAccessibleInterface::_ZTV20QAccessibleInterface) + 16u)
+ QAccessible (0x7f1dececb770) 0 empty
+
+Vtable for QAccessibleInterfaceEx
+QAccessibleInterfaceEx::_ZTV22QAccessibleInterfaceEx: 22u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI22QAccessibleInterfaceEx)
+16 QAccessibleInterfaceEx::~QAccessibleInterfaceEx
+24 QAccessibleInterfaceEx::~QAccessibleInterfaceEx
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+48 __cxa_pure_virtual
+56 __cxa_pure_virtual
+64 __cxa_pure_virtual
+72 __cxa_pure_virtual
+80 __cxa_pure_virtual
+88 __cxa_pure_virtual
+96 __cxa_pure_virtual
+104 __cxa_pure_virtual
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 __cxa_pure_virtual
+136 __cxa_pure_virtual
+144 __cxa_pure_virtual
+152 __cxa_pure_virtual
+160 QAccessibleInterfaceEx::virtual_hook
+168 QAccessibleInterfaceEx::interface_cast
+
+Class QAccessibleInterfaceEx
+ size=8 align=8
+ base size=8 base align=8
+QAccessibleInterfaceEx (0x7f1decf29000) 0 nearly-empty
+ vptr=((& QAccessibleInterfaceEx::_ZTV22QAccessibleInterfaceEx) + 16u)
+ QAccessibleInterface (0x7f1decf29070) 0 nearly-empty
+ primary-for QAccessibleInterfaceEx (0x7f1decf29000)
+ QAccessible (0x7f1decf290e0) 0 empty
+
+Vtable for QAccessibleEvent
+QAccessibleEvent::_ZTV16QAccessibleEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QAccessibleEvent)
+16 QAccessibleEvent::~QAccessibleEvent
+24 QAccessibleEvent::~QAccessibleEvent
+
+Class QAccessibleEvent
+ size=32 align=8
+ base size=32 base align=8
+QAccessibleEvent (0x7f1decf29380) 0
+ vptr=((& QAccessibleEvent::_ZTV16QAccessibleEvent) + 16u)
+ QEvent (0x7f1decf293f0) 0
+ primary-for QAccessibleEvent (0x7f1decf29380)
+
+Vtable for QAccessibleObject
+QAccessibleObject::_ZTV17QAccessibleObject: 19u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QAccessibleObject)
+16 QAccessibleObject::~QAccessibleObject
+24 QAccessibleObject::~QAccessibleObject
+32 QAccessibleObject::isValid
+40 QAccessibleObject::object
+48 __cxa_pure_virtual
+56 __cxa_pure_virtual
+64 __cxa_pure_virtual
+72 __cxa_pure_virtual
+80 __cxa_pure_virtual
+88 __cxa_pure_virtual
+96 QAccessibleObject::setText
+104 QAccessibleObject::rect
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 QAccessibleObject::userActionCount
+136 QAccessibleObject::actionText
+144 QAccessibleObject::doAction
+
+Class QAccessibleObject
+ size=16 align=8
+ base size=16 base align=8
+QAccessibleObject (0x7f1decf42230) 0
+ vptr=((& QAccessibleObject::_ZTV17QAccessibleObject) + 16u)
+ QAccessibleInterface (0x7f1decf422a0) 0 nearly-empty
+ primary-for QAccessibleObject (0x7f1decf42230)
+ QAccessible (0x7f1decf42310) 0 empty
+
+Vtable for QAccessibleObjectEx
+QAccessibleObjectEx::_ZTV19QAccessibleObjectEx: 22u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QAccessibleObjectEx)
+16 QAccessibleObjectEx::~QAccessibleObjectEx
+24 QAccessibleObjectEx::~QAccessibleObjectEx
+32 QAccessibleObjectEx::isValid
+40 QAccessibleObjectEx::object
+48 __cxa_pure_virtual
+56 __cxa_pure_virtual
+64 __cxa_pure_virtual
+72 __cxa_pure_virtual
+80 __cxa_pure_virtual
+88 __cxa_pure_virtual
+96 QAccessibleObjectEx::setText
+104 QAccessibleObjectEx::rect
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 QAccessibleObjectEx::userActionCount
+136 QAccessibleObjectEx::actionText
+144 QAccessibleObjectEx::doAction
+152 __cxa_pure_virtual
+160 QAccessibleInterfaceEx::virtual_hook
+168 QAccessibleInterfaceEx::interface_cast
+
+Class QAccessibleObjectEx
+ size=16 align=8
+ base size=16 base align=8
+QAccessibleObjectEx (0x7f1decf42a10) 0
+ vptr=((& QAccessibleObjectEx::_ZTV19QAccessibleObjectEx) + 16u)
+ QAccessibleInterfaceEx (0x7f1decf42a80) 0 nearly-empty
+ primary-for QAccessibleObjectEx (0x7f1decf42a10)
+ QAccessibleInterface (0x7f1decf42af0) 0 nearly-empty
+ primary-for QAccessibleInterfaceEx (0x7f1decf42a80)
+ QAccessible (0x7f1decf42b60) 0 empty
+
+Vtable for QAccessibleApplication
+QAccessibleApplication::_ZTV22QAccessibleApplication: 19u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI22QAccessibleApplication)
+16 QAccessibleApplication::~QAccessibleApplication
+24 QAccessibleApplication::~QAccessibleApplication
+32 QAccessibleObject::isValid
+40 QAccessibleObject::object
+48 QAccessibleApplication::childCount
+56 QAccessibleApplication::indexOfChild
+64 QAccessibleApplication::relationTo
+72 QAccessibleApplication::childAt
+80 QAccessibleApplication::navigate
+88 QAccessibleApplication::text
+96 QAccessibleObject::setText
+104 QAccessibleObject::rect
+112 QAccessibleApplication::role
+120 QAccessibleApplication::state
+128 QAccessibleApplication::userActionCount
+136 QAccessibleApplication::actionText
+144 QAccessibleApplication::doAction
+
+Class QAccessibleApplication
+ size=16 align=8
+ base size=16 base align=8
+QAccessibleApplication (0x7f1decd52230) 0
+ vptr=((& QAccessibleApplication::_ZTV22QAccessibleApplication) + 16u)
+ QAccessibleObject (0x7f1decd522a0) 0
+ primary-for QAccessibleApplication (0x7f1decd52230)
+ QAccessibleInterface (0x7f1decd52310) 0 nearly-empty
+ primary-for QAccessibleObject (0x7f1decd522a0)
+ QAccessible (0x7f1decd52380) 0 empty
+
+Vtable for QAccessibleWidget
+QAccessibleWidget::_ZTV17QAccessibleWidget: 19u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QAccessibleWidget)
+16 QAccessibleWidget::~QAccessibleWidget
+24 QAccessibleWidget::~QAccessibleWidget
+32 QAccessibleObject::isValid
+40 QAccessibleObject::object
+48 QAccessibleWidget::childCount
+56 QAccessibleWidget::indexOfChild
+64 QAccessibleWidget::relationTo
+72 QAccessibleWidget::childAt
+80 QAccessibleWidget::navigate
+88 QAccessibleWidget::text
+96 QAccessibleObject::setText
+104 QAccessibleWidget::rect
+112 QAccessibleWidget::role
+120 QAccessibleWidget::state
+128 QAccessibleWidget::userActionCount
+136 QAccessibleWidget::actionText
+144 QAccessibleWidget::doAction
+
+Class QAccessibleWidget
+ size=24 align=8
+ base size=24 base align=8
+QAccessibleWidget (0x7f1decd52c40) 0
+ vptr=((& QAccessibleWidget::_ZTV17QAccessibleWidget) + 16u)
+ QAccessibleObject (0x7f1decd52cb0) 0
+ primary-for QAccessibleWidget (0x7f1decd52c40)
+ QAccessibleInterface (0x7f1decd52d20) 0 nearly-empty
+ primary-for QAccessibleObject (0x7f1decd52cb0)
+ QAccessible (0x7f1decd52d90) 0 empty
+
+Vtable for QAccessibleWidgetEx
+QAccessibleWidgetEx::_ZTV19QAccessibleWidgetEx: 22u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QAccessibleWidgetEx)
+16 QAccessibleWidgetEx::~QAccessibleWidgetEx
+24 QAccessibleWidgetEx::~QAccessibleWidgetEx
+32 QAccessibleObjectEx::isValid
+40 QAccessibleObjectEx::object
+48 QAccessibleWidgetEx::childCount
+56 QAccessibleWidgetEx::indexOfChild
+64 QAccessibleWidgetEx::relationTo
+72 QAccessibleWidgetEx::childAt
+80 QAccessibleWidgetEx::navigate
+88 QAccessibleWidgetEx::text
+96 QAccessibleObjectEx::setText
+104 QAccessibleWidgetEx::rect
+112 QAccessibleWidgetEx::role
+120 QAccessibleWidgetEx::state
+128 QAccessibleObjectEx::userActionCount
+136 QAccessibleWidgetEx::actionText
+144 QAccessibleWidgetEx::doAction
+152 QAccessibleWidgetEx::invokeMethodEx
+160 QAccessibleInterfaceEx::virtual_hook
+168 QAccessibleInterfaceEx::interface_cast
+
+Class QAccessibleWidgetEx
+ size=24 align=8
+ base size=24 base align=8
+QAccessibleWidgetEx (0x7f1decd60c40) 0
+ vptr=((& QAccessibleWidgetEx::_ZTV19QAccessibleWidgetEx) + 16u)
+ QAccessibleObjectEx (0x7f1decd60cb0) 0
+ primary-for QAccessibleWidgetEx (0x7f1decd60c40)
+ QAccessibleInterfaceEx (0x7f1decd60d20) 0 nearly-empty
+ primary-for QAccessibleObjectEx (0x7f1decd60cb0)
+ QAccessibleInterface (0x7f1decd60d90) 0 nearly-empty
+ primary-for QAccessibleInterfaceEx (0x7f1decd60d20)
+ QAccessible (0x7f1decd60e00) 0 empty
+
+Vtable for QAccessible2Interface
+QAccessible2Interface::_ZTV21QAccessible2Interface: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI21QAccessible2Interface)
+16 QAccessible2Interface::~QAccessible2Interface
+24 QAccessible2Interface::~QAccessible2Interface
+
+Class QAccessible2Interface
+ size=8 align=8
+ base size=8 base align=8
+QAccessible2Interface (0x7f1decd6dd90) 0 nearly-empty
+ vptr=((& QAccessible2Interface::_ZTV21QAccessible2Interface) + 16u)
+
+Vtable for QAccessibleTextInterface
+QAccessibleTextInterface::_ZTV24QAccessibleTextInterface: 20u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI24QAccessibleTextInterface)
+16 QAccessibleTextInterface::~QAccessibleTextInterface
+24 QAccessibleTextInterface::~QAccessibleTextInterface
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+48 __cxa_pure_virtual
+56 __cxa_pure_virtual
+64 __cxa_pure_virtual
+72 __cxa_pure_virtual
+80 __cxa_pure_virtual
+88 __cxa_pure_virtual
+96 __cxa_pure_virtual
+104 __cxa_pure_virtual
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 __cxa_pure_virtual
+136 __cxa_pure_virtual
+144 __cxa_pure_virtual
+152 __cxa_pure_virtual
+
+Class QAccessibleTextInterface
+ size=8 align=8
+ base size=8 base align=8
+QAccessibleTextInterface (0x7f1decd7dcb0) 0 nearly-empty
+ vptr=((& QAccessibleTextInterface::_ZTV24QAccessibleTextInterface) + 16u)
+ QAccessible2Interface (0x7f1decd7dd20) 0 nearly-empty
+ primary-for QAccessibleTextInterface (0x7f1decd7dcb0)
+
+Vtable for QAccessibleEditableTextInterface
+QAccessibleEditableTextInterface::_ZTV32QAccessibleEditableTextInterface: 11u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI32QAccessibleEditableTextInterface)
+16 QAccessibleEditableTextInterface::~QAccessibleEditableTextInterface
+24 QAccessibleEditableTextInterface::~QAccessibleEditableTextInterface
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+48 __cxa_pure_virtual
+56 __cxa_pure_virtual
+64 __cxa_pure_virtual
+72 __cxa_pure_virtual
+80 __cxa_pure_virtual
+
+Class QAccessibleEditableTextInterface
+ size=8 align=8
+ base size=8 base align=8
+QAccessibleEditableTextInterface (0x7f1decd8db60) 0 nearly-empty
+ vptr=((& QAccessibleEditableTextInterface::_ZTV32QAccessibleEditableTextInterface) + 16u)
+ QAccessible2Interface (0x7f1decd8dbd0) 0 nearly-empty
+ primary-for QAccessibleEditableTextInterface (0x7f1decd8db60)
+
+Vtable for QAccessibleSimpleEditableTextInterface
+QAccessibleSimpleEditableTextInterface::_ZTV38QAccessibleSimpleEditableTextInterface: 11u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI38QAccessibleSimpleEditableTextInterface)
+16 QAccessibleSimpleEditableTextInterface::~QAccessibleSimpleEditableTextInterface
+24 QAccessibleSimpleEditableTextInterface::~QAccessibleSimpleEditableTextInterface
+32 QAccessibleSimpleEditableTextInterface::copyText
+40 QAccessibleSimpleEditableTextInterface::deleteText
+48 QAccessibleSimpleEditableTextInterface::insertText
+56 QAccessibleSimpleEditableTextInterface::cutText
+64 QAccessibleSimpleEditableTextInterface::pasteText
+72 QAccessibleSimpleEditableTextInterface::replaceText
+80 QAccessibleSimpleEditableTextInterface::setAttributes
+
+Class QAccessibleSimpleEditableTextInterface
+ size=16 align=8
+ base size=16 base align=8
+QAccessibleSimpleEditableTextInterface (0x7f1decd9ba10) 0
+ vptr=((& QAccessibleSimpleEditableTextInterface::_ZTV38QAccessibleSimpleEditableTextInterface) + 16u)
+ QAccessibleEditableTextInterface (0x7f1decd9ba80) 0 nearly-empty
+ primary-for QAccessibleSimpleEditableTextInterface (0x7f1decd9ba10)
+ QAccessible2Interface (0x7f1decd9baf0) 0 nearly-empty
+ primary-for QAccessibleEditableTextInterface (0x7f1decd9ba80)
+
+Vtable for QAccessibleValueInterface
+QAccessibleValueInterface::_ZTV25QAccessibleValueInterface: 8u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI25QAccessibleValueInterface)
+16 QAccessibleValueInterface::~QAccessibleValueInterface
+24 QAccessibleValueInterface::~QAccessibleValueInterface
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+48 __cxa_pure_virtual
+56 __cxa_pure_virtual
+
+Class QAccessibleValueInterface
+ size=8 align=8
+ base size=8 base align=8
+QAccessibleValueInterface (0x7f1decd9bd20) 0 nearly-empty
+ vptr=((& QAccessibleValueInterface::_ZTV25QAccessibleValueInterface) + 16u)
+ QAccessible2Interface (0x7f1decd9bd90) 0 nearly-empty
+ primary-for QAccessibleValueInterface (0x7f1decd9bd20)
+
+Vtable for QAccessibleTableInterface
+QAccessibleTableInterface::_ZTV25QAccessibleTableInterface: 30u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI25QAccessibleTableInterface)
+16 QAccessibleTableInterface::~QAccessibleTableInterface
+24 QAccessibleTableInterface::~QAccessibleTableInterface
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+48 __cxa_pure_virtual
+56 __cxa_pure_virtual
+64 __cxa_pure_virtual
+72 __cxa_pure_virtual
+80 __cxa_pure_virtual
+88 __cxa_pure_virtual
+96 __cxa_pure_virtual
+104 __cxa_pure_virtual
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 __cxa_pure_virtual
+136 __cxa_pure_virtual
+144 __cxa_pure_virtual
+152 __cxa_pure_virtual
+160 __cxa_pure_virtual
+168 __cxa_pure_virtual
+176 __cxa_pure_virtual
+184 __cxa_pure_virtual
+192 __cxa_pure_virtual
+200 __cxa_pure_virtual
+208 __cxa_pure_virtual
+216 __cxa_pure_virtual
+224 __cxa_pure_virtual
+232 __cxa_pure_virtual
+
+Class QAccessibleTableInterface
+ size=8 align=8
+ base size=8 base align=8
+QAccessibleTableInterface (0x7f1decdaab60) 0 nearly-empty
+ vptr=((& QAccessibleTableInterface::_ZTV25QAccessibleTableInterface) + 16u)
+ QAccessible2Interface (0x7f1decdaabd0) 0 nearly-empty
+ primary-for QAccessibleTableInterface (0x7f1decdaab60)
+
+Vtable for QAccessibleFactoryInterface
+QAccessibleFactoryInterface::_ZTV27QAccessibleFactoryInterface: 6u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI27QAccessibleFactoryInterface)
+16 QAccessibleFactoryInterface::~QAccessibleFactoryInterface
+24 QAccessibleFactoryInterface::~QAccessibleFactoryInterface
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+
+Class QAccessibleFactoryInterface
+ size=8 align=8
+ base size=8 base align=8
+QAccessibleFactoryInterface (0x7f1decdaec80) 0 nearly-empty
+ vptr=((& QAccessibleFactoryInterface::_ZTV27QAccessibleFactoryInterface) + 16u)
+ QAccessible (0x7f1decdaaf50) 0 empty
+ QFactoryInterface (0x7f1decdaad90) 0 nearly-empty
+ primary-for QAccessibleFactoryInterface (0x7f1decdaec80)
+
+Vtable for QAccessiblePlugin
+QAccessiblePlugin::_ZTV17QAccessiblePlugin: 22u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QAccessiblePlugin)
+16 QAccessiblePlugin::metaObject
+24 QAccessiblePlugin::qt_metacast
+32 QAccessiblePlugin::qt_metacall
+40 QAccessiblePlugin::~QAccessiblePlugin
+48 QAccessiblePlugin::~QAccessiblePlugin
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 (int (*)(...))-0x00000000000000010
+136 (int (*)(...))(& _ZTI17QAccessiblePlugin)
+144 QAccessiblePlugin::_ZThn16_N17QAccessiblePluginD1Ev
+152 QAccessiblePlugin::_ZThn16_N17QAccessiblePluginD0Ev
+160 __cxa_pure_virtual
+168 __cxa_pure_virtual
+
+Class QAccessiblePlugin
+ size=24 align=8
+ base size=24 base align=8
+QAccessiblePlugin (0x7f1decdc3480) 0
+ vptr=((& QAccessiblePlugin::_ZTV17QAccessiblePlugin) + 16u)
+ QObject (0x7f1decdc07e0) 0
+ primary-for QAccessiblePlugin (0x7f1decdc3480)
+ QAccessibleFactoryInterface (0x7f1decdc3500) 16 nearly-empty
+ vptr=((& QAccessiblePlugin::_ZTV17QAccessiblePlugin) + 144u)
+ QAccessible (0x7f1decdc0850) 16 empty
+ QFactoryInterface (0x7f1decdc08c0) 16 nearly-empty
+ primary-for QAccessibleFactoryInterface (0x7f1decdc3500)
+
+Vtable for QLayoutItem
+QLayoutItem::_ZTV11QLayoutItem: 18u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QLayoutItem)
+16 QLayoutItem::~QLayoutItem
+24 QLayoutItem::~QLayoutItem
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+48 __cxa_pure_virtual
+56 __cxa_pure_virtual
+64 __cxa_pure_virtual
+72 __cxa_pure_virtual
+80 __cxa_pure_virtual
+88 QLayoutItem::hasHeightForWidth
+96 QLayoutItem::heightForWidth
+104 QLayoutItem::minimumHeightForWidth
+112 QLayoutItem::invalidate
+120 QLayoutItem::widget
+128 QLayoutItem::layout
+136 QLayoutItem::spacerItem
+
+Class QLayoutItem
+ size=16 align=8
+ base size=12 base align=8
+QLayoutItem (0x7f1decdd27e0) 0
+ vptr=((& QLayoutItem::_ZTV11QLayoutItem) + 16u)
+
+Vtable for QSpacerItem
+QSpacerItem::_ZTV11QSpacerItem: 18u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QSpacerItem)
+16 QSpacerItem::~QSpacerItem
+24 QSpacerItem::~QSpacerItem
+32 QSpacerItem::sizeHint
+40 QSpacerItem::minimumSize
+48 QSpacerItem::maximumSize
+56 QSpacerItem::expandingDirections
+64 QSpacerItem::setGeometry
+72 QSpacerItem::geometry
+80 QSpacerItem::isEmpty
+88 QLayoutItem::hasHeightForWidth
+96 QLayoutItem::heightForWidth
+104 QLayoutItem::minimumHeightForWidth
+112 QLayoutItem::invalidate
+120 QLayoutItem::widget
+128 QLayoutItem::layout
+136 QSpacerItem::spacerItem
+
+Class QSpacerItem
+ size=40 align=8
+ base size=40 base align=8
+QSpacerItem (0x7f1decde4380) 0
+ vptr=((& QSpacerItem::_ZTV11QSpacerItem) + 16u)
+ QLayoutItem (0x7f1decde43f0) 0
+ primary-for QSpacerItem (0x7f1decde4380)
+
+Vtable for QWidgetItem
+QWidgetItem::_ZTV11QWidgetItem: 18u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QWidgetItem)
+16 QWidgetItem::~QWidgetItem
+24 QWidgetItem::~QWidgetItem
+32 QWidgetItem::sizeHint
+40 QWidgetItem::minimumSize
+48 QWidgetItem::maximumSize
+56 QWidgetItem::expandingDirections
+64 QWidgetItem::setGeometry
+72 QWidgetItem::geometry
+80 QWidgetItem::isEmpty
+88 QWidgetItem::hasHeightForWidth
+96 QWidgetItem::heightForWidth
+104 QLayoutItem::minimumHeightForWidth
+112 QLayoutItem::invalidate
+120 QWidgetItem::widget
+128 QLayoutItem::layout
+136 QLayoutItem::spacerItem
+
+Class QWidgetItem
+ size=24 align=8
+ base size=24 base align=8
+QWidgetItem (0x7f1decdf38c0) 0
+ vptr=((& QWidgetItem::_ZTV11QWidgetItem) + 16u)
+ QLayoutItem (0x7f1decdf3930) 0
+ primary-for QWidgetItem (0x7f1decdf38c0)
+
+Vtable for QWidgetItemV2
+QWidgetItemV2::_ZTV13QWidgetItemV2: 18u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QWidgetItemV2)
+16 QWidgetItemV2::~QWidgetItemV2
+24 QWidgetItemV2::~QWidgetItemV2
+32 QWidgetItemV2::sizeHint
+40 QWidgetItemV2::minimumSize
+48 QWidgetItemV2::maximumSize
+56 QWidgetItem::expandingDirections
+64 QWidgetItem::setGeometry
+72 QWidgetItem::geometry
+80 QWidgetItem::isEmpty
+88 QWidgetItem::hasHeightForWidth
+96 QWidgetItemV2::heightForWidth
+104 QLayoutItem::minimumHeightForWidth
+112 QLayoutItem::invalidate
+120 QWidgetItem::widget
+128 QLayoutItem::layout
+136 QLayoutItem::spacerItem
+
+Class QWidgetItemV2
+ size=88 align=8
+ base size=88 base align=8
+QWidgetItemV2 (0x7f1decdff700) 0
+ vptr=((& QWidgetItemV2::_ZTV13QWidgetItemV2) + 16u)
+ QWidgetItem (0x7f1decdff770) 0
+ primary-for QWidgetItemV2 (0x7f1decdff700)
+ QLayoutItem (0x7f1decdff7e0) 0
+ primary-for QWidgetItem (0x7f1decdff770)
+
+Class QLayoutIterator
+ size=16 align=8
+ base size=12 base align=8
+QLayoutIterator (0x7f1dece0e540) 0
+
+Vtable for QLayout
+QLayout::_ZTV7QLayout: 45u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QLayout)
+16 QLayout::metaObject
+24 QLayout::qt_metacast
+32 QLayout::qt_metacall
+40 QLayout::~QLayout
+48 QLayout::~QLayout
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QLayout::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QLayout::invalidate
+120 QLayout::geometry
+128 __cxa_pure_virtual
+136 QLayout::expandingDirections
+144 QLayout::minimumSize
+152 QLayout::maximumSize
+160 QLayout::setGeometry
+168 __cxa_pure_virtual
+176 __cxa_pure_virtual
+184 QLayout::indexOf
+192 __cxa_pure_virtual
+200 QLayout::isEmpty
+208 QLayout::layout
+216 (int (*)(...))-0x00000000000000010
+224 (int (*)(...))(& _ZTI7QLayout)
+232 QLayout::_ZThn16_N7QLayoutD1Ev
+240 QLayout::_ZThn16_N7QLayoutD0Ev
+248 __cxa_pure_virtual
+256 QLayout::_ZThn16_NK7QLayout11minimumSizeEv
+264 QLayout::_ZThn16_NK7QLayout11maximumSizeEv
+272 QLayout::_ZThn16_NK7QLayout19expandingDirectionsEv
+280 QLayout::_ZThn16_N7QLayout11setGeometryERK5QRect
+288 QLayout::_ZThn16_NK7QLayout8geometryEv
+296 QLayout::_ZThn16_NK7QLayout7isEmptyEv
+304 QLayoutItem::hasHeightForWidth
+312 QLayoutItem::heightForWidth
+320 QLayoutItem::minimumHeightForWidth
+328 QLayout::_ZThn16_N7QLayout10invalidateEv
+336 QLayoutItem::widget
+344 QLayout::_ZThn16_N7QLayout6layoutEv
+352 QLayoutItem::spacerItem
+
+Class QLayout
+ size=32 align=8
+ base size=28 base align=8
+QLayout (0x7f1dece1c180) 0
+ vptr=((& QLayout::_ZTV7QLayout) + 16u)
+ QObject (0x7f1dece1a690) 0
+ primary-for QLayout (0x7f1dece1c180)
+ QLayoutItem (0x7f1dece1a700) 16
+ vptr=((& QLayout::_ZTV7QLayout) + 232u)
+
+Vtable for QBoxLayout
+QBoxLayout::_ZTV10QBoxLayout: 49u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QBoxLayout)
+16 QBoxLayout::metaObject
+24 QBoxLayout::qt_metacast
+32 QBoxLayout::qt_metacall
+40 QBoxLayout::~QBoxLayout
+48 QBoxLayout::~QBoxLayout
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QLayout::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QBoxLayout::invalidate
+120 QLayout::geometry
+128 QBoxLayout::addItem
+136 QBoxLayout::expandingDirections
+144 QBoxLayout::minimumSize
+152 QBoxLayout::maximumSize
+160 QBoxLayout::setGeometry
+168 QBoxLayout::itemAt
+176 QBoxLayout::takeAt
+184 QLayout::indexOf
+192 QBoxLayout::count
+200 QLayout::isEmpty
+208 QLayout::layout
+216 QBoxLayout::sizeHint
+224 QBoxLayout::hasHeightForWidth
+232 QBoxLayout::heightForWidth
+240 QBoxLayout::minimumHeightForWidth
+248 (int (*)(...))-0x00000000000000010
+256 (int (*)(...))(& _ZTI10QBoxLayout)
+264 QBoxLayout::_ZThn16_N10QBoxLayoutD1Ev
+272 QBoxLayout::_ZThn16_N10QBoxLayoutD0Ev
+280 QBoxLayout::_ZThn16_NK10QBoxLayout8sizeHintEv
+288 QBoxLayout::_ZThn16_NK10QBoxLayout11minimumSizeEv
+296 QBoxLayout::_ZThn16_NK10QBoxLayout11maximumSizeEv
+304 QBoxLayout::_ZThn16_NK10QBoxLayout19expandingDirectionsEv
+312 QBoxLayout::_ZThn16_N10QBoxLayout11setGeometryERK5QRect
+320 QLayout::_ZThn16_NK7QLayout8geometryEv
+328 QLayout::_ZThn16_NK7QLayout7isEmptyEv
+336 QBoxLayout::_ZThn16_NK10QBoxLayout17hasHeightForWidthEv
+344 QBoxLayout::_ZThn16_NK10QBoxLayout14heightForWidthEi
+352 QBoxLayout::_ZThn16_NK10QBoxLayout21minimumHeightForWidthEi
+360 QBoxLayout::_ZThn16_N10QBoxLayout10invalidateEv
+368 QLayoutItem::widget
+376 QLayout::_ZThn16_N7QLayout6layoutEv
+384 QLayoutItem::spacerItem
+
+Class QBoxLayout
+ size=32 align=8
+ base size=28 base align=8
+QBoxLayout (0x7f1decc54bd0) 0
+ vptr=((& QBoxLayout::_ZTV10QBoxLayout) + 16u)
+ QLayout (0x7f1decc59200) 0
+ primary-for QBoxLayout (0x7f1decc54bd0)
+ QObject (0x7f1decc54c40) 0
+ primary-for QLayout (0x7f1decc59200)
+ QLayoutItem (0x7f1decc54cb0) 16
+ vptr=((& QBoxLayout::_ZTV10QBoxLayout) + 264u)
+
+Vtable for QHBoxLayout
+QHBoxLayout::_ZTV11QHBoxLayout: 49u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QHBoxLayout)
+16 QHBoxLayout::metaObject
+24 QHBoxLayout::qt_metacast
+32 QHBoxLayout::qt_metacall
+40 QHBoxLayout::~QHBoxLayout
+48 QHBoxLayout::~QHBoxLayout
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QLayout::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QBoxLayout::invalidate
+120 QLayout::geometry
+128 QBoxLayout::addItem
+136 QBoxLayout::expandingDirections
+144 QBoxLayout::minimumSize
+152 QBoxLayout::maximumSize
+160 QBoxLayout::setGeometry
+168 QBoxLayout::itemAt
+176 QBoxLayout::takeAt
+184 QLayout::indexOf
+192 QBoxLayout::count
+200 QLayout::isEmpty
+208 QLayout::layout
+216 QBoxLayout::sizeHint
+224 QBoxLayout::hasHeightForWidth
+232 QBoxLayout::heightForWidth
+240 QBoxLayout::minimumHeightForWidth
+248 (int (*)(...))-0x00000000000000010
+256 (int (*)(...))(& _ZTI11QHBoxLayout)
+264 QHBoxLayout::_ZThn16_N11QHBoxLayoutD1Ev
+272 QHBoxLayout::_ZThn16_N11QHBoxLayoutD0Ev
+280 QBoxLayout::_ZThn16_NK10QBoxLayout8sizeHintEv
+288 QBoxLayout::_ZThn16_NK10QBoxLayout11minimumSizeEv
+296 QBoxLayout::_ZThn16_NK10QBoxLayout11maximumSizeEv
+304 QBoxLayout::_ZThn16_NK10QBoxLayout19expandingDirectionsEv
+312 QBoxLayout::_ZThn16_N10QBoxLayout11setGeometryERK5QRect
+320 QLayout::_ZThn16_NK7QLayout8geometryEv
+328 QLayout::_ZThn16_NK7QLayout7isEmptyEv
+336 QBoxLayout::_ZThn16_NK10QBoxLayout17hasHeightForWidthEv
+344 QBoxLayout::_ZThn16_NK10QBoxLayout14heightForWidthEi
+352 QBoxLayout::_ZThn16_NK10QBoxLayout21minimumHeightForWidthEi
+360 QBoxLayout::_ZThn16_N10QBoxLayout10invalidateEv
+368 QLayoutItem::widget
+376 QLayout::_ZThn16_N7QLayout6layoutEv
+384 QLayoutItem::spacerItem
+
+Class QHBoxLayout
+ size=32 align=8
+ base size=28 base align=8
+QHBoxLayout (0x7f1decc83620) 0
+ vptr=((& QHBoxLayout::_ZTV11QHBoxLayout) + 16u)
+ QBoxLayout (0x7f1decc83690) 0
+ primary-for QHBoxLayout (0x7f1decc83620)
+ QLayout (0x7f1decc59f80) 0
+ primary-for QBoxLayout (0x7f1decc83690)
+ QObject (0x7f1decc83700) 0
+ primary-for QLayout (0x7f1decc59f80)
+ QLayoutItem (0x7f1decc83770) 16
+ vptr=((& QHBoxLayout::_ZTV11QHBoxLayout) + 264u)
+
+Vtable for QVBoxLayout
+QVBoxLayout::_ZTV11QVBoxLayout: 49u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QVBoxLayout)
+16 QVBoxLayout::metaObject
+24 QVBoxLayout::qt_metacast
+32 QVBoxLayout::qt_metacall
+40 QVBoxLayout::~QVBoxLayout
+48 QVBoxLayout::~QVBoxLayout
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QLayout::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QBoxLayout::invalidate
+120 QLayout::geometry
+128 QBoxLayout::addItem
+136 QBoxLayout::expandingDirections
+144 QBoxLayout::minimumSize
+152 QBoxLayout::maximumSize
+160 QBoxLayout::setGeometry
+168 QBoxLayout::itemAt
+176 QBoxLayout::takeAt
+184 QLayout::indexOf
+192 QBoxLayout::count
+200 QLayout::isEmpty
+208 QLayout::layout
+216 QBoxLayout::sizeHint
+224 QBoxLayout::hasHeightForWidth
+232 QBoxLayout::heightForWidth
+240 QBoxLayout::minimumHeightForWidth
+248 (int (*)(...))-0x00000000000000010
+256 (int (*)(...))(& _ZTI11QVBoxLayout)
+264 QVBoxLayout::_ZThn16_N11QVBoxLayoutD1Ev
+272 QVBoxLayout::_ZThn16_N11QVBoxLayoutD0Ev
+280 QBoxLayout::_ZThn16_NK10QBoxLayout8sizeHintEv
+288 QBoxLayout::_ZThn16_NK10QBoxLayout11minimumSizeEv
+296 QBoxLayout::_ZThn16_NK10QBoxLayout11maximumSizeEv
+304 QBoxLayout::_ZThn16_NK10QBoxLayout19expandingDirectionsEv
+312 QBoxLayout::_ZThn16_N10QBoxLayout11setGeometryERK5QRect
+320 QLayout::_ZThn16_NK7QLayout8geometryEv
+328 QLayout::_ZThn16_NK7QLayout7isEmptyEv
+336 QBoxLayout::_ZThn16_NK10QBoxLayout17hasHeightForWidthEv
+344 QBoxLayout::_ZThn16_NK10QBoxLayout14heightForWidthEi
+352 QBoxLayout::_ZThn16_NK10QBoxLayout21minimumHeightForWidthEi
+360 QBoxLayout::_ZThn16_N10QBoxLayout10invalidateEv
+368 QLayoutItem::widget
+376 QLayout::_ZThn16_N7QLayout6layoutEv
+384 QLayoutItem::spacerItem
+
+Class QVBoxLayout
+ size=32 align=8
+ base size=28 base align=8
+QVBoxLayout (0x7f1decc8fcb0) 0
+ vptr=((& QVBoxLayout::_ZTV11QVBoxLayout) + 16u)
+ QBoxLayout (0x7f1decc8fd20) 0
+ primary-for QVBoxLayout (0x7f1decc8fcb0)
+ QLayout (0x7f1decc88680) 0
+ primary-for QBoxLayout (0x7f1decc8fd20)
+ QObject (0x7f1decc8fd90) 0
+ primary-for QLayout (0x7f1decc88680)
+ QLayoutItem (0x7f1decc8fe00) 16
+ vptr=((& QVBoxLayout::_ZTV11QVBoxLayout) + 264u)
+
+Vtable for QGridLayout
+QGridLayout::_ZTV11QGridLayout: 49u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QGridLayout)
+16 QGridLayout::metaObject
+24 QGridLayout::qt_metacast
+32 QGridLayout::qt_metacall
+40 QGridLayout::~QGridLayout
+48 QGridLayout::~QGridLayout
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QLayout::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QGridLayout::invalidate
+120 QLayout::geometry
+128 QGridLayout::addItem
+136 QGridLayout::expandingDirections
+144 QGridLayout::minimumSize
+152 QGridLayout::maximumSize
+160 QGridLayout::setGeometry
+168 QGridLayout::itemAt
+176 QGridLayout::takeAt
+184 QLayout::indexOf
+192 QGridLayout::count
+200 QLayout::isEmpty
+208 QLayout::layout
+216 QGridLayout::sizeHint
+224 QGridLayout::hasHeightForWidth
+232 QGridLayout::heightForWidth
+240 QGridLayout::minimumHeightForWidth
+248 (int (*)(...))-0x00000000000000010
+256 (int (*)(...))(& _ZTI11QGridLayout)
+264 QGridLayout::_ZThn16_N11QGridLayoutD1Ev
+272 QGridLayout::_ZThn16_N11QGridLayoutD0Ev
+280 QGridLayout::_ZThn16_NK11QGridLayout8sizeHintEv
+288 QGridLayout::_ZThn16_NK11QGridLayout11minimumSizeEv
+296 QGridLayout::_ZThn16_NK11QGridLayout11maximumSizeEv
+304 QGridLayout::_ZThn16_NK11QGridLayout19expandingDirectionsEv
+312 QGridLayout::_ZThn16_N11QGridLayout11setGeometryERK5QRect
+320 QLayout::_ZThn16_NK7QLayout8geometryEv
+328 QLayout::_ZThn16_NK7QLayout7isEmptyEv
+336 QGridLayout::_ZThn16_NK11QGridLayout17hasHeightForWidthEv
+344 QGridLayout::_ZThn16_NK11QGridLayout14heightForWidthEi
+352 QGridLayout::_ZThn16_NK11QGridLayout21minimumHeightForWidthEi
+360 QGridLayout::_ZThn16_N11QGridLayout10invalidateEv
+368 QLayoutItem::widget
+376 QLayout::_ZThn16_N7QLayout6layoutEv
+384 QLayoutItem::spacerItem
+
+Class QGridLayout
+ size=32 align=8
+ base size=28 base align=8
+QGridLayout (0x7f1deccb32a0) 0
+ vptr=((& QGridLayout::_ZTV11QGridLayout) + 16u)
+ QLayout (0x7f1decc88d80) 0
+ primary-for QGridLayout (0x7f1deccb32a0)
+ QObject (0x7f1deccb3310) 0
+ primary-for QLayout (0x7f1decc88d80)
+ QLayoutItem (0x7f1deccb3380) 16
+ vptr=((& QGridLayout::_ZTV11QGridLayout) + 264u)
+
+Vtable for QFormLayout
+QFormLayout::_ZTV11QFormLayout: 48u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QFormLayout)
+16 QFormLayout::metaObject
+24 QFormLayout::qt_metacast
+32 QFormLayout::qt_metacall
+40 QFormLayout::~QFormLayout
+48 QFormLayout::~QFormLayout
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QLayout::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QFormLayout::invalidate
+120 QLayout::geometry
+128 QFormLayout::addItem
+136 QFormLayout::expandingDirections
+144 QFormLayout::minimumSize
+152 QLayout::maximumSize
+160 QFormLayout::setGeometry
+168 QFormLayout::itemAt
+176 QFormLayout::takeAt
+184 QLayout::indexOf
+192 QFormLayout::count
+200 QLayout::isEmpty
+208 QLayout::layout
+216 QFormLayout::sizeHint
+224 QFormLayout::hasHeightForWidth
+232 QFormLayout::heightForWidth
+240 (int (*)(...))-0x00000000000000010
+248 (int (*)(...))(& _ZTI11QFormLayout)
+256 QFormLayout::_ZThn16_N11QFormLayoutD1Ev
+264 QFormLayout::_ZThn16_N11QFormLayoutD0Ev
+272 QFormLayout::_ZThn16_NK11QFormLayout8sizeHintEv
+280 QFormLayout::_ZThn16_NK11QFormLayout11minimumSizeEv
+288 QLayout::_ZThn16_NK7QLayout11maximumSizeEv
+296 QFormLayout::_ZThn16_NK11QFormLayout19expandingDirectionsEv
+304 QFormLayout::_ZThn16_N11QFormLayout11setGeometryERK5QRect
+312 QLayout::_ZThn16_NK7QLayout8geometryEv
+320 QLayout::_ZThn16_NK7QLayout7isEmptyEv
+328 QFormLayout::_ZThn16_NK11QFormLayout17hasHeightForWidthEv
+336 QFormLayout::_ZThn16_NK11QFormLayout14heightForWidthEi
+344 QLayoutItem::minimumHeightForWidth
+352 QFormLayout::_ZThn16_N11QFormLayout10invalidateEv
+360 QLayoutItem::widget
+368 QLayout::_ZThn16_N7QLayout6layoutEv
+376 QLayoutItem::spacerItem
+
+Class QFormLayout
+ size=32 align=8
+ base size=28 base align=8
+QFormLayout (0x7f1decd00310) 0
+ vptr=((& QFormLayout::_ZTV11QFormLayout) + 16u)
+ QLayout (0x7f1deccfab80) 0
+ primary-for QFormLayout (0x7f1decd00310)
+ QObject (0x7f1decd00380) 0
+ primary-for QLayout (0x7f1deccfab80)
+ QLayoutItem (0x7f1decd003f0) 16
+ vptr=((& QFormLayout::_ZTV11QFormLayout) + 256u)
+
+Vtable for QClipboard
+QClipboard::_ZTV10QClipboard: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QClipboard)
+16 QClipboard::metaObject
+24 QClipboard::qt_metacast
+32 QClipboard::qt_metacall
+40 QClipboard::~QClipboard
+48 QClipboard::~QClipboard
+56 QClipboard::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QClipboard::connectNotify
+104 QObject::disconnectNotify
+
+Class QClipboard
+ size=16 align=8
+ base size=16 base align=8
+QClipboard (0x7f1decd2a770) 0
+ vptr=((& QClipboard::_ZTV10QClipboard) + 16u)
+ QObject (0x7f1decd2a7e0) 0
+ primary-for QClipboard (0x7f1decd2a770)
+
+Class QWhatsThis
+ size=1 align=1
+ base size=0 base align=1
+QWhatsThis (0x7f1decd4c4d0) 0 empty
+
+Vtable for QDesktopWidget
+QDesktopWidget::_ZTV14QDesktopWidget: 63u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QDesktopWidget)
+16 QDesktopWidget::metaObject
+24 QDesktopWidget::qt_metacast
+32 QDesktopWidget::qt_metacall
+40 QDesktopWidget::~QDesktopWidget
+48 QDesktopWidget::~QDesktopWidget
+56 QWidget::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QWidget::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QWidget::paintEvent
+256 QWidget::moveEvent
+264 QDesktopWidget::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QWidget::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 (int (*)(...))-0x00000000000000010
+456 (int (*)(...))(& _ZTI14QDesktopWidget)
+464 QDesktopWidget::_ZThn16_N14QDesktopWidgetD1Ev
+472 QDesktopWidget::_ZThn16_N14QDesktopWidgetD0Ev
+480 QWidget::_ZThn16_NK7QWidget7devTypeEv
+488 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+496 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QDesktopWidget
+ size=40 align=8
+ base size=40 base align=8
+QDesktopWidget (0x7f1decd4c5b0) 0
+ vptr=((& QDesktopWidget::_ZTV14QDesktopWidget) + 16u)
+ QWidget (0x7f1decd48400) 0
+ primary-for QDesktopWidget (0x7f1decd4c5b0)
+ QObject (0x7f1decd4c620) 0
+ primary-for QWidget (0x7f1decd48400)
+ QPaintDevice (0x7f1decd4c690) 16
+ vptr=((& QDesktopWidget::_ZTV14QDesktopWidget) + 464u)
+
+Vtable for QShortcut
+QShortcut::_ZTV9QShortcut: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QShortcut)
+16 QShortcut::metaObject
+24 QShortcut::qt_metacast
+32 QShortcut::qt_metacall
+40 QShortcut::~QShortcut
+48 QShortcut::~QShortcut
+56 QShortcut::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QShortcut
+ size=16 align=8
+ base size=16 base align=8
+QShortcut (0x7f1decb725b0) 0
+ vptr=((& QShortcut::_ZTV9QShortcut) + 16u)
+ QObject (0x7f1decb72620) 0
+ primary-for QShortcut (0x7f1decb725b0)
+
+Vtable for QSessionManager
+QSessionManager::_ZTV15QSessionManager: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QSessionManager)
+16 QSessionManager::metaObject
+24 QSessionManager::qt_metacast
+32 QSessionManager::qt_metacall
+40 QSessionManager::~QSessionManager
+48 QSessionManager::~QSessionManager
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QSessionManager
+ size=16 align=8
+ base size=16 base align=8
+QSessionManager (0x7f1decb85d20) 0
+ vptr=((& QSessionManager::_ZTV15QSessionManager) + 16u)
+ QObject (0x7f1decb85d90) 0
+ primary-for QSessionManager (0x7f1decb85d20)
+
+Vtable for QApplication
+QApplication::_ZTV12QApplication: 20u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QApplication)
+16 QApplication::metaObject
+24 QApplication::qt_metacast
+32 QApplication::qt_metacall
+40 QApplication::~QApplication
+48 QApplication::~QApplication
+56 QApplication::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QApplication::notify
+120 QApplication::compressEvent
+128 QApplication::x11EventFilter
+136 QApplication::x11ClientMessage
+144 QApplication::commitData
+152 QApplication::saveState
+
+Class QApplication
+ size=16 align=8
+ base size=16 base align=8
+QApplication (0x7f1decba32a0) 0
+ vptr=((& QApplication::_ZTV12QApplication) + 16u)
+ QCoreApplication (0x7f1decba3310) 0
+ primary-for QApplication (0x7f1decba32a0)
+ QObject (0x7f1decba3380) 0
+ primary-for QCoreApplication (0x7f1decba3310)
+
+Vtable for QAction
+QAction::_ZTV7QAction: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QAction)
+16 QAction::metaObject
+24 QAction::qt_metacast
+32 QAction::qt_metacall
+40 QAction::~QAction
+48 QAction::~QAction
+56 QAction::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QAction
+ size=16 align=8
+ base size=16 base align=8
+QAction (0x7f1decbeaee0) 0
+ vptr=((& QAction::_ZTV7QAction) + 16u)
+ QObject (0x7f1decbeaf50) 0
+ primary-for QAction (0x7f1decbeaee0)
+
+Vtable for QActionGroup
+QActionGroup::_ZTV12QActionGroup: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QActionGroup)
+16 QActionGroup::metaObject
+24 QActionGroup::qt_metacast
+32 QActionGroup::qt_metacall
+40 QActionGroup::~QActionGroup
+48 QActionGroup::~QActionGroup
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QActionGroup
+ size=16 align=8
+ base size=16 base align=8
+QActionGroup (0x7f1decc2e700) 0
+ vptr=((& QActionGroup::_ZTV12QActionGroup) + 16u)
+ QObject (0x7f1decc2e770) 0
+ primary-for QActionGroup (0x7f1decc2e700)
+
+Vtable for QSound
+QSound::_ZTV6QSound: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI6QSound)
+16 QSound::metaObject
+24 QSound::qt_metacast
+32 QSound::qt_metacall
+40 QSound::~QSound
+48 QSound::~QSound
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QSound
+ size=16 align=8
+ base size=16 base align=8
+QSound (0x7f1decc4baf0) 0
+ vptr=((& QSound::_ZTV6QSound) + 16u)
+ QObject (0x7f1decc4bb60) 0
+ primary-for QSound (0x7f1decc4baf0)
+
+Vtable for QStackedLayout
+QStackedLayout::_ZTV14QStackedLayout: 46u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QStackedLayout)
+16 QStackedLayout::metaObject
+24 QStackedLayout::qt_metacast
+32 QStackedLayout::qt_metacall
+40 QStackedLayout::~QStackedLayout
+48 QStackedLayout::~QStackedLayout
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QLayout::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QLayout::invalidate
+120 QLayout::geometry
+128 QStackedLayout::addItem
+136 QLayout::expandingDirections
+144 QStackedLayout::minimumSize
+152 QLayout::maximumSize
+160 QStackedLayout::setGeometry
+168 QStackedLayout::itemAt
+176 QStackedLayout::takeAt
+184 QLayout::indexOf
+192 QStackedLayout::count
+200 QLayout::isEmpty
+208 QLayout::layout
+216 QStackedLayout::sizeHint
+224 (int (*)(...))-0x00000000000000010
+232 (int (*)(...))(& _ZTI14QStackedLayout)
+240 QStackedLayout::_ZThn16_N14QStackedLayoutD1Ev
+248 QStackedLayout::_ZThn16_N14QStackedLayoutD0Ev
+256 QStackedLayout::_ZThn16_NK14QStackedLayout8sizeHintEv
+264 QStackedLayout::_ZThn16_NK14QStackedLayout11minimumSizeEv
+272 QLayout::_ZThn16_NK7QLayout11maximumSizeEv
+280 QLayout::_ZThn16_NK7QLayout19expandingDirectionsEv
+288 QStackedLayout::_ZThn16_N14QStackedLayout11setGeometryERK5QRect
+296 QLayout::_ZThn16_NK7QLayout8geometryEv
+304 QLayout::_ZThn16_NK7QLayout7isEmptyEv
+312 QLayoutItem::hasHeightForWidth
+320 QLayoutItem::heightForWidth
+328 QLayoutItem::minimumHeightForWidth
+336 QLayout::_ZThn16_N7QLayout10invalidateEv
+344 QLayoutItem::widget
+352 QLayout::_ZThn16_N7QLayout6layoutEv
+360 QLayoutItem::spacerItem
+
+Class QStackedLayout
+ size=32 align=8
+ base size=28 base align=8
+QStackedLayout (0x7f1deca892a0) 0
+ vptr=((& QStackedLayout::_ZTV14QStackedLayout) + 16u)
+ QLayout (0x7f1deca71a80) 0
+ primary-for QStackedLayout (0x7f1deca892a0)
+ QObject (0x7f1deca89310) 0
+ primary-for QLayout (0x7f1deca71a80)
+ QLayoutItem (0x7f1deca89380) 16
+ vptr=((& QStackedLayout::_ZTV14QStackedLayout) + 240u)
+
+Vtable for QWidgetAction
+QWidgetAction::_ZTV13QWidgetAction: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QWidgetAction)
+16 QWidgetAction::metaObject
+24 QWidgetAction::qt_metacast
+32 QWidgetAction::qt_metacall
+40 QWidgetAction::~QWidgetAction
+48 QWidgetAction::~QWidgetAction
+56 QWidgetAction::event
+64 QWidgetAction::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidgetAction::createWidget
+120 QWidgetAction::deleteWidget
+
+Class QWidgetAction
+ size=16 align=8
+ base size=16 base align=8
+QWidgetAction (0x7f1decaa62a0) 0
+ vptr=((& QWidgetAction::_ZTV13QWidgetAction) + 16u)
+ QAction (0x7f1decaa6310) 0
+ primary-for QWidgetAction (0x7f1decaa62a0)
+ QObject (0x7f1decaa6380) 0
+ primary-for QAction (0x7f1decaa6310)
+
+Class QToolTip
+ size=1 align=1
+ base size=0 base align=1
+QToolTip (0x7f1decabac40) 0 empty
+
+Vtable for QCommonStyle
+QCommonStyle::_ZTV12QCommonStyle: 35u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QCommonStyle)
+16 QCommonStyle::metaObject
+24 QCommonStyle::qt_metacast
+32 QCommonStyle::qt_metacall
+40 QCommonStyle::~QCommonStyle
+48 QCommonStyle::~QCommonStyle
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QCommonStyle::polish
+120 QCommonStyle::unpolish
+128 QCommonStyle::polish
+136 QCommonStyle::unpolish
+144 QCommonStyle::polish
+152 QStyle::itemTextRect
+160 QStyle::itemPixmapRect
+168 QStyle::drawItemText
+176 QStyle::drawItemPixmap
+184 QStyle::standardPalette
+192 QCommonStyle::drawPrimitive
+200 QCommonStyle::drawControl
+208 QCommonStyle::subElementRect
+216 QCommonStyle::drawComplexControl
+224 QCommonStyle::hitTestComplexControl
+232 QCommonStyle::subControlRect
+240 QCommonStyle::pixelMetric
+248 QCommonStyle::sizeFromContents
+256 QCommonStyle::styleHint
+264 QCommonStyle::standardPixmap
+272 QCommonStyle::generatedIconPixmap
+
+Class QCommonStyle
+ size=16 align=8
+ base size=16 base align=8
+QCommonStyle (0x7f1decac6230) 0
+ vptr=((& QCommonStyle::_ZTV12QCommonStyle) + 16u)
+ QStyle (0x7f1decac62a0) 0
+ primary-for QCommonStyle (0x7f1decac6230)
+ QObject (0x7f1decac6310) 0
+ primary-for QStyle (0x7f1decac62a0)
+
+Vtable for QMotifStyle
+QMotifStyle::_ZTV11QMotifStyle: 35u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QMotifStyle)
+16 QMotifStyle::metaObject
+24 QMotifStyle::qt_metacast
+32 QMotifStyle::qt_metacall
+40 QMotifStyle::~QMotifStyle
+48 QMotifStyle::~QMotifStyle
+56 QMotifStyle::event
+64 QMotifStyle::eventFilter
+72 QMotifStyle::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QMotifStyle::polish
+120 QMotifStyle::unpolish
+128 QMotifStyle::polish
+136 QMotifStyle::unpolish
+144 QMotifStyle::polish
+152 QStyle::itemTextRect
+160 QStyle::itemPixmapRect
+168 QStyle::drawItemText
+176 QStyle::drawItemPixmap
+184 QMotifStyle::standardPalette
+192 QMotifStyle::drawPrimitive
+200 QMotifStyle::drawControl
+208 QMotifStyle::subElementRect
+216 QMotifStyle::drawComplexControl
+224 QCommonStyle::hitTestComplexControl
+232 QMotifStyle::subControlRect
+240 QMotifStyle::pixelMetric
+248 QMotifStyle::sizeFromContents
+256 QMotifStyle::styleHint
+264 QMotifStyle::standardPixmap
+272 QCommonStyle::generatedIconPixmap
+
+Class QMotifStyle
+ size=32 align=8
+ base size=25 base align=8
+QMotifStyle (0x7f1decae5230) 0
+ vptr=((& QMotifStyle::_ZTV11QMotifStyle) + 16u)
+ QCommonStyle (0x7f1decae52a0) 0
+ primary-for QMotifStyle (0x7f1decae5230)
+ QStyle (0x7f1decae5310) 0
+ primary-for QCommonStyle (0x7f1decae52a0)
+ QObject (0x7f1decae5380) 0
+ primary-for QStyle (0x7f1decae5310)
+
+Vtable for QWindowsStyle
+QWindowsStyle::_ZTV13QWindowsStyle: 35u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QWindowsStyle)
+16 QWindowsStyle::metaObject
+24 QWindowsStyle::qt_metacast
+32 QWindowsStyle::qt_metacall
+40 QWindowsStyle::~QWindowsStyle
+48 QWindowsStyle::~QWindowsStyle
+56 QObject::event
+64 QWindowsStyle::eventFilter
+72 QWindowsStyle::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWindowsStyle::polish
+120 QWindowsStyle::unpolish
+128 QWindowsStyle::polish
+136 QWindowsStyle::unpolish
+144 QWindowsStyle::polish
+152 QStyle::itemTextRect
+160 QStyle::itemPixmapRect
+168 QStyle::drawItemText
+176 QStyle::drawItemPixmap
+184 QStyle::standardPalette
+192 QWindowsStyle::drawPrimitive
+200 QWindowsStyle::drawControl
+208 QWindowsStyle::subElementRect
+216 QWindowsStyle::drawComplexControl
+224 QCommonStyle::hitTestComplexControl
+232 QCommonStyle::subControlRect
+240 QWindowsStyle::pixelMetric
+248 QWindowsStyle::sizeFromContents
+256 QWindowsStyle::styleHint
+264 QWindowsStyle::standardPixmap
+272 QCommonStyle::generatedIconPixmap
+
+Class QWindowsStyle
+ size=24 align=8
+ base size=24 base align=8
+QWindowsStyle (0x7f1decb0d150) 0
+ vptr=((& QWindowsStyle::_ZTV13QWindowsStyle) + 16u)
+ QCommonStyle (0x7f1decb0d1c0) 0
+ primary-for QWindowsStyle (0x7f1decb0d150)
+ QStyle (0x7f1decb0d230) 0
+ primary-for QCommonStyle (0x7f1decb0d1c0)
+ QObject (0x7f1decb0d2a0) 0
+ primary-for QStyle (0x7f1decb0d230)
+
+Vtable for QCleanlooksStyle
+QCleanlooksStyle::_ZTV16QCleanlooksStyle: 35u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QCleanlooksStyle)
+16 QCleanlooksStyle::metaObject
+24 QCleanlooksStyle::qt_metacast
+32 QCleanlooksStyle::qt_metacall
+40 QCleanlooksStyle::~QCleanlooksStyle
+48 QCleanlooksStyle::~QCleanlooksStyle
+56 QObject::event
+64 QWindowsStyle::eventFilter
+72 QWindowsStyle::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QCleanlooksStyle::polish
+120 QCleanlooksStyle::unpolish
+128 QCleanlooksStyle::polish
+136 QCleanlooksStyle::unpolish
+144 QCleanlooksStyle::polish
+152 QStyle::itemTextRect
+160 QCleanlooksStyle::itemPixmapRect
+168 QCleanlooksStyle::drawItemText
+176 QCleanlooksStyle::drawItemPixmap
+184 QCleanlooksStyle::standardPalette
+192 QCleanlooksStyle::drawPrimitive
+200 QCleanlooksStyle::drawControl
+208 QCleanlooksStyle::subElementRect
+216 QCleanlooksStyle::drawComplexControl
+224 QCleanlooksStyle::hitTestComplexControl
+232 QCleanlooksStyle::subControlRect
+240 QCleanlooksStyle::pixelMetric
+248 QCleanlooksStyle::sizeFromContents
+256 QCleanlooksStyle::styleHint
+264 QCleanlooksStyle::standardPixmap
+272 QCleanlooksStyle::generatedIconPixmap
+
+Class QCleanlooksStyle
+ size=24 align=8
+ base size=24 base align=8
+QCleanlooksStyle (0x7f1decb26ee0) 0
+ vptr=((& QCleanlooksStyle::_ZTV16QCleanlooksStyle) + 16u)
+ QWindowsStyle (0x7f1decb26f50) 0
+ primary-for QCleanlooksStyle (0x7f1decb26ee0)
+ QCommonStyle (0x7f1decb2d000) 0
+ primary-for QWindowsStyle (0x7f1decb26f50)
+ QStyle (0x7f1decb2d070) 0
+ primary-for QCommonStyle (0x7f1decb2d000)
+ QObject (0x7f1decb2d0e0) 0
+ primary-for QStyle (0x7f1decb2d070)
+
+Vtable for QStyleFactoryInterface
+QStyleFactoryInterface::_ZTV22QStyleFactoryInterface: 6u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI22QStyleFactoryInterface)
+16 QStyleFactoryInterface::~QStyleFactoryInterface
+24 QStyleFactoryInterface::~QStyleFactoryInterface
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+
+Class QStyleFactoryInterface
+ size=8 align=8
+ base size=8 base align=8
+QStyleFactoryInterface (0x7f1decb49cb0) 0 nearly-empty
+ vptr=((& QStyleFactoryInterface::_ZTV22QStyleFactoryInterface) + 16u)
+ QFactoryInterface (0x7f1decb49d20) 0 nearly-empty
+ primary-for QStyleFactoryInterface (0x7f1decb49cb0)
+
+Vtable for QStylePlugin
+QStylePlugin::_ZTV12QStylePlugin: 22u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QStylePlugin)
+16 QStylePlugin::metaObject
+24 QStylePlugin::qt_metacast
+32 QStylePlugin::qt_metacall
+40 QStylePlugin::~QStylePlugin
+48 QStylePlugin::~QStylePlugin
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 (int (*)(...))-0x00000000000000010
+136 (int (*)(...))(& _ZTI12QStylePlugin)
+144 QStylePlugin::_ZThn16_N12QStylePluginD1Ev
+152 QStylePlugin::_ZThn16_N12QStylePluginD0Ev
+160 __cxa_pure_virtual
+168 __cxa_pure_virtual
+
+Class QStylePlugin
+ size=24 align=8
+ base size=24 base align=8
+QStylePlugin (0x7f1decb2ef80) 0
+ vptr=((& QStylePlugin::_ZTV12QStylePlugin) + 16u)
+ QObject (0x7f1dec953540) 0
+ primary-for QStylePlugin (0x7f1decb2ef80)
+ QStyleFactoryInterface (0x7f1dec9535b0) 16 nearly-empty
+ vptr=((& QStylePlugin::_ZTV12QStylePlugin) + 144u)
+ QFactoryInterface (0x7f1dec953620) 16 nearly-empty
+ primary-for QStyleFactoryInterface (0x7f1dec9535b0)
+
+Vtable for QWindowsXPStyle
+QWindowsXPStyle::_ZTV15QWindowsXPStyle: 35u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QWindowsXPStyle)
+16 QWindowsXPStyle::metaObject
+24 QWindowsXPStyle::qt_metacast
+32 QWindowsXPStyle::qt_metacall
+40 QWindowsXPStyle::~QWindowsXPStyle
+48 QWindowsXPStyle::~QWindowsXPStyle
+56 QObject::event
+64 QWindowsStyle::eventFilter
+72 QWindowsStyle::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWindowsXPStyle::polish
+120 QWindowsXPStyle::unpolish
+128 QWindowsXPStyle::polish
+136 QWindowsXPStyle::unpolish
+144 QWindowsXPStyle::polish
+152 QStyle::itemTextRect
+160 QStyle::itemPixmapRect
+168 QStyle::drawItemText
+176 QStyle::drawItemPixmap
+184 QWindowsXPStyle::standardPalette
+192 QWindowsXPStyle::drawPrimitive
+200 QWindowsXPStyle::drawControl
+208 QWindowsXPStyle::subElementRect
+216 QWindowsXPStyle::drawComplexControl
+224 QCommonStyle::hitTestComplexControl
+232 QWindowsXPStyle::subControlRect
+240 QWindowsXPStyle::pixelMetric
+248 QWindowsXPStyle::sizeFromContents
+256 QWindowsXPStyle::styleHint
+264 QWindowsXPStyle::standardPixmap
+272 QCommonStyle::generatedIconPixmap
+
+Class QWindowsXPStyle
+ size=32 align=8
+ base size=32 base align=8
+QWindowsXPStyle (0x7f1dec9644d0) 0
+ vptr=((& QWindowsXPStyle::_ZTV15QWindowsXPStyle) + 16u)
+ QWindowsStyle (0x7f1dec964540) 0
+ primary-for QWindowsXPStyle (0x7f1dec9644d0)
+ QCommonStyle (0x7f1dec9645b0) 0
+ primary-for QWindowsStyle (0x7f1dec964540)
+ QStyle (0x7f1dec964620) 0
+ primary-for QCommonStyle (0x7f1dec9645b0)
+ QObject (0x7f1dec964690) 0
+ primary-for QStyle (0x7f1dec964620)
+
+Vtable for QCDEStyle
+QCDEStyle::_ZTV9QCDEStyle: 35u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QCDEStyle)
+16 QCDEStyle::metaObject
+24 QCDEStyle::qt_metacast
+32 QCDEStyle::qt_metacall
+40 QCDEStyle::~QCDEStyle
+48 QCDEStyle::~QCDEStyle
+56 QMotifStyle::event
+64 QMotifStyle::eventFilter
+72 QMotifStyle::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QMotifStyle::polish
+120 QMotifStyle::unpolish
+128 QMotifStyle::polish
+136 QMotifStyle::unpolish
+144 QMotifStyle::polish
+152 QStyle::itemTextRect
+160 QStyle::itemPixmapRect
+168 QStyle::drawItemText
+176 QStyle::drawItemPixmap
+184 QCDEStyle::standardPalette
+192 QCDEStyle::drawPrimitive
+200 QCDEStyle::drawControl
+208 QMotifStyle::subElementRect
+216 QMotifStyle::drawComplexControl
+224 QCommonStyle::hitTestComplexControl
+232 QMotifStyle::subControlRect
+240 QCDEStyle::pixelMetric
+248 QMotifStyle::sizeFromContents
+256 QMotifStyle::styleHint
+264 QMotifStyle::standardPixmap
+272 QCommonStyle::generatedIconPixmap
+
+Class QCDEStyle
+ size=32 align=8
+ base size=25 base align=8
+QCDEStyle (0x7f1dec986380) 0
+ vptr=((& QCDEStyle::_ZTV9QCDEStyle) + 16u)
+ QMotifStyle (0x7f1dec9863f0) 0
+ primary-for QCDEStyle (0x7f1dec986380)
+ QCommonStyle (0x7f1dec986460) 0
+ primary-for QMotifStyle (0x7f1dec9863f0)
+ QStyle (0x7f1dec9864d0) 0
+ primary-for QCommonStyle (0x7f1dec986460)
+ QObject (0x7f1dec986540) 0
+ primary-for QStyle (0x7f1dec9864d0)
+
+Vtable for QPlastiqueStyle
+QPlastiqueStyle::_ZTV15QPlastiqueStyle: 35u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QPlastiqueStyle)
+16 QPlastiqueStyle::metaObject
+24 QPlastiqueStyle::qt_metacast
+32 QPlastiqueStyle::qt_metacall
+40 QPlastiqueStyle::~QPlastiqueStyle
+48 QPlastiqueStyle::~QPlastiqueStyle
+56 QObject::event
+64 QPlastiqueStyle::eventFilter
+72 QPlastiqueStyle::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QPlastiqueStyle::polish
+120 QPlastiqueStyle::unpolish
+128 QPlastiqueStyle::polish
+136 QPlastiqueStyle::unpolish
+144 QPlastiqueStyle::polish
+152 QStyle::itemTextRect
+160 QStyle::itemPixmapRect
+168 QStyle::drawItemText
+176 QStyle::drawItemPixmap
+184 QPlastiqueStyle::standardPalette
+192 QPlastiqueStyle::drawPrimitive
+200 QPlastiqueStyle::drawControl
+208 QPlastiqueStyle::subElementRect
+216 QPlastiqueStyle::drawComplexControl
+224 QPlastiqueStyle::hitTestComplexControl
+232 QPlastiqueStyle::subControlRect
+240 QPlastiqueStyle::pixelMetric
+248 QPlastiqueStyle::sizeFromContents
+256 QPlastiqueStyle::styleHint
+264 QPlastiqueStyle::standardPixmap
+272 QCommonStyle::generatedIconPixmap
+
+Class QPlastiqueStyle
+ size=32 align=8
+ base size=32 base align=8
+QPlastiqueStyle (0x7f1dec99a4d0) 0
+ vptr=((& QPlastiqueStyle::_ZTV15QPlastiqueStyle) + 16u)
+ QWindowsStyle (0x7f1dec99a540) 0
+ primary-for QPlastiqueStyle (0x7f1dec99a4d0)
+ QCommonStyle (0x7f1dec99a5b0) 0
+ primary-for QWindowsStyle (0x7f1dec99a540)
+ QStyle (0x7f1dec99a620) 0
+ primary-for QCommonStyle (0x7f1dec99a5b0)
+ QObject (0x7f1dec99a690) 0
+ primary-for QStyle (0x7f1dec99a620)
+
+Vtable for QWindowsVistaStyle
+QWindowsVistaStyle::_ZTV18QWindowsVistaStyle: 35u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QWindowsVistaStyle)
+16 QWindowsVistaStyle::metaObject
+24 QWindowsVistaStyle::qt_metacast
+32 QWindowsVistaStyle::qt_metacall
+40 QWindowsVistaStyle::~QWindowsVistaStyle
+48 QWindowsVistaStyle::~QWindowsVistaStyle
+56 QWindowsVistaStyle::event
+64 QWindowsStyle::eventFilter
+72 QWindowsStyle::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWindowsVistaStyle::polish
+120 QWindowsVistaStyle::unpolish
+128 QWindowsVistaStyle::polish
+136 QWindowsVistaStyle::unpolish
+144 QWindowsVistaStyle::polish
+152 QStyle::itemTextRect
+160 QStyle::itemPixmapRect
+168 QStyle::drawItemText
+176 QStyle::drawItemPixmap
+184 QWindowsVistaStyle::standardPalette
+192 QWindowsVistaStyle::drawPrimitive
+200 QWindowsVistaStyle::drawControl
+208 QWindowsVistaStyle::subElementRect
+216 QWindowsVistaStyle::drawComplexControl
+224 QWindowsVistaStyle::hitTestComplexControl
+232 QWindowsVistaStyle::subControlRect
+240 QWindowsVistaStyle::pixelMetric
+248 QWindowsVistaStyle::sizeFromContents
+256 QWindowsVistaStyle::styleHint
+264 QWindowsVistaStyle::standardPixmap
+272 QCommonStyle::generatedIconPixmap
+
+Class QWindowsVistaStyle
+ size=32 align=8
+ base size=32 base align=8
+QWindowsVistaStyle (0x7f1dec9ba620) 0
+ vptr=((& QWindowsVistaStyle::_ZTV18QWindowsVistaStyle) + 16u)
+ QWindowsXPStyle (0x7f1dec9ba690) 0
+ primary-for QWindowsVistaStyle (0x7f1dec9ba620)
+ QWindowsStyle (0x7f1dec9ba700) 0
+ primary-for QWindowsXPStyle (0x7f1dec9ba690)
+ QCommonStyle (0x7f1dec9ba770) 0
+ primary-for QWindowsStyle (0x7f1dec9ba700)
+ QStyle (0x7f1dec9ba7e0) 0
+ primary-for QCommonStyle (0x7f1dec9ba770)
+ QObject (0x7f1dec9ba850) 0
+ primary-for QStyle (0x7f1dec9ba7e0)
+
+Vtable for QWindowsCEStyle
+QWindowsCEStyle::_ZTV15QWindowsCEStyle: 35u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QWindowsCEStyle)
+16 QWindowsCEStyle::metaObject
+24 QWindowsCEStyle::qt_metacast
+32 QWindowsCEStyle::qt_metacall
+40 QWindowsCEStyle::~QWindowsCEStyle
+48 QWindowsCEStyle::~QWindowsCEStyle
+56 QObject::event
+64 QWindowsStyle::eventFilter
+72 QWindowsStyle::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWindowsCEStyle::polish
+120 QWindowsStyle::unpolish
+128 QWindowsCEStyle::polish
+136 QWindowsStyle::unpolish
+144 QWindowsCEStyle::polish
+152 QStyle::itemTextRect
+160 QStyle::itemPixmapRect
+168 QWindowsCEStyle::drawItemText
+176 QStyle::drawItemPixmap
+184 QWindowsCEStyle::standardPalette
+192 QWindowsCEStyle::drawPrimitive
+200 QWindowsCEStyle::drawControl
+208 QWindowsCEStyle::subElementRect
+216 QWindowsCEStyle::drawComplexControl
+224 QWindowsCEStyle::hitTestComplexControl
+232 QWindowsCEStyle::subControlRect
+240 QWindowsCEStyle::pixelMetric
+248 QWindowsCEStyle::sizeFromContents
+256 QWindowsCEStyle::styleHint
+264 QWindowsCEStyle::standardPixmap
+272 QCommonStyle::generatedIconPixmap
+
+Class QWindowsCEStyle
+ size=24 align=8
+ base size=24 base align=8
+QWindowsCEStyle (0x7f1dec9d8620) 0
+ vptr=((& QWindowsCEStyle::_ZTV15QWindowsCEStyle) + 16u)
+ QWindowsStyle (0x7f1dec9d8690) 0
+ primary-for QWindowsCEStyle (0x7f1dec9d8620)
+ QCommonStyle (0x7f1dec9d8700) 0
+ primary-for QWindowsStyle (0x7f1dec9d8690)
+ QStyle (0x7f1dec9d8770) 0
+ primary-for QCommonStyle (0x7f1dec9d8700)
+ QObject (0x7f1dec9d87e0) 0
+ primary-for QStyle (0x7f1dec9d8770)
+
+Vtable for QWindowsMobileStyle
+QWindowsMobileStyle::_ZTV19QWindowsMobileStyle: 35u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QWindowsMobileStyle)
+16 QWindowsMobileStyle::metaObject
+24 QWindowsMobileStyle::qt_metacast
+32 QWindowsMobileStyle::qt_metacall
+40 QWindowsMobileStyle::~QWindowsMobileStyle
+48 QWindowsMobileStyle::~QWindowsMobileStyle
+56 QObject::event
+64 QWindowsStyle::eventFilter
+72 QWindowsStyle::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWindowsMobileStyle::polish
+120 QWindowsMobileStyle::unpolish
+128 QWindowsMobileStyle::polish
+136 QWindowsMobileStyle::unpolish
+144 QWindowsMobileStyle::polish
+152 QStyle::itemTextRect
+160 QStyle::itemPixmapRect
+168 QStyle::drawItemText
+176 QStyle::drawItemPixmap
+184 QWindowsMobileStyle::standardPalette
+192 QWindowsMobileStyle::drawPrimitive
+200 QWindowsMobileStyle::drawControl
+208 QWindowsMobileStyle::subElementRect
+216 QWindowsMobileStyle::drawComplexControl
+224 QCommonStyle::hitTestComplexControl
+232 QWindowsMobileStyle::subControlRect
+240 QWindowsMobileStyle::pixelMetric
+248 QWindowsMobileStyle::sizeFromContents
+256 QWindowsMobileStyle::styleHint
+264 QWindowsMobileStyle::standardPixmap
+272 QWindowsMobileStyle::generatedIconPixmap
+
+Class QWindowsMobileStyle
+ size=24 align=8
+ base size=24 base align=8
+QWindowsMobileStyle (0x7f1dec9ebd20) 0
+ vptr=((& QWindowsMobileStyle::_ZTV19QWindowsMobileStyle) + 16u)
+ QWindowsStyle (0x7f1dec9ebd90) 0
+ primary-for QWindowsMobileStyle (0x7f1dec9ebd20)
+ QCommonStyle (0x7f1dec9ebe00) 0
+ primary-for QWindowsStyle (0x7f1dec9ebd90)
+ QStyle (0x7f1dec9ebe70) 0
+ primary-for QCommonStyle (0x7f1dec9ebe00)
+ QObject (0x7f1dec9ebee0) 0
+ primary-for QStyle (0x7f1dec9ebe70)
+
+Class QStyleFactory
+ size=1 align=1
+ base size=0 base align=1
+QStyleFactory (0x7f1deca12690) 0 empty
+
+Vtable for QInputContextFactoryInterface
+QInputContextFactoryInterface::_ZTV29QInputContextFactoryInterface: 9u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI29QInputContextFactoryInterface)
+16 QInputContextFactoryInterface::~QInputContextFactoryInterface
+24 QInputContextFactoryInterface::~QInputContextFactoryInterface
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+48 __cxa_pure_virtual
+56 __cxa_pure_virtual
+64 __cxa_pure_virtual
+
+Class QInputContextFactoryInterface
+ size=8 align=8
+ base size=8 base align=8
+QInputContextFactoryInterface (0x7f1deca12700) 0 nearly-empty
+ vptr=((& QInputContextFactoryInterface::_ZTV29QInputContextFactoryInterface) + 16u)
+ QFactoryInterface (0x7f1deca12770) 0 nearly-empty
+ primary-for QInputContextFactoryInterface (0x7f1deca12700)
+
+Vtable for QInputContextPlugin
+QInputContextPlugin::_ZTV19QInputContextPlugin: 28u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QInputContextPlugin)
+16 QInputContextPlugin::metaObject
+24 QInputContextPlugin::qt_metacast
+32 QInputContextPlugin::qt_metacall
+40 QInputContextPlugin::~QInputContextPlugin
+48 QInputContextPlugin::~QInputContextPlugin
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 __cxa_pure_virtual
+136 __cxa_pure_virtual
+144 __cxa_pure_virtual
+152 (int (*)(...))-0x00000000000000010
+160 (int (*)(...))(& _ZTI19QInputContextPlugin)
+168 QInputContextPlugin::_ZThn16_N19QInputContextPluginD1Ev
+176 QInputContextPlugin::_ZThn16_N19QInputContextPluginD0Ev
+184 __cxa_pure_virtual
+192 __cxa_pure_virtual
+200 __cxa_pure_virtual
+208 __cxa_pure_virtual
+216 __cxa_pure_virtual
+
+Class QInputContextPlugin
+ size=24 align=8
+ base size=24 base align=8
+QInputContextPlugin (0x7f1deca0cd80) 0
+ vptr=((& QInputContextPlugin::_ZTV19QInputContextPlugin) + 16u)
+ QObject (0x7f1deca12f50) 0
+ primary-for QInputContextPlugin (0x7f1deca0cd80)
+ QInputContextFactoryInterface (0x7f1deca127e0) 16 nearly-empty
+ vptr=((& QInputContextPlugin::_ZTV19QInputContextPlugin) + 168u)
+ QFactoryInterface (0x7f1deca1d000) 16 nearly-empty
+ primary-for QInputContextFactoryInterface (0x7f1deca127e0)
+
+Class QInputContextFactory
+ size=1 align=1
+ base size=0 base align=1
+QInputContextFactory (0x7f1deca1dee0) 0 empty
+
+Vtable for QInputContext
+QInputContext::_ZTV13QInputContext: 26u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QInputContext)
+16 QInputContext::metaObject
+24 QInputContext::qt_metacast
+32 QInputContext::qt_metacall
+40 QInputContext::~QInputContext
+48 QInputContext::~QInputContext
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 __cxa_pure_virtual
+136 QInputContext::update
+144 QInputContext::mouseHandler
+152 QInputContext::font
+160 __cxa_pure_virtual
+168 QInputContext::setFocusWidget
+176 QInputContext::widgetDestroyed
+184 QInputContext::actions
+192 QInputContext::x11FilterEvent
+200 QInputContext::filterEvent
+
+Class QInputContext
+ size=16 align=8
+ base size=16 base align=8
+QInputContext (0x7f1deca1df50) 0
+ vptr=((& QInputContext::_ZTV13QInputContext) + 16u)
+ QObject (0x7f1deca1d2a0) 0
+ primary-for QInputContext (0x7f1deca1df50)
+
+Vtable for QGraphicsItem
+QGraphicsItem::_ZTV13QGraphicsItem: 39u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QGraphicsItem)
+16 QGraphicsItem::~QGraphicsItem
+24 QGraphicsItem::~QGraphicsItem
+32 QGraphicsItem::advance
+40 __cxa_pure_virtual
+48 QGraphicsItem::shape
+56 QGraphicsItem::contains
+64 QGraphicsItem::collidesWithItem
+72 QGraphicsItem::collidesWithPath
+80 QGraphicsItem::isObscuredBy
+88 QGraphicsItem::opaqueArea
+96 __cxa_pure_virtual
+104 QGraphicsItem::type
+112 QGraphicsItem::sceneEventFilter
+120 QGraphicsItem::sceneEvent
+128 QGraphicsItem::contextMenuEvent
+136 QGraphicsItem::dragEnterEvent
+144 QGraphicsItem::dragLeaveEvent
+152 QGraphicsItem::dragMoveEvent
+160 QGraphicsItem::dropEvent
+168 QGraphicsItem::focusInEvent
+176 QGraphicsItem::focusOutEvent
+184 QGraphicsItem::hoverEnterEvent
+192 QGraphicsItem::hoverMoveEvent
+200 QGraphicsItem::hoverLeaveEvent
+208 QGraphicsItem::keyPressEvent
+216 QGraphicsItem::keyReleaseEvent
+224 QGraphicsItem::mousePressEvent
+232 QGraphicsItem::mouseMoveEvent
+240 QGraphicsItem::mouseReleaseEvent
+248 QGraphicsItem::mouseDoubleClickEvent
+256 QGraphicsItem::wheelEvent
+264 QGraphicsItem::inputMethodEvent
+272 QGraphicsItem::inputMethodQuery
+280 QGraphicsItem::itemChange
+288 QGraphicsItem::supportsExtension
+296 QGraphicsItem::setExtension
+304 QGraphicsItem::extension
+
+Class QGraphicsItem
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsItem (0x7f1deca44850) 0
+ vptr=((& QGraphicsItem::_ZTV13QGraphicsItem) + 16u)
+
+Vtable for QAbstractGraphicsShapeItem
+QAbstractGraphicsShapeItem::_ZTV26QAbstractGraphicsShapeItem: 39u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI26QAbstractGraphicsShapeItem)
+16 QAbstractGraphicsShapeItem::~QAbstractGraphicsShapeItem
+24 QAbstractGraphicsShapeItem::~QAbstractGraphicsShapeItem
+32 QGraphicsItem::advance
+40 __cxa_pure_virtual
+48 QGraphicsItem::shape
+56 QGraphicsItem::contains
+64 QGraphicsItem::collidesWithItem
+72 QGraphicsItem::collidesWithPath
+80 QAbstractGraphicsShapeItem::isObscuredBy
+88 QAbstractGraphicsShapeItem::opaqueArea
+96 __cxa_pure_virtual
+104 QGraphicsItem::type
+112 QGraphicsItem::sceneEventFilter
+120 QGraphicsItem::sceneEvent
+128 QGraphicsItem::contextMenuEvent
+136 QGraphicsItem::dragEnterEvent
+144 QGraphicsItem::dragLeaveEvent
+152 QGraphicsItem::dragMoveEvent
+160 QGraphicsItem::dropEvent
+168 QGraphicsItem::focusInEvent
+176 QGraphicsItem::focusOutEvent
+184 QGraphicsItem::hoverEnterEvent
+192 QGraphicsItem::hoverMoveEvent
+200 QGraphicsItem::hoverLeaveEvent
+208 QGraphicsItem::keyPressEvent
+216 QGraphicsItem::keyReleaseEvent
+224 QGraphicsItem::mousePressEvent
+232 QGraphicsItem::mouseMoveEvent
+240 QGraphicsItem::mouseReleaseEvent
+248 QGraphicsItem::mouseDoubleClickEvent
+256 QGraphicsItem::wheelEvent
+264 QGraphicsItem::inputMethodEvent
+272 QGraphicsItem::inputMethodQuery
+280 QGraphicsItem::itemChange
+288 QGraphicsItem::supportsExtension
+296 QGraphicsItem::setExtension
+304 QGraphicsItem::extension
+
+Class QAbstractGraphicsShapeItem
+ size=16 align=8
+ base size=16 base align=8
+QAbstractGraphicsShapeItem (0x7f1dec91b380) 0
+ vptr=((& QAbstractGraphicsShapeItem::_ZTV26QAbstractGraphicsShapeItem) + 16u)
+ QGraphicsItem (0x7f1dec91b3f0) 0
+ primary-for QAbstractGraphicsShapeItem (0x7f1dec91b380)
+
+Vtable for QGraphicsPathItem
+QGraphicsPathItem::_ZTV17QGraphicsPathItem: 39u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QGraphicsPathItem)
+16 QGraphicsPathItem::~QGraphicsPathItem
+24 QGraphicsPathItem::~QGraphicsPathItem
+32 QGraphicsItem::advance
+40 QGraphicsPathItem::boundingRect
+48 QGraphicsPathItem::shape
+56 QGraphicsPathItem::contains
+64 QGraphicsItem::collidesWithItem
+72 QGraphicsItem::collidesWithPath
+80 QGraphicsPathItem::isObscuredBy
+88 QGraphicsPathItem::opaqueArea
+96 QGraphicsPathItem::paint
+104 QGraphicsPathItem::type
+112 QGraphicsItem::sceneEventFilter
+120 QGraphicsItem::sceneEvent
+128 QGraphicsItem::contextMenuEvent
+136 QGraphicsItem::dragEnterEvent
+144 QGraphicsItem::dragLeaveEvent
+152 QGraphicsItem::dragMoveEvent
+160 QGraphicsItem::dropEvent
+168 QGraphicsItem::focusInEvent
+176 QGraphicsItem::focusOutEvent
+184 QGraphicsItem::hoverEnterEvent
+192 QGraphicsItem::hoverMoveEvent
+200 QGraphicsItem::hoverLeaveEvent
+208 QGraphicsItem::keyPressEvent
+216 QGraphicsItem::keyReleaseEvent
+224 QGraphicsItem::mousePressEvent
+232 QGraphicsItem::mouseMoveEvent
+240 QGraphicsItem::mouseReleaseEvent
+248 QGraphicsItem::mouseDoubleClickEvent
+256 QGraphicsItem::wheelEvent
+264 QGraphicsItem::inputMethodEvent
+272 QGraphicsItem::inputMethodQuery
+280 QGraphicsItem::itemChange
+288 QGraphicsPathItem::supportsExtension
+296 QGraphicsPathItem::setExtension
+304 QGraphicsPathItem::extension
+
+Class QGraphicsPathItem
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsPathItem (0x7f1dec9261c0) 0
+ vptr=((& QGraphicsPathItem::_ZTV17QGraphicsPathItem) + 16u)
+ QAbstractGraphicsShapeItem (0x7f1dec926230) 0
+ primary-for QGraphicsPathItem (0x7f1dec9261c0)
+ QGraphicsItem (0x7f1dec9262a0) 0
+ primary-for QAbstractGraphicsShapeItem (0x7f1dec926230)
+
+Vtable for QGraphicsRectItem
+QGraphicsRectItem::_ZTV17QGraphicsRectItem: 39u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QGraphicsRectItem)
+16 QGraphicsRectItem::~QGraphicsRectItem
+24 QGraphicsRectItem::~QGraphicsRectItem
+32 QGraphicsItem::advance
+40 QGraphicsRectItem::boundingRect
+48 QGraphicsRectItem::shape
+56 QGraphicsRectItem::contains
+64 QGraphicsItem::collidesWithItem
+72 QGraphicsItem::collidesWithPath
+80 QGraphicsRectItem::isObscuredBy
+88 QGraphicsRectItem::opaqueArea
+96 QGraphicsRectItem::paint
+104 QGraphicsRectItem::type
+112 QGraphicsItem::sceneEventFilter
+120 QGraphicsItem::sceneEvent
+128 QGraphicsItem::contextMenuEvent
+136 QGraphicsItem::dragEnterEvent
+144 QGraphicsItem::dragLeaveEvent
+152 QGraphicsItem::dragMoveEvent
+160 QGraphicsItem::dropEvent
+168 QGraphicsItem::focusInEvent
+176 QGraphicsItem::focusOutEvent
+184 QGraphicsItem::hoverEnterEvent
+192 QGraphicsItem::hoverMoveEvent
+200 QGraphicsItem::hoverLeaveEvent
+208 QGraphicsItem::keyPressEvent
+216 QGraphicsItem::keyReleaseEvent
+224 QGraphicsItem::mousePressEvent
+232 QGraphicsItem::mouseMoveEvent
+240 QGraphicsItem::mouseReleaseEvent
+248 QGraphicsItem::mouseDoubleClickEvent
+256 QGraphicsItem::wheelEvent
+264 QGraphicsItem::inputMethodEvent
+272 QGraphicsItem::inputMethodQuery
+280 QGraphicsItem::itemChange
+288 QGraphicsRectItem::supportsExtension
+296 QGraphicsRectItem::setExtension
+304 QGraphicsRectItem::extension
+
+Class QGraphicsRectItem
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsRectItem (0x7f1dec938150) 0
+ vptr=((& QGraphicsRectItem::_ZTV17QGraphicsRectItem) + 16u)
+ QAbstractGraphicsShapeItem (0x7f1dec9381c0) 0
+ primary-for QGraphicsRectItem (0x7f1dec938150)
+ QGraphicsItem (0x7f1dec938230) 0
+ primary-for QAbstractGraphicsShapeItem (0x7f1dec9381c0)
+
+Vtable for QGraphicsEllipseItem
+QGraphicsEllipseItem::_ZTV20QGraphicsEllipseItem: 39u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI20QGraphicsEllipseItem)
+16 QGraphicsEllipseItem::~QGraphicsEllipseItem
+24 QGraphicsEllipseItem::~QGraphicsEllipseItem
+32 QGraphicsItem::advance
+40 QGraphicsEllipseItem::boundingRect
+48 QGraphicsEllipseItem::shape
+56 QGraphicsEllipseItem::contains
+64 QGraphicsItem::collidesWithItem
+72 QGraphicsItem::collidesWithPath
+80 QGraphicsEllipseItem::isObscuredBy
+88 QGraphicsEllipseItem::opaqueArea
+96 QGraphicsEllipseItem::paint
+104 QGraphicsEllipseItem::type
+112 QGraphicsItem::sceneEventFilter
+120 QGraphicsItem::sceneEvent
+128 QGraphicsItem::contextMenuEvent
+136 QGraphicsItem::dragEnterEvent
+144 QGraphicsItem::dragLeaveEvent
+152 QGraphicsItem::dragMoveEvent
+160 QGraphicsItem::dropEvent
+168 QGraphicsItem::focusInEvent
+176 QGraphicsItem::focusOutEvent
+184 QGraphicsItem::hoverEnterEvent
+192 QGraphicsItem::hoverMoveEvent
+200 QGraphicsItem::hoverLeaveEvent
+208 QGraphicsItem::keyPressEvent
+216 QGraphicsItem::keyReleaseEvent
+224 QGraphicsItem::mousePressEvent
+232 QGraphicsItem::mouseMoveEvent
+240 QGraphicsItem::mouseReleaseEvent
+248 QGraphicsItem::mouseDoubleClickEvent
+256 QGraphicsItem::wheelEvent
+264 QGraphicsItem::inputMethodEvent
+272 QGraphicsItem::inputMethodQuery
+280 QGraphicsItem::itemChange
+288 QGraphicsEllipseItem::supportsExtension
+296 QGraphicsEllipseItem::setExtension
+304 QGraphicsEllipseItem::extension
+
+Class QGraphicsEllipseItem
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsEllipseItem (0x7f1dec947460) 0
+ vptr=((& QGraphicsEllipseItem::_ZTV20QGraphicsEllipseItem) + 16u)
+ QAbstractGraphicsShapeItem (0x7f1dec9474d0) 0
+ primary-for QGraphicsEllipseItem (0x7f1dec947460)
+ QGraphicsItem (0x7f1dec947540) 0
+ primary-for QAbstractGraphicsShapeItem (0x7f1dec9474d0)
+
+Vtable for QGraphicsPolygonItem
+QGraphicsPolygonItem::_ZTV20QGraphicsPolygonItem: 39u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI20QGraphicsPolygonItem)
+16 QGraphicsPolygonItem::~QGraphicsPolygonItem
+24 QGraphicsPolygonItem::~QGraphicsPolygonItem
+32 QGraphicsItem::advance
+40 QGraphicsPolygonItem::boundingRect
+48 QGraphicsPolygonItem::shape
+56 QGraphicsPolygonItem::contains
+64 QGraphicsItem::collidesWithItem
+72 QGraphicsItem::collidesWithPath
+80 QGraphicsPolygonItem::isObscuredBy
+88 QGraphicsPolygonItem::opaqueArea
+96 QGraphicsPolygonItem::paint
+104 QGraphicsPolygonItem::type
+112 QGraphicsItem::sceneEventFilter
+120 QGraphicsItem::sceneEvent
+128 QGraphicsItem::contextMenuEvent
+136 QGraphicsItem::dragEnterEvent
+144 QGraphicsItem::dragLeaveEvent
+152 QGraphicsItem::dragMoveEvent
+160 QGraphicsItem::dropEvent
+168 QGraphicsItem::focusInEvent
+176 QGraphicsItem::focusOutEvent
+184 QGraphicsItem::hoverEnterEvent
+192 QGraphicsItem::hoverMoveEvent
+200 QGraphicsItem::hoverLeaveEvent
+208 QGraphicsItem::keyPressEvent
+216 QGraphicsItem::keyReleaseEvent
+224 QGraphicsItem::mousePressEvent
+232 QGraphicsItem::mouseMoveEvent
+240 QGraphicsItem::mouseReleaseEvent
+248 QGraphicsItem::mouseDoubleClickEvent
+256 QGraphicsItem::wheelEvent
+264 QGraphicsItem::inputMethodEvent
+272 QGraphicsItem::inputMethodQuery
+280 QGraphicsItem::itemChange
+288 QGraphicsPolygonItem::supportsExtension
+296 QGraphicsPolygonItem::setExtension
+304 QGraphicsPolygonItem::extension
+
+Class QGraphicsPolygonItem
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsPolygonItem (0x7f1dec759770) 0
+ vptr=((& QGraphicsPolygonItem::_ZTV20QGraphicsPolygonItem) + 16u)
+ QAbstractGraphicsShapeItem (0x7f1dec7597e0) 0
+ primary-for QGraphicsPolygonItem (0x7f1dec759770)
+ QGraphicsItem (0x7f1dec759850) 0
+ primary-for QAbstractGraphicsShapeItem (0x7f1dec7597e0)
+
+Vtable for QGraphicsLineItem
+QGraphicsLineItem::_ZTV17QGraphicsLineItem: 39u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QGraphicsLineItem)
+16 QGraphicsLineItem::~QGraphicsLineItem
+24 QGraphicsLineItem::~QGraphicsLineItem
+32 QGraphicsItem::advance
+40 QGraphicsLineItem::boundingRect
+48 QGraphicsLineItem::shape
+56 QGraphicsLineItem::contains
+64 QGraphicsItem::collidesWithItem
+72 QGraphicsItem::collidesWithPath
+80 QGraphicsLineItem::isObscuredBy
+88 QGraphicsLineItem::opaqueArea
+96 QGraphicsLineItem::paint
+104 QGraphicsLineItem::type
+112 QGraphicsItem::sceneEventFilter
+120 QGraphicsItem::sceneEvent
+128 QGraphicsItem::contextMenuEvent
+136 QGraphicsItem::dragEnterEvent
+144 QGraphicsItem::dragLeaveEvent
+152 QGraphicsItem::dragMoveEvent
+160 QGraphicsItem::dropEvent
+168 QGraphicsItem::focusInEvent
+176 QGraphicsItem::focusOutEvent
+184 QGraphicsItem::hoverEnterEvent
+192 QGraphicsItem::hoverMoveEvent
+200 QGraphicsItem::hoverLeaveEvent
+208 QGraphicsItem::keyPressEvent
+216 QGraphicsItem::keyReleaseEvent
+224 QGraphicsItem::mousePressEvent
+232 QGraphicsItem::mouseMoveEvent
+240 QGraphicsItem::mouseReleaseEvent
+248 QGraphicsItem::mouseDoubleClickEvent
+256 QGraphicsItem::wheelEvent
+264 QGraphicsItem::inputMethodEvent
+272 QGraphicsItem::inputMethodQuery
+280 QGraphicsItem::itemChange
+288 QGraphicsLineItem::supportsExtension
+296 QGraphicsLineItem::setExtension
+304 QGraphicsLineItem::extension
+
+Class QGraphicsLineItem
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsLineItem (0x7f1dec769770) 0
+ vptr=((& QGraphicsLineItem::_ZTV17QGraphicsLineItem) + 16u)
+ QGraphicsItem (0x7f1dec7697e0) 0
+ primary-for QGraphicsLineItem (0x7f1dec769770)
+
+Vtable for QGraphicsPixmapItem
+QGraphicsPixmapItem::_ZTV19QGraphicsPixmapItem: 39u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QGraphicsPixmapItem)
+16 QGraphicsPixmapItem::~QGraphicsPixmapItem
+24 QGraphicsPixmapItem::~QGraphicsPixmapItem
+32 QGraphicsItem::advance
+40 QGraphicsPixmapItem::boundingRect
+48 QGraphicsPixmapItem::shape
+56 QGraphicsPixmapItem::contains
+64 QGraphicsItem::collidesWithItem
+72 QGraphicsItem::collidesWithPath
+80 QGraphicsPixmapItem::isObscuredBy
+88 QGraphicsPixmapItem::opaqueArea
+96 QGraphicsPixmapItem::paint
+104 QGraphicsPixmapItem::type
+112 QGraphicsItem::sceneEventFilter
+120 QGraphicsItem::sceneEvent
+128 QGraphicsItem::contextMenuEvent
+136 QGraphicsItem::dragEnterEvent
+144 QGraphicsItem::dragLeaveEvent
+152 QGraphicsItem::dragMoveEvent
+160 QGraphicsItem::dropEvent
+168 QGraphicsItem::focusInEvent
+176 QGraphicsItem::focusOutEvent
+184 QGraphicsItem::hoverEnterEvent
+192 QGraphicsItem::hoverMoveEvent
+200 QGraphicsItem::hoverLeaveEvent
+208 QGraphicsItem::keyPressEvent
+216 QGraphicsItem::keyReleaseEvent
+224 QGraphicsItem::mousePressEvent
+232 QGraphicsItem::mouseMoveEvent
+240 QGraphicsItem::mouseReleaseEvent
+248 QGraphicsItem::mouseDoubleClickEvent
+256 QGraphicsItem::wheelEvent
+264 QGraphicsItem::inputMethodEvent
+272 QGraphicsItem::inputMethodQuery
+280 QGraphicsItem::itemChange
+288 QGraphicsPixmapItem::supportsExtension
+296 QGraphicsPixmapItem::setExtension
+304 QGraphicsPixmapItem::extension
+
+Class QGraphicsPixmapItem
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsPixmapItem (0x7f1dec778a10) 0
+ vptr=((& QGraphicsPixmapItem::_ZTV19QGraphicsPixmapItem) + 16u)
+ QGraphicsItem (0x7f1dec778a80) 0
+ primary-for QGraphicsPixmapItem (0x7f1dec778a10)
+
+Vtable for QGraphicsTextItem
+QGraphicsTextItem::_ZTV17QGraphicsTextItem: 82u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QGraphicsTextItem)
+16 QGraphicsTextItem::metaObject
+24 QGraphicsTextItem::qt_metacast
+32 QGraphicsTextItem::qt_metacall
+40 QGraphicsTextItem::~QGraphicsTextItem
+48 QGraphicsTextItem::~QGraphicsTextItem
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QGraphicsTextItem::boundingRect
+120 QGraphicsTextItem::shape
+128 QGraphicsTextItem::contains
+136 QGraphicsTextItem::paint
+144 QGraphicsTextItem::isObscuredBy
+152 QGraphicsTextItem::opaqueArea
+160 QGraphicsTextItem::type
+168 QGraphicsTextItem::sceneEvent
+176 QGraphicsTextItem::mousePressEvent
+184 QGraphicsTextItem::mouseMoveEvent
+192 QGraphicsTextItem::mouseReleaseEvent
+200 QGraphicsTextItem::mouseDoubleClickEvent
+208 QGraphicsTextItem::contextMenuEvent
+216 QGraphicsTextItem::keyPressEvent
+224 QGraphicsTextItem::keyReleaseEvent
+232 QGraphicsTextItem::focusInEvent
+240 QGraphicsTextItem::focusOutEvent
+248 QGraphicsTextItem::dragEnterEvent
+256 QGraphicsTextItem::dragLeaveEvent
+264 QGraphicsTextItem::dragMoveEvent
+272 QGraphicsTextItem::dropEvent
+280 QGraphicsTextItem::inputMethodEvent
+288 QGraphicsTextItem::hoverEnterEvent
+296 QGraphicsTextItem::hoverMoveEvent
+304 QGraphicsTextItem::hoverLeaveEvent
+312 QGraphicsTextItem::inputMethodQuery
+320 QGraphicsTextItem::supportsExtension
+328 QGraphicsTextItem::setExtension
+336 QGraphicsTextItem::extension
+344 (int (*)(...))-0x00000000000000010
+352 (int (*)(...))(& _ZTI17QGraphicsTextItem)
+360 QGraphicsTextItem::_ZThn16_N17QGraphicsTextItemD1Ev
+368 QGraphicsTextItem::_ZThn16_N17QGraphicsTextItemD0Ev
+376 QGraphicsItem::advance
+384 QGraphicsTextItem::_ZThn16_NK17QGraphicsTextItem12boundingRectEv
+392 QGraphicsTextItem::_ZThn16_NK17QGraphicsTextItem5shapeEv
+400 QGraphicsTextItem::_ZThn16_NK17QGraphicsTextItem8containsERK7QPointF
+408 QGraphicsItem::collidesWithItem
+416 QGraphicsItem::collidesWithPath
+424 QGraphicsTextItem::_ZThn16_NK17QGraphicsTextItem12isObscuredByEPK13QGraphicsItem
+432 QGraphicsTextItem::_ZThn16_NK17QGraphicsTextItem10opaqueAreaEv
+440 QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem5paintEP8QPainterPK24QStyleOptionGraphicsItemP7QWidget
+448 QGraphicsTextItem::_ZThn16_NK17QGraphicsTextItem4typeEv
+456 QGraphicsItem::sceneEventFilter
+464 QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem10sceneEventEP6QEvent
+472 QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem16contextMenuEventEP30QGraphicsSceneContextMenuEvent
+480 QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem14dragEnterEventEP27QGraphicsSceneDragDropEvent
+488 QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem14dragLeaveEventEP27QGraphicsSceneDragDropEvent
+496 QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem13dragMoveEventEP27QGraphicsSceneDragDropEvent
+504 QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem9dropEventEP27QGraphicsSceneDragDropEvent
+512 QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem12focusInEventEP11QFocusEvent
+520 QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem13focusOutEventEP11QFocusEvent
+528 QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem15hoverEnterEventEP24QGraphicsSceneHoverEvent
+536 QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem14hoverMoveEventEP24QGraphicsSceneHoverEvent
+544 QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem15hoverLeaveEventEP24QGraphicsSceneHoverEvent
+552 QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem13keyPressEventEP9QKeyEvent
+560 QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem15keyReleaseEventEP9QKeyEvent
+568 QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem15mousePressEventEP24QGraphicsSceneMouseEvent
+576 QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem14mouseMoveEventEP24QGraphicsSceneMouseEvent
+584 QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem17mouseReleaseEventEP24QGraphicsSceneMouseEvent
+592 QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem21mouseDoubleClickEventEP24QGraphicsSceneMouseEvent
+600 QGraphicsItem::wheelEvent
+608 QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem16inputMethodEventEP17QInputMethodEvent
+616 QGraphicsTextItem::_ZThn16_NK17QGraphicsTextItem16inputMethodQueryEN2Qt16InputMethodQueryE
+624 QGraphicsItem::itemChange
+632 QGraphicsTextItem::_ZThn16_NK17QGraphicsTextItem17supportsExtensionEN13QGraphicsItem9ExtensionE
+640 QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem12setExtensionEN13QGraphicsItem9ExtensionERK8QVariant
+648 QGraphicsTextItem::_ZThn16_NK17QGraphicsTextItem9extensionERK8QVariant
+
+Class QGraphicsTextItem
+ size=40 align=8
+ base size=40 base align=8
+QGraphicsTextItem (0x7f1dec75bf80) 0
+ vptr=((& QGraphicsTextItem::_ZTV17QGraphicsTextItem) + 16u)
+ QObject (0x7f1dec789c40) 0
+ primary-for QGraphicsTextItem (0x7f1dec75bf80)
+ QGraphicsItem (0x7f1dec789cb0) 16
+ vptr=((& QGraphicsTextItem::_ZTV17QGraphicsTextItem) + 360u)
+
+Vtable for QGraphicsSimpleTextItem
+QGraphicsSimpleTextItem::_ZTV23QGraphicsSimpleTextItem: 39u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI23QGraphicsSimpleTextItem)
+16 QGraphicsSimpleTextItem::~QGraphicsSimpleTextItem
+24 QGraphicsSimpleTextItem::~QGraphicsSimpleTextItem
+32 QGraphicsItem::advance
+40 QGraphicsSimpleTextItem::boundingRect
+48 QGraphicsSimpleTextItem::shape
+56 QGraphicsSimpleTextItem::contains
+64 QGraphicsItem::collidesWithItem
+72 QGraphicsItem::collidesWithPath
+80 QGraphicsSimpleTextItem::isObscuredBy
+88 QGraphicsSimpleTextItem::opaqueArea
+96 QGraphicsSimpleTextItem::paint
+104 QGraphicsSimpleTextItem::type
+112 QGraphicsItem::sceneEventFilter
+120 QGraphicsItem::sceneEvent
+128 QGraphicsItem::contextMenuEvent
+136 QGraphicsItem::dragEnterEvent
+144 QGraphicsItem::dragLeaveEvent
+152 QGraphicsItem::dragMoveEvent
+160 QGraphicsItem::dropEvent
+168 QGraphicsItem::focusInEvent
+176 QGraphicsItem::focusOutEvent
+184 QGraphicsItem::hoverEnterEvent
+192 QGraphicsItem::hoverMoveEvent
+200 QGraphicsItem::hoverLeaveEvent
+208 QGraphicsItem::keyPressEvent
+216 QGraphicsItem::keyReleaseEvent
+224 QGraphicsItem::mousePressEvent
+232 QGraphicsItem::mouseMoveEvent
+240 QGraphicsItem::mouseReleaseEvent
+248 QGraphicsItem::mouseDoubleClickEvent
+256 QGraphicsItem::wheelEvent
+264 QGraphicsItem::inputMethodEvent
+272 QGraphicsItem::inputMethodQuery
+280 QGraphicsItem::itemChange
+288 QGraphicsSimpleTextItem::supportsExtension
+296 QGraphicsSimpleTextItem::setExtension
+304 QGraphicsSimpleTextItem::extension
+
+Class QGraphicsSimpleTextItem
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsSimpleTextItem (0x7f1dec7c31c0) 0
+ vptr=((& QGraphicsSimpleTextItem::_ZTV23QGraphicsSimpleTextItem) + 16u)
+ QAbstractGraphicsShapeItem (0x7f1dec7c3230) 0
+ primary-for QGraphicsSimpleTextItem (0x7f1dec7c31c0)
+ QGraphicsItem (0x7f1dec7c32a0) 0
+ primary-for QAbstractGraphicsShapeItem (0x7f1dec7c3230)
+
+Vtable for QGraphicsItemGroup
+QGraphicsItemGroup::_ZTV18QGraphicsItemGroup: 39u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QGraphicsItemGroup)
+16 QGraphicsItemGroup::~QGraphicsItemGroup
+24 QGraphicsItemGroup::~QGraphicsItemGroup
+32 QGraphicsItem::advance
+40 QGraphicsItemGroup::boundingRect
+48 QGraphicsItem::shape
+56 QGraphicsItem::contains
+64 QGraphicsItem::collidesWithItem
+72 QGraphicsItem::collidesWithPath
+80 QGraphicsItemGroup::isObscuredBy
+88 QGraphicsItemGroup::opaqueArea
+96 QGraphicsItemGroup::paint
+104 QGraphicsItemGroup::type
+112 QGraphicsItem::sceneEventFilter
+120 QGraphicsItem::sceneEvent
+128 QGraphicsItem::contextMenuEvent
+136 QGraphicsItem::dragEnterEvent
+144 QGraphicsItem::dragLeaveEvent
+152 QGraphicsItem::dragMoveEvent
+160 QGraphicsItem::dropEvent
+168 QGraphicsItem::focusInEvent
+176 QGraphicsItem::focusOutEvent
+184 QGraphicsItem::hoverEnterEvent
+192 QGraphicsItem::hoverMoveEvent
+200 QGraphicsItem::hoverLeaveEvent
+208 QGraphicsItem::keyPressEvent
+216 QGraphicsItem::keyReleaseEvent
+224 QGraphicsItem::mousePressEvent
+232 QGraphicsItem::mouseMoveEvent
+240 QGraphicsItem::mouseReleaseEvent
+248 QGraphicsItem::mouseDoubleClickEvent
+256 QGraphicsItem::wheelEvent
+264 QGraphicsItem::inputMethodEvent
+272 QGraphicsItem::inputMethodQuery
+280 QGraphicsItem::itemChange
+288 QGraphicsItem::supportsExtension
+296 QGraphicsItem::setExtension
+304 QGraphicsItem::extension
+
+Class QGraphicsItemGroup
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsItemGroup (0x7f1dec7d3150) 0
+ vptr=((& QGraphicsItemGroup::_ZTV18QGraphicsItemGroup) + 16u)
+ QGraphicsItem (0x7f1dec7d31c0) 0
+ primary-for QGraphicsItemGroup (0x7f1dec7d3150)
+
+Vtable for QGraphicsLayoutItem
+QGraphicsLayoutItem::_ZTV19QGraphicsLayoutItem: 8u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QGraphicsLayoutItem)
+16 QGraphicsLayoutItem::~QGraphicsLayoutItem
+24 QGraphicsLayoutItem::~QGraphicsLayoutItem
+32 QGraphicsLayoutItem::setGeometry
+40 QGraphicsLayoutItem::getContentsMargins
+48 QGraphicsLayoutItem::updateGeometry
+56 __cxa_pure_virtual
+
+Class QGraphicsLayoutItem
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsLayoutItem (0x7f1dec7e2a80) 0
+ vptr=((& QGraphicsLayoutItem::_ZTV19QGraphicsLayoutItem) + 16u)
+
+Vtable for QGraphicsLayout
+QGraphicsLayout::_ZTV15QGraphicsLayout: 13u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QGraphicsLayout)
+16 QGraphicsLayout::~QGraphicsLayout
+24 QGraphicsLayout::~QGraphicsLayout
+32 QGraphicsLayoutItem::setGeometry
+40 QGraphicsLayout::getContentsMargins
+48 QGraphicsLayout::updateGeometry
+56 __cxa_pure_virtual
+64 QGraphicsLayout::invalidate
+72 QGraphicsLayout::widgetEvent
+80 __cxa_pure_virtual
+88 __cxa_pure_virtual
+96 __cxa_pure_virtual
+
+Class QGraphicsLayout
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsLayout (0x7f1dec80f7e0) 0
+ vptr=((& QGraphicsLayout::_ZTV15QGraphicsLayout) + 16u)
+ QGraphicsLayoutItem (0x7f1dec80f850) 0
+ primary-for QGraphicsLayout (0x7f1dec80f7e0)
+
+Vtable for QGraphicsScene
+QGraphicsScene::_ZTV14QGraphicsScene: 34u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QGraphicsScene)
+16 QGraphicsScene::metaObject
+24 QGraphicsScene::qt_metacast
+32 QGraphicsScene::qt_metacall
+40 QGraphicsScene::~QGraphicsScene
+48 QGraphicsScene::~QGraphicsScene
+56 QGraphicsScene::event
+64 QGraphicsScene::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QGraphicsScene::inputMethodQuery
+120 QGraphicsScene::contextMenuEvent
+128 QGraphicsScene::dragEnterEvent
+136 QGraphicsScene::dragMoveEvent
+144 QGraphicsScene::dragLeaveEvent
+152 QGraphicsScene::dropEvent
+160 QGraphicsScene::focusInEvent
+168 QGraphicsScene::focusOutEvent
+176 QGraphicsScene::helpEvent
+184 QGraphicsScene::keyPressEvent
+192 QGraphicsScene::keyReleaseEvent
+200 QGraphicsScene::mousePressEvent
+208 QGraphicsScene::mouseMoveEvent
+216 QGraphicsScene::mouseReleaseEvent
+224 QGraphicsScene::mouseDoubleClickEvent
+232 QGraphicsScene::wheelEvent
+240 QGraphicsScene::inputMethodEvent
+248 QGraphicsScene::drawBackground
+256 QGraphicsScene::drawForeground
+264 QGraphicsScene::drawItems
+
+Class QGraphicsScene
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsScene (0x7f1dec81c700) 0
+ vptr=((& QGraphicsScene::_ZTV14QGraphicsScene) + 16u)
+ QObject (0x7f1dec81c770) 0
+ primary-for QGraphicsScene (0x7f1dec81c700)
+
+Vtable for QGraphicsLinearLayout
+QGraphicsLinearLayout::_ZTV21QGraphicsLinearLayout: 13u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI21QGraphicsLinearLayout)
+16 QGraphicsLinearLayout::~QGraphicsLinearLayout
+24 QGraphicsLinearLayout::~QGraphicsLinearLayout
+32 QGraphicsLinearLayout::setGeometry
+40 QGraphicsLayout::getContentsMargins
+48 QGraphicsLayout::updateGeometry
+56 QGraphicsLinearLayout::sizeHint
+64 QGraphicsLinearLayout::invalidate
+72 QGraphicsLayout::widgetEvent
+80 QGraphicsLinearLayout::count
+88 QGraphicsLinearLayout::itemAt
+96 QGraphicsLinearLayout::removeAt
+
+Class QGraphicsLinearLayout
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsLinearLayout (0x7f1dec6c2d20) 0
+ vptr=((& QGraphicsLinearLayout::_ZTV21QGraphicsLinearLayout) + 16u)
+ QGraphicsLayout (0x7f1dec6c2d90) 0
+ primary-for QGraphicsLinearLayout (0x7f1dec6c2d20)
+ QGraphicsLayoutItem (0x7f1dec6c2e00) 0
+ primary-for QGraphicsLayout (0x7f1dec6c2d90)
+
+Vtable for QScrollArea
+QScrollArea::_ZTV11QScrollArea: 65u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QScrollArea)
+16 QScrollArea::metaObject
+24 QScrollArea::qt_metacast
+32 QScrollArea::qt_metacall
+40 QScrollArea::~QScrollArea
+48 QScrollArea::~QScrollArea
+56 QScrollArea::event
+64 QScrollArea::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QScrollArea::sizeHint
+136 QAbstractScrollArea::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QAbstractScrollArea::mousePressEvent
+168 QAbstractScrollArea::mouseReleaseEvent
+176 QAbstractScrollArea::mouseDoubleClickEvent
+184 QAbstractScrollArea::mouseMoveEvent
+192 QAbstractScrollArea::wheelEvent
+200 QAbstractScrollArea::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QAbstractScrollArea::paintEvent
+256 QWidget::moveEvent
+264 QScrollArea::resizeEvent
+272 QWidget::closeEvent
+280 QAbstractScrollArea::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QAbstractScrollArea::dragEnterEvent
+312 QAbstractScrollArea::dragMoveEvent
+320 QAbstractScrollArea::dragLeaveEvent
+328 QAbstractScrollArea::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QFrame::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QScrollArea::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QAbstractScrollArea::viewportEvent
+456 QScrollArea::scrollContentsBy
+464 (int (*)(...))-0x00000000000000010
+472 (int (*)(...))(& _ZTI11QScrollArea)
+480 QScrollArea::_ZThn16_N11QScrollAreaD1Ev
+488 QScrollArea::_ZThn16_N11QScrollAreaD0Ev
+496 QWidget::_ZThn16_NK7QWidget7devTypeEv
+504 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+512 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QScrollArea
+ size=40 align=8
+ base size=40 base align=8
+QScrollArea (0x7f1dec6f2540) 0
+ vptr=((& QScrollArea::_ZTV11QScrollArea) + 16u)
+ QAbstractScrollArea (0x7f1dec6f25b0) 0
+ primary-for QScrollArea (0x7f1dec6f2540)
+ QFrame (0x7f1dec6f2620) 0
+ primary-for QAbstractScrollArea (0x7f1dec6f25b0)
+ QWidget (0x7f1dec6c1880) 0
+ primary-for QFrame (0x7f1dec6f2620)
+ QObject (0x7f1dec6f2690) 0
+ primary-for QWidget (0x7f1dec6c1880)
+ QPaintDevice (0x7f1dec6f2700) 16
+ vptr=((& QScrollArea::_ZTV11QScrollArea) + 480u)
+
+Vtable for QGraphicsView
+QGraphicsView::_ZTV13QGraphicsView: 68u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QGraphicsView)
+16 QGraphicsView::metaObject
+24 QGraphicsView::qt_metacast
+32 QGraphicsView::qt_metacall
+40 QGraphicsView::~QGraphicsView
+48 QGraphicsView::~QGraphicsView
+56 QGraphicsView::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QGraphicsView::sizeHint
+136 QAbstractScrollArea::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QGraphicsView::mousePressEvent
+168 QGraphicsView::mouseReleaseEvent
+176 QGraphicsView::mouseDoubleClickEvent
+184 QGraphicsView::mouseMoveEvent
+192 QGraphicsView::wheelEvent
+200 QGraphicsView::keyPressEvent
+208 QGraphicsView::keyReleaseEvent
+216 QGraphicsView::focusInEvent
+224 QGraphicsView::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QGraphicsView::paintEvent
+256 QWidget::moveEvent
+264 QGraphicsView::resizeEvent
+272 QWidget::closeEvent
+280 QGraphicsView::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QGraphicsView::dragEnterEvent
+312 QGraphicsView::dragMoveEvent
+320 QGraphicsView::dragLeaveEvent
+328 QGraphicsView::dropEvent
+336 QGraphicsView::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QFrame::changeEvent
+368 QWidget::metric
+376 QGraphicsView::inputMethodEvent
+384 QGraphicsView::inputMethodQuery
+392 QGraphicsView::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QGraphicsView::viewportEvent
+456 QGraphicsView::scrollContentsBy
+464 QGraphicsView::drawBackground
+472 QGraphicsView::drawForeground
+480 QGraphicsView::drawItems
+488 (int (*)(...))-0x00000000000000010
+496 (int (*)(...))(& _ZTI13QGraphicsView)
+504 QGraphicsView::_ZThn16_N13QGraphicsViewD1Ev
+512 QGraphicsView::_ZThn16_N13QGraphicsViewD0Ev
+520 QWidget::_ZThn16_NK7QWidget7devTypeEv
+528 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+536 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QGraphicsView
+ size=40 align=8
+ base size=40 base align=8
+QGraphicsView (0x7f1dec710460) 0
+ vptr=((& QGraphicsView::_ZTV13QGraphicsView) + 16u)
+ QAbstractScrollArea (0x7f1dec7104d0) 0
+ primary-for QGraphicsView (0x7f1dec710460)
+ QFrame (0x7f1dec710540) 0
+ primary-for QAbstractScrollArea (0x7f1dec7104d0)
+ QWidget (0x7f1dec70f180) 0
+ primary-for QFrame (0x7f1dec710540)
+ QObject (0x7f1dec7105b0) 0
+ primary-for QWidget (0x7f1dec70f180)
+ QPaintDevice (0x7f1dec710620) 16
+ vptr=((& QGraphicsView::_ZTV13QGraphicsView) + 504u)
+
+Vtable for QGraphicsWidget
+QGraphicsWidget::_ZTV15QGraphicsWidget: 92u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QGraphicsWidget)
+16 QGraphicsWidget::metaObject
+24 QGraphicsWidget::qt_metacast
+32 QGraphicsWidget::qt_metacall
+40 QGraphicsWidget::~QGraphicsWidget
+48 QGraphicsWidget::~QGraphicsWidget
+56 QGraphicsWidget::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QGraphicsWidget::setGeometry
+120 QGraphicsWidget::getContentsMargins
+128 QGraphicsWidget::type
+136 QGraphicsWidget::paint
+144 QGraphicsWidget::paintWindowFrame
+152 QGraphicsWidget::boundingRect
+160 QGraphicsWidget::shape
+168 QGraphicsWidget::initStyleOption
+176 QGraphicsWidget::sizeHint
+184 QGraphicsWidget::updateGeometry
+192 QGraphicsWidget::itemChange
+200 QGraphicsWidget::propertyChange
+208 QGraphicsWidget::sceneEvent
+216 QGraphicsWidget::windowFrameEvent
+224 QGraphicsWidget::windowFrameSectionAt
+232 QGraphicsWidget::changeEvent
+240 QGraphicsWidget::closeEvent
+248 QGraphicsWidget::focusInEvent
+256 QGraphicsWidget::focusNextPrevChild
+264 QGraphicsWidget::focusOutEvent
+272 QGraphicsWidget::hideEvent
+280 QGraphicsWidget::moveEvent
+288 QGraphicsWidget::polishEvent
+296 QGraphicsWidget::resizeEvent
+304 QGraphicsWidget::showEvent
+312 QGraphicsWidget::hoverMoveEvent
+320 QGraphicsWidget::hoverLeaveEvent
+328 QGraphicsWidget::grabMouseEvent
+336 QGraphicsWidget::ungrabMouseEvent
+344 QGraphicsWidget::grabKeyboardEvent
+352 QGraphicsWidget::ungrabKeyboardEvent
+360 (int (*)(...))-0x00000000000000010
+368 (int (*)(...))(& _ZTI15QGraphicsWidget)
+376 QGraphicsWidget::_ZThn16_N15QGraphicsWidgetD1Ev
+384 QGraphicsWidget::_ZThn16_N15QGraphicsWidgetD0Ev
+392 QGraphicsItem::advance
+400 QGraphicsWidget::_ZThn16_NK15QGraphicsWidget12boundingRectEv
+408 QGraphicsWidget::_ZThn16_NK15QGraphicsWidget5shapeEv
+416 QGraphicsItem::contains
+424 QGraphicsItem::collidesWithItem
+432 QGraphicsItem::collidesWithPath
+440 QGraphicsItem::isObscuredBy
+448 QGraphicsItem::opaqueArea
+456 QGraphicsWidget::_ZThn16_N15QGraphicsWidget5paintEP8QPainterPK24QStyleOptionGraphicsItemP7QWidget
+464 QGraphicsWidget::_ZThn16_NK15QGraphicsWidget4typeEv
+472 QGraphicsItem::sceneEventFilter
+480 QGraphicsWidget::_ZThn16_N15QGraphicsWidget10sceneEventEP6QEvent
+488 QGraphicsItem::contextMenuEvent
+496 QGraphicsItem::dragEnterEvent
+504 QGraphicsItem::dragLeaveEvent
+512 QGraphicsItem::dragMoveEvent
+520 QGraphicsItem::dropEvent
+528 QGraphicsWidget::_ZThn16_N15QGraphicsWidget12focusInEventEP11QFocusEvent
+536 QGraphicsWidget::_ZThn16_N15QGraphicsWidget13focusOutEventEP11QFocusEvent
+544 QGraphicsItem::hoverEnterEvent
+552 QGraphicsWidget::_ZThn16_N15QGraphicsWidget14hoverMoveEventEP24QGraphicsSceneHoverEvent
+560 QGraphicsWidget::_ZThn16_N15QGraphicsWidget15hoverLeaveEventEP24QGraphicsSceneHoverEvent
+568 QGraphicsItem::keyPressEvent
+576 QGraphicsItem::keyReleaseEvent
+584 QGraphicsItem::mousePressEvent
+592 QGraphicsItem::mouseMoveEvent
+600 QGraphicsItem::mouseReleaseEvent
+608 QGraphicsItem::mouseDoubleClickEvent
+616 QGraphicsItem::wheelEvent
+624 QGraphicsItem::inputMethodEvent
+632 QGraphicsItem::inputMethodQuery
+640 QGraphicsWidget::_ZThn16_N15QGraphicsWidget10itemChangeEN13QGraphicsItem18GraphicsItemChangeERK8QVariant
+648 QGraphicsItem::supportsExtension
+656 QGraphicsItem::setExtension
+664 QGraphicsItem::extension
+672 (int (*)(...))-0x00000000000000020
+680 (int (*)(...))(& _ZTI15QGraphicsWidget)
+688 QGraphicsWidget::_ZThn32_N15QGraphicsWidgetD1Ev
+696 QGraphicsWidget::_ZThn32_N15QGraphicsWidgetD0Ev
+704 QGraphicsWidget::_ZThn32_N15QGraphicsWidget11setGeometryERK6QRectF
+712 QGraphicsWidget::_ZThn32_NK15QGraphicsWidget18getContentsMarginsEPdS0_S0_S0_
+720 QGraphicsWidget::_ZThn32_N15QGraphicsWidget14updateGeometryEv
+728 QGraphicsWidget::_ZThn32_NK15QGraphicsWidget8sizeHintEN2Qt8SizeHintERK6QSizeF
+
+Class QGraphicsWidget
+ size=48 align=8
+ base size=48 base align=8
+QGraphicsWidget (0x7f1dec5e7d00) 0
+ vptr=((& QGraphicsWidget::_ZTV15QGraphicsWidget) + 16u)
+ QObject (0x7f1dec5f3930) 0
+ primary-for QGraphicsWidget (0x7f1dec5e7d00)
+ QGraphicsItem (0x7f1dec5f39a0) 16
+ vptr=((& QGraphicsWidget::_ZTV15QGraphicsWidget) + 376u)
+ QGraphicsLayoutItem (0x7f1dec5f3a10) 32
+ vptr=((& QGraphicsWidget::_ZTV15QGraphicsWidget) + 688u)
+
+Vtable for QGraphicsProxyWidget
+QGraphicsProxyWidget::_ZTV20QGraphicsProxyWidget: 105u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI20QGraphicsProxyWidget)
+16 QGraphicsProxyWidget::metaObject
+24 QGraphicsProxyWidget::qt_metacast
+32 QGraphicsProxyWidget::qt_metacall
+40 QGraphicsProxyWidget::~QGraphicsProxyWidget
+48 QGraphicsProxyWidget::~QGraphicsProxyWidget
+56 QGraphicsProxyWidget::event
+64 QGraphicsProxyWidget::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QGraphicsProxyWidget::setGeometry
+120 QGraphicsWidget::getContentsMargins
+128 QGraphicsProxyWidget::type
+136 QGraphicsProxyWidget::paint
+144 QGraphicsWidget::paintWindowFrame
+152 QGraphicsWidget::boundingRect
+160 QGraphicsWidget::shape
+168 QGraphicsWidget::initStyleOption
+176 QGraphicsProxyWidget::sizeHint
+184 QGraphicsWidget::updateGeometry
+192 QGraphicsProxyWidget::itemChange
+200 QGraphicsWidget::propertyChange
+208 QGraphicsWidget::sceneEvent
+216 QGraphicsWidget::windowFrameEvent
+224 QGraphicsWidget::windowFrameSectionAt
+232 QGraphicsWidget::changeEvent
+240 QGraphicsWidget::closeEvent
+248 QGraphicsProxyWidget::focusInEvent
+256 QGraphicsProxyWidget::focusNextPrevChild
+264 QGraphicsProxyWidget::focusOutEvent
+272 QGraphicsProxyWidget::hideEvent
+280 QGraphicsWidget::moveEvent
+288 QGraphicsWidget::polishEvent
+296 QGraphicsProxyWidget::resizeEvent
+304 QGraphicsProxyWidget::showEvent
+312 QGraphicsProxyWidget::hoverMoveEvent
+320 QGraphicsProxyWidget::hoverLeaveEvent
+328 QGraphicsProxyWidget::grabMouseEvent
+336 QGraphicsProxyWidget::ungrabMouseEvent
+344 QGraphicsWidget::grabKeyboardEvent
+352 QGraphicsWidget::ungrabKeyboardEvent
+360 QGraphicsProxyWidget::contextMenuEvent
+368 QGraphicsProxyWidget::dragEnterEvent
+376 QGraphicsProxyWidget::dragLeaveEvent
+384 QGraphicsProxyWidget::dragMoveEvent
+392 QGraphicsProxyWidget::dropEvent
+400 QGraphicsProxyWidget::hoverEnterEvent
+408 QGraphicsProxyWidget::mouseMoveEvent
+416 QGraphicsProxyWidget::mousePressEvent
+424 QGraphicsProxyWidget::mouseReleaseEvent
+432 QGraphicsProxyWidget::mouseDoubleClickEvent
+440 QGraphicsProxyWidget::wheelEvent
+448 QGraphicsProxyWidget::keyPressEvent
+456 QGraphicsProxyWidget::keyReleaseEvent
+464 (int (*)(...))-0x00000000000000010
+472 (int (*)(...))(& _ZTI20QGraphicsProxyWidget)
+480 QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidgetD1Ev
+488 QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidgetD0Ev
+496 QGraphicsItem::advance
+504 QGraphicsWidget::_ZThn16_NK15QGraphicsWidget12boundingRectEv
+512 QGraphicsWidget::_ZThn16_NK15QGraphicsWidget5shapeEv
+520 QGraphicsItem::contains
+528 QGraphicsItem::collidesWithItem
+536 QGraphicsItem::collidesWithPath
+544 QGraphicsItem::isObscuredBy
+552 QGraphicsItem::opaqueArea
+560 QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget5paintEP8QPainterPK24QStyleOptionGraphicsItemP7QWidget
+568 QGraphicsProxyWidget::_ZThn16_NK20QGraphicsProxyWidget4typeEv
+576 QGraphicsItem::sceneEventFilter
+584 QGraphicsWidget::_ZThn16_N15QGraphicsWidget10sceneEventEP6QEvent
+592 QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget16contextMenuEventEP30QGraphicsSceneContextMenuEvent
+600 QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget14dragEnterEventEP27QGraphicsSceneDragDropEvent
+608 QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget14dragLeaveEventEP27QGraphicsSceneDragDropEvent
+616 QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget13dragMoveEventEP27QGraphicsSceneDragDropEvent
+624 QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget9dropEventEP27QGraphicsSceneDragDropEvent
+632 QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget12focusInEventEP11QFocusEvent
+640 QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget13focusOutEventEP11QFocusEvent
+648 QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget15hoverEnterEventEP24QGraphicsSceneHoverEvent
+656 QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget14hoverMoveEventEP24QGraphicsSceneHoverEvent
+664 QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget15hoverLeaveEventEP24QGraphicsSceneHoverEvent
+672 QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget13keyPressEventEP9QKeyEvent
+680 QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget15keyReleaseEventEP9QKeyEvent
+688 QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget15mousePressEventEP24QGraphicsSceneMouseEvent
+696 QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget14mouseMoveEventEP24QGraphicsSceneMouseEvent
+704 QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget17mouseReleaseEventEP24QGraphicsSceneMouseEvent
+712 QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget21mouseDoubleClickEventEP24QGraphicsSceneMouseEvent
+720 QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget10wheelEventEP24QGraphicsSceneWheelEvent
+728 QGraphicsItem::inputMethodEvent
+736 QGraphicsItem::inputMethodQuery
+744 QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget10itemChangeEN13QGraphicsItem18GraphicsItemChangeERK8QVariant
+752 QGraphicsItem::supportsExtension
+760 QGraphicsItem::setExtension
+768 QGraphicsItem::extension
+776 (int (*)(...))-0x00000000000000020
+784 (int (*)(...))(& _ZTI20QGraphicsProxyWidget)
+792 QGraphicsProxyWidget::_ZThn32_N20QGraphicsProxyWidgetD1Ev
+800 QGraphicsProxyWidget::_ZThn32_N20QGraphicsProxyWidgetD0Ev
+808 QGraphicsProxyWidget::_ZThn32_N20QGraphicsProxyWidget11setGeometryERK6QRectF
+816 QGraphicsWidget::_ZThn32_NK15QGraphicsWidget18getContentsMarginsEPdS0_S0_S0_
+824 QGraphicsWidget::_ZThn32_N15QGraphicsWidget14updateGeometryEv
+832 QGraphicsProxyWidget::_ZThn32_NK20QGraphicsProxyWidget8sizeHintEN2Qt8SizeHintERK6QSizeF
+
+Class QGraphicsProxyWidget
+ size=48 align=8
+ base size=48 base align=8
+QGraphicsProxyWidget (0x7f1dec63c1c0) 0
+ vptr=((& QGraphicsProxyWidget::_ZTV20QGraphicsProxyWidget) + 16u)
+ QGraphicsWidget (0x7f1dec62cb80) 0
+ primary-for QGraphicsProxyWidget (0x7f1dec63c1c0)
+ QObject (0x7f1dec63c230) 0
+ primary-for QGraphicsWidget (0x7f1dec62cb80)
+ QGraphicsItem (0x7f1dec63c2a0) 16
+ vptr=((& QGraphicsProxyWidget::_ZTV20QGraphicsProxyWidget) + 480u)
+ QGraphicsLayoutItem (0x7f1dec63c310) 32
+ vptr=((& QGraphicsProxyWidget::_ZTV20QGraphicsProxyWidget) + 792u)
+
+Vtable for QGraphicsSceneEvent
+QGraphicsSceneEvent::_ZTV19QGraphicsSceneEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QGraphicsSceneEvent)
+16 QGraphicsSceneEvent::~QGraphicsSceneEvent
+24 QGraphicsSceneEvent::~QGraphicsSceneEvent
+
+Class QGraphicsSceneEvent
+ size=32 align=8
+ base size=32 base align=8
+QGraphicsSceneEvent (0x7f1dec466230) 0
+ vptr=((& QGraphicsSceneEvent::_ZTV19QGraphicsSceneEvent) + 16u)
+ QEvent (0x7f1dec4662a0) 0
+ primary-for QGraphicsSceneEvent (0x7f1dec466230)
+
+Vtable for QGraphicsSceneMouseEvent
+QGraphicsSceneMouseEvent::_ZTV24QGraphicsSceneMouseEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI24QGraphicsSceneMouseEvent)
+16 QGraphicsSceneMouseEvent::~QGraphicsSceneMouseEvent
+24 QGraphicsSceneMouseEvent::~QGraphicsSceneMouseEvent
+
+Class QGraphicsSceneMouseEvent
+ size=32 align=8
+ base size=32 base align=8
+QGraphicsSceneMouseEvent (0x7f1dec466b60) 0
+ vptr=((& QGraphicsSceneMouseEvent::_ZTV24QGraphicsSceneMouseEvent) + 16u)
+ QGraphicsSceneEvent (0x7f1dec466bd0) 0
+ primary-for QGraphicsSceneMouseEvent (0x7f1dec466b60)
+ QEvent (0x7f1dec466c40) 0
+ primary-for QGraphicsSceneEvent (0x7f1dec466bd0)
+
+Vtable for QGraphicsSceneWheelEvent
+QGraphicsSceneWheelEvent::_ZTV24QGraphicsSceneWheelEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI24QGraphicsSceneWheelEvent)
+16 QGraphicsSceneWheelEvent::~QGraphicsSceneWheelEvent
+24 QGraphicsSceneWheelEvent::~QGraphicsSceneWheelEvent
+
+Class QGraphicsSceneWheelEvent
+ size=32 align=8
+ base size=32 base align=8
+QGraphicsSceneWheelEvent (0x7f1dec477460) 0
+ vptr=((& QGraphicsSceneWheelEvent::_ZTV24QGraphicsSceneWheelEvent) + 16u)
+ QGraphicsSceneEvent (0x7f1dec4774d0) 0
+ primary-for QGraphicsSceneWheelEvent (0x7f1dec477460)
+ QEvent (0x7f1dec477540) 0
+ primary-for QGraphicsSceneEvent (0x7f1dec4774d0)
+
+Vtable for QGraphicsSceneContextMenuEvent
+QGraphicsSceneContextMenuEvent::_ZTV30QGraphicsSceneContextMenuEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI30QGraphicsSceneContextMenuEvent)
+16 QGraphicsSceneContextMenuEvent::~QGraphicsSceneContextMenuEvent
+24 QGraphicsSceneContextMenuEvent::~QGraphicsSceneContextMenuEvent
+
+Class QGraphicsSceneContextMenuEvent
+ size=32 align=8
+ base size=32 base align=8
+QGraphicsSceneContextMenuEvent (0x7f1dec477e00) 0
+ vptr=((& QGraphicsSceneContextMenuEvent::_ZTV30QGraphicsSceneContextMenuEvent) + 16u)
+ QGraphicsSceneEvent (0x7f1dec477e70) 0
+ primary-for QGraphicsSceneContextMenuEvent (0x7f1dec477e00)
+ QEvent (0x7f1dec477ee0) 0
+ primary-for QGraphicsSceneEvent (0x7f1dec477e70)
+
+Vtable for QGraphicsSceneHoverEvent
+QGraphicsSceneHoverEvent::_ZTV24QGraphicsSceneHoverEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI24QGraphicsSceneHoverEvent)
+16 QGraphicsSceneHoverEvent::~QGraphicsSceneHoverEvent
+24 QGraphicsSceneHoverEvent::~QGraphicsSceneHoverEvent
+
+Class QGraphicsSceneHoverEvent
+ size=32 align=8
+ base size=32 base align=8
+QGraphicsSceneHoverEvent (0x7f1dec485930) 0
+ vptr=((& QGraphicsSceneHoverEvent::_ZTV24QGraphicsSceneHoverEvent) + 16u)
+ QGraphicsSceneEvent (0x7f1dec4859a0) 0
+ primary-for QGraphicsSceneHoverEvent (0x7f1dec485930)
+ QEvent (0x7f1dec485a10) 0
+ primary-for QGraphicsSceneEvent (0x7f1dec4859a0)
+
+Vtable for QGraphicsSceneHelpEvent
+QGraphicsSceneHelpEvent::_ZTV23QGraphicsSceneHelpEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI23QGraphicsSceneHelpEvent)
+16 QGraphicsSceneHelpEvent::~QGraphicsSceneHelpEvent
+24 QGraphicsSceneHelpEvent::~QGraphicsSceneHelpEvent
+
+Class QGraphicsSceneHelpEvent
+ size=32 align=8
+ base size=32 base align=8
+QGraphicsSceneHelpEvent (0x7f1dec496230) 0
+ vptr=((& QGraphicsSceneHelpEvent::_ZTV23QGraphicsSceneHelpEvent) + 16u)
+ QGraphicsSceneEvent (0x7f1dec4962a0) 0
+ primary-for QGraphicsSceneHelpEvent (0x7f1dec496230)
+ QEvent (0x7f1dec496310) 0
+ primary-for QGraphicsSceneEvent (0x7f1dec4962a0)
+
+Vtable for QGraphicsSceneDragDropEvent
+QGraphicsSceneDragDropEvent::_ZTV27QGraphicsSceneDragDropEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI27QGraphicsSceneDragDropEvent)
+16 QGraphicsSceneDragDropEvent::~QGraphicsSceneDragDropEvent
+24 QGraphicsSceneDragDropEvent::~QGraphicsSceneDragDropEvent
+
+Class QGraphicsSceneDragDropEvent
+ size=32 align=8
+ base size=32 base align=8
+QGraphicsSceneDragDropEvent (0x7f1dec496bd0) 0
+ vptr=((& QGraphicsSceneDragDropEvent::_ZTV27QGraphicsSceneDragDropEvent) + 16u)
+ QGraphicsSceneEvent (0x7f1dec496c40) 0
+ primary-for QGraphicsSceneDragDropEvent (0x7f1dec496bd0)
+ QEvent (0x7f1dec496cb0) 0
+ primary-for QGraphicsSceneEvent (0x7f1dec496c40)
+
+Vtable for QGraphicsSceneResizeEvent
+QGraphicsSceneResizeEvent::_ZTV25QGraphicsSceneResizeEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI25QGraphicsSceneResizeEvent)
+16 QGraphicsSceneResizeEvent::~QGraphicsSceneResizeEvent
+24 QGraphicsSceneResizeEvent::~QGraphicsSceneResizeEvent
+
+Class QGraphicsSceneResizeEvent
+ size=32 align=8
+ base size=32 base align=8
+QGraphicsSceneResizeEvent (0x7f1dec4a74d0) 0
+ vptr=((& QGraphicsSceneResizeEvent::_ZTV25QGraphicsSceneResizeEvent) + 16u)
+ QGraphicsSceneEvent (0x7f1dec4a7540) 0
+ primary-for QGraphicsSceneResizeEvent (0x7f1dec4a74d0)
+ QEvent (0x7f1dec4a75b0) 0
+ primary-for QGraphicsSceneEvent (0x7f1dec4a7540)
+
+Vtable for QGraphicsSceneMoveEvent
+QGraphicsSceneMoveEvent::_ZTV23QGraphicsSceneMoveEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI23QGraphicsSceneMoveEvent)
+16 QGraphicsSceneMoveEvent::~QGraphicsSceneMoveEvent
+24 QGraphicsSceneMoveEvent::~QGraphicsSceneMoveEvent
+
+Class QGraphicsSceneMoveEvent
+ size=32 align=8
+ base size=32 base align=8
+QGraphicsSceneMoveEvent (0x7f1dec4a7cb0) 0
+ vptr=((& QGraphicsSceneMoveEvent::_ZTV23QGraphicsSceneMoveEvent) + 16u)
+ QGraphicsSceneEvent (0x7f1dec4a7d20) 0
+ primary-for QGraphicsSceneMoveEvent (0x7f1dec4a7cb0)
+ QEvent (0x7f1dec4a7d90) 0
+ primary-for QGraphicsSceneEvent (0x7f1dec4a7d20)
+
+Vtable for QGraphicsItemAnimation
+QGraphicsItemAnimation::_ZTV22QGraphicsItemAnimation: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI22QGraphicsItemAnimation)
+16 QGraphicsItemAnimation::metaObject
+24 QGraphicsItemAnimation::qt_metacast
+32 QGraphicsItemAnimation::qt_metacall
+40 QGraphicsItemAnimation::~QGraphicsItemAnimation
+48 QGraphicsItemAnimation::~QGraphicsItemAnimation
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QGraphicsItemAnimation::beforeAnimationStep
+120 QGraphicsItemAnimation::afterAnimationStep
+
+Class QGraphicsItemAnimation
+ size=24 align=8
+ base size=24 base align=8
+QGraphicsItemAnimation (0x7f1dec4b83f0) 0
+ vptr=((& QGraphicsItemAnimation::_ZTV22QGraphicsItemAnimation) + 16u)
+ QObject (0x7f1dec4b8460) 0
+ primary-for QGraphicsItemAnimation (0x7f1dec4b83f0)
+
+Vtable for QGraphicsGridLayout
+QGraphicsGridLayout::_ZTV19QGraphicsGridLayout: 13u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QGraphicsGridLayout)
+16 QGraphicsGridLayout::~QGraphicsGridLayout
+24 QGraphicsGridLayout::~QGraphicsGridLayout
+32 QGraphicsGridLayout::setGeometry
+40 QGraphicsLayout::getContentsMargins
+48 QGraphicsLayout::updateGeometry
+56 QGraphicsGridLayout::sizeHint
+64 QGraphicsGridLayout::invalidate
+72 QGraphicsLayout::widgetEvent
+80 QGraphicsGridLayout::count
+88 QGraphicsGridLayout::itemAt
+96 QGraphicsGridLayout::removeAt
+
+Class QGraphicsGridLayout
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsGridLayout (0x7f1dec4d1770) 0
+ vptr=((& QGraphicsGridLayout::_ZTV19QGraphicsGridLayout) + 16u)
+ QGraphicsLayout (0x7f1dec4d17e0) 0
+ primary-for QGraphicsGridLayout (0x7f1dec4d1770)
+ QGraphicsLayoutItem (0x7f1dec4d1850) 0
+ primary-for QGraphicsLayout (0x7f1dec4d17e0)
+
+Vtable for QAbstractButton
+QAbstractButton::_ZTV15QAbstractButton: 66u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QAbstractButton)
+16 QAbstractButton::metaObject
+24 QAbstractButton::qt_metacast
+32 QAbstractButton::qt_metacall
+40 QAbstractButton::~QAbstractButton
+48 QAbstractButton::~QAbstractButton
+56 QAbstractButton::event
+64 QObject::eventFilter
+72 QAbstractButton::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QWidget::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QAbstractButton::mousePressEvent
+168 QAbstractButton::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QAbstractButton::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QAbstractButton::keyPressEvent
+208 QAbstractButton::keyReleaseEvent
+216 QAbstractButton::focusInEvent
+224 QAbstractButton::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 __cxa_pure_virtual
+256 QWidget::moveEvent
+264 QWidget::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QAbstractButton::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QAbstractButton::hitButton
+456 QAbstractButton::checkStateSet
+464 QAbstractButton::nextCheckState
+472 (int (*)(...))-0x00000000000000010
+480 (int (*)(...))(& _ZTI15QAbstractButton)
+488 QAbstractButton::_ZThn16_N15QAbstractButtonD1Ev
+496 QAbstractButton::_ZThn16_N15QAbstractButtonD0Ev
+504 QWidget::_ZThn16_NK7QWidget7devTypeEv
+512 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+520 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QAbstractButton
+ size=40 align=8
+ base size=40 base align=8
+QAbstractButton (0x7f1dec4ebbd0) 0
+ vptr=((& QAbstractButton::_ZTV15QAbstractButton) + 16u)
+ QWidget (0x7f1dec4ce800) 0
+ primary-for QAbstractButton (0x7f1dec4ebbd0)
+ QObject (0x7f1dec4ebc40) 0
+ primary-for QWidget (0x7f1dec4ce800)
+ QPaintDevice (0x7f1dec4ebcb0) 16
+ vptr=((& QAbstractButton::_ZTV15QAbstractButton) + 488u)
+
+Vtable for QCheckBox
+QCheckBox::_ZTV9QCheckBox: 66u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QCheckBox)
+16 QCheckBox::metaObject
+24 QCheckBox::qt_metacast
+32 QCheckBox::qt_metacall
+40 QCheckBox::~QCheckBox
+48 QCheckBox::~QCheckBox
+56 QCheckBox::event
+64 QObject::eventFilter
+72 QAbstractButton::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QCheckBox::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QAbstractButton::mousePressEvent
+168 QAbstractButton::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QCheckBox::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QAbstractButton::keyPressEvent
+208 QAbstractButton::keyReleaseEvent
+216 QAbstractButton::focusInEvent
+224 QAbstractButton::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QCheckBox::paintEvent
+256 QWidget::moveEvent
+264 QWidget::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QAbstractButton::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QCheckBox::hitButton
+456 QCheckBox::checkStateSet
+464 QCheckBox::nextCheckState
+472 (int (*)(...))-0x00000000000000010
+480 (int (*)(...))(& _ZTI9QCheckBox)
+488 QCheckBox::_ZThn16_N9QCheckBoxD1Ev
+496 QCheckBox::_ZThn16_N9QCheckBoxD0Ev
+504 QWidget::_ZThn16_NK7QWidget7devTypeEv
+512 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+520 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QCheckBox
+ size=40 align=8
+ base size=40 base align=8
+QCheckBox (0x7f1dec51ff50) 0
+ vptr=((& QCheckBox::_ZTV9QCheckBox) + 16u)
+ QAbstractButton (0x7f1dec526000) 0
+ primary-for QCheckBox (0x7f1dec51ff50)
+ QWidget (0x7f1dec527000) 0
+ primary-for QAbstractButton (0x7f1dec526000)
+ QObject (0x7f1dec526070) 0
+ primary-for QWidget (0x7f1dec527000)
+ QPaintDevice (0x7f1dec5260e0) 16
+ vptr=((& QCheckBox::_ZTV9QCheckBox) + 488u)
+
+Vtable for QMenu
+QMenu::_ZTV5QMenu: 63u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI5QMenu)
+16 QMenu::metaObject
+24 QMenu::qt_metacast
+32 QMenu::qt_metacall
+40 QMenu::~QMenu
+48 QMenu::~QMenu
+56 QMenu::event
+64 QObject::eventFilter
+72 QMenu::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QMenu::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QMenu::mousePressEvent
+168 QMenu::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QMenu::mouseMoveEvent
+192 QMenu::wheelEvent
+200 QMenu::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QMenu::enterEvent
+240 QMenu::leaveEvent
+248 QMenu::paintEvent
+256 QWidget::moveEvent
+264 QWidget::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QMenu::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QMenu::hideEvent
+352 QWidget::x11Event
+360 QMenu::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QMenu::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 (int (*)(...))-0x00000000000000010
+456 (int (*)(...))(& _ZTI5QMenu)
+464 QMenu::_ZThn16_N5QMenuD1Ev
+472 QMenu::_ZThn16_N5QMenuD0Ev
+480 QWidget::_ZThn16_NK7QWidget7devTypeEv
+488 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+496 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QMenu
+ size=40 align=8
+ base size=40 base align=8
+QMenu (0x7f1dec347770) 0
+ vptr=((& QMenu::_ZTV5QMenu) + 16u)
+ QWidget (0x7f1dec527f00) 0
+ primary-for QMenu (0x7f1dec347770)
+ QObject (0x7f1dec3477e0) 0
+ primary-for QWidget (0x7f1dec527f00)
+ QPaintDevice (0x7f1dec347850) 16
+ vptr=((& QMenu::_ZTV5QMenu) + 464u)
+
+Vtable for QPrintPreviewWidget
+QPrintPreviewWidget::_ZTV19QPrintPreviewWidget: 63u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QPrintPreviewWidget)
+16 QPrintPreviewWidget::metaObject
+24 QPrintPreviewWidget::qt_metacast
+32 QPrintPreviewWidget::qt_metacall
+40 QPrintPreviewWidget::~QPrintPreviewWidget
+48 QPrintPreviewWidget::~QPrintPreviewWidget
+56 QWidget::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QPrintPreviewWidget::setVisible
+128 QWidget::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QWidget::paintEvent
+256 QWidget::moveEvent
+264 QWidget::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QWidget::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 (int (*)(...))-0x00000000000000010
+456 (int (*)(...))(& _ZTI19QPrintPreviewWidget)
+464 QPrintPreviewWidget::_ZThn16_N19QPrintPreviewWidgetD1Ev
+472 QPrintPreviewWidget::_ZThn16_N19QPrintPreviewWidgetD0Ev
+480 QWidget::_ZThn16_NK7QWidget7devTypeEv
+488 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+496 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QPrintPreviewWidget
+ size=48 align=8
+ base size=48 base align=8
+QPrintPreviewWidget (0x7f1dec3ef5b0) 0
+ vptr=((& QPrintPreviewWidget::_ZTV19QPrintPreviewWidget) + 16u)
+ QWidget (0x7f1dec3ed680) 0
+ primary-for QPrintPreviewWidget (0x7f1dec3ef5b0)
+ QObject (0x7f1dec3ef620) 0
+ primary-for QWidget (0x7f1dec3ed680)
+ QPaintDevice (0x7f1dec3ef690) 16
+ vptr=((& QPrintPreviewWidget::_ZTV19QPrintPreviewWidget) + 464u)
+
+Vtable for QWorkspace
+QWorkspace::_ZTV10QWorkspace: 63u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QWorkspace)
+16 QWorkspace::metaObject
+24 QWorkspace::qt_metacast
+32 QWorkspace::qt_metacall
+40 QWorkspace::~QWorkspace
+48 QWorkspace::~QWorkspace
+56 QWorkspace::event
+64 QWorkspace::eventFilter
+72 QObject::timerEvent
+80 QWorkspace::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QWorkspace::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWorkspace::wheelEvent
+200 QWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QWorkspace::paintEvent
+256 QWidget::moveEvent
+264 QWorkspace::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWorkspace::showEvent
+344 QWorkspace::hideEvent
+352 QWidget::x11Event
+360 QWorkspace::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 (int (*)(...))-0x00000000000000010
+456 (int (*)(...))(& _ZTI10QWorkspace)
+464 QWorkspace::_ZThn16_N10QWorkspaceD1Ev
+472 QWorkspace::_ZThn16_N10QWorkspaceD0Ev
+480 QWidget::_ZThn16_NK7QWidget7devTypeEv
+488 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+496 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QWorkspace
+ size=40 align=8
+ base size=40 base align=8
+QWorkspace (0x7f1dec413070) 0
+ vptr=((& QWorkspace::_ZTV10QWorkspace) + 16u)
+ QWidget (0x7f1dec40f280) 0
+ primary-for QWorkspace (0x7f1dec413070)
+ QObject (0x7f1dec4130e0) 0
+ primary-for QWidget (0x7f1dec40f280)
+ QPaintDevice (0x7f1dec413150) 16
+ vptr=((& QWorkspace::_ZTV10QWorkspace) + 464u)
+
+Vtable for QButtonGroup
+QButtonGroup::_ZTV12QButtonGroup: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QButtonGroup)
+16 QButtonGroup::metaObject
+24 QButtonGroup::qt_metacast
+32 QButtonGroup::qt_metacall
+40 QButtonGroup::~QButtonGroup
+48 QButtonGroup::~QButtonGroup
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QButtonGroup
+ size=16 align=8
+ base size=16 base align=8
+QButtonGroup (0x7f1dec435150) 0
+ vptr=((& QButtonGroup::_ZTV12QButtonGroup) + 16u)
+ QObject (0x7f1dec4351c0) 0
+ primary-for QButtonGroup (0x7f1dec435150)
+
+Vtable for QSpinBox
+QSpinBox::_ZTV8QSpinBox: 70u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI8QSpinBox)
+16 QSpinBox::metaObject
+24 QSpinBox::qt_metacast
+32 QSpinBox::qt_metacall
+40 QSpinBox::~QSpinBox
+48 QSpinBox::~QSpinBox
+56 QSpinBox::event
+64 QObject::eventFilter
+72 QAbstractSpinBox::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QAbstractSpinBox::sizeHint
+136 QAbstractSpinBox::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QAbstractSpinBox::mousePressEvent
+168 QAbstractSpinBox::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QAbstractSpinBox::mouseMoveEvent
+192 QAbstractSpinBox::wheelEvent
+200 QAbstractSpinBox::keyPressEvent
+208 QAbstractSpinBox::keyReleaseEvent
+216 QAbstractSpinBox::focusInEvent
+224 QAbstractSpinBox::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QAbstractSpinBox::paintEvent
+256 QWidget::moveEvent
+264 QAbstractSpinBox::resizeEvent
+272 QAbstractSpinBox::closeEvent
+280 QAbstractSpinBox::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QAbstractSpinBox::showEvent
+344 QAbstractSpinBox::hideEvent
+352 QWidget::x11Event
+360 QAbstractSpinBox::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QSpinBox::validate
+456 QSpinBox::fixup
+464 QAbstractSpinBox::stepBy
+472 QAbstractSpinBox::clear
+480 QAbstractSpinBox::stepEnabled
+488 QSpinBox::valueFromText
+496 QSpinBox::textFromValue
+504 (int (*)(...))-0x00000000000000010
+512 (int (*)(...))(& _ZTI8QSpinBox)
+520 QSpinBox::_ZThn16_N8QSpinBoxD1Ev
+528 QSpinBox::_ZThn16_N8QSpinBoxD0Ev
+536 QWidget::_ZThn16_NK7QWidget7devTypeEv
+544 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+552 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QSpinBox
+ size=40 align=8
+ base size=40 base align=8
+QSpinBox (0x7f1dec24bd90) 0
+ vptr=((& QSpinBox::_ZTV8QSpinBox) + 16u)
+ QAbstractSpinBox (0x7f1dec24be00) 0
+ primary-for QSpinBox (0x7f1dec24bd90)
+ QWidget (0x7f1dec247800) 0
+ primary-for QAbstractSpinBox (0x7f1dec24be00)
+ QObject (0x7f1dec24be70) 0
+ primary-for QWidget (0x7f1dec247800)
+ QPaintDevice (0x7f1dec24bee0) 16
+ vptr=((& QSpinBox::_ZTV8QSpinBox) + 520u)
+
+Vtable for QDoubleSpinBox
+QDoubleSpinBox::_ZTV14QDoubleSpinBox: 70u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QDoubleSpinBox)
+16 QDoubleSpinBox::metaObject
+24 QDoubleSpinBox::qt_metacast
+32 QDoubleSpinBox::qt_metacall
+40 QDoubleSpinBox::~QDoubleSpinBox
+48 QDoubleSpinBox::~QDoubleSpinBox
+56 QAbstractSpinBox::event
+64 QObject::eventFilter
+72 QAbstractSpinBox::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QAbstractSpinBox::sizeHint
+136 QAbstractSpinBox::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QAbstractSpinBox::mousePressEvent
+168 QAbstractSpinBox::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QAbstractSpinBox::mouseMoveEvent
+192 QAbstractSpinBox::wheelEvent
+200 QAbstractSpinBox::keyPressEvent
+208 QAbstractSpinBox::keyReleaseEvent
+216 QAbstractSpinBox::focusInEvent
+224 QAbstractSpinBox::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QAbstractSpinBox::paintEvent
+256 QWidget::moveEvent
+264 QAbstractSpinBox::resizeEvent
+272 QAbstractSpinBox::closeEvent
+280 QAbstractSpinBox::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QAbstractSpinBox::showEvent
+344 QAbstractSpinBox::hideEvent
+352 QWidget::x11Event
+360 QAbstractSpinBox::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QDoubleSpinBox::validate
+456 QDoubleSpinBox::fixup
+464 QAbstractSpinBox::stepBy
+472 QAbstractSpinBox::clear
+480 QAbstractSpinBox::stepEnabled
+488 QDoubleSpinBox::valueFromText
+496 QDoubleSpinBox::textFromValue
+504 (int (*)(...))-0x00000000000000010
+512 (int (*)(...))(& _ZTI14QDoubleSpinBox)
+520 QDoubleSpinBox::_ZThn16_N14QDoubleSpinBoxD1Ev
+528 QDoubleSpinBox::_ZThn16_N14QDoubleSpinBoxD0Ev
+536 QWidget::_ZThn16_NK7QWidget7devTypeEv
+544 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+552 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QDoubleSpinBox
+ size=40 align=8
+ base size=40 base align=8
+QDoubleSpinBox (0x7f1dec274700) 0
+ vptr=((& QDoubleSpinBox::_ZTV14QDoubleSpinBox) + 16u)
+ QAbstractSpinBox (0x7f1dec274770) 0
+ primary-for QDoubleSpinBox (0x7f1dec274700)
+ QWidget (0x7f1dec271880) 0
+ primary-for QAbstractSpinBox (0x7f1dec274770)
+ QObject (0x7f1dec2747e0) 0
+ primary-for QWidget (0x7f1dec271880)
+ QPaintDevice (0x7f1dec274850) 16
+ vptr=((& QDoubleSpinBox::_ZTV14QDoubleSpinBox) + 520u)
+
+Vtable for QLCDNumber
+QLCDNumber::_ZTV10QLCDNumber: 63u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QLCDNumber)
+16 QLCDNumber::metaObject
+24 QLCDNumber::qt_metacast
+32 QLCDNumber::qt_metacall
+40 QLCDNumber::~QLCDNumber
+48 QLCDNumber::~QLCDNumber
+56 QLCDNumber::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QLCDNumber::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QLCDNumber::paintEvent
+256 QWidget::moveEvent
+264 QWidget::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QFrame::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 (int (*)(...))-0x00000000000000010
+456 (int (*)(...))(& _ZTI10QLCDNumber)
+464 QLCDNumber::_ZThn16_N10QLCDNumberD1Ev
+472 QLCDNumber::_ZThn16_N10QLCDNumberD0Ev
+480 QWidget::_ZThn16_NK7QWidget7devTypeEv
+488 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+496 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QLCDNumber
+ size=40 align=8
+ base size=40 base align=8
+QLCDNumber (0x7f1dec2951c0) 0
+ vptr=((& QLCDNumber::_ZTV10QLCDNumber) + 16u)
+ QFrame (0x7f1dec295230) 0
+ primary-for QLCDNumber (0x7f1dec2951c0)
+ QWidget (0x7f1dec294180) 0
+ primary-for QFrame (0x7f1dec295230)
+ QObject (0x7f1dec2952a0) 0
+ primary-for QWidget (0x7f1dec294180)
+ QPaintDevice (0x7f1dec295310) 16
+ vptr=((& QLCDNumber::_ZTV10QLCDNumber) + 464u)
+
+Vtable for QStackedWidget
+QStackedWidget::_ZTV14QStackedWidget: 63u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QStackedWidget)
+16 QStackedWidget::metaObject
+24 QStackedWidget::qt_metacast
+32 QStackedWidget::qt_metacall
+40 QStackedWidget::~QStackedWidget
+48 QStackedWidget::~QStackedWidget
+56 QStackedWidget::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QFrame::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QFrame::paintEvent
+256 QWidget::moveEvent
+264 QWidget::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QFrame::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 (int (*)(...))-0x00000000000000010
+456 (int (*)(...))(& _ZTI14QStackedWidget)
+464 QStackedWidget::_ZThn16_N14QStackedWidgetD1Ev
+472 QStackedWidget::_ZThn16_N14QStackedWidgetD0Ev
+480 QWidget::_ZThn16_NK7QWidget7devTypeEv
+488 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+496 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QStackedWidget
+ size=40 align=8
+ base size=40 base align=8
+QStackedWidget (0x7f1dec2b6d20) 0
+ vptr=((& QStackedWidget::_ZTV14QStackedWidget) + 16u)
+ QFrame (0x7f1dec2b6d90) 0
+ primary-for QStackedWidget (0x7f1dec2b6d20)
+ QWidget (0x7f1dec2bb200) 0
+ primary-for QFrame (0x7f1dec2b6d90)
+ QObject (0x7f1dec2b6e00) 0
+ primary-for QWidget (0x7f1dec2bb200)
+ QPaintDevice (0x7f1dec2b6e70) 16
+ vptr=((& QStackedWidget::_ZTV14QStackedWidget) + 464u)
+
+Vtable for QMdiArea
+QMdiArea::_ZTV8QMdiArea: 65u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI8QMdiArea)
+16 QMdiArea::metaObject
+24 QMdiArea::qt_metacast
+32 QMdiArea::qt_metacall
+40 QMdiArea::~QMdiArea
+48 QMdiArea::~QMdiArea
+56 QMdiArea::event
+64 QMdiArea::eventFilter
+72 QMdiArea::timerEvent
+80 QMdiArea::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QMdiArea::sizeHint
+136 QMdiArea::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QAbstractScrollArea::mousePressEvent
+168 QAbstractScrollArea::mouseReleaseEvent
+176 QAbstractScrollArea::mouseDoubleClickEvent
+184 QAbstractScrollArea::mouseMoveEvent
+192 QAbstractScrollArea::wheelEvent
+200 QAbstractScrollArea::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QMdiArea::paintEvent
+256 QWidget::moveEvent
+264 QMdiArea::resizeEvent
+272 QWidget::closeEvent
+280 QAbstractScrollArea::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QAbstractScrollArea::dragEnterEvent
+312 QAbstractScrollArea::dragMoveEvent
+320 QAbstractScrollArea::dragLeaveEvent
+328 QAbstractScrollArea::dropEvent
+336 QMdiArea::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QFrame::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QMdiArea::viewportEvent
+456 QMdiArea::scrollContentsBy
+464 (int (*)(...))-0x00000000000000010
+472 (int (*)(...))(& _ZTI8QMdiArea)
+480 QMdiArea::_ZThn16_N8QMdiAreaD1Ev
+488 QMdiArea::_ZThn16_N8QMdiAreaD0Ev
+496 QWidget::_ZThn16_NK7QWidget7devTypeEv
+504 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+512 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QMdiArea
+ size=40 align=8
+ base size=40 base align=8
+QMdiArea (0x7f1dec2d2bd0) 0
+ vptr=((& QMdiArea::_ZTV8QMdiArea) + 16u)
+ QAbstractScrollArea (0x7f1dec2d2c40) 0
+ primary-for QMdiArea (0x7f1dec2d2bd0)
+ QFrame (0x7f1dec2d2cb0) 0
+ primary-for QAbstractScrollArea (0x7f1dec2d2c40)
+ QWidget (0x7f1dec2bbb00) 0
+ primary-for QFrame (0x7f1dec2d2cb0)
+ QObject (0x7f1dec2d2d20) 0
+ primary-for QWidget (0x7f1dec2bbb00)
+ QPaintDevice (0x7f1dec2d2d90) 16
+ vptr=((& QMdiArea::_ZTV8QMdiArea) + 480u)
+
+Vtable for QPushButton
+QPushButton::_ZTV11QPushButton: 66u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QPushButton)
+16 QPushButton::metaObject
+24 QPushButton::qt_metacast
+32 QPushButton::qt_metacall
+40 QPushButton::~QPushButton
+48 QPushButton::~QPushButton
+56 QPushButton::event
+64 QObject::eventFilter
+72 QAbstractButton::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QPushButton::sizeHint
+136 QPushButton::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QAbstractButton::mousePressEvent
+168 QAbstractButton::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QAbstractButton::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QPushButton::keyPressEvent
+208 QAbstractButton::keyReleaseEvent
+216 QPushButton::focusInEvent
+224 QPushButton::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QPushButton::paintEvent
+256 QWidget::moveEvent
+264 QWidget::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QAbstractButton::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QAbstractButton::hitButton
+456 QAbstractButton::checkStateSet
+464 QAbstractButton::nextCheckState
+472 (int (*)(...))-0x00000000000000010
+480 (int (*)(...))(& _ZTI11QPushButton)
+488 QPushButton::_ZThn16_N11QPushButtonD1Ev
+496 QPushButton::_ZThn16_N11QPushButtonD0Ev
+504 QWidget::_ZThn16_NK7QWidget7devTypeEv
+512 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+520 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QPushButton
+ size=40 align=8
+ base size=40 base align=8
+QPushButton (0x7f1dec147150) 0
+ vptr=((& QPushButton::_ZTV11QPushButton) + 16u)
+ QAbstractButton (0x7f1dec1471c0) 0
+ primary-for QPushButton (0x7f1dec147150)
+ QWidget (0x7f1dec2f7d00) 0
+ primary-for QAbstractButton (0x7f1dec1471c0)
+ QObject (0x7f1dec147230) 0
+ primary-for QWidget (0x7f1dec2f7d00)
+ QPaintDevice (0x7f1dec1472a0) 16
+ vptr=((& QPushButton::_ZTV11QPushButton) + 488u)
+
+Vtable for QMdiSubWindow
+QMdiSubWindow::_ZTV13QMdiSubWindow: 63u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QMdiSubWindow)
+16 QMdiSubWindow::metaObject
+24 QMdiSubWindow::qt_metacast
+32 QMdiSubWindow::qt_metacall
+40 QMdiSubWindow::~QMdiSubWindow
+48 QMdiSubWindow::~QMdiSubWindow
+56 QMdiSubWindow::event
+64 QMdiSubWindow::eventFilter
+72 QMdiSubWindow::timerEvent
+80 QMdiSubWindow::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QMdiSubWindow::sizeHint
+136 QMdiSubWindow::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QMdiSubWindow::mousePressEvent
+168 QMdiSubWindow::mouseReleaseEvent
+176 QMdiSubWindow::mouseDoubleClickEvent
+184 QMdiSubWindow::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QMdiSubWindow::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QMdiSubWindow::focusInEvent
+224 QMdiSubWindow::focusOutEvent
+232 QWidget::enterEvent
+240 QMdiSubWindow::leaveEvent
+248 QMdiSubWindow::paintEvent
+256 QMdiSubWindow::moveEvent
+264 QMdiSubWindow::resizeEvent
+272 QMdiSubWindow::closeEvent
+280 QMdiSubWindow::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QMdiSubWindow::showEvent
+344 QMdiSubWindow::hideEvent
+352 QWidget::x11Event
+360 QMdiSubWindow::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 (int (*)(...))-0x00000000000000010
+456 (int (*)(...))(& _ZTI13QMdiSubWindow)
+464 QMdiSubWindow::_ZThn16_N13QMdiSubWindowD1Ev
+472 QMdiSubWindow::_ZThn16_N13QMdiSubWindowD0Ev
+480 QWidget::_ZThn16_NK7QWidget7devTypeEv
+488 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+496 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QMdiSubWindow
+ size=40 align=8
+ base size=40 base align=8
+QMdiSubWindow (0x7f1dec16ba80) 0
+ vptr=((& QMdiSubWindow::_ZTV13QMdiSubWindow) + 16u)
+ QWidget (0x7f1dec162c00) 0
+ primary-for QMdiSubWindow (0x7f1dec16ba80)
+ QObject (0x7f1dec16baf0) 0
+ primary-for QWidget (0x7f1dec162c00)
+ QPaintDevice (0x7f1dec16bb60) 16
+ vptr=((& QMdiSubWindow::_ZTV13QMdiSubWindow) + 464u)
+
+Vtable for QSplashScreen
+QSplashScreen::_ZTV13QSplashScreen: 64u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QSplashScreen)
+16 QSplashScreen::metaObject
+24 QSplashScreen::qt_metacast
+32 QSplashScreen::qt_metacall
+40 QSplashScreen::~QSplashScreen
+48 QSplashScreen::~QSplashScreen
+56 QSplashScreen::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QWidget::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QSplashScreen::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QWidget::paintEvent
+256 QWidget::moveEvent
+264 QWidget::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QWidget::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QSplashScreen::drawContents
+456 (int (*)(...))-0x00000000000000010
+464 (int (*)(...))(& _ZTI13QSplashScreen)
+472 QSplashScreen::_ZThn16_N13QSplashScreenD1Ev
+480 QSplashScreen::_ZThn16_N13QSplashScreenD0Ev
+488 QWidget::_ZThn16_NK7QWidget7devTypeEv
+496 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+504 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QSplashScreen
+ size=40 align=8
+ base size=40 base align=8
+QSplashScreen (0x7f1dec1be930) 0
+ vptr=((& QSplashScreen::_ZTV13QSplashScreen) + 16u)
+ QWidget (0x7f1dec18cd00) 0
+ primary-for QSplashScreen (0x7f1dec1be930)
+ QObject (0x7f1dec1be9a0) 0
+ primary-for QWidget (0x7f1dec18cd00)
+ QPaintDevice (0x7f1dec1bea10) 16
+ vptr=((& QSplashScreen::_ZTV13QSplashScreen) + 472u)
+
+Vtable for QDateTimeEdit
+QDateTimeEdit::_ZTV13QDateTimeEdit: 70u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QDateTimeEdit)
+16 QDateTimeEdit::metaObject
+24 QDateTimeEdit::qt_metacast
+32 QDateTimeEdit::qt_metacall
+40 QDateTimeEdit::~QDateTimeEdit
+48 QDateTimeEdit::~QDateTimeEdit
+56 QDateTimeEdit::event
+64 QObject::eventFilter
+72 QAbstractSpinBox::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QDateTimeEdit::sizeHint
+136 QAbstractSpinBox::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QDateTimeEdit::mousePressEvent
+168 QAbstractSpinBox::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QAbstractSpinBox::mouseMoveEvent
+192 QDateTimeEdit::wheelEvent
+200 QDateTimeEdit::keyPressEvent
+208 QAbstractSpinBox::keyReleaseEvent
+216 QDateTimeEdit::focusInEvent
+224 QAbstractSpinBox::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QDateTimeEdit::paintEvent
+256 QWidget::moveEvent
+264 QAbstractSpinBox::resizeEvent
+272 QAbstractSpinBox::closeEvent
+280 QAbstractSpinBox::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QAbstractSpinBox::showEvent
+344 QAbstractSpinBox::hideEvent
+352 QWidget::x11Event
+360 QAbstractSpinBox::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QDateTimeEdit::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QDateTimeEdit::validate
+456 QDateTimeEdit::fixup
+464 QDateTimeEdit::stepBy
+472 QDateTimeEdit::clear
+480 QDateTimeEdit::stepEnabled
+488 QDateTimeEdit::dateTimeFromText
+496 QDateTimeEdit::textFromDateTime
+504 (int (*)(...))-0x00000000000000010
+512 (int (*)(...))(& _ZTI13QDateTimeEdit)
+520 QDateTimeEdit::_ZThn16_N13QDateTimeEditD1Ev
+528 QDateTimeEdit::_ZThn16_N13QDateTimeEditD0Ev
+536 QWidget::_ZThn16_NK7QWidget7devTypeEv
+544 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+552 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QDateTimeEdit
+ size=40 align=8
+ base size=40 base align=8
+QDateTimeEdit (0x7f1dec1f9a10) 0
+ vptr=((& QDateTimeEdit::_ZTV13QDateTimeEdit) + 16u)
+ QAbstractSpinBox (0x7f1dec1f9a80) 0
+ primary-for QDateTimeEdit (0x7f1dec1f9a10)
+ QWidget (0x7f1dec1f2880) 0
+ primary-for QAbstractSpinBox (0x7f1dec1f9a80)
+ QObject (0x7f1dec1f9af0) 0
+ primary-for QWidget (0x7f1dec1f2880)
+ QPaintDevice (0x7f1dec1f9b60) 16
+ vptr=((& QDateTimeEdit::_ZTV13QDateTimeEdit) + 520u)
+
+Vtable for QTimeEdit
+QTimeEdit::_ZTV9QTimeEdit: 70u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QTimeEdit)
+16 QTimeEdit::metaObject
+24 QTimeEdit::qt_metacast
+32 QTimeEdit::qt_metacall
+40 QTimeEdit::~QTimeEdit
+48 QTimeEdit::~QTimeEdit
+56 QDateTimeEdit::event
+64 QObject::eventFilter
+72 QAbstractSpinBox::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QDateTimeEdit::sizeHint
+136 QAbstractSpinBox::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QDateTimeEdit::mousePressEvent
+168 QAbstractSpinBox::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QAbstractSpinBox::mouseMoveEvent
+192 QDateTimeEdit::wheelEvent
+200 QDateTimeEdit::keyPressEvent
+208 QAbstractSpinBox::keyReleaseEvent
+216 QDateTimeEdit::focusInEvent
+224 QAbstractSpinBox::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QDateTimeEdit::paintEvent
+256 QWidget::moveEvent
+264 QAbstractSpinBox::resizeEvent
+272 QAbstractSpinBox::closeEvent
+280 QAbstractSpinBox::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QAbstractSpinBox::showEvent
+344 QAbstractSpinBox::hideEvent
+352 QWidget::x11Event
+360 QAbstractSpinBox::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QDateTimeEdit::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QDateTimeEdit::validate
+456 QDateTimeEdit::fixup
+464 QDateTimeEdit::stepBy
+472 QDateTimeEdit::clear
+480 QDateTimeEdit::stepEnabled
+488 QDateTimeEdit::dateTimeFromText
+496 QDateTimeEdit::textFromDateTime
+504 (int (*)(...))-0x00000000000000010
+512 (int (*)(...))(& _ZTI9QTimeEdit)
+520 QTimeEdit::_ZThn16_N9QTimeEditD1Ev
+528 QTimeEdit::_ZThn16_N9QTimeEditD0Ev
+536 QWidget::_ZThn16_NK7QWidget7devTypeEv
+544 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+552 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QTimeEdit
+ size=40 align=8
+ base size=40 base align=8
+QTimeEdit (0x7f1dec229930) 0
+ vptr=((& QTimeEdit::_ZTV9QTimeEdit) + 16u)
+ QDateTimeEdit (0x7f1dec2299a0) 0
+ primary-for QTimeEdit (0x7f1dec229930)
+ QAbstractSpinBox (0x7f1dec229a10) 0
+ primary-for QDateTimeEdit (0x7f1dec2299a0)
+ QWidget (0x7f1dec221700) 0
+ primary-for QAbstractSpinBox (0x7f1dec229a10)
+ QObject (0x7f1dec229a80) 0
+ primary-for QWidget (0x7f1dec221700)
+ QPaintDevice (0x7f1dec229af0) 16
+ vptr=((& QTimeEdit::_ZTV9QTimeEdit) + 520u)
+
+Vtable for QDateEdit
+QDateEdit::_ZTV9QDateEdit: 70u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QDateEdit)
+16 QDateEdit::metaObject
+24 QDateEdit::qt_metacast
+32 QDateEdit::qt_metacall
+40 QDateEdit::~QDateEdit
+48 QDateEdit::~QDateEdit
+56 QDateTimeEdit::event
+64 QObject::eventFilter
+72 QAbstractSpinBox::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QDateTimeEdit::sizeHint
+136 QAbstractSpinBox::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QDateTimeEdit::mousePressEvent
+168 QAbstractSpinBox::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QAbstractSpinBox::mouseMoveEvent
+192 QDateTimeEdit::wheelEvent
+200 QDateTimeEdit::keyPressEvent
+208 QAbstractSpinBox::keyReleaseEvent
+216 QDateTimeEdit::focusInEvent
+224 QAbstractSpinBox::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QDateTimeEdit::paintEvent
+256 QWidget::moveEvent
+264 QAbstractSpinBox::resizeEvent
+272 QAbstractSpinBox::closeEvent
+280 QAbstractSpinBox::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QAbstractSpinBox::showEvent
+344 QAbstractSpinBox::hideEvent
+352 QWidget::x11Event
+360 QAbstractSpinBox::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QDateTimeEdit::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QDateTimeEdit::validate
+456 QDateTimeEdit::fixup
+464 QDateTimeEdit::stepBy
+472 QDateTimeEdit::clear
+480 QDateTimeEdit::stepEnabled
+488 QDateTimeEdit::dateTimeFromText
+496 QDateTimeEdit::textFromDateTime
+504 (int (*)(...))-0x00000000000000010
+512 (int (*)(...))(& _ZTI9QDateEdit)
+520 QDateEdit::_ZThn16_N9QDateEditD1Ev
+528 QDateEdit::_ZThn16_N9QDateEditD0Ev
+536 QWidget::_ZThn16_NK7QWidget7devTypeEv
+544 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+552 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QDateEdit
+ size=40 align=8
+ base size=40 base align=8
+QDateEdit (0x7f1dec23ba10) 0
+ vptr=((& QDateEdit::_ZTV9QDateEdit) + 16u)
+ QDateTimeEdit (0x7f1dec23ba80) 0
+ primary-for QDateEdit (0x7f1dec23ba10)
+ QAbstractSpinBox (0x7f1dec23baf0) 0
+ primary-for QDateTimeEdit (0x7f1dec23ba80)
+ QWidget (0x7f1dec221e00) 0
+ primary-for QAbstractSpinBox (0x7f1dec23baf0)
+ QObject (0x7f1dec23bb60) 0
+ primary-for QWidget (0x7f1dec221e00)
+ QPaintDevice (0x7f1dec23bbd0) 16
+ vptr=((& QDateEdit::_ZTV9QDateEdit) + 520u)
+
+Vtable for QLabel
+QLabel::_ZTV6QLabel: 63u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI6QLabel)
+16 QLabel::metaObject
+24 QLabel::qt_metacast
+32 QLabel::qt_metacall
+40 QLabel::~QLabel
+48 QLabel::~QLabel
+56 QLabel::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QLabel::sizeHint
+136 QLabel::minimumSizeHint
+144 QLabel::heightForWidth
+152 QWidget::paintEngine
+160 QLabel::mousePressEvent
+168 QLabel::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QLabel::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QLabel::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QLabel::focusInEvent
+224 QLabel::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QLabel::paintEvent
+256 QWidget::moveEvent
+264 QWidget::resizeEvent
+272 QWidget::closeEvent
+280 QLabel::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QLabel::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QLabel::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 (int (*)(...))-0x00000000000000010
+456 (int (*)(...))(& _ZTI6QLabel)
+464 QLabel::_ZThn16_N6QLabelD1Ev
+472 QLabel::_ZThn16_N6QLabelD0Ev
+480 QWidget::_ZThn16_NK7QWidget7devTypeEv
+488 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+496 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QLabel
+ size=40 align=8
+ base size=40 base align=8
+QLabel (0x7f1dec0817e0) 0
+ vptr=((& QLabel::_ZTV6QLabel) + 16u)
+ QFrame (0x7f1dec081850) 0
+ primary-for QLabel (0x7f1dec0817e0)
+ QWidget (0x7f1dec050a80) 0
+ primary-for QFrame (0x7f1dec081850)
+ QObject (0x7f1dec0818c0) 0
+ primary-for QWidget (0x7f1dec050a80)
+ QPaintDevice (0x7f1dec081930) 16
+ vptr=((& QLabel::_ZTV6QLabel) + 464u)
+
+Vtable for QDockWidget
+QDockWidget::_ZTV11QDockWidget: 63u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QDockWidget)
+16 QDockWidget::metaObject
+24 QDockWidget::qt_metacast
+32 QDockWidget::qt_metacall
+40 QDockWidget::~QDockWidget
+48 QDockWidget::~QDockWidget
+56 QDockWidget::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QWidget::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QDockWidget::paintEvent
+256 QWidget::moveEvent
+264 QWidget::resizeEvent
+272 QDockWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QDockWidget::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 (int (*)(...))-0x00000000000000010
+456 (int (*)(...))(& _ZTI11QDockWidget)
+464 QDockWidget::_ZThn16_N11QDockWidgetD1Ev
+472 QDockWidget::_ZThn16_N11QDockWidgetD0Ev
+480 QWidget::_ZThn16_NK7QWidget7devTypeEv
+488 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+496 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QDockWidget
+ size=40 align=8
+ base size=40 base align=8
+QDockWidget (0x7f1dec0ca930) 0
+ vptr=((& QDockWidget::_ZTV11QDockWidget) + 16u)
+ QWidget (0x7f1dec0c6580) 0
+ primary-for QDockWidget (0x7f1dec0ca930)
+ QObject (0x7f1dec0ca9a0) 0
+ primary-for QWidget (0x7f1dec0c6580)
+ QPaintDevice (0x7f1dec0caa10) 16
+ vptr=((& QDockWidget::_ZTV11QDockWidget) + 464u)
+
+Vtable for QGroupBox
+QGroupBox::_ZTV9QGroupBox: 63u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QGroupBox)
+16 QGroupBox::metaObject
+24 QGroupBox::qt_metacast
+32 QGroupBox::qt_metacall
+40 QGroupBox::~QGroupBox
+48 QGroupBox::~QGroupBox
+56 QGroupBox::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QGroupBox::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QWidget::sizeHint
+136 QGroupBox::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QGroupBox::mousePressEvent
+168 QGroupBox::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QGroupBox::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QGroupBox::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QGroupBox::paintEvent
+256 QWidget::moveEvent
+264 QGroupBox::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QGroupBox::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 (int (*)(...))-0x00000000000000010
+456 (int (*)(...))(& _ZTI9QGroupBox)
+464 QGroupBox::_ZThn16_N9QGroupBoxD1Ev
+472 QGroupBox::_ZThn16_N9QGroupBoxD0Ev
+480 QWidget::_ZThn16_NK7QWidget7devTypeEv
+488 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+496 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QGroupBox
+ size=40 align=8
+ base size=40 base align=8
+QGroupBox (0x7f1debf46380) 0
+ vptr=((& QGroupBox::_ZTV9QGroupBox) + 16u)
+ QWidget (0x7f1dec0eec80) 0
+ primary-for QGroupBox (0x7f1debf46380)
+ QObject (0x7f1debf463f0) 0
+ primary-for QWidget (0x7f1dec0eec80)
+ QPaintDevice (0x7f1debf46460) 16
+ vptr=((& QGroupBox::_ZTV9QGroupBox) + 464u)
+
+Vtable for QDialogButtonBox
+QDialogButtonBox::_ZTV16QDialogButtonBox: 63u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QDialogButtonBox)
+16 QDialogButtonBox::metaObject
+24 QDialogButtonBox::qt_metacast
+32 QDialogButtonBox::qt_metacall
+40 QDialogButtonBox::~QDialogButtonBox
+48 QDialogButtonBox::~QDialogButtonBox
+56 QDialogButtonBox::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QWidget::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QWidget::paintEvent
+256 QWidget::moveEvent
+264 QWidget::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QDialogButtonBox::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 (int (*)(...))-0x00000000000000010
+456 (int (*)(...))(& _ZTI16QDialogButtonBox)
+464 QDialogButtonBox::_ZThn16_N16QDialogButtonBoxD1Ev
+472 QDialogButtonBox::_ZThn16_N16QDialogButtonBoxD0Ev
+480 QWidget::_ZThn16_NK7QWidget7devTypeEv
+488 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+496 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QDialogButtonBox
+ size=40 align=8
+ base size=40 base align=8
+QDialogButtonBox (0x7f1debf67000) 0
+ vptr=((& QDialogButtonBox::_ZTV16QDialogButtonBox) + 16u)
+ QWidget (0x7f1debf5f580) 0
+ primary-for QDialogButtonBox (0x7f1debf67000)
+ QObject (0x7f1debf67070) 0
+ primary-for QWidget (0x7f1debf5f580)
+ QPaintDevice (0x7f1debf670e0) 16
+ vptr=((& QDialogButtonBox::_ZTV16QDialogButtonBox) + 464u)
+
+Vtable for QMainWindow
+QMainWindow::_ZTV11QMainWindow: 64u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QMainWindow)
+16 QMainWindow::metaObject
+24 QMainWindow::qt_metacast
+32 QMainWindow::qt_metacall
+40 QMainWindow::~QMainWindow
+48 QMainWindow::~QMainWindow
+56 QMainWindow::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QWidget::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QWidget::paintEvent
+256 QWidget::moveEvent
+264 QWidget::resizeEvent
+272 QWidget::closeEvent
+280 QMainWindow::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QWidget::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QMainWindow::createPopupMenu
+456 (int (*)(...))-0x00000000000000010
+464 (int (*)(...))(& _ZTI11QMainWindow)
+472 QMainWindow::_ZThn16_N11QMainWindowD1Ev
+480 QMainWindow::_ZThn16_N11QMainWindowD0Ev
+488 QWidget::_ZThn16_NK7QWidget7devTypeEv
+496 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+504 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QMainWindow
+ size=40 align=8
+ base size=40 base align=8
+QMainWindow (0x7f1debfd84d0) 0
+ vptr=((& QMainWindow::_ZTV11QMainWindow) + 16u)
+ QWidget (0x7f1debf8f600) 0
+ primary-for QMainWindow (0x7f1debfd84d0)
+ QObject (0x7f1debfd8540) 0
+ primary-for QWidget (0x7f1debf8f600)
+ QPaintDevice (0x7f1debfd85b0) 16
+ vptr=((& QMainWindow::_ZTV11QMainWindow) + 472u)
+
+Class QTextEdit::ExtraSelection
+ size=24 align=8
+ base size=24 base align=8
+QTextEdit::ExtraSelection (0x7f1debe5b770) 0
+
+Vtable for QTextEdit
+QTextEdit::_ZTV9QTextEdit: 69u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QTextEdit)
+16 QTextEdit::metaObject
+24 QTextEdit::qt_metacast
+32 QTextEdit::qt_metacall
+40 QTextEdit::~QTextEdit
+48 QTextEdit::~QTextEdit
+56 QTextEdit::event
+64 QObject::eventFilter
+72 QTextEdit::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QAbstractScrollArea::sizeHint
+136 QAbstractScrollArea::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QTextEdit::mousePressEvent
+168 QTextEdit::mouseReleaseEvent
+176 QTextEdit::mouseDoubleClickEvent
+184 QTextEdit::mouseMoveEvent
+192 QTextEdit::wheelEvent
+200 QTextEdit::keyPressEvent
+208 QTextEdit::keyReleaseEvent
+216 QTextEdit::focusInEvent
+224 QTextEdit::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QTextEdit::paintEvent
+256 QWidget::moveEvent
+264 QTextEdit::resizeEvent
+272 QWidget::closeEvent
+280 QTextEdit::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QTextEdit::dragEnterEvent
+312 QTextEdit::dragMoveEvent
+320 QTextEdit::dragLeaveEvent
+328 QTextEdit::dropEvent
+336 QTextEdit::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QTextEdit::changeEvent
+368 QWidget::metric
+376 QTextEdit::inputMethodEvent
+384 QTextEdit::inputMethodQuery
+392 QTextEdit::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QAbstractScrollArea::viewportEvent
+456 QTextEdit::scrollContentsBy
+464 QTextEdit::loadResource
+472 QTextEdit::createMimeDataFromSelection
+480 QTextEdit::canInsertFromMimeData
+488 QTextEdit::insertFromMimeData
+496 (int (*)(...))-0x00000000000000010
+504 (int (*)(...))(& _ZTI9QTextEdit)
+512 QTextEdit::_ZThn16_N9QTextEditD1Ev
+520 QTextEdit::_ZThn16_N9QTextEditD0Ev
+528 QWidget::_ZThn16_NK7QWidget7devTypeEv
+536 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+544 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QTextEdit
+ size=40 align=8
+ base size=40 base align=8
+QTextEdit (0x7f1dec0327e0) 0
+ vptr=((& QTextEdit::_ZTV9QTextEdit) + 16u)
+ QAbstractScrollArea (0x7f1dec032850) 0
+ primary-for QTextEdit (0x7f1dec0327e0)
+ QFrame (0x7f1dec0328c0) 0
+ primary-for QAbstractScrollArea (0x7f1dec032850)
+ QWidget (0x7f1dec005700) 0
+ primary-for QFrame (0x7f1dec0328c0)
+ QObject (0x7f1dec032930) 0
+ primary-for QWidget (0x7f1dec005700)
+ QPaintDevice (0x7f1dec0329a0) 16
+ vptr=((& QTextEdit::_ZTV9QTextEdit) + 512u)
+
+Vtable for QPlainTextEdit
+QPlainTextEdit::_ZTV14QPlainTextEdit: 69u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QPlainTextEdit)
+16 QPlainTextEdit::metaObject
+24 QPlainTextEdit::qt_metacast
+32 QPlainTextEdit::qt_metacall
+40 QPlainTextEdit::~QPlainTextEdit
+48 QPlainTextEdit::~QPlainTextEdit
+56 QPlainTextEdit::event
+64 QObject::eventFilter
+72 QPlainTextEdit::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QAbstractScrollArea::sizeHint
+136 QAbstractScrollArea::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QPlainTextEdit::mousePressEvent
+168 QPlainTextEdit::mouseReleaseEvent
+176 QPlainTextEdit::mouseDoubleClickEvent
+184 QPlainTextEdit::mouseMoveEvent
+192 QPlainTextEdit::wheelEvent
+200 QPlainTextEdit::keyPressEvent
+208 QPlainTextEdit::keyReleaseEvent
+216 QPlainTextEdit::focusInEvent
+224 QPlainTextEdit::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QPlainTextEdit::paintEvent
+256 QWidget::moveEvent
+264 QPlainTextEdit::resizeEvent
+272 QWidget::closeEvent
+280 QPlainTextEdit::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QPlainTextEdit::dragEnterEvent
+312 QPlainTextEdit::dragMoveEvent
+320 QPlainTextEdit::dragLeaveEvent
+328 QPlainTextEdit::dropEvent
+336 QPlainTextEdit::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QPlainTextEdit::changeEvent
+368 QWidget::metric
+376 QPlainTextEdit::inputMethodEvent
+384 QPlainTextEdit::inputMethodQuery
+392 QPlainTextEdit::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QAbstractScrollArea::viewportEvent
+456 QPlainTextEdit::scrollContentsBy
+464 QPlainTextEdit::loadResource
+472 QPlainTextEdit::createMimeDataFromSelection
+480 QPlainTextEdit::canInsertFromMimeData
+488 QPlainTextEdit::insertFromMimeData
+496 (int (*)(...))-0x00000000000000010
+504 (int (*)(...))(& _ZTI14QPlainTextEdit)
+512 QPlainTextEdit::_ZThn16_N14QPlainTextEditD1Ev
+520 QPlainTextEdit::_ZThn16_N14QPlainTextEditD0Ev
+528 QWidget::_ZThn16_NK7QWidget7devTypeEv
+536 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+544 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QPlainTextEdit
+ size=40 align=8
+ base size=40 base align=8
+QPlainTextEdit (0x7f1debef2930) 0
+ vptr=((& QPlainTextEdit::_ZTV14QPlainTextEdit) + 16u)
+ QAbstractScrollArea (0x7f1debef29a0) 0
+ primary-for QPlainTextEdit (0x7f1debef2930)
+ QFrame (0x7f1debef2a10) 0
+ primary-for QAbstractScrollArea (0x7f1debef29a0)
+ QWidget (0x7f1debec4f00) 0
+ primary-for QFrame (0x7f1debef2a10)
+ QObject (0x7f1debef2a80) 0
+ primary-for QWidget (0x7f1debec4f00)
+ QPaintDevice (0x7f1debef2af0) 16
+ vptr=((& QPlainTextEdit::_ZTV14QPlainTextEdit) + 512u)
+
+Vtable for QPlainTextDocumentLayout
+QPlainTextDocumentLayout::_ZTV24QPlainTextDocumentLayout: 24u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI24QPlainTextDocumentLayout)
+16 QPlainTextDocumentLayout::metaObject
+24 QPlainTextDocumentLayout::qt_metacast
+32 QPlainTextDocumentLayout::qt_metacall
+40 QPlainTextDocumentLayout::~QPlainTextDocumentLayout
+48 QPlainTextDocumentLayout::~QPlainTextDocumentLayout
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QPlainTextDocumentLayout::draw
+120 QPlainTextDocumentLayout::hitTest
+128 QPlainTextDocumentLayout::pageCount
+136 QPlainTextDocumentLayout::documentSize
+144 QPlainTextDocumentLayout::frameBoundingRect
+152 QPlainTextDocumentLayout::blockBoundingRect
+160 QPlainTextDocumentLayout::documentChanged
+168 QAbstractTextDocumentLayout::resizeInlineObject
+176 QAbstractTextDocumentLayout::positionInlineObject
+184 QAbstractTextDocumentLayout::drawInlineObject
+
+Class QPlainTextDocumentLayout
+ size=16 align=8
+ base size=16 base align=8
+QPlainTextDocumentLayout (0x7f1debd51700) 0
+ vptr=((& QPlainTextDocumentLayout::_ZTV24QPlainTextDocumentLayout) + 16u)
+ QAbstractTextDocumentLayout (0x7f1debd51770) 0
+ primary-for QPlainTextDocumentLayout (0x7f1debd51700)
+ QObject (0x7f1debd517e0) 0
+ primary-for QAbstractTextDocumentLayout (0x7f1debd51770)
+
+Vtable for QProgressBar
+QProgressBar::_ZTV12QProgressBar: 64u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QProgressBar)
+16 QProgressBar::metaObject
+24 QProgressBar::qt_metacast
+32 QProgressBar::qt_metacall
+40 QProgressBar::~QProgressBar
+48 QProgressBar::~QProgressBar
+56 QProgressBar::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QProgressBar::sizeHint
+136 QProgressBar::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QProgressBar::paintEvent
+256 QWidget::moveEvent
+264 QWidget::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QWidget::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QProgressBar::text
+456 (int (*)(...))-0x00000000000000010
+464 (int (*)(...))(& _ZTI12QProgressBar)
+472 QProgressBar::_ZThn16_N12QProgressBarD1Ev
+480 QProgressBar::_ZThn16_N12QProgressBarD0Ev
+488 QWidget::_ZThn16_NK7QWidget7devTypeEv
+496 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+504 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QProgressBar
+ size=40 align=8
+ base size=40 base align=8
+QProgressBar (0x7f1debd65bd0) 0
+ vptr=((& QProgressBar::_ZTV12QProgressBar) + 16u)
+ QWidget (0x7f1debd50f00) 0
+ primary-for QProgressBar (0x7f1debd65bd0)
+ QObject (0x7f1debd65c40) 0
+ primary-for QWidget (0x7f1debd50f00)
+ QPaintDevice (0x7f1debd65cb0) 16
+ vptr=((& QProgressBar::_ZTV12QProgressBar) + 472u)
+
+Vtable for QScrollBar
+QScrollBar::_ZTV10QScrollBar: 64u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QScrollBar)
+16 QScrollBar::metaObject
+24 QScrollBar::qt_metacast
+32 QScrollBar::qt_metacall
+40 QScrollBar::~QScrollBar
+48 QScrollBar::~QScrollBar
+56 QScrollBar::event
+64 QObject::eventFilter
+72 QAbstractSlider::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QScrollBar::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QScrollBar::mousePressEvent
+168 QScrollBar::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QScrollBar::mouseMoveEvent
+192 QAbstractSlider::wheelEvent
+200 QAbstractSlider::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QScrollBar::paintEvent
+256 QWidget::moveEvent
+264 QWidget::resizeEvent
+272 QWidget::closeEvent
+280 QScrollBar::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QScrollBar::hideEvent
+352 QWidget::x11Event
+360 QAbstractSlider::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QScrollBar::sliderChange
+456 (int (*)(...))-0x00000000000000010
+464 (int (*)(...))(& _ZTI10QScrollBar)
+472 QScrollBar::_ZThn16_N10QScrollBarD1Ev
+480 QScrollBar::_ZThn16_N10QScrollBarD0Ev
+488 QWidget::_ZThn16_NK7QWidget7devTypeEv
+496 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+504 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QScrollBar
+ size=40 align=8
+ base size=40 base align=8
+QScrollBar (0x7f1debd8aa10) 0
+ vptr=((& QScrollBar::_ZTV10QScrollBar) + 16u)
+ QAbstractSlider (0x7f1debd8aa80) 0
+ primary-for QScrollBar (0x7f1debd8aa10)
+ QWidget (0x7f1debd6d900) 0
+ primary-for QAbstractSlider (0x7f1debd8aa80)
+ QObject (0x7f1debd8aaf0) 0
+ primary-for QWidget (0x7f1debd6d900)
+ QPaintDevice (0x7f1debd8ab60) 16
+ vptr=((& QScrollBar::_ZTV10QScrollBar) + 472u)
+
+Vtable for QSizeGrip
+QSizeGrip::_ZTV9QSizeGrip: 63u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QSizeGrip)
+16 QSizeGrip::metaObject
+24 QSizeGrip::qt_metacast
+32 QSizeGrip::qt_metacall
+40 QSizeGrip::~QSizeGrip
+48 QSizeGrip::~QSizeGrip
+56 QSizeGrip::event
+64 QSizeGrip::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QSizeGrip::setVisible
+128 QSizeGrip::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QSizeGrip::mousePressEvent
+168 QSizeGrip::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QSizeGrip::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QSizeGrip::paintEvent
+256 QSizeGrip::moveEvent
+264 QWidget::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QSizeGrip::showEvent
+344 QSizeGrip::hideEvent
+352 QWidget::x11Event
+360 QWidget::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 (int (*)(...))-0x00000000000000010
+456 (int (*)(...))(& _ZTI9QSizeGrip)
+464 QSizeGrip::_ZThn16_N9QSizeGripD1Ev
+472 QSizeGrip::_ZThn16_N9QSizeGripD0Ev
+480 QWidget::_ZThn16_NK7QWidget7devTypeEv
+488 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+496 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QSizeGrip
+ size=40 align=8
+ base size=40 base align=8
+QSizeGrip (0x7f1debdaab60) 0
+ vptr=((& QSizeGrip::_ZTV9QSizeGrip) + 16u)
+ QWidget (0x7f1debdad380) 0
+ primary-for QSizeGrip (0x7f1debdaab60)
+ QObject (0x7f1debdaabd0) 0
+ primary-for QWidget (0x7f1debdad380)
+ QPaintDevice (0x7f1debdaac40) 16
+ vptr=((& QSizeGrip::_ZTV9QSizeGrip) + 464u)
+
+Vtable for QTextBrowser
+QTextBrowser::_ZTV12QTextBrowser: 74u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QTextBrowser)
+16 QTextBrowser::metaObject
+24 QTextBrowser::qt_metacast
+32 QTextBrowser::qt_metacall
+40 QTextBrowser::~QTextBrowser
+48 QTextBrowser::~QTextBrowser
+56 QTextBrowser::event
+64 QObject::eventFilter
+72 QTextEdit::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QAbstractScrollArea::sizeHint
+136 QAbstractScrollArea::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QTextBrowser::mousePressEvent
+168 QTextBrowser::mouseReleaseEvent
+176 QTextEdit::mouseDoubleClickEvent
+184 QTextBrowser::mouseMoveEvent
+192 QTextEdit::wheelEvent
+200 QTextBrowser::keyPressEvent
+208 QTextEdit::keyReleaseEvent
+216 QTextEdit::focusInEvent
+224 QTextBrowser::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QTextBrowser::paintEvent
+256 QWidget::moveEvent
+264 QTextEdit::resizeEvent
+272 QWidget::closeEvent
+280 QTextEdit::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QTextEdit::dragEnterEvent
+312 QTextEdit::dragMoveEvent
+320 QTextEdit::dragLeaveEvent
+328 QTextEdit::dropEvent
+336 QTextEdit::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QTextEdit::changeEvent
+368 QWidget::metric
+376 QTextEdit::inputMethodEvent
+384 QTextEdit::inputMethodQuery
+392 QTextBrowser::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QAbstractScrollArea::viewportEvent
+456 QTextEdit::scrollContentsBy
+464 QTextBrowser::loadResource
+472 QTextEdit::createMimeDataFromSelection
+480 QTextEdit::canInsertFromMimeData
+488 QTextEdit::insertFromMimeData
+496 QTextBrowser::setSource
+504 QTextBrowser::backward
+512 QTextBrowser::forward
+520 QTextBrowser::home
+528 QTextBrowser::reload
+536 (int (*)(...))-0x00000000000000010
+544 (int (*)(...))(& _ZTI12QTextBrowser)
+552 QTextBrowser::_ZThn16_N12QTextBrowserD1Ev
+560 QTextBrowser::_ZThn16_N12QTextBrowserD0Ev
+568 QWidget::_ZThn16_NK7QWidget7devTypeEv
+576 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+584 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QTextBrowser
+ size=40 align=8
+ base size=40 base align=8
+QTextBrowser (0x7f1debdc8690) 0
+ vptr=((& QTextBrowser::_ZTV12QTextBrowser) + 16u)
+ QTextEdit (0x7f1debdc8700) 0
+ primary-for QTextBrowser (0x7f1debdc8690)
+ QAbstractScrollArea (0x7f1debdc8770) 0
+ primary-for QTextEdit (0x7f1debdc8700)
+ QFrame (0x7f1debdc87e0) 0
+ primary-for QAbstractScrollArea (0x7f1debdc8770)
+ QWidget (0x7f1debdadc80) 0
+ primary-for QFrame (0x7f1debdc87e0)
+ QObject (0x7f1debdc8850) 0
+ primary-for QWidget (0x7f1debdadc80)
+ QPaintDevice (0x7f1debdc88c0) 16
+ vptr=((& QTextBrowser::_ZTV12QTextBrowser) + 552u)
+
+Vtable for QStatusBar
+QStatusBar::_ZTV10QStatusBar: 63u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QStatusBar)
+16 QStatusBar::metaObject
+24 QStatusBar::qt_metacast
+32 QStatusBar::qt_metacall
+40 QStatusBar::~QStatusBar
+48 QStatusBar::~QStatusBar
+56 QStatusBar::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QWidget::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QStatusBar::paintEvent
+256 QWidget::moveEvent
+264 QStatusBar::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QStatusBar::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QWidget::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 (int (*)(...))-0x00000000000000010
+456 (int (*)(...))(& _ZTI10QStatusBar)
+464 QStatusBar::_ZThn16_N10QStatusBarD1Ev
+472 QStatusBar::_ZThn16_N10QStatusBarD0Ev
+480 QWidget::_ZThn16_NK7QWidget7devTypeEv
+488 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+496 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QStatusBar
+ size=40 align=8
+ base size=40 base align=8
+QStatusBar (0x7f1debdee2a0) 0
+ vptr=((& QStatusBar::_ZTV10QStatusBar) + 16u)
+ QWidget (0x7f1debde5580) 0
+ primary-for QStatusBar (0x7f1debdee2a0)
+ QObject (0x7f1debdee310) 0
+ primary-for QWidget (0x7f1debde5580)
+ QPaintDevice (0x7f1debdee380) 16
+ vptr=((& QStatusBar::_ZTV10QStatusBar) + 464u)
+
+Vtable for QToolButton
+QToolButton::_ZTV11QToolButton: 66u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QToolButton)
+16 QToolButton::metaObject
+24 QToolButton::qt_metacast
+32 QToolButton::qt_metacall
+40 QToolButton::~QToolButton
+48 QToolButton::~QToolButton
+56 QToolButton::event
+64 QObject::eventFilter
+72 QToolButton::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QToolButton::sizeHint
+136 QToolButton::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QToolButton::mousePressEvent
+168 QToolButton::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QAbstractButton::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QAbstractButton::keyPressEvent
+208 QAbstractButton::keyReleaseEvent
+216 QAbstractButton::focusInEvent
+224 QAbstractButton::focusOutEvent
+232 QToolButton::enterEvent
+240 QToolButton::leaveEvent
+248 QToolButton::paintEvent
+256 QWidget::moveEvent
+264 QWidget::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QToolButton::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QToolButton::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QToolButton::hitButton
+456 QAbstractButton::checkStateSet
+464 QToolButton::nextCheckState
+472 (int (*)(...))-0x00000000000000010
+480 (int (*)(...))(& _ZTI11QToolButton)
+488 QToolButton::_ZThn16_N11QToolButtonD1Ev
+496 QToolButton::_ZThn16_N11QToolButtonD0Ev
+504 QWidget::_ZThn16_NK7QWidget7devTypeEv
+512 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+520 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QToolButton
+ size=40 align=8
+ base size=40 base align=8
+QToolButton (0x7f1debe0e7e0) 0
+ vptr=((& QToolButton::_ZTV11QToolButton) + 16u)
+ QAbstractButton (0x7f1debe0e850) 0
+ primary-for QToolButton (0x7f1debe0e7e0)
+ QWidget (0x7f1debe0d480) 0
+ primary-for QAbstractButton (0x7f1debe0e850)
+ QObject (0x7f1debe0e8c0) 0
+ primary-for QWidget (0x7f1debe0d480)
+ QPaintDevice (0x7f1debe0e930) 16
+ vptr=((& QToolButton::_ZTV11QToolButton) + 488u)
+
+Vtable for QComboBox
+QComboBox::_ZTV9QComboBox: 65u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QComboBox)
+16 QComboBox::metaObject
+24 QComboBox::qt_metacast
+32 QComboBox::qt_metacall
+40 QComboBox::~QComboBox
+48 QComboBox::~QComboBox
+56 QComboBox::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QComboBox::sizeHint
+136 QComboBox::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QComboBox::mousePressEvent
+168 QComboBox::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QComboBox::wheelEvent
+200 QComboBox::keyPressEvent
+208 QComboBox::keyReleaseEvent
+216 QComboBox::focusInEvent
+224 QComboBox::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QComboBox::paintEvent
+256 QWidget::moveEvent
+264 QComboBox::resizeEvent
+272 QWidget::closeEvent
+280 QComboBox::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QComboBox::showEvent
+344 QComboBox::hideEvent
+352 QWidget::x11Event
+360 QComboBox::changeEvent
+368 QWidget::metric
+376 QComboBox::inputMethodEvent
+384 QComboBox::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QComboBox::showPopup
+456 QComboBox::hidePopup
+464 (int (*)(...))-0x00000000000000010
+472 (int (*)(...))(& _ZTI9QComboBox)
+480 QComboBox::_ZThn16_N9QComboBoxD1Ev
+488 QComboBox::_ZThn16_N9QComboBoxD0Ev
+496 QWidget::_ZThn16_NK7QWidget7devTypeEv
+504 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+512 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QComboBox
+ size=40 align=8
+ base size=40 base align=8
+QComboBox (0x7f1debc4faf0) 0
+ vptr=((& QComboBox::_ZTV9QComboBox) + 16u)
+ QWidget (0x7f1debc57080) 0
+ primary-for QComboBox (0x7f1debc4faf0)
+ QObject (0x7f1debc4fb60) 0
+ primary-for QWidget (0x7f1debc57080)
+ QPaintDevice (0x7f1debc4fbd0) 16
+ vptr=((& QComboBox::_ZTV9QComboBox) + 480u)
+
+Vtable for QCommandLinkButton
+QCommandLinkButton::_ZTV18QCommandLinkButton: 66u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QCommandLinkButton)
+16 QCommandLinkButton::metaObject
+24 QCommandLinkButton::qt_metacast
+32 QCommandLinkButton::qt_metacall
+40 QCommandLinkButton::~QCommandLinkButton
+48 QCommandLinkButton::~QCommandLinkButton
+56 QCommandLinkButton::event
+64 QObject::eventFilter
+72 QAbstractButton::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QCommandLinkButton::sizeHint
+136 QCommandLinkButton::minimumSizeHint
+144 QCommandLinkButton::heightForWidth
+152 QWidget::paintEngine
+160 QAbstractButton::mousePressEvent
+168 QAbstractButton::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QAbstractButton::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QPushButton::keyPressEvent
+208 QAbstractButton::keyReleaseEvent
+216 QPushButton::focusInEvent
+224 QPushButton::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QCommandLinkButton::paintEvent
+256 QWidget::moveEvent
+264 QWidget::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QAbstractButton::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QAbstractButton::hitButton
+456 QAbstractButton::checkStateSet
+464 QAbstractButton::nextCheckState
+472 (int (*)(...))-0x00000000000000010
+480 (int (*)(...))(& _ZTI18QCommandLinkButton)
+488 QCommandLinkButton::_ZThn16_N18QCommandLinkButtonD1Ev
+496 QCommandLinkButton::_ZThn16_N18QCommandLinkButtonD0Ev
+504 QWidget::_ZThn16_NK7QWidget7devTypeEv
+512 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+520 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QCommandLinkButton
+ size=40 align=8
+ base size=40 base align=8
+QCommandLinkButton (0x7f1debcbf620) 0
+ vptr=((& QCommandLinkButton::_ZTV18QCommandLinkButton) + 16u)
+ QPushButton (0x7f1debcbf690) 0
+ primary-for QCommandLinkButton (0x7f1debcbf620)
+ QAbstractButton (0x7f1debcbf700) 0
+ primary-for QPushButton (0x7f1debcbf690)
+ QWidget (0x7f1debcbac80) 0
+ primary-for QAbstractButton (0x7f1debcbf700)
+ QObject (0x7f1debcbf770) 0
+ primary-for QWidget (0x7f1debcbac80)
+ QPaintDevice (0x7f1debcbf7e0) 16
+ vptr=((& QCommandLinkButton::_ZTV18QCommandLinkButton) + 488u)
+
+Vtable for QMenuItem
+QMenuItem::_ZTV9QMenuItem: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QMenuItem)
+16 QMenuItem::metaObject
+24 QMenuItem::qt_metacast
+32 QMenuItem::qt_metacall
+40 QMenuItem::~QMenuItem
+48 QMenuItem::~QMenuItem
+56 QAction::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QMenuItem
+ size=16 align=8
+ base size=16 base align=8
+QMenuItem (0x7f1debce01c0) 0
+ vptr=((& QMenuItem::_ZTV9QMenuItem) + 16u)
+ QAction (0x7f1debce0230) 0
+ primary-for QMenuItem (0x7f1debce01c0)
+ QObject (0x7f1debce02a0) 0
+ primary-for QAction (0x7f1debce0230)
+
+Vtable for QCalendarWidget
+QCalendarWidget::_ZTV15QCalendarWidget: 64u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QCalendarWidget)
+16 QCalendarWidget::metaObject
+24 QCalendarWidget::qt_metacast
+32 QCalendarWidget::qt_metacall
+40 QCalendarWidget::~QCalendarWidget
+48 QCalendarWidget::~QCalendarWidget
+56 QCalendarWidget::event
+64 QCalendarWidget::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QCalendarWidget::sizeHint
+136 QCalendarWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QCalendarWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QCalendarWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QWidget::paintEvent
+256 QWidget::moveEvent
+264 QCalendarWidget::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QWidget::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QCalendarWidget::paintCell
+456 (int (*)(...))-0x00000000000000010
+464 (int (*)(...))(& _ZTI15QCalendarWidget)
+472 QCalendarWidget::_ZThn16_N15QCalendarWidgetD1Ev
+480 QCalendarWidget::_ZThn16_N15QCalendarWidgetD0Ev
+488 QWidget::_ZThn16_NK7QWidget7devTypeEv
+496 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+504 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QCalendarWidget
+ size=40 align=8
+ base size=40 base align=8
+QCalendarWidget (0x7f1debcef000) 0
+ vptr=((& QCalendarWidget::_ZTV15QCalendarWidget) + 16u)
+ QWidget (0x7f1debcd8c00) 0
+ primary-for QCalendarWidget (0x7f1debcef000)
+ QObject (0x7f1debcef070) 0
+ primary-for QWidget (0x7f1debcd8c00)
+ QPaintDevice (0x7f1debcef0e0) 16
+ vptr=((& QCalendarWidget::_ZTV15QCalendarWidget) + 472u)
+
+Vtable for QRadioButton
+QRadioButton::_ZTV12QRadioButton: 66u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QRadioButton)
+16 QRadioButton::metaObject
+24 QRadioButton::qt_metacast
+32 QRadioButton::qt_metacall
+40 QRadioButton::~QRadioButton
+48 QRadioButton::~QRadioButton
+56 QRadioButton::event
+64 QObject::eventFilter
+72 QAbstractButton::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QRadioButton::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QAbstractButton::mousePressEvent
+168 QAbstractButton::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QRadioButton::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QAbstractButton::keyPressEvent
+208 QAbstractButton::keyReleaseEvent
+216 QAbstractButton::focusInEvent
+224 QAbstractButton::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QRadioButton::paintEvent
+256 QWidget::moveEvent
+264 QWidget::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QAbstractButton::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QRadioButton::hitButton
+456 QAbstractButton::checkStateSet
+464 QAbstractButton::nextCheckState
+472 (int (*)(...))-0x00000000000000010
+480 (int (*)(...))(& _ZTI12QRadioButton)
+488 QRadioButton::_ZThn16_N12QRadioButtonD1Ev
+496 QRadioButton::_ZThn16_N12QRadioButtonD0Ev
+504 QWidget::_ZThn16_NK7QWidget7devTypeEv
+512 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+520 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QRadioButton
+ size=40 align=8
+ base size=40 base align=8
+QRadioButton (0x7f1debd1b150) 0
+ vptr=((& QRadioButton::_ZTV12QRadioButton) + 16u)
+ QAbstractButton (0x7f1debd1b1c0) 0
+ primary-for QRadioButton (0x7f1debd1b150)
+ QWidget (0x7f1debcf4b00) 0
+ primary-for QAbstractButton (0x7f1debd1b1c0)
+ QObject (0x7f1debd1b230) 0
+ primary-for QWidget (0x7f1debcf4b00)
+ QPaintDevice (0x7f1debd1b2a0) 16
+ vptr=((& QRadioButton::_ZTV12QRadioButton) + 488u)
+
+Vtable for QMenuBar
+QMenuBar::_ZTV8QMenuBar: 63u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI8QMenuBar)
+16 QMenuBar::metaObject
+24 QMenuBar::qt_metacast
+32 QMenuBar::qt_metacall
+40 QMenuBar::~QMenuBar
+48 QMenuBar::~QMenuBar
+56 QMenuBar::event
+64 QMenuBar::eventFilter
+72 QMenuBar::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QMenuBar::setVisible
+128 QMenuBar::sizeHint
+136 QMenuBar::minimumSizeHint
+144 QMenuBar::heightForWidth
+152 QWidget::paintEngine
+160 QMenuBar::mousePressEvent
+168 QMenuBar::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QMenuBar::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QMenuBar::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QMenuBar::focusInEvent
+224 QMenuBar::focusOutEvent
+232 QWidget::enterEvent
+240 QMenuBar::leaveEvent
+248 QMenuBar::paintEvent
+256 QWidget::moveEvent
+264 QMenuBar::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QMenuBar::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QMenuBar::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 (int (*)(...))-0x00000000000000010
+456 (int (*)(...))(& _ZTI8QMenuBar)
+464 QMenuBar::_ZThn16_N8QMenuBarD1Ev
+472 QMenuBar::_ZThn16_N8QMenuBarD0Ev
+480 QWidget::_ZThn16_NK7QWidget7devTypeEv
+488 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+496 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QMenuBar
+ size=40 align=8
+ base size=40 base align=8
+QMenuBar (0x7f1debd31d90) 0
+ vptr=((& QMenuBar::_ZTV8QMenuBar) + 16u)
+ QWidget (0x7f1debd34400) 0
+ primary-for QMenuBar (0x7f1debd31d90)
+ QObject (0x7f1debd31e00) 0
+ primary-for QWidget (0x7f1debd34400)
+ QPaintDevice (0x7f1debd31e70) 16
+ vptr=((& QMenuBar::_ZTV8QMenuBar) + 464u)
+
+Vtable for QFocusFrame
+QFocusFrame::_ZTV11QFocusFrame: 63u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QFocusFrame)
+16 QFocusFrame::metaObject
+24 QFocusFrame::qt_metacast
+32 QFocusFrame::qt_metacall
+40 QFocusFrame::~QFocusFrame
+48 QFocusFrame::~QFocusFrame
+56 QFocusFrame::event
+64 QFocusFrame::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QWidget::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QFocusFrame::paintEvent
+256 QWidget::moveEvent
+264 QWidget::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QWidget::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 (int (*)(...))-0x00000000000000010
+456 (int (*)(...))(& _ZTI11QFocusFrame)
+464 QFocusFrame::_ZThn16_N11QFocusFrameD1Ev
+472 QFocusFrame::_ZThn16_N11QFocusFrameD0Ev
+480 QWidget::_ZThn16_NK7QWidget7devTypeEv
+488 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+496 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QFocusFrame
+ size=40 align=8
+ base size=40 base align=8
+QFocusFrame (0x7f1debbcbcb0) 0
+ vptr=((& QFocusFrame::_ZTV11QFocusFrame) + 16u)
+ QWidget (0x7f1debbcae00) 0
+ primary-for QFocusFrame (0x7f1debbcbcb0)
+ QObject (0x7f1debbcbd20) 0
+ primary-for QWidget (0x7f1debbcae00)
+ QPaintDevice (0x7f1debbcbd90) 16
+ vptr=((& QFocusFrame::_ZTV11QFocusFrame) + 464u)
+
+Vtable for QFontComboBox
+QFontComboBox::_ZTV13QFontComboBox: 65u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QFontComboBox)
+16 QFontComboBox::metaObject
+24 QFontComboBox::qt_metacast
+32 QFontComboBox::qt_metacall
+40 QFontComboBox::~QFontComboBox
+48 QFontComboBox::~QFontComboBox
+56 QFontComboBox::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QFontComboBox::sizeHint
+136 QComboBox::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QComboBox::mousePressEvent
+168 QComboBox::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QComboBox::wheelEvent
+200 QComboBox::keyPressEvent
+208 QComboBox::keyReleaseEvent
+216 QComboBox::focusInEvent
+224 QComboBox::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QComboBox::paintEvent
+256 QWidget::moveEvent
+264 QComboBox::resizeEvent
+272 QWidget::closeEvent
+280 QComboBox::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QComboBox::showEvent
+344 QComboBox::hideEvent
+352 QWidget::x11Event
+360 QComboBox::changeEvent
+368 QWidget::metric
+376 QComboBox::inputMethodEvent
+384 QComboBox::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QComboBox::showPopup
+456 QComboBox::hidePopup
+464 (int (*)(...))-0x00000000000000010
+472 (int (*)(...))(& _ZTI13QFontComboBox)
+480 QFontComboBox::_ZThn16_N13QFontComboBoxD1Ev
+488 QFontComboBox::_ZThn16_N13QFontComboBoxD0Ev
+496 QWidget::_ZThn16_NK7QWidget7devTypeEv
+504 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+512 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QFontComboBox
+ size=40 align=8
+ base size=40 base align=8
+QFontComboBox (0x7f1debbe6850) 0
+ vptr=((& QFontComboBox::_ZTV13QFontComboBox) + 16u)
+ QComboBox (0x7f1debbe68c0) 0
+ primary-for QFontComboBox (0x7f1debbe6850)
+ QWidget (0x7f1debbe0700) 0
+ primary-for QComboBox (0x7f1debbe68c0)
+ QObject (0x7f1debbe6930) 0
+ primary-for QWidget (0x7f1debbe0700)
+ QPaintDevice (0x7f1debbe69a0) 16
+ vptr=((& QFontComboBox::_ZTV13QFontComboBox) + 480u)
+
+Vtable for QToolBar
+QToolBar::_ZTV8QToolBar: 63u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI8QToolBar)
+16 QToolBar::metaObject
+24 QToolBar::qt_metacast
+32 QToolBar::qt_metacall
+40 QToolBar::~QToolBar
+48 QToolBar::~QToolBar
+56 QToolBar::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QToolBar::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QWidget::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QToolBar::paintEvent
+256 QWidget::moveEvent
+264 QToolBar::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QToolBar::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QToolBar::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 (int (*)(...))-0x00000000000000010
+456 (int (*)(...))(& _ZTI8QToolBar)
+464 QToolBar::_ZThn16_N8QToolBarD1Ev
+472 QToolBar::_ZThn16_N8QToolBarD0Ev
+480 QWidget::_ZThn16_NK7QWidget7devTypeEv
+488 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+496 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QToolBar
+ size=40 align=8
+ base size=40 base align=8
+QToolBar (0x7f1deba53540) 0
+ vptr=((& QToolBar::_ZTV8QToolBar) + 16u)
+ QWidget (0x7f1debc02800) 0
+ primary-for QToolBar (0x7f1deba53540)
+ QObject (0x7f1deba535b0) 0
+ primary-for QWidget (0x7f1debc02800)
+ QPaintDevice (0x7f1deba53620) 16
+ vptr=((& QToolBar::_ZTV8QToolBar) + 464u)
+
+Vtable for QToolBox
+QToolBox::_ZTV8QToolBox: 65u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI8QToolBox)
+16 QToolBox::metaObject
+24 QToolBox::qt_metacast
+32 QToolBox::qt_metacall
+40 QToolBox::~QToolBox
+48 QToolBox::~QToolBox
+56 QToolBox::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QFrame::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QFrame::paintEvent
+256 QWidget::moveEvent
+264 QWidget::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QToolBox::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QToolBox::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QToolBox::itemInserted
+456 QToolBox::itemRemoved
+464 (int (*)(...))-0x00000000000000010
+472 (int (*)(...))(& _ZTI8QToolBox)
+480 QToolBox::_ZThn16_N8QToolBoxD1Ev
+488 QToolBox::_ZThn16_N8QToolBoxD0Ev
+496 QWidget::_ZThn16_NK7QWidget7devTypeEv
+504 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+512 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QToolBox
+ size=40 align=8
+ base size=40 base align=8
+QToolBox (0x7f1deba89380) 0
+ vptr=((& QToolBox::_ZTV8QToolBox) + 16u)
+ QFrame (0x7f1deba893f0) 0
+ primary-for QToolBox (0x7f1deba89380)
+ QWidget (0x7f1deba86800) 0
+ primary-for QFrame (0x7f1deba893f0)
+ QObject (0x7f1deba89460) 0
+ primary-for QWidget (0x7f1deba86800)
+ QPaintDevice (0x7f1deba894d0) 16
+ vptr=((& QToolBox::_ZTV8QToolBox) + 480u)
+
+Vtable for QSplitter
+QSplitter::_ZTV9QSplitter: 64u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QSplitter)
+16 QSplitter::metaObject
+24 QSplitter::qt_metacast
+32 QSplitter::qt_metacall
+40 QSplitter::~QSplitter
+48 QSplitter::~QSplitter
+56 QSplitter::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QSplitter::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QSplitter::sizeHint
+136 QSplitter::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QFrame::paintEvent
+256 QWidget::moveEvent
+264 QSplitter::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QSplitter::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QSplitter::createHandle
+456 (int (*)(...))-0x00000000000000010
+464 (int (*)(...))(& _ZTI9QSplitter)
+472 QSplitter::_ZThn16_N9QSplitterD1Ev
+480 QSplitter::_ZThn16_N9QSplitterD0Ev
+488 QWidget::_ZThn16_NK7QWidget7devTypeEv
+496 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+504 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QSplitter
+ size=40 align=8
+ base size=40 base align=8
+QSplitter (0x7f1debac2000) 0
+ vptr=((& QSplitter::_ZTV9QSplitter) + 16u)
+ QFrame (0x7f1debac2070) 0
+ primary-for QSplitter (0x7f1debac2000)
+ QWidget (0x7f1debabe480) 0
+ primary-for QFrame (0x7f1debac2070)
+ QObject (0x7f1debac20e0) 0
+ primary-for QWidget (0x7f1debabe480)
+ QPaintDevice (0x7f1debac2150) 16
+ vptr=((& QSplitter::_ZTV9QSplitter) + 472u)
+
+Vtable for QSplitterHandle
+QSplitterHandle::_ZTV15QSplitterHandle: 63u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QSplitterHandle)
+16 QSplitterHandle::metaObject
+24 QSplitterHandle::qt_metacast
+32 QSplitterHandle::qt_metacall
+40 QSplitterHandle::~QSplitterHandle
+48 QSplitterHandle::~QSplitterHandle
+56 QSplitterHandle::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QSplitterHandle::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QSplitterHandle::mousePressEvent
+168 QSplitterHandle::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QSplitterHandle::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QSplitterHandle::paintEvent
+256 QWidget::moveEvent
+264 QWidget::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QWidget::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 (int (*)(...))-0x00000000000000010
+456 (int (*)(...))(& _ZTI15QSplitterHandle)
+464 QSplitterHandle::_ZThn16_N15QSplitterHandleD1Ev
+472 QSplitterHandle::_ZThn16_N15QSplitterHandleD0Ev
+480 QWidget::_ZThn16_NK7QWidget7devTypeEv
+488 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+496 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QSplitterHandle
+ size=40 align=8
+ base size=40 base align=8
+QSplitterHandle (0x7f1debaef0e0) 0
+ vptr=((& QSplitterHandle::_ZTV15QSplitterHandle) + 16u)
+ QWidget (0x7f1debae9580) 0
+ primary-for QSplitterHandle (0x7f1debaef0e0)
+ QObject (0x7f1debaef150) 0
+ primary-for QWidget (0x7f1debae9580)
+ QPaintDevice (0x7f1debaef1c0) 16
+ vptr=((& QSplitterHandle::_ZTV15QSplitterHandle) + 464u)
+
+Vtable for QDial
+QDial::_ZTV5QDial: 64u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI5QDial)
+16 QDial::metaObject
+24 QDial::qt_metacast
+32 QDial::qt_metacall
+40 QDial::~QDial
+48 QDial::~QDial
+56 QDial::event
+64 QObject::eventFilter
+72 QAbstractSlider::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QDial::sizeHint
+136 QDial::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QDial::mousePressEvent
+168 QDial::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QDial::mouseMoveEvent
+192 QAbstractSlider::wheelEvent
+200 QAbstractSlider::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QDial::paintEvent
+256 QWidget::moveEvent
+264 QDial::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QAbstractSlider::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QDial::sliderChange
+456 (int (*)(...))-0x00000000000000010
+464 (int (*)(...))(& _ZTI5QDial)
+472 QDial::_ZThn16_N5QDialD1Ev
+480 QDial::_ZThn16_N5QDialD0Ev
+488 QWidget::_ZThn16_NK7QWidget7devTypeEv
+496 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+504 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QDial
+ size=40 align=8
+ base size=40 base align=8
+QDial (0x7f1debb088c0) 0
+ vptr=((& QDial::_ZTV5QDial) + 16u)
+ QAbstractSlider (0x7f1debb08930) 0
+ primary-for QDial (0x7f1debb088c0)
+ QWidget (0x7f1debae9e80) 0
+ primary-for QAbstractSlider (0x7f1debb08930)
+ QObject (0x7f1debb089a0) 0
+ primary-for QWidget (0x7f1debae9e80)
+ QPaintDevice (0x7f1debb08a10) 16
+ vptr=((& QDial::_ZTV5QDial) + 472u)
+
diff --git a/tests/auto/bic/data/QtGui.4.6.0.linux-gcc-amd64.txt b/tests/auto/bic/data/QtGui.4.6.0.linux-gcc-amd64.txt
new file mode 100644
index 0000000000..4e545bc167
--- /dev/null
+++ b/tests/auto/bic/data/QtGui.4.6.0.linux-gcc-amd64.txt
@@ -0,0 +1,16713 @@
+Class QSysInfo
+ size=1 align=1
+ base size=0 base align=1
+QSysInfo (0x7fc3910c1230) 0 empty
+
+Class QBool
+ size=1 align=1
+ base size=1 base align=1
+QBool (0x7fc3910c1e70) 0
+
+Class qIsNull(double)::U
+ size=8 align=8
+ base size=8 base align=8
+qIsNull(double)::U (0x7fc3906c7540) 0
+
+Class qIsNull(float)::U
+ size=4 align=4
+ base size=4 base align=4
+qIsNull(float)::U (0x7fc3906c77e0) 0
+
+Class QFlag
+ size=4 align=4
+ base size=4 base align=4
+QFlag (0x7fc390703690) 0
+
+Class QIncompatibleFlag
+ size=4 align=4
+ base size=4 base align=4
+QIncompatibleFlag (0x7fc390703e70) 0
+
+Class QLatin1Char
+ size=1 align=1
+ base size=1 base align=1
+QLatin1Char (0x7fc3907305b0) 0
+
+Class QChar
+ size=2 align=2
+ base size=2 base align=2
+QChar (0x7fc390755150) 0
+
+Class QBasicAtomicInt
+ size=4 align=4
+ base size=4 base align=4
+QBasicAtomicInt (0x7fc3905be310) 0
+
+Class QAtomicInt
+ size=4 align=4
+ base size=4 base align=4
+QAtomicInt (0x7fc3905facb0) 0
+ QBasicAtomicInt (0x7fc3905fad20) 0
+
+Class QInternal
+ size=1 align=1
+ base size=0 base align=1
+QInternal (0x7fc3904544d0) 0 empty
+
+Class __locale_struct
+ size=232 align=8
+ base size=232 base align=8
+__locale_struct (0x7fc390454700) 0
+
+Class QByteArray::Data
+ size=32 align=8
+ base size=32 base align=8
+QByteArray::Data (0x7fc39048daf0) 0
+
+Class QByteArray
+ size=8 align=8
+ base size=8 base align=8
+QByteArray (0x7fc39048da80) 0
+
+Class QByteRef
+ size=16 align=8
+ base size=12 base align=8
+QByteRef (0x7fc39032f380) 0
+
+Class QString::Null
+ size=1 align=1
+ base size=0 base align=1
+QString::Null (0x7fc390230d20) 0 empty
+
+Class QString::Data
+ size=32 align=8
+ base size=32 base align=8
+QString::Data (0x7fc3902485b0) 0
+
+Class QString
+ size=8 align=8
+ base size=8 base align=8
+QString (0x7fc3903abbd0) 0
+
+Class QLatin1String
+ size=8 align=8
+ base size=8 base align=8
+QLatin1String (0x7fc39011d9a0) 0
+
+Class QCharRef
+ size=16 align=8
+ base size=12 base align=8
+QCharRef (0x7fc38ffbe000) 0
+
+Class QConstString
+ size=8 align=8
+ base size=8 base align=8
+QConstString (0x7fc38ff068c0) 0
+ QString (0x7fc38ff06930) 0
+
+Class QStringRef
+ size=16 align=8
+ base size=16 base align=8
+QStringRef (0x7fc38ff2b310) 0
+
+Class QGenericArgument
+ size=16 align=8
+ base size=16 base align=8
+QGenericArgument (0x7fc38ffa6700) 0
+
+Class QGenericReturnArgument
+ size=16 align=8
+ base size=16 base align=8
+QGenericReturnArgument (0x7fc38ffaf2a0) 0
+ QGenericArgument (0x7fc38ffaf310) 0
+
+Class QMetaObject
+ size=32 align=8
+ base size=32 base align=8
+QMetaObject (0x7fc38ffafb60) 0
+
+Class QMetaObjectExtraData
+ size=16 align=8
+ base size=16 base align=8
+QMetaObjectExtraData (0x7fc38fdd7bd0) 0
+
+Vtable for std::exception
+std::exception::_ZTVSt9exception: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt9exception)
+16 std::exception::~exception
+24 std::exception::~exception
+32 std::exception::what
+
+Class std::exception
+ size=8 align=8
+ base size=8 base align=8
+std::exception (0x7fc38fe2b1c0) 0 nearly-empty
+ vptr=((& std::exception::_ZTVSt9exception) + 16u)
+
+Vtable for std::bad_exception
+std::bad_exception::_ZTVSt13bad_exception: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt13bad_exception)
+16 std::bad_exception::~bad_exception
+24 std::bad_exception::~bad_exception
+32 std::bad_exception::what
+
+Class std::bad_exception
+ size=8 align=8
+ base size=8 base align=8
+std::bad_exception (0x7fc38fe2b770) 0 nearly-empty
+ vptr=((& std::bad_exception::_ZTVSt13bad_exception) + 16u)
+ std::exception (0x7fc38fe2b7e0) 0 nearly-empty
+ primary-for std::bad_exception (0x7fc38fe2b770)
+
+Vtable for std::bad_alloc
+std::bad_alloc::_ZTVSt9bad_alloc: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt9bad_alloc)
+16 std::bad_alloc::~bad_alloc
+24 std::bad_alloc::~bad_alloc
+32 std::bad_alloc::what
+
+Class std::bad_alloc
+ size=8 align=8
+ base size=8 base align=8
+std::bad_alloc (0x7fc38fe2b930) 0 nearly-empty
+ vptr=((& std::bad_alloc::_ZTVSt9bad_alloc) + 16u)
+ std::exception (0x7fc38fe42000) 0 nearly-empty
+ primary-for std::bad_alloc (0x7fc38fe2b930)
+
+Class std::nothrow_t
+ size=1 align=1
+ base size=0 base align=1
+std::nothrow_t (0x7fc38fe42850) 0 empty
+
+Class QListData::Data
+ size=32 align=8
+ base size=32 base align=8
+QListData::Data (0x7fc38fe42d90) 0
+
+Class QListData
+ size=8 align=8
+ base size=8 base align=8
+QListData (0x7fc38fe42d20) 0
+
+Class QScopedPointerPodDeleter
+ size=1 align=1
+ base size=0 base align=1
+QScopedPointerPodDeleter (0x7fc38fd6d850) 0 empty
+
+Vtable for QObjectData
+QObjectData::_ZTV11QObjectData: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QObjectData)
+16 __cxa_pure_virtual
+24 __cxa_pure_virtual
+
+Class QObjectData
+ size=48 align=8
+ base size=48 base align=8
+QObjectData (0x7fc38fd8e2a0) 0
+ vptr=((& QObjectData::_ZTV11QObjectData) + 16u)
+
+Vtable for QObject
+QObject::_ZTV7QObject: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QObject)
+16 QObject::metaObject
+24 QObject::qt_metacast
+32 QObject::qt_metacall
+40 QObject::~QObject
+48 QObject::~QObject
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QObject
+ size=16 align=8
+ base size=16 base align=8
+QObject (0x7fc38fd8e5b0) 0
+ vptr=((& QObject::_ZTV7QObject) + 16u)
+
+Vtable for QObjectUserData
+QObjectUserData::_ZTV15QObjectUserData: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QObjectUserData)
+16 QObjectUserData::~QObjectUserData
+24 QObjectUserData::~QObjectUserData
+
+Class QObjectUserData
+ size=8 align=8
+ base size=8 base align=8
+QObjectUserData (0x7fc38fc12b60) 0 nearly-empty
+ vptr=((& QObjectUserData::_ZTV15QObjectUserData) + 16u)
+
+Vtable for QIODevice
+QIODevice::_ZTV9QIODevice: 30u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QIODevice)
+16 QIODevice::metaObject
+24 QIODevice::qt_metacast
+32 QIODevice::qt_metacall
+40 QIODevice::~QIODevice
+48 QIODevice::~QIODevice
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QIODevice::isSequential
+120 QIODevice::open
+128 QIODevice::close
+136 QIODevice::pos
+144 QIODevice::size
+152 QIODevice::seek
+160 QIODevice::atEnd
+168 QIODevice::reset
+176 QIODevice::bytesAvailable
+184 QIODevice::bytesToWrite
+192 QIODevice::canReadLine
+200 QIODevice::waitForReadyRead
+208 QIODevice::waitForBytesWritten
+216 __cxa_pure_virtual
+224 QIODevice::readLineData
+232 __cxa_pure_virtual
+
+Class QIODevice
+ size=16 align=8
+ base size=16 base align=8
+QIODevice (0x7fc38fc21150) 0
+ vptr=((& QIODevice::_ZTV9QIODevice) + 16u)
+ QObject (0x7fc38fc211c0) 0
+ primary-for QIODevice (0x7fc38fc21150)
+
+Class _IO_marker
+ size=24 align=8
+ base size=24 base align=8
+_IO_marker (0x7fc38fc84cb0) 0
+
+Class _IO_FILE
+ size=216 align=8
+ base size=216 base align=8
+_IO_FILE (0x7fc38fc84d20) 0
+
+Vtable for QFile
+QFile::_ZTV5QFile: 31u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI5QFile)
+16 QFile::metaObject
+24 QFile::qt_metacast
+32 QFile::qt_metacall
+40 QFile::~QFile
+48 QFile::~QFile
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QFile::isSequential
+120 QFile::open
+128 QFile::close
+136 QFile::pos
+144 QFile::size
+152 QFile::seek
+160 QFile::atEnd
+168 QIODevice::reset
+176 QIODevice::bytesAvailable
+184 QIODevice::bytesToWrite
+192 QIODevice::canReadLine
+200 QIODevice::waitForReadyRead
+208 QIODevice::waitForBytesWritten
+216 QFile::readData
+224 QFile::readLineData
+232 QFile::writeData
+240 QFile::fileEngine
+
+Class QFile
+ size=16 align=8
+ base size=16 base align=8
+QFile (0x7fc38fc84e00) 0
+ vptr=((& QFile::_ZTV5QFile) + 16u)
+ QIODevice (0x7fc38fc84e70) 0
+ primary-for QFile (0x7fc38fc84e00)
+ QObject (0x7fc38fc84ee0) 0
+ primary-for QIODevice (0x7fc38fc84e70)
+
+Class QFileInfo
+ size=8 align=8
+ base size=8 base align=8
+QFileInfo (0x7fc38fb27070) 0
+
+Vtable for QDataStream
+QDataStream::_ZTV11QDataStream: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QDataStream)
+16 QDataStream::~QDataStream
+24 QDataStream::~QDataStream
+
+Class QDataStream
+ size=40 align=8
+ base size=40 base align=8
+QDataStream (0x7fc38fb77a10) 0
+ vptr=((& QDataStream::_ZTV11QDataStream) + 16u)
+
+Class QRegExp
+ size=8 align=8
+ base size=8 base align=8
+QRegExp (0x7fc38f9e4e70) 0
+
+Class QStringMatcher::Data
+ size=272 align=8
+ base size=272 base align=8
+QStringMatcher::Data (0x7fc38fa4b2a0) 0
+
+Class QStringMatcher
+ size=1048 align=8
+ base size=1048 base align=8
+QStringMatcher (0x7fc38fa3ec40) 0
+
+Class QStringList
+ size=8 align=8
+ base size=8 base align=8
+QStringList (0x7fc38fa4b850) 0
+ QList<QString> (0x7fc38fa4b8c0) 0
+
+Class QDir
+ size=8 align=8
+ base size=8 base align=8
+QDir (0x7fc38f8ea4d0) 0
+
+Class QAbstractFileEngine::ExtensionOption
+ size=1 align=1
+ base size=0 base align=1
+QAbstractFileEngine::ExtensionOption (0x7fc38f9928c0) 0 empty
+
+Class QAbstractFileEngine::ExtensionReturn
+ size=1 align=1
+ base size=0 base align=1
+QAbstractFileEngine::ExtensionReturn (0x7fc38f992930) 0 empty
+
+Class QAbstractFileEngine::MapExtensionOption
+ size=24 align=8
+ base size=20 base align=8
+QAbstractFileEngine::MapExtensionOption (0x7fc38f9929a0) 0
+ QAbstractFileEngine::ExtensionOption (0x7fc38f992a10) 0 empty
+
+Class QAbstractFileEngine::MapExtensionReturn
+ size=8 align=8
+ base size=8 base align=8
+QAbstractFileEngine::MapExtensionReturn (0x7fc38f992bd0) 0
+ QAbstractFileEngine::ExtensionReturn (0x7fc38f992c40) 0 empty
+
+Class QAbstractFileEngine::UnMapExtensionOption
+ size=8 align=8
+ base size=8 base align=8
+QAbstractFileEngine::UnMapExtensionOption (0x7fc38f992cb0) 0
+ QAbstractFileEngine::ExtensionOption (0x7fc38f992d20) 0 empty
+
+Vtable for QAbstractFileEngine
+QAbstractFileEngine::_ZTV19QAbstractFileEngine: 36u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QAbstractFileEngine)
+16 QAbstractFileEngine::~QAbstractFileEngine
+24 QAbstractFileEngine::~QAbstractFileEngine
+32 QAbstractFileEngine::open
+40 QAbstractFileEngine::close
+48 QAbstractFileEngine::flush
+56 QAbstractFileEngine::size
+64 QAbstractFileEngine::pos
+72 QAbstractFileEngine::seek
+80 QAbstractFileEngine::isSequential
+88 QAbstractFileEngine::remove
+96 QAbstractFileEngine::copy
+104 QAbstractFileEngine::rename
+112 QAbstractFileEngine::link
+120 QAbstractFileEngine::mkdir
+128 QAbstractFileEngine::rmdir
+136 QAbstractFileEngine::setSize
+144 QAbstractFileEngine::caseSensitive
+152 QAbstractFileEngine::isRelativePath
+160 QAbstractFileEngine::entryList
+168 QAbstractFileEngine::fileFlags
+176 QAbstractFileEngine::setPermissions
+184 QAbstractFileEngine::fileName
+192 QAbstractFileEngine::ownerId
+200 QAbstractFileEngine::owner
+208 QAbstractFileEngine::fileTime
+216 QAbstractFileEngine::setFileName
+224 QAbstractFileEngine::handle
+232 QAbstractFileEngine::beginEntryList
+240 QAbstractFileEngine::endEntryList
+248 QAbstractFileEngine::read
+256 QAbstractFileEngine::readLine
+264 QAbstractFileEngine::write
+272 QAbstractFileEngine::extension
+280 QAbstractFileEngine::supportsExtension
+
+Class QAbstractFileEngine
+ size=16 align=8
+ base size=16 base align=8
+QAbstractFileEngine (0x7fc38f975850) 0
+ vptr=((& QAbstractFileEngine::_ZTV19QAbstractFileEngine) + 16u)
+
+Vtable for QAbstractFileEngineHandler
+QAbstractFileEngineHandler::_ZTV26QAbstractFileEngineHandler: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI26QAbstractFileEngineHandler)
+16 QAbstractFileEngineHandler::~QAbstractFileEngineHandler
+24 QAbstractFileEngineHandler::~QAbstractFileEngineHandler
+32 __cxa_pure_virtual
+
+Class QAbstractFileEngineHandler
+ size=8 align=8
+ base size=8 base align=8
+QAbstractFileEngineHandler (0x7fc38f7c5bd0) 0 nearly-empty
+ vptr=((& QAbstractFileEngineHandler::_ZTV26QAbstractFileEngineHandler) + 16u)
+
+Vtable for QAbstractFileEngineIterator
+QAbstractFileEngineIterator::_ZTV27QAbstractFileEngineIterator: 9u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI27QAbstractFileEngineIterator)
+16 QAbstractFileEngineIterator::~QAbstractFileEngineIterator
+24 QAbstractFileEngineIterator::~QAbstractFileEngineIterator
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+48 __cxa_pure_virtual
+56 QAbstractFileEngineIterator::currentFileInfo
+64 QAbstractFileEngineIterator::entryInfo
+
+Class QAbstractFileEngineIterator
+ size=16 align=8
+ base size=16 base align=8
+QAbstractFileEngineIterator (0x7fc38f7c5d90) 0
+ vptr=((& QAbstractFileEngineIterator::_ZTV27QAbstractFileEngineIterator) + 16u)
+
+Vtable for QBuffer
+QBuffer::_ZTV7QBuffer: 30u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QBuffer)
+16 QBuffer::metaObject
+24 QBuffer::qt_metacast
+32 QBuffer::qt_metacall
+40 QBuffer::~QBuffer
+48 QBuffer::~QBuffer
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QBuffer::connectNotify
+104 QBuffer::disconnectNotify
+112 QIODevice::isSequential
+120 QBuffer::open
+128 QBuffer::close
+136 QBuffer::pos
+144 QBuffer::size
+152 QBuffer::seek
+160 QBuffer::atEnd
+168 QIODevice::reset
+176 QIODevice::bytesAvailable
+184 QIODevice::bytesToWrite
+192 QBuffer::canReadLine
+200 QIODevice::waitForReadyRead
+208 QIODevice::waitForBytesWritten
+216 QBuffer::readData
+224 QIODevice::readLineData
+232 QBuffer::writeData
+
+Class QBuffer
+ size=16 align=8
+ base size=16 base align=8
+QBuffer (0x7fc38f7d9690) 0
+ vptr=((& QBuffer::_ZTV7QBuffer) + 16u)
+ QIODevice (0x7fc38f7d9700) 0
+ primary-for QBuffer (0x7fc38f7d9690)
+ QObject (0x7fc38f7d9770) 0
+ primary-for QIODevice (0x7fc38f7d9700)
+
+Class QHashData::Node
+ size=16 align=8
+ base size=16 base align=8
+QHashData::Node (0x7fc38f81de00) 0
+
+Class QHashData
+ size=40 align=8
+ base size=40 base align=8
+QHashData (0x7fc38f81dd90) 0
+
+Class QHashDummyValue
+ size=1 align=1
+ base size=0 base align=1
+QHashDummyValue (0x7fc38f83f150) 0 empty
+
+Class QMapData::Node
+ size=16 align=8
+ base size=16 base align=8
+QMapData::Node (0x7fc38f742a80) 0
+
+Class QMapData
+ size=128 align=8
+ base size=128 base align=8
+QMapData (0x7fc38f742a10) 0
+
+Vtable for QSystemLocale
+QSystemLocale::_ZTV13QSystemLocale: 6u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QSystemLocale)
+16 QSystemLocale::~QSystemLocale
+24 QSystemLocale::~QSystemLocale
+32 QSystemLocale::query
+40 QSystemLocale::fallbackLocale
+
+Class QSystemLocale
+ size=8 align=8
+ base size=8 base align=8
+QSystemLocale (0x7fc38f67c690) 0 nearly-empty
+ vptr=((& QSystemLocale::_ZTV13QSystemLocale) + 16u)
+
+Class QLocale::Data
+ size=4 align=2
+ base size=4 base align=2
+QLocale::Data (0x7fc38f4c6d90) 0
+
+Class QLocale
+ size=8 align=8
+ base size=8 base align=8
+QLocale (0x7fc38f67caf0) 0
+
+Class QTextCodec::ConverterState
+ size=32 align=8
+ base size=32 base align=8
+QTextCodec::ConverterState (0x7fc38f51abd0) 0
+
+Vtable for QTextCodec
+QTextCodec::_ZTV10QTextCodec: 9u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QTextCodec)
+16 __cxa_pure_virtual
+24 QTextCodec::aliases
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+48 __cxa_pure_virtual
+56 QTextCodec::~QTextCodec
+64 QTextCodec::~QTextCodec
+
+Class QTextCodec
+ size=8 align=8
+ base size=8 base align=8
+QTextCodec (0x7fc38f50e460) 0 nearly-empty
+ vptr=((& QTextCodec::_ZTV10QTextCodec) + 16u)
+
+Class QTextEncoder
+ size=40 align=8
+ base size=40 base align=8
+QTextEncoder (0x7fc38f58e150) 0
+
+Class QTextDecoder
+ size=40 align=8
+ base size=40 base align=8
+QTextDecoder (0x7fc38f58ef50) 0
+
+Vtable for QTextStream
+QTextStream::_ZTV11QTextStream: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QTextStream)
+16 QTextStream::~QTextStream
+24 QTextStream::~QTextStream
+
+Class QTextStream
+ size=16 align=8
+ base size=16 base align=8
+QTextStream (0x7fc38f597d90) 0
+ vptr=((& QTextStream::_ZTV11QTextStream) + 16u)
+
+Class QTextStreamManipulator
+ size=40 align=8
+ base size=38 base align=8
+QTextStreamManipulator (0x7fc38f411a80) 0
+
+Vtable for QTextIStream
+QTextIStream::_ZTV12QTextIStream: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QTextIStream)
+16 QTextIStream::~QTextIStream
+24 QTextIStream::~QTextIStream
+
+Class QTextIStream
+ size=16 align=8
+ base size=16 base align=8
+QTextIStream (0x7fc38f443070) 0
+ vptr=((& QTextIStream::_ZTV12QTextIStream) + 16u)
+ QTextStream (0x7fc38f4430e0) 0
+ primary-for QTextIStream (0x7fc38f443070)
+
+Vtable for QTextOStream
+QTextOStream::_ZTV12QTextOStream: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QTextOStream)
+16 QTextOStream::~QTextOStream
+24 QTextOStream::~QTextOStream
+
+Class QTextOStream
+ size=16 align=8
+ base size=16 base align=8
+QTextOStream (0x7fc38f44fee0) 0
+ vptr=((& QTextOStream::_ZTV12QTextOStream) + 16u)
+ QTextStream (0x7fc38f44ff50) 0
+ primary-for QTextOStream (0x7fc38f44fee0)
+
+Class wait
+ size=4 align=4
+ base size=4 base align=4
+wait (0x7fc38f462d90) 0
+
+Class timespec
+ size=16 align=8
+ base size=16 base align=8
+timespec (0x7fc38f46f0e0) 0
+
+Class timeval
+ size=16 align=8
+ base size=16 base align=8
+timeval (0x7fc38f46f150) 0
+
+Class __pthread_internal_list
+ size=16 align=8
+ base size=16 base align=8
+__pthread_internal_list (0x7fc38f46f2a0) 0
+
+Class random_data
+ size=48 align=8
+ base size=48 base align=8
+random_data (0x7fc38f46f850) 0
+
+Class drand48_data
+ size=24 align=8
+ base size=24 base align=8
+drand48_data (0x7fc38f46f8c0) 0
+
+Class QVectorData
+ size=16 align=4
+ base size=16 base align=4
+QVectorData (0x7fc38f46f930) 0
+
+Class QContiguousCacheData
+ size=24 align=4
+ base size=24 base align=4
+QContiguousCacheData (0x7fc38f22d620) 0
+
+Class QDebug::Stream
+ size=40 align=8
+ base size=34 base align=8
+QDebug::Stream (0x7fc38f08d150) 0
+
+Class QDebug
+ size=8 align=8
+ base size=8 base align=8
+QDebug (0x7fc38f08d0e0) 0
+
+Class QNoDebug
+ size=1 align=1
+ base size=0 base align=1
+QNoDebug (0x7fc38f13b0e0) 0 empty
+
+Vtable for QDirIterator
+QDirIterator::_ZTV12QDirIterator: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QDirIterator)
+16 QDirIterator::~QDirIterator
+24 QDirIterator::~QDirIterator
+
+Class QDirIterator
+ size=16 align=8
+ base size=16 base align=8
+QDirIterator (0x7fc38f14b700) 0
+ vptr=((& QDirIterator::_ZTV12QDirIterator) + 16u)
+
+Vtable for QFileSystemWatcher
+QFileSystemWatcher::_ZTV18QFileSystemWatcher: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QFileSystemWatcher)
+16 QFileSystemWatcher::metaObject
+24 QFileSystemWatcher::qt_metacast
+32 QFileSystemWatcher::qt_metacall
+40 QFileSystemWatcher::~QFileSystemWatcher
+48 QFileSystemWatcher::~QFileSystemWatcher
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QFileSystemWatcher
+ size=16 align=8
+ base size=16 base align=8
+QFileSystemWatcher (0x7fc38efa8540) 0
+ vptr=((& QFileSystemWatcher::_ZTV18QFileSystemWatcher) + 16u)
+ QObject (0x7fc38efa85b0) 0
+ primary-for QFileSystemWatcher (0x7fc38efa8540)
+
+Vtable for QFSFileEngine
+QFSFileEngine::_ZTV13QFSFileEngine: 36u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QFSFileEngine)
+16 QFSFileEngine::~QFSFileEngine
+24 QFSFileEngine::~QFSFileEngine
+32 QFSFileEngine::open
+40 QFSFileEngine::close
+48 QFSFileEngine::flush
+56 QFSFileEngine::size
+64 QFSFileEngine::pos
+72 QFSFileEngine::seek
+80 QFSFileEngine::isSequential
+88 QFSFileEngine::remove
+96 QFSFileEngine::copy
+104 QFSFileEngine::rename
+112 QFSFileEngine::link
+120 QFSFileEngine::mkdir
+128 QFSFileEngine::rmdir
+136 QFSFileEngine::setSize
+144 QFSFileEngine::caseSensitive
+152 QFSFileEngine::isRelativePath
+160 QFSFileEngine::entryList
+168 QFSFileEngine::fileFlags
+176 QFSFileEngine::setPermissions
+184 QFSFileEngine::fileName
+192 QFSFileEngine::ownerId
+200 QFSFileEngine::owner
+208 QFSFileEngine::fileTime
+216 QFSFileEngine::setFileName
+224 QFSFileEngine::handle
+232 QFSFileEngine::beginEntryList
+240 QFSFileEngine::endEntryList
+248 QFSFileEngine::read
+256 QFSFileEngine::readLine
+264 QFSFileEngine::write
+272 QFSFileEngine::extension
+280 QFSFileEngine::supportsExtension
+
+Class QFSFileEngine
+ size=16 align=8
+ base size=16 base align=8
+QFSFileEngine (0x7fc38efbaa80) 0
+ vptr=((& QFSFileEngine::_ZTV13QFSFileEngine) + 16u)
+ QAbstractFileEngine (0x7fc38efbaaf0) 0
+ primary-for QFSFileEngine (0x7fc38efbaa80)
+
+Class QSharedData
+ size=4 align=4
+ base size=4 base align=4
+QSharedData (0x7fc38efcae70) 0
+
+Class QProcessEnvironment
+ size=8 align=8
+ base size=8 base align=8
+QProcessEnvironment (0x7fc38f0121c0) 0
+
+Vtable for QProcess
+QProcess::_ZTV8QProcess: 31u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI8QProcess)
+16 QProcess::metaObject
+24 QProcess::qt_metacast
+32 QProcess::qt_metacall
+40 QProcess::~QProcess
+48 QProcess::~QProcess
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QProcess::isSequential
+120 QIODevice::open
+128 QProcess::close
+136 QIODevice::pos
+144 QIODevice::size
+152 QIODevice::seek
+160 QProcess::atEnd
+168 QIODevice::reset
+176 QProcess::bytesAvailable
+184 QProcess::bytesToWrite
+192 QProcess::canReadLine
+200 QProcess::waitForReadyRead
+208 QProcess::waitForBytesWritten
+216 QProcess::readData
+224 QIODevice::readLineData
+232 QProcess::writeData
+240 QProcess::setupChildProcess
+
+Class QProcess
+ size=16 align=8
+ base size=16 base align=8
+QProcess (0x7fc38f012cb0) 0
+ vptr=((& QProcess::_ZTV8QProcess) + 16u)
+ QIODevice (0x7fc38f012d20) 0
+ primary-for QProcess (0x7fc38f012cb0)
+ QObject (0x7fc38f012d90) 0
+ primary-for QIODevice (0x7fc38f012d20)
+
+Class QResource
+ size=8 align=8
+ base size=8 base align=8
+QResource (0x7fc38f05b1c0) 0
+
+Class QMetaType
+ size=1 align=1
+ base size=0 base align=1
+QMetaType (0x7fc38f05be70) 0 empty
+
+Class QVariant::PrivateShared
+ size=16 align=8
+ base size=12 base align=8
+QVariant::PrivateShared (0x7fc38ef59700) 0
+
+Class QVariant::Private::Data
+ size=8 align=8
+ base size=8 base align=8
+QVariant::Private::Data (0x7fc38ef59a10) 0
+
+Class QVariant::Private
+ size=16 align=8
+ base size=12 base align=8
+QVariant::Private (0x7fc38ef597e0) 0
+
+Class QVariant::Handler
+ size=72 align=8
+ base size=72 base align=8
+QVariant::Handler (0x7fc38ef67700) 0
+
+Class QVariant
+ size=16 align=8
+ base size=16 base align=8
+QVariant (0x7fc38ef287e0) 0
+
+Class QVariantComparisonHelper
+ size=8 align=8
+ base size=8 base align=8
+QVariantComparisonHelper (0x7fc38ee199a0) 0
+
+Vtable for QSettings
+QSettings::_ZTV9QSettings: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QSettings)
+16 QSettings::metaObject
+24 QSettings::qt_metacast
+32 QSettings::qt_metacall
+40 QSettings::~QSettings
+48 QSettings::~QSettings
+56 QSettings::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QSettings
+ size=16 align=8
+ base size=16 base align=8
+QSettings (0x7fc38ee3eee0) 0
+ vptr=((& QSettings::_ZTV9QSettings) + 16u)
+ QObject (0x7fc38ee3ef50) 0
+ primary-for QSettings (0x7fc38ee3eee0)
+
+Vtable for QTemporaryFile
+QTemporaryFile::_ZTV14QTemporaryFile: 31u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QTemporaryFile)
+16 QTemporaryFile::metaObject
+24 QTemporaryFile::qt_metacast
+32 QTemporaryFile::qt_metacall
+40 QTemporaryFile::~QTemporaryFile
+48 QTemporaryFile::~QTemporaryFile
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QFile::isSequential
+120 QTemporaryFile::open
+128 QFile::close
+136 QFile::pos
+144 QFile::size
+152 QFile::seek
+160 QFile::atEnd
+168 QIODevice::reset
+176 QIODevice::bytesAvailable
+184 QIODevice::bytesToWrite
+192 QIODevice::canReadLine
+200 QIODevice::waitForReadyRead
+208 QIODevice::waitForBytesWritten
+216 QFile::readData
+224 QFile::readLineData
+232 QFile::writeData
+240 QTemporaryFile::fileEngine
+
+Class QTemporaryFile
+ size=16 align=8
+ base size=16 base align=8
+QTemporaryFile (0x7fc38ecc12a0) 0
+ vptr=((& QTemporaryFile::_ZTV14QTemporaryFile) + 16u)
+ QFile (0x7fc38ecc1310) 0
+ primary-for QTemporaryFile (0x7fc38ecc12a0)
+ QIODevice (0x7fc38ecc1380) 0
+ primary-for QFile (0x7fc38ecc1310)
+ QObject (0x7fc38ecc13f0) 0
+ primary-for QIODevice (0x7fc38ecc1380)
+
+Class QUrl
+ size=8 align=8
+ base size=8 base align=8
+QUrl (0x7fc38ecdd9a0) 0
+
+Class QXmlStreamStringRef
+ size=16 align=8
+ base size=16 base align=8
+QXmlStreamStringRef (0x7fc38ed6b070) 0
+
+Class QXmlStreamAttribute
+ size=80 align=8
+ base size=73 base align=8
+QXmlStreamAttribute (0x7fc38eb84850) 0
+
+Class QXmlStreamAttributes
+ size=8 align=8
+ base size=8 base align=8
+QXmlStreamAttributes (0x7fc38ebac310) 0
+ QVector<QXmlStreamAttribute> (0x7fc38ebac380) 0
+
+Class QXmlStreamNamespaceDeclaration
+ size=40 align=8
+ base size=40 base align=8
+QXmlStreamNamespaceDeclaration (0x7fc38ebac7e0) 0
+
+Class QXmlStreamNotationDeclaration
+ size=56 align=8
+ base size=56 base align=8
+QXmlStreamNotationDeclaration (0x7fc38ebee1c0) 0
+
+Class QXmlStreamEntityDeclaration
+ size=88 align=8
+ base size=88 base align=8
+QXmlStreamEntityDeclaration (0x7fc38ec10070) 0
+
+Vtable for QXmlStreamEntityResolver
+QXmlStreamEntityResolver::_ZTV24QXmlStreamEntityResolver: 6u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI24QXmlStreamEntityResolver)
+16 QXmlStreamEntityResolver::~QXmlStreamEntityResolver
+24 QXmlStreamEntityResolver::~QXmlStreamEntityResolver
+32 QXmlStreamEntityResolver::resolveEntity
+40 QXmlStreamEntityResolver::resolveUndeclaredEntity
+
+Class QXmlStreamEntityResolver
+ size=8 align=8
+ base size=8 base align=8
+QXmlStreamEntityResolver (0x7fc38ec299a0) 0 nearly-empty
+ vptr=((& QXmlStreamEntityResolver::_ZTV24QXmlStreamEntityResolver) + 16u)
+
+Class QXmlStreamReader
+ size=8 align=8
+ base size=8 base align=8
+QXmlStreamReader (0x7fc38ec29b60) 0
+
+Class QXmlStreamWriter
+ size=8 align=8
+ base size=8 base align=8
+QXmlStreamWriter (0x7fc38ec72c40) 0
+
+Vtable for QAbstractState
+QAbstractState::_ZTV14QAbstractState: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QAbstractState)
+16 QAbstractState::metaObject
+24 QAbstractState::qt_metacast
+32 QAbstractState::qt_metacall
+40 QAbstractState::~QAbstractState
+48 QAbstractState::~QAbstractState
+56 QAbstractState::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+
+Class QAbstractState
+ size=16 align=8
+ base size=16 base align=8
+QAbstractState (0x7fc38ea7fa80) 0
+ vptr=((& QAbstractState::_ZTV14QAbstractState) + 16u)
+ QObject (0x7fc38ea7faf0) 0
+ primary-for QAbstractState (0x7fc38ea7fa80)
+
+Vtable for QAbstractTransition
+QAbstractTransition::_ZTV19QAbstractTransition: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QAbstractTransition)
+16 QAbstractTransition::metaObject
+24 QAbstractTransition::qt_metacast
+32 QAbstractTransition::qt_metacall
+40 QAbstractTransition::~QAbstractTransition
+48 QAbstractTransition::~QAbstractTransition
+56 QAbstractTransition::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+
+Class QAbstractTransition
+ size=16 align=8
+ base size=16 base align=8
+QAbstractTransition (0x7fc38eaa52a0) 0
+ vptr=((& QAbstractTransition::_ZTV19QAbstractTransition) + 16u)
+ QObject (0x7fc38eaa5310) 0
+ primary-for QAbstractTransition (0x7fc38eaa52a0)
+
+Vtable for QEvent
+QEvent::_ZTV6QEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI6QEvent)
+16 QEvent::~QEvent
+24 QEvent::~QEvent
+
+Class QEvent
+ size=24 align=8
+ base size=20 base align=8
+QEvent (0x7fc38eab8af0) 0
+ vptr=((& QEvent::_ZTV6QEvent) + 16u)
+
+Vtable for QTimerEvent
+QTimerEvent::_ZTV11QTimerEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QTimerEvent)
+16 QTimerEvent::~QTimerEvent
+24 QTimerEvent::~QTimerEvent
+
+Class QTimerEvent
+ size=24 align=8
+ base size=24 base align=8
+QTimerEvent (0x7fc38eada700) 0
+ vptr=((& QTimerEvent::_ZTV11QTimerEvent) + 16u)
+ QEvent (0x7fc38eada770) 0
+ primary-for QTimerEvent (0x7fc38eada700)
+
+Vtable for QChildEvent
+QChildEvent::_ZTV11QChildEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QChildEvent)
+16 QChildEvent::~QChildEvent
+24 QChildEvent::~QChildEvent
+
+Class QChildEvent
+ size=32 align=8
+ base size=32 base align=8
+QChildEvent (0x7fc38eadab60) 0
+ vptr=((& QChildEvent::_ZTV11QChildEvent) + 16u)
+ QEvent (0x7fc38eadabd0) 0
+ primary-for QChildEvent (0x7fc38eadab60)
+
+Vtable for QCustomEvent
+QCustomEvent::_ZTV12QCustomEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QCustomEvent)
+16 QCustomEvent::~QCustomEvent
+24 QCustomEvent::~QCustomEvent
+
+Class QCustomEvent
+ size=24 align=8
+ base size=20 base align=8
+QCustomEvent (0x7fc38eae4e00) 0
+ vptr=((& QCustomEvent::_ZTV12QCustomEvent) + 16u)
+ QEvent (0x7fc38eae4e70) 0
+ primary-for QCustomEvent (0x7fc38eae4e00)
+
+Vtable for QDynamicPropertyChangeEvent
+QDynamicPropertyChangeEvent::_ZTV27QDynamicPropertyChangeEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI27QDynamicPropertyChangeEvent)
+16 QDynamicPropertyChangeEvent::~QDynamicPropertyChangeEvent
+24 QDynamicPropertyChangeEvent::~QDynamicPropertyChangeEvent
+
+Class QDynamicPropertyChangeEvent
+ size=32 align=8
+ base size=32 base align=8
+QDynamicPropertyChangeEvent (0x7fc38eaf6620) 0
+ vptr=((& QDynamicPropertyChangeEvent::_ZTV27QDynamicPropertyChangeEvent) + 16u)
+ QEvent (0x7fc38eaf6690) 0
+ primary-for QDynamicPropertyChangeEvent (0x7fc38eaf6620)
+
+Vtable for QEventTransition
+QEventTransition::_ZTV16QEventTransition: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QEventTransition)
+16 QEventTransition::metaObject
+24 QEventTransition::qt_metacast
+32 QEventTransition::qt_metacall
+40 QEventTransition::~QEventTransition
+48 QEventTransition::~QEventTransition
+56 QEventTransition::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QEventTransition::eventTest
+120 QEventTransition::onTransition
+
+Class QEventTransition
+ size=16 align=8
+ base size=16 base align=8
+QEventTransition (0x7fc38eaf6af0) 0
+ vptr=((& QEventTransition::_ZTV16QEventTransition) + 16u)
+ QAbstractTransition (0x7fc38eaf6b60) 0
+ primary-for QEventTransition (0x7fc38eaf6af0)
+ QObject (0x7fc38eaf6bd0) 0
+ primary-for QAbstractTransition (0x7fc38eaf6b60)
+
+Vtable for QFinalState
+QFinalState::_ZTV11QFinalState: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QFinalState)
+16 QFinalState::metaObject
+24 QFinalState::qt_metacast
+32 QFinalState::qt_metacall
+40 QFinalState::~QFinalState
+48 QFinalState::~QFinalState
+56 QFinalState::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QFinalState::onEntry
+120 QFinalState::onExit
+
+Class QFinalState
+ size=16 align=8
+ base size=16 base align=8
+QFinalState (0x7fc38eb119a0) 0
+ vptr=((& QFinalState::_ZTV11QFinalState) + 16u)
+ QAbstractState (0x7fc38eb11a10) 0
+ primary-for QFinalState (0x7fc38eb119a0)
+ QObject (0x7fc38eb11a80) 0
+ primary-for QAbstractState (0x7fc38eb11a10)
+
+Vtable for QHistoryState
+QHistoryState::_ZTV13QHistoryState: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QHistoryState)
+16 QHistoryState::metaObject
+24 QHistoryState::qt_metacast
+32 QHistoryState::qt_metacall
+40 QHistoryState::~QHistoryState
+48 QHistoryState::~QHistoryState
+56 QHistoryState::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QHistoryState::onEntry
+120 QHistoryState::onExit
+
+Class QHistoryState
+ size=16 align=8
+ base size=16 base align=8
+QHistoryState (0x7fc38eb29230) 0
+ vptr=((& QHistoryState::_ZTV13QHistoryState) + 16u)
+ QAbstractState (0x7fc38eb292a0) 0
+ primary-for QHistoryState (0x7fc38eb29230)
+ QObject (0x7fc38eb29310) 0
+ primary-for QAbstractState (0x7fc38eb292a0)
+
+Vtable for QSignalTransition
+QSignalTransition::_ZTV17QSignalTransition: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QSignalTransition)
+16 QSignalTransition::metaObject
+24 QSignalTransition::qt_metacast
+32 QSignalTransition::qt_metacall
+40 QSignalTransition::~QSignalTransition
+48 QSignalTransition::~QSignalTransition
+56 QSignalTransition::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QSignalTransition::eventTest
+120 QSignalTransition::onTransition
+
+Class QSignalTransition
+ size=16 align=8
+ base size=16 base align=8
+QSignalTransition (0x7fc38eb3cf50) 0
+ vptr=((& QSignalTransition::_ZTV17QSignalTransition) + 16u)
+ QAbstractTransition (0x7fc38eb45000) 0
+ primary-for QSignalTransition (0x7fc38eb3cf50)
+ QObject (0x7fc38eb45070) 0
+ primary-for QAbstractTransition (0x7fc38eb45000)
+
+Vtable for QState
+QState::_ZTV6QState: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI6QState)
+16 QState::metaObject
+24 QState::qt_metacast
+32 QState::qt_metacall
+40 QState::~QState
+48 QState::~QState
+56 QState::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QState::onEntry
+120 QState::onExit
+
+Class QState
+ size=16 align=8
+ base size=16 base align=8
+QState (0x7fc38eb54af0) 0
+ vptr=((& QState::_ZTV6QState) + 16u)
+ QAbstractState (0x7fc38eb54b60) 0
+ primary-for QState (0x7fc38eb54af0)
+ QObject (0x7fc38eb54bd0) 0
+ primary-for QAbstractState (0x7fc38eb54b60)
+
+Vtable for QStateMachine::SignalEvent
+QStateMachine::SignalEvent::_ZTVN13QStateMachine11SignalEventE: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN13QStateMachine11SignalEventE)
+16 QStateMachine::SignalEvent::~SignalEvent
+24 QStateMachine::SignalEvent::~SignalEvent
+
+Class QStateMachine::SignalEvent
+ size=48 align=8
+ base size=48 base align=8
+QStateMachine::SignalEvent (0x7fc38e97b150) 0
+ vptr=((& QStateMachine::SignalEvent::_ZTVN13QStateMachine11SignalEventE) + 16u)
+ QEvent (0x7fc38e97b1c0) 0
+ primary-for QStateMachine::SignalEvent (0x7fc38e97b150)
+
+Vtable for QStateMachine::WrappedEvent
+QStateMachine::WrappedEvent::_ZTVN13QStateMachine12WrappedEventE: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN13QStateMachine12WrappedEventE)
+16 QStateMachine::WrappedEvent::~WrappedEvent
+24 QStateMachine::WrappedEvent::~WrappedEvent
+
+Class QStateMachine::WrappedEvent
+ size=40 align=8
+ base size=40 base align=8
+QStateMachine::WrappedEvent (0x7fc38e97b700) 0
+ vptr=((& QStateMachine::WrappedEvent::_ZTVN13QStateMachine12WrappedEventE) + 16u)
+ QEvent (0x7fc38e97b770) 0
+ primary-for QStateMachine::WrappedEvent (0x7fc38e97b700)
+
+Vtable for QStateMachine
+QStateMachine::_ZTV13QStateMachine: 20u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QStateMachine)
+16 QStateMachine::metaObject
+24 QStateMachine::qt_metacast
+32 QStateMachine::qt_metacall
+40 QStateMachine::~QStateMachine
+48 QStateMachine::~QStateMachine
+56 QStateMachine::event
+64 QStateMachine::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QStateMachine::onEntry
+120 QStateMachine::onExit
+128 QStateMachine::beginSelectTransitions
+136 QStateMachine::endSelectTransitions
+144 QStateMachine::beginMicrostep
+152 QStateMachine::endMicrostep
+
+Class QStateMachine
+ size=16 align=8
+ base size=16 base align=8
+QStateMachine (0x7fc38eb72ee0) 0
+ vptr=((& QStateMachine::_ZTV13QStateMachine) + 16u)
+ QState (0x7fc38eb72f50) 0
+ primary-for QStateMachine (0x7fc38eb72ee0)
+ QAbstractState (0x7fc38e97b000) 0
+ primary-for QState (0x7fc38eb72f50)
+ QObject (0x7fc38e97b070) 0
+ primary-for QAbstractState (0x7fc38e97b000)
+
+Class QBitArray
+ size=8 align=8
+ base size=8 base align=8
+QBitArray (0x7fc38e9ac150) 0
+
+Class QBitRef
+ size=16 align=8
+ base size=12 base align=8
+QBitRef (0x7fc38ea00e00) 0
+
+Class QByteArrayMatcher::Data
+ size=272 align=8
+ base size=272 base align=8
+QByteArrayMatcher::Data (0x7fc38ea13af0) 0
+
+Class QByteArrayMatcher
+ size=1040 align=8
+ base size=1040 base align=8
+QByteArrayMatcher (0x7fc38ea134d0) 0
+
+Class QCryptographicHash
+ size=8 align=8
+ base size=8 base align=8
+QCryptographicHash (0x7fc38ea4b150) 0
+
+Vtable for QtSharedPointer::ExternalRefCountData
+QtSharedPointer::ExternalRefCountData::_ZTVN15QtSharedPointer20ExternalRefCountDataE: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN15QtSharedPointer20ExternalRefCountDataE)
+16 QtSharedPointer::ExternalRefCountData::~ExternalRefCountData
+24 QtSharedPointer::ExternalRefCountData::~ExternalRefCountData
+32 QtSharedPointer::ExternalRefCountData::destroy
+
+Class QtSharedPointer::ExternalRefCountData
+ size=16 align=8
+ base size=16 base align=8
+QtSharedPointer::ExternalRefCountData (0x7fc38e876070) 0
+ vptr=((& QtSharedPointer::ExternalRefCountData::_ZTVN15QtSharedPointer20ExternalRefCountDataE) + 16u)
+
+Vtable for QtSharedPointer::ExternalRefCountWithDestroyFn
+QtSharedPointer::ExternalRefCountWithDestroyFn::_ZTVN15QtSharedPointer29ExternalRefCountWithDestroyFnE: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN15QtSharedPointer29ExternalRefCountWithDestroyFnE)
+16 QtSharedPointer::ExternalRefCountWithDestroyFn::~ExternalRefCountWithDestroyFn
+24 QtSharedPointer::ExternalRefCountWithDestroyFn::~ExternalRefCountWithDestroyFn
+32 QtSharedPointer::ExternalRefCountWithDestroyFn::destroy
+
+Class QtSharedPointer::ExternalRefCountWithDestroyFn
+ size=24 align=8
+ base size=24 base align=8
+QtSharedPointer::ExternalRefCountWithDestroyFn (0x7fc38e88e930) 0
+ vptr=((& QtSharedPointer::ExternalRefCountWithDestroyFn::_ZTVN15QtSharedPointer29ExternalRefCountWithDestroyFnE) + 16u)
+ QtSharedPointer::ExternalRefCountData (0x7fc38e88e9a0) 0
+ primary-for QtSharedPointer::ExternalRefCountWithDestroyFn (0x7fc38e88e930)
+
+Class QDate
+ size=4 align=4
+ base size=4 base align=4
+QDate (0x7fc38e9165b0) 0
+
+Class QTime
+ size=4 align=4
+ base size=4 base align=4
+QTime (0x7fc38e946540) 0
+
+Class QDateTime
+ size=8 align=8
+ base size=8 base align=8
+QDateTime (0x7fc38e963af0) 0
+
+Class QEasingCurve
+ size=8 align=8
+ base size=8 base align=8
+QEasingCurve (0x7fc38e7a9000) 0
+
+Class QPoint
+ size=8 align=4
+ base size=8 base align=4
+QPoint (0x7fc38e7a9ee0) 0
+
+Class QPointF
+ size=16 align=8
+ base size=16 base align=8
+QPointF (0x7fc38e7e9af0) 0
+
+Class QLine
+ size=16 align=4
+ base size=16 base align=4
+QLine (0x7fc38e829af0) 0
+
+Class QLineF
+ size=32 align=8
+ base size=32 base align=8
+QLineF (0x7fc38e8649a0) 0
+
+Class QLinkedListData
+ size=32 align=8
+ base size=32 base align=8
+QLinkedListData (0x7fc38e6ba460) 0
+
+Class QMargins
+ size=16 align=4
+ base size=16 base align=4
+QMargins (0x7fc38e578380) 0
+
+Class QSize
+ size=8 align=4
+ base size=8 base align=4
+QSize (0x7fc38e5a5150) 0
+
+Class QSizeF
+ size=16 align=8
+ base size=16 base align=8
+QSizeF (0x7fc38e5e7e00) 0
+
+Class QRect
+ size=16 align=4
+ base size=16 base align=4
+QRect (0x7fc38e638380) 0
+
+Class QRectF
+ size=32 align=8
+ base size=32 base align=8
+QRectF (0x7fc38e4e6d20) 0
+
+Class QLatin1Literal
+ size=16 align=8
+ base size=16 base align=8
+QLatin1Literal (0x7fc38e395ee0) 0
+
+Class QAbstractConcatenable
+ size=1 align=1
+ base size=0 base align=1
+QAbstractConcatenable (0x7fc38e3a73f0) 0 empty
+
+Class QTextBoundaryFinder
+ size=48 align=8
+ base size=48 base align=8
+QTextBoundaryFinder (0x7fc38e3de380) 0
+
+Vtable for QTimeLine
+QTimeLine::_ZTV9QTimeLine: 15u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QTimeLine)
+16 QTimeLine::metaObject
+24 QTimeLine::qt_metacast
+32 QTimeLine::qt_metacall
+40 QTimeLine::~QTimeLine
+48 QTimeLine::~QTimeLine
+56 QObject::event
+64 QObject::eventFilter
+72 QTimeLine::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QTimeLine::valueForTime
+
+Class QTimeLine
+ size=16 align=8
+ base size=16 base align=8
+QTimeLine (0x7fc38e3ed700) 0
+ vptr=((& QTimeLine::_ZTV9QTimeLine) + 16u)
+ QObject (0x7fc38e3ed770) 0
+ primary-for QTimeLine (0x7fc38e3ed700)
+
+Vtable for QRunnable
+QRunnable::_ZTV9QRunnable: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QRunnable)
+16 __cxa_pure_virtual
+24 QRunnable::~QRunnable
+32 QRunnable::~QRunnable
+
+Class QRunnable
+ size=16 align=8
+ base size=12 base align=8
+QRunnable (0x7fc38e416f50) 0
+ vptr=((& QRunnable::_ZTV9QRunnable) + 16u)
+
+Class QMutex
+ size=8 align=8
+ base size=8 base align=8
+QMutex (0x7fc38e44e620) 0
+
+Class QMutexLocker
+ size=8 align=8
+ base size=8 base align=8
+QMutexLocker (0x7fc38e45d1c0) 0
+
+Vtable for QtConcurrent::Exception
+QtConcurrent::Exception::_ZTVN12QtConcurrent9ExceptionE: 7u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN12QtConcurrent9ExceptionE)
+16 QtConcurrent::Exception::~Exception
+24 QtConcurrent::Exception::~Exception
+32 std::exception::what
+40 QtConcurrent::Exception::raise
+48 QtConcurrent::Exception::clone
+
+Class QtConcurrent::Exception
+ size=8 align=8
+ base size=8 base align=8
+QtConcurrent::Exception (0x7fc38e2724d0) 0 nearly-empty
+ vptr=((& QtConcurrent::Exception::_ZTVN12QtConcurrent9ExceptionE) + 16u)
+ std::exception (0x7fc38e272540) 0 nearly-empty
+ primary-for QtConcurrent::Exception (0x7fc38e2724d0)
+
+Vtable for QtConcurrent::UnhandledException
+QtConcurrent::UnhandledException::_ZTVN12QtConcurrent18UnhandledExceptionE: 7u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN12QtConcurrent18UnhandledExceptionE)
+16 QtConcurrent::UnhandledException::~UnhandledException
+24 QtConcurrent::UnhandledException::~UnhandledException
+32 std::exception::what
+40 QtConcurrent::UnhandledException::raise
+48 QtConcurrent::UnhandledException::clone
+
+Class QtConcurrent::UnhandledException
+ size=8 align=8
+ base size=8 base align=8
+QtConcurrent::UnhandledException (0x7fc38e272770) 0 nearly-empty
+ vptr=((& QtConcurrent::UnhandledException::_ZTVN12QtConcurrent18UnhandledExceptionE) + 16u)
+ QtConcurrent::Exception (0x7fc38e2727e0) 0 nearly-empty
+ primary-for QtConcurrent::UnhandledException (0x7fc38e272770)
+ std::exception (0x7fc38e272850) 0 nearly-empty
+ primary-for QtConcurrent::Exception (0x7fc38e2727e0)
+
+Class QtConcurrent::internal::ExceptionHolder
+ size=8 align=8
+ base size=8 base align=8
+QtConcurrent::internal::ExceptionHolder (0x7fc38e272a80) 0
+
+Class QtConcurrent::internal::ExceptionStore
+ size=8 align=8
+ base size=8 base align=8
+QtConcurrent::internal::ExceptionStore (0x7fc38e272e00) 0
+
+Class QtConcurrent::ResultItem
+ size=16 align=8
+ base size=16 base align=8
+QtConcurrent::ResultItem (0x7fc38e272e70) 0
+
+Class QtConcurrent::ResultIteratorBase
+ size=16 align=8
+ base size=12 base align=8
+QtConcurrent::ResultIteratorBase (0x7fc38e28ad90) 0
+
+Vtable for QtConcurrent::ResultStoreBase
+QtConcurrent::ResultStoreBase::_ZTVN12QtConcurrent15ResultStoreBaseE: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN12QtConcurrent15ResultStoreBaseE)
+16 QtConcurrent::ResultStoreBase::~ResultStoreBase
+24 QtConcurrent::ResultStoreBase::~ResultStoreBase
+
+Class QtConcurrent::ResultStoreBase
+ size=48 align=8
+ base size=44 base align=8
+QtConcurrent::ResultStoreBase (0x7fc38e28e930) 0
+ vptr=((& QtConcurrent::ResultStoreBase::_ZTVN12QtConcurrent15ResultStoreBaseE) + 16u)
+
+Vtable for QFutureInterfaceBase
+QFutureInterfaceBase::_ZTV20QFutureInterfaceBase: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI20QFutureInterfaceBase)
+16 QFutureInterfaceBase::~QFutureInterfaceBase
+24 QFutureInterfaceBase::~QFutureInterfaceBase
+
+Class QFutureInterfaceBase
+ size=16 align=8
+ base size=16 base align=8
+QFutureInterfaceBase (0x7fc38e2cdd90) 0
+ vptr=((& QFutureInterfaceBase::_ZTV20QFutureInterfaceBase) + 16u)
+
+Vtable for QFutureWatcherBase
+QFutureWatcherBase::_ZTV18QFutureWatcherBase: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QFutureWatcherBase)
+16 QFutureWatcherBase::metaObject
+24 QFutureWatcherBase::qt_metacast
+32 QFutureWatcherBase::qt_metacall
+40 QFutureWatcherBase::~QFutureWatcherBase
+48 QFutureWatcherBase::~QFutureWatcherBase
+56 QFutureWatcherBase::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QFutureWatcherBase::connectNotify
+104 QFutureWatcherBase::disconnectNotify
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+
+Class QFutureWatcherBase
+ size=16 align=8
+ base size=16 base align=8
+QFutureWatcherBase (0x7fc38e1b3690) 0
+ vptr=((& QFutureWatcherBase::_ZTV18QFutureWatcherBase) + 16u)
+ QObject (0x7fc38e1b3700) 0
+ primary-for QFutureWatcherBase (0x7fc38e1b3690)
+
+Vtable for QThread
+QThread::_ZTV7QThread: 15u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QThread)
+16 QThread::metaObject
+24 QThread::qt_metacast
+32 QThread::qt_metacall
+40 QThread::~QThread
+48 QThread::~QThread
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QThread::run
+
+Class QThread
+ size=16 align=8
+ base size=16 base align=8
+QThread (0x7fc38e205a80) 0
+ vptr=((& QThread::_ZTV7QThread) + 16u)
+ QObject (0x7fc38e205af0) 0
+ primary-for QThread (0x7fc38e205a80)
+
+Vtable for QThreadPool
+QThreadPool::_ZTV11QThreadPool: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QThreadPool)
+16 QThreadPool::metaObject
+24 QThreadPool::qt_metacast
+32 QThreadPool::qt_metacall
+40 QThreadPool::~QThreadPool
+48 QThreadPool::~QThreadPool
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QThreadPool
+ size=16 align=8
+ base size=16 base align=8
+QThreadPool (0x7fc38e22b930) 0
+ vptr=((& QThreadPool::_ZTV11QThreadPool) + 16u)
+ QObject (0x7fc38e22b9a0) 0
+ primary-for QThreadPool (0x7fc38e22b930)
+
+Class QWaitCondition
+ size=8 align=8
+ base size=8 base align=8
+QWaitCondition (0x7fc38e23aee0) 0
+
+Class QSemaphore
+ size=8 align=8
+ base size=8 base align=8
+QSemaphore (0x7fc38e246460) 0
+
+Class QtConcurrent::ThreadEngineBarrier
+ size=24 align=8
+ base size=24 base align=8
+QtConcurrent::ThreadEngineBarrier (0x7fc38e2469a0) 0
+
+Vtable for QtConcurrent::ThreadEngineBase
+QtConcurrent::ThreadEngineBase::_ZTVN12QtConcurrent16ThreadEngineBaseE: 11u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN12QtConcurrent16ThreadEngineBaseE)
+16 QtConcurrent::ThreadEngineBase::run
+24 QtConcurrent::ThreadEngineBase::~ThreadEngineBase
+32 QtConcurrent::ThreadEngineBase::~ThreadEngineBase
+40 QtConcurrent::ThreadEngineBase::start
+48 QtConcurrent::ThreadEngineBase::finish
+56 QtConcurrent::ThreadEngineBase::threadFunction
+64 QtConcurrent::ThreadEngineBase::shouldStartThread
+72 QtConcurrent::ThreadEngineBase::shouldThrottleThread
+80 __cxa_pure_virtual
+
+Class QtConcurrent::ThreadEngineBase
+ size=64 align=8
+ base size=64 base align=8
+QtConcurrent::ThreadEngineBase (0x7fc38e246a80) 0
+ vptr=((& QtConcurrent::ThreadEngineBase::_ZTVN12QtConcurrent16ThreadEngineBaseE) + 16u)
+ QRunnable (0x7fc38e246af0) 0
+ primary-for QtConcurrent::ThreadEngineBase (0x7fc38e246a80)
+
+VTT for QtConcurrent::ThreadEngine<void>
+QtConcurrent::ThreadEngine<void>::_ZTTN12QtConcurrent12ThreadEngineIvEE: 2u entries
+0 ((& QtConcurrent::ThreadEngine<void>::_ZTVN12QtConcurrent12ThreadEngineIvEE) + 24u)
+8 ((& QtConcurrent::ThreadEngine<void>::_ZTVN12QtConcurrent12ThreadEngineIvEE) + 136u)
+
+Class QtConcurrent::BlockSizeManager
+ size=96 align=8
+ base size=92 base align=8
+QtConcurrent::BlockSizeManager (0x7fc38e092ee0) 0
+
+Vtable for QFactoryInterface
+QFactoryInterface::_ZTV17QFactoryInterface: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QFactoryInterface)
+16 QFactoryInterface::~QFactoryInterface
+24 QFactoryInterface::~QFactoryInterface
+32 __cxa_pure_virtual
+
+Class QFactoryInterface
+ size=8 align=8
+ base size=8 base align=8
+QFactoryInterface (0x7fc38dd3cd20) 0 nearly-empty
+ vptr=((& QFactoryInterface::_ZTV17QFactoryInterface) + 16u)
+
+Vtable for QTextCodecFactoryInterface
+QTextCodecFactoryInterface::_ZTV26QTextCodecFactoryInterface: 6u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI26QTextCodecFactoryInterface)
+16 QTextCodecFactoryInterface::~QTextCodecFactoryInterface
+24 QTextCodecFactoryInterface::~QTextCodecFactoryInterface
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+
+Class QTextCodecFactoryInterface
+ size=8 align=8
+ base size=8 base align=8
+QTextCodecFactoryInterface (0x7fc38db6f000) 0 nearly-empty
+ vptr=((& QTextCodecFactoryInterface::_ZTV26QTextCodecFactoryInterface) + 16u)
+ QFactoryInterface (0x7fc38db6f070) 0 nearly-empty
+ primary-for QTextCodecFactoryInterface (0x7fc38db6f000)
+
+Vtable for QTextCodecPlugin
+QTextCodecPlugin::_ZTV16QTextCodecPlugin: 27u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QTextCodecPlugin)
+16 QTextCodecPlugin::metaObject
+24 QTextCodecPlugin::qt_metacast
+32 QTextCodecPlugin::qt_metacall
+40 QTextCodecPlugin::~QTextCodecPlugin
+48 QTextCodecPlugin::~QTextCodecPlugin
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 __cxa_pure_virtual
+136 __cxa_pure_virtual
+144 __cxa_pure_virtual
+152 QTextCodecPlugin::keys
+160 QTextCodecPlugin::create
+168 (int (*)(...))-0x00000000000000010
+176 (int (*)(...))(& _ZTI16QTextCodecPlugin)
+184 QTextCodecPlugin::_ZThn16_N16QTextCodecPluginD1Ev
+192 QTextCodecPlugin::_ZThn16_N16QTextCodecPluginD0Ev
+200 QTextCodecPlugin::_ZThn16_NK16QTextCodecPlugin4keysEv
+208 QTextCodecPlugin::_ZThn16_N16QTextCodecPlugin6createERK7QString
+
+Class QTextCodecPlugin
+ size=24 align=8
+ base size=24 base align=8
+QTextCodecPlugin (0x7fc38db78580) 0
+ vptr=((& QTextCodecPlugin::_ZTV16QTextCodecPlugin) + 16u)
+ QObject (0x7fc38db6fa80) 0
+ primary-for QTextCodecPlugin (0x7fc38db78580)
+ QTextCodecFactoryInterface (0x7fc38db6faf0) 16 nearly-empty
+ vptr=((& QTextCodecPlugin::_ZTV16QTextCodecPlugin) + 184u)
+ QFactoryInterface (0x7fc38db6fb60) 16 nearly-empty
+ primary-for QTextCodecFactoryInterface (0x7fc38db6faf0)
+
+Class QLibraryInfo
+ size=1 align=1
+ base size=0 base align=1
+QLibraryInfo (0x7fc38dbc6150) 0 empty
+
+Vtable for QEventLoop
+QEventLoop::_ZTV10QEventLoop: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QEventLoop)
+16 QEventLoop::metaObject
+24 QEventLoop::qt_metacast
+32 QEventLoop::qt_metacall
+40 QEventLoop::~QEventLoop
+48 QEventLoop::~QEventLoop
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QEventLoop
+ size=16 align=8
+ base size=16 base align=8
+QEventLoop (0x7fc38dbc62a0) 0
+ vptr=((& QEventLoop::_ZTV10QEventLoop) + 16u)
+ QObject (0x7fc38dbc6310) 0
+ primary-for QEventLoop (0x7fc38dbc62a0)
+
+Vtable for QAbstractEventDispatcher
+QAbstractEventDispatcher::_ZTV24QAbstractEventDispatcher: 27u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI24QAbstractEventDispatcher)
+16 QAbstractEventDispatcher::metaObject
+24 QAbstractEventDispatcher::qt_metacast
+32 QAbstractEventDispatcher::qt_metacall
+40 QAbstractEventDispatcher::~QAbstractEventDispatcher
+48 QAbstractEventDispatcher::~QAbstractEventDispatcher
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 __cxa_pure_virtual
+136 __cxa_pure_virtual
+144 __cxa_pure_virtual
+152 __cxa_pure_virtual
+160 __cxa_pure_virtual
+168 __cxa_pure_virtual
+176 __cxa_pure_virtual
+184 __cxa_pure_virtual
+192 __cxa_pure_virtual
+200 QAbstractEventDispatcher::startingUp
+208 QAbstractEventDispatcher::closingDown
+
+Class QAbstractEventDispatcher
+ size=16 align=8
+ base size=16 base align=8
+QAbstractEventDispatcher (0x7fc38dbfebd0) 0
+ vptr=((& QAbstractEventDispatcher::_ZTV24QAbstractEventDispatcher) + 16u)
+ QObject (0x7fc38dbfec40) 0
+ primary-for QAbstractEventDispatcher (0x7fc38dbfebd0)
+
+Class QModelIndex
+ size=24 align=8
+ base size=24 base align=8
+QModelIndex (0x7fc38dc28a80) 0
+
+Class QPersistentModelIndex
+ size=8 align=8
+ base size=8 base align=8
+QPersistentModelIndex (0x7fc38dc52540) 0
+
+Vtable for QAbstractItemModel
+QAbstractItemModel::_ZTV18QAbstractItemModel: 42u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QAbstractItemModel)
+16 QAbstractItemModel::metaObject
+24 QAbstractItemModel::qt_metacast
+32 QAbstractItemModel::qt_metacall
+40 QAbstractItemModel::~QAbstractItemModel
+48 QAbstractItemModel::~QAbstractItemModel
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 __cxa_pure_virtual
+136 __cxa_pure_virtual
+144 QAbstractItemModel::hasChildren
+152 __cxa_pure_virtual
+160 QAbstractItemModel::setData
+168 QAbstractItemModel::headerData
+176 QAbstractItemModel::setHeaderData
+184 QAbstractItemModel::itemData
+192 QAbstractItemModel::setItemData
+200 QAbstractItemModel::mimeTypes
+208 QAbstractItemModel::mimeData
+216 QAbstractItemModel::dropMimeData
+224 QAbstractItemModel::supportedDropActions
+232 QAbstractItemModel::insertRows
+240 QAbstractItemModel::insertColumns
+248 QAbstractItemModel::removeRows
+256 QAbstractItemModel::removeColumns
+264 QAbstractItemModel::fetchMore
+272 QAbstractItemModel::canFetchMore
+280 QAbstractItemModel::flags
+288 QAbstractItemModel::sort
+296 QAbstractItemModel::buddy
+304 QAbstractItemModel::match
+312 QAbstractItemModel::span
+320 QAbstractItemModel::submit
+328 QAbstractItemModel::revert
+
+Class QAbstractItemModel
+ size=16 align=8
+ base size=16 base align=8
+QAbstractItemModel (0x7fc38dc5c850) 0
+ vptr=((& QAbstractItemModel::_ZTV18QAbstractItemModel) + 16u)
+ QObject (0x7fc38dc5c8c0) 0
+ primary-for QAbstractItemModel (0x7fc38dc5c850)
+
+Vtable for QAbstractTableModel
+QAbstractTableModel::_ZTV19QAbstractTableModel: 42u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QAbstractTableModel)
+16 QAbstractTableModel::metaObject
+24 QAbstractTableModel::qt_metacast
+32 QAbstractTableModel::qt_metacall
+40 QAbstractTableModel::~QAbstractTableModel
+48 QAbstractTableModel::~QAbstractTableModel
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QAbstractTableModel::index
+120 QAbstractTableModel::parent
+128 __cxa_pure_virtual
+136 __cxa_pure_virtual
+144 QAbstractTableModel::hasChildren
+152 __cxa_pure_virtual
+160 QAbstractItemModel::setData
+168 QAbstractItemModel::headerData
+176 QAbstractItemModel::setHeaderData
+184 QAbstractItemModel::itemData
+192 QAbstractItemModel::setItemData
+200 QAbstractItemModel::mimeTypes
+208 QAbstractItemModel::mimeData
+216 QAbstractTableModel::dropMimeData
+224 QAbstractItemModel::supportedDropActions
+232 QAbstractItemModel::insertRows
+240 QAbstractItemModel::insertColumns
+248 QAbstractItemModel::removeRows
+256 QAbstractItemModel::removeColumns
+264 QAbstractItemModel::fetchMore
+272 QAbstractItemModel::canFetchMore
+280 QAbstractItemModel::flags
+288 QAbstractItemModel::sort
+296 QAbstractItemModel::buddy
+304 QAbstractItemModel::match
+312 QAbstractItemModel::span
+320 QAbstractItemModel::submit
+328 QAbstractItemModel::revert
+
+Class QAbstractTableModel
+ size=16 align=8
+ base size=16 base align=8
+QAbstractTableModel (0x7fc38dab9b60) 0
+ vptr=((& QAbstractTableModel::_ZTV19QAbstractTableModel) + 16u)
+ QAbstractItemModel (0x7fc38dab9bd0) 0
+ primary-for QAbstractTableModel (0x7fc38dab9b60)
+ QObject (0x7fc38dab9c40) 0
+ primary-for QAbstractItemModel (0x7fc38dab9bd0)
+
+Vtable for QAbstractListModel
+QAbstractListModel::_ZTV18QAbstractListModel: 42u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QAbstractListModel)
+16 QAbstractListModel::metaObject
+24 QAbstractListModel::qt_metacast
+32 QAbstractListModel::qt_metacall
+40 QAbstractListModel::~QAbstractListModel
+48 QAbstractListModel::~QAbstractListModel
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QAbstractListModel::index
+120 QAbstractListModel::parent
+128 __cxa_pure_virtual
+136 QAbstractListModel::columnCount
+144 QAbstractListModel::hasChildren
+152 __cxa_pure_virtual
+160 QAbstractItemModel::setData
+168 QAbstractItemModel::headerData
+176 QAbstractItemModel::setHeaderData
+184 QAbstractItemModel::itemData
+192 QAbstractItemModel::setItemData
+200 QAbstractItemModel::mimeTypes
+208 QAbstractItemModel::mimeData
+216 QAbstractListModel::dropMimeData
+224 QAbstractItemModel::supportedDropActions
+232 QAbstractItemModel::insertRows
+240 QAbstractItemModel::insertColumns
+248 QAbstractItemModel::removeRows
+256 QAbstractItemModel::removeColumns
+264 QAbstractItemModel::fetchMore
+272 QAbstractItemModel::canFetchMore
+280 QAbstractItemModel::flags
+288 QAbstractItemModel::sort
+296 QAbstractItemModel::buddy
+304 QAbstractItemModel::match
+312 QAbstractItemModel::span
+320 QAbstractItemModel::submit
+328 QAbstractItemModel::revert
+
+Class QAbstractListModel
+ size=16 align=8
+ base size=16 base align=8
+QAbstractListModel (0x7fc38dad30e0) 0
+ vptr=((& QAbstractListModel::_ZTV18QAbstractListModel) + 16u)
+ QAbstractItemModel (0x7fc38dad3150) 0
+ primary-for QAbstractListModel (0x7fc38dad30e0)
+ QObject (0x7fc38dad31c0) 0
+ primary-for QAbstractItemModel (0x7fc38dad3150)
+
+Class QBasicTimer
+ size=4 align=4
+ base size=4 base align=4
+QBasicTimer (0x7fc38db05230) 0
+
+Vtable for QCoreApplication
+QCoreApplication::_ZTV16QCoreApplication: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QCoreApplication)
+16 QCoreApplication::metaObject
+24 QCoreApplication::qt_metacast
+32 QCoreApplication::qt_metacall
+40 QCoreApplication::~QCoreApplication
+48 QCoreApplication::~QCoreApplication
+56 QCoreApplication::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QCoreApplication::notify
+120 QCoreApplication::compressEvent
+
+Class QCoreApplication
+ size=16 align=8
+ base size=16 base align=8
+QCoreApplication (0x7fc38db0f620) 0
+ vptr=((& QCoreApplication::_ZTV16QCoreApplication) + 16u)
+ QObject (0x7fc38db0f690) 0
+ primary-for QCoreApplication (0x7fc38db0f620)
+
+Class __exception
+ size=40 align=8
+ base size=40 base align=8
+__exception (0x7fc38db44310) 0
+
+Class QMetaMethod
+ size=16 align=8
+ base size=12 base align=8
+QMetaMethod (0x7fc38d9b0770) 0
+
+Class QMetaEnum
+ size=16 align=8
+ base size=12 base align=8
+QMetaEnum (0x7fc38d9cabd0) 0
+
+Class QMetaProperty
+ size=32 align=8
+ base size=32 base align=8
+QMetaProperty (0x7fc38d9d9930) 0
+
+Class QMetaClassInfo
+ size=16 align=8
+ base size=12 base align=8
+QMetaClassInfo (0x7fc38d9ea000) 0
+
+Vtable for QMimeData
+QMimeData::_ZTV9QMimeData: 17u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QMimeData)
+16 QMimeData::metaObject
+24 QMimeData::qt_metacast
+32 QMimeData::qt_metacall
+40 QMimeData::~QMimeData
+48 QMimeData::~QMimeData
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QMimeData::hasFormat
+120 QMimeData::formats
+128 QMimeData::retrieveData
+
+Class QMimeData
+ size=16 align=8
+ base size=16 base align=8
+QMimeData (0x7fc38d9eaaf0) 0
+ vptr=((& QMimeData::_ZTV9QMimeData) + 16u)
+ QObject (0x7fc38d9eab60) 0
+ primary-for QMimeData (0x7fc38d9eaaf0)
+
+Vtable for QObjectCleanupHandler
+QObjectCleanupHandler::_ZTV21QObjectCleanupHandler: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI21QObjectCleanupHandler)
+16 QObjectCleanupHandler::metaObject
+24 QObjectCleanupHandler::qt_metacast
+32 QObjectCleanupHandler::qt_metacall
+40 QObjectCleanupHandler::~QObjectCleanupHandler
+48 QObjectCleanupHandler::~QObjectCleanupHandler
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QObjectCleanupHandler
+ size=24 align=8
+ base size=24 base align=8
+QObjectCleanupHandler (0x7fc38da0d380) 0
+ vptr=((& QObjectCleanupHandler::_ZTV21QObjectCleanupHandler) + 16u)
+ QObject (0x7fc38da0d3f0) 0
+ primary-for QObjectCleanupHandler (0x7fc38da0d380)
+
+Vtable for QSharedMemory
+QSharedMemory::_ZTV13QSharedMemory: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QSharedMemory)
+16 QSharedMemory::metaObject
+24 QSharedMemory::qt_metacast
+32 QSharedMemory::qt_metacall
+40 QSharedMemory::~QSharedMemory
+48 QSharedMemory::~QSharedMemory
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QSharedMemory
+ size=16 align=8
+ base size=16 base align=8
+QSharedMemory (0x7fc38da1f4d0) 0
+ vptr=((& QSharedMemory::_ZTV13QSharedMemory) + 16u)
+ QObject (0x7fc38da1f540) 0
+ primary-for QSharedMemory (0x7fc38da1f4d0)
+
+Vtable for QSignalMapper
+QSignalMapper::_ZTV13QSignalMapper: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QSignalMapper)
+16 QSignalMapper::metaObject
+24 QSignalMapper::qt_metacast
+32 QSignalMapper::qt_metacall
+40 QSignalMapper::~QSignalMapper
+48 QSignalMapper::~QSignalMapper
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QSignalMapper
+ size=16 align=8
+ base size=16 base align=8
+QSignalMapper (0x7fc38da3c2a0) 0
+ vptr=((& QSignalMapper::_ZTV13QSignalMapper) + 16u)
+ QObject (0x7fc38da3c310) 0
+ primary-for QSignalMapper (0x7fc38da3c2a0)
+
+Vtable for QSocketNotifier
+QSocketNotifier::_ZTV15QSocketNotifier: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QSocketNotifier)
+16 QSocketNotifier::metaObject
+24 QSocketNotifier::qt_metacast
+32 QSocketNotifier::qt_metacall
+40 QSocketNotifier::~QSocketNotifier
+48 QSocketNotifier::~QSocketNotifier
+56 QSocketNotifier::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QSocketNotifier
+ size=32 align=8
+ base size=25 base align=8
+QSocketNotifier (0x7fc38da55690) 0
+ vptr=((& QSocketNotifier::_ZTV15QSocketNotifier) + 16u)
+ QObject (0x7fc38da55700) 0
+ primary-for QSocketNotifier (0x7fc38da55690)
+
+Class QSystemSemaphore
+ size=8 align=8
+ base size=8 base align=8
+QSystemSemaphore (0x7fc38d86fa10) 0
+
+Vtable for QTimer
+QTimer::_ZTV6QTimer: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI6QTimer)
+16 QTimer::metaObject
+24 QTimer::qt_metacast
+32 QTimer::qt_metacall
+40 QTimer::~QTimer
+48 QTimer::~QTimer
+56 QObject::event
+64 QObject::eventFilter
+72 QTimer::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QTimer
+ size=32 align=8
+ base size=29 base align=8
+QTimer (0x7fc38d87a460) 0
+ vptr=((& QTimer::_ZTV6QTimer) + 16u)
+ QObject (0x7fc38d87a4d0) 0
+ primary-for QTimer (0x7fc38d87a460)
+
+Vtable for QTranslator
+QTranslator::_ZTV11QTranslator: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QTranslator)
+16 QTranslator::metaObject
+24 QTranslator::qt_metacast
+32 QTranslator::qt_metacall
+40 QTranslator::~QTranslator
+48 QTranslator::~QTranslator
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QTranslator::translate
+120 QTranslator::isEmpty
+
+Class QTranslator
+ size=16 align=8
+ base size=16 base align=8
+QTranslator (0x7fc38d89f9a0) 0
+ vptr=((& QTranslator::_ZTV11QTranslator) + 16u)
+ QObject (0x7fc38d89fa10) 0
+ primary-for QTranslator (0x7fc38d89f9a0)
+
+Vtable for QLibrary
+QLibrary::_ZTV8QLibrary: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI8QLibrary)
+16 QLibrary::metaObject
+24 QLibrary::qt_metacast
+32 QLibrary::qt_metacall
+40 QLibrary::~QLibrary
+48 QLibrary::~QLibrary
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QLibrary
+ size=32 align=8
+ base size=25 base align=8
+QLibrary (0x7fc38d8b9930) 0
+ vptr=((& QLibrary::_ZTV8QLibrary) + 16u)
+ QObject (0x7fc38d8b99a0) 0
+ primary-for QLibrary (0x7fc38d8b9930)
+
+Vtable for QPluginLoader
+QPluginLoader::_ZTV13QPluginLoader: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QPluginLoader)
+16 QPluginLoader::metaObject
+24 QPluginLoader::qt_metacast
+32 QPluginLoader::qt_metacall
+40 QPluginLoader::~QPluginLoader
+48 QPluginLoader::~QPluginLoader
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QPluginLoader
+ size=32 align=8
+ base size=25 base align=8
+QPluginLoader (0x7fc38d9063f0) 0
+ vptr=((& QPluginLoader::_ZTV13QPluginLoader) + 16u)
+ QObject (0x7fc38d906460) 0
+ primary-for QPluginLoader (0x7fc38d9063f0)
+
+Class QUuid
+ size=16 align=4
+ base size=16 base align=4
+QUuid (0x7fc38d915b60) 0
+
+Class QReadWriteLock
+ size=8 align=8
+ base size=8 base align=8
+QReadWriteLock (0x7fc38d93e4d0) 0
+
+Class QReadLocker
+ size=8 align=8
+ base size=8 base align=8
+QReadLocker (0x7fc38d93eb60) 0
+
+Class QWriteLocker
+ size=8 align=8
+ base size=8 base align=8
+QWriteLocker (0x7fc38d95cee0) 0
+
+Class QThreadStorageData
+ size=4 align=4
+ base size=4 base align=4
+QThreadStorageData (0x7fc38d7762a0) 0
+
+Vtable for QAbstractAnimation
+QAbstractAnimation::_ZTV18QAbstractAnimation: 18u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QAbstractAnimation)
+16 QAbstractAnimation::metaObject
+24 QAbstractAnimation::qt_metacast
+32 QAbstractAnimation::qt_metacall
+40 QAbstractAnimation::~QAbstractAnimation
+48 QAbstractAnimation::~QAbstractAnimation
+56 QAbstractAnimation::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 QAbstractAnimation::updateState
+136 QAbstractAnimation::updateDirection
+
+Class QAbstractAnimation
+ size=16 align=8
+ base size=16 base align=8
+QAbstractAnimation (0x7fc38d776a10) 0
+ vptr=((& QAbstractAnimation::_ZTV18QAbstractAnimation) + 16u)
+ QObject (0x7fc38d776a80) 0
+ primary-for QAbstractAnimation (0x7fc38d776a10)
+
+Vtable for QAnimationGroup
+QAnimationGroup::_ZTV15QAnimationGroup: 18u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QAnimationGroup)
+16 QAnimationGroup::metaObject
+24 QAnimationGroup::qt_metacast
+32 QAnimationGroup::qt_metacall
+40 QAnimationGroup::~QAnimationGroup
+48 QAnimationGroup::~QAnimationGroup
+56 QAnimationGroup::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 QAbstractAnimation::updateState
+136 QAbstractAnimation::updateDirection
+
+Class QAnimationGroup
+ size=16 align=8
+ base size=16 base align=8
+QAnimationGroup (0x7fc38d7ad150) 0
+ vptr=((& QAnimationGroup::_ZTV15QAnimationGroup) + 16u)
+ QAbstractAnimation (0x7fc38d7ad1c0) 0
+ primary-for QAnimationGroup (0x7fc38d7ad150)
+ QObject (0x7fc38d7ad230) 0
+ primary-for QAbstractAnimation (0x7fc38d7ad1c0)
+
+Vtable for QParallelAnimationGroup
+QParallelAnimationGroup::_ZTV23QParallelAnimationGroup: 18u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI23QParallelAnimationGroup)
+16 QParallelAnimationGroup::metaObject
+24 QParallelAnimationGroup::qt_metacast
+32 QParallelAnimationGroup::qt_metacall
+40 QParallelAnimationGroup::~QParallelAnimationGroup
+48 QParallelAnimationGroup::~QParallelAnimationGroup
+56 QParallelAnimationGroup::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QParallelAnimationGroup::duration
+120 QParallelAnimationGroup::updateCurrentTime
+128 QParallelAnimationGroup::updateState
+136 QParallelAnimationGroup::updateDirection
+
+Class QParallelAnimationGroup
+ size=16 align=8
+ base size=16 base align=8
+QParallelAnimationGroup (0x7fc38d7c7000) 0
+ vptr=((& QParallelAnimationGroup::_ZTV23QParallelAnimationGroup) + 16u)
+ QAnimationGroup (0x7fc38d7c7070) 0
+ primary-for QParallelAnimationGroup (0x7fc38d7c7000)
+ QAbstractAnimation (0x7fc38d7c70e0) 0
+ primary-for QAnimationGroup (0x7fc38d7c7070)
+ QObject (0x7fc38d7c7150) 0
+ primary-for QAbstractAnimation (0x7fc38d7c70e0)
+
+Vtable for QPauseAnimation
+QPauseAnimation::_ZTV15QPauseAnimation: 18u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QPauseAnimation)
+16 QPauseAnimation::metaObject
+24 QPauseAnimation::qt_metacast
+32 QPauseAnimation::qt_metacall
+40 QPauseAnimation::~QPauseAnimation
+48 QPauseAnimation::~QPauseAnimation
+56 QPauseAnimation::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QPauseAnimation::duration
+120 QPauseAnimation::updateCurrentTime
+128 QAbstractAnimation::updateState
+136 QAbstractAnimation::updateDirection
+
+Class QPauseAnimation
+ size=16 align=8
+ base size=16 base align=8
+QPauseAnimation (0x7fc38d7d5e70) 0
+ vptr=((& QPauseAnimation::_ZTV15QPauseAnimation) + 16u)
+ QAbstractAnimation (0x7fc38d7d5ee0) 0
+ primary-for QPauseAnimation (0x7fc38d7d5e70)
+ QObject (0x7fc38d7d5f50) 0
+ primary-for QAbstractAnimation (0x7fc38d7d5ee0)
+
+Vtable for QVariantAnimation
+QVariantAnimation::_ZTV17QVariantAnimation: 20u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QVariantAnimation)
+16 QVariantAnimation::metaObject
+24 QVariantAnimation::qt_metacast
+32 QVariantAnimation::qt_metacall
+40 QVariantAnimation::~QVariantAnimation
+48 QVariantAnimation::~QVariantAnimation
+56 QVariantAnimation::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QVariantAnimation::duration
+120 QVariantAnimation::updateCurrentTime
+128 QVariantAnimation::updateState
+136 QAbstractAnimation::updateDirection
+144 __cxa_pure_virtual
+152 QVariantAnimation::interpolated
+
+Class QVariantAnimation
+ size=16 align=8
+ base size=16 base align=8
+QVariantAnimation (0x7fc38d7f28c0) 0
+ vptr=((& QVariantAnimation::_ZTV17QVariantAnimation) + 16u)
+ QAbstractAnimation (0x7fc38d7f2930) 0
+ primary-for QVariantAnimation (0x7fc38d7f28c0)
+ QObject (0x7fc38d7f29a0) 0
+ primary-for QAbstractAnimation (0x7fc38d7f2930)
+
+Vtable for QPropertyAnimation
+QPropertyAnimation::_ZTV18QPropertyAnimation: 20u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QPropertyAnimation)
+16 QPropertyAnimation::metaObject
+24 QPropertyAnimation::qt_metacast
+32 QPropertyAnimation::qt_metacall
+40 QPropertyAnimation::~QPropertyAnimation
+48 QPropertyAnimation::~QPropertyAnimation
+56 QPropertyAnimation::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QVariantAnimation::duration
+120 QVariantAnimation::updateCurrentTime
+128 QPropertyAnimation::updateState
+136 QAbstractAnimation::updateDirection
+144 QPropertyAnimation::updateCurrentValue
+152 QVariantAnimation::interpolated
+
+Class QPropertyAnimation
+ size=16 align=8
+ base size=16 base align=8
+QPropertyAnimation (0x7fc38d810b60) 0
+ vptr=((& QPropertyAnimation::_ZTV18QPropertyAnimation) + 16u)
+ QVariantAnimation (0x7fc38d810bd0) 0
+ primary-for QPropertyAnimation (0x7fc38d810b60)
+ QAbstractAnimation (0x7fc38d810c40) 0
+ primary-for QVariantAnimation (0x7fc38d810bd0)
+ QObject (0x7fc38d810cb0) 0
+ primary-for QAbstractAnimation (0x7fc38d810c40)
+
+Vtable for QSequentialAnimationGroup
+QSequentialAnimationGroup::_ZTV25QSequentialAnimationGroup: 18u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI25QSequentialAnimationGroup)
+16 QSequentialAnimationGroup::metaObject
+24 QSequentialAnimationGroup::qt_metacast
+32 QSequentialAnimationGroup::qt_metacall
+40 QSequentialAnimationGroup::~QSequentialAnimationGroup
+48 QSequentialAnimationGroup::~QSequentialAnimationGroup
+56 QSequentialAnimationGroup::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QSequentialAnimationGroup::duration
+120 QSequentialAnimationGroup::updateCurrentTime
+128 QSequentialAnimationGroup::updateState
+136 QSequentialAnimationGroup::updateDirection
+
+Class QSequentialAnimationGroup
+ size=16 align=8
+ base size=16 base align=8
+QSequentialAnimationGroup (0x7fc38d829b60) 0
+ vptr=((& QSequentialAnimationGroup::_ZTV25QSequentialAnimationGroup) + 16u)
+ QAnimationGroup (0x7fc38d829bd0) 0
+ primary-for QSequentialAnimationGroup (0x7fc38d829b60)
+ QAbstractAnimation (0x7fc38d829c40) 0
+ primary-for QAnimationGroup (0x7fc38d829bd0)
+ QObject (0x7fc38d829cb0) 0
+ primary-for QAbstractAnimation (0x7fc38d829c40)
+
+Class QColor
+ size=16 align=4
+ base size=14 base align=4
+QColor (0x7fc38d852620) 0
+
+Class QRegion::QRegionData
+ size=32 align=8
+ base size=32 base align=8
+QRegion::QRegionData (0x7fc38d6ca5b0) 0
+
+Class QRegion
+ size=8 align=8
+ base size=8 base align=8
+QRegion (0x7fc38d6a6cb0) 0
+
+Class QKeySequence
+ size=8 align=8
+ base size=8 base align=8
+QKeySequence (0x7fc38d6dfe00) 0
+
+Vtable for QMimeSource
+QMimeSource::_ZTV11QMimeSource: 7u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QMimeSource)
+16 QMimeSource::~QMimeSource
+24 QMimeSource::~QMimeSource
+32 __cxa_pure_virtual
+40 QMimeSource::provides
+48 __cxa_pure_virtual
+
+Class QMimeSource
+ size=8 align=8
+ base size=8 base align=8
+QMimeSource (0x7fc38d71f770) 0 nearly-empty
+ vptr=((& QMimeSource::_ZTV11QMimeSource) + 16u)
+
+Vtable for QDrag
+QDrag::_ZTV5QDrag: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI5QDrag)
+16 QDrag::metaObject
+24 QDrag::qt_metacast
+32 QDrag::qt_metacall
+40 QDrag::~QDrag
+48 QDrag::~QDrag
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QDrag
+ size=16 align=8
+ base size=16 base align=8
+QDrag (0x7fc38d71f8c0) 0
+ vptr=((& QDrag::_ZTV5QDrag) + 16u)
+ QObject (0x7fc38d71f930) 0
+ primary-for QDrag (0x7fc38d71f8c0)
+
+Vtable for QInputEvent
+QInputEvent::_ZTV11QInputEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QInputEvent)
+16 QInputEvent::~QInputEvent
+24 QInputEvent::~QInputEvent
+
+Class QInputEvent
+ size=24 align=8
+ base size=24 base align=8
+QInputEvent (0x7fc38d745070) 0
+ vptr=((& QInputEvent::_ZTV11QInputEvent) + 16u)
+ QEvent (0x7fc38d7450e0) 0
+ primary-for QInputEvent (0x7fc38d745070)
+
+Vtable for QMouseEvent
+QMouseEvent::_ZTV11QMouseEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QMouseEvent)
+16 QMouseEvent::~QMouseEvent
+24 QMouseEvent::~QMouseEvent
+
+Class QMouseEvent
+ size=48 align=8
+ base size=48 base align=8
+QMouseEvent (0x7fc38d745930) 0
+ vptr=((& QMouseEvent::_ZTV11QMouseEvent) + 16u)
+ QInputEvent (0x7fc38d7459a0) 0
+ primary-for QMouseEvent (0x7fc38d745930)
+ QEvent (0x7fc38d745a10) 0
+ primary-for QInputEvent (0x7fc38d7459a0)
+
+Vtable for QHoverEvent
+QHoverEvent::_ZTV11QHoverEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QHoverEvent)
+16 QHoverEvent::~QHoverEvent
+24 QHoverEvent::~QHoverEvent
+
+Class QHoverEvent
+ size=40 align=8
+ base size=36 base align=8
+QHoverEvent (0x7fc38d572700) 0
+ vptr=((& QHoverEvent::_ZTV11QHoverEvent) + 16u)
+ QEvent (0x7fc38d572770) 0
+ primary-for QHoverEvent (0x7fc38d572700)
+
+Vtable for QWheelEvent
+QWheelEvent::_ZTV11QWheelEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QWheelEvent)
+16 QWheelEvent::~QWheelEvent
+24 QWheelEvent::~QWheelEvent
+
+Class QWheelEvent
+ size=56 align=8
+ base size=52 base align=8
+QWheelEvent (0x7fc38d572e70) 0
+ vptr=((& QWheelEvent::_ZTV11QWheelEvent) + 16u)
+ QInputEvent (0x7fc38d572ee0) 0
+ primary-for QWheelEvent (0x7fc38d572e70)
+ QEvent (0x7fc38d572f50) 0
+ primary-for QInputEvent (0x7fc38d572ee0)
+
+Vtable for QTabletEvent
+QTabletEvent::_ZTV12QTabletEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QTabletEvent)
+16 QTabletEvent::~QTabletEvent
+24 QTabletEvent::~QTabletEvent
+
+Class QTabletEvent
+ size=120 align=8
+ base size=120 base align=8
+QTabletEvent (0x7fc38d58cc40) 0
+ vptr=((& QTabletEvent::_ZTV12QTabletEvent) + 16u)
+ QInputEvent (0x7fc38d58ccb0) 0
+ primary-for QTabletEvent (0x7fc38d58cc40)
+ QEvent (0x7fc38d58cd20) 0
+ primary-for QInputEvent (0x7fc38d58ccb0)
+
+Vtable for QKeyEvent
+QKeyEvent::_ZTV9QKeyEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QKeyEvent)
+16 QKeyEvent::~QKeyEvent
+24 QKeyEvent::~QKeyEvent
+
+Class QKeyEvent
+ size=40 align=8
+ base size=39 base align=8
+QKeyEvent (0x7fc38d5abf50) 0
+ vptr=((& QKeyEvent::_ZTV9QKeyEvent) + 16u)
+ QInputEvent (0x7fc38d5b1000) 0
+ primary-for QKeyEvent (0x7fc38d5abf50)
+ QEvent (0x7fc38d5b1070) 0
+ primary-for QInputEvent (0x7fc38d5b1000)
+
+Vtable for QFocusEvent
+QFocusEvent::_ZTV11QFocusEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QFocusEvent)
+16 QFocusEvent::~QFocusEvent
+24 QFocusEvent::~QFocusEvent
+
+Class QFocusEvent
+ size=24 align=8
+ base size=24 base align=8
+QFocusEvent (0x7fc38d5d4930) 0
+ vptr=((& QFocusEvent::_ZTV11QFocusEvent) + 16u)
+ QEvent (0x7fc38d5d49a0) 0
+ primary-for QFocusEvent (0x7fc38d5d4930)
+
+Vtable for QPaintEvent
+QPaintEvent::_ZTV11QPaintEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QPaintEvent)
+16 QPaintEvent::~QPaintEvent
+24 QPaintEvent::~QPaintEvent
+
+Class QPaintEvent
+ size=56 align=8
+ base size=49 base align=8
+QPaintEvent (0x7fc38d5e1380) 0
+ vptr=((& QPaintEvent::_ZTV11QPaintEvent) + 16u)
+ QEvent (0x7fc38d5e13f0) 0
+ primary-for QPaintEvent (0x7fc38d5e1380)
+
+Vtable for QUpdateLaterEvent
+QUpdateLaterEvent::_ZTV17QUpdateLaterEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QUpdateLaterEvent)
+16 QUpdateLaterEvent::~QUpdateLaterEvent
+24 QUpdateLaterEvent::~QUpdateLaterEvent
+
+Class QUpdateLaterEvent
+ size=32 align=8
+ base size=32 base align=8
+QUpdateLaterEvent (0x7fc38d5ed000) 0
+ vptr=((& QUpdateLaterEvent::_ZTV17QUpdateLaterEvent) + 16u)
+ QEvent (0x7fc38d5ed070) 0
+ primary-for QUpdateLaterEvent (0x7fc38d5ed000)
+
+Vtable for QMoveEvent
+QMoveEvent::_ZTV10QMoveEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QMoveEvent)
+16 QMoveEvent::~QMoveEvent
+24 QMoveEvent::~QMoveEvent
+
+Class QMoveEvent
+ size=40 align=8
+ base size=36 base align=8
+QMoveEvent (0x7fc38d5ed460) 0
+ vptr=((& QMoveEvent::_ZTV10QMoveEvent) + 16u)
+ QEvent (0x7fc38d5ed4d0) 0
+ primary-for QMoveEvent (0x7fc38d5ed460)
+
+Vtable for QResizeEvent
+QResizeEvent::_ZTV12QResizeEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QResizeEvent)
+16 QResizeEvent::~QResizeEvent
+24 QResizeEvent::~QResizeEvent
+
+Class QResizeEvent
+ size=40 align=8
+ base size=36 base align=8
+QResizeEvent (0x7fc38d5edaf0) 0
+ vptr=((& QResizeEvent::_ZTV12QResizeEvent) + 16u)
+ QEvent (0x7fc38d5edb60) 0
+ primary-for QResizeEvent (0x7fc38d5edaf0)
+
+Vtable for QCloseEvent
+QCloseEvent::_ZTV11QCloseEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QCloseEvent)
+16 QCloseEvent::~QCloseEvent
+24 QCloseEvent::~QCloseEvent
+
+Class QCloseEvent
+ size=24 align=8
+ base size=20 base align=8
+QCloseEvent (0x7fc38d5fe070) 0
+ vptr=((& QCloseEvent::_ZTV11QCloseEvent) + 16u)
+ QEvent (0x7fc38d5fe0e0) 0
+ primary-for QCloseEvent (0x7fc38d5fe070)
+
+Vtable for QIconDragEvent
+QIconDragEvent::_ZTV14QIconDragEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QIconDragEvent)
+16 QIconDragEvent::~QIconDragEvent
+24 QIconDragEvent::~QIconDragEvent
+
+Class QIconDragEvent
+ size=24 align=8
+ base size=20 base align=8
+QIconDragEvent (0x7fc38d5fe2a0) 0
+ vptr=((& QIconDragEvent::_ZTV14QIconDragEvent) + 16u)
+ QEvent (0x7fc38d5fe310) 0
+ primary-for QIconDragEvent (0x7fc38d5fe2a0)
+
+Vtable for QShowEvent
+QShowEvent::_ZTV10QShowEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QShowEvent)
+16 QShowEvent::~QShowEvent
+24 QShowEvent::~QShowEvent
+
+Class QShowEvent
+ size=24 align=8
+ base size=20 base align=8
+QShowEvent (0x7fc38d5fe4d0) 0
+ vptr=((& QShowEvent::_ZTV10QShowEvent) + 16u)
+ QEvent (0x7fc38d5fe540) 0
+ primary-for QShowEvent (0x7fc38d5fe4d0)
+
+Vtable for QHideEvent
+QHideEvent::_ZTV10QHideEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QHideEvent)
+16 QHideEvent::~QHideEvent
+24 QHideEvent::~QHideEvent
+
+Class QHideEvent
+ size=24 align=8
+ base size=20 base align=8
+QHideEvent (0x7fc38d5fe700) 0
+ vptr=((& QHideEvent::_ZTV10QHideEvent) + 16u)
+ QEvent (0x7fc38d5fe770) 0
+ primary-for QHideEvent (0x7fc38d5fe700)
+
+Vtable for QContextMenuEvent
+QContextMenuEvent::_ZTV17QContextMenuEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QContextMenuEvent)
+16 QContextMenuEvent::~QContextMenuEvent
+24 QContextMenuEvent::~QContextMenuEvent
+
+Class QContextMenuEvent
+ size=48 align=8
+ base size=41 base align=8
+QContextMenuEvent (0x7fc38d5fe930) 0
+ vptr=((& QContextMenuEvent::_ZTV17QContextMenuEvent) + 16u)
+ QInputEvent (0x7fc38d5fe9a0) 0
+ primary-for QContextMenuEvent (0x7fc38d5fe930)
+ QEvent (0x7fc38d5fea10) 0
+ primary-for QInputEvent (0x7fc38d5fe9a0)
+
+Class QInputMethodEvent::Attribute
+ size=32 align=8
+ base size=32 base align=8
+QInputMethodEvent::Attribute (0x7fc38d6184d0) 0
+
+Vtable for QInputMethodEvent
+QInputMethodEvent::_ZTV17QInputMethodEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QInputMethodEvent)
+16 QInputMethodEvent::~QInputMethodEvent
+24 QInputMethodEvent::~QInputMethodEvent
+
+Class QInputMethodEvent
+ size=56 align=8
+ base size=56 base align=8
+QInputMethodEvent (0x7fc38d6183f0) 0
+ vptr=((& QInputMethodEvent::_ZTV17QInputMethodEvent) + 16u)
+ QEvent (0x7fc38d618460) 0
+ primary-for QInputMethodEvent (0x7fc38d6183f0)
+
+Vtable for QDropEvent
+QDropEvent::_ZTV10QDropEvent: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QDropEvent)
+16 QDropEvent::~QDropEvent
+24 QDropEvent::~QDropEvent
+32 QDropEvent::format
+40 QDropEvent::encodedData
+48 QDropEvent::provides
+56 (int (*)(...))-0x00000000000000018
+64 (int (*)(...))(& _ZTI10QDropEvent)
+72 QDropEvent::_ZThn24_N10QDropEventD1Ev
+80 QDropEvent::_ZThn24_N10QDropEventD0Ev
+88 QDropEvent::_ZThn24_NK10QDropEvent6formatEi
+96 QDropEvent::_ZThn24_NK10QDropEvent8providesEPKc
+104 QDropEvent::_ZThn24_NK10QDropEvent11encodedDataEPKc
+
+Class QDropEvent
+ size=80 align=8
+ base size=80 base align=8
+QDropEvent (0x7fc38d652200) 0
+ vptr=((& QDropEvent::_ZTV10QDropEvent) + 16u)
+ QEvent (0x7fc38d651bd0) 0
+ primary-for QDropEvent (0x7fc38d652200)
+ QMimeSource (0x7fc38d651c40) 24 nearly-empty
+ vptr=((& QDropEvent::_ZTV10QDropEvent) + 72u)
+
+Vtable for QDragMoveEvent
+QDragMoveEvent::_ZTV14QDragMoveEvent: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QDragMoveEvent)
+16 QDragMoveEvent::~QDragMoveEvent
+24 QDragMoveEvent::~QDragMoveEvent
+32 QDropEvent::format
+40 QDropEvent::encodedData
+48 QDropEvent::provides
+56 (int (*)(...))-0x00000000000000018
+64 (int (*)(...))(& _ZTI14QDragMoveEvent)
+72 QDragMoveEvent::_ZThn24_N14QDragMoveEventD1Ev
+80 QDragMoveEvent::_ZThn24_N14QDragMoveEventD0Ev
+88 QDropEvent::_ZThn24_NK10QDropEvent6formatEi
+96 QDropEvent::_ZThn24_NK10QDropEvent8providesEPKc
+104 QDropEvent::_ZThn24_NK10QDropEvent11encodedDataEPKc
+
+Class QDragMoveEvent
+ size=96 align=8
+ base size=96 base align=8
+QDragMoveEvent (0x7fc38d66c930) 0
+ vptr=((& QDragMoveEvent::_ZTV14QDragMoveEvent) + 16u)
+ QDropEvent (0x7fc38d669900) 0
+ primary-for QDragMoveEvent (0x7fc38d66c930)
+ QEvent (0x7fc38d66c9a0) 0
+ primary-for QDropEvent (0x7fc38d669900)
+ QMimeSource (0x7fc38d66ca10) 24 nearly-empty
+ vptr=((& QDragMoveEvent::_ZTV14QDragMoveEvent) + 72u)
+
+Vtable for QDragEnterEvent
+QDragEnterEvent::_ZTV15QDragEnterEvent: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QDragEnterEvent)
+16 QDragEnterEvent::~QDragEnterEvent
+24 QDragEnterEvent::~QDragEnterEvent
+32 QDropEvent::format
+40 QDropEvent::encodedData
+48 QDropEvent::provides
+56 (int (*)(...))-0x00000000000000018
+64 (int (*)(...))(& _ZTI15QDragEnterEvent)
+72 QDragEnterEvent::_ZThn24_N15QDragEnterEventD1Ev
+80 QDragEnterEvent::_ZThn24_N15QDragEnterEventD0Ev
+88 QDropEvent::_ZThn24_NK10QDropEvent6formatEi
+96 QDropEvent::_ZThn24_NK10QDropEvent8providesEPKc
+104 QDropEvent::_ZThn24_NK10QDropEvent11encodedDataEPKc
+
+Class QDragEnterEvent
+ size=96 align=8
+ base size=96 base align=8
+QDragEnterEvent (0x7fc38d47c0e0) 0
+ vptr=((& QDragEnterEvent::_ZTV15QDragEnterEvent) + 16u)
+ QDragMoveEvent (0x7fc38d47c150) 0
+ primary-for QDragEnterEvent (0x7fc38d47c0e0)
+ QDropEvent (0x7fc38d47a280) 0
+ primary-for QDragMoveEvent (0x7fc38d47c150)
+ QEvent (0x7fc38d47c1c0) 0
+ primary-for QDropEvent (0x7fc38d47a280)
+ QMimeSource (0x7fc38d47c230) 24 nearly-empty
+ vptr=((& QDragEnterEvent::_ZTV15QDragEnterEvent) + 72u)
+
+Vtable for QDragResponseEvent
+QDragResponseEvent::_ZTV18QDragResponseEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QDragResponseEvent)
+16 QDragResponseEvent::~QDragResponseEvent
+24 QDragResponseEvent::~QDragResponseEvent
+
+Class QDragResponseEvent
+ size=24 align=8
+ base size=21 base align=8
+QDragResponseEvent (0x7fc38d47c3f0) 0
+ vptr=((& QDragResponseEvent::_ZTV18QDragResponseEvent) + 16u)
+ QEvent (0x7fc38d47c460) 0
+ primary-for QDragResponseEvent (0x7fc38d47c3f0)
+
+Vtable for QDragLeaveEvent
+QDragLeaveEvent::_ZTV15QDragLeaveEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QDragLeaveEvent)
+16 QDragLeaveEvent::~QDragLeaveEvent
+24 QDragLeaveEvent::~QDragLeaveEvent
+
+Class QDragLeaveEvent
+ size=24 align=8
+ base size=20 base align=8
+QDragLeaveEvent (0x7fc38d47c850) 0
+ vptr=((& QDragLeaveEvent::_ZTV15QDragLeaveEvent) + 16u)
+ QEvent (0x7fc38d47c8c0) 0
+ primary-for QDragLeaveEvent (0x7fc38d47c850)
+
+Vtable for QHelpEvent
+QHelpEvent::_ZTV10QHelpEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QHelpEvent)
+16 QHelpEvent::~QHelpEvent
+24 QHelpEvent::~QHelpEvent
+
+Class QHelpEvent
+ size=40 align=8
+ base size=36 base align=8
+QHelpEvent (0x7fc38d47ca80) 0
+ vptr=((& QHelpEvent::_ZTV10QHelpEvent) + 16u)
+ QEvent (0x7fc38d47caf0) 0
+ primary-for QHelpEvent (0x7fc38d47ca80)
+
+Vtable for QStatusTipEvent
+QStatusTipEvent::_ZTV15QStatusTipEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QStatusTipEvent)
+16 QStatusTipEvent::~QStatusTipEvent
+24 QStatusTipEvent::~QStatusTipEvent
+
+Class QStatusTipEvent
+ size=32 align=8
+ base size=32 base align=8
+QStatusTipEvent (0x7fc38d48eaf0) 0
+ vptr=((& QStatusTipEvent::_ZTV15QStatusTipEvent) + 16u)
+ QEvent (0x7fc38d48eb60) 0
+ primary-for QStatusTipEvent (0x7fc38d48eaf0)
+
+Vtable for QWhatsThisClickedEvent
+QWhatsThisClickedEvent::_ZTV22QWhatsThisClickedEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI22QWhatsThisClickedEvent)
+16 QWhatsThisClickedEvent::~QWhatsThisClickedEvent
+24 QWhatsThisClickedEvent::~QWhatsThisClickedEvent
+
+Class QWhatsThisClickedEvent
+ size=32 align=8
+ base size=32 base align=8
+QWhatsThisClickedEvent (0x7fc38d48ecb0) 0
+ vptr=((& QWhatsThisClickedEvent::_ZTV22QWhatsThisClickedEvent) + 16u)
+ QEvent (0x7fc38d497000) 0
+ primary-for QWhatsThisClickedEvent (0x7fc38d48ecb0)
+
+Vtable for QActionEvent
+QActionEvent::_ZTV12QActionEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QActionEvent)
+16 QActionEvent::~QActionEvent
+24 QActionEvent::~QActionEvent
+
+Class QActionEvent
+ size=40 align=8
+ base size=40 base align=8
+QActionEvent (0x7fc38d497460) 0
+ vptr=((& QActionEvent::_ZTV12QActionEvent) + 16u)
+ QEvent (0x7fc38d4974d0) 0
+ primary-for QActionEvent (0x7fc38d497460)
+
+Vtable for QFileOpenEvent
+QFileOpenEvent::_ZTV14QFileOpenEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QFileOpenEvent)
+16 QFileOpenEvent::~QFileOpenEvent
+24 QFileOpenEvent::~QFileOpenEvent
+
+Class QFileOpenEvent
+ size=32 align=8
+ base size=32 base align=8
+QFileOpenEvent (0x7fc38d497af0) 0
+ vptr=((& QFileOpenEvent::_ZTV14QFileOpenEvent) + 16u)
+ QEvent (0x7fc38d497b60) 0
+ primary-for QFileOpenEvent (0x7fc38d497af0)
+
+Vtable for QToolBarChangeEvent
+QToolBarChangeEvent::_ZTV19QToolBarChangeEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QToolBarChangeEvent)
+16 QToolBarChangeEvent::~QToolBarChangeEvent
+24 QToolBarChangeEvent::~QToolBarChangeEvent
+
+Class QToolBarChangeEvent
+ size=24 align=8
+ base size=21 base align=8
+QToolBarChangeEvent (0x7fc38d497620) 0
+ vptr=((& QToolBarChangeEvent::_ZTV19QToolBarChangeEvent) + 16u)
+ QEvent (0x7fc38d497d20) 0
+ primary-for QToolBarChangeEvent (0x7fc38d497620)
+
+Vtable for QShortcutEvent
+QShortcutEvent::_ZTV14QShortcutEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QShortcutEvent)
+16 QShortcutEvent::~QShortcutEvent
+24 QShortcutEvent::~QShortcutEvent
+
+Class QShortcutEvent
+ size=40 align=8
+ base size=40 base align=8
+QShortcutEvent (0x7fc38d4aa460) 0
+ vptr=((& QShortcutEvent::_ZTV14QShortcutEvent) + 16u)
+ QEvent (0x7fc38d4aa4d0) 0
+ primary-for QShortcutEvent (0x7fc38d4aa460)
+
+Vtable for QClipboardEvent
+QClipboardEvent::_ZTV15QClipboardEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QClipboardEvent)
+16 QClipboardEvent::~QClipboardEvent
+24 QClipboardEvent::~QClipboardEvent
+
+Class QClipboardEvent
+ size=24 align=8
+ base size=20 base align=8
+QClipboardEvent (0x7fc38d4b5310) 0
+ vptr=((& QClipboardEvent::_ZTV15QClipboardEvent) + 16u)
+ QEvent (0x7fc38d4b5380) 0
+ primary-for QClipboardEvent (0x7fc38d4b5310)
+
+Vtable for QWindowStateChangeEvent
+QWindowStateChangeEvent::_ZTV23QWindowStateChangeEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI23QWindowStateChangeEvent)
+16 QWindowStateChangeEvent::~QWindowStateChangeEvent
+24 QWindowStateChangeEvent::~QWindowStateChangeEvent
+
+Class QWindowStateChangeEvent
+ size=24 align=8
+ base size=24 base align=8
+QWindowStateChangeEvent (0x7fc38d4b5770) 0
+ vptr=((& QWindowStateChangeEvent::_ZTV23QWindowStateChangeEvent) + 16u)
+ QEvent (0x7fc38d4b57e0) 0
+ primary-for QWindowStateChangeEvent (0x7fc38d4b5770)
+
+Vtable for QMenubarUpdatedEvent
+QMenubarUpdatedEvent::_ZTV20QMenubarUpdatedEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI20QMenubarUpdatedEvent)
+16 QMenubarUpdatedEvent::~QMenubarUpdatedEvent
+24 QMenubarUpdatedEvent::~QMenubarUpdatedEvent
+
+Class QMenubarUpdatedEvent
+ size=32 align=8
+ base size=32 base align=8
+QMenubarUpdatedEvent (0x7fc38d4b5cb0) 0
+ vptr=((& QMenubarUpdatedEvent::_ZTV20QMenubarUpdatedEvent) + 16u)
+ QEvent (0x7fc38d4b5d20) 0
+ primary-for QMenubarUpdatedEvent (0x7fc38d4b5cb0)
+
+Class QTouchEvent::TouchPoint
+ size=8 align=8
+ base size=8 base align=8
+QTouchEvent::TouchPoint (0x7fc38d4c67e0) 0
+
+Vtable for QTouchEvent
+QTouchEvent::_ZTV11QTouchEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QTouchEvent)
+16 QTouchEvent::~QTouchEvent
+24 QTouchEvent::~QTouchEvent
+
+Class QTouchEvent
+ size=48 align=8
+ base size=48 base align=8
+QTouchEvent (0x7fc38d4c6690) 0
+ vptr=((& QTouchEvent::_ZTV11QTouchEvent) + 16u)
+ QInputEvent (0x7fc38d4c6700) 0
+ primary-for QTouchEvent (0x7fc38d4c6690)
+ QEvent (0x7fc38d4c6770) 0
+ primary-for QInputEvent (0x7fc38d4c6700)
+
+Vtable for QGestureEvent
+QGestureEvent::_ZTV13QGestureEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QGestureEvent)
+16 QGestureEvent::~QGestureEvent
+24 QGestureEvent::~QGestureEvent
+
+Class QGestureEvent
+ size=24 align=8
+ base size=20 base align=8
+QGestureEvent (0x7fc38d50dd20) 0
+ vptr=((& QGestureEvent::_ZTV13QGestureEvent) + 16u)
+ QEvent (0x7fc38d50dd90) 0
+ primary-for QGestureEvent (0x7fc38d50dd20)
+
+Class QFont
+ size=16 align=8
+ base size=12 base align=8
+QFont (0x7fc38d512310) 0
+
+Class QPolygon
+ size=8 align=8
+ base size=8 base align=8
+QPolygon (0x7fc38d5630e0) 0
+ QVector<QPoint> (0x7fc38d563150) 0
+
+Class QPolygonF
+ size=8 align=8
+ base size=8 base align=8
+QPolygonF (0x7fc38d39f620) 0
+ QVector<QPointF> (0x7fc38d39f690) 0
+
+Class QMatrix
+ size=48 align=8
+ base size=48 base align=8
+QMatrix (0x7fc38d3e3770) 0
+
+Class QPainterPath::Element
+ size=24 align=8
+ base size=24 base align=8
+QPainterPath::Element (0x7fc38d4278c0) 0
+
+Class QPainterPath
+ size=8 align=8
+ base size=8 base align=8
+QPainterPath (0x7fc38d427850) 0
+
+Class QPainterPathPrivate
+ size=16 align=8
+ base size=16 base align=8
+QPainterPathPrivate (0x7fc38d282000) 0
+
+Class QPainterPathStroker
+ size=8 align=8
+ base size=8 base align=8
+QPainterPathStroker (0x7fc38d282af0) 0
+
+Class QTransform
+ size=88 align=8
+ base size=88 base align=8
+QTransform (0x7fc38d2edaf0) 0
+
+Vtable for QPaintDevice
+QPaintDevice::_ZTV12QPaintDevice: 7u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QPaintDevice)
+16 QPaintDevice::~QPaintDevice
+24 QPaintDevice::~QPaintDevice
+32 QPaintDevice::devType
+40 __cxa_pure_virtual
+48 QPaintDevice::metric
+
+Class QPaintDevice
+ size=16 align=8
+ base size=10 base align=8
+QPaintDevice (0x7fc38d19a150) 0
+ vptr=((& QPaintDevice::_ZTV12QPaintDevice) + 16u)
+
+Class QImageTextKeyLang
+ size=16 align=8
+ base size=16 base align=8
+QImageTextKeyLang (0x7fc38d1bf070) 0
+
+Vtable for QImage
+QImage::_ZTV6QImage: 7u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI6QImage)
+16 QImage::~QImage
+24 QImage::~QImage
+32 QImage::devType
+40 QImage::paintEngine
+48 QImage::metric
+
+Class QImage
+ size=24 align=8
+ base size=24 base align=8
+QImage (0x7fc38d1e98c0) 0
+ vptr=((& QImage::_ZTV6QImage) + 16u)
+ QPaintDevice (0x7fc38d1e9930) 0
+ primary-for QImage (0x7fc38d1e98c0)
+
+Vtable for QPixmap
+QPixmap::_ZTV7QPixmap: 7u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QPixmap)
+16 QPixmap::~QPixmap
+24 QPixmap::~QPixmap
+32 QPixmap::devType
+40 QPixmap::paintEngine
+48 QPixmap::metric
+
+Class QPixmap
+ size=24 align=8
+ base size=24 base align=8
+QPixmap (0x7fc38d08c070) 0
+ vptr=((& QPixmap::_ZTV7QPixmap) + 16u)
+ QPaintDevice (0x7fc38d08c0e0) 0
+ primary-for QPixmap (0x7fc38d08c070)
+
+Class QBrush
+ size=8 align=8
+ base size=8 base align=8
+QBrush (0x7fc38d0ea380) 0
+
+Class QBrushData
+ size=112 align=8
+ base size=112 base align=8
+QBrushData (0x7fc38d105d90) 0
+
+Class QGradient
+ size=64 align=8
+ base size=64 base align=8
+QGradient (0x7fc38d11af50) 0
+
+Class QLinearGradient
+ size=64 align=8
+ base size=64 base align=8
+QLinearGradient (0x7fc38d15ca10) 0
+ QGradient (0x7fc38d15ca80) 0
+
+Class QRadialGradient
+ size=64 align=8
+ base size=64 base align=8
+QRadialGradient (0x7fc38d15cee0) 0
+ QGradient (0x7fc38d15cf50) 0
+
+Class QConicalGradient
+ size=64 align=8
+ base size=64 base align=8
+QConicalGradient (0x7fc38cf664d0) 0
+ QGradient (0x7fc38cf66540) 0
+
+Class QPen
+ size=8 align=8
+ base size=8 base align=8
+QPen (0x7fc38cf66850) 0
+
+Class QTextOption::Tab
+ size=16 align=8
+ base size=14 base align=8
+QTextOption::Tab (0x7fc38cf82e00) 0
+
+Class QTextOption
+ size=32 align=8
+ base size=32 base align=8
+QTextOption (0x7fc38cf82d90) 0
+
+Class QTextLength
+ size=16 align=8
+ base size=16 base align=8
+QTextLength (0x7fc38cff3150) 0
+
+Class QTextFormat
+ size=16 align=8
+ base size=12 base align=8
+QTextFormat (0x7fc38d00e4d0) 0
+
+Class QTextCharFormat
+ size=16 align=8
+ base size=12 base align=8
+QTextCharFormat (0x7fc38cec5540) 0
+ QTextFormat (0x7fc38cec55b0) 0
+
+Class QTextBlockFormat
+ size=16 align=8
+ base size=12 base align=8
+QTextBlockFormat (0x7fc38cf281c0) 0
+ QTextFormat (0x7fc38cf28230) 0
+
+Class QTextListFormat
+ size=16 align=8
+ base size=12 base align=8
+QTextListFormat (0x7fc38cf477e0) 0
+ QTextFormat (0x7fc38cf47850) 0
+
+Class QTextImageFormat
+ size=16 align=8
+ base size=12 base align=8
+QTextImageFormat (0x7fc38cf53d20) 0
+ QTextCharFormat (0x7fc38cf53d90) 0
+ QTextFormat (0x7fc38cf53e00) 0
+
+Class QTextFrameFormat
+ size=16 align=8
+ base size=12 base align=8
+QTextFrameFormat (0x7fc38cd64460) 0
+ QTextFormat (0x7fc38cd644d0) 0
+
+Class QTextTableFormat
+ size=16 align=8
+ base size=12 base align=8
+QTextTableFormat (0x7fc38cd9a380) 0
+ QTextFrameFormat (0x7fc38cd9a3f0) 0
+ QTextFormat (0x7fc38cd9a460) 0
+
+Class QTextTableCellFormat
+ size=16 align=8
+ base size=12 base align=8
+QTextTableCellFormat (0x7fc38cdb5230) 0
+ QTextCharFormat (0x7fc38cdb52a0) 0
+ QTextFormat (0x7fc38cdb5310) 0
+
+Class QTextInlineObject
+ size=16 align=8
+ base size=16 base align=8
+QTextInlineObject (0x7fc38cdc9700) 0
+
+Class QTextLayout::FormatRange
+ size=24 align=8
+ base size=24 base align=8
+QTextLayout::FormatRange (0x7fc38cdd5a10) 0
+
+Class QTextLayout
+ size=8 align=8
+ base size=8 base align=8
+QTextLayout (0x7fc38cdd5770) 0
+
+Class QTextLine
+ size=16 align=8
+ base size=16 base align=8
+QTextLine (0x7fc38cdee770) 0
+
+Vtable for QAbstractUndoItem
+QAbstractUndoItem::_ZTV17QAbstractUndoItem: 6u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QAbstractUndoItem)
+16 __cxa_pure_virtual
+24 __cxa_pure_virtual
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+
+Class QAbstractUndoItem
+ size=8 align=8
+ base size=8 base align=8
+QAbstractUndoItem (0x7fc38ce24070) 0 nearly-empty
+ vptr=((& QAbstractUndoItem::_ZTV17QAbstractUndoItem) + 16u)
+
+Vtable for QTextDocument
+QTextDocument::_ZTV13QTextDocument: 17u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QTextDocument)
+16 QTextDocument::metaObject
+24 QTextDocument::qt_metacast
+32 QTextDocument::qt_metacall
+40 QTextDocument::~QTextDocument
+48 QTextDocument::~QTextDocument
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QTextDocument::clear
+120 QTextDocument::createObject
+128 QTextDocument::loadResource
+
+Class QTextDocument
+ size=16 align=8
+ base size=16 base align=8
+QTextDocument (0x7fc38ce24af0) 0
+ vptr=((& QTextDocument::_ZTV13QTextDocument) + 16u)
+ QObject (0x7fc38ce24b60) 0
+ primary-for QTextDocument (0x7fc38ce24af0)
+
+Class QTextCursor
+ size=8 align=8
+ base size=8 base align=8
+QTextCursor (0x7fc38cc80a80) 0
+
+Class QPalette
+ size=16 align=8
+ base size=12 base align=8
+QPalette (0x7fc38cc94f50) 0
+
+Class QColorGroup
+ size=16 align=8
+ base size=12 base align=8
+QColorGroup (0x7fc38cd06850) 0
+ QPalette (0x7fc38cd068c0) 0
+
+Class QAbstractTextDocumentLayout::Selection
+ size=24 align=8
+ base size=24 base align=8
+QAbstractTextDocumentLayout::Selection (0x7fc38cd3ed90) 0
+
+Class QAbstractTextDocumentLayout::PaintContext
+ size=64 align=8
+ base size=64 base align=8
+QAbstractTextDocumentLayout::PaintContext (0x7fc38cd3ee00) 0
+
+Vtable for QAbstractTextDocumentLayout
+QAbstractTextDocumentLayout::_ZTV27QAbstractTextDocumentLayout: 24u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI27QAbstractTextDocumentLayout)
+16 QAbstractTextDocumentLayout::metaObject
+24 QAbstractTextDocumentLayout::qt_metacast
+32 QAbstractTextDocumentLayout::qt_metacall
+40 QAbstractTextDocumentLayout::~QAbstractTextDocumentLayout
+48 QAbstractTextDocumentLayout::~QAbstractTextDocumentLayout
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 __cxa_pure_virtual
+136 __cxa_pure_virtual
+144 __cxa_pure_virtual
+152 __cxa_pure_virtual
+160 __cxa_pure_virtual
+168 QAbstractTextDocumentLayout::resizeInlineObject
+176 QAbstractTextDocumentLayout::positionInlineObject
+184 QAbstractTextDocumentLayout::drawInlineObject
+
+Class QAbstractTextDocumentLayout
+ size=16 align=8
+ base size=16 base align=8
+QAbstractTextDocumentLayout (0x7fc38cd3eb60) 0
+ vptr=((& QAbstractTextDocumentLayout::_ZTV27QAbstractTextDocumentLayout) + 16u)
+ QObject (0x7fc38cd3ebd0) 0
+ primary-for QAbstractTextDocumentLayout (0x7fc38cd3eb60)
+
+Vtable for QTextObjectInterface
+QTextObjectInterface::_ZTV20QTextObjectInterface: 6u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI20QTextObjectInterface)
+16 QTextObjectInterface::~QTextObjectInterface
+24 QTextObjectInterface::~QTextObjectInterface
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+
+Class QTextObjectInterface
+ size=8 align=8
+ base size=8 base align=8
+QTextObjectInterface (0x7fc38cb764d0) 0 nearly-empty
+ vptr=((& QTextObjectInterface::_ZTV20QTextObjectInterface) + 16u)
+
+Class QFontDatabase
+ size=8 align=8
+ base size=8 base align=8
+QFontDatabase (0x7fc38cb827e0) 0
+
+Class QFontInfo
+ size=8 align=8
+ base size=8 base align=8
+QFontInfo (0x7fc38cb927e0) 0
+
+Class QFontMetrics
+ size=8 align=8
+ base size=8 base align=8
+QFontMetrics (0x7fc38cba4310) 0
+
+Class QFontMetricsF
+ size=8 align=8
+ base size=8 base align=8
+QFontMetricsF (0x7fc38cbb8770) 0
+
+Vtable for QTextObject
+QTextObject::_ZTV11QTextObject: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QTextObject)
+16 QTextObject::metaObject
+24 QTextObject::qt_metacast
+32 QTextObject::qt_metacall
+40 QTextObject::~QTextObject
+48 QTextObject::~QTextObject
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QTextObject
+ size=16 align=8
+ base size=16 base align=8
+QTextObject (0x7fc38cbce690) 0
+ vptr=((& QTextObject::_ZTV11QTextObject) + 16u)
+ QObject (0x7fc38cbce700) 0
+ primary-for QTextObject (0x7fc38cbce690)
+
+Vtable for QTextBlockGroup
+QTextBlockGroup::_ZTV15QTextBlockGroup: 17u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QTextBlockGroup)
+16 QTextBlockGroup::metaObject
+24 QTextBlockGroup::qt_metacast
+32 QTextBlockGroup::qt_metacall
+40 QTextBlockGroup::~QTextBlockGroup
+48 QTextBlockGroup::~QTextBlockGroup
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QTextBlockGroup::blockInserted
+120 QTextBlockGroup::blockRemoved
+128 QTextBlockGroup::blockFormatChanged
+
+Class QTextBlockGroup
+ size=16 align=8
+ base size=16 base align=8
+QTextBlockGroup (0x7fc38cbe0ee0) 0
+ vptr=((& QTextBlockGroup::_ZTV15QTextBlockGroup) + 16u)
+ QTextObject (0x7fc38cbe0f50) 0
+ primary-for QTextBlockGroup (0x7fc38cbe0ee0)
+ QObject (0x7fc38cbe8000) 0
+ primary-for QTextObject (0x7fc38cbe0f50)
+
+Vtable for QTextFrameLayoutData
+QTextFrameLayoutData::_ZTV20QTextFrameLayoutData: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI20QTextFrameLayoutData)
+16 QTextFrameLayoutData::~QTextFrameLayoutData
+24 QTextFrameLayoutData::~QTextFrameLayoutData
+
+Class QTextFrameLayoutData
+ size=8 align=8
+ base size=8 base align=8
+QTextFrameLayoutData (0x7fc38cbfd7e0) 0 nearly-empty
+ vptr=((& QTextFrameLayoutData::_ZTV20QTextFrameLayoutData) + 16u)
+
+Class QTextFrame::iterator
+ size=32 align=8
+ base size=28 base align=8
+QTextFrame::iterator (0x7fc38cc07230) 0
+
+Vtable for QTextFrame
+QTextFrame::_ZTV10QTextFrame: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QTextFrame)
+16 QTextFrame::metaObject
+24 QTextFrame::qt_metacast
+32 QTextFrame::qt_metacall
+40 QTextFrame::~QTextFrame
+48 QTextFrame::~QTextFrame
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QTextFrame
+ size=16 align=8
+ base size=16 base align=8
+QTextFrame (0x7fc38cbfd930) 0
+ vptr=((& QTextFrame::_ZTV10QTextFrame) + 16u)
+ QTextObject (0x7fc38cbfd9a0) 0
+ primary-for QTextFrame (0x7fc38cbfd930)
+ QObject (0x7fc38cbfda10) 0
+ primary-for QTextObject (0x7fc38cbfd9a0)
+
+Vtable for QTextBlockUserData
+QTextBlockUserData::_ZTV18QTextBlockUserData: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QTextBlockUserData)
+16 QTextBlockUserData::~QTextBlockUserData
+24 QTextBlockUserData::~QTextBlockUserData
+
+Class QTextBlockUserData
+ size=8 align=8
+ base size=8 base align=8
+QTextBlockUserData (0x7fc38cc3b380) 0 nearly-empty
+ vptr=((& QTextBlockUserData::_ZTV18QTextBlockUserData) + 16u)
+
+Class QTextBlock::iterator
+ size=24 align=8
+ base size=20 base align=8
+QTextBlock::iterator (0x7fc38cc3bcb0) 0
+
+Class QTextBlock
+ size=16 align=8
+ base size=12 base align=8
+QTextBlock (0x7fc38cc3b4d0) 0
+
+Class QTextFragment
+ size=16 align=8
+ base size=16 base align=8
+QTextFragment (0x7fc38c9f2e00) 0
+
+Vtable for QSyntaxHighlighter
+QSyntaxHighlighter::_ZTV18QSyntaxHighlighter: 15u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QSyntaxHighlighter)
+16 QSyntaxHighlighter::metaObject
+24 QSyntaxHighlighter::qt_metacast
+32 QSyntaxHighlighter::qt_metacall
+40 QSyntaxHighlighter::~QSyntaxHighlighter
+48 QSyntaxHighlighter::~QSyntaxHighlighter
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+
+Class QSyntaxHighlighter
+ size=16 align=8
+ base size=16 base align=8
+QSyntaxHighlighter (0x7fc38ca1b000) 0
+ vptr=((& QSyntaxHighlighter::_ZTV18QSyntaxHighlighter) + 16u)
+ QObject (0x7fc38ca1b070) 0
+ primary-for QSyntaxHighlighter (0x7fc38ca1b000)
+
+Class QTextDocumentFragment
+ size=8 align=8
+ base size=8 base align=8
+QTextDocumentFragment (0x7fc38ca349a0) 0
+
+Class QTextDocumentWriter
+ size=8 align=8
+ base size=8 base align=8
+QTextDocumentWriter (0x7fc38ca3b3f0) 0
+
+Vtable for QTextList
+QTextList::_ZTV9QTextList: 17u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QTextList)
+16 QTextList::metaObject
+24 QTextList::qt_metacast
+32 QTextList::qt_metacall
+40 QTextList::~QTextList
+48 QTextList::~QTextList
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QTextBlockGroup::blockInserted
+120 QTextBlockGroup::blockRemoved
+128 QTextBlockGroup::blockFormatChanged
+
+Class QTextList
+ size=16 align=8
+ base size=16 base align=8
+QTextList (0x7fc38ca3ba80) 0
+ vptr=((& QTextList::_ZTV9QTextList) + 16u)
+ QTextBlockGroup (0x7fc38ca3baf0) 0
+ primary-for QTextList (0x7fc38ca3ba80)
+ QTextObject (0x7fc38ca3bb60) 0
+ primary-for QTextBlockGroup (0x7fc38ca3baf0)
+ QObject (0x7fc38ca3bbd0) 0
+ primary-for QTextObject (0x7fc38ca3bb60)
+
+Class QTextTableCell
+ size=16 align=8
+ base size=12 base align=8
+QTextTableCell (0x7fc38ca65930) 0
+
+Vtable for QTextTable
+QTextTable::_ZTV10QTextTable: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QTextTable)
+16 QTextTable::metaObject
+24 QTextTable::qt_metacast
+32 QTextTable::qt_metacall
+40 QTextTable::~QTextTable
+48 QTextTable::~QTextTable
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QTextTable
+ size=16 align=8
+ base size=16 base align=8
+QTextTable (0x7fc38ca7aa80) 0
+ vptr=((& QTextTable::_ZTV10QTextTable) + 16u)
+ QTextFrame (0x7fc38ca7aaf0) 0
+ primary-for QTextTable (0x7fc38ca7aa80)
+ QTextObject (0x7fc38ca7ab60) 0
+ primary-for QTextFrame (0x7fc38ca7aaf0)
+ QObject (0x7fc38ca7abd0) 0
+ primary-for QTextObject (0x7fc38ca7ab60)
+
+Vtable for QCompleter
+QCompleter::_ZTV10QCompleter: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QCompleter)
+16 QCompleter::metaObject
+24 QCompleter::qt_metacast
+32 QCompleter::qt_metacall
+40 QCompleter::~QCompleter
+48 QCompleter::~QCompleter
+56 QCompleter::event
+64 QCompleter::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QCompleter::pathFromIndex
+120 QCompleter::splitPath
+
+Class QCompleter
+ size=16 align=8
+ base size=16 base align=8
+QCompleter (0x7fc38caa22a0) 0
+ vptr=((& QCompleter::_ZTV10QCompleter) + 16u)
+ QObject (0x7fc38caa2310) 0
+ primary-for QCompleter (0x7fc38caa22a0)
+
+Class QDesktopServices
+ size=1 align=1
+ base size=0 base align=1
+QDesktopServices (0x7fc38cac6230) 0 empty
+
+Class QIcon
+ size=8 align=8
+ base size=8 base align=8
+QIcon (0x7fc38cac6380) 0
+
+Vtable for QSystemTrayIcon
+QSystemTrayIcon::_ZTV15QSystemTrayIcon: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QSystemTrayIcon)
+16 QSystemTrayIcon::metaObject
+24 QSystemTrayIcon::qt_metacast
+32 QSystemTrayIcon::qt_metacall
+40 QSystemTrayIcon::~QSystemTrayIcon
+48 QSystemTrayIcon::~QSystemTrayIcon
+56 QSystemTrayIcon::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QSystemTrayIcon
+ size=16 align=8
+ base size=16 base align=8
+QSystemTrayIcon (0x7fc38c8eef50) 0
+ vptr=((& QSystemTrayIcon::_ZTV15QSystemTrayIcon) + 16u)
+ QObject (0x7fc38c8ff000) 0
+ primary-for QSystemTrayIcon (0x7fc38c8eef50)
+
+Vtable for QUndoGroup
+QUndoGroup::_ZTV10QUndoGroup: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QUndoGroup)
+16 QUndoGroup::metaObject
+24 QUndoGroup::qt_metacast
+32 QUndoGroup::qt_metacall
+40 QUndoGroup::~QUndoGroup
+48 QUndoGroup::~QUndoGroup
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QUndoGroup
+ size=16 align=8
+ base size=16 base align=8
+QUndoGroup (0x7fc38c91d1c0) 0
+ vptr=((& QUndoGroup::_ZTV10QUndoGroup) + 16u)
+ QObject (0x7fc38c91d230) 0
+ primary-for QUndoGroup (0x7fc38c91d1c0)
+
+Vtable for QUndoCommand
+QUndoCommand::_ZTV12QUndoCommand: 8u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QUndoCommand)
+16 QUndoCommand::~QUndoCommand
+24 QUndoCommand::~QUndoCommand
+32 QUndoCommand::undo
+40 QUndoCommand::redo
+48 QUndoCommand::id
+56 QUndoCommand::mergeWith
+
+Class QUndoCommand
+ size=16 align=8
+ base size=16 base align=8
+QUndoCommand (0x7fc38c932d20) 0
+ vptr=((& QUndoCommand::_ZTV12QUndoCommand) + 16u)
+
+Vtable for QUndoStack
+QUndoStack::_ZTV10QUndoStack: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QUndoStack)
+16 QUndoStack::metaObject
+24 QUndoStack::qt_metacast
+32 QUndoStack::qt_metacall
+40 QUndoStack::~QUndoStack
+48 QUndoStack::~QUndoStack
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QUndoStack
+ size=16 align=8
+ base size=16 base align=8
+QUndoStack (0x7fc38c93b690) 0
+ vptr=((& QUndoStack::_ZTV10QUndoStack) + 16u)
+ QObject (0x7fc38c93b700) 0
+ primary-for QUndoStack (0x7fc38c93b690)
+
+Class QSizePolicy
+ size=4 align=4
+ base size=4 base align=4
+QSizePolicy (0x7fc38c9611c0) 0
+
+Class QCursor
+ size=8 align=8
+ base size=8 base align=8
+QCursor (0x7fc38c82f1c0) 0
+
+Class QWidgetData
+ size=88 align=8
+ base size=88 base align=8
+QWidgetData (0x7fc38c82f9a0) 0
+
+Vtable for QWidget
+QWidget::_ZTV7QWidget: 63u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QWidget)
+16 QWidget::metaObject
+24 QWidget::qt_metacast
+32 QWidget::qt_metacall
+40 QWidget::~QWidget
+48 QWidget::~QWidget
+56 QWidget::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QWidget::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QWidget::paintEvent
+256 QWidget::moveEvent
+264 QWidget::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QWidget::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 (int (*)(...))-0x00000000000000010
+456 (int (*)(...))(& _ZTI7QWidget)
+464 QWidget::_ZThn16_N7QWidgetD1Ev
+472 QWidget::_ZThn16_N7QWidgetD0Ev
+480 QWidget::_ZThn16_NK7QWidget7devTypeEv
+488 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+496 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QWidget
+ size=40 align=8
+ base size=40 base align=8
+QWidget (0x7fc38c827a00) 0
+ vptr=((& QWidget::_ZTV7QWidget) + 16u)
+ QObject (0x7fc38c82fa10) 0
+ primary-for QWidget (0x7fc38c827a00)
+ QPaintDevice (0x7fc38c82fa80) 16
+ vptr=((& QWidget::_ZTV7QWidget) + 464u)
+
+Vtable for QFrame
+QFrame::_ZTV6QFrame: 63u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI6QFrame)
+16 QFrame::metaObject
+24 QFrame::qt_metacast
+32 QFrame::qt_metacall
+40 QFrame::~QFrame
+48 QFrame::~QFrame
+56 QFrame::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QFrame::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QFrame::paintEvent
+256 QWidget::moveEvent
+264 QWidget::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QFrame::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 (int (*)(...))-0x00000000000000010
+456 (int (*)(...))(& _ZTI6QFrame)
+464 QFrame::_ZThn16_N6QFrameD1Ev
+472 QFrame::_ZThn16_N6QFrameD0Ev
+480 QWidget::_ZThn16_NK7QWidget7devTypeEv
+488 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+496 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QFrame
+ size=40 align=8
+ base size=40 base align=8
+QFrame (0x7fc38c7b7a80) 0
+ vptr=((& QFrame::_ZTV6QFrame) + 16u)
+ QWidget (0x7fc38c7ba680) 0
+ primary-for QFrame (0x7fc38c7b7a80)
+ QObject (0x7fc38c7b7af0) 0
+ primary-for QWidget (0x7fc38c7ba680)
+ QPaintDevice (0x7fc38c7b7b60) 16
+ vptr=((& QFrame::_ZTV6QFrame) + 464u)
+
+Vtable for QAbstractScrollArea
+QAbstractScrollArea::_ZTV19QAbstractScrollArea: 65u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QAbstractScrollArea)
+16 QAbstractScrollArea::metaObject
+24 QAbstractScrollArea::qt_metacast
+32 QAbstractScrollArea::qt_metacall
+40 QAbstractScrollArea::~QAbstractScrollArea
+48 QAbstractScrollArea::~QAbstractScrollArea
+56 QAbstractScrollArea::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QAbstractScrollArea::sizeHint
+136 QAbstractScrollArea::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QAbstractScrollArea::mousePressEvent
+168 QAbstractScrollArea::mouseReleaseEvent
+176 QAbstractScrollArea::mouseDoubleClickEvent
+184 QAbstractScrollArea::mouseMoveEvent
+192 QAbstractScrollArea::wheelEvent
+200 QAbstractScrollArea::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QAbstractScrollArea::paintEvent
+256 QWidget::moveEvent
+264 QAbstractScrollArea::resizeEvent
+272 QWidget::closeEvent
+280 QAbstractScrollArea::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QAbstractScrollArea::dragEnterEvent
+312 QAbstractScrollArea::dragMoveEvent
+320 QAbstractScrollArea::dragLeaveEvent
+328 QAbstractScrollArea::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QFrame::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QAbstractScrollArea::viewportEvent
+456 QAbstractScrollArea::scrollContentsBy
+464 (int (*)(...))-0x00000000000000010
+472 (int (*)(...))(& _ZTI19QAbstractScrollArea)
+480 QAbstractScrollArea::_ZThn16_N19QAbstractScrollAreaD1Ev
+488 QAbstractScrollArea::_ZThn16_N19QAbstractScrollAreaD0Ev
+496 QWidget::_ZThn16_NK7QWidget7devTypeEv
+504 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+512 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QAbstractScrollArea
+ size=40 align=8
+ base size=40 base align=8
+QAbstractScrollArea (0x7fc38c5e30e0) 0
+ vptr=((& QAbstractScrollArea::_ZTV19QAbstractScrollArea) + 16u)
+ QFrame (0x7fc38c5e3150) 0
+ primary-for QAbstractScrollArea (0x7fc38c5e30e0)
+ QWidget (0x7fc38c7c8a80) 0
+ primary-for QFrame (0x7fc38c5e3150)
+ QObject (0x7fc38c5e31c0) 0
+ primary-for QWidget (0x7fc38c7c8a80)
+ QPaintDevice (0x7fc38c5e3230) 16
+ vptr=((& QAbstractScrollArea::_ZTV19QAbstractScrollArea) + 480u)
+
+Class QItemSelectionRange
+ size=16 align=8
+ base size=16 base align=8
+QItemSelectionRange (0x7fc38c60b000) 0
+
+Vtable for QItemSelectionModel
+QItemSelectionModel::_ZTV19QItemSelectionModel: 18u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QItemSelectionModel)
+16 QItemSelectionModel::metaObject
+24 QItemSelectionModel::qt_metacast
+32 QItemSelectionModel::qt_metacall
+40 QItemSelectionModel::~QItemSelectionModel
+48 QItemSelectionModel::~QItemSelectionModel
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QItemSelectionModel::select
+120 QItemSelectionModel::select
+128 QItemSelectionModel::clear
+136 QItemSelectionModel::reset
+
+Class QItemSelectionModel
+ size=16 align=8
+ base size=16 base align=8
+QItemSelectionModel (0x7fc38c6724d0) 0
+ vptr=((& QItemSelectionModel::_ZTV19QItemSelectionModel) + 16u)
+ QObject (0x7fc38c672540) 0
+ primary-for QItemSelectionModel (0x7fc38c6724d0)
+
+Class QItemSelection
+ size=8 align=8
+ base size=8 base align=8
+QItemSelection (0x7fc38c6b39a0) 0
+ QList<QItemSelectionRange> (0x7fc38c6b3a10) 0
+
+Vtable for QValidator
+QValidator::_ZTV10QValidator: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QValidator)
+16 QValidator::metaObject
+24 QValidator::qt_metacast
+32 QValidator::qt_metacall
+40 QValidator::~QValidator
+48 QValidator::~QValidator
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+120 QValidator::fixup
+
+Class QValidator
+ size=16 align=8
+ base size=16 base align=8
+QValidator (0x7fc38c4f22a0) 0
+ vptr=((& QValidator::_ZTV10QValidator) + 16u)
+ QObject (0x7fc38c4f2310) 0
+ primary-for QValidator (0x7fc38c4f22a0)
+
+Vtable for QIntValidator
+QIntValidator::_ZTV13QIntValidator: 17u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QIntValidator)
+16 QIntValidator::metaObject
+24 QIntValidator::qt_metacast
+32 QIntValidator::qt_metacall
+40 QIntValidator::~QIntValidator
+48 QIntValidator::~QIntValidator
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QIntValidator::validate
+120 QValidator::fixup
+128 QIntValidator::setRange
+
+Class QIntValidator
+ size=24 align=8
+ base size=24 base align=8
+QIntValidator (0x7fc38c50e0e0) 0
+ vptr=((& QIntValidator::_ZTV13QIntValidator) + 16u)
+ QValidator (0x7fc38c50e150) 0
+ primary-for QIntValidator (0x7fc38c50e0e0)
+ QObject (0x7fc38c50e1c0) 0
+ primary-for QValidator (0x7fc38c50e150)
+
+Vtable for QDoubleValidator
+QDoubleValidator::_ZTV16QDoubleValidator: 17u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QDoubleValidator)
+16 QDoubleValidator::metaObject
+24 QDoubleValidator::qt_metacast
+32 QDoubleValidator::qt_metacall
+40 QDoubleValidator::~QDoubleValidator
+48 QDoubleValidator::~QDoubleValidator
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QDoubleValidator::validate
+120 QValidator::fixup
+128 QDoubleValidator::setRange
+
+Class QDoubleValidator
+ size=40 align=8
+ base size=36 base align=8
+QDoubleValidator (0x7fc38c523070) 0
+ vptr=((& QDoubleValidator::_ZTV16QDoubleValidator) + 16u)
+ QValidator (0x7fc38c5230e0) 0
+ primary-for QDoubleValidator (0x7fc38c523070)
+ QObject (0x7fc38c523150) 0
+ primary-for QValidator (0x7fc38c5230e0)
+
+Vtable for QRegExpValidator
+QRegExpValidator::_ZTV16QRegExpValidator: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QRegExpValidator)
+16 QRegExpValidator::metaObject
+24 QRegExpValidator::qt_metacast
+32 QRegExpValidator::qt_metacall
+40 QRegExpValidator::~QRegExpValidator
+48 QRegExpValidator::~QRegExpValidator
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QRegExpValidator::validate
+120 QValidator::fixup
+
+Class QRegExpValidator
+ size=24 align=8
+ base size=24 base align=8
+QRegExpValidator (0x7fc38c53f930) 0
+ vptr=((& QRegExpValidator::_ZTV16QRegExpValidator) + 16u)
+ QValidator (0x7fc38c53f9a0) 0
+ primary-for QRegExpValidator (0x7fc38c53f930)
+ QObject (0x7fc38c53fa10) 0
+ primary-for QValidator (0x7fc38c53f9a0)
+
+Vtable for QAbstractSpinBox
+QAbstractSpinBox::_ZTV16QAbstractSpinBox: 68u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QAbstractSpinBox)
+16 QAbstractSpinBox::metaObject
+24 QAbstractSpinBox::qt_metacast
+32 QAbstractSpinBox::qt_metacall
+40 QAbstractSpinBox::~QAbstractSpinBox
+48 QAbstractSpinBox::~QAbstractSpinBox
+56 QAbstractSpinBox::event
+64 QObject::eventFilter
+72 QAbstractSpinBox::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QAbstractSpinBox::sizeHint
+136 QAbstractSpinBox::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QAbstractSpinBox::mousePressEvent
+168 QAbstractSpinBox::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QAbstractSpinBox::mouseMoveEvent
+192 QAbstractSpinBox::wheelEvent
+200 QAbstractSpinBox::keyPressEvent
+208 QAbstractSpinBox::keyReleaseEvent
+216 QAbstractSpinBox::focusInEvent
+224 QAbstractSpinBox::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QAbstractSpinBox::paintEvent
+256 QWidget::moveEvent
+264 QAbstractSpinBox::resizeEvent
+272 QAbstractSpinBox::closeEvent
+280 QAbstractSpinBox::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QAbstractSpinBox::showEvent
+344 QAbstractSpinBox::hideEvent
+352 QWidget::x11Event
+360 QAbstractSpinBox::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QAbstractSpinBox::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QAbstractSpinBox::validate
+456 QAbstractSpinBox::fixup
+464 QAbstractSpinBox::stepBy
+472 QAbstractSpinBox::clear
+480 QAbstractSpinBox::stepEnabled
+488 (int (*)(...))-0x00000000000000010
+496 (int (*)(...))(& _ZTI16QAbstractSpinBox)
+504 QAbstractSpinBox::_ZThn16_N16QAbstractSpinBoxD1Ev
+512 QAbstractSpinBox::_ZThn16_N16QAbstractSpinBoxD0Ev
+520 QWidget::_ZThn16_NK7QWidget7devTypeEv
+528 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+536 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QAbstractSpinBox
+ size=40 align=8
+ base size=40 base align=8
+QAbstractSpinBox (0x7fc38c5565b0) 0
+ vptr=((& QAbstractSpinBox::_ZTV16QAbstractSpinBox) + 16u)
+ QWidget (0x7fc38c53ce80) 0
+ primary-for QAbstractSpinBox (0x7fc38c5565b0)
+ QObject (0x7fc38c556620) 0
+ primary-for QWidget (0x7fc38c53ce80)
+ QPaintDevice (0x7fc38c556690) 16
+ vptr=((& QAbstractSpinBox::_ZTV16QAbstractSpinBox) + 504u)
+
+Vtable for QAbstractSlider
+QAbstractSlider::_ZTV15QAbstractSlider: 64u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QAbstractSlider)
+16 QAbstractSlider::metaObject
+24 QAbstractSlider::qt_metacast
+32 QAbstractSlider::qt_metacall
+40 QAbstractSlider::~QAbstractSlider
+48 QAbstractSlider::~QAbstractSlider
+56 QAbstractSlider::event
+64 QObject::eventFilter
+72 QAbstractSlider::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QWidget::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QAbstractSlider::wheelEvent
+200 QAbstractSlider::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QWidget::paintEvent
+256 QWidget::moveEvent
+264 QWidget::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QAbstractSlider::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QAbstractSlider::sliderChange
+456 (int (*)(...))-0x00000000000000010
+464 (int (*)(...))(& _ZTI15QAbstractSlider)
+472 QAbstractSlider::_ZThn16_N15QAbstractSliderD1Ev
+480 QAbstractSlider::_ZThn16_N15QAbstractSliderD0Ev
+488 QWidget::_ZThn16_NK7QWidget7devTypeEv
+496 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+504 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QAbstractSlider
+ size=40 align=8
+ base size=40 base align=8
+QAbstractSlider (0x7fc38c5b25b0) 0
+ vptr=((& QAbstractSlider::_ZTV15QAbstractSlider) + 16u)
+ QWidget (0x7fc38c5b3200) 0
+ primary-for QAbstractSlider (0x7fc38c5b25b0)
+ QObject (0x7fc38c5b2620) 0
+ primary-for QWidget (0x7fc38c5b3200)
+ QPaintDevice (0x7fc38c5b2690) 16
+ vptr=((& QAbstractSlider::_ZTV15QAbstractSlider) + 472u)
+
+Vtable for QSlider
+QSlider::_ZTV7QSlider: 64u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QSlider)
+16 QSlider::metaObject
+24 QSlider::qt_metacast
+32 QSlider::qt_metacall
+40 QSlider::~QSlider
+48 QSlider::~QSlider
+56 QSlider::event
+64 QObject::eventFilter
+72 QAbstractSlider::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QSlider::sizeHint
+136 QSlider::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QSlider::mousePressEvent
+168 QSlider::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QSlider::mouseMoveEvent
+192 QAbstractSlider::wheelEvent
+200 QAbstractSlider::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QSlider::paintEvent
+256 QWidget::moveEvent
+264 QWidget::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QAbstractSlider::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QAbstractSlider::sliderChange
+456 (int (*)(...))-0x00000000000000010
+464 (int (*)(...))(& _ZTI7QSlider)
+472 QSlider::_ZThn16_N7QSliderD1Ev
+480 QSlider::_ZThn16_N7QSliderD0Ev
+488 QWidget::_ZThn16_NK7QWidget7devTypeEv
+496 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+504 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QSlider
+ size=40 align=8
+ base size=40 base align=8
+QSlider (0x7fc38c3ec3f0) 0
+ vptr=((& QSlider::_ZTV7QSlider) + 16u)
+ QAbstractSlider (0x7fc38c3ec460) 0
+ primary-for QSlider (0x7fc38c3ec3f0)
+ QWidget (0x7fc38c3ea300) 0
+ primary-for QAbstractSlider (0x7fc38c3ec460)
+ QObject (0x7fc38c3ec4d0) 0
+ primary-for QWidget (0x7fc38c3ea300)
+ QPaintDevice (0x7fc38c3ec540) 16
+ vptr=((& QSlider::_ZTV7QSlider) + 472u)
+
+Vtable for QStyle
+QStyle::_ZTV6QStyle: 35u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI6QStyle)
+16 QStyle::metaObject
+24 QStyle::qt_metacast
+32 QStyle::qt_metacall
+40 QStyle::~QStyle
+48 QStyle::~QStyle
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QStyle::polish
+120 QStyle::unpolish
+128 QStyle::polish
+136 QStyle::unpolish
+144 QStyle::polish
+152 QStyle::itemTextRect
+160 QStyle::itemPixmapRect
+168 QStyle::drawItemText
+176 QStyle::drawItemPixmap
+184 QStyle::standardPalette
+192 __cxa_pure_virtual
+200 __cxa_pure_virtual
+208 __cxa_pure_virtual
+216 __cxa_pure_virtual
+224 __cxa_pure_virtual
+232 __cxa_pure_virtual
+240 __cxa_pure_virtual
+248 __cxa_pure_virtual
+256 __cxa_pure_virtual
+264 __cxa_pure_virtual
+272 __cxa_pure_virtual
+
+Class QStyle
+ size=16 align=8
+ base size=16 base align=8
+QStyle (0x7fc38c4119a0) 0
+ vptr=((& QStyle::_ZTV6QStyle) + 16u)
+ QObject (0x7fc38c411a10) 0
+ primary-for QStyle (0x7fc38c4119a0)
+
+Vtable for QTabBar
+QTabBar::_ZTV7QTabBar: 67u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QTabBar)
+16 QTabBar::metaObject
+24 QTabBar::qt_metacast
+32 QTabBar::qt_metacall
+40 QTabBar::~QTabBar
+48 QTabBar::~QTabBar
+56 QTabBar::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QTabBar::sizeHint
+136 QTabBar::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QTabBar::mousePressEvent
+168 QTabBar::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QTabBar::mouseMoveEvent
+192 QTabBar::wheelEvent
+200 QTabBar::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QTabBar::paintEvent
+256 QWidget::moveEvent
+264 QTabBar::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QTabBar::showEvent
+344 QTabBar::hideEvent
+352 QWidget::x11Event
+360 QTabBar::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QTabBar::tabSizeHint
+456 QTabBar::tabInserted
+464 QTabBar::tabRemoved
+472 QTabBar::tabLayoutChange
+480 (int (*)(...))-0x00000000000000010
+488 (int (*)(...))(& _ZTI7QTabBar)
+496 QTabBar::_ZThn16_N7QTabBarD1Ev
+504 QTabBar::_ZThn16_N7QTabBarD0Ev
+512 QWidget::_ZThn16_NK7QWidget7devTypeEv
+520 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+528 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QTabBar
+ size=40 align=8
+ base size=40 base align=8
+QTabBar (0x7fc38c4c2850) 0
+ vptr=((& QTabBar::_ZTV7QTabBar) + 16u)
+ QWidget (0x7fc38c4c3300) 0
+ primary-for QTabBar (0x7fc38c4c2850)
+ QObject (0x7fc38c4c28c0) 0
+ primary-for QWidget (0x7fc38c4c3300)
+ QPaintDevice (0x7fc38c4c2930) 16
+ vptr=((& QTabBar::_ZTV7QTabBar) + 496u)
+
+Vtable for QTabWidget
+QTabWidget::_ZTV10QTabWidget: 65u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QTabWidget)
+16 QTabWidget::metaObject
+24 QTabWidget::qt_metacast
+32 QTabWidget::qt_metacall
+40 QTabWidget::~QTabWidget
+48 QTabWidget::~QTabWidget
+56 QTabWidget::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QTabWidget::sizeHint
+136 QTabWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QTabWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QTabWidget::paintEvent
+256 QWidget::moveEvent
+264 QTabWidget::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QTabWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QTabWidget::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QTabWidget::tabInserted
+456 QTabWidget::tabRemoved
+464 (int (*)(...))-0x00000000000000010
+472 (int (*)(...))(& _ZTI10QTabWidget)
+480 QTabWidget::_ZThn16_N10QTabWidgetD1Ev
+488 QTabWidget::_ZThn16_N10QTabWidgetD0Ev
+496 QWidget::_ZThn16_NK7QWidget7devTypeEv
+504 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+512 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QTabWidget
+ size=40 align=8
+ base size=40 base align=8
+QTabWidget (0x7fc38c2ede70) 0
+ vptr=((& QTabWidget::_ZTV10QTabWidget) + 16u)
+ QWidget (0x7fc38c2ea700) 0
+ primary-for QTabWidget (0x7fc38c2ede70)
+ QObject (0x7fc38c2edee0) 0
+ primary-for QWidget (0x7fc38c2ea700)
+ QPaintDevice (0x7fc38c2edf50) 16
+ vptr=((& QTabWidget::_ZTV10QTabWidget) + 480u)
+
+Vtable for QRubberBand
+QRubberBand::_ZTV11QRubberBand: 63u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QRubberBand)
+16 QRubberBand::metaObject
+24 QRubberBand::qt_metacast
+32 QRubberBand::qt_metacall
+40 QRubberBand::~QRubberBand
+48 QRubberBand::~QRubberBand
+56 QRubberBand::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QWidget::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QRubberBand::paintEvent
+256 QRubberBand::moveEvent
+264 QRubberBand::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QRubberBand::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QRubberBand::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 (int (*)(...))-0x00000000000000010
+456 (int (*)(...))(& _ZTI11QRubberBand)
+464 QRubberBand::_ZThn16_N11QRubberBandD1Ev
+472 QRubberBand::_ZThn16_N11QRubberBandD0Ev
+480 QWidget::_ZThn16_NK7QWidget7devTypeEv
+488 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+496 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QRubberBand
+ size=40 align=8
+ base size=40 base align=8
+QRubberBand (0x7fc38c342850) 0
+ vptr=((& QRubberBand::_ZTV11QRubberBand) + 16u)
+ QWidget (0x7fc38c341880) 0
+ primary-for QRubberBand (0x7fc38c342850)
+ QObject (0x7fc38c3428c0) 0
+ primary-for QWidget (0x7fc38c341880)
+ QPaintDevice (0x7fc38c342930) 16
+ vptr=((& QRubberBand::_ZTV11QRubberBand) + 464u)
+
+Class QStyleOption
+ size=56 align=8
+ base size=56 base align=8
+QStyleOption (0x7fc38c366b60) 0
+
+Class QStyleOptionFocusRect
+ size=72 align=8
+ base size=72 base align=8
+QStyleOptionFocusRect (0x7fc38c3738c0) 0
+ QStyleOption (0x7fc38c373930) 0
+
+Class QStyleOptionFrame
+ size=64 align=8
+ base size=64 base align=8
+QStyleOptionFrame (0x7fc38c37e8c0) 0
+ QStyleOption (0x7fc38c37e930) 0
+
+Class QStyleOptionFrameV2
+ size=72 align=8
+ base size=68 base align=8
+QStyleOptionFrameV2 (0x7fc38c38c850) 0
+ QStyleOptionFrame (0x7fc38c38c8c0) 0
+ QStyleOption (0x7fc38c38c930) 0
+
+Class QStyleOptionFrameV3
+ size=72 align=8
+ base size=72 base align=8
+QStyleOptionFrameV3 (0x7fc38c1d3150) 0
+ QStyleOptionFrameV2 (0x7fc38c1d31c0) 0
+ QStyleOptionFrame (0x7fc38c1d3230) 0
+ QStyleOption (0x7fc38c1d32a0) 0
+
+Class QStyleOptionTabWidgetFrame
+ size=96 align=8
+ base size=92 base align=8
+QStyleOptionTabWidgetFrame (0x7fc38c1dfa10) 0
+ QStyleOption (0x7fc38c1dfa80) 0
+
+Class QStyleOptionTabWidgetFrameV2
+ size=128 align=8
+ base size=124 base align=8
+QStyleOptionTabWidgetFrameV2 (0x7fc38c1f51c0) 0
+ QStyleOptionTabWidgetFrame (0x7fc38c1f5230) 0
+ QStyleOption (0x7fc38c1f52a0) 0
+
+Class QStyleOptionTabBarBase
+ size=96 align=8
+ base size=92 base align=8
+QStyleOptionTabBarBase (0x7fc38c1fdaf0) 0
+ QStyleOption (0x7fc38c1fdb60) 0
+
+Class QStyleOptionTabBarBaseV2
+ size=96 align=8
+ base size=93 base align=8
+QStyleOptionTabBarBaseV2 (0x7fc38c209ee0) 0
+ QStyleOptionTabBarBase (0x7fc38c209f50) 0
+ QStyleOption (0x7fc38c209310) 0
+
+Class QStyleOptionHeader
+ size=112 align=8
+ base size=108 base align=8
+QStyleOptionHeader (0x7fc38c21f540) 0
+ QStyleOption (0x7fc38c21f5b0) 0
+
+Class QStyleOptionButton
+ size=88 align=8
+ base size=88 base align=8
+QStyleOptionButton (0x7fc38c237700) 0
+ QStyleOption (0x7fc38c237770) 0
+
+Class QStyleOptionTab
+ size=96 align=8
+ base size=96 base align=8
+QStyleOptionTab (0x7fc38c2850e0) 0
+ QStyleOption (0x7fc38c285150) 0
+
+Class QStyleOptionTabV2
+ size=104 align=8
+ base size=104 base align=8
+QStyleOptionTabV2 (0x7fc38c0d4070) 0
+ QStyleOptionTab (0x7fc38c0d40e0) 0
+ QStyleOption (0x7fc38c0d4150) 0
+
+Class QStyleOptionTabV3
+ size=128 align=8
+ base size=124 base align=8
+QStyleOptionTabV3 (0x7fc38c0dea80) 0
+ QStyleOptionTabV2 (0x7fc38c0deaf0) 0
+ QStyleOptionTab (0x7fc38c0deb60) 0
+ QStyleOption (0x7fc38c0debd0) 0
+
+Class QStyleOptionToolBar
+ size=80 align=8
+ base size=80 base align=8
+QStyleOptionToolBar (0x7fc38c0fd0e0) 0
+ QStyleOption (0x7fc38c0fd150) 0
+
+Class QStyleOptionProgressBar
+ size=88 align=8
+ base size=85 base align=8
+QStyleOptionProgressBar (0x7fc38c1318c0) 0
+ QStyleOption (0x7fc38c131930) 0
+
+Class QStyleOptionProgressBarV2
+ size=96 align=8
+ base size=94 base align=8
+QStyleOptionProgressBarV2 (0x7fc38c158070) 0
+ QStyleOptionProgressBar (0x7fc38c1580e0) 0
+ QStyleOption (0x7fc38c158150) 0
+
+Class QStyleOptionMenuItem
+ size=128 align=8
+ base size=128 base align=8
+QStyleOptionMenuItem (0x7fc38c158930) 0
+ QStyleOption (0x7fc38c1589a0) 0
+
+Class QStyleOptionQ3ListViewItem
+ size=80 align=8
+ base size=76 base align=8
+QStyleOptionQ3ListViewItem (0x7fc38c172b60) 0
+ QStyleOption (0x7fc38c172bd0) 0
+
+Class QStyleOptionQ3DockWindow
+ size=64 align=8
+ base size=58 base align=8
+QStyleOptionQ3DockWindow (0x7fc38bfc0000) 0
+ QStyleOption (0x7fc38bfc0070) 0
+
+Class QStyleOptionDockWidget
+ size=72 align=8
+ base size=67 base align=8
+QStyleOptionDockWidget (0x7fc38bfc0690) 0
+ QStyleOption (0x7fc38bfcd000) 0
+
+Class QStyleOptionDockWidgetV2
+ size=72 align=8
+ base size=68 base align=8
+QStyleOptionDockWidgetV2 (0x7fc38bfdb380) 0
+ QStyleOptionDockWidget (0x7fc38bfdb3f0) 0
+ QStyleOption (0x7fc38bfdb460) 0
+
+Class QStyleOptionViewItem
+ size=104 align=8
+ base size=97 base align=8
+QStyleOptionViewItem (0x7fc38bfe3b60) 0
+ QStyleOption (0x7fc38bfe3bd0) 0
+
+Class QStyleOptionViewItemV2
+ size=104 align=8
+ base size=104 base align=8
+QStyleOptionViewItemV2 (0x7fc38bffb700) 0
+ QStyleOptionViewItem (0x7fc38bffb770) 0
+ QStyleOption (0x7fc38bffb7e0) 0
+
+Class QStyleOptionViewItemV3
+ size=120 align=8
+ base size=120 base align=8
+QStyleOptionViewItemV3 (0x7fc38c04a150) 0
+ QStyleOptionViewItemV2 (0x7fc38c04a1c0) 0
+ QStyleOptionViewItem (0x7fc38c04a230) 0
+ QStyleOption (0x7fc38c04a2a0) 0
+
+Class QStyleOptionViewItemV4
+ size=184 align=8
+ base size=184 base align=8
+QStyleOptionViewItemV4 (0x7fc38c054a10) 0
+ QStyleOptionViewItemV3 (0x7fc38c054a80) 0
+ QStyleOptionViewItemV2 (0x7fc38c054af0) 0
+ QStyleOptionViewItem (0x7fc38c054b60) 0
+ QStyleOption (0x7fc38c054bd0) 0
+
+Class QStyleOptionToolBox
+ size=72 align=8
+ base size=72 base align=8
+QStyleOptionToolBox (0x7fc38c076150) 0
+ QStyleOption (0x7fc38c0761c0) 0
+
+Class QStyleOptionToolBoxV2
+ size=80 align=8
+ base size=80 base align=8
+QStyleOptionToolBoxV2 (0x7fc38c082620) 0
+ QStyleOptionToolBox (0x7fc38c082690) 0
+ QStyleOption (0x7fc38c082700) 0
+
+Class QStyleOptionRubberBand
+ size=64 align=8
+ base size=61 base align=8
+QStyleOptionRubberBand (0x7fc38c099310) 0
+ QStyleOption (0x7fc38c099380) 0
+
+Class QStyleOptionComplex
+ size=64 align=8
+ base size=64 base align=8
+QStyleOptionComplex (0x7fc38c0a23f0) 0
+ QStyleOption (0x7fc38c0a2460) 0
+
+Class QStyleOptionSlider
+ size=120 align=8
+ base size=113 base align=8
+QStyleOptionSlider (0x7fc38c0adbd0) 0
+ QStyleOptionComplex (0x7fc38c0adc40) 0
+ QStyleOption (0x7fc38c0adcb0) 0
+
+Class QStyleOptionSpinBox
+ size=80 align=8
+ base size=73 base align=8
+QStyleOptionSpinBox (0x7fc38bec39a0) 0
+ QStyleOptionComplex (0x7fc38bec3a10) 0
+ QStyleOption (0x7fc38bec3a80) 0
+
+Class QStyleOptionQ3ListView
+ size=112 align=8
+ base size=105 base align=8
+QStyleOptionQ3ListView (0x7fc38beccee0) 0
+ QStyleOptionComplex (0x7fc38beccf50) 0
+ QStyleOption (0x7fc38becc380) 0
+
+Class QStyleOptionToolButton
+ size=128 align=8
+ base size=128 base align=8
+QStyleOptionToolButton (0x7fc38bf05af0) 0
+ QStyleOptionComplex (0x7fc38bf05b60) 0
+ QStyleOption (0x7fc38bf05bd0) 0
+
+Class QStyleOptionComboBox
+ size=112 align=8
+ base size=112 base align=8
+QStyleOptionComboBox (0x7fc38bf45d20) 0
+ QStyleOptionComplex (0x7fc38bf45d90) 0
+ QStyleOption (0x7fc38bf45e00) 0
+
+Class QStyleOptionTitleBar
+ size=88 align=8
+ base size=88 base align=8
+QStyleOptionTitleBar (0x7fc38bf6c850) 0
+ QStyleOptionComplex (0x7fc38bf6c8c0) 0
+ QStyleOption (0x7fc38bf6c930) 0
+
+Class QStyleOptionGroupBox
+ size=112 align=8
+ base size=108 base align=8
+QStyleOptionGroupBox (0x7fc38bf840e0) 0
+ QStyleOptionComplex (0x7fc38bf84150) 0
+ QStyleOption (0x7fc38bf841c0) 0
+
+Class QStyleOptionSizeGrip
+ size=72 align=8
+ base size=68 base align=8
+QStyleOptionSizeGrip (0x7fc38bf93cb0) 0
+ QStyleOptionComplex (0x7fc38bf93d20) 0
+ QStyleOption (0x7fc38bf93d90) 0
+
+Class QStyleOptionGraphicsItem
+ size=144 align=8
+ base size=144 base align=8
+QStyleOptionGraphicsItem (0x7fc38bf9dc40) 0
+ QStyleOption (0x7fc38bf9dcb0) 0
+
+Class QStyleHintReturn
+ size=8 align=4
+ base size=8 base align=4
+QStyleHintReturn (0x7fc38bfaa2a0) 0
+
+Class QStyleHintReturnMask
+ size=16 align=8
+ base size=16 base align=8
+QStyleHintReturnMask (0x7fc38bdc93f0) 0
+ QStyleHintReturn (0x7fc38bdc9460) 0
+
+Class QStyleHintReturnVariant
+ size=24 align=8
+ base size=24 base align=8
+QStyleHintReturnVariant (0x7fc38bdc9620) 0
+ QStyleHintReturn (0x7fc38bdc9690) 0
+
+Vtable for QAbstractItemDelegate
+QAbstractItemDelegate::_ZTV21QAbstractItemDelegate: 21u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI21QAbstractItemDelegate)
+16 QAbstractItemDelegate::metaObject
+24 QAbstractItemDelegate::qt_metacast
+32 QAbstractItemDelegate::qt_metacall
+40 QAbstractItemDelegate::~QAbstractItemDelegate
+48 QAbstractItemDelegate::~QAbstractItemDelegate
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 QAbstractItemDelegate::createEditor
+136 QAbstractItemDelegate::setEditorData
+144 QAbstractItemDelegate::setModelData
+152 QAbstractItemDelegate::updateEditorGeometry
+160 QAbstractItemDelegate::editorEvent
+
+Class QAbstractItemDelegate
+ size=16 align=8
+ base size=16 base align=8
+QAbstractItemDelegate (0x7fc38bdc9af0) 0
+ vptr=((& QAbstractItemDelegate::_ZTV21QAbstractItemDelegate) + 16u)
+ QObject (0x7fc38bdc9b60) 0
+ primary-for QAbstractItemDelegate (0x7fc38bdc9af0)
+
+Vtable for QAbstractItemView
+QAbstractItemView::_ZTV17QAbstractItemView: 103u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QAbstractItemView)
+16 QAbstractItemView::metaObject
+24 QAbstractItemView::qt_metacast
+32 QAbstractItemView::qt_metacall
+40 QAbstractItemView::~QAbstractItemView
+48 QAbstractItemView::~QAbstractItemView
+56 QAbstractItemView::event
+64 QObject::eventFilter
+72 QAbstractItemView::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QAbstractScrollArea::sizeHint
+136 QAbstractScrollArea::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QAbstractItemView::mousePressEvent
+168 QAbstractItemView::mouseReleaseEvent
+176 QAbstractItemView::mouseDoubleClickEvent
+184 QAbstractItemView::mouseMoveEvent
+192 QAbstractScrollArea::wheelEvent
+200 QAbstractItemView::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QAbstractItemView::focusInEvent
+224 QAbstractItemView::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QAbstractScrollArea::paintEvent
+256 QWidget::moveEvent
+264 QAbstractItemView::resizeEvent
+272 QWidget::closeEvent
+280 QAbstractScrollArea::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QAbstractItemView::dragEnterEvent
+312 QAbstractItemView::dragMoveEvent
+320 QAbstractItemView::dragLeaveEvent
+328 QAbstractItemView::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QFrame::changeEvent
+368 QWidget::metric
+376 QAbstractItemView::inputMethodEvent
+384 QAbstractItemView::inputMethodQuery
+392 QAbstractItemView::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QAbstractItemView::viewportEvent
+456 QAbstractScrollArea::scrollContentsBy
+464 QAbstractItemView::setModel
+472 QAbstractItemView::setSelectionModel
+480 QAbstractItemView::keyboardSearch
+488 __cxa_pure_virtual
+496 __cxa_pure_virtual
+504 __cxa_pure_virtual
+512 QAbstractItemView::sizeHintForRow
+520 QAbstractItemView::sizeHintForColumn
+528 QAbstractItemView::reset
+536 QAbstractItemView::setRootIndex
+544 QAbstractItemView::doItemsLayout
+552 QAbstractItemView::selectAll
+560 QAbstractItemView::dataChanged
+568 QAbstractItemView::rowsInserted
+576 QAbstractItemView::rowsAboutToBeRemoved
+584 QAbstractItemView::selectionChanged
+592 QAbstractItemView::currentChanged
+600 QAbstractItemView::updateEditorData
+608 QAbstractItemView::updateEditorGeometries
+616 QAbstractItemView::updateGeometries
+624 QAbstractItemView::verticalScrollbarAction
+632 QAbstractItemView::horizontalScrollbarAction
+640 QAbstractItemView::verticalScrollbarValueChanged
+648 QAbstractItemView::horizontalScrollbarValueChanged
+656 QAbstractItemView::closeEditor
+664 QAbstractItemView::commitData
+672 QAbstractItemView::editorDestroyed
+680 __cxa_pure_virtual
+688 __cxa_pure_virtual
+696 __cxa_pure_virtual
+704 __cxa_pure_virtual
+712 __cxa_pure_virtual
+720 __cxa_pure_virtual
+728 QAbstractItemView::selectedIndexes
+736 QAbstractItemView::edit
+744 QAbstractItemView::selectionCommand
+752 QAbstractItemView::startDrag
+760 QAbstractItemView::viewOptions
+768 (int (*)(...))-0x00000000000000010
+776 (int (*)(...))(& _ZTI17QAbstractItemView)
+784 QAbstractItemView::_ZThn16_N17QAbstractItemViewD1Ev
+792 QAbstractItemView::_ZThn16_N17QAbstractItemViewD0Ev
+800 QWidget::_ZThn16_NK7QWidget7devTypeEv
+808 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+816 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QAbstractItemView
+ size=40 align=8
+ base size=40 base align=8
+QAbstractItemView (0x7fc38bdf91c0) 0
+ vptr=((& QAbstractItemView::_ZTV17QAbstractItemView) + 16u)
+ QAbstractScrollArea (0x7fc38bdf9230) 0
+ primary-for QAbstractItemView (0x7fc38bdf91c0)
+ QFrame (0x7fc38bdf92a0) 0
+ primary-for QAbstractScrollArea (0x7fc38bdf9230)
+ QWidget (0x7fc38bdd7d80) 0
+ primary-for QFrame (0x7fc38bdf92a0)
+ QObject (0x7fc38bdf9310) 0
+ primary-for QWidget (0x7fc38bdd7d80)
+ QPaintDevice (0x7fc38bdf9380) 16
+ vptr=((& QAbstractItemView::_ZTV17QAbstractItemView) + 784u)
+
+Vtable for QListView
+QListView::_ZTV9QListView: 103u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QListView)
+16 QListView::metaObject
+24 QListView::qt_metacast
+32 QListView::qt_metacall
+40 QListView::~QListView
+48 QListView::~QListView
+56 QListView::event
+64 QObject::eventFilter
+72 QListView::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QAbstractScrollArea::sizeHint
+136 QAbstractScrollArea::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QAbstractItemView::mousePressEvent
+168 QListView::mouseReleaseEvent
+176 QAbstractItemView::mouseDoubleClickEvent
+184 QListView::mouseMoveEvent
+192 QAbstractScrollArea::wheelEvent
+200 QAbstractItemView::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QAbstractItemView::focusInEvent
+224 QAbstractItemView::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QListView::paintEvent
+256 QWidget::moveEvent
+264 QListView::resizeEvent
+272 QWidget::closeEvent
+280 QAbstractScrollArea::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QAbstractItemView::dragEnterEvent
+312 QListView::dragMoveEvent
+320 QListView::dragLeaveEvent
+328 QListView::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QFrame::changeEvent
+368 QWidget::metric
+376 QAbstractItemView::inputMethodEvent
+384 QAbstractItemView::inputMethodQuery
+392 QAbstractItemView::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QAbstractItemView::viewportEvent
+456 QListView::scrollContentsBy
+464 QAbstractItemView::setModel
+472 QAbstractItemView::setSelectionModel
+480 QAbstractItemView::keyboardSearch
+488 QListView::visualRect
+496 QListView::scrollTo
+504 QListView::indexAt
+512 QAbstractItemView::sizeHintForRow
+520 QAbstractItemView::sizeHintForColumn
+528 QListView::reset
+536 QListView::setRootIndex
+544 QListView::doItemsLayout
+552 QAbstractItemView::selectAll
+560 QListView::dataChanged
+568 QListView::rowsInserted
+576 QListView::rowsAboutToBeRemoved
+584 QListView::selectionChanged
+592 QListView::currentChanged
+600 QAbstractItemView::updateEditorData
+608 QAbstractItemView::updateEditorGeometries
+616 QListView::updateGeometries
+624 QAbstractItemView::verticalScrollbarAction
+632 QAbstractItemView::horizontalScrollbarAction
+640 QAbstractItemView::verticalScrollbarValueChanged
+648 QAbstractItemView::horizontalScrollbarValueChanged
+656 QAbstractItemView::closeEditor
+664 QAbstractItemView::commitData
+672 QAbstractItemView::editorDestroyed
+680 QListView::moveCursor
+688 QListView::horizontalOffset
+696 QListView::verticalOffset
+704 QListView::isIndexHidden
+712 QListView::setSelection
+720 QListView::visualRegionForSelection
+728 QListView::selectedIndexes
+736 QAbstractItemView::edit
+744 QAbstractItemView::selectionCommand
+752 QListView::startDrag
+760 QListView::viewOptions
+768 (int (*)(...))-0x00000000000000010
+776 (int (*)(...))(& _ZTI9QListView)
+784 QListView::_ZThn16_N9QListViewD1Ev
+792 QListView::_ZThn16_N9QListViewD0Ev
+800 QWidget::_ZThn16_NK7QWidget7devTypeEv
+808 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+816 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QListView
+ size=40 align=8
+ base size=40 base align=8
+QListView (0x7fc38be6e9a0) 0
+ vptr=((& QListView::_ZTV9QListView) + 16u)
+ QAbstractItemView (0x7fc38be6ea10) 0
+ primary-for QListView (0x7fc38be6e9a0)
+ QAbstractScrollArea (0x7fc38be6ea80) 0
+ primary-for QAbstractItemView (0x7fc38be6ea10)
+ QFrame (0x7fc38be6eaf0) 0
+ primary-for QAbstractScrollArea (0x7fc38be6ea80)
+ QWidget (0x7fc38be59500) 0
+ primary-for QFrame (0x7fc38be6eaf0)
+ QObject (0x7fc38be6eb60) 0
+ primary-for QWidget (0x7fc38be59500)
+ QPaintDevice (0x7fc38be6ebd0) 16
+ vptr=((& QListView::_ZTV9QListView) + 784u)
+
+Vtable for QUndoView
+QUndoView::_ZTV9QUndoView: 103u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QUndoView)
+16 QUndoView::metaObject
+24 QUndoView::qt_metacast
+32 QUndoView::qt_metacall
+40 QUndoView::~QUndoView
+48 QUndoView::~QUndoView
+56 QListView::event
+64 QObject::eventFilter
+72 QListView::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QAbstractScrollArea::sizeHint
+136 QAbstractScrollArea::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QAbstractItemView::mousePressEvent
+168 QListView::mouseReleaseEvent
+176 QAbstractItemView::mouseDoubleClickEvent
+184 QListView::mouseMoveEvent
+192 QAbstractScrollArea::wheelEvent
+200 QAbstractItemView::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QAbstractItemView::focusInEvent
+224 QAbstractItemView::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QListView::paintEvent
+256 QWidget::moveEvent
+264 QListView::resizeEvent
+272 QWidget::closeEvent
+280 QAbstractScrollArea::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QAbstractItemView::dragEnterEvent
+312 QListView::dragMoveEvent
+320 QListView::dragLeaveEvent
+328 QListView::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QFrame::changeEvent
+368 QWidget::metric
+376 QAbstractItemView::inputMethodEvent
+384 QAbstractItemView::inputMethodQuery
+392 QAbstractItemView::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QAbstractItemView::viewportEvent
+456 QListView::scrollContentsBy
+464 QAbstractItemView::setModel
+472 QAbstractItemView::setSelectionModel
+480 QAbstractItemView::keyboardSearch
+488 QListView::visualRect
+496 QListView::scrollTo
+504 QListView::indexAt
+512 QAbstractItemView::sizeHintForRow
+520 QAbstractItemView::sizeHintForColumn
+528 QListView::reset
+536 QListView::setRootIndex
+544 QListView::doItemsLayout
+552 QAbstractItemView::selectAll
+560 QListView::dataChanged
+568 QListView::rowsInserted
+576 QListView::rowsAboutToBeRemoved
+584 QListView::selectionChanged
+592 QListView::currentChanged
+600 QAbstractItemView::updateEditorData
+608 QAbstractItemView::updateEditorGeometries
+616 QListView::updateGeometries
+624 QAbstractItemView::verticalScrollbarAction
+632 QAbstractItemView::horizontalScrollbarAction
+640 QAbstractItemView::verticalScrollbarValueChanged
+648 QAbstractItemView::horizontalScrollbarValueChanged
+656 QAbstractItemView::closeEditor
+664 QAbstractItemView::commitData
+672 QAbstractItemView::editorDestroyed
+680 QListView::moveCursor
+688 QListView::horizontalOffset
+696 QListView::verticalOffset
+704 QListView::isIndexHidden
+712 QListView::setSelection
+720 QListView::visualRegionForSelection
+728 QListView::selectedIndexes
+736 QAbstractItemView::edit
+744 QAbstractItemView::selectionCommand
+752 QListView::startDrag
+760 QListView::viewOptions
+768 (int (*)(...))-0x00000000000000010
+776 (int (*)(...))(& _ZTI9QUndoView)
+784 QUndoView::_ZThn16_N9QUndoViewD1Ev
+792 QUndoView::_ZThn16_N9QUndoViewD0Ev
+800 QWidget::_ZThn16_NK7QWidget7devTypeEv
+808 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+816 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QUndoView
+ size=40 align=8
+ base size=40 base align=8
+QUndoView (0x7fc38bcbc070) 0
+ vptr=((& QUndoView::_ZTV9QUndoView) + 16u)
+ QListView (0x7fc38bcbc0e0) 0
+ primary-for QUndoView (0x7fc38bcbc070)
+ QAbstractItemView (0x7fc38bcbc150) 0
+ primary-for QListView (0x7fc38bcbc0e0)
+ QAbstractScrollArea (0x7fc38bcbc1c0) 0
+ primary-for QAbstractItemView (0x7fc38bcbc150)
+ QFrame (0x7fc38bcbc230) 0
+ primary-for QAbstractScrollArea (0x7fc38bcbc1c0)
+ QWidget (0x7fc38beb7500) 0
+ primary-for QFrame (0x7fc38bcbc230)
+ QObject (0x7fc38bcbc2a0) 0
+ primary-for QWidget (0x7fc38beb7500)
+ QPaintDevice (0x7fc38bcbc310) 16
+ vptr=((& QUndoView::_ZTV9QUndoView) + 784u)
+
+Vtable for QDialog
+QDialog::_ZTV7QDialog: 66u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QDialog)
+16 QDialog::metaObject
+24 QDialog::qt_metacast
+32 QDialog::qt_metacall
+40 QDialog::~QDialog
+48 QDialog::~QDialog
+56 QWidget::event
+64 QDialog::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QDialog::setVisible
+128 QDialog::sizeHint
+136 QDialog::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QDialog::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QWidget::paintEvent
+256 QWidget::moveEvent
+264 QDialog::resizeEvent
+272 QDialog::closeEvent
+280 QDialog::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QDialog::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QWidget::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QDialog::done
+456 QDialog::accept
+464 QDialog::reject
+472 (int (*)(...))-0x00000000000000010
+480 (int (*)(...))(& _ZTI7QDialog)
+488 QDialog::_ZThn16_N7QDialogD1Ev
+496 QDialog::_ZThn16_N7QDialogD0Ev
+504 QWidget::_ZThn16_NK7QWidget7devTypeEv
+512 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+520 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QDialog
+ size=40 align=8
+ base size=40 base align=8
+QDialog (0x7fc38bcd5d20) 0
+ vptr=((& QDialog::_ZTV7QDialog) + 16u)
+ QWidget (0x7fc38beb7f00) 0
+ primary-for QDialog (0x7fc38bcd5d20)
+ QObject (0x7fc38bcd5d90) 0
+ primary-for QWidget (0x7fc38beb7f00)
+ QPaintDevice (0x7fc38bcd5e00) 16
+ vptr=((& QDialog::_ZTV7QDialog) + 488u)
+
+Vtable for QAbstractPageSetupDialog
+QAbstractPageSetupDialog::_ZTV24QAbstractPageSetupDialog: 67u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI24QAbstractPageSetupDialog)
+16 QAbstractPageSetupDialog::metaObject
+24 QAbstractPageSetupDialog::qt_metacast
+32 QAbstractPageSetupDialog::qt_metacall
+40 QAbstractPageSetupDialog::~QAbstractPageSetupDialog
+48 QAbstractPageSetupDialog::~QAbstractPageSetupDialog
+56 QWidget::event
+64 QDialog::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QDialog::setVisible
+128 QDialog::sizeHint
+136 QDialog::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QDialog::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QWidget::paintEvent
+256 QWidget::moveEvent
+264 QDialog::resizeEvent
+272 QDialog::closeEvent
+280 QDialog::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QDialog::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QWidget::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QAbstractPageSetupDialog::done
+456 QDialog::accept
+464 QDialog::reject
+472 __cxa_pure_virtual
+480 (int (*)(...))-0x00000000000000010
+488 (int (*)(...))(& _ZTI24QAbstractPageSetupDialog)
+496 QAbstractPageSetupDialog::_ZThn16_N24QAbstractPageSetupDialogD1Ev
+504 QAbstractPageSetupDialog::_ZThn16_N24QAbstractPageSetupDialogD0Ev
+512 QWidget::_ZThn16_NK7QWidget7devTypeEv
+520 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+528 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QAbstractPageSetupDialog
+ size=40 align=8
+ base size=40 base align=8
+QAbstractPageSetupDialog (0x7fc38bcfcb60) 0
+ vptr=((& QAbstractPageSetupDialog::_ZTV24QAbstractPageSetupDialog) + 16u)
+ QDialog (0x7fc38bcfcbd0) 0
+ primary-for QAbstractPageSetupDialog (0x7fc38bcfcb60)
+ QWidget (0x7fc38bcdda00) 0
+ primary-for QDialog (0x7fc38bcfcbd0)
+ QObject (0x7fc38bcfcc40) 0
+ primary-for QWidget (0x7fc38bcdda00)
+ QPaintDevice (0x7fc38bcfccb0) 16
+ vptr=((& QAbstractPageSetupDialog::_ZTV24QAbstractPageSetupDialog) + 496u)
+
+Vtable for QAbstractPrintDialog
+QAbstractPrintDialog::_ZTV20QAbstractPrintDialog: 67u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI20QAbstractPrintDialog)
+16 QAbstractPrintDialog::metaObject
+24 QAbstractPrintDialog::qt_metacast
+32 QAbstractPrintDialog::qt_metacall
+40 QAbstractPrintDialog::~QAbstractPrintDialog
+48 QAbstractPrintDialog::~QAbstractPrintDialog
+56 QWidget::event
+64 QDialog::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QDialog::setVisible
+128 QDialog::sizeHint
+136 QDialog::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QDialog::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QWidget::paintEvent
+256 QWidget::moveEvent
+264 QDialog::resizeEvent
+272 QDialog::closeEvent
+280 QDialog::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QDialog::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QWidget::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QDialog::done
+456 QDialog::accept
+464 QDialog::reject
+472 __cxa_pure_virtual
+480 (int (*)(...))-0x00000000000000010
+488 (int (*)(...))(& _ZTI20QAbstractPrintDialog)
+496 QAbstractPrintDialog::_ZThn16_N20QAbstractPrintDialogD1Ev
+504 QAbstractPrintDialog::_ZThn16_N20QAbstractPrintDialogD0Ev
+512 QWidget::_ZThn16_NK7QWidget7devTypeEv
+520 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+528 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QAbstractPrintDialog
+ size=40 align=8
+ base size=40 base align=8
+QAbstractPrintDialog (0x7fc38bd1b150) 0
+ vptr=((& QAbstractPrintDialog::_ZTV20QAbstractPrintDialog) + 16u)
+ QDialog (0x7fc38bd1b1c0) 0
+ primary-for QAbstractPrintDialog (0x7fc38bd1b150)
+ QWidget (0x7fc38bd13400) 0
+ primary-for QDialog (0x7fc38bd1b1c0)
+ QObject (0x7fc38bd1b230) 0
+ primary-for QWidget (0x7fc38bd13400)
+ QPaintDevice (0x7fc38bd1b2a0) 16
+ vptr=((& QAbstractPrintDialog::_ZTV20QAbstractPrintDialog) + 496u)
+
+Vtable for QColorDialog
+QColorDialog::_ZTV12QColorDialog: 66u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QColorDialog)
+16 QColorDialog::metaObject
+24 QColorDialog::qt_metacast
+32 QColorDialog::qt_metacall
+40 QColorDialog::~QColorDialog
+48 QColorDialog::~QColorDialog
+56 QWidget::event
+64 QDialog::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QColorDialog::setVisible
+128 QDialog::sizeHint
+136 QDialog::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QDialog::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QWidget::paintEvent
+256 QWidget::moveEvent
+264 QDialog::resizeEvent
+272 QDialog::closeEvent
+280 QDialog::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QDialog::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QColorDialog::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QColorDialog::done
+456 QDialog::accept
+464 QDialog::reject
+472 (int (*)(...))-0x00000000000000010
+480 (int (*)(...))(& _ZTI12QColorDialog)
+488 QColorDialog::_ZThn16_N12QColorDialogD1Ev
+496 QColorDialog::_ZThn16_N12QColorDialogD0Ev
+504 QWidget::_ZThn16_NK7QWidget7devTypeEv
+512 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+520 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QColorDialog
+ size=40 align=8
+ base size=40 base align=8
+QColorDialog (0x7fc38bd76230) 0
+ vptr=((& QColorDialog::_ZTV12QColorDialog) + 16u)
+ QDialog (0x7fc38bd762a0) 0
+ primary-for QColorDialog (0x7fc38bd76230)
+ QWidget (0x7fc38bd37880) 0
+ primary-for QDialog (0x7fc38bd762a0)
+ QObject (0x7fc38bd76310) 0
+ primary-for QWidget (0x7fc38bd37880)
+ QPaintDevice (0x7fc38bd76380) 16
+ vptr=((& QColorDialog::_ZTV12QColorDialog) + 488u)
+
+Vtable for QErrorMessage
+QErrorMessage::_ZTV13QErrorMessage: 66u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QErrorMessage)
+16 QErrorMessage::metaObject
+24 QErrorMessage::qt_metacast
+32 QErrorMessage::qt_metacall
+40 QErrorMessage::~QErrorMessage
+48 QErrorMessage::~QErrorMessage
+56 QWidget::event
+64 QDialog::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QDialog::setVisible
+128 QDialog::sizeHint
+136 QDialog::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QDialog::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QWidget::paintEvent
+256 QWidget::moveEvent
+264 QDialog::resizeEvent
+272 QDialog::closeEvent
+280 QDialog::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QDialog::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QErrorMessage::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QErrorMessage::done
+456 QDialog::accept
+464 QDialog::reject
+472 (int (*)(...))-0x00000000000000010
+480 (int (*)(...))(& _ZTI13QErrorMessage)
+488 QErrorMessage::_ZThn16_N13QErrorMessageD1Ev
+496 QErrorMessage::_ZThn16_N13QErrorMessageD0Ev
+504 QWidget::_ZThn16_NK7QWidget7devTypeEv
+512 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+520 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QErrorMessage
+ size=40 align=8
+ base size=40 base align=8
+QErrorMessage (0x7fc38bbd85b0) 0
+ vptr=((& QErrorMessage::_ZTV13QErrorMessage) + 16u)
+ QDialog (0x7fc38bbd8620) 0
+ primary-for QErrorMessage (0x7fc38bbd85b0)
+ QWidget (0x7fc38bda0c00) 0
+ primary-for QDialog (0x7fc38bbd8620)
+ QObject (0x7fc38bbd8690) 0
+ primary-for QWidget (0x7fc38bda0c00)
+ QPaintDevice (0x7fc38bbd8700) 16
+ vptr=((& QErrorMessage::_ZTV13QErrorMessage) + 488u)
+
+Vtable for QFileDialog
+QFileDialog::_ZTV11QFileDialog: 66u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QFileDialog)
+16 QFileDialog::metaObject
+24 QFileDialog::qt_metacast
+32 QFileDialog::qt_metacall
+40 QFileDialog::~QFileDialog
+48 QFileDialog::~QFileDialog
+56 QWidget::event
+64 QDialog::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QFileDialog::setVisible
+128 QDialog::sizeHint
+136 QDialog::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QDialog::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QWidget::paintEvent
+256 QWidget::moveEvent
+264 QDialog::resizeEvent
+272 QDialog::closeEvent
+280 QDialog::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QDialog::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QFileDialog::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QFileDialog::done
+456 QFileDialog::accept
+464 QDialog::reject
+472 (int (*)(...))-0x00000000000000010
+480 (int (*)(...))(& _ZTI11QFileDialog)
+488 QFileDialog::_ZThn16_N11QFileDialogD1Ev
+496 QFileDialog::_ZThn16_N11QFileDialogD0Ev
+504 QWidget::_ZThn16_NK7QWidget7devTypeEv
+512 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+520 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QFileDialog
+ size=40 align=8
+ base size=40 base align=8
+QFileDialog (0x7fc38bbf41c0) 0
+ vptr=((& QFileDialog::_ZTV11QFileDialog) + 16u)
+ QDialog (0x7fc38bbf4230) 0
+ primary-for QFileDialog (0x7fc38bbf41c0)
+ QWidget (0x7fc38bbec780) 0
+ primary-for QDialog (0x7fc38bbf4230)
+ QObject (0x7fc38bbf42a0) 0
+ primary-for QWidget (0x7fc38bbec780)
+ QPaintDevice (0x7fc38bbf4310) 16
+ vptr=((& QFileDialog::_ZTV11QFileDialog) + 488u)
+
+Vtable for QFileSystemModel
+QFileSystemModel::_ZTV16QFileSystemModel: 42u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QFileSystemModel)
+16 QFileSystemModel::metaObject
+24 QFileSystemModel::qt_metacast
+32 QFileSystemModel::qt_metacall
+40 QFileSystemModel::~QFileSystemModel
+48 QFileSystemModel::~QFileSystemModel
+56 QFileSystemModel::event
+64 QObject::eventFilter
+72 QFileSystemModel::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QFileSystemModel::index
+120 QFileSystemModel::parent
+128 QFileSystemModel::rowCount
+136 QFileSystemModel::columnCount
+144 QFileSystemModel::hasChildren
+152 QFileSystemModel::data
+160 QFileSystemModel::setData
+168 QFileSystemModel::headerData
+176 QAbstractItemModel::setHeaderData
+184 QAbstractItemModel::itemData
+192 QAbstractItemModel::setItemData
+200 QFileSystemModel::mimeTypes
+208 QFileSystemModel::mimeData
+216 QFileSystemModel::dropMimeData
+224 QFileSystemModel::supportedDropActions
+232 QAbstractItemModel::insertRows
+240 QAbstractItemModel::insertColumns
+248 QAbstractItemModel::removeRows
+256 QAbstractItemModel::removeColumns
+264 QFileSystemModel::fetchMore
+272 QFileSystemModel::canFetchMore
+280 QFileSystemModel::flags
+288 QFileSystemModel::sort
+296 QAbstractItemModel::buddy
+304 QAbstractItemModel::match
+312 QAbstractItemModel::span
+320 QAbstractItemModel::submit
+328 QAbstractItemModel::revert
+
+Class QFileSystemModel
+ size=16 align=8
+ base size=16 base align=8
+QFileSystemModel (0x7fc38bc71770) 0
+ vptr=((& QFileSystemModel::_ZTV16QFileSystemModel) + 16u)
+ QAbstractItemModel (0x7fc38bc717e0) 0
+ primary-for QFileSystemModel (0x7fc38bc71770)
+ QObject (0x7fc38bc71850) 0
+ primary-for QAbstractItemModel (0x7fc38bc717e0)
+
+Vtable for QFontDialog
+QFontDialog::_ZTV11QFontDialog: 66u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QFontDialog)
+16 QFontDialog::metaObject
+24 QFontDialog::qt_metacast
+32 QFontDialog::qt_metacall
+40 QFontDialog::~QFontDialog
+48 QFontDialog::~QFontDialog
+56 QWidget::event
+64 QFontDialog::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QFontDialog::setVisible
+128 QDialog::sizeHint
+136 QDialog::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QDialog::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QWidget::paintEvent
+256 QWidget::moveEvent
+264 QDialog::resizeEvent
+272 QDialog::closeEvent
+280 QDialog::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QDialog::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QFontDialog::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QFontDialog::done
+456 QDialog::accept
+464 QDialog::reject
+472 (int (*)(...))-0x00000000000000010
+480 (int (*)(...))(& _ZTI11QFontDialog)
+488 QFontDialog::_ZThn16_N11QFontDialogD1Ev
+496 QFontDialog::_ZThn16_N11QFontDialogD0Ev
+504 QWidget::_ZThn16_NK7QWidget7devTypeEv
+512 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+520 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QFontDialog
+ size=40 align=8
+ base size=40 base align=8
+QFontDialog (0x7fc38bcb4e70) 0
+ vptr=((& QFontDialog::_ZTV11QFontDialog) + 16u)
+ QDialog (0x7fc38bcb4ee0) 0
+ primary-for QFontDialog (0x7fc38bcb4e70)
+ QWidget (0x7fc38babd500) 0
+ primary-for QDialog (0x7fc38bcb4ee0)
+ QObject (0x7fc38bcb4f50) 0
+ primary-for QWidget (0x7fc38babd500)
+ QPaintDevice (0x7fc38bac3000) 16
+ vptr=((& QFontDialog::_ZTV11QFontDialog) + 488u)
+
+Vtable for QLineEdit
+QLineEdit::_ZTV9QLineEdit: 63u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QLineEdit)
+16 QLineEdit::metaObject
+24 QLineEdit::qt_metacast
+32 QLineEdit::qt_metacall
+40 QLineEdit::~QLineEdit
+48 QLineEdit::~QLineEdit
+56 QLineEdit::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QLineEdit::sizeHint
+136 QLineEdit::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QLineEdit::mousePressEvent
+168 QLineEdit::mouseReleaseEvent
+176 QLineEdit::mouseDoubleClickEvent
+184 QLineEdit::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QLineEdit::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QLineEdit::focusInEvent
+224 QLineEdit::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QLineEdit::paintEvent
+256 QWidget::moveEvent
+264 QWidget::resizeEvent
+272 QWidget::closeEvent
+280 QLineEdit::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QLineEdit::dragEnterEvent
+312 QLineEdit::dragMoveEvent
+320 QLineEdit::dragLeaveEvent
+328 QLineEdit::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QLineEdit::changeEvent
+368 QWidget::metric
+376 QLineEdit::inputMethodEvent
+384 QLineEdit::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 (int (*)(...))-0x00000000000000010
+456 (int (*)(...))(& _ZTI9QLineEdit)
+464 QLineEdit::_ZThn16_N9QLineEditD1Ev
+472 QLineEdit::_ZThn16_N9QLineEditD0Ev
+480 QWidget::_ZThn16_NK7QWidget7devTypeEv
+488 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+496 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QLineEdit
+ size=40 align=8
+ base size=40 base align=8
+QLineEdit (0x7fc38bb24310) 0
+ vptr=((& QLineEdit::_ZTV9QLineEdit) + 16u)
+ QWidget (0x7fc38bae6800) 0
+ primary-for QLineEdit (0x7fc38bb24310)
+ QObject (0x7fc38bb24380) 0
+ primary-for QWidget (0x7fc38bae6800)
+ QPaintDevice (0x7fc38bb243f0) 16
+ vptr=((& QLineEdit::_ZTV9QLineEdit) + 464u)
+
+Vtable for QInputDialog
+QInputDialog::_ZTV12QInputDialog: 66u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QInputDialog)
+16 QInputDialog::metaObject
+24 QInputDialog::qt_metacast
+32 QInputDialog::qt_metacall
+40 QInputDialog::~QInputDialog
+48 QInputDialog::~QInputDialog
+56 QWidget::event
+64 QDialog::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QInputDialog::setVisible
+128 QInputDialog::sizeHint
+136 QInputDialog::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QDialog::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QWidget::paintEvent
+256 QWidget::moveEvent
+264 QDialog::resizeEvent
+272 QDialog::closeEvent
+280 QDialog::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QDialog::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QWidget::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QInputDialog::done
+456 QDialog::accept
+464 QDialog::reject
+472 (int (*)(...))-0x00000000000000010
+480 (int (*)(...))(& _ZTI12QInputDialog)
+488 QInputDialog::_ZThn16_N12QInputDialogD1Ev
+496 QInputDialog::_ZThn16_N12QInputDialogD0Ev
+504 QWidget::_ZThn16_NK7QWidget7devTypeEv
+512 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+520 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QInputDialog
+ size=40 align=8
+ base size=40 base align=8
+QInputDialog (0x7fc38bb75070) 0
+ vptr=((& QInputDialog::_ZTV12QInputDialog) + 16u)
+ QDialog (0x7fc38bb750e0) 0
+ primary-for QInputDialog (0x7fc38bb75070)
+ QWidget (0x7fc38bb70780) 0
+ primary-for QDialog (0x7fc38bb750e0)
+ QObject (0x7fc38bb75150) 0
+ primary-for QWidget (0x7fc38bb70780)
+ QPaintDevice (0x7fc38bb751c0) 16
+ vptr=((& QInputDialog::_ZTV12QInputDialog) + 488u)
+
+Vtable for QMessageBox
+QMessageBox::_ZTV11QMessageBox: 66u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QMessageBox)
+16 QMessageBox::metaObject
+24 QMessageBox::qt_metacast
+32 QMessageBox::qt_metacall
+40 QMessageBox::~QMessageBox
+48 QMessageBox::~QMessageBox
+56 QMessageBox::event
+64 QDialog::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QDialog::setVisible
+128 QMessageBox::sizeHint
+136 QDialog::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QMessageBox::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QWidget::paintEvent
+256 QWidget::moveEvent
+264 QMessageBox::resizeEvent
+272 QMessageBox::closeEvent
+280 QDialog::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QMessageBox::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QMessageBox::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QDialog::done
+456 QDialog::accept
+464 QDialog::reject
+472 (int (*)(...))-0x00000000000000010
+480 (int (*)(...))(& _ZTI11QMessageBox)
+488 QMessageBox::_ZThn16_N11QMessageBoxD1Ev
+496 QMessageBox::_ZThn16_N11QMessageBoxD0Ev
+504 QWidget::_ZThn16_NK7QWidget7devTypeEv
+512 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+520 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QMessageBox
+ size=40 align=8
+ base size=40 base align=8
+QMessageBox (0x7fc38b9d4ee0) 0
+ vptr=((& QMessageBox::_ZTV11QMessageBox) + 16u)
+ QDialog (0x7fc38b9d4f50) 0
+ primary-for QMessageBox (0x7fc38b9d4ee0)
+ QWidget (0x7fc38b9ed100) 0
+ primary-for QDialog (0x7fc38b9d4f50)
+ QObject (0x7fc38b9ee000) 0
+ primary-for QWidget (0x7fc38b9ed100)
+ QPaintDevice (0x7fc38b9ee070) 16
+ vptr=((& QMessageBox::_ZTV11QMessageBox) + 488u)
+
+Vtable for QPageSetupDialog
+QPageSetupDialog::_ZTV16QPageSetupDialog: 67u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QPageSetupDialog)
+16 QPageSetupDialog::metaObject
+24 QPageSetupDialog::qt_metacast
+32 QPageSetupDialog::qt_metacall
+40 QPageSetupDialog::~QPageSetupDialog
+48 QPageSetupDialog::~QPageSetupDialog
+56 QWidget::event
+64 QDialog::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QDialog::setVisible
+128 QDialog::sizeHint
+136 QDialog::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QDialog::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QWidget::paintEvent
+256 QWidget::moveEvent
+264 QDialog::resizeEvent
+272 QDialog::closeEvent
+280 QDialog::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QDialog::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QWidget::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QAbstractPageSetupDialog::done
+456 QDialog::accept
+464 QDialog::reject
+472 QPageSetupDialog::exec
+480 (int (*)(...))-0x00000000000000010
+488 (int (*)(...))(& _ZTI16QPageSetupDialog)
+496 QPageSetupDialog::_ZThn16_N16QPageSetupDialogD1Ev
+504 QPageSetupDialog::_ZThn16_N16QPageSetupDialogD0Ev
+512 QWidget::_ZThn16_NK7QWidget7devTypeEv
+520 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+528 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QPageSetupDialog
+ size=40 align=8
+ base size=40 base align=8
+QPageSetupDialog (0x7fc38ba6d850) 0
+ vptr=((& QPageSetupDialog::_ZTV16QPageSetupDialog) + 16u)
+ QAbstractPageSetupDialog (0x7fc38ba6d8c0) 0
+ primary-for QPageSetupDialog (0x7fc38ba6d850)
+ QDialog (0x7fc38ba6d930) 0
+ primary-for QAbstractPageSetupDialog (0x7fc38ba6d8c0)
+ QWidget (0x7fc38ba52800) 0
+ primary-for QDialog (0x7fc38ba6d930)
+ QObject (0x7fc38ba6d9a0) 0
+ primary-for QWidget (0x7fc38ba52800)
+ QPaintDevice (0x7fc38ba6da10) 16
+ vptr=((& QPageSetupDialog::_ZTV16QPageSetupDialog) + 496u)
+
+Vtable for QUnixPrintWidget
+QUnixPrintWidget::_ZTV16QUnixPrintWidget: 63u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QUnixPrintWidget)
+16 QUnixPrintWidget::metaObject
+24 QUnixPrintWidget::qt_metacast
+32 QUnixPrintWidget::qt_metacall
+40 QUnixPrintWidget::~QUnixPrintWidget
+48 QUnixPrintWidget::~QUnixPrintWidget
+56 QWidget::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QWidget::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QWidget::paintEvent
+256 QWidget::moveEvent
+264 QWidget::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QWidget::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 (int (*)(...))-0x00000000000000010
+456 (int (*)(...))(& _ZTI16QUnixPrintWidget)
+464 QUnixPrintWidget::_ZThn16_N16QUnixPrintWidgetD1Ev
+472 QUnixPrintWidget::_ZThn16_N16QUnixPrintWidgetD0Ev
+480 QWidget::_ZThn16_NK7QWidget7devTypeEv
+488 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+496 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QUnixPrintWidget
+ size=48 align=8
+ base size=48 base align=8
+QUnixPrintWidget (0x7fc38baa37e0) 0
+ vptr=((& QUnixPrintWidget::_ZTV16QUnixPrintWidget) + 16u)
+ QWidget (0x7fc38baa2380) 0
+ primary-for QUnixPrintWidget (0x7fc38baa37e0)
+ QObject (0x7fc38baa3850) 0
+ primary-for QWidget (0x7fc38baa2380)
+ QPaintDevice (0x7fc38baa38c0) 16
+ vptr=((& QUnixPrintWidget::_ZTV16QUnixPrintWidget) + 464u)
+
+Vtable for QPrintDialog
+QPrintDialog::_ZTV12QPrintDialog: 67u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QPrintDialog)
+16 QPrintDialog::metaObject
+24 QPrintDialog::qt_metacast
+32 QPrintDialog::qt_metacall
+40 QPrintDialog::~QPrintDialog
+48 QPrintDialog::~QPrintDialog
+56 QWidget::event
+64 QDialog::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QPrintDialog::setVisible
+128 QDialog::sizeHint
+136 QDialog::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QDialog::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QWidget::paintEvent
+256 QWidget::moveEvent
+264 QDialog::resizeEvent
+272 QDialog::closeEvent
+280 QDialog::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QDialog::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QWidget::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QPrintDialog::done
+456 QPrintDialog::accept
+464 QDialog::reject
+472 QPrintDialog::exec
+480 (int (*)(...))-0x00000000000000010
+488 (int (*)(...))(& _ZTI12QPrintDialog)
+496 QPrintDialog::_ZThn16_N12QPrintDialogD1Ev
+504 QPrintDialog::_ZThn16_N12QPrintDialogD0Ev
+512 QWidget::_ZThn16_NK7QWidget7devTypeEv
+520 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+528 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QPrintDialog
+ size=40 align=8
+ base size=40 base align=8
+QPrintDialog (0x7fc38b8b9700) 0
+ vptr=((& QPrintDialog::_ZTV12QPrintDialog) + 16u)
+ QAbstractPrintDialog (0x7fc38b8b9770) 0
+ primary-for QPrintDialog (0x7fc38b8b9700)
+ QDialog (0x7fc38b8b97e0) 0
+ primary-for QAbstractPrintDialog (0x7fc38b8b9770)
+ QWidget (0x7fc38baa2a80) 0
+ primary-for QDialog (0x7fc38b8b97e0)
+ QObject (0x7fc38b8b9850) 0
+ primary-for QWidget (0x7fc38baa2a80)
+ QPaintDevice (0x7fc38b8b98c0) 16
+ vptr=((& QPrintDialog::_ZTV12QPrintDialog) + 496u)
+
+Vtable for QPrintPreviewDialog
+QPrintPreviewDialog::_ZTV19QPrintPreviewDialog: 66u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QPrintPreviewDialog)
+16 QPrintPreviewDialog::metaObject
+24 QPrintPreviewDialog::qt_metacast
+32 QPrintPreviewDialog::qt_metacall
+40 QPrintPreviewDialog::~QPrintPreviewDialog
+48 QPrintPreviewDialog::~QPrintPreviewDialog
+56 QWidget::event
+64 QDialog::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QPrintPreviewDialog::setVisible
+128 QDialog::sizeHint
+136 QDialog::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QDialog::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QWidget::paintEvent
+256 QWidget::moveEvent
+264 QDialog::resizeEvent
+272 QDialog::closeEvent
+280 QDialog::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QDialog::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QWidget::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QPrintPreviewDialog::done
+456 QDialog::accept
+464 QDialog::reject
+472 (int (*)(...))-0x00000000000000010
+480 (int (*)(...))(& _ZTI19QPrintPreviewDialog)
+488 QPrintPreviewDialog::_ZThn16_N19QPrintPreviewDialogD1Ev
+496 QPrintPreviewDialog::_ZThn16_N19QPrintPreviewDialogD0Ev
+504 QWidget::_ZThn16_NK7QWidget7devTypeEv
+512 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+520 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QPrintPreviewDialog
+ size=48 align=8
+ base size=48 base align=8
+QPrintPreviewDialog (0x7fc38b8d62a0) 0
+ vptr=((& QPrintPreviewDialog::_ZTV19QPrintPreviewDialog) + 16u)
+ QDialog (0x7fc38b8d6310) 0
+ primary-for QPrintPreviewDialog (0x7fc38b8d62a0)
+ QWidget (0x7fc38b8d1480) 0
+ primary-for QDialog (0x7fc38b8d6310)
+ QObject (0x7fc38b8d6380) 0
+ primary-for QWidget (0x7fc38b8d1480)
+ QPaintDevice (0x7fc38b8d63f0) 16
+ vptr=((& QPrintPreviewDialog::_ZTV19QPrintPreviewDialog) + 488u)
+
+Vtable for QProgressDialog
+QProgressDialog::_ZTV15QProgressDialog: 66u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QProgressDialog)
+16 QProgressDialog::metaObject
+24 QProgressDialog::qt_metacast
+32 QProgressDialog::qt_metacall
+40 QProgressDialog::~QProgressDialog
+48 QProgressDialog::~QProgressDialog
+56 QWidget::event
+64 QDialog::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QDialog::setVisible
+128 QProgressDialog::sizeHint
+136 QDialog::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QDialog::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QWidget::paintEvent
+256 QWidget::moveEvent
+264 QProgressDialog::resizeEvent
+272 QProgressDialog::closeEvent
+280 QDialog::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QProgressDialog::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QProgressDialog::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QDialog::done
+456 QDialog::accept
+464 QDialog::reject
+472 (int (*)(...))-0x00000000000000010
+480 (int (*)(...))(& _ZTI15QProgressDialog)
+488 QProgressDialog::_ZThn16_N15QProgressDialogD1Ev
+496 QProgressDialog::_ZThn16_N15QProgressDialogD0Ev
+504 QWidget::_ZThn16_NK7QWidget7devTypeEv
+512 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+520 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QProgressDialog
+ size=40 align=8
+ base size=40 base align=8
+QProgressDialog (0x7fc38b8eda10) 0
+ vptr=((& QProgressDialog::_ZTV15QProgressDialog) + 16u)
+ QDialog (0x7fc38b8eda80) 0
+ primary-for QProgressDialog (0x7fc38b8eda10)
+ QWidget (0x7fc38b8d1e80) 0
+ primary-for QDialog (0x7fc38b8eda80)
+ QObject (0x7fc38b8edaf0) 0
+ primary-for QWidget (0x7fc38b8d1e80)
+ QPaintDevice (0x7fc38b8edb60) 16
+ vptr=((& QProgressDialog::_ZTV15QProgressDialog) + 488u)
+
+Vtable for QWizard
+QWizard::_ZTV7QWizard: 70u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QWizard)
+16 QWizard::metaObject
+24 QWizard::qt_metacast
+32 QWizard::qt_metacall
+40 QWizard::~QWizard
+48 QWizard::~QWizard
+56 QWizard::event
+64 QDialog::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWizard::setVisible
+128 QWizard::sizeHint
+136 QDialog::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QDialog::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QWizard::paintEvent
+256 QWidget::moveEvent
+264 QWizard::resizeEvent
+272 QDialog::closeEvent
+280 QDialog::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QDialog::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QWidget::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QWizard::done
+456 QDialog::accept
+464 QDialog::reject
+472 QWizard::validateCurrentPage
+480 QWizard::nextId
+488 QWizard::initializePage
+496 QWizard::cleanupPage
+504 (int (*)(...))-0x00000000000000010
+512 (int (*)(...))(& _ZTI7QWizard)
+520 QWizard::_ZThn16_N7QWizardD1Ev
+528 QWizard::_ZThn16_N7QWizardD0Ev
+536 QWidget::_ZThn16_NK7QWidget7devTypeEv
+544 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+552 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QWizard
+ size=40 align=8
+ base size=40 base align=8
+QWizard (0x7fc38b913620) 0
+ vptr=((& QWizard::_ZTV7QWizard) + 16u)
+ QDialog (0x7fc38b913690) 0
+ primary-for QWizard (0x7fc38b913620)
+ QWidget (0x7fc38b90d880) 0
+ primary-for QDialog (0x7fc38b913690)
+ QObject (0x7fc38b913700) 0
+ primary-for QWidget (0x7fc38b90d880)
+ QPaintDevice (0x7fc38b913770) 16
+ vptr=((& QWizard::_ZTV7QWizard) + 520u)
+
+Vtable for QWizardPage
+QWizardPage::_ZTV11QWizardPage: 68u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QWizardPage)
+16 QWizardPage::metaObject
+24 QWizardPage::qt_metacast
+32 QWizardPage::qt_metacall
+40 QWizardPage::~QWizardPage
+48 QWizardPage::~QWizardPage
+56 QWidget::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QWidget::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QWidget::paintEvent
+256 QWidget::moveEvent
+264 QWidget::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QWidget::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QWizardPage::initializePage
+456 QWizardPage::cleanupPage
+464 QWizardPage::validatePage
+472 QWizardPage::isComplete
+480 QWizardPage::nextId
+488 (int (*)(...))-0x00000000000000010
+496 (int (*)(...))(& _ZTI11QWizardPage)
+504 QWizardPage::_ZThn16_N11QWizardPageD1Ev
+512 QWizardPage::_ZThn16_N11QWizardPageD0Ev
+520 QWidget::_ZThn16_NK7QWidget7devTypeEv
+528 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+536 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QWizardPage
+ size=40 align=8
+ base size=40 base align=8
+QWizardPage (0x7fc38b96c9a0) 0
+ vptr=((& QWizardPage::_ZTV11QWizardPage) + 16u)
+ QWidget (0x7fc38b941b80) 0
+ primary-for QWizardPage (0x7fc38b96c9a0)
+ QObject (0x7fc38b96ca10) 0
+ primary-for QWidget (0x7fc38b941b80)
+ QPaintDevice (0x7fc38b96ca80) 16
+ vptr=((& QWizardPage::_ZTV11QWizardPage) + 504u)
+
+Vtable for QKeyEventTransition
+QKeyEventTransition::_ZTV19QKeyEventTransition: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QKeyEventTransition)
+16 QKeyEventTransition::metaObject
+24 QKeyEventTransition::qt_metacast
+32 QKeyEventTransition::qt_metacall
+40 QKeyEventTransition::~QKeyEventTransition
+48 QKeyEventTransition::~QKeyEventTransition
+56 QEventTransition::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QKeyEventTransition::eventTest
+120 QKeyEventTransition::onTransition
+
+Class QKeyEventTransition
+ size=16 align=8
+ base size=16 base align=8
+QKeyEventTransition (0x7fc38b9a44d0) 0
+ vptr=((& QKeyEventTransition::_ZTV19QKeyEventTransition) + 16u)
+ QEventTransition (0x7fc38b9a4540) 0
+ primary-for QKeyEventTransition (0x7fc38b9a44d0)
+ QAbstractTransition (0x7fc38b9a45b0) 0
+ primary-for QEventTransition (0x7fc38b9a4540)
+ QObject (0x7fc38b9a4620) 0
+ primary-for QAbstractTransition (0x7fc38b9a45b0)
+
+Vtable for QMouseEventTransition
+QMouseEventTransition::_ZTV21QMouseEventTransition: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI21QMouseEventTransition)
+16 QMouseEventTransition::metaObject
+24 QMouseEventTransition::qt_metacast
+32 QMouseEventTransition::qt_metacall
+40 QMouseEventTransition::~QMouseEventTransition
+48 QMouseEventTransition::~QMouseEventTransition
+56 QEventTransition::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QMouseEventTransition::eventTest
+120 QMouseEventTransition::onTransition
+
+Class QMouseEventTransition
+ size=16 align=8
+ base size=16 base align=8
+QMouseEventTransition (0x7fc38b7b5f50) 0
+ vptr=((& QMouseEventTransition::_ZTV21QMouseEventTransition) + 16u)
+ QEventTransition (0x7fc38b7bf000) 0
+ primary-for QMouseEventTransition (0x7fc38b7b5f50)
+ QAbstractTransition (0x7fc38b7bf070) 0
+ primary-for QEventTransition (0x7fc38b7bf000)
+ QObject (0x7fc38b7bf0e0) 0
+ primary-for QAbstractTransition (0x7fc38b7bf070)
+
+Vtable for QBitmap
+QBitmap::_ZTV7QBitmap: 7u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QBitmap)
+16 QBitmap::~QBitmap
+24 QBitmap::~QBitmap
+32 QPixmap::devType
+40 QPixmap::paintEngine
+48 QPixmap::metric
+
+Class QBitmap
+ size=24 align=8
+ base size=24 base align=8
+QBitmap (0x7fc38b7d3a10) 0
+ vptr=((& QBitmap::_ZTV7QBitmap) + 16u)
+ QPixmap (0x7fc38b7d3a80) 0
+ primary-for QBitmap (0x7fc38b7d3a10)
+ QPaintDevice (0x7fc38b7d3af0) 0
+ primary-for QPixmap (0x7fc38b7d3a80)
+
+Vtable for QIconEngine
+QIconEngine::_ZTV11QIconEngine: 9u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QIconEngine)
+16 QIconEngine::~QIconEngine
+24 QIconEngine::~QIconEngine
+32 __cxa_pure_virtual
+40 QIconEngine::actualSize
+48 QIconEngine::pixmap
+56 QIconEngine::addPixmap
+64 QIconEngine::addFile
+
+Class QIconEngine
+ size=8 align=8
+ base size=8 base align=8
+QIconEngine (0x7fc38b8048c0) 0 nearly-empty
+ vptr=((& QIconEngine::_ZTV11QIconEngine) + 16u)
+
+Class QIconEngineV2::AvailableSizesArgument
+ size=16 align=8
+ base size=16 base align=8
+QIconEngineV2::AvailableSizesArgument (0x7fc38b810070) 0
+
+Vtable for QIconEngineV2
+QIconEngineV2::_ZTV13QIconEngineV2: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QIconEngineV2)
+16 QIconEngineV2::~QIconEngineV2
+24 QIconEngineV2::~QIconEngineV2
+32 __cxa_pure_virtual
+40 QIconEngine::actualSize
+48 QIconEngine::pixmap
+56 QIconEngine::addPixmap
+64 QIconEngine::addFile
+72 QIconEngineV2::key
+80 QIconEngineV2::clone
+88 QIconEngineV2::read
+96 QIconEngineV2::write
+104 QIconEngineV2::virtual_hook
+
+Class QIconEngineV2
+ size=8 align=8
+ base size=8 base align=8
+QIconEngineV2 (0x7fc38b804e70) 0 nearly-empty
+ vptr=((& QIconEngineV2::_ZTV13QIconEngineV2) + 16u)
+ QIconEngine (0x7fc38b804ee0) 0 nearly-empty
+ primary-for QIconEngineV2 (0x7fc38b804e70)
+
+Vtable for QIconEngineFactoryInterface
+QIconEngineFactoryInterface::_ZTV27QIconEngineFactoryInterface: 6u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI27QIconEngineFactoryInterface)
+16 QIconEngineFactoryInterface::~QIconEngineFactoryInterface
+24 QIconEngineFactoryInterface::~QIconEngineFactoryInterface
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+
+Class QIconEngineFactoryInterface
+ size=8 align=8
+ base size=8 base align=8
+QIconEngineFactoryInterface (0x7fc38b810850) 0 nearly-empty
+ vptr=((& QIconEngineFactoryInterface::_ZTV27QIconEngineFactoryInterface) + 16u)
+ QFactoryInterface (0x7fc38b8108c0) 0 nearly-empty
+ primary-for QIconEngineFactoryInterface (0x7fc38b810850)
+
+Vtable for QIconEnginePlugin
+QIconEnginePlugin::_ZTV17QIconEnginePlugin: 22u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QIconEnginePlugin)
+16 QIconEnginePlugin::metaObject
+24 QIconEnginePlugin::qt_metacast
+32 QIconEnginePlugin::qt_metacall
+40 QIconEnginePlugin::~QIconEnginePlugin
+48 QIconEnginePlugin::~QIconEnginePlugin
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 (int (*)(...))-0x00000000000000010
+136 (int (*)(...))(& _ZTI17QIconEnginePlugin)
+144 QIconEnginePlugin::_ZThn16_N17QIconEnginePluginD1Ev
+152 QIconEnginePlugin::_ZThn16_N17QIconEnginePluginD0Ev
+160 __cxa_pure_virtual
+168 __cxa_pure_virtual
+
+Class QIconEnginePlugin
+ size=24 align=8
+ base size=24 base align=8
+QIconEnginePlugin (0x7fc38b80af80) 0
+ vptr=((& QIconEnginePlugin::_ZTV17QIconEnginePlugin) + 16u)
+ QObject (0x7fc38b8471c0) 0
+ primary-for QIconEnginePlugin (0x7fc38b80af80)
+ QIconEngineFactoryInterface (0x7fc38b847230) 16 nearly-empty
+ vptr=((& QIconEnginePlugin::_ZTV17QIconEnginePlugin) + 144u)
+ QFactoryInterface (0x7fc38b8472a0) 16 nearly-empty
+ primary-for QIconEngineFactoryInterface (0x7fc38b847230)
+
+Vtable for QIconEngineFactoryInterfaceV2
+QIconEngineFactoryInterfaceV2::_ZTV29QIconEngineFactoryInterfaceV2: 6u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI29QIconEngineFactoryInterfaceV2)
+16 QIconEngineFactoryInterfaceV2::~QIconEngineFactoryInterfaceV2
+24 QIconEngineFactoryInterfaceV2::~QIconEngineFactoryInterfaceV2
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+
+Class QIconEngineFactoryInterfaceV2
+ size=8 align=8
+ base size=8 base align=8
+QIconEngineFactoryInterfaceV2 (0x7fc38b859150) 0 nearly-empty
+ vptr=((& QIconEngineFactoryInterfaceV2::_ZTV29QIconEngineFactoryInterfaceV2) + 16u)
+ QFactoryInterface (0x7fc38b8591c0) 0 nearly-empty
+ primary-for QIconEngineFactoryInterfaceV2 (0x7fc38b859150)
+
+Vtable for QIconEnginePluginV2
+QIconEnginePluginV2::_ZTV19QIconEnginePluginV2: 22u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QIconEnginePluginV2)
+16 QIconEnginePluginV2::metaObject
+24 QIconEnginePluginV2::qt_metacast
+32 QIconEnginePluginV2::qt_metacall
+40 QIconEnginePluginV2::~QIconEnginePluginV2
+48 QIconEnginePluginV2::~QIconEnginePluginV2
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 (int (*)(...))-0x00000000000000010
+136 (int (*)(...))(& _ZTI19QIconEnginePluginV2)
+144 QIconEnginePluginV2::_ZThn16_N19QIconEnginePluginV2D1Ev
+152 QIconEnginePluginV2::_ZThn16_N19QIconEnginePluginV2D0Ev
+160 __cxa_pure_virtual
+168 __cxa_pure_virtual
+
+Class QIconEnginePluginV2
+ size=24 align=8
+ base size=24 base align=8
+QIconEnginePluginV2 (0x7fc38b865000) 0
+ vptr=((& QIconEnginePluginV2::_ZTV19QIconEnginePluginV2) + 16u)
+ QObject (0x7fc38b859c40) 0
+ primary-for QIconEnginePluginV2 (0x7fc38b865000)
+ QIconEngineFactoryInterfaceV2 (0x7fc38b859cb0) 16 nearly-empty
+ vptr=((& QIconEnginePluginV2::_ZTV19QIconEnginePluginV2) + 144u)
+ QFactoryInterface (0x7fc38b859d20) 16 nearly-empty
+ primary-for QIconEngineFactoryInterfaceV2 (0x7fc38b859cb0)
+
+Vtable for QImageIOHandler
+QImageIOHandler::_ZTV15QImageIOHandler: 18u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QImageIOHandler)
+16 QImageIOHandler::~QImageIOHandler
+24 QImageIOHandler::~QImageIOHandler
+32 QImageIOHandler::name
+40 __cxa_pure_virtual
+48 __cxa_pure_virtual
+56 QImageIOHandler::write
+64 QImageIOHandler::option
+72 QImageIOHandler::setOption
+80 QImageIOHandler::supportsOption
+88 QImageIOHandler::jumpToNextImage
+96 QImageIOHandler::jumpToImage
+104 QImageIOHandler::loopCount
+112 QImageIOHandler::imageCount
+120 QImageIOHandler::nextImageDelay
+128 QImageIOHandler::currentImageNumber
+136 QImageIOHandler::currentImageRect
+
+Class QImageIOHandler
+ size=16 align=8
+ base size=16 base align=8
+QImageIOHandler (0x7fc38b86dbd0) 0
+ vptr=((& QImageIOHandler::_ZTV15QImageIOHandler) + 16u)
+
+Vtable for QImageIOHandlerFactoryInterface
+QImageIOHandlerFactoryInterface::_ZTV31QImageIOHandlerFactoryInterface: 6u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI31QImageIOHandlerFactoryInterface)
+16 QImageIOHandlerFactoryInterface::~QImageIOHandlerFactoryInterface
+24 QImageIOHandlerFactoryInterface::~QImageIOHandlerFactoryInterface
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+
+Class QImageIOHandlerFactoryInterface
+ size=8 align=8
+ base size=8 base align=8
+QImageIOHandlerFactoryInterface (0x7fc38b8889a0) 0 nearly-empty
+ vptr=((& QImageIOHandlerFactoryInterface::_ZTV31QImageIOHandlerFactoryInterface) + 16u)
+ QFactoryInterface (0x7fc38b888a10) 0 nearly-empty
+ primary-for QImageIOHandlerFactoryInterface (0x7fc38b8889a0)
+
+Vtable for QImageIOPlugin
+QImageIOPlugin::_ZTV14QImageIOPlugin: 23u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QImageIOPlugin)
+16 QImageIOPlugin::metaObject
+24 QImageIOPlugin::qt_metacast
+32 QImageIOPlugin::qt_metacall
+40 QImageIOPlugin::~QImageIOPlugin
+48 QImageIOPlugin::~QImageIOPlugin
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 __cxa_pure_virtual
+136 (int (*)(...))-0x00000000000000010
+144 (int (*)(...))(& _ZTI14QImageIOPlugin)
+152 QImageIOPlugin::_ZThn16_N14QImageIOPluginD1Ev
+160 QImageIOPlugin::_ZThn16_N14QImageIOPluginD0Ev
+168 __cxa_pure_virtual
+176 __cxa_pure_virtual
+
+Class QImageIOPlugin
+ size=24 align=8
+ base size=24 base align=8
+QImageIOPlugin (0x7fc38b88ec00) 0
+ vptr=((& QImageIOPlugin::_ZTV14QImageIOPlugin) + 16u)
+ QObject (0x7fc38b8993f0) 0
+ primary-for QImageIOPlugin (0x7fc38b88ec00)
+ QImageIOHandlerFactoryInterface (0x7fc38b899460) 16 nearly-empty
+ vptr=((& QImageIOPlugin::_ZTV14QImageIOPlugin) + 152u)
+ QFactoryInterface (0x7fc38b8994d0) 16 nearly-empty
+ primary-for QImageIOHandlerFactoryInterface (0x7fc38b899460)
+
+Class QImageReader
+ size=8 align=8
+ base size=8 base align=8
+QImageReader (0x7fc38b6ee4d0) 0
+
+Class QImageWriter
+ size=8 align=8
+ base size=8 base align=8
+QImageWriter (0x7fc38b6eeee0) 0
+
+Vtable for QMovie
+QMovie::_ZTV6QMovie: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI6QMovie)
+16 QMovie::metaObject
+24 QMovie::qt_metacast
+32 QMovie::qt_metacall
+40 QMovie::~QMovie
+48 QMovie::~QMovie
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QMovie
+ size=16 align=8
+ base size=16 base align=8
+QMovie (0x7fc38b704770) 0
+ vptr=((& QMovie::_ZTV6QMovie) + 16u)
+ QObject (0x7fc38b7047e0) 0
+ primary-for QMovie (0x7fc38b704770)
+
+Vtable for QPicture
+QPicture::_ZTV8QPicture: 8u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI8QPicture)
+16 QPicture::~QPicture
+24 QPicture::~QPicture
+32 QPicture::devType
+40 QPicture::paintEngine
+48 QPicture::metric
+56 QPicture::setData
+
+Class QPicture
+ size=24 align=8
+ base size=24 base align=8
+QPicture (0x7fc38b7497e0) 0
+ vptr=((& QPicture::_ZTV8QPicture) + 16u)
+ QPaintDevice (0x7fc38b749850) 0
+ primary-for QPicture (0x7fc38b7497e0)
+
+Class QPictureIO
+ size=8 align=8
+ base size=8 base align=8
+QPictureIO (0x7fc38b76b310) 0
+
+Vtable for QPictureFormatInterface
+QPictureFormatInterface::_ZTV23QPictureFormatInterface: 8u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI23QPictureFormatInterface)
+16 QPictureFormatInterface::~QPictureFormatInterface
+24 QPictureFormatInterface::~QPictureFormatInterface
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+48 __cxa_pure_virtual
+56 __cxa_pure_virtual
+
+Class QPictureFormatInterface
+ size=8 align=8
+ base size=8 base align=8
+QPictureFormatInterface (0x7fc38b76b930) 0 nearly-empty
+ vptr=((& QPictureFormatInterface::_ZTV23QPictureFormatInterface) + 16u)
+ QFactoryInterface (0x7fc38b76b9a0) 0 nearly-empty
+ primary-for QPictureFormatInterface (0x7fc38b76b930)
+
+Vtable for QPictureFormatPlugin
+QPictureFormatPlugin::_ZTV20QPictureFormatPlugin: 26u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI20QPictureFormatPlugin)
+16 QPictureFormatPlugin::metaObject
+24 QPictureFormatPlugin::qt_metacast
+32 QPictureFormatPlugin::qt_metacall
+40 QPictureFormatPlugin::~QPictureFormatPlugin
+48 QPictureFormatPlugin::~QPictureFormatPlugin
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+120 QPictureFormatPlugin::loadPicture
+128 QPictureFormatPlugin::savePicture
+136 __cxa_pure_virtual
+144 (int (*)(...))-0x00000000000000010
+152 (int (*)(...))(& _ZTI20QPictureFormatPlugin)
+160 QPictureFormatPlugin::_ZThn16_N20QPictureFormatPluginD1Ev
+168 QPictureFormatPlugin::_ZThn16_N20QPictureFormatPluginD0Ev
+176 __cxa_pure_virtual
+184 QPictureFormatPlugin::_ZThn16_N20QPictureFormatPlugin11loadPictureERK7QStringS2_P8QPicture
+192 QPictureFormatPlugin::_ZThn16_N20QPictureFormatPlugin11savePictureERK7QStringS2_RK8QPicture
+200 __cxa_pure_virtual
+
+Class QPictureFormatPlugin
+ size=24 align=8
+ base size=24 base align=8
+QPictureFormatPlugin (0x7fc38b788300) 0
+ vptr=((& QPictureFormatPlugin::_ZTV20QPictureFormatPlugin) + 16u)
+ QObject (0x7fc38b789310) 0
+ primary-for QPictureFormatPlugin (0x7fc38b788300)
+ QPictureFormatInterface (0x7fc38b789380) 16 nearly-empty
+ vptr=((& QPictureFormatPlugin::_ZTV20QPictureFormatPlugin) + 160u)
+ QFactoryInterface (0x7fc38b7893f0) 16 nearly-empty
+ primary-for QPictureFormatInterface (0x7fc38b789380)
+
+Class QPixmapCache::Key
+ size=8 align=8
+ base size=8 base align=8
+QPixmapCache::Key (0x7fc38b799310) 0
+
+Class QPixmapCache
+ size=1 align=1
+ base size=0 base align=1
+QPixmapCache (0x7fc38b7992a0) 0 empty
+
+Vtable for QGraphicsEffect
+QGraphicsEffect::_ZTV15QGraphicsEffect: 17u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QGraphicsEffect)
+16 QGraphicsEffect::metaObject
+24 QGraphicsEffect::qt_metacast
+32 QGraphicsEffect::qt_metacall
+40 QGraphicsEffect::~QGraphicsEffect
+48 QGraphicsEffect::~QGraphicsEffect
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QGraphicsEffect::boundingRectFor
+120 __cxa_pure_virtual
+128 QGraphicsEffect::sourceChanged
+
+Class QGraphicsEffect
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsEffect (0x7fc38b7a1150) 0
+ vptr=((& QGraphicsEffect::_ZTV15QGraphicsEffect) + 16u)
+ QObject (0x7fc38b7a11c0) 0
+ primary-for QGraphicsEffect (0x7fc38b7a1150)
+
+Vtable for QGraphicsColorizeEffect
+QGraphicsColorizeEffect::_ZTV23QGraphicsColorizeEffect: 17u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI23QGraphicsColorizeEffect)
+16 QGraphicsColorizeEffect::metaObject
+24 QGraphicsColorizeEffect::qt_metacast
+32 QGraphicsColorizeEffect::qt_metacall
+40 QGraphicsColorizeEffect::~QGraphicsColorizeEffect
+48 QGraphicsColorizeEffect::~QGraphicsColorizeEffect
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QGraphicsEffect::boundingRectFor
+120 QGraphicsColorizeEffect::draw
+128 QGraphicsEffect::sourceChanged
+
+Class QGraphicsColorizeEffect
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsColorizeEffect (0x7fc38b5e8c40) 0
+ vptr=((& QGraphicsColorizeEffect::_ZTV23QGraphicsColorizeEffect) + 16u)
+ QGraphicsEffect (0x7fc38b5e8cb0) 0
+ primary-for QGraphicsColorizeEffect (0x7fc38b5e8c40)
+ QObject (0x7fc38b5e8d20) 0
+ primary-for QGraphicsEffect (0x7fc38b5e8cb0)
+
+Vtable for QGraphicsBlurEffect
+QGraphicsBlurEffect::_ZTV19QGraphicsBlurEffect: 17u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QGraphicsBlurEffect)
+16 QGraphicsBlurEffect::metaObject
+24 QGraphicsBlurEffect::qt_metacast
+32 QGraphicsBlurEffect::qt_metacall
+40 QGraphicsBlurEffect::~QGraphicsBlurEffect
+48 QGraphicsBlurEffect::~QGraphicsBlurEffect
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QGraphicsBlurEffect::boundingRectFor
+120 QGraphicsBlurEffect::draw
+128 QGraphicsEffect::sourceChanged
+
+Class QGraphicsBlurEffect
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsBlurEffect (0x7fc38b6175b0) 0
+ vptr=((& QGraphicsBlurEffect::_ZTV19QGraphicsBlurEffect) + 16u)
+ QGraphicsEffect (0x7fc38b617620) 0
+ primary-for QGraphicsBlurEffect (0x7fc38b6175b0)
+ QObject (0x7fc38b617690) 0
+ primary-for QGraphicsEffect (0x7fc38b617620)
+
+Vtable for QGraphicsDropShadowEffect
+QGraphicsDropShadowEffect::_ZTV25QGraphicsDropShadowEffect: 17u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI25QGraphicsDropShadowEffect)
+16 QGraphicsDropShadowEffect::metaObject
+24 QGraphicsDropShadowEffect::qt_metacast
+32 QGraphicsDropShadowEffect::qt_metacall
+40 QGraphicsDropShadowEffect::~QGraphicsDropShadowEffect
+48 QGraphicsDropShadowEffect::~QGraphicsDropShadowEffect
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QGraphicsDropShadowEffect::boundingRectFor
+120 QGraphicsDropShadowEffect::draw
+128 QGraphicsEffect::sourceChanged
+
+Class QGraphicsDropShadowEffect
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsDropShadowEffect (0x7fc38b6750e0) 0
+ vptr=((& QGraphicsDropShadowEffect::_ZTV25QGraphicsDropShadowEffect) + 16u)
+ QGraphicsEffect (0x7fc38b675150) 0
+ primary-for QGraphicsDropShadowEffect (0x7fc38b6750e0)
+ QObject (0x7fc38b6751c0) 0
+ primary-for QGraphicsEffect (0x7fc38b675150)
+
+Vtable for QGraphicsOpacityEffect
+QGraphicsOpacityEffect::_ZTV22QGraphicsOpacityEffect: 17u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI22QGraphicsOpacityEffect)
+16 QGraphicsOpacityEffect::metaObject
+24 QGraphicsOpacityEffect::qt_metacast
+32 QGraphicsOpacityEffect::qt_metacall
+40 QGraphicsOpacityEffect::~QGraphicsOpacityEffect
+48 QGraphicsOpacityEffect::~QGraphicsOpacityEffect
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QGraphicsEffect::boundingRectFor
+120 QGraphicsOpacityEffect::draw
+128 QGraphicsEffect::sourceChanged
+
+Class QGraphicsOpacityEffect
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsOpacityEffect (0x7fc38b6955b0) 0
+ vptr=((& QGraphicsOpacityEffect::_ZTV22QGraphicsOpacityEffect) + 16u)
+ QGraphicsEffect (0x7fc38b695620) 0
+ primary-for QGraphicsOpacityEffect (0x7fc38b6955b0)
+ QObject (0x7fc38b695690) 0
+ primary-for QGraphicsEffect (0x7fc38b695620)
+
+Class QVFbHeader
+ size=1088 align=8
+ base size=1088 base align=8
+QVFbHeader (0x7fc38b6a6ee0) 0
+
+Class QVFbKeyData
+ size=12 align=4
+ base size=12 base align=4
+QVFbKeyData (0x7fc38b6a6f50) 0
+
+Vtable for QWSEmbedWidget
+QWSEmbedWidget::_ZTV14QWSEmbedWidget: 63u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QWSEmbedWidget)
+16 QWSEmbedWidget::metaObject
+24 QWSEmbedWidget::qt_metacast
+32 QWSEmbedWidget::qt_metacall
+40 QWSEmbedWidget::~QWSEmbedWidget
+48 QWSEmbedWidget::~QWSEmbedWidget
+56 QWidget::event
+64 QWSEmbedWidget::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QWidget::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QWidget::paintEvent
+256 QWSEmbedWidget::moveEvent
+264 QWSEmbedWidget::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWSEmbedWidget::showEvent
+344 QWSEmbedWidget::hideEvent
+352 QWidget::x11Event
+360 QWSEmbedWidget::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 (int (*)(...))-0x00000000000000010
+456 (int (*)(...))(& _ZTI14QWSEmbedWidget)
+464 QWSEmbedWidget::_ZThn16_N14QWSEmbedWidgetD1Ev
+472 QWSEmbedWidget::_ZThn16_N14QWSEmbedWidgetD0Ev
+480 QWidget::_ZThn16_NK7QWidget7devTypeEv
+488 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+496 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QWSEmbedWidget
+ size=40 align=8
+ base size=40 base align=8
+QWSEmbedWidget (0x7fc38b6b0000) 0
+ vptr=((& QWSEmbedWidget::_ZTV14QWSEmbedWidget) + 16u)
+ QWidget (0x7fc38b6a3900) 0
+ primary-for QWSEmbedWidget (0x7fc38b6b0000)
+ QObject (0x7fc38b6b0070) 0
+ primary-for QWidget (0x7fc38b6a3900)
+ QPaintDevice (0x7fc38b6b00e0) 16
+ vptr=((& QWSEmbedWidget::_ZTV14QWSEmbedWidget) + 464u)
+
+Class QColormap
+ size=8 align=8
+ base size=8 base align=8
+QColormap (0x7fc38b4c84d0) 0
+
+Class QTileRules
+ size=8 align=4
+ base size=8 base align=4
+QTileRules (0x7fc38b4c8cb0) 0
+
+Class QDrawPixmaps::Data
+ size=80 align=8
+ base size=80 base align=8
+QDrawPixmaps::Data (0x7fc38b4dfd20) 0
+
+Class QPainter
+ size=8 align=8
+ base size=8 base align=8
+QPainter (0x7fc38b4dfe00) 0
+
+Class QTextItem
+ size=1 align=1
+ base size=0 base align=1
+QTextItem (0x7fc38b30d8c0) 0 empty
+
+Vtable for QPaintEngine
+QPaintEngine::_ZTV12QPaintEngine: 24u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QPaintEngine)
+16 QPaintEngine::~QPaintEngine
+24 QPaintEngine::~QPaintEngine
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+48 __cxa_pure_virtual
+56 QPaintEngine::drawRects
+64 QPaintEngine::drawRects
+72 QPaintEngine::drawLines
+80 QPaintEngine::drawLines
+88 QPaintEngine::drawEllipse
+96 QPaintEngine::drawEllipse
+104 QPaintEngine::drawPath
+112 QPaintEngine::drawPoints
+120 QPaintEngine::drawPoints
+128 QPaintEngine::drawPolygon
+136 QPaintEngine::drawPolygon
+144 __cxa_pure_virtual
+152 QPaintEngine::drawTextItem
+160 QPaintEngine::drawTiledPixmap
+168 QPaintEngine::drawImage
+176 QPaintEngine::coordinateOffset
+184 __cxa_pure_virtual
+
+Class QPaintEngine
+ size=32 align=8
+ base size=32 base align=8
+QPaintEngine (0x7fc38b30dee0) 0
+ vptr=((& QPaintEngine::_ZTV12QPaintEngine) + 16u)
+
+Class QPaintEngineState
+ size=4 align=4
+ base size=4 base align=4
+QPaintEngineState (0x7fc38b358b60) 0
+
+Vtable for QPrinter
+QPrinter::_ZTV8QPrinter: 7u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI8QPrinter)
+16 QPrinter::~QPrinter
+24 QPrinter::~QPrinter
+32 QPrinter::devType
+40 QPrinter::paintEngine
+48 QPrinter::metric
+
+Class QPrinter
+ size=24 align=8
+ base size=24 base align=8
+QPrinter (0x7fc38b226e70) 0
+ vptr=((& QPrinter::_ZTV8QPrinter) + 16u)
+ QPaintDevice (0x7fc38b226ee0) 0
+ primary-for QPrinter (0x7fc38b226e70)
+
+Vtable for QPrintEngine
+QPrintEngine::_ZTV12QPrintEngine: 10u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QPrintEngine)
+16 QPrintEngine::~QPrintEngine
+24 QPrintEngine::~QPrintEngine
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+48 __cxa_pure_virtual
+56 __cxa_pure_virtual
+64 __cxa_pure_virtual
+72 __cxa_pure_virtual
+
+Class QPrintEngine
+ size=8 align=8
+ base size=8 base align=8
+QPrintEngine (0x7fc38b28d540) 0 nearly-empty
+ vptr=((& QPrintEngine::_ZTV12QPrintEngine) + 16u)
+
+Class QPrinterInfo
+ size=8 align=8
+ base size=8 base align=8
+QPrinterInfo (0x7fc38b29a2a0) 0
+
+Class QStylePainter
+ size=24 align=8
+ base size=24 base align=8
+QStylePainter (0x7fc38b2a29a0) 0
+ QPainter (0x7fc38b2a2a10) 0
+
+Vtable for QAbstractProxyModel
+QAbstractProxyModel::_ZTV19QAbstractProxyModel: 47u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QAbstractProxyModel)
+16 QAbstractProxyModel::metaObject
+24 QAbstractProxyModel::qt_metacast
+32 QAbstractProxyModel::qt_metacall
+40 QAbstractProxyModel::~QAbstractProxyModel
+48 QAbstractProxyModel::~QAbstractProxyModel
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 __cxa_pure_virtual
+136 __cxa_pure_virtual
+144 QAbstractItemModel::hasChildren
+152 QAbstractProxyModel::data
+160 QAbstractProxyModel::setData
+168 QAbstractProxyModel::headerData
+176 QAbstractProxyModel::setHeaderData
+184 QAbstractProxyModel::itemData
+192 QAbstractItemModel::setItemData
+200 QAbstractItemModel::mimeTypes
+208 QAbstractItemModel::mimeData
+216 QAbstractItemModel::dropMimeData
+224 QAbstractItemModel::supportedDropActions
+232 QAbstractItemModel::insertRows
+240 QAbstractItemModel::insertColumns
+248 QAbstractItemModel::removeRows
+256 QAbstractItemModel::removeColumns
+264 QAbstractItemModel::fetchMore
+272 QAbstractItemModel::canFetchMore
+280 QAbstractProxyModel::flags
+288 QAbstractItemModel::sort
+296 QAbstractItemModel::buddy
+304 QAbstractItemModel::match
+312 QAbstractItemModel::span
+320 QAbstractProxyModel::submit
+328 QAbstractProxyModel::revert
+336 QAbstractProxyModel::setSourceModel
+344 __cxa_pure_virtual
+352 __cxa_pure_virtual
+360 QAbstractProxyModel::mapSelectionToSource
+368 QAbstractProxyModel::mapSelectionFromSource
+
+Class QAbstractProxyModel
+ size=16 align=8
+ base size=16 base align=8
+QAbstractProxyModel (0x7fc38b0d0ee0) 0
+ vptr=((& QAbstractProxyModel::_ZTV19QAbstractProxyModel) + 16u)
+ QAbstractItemModel (0x7fc38b0d0f50) 0
+ primary-for QAbstractProxyModel (0x7fc38b0d0ee0)
+ QObject (0x7fc38b0d6000) 0
+ primary-for QAbstractItemModel (0x7fc38b0d0f50)
+
+Vtable for QColumnView
+QColumnView::_ZTV11QColumnView: 104u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QColumnView)
+16 QColumnView::metaObject
+24 QColumnView::qt_metacast
+32 QColumnView::qt_metacall
+40 QColumnView::~QColumnView
+48 QColumnView::~QColumnView
+56 QAbstractItemView::event
+64 QObject::eventFilter
+72 QAbstractItemView::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QColumnView::sizeHint
+136 QAbstractScrollArea::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QAbstractItemView::mousePressEvent
+168 QAbstractItemView::mouseReleaseEvent
+176 QAbstractItemView::mouseDoubleClickEvent
+184 QAbstractItemView::mouseMoveEvent
+192 QAbstractScrollArea::wheelEvent
+200 QAbstractItemView::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QAbstractItemView::focusInEvent
+224 QAbstractItemView::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QAbstractScrollArea::paintEvent
+256 QWidget::moveEvent
+264 QColumnView::resizeEvent
+272 QWidget::closeEvent
+280 QAbstractScrollArea::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QAbstractItemView::dragEnterEvent
+312 QAbstractItemView::dragMoveEvent
+320 QAbstractItemView::dragLeaveEvent
+328 QAbstractItemView::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QFrame::changeEvent
+368 QWidget::metric
+376 QAbstractItemView::inputMethodEvent
+384 QAbstractItemView::inputMethodQuery
+392 QAbstractItemView::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QAbstractItemView::viewportEvent
+456 QColumnView::scrollContentsBy
+464 QColumnView::setModel
+472 QColumnView::setSelectionModel
+480 QAbstractItemView::keyboardSearch
+488 QColumnView::visualRect
+496 QColumnView::scrollTo
+504 QColumnView::indexAt
+512 QAbstractItemView::sizeHintForRow
+520 QAbstractItemView::sizeHintForColumn
+528 QAbstractItemView::reset
+536 QColumnView::setRootIndex
+544 QAbstractItemView::doItemsLayout
+552 QColumnView::selectAll
+560 QAbstractItemView::dataChanged
+568 QColumnView::rowsInserted
+576 QAbstractItemView::rowsAboutToBeRemoved
+584 QAbstractItemView::selectionChanged
+592 QColumnView::currentChanged
+600 QAbstractItemView::updateEditorData
+608 QAbstractItemView::updateEditorGeometries
+616 QAbstractItemView::updateGeometries
+624 QAbstractItemView::verticalScrollbarAction
+632 QAbstractItemView::horizontalScrollbarAction
+640 QAbstractItemView::verticalScrollbarValueChanged
+648 QAbstractItemView::horizontalScrollbarValueChanged
+656 QAbstractItemView::closeEditor
+664 QAbstractItemView::commitData
+672 QAbstractItemView::editorDestroyed
+680 QColumnView::moveCursor
+688 QColumnView::horizontalOffset
+696 QColumnView::verticalOffset
+704 QColumnView::isIndexHidden
+712 QColumnView::setSelection
+720 QColumnView::visualRegionForSelection
+728 QAbstractItemView::selectedIndexes
+736 QAbstractItemView::edit
+744 QAbstractItemView::selectionCommand
+752 QAbstractItemView::startDrag
+760 QAbstractItemView::viewOptions
+768 QColumnView::createColumn
+776 (int (*)(...))-0x00000000000000010
+784 (int (*)(...))(& _ZTI11QColumnView)
+792 QColumnView::_ZThn16_N11QColumnViewD1Ev
+800 QColumnView::_ZThn16_N11QColumnViewD0Ev
+808 QWidget::_ZThn16_NK7QWidget7devTypeEv
+816 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+824 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QColumnView
+ size=40 align=8
+ base size=40 base align=8
+QColumnView (0x7fc38b0ebaf0) 0
+ vptr=((& QColumnView::_ZTV11QColumnView) + 16u)
+ QAbstractItemView (0x7fc38b0ebb60) 0
+ primary-for QColumnView (0x7fc38b0ebaf0)
+ QAbstractScrollArea (0x7fc38b0ebbd0) 0
+ primary-for QAbstractItemView (0x7fc38b0ebb60)
+ QFrame (0x7fc38b0ebc40) 0
+ primary-for QAbstractScrollArea (0x7fc38b0ebbd0)
+ QWidget (0x7fc38b0f2200) 0
+ primary-for QFrame (0x7fc38b0ebc40)
+ QObject (0x7fc38b0ebcb0) 0
+ primary-for QWidget (0x7fc38b0f2200)
+ QPaintDevice (0x7fc38b0ebd20) 16
+ vptr=((& QColumnView::_ZTV11QColumnView) + 792u)
+
+Vtable for QDataWidgetMapper
+QDataWidgetMapper::_ZTV17QDataWidgetMapper: 15u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QDataWidgetMapper)
+16 QDataWidgetMapper::metaObject
+24 QDataWidgetMapper::qt_metacast
+32 QDataWidgetMapper::qt_metacall
+40 QDataWidgetMapper::~QDataWidgetMapper
+48 QDataWidgetMapper::~QDataWidgetMapper
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QDataWidgetMapper::setCurrentIndex
+
+Class QDataWidgetMapper
+ size=16 align=8
+ base size=16 base align=8
+QDataWidgetMapper (0x7fc38b111c40) 0
+ vptr=((& QDataWidgetMapper::_ZTV17QDataWidgetMapper) + 16u)
+ QObject (0x7fc38b111cb0) 0
+ primary-for QDataWidgetMapper (0x7fc38b111c40)
+
+Vtable for QFileIconProvider
+QFileIconProvider::_ZTV17QFileIconProvider: 7u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QFileIconProvider)
+16 QFileIconProvider::~QFileIconProvider
+24 QFileIconProvider::~QFileIconProvider
+32 QFileIconProvider::icon
+40 QFileIconProvider::icon
+48 QFileIconProvider::type
+
+Class QFileIconProvider
+ size=16 align=8
+ base size=16 base align=8
+QFileIconProvider (0x7fc38b131700) 0
+ vptr=((& QFileIconProvider::_ZTV17QFileIconProvider) + 16u)
+
+Vtable for QDirModel
+QDirModel::_ZTV9QDirModel: 42u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QDirModel)
+16 QDirModel::metaObject
+24 QDirModel::qt_metacast
+32 QDirModel::qt_metacall
+40 QDirModel::~QDirModel
+48 QDirModel::~QDirModel
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QDirModel::index
+120 QDirModel::parent
+128 QDirModel::rowCount
+136 QDirModel::columnCount
+144 QDirModel::hasChildren
+152 QDirModel::data
+160 QDirModel::setData
+168 QDirModel::headerData
+176 QAbstractItemModel::setHeaderData
+184 QAbstractItemModel::itemData
+192 QAbstractItemModel::setItemData
+200 QDirModel::mimeTypes
+208 QDirModel::mimeData
+216 QDirModel::dropMimeData
+224 QDirModel::supportedDropActions
+232 QAbstractItemModel::insertRows
+240 QAbstractItemModel::insertColumns
+248 QAbstractItemModel::removeRows
+256 QAbstractItemModel::removeColumns
+264 QAbstractItemModel::fetchMore
+272 QAbstractItemModel::canFetchMore
+280 QDirModel::flags
+288 QDirModel::sort
+296 QAbstractItemModel::buddy
+304 QAbstractItemModel::match
+312 QAbstractItemModel::span
+320 QAbstractItemModel::submit
+328 QAbstractItemModel::revert
+
+Class QDirModel
+ size=16 align=8
+ base size=16 base align=8
+QDirModel (0x7fc38b146380) 0
+ vptr=((& QDirModel::_ZTV9QDirModel) + 16u)
+ QAbstractItemModel (0x7fc38b1463f0) 0
+ primary-for QDirModel (0x7fc38b146380)
+ QObject (0x7fc38b146460) 0
+ primary-for QAbstractItemModel (0x7fc38b1463f0)
+
+Vtable for QHeaderView
+QHeaderView::_ZTV11QHeaderView: 105u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QHeaderView)
+16 QHeaderView::metaObject
+24 QHeaderView::qt_metacast
+32 QHeaderView::qt_metacall
+40 QHeaderView::~QHeaderView
+48 QHeaderView::~QHeaderView
+56 QHeaderView::event
+64 QObject::eventFilter
+72 QAbstractItemView::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QHeaderView::sizeHint
+136 QAbstractScrollArea::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QHeaderView::mousePressEvent
+168 QHeaderView::mouseReleaseEvent
+176 QHeaderView::mouseDoubleClickEvent
+184 QHeaderView::mouseMoveEvent
+192 QAbstractScrollArea::wheelEvent
+200 QAbstractItemView::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QAbstractItemView::focusInEvent
+224 QAbstractItemView::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QHeaderView::paintEvent
+256 QWidget::moveEvent
+264 QAbstractItemView::resizeEvent
+272 QWidget::closeEvent
+280 QAbstractScrollArea::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QAbstractItemView::dragEnterEvent
+312 QAbstractItemView::dragMoveEvent
+320 QAbstractItemView::dragLeaveEvent
+328 QAbstractItemView::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QFrame::changeEvent
+368 QWidget::metric
+376 QAbstractItemView::inputMethodEvent
+384 QAbstractItemView::inputMethodQuery
+392 QAbstractItemView::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QHeaderView::viewportEvent
+456 QHeaderView::scrollContentsBy
+464 QHeaderView::setModel
+472 QAbstractItemView::setSelectionModel
+480 QAbstractItemView::keyboardSearch
+488 QHeaderView::visualRect
+496 QHeaderView::scrollTo
+504 QHeaderView::indexAt
+512 QAbstractItemView::sizeHintForRow
+520 QAbstractItemView::sizeHintForColumn
+528 QHeaderView::reset
+536 QAbstractItemView::setRootIndex
+544 QHeaderView::doItemsLayout
+552 QAbstractItemView::selectAll
+560 QHeaderView::dataChanged
+568 QHeaderView::rowsInserted
+576 QAbstractItemView::rowsAboutToBeRemoved
+584 QAbstractItemView::selectionChanged
+592 QHeaderView::currentChanged
+600 QAbstractItemView::updateEditorData
+608 QAbstractItemView::updateEditorGeometries
+616 QHeaderView::updateGeometries
+624 QAbstractItemView::verticalScrollbarAction
+632 QAbstractItemView::horizontalScrollbarAction
+640 QAbstractItemView::verticalScrollbarValueChanged
+648 QAbstractItemView::horizontalScrollbarValueChanged
+656 QAbstractItemView::closeEditor
+664 QAbstractItemView::commitData
+672 QAbstractItemView::editorDestroyed
+680 QHeaderView::moveCursor
+688 QHeaderView::horizontalOffset
+696 QHeaderView::verticalOffset
+704 QHeaderView::isIndexHidden
+712 QHeaderView::setSelection
+720 QHeaderView::visualRegionForSelection
+728 QAbstractItemView::selectedIndexes
+736 QAbstractItemView::edit
+744 QAbstractItemView::selectionCommand
+752 QAbstractItemView::startDrag
+760 QAbstractItemView::viewOptions
+768 QHeaderView::paintSection
+776 QHeaderView::sectionSizeFromContents
+784 (int (*)(...))-0x00000000000000010
+792 (int (*)(...))(& _ZTI11QHeaderView)
+800 QHeaderView::_ZThn16_N11QHeaderViewD1Ev
+808 QHeaderView::_ZThn16_N11QHeaderViewD0Ev
+816 QWidget::_ZThn16_NK7QWidget7devTypeEv
+824 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+832 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QHeaderView
+ size=40 align=8
+ base size=40 base align=8
+QHeaderView (0x7fc38b171620) 0
+ vptr=((& QHeaderView::_ZTV11QHeaderView) + 16u)
+ QAbstractItemView (0x7fc38b171690) 0
+ primary-for QHeaderView (0x7fc38b171620)
+ QAbstractScrollArea (0x7fc38b171700) 0
+ primary-for QAbstractItemView (0x7fc38b171690)
+ QFrame (0x7fc38b171770) 0
+ primary-for QAbstractScrollArea (0x7fc38b171700)
+ QWidget (0x7fc38b14d980) 0
+ primary-for QFrame (0x7fc38b171770)
+ QObject (0x7fc38b1717e0) 0
+ primary-for QWidget (0x7fc38b14d980)
+ QPaintDevice (0x7fc38b171850) 16
+ vptr=((& QHeaderView::_ZTV11QHeaderView) + 800u)
+
+Vtable for QItemDelegate
+QItemDelegate::_ZTV13QItemDelegate: 25u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QItemDelegate)
+16 QItemDelegate::metaObject
+24 QItemDelegate::qt_metacast
+32 QItemDelegate::qt_metacall
+40 QItemDelegate::~QItemDelegate
+48 QItemDelegate::~QItemDelegate
+56 QObject::event
+64 QItemDelegate::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QItemDelegate::paint
+120 QItemDelegate::sizeHint
+128 QItemDelegate::createEditor
+136 QItemDelegate::setEditorData
+144 QItemDelegate::setModelData
+152 QItemDelegate::updateEditorGeometry
+160 QItemDelegate::editorEvent
+168 QItemDelegate::drawDisplay
+176 QItemDelegate::drawDecoration
+184 QItemDelegate::drawFocus
+192 QItemDelegate::drawCheck
+
+Class QItemDelegate
+ size=16 align=8
+ base size=16 base align=8
+QItemDelegate (0x7fc38afb5230) 0
+ vptr=((& QItemDelegate::_ZTV13QItemDelegate) + 16u)
+ QAbstractItemDelegate (0x7fc38afb52a0) 0
+ primary-for QItemDelegate (0x7fc38afb5230)
+ QObject (0x7fc38afb5310) 0
+ primary-for QAbstractItemDelegate (0x7fc38afb52a0)
+
+Vtable for QItemEditorCreatorBase
+QItemEditorCreatorBase::_ZTV22QItemEditorCreatorBase: 6u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI22QItemEditorCreatorBase)
+16 QItemEditorCreatorBase::~QItemEditorCreatorBase
+24 QItemEditorCreatorBase::~QItemEditorCreatorBase
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+
+Class QItemEditorCreatorBase
+ size=8 align=8
+ base size=8 base align=8
+QItemEditorCreatorBase (0x7fc38afd2bd0) 0 nearly-empty
+ vptr=((& QItemEditorCreatorBase::_ZTV22QItemEditorCreatorBase) + 16u)
+
+Vtable for QItemEditorFactory
+QItemEditorFactory::_ZTV18QItemEditorFactory: 6u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QItemEditorFactory)
+16 QItemEditorFactory::~QItemEditorFactory
+24 QItemEditorFactory::~QItemEditorFactory
+32 QItemEditorFactory::createEditor
+40 QItemEditorFactory::valuePropertyName
+
+Class QItemEditorFactory
+ size=16 align=8
+ base size=16 base align=8
+QItemEditorFactory (0x7fc38afdda80) 0
+ vptr=((& QItemEditorFactory::_ZTV18QItemEditorFactory) + 16u)
+
+Vtable for QListWidgetItem
+QListWidgetItem::_ZTV15QListWidgetItem: 11u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QListWidgetItem)
+16 QListWidgetItem::~QListWidgetItem
+24 QListWidgetItem::~QListWidgetItem
+32 QListWidgetItem::clone
+40 QListWidgetItem::setBackgroundColor
+48 QListWidgetItem::data
+56 QListWidgetItem::setData
+64 QListWidgetItem::operator<
+72 QListWidgetItem::read
+80 QListWidgetItem::write
+
+Class QListWidgetItem
+ size=48 align=8
+ base size=44 base align=8
+QListWidgetItem (0x7fc38afead20) 0
+ vptr=((& QListWidgetItem::_ZTV15QListWidgetItem) + 16u)
+
+Vtable for QListWidget
+QListWidget::_ZTV11QListWidget: 107u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QListWidget)
+16 QListWidget::metaObject
+24 QListWidget::qt_metacast
+32 QListWidget::qt_metacall
+40 QListWidget::~QListWidget
+48 QListWidget::~QListWidget
+56 QListWidget::event
+64 QObject::eventFilter
+72 QListView::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QAbstractScrollArea::sizeHint
+136 QAbstractScrollArea::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QAbstractItemView::mousePressEvent
+168 QListView::mouseReleaseEvent
+176 QAbstractItemView::mouseDoubleClickEvent
+184 QListView::mouseMoveEvent
+192 QAbstractScrollArea::wheelEvent
+200 QAbstractItemView::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QAbstractItemView::focusInEvent
+224 QAbstractItemView::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QListView::paintEvent
+256 QWidget::moveEvent
+264 QListView::resizeEvent
+272 QWidget::closeEvent
+280 QAbstractScrollArea::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QAbstractItemView::dragEnterEvent
+312 QListView::dragMoveEvent
+320 QListView::dragLeaveEvent
+328 QListWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QFrame::changeEvent
+368 QWidget::metric
+376 QAbstractItemView::inputMethodEvent
+384 QAbstractItemView::inputMethodQuery
+392 QAbstractItemView::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QAbstractItemView::viewportEvent
+456 QListView::scrollContentsBy
+464 QListWidget::setModel
+472 QAbstractItemView::setSelectionModel
+480 QAbstractItemView::keyboardSearch
+488 QListView::visualRect
+496 QListView::scrollTo
+504 QListView::indexAt
+512 QAbstractItemView::sizeHintForRow
+520 QAbstractItemView::sizeHintForColumn
+528 QListView::reset
+536 QListView::setRootIndex
+544 QListView::doItemsLayout
+552 QAbstractItemView::selectAll
+560 QListView::dataChanged
+568 QListView::rowsInserted
+576 QListView::rowsAboutToBeRemoved
+584 QListView::selectionChanged
+592 QListView::currentChanged
+600 QAbstractItemView::updateEditorData
+608 QAbstractItemView::updateEditorGeometries
+616 QListView::updateGeometries
+624 QAbstractItemView::verticalScrollbarAction
+632 QAbstractItemView::horizontalScrollbarAction
+640 QAbstractItemView::verticalScrollbarValueChanged
+648 QAbstractItemView::horizontalScrollbarValueChanged
+656 QAbstractItemView::closeEditor
+664 QAbstractItemView::commitData
+672 QAbstractItemView::editorDestroyed
+680 QListView::moveCursor
+688 QListView::horizontalOffset
+696 QListView::verticalOffset
+704 QListView::isIndexHidden
+712 QListView::setSelection
+720 QListView::visualRegionForSelection
+728 QListView::selectedIndexes
+736 QAbstractItemView::edit
+744 QAbstractItemView::selectionCommand
+752 QListView::startDrag
+760 QListView::viewOptions
+768 QListWidget::mimeTypes
+776 QListWidget::mimeData
+784 QListWidget::dropMimeData
+792 QListWidget::supportedDropActions
+800 (int (*)(...))-0x00000000000000010
+808 (int (*)(...))(& _ZTI11QListWidget)
+816 QListWidget::_ZThn16_N11QListWidgetD1Ev
+824 QListWidget::_ZThn16_N11QListWidgetD0Ev
+832 QWidget::_ZThn16_NK7QWidget7devTypeEv
+840 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+848 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QListWidget
+ size=40 align=8
+ base size=40 base align=8
+QListWidget (0x7fc38b07c3f0) 0
+ vptr=((& QListWidget::_ZTV11QListWidget) + 16u)
+ QListView (0x7fc38b07c460) 0
+ primary-for QListWidget (0x7fc38b07c3f0)
+ QAbstractItemView (0x7fc38b07c4d0) 0
+ primary-for QListView (0x7fc38b07c460)
+ QAbstractScrollArea (0x7fc38b07c540) 0
+ primary-for QAbstractItemView (0x7fc38b07c4d0)
+ QFrame (0x7fc38b07c5b0) 0
+ primary-for QAbstractScrollArea (0x7fc38b07c540)
+ QWidget (0x7fc38b074a00) 0
+ primary-for QFrame (0x7fc38b07c5b0)
+ QObject (0x7fc38b07c620) 0
+ primary-for QWidget (0x7fc38b074a00)
+ QPaintDevice (0x7fc38b07c690) 16
+ vptr=((& QListWidget::_ZTV11QListWidget) + 816u)
+
+Vtable for QProxyModel
+QProxyModel::_ZTV11QProxyModel: 43u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QProxyModel)
+16 QProxyModel::metaObject
+24 QProxyModel::qt_metacast
+32 QProxyModel::qt_metacall
+40 QProxyModel::~QProxyModel
+48 QProxyModel::~QProxyModel
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QProxyModel::index
+120 QProxyModel::parent
+128 QProxyModel::rowCount
+136 QProxyModel::columnCount
+144 QProxyModel::hasChildren
+152 QProxyModel::data
+160 QProxyModel::setData
+168 QProxyModel::headerData
+176 QProxyModel::setHeaderData
+184 QAbstractItemModel::itemData
+192 QAbstractItemModel::setItemData
+200 QProxyModel::mimeTypes
+208 QProxyModel::mimeData
+216 QProxyModel::dropMimeData
+224 QProxyModel::supportedDropActions
+232 QProxyModel::insertRows
+240 QProxyModel::insertColumns
+248 QAbstractItemModel::removeRows
+256 QAbstractItemModel::removeColumns
+264 QProxyModel::fetchMore
+272 QAbstractItemModel::canFetchMore
+280 QProxyModel::flags
+288 QProxyModel::sort
+296 QAbstractItemModel::buddy
+304 QProxyModel::match
+312 QProxyModel::span
+320 QProxyModel::submit
+328 QProxyModel::revert
+336 QProxyModel::setModel
+
+Class QProxyModel
+ size=16 align=8
+ base size=16 base align=8
+QProxyModel (0x7fc38aeb6850) 0
+ vptr=((& QProxyModel::_ZTV11QProxyModel) + 16u)
+ QAbstractItemModel (0x7fc38aeb68c0) 0
+ primary-for QProxyModel (0x7fc38aeb6850)
+ QObject (0x7fc38aeb6930) 0
+ primary-for QAbstractItemModel (0x7fc38aeb68c0)
+
+Vtable for QSortFilterProxyModel
+QSortFilterProxyModel::_ZTV21QSortFilterProxyModel: 50u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI21QSortFilterProxyModel)
+16 QSortFilterProxyModel::metaObject
+24 QSortFilterProxyModel::qt_metacast
+32 QSortFilterProxyModel::qt_metacall
+40 QSortFilterProxyModel::~QSortFilterProxyModel
+48 QSortFilterProxyModel::~QSortFilterProxyModel
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QSortFilterProxyModel::index
+120 QSortFilterProxyModel::parent
+128 QSortFilterProxyModel::rowCount
+136 QSortFilterProxyModel::columnCount
+144 QSortFilterProxyModel::hasChildren
+152 QSortFilterProxyModel::data
+160 QSortFilterProxyModel::setData
+168 QSortFilterProxyModel::headerData
+176 QSortFilterProxyModel::setHeaderData
+184 QAbstractProxyModel::itemData
+192 QAbstractItemModel::setItemData
+200 QSortFilterProxyModel::mimeTypes
+208 QSortFilterProxyModel::mimeData
+216 QSortFilterProxyModel::dropMimeData
+224 QSortFilterProxyModel::supportedDropActions
+232 QSortFilterProxyModel::insertRows
+240 QSortFilterProxyModel::insertColumns
+248 QSortFilterProxyModel::removeRows
+256 QSortFilterProxyModel::removeColumns
+264 QSortFilterProxyModel::fetchMore
+272 QSortFilterProxyModel::canFetchMore
+280 QSortFilterProxyModel::flags
+288 QSortFilterProxyModel::sort
+296 QSortFilterProxyModel::buddy
+304 QSortFilterProxyModel::match
+312 QSortFilterProxyModel::span
+320 QAbstractProxyModel::submit
+328 QAbstractProxyModel::revert
+336 QSortFilterProxyModel::setSourceModel
+344 QSortFilterProxyModel::mapToSource
+352 QSortFilterProxyModel::mapFromSource
+360 QSortFilterProxyModel::mapSelectionToSource
+368 QSortFilterProxyModel::mapSelectionFromSource
+376 QSortFilterProxyModel::filterAcceptsRow
+384 QSortFilterProxyModel::filterAcceptsColumn
+392 QSortFilterProxyModel::lessThan
+
+Class QSortFilterProxyModel
+ size=16 align=8
+ base size=16 base align=8
+QSortFilterProxyModel (0x7fc38aed9700) 0
+ vptr=((& QSortFilterProxyModel::_ZTV21QSortFilterProxyModel) + 16u)
+ QAbstractProxyModel (0x7fc38aed9770) 0
+ primary-for QSortFilterProxyModel (0x7fc38aed9700)
+ QAbstractItemModel (0x7fc38aed97e0) 0
+ primary-for QAbstractProxyModel (0x7fc38aed9770)
+ QObject (0x7fc38aed9850) 0
+ primary-for QAbstractItemModel (0x7fc38aed97e0)
+
+Vtable for QStandardItem
+QStandardItem::_ZTV13QStandardItem: 11u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QStandardItem)
+16 QStandardItem::~QStandardItem
+24 QStandardItem::~QStandardItem
+32 QStandardItem::data
+40 QStandardItem::setData
+48 QStandardItem::clone
+56 QStandardItem::type
+64 QStandardItem::read
+72 QStandardItem::write
+80 QStandardItem::operator<
+
+Class QStandardItem
+ size=16 align=8
+ base size=16 base align=8
+QStandardItem (0x7fc38af08620) 0
+ vptr=((& QStandardItem::_ZTV13QStandardItem) + 16u)
+
+Vtable for QStandardItemModel
+QStandardItemModel::_ZTV18QStandardItemModel: 42u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QStandardItemModel)
+16 QStandardItemModel::metaObject
+24 QStandardItemModel::qt_metacast
+32 QStandardItemModel::qt_metacall
+40 QStandardItemModel::~QStandardItemModel
+48 QStandardItemModel::~QStandardItemModel
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QStandardItemModel::index
+120 QStandardItemModel::parent
+128 QStandardItemModel::rowCount
+136 QStandardItemModel::columnCount
+144 QStandardItemModel::hasChildren
+152 QStandardItemModel::data
+160 QStandardItemModel::setData
+168 QStandardItemModel::headerData
+176 QStandardItemModel::setHeaderData
+184 QStandardItemModel::itemData
+192 QStandardItemModel::setItemData
+200 QStandardItemModel::mimeTypes
+208 QStandardItemModel::mimeData
+216 QStandardItemModel::dropMimeData
+224 QStandardItemModel::supportedDropActions
+232 QStandardItemModel::insertRows
+240 QStandardItemModel::insertColumns
+248 QStandardItemModel::removeRows
+256 QStandardItemModel::removeColumns
+264 QAbstractItemModel::fetchMore
+272 QAbstractItemModel::canFetchMore
+280 QStandardItemModel::flags
+288 QStandardItemModel::sort
+296 QAbstractItemModel::buddy
+304 QAbstractItemModel::match
+312 QAbstractItemModel::span
+320 QAbstractItemModel::submit
+328 QAbstractItemModel::revert
+
+Class QStandardItemModel
+ size=16 align=8
+ base size=16 base align=8
+QStandardItemModel (0x7fc38adf33f0) 0
+ vptr=((& QStandardItemModel::_ZTV18QStandardItemModel) + 16u)
+ QAbstractItemModel (0x7fc38adf3460) 0
+ primary-for QStandardItemModel (0x7fc38adf33f0)
+ QObject (0x7fc38adf34d0) 0
+ primary-for QAbstractItemModel (0x7fc38adf3460)
+
+Vtable for QStringListModel
+QStringListModel::_ZTV16QStringListModel: 42u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QStringListModel)
+16 QStringListModel::metaObject
+24 QStringListModel::qt_metacast
+32 QStringListModel::qt_metacall
+40 QStringListModel::~QStringListModel
+48 QStringListModel::~QStringListModel
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QAbstractListModel::index
+120 QAbstractListModel::parent
+128 QStringListModel::rowCount
+136 QAbstractListModel::columnCount
+144 QAbstractListModel::hasChildren
+152 QStringListModel::data
+160 QStringListModel::setData
+168 QAbstractItemModel::headerData
+176 QAbstractItemModel::setHeaderData
+184 QAbstractItemModel::itemData
+192 QAbstractItemModel::setItemData
+200 QAbstractItemModel::mimeTypes
+208 QAbstractItemModel::mimeData
+216 QAbstractListModel::dropMimeData
+224 QStringListModel::supportedDropActions
+232 QStringListModel::insertRows
+240 QAbstractItemModel::insertColumns
+248 QStringListModel::removeRows
+256 QAbstractItemModel::removeColumns
+264 QAbstractItemModel::fetchMore
+272 QAbstractItemModel::canFetchMore
+280 QStringListModel::flags
+288 QStringListModel::sort
+296 QAbstractItemModel::buddy
+304 QAbstractItemModel::match
+312 QAbstractItemModel::span
+320 QAbstractItemModel::submit
+328 QAbstractItemModel::revert
+
+Class QStringListModel
+ size=24 align=8
+ base size=24 base align=8
+QStringListModel (0x7fc38ae2ef50) 0
+ vptr=((& QStringListModel::_ZTV16QStringListModel) + 16u)
+ QAbstractListModel (0x7fc38ae42000) 0
+ primary-for QStringListModel (0x7fc38ae2ef50)
+ QAbstractItemModel (0x7fc38ae42070) 0
+ primary-for QAbstractListModel (0x7fc38ae42000)
+ QObject (0x7fc38ae420e0) 0
+ primary-for QAbstractItemModel (0x7fc38ae42070)
+
+Vtable for QStyledItemDelegate
+QStyledItemDelegate::_ZTV19QStyledItemDelegate: 23u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QStyledItemDelegate)
+16 QStyledItemDelegate::metaObject
+24 QStyledItemDelegate::qt_metacast
+32 QStyledItemDelegate::qt_metacall
+40 QStyledItemDelegate::~QStyledItemDelegate
+48 QStyledItemDelegate::~QStyledItemDelegate
+56 QObject::event
+64 QStyledItemDelegate::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QStyledItemDelegate::paint
+120 QStyledItemDelegate::sizeHint
+128 QStyledItemDelegate::createEditor
+136 QStyledItemDelegate::setEditorData
+144 QStyledItemDelegate::setModelData
+152 QStyledItemDelegate::updateEditorGeometry
+160 QStyledItemDelegate::editorEvent
+168 QStyledItemDelegate::displayText
+176 QStyledItemDelegate::initStyleOption
+
+Class QStyledItemDelegate
+ size=16 align=8
+ base size=16 base align=8
+QStyledItemDelegate (0x7fc38ae595b0) 0
+ vptr=((& QStyledItemDelegate::_ZTV19QStyledItemDelegate) + 16u)
+ QAbstractItemDelegate (0x7fc38ae59620) 0
+ primary-for QStyledItemDelegate (0x7fc38ae595b0)
+ QObject (0x7fc38ae59690) 0
+ primary-for QAbstractItemDelegate (0x7fc38ae59620)
+
+Vtable for QTableView
+QTableView::_ZTV10QTableView: 103u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QTableView)
+16 QTableView::metaObject
+24 QTableView::qt_metacast
+32 QTableView::qt_metacall
+40 QTableView::~QTableView
+48 QTableView::~QTableView
+56 QAbstractItemView::event
+64 QObject::eventFilter
+72 QTableView::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QAbstractScrollArea::sizeHint
+136 QAbstractScrollArea::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QAbstractItemView::mousePressEvent
+168 QAbstractItemView::mouseReleaseEvent
+176 QAbstractItemView::mouseDoubleClickEvent
+184 QAbstractItemView::mouseMoveEvent
+192 QAbstractScrollArea::wheelEvent
+200 QAbstractItemView::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QAbstractItemView::focusInEvent
+224 QAbstractItemView::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QTableView::paintEvent
+256 QWidget::moveEvent
+264 QAbstractItemView::resizeEvent
+272 QWidget::closeEvent
+280 QAbstractScrollArea::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QAbstractItemView::dragEnterEvent
+312 QAbstractItemView::dragMoveEvent
+320 QAbstractItemView::dragLeaveEvent
+328 QAbstractItemView::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QFrame::changeEvent
+368 QWidget::metric
+376 QAbstractItemView::inputMethodEvent
+384 QAbstractItemView::inputMethodQuery
+392 QAbstractItemView::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QAbstractItemView::viewportEvent
+456 QTableView::scrollContentsBy
+464 QTableView::setModel
+472 QTableView::setSelectionModel
+480 QAbstractItemView::keyboardSearch
+488 QTableView::visualRect
+496 QTableView::scrollTo
+504 QTableView::indexAt
+512 QTableView::sizeHintForRow
+520 QTableView::sizeHintForColumn
+528 QAbstractItemView::reset
+536 QTableView::setRootIndex
+544 QAbstractItemView::doItemsLayout
+552 QAbstractItemView::selectAll
+560 QAbstractItemView::dataChanged
+568 QAbstractItemView::rowsInserted
+576 QAbstractItemView::rowsAboutToBeRemoved
+584 QTableView::selectionChanged
+592 QTableView::currentChanged
+600 QAbstractItemView::updateEditorData
+608 QAbstractItemView::updateEditorGeometries
+616 QTableView::updateGeometries
+624 QTableView::verticalScrollbarAction
+632 QTableView::horizontalScrollbarAction
+640 QAbstractItemView::verticalScrollbarValueChanged
+648 QAbstractItemView::horizontalScrollbarValueChanged
+656 QAbstractItemView::closeEditor
+664 QAbstractItemView::commitData
+672 QAbstractItemView::editorDestroyed
+680 QTableView::moveCursor
+688 QTableView::horizontalOffset
+696 QTableView::verticalOffset
+704 QTableView::isIndexHidden
+712 QTableView::setSelection
+720 QTableView::visualRegionForSelection
+728 QTableView::selectedIndexes
+736 QAbstractItemView::edit
+744 QAbstractItemView::selectionCommand
+752 QAbstractItemView::startDrag
+760 QTableView::viewOptions
+768 (int (*)(...))-0x00000000000000010
+776 (int (*)(...))(& _ZTI10QTableView)
+784 QTableView::_ZThn16_N10QTableViewD1Ev
+792 QTableView::_ZThn16_N10QTableViewD0Ev
+800 QWidget::_ZThn16_NK7QWidget7devTypeEv
+808 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+816 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QTableView
+ size=40 align=8
+ base size=40 base align=8
+QTableView (0x7fc38ae70f50) 0
+ vptr=((& QTableView::_ZTV10QTableView) + 16u)
+ QAbstractItemView (0x7fc38ae77000) 0
+ primary-for QTableView (0x7fc38ae70f50)
+ QAbstractScrollArea (0x7fc38ae77070) 0
+ primary-for QAbstractItemView (0x7fc38ae77000)
+ QFrame (0x7fc38ae770e0) 0
+ primary-for QAbstractScrollArea (0x7fc38ae77070)
+ QWidget (0x7fc38ae58b00) 0
+ primary-for QFrame (0x7fc38ae770e0)
+ QObject (0x7fc38ae77150) 0
+ primary-for QWidget (0x7fc38ae58b00)
+ QPaintDevice (0x7fc38ae771c0) 16
+ vptr=((& QTableView::_ZTV10QTableView) + 784u)
+
+Class QTableWidgetSelectionRange
+ size=16 align=4
+ base size=16 base align=4
+QTableWidgetSelectionRange (0x7fc38aea2d20) 0
+
+Vtable for QTableWidgetItem
+QTableWidgetItem::_ZTV16QTableWidgetItem: 10u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QTableWidgetItem)
+16 QTableWidgetItem::~QTableWidgetItem
+24 QTableWidgetItem::~QTableWidgetItem
+32 QTableWidgetItem::clone
+40 QTableWidgetItem::data
+48 QTableWidgetItem::setData
+56 QTableWidgetItem::operator<
+64 QTableWidgetItem::read
+72 QTableWidgetItem::write
+
+Class QTableWidgetItem
+ size=48 align=8
+ base size=44 base align=8
+QTableWidgetItem (0x7fc38acb2230) 0
+ vptr=((& QTableWidgetItem::_ZTV16QTableWidgetItem) + 16u)
+
+Vtable for QTableWidget
+QTableWidget::_ZTV12QTableWidget: 107u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QTableWidget)
+16 QTableWidget::metaObject
+24 QTableWidget::qt_metacast
+32 QTableWidget::qt_metacall
+40 QTableWidget::~QTableWidget
+48 QTableWidget::~QTableWidget
+56 QTableWidget::event
+64 QObject::eventFilter
+72 QTableView::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QAbstractScrollArea::sizeHint
+136 QAbstractScrollArea::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QAbstractItemView::mousePressEvent
+168 QAbstractItemView::mouseReleaseEvent
+176 QAbstractItemView::mouseDoubleClickEvent
+184 QAbstractItemView::mouseMoveEvent
+192 QAbstractScrollArea::wheelEvent
+200 QAbstractItemView::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QAbstractItemView::focusInEvent
+224 QAbstractItemView::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QTableView::paintEvent
+256 QWidget::moveEvent
+264 QAbstractItemView::resizeEvent
+272 QWidget::closeEvent
+280 QAbstractScrollArea::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QAbstractItemView::dragEnterEvent
+312 QAbstractItemView::dragMoveEvent
+320 QAbstractItemView::dragLeaveEvent
+328 QTableWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QFrame::changeEvent
+368 QWidget::metric
+376 QAbstractItemView::inputMethodEvent
+384 QAbstractItemView::inputMethodQuery
+392 QAbstractItemView::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QAbstractItemView::viewportEvent
+456 QTableView::scrollContentsBy
+464 QTableWidget::setModel
+472 QTableView::setSelectionModel
+480 QAbstractItemView::keyboardSearch
+488 QTableView::visualRect
+496 QTableView::scrollTo
+504 QTableView::indexAt
+512 QTableView::sizeHintForRow
+520 QTableView::sizeHintForColumn
+528 QAbstractItemView::reset
+536 QTableView::setRootIndex
+544 QAbstractItemView::doItemsLayout
+552 QAbstractItemView::selectAll
+560 QAbstractItemView::dataChanged
+568 QAbstractItemView::rowsInserted
+576 QAbstractItemView::rowsAboutToBeRemoved
+584 QTableView::selectionChanged
+592 QTableView::currentChanged
+600 QAbstractItemView::updateEditorData
+608 QAbstractItemView::updateEditorGeometries
+616 QTableView::updateGeometries
+624 QTableView::verticalScrollbarAction
+632 QTableView::horizontalScrollbarAction
+640 QAbstractItemView::verticalScrollbarValueChanged
+648 QAbstractItemView::horizontalScrollbarValueChanged
+656 QAbstractItemView::closeEditor
+664 QAbstractItemView::commitData
+672 QAbstractItemView::editorDestroyed
+680 QTableView::moveCursor
+688 QTableView::horizontalOffset
+696 QTableView::verticalOffset
+704 QTableView::isIndexHidden
+712 QTableView::setSelection
+720 QTableView::visualRegionForSelection
+728 QTableView::selectedIndexes
+736 QAbstractItemView::edit
+744 QAbstractItemView::selectionCommand
+752 QAbstractItemView::startDrag
+760 QTableView::viewOptions
+768 QTableWidget::mimeTypes
+776 QTableWidget::mimeData
+784 QTableWidget::dropMimeData
+792 QTableWidget::supportedDropActions
+800 (int (*)(...))-0x00000000000000010
+808 (int (*)(...))(& _ZTI12QTableWidget)
+816 QTableWidget::_ZThn16_N12QTableWidgetD1Ev
+824 QTableWidget::_ZThn16_N12QTableWidgetD0Ev
+832 QWidget::_ZThn16_NK7QWidget7devTypeEv
+840 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+848 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QTableWidget
+ size=40 align=8
+ base size=40 base align=8
+QTableWidget (0x7fc38ad267e0) 0
+ vptr=((& QTableWidget::_ZTV12QTableWidget) + 16u)
+ QTableView (0x7fc38ad26850) 0
+ primary-for QTableWidget (0x7fc38ad267e0)
+ QAbstractItemView (0x7fc38ad268c0) 0
+ primary-for QTableView (0x7fc38ad26850)
+ QAbstractScrollArea (0x7fc38ad26930) 0
+ primary-for QAbstractItemView (0x7fc38ad268c0)
+ QFrame (0x7fc38ad269a0) 0
+ primary-for QAbstractScrollArea (0x7fc38ad26930)
+ QWidget (0x7fc38ad1bc80) 0
+ primary-for QFrame (0x7fc38ad269a0)
+ QObject (0x7fc38ad26a10) 0
+ primary-for QWidget (0x7fc38ad1bc80)
+ QPaintDevice (0x7fc38ad26a80) 16
+ vptr=((& QTableWidget::_ZTV12QTableWidget) + 816u)
+
+Vtable for QTreeView
+QTreeView::_ZTV9QTreeView: 105u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QTreeView)
+16 QTreeView::metaObject
+24 QTreeView::qt_metacast
+32 QTreeView::qt_metacall
+40 QTreeView::~QTreeView
+48 QTreeView::~QTreeView
+56 QAbstractItemView::event
+64 QObject::eventFilter
+72 QTreeView::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QAbstractScrollArea::sizeHint
+136 QAbstractScrollArea::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QTreeView::mousePressEvent
+168 QTreeView::mouseReleaseEvent
+176 QTreeView::mouseDoubleClickEvent
+184 QTreeView::mouseMoveEvent
+192 QAbstractScrollArea::wheelEvent
+200 QTreeView::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QAbstractItemView::focusInEvent
+224 QAbstractItemView::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QTreeView::paintEvent
+256 QWidget::moveEvent
+264 QAbstractItemView::resizeEvent
+272 QWidget::closeEvent
+280 QAbstractScrollArea::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QAbstractItemView::dragEnterEvent
+312 QTreeView::dragMoveEvent
+320 QAbstractItemView::dragLeaveEvent
+328 QAbstractItemView::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QFrame::changeEvent
+368 QWidget::metric
+376 QAbstractItemView::inputMethodEvent
+384 QAbstractItemView::inputMethodQuery
+392 QAbstractItemView::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QTreeView::viewportEvent
+456 QTreeView::scrollContentsBy
+464 QTreeView::setModel
+472 QTreeView::setSelectionModel
+480 QTreeView::keyboardSearch
+488 QTreeView::visualRect
+496 QTreeView::scrollTo
+504 QTreeView::indexAt
+512 QAbstractItemView::sizeHintForRow
+520 QTreeView::sizeHintForColumn
+528 QTreeView::reset
+536 QTreeView::setRootIndex
+544 QTreeView::doItemsLayout
+552 QTreeView::selectAll
+560 QTreeView::dataChanged
+568 QTreeView::rowsInserted
+576 QTreeView::rowsAboutToBeRemoved
+584 QTreeView::selectionChanged
+592 QTreeView::currentChanged
+600 QAbstractItemView::updateEditorData
+608 QAbstractItemView::updateEditorGeometries
+616 QTreeView::updateGeometries
+624 QAbstractItemView::verticalScrollbarAction
+632 QTreeView::horizontalScrollbarAction
+640 QAbstractItemView::verticalScrollbarValueChanged
+648 QAbstractItemView::horizontalScrollbarValueChanged
+656 QAbstractItemView::closeEditor
+664 QAbstractItemView::commitData
+672 QAbstractItemView::editorDestroyed
+680 QTreeView::moveCursor
+688 QTreeView::horizontalOffset
+696 QTreeView::verticalOffset
+704 QTreeView::isIndexHidden
+712 QTreeView::setSelection
+720 QTreeView::visualRegionForSelection
+728 QTreeView::selectedIndexes
+736 QAbstractItemView::edit
+744 QAbstractItemView::selectionCommand
+752 QAbstractItemView::startDrag
+760 QAbstractItemView::viewOptions
+768 QTreeView::drawRow
+776 QTreeView::drawBranches
+784 (int (*)(...))-0x00000000000000010
+792 (int (*)(...))(& _ZTI9QTreeView)
+800 QTreeView::_ZThn16_N9QTreeViewD1Ev
+808 QTreeView::_ZThn16_N9QTreeViewD0Ev
+816 QWidget::_ZThn16_NK7QWidget7devTypeEv
+824 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+832 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QTreeView
+ size=40 align=8
+ base size=40 base align=8
+QTreeView (0x7fc38ad64770) 0
+ vptr=((& QTreeView::_ZTV9QTreeView) + 16u)
+ QAbstractItemView (0x7fc38ad647e0) 0
+ primary-for QTreeView (0x7fc38ad64770)
+ QAbstractScrollArea (0x7fc38ad64850) 0
+ primary-for QAbstractItemView (0x7fc38ad647e0)
+ QFrame (0x7fc38ad648c0) 0
+ primary-for QAbstractScrollArea (0x7fc38ad64850)
+ QWidget (0x7fc38ad63600) 0
+ primary-for QFrame (0x7fc38ad648c0)
+ QObject (0x7fc38ad64930) 0
+ primary-for QWidget (0x7fc38ad63600)
+ QPaintDevice (0x7fc38ad649a0) 16
+ vptr=((& QTreeView::_ZTV9QTreeView) + 800u)
+
+Class QTreeWidgetItemIterator
+ size=24 align=8
+ base size=20 base align=8
+QTreeWidgetItemIterator (0x7fc38ad9e540) 0
+
+Vtable for QTreeWidgetItem
+QTreeWidgetItem::_ZTV15QTreeWidgetItem: 10u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QTreeWidgetItem)
+16 QTreeWidgetItem::~QTreeWidgetItem
+24 QTreeWidgetItem::~QTreeWidgetItem
+32 QTreeWidgetItem::clone
+40 QTreeWidgetItem::data
+48 QTreeWidgetItem::setData
+56 QTreeWidgetItem::operator<
+64 QTreeWidgetItem::read
+72 QTreeWidgetItem::write
+
+Class QTreeWidgetItem
+ size=64 align=8
+ base size=60 base align=8
+QTreeWidgetItem (0x7fc38ac0b2a0) 0
+ vptr=((& QTreeWidgetItem::_ZTV15QTreeWidgetItem) + 16u)
+
+Vtable for QTreeWidget
+QTreeWidget::_ZTV11QTreeWidget: 109u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QTreeWidget)
+16 QTreeWidget::metaObject
+24 QTreeWidget::qt_metacast
+32 QTreeWidget::qt_metacall
+40 QTreeWidget::~QTreeWidget
+48 QTreeWidget::~QTreeWidget
+56 QTreeWidget::event
+64 QObject::eventFilter
+72 QTreeView::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QAbstractScrollArea::sizeHint
+136 QAbstractScrollArea::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QTreeView::mousePressEvent
+168 QTreeView::mouseReleaseEvent
+176 QTreeView::mouseDoubleClickEvent
+184 QTreeView::mouseMoveEvent
+192 QAbstractScrollArea::wheelEvent
+200 QTreeView::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QAbstractItemView::focusInEvent
+224 QAbstractItemView::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QTreeView::paintEvent
+256 QWidget::moveEvent
+264 QAbstractItemView::resizeEvent
+272 QWidget::closeEvent
+280 QAbstractScrollArea::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QAbstractItemView::dragEnterEvent
+312 QTreeView::dragMoveEvent
+320 QAbstractItemView::dragLeaveEvent
+328 QTreeWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QFrame::changeEvent
+368 QWidget::metric
+376 QAbstractItemView::inputMethodEvent
+384 QAbstractItemView::inputMethodQuery
+392 QAbstractItemView::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QTreeView::viewportEvent
+456 QTreeView::scrollContentsBy
+464 QTreeWidget::setModel
+472 QTreeWidget::setSelectionModel
+480 QTreeView::keyboardSearch
+488 QTreeView::visualRect
+496 QTreeView::scrollTo
+504 QTreeView::indexAt
+512 QAbstractItemView::sizeHintForRow
+520 QTreeView::sizeHintForColumn
+528 QTreeView::reset
+536 QTreeView::setRootIndex
+544 QTreeView::doItemsLayout
+552 QTreeView::selectAll
+560 QTreeView::dataChanged
+568 QTreeView::rowsInserted
+576 QTreeView::rowsAboutToBeRemoved
+584 QTreeView::selectionChanged
+592 QTreeView::currentChanged
+600 QAbstractItemView::updateEditorData
+608 QAbstractItemView::updateEditorGeometries
+616 QTreeView::updateGeometries
+624 QAbstractItemView::verticalScrollbarAction
+632 QTreeView::horizontalScrollbarAction
+640 QAbstractItemView::verticalScrollbarValueChanged
+648 QAbstractItemView::horizontalScrollbarValueChanged
+656 QAbstractItemView::closeEditor
+664 QAbstractItemView::commitData
+672 QAbstractItemView::editorDestroyed
+680 QTreeView::moveCursor
+688 QTreeView::horizontalOffset
+696 QTreeView::verticalOffset
+704 QTreeView::isIndexHidden
+712 QTreeView::setSelection
+720 QTreeView::visualRegionForSelection
+728 QTreeView::selectedIndexes
+736 QAbstractItemView::edit
+744 QAbstractItemView::selectionCommand
+752 QAbstractItemView::startDrag
+760 QAbstractItemView::viewOptions
+768 QTreeView::drawRow
+776 QTreeView::drawBranches
+784 QTreeWidget::mimeTypes
+792 QTreeWidget::mimeData
+800 QTreeWidget::dropMimeData
+808 QTreeWidget::supportedDropActions
+816 (int (*)(...))-0x00000000000000010
+824 (int (*)(...))(& _ZTI11QTreeWidget)
+832 QTreeWidget::_ZThn16_N11QTreeWidgetD1Ev
+840 QTreeWidget::_ZThn16_N11QTreeWidgetD0Ev
+848 QWidget::_ZThn16_NK7QWidget7devTypeEv
+856 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+864 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QTreeWidget
+ size=40 align=8
+ base size=40 base align=8
+QTreeWidget (0x7fc38aab98c0) 0
+ vptr=((& QTreeWidget::_ZTV11QTreeWidget) + 16u)
+ QTreeView (0x7fc38aab9930) 0
+ primary-for QTreeWidget (0x7fc38aab98c0)
+ QAbstractItemView (0x7fc38aab99a0) 0
+ primary-for QTreeView (0x7fc38aab9930)
+ QAbstractScrollArea (0x7fc38aab9a10) 0
+ primary-for QAbstractItemView (0x7fc38aab99a0)
+ QFrame (0x7fc38aab9a80) 0
+ primary-for QAbstractScrollArea (0x7fc38aab9a10)
+ QWidget (0x7fc38aaba200) 0
+ primary-for QFrame (0x7fc38aab9a80)
+ QObject (0x7fc38aab9af0) 0
+ primary-for QWidget (0x7fc38aaba200)
+ QPaintDevice (0x7fc38aab9b60) 16
+ vptr=((& QTreeWidget::_ZTV11QTreeWidget) + 832u)
+
+Class QAccessible
+ size=1 align=1
+ base size=0 base align=1
+QAccessible (0x7fc38ab00c40) 0 empty
+
+Vtable for QAccessibleInterface
+QAccessibleInterface::_ZTV20QAccessibleInterface: 19u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI20QAccessibleInterface)
+16 QAccessibleInterface::~QAccessibleInterface
+24 QAccessibleInterface::~QAccessibleInterface
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+48 __cxa_pure_virtual
+56 __cxa_pure_virtual
+64 __cxa_pure_virtual
+72 __cxa_pure_virtual
+80 __cxa_pure_virtual
+88 __cxa_pure_virtual
+96 __cxa_pure_virtual
+104 __cxa_pure_virtual
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 __cxa_pure_virtual
+136 __cxa_pure_virtual
+144 __cxa_pure_virtual
+
+Class QAccessibleInterface
+ size=8 align=8
+ base size=8 base align=8
+QAccessibleInterface (0x7fc38a9abe00) 0 nearly-empty
+ vptr=((& QAccessibleInterface::_ZTV20QAccessibleInterface) + 16u)
+ QAccessible (0x7fc38a9abe70) 0 empty
+
+Vtable for QAccessibleInterfaceEx
+QAccessibleInterfaceEx::_ZTV22QAccessibleInterfaceEx: 22u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI22QAccessibleInterfaceEx)
+16 QAccessibleInterfaceEx::~QAccessibleInterfaceEx
+24 QAccessibleInterfaceEx::~QAccessibleInterfaceEx
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+48 __cxa_pure_virtual
+56 __cxa_pure_virtual
+64 __cxa_pure_virtual
+72 __cxa_pure_virtual
+80 __cxa_pure_virtual
+88 __cxa_pure_virtual
+96 __cxa_pure_virtual
+104 __cxa_pure_virtual
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 __cxa_pure_virtual
+136 __cxa_pure_virtual
+144 __cxa_pure_virtual
+152 __cxa_pure_virtual
+160 QAccessibleInterfaceEx::virtual_hook
+168 QAccessibleInterfaceEx::interface_cast
+
+Class QAccessibleInterfaceEx
+ size=8 align=8
+ base size=8 base align=8
+QAccessibleInterfaceEx (0x7fc38aa27b60) 0 nearly-empty
+ vptr=((& QAccessibleInterfaceEx::_ZTV22QAccessibleInterfaceEx) + 16u)
+ QAccessibleInterface (0x7fc38aa27bd0) 0 nearly-empty
+ primary-for QAccessibleInterfaceEx (0x7fc38aa27b60)
+ QAccessible (0x7fc38aa27c40) 0 empty
+
+Vtable for QAccessibleEvent
+QAccessibleEvent::_ZTV16QAccessibleEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QAccessibleEvent)
+16 QAccessibleEvent::~QAccessibleEvent
+24 QAccessibleEvent::~QAccessibleEvent
+
+Class QAccessibleEvent
+ size=32 align=8
+ base size=32 base align=8
+QAccessibleEvent (0x7fc38aa27ee0) 0
+ vptr=((& QAccessibleEvent::_ZTV16QAccessibleEvent) + 16u)
+ QEvent (0x7fc38aa27f50) 0
+ primary-for QAccessibleEvent (0x7fc38aa27ee0)
+
+Vtable for QAccessible2Interface
+QAccessible2Interface::_ZTV21QAccessible2Interface: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI21QAccessible2Interface)
+16 QAccessible2Interface::~QAccessible2Interface
+24 QAccessible2Interface::~QAccessible2Interface
+
+Class QAccessible2Interface
+ size=8 align=8
+ base size=8 base align=8
+QAccessible2Interface (0x7fc38aa3cf50) 0 nearly-empty
+ vptr=((& QAccessible2Interface::_ZTV21QAccessible2Interface) + 16u)
+
+Vtable for QAccessibleTextInterface
+QAccessibleTextInterface::_ZTV24QAccessibleTextInterface: 20u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI24QAccessibleTextInterface)
+16 QAccessibleTextInterface::~QAccessibleTextInterface
+24 QAccessibleTextInterface::~QAccessibleTextInterface
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+48 __cxa_pure_virtual
+56 __cxa_pure_virtual
+64 __cxa_pure_virtual
+72 __cxa_pure_virtual
+80 __cxa_pure_virtual
+88 __cxa_pure_virtual
+96 __cxa_pure_virtual
+104 __cxa_pure_virtual
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 __cxa_pure_virtual
+136 __cxa_pure_virtual
+144 __cxa_pure_virtual
+152 __cxa_pure_virtual
+
+Class QAccessibleTextInterface
+ size=8 align=8
+ base size=8 base align=8
+QAccessibleTextInterface (0x7fc38aa531c0) 0 nearly-empty
+ vptr=((& QAccessibleTextInterface::_ZTV24QAccessibleTextInterface) + 16u)
+ QAccessible2Interface (0x7fc38aa53230) 0 nearly-empty
+ primary-for QAccessibleTextInterface (0x7fc38aa531c0)
+
+Vtable for QAccessibleEditableTextInterface
+QAccessibleEditableTextInterface::_ZTV32QAccessibleEditableTextInterface: 11u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI32QAccessibleEditableTextInterface)
+16 QAccessibleEditableTextInterface::~QAccessibleEditableTextInterface
+24 QAccessibleEditableTextInterface::~QAccessibleEditableTextInterface
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+48 __cxa_pure_virtual
+56 __cxa_pure_virtual
+64 __cxa_pure_virtual
+72 __cxa_pure_virtual
+80 __cxa_pure_virtual
+
+Class QAccessibleEditableTextInterface
+ size=8 align=8
+ base size=8 base align=8
+QAccessibleEditableTextInterface (0x7fc38aa65070) 0 nearly-empty
+ vptr=((& QAccessibleEditableTextInterface::_ZTV32QAccessibleEditableTextInterface) + 16u)
+ QAccessible2Interface (0x7fc38aa650e0) 0 nearly-empty
+ primary-for QAccessibleEditableTextInterface (0x7fc38aa65070)
+
+Vtable for QAccessibleSimpleEditableTextInterface
+QAccessibleSimpleEditableTextInterface::_ZTV38QAccessibleSimpleEditableTextInterface: 11u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI38QAccessibleSimpleEditableTextInterface)
+16 QAccessibleSimpleEditableTextInterface::~QAccessibleSimpleEditableTextInterface
+24 QAccessibleSimpleEditableTextInterface::~QAccessibleSimpleEditableTextInterface
+32 QAccessibleSimpleEditableTextInterface::copyText
+40 QAccessibleSimpleEditableTextInterface::deleteText
+48 QAccessibleSimpleEditableTextInterface::insertText
+56 QAccessibleSimpleEditableTextInterface::cutText
+64 QAccessibleSimpleEditableTextInterface::pasteText
+72 QAccessibleSimpleEditableTextInterface::replaceText
+80 QAccessibleSimpleEditableTextInterface::setAttributes
+
+Class QAccessibleSimpleEditableTextInterface
+ size=16 align=8
+ base size=16 base align=8
+QAccessibleSimpleEditableTextInterface (0x7fc38aa65f50) 0
+ vptr=((& QAccessibleSimpleEditableTextInterface::_ZTV38QAccessibleSimpleEditableTextInterface) + 16u)
+ QAccessibleEditableTextInterface (0x7fc38aa65310) 0 nearly-empty
+ primary-for QAccessibleSimpleEditableTextInterface (0x7fc38aa65f50)
+ QAccessible2Interface (0x7fc38aa6f000) 0 nearly-empty
+ primary-for QAccessibleEditableTextInterface (0x7fc38aa65310)
+
+Vtable for QAccessibleValueInterface
+QAccessibleValueInterface::_ZTV25QAccessibleValueInterface: 8u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI25QAccessibleValueInterface)
+16 QAccessibleValueInterface::~QAccessibleValueInterface
+24 QAccessibleValueInterface::~QAccessibleValueInterface
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+48 __cxa_pure_virtual
+56 __cxa_pure_virtual
+
+Class QAccessibleValueInterface
+ size=8 align=8
+ base size=8 base align=8
+QAccessibleValueInterface (0x7fc38aa6f230) 0 nearly-empty
+ vptr=((& QAccessibleValueInterface::_ZTV25QAccessibleValueInterface) + 16u)
+ QAccessible2Interface (0x7fc38aa6f2a0) 0 nearly-empty
+ primary-for QAccessibleValueInterface (0x7fc38aa6f230)
+
+Vtable for QAccessibleTableInterface
+QAccessibleTableInterface::_ZTV25QAccessibleTableInterface: 30u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI25QAccessibleTableInterface)
+16 QAccessibleTableInterface::~QAccessibleTableInterface
+24 QAccessibleTableInterface::~QAccessibleTableInterface
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+48 __cxa_pure_virtual
+56 __cxa_pure_virtual
+64 __cxa_pure_virtual
+72 __cxa_pure_virtual
+80 __cxa_pure_virtual
+88 __cxa_pure_virtual
+96 __cxa_pure_virtual
+104 __cxa_pure_virtual
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 __cxa_pure_virtual
+136 __cxa_pure_virtual
+144 __cxa_pure_virtual
+152 __cxa_pure_virtual
+160 __cxa_pure_virtual
+168 __cxa_pure_virtual
+176 __cxa_pure_virtual
+184 __cxa_pure_virtual
+192 __cxa_pure_virtual
+200 __cxa_pure_virtual
+208 __cxa_pure_virtual
+216 __cxa_pure_virtual
+224 __cxa_pure_virtual
+232 __cxa_pure_virtual
+
+Class QAccessibleTableInterface
+ size=8 align=8
+ base size=8 base align=8
+QAccessibleTableInterface (0x7fc38aa80070) 0 nearly-empty
+ vptr=((& QAccessibleTableInterface::_ZTV25QAccessibleTableInterface) + 16u)
+ QAccessible2Interface (0x7fc38aa800e0) 0 nearly-empty
+ primary-for QAccessibleTableInterface (0x7fc38aa80070)
+
+Vtable for QAccessibleActionInterface
+QAccessibleActionInterface::_ZTV26QAccessibleActionInterface: 10u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI26QAccessibleActionInterface)
+16 QAccessibleActionInterface::~QAccessibleActionInterface
+24 QAccessibleActionInterface::~QAccessibleActionInterface
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+48 __cxa_pure_virtual
+56 __cxa_pure_virtual
+64 __cxa_pure_virtual
+72 __cxa_pure_virtual
+
+Class QAccessibleActionInterface
+ size=8 align=8
+ base size=8 base align=8
+QAccessibleActionInterface (0x7fc38aa80460) 0 nearly-empty
+ vptr=((& QAccessibleActionInterface::_ZTV26QAccessibleActionInterface) + 16u)
+ QAccessible2Interface (0x7fc38aa804d0) 0 nearly-empty
+ primary-for QAccessibleActionInterface (0x7fc38aa80460)
+
+Vtable for QAccessibleImageInterface
+QAccessibleImageInterface::_ZTV25QAccessibleImageInterface: 7u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI25QAccessibleImageInterface)
+16 QAccessibleImageInterface::~QAccessibleImageInterface
+24 QAccessibleImageInterface::~QAccessibleImageInterface
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+48 __cxa_pure_virtual
+
+Class QAccessibleImageInterface
+ size=8 align=8
+ base size=8 base align=8
+QAccessibleImageInterface (0x7fc38aa80850) 0 nearly-empty
+ vptr=((& QAccessibleImageInterface::_ZTV25QAccessibleImageInterface) + 16u)
+ QAccessible2Interface (0x7fc38aa808c0) 0 nearly-empty
+ primary-for QAccessibleImageInterface (0x7fc38aa80850)
+
+Vtable for QAccessibleBridge
+QAccessibleBridge::_ZTV17QAccessibleBridge: 6u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QAccessibleBridge)
+16 QAccessibleBridge::~QAccessibleBridge
+24 QAccessibleBridge::~QAccessibleBridge
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+
+Class QAccessibleBridge
+ size=8 align=8
+ base size=8 base align=8
+QAccessibleBridge (0x7fc38aa80c40) 0 nearly-empty
+ vptr=((& QAccessibleBridge::_ZTV17QAccessibleBridge) + 16u)
+
+Vtable for QAccessibleBridgeFactoryInterface
+QAccessibleBridgeFactoryInterface::_ZTV33QAccessibleBridgeFactoryInterface: 6u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI33QAccessibleBridgeFactoryInterface)
+16 QAccessibleBridgeFactoryInterface::~QAccessibleBridgeFactoryInterface
+24 QAccessibleBridgeFactoryInterface::~QAccessibleBridgeFactoryInterface
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+
+Class QAccessibleBridgeFactoryInterface
+ size=8 align=8
+ base size=8 base align=8
+QAccessibleBridgeFactoryInterface (0x7fc38aa9a540) 0 nearly-empty
+ vptr=((& QAccessibleBridgeFactoryInterface::_ZTV33QAccessibleBridgeFactoryInterface) + 16u)
+ QFactoryInterface (0x7fc38aa9a5b0) 0 nearly-empty
+ primary-for QAccessibleBridgeFactoryInterface (0x7fc38aa9a540)
+
+Vtable for QAccessibleBridgePlugin
+QAccessibleBridgePlugin::_ZTV23QAccessibleBridgePlugin: 22u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI23QAccessibleBridgePlugin)
+16 QAccessibleBridgePlugin::metaObject
+24 QAccessibleBridgePlugin::qt_metacast
+32 QAccessibleBridgePlugin::qt_metacall
+40 QAccessibleBridgePlugin::~QAccessibleBridgePlugin
+48 QAccessibleBridgePlugin::~QAccessibleBridgePlugin
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 (int (*)(...))-0x00000000000000010
+136 (int (*)(...))(& _ZTI23QAccessibleBridgePlugin)
+144 QAccessibleBridgePlugin::_ZThn16_N23QAccessibleBridgePluginD1Ev
+152 QAccessibleBridgePlugin::_ZThn16_N23QAccessibleBridgePluginD0Ev
+160 __cxa_pure_virtual
+168 __cxa_pure_virtual
+
+Class QAccessibleBridgePlugin
+ size=24 align=8
+ base size=24 base align=8
+QAccessibleBridgePlugin (0x7fc38aaa5580) 0
+ vptr=((& QAccessibleBridgePlugin::_ZTV23QAccessibleBridgePlugin) + 16u)
+ QObject (0x7fc38aa9a620) 0
+ primary-for QAccessibleBridgePlugin (0x7fc38aaa5580)
+ QAccessibleBridgeFactoryInterface (0x7fc38a8aa000) 16 nearly-empty
+ vptr=((& QAccessibleBridgePlugin::_ZTV23QAccessibleBridgePlugin) + 144u)
+ QFactoryInterface (0x7fc38a8aa070) 16 nearly-empty
+ primary-for QAccessibleBridgeFactoryInterface (0x7fc38a8aa000)
+
+Vtable for QAccessibleObject
+QAccessibleObject::_ZTV17QAccessibleObject: 19u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QAccessibleObject)
+16 QAccessibleObject::~QAccessibleObject
+24 QAccessibleObject::~QAccessibleObject
+32 QAccessibleObject::isValid
+40 QAccessibleObject::object
+48 __cxa_pure_virtual
+56 __cxa_pure_virtual
+64 __cxa_pure_virtual
+72 __cxa_pure_virtual
+80 __cxa_pure_virtual
+88 __cxa_pure_virtual
+96 QAccessibleObject::setText
+104 QAccessibleObject::rect
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 QAccessibleObject::userActionCount
+136 QAccessibleObject::actionText
+144 QAccessibleObject::doAction
+
+Class QAccessibleObject
+ size=16 align=8
+ base size=16 base align=8
+QAccessibleObject (0x7fc38a8aaf50) 0
+ vptr=((& QAccessibleObject::_ZTV17QAccessibleObject) + 16u)
+ QAccessibleInterface (0x7fc38a8aa310) 0 nearly-empty
+ primary-for QAccessibleObject (0x7fc38a8aaf50)
+ QAccessible (0x7fc38a8bb000) 0 empty
+
+Vtable for QAccessibleObjectEx
+QAccessibleObjectEx::_ZTV19QAccessibleObjectEx: 22u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QAccessibleObjectEx)
+16 QAccessibleObjectEx::~QAccessibleObjectEx
+24 QAccessibleObjectEx::~QAccessibleObjectEx
+32 QAccessibleObjectEx::isValid
+40 QAccessibleObjectEx::object
+48 __cxa_pure_virtual
+56 __cxa_pure_virtual
+64 __cxa_pure_virtual
+72 __cxa_pure_virtual
+80 __cxa_pure_virtual
+88 __cxa_pure_virtual
+96 QAccessibleObjectEx::setText
+104 QAccessibleObjectEx::rect
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 QAccessibleObjectEx::userActionCount
+136 QAccessibleObjectEx::actionText
+144 QAccessibleObjectEx::doAction
+152 __cxa_pure_virtual
+160 QAccessibleInterfaceEx::virtual_hook
+168 QAccessibleInterfaceEx::interface_cast
+
+Class QAccessibleObjectEx
+ size=16 align=8
+ base size=16 base align=8
+QAccessibleObjectEx (0x7fc38a8bb700) 0
+ vptr=((& QAccessibleObjectEx::_ZTV19QAccessibleObjectEx) + 16u)
+ QAccessibleInterfaceEx (0x7fc38a8bb770) 0 nearly-empty
+ primary-for QAccessibleObjectEx (0x7fc38a8bb700)
+ QAccessibleInterface (0x7fc38a8bb7e0) 0 nearly-empty
+ primary-for QAccessibleInterfaceEx (0x7fc38a8bb770)
+ QAccessible (0x7fc38a8bb850) 0 empty
+
+Vtable for QAccessibleApplication
+QAccessibleApplication::_ZTV22QAccessibleApplication: 19u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI22QAccessibleApplication)
+16 QAccessibleApplication::~QAccessibleApplication
+24 QAccessibleApplication::~QAccessibleApplication
+32 QAccessibleObject::isValid
+40 QAccessibleObject::object
+48 QAccessibleApplication::childCount
+56 QAccessibleApplication::indexOfChild
+64 QAccessibleApplication::relationTo
+72 QAccessibleApplication::childAt
+80 QAccessibleApplication::navigate
+88 QAccessibleApplication::text
+96 QAccessibleObject::setText
+104 QAccessibleObject::rect
+112 QAccessibleApplication::role
+120 QAccessibleApplication::state
+128 QAccessibleApplication::userActionCount
+136 QAccessibleApplication::actionText
+144 QAccessibleApplication::doAction
+
+Class QAccessibleApplication
+ size=16 align=8
+ base size=16 base align=8
+QAccessibleApplication (0x7fc38a8bbf50) 0
+ vptr=((& QAccessibleApplication::_ZTV22QAccessibleApplication) + 16u)
+ QAccessibleObject (0x7fc38a8bb690) 0
+ primary-for QAccessibleApplication (0x7fc38a8bbf50)
+ QAccessibleInterface (0x7fc38a8bbee0) 0 nearly-empty
+ primary-for QAccessibleObject (0x7fc38a8bb690)
+ QAccessible (0x7fc38a8cd000) 0 empty
+
+Vtable for QAccessibleFactoryInterface
+QAccessibleFactoryInterface::_ZTV27QAccessibleFactoryInterface: 6u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI27QAccessibleFactoryInterface)
+16 QAccessibleFactoryInterface::~QAccessibleFactoryInterface
+24 QAccessibleFactoryInterface::~QAccessibleFactoryInterface
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+
+Class QAccessibleFactoryInterface
+ size=8 align=8
+ base size=8 base align=8
+QAccessibleFactoryInterface (0x7fc38aaa5e00) 0 nearly-empty
+ vptr=((& QAccessibleFactoryInterface::_ZTV27QAccessibleFactoryInterface) + 16u)
+ QAccessible (0x7fc38a8cd8c0) 0 empty
+ QFactoryInterface (0x7fc38a8cd930) 0 nearly-empty
+ primary-for QAccessibleFactoryInterface (0x7fc38aaa5e00)
+
+Vtable for QAccessiblePlugin
+QAccessiblePlugin::_ZTV17QAccessiblePlugin: 22u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QAccessiblePlugin)
+16 QAccessiblePlugin::metaObject
+24 QAccessiblePlugin::qt_metacast
+32 QAccessiblePlugin::qt_metacall
+40 QAccessiblePlugin::~QAccessiblePlugin
+48 QAccessiblePlugin::~QAccessiblePlugin
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 (int (*)(...))-0x00000000000000010
+136 (int (*)(...))(& _ZTI17QAccessiblePlugin)
+144 QAccessiblePlugin::_ZThn16_N17QAccessiblePluginD1Ev
+152 QAccessiblePlugin::_ZThn16_N17QAccessiblePluginD0Ev
+160 __cxa_pure_virtual
+168 __cxa_pure_virtual
+
+Class QAccessiblePlugin
+ size=24 align=8
+ base size=24 base align=8
+QAccessiblePlugin (0x7fc38a8d8800) 0
+ vptr=((& QAccessiblePlugin::_ZTV17QAccessiblePlugin) + 16u)
+ QObject (0x7fc38a8df2a0) 0
+ primary-for QAccessiblePlugin (0x7fc38a8d8800)
+ QAccessibleFactoryInterface (0x7fc38a8d8880) 16 nearly-empty
+ vptr=((& QAccessiblePlugin::_ZTV17QAccessiblePlugin) + 144u)
+ QAccessible (0x7fc38a8df310) 16 empty
+ QFactoryInterface (0x7fc38a8df380) 16 nearly-empty
+ primary-for QAccessibleFactoryInterface (0x7fc38a8d8880)
+
+Vtable for QAccessibleWidget
+QAccessibleWidget::_ZTV17QAccessibleWidget: 19u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QAccessibleWidget)
+16 QAccessibleWidget::~QAccessibleWidget
+24 QAccessibleWidget::~QAccessibleWidget
+32 QAccessibleObject::isValid
+40 QAccessibleObject::object
+48 QAccessibleWidget::childCount
+56 QAccessibleWidget::indexOfChild
+64 QAccessibleWidget::relationTo
+72 QAccessibleWidget::childAt
+80 QAccessibleWidget::navigate
+88 QAccessibleWidget::text
+96 QAccessibleObject::setText
+104 QAccessibleWidget::rect
+112 QAccessibleWidget::role
+120 QAccessibleWidget::state
+128 QAccessibleWidget::userActionCount
+136 QAccessibleWidget::actionText
+144 QAccessibleWidget::doAction
+
+Class QAccessibleWidget
+ size=24 align=8
+ base size=24 base align=8
+QAccessibleWidget (0x7fc38a8ef310) 0
+ vptr=((& QAccessibleWidget::_ZTV17QAccessibleWidget) + 16u)
+ QAccessibleObject (0x7fc38a8ef380) 0
+ primary-for QAccessibleWidget (0x7fc38a8ef310)
+ QAccessibleInterface (0x7fc38a8ef3f0) 0 nearly-empty
+ primary-for QAccessibleObject (0x7fc38a8ef380)
+ QAccessible (0x7fc38a8ef460) 0 empty
+
+Vtable for QAccessibleWidgetEx
+QAccessibleWidgetEx::_ZTV19QAccessibleWidgetEx: 22u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QAccessibleWidgetEx)
+16 QAccessibleWidgetEx::~QAccessibleWidgetEx
+24 QAccessibleWidgetEx::~QAccessibleWidgetEx
+32 QAccessibleObjectEx::isValid
+40 QAccessibleObjectEx::object
+48 QAccessibleWidgetEx::childCount
+56 QAccessibleWidgetEx::indexOfChild
+64 QAccessibleWidgetEx::relationTo
+72 QAccessibleWidgetEx::childAt
+80 QAccessibleWidgetEx::navigate
+88 QAccessibleWidgetEx::text
+96 QAccessibleObjectEx::setText
+104 QAccessibleWidgetEx::rect
+112 QAccessibleWidgetEx::role
+120 QAccessibleWidgetEx::state
+128 QAccessibleObjectEx::userActionCount
+136 QAccessibleWidgetEx::actionText
+144 QAccessibleWidgetEx::doAction
+152 QAccessibleWidgetEx::invokeMethodEx
+160 QAccessibleInterfaceEx::virtual_hook
+168 QAccessibleInterfaceEx::interface_cast
+
+Class QAccessibleWidgetEx
+ size=24 align=8
+ base size=24 base align=8
+QAccessibleWidgetEx (0x7fc38a8fb3f0) 0
+ vptr=((& QAccessibleWidgetEx::_ZTV19QAccessibleWidgetEx) + 16u)
+ QAccessibleObjectEx (0x7fc38a8fb460) 0
+ primary-for QAccessibleWidgetEx (0x7fc38a8fb3f0)
+ QAccessibleInterfaceEx (0x7fc38a8fb4d0) 0 nearly-empty
+ primary-for QAccessibleObjectEx (0x7fc38a8fb460)
+ QAccessibleInterface (0x7fc38a8fb540) 0 nearly-empty
+ primary-for QAccessibleInterfaceEx (0x7fc38a8fb4d0)
+ QAccessible (0x7fc38a8fb5b0) 0 empty
+
+Vtable for QAction
+QAction::_ZTV7QAction: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QAction)
+16 QAction::metaObject
+24 QAction::qt_metacast
+32 QAction::qt_metacall
+40 QAction::~QAction
+48 QAction::~QAction
+56 QAction::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QAction
+ size=16 align=8
+ base size=16 base align=8
+QAction (0x7fc38a909540) 0
+ vptr=((& QAction::_ZTV7QAction) + 16u)
+ QObject (0x7fc38a9095b0) 0
+ primary-for QAction (0x7fc38a909540)
+
+Vtable for QActionGroup
+QActionGroup::_ZTV12QActionGroup: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QActionGroup)
+16 QActionGroup::metaObject
+24 QActionGroup::qt_metacast
+32 QActionGroup::qt_metacall
+40 QActionGroup::~QActionGroup
+48 QActionGroup::~QActionGroup
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QActionGroup
+ size=16 align=8
+ base size=16 base align=8
+QActionGroup (0x7fc38a952070) 0
+ vptr=((& QActionGroup::_ZTV12QActionGroup) + 16u)
+ QObject (0x7fc38a9520e0) 0
+ primary-for QActionGroup (0x7fc38a952070)
+
+Vtable for QApplication
+QApplication::_ZTV12QApplication: 20u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QApplication)
+16 QApplication::metaObject
+24 QApplication::qt_metacast
+32 QApplication::qt_metacall
+40 QApplication::~QApplication
+48 QApplication::~QApplication
+56 QApplication::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QApplication::notify
+120 QApplication::compressEvent
+128 QApplication::x11EventFilter
+136 QApplication::x11ClientMessage
+144 QApplication::commitData
+152 QApplication::saveState
+
+Class QApplication
+ size=16 align=8
+ base size=16 base align=8
+QApplication (0x7fc38a995460) 0
+ vptr=((& QApplication::_ZTV12QApplication) + 16u)
+ QCoreApplication (0x7fc38a9954d0) 0
+ primary-for QApplication (0x7fc38a995460)
+ QObject (0x7fc38a995540) 0
+ primary-for QCoreApplication (0x7fc38a9954d0)
+
+Vtable for QLayoutItem
+QLayoutItem::_ZTV11QLayoutItem: 18u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QLayoutItem)
+16 QLayoutItem::~QLayoutItem
+24 QLayoutItem::~QLayoutItem
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+48 __cxa_pure_virtual
+56 __cxa_pure_virtual
+64 __cxa_pure_virtual
+72 __cxa_pure_virtual
+80 __cxa_pure_virtual
+88 QLayoutItem::hasHeightForWidth
+96 QLayoutItem::heightForWidth
+104 QLayoutItem::minimumHeightForWidth
+112 QLayoutItem::invalidate
+120 QLayoutItem::widget
+128 QLayoutItem::layout
+136 QLayoutItem::spacerItem
+
+Class QLayoutItem
+ size=16 align=8
+ base size=12 base align=8
+QLayoutItem (0x7fc38a7e70e0) 0
+ vptr=((& QLayoutItem::_ZTV11QLayoutItem) + 16u)
+
+Vtable for QSpacerItem
+QSpacerItem::_ZTV11QSpacerItem: 18u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QSpacerItem)
+16 QSpacerItem::~QSpacerItem
+24 QSpacerItem::~QSpacerItem
+32 QSpacerItem::sizeHint
+40 QSpacerItem::minimumSize
+48 QSpacerItem::maximumSize
+56 QSpacerItem::expandingDirections
+64 QSpacerItem::setGeometry
+72 QSpacerItem::geometry
+80 QSpacerItem::isEmpty
+88 QLayoutItem::hasHeightForWidth
+96 QLayoutItem::heightForWidth
+104 QLayoutItem::minimumHeightForWidth
+112 QLayoutItem::invalidate
+120 QLayoutItem::widget
+128 QLayoutItem::layout
+136 QSpacerItem::spacerItem
+
+Class QSpacerItem
+ size=40 align=8
+ base size=40 base align=8
+QSpacerItem (0x7fc38a7e7cb0) 0
+ vptr=((& QSpacerItem::_ZTV11QSpacerItem) + 16u)
+ QLayoutItem (0x7fc38a7e7d20) 0
+ primary-for QSpacerItem (0x7fc38a7e7cb0)
+
+Vtable for QWidgetItem
+QWidgetItem::_ZTV11QWidgetItem: 18u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QWidgetItem)
+16 QWidgetItem::~QWidgetItem
+24 QWidgetItem::~QWidgetItem
+32 QWidgetItem::sizeHint
+40 QWidgetItem::minimumSize
+48 QWidgetItem::maximumSize
+56 QWidgetItem::expandingDirections
+64 QWidgetItem::setGeometry
+72 QWidgetItem::geometry
+80 QWidgetItem::isEmpty
+88 QWidgetItem::hasHeightForWidth
+96 QWidgetItem::heightForWidth
+104 QLayoutItem::minimumHeightForWidth
+112 QLayoutItem::invalidate
+120 QWidgetItem::widget
+128 QLayoutItem::layout
+136 QLayoutItem::spacerItem
+
+Class QWidgetItem
+ size=24 align=8
+ base size=24 base align=8
+QWidgetItem (0x7fc38a8031c0) 0
+ vptr=((& QWidgetItem::_ZTV11QWidgetItem) + 16u)
+ QLayoutItem (0x7fc38a803230) 0
+ primary-for QWidgetItem (0x7fc38a8031c0)
+
+Vtable for QWidgetItemV2
+QWidgetItemV2::_ZTV13QWidgetItemV2: 18u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QWidgetItemV2)
+16 QWidgetItemV2::~QWidgetItemV2
+24 QWidgetItemV2::~QWidgetItemV2
+32 QWidgetItemV2::sizeHint
+40 QWidgetItemV2::minimumSize
+48 QWidgetItemV2::maximumSize
+56 QWidgetItem::expandingDirections
+64 QWidgetItem::setGeometry
+72 QWidgetItem::geometry
+80 QWidgetItem::isEmpty
+88 QWidgetItem::hasHeightForWidth
+96 QWidgetItemV2::heightForWidth
+104 QLayoutItem::minimumHeightForWidth
+112 QLayoutItem::invalidate
+120 QWidgetItem::widget
+128 QLayoutItem::layout
+136 QLayoutItem::spacerItem
+
+Class QWidgetItemV2
+ size=88 align=8
+ base size=88 base align=8
+QWidgetItemV2 (0x7fc38a815000) 0
+ vptr=((& QWidgetItemV2::_ZTV13QWidgetItemV2) + 16u)
+ QWidgetItem (0x7fc38a815070) 0
+ primary-for QWidgetItemV2 (0x7fc38a815000)
+ QLayoutItem (0x7fc38a8150e0) 0
+ primary-for QWidgetItem (0x7fc38a815070)
+
+Class QLayoutIterator
+ size=16 align=8
+ base size=12 base align=8
+QLayoutIterator (0x7fc38a815e70) 0
+
+Vtable for QLayout
+QLayout::_ZTV7QLayout: 45u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QLayout)
+16 QLayout::metaObject
+24 QLayout::qt_metacast
+32 QLayout::qt_metacall
+40 QLayout::~QLayout
+48 QLayout::~QLayout
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QLayout::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QLayout::invalidate
+120 QLayout::geometry
+128 __cxa_pure_virtual
+136 QLayout::expandingDirections
+144 QLayout::minimumSize
+152 QLayout::maximumSize
+160 QLayout::setGeometry
+168 __cxa_pure_virtual
+176 __cxa_pure_virtual
+184 QLayout::indexOf
+192 __cxa_pure_virtual
+200 QLayout::isEmpty
+208 QLayout::layout
+216 (int (*)(...))-0x00000000000000010
+224 (int (*)(...))(& _ZTI7QLayout)
+232 QLayout::_ZThn16_N7QLayoutD1Ev
+240 QLayout::_ZThn16_N7QLayoutD0Ev
+248 __cxa_pure_virtual
+256 QLayout::_ZThn16_NK7QLayout11minimumSizeEv
+264 QLayout::_ZThn16_NK7QLayout11maximumSizeEv
+272 QLayout::_ZThn16_NK7QLayout19expandingDirectionsEv
+280 QLayout::_ZThn16_N7QLayout11setGeometryERK5QRect
+288 QLayout::_ZThn16_NK7QLayout8geometryEv
+296 QLayout::_ZThn16_NK7QLayout7isEmptyEv
+304 QLayoutItem::hasHeightForWidth
+312 QLayoutItem::heightForWidth
+320 QLayoutItem::minimumHeightForWidth
+328 QLayout::_ZThn16_N7QLayout10invalidateEv
+336 QLayoutItem::widget
+344 QLayout::_ZThn16_N7QLayout6layoutEv
+352 QLayoutItem::spacerItem
+
+Class QLayout
+ size=32 align=8
+ base size=28 base align=8
+QLayout (0x7fc38a828380) 0
+ vptr=((& QLayout::_ZTV7QLayout) + 16u)
+ QObject (0x7fc38a827f50) 0
+ primary-for QLayout (0x7fc38a828380)
+ QLayoutItem (0x7fc38a82b000) 16
+ vptr=((& QLayout::_ZTV7QLayout) + 232u)
+
+Vtable for QGridLayout
+QGridLayout::_ZTV11QGridLayout: 49u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QGridLayout)
+16 QGridLayout::metaObject
+24 QGridLayout::qt_metacast
+32 QGridLayout::qt_metacall
+40 QGridLayout::~QGridLayout
+48 QGridLayout::~QGridLayout
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QLayout::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QGridLayout::invalidate
+120 QLayout::geometry
+128 QGridLayout::addItem
+136 QGridLayout::expandingDirections
+144 QGridLayout::minimumSize
+152 QGridLayout::maximumSize
+160 QGridLayout::setGeometry
+168 QGridLayout::itemAt
+176 QGridLayout::takeAt
+184 QLayout::indexOf
+192 QGridLayout::count
+200 QLayout::isEmpty
+208 QLayout::layout
+216 QGridLayout::sizeHint
+224 QGridLayout::hasHeightForWidth
+232 QGridLayout::heightForWidth
+240 QGridLayout::minimumHeightForWidth
+248 (int (*)(...))-0x00000000000000010
+256 (int (*)(...))(& _ZTI11QGridLayout)
+264 QGridLayout::_ZThn16_N11QGridLayoutD1Ev
+272 QGridLayout::_ZThn16_N11QGridLayoutD0Ev
+280 QGridLayout::_ZThn16_NK11QGridLayout8sizeHintEv
+288 QGridLayout::_ZThn16_NK11QGridLayout11minimumSizeEv
+296 QGridLayout::_ZThn16_NK11QGridLayout11maximumSizeEv
+304 QGridLayout::_ZThn16_NK11QGridLayout19expandingDirectionsEv
+312 QGridLayout::_ZThn16_N11QGridLayout11setGeometryERK5QRect
+320 QLayout::_ZThn16_NK7QLayout8geometryEv
+328 QLayout::_ZThn16_NK7QLayout7isEmptyEv
+336 QGridLayout::_ZThn16_NK11QGridLayout17hasHeightForWidthEv
+344 QGridLayout::_ZThn16_NK11QGridLayout14heightForWidthEi
+352 QGridLayout::_ZThn16_NK11QGridLayout21minimumHeightForWidthEi
+360 QGridLayout::_ZThn16_N11QGridLayout10invalidateEv
+368 QLayoutItem::widget
+376 QLayout::_ZThn16_N7QLayout6layoutEv
+384 QLayoutItem::spacerItem
+
+Class QGridLayout
+ size=32 align=8
+ base size=28 base align=8
+QGridLayout (0x7fc38a86a4d0) 0
+ vptr=((& QGridLayout::_ZTV11QGridLayout) + 16u)
+ QLayout (0x7fc38a866500) 0
+ primary-for QGridLayout (0x7fc38a86a4d0)
+ QObject (0x7fc38a86a540) 0
+ primary-for QLayout (0x7fc38a866500)
+ QLayoutItem (0x7fc38a86a5b0) 16
+ vptr=((& QGridLayout::_ZTV11QGridLayout) + 264u)
+
+Vtable for QBoxLayout
+QBoxLayout::_ZTV10QBoxLayout: 49u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QBoxLayout)
+16 QBoxLayout::metaObject
+24 QBoxLayout::qt_metacast
+32 QBoxLayout::qt_metacall
+40 QBoxLayout::~QBoxLayout
+48 QBoxLayout::~QBoxLayout
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QLayout::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QBoxLayout::invalidate
+120 QLayout::geometry
+128 QBoxLayout::addItem
+136 QBoxLayout::expandingDirections
+144 QBoxLayout::minimumSize
+152 QBoxLayout::maximumSize
+160 QBoxLayout::setGeometry
+168 QBoxLayout::itemAt
+176 QBoxLayout::takeAt
+184 QLayout::indexOf
+192 QBoxLayout::count
+200 QLayout::isEmpty
+208 QLayout::layout
+216 QBoxLayout::sizeHint
+224 QBoxLayout::hasHeightForWidth
+232 QBoxLayout::heightForWidth
+240 QBoxLayout::minimumHeightForWidth
+248 (int (*)(...))-0x00000000000000010
+256 (int (*)(...))(& _ZTI10QBoxLayout)
+264 QBoxLayout::_ZThn16_N10QBoxLayoutD1Ev
+272 QBoxLayout::_ZThn16_N10QBoxLayoutD0Ev
+280 QBoxLayout::_ZThn16_NK10QBoxLayout8sizeHintEv
+288 QBoxLayout::_ZThn16_NK10QBoxLayout11minimumSizeEv
+296 QBoxLayout::_ZThn16_NK10QBoxLayout11maximumSizeEv
+304 QBoxLayout::_ZThn16_NK10QBoxLayout19expandingDirectionsEv
+312 QBoxLayout::_ZThn16_N10QBoxLayout11setGeometryERK5QRect
+320 QLayout::_ZThn16_NK7QLayout8geometryEv
+328 QLayout::_ZThn16_NK7QLayout7isEmptyEv
+336 QBoxLayout::_ZThn16_NK10QBoxLayout17hasHeightForWidthEv
+344 QBoxLayout::_ZThn16_NK10QBoxLayout14heightForWidthEi
+352 QBoxLayout::_ZThn16_NK10QBoxLayout21minimumHeightForWidthEi
+360 QBoxLayout::_ZThn16_N10QBoxLayout10invalidateEv
+368 QLayoutItem::widget
+376 QLayout::_ZThn16_N7QLayout6layoutEv
+384 QLayoutItem::spacerItem
+
+Class QBoxLayout
+ size=32 align=8
+ base size=28 base align=8
+QBoxLayout (0x7fc38a6b5540) 0
+ vptr=((& QBoxLayout::_ZTV10QBoxLayout) + 16u)
+ QLayout (0x7fc38a6b4400) 0
+ primary-for QBoxLayout (0x7fc38a6b5540)
+ QObject (0x7fc38a6b55b0) 0
+ primary-for QLayout (0x7fc38a6b4400)
+ QLayoutItem (0x7fc38a6b5620) 16
+ vptr=((& QBoxLayout::_ZTV10QBoxLayout) + 264u)
+
+Vtable for QHBoxLayout
+QHBoxLayout::_ZTV11QHBoxLayout: 49u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QHBoxLayout)
+16 QHBoxLayout::metaObject
+24 QHBoxLayout::qt_metacast
+32 QHBoxLayout::qt_metacall
+40 QHBoxLayout::~QHBoxLayout
+48 QHBoxLayout::~QHBoxLayout
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QLayout::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QBoxLayout::invalidate
+120 QLayout::geometry
+128 QBoxLayout::addItem
+136 QBoxLayout::expandingDirections
+144 QBoxLayout::minimumSize
+152 QBoxLayout::maximumSize
+160 QBoxLayout::setGeometry
+168 QBoxLayout::itemAt
+176 QBoxLayout::takeAt
+184 QLayout::indexOf
+192 QBoxLayout::count
+200 QLayout::isEmpty
+208 QLayout::layout
+216 QBoxLayout::sizeHint
+224 QBoxLayout::hasHeightForWidth
+232 QBoxLayout::heightForWidth
+240 QBoxLayout::minimumHeightForWidth
+248 (int (*)(...))-0x00000000000000010
+256 (int (*)(...))(& _ZTI11QHBoxLayout)
+264 QHBoxLayout::_ZThn16_N11QHBoxLayoutD1Ev
+272 QHBoxLayout::_ZThn16_N11QHBoxLayoutD0Ev
+280 QBoxLayout::_ZThn16_NK10QBoxLayout8sizeHintEv
+288 QBoxLayout::_ZThn16_NK10QBoxLayout11minimumSizeEv
+296 QBoxLayout::_ZThn16_NK10QBoxLayout11maximumSizeEv
+304 QBoxLayout::_ZThn16_NK10QBoxLayout19expandingDirectionsEv
+312 QBoxLayout::_ZThn16_N10QBoxLayout11setGeometryERK5QRect
+320 QLayout::_ZThn16_NK7QLayout8geometryEv
+328 QLayout::_ZThn16_NK7QLayout7isEmptyEv
+336 QBoxLayout::_ZThn16_NK10QBoxLayout17hasHeightForWidthEv
+344 QBoxLayout::_ZThn16_NK10QBoxLayout14heightForWidthEi
+352 QBoxLayout::_ZThn16_NK10QBoxLayout21minimumHeightForWidthEi
+360 QBoxLayout::_ZThn16_N10QBoxLayout10invalidateEv
+368 QLayoutItem::widget
+376 QLayout::_ZThn16_N7QLayout6layoutEv
+384 QLayoutItem::spacerItem
+
+Class QHBoxLayout
+ size=32 align=8
+ base size=28 base align=8
+QHBoxLayout (0x7fc38a6d9f50) 0
+ vptr=((& QHBoxLayout::_ZTV11QHBoxLayout) + 16u)
+ QBoxLayout (0x7fc38a6e3000) 0
+ primary-for QHBoxLayout (0x7fc38a6d9f50)
+ QLayout (0x7fc38a6e1280) 0
+ primary-for QBoxLayout (0x7fc38a6e3000)
+ QObject (0x7fc38a6e3070) 0
+ primary-for QLayout (0x7fc38a6e1280)
+ QLayoutItem (0x7fc38a6e30e0) 16
+ vptr=((& QHBoxLayout::_ZTV11QHBoxLayout) + 264u)
+
+Vtable for QVBoxLayout
+QVBoxLayout::_ZTV11QVBoxLayout: 49u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QVBoxLayout)
+16 QVBoxLayout::metaObject
+24 QVBoxLayout::qt_metacast
+32 QVBoxLayout::qt_metacall
+40 QVBoxLayout::~QVBoxLayout
+48 QVBoxLayout::~QVBoxLayout
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QLayout::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QBoxLayout::invalidate
+120 QLayout::geometry
+128 QBoxLayout::addItem
+136 QBoxLayout::expandingDirections
+144 QBoxLayout::minimumSize
+152 QBoxLayout::maximumSize
+160 QBoxLayout::setGeometry
+168 QBoxLayout::itemAt
+176 QBoxLayout::takeAt
+184 QLayout::indexOf
+192 QBoxLayout::count
+200 QLayout::isEmpty
+208 QLayout::layout
+216 QBoxLayout::sizeHint
+224 QBoxLayout::hasHeightForWidth
+232 QBoxLayout::heightForWidth
+240 QBoxLayout::minimumHeightForWidth
+248 (int (*)(...))-0x00000000000000010
+256 (int (*)(...))(& _ZTI11QVBoxLayout)
+264 QVBoxLayout::_ZThn16_N11QVBoxLayoutD1Ev
+272 QVBoxLayout::_ZThn16_N11QVBoxLayoutD0Ev
+280 QBoxLayout::_ZThn16_NK10QBoxLayout8sizeHintEv
+288 QBoxLayout::_ZThn16_NK10QBoxLayout11minimumSizeEv
+296 QBoxLayout::_ZThn16_NK10QBoxLayout11maximumSizeEv
+304 QBoxLayout::_ZThn16_NK10QBoxLayout19expandingDirectionsEv
+312 QBoxLayout::_ZThn16_N10QBoxLayout11setGeometryERK5QRect
+320 QLayout::_ZThn16_NK7QLayout8geometryEv
+328 QLayout::_ZThn16_NK7QLayout7isEmptyEv
+336 QBoxLayout::_ZThn16_NK10QBoxLayout17hasHeightForWidthEv
+344 QBoxLayout::_ZThn16_NK10QBoxLayout14heightForWidthEi
+352 QBoxLayout::_ZThn16_NK10QBoxLayout21minimumHeightForWidthEi
+360 QBoxLayout::_ZThn16_N10QBoxLayout10invalidateEv
+368 QLayoutItem::widget
+376 QLayout::_ZThn16_N7QLayout6layoutEv
+384 QLayoutItem::spacerItem
+
+Class QVBoxLayout
+ size=32 align=8
+ base size=28 base align=8
+QVBoxLayout (0x7fc38a6f75b0) 0
+ vptr=((& QVBoxLayout::_ZTV11QVBoxLayout) + 16u)
+ QBoxLayout (0x7fc38a6f7620) 0
+ primary-for QVBoxLayout (0x7fc38a6f75b0)
+ QLayout (0x7fc38a6e1980) 0
+ primary-for QBoxLayout (0x7fc38a6f7620)
+ QObject (0x7fc38a6f7690) 0
+ primary-for QLayout (0x7fc38a6e1980)
+ QLayoutItem (0x7fc38a6f7700) 16
+ vptr=((& QVBoxLayout::_ZTV11QVBoxLayout) + 264u)
+
+Vtable for QClipboard
+QClipboard::_ZTV10QClipboard: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QClipboard)
+16 QClipboard::metaObject
+24 QClipboard::qt_metacast
+32 QClipboard::qt_metacall
+40 QClipboard::~QClipboard
+48 QClipboard::~QClipboard
+56 QClipboard::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QClipboard::connectNotify
+104 QObject::disconnectNotify
+
+Class QClipboard
+ size=16 align=8
+ base size=16 base align=8
+QClipboard (0x7fc38a708c40) 0
+ vptr=((& QClipboard::_ZTV10QClipboard) + 16u)
+ QObject (0x7fc38a708cb0) 0
+ primary-for QClipboard (0x7fc38a708c40)
+
+Vtable for QDesktopWidget
+QDesktopWidget::_ZTV14QDesktopWidget: 63u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QDesktopWidget)
+16 QDesktopWidget::metaObject
+24 QDesktopWidget::qt_metacast
+32 QDesktopWidget::qt_metacall
+40 QDesktopWidget::~QDesktopWidget
+48 QDesktopWidget::~QDesktopWidget
+56 QWidget::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QWidget::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QWidget::paintEvent
+256 QWidget::moveEvent
+264 QDesktopWidget::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QWidget::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 (int (*)(...))-0x00000000000000010
+456 (int (*)(...))(& _ZTI14QDesktopWidget)
+464 QDesktopWidget::_ZThn16_N14QDesktopWidgetD1Ev
+472 QDesktopWidget::_ZThn16_N14QDesktopWidgetD0Ev
+480 QWidget::_ZThn16_NK7QWidget7devTypeEv
+488 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+496 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QDesktopWidget
+ size=40 align=8
+ base size=40 base align=8
+QDesktopWidget (0x7fc38a731930) 0
+ vptr=((& QDesktopWidget::_ZTV14QDesktopWidget) + 16u)
+ QWidget (0x7fc38a711c00) 0
+ primary-for QDesktopWidget (0x7fc38a731930)
+ QObject (0x7fc38a7319a0) 0
+ primary-for QWidget (0x7fc38a711c00)
+ QPaintDevice (0x7fc38a731a10) 16
+ vptr=((& QDesktopWidget::_ZTV14QDesktopWidget) + 464u)
+
+Vtable for QFormLayout
+QFormLayout::_ZTV11QFormLayout: 48u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QFormLayout)
+16 QFormLayout::metaObject
+24 QFormLayout::qt_metacast
+32 QFormLayout::qt_metacall
+40 QFormLayout::~QFormLayout
+48 QFormLayout::~QFormLayout
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QLayout::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QFormLayout::invalidate
+120 QLayout::geometry
+128 QFormLayout::addItem
+136 QFormLayout::expandingDirections
+144 QFormLayout::minimumSize
+152 QLayout::maximumSize
+160 QFormLayout::setGeometry
+168 QFormLayout::itemAt
+176 QFormLayout::takeAt
+184 QLayout::indexOf
+192 QFormLayout::count
+200 QLayout::isEmpty
+208 QLayout::layout
+216 QFormLayout::sizeHint
+224 QFormLayout::hasHeightForWidth
+232 QFormLayout::heightForWidth
+240 (int (*)(...))-0x00000000000000010
+248 (int (*)(...))(& _ZTI11QFormLayout)
+256 QFormLayout::_ZThn16_N11QFormLayoutD1Ev
+264 QFormLayout::_ZThn16_N11QFormLayoutD0Ev
+272 QFormLayout::_ZThn16_NK11QFormLayout8sizeHintEv
+280 QFormLayout::_ZThn16_NK11QFormLayout11minimumSizeEv
+288 QLayout::_ZThn16_NK7QLayout11maximumSizeEv
+296 QFormLayout::_ZThn16_NK11QFormLayout19expandingDirectionsEv
+304 QFormLayout::_ZThn16_N11QFormLayout11setGeometryERK5QRect
+312 QLayout::_ZThn16_NK7QLayout8geometryEv
+320 QLayout::_ZThn16_NK7QLayout7isEmptyEv
+328 QFormLayout::_ZThn16_NK11QFormLayout17hasHeightForWidthEv
+336 QFormLayout::_ZThn16_NK11QFormLayout14heightForWidthEi
+344 QLayoutItem::minimumHeightForWidth
+352 QFormLayout::_ZThn16_N11QFormLayout10invalidateEv
+360 QLayoutItem::widget
+368 QLayout::_ZThn16_N7QLayout6layoutEv
+376 QLayoutItem::spacerItem
+
+Class QFormLayout
+ size=32 align=8
+ base size=28 base align=8
+QFormLayout (0x7fc38a74f9a0) 0
+ vptr=((& QFormLayout::_ZTV11QFormLayout) + 16u)
+ QLayout (0x7fc38a74ab80) 0
+ primary-for QFormLayout (0x7fc38a74f9a0)
+ QObject (0x7fc38a74fa10) 0
+ primary-for QLayout (0x7fc38a74ab80)
+ QLayoutItem (0x7fc38a74fa80) 16
+ vptr=((& QFormLayout::_ZTV11QFormLayout) + 256u)
+
+Vtable for QGesture
+QGesture::_ZTV8QGesture: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI8QGesture)
+16 QGesture::metaObject
+24 QGesture::qt_metacast
+32 QGesture::qt_metacall
+40 QGesture::~QGesture
+48 QGesture::~QGesture
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QGesture
+ size=16 align=8
+ base size=16 base align=8
+QGesture (0x7fc38a785150) 0
+ vptr=((& QGesture::_ZTV8QGesture) + 16u)
+ QObject (0x7fc38a7851c0) 0
+ primary-for QGesture (0x7fc38a785150)
+
+Vtable for QPanGesture
+QPanGesture::_ZTV11QPanGesture: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QPanGesture)
+16 QPanGesture::metaObject
+24 QPanGesture::qt_metacast
+32 QPanGesture::qt_metacall
+40 QPanGesture::~QPanGesture
+48 QPanGesture::~QPanGesture
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QPanGesture
+ size=16 align=8
+ base size=16 base align=8
+QPanGesture (0x7fc38a79e850) 0
+ vptr=((& QPanGesture::_ZTV11QPanGesture) + 16u)
+ QGesture (0x7fc38a79e8c0) 0
+ primary-for QPanGesture (0x7fc38a79e850)
+ QObject (0x7fc38a79e930) 0
+ primary-for QGesture (0x7fc38a79e8c0)
+
+Vtable for QPinchGesture
+QPinchGesture::_ZTV13QPinchGesture: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QPinchGesture)
+16 QPinchGesture::metaObject
+24 QPinchGesture::qt_metacast
+32 QPinchGesture::qt_metacall
+40 QPinchGesture::~QPinchGesture
+48 QPinchGesture::~QPinchGesture
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QPinchGesture
+ size=16 align=8
+ base size=16 base align=8
+QPinchGesture (0x7fc38a5afcb0) 0
+ vptr=((& QPinchGesture::_ZTV13QPinchGesture) + 16u)
+ QGesture (0x7fc38a5afd20) 0
+ primary-for QPinchGesture (0x7fc38a5afcb0)
+ QObject (0x7fc38a5afd90) 0
+ primary-for QGesture (0x7fc38a5afd20)
+
+Vtable for QSwipeGesture
+QSwipeGesture::_ZTV13QSwipeGesture: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QSwipeGesture)
+16 QSwipeGesture::metaObject
+24 QSwipeGesture::qt_metacast
+32 QSwipeGesture::qt_metacall
+40 QSwipeGesture::~QSwipeGesture
+48 QSwipeGesture::~QSwipeGesture
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QSwipeGesture
+ size=16 align=8
+ base size=16 base align=8
+QSwipeGesture (0x7fc38a5d0d20) 0
+ vptr=((& QSwipeGesture::_ZTV13QSwipeGesture) + 16u)
+ QGesture (0x7fc38a5d0d90) 0
+ primary-for QSwipeGesture (0x7fc38a5d0d20)
+ QObject (0x7fc38a5d0e00) 0
+ primary-for QGesture (0x7fc38a5d0d90)
+
+Vtable for QTapGesture
+QTapGesture::_ZTV11QTapGesture: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QTapGesture)
+16 QTapGesture::metaObject
+24 QTapGesture::qt_metacast
+32 QTapGesture::qt_metacall
+40 QTapGesture::~QTapGesture
+48 QTapGesture::~QTapGesture
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QTapGesture
+ size=16 align=8
+ base size=16 base align=8
+QTapGesture (0x7fc38a5ef460) 0
+ vptr=((& QTapGesture::_ZTV11QTapGesture) + 16u)
+ QGesture (0x7fc38a5ef4d0) 0
+ primary-for QTapGesture (0x7fc38a5ef460)
+ QObject (0x7fc38a5ef540) 0
+ primary-for QGesture (0x7fc38a5ef4d0)
+
+Vtable for QTapAndHoldGesture
+QTapAndHoldGesture::_ZTV18QTapAndHoldGesture: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QTapAndHoldGesture)
+16 QTapAndHoldGesture::metaObject
+24 QTapAndHoldGesture::qt_metacast
+32 QTapAndHoldGesture::qt_metacall
+40 QTapAndHoldGesture::~QTapAndHoldGesture
+48 QTapAndHoldGesture::~QTapAndHoldGesture
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QTapAndHoldGesture
+ size=16 align=8
+ base size=16 base align=8
+QTapAndHoldGesture (0x7fc38a5fe8c0) 0
+ vptr=((& QTapAndHoldGesture::_ZTV18QTapAndHoldGesture) + 16u)
+ QGesture (0x7fc38a5fe930) 0
+ primary-for QTapAndHoldGesture (0x7fc38a5fe8c0)
+ QObject (0x7fc38a5fe9a0) 0
+ primary-for QGesture (0x7fc38a5fe930)
+
+Vtable for QGestureRecognizer
+QGestureRecognizer::_ZTV18QGestureRecognizer: 7u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QGestureRecognizer)
+16 QGestureRecognizer::~QGestureRecognizer
+24 QGestureRecognizer::~QGestureRecognizer
+32 QGestureRecognizer::create
+40 __cxa_pure_virtual
+48 QGestureRecognizer::reset
+
+Class QGestureRecognizer
+ size=8 align=8
+ base size=8 base align=8
+QGestureRecognizer (0x7fc38a61a310) 0 nearly-empty
+ vptr=((& QGestureRecognizer::_ZTV18QGestureRecognizer) + 16u)
+
+Vtable for QSessionManager
+QSessionManager::_ZTV15QSessionManager: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QSessionManager)
+16 QSessionManager::metaObject
+24 QSessionManager::qt_metacast
+32 QSessionManager::qt_metacall
+40 QSessionManager::~QSessionManager
+48 QSessionManager::~QSessionManager
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QSessionManager
+ size=16 align=8
+ base size=16 base align=8
+QSessionManager (0x7fc38a651620) 0
+ vptr=((& QSessionManager::_ZTV15QSessionManager) + 16u)
+ QObject (0x7fc38a651690) 0
+ primary-for QSessionManager (0x7fc38a651620)
+
+Vtable for QShortcut
+QShortcut::_ZTV9QShortcut: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QShortcut)
+16 QShortcut::metaObject
+24 QShortcut::qt_metacast
+32 QShortcut::qt_metacall
+40 QShortcut::~QShortcut
+48 QShortcut::~QShortcut
+56 QShortcut::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QShortcut
+ size=16 align=8
+ base size=16 base align=8
+QShortcut (0x7fc38a681b60) 0
+ vptr=((& QShortcut::_ZTV9QShortcut) + 16u)
+ QObject (0x7fc38a681bd0) 0
+ primary-for QShortcut (0x7fc38a681b60)
+
+Vtable for QSound
+QSound::_ZTV6QSound: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI6QSound)
+16 QSound::metaObject
+24 QSound::qt_metacast
+32 QSound::qt_metacall
+40 QSound::~QSound
+48 QSound::~QSound
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QSound
+ size=16 align=8
+ base size=16 base align=8
+QSound (0x7fc38a69d310) 0
+ vptr=((& QSound::_ZTV6QSound) + 16u)
+ QObject (0x7fc38a69d380) 0
+ primary-for QSound (0x7fc38a69d310)
+
+Vtable for QStackedLayout
+QStackedLayout::_ZTV14QStackedLayout: 46u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QStackedLayout)
+16 QStackedLayout::metaObject
+24 QStackedLayout::qt_metacast
+32 QStackedLayout::qt_metacall
+40 QStackedLayout::~QStackedLayout
+48 QStackedLayout::~QStackedLayout
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QLayout::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QLayout::invalidate
+120 QLayout::geometry
+128 QStackedLayout::addItem
+136 QLayout::expandingDirections
+144 QStackedLayout::minimumSize
+152 QLayout::maximumSize
+160 QStackedLayout::setGeometry
+168 QStackedLayout::itemAt
+176 QStackedLayout::takeAt
+184 QLayout::indexOf
+192 QStackedLayout::count
+200 QLayout::isEmpty
+208 QLayout::layout
+216 QStackedLayout::sizeHint
+224 (int (*)(...))-0x00000000000000010
+232 (int (*)(...))(& _ZTI14QStackedLayout)
+240 QStackedLayout::_ZThn16_N14QStackedLayoutD1Ev
+248 QStackedLayout::_ZThn16_N14QStackedLayoutD0Ev
+256 QStackedLayout::_ZThn16_NK14QStackedLayout8sizeHintEv
+264 QStackedLayout::_ZThn16_NK14QStackedLayout11minimumSizeEv
+272 QLayout::_ZThn16_NK7QLayout11maximumSizeEv
+280 QLayout::_ZThn16_NK7QLayout19expandingDirectionsEv
+288 QStackedLayout::_ZThn16_N14QStackedLayout11setGeometryERK5QRect
+296 QLayout::_ZThn16_NK7QLayout8geometryEv
+304 QLayout::_ZThn16_NK7QLayout7isEmptyEv
+312 QLayoutItem::hasHeightForWidth
+320 QLayoutItem::heightForWidth
+328 QLayoutItem::minimumHeightForWidth
+336 QLayout::_ZThn16_N7QLayout10invalidateEv
+344 QLayoutItem::widget
+352 QLayout::_ZThn16_N7QLayout6layoutEv
+360 QLayoutItem::spacerItem
+
+Class QStackedLayout
+ size=32 align=8
+ base size=28 base align=8
+QStackedLayout (0x7fc38a4b2a80) 0
+ vptr=((& QStackedLayout::_ZTV14QStackedLayout) + 16u)
+ QLayout (0x7fc38a4aa880) 0
+ primary-for QStackedLayout (0x7fc38a4b2a80)
+ QObject (0x7fc38a4b2af0) 0
+ primary-for QLayout (0x7fc38a4aa880)
+ QLayoutItem (0x7fc38a4b2b60) 16
+ vptr=((& QStackedLayout::_ZTV14QStackedLayout) + 240u)
+
+Class QToolTip
+ size=1 align=1
+ base size=0 base align=1
+QToolTip (0x7fc38a4d1a80) 0 empty
+
+Class QWhatsThis
+ size=1 align=1
+ base size=0 base align=1
+QWhatsThis (0x7fc38a4df070) 0 empty
+
+Vtable for QWidgetAction
+QWidgetAction::_ZTV13QWidgetAction: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QWidgetAction)
+16 QWidgetAction::metaObject
+24 QWidgetAction::qt_metacast
+32 QWidgetAction::qt_metacall
+40 QWidgetAction::~QWidgetAction
+48 QWidgetAction::~QWidgetAction
+56 QWidgetAction::event
+64 QWidgetAction::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidgetAction::createWidget
+120 QWidgetAction::deleteWidget
+
+Class QWidgetAction
+ size=16 align=8
+ base size=16 base align=8
+QWidgetAction (0x7fc38a4df150) 0
+ vptr=((& QWidgetAction::_ZTV13QWidgetAction) + 16u)
+ QAction (0x7fc38a4df1c0) 0
+ primary-for QWidgetAction (0x7fc38a4df150)
+ QObject (0x7fc38a4df230) 0
+ primary-for QAction (0x7fc38a4df1c0)
+
+Class QVector3D
+ size=12 align=4
+ base size=12 base align=4
+QVector3D (0x7fc38a3ae1c0) 0
+
+Class QVector4D
+ size=16 align=4
+ base size=16 base align=4
+QVector4D (0x7fc38a410cb0) 0
+
+Class QQuaternion
+ size=32 align=8
+ base size=32 base align=8
+QQuaternion (0x7fc38a487d20) 0
+
+Class QMatrix4x4
+ size=136 align=8
+ base size=132 base align=8
+QMatrix4x4 (0x7fc38a305b60) 0
+
+Class QVector2D
+ size=8 align=4
+ base size=8 base align=4
+QVector2D (0x7fc38a152d90) 0
+
+Vtable for QCommonStyle
+QCommonStyle::_ZTV12QCommonStyle: 35u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QCommonStyle)
+16 QCommonStyle::metaObject
+24 QCommonStyle::qt_metacast
+32 QCommonStyle::qt_metacall
+40 QCommonStyle::~QCommonStyle
+48 QCommonStyle::~QCommonStyle
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QCommonStyle::polish
+120 QCommonStyle::unpolish
+128 QCommonStyle::polish
+136 QCommonStyle::unpolish
+144 QCommonStyle::polish
+152 QStyle::itemTextRect
+160 QStyle::itemPixmapRect
+168 QStyle::drawItemText
+176 QStyle::drawItemPixmap
+184 QStyle::standardPalette
+192 QCommonStyle::drawPrimitive
+200 QCommonStyle::drawControl
+208 QCommonStyle::subElementRect
+216 QCommonStyle::drawComplexControl
+224 QCommonStyle::hitTestComplexControl
+232 QCommonStyle::subControlRect
+240 QCommonStyle::pixelMetric
+248 QCommonStyle::sizeFromContents
+256 QCommonStyle::styleHint
+264 QCommonStyle::standardPixmap
+272 QCommonStyle::generatedIconPixmap
+
+Class QCommonStyle
+ size=16 align=8
+ base size=16 base align=8
+QCommonStyle (0x7fc389fb52a0) 0
+ vptr=((& QCommonStyle::_ZTV12QCommonStyle) + 16u)
+ QStyle (0x7fc389fb5310) 0
+ primary-for QCommonStyle (0x7fc389fb52a0)
+ QObject (0x7fc389fb5380) 0
+ primary-for QStyle (0x7fc389fb5310)
+
+Vtable for QMotifStyle
+QMotifStyle::_ZTV11QMotifStyle: 35u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QMotifStyle)
+16 QMotifStyle::metaObject
+24 QMotifStyle::qt_metacast
+32 QMotifStyle::qt_metacall
+40 QMotifStyle::~QMotifStyle
+48 QMotifStyle::~QMotifStyle
+56 QMotifStyle::event
+64 QMotifStyle::eventFilter
+72 QMotifStyle::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QMotifStyle::polish
+120 QMotifStyle::unpolish
+128 QMotifStyle::polish
+136 QMotifStyle::unpolish
+144 QMotifStyle::polish
+152 QStyle::itemTextRect
+160 QStyle::itemPixmapRect
+168 QStyle::drawItemText
+176 QStyle::drawItemPixmap
+184 QMotifStyle::standardPalette
+192 QMotifStyle::drawPrimitive
+200 QMotifStyle::drawControl
+208 QMotifStyle::subElementRect
+216 QMotifStyle::drawComplexControl
+224 QCommonStyle::hitTestComplexControl
+232 QMotifStyle::subControlRect
+240 QMotifStyle::pixelMetric
+248 QMotifStyle::sizeFromContents
+256 QMotifStyle::styleHint
+264 QMotifStyle::standardPixmap
+272 QCommonStyle::generatedIconPixmap
+
+Class QMotifStyle
+ size=32 align=8
+ base size=25 base align=8
+QMotifStyle (0x7fc389fd82a0) 0
+ vptr=((& QMotifStyle::_ZTV11QMotifStyle) + 16u)
+ QCommonStyle (0x7fc389fd8310) 0
+ primary-for QMotifStyle (0x7fc389fd82a0)
+ QStyle (0x7fc389fd8380) 0
+ primary-for QCommonStyle (0x7fc389fd8310)
+ QObject (0x7fc389fd83f0) 0
+ primary-for QStyle (0x7fc389fd8380)
+
+Vtable for QCDEStyle
+QCDEStyle::_ZTV9QCDEStyle: 35u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QCDEStyle)
+16 QCDEStyle::metaObject
+24 QCDEStyle::qt_metacast
+32 QCDEStyle::qt_metacall
+40 QCDEStyle::~QCDEStyle
+48 QCDEStyle::~QCDEStyle
+56 QMotifStyle::event
+64 QMotifStyle::eventFilter
+72 QMotifStyle::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QMotifStyle::polish
+120 QMotifStyle::unpolish
+128 QMotifStyle::polish
+136 QMotifStyle::unpolish
+144 QMotifStyle::polish
+152 QStyle::itemTextRect
+160 QStyle::itemPixmapRect
+168 QStyle::drawItemText
+176 QStyle::drawItemPixmap
+184 QCDEStyle::standardPalette
+192 QCDEStyle::drawPrimitive
+200 QCDEStyle::drawControl
+208 QMotifStyle::subElementRect
+216 QMotifStyle::drawComplexControl
+224 QCommonStyle::hitTestComplexControl
+232 QMotifStyle::subControlRect
+240 QCDEStyle::pixelMetric
+248 QMotifStyle::sizeFromContents
+256 QMotifStyle::styleHint
+264 QMotifStyle::standardPixmap
+272 QCommonStyle::generatedIconPixmap
+
+Class QCDEStyle
+ size=32 align=8
+ base size=25 base align=8
+QCDEStyle (0x7fc38a0011c0) 0
+ vptr=((& QCDEStyle::_ZTV9QCDEStyle) + 16u)
+ QMotifStyle (0x7fc38a001230) 0
+ primary-for QCDEStyle (0x7fc38a0011c0)
+ QCommonStyle (0x7fc38a0012a0) 0
+ primary-for QMotifStyle (0x7fc38a001230)
+ QStyle (0x7fc38a001310) 0
+ primary-for QCommonStyle (0x7fc38a0012a0)
+ QObject (0x7fc38a001380) 0
+ primary-for QStyle (0x7fc38a001310)
+
+Vtable for QWindowsStyle
+QWindowsStyle::_ZTV13QWindowsStyle: 35u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QWindowsStyle)
+16 QWindowsStyle::metaObject
+24 QWindowsStyle::qt_metacast
+32 QWindowsStyle::qt_metacall
+40 QWindowsStyle::~QWindowsStyle
+48 QWindowsStyle::~QWindowsStyle
+56 QObject::event
+64 QWindowsStyle::eventFilter
+72 QWindowsStyle::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWindowsStyle::polish
+120 QWindowsStyle::unpolish
+128 QWindowsStyle::polish
+136 QWindowsStyle::unpolish
+144 QWindowsStyle::polish
+152 QStyle::itemTextRect
+160 QStyle::itemPixmapRect
+168 QStyle::drawItemText
+176 QStyle::drawItemPixmap
+184 QStyle::standardPalette
+192 QWindowsStyle::drawPrimitive
+200 QWindowsStyle::drawControl
+208 QWindowsStyle::subElementRect
+216 QWindowsStyle::drawComplexControl
+224 QCommonStyle::hitTestComplexControl
+232 QCommonStyle::subControlRect
+240 QWindowsStyle::pixelMetric
+248 QWindowsStyle::sizeFromContents
+256 QWindowsStyle::styleHint
+264 QWindowsStyle::standardPixmap
+272 QCommonStyle::generatedIconPixmap
+
+Class QWindowsStyle
+ size=24 align=8
+ base size=24 base align=8
+QWindowsStyle (0x7fc38a014310) 0
+ vptr=((& QWindowsStyle::_ZTV13QWindowsStyle) + 16u)
+ QCommonStyle (0x7fc38a014380) 0
+ primary-for QWindowsStyle (0x7fc38a014310)
+ QStyle (0x7fc38a0143f0) 0
+ primary-for QCommonStyle (0x7fc38a014380)
+ QObject (0x7fc38a014460) 0
+ primary-for QStyle (0x7fc38a0143f0)
+
+Vtable for QCleanlooksStyle
+QCleanlooksStyle::_ZTV16QCleanlooksStyle: 35u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QCleanlooksStyle)
+16 QCleanlooksStyle::metaObject
+24 QCleanlooksStyle::qt_metacast
+32 QCleanlooksStyle::qt_metacall
+40 QCleanlooksStyle::~QCleanlooksStyle
+48 QCleanlooksStyle::~QCleanlooksStyle
+56 QObject::event
+64 QWindowsStyle::eventFilter
+72 QWindowsStyle::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QCleanlooksStyle::polish
+120 QCleanlooksStyle::unpolish
+128 QCleanlooksStyle::polish
+136 QCleanlooksStyle::unpolish
+144 QCleanlooksStyle::polish
+152 QStyle::itemTextRect
+160 QCleanlooksStyle::itemPixmapRect
+168 QCleanlooksStyle::drawItemText
+176 QCleanlooksStyle::drawItemPixmap
+184 QCleanlooksStyle::standardPalette
+192 QCleanlooksStyle::drawPrimitive
+200 QCleanlooksStyle::drawControl
+208 QCleanlooksStyle::subElementRect
+216 QCleanlooksStyle::drawComplexControl
+224 QCleanlooksStyle::hitTestComplexControl
+232 QCleanlooksStyle::subControlRect
+240 QCleanlooksStyle::pixelMetric
+248 QCleanlooksStyle::sizeFromContents
+256 QCleanlooksStyle::styleHint
+264 QCleanlooksStyle::standardPixmap
+272 QCleanlooksStyle::generatedIconPixmap
+
+Class QCleanlooksStyle
+ size=24 align=8
+ base size=24 base align=8
+QCleanlooksStyle (0x7fc38a0350e0) 0
+ vptr=((& QCleanlooksStyle::_ZTV16QCleanlooksStyle) + 16u)
+ QWindowsStyle (0x7fc38a035150) 0
+ primary-for QCleanlooksStyle (0x7fc38a0350e0)
+ QCommonStyle (0x7fc38a0351c0) 0
+ primary-for QWindowsStyle (0x7fc38a035150)
+ QStyle (0x7fc38a035230) 0
+ primary-for QCommonStyle (0x7fc38a0351c0)
+ QObject (0x7fc38a0352a0) 0
+ primary-for QStyle (0x7fc38a035230)
+
+Vtable for QPlastiqueStyle
+QPlastiqueStyle::_ZTV15QPlastiqueStyle: 35u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QPlastiqueStyle)
+16 QPlastiqueStyle::metaObject
+24 QPlastiqueStyle::qt_metacast
+32 QPlastiqueStyle::qt_metacall
+40 QPlastiqueStyle::~QPlastiqueStyle
+48 QPlastiqueStyle::~QPlastiqueStyle
+56 QObject::event
+64 QPlastiqueStyle::eventFilter
+72 QPlastiqueStyle::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QPlastiqueStyle::polish
+120 QPlastiqueStyle::unpolish
+128 QPlastiqueStyle::polish
+136 QPlastiqueStyle::unpolish
+144 QPlastiqueStyle::polish
+152 QStyle::itemTextRect
+160 QStyle::itemPixmapRect
+168 QStyle::drawItemText
+176 QStyle::drawItemPixmap
+184 QPlastiqueStyle::standardPalette
+192 QPlastiqueStyle::drawPrimitive
+200 QPlastiqueStyle::drawControl
+208 QPlastiqueStyle::subElementRect
+216 QPlastiqueStyle::drawComplexControl
+224 QPlastiqueStyle::hitTestComplexControl
+232 QPlastiqueStyle::subControlRect
+240 QPlastiqueStyle::pixelMetric
+248 QPlastiqueStyle::sizeFromContents
+256 QPlastiqueStyle::styleHint
+264 QPlastiqueStyle::standardPixmap
+272 QCommonStyle::generatedIconPixmap
+
+Class QPlastiqueStyle
+ size=32 align=8
+ base size=32 base align=8
+QPlastiqueStyle (0x7fc38a04fe70) 0
+ vptr=((& QPlastiqueStyle::_ZTV15QPlastiqueStyle) + 16u)
+ QWindowsStyle (0x7fc38a04fee0) 0
+ primary-for QPlastiqueStyle (0x7fc38a04fe70)
+ QCommonStyle (0x7fc38a04ff50) 0
+ primary-for QWindowsStyle (0x7fc38a04fee0)
+ QStyle (0x7fc38a056000) 0
+ primary-for QCommonStyle (0x7fc38a04ff50)
+ QObject (0x7fc38a056070) 0
+ primary-for QStyle (0x7fc38a056000)
+
+Vtable for QProxyStyle
+QProxyStyle::_ZTV11QProxyStyle: 35u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QProxyStyle)
+16 QProxyStyle::metaObject
+24 QProxyStyle::qt_metacast
+32 QProxyStyle::qt_metacall
+40 QProxyStyle::~QProxyStyle
+48 QProxyStyle::~QProxyStyle
+56 QProxyStyle::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QProxyStyle::polish
+120 QProxyStyle::unpolish
+128 QProxyStyle::polish
+136 QProxyStyle::unpolish
+144 QProxyStyle::polish
+152 QProxyStyle::itemTextRect
+160 QProxyStyle::itemPixmapRect
+168 QProxyStyle::drawItemText
+176 QProxyStyle::drawItemPixmap
+184 QProxyStyle::standardPalette
+192 QProxyStyle::drawPrimitive
+200 QProxyStyle::drawControl
+208 QProxyStyle::subElementRect
+216 QProxyStyle::drawComplexControl
+224 QProxyStyle::hitTestComplexControl
+232 QProxyStyle::subControlRect
+240 QProxyStyle::pixelMetric
+248 QProxyStyle::sizeFromContents
+256 QProxyStyle::styleHint
+264 QProxyStyle::standardPixmap
+272 QProxyStyle::generatedIconPixmap
+
+Class QProxyStyle
+ size=16 align=8
+ base size=16 base align=8
+QProxyStyle (0x7fc38a07a000) 0
+ vptr=((& QProxyStyle::_ZTV11QProxyStyle) + 16u)
+ QCommonStyle (0x7fc38a07a070) 0
+ primary-for QProxyStyle (0x7fc38a07a000)
+ QStyle (0x7fc38a07a0e0) 0
+ primary-for QCommonStyle (0x7fc38a07a070)
+ QObject (0x7fc38a07a150) 0
+ primary-for QStyle (0x7fc38a07a0e0)
+
+Vtable for QS60Style
+QS60Style::_ZTV9QS60Style: 35u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QS60Style)
+16 QS60Style::metaObject
+24 QS60Style::qt_metacast
+32 QS60Style::qt_metacall
+40 QS60Style::~QS60Style
+48 QS60Style::~QS60Style
+56 QS60Style::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QS60Style::polish
+120 QS60Style::unpolish
+128 QS60Style::polish
+136 QS60Style::unpolish
+144 QCommonStyle::polish
+152 QStyle::itemTextRect
+160 QStyle::itemPixmapRect
+168 QStyle::drawItemText
+176 QStyle::drawItemPixmap
+184 QStyle::standardPalette
+192 QS60Style::drawPrimitive
+200 QS60Style::drawControl
+208 QS60Style::subElementRect
+216 QS60Style::drawComplexControl
+224 QCommonStyle::hitTestComplexControl
+232 QS60Style::subControlRect
+240 QS60Style::pixelMetric
+248 QS60Style::sizeFromContents
+256 QS60Style::styleHint
+264 QCommonStyle::standardPixmap
+272 QCommonStyle::generatedIconPixmap
+
+Class QS60Style
+ size=16 align=8
+ base size=16 base align=8
+QS60Style (0x7fc38a0994d0) 0
+ vptr=((& QS60Style::_ZTV9QS60Style) + 16u)
+ QCommonStyle (0x7fc38a099540) 0
+ primary-for QS60Style (0x7fc38a0994d0)
+ QStyle (0x7fc38a0995b0) 0
+ primary-for QCommonStyle (0x7fc38a099540)
+ QObject (0x7fc38a099620) 0
+ primary-for QStyle (0x7fc38a0995b0)
+
+Class QStyleFactory
+ size=1 align=1
+ base size=0 base align=1
+QStyleFactory (0x7fc389ebe310) 0 empty
+
+Vtable for QStyleFactoryInterface
+QStyleFactoryInterface::_ZTV22QStyleFactoryInterface: 6u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI22QStyleFactoryInterface)
+16 QStyleFactoryInterface::~QStyleFactoryInterface
+24 QStyleFactoryInterface::~QStyleFactoryInterface
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+
+Class QStyleFactoryInterface
+ size=8 align=8
+ base size=8 base align=8
+QStyleFactoryInterface (0x7fc389ebe380) 0 nearly-empty
+ vptr=((& QStyleFactoryInterface::_ZTV22QStyleFactoryInterface) + 16u)
+ QFactoryInterface (0x7fc389ebe3f0) 0 nearly-empty
+ primary-for QStyleFactoryInterface (0x7fc389ebe380)
+
+Vtable for QStylePlugin
+QStylePlugin::_ZTV12QStylePlugin: 22u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QStylePlugin)
+16 QStylePlugin::metaObject
+24 QStylePlugin::qt_metacast
+32 QStylePlugin::qt_metacall
+40 QStylePlugin::~QStylePlugin
+48 QStylePlugin::~QStylePlugin
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 (int (*)(...))-0x00000000000000010
+136 (int (*)(...))(& _ZTI12QStylePlugin)
+144 QStylePlugin::_ZThn16_N12QStylePluginD1Ev
+152 QStylePlugin::_ZThn16_N12QStylePluginD0Ev
+160 __cxa_pure_virtual
+168 __cxa_pure_virtual
+
+Class QStylePlugin
+ size=24 align=8
+ base size=24 base align=8
+QStylePlugin (0x7fc389ec9000) 0
+ vptr=((& QStylePlugin::_ZTV12QStylePlugin) + 16u)
+ QObject (0x7fc389ebee00) 0
+ primary-for QStylePlugin (0x7fc389ec9000)
+ QStyleFactoryInterface (0x7fc389ebee70) 16 nearly-empty
+ vptr=((& QStylePlugin::_ZTV12QStylePlugin) + 144u)
+ QFactoryInterface (0x7fc389ebeee0) 16 nearly-empty
+ primary-for QStyleFactoryInterface (0x7fc389ebee70)
+
+Vtable for QWindowsCEStyle
+QWindowsCEStyle::_ZTV15QWindowsCEStyle: 35u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QWindowsCEStyle)
+16 QWindowsCEStyle::metaObject
+24 QWindowsCEStyle::qt_metacast
+32 QWindowsCEStyle::qt_metacall
+40 QWindowsCEStyle::~QWindowsCEStyle
+48 QWindowsCEStyle::~QWindowsCEStyle
+56 QObject::event
+64 QWindowsStyle::eventFilter
+72 QWindowsStyle::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWindowsCEStyle::polish
+120 QWindowsStyle::unpolish
+128 QWindowsCEStyle::polish
+136 QWindowsStyle::unpolish
+144 QWindowsCEStyle::polish
+152 QStyle::itemTextRect
+160 QStyle::itemPixmapRect
+168 QWindowsCEStyle::drawItemText
+176 QStyle::drawItemPixmap
+184 QWindowsCEStyle::standardPalette
+192 QWindowsCEStyle::drawPrimitive
+200 QWindowsCEStyle::drawControl
+208 QWindowsCEStyle::subElementRect
+216 QWindowsCEStyle::drawComplexControl
+224 QWindowsCEStyle::hitTestComplexControl
+232 QWindowsCEStyle::subControlRect
+240 QWindowsCEStyle::pixelMetric
+248 QWindowsCEStyle::sizeFromContents
+256 QWindowsCEStyle::styleHint
+264 QWindowsCEStyle::standardPixmap
+272 QCommonStyle::generatedIconPixmap
+
+Class QWindowsCEStyle
+ size=24 align=8
+ base size=24 base align=8
+QWindowsCEStyle (0x7fc389eccd90) 0
+ vptr=((& QWindowsCEStyle::_ZTV15QWindowsCEStyle) + 16u)
+ QWindowsStyle (0x7fc389ecce00) 0
+ primary-for QWindowsCEStyle (0x7fc389eccd90)
+ QCommonStyle (0x7fc389ecce70) 0
+ primary-for QWindowsStyle (0x7fc389ecce00)
+ QStyle (0x7fc389eccee0) 0
+ primary-for QCommonStyle (0x7fc389ecce70)
+ QObject (0x7fc389eccf50) 0
+ primary-for QStyle (0x7fc389eccee0)
+
+Vtable for QWindowsMobileStyle
+QWindowsMobileStyle::_ZTV19QWindowsMobileStyle: 35u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QWindowsMobileStyle)
+16 QWindowsMobileStyle::metaObject
+24 QWindowsMobileStyle::qt_metacast
+32 QWindowsMobileStyle::qt_metacall
+40 QWindowsMobileStyle::~QWindowsMobileStyle
+48 QWindowsMobileStyle::~QWindowsMobileStyle
+56 QObject::event
+64 QWindowsStyle::eventFilter
+72 QWindowsStyle::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWindowsMobileStyle::polish
+120 QWindowsMobileStyle::unpolish
+128 QWindowsMobileStyle::polish
+136 QWindowsMobileStyle::unpolish
+144 QWindowsMobileStyle::polish
+152 QStyle::itemTextRect
+160 QStyle::itemPixmapRect
+168 QStyle::drawItemText
+176 QStyle::drawItemPixmap
+184 QWindowsMobileStyle::standardPalette
+192 QWindowsMobileStyle::drawPrimitive
+200 QWindowsMobileStyle::drawControl
+208 QWindowsMobileStyle::subElementRect
+216 QWindowsMobileStyle::drawComplexControl
+224 QCommonStyle::hitTestComplexControl
+232 QWindowsMobileStyle::subControlRect
+240 QWindowsMobileStyle::pixelMetric
+248 QWindowsMobileStyle::sizeFromContents
+256 QWindowsMobileStyle::styleHint
+264 QWindowsMobileStyle::standardPixmap
+272 QWindowsMobileStyle::generatedIconPixmap
+
+Class QWindowsMobileStyle
+ size=24 align=8
+ base size=24 base align=8
+QWindowsMobileStyle (0x7fc389ef33f0) 0
+ vptr=((& QWindowsMobileStyle::_ZTV19QWindowsMobileStyle) + 16u)
+ QWindowsStyle (0x7fc389ef3460) 0
+ primary-for QWindowsMobileStyle (0x7fc389ef33f0)
+ QCommonStyle (0x7fc389ef34d0) 0
+ primary-for QWindowsStyle (0x7fc389ef3460)
+ QStyle (0x7fc389ef3540) 0
+ primary-for QCommonStyle (0x7fc389ef34d0)
+ QObject (0x7fc389ef35b0) 0
+ primary-for QStyle (0x7fc389ef3540)
+
+Vtable for QWindowsXPStyle
+QWindowsXPStyle::_ZTV15QWindowsXPStyle: 35u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QWindowsXPStyle)
+16 QWindowsXPStyle::metaObject
+24 QWindowsXPStyle::qt_metacast
+32 QWindowsXPStyle::qt_metacall
+40 QWindowsXPStyle::~QWindowsXPStyle
+48 QWindowsXPStyle::~QWindowsXPStyle
+56 QObject::event
+64 QWindowsStyle::eventFilter
+72 QWindowsStyle::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWindowsXPStyle::polish
+120 QWindowsXPStyle::unpolish
+128 QWindowsXPStyle::polish
+136 QWindowsXPStyle::unpolish
+144 QWindowsXPStyle::polish
+152 QStyle::itemTextRect
+160 QStyle::itemPixmapRect
+168 QStyle::drawItemText
+176 QStyle::drawItemPixmap
+184 QWindowsXPStyle::standardPalette
+192 QWindowsXPStyle::drawPrimitive
+200 QWindowsXPStyle::drawControl
+208 QWindowsXPStyle::subElementRect
+216 QWindowsXPStyle::drawComplexControl
+224 QCommonStyle::hitTestComplexControl
+232 QWindowsXPStyle::subControlRect
+240 QWindowsXPStyle::pixelMetric
+248 QWindowsXPStyle::sizeFromContents
+256 QWindowsXPStyle::styleHint
+264 QWindowsXPStyle::standardPixmap
+272 QCommonStyle::generatedIconPixmap
+
+Class QWindowsXPStyle
+ size=32 align=8
+ base size=32 base align=8
+QWindowsXPStyle (0x7fc389f0cd90) 0
+ vptr=((& QWindowsXPStyle::_ZTV15QWindowsXPStyle) + 16u)
+ QWindowsStyle (0x7fc389f0ce00) 0
+ primary-for QWindowsXPStyle (0x7fc389f0cd90)
+ QCommonStyle (0x7fc389f0ce70) 0
+ primary-for QWindowsStyle (0x7fc389f0ce00)
+ QStyle (0x7fc389f0cee0) 0
+ primary-for QCommonStyle (0x7fc389f0ce70)
+ QObject (0x7fc389f0cf50) 0
+ primary-for QStyle (0x7fc389f0cee0)
+
+Vtable for QWindowsVistaStyle
+QWindowsVistaStyle::_ZTV18QWindowsVistaStyle: 35u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QWindowsVistaStyle)
+16 QWindowsVistaStyle::metaObject
+24 QWindowsVistaStyle::qt_metacast
+32 QWindowsVistaStyle::qt_metacall
+40 QWindowsVistaStyle::~QWindowsVistaStyle
+48 QWindowsVistaStyle::~QWindowsVistaStyle
+56 QWindowsVistaStyle::event
+64 QWindowsStyle::eventFilter
+72 QWindowsStyle::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWindowsVistaStyle::polish
+120 QWindowsVistaStyle::unpolish
+128 QWindowsVistaStyle::polish
+136 QWindowsVistaStyle::unpolish
+144 QWindowsVistaStyle::polish
+152 QStyle::itemTextRect
+160 QStyle::itemPixmapRect
+168 QStyle::drawItemText
+176 QStyle::drawItemPixmap
+184 QWindowsVistaStyle::standardPalette
+192 QWindowsVistaStyle::drawPrimitive
+200 QWindowsVistaStyle::drawControl
+208 QWindowsVistaStyle::subElementRect
+216 QWindowsVistaStyle::drawComplexControl
+224 QWindowsVistaStyle::hitTestComplexControl
+232 QWindowsVistaStyle::subControlRect
+240 QWindowsVistaStyle::pixelMetric
+248 QWindowsVistaStyle::sizeFromContents
+256 QWindowsVistaStyle::styleHint
+264 QWindowsVistaStyle::standardPixmap
+272 QCommonStyle::generatedIconPixmap
+
+Class QWindowsVistaStyle
+ size=32 align=8
+ base size=32 base align=8
+QWindowsVistaStyle (0x7fc389f2cc40) 0
+ vptr=((& QWindowsVistaStyle::_ZTV18QWindowsVistaStyle) + 16u)
+ QWindowsXPStyle (0x7fc389f2ccb0) 0
+ primary-for QWindowsVistaStyle (0x7fc389f2cc40)
+ QWindowsStyle (0x7fc389f2cd20) 0
+ primary-for QWindowsXPStyle (0x7fc389f2ccb0)
+ QCommonStyle (0x7fc389f2cd90) 0
+ primary-for QWindowsStyle (0x7fc389f2cd20)
+ QStyle (0x7fc389f2ce00) 0
+ primary-for QCommonStyle (0x7fc389f2cd90)
+ QObject (0x7fc389f2ce70) 0
+ primary-for QStyle (0x7fc389f2ce00)
+
+Vtable for QInputContext
+QInputContext::_ZTV13QInputContext: 26u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QInputContext)
+16 QInputContext::metaObject
+24 QInputContext::qt_metacast
+32 QInputContext::qt_metacall
+40 QInputContext::~QInputContext
+48 QInputContext::~QInputContext
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 __cxa_pure_virtual
+136 QInputContext::update
+144 QInputContext::mouseHandler
+152 QInputContext::font
+160 __cxa_pure_virtual
+168 QInputContext::setFocusWidget
+176 QInputContext::widgetDestroyed
+184 QInputContext::actions
+192 QInputContext::x11FilterEvent
+200 QInputContext::filterEvent
+
+Class QInputContext
+ size=16 align=8
+ base size=16 base align=8
+QInputContext (0x7fc389f4cc40) 0
+ vptr=((& QInputContext::_ZTV13QInputContext) + 16u)
+ QObject (0x7fc389f4ccb0) 0
+ primary-for QInputContext (0x7fc389f4cc40)
+
+Class QInputContextFactory
+ size=1 align=1
+ base size=0 base align=1
+QInputContextFactory (0x7fc389f6e5b0) 0 empty
+
+Vtable for QInputContextFactoryInterface
+QInputContextFactoryInterface::_ZTV29QInputContextFactoryInterface: 9u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI29QInputContextFactoryInterface)
+16 QInputContextFactoryInterface::~QInputContextFactoryInterface
+24 QInputContextFactoryInterface::~QInputContextFactoryInterface
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+48 __cxa_pure_virtual
+56 __cxa_pure_virtual
+64 __cxa_pure_virtual
+
+Class QInputContextFactoryInterface
+ size=8 align=8
+ base size=8 base align=8
+QInputContextFactoryInterface (0x7fc389f6e620) 0 nearly-empty
+ vptr=((& QInputContextFactoryInterface::_ZTV29QInputContextFactoryInterface) + 16u)
+ QFactoryInterface (0x7fc389f6e690) 0 nearly-empty
+ primary-for QInputContextFactoryInterface (0x7fc389f6e620)
+
+Vtable for QInputContextPlugin
+QInputContextPlugin::_ZTV19QInputContextPlugin: 28u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QInputContextPlugin)
+16 QInputContextPlugin::metaObject
+24 QInputContextPlugin::qt_metacast
+32 QInputContextPlugin::qt_metacall
+40 QInputContextPlugin::~QInputContextPlugin
+48 QInputContextPlugin::~QInputContextPlugin
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 __cxa_pure_virtual
+136 __cxa_pure_virtual
+144 __cxa_pure_virtual
+152 (int (*)(...))-0x00000000000000010
+160 (int (*)(...))(& _ZTI19QInputContextPlugin)
+168 QInputContextPlugin::_ZThn16_N19QInputContextPluginD1Ev
+176 QInputContextPlugin::_ZThn16_N19QInputContextPluginD0Ev
+184 __cxa_pure_virtual
+192 __cxa_pure_virtual
+200 __cxa_pure_virtual
+208 __cxa_pure_virtual
+216 __cxa_pure_virtual
+
+Class QInputContextPlugin
+ size=24 align=8
+ base size=24 base align=8
+QInputContextPlugin (0x7fc389f69e80) 0
+ vptr=((& QInputContextPlugin::_ZTV19QInputContextPlugin) + 16u)
+ QObject (0x7fc389f7c000) 0
+ primary-for QInputContextPlugin (0x7fc389f69e80)
+ QInputContextFactoryInterface (0x7fc389f7c070) 16 nearly-empty
+ vptr=((& QInputContextPlugin::_ZTV19QInputContextPlugin) + 168u)
+ QFactoryInterface (0x7fc389f7c0e0) 16 nearly-empty
+ primary-for QInputContextFactoryInterface (0x7fc389f7c070)
+
+Vtable for QGraphicsItem
+QGraphicsItem::_ZTV13QGraphicsItem: 39u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QGraphicsItem)
+16 QGraphicsItem::~QGraphicsItem
+24 QGraphicsItem::~QGraphicsItem
+32 QGraphicsItem::advance
+40 __cxa_pure_virtual
+48 QGraphicsItem::shape
+56 QGraphicsItem::contains
+64 QGraphicsItem::collidesWithItem
+72 QGraphicsItem::collidesWithPath
+80 QGraphicsItem::isObscuredBy
+88 QGraphicsItem::opaqueArea
+96 __cxa_pure_virtual
+104 QGraphicsItem::type
+112 QGraphicsItem::sceneEventFilter
+120 QGraphicsItem::sceneEvent
+128 QGraphicsItem::contextMenuEvent
+136 QGraphicsItem::dragEnterEvent
+144 QGraphicsItem::dragLeaveEvent
+152 QGraphicsItem::dragMoveEvent
+160 QGraphicsItem::dropEvent
+168 QGraphicsItem::focusInEvent
+176 QGraphicsItem::focusOutEvent
+184 QGraphicsItem::hoverEnterEvent
+192 QGraphicsItem::hoverMoveEvent
+200 QGraphicsItem::hoverLeaveEvent
+208 QGraphicsItem::keyPressEvent
+216 QGraphicsItem::keyReleaseEvent
+224 QGraphicsItem::mousePressEvent
+232 QGraphicsItem::mouseMoveEvent
+240 QGraphicsItem::mouseReleaseEvent
+248 QGraphicsItem::mouseDoubleClickEvent
+256 QGraphicsItem::wheelEvent
+264 QGraphicsItem::inputMethodEvent
+272 QGraphicsItem::inputMethodQuery
+280 QGraphicsItem::itemChange
+288 QGraphicsItem::supportsExtension
+296 QGraphicsItem::setExtension
+304 QGraphicsItem::extension
+
+Class QGraphicsItem
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsItem (0x7fc389f7c380) 0
+ vptr=((& QGraphicsItem::_ZTV13QGraphicsItem) + 16u)
+
+Vtable for QGraphicsObject
+QGraphicsObject::_ZTV15QGraphicsObject: 53u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QGraphicsObject)
+16 QGraphicsObject::metaObject
+24 QGraphicsObject::qt_metacast
+32 QGraphicsObject::qt_metacall
+40 QGraphicsObject::~QGraphicsObject
+48 QGraphicsObject::~QGraphicsObject
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 (int (*)(...))-0x00000000000000010
+120 (int (*)(...))(& _ZTI15QGraphicsObject)
+128 QGraphicsObject::_ZThn16_N15QGraphicsObjectD1Ev
+136 QGraphicsObject::_ZThn16_N15QGraphicsObjectD0Ev
+144 QGraphicsItem::advance
+152 __cxa_pure_virtual
+160 QGraphicsItem::shape
+168 QGraphicsItem::contains
+176 QGraphicsItem::collidesWithItem
+184 QGraphicsItem::collidesWithPath
+192 QGraphicsItem::isObscuredBy
+200 QGraphicsItem::opaqueArea
+208 __cxa_pure_virtual
+216 QGraphicsItem::type
+224 QGraphicsItem::sceneEventFilter
+232 QGraphicsItem::sceneEvent
+240 QGraphicsItem::contextMenuEvent
+248 QGraphicsItem::dragEnterEvent
+256 QGraphicsItem::dragLeaveEvent
+264 QGraphicsItem::dragMoveEvent
+272 QGraphicsItem::dropEvent
+280 QGraphicsItem::focusInEvent
+288 QGraphicsItem::focusOutEvent
+296 QGraphicsItem::hoverEnterEvent
+304 QGraphicsItem::hoverMoveEvent
+312 QGraphicsItem::hoverLeaveEvent
+320 QGraphicsItem::keyPressEvent
+328 QGraphicsItem::keyReleaseEvent
+336 QGraphicsItem::mousePressEvent
+344 QGraphicsItem::mouseMoveEvent
+352 QGraphicsItem::mouseReleaseEvent
+360 QGraphicsItem::mouseDoubleClickEvent
+368 QGraphicsItem::wheelEvent
+376 QGraphicsItem::inputMethodEvent
+384 QGraphicsItem::inputMethodQuery
+392 QGraphicsItem::itemChange
+400 QGraphicsItem::supportsExtension
+408 QGraphicsItem::setExtension
+416 QGraphicsItem::extension
+
+Class QGraphicsObject
+ size=32 align=8
+ base size=32 base align=8
+QGraphicsObject (0x7fc389e76c80) 0
+ vptr=((& QGraphicsObject::_ZTV15QGraphicsObject) + 16u)
+ QObject (0x7fc389e7cf50) 0
+ primary-for QGraphicsObject (0x7fc389e76c80)
+ QGraphicsItem (0x7fc389e87000) 16
+ vptr=((& QGraphicsObject::_ZTV15QGraphicsObject) + 128u)
+
+Vtable for QAbstractGraphicsShapeItem
+QAbstractGraphicsShapeItem::_ZTV26QAbstractGraphicsShapeItem: 39u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI26QAbstractGraphicsShapeItem)
+16 QAbstractGraphicsShapeItem::~QAbstractGraphicsShapeItem
+24 QAbstractGraphicsShapeItem::~QAbstractGraphicsShapeItem
+32 QGraphicsItem::advance
+40 __cxa_pure_virtual
+48 QGraphicsItem::shape
+56 QGraphicsItem::contains
+64 QGraphicsItem::collidesWithItem
+72 QGraphicsItem::collidesWithPath
+80 QAbstractGraphicsShapeItem::isObscuredBy
+88 QAbstractGraphicsShapeItem::opaqueArea
+96 __cxa_pure_virtual
+104 QGraphicsItem::type
+112 QGraphicsItem::sceneEventFilter
+120 QGraphicsItem::sceneEvent
+128 QGraphicsItem::contextMenuEvent
+136 QGraphicsItem::dragEnterEvent
+144 QGraphicsItem::dragLeaveEvent
+152 QGraphicsItem::dragMoveEvent
+160 QGraphicsItem::dropEvent
+168 QGraphicsItem::focusInEvent
+176 QGraphicsItem::focusOutEvent
+184 QGraphicsItem::hoverEnterEvent
+192 QGraphicsItem::hoverMoveEvent
+200 QGraphicsItem::hoverLeaveEvent
+208 QGraphicsItem::keyPressEvent
+216 QGraphicsItem::keyReleaseEvent
+224 QGraphicsItem::mousePressEvent
+232 QGraphicsItem::mouseMoveEvent
+240 QGraphicsItem::mouseReleaseEvent
+248 QGraphicsItem::mouseDoubleClickEvent
+256 QGraphicsItem::wheelEvent
+264 QGraphicsItem::inputMethodEvent
+272 QGraphicsItem::inputMethodQuery
+280 QGraphicsItem::itemChange
+288 QGraphicsItem::supportsExtension
+296 QGraphicsItem::setExtension
+304 QGraphicsItem::extension
+
+Class QAbstractGraphicsShapeItem
+ size=16 align=8
+ base size=16 base align=8
+QAbstractGraphicsShapeItem (0x7fc389e9d070) 0
+ vptr=((& QAbstractGraphicsShapeItem::_ZTV26QAbstractGraphicsShapeItem) + 16u)
+ QGraphicsItem (0x7fc389e9d0e0) 0
+ primary-for QAbstractGraphicsShapeItem (0x7fc389e9d070)
+
+Vtable for QGraphicsPathItem
+QGraphicsPathItem::_ZTV17QGraphicsPathItem: 39u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QGraphicsPathItem)
+16 QGraphicsPathItem::~QGraphicsPathItem
+24 QGraphicsPathItem::~QGraphicsPathItem
+32 QGraphicsItem::advance
+40 QGraphicsPathItem::boundingRect
+48 QGraphicsPathItem::shape
+56 QGraphicsPathItem::contains
+64 QGraphicsItem::collidesWithItem
+72 QGraphicsItem::collidesWithPath
+80 QGraphicsPathItem::isObscuredBy
+88 QGraphicsPathItem::opaqueArea
+96 QGraphicsPathItem::paint
+104 QGraphicsPathItem::type
+112 QGraphicsItem::sceneEventFilter
+120 QGraphicsItem::sceneEvent
+128 QGraphicsItem::contextMenuEvent
+136 QGraphicsItem::dragEnterEvent
+144 QGraphicsItem::dragLeaveEvent
+152 QGraphicsItem::dragMoveEvent
+160 QGraphicsItem::dropEvent
+168 QGraphicsItem::focusInEvent
+176 QGraphicsItem::focusOutEvent
+184 QGraphicsItem::hoverEnterEvent
+192 QGraphicsItem::hoverMoveEvent
+200 QGraphicsItem::hoverLeaveEvent
+208 QGraphicsItem::keyPressEvent
+216 QGraphicsItem::keyReleaseEvent
+224 QGraphicsItem::mousePressEvent
+232 QGraphicsItem::mouseMoveEvent
+240 QGraphicsItem::mouseReleaseEvent
+248 QGraphicsItem::mouseDoubleClickEvent
+256 QGraphicsItem::wheelEvent
+264 QGraphicsItem::inputMethodEvent
+272 QGraphicsItem::inputMethodQuery
+280 QGraphicsItem::itemChange
+288 QGraphicsPathItem::supportsExtension
+296 QGraphicsPathItem::setExtension
+304 QGraphicsPathItem::extension
+
+Class QGraphicsPathItem
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsPathItem (0x7fc389e9dee0) 0
+ vptr=((& QGraphicsPathItem::_ZTV17QGraphicsPathItem) + 16u)
+ QAbstractGraphicsShapeItem (0x7fc389e9df50) 0
+ primary-for QGraphicsPathItem (0x7fc389e9dee0)
+ QGraphicsItem (0x7fc389e9d930) 0
+ primary-for QAbstractGraphicsShapeItem (0x7fc389e9df50)
+
+Vtable for QGraphicsRectItem
+QGraphicsRectItem::_ZTV17QGraphicsRectItem: 39u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QGraphicsRectItem)
+16 QGraphicsRectItem::~QGraphicsRectItem
+24 QGraphicsRectItem::~QGraphicsRectItem
+32 QGraphicsItem::advance
+40 QGraphicsRectItem::boundingRect
+48 QGraphicsRectItem::shape
+56 QGraphicsRectItem::contains
+64 QGraphicsItem::collidesWithItem
+72 QGraphicsItem::collidesWithPath
+80 QGraphicsRectItem::isObscuredBy
+88 QGraphicsRectItem::opaqueArea
+96 QGraphicsRectItem::paint
+104 QGraphicsRectItem::type
+112 QGraphicsItem::sceneEventFilter
+120 QGraphicsItem::sceneEvent
+128 QGraphicsItem::contextMenuEvent
+136 QGraphicsItem::dragEnterEvent
+144 QGraphicsItem::dragLeaveEvent
+152 QGraphicsItem::dragMoveEvent
+160 QGraphicsItem::dropEvent
+168 QGraphicsItem::focusInEvent
+176 QGraphicsItem::focusOutEvent
+184 QGraphicsItem::hoverEnterEvent
+192 QGraphicsItem::hoverMoveEvent
+200 QGraphicsItem::hoverLeaveEvent
+208 QGraphicsItem::keyPressEvent
+216 QGraphicsItem::keyReleaseEvent
+224 QGraphicsItem::mousePressEvent
+232 QGraphicsItem::mouseMoveEvent
+240 QGraphicsItem::mouseReleaseEvent
+248 QGraphicsItem::mouseDoubleClickEvent
+256 QGraphicsItem::wheelEvent
+264 QGraphicsItem::inputMethodEvent
+272 QGraphicsItem::inputMethodQuery
+280 QGraphicsItem::itemChange
+288 QGraphicsRectItem::supportsExtension
+296 QGraphicsRectItem::setExtension
+304 QGraphicsRectItem::extension
+
+Class QGraphicsRectItem
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsRectItem (0x7fc389ca3e70) 0
+ vptr=((& QGraphicsRectItem::_ZTV17QGraphicsRectItem) + 16u)
+ QAbstractGraphicsShapeItem (0x7fc389ca3ee0) 0
+ primary-for QGraphicsRectItem (0x7fc389ca3e70)
+ QGraphicsItem (0x7fc389ca3f50) 0
+ primary-for QAbstractGraphicsShapeItem (0x7fc389ca3ee0)
+
+Vtable for QGraphicsEllipseItem
+QGraphicsEllipseItem::_ZTV20QGraphicsEllipseItem: 39u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI20QGraphicsEllipseItem)
+16 QGraphicsEllipseItem::~QGraphicsEllipseItem
+24 QGraphicsEllipseItem::~QGraphicsEllipseItem
+32 QGraphicsItem::advance
+40 QGraphicsEllipseItem::boundingRect
+48 QGraphicsEllipseItem::shape
+56 QGraphicsEllipseItem::contains
+64 QGraphicsItem::collidesWithItem
+72 QGraphicsItem::collidesWithPath
+80 QGraphicsEllipseItem::isObscuredBy
+88 QGraphicsEllipseItem::opaqueArea
+96 QGraphicsEllipseItem::paint
+104 QGraphicsEllipseItem::type
+112 QGraphicsItem::sceneEventFilter
+120 QGraphicsItem::sceneEvent
+128 QGraphicsItem::contextMenuEvent
+136 QGraphicsItem::dragEnterEvent
+144 QGraphicsItem::dragLeaveEvent
+152 QGraphicsItem::dragMoveEvent
+160 QGraphicsItem::dropEvent
+168 QGraphicsItem::focusInEvent
+176 QGraphicsItem::focusOutEvent
+184 QGraphicsItem::hoverEnterEvent
+192 QGraphicsItem::hoverMoveEvent
+200 QGraphicsItem::hoverLeaveEvent
+208 QGraphicsItem::keyPressEvent
+216 QGraphicsItem::keyReleaseEvent
+224 QGraphicsItem::mousePressEvent
+232 QGraphicsItem::mouseMoveEvent
+240 QGraphicsItem::mouseReleaseEvent
+248 QGraphicsItem::mouseDoubleClickEvent
+256 QGraphicsItem::wheelEvent
+264 QGraphicsItem::inputMethodEvent
+272 QGraphicsItem::inputMethodQuery
+280 QGraphicsItem::itemChange
+288 QGraphicsEllipseItem::supportsExtension
+296 QGraphicsEllipseItem::setExtension
+304 QGraphicsEllipseItem::extension
+
+Class QGraphicsEllipseItem
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsEllipseItem (0x7fc389cc9150) 0
+ vptr=((& QGraphicsEllipseItem::_ZTV20QGraphicsEllipseItem) + 16u)
+ QAbstractGraphicsShapeItem (0x7fc389cc91c0) 0
+ primary-for QGraphicsEllipseItem (0x7fc389cc9150)
+ QGraphicsItem (0x7fc389cc9230) 0
+ primary-for QAbstractGraphicsShapeItem (0x7fc389cc91c0)
+
+Vtable for QGraphicsPolygonItem
+QGraphicsPolygonItem::_ZTV20QGraphicsPolygonItem: 39u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI20QGraphicsPolygonItem)
+16 QGraphicsPolygonItem::~QGraphicsPolygonItem
+24 QGraphicsPolygonItem::~QGraphicsPolygonItem
+32 QGraphicsItem::advance
+40 QGraphicsPolygonItem::boundingRect
+48 QGraphicsPolygonItem::shape
+56 QGraphicsPolygonItem::contains
+64 QGraphicsItem::collidesWithItem
+72 QGraphicsItem::collidesWithPath
+80 QGraphicsPolygonItem::isObscuredBy
+88 QGraphicsPolygonItem::opaqueArea
+96 QGraphicsPolygonItem::paint
+104 QGraphicsPolygonItem::type
+112 QGraphicsItem::sceneEventFilter
+120 QGraphicsItem::sceneEvent
+128 QGraphicsItem::contextMenuEvent
+136 QGraphicsItem::dragEnterEvent
+144 QGraphicsItem::dragLeaveEvent
+152 QGraphicsItem::dragMoveEvent
+160 QGraphicsItem::dropEvent
+168 QGraphicsItem::focusInEvent
+176 QGraphicsItem::focusOutEvent
+184 QGraphicsItem::hoverEnterEvent
+192 QGraphicsItem::hoverMoveEvent
+200 QGraphicsItem::hoverLeaveEvent
+208 QGraphicsItem::keyPressEvent
+216 QGraphicsItem::keyReleaseEvent
+224 QGraphicsItem::mousePressEvent
+232 QGraphicsItem::mouseMoveEvent
+240 QGraphicsItem::mouseReleaseEvent
+248 QGraphicsItem::mouseDoubleClickEvent
+256 QGraphicsItem::wheelEvent
+264 QGraphicsItem::inputMethodEvent
+272 QGraphicsItem::inputMethodQuery
+280 QGraphicsItem::itemChange
+288 QGraphicsPolygonItem::supportsExtension
+296 QGraphicsPolygonItem::setExtension
+304 QGraphicsPolygonItem::extension
+
+Class QGraphicsPolygonItem
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsPolygonItem (0x7fc389cdc460) 0
+ vptr=((& QGraphicsPolygonItem::_ZTV20QGraphicsPolygonItem) + 16u)
+ QAbstractGraphicsShapeItem (0x7fc389cdc4d0) 0
+ primary-for QGraphicsPolygonItem (0x7fc389cdc460)
+ QGraphicsItem (0x7fc389cdc540) 0
+ primary-for QAbstractGraphicsShapeItem (0x7fc389cdc4d0)
+
+Vtable for QGraphicsLineItem
+QGraphicsLineItem::_ZTV17QGraphicsLineItem: 39u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QGraphicsLineItem)
+16 QGraphicsLineItem::~QGraphicsLineItem
+24 QGraphicsLineItem::~QGraphicsLineItem
+32 QGraphicsItem::advance
+40 QGraphicsLineItem::boundingRect
+48 QGraphicsLineItem::shape
+56 QGraphicsLineItem::contains
+64 QGraphicsItem::collidesWithItem
+72 QGraphicsItem::collidesWithPath
+80 QGraphicsLineItem::isObscuredBy
+88 QGraphicsLineItem::opaqueArea
+96 QGraphicsLineItem::paint
+104 QGraphicsLineItem::type
+112 QGraphicsItem::sceneEventFilter
+120 QGraphicsItem::sceneEvent
+128 QGraphicsItem::contextMenuEvent
+136 QGraphicsItem::dragEnterEvent
+144 QGraphicsItem::dragLeaveEvent
+152 QGraphicsItem::dragMoveEvent
+160 QGraphicsItem::dropEvent
+168 QGraphicsItem::focusInEvent
+176 QGraphicsItem::focusOutEvent
+184 QGraphicsItem::hoverEnterEvent
+192 QGraphicsItem::hoverMoveEvent
+200 QGraphicsItem::hoverLeaveEvent
+208 QGraphicsItem::keyPressEvent
+216 QGraphicsItem::keyReleaseEvent
+224 QGraphicsItem::mousePressEvent
+232 QGraphicsItem::mouseMoveEvent
+240 QGraphicsItem::mouseReleaseEvent
+248 QGraphicsItem::mouseDoubleClickEvent
+256 QGraphicsItem::wheelEvent
+264 QGraphicsItem::inputMethodEvent
+272 QGraphicsItem::inputMethodQuery
+280 QGraphicsItem::itemChange
+288 QGraphicsLineItem::supportsExtension
+296 QGraphicsLineItem::setExtension
+304 QGraphicsLineItem::extension
+
+Class QGraphicsLineItem
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsLineItem (0x7fc389cef3f0) 0
+ vptr=((& QGraphicsLineItem::_ZTV17QGraphicsLineItem) + 16u)
+ QGraphicsItem (0x7fc389cef460) 0
+ primary-for QGraphicsLineItem (0x7fc389cef3f0)
+
+Vtable for QGraphicsPixmapItem
+QGraphicsPixmapItem::_ZTV19QGraphicsPixmapItem: 39u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QGraphicsPixmapItem)
+16 QGraphicsPixmapItem::~QGraphicsPixmapItem
+24 QGraphicsPixmapItem::~QGraphicsPixmapItem
+32 QGraphicsItem::advance
+40 QGraphicsPixmapItem::boundingRect
+48 QGraphicsPixmapItem::shape
+56 QGraphicsPixmapItem::contains
+64 QGraphicsItem::collidesWithItem
+72 QGraphicsItem::collidesWithPath
+80 QGraphicsPixmapItem::isObscuredBy
+88 QGraphicsPixmapItem::opaqueArea
+96 QGraphicsPixmapItem::paint
+104 QGraphicsPixmapItem::type
+112 QGraphicsItem::sceneEventFilter
+120 QGraphicsItem::sceneEvent
+128 QGraphicsItem::contextMenuEvent
+136 QGraphicsItem::dragEnterEvent
+144 QGraphicsItem::dragLeaveEvent
+152 QGraphicsItem::dragMoveEvent
+160 QGraphicsItem::dropEvent
+168 QGraphicsItem::focusInEvent
+176 QGraphicsItem::focusOutEvent
+184 QGraphicsItem::hoverEnterEvent
+192 QGraphicsItem::hoverMoveEvent
+200 QGraphicsItem::hoverLeaveEvent
+208 QGraphicsItem::keyPressEvent
+216 QGraphicsItem::keyReleaseEvent
+224 QGraphicsItem::mousePressEvent
+232 QGraphicsItem::mouseMoveEvent
+240 QGraphicsItem::mouseReleaseEvent
+248 QGraphicsItem::mouseDoubleClickEvent
+256 QGraphicsItem::wheelEvent
+264 QGraphicsItem::inputMethodEvent
+272 QGraphicsItem::inputMethodQuery
+280 QGraphicsItem::itemChange
+288 QGraphicsPixmapItem::supportsExtension
+296 QGraphicsPixmapItem::setExtension
+304 QGraphicsPixmapItem::extension
+
+Class QGraphicsPixmapItem
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsPixmapItem (0x7fc389d03690) 0
+ vptr=((& QGraphicsPixmapItem::_ZTV19QGraphicsPixmapItem) + 16u)
+ QGraphicsItem (0x7fc389d03700) 0
+ primary-for QGraphicsPixmapItem (0x7fc389d03690)
+
+Vtable for QGraphicsTextItem
+QGraphicsTextItem::_ZTV17QGraphicsTextItem: 82u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QGraphicsTextItem)
+16 QGraphicsTextItem::metaObject
+24 QGraphicsTextItem::qt_metacast
+32 QGraphicsTextItem::qt_metacall
+40 QGraphicsTextItem::~QGraphicsTextItem
+48 QGraphicsTextItem::~QGraphicsTextItem
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QGraphicsTextItem::boundingRect
+120 QGraphicsTextItem::shape
+128 QGraphicsTextItem::contains
+136 QGraphicsTextItem::paint
+144 QGraphicsTextItem::isObscuredBy
+152 QGraphicsTextItem::opaqueArea
+160 QGraphicsTextItem::type
+168 QGraphicsTextItem::sceneEvent
+176 QGraphicsTextItem::mousePressEvent
+184 QGraphicsTextItem::mouseMoveEvent
+192 QGraphicsTextItem::mouseReleaseEvent
+200 QGraphicsTextItem::mouseDoubleClickEvent
+208 QGraphicsTextItem::contextMenuEvent
+216 QGraphicsTextItem::keyPressEvent
+224 QGraphicsTextItem::keyReleaseEvent
+232 QGraphicsTextItem::focusInEvent
+240 QGraphicsTextItem::focusOutEvent
+248 QGraphicsTextItem::dragEnterEvent
+256 QGraphicsTextItem::dragLeaveEvent
+264 QGraphicsTextItem::dragMoveEvent
+272 QGraphicsTextItem::dropEvent
+280 QGraphicsTextItem::inputMethodEvent
+288 QGraphicsTextItem::hoverEnterEvent
+296 QGraphicsTextItem::hoverMoveEvent
+304 QGraphicsTextItem::hoverLeaveEvent
+312 QGraphicsTextItem::inputMethodQuery
+320 QGraphicsTextItem::supportsExtension
+328 QGraphicsTextItem::setExtension
+336 QGraphicsTextItem::extension
+344 (int (*)(...))-0x00000000000000010
+352 (int (*)(...))(& _ZTI17QGraphicsTextItem)
+360 QGraphicsTextItem::_ZThn16_N17QGraphicsTextItemD1Ev
+368 QGraphicsTextItem::_ZThn16_N17QGraphicsTextItemD0Ev
+376 QGraphicsItem::advance
+384 QGraphicsTextItem::_ZThn16_NK17QGraphicsTextItem12boundingRectEv
+392 QGraphicsTextItem::_ZThn16_NK17QGraphicsTextItem5shapeEv
+400 QGraphicsTextItem::_ZThn16_NK17QGraphicsTextItem8containsERK7QPointF
+408 QGraphicsItem::collidesWithItem
+416 QGraphicsItem::collidesWithPath
+424 QGraphicsTextItem::_ZThn16_NK17QGraphicsTextItem12isObscuredByEPK13QGraphicsItem
+432 QGraphicsTextItem::_ZThn16_NK17QGraphicsTextItem10opaqueAreaEv
+440 QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem5paintEP8QPainterPK24QStyleOptionGraphicsItemP7QWidget
+448 QGraphicsTextItem::_ZThn16_NK17QGraphicsTextItem4typeEv
+456 QGraphicsItem::sceneEventFilter
+464 QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem10sceneEventEP6QEvent
+472 QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem16contextMenuEventEP30QGraphicsSceneContextMenuEvent
+480 QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem14dragEnterEventEP27QGraphicsSceneDragDropEvent
+488 QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem14dragLeaveEventEP27QGraphicsSceneDragDropEvent
+496 QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem13dragMoveEventEP27QGraphicsSceneDragDropEvent
+504 QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem9dropEventEP27QGraphicsSceneDragDropEvent
+512 QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem12focusInEventEP11QFocusEvent
+520 QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem13focusOutEventEP11QFocusEvent
+528 QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem15hoverEnterEventEP24QGraphicsSceneHoverEvent
+536 QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem14hoverMoveEventEP24QGraphicsSceneHoverEvent
+544 QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem15hoverLeaveEventEP24QGraphicsSceneHoverEvent
+552 QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem13keyPressEventEP9QKeyEvent
+560 QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem15keyReleaseEventEP9QKeyEvent
+568 QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem15mousePressEventEP24QGraphicsSceneMouseEvent
+576 QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem14mouseMoveEventEP24QGraphicsSceneMouseEvent
+584 QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem17mouseReleaseEventEP24QGraphicsSceneMouseEvent
+592 QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem21mouseDoubleClickEventEP24QGraphicsSceneMouseEvent
+600 QGraphicsItem::wheelEvent
+608 QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem16inputMethodEventEP17QInputMethodEvent
+616 QGraphicsTextItem::_ZThn16_NK17QGraphicsTextItem16inputMethodQueryEN2Qt16InputMethodQueryE
+624 QGraphicsItem::itemChange
+632 QGraphicsTextItem::_ZThn16_NK17QGraphicsTextItem17supportsExtensionEN13QGraphicsItem9ExtensionE
+640 QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem12setExtensionEN13QGraphicsItem9ExtensionERK8QVariant
+648 QGraphicsTextItem::_ZThn16_NK17QGraphicsTextItem9extensionERK8QVariant
+
+Class QGraphicsTextItem
+ size=40 align=8
+ base size=40 base align=8
+QGraphicsTextItem (0x7fc389d12930) 0
+ vptr=((& QGraphicsTextItem::_ZTV17QGraphicsTextItem) + 16u)
+ QGraphicsObject (0x7fc389d07700) 0
+ primary-for QGraphicsTextItem (0x7fc389d12930)
+ QObject (0x7fc389d129a0) 0
+ primary-for QGraphicsObject (0x7fc389d07700)
+ QGraphicsItem (0x7fc389d12a10) 16
+ vptr=((& QGraphicsTextItem::_ZTV17QGraphicsTextItem) + 360u)
+
+Vtable for QGraphicsSimpleTextItem
+QGraphicsSimpleTextItem::_ZTV23QGraphicsSimpleTextItem: 39u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI23QGraphicsSimpleTextItem)
+16 QGraphicsSimpleTextItem::~QGraphicsSimpleTextItem
+24 QGraphicsSimpleTextItem::~QGraphicsSimpleTextItem
+32 QGraphicsItem::advance
+40 QGraphicsSimpleTextItem::boundingRect
+48 QGraphicsSimpleTextItem::shape
+56 QGraphicsSimpleTextItem::contains
+64 QGraphicsItem::collidesWithItem
+72 QGraphicsItem::collidesWithPath
+80 QGraphicsSimpleTextItem::isObscuredBy
+88 QGraphicsSimpleTextItem::opaqueArea
+96 QGraphicsSimpleTextItem::paint
+104 QGraphicsSimpleTextItem::type
+112 QGraphicsItem::sceneEventFilter
+120 QGraphicsItem::sceneEvent
+128 QGraphicsItem::contextMenuEvent
+136 QGraphicsItem::dragEnterEvent
+144 QGraphicsItem::dragLeaveEvent
+152 QGraphicsItem::dragMoveEvent
+160 QGraphicsItem::dropEvent
+168 QGraphicsItem::focusInEvent
+176 QGraphicsItem::focusOutEvent
+184 QGraphicsItem::hoverEnterEvent
+192 QGraphicsItem::hoverMoveEvent
+200 QGraphicsItem::hoverLeaveEvent
+208 QGraphicsItem::keyPressEvent
+216 QGraphicsItem::keyReleaseEvent
+224 QGraphicsItem::mousePressEvent
+232 QGraphicsItem::mouseMoveEvent
+240 QGraphicsItem::mouseReleaseEvent
+248 QGraphicsItem::mouseDoubleClickEvent
+256 QGraphicsItem::wheelEvent
+264 QGraphicsItem::inputMethodEvent
+272 QGraphicsItem::inputMethodQuery
+280 QGraphicsItem::itemChange
+288 QGraphicsSimpleTextItem::supportsExtension
+296 QGraphicsSimpleTextItem::setExtension
+304 QGraphicsSimpleTextItem::extension
+
+Class QGraphicsSimpleTextItem
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsSimpleTextItem (0x7fc389d33380) 0
+ vptr=((& QGraphicsSimpleTextItem::_ZTV23QGraphicsSimpleTextItem) + 16u)
+ QAbstractGraphicsShapeItem (0x7fc389d49000) 0
+ primary-for QGraphicsSimpleTextItem (0x7fc389d33380)
+ QGraphicsItem (0x7fc389d49070) 0
+ primary-for QAbstractGraphicsShapeItem (0x7fc389d49000)
+
+Vtable for QGraphicsItemGroup
+QGraphicsItemGroup::_ZTV18QGraphicsItemGroup: 39u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QGraphicsItemGroup)
+16 QGraphicsItemGroup::~QGraphicsItemGroup
+24 QGraphicsItemGroup::~QGraphicsItemGroup
+32 QGraphicsItem::advance
+40 QGraphicsItemGroup::boundingRect
+48 QGraphicsItem::shape
+56 QGraphicsItem::contains
+64 QGraphicsItem::collidesWithItem
+72 QGraphicsItem::collidesWithPath
+80 QGraphicsItemGroup::isObscuredBy
+88 QGraphicsItemGroup::opaqueArea
+96 QGraphicsItemGroup::paint
+104 QGraphicsItemGroup::type
+112 QGraphicsItem::sceneEventFilter
+120 QGraphicsItem::sceneEvent
+128 QGraphicsItem::contextMenuEvent
+136 QGraphicsItem::dragEnterEvent
+144 QGraphicsItem::dragLeaveEvent
+152 QGraphicsItem::dragMoveEvent
+160 QGraphicsItem::dropEvent
+168 QGraphicsItem::focusInEvent
+176 QGraphicsItem::focusOutEvent
+184 QGraphicsItem::hoverEnterEvent
+192 QGraphicsItem::hoverMoveEvent
+200 QGraphicsItem::hoverLeaveEvent
+208 QGraphicsItem::keyPressEvent
+216 QGraphicsItem::keyReleaseEvent
+224 QGraphicsItem::mousePressEvent
+232 QGraphicsItem::mouseMoveEvent
+240 QGraphicsItem::mouseReleaseEvent
+248 QGraphicsItem::mouseDoubleClickEvent
+256 QGraphicsItem::wheelEvent
+264 QGraphicsItem::inputMethodEvent
+272 QGraphicsItem::inputMethodQuery
+280 QGraphicsItem::itemChange
+288 QGraphicsItem::supportsExtension
+296 QGraphicsItem::setExtension
+304 QGraphicsItem::extension
+
+Class QGraphicsItemGroup
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsItemGroup (0x7fc389d49f50) 0
+ vptr=((& QGraphicsItemGroup::_ZTV18QGraphicsItemGroup) + 16u)
+ QGraphicsItem (0x7fc389d499a0) 0
+ primary-for QGraphicsItemGroup (0x7fc389d49f50)
+
+Vtable for QGraphicsLayoutItem
+QGraphicsLayoutItem::_ZTV19QGraphicsLayoutItem: 8u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QGraphicsLayoutItem)
+16 QGraphicsLayoutItem::~QGraphicsLayoutItem
+24 QGraphicsLayoutItem::~QGraphicsLayoutItem
+32 QGraphicsLayoutItem::setGeometry
+40 QGraphicsLayoutItem::getContentsMargins
+48 QGraphicsLayoutItem::updateGeometry
+56 __cxa_pure_virtual
+
+Class QGraphicsLayoutItem
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsLayoutItem (0x7fc389d6c850) 0
+ vptr=((& QGraphicsLayoutItem::_ZTV19QGraphicsLayoutItem) + 16u)
+
+Vtable for QGraphicsLayout
+QGraphicsLayout::_ZTV15QGraphicsLayout: 13u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QGraphicsLayout)
+16 QGraphicsLayout::~QGraphicsLayout
+24 QGraphicsLayout::~QGraphicsLayout
+32 QGraphicsLayoutItem::setGeometry
+40 QGraphicsLayout::getContentsMargins
+48 QGraphicsLayout::updateGeometry
+56 __cxa_pure_virtual
+64 QGraphicsLayout::invalidate
+72 QGraphicsLayout::widgetEvent
+80 __cxa_pure_virtual
+88 __cxa_pure_virtual
+96 __cxa_pure_virtual
+
+Class QGraphicsLayout
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsLayout (0x7fc389baf070) 0
+ vptr=((& QGraphicsLayout::_ZTV15QGraphicsLayout) + 16u)
+ QGraphicsLayoutItem (0x7fc389baf0e0) 0
+ primary-for QGraphicsLayout (0x7fc389baf070)
+
+Vtable for QGraphicsAnchor
+QGraphicsAnchor::_ZTV15QGraphicsAnchor: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QGraphicsAnchor)
+16 QGraphicsAnchor::metaObject
+24 QGraphicsAnchor::qt_metacast
+32 QGraphicsAnchor::qt_metacall
+40 QGraphicsAnchor::~QGraphicsAnchor
+48 QGraphicsAnchor::~QGraphicsAnchor
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QGraphicsAnchor
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsAnchor (0x7fc389bbd850) 0
+ vptr=((& QGraphicsAnchor::_ZTV15QGraphicsAnchor) + 16u)
+ QObject (0x7fc389bbd8c0) 0
+ primary-for QGraphicsAnchor (0x7fc389bbd850)
+
+Vtable for QGraphicsAnchorLayout
+QGraphicsAnchorLayout::_ZTV21QGraphicsAnchorLayout: 13u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI21QGraphicsAnchorLayout)
+16 QGraphicsAnchorLayout::~QGraphicsAnchorLayout
+24 QGraphicsAnchorLayout::~QGraphicsAnchorLayout
+32 QGraphicsAnchorLayout::setGeometry
+40 QGraphicsLayout::getContentsMargins
+48 QGraphicsLayout::updateGeometry
+56 QGraphicsAnchorLayout::sizeHint
+64 QGraphicsAnchorLayout::invalidate
+72 QGraphicsLayout::widgetEvent
+80 QGraphicsAnchorLayout::count
+88 QGraphicsAnchorLayout::itemAt
+96 QGraphicsAnchorLayout::removeAt
+
+Class QGraphicsAnchorLayout
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsAnchorLayout (0x7fc389bd0d90) 0
+ vptr=((& QGraphicsAnchorLayout::_ZTV21QGraphicsAnchorLayout) + 16u)
+ QGraphicsLayout (0x7fc389bd0e00) 0
+ primary-for QGraphicsAnchorLayout (0x7fc389bd0d90)
+ QGraphicsLayoutItem (0x7fc389bd0e70) 0
+ primary-for QGraphicsLayout (0x7fc389bd0e00)
+
+Vtable for QGraphicsGridLayout
+QGraphicsGridLayout::_ZTV19QGraphicsGridLayout: 13u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QGraphicsGridLayout)
+16 QGraphicsGridLayout::~QGraphicsGridLayout
+24 QGraphicsGridLayout::~QGraphicsGridLayout
+32 QGraphicsGridLayout::setGeometry
+40 QGraphicsLayout::getContentsMargins
+48 QGraphicsLayout::updateGeometry
+56 QGraphicsGridLayout::sizeHint
+64 QGraphicsGridLayout::invalidate
+72 QGraphicsLayout::widgetEvent
+80 QGraphicsGridLayout::count
+88 QGraphicsGridLayout::itemAt
+96 QGraphicsGridLayout::removeAt
+
+Class QGraphicsGridLayout
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsGridLayout (0x7fc389be90e0) 0
+ vptr=((& QGraphicsGridLayout::_ZTV19QGraphicsGridLayout) + 16u)
+ QGraphicsLayout (0x7fc389be9150) 0
+ primary-for QGraphicsGridLayout (0x7fc389be90e0)
+ QGraphicsLayoutItem (0x7fc389be91c0) 0
+ primary-for QGraphicsLayout (0x7fc389be9150)
+
+Vtable for QGraphicsItemAnimation
+QGraphicsItemAnimation::_ZTV22QGraphicsItemAnimation: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI22QGraphicsItemAnimation)
+16 QGraphicsItemAnimation::metaObject
+24 QGraphicsItemAnimation::qt_metacast
+32 QGraphicsItemAnimation::qt_metacall
+40 QGraphicsItemAnimation::~QGraphicsItemAnimation
+48 QGraphicsItemAnimation::~QGraphicsItemAnimation
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QGraphicsItemAnimation::beforeAnimationStep
+120 QGraphicsItemAnimation::afterAnimationStep
+
+Class QGraphicsItemAnimation
+ size=24 align=8
+ base size=24 base align=8
+QGraphicsItemAnimation (0x7fc389c054d0) 0
+ vptr=((& QGraphicsItemAnimation::_ZTV22QGraphicsItemAnimation) + 16u)
+ QObject (0x7fc389c05540) 0
+ primary-for QGraphicsItemAnimation (0x7fc389c054d0)
+
+Vtable for QGraphicsLinearLayout
+QGraphicsLinearLayout::_ZTV21QGraphicsLinearLayout: 13u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI21QGraphicsLinearLayout)
+16 QGraphicsLinearLayout::~QGraphicsLinearLayout
+24 QGraphicsLinearLayout::~QGraphicsLinearLayout
+32 QGraphicsLinearLayout::setGeometry
+40 QGraphicsLayout::getContentsMargins
+48 QGraphicsLayout::updateGeometry
+56 QGraphicsLinearLayout::sizeHint
+64 QGraphicsLinearLayout::invalidate
+72 QGraphicsLayout::widgetEvent
+80 QGraphicsLinearLayout::count
+88 QGraphicsLinearLayout::itemAt
+96 QGraphicsLinearLayout::removeAt
+
+Class QGraphicsLinearLayout
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsLinearLayout (0x7fc389c1f850) 0
+ vptr=((& QGraphicsLinearLayout::_ZTV21QGraphicsLinearLayout) + 16u)
+ QGraphicsLayout (0x7fc389c1f8c0) 0
+ primary-for QGraphicsLinearLayout (0x7fc389c1f850)
+ QGraphicsLayoutItem (0x7fc389c1f930) 0
+ primary-for QGraphicsLayout (0x7fc389c1f8c0)
+
+Vtable for QGraphicsWidget
+QGraphicsWidget::_ZTV15QGraphicsWidget: 92u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QGraphicsWidget)
+16 QGraphicsWidget::metaObject
+24 QGraphicsWidget::qt_metacast
+32 QGraphicsWidget::qt_metacall
+40 QGraphicsWidget::~QGraphicsWidget
+48 QGraphicsWidget::~QGraphicsWidget
+56 QGraphicsWidget::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QGraphicsWidget::setGeometry
+120 QGraphicsWidget::getContentsMargins
+128 QGraphicsWidget::type
+136 QGraphicsWidget::paint
+144 QGraphicsWidget::paintWindowFrame
+152 QGraphicsWidget::boundingRect
+160 QGraphicsWidget::shape
+168 QGraphicsWidget::initStyleOption
+176 QGraphicsWidget::sizeHint
+184 QGraphicsWidget::updateGeometry
+192 QGraphicsWidget::itemChange
+200 QGraphicsWidget::propertyChange
+208 QGraphicsWidget::sceneEvent
+216 QGraphicsWidget::windowFrameEvent
+224 QGraphicsWidget::windowFrameSectionAt
+232 QGraphicsWidget::changeEvent
+240 QGraphicsWidget::closeEvent
+248 QGraphicsWidget::focusInEvent
+256 QGraphicsWidget::focusNextPrevChild
+264 QGraphicsWidget::focusOutEvent
+272 QGraphicsWidget::hideEvent
+280 QGraphicsWidget::moveEvent
+288 QGraphicsWidget::polishEvent
+296 QGraphicsWidget::resizeEvent
+304 QGraphicsWidget::showEvent
+312 QGraphicsWidget::hoverMoveEvent
+320 QGraphicsWidget::hoverLeaveEvent
+328 QGraphicsWidget::grabMouseEvent
+336 QGraphicsWidget::ungrabMouseEvent
+344 QGraphicsWidget::grabKeyboardEvent
+352 QGraphicsWidget::ungrabKeyboardEvent
+360 (int (*)(...))-0x00000000000000010
+368 (int (*)(...))(& _ZTI15QGraphicsWidget)
+376 QGraphicsWidget::_ZThn16_N15QGraphicsWidgetD1Ev
+384 QGraphicsWidget::_ZThn16_N15QGraphicsWidgetD0Ev
+392 QGraphicsItem::advance
+400 QGraphicsWidget::_ZThn16_NK15QGraphicsWidget12boundingRectEv
+408 QGraphicsWidget::_ZThn16_NK15QGraphicsWidget5shapeEv
+416 QGraphicsItem::contains
+424 QGraphicsItem::collidesWithItem
+432 QGraphicsItem::collidesWithPath
+440 QGraphicsItem::isObscuredBy
+448 QGraphicsItem::opaqueArea
+456 QGraphicsWidget::_ZThn16_N15QGraphicsWidget5paintEP8QPainterPK24QStyleOptionGraphicsItemP7QWidget
+464 QGraphicsWidget::_ZThn16_NK15QGraphicsWidget4typeEv
+472 QGraphicsItem::sceneEventFilter
+480 QGraphicsWidget::_ZThn16_N15QGraphicsWidget10sceneEventEP6QEvent
+488 QGraphicsItem::contextMenuEvent
+496 QGraphicsItem::dragEnterEvent
+504 QGraphicsItem::dragLeaveEvent
+512 QGraphicsItem::dragMoveEvent
+520 QGraphicsItem::dropEvent
+528 QGraphicsWidget::_ZThn16_N15QGraphicsWidget12focusInEventEP11QFocusEvent
+536 QGraphicsWidget::_ZThn16_N15QGraphicsWidget13focusOutEventEP11QFocusEvent
+544 QGraphicsItem::hoverEnterEvent
+552 QGraphicsWidget::_ZThn16_N15QGraphicsWidget14hoverMoveEventEP24QGraphicsSceneHoverEvent
+560 QGraphicsWidget::_ZThn16_N15QGraphicsWidget15hoverLeaveEventEP24QGraphicsSceneHoverEvent
+568 QGraphicsItem::keyPressEvent
+576 QGraphicsItem::keyReleaseEvent
+584 QGraphicsItem::mousePressEvent
+592 QGraphicsItem::mouseMoveEvent
+600 QGraphicsItem::mouseReleaseEvent
+608 QGraphicsItem::mouseDoubleClickEvent
+616 QGraphicsItem::wheelEvent
+624 QGraphicsItem::inputMethodEvent
+632 QGraphicsItem::inputMethodQuery
+640 QGraphicsWidget::_ZThn16_N15QGraphicsWidget10itemChangeEN13QGraphicsItem18GraphicsItemChangeERK8QVariant
+648 QGraphicsItem::supportsExtension
+656 QGraphicsItem::setExtension
+664 QGraphicsItem::extension
+672 (int (*)(...))-0x00000000000000020
+680 (int (*)(...))(& _ZTI15QGraphicsWidget)
+688 QGraphicsWidget::_ZThn32_N15QGraphicsWidgetD1Ev
+696 QGraphicsWidget::_ZThn32_N15QGraphicsWidgetD0Ev
+704 QGraphicsWidget::_ZThn32_N15QGraphicsWidget11setGeometryERK6QRectF
+712 QGraphicsWidget::_ZThn32_NK15QGraphicsWidget18getContentsMarginsEPdS0_S0_S0_
+720 QGraphicsWidget::_ZThn32_N15QGraphicsWidget14updateGeometryEv
+728 QGraphicsWidget::_ZThn32_NK15QGraphicsWidget8sizeHintEN2Qt8SizeHintERK6QSizeF
+
+Class QGraphicsWidget
+ size=48 align=8
+ base size=48 base align=8
+QGraphicsWidget (0x7fc389c3c000) 0
+ vptr=((& QGraphicsWidget::_ZTV15QGraphicsWidget) + 16u)
+ QGraphicsObject (0x7fc389c3c080) 0
+ primary-for QGraphicsWidget (0x7fc389c3c000)
+ QObject (0x7fc389c3b070) 0
+ primary-for QGraphicsObject (0x7fc389c3c080)
+ QGraphicsItem (0x7fc389c3b0e0) 16
+ vptr=((& QGraphicsWidget::_ZTV15QGraphicsWidget) + 376u)
+ QGraphicsLayoutItem (0x7fc389c3b150) 32
+ vptr=((& QGraphicsWidget::_ZTV15QGraphicsWidget) + 688u)
+
+Vtable for QGraphicsProxyWidget
+QGraphicsProxyWidget::_ZTV20QGraphicsProxyWidget: 105u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI20QGraphicsProxyWidget)
+16 QGraphicsProxyWidget::metaObject
+24 QGraphicsProxyWidget::qt_metacast
+32 QGraphicsProxyWidget::qt_metacall
+40 QGraphicsProxyWidget::~QGraphicsProxyWidget
+48 QGraphicsProxyWidget::~QGraphicsProxyWidget
+56 QGraphicsProxyWidget::event
+64 QGraphicsProxyWidget::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QGraphicsProxyWidget::setGeometry
+120 QGraphicsWidget::getContentsMargins
+128 QGraphicsProxyWidget::type
+136 QGraphicsProxyWidget::paint
+144 QGraphicsWidget::paintWindowFrame
+152 QGraphicsWidget::boundingRect
+160 QGraphicsWidget::shape
+168 QGraphicsWidget::initStyleOption
+176 QGraphicsProxyWidget::sizeHint
+184 QGraphicsWidget::updateGeometry
+192 QGraphicsProxyWidget::itemChange
+200 QGraphicsWidget::propertyChange
+208 QGraphicsWidget::sceneEvent
+216 QGraphicsWidget::windowFrameEvent
+224 QGraphicsWidget::windowFrameSectionAt
+232 QGraphicsWidget::changeEvent
+240 QGraphicsWidget::closeEvent
+248 QGraphicsProxyWidget::focusInEvent
+256 QGraphicsProxyWidget::focusNextPrevChild
+264 QGraphicsProxyWidget::focusOutEvent
+272 QGraphicsProxyWidget::hideEvent
+280 QGraphicsWidget::moveEvent
+288 QGraphicsWidget::polishEvent
+296 QGraphicsProxyWidget::resizeEvent
+304 QGraphicsProxyWidget::showEvent
+312 QGraphicsProxyWidget::hoverMoveEvent
+320 QGraphicsProxyWidget::hoverLeaveEvent
+328 QGraphicsProxyWidget::grabMouseEvent
+336 QGraphicsProxyWidget::ungrabMouseEvent
+344 QGraphicsWidget::grabKeyboardEvent
+352 QGraphicsWidget::ungrabKeyboardEvent
+360 QGraphicsProxyWidget::contextMenuEvent
+368 QGraphicsProxyWidget::dragEnterEvent
+376 QGraphicsProxyWidget::dragLeaveEvent
+384 QGraphicsProxyWidget::dragMoveEvent
+392 QGraphicsProxyWidget::dropEvent
+400 QGraphicsProxyWidget::hoverEnterEvent
+408 QGraphicsProxyWidget::mouseMoveEvent
+416 QGraphicsProxyWidget::mousePressEvent
+424 QGraphicsProxyWidget::mouseReleaseEvent
+432 QGraphicsProxyWidget::mouseDoubleClickEvent
+440 QGraphicsProxyWidget::wheelEvent
+448 QGraphicsProxyWidget::keyPressEvent
+456 QGraphicsProxyWidget::keyReleaseEvent
+464 (int (*)(...))-0x00000000000000010
+472 (int (*)(...))(& _ZTI20QGraphicsProxyWidget)
+480 QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidgetD1Ev
+488 QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidgetD0Ev
+496 QGraphicsItem::advance
+504 QGraphicsWidget::_ZThn16_NK15QGraphicsWidget12boundingRectEv
+512 QGraphicsWidget::_ZThn16_NK15QGraphicsWidget5shapeEv
+520 QGraphicsItem::contains
+528 QGraphicsItem::collidesWithItem
+536 QGraphicsItem::collidesWithPath
+544 QGraphicsItem::isObscuredBy
+552 QGraphicsItem::opaqueArea
+560 QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget5paintEP8QPainterPK24QStyleOptionGraphicsItemP7QWidget
+568 QGraphicsProxyWidget::_ZThn16_NK20QGraphicsProxyWidget4typeEv
+576 QGraphicsItem::sceneEventFilter
+584 QGraphicsWidget::_ZThn16_N15QGraphicsWidget10sceneEventEP6QEvent
+592 QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget16contextMenuEventEP30QGraphicsSceneContextMenuEvent
+600 QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget14dragEnterEventEP27QGraphicsSceneDragDropEvent
+608 QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget14dragLeaveEventEP27QGraphicsSceneDragDropEvent
+616 QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget13dragMoveEventEP27QGraphicsSceneDragDropEvent
+624 QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget9dropEventEP27QGraphicsSceneDragDropEvent
+632 QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget12focusInEventEP11QFocusEvent
+640 QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget13focusOutEventEP11QFocusEvent
+648 QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget15hoverEnterEventEP24QGraphicsSceneHoverEvent
+656 QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget14hoverMoveEventEP24QGraphicsSceneHoverEvent
+664 QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget15hoverLeaveEventEP24QGraphicsSceneHoverEvent
+672 QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget13keyPressEventEP9QKeyEvent
+680 QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget15keyReleaseEventEP9QKeyEvent
+688 QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget15mousePressEventEP24QGraphicsSceneMouseEvent
+696 QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget14mouseMoveEventEP24QGraphicsSceneMouseEvent
+704 QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget17mouseReleaseEventEP24QGraphicsSceneMouseEvent
+712 QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget21mouseDoubleClickEventEP24QGraphicsSceneMouseEvent
+720 QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget10wheelEventEP24QGraphicsSceneWheelEvent
+728 QGraphicsItem::inputMethodEvent
+736 QGraphicsItem::inputMethodQuery
+744 QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget10itemChangeEN13QGraphicsItem18GraphicsItemChangeERK8QVariant
+752 QGraphicsItem::supportsExtension
+760 QGraphicsItem::setExtension
+768 QGraphicsItem::extension
+776 (int (*)(...))-0x00000000000000020
+784 (int (*)(...))(& _ZTI20QGraphicsProxyWidget)
+792 QGraphicsProxyWidget::_ZThn32_N20QGraphicsProxyWidgetD1Ev
+800 QGraphicsProxyWidget::_ZThn32_N20QGraphicsProxyWidgetD0Ev
+808 QGraphicsProxyWidget::_ZThn32_N20QGraphicsProxyWidget11setGeometryERK6QRectF
+816 QGraphicsWidget::_ZThn32_NK15QGraphicsWidget18getContentsMarginsEPdS0_S0_S0_
+824 QGraphicsWidget::_ZThn32_N15QGraphicsWidget14updateGeometryEv
+832 QGraphicsProxyWidget::_ZThn32_NK20QGraphicsProxyWidget8sizeHintEN2Qt8SizeHintERK6QSizeF
+
+Class QGraphicsProxyWidget
+ size=48 align=8
+ base size=48 base align=8
+QGraphicsProxyWidget (0x7fc389c748c0) 0
+ vptr=((& QGraphicsProxyWidget::_ZTV20QGraphicsProxyWidget) + 16u)
+ QGraphicsWidget (0x7fc389c79000) 0
+ primary-for QGraphicsProxyWidget (0x7fc389c748c0)
+ QGraphicsObject (0x7fc389c79080) 0
+ primary-for QGraphicsWidget (0x7fc389c79000)
+ QObject (0x7fc389c74930) 0
+ primary-for QGraphicsObject (0x7fc389c79080)
+ QGraphicsItem (0x7fc389c749a0) 16
+ vptr=((& QGraphicsProxyWidget::_ZTV20QGraphicsProxyWidget) + 480u)
+ QGraphicsLayoutItem (0x7fc389c74a10) 32
+ vptr=((& QGraphicsProxyWidget::_ZTV20QGraphicsProxyWidget) + 792u)
+
+Vtable for QGraphicsScene
+QGraphicsScene::_ZTV14QGraphicsScene: 34u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QGraphicsScene)
+16 QGraphicsScene::metaObject
+24 QGraphicsScene::qt_metacast
+32 QGraphicsScene::qt_metacall
+40 QGraphicsScene::~QGraphicsScene
+48 QGraphicsScene::~QGraphicsScene
+56 QGraphicsScene::event
+64 QGraphicsScene::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QGraphicsScene::inputMethodQuery
+120 QGraphicsScene::contextMenuEvent
+128 QGraphicsScene::dragEnterEvent
+136 QGraphicsScene::dragMoveEvent
+144 QGraphicsScene::dragLeaveEvent
+152 QGraphicsScene::dropEvent
+160 QGraphicsScene::focusInEvent
+168 QGraphicsScene::focusOutEvent
+176 QGraphicsScene::helpEvent
+184 QGraphicsScene::keyPressEvent
+192 QGraphicsScene::keyReleaseEvent
+200 QGraphicsScene::mousePressEvent
+208 QGraphicsScene::mouseMoveEvent
+216 QGraphicsScene::mouseReleaseEvent
+224 QGraphicsScene::mouseDoubleClickEvent
+232 QGraphicsScene::wheelEvent
+240 QGraphicsScene::inputMethodEvent
+248 QGraphicsScene::drawBackground
+256 QGraphicsScene::drawForeground
+264 QGraphicsScene::drawItems
+
+Class QGraphicsScene
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsScene (0x7fc389ca1930) 0
+ vptr=((& QGraphicsScene::_ZTV14QGraphicsScene) + 16u)
+ QObject (0x7fc389ca19a0) 0
+ primary-for QGraphicsScene (0x7fc389ca1930)
+
+Vtable for QGraphicsSceneEvent
+QGraphicsSceneEvent::_ZTV19QGraphicsSceneEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QGraphicsSceneEvent)
+16 QGraphicsSceneEvent::~QGraphicsSceneEvent
+24 QGraphicsSceneEvent::~QGraphicsSceneEvent
+
+Class QGraphicsSceneEvent
+ size=32 align=8
+ base size=32 base align=8
+QGraphicsSceneEvent (0x7fc389b53850) 0
+ vptr=((& QGraphicsSceneEvent::_ZTV19QGraphicsSceneEvent) + 16u)
+ QEvent (0x7fc389b538c0) 0
+ primary-for QGraphicsSceneEvent (0x7fc389b53850)
+
+Vtable for QGraphicsSceneMouseEvent
+QGraphicsSceneMouseEvent::_ZTV24QGraphicsSceneMouseEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI24QGraphicsSceneMouseEvent)
+16 QGraphicsSceneMouseEvent::~QGraphicsSceneMouseEvent
+24 QGraphicsSceneMouseEvent::~QGraphicsSceneMouseEvent
+
+Class QGraphicsSceneMouseEvent
+ size=32 align=8
+ base size=32 base align=8
+QGraphicsSceneMouseEvent (0x7fc389b82310) 0
+ vptr=((& QGraphicsSceneMouseEvent::_ZTV24QGraphicsSceneMouseEvent) + 16u)
+ QGraphicsSceneEvent (0x7fc389b82380) 0
+ primary-for QGraphicsSceneMouseEvent (0x7fc389b82310)
+ QEvent (0x7fc389b823f0) 0
+ primary-for QGraphicsSceneEvent (0x7fc389b82380)
+
+Vtable for QGraphicsSceneWheelEvent
+QGraphicsSceneWheelEvent::_ZTV24QGraphicsSceneWheelEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI24QGraphicsSceneWheelEvent)
+16 QGraphicsSceneWheelEvent::~QGraphicsSceneWheelEvent
+24 QGraphicsSceneWheelEvent::~QGraphicsSceneWheelEvent
+
+Class QGraphicsSceneWheelEvent
+ size=32 align=8
+ base size=32 base align=8
+QGraphicsSceneWheelEvent (0x7fc389b82cb0) 0
+ vptr=((& QGraphicsSceneWheelEvent::_ZTV24QGraphicsSceneWheelEvent) + 16u)
+ QGraphicsSceneEvent (0x7fc389b82d20) 0
+ primary-for QGraphicsSceneWheelEvent (0x7fc389b82cb0)
+ QEvent (0x7fc389b82d90) 0
+ primary-for QGraphicsSceneEvent (0x7fc389b82d20)
+
+Vtable for QGraphicsSceneContextMenuEvent
+QGraphicsSceneContextMenuEvent::_ZTV30QGraphicsSceneContextMenuEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI30QGraphicsSceneContextMenuEvent)
+16 QGraphicsSceneContextMenuEvent::~QGraphicsSceneContextMenuEvent
+24 QGraphicsSceneContextMenuEvent::~QGraphicsSceneContextMenuEvent
+
+Class QGraphicsSceneContextMenuEvent
+ size=32 align=8
+ base size=32 base align=8
+QGraphicsSceneContextMenuEvent (0x7fc389b985b0) 0
+ vptr=((& QGraphicsSceneContextMenuEvent::_ZTV30QGraphicsSceneContextMenuEvent) + 16u)
+ QGraphicsSceneEvent (0x7fc389b98620) 0
+ primary-for QGraphicsSceneContextMenuEvent (0x7fc389b985b0)
+ QEvent (0x7fc389b98690) 0
+ primary-for QGraphicsSceneEvent (0x7fc389b98620)
+
+Vtable for QGraphicsSceneHoverEvent
+QGraphicsSceneHoverEvent::_ZTV24QGraphicsSceneHoverEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI24QGraphicsSceneHoverEvent)
+16 QGraphicsSceneHoverEvent::~QGraphicsSceneHoverEvent
+24 QGraphicsSceneHoverEvent::~QGraphicsSceneHoverEvent
+
+Class QGraphicsSceneHoverEvent
+ size=32 align=8
+ base size=32 base align=8
+QGraphicsSceneHoverEvent (0x7fc3899a40e0) 0
+ vptr=((& QGraphicsSceneHoverEvent::_ZTV24QGraphicsSceneHoverEvent) + 16u)
+ QGraphicsSceneEvent (0x7fc3899a4150) 0
+ primary-for QGraphicsSceneHoverEvent (0x7fc3899a40e0)
+ QEvent (0x7fc3899a41c0) 0
+ primary-for QGraphicsSceneEvent (0x7fc3899a4150)
+
+Vtable for QGraphicsSceneHelpEvent
+QGraphicsSceneHelpEvent::_ZTV23QGraphicsSceneHelpEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI23QGraphicsSceneHelpEvent)
+16 QGraphicsSceneHelpEvent::~QGraphicsSceneHelpEvent
+24 QGraphicsSceneHelpEvent::~QGraphicsSceneHelpEvent
+
+Class QGraphicsSceneHelpEvent
+ size=32 align=8
+ base size=32 base align=8
+QGraphicsSceneHelpEvent (0x7fc3899a4a80) 0
+ vptr=((& QGraphicsSceneHelpEvent::_ZTV23QGraphicsSceneHelpEvent) + 16u)
+ QGraphicsSceneEvent (0x7fc3899a4af0) 0
+ primary-for QGraphicsSceneHelpEvent (0x7fc3899a4a80)
+ QEvent (0x7fc3899a4b60) 0
+ primary-for QGraphicsSceneEvent (0x7fc3899a4af0)
+
+Vtable for QGraphicsSceneDragDropEvent
+QGraphicsSceneDragDropEvent::_ZTV27QGraphicsSceneDragDropEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI27QGraphicsSceneDragDropEvent)
+16 QGraphicsSceneDragDropEvent::~QGraphicsSceneDragDropEvent
+24 QGraphicsSceneDragDropEvent::~QGraphicsSceneDragDropEvent
+
+Class QGraphicsSceneDragDropEvent
+ size=32 align=8
+ base size=32 base align=8
+QGraphicsSceneDragDropEvent (0x7fc3899b6380) 0
+ vptr=((& QGraphicsSceneDragDropEvent::_ZTV27QGraphicsSceneDragDropEvent) + 16u)
+ QGraphicsSceneEvent (0x7fc3899b63f0) 0
+ primary-for QGraphicsSceneDragDropEvent (0x7fc3899b6380)
+ QEvent (0x7fc3899b6460) 0
+ primary-for QGraphicsSceneEvent (0x7fc3899b63f0)
+
+Vtable for QGraphicsSceneResizeEvent
+QGraphicsSceneResizeEvent::_ZTV25QGraphicsSceneResizeEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI25QGraphicsSceneResizeEvent)
+16 QGraphicsSceneResizeEvent::~QGraphicsSceneResizeEvent
+24 QGraphicsSceneResizeEvent::~QGraphicsSceneResizeEvent
+
+Class QGraphicsSceneResizeEvent
+ size=32 align=8
+ base size=32 base align=8
+QGraphicsSceneResizeEvent (0x7fc3899b6d20) 0
+ vptr=((& QGraphicsSceneResizeEvent::_ZTV25QGraphicsSceneResizeEvent) + 16u)
+ QGraphicsSceneEvent (0x7fc3899b6d90) 0
+ primary-for QGraphicsSceneResizeEvent (0x7fc3899b6d20)
+ QEvent (0x7fc3899b6e00) 0
+ primary-for QGraphicsSceneEvent (0x7fc3899b6d90)
+
+Vtable for QGraphicsSceneMoveEvent
+QGraphicsSceneMoveEvent::_ZTV23QGraphicsSceneMoveEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI23QGraphicsSceneMoveEvent)
+16 QGraphicsSceneMoveEvent::~QGraphicsSceneMoveEvent
+24 QGraphicsSceneMoveEvent::~QGraphicsSceneMoveEvent
+
+Class QGraphicsSceneMoveEvent
+ size=32 align=8
+ base size=32 base align=8
+QGraphicsSceneMoveEvent (0x7fc3899cb460) 0
+ vptr=((& QGraphicsSceneMoveEvent::_ZTV23QGraphicsSceneMoveEvent) + 16u)
+ QGraphicsSceneEvent (0x7fc3899cb4d0) 0
+ primary-for QGraphicsSceneMoveEvent (0x7fc3899cb460)
+ QEvent (0x7fc3899cb540) 0
+ primary-for QGraphicsSceneEvent (0x7fc3899cb4d0)
+
+Vtable for QGraphicsTransform
+QGraphicsTransform::_ZTV18QGraphicsTransform: 15u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QGraphicsTransform)
+16 QGraphicsTransform::metaObject
+24 QGraphicsTransform::qt_metacast
+32 QGraphicsTransform::qt_metacall
+40 QGraphicsTransform::~QGraphicsTransform
+48 QGraphicsTransform::~QGraphicsTransform
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+
+Class QGraphicsTransform
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsTransform (0x7fc3899cbc40) 0
+ vptr=((& QGraphicsTransform::_ZTV18QGraphicsTransform) + 16u)
+ QObject (0x7fc3899cbcb0) 0
+ primary-for QGraphicsTransform (0x7fc3899cbc40)
+
+Vtable for QGraphicsScale
+QGraphicsScale::_ZTV14QGraphicsScale: 15u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QGraphicsScale)
+16 QGraphicsScale::metaObject
+24 QGraphicsScale::qt_metacast
+32 QGraphicsScale::qt_metacall
+40 QGraphicsScale::~QGraphicsScale
+48 QGraphicsScale::~QGraphicsScale
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QGraphicsScale::applyTo
+
+Class QGraphicsScale
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsScale (0x7fc3899e9150) 0
+ vptr=((& QGraphicsScale::_ZTV14QGraphicsScale) + 16u)
+ QGraphicsTransform (0x7fc3899e91c0) 0
+ primary-for QGraphicsScale (0x7fc3899e9150)
+ QObject (0x7fc3899e9230) 0
+ primary-for QGraphicsTransform (0x7fc3899e91c0)
+
+Vtable for QGraphicsRotation
+QGraphicsRotation::_ZTV17QGraphicsRotation: 15u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QGraphicsRotation)
+16 QGraphicsRotation::metaObject
+24 QGraphicsRotation::qt_metacast
+32 QGraphicsRotation::qt_metacall
+40 QGraphicsRotation::~QGraphicsRotation
+48 QGraphicsRotation::~QGraphicsRotation
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QGraphicsRotation::applyTo
+
+Class QGraphicsRotation
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsRotation (0x7fc3899fe620) 0
+ vptr=((& QGraphicsRotation::_ZTV17QGraphicsRotation) + 16u)
+ QGraphicsTransform (0x7fc3899fe690) 0
+ primary-for QGraphicsRotation (0x7fc3899fe620)
+ QObject (0x7fc3899fe700) 0
+ primary-for QGraphicsTransform (0x7fc3899fe690)
+
+Vtable for QScrollArea
+QScrollArea::_ZTV11QScrollArea: 65u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QScrollArea)
+16 QScrollArea::metaObject
+24 QScrollArea::qt_metacast
+32 QScrollArea::qt_metacall
+40 QScrollArea::~QScrollArea
+48 QScrollArea::~QScrollArea
+56 QScrollArea::event
+64 QScrollArea::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QScrollArea::sizeHint
+136 QAbstractScrollArea::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QAbstractScrollArea::mousePressEvent
+168 QAbstractScrollArea::mouseReleaseEvent
+176 QAbstractScrollArea::mouseDoubleClickEvent
+184 QAbstractScrollArea::mouseMoveEvent
+192 QAbstractScrollArea::wheelEvent
+200 QAbstractScrollArea::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QAbstractScrollArea::paintEvent
+256 QWidget::moveEvent
+264 QScrollArea::resizeEvent
+272 QWidget::closeEvent
+280 QAbstractScrollArea::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QAbstractScrollArea::dragEnterEvent
+312 QAbstractScrollArea::dragMoveEvent
+320 QAbstractScrollArea::dragLeaveEvent
+328 QAbstractScrollArea::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QFrame::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QScrollArea::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QAbstractScrollArea::viewportEvent
+456 QScrollArea::scrollContentsBy
+464 (int (*)(...))-0x00000000000000010
+472 (int (*)(...))(& _ZTI11QScrollArea)
+480 QScrollArea::_ZThn16_N11QScrollAreaD1Ev
+488 QScrollArea::_ZThn16_N11QScrollAreaD0Ev
+496 QWidget::_ZThn16_NK7QWidget7devTypeEv
+504 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+512 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QScrollArea
+ size=40 align=8
+ base size=40 base align=8
+QScrollArea (0x7fc389a0faf0) 0
+ vptr=((& QScrollArea::_ZTV11QScrollArea) + 16u)
+ QAbstractScrollArea (0x7fc389a0fb60) 0
+ primary-for QScrollArea (0x7fc389a0faf0)
+ QFrame (0x7fc389a0fbd0) 0
+ primary-for QAbstractScrollArea (0x7fc389a0fb60)
+ QWidget (0x7fc3899ffc80) 0
+ primary-for QFrame (0x7fc389a0fbd0)
+ QObject (0x7fc389a0fc40) 0
+ primary-for QWidget (0x7fc3899ffc80)
+ QPaintDevice (0x7fc389a0fcb0) 16
+ vptr=((& QScrollArea::_ZTV11QScrollArea) + 480u)
+
+Vtable for QGraphicsView
+QGraphicsView::_ZTV13QGraphicsView: 68u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QGraphicsView)
+16 QGraphicsView::metaObject
+24 QGraphicsView::qt_metacast
+32 QGraphicsView::qt_metacall
+40 QGraphicsView::~QGraphicsView
+48 QGraphicsView::~QGraphicsView
+56 QGraphicsView::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QGraphicsView::sizeHint
+136 QAbstractScrollArea::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QGraphicsView::mousePressEvent
+168 QGraphicsView::mouseReleaseEvent
+176 QGraphicsView::mouseDoubleClickEvent
+184 QGraphicsView::mouseMoveEvent
+192 QGraphicsView::wheelEvent
+200 QGraphicsView::keyPressEvent
+208 QGraphicsView::keyReleaseEvent
+216 QGraphicsView::focusInEvent
+224 QGraphicsView::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QGraphicsView::paintEvent
+256 QWidget::moveEvent
+264 QGraphicsView::resizeEvent
+272 QWidget::closeEvent
+280 QGraphicsView::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QGraphicsView::dragEnterEvent
+312 QGraphicsView::dragMoveEvent
+320 QGraphicsView::dragLeaveEvent
+328 QGraphicsView::dropEvent
+336 QGraphicsView::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QFrame::changeEvent
+368 QWidget::metric
+376 QGraphicsView::inputMethodEvent
+384 QGraphicsView::inputMethodQuery
+392 QGraphicsView::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QGraphicsView::viewportEvent
+456 QGraphicsView::scrollContentsBy
+464 QGraphicsView::drawBackground
+472 QGraphicsView::drawForeground
+480 QGraphicsView::drawItems
+488 (int (*)(...))-0x00000000000000010
+496 (int (*)(...))(& _ZTI13QGraphicsView)
+504 QGraphicsView::_ZThn16_N13QGraphicsViewD1Ev
+512 QGraphicsView::_ZThn16_N13QGraphicsViewD0Ev
+520 QWidget::_ZThn16_NK7QWidget7devTypeEv
+528 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+536 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QGraphicsView
+ size=40 align=8
+ base size=40 base align=8
+QGraphicsView (0x7fc389a31a10) 0
+ vptr=((& QGraphicsView::_ZTV13QGraphicsView) + 16u)
+ QAbstractScrollArea (0x7fc389a31a80) 0
+ primary-for QGraphicsView (0x7fc389a31a10)
+ QFrame (0x7fc389a31af0) 0
+ primary-for QAbstractScrollArea (0x7fc389a31a80)
+ QWidget (0x7fc389a2c680) 0
+ primary-for QFrame (0x7fc389a31af0)
+ QObject (0x7fc389a31b60) 0
+ primary-for QWidget (0x7fc389a2c680)
+ QPaintDevice (0x7fc389a31bd0) 16
+ vptr=((& QGraphicsView::_ZTV13QGraphicsView) + 504u)
+
+Vtable for QAbstractButton
+QAbstractButton::_ZTV15QAbstractButton: 66u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QAbstractButton)
+16 QAbstractButton::metaObject
+24 QAbstractButton::qt_metacast
+32 QAbstractButton::qt_metacall
+40 QAbstractButton::~QAbstractButton
+48 QAbstractButton::~QAbstractButton
+56 QAbstractButton::event
+64 QObject::eventFilter
+72 QAbstractButton::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QWidget::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QAbstractButton::mousePressEvent
+168 QAbstractButton::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QAbstractButton::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QAbstractButton::keyPressEvent
+208 QAbstractButton::keyReleaseEvent
+216 QAbstractButton::focusInEvent
+224 QAbstractButton::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 __cxa_pure_virtual
+256 QWidget::moveEvent
+264 QWidget::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QAbstractButton::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QAbstractButton::hitButton
+456 QAbstractButton::checkStateSet
+464 QAbstractButton::nextCheckState
+472 (int (*)(...))-0x00000000000000010
+480 (int (*)(...))(& _ZTI15QAbstractButton)
+488 QAbstractButton::_ZThn16_N15QAbstractButtonD1Ev
+496 QAbstractButton::_ZThn16_N15QAbstractButtonD0Ev
+504 QWidget::_ZThn16_NK7QWidget7devTypeEv
+512 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+520 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QAbstractButton
+ size=40 align=8
+ base size=40 base align=8
+QAbstractButton (0x7fc389920ee0) 0
+ vptr=((& QAbstractButton::_ZTV15QAbstractButton) + 16u)
+ QWidget (0x7fc38992a380) 0
+ primary-for QAbstractButton (0x7fc389920ee0)
+ QObject (0x7fc389920f50) 0
+ primary-for QWidget (0x7fc38992a380)
+ QPaintDevice (0x7fc38992f000) 16
+ vptr=((& QAbstractButton::_ZTV15QAbstractButton) + 488u)
+
+Vtable for QButtonGroup
+QButtonGroup::_ZTV12QButtonGroup: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QButtonGroup)
+16 QButtonGroup::metaObject
+24 QButtonGroup::qt_metacast
+32 QButtonGroup::qt_metacall
+40 QButtonGroup::~QButtonGroup
+48 QButtonGroup::~QButtonGroup
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QButtonGroup
+ size=16 align=8
+ base size=16 base align=8
+QButtonGroup (0x7fc389960310) 0
+ vptr=((& QButtonGroup::_ZTV12QButtonGroup) + 16u)
+ QObject (0x7fc389960380) 0
+ primary-for QButtonGroup (0x7fc389960310)
+
+Vtable for QCalendarWidget
+QCalendarWidget::_ZTV15QCalendarWidget: 64u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QCalendarWidget)
+16 QCalendarWidget::metaObject
+24 QCalendarWidget::qt_metacast
+32 QCalendarWidget::qt_metacall
+40 QCalendarWidget::~QCalendarWidget
+48 QCalendarWidget::~QCalendarWidget
+56 QCalendarWidget::event
+64 QCalendarWidget::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QCalendarWidget::sizeHint
+136 QCalendarWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QCalendarWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QCalendarWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QWidget::paintEvent
+256 QWidget::moveEvent
+264 QCalendarWidget::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QWidget::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QCalendarWidget::paintCell
+456 (int (*)(...))-0x00000000000000010
+464 (int (*)(...))(& _ZTI15QCalendarWidget)
+472 QCalendarWidget::_ZThn16_N15QCalendarWidgetD1Ev
+480 QCalendarWidget::_ZThn16_N15QCalendarWidgetD0Ev
+488 QWidget::_ZThn16_NK7QWidget7devTypeEv
+496 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+504 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QCalendarWidget
+ size=40 align=8
+ base size=40 base align=8
+QCalendarWidget (0x7fc389979f50) 0
+ vptr=((& QCalendarWidget::_ZTV15QCalendarWidget) + 16u)
+ QWidget (0x7fc389976900) 0
+ primary-for QCalendarWidget (0x7fc389979f50)
+ QObject (0x7fc389980000) 0
+ primary-for QWidget (0x7fc389976900)
+ QPaintDevice (0x7fc389980070) 16
+ vptr=((& QCalendarWidget::_ZTV15QCalendarWidget) + 472u)
+
+Vtable for QCheckBox
+QCheckBox::_ZTV9QCheckBox: 66u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QCheckBox)
+16 QCheckBox::metaObject
+24 QCheckBox::qt_metacast
+32 QCheckBox::qt_metacall
+40 QCheckBox::~QCheckBox
+48 QCheckBox::~QCheckBox
+56 QCheckBox::event
+64 QObject::eventFilter
+72 QAbstractButton::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QCheckBox::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QAbstractButton::mousePressEvent
+168 QAbstractButton::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QCheckBox::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QAbstractButton::keyPressEvent
+208 QAbstractButton::keyReleaseEvent
+216 QAbstractButton::focusInEvent
+224 QAbstractButton::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QCheckBox::paintEvent
+256 QWidget::moveEvent
+264 QWidget::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QAbstractButton::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QCheckBox::hitButton
+456 QCheckBox::checkStateSet
+464 QCheckBox::nextCheckState
+472 (int (*)(...))-0x00000000000000010
+480 (int (*)(...))(& _ZTI9QCheckBox)
+488 QCheckBox::_ZThn16_N9QCheckBoxD1Ev
+496 QCheckBox::_ZThn16_N9QCheckBoxD0Ev
+504 QWidget::_ZThn16_NK7QWidget7devTypeEv
+512 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+520 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QCheckBox
+ size=40 align=8
+ base size=40 base align=8
+QCheckBox (0x7fc3897aa0e0) 0
+ vptr=((& QCheckBox::_ZTV9QCheckBox) + 16u)
+ QAbstractButton (0x7fc3897aa150) 0
+ primary-for QCheckBox (0x7fc3897aa0e0)
+ QWidget (0x7fc38999e900) 0
+ primary-for QAbstractButton (0x7fc3897aa150)
+ QObject (0x7fc3897aa1c0) 0
+ primary-for QWidget (0x7fc38999e900)
+ QPaintDevice (0x7fc3897aa230) 16
+ vptr=((& QCheckBox::_ZTV9QCheckBox) + 488u)
+
+Vtable for QComboBox
+QComboBox::_ZTV9QComboBox: 65u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QComboBox)
+16 QComboBox::metaObject
+24 QComboBox::qt_metacast
+32 QComboBox::qt_metacall
+40 QComboBox::~QComboBox
+48 QComboBox::~QComboBox
+56 QComboBox::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QComboBox::sizeHint
+136 QComboBox::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QComboBox::mousePressEvent
+168 QComboBox::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QComboBox::wheelEvent
+200 QComboBox::keyPressEvent
+208 QComboBox::keyReleaseEvent
+216 QComboBox::focusInEvent
+224 QComboBox::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QComboBox::paintEvent
+256 QWidget::moveEvent
+264 QComboBox::resizeEvent
+272 QWidget::closeEvent
+280 QComboBox::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QComboBox::showEvent
+344 QComboBox::hideEvent
+352 QWidget::x11Event
+360 QComboBox::changeEvent
+368 QWidget::metric
+376 QComboBox::inputMethodEvent
+384 QComboBox::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QComboBox::showPopup
+456 QComboBox::hidePopup
+464 (int (*)(...))-0x00000000000000010
+472 (int (*)(...))(& _ZTI9QComboBox)
+480 QComboBox::_ZThn16_N9QComboBoxD1Ev
+488 QComboBox::_ZThn16_N9QComboBoxD0Ev
+496 QWidget::_ZThn16_NK7QWidget7devTypeEv
+504 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+512 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QComboBox
+ size=40 align=8
+ base size=40 base align=8
+QComboBox (0x7fc3897cc8c0) 0
+ vptr=((& QComboBox::_ZTV9QComboBox) + 16u)
+ QWidget (0x7fc3897c6900) 0
+ primary-for QComboBox (0x7fc3897cc8c0)
+ QObject (0x7fc3897cc930) 0
+ primary-for QWidget (0x7fc3897c6900)
+ QPaintDevice (0x7fc3897cc9a0) 16
+ vptr=((& QComboBox::_ZTV9QComboBox) + 480u)
+
+Vtable for QPushButton
+QPushButton::_ZTV11QPushButton: 66u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QPushButton)
+16 QPushButton::metaObject
+24 QPushButton::qt_metacast
+32 QPushButton::qt_metacall
+40 QPushButton::~QPushButton
+48 QPushButton::~QPushButton
+56 QPushButton::event
+64 QObject::eventFilter
+72 QAbstractButton::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QPushButton::sizeHint
+136 QPushButton::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QAbstractButton::mousePressEvent
+168 QAbstractButton::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QAbstractButton::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QPushButton::keyPressEvent
+208 QAbstractButton::keyReleaseEvent
+216 QPushButton::focusInEvent
+224 QPushButton::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QPushButton::paintEvent
+256 QWidget::moveEvent
+264 QWidget::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QAbstractButton::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QAbstractButton::hitButton
+456 QAbstractButton::checkStateSet
+464 QAbstractButton::nextCheckState
+472 (int (*)(...))-0x00000000000000010
+480 (int (*)(...))(& _ZTI11QPushButton)
+488 QPushButton::_ZThn16_N11QPushButtonD1Ev
+496 QPushButton::_ZThn16_N11QPushButtonD0Ev
+504 QWidget::_ZThn16_NK7QWidget7devTypeEv
+512 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+520 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QPushButton
+ size=40 align=8
+ base size=40 base align=8
+QPushButton (0x7fc38983b3f0) 0
+ vptr=((& QPushButton::_ZTV11QPushButton) + 16u)
+ QAbstractButton (0x7fc38983b460) 0
+ primary-for QPushButton (0x7fc38983b3f0)
+ QWidget (0x7fc389837600) 0
+ primary-for QAbstractButton (0x7fc38983b460)
+ QObject (0x7fc38983b4d0) 0
+ primary-for QWidget (0x7fc389837600)
+ QPaintDevice (0x7fc38983b540) 16
+ vptr=((& QPushButton::_ZTV11QPushButton) + 488u)
+
+Vtable for QCommandLinkButton
+QCommandLinkButton::_ZTV18QCommandLinkButton: 66u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QCommandLinkButton)
+16 QCommandLinkButton::metaObject
+24 QCommandLinkButton::qt_metacast
+32 QCommandLinkButton::qt_metacall
+40 QCommandLinkButton::~QCommandLinkButton
+48 QCommandLinkButton::~QCommandLinkButton
+56 QCommandLinkButton::event
+64 QObject::eventFilter
+72 QAbstractButton::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QCommandLinkButton::sizeHint
+136 QCommandLinkButton::minimumSizeHint
+144 QCommandLinkButton::heightForWidth
+152 QWidget::paintEngine
+160 QAbstractButton::mousePressEvent
+168 QAbstractButton::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QAbstractButton::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QPushButton::keyPressEvent
+208 QAbstractButton::keyReleaseEvent
+216 QPushButton::focusInEvent
+224 QPushButton::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QCommandLinkButton::paintEvent
+256 QWidget::moveEvent
+264 QWidget::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QAbstractButton::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QAbstractButton::hitButton
+456 QAbstractButton::checkStateSet
+464 QAbstractButton::nextCheckState
+472 (int (*)(...))-0x00000000000000010
+480 (int (*)(...))(& _ZTI18QCommandLinkButton)
+488 QCommandLinkButton::_ZThn16_N18QCommandLinkButtonD1Ev
+496 QCommandLinkButton::_ZThn16_N18QCommandLinkButtonD0Ev
+504 QWidget::_ZThn16_NK7QWidget7devTypeEv
+512 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+520 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QCommandLinkButton
+ size=40 align=8
+ base size=40 base align=8
+QCommandLinkButton (0x7fc38985fd20) 0
+ vptr=((& QCommandLinkButton::_ZTV18QCommandLinkButton) + 16u)
+ QPushButton (0x7fc38985fd90) 0
+ primary-for QCommandLinkButton (0x7fc38985fd20)
+ QAbstractButton (0x7fc38985fe00) 0
+ primary-for QPushButton (0x7fc38985fd90)
+ QWidget (0x7fc389861600) 0
+ primary-for QAbstractButton (0x7fc38985fe00)
+ QObject (0x7fc38985fe70) 0
+ primary-for QWidget (0x7fc389861600)
+ QPaintDevice (0x7fc38985fee0) 16
+ vptr=((& QCommandLinkButton::_ZTV18QCommandLinkButton) + 488u)
+
+Vtable for QDateTimeEdit
+QDateTimeEdit::_ZTV13QDateTimeEdit: 70u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QDateTimeEdit)
+16 QDateTimeEdit::metaObject
+24 QDateTimeEdit::qt_metacast
+32 QDateTimeEdit::qt_metacall
+40 QDateTimeEdit::~QDateTimeEdit
+48 QDateTimeEdit::~QDateTimeEdit
+56 QDateTimeEdit::event
+64 QObject::eventFilter
+72 QAbstractSpinBox::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QDateTimeEdit::sizeHint
+136 QAbstractSpinBox::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QDateTimeEdit::mousePressEvent
+168 QAbstractSpinBox::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QAbstractSpinBox::mouseMoveEvent
+192 QDateTimeEdit::wheelEvent
+200 QDateTimeEdit::keyPressEvent
+208 QAbstractSpinBox::keyReleaseEvent
+216 QDateTimeEdit::focusInEvent
+224 QAbstractSpinBox::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QDateTimeEdit::paintEvent
+256 QWidget::moveEvent
+264 QAbstractSpinBox::resizeEvent
+272 QAbstractSpinBox::closeEvent
+280 QAbstractSpinBox::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QAbstractSpinBox::showEvent
+344 QAbstractSpinBox::hideEvent
+352 QWidget::x11Event
+360 QAbstractSpinBox::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QAbstractSpinBox::inputMethodQuery
+392 QDateTimeEdit::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QDateTimeEdit::validate
+456 QDateTimeEdit::fixup
+464 QDateTimeEdit::stepBy
+472 QDateTimeEdit::clear
+480 QDateTimeEdit::stepEnabled
+488 QDateTimeEdit::dateTimeFromText
+496 QDateTimeEdit::textFromDateTime
+504 (int (*)(...))-0x00000000000000010
+512 (int (*)(...))(& _ZTI13QDateTimeEdit)
+520 QDateTimeEdit::_ZThn16_N13QDateTimeEditD1Ev
+528 QDateTimeEdit::_ZThn16_N13QDateTimeEditD0Ev
+536 QWidget::_ZThn16_NK7QWidget7devTypeEv
+544 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+552 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QDateTimeEdit
+ size=40 align=8
+ base size=40 base align=8
+QDateTimeEdit (0x7fc38987b8c0) 0
+ vptr=((& QDateTimeEdit::_ZTV13QDateTimeEdit) + 16u)
+ QAbstractSpinBox (0x7fc38987b930) 0
+ primary-for QDateTimeEdit (0x7fc38987b8c0)
+ QWidget (0x7fc389881000) 0
+ primary-for QAbstractSpinBox (0x7fc38987b930)
+ QObject (0x7fc38987b9a0) 0
+ primary-for QWidget (0x7fc389881000)
+ QPaintDevice (0x7fc38987ba10) 16
+ vptr=((& QDateTimeEdit::_ZTV13QDateTimeEdit) + 520u)
+
+Vtable for QTimeEdit
+QTimeEdit::_ZTV9QTimeEdit: 70u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QTimeEdit)
+16 QTimeEdit::metaObject
+24 QTimeEdit::qt_metacast
+32 QTimeEdit::qt_metacall
+40 QTimeEdit::~QTimeEdit
+48 QTimeEdit::~QTimeEdit
+56 QDateTimeEdit::event
+64 QObject::eventFilter
+72 QAbstractSpinBox::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QDateTimeEdit::sizeHint
+136 QAbstractSpinBox::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QDateTimeEdit::mousePressEvent
+168 QAbstractSpinBox::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QAbstractSpinBox::mouseMoveEvent
+192 QDateTimeEdit::wheelEvent
+200 QDateTimeEdit::keyPressEvent
+208 QAbstractSpinBox::keyReleaseEvent
+216 QDateTimeEdit::focusInEvent
+224 QAbstractSpinBox::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QDateTimeEdit::paintEvent
+256 QWidget::moveEvent
+264 QAbstractSpinBox::resizeEvent
+272 QAbstractSpinBox::closeEvent
+280 QAbstractSpinBox::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QAbstractSpinBox::showEvent
+344 QAbstractSpinBox::hideEvent
+352 QWidget::x11Event
+360 QAbstractSpinBox::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QAbstractSpinBox::inputMethodQuery
+392 QDateTimeEdit::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QDateTimeEdit::validate
+456 QDateTimeEdit::fixup
+464 QDateTimeEdit::stepBy
+472 QDateTimeEdit::clear
+480 QDateTimeEdit::stepEnabled
+488 QDateTimeEdit::dateTimeFromText
+496 QDateTimeEdit::textFromDateTime
+504 (int (*)(...))-0x00000000000000010
+512 (int (*)(...))(& _ZTI9QTimeEdit)
+520 QTimeEdit::_ZThn16_N9QTimeEditD1Ev
+528 QTimeEdit::_ZThn16_N9QTimeEditD0Ev
+536 QWidget::_ZThn16_NK7QWidget7devTypeEv
+544 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+552 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QTimeEdit
+ size=40 align=8
+ base size=40 base align=8
+QTimeEdit (0x7fc3896ad7e0) 0
+ vptr=((& QTimeEdit::_ZTV9QTimeEdit) + 16u)
+ QDateTimeEdit (0x7fc3896ad850) 0
+ primary-for QTimeEdit (0x7fc3896ad7e0)
+ QAbstractSpinBox (0x7fc3896ad8c0) 0
+ primary-for QDateTimeEdit (0x7fc3896ad850)
+ QWidget (0x7fc389881f80) 0
+ primary-for QAbstractSpinBox (0x7fc3896ad8c0)
+ QObject (0x7fc3896ad930) 0
+ primary-for QWidget (0x7fc389881f80)
+ QPaintDevice (0x7fc3896ad9a0) 16
+ vptr=((& QTimeEdit::_ZTV9QTimeEdit) + 520u)
+
+Vtable for QDateEdit
+QDateEdit::_ZTV9QDateEdit: 70u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QDateEdit)
+16 QDateEdit::metaObject
+24 QDateEdit::qt_metacast
+32 QDateEdit::qt_metacall
+40 QDateEdit::~QDateEdit
+48 QDateEdit::~QDateEdit
+56 QDateTimeEdit::event
+64 QObject::eventFilter
+72 QAbstractSpinBox::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QDateTimeEdit::sizeHint
+136 QAbstractSpinBox::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QDateTimeEdit::mousePressEvent
+168 QAbstractSpinBox::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QAbstractSpinBox::mouseMoveEvent
+192 QDateTimeEdit::wheelEvent
+200 QDateTimeEdit::keyPressEvent
+208 QAbstractSpinBox::keyReleaseEvent
+216 QDateTimeEdit::focusInEvent
+224 QAbstractSpinBox::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QDateTimeEdit::paintEvent
+256 QWidget::moveEvent
+264 QAbstractSpinBox::resizeEvent
+272 QAbstractSpinBox::closeEvent
+280 QAbstractSpinBox::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QAbstractSpinBox::showEvent
+344 QAbstractSpinBox::hideEvent
+352 QWidget::x11Event
+360 QAbstractSpinBox::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QAbstractSpinBox::inputMethodQuery
+392 QDateTimeEdit::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QDateTimeEdit::validate
+456 QDateTimeEdit::fixup
+464 QDateTimeEdit::stepBy
+472 QDateTimeEdit::clear
+480 QDateTimeEdit::stepEnabled
+488 QDateTimeEdit::dateTimeFromText
+496 QDateTimeEdit::textFromDateTime
+504 (int (*)(...))-0x00000000000000010
+512 (int (*)(...))(& _ZTI9QDateEdit)
+520 QDateEdit::_ZThn16_N9QDateEditD1Ev
+528 QDateEdit::_ZThn16_N9QDateEditD0Ev
+536 QWidget::_ZThn16_NK7QWidget7devTypeEv
+544 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+552 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QDateEdit
+ size=40 align=8
+ base size=40 base align=8
+QDateEdit (0x7fc3896c28c0) 0
+ vptr=((& QDateEdit::_ZTV9QDateEdit) + 16u)
+ QDateTimeEdit (0x7fc3896c2930) 0
+ primary-for QDateEdit (0x7fc3896c28c0)
+ QAbstractSpinBox (0x7fc3896c29a0) 0
+ primary-for QDateTimeEdit (0x7fc3896c2930)
+ QWidget (0x7fc3896b3680) 0
+ primary-for QAbstractSpinBox (0x7fc3896c29a0)
+ QObject (0x7fc3896c2a10) 0
+ primary-for QWidget (0x7fc3896b3680)
+ QPaintDevice (0x7fc3896c2a80) 16
+ vptr=((& QDateEdit::_ZTV9QDateEdit) + 520u)
+
+Vtable for QDial
+QDial::_ZTV5QDial: 64u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI5QDial)
+16 QDial::metaObject
+24 QDial::qt_metacast
+32 QDial::qt_metacall
+40 QDial::~QDial
+48 QDial::~QDial
+56 QDial::event
+64 QObject::eventFilter
+72 QAbstractSlider::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QDial::sizeHint
+136 QDial::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QDial::mousePressEvent
+168 QDial::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QDial::mouseMoveEvent
+192 QAbstractSlider::wheelEvent
+200 QAbstractSlider::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QDial::paintEvent
+256 QWidget::moveEvent
+264 QDial::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QAbstractSlider::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QDial::sliderChange
+456 (int (*)(...))-0x00000000000000010
+464 (int (*)(...))(& _ZTI5QDial)
+472 QDial::_ZThn16_N5QDialD1Ev
+480 QDial::_ZThn16_N5QDialD0Ev
+488 QWidget::_ZThn16_NK7QWidget7devTypeEv
+496 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+504 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QDial
+ size=40 align=8
+ base size=40 base align=8
+QDial (0x7fc389708690) 0
+ vptr=((& QDial::_ZTV5QDial) + 16u)
+ QAbstractSlider (0x7fc389708700) 0
+ primary-for QDial (0x7fc389708690)
+ QWidget (0x7fc389709300) 0
+ primary-for QAbstractSlider (0x7fc389708700)
+ QObject (0x7fc389708770) 0
+ primary-for QWidget (0x7fc389709300)
+ QPaintDevice (0x7fc3897087e0) 16
+ vptr=((& QDial::_ZTV5QDial) + 472u)
+
+Vtable for QDialogButtonBox
+QDialogButtonBox::_ZTV16QDialogButtonBox: 63u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QDialogButtonBox)
+16 QDialogButtonBox::metaObject
+24 QDialogButtonBox::qt_metacast
+32 QDialogButtonBox::qt_metacall
+40 QDialogButtonBox::~QDialogButtonBox
+48 QDialogButtonBox::~QDialogButtonBox
+56 QDialogButtonBox::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QWidget::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QWidget::paintEvent
+256 QWidget::moveEvent
+264 QWidget::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QDialogButtonBox::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 (int (*)(...))-0x00000000000000010
+456 (int (*)(...))(& _ZTI16QDialogButtonBox)
+464 QDialogButtonBox::_ZThn16_N16QDialogButtonBoxD1Ev
+472 QDialogButtonBox::_ZThn16_N16QDialogButtonBoxD0Ev
+480 QWidget::_ZThn16_NK7QWidget7devTypeEv
+488 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+496 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QDialogButtonBox
+ size=40 align=8
+ base size=40 base align=8
+QDialogButtonBox (0x7fc389747310) 0
+ vptr=((& QDialogButtonBox::_ZTV16QDialogButtonBox) + 16u)
+ QWidget (0x7fc389709d00) 0
+ primary-for QDialogButtonBox (0x7fc389747310)
+ QObject (0x7fc389747380) 0
+ primary-for QWidget (0x7fc389709d00)
+ QPaintDevice (0x7fc3897473f0) 16
+ vptr=((& QDialogButtonBox::_ZTV16QDialogButtonBox) + 464u)
+
+Vtable for QDockWidget
+QDockWidget::_ZTV11QDockWidget: 63u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QDockWidget)
+16 QDockWidget::metaObject
+24 QDockWidget::qt_metacast
+32 QDockWidget::qt_metacall
+40 QDockWidget::~QDockWidget
+48 QDockWidget::~QDockWidget
+56 QDockWidget::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QWidget::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QDockWidget::paintEvent
+256 QWidget::moveEvent
+264 QWidget::resizeEvent
+272 QDockWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QDockWidget::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 (int (*)(...))-0x00000000000000010
+456 (int (*)(...))(& _ZTI11QDockWidget)
+464 QDockWidget::_ZThn16_N11QDockWidgetD1Ev
+472 QDockWidget::_ZThn16_N11QDockWidgetD0Ev
+480 QWidget::_ZThn16_NK7QWidget7devTypeEv
+488 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+496 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QDockWidget
+ size=40 align=8
+ base size=40 base align=8
+QDockWidget (0x7fc38959c7e0) 0
+ vptr=((& QDockWidget::_ZTV11QDockWidget) + 16u)
+ QWidget (0x7fc389754e80) 0
+ primary-for QDockWidget (0x7fc38959c7e0)
+ QObject (0x7fc38959c850) 0
+ primary-for QWidget (0x7fc389754e80)
+ QPaintDevice (0x7fc38959c8c0) 16
+ vptr=((& QDockWidget::_ZTV11QDockWidget) + 464u)
+
+Vtable for QFocusFrame
+QFocusFrame::_ZTV11QFocusFrame: 63u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QFocusFrame)
+16 QFocusFrame::metaObject
+24 QFocusFrame::qt_metacast
+32 QFocusFrame::qt_metacall
+40 QFocusFrame::~QFocusFrame
+48 QFocusFrame::~QFocusFrame
+56 QFocusFrame::event
+64 QFocusFrame::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QWidget::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QFocusFrame::paintEvent
+256 QWidget::moveEvent
+264 QWidget::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QWidget::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 (int (*)(...))-0x00000000000000010
+456 (int (*)(...))(& _ZTI11QFocusFrame)
+464 QFocusFrame::_ZThn16_N11QFocusFrameD1Ev
+472 QFocusFrame::_ZThn16_N11QFocusFrameD0Ev
+480 QWidget::_ZThn16_NK7QWidget7devTypeEv
+488 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+496 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QFocusFrame
+ size=40 align=8
+ base size=40 base align=8
+QFocusFrame (0x7fc38963e230) 0
+ vptr=((& QFocusFrame::_ZTV11QFocusFrame) + 16u)
+ QWidget (0x7fc3895f1680) 0
+ primary-for QFocusFrame (0x7fc38963e230)
+ QObject (0x7fc38963e2a0) 0
+ primary-for QWidget (0x7fc3895f1680)
+ QPaintDevice (0x7fc38963e310) 16
+ vptr=((& QFocusFrame::_ZTV11QFocusFrame) + 464u)
+
+Vtable for QFontComboBox
+QFontComboBox::_ZTV13QFontComboBox: 65u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QFontComboBox)
+16 QFontComboBox::metaObject
+24 QFontComboBox::qt_metacast
+32 QFontComboBox::qt_metacall
+40 QFontComboBox::~QFontComboBox
+48 QFontComboBox::~QFontComboBox
+56 QFontComboBox::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QFontComboBox::sizeHint
+136 QComboBox::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QComboBox::mousePressEvent
+168 QComboBox::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QComboBox::wheelEvent
+200 QComboBox::keyPressEvent
+208 QComboBox::keyReleaseEvent
+216 QComboBox::focusInEvent
+224 QComboBox::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QComboBox::paintEvent
+256 QWidget::moveEvent
+264 QComboBox::resizeEvent
+272 QWidget::closeEvent
+280 QComboBox::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QComboBox::showEvent
+344 QComboBox::hideEvent
+352 QWidget::x11Event
+360 QComboBox::changeEvent
+368 QWidget::metric
+376 QComboBox::inputMethodEvent
+384 QComboBox::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QComboBox::showPopup
+456 QComboBox::hidePopup
+464 (int (*)(...))-0x00000000000000010
+472 (int (*)(...))(& _ZTI13QFontComboBox)
+480 QFontComboBox::_ZThn16_N13QFontComboBoxD1Ev
+488 QFontComboBox::_ZThn16_N13QFontComboBoxD0Ev
+496 QWidget::_ZThn16_NK7QWidget7devTypeEv
+504 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+512 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QFontComboBox
+ size=40 align=8
+ base size=40 base align=8
+QFontComboBox (0x7fc389651d90) 0
+ vptr=((& QFontComboBox::_ZTV13QFontComboBox) + 16u)
+ QComboBox (0x7fc389651e00) 0
+ primary-for QFontComboBox (0x7fc389651d90)
+ QWidget (0x7fc389659080) 0
+ primary-for QComboBox (0x7fc389651e00)
+ QObject (0x7fc389651e70) 0
+ primary-for QWidget (0x7fc389659080)
+ QPaintDevice (0x7fc389651ee0) 16
+ vptr=((& QFontComboBox::_ZTV13QFontComboBox) + 480u)
+
+Vtable for QGroupBox
+QGroupBox::_ZTV9QGroupBox: 63u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QGroupBox)
+16 QGroupBox::metaObject
+24 QGroupBox::qt_metacast
+32 QGroupBox::qt_metacall
+40 QGroupBox::~QGroupBox
+48 QGroupBox::~QGroupBox
+56 QGroupBox::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QGroupBox::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QWidget::sizeHint
+136 QGroupBox::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QGroupBox::mousePressEvent
+168 QGroupBox::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QGroupBox::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QGroupBox::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QGroupBox::paintEvent
+256 QWidget::moveEvent
+264 QGroupBox::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QGroupBox::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 (int (*)(...))-0x00000000000000010
+456 (int (*)(...))(& _ZTI9QGroupBox)
+464 QGroupBox::_ZThn16_N9QGroupBoxD1Ev
+472 QGroupBox::_ZThn16_N9QGroupBoxD0Ev
+480 QWidget::_ZThn16_NK7QWidget7devTypeEv
+488 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+496 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QGroupBox
+ size=40 align=8
+ base size=40 base align=8
+QGroupBox (0x7fc3894a1a80) 0
+ vptr=((& QGroupBox::_ZTV9QGroupBox) + 16u)
+ QWidget (0x7fc3894a3280) 0
+ primary-for QGroupBox (0x7fc3894a1a80)
+ QObject (0x7fc3894a1af0) 0
+ primary-for QWidget (0x7fc3894a3280)
+ QPaintDevice (0x7fc3894a1b60) 16
+ vptr=((& QGroupBox::_ZTV9QGroupBox) + 464u)
+
+Vtable for QLabel
+QLabel::_ZTV6QLabel: 63u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI6QLabel)
+16 QLabel::metaObject
+24 QLabel::qt_metacast
+32 QLabel::qt_metacall
+40 QLabel::~QLabel
+48 QLabel::~QLabel
+56 QLabel::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QLabel::sizeHint
+136 QLabel::minimumSizeHint
+144 QLabel::heightForWidth
+152 QWidget::paintEngine
+160 QLabel::mousePressEvent
+168 QLabel::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QLabel::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QLabel::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QLabel::focusInEvent
+224 QLabel::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QLabel::paintEvent
+256 QWidget::moveEvent
+264 QWidget::resizeEvent
+272 QWidget::closeEvent
+280 QLabel::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QLabel::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QLabel::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 (int (*)(...))-0x00000000000000010
+456 (int (*)(...))(& _ZTI6QLabel)
+464 QLabel::_ZThn16_N6QLabelD1Ev
+472 QLabel::_ZThn16_N6QLabelD0Ev
+480 QWidget::_ZThn16_NK7QWidget7devTypeEv
+488 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+496 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QLabel
+ size=40 align=8
+ base size=40 base align=8
+QLabel (0x7fc3894e1700) 0
+ vptr=((& QLabel::_ZTV6QLabel) + 16u)
+ QFrame (0x7fc3894e1770) 0
+ primary-for QLabel (0x7fc3894e1700)
+ QWidget (0x7fc3894a3c80) 0
+ primary-for QFrame (0x7fc3894e1770)
+ QObject (0x7fc3894e17e0) 0
+ primary-for QWidget (0x7fc3894a3c80)
+ QPaintDevice (0x7fc3894e1850) 16
+ vptr=((& QLabel::_ZTV6QLabel) + 464u)
+
+Vtable for QLCDNumber
+QLCDNumber::_ZTV10QLCDNumber: 63u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QLCDNumber)
+16 QLCDNumber::metaObject
+24 QLCDNumber::qt_metacast
+32 QLCDNumber::qt_metacall
+40 QLCDNumber::~QLCDNumber
+48 QLCDNumber::~QLCDNumber
+56 QLCDNumber::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QLCDNumber::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QLCDNumber::paintEvent
+256 QWidget::moveEvent
+264 QWidget::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QFrame::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 (int (*)(...))-0x00000000000000010
+456 (int (*)(...))(& _ZTI10QLCDNumber)
+464 QLCDNumber::_ZThn16_N10QLCDNumberD1Ev
+472 QLCDNumber::_ZThn16_N10QLCDNumberD0Ev
+480 QWidget::_ZThn16_NK7QWidget7devTypeEv
+488 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+496 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QLCDNumber
+ size=40 align=8
+ base size=40 base align=8
+QLCDNumber (0x7fc38950f850) 0
+ vptr=((& QLCDNumber::_ZTV10QLCDNumber) + 16u)
+ QFrame (0x7fc38950f8c0) 0
+ primary-for QLCDNumber (0x7fc38950f850)
+ QWidget (0x7fc389509880) 0
+ primary-for QFrame (0x7fc38950f8c0)
+ QObject (0x7fc38950f930) 0
+ primary-for QWidget (0x7fc389509880)
+ QPaintDevice (0x7fc38950f9a0) 16
+ vptr=((& QLCDNumber::_ZTV10QLCDNumber) + 464u)
+
+Vtable for QMainWindow
+QMainWindow::_ZTV11QMainWindow: 64u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QMainWindow)
+16 QMainWindow::metaObject
+24 QMainWindow::qt_metacast
+32 QMainWindow::qt_metacall
+40 QMainWindow::~QMainWindow
+48 QMainWindow::~QMainWindow
+56 QMainWindow::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QWidget::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QWidget::paintEvent
+256 QWidget::moveEvent
+264 QWidget::resizeEvent
+272 QWidget::closeEvent
+280 QMainWindow::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QWidget::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QMainWindow::createPopupMenu
+456 (int (*)(...))-0x00000000000000010
+464 (int (*)(...))(& _ZTI11QMainWindow)
+472 QMainWindow::_ZThn16_N11QMainWindowD1Ev
+480 QMainWindow::_ZThn16_N11QMainWindowD0Ev
+488 QWidget::_ZThn16_NK7QWidget7devTypeEv
+496 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+504 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QMainWindow
+ size=40 align=8
+ base size=40 base align=8
+QMainWindow (0x7fc389539230) 0
+ vptr=((& QMainWindow::_ZTV11QMainWindow) + 16u)
+ QWidget (0x7fc38952fa00) 0
+ primary-for QMainWindow (0x7fc389539230)
+ QObject (0x7fc3895392a0) 0
+ primary-for QWidget (0x7fc38952fa00)
+ QPaintDevice (0x7fc389539310) 16
+ vptr=((& QMainWindow::_ZTV11QMainWindow) + 472u)
+
+Vtable for QMdiArea
+QMdiArea::_ZTV8QMdiArea: 65u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI8QMdiArea)
+16 QMdiArea::metaObject
+24 QMdiArea::qt_metacast
+32 QMdiArea::qt_metacall
+40 QMdiArea::~QMdiArea
+48 QMdiArea::~QMdiArea
+56 QMdiArea::event
+64 QMdiArea::eventFilter
+72 QMdiArea::timerEvent
+80 QMdiArea::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QMdiArea::sizeHint
+136 QMdiArea::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QAbstractScrollArea::mousePressEvent
+168 QAbstractScrollArea::mouseReleaseEvent
+176 QAbstractScrollArea::mouseDoubleClickEvent
+184 QAbstractScrollArea::mouseMoveEvent
+192 QAbstractScrollArea::wheelEvent
+200 QAbstractScrollArea::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QMdiArea::paintEvent
+256 QWidget::moveEvent
+264 QMdiArea::resizeEvent
+272 QWidget::closeEvent
+280 QAbstractScrollArea::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QAbstractScrollArea::dragEnterEvent
+312 QAbstractScrollArea::dragMoveEvent
+320 QAbstractScrollArea::dragLeaveEvent
+328 QAbstractScrollArea::dropEvent
+336 QMdiArea::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QFrame::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QMdiArea::viewportEvent
+456 QMdiArea::scrollContentsBy
+464 (int (*)(...))-0x00000000000000010
+472 (int (*)(...))(& _ZTI8QMdiArea)
+480 QMdiArea::_ZThn16_N8QMdiAreaD1Ev
+488 QMdiArea::_ZThn16_N8QMdiAreaD0Ev
+496 QWidget::_ZThn16_NK7QWidget7devTypeEv
+504 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+512 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QMdiArea
+ size=40 align=8
+ base size=40 base align=8
+QMdiArea (0x7fc3893b7540) 0
+ vptr=((& QMdiArea::_ZTV8QMdiArea) + 16u)
+ QAbstractScrollArea (0x7fc3893b75b0) 0
+ primary-for QMdiArea (0x7fc3893b7540)
+ QFrame (0x7fc3893b7620) 0
+ primary-for QAbstractScrollArea (0x7fc3893b75b0)
+ QWidget (0x7fc389562c00) 0
+ primary-for QFrame (0x7fc3893b7620)
+ QObject (0x7fc3893b7690) 0
+ primary-for QWidget (0x7fc389562c00)
+ QPaintDevice (0x7fc3893b7700) 16
+ vptr=((& QMdiArea::_ZTV8QMdiArea) + 480u)
+
+Vtable for QMdiSubWindow
+QMdiSubWindow::_ZTV13QMdiSubWindow: 63u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QMdiSubWindow)
+16 QMdiSubWindow::metaObject
+24 QMdiSubWindow::qt_metacast
+32 QMdiSubWindow::qt_metacall
+40 QMdiSubWindow::~QMdiSubWindow
+48 QMdiSubWindow::~QMdiSubWindow
+56 QMdiSubWindow::event
+64 QMdiSubWindow::eventFilter
+72 QMdiSubWindow::timerEvent
+80 QMdiSubWindow::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QMdiSubWindow::sizeHint
+136 QMdiSubWindow::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QMdiSubWindow::mousePressEvent
+168 QMdiSubWindow::mouseReleaseEvent
+176 QMdiSubWindow::mouseDoubleClickEvent
+184 QMdiSubWindow::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QMdiSubWindow::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QMdiSubWindow::focusInEvent
+224 QMdiSubWindow::focusOutEvent
+232 QWidget::enterEvent
+240 QMdiSubWindow::leaveEvent
+248 QMdiSubWindow::paintEvent
+256 QMdiSubWindow::moveEvent
+264 QMdiSubWindow::resizeEvent
+272 QMdiSubWindow::closeEvent
+280 QMdiSubWindow::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QMdiSubWindow::showEvent
+344 QMdiSubWindow::hideEvent
+352 QWidget::x11Event
+360 QMdiSubWindow::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 (int (*)(...))-0x00000000000000010
+456 (int (*)(...))(& _ZTI13QMdiSubWindow)
+464 QMdiSubWindow::_ZThn16_N13QMdiSubWindowD1Ev
+472 QMdiSubWindow::_ZThn16_N13QMdiSubWindowD0Ev
+480 QWidget::_ZThn16_NK7QWidget7devTypeEv
+488 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+496 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QMdiSubWindow
+ size=40 align=8
+ base size=40 base align=8
+QMdiSubWindow (0x7fc389411a80) 0
+ vptr=((& QMdiSubWindow::_ZTV13QMdiSubWindow) + 16u)
+ QWidget (0x7fc3893c3f00) 0
+ primary-for QMdiSubWindow (0x7fc389411a80)
+ QObject (0x7fc389411af0) 0
+ primary-for QWidget (0x7fc3893c3f00)
+ QPaintDevice (0x7fc389411b60) 16
+ vptr=((& QMdiSubWindow::_ZTV13QMdiSubWindow) + 464u)
+
+Vtable for QMenu
+QMenu::_ZTV5QMenu: 63u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI5QMenu)
+16 QMenu::metaObject
+24 QMenu::qt_metacast
+32 QMenu::qt_metacall
+40 QMenu::~QMenu
+48 QMenu::~QMenu
+56 QMenu::event
+64 QObject::eventFilter
+72 QMenu::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QMenu::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QMenu::mousePressEvent
+168 QMenu::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QMenu::mouseMoveEvent
+192 QMenu::wheelEvent
+200 QMenu::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QMenu::enterEvent
+240 QMenu::leaveEvent
+248 QMenu::paintEvent
+256 QWidget::moveEvent
+264 QWidget::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QMenu::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QMenu::hideEvent
+352 QWidget::x11Event
+360 QMenu::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QMenu::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 (int (*)(...))-0x00000000000000010
+456 (int (*)(...))(& _ZTI5QMenu)
+464 QMenu::_ZThn16_N5QMenuD1Ev
+472 QMenu::_ZThn16_N5QMenuD0Ev
+480 QWidget::_ZThn16_NK7QWidget7devTypeEv
+488 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+496 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QMenu
+ size=40 align=8
+ base size=40 base align=8
+QMenu (0x7fc38948a930) 0
+ vptr=((& QMenu::_ZTV5QMenu) + 16u)
+ QWidget (0x7fc3892ad100) 0
+ primary-for QMenu (0x7fc38948a930)
+ QObject (0x7fc38948a9a0) 0
+ primary-for QWidget (0x7fc3892ad100)
+ QPaintDevice (0x7fc38948aa10) 16
+ vptr=((& QMenu::_ZTV5QMenu) + 464u)
+
+Vtable for QMenuBar
+QMenuBar::_ZTV8QMenuBar: 63u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI8QMenuBar)
+16 QMenuBar::metaObject
+24 QMenuBar::qt_metacast
+32 QMenuBar::qt_metacall
+40 QMenuBar::~QMenuBar
+48 QMenuBar::~QMenuBar
+56 QMenuBar::event
+64 QMenuBar::eventFilter
+72 QMenuBar::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QMenuBar::setVisible
+128 QMenuBar::sizeHint
+136 QMenuBar::minimumSizeHint
+144 QMenuBar::heightForWidth
+152 QWidget::paintEngine
+160 QMenuBar::mousePressEvent
+168 QMenuBar::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QMenuBar::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QMenuBar::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QMenuBar::focusInEvent
+224 QMenuBar::focusOutEvent
+232 QWidget::enterEvent
+240 QMenuBar::leaveEvent
+248 QMenuBar::paintEvent
+256 QWidget::moveEvent
+264 QMenuBar::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QMenuBar::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QMenuBar::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 (int (*)(...))-0x00000000000000010
+456 (int (*)(...))(& _ZTI8QMenuBar)
+464 QMenuBar::_ZThn16_N8QMenuBarD1Ev
+472 QMenuBar::_ZThn16_N8QMenuBarD0Ev
+480 QWidget::_ZThn16_NK7QWidget7devTypeEv
+488 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+496 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QMenuBar
+ size=40 align=8
+ base size=40 base align=8
+QMenuBar (0x7fc389352770) 0
+ vptr=((& QMenuBar::_ZTV8QMenuBar) + 16u)
+ QWidget (0x7fc389350980) 0
+ primary-for QMenuBar (0x7fc389352770)
+ QObject (0x7fc3893527e0) 0
+ primary-for QWidget (0x7fc389350980)
+ QPaintDevice (0x7fc389352850) 16
+ vptr=((& QMenuBar::_ZTV8QMenuBar) + 464u)
+
+Vtable for QMenuItem
+QMenuItem::_ZTV9QMenuItem: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QMenuItem)
+16 QMenuItem::metaObject
+24 QMenuItem::qt_metacast
+32 QMenuItem::qt_metacall
+40 QMenuItem::~QMenuItem
+48 QMenuItem::~QMenuItem
+56 QAction::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QMenuItem
+ size=16 align=8
+ base size=16 base align=8
+QMenuItem (0x7fc3891f34d0) 0
+ vptr=((& QMenuItem::_ZTV9QMenuItem) + 16u)
+ QAction (0x7fc3891f3540) 0
+ primary-for QMenuItem (0x7fc3891f34d0)
+ QObject (0x7fc3891f35b0) 0
+ primary-for QAction (0x7fc3891f3540)
+
+Class QTextEdit::ExtraSelection
+ size=24 align=8
+ base size=24 base align=8
+QTextEdit::ExtraSelection (0x7fc389214700) 0
+
+Vtable for QTextEdit
+QTextEdit::_ZTV9QTextEdit: 69u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QTextEdit)
+16 QTextEdit::metaObject
+24 QTextEdit::qt_metacast
+32 QTextEdit::qt_metacall
+40 QTextEdit::~QTextEdit
+48 QTextEdit::~QTextEdit
+56 QTextEdit::event
+64 QObject::eventFilter
+72 QTextEdit::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QAbstractScrollArea::sizeHint
+136 QAbstractScrollArea::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QTextEdit::mousePressEvent
+168 QTextEdit::mouseReleaseEvent
+176 QTextEdit::mouseDoubleClickEvent
+184 QTextEdit::mouseMoveEvent
+192 QTextEdit::wheelEvent
+200 QTextEdit::keyPressEvent
+208 QTextEdit::keyReleaseEvent
+216 QTextEdit::focusInEvent
+224 QTextEdit::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QTextEdit::paintEvent
+256 QWidget::moveEvent
+264 QTextEdit::resizeEvent
+272 QWidget::closeEvent
+280 QTextEdit::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QTextEdit::dragEnterEvent
+312 QTextEdit::dragMoveEvent
+320 QTextEdit::dragLeaveEvent
+328 QTextEdit::dropEvent
+336 QTextEdit::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QTextEdit::changeEvent
+368 QWidget::metric
+376 QTextEdit::inputMethodEvent
+384 QTextEdit::inputMethodQuery
+392 QTextEdit::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QAbstractScrollArea::viewportEvent
+456 QTextEdit::scrollContentsBy
+464 QTextEdit::loadResource
+472 QTextEdit::createMimeDataFromSelection
+480 QTextEdit::canInsertFromMimeData
+488 QTextEdit::insertFromMimeData
+496 (int (*)(...))-0x00000000000000010
+504 (int (*)(...))(& _ZTI9QTextEdit)
+512 QTextEdit::_ZThn16_N9QTextEditD1Ev
+520 QTextEdit::_ZThn16_N9QTextEditD0Ev
+528 QWidget::_ZThn16_NK7QWidget7devTypeEv
+536 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+544 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QTextEdit
+ size=40 align=8
+ base size=40 base align=8
+QTextEdit (0x7fc389204770) 0
+ vptr=((& QTextEdit::_ZTV9QTextEdit) + 16u)
+ QAbstractScrollArea (0x7fc3892047e0) 0
+ primary-for QTextEdit (0x7fc389204770)
+ QFrame (0x7fc389204850) 0
+ primary-for QAbstractScrollArea (0x7fc3892047e0)
+ QWidget (0x7fc3891f0b00) 0
+ primary-for QFrame (0x7fc389204850)
+ QObject (0x7fc3892048c0) 0
+ primary-for QWidget (0x7fc3891f0b00)
+ QPaintDevice (0x7fc389204930) 16
+ vptr=((& QTextEdit::_ZTV9QTextEdit) + 512u)
+
+Vtable for QPlainTextEdit
+QPlainTextEdit::_ZTV14QPlainTextEdit: 69u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QPlainTextEdit)
+16 QPlainTextEdit::metaObject
+24 QPlainTextEdit::qt_metacast
+32 QPlainTextEdit::qt_metacall
+40 QPlainTextEdit::~QPlainTextEdit
+48 QPlainTextEdit::~QPlainTextEdit
+56 QPlainTextEdit::event
+64 QObject::eventFilter
+72 QPlainTextEdit::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QAbstractScrollArea::sizeHint
+136 QAbstractScrollArea::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QPlainTextEdit::mousePressEvent
+168 QPlainTextEdit::mouseReleaseEvent
+176 QPlainTextEdit::mouseDoubleClickEvent
+184 QPlainTextEdit::mouseMoveEvent
+192 QPlainTextEdit::wheelEvent
+200 QPlainTextEdit::keyPressEvent
+208 QPlainTextEdit::keyReleaseEvent
+216 QPlainTextEdit::focusInEvent
+224 QPlainTextEdit::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QPlainTextEdit::paintEvent
+256 QWidget::moveEvent
+264 QPlainTextEdit::resizeEvent
+272 QWidget::closeEvent
+280 QPlainTextEdit::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QPlainTextEdit::dragEnterEvent
+312 QPlainTextEdit::dragMoveEvent
+320 QPlainTextEdit::dragLeaveEvent
+328 QPlainTextEdit::dropEvent
+336 QPlainTextEdit::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QPlainTextEdit::changeEvent
+368 QWidget::metric
+376 QPlainTextEdit::inputMethodEvent
+384 QPlainTextEdit::inputMethodQuery
+392 QPlainTextEdit::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QAbstractScrollArea::viewportEvent
+456 QPlainTextEdit::scrollContentsBy
+464 QPlainTextEdit::loadResource
+472 QPlainTextEdit::createMimeDataFromSelection
+480 QPlainTextEdit::canInsertFromMimeData
+488 QPlainTextEdit::insertFromMimeData
+496 (int (*)(...))-0x00000000000000010
+504 (int (*)(...))(& _ZTI14QPlainTextEdit)
+512 QPlainTextEdit::_ZThn16_N14QPlainTextEditD1Ev
+520 QPlainTextEdit::_ZThn16_N14QPlainTextEditD0Ev
+528 QWidget::_ZThn16_NK7QWidget7devTypeEv
+536 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+544 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QPlainTextEdit
+ size=40 align=8
+ base size=40 base align=8
+QPlainTextEdit (0x7fc3890aa8c0) 0
+ vptr=((& QPlainTextEdit::_ZTV14QPlainTextEdit) + 16u)
+ QAbstractScrollArea (0x7fc3890aa930) 0
+ primary-for QPlainTextEdit (0x7fc3890aa8c0)
+ QFrame (0x7fc3890aa9a0) 0
+ primary-for QAbstractScrollArea (0x7fc3890aa930)
+ QWidget (0x7fc3890a9400) 0
+ primary-for QFrame (0x7fc3890aa9a0)
+ QObject (0x7fc3890aaa10) 0
+ primary-for QWidget (0x7fc3890a9400)
+ QPaintDevice (0x7fc3890aaa80) 16
+ vptr=((& QPlainTextEdit::_ZTV14QPlainTextEdit) + 512u)
+
+Vtable for QPlainTextDocumentLayout
+QPlainTextDocumentLayout::_ZTV24QPlainTextDocumentLayout: 24u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI24QPlainTextDocumentLayout)
+16 QPlainTextDocumentLayout::metaObject
+24 QPlainTextDocumentLayout::qt_metacast
+32 QPlainTextDocumentLayout::qt_metacall
+40 QPlainTextDocumentLayout::~QPlainTextDocumentLayout
+48 QPlainTextDocumentLayout::~QPlainTextDocumentLayout
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QPlainTextDocumentLayout::draw
+120 QPlainTextDocumentLayout::hitTest
+128 QPlainTextDocumentLayout::pageCount
+136 QPlainTextDocumentLayout::documentSize
+144 QPlainTextDocumentLayout::frameBoundingRect
+152 QPlainTextDocumentLayout::blockBoundingRect
+160 QPlainTextDocumentLayout::documentChanged
+168 QAbstractTextDocumentLayout::resizeInlineObject
+176 QAbstractTextDocumentLayout::positionInlineObject
+184 QAbstractTextDocumentLayout::drawInlineObject
+
+Class QPlainTextDocumentLayout
+ size=16 align=8
+ base size=16 base align=8
+QPlainTextDocumentLayout (0x7fc38910d690) 0
+ vptr=((& QPlainTextDocumentLayout::_ZTV24QPlainTextDocumentLayout) + 16u)
+ QAbstractTextDocumentLayout (0x7fc38910d700) 0
+ primary-for QPlainTextDocumentLayout (0x7fc38910d690)
+ QObject (0x7fc38910d770) 0
+ primary-for QAbstractTextDocumentLayout (0x7fc38910d700)
+
+Vtable for QPrintPreviewWidget
+QPrintPreviewWidget::_ZTV19QPrintPreviewWidget: 63u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QPrintPreviewWidget)
+16 QPrintPreviewWidget::metaObject
+24 QPrintPreviewWidget::qt_metacast
+32 QPrintPreviewWidget::qt_metacall
+40 QPrintPreviewWidget::~QPrintPreviewWidget
+48 QPrintPreviewWidget::~QPrintPreviewWidget
+56 QWidget::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QPrintPreviewWidget::setVisible
+128 QWidget::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QWidget::paintEvent
+256 QWidget::moveEvent
+264 QWidget::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QWidget::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 (int (*)(...))-0x00000000000000010
+456 (int (*)(...))(& _ZTI19QPrintPreviewWidget)
+464 QPrintPreviewWidget::_ZThn16_N19QPrintPreviewWidgetD1Ev
+472 QPrintPreviewWidget::_ZThn16_N19QPrintPreviewWidgetD0Ev
+480 QWidget::_ZThn16_NK7QWidget7devTypeEv
+488 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+496 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QPrintPreviewWidget
+ size=48 align=8
+ base size=48 base align=8
+QPrintPreviewWidget (0x7fc389124b60) 0
+ vptr=((& QPrintPreviewWidget::_ZTV19QPrintPreviewWidget) + 16u)
+ QWidget (0x7fc38911f600) 0
+ primary-for QPrintPreviewWidget (0x7fc389124b60)
+ QObject (0x7fc389124bd0) 0
+ primary-for QWidget (0x7fc38911f600)
+ QPaintDevice (0x7fc389124c40) 16
+ vptr=((& QPrintPreviewWidget::_ZTV19QPrintPreviewWidget) + 464u)
+
+Vtable for QProgressBar
+QProgressBar::_ZTV12QProgressBar: 64u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QProgressBar)
+16 QProgressBar::metaObject
+24 QProgressBar::qt_metacast
+32 QProgressBar::qt_metacall
+40 QProgressBar::~QProgressBar
+48 QProgressBar::~QProgressBar
+56 QProgressBar::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QProgressBar::sizeHint
+136 QProgressBar::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QProgressBar::paintEvent
+256 QWidget::moveEvent
+264 QWidget::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QWidget::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QProgressBar::text
+456 (int (*)(...))-0x00000000000000010
+464 (int (*)(...))(& _ZTI12QProgressBar)
+472 QProgressBar::_ZThn16_N12QProgressBarD1Ev
+480 QProgressBar::_ZThn16_N12QProgressBarD0Ev
+488 QWidget::_ZThn16_NK7QWidget7devTypeEv
+496 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+504 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QProgressBar
+ size=40 align=8
+ base size=40 base align=8
+QProgressBar (0x7fc389147700) 0
+ vptr=((& QProgressBar::_ZTV12QProgressBar) + 16u)
+ QWidget (0x7fc389149300) 0
+ primary-for QProgressBar (0x7fc389147700)
+ QObject (0x7fc389147770) 0
+ primary-for QWidget (0x7fc389149300)
+ QPaintDevice (0x7fc3891477e0) 16
+ vptr=((& QProgressBar::_ZTV12QProgressBar) + 472u)
+
+Vtable for QRadioButton
+QRadioButton::_ZTV12QRadioButton: 66u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QRadioButton)
+16 QRadioButton::metaObject
+24 QRadioButton::qt_metacast
+32 QRadioButton::qt_metacall
+40 QRadioButton::~QRadioButton
+48 QRadioButton::~QRadioButton
+56 QRadioButton::event
+64 QObject::eventFilter
+72 QAbstractButton::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QRadioButton::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QAbstractButton::mousePressEvent
+168 QAbstractButton::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QRadioButton::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QAbstractButton::keyPressEvent
+208 QAbstractButton::keyReleaseEvent
+216 QAbstractButton::focusInEvent
+224 QAbstractButton::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QRadioButton::paintEvent
+256 QWidget::moveEvent
+264 QWidget::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QAbstractButton::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QRadioButton::hitButton
+456 QAbstractButton::checkStateSet
+464 QAbstractButton::nextCheckState
+472 (int (*)(...))-0x00000000000000010
+480 (int (*)(...))(& _ZTI12QRadioButton)
+488 QRadioButton::_ZThn16_N12QRadioButtonD1Ev
+496 QRadioButton::_ZThn16_N12QRadioButtonD0Ev
+504 QWidget::_ZThn16_NK7QWidget7devTypeEv
+512 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+520 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QRadioButton
+ size=40 align=8
+ base size=40 base align=8
+QRadioButton (0x7fc38916b540) 0
+ vptr=((& QRadioButton::_ZTV12QRadioButton) + 16u)
+ QAbstractButton (0x7fc38916b5b0) 0
+ primary-for QRadioButton (0x7fc38916b540)
+ QWidget (0x7fc389149e00) 0
+ primary-for QAbstractButton (0x7fc38916b5b0)
+ QObject (0x7fc38916b620) 0
+ primary-for QWidget (0x7fc389149e00)
+ QPaintDevice (0x7fc38916b690) 16
+ vptr=((& QRadioButton::_ZTV12QRadioButton) + 488u)
+
+Vtable for QScrollBar
+QScrollBar::_ZTV10QScrollBar: 64u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QScrollBar)
+16 QScrollBar::metaObject
+24 QScrollBar::qt_metacast
+32 QScrollBar::qt_metacall
+40 QScrollBar::~QScrollBar
+48 QScrollBar::~QScrollBar
+56 QScrollBar::event
+64 QObject::eventFilter
+72 QAbstractSlider::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QScrollBar::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QScrollBar::mousePressEvent
+168 QScrollBar::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QScrollBar::mouseMoveEvent
+192 QAbstractSlider::wheelEvent
+200 QAbstractSlider::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QScrollBar::paintEvent
+256 QWidget::moveEvent
+264 QWidget::resizeEvent
+272 QWidget::closeEvent
+280 QScrollBar::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QScrollBar::hideEvent
+352 QWidget::x11Event
+360 QAbstractSlider::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QScrollBar::sliderChange
+456 (int (*)(...))-0x00000000000000010
+464 (int (*)(...))(& _ZTI10QScrollBar)
+472 QScrollBar::_ZThn16_N10QScrollBarD1Ev
+480 QScrollBar::_ZThn16_N10QScrollBarD0Ev
+488 QWidget::_ZThn16_NK7QWidget7devTypeEv
+496 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+504 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QScrollBar
+ size=40 align=8
+ base size=40 base align=8
+QScrollBar (0x7fc38918d1c0) 0
+ vptr=((& QScrollBar::_ZTV10QScrollBar) + 16u)
+ QAbstractSlider (0x7fc38918d230) 0
+ primary-for QScrollBar (0x7fc38918d1c0)
+ QWidget (0x7fc389182800) 0
+ primary-for QAbstractSlider (0x7fc38918d230)
+ QObject (0x7fc38918d2a0) 0
+ primary-for QWidget (0x7fc389182800)
+ QPaintDevice (0x7fc38918d310) 16
+ vptr=((& QScrollBar::_ZTV10QScrollBar) + 472u)
+
+Vtable for QSizeGrip
+QSizeGrip::_ZTV9QSizeGrip: 63u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QSizeGrip)
+16 QSizeGrip::metaObject
+24 QSizeGrip::qt_metacast
+32 QSizeGrip::qt_metacall
+40 QSizeGrip::~QSizeGrip
+48 QSizeGrip::~QSizeGrip
+56 QSizeGrip::event
+64 QSizeGrip::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QSizeGrip::setVisible
+128 QSizeGrip::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QSizeGrip::mousePressEvent
+168 QSizeGrip::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QSizeGrip::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QSizeGrip::paintEvent
+256 QSizeGrip::moveEvent
+264 QWidget::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QSizeGrip::showEvent
+344 QSizeGrip::hideEvent
+352 QWidget::x11Event
+360 QWidget::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 (int (*)(...))-0x00000000000000010
+456 (int (*)(...))(& _ZTI9QSizeGrip)
+464 QSizeGrip::_ZThn16_N9QSizeGripD1Ev
+472 QSizeGrip::_ZThn16_N9QSizeGripD0Ev
+480 QWidget::_ZThn16_NK7QWidget7devTypeEv
+488 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+496 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QSizeGrip
+ size=40 align=8
+ base size=40 base align=8
+QSizeGrip (0x7fc388fab310) 0
+ vptr=((& QSizeGrip::_ZTV9QSizeGrip) + 16u)
+ QWidget (0x7fc388fa9380) 0
+ primary-for QSizeGrip (0x7fc388fab310)
+ QObject (0x7fc388fab380) 0
+ primary-for QWidget (0x7fc388fa9380)
+ QPaintDevice (0x7fc388fab3f0) 16
+ vptr=((& QSizeGrip::_ZTV9QSizeGrip) + 464u)
+
+Vtable for QSpinBox
+QSpinBox::_ZTV8QSpinBox: 70u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI8QSpinBox)
+16 QSpinBox::metaObject
+24 QSpinBox::qt_metacast
+32 QSpinBox::qt_metacall
+40 QSpinBox::~QSpinBox
+48 QSpinBox::~QSpinBox
+56 QSpinBox::event
+64 QObject::eventFilter
+72 QAbstractSpinBox::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QAbstractSpinBox::sizeHint
+136 QAbstractSpinBox::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QAbstractSpinBox::mousePressEvent
+168 QAbstractSpinBox::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QAbstractSpinBox::mouseMoveEvent
+192 QAbstractSpinBox::wheelEvent
+200 QAbstractSpinBox::keyPressEvent
+208 QAbstractSpinBox::keyReleaseEvent
+216 QAbstractSpinBox::focusInEvent
+224 QAbstractSpinBox::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QAbstractSpinBox::paintEvent
+256 QWidget::moveEvent
+264 QAbstractSpinBox::resizeEvent
+272 QAbstractSpinBox::closeEvent
+280 QAbstractSpinBox::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QAbstractSpinBox::showEvent
+344 QAbstractSpinBox::hideEvent
+352 QWidget::x11Event
+360 QAbstractSpinBox::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QAbstractSpinBox::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QSpinBox::validate
+456 QSpinBox::fixup
+464 QAbstractSpinBox::stepBy
+472 QAbstractSpinBox::clear
+480 QAbstractSpinBox::stepEnabled
+488 QSpinBox::valueFromText
+496 QSpinBox::textFromValue
+504 (int (*)(...))-0x00000000000000010
+512 (int (*)(...))(& _ZTI8QSpinBox)
+520 QSpinBox::_ZThn16_N8QSpinBoxD1Ev
+528 QSpinBox::_ZThn16_N8QSpinBoxD0Ev
+536 QWidget::_ZThn16_NK7QWidget7devTypeEv
+544 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+552 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QSpinBox
+ size=40 align=8
+ base size=40 base align=8
+QSpinBox (0x7fc388fc1e00) 0
+ vptr=((& QSpinBox::_ZTV8QSpinBox) + 16u)
+ QAbstractSpinBox (0x7fc388fc1e70) 0
+ primary-for QSpinBox (0x7fc388fc1e00)
+ QWidget (0x7fc388fa9d80) 0
+ primary-for QAbstractSpinBox (0x7fc388fc1e70)
+ QObject (0x7fc388fc1ee0) 0
+ primary-for QWidget (0x7fc388fa9d80)
+ QPaintDevice (0x7fc388fc1f50) 16
+ vptr=((& QSpinBox::_ZTV8QSpinBox) + 520u)
+
+Vtable for QDoubleSpinBox
+QDoubleSpinBox::_ZTV14QDoubleSpinBox: 70u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QDoubleSpinBox)
+16 QDoubleSpinBox::metaObject
+24 QDoubleSpinBox::qt_metacast
+32 QDoubleSpinBox::qt_metacall
+40 QDoubleSpinBox::~QDoubleSpinBox
+48 QDoubleSpinBox::~QDoubleSpinBox
+56 QAbstractSpinBox::event
+64 QObject::eventFilter
+72 QAbstractSpinBox::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QAbstractSpinBox::sizeHint
+136 QAbstractSpinBox::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QAbstractSpinBox::mousePressEvent
+168 QAbstractSpinBox::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QAbstractSpinBox::mouseMoveEvent
+192 QAbstractSpinBox::wheelEvent
+200 QAbstractSpinBox::keyPressEvent
+208 QAbstractSpinBox::keyReleaseEvent
+216 QAbstractSpinBox::focusInEvent
+224 QAbstractSpinBox::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QAbstractSpinBox::paintEvent
+256 QWidget::moveEvent
+264 QAbstractSpinBox::resizeEvent
+272 QAbstractSpinBox::closeEvent
+280 QAbstractSpinBox::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QAbstractSpinBox::showEvent
+344 QAbstractSpinBox::hideEvent
+352 QWidget::x11Event
+360 QAbstractSpinBox::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QAbstractSpinBox::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QDoubleSpinBox::validate
+456 QDoubleSpinBox::fixup
+464 QAbstractSpinBox::stepBy
+472 QAbstractSpinBox::clear
+480 QAbstractSpinBox::stepEnabled
+488 QDoubleSpinBox::valueFromText
+496 QDoubleSpinBox::textFromValue
+504 (int (*)(...))-0x00000000000000010
+512 (int (*)(...))(& _ZTI14QDoubleSpinBox)
+520 QDoubleSpinBox::_ZThn16_N14QDoubleSpinBoxD1Ev
+528 QDoubleSpinBox::_ZThn16_N14QDoubleSpinBoxD0Ev
+536 QWidget::_ZThn16_NK7QWidget7devTypeEv
+544 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+552 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QDoubleSpinBox
+ size=40 align=8
+ base size=40 base align=8
+QDoubleSpinBox (0x7fc388fed770) 0
+ vptr=((& QDoubleSpinBox::_ZTV14QDoubleSpinBox) + 16u)
+ QAbstractSpinBox (0x7fc388fed7e0) 0
+ primary-for QDoubleSpinBox (0x7fc388fed770)
+ QWidget (0x7fc388fe1f00) 0
+ primary-for QAbstractSpinBox (0x7fc388fed7e0)
+ QObject (0x7fc388fed850) 0
+ primary-for QWidget (0x7fc388fe1f00)
+ QPaintDevice (0x7fc388fed8c0) 16
+ vptr=((& QDoubleSpinBox::_ZTV14QDoubleSpinBox) + 520u)
+
+Vtable for QSplashScreen
+QSplashScreen::_ZTV13QSplashScreen: 64u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QSplashScreen)
+16 QSplashScreen::metaObject
+24 QSplashScreen::qt_metacast
+32 QSplashScreen::qt_metacall
+40 QSplashScreen::~QSplashScreen
+48 QSplashScreen::~QSplashScreen
+56 QSplashScreen::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QWidget::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QSplashScreen::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QWidget::paintEvent
+256 QWidget::moveEvent
+264 QWidget::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QWidget::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QSplashScreen::drawContents
+456 (int (*)(...))-0x00000000000000010
+464 (int (*)(...))(& _ZTI13QSplashScreen)
+472 QSplashScreen::_ZThn16_N13QSplashScreenD1Ev
+480 QSplashScreen::_ZThn16_N13QSplashScreenD0Ev
+488 QWidget::_ZThn16_NK7QWidget7devTypeEv
+496 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+504 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QSplashScreen
+ size=40 align=8
+ base size=40 base align=8
+QSplashScreen (0x7fc38900c230) 0
+ vptr=((& QSplashScreen::_ZTV13QSplashScreen) + 16u)
+ QWidget (0x7fc388ff0900) 0
+ primary-for QSplashScreen (0x7fc38900c230)
+ QObject (0x7fc38900c2a0) 0
+ primary-for QWidget (0x7fc388ff0900)
+ QPaintDevice (0x7fc38900c310) 16
+ vptr=((& QSplashScreen::_ZTV13QSplashScreen) + 472u)
+
+Vtable for QSplitter
+QSplitter::_ZTV9QSplitter: 64u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QSplitter)
+16 QSplitter::metaObject
+24 QSplitter::qt_metacast
+32 QSplitter::qt_metacall
+40 QSplitter::~QSplitter
+48 QSplitter::~QSplitter
+56 QSplitter::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QSplitter::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QSplitter::sizeHint
+136 QSplitter::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QFrame::paintEvent
+256 QWidget::moveEvent
+264 QSplitter::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QSplitter::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QSplitter::createHandle
+456 (int (*)(...))-0x00000000000000010
+464 (int (*)(...))(& _ZTI9QSplitter)
+472 QSplitter::_ZThn16_N9QSplitterD1Ev
+480 QSplitter::_ZThn16_N9QSplitterD0Ev
+488 QWidget::_ZThn16_NK7QWidget7devTypeEv
+496 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+504 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QSplitter
+ size=40 align=8
+ base size=40 base align=8
+QSplitter (0x7fc389030310) 0
+ vptr=((& QSplitter::_ZTV9QSplitter) + 16u)
+ QFrame (0x7fc389030380) 0
+ primary-for QSplitter (0x7fc389030310)
+ QWidget (0x7fc38902b580) 0
+ primary-for QFrame (0x7fc389030380)
+ QObject (0x7fc3890303f0) 0
+ primary-for QWidget (0x7fc38902b580)
+ QPaintDevice (0x7fc389030460) 16
+ vptr=((& QSplitter::_ZTV9QSplitter) + 472u)
+
+Vtable for QSplitterHandle
+QSplitterHandle::_ZTV15QSplitterHandle: 63u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QSplitterHandle)
+16 QSplitterHandle::metaObject
+24 QSplitterHandle::qt_metacast
+32 QSplitterHandle::qt_metacall
+40 QSplitterHandle::~QSplitterHandle
+48 QSplitterHandle::~QSplitterHandle
+56 QSplitterHandle::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QSplitterHandle::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QSplitterHandle::mousePressEvent
+168 QSplitterHandle::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QSplitterHandle::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QSplitterHandle::paintEvent
+256 QWidget::moveEvent
+264 QWidget::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QWidget::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 (int (*)(...))-0x00000000000000010
+456 (int (*)(...))(& _ZTI15QSplitterHandle)
+464 QSplitterHandle::_ZThn16_N15QSplitterHandleD1Ev
+472 QSplitterHandle::_ZThn16_N15QSplitterHandleD0Ev
+480 QWidget::_ZThn16_NK7QWidget7devTypeEv
+488 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+496 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QSplitterHandle
+ size=40 align=8
+ base size=40 base align=8
+QSplitterHandle (0x7fc38905c230) 0
+ vptr=((& QSplitterHandle::_ZTV15QSplitterHandle) + 16u)
+ QWidget (0x7fc389059780) 0
+ primary-for QSplitterHandle (0x7fc38905c230)
+ QObject (0x7fc38905c2a0) 0
+ primary-for QWidget (0x7fc389059780)
+ QPaintDevice (0x7fc38905c310) 16
+ vptr=((& QSplitterHandle::_ZTV15QSplitterHandle) + 464u)
+
+Vtable for QStackedWidget
+QStackedWidget::_ZTV14QStackedWidget: 63u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QStackedWidget)
+16 QStackedWidget::metaObject
+24 QStackedWidget::qt_metacast
+32 QStackedWidget::qt_metacall
+40 QStackedWidget::~QStackedWidget
+48 QStackedWidget::~QStackedWidget
+56 QStackedWidget::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QFrame::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QFrame::paintEvent
+256 QWidget::moveEvent
+264 QWidget::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QFrame::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 (int (*)(...))-0x00000000000000010
+456 (int (*)(...))(& _ZTI14QStackedWidget)
+464 QStackedWidget::_ZThn16_N14QStackedWidgetD1Ev
+472 QStackedWidget::_ZThn16_N14QStackedWidgetD0Ev
+480 QWidget::_ZThn16_NK7QWidget7devTypeEv
+488 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+496 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QStackedWidget
+ size=40 align=8
+ base size=40 base align=8
+QStackedWidget (0x7fc389076a10) 0
+ vptr=((& QStackedWidget::_ZTV14QStackedWidget) + 16u)
+ QFrame (0x7fc389076a80) 0
+ primary-for QStackedWidget (0x7fc389076a10)
+ QWidget (0x7fc389079180) 0
+ primary-for QFrame (0x7fc389076a80)
+ QObject (0x7fc389076af0) 0
+ primary-for QWidget (0x7fc389079180)
+ QPaintDevice (0x7fc389076b60) 16
+ vptr=((& QStackedWidget::_ZTV14QStackedWidget) + 464u)
+
+Vtable for QStatusBar
+QStatusBar::_ZTV10QStatusBar: 63u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QStatusBar)
+16 QStatusBar::metaObject
+24 QStatusBar::qt_metacast
+32 QStatusBar::qt_metacall
+40 QStatusBar::~QStatusBar
+48 QStatusBar::~QStatusBar
+56 QStatusBar::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QWidget::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QStatusBar::paintEvent
+256 QWidget::moveEvent
+264 QStatusBar::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QStatusBar::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QWidget::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 (int (*)(...))-0x00000000000000010
+456 (int (*)(...))(& _ZTI10QStatusBar)
+464 QStatusBar::_ZThn16_N10QStatusBarD1Ev
+472 QStatusBar::_ZThn16_N10QStatusBarD0Ev
+480 QWidget::_ZThn16_NK7QWidget7devTypeEv
+488 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+496 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QStatusBar
+ size=40 align=8
+ base size=40 base align=8
+QStatusBar (0x7fc3890928c0) 0
+ vptr=((& QStatusBar::_ZTV10QStatusBar) + 16u)
+ QWidget (0x7fc389079b80) 0
+ primary-for QStatusBar (0x7fc3890928c0)
+ QObject (0x7fc389092930) 0
+ primary-for QWidget (0x7fc389079b80)
+ QPaintDevice (0x7fc3890929a0) 16
+ vptr=((& QStatusBar::_ZTV10QStatusBar) + 464u)
+
+Vtable for QTextBrowser
+QTextBrowser::_ZTV12QTextBrowser: 74u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QTextBrowser)
+16 QTextBrowser::metaObject
+24 QTextBrowser::qt_metacast
+32 QTextBrowser::qt_metacall
+40 QTextBrowser::~QTextBrowser
+48 QTextBrowser::~QTextBrowser
+56 QTextBrowser::event
+64 QObject::eventFilter
+72 QTextEdit::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QAbstractScrollArea::sizeHint
+136 QAbstractScrollArea::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QTextBrowser::mousePressEvent
+168 QTextBrowser::mouseReleaseEvent
+176 QTextEdit::mouseDoubleClickEvent
+184 QTextBrowser::mouseMoveEvent
+192 QTextEdit::wheelEvent
+200 QTextBrowser::keyPressEvent
+208 QTextEdit::keyReleaseEvent
+216 QTextEdit::focusInEvent
+224 QTextBrowser::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QTextBrowser::paintEvent
+256 QWidget::moveEvent
+264 QTextEdit::resizeEvent
+272 QWidget::closeEvent
+280 QTextEdit::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QTextEdit::dragEnterEvent
+312 QTextEdit::dragMoveEvent
+320 QTextEdit::dragLeaveEvent
+328 QTextEdit::dropEvent
+336 QTextEdit::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QTextEdit::changeEvent
+368 QWidget::metric
+376 QTextEdit::inputMethodEvent
+384 QTextEdit::inputMethodQuery
+392 QTextBrowser::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QAbstractScrollArea::viewportEvent
+456 QTextEdit::scrollContentsBy
+464 QTextBrowser::loadResource
+472 QTextEdit::createMimeDataFromSelection
+480 QTextEdit::canInsertFromMimeData
+488 QTextEdit::insertFromMimeData
+496 QTextBrowser::setSource
+504 QTextBrowser::backward
+512 QTextBrowser::forward
+520 QTextBrowser::home
+528 QTextBrowser::reload
+536 (int (*)(...))-0x00000000000000010
+544 (int (*)(...))(& _ZTI12QTextBrowser)
+552 QTextBrowser::_ZThn16_N12QTextBrowserD1Ev
+560 QTextBrowser::_ZThn16_N12QTextBrowserD0Ev
+568 QWidget::_ZThn16_NK7QWidget7devTypeEv
+576 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+584 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QTextBrowser
+ size=40 align=8
+ base size=40 base align=8
+QTextBrowser (0x7fc388eb4e00) 0
+ vptr=((& QTextBrowser::_ZTV12QTextBrowser) + 16u)
+ QTextEdit (0x7fc388eb4e70) 0
+ primary-for QTextBrowser (0x7fc388eb4e00)
+ QAbstractScrollArea (0x7fc388eb4ee0) 0
+ primary-for QTextEdit (0x7fc388eb4e70)
+ QFrame (0x7fc388eb4f50) 0
+ primary-for QAbstractScrollArea (0x7fc388eb4ee0)
+ QWidget (0x7fc388eafb80) 0
+ primary-for QFrame (0x7fc388eb4f50)
+ QObject (0x7fc388eb9000) 0
+ primary-for QWidget (0x7fc388eafb80)
+ QPaintDevice (0x7fc388eb9070) 16
+ vptr=((& QTextBrowser::_ZTV12QTextBrowser) + 552u)
+
+Vtable for QToolBar
+QToolBar::_ZTV8QToolBar: 63u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI8QToolBar)
+16 QToolBar::metaObject
+24 QToolBar::qt_metacast
+32 QToolBar::qt_metacall
+40 QToolBar::~QToolBar
+48 QToolBar::~QToolBar
+56 QToolBar::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QToolBar::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QWidget::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QToolBar::paintEvent
+256 QWidget::moveEvent
+264 QToolBar::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QToolBar::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QToolBar::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 (int (*)(...))-0x00000000000000010
+456 (int (*)(...))(& _ZTI8QToolBar)
+464 QToolBar::_ZThn16_N8QToolBarD1Ev
+472 QToolBar::_ZThn16_N8QToolBarD0Ev
+480 QWidget::_ZThn16_NK7QWidget7devTypeEv
+488 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+496 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QToolBar
+ size=40 align=8
+ base size=40 base align=8
+QToolBar (0x7fc388ed9a10) 0
+ vptr=((& QToolBar::_ZTV8QToolBar) + 16u)
+ QWidget (0x7fc388ed6580) 0
+ primary-for QToolBar (0x7fc388ed9a10)
+ QObject (0x7fc388ed9a80) 0
+ primary-for QWidget (0x7fc388ed6580)
+ QPaintDevice (0x7fc388ed9af0) 16
+ vptr=((& QToolBar::_ZTV8QToolBar) + 464u)
+
+Vtable for QToolBox
+QToolBox::_ZTV8QToolBox: 65u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI8QToolBox)
+16 QToolBox::metaObject
+24 QToolBox::qt_metacast
+32 QToolBox::qt_metacall
+40 QToolBox::~QToolBox
+48 QToolBox::~QToolBox
+56 QToolBox::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QFrame::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QFrame::paintEvent
+256 QWidget::moveEvent
+264 QWidget::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QToolBox::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QToolBox::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QToolBox::itemInserted
+456 QToolBox::itemRemoved
+464 (int (*)(...))-0x00000000000000010
+472 (int (*)(...))(& _ZTI8QToolBox)
+480 QToolBox::_ZThn16_N8QToolBoxD1Ev
+488 QToolBox::_ZThn16_N8QToolBoxD0Ev
+496 QWidget::_ZThn16_NK7QWidget7devTypeEv
+504 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+512 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QToolBox
+ size=40 align=8
+ base size=40 base align=8
+QToolBox (0x7fc388f14850) 0
+ vptr=((& QToolBox::_ZTV8QToolBox) + 16u)
+ QFrame (0x7fc388f148c0) 0
+ primary-for QToolBox (0x7fc388f14850)
+ QWidget (0x7fc388f12680) 0
+ primary-for QFrame (0x7fc388f148c0)
+ QObject (0x7fc388f14930) 0
+ primary-for QWidget (0x7fc388f12680)
+ QPaintDevice (0x7fc388f149a0) 16
+ vptr=((& QToolBox::_ZTV8QToolBox) + 480u)
+
+Vtable for QToolButton
+QToolButton::_ZTV11QToolButton: 66u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QToolButton)
+16 QToolButton::metaObject
+24 QToolButton::qt_metacast
+32 QToolButton::qt_metacall
+40 QToolButton::~QToolButton
+48 QToolButton::~QToolButton
+56 QToolButton::event
+64 QObject::eventFilter
+72 QToolButton::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QToolButton::sizeHint
+136 QToolButton::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QToolButton::mousePressEvent
+168 QToolButton::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QAbstractButton::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QAbstractButton::keyPressEvent
+208 QAbstractButton::keyReleaseEvent
+216 QAbstractButton::focusInEvent
+224 QAbstractButton::focusOutEvent
+232 QToolButton::enterEvent
+240 QToolButton::leaveEvent
+248 QToolButton::paintEvent
+256 QWidget::moveEvent
+264 QWidget::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QToolButton::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QToolButton::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QToolButton::hitButton
+456 QAbstractButton::checkStateSet
+464 QToolButton::nextCheckState
+472 (int (*)(...))-0x00000000000000010
+480 (int (*)(...))(& _ZTI11QToolButton)
+488 QToolButton::_ZThn16_N11QToolButtonD1Ev
+496 QToolButton::_ZThn16_N11QToolButtonD0Ev
+504 QWidget::_ZThn16_NK7QWidget7devTypeEv
+512 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+520 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QToolButton
+ size=40 align=8
+ base size=40 base align=8
+QToolButton (0x7fc388f4d310) 0
+ vptr=((& QToolButton::_ZTV11QToolButton) + 16u)
+ QAbstractButton (0x7fc388f4d380) 0
+ primary-for QToolButton (0x7fc388f4d310)
+ QWidget (0x7fc388f4a400) 0
+ primary-for QAbstractButton (0x7fc388f4d380)
+ QObject (0x7fc388f4d3f0) 0
+ primary-for QWidget (0x7fc388f4a400)
+ QPaintDevice (0x7fc388f4d460) 16
+ vptr=((& QToolButton::_ZTV11QToolButton) + 488u)
+
+Vtable for QWorkspace
+QWorkspace::_ZTV10QWorkspace: 63u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QWorkspace)
+16 QWorkspace::metaObject
+24 QWorkspace::qt_metacast
+32 QWorkspace::qt_metacall
+40 QWorkspace::~QWorkspace
+48 QWorkspace::~QWorkspace
+56 QWorkspace::event
+64 QWorkspace::eventFilter
+72 QObject::timerEvent
+80 QWorkspace::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QWorkspace::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWorkspace::wheelEvent
+200 QWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QWorkspace::paintEvent
+256 QWidget::moveEvent
+264 QWorkspace::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWorkspace::showEvent
+344 QWorkspace::hideEvent
+352 QWidget::x11Event
+360 QWorkspace::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 (int (*)(...))-0x00000000000000010
+456 (int (*)(...))(& _ZTI10QWorkspace)
+464 QWorkspace::_ZThn16_N10QWorkspaceD1Ev
+472 QWorkspace::_ZThn16_N10QWorkspaceD0Ev
+480 QWidget::_ZThn16_NK7QWidget7devTypeEv
+488 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+496 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QWorkspace
+ size=40 align=8
+ base size=40 base align=8
+QWorkspace (0x7fc388f93620) 0
+ vptr=((& QWorkspace::_ZTV10QWorkspace) + 16u)
+ QWidget (0x7fc388f97100) 0
+ primary-for QWorkspace (0x7fc388f93620)
+ QObject (0x7fc388f93690) 0
+ primary-for QWidget (0x7fc388f97100)
+ QPaintDevice (0x7fc388f93700) 16
+ vptr=((& QWorkspace::_ZTV10QWorkspace) + 464u)
+
diff --git a/tests/auto/bic/data/QtHelp.4.5.0.linux-gcc-amd64.txt b/tests/auto/bic/data/QtHelp.4.5.0.linux-gcc-amd64.txt
new file mode 100644
index 0000000000..2c50e2e144
--- /dev/null
+++ b/tests/auto/bic/data/QtHelp.4.5.0.linux-gcc-amd64.txt
@@ -0,0 +1,6357 @@
+Class QSysInfo
+ size=1 align=1
+ base size=0 base align=1
+QSysInfo (0x7f0a726b2460) 0 empty
+
+Class QBool
+ size=1 align=1
+ base size=1 base align=1
+QBool (0x7f0a726c8150) 0
+
+Class qIsNull(double)::U
+ size=8 align=8
+ base size=8 base align=8
+qIsNull(double)::U (0x7f0a726dd540) 0
+
+Class qIsNull(float)::U
+ size=4 align=4
+ base size=4 base align=4
+qIsNull(float)::U (0x7f0a726dd7e0) 0
+
+Class QFlag
+ size=4 align=4
+ base size=4 base align=4
+QFlag (0x7f0a71cf4620) 0
+
+Class QIncompatibleFlag
+ size=4 align=4
+ base size=4 base align=4
+QIncompatibleFlag (0x7f0a71cf4e00) 0
+
+Class QInternal
+ size=1 align=1
+ base size=0 base align=1
+QInternal (0x7f0a71af1540) 0 empty
+
+Class QGenericArgument
+ size=16 align=8
+ base size=16 base align=8
+QGenericArgument (0x7f0a71af1850) 0
+
+Class QGenericReturnArgument
+ size=16 align=8
+ base size=16 base align=8
+QGenericReturnArgument (0x7f0a71b0d3f0) 0
+ QGenericArgument (0x7f0a71b0d460) 0
+
+Class QMetaObject
+ size=32 align=8
+ base size=32 base align=8
+QMetaObject (0x7f0a71b0dcb0) 0
+
+Class QMetaObjectExtraData
+ size=16 align=8
+ base size=16 base align=8
+QMetaObjectExtraData (0x7f0a71b33cb0) 0
+
+Class QLatin1Char
+ size=1 align=1
+ base size=1 base align=1
+QLatin1Char (0x7f0a71b3e700) 0
+
+Class QChar
+ size=2 align=2
+ base size=2 base align=2
+QChar (0x7f0a71b442a0) 0
+
+Class QBasicAtomicInt
+ size=4 align=4
+ base size=4 base align=4
+QBasicAtomicInt (0x7f0a71bb0380) 0
+
+Class QAtomicInt
+ size=4 align=4
+ base size=4 base align=4
+QAtomicInt (0x7f0a719e6d20) 0
+ QBasicAtomicInt (0x7f0a719e6d90) 0
+
+Class __locale_struct
+ size=232 align=8
+ base size=232 base align=8
+__locale_struct (0x7f0a71a0c1c0) 0
+
+Class QByteArray::Data
+ size=32 align=8
+ base size=32 base align=8
+QByteArray::Data (0x7f0a71a897e0) 0
+
+Class QByteArray
+ size=8 align=8
+ base size=8 base align=8
+QByteArray (0x7f0a71a44540) 0
+
+Class QByteRef
+ size=16 align=8
+ base size=12 base align=8
+QByteRef (0x7f0a718dea80) 0
+
+Class QString::Null
+ size=1 align=1
+ base size=0 base align=1
+QString::Null (0x7f0a717e7700) 0 empty
+
+Class QString::Data
+ size=32 align=8
+ base size=32 base align=8
+QString::Data (0x7f0a717f6ee0) 0
+
+Class QString
+ size=8 align=8
+ base size=8 base align=8
+QString (0x7f0a719675b0) 0
+
+Class QLatin1String
+ size=8 align=8
+ base size=8 base align=8
+QLatin1String (0x7f0a718d1000) 0
+
+Class QCharRef
+ size=16 align=8
+ base size=12 base align=8
+QCharRef (0x7f0a71767620) 0
+
+Class QConstString
+ size=8 align=8
+ base size=8 base align=8
+QConstString (0x7f0a716b1ee0) 0
+ QString (0x7f0a716b1f50) 0
+
+Class QStringRef
+ size=16 align=8
+ base size=16 base align=8
+QStringRef (0x7f0a716d3bd0) 0
+
+Vtable for std::exception
+std::exception::_ZTVSt9exception: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt9exception)
+16 std::exception::~exception
+24 std::exception::~exception
+32 std::exception::what
+
+Class std::exception
+ size=8 align=8
+ base size=8 base align=8
+std::exception (0x7f0a7158c620) 0 nearly-empty
+ vptr=((& std::exception::_ZTVSt9exception) + 16u)
+
+Vtable for std::bad_exception
+std::bad_exception::_ZTVSt13bad_exception: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt13bad_exception)
+16 std::bad_exception::~bad_exception
+24 std::bad_exception::~bad_exception
+32 std::bad_exception::what
+
+Class std::bad_exception
+ size=8 align=8
+ base size=8 base align=8
+std::bad_exception (0x7f0a715af000) 0 nearly-empty
+ vptr=((& std::bad_exception::_ZTVSt13bad_exception) + 16u)
+ std::exception (0x7f0a715af070) 0 nearly-empty
+ primary-for std::bad_exception (0x7f0a715af000)
+
+Vtable for std::bad_alloc
+std::bad_alloc::_ZTVSt9bad_alloc: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt9bad_alloc)
+16 std::bad_alloc::~bad_alloc
+24 std::bad_alloc::~bad_alloc
+32 std::bad_alloc::what
+
+Class std::bad_alloc
+ size=8 align=8
+ base size=8 base align=8
+std::bad_alloc (0x7f0a715af8c0) 0 nearly-empty
+ vptr=((& std::bad_alloc::_ZTVSt9bad_alloc) + 16u)
+ std::exception (0x7f0a715af930) 0 nearly-empty
+ primary-for std::bad_alloc (0x7f0a715af8c0)
+
+Class std::nothrow_t
+ size=1 align=1
+ base size=0 base align=1
+std::nothrow_t (0x7f0a715c00e0) 0 empty
+
+Class QListData::Data
+ size=32 align=8
+ base size=32 base align=8
+QListData::Data (0x7f0a715c0620) 0
+
+Class QListData
+ size=8 align=8
+ base size=8 base align=8
+QListData (0x7f0a715c05b0) 0
+
+Vtable for QObjectData
+QObjectData::_ZTV11QObjectData: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QObjectData)
+16 __cxa_pure_virtual
+24 __cxa_pure_virtual
+
+Class QObjectData
+ size=40 align=8
+ base size=40 base align=8
+QObjectData (0x7f0a714c2bd0) 0
+ vptr=((& QObjectData::_ZTV11QObjectData) + 16u)
+
+Vtable for QObject
+QObject::_ZTV7QObject: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QObject)
+16 QObject::metaObject
+24 QObject::qt_metacast
+32 QObject::qt_metacall
+40 QObject::~QObject
+48 QObject::~QObject
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QObject
+ size=16 align=8
+ base size=16 base align=8
+QObject (0x7f0a714c2ee0) 0
+ vptr=((& QObject::_ZTV7QObject) + 16u)
+
+Vtable for QObjectUserData
+QObjectUserData::_ZTV15QObjectUserData: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QObjectUserData)
+16 QObjectUserData::~QObjectUserData
+24 QObjectUserData::~QObjectUserData
+
+Class QObjectUserData
+ size=8 align=8
+ base size=8 base align=8
+QObjectUserData (0x7f0a713563f0) 0 nearly-empty
+ vptr=((& QObjectUserData::_ZTV15QObjectUserData) + 16u)
+
+Vtable for QIODevice
+QIODevice::_ZTV9QIODevice: 30u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QIODevice)
+16 QIODevice::metaObject
+24 QIODevice::qt_metacast
+32 QIODevice::qt_metacall
+40 QIODevice::~QIODevice
+48 QIODevice::~QIODevice
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QIODevice::isSequential
+120 QIODevice::open
+128 QIODevice::close
+136 QIODevice::pos
+144 QIODevice::size
+152 QIODevice::seek
+160 QIODevice::atEnd
+168 QIODevice::reset
+176 QIODevice::bytesAvailable
+184 QIODevice::bytesToWrite
+192 QIODevice::canReadLine
+200 QIODevice::waitForReadyRead
+208 QIODevice::waitForBytesWritten
+216 __cxa_pure_virtual
+224 QIODevice::readLineData
+232 __cxa_pure_virtual
+
+Class QIODevice
+ size=16 align=8
+ base size=16 base align=8
+QIODevice (0x7f0a71356930) 0
+ vptr=((& QIODevice::_ZTV9QIODevice) + 16u)
+ QObject (0x7f0a713569a0) 0
+ primary-for QIODevice (0x7f0a71356930)
+
+Vtable for QDataStream
+QDataStream::_ZTV11QDataStream: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QDataStream)
+16 QDataStream::~QDataStream
+24 QDataStream::~QDataStream
+
+Class QDataStream
+ size=40 align=8
+ base size=40 base align=8
+QDataStream (0x7f0a713cc2a0) 0
+ vptr=((& QDataStream::_ZTV11QDataStream) + 16u)
+
+Class QHashData::Node
+ size=16 align=8
+ base size=16 base align=8
+QHashData::Node (0x7f0a71251150) 0
+
+Class QHashData
+ size=40 align=8
+ base size=40 base align=8
+QHashData (0x7f0a712510e0) 0
+
+Class QHashDummyValue
+ size=1 align=1
+ base size=0 base align=1
+QHashDummyValue (0x7f0a71260ee0) 0 empty
+
+Class QMapData::Node
+ size=16 align=8
+ base size=16 base align=8
+QMapData::Node (0x7f0a71173690) 0
+
+Class QMapData
+ size=128 align=8
+ base size=128 base align=8
+QMapData (0x7f0a71173620) 0
+
+Vtable for QSystemLocale
+QSystemLocale::_ZTV13QSystemLocale: 6u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QSystemLocale)
+16 QSystemLocale::~QSystemLocale
+24 QSystemLocale::~QSystemLocale
+32 QSystemLocale::query
+40 QSystemLocale::fallbackLocale
+
+Class QSystemLocale
+ size=8 align=8
+ base size=8 base align=8
+QSystemLocale (0x7f0a71089e00) 0 nearly-empty
+ vptr=((& QSystemLocale::_ZTV13QSystemLocale) + 16u)
+
+Class QLocale::Data
+ size=4 align=2
+ base size=4 base align=2
+QLocale::Data (0x7f0a70ee63f0) 0
+
+Class QLocale
+ size=8 align=8
+ base size=8 base align=8
+QLocale (0x7f0a710a90e0) 0
+
+Class QTextCodec::ConverterState
+ size=32 align=8
+ base size=32 base align=8
+QTextCodec::ConverterState (0x7f0a70f34e70) 0
+
+Vtable for QTextCodec
+QTextCodec::_ZTV10QTextCodec: 9u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QTextCodec)
+16 __cxa_pure_virtual
+24 QTextCodec::aliases
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+48 __cxa_pure_virtual
+56 QTextCodec::~QTextCodec
+64 QTextCodec::~QTextCodec
+
+Class QTextCodec
+ size=8 align=8
+ base size=8 base align=8
+QTextCodec (0x7f0a70f1ea80) 0 nearly-empty
+ vptr=((& QTextCodec::_ZTV10QTextCodec) + 16u)
+
+Class QTextEncoder
+ size=40 align=8
+ base size=40 base align=8
+QTextEncoder (0x7f0a70fa13f0) 0
+
+Class QTextDecoder
+ size=40 align=8
+ base size=40 base align=8
+QTextDecoder (0x7f0a70fa8230) 0
+
+Class _IO_marker
+ size=24 align=8
+ base size=24 base align=8
+_IO_marker (0x7f0a70fb22a0) 0
+
+Class _IO_FILE
+ size=216 align=8
+ base size=216 base align=8
+_IO_FILE (0x7f0a70fb2310) 0
+
+Vtable for QTextStream
+QTextStream::_ZTV11QTextStream: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QTextStream)
+16 QTextStream::~QTextStream
+24 QTextStream::~QTextStream
+
+Class QTextStream
+ size=16 align=8
+ base size=16 base align=8
+QTextStream (0x7f0a70fb23f0) 0
+ vptr=((& QTextStream::_ZTV11QTextStream) + 16u)
+
+Class QTextStreamManipulator
+ size=40 align=8
+ base size=38 base align=8
+QTextStreamManipulator (0x7f0a70e4aee0) 0
+
+Vtable for QTextIStream
+QTextIStream::_ZTV12QTextIStream: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QTextIStream)
+16 QTextIStream::~QTextIStream
+24 QTextIStream::~QTextIStream
+
+Class QTextIStream
+ size=16 align=8
+ base size=16 base align=8
+QTextIStream (0x7f0a70e771c0) 0
+ vptr=((& QTextIStream::_ZTV12QTextIStream) + 16u)
+ QTextStream (0x7f0a70e77230) 0
+ primary-for QTextIStream (0x7f0a70e771c0)
+
+Vtable for QTextOStream
+QTextOStream::_ZTV12QTextOStream: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QTextOStream)
+16 QTextOStream::~QTextOStream
+24 QTextOStream::~QTextOStream
+
+Class QTextOStream
+ size=16 align=8
+ base size=16 base align=8
+QTextOStream (0x7f0a70e8a070) 0
+ vptr=((& QTextOStream::_ZTV12QTextOStream) + 16u)
+ QTextStream (0x7f0a70e8a0e0) 0
+ primary-for QTextOStream (0x7f0a70e8a070)
+
+Class wait
+ size=4 align=4
+ base size=4 base align=4
+wait (0x7f0a70e98ee0) 0
+
+Class timespec
+ size=16 align=8
+ base size=16 base align=8
+timespec (0x7f0a70ea4230) 0
+
+Class timeval
+ size=16 align=8
+ base size=16 base align=8
+timeval (0x7f0a70ea42a0) 0
+
+Class __pthread_internal_list
+ size=16 align=8
+ base size=16 base align=8
+__pthread_internal_list (0x7f0a70ea43f0) 0
+
+Class random_data
+ size=48 align=8
+ base size=48 base align=8
+random_data (0x7f0a70ea49a0) 0
+
+Class drand48_data
+ size=24 align=8
+ base size=24 base align=8
+drand48_data (0x7f0a70ea4a10) 0
+
+Class QVectorData
+ size=16 align=4
+ base size=16 base align=4
+QVectorData (0x7f0a70ea4a80) 0
+
+Class QDebug::Stream
+ size=40 align=8
+ base size=34 base align=8
+QDebug::Stream (0x7f0a70c1f230) 0
+
+Class QDebug
+ size=8 align=8
+ base size=8 base align=8
+QDebug (0x7f0a70c1f1c0) 0
+
+Class QNoDebug
+ size=1 align=1
+ base size=0 base align=1
+QNoDebug (0x7f0a70cbe070) 0 empty
+
+Vtable for QFile
+QFile::_ZTV5QFile: 31u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI5QFile)
+16 QFile::metaObject
+24 QFile::qt_metacast
+32 QFile::qt_metacall
+40 QFile::~QFile
+48 QFile::~QFile
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QFile::isSequential
+120 QFile::open
+128 QFile::close
+136 QFile::pos
+144 QFile::size
+152 QFile::seek
+160 QFile::atEnd
+168 QIODevice::reset
+176 QIODevice::bytesAvailable
+184 QIODevice::bytesToWrite
+192 QIODevice::canReadLine
+200 QIODevice::waitForReadyRead
+208 QIODevice::waitForBytesWritten
+216 QFile::readData
+224 QFile::readLineData
+232 QFile::writeData
+240 QFile::fileEngine
+
+Class QFile
+ size=16 align=8
+ base size=16 base align=8
+QFile (0x7f0a70ccf620) 0
+ vptr=((& QFile::_ZTV5QFile) + 16u)
+ QIODevice (0x7f0a70ccf690) 0
+ primary-for QFile (0x7f0a70ccf620)
+ QObject (0x7f0a70ccf700) 0
+ primary-for QIODevice (0x7f0a70ccf690)
+
+Vtable for QTemporaryFile
+QTemporaryFile::_ZTV14QTemporaryFile: 31u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QTemporaryFile)
+16 QTemporaryFile::metaObject
+24 QTemporaryFile::qt_metacast
+32 QTemporaryFile::qt_metacall
+40 QTemporaryFile::~QTemporaryFile
+48 QTemporaryFile::~QTemporaryFile
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QFile::isSequential
+120 QTemporaryFile::open
+128 QFile::close
+136 QFile::pos
+144 QFile::size
+152 QFile::seek
+160 QFile::atEnd
+168 QIODevice::reset
+176 QIODevice::bytesAvailable
+184 QIODevice::bytesToWrite
+192 QIODevice::canReadLine
+200 QIODevice::waitForReadyRead
+208 QIODevice::waitForBytesWritten
+216 QFile::readData
+224 QFile::readLineData
+232 QFile::writeData
+240 QTemporaryFile::fileEngine
+
+Class QTemporaryFile
+ size=16 align=8
+ base size=16 base align=8
+QTemporaryFile (0x7f0a70b39850) 0
+ vptr=((& QTemporaryFile::_ZTV14QTemporaryFile) + 16u)
+ QFile (0x7f0a70b398c0) 0
+ primary-for QTemporaryFile (0x7f0a70b39850)
+ QIODevice (0x7f0a70b39930) 0
+ primary-for QFile (0x7f0a70b398c0)
+ QObject (0x7f0a70b399a0) 0
+ primary-for QIODevice (0x7f0a70b39930)
+
+Class QFileInfo
+ size=8 align=8
+ base size=8 base align=8
+QFileInfo (0x7f0a70b5af50) 0
+
+Class QRegExp
+ size=8 align=8
+ base size=8 base align=8
+QRegExp (0x7f0a70bb8770) 0
+
+Class QStringMatcher
+ size=1048 align=8
+ base size=1048 base align=8
+QStringMatcher (0x7f0a70a045b0) 0
+
+Class QStringList
+ size=8 align=8
+ base size=8 base align=8
+QStringList (0x7f0a70a16070) 0
+ QList<QString> (0x7f0a70a160e0) 0
+
+Class QDir
+ size=8 align=8
+ base size=8 base align=8
+QDir (0x7f0a70aa5cb0) 0
+
+Class QAbstractFileEngine::ExtensionOption
+ size=1 align=1
+ base size=0 base align=1
+QAbstractFileEngine::ExtensionOption (0x7f0a7093fe70) 0 empty
+
+Class QAbstractFileEngine::ExtensionReturn
+ size=1 align=1
+ base size=0 base align=1
+QAbstractFileEngine::ExtensionReturn (0x7f0a7093fee0) 0 empty
+
+Class QAbstractFileEngine::MapExtensionOption
+ size=24 align=8
+ base size=20 base align=8
+QAbstractFileEngine::MapExtensionOption (0x7f0a7093ff50) 0
+ QAbstractFileEngine::ExtensionOption (0x7f0a70954000) 0 empty
+
+Class QAbstractFileEngine::MapExtensionReturn
+ size=8 align=8
+ base size=8 base align=8
+QAbstractFileEngine::MapExtensionReturn (0x7f0a709541c0) 0
+ QAbstractFileEngine::ExtensionReturn (0x7f0a70954230) 0 empty
+
+Class QAbstractFileEngine::UnMapExtensionOption
+ size=8 align=8
+ base size=8 base align=8
+QAbstractFileEngine::UnMapExtensionOption (0x7f0a709542a0) 0
+ QAbstractFileEngine::ExtensionOption (0x7f0a70954310) 0 empty
+
+Vtable for QAbstractFileEngine
+QAbstractFileEngine::_ZTV19QAbstractFileEngine: 36u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QAbstractFileEngine)
+16 QAbstractFileEngine::~QAbstractFileEngine
+24 QAbstractFileEngine::~QAbstractFileEngine
+32 QAbstractFileEngine::open
+40 QAbstractFileEngine::close
+48 QAbstractFileEngine::flush
+56 QAbstractFileEngine::size
+64 QAbstractFileEngine::pos
+72 QAbstractFileEngine::seek
+80 QAbstractFileEngine::isSequential
+88 QAbstractFileEngine::remove
+96 QAbstractFileEngine::copy
+104 QAbstractFileEngine::rename
+112 QAbstractFileEngine::link
+120 QAbstractFileEngine::mkdir
+128 QAbstractFileEngine::rmdir
+136 QAbstractFileEngine::setSize
+144 QAbstractFileEngine::caseSensitive
+152 QAbstractFileEngine::isRelativePath
+160 QAbstractFileEngine::entryList
+168 QAbstractFileEngine::fileFlags
+176 QAbstractFileEngine::setPermissions
+184 QAbstractFileEngine::fileName
+192 QAbstractFileEngine::ownerId
+200 QAbstractFileEngine::owner
+208 QAbstractFileEngine::fileTime
+216 QAbstractFileEngine::setFileName
+224 QAbstractFileEngine::handle
+232 QAbstractFileEngine::beginEntryList
+240 QAbstractFileEngine::endEntryList
+248 QAbstractFileEngine::read
+256 QAbstractFileEngine::readLine
+264 QAbstractFileEngine::write
+272 QAbstractFileEngine::extension
+280 QAbstractFileEngine::supportsExtension
+
+Class QAbstractFileEngine
+ size=16 align=8
+ base size=16 base align=8
+QAbstractFileEngine (0x7f0a7092fe00) 0
+ vptr=((& QAbstractFileEngine::_ZTV19QAbstractFileEngine) + 16u)
+
+Vtable for QAbstractFileEngineHandler
+QAbstractFileEngineHandler::_ZTV26QAbstractFileEngineHandler: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI26QAbstractFileEngineHandler)
+16 QAbstractFileEngineHandler::~QAbstractFileEngineHandler
+24 QAbstractFileEngineHandler::~QAbstractFileEngineHandler
+32 __cxa_pure_virtual
+
+Class QAbstractFileEngineHandler
+ size=8 align=8
+ base size=8 base align=8
+QAbstractFileEngineHandler (0x7f0a70983000) 0 nearly-empty
+ vptr=((& QAbstractFileEngineHandler::_ZTV26QAbstractFileEngineHandler) + 16u)
+
+Vtable for QAbstractFileEngineIterator
+QAbstractFileEngineIterator::_ZTV27QAbstractFileEngineIterator: 9u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI27QAbstractFileEngineIterator)
+16 QAbstractFileEngineIterator::~QAbstractFileEngineIterator
+24 QAbstractFileEngineIterator::~QAbstractFileEngineIterator
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+48 __cxa_pure_virtual
+56 QAbstractFileEngineIterator::currentFileInfo
+64 QAbstractFileEngineIterator::entryInfo
+
+Class QAbstractFileEngineIterator
+ size=16 align=8
+ base size=16 base align=8
+QAbstractFileEngineIterator (0x7f0a709831c0) 0
+ vptr=((& QAbstractFileEngineIterator::_ZTV27QAbstractFileEngineIterator) + 16u)
+
+Vtable for QFSFileEngine
+QFSFileEngine::_ZTV13QFSFileEngine: 36u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QFSFileEngine)
+16 QFSFileEngine::~QFSFileEngine
+24 QFSFileEngine::~QFSFileEngine
+32 QFSFileEngine::open
+40 QFSFileEngine::close
+48 QFSFileEngine::flush
+56 QFSFileEngine::size
+64 QFSFileEngine::pos
+72 QFSFileEngine::seek
+80 QFSFileEngine::isSequential
+88 QFSFileEngine::remove
+96 QFSFileEngine::copy
+104 QFSFileEngine::rename
+112 QFSFileEngine::link
+120 QFSFileEngine::mkdir
+128 QFSFileEngine::rmdir
+136 QFSFileEngine::setSize
+144 QFSFileEngine::caseSensitive
+152 QFSFileEngine::isRelativePath
+160 QFSFileEngine::entryList
+168 QFSFileEngine::fileFlags
+176 QFSFileEngine::setPermissions
+184 QFSFileEngine::fileName
+192 QFSFileEngine::ownerId
+200 QFSFileEngine::owner
+208 QFSFileEngine::fileTime
+216 QFSFileEngine::setFileName
+224 QFSFileEngine::handle
+232 QFSFileEngine::beginEntryList
+240 QFSFileEngine::endEntryList
+248 QFSFileEngine::read
+256 QFSFileEngine::readLine
+264 QFSFileEngine::write
+272 QFSFileEngine::extension
+280 QFSFileEngine::supportsExtension
+
+Class QFSFileEngine
+ size=16 align=8
+ base size=16 base align=8
+QFSFileEngine (0x7f0a70983a10) 0
+ vptr=((& QFSFileEngine::_ZTV13QFSFileEngine) + 16u)
+ QAbstractFileEngine (0x7f0a70983a80) 0
+ primary-for QFSFileEngine (0x7f0a70983a10)
+
+Vtable for QProcess
+QProcess::_ZTV8QProcess: 31u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI8QProcess)
+16 QProcess::metaObject
+24 QProcess::qt_metacast
+32 QProcess::qt_metacall
+40 QProcess::~QProcess
+48 QProcess::~QProcess
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QProcess::isSequential
+120 QIODevice::open
+128 QProcess::close
+136 QIODevice::pos
+144 QIODevice::size
+152 QIODevice::seek
+160 QProcess::atEnd
+168 QIODevice::reset
+176 QProcess::bytesAvailable
+184 QProcess::bytesToWrite
+192 QProcess::canReadLine
+200 QProcess::waitForReadyRead
+208 QProcess::waitForBytesWritten
+216 QProcess::readData
+224 QIODevice::readLineData
+232 QProcess::writeData
+240 QProcess::setupChildProcess
+
+Class QProcess
+ size=16 align=8
+ base size=16 base align=8
+QProcess (0x7f0a7099ad20) 0
+ vptr=((& QProcess::_ZTV8QProcess) + 16u)
+ QIODevice (0x7f0a7099ad90) 0
+ primary-for QProcess (0x7f0a7099ad20)
+ QObject (0x7f0a7099ae00) 0
+ primary-for QIODevice (0x7f0a7099ad90)
+
+Class QResource
+ size=8 align=8
+ base size=8 base align=8
+QResource (0x7f0a707b7230) 0
+
+Vtable for QDirIterator
+QDirIterator::_ZTV12QDirIterator: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QDirIterator)
+16 QDirIterator::~QDirIterator
+24 QDirIterator::~QDirIterator
+
+Class QDirIterator
+ size=16 align=8
+ base size=16 base align=8
+QDirIterator (0x7f0a707b7cb0) 0
+ vptr=((& QDirIterator::_ZTV12QDirIterator) + 16u)
+
+Vtable for QBuffer
+QBuffer::_ZTV7QBuffer: 30u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QBuffer)
+16 QBuffer::metaObject
+24 QBuffer::qt_metacast
+32 QBuffer::qt_metacall
+40 QBuffer::~QBuffer
+48 QBuffer::~QBuffer
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QBuffer::connectNotify
+104 QBuffer::disconnectNotify
+112 QIODevice::isSequential
+120 QBuffer::open
+128 QBuffer::close
+136 QBuffer::pos
+144 QBuffer::size
+152 QBuffer::seek
+160 QBuffer::atEnd
+168 QIODevice::reset
+176 QIODevice::bytesAvailable
+184 QIODevice::bytesToWrite
+192 QBuffer::canReadLine
+200 QIODevice::waitForReadyRead
+208 QIODevice::waitForBytesWritten
+216 QBuffer::readData
+224 QIODevice::readLineData
+232 QBuffer::writeData
+
+Class QBuffer
+ size=16 align=8
+ base size=16 base align=8
+QBuffer (0x7f0a707e7a80) 0
+ vptr=((& QBuffer::_ZTV7QBuffer) + 16u)
+ QIODevice (0x7f0a707e7af0) 0
+ primary-for QBuffer (0x7f0a707e7a80)
+ QObject (0x7f0a707e7b60) 0
+ primary-for QIODevice (0x7f0a707e7af0)
+
+Vtable for QFileSystemWatcher
+QFileSystemWatcher::_ZTV18QFileSystemWatcher: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QFileSystemWatcher)
+16 QFileSystemWatcher::metaObject
+24 QFileSystemWatcher::qt_metacast
+32 QFileSystemWatcher::qt_metacall
+40 QFileSystemWatcher::~QFileSystemWatcher
+48 QFileSystemWatcher::~QFileSystemWatcher
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QFileSystemWatcher
+ size=16 align=8
+ base size=16 base align=8
+QFileSystemWatcher (0x7f0a7080f690) 0
+ vptr=((& QFileSystemWatcher::_ZTV18QFileSystemWatcher) + 16u)
+ QObject (0x7f0a7080f700) 0
+ primary-for QFileSystemWatcher (0x7f0a7080f690)
+
+Class QUrl
+ size=8 align=8
+ base size=8 base align=8
+QUrl (0x7f0a70823bd0) 0
+
+Class QMetaType
+ size=1 align=1
+ base size=0 base align=1
+QMetaType (0x7f0a708ad3f0) 0 empty
+
+Class QVariant::PrivateShared
+ size=16 align=8
+ base size=12 base align=8
+QVariant::PrivateShared (0x7f0a7077e930) 0
+
+Class QVariant::Private::Data
+ size=8 align=8
+ base size=8 base align=8
+QVariant::Private::Data (0x7f0a7077ec40) 0
+
+Class QVariant::Private
+ size=16 align=8
+ base size=12 base align=8
+QVariant::Private (0x7f0a7077ea10) 0
+
+Class QVariant::Handler
+ size=72 align=8
+ base size=72 base align=8
+QVariant::Handler (0x7f0a7078d930) 0
+
+Class QVariant
+ size=16 align=8
+ base size=16 base align=8
+QVariant (0x7f0a7074eaf0) 0
+
+Class QVariantComparisonHelper
+ size=8 align=8
+ base size=8 base align=8
+QVariantComparisonHelper (0x7f0a70635cb0) 0
+
+Vtable for QSettings
+QSettings::_ZTV9QSettings: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QSettings)
+16 QSettings::metaObject
+24 QSettings::qt_metacast
+32 QSettings::qt_metacall
+40 QSettings::~QSettings
+48 QSettings::~QSettings
+56 QSettings::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QSettings
+ size=16 align=8
+ base size=16 base align=8
+QSettings (0x7f0a70659cb0) 0
+ vptr=((& QSettings::_ZTV9QSettings) + 16u)
+ QObject (0x7f0a70659d20) 0
+ primary-for QSettings (0x7f0a70659cb0)
+
+Class QXmlStreamStringRef
+ size=16 align=8
+ base size=16 base align=8
+QXmlStreamStringRef (0x7f0a704da070) 0
+
+Class QXmlStreamAttribute
+ size=80 align=8
+ base size=73 base align=8
+QXmlStreamAttribute (0x7f0a704f8850) 0
+
+Class QXmlStreamAttributes
+ size=8 align=8
+ base size=8 base align=8
+QXmlStreamAttributes (0x7f0a70520380) 0
+ QVector<QXmlStreamAttribute> (0x7f0a705203f0) 0
+
+Class QXmlStreamNamespaceDeclaration
+ size=40 align=8
+ base size=40 base align=8
+QXmlStreamNamespaceDeclaration (0x7f0a70520850) 0
+
+Class QXmlStreamNotationDeclaration
+ size=56 align=8
+ base size=56 base align=8
+QXmlStreamNotationDeclaration (0x7f0a705611c0) 0
+
+Class QXmlStreamEntityDeclaration
+ size=88 align=8
+ base size=88 base align=8
+QXmlStreamEntityDeclaration (0x7f0a7057f070) 0
+
+Vtable for QXmlStreamEntityResolver
+QXmlStreamEntityResolver::_ZTV24QXmlStreamEntityResolver: 6u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI24QXmlStreamEntityResolver)
+16 QXmlStreamEntityResolver::~QXmlStreamEntityResolver
+24 QXmlStreamEntityResolver::~QXmlStreamEntityResolver
+32 QXmlStreamEntityResolver::resolveEntity
+40 QXmlStreamEntityResolver::resolveUndeclaredEntity
+
+Class QXmlStreamEntityResolver
+ size=8 align=8
+ base size=8 base align=8
+QXmlStreamEntityResolver (0x7f0a7059c9a0) 0 nearly-empty
+ vptr=((& QXmlStreamEntityResolver::_ZTV24QXmlStreamEntityResolver) + 16u)
+
+Class QXmlStreamReader
+ size=8 align=8
+ base size=8 base align=8
+QXmlStreamReader (0x7f0a7059cb60) 0
+
+Class QXmlStreamWriter
+ size=8 align=8
+ base size=8 base align=8
+QXmlStreamWriter (0x7f0a703daa10) 0
+
+Class QPoint
+ size=8 align=4
+ base size=8 base align=4
+QPoint (0x7f0a70418150) 0
+
+Class QPointF
+ size=16 align=8
+ base size=16 base align=8
+QPointF (0x7f0a7044ed90) 0
+
+Class QLine
+ size=16 align=4
+ base size=16 base align=4
+QLine (0x7f0a7048bbd0) 0
+
+Class QLineF
+ size=32 align=8
+ base size=32 base align=8
+QLineF (0x7f0a702c6a80) 0
+
+Class QSize
+ size=8 align=4
+ base size=8 base align=4
+QSize (0x7f0a70322540) 0
+
+Class QSizeF
+ size=16 align=8
+ base size=16 base align=8
+QSizeF (0x7f0a7036d380) 0
+
+Class QRect
+ size=16 align=4
+ base size=16 base align=4
+QRect (0x7f0a701ba9a0) 0
+
+Class QRectF
+ size=32 align=8
+ base size=32 base align=8
+QRectF (0x7f0a70271380) 0
+
+Class QSharedData
+ size=4 align=4
+ base size=4 base align=4
+QSharedData (0x7f0a70115150) 0
+
+Vtable for QtSharedPointer::ExternalRefCountData
+QtSharedPointer::ExternalRefCountData::_ZTVN15QtSharedPointer20ExternalRefCountDataE: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN15QtSharedPointer20ExternalRefCountDataE)
+16 QtSharedPointer::ExternalRefCountData::~ExternalRefCountData
+24 QtSharedPointer::ExternalRefCountData::~ExternalRefCountData
+32 QtSharedPointer::ExternalRefCountData::destroy
+
+Class QtSharedPointer::ExternalRefCountData
+ size=16 align=8
+ base size=16 base align=8
+QtSharedPointer::ExternalRefCountData (0x7f0a70144af0) 0
+ vptr=((& QtSharedPointer::ExternalRefCountData::_ZTVN15QtSharedPointer20ExternalRefCountDataE) + 16u)
+
+Class QLinkedListData
+ size=32 align=8
+ base size=32 base align=8
+QLinkedListData (0x7f0a6ffcbc40) 0
+
+Class QBitArray
+ size=8 align=8
+ base size=8 base align=8
+QBitArray (0x7f0a70097b60) 0
+
+Class QBitRef
+ size=16 align=8
+ base size=12 base align=8
+QBitRef (0x7f0a6ff0b930) 0
+
+Class QByteArrayMatcher
+ size=1040 align=8
+ base size=1040 base align=8
+QByteArrayMatcher (0x7f0a6ff25310) 0
+
+Class QCryptographicHash
+ size=8 align=8
+ base size=8 base align=8
+QCryptographicHash (0x7f0a6ff36a10) 0
+
+Class QTextBoundaryFinder
+ size=48 align=8
+ base size=48 base align=8
+QTextBoundaryFinder (0x7f0a6ff64460) 0
+
+Class QDate
+ size=4 align=4
+ base size=4 base align=4
+QDate (0x7f0a6ff797e0) 0
+
+Class QTime
+ size=4 align=4
+ base size=4 base align=4
+QTime (0x7f0a6fda3770) 0
+
+Class QDateTime
+ size=8 align=8
+ base size=8 base align=8
+QDateTime (0x7f0a6fdc1d20) 0
+
+Vtable for QTimeLine
+QTimeLine::_ZTV9QTimeLine: 15u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QTimeLine)
+16 QTimeLine::metaObject
+24 QTimeLine::qt_metacast
+32 QTimeLine::qt_metacall
+40 QTimeLine::~QTimeLine
+48 QTimeLine::~QTimeLine
+56 QObject::event
+64 QObject::eventFilter
+72 QTimeLine::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QTimeLine::valueForTime
+
+Class QTimeLine
+ size=16 align=8
+ base size=16 base align=8
+QTimeLine (0x7f0a6fdf51c0) 0
+ vptr=((& QTimeLine::_ZTV9QTimeLine) + 16u)
+ QObject (0x7f0a6fdf5230) 0
+ primary-for QTimeLine (0x7f0a6fdf51c0)
+
+Vtable for QRunnable
+QRunnable::_ZTV9QRunnable: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QRunnable)
+16 __cxa_pure_virtual
+24 QRunnable::~QRunnable
+32 QRunnable::~QRunnable
+
+Class QRunnable
+ size=16 align=8
+ base size=12 base align=8
+QRunnable (0x7f0a6fe1b070) 0
+ vptr=((& QRunnable::_ZTV9QRunnable) + 16u)
+
+Class QMutex
+ size=8 align=8
+ base size=8 base align=8
+QMutex (0x7f0a6fe29700) 0
+
+Class QMutexLocker
+ size=8 align=8
+ base size=8 base align=8
+QMutexLocker (0x7f0a6fe372a0) 0
+
+Vtable for QtConcurrent::Exception
+QtConcurrent::Exception::_ZTVN12QtConcurrent9ExceptionE: 7u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN12QtConcurrent9ExceptionE)
+16 QtConcurrent::Exception::~Exception
+24 QtConcurrent::Exception::~Exception
+32 std::exception::what
+40 QtConcurrent::Exception::raise
+48 QtConcurrent::Exception::clone
+
+Class QtConcurrent::Exception
+ size=8 align=8
+ base size=8 base align=8
+QtConcurrent::Exception (0x7f0a6fe4e5b0) 0 nearly-empty
+ vptr=((& QtConcurrent::Exception::_ZTVN12QtConcurrent9ExceptionE) + 16u)
+ std::exception (0x7f0a6fe4e620) 0 nearly-empty
+ primary-for QtConcurrent::Exception (0x7f0a6fe4e5b0)
+
+Vtable for QtConcurrent::UnhandledException
+QtConcurrent::UnhandledException::_ZTVN12QtConcurrent18UnhandledExceptionE: 7u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN12QtConcurrent18UnhandledExceptionE)
+16 QtConcurrent::UnhandledException::~UnhandledException
+24 QtConcurrent::UnhandledException::~UnhandledException
+32 std::exception::what
+40 QtConcurrent::UnhandledException::raise
+48 QtConcurrent::UnhandledException::clone
+
+Class QtConcurrent::UnhandledException
+ size=8 align=8
+ base size=8 base align=8
+QtConcurrent::UnhandledException (0x7f0a6fe4e850) 0 nearly-empty
+ vptr=((& QtConcurrent::UnhandledException::_ZTVN12QtConcurrent18UnhandledExceptionE) + 16u)
+ QtConcurrent::Exception (0x7f0a6fe4e8c0) 0 nearly-empty
+ primary-for QtConcurrent::UnhandledException (0x7f0a6fe4e850)
+ std::exception (0x7f0a6fe4e930) 0 nearly-empty
+ primary-for QtConcurrent::Exception (0x7f0a6fe4e8c0)
+
+Class QtConcurrent::internal::ExceptionHolder
+ size=8 align=8
+ base size=8 base align=8
+QtConcurrent::internal::ExceptionHolder (0x7f0a6fe4eb60) 0
+
+Class QtConcurrent::internal::ExceptionStore
+ size=8 align=8
+ base size=8 base align=8
+QtConcurrent::internal::ExceptionStore (0x7f0a6fe4eee0) 0
+
+Class QtConcurrent::ResultItem
+ size=16 align=8
+ base size=16 base align=8
+QtConcurrent::ResultItem (0x7f0a6fe4ef50) 0
+
+Class QtConcurrent::ResultIteratorBase
+ size=16 align=8
+ base size=12 base align=8
+QtConcurrent::ResultIteratorBase (0x7f0a6fe66e70) 0
+
+Vtable for QtConcurrent::ResultStoreBase
+QtConcurrent::ResultStoreBase::_ZTVN12QtConcurrent15ResultStoreBaseE: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN12QtConcurrent15ResultStoreBaseE)
+16 QtConcurrent::ResultStoreBase::~ResultStoreBase
+24 QtConcurrent::ResultStoreBase::~ResultStoreBase
+
+Class QtConcurrent::ResultStoreBase
+ size=48 align=8
+ base size=44 base align=8
+QtConcurrent::ResultStoreBase (0x7f0a6fe69a10) 0
+ vptr=((& QtConcurrent::ResultStoreBase::_ZTVN12QtConcurrent15ResultStoreBaseE) + 16u)
+
+Vtable for QFutureInterfaceBase
+QFutureInterfaceBase::_ZTV20QFutureInterfaceBase: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI20QFutureInterfaceBase)
+16 QFutureInterfaceBase::~QFutureInterfaceBase
+24 QFutureInterfaceBase::~QFutureInterfaceBase
+
+Class QFutureInterfaceBase
+ size=16 align=8
+ base size=16 base align=8
+QFutureInterfaceBase (0x7f0a6fca9e70) 0
+ vptr=((& QFutureInterfaceBase::_ZTV20QFutureInterfaceBase) + 16u)
+
+Vtable for QThread
+QThread::_ZTV7QThread: 15u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QThread)
+16 QThread::metaObject
+24 QThread::qt_metacast
+32 QThread::qt_metacall
+40 QThread::~QThread
+48 QThread::~QThread
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QThread::run
+
+Class QThread
+ size=16 align=8
+ base size=16 base align=8
+QThread (0x7f0a6fd8be00) 0
+ vptr=((& QThread::_ZTV7QThread) + 16u)
+ QObject (0x7f0a6fd8be70) 0
+ primary-for QThread (0x7f0a6fd8be00)
+
+Vtable for QThreadPool
+QThreadPool::_ZTV11QThreadPool: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QThreadPool)
+16 QThreadPool::metaObject
+24 QThreadPool::qt_metacast
+32 QThreadPool::qt_metacall
+40 QThreadPool::~QThreadPool
+48 QThreadPool::~QThreadPool
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QThreadPool
+ size=16 align=8
+ base size=16 base align=8
+QThreadPool (0x7f0a6fbc0cb0) 0
+ vptr=((& QThreadPool::_ZTV11QThreadPool) + 16u)
+ QObject (0x7f0a6fbc0d20) 0
+ primary-for QThreadPool (0x7f0a6fbc0cb0)
+
+Class QWaitCondition
+ size=8 align=8
+ base size=8 base align=8
+QWaitCondition (0x7f0a6fbd9540) 0
+
+Class QtConcurrent::ThreadEngineSemaphore
+ size=24 align=8
+ base size=24 base align=8
+QtConcurrent::ThreadEngineSemaphore (0x7f0a6fbd9a80) 0
+
+Vtable for QtConcurrent::ThreadEngineBase
+QtConcurrent::ThreadEngineBase::_ZTVN12QtConcurrent16ThreadEngineBaseE: 11u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN12QtConcurrent16ThreadEngineBaseE)
+16 QtConcurrent::ThreadEngineBase::run
+24 QtConcurrent::ThreadEngineBase::~ThreadEngineBase
+32 QtConcurrent::ThreadEngineBase::~ThreadEngineBase
+40 QtConcurrent::ThreadEngineBase::start
+48 QtConcurrent::ThreadEngineBase::finish
+56 QtConcurrent::ThreadEngineBase::threadFunction
+64 QtConcurrent::ThreadEngineBase::shouldStartThread
+72 QtConcurrent::ThreadEngineBase::shouldThrottleThread
+80 __cxa_pure_virtual
+
+Class QtConcurrent::ThreadEngineBase
+ size=64 align=8
+ base size=64 base align=8
+QtConcurrent::ThreadEngineBase (0x7f0a6fbf9460) 0
+ vptr=((& QtConcurrent::ThreadEngineBase::_ZTVN12QtConcurrent16ThreadEngineBaseE) + 16u)
+ QRunnable (0x7f0a6fbf94d0) 0
+ primary-for QtConcurrent::ThreadEngineBase (0x7f0a6fbf9460)
+
+VTT for QtConcurrent::ThreadEngine<void>
+QtConcurrent::ThreadEngine<void>::_ZTTN12QtConcurrent12ThreadEngineIvEE: 2u entries
+0 ((& QtConcurrent::ThreadEngine<void>::_ZTVN12QtConcurrent12ThreadEngineIvEE) + 24u)
+8 ((& QtConcurrent::ThreadEngine<void>::_ZTVN12QtConcurrent12ThreadEngineIvEE) + 136u)
+
+Class std::input_iterator_tag
+ size=1 align=1
+ base size=0 base align=1
+std::input_iterator_tag (0x7f0a6fc3c850) 0 empty
+
+Class std::output_iterator_tag
+ size=1 align=1
+ base size=0 base align=1
+std::output_iterator_tag (0x7f0a6fc3c8c0) 0 empty
+
+Class std::forward_iterator_tag
+ size=1 align=1
+ base size=1 base align=1
+std::forward_iterator_tag (0x7f0a6fc3c930) 0 empty
+ std::input_iterator_tag (0x7f0a6fc3c9a0) 0 empty
+
+Class std::bidirectional_iterator_tag
+ size=1 align=1
+ base size=1 base align=1
+std::bidirectional_iterator_tag (0x7f0a6fc3ca10) 0 empty
+ std::forward_iterator_tag (0x7f0a6fc3ca80) 0 empty
+ std::input_iterator_tag (0x7f0a6fc3caf0) 0 empty
+
+Class std::random_access_iterator_tag
+ size=1 align=1
+ base size=1 base align=1
+std::random_access_iterator_tag (0x7f0a6fc3cb60) 0 empty
+ std::bidirectional_iterator_tag (0x7f0a6fc3cbd0) 0 empty
+ std::forward_iterator_tag (0x7f0a6fc3cc40) 0 empty
+ std::input_iterator_tag (0x7f0a6fc3ccb0) 0 empty
+
+Class std::__true_type
+ size=1 align=1
+ base size=0 base align=1
+std::__true_type (0x7f0a6fc4d2a0) 0 empty
+
+Class std::__false_type
+ size=1 align=1
+ base size=0 base align=1
+std::__false_type (0x7f0a6fc4d310) 0 empty
+
+Class lconv
+ size=96 align=8
+ base size=96 base align=8
+lconv (0x7f0a6fa29620) 0
+
+Class sched_param
+ size=4 align=4
+ base size=4 base align=4
+sched_param (0x7f0a6fa29a80) 0
+
+Class __sched_param
+ size=4 align=4
+ base size=4 base align=4
+__sched_param (0x7f0a6fa29af0) 0
+
+Class tm
+ size=56 align=8
+ base size=56 base align=8
+tm (0x7f0a6fa29bd0) 0
+
+Class itimerspec
+ size=32 align=8
+ base size=32 base align=8
+itimerspec (0x7f0a6fa29cb0) 0
+
+Class _pthread_cleanup_buffer
+ size=32 align=8
+ base size=32 base align=8
+_pthread_cleanup_buffer (0x7f0a6fa29d20) 0
+
+Class __pthread_cleanup_frame
+ size=24 align=8
+ base size=24 base align=8
+__pthread_cleanup_frame (0x7f0a6fa29e70) 0
+
+Class __pthread_cleanup_class
+ size=24 align=8
+ base size=24 base align=8
+__pthread_cleanup_class (0x7f0a6fa29ee0) 0
+
+Vtable for __cxxabiv1::__forced_unwind
+__cxxabiv1::__forced_unwind::_ZTVN10__cxxabiv115__forced_unwindE: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN10__cxxabiv115__forced_unwindE)
+16 __cxxabiv1::__forced_unwind::~__forced_unwind
+24 __cxxabiv1::__forced_unwind::~__forced_unwind
+32 __cxa_pure_virtual
+
+Class __cxxabiv1::__forced_unwind
+ size=8 align=8
+ base size=8 base align=8
+__cxxabiv1::__forced_unwind (0x7f0a6f93da80) 0 nearly-empty
+ vptr=((& __cxxabiv1::__forced_unwind::_ZTVN10__cxxabiv115__forced_unwindE) + 16u)
+
+Class std::locale
+ size=8 align=8
+ base size=8 base align=8
+std::locale (0x7f0a6f5ee5b0) 0
+
+Vtable for std::locale::facet
+std::locale::facet::_ZTVNSt6locale5facetE: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTINSt6locale5facetE)
+16 std::locale::facet::~facet
+24 std::locale::facet::~facet
+
+Class std::locale::facet
+ size=16 align=8
+ base size=12 base align=8
+std::locale::facet (0x7f0a6f692cb0) 0
+ vptr=((& std::locale::facet::_ZTVNSt6locale5facetE) + 16u)
+
+Class std::locale::id
+ size=8 align=8
+ base size=8 base align=8
+std::locale::id (0x7f0a6f4a62a0) 0
+
+Class std::locale::_Impl
+ size=40 align=8
+ base size=40 base align=8
+std::locale::_Impl (0x7f0a6f4a68c0) 0
+
+Vtable for std::ios_base::failure
+std::ios_base::failure::_ZTVNSt8ios_base7failureE: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTINSt8ios_base7failureE)
+16 std::ios_base::failure::~failure
+24 std::ios_base::failure::~failure
+32 std::ios_base::failure::what
+
+Class std::ios_base::failure
+ size=16 align=8
+ base size=16 base align=8
+std::ios_base::failure (0x7f0a6f534070) 0
+ vptr=((& std::ios_base::failure::_ZTVNSt8ios_base7failureE) + 16u)
+ std::exception (0x7f0a6f5340e0) 0 nearly-empty
+ primary-for std::ios_base::failure (0x7f0a6f534070)
+
+Class std::ios_base::_Callback_list
+ size=24 align=8
+ base size=24 base align=8
+std::ios_base::_Callback_list (0x7f0a6f541310) 0
+
+Class std::ios_base::_Words
+ size=16 align=8
+ base size=16 base align=8
+std::ios_base::_Words (0x7f0a6f541d90) 0
+
+Class std::ios_base::Init
+ size=1 align=1
+ base size=0 base align=1
+std::ios_base::Init (0x7f0a6f54a4d0) 0 empty
+
+Vtable for std::ios_base
+std::ios_base::_ZTVSt8ios_base: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt8ios_base)
+16 std::ios_base::~ios_base
+24 std::ios_base::~ios_base
+
+Class std::ios_base
+ size=216 align=8
+ base size=216 base align=8
+std::ios_base (0x7f0a6f534000) 0
+ vptr=((& std::ios_base::_ZTVSt8ios_base) + 16u)
+
+Class std::ctype_base
+ size=1 align=1
+ base size=0 base align=1
+std::ctype_base (0x7f0a6f3c1930) 0 empty
+
+Class std::__num_base
+ size=1 align=1
+ base size=0 base align=1
+std::__num_base (0x7f0a6f2dd1c0) 0 empty
+
+VTT for std::basic_ostream<char, std::char_traits<char> >
+std::basic_ostream<char, std::char_traits<char> >::_ZTTSo: 2u entries
+0 ((& std::basic_ostream<char, std::char_traits<char> >::_ZTVSo) + 24u)
+8 ((& std::basic_ostream<char, std::char_traits<char> >::_ZTVSo) + 64u)
+
+VTT for std::basic_ostream<wchar_t, std::char_traits<wchar_t> >
+std::basic_ostream<wchar_t, std::char_traits<wchar_t> >::_ZTTSt13basic_ostreamIwSt11char_traitsIwEE: 2u entries
+0 ((& std::basic_ostream<wchar_t, std::char_traits<wchar_t> >::_ZTVSt13basic_ostreamIwSt11char_traitsIwEE) + 24u)
+8 ((& std::basic_ostream<wchar_t, std::char_traits<wchar_t> >::_ZTVSt13basic_ostreamIwSt11char_traitsIwEE) + 64u)
+
+VTT for std::basic_istream<char, std::char_traits<char> >
+std::basic_istream<char, std::char_traits<char> >::_ZTTSi: 2u entries
+0 ((& std::basic_istream<char, std::char_traits<char> >::_ZTVSi) + 24u)
+8 ((& std::basic_istream<char, std::char_traits<char> >::_ZTVSi) + 64u)
+
+VTT for std::basic_istream<wchar_t, std::char_traits<wchar_t> >
+std::basic_istream<wchar_t, std::char_traits<wchar_t> >::_ZTTSt13basic_istreamIwSt11char_traitsIwEE: 2u entries
+0 ((& std::basic_istream<wchar_t, std::char_traits<wchar_t> >::_ZTVSt13basic_istreamIwSt11char_traitsIwEE) + 24u)
+8 ((& std::basic_istream<wchar_t, std::char_traits<wchar_t> >::_ZTVSt13basic_istreamIwSt11char_traitsIwEE) + 64u)
+
+Construction vtable for std::basic_istream<char, std::char_traits<char> > (0x7f0a6f012310 instance) in std::basic_iostream<char, std::char_traits<char> >
+std::basic_iostream<char, std::char_traits<char> >::_ZTCSd0_Si: 10u entries
+0 24u
+8 (int (*)(...))0
+16 (int (*)(...))(& _ZTISi)
+24 std::basic_istream<_CharT, _Traits>::~basic_istream [with _CharT = char, _Traits = std::char_traits<char>]
+32 std::basic_istream<_CharT, _Traits>::~basic_istream [with _CharT = char, _Traits = std::char_traits<char>]
+40 -24u
+48 (int (*)(...))-0x00000000000000018
+56 (int (*)(...))(& _ZTISi)
+64 std::basic_istream<char, std::char_traits<char> >::_ZTv0_n24_NSiD1Ev
+72 std::basic_istream<char, std::char_traits<char> >::_ZTv0_n24_NSiD0Ev
+
+Construction vtable for std::basic_ostream<char, std::char_traits<char> > (0x7f0a6f012460 instance) in std::basic_iostream<char, std::char_traits<char> >
+std::basic_iostream<char, std::char_traits<char> >::_ZTCSd16_So: 10u entries
+0 8u
+8 (int (*)(...))0
+16 (int (*)(...))(& _ZTISo)
+24 std::basic_ostream<_CharT, _Traits>::~basic_ostream [with _CharT = char, _Traits = std::char_traits<char>]
+32 std::basic_ostream<_CharT, _Traits>::~basic_ostream [with _CharT = char, _Traits = std::char_traits<char>]
+40 -8u
+48 (int (*)(...))-0x00000000000000008
+56 (int (*)(...))(& _ZTISo)
+64 std::basic_ostream<char, std::char_traits<char> >::_ZTv0_n24_NSoD1Ev
+72 std::basic_ostream<char, std::char_traits<char> >::_ZTv0_n24_NSoD0Ev
+
+VTT for std::basic_iostream<char, std::char_traits<char> >
+std::basic_iostream<char, std::char_traits<char> >::_ZTTSd: 7u entries
+0 ((& std::basic_iostream<char, std::char_traits<char> >::_ZTVSd) + 24u)
+8 ((& std::basic_iostream<char, std::char_traits<char> >::_ZTCSd0_Si) + 24u)
+16 ((& std::basic_iostream<char, std::char_traits<char> >::_ZTCSd0_Si) + 64u)
+24 ((& std::basic_iostream<char, std::char_traits<char> >::_ZTCSd16_So) + 24u)
+32 ((& std::basic_iostream<char, std::char_traits<char> >::_ZTCSd16_So) + 64u)
+40 ((& std::basic_iostream<char, std::char_traits<char> >::_ZTVSd) + 104u)
+48 ((& std::basic_iostream<char, std::char_traits<char> >::_ZTVSd) + 64u)
+
+Construction vtable for std::basic_istream<wchar_t, std::char_traits<wchar_t> > (0x7f0a6f012620 instance) in std::basic_iostream<wchar_t, std::char_traits<wchar_t> >
+std::basic_iostream<wchar_t, std::char_traits<wchar_t> >::_ZTCSt14basic_iostreamIwSt11char_traitsIwEE0_St13basic_istreamIwS1_E: 10u entries
+0 24u
+8 (int (*)(...))0
+16 (int (*)(...))(& _ZTISt13basic_istreamIwSt11char_traitsIwEE)
+24 std::basic_istream<_CharT, _Traits>::~basic_istream [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
+32 std::basic_istream<_CharT, _Traits>::~basic_istream [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
+40 -24u
+48 (int (*)(...))-0x00000000000000018
+56 (int (*)(...))(& _ZTISt13basic_istreamIwSt11char_traitsIwEE)
+64 std::basic_istream<wchar_t, std::char_traits<wchar_t> >::_ZTv0_n24_NSt13basic_istreamIwSt11char_traitsIwEED1Ev
+72 std::basic_istream<wchar_t, std::char_traits<wchar_t> >::_ZTv0_n24_NSt13basic_istreamIwSt11char_traitsIwEED0Ev
+
+Construction vtable for std::basic_ostream<wchar_t, std::char_traits<wchar_t> > (0x7f0a6f012770 instance) in std::basic_iostream<wchar_t, std::char_traits<wchar_t> >
+std::basic_iostream<wchar_t, std::char_traits<wchar_t> >::_ZTCSt14basic_iostreamIwSt11char_traitsIwEE16_St13basic_ostreamIwS1_E: 10u entries
+0 8u
+8 (int (*)(...))0
+16 (int (*)(...))(& _ZTISt13basic_ostreamIwSt11char_traitsIwEE)
+24 std::basic_ostream<_CharT, _Traits>::~basic_ostream [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
+32 std::basic_ostream<_CharT, _Traits>::~basic_ostream [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
+40 -8u
+48 (int (*)(...))-0x00000000000000008
+56 (int (*)(...))(& _ZTISt13basic_ostreamIwSt11char_traitsIwEE)
+64 std::basic_ostream<wchar_t, std::char_traits<wchar_t> >::_ZTv0_n24_NSt13basic_ostreamIwSt11char_traitsIwEED1Ev
+72 std::basic_ostream<wchar_t, std::char_traits<wchar_t> >::_ZTv0_n24_NSt13basic_ostreamIwSt11char_traitsIwEED0Ev
+
+VTT for std::basic_iostream<wchar_t, std::char_traits<wchar_t> >
+std::basic_iostream<wchar_t, std::char_traits<wchar_t> >::_ZTTSt14basic_iostreamIwSt11char_traitsIwEE: 7u entries
+0 ((& std::basic_iostream<wchar_t, std::char_traits<wchar_t> >::_ZTVSt14basic_iostreamIwSt11char_traitsIwEE) + 24u)
+8 ((& std::basic_iostream<wchar_t, std::char_traits<wchar_t> >::_ZTCSt14basic_iostreamIwSt11char_traitsIwEE0_St13basic_istreamIwS1_E) + 24u)
+16 ((& std::basic_iostream<wchar_t, std::char_traits<wchar_t> >::_ZTCSt14basic_iostreamIwSt11char_traitsIwEE0_St13basic_istreamIwS1_E) + 64u)
+24 ((& std::basic_iostream<wchar_t, std::char_traits<wchar_t> >::_ZTCSt14basic_iostreamIwSt11char_traitsIwEE16_St13basic_ostreamIwS1_E) + 24u)
+32 ((& std::basic_iostream<wchar_t, std::char_traits<wchar_t> >::_ZTCSt14basic_iostreamIwSt11char_traitsIwEE16_St13basic_ostreamIwS1_E) + 64u)
+40 ((& std::basic_iostream<wchar_t, std::char_traits<wchar_t> >::_ZTVSt14basic_iostreamIwSt11char_traitsIwEE) + 104u)
+48 ((& std::basic_iostream<wchar_t, std::char_traits<wchar_t> >::_ZTVSt14basic_iostreamIwSt11char_traitsIwEE) + 64u)
+
+Class QtConcurrent::BlockSizeManager
+ size=96 align=8
+ base size=92 base align=8
+QtConcurrent::BlockSizeManager (0x7f0a6f07d230) 0
+
+Vtable for QFutureWatcherBase
+QFutureWatcherBase::_ZTV18QFutureWatcherBase: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QFutureWatcherBase)
+16 QFutureWatcherBase::metaObject
+24 QFutureWatcherBase::qt_metacast
+32 QFutureWatcherBase::qt_metacall
+40 QFutureWatcherBase::~QFutureWatcherBase
+48 QFutureWatcherBase::~QFutureWatcherBase
+56 QFutureWatcherBase::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QFutureWatcherBase::connectNotify
+104 QFutureWatcherBase::disconnectNotify
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+
+Class QFutureWatcherBase
+ size=16 align=8
+ base size=16 base align=8
+QFutureWatcherBase (0x7f0a6ec46bd0) 0
+ vptr=((& QFutureWatcherBase::_ZTV18QFutureWatcherBase) + 16u)
+ QObject (0x7f0a6ec46c40) 0
+ primary-for QFutureWatcherBase (0x7f0a6ec46bd0)
+
+Vtable for QFactoryInterface
+QFactoryInterface::_ZTV17QFactoryInterface: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QFactoryInterface)
+16 QFactoryInterface::~QFactoryInterface
+24 QFactoryInterface::~QFactoryInterface
+32 __cxa_pure_virtual
+
+Class QFactoryInterface
+ size=8 align=8
+ base size=8 base align=8
+QFactoryInterface (0x7f0a6eb5ee00) 0 nearly-empty
+ vptr=((& QFactoryInterface::_ZTV17QFactoryInterface) + 16u)
+
+Vtable for QTextCodecFactoryInterface
+QTextCodecFactoryInterface::_ZTV26QTextCodecFactoryInterface: 6u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI26QTextCodecFactoryInterface)
+16 QTextCodecFactoryInterface::~QTextCodecFactoryInterface
+24 QTextCodecFactoryInterface::~QTextCodecFactoryInterface
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+
+Class QTextCodecFactoryInterface
+ size=8 align=8
+ base size=8 base align=8
+QTextCodecFactoryInterface (0x7f0a6eb81ee0) 0 nearly-empty
+ vptr=((& QTextCodecFactoryInterface::_ZTV26QTextCodecFactoryInterface) + 16u)
+ QFactoryInterface (0x7f0a6eb81f50) 0 nearly-empty
+ primary-for QTextCodecFactoryInterface (0x7f0a6eb81ee0)
+
+Vtable for QTextCodecPlugin
+QTextCodecPlugin::_ZTV16QTextCodecPlugin: 27u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QTextCodecPlugin)
+16 QTextCodecPlugin::metaObject
+24 QTextCodecPlugin::qt_metacast
+32 QTextCodecPlugin::qt_metacall
+40 QTextCodecPlugin::~QTextCodecPlugin
+48 QTextCodecPlugin::~QTextCodecPlugin
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 __cxa_pure_virtual
+136 __cxa_pure_virtual
+144 __cxa_pure_virtual
+152 QTextCodecPlugin::keys
+160 QTextCodecPlugin::create
+168 (int (*)(...))-0x00000000000000010
+176 (int (*)(...))(& _ZTI16QTextCodecPlugin)
+184 QTextCodecPlugin::_ZThn16_N16QTextCodecPluginD1Ev
+192 QTextCodecPlugin::_ZThn16_N16QTextCodecPluginD0Ev
+200 QTextCodecPlugin::_ZThn16_NK16QTextCodecPlugin4keysEv
+208 QTextCodecPlugin::_ZThn16_N16QTextCodecPlugin6createERK7QString
+
+Class QTextCodecPlugin
+ size=24 align=8
+ base size=24 base align=8
+QTextCodecPlugin (0x7f0a6eb84e00) 0
+ vptr=((& QTextCodecPlugin::_ZTV16QTextCodecPlugin) + 16u)
+ QObject (0x7f0a6eb8d7e0) 0
+ primary-for QTextCodecPlugin (0x7f0a6eb84e00)
+ QTextCodecFactoryInterface (0x7f0a6eb8d850) 16 nearly-empty
+ vptr=((& QTextCodecPlugin::_ZTV16QTextCodecPlugin) + 184u)
+ QFactoryInterface (0x7f0a6eb8d8c0) 16 nearly-empty
+ primary-for QTextCodecFactoryInterface (0x7f0a6eb8d850)
+
+Class QLibraryInfo
+ size=1 align=1
+ base size=0 base align=1
+QLibraryInfo (0x7f0a6e9a3700) 0 empty
+
+Vtable for QTranslator
+QTranslator::_ZTV11QTranslator: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QTranslator)
+16 QTranslator::metaObject
+24 QTranslator::qt_metacast
+32 QTranslator::qt_metacall
+40 QTranslator::~QTranslator
+48 QTranslator::~QTranslator
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QTranslator::translate
+120 QTranslator::isEmpty
+
+Class QTranslator
+ size=16 align=8
+ base size=16 base align=8
+QTranslator (0x7f0a6e9e6000) 0
+ vptr=((& QTranslator::_ZTV11QTranslator) + 16u)
+ QObject (0x7f0a6e9e6070) 0
+ primary-for QTranslator (0x7f0a6e9e6000)
+
+Class __exception
+ size=40 align=8
+ base size=40 base align=8
+__exception (0x7f0a6e9f9f50) 0
+
+Vtable for QMimeData
+QMimeData::_ZTV9QMimeData: 17u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QMimeData)
+16 QMimeData::metaObject
+24 QMimeData::qt_metacast
+32 QMimeData::qt_metacall
+40 QMimeData::~QMimeData
+48 QMimeData::~QMimeData
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QMimeData::hasFormat
+120 QMimeData::formats
+128 QMimeData::retrieveData
+
+Class QMimeData
+ size=16 align=8
+ base size=16 base align=8
+QMimeData (0x7f0a6ea64150) 0
+ vptr=((& QMimeData::_ZTV9QMimeData) + 16u)
+ QObject (0x7f0a6ea641c0) 0
+ primary-for QMimeData (0x7f0a6ea64150)
+
+Vtable for QEventLoop
+QEventLoop::_ZTV10QEventLoop: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QEventLoop)
+16 QEventLoop::metaObject
+24 QEventLoop::qt_metacast
+32 QEventLoop::qt_metacall
+40 QEventLoop::~QEventLoop
+48 QEventLoop::~QEventLoop
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QEventLoop
+ size=16 align=8
+ base size=16 base align=8
+QEventLoop (0x7f0a6ea7d9a0) 0
+ vptr=((& QEventLoop::_ZTV10QEventLoop) + 16u)
+ QObject (0x7f0a6ea7da10) 0
+ primary-for QEventLoop (0x7f0a6ea7d9a0)
+
+Vtable for QEvent
+QEvent::_ZTV6QEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI6QEvent)
+16 QEvent::~QEvent
+24 QEvent::~QEvent
+
+Class QEvent
+ size=24 align=8
+ base size=20 base align=8
+QEvent (0x7f0a6e8be310) 0
+ vptr=((& QEvent::_ZTV6QEvent) + 16u)
+
+Vtable for QTimerEvent
+QTimerEvent::_ZTV11QTimerEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QTimerEvent)
+16 QTimerEvent::~QTimerEvent
+24 QTimerEvent::~QTimerEvent
+
+Class QTimerEvent
+ size=24 align=8
+ base size=24 base align=8
+QTimerEvent (0x7f0a6e8d6ee0) 0
+ vptr=((& QTimerEvent::_ZTV11QTimerEvent) + 16u)
+ QEvent (0x7f0a6e8d6f50) 0
+ primary-for QTimerEvent (0x7f0a6e8d6ee0)
+
+Vtable for QChildEvent
+QChildEvent::_ZTV11QChildEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QChildEvent)
+16 QChildEvent::~QChildEvent
+24 QChildEvent::~QChildEvent
+
+Class QChildEvent
+ size=32 align=8
+ base size=32 base align=8
+QChildEvent (0x7f0a6e8db380) 0
+ vptr=((& QChildEvent::_ZTV11QChildEvent) + 16u)
+ QEvent (0x7f0a6e8db3f0) 0
+ primary-for QChildEvent (0x7f0a6e8db380)
+
+Vtable for QCustomEvent
+QCustomEvent::_ZTV12QCustomEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QCustomEvent)
+16 QCustomEvent::~QCustomEvent
+24 QCustomEvent::~QCustomEvent
+
+Class QCustomEvent
+ size=24 align=8
+ base size=20 base align=8
+QCustomEvent (0x7f0a6e8eb620) 0
+ vptr=((& QCustomEvent::_ZTV12QCustomEvent) + 16u)
+ QEvent (0x7f0a6e8eb690) 0
+ primary-for QCustomEvent (0x7f0a6e8eb620)
+
+Vtable for QDynamicPropertyChangeEvent
+QDynamicPropertyChangeEvent::_ZTV27QDynamicPropertyChangeEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI27QDynamicPropertyChangeEvent)
+16 QDynamicPropertyChangeEvent::~QDynamicPropertyChangeEvent
+24 QDynamicPropertyChangeEvent::~QDynamicPropertyChangeEvent
+
+Class QDynamicPropertyChangeEvent
+ size=32 align=8
+ base size=32 base align=8
+QDynamicPropertyChangeEvent (0x7f0a6e8ebe00) 0
+ vptr=((& QDynamicPropertyChangeEvent::_ZTV27QDynamicPropertyChangeEvent) + 16u)
+ QEvent (0x7f0a6e8ebe70) 0
+ primary-for QDynamicPropertyChangeEvent (0x7f0a6e8ebe00)
+
+Vtable for QCoreApplication
+QCoreApplication::_ZTV16QCoreApplication: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QCoreApplication)
+16 QCoreApplication::metaObject
+24 QCoreApplication::qt_metacast
+32 QCoreApplication::qt_metacall
+40 QCoreApplication::~QCoreApplication
+48 QCoreApplication::~QCoreApplication
+56 QCoreApplication::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QCoreApplication::notify
+120 QCoreApplication::compressEvent
+
+Class QCoreApplication
+ size=16 align=8
+ base size=16 base align=8
+QCoreApplication (0x7f0a6e8fb230) 0
+ vptr=((& QCoreApplication::_ZTV16QCoreApplication) + 16u)
+ QObject (0x7f0a6e8fb2a0) 0
+ primary-for QCoreApplication (0x7f0a6e8fb230)
+
+Vtable for QSharedMemory
+QSharedMemory::_ZTV13QSharedMemory: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QSharedMemory)
+16 QSharedMemory::metaObject
+24 QSharedMemory::qt_metacast
+32 QSharedMemory::qt_metacall
+40 QSharedMemory::~QSharedMemory
+48 QSharedMemory::~QSharedMemory
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QSharedMemory
+ size=16 align=8
+ base size=16 base align=8
+QSharedMemory (0x7f0a6e925a80) 0
+ vptr=((& QSharedMemory::_ZTV13QSharedMemory) + 16u)
+ QObject (0x7f0a6e925af0) 0
+ primary-for QSharedMemory (0x7f0a6e925a80)
+
+Class QModelIndex
+ size=24 align=8
+ base size=24 base align=8
+QModelIndex (0x7f0a6e946850) 0
+
+Class QPersistentModelIndex
+ size=8 align=8
+ base size=8 base align=8
+QPersistentModelIndex (0x7f0a6e96f310) 0
+
+Vtable for QAbstractItemModel
+QAbstractItemModel::_ZTV18QAbstractItemModel: 42u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QAbstractItemModel)
+16 QAbstractItemModel::metaObject
+24 QAbstractItemModel::qt_metacast
+32 QAbstractItemModel::qt_metacall
+40 QAbstractItemModel::~QAbstractItemModel
+48 QAbstractItemModel::~QAbstractItemModel
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 __cxa_pure_virtual
+136 __cxa_pure_virtual
+144 QAbstractItemModel::hasChildren
+152 __cxa_pure_virtual
+160 QAbstractItemModel::setData
+168 QAbstractItemModel::headerData
+176 QAbstractItemModel::setHeaderData
+184 QAbstractItemModel::itemData
+192 QAbstractItemModel::setItemData
+200 QAbstractItemModel::mimeTypes
+208 QAbstractItemModel::mimeData
+216 QAbstractItemModel::dropMimeData
+224 QAbstractItemModel::supportedDropActions
+232 QAbstractItemModel::insertRows
+240 QAbstractItemModel::insertColumns
+248 QAbstractItemModel::removeRows
+256 QAbstractItemModel::removeColumns
+264 QAbstractItemModel::fetchMore
+272 QAbstractItemModel::canFetchMore
+280 QAbstractItemModel::flags
+288 QAbstractItemModel::sort
+296 QAbstractItemModel::buddy
+304 QAbstractItemModel::match
+312 QAbstractItemModel::span
+320 QAbstractItemModel::submit
+328 QAbstractItemModel::revert
+
+Class QAbstractItemModel
+ size=16 align=8
+ base size=16 base align=8
+QAbstractItemModel (0x7f0a6e97c5b0) 0
+ vptr=((& QAbstractItemModel::_ZTV18QAbstractItemModel) + 16u)
+ QObject (0x7f0a6e97c620) 0
+ primary-for QAbstractItemModel (0x7f0a6e97c5b0)
+
+Vtable for QAbstractTableModel
+QAbstractTableModel::_ZTV19QAbstractTableModel: 42u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QAbstractTableModel)
+16 QAbstractTableModel::metaObject
+24 QAbstractTableModel::qt_metacast
+32 QAbstractTableModel::qt_metacall
+40 QAbstractTableModel::~QAbstractTableModel
+48 QAbstractTableModel::~QAbstractTableModel
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QAbstractTableModel::index
+120 QAbstractTableModel::parent
+128 __cxa_pure_virtual
+136 __cxa_pure_virtual
+144 QAbstractTableModel::hasChildren
+152 __cxa_pure_virtual
+160 QAbstractItemModel::setData
+168 QAbstractItemModel::headerData
+176 QAbstractItemModel::setHeaderData
+184 QAbstractItemModel::itemData
+192 QAbstractItemModel::setItemData
+200 QAbstractItemModel::mimeTypes
+208 QAbstractItemModel::mimeData
+216 QAbstractTableModel::dropMimeData
+224 QAbstractItemModel::supportedDropActions
+232 QAbstractItemModel::insertRows
+240 QAbstractItemModel::insertColumns
+248 QAbstractItemModel::removeRows
+256 QAbstractItemModel::removeColumns
+264 QAbstractItemModel::fetchMore
+272 QAbstractItemModel::canFetchMore
+280 QAbstractItemModel::flags
+288 QAbstractItemModel::sort
+296 QAbstractItemModel::buddy
+304 QAbstractItemModel::match
+312 QAbstractItemModel::span
+320 QAbstractItemModel::submit
+328 QAbstractItemModel::revert
+
+Class QAbstractTableModel
+ size=16 align=8
+ base size=16 base align=8
+QAbstractTableModel (0x7f0a6e7ce930) 0
+ vptr=((& QAbstractTableModel::_ZTV19QAbstractTableModel) + 16u)
+ QAbstractItemModel (0x7f0a6e7ce9a0) 0
+ primary-for QAbstractTableModel (0x7f0a6e7ce930)
+ QObject (0x7f0a6e7cea10) 0
+ primary-for QAbstractItemModel (0x7f0a6e7ce9a0)
+
+Vtable for QAbstractListModel
+QAbstractListModel::_ZTV18QAbstractListModel: 42u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QAbstractListModel)
+16 QAbstractListModel::metaObject
+24 QAbstractListModel::qt_metacast
+32 QAbstractListModel::qt_metacall
+40 QAbstractListModel::~QAbstractListModel
+48 QAbstractListModel::~QAbstractListModel
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QAbstractListModel::index
+120 QAbstractListModel::parent
+128 __cxa_pure_virtual
+136 QAbstractListModel::columnCount
+144 QAbstractListModel::hasChildren
+152 __cxa_pure_virtual
+160 QAbstractItemModel::setData
+168 QAbstractItemModel::headerData
+176 QAbstractItemModel::setHeaderData
+184 QAbstractItemModel::itemData
+192 QAbstractItemModel::setItemData
+200 QAbstractItemModel::mimeTypes
+208 QAbstractItemModel::mimeData
+216 QAbstractListModel::dropMimeData
+224 QAbstractItemModel::supportedDropActions
+232 QAbstractItemModel::insertRows
+240 QAbstractItemModel::insertColumns
+248 QAbstractItemModel::removeRows
+256 QAbstractItemModel::removeColumns
+264 QAbstractItemModel::fetchMore
+272 QAbstractItemModel::canFetchMore
+280 QAbstractItemModel::flags
+288 QAbstractItemModel::sort
+296 QAbstractItemModel::buddy
+304 QAbstractItemModel::match
+312 QAbstractItemModel::span
+320 QAbstractItemModel::submit
+328 QAbstractItemModel::revert
+
+Class QAbstractListModel
+ size=16 align=8
+ base size=16 base align=8
+QAbstractListModel (0x7f0a6e7daee0) 0
+ vptr=((& QAbstractListModel::_ZTV18QAbstractListModel) + 16u)
+ QAbstractItemModel (0x7f0a6e7daf50) 0
+ primary-for QAbstractListModel (0x7f0a6e7daee0)
+ QObject (0x7f0a6e7da230) 0
+ primary-for QAbstractItemModel (0x7f0a6e7daf50)
+
+Vtable for QSignalMapper
+QSignalMapper::_ZTV13QSignalMapper: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QSignalMapper)
+16 QSignalMapper::metaObject
+24 QSignalMapper::qt_metacast
+32 QSignalMapper::qt_metacall
+40 QSignalMapper::~QSignalMapper
+48 QSignalMapper::~QSignalMapper
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QSignalMapper
+ size=16 align=8
+ base size=16 base align=8
+QSignalMapper (0x7f0a6e81c000) 0
+ vptr=((& QSignalMapper::_ZTV13QSignalMapper) + 16u)
+ QObject (0x7f0a6e81c070) 0
+ primary-for QSignalMapper (0x7f0a6e81c000)
+
+Vtable for QObjectCleanupHandler
+QObjectCleanupHandler::_ZTV21QObjectCleanupHandler: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI21QObjectCleanupHandler)
+16 QObjectCleanupHandler::metaObject
+24 QObjectCleanupHandler::qt_metacast
+32 QObjectCleanupHandler::qt_metacall
+40 QObjectCleanupHandler::~QObjectCleanupHandler
+48 QObjectCleanupHandler::~QObjectCleanupHandler
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QObjectCleanupHandler
+ size=24 align=8
+ base size=24 base align=8
+QObjectCleanupHandler (0x7f0a6e8343f0) 0
+ vptr=((& QObjectCleanupHandler::_ZTV21QObjectCleanupHandler) + 16u)
+ QObject (0x7f0a6e834460) 0
+ primary-for QObjectCleanupHandler (0x7f0a6e8343f0)
+
+Class QBasicTimer
+ size=4 align=4
+ base size=4 base align=4
+QBasicTimer (0x7f0a6e845540) 0
+
+Vtable for QSocketNotifier
+QSocketNotifier::_ZTV15QSocketNotifier: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QSocketNotifier)
+16 QSocketNotifier::metaObject
+24 QSocketNotifier::qt_metacast
+32 QSocketNotifier::qt_metacall
+40 QSocketNotifier::~QSocketNotifier
+48 QSocketNotifier::~QSocketNotifier
+56 QSocketNotifier::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QSocketNotifier
+ size=32 align=8
+ base size=25 base align=8
+QSocketNotifier (0x7f0a6e851930) 0
+ vptr=((& QSocketNotifier::_ZTV15QSocketNotifier) + 16u)
+ QObject (0x7f0a6e8519a0) 0
+ primary-for QSocketNotifier (0x7f0a6e851930)
+
+Vtable for QTimer
+QTimer::_ZTV6QTimer: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI6QTimer)
+16 QTimer::metaObject
+24 QTimer::qt_metacast
+32 QTimer::qt_metacall
+40 QTimer::~QTimer
+48 QTimer::~QTimer
+56 QObject::event
+64 QObject::eventFilter
+72 QTimer::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QTimer
+ size=32 align=8
+ base size=29 base align=8
+QTimer (0x7f0a6e86ccb0) 0
+ vptr=((& QTimer::_ZTV6QTimer) + 16u)
+ QObject (0x7f0a6e86cd20) 0
+ primary-for QTimer (0x7f0a6e86ccb0)
+
+Vtable for QAbstractEventDispatcher
+QAbstractEventDispatcher::_ZTV24QAbstractEventDispatcher: 27u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI24QAbstractEventDispatcher)
+16 QAbstractEventDispatcher::metaObject
+24 QAbstractEventDispatcher::qt_metacast
+32 QAbstractEventDispatcher::qt_metacall
+40 QAbstractEventDispatcher::~QAbstractEventDispatcher
+48 QAbstractEventDispatcher::~QAbstractEventDispatcher
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 __cxa_pure_virtual
+136 __cxa_pure_virtual
+144 __cxa_pure_virtual
+152 __cxa_pure_virtual
+160 __cxa_pure_virtual
+168 __cxa_pure_virtual
+176 __cxa_pure_virtual
+184 __cxa_pure_virtual
+192 __cxa_pure_virtual
+200 QAbstractEventDispatcher::startingUp
+208 QAbstractEventDispatcher::closingDown
+
+Class QAbstractEventDispatcher
+ size=16 align=8
+ base size=16 base align=8
+QAbstractEventDispatcher (0x7f0a6e68f2a0) 0
+ vptr=((& QAbstractEventDispatcher::_ZTV24QAbstractEventDispatcher) + 16u)
+ QObject (0x7f0a6e68f310) 0
+ primary-for QAbstractEventDispatcher (0x7f0a6e68f2a0)
+
+Class QMetaMethod
+ size=16 align=8
+ base size=12 base align=8
+QMetaMethod (0x7f0a6e6aa150) 0
+
+Class QMetaEnum
+ size=16 align=8
+ base size=12 base align=8
+QMetaEnum (0x7f0a6e6c55b0) 0
+
+Class QMetaProperty
+ size=32 align=8
+ base size=32 base align=8
+QMetaProperty (0x7f0a6e6d2310) 0
+
+Class QMetaClassInfo
+ size=16 align=8
+ base size=12 base align=8
+QMetaClassInfo (0x7f0a6e6d29a0) 0
+
+Class QSystemSemaphore
+ size=8 align=8
+ base size=8 base align=8
+QSystemSemaphore (0x7f0a6e6e54d0) 0
+
+Vtable for QLibrary
+QLibrary::_ZTV8QLibrary: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI8QLibrary)
+16 QLibrary::metaObject
+24 QLibrary::qt_metacast
+32 QLibrary::qt_metacall
+40 QLibrary::~QLibrary
+48 QLibrary::~QLibrary
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QLibrary
+ size=32 align=8
+ base size=25 base align=8
+QLibrary (0x7f0a6e6e5e00) 0
+ vptr=((& QLibrary::_ZTV8QLibrary) + 16u)
+ QObject (0x7f0a6e6e5e70) 0
+ primary-for QLibrary (0x7f0a6e6e5e00)
+
+Vtable for QPluginLoader
+QPluginLoader::_ZTV13QPluginLoader: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QPluginLoader)
+16 QPluginLoader::metaObject
+24 QPluginLoader::qt_metacast
+32 QPluginLoader::qt_metacall
+40 QPluginLoader::~QPluginLoader
+48 QPluginLoader::~QPluginLoader
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QPluginLoader
+ size=32 align=8
+ base size=25 base align=8
+QPluginLoader (0x7f0a6e72a8c0) 0
+ vptr=((& QPluginLoader::_ZTV13QPluginLoader) + 16u)
+ QObject (0x7f0a6e72a930) 0
+ primary-for QPluginLoader (0x7f0a6e72a8c0)
+
+Class QUuid
+ size=16 align=4
+ base size=16 base align=4
+QUuid (0x7f0a6e74e070) 0
+
+Class QSemaphore
+ size=8 align=8
+ base size=8 base align=8
+QSemaphore (0x7f0a6e76c9a0) 0
+
+Class QThreadStorageData
+ size=4 align=4
+ base size=4 base align=4
+QThreadStorageData (0x7f0a6e76cee0) 0
+
+Class QReadWriteLock
+ size=8 align=8
+ base size=8 base align=8
+QReadWriteLock (0x7f0a6e77e690) 0
+
+Class QReadLocker
+ size=8 align=8
+ base size=8 base align=8
+QReadLocker (0x7f0a6e77ed20) 0
+
+Class QWriteLocker
+ size=8 align=8
+ base size=8 base align=8
+QWriteLocker (0x7f0a6e5ad0e0) 0
+
+Class QSqlRecord
+ size=8 align=8
+ base size=8 base align=8
+QSqlRecord (0x7f0a6e5bf460) 0
+
+Class QSqlIndex
+ size=32 align=8
+ base size=32 base align=8
+QSqlIndex (0x7f0a6e5d30e0) 0
+ QSqlRecord (0x7f0a6e5d3150) 0
+
+Vtable for QSqlResult
+QSqlResult::_ZTV10QSqlResult: 29u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QSqlResult)
+16 QSqlResult::~QSqlResult
+24 QSqlResult::~QSqlResult
+32 QSqlResult::handle
+40 QSqlResult::setAt
+48 QSqlResult::setActive
+56 QSqlResult::setLastError
+64 QSqlResult::setQuery
+72 QSqlResult::setSelect
+80 QSqlResult::setForwardOnly
+88 QSqlResult::exec
+96 QSqlResult::prepare
+104 QSqlResult::savePrepare
+112 QSqlResult::bindValue
+120 QSqlResult::bindValue
+128 __cxa_pure_virtual
+136 __cxa_pure_virtual
+144 __cxa_pure_virtual
+152 __cxa_pure_virtual
+160 QSqlResult::fetchNext
+168 QSqlResult::fetchPrevious
+176 __cxa_pure_virtual
+184 __cxa_pure_virtual
+192 __cxa_pure_virtual
+200 __cxa_pure_virtual
+208 QSqlResult::record
+216 QSqlResult::lastInsertId
+224 QSqlResult::virtual_hook
+
+Class QSqlResult
+ size=16 align=8
+ base size=16 base align=8
+QSqlResult (0x7f0a6e627620) 0
+ vptr=((& QSqlResult::_ZTV10QSqlResult) + 16u)
+
+Vtable for QSqlDriverCreatorBase
+QSqlDriverCreatorBase::_ZTV21QSqlDriverCreatorBase: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI21QSqlDriverCreatorBase)
+16 QSqlDriverCreatorBase::~QSqlDriverCreatorBase
+24 QSqlDriverCreatorBase::~QSqlDriverCreatorBase
+32 __cxa_pure_virtual
+
+Class QSqlDriverCreatorBase
+ size=8 align=8
+ base size=8 base align=8
+QSqlDriverCreatorBase (0x7f0a6e627ee0) 0 nearly-empty
+ vptr=((& QSqlDriverCreatorBase::_ZTV21QSqlDriverCreatorBase) + 16u)
+
+Class QSqlDatabase
+ size=8 align=8
+ base size=8 base align=8
+QSqlDatabase (0x7f0a6e6549a0) 0
+
+Class QSqlQuery
+ size=8 align=8
+ base size=8 base align=8
+QSqlQuery (0x7f0a6e665d90) 0
+
+Vtable for QSqlDriverFactoryInterface
+QSqlDriverFactoryInterface::_ZTV26QSqlDriverFactoryInterface: 6u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI26QSqlDriverFactoryInterface)
+16 QSqlDriverFactoryInterface::~QSqlDriverFactoryInterface
+24 QSqlDriverFactoryInterface::~QSqlDriverFactoryInterface
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+
+Class QSqlDriverFactoryInterface
+ size=8 align=8
+ base size=8 base align=8
+QSqlDriverFactoryInterface (0x7f0a6e66f850) 0 nearly-empty
+ vptr=((& QSqlDriverFactoryInterface::_ZTV26QSqlDriverFactoryInterface) + 16u)
+ QFactoryInterface (0x7f0a6e66f8c0) 0 nearly-empty
+ primary-for QSqlDriverFactoryInterface (0x7f0a6e66f850)
+
+Vtable for QSqlDriverPlugin
+QSqlDriverPlugin::_ZTV16QSqlDriverPlugin: 22u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QSqlDriverPlugin)
+16 QSqlDriverPlugin::metaObject
+24 QSqlDriverPlugin::qt_metacast
+32 QSqlDriverPlugin::qt_metacall
+40 QSqlDriverPlugin::~QSqlDriverPlugin
+48 QSqlDriverPlugin::~QSqlDriverPlugin
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 (int (*)(...))-0x00000000000000010
+136 (int (*)(...))(& _ZTI16QSqlDriverPlugin)
+144 QSqlDriverPlugin::_ZThn16_N16QSqlDriverPluginD1Ev
+152 QSqlDriverPlugin::_ZThn16_N16QSqlDriverPluginD0Ev
+160 __cxa_pure_virtual
+168 __cxa_pure_virtual
+
+Class QSqlDriverPlugin
+ size=24 align=8
+ base size=24 base align=8
+QSqlDriverPlugin (0x7f0a6e659c80) 0
+ vptr=((& QSqlDriverPlugin::_ZTV16QSqlDriverPlugin) + 16u)
+ QObject (0x7f0a6e6890e0) 0
+ primary-for QSqlDriverPlugin (0x7f0a6e659c80)
+ QSqlDriverFactoryInterface (0x7f0a6e689150) 16 nearly-empty
+ vptr=((& QSqlDriverPlugin::_ZTV16QSqlDriverPlugin) + 144u)
+ QFactoryInterface (0x7f0a6e6891c0) 16 nearly-empty
+ primary-for QSqlDriverFactoryInterface (0x7f0a6e689150)
+
+Vtable for QSqlDriver
+QSqlDriver::_ZTV10QSqlDriver: 32u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QSqlDriver)
+16 QSqlDriver::metaObject
+24 QSqlDriver::qt_metacast
+32 QSqlDriver::qt_metacall
+40 QSqlDriver::~QSqlDriver
+48 QSqlDriver::~QSqlDriver
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QSqlDriver::isOpen
+120 QSqlDriver::beginTransaction
+128 QSqlDriver::commitTransaction
+136 QSqlDriver::rollbackTransaction
+144 QSqlDriver::tables
+152 QSqlDriver::primaryIndex
+160 QSqlDriver::record
+168 QSqlDriver::formatValue
+176 QSqlDriver::escapeIdentifier
+184 QSqlDriver::sqlStatement
+192 QSqlDriver::handle
+200 __cxa_pure_virtual
+208 __cxa_pure_virtual
+216 __cxa_pure_virtual
+224 __cxa_pure_virtual
+232 QSqlDriver::setOpen
+240 QSqlDriver::setOpenError
+248 QSqlDriver::setLastError
+
+Class QSqlDriver
+ size=16 align=8
+ base size=16 base align=8
+QSqlDriver (0x7f0a6e498070) 0
+ vptr=((& QSqlDriver::_ZTV10QSqlDriver) + 16u)
+ QObject (0x7f0a6e4980e0) 0
+ primary-for QSqlDriver (0x7f0a6e498070)
+
+Class QSqlError
+ size=24 align=8
+ base size=24 base align=8
+QSqlError (0x7f0a6e4be700) 0
+
+Class QSqlField
+ size=24 align=8
+ base size=24 base align=8
+QSqlField (0x7f0a6e4c7620) 0
+
+Vtable for QSqlQueryModel
+QSqlQueryModel::_ZTV14QSqlQueryModel: 44u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QSqlQueryModel)
+16 QSqlQueryModel::metaObject
+24 QSqlQueryModel::qt_metacast
+32 QSqlQueryModel::qt_metacall
+40 QSqlQueryModel::~QSqlQueryModel
+48 QSqlQueryModel::~QSqlQueryModel
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QAbstractTableModel::index
+120 QAbstractTableModel::parent
+128 QSqlQueryModel::rowCount
+136 QSqlQueryModel::columnCount
+144 QAbstractTableModel::hasChildren
+152 QSqlQueryModel::data
+160 QAbstractItemModel::setData
+168 QSqlQueryModel::headerData
+176 QSqlQueryModel::setHeaderData
+184 QAbstractItemModel::itemData
+192 QAbstractItemModel::setItemData
+200 QAbstractItemModel::mimeTypes
+208 QAbstractItemModel::mimeData
+216 QAbstractTableModel::dropMimeData
+224 QAbstractItemModel::supportedDropActions
+232 QAbstractItemModel::insertRows
+240 QSqlQueryModel::insertColumns
+248 QAbstractItemModel::removeRows
+256 QSqlQueryModel::removeColumns
+264 QSqlQueryModel::fetchMore
+272 QSqlQueryModel::canFetchMore
+280 QAbstractItemModel::flags
+288 QAbstractItemModel::sort
+296 QAbstractItemModel::buddy
+304 QAbstractItemModel::match
+312 QAbstractItemModel::span
+320 QAbstractItemModel::submit
+328 QAbstractItemModel::revert
+336 QSqlQueryModel::clear
+344 QSqlQueryModel::queryChange
+
+Class QSqlQueryModel
+ size=16 align=8
+ base size=16 base align=8
+QSqlQueryModel (0x7f0a6e4d9ee0) 0
+ vptr=((& QSqlQueryModel::_ZTV14QSqlQueryModel) + 16u)
+ QAbstractTableModel (0x7f0a6e4d9f50) 0
+ primary-for QSqlQueryModel (0x7f0a6e4d9ee0)
+ QAbstractItemModel (0x7f0a6e4e4000) 0
+ primary-for QAbstractTableModel (0x7f0a6e4d9f50)
+ QObject (0x7f0a6e4e4070) 0
+ primary-for QAbstractItemModel (0x7f0a6e4e4000)
+
+Vtable for QSqlTableModel
+QSqlTableModel::_ZTV14QSqlTableModel: 55u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QSqlTableModel)
+16 QSqlTableModel::metaObject
+24 QSqlTableModel::qt_metacast
+32 QSqlTableModel::qt_metacall
+40 QSqlTableModel::~QSqlTableModel
+48 QSqlTableModel::~QSqlTableModel
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QAbstractTableModel::index
+120 QAbstractTableModel::parent
+128 QSqlTableModel::rowCount
+136 QSqlQueryModel::columnCount
+144 QAbstractTableModel::hasChildren
+152 QSqlTableModel::data
+160 QSqlTableModel::setData
+168 QSqlTableModel::headerData
+176 QSqlQueryModel::setHeaderData
+184 QAbstractItemModel::itemData
+192 QAbstractItemModel::setItemData
+200 QAbstractItemModel::mimeTypes
+208 QAbstractItemModel::mimeData
+216 QAbstractTableModel::dropMimeData
+224 QAbstractItemModel::supportedDropActions
+232 QSqlTableModel::insertRows
+240 QSqlQueryModel::insertColumns
+248 QSqlTableModel::removeRows
+256 QSqlTableModel::removeColumns
+264 QSqlQueryModel::fetchMore
+272 QSqlQueryModel::canFetchMore
+280 QSqlTableModel::flags
+288 QSqlTableModel::sort
+296 QAbstractItemModel::buddy
+304 QAbstractItemModel::match
+312 QAbstractItemModel::span
+320 QSqlTableModel::submit
+328 QSqlTableModel::revert
+336 QSqlTableModel::clear
+344 QSqlQueryModel::queryChange
+352 QSqlTableModel::select
+360 QSqlTableModel::setTable
+368 QSqlTableModel::setEditStrategy
+376 QSqlTableModel::setSort
+384 QSqlTableModel::setFilter
+392 QSqlTableModel::revertRow
+400 QSqlTableModel::updateRowInTable
+408 QSqlTableModel::insertRowIntoTable
+416 QSqlTableModel::deleteRowFromTable
+424 QSqlTableModel::orderByClause
+432 QSqlTableModel::selectStatement
+
+Class QSqlTableModel
+ size=16 align=8
+ base size=16 base align=8
+QSqlTableModel (0x7f0a6e501850) 0
+ vptr=((& QSqlTableModel::_ZTV14QSqlTableModel) + 16u)
+ QSqlQueryModel (0x7f0a6e5018c0) 0
+ primary-for QSqlTableModel (0x7f0a6e501850)
+ QAbstractTableModel (0x7f0a6e501930) 0
+ primary-for QSqlQueryModel (0x7f0a6e5018c0)
+ QAbstractItemModel (0x7f0a6e5019a0) 0
+ primary-for QAbstractTableModel (0x7f0a6e501930)
+ QObject (0x7f0a6e501a10) 0
+ primary-for QAbstractItemModel (0x7f0a6e5019a0)
+
+Class QSqlRelation
+ size=24 align=8
+ base size=24 base align=8
+QSqlRelation (0x7f0a6e52d380) 0
+
+Vtable for QSqlRelationalTableModel
+QSqlRelationalTableModel::_ZTV24QSqlRelationalTableModel: 57u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI24QSqlRelationalTableModel)
+16 QSqlRelationalTableModel::metaObject
+24 QSqlRelationalTableModel::qt_metacast
+32 QSqlRelationalTableModel::qt_metacall
+40 QSqlRelationalTableModel::~QSqlRelationalTableModel
+48 QSqlRelationalTableModel::~QSqlRelationalTableModel
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QAbstractTableModel::index
+120 QAbstractTableModel::parent
+128 QSqlTableModel::rowCount
+136 QSqlQueryModel::columnCount
+144 QAbstractTableModel::hasChildren
+152 QSqlRelationalTableModel::data
+160 QSqlRelationalTableModel::setData
+168 QSqlTableModel::headerData
+176 QSqlQueryModel::setHeaderData
+184 QAbstractItemModel::itemData
+192 QAbstractItemModel::setItemData
+200 QAbstractItemModel::mimeTypes
+208 QAbstractItemModel::mimeData
+216 QAbstractTableModel::dropMimeData
+224 QAbstractItemModel::supportedDropActions
+232 QSqlTableModel::insertRows
+240 QSqlQueryModel::insertColumns
+248 QSqlTableModel::removeRows
+256 QSqlRelationalTableModel::removeColumns
+264 QSqlQueryModel::fetchMore
+272 QSqlQueryModel::canFetchMore
+280 QSqlTableModel::flags
+288 QSqlTableModel::sort
+296 QAbstractItemModel::buddy
+304 QAbstractItemModel::match
+312 QAbstractItemModel::span
+320 QSqlTableModel::submit
+328 QSqlTableModel::revert
+336 QSqlRelationalTableModel::clear
+344 QSqlQueryModel::queryChange
+352 QSqlRelationalTableModel::select
+360 QSqlRelationalTableModel::setTable
+368 QSqlTableModel::setEditStrategy
+376 QSqlTableModel::setSort
+384 QSqlTableModel::setFilter
+392 QSqlRelationalTableModel::revertRow
+400 QSqlRelationalTableModel::updateRowInTable
+408 QSqlRelationalTableModel::insertRowIntoTable
+416 QSqlTableModel::deleteRowFromTable
+424 QSqlRelationalTableModel::orderByClause
+432 QSqlRelationalTableModel::selectStatement
+440 QSqlRelationalTableModel::setRelation
+448 QSqlRelationalTableModel::relationModel
+
+Class QSqlRelationalTableModel
+ size=16 align=8
+ base size=16 base align=8
+QSqlRelationalTableModel (0x7f0a6e543cb0) 0
+ vptr=((& QSqlRelationalTableModel::_ZTV24QSqlRelationalTableModel) + 16u)
+ QSqlTableModel (0x7f0a6e543d20) 0
+ primary-for QSqlRelationalTableModel (0x7f0a6e543cb0)
+ QSqlQueryModel (0x7f0a6e543d90) 0
+ primary-for QSqlTableModel (0x7f0a6e543d20)
+ QAbstractTableModel (0x7f0a6e543e00) 0
+ primary-for QSqlQueryModel (0x7f0a6e543d90)
+ QAbstractItemModel (0x7f0a6e543e70) 0
+ primary-for QAbstractTableModel (0x7f0a6e543e00)
+ QObject (0x7f0a6e543ee0) 0
+ primary-for QAbstractItemModel (0x7f0a6e543e70)
+
+Class QDomImplementation
+ size=8 align=8
+ base size=8 base align=8
+QDomImplementation (0x7f0a6e563540) 0
+
+Class QDomNode
+ size=8 align=8
+ base size=8 base align=8
+QDomNode (0x7f0a6e563e70) 0
+
+Class QDomNodeList
+ size=8 align=8
+ base size=8 base align=8
+QDomNodeList (0x7f0a6e38f0e0) 0
+
+Class QDomDocumentType
+ size=8 align=8
+ base size=8 base align=8
+QDomDocumentType (0x7f0a6e398150) 0
+ QDomNode (0x7f0a6e3981c0) 0
+
+Class QDomDocument
+ size=8 align=8
+ base size=8 base align=8
+QDomDocument (0x7f0a6e398cb0) 0
+ QDomNode (0x7f0a6e398d20) 0
+
+Class QDomNamedNodeMap
+ size=8 align=8
+ base size=8 base align=8
+QDomNamedNodeMap (0x7f0a6e39ebd0) 0
+
+Class QDomDocumentFragment
+ size=8 align=8
+ base size=8 base align=8
+QDomDocumentFragment (0x7f0a6e3b0a10) 0
+ QDomNode (0x7f0a6e3b0a80) 0
+
+Class QDomCharacterData
+ size=8 align=8
+ base size=8 base align=8
+QDomCharacterData (0x7f0a6e3bd5b0) 0
+ QDomNode (0x7f0a6e3bd620) 0
+
+Class QDomAttr
+ size=8 align=8
+ base size=8 base align=8
+QDomAttr (0x7f0a6e3c5000) 0
+ QDomNode (0x7f0a6e3c5070) 0
+
+Class QDomElement
+ size=8 align=8
+ base size=8 base align=8
+QDomElement (0x7f0a6e3c5b60) 0
+ QDomNode (0x7f0a6e3c5bd0) 0
+
+Class QDomText
+ size=8 align=8
+ base size=8 base align=8
+QDomText (0x7f0a6e3cbe00) 0
+ QDomCharacterData (0x7f0a6e3cbe70) 0
+ QDomNode (0x7f0a6e3cbee0) 0
+
+Class QDomComment
+ size=8 align=8
+ base size=8 base align=8
+QDomComment (0x7f0a6e3e1b60) 0
+ QDomCharacterData (0x7f0a6e3e1bd0) 0
+ QDomNode (0x7f0a6e3e1c40) 0
+
+Class QDomCDATASection
+ size=8 align=8
+ base size=8 base align=8
+QDomCDATASection (0x7f0a6e3e7770) 0
+ QDomText (0x7f0a6e3e77e0) 0
+ QDomCharacterData (0x7f0a6e3e7850) 0
+ QDomNode (0x7f0a6e3e78c0) 0
+
+Class QDomNotation
+ size=8 align=8
+ base size=8 base align=8
+QDomNotation (0x7f0a6e3ed3f0) 0
+ QDomNode (0x7f0a6e3ed460) 0
+
+Class QDomEntity
+ size=8 align=8
+ base size=8 base align=8
+QDomEntity (0x7f0a6e3edf50) 0
+ QDomNode (0x7f0a6e3f3000) 0
+
+Class QDomEntityReference
+ size=8 align=8
+ base size=8 base align=8
+QDomEntityReference (0x7f0a6e3f3af0) 0
+ QDomNode (0x7f0a6e3f3b60) 0
+
+Class QDomProcessingInstruction
+ size=8 align=8
+ base size=8 base align=8
+QDomProcessingInstruction (0x7f0a6e3fa690) 0
+ QDomNode (0x7f0a6e3fa700) 0
+
+Class QXmlNamespaceSupport
+ size=8 align=8
+ base size=8 base align=8
+QXmlNamespaceSupport (0x7f0a6e400230) 0
+
+Class QXmlAttributes::Attribute
+ size=32 align=8
+ base size=32 base align=8
+QXmlAttributes::Attribute (0x7f0a6e4008c0) 0
+
+Vtable for QXmlAttributes
+QXmlAttributes::_ZTV14QXmlAttributes: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QXmlAttributes)
+16 QXmlAttributes::~QXmlAttributes
+24 QXmlAttributes::~QXmlAttributes
+
+Class QXmlAttributes
+ size=24 align=8
+ base size=24 base align=8
+QXmlAttributes (0x7f0a6e400770) 0
+ vptr=((& QXmlAttributes::_ZTV14QXmlAttributes) + 16u)
+
+Vtable for QXmlInputSource
+QXmlInputSource::_ZTV15QXmlInputSource: 11u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QXmlInputSource)
+16 QXmlInputSource::~QXmlInputSource
+24 QXmlInputSource::~QXmlInputSource
+32 QXmlInputSource::setData
+40 QXmlInputSource::setData
+48 QXmlInputSource::fetchData
+56 QXmlInputSource::data
+64 QXmlInputSource::next
+72 QXmlInputSource::reset
+80 QXmlInputSource::fromRawData
+
+Class QXmlInputSource
+ size=16 align=8
+ base size=16 base align=8
+QXmlInputSource (0x7f0a6e441000) 0
+ vptr=((& QXmlInputSource::_ZTV15QXmlInputSource) + 16u)
+
+Class QXmlParseException
+ size=8 align=8
+ base size=8 base align=8
+QXmlParseException (0x7f0a6e441310) 0
+
+Vtable for QXmlReader
+QXmlReader::_ZTV10QXmlReader: 24u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QXmlReader)
+16 QXmlReader::~QXmlReader
+24 QXmlReader::~QXmlReader
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+48 __cxa_pure_virtual
+56 __cxa_pure_virtual
+64 __cxa_pure_virtual
+72 __cxa_pure_virtual
+80 __cxa_pure_virtual
+88 __cxa_pure_virtual
+96 __cxa_pure_virtual
+104 __cxa_pure_virtual
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 __cxa_pure_virtual
+136 __cxa_pure_virtual
+144 __cxa_pure_virtual
+152 __cxa_pure_virtual
+160 __cxa_pure_virtual
+168 __cxa_pure_virtual
+176 __cxa_pure_virtual
+184 __cxa_pure_virtual
+
+Class QXmlReader
+ size=8 align=8
+ base size=8 base align=8
+QXmlReader (0x7f0a6e4415b0) 0 nearly-empty
+ vptr=((& QXmlReader::_ZTV10QXmlReader) + 16u)
+
+Vtable for QXmlSimpleReader
+QXmlSimpleReader::_ZTV16QXmlSimpleReader: 26u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QXmlSimpleReader)
+16 QXmlSimpleReader::~QXmlSimpleReader
+24 QXmlSimpleReader::~QXmlSimpleReader
+32 QXmlSimpleReader::feature
+40 QXmlSimpleReader::setFeature
+48 QXmlSimpleReader::hasFeature
+56 QXmlSimpleReader::property
+64 QXmlSimpleReader::setProperty
+72 QXmlSimpleReader::hasProperty
+80 QXmlSimpleReader::setEntityResolver
+88 QXmlSimpleReader::entityResolver
+96 QXmlSimpleReader::setDTDHandler
+104 QXmlSimpleReader::DTDHandler
+112 QXmlSimpleReader::setContentHandler
+120 QXmlSimpleReader::contentHandler
+128 QXmlSimpleReader::setErrorHandler
+136 QXmlSimpleReader::errorHandler
+144 QXmlSimpleReader::setLexicalHandler
+152 QXmlSimpleReader::lexicalHandler
+160 QXmlSimpleReader::setDeclHandler
+168 QXmlSimpleReader::declHandler
+176 QXmlSimpleReader::parse
+184 QXmlSimpleReader::parse
+192 QXmlSimpleReader::parse
+200 QXmlSimpleReader::parseContinue
+
+Class QXmlSimpleReader
+ size=16 align=8
+ base size=16 base align=8
+QXmlSimpleReader (0x7f0a6e4412a0) 0
+ vptr=((& QXmlSimpleReader::_ZTV16QXmlSimpleReader) + 16u)
+ QXmlReader (0x7f0a6e441690) 0 nearly-empty
+ primary-for QXmlSimpleReader (0x7f0a6e4412a0)
+
+Vtable for QXmlLocator
+QXmlLocator::_ZTV11QXmlLocator: 6u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QXmlLocator)
+16 QXmlLocator::~QXmlLocator
+24 QXmlLocator::~QXmlLocator
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+
+Class QXmlLocator
+ size=8 align=8
+ base size=8 base align=8
+QXmlLocator (0x7f0a6e45ea10) 0 nearly-empty
+ vptr=((& QXmlLocator::_ZTV11QXmlLocator) + 16u)
+
+Vtable for QXmlContentHandler
+QXmlContentHandler::_ZTV18QXmlContentHandler: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QXmlContentHandler)
+16 QXmlContentHandler::~QXmlContentHandler
+24 QXmlContentHandler::~QXmlContentHandler
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+48 __cxa_pure_virtual
+56 __cxa_pure_virtual
+64 __cxa_pure_virtual
+72 __cxa_pure_virtual
+80 __cxa_pure_virtual
+88 __cxa_pure_virtual
+96 __cxa_pure_virtual
+104 __cxa_pure_virtual
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+
+Class QXmlContentHandler
+ size=8 align=8
+ base size=8 base align=8
+QXmlContentHandler (0x7f0a6e45ec40) 0 nearly-empty
+ vptr=((& QXmlContentHandler::_ZTV18QXmlContentHandler) + 16u)
+
+Vtable for QXmlErrorHandler
+QXmlErrorHandler::_ZTV16QXmlErrorHandler: 8u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QXmlErrorHandler)
+16 QXmlErrorHandler::~QXmlErrorHandler
+24 QXmlErrorHandler::~QXmlErrorHandler
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+48 __cxa_pure_virtual
+56 __cxa_pure_virtual
+
+Class QXmlErrorHandler
+ size=8 align=8
+ base size=8 base align=8
+QXmlErrorHandler (0x7f0a6e478540) 0 nearly-empty
+ vptr=((& QXmlErrorHandler::_ZTV16QXmlErrorHandler) + 16u)
+
+Vtable for QXmlDTDHandler
+QXmlDTDHandler::_ZTV14QXmlDTDHandler: 7u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QXmlDTDHandler)
+16 QXmlDTDHandler::~QXmlDTDHandler
+24 QXmlDTDHandler::~QXmlDTDHandler
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+48 __cxa_pure_virtual
+
+Class QXmlDTDHandler
+ size=8 align=8
+ base size=8 base align=8
+QXmlDTDHandler (0x7f0a6e478f50) 0 nearly-empty
+ vptr=((& QXmlDTDHandler::_ZTV14QXmlDTDHandler) + 16u)
+
+Vtable for QXmlEntityResolver
+QXmlEntityResolver::_ZTV18QXmlEntityResolver: 6u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QXmlEntityResolver)
+16 QXmlEntityResolver::~QXmlEntityResolver
+24 QXmlEntityResolver::~QXmlEntityResolver
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+
+Class QXmlEntityResolver
+ size=8 align=8
+ base size=8 base align=8
+QXmlEntityResolver (0x7f0a6e485930) 0 nearly-empty
+ vptr=((& QXmlEntityResolver::_ZTV18QXmlEntityResolver) + 16u)
+
+Vtable for QXmlLexicalHandler
+QXmlLexicalHandler::_ZTV18QXmlLexicalHandler: 12u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QXmlLexicalHandler)
+16 QXmlLexicalHandler::~QXmlLexicalHandler
+24 QXmlLexicalHandler::~QXmlLexicalHandler
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+48 __cxa_pure_virtual
+56 __cxa_pure_virtual
+64 __cxa_pure_virtual
+72 __cxa_pure_virtual
+80 __cxa_pure_virtual
+88 __cxa_pure_virtual
+
+Class QXmlLexicalHandler
+ size=8 align=8
+ base size=8 base align=8
+QXmlLexicalHandler (0x7f0a6e293310) 0 nearly-empty
+ vptr=((& QXmlLexicalHandler::_ZTV18QXmlLexicalHandler) + 16u)
+
+Vtable for QXmlDeclHandler
+QXmlDeclHandler::_ZTV15QXmlDeclHandler: 8u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QXmlDeclHandler)
+16 QXmlDeclHandler::~QXmlDeclHandler
+24 QXmlDeclHandler::~QXmlDeclHandler
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+48 __cxa_pure_virtual
+56 __cxa_pure_virtual
+
+Class QXmlDeclHandler
+ size=8 align=8
+ base size=8 base align=8
+QXmlDeclHandler (0x7f0a6e293d20) 0 nearly-empty
+ vptr=((& QXmlDeclHandler::_ZTV15QXmlDeclHandler) + 16u)
+
+Vtable for QXmlDefaultHandler
+QXmlDefaultHandler::_ZTV18QXmlDefaultHandler: 73u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QXmlDefaultHandler)
+16 QXmlDefaultHandler::~QXmlDefaultHandler
+24 QXmlDefaultHandler::~QXmlDefaultHandler
+32 QXmlDefaultHandler::setDocumentLocator
+40 QXmlDefaultHandler::startDocument
+48 QXmlDefaultHandler::endDocument
+56 QXmlDefaultHandler::startPrefixMapping
+64 QXmlDefaultHandler::endPrefixMapping
+72 QXmlDefaultHandler::startElement
+80 QXmlDefaultHandler::endElement
+88 QXmlDefaultHandler::characters
+96 QXmlDefaultHandler::ignorableWhitespace
+104 QXmlDefaultHandler::processingInstruction
+112 QXmlDefaultHandler::skippedEntity
+120 QXmlDefaultHandler::errorString
+128 QXmlDefaultHandler::warning
+136 QXmlDefaultHandler::error
+144 QXmlDefaultHandler::fatalError
+152 QXmlDefaultHandler::notationDecl
+160 QXmlDefaultHandler::unparsedEntityDecl
+168 QXmlDefaultHandler::resolveEntity
+176 QXmlDefaultHandler::startDTD
+184 QXmlDefaultHandler::endDTD
+192 QXmlDefaultHandler::startEntity
+200 QXmlDefaultHandler::endEntity
+208 QXmlDefaultHandler::startCDATA
+216 QXmlDefaultHandler::endCDATA
+224 QXmlDefaultHandler::comment
+232 QXmlDefaultHandler::attributeDecl
+240 QXmlDefaultHandler::internalEntityDecl
+248 QXmlDefaultHandler::externalEntityDecl
+256 (int (*)(...))-0x00000000000000008
+264 (int (*)(...))(& _ZTI18QXmlDefaultHandler)
+272 QXmlDefaultHandler::_ZThn8_N18QXmlDefaultHandlerD1Ev
+280 QXmlDefaultHandler::_ZThn8_N18QXmlDefaultHandlerD0Ev
+288 QXmlDefaultHandler::_ZThn8_N18QXmlDefaultHandler7warningERK18QXmlParseException
+296 QXmlDefaultHandler::_ZThn8_N18QXmlDefaultHandler5errorERK18QXmlParseException
+304 QXmlDefaultHandler::_ZThn8_N18QXmlDefaultHandler10fatalErrorERK18QXmlParseException
+312 QXmlDefaultHandler::_ZThn8_NK18QXmlDefaultHandler11errorStringEv
+320 (int (*)(...))-0x00000000000000010
+328 (int (*)(...))(& _ZTI18QXmlDefaultHandler)
+336 QXmlDefaultHandler::_ZThn16_N18QXmlDefaultHandlerD1Ev
+344 QXmlDefaultHandler::_ZThn16_N18QXmlDefaultHandlerD0Ev
+352 QXmlDefaultHandler::_ZThn16_N18QXmlDefaultHandler12notationDeclERK7QStringS2_S2_
+360 QXmlDefaultHandler::_ZThn16_N18QXmlDefaultHandler18unparsedEntityDeclERK7QStringS2_S2_S2_
+368 QXmlDefaultHandler::_ZThn16_NK18QXmlDefaultHandler11errorStringEv
+376 (int (*)(...))-0x00000000000000018
+384 (int (*)(...))(& _ZTI18QXmlDefaultHandler)
+392 QXmlDefaultHandler::_ZThn24_N18QXmlDefaultHandlerD1Ev
+400 QXmlDefaultHandler::_ZThn24_N18QXmlDefaultHandlerD0Ev
+408 QXmlDefaultHandler::_ZThn24_N18QXmlDefaultHandler13resolveEntityERK7QStringS2_RP15QXmlInputSource
+416 QXmlDefaultHandler::_ZThn24_NK18QXmlDefaultHandler11errorStringEv
+424 (int (*)(...))-0x00000000000000020
+432 (int (*)(...))(& _ZTI18QXmlDefaultHandler)
+440 QXmlDefaultHandler::_ZThn32_N18QXmlDefaultHandlerD1Ev
+448 QXmlDefaultHandler::_ZThn32_N18QXmlDefaultHandlerD0Ev
+456 QXmlDefaultHandler::_ZThn32_N18QXmlDefaultHandler8startDTDERK7QStringS2_S2_
+464 QXmlDefaultHandler::_ZThn32_N18QXmlDefaultHandler6endDTDEv
+472 QXmlDefaultHandler::_ZThn32_N18QXmlDefaultHandler11startEntityERK7QString
+480 QXmlDefaultHandler::_ZThn32_N18QXmlDefaultHandler9endEntityERK7QString
+488 QXmlDefaultHandler::_ZThn32_N18QXmlDefaultHandler10startCDATAEv
+496 QXmlDefaultHandler::_ZThn32_N18QXmlDefaultHandler8endCDATAEv
+504 QXmlDefaultHandler::_ZThn32_N18QXmlDefaultHandler7commentERK7QString
+512 QXmlDefaultHandler::_ZThn32_NK18QXmlDefaultHandler11errorStringEv
+520 (int (*)(...))-0x00000000000000028
+528 (int (*)(...))(& _ZTI18QXmlDefaultHandler)
+536 QXmlDefaultHandler::_ZThn40_N18QXmlDefaultHandlerD1Ev
+544 QXmlDefaultHandler::_ZThn40_N18QXmlDefaultHandlerD0Ev
+552 QXmlDefaultHandler::_ZThn40_N18QXmlDefaultHandler13attributeDeclERK7QStringS2_S2_S2_S2_
+560 QXmlDefaultHandler::_ZThn40_N18QXmlDefaultHandler18internalEntityDeclERK7QStringS2_
+568 QXmlDefaultHandler::_ZThn40_N18QXmlDefaultHandler18externalEntityDeclERK7QStringS2_S2_
+576 QXmlDefaultHandler::_ZThn40_NK18QXmlDefaultHandler11errorStringEv
+
+Class QXmlDefaultHandler
+ size=56 align=8
+ base size=56 base align=8
+QXmlDefaultHandler (0x7f0a6e29f8c0) 0
+ vptr=((& QXmlDefaultHandler::_ZTV18QXmlDefaultHandler) + 16u)
+ QXmlContentHandler (0x7f0a6e2a2690) 0 nearly-empty
+ primary-for QXmlDefaultHandler (0x7f0a6e29f8c0)
+ QXmlErrorHandler (0x7f0a6e2a2700) 8 nearly-empty
+ vptr=((& QXmlDefaultHandler::_ZTV18QXmlDefaultHandler) + 272u)
+ QXmlDTDHandler (0x7f0a6e2a2770) 16 nearly-empty
+ vptr=((& QXmlDefaultHandler::_ZTV18QXmlDefaultHandler) + 336u)
+ QXmlEntityResolver (0x7f0a6e2a27e0) 24 nearly-empty
+ vptr=((& QXmlDefaultHandler::_ZTV18QXmlDefaultHandler) + 392u)
+ QXmlLexicalHandler (0x7f0a6e2a2850) 32 nearly-empty
+ vptr=((& QXmlDefaultHandler::_ZTV18QXmlDefaultHandler) + 440u)
+ QXmlDeclHandler (0x7f0a6e2a28c0) 40 nearly-empty
+ vptr=((& QXmlDefaultHandler::_ZTV18QXmlDefaultHandler) + 536u)
+
+Class QSslCertificate
+ size=8 align=8
+ base size=8 base align=8
+QSslCertificate (0x7f0a6e2f6230) 0
+
+Class QSslError
+ size=8 align=8
+ base size=8 base align=8
+QSslError (0x7f0a6e30ccb0) 0
+
+Class QSslCipher
+ size=8 align=8
+ base size=8 base align=8
+QSslCipher (0x7f0a6e315a80) 0
+
+Vtable for QAbstractSocket
+QAbstractSocket::_ZTV15QAbstractSocket: 30u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QAbstractSocket)
+16 QAbstractSocket::metaObject
+24 QAbstractSocket::qt_metacast
+32 QAbstractSocket::qt_metacall
+40 QAbstractSocket::~QAbstractSocket
+48 QAbstractSocket::~QAbstractSocket
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QAbstractSocket::isSequential
+120 QIODevice::open
+128 QAbstractSocket::close
+136 QIODevice::pos
+144 QIODevice::size
+152 QIODevice::seek
+160 QAbstractSocket::atEnd
+168 QIODevice::reset
+176 QAbstractSocket::bytesAvailable
+184 QAbstractSocket::bytesToWrite
+192 QAbstractSocket::canReadLine
+200 QAbstractSocket::waitForReadyRead
+208 QAbstractSocket::waitForBytesWritten
+216 QAbstractSocket::readData
+224 QAbstractSocket::readLineData
+232 QAbstractSocket::writeData
+
+Class QAbstractSocket
+ size=16 align=8
+ base size=16 base align=8
+QAbstractSocket (0x7f0a6e3223f0) 0
+ vptr=((& QAbstractSocket::_ZTV15QAbstractSocket) + 16u)
+ QIODevice (0x7f0a6e322460) 0
+ primary-for QAbstractSocket (0x7f0a6e3223f0)
+ QObject (0x7f0a6e3224d0) 0
+ primary-for QIODevice (0x7f0a6e322460)
+
+Vtable for QTcpSocket
+QTcpSocket::_ZTV10QTcpSocket: 30u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QTcpSocket)
+16 QTcpSocket::metaObject
+24 QTcpSocket::qt_metacast
+32 QTcpSocket::qt_metacall
+40 QTcpSocket::~QTcpSocket
+48 QTcpSocket::~QTcpSocket
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QAbstractSocket::isSequential
+120 QIODevice::open
+128 QAbstractSocket::close
+136 QIODevice::pos
+144 QIODevice::size
+152 QIODevice::seek
+160 QAbstractSocket::atEnd
+168 QIODevice::reset
+176 QAbstractSocket::bytesAvailable
+184 QAbstractSocket::bytesToWrite
+192 QAbstractSocket::canReadLine
+200 QAbstractSocket::waitForReadyRead
+208 QAbstractSocket::waitForBytesWritten
+216 QAbstractSocket::readData
+224 QAbstractSocket::readLineData
+232 QAbstractSocket::writeData
+
+Class QTcpSocket
+ size=16 align=8
+ base size=16 base align=8
+QTcpSocket (0x7f0a6e35da80) 0
+ vptr=((& QTcpSocket::_ZTV10QTcpSocket) + 16u)
+ QAbstractSocket (0x7f0a6e35daf0) 0
+ primary-for QTcpSocket (0x7f0a6e35da80)
+ QIODevice (0x7f0a6e35db60) 0
+ primary-for QAbstractSocket (0x7f0a6e35daf0)
+ QObject (0x7f0a6e35dbd0) 0
+ primary-for QIODevice (0x7f0a6e35db60)
+
+Vtable for QSslSocket
+QSslSocket::_ZTV10QSslSocket: 30u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QSslSocket)
+16 QSslSocket::metaObject
+24 QSslSocket::qt_metacast
+32 QSslSocket::qt_metacall
+40 QSslSocket::~QSslSocket
+48 QSslSocket::~QSslSocket
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QAbstractSocket::isSequential
+120 QIODevice::open
+128 QSslSocket::close
+136 QIODevice::pos
+144 QIODevice::size
+152 QIODevice::seek
+160 QSslSocket::atEnd
+168 QIODevice::reset
+176 QSslSocket::bytesAvailable
+184 QSslSocket::bytesToWrite
+192 QSslSocket::canReadLine
+200 QSslSocket::waitForReadyRead
+208 QSslSocket::waitForBytesWritten
+216 QSslSocket::readData
+224 QAbstractSocket::readLineData
+232 QSslSocket::writeData
+
+Class QSslSocket
+ size=16 align=8
+ base size=16 base align=8
+QSslSocket (0x7f0a6e37b540) 0
+ vptr=((& QSslSocket::_ZTV10QSslSocket) + 16u)
+ QTcpSocket (0x7f0a6e37b5b0) 0
+ primary-for QSslSocket (0x7f0a6e37b540)
+ QAbstractSocket (0x7f0a6e37b620) 0
+ primary-for QTcpSocket (0x7f0a6e37b5b0)
+ QIODevice (0x7f0a6e37b690) 0
+ primary-for QAbstractSocket (0x7f0a6e37b620)
+ QObject (0x7f0a6e37b700) 0
+ primary-for QIODevice (0x7f0a6e37b690)
+
+Class QSslConfiguration
+ size=8 align=8
+ base size=8 base align=8
+QSslConfiguration (0x7f0a6e1b12a0) 0
+
+Class QSslKey
+ size=8 align=8
+ base size=8 base align=8
+QSslKey (0x7f0a6e1cb000) 0
+
+Vtable for QHttpHeader
+QHttpHeader::_ZTV11QHttpHeader: 8u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QHttpHeader)
+16 QHttpHeader::~QHttpHeader
+24 QHttpHeader::~QHttpHeader
+32 QHttpHeader::toString
+40 __cxa_pure_virtual
+48 __cxa_pure_virtual
+56 QHttpHeader::parseLine
+
+Class QHttpHeader
+ size=16 align=8
+ base size=16 base align=8
+QHttpHeader (0x7f0a6e1cbb60) 0
+ vptr=((& QHttpHeader::_ZTV11QHttpHeader) + 16u)
+
+Vtable for QHttpResponseHeader
+QHttpResponseHeader::_ZTV19QHttpResponseHeader: 8u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QHttpResponseHeader)
+16 QHttpResponseHeader::~QHttpResponseHeader
+24 QHttpResponseHeader::~QHttpResponseHeader
+32 QHttpResponseHeader::toString
+40 QHttpResponseHeader::majorVersion
+48 QHttpResponseHeader::minorVersion
+56 QHttpResponseHeader::parseLine
+
+Class QHttpResponseHeader
+ size=16 align=8
+ base size=16 base align=8
+QHttpResponseHeader (0x7f0a6e1da850) 0
+ vptr=((& QHttpResponseHeader::_ZTV19QHttpResponseHeader) + 16u)
+ QHttpHeader (0x7f0a6e1da8c0) 0
+ primary-for QHttpResponseHeader (0x7f0a6e1da850)
+
+Vtable for QHttpRequestHeader
+QHttpRequestHeader::_ZTV18QHttpRequestHeader: 8u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QHttpRequestHeader)
+16 QHttpRequestHeader::~QHttpRequestHeader
+24 QHttpRequestHeader::~QHttpRequestHeader
+32 QHttpRequestHeader::toString
+40 QHttpRequestHeader::majorVersion
+48 QHttpRequestHeader::minorVersion
+56 QHttpRequestHeader::parseLine
+
+Class QHttpRequestHeader
+ size=16 align=8
+ base size=16 base align=8
+QHttpRequestHeader (0x7f0a6e1f24d0) 0
+ vptr=((& QHttpRequestHeader::_ZTV18QHttpRequestHeader) + 16u)
+ QHttpHeader (0x7f0a6e1f2540) 0
+ primary-for QHttpRequestHeader (0x7f0a6e1f24d0)
+
+Vtable for QHttp
+QHttp::_ZTV5QHttp: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI5QHttp)
+16 QHttp::metaObject
+24 QHttp::qt_metacast
+32 QHttp::qt_metacall
+40 QHttp::~QHttp
+48 QHttp::~QHttp
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QHttp
+ size=16 align=8
+ base size=16 base align=8
+QHttp (0x7f0a6e1fe0e0) 0
+ vptr=((& QHttp::_ZTV5QHttp) + 16u)
+ QObject (0x7f0a6e1fe150) 0
+ primary-for QHttp (0x7f0a6e1fe0e0)
+
+Class QNetworkRequest
+ size=8 align=8
+ base size=8 base align=8
+QNetworkRequest (0x7f0a6e22c310) 0
+
+Vtable for QNetworkAccessManager
+QNetworkAccessManager::_ZTV21QNetworkAccessManager: 15u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI21QNetworkAccessManager)
+16 QNetworkAccessManager::metaObject
+24 QNetworkAccessManager::qt_metacast
+32 QNetworkAccessManager::qt_metacall
+40 QNetworkAccessManager::~QNetworkAccessManager
+48 QNetworkAccessManager::~QNetworkAccessManager
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QNetworkAccessManager::createRequest
+
+Class QNetworkAccessManager
+ size=16 align=8
+ base size=16 base align=8
+QNetworkAccessManager (0x7f0a6e249230) 0
+ vptr=((& QNetworkAccessManager::_ZTV21QNetworkAccessManager) + 16u)
+ QObject (0x7f0a6e2492a0) 0
+ primary-for QNetworkAccessManager (0x7f0a6e249230)
+
+Class QNetworkCookie
+ size=8 align=8
+ base size=8 base align=8
+QNetworkCookie (0x7f0a6e263770) 0
+
+Vtable for QNetworkCookieJar
+QNetworkCookieJar::_ZTV17QNetworkCookieJar: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QNetworkCookieJar)
+16 QNetworkCookieJar::metaObject
+24 QNetworkCookieJar::qt_metacast
+32 QNetworkCookieJar::qt_metacall
+40 QNetworkCookieJar::~QNetworkCookieJar
+48 QNetworkCookieJar::~QNetworkCookieJar
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QNetworkCookieJar::cookiesForUrl
+120 QNetworkCookieJar::setCookiesFromUrl
+
+Class QNetworkCookieJar
+ size=16 align=8
+ base size=16 base align=8
+QNetworkCookieJar (0x7f0a6e2708c0) 0
+ vptr=((& QNetworkCookieJar::_ZTV17QNetworkCookieJar) + 16u)
+ QObject (0x7f0a6e270930) 0
+ primary-for QNetworkCookieJar (0x7f0a6e2708c0)
+
+Vtable for QNetworkReply
+QNetworkReply::_ZTV13QNetworkReply: 33u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QNetworkReply)
+16 QNetworkReply::metaObject
+24 QNetworkReply::qt_metacast
+32 QNetworkReply::qt_metacall
+40 QNetworkReply::~QNetworkReply
+48 QNetworkReply::~QNetworkReply
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QNetworkReply::isSequential
+120 QIODevice::open
+128 QNetworkReply::close
+136 QIODevice::pos
+144 QIODevice::size
+152 QIODevice::seek
+160 QIODevice::atEnd
+168 QIODevice::reset
+176 QIODevice::bytesAvailable
+184 QIODevice::bytesToWrite
+192 QIODevice::canReadLine
+200 QIODevice::waitForReadyRead
+208 QIODevice::waitForBytesWritten
+216 __cxa_pure_virtual
+224 QIODevice::readLineData
+232 QNetworkReply::writeData
+240 __cxa_pure_virtual
+248 QNetworkReply::setReadBufferSize
+256 QNetworkReply::ignoreSslErrors
+
+Class QNetworkReply
+ size=16 align=8
+ base size=16 base align=8
+QNetworkReply (0x7f0a6e016770) 0
+ vptr=((& QNetworkReply::_ZTV13QNetworkReply) + 16u)
+ QIODevice (0x7f0a6e0167e0) 0
+ primary-for QNetworkReply (0x7f0a6e016770)
+ QObject (0x7f0a6e016850) 0
+ primary-for QIODevice (0x7f0a6e0167e0)
+
+Vtable for QUrlInfo
+QUrlInfo::_ZTV8QUrlInfo: 15u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI8QUrlInfo)
+16 QUrlInfo::~QUrlInfo
+24 QUrlInfo::~QUrlInfo
+32 QUrlInfo::setName
+40 QUrlInfo::setDir
+48 QUrlInfo::setFile
+56 QUrlInfo::setSymLink
+64 QUrlInfo::setOwner
+72 QUrlInfo::setGroup
+80 QUrlInfo::setSize
+88 QUrlInfo::setWritable
+96 QUrlInfo::setReadable
+104 QUrlInfo::setPermissions
+112 QUrlInfo::setLastModified
+
+Class QUrlInfo
+ size=16 align=8
+ base size=16 base align=8
+QUrlInfo (0x7f0a6e0433f0) 0
+ vptr=((& QUrlInfo::_ZTV8QUrlInfo) + 16u)
+
+Vtable for QFtp
+QFtp::_ZTV4QFtp: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI4QFtp)
+16 QFtp::metaObject
+24 QFtp::qt_metacast
+32 QFtp::qt_metacall
+40 QFtp::~QFtp
+48 QFtp::~QFtp
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QFtp
+ size=16 align=8
+ base size=16 base align=8
+QFtp (0x7f0a6e053380) 0
+ vptr=((& QFtp::_ZTV4QFtp) + 16u)
+ QObject (0x7f0a6e0533f0) 0
+ primary-for QFtp (0x7f0a6e053380)
+
+Class QNetworkCacheMetaData
+ size=8 align=8
+ base size=8 base align=8
+QNetworkCacheMetaData (0x7f0a6e0849a0) 0
+
+Vtable for QAbstractNetworkCache
+QAbstractNetworkCache::_ZTV21QAbstractNetworkCache: 22u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI21QAbstractNetworkCache)
+16 QAbstractNetworkCache::metaObject
+24 QAbstractNetworkCache::qt_metacast
+32 QAbstractNetworkCache::qt_metacall
+40 QAbstractNetworkCache::~QAbstractNetworkCache
+48 QAbstractNetworkCache::~QAbstractNetworkCache
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 __cxa_pure_virtual
+136 __cxa_pure_virtual
+144 __cxa_pure_virtual
+152 __cxa_pure_virtual
+160 __cxa_pure_virtual
+168 __cxa_pure_virtual
+
+Class QAbstractNetworkCache
+ size=16 align=8
+ base size=16 base align=8
+QAbstractNetworkCache (0x7f0a6e08ccb0) 0
+ vptr=((& QAbstractNetworkCache::_ZTV21QAbstractNetworkCache) + 16u)
+ QObject (0x7f0a6e08cd20) 0
+ primary-for QAbstractNetworkCache (0x7f0a6e08ccb0)
+
+Vtable for QNetworkDiskCache
+QNetworkDiskCache::_ZTV17QNetworkDiskCache: 23u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QNetworkDiskCache)
+16 QNetworkDiskCache::metaObject
+24 QNetworkDiskCache::qt_metacast
+32 QNetworkDiskCache::qt_metacall
+40 QNetworkDiskCache::~QNetworkDiskCache
+48 QNetworkDiskCache::~QNetworkDiskCache
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QNetworkDiskCache::metaData
+120 QNetworkDiskCache::updateMetaData
+128 QNetworkDiskCache::data
+136 QNetworkDiskCache::remove
+144 QNetworkDiskCache::cacheSize
+152 QNetworkDiskCache::prepare
+160 QNetworkDiskCache::insert
+168 QNetworkDiskCache::clear
+176 QNetworkDiskCache::expire
+
+Class QNetworkDiskCache
+ size=16 align=8
+ base size=16 base align=8
+QNetworkDiskCache (0x7f0a6e0b5620) 0
+ vptr=((& QNetworkDiskCache::_ZTV17QNetworkDiskCache) + 16u)
+ QAbstractNetworkCache (0x7f0a6e0b5690) 0
+ primary-for QNetworkDiskCache (0x7f0a6e0b5620)
+ QObject (0x7f0a6e0b5700) 0
+ primary-for QAbstractNetworkCache (0x7f0a6e0b5690)
+
+Class QIPv6Address
+ size=16 align=1
+ base size=16 base align=1
+QIPv6Address (0x7f0a6e0c5f50) 0
+
+Class QHostAddress
+ size=8 align=8
+ base size=8 base align=8
+QHostAddress (0x7f0a6e0cd5b0) 0
+
+Class QNetworkAddressEntry
+ size=8 align=8
+ base size=8 base align=8
+QNetworkAddressEntry (0x7f0a6e0f4540) 0
+
+Class QNetworkInterface
+ size=8 align=8
+ base size=8 base align=8
+QNetworkInterface (0x7f0a6e0f4d90) 0
+
+Class QAuthenticator
+ size=8 align=8
+ base size=8 base align=8
+QAuthenticator (0x7f0a6df37af0) 0
+
+Class QHostInfo
+ size=8 align=8
+ base size=8 base align=8
+QHostInfo (0x7f0a6df483f0) 0
+
+Class QNetworkProxyQuery
+ size=8 align=8
+ base size=8 base align=8
+QNetworkProxyQuery (0x7f0a6df48c40) 0
+
+Class QNetworkProxy
+ size=8 align=8
+ base size=8 base align=8
+QNetworkProxy (0x7f0a6df5af50) 0
+
+Vtable for QNetworkProxyFactory
+QNetworkProxyFactory::_ZTV20QNetworkProxyFactory: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI20QNetworkProxyFactory)
+16 QNetworkProxyFactory::~QNetworkProxyFactory
+24 QNetworkProxyFactory::~QNetworkProxyFactory
+32 __cxa_pure_virtual
+
+Class QNetworkProxyFactory
+ size=8 align=8
+ base size=8 base align=8
+QNetworkProxyFactory (0x7f0a6dfba380) 0 nearly-empty
+ vptr=((& QNetworkProxyFactory::_ZTV20QNetworkProxyFactory) + 16u)
+
+Vtable for QLocalServer
+QLocalServer::_ZTV12QLocalServer: 17u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QLocalServer)
+16 QLocalServer::metaObject
+24 QLocalServer::qt_metacast
+32 QLocalServer::qt_metacall
+40 QLocalServer::~QLocalServer
+48 QLocalServer::~QLocalServer
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QLocalServer::hasPendingConnections
+120 QLocalServer::nextPendingConnection
+128 QLocalServer::incomingConnection
+
+Class QLocalServer
+ size=16 align=8
+ base size=16 base align=8
+QLocalServer (0x7f0a6dfba690) 0
+ vptr=((& QLocalServer::_ZTV12QLocalServer) + 16u)
+ QObject (0x7f0a6dfba700) 0
+ primary-for QLocalServer (0x7f0a6dfba690)
+
+Vtable for QLocalSocket
+QLocalSocket::_ZTV12QLocalSocket: 30u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QLocalSocket)
+16 QLocalSocket::metaObject
+24 QLocalSocket::qt_metacast
+32 QLocalSocket::qt_metacall
+40 QLocalSocket::~QLocalSocket
+48 QLocalSocket::~QLocalSocket
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QLocalSocket::isSequential
+120 QIODevice::open
+128 QLocalSocket::close
+136 QIODevice::pos
+144 QIODevice::size
+152 QIODevice::seek
+160 QIODevice::atEnd
+168 QIODevice::reset
+176 QLocalSocket::bytesAvailable
+184 QLocalSocket::bytesToWrite
+192 QLocalSocket::canReadLine
+200 QLocalSocket::waitForReadyRead
+208 QLocalSocket::waitForBytesWritten
+216 QLocalSocket::readData
+224 QIODevice::readLineData
+232 QLocalSocket::writeData
+
+Class QLocalSocket
+ size=16 align=8
+ base size=16 base align=8
+QLocalSocket (0x7f0a6dfd9070) 0
+ vptr=((& QLocalSocket::_ZTV12QLocalSocket) + 16u)
+ QIODevice (0x7f0a6dfd90e0) 0
+ primary-for QLocalSocket (0x7f0a6dfd9070)
+ QObject (0x7f0a6dfd9150) 0
+ primary-for QIODevice (0x7f0a6dfd90e0)
+
+Vtable for QTcpServer
+QTcpServer::_ZTV10QTcpServer: 17u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QTcpServer)
+16 QTcpServer::metaObject
+24 QTcpServer::qt_metacast
+32 QTcpServer::qt_metacall
+40 QTcpServer::~QTcpServer
+48 QTcpServer::~QTcpServer
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QTcpServer::hasPendingConnections
+120 QTcpServer::nextPendingConnection
+128 QTcpServer::incomingConnection
+
+Class QTcpServer
+ size=16 align=8
+ base size=16 base align=8
+QTcpServer (0x7f0a6dffc230) 0
+ vptr=((& QTcpServer::_ZTV10QTcpServer) + 16u)
+ QObject (0x7f0a6dffc2a0) 0
+ primary-for QTcpServer (0x7f0a6dffc230)
+
+Vtable for QUdpSocket
+QUdpSocket::_ZTV10QUdpSocket: 30u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QUdpSocket)
+16 QUdpSocket::metaObject
+24 QUdpSocket::qt_metacast
+32 QUdpSocket::qt_metacall
+40 QUdpSocket::~QUdpSocket
+48 QUdpSocket::~QUdpSocket
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QAbstractSocket::isSequential
+120 QIODevice::open
+128 QAbstractSocket::close
+136 QIODevice::pos
+144 QIODevice::size
+152 QIODevice::seek
+160 QAbstractSocket::atEnd
+168 QIODevice::reset
+176 QAbstractSocket::bytesAvailable
+184 QAbstractSocket::bytesToWrite
+192 QAbstractSocket::canReadLine
+200 QAbstractSocket::waitForReadyRead
+208 QAbstractSocket::waitForBytesWritten
+216 QAbstractSocket::readData
+224 QAbstractSocket::readLineData
+232 QAbstractSocket::writeData
+
+Class QUdpSocket
+ size=16 align=8
+ base size=16 base align=8
+QUdpSocket (0x7f0a6de10d20) 0
+ vptr=((& QUdpSocket::_ZTV10QUdpSocket) + 16u)
+ QAbstractSocket (0x7f0a6de10d90) 0
+ primary-for QUdpSocket (0x7f0a6de10d20)
+ QIODevice (0x7f0a6de10e00) 0
+ primary-for QAbstractSocket (0x7f0a6de10d90)
+ QObject (0x7f0a6de10e70) 0
+ primary-for QIODevice (0x7f0a6de10e00)
+
+Class QFont
+ size=16 align=8
+ base size=12 base align=8
+QFont (0x7f0a6de4fa80) 0
+
+Vtable for QAbstractUndoItem
+QAbstractUndoItem::_ZTV17QAbstractUndoItem: 6u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QAbstractUndoItem)
+16 __cxa_pure_virtual
+24 __cxa_pure_virtual
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+
+Class QAbstractUndoItem
+ size=8 align=8
+ base size=8 base align=8
+QAbstractUndoItem (0x7f0a6de9a700) 0 nearly-empty
+ vptr=((& QAbstractUndoItem::_ZTV17QAbstractUndoItem) + 16u)
+
+Vtable for QTextDocument
+QTextDocument::_ZTV13QTextDocument: 17u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QTextDocument)
+16 QTextDocument::metaObject
+24 QTextDocument::qt_metacast
+32 QTextDocument::qt_metacall
+40 QTextDocument::~QTextDocument
+48 QTextDocument::~QTextDocument
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QTextDocument::clear
+120 QTextDocument::createObject
+128 QTextDocument::loadResource
+
+Class QTextDocument
+ size=16 align=8
+ base size=16 base align=8
+QTextDocument (0x7f0a6deab150) 0
+ vptr=((& QTextDocument::_ZTV13QTextDocument) + 16u)
+ QObject (0x7f0a6deab1c0) 0
+ primary-for QTextDocument (0x7f0a6deab150)
+
+Class QHelpGlobal
+ size=1 align=1
+ base size=0 base align=1
+QHelpGlobal (0x7f0a6dd0a150) 0 empty
+
+Vtable for QPaintDevice
+QPaintDevice::_ZTV12QPaintDevice: 7u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QPaintDevice)
+16 QPaintDevice::~QPaintDevice
+24 QPaintDevice::~QPaintDevice
+32 QPaintDevice::devType
+40 __cxa_pure_virtual
+48 QPaintDevice::metric
+
+Class QPaintDevice
+ size=16 align=8
+ base size=10 base align=8
+QPaintDevice (0x7f0a6dd31620) 0
+ vptr=((& QPaintDevice::_ZTV12QPaintDevice) + 16u)
+
+Class QColor
+ size=16 align=4
+ base size=14 base align=4
+QColor (0x7f0a6dd619a0) 0
+
+Class QPolygon
+ size=8 align=8
+ base size=8 base align=8
+QPolygon (0x7f0a6ddaed90) 0
+ QVector<QPoint> (0x7f0a6ddaee00) 0
+
+Class QPolygonF
+ size=8 align=8
+ base size=8 base align=8
+QPolygonF (0x7f0a6ddf4ee0) 0
+ QVector<QPointF> (0x7f0a6ddf4f50) 0
+
+Class QRegion::QRegionData
+ size=32 align=8
+ base size=32 base align=8
+QRegion::QRegionData (0x7f0a6dc553f0) 0
+
+Class QRegion
+ size=8 align=8
+ base size=8 base align=8
+QRegion (0x7f0a6dc34b60) 0
+
+Class QMatrix
+ size=48 align=8
+ base size=48 base align=8
+QMatrix (0x7f0a6dc6acb0) 0
+
+Class QPainterPath::Element
+ size=24 align=8
+ base size=24 base align=8
+QPainterPath::Element (0x7f0a6dca0700) 0
+
+Class QPainterPath
+ size=8 align=8
+ base size=8 base align=8
+QPainterPath (0x7f0a6dca0690) 0
+
+Class QPainterPathPrivate
+ size=16 align=8
+ base size=16 base align=8
+QPainterPathPrivate (0x7f0a6dce5a80) 0
+
+Class QPainterPathStroker
+ size=8 align=8
+ base size=8 base align=8
+QPainterPathStroker (0x7f0a6dcec620) 0
+
+Class QTransform
+ size=88 align=8
+ base size=88 base align=8
+QTransform (0x7f0a6db531c0) 0
+
+Class QImageTextKeyLang
+ size=16 align=8
+ base size=16 base align=8
+QImageTextKeyLang (0x7f0a6dbcc4d0) 0
+
+Vtable for QImage
+QImage::_ZTV6QImage: 7u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI6QImage)
+16 QImage::~QImage
+24 QImage::~QImage
+32 QImage::devType
+40 QImage::paintEngine
+48 QImage::metric
+
+Class QImage
+ size=24 align=8
+ base size=24 base align=8
+QImage (0x7f0a6dbf2d20) 0
+ vptr=((& QImage::_ZTV6QImage) + 16u)
+ QPaintDevice (0x7f0a6dbf2d90) 0
+ primary-for QImage (0x7f0a6dbf2d20)
+
+Vtable for QPixmap
+QPixmap::_ZTV7QPixmap: 7u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QPixmap)
+16 QPixmap::~QPixmap
+24 QPixmap::~QPixmap
+32 QPixmap::devType
+40 QPixmap::paintEngine
+48 QPixmap::metric
+
+Class QPixmap
+ size=24 align=8
+ base size=24 base align=8
+QPixmap (0x7f0a6da93770) 0
+ vptr=((& QPixmap::_ZTV7QPixmap) + 16u)
+ QPaintDevice (0x7f0a6da937e0) 0
+ primary-for QPixmap (0x7f0a6da93770)
+
+Class QBrush
+ size=8 align=8
+ base size=8 base align=8
+QBrush (0x7f0a6dae8930) 0
+
+Class QBrushData
+ size=112 align=8
+ base size=112 base align=8
+QBrushData (0x7f0a6d90c540) 0
+
+Class QGradient
+ size=64 align=8
+ base size=64 base align=8
+QGradient (0x7f0a6d914700) 0
+
+Class QLinearGradient
+ size=64 align=8
+ base size=64 base align=8
+QLinearGradient (0x7f0a6d9551c0) 0
+ QGradient (0x7f0a6d955230) 0
+
+Class QRadialGradient
+ size=64 align=8
+ base size=64 base align=8
+QRadialGradient (0x7f0a6d955690) 0
+ QGradient (0x7f0a6d955700) 0
+
+Class QConicalGradient
+ size=64 align=8
+ base size=64 base align=8
+QConicalGradient (0x7f0a6d955c40) 0
+ QGradient (0x7f0a6d955cb0) 0
+
+Class QPalette
+ size=16 align=8
+ base size=12 base align=8
+QPalette (0x7f0a6d96d000) 0
+
+Class QColorGroup
+ size=16 align=8
+ base size=12 base align=8
+QColorGroup (0x7f0a6d9b4930) 0
+ QPalette (0x7f0a6d9b49a0) 0
+
+Class QFontMetrics
+ size=8 align=8
+ base size=8 base align=8
+QFontMetrics (0x7f0a6d9eec40) 0
+
+Class QFontMetricsF
+ size=8 align=8
+ base size=8 base align=8
+QFontMetricsF (0x7f0a6d80f0e0) 0
+
+Class QFontInfo
+ size=8 align=8
+ base size=8 base align=8
+QFontInfo (0x7f0a6d821000) 0
+
+Class QSizePolicy
+ size=4 align=4
+ base size=4 base align=4
+QSizePolicy (0x7f0a6d821af0) 0
+
+Class QCursor
+ size=8 align=8
+ base size=8 base align=8
+QCursor (0x7f0a6d8fb850) 0
+
+Class QKeySequence
+ size=8 align=8
+ base size=8 base align=8
+QKeySequence (0x7f0a6d709070) 0
+
+Class QWidgetData
+ size=88 align=8
+ base size=88 base align=8
+QWidgetData (0x7f0a6d735c40) 0
+
+Vtable for QWidget
+QWidget::_ZTV7QWidget: 63u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QWidget)
+16 QWidget::metaObject
+24 QWidget::qt_metacast
+32 QWidget::qt_metacall
+40 QWidget::~QWidget
+48 QWidget::~QWidget
+56 QWidget::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QWidget::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QWidget::paintEvent
+256 QWidget::moveEvent
+264 QWidget::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QWidget::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 (int (*)(...))-0x00000000000000010
+456 (int (*)(...))(& _ZTI7QWidget)
+464 QWidget::_ZThn16_N7QWidgetD1Ev
+472 QWidget::_ZThn16_N7QWidgetD0Ev
+480 QWidget::_ZThn16_NK7QWidget7devTypeEv
+488 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+496 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QWidget
+ size=40 align=8
+ base size=40 base align=8
+QWidget (0x7f0a6d74a180) 0
+ vptr=((& QWidget::_ZTV7QWidget) + 16u)
+ QObject (0x7f0a6d735cb0) 0
+ primary-for QWidget (0x7f0a6d74a180)
+ QPaintDevice (0x7f0a6d735d20) 16
+ vptr=((& QWidget::_ZTV7QWidget) + 464u)
+
+Vtable for QFrame
+QFrame::_ZTV6QFrame: 63u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI6QFrame)
+16 QFrame::metaObject
+24 QFrame::qt_metacast
+32 QFrame::qt_metacall
+40 QFrame::~QFrame
+48 QFrame::~QFrame
+56 QFrame::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QFrame::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QFrame::paintEvent
+256 QWidget::moveEvent
+264 QWidget::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QFrame::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 (int (*)(...))-0x00000000000000010
+456 (int (*)(...))(& _ZTI6QFrame)
+464 QFrame::_ZThn16_N6QFrameD1Ev
+472 QFrame::_ZThn16_N6QFrameD0Ev
+480 QWidget::_ZThn16_NK7QWidget7devTypeEv
+488 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+496 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QFrame
+ size=40 align=8
+ base size=40 base align=8
+QFrame (0x7f0a6d6c0a80) 0
+ vptr=((& QFrame::_ZTV6QFrame) + 16u)
+ QWidget (0x7f0a6d6bdb80) 0
+ primary-for QFrame (0x7f0a6d6c0a80)
+ QObject (0x7f0a6d6c0af0) 0
+ primary-for QWidget (0x7f0a6d6bdb80)
+ QPaintDevice (0x7f0a6d6c0b60) 16
+ vptr=((& QFrame::_ZTV6QFrame) + 464u)
+
+Vtable for QAbstractScrollArea
+QAbstractScrollArea::_ZTV19QAbstractScrollArea: 65u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QAbstractScrollArea)
+16 QAbstractScrollArea::metaObject
+24 QAbstractScrollArea::qt_metacast
+32 QAbstractScrollArea::qt_metacall
+40 QAbstractScrollArea::~QAbstractScrollArea
+48 QAbstractScrollArea::~QAbstractScrollArea
+56 QAbstractScrollArea::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QAbstractScrollArea::sizeHint
+136 QAbstractScrollArea::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QAbstractScrollArea::mousePressEvent
+168 QAbstractScrollArea::mouseReleaseEvent
+176 QAbstractScrollArea::mouseDoubleClickEvent
+184 QAbstractScrollArea::mouseMoveEvent
+192 QAbstractScrollArea::wheelEvent
+200 QAbstractScrollArea::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QAbstractScrollArea::paintEvent
+256 QWidget::moveEvent
+264 QAbstractScrollArea::resizeEvent
+272 QWidget::closeEvent
+280 QAbstractScrollArea::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QAbstractScrollArea::dragEnterEvent
+312 QAbstractScrollArea::dragMoveEvent
+320 QAbstractScrollArea::dragLeaveEvent
+328 QAbstractScrollArea::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QFrame::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QAbstractScrollArea::viewportEvent
+456 QAbstractScrollArea::scrollContentsBy
+464 (int (*)(...))-0x00000000000000010
+472 (int (*)(...))(& _ZTI19QAbstractScrollArea)
+480 QAbstractScrollArea::_ZThn16_N19QAbstractScrollAreaD1Ev
+488 QAbstractScrollArea::_ZThn16_N19QAbstractScrollAreaD0Ev
+496 QWidget::_ZThn16_NK7QWidget7devTypeEv
+504 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+512 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QAbstractScrollArea
+ size=40 align=8
+ base size=40 base align=8
+QAbstractScrollArea (0x7f0a6d6ed0e0) 0
+ vptr=((& QAbstractScrollArea::_ZTV19QAbstractScrollArea) + 16u)
+ QFrame (0x7f0a6d6ed150) 0
+ primary-for QAbstractScrollArea (0x7f0a6d6ed0e0)
+ QWidget (0x7f0a6d6cde80) 0
+ primary-for QFrame (0x7f0a6d6ed150)
+ QObject (0x7f0a6d6ed1c0) 0
+ primary-for QWidget (0x7f0a6d6cde80)
+ QPaintDevice (0x7f0a6d6ed230) 16
+ vptr=((& QAbstractScrollArea::_ZTV19QAbstractScrollArea) + 480u)
+
+Class QItemSelectionRange
+ size=16 align=8
+ base size=16 base align=8
+QItemSelectionRange (0x7f0a6d500000) 0
+
+Vtable for QItemSelectionModel
+QItemSelectionModel::_ZTV19QItemSelectionModel: 18u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QItemSelectionModel)
+16 QItemSelectionModel::metaObject
+24 QItemSelectionModel::qt_metacast
+32 QItemSelectionModel::qt_metacall
+40 QItemSelectionModel::~QItemSelectionModel
+48 QItemSelectionModel::~QItemSelectionModel
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QItemSelectionModel::select
+120 QItemSelectionModel::select
+128 QItemSelectionModel::clear
+136 QItemSelectionModel::reset
+
+Class QItemSelectionModel
+ size=16 align=8
+ base size=16 base align=8
+QItemSelectionModel (0x7f0a6d5674d0) 0
+ vptr=((& QItemSelectionModel::_ZTV19QItemSelectionModel) + 16u)
+ QObject (0x7f0a6d567540) 0
+ primary-for QItemSelectionModel (0x7f0a6d5674d0)
+
+Class QItemSelection
+ size=8 align=8
+ base size=8 base align=8
+QItemSelection (0x7f0a6d5a59a0) 0
+ QList<QItemSelectionRange> (0x7f0a6d5a5a10) 0
+
+Vtable for QValidator
+QValidator::_ZTV10QValidator: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QValidator)
+16 QValidator::metaObject
+24 QValidator::qt_metacast
+32 QValidator::qt_metacall
+40 QValidator::~QValidator
+48 QValidator::~QValidator
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+120 QValidator::fixup
+
+Class QValidator
+ size=16 align=8
+ base size=16 base align=8
+QValidator (0x7f0a6d5e52a0) 0
+ vptr=((& QValidator::_ZTV10QValidator) + 16u)
+ QObject (0x7f0a6d5e5310) 0
+ primary-for QValidator (0x7f0a6d5e52a0)
+
+Vtable for QIntValidator
+QIntValidator::_ZTV13QIntValidator: 17u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QIntValidator)
+16 QIntValidator::metaObject
+24 QIntValidator::qt_metacast
+32 QIntValidator::qt_metacall
+40 QIntValidator::~QIntValidator
+48 QIntValidator::~QIntValidator
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QIntValidator::validate
+120 QValidator::fixup
+128 QIntValidator::setRange
+
+Class QIntValidator
+ size=24 align=8
+ base size=24 base align=8
+QIntValidator (0x7f0a6d3fe0e0) 0
+ vptr=((& QIntValidator::_ZTV13QIntValidator) + 16u)
+ QValidator (0x7f0a6d3fe150) 0
+ primary-for QIntValidator (0x7f0a6d3fe0e0)
+ QObject (0x7f0a6d3fe1c0) 0
+ primary-for QValidator (0x7f0a6d3fe150)
+
+Vtable for QDoubleValidator
+QDoubleValidator::_ZTV16QDoubleValidator: 17u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QDoubleValidator)
+16 QDoubleValidator::metaObject
+24 QDoubleValidator::qt_metacast
+32 QDoubleValidator::qt_metacall
+40 QDoubleValidator::~QDoubleValidator
+48 QDoubleValidator::~QDoubleValidator
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QDoubleValidator::validate
+120 QValidator::fixup
+128 QDoubleValidator::setRange
+
+Class QDoubleValidator
+ size=40 align=8
+ base size=36 base align=8
+QDoubleValidator (0x7f0a6d416070) 0
+ vptr=((& QDoubleValidator::_ZTV16QDoubleValidator) + 16u)
+ QValidator (0x7f0a6d4160e0) 0
+ primary-for QDoubleValidator (0x7f0a6d416070)
+ QObject (0x7f0a6d416150) 0
+ primary-for QValidator (0x7f0a6d4160e0)
+
+Vtable for QRegExpValidator
+QRegExpValidator::_ZTV16QRegExpValidator: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QRegExpValidator)
+16 QRegExpValidator::metaObject
+24 QRegExpValidator::qt_metacast
+32 QRegExpValidator::qt_metacall
+40 QRegExpValidator::~QRegExpValidator
+48 QRegExpValidator::~QRegExpValidator
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QRegExpValidator::validate
+120 QValidator::fixup
+
+Class QRegExpValidator
+ size=24 align=8
+ base size=24 base align=8
+QRegExpValidator (0x7f0a6d431930) 0
+ vptr=((& QRegExpValidator::_ZTV16QRegExpValidator) + 16u)
+ QValidator (0x7f0a6d4319a0) 0
+ primary-for QRegExpValidator (0x7f0a6d431930)
+ QObject (0x7f0a6d431a10) 0
+ primary-for QValidator (0x7f0a6d4319a0)
+
+Vtable for QAbstractSpinBox
+QAbstractSpinBox::_ZTV16QAbstractSpinBox: 68u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QAbstractSpinBox)
+16 QAbstractSpinBox::metaObject
+24 QAbstractSpinBox::qt_metacast
+32 QAbstractSpinBox::qt_metacall
+40 QAbstractSpinBox::~QAbstractSpinBox
+48 QAbstractSpinBox::~QAbstractSpinBox
+56 QAbstractSpinBox::event
+64 QObject::eventFilter
+72 QAbstractSpinBox::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QAbstractSpinBox::sizeHint
+136 QAbstractSpinBox::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QAbstractSpinBox::mousePressEvent
+168 QAbstractSpinBox::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QAbstractSpinBox::mouseMoveEvent
+192 QAbstractSpinBox::wheelEvent
+200 QAbstractSpinBox::keyPressEvent
+208 QAbstractSpinBox::keyReleaseEvent
+216 QAbstractSpinBox::focusInEvent
+224 QAbstractSpinBox::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QAbstractSpinBox::paintEvent
+256 QWidget::moveEvent
+264 QAbstractSpinBox::resizeEvent
+272 QAbstractSpinBox::closeEvent
+280 QAbstractSpinBox::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QAbstractSpinBox::showEvent
+344 QAbstractSpinBox::hideEvent
+352 QWidget::x11Event
+360 QAbstractSpinBox::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QAbstractSpinBox::validate
+456 QAbstractSpinBox::fixup
+464 QAbstractSpinBox::stepBy
+472 QAbstractSpinBox::clear
+480 QAbstractSpinBox::stepEnabled
+488 (int (*)(...))-0x00000000000000010
+496 (int (*)(...))(& _ZTI16QAbstractSpinBox)
+504 QAbstractSpinBox::_ZThn16_N16QAbstractSpinBoxD1Ev
+512 QAbstractSpinBox::_ZThn16_N16QAbstractSpinBoxD0Ev
+520 QWidget::_ZThn16_NK7QWidget7devTypeEv
+528 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+536 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QAbstractSpinBox
+ size=40 align=8
+ base size=40 base align=8
+QAbstractSpinBox (0x7f0a6d4465b0) 0
+ vptr=((& QAbstractSpinBox::_ZTV16QAbstractSpinBox) + 16u)
+ QWidget (0x7f0a6d42ce80) 0
+ primary-for QAbstractSpinBox (0x7f0a6d4465b0)
+ QObject (0x7f0a6d446620) 0
+ primary-for QWidget (0x7f0a6d42ce80)
+ QPaintDevice (0x7f0a6d446690) 16
+ vptr=((& QAbstractSpinBox::_ZTV16QAbstractSpinBox) + 504u)
+
+Class QIcon
+ size=8 align=8
+ base size=8 base align=8
+QIcon (0x7f0a6d4a35b0) 0
+
+Vtable for QAbstractSlider
+QAbstractSlider::_ZTV15QAbstractSlider: 64u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QAbstractSlider)
+16 QAbstractSlider::metaObject
+24 QAbstractSlider::qt_metacast
+32 QAbstractSlider::qt_metacall
+40 QAbstractSlider::~QAbstractSlider
+48 QAbstractSlider::~QAbstractSlider
+56 QAbstractSlider::event
+64 QObject::eventFilter
+72 QAbstractSlider::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QWidget::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QAbstractSlider::wheelEvent
+200 QAbstractSlider::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QWidget::paintEvent
+256 QWidget::moveEvent
+264 QWidget::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QAbstractSlider::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QAbstractSlider::sliderChange
+456 (int (*)(...))-0x00000000000000010
+464 (int (*)(...))(& _ZTI15QAbstractSlider)
+472 QAbstractSlider::_ZThn16_N15QAbstractSliderD1Ev
+480 QAbstractSlider::_ZThn16_N15QAbstractSliderD0Ev
+488 QWidget::_ZThn16_NK7QWidget7devTypeEv
+496 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+504 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QAbstractSlider
+ size=40 align=8
+ base size=40 base align=8
+QAbstractSlider (0x7f0a6d4d7150) 0
+ vptr=((& QAbstractSlider::_ZTV15QAbstractSlider) + 16u)
+ QWidget (0x7f0a6d4cdb00) 0
+ primary-for QAbstractSlider (0x7f0a6d4d7150)
+ QObject (0x7f0a6d4d71c0) 0
+ primary-for QWidget (0x7f0a6d4cdb00)
+ QPaintDevice (0x7f0a6d4d7230) 16
+ vptr=((& QAbstractSlider::_ZTV15QAbstractSlider) + 472u)
+
+Vtable for QSlider
+QSlider::_ZTV7QSlider: 64u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QSlider)
+16 QSlider::metaObject
+24 QSlider::qt_metacast
+32 QSlider::qt_metacall
+40 QSlider::~QSlider
+48 QSlider::~QSlider
+56 QSlider::event
+64 QObject::eventFilter
+72 QAbstractSlider::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QSlider::sizeHint
+136 QSlider::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QSlider::mousePressEvent
+168 QSlider::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QSlider::mouseMoveEvent
+192 QAbstractSlider::wheelEvent
+200 QAbstractSlider::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QSlider::paintEvent
+256 QWidget::moveEvent
+264 QWidget::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QAbstractSlider::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QAbstractSlider::sliderChange
+456 (int (*)(...))-0x00000000000000010
+464 (int (*)(...))(& _ZTI7QSlider)
+472 QSlider::_ZThn16_N7QSliderD1Ev
+480 QSlider::_ZThn16_N7QSliderD0Ev
+488 QWidget::_ZThn16_NK7QWidget7devTypeEv
+496 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+504 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QSlider
+ size=40 align=8
+ base size=40 base align=8
+QSlider (0x7f0a6d305f50) 0
+ vptr=((& QSlider::_ZTV7QSlider) + 16u)
+ QAbstractSlider (0x7f0a6d30a000) 0
+ primary-for QSlider (0x7f0a6d305f50)
+ QWidget (0x7f0a6d303b00) 0
+ primary-for QAbstractSlider (0x7f0a6d30a000)
+ QObject (0x7f0a6d30a070) 0
+ primary-for QWidget (0x7f0a6d303b00)
+ QPaintDevice (0x7f0a6d30a0e0) 16
+ vptr=((& QSlider::_ZTV7QSlider) + 472u)
+
+Vtable for QStyle
+QStyle::_ZTV6QStyle: 35u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI6QStyle)
+16 QStyle::metaObject
+24 QStyle::qt_metacast
+32 QStyle::qt_metacall
+40 QStyle::~QStyle
+48 QStyle::~QStyle
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QStyle::polish
+120 QStyle::unpolish
+128 QStyle::polish
+136 QStyle::unpolish
+144 QStyle::polish
+152 QStyle::itemTextRect
+160 QStyle::itemPixmapRect
+168 QStyle::drawItemText
+176 QStyle::drawItemPixmap
+184 QStyle::standardPalette
+192 __cxa_pure_virtual
+200 __cxa_pure_virtual
+208 __cxa_pure_virtual
+216 __cxa_pure_virtual
+224 __cxa_pure_virtual
+232 __cxa_pure_virtual
+240 __cxa_pure_virtual
+248 __cxa_pure_virtual
+256 __cxa_pure_virtual
+264 __cxa_pure_virtual
+272 __cxa_pure_virtual
+
+Class QStyle
+ size=16 align=8
+ base size=16 base align=8
+QStyle (0x7f0a6d332540) 0
+ vptr=((& QStyle::_ZTV6QStyle) + 16u)
+ QObject (0x7f0a6d3325b0) 0
+ primary-for QStyle (0x7f0a6d332540)
+
+Vtable for QTabBar
+QTabBar::_ZTV7QTabBar: 67u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QTabBar)
+16 QTabBar::metaObject
+24 QTabBar::qt_metacast
+32 QTabBar::qt_metacall
+40 QTabBar::~QTabBar
+48 QTabBar::~QTabBar
+56 QTabBar::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QTabBar::sizeHint
+136 QTabBar::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QTabBar::mousePressEvent
+168 QTabBar::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QTabBar::mouseMoveEvent
+192 QTabBar::wheelEvent
+200 QTabBar::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QTabBar::paintEvent
+256 QWidget::moveEvent
+264 QTabBar::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QTabBar::showEvent
+344 QTabBar::hideEvent
+352 QWidget::x11Event
+360 QTabBar::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QTabBar::tabSizeHint
+456 QTabBar::tabInserted
+464 QTabBar::tabRemoved
+472 QTabBar::tabLayoutChange
+480 (int (*)(...))-0x00000000000000010
+488 (int (*)(...))(& _ZTI7QTabBar)
+496 QTabBar::_ZThn16_N7QTabBarD1Ev
+504 QTabBar::_ZThn16_N7QTabBarD0Ev
+512 QWidget::_ZThn16_NK7QWidget7devTypeEv
+520 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+528 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QTabBar
+ size=40 align=8
+ base size=40 base align=8
+QTabBar (0x7f0a6d3ef2a0) 0
+ vptr=((& QTabBar::_ZTV7QTabBar) + 16u)
+ QWidget (0x7f0a6d3bc600) 0
+ primary-for QTabBar (0x7f0a6d3ef2a0)
+ QObject (0x7f0a6d3ef310) 0
+ primary-for QWidget (0x7f0a6d3bc600)
+ QPaintDevice (0x7f0a6d3ef380) 16
+ vptr=((& QTabBar::_ZTV7QTabBar) + 496u)
+
+Vtable for QTabWidget
+QTabWidget::_ZTV10QTabWidget: 65u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QTabWidget)
+16 QTabWidget::metaObject
+24 QTabWidget::qt_metacast
+32 QTabWidget::qt_metacall
+40 QTabWidget::~QTabWidget
+48 QTabWidget::~QTabWidget
+56 QTabWidget::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QTabWidget::sizeHint
+136 QTabWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QTabWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QTabWidget::paintEvent
+256 QWidget::moveEvent
+264 QTabWidget::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QTabWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QTabWidget::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QTabWidget::tabInserted
+456 QTabWidget::tabRemoved
+464 (int (*)(...))-0x00000000000000010
+472 (int (*)(...))(& _ZTI10QTabWidget)
+480 QTabWidget::_ZThn16_N10QTabWidgetD1Ev
+488 QTabWidget::_ZThn16_N10QTabWidgetD0Ev
+496 QWidget::_ZThn16_NK7QWidget7devTypeEv
+504 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+512 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QTabWidget
+ size=40 align=8
+ base size=40 base align=8
+QTabWidget (0x7f0a6d2178c0) 0
+ vptr=((& QTabWidget::_ZTV10QTabWidget) + 16u)
+ QWidget (0x7f0a6d210900) 0
+ primary-for QTabWidget (0x7f0a6d2178c0)
+ QObject (0x7f0a6d217930) 0
+ primary-for QWidget (0x7f0a6d210900)
+ QPaintDevice (0x7f0a6d2179a0) 16
+ vptr=((& QTabWidget::_ZTV10QTabWidget) + 480u)
+
+Vtable for QRubberBand
+QRubberBand::_ZTV11QRubberBand: 63u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QRubberBand)
+16 QRubberBand::metaObject
+24 QRubberBand::qt_metacast
+32 QRubberBand::qt_metacall
+40 QRubberBand::~QRubberBand
+48 QRubberBand::~QRubberBand
+56 QRubberBand::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QWidget::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QRubberBand::paintEvent
+256 QRubberBand::moveEvent
+264 QRubberBand::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QRubberBand::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QRubberBand::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 (int (*)(...))-0x00000000000000010
+456 (int (*)(...))(& _ZTI11QRubberBand)
+464 QRubberBand::_ZThn16_N11QRubberBandD1Ev
+472 QRubberBand::_ZThn16_N11QRubberBandD0Ev
+480 QWidget::_ZThn16_NK7QWidget7devTypeEv
+488 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+496 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QRubberBand
+ size=40 align=8
+ base size=40 base align=8
+QRubberBand (0x7f0a6d26c2a0) 0
+ vptr=((& QRubberBand::_ZTV11QRubberBand) + 16u)
+ QWidget (0x7f0a6d267980) 0
+ primary-for QRubberBand (0x7f0a6d26c2a0)
+ QObject (0x7f0a6d26c310) 0
+ primary-for QWidget (0x7f0a6d267980)
+ QPaintDevice (0x7f0a6d26c380) 16
+ vptr=((& QRubberBand::_ZTV11QRubberBand) + 464u)
+
+Class QStyleOption
+ size=56 align=8
+ base size=56 base align=8
+QStyleOption (0x7f0a6d28d5b0) 0
+
+Class QStyleOptionFocusRect
+ size=72 align=8
+ base size=72 base align=8
+QStyleOptionFocusRect (0x7f0a6d29d310) 0
+ QStyleOption (0x7f0a6d29d380) 0
+
+Class QStyleOptionFrame
+ size=64 align=8
+ base size=64 base align=8
+QStyleOptionFrame (0x7f0a6d2a7310) 0
+ QStyleOption (0x7f0a6d2a7380) 0
+
+Class QStyleOptionFrameV2
+ size=72 align=8
+ base size=68 base align=8
+QStyleOptionFrameV2 (0x7f0a6d2b32a0) 0
+ QStyleOptionFrame (0x7f0a6d2b3310) 0
+ QStyleOption (0x7f0a6d2b3380) 0
+
+Class QStyleOptionFrameV3
+ size=72 align=8
+ base size=72 base align=8
+QStyleOptionFrameV3 (0x7f0a6d2e6b60) 0
+ QStyleOptionFrameV2 (0x7f0a6d2e6bd0) 0
+ QStyleOptionFrame (0x7f0a6d2e6c40) 0
+ QStyleOption (0x7f0a6d2e6cb0) 0
+
+Class QStyleOptionTabWidgetFrame
+ size=96 align=8
+ base size=92 base align=8
+QStyleOptionTabWidgetFrame (0x7f0a6d109460) 0
+ QStyleOption (0x7f0a6d1094d0) 0
+
+Class QStyleOptionTabBarBase
+ size=96 align=8
+ base size=92 base align=8
+QStyleOptionTabBarBase (0x7f0a6d116bd0) 0
+ QStyleOption (0x7f0a6d116c40) 0
+
+Class QStyleOptionTabBarBaseV2
+ size=96 align=8
+ base size=93 base align=8
+QStyleOptionTabBarBaseV2 (0x7f0a6d11d3f0) 0
+ QStyleOptionTabBarBase (0x7f0a6d128000) 0
+ QStyleOption (0x7f0a6d128070) 0
+
+Class QStyleOptionHeader
+ size=112 align=8
+ base size=108 base align=8
+QStyleOptionHeader (0x7f0a6d134620) 0
+ QStyleOption (0x7f0a6d134690) 0
+
+Class QStyleOptionButton
+ size=88 align=8
+ base size=88 base align=8
+QStyleOptionButton (0x7f0a6d14c7e0) 0
+ QStyleOption (0x7f0a6d14c850) 0
+
+Class QStyleOptionTab
+ size=96 align=8
+ base size=96 base align=8
+QStyleOptionTab (0x7f0a6d19a1c0) 0
+ QStyleOption (0x7f0a6d19a230) 0
+
+Class QStyleOptionTabV2
+ size=104 align=8
+ base size=104 base align=8
+QStyleOptionTabV2 (0x7f0a6d1e6150) 0
+ QStyleOptionTab (0x7f0a6d1e61c0) 0
+ QStyleOption (0x7f0a6d1e6230) 0
+
+Class QStyleOptionTabV3
+ size=128 align=8
+ base size=124 base align=8
+QStyleOptionTabV3 (0x7f0a6cff1b60) 0
+ QStyleOptionTabV2 (0x7f0a6cff1bd0) 0
+ QStyleOptionTab (0x7f0a6cff1c40) 0
+ QStyleOption (0x7f0a6cff1cb0) 0
+
+Class QStyleOptionToolBar
+ size=80 align=8
+ base size=80 base align=8
+QStyleOptionToolBar (0x7f0a6d00e1c0) 0
+ QStyleOption (0x7f0a6d00e230) 0
+
+Class QStyleOptionProgressBar
+ size=88 align=8
+ base size=85 base align=8
+QStyleOptionProgressBar (0x7f0a6d0419a0) 0
+ QStyleOption (0x7f0a6d041a10) 0
+
+Class QStyleOptionProgressBarV2
+ size=96 align=8
+ base size=94 base align=8
+QStyleOptionProgressBarV2 (0x7f0a6d066150) 0
+ QStyleOptionProgressBar (0x7f0a6d0661c0) 0
+ QStyleOption (0x7f0a6d066230) 0
+
+Class QStyleOptionMenuItem
+ size=128 align=8
+ base size=128 base align=8
+QStyleOptionMenuItem (0x7f0a6d066a10) 0
+ QStyleOption (0x7f0a6d066a80) 0
+
+Class QStyleOptionQ3ListViewItem
+ size=80 align=8
+ base size=76 base align=8
+QStyleOptionQ3ListViewItem (0x7f0a6d083c40) 0
+ QStyleOption (0x7f0a6d083cb0) 0
+
+Class QStyleOptionQ3DockWindow
+ size=64 align=8
+ base size=58 base align=8
+QStyleOptionQ3DockWindow (0x7f0a6d0d00e0) 0
+ QStyleOption (0x7f0a6d0d0150) 0
+
+Class QStyleOptionDockWidget
+ size=72 align=8
+ base size=67 base align=8
+QStyleOptionDockWidget (0x7f0a6d0dc070) 0
+ QStyleOption (0x7f0a6d0dc0e0) 0
+
+Class QStyleOptionDockWidgetV2
+ size=72 align=8
+ base size=68 base align=8
+QStyleOptionDockWidgetV2 (0x7f0a6d0e9460) 0
+ QStyleOptionDockWidget (0x7f0a6d0e94d0) 0
+ QStyleOption (0x7f0a6d0e9540) 0
+
+Class QStyleOptionViewItem
+ size=104 align=8
+ base size=97 base align=8
+QStyleOptionViewItem (0x7f0a6cef2c40) 0
+ QStyleOption (0x7f0a6cef2cb0) 0
+
+Class QStyleOptionViewItemV2
+ size=104 align=8
+ base size=104 base align=8
+QStyleOptionViewItemV2 (0x7f0a6cf0c7e0) 0
+ QStyleOptionViewItem (0x7f0a6cf0c850) 0
+ QStyleOption (0x7f0a6cf0c8c0) 0
+
+Class QStyleOptionViewItemV3
+ size=120 align=8
+ base size=120 base align=8
+QStyleOptionViewItemV3 (0x7f0a6cf56230) 0
+ QStyleOptionViewItemV2 (0x7f0a6cf562a0) 0
+ QStyleOptionViewItem (0x7f0a6cf56310) 0
+ QStyleOption (0x7f0a6cf56380) 0
+
+Class QStyleOptionViewItemV4
+ size=184 align=8
+ base size=184 base align=8
+QStyleOptionViewItemV4 (0x7f0a6cf63af0) 0
+ QStyleOptionViewItemV3 (0x7f0a6cf63b60) 0
+ QStyleOptionViewItemV2 (0x7f0a6cf63bd0) 0
+ QStyleOptionViewItem (0x7f0a6cf63c40) 0
+ QStyleOption (0x7f0a6cf63cb0) 0
+
+Class QStyleOptionToolBox
+ size=72 align=8
+ base size=72 base align=8
+QStyleOptionToolBox (0x7f0a6cf84230) 0
+ QStyleOption (0x7f0a6cf842a0) 0
+
+Class QStyleOptionToolBoxV2
+ size=80 align=8
+ base size=80 base align=8
+QStyleOptionToolBoxV2 (0x7f0a6cf90700) 0
+ QStyleOptionToolBox (0x7f0a6cf90770) 0
+ QStyleOption (0x7f0a6cf907e0) 0
+
+Class QStyleOptionRubberBand
+ size=64 align=8
+ base size=61 base align=8
+QStyleOptionRubberBand (0x7f0a6cfa63f0) 0
+ QStyleOption (0x7f0a6cfa6460) 0
+
+Class QStyleOptionComplex
+ size=64 align=8
+ base size=64 base align=8
+QStyleOptionComplex (0x7f0a6cfb24d0) 0
+ QStyleOption (0x7f0a6cfb2540) 0
+
+Class QStyleOptionSlider
+ size=120 align=8
+ base size=113 base align=8
+QStyleOptionSlider (0x7f0a6cfbacb0) 0
+ QStyleOptionComplex (0x7f0a6cfbad20) 0
+ QStyleOption (0x7f0a6cfbad90) 0
+
+Class QStyleOptionSpinBox
+ size=80 align=8
+ base size=73 base align=8
+QStyleOptionSpinBox (0x7f0a6cfd2a80) 0
+ QStyleOptionComplex (0x7f0a6cfd2af0) 0
+ QStyleOption (0x7f0a6cfd2b60) 0
+
+Class QStyleOptionQ3ListView
+ size=112 align=8
+ base size=105 base align=8
+QStyleOptionQ3ListView (0x7f0a6cfda460) 0
+ QStyleOptionComplex (0x7f0a6cfe4000) 0
+ QStyleOption (0x7f0a6cfe4070) 0
+
+Class QStyleOptionToolButton
+ size=128 align=8
+ base size=128 base align=8
+QStyleOptionToolButton (0x7f0a6ce13bd0) 0
+ QStyleOptionComplex (0x7f0a6ce13c40) 0
+ QStyleOption (0x7f0a6ce13cb0) 0
+
+Class QStyleOptionComboBox
+ size=112 align=8
+ base size=112 base align=8
+QStyleOptionComboBox (0x7f0a6ce57e00) 0
+ QStyleOptionComplex (0x7f0a6ce57e70) 0
+ QStyleOption (0x7f0a6ce57ee0) 0
+
+Class QStyleOptionTitleBar
+ size=88 align=8
+ base size=88 base align=8
+QStyleOptionTitleBar (0x7f0a6ce7d930) 0
+ QStyleOptionComplex (0x7f0a6ce7d9a0) 0
+ QStyleOption (0x7f0a6ce7da10) 0
+
+Class QStyleOptionGroupBox
+ size=112 align=8
+ base size=108 base align=8
+QStyleOptionGroupBox (0x7f0a6ce941c0) 0
+ QStyleOptionComplex (0x7f0a6ce94230) 0
+ QStyleOption (0x7f0a6ce942a0) 0
+
+Class QStyleOptionSizeGrip
+ size=72 align=8
+ base size=68 base align=8
+QStyleOptionSizeGrip (0x7f0a6cea1d90) 0
+ QStyleOptionComplex (0x7f0a6cea1e00) 0
+ QStyleOption (0x7f0a6cea1e70) 0
+
+Class QStyleOptionGraphicsItem
+ size=144 align=8
+ base size=144 base align=8
+QStyleOptionGraphicsItem (0x7f0a6ceadd20) 0
+ QStyleOption (0x7f0a6ceadd90) 0
+
+Class QStyleHintReturn
+ size=8 align=4
+ base size=8 base align=4
+QStyleHintReturn (0x7f0a6cecc070) 0
+
+Class QStyleHintReturnMask
+ size=16 align=8
+ base size=16 base align=8
+QStyleHintReturnMask (0x7f0a6cecc4d0) 0
+ QStyleHintReturn (0x7f0a6cecc540) 0
+
+Class QStyleHintReturnVariant
+ size=24 align=8
+ base size=24 base align=8
+QStyleHintReturnVariant (0x7f0a6cecc700) 0
+ QStyleHintReturn (0x7f0a6cecc770) 0
+
+Vtable for QAbstractItemDelegate
+QAbstractItemDelegate::_ZTV21QAbstractItemDelegate: 21u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI21QAbstractItemDelegate)
+16 QAbstractItemDelegate::metaObject
+24 QAbstractItemDelegate::qt_metacast
+32 QAbstractItemDelegate::qt_metacall
+40 QAbstractItemDelegate::~QAbstractItemDelegate
+48 QAbstractItemDelegate::~QAbstractItemDelegate
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 QAbstractItemDelegate::createEditor
+136 QAbstractItemDelegate::setEditorData
+144 QAbstractItemDelegate::setModelData
+152 QAbstractItemDelegate::updateEditorGeometry
+160 QAbstractItemDelegate::editorEvent
+
+Class QAbstractItemDelegate
+ size=16 align=8
+ base size=16 base align=8
+QAbstractItemDelegate (0x7f0a6ceccbd0) 0
+ vptr=((& QAbstractItemDelegate::_ZTV21QAbstractItemDelegate) + 16u)
+ QObject (0x7f0a6ceccc40) 0
+ primary-for QAbstractItemDelegate (0x7f0a6ceccbd0)
+
+Vtable for QAbstractItemView
+QAbstractItemView::_ZTV17QAbstractItemView: 103u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QAbstractItemView)
+16 QAbstractItemView::metaObject
+24 QAbstractItemView::qt_metacast
+32 QAbstractItemView::qt_metacall
+40 QAbstractItemView::~QAbstractItemView
+48 QAbstractItemView::~QAbstractItemView
+56 QAbstractItemView::event
+64 QObject::eventFilter
+72 QAbstractItemView::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QAbstractScrollArea::sizeHint
+136 QAbstractScrollArea::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QAbstractItemView::mousePressEvent
+168 QAbstractItemView::mouseReleaseEvent
+176 QAbstractItemView::mouseDoubleClickEvent
+184 QAbstractItemView::mouseMoveEvent
+192 QAbstractScrollArea::wheelEvent
+200 QAbstractItemView::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QAbstractItemView::focusInEvent
+224 QAbstractItemView::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QAbstractScrollArea::paintEvent
+256 QWidget::moveEvent
+264 QAbstractItemView::resizeEvent
+272 QWidget::closeEvent
+280 QAbstractScrollArea::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QAbstractItemView::dragEnterEvent
+312 QAbstractItemView::dragMoveEvent
+320 QAbstractItemView::dragLeaveEvent
+328 QAbstractItemView::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QFrame::changeEvent
+368 QWidget::metric
+376 QAbstractItemView::inputMethodEvent
+384 QAbstractItemView::inputMethodQuery
+392 QAbstractItemView::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QAbstractItemView::viewportEvent
+456 QAbstractScrollArea::scrollContentsBy
+464 QAbstractItemView::setModel
+472 QAbstractItemView::setSelectionModel
+480 QAbstractItemView::keyboardSearch
+488 __cxa_pure_virtual
+496 __cxa_pure_virtual
+504 __cxa_pure_virtual
+512 QAbstractItemView::sizeHintForRow
+520 QAbstractItemView::sizeHintForColumn
+528 QAbstractItemView::reset
+536 QAbstractItemView::setRootIndex
+544 QAbstractItemView::doItemsLayout
+552 QAbstractItemView::selectAll
+560 QAbstractItemView::dataChanged
+568 QAbstractItemView::rowsInserted
+576 QAbstractItemView::rowsAboutToBeRemoved
+584 QAbstractItemView::selectionChanged
+592 QAbstractItemView::currentChanged
+600 QAbstractItemView::updateEditorData
+608 QAbstractItemView::updateEditorGeometries
+616 QAbstractItemView::updateGeometries
+624 QAbstractItemView::verticalScrollbarAction
+632 QAbstractItemView::horizontalScrollbarAction
+640 QAbstractItemView::verticalScrollbarValueChanged
+648 QAbstractItemView::horizontalScrollbarValueChanged
+656 QAbstractItemView::closeEditor
+664 QAbstractItemView::commitData
+672 QAbstractItemView::editorDestroyed
+680 __cxa_pure_virtual
+688 __cxa_pure_virtual
+696 __cxa_pure_virtual
+704 __cxa_pure_virtual
+712 __cxa_pure_virtual
+720 __cxa_pure_virtual
+728 QAbstractItemView::selectedIndexes
+736 QAbstractItemView::edit
+744 QAbstractItemView::selectionCommand
+752 QAbstractItemView::startDrag
+760 QAbstractItemView::viewOptions
+768 (int (*)(...))-0x00000000000000010
+776 (int (*)(...))(& _ZTI17QAbstractItemView)
+784 QAbstractItemView::_ZThn16_N17QAbstractItemViewD1Ev
+792 QAbstractItemView::_ZThn16_N17QAbstractItemViewD0Ev
+800 QWidget::_ZThn16_NK7QWidget7devTypeEv
+808 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+816 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QAbstractItemView
+ size=40 align=8
+ base size=40 base align=8
+QAbstractItemView (0x7f0a6cd052a0) 0
+ vptr=((& QAbstractItemView::_ZTV17QAbstractItemView) + 16u)
+ QAbstractScrollArea (0x7f0a6cd05310) 0
+ primary-for QAbstractItemView (0x7f0a6cd052a0)
+ QFrame (0x7f0a6cd05380) 0
+ primary-for QAbstractScrollArea (0x7f0a6cd05310)
+ QWidget (0x7f0a6ccf2780) 0
+ primary-for QFrame (0x7f0a6cd05380)
+ QObject (0x7f0a6cd053f0) 0
+ primary-for QWidget (0x7f0a6ccf2780)
+ QPaintDevice (0x7f0a6cd05460) 16
+ vptr=((& QAbstractItemView::_ZTV17QAbstractItemView) + 784u)
+
+Vtable for QTreeView
+QTreeView::_ZTV9QTreeView: 105u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QTreeView)
+16 QTreeView::metaObject
+24 QTreeView::qt_metacast
+32 QTreeView::qt_metacall
+40 QTreeView::~QTreeView
+48 QTreeView::~QTreeView
+56 QAbstractItemView::event
+64 QObject::eventFilter
+72 QTreeView::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QAbstractScrollArea::sizeHint
+136 QAbstractScrollArea::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QTreeView::mousePressEvent
+168 QTreeView::mouseReleaseEvent
+176 QTreeView::mouseDoubleClickEvent
+184 QTreeView::mouseMoveEvent
+192 QAbstractScrollArea::wheelEvent
+200 QTreeView::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QAbstractItemView::focusInEvent
+224 QAbstractItemView::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QTreeView::paintEvent
+256 QWidget::moveEvent
+264 QAbstractItemView::resizeEvent
+272 QWidget::closeEvent
+280 QAbstractScrollArea::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QAbstractItemView::dragEnterEvent
+312 QTreeView::dragMoveEvent
+320 QAbstractItemView::dragLeaveEvent
+328 QAbstractItemView::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QFrame::changeEvent
+368 QWidget::metric
+376 QAbstractItemView::inputMethodEvent
+384 QAbstractItemView::inputMethodQuery
+392 QAbstractItemView::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QTreeView::viewportEvent
+456 QTreeView::scrollContentsBy
+464 QTreeView::setModel
+472 QTreeView::setSelectionModel
+480 QTreeView::keyboardSearch
+488 QTreeView::visualRect
+496 QTreeView::scrollTo
+504 QTreeView::indexAt
+512 QAbstractItemView::sizeHintForRow
+520 QTreeView::sizeHintForColumn
+528 QTreeView::reset
+536 QTreeView::setRootIndex
+544 QTreeView::doItemsLayout
+552 QTreeView::selectAll
+560 QTreeView::dataChanged
+568 QTreeView::rowsInserted
+576 QTreeView::rowsAboutToBeRemoved
+584 QTreeView::selectionChanged
+592 QTreeView::currentChanged
+600 QAbstractItemView::updateEditorData
+608 QAbstractItemView::updateEditorGeometries
+616 QTreeView::updateGeometries
+624 QAbstractItemView::verticalScrollbarAction
+632 QTreeView::horizontalScrollbarAction
+640 QAbstractItemView::verticalScrollbarValueChanged
+648 QAbstractItemView::horizontalScrollbarValueChanged
+656 QAbstractItemView::closeEditor
+664 QAbstractItemView::commitData
+672 QAbstractItemView::editorDestroyed
+680 QTreeView::moveCursor
+688 QTreeView::horizontalOffset
+696 QTreeView::verticalOffset
+704 QTreeView::isIndexHidden
+712 QTreeView::setSelection
+720 QTreeView::visualRegionForSelection
+728 QTreeView::selectedIndexes
+736 QAbstractItemView::edit
+744 QAbstractItemView::selectionCommand
+752 QAbstractItemView::startDrag
+760 QAbstractItemView::viewOptions
+768 QTreeView::drawRow
+776 QTreeView::drawBranches
+784 (int (*)(...))-0x00000000000000010
+792 (int (*)(...))(& _ZTI9QTreeView)
+800 QTreeView::_ZThn16_N9QTreeViewD1Ev
+808 QTreeView::_ZThn16_N9QTreeViewD0Ev
+816 QWidget::_ZThn16_NK7QWidget7devTypeEv
+824 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+832 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QTreeView
+ size=40 align=8
+ base size=40 base align=8
+QTreeView (0x7f0a6cd7da80) 0
+ vptr=((& QTreeView::_ZTV9QTreeView) + 16u)
+ QAbstractItemView (0x7f0a6cd7daf0) 0
+ primary-for QTreeView (0x7f0a6cd7da80)
+ QAbstractScrollArea (0x7f0a6cd7db60) 0
+ primary-for QAbstractItemView (0x7f0a6cd7daf0)
+ QFrame (0x7f0a6cd7dbd0) 0
+ primary-for QAbstractScrollArea (0x7f0a6cd7db60)
+ QWidget (0x7f0a6cd42e00) 0
+ primary-for QFrame (0x7f0a6cd7dbd0)
+ QObject (0x7f0a6cd7dc40) 0
+ primary-for QWidget (0x7f0a6cd42e00)
+ QPaintDevice (0x7f0a6cd7dcb0) 16
+ vptr=((& QTreeView::_ZTV9QTreeView) + 800u)
+
+Class QHelpContentItem
+ size=8 align=8
+ base size=8 base align=8
+QHelpContentItem (0x7f0a6cdc6850) 0
+
+Vtable for QHelpContentModel
+QHelpContentModel::_ZTV17QHelpContentModel: 42u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QHelpContentModel)
+16 QHelpContentModel::metaObject
+24 QHelpContentModel::qt_metacast
+32 QHelpContentModel::qt_metacall
+40 QHelpContentModel::~QHelpContentModel
+48 QHelpContentModel::~QHelpContentModel
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QHelpContentModel::index
+120 QHelpContentModel::parent
+128 QHelpContentModel::rowCount
+136 QHelpContentModel::columnCount
+144 QAbstractItemModel::hasChildren
+152 QHelpContentModel::data
+160 QAbstractItemModel::setData
+168 QAbstractItemModel::headerData
+176 QAbstractItemModel::setHeaderData
+184 QAbstractItemModel::itemData
+192 QAbstractItemModel::setItemData
+200 QAbstractItemModel::mimeTypes
+208 QAbstractItemModel::mimeData
+216 QAbstractItemModel::dropMimeData
+224 QAbstractItemModel::supportedDropActions
+232 QAbstractItemModel::insertRows
+240 QAbstractItemModel::insertColumns
+248 QAbstractItemModel::removeRows
+256 QAbstractItemModel::removeColumns
+264 QAbstractItemModel::fetchMore
+272 QAbstractItemModel::canFetchMore
+280 QAbstractItemModel::flags
+288 QAbstractItemModel::sort
+296 QAbstractItemModel::buddy
+304 QAbstractItemModel::match
+312 QAbstractItemModel::span
+320 QAbstractItemModel::submit
+328 QAbstractItemModel::revert
+
+Class QHelpContentModel
+ size=24 align=8
+ base size=24 base align=8
+QHelpContentModel (0x7f0a6cdc6d90) 0
+ vptr=((& QHelpContentModel::_ZTV17QHelpContentModel) + 16u)
+ QAbstractItemModel (0x7f0a6cdc6e00) 0
+ primary-for QHelpContentModel (0x7f0a6cdc6d90)
+ QObject (0x7f0a6cdc6e70) 0
+ primary-for QAbstractItemModel (0x7f0a6cdc6e00)
+
+Vtable for QHelpContentWidget
+QHelpContentWidget::_ZTV18QHelpContentWidget: 105u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QHelpContentWidget)
+16 QHelpContentWidget::metaObject
+24 QHelpContentWidget::qt_metacast
+32 QHelpContentWidget::qt_metacall
+40 QHelpContentWidget::~QHelpContentWidget
+48 QHelpContentWidget::~QHelpContentWidget
+56 QAbstractItemView::event
+64 QObject::eventFilter
+72 QTreeView::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QAbstractScrollArea::sizeHint
+136 QAbstractScrollArea::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QTreeView::mousePressEvent
+168 QTreeView::mouseReleaseEvent
+176 QTreeView::mouseDoubleClickEvent
+184 QTreeView::mouseMoveEvent
+192 QAbstractScrollArea::wheelEvent
+200 QTreeView::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QAbstractItemView::focusInEvent
+224 QAbstractItemView::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QTreeView::paintEvent
+256 QWidget::moveEvent
+264 QAbstractItemView::resizeEvent
+272 QWidget::closeEvent
+280 QAbstractScrollArea::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QAbstractItemView::dragEnterEvent
+312 QTreeView::dragMoveEvent
+320 QAbstractItemView::dragLeaveEvent
+328 QAbstractItemView::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QFrame::changeEvent
+368 QWidget::metric
+376 QAbstractItemView::inputMethodEvent
+384 QAbstractItemView::inputMethodQuery
+392 QAbstractItemView::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QTreeView::viewportEvent
+456 QTreeView::scrollContentsBy
+464 QTreeView::setModel
+472 QTreeView::setSelectionModel
+480 QTreeView::keyboardSearch
+488 QTreeView::visualRect
+496 QTreeView::scrollTo
+504 QTreeView::indexAt
+512 QAbstractItemView::sizeHintForRow
+520 QTreeView::sizeHintForColumn
+528 QTreeView::reset
+536 QTreeView::setRootIndex
+544 QTreeView::doItemsLayout
+552 QTreeView::selectAll
+560 QTreeView::dataChanged
+568 QTreeView::rowsInserted
+576 QTreeView::rowsAboutToBeRemoved
+584 QTreeView::selectionChanged
+592 QTreeView::currentChanged
+600 QAbstractItemView::updateEditorData
+608 QAbstractItemView::updateEditorGeometries
+616 QTreeView::updateGeometries
+624 QAbstractItemView::verticalScrollbarAction
+632 QTreeView::horizontalScrollbarAction
+640 QAbstractItemView::verticalScrollbarValueChanged
+648 QAbstractItemView::horizontalScrollbarValueChanged
+656 QAbstractItemView::closeEditor
+664 QAbstractItemView::commitData
+672 QAbstractItemView::editorDestroyed
+680 QTreeView::moveCursor
+688 QTreeView::horizontalOffset
+696 QTreeView::verticalOffset
+704 QTreeView::isIndexHidden
+712 QTreeView::setSelection
+720 QTreeView::visualRegionForSelection
+728 QTreeView::selectedIndexes
+736 QAbstractItemView::edit
+744 QAbstractItemView::selectionCommand
+752 QAbstractItemView::startDrag
+760 QAbstractItemView::viewOptions
+768 QTreeView::drawRow
+776 QTreeView::drawBranches
+784 (int (*)(...))-0x00000000000000010
+792 (int (*)(...))(& _ZTI18QHelpContentWidget)
+800 QHelpContentWidget::_ZThn16_N18QHelpContentWidgetD1Ev
+808 QHelpContentWidget::_ZThn16_N18QHelpContentWidgetD0Ev
+816 QWidget::_ZThn16_NK7QWidget7devTypeEv
+824 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+832 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QHelpContentWidget
+ size=64 align=8
+ base size=64 base align=8
+QHelpContentWidget (0x7f0a6cddae00) 0
+ vptr=((& QHelpContentWidget::_ZTV18QHelpContentWidget) + 16u)
+ QTreeView (0x7f0a6cddae70) 0
+ primary-for QHelpContentWidget (0x7f0a6cddae00)
+ QAbstractItemView (0x7f0a6cddaee0) 0
+ primary-for QTreeView (0x7f0a6cddae70)
+ QAbstractScrollArea (0x7f0a6cddaf50) 0
+ primary-for QAbstractItemView (0x7f0a6cddaee0)
+ QFrame (0x7f0a6cdda070) 0
+ primary-for QAbstractScrollArea (0x7f0a6cddaf50)
+ QWidget (0x7f0a6cdbfe00) 0
+ primary-for QFrame (0x7f0a6cdda070)
+ QObject (0x7f0a6cde6000) 0
+ primary-for QWidget (0x7f0a6cdbfe00)
+ QPaintDevice (0x7f0a6cde6070) 16
+ vptr=((& QHelpContentWidget::_ZTV18QHelpContentWidget) + 800u)
+
+Class QHelpSearchQuery
+ size=16 align=8
+ base size=16 base align=8
+QHelpSearchQuery (0x7f0a6cde6e00) 0
+
+Vtable for QHelpSearchEngine
+QHelpSearchEngine::_ZTV17QHelpSearchEngine: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QHelpSearchEngine)
+16 QHelpSearchEngine::metaObject
+24 QHelpSearchEngine::qt_metacast
+32 QHelpSearchEngine::qt_metacall
+40 QHelpSearchEngine::~QHelpSearchEngine
+48 QHelpSearchEngine::~QHelpSearchEngine
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QHelpSearchEngine
+ size=24 align=8
+ base size=24 base align=8
+QHelpSearchEngine (0x7f0a6cc05380) 0
+ vptr=((& QHelpSearchEngine::_ZTV17QHelpSearchEngine) + 16u)
+ QObject (0x7f0a6cc053f0) 0
+ primary-for QHelpSearchEngine (0x7f0a6cc05380)
+
+Vtable for QHelpSearchResultWidget
+QHelpSearchResultWidget::_ZTV23QHelpSearchResultWidget: 63u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI23QHelpSearchResultWidget)
+16 QHelpSearchResultWidget::metaObject
+24 QHelpSearchResultWidget::qt_metacast
+32 QHelpSearchResultWidget::qt_metacall
+40 QHelpSearchResultWidget::~QHelpSearchResultWidget
+48 QHelpSearchResultWidget::~QHelpSearchResultWidget
+56 QWidget::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QWidget::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QWidget::paintEvent
+256 QWidget::moveEvent
+264 QWidget::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QWidget::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 (int (*)(...))-0x00000000000000010
+456 (int (*)(...))(& _ZTI23QHelpSearchResultWidget)
+464 QHelpSearchResultWidget::_ZThn16_N23QHelpSearchResultWidgetD1Ev
+472 QHelpSearchResultWidget::_ZThn16_N23QHelpSearchResultWidgetD0Ev
+480 QWidget::_ZThn16_NK7QWidget7devTypeEv
+488 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+496 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QHelpSearchResultWidget
+ size=48 align=8
+ base size=48 base align=8
+QHelpSearchResultWidget (0x7f0a6cc13700) 0
+ vptr=((& QHelpSearchResultWidget::_ZTV23QHelpSearchResultWidget) + 16u)
+ QWidget (0x7f0a6cc01c80) 0
+ primary-for QHelpSearchResultWidget (0x7f0a6cc13700)
+ QObject (0x7f0a6cc13770) 0
+ primary-for QWidget (0x7f0a6cc01c80)
+ QPaintDevice (0x7f0a6cc137e0) 16
+ vptr=((& QHelpSearchResultWidget::_ZTV23QHelpSearchResultWidget) + 464u)
+
+Vtable for QHelpEngineCore
+QHelpEngineCore::_ZTV15QHelpEngineCore: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QHelpEngineCore)
+16 QHelpEngineCore::metaObject
+24 QHelpEngineCore::qt_metacast
+32 QHelpEngineCore::qt_metacall
+40 QHelpEngineCore::~QHelpEngineCore
+48 QHelpEngineCore::~QHelpEngineCore
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QHelpEngineCore
+ size=24 align=8
+ base size=24 base align=8
+QHelpEngineCore (0x7f0a6cc2b5b0) 0
+ vptr=((& QHelpEngineCore::_ZTV15QHelpEngineCore) + 16u)
+ QObject (0x7f0a6cc2b620) 0
+ primary-for QHelpEngineCore (0x7f0a6cc2b5b0)
+
+Vtable for QHelpEngine
+QHelpEngine::_ZTV11QHelpEngine: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QHelpEngine)
+16 QHelpEngine::metaObject
+24 QHelpEngine::qt_metacast
+32 QHelpEngine::qt_metacall
+40 QHelpEngine::~QHelpEngine
+48 QHelpEngine::~QHelpEngine
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QHelpEngine
+ size=32 align=8
+ base size=32 base align=8
+QHelpEngine (0x7f0a6cc48620) 0
+ vptr=((& QHelpEngine::_ZTV11QHelpEngine) + 16u)
+ QHelpEngineCore (0x7f0a6cc48690) 0
+ primary-for QHelpEngine (0x7f0a6cc48620)
+ QObject (0x7f0a6cc48700) 0
+ primary-for QHelpEngineCore (0x7f0a6cc48690)
+
+Vtable for QHelpSearchQueryWidget
+QHelpSearchQueryWidget::_ZTV22QHelpSearchQueryWidget: 63u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI22QHelpSearchQueryWidget)
+16 QHelpSearchQueryWidget::metaObject
+24 QHelpSearchQueryWidget::qt_metacast
+32 QHelpSearchQueryWidget::qt_metacall
+40 QHelpSearchQueryWidget::~QHelpSearchQueryWidget
+48 QHelpSearchQueryWidget::~QHelpSearchQueryWidget
+56 QWidget::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QWidget::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QHelpSearchQueryWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QWidget::paintEvent
+256 QWidget::moveEvent
+264 QWidget::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QWidget::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 (int (*)(...))-0x00000000000000010
+456 (int (*)(...))(& _ZTI22QHelpSearchQueryWidget)
+464 QHelpSearchQueryWidget::_ZThn16_N22QHelpSearchQueryWidgetD1Ev
+472 QHelpSearchQueryWidget::_ZThn16_N22QHelpSearchQueryWidgetD0Ev
+480 QWidget::_ZThn16_NK7QWidget7devTypeEv
+488 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+496 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QHelpSearchQueryWidget
+ size=48 align=8
+ base size=48 base align=8
+QHelpSearchQueryWidget (0x7f0a6cc58540) 0
+ vptr=((& QHelpSearchQueryWidget::_ZTV22QHelpSearchQueryWidget) + 16u)
+ QWidget (0x7f0a6cc5a080) 0
+ primary-for QHelpSearchQueryWidget (0x7f0a6cc58540)
+ QObject (0x7f0a6cc585b0) 0
+ primary-for QWidget (0x7f0a6cc5a080)
+ QPaintDevice (0x7f0a6cc58620) 16
+ vptr=((& QHelpSearchQueryWidget::_ZTV22QHelpSearchQueryWidget) + 464u)
+
+Vtable for QStringListModel
+QStringListModel::_ZTV16QStringListModel: 42u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QStringListModel)
+16 QStringListModel::metaObject
+24 QStringListModel::qt_metacast
+32 QStringListModel::qt_metacall
+40 QStringListModel::~QStringListModel
+48 QStringListModel::~QStringListModel
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QAbstractListModel::index
+120 QAbstractListModel::parent
+128 QStringListModel::rowCount
+136 QAbstractListModel::columnCount
+144 QAbstractListModel::hasChildren
+152 QStringListModel::data
+160 QStringListModel::setData
+168 QAbstractItemModel::headerData
+176 QAbstractItemModel::setHeaderData
+184 QAbstractItemModel::itemData
+192 QAbstractItemModel::setItemData
+200 QAbstractItemModel::mimeTypes
+208 QAbstractItemModel::mimeData
+216 QAbstractListModel::dropMimeData
+224 QStringListModel::supportedDropActions
+232 QStringListModel::insertRows
+240 QAbstractItemModel::insertColumns
+248 QStringListModel::removeRows
+256 QAbstractItemModel::removeColumns
+264 QAbstractItemModel::fetchMore
+272 QAbstractItemModel::canFetchMore
+280 QStringListModel::flags
+288 QStringListModel::sort
+296 QAbstractItemModel::buddy
+304 QAbstractItemModel::match
+312 QAbstractItemModel::span
+320 QAbstractItemModel::submit
+328 QAbstractItemModel::revert
+
+Class QStringListModel
+ size=24 align=8
+ base size=24 base align=8
+QStringListModel (0x7f0a6cc6d4d0) 0
+ vptr=((& QStringListModel::_ZTV16QStringListModel) + 16u)
+ QAbstractListModel (0x7f0a6cc6d540) 0
+ primary-for QStringListModel (0x7f0a6cc6d4d0)
+ QAbstractItemModel (0x7f0a6cc6d5b0) 0
+ primary-for QAbstractListModel (0x7f0a6cc6d540)
+ QObject (0x7f0a6cc6d620) 0
+ primary-for QAbstractItemModel (0x7f0a6cc6d5b0)
+
+Vtable for QListView
+QListView::_ZTV9QListView: 103u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QListView)
+16 QListView::metaObject
+24 QListView::qt_metacast
+32 QListView::qt_metacall
+40 QListView::~QListView
+48 QListView::~QListView
+56 QListView::event
+64 QObject::eventFilter
+72 QListView::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QAbstractScrollArea::sizeHint
+136 QAbstractScrollArea::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QAbstractItemView::mousePressEvent
+168 QListView::mouseReleaseEvent
+176 QAbstractItemView::mouseDoubleClickEvent
+184 QListView::mouseMoveEvent
+192 QAbstractScrollArea::wheelEvent
+200 QAbstractItemView::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QAbstractItemView::focusInEvent
+224 QAbstractItemView::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QListView::paintEvent
+256 QWidget::moveEvent
+264 QListView::resizeEvent
+272 QWidget::closeEvent
+280 QAbstractScrollArea::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QAbstractItemView::dragEnterEvent
+312 QListView::dragMoveEvent
+320 QListView::dragLeaveEvent
+328 QListView::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QFrame::changeEvent
+368 QWidget::metric
+376 QAbstractItemView::inputMethodEvent
+384 QAbstractItemView::inputMethodQuery
+392 QAbstractItemView::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QAbstractItemView::viewportEvent
+456 QListView::scrollContentsBy
+464 QAbstractItemView::setModel
+472 QAbstractItemView::setSelectionModel
+480 QAbstractItemView::keyboardSearch
+488 QListView::visualRect
+496 QListView::scrollTo
+504 QListView::indexAt
+512 QAbstractItemView::sizeHintForRow
+520 QAbstractItemView::sizeHintForColumn
+528 QListView::reset
+536 QListView::setRootIndex
+544 QListView::doItemsLayout
+552 QAbstractItemView::selectAll
+560 QListView::dataChanged
+568 QListView::rowsInserted
+576 QListView::rowsAboutToBeRemoved
+584 QListView::selectionChanged
+592 QListView::currentChanged
+600 QAbstractItemView::updateEditorData
+608 QAbstractItemView::updateEditorGeometries
+616 QListView::updateGeometries
+624 QAbstractItemView::verticalScrollbarAction
+632 QAbstractItemView::horizontalScrollbarAction
+640 QAbstractItemView::verticalScrollbarValueChanged
+648 QAbstractItemView::horizontalScrollbarValueChanged
+656 QAbstractItemView::closeEditor
+664 QAbstractItemView::commitData
+672 QAbstractItemView::editorDestroyed
+680 QListView::moveCursor
+688 QListView::horizontalOffset
+696 QListView::verticalOffset
+704 QListView::isIndexHidden
+712 QListView::setSelection
+720 QListView::visualRegionForSelection
+728 QListView::selectedIndexes
+736 QAbstractItemView::edit
+744 QAbstractItemView::selectionCommand
+752 QListView::startDrag
+760 QListView::viewOptions
+768 (int (*)(...))-0x00000000000000010
+776 (int (*)(...))(& _ZTI9QListView)
+784 QListView::_ZThn16_N9QListViewD1Ev
+792 QListView::_ZThn16_N9QListViewD0Ev
+800 QWidget::_ZThn16_NK7QWidget7devTypeEv
+808 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+816 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QListView
+ size=40 align=8
+ base size=40 base align=8
+QListView (0x7f0a6cc83af0) 0
+ vptr=((& QListView::_ZTV9QListView) + 16u)
+ QAbstractItemView (0x7f0a6cc83b60) 0
+ primary-for QListView (0x7f0a6cc83af0)
+ QAbstractScrollArea (0x7f0a6cc83bd0) 0
+ primary-for QAbstractItemView (0x7f0a6cc83b60)
+ QFrame (0x7f0a6cc83c40) 0
+ primary-for QAbstractScrollArea (0x7f0a6cc83bd0)
+ QWidget (0x7f0a6cc5ae00) 0
+ primary-for QFrame (0x7f0a6cc83c40)
+ QObject (0x7f0a6cc83cb0) 0
+ primary-for QWidget (0x7f0a6cc5ae00)
+ QPaintDevice (0x7f0a6cc83d20) 16
+ vptr=((& QListView::_ZTV9QListView) + 784u)
+
+Vtable for QHelpIndexModel
+QHelpIndexModel::_ZTV15QHelpIndexModel: 42u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QHelpIndexModel)
+16 QHelpIndexModel::metaObject
+24 QHelpIndexModel::qt_metacast
+32 QHelpIndexModel::qt_metacall
+40 QHelpIndexModel::~QHelpIndexModel
+48 QHelpIndexModel::~QHelpIndexModel
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QAbstractListModel::index
+120 QAbstractListModel::parent
+128 QStringListModel::rowCount
+136 QAbstractListModel::columnCount
+144 QAbstractListModel::hasChildren
+152 QStringListModel::data
+160 QStringListModel::setData
+168 QAbstractItemModel::headerData
+176 QAbstractItemModel::setHeaderData
+184 QAbstractItemModel::itemData
+192 QAbstractItemModel::setItemData
+200 QAbstractItemModel::mimeTypes
+208 QAbstractItemModel::mimeData
+216 QAbstractListModel::dropMimeData
+224 QStringListModel::supportedDropActions
+232 QStringListModel::insertRows
+240 QAbstractItemModel::insertColumns
+248 QStringListModel::removeRows
+256 QAbstractItemModel::removeColumns
+264 QAbstractItemModel::fetchMore
+272 QAbstractItemModel::canFetchMore
+280 QStringListModel::flags
+288 QStringListModel::sort
+296 QAbstractItemModel::buddy
+304 QAbstractItemModel::match
+312 QAbstractItemModel::span
+320 QAbstractItemModel::submit
+328 QAbstractItemModel::revert
+
+Class QHelpIndexModel
+ size=32 align=8
+ base size=32 base align=8
+QHelpIndexModel (0x7f0a6ccc11c0) 0
+ vptr=((& QHelpIndexModel::_ZTV15QHelpIndexModel) + 16u)
+ QStringListModel (0x7f0a6ccc1230) 0
+ primary-for QHelpIndexModel (0x7f0a6ccc11c0)
+ QAbstractListModel (0x7f0a6ccc12a0) 0
+ primary-for QStringListModel (0x7f0a6ccc1230)
+ QAbstractItemModel (0x7f0a6ccc1310) 0
+ primary-for QAbstractListModel (0x7f0a6ccc12a0)
+ QObject (0x7f0a6ccc1380) 0
+ primary-for QAbstractItemModel (0x7f0a6ccc1310)
+
+Vtable for QHelpIndexWidget
+QHelpIndexWidget::_ZTV16QHelpIndexWidget: 103u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QHelpIndexWidget)
+16 QHelpIndexWidget::metaObject
+24 QHelpIndexWidget::qt_metacast
+32 QHelpIndexWidget::qt_metacall
+40 QHelpIndexWidget::~QHelpIndexWidget
+48 QHelpIndexWidget::~QHelpIndexWidget
+56 QListView::event
+64 QObject::eventFilter
+72 QListView::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QAbstractScrollArea::sizeHint
+136 QAbstractScrollArea::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QAbstractItemView::mousePressEvent
+168 QListView::mouseReleaseEvent
+176 QAbstractItemView::mouseDoubleClickEvent
+184 QListView::mouseMoveEvent
+192 QAbstractScrollArea::wheelEvent
+200 QAbstractItemView::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QAbstractItemView::focusInEvent
+224 QAbstractItemView::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QListView::paintEvent
+256 QWidget::moveEvent
+264 QListView::resizeEvent
+272 QWidget::closeEvent
+280 QAbstractScrollArea::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QAbstractItemView::dragEnterEvent
+312 QListView::dragMoveEvent
+320 QListView::dragLeaveEvent
+328 QListView::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QFrame::changeEvent
+368 QWidget::metric
+376 QAbstractItemView::inputMethodEvent
+384 QAbstractItemView::inputMethodQuery
+392 QAbstractItemView::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QAbstractItemView::viewportEvent
+456 QListView::scrollContentsBy
+464 QAbstractItemView::setModel
+472 QAbstractItemView::setSelectionModel
+480 QAbstractItemView::keyboardSearch
+488 QListView::visualRect
+496 QListView::scrollTo
+504 QListView::indexAt
+512 QAbstractItemView::sizeHintForRow
+520 QAbstractItemView::sizeHintForColumn
+528 QListView::reset
+536 QListView::setRootIndex
+544 QListView::doItemsLayout
+552 QAbstractItemView::selectAll
+560 QListView::dataChanged
+568 QListView::rowsInserted
+576 QListView::rowsAboutToBeRemoved
+584 QListView::selectionChanged
+592 QListView::currentChanged
+600 QAbstractItemView::updateEditorData
+608 QAbstractItemView::updateEditorGeometries
+616 QListView::updateGeometries
+624 QAbstractItemView::verticalScrollbarAction
+632 QAbstractItemView::horizontalScrollbarAction
+640 QAbstractItemView::verticalScrollbarValueChanged
+648 QAbstractItemView::horizontalScrollbarValueChanged
+656 QAbstractItemView::closeEditor
+664 QAbstractItemView::commitData
+672 QAbstractItemView::editorDestroyed
+680 QListView::moveCursor
+688 QListView::horizontalOffset
+696 QListView::verticalOffset
+704 QListView::isIndexHidden
+712 QListView::setSelection
+720 QListView::visualRegionForSelection
+728 QListView::selectedIndexes
+736 QAbstractItemView::edit
+744 QAbstractItemView::selectionCommand
+752 QListView::startDrag
+760 QListView::viewOptions
+768 (int (*)(...))-0x00000000000000010
+776 (int (*)(...))(& _ZTI16QHelpIndexWidget)
+784 QHelpIndexWidget::_ZThn16_N16QHelpIndexWidgetD1Ev
+792 QHelpIndexWidget::_ZThn16_N16QHelpIndexWidgetD0Ev
+800 QWidget::_ZThn16_NK7QWidget7devTypeEv
+808 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+816 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QHelpIndexWidget
+ size=40 align=8
+ base size=40 base align=8
+QHelpIndexWidget (0x7f0a6ccd51c0) 0
+ vptr=((& QHelpIndexWidget::_ZTV16QHelpIndexWidget) + 16u)
+ QListView (0x7f0a6ccd5230) 0
+ primary-for QHelpIndexWidget (0x7f0a6ccd51c0)
+ QAbstractItemView (0x7f0a6ccd52a0) 0
+ primary-for QListView (0x7f0a6ccd5230)
+ QAbstractScrollArea (0x7f0a6ccd5310) 0
+ primary-for QAbstractItemView (0x7f0a6ccd52a0)
+ QFrame (0x7f0a6ccd5380) 0
+ primary-for QAbstractScrollArea (0x7f0a6ccd5310)
+ QWidget (0x7f0a6ccd0380) 0
+ primary-for QFrame (0x7f0a6ccd5380)
+ QObject (0x7f0a6ccd53f0) 0
+ primary-for QWidget (0x7f0a6ccd0380)
+ QPaintDevice (0x7f0a6ccd5460) 16
+ vptr=((& QHelpIndexWidget::_ZTV16QHelpIndexWidget) + 784u)
+
diff --git a/tests/auto/bic/data/QtHelp.4.6.0.linux-gcc-amd64.txt b/tests/auto/bic/data/QtHelp.4.6.0.linux-gcc-amd64.txt
new file mode 100644
index 0000000000..26d6d9c6ab
--- /dev/null
+++ b/tests/auto/bic/data/QtHelp.4.6.0.linux-gcc-amd64.txt
@@ -0,0 +1,5492 @@
+Class QSysInfo
+ size=1 align=1
+ base size=0 base align=1
+QSysInfo (0x7f4f37146230) 0 empty
+
+Class QBool
+ size=1 align=1
+ base size=1 base align=1
+QBool (0x7f4f37146e70) 0
+
+Class qIsNull(double)::U
+ size=8 align=8
+ base size=8 base align=8
+qIsNull(double)::U (0x7f4f37175540) 0
+
+Class qIsNull(float)::U
+ size=4 align=4
+ base size=4 base align=4
+qIsNull(float)::U (0x7f4f371757e0) 0
+
+Class QFlag
+ size=4 align=4
+ base size=4 base align=4
+QFlag (0x7f4f371ad690) 0
+
+Class QIncompatibleFlag
+ size=4 align=4
+ base size=4 base align=4
+QIncompatibleFlag (0x7f4f371ade70) 0
+
+Class QLatin1Char
+ size=1 align=1
+ base size=1 base align=1
+QLatin1Char (0x7f4f371dc5b0) 0
+
+Class QChar
+ size=2 align=2
+ base size=2 base align=2
+QChar (0x7f4f367e0150) 0
+
+Class QBasicAtomicInt
+ size=4 align=4
+ base size=4 base align=4
+QBasicAtomicInt (0x7f4f3684a310) 0
+
+Class QAtomicInt
+ size=4 align=4
+ base size=4 base align=4
+QAtomicInt (0x7f4f36888cb0) 0
+ QBasicAtomicInt (0x7f4f36888d20) 0
+
+Class QInternal
+ size=1 align=1
+ base size=0 base align=1
+QInternal (0x7f4f364d74d0) 0 empty
+
+Class __locale_struct
+ size=232 align=8
+ base size=232 base align=8
+__locale_struct (0x7f4f364d7700) 0
+
+Class QByteArray::Data
+ size=32 align=8
+ base size=32 base align=8
+QByteArray::Data (0x7f4f36513af0) 0
+
+Class QByteArray
+ size=8 align=8
+ base size=8 base align=8
+QByteArray (0x7f4f36513a80) 0
+
+Class QByteRef
+ size=16 align=8
+ base size=12 base align=8
+QByteRef (0x7f4f365b7380) 0
+
+Class QString::Null
+ size=1 align=1
+ base size=0 base align=1
+QString::Null (0x7f4f364b7d20) 0 empty
+
+Class QString::Data
+ size=32 align=8
+ base size=32 base align=8
+QString::Data (0x7f4f364cf5b0) 0
+
+Class QString
+ size=8 align=8
+ base size=8 base align=8
+QString (0x7f4f36430bd0) 0
+
+Class QLatin1String
+ size=8 align=8
+ base size=8 base align=8
+QLatin1String (0x7f4f363a79a0) 0
+
+Class QCharRef
+ size=16 align=8
+ base size=12 base align=8
+QCharRef (0x7f4f36245000) 0
+
+Class QConstString
+ size=8 align=8
+ base size=8 base align=8
+QConstString (0x7f4f361908c0) 0
+ QString (0x7f4f36190930) 0
+
+Class QStringRef
+ size=16 align=8
+ base size=16 base align=8
+QStringRef (0x7f4f361b6310) 0
+
+Class QGenericArgument
+ size=16 align=8
+ base size=16 base align=8
+QGenericArgument (0x7f4f3602e700) 0
+
+Class QGenericReturnArgument
+ size=16 align=8
+ base size=16 base align=8
+QGenericReturnArgument (0x7f4f360382a0) 0
+ QGenericArgument (0x7f4f36038310) 0
+
+Class QMetaObject
+ size=32 align=8
+ base size=32 base align=8
+QMetaObject (0x7f4f36038b60) 0
+
+Class QMetaObjectExtraData
+ size=16 align=8
+ base size=16 base align=8
+QMetaObjectExtraData (0x7f4f36061bd0) 0
+
+Vtable for std::exception
+std::exception::_ZTVSt9exception: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt9exception)
+16 std::exception::~exception
+24 std::exception::~exception
+32 std::exception::what
+
+Class std::exception
+ size=8 align=8
+ base size=8 base align=8
+std::exception (0x7f4f360b61c0) 0 nearly-empty
+ vptr=((& std::exception::_ZTVSt9exception) + 16u)
+
+Vtable for std::bad_exception
+std::bad_exception::_ZTVSt13bad_exception: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt13bad_exception)
+16 std::bad_exception::~bad_exception
+24 std::bad_exception::~bad_exception
+32 std::bad_exception::what
+
+Class std::bad_exception
+ size=8 align=8
+ base size=8 base align=8
+std::bad_exception (0x7f4f360b6770) 0 nearly-empty
+ vptr=((& std::bad_exception::_ZTVSt13bad_exception) + 16u)
+ std::exception (0x7f4f360b67e0) 0 nearly-empty
+ primary-for std::bad_exception (0x7f4f360b6770)
+
+Vtable for std::bad_alloc
+std::bad_alloc::_ZTVSt9bad_alloc: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt9bad_alloc)
+16 std::bad_alloc::~bad_alloc
+24 std::bad_alloc::~bad_alloc
+32 std::bad_alloc::what
+
+Class std::bad_alloc
+ size=8 align=8
+ base size=8 base align=8
+std::bad_alloc (0x7f4f360b6930) 0 nearly-empty
+ vptr=((& std::bad_alloc::_ZTVSt9bad_alloc) + 16u)
+ std::exception (0x7f4f360cc000) 0 nearly-empty
+ primary-for std::bad_alloc (0x7f4f360b6930)
+
+Class std::nothrow_t
+ size=1 align=1
+ base size=0 base align=1
+std::nothrow_t (0x7f4f360cc850) 0 empty
+
+Class QListData::Data
+ size=32 align=8
+ base size=32 base align=8
+QListData::Data (0x7f4f360ccd90) 0
+
+Class QListData
+ size=8 align=8
+ base size=8 base align=8
+QListData (0x7f4f360ccd20) 0
+
+Class QScopedPointerPodDeleter
+ size=1 align=1
+ base size=0 base align=1
+QScopedPointerPodDeleter (0x7f4f35df4850) 0 empty
+
+Vtable for QObjectData
+QObjectData::_ZTV11QObjectData: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QObjectData)
+16 __cxa_pure_virtual
+24 __cxa_pure_virtual
+
+Class QObjectData
+ size=48 align=8
+ base size=48 base align=8
+QObjectData (0x7f4f35e162a0) 0
+ vptr=((& QObjectData::_ZTV11QObjectData) + 16u)
+
+Vtable for QObject
+QObject::_ZTV7QObject: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QObject)
+16 QObject::metaObject
+24 QObject::qt_metacast
+32 QObject::qt_metacall
+40 QObject::~QObject
+48 QObject::~QObject
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QObject
+ size=16 align=8
+ base size=16 base align=8
+QObject (0x7f4f35e165b0) 0
+ vptr=((& QObject::_ZTV7QObject) + 16u)
+
+Vtable for QObjectUserData
+QObjectUserData::_ZTV15QObjectUserData: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QObjectUserData)
+16 QObjectUserData::~QObjectUserData
+24 QObjectUserData::~QObjectUserData
+
+Class QObjectUserData
+ size=8 align=8
+ base size=8 base align=8
+QObjectUserData (0x7f4f35e9ab60) 0 nearly-empty
+ vptr=((& QObjectUserData::_ZTV15QObjectUserData) + 16u)
+
+Vtable for QIODevice
+QIODevice::_ZTV9QIODevice: 30u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QIODevice)
+16 QIODevice::metaObject
+24 QIODevice::qt_metacast
+32 QIODevice::qt_metacall
+40 QIODevice::~QIODevice
+48 QIODevice::~QIODevice
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QIODevice::isSequential
+120 QIODevice::open
+128 QIODevice::close
+136 QIODevice::pos
+144 QIODevice::size
+152 QIODevice::seek
+160 QIODevice::atEnd
+168 QIODevice::reset
+176 QIODevice::bytesAvailable
+184 QIODevice::bytesToWrite
+192 QIODevice::canReadLine
+200 QIODevice::waitForReadyRead
+208 QIODevice::waitForBytesWritten
+216 __cxa_pure_virtual
+224 QIODevice::readLineData
+232 __cxa_pure_virtual
+
+Class QIODevice
+ size=16 align=8
+ base size=16 base align=8
+QIODevice (0x7f4f35eac150) 0
+ vptr=((& QIODevice::_ZTV9QIODevice) + 16u)
+ QObject (0x7f4f35eac1c0) 0
+ primary-for QIODevice (0x7f4f35eac150)
+
+Class _IO_marker
+ size=24 align=8
+ base size=24 base align=8
+_IO_marker (0x7f4f35d0ccb0) 0
+
+Class _IO_FILE
+ size=216 align=8
+ base size=216 base align=8
+_IO_FILE (0x7f4f35d0cd20) 0
+
+Vtable for QFile
+QFile::_ZTV5QFile: 31u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI5QFile)
+16 QFile::metaObject
+24 QFile::qt_metacast
+32 QFile::qt_metacall
+40 QFile::~QFile
+48 QFile::~QFile
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QFile::isSequential
+120 QFile::open
+128 QFile::close
+136 QFile::pos
+144 QFile::size
+152 QFile::seek
+160 QFile::atEnd
+168 QIODevice::reset
+176 QIODevice::bytesAvailable
+184 QIODevice::bytesToWrite
+192 QIODevice::canReadLine
+200 QIODevice::waitForReadyRead
+208 QIODevice::waitForBytesWritten
+216 QFile::readData
+224 QFile::readLineData
+232 QFile::writeData
+240 QFile::fileEngine
+
+Class QFile
+ size=16 align=8
+ base size=16 base align=8
+QFile (0x7f4f35d0ce00) 0
+ vptr=((& QFile::_ZTV5QFile) + 16u)
+ QIODevice (0x7f4f35d0ce70) 0
+ primary-for QFile (0x7f4f35d0ce00)
+ QObject (0x7f4f35d0cee0) 0
+ primary-for QIODevice (0x7f4f35d0ce70)
+
+Class QFileInfo
+ size=8 align=8
+ base size=8 base align=8
+QFileInfo (0x7f4f35db0070) 0
+
+Vtable for QDataStream
+QDataStream::_ZTV11QDataStream: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QDataStream)
+16 QDataStream::~QDataStream
+24 QDataStream::~QDataStream
+
+Class QDataStream
+ size=40 align=8
+ base size=40 base align=8
+QDataStream (0x7f4f35c04a10) 0
+ vptr=((& QDataStream::_ZTV11QDataStream) + 16u)
+
+Class QRegExp
+ size=8 align=8
+ base size=8 base align=8
+QRegExp (0x7f4f35c6ce70) 0
+
+Class QStringMatcher::Data
+ size=272 align=8
+ base size=272 base align=8
+QStringMatcher::Data (0x7f4f35ad52a0) 0
+
+Class QStringMatcher
+ size=1048 align=8
+ base size=1048 base align=8
+QStringMatcher (0x7f4f35cc9c40) 0
+
+Class QStringList
+ size=8 align=8
+ base size=8 base align=8
+QStringList (0x7f4f35ad5850) 0
+ QList<QString> (0x7f4f35ad58c0) 0
+
+Class QDir
+ size=8 align=8
+ base size=8 base align=8
+QDir (0x7f4f35b734d0) 0
+
+Class QAbstractFileEngine::ExtensionOption
+ size=1 align=1
+ base size=0 base align=1
+QAbstractFileEngine::ExtensionOption (0x7f4f35a1a8c0) 0 empty
+
+Class QAbstractFileEngine::ExtensionReturn
+ size=1 align=1
+ base size=0 base align=1
+QAbstractFileEngine::ExtensionReturn (0x7f4f35a1a930) 0 empty
+
+Class QAbstractFileEngine::MapExtensionOption
+ size=24 align=8
+ base size=20 base align=8
+QAbstractFileEngine::MapExtensionOption (0x7f4f35a1a9a0) 0
+ QAbstractFileEngine::ExtensionOption (0x7f4f35a1aa10) 0 empty
+
+Class QAbstractFileEngine::MapExtensionReturn
+ size=8 align=8
+ base size=8 base align=8
+QAbstractFileEngine::MapExtensionReturn (0x7f4f35a1abd0) 0
+ QAbstractFileEngine::ExtensionReturn (0x7f4f35a1ac40) 0 empty
+
+Class QAbstractFileEngine::UnMapExtensionOption
+ size=8 align=8
+ base size=8 base align=8
+QAbstractFileEngine::UnMapExtensionOption (0x7f4f35a1acb0) 0
+ QAbstractFileEngine::ExtensionOption (0x7f4f35a1ad20) 0 empty
+
+Vtable for QAbstractFileEngine
+QAbstractFileEngine::_ZTV19QAbstractFileEngine: 36u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QAbstractFileEngine)
+16 QAbstractFileEngine::~QAbstractFileEngine
+24 QAbstractFileEngine::~QAbstractFileEngine
+32 QAbstractFileEngine::open
+40 QAbstractFileEngine::close
+48 QAbstractFileEngine::flush
+56 QAbstractFileEngine::size
+64 QAbstractFileEngine::pos
+72 QAbstractFileEngine::seek
+80 QAbstractFileEngine::isSequential
+88 QAbstractFileEngine::remove
+96 QAbstractFileEngine::copy
+104 QAbstractFileEngine::rename
+112 QAbstractFileEngine::link
+120 QAbstractFileEngine::mkdir
+128 QAbstractFileEngine::rmdir
+136 QAbstractFileEngine::setSize
+144 QAbstractFileEngine::caseSensitive
+152 QAbstractFileEngine::isRelativePath
+160 QAbstractFileEngine::entryList
+168 QAbstractFileEngine::fileFlags
+176 QAbstractFileEngine::setPermissions
+184 QAbstractFileEngine::fileName
+192 QAbstractFileEngine::ownerId
+200 QAbstractFileEngine::owner
+208 QAbstractFileEngine::fileTime
+216 QAbstractFileEngine::setFileName
+224 QAbstractFileEngine::handle
+232 QAbstractFileEngine::beginEntryList
+240 QAbstractFileEngine::endEntryList
+248 QAbstractFileEngine::read
+256 QAbstractFileEngine::readLine
+264 QAbstractFileEngine::write
+272 QAbstractFileEngine::extension
+280 QAbstractFileEngine::supportsExtension
+
+Class QAbstractFileEngine
+ size=16 align=8
+ base size=16 base align=8
+QAbstractFileEngine (0x7f4f35a00850) 0
+ vptr=((& QAbstractFileEngine::_ZTV19QAbstractFileEngine) + 16u)
+
+Vtable for QAbstractFileEngineHandler
+QAbstractFileEngineHandler::_ZTV26QAbstractFileEngineHandler: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI26QAbstractFileEngineHandler)
+16 QAbstractFileEngineHandler::~QAbstractFileEngineHandler
+24 QAbstractFileEngineHandler::~QAbstractFileEngineHandler
+32 __cxa_pure_virtual
+
+Class QAbstractFileEngineHandler
+ size=8 align=8
+ base size=8 base align=8
+QAbstractFileEngineHandler (0x7f4f35a52bd0) 0 nearly-empty
+ vptr=((& QAbstractFileEngineHandler::_ZTV26QAbstractFileEngineHandler) + 16u)
+
+Vtable for QAbstractFileEngineIterator
+QAbstractFileEngineIterator::_ZTV27QAbstractFileEngineIterator: 9u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI27QAbstractFileEngineIterator)
+16 QAbstractFileEngineIterator::~QAbstractFileEngineIterator
+24 QAbstractFileEngineIterator::~QAbstractFileEngineIterator
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+48 __cxa_pure_virtual
+56 QAbstractFileEngineIterator::currentFileInfo
+64 QAbstractFileEngineIterator::entryInfo
+
+Class QAbstractFileEngineIterator
+ size=16 align=8
+ base size=16 base align=8
+QAbstractFileEngineIterator (0x7f4f35a52d90) 0
+ vptr=((& QAbstractFileEngineIterator::_ZTV27QAbstractFileEngineIterator) + 16u)
+
+Vtable for QBuffer
+QBuffer::_ZTV7QBuffer: 30u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QBuffer)
+16 QBuffer::metaObject
+24 QBuffer::qt_metacast
+32 QBuffer::qt_metacall
+40 QBuffer::~QBuffer
+48 QBuffer::~QBuffer
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QBuffer::connectNotify
+104 QBuffer::disconnectNotify
+112 QIODevice::isSequential
+120 QBuffer::open
+128 QBuffer::close
+136 QBuffer::pos
+144 QBuffer::size
+152 QBuffer::seek
+160 QBuffer::atEnd
+168 QIODevice::reset
+176 QIODevice::bytesAvailable
+184 QIODevice::bytesToWrite
+192 QBuffer::canReadLine
+200 QIODevice::waitForReadyRead
+208 QIODevice::waitForBytesWritten
+216 QBuffer::readData
+224 QIODevice::readLineData
+232 QBuffer::writeData
+
+Class QBuffer
+ size=16 align=8
+ base size=16 base align=8
+QBuffer (0x7f4f35a65690) 0
+ vptr=((& QBuffer::_ZTV7QBuffer) + 16u)
+ QIODevice (0x7f4f35a65700) 0
+ primary-for QBuffer (0x7f4f35a65690)
+ QObject (0x7f4f35a65770) 0
+ primary-for QIODevice (0x7f4f35a65700)
+
+Class QHashData::Node
+ size=16 align=8
+ base size=16 base align=8
+QHashData::Node (0x7f4f35aa6e00) 0
+
+Class QHashData
+ size=40 align=8
+ base size=40 base align=8
+QHashData (0x7f4f35aa6d90) 0
+
+Class QHashDummyValue
+ size=1 align=1
+ base size=0 base align=1
+QHashDummyValue (0x7f4f35acb150) 0 empty
+
+Class QMapData::Node
+ size=16 align=8
+ base size=16 base align=8
+QMapData::Node (0x7f4f359c8a80) 0
+
+Class QMapData
+ size=128 align=8
+ base size=128 base align=8
+QMapData (0x7f4f359c8a10) 0
+
+Vtable for QSystemLocale
+QSystemLocale::_ZTV13QSystemLocale: 6u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QSystemLocale)
+16 QSystemLocale::~QSystemLocale
+24 QSystemLocale::~QSystemLocale
+32 QSystemLocale::query
+40 QSystemLocale::fallbackLocale
+
+Class QSystemLocale
+ size=8 align=8
+ base size=8 base align=8
+QSystemLocale (0x7f4f35706690) 0 nearly-empty
+ vptr=((& QSystemLocale::_ZTV13QSystemLocale) + 16u)
+
+Class QLocale::Data
+ size=4 align=2
+ base size=4 base align=2
+QLocale::Data (0x7f4f35753d90) 0
+
+Class QLocale
+ size=8 align=8
+ base size=8 base align=8
+QLocale (0x7f4f35706af0) 0
+
+Class QTextCodec::ConverterState
+ size=32 align=8
+ base size=32 base align=8
+QTextCodec::ConverterState (0x7f4f357abbd0) 0
+
+Vtable for QTextCodec
+QTextCodec::_ZTV10QTextCodec: 9u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QTextCodec)
+16 __cxa_pure_virtual
+24 QTextCodec::aliases
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+48 __cxa_pure_virtual
+56 QTextCodec::~QTextCodec
+64 QTextCodec::~QTextCodec
+
+Class QTextCodec
+ size=8 align=8
+ base size=8 base align=8
+QTextCodec (0x7f4f3579b460) 0 nearly-empty
+ vptr=((& QTextCodec::_ZTV10QTextCodec) + 16u)
+
+Class QTextEncoder
+ size=40 align=8
+ base size=40 base align=8
+QTextEncoder (0x7f4f35618150) 0
+
+Class QTextDecoder
+ size=40 align=8
+ base size=40 base align=8
+QTextDecoder (0x7f4f35618f50) 0
+
+Vtable for QTextStream
+QTextStream::_ZTV11QTextStream: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QTextStream)
+16 QTextStream::~QTextStream
+24 QTextStream::~QTextStream
+
+Class QTextStream
+ size=16 align=8
+ base size=16 base align=8
+QTextStream (0x7f4f35621d90) 0
+ vptr=((& QTextStream::_ZTV11QTextStream) + 16u)
+
+Class QTextStreamManipulator
+ size=40 align=8
+ base size=38 base align=8
+QTextStreamManipulator (0x7f4f35698a80) 0
+
+Vtable for QTextIStream
+QTextIStream::_ZTV12QTextIStream: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QTextIStream)
+16 QTextIStream::~QTextIStream
+24 QTextIStream::~QTextIStream
+
+Class QTextIStream
+ size=16 align=8
+ base size=16 base align=8
+QTextIStream (0x7f4f354ca070) 0
+ vptr=((& QTextIStream::_ZTV12QTextIStream) + 16u)
+ QTextStream (0x7f4f354ca0e0) 0
+ primary-for QTextIStream (0x7f4f354ca070)
+
+Vtable for QTextOStream
+QTextOStream::_ZTV12QTextOStream: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QTextOStream)
+16 QTextOStream::~QTextOStream
+24 QTextOStream::~QTextOStream
+
+Class QTextOStream
+ size=16 align=8
+ base size=16 base align=8
+QTextOStream (0x7f4f354d6ee0) 0
+ vptr=((& QTextOStream::_ZTV12QTextOStream) + 16u)
+ QTextStream (0x7f4f354d6f50) 0
+ primary-for QTextOStream (0x7f4f354d6ee0)
+
+Class wait
+ size=4 align=4
+ base size=4 base align=4
+wait (0x7f4f354ecd90) 0
+
+Class timespec
+ size=16 align=8
+ base size=16 base align=8
+timespec (0x7f4f354f90e0) 0
+
+Class timeval
+ size=16 align=8
+ base size=16 base align=8
+timeval (0x7f4f354f9150) 0
+
+Class __pthread_internal_list
+ size=16 align=8
+ base size=16 base align=8
+__pthread_internal_list (0x7f4f354f92a0) 0
+
+Class random_data
+ size=48 align=8
+ base size=48 base align=8
+random_data (0x7f4f354f9850) 0
+
+Class drand48_data
+ size=24 align=8
+ base size=24 base align=8
+drand48_data (0x7f4f354f98c0) 0
+
+Class QVectorData
+ size=16 align=4
+ base size=16 base align=4
+QVectorData (0x7f4f354f9930) 0
+
+Class QContiguousCacheData
+ size=24 align=4
+ base size=24 base align=4
+QContiguousCacheData (0x7f4f354b5620) 0
+
+Class QDebug::Stream
+ size=40 align=8
+ base size=34 base align=8
+QDebug::Stream (0x7f4f35317150) 0
+
+Class QDebug
+ size=8 align=8
+ base size=8 base align=8
+QDebug (0x7f4f353170e0) 0
+
+Class QNoDebug
+ size=1 align=1
+ base size=0 base align=1
+QNoDebug (0x7f4f351c60e0) 0 empty
+
+Vtable for QDirIterator
+QDirIterator::_ZTV12QDirIterator: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QDirIterator)
+16 QDirIterator::~QDirIterator
+24 QDirIterator::~QDirIterator
+
+Class QDirIterator
+ size=16 align=8
+ base size=16 base align=8
+QDirIterator (0x7f4f351d7700) 0
+ vptr=((& QDirIterator::_ZTV12QDirIterator) + 16u)
+
+Vtable for QFileSystemWatcher
+QFileSystemWatcher::_ZTV18QFileSystemWatcher: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QFileSystemWatcher)
+16 QFileSystemWatcher::metaObject
+24 QFileSystemWatcher::qt_metacast
+32 QFileSystemWatcher::qt_metacall
+40 QFileSystemWatcher::~QFileSystemWatcher
+48 QFileSystemWatcher::~QFileSystemWatcher
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QFileSystemWatcher
+ size=16 align=8
+ base size=16 base align=8
+QFileSystemWatcher (0x7f4f35231540) 0
+ vptr=((& QFileSystemWatcher::_ZTV18QFileSystemWatcher) + 16u)
+ QObject (0x7f4f352315b0) 0
+ primary-for QFileSystemWatcher (0x7f4f35231540)
+
+Vtable for QFSFileEngine
+QFSFileEngine::_ZTV13QFSFileEngine: 36u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QFSFileEngine)
+16 QFSFileEngine::~QFSFileEngine
+24 QFSFileEngine::~QFSFileEngine
+32 QFSFileEngine::open
+40 QFSFileEngine::close
+48 QFSFileEngine::flush
+56 QFSFileEngine::size
+64 QFSFileEngine::pos
+72 QFSFileEngine::seek
+80 QFSFileEngine::isSequential
+88 QFSFileEngine::remove
+96 QFSFileEngine::copy
+104 QFSFileEngine::rename
+112 QFSFileEngine::link
+120 QFSFileEngine::mkdir
+128 QFSFileEngine::rmdir
+136 QFSFileEngine::setSize
+144 QFSFileEngine::caseSensitive
+152 QFSFileEngine::isRelativePath
+160 QFSFileEngine::entryList
+168 QFSFileEngine::fileFlags
+176 QFSFileEngine::setPermissions
+184 QFSFileEngine::fileName
+192 QFSFileEngine::ownerId
+200 QFSFileEngine::owner
+208 QFSFileEngine::fileTime
+216 QFSFileEngine::setFileName
+224 QFSFileEngine::handle
+232 QFSFileEngine::beginEntryList
+240 QFSFileEngine::endEntryList
+248 QFSFileEngine::read
+256 QFSFileEngine::readLine
+264 QFSFileEngine::write
+272 QFSFileEngine::extension
+280 QFSFileEngine::supportsExtension
+
+Class QFSFileEngine
+ size=16 align=8
+ base size=16 base align=8
+QFSFileEngine (0x7f4f35244a80) 0
+ vptr=((& QFSFileEngine::_ZTV13QFSFileEngine) + 16u)
+ QAbstractFileEngine (0x7f4f35244af0) 0
+ primary-for QFSFileEngine (0x7f4f35244a80)
+
+Class QSharedData
+ size=4 align=4
+ base size=4 base align=4
+QSharedData (0x7f4f35253e70) 0
+
+Class QProcessEnvironment
+ size=8 align=8
+ base size=8 base align=8
+QProcessEnvironment (0x7f4f3529e1c0) 0
+
+Vtable for QProcess
+QProcess::_ZTV8QProcess: 31u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI8QProcess)
+16 QProcess::metaObject
+24 QProcess::qt_metacast
+32 QProcess::qt_metacall
+40 QProcess::~QProcess
+48 QProcess::~QProcess
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QProcess::isSequential
+120 QIODevice::open
+128 QProcess::close
+136 QIODevice::pos
+144 QIODevice::size
+152 QIODevice::seek
+160 QProcess::atEnd
+168 QIODevice::reset
+176 QProcess::bytesAvailable
+184 QProcess::bytesToWrite
+192 QProcess::canReadLine
+200 QProcess::waitForReadyRead
+208 QProcess::waitForBytesWritten
+216 QProcess::readData
+224 QIODevice::readLineData
+232 QProcess::writeData
+240 QProcess::setupChildProcess
+
+Class QProcess
+ size=16 align=8
+ base size=16 base align=8
+QProcess (0x7f4f3529ecb0) 0
+ vptr=((& QProcess::_ZTV8QProcess) + 16u)
+ QIODevice (0x7f4f3529ed20) 0
+ primary-for QProcess (0x7f4f3529ecb0)
+ QObject (0x7f4f3529ed90) 0
+ primary-for QIODevice (0x7f4f3529ed20)
+
+Class QResource
+ size=8 align=8
+ base size=8 base align=8
+QResource (0x7f4f350e41c0) 0
+
+Class QMetaType
+ size=1 align=1
+ base size=0 base align=1
+QMetaType (0x7f4f350e4e70) 0 empty
+
+Class QVariant::PrivateShared
+ size=16 align=8
+ base size=12 base align=8
+QVariant::PrivateShared (0x7f4f34fe2700) 0
+
+Class QVariant::Private::Data
+ size=8 align=8
+ base size=8 base align=8
+QVariant::Private::Data (0x7f4f34fe2a10) 0
+
+Class QVariant::Private
+ size=16 align=8
+ base size=12 base align=8
+QVariant::Private (0x7f4f34fe27e0) 0
+
+Class QVariant::Handler
+ size=72 align=8
+ base size=72 base align=8
+QVariant::Handler (0x7f4f34ff1700) 0
+
+Class QVariant
+ size=16 align=8
+ base size=16 base align=8
+QVariant (0x7f4f34fb27e0) 0
+
+Class QVariantComparisonHelper
+ size=8 align=8
+ base size=8 base align=8
+QVariantComparisonHelper (0x7f4f34ea19a0) 0
+
+Vtable for QSettings
+QSettings::_ZTV9QSettings: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QSettings)
+16 QSettings::metaObject
+24 QSettings::qt_metacast
+32 QSettings::qt_metacall
+40 QSettings::~QSettings
+48 QSettings::~QSettings
+56 QSettings::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QSettings
+ size=16 align=8
+ base size=16 base align=8
+QSettings (0x7f4f34ec7ee0) 0
+ vptr=((& QSettings::_ZTV9QSettings) + 16u)
+ QObject (0x7f4f34ec7f50) 0
+ primary-for QSettings (0x7f4f34ec7ee0)
+
+Vtable for QTemporaryFile
+QTemporaryFile::_ZTV14QTemporaryFile: 31u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QTemporaryFile)
+16 QTemporaryFile::metaObject
+24 QTemporaryFile::qt_metacast
+32 QTemporaryFile::qt_metacall
+40 QTemporaryFile::~QTemporaryFile
+48 QTemporaryFile::~QTemporaryFile
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QFile::isSequential
+120 QTemporaryFile::open
+128 QFile::close
+136 QFile::pos
+144 QFile::size
+152 QFile::seek
+160 QFile::atEnd
+168 QIODevice::reset
+176 QIODevice::bytesAvailable
+184 QIODevice::bytesToWrite
+192 QIODevice::canReadLine
+200 QIODevice::waitForReadyRead
+208 QIODevice::waitForBytesWritten
+216 QFile::readData
+224 QFile::readLineData
+232 QFile::writeData
+240 QTemporaryFile::fileEngine
+
+Class QTemporaryFile
+ size=16 align=8
+ base size=16 base align=8
+QTemporaryFile (0x7f4f34f4c2a0) 0
+ vptr=((& QTemporaryFile::_ZTV14QTemporaryFile) + 16u)
+ QFile (0x7f4f34f4c310) 0
+ primary-for QTemporaryFile (0x7f4f34f4c2a0)
+ QIODevice (0x7f4f34f4c380) 0
+ primary-for QFile (0x7f4f34f4c310)
+ QObject (0x7f4f34f4c3f0) 0
+ primary-for QIODevice (0x7f4f34f4c380)
+
+Class QUrl
+ size=8 align=8
+ base size=8 base align=8
+QUrl (0x7f4f34f669a0) 0
+
+Class QXmlStreamStringRef
+ size=16 align=8
+ base size=16 base align=8
+QXmlStreamStringRef (0x7f4f34def070) 0
+
+Class QXmlStreamAttribute
+ size=80 align=8
+ base size=73 base align=8
+QXmlStreamAttribute (0x7f4f34e0f850) 0
+
+Class QXmlStreamAttributes
+ size=8 align=8
+ base size=8 base align=8
+QXmlStreamAttributes (0x7f4f34e37310) 0
+ QVector<QXmlStreamAttribute> (0x7f4f34e37380) 0
+
+Class QXmlStreamNamespaceDeclaration
+ size=40 align=8
+ base size=40 base align=8
+QXmlStreamNamespaceDeclaration (0x7f4f34e377e0) 0
+
+Class QXmlStreamNotationDeclaration
+ size=56 align=8
+ base size=56 base align=8
+QXmlStreamNotationDeclaration (0x7f4f34e7a1c0) 0
+
+Class QXmlStreamEntityDeclaration
+ size=88 align=8
+ base size=88 base align=8
+QXmlStreamEntityDeclaration (0x7f4f34e98070) 0
+
+Vtable for QXmlStreamEntityResolver
+QXmlStreamEntityResolver::_ZTV24QXmlStreamEntityResolver: 6u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI24QXmlStreamEntityResolver)
+16 QXmlStreamEntityResolver::~QXmlStreamEntityResolver
+24 QXmlStreamEntityResolver::~QXmlStreamEntityResolver
+32 QXmlStreamEntityResolver::resolveEntity
+40 QXmlStreamEntityResolver::resolveUndeclaredEntity
+
+Class QXmlStreamEntityResolver
+ size=8 align=8
+ base size=8 base align=8
+QXmlStreamEntityResolver (0x7f4f34cb49a0) 0 nearly-empty
+ vptr=((& QXmlStreamEntityResolver::_ZTV24QXmlStreamEntityResolver) + 16u)
+
+Class QXmlStreamReader
+ size=8 align=8
+ base size=8 base align=8
+QXmlStreamReader (0x7f4f34cb4b60) 0
+
+Class QXmlStreamWriter
+ size=8 align=8
+ base size=8 base align=8
+QXmlStreamWriter (0x7f4f34cfbc40) 0
+
+Vtable for QAbstractState
+QAbstractState::_ZTV14QAbstractState: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QAbstractState)
+16 QAbstractState::metaObject
+24 QAbstractState::qt_metacast
+32 QAbstractState::qt_metacall
+40 QAbstractState::~QAbstractState
+48 QAbstractState::~QAbstractState
+56 QAbstractState::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+
+Class QAbstractState
+ size=16 align=8
+ base size=16 base align=8
+QAbstractState (0x7f4f34d11a80) 0
+ vptr=((& QAbstractState::_ZTV14QAbstractState) + 16u)
+ QObject (0x7f4f34d11af0) 0
+ primary-for QAbstractState (0x7f4f34d11a80)
+
+Vtable for QAbstractTransition
+QAbstractTransition::_ZTV19QAbstractTransition: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QAbstractTransition)
+16 QAbstractTransition::metaObject
+24 QAbstractTransition::qt_metacast
+32 QAbstractTransition::qt_metacall
+40 QAbstractTransition::~QAbstractTransition
+48 QAbstractTransition::~QAbstractTransition
+56 QAbstractTransition::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+
+Class QAbstractTransition
+ size=16 align=8
+ base size=16 base align=8
+QAbstractTransition (0x7f4f34d372a0) 0
+ vptr=((& QAbstractTransition::_ZTV19QAbstractTransition) + 16u)
+ QObject (0x7f4f34d37310) 0
+ primary-for QAbstractTransition (0x7f4f34d372a0)
+
+Vtable for QEvent
+QEvent::_ZTV6QEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI6QEvent)
+16 QEvent::~QEvent
+24 QEvent::~QEvent
+
+Class QEvent
+ size=24 align=8
+ base size=20 base align=8
+QEvent (0x7f4f34d4caf0) 0
+ vptr=((& QEvent::_ZTV6QEvent) + 16u)
+
+Vtable for QTimerEvent
+QTimerEvent::_ZTV11QTimerEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QTimerEvent)
+16 QTimerEvent::~QTimerEvent
+24 QTimerEvent::~QTimerEvent
+
+Class QTimerEvent
+ size=24 align=8
+ base size=24 base align=8
+QTimerEvent (0x7f4f34d6e700) 0
+ vptr=((& QTimerEvent::_ZTV11QTimerEvent) + 16u)
+ QEvent (0x7f4f34d6e770) 0
+ primary-for QTimerEvent (0x7f4f34d6e700)
+
+Vtable for QChildEvent
+QChildEvent::_ZTV11QChildEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QChildEvent)
+16 QChildEvent::~QChildEvent
+24 QChildEvent::~QChildEvent
+
+Class QChildEvent
+ size=32 align=8
+ base size=32 base align=8
+QChildEvent (0x7f4f34d6eb60) 0
+ vptr=((& QChildEvent::_ZTV11QChildEvent) + 16u)
+ QEvent (0x7f4f34d6ebd0) 0
+ primary-for QChildEvent (0x7f4f34d6eb60)
+
+Vtable for QCustomEvent
+QCustomEvent::_ZTV12QCustomEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QCustomEvent)
+16 QCustomEvent::~QCustomEvent
+24 QCustomEvent::~QCustomEvent
+
+Class QCustomEvent
+ size=24 align=8
+ base size=20 base align=8
+QCustomEvent (0x7f4f34d77e00) 0
+ vptr=((& QCustomEvent::_ZTV12QCustomEvent) + 16u)
+ QEvent (0x7f4f34d77e70) 0
+ primary-for QCustomEvent (0x7f4f34d77e00)
+
+Vtable for QDynamicPropertyChangeEvent
+QDynamicPropertyChangeEvent::_ZTV27QDynamicPropertyChangeEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI27QDynamicPropertyChangeEvent)
+16 QDynamicPropertyChangeEvent::~QDynamicPropertyChangeEvent
+24 QDynamicPropertyChangeEvent::~QDynamicPropertyChangeEvent
+
+Class QDynamicPropertyChangeEvent
+ size=32 align=8
+ base size=32 base align=8
+QDynamicPropertyChangeEvent (0x7f4f34d89620) 0
+ vptr=((& QDynamicPropertyChangeEvent::_ZTV27QDynamicPropertyChangeEvent) + 16u)
+ QEvent (0x7f4f34d89690) 0
+ primary-for QDynamicPropertyChangeEvent (0x7f4f34d89620)
+
+Vtable for QEventTransition
+QEventTransition::_ZTV16QEventTransition: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QEventTransition)
+16 QEventTransition::metaObject
+24 QEventTransition::qt_metacast
+32 QEventTransition::qt_metacall
+40 QEventTransition::~QEventTransition
+48 QEventTransition::~QEventTransition
+56 QEventTransition::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QEventTransition::eventTest
+120 QEventTransition::onTransition
+
+Class QEventTransition
+ size=16 align=8
+ base size=16 base align=8
+QEventTransition (0x7f4f34d89af0) 0
+ vptr=((& QEventTransition::_ZTV16QEventTransition) + 16u)
+ QAbstractTransition (0x7f4f34d89b60) 0
+ primary-for QEventTransition (0x7f4f34d89af0)
+ QObject (0x7f4f34d89bd0) 0
+ primary-for QAbstractTransition (0x7f4f34d89b60)
+
+Vtable for QFinalState
+QFinalState::_ZTV11QFinalState: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QFinalState)
+16 QFinalState::metaObject
+24 QFinalState::qt_metacast
+32 QFinalState::qt_metacall
+40 QFinalState::~QFinalState
+48 QFinalState::~QFinalState
+56 QFinalState::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QFinalState::onEntry
+120 QFinalState::onExit
+
+Class QFinalState
+ size=16 align=8
+ base size=16 base align=8
+QFinalState (0x7f4f34ba59a0) 0
+ vptr=((& QFinalState::_ZTV11QFinalState) + 16u)
+ QAbstractState (0x7f4f34ba5a10) 0
+ primary-for QFinalState (0x7f4f34ba59a0)
+ QObject (0x7f4f34ba5a80) 0
+ primary-for QAbstractState (0x7f4f34ba5a10)
+
+Vtable for QHistoryState
+QHistoryState::_ZTV13QHistoryState: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QHistoryState)
+16 QHistoryState::metaObject
+24 QHistoryState::qt_metacast
+32 QHistoryState::qt_metacall
+40 QHistoryState::~QHistoryState
+48 QHistoryState::~QHistoryState
+56 QHistoryState::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QHistoryState::onEntry
+120 QHistoryState::onExit
+
+Class QHistoryState
+ size=16 align=8
+ base size=16 base align=8
+QHistoryState (0x7f4f34bbd230) 0
+ vptr=((& QHistoryState::_ZTV13QHistoryState) + 16u)
+ QAbstractState (0x7f4f34bbd2a0) 0
+ primary-for QHistoryState (0x7f4f34bbd230)
+ QObject (0x7f4f34bbd310) 0
+ primary-for QAbstractState (0x7f4f34bbd2a0)
+
+Vtable for QSignalTransition
+QSignalTransition::_ZTV17QSignalTransition: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QSignalTransition)
+16 QSignalTransition::metaObject
+24 QSignalTransition::qt_metacast
+32 QSignalTransition::qt_metacall
+40 QSignalTransition::~QSignalTransition
+48 QSignalTransition::~QSignalTransition
+56 QSignalTransition::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QSignalTransition::eventTest
+120 QSignalTransition::onTransition
+
+Class QSignalTransition
+ size=16 align=8
+ base size=16 base align=8
+QSignalTransition (0x7f4f34bcef50) 0
+ vptr=((& QSignalTransition::_ZTV17QSignalTransition) + 16u)
+ QAbstractTransition (0x7f4f34bd7000) 0
+ primary-for QSignalTransition (0x7f4f34bcef50)
+ QObject (0x7f4f34bd7070) 0
+ primary-for QAbstractTransition (0x7f4f34bd7000)
+
+Vtable for QState
+QState::_ZTV6QState: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI6QState)
+16 QState::metaObject
+24 QState::qt_metacast
+32 QState::qt_metacall
+40 QState::~QState
+48 QState::~QState
+56 QState::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QState::onEntry
+120 QState::onExit
+
+Class QState
+ size=16 align=8
+ base size=16 base align=8
+QState (0x7f4f34be9af0) 0
+ vptr=((& QState::_ZTV6QState) + 16u)
+ QAbstractState (0x7f4f34be9b60) 0
+ primary-for QState (0x7f4f34be9af0)
+ QObject (0x7f4f34be9bd0) 0
+ primary-for QAbstractState (0x7f4f34be9b60)
+
+Vtable for QStateMachine::SignalEvent
+QStateMachine::SignalEvent::_ZTVN13QStateMachine11SignalEventE: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN13QStateMachine11SignalEventE)
+16 QStateMachine::SignalEvent::~SignalEvent
+24 QStateMachine::SignalEvent::~SignalEvent
+
+Class QStateMachine::SignalEvent
+ size=48 align=8
+ base size=48 base align=8
+QStateMachine::SignalEvent (0x7f4f34c0e150) 0
+ vptr=((& QStateMachine::SignalEvent::_ZTVN13QStateMachine11SignalEventE) + 16u)
+ QEvent (0x7f4f34c0e1c0) 0
+ primary-for QStateMachine::SignalEvent (0x7f4f34c0e150)
+
+Vtable for QStateMachine::WrappedEvent
+QStateMachine::WrappedEvent::_ZTVN13QStateMachine12WrappedEventE: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN13QStateMachine12WrappedEventE)
+16 QStateMachine::WrappedEvent::~WrappedEvent
+24 QStateMachine::WrappedEvent::~WrappedEvent
+
+Class QStateMachine::WrappedEvent
+ size=40 align=8
+ base size=40 base align=8
+QStateMachine::WrappedEvent (0x7f4f34c0e700) 0
+ vptr=((& QStateMachine::WrappedEvent::_ZTVN13QStateMachine12WrappedEventE) + 16u)
+ QEvent (0x7f4f34c0e770) 0
+ primary-for QStateMachine::WrappedEvent (0x7f4f34c0e700)
+
+Vtable for QStateMachine
+QStateMachine::_ZTV13QStateMachine: 20u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QStateMachine)
+16 QStateMachine::metaObject
+24 QStateMachine::qt_metacast
+32 QStateMachine::qt_metacall
+40 QStateMachine::~QStateMachine
+48 QStateMachine::~QStateMachine
+56 QStateMachine::event
+64 QStateMachine::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QStateMachine::onEntry
+120 QStateMachine::onExit
+128 QStateMachine::beginSelectTransitions
+136 QStateMachine::endSelectTransitions
+144 QStateMachine::beginMicrostep
+152 QStateMachine::endMicrostep
+
+Class QStateMachine
+ size=16 align=8
+ base size=16 base align=8
+QStateMachine (0x7f4f34c05ee0) 0
+ vptr=((& QStateMachine::_ZTV13QStateMachine) + 16u)
+ QState (0x7f4f34c05f50) 0
+ primary-for QStateMachine (0x7f4f34c05ee0)
+ QAbstractState (0x7f4f34c0e000) 0
+ primary-for QState (0x7f4f34c05f50)
+ QObject (0x7f4f34c0e070) 0
+ primary-for QAbstractState (0x7f4f34c0e000)
+
+Class QBitArray
+ size=8 align=8
+ base size=8 base align=8
+QBitArray (0x7f4f34c3e150) 0
+
+Class QBitRef
+ size=16 align=8
+ base size=12 base align=8
+QBitRef (0x7f4f34c94e00) 0
+
+Class QByteArrayMatcher::Data
+ size=272 align=8
+ base size=272 base align=8
+QByteArrayMatcher::Data (0x7f4f34aa8af0) 0
+
+Class QByteArrayMatcher
+ size=1040 align=8
+ base size=1040 base align=8
+QByteArrayMatcher (0x7f4f34aa84d0) 0
+
+Class QCryptographicHash
+ size=8 align=8
+ base size=8 base align=8
+QCryptographicHash (0x7f4f34ade150) 0
+
+Vtable for QtSharedPointer::ExternalRefCountData
+QtSharedPointer::ExternalRefCountData::_ZTVN15QtSharedPointer20ExternalRefCountDataE: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN15QtSharedPointer20ExternalRefCountDataE)
+16 QtSharedPointer::ExternalRefCountData::~ExternalRefCountData
+24 QtSharedPointer::ExternalRefCountData::~ExternalRefCountData
+32 QtSharedPointer::ExternalRefCountData::destroy
+
+Class QtSharedPointer::ExternalRefCountData
+ size=16 align=8
+ base size=16 base align=8
+QtSharedPointer::ExternalRefCountData (0x7f4f34b0b070) 0
+ vptr=((& QtSharedPointer::ExternalRefCountData::_ZTVN15QtSharedPointer20ExternalRefCountDataE) + 16u)
+
+Vtable for QtSharedPointer::ExternalRefCountWithDestroyFn
+QtSharedPointer::ExternalRefCountWithDestroyFn::_ZTVN15QtSharedPointer29ExternalRefCountWithDestroyFnE: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN15QtSharedPointer29ExternalRefCountWithDestroyFnE)
+16 QtSharedPointer::ExternalRefCountWithDestroyFn::~ExternalRefCountWithDestroyFn
+24 QtSharedPointer::ExternalRefCountWithDestroyFn::~ExternalRefCountWithDestroyFn
+32 QtSharedPointer::ExternalRefCountWithDestroyFn::destroy
+
+Class QtSharedPointer::ExternalRefCountWithDestroyFn
+ size=24 align=8
+ base size=24 base align=8
+QtSharedPointer::ExternalRefCountWithDestroyFn (0x7f4f34b22930) 0
+ vptr=((& QtSharedPointer::ExternalRefCountWithDestroyFn::_ZTVN15QtSharedPointer29ExternalRefCountWithDestroyFnE) + 16u)
+ QtSharedPointer::ExternalRefCountData (0x7f4f34b229a0) 0
+ primary-for QtSharedPointer::ExternalRefCountWithDestroyFn (0x7f4f34b22930)
+
+Class QDate
+ size=4 align=4
+ base size=4 base align=4
+QDate (0x7f4f349a65b0) 0
+
+Class QTime
+ size=4 align=4
+ base size=4 base align=4
+QTime (0x7f4f349d9540) 0
+
+Class QDateTime
+ size=8 align=8
+ base size=8 base align=8
+QDateTime (0x7f4f349f3af0) 0
+
+Class QEasingCurve
+ size=8 align=8
+ base size=8 base align=8
+QEasingCurve (0x7f4f34a3b000) 0
+
+Class QPoint
+ size=8 align=4
+ base size=8 base align=4
+QPoint (0x7f4f34a3bee0) 0
+
+Class QPointF
+ size=16 align=8
+ base size=16 base align=8
+QPointF (0x7f4f34a7eaf0) 0
+
+Class QLine
+ size=16 align=4
+ base size=16 base align=4
+QLine (0x7f4f348b3af0) 0
+
+Class QLineF
+ size=32 align=8
+ base size=32 base align=8
+QLineF (0x7f4f348ee9a0) 0
+
+Class QLinkedListData
+ size=32 align=8
+ base size=32 base align=8
+QLinkedListData (0x7f4f3494b460) 0
+
+Class QMargins
+ size=16 align=4
+ base size=16 base align=4
+QMargins (0x7f4f3480a380) 0
+
+Class QSize
+ size=8 align=4
+ base size=8 base align=4
+QSize (0x7f4f34839150) 0
+
+Class QSizeF
+ size=16 align=8
+ base size=16 base align=8
+QSizeF (0x7f4f34879e00) 0
+
+Class QRect
+ size=16 align=4
+ base size=16 base align=4
+QRect (0x7f4f346cd380) 0
+
+Class QRectF
+ size=32 align=8
+ base size=32 base align=8
+QRectF (0x7f4f3477ad20) 0
+
+Class QLatin1Literal
+ size=16 align=8
+ base size=16 base align=8
+QLatin1Literal (0x7f4f34629ee0) 0
+
+Class QAbstractConcatenable
+ size=1 align=1
+ base size=0 base align=1
+QAbstractConcatenable (0x7f4f346393f0) 0 empty
+
+Class QTextBoundaryFinder
+ size=48 align=8
+ base size=48 base align=8
+QTextBoundaryFinder (0x7f4f34672380) 0
+
+Vtable for QTimeLine
+QTimeLine::_ZTV9QTimeLine: 15u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QTimeLine)
+16 QTimeLine::metaObject
+24 QTimeLine::qt_metacast
+32 QTimeLine::qt_metacall
+40 QTimeLine::~QTimeLine
+48 QTimeLine::~QTimeLine
+56 QObject::event
+64 QObject::eventFilter
+72 QTimeLine::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QTimeLine::valueForTime
+
+Class QTimeLine
+ size=16 align=8
+ base size=16 base align=8
+QTimeLine (0x7f4f34681700) 0
+ vptr=((& QTimeLine::_ZTV9QTimeLine) + 16u)
+ QObject (0x7f4f34681770) 0
+ primary-for QTimeLine (0x7f4f34681700)
+
+Vtable for QRunnable
+QRunnable::_ZTV9QRunnable: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QRunnable)
+16 __cxa_pure_virtual
+24 QRunnable::~QRunnable
+32 QRunnable::~QRunnable
+
+Class QRunnable
+ size=16 align=8
+ base size=12 base align=8
+QRunnable (0x7f4f344a9f50) 0
+ vptr=((& QRunnable::_ZTV9QRunnable) + 16u)
+
+Class QMutex
+ size=8 align=8
+ base size=8 base align=8
+QMutex (0x7f4f344e1620) 0
+
+Class QMutexLocker
+ size=8 align=8
+ base size=8 base align=8
+QMutexLocker (0x7f4f344ee1c0) 0
+
+Vtable for QtConcurrent::Exception
+QtConcurrent::Exception::_ZTVN12QtConcurrent9ExceptionE: 7u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN12QtConcurrent9ExceptionE)
+16 QtConcurrent::Exception::~Exception
+24 QtConcurrent::Exception::~Exception
+32 std::exception::what
+40 QtConcurrent::Exception::raise
+48 QtConcurrent::Exception::clone
+
+Class QtConcurrent::Exception
+ size=8 align=8
+ base size=8 base align=8
+QtConcurrent::Exception (0x7f4f345054d0) 0 nearly-empty
+ vptr=((& QtConcurrent::Exception::_ZTVN12QtConcurrent9ExceptionE) + 16u)
+ std::exception (0x7f4f34505540) 0 nearly-empty
+ primary-for QtConcurrent::Exception (0x7f4f345054d0)
+
+Vtable for QtConcurrent::UnhandledException
+QtConcurrent::UnhandledException::_ZTVN12QtConcurrent18UnhandledExceptionE: 7u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN12QtConcurrent18UnhandledExceptionE)
+16 QtConcurrent::UnhandledException::~UnhandledException
+24 QtConcurrent::UnhandledException::~UnhandledException
+32 std::exception::what
+40 QtConcurrent::UnhandledException::raise
+48 QtConcurrent::UnhandledException::clone
+
+Class QtConcurrent::UnhandledException
+ size=8 align=8
+ base size=8 base align=8
+QtConcurrent::UnhandledException (0x7f4f34505770) 0 nearly-empty
+ vptr=((& QtConcurrent::UnhandledException::_ZTVN12QtConcurrent18UnhandledExceptionE) + 16u)
+ QtConcurrent::Exception (0x7f4f345057e0) 0 nearly-empty
+ primary-for QtConcurrent::UnhandledException (0x7f4f34505770)
+ std::exception (0x7f4f34505850) 0 nearly-empty
+ primary-for QtConcurrent::Exception (0x7f4f345057e0)
+
+Class QtConcurrent::internal::ExceptionHolder
+ size=8 align=8
+ base size=8 base align=8
+QtConcurrent::internal::ExceptionHolder (0x7f4f34505a80) 0
+
+Class QtConcurrent::internal::ExceptionStore
+ size=8 align=8
+ base size=8 base align=8
+QtConcurrent::internal::ExceptionStore (0x7f4f34505e00) 0
+
+Class QtConcurrent::ResultItem
+ size=16 align=8
+ base size=16 base align=8
+QtConcurrent::ResultItem (0x7f4f34505e70) 0
+
+Class QtConcurrent::ResultIteratorBase
+ size=16 align=8
+ base size=12 base align=8
+QtConcurrent::ResultIteratorBase (0x7f4f3451ed90) 0
+
+Vtable for QtConcurrent::ResultStoreBase
+QtConcurrent::ResultStoreBase::_ZTVN12QtConcurrent15ResultStoreBaseE: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN12QtConcurrent15ResultStoreBaseE)
+16 QtConcurrent::ResultStoreBase::~ResultStoreBase
+24 QtConcurrent::ResultStoreBase::~ResultStoreBase
+
+Class QtConcurrent::ResultStoreBase
+ size=48 align=8
+ base size=44 base align=8
+QtConcurrent::ResultStoreBase (0x7f4f34522930) 0
+ vptr=((& QtConcurrent::ResultStoreBase::_ZTVN12QtConcurrent15ResultStoreBaseE) + 16u)
+
+Vtable for QFutureInterfaceBase
+QFutureInterfaceBase::_ZTV20QFutureInterfaceBase: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI20QFutureInterfaceBase)
+16 QFutureInterfaceBase::~QFutureInterfaceBase
+24 QFutureInterfaceBase::~QFutureInterfaceBase
+
+Class QFutureInterfaceBase
+ size=16 align=8
+ base size=16 base align=8
+QFutureInterfaceBase (0x7f4f34560d90) 0
+ vptr=((& QFutureInterfaceBase::_ZTV20QFutureInterfaceBase) + 16u)
+
+Vtable for QFutureWatcherBase
+QFutureWatcherBase::_ZTV18QFutureWatcherBase: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QFutureWatcherBase)
+16 QFutureWatcherBase::metaObject
+24 QFutureWatcherBase::qt_metacast
+32 QFutureWatcherBase::qt_metacall
+40 QFutureWatcherBase::~QFutureWatcherBase
+48 QFutureWatcherBase::~QFutureWatcherBase
+56 QFutureWatcherBase::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QFutureWatcherBase::connectNotify
+104 QFutureWatcherBase::disconnectNotify
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+
+Class QFutureWatcherBase
+ size=16 align=8
+ base size=16 base align=8
+QFutureWatcherBase (0x7f4f34446690) 0
+ vptr=((& QFutureWatcherBase::_ZTV18QFutureWatcherBase) + 16u)
+ QObject (0x7f4f34446700) 0
+ primary-for QFutureWatcherBase (0x7f4f34446690)
+
+Vtable for QThread
+QThread::_ZTV7QThread: 15u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QThread)
+16 QThread::metaObject
+24 QThread::qt_metacast
+32 QThread::qt_metacall
+40 QThread::~QThread
+48 QThread::~QThread
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QThread::run
+
+Class QThread
+ size=16 align=8
+ base size=16 base align=8
+QThread (0x7f4f34297a80) 0
+ vptr=((& QThread::_ZTV7QThread) + 16u)
+ QObject (0x7f4f34297af0) 0
+ primary-for QThread (0x7f4f34297a80)
+
+Vtable for QThreadPool
+QThreadPool::_ZTV11QThreadPool: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QThreadPool)
+16 QThreadPool::metaObject
+24 QThreadPool::qt_metacast
+32 QThreadPool::qt_metacall
+40 QThreadPool::~QThreadPool
+48 QThreadPool::~QThreadPool
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QThreadPool
+ size=16 align=8
+ base size=16 base align=8
+QThreadPool (0x7f4f342be930) 0
+ vptr=((& QThreadPool::_ZTV11QThreadPool) + 16u)
+ QObject (0x7f4f342be9a0) 0
+ primary-for QThreadPool (0x7f4f342be930)
+
+Class QWaitCondition
+ size=8 align=8
+ base size=8 base align=8
+QWaitCondition (0x7f4f342d0ee0) 0
+
+Class QSemaphore
+ size=8 align=8
+ base size=8 base align=8
+QSemaphore (0x7f4f342d7460) 0
+
+Class QtConcurrent::ThreadEngineBarrier
+ size=24 align=8
+ base size=24 base align=8
+QtConcurrent::ThreadEngineBarrier (0x7f4f342d79a0) 0
+
+Vtable for QtConcurrent::ThreadEngineBase
+QtConcurrent::ThreadEngineBase::_ZTVN12QtConcurrent16ThreadEngineBaseE: 11u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN12QtConcurrent16ThreadEngineBaseE)
+16 QtConcurrent::ThreadEngineBase::run
+24 QtConcurrent::ThreadEngineBase::~ThreadEngineBase
+32 QtConcurrent::ThreadEngineBase::~ThreadEngineBase
+40 QtConcurrent::ThreadEngineBase::start
+48 QtConcurrent::ThreadEngineBase::finish
+56 QtConcurrent::ThreadEngineBase::threadFunction
+64 QtConcurrent::ThreadEngineBase::shouldStartThread
+72 QtConcurrent::ThreadEngineBase::shouldThrottleThread
+80 __cxa_pure_virtual
+
+Class QtConcurrent::ThreadEngineBase
+ size=64 align=8
+ base size=64 base align=8
+QtConcurrent::ThreadEngineBase (0x7f4f342d7a80) 0
+ vptr=((& QtConcurrent::ThreadEngineBase::_ZTVN12QtConcurrent16ThreadEngineBaseE) + 16u)
+ QRunnable (0x7f4f342d7af0) 0
+ primary-for QtConcurrent::ThreadEngineBase (0x7f4f342d7a80)
+
+VTT for QtConcurrent::ThreadEngine<void>
+QtConcurrent::ThreadEngine<void>::_ZTTN12QtConcurrent12ThreadEngineIvEE: 2u entries
+0 ((& QtConcurrent::ThreadEngine<void>::_ZTVN12QtConcurrent12ThreadEngineIvEE) + 24u)
+8 ((& QtConcurrent::ThreadEngine<void>::_ZTVN12QtConcurrent12ThreadEngineIvEE) + 136u)
+
+Class QtConcurrent::BlockSizeManager
+ size=96 align=8
+ base size=92 base align=8
+QtConcurrent::BlockSizeManager (0x7f4f34324ee0) 0
+
+Vtable for QFactoryInterface
+QFactoryInterface::_ZTV17QFactoryInterface: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QFactoryInterface)
+16 QFactoryInterface::~QFactoryInterface
+24 QFactoryInterface::~QFactoryInterface
+32 __cxa_pure_virtual
+
+Class QFactoryInterface
+ size=8 align=8
+ base size=8 base align=8
+QFactoryInterface (0x7f4f33dc8d20) 0 nearly-empty
+ vptr=((& QFactoryInterface::_ZTV17QFactoryInterface) + 16u)
+
+Vtable for QTextCodecFactoryInterface
+QTextCodecFactoryInterface::_ZTV26QTextCodecFactoryInterface: 6u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI26QTextCodecFactoryInterface)
+16 QTextCodecFactoryInterface::~QTextCodecFactoryInterface
+24 QTextCodecFactoryInterface::~QTextCodecFactoryInterface
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+
+Class QTextCodecFactoryInterface
+ size=8 align=8
+ base size=8 base align=8
+QTextCodecFactoryInterface (0x7f4f33dfa000) 0 nearly-empty
+ vptr=((& QTextCodecFactoryInterface::_ZTV26QTextCodecFactoryInterface) + 16u)
+ QFactoryInterface (0x7f4f33dfa070) 0 nearly-empty
+ primary-for QTextCodecFactoryInterface (0x7f4f33dfa000)
+
+Vtable for QTextCodecPlugin
+QTextCodecPlugin::_ZTV16QTextCodecPlugin: 27u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QTextCodecPlugin)
+16 QTextCodecPlugin::metaObject
+24 QTextCodecPlugin::qt_metacast
+32 QTextCodecPlugin::qt_metacall
+40 QTextCodecPlugin::~QTextCodecPlugin
+48 QTextCodecPlugin::~QTextCodecPlugin
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 __cxa_pure_virtual
+136 __cxa_pure_virtual
+144 __cxa_pure_virtual
+152 QTextCodecPlugin::keys
+160 QTextCodecPlugin::create
+168 (int (*)(...))-0x00000000000000010
+176 (int (*)(...))(& _ZTI16QTextCodecPlugin)
+184 QTextCodecPlugin::_ZThn16_N16QTextCodecPluginD1Ev
+192 QTextCodecPlugin::_ZThn16_N16QTextCodecPluginD0Ev
+200 QTextCodecPlugin::_ZThn16_NK16QTextCodecPlugin4keysEv
+208 QTextCodecPlugin::_ZThn16_N16QTextCodecPlugin6createERK7QString
+
+Class QTextCodecPlugin
+ size=24 align=8
+ base size=24 base align=8
+QTextCodecPlugin (0x7f4f33e02580) 0
+ vptr=((& QTextCodecPlugin::_ZTV16QTextCodecPlugin) + 16u)
+ QObject (0x7f4f33dfaa80) 0
+ primary-for QTextCodecPlugin (0x7f4f33e02580)
+ QTextCodecFactoryInterface (0x7f4f33dfaaf0) 16 nearly-empty
+ vptr=((& QTextCodecPlugin::_ZTV16QTextCodecPlugin) + 184u)
+ QFactoryInterface (0x7f4f33dfab60) 16 nearly-empty
+ primary-for QTextCodecFactoryInterface (0x7f4f33dfaaf0)
+
+Class QLibraryInfo
+ size=1 align=1
+ base size=0 base align=1
+QLibraryInfo (0x7f4f33e52150) 0 empty
+
+Vtable for QEventLoop
+QEventLoop::_ZTV10QEventLoop: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QEventLoop)
+16 QEventLoop::metaObject
+24 QEventLoop::qt_metacast
+32 QEventLoop::qt_metacall
+40 QEventLoop::~QEventLoop
+48 QEventLoop::~QEventLoop
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QEventLoop
+ size=16 align=8
+ base size=16 base align=8
+QEventLoop (0x7f4f33e522a0) 0
+ vptr=((& QEventLoop::_ZTV10QEventLoop) + 16u)
+ QObject (0x7f4f33e52310) 0
+ primary-for QEventLoop (0x7f4f33e522a0)
+
+Vtable for QAbstractEventDispatcher
+QAbstractEventDispatcher::_ZTV24QAbstractEventDispatcher: 27u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI24QAbstractEventDispatcher)
+16 QAbstractEventDispatcher::metaObject
+24 QAbstractEventDispatcher::qt_metacast
+32 QAbstractEventDispatcher::qt_metacall
+40 QAbstractEventDispatcher::~QAbstractEventDispatcher
+48 QAbstractEventDispatcher::~QAbstractEventDispatcher
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 __cxa_pure_virtual
+136 __cxa_pure_virtual
+144 __cxa_pure_virtual
+152 __cxa_pure_virtual
+160 __cxa_pure_virtual
+168 __cxa_pure_virtual
+176 __cxa_pure_virtual
+184 __cxa_pure_virtual
+192 __cxa_pure_virtual
+200 QAbstractEventDispatcher::startingUp
+208 QAbstractEventDispatcher::closingDown
+
+Class QAbstractEventDispatcher
+ size=16 align=8
+ base size=16 base align=8
+QAbstractEventDispatcher (0x7f4f33c8cbd0) 0
+ vptr=((& QAbstractEventDispatcher::_ZTV24QAbstractEventDispatcher) + 16u)
+ QObject (0x7f4f33c8cc40) 0
+ primary-for QAbstractEventDispatcher (0x7f4f33c8cbd0)
+
+Class QModelIndex
+ size=24 align=8
+ base size=24 base align=8
+QModelIndex (0x7f4f33cb1a80) 0
+
+Class QPersistentModelIndex
+ size=8 align=8
+ base size=8 base align=8
+QPersistentModelIndex (0x7f4f33cdc540) 0
+
+Vtable for QAbstractItemModel
+QAbstractItemModel::_ZTV18QAbstractItemModel: 42u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QAbstractItemModel)
+16 QAbstractItemModel::metaObject
+24 QAbstractItemModel::qt_metacast
+32 QAbstractItemModel::qt_metacall
+40 QAbstractItemModel::~QAbstractItemModel
+48 QAbstractItemModel::~QAbstractItemModel
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 __cxa_pure_virtual
+136 __cxa_pure_virtual
+144 QAbstractItemModel::hasChildren
+152 __cxa_pure_virtual
+160 QAbstractItemModel::setData
+168 QAbstractItemModel::headerData
+176 QAbstractItemModel::setHeaderData
+184 QAbstractItemModel::itemData
+192 QAbstractItemModel::setItemData
+200 QAbstractItemModel::mimeTypes
+208 QAbstractItemModel::mimeData
+216 QAbstractItemModel::dropMimeData
+224 QAbstractItemModel::supportedDropActions
+232 QAbstractItemModel::insertRows
+240 QAbstractItemModel::insertColumns
+248 QAbstractItemModel::removeRows
+256 QAbstractItemModel::removeColumns
+264 QAbstractItemModel::fetchMore
+272 QAbstractItemModel::canFetchMore
+280 QAbstractItemModel::flags
+288 QAbstractItemModel::sort
+296 QAbstractItemModel::buddy
+304 QAbstractItemModel::match
+312 QAbstractItemModel::span
+320 QAbstractItemModel::submit
+328 QAbstractItemModel::revert
+
+Class QAbstractItemModel
+ size=16 align=8
+ base size=16 base align=8
+QAbstractItemModel (0x7f4f33ce4850) 0
+ vptr=((& QAbstractItemModel::_ZTV18QAbstractItemModel) + 16u)
+ QObject (0x7f4f33ce48c0) 0
+ primary-for QAbstractItemModel (0x7f4f33ce4850)
+
+Vtable for QAbstractTableModel
+QAbstractTableModel::_ZTV19QAbstractTableModel: 42u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QAbstractTableModel)
+16 QAbstractTableModel::metaObject
+24 QAbstractTableModel::qt_metacast
+32 QAbstractTableModel::qt_metacall
+40 QAbstractTableModel::~QAbstractTableModel
+48 QAbstractTableModel::~QAbstractTableModel
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QAbstractTableModel::index
+120 QAbstractTableModel::parent
+128 __cxa_pure_virtual
+136 __cxa_pure_virtual
+144 QAbstractTableModel::hasChildren
+152 __cxa_pure_virtual
+160 QAbstractItemModel::setData
+168 QAbstractItemModel::headerData
+176 QAbstractItemModel::setHeaderData
+184 QAbstractItemModel::itemData
+192 QAbstractItemModel::setItemData
+200 QAbstractItemModel::mimeTypes
+208 QAbstractItemModel::mimeData
+216 QAbstractTableModel::dropMimeData
+224 QAbstractItemModel::supportedDropActions
+232 QAbstractItemModel::insertRows
+240 QAbstractItemModel::insertColumns
+248 QAbstractItemModel::removeRows
+256 QAbstractItemModel::removeColumns
+264 QAbstractItemModel::fetchMore
+272 QAbstractItemModel::canFetchMore
+280 QAbstractItemModel::flags
+288 QAbstractItemModel::sort
+296 QAbstractItemModel::buddy
+304 QAbstractItemModel::match
+312 QAbstractItemModel::span
+320 QAbstractItemModel::submit
+328 QAbstractItemModel::revert
+
+Class QAbstractTableModel
+ size=16 align=8
+ base size=16 base align=8
+QAbstractTableModel (0x7f4f33d41b60) 0
+ vptr=((& QAbstractTableModel::_ZTV19QAbstractTableModel) + 16u)
+ QAbstractItemModel (0x7f4f33d41bd0) 0
+ primary-for QAbstractTableModel (0x7f4f33d41b60)
+ QObject (0x7f4f33d41c40) 0
+ primary-for QAbstractItemModel (0x7f4f33d41bd0)
+
+Vtable for QAbstractListModel
+QAbstractListModel::_ZTV18QAbstractListModel: 42u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QAbstractListModel)
+16 QAbstractListModel::metaObject
+24 QAbstractListModel::qt_metacast
+32 QAbstractListModel::qt_metacall
+40 QAbstractListModel::~QAbstractListModel
+48 QAbstractListModel::~QAbstractListModel
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QAbstractListModel::index
+120 QAbstractListModel::parent
+128 __cxa_pure_virtual
+136 QAbstractListModel::columnCount
+144 QAbstractListModel::hasChildren
+152 __cxa_pure_virtual
+160 QAbstractItemModel::setData
+168 QAbstractItemModel::headerData
+176 QAbstractItemModel::setHeaderData
+184 QAbstractItemModel::itemData
+192 QAbstractItemModel::setItemData
+200 QAbstractItemModel::mimeTypes
+208 QAbstractItemModel::mimeData
+216 QAbstractListModel::dropMimeData
+224 QAbstractItemModel::supportedDropActions
+232 QAbstractItemModel::insertRows
+240 QAbstractItemModel::insertColumns
+248 QAbstractItemModel::removeRows
+256 QAbstractItemModel::removeColumns
+264 QAbstractItemModel::fetchMore
+272 QAbstractItemModel::canFetchMore
+280 QAbstractItemModel::flags
+288 QAbstractItemModel::sort
+296 QAbstractItemModel::buddy
+304 QAbstractItemModel::match
+312 QAbstractItemModel::span
+320 QAbstractItemModel::submit
+328 QAbstractItemModel::revert
+
+Class QAbstractListModel
+ size=16 align=8
+ base size=16 base align=8
+QAbstractListModel (0x7f4f33d5e0e0) 0
+ vptr=((& QAbstractListModel::_ZTV18QAbstractListModel) + 16u)
+ QAbstractItemModel (0x7f4f33d5e150) 0
+ primary-for QAbstractListModel (0x7f4f33d5e0e0)
+ QObject (0x7f4f33d5e1c0) 0
+ primary-for QAbstractItemModel (0x7f4f33d5e150)
+
+Class QBasicTimer
+ size=4 align=4
+ base size=4 base align=4
+QBasicTimer (0x7f4f33b90230) 0
+
+Vtable for QCoreApplication
+QCoreApplication::_ZTV16QCoreApplication: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QCoreApplication)
+16 QCoreApplication::metaObject
+24 QCoreApplication::qt_metacast
+32 QCoreApplication::qt_metacall
+40 QCoreApplication::~QCoreApplication
+48 QCoreApplication::~QCoreApplication
+56 QCoreApplication::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QCoreApplication::notify
+120 QCoreApplication::compressEvent
+
+Class QCoreApplication
+ size=16 align=8
+ base size=16 base align=8
+QCoreApplication (0x7f4f33b9c620) 0
+ vptr=((& QCoreApplication::_ZTV16QCoreApplication) + 16u)
+ QObject (0x7f4f33b9c690) 0
+ primary-for QCoreApplication (0x7f4f33b9c620)
+
+Class __exception
+ size=40 align=8
+ base size=40 base align=8
+__exception (0x7f4f33bce310) 0
+
+Class QMetaMethod
+ size=16 align=8
+ base size=12 base align=8
+QMetaMethod (0x7f4f33c3b770) 0
+
+Class QMetaEnum
+ size=16 align=8
+ base size=12 base align=8
+QMetaEnum (0x7f4f33c55bd0) 0
+
+Class QMetaProperty
+ size=32 align=8
+ base size=32 base align=8
+QMetaProperty (0x7f4f33c64930) 0
+
+Class QMetaClassInfo
+ size=16 align=8
+ base size=12 base align=8
+QMetaClassInfo (0x7f4f33c75000) 0
+
+Vtable for QMimeData
+QMimeData::_ZTV9QMimeData: 17u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QMimeData)
+16 QMimeData::metaObject
+24 QMimeData::qt_metacast
+32 QMimeData::qt_metacall
+40 QMimeData::~QMimeData
+48 QMimeData::~QMimeData
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QMimeData::hasFormat
+120 QMimeData::formats
+128 QMimeData::retrieveData
+
+Class QMimeData
+ size=16 align=8
+ base size=16 base align=8
+QMimeData (0x7f4f33c75af0) 0
+ vptr=((& QMimeData::_ZTV9QMimeData) + 16u)
+ QObject (0x7f4f33c75b60) 0
+ primary-for QMimeData (0x7f4f33c75af0)
+
+Vtable for QObjectCleanupHandler
+QObjectCleanupHandler::_ZTV21QObjectCleanupHandler: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI21QObjectCleanupHandler)
+16 QObjectCleanupHandler::metaObject
+24 QObjectCleanupHandler::qt_metacast
+32 QObjectCleanupHandler::qt_metacall
+40 QObjectCleanupHandler::~QObjectCleanupHandler
+48 QObjectCleanupHandler::~QObjectCleanupHandler
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QObjectCleanupHandler
+ size=24 align=8
+ base size=24 base align=8
+QObjectCleanupHandler (0x7f4f33a99380) 0
+ vptr=((& QObjectCleanupHandler::_ZTV21QObjectCleanupHandler) + 16u)
+ QObject (0x7f4f33a993f0) 0
+ primary-for QObjectCleanupHandler (0x7f4f33a99380)
+
+Vtable for QSharedMemory
+QSharedMemory::_ZTV13QSharedMemory: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QSharedMemory)
+16 QSharedMemory::metaObject
+24 QSharedMemory::qt_metacast
+32 QSharedMemory::qt_metacall
+40 QSharedMemory::~QSharedMemory
+48 QSharedMemory::~QSharedMemory
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QSharedMemory
+ size=16 align=8
+ base size=16 base align=8
+QSharedMemory (0x7f4f33aaa4d0) 0
+ vptr=((& QSharedMemory::_ZTV13QSharedMemory) + 16u)
+ QObject (0x7f4f33aaa540) 0
+ primary-for QSharedMemory (0x7f4f33aaa4d0)
+
+Vtable for QSignalMapper
+QSignalMapper::_ZTV13QSignalMapper: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QSignalMapper)
+16 QSignalMapper::metaObject
+24 QSignalMapper::qt_metacast
+32 QSignalMapper::qt_metacall
+40 QSignalMapper::~QSignalMapper
+48 QSignalMapper::~QSignalMapper
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QSignalMapper
+ size=16 align=8
+ base size=16 base align=8
+QSignalMapper (0x7f4f33ac62a0) 0
+ vptr=((& QSignalMapper::_ZTV13QSignalMapper) + 16u)
+ QObject (0x7f4f33ac6310) 0
+ primary-for QSignalMapper (0x7f4f33ac62a0)
+
+Vtable for QSocketNotifier
+QSocketNotifier::_ZTV15QSocketNotifier: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QSocketNotifier)
+16 QSocketNotifier::metaObject
+24 QSocketNotifier::qt_metacast
+32 QSocketNotifier::qt_metacall
+40 QSocketNotifier::~QSocketNotifier
+48 QSocketNotifier::~QSocketNotifier
+56 QSocketNotifier::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QSocketNotifier
+ size=32 align=8
+ base size=25 base align=8
+QSocketNotifier (0x7f4f33ae1690) 0
+ vptr=((& QSocketNotifier::_ZTV15QSocketNotifier) + 16u)
+ QObject (0x7f4f33ae1700) 0
+ primary-for QSocketNotifier (0x7f4f33ae1690)
+
+Class QSystemSemaphore
+ size=8 align=8
+ base size=8 base align=8
+QSystemSemaphore (0x7f4f33afca10) 0
+
+Vtable for QTimer
+QTimer::_ZTV6QTimer: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI6QTimer)
+16 QTimer::metaObject
+24 QTimer::qt_metacast
+32 QTimer::qt_metacall
+40 QTimer::~QTimer
+48 QTimer::~QTimer
+56 QObject::event
+64 QObject::eventFilter
+72 QTimer::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QTimer
+ size=32 align=8
+ base size=29 base align=8
+QTimer (0x7f4f33b04460) 0
+ vptr=((& QTimer::_ZTV6QTimer) + 16u)
+ QObject (0x7f4f33b044d0) 0
+ primary-for QTimer (0x7f4f33b04460)
+
+Vtable for QTranslator
+QTranslator::_ZTV11QTranslator: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QTranslator)
+16 QTranslator::metaObject
+24 QTranslator::qt_metacast
+32 QTranslator::qt_metacall
+40 QTranslator::~QTranslator
+48 QTranslator::~QTranslator
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QTranslator::translate
+120 QTranslator::isEmpty
+
+Class QTranslator
+ size=16 align=8
+ base size=16 base align=8
+QTranslator (0x7f4f33b2a9a0) 0
+ vptr=((& QTranslator::_ZTV11QTranslator) + 16u)
+ QObject (0x7f4f33b2aa10) 0
+ primary-for QTranslator (0x7f4f33b2a9a0)
+
+Vtable for QLibrary
+QLibrary::_ZTV8QLibrary: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI8QLibrary)
+16 QLibrary::metaObject
+24 QLibrary::qt_metacast
+32 QLibrary::qt_metacall
+40 QLibrary::~QLibrary
+48 QLibrary::~QLibrary
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QLibrary
+ size=32 align=8
+ base size=25 base align=8
+QLibrary (0x7f4f33b45930) 0
+ vptr=((& QLibrary::_ZTV8QLibrary) + 16u)
+ QObject (0x7f4f33b459a0) 0
+ primary-for QLibrary (0x7f4f33b45930)
+
+Vtable for QPluginLoader
+QPluginLoader::_ZTV13QPluginLoader: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QPluginLoader)
+16 QPluginLoader::metaObject
+24 QPluginLoader::qt_metacast
+32 QPluginLoader::qt_metacall
+40 QPluginLoader::~QPluginLoader
+48 QPluginLoader::~QPluginLoader
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QPluginLoader
+ size=32 align=8
+ base size=25 base align=8
+QPluginLoader (0x7f4f339923f0) 0
+ vptr=((& QPluginLoader::_ZTV13QPluginLoader) + 16u)
+ QObject (0x7f4f33992460) 0
+ primary-for QPluginLoader (0x7f4f339923f0)
+
+Class QUuid
+ size=16 align=4
+ base size=16 base align=4
+QUuid (0x7f4f339a0b60) 0
+
+Class QReadWriteLock
+ size=8 align=8
+ base size=8 base align=8
+QReadWriteLock (0x7f4f339c74d0) 0
+
+Class QReadLocker
+ size=8 align=8
+ base size=8 base align=8
+QReadLocker (0x7f4f339c7b60) 0
+
+Class QWriteLocker
+ size=8 align=8
+ base size=8 base align=8
+QWriteLocker (0x7f4f339e6ee0) 0
+
+Class QThreadStorageData
+ size=4 align=4
+ base size=4 base align=4
+QThreadStorageData (0x7f4f33a002a0) 0
+
+Vtable for QAbstractAnimation
+QAbstractAnimation::_ZTV18QAbstractAnimation: 18u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QAbstractAnimation)
+16 QAbstractAnimation::metaObject
+24 QAbstractAnimation::qt_metacast
+32 QAbstractAnimation::qt_metacall
+40 QAbstractAnimation::~QAbstractAnimation
+48 QAbstractAnimation::~QAbstractAnimation
+56 QAbstractAnimation::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 QAbstractAnimation::updateState
+136 QAbstractAnimation::updateDirection
+
+Class QAbstractAnimation
+ size=16 align=8
+ base size=16 base align=8
+QAbstractAnimation (0x7f4f33a00a10) 0
+ vptr=((& QAbstractAnimation::_ZTV18QAbstractAnimation) + 16u)
+ QObject (0x7f4f33a00a80) 0
+ primary-for QAbstractAnimation (0x7f4f33a00a10)
+
+Vtable for QAnimationGroup
+QAnimationGroup::_ZTV15QAnimationGroup: 18u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QAnimationGroup)
+16 QAnimationGroup::metaObject
+24 QAnimationGroup::qt_metacast
+32 QAnimationGroup::qt_metacall
+40 QAnimationGroup::~QAnimationGroup
+48 QAnimationGroup::~QAnimationGroup
+56 QAnimationGroup::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 QAbstractAnimation::updateState
+136 QAbstractAnimation::updateDirection
+
+Class QAnimationGroup
+ size=16 align=8
+ base size=16 base align=8
+QAnimationGroup (0x7f4f33a37150) 0
+ vptr=((& QAnimationGroup::_ZTV15QAnimationGroup) + 16u)
+ QAbstractAnimation (0x7f4f33a371c0) 0
+ primary-for QAnimationGroup (0x7f4f33a37150)
+ QObject (0x7f4f33a37230) 0
+ primary-for QAbstractAnimation (0x7f4f33a371c0)
+
+Vtable for QParallelAnimationGroup
+QParallelAnimationGroup::_ZTV23QParallelAnimationGroup: 18u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI23QParallelAnimationGroup)
+16 QParallelAnimationGroup::metaObject
+24 QParallelAnimationGroup::qt_metacast
+32 QParallelAnimationGroup::qt_metacall
+40 QParallelAnimationGroup::~QParallelAnimationGroup
+48 QParallelAnimationGroup::~QParallelAnimationGroup
+56 QParallelAnimationGroup::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QParallelAnimationGroup::duration
+120 QParallelAnimationGroup::updateCurrentTime
+128 QParallelAnimationGroup::updateState
+136 QParallelAnimationGroup::updateDirection
+
+Class QParallelAnimationGroup
+ size=16 align=8
+ base size=16 base align=8
+QParallelAnimationGroup (0x7f4f33a51000) 0
+ vptr=((& QParallelAnimationGroup::_ZTV23QParallelAnimationGroup) + 16u)
+ QAnimationGroup (0x7f4f33a51070) 0
+ primary-for QParallelAnimationGroup (0x7f4f33a51000)
+ QAbstractAnimation (0x7f4f33a510e0) 0
+ primary-for QAnimationGroup (0x7f4f33a51070)
+ QObject (0x7f4f33a51150) 0
+ primary-for QAbstractAnimation (0x7f4f33a510e0)
+
+Vtable for QPauseAnimation
+QPauseAnimation::_ZTV15QPauseAnimation: 18u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QPauseAnimation)
+16 QPauseAnimation::metaObject
+24 QPauseAnimation::qt_metacast
+32 QPauseAnimation::qt_metacall
+40 QPauseAnimation::~QPauseAnimation
+48 QPauseAnimation::~QPauseAnimation
+56 QPauseAnimation::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QPauseAnimation::duration
+120 QPauseAnimation::updateCurrentTime
+128 QAbstractAnimation::updateState
+136 QAbstractAnimation::updateDirection
+
+Class QPauseAnimation
+ size=16 align=8
+ base size=16 base align=8
+QPauseAnimation (0x7f4f33a5fe70) 0
+ vptr=((& QPauseAnimation::_ZTV15QPauseAnimation) + 16u)
+ QAbstractAnimation (0x7f4f33a5fee0) 0
+ primary-for QPauseAnimation (0x7f4f33a5fe70)
+ QObject (0x7f4f33a5ff50) 0
+ primary-for QAbstractAnimation (0x7f4f33a5fee0)
+
+Vtable for QVariantAnimation
+QVariantAnimation::_ZTV17QVariantAnimation: 20u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QVariantAnimation)
+16 QVariantAnimation::metaObject
+24 QVariantAnimation::qt_metacast
+32 QVariantAnimation::qt_metacall
+40 QVariantAnimation::~QVariantAnimation
+48 QVariantAnimation::~QVariantAnimation
+56 QVariantAnimation::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QVariantAnimation::duration
+120 QVariantAnimation::updateCurrentTime
+128 QVariantAnimation::updateState
+136 QAbstractAnimation::updateDirection
+144 __cxa_pure_virtual
+152 QVariantAnimation::interpolated
+
+Class QVariantAnimation
+ size=16 align=8
+ base size=16 base align=8
+QVariantAnimation (0x7f4f33a7c8c0) 0
+ vptr=((& QVariantAnimation::_ZTV17QVariantAnimation) + 16u)
+ QAbstractAnimation (0x7f4f33a7c930) 0
+ primary-for QVariantAnimation (0x7f4f33a7c8c0)
+ QObject (0x7f4f33a7c9a0) 0
+ primary-for QAbstractAnimation (0x7f4f33a7c930)
+
+Vtable for QPropertyAnimation
+QPropertyAnimation::_ZTV18QPropertyAnimation: 20u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QPropertyAnimation)
+16 QPropertyAnimation::metaObject
+24 QPropertyAnimation::qt_metacast
+32 QPropertyAnimation::qt_metacall
+40 QPropertyAnimation::~QPropertyAnimation
+48 QPropertyAnimation::~QPropertyAnimation
+56 QPropertyAnimation::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QVariantAnimation::duration
+120 QVariantAnimation::updateCurrentTime
+128 QPropertyAnimation::updateState
+136 QAbstractAnimation::updateDirection
+144 QPropertyAnimation::updateCurrentValue
+152 QVariantAnimation::interpolated
+
+Class QPropertyAnimation
+ size=16 align=8
+ base size=16 base align=8
+QPropertyAnimation (0x7f4f33899b60) 0
+ vptr=((& QPropertyAnimation::_ZTV18QPropertyAnimation) + 16u)
+ QVariantAnimation (0x7f4f33899bd0) 0
+ primary-for QPropertyAnimation (0x7f4f33899b60)
+ QAbstractAnimation (0x7f4f33899c40) 0
+ primary-for QVariantAnimation (0x7f4f33899bd0)
+ QObject (0x7f4f33899cb0) 0
+ primary-for QAbstractAnimation (0x7f4f33899c40)
+
+Vtable for QSequentialAnimationGroup
+QSequentialAnimationGroup::_ZTV25QSequentialAnimationGroup: 18u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI25QSequentialAnimationGroup)
+16 QSequentialAnimationGroup::metaObject
+24 QSequentialAnimationGroup::qt_metacast
+32 QSequentialAnimationGroup::qt_metacall
+40 QSequentialAnimationGroup::~QSequentialAnimationGroup
+48 QSequentialAnimationGroup::~QSequentialAnimationGroup
+56 QSequentialAnimationGroup::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QSequentialAnimationGroup::duration
+120 QSequentialAnimationGroup::updateCurrentTime
+128 QSequentialAnimationGroup::updateState
+136 QSequentialAnimationGroup::updateDirection
+
+Class QSequentialAnimationGroup
+ size=16 align=8
+ base size=16 base align=8
+QSequentialAnimationGroup (0x7f4f338b3b60) 0
+ vptr=((& QSequentialAnimationGroup::_ZTV25QSequentialAnimationGroup) + 16u)
+ QAnimationGroup (0x7f4f338b3bd0) 0
+ primary-for QSequentialAnimationGroup (0x7f4f338b3b60)
+ QAbstractAnimation (0x7f4f338b3c40) 0
+ primary-for QAnimationGroup (0x7f4f338b3bd0)
+ QObject (0x7f4f338b3cb0) 0
+ primary-for QAbstractAnimation (0x7f4f338b3c40)
+
+Class QSqlRecord
+ size=8 align=8
+ base size=8 base align=8
+QSqlRecord (0x7f4f33907230) 0
+
+Vtable for QSqlDriverCreatorBase
+QSqlDriverCreatorBase::_ZTV21QSqlDriverCreatorBase: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI21QSqlDriverCreatorBase)
+16 QSqlDriverCreatorBase::~QSqlDriverCreatorBase
+24 QSqlDriverCreatorBase::~QSqlDriverCreatorBase
+32 __cxa_pure_virtual
+
+Class QSqlDriverCreatorBase
+ size=8 align=8
+ base size=8 base align=8
+QSqlDriverCreatorBase (0x7f4f33907e70) 0 nearly-empty
+ vptr=((& QSqlDriverCreatorBase::_ZTV21QSqlDriverCreatorBase) + 16u)
+
+Class QSqlDatabase
+ size=8 align=8
+ base size=8 base align=8
+QSqlDatabase (0x7f4f3391c9a0) 0
+
+Class QSqlQuery
+ size=8 align=8
+ base size=8 base align=8
+QSqlQuery (0x7f4f3392ed90) 0
+
+Vtable for QSqlDriver
+QSqlDriver::_ZTV10QSqlDriver: 32u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QSqlDriver)
+16 QSqlDriver::metaObject
+24 QSqlDriver::qt_metacast
+32 QSqlDriver::qt_metacall
+40 QSqlDriver::~QSqlDriver
+48 QSqlDriver::~QSqlDriver
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QSqlDriver::isOpen
+120 QSqlDriver::beginTransaction
+128 QSqlDriver::commitTransaction
+136 QSqlDriver::rollbackTransaction
+144 QSqlDriver::tables
+152 QSqlDriver::primaryIndex
+160 QSqlDriver::record
+168 QSqlDriver::formatValue
+176 QSqlDriver::escapeIdentifier
+184 QSqlDriver::sqlStatement
+192 QSqlDriver::handle
+200 __cxa_pure_virtual
+208 __cxa_pure_virtual
+216 __cxa_pure_virtual
+224 __cxa_pure_virtual
+232 QSqlDriver::setOpen
+240 QSqlDriver::setOpenError
+248 QSqlDriver::setLastError
+
+Class QSqlDriver
+ size=16 align=8
+ base size=16 base align=8
+QSqlDriver (0x7f4f3393b850) 0
+ vptr=((& QSqlDriver::_ZTV10QSqlDriver) + 16u)
+ QObject (0x7f4f3393b8c0) 0
+ primary-for QSqlDriver (0x7f4f3393b850)
+
+Vtable for QSqlDriverFactoryInterface
+QSqlDriverFactoryInterface::_ZTV26QSqlDriverFactoryInterface: 6u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI26QSqlDriverFactoryInterface)
+16 QSqlDriverFactoryInterface::~QSqlDriverFactoryInterface
+24 QSqlDriverFactoryInterface::~QSqlDriverFactoryInterface
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+
+Class QSqlDriverFactoryInterface
+ size=8 align=8
+ base size=8 base align=8
+QSqlDriverFactoryInterface (0x7f4f3397e0e0) 0 nearly-empty
+ vptr=((& QSqlDriverFactoryInterface::_ZTV26QSqlDriverFactoryInterface) + 16u)
+ QFactoryInterface (0x7f4f3397e150) 0 nearly-empty
+ primary-for QSqlDriverFactoryInterface (0x7f4f3397e0e0)
+
+Vtable for QSqlDriverPlugin
+QSqlDriverPlugin::_ZTV16QSqlDriverPlugin: 22u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QSqlDriverPlugin)
+16 QSqlDriverPlugin::metaObject
+24 QSqlDriverPlugin::qt_metacast
+32 QSqlDriverPlugin::qt_metacall
+40 QSqlDriverPlugin::~QSqlDriverPlugin
+48 QSqlDriverPlugin::~QSqlDriverPlugin
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 (int (*)(...))-0x00000000000000010
+136 (int (*)(...))(& _ZTI16QSqlDriverPlugin)
+144 QSqlDriverPlugin::_ZThn16_N16QSqlDriverPluginD1Ev
+152 QSqlDriverPlugin::_ZThn16_N16QSqlDriverPluginD0Ev
+160 __cxa_pure_virtual
+168 __cxa_pure_virtual
+
+Class QSqlDriverPlugin
+ size=24 align=8
+ base size=24 base align=8
+QSqlDriverPlugin (0x7f4f33979c00) 0
+ vptr=((& QSqlDriverPlugin::_ZTV16QSqlDriverPlugin) + 16u)
+ QObject (0x7f4f3397eb60) 0
+ primary-for QSqlDriverPlugin (0x7f4f33979c00)
+ QSqlDriverFactoryInterface (0x7f4f3397ebd0) 16 nearly-empty
+ vptr=((& QSqlDriverPlugin::_ZTV16QSqlDriverPlugin) + 144u)
+ QFactoryInterface (0x7f4f3397ec40) 16 nearly-empty
+ primary-for QSqlDriverFactoryInterface (0x7f4f3397ebd0)
+
+Class QSqlError
+ size=24 align=8
+ base size=24 base align=8
+QSqlError (0x7f4f33790a80) 0
+
+Class QSqlField
+ size=24 align=8
+ base size=24 base align=8
+QSqlField (0x7f4f337989a0) 0
+
+Class QSqlIndex
+ size=32 align=8
+ base size=32 base align=8
+QSqlIndex (0x7f4f337b52a0) 0
+ QSqlRecord (0x7f4f337b5310) 0
+
+Vtable for QSqlResult
+QSqlResult::_ZTV10QSqlResult: 29u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QSqlResult)
+16 QSqlResult::~QSqlResult
+24 QSqlResult::~QSqlResult
+32 QSqlResult::handle
+40 QSqlResult::setAt
+48 QSqlResult::setActive
+56 QSqlResult::setLastError
+64 QSqlResult::setQuery
+72 QSqlResult::setSelect
+80 QSqlResult::setForwardOnly
+88 QSqlResult::exec
+96 QSqlResult::prepare
+104 QSqlResult::savePrepare
+112 QSqlResult::bindValue
+120 QSqlResult::bindValue
+128 __cxa_pure_virtual
+136 __cxa_pure_virtual
+144 __cxa_pure_virtual
+152 __cxa_pure_virtual
+160 QSqlResult::fetchNext
+168 QSqlResult::fetchPrevious
+176 __cxa_pure_virtual
+184 __cxa_pure_virtual
+192 __cxa_pure_virtual
+200 __cxa_pure_virtual
+208 QSqlResult::record
+216 QSqlResult::lastInsertId
+224 QSqlResult::virtual_hook
+
+Class QSqlResult
+ size=16 align=8
+ base size=16 base align=8
+QSqlResult (0x7f4f337e81c0) 0
+ vptr=((& QSqlResult::_ZTV10QSqlResult) + 16u)
+
+Vtable for QSqlQueryModel
+QSqlQueryModel::_ZTV14QSqlQueryModel: 44u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QSqlQueryModel)
+16 QSqlQueryModel::metaObject
+24 QSqlQueryModel::qt_metacast
+32 QSqlQueryModel::qt_metacall
+40 QSqlQueryModel::~QSqlQueryModel
+48 QSqlQueryModel::~QSqlQueryModel
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QAbstractTableModel::index
+120 QAbstractTableModel::parent
+128 QSqlQueryModel::rowCount
+136 QSqlQueryModel::columnCount
+144 QAbstractTableModel::hasChildren
+152 QSqlQueryModel::data
+160 QAbstractItemModel::setData
+168 QSqlQueryModel::headerData
+176 QSqlQueryModel::setHeaderData
+184 QAbstractItemModel::itemData
+192 QAbstractItemModel::setItemData
+200 QAbstractItemModel::mimeTypes
+208 QAbstractItemModel::mimeData
+216 QAbstractTableModel::dropMimeData
+224 QAbstractItemModel::supportedDropActions
+232 QAbstractItemModel::insertRows
+240 QSqlQueryModel::insertColumns
+248 QAbstractItemModel::removeRows
+256 QSqlQueryModel::removeColumns
+264 QSqlQueryModel::fetchMore
+272 QSqlQueryModel::canFetchMore
+280 QAbstractItemModel::flags
+288 QAbstractItemModel::sort
+296 QAbstractItemModel::buddy
+304 QAbstractItemModel::match
+312 QAbstractItemModel::span
+320 QAbstractItemModel::submit
+328 QAbstractItemModel::revert
+336 QSqlQueryModel::clear
+344 QSqlQueryModel::queryChange
+
+Class QSqlQueryModel
+ size=16 align=8
+ base size=16 base align=8
+QSqlQueryModel (0x7f4f337e8a80) 0
+ vptr=((& QSqlQueryModel::_ZTV14QSqlQueryModel) + 16u)
+ QAbstractTableModel (0x7f4f337e8af0) 0
+ primary-for QSqlQueryModel (0x7f4f337e8a80)
+ QAbstractItemModel (0x7f4f337e8b60) 0
+ primary-for QAbstractTableModel (0x7f4f337e8af0)
+ QObject (0x7f4f337e8bd0) 0
+ primary-for QAbstractItemModel (0x7f4f337e8b60)
+
+Vtable for QSqlTableModel
+QSqlTableModel::_ZTV14QSqlTableModel: 55u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QSqlTableModel)
+16 QSqlTableModel::metaObject
+24 QSqlTableModel::qt_metacast
+32 QSqlTableModel::qt_metacall
+40 QSqlTableModel::~QSqlTableModel
+48 QSqlTableModel::~QSqlTableModel
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QAbstractTableModel::index
+120 QAbstractTableModel::parent
+128 QSqlTableModel::rowCount
+136 QSqlQueryModel::columnCount
+144 QAbstractTableModel::hasChildren
+152 QSqlTableModel::data
+160 QSqlTableModel::setData
+168 QSqlTableModel::headerData
+176 QSqlQueryModel::setHeaderData
+184 QAbstractItemModel::itemData
+192 QAbstractItemModel::setItemData
+200 QAbstractItemModel::mimeTypes
+208 QAbstractItemModel::mimeData
+216 QAbstractTableModel::dropMimeData
+224 QAbstractItemModel::supportedDropActions
+232 QSqlTableModel::insertRows
+240 QSqlQueryModel::insertColumns
+248 QSqlTableModel::removeRows
+256 QSqlTableModel::removeColumns
+264 QSqlQueryModel::fetchMore
+272 QSqlQueryModel::canFetchMore
+280 QSqlTableModel::flags
+288 QSqlTableModel::sort
+296 QAbstractItemModel::buddy
+304 QAbstractItemModel::match
+312 QAbstractItemModel::span
+320 QSqlTableModel::submit
+328 QSqlTableModel::revert
+336 QSqlTableModel::clear
+344 QSqlQueryModel::queryChange
+352 QSqlTableModel::select
+360 QSqlTableModel::setTable
+368 QSqlTableModel::setEditStrategy
+376 QSqlTableModel::setSort
+384 QSqlTableModel::setFilter
+392 QSqlTableModel::revertRow
+400 QSqlTableModel::updateRowInTable
+408 QSqlTableModel::insertRowIntoTable
+416 QSqlTableModel::deleteRowFromTable
+424 QSqlTableModel::orderByClause
+432 QSqlTableModel::selectStatement
+
+Class QSqlTableModel
+ size=16 align=8
+ base size=16 base align=8
+QSqlTableModel (0x7f4f3381e380) 0
+ vptr=((& QSqlTableModel::_ZTV14QSqlTableModel) + 16u)
+ QSqlQueryModel (0x7f4f3381e3f0) 0
+ primary-for QSqlTableModel (0x7f4f3381e380)
+ QAbstractTableModel (0x7f4f3381e460) 0
+ primary-for QSqlQueryModel (0x7f4f3381e3f0)
+ QAbstractItemModel (0x7f4f3381e4d0) 0
+ primary-for QAbstractTableModel (0x7f4f3381e460)
+ QObject (0x7f4f3381e540) 0
+ primary-for QAbstractItemModel (0x7f4f3381e4d0)
+
+Class QSqlRelation
+ size=24 align=8
+ base size=24 base align=8
+QSqlRelation (0x7f4f33842e70) 0
+
+Vtable for QSqlRelationalTableModel
+QSqlRelationalTableModel::_ZTV24QSqlRelationalTableModel: 57u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI24QSqlRelationalTableModel)
+16 QSqlRelationalTableModel::metaObject
+24 QSqlRelationalTableModel::qt_metacast
+32 QSqlRelationalTableModel::qt_metacall
+40 QSqlRelationalTableModel::~QSqlRelationalTableModel
+48 QSqlRelationalTableModel::~QSqlRelationalTableModel
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QAbstractTableModel::index
+120 QAbstractTableModel::parent
+128 QSqlTableModel::rowCount
+136 QSqlQueryModel::columnCount
+144 QAbstractTableModel::hasChildren
+152 QSqlRelationalTableModel::data
+160 QSqlRelationalTableModel::setData
+168 QSqlTableModel::headerData
+176 QSqlQueryModel::setHeaderData
+184 QAbstractItemModel::itemData
+192 QAbstractItemModel::setItemData
+200 QAbstractItemModel::mimeTypes
+208 QAbstractItemModel::mimeData
+216 QAbstractTableModel::dropMimeData
+224 QAbstractItemModel::supportedDropActions
+232 QSqlTableModel::insertRows
+240 QSqlQueryModel::insertColumns
+248 QSqlTableModel::removeRows
+256 QSqlRelationalTableModel::removeColumns
+264 QSqlQueryModel::fetchMore
+272 QSqlQueryModel::canFetchMore
+280 QSqlTableModel::flags
+288 QSqlTableModel::sort
+296 QAbstractItemModel::buddy
+304 QAbstractItemModel::match
+312 QAbstractItemModel::span
+320 QSqlTableModel::submit
+328 QSqlTableModel::revert
+336 QSqlRelationalTableModel::clear
+344 QSqlQueryModel::queryChange
+352 QSqlRelationalTableModel::select
+360 QSqlRelationalTableModel::setTable
+368 QSqlTableModel::setEditStrategy
+376 QSqlTableModel::setSort
+384 QSqlTableModel::setFilter
+392 QSqlRelationalTableModel::revertRow
+400 QSqlRelationalTableModel::updateRowInTable
+408 QSqlRelationalTableModel::insertRowIntoTable
+416 QSqlTableModel::deleteRowFromTable
+424 QSqlRelationalTableModel::orderByClause
+432 QSqlRelationalTableModel::selectStatement
+440 QSqlRelationalTableModel::setRelation
+448 QSqlRelationalTableModel::relationModel
+
+Class QSqlRelationalTableModel
+ size=16 align=8
+ base size=16 base align=8
+QSqlRelationalTableModel (0x7f4f338667e0) 0
+ vptr=((& QSqlRelationalTableModel::_ZTV24QSqlRelationalTableModel) + 16u)
+ QSqlTableModel (0x7f4f33866850) 0
+ primary-for QSqlRelationalTableModel (0x7f4f338667e0)
+ QSqlQueryModel (0x7f4f338668c0) 0
+ primary-for QSqlTableModel (0x7f4f33866850)
+ QAbstractTableModel (0x7f4f33866930) 0
+ primary-for QSqlQueryModel (0x7f4f338668c0)
+ QAbstractItemModel (0x7f4f338669a0) 0
+ primary-for QAbstractTableModel (0x7f4f33866930)
+ QObject (0x7f4f33866a10) 0
+ primary-for QAbstractItemModel (0x7f4f338669a0)
+
+Class QHelpGlobal
+ size=1 align=1
+ base size=0 base align=1
+QHelpGlobal (0x7f4f33883070) 0 empty
+
+Vtable for QPaintDevice
+QPaintDevice::_ZTV12QPaintDevice: 7u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QPaintDevice)
+16 QPaintDevice::~QPaintDevice
+24 QPaintDevice::~QPaintDevice
+32 QPaintDevice::devType
+40 __cxa_pure_virtual
+48 QPaintDevice::metric
+
+Class QPaintDevice
+ size=16 align=8
+ base size=10 base align=8
+QPaintDevice (0x7f4f338830e0) 0
+ vptr=((& QPaintDevice::_ZTV12QPaintDevice) + 16u)
+
+Class QColor
+ size=16 align=4
+ base size=14 base align=4
+QColor (0x7f4f336b5a10) 0
+
+Class QPolygon
+ size=8 align=8
+ base size=8 base align=8
+QPolygon (0x7f4f33716230) 0
+ QVector<QPoint> (0x7f4f337162a0) 0
+
+Class QPolygonF
+ size=8 align=8
+ base size=8 base align=8
+QPolygonF (0x7f4f33757770) 0
+ QVector<QPointF> (0x7f4f337577e0) 0
+
+Class QRegion::QRegionData
+ size=32 align=8
+ base size=32 base align=8
+QRegion::QRegionData (0x7f4f335bd0e0) 0
+
+Class QRegion
+ size=8 align=8
+ base size=8 base align=8
+QRegion (0x7f4f335998c0) 0
+
+Class QMatrix
+ size=48 align=8
+ base size=48 base align=8
+QMatrix (0x7f4f335d0a10) 0
+
+Class QPainterPath::Element
+ size=24 align=8
+ base size=24 base align=8
+QPainterPath::Element (0x7f4f33611b60) 0
+
+Class QPainterPath
+ size=8 align=8
+ base size=8 base align=8
+QPainterPath (0x7f4f33611af0) 0
+
+Class QPainterPathPrivate
+ size=16 align=8
+ base size=16 base align=8
+QPainterPathPrivate (0x7f4f3366e2a0) 0
+
+Class QPainterPathStroker
+ size=8 align=8
+ base size=8 base align=8
+QPainterPathStroker (0x7f4f3366ed90) 0
+
+Class QTransform
+ size=88 align=8
+ base size=88 base align=8
+QTransform (0x7f4f334d7d90) 0
+
+Class QImageTextKeyLang
+ size=16 align=8
+ base size=16 base align=8
+QImageTextKeyLang (0x7f4f335833f0) 0
+
+Vtable for QImage
+QImage::_ZTV6QImage: 7u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI6QImage)
+16 QImage::~QImage
+24 QImage::~QImage
+32 QImage::devType
+40 QImage::paintEngine
+48 QImage::metric
+
+Class QImage
+ size=24 align=8
+ base size=24 base align=8
+QImage (0x7f4f333aac40) 0
+ vptr=((& QImage::_ZTV6QImage) + 16u)
+ QPaintDevice (0x7f4f333aacb0) 0
+ primary-for QImage (0x7f4f333aac40)
+
+Vtable for QPixmap
+QPixmap::_ZTV7QPixmap: 7u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QPixmap)
+16 QPixmap::~QPixmap
+24 QPixmap::~QPixmap
+32 QPixmap::devType
+40 QPixmap::paintEngine
+48 QPixmap::metric
+
+Class QPixmap
+ size=24 align=8
+ base size=24 base align=8
+QPixmap (0x7f4f334533f0) 0
+ vptr=((& QPixmap::_ZTV7QPixmap) + 16u)
+ QPaintDevice (0x7f4f33453460) 0
+ primary-for QPixmap (0x7f4f334533f0)
+
+Class QBrush
+ size=8 align=8
+ base size=8 base align=8
+QBrush (0x7f4f332b4700) 0
+
+Class QBrushData
+ size=112 align=8
+ base size=112 base align=8
+QBrushData (0x7f4f332e0150) 0
+
+Class QGradient
+ size=64 align=8
+ base size=64 base align=8
+QGradient (0x7f4f332f7310) 0
+
+Class QLinearGradient
+ size=64 align=8
+ base size=64 base align=8
+QLinearGradient (0x7f4f33303e00) 0
+ QGradient (0x7f4f33303e70) 0
+
+Class QRadialGradient
+ size=64 align=8
+ base size=64 base align=8
+QRadialGradient (0x7f4f3332e2a0) 0
+ QGradient (0x7f4f3332e310) 0
+
+Class QConicalGradient
+ size=64 align=8
+ base size=64 base align=8
+QConicalGradient (0x7f4f3332e850) 0
+ QGradient (0x7f4f3332e8c0) 0
+
+Class QPalette
+ size=16 align=8
+ base size=12 base align=8
+QPalette (0x7f4f3332ebd0) 0
+
+Class QColorGroup
+ size=16 align=8
+ base size=12 base align=8
+QColorGroup (0x7f4f3318f540) 0
+ QPalette (0x7f4f3318f5b0) 0
+
+Class QFont
+ size=16 align=8
+ base size=12 base align=8
+QFont (0x7f4f331c6850) 0
+
+Class QFontMetrics
+ size=8 align=8
+ base size=8 base align=8
+QFontMetrics (0x7f4f3320f540) 0
+
+Class QFontMetricsF
+ size=8 align=8
+ base size=8 base align=8
+QFontMetricsF (0x7f4f332239a0) 0
+
+Class QFontInfo
+ size=8 align=8
+ base size=8 base align=8
+QFontInfo (0x7f4f3322e8c0) 0
+
+Class QSizePolicy
+ size=4 align=4
+ base size=4 base align=4
+QSizePolicy (0x7f4f332433f0) 0
+
+Class QCursor
+ size=8 align=8
+ base size=8 base align=8
+QCursor (0x7f4f3310c3f0) 0
+
+Class QKeySequence
+ size=8 align=8
+ base size=8 base align=8
+QKeySequence (0x7f4f3310cbd0) 0
+
+Class QWidgetData
+ size=88 align=8
+ base size=88 base align=8
+QWidgetData (0x7f4f3314e540) 0
+
+Vtable for QWidget
+QWidget::_ZTV7QWidget: 63u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QWidget)
+16 QWidget::metaObject
+24 QWidget::qt_metacast
+32 QWidget::qt_metacall
+40 QWidget::~QWidget
+48 QWidget::~QWidget
+56 QWidget::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QWidget::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QWidget::paintEvent
+256 QWidget::moveEvent
+264 QWidget::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QWidget::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 (int (*)(...))-0x00000000000000010
+456 (int (*)(...))(& _ZTI7QWidget)
+464 QWidget::_ZThn16_N7QWidgetD1Ev
+472 QWidget::_ZThn16_N7QWidgetD0Ev
+480 QWidget::_ZThn16_NK7QWidget7devTypeEv
+488 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+496 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QWidget
+ size=40 align=8
+ base size=40 base align=8
+QWidget (0x7f4f33150980) 0
+ vptr=((& QWidget::_ZTV7QWidget) + 16u)
+ QObject (0x7f4f3314e5b0) 0
+ primary-for QWidget (0x7f4f33150980)
+ QPaintDevice (0x7f4f3314e620) 16
+ vptr=((& QWidget::_ZTV7QWidget) + 464u)
+
+Vtable for QFrame
+QFrame::_ZTV6QFrame: 63u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI6QFrame)
+16 QFrame::metaObject
+24 QFrame::qt_metacast
+32 QFrame::qt_metacall
+40 QFrame::~QFrame
+48 QFrame::~QFrame
+56 QFrame::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QFrame::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QFrame::paintEvent
+256 QWidget::moveEvent
+264 QWidget::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QFrame::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 (int (*)(...))-0x00000000000000010
+456 (int (*)(...))(& _ZTI6QFrame)
+464 QFrame::_ZThn16_N6QFrameD1Ev
+472 QFrame::_ZThn16_N6QFrameD0Ev
+480 QWidget::_ZThn16_NK7QWidget7devTypeEv
+488 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+496 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QFrame
+ size=40 align=8
+ base size=40 base align=8
+QFrame (0x7f4f32ecf620) 0
+ vptr=((& QFrame::_ZTV6QFrame) + 16u)
+ QWidget (0x7f4f32ecd600) 0
+ primary-for QFrame (0x7f4f32ecf620)
+ QObject (0x7f4f32ecf690) 0
+ primary-for QWidget (0x7f4f32ecd600)
+ QPaintDevice (0x7f4f32ecf700) 16
+ vptr=((& QFrame::_ZTV6QFrame) + 464u)
+
+Vtable for QAbstractScrollArea
+QAbstractScrollArea::_ZTV19QAbstractScrollArea: 65u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QAbstractScrollArea)
+16 QAbstractScrollArea::metaObject
+24 QAbstractScrollArea::qt_metacast
+32 QAbstractScrollArea::qt_metacall
+40 QAbstractScrollArea::~QAbstractScrollArea
+48 QAbstractScrollArea::~QAbstractScrollArea
+56 QAbstractScrollArea::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QAbstractScrollArea::sizeHint
+136 QAbstractScrollArea::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QAbstractScrollArea::mousePressEvent
+168 QAbstractScrollArea::mouseReleaseEvent
+176 QAbstractScrollArea::mouseDoubleClickEvent
+184 QAbstractScrollArea::mouseMoveEvent
+192 QAbstractScrollArea::wheelEvent
+200 QAbstractScrollArea::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QAbstractScrollArea::paintEvent
+256 QWidget::moveEvent
+264 QAbstractScrollArea::resizeEvent
+272 QWidget::closeEvent
+280 QAbstractScrollArea::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QAbstractScrollArea::dragEnterEvent
+312 QAbstractScrollArea::dragMoveEvent
+320 QAbstractScrollArea::dragLeaveEvent
+328 QAbstractScrollArea::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QFrame::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QAbstractScrollArea::viewportEvent
+456 QAbstractScrollArea::scrollContentsBy
+464 (int (*)(...))-0x00000000000000010
+472 (int (*)(...))(& _ZTI19QAbstractScrollArea)
+480 QAbstractScrollArea::_ZThn16_N19QAbstractScrollAreaD1Ev
+488 QAbstractScrollArea::_ZThn16_N19QAbstractScrollAreaD0Ev
+496 QWidget::_ZThn16_NK7QWidget7devTypeEv
+504 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+512 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QAbstractScrollArea
+ size=40 align=8
+ base size=40 base align=8
+QAbstractScrollArea (0x7f4f32ef2c40) 0
+ vptr=((& QAbstractScrollArea::_ZTV19QAbstractScrollArea) + 16u)
+ QFrame (0x7f4f32ef2cb0) 0
+ primary-for QAbstractScrollArea (0x7f4f32ef2c40)
+ QWidget (0x7f4f32edba00) 0
+ primary-for QFrame (0x7f4f32ef2cb0)
+ QObject (0x7f4f32ef2d20) 0
+ primary-for QWidget (0x7f4f32edba00)
+ QPaintDevice (0x7f4f32ef2d90) 16
+ vptr=((& QAbstractScrollArea::_ZTV19QAbstractScrollArea) + 480u)
+
+Class QItemSelectionRange
+ size=16 align=8
+ base size=16 base align=8
+QItemSelectionRange (0x7f4f32f16b60) 0
+
+Vtable for QItemSelectionModel
+QItemSelectionModel::_ZTV19QItemSelectionModel: 18u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QItemSelectionModel)
+16 QItemSelectionModel::metaObject
+24 QItemSelectionModel::qt_metacast
+32 QItemSelectionModel::qt_metacall
+40 QItemSelectionModel::~QItemSelectionModel
+48 QItemSelectionModel::~QItemSelectionModel
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QItemSelectionModel::select
+120 QItemSelectionModel::select
+128 QItemSelectionModel::clear
+136 QItemSelectionModel::reset
+
+Class QItemSelectionModel
+ size=16 align=8
+ base size=16 base align=8
+QItemSelectionModel (0x7f4f32d8a070) 0
+ vptr=((& QItemSelectionModel::_ZTV19QItemSelectionModel) + 16u)
+ QObject (0x7f4f32d8a0e0) 0
+ primary-for QItemSelectionModel (0x7f4f32d8a070)
+
+Class QItemSelection
+ size=8 align=8
+ base size=8 base align=8
+QItemSelection (0x7f4f32dd6540) 0
+ QList<QItemSelectionRange> (0x7f4f32dd65b0) 0
+
+Vtable for QValidator
+QValidator::_ZTV10QValidator: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QValidator)
+16 QValidator::metaObject
+24 QValidator::qt_metacast
+32 QValidator::qt_metacall
+40 QValidator::~QValidator
+48 QValidator::~QValidator
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+120 QValidator::fixup
+
+Class QValidator
+ size=16 align=8
+ base size=16 base align=8
+QValidator (0x7f4f32dd6e00) 0
+ vptr=((& QValidator::_ZTV10QValidator) + 16u)
+ QObject (0x7f4f32dd6e70) 0
+ primary-for QValidator (0x7f4f32dd6e00)
+
+Vtable for QIntValidator
+QIntValidator::_ZTV13QIntValidator: 17u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QIntValidator)
+16 QIntValidator::metaObject
+24 QIntValidator::qt_metacast
+32 QIntValidator::qt_metacall
+40 QIntValidator::~QIntValidator
+48 QIntValidator::~QIntValidator
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QIntValidator::validate
+120 QValidator::fixup
+128 QIntValidator::setRange
+
+Class QIntValidator
+ size=24 align=8
+ base size=24 base align=8
+QIntValidator (0x7f4f32e17c40) 0
+ vptr=((& QIntValidator::_ZTV13QIntValidator) + 16u)
+ QValidator (0x7f4f32e17cb0) 0
+ primary-for QIntValidator (0x7f4f32e17c40)
+ QObject (0x7f4f32e17d20) 0
+ primary-for QValidator (0x7f4f32e17cb0)
+
+Vtable for QDoubleValidator
+QDoubleValidator::_ZTV16QDoubleValidator: 17u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QDoubleValidator)
+16 QDoubleValidator::metaObject
+24 QDoubleValidator::qt_metacast
+32 QDoubleValidator::qt_metacall
+40 QDoubleValidator::~QDoubleValidator
+48 QDoubleValidator::~QDoubleValidator
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QDoubleValidator::validate
+120 QValidator::fixup
+128 QDoubleValidator::setRange
+
+Class QDoubleValidator
+ size=40 align=8
+ base size=36 base align=8
+QDoubleValidator (0x7f4f32e30bd0) 0
+ vptr=((& QDoubleValidator::_ZTV16QDoubleValidator) + 16u)
+ QValidator (0x7f4f32e30c40) 0
+ primary-for QDoubleValidator (0x7f4f32e30bd0)
+ QObject (0x7f4f32e30cb0) 0
+ primary-for QValidator (0x7f4f32e30c40)
+
+Vtable for QRegExpValidator
+QRegExpValidator::_ZTV16QRegExpValidator: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QRegExpValidator)
+16 QRegExpValidator::metaObject
+24 QRegExpValidator::qt_metacast
+32 QRegExpValidator::qt_metacall
+40 QRegExpValidator::~QRegExpValidator
+48 QRegExpValidator::~QRegExpValidator
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QRegExpValidator::validate
+120 QValidator::fixup
+
+Class QRegExpValidator
+ size=24 align=8
+ base size=24 base align=8
+QRegExpValidator (0x7f4f32e524d0) 0
+ vptr=((& QRegExpValidator::_ZTV16QRegExpValidator) + 16u)
+ QValidator (0x7f4f32e52540) 0
+ primary-for QRegExpValidator (0x7f4f32e524d0)
+ QObject (0x7f4f32e525b0) 0
+ primary-for QValidator (0x7f4f32e52540)
+
+Vtable for QAbstractSpinBox
+QAbstractSpinBox::_ZTV16QAbstractSpinBox: 68u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QAbstractSpinBox)
+16 QAbstractSpinBox::metaObject
+24 QAbstractSpinBox::qt_metacast
+32 QAbstractSpinBox::qt_metacall
+40 QAbstractSpinBox::~QAbstractSpinBox
+48 QAbstractSpinBox::~QAbstractSpinBox
+56 QAbstractSpinBox::event
+64 QObject::eventFilter
+72 QAbstractSpinBox::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QAbstractSpinBox::sizeHint
+136 QAbstractSpinBox::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QAbstractSpinBox::mousePressEvent
+168 QAbstractSpinBox::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QAbstractSpinBox::mouseMoveEvent
+192 QAbstractSpinBox::wheelEvent
+200 QAbstractSpinBox::keyPressEvent
+208 QAbstractSpinBox::keyReleaseEvent
+216 QAbstractSpinBox::focusInEvent
+224 QAbstractSpinBox::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QAbstractSpinBox::paintEvent
+256 QWidget::moveEvent
+264 QAbstractSpinBox::resizeEvent
+272 QAbstractSpinBox::closeEvent
+280 QAbstractSpinBox::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QAbstractSpinBox::showEvent
+344 QAbstractSpinBox::hideEvent
+352 QWidget::x11Event
+360 QAbstractSpinBox::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QAbstractSpinBox::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QAbstractSpinBox::validate
+456 QAbstractSpinBox::fixup
+464 QAbstractSpinBox::stepBy
+472 QAbstractSpinBox::clear
+480 QAbstractSpinBox::stepEnabled
+488 (int (*)(...))-0x00000000000000010
+496 (int (*)(...))(& _ZTI16QAbstractSpinBox)
+504 QAbstractSpinBox::_ZThn16_N16QAbstractSpinBoxD1Ev
+512 QAbstractSpinBox::_ZThn16_N16QAbstractSpinBoxD0Ev
+520 QWidget::_ZThn16_NK7QWidget7devTypeEv
+528 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+536 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QAbstractSpinBox
+ size=40 align=8
+ base size=40 base align=8
+QAbstractSpinBox (0x7f4f32e6a150) 0
+ vptr=((& QAbstractSpinBox::_ZTV16QAbstractSpinBox) + 16u)
+ QWidget (0x7f4f32e4ee00) 0
+ primary-for QAbstractSpinBox (0x7f4f32e6a150)
+ QObject (0x7f4f32e6a1c0) 0
+ primary-for QWidget (0x7f4f32e4ee00)
+ QPaintDevice (0x7f4f32e6a230) 16
+ vptr=((& QAbstractSpinBox::_ZTV16QAbstractSpinBox) + 504u)
+
+Class QIcon
+ size=8 align=8
+ base size=8 base align=8
+QIcon (0x7f4f32cc4150) 0
+
+Vtable for QAbstractSlider
+QAbstractSlider::_ZTV15QAbstractSlider: 64u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QAbstractSlider)
+16 QAbstractSlider::metaObject
+24 QAbstractSlider::qt_metacast
+32 QAbstractSlider::qt_metacall
+40 QAbstractSlider::~QAbstractSlider
+48 QAbstractSlider::~QAbstractSlider
+56 QAbstractSlider::event
+64 QObject::eventFilter
+72 QAbstractSlider::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QWidget::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QAbstractSlider::wheelEvent
+200 QAbstractSlider::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QWidget::paintEvent
+256 QWidget::moveEvent
+264 QWidget::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QAbstractSlider::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QAbstractSlider::sliderChange
+456 (int (*)(...))-0x00000000000000010
+464 (int (*)(...))(& _ZTI15QAbstractSlider)
+472 QAbstractSlider::_ZThn16_N15QAbstractSliderD1Ev
+480 QAbstractSlider::_ZThn16_N15QAbstractSliderD0Ev
+488 QWidget::_ZThn16_NK7QWidget7devTypeEv
+496 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+504 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QAbstractSlider
+ size=40 align=8
+ base size=40 base align=8
+QAbstractSlider (0x7f4f32cecd20) 0
+ vptr=((& QAbstractSlider::_ZTV15QAbstractSlider) + 16u)
+ QWidget (0x7f4f32cf0a80) 0
+ primary-for QAbstractSlider (0x7f4f32cecd20)
+ QObject (0x7f4f32cecd90) 0
+ primary-for QWidget (0x7f4f32cf0a80)
+ QPaintDevice (0x7f4f32cece00) 16
+ vptr=((& QAbstractSlider::_ZTV15QAbstractSlider) + 472u)
+
+Vtable for QSlider
+QSlider::_ZTV7QSlider: 64u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QSlider)
+16 QSlider::metaObject
+24 QSlider::qt_metacast
+32 QSlider::qt_metacall
+40 QSlider::~QSlider
+48 QSlider::~QSlider
+56 QSlider::event
+64 QObject::eventFilter
+72 QAbstractSlider::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QSlider::sizeHint
+136 QSlider::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QSlider::mousePressEvent
+168 QSlider::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QSlider::mouseMoveEvent
+192 QAbstractSlider::wheelEvent
+200 QAbstractSlider::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QSlider::paintEvent
+256 QWidget::moveEvent
+264 QWidget::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QAbstractSlider::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QAbstractSlider::sliderChange
+456 (int (*)(...))-0x00000000000000010
+464 (int (*)(...))(& _ZTI7QSlider)
+472 QSlider::_ZThn16_N7QSliderD1Ev
+480 QSlider::_ZThn16_N7QSliderD0Ev
+488 QWidget::_ZThn16_NK7QWidget7devTypeEv
+496 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+504 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QSlider
+ size=40 align=8
+ base size=40 base align=8
+QSlider (0x7f4f32d26b60) 0
+ vptr=((& QSlider::_ZTV7QSlider) + 16u)
+ QAbstractSlider (0x7f4f32d26bd0) 0
+ primary-for QSlider (0x7f4f32d26b60)
+ QWidget (0x7f4f32d25b80) 0
+ primary-for QAbstractSlider (0x7f4f32d26bd0)
+ QObject (0x7f4f32d26c40) 0
+ primary-for QWidget (0x7f4f32d25b80)
+ QPaintDevice (0x7f4f32d26cb0) 16
+ vptr=((& QSlider::_ZTV7QSlider) + 472u)
+
+Vtable for QStyle
+QStyle::_ZTV6QStyle: 35u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI6QStyle)
+16 QStyle::metaObject
+24 QStyle::qt_metacast
+32 QStyle::qt_metacall
+40 QStyle::~QStyle
+48 QStyle::~QStyle
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QStyle::polish
+120 QStyle::unpolish
+128 QStyle::polish
+136 QStyle::unpolish
+144 QStyle::polish
+152 QStyle::itemTextRect
+160 QStyle::itemPixmapRect
+168 QStyle::drawItemText
+176 QStyle::drawItemPixmap
+184 QStyle::standardPalette
+192 __cxa_pure_virtual
+200 __cxa_pure_virtual
+208 __cxa_pure_virtual
+216 __cxa_pure_virtual
+224 __cxa_pure_virtual
+232 __cxa_pure_virtual
+240 __cxa_pure_virtual
+248 __cxa_pure_virtual
+256 __cxa_pure_virtual
+264 __cxa_pure_virtual
+272 __cxa_pure_virtual
+
+Class QStyle
+ size=16 align=8
+ base size=16 base align=8
+QStyle (0x7f4f32d56150) 0
+ vptr=((& QStyle::_ZTV6QStyle) + 16u)
+ QObject (0x7f4f32d561c0) 0
+ primary-for QStyle (0x7f4f32d56150)
+
+Vtable for QTabBar
+QTabBar::_ZTV7QTabBar: 67u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QTabBar)
+16 QTabBar::metaObject
+24 QTabBar::qt_metacast
+32 QTabBar::qt_metacall
+40 QTabBar::~QTabBar
+48 QTabBar::~QTabBar
+56 QTabBar::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QTabBar::sizeHint
+136 QTabBar::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QTabBar::mousePressEvent
+168 QTabBar::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QTabBar::mouseMoveEvent
+192 QTabBar::wheelEvent
+200 QTabBar::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QTabBar::paintEvent
+256 QWidget::moveEvent
+264 QTabBar::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QTabBar::showEvent
+344 QTabBar::hideEvent
+352 QWidget::x11Event
+360 QTabBar::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QTabBar::tabSizeHint
+456 QTabBar::tabInserted
+464 QTabBar::tabRemoved
+472 QTabBar::tabLayoutChange
+480 (int (*)(...))-0x00000000000000010
+488 (int (*)(...))(& _ZTI7QTabBar)
+496 QTabBar::_ZThn16_N7QTabBarD1Ev
+504 QTabBar::_ZThn16_N7QTabBarD0Ev
+512 QWidget::_ZThn16_NK7QWidget7devTypeEv
+520 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+528 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QTabBar
+ size=40 align=8
+ base size=40 base align=8
+QTabBar (0x7f4f32b7d000) 0
+ vptr=((& QTabBar::_ZTV7QTabBar) + 16u)
+ QWidget (0x7f4f32b1cb80) 0
+ primary-for QTabBar (0x7f4f32b7d000)
+ QObject (0x7f4f32b7d070) 0
+ primary-for QWidget (0x7f4f32b1cb80)
+ QPaintDevice (0x7f4f32b7d0e0) 16
+ vptr=((& QTabBar::_ZTV7QTabBar) + 496u)
+
+Vtable for QTabWidget
+QTabWidget::_ZTV10QTabWidget: 65u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QTabWidget)
+16 QTabWidget::metaObject
+24 QTabWidget::qt_metacast
+32 QTabWidget::qt_metacall
+40 QTabWidget::~QTabWidget
+48 QTabWidget::~QTabWidget
+56 QTabWidget::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QTabWidget::sizeHint
+136 QTabWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QTabWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QTabWidget::paintEvent
+256 QWidget::moveEvent
+264 QTabWidget::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QTabWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QTabWidget::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QTabWidget::tabInserted
+456 QTabWidget::tabRemoved
+464 (int (*)(...))-0x00000000000000010
+472 (int (*)(...))(& _ZTI10QTabWidget)
+480 QTabWidget::_ZThn16_N10QTabWidgetD1Ev
+488 QTabWidget::_ZThn16_N10QTabWidgetD0Ev
+496 QWidget::_ZThn16_NK7QWidget7devTypeEv
+504 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+512 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QTabWidget
+ size=40 align=8
+ base size=40 base align=8
+QTabWidget (0x7f4f32bae620) 0
+ vptr=((& QTabWidget::_ZTV10QTabWidget) + 16u)
+ QWidget (0x7f4f32b83f80) 0
+ primary-for QTabWidget (0x7f4f32bae620)
+ QObject (0x7f4f32bae690) 0
+ primary-for QWidget (0x7f4f32b83f80)
+ QPaintDevice (0x7f4f32bae700) 16
+ vptr=((& QTabWidget::_ZTV10QTabWidget) + 480u)
+
+Vtable for QRubberBand
+QRubberBand::_ZTV11QRubberBand: 63u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QRubberBand)
+16 QRubberBand::metaObject
+24 QRubberBand::qt_metacast
+32 QRubberBand::qt_metacall
+40 QRubberBand::~QRubberBand
+48 QRubberBand::~QRubberBand
+56 QRubberBand::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QWidget::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QRubberBand::paintEvent
+256 QRubberBand::moveEvent
+264 QRubberBand::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QRubberBand::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QRubberBand::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 (int (*)(...))-0x00000000000000010
+456 (int (*)(...))(& _ZTI11QRubberBand)
+464 QRubberBand::_ZThn16_N11QRubberBandD1Ev
+472 QRubberBand::_ZThn16_N11QRubberBandD0Ev
+480 QWidget::_ZThn16_NK7QWidget7devTypeEv
+488 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+496 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QRubberBand
+ size=40 align=8
+ base size=40 base align=8
+QRubberBand (0x7f4f329f2000) 0
+ vptr=((& QRubberBand::_ZTV11QRubberBand) + 16u)
+ QWidget (0x7f4f329ef100) 0
+ primary-for QRubberBand (0x7f4f329f2000)
+ QObject (0x7f4f329f2070) 0
+ primary-for QWidget (0x7f4f329ef100)
+ QPaintDevice (0x7f4f329f20e0) 16
+ vptr=((& QRubberBand::_ZTV11QRubberBand) + 464u)
+
+Class QStyleOption
+ size=56 align=8
+ base size=56 base align=8
+QStyleOption (0x7f4f32a14310) 0
+
+Class QStyleOptionFocusRect
+ size=72 align=8
+ base size=72 base align=8
+QStyleOptionFocusRect (0x7f4f32a22070) 0
+ QStyleOption (0x7f4f32a220e0) 0
+
+Class QStyleOptionFrame
+ size=64 align=8
+ base size=64 base align=8
+QStyleOptionFrame (0x7f4f32a2e070) 0
+ QStyleOption (0x7f4f32a2e0e0) 0
+
+Class QStyleOptionFrameV2
+ size=72 align=8
+ base size=68 base align=8
+QStyleOptionFrameV2 (0x7f4f32a3b000) 0
+ QStyleOptionFrame (0x7f4f32a3b070) 0
+ QStyleOption (0x7f4f32a3b0e0) 0
+
+Class QStyleOptionFrameV3
+ size=72 align=8
+ base size=72 base align=8
+QStyleOptionFrameV3 (0x7f4f32a688c0) 0
+ QStyleOptionFrameV2 (0x7f4f32a68930) 0
+ QStyleOptionFrame (0x7f4f32a689a0) 0
+ QStyleOption (0x7f4f32a68a10) 0
+
+Class QStyleOptionTabWidgetFrame
+ size=96 align=8
+ base size=92 base align=8
+QStyleOptionTabWidgetFrame (0x7f4f32a8d1c0) 0
+ QStyleOption (0x7f4f32a8d230) 0
+
+Class QStyleOptionTabWidgetFrameV2
+ size=128 align=8
+ base size=124 base align=8
+QStyleOptionTabWidgetFrameV2 (0x7f4f32a98930) 0
+ QStyleOptionTabWidgetFrame (0x7f4f32a989a0) 0
+ QStyleOption (0x7f4f32a98a10) 0
+
+Class QStyleOptionTabBarBase
+ size=96 align=8
+ base size=92 base align=8
+QStyleOptionTabBarBase (0x7f4f32aae2a0) 0
+ QStyleOption (0x7f4f32aae310) 0
+
+Class QStyleOptionTabBarBaseV2
+ size=96 align=8
+ base size=93 base align=8
+QStyleOptionTabBarBaseV2 (0x7f4f32ab8620) 0
+ QStyleOptionTabBarBase (0x7f4f32ab8690) 0
+ QStyleOption (0x7f4f32ab8700) 0
+
+Class QStyleOptionHeader
+ size=112 align=8
+ base size=108 base align=8
+QStyleOptionHeader (0x7f4f32ac3cb0) 0
+ QStyleOption (0x7f4f32ac3d20) 0
+
+Class QStyleOptionButton
+ size=88 align=8
+ base size=88 base align=8
+QStyleOptionButton (0x7f4f328dee70) 0
+ QStyleOption (0x7f4f328deee0) 0
+
+Class QStyleOptionTab
+ size=96 align=8
+ base size=96 base align=8
+QStyleOptionTab (0x7f4f3291b850) 0
+ QStyleOption (0x7f4f3291b8c0) 0
+
+Class QStyleOptionTabV2
+ size=104 align=8
+ base size=104 base align=8
+QStyleOptionTabV2 (0x7f4f329687e0) 0
+ QStyleOptionTab (0x7f4f32968850) 0
+ QStyleOption (0x7f4f329688c0) 0
+
+Class QStyleOptionTabV3
+ size=128 align=8
+ base size=124 base align=8
+QStyleOptionTabV3 (0x7f4f3298c230) 0
+ QStyleOptionTabV2 (0x7f4f3298c2a0) 0
+ QStyleOptionTab (0x7f4f3298c310) 0
+ QStyleOption (0x7f4f3298c380) 0
+
+Class QStyleOptionToolBar
+ size=80 align=8
+ base size=80 base align=8
+QStyleOptionToolBar (0x7f4f3299f850) 0
+ QStyleOption (0x7f4f3299f8c0) 0
+
+Class QStyleOptionProgressBar
+ size=88 align=8
+ base size=85 base align=8
+QStyleOptionProgressBar (0x7f4f327eb070) 0
+ QStyleOption (0x7f4f327eb0e0) 0
+
+Class QStyleOptionProgressBarV2
+ size=96 align=8
+ base size=94 base align=8
+QStyleOptionProgressBarV2 (0x7f4f327f67e0) 0
+ QStyleOptionProgressBar (0x7f4f327f6850) 0
+ QStyleOption (0x7f4f327f68c0) 0
+
+Class QStyleOptionMenuItem
+ size=128 align=8
+ base size=128 base align=8
+QStyleOptionMenuItem (0x7f4f328010e0) 0
+ QStyleOption (0x7f4f32801150) 0
+
+Class QStyleOptionQ3ListViewItem
+ size=80 align=8
+ base size=76 base align=8
+QStyleOptionQ3ListViewItem (0x7f4f3281b310) 0
+ QStyleOption (0x7f4f3281b380) 0
+
+Class QStyleOptionQ3DockWindow
+ size=64 align=8
+ base size=58 base align=8
+QStyleOptionQ3DockWindow (0x7f4f3284d770) 0
+ QStyleOption (0x7f4f3284d7e0) 0
+
+Class QStyleOptionDockWidget
+ size=72 align=8
+ base size=67 base align=8
+QStyleOptionDockWidget (0x7f4f3286a700) 0
+ QStyleOption (0x7f4f3286a770) 0
+
+Class QStyleOptionDockWidgetV2
+ size=72 align=8
+ base size=68 base align=8
+QStyleOptionDockWidgetV2 (0x7f4f32878af0) 0
+ QStyleOptionDockWidget (0x7f4f32878b60) 0
+ QStyleOption (0x7f4f32878bd0) 0
+
+Class QStyleOptionViewItem
+ size=104 align=8
+ base size=97 base align=8
+QStyleOptionViewItem (0x7f4f32889310) 0
+ QStyleOption (0x7f4f32889380) 0
+
+Class QStyleOptionViewItemV2
+ size=104 align=8
+ base size=104 base align=8
+QStyleOptionViewItemV2 (0x7f4f32898e70) 0
+ QStyleOptionViewItem (0x7f4f32898ee0) 0
+ QStyleOption (0x7f4f32898f50) 0
+
+Class QStyleOptionViewItemV3
+ size=120 align=8
+ base size=120 base align=8
+QStyleOptionViewItemV3 (0x7f4f326d48c0) 0
+ QStyleOptionViewItemV2 (0x7f4f326d4930) 0
+ QStyleOptionViewItem (0x7f4f326d49a0) 0
+ QStyleOption (0x7f4f326d4a10) 0
+
+Class QStyleOptionViewItemV4
+ size=184 align=8
+ base size=184 base align=8
+QStyleOptionViewItemV4 (0x7f4f326fa1c0) 0
+ QStyleOptionViewItemV3 (0x7f4f326fa230) 0
+ QStyleOptionViewItemV2 (0x7f4f326fa2a0) 0
+ QStyleOptionViewItem (0x7f4f326fa310) 0
+ QStyleOption (0x7f4f326fa380) 0
+
+Class QStyleOptionToolBox
+ size=72 align=8
+ base size=72 base align=8
+QStyleOptionToolBox (0x7f4f327118c0) 0
+ QStyleOption (0x7f4f32711930) 0
+
+Class QStyleOptionToolBoxV2
+ size=80 align=8
+ base size=80 base align=8
+QStyleOptionToolBoxV2 (0x7f4f32721d90) 0
+ QStyleOptionToolBox (0x7f4f32721e00) 0
+ QStyleOption (0x7f4f32721e70) 0
+
+Class QStyleOptionRubberBand
+ size=64 align=8
+ base size=61 base align=8
+QStyleOptionRubberBand (0x7f4f32735a80) 0
+ QStyleOption (0x7f4f32735af0) 0
+
+Class QStyleOptionComplex
+ size=64 align=8
+ base size=64 base align=8
+QStyleOptionComplex (0x7f4f32740bd0) 0
+ QStyleOption (0x7f4f32740c40) 0
+
+Class QStyleOptionSlider
+ size=120 align=8
+ base size=113 base align=8
+QStyleOptionSlider (0x7f4f32753310) 0
+ QStyleOptionComplex (0x7f4f32753380) 0
+ QStyleOption (0x7f4f327533f0) 0
+
+Class QStyleOptionSpinBox
+ size=80 align=8
+ base size=73 base align=8
+QStyleOptionSpinBox (0x7f4f32766150) 0
+ QStyleOptionComplex (0x7f4f327661c0) 0
+ QStyleOption (0x7f4f32766230) 0
+
+Class QStyleOptionQ3ListView
+ size=112 align=8
+ base size=105 base align=8
+QStyleOptionQ3ListView (0x7f4f32772620) 0
+ QStyleOptionComplex (0x7f4f32772690) 0
+ QStyleOption (0x7f4f32772700) 0
+
+Class QStyleOptionToolButton
+ size=128 align=8
+ base size=128 base align=8
+QStyleOptionToolButton (0x7f4f327aa2a0) 0
+ QStyleOptionComplex (0x7f4f327aa310) 0
+ QStyleOption (0x7f4f327aa380) 0
+
+Class QStyleOptionComboBox
+ size=112 align=8
+ base size=112 base align=8
+QStyleOptionComboBox (0x7f4f325fb4d0) 0
+ QStyleOptionComplex (0x7f4f325fb540) 0
+ QStyleOption (0x7f4f325fb5b0) 0
+
+Class QStyleOptionTitleBar
+ size=88 align=8
+ base size=88 base align=8
+QStyleOptionTitleBar (0x7f4f32612000) 0
+ QStyleOptionComplex (0x7f4f32612070) 0
+ QStyleOption (0x7f4f326120e0) 0
+
+Class QStyleOptionGroupBox
+ size=112 align=8
+ base size=108 base align=8
+QStyleOptionGroupBox (0x7f4f32620850) 0
+ QStyleOptionComplex (0x7f4f326208c0) 0
+ QStyleOption (0x7f4f32620930) 0
+
+Class QStyleOptionSizeGrip
+ size=72 align=8
+ base size=68 base align=8
+QStyleOptionSizeGrip (0x7f4f32636460) 0
+ QStyleOptionComplex (0x7f4f326364d0) 0
+ QStyleOption (0x7f4f32636540) 0
+
+Class QStyleOptionGraphicsItem
+ size=144 align=8
+ base size=144 base align=8
+QStyleOptionGraphicsItem (0x7f4f32643380) 0
+ QStyleOption (0x7f4f326433f0) 0
+
+Class QStyleHintReturn
+ size=8 align=4
+ base size=8 base align=4
+QStyleHintReturn (0x7f4f3264e700) 0
+
+Class QStyleHintReturnMask
+ size=16 align=8
+ base size=16 base align=8
+QStyleHintReturnMask (0x7f4f3264eb60) 0
+ QStyleHintReturn (0x7f4f3264ebd0) 0
+
+Class QStyleHintReturnVariant
+ size=24 align=8
+ base size=24 base align=8
+QStyleHintReturnVariant (0x7f4f3264ed90) 0
+ QStyleHintReturn (0x7f4f3264ee00) 0
+
+Vtable for QAbstractItemDelegate
+QAbstractItemDelegate::_ZTV21QAbstractItemDelegate: 21u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI21QAbstractItemDelegate)
+16 QAbstractItemDelegate::metaObject
+24 QAbstractItemDelegate::qt_metacast
+32 QAbstractItemDelegate::qt_metacall
+40 QAbstractItemDelegate::~QAbstractItemDelegate
+48 QAbstractItemDelegate::~QAbstractItemDelegate
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 QAbstractItemDelegate::createEditor
+136 QAbstractItemDelegate::setEditorData
+144 QAbstractItemDelegate::setModelData
+152 QAbstractItemDelegate::updateEditorGeometry
+160 QAbstractItemDelegate::editorEvent
+
+Class QAbstractItemDelegate
+ size=16 align=8
+ base size=16 base align=8
+QAbstractItemDelegate (0x7f4f326742a0) 0
+ vptr=((& QAbstractItemDelegate::_ZTV21QAbstractItemDelegate) + 16u)
+ QObject (0x7f4f32674310) 0
+ primary-for QAbstractItemDelegate (0x7f4f326742a0)
+
+Vtable for QAbstractItemView
+QAbstractItemView::_ZTV17QAbstractItemView: 103u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QAbstractItemView)
+16 QAbstractItemView::metaObject
+24 QAbstractItemView::qt_metacast
+32 QAbstractItemView::qt_metacall
+40 QAbstractItemView::~QAbstractItemView
+48 QAbstractItemView::~QAbstractItemView
+56 QAbstractItemView::event
+64 QObject::eventFilter
+72 QAbstractItemView::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QAbstractScrollArea::sizeHint
+136 QAbstractScrollArea::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QAbstractItemView::mousePressEvent
+168 QAbstractItemView::mouseReleaseEvent
+176 QAbstractItemView::mouseDoubleClickEvent
+184 QAbstractItemView::mouseMoveEvent
+192 QAbstractScrollArea::wheelEvent
+200 QAbstractItemView::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QAbstractItemView::focusInEvent
+224 QAbstractItemView::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QAbstractScrollArea::paintEvent
+256 QWidget::moveEvent
+264 QAbstractItemView::resizeEvent
+272 QWidget::closeEvent
+280 QAbstractScrollArea::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QAbstractItemView::dragEnterEvent
+312 QAbstractItemView::dragMoveEvent
+320 QAbstractItemView::dragLeaveEvent
+328 QAbstractItemView::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QFrame::changeEvent
+368 QWidget::metric
+376 QAbstractItemView::inputMethodEvent
+384 QAbstractItemView::inputMethodQuery
+392 QAbstractItemView::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QAbstractItemView::viewportEvent
+456 QAbstractScrollArea::scrollContentsBy
+464 QAbstractItemView::setModel
+472 QAbstractItemView::setSelectionModel
+480 QAbstractItemView::keyboardSearch
+488 __cxa_pure_virtual
+496 __cxa_pure_virtual
+504 __cxa_pure_virtual
+512 QAbstractItemView::sizeHintForRow
+520 QAbstractItemView::sizeHintForColumn
+528 QAbstractItemView::reset
+536 QAbstractItemView::setRootIndex
+544 QAbstractItemView::doItemsLayout
+552 QAbstractItemView::selectAll
+560 QAbstractItemView::dataChanged
+568 QAbstractItemView::rowsInserted
+576 QAbstractItemView::rowsAboutToBeRemoved
+584 QAbstractItemView::selectionChanged
+592 QAbstractItemView::currentChanged
+600 QAbstractItemView::updateEditorData
+608 QAbstractItemView::updateEditorGeometries
+616 QAbstractItemView::updateGeometries
+624 QAbstractItemView::verticalScrollbarAction
+632 QAbstractItemView::horizontalScrollbarAction
+640 QAbstractItemView::verticalScrollbarValueChanged
+648 QAbstractItemView::horizontalScrollbarValueChanged
+656 QAbstractItemView::closeEditor
+664 QAbstractItemView::commitData
+672 QAbstractItemView::editorDestroyed
+680 __cxa_pure_virtual
+688 __cxa_pure_virtual
+696 __cxa_pure_virtual
+704 __cxa_pure_virtual
+712 __cxa_pure_virtual
+720 __cxa_pure_virtual
+728 QAbstractItemView::selectedIndexes
+736 QAbstractItemView::edit
+744 QAbstractItemView::selectionCommand
+752 QAbstractItemView::startDrag
+760 QAbstractItemView::viewOptions
+768 (int (*)(...))-0x00000000000000010
+776 (int (*)(...))(& _ZTI17QAbstractItemView)
+784 QAbstractItemView::_ZThn16_N17QAbstractItemViewD1Ev
+792 QAbstractItemView::_ZThn16_N17QAbstractItemViewD0Ev
+800 QWidget::_ZThn16_NK7QWidget7devTypeEv
+808 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+816 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QAbstractItemView
+ size=40 align=8
+ base size=40 base align=8
+QAbstractItemView (0x7f4f32695930) 0
+ vptr=((& QAbstractItemView::_ZTV17QAbstractItemView) + 16u)
+ QAbstractScrollArea (0x7f4f326959a0) 0
+ primary-for QAbstractItemView (0x7f4f32695930)
+ QFrame (0x7f4f32695a10) 0
+ primary-for QAbstractScrollArea (0x7f4f326959a0)
+ QWidget (0x7f4f32685600) 0
+ primary-for QFrame (0x7f4f32695a10)
+ QObject (0x7f4f32695a80) 0
+ primary-for QWidget (0x7f4f32685600)
+ QPaintDevice (0x7f4f32695af0) 16
+ vptr=((& QAbstractItemView::_ZTV17QAbstractItemView) + 784u)
+
+Vtable for QTreeView
+QTreeView::_ZTV9QTreeView: 105u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QTreeView)
+16 QTreeView::metaObject
+24 QTreeView::qt_metacast
+32 QTreeView::qt_metacall
+40 QTreeView::~QTreeView
+48 QTreeView::~QTreeView
+56 QAbstractItemView::event
+64 QObject::eventFilter
+72 QTreeView::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QAbstractScrollArea::sizeHint
+136 QAbstractScrollArea::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QTreeView::mousePressEvent
+168 QTreeView::mouseReleaseEvent
+176 QTreeView::mouseDoubleClickEvent
+184 QTreeView::mouseMoveEvent
+192 QAbstractScrollArea::wheelEvent
+200 QTreeView::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QAbstractItemView::focusInEvent
+224 QAbstractItemView::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QTreeView::paintEvent
+256 QWidget::moveEvent
+264 QAbstractItemView::resizeEvent
+272 QWidget::closeEvent
+280 QAbstractScrollArea::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QAbstractItemView::dragEnterEvent
+312 QTreeView::dragMoveEvent
+320 QAbstractItemView::dragLeaveEvent
+328 QAbstractItemView::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QFrame::changeEvent
+368 QWidget::metric
+376 QAbstractItemView::inputMethodEvent
+384 QAbstractItemView::inputMethodQuery
+392 QAbstractItemView::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QTreeView::viewportEvent
+456 QTreeView::scrollContentsBy
+464 QTreeView::setModel
+472 QTreeView::setSelectionModel
+480 QTreeView::keyboardSearch
+488 QTreeView::visualRect
+496 QTreeView::scrollTo
+504 QTreeView::indexAt
+512 QAbstractItemView::sizeHintForRow
+520 QTreeView::sizeHintForColumn
+528 QTreeView::reset
+536 QTreeView::setRootIndex
+544 QTreeView::doItemsLayout
+552 QTreeView::selectAll
+560 QTreeView::dataChanged
+568 QTreeView::rowsInserted
+576 QTreeView::rowsAboutToBeRemoved
+584 QTreeView::selectionChanged
+592 QTreeView::currentChanged
+600 QAbstractItemView::updateEditorData
+608 QAbstractItemView::updateEditorGeometries
+616 QTreeView::updateGeometries
+624 QAbstractItemView::verticalScrollbarAction
+632 QTreeView::horizontalScrollbarAction
+640 QAbstractItemView::verticalScrollbarValueChanged
+648 QAbstractItemView::horizontalScrollbarValueChanged
+656 QAbstractItemView::closeEditor
+664 QAbstractItemView::commitData
+672 QAbstractItemView::editorDestroyed
+680 QTreeView::moveCursor
+688 QTreeView::horizontalOffset
+696 QTreeView::verticalOffset
+704 QTreeView::isIndexHidden
+712 QTreeView::setSelection
+720 QTreeView::visualRegionForSelection
+728 QTreeView::selectedIndexes
+736 QAbstractItemView::edit
+744 QAbstractItemView::selectionCommand
+752 QAbstractItemView::startDrag
+760 QAbstractItemView::viewOptions
+768 QTreeView::drawRow
+776 QTreeView::drawBranches
+784 (int (*)(...))-0x00000000000000010
+792 (int (*)(...))(& _ZTI9QTreeView)
+800 QTreeView::_ZThn16_N9QTreeViewD1Ev
+808 QTreeView::_ZThn16_N9QTreeViewD0Ev
+816 QWidget::_ZThn16_NK7QWidget7devTypeEv
+824 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+832 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QTreeView
+ size=40 align=8
+ base size=40 base align=8
+QTreeView (0x7f4f32522150) 0
+ vptr=((& QTreeView::_ZTV9QTreeView) + 16u)
+ QAbstractItemView (0x7f4f325221c0) 0
+ primary-for QTreeView (0x7f4f32522150)
+ QAbstractScrollArea (0x7f4f32522230) 0
+ primary-for QAbstractItemView (0x7f4f325221c0)
+ QFrame (0x7f4f325222a0) 0
+ primary-for QAbstractScrollArea (0x7f4f32522230)
+ QWidget (0x7f4f324e2d80) 0
+ primary-for QFrame (0x7f4f325222a0)
+ QObject (0x7f4f32522310) 0
+ primary-for QWidget (0x7f4f324e2d80)
+ QPaintDevice (0x7f4f32522380) 16
+ vptr=((& QTreeView::_ZTV9QTreeView) + 800u)
+
+Class QHelpContentItem
+ size=8 align=8
+ base size=8 base align=8
+QHelpContentItem (0x7f4f32557ee0) 0
+
+Vtable for QHelpContentModel
+QHelpContentModel::_ZTV17QHelpContentModel: 42u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QHelpContentModel)
+16 QHelpContentModel::metaObject
+24 QHelpContentModel::qt_metacast
+32 QHelpContentModel::qt_metacall
+40 QHelpContentModel::~QHelpContentModel
+48 QHelpContentModel::~QHelpContentModel
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QHelpContentModel::index
+120 QHelpContentModel::parent
+128 QHelpContentModel::rowCount
+136 QHelpContentModel::columnCount
+144 QAbstractItemModel::hasChildren
+152 QHelpContentModel::data
+160 QAbstractItemModel::setData
+168 QAbstractItemModel::headerData
+176 QAbstractItemModel::setHeaderData
+184 QAbstractItemModel::itemData
+192 QAbstractItemModel::setItemData
+200 QAbstractItemModel::mimeTypes
+208 QAbstractItemModel::mimeData
+216 QAbstractItemModel::dropMimeData
+224 QAbstractItemModel::supportedDropActions
+232 QAbstractItemModel::insertRows
+240 QAbstractItemModel::insertColumns
+248 QAbstractItemModel::removeRows
+256 QAbstractItemModel::removeColumns
+264 QAbstractItemModel::fetchMore
+272 QAbstractItemModel::canFetchMore
+280 QAbstractItemModel::flags
+288 QAbstractItemModel::sort
+296 QAbstractItemModel::buddy
+304 QAbstractItemModel::match
+312 QAbstractItemModel::span
+320 QAbstractItemModel::submit
+328 QAbstractItemModel::revert
+
+Class QHelpContentModel
+ size=24 align=8
+ base size=24 base align=8
+QHelpContentModel (0x7f4f3255f460) 0
+ vptr=((& QHelpContentModel::_ZTV17QHelpContentModel) + 16u)
+ QAbstractItemModel (0x7f4f3255f4d0) 0
+ primary-for QHelpContentModel (0x7f4f3255f460)
+ QObject (0x7f4f3255f540) 0
+ primary-for QAbstractItemModel (0x7f4f3255f4d0)
+
+Vtable for QHelpContentWidget
+QHelpContentWidget::_ZTV18QHelpContentWidget: 105u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QHelpContentWidget)
+16 QHelpContentWidget::metaObject
+24 QHelpContentWidget::qt_metacast
+32 QHelpContentWidget::qt_metacall
+40 QHelpContentWidget::~QHelpContentWidget
+48 QHelpContentWidget::~QHelpContentWidget
+56 QAbstractItemView::event
+64 QObject::eventFilter
+72 QTreeView::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QAbstractScrollArea::sizeHint
+136 QAbstractScrollArea::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QTreeView::mousePressEvent
+168 QTreeView::mouseReleaseEvent
+176 QTreeView::mouseDoubleClickEvent
+184 QTreeView::mouseMoveEvent
+192 QAbstractScrollArea::wheelEvent
+200 QTreeView::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QAbstractItemView::focusInEvent
+224 QAbstractItemView::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QTreeView::paintEvent
+256 QWidget::moveEvent
+264 QAbstractItemView::resizeEvent
+272 QWidget::closeEvent
+280 QAbstractScrollArea::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QAbstractItemView::dragEnterEvent
+312 QTreeView::dragMoveEvent
+320 QAbstractItemView::dragLeaveEvent
+328 QAbstractItemView::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QFrame::changeEvent
+368 QWidget::metric
+376 QAbstractItemView::inputMethodEvent
+384 QAbstractItemView::inputMethodQuery
+392 QAbstractItemView::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QTreeView::viewportEvent
+456 QTreeView::scrollContentsBy
+464 QTreeView::setModel
+472 QTreeView::setSelectionModel
+480 QTreeView::keyboardSearch
+488 QTreeView::visualRect
+496 QTreeView::scrollTo
+504 QTreeView::indexAt
+512 QAbstractItemView::sizeHintForRow
+520 QTreeView::sizeHintForColumn
+528 QTreeView::reset
+536 QTreeView::setRootIndex
+544 QTreeView::doItemsLayout
+552 QTreeView::selectAll
+560 QTreeView::dataChanged
+568 QTreeView::rowsInserted
+576 QTreeView::rowsAboutToBeRemoved
+584 QTreeView::selectionChanged
+592 QTreeView::currentChanged
+600 QAbstractItemView::updateEditorData
+608 QAbstractItemView::updateEditorGeometries
+616 QTreeView::updateGeometries
+624 QAbstractItemView::verticalScrollbarAction
+632 QTreeView::horizontalScrollbarAction
+640 QAbstractItemView::verticalScrollbarValueChanged
+648 QAbstractItemView::horizontalScrollbarValueChanged
+656 QAbstractItemView::closeEditor
+664 QAbstractItemView::commitData
+672 QAbstractItemView::editorDestroyed
+680 QTreeView::moveCursor
+688 QTreeView::horizontalOffset
+696 QTreeView::verticalOffset
+704 QTreeView::isIndexHidden
+712 QTreeView::setSelection
+720 QTreeView::visualRegionForSelection
+728 QTreeView::selectedIndexes
+736 QAbstractItemView::edit
+744 QAbstractItemView::selectionCommand
+752 QAbstractItemView::startDrag
+760 QAbstractItemView::viewOptions
+768 QTreeView::drawRow
+776 QTreeView::drawBranches
+784 (int (*)(...))-0x00000000000000010
+792 (int (*)(...))(& _ZTI18QHelpContentWidget)
+800 QHelpContentWidget::_ZThn16_N18QHelpContentWidgetD1Ev
+808 QHelpContentWidget::_ZThn16_N18QHelpContentWidgetD0Ev
+816 QWidget::_ZThn16_NK7QWidget7devTypeEv
+824 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+832 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QHelpContentWidget
+ size=64 align=8
+ base size=64 base align=8
+QHelpContentWidget (0x7f4f3257a460) 0
+ vptr=((& QHelpContentWidget::_ZTV18QHelpContentWidget) + 16u)
+ QTreeView (0x7f4f3257a4d0) 0
+ primary-for QHelpContentWidget (0x7f4f3257a460)
+ QAbstractItemView (0x7f4f3257a540) 0
+ primary-for QTreeView (0x7f4f3257a4d0)
+ QAbstractScrollArea (0x7f4f3257a5b0) 0
+ primary-for QAbstractItemView (0x7f4f3257a540)
+ QFrame (0x7f4f3257a620) 0
+ primary-for QAbstractScrollArea (0x7f4f3257a5b0)
+ QWidget (0x7f4f32554e80) 0
+ primary-for QFrame (0x7f4f3257a620)
+ QObject (0x7f4f3257a690) 0
+ primary-for QWidget (0x7f4f32554e80)
+ QPaintDevice (0x7f4f3257a700) 16
+ vptr=((& QHelpContentWidget::_ZTV18QHelpContentWidget) + 800u)
+
+Vtable for QHelpEngineCore
+QHelpEngineCore::_ZTV15QHelpEngineCore: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QHelpEngineCore)
+16 QHelpEngineCore::metaObject
+24 QHelpEngineCore::qt_metacast
+32 QHelpEngineCore::qt_metacall
+40 QHelpEngineCore::~QHelpEngineCore
+48 QHelpEngineCore::~QHelpEngineCore
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QHelpEngineCore
+ size=24 align=8
+ base size=24 base align=8
+QHelpEngineCore (0x7f4f32590460) 0
+ vptr=((& QHelpEngineCore::_ZTV15QHelpEngineCore) + 16u)
+ QObject (0x7f4f325904d0) 0
+ primary-for QHelpEngineCore (0x7f4f32590460)
+
+Vtable for QHelpEngine
+QHelpEngine::_ZTV11QHelpEngine: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QHelpEngine)
+16 QHelpEngine::metaObject
+24 QHelpEngine::qt_metacast
+32 QHelpEngine::qt_metacall
+40 QHelpEngine::~QHelpEngine
+48 QHelpEngine::~QHelpEngine
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QHelpEngine
+ size=32 align=8
+ base size=32 base align=8
+QHelpEngine (0x7f4f325ab4d0) 0
+ vptr=((& QHelpEngine::_ZTV11QHelpEngine) + 16u)
+ QHelpEngineCore (0x7f4f325ab540) 0
+ primary-for QHelpEngine (0x7f4f325ab4d0)
+ QObject (0x7f4f325ab5b0) 0
+ primary-for QHelpEngineCore (0x7f4f325ab540)
+
+Vtable for QStringListModel
+QStringListModel::_ZTV16QStringListModel: 42u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QStringListModel)
+16 QStringListModel::metaObject
+24 QStringListModel::qt_metacast
+32 QStringListModel::qt_metacall
+40 QStringListModel::~QStringListModel
+48 QStringListModel::~QStringListModel
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QAbstractListModel::index
+120 QAbstractListModel::parent
+128 QStringListModel::rowCount
+136 QAbstractListModel::columnCount
+144 QAbstractListModel::hasChildren
+152 QStringListModel::data
+160 QStringListModel::setData
+168 QAbstractItemModel::headerData
+176 QAbstractItemModel::setHeaderData
+184 QAbstractItemModel::itemData
+192 QAbstractItemModel::setItemData
+200 QAbstractItemModel::mimeTypes
+208 QAbstractItemModel::mimeData
+216 QAbstractListModel::dropMimeData
+224 QStringListModel::supportedDropActions
+232 QStringListModel::insertRows
+240 QAbstractItemModel::insertColumns
+248 QStringListModel::removeRows
+256 QAbstractItemModel::removeColumns
+264 QAbstractItemModel::fetchMore
+272 QAbstractItemModel::canFetchMore
+280 QStringListModel::flags
+288 QStringListModel::sort
+296 QAbstractItemModel::buddy
+304 QAbstractItemModel::match
+312 QAbstractItemModel::span
+320 QAbstractItemModel::submit
+328 QAbstractItemModel::revert
+
+Class QStringListModel
+ size=24 align=8
+ base size=24 base align=8
+QStringListModel (0x7f4f325bd3f0) 0
+ vptr=((& QStringListModel::_ZTV16QStringListModel) + 16u)
+ QAbstractListModel (0x7f4f325bd460) 0
+ primary-for QStringListModel (0x7f4f325bd3f0)
+ QAbstractItemModel (0x7f4f325bd4d0) 0
+ primary-for QAbstractListModel (0x7f4f325bd460)
+ QObject (0x7f4f325bd540) 0
+ primary-for QAbstractItemModel (0x7f4f325bd4d0)
+
+Vtable for QListView
+QListView::_ZTV9QListView: 103u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QListView)
+16 QListView::metaObject
+24 QListView::qt_metacast
+32 QListView::qt_metacall
+40 QListView::~QListView
+48 QListView::~QListView
+56 QListView::event
+64 QObject::eventFilter
+72 QListView::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QAbstractScrollArea::sizeHint
+136 QAbstractScrollArea::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QAbstractItemView::mousePressEvent
+168 QListView::mouseReleaseEvent
+176 QAbstractItemView::mouseDoubleClickEvent
+184 QListView::mouseMoveEvent
+192 QAbstractScrollArea::wheelEvent
+200 QAbstractItemView::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QAbstractItemView::focusInEvent
+224 QAbstractItemView::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QListView::paintEvent
+256 QWidget::moveEvent
+264 QListView::resizeEvent
+272 QWidget::closeEvent
+280 QAbstractScrollArea::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QAbstractItemView::dragEnterEvent
+312 QListView::dragMoveEvent
+320 QListView::dragLeaveEvent
+328 QListView::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QFrame::changeEvent
+368 QWidget::metric
+376 QAbstractItemView::inputMethodEvent
+384 QAbstractItemView::inputMethodQuery
+392 QAbstractItemView::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QAbstractItemView::viewportEvent
+456 QListView::scrollContentsBy
+464 QAbstractItemView::setModel
+472 QAbstractItemView::setSelectionModel
+480 QAbstractItemView::keyboardSearch
+488 QListView::visualRect
+496 QListView::scrollTo
+504 QListView::indexAt
+512 QAbstractItemView::sizeHintForRow
+520 QAbstractItemView::sizeHintForColumn
+528 QListView::reset
+536 QListView::setRootIndex
+544 QListView::doItemsLayout
+552 QAbstractItemView::selectAll
+560 QListView::dataChanged
+568 QListView::rowsInserted
+576 QListView::rowsAboutToBeRemoved
+584 QListView::selectionChanged
+592 QListView::currentChanged
+600 QAbstractItemView::updateEditorData
+608 QAbstractItemView::updateEditorGeometries
+616 QListView::updateGeometries
+624 QAbstractItemView::verticalScrollbarAction
+632 QAbstractItemView::horizontalScrollbarAction
+640 QAbstractItemView::verticalScrollbarValueChanged
+648 QAbstractItemView::horizontalScrollbarValueChanged
+656 QAbstractItemView::closeEditor
+664 QAbstractItemView::commitData
+672 QAbstractItemView::editorDestroyed
+680 QListView::moveCursor
+688 QListView::horizontalOffset
+696 QListView::verticalOffset
+704 QListView::isIndexHidden
+712 QListView::setSelection
+720 QListView::visualRegionForSelection
+728 QListView::selectedIndexes
+736 QAbstractItemView::edit
+744 QAbstractItemView::selectionCommand
+752 QListView::startDrag
+760 QListView::viewOptions
+768 (int (*)(...))-0x00000000000000010
+776 (int (*)(...))(& _ZTI9QListView)
+784 QListView::_ZThn16_N9QListViewD1Ev
+792 QListView::_ZThn16_N9QListViewD0Ev
+800 QWidget::_ZThn16_NK7QWidget7devTypeEv
+808 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+816 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QListView
+ size=40 align=8
+ base size=40 base align=8
+QListView (0x7f4f323d2a10) 0
+ vptr=((& QListView::_ZTV9QListView) + 16u)
+ QAbstractItemView (0x7f4f323d2a80) 0
+ primary-for QListView (0x7f4f323d2a10)
+ QAbstractScrollArea (0x7f4f323d2af0) 0
+ primary-for QAbstractItemView (0x7f4f323d2a80)
+ QFrame (0x7f4f323d2b60) 0
+ primary-for QAbstractScrollArea (0x7f4f323d2af0)
+ QWidget (0x7f4f325b9900) 0
+ primary-for QFrame (0x7f4f323d2b60)
+ QObject (0x7f4f323d2bd0) 0
+ primary-for QWidget (0x7f4f325b9900)
+ QPaintDevice (0x7f4f323d2c40) 16
+ vptr=((& QListView::_ZTV9QListView) + 784u)
+
+Vtable for QHelpIndexModel
+QHelpIndexModel::_ZTV15QHelpIndexModel: 42u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QHelpIndexModel)
+16 QHelpIndexModel::metaObject
+24 QHelpIndexModel::qt_metacast
+32 QHelpIndexModel::qt_metacall
+40 QHelpIndexModel::~QHelpIndexModel
+48 QHelpIndexModel::~QHelpIndexModel
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QAbstractListModel::index
+120 QAbstractListModel::parent
+128 QStringListModel::rowCount
+136 QAbstractListModel::columnCount
+144 QAbstractListModel::hasChildren
+152 QStringListModel::data
+160 QStringListModel::setData
+168 QAbstractItemModel::headerData
+176 QAbstractItemModel::setHeaderData
+184 QAbstractItemModel::itemData
+192 QAbstractItemModel::setItemData
+200 QAbstractItemModel::mimeTypes
+208 QAbstractItemModel::mimeData
+216 QAbstractListModel::dropMimeData
+224 QStringListModel::supportedDropActions
+232 QStringListModel::insertRows
+240 QAbstractItemModel::insertColumns
+248 QStringListModel::removeRows
+256 QAbstractItemModel::removeColumns
+264 QAbstractItemModel::fetchMore
+272 QAbstractItemModel::canFetchMore
+280 QStringListModel::flags
+288 QStringListModel::sort
+296 QAbstractItemModel::buddy
+304 QAbstractItemModel::match
+312 QAbstractItemModel::span
+320 QAbstractItemModel::submit
+328 QAbstractItemModel::revert
+
+Class QHelpIndexModel
+ size=32 align=8
+ base size=32 base align=8
+QHelpIndexModel (0x7f4f3240f0e0) 0
+ vptr=((& QHelpIndexModel::_ZTV15QHelpIndexModel) + 16u)
+ QStringListModel (0x7f4f3240f150) 0
+ primary-for QHelpIndexModel (0x7f4f3240f0e0)
+ QAbstractListModel (0x7f4f3240f1c0) 0
+ primary-for QStringListModel (0x7f4f3240f150)
+ QAbstractItemModel (0x7f4f3240f230) 0
+ primary-for QAbstractListModel (0x7f4f3240f1c0)
+ QObject (0x7f4f3240f2a0) 0
+ primary-for QAbstractItemModel (0x7f4f3240f230)
+
+Vtable for QHelpIndexWidget
+QHelpIndexWidget::_ZTV16QHelpIndexWidget: 103u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QHelpIndexWidget)
+16 QHelpIndexWidget::metaObject
+24 QHelpIndexWidget::qt_metacast
+32 QHelpIndexWidget::qt_metacall
+40 QHelpIndexWidget::~QHelpIndexWidget
+48 QHelpIndexWidget::~QHelpIndexWidget
+56 QListView::event
+64 QObject::eventFilter
+72 QListView::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QAbstractScrollArea::sizeHint
+136 QAbstractScrollArea::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QAbstractItemView::mousePressEvent
+168 QListView::mouseReleaseEvent
+176 QAbstractItemView::mouseDoubleClickEvent
+184 QListView::mouseMoveEvent
+192 QAbstractScrollArea::wheelEvent
+200 QAbstractItemView::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QAbstractItemView::focusInEvent
+224 QAbstractItemView::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QListView::paintEvent
+256 QWidget::moveEvent
+264 QListView::resizeEvent
+272 QWidget::closeEvent
+280 QAbstractScrollArea::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QAbstractItemView::dragEnterEvent
+312 QListView::dragMoveEvent
+320 QListView::dragLeaveEvent
+328 QListView::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QFrame::changeEvent
+368 QWidget::metric
+376 QAbstractItemView::inputMethodEvent
+384 QAbstractItemView::inputMethodQuery
+392 QAbstractItemView::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QAbstractItemView::viewportEvent
+456 QListView::scrollContentsBy
+464 QAbstractItemView::setModel
+472 QAbstractItemView::setSelectionModel
+480 QAbstractItemView::keyboardSearch
+488 QListView::visualRect
+496 QListView::scrollTo
+504 QListView::indexAt
+512 QAbstractItemView::sizeHintForRow
+520 QAbstractItemView::sizeHintForColumn
+528 QListView::reset
+536 QListView::setRootIndex
+544 QListView::doItemsLayout
+552 QAbstractItemView::selectAll
+560 QListView::dataChanged
+568 QListView::rowsInserted
+576 QListView::rowsAboutToBeRemoved
+584 QListView::selectionChanged
+592 QListView::currentChanged
+600 QAbstractItemView::updateEditorData
+608 QAbstractItemView::updateEditorGeometries
+616 QListView::updateGeometries
+624 QAbstractItemView::verticalScrollbarAction
+632 QAbstractItemView::horizontalScrollbarAction
+640 QAbstractItemView::verticalScrollbarValueChanged
+648 QAbstractItemView::horizontalScrollbarValueChanged
+656 QAbstractItemView::closeEditor
+664 QAbstractItemView::commitData
+672 QAbstractItemView::editorDestroyed
+680 QListView::moveCursor
+688 QListView::horizontalOffset
+696 QListView::verticalOffset
+704 QListView::isIndexHidden
+712 QListView::setSelection
+720 QListView::visualRegionForSelection
+728 QListView::selectedIndexes
+736 QAbstractItemView::edit
+744 QAbstractItemView::selectionCommand
+752 QListView::startDrag
+760 QListView::viewOptions
+768 (int (*)(...))-0x00000000000000010
+776 (int (*)(...))(& _ZTI16QHelpIndexWidget)
+784 QHelpIndexWidget::_ZThn16_N16QHelpIndexWidgetD1Ev
+792 QHelpIndexWidget::_ZThn16_N16QHelpIndexWidgetD0Ev
+800 QWidget::_ZThn16_NK7QWidget7devTypeEv
+808 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+816 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QHelpIndexWidget
+ size=40 align=8
+ base size=40 base align=8
+QHelpIndexWidget (0x7f4f324250e0) 0
+ vptr=((& QHelpIndexWidget::_ZTV16QHelpIndexWidget) + 16u)
+ QListView (0x7f4f32425150) 0
+ primary-for QHelpIndexWidget (0x7f4f324250e0)
+ QAbstractItemView (0x7f4f324251c0) 0
+ primary-for QListView (0x7f4f32425150)
+ QAbstractScrollArea (0x7f4f32425230) 0
+ primary-for QAbstractItemView (0x7f4f324251c0)
+ QFrame (0x7f4f324252a0) 0
+ primary-for QAbstractScrollArea (0x7f4f32425230)
+ QWidget (0x7f4f323e2f80) 0
+ primary-for QFrame (0x7f4f324252a0)
+ QObject (0x7f4f32425310) 0
+ primary-for QWidget (0x7f4f323e2f80)
+ QPaintDevice (0x7f4f32425380) 16
+ vptr=((& QHelpIndexWidget::_ZTV16QHelpIndexWidget) + 784u)
+
+Class QHelpSearchQuery
+ size=16 align=8
+ base size=16 base align=8
+QHelpSearchQuery (0x7f4f3243b150) 0
+
+Vtable for QHelpSearchEngine
+QHelpSearchEngine::_ZTV17QHelpSearchEngine: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QHelpSearchEngine)
+16 QHelpSearchEngine::metaObject
+24 QHelpSearchEngine::qt_metacast
+32 QHelpSearchEngine::qt_metacall
+40 QHelpSearchEngine::~QHelpSearchEngine
+48 QHelpSearchEngine::~QHelpSearchEngine
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QHelpSearchEngine
+ size=24 align=8
+ base size=24 base align=8
+QHelpSearchEngine (0x7f4f32445700) 0
+ vptr=((& QHelpSearchEngine::_ZTV17QHelpSearchEngine) + 16u)
+ QObject (0x7f4f32445770) 0
+ primary-for QHelpSearchEngine (0x7f4f32445700)
+
+Vtable for QHelpSearchQueryWidget
+QHelpSearchQueryWidget::_ZTV22QHelpSearchQueryWidget: 63u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI22QHelpSearchQueryWidget)
+16 QHelpSearchQueryWidget::metaObject
+24 QHelpSearchQueryWidget::qt_metacast
+32 QHelpSearchQueryWidget::qt_metacall
+40 QHelpSearchQueryWidget::~QHelpSearchQueryWidget
+48 QHelpSearchQueryWidget::~QHelpSearchQueryWidget
+56 QWidget::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QWidget::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QHelpSearchQueryWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QWidget::paintEvent
+256 QWidget::moveEvent
+264 QWidget::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QWidget::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 (int (*)(...))-0x00000000000000010
+456 (int (*)(...))(& _ZTI22QHelpSearchQueryWidget)
+464 QHelpSearchQueryWidget::_ZThn16_N22QHelpSearchQueryWidgetD1Ev
+472 QHelpSearchQueryWidget::_ZThn16_N22QHelpSearchQueryWidgetD0Ev
+480 QWidget::_ZThn16_NK7QWidget7devTypeEv
+488 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+496 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QHelpSearchQueryWidget
+ size=48 align=8
+ base size=48 base align=8
+QHelpSearchQueryWidget (0x7f4f32454a80) 0
+ vptr=((& QHelpSearchQueryWidget::_ZTV22QHelpSearchQueryWidget) + 16u)
+ QWidget (0x7f4f32444e00) 0
+ primary-for QHelpSearchQueryWidget (0x7f4f32454a80)
+ QObject (0x7f4f32454af0) 0
+ primary-for QWidget (0x7f4f32444e00)
+ QPaintDevice (0x7f4f32454b60) 16
+ vptr=((& QHelpSearchQueryWidget::_ZTV22QHelpSearchQueryWidget) + 464u)
+
+Vtable for QHelpSearchResultWidget
+QHelpSearchResultWidget::_ZTV23QHelpSearchResultWidget: 63u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI23QHelpSearchResultWidget)
+16 QHelpSearchResultWidget::metaObject
+24 QHelpSearchResultWidget::qt_metacast
+32 QHelpSearchResultWidget::qt_metacall
+40 QHelpSearchResultWidget::~QHelpSearchResultWidget
+48 QHelpSearchResultWidget::~QHelpSearchResultWidget
+56 QWidget::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QWidget::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QWidget::paintEvent
+256 QWidget::moveEvent
+264 QWidget::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QWidget::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 (int (*)(...))-0x00000000000000010
+456 (int (*)(...))(& _ZTI23QHelpSearchResultWidget)
+464 QHelpSearchResultWidget::_ZThn16_N23QHelpSearchResultWidgetD1Ev
+472 QHelpSearchResultWidget::_ZThn16_N23QHelpSearchResultWidgetD0Ev
+480 QWidget::_ZThn16_NK7QWidget7devTypeEv
+488 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+496 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QHelpSearchResultWidget
+ size=48 align=8
+ base size=48 base align=8
+QHelpSearchResultWidget (0x7f4f3246ba10) 0
+ vptr=((& QHelpSearchResultWidget::_ZTV23QHelpSearchResultWidget) + 16u)
+ QWidget (0x7f4f32467500) 0
+ primary-for QHelpSearchResultWidget (0x7f4f3246ba10)
+ QObject (0x7f4f3246ba80) 0
+ primary-for QWidget (0x7f4f32467500)
+ QPaintDevice (0x7f4f3246baf0) 16
+ vptr=((& QHelpSearchResultWidget::_ZTV23QHelpSearchResultWidget) + 464u)
+
diff --git a/tests/auto/bic/data/QtMultimedia.4.6.0.linux-gcc-amd64.txt b/tests/auto/bic/data/QtMultimedia.4.6.0.linux-gcc-amd64.txt
new file mode 100644
index 0000000000..176b6f3c44
--- /dev/null
+++ b/tests/auto/bic/data/QtMultimedia.4.6.0.linux-gcc-amd64.txt
@@ -0,0 +1,17011 @@
+Class QSysInfo
+ size=1 align=1
+ base size=0 base align=1
+QSysInfo (0x7f95586be230) 0 empty
+
+Class QBool
+ size=1 align=1
+ base size=1 base align=1
+QBool (0x7f95586bee70) 0
+
+Class qIsNull(double)::U
+ size=8 align=8
+ base size=8 base align=8
+qIsNull(double)::U (0x7f9557cc5540) 0
+
+Class qIsNull(float)::U
+ size=4 align=4
+ base size=4 base align=4
+qIsNull(float)::U (0x7f9557cc57e0) 0
+
+Class QFlag
+ size=4 align=4
+ base size=4 base align=4
+QFlag (0x7f9557d00690) 0
+
+Class QIncompatibleFlag
+ size=4 align=4
+ base size=4 base align=4
+QIncompatibleFlag (0x7f9557d00e70) 0
+
+Class QLatin1Char
+ size=1 align=1
+ base size=1 base align=1
+QLatin1Char (0x7f9557d2f5b0) 0
+
+Class QChar
+ size=2 align=2
+ base size=2 base align=2
+QChar (0x7f9557d54150) 0
+
+Class QBasicAtomicInt
+ size=4 align=4
+ base size=4 base align=4
+QBasicAtomicInt (0x7f9557bbd310) 0
+
+Class QAtomicInt
+ size=4 align=4
+ base size=4 base align=4
+QAtomicInt (0x7f9557bf9cb0) 0
+ QBasicAtomicInt (0x7f9557bf9d20) 0
+
+Class QInternal
+ size=1 align=1
+ base size=0 base align=1
+QInternal (0x7f9557a514d0) 0 empty
+
+Class __locale_struct
+ size=232 align=8
+ base size=232 base align=8
+__locale_struct (0x7f9557a51700) 0
+
+Class QByteArray::Data
+ size=32 align=8
+ base size=32 base align=8
+QByteArray::Data (0x7f9557a8baf0) 0
+
+Class QByteArray
+ size=8 align=8
+ base size=8 base align=8
+QByteArray (0x7f9557a8ba80) 0
+
+Class QByteRef
+ size=16 align=8
+ base size=12 base align=8
+QByteRef (0x7f955792d380) 0
+
+Class QString::Null
+ size=1 align=1
+ base size=0 base align=1
+QString::Null (0x7f955782ed20) 0 empty
+
+Class QString::Data
+ size=32 align=8
+ base size=32 base align=8
+QString::Data (0x7f95578465b0) 0
+
+Class QString
+ size=8 align=8
+ base size=8 base align=8
+QString (0x7f95579a8bd0) 0
+
+Class QLatin1String
+ size=8 align=8
+ base size=8 base align=8
+QLatin1String (0x7f955771c9a0) 0
+
+Class QCharRef
+ size=16 align=8
+ base size=12 base align=8
+QCharRef (0x7f95575bc000) 0
+
+Class QConstString
+ size=8 align=8
+ base size=8 base align=8
+QConstString (0x7f95575048c0) 0
+ QString (0x7f9557504930) 0
+
+Class QStringRef
+ size=16 align=8
+ base size=16 base align=8
+QStringRef (0x7f9557529310) 0
+
+Class QGenericArgument
+ size=16 align=8
+ base size=16 base align=8
+QGenericArgument (0x7f95575a4700) 0
+
+Class QGenericReturnArgument
+ size=16 align=8
+ base size=16 base align=8
+QGenericReturnArgument (0x7f95573ae2a0) 0
+ QGenericArgument (0x7f95573ae310) 0
+
+Class QMetaObject
+ size=32 align=8
+ base size=32 base align=8
+QMetaObject (0x7f95573aeb60) 0
+
+Class QMetaObjectExtraData
+ size=16 align=8
+ base size=16 base align=8
+QMetaObjectExtraData (0x7f95573d4bd0) 0
+
+Vtable for std::exception
+std::exception::_ZTVSt9exception: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt9exception)
+16 std::exception::~exception
+24 std::exception::~exception
+32 std::exception::what
+
+Class std::exception
+ size=8 align=8
+ base size=8 base align=8
+std::exception (0x7f955742b1c0) 0 nearly-empty
+ vptr=((& std::exception::_ZTVSt9exception) + 16u)
+
+Vtable for std::bad_exception
+std::bad_exception::_ZTVSt13bad_exception: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt13bad_exception)
+16 std::bad_exception::~bad_exception
+24 std::bad_exception::~bad_exception
+32 std::bad_exception::what
+
+Class std::bad_exception
+ size=8 align=8
+ base size=8 base align=8
+std::bad_exception (0x7f955742b770) 0 nearly-empty
+ vptr=((& std::bad_exception::_ZTVSt13bad_exception) + 16u)
+ std::exception (0x7f955742b7e0) 0 nearly-empty
+ primary-for std::bad_exception (0x7f955742b770)
+
+Vtable for std::bad_alloc
+std::bad_alloc::_ZTVSt9bad_alloc: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt9bad_alloc)
+16 std::bad_alloc::~bad_alloc
+24 std::bad_alloc::~bad_alloc
+32 std::bad_alloc::what
+
+Class std::bad_alloc
+ size=8 align=8
+ base size=8 base align=8
+std::bad_alloc (0x7f955742b930) 0 nearly-empty
+ vptr=((& std::bad_alloc::_ZTVSt9bad_alloc) + 16u)
+ std::exception (0x7f9557441000) 0 nearly-empty
+ primary-for std::bad_alloc (0x7f955742b930)
+
+Class std::nothrow_t
+ size=1 align=1
+ base size=0 base align=1
+std::nothrow_t (0x7f9557441850) 0 empty
+
+Class QListData::Data
+ size=32 align=8
+ base size=32 base align=8
+QListData::Data (0x7f9557441d90) 0
+
+Class QListData
+ size=8 align=8
+ base size=8 base align=8
+QListData (0x7f9557441d20) 0
+
+Class QScopedPointerPodDeleter
+ size=1 align=1
+ base size=0 base align=1
+QScopedPointerPodDeleter (0x7f955736b850) 0 empty
+
+Vtable for QObjectData
+QObjectData::_ZTV11QObjectData: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QObjectData)
+16 __cxa_pure_virtual
+24 __cxa_pure_virtual
+
+Class QObjectData
+ size=48 align=8
+ base size=48 base align=8
+QObjectData (0x7f955738c2a0) 0
+ vptr=((& QObjectData::_ZTV11QObjectData) + 16u)
+
+Vtable for QObject
+QObject::_ZTV7QObject: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QObject)
+16 QObject::metaObject
+24 QObject::qt_metacast
+32 QObject::qt_metacall
+40 QObject::~QObject
+48 QObject::~QObject
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QObject
+ size=16 align=8
+ base size=16 base align=8
+QObject (0x7f955738c5b0) 0
+ vptr=((& QObject::_ZTV7QObject) + 16u)
+
+Vtable for QObjectUserData
+QObjectUserData::_ZTV15QObjectUserData: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QObjectUserData)
+16 QObjectUserData::~QObjectUserData
+24 QObjectUserData::~QObjectUserData
+
+Class QObjectUserData
+ size=8 align=8
+ base size=8 base align=8
+QObjectUserData (0x7f9557211b60) 0 nearly-empty
+ vptr=((& QObjectUserData::_ZTV15QObjectUserData) + 16u)
+
+Vtable for QIODevice
+QIODevice::_ZTV9QIODevice: 30u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QIODevice)
+16 QIODevice::metaObject
+24 QIODevice::qt_metacast
+32 QIODevice::qt_metacall
+40 QIODevice::~QIODevice
+48 QIODevice::~QIODevice
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QIODevice::isSequential
+120 QIODevice::open
+128 QIODevice::close
+136 QIODevice::pos
+144 QIODevice::size
+152 QIODevice::seek
+160 QIODevice::atEnd
+168 QIODevice::reset
+176 QIODevice::bytesAvailable
+184 QIODevice::bytesToWrite
+192 QIODevice::canReadLine
+200 QIODevice::waitForReadyRead
+208 QIODevice::waitForBytesWritten
+216 __cxa_pure_virtual
+224 QIODevice::readLineData
+232 __cxa_pure_virtual
+
+Class QIODevice
+ size=16 align=8
+ base size=16 base align=8
+QIODevice (0x7f9557220150) 0
+ vptr=((& QIODevice::_ZTV9QIODevice) + 16u)
+ QObject (0x7f95572201c0) 0
+ primary-for QIODevice (0x7f9557220150)
+
+Class _IO_marker
+ size=24 align=8
+ base size=24 base align=8
+_IO_marker (0x7f9557282cb0) 0
+
+Class _IO_FILE
+ size=216 align=8
+ base size=216 base align=8
+_IO_FILE (0x7f9557282d20) 0
+
+Vtable for QFile
+QFile::_ZTV5QFile: 31u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI5QFile)
+16 QFile::metaObject
+24 QFile::qt_metacast
+32 QFile::qt_metacall
+40 QFile::~QFile
+48 QFile::~QFile
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QFile::isSequential
+120 QFile::open
+128 QFile::close
+136 QFile::pos
+144 QFile::size
+152 QFile::seek
+160 QFile::atEnd
+168 QIODevice::reset
+176 QIODevice::bytesAvailable
+184 QIODevice::bytesToWrite
+192 QIODevice::canReadLine
+200 QIODevice::waitForReadyRead
+208 QIODevice::waitForBytesWritten
+216 QFile::readData
+224 QFile::readLineData
+232 QFile::writeData
+240 QFile::fileEngine
+
+Class QFile
+ size=16 align=8
+ base size=16 base align=8
+QFile (0x7f9557282e00) 0
+ vptr=((& QFile::_ZTV5QFile) + 16u)
+ QIODevice (0x7f9557282e70) 0
+ primary-for QFile (0x7f9557282e00)
+ QObject (0x7f9557282ee0) 0
+ primary-for QIODevice (0x7f9557282e70)
+
+Class QFileInfo
+ size=8 align=8
+ base size=8 base align=8
+QFileInfo (0x7f9557124070) 0
+
+Vtable for QDataStream
+QDataStream::_ZTV11QDataStream: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QDataStream)
+16 QDataStream::~QDataStream
+24 QDataStream::~QDataStream
+
+Class QDataStream
+ size=40 align=8
+ base size=40 base align=8
+QDataStream (0x7f9557176a10) 0
+ vptr=((& QDataStream::_ZTV11QDataStream) + 16u)
+
+Class QRegExp
+ size=8 align=8
+ base size=8 base align=8
+QRegExp (0x7f9556fe1e70) 0
+
+Class QStringMatcher::Data
+ size=272 align=8
+ base size=272 base align=8
+QStringMatcher::Data (0x7f955704a2a0) 0
+
+Class QStringMatcher
+ size=1048 align=8
+ base size=1048 base align=8
+QStringMatcher (0x7f955703dc40) 0
+
+Class QStringList
+ size=8 align=8
+ base size=8 base align=8
+QStringList (0x7f955704a850) 0
+ QList<QString> (0x7f955704a8c0) 0
+
+Class QDir
+ size=8 align=8
+ base size=8 base align=8
+QDir (0x7f9556ee84d0) 0
+
+Class QAbstractFileEngine::ExtensionOption
+ size=1 align=1
+ base size=0 base align=1
+QAbstractFileEngine::ExtensionOption (0x7f9556f8f8c0) 0 empty
+
+Class QAbstractFileEngine::ExtensionReturn
+ size=1 align=1
+ base size=0 base align=1
+QAbstractFileEngine::ExtensionReturn (0x7f9556f8f930) 0 empty
+
+Class QAbstractFileEngine::MapExtensionOption
+ size=24 align=8
+ base size=20 base align=8
+QAbstractFileEngine::MapExtensionOption (0x7f9556f8f9a0) 0
+ QAbstractFileEngine::ExtensionOption (0x7f9556f8fa10) 0 empty
+
+Class QAbstractFileEngine::MapExtensionReturn
+ size=8 align=8
+ base size=8 base align=8
+QAbstractFileEngine::MapExtensionReturn (0x7f9556f8fbd0) 0
+ QAbstractFileEngine::ExtensionReturn (0x7f9556f8fc40) 0 empty
+
+Class QAbstractFileEngine::UnMapExtensionOption
+ size=8 align=8
+ base size=8 base align=8
+QAbstractFileEngine::UnMapExtensionOption (0x7f9556f8fcb0) 0
+ QAbstractFileEngine::ExtensionOption (0x7f9556f8fd20) 0 empty
+
+Vtable for QAbstractFileEngine
+QAbstractFileEngine::_ZTV19QAbstractFileEngine: 36u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QAbstractFileEngine)
+16 QAbstractFileEngine::~QAbstractFileEngine
+24 QAbstractFileEngine::~QAbstractFileEngine
+32 QAbstractFileEngine::open
+40 QAbstractFileEngine::close
+48 QAbstractFileEngine::flush
+56 QAbstractFileEngine::size
+64 QAbstractFileEngine::pos
+72 QAbstractFileEngine::seek
+80 QAbstractFileEngine::isSequential
+88 QAbstractFileEngine::remove
+96 QAbstractFileEngine::copy
+104 QAbstractFileEngine::rename
+112 QAbstractFileEngine::link
+120 QAbstractFileEngine::mkdir
+128 QAbstractFileEngine::rmdir
+136 QAbstractFileEngine::setSize
+144 QAbstractFileEngine::caseSensitive
+152 QAbstractFileEngine::isRelativePath
+160 QAbstractFileEngine::entryList
+168 QAbstractFileEngine::fileFlags
+176 QAbstractFileEngine::setPermissions
+184 QAbstractFileEngine::fileName
+192 QAbstractFileEngine::ownerId
+200 QAbstractFileEngine::owner
+208 QAbstractFileEngine::fileTime
+216 QAbstractFileEngine::setFileName
+224 QAbstractFileEngine::handle
+232 QAbstractFileEngine::beginEntryList
+240 QAbstractFileEngine::endEntryList
+248 QAbstractFileEngine::read
+256 QAbstractFileEngine::readLine
+264 QAbstractFileEngine::write
+272 QAbstractFileEngine::extension
+280 QAbstractFileEngine::supportsExtension
+
+Class QAbstractFileEngine
+ size=16 align=8
+ base size=16 base align=8
+QAbstractFileEngine (0x7f9556f73850) 0
+ vptr=((& QAbstractFileEngine::_ZTV19QAbstractFileEngine) + 16u)
+
+Vtable for QAbstractFileEngineHandler
+QAbstractFileEngineHandler::_ZTV26QAbstractFileEngineHandler: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI26QAbstractFileEngineHandler)
+16 QAbstractFileEngineHandler::~QAbstractFileEngineHandler
+24 QAbstractFileEngineHandler::~QAbstractFileEngineHandler
+32 __cxa_pure_virtual
+
+Class QAbstractFileEngineHandler
+ size=8 align=8
+ base size=8 base align=8
+QAbstractFileEngineHandler (0x7f9556dc4bd0) 0 nearly-empty
+ vptr=((& QAbstractFileEngineHandler::_ZTV26QAbstractFileEngineHandler) + 16u)
+
+Vtable for QAbstractFileEngineIterator
+QAbstractFileEngineIterator::_ZTV27QAbstractFileEngineIterator: 9u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI27QAbstractFileEngineIterator)
+16 QAbstractFileEngineIterator::~QAbstractFileEngineIterator
+24 QAbstractFileEngineIterator::~QAbstractFileEngineIterator
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+48 __cxa_pure_virtual
+56 QAbstractFileEngineIterator::currentFileInfo
+64 QAbstractFileEngineIterator::entryInfo
+
+Class QAbstractFileEngineIterator
+ size=16 align=8
+ base size=16 base align=8
+QAbstractFileEngineIterator (0x7f9556dc4d90) 0
+ vptr=((& QAbstractFileEngineIterator::_ZTV27QAbstractFileEngineIterator) + 16u)
+
+Vtable for QBuffer
+QBuffer::_ZTV7QBuffer: 30u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QBuffer)
+16 QBuffer::metaObject
+24 QBuffer::qt_metacast
+32 QBuffer::qt_metacall
+40 QBuffer::~QBuffer
+48 QBuffer::~QBuffer
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QBuffer::connectNotify
+104 QBuffer::disconnectNotify
+112 QIODevice::isSequential
+120 QBuffer::open
+128 QBuffer::close
+136 QBuffer::pos
+144 QBuffer::size
+152 QBuffer::seek
+160 QBuffer::atEnd
+168 QIODevice::reset
+176 QIODevice::bytesAvailable
+184 QIODevice::bytesToWrite
+192 QBuffer::canReadLine
+200 QIODevice::waitForReadyRead
+208 QIODevice::waitForBytesWritten
+216 QBuffer::readData
+224 QIODevice::readLineData
+232 QBuffer::writeData
+
+Class QBuffer
+ size=16 align=8
+ base size=16 base align=8
+QBuffer (0x7f9556dd7690) 0
+ vptr=((& QBuffer::_ZTV7QBuffer) + 16u)
+ QIODevice (0x7f9556dd7700) 0
+ primary-for QBuffer (0x7f9556dd7690)
+ QObject (0x7f9556dd7770) 0
+ primary-for QIODevice (0x7f9556dd7700)
+
+Class QHashData::Node
+ size=16 align=8
+ base size=16 base align=8
+QHashData::Node (0x7f9556e1be00) 0
+
+Class QHashData
+ size=40 align=8
+ base size=40 base align=8
+QHashData (0x7f9556e1bd90) 0
+
+Class QHashDummyValue
+ size=1 align=1
+ base size=0 base align=1
+QHashDummyValue (0x7f9556e3e150) 0 empty
+
+Class QMapData::Node
+ size=16 align=8
+ base size=16 base align=8
+QMapData::Node (0x7f9556d3fa80) 0
+
+Class QMapData
+ size=128 align=8
+ base size=128 base align=8
+QMapData (0x7f9556d3fa10) 0
+
+Vtable for QSystemLocale
+QSystemLocale::_ZTV13QSystemLocale: 6u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QSystemLocale)
+16 QSystemLocale::~QSystemLocale
+24 QSystemLocale::~QSystemLocale
+32 QSystemLocale::query
+40 QSystemLocale::fallbackLocale
+
+Class QSystemLocale
+ size=8 align=8
+ base size=8 base align=8
+QSystemLocale (0x7f9556c7a690) 0 nearly-empty
+ vptr=((& QSystemLocale::_ZTV13QSystemLocale) + 16u)
+
+Class QLocale::Data
+ size=4 align=2
+ base size=4 base align=2
+QLocale::Data (0x7f9556ac4d90) 0
+
+Class QLocale
+ size=8 align=8
+ base size=8 base align=8
+QLocale (0x7f9556c7aaf0) 0
+
+Class QTextCodec::ConverterState
+ size=32 align=8
+ base size=32 base align=8
+QTextCodec::ConverterState (0x7f9556b19bd0) 0
+
+Vtable for QTextCodec
+QTextCodec::_ZTV10QTextCodec: 9u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QTextCodec)
+16 __cxa_pure_virtual
+24 QTextCodec::aliases
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+48 __cxa_pure_virtual
+56 QTextCodec::~QTextCodec
+64 QTextCodec::~QTextCodec
+
+Class QTextCodec
+ size=8 align=8
+ base size=8 base align=8
+QTextCodec (0x7f9556b0d460) 0 nearly-empty
+ vptr=((& QTextCodec::_ZTV10QTextCodec) + 16u)
+
+Class QTextEncoder
+ size=40 align=8
+ base size=40 base align=8
+QTextEncoder (0x7f9556b8c150) 0
+
+Class QTextDecoder
+ size=40 align=8
+ base size=40 base align=8
+QTextDecoder (0x7f9556b8cf50) 0
+
+Vtable for QTextStream
+QTextStream::_ZTV11QTextStream: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QTextStream)
+16 QTextStream::~QTextStream
+24 QTextStream::~QTextStream
+
+Class QTextStream
+ size=16 align=8
+ base size=16 base align=8
+QTextStream (0x7f9556b94d90) 0
+ vptr=((& QTextStream::_ZTV11QTextStream) + 16u)
+
+Class QTextStreamManipulator
+ size=40 align=8
+ base size=38 base align=8
+QTextStreamManipulator (0x7f9556a0fa80) 0
+
+Vtable for QTextIStream
+QTextIStream::_ZTV12QTextIStream: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QTextIStream)
+16 QTextIStream::~QTextIStream
+24 QTextIStream::~QTextIStream
+
+Class QTextIStream
+ size=16 align=8
+ base size=16 base align=8
+QTextIStream (0x7f9556a40070) 0
+ vptr=((& QTextIStream::_ZTV12QTextIStream) + 16u)
+ QTextStream (0x7f9556a400e0) 0
+ primary-for QTextIStream (0x7f9556a40070)
+
+Vtable for QTextOStream
+QTextOStream::_ZTV12QTextOStream: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QTextOStream)
+16 QTextOStream::~QTextOStream
+24 QTextOStream::~QTextOStream
+
+Class QTextOStream
+ size=16 align=8
+ base size=16 base align=8
+QTextOStream (0x7f9556a4dee0) 0
+ vptr=((& QTextOStream::_ZTV12QTextOStream) + 16u)
+ QTextStream (0x7f9556a4df50) 0
+ primary-for QTextOStream (0x7f9556a4dee0)
+
+Class wait
+ size=4 align=4
+ base size=4 base align=4
+wait (0x7f9556a61d90) 0
+
+Class timespec
+ size=16 align=8
+ base size=16 base align=8
+timespec (0x7f9556a6f0e0) 0
+
+Class timeval
+ size=16 align=8
+ base size=16 base align=8
+timeval (0x7f9556a6f150) 0
+
+Class __pthread_internal_list
+ size=16 align=8
+ base size=16 base align=8
+__pthread_internal_list (0x7f9556a6f2a0) 0
+
+Class random_data
+ size=48 align=8
+ base size=48 base align=8
+random_data (0x7f9556a6f850) 0
+
+Class drand48_data
+ size=24 align=8
+ base size=24 base align=8
+drand48_data (0x7f9556a6f8c0) 0
+
+Class QVectorData
+ size=16 align=4
+ base size=16 base align=4
+QVectorData (0x7f9556a6f930) 0
+
+Class QContiguousCacheData
+ size=24 align=4
+ base size=24 base align=4
+QContiguousCacheData (0x7f955682a620) 0
+
+Class QDebug::Stream
+ size=40 align=8
+ base size=34 base align=8
+QDebug::Stream (0x7f955668c150) 0
+
+Class QDebug
+ size=8 align=8
+ base size=8 base align=8
+QDebug (0x7f955668c0e0) 0
+
+Class QNoDebug
+ size=1 align=1
+ base size=0 base align=1
+QNoDebug (0x7f95567390e0) 0 empty
+
+Vtable for QDirIterator
+QDirIterator::_ZTV12QDirIterator: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QDirIterator)
+16 QDirIterator::~QDirIterator
+24 QDirIterator::~QDirIterator
+
+Class QDirIterator
+ size=16 align=8
+ base size=16 base align=8
+QDirIterator (0x7f9556749700) 0
+ vptr=((& QDirIterator::_ZTV12QDirIterator) + 16u)
+
+Vtable for QFileSystemWatcher
+QFileSystemWatcher::_ZTV18QFileSystemWatcher: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QFileSystemWatcher)
+16 QFileSystemWatcher::metaObject
+24 QFileSystemWatcher::qt_metacast
+32 QFileSystemWatcher::qt_metacall
+40 QFileSystemWatcher::~QFileSystemWatcher
+48 QFileSystemWatcher::~QFileSystemWatcher
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QFileSystemWatcher
+ size=16 align=8
+ base size=16 base align=8
+QFileSystemWatcher (0x7f95565a5540) 0
+ vptr=((& QFileSystemWatcher::_ZTV18QFileSystemWatcher) + 16u)
+ QObject (0x7f95565a55b0) 0
+ primary-for QFileSystemWatcher (0x7f95565a5540)
+
+Vtable for QFSFileEngine
+QFSFileEngine::_ZTV13QFSFileEngine: 36u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QFSFileEngine)
+16 QFSFileEngine::~QFSFileEngine
+24 QFSFileEngine::~QFSFileEngine
+32 QFSFileEngine::open
+40 QFSFileEngine::close
+48 QFSFileEngine::flush
+56 QFSFileEngine::size
+64 QFSFileEngine::pos
+72 QFSFileEngine::seek
+80 QFSFileEngine::isSequential
+88 QFSFileEngine::remove
+96 QFSFileEngine::copy
+104 QFSFileEngine::rename
+112 QFSFileEngine::link
+120 QFSFileEngine::mkdir
+128 QFSFileEngine::rmdir
+136 QFSFileEngine::setSize
+144 QFSFileEngine::caseSensitive
+152 QFSFileEngine::isRelativePath
+160 QFSFileEngine::entryList
+168 QFSFileEngine::fileFlags
+176 QFSFileEngine::setPermissions
+184 QFSFileEngine::fileName
+192 QFSFileEngine::ownerId
+200 QFSFileEngine::owner
+208 QFSFileEngine::fileTime
+216 QFSFileEngine::setFileName
+224 QFSFileEngine::handle
+232 QFSFileEngine::beginEntryList
+240 QFSFileEngine::endEntryList
+248 QFSFileEngine::read
+256 QFSFileEngine::readLine
+264 QFSFileEngine::write
+272 QFSFileEngine::extension
+280 QFSFileEngine::supportsExtension
+
+Class QFSFileEngine
+ size=16 align=8
+ base size=16 base align=8
+QFSFileEngine (0x7f95565b9a80) 0
+ vptr=((& QFSFileEngine::_ZTV13QFSFileEngine) + 16u)
+ QAbstractFileEngine (0x7f95565b9af0) 0
+ primary-for QFSFileEngine (0x7f95565b9a80)
+
+Class QSharedData
+ size=4 align=4
+ base size=4 base align=4
+QSharedData (0x7f95565c9e70) 0
+
+Class QProcessEnvironment
+ size=8 align=8
+ base size=8 base align=8
+QProcessEnvironment (0x7f95566101c0) 0
+
+Vtable for QProcess
+QProcess::_ZTV8QProcess: 31u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI8QProcess)
+16 QProcess::metaObject
+24 QProcess::qt_metacast
+32 QProcess::qt_metacall
+40 QProcess::~QProcess
+48 QProcess::~QProcess
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QProcess::isSequential
+120 QIODevice::open
+128 QProcess::close
+136 QIODevice::pos
+144 QIODevice::size
+152 QIODevice::seek
+160 QProcess::atEnd
+168 QIODevice::reset
+176 QProcess::bytesAvailable
+184 QProcess::bytesToWrite
+192 QProcess::canReadLine
+200 QProcess::waitForReadyRead
+208 QProcess::waitForBytesWritten
+216 QProcess::readData
+224 QIODevice::readLineData
+232 QProcess::writeData
+240 QProcess::setupChildProcess
+
+Class QProcess
+ size=16 align=8
+ base size=16 base align=8
+QProcess (0x7f9556610cb0) 0
+ vptr=((& QProcess::_ZTV8QProcess) + 16u)
+ QIODevice (0x7f9556610d20) 0
+ primary-for QProcess (0x7f9556610cb0)
+ QObject (0x7f9556610d90) 0
+ primary-for QIODevice (0x7f9556610d20)
+
+Class QResource
+ size=8 align=8
+ base size=8 base align=8
+QResource (0x7f955665a1c0) 0
+
+Class QMetaType
+ size=1 align=1
+ base size=0 base align=1
+QMetaType (0x7f955665ae70) 0 empty
+
+Class QVariant::PrivateShared
+ size=16 align=8
+ base size=12 base align=8
+QVariant::PrivateShared (0x7f9556556700) 0
+
+Class QVariant::Private::Data
+ size=8 align=8
+ base size=8 base align=8
+QVariant::Private::Data (0x7f9556556a10) 0
+
+Class QVariant::Private
+ size=16 align=8
+ base size=12 base align=8
+QVariant::Private (0x7f95565567e0) 0
+
+Class QVariant::Handler
+ size=72 align=8
+ base size=72 base align=8
+QVariant::Handler (0x7f9556564700) 0
+
+Class QVariant
+ size=16 align=8
+ base size=16 base align=8
+QVariant (0x7f95565257e0) 0
+
+Class QVariantComparisonHelper
+ size=8 align=8
+ base size=8 base align=8
+QVariantComparisonHelper (0x7f95564199a0) 0
+
+Vtable for QSettings
+QSettings::_ZTV9QSettings: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QSettings)
+16 QSettings::metaObject
+24 QSettings::qt_metacast
+32 QSettings::qt_metacall
+40 QSettings::~QSettings
+48 QSettings::~QSettings
+56 QSettings::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QSettings
+ size=16 align=8
+ base size=16 base align=8
+QSettings (0x7f955643dee0) 0
+ vptr=((& QSettings::_ZTV9QSettings) + 16u)
+ QObject (0x7f955643df50) 0
+ primary-for QSettings (0x7f955643dee0)
+
+Vtable for QTemporaryFile
+QTemporaryFile::_ZTV14QTemporaryFile: 31u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QTemporaryFile)
+16 QTemporaryFile::metaObject
+24 QTemporaryFile::qt_metacast
+32 QTemporaryFile::qt_metacall
+40 QTemporaryFile::~QTemporaryFile
+48 QTemporaryFile::~QTemporaryFile
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QFile::isSequential
+120 QTemporaryFile::open
+128 QFile::close
+136 QFile::pos
+144 QFile::size
+152 QFile::seek
+160 QFile::atEnd
+168 QIODevice::reset
+176 QIODevice::bytesAvailable
+184 QIODevice::bytesToWrite
+192 QIODevice::canReadLine
+200 QIODevice::waitForReadyRead
+208 QIODevice::waitForBytesWritten
+216 QFile::readData
+224 QFile::readLineData
+232 QFile::writeData
+240 QTemporaryFile::fileEngine
+
+Class QTemporaryFile
+ size=16 align=8
+ base size=16 base align=8
+QTemporaryFile (0x7f95562bf2a0) 0
+ vptr=((& QTemporaryFile::_ZTV14QTemporaryFile) + 16u)
+ QFile (0x7f95562bf310) 0
+ primary-for QTemporaryFile (0x7f95562bf2a0)
+ QIODevice (0x7f95562bf380) 0
+ primary-for QFile (0x7f95562bf310)
+ QObject (0x7f95562bf3f0) 0
+ primary-for QIODevice (0x7f95562bf380)
+
+Class QUrl
+ size=8 align=8
+ base size=8 base align=8
+QUrl (0x7f95562dc9a0) 0
+
+Class QXmlStreamStringRef
+ size=16 align=8
+ base size=16 base align=8
+QXmlStreamStringRef (0x7f9556368070) 0
+
+Class QXmlStreamAttribute
+ size=80 align=8
+ base size=73 base align=8
+QXmlStreamAttribute (0x7f9556181850) 0
+
+Class QXmlStreamAttributes
+ size=8 align=8
+ base size=8 base align=8
+QXmlStreamAttributes (0x7f95561a9310) 0
+ QVector<QXmlStreamAttribute> (0x7f95561a9380) 0
+
+Class QXmlStreamNamespaceDeclaration
+ size=40 align=8
+ base size=40 base align=8
+QXmlStreamNamespaceDeclaration (0x7f95561a97e0) 0
+
+Class QXmlStreamNotationDeclaration
+ size=56 align=8
+ base size=56 base align=8
+QXmlStreamNotationDeclaration (0x7f95561ed1c0) 0
+
+Class QXmlStreamEntityDeclaration
+ size=88 align=8
+ base size=88 base align=8
+QXmlStreamEntityDeclaration (0x7f955620e070) 0
+
+Vtable for QXmlStreamEntityResolver
+QXmlStreamEntityResolver::_ZTV24QXmlStreamEntityResolver: 6u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI24QXmlStreamEntityResolver)
+16 QXmlStreamEntityResolver::~QXmlStreamEntityResolver
+24 QXmlStreamEntityResolver::~QXmlStreamEntityResolver
+32 QXmlStreamEntityResolver::resolveEntity
+40 QXmlStreamEntityResolver::resolveUndeclaredEntity
+
+Class QXmlStreamEntityResolver
+ size=8 align=8
+ base size=8 base align=8
+QXmlStreamEntityResolver (0x7f95562289a0) 0 nearly-empty
+ vptr=((& QXmlStreamEntityResolver::_ZTV24QXmlStreamEntityResolver) + 16u)
+
+Class QXmlStreamReader
+ size=8 align=8
+ base size=8 base align=8
+QXmlStreamReader (0x7f9556228b60) 0
+
+Class QXmlStreamWriter
+ size=8 align=8
+ base size=8 base align=8
+QXmlStreamWriter (0x7f9556270c40) 0
+
+Vtable for QAbstractState
+QAbstractState::_ZTV14QAbstractState: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QAbstractState)
+16 QAbstractState::metaObject
+24 QAbstractState::qt_metacast
+32 QAbstractState::qt_metacall
+40 QAbstractState::~QAbstractState
+48 QAbstractState::~QAbstractState
+56 QAbstractState::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+
+Class QAbstractState
+ size=16 align=8
+ base size=16 base align=8
+QAbstractState (0x7f955607da80) 0
+ vptr=((& QAbstractState::_ZTV14QAbstractState) + 16u)
+ QObject (0x7f955607daf0) 0
+ primary-for QAbstractState (0x7f955607da80)
+
+Vtable for QAbstractTransition
+QAbstractTransition::_ZTV19QAbstractTransition: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QAbstractTransition)
+16 QAbstractTransition::metaObject
+24 QAbstractTransition::qt_metacast
+32 QAbstractTransition::qt_metacall
+40 QAbstractTransition::~QAbstractTransition
+48 QAbstractTransition::~QAbstractTransition
+56 QAbstractTransition::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+
+Class QAbstractTransition
+ size=16 align=8
+ base size=16 base align=8
+QAbstractTransition (0x7f95560a32a0) 0
+ vptr=((& QAbstractTransition::_ZTV19QAbstractTransition) + 16u)
+ QObject (0x7f95560a3310) 0
+ primary-for QAbstractTransition (0x7f95560a32a0)
+
+Vtable for QEvent
+QEvent::_ZTV6QEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI6QEvent)
+16 QEvent::~QEvent
+24 QEvent::~QEvent
+
+Class QEvent
+ size=24 align=8
+ base size=20 base align=8
+QEvent (0x7f95560b7af0) 0
+ vptr=((& QEvent::_ZTV6QEvent) + 16u)
+
+Vtable for QTimerEvent
+QTimerEvent::_ZTV11QTimerEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QTimerEvent)
+16 QTimerEvent::~QTimerEvent
+24 QTimerEvent::~QTimerEvent
+
+Class QTimerEvent
+ size=24 align=8
+ base size=24 base align=8
+QTimerEvent (0x7f95560d9700) 0
+ vptr=((& QTimerEvent::_ZTV11QTimerEvent) + 16u)
+ QEvent (0x7f95560d9770) 0
+ primary-for QTimerEvent (0x7f95560d9700)
+
+Vtable for QChildEvent
+QChildEvent::_ZTV11QChildEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QChildEvent)
+16 QChildEvent::~QChildEvent
+24 QChildEvent::~QChildEvent
+
+Class QChildEvent
+ size=32 align=8
+ base size=32 base align=8
+QChildEvent (0x7f95560d9b60) 0
+ vptr=((& QChildEvent::_ZTV11QChildEvent) + 16u)
+ QEvent (0x7f95560d9bd0) 0
+ primary-for QChildEvent (0x7f95560d9b60)
+
+Vtable for QCustomEvent
+QCustomEvent::_ZTV12QCustomEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QCustomEvent)
+16 QCustomEvent::~QCustomEvent
+24 QCustomEvent::~QCustomEvent
+
+Class QCustomEvent
+ size=24 align=8
+ base size=20 base align=8
+QCustomEvent (0x7f95560e2e00) 0
+ vptr=((& QCustomEvent::_ZTV12QCustomEvent) + 16u)
+ QEvent (0x7f95560e2e70) 0
+ primary-for QCustomEvent (0x7f95560e2e00)
+
+Vtable for QDynamicPropertyChangeEvent
+QDynamicPropertyChangeEvent::_ZTV27QDynamicPropertyChangeEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI27QDynamicPropertyChangeEvent)
+16 QDynamicPropertyChangeEvent::~QDynamicPropertyChangeEvent
+24 QDynamicPropertyChangeEvent::~QDynamicPropertyChangeEvent
+
+Class QDynamicPropertyChangeEvent
+ size=32 align=8
+ base size=32 base align=8
+QDynamicPropertyChangeEvent (0x7f95560f4620) 0
+ vptr=((& QDynamicPropertyChangeEvent::_ZTV27QDynamicPropertyChangeEvent) + 16u)
+ QEvent (0x7f95560f4690) 0
+ primary-for QDynamicPropertyChangeEvent (0x7f95560f4620)
+
+Vtable for QEventTransition
+QEventTransition::_ZTV16QEventTransition: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QEventTransition)
+16 QEventTransition::metaObject
+24 QEventTransition::qt_metacast
+32 QEventTransition::qt_metacall
+40 QEventTransition::~QEventTransition
+48 QEventTransition::~QEventTransition
+56 QEventTransition::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QEventTransition::eventTest
+120 QEventTransition::onTransition
+
+Class QEventTransition
+ size=16 align=8
+ base size=16 base align=8
+QEventTransition (0x7f95560f4af0) 0
+ vptr=((& QEventTransition::_ZTV16QEventTransition) + 16u)
+ QAbstractTransition (0x7f95560f4b60) 0
+ primary-for QEventTransition (0x7f95560f4af0)
+ QObject (0x7f95560f4bd0) 0
+ primary-for QAbstractTransition (0x7f95560f4b60)
+
+Vtable for QFinalState
+QFinalState::_ZTV11QFinalState: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QFinalState)
+16 QFinalState::metaObject
+24 QFinalState::qt_metacast
+32 QFinalState::qt_metacall
+40 QFinalState::~QFinalState
+48 QFinalState::~QFinalState
+56 QFinalState::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QFinalState::onEntry
+120 QFinalState::onExit
+
+Class QFinalState
+ size=16 align=8
+ base size=16 base align=8
+QFinalState (0x7f955610e9a0) 0
+ vptr=((& QFinalState::_ZTV11QFinalState) + 16u)
+ QAbstractState (0x7f955610ea10) 0
+ primary-for QFinalState (0x7f955610e9a0)
+ QObject (0x7f955610ea80) 0
+ primary-for QAbstractState (0x7f955610ea10)
+
+Vtable for QHistoryState
+QHistoryState::_ZTV13QHistoryState: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QHistoryState)
+16 QHistoryState::metaObject
+24 QHistoryState::qt_metacast
+32 QHistoryState::qt_metacall
+40 QHistoryState::~QHistoryState
+48 QHistoryState::~QHistoryState
+56 QHistoryState::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QHistoryState::onEntry
+120 QHistoryState::onExit
+
+Class QHistoryState
+ size=16 align=8
+ base size=16 base align=8
+QHistoryState (0x7f9556127230) 0
+ vptr=((& QHistoryState::_ZTV13QHistoryState) + 16u)
+ QAbstractState (0x7f95561272a0) 0
+ primary-for QHistoryState (0x7f9556127230)
+ QObject (0x7f9556127310) 0
+ primary-for QAbstractState (0x7f95561272a0)
+
+Vtable for QSignalTransition
+QSignalTransition::_ZTV17QSignalTransition: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QSignalTransition)
+16 QSignalTransition::metaObject
+24 QSignalTransition::qt_metacast
+32 QSignalTransition::qt_metacall
+40 QSignalTransition::~QSignalTransition
+48 QSignalTransition::~QSignalTransition
+56 QSignalTransition::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QSignalTransition::eventTest
+120 QSignalTransition::onTransition
+
+Class QSignalTransition
+ size=16 align=8
+ base size=16 base align=8
+QSignalTransition (0x7f955613af50) 0
+ vptr=((& QSignalTransition::_ZTV17QSignalTransition) + 16u)
+ QAbstractTransition (0x7f9556144000) 0
+ primary-for QSignalTransition (0x7f955613af50)
+ QObject (0x7f9556144070) 0
+ primary-for QAbstractTransition (0x7f9556144000)
+
+Vtable for QState
+QState::_ZTV6QState: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI6QState)
+16 QState::metaObject
+24 QState::qt_metacast
+32 QState::qt_metacall
+40 QState::~QState
+48 QState::~QState
+56 QState::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QState::onEntry
+120 QState::onExit
+
+Class QState
+ size=16 align=8
+ base size=16 base align=8
+QState (0x7f9556153af0) 0
+ vptr=((& QState::_ZTV6QState) + 16u)
+ QAbstractState (0x7f9556153b60) 0
+ primary-for QState (0x7f9556153af0)
+ QObject (0x7f9556153bd0) 0
+ primary-for QAbstractState (0x7f9556153b60)
+
+Vtable for QStateMachine::SignalEvent
+QStateMachine::SignalEvent::_ZTVN13QStateMachine11SignalEventE: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN13QStateMachine11SignalEventE)
+16 QStateMachine::SignalEvent::~SignalEvent
+24 QStateMachine::SignalEvent::~SignalEvent
+
+Class QStateMachine::SignalEvent
+ size=48 align=8
+ base size=48 base align=8
+QStateMachine::SignalEvent (0x7f9555f79150) 0
+ vptr=((& QStateMachine::SignalEvent::_ZTVN13QStateMachine11SignalEventE) + 16u)
+ QEvent (0x7f9555f791c0) 0
+ primary-for QStateMachine::SignalEvent (0x7f9555f79150)
+
+Vtable for QStateMachine::WrappedEvent
+QStateMachine::WrappedEvent::_ZTVN13QStateMachine12WrappedEventE: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN13QStateMachine12WrappedEventE)
+16 QStateMachine::WrappedEvent::~WrappedEvent
+24 QStateMachine::WrappedEvent::~WrappedEvent
+
+Class QStateMachine::WrappedEvent
+ size=40 align=8
+ base size=40 base align=8
+QStateMachine::WrappedEvent (0x7f9555f79700) 0
+ vptr=((& QStateMachine::WrappedEvent::_ZTVN13QStateMachine12WrappedEventE) + 16u)
+ QEvent (0x7f9555f79770) 0
+ primary-for QStateMachine::WrappedEvent (0x7f9555f79700)
+
+Vtable for QStateMachine
+QStateMachine::_ZTV13QStateMachine: 20u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QStateMachine)
+16 QStateMachine::metaObject
+24 QStateMachine::qt_metacast
+32 QStateMachine::qt_metacall
+40 QStateMachine::~QStateMachine
+48 QStateMachine::~QStateMachine
+56 QStateMachine::event
+64 QStateMachine::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QStateMachine::onEntry
+120 QStateMachine::onExit
+128 QStateMachine::beginSelectTransitions
+136 QStateMachine::endSelectTransitions
+144 QStateMachine::beginMicrostep
+152 QStateMachine::endMicrostep
+
+Class QStateMachine
+ size=16 align=8
+ base size=16 base align=8
+QStateMachine (0x7f9555f70ee0) 0
+ vptr=((& QStateMachine::_ZTV13QStateMachine) + 16u)
+ QState (0x7f9555f70f50) 0
+ primary-for QStateMachine (0x7f9555f70ee0)
+ QAbstractState (0x7f9555f79000) 0
+ primary-for QState (0x7f9555f70f50)
+ QObject (0x7f9555f79070) 0
+ primary-for QAbstractState (0x7f9555f79000)
+
+Class QBitArray
+ size=8 align=8
+ base size=8 base align=8
+QBitArray (0x7f9555fa9150) 0
+
+Class QBitRef
+ size=16 align=8
+ base size=12 base align=8
+QBitRef (0x7f9555fffe00) 0
+
+Class QByteArrayMatcher::Data
+ size=272 align=8
+ base size=272 base align=8
+QByteArrayMatcher::Data (0x7f9556011af0) 0
+
+Class QByteArrayMatcher
+ size=1040 align=8
+ base size=1040 base align=8
+QByteArrayMatcher (0x7f95560114d0) 0
+
+Class QCryptographicHash
+ size=8 align=8
+ base size=8 base align=8
+QCryptographicHash (0x7f955604a150) 0
+
+Vtable for QtSharedPointer::ExternalRefCountData
+QtSharedPointer::ExternalRefCountData::_ZTVN15QtSharedPointer20ExternalRefCountDataE: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN15QtSharedPointer20ExternalRefCountDataE)
+16 QtSharedPointer::ExternalRefCountData::~ExternalRefCountData
+24 QtSharedPointer::ExternalRefCountData::~ExternalRefCountData
+32 QtSharedPointer::ExternalRefCountData::destroy
+
+Class QtSharedPointer::ExternalRefCountData
+ size=16 align=8
+ base size=16 base align=8
+QtSharedPointer::ExternalRefCountData (0x7f9555e74070) 0
+ vptr=((& QtSharedPointer::ExternalRefCountData::_ZTVN15QtSharedPointer20ExternalRefCountDataE) + 16u)
+
+Vtable for QtSharedPointer::ExternalRefCountWithDestroyFn
+QtSharedPointer::ExternalRefCountWithDestroyFn::_ZTVN15QtSharedPointer29ExternalRefCountWithDestroyFnE: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN15QtSharedPointer29ExternalRefCountWithDestroyFnE)
+16 QtSharedPointer::ExternalRefCountWithDestroyFn::~ExternalRefCountWithDestroyFn
+24 QtSharedPointer::ExternalRefCountWithDestroyFn::~ExternalRefCountWithDestroyFn
+32 QtSharedPointer::ExternalRefCountWithDestroyFn::destroy
+
+Class QtSharedPointer::ExternalRefCountWithDestroyFn
+ size=24 align=8
+ base size=24 base align=8
+QtSharedPointer::ExternalRefCountWithDestroyFn (0x7f9555e8c930) 0
+ vptr=((& QtSharedPointer::ExternalRefCountWithDestroyFn::_ZTVN15QtSharedPointer29ExternalRefCountWithDestroyFnE) + 16u)
+ QtSharedPointer::ExternalRefCountData (0x7f9555e8c9a0) 0
+ primary-for QtSharedPointer::ExternalRefCountWithDestroyFn (0x7f9555e8c930)
+
+Class QDate
+ size=4 align=4
+ base size=4 base align=4
+QDate (0x7f9555f145b0) 0
+
+Class QTime
+ size=4 align=4
+ base size=4 base align=4
+QTime (0x7f9555f45540) 0
+
+Class QDateTime
+ size=8 align=8
+ base size=8 base align=8
+QDateTime (0x7f9555f61af0) 0
+
+Class QEasingCurve
+ size=8 align=8
+ base size=8 base align=8
+QEasingCurve (0x7f9555da7000) 0
+
+Class QPoint
+ size=8 align=4
+ base size=8 base align=4
+QPoint (0x7f9555da7ee0) 0
+
+Class QPointF
+ size=16 align=8
+ base size=16 base align=8
+QPointF (0x7f9555de8af0) 0
+
+Class QLine
+ size=16 align=4
+ base size=16 base align=4
+QLine (0x7f9555e26af0) 0
+
+Class QLineF
+ size=32 align=8
+ base size=32 base align=8
+QLineF (0x7f9555e639a0) 0
+
+Class QLinkedListData
+ size=32 align=8
+ base size=32 base align=8
+QLinkedListData (0x7f9555cb8460) 0
+
+Class QMargins
+ size=16 align=4
+ base size=16 base align=4
+QMargins (0x7f9555b77380) 0
+
+Class QSize
+ size=8 align=4
+ base size=8 base align=4
+QSize (0x7f9555ba4150) 0
+
+Class QSizeF
+ size=16 align=8
+ base size=16 base align=8
+QSizeF (0x7f9555be4e00) 0
+
+Class QRect
+ size=16 align=4
+ base size=16 base align=4
+QRect (0x7f9555c37380) 0
+
+Class QRectF
+ size=32 align=8
+ base size=32 base align=8
+QRectF (0x7f9555ae4d20) 0
+
+Class QLatin1Literal
+ size=16 align=8
+ base size=16 base align=8
+QLatin1Literal (0x7f9555993ee0) 0
+
+Class QAbstractConcatenable
+ size=1 align=1
+ base size=0 base align=1
+QAbstractConcatenable (0x7f95559a43f0) 0 empty
+
+Class QTextBoundaryFinder
+ size=48 align=8
+ base size=48 base align=8
+QTextBoundaryFinder (0x7f95559dc380) 0
+
+Vtable for QTimeLine
+QTimeLine::_ZTV9QTimeLine: 15u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QTimeLine)
+16 QTimeLine::metaObject
+24 QTimeLine::qt_metacast
+32 QTimeLine::qt_metacall
+40 QTimeLine::~QTimeLine
+48 QTimeLine::~QTimeLine
+56 QObject::event
+64 QObject::eventFilter
+72 QTimeLine::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QTimeLine::valueForTime
+
+Class QTimeLine
+ size=16 align=8
+ base size=16 base align=8
+QTimeLine (0x7f95559ea700) 0
+ vptr=((& QTimeLine::_ZTV9QTimeLine) + 16u)
+ QObject (0x7f95559ea770) 0
+ primary-for QTimeLine (0x7f95559ea700)
+
+Vtable for QRunnable
+QRunnable::_ZTV9QRunnable: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QRunnable)
+16 __cxa_pure_virtual
+24 QRunnable::~QRunnable
+32 QRunnable::~QRunnable
+
+Class QRunnable
+ size=16 align=8
+ base size=12 base align=8
+QRunnable (0x7f9555a15f50) 0
+ vptr=((& QRunnable::_ZTV9QRunnable) + 16u)
+
+Class QMutex
+ size=8 align=8
+ base size=8 base align=8
+QMutex (0x7f9555a4c620) 0
+
+Class QMutexLocker
+ size=8 align=8
+ base size=8 base align=8
+QMutexLocker (0x7f9555a5b1c0) 0
+
+Vtable for QtConcurrent::Exception
+QtConcurrent::Exception::_ZTVN12QtConcurrent9ExceptionE: 7u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN12QtConcurrent9ExceptionE)
+16 QtConcurrent::Exception::~Exception
+24 QtConcurrent::Exception::~Exception
+32 std::exception::what
+40 QtConcurrent::Exception::raise
+48 QtConcurrent::Exception::clone
+
+Class QtConcurrent::Exception
+ size=8 align=8
+ base size=8 base align=8
+QtConcurrent::Exception (0x7f95558704d0) 0 nearly-empty
+ vptr=((& QtConcurrent::Exception::_ZTVN12QtConcurrent9ExceptionE) + 16u)
+ std::exception (0x7f9555870540) 0 nearly-empty
+ primary-for QtConcurrent::Exception (0x7f95558704d0)
+
+Vtable for QtConcurrent::UnhandledException
+QtConcurrent::UnhandledException::_ZTVN12QtConcurrent18UnhandledExceptionE: 7u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN12QtConcurrent18UnhandledExceptionE)
+16 QtConcurrent::UnhandledException::~UnhandledException
+24 QtConcurrent::UnhandledException::~UnhandledException
+32 std::exception::what
+40 QtConcurrent::UnhandledException::raise
+48 QtConcurrent::UnhandledException::clone
+
+Class QtConcurrent::UnhandledException
+ size=8 align=8
+ base size=8 base align=8
+QtConcurrent::UnhandledException (0x7f9555870770) 0 nearly-empty
+ vptr=((& QtConcurrent::UnhandledException::_ZTVN12QtConcurrent18UnhandledExceptionE) + 16u)
+ QtConcurrent::Exception (0x7f95558707e0) 0 nearly-empty
+ primary-for QtConcurrent::UnhandledException (0x7f9555870770)
+ std::exception (0x7f9555870850) 0 nearly-empty
+ primary-for QtConcurrent::Exception (0x7f95558707e0)
+
+Class QtConcurrent::internal::ExceptionHolder
+ size=8 align=8
+ base size=8 base align=8
+QtConcurrent::internal::ExceptionHolder (0x7f9555870a80) 0
+
+Class QtConcurrent::internal::ExceptionStore
+ size=8 align=8
+ base size=8 base align=8
+QtConcurrent::internal::ExceptionStore (0x7f9555870e00) 0
+
+Class QtConcurrent::ResultItem
+ size=16 align=8
+ base size=16 base align=8
+QtConcurrent::ResultItem (0x7f9555870e70) 0
+
+Class QtConcurrent::ResultIteratorBase
+ size=16 align=8
+ base size=12 base align=8
+QtConcurrent::ResultIteratorBase (0x7f9555888d90) 0
+
+Vtable for QtConcurrent::ResultStoreBase
+QtConcurrent::ResultStoreBase::_ZTVN12QtConcurrent15ResultStoreBaseE: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN12QtConcurrent15ResultStoreBaseE)
+16 QtConcurrent::ResultStoreBase::~ResultStoreBase
+24 QtConcurrent::ResultStoreBase::~ResultStoreBase
+
+Class QtConcurrent::ResultStoreBase
+ size=48 align=8
+ base size=44 base align=8
+QtConcurrent::ResultStoreBase (0x7f955588d930) 0
+ vptr=((& QtConcurrent::ResultStoreBase::_ZTVN12QtConcurrent15ResultStoreBaseE) + 16u)
+
+Vtable for QFutureInterfaceBase
+QFutureInterfaceBase::_ZTV20QFutureInterfaceBase: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI20QFutureInterfaceBase)
+16 QFutureInterfaceBase::~QFutureInterfaceBase
+24 QFutureInterfaceBase::~QFutureInterfaceBase
+
+Class QFutureInterfaceBase
+ size=16 align=8
+ base size=16 base align=8
+QFutureInterfaceBase (0x7f95558ccd90) 0
+ vptr=((& QFutureInterfaceBase::_ZTV20QFutureInterfaceBase) + 16u)
+
+Vtable for QFutureWatcherBase
+QFutureWatcherBase::_ZTV18QFutureWatcherBase: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QFutureWatcherBase)
+16 QFutureWatcherBase::metaObject
+24 QFutureWatcherBase::qt_metacast
+32 QFutureWatcherBase::qt_metacall
+40 QFutureWatcherBase::~QFutureWatcherBase
+48 QFutureWatcherBase::~QFutureWatcherBase
+56 QFutureWatcherBase::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QFutureWatcherBase::connectNotify
+104 QFutureWatcherBase::disconnectNotify
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+
+Class QFutureWatcherBase
+ size=16 align=8
+ base size=16 base align=8
+QFutureWatcherBase (0x7f95557b0690) 0
+ vptr=((& QFutureWatcherBase::_ZTV18QFutureWatcherBase) + 16u)
+ QObject (0x7f95557b0700) 0
+ primary-for QFutureWatcherBase (0x7f95557b0690)
+
+Vtable for QThread
+QThread::_ZTV7QThread: 15u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QThread)
+16 QThread::metaObject
+24 QThread::qt_metacast
+32 QThread::qt_metacall
+40 QThread::~QThread
+48 QThread::~QThread
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QThread::run
+
+Class QThread
+ size=16 align=8
+ base size=16 base align=8
+QThread (0x7f9555802a80) 0
+ vptr=((& QThread::_ZTV7QThread) + 16u)
+ QObject (0x7f9555802af0) 0
+ primary-for QThread (0x7f9555802a80)
+
+Vtable for QThreadPool
+QThreadPool::_ZTV11QThreadPool: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QThreadPool)
+16 QThreadPool::metaObject
+24 QThreadPool::qt_metacast
+32 QThreadPool::qt_metacall
+40 QThreadPool::~QThreadPool
+48 QThreadPool::~QThreadPool
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QThreadPool
+ size=16 align=8
+ base size=16 base align=8
+QThreadPool (0x7f9555829930) 0
+ vptr=((& QThreadPool::_ZTV11QThreadPool) + 16u)
+ QObject (0x7f95558299a0) 0
+ primary-for QThreadPool (0x7f9555829930)
+
+Class QWaitCondition
+ size=8 align=8
+ base size=8 base align=8
+QWaitCondition (0x7f955583aee0) 0
+
+Class QSemaphore
+ size=8 align=8
+ base size=8 base align=8
+QSemaphore (0x7f9555845460) 0
+
+Class QtConcurrent::ThreadEngineBarrier
+ size=24 align=8
+ base size=24 base align=8
+QtConcurrent::ThreadEngineBarrier (0x7f95558459a0) 0
+
+Vtable for QtConcurrent::ThreadEngineBase
+QtConcurrent::ThreadEngineBase::_ZTVN12QtConcurrent16ThreadEngineBaseE: 11u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN12QtConcurrent16ThreadEngineBaseE)
+16 QtConcurrent::ThreadEngineBase::run
+24 QtConcurrent::ThreadEngineBase::~ThreadEngineBase
+32 QtConcurrent::ThreadEngineBase::~ThreadEngineBase
+40 QtConcurrent::ThreadEngineBase::start
+48 QtConcurrent::ThreadEngineBase::finish
+56 QtConcurrent::ThreadEngineBase::threadFunction
+64 QtConcurrent::ThreadEngineBase::shouldStartThread
+72 QtConcurrent::ThreadEngineBase::shouldThrottleThread
+80 __cxa_pure_virtual
+
+Class QtConcurrent::ThreadEngineBase
+ size=64 align=8
+ base size=64 base align=8
+QtConcurrent::ThreadEngineBase (0x7f9555845a80) 0
+ vptr=((& QtConcurrent::ThreadEngineBase::_ZTVN12QtConcurrent16ThreadEngineBaseE) + 16u)
+ QRunnable (0x7f9555845af0) 0
+ primary-for QtConcurrent::ThreadEngineBase (0x7f9555845a80)
+
+VTT for QtConcurrent::ThreadEngine<void>
+QtConcurrent::ThreadEngine<void>::_ZTTN12QtConcurrent12ThreadEngineIvEE: 2u entries
+0 ((& QtConcurrent::ThreadEngine<void>::_ZTVN12QtConcurrent12ThreadEngineIvEE) + 24u)
+8 ((& QtConcurrent::ThreadEngine<void>::_ZTVN12QtConcurrent12ThreadEngineIvEE) + 136u)
+
+Class QtConcurrent::BlockSizeManager
+ size=96 align=8
+ base size=92 base align=8
+QtConcurrent::BlockSizeManager (0x7f955568fee0) 0
+
+Vtable for QFactoryInterface
+QFactoryInterface::_ZTV17QFactoryInterface: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QFactoryInterface)
+16 QFactoryInterface::~QFactoryInterface
+24 QFactoryInterface::~QFactoryInterface
+32 __cxa_pure_virtual
+
+Class QFactoryInterface
+ size=8 align=8
+ base size=8 base align=8
+QFactoryInterface (0x7f9555339d20) 0 nearly-empty
+ vptr=((& QFactoryInterface::_ZTV17QFactoryInterface) + 16u)
+
+Vtable for QTextCodecFactoryInterface
+QTextCodecFactoryInterface::_ZTV26QTextCodecFactoryInterface: 6u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI26QTextCodecFactoryInterface)
+16 QTextCodecFactoryInterface::~QTextCodecFactoryInterface
+24 QTextCodecFactoryInterface::~QTextCodecFactoryInterface
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+
+Class QTextCodecFactoryInterface
+ size=8 align=8
+ base size=8 base align=8
+QTextCodecFactoryInterface (0x7f955516d000) 0 nearly-empty
+ vptr=((& QTextCodecFactoryInterface::_ZTV26QTextCodecFactoryInterface) + 16u)
+ QFactoryInterface (0x7f955516d070) 0 nearly-empty
+ primary-for QTextCodecFactoryInterface (0x7f955516d000)
+
+Vtable for QTextCodecPlugin
+QTextCodecPlugin::_ZTV16QTextCodecPlugin: 27u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QTextCodecPlugin)
+16 QTextCodecPlugin::metaObject
+24 QTextCodecPlugin::qt_metacast
+32 QTextCodecPlugin::qt_metacall
+40 QTextCodecPlugin::~QTextCodecPlugin
+48 QTextCodecPlugin::~QTextCodecPlugin
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 __cxa_pure_virtual
+136 __cxa_pure_virtual
+144 __cxa_pure_virtual
+152 QTextCodecPlugin::keys
+160 QTextCodecPlugin::create
+168 (int (*)(...))-0x00000000000000010
+176 (int (*)(...))(& _ZTI16QTextCodecPlugin)
+184 QTextCodecPlugin::_ZThn16_N16QTextCodecPluginD1Ev
+192 QTextCodecPlugin::_ZThn16_N16QTextCodecPluginD0Ev
+200 QTextCodecPlugin::_ZThn16_NK16QTextCodecPlugin4keysEv
+208 QTextCodecPlugin::_ZThn16_N16QTextCodecPlugin6createERK7QString
+
+Class QTextCodecPlugin
+ size=24 align=8
+ base size=24 base align=8
+QTextCodecPlugin (0x7f9555175580) 0
+ vptr=((& QTextCodecPlugin::_ZTV16QTextCodecPlugin) + 16u)
+ QObject (0x7f955516da80) 0
+ primary-for QTextCodecPlugin (0x7f9555175580)
+ QTextCodecFactoryInterface (0x7f955516daf0) 16 nearly-empty
+ vptr=((& QTextCodecPlugin::_ZTV16QTextCodecPlugin) + 184u)
+ QFactoryInterface (0x7f955516db60) 16 nearly-empty
+ primary-for QTextCodecFactoryInterface (0x7f955516daf0)
+
+Class QLibraryInfo
+ size=1 align=1
+ base size=0 base align=1
+QLibraryInfo (0x7f95551c5150) 0 empty
+
+Vtable for QEventLoop
+QEventLoop::_ZTV10QEventLoop: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QEventLoop)
+16 QEventLoop::metaObject
+24 QEventLoop::qt_metacast
+32 QEventLoop::qt_metacall
+40 QEventLoop::~QEventLoop
+48 QEventLoop::~QEventLoop
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QEventLoop
+ size=16 align=8
+ base size=16 base align=8
+QEventLoop (0x7f95551c52a0) 0
+ vptr=((& QEventLoop::_ZTV10QEventLoop) + 16u)
+ QObject (0x7f95551c5310) 0
+ primary-for QEventLoop (0x7f95551c52a0)
+
+Vtable for QAbstractEventDispatcher
+QAbstractEventDispatcher::_ZTV24QAbstractEventDispatcher: 27u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI24QAbstractEventDispatcher)
+16 QAbstractEventDispatcher::metaObject
+24 QAbstractEventDispatcher::qt_metacast
+32 QAbstractEventDispatcher::qt_metacall
+40 QAbstractEventDispatcher::~QAbstractEventDispatcher
+48 QAbstractEventDispatcher::~QAbstractEventDispatcher
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 __cxa_pure_virtual
+136 __cxa_pure_virtual
+144 __cxa_pure_virtual
+152 __cxa_pure_virtual
+160 __cxa_pure_virtual
+168 __cxa_pure_virtual
+176 __cxa_pure_virtual
+184 __cxa_pure_virtual
+192 __cxa_pure_virtual
+200 QAbstractEventDispatcher::startingUp
+208 QAbstractEventDispatcher::closingDown
+
+Class QAbstractEventDispatcher
+ size=16 align=8
+ base size=16 base align=8
+QAbstractEventDispatcher (0x7f95551fdbd0) 0
+ vptr=((& QAbstractEventDispatcher::_ZTV24QAbstractEventDispatcher) + 16u)
+ QObject (0x7f95551fdc40) 0
+ primary-for QAbstractEventDispatcher (0x7f95551fdbd0)
+
+Class QModelIndex
+ size=24 align=8
+ base size=24 base align=8
+QModelIndex (0x7f9555225a80) 0
+
+Class QPersistentModelIndex
+ size=8 align=8
+ base size=8 base align=8
+QPersistentModelIndex (0x7f9555250540) 0
+
+Vtable for QAbstractItemModel
+QAbstractItemModel::_ZTV18QAbstractItemModel: 42u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QAbstractItemModel)
+16 QAbstractItemModel::metaObject
+24 QAbstractItemModel::qt_metacast
+32 QAbstractItemModel::qt_metacall
+40 QAbstractItemModel::~QAbstractItemModel
+48 QAbstractItemModel::~QAbstractItemModel
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 __cxa_pure_virtual
+136 __cxa_pure_virtual
+144 QAbstractItemModel::hasChildren
+152 __cxa_pure_virtual
+160 QAbstractItemModel::setData
+168 QAbstractItemModel::headerData
+176 QAbstractItemModel::setHeaderData
+184 QAbstractItemModel::itemData
+192 QAbstractItemModel::setItemData
+200 QAbstractItemModel::mimeTypes
+208 QAbstractItemModel::mimeData
+216 QAbstractItemModel::dropMimeData
+224 QAbstractItemModel::supportedDropActions
+232 QAbstractItemModel::insertRows
+240 QAbstractItemModel::insertColumns
+248 QAbstractItemModel::removeRows
+256 QAbstractItemModel::removeColumns
+264 QAbstractItemModel::fetchMore
+272 QAbstractItemModel::canFetchMore
+280 QAbstractItemModel::flags
+288 QAbstractItemModel::sort
+296 QAbstractItemModel::buddy
+304 QAbstractItemModel::match
+312 QAbstractItemModel::span
+320 QAbstractItemModel::submit
+328 QAbstractItemModel::revert
+
+Class QAbstractItemModel
+ size=16 align=8
+ base size=16 base align=8
+QAbstractItemModel (0x7f9555259850) 0
+ vptr=((& QAbstractItemModel::_ZTV18QAbstractItemModel) + 16u)
+ QObject (0x7f95552598c0) 0
+ primary-for QAbstractItemModel (0x7f9555259850)
+
+Vtable for QAbstractTableModel
+QAbstractTableModel::_ZTV19QAbstractTableModel: 42u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QAbstractTableModel)
+16 QAbstractTableModel::metaObject
+24 QAbstractTableModel::qt_metacast
+32 QAbstractTableModel::qt_metacall
+40 QAbstractTableModel::~QAbstractTableModel
+48 QAbstractTableModel::~QAbstractTableModel
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QAbstractTableModel::index
+120 QAbstractTableModel::parent
+128 __cxa_pure_virtual
+136 __cxa_pure_virtual
+144 QAbstractTableModel::hasChildren
+152 __cxa_pure_virtual
+160 QAbstractItemModel::setData
+168 QAbstractItemModel::headerData
+176 QAbstractItemModel::setHeaderData
+184 QAbstractItemModel::itemData
+192 QAbstractItemModel::setItemData
+200 QAbstractItemModel::mimeTypes
+208 QAbstractItemModel::mimeData
+216 QAbstractTableModel::dropMimeData
+224 QAbstractItemModel::supportedDropActions
+232 QAbstractItemModel::insertRows
+240 QAbstractItemModel::insertColumns
+248 QAbstractItemModel::removeRows
+256 QAbstractItemModel::removeColumns
+264 QAbstractItemModel::fetchMore
+272 QAbstractItemModel::canFetchMore
+280 QAbstractItemModel::flags
+288 QAbstractItemModel::sort
+296 QAbstractItemModel::buddy
+304 QAbstractItemModel::match
+312 QAbstractItemModel::span
+320 QAbstractItemModel::submit
+328 QAbstractItemModel::revert
+
+Class QAbstractTableModel
+ size=16 align=8
+ base size=16 base align=8
+QAbstractTableModel (0x7f95550b6b60) 0
+ vptr=((& QAbstractTableModel::_ZTV19QAbstractTableModel) + 16u)
+ QAbstractItemModel (0x7f95550b6bd0) 0
+ primary-for QAbstractTableModel (0x7f95550b6b60)
+ QObject (0x7f95550b6c40) 0
+ primary-for QAbstractItemModel (0x7f95550b6bd0)
+
+Vtable for QAbstractListModel
+QAbstractListModel::_ZTV18QAbstractListModel: 42u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QAbstractListModel)
+16 QAbstractListModel::metaObject
+24 QAbstractListModel::qt_metacast
+32 QAbstractListModel::qt_metacall
+40 QAbstractListModel::~QAbstractListModel
+48 QAbstractListModel::~QAbstractListModel
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QAbstractListModel::index
+120 QAbstractListModel::parent
+128 __cxa_pure_virtual
+136 QAbstractListModel::columnCount
+144 QAbstractListModel::hasChildren
+152 __cxa_pure_virtual
+160 QAbstractItemModel::setData
+168 QAbstractItemModel::headerData
+176 QAbstractItemModel::setHeaderData
+184 QAbstractItemModel::itemData
+192 QAbstractItemModel::setItemData
+200 QAbstractItemModel::mimeTypes
+208 QAbstractItemModel::mimeData
+216 QAbstractListModel::dropMimeData
+224 QAbstractItemModel::supportedDropActions
+232 QAbstractItemModel::insertRows
+240 QAbstractItemModel::insertColumns
+248 QAbstractItemModel::removeRows
+256 QAbstractItemModel::removeColumns
+264 QAbstractItemModel::fetchMore
+272 QAbstractItemModel::canFetchMore
+280 QAbstractItemModel::flags
+288 QAbstractItemModel::sort
+296 QAbstractItemModel::buddy
+304 QAbstractItemModel::match
+312 QAbstractItemModel::span
+320 QAbstractItemModel::submit
+328 QAbstractItemModel::revert
+
+Class QAbstractListModel
+ size=16 align=8
+ base size=16 base align=8
+QAbstractListModel (0x7f95550d10e0) 0
+ vptr=((& QAbstractListModel::_ZTV18QAbstractListModel) + 16u)
+ QAbstractItemModel (0x7f95550d1150) 0
+ primary-for QAbstractListModel (0x7f95550d10e0)
+ QObject (0x7f95550d11c0) 0
+ primary-for QAbstractItemModel (0x7f95550d1150)
+
+Class QBasicTimer
+ size=4 align=4
+ base size=4 base align=4
+QBasicTimer (0x7f9555103230) 0
+
+Vtable for QCoreApplication
+QCoreApplication::_ZTV16QCoreApplication: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QCoreApplication)
+16 QCoreApplication::metaObject
+24 QCoreApplication::qt_metacast
+32 QCoreApplication::qt_metacall
+40 QCoreApplication::~QCoreApplication
+48 QCoreApplication::~QCoreApplication
+56 QCoreApplication::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QCoreApplication::notify
+120 QCoreApplication::compressEvent
+
+Class QCoreApplication
+ size=16 align=8
+ base size=16 base align=8
+QCoreApplication (0x7f955510d620) 0
+ vptr=((& QCoreApplication::_ZTV16QCoreApplication) + 16u)
+ QObject (0x7f955510d690) 0
+ primary-for QCoreApplication (0x7f955510d620)
+
+Class __exception
+ size=40 align=8
+ base size=40 base align=8
+__exception (0x7f9555142310) 0
+
+Class QMetaMethod
+ size=16 align=8
+ base size=12 base align=8
+QMetaMethod (0x7f9554faf770) 0
+
+Class QMetaEnum
+ size=16 align=8
+ base size=12 base align=8
+QMetaEnum (0x7f9554fc7bd0) 0
+
+Class QMetaProperty
+ size=32 align=8
+ base size=32 base align=8
+QMetaProperty (0x7f9554fd7930) 0
+
+Class QMetaClassInfo
+ size=16 align=8
+ base size=12 base align=8
+QMetaClassInfo (0x7f9554fe8000) 0
+
+Vtable for QMimeData
+QMimeData::_ZTV9QMimeData: 17u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QMimeData)
+16 QMimeData::metaObject
+24 QMimeData::qt_metacast
+32 QMimeData::qt_metacall
+40 QMimeData::~QMimeData
+48 QMimeData::~QMimeData
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QMimeData::hasFormat
+120 QMimeData::formats
+128 QMimeData::retrieveData
+
+Class QMimeData
+ size=16 align=8
+ base size=16 base align=8
+QMimeData (0x7f9554fe8af0) 0
+ vptr=((& QMimeData::_ZTV9QMimeData) + 16u)
+ QObject (0x7f9554fe8b60) 0
+ primary-for QMimeData (0x7f9554fe8af0)
+
+Vtable for QObjectCleanupHandler
+QObjectCleanupHandler::_ZTV21QObjectCleanupHandler: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI21QObjectCleanupHandler)
+16 QObjectCleanupHandler::metaObject
+24 QObjectCleanupHandler::qt_metacast
+32 QObjectCleanupHandler::qt_metacall
+40 QObjectCleanupHandler::~QObjectCleanupHandler
+48 QObjectCleanupHandler::~QObjectCleanupHandler
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QObjectCleanupHandler
+ size=24 align=8
+ base size=24 base align=8
+QObjectCleanupHandler (0x7f955500b380) 0
+ vptr=((& QObjectCleanupHandler::_ZTV21QObjectCleanupHandler) + 16u)
+ QObject (0x7f955500b3f0) 0
+ primary-for QObjectCleanupHandler (0x7f955500b380)
+
+Vtable for QSharedMemory
+QSharedMemory::_ZTV13QSharedMemory: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QSharedMemory)
+16 QSharedMemory::metaObject
+24 QSharedMemory::qt_metacast
+32 QSharedMemory::qt_metacall
+40 QSharedMemory::~QSharedMemory
+48 QSharedMemory::~QSharedMemory
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QSharedMemory
+ size=16 align=8
+ base size=16 base align=8
+QSharedMemory (0x7f955501e4d0) 0
+ vptr=((& QSharedMemory::_ZTV13QSharedMemory) + 16u)
+ QObject (0x7f955501e540) 0
+ primary-for QSharedMemory (0x7f955501e4d0)
+
+Vtable for QSignalMapper
+QSignalMapper::_ZTV13QSignalMapper: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QSignalMapper)
+16 QSignalMapper::metaObject
+24 QSignalMapper::qt_metacast
+32 QSignalMapper::qt_metacall
+40 QSignalMapper::~QSignalMapper
+48 QSignalMapper::~QSignalMapper
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QSignalMapper
+ size=16 align=8
+ base size=16 base align=8
+QSignalMapper (0x7f955503c2a0) 0
+ vptr=((& QSignalMapper::_ZTV13QSignalMapper) + 16u)
+ QObject (0x7f955503c310) 0
+ primary-for QSignalMapper (0x7f955503c2a0)
+
+Vtable for QSocketNotifier
+QSocketNotifier::_ZTV15QSocketNotifier: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QSocketNotifier)
+16 QSocketNotifier::metaObject
+24 QSocketNotifier::qt_metacast
+32 QSocketNotifier::qt_metacall
+40 QSocketNotifier::~QSocketNotifier
+48 QSocketNotifier::~QSocketNotifier
+56 QSocketNotifier::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QSocketNotifier
+ size=32 align=8
+ base size=25 base align=8
+QSocketNotifier (0x7f9555054690) 0
+ vptr=((& QSocketNotifier::_ZTV15QSocketNotifier) + 16u)
+ QObject (0x7f9555054700) 0
+ primary-for QSocketNotifier (0x7f9555054690)
+
+Class QSystemSemaphore
+ size=8 align=8
+ base size=8 base align=8
+QSystemSemaphore (0x7f9554e6da10) 0
+
+Vtable for QTimer
+QTimer::_ZTV6QTimer: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI6QTimer)
+16 QTimer::metaObject
+24 QTimer::qt_metacast
+32 QTimer::qt_metacall
+40 QTimer::~QTimer
+48 QTimer::~QTimer
+56 QObject::event
+64 QObject::eventFilter
+72 QTimer::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QTimer
+ size=32 align=8
+ base size=29 base align=8
+QTimer (0x7f9554e77460) 0
+ vptr=((& QTimer::_ZTV6QTimer) + 16u)
+ QObject (0x7f9554e774d0) 0
+ primary-for QTimer (0x7f9554e77460)
+
+Vtable for QTranslator
+QTranslator::_ZTV11QTranslator: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QTranslator)
+16 QTranslator::metaObject
+24 QTranslator::qt_metacast
+32 QTranslator::qt_metacall
+40 QTranslator::~QTranslator
+48 QTranslator::~QTranslator
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QTranslator::translate
+120 QTranslator::isEmpty
+
+Class QTranslator
+ size=16 align=8
+ base size=16 base align=8
+QTranslator (0x7f9554e9e9a0) 0
+ vptr=((& QTranslator::_ZTV11QTranslator) + 16u)
+ QObject (0x7f9554e9ea10) 0
+ primary-for QTranslator (0x7f9554e9e9a0)
+
+Vtable for QLibrary
+QLibrary::_ZTV8QLibrary: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI8QLibrary)
+16 QLibrary::metaObject
+24 QLibrary::qt_metacast
+32 QLibrary::qt_metacall
+40 QLibrary::~QLibrary
+48 QLibrary::~QLibrary
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QLibrary
+ size=32 align=8
+ base size=25 base align=8
+QLibrary (0x7f9554eb8930) 0
+ vptr=((& QLibrary::_ZTV8QLibrary) + 16u)
+ QObject (0x7f9554eb89a0) 0
+ primary-for QLibrary (0x7f9554eb8930)
+
+Vtable for QPluginLoader
+QPluginLoader::_ZTV13QPluginLoader: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QPluginLoader)
+16 QPluginLoader::metaObject
+24 QPluginLoader::qt_metacast
+32 QPluginLoader::qt_metacall
+40 QPluginLoader::~QPluginLoader
+48 QPluginLoader::~QPluginLoader
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QPluginLoader
+ size=32 align=8
+ base size=25 base align=8
+QPluginLoader (0x7f9554f053f0) 0
+ vptr=((& QPluginLoader::_ZTV13QPluginLoader) + 16u)
+ QObject (0x7f9554f05460) 0
+ primary-for QPluginLoader (0x7f9554f053f0)
+
+Class QUuid
+ size=16 align=4
+ base size=16 base align=4
+QUuid (0x7f9554f13b60) 0
+
+Class QReadWriteLock
+ size=8 align=8
+ base size=8 base align=8
+QReadWriteLock (0x7f9554f3d4d0) 0
+
+Class QReadLocker
+ size=8 align=8
+ base size=8 base align=8
+QReadLocker (0x7f9554f3db60) 0
+
+Class QWriteLocker
+ size=8 align=8
+ base size=8 base align=8
+QWriteLocker (0x7f9554f5aee0) 0
+
+Class QThreadStorageData
+ size=4 align=4
+ base size=4 base align=4
+QThreadStorageData (0x7f9554d742a0) 0
+
+Vtable for QAbstractAnimation
+QAbstractAnimation::_ZTV18QAbstractAnimation: 18u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QAbstractAnimation)
+16 QAbstractAnimation::metaObject
+24 QAbstractAnimation::qt_metacast
+32 QAbstractAnimation::qt_metacall
+40 QAbstractAnimation::~QAbstractAnimation
+48 QAbstractAnimation::~QAbstractAnimation
+56 QAbstractAnimation::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 QAbstractAnimation::updateState
+136 QAbstractAnimation::updateDirection
+
+Class QAbstractAnimation
+ size=16 align=8
+ base size=16 base align=8
+QAbstractAnimation (0x7f9554d74a10) 0
+ vptr=((& QAbstractAnimation::_ZTV18QAbstractAnimation) + 16u)
+ QObject (0x7f9554d74a80) 0
+ primary-for QAbstractAnimation (0x7f9554d74a10)
+
+Vtable for QAnimationGroup
+QAnimationGroup::_ZTV15QAnimationGroup: 18u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QAnimationGroup)
+16 QAnimationGroup::metaObject
+24 QAnimationGroup::qt_metacast
+32 QAnimationGroup::qt_metacall
+40 QAnimationGroup::~QAnimationGroup
+48 QAnimationGroup::~QAnimationGroup
+56 QAnimationGroup::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 QAbstractAnimation::updateState
+136 QAbstractAnimation::updateDirection
+
+Class QAnimationGroup
+ size=16 align=8
+ base size=16 base align=8
+QAnimationGroup (0x7f9554dac150) 0
+ vptr=((& QAnimationGroup::_ZTV15QAnimationGroup) + 16u)
+ QAbstractAnimation (0x7f9554dac1c0) 0
+ primary-for QAnimationGroup (0x7f9554dac150)
+ QObject (0x7f9554dac230) 0
+ primary-for QAbstractAnimation (0x7f9554dac1c0)
+
+Vtable for QParallelAnimationGroup
+QParallelAnimationGroup::_ZTV23QParallelAnimationGroup: 18u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI23QParallelAnimationGroup)
+16 QParallelAnimationGroup::metaObject
+24 QParallelAnimationGroup::qt_metacast
+32 QParallelAnimationGroup::qt_metacall
+40 QParallelAnimationGroup::~QParallelAnimationGroup
+48 QParallelAnimationGroup::~QParallelAnimationGroup
+56 QParallelAnimationGroup::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QParallelAnimationGroup::duration
+120 QParallelAnimationGroup::updateCurrentTime
+128 QParallelAnimationGroup::updateState
+136 QParallelAnimationGroup::updateDirection
+
+Class QParallelAnimationGroup
+ size=16 align=8
+ base size=16 base align=8
+QParallelAnimationGroup (0x7f9554dc4000) 0
+ vptr=((& QParallelAnimationGroup::_ZTV23QParallelAnimationGroup) + 16u)
+ QAnimationGroup (0x7f9554dc4070) 0
+ primary-for QParallelAnimationGroup (0x7f9554dc4000)
+ QAbstractAnimation (0x7f9554dc40e0) 0
+ primary-for QAnimationGroup (0x7f9554dc4070)
+ QObject (0x7f9554dc4150) 0
+ primary-for QAbstractAnimation (0x7f9554dc40e0)
+
+Vtable for QPauseAnimation
+QPauseAnimation::_ZTV15QPauseAnimation: 18u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QPauseAnimation)
+16 QPauseAnimation::metaObject
+24 QPauseAnimation::qt_metacast
+32 QPauseAnimation::qt_metacall
+40 QPauseAnimation::~QPauseAnimation
+48 QPauseAnimation::~QPauseAnimation
+56 QPauseAnimation::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QPauseAnimation::duration
+120 QPauseAnimation::updateCurrentTime
+128 QAbstractAnimation::updateState
+136 QAbstractAnimation::updateDirection
+
+Class QPauseAnimation
+ size=16 align=8
+ base size=16 base align=8
+QPauseAnimation (0x7f9554dd2e70) 0
+ vptr=((& QPauseAnimation::_ZTV15QPauseAnimation) + 16u)
+ QAbstractAnimation (0x7f9554dd2ee0) 0
+ primary-for QPauseAnimation (0x7f9554dd2e70)
+ QObject (0x7f9554dd2f50) 0
+ primary-for QAbstractAnimation (0x7f9554dd2ee0)
+
+Vtable for QVariantAnimation
+QVariantAnimation::_ZTV17QVariantAnimation: 20u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QVariantAnimation)
+16 QVariantAnimation::metaObject
+24 QVariantAnimation::qt_metacast
+32 QVariantAnimation::qt_metacall
+40 QVariantAnimation::~QVariantAnimation
+48 QVariantAnimation::~QVariantAnimation
+56 QVariantAnimation::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QVariantAnimation::duration
+120 QVariantAnimation::updateCurrentTime
+128 QVariantAnimation::updateState
+136 QAbstractAnimation::updateDirection
+144 __cxa_pure_virtual
+152 QVariantAnimation::interpolated
+
+Class QVariantAnimation
+ size=16 align=8
+ base size=16 base align=8
+QVariantAnimation (0x7f9554def8c0) 0
+ vptr=((& QVariantAnimation::_ZTV17QVariantAnimation) + 16u)
+ QAbstractAnimation (0x7f9554def930) 0
+ primary-for QVariantAnimation (0x7f9554def8c0)
+ QObject (0x7f9554def9a0) 0
+ primary-for QAbstractAnimation (0x7f9554def930)
+
+Vtable for QPropertyAnimation
+QPropertyAnimation::_ZTV18QPropertyAnimation: 20u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QPropertyAnimation)
+16 QPropertyAnimation::metaObject
+24 QPropertyAnimation::qt_metacast
+32 QPropertyAnimation::qt_metacall
+40 QPropertyAnimation::~QPropertyAnimation
+48 QPropertyAnimation::~QPropertyAnimation
+56 QPropertyAnimation::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QVariantAnimation::duration
+120 QVariantAnimation::updateCurrentTime
+128 QPropertyAnimation::updateState
+136 QAbstractAnimation::updateDirection
+144 QPropertyAnimation::updateCurrentValue
+152 QVariantAnimation::interpolated
+
+Class QPropertyAnimation
+ size=16 align=8
+ base size=16 base align=8
+QPropertyAnimation (0x7f9554e0fb60) 0
+ vptr=((& QPropertyAnimation::_ZTV18QPropertyAnimation) + 16u)
+ QVariantAnimation (0x7f9554e0fbd0) 0
+ primary-for QPropertyAnimation (0x7f9554e0fb60)
+ QAbstractAnimation (0x7f9554e0fc40) 0
+ primary-for QVariantAnimation (0x7f9554e0fbd0)
+ QObject (0x7f9554e0fcb0) 0
+ primary-for QAbstractAnimation (0x7f9554e0fc40)
+
+Vtable for QSequentialAnimationGroup
+QSequentialAnimationGroup::_ZTV25QSequentialAnimationGroup: 18u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI25QSequentialAnimationGroup)
+16 QSequentialAnimationGroup::metaObject
+24 QSequentialAnimationGroup::qt_metacast
+32 QSequentialAnimationGroup::qt_metacall
+40 QSequentialAnimationGroup::~QSequentialAnimationGroup
+48 QSequentialAnimationGroup::~QSequentialAnimationGroup
+56 QSequentialAnimationGroup::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QSequentialAnimationGroup::duration
+120 QSequentialAnimationGroup::updateCurrentTime
+128 QSequentialAnimationGroup::updateState
+136 QSequentialAnimationGroup::updateDirection
+
+Class QSequentialAnimationGroup
+ size=16 align=8
+ base size=16 base align=8
+QSequentialAnimationGroup (0x7f9554e27b60) 0
+ vptr=((& QSequentialAnimationGroup::_ZTV25QSequentialAnimationGroup) + 16u)
+ QAnimationGroup (0x7f9554e27bd0) 0
+ primary-for QSequentialAnimationGroup (0x7f9554e27b60)
+ QAbstractAnimation (0x7f9554e27c40) 0
+ primary-for QAnimationGroup (0x7f9554e27bd0)
+ QObject (0x7f9554e27cb0) 0
+ primary-for QAbstractAnimation (0x7f9554e27c40)
+
+Class QColor
+ size=16 align=4
+ base size=14 base align=4
+QColor (0x7f9554e51620) 0
+
+Class QRegion::QRegionData
+ size=32 align=8
+ base size=32 base align=8
+QRegion::QRegionData (0x7f9554cc85b0) 0
+
+Class QRegion
+ size=8 align=8
+ base size=8 base align=8
+QRegion (0x7f9554ca4cb0) 0
+
+Class QKeySequence
+ size=8 align=8
+ base size=8 base align=8
+QKeySequence (0x7f9554cdee00) 0
+
+Vtable for QMimeSource
+QMimeSource::_ZTV11QMimeSource: 7u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QMimeSource)
+16 QMimeSource::~QMimeSource
+24 QMimeSource::~QMimeSource
+32 __cxa_pure_virtual
+40 QMimeSource::provides
+48 __cxa_pure_virtual
+
+Class QMimeSource
+ size=8 align=8
+ base size=8 base align=8
+QMimeSource (0x7f9554d1c770) 0 nearly-empty
+ vptr=((& QMimeSource::_ZTV11QMimeSource) + 16u)
+
+Vtable for QDrag
+QDrag::_ZTV5QDrag: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI5QDrag)
+16 QDrag::metaObject
+24 QDrag::qt_metacast
+32 QDrag::qt_metacall
+40 QDrag::~QDrag
+48 QDrag::~QDrag
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QDrag
+ size=16 align=8
+ base size=16 base align=8
+QDrag (0x7f9554d1c8c0) 0
+ vptr=((& QDrag::_ZTV5QDrag) + 16u)
+ QObject (0x7f9554d1c930) 0
+ primary-for QDrag (0x7f9554d1c8c0)
+
+Vtable for QInputEvent
+QInputEvent::_ZTV11QInputEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QInputEvent)
+16 QInputEvent::~QInputEvent
+24 QInputEvent::~QInputEvent
+
+Class QInputEvent
+ size=24 align=8
+ base size=24 base align=8
+QInputEvent (0x7f9554d43070) 0
+ vptr=((& QInputEvent::_ZTV11QInputEvent) + 16u)
+ QEvent (0x7f9554d430e0) 0
+ primary-for QInputEvent (0x7f9554d43070)
+
+Vtable for QMouseEvent
+QMouseEvent::_ZTV11QMouseEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QMouseEvent)
+16 QMouseEvent::~QMouseEvent
+24 QMouseEvent::~QMouseEvent
+
+Class QMouseEvent
+ size=48 align=8
+ base size=48 base align=8
+QMouseEvent (0x7f9554d43930) 0
+ vptr=((& QMouseEvent::_ZTV11QMouseEvent) + 16u)
+ QInputEvent (0x7f9554d439a0) 0
+ primary-for QMouseEvent (0x7f9554d43930)
+ QEvent (0x7f9554d43a10) 0
+ primary-for QInputEvent (0x7f9554d439a0)
+
+Vtable for QHoverEvent
+QHoverEvent::_ZTV11QHoverEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QHoverEvent)
+16 QHoverEvent::~QHoverEvent
+24 QHoverEvent::~QHoverEvent
+
+Class QHoverEvent
+ size=40 align=8
+ base size=36 base align=8
+QHoverEvent (0x7f9554b71700) 0
+ vptr=((& QHoverEvent::_ZTV11QHoverEvent) + 16u)
+ QEvent (0x7f9554b71770) 0
+ primary-for QHoverEvent (0x7f9554b71700)
+
+Vtable for QWheelEvent
+QWheelEvent::_ZTV11QWheelEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QWheelEvent)
+16 QWheelEvent::~QWheelEvent
+24 QWheelEvent::~QWheelEvent
+
+Class QWheelEvent
+ size=56 align=8
+ base size=52 base align=8
+QWheelEvent (0x7f9554b71e70) 0
+ vptr=((& QWheelEvent::_ZTV11QWheelEvent) + 16u)
+ QInputEvent (0x7f9554b71ee0) 0
+ primary-for QWheelEvent (0x7f9554b71e70)
+ QEvent (0x7f9554b71f50) 0
+ primary-for QInputEvent (0x7f9554b71ee0)
+
+Vtable for QTabletEvent
+QTabletEvent::_ZTV12QTabletEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QTabletEvent)
+16 QTabletEvent::~QTabletEvent
+24 QTabletEvent::~QTabletEvent
+
+Class QTabletEvent
+ size=120 align=8
+ base size=120 base align=8
+QTabletEvent (0x7f9554b8ac40) 0
+ vptr=((& QTabletEvent::_ZTV12QTabletEvent) + 16u)
+ QInputEvent (0x7f9554b8acb0) 0
+ primary-for QTabletEvent (0x7f9554b8ac40)
+ QEvent (0x7f9554b8ad20) 0
+ primary-for QInputEvent (0x7f9554b8acb0)
+
+Vtable for QKeyEvent
+QKeyEvent::_ZTV9QKeyEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QKeyEvent)
+16 QKeyEvent::~QKeyEvent
+24 QKeyEvent::~QKeyEvent
+
+Class QKeyEvent
+ size=40 align=8
+ base size=39 base align=8
+QKeyEvent (0x7f9554ba9f50) 0
+ vptr=((& QKeyEvent::_ZTV9QKeyEvent) + 16u)
+ QInputEvent (0x7f9554bae000) 0
+ primary-for QKeyEvent (0x7f9554ba9f50)
+ QEvent (0x7f9554bae070) 0
+ primary-for QInputEvent (0x7f9554bae000)
+
+Vtable for QFocusEvent
+QFocusEvent::_ZTV11QFocusEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QFocusEvent)
+16 QFocusEvent::~QFocusEvent
+24 QFocusEvent::~QFocusEvent
+
+Class QFocusEvent
+ size=24 align=8
+ base size=24 base align=8
+QFocusEvent (0x7f9554bd1930) 0
+ vptr=((& QFocusEvent::_ZTV11QFocusEvent) + 16u)
+ QEvent (0x7f9554bd19a0) 0
+ primary-for QFocusEvent (0x7f9554bd1930)
+
+Vtable for QPaintEvent
+QPaintEvent::_ZTV11QPaintEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QPaintEvent)
+16 QPaintEvent::~QPaintEvent
+24 QPaintEvent::~QPaintEvent
+
+Class QPaintEvent
+ size=56 align=8
+ base size=49 base align=8
+QPaintEvent (0x7f9554bdf380) 0
+ vptr=((& QPaintEvent::_ZTV11QPaintEvent) + 16u)
+ QEvent (0x7f9554bdf3f0) 0
+ primary-for QPaintEvent (0x7f9554bdf380)
+
+Vtable for QUpdateLaterEvent
+QUpdateLaterEvent::_ZTV17QUpdateLaterEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QUpdateLaterEvent)
+16 QUpdateLaterEvent::~QUpdateLaterEvent
+24 QUpdateLaterEvent::~QUpdateLaterEvent
+
+Class QUpdateLaterEvent
+ size=32 align=8
+ base size=32 base align=8
+QUpdateLaterEvent (0x7f9554bea000) 0
+ vptr=((& QUpdateLaterEvent::_ZTV17QUpdateLaterEvent) + 16u)
+ QEvent (0x7f9554bea070) 0
+ primary-for QUpdateLaterEvent (0x7f9554bea000)
+
+Vtable for QMoveEvent
+QMoveEvent::_ZTV10QMoveEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QMoveEvent)
+16 QMoveEvent::~QMoveEvent
+24 QMoveEvent::~QMoveEvent
+
+Class QMoveEvent
+ size=40 align=8
+ base size=36 base align=8
+QMoveEvent (0x7f9554bea460) 0
+ vptr=((& QMoveEvent::_ZTV10QMoveEvent) + 16u)
+ QEvent (0x7f9554bea4d0) 0
+ primary-for QMoveEvent (0x7f9554bea460)
+
+Vtable for QResizeEvent
+QResizeEvent::_ZTV12QResizeEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QResizeEvent)
+16 QResizeEvent::~QResizeEvent
+24 QResizeEvent::~QResizeEvent
+
+Class QResizeEvent
+ size=40 align=8
+ base size=36 base align=8
+QResizeEvent (0x7f9554beaaf0) 0
+ vptr=((& QResizeEvent::_ZTV12QResizeEvent) + 16u)
+ QEvent (0x7f9554beab60) 0
+ primary-for QResizeEvent (0x7f9554beaaf0)
+
+Vtable for QCloseEvent
+QCloseEvent::_ZTV11QCloseEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QCloseEvent)
+16 QCloseEvent::~QCloseEvent
+24 QCloseEvent::~QCloseEvent
+
+Class QCloseEvent
+ size=24 align=8
+ base size=20 base align=8
+QCloseEvent (0x7f9554bfc070) 0
+ vptr=((& QCloseEvent::_ZTV11QCloseEvent) + 16u)
+ QEvent (0x7f9554bfc0e0) 0
+ primary-for QCloseEvent (0x7f9554bfc070)
+
+Vtable for QIconDragEvent
+QIconDragEvent::_ZTV14QIconDragEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QIconDragEvent)
+16 QIconDragEvent::~QIconDragEvent
+24 QIconDragEvent::~QIconDragEvent
+
+Class QIconDragEvent
+ size=24 align=8
+ base size=20 base align=8
+QIconDragEvent (0x7f9554bfc2a0) 0
+ vptr=((& QIconDragEvent::_ZTV14QIconDragEvent) + 16u)
+ QEvent (0x7f9554bfc310) 0
+ primary-for QIconDragEvent (0x7f9554bfc2a0)
+
+Vtable for QShowEvent
+QShowEvent::_ZTV10QShowEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QShowEvent)
+16 QShowEvent::~QShowEvent
+24 QShowEvent::~QShowEvent
+
+Class QShowEvent
+ size=24 align=8
+ base size=20 base align=8
+QShowEvent (0x7f9554bfc4d0) 0
+ vptr=((& QShowEvent::_ZTV10QShowEvent) + 16u)
+ QEvent (0x7f9554bfc540) 0
+ primary-for QShowEvent (0x7f9554bfc4d0)
+
+Vtable for QHideEvent
+QHideEvent::_ZTV10QHideEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QHideEvent)
+16 QHideEvent::~QHideEvent
+24 QHideEvent::~QHideEvent
+
+Class QHideEvent
+ size=24 align=8
+ base size=20 base align=8
+QHideEvent (0x7f9554bfc700) 0
+ vptr=((& QHideEvent::_ZTV10QHideEvent) + 16u)
+ QEvent (0x7f9554bfc770) 0
+ primary-for QHideEvent (0x7f9554bfc700)
+
+Vtable for QContextMenuEvent
+QContextMenuEvent::_ZTV17QContextMenuEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QContextMenuEvent)
+16 QContextMenuEvent::~QContextMenuEvent
+24 QContextMenuEvent::~QContextMenuEvent
+
+Class QContextMenuEvent
+ size=48 align=8
+ base size=41 base align=8
+QContextMenuEvent (0x7f9554bfc930) 0
+ vptr=((& QContextMenuEvent::_ZTV17QContextMenuEvent) + 16u)
+ QInputEvent (0x7f9554bfc9a0) 0
+ primary-for QContextMenuEvent (0x7f9554bfc930)
+ QEvent (0x7f9554bfca10) 0
+ primary-for QInputEvent (0x7f9554bfc9a0)
+
+Class QInputMethodEvent::Attribute
+ size=32 align=8
+ base size=32 base align=8
+QInputMethodEvent::Attribute (0x7f9554c174d0) 0
+
+Vtable for QInputMethodEvent
+QInputMethodEvent::_ZTV17QInputMethodEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QInputMethodEvent)
+16 QInputMethodEvent::~QInputMethodEvent
+24 QInputMethodEvent::~QInputMethodEvent
+
+Class QInputMethodEvent
+ size=56 align=8
+ base size=56 base align=8
+QInputMethodEvent (0x7f9554c173f0) 0
+ vptr=((& QInputMethodEvent::_ZTV17QInputMethodEvent) + 16u)
+ QEvent (0x7f9554c17460) 0
+ primary-for QInputMethodEvent (0x7f9554c173f0)
+
+Vtable for QDropEvent
+QDropEvent::_ZTV10QDropEvent: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QDropEvent)
+16 QDropEvent::~QDropEvent
+24 QDropEvent::~QDropEvent
+32 QDropEvent::format
+40 QDropEvent::encodedData
+48 QDropEvent::provides
+56 (int (*)(...))-0x00000000000000018
+64 (int (*)(...))(& _ZTI10QDropEvent)
+72 QDropEvent::_ZThn24_N10QDropEventD1Ev
+80 QDropEvent::_ZThn24_N10QDropEventD0Ev
+88 QDropEvent::_ZThn24_NK10QDropEvent6formatEi
+96 QDropEvent::_ZThn24_NK10QDropEvent8providesEPKc
+104 QDropEvent::_ZThn24_NK10QDropEvent11encodedDataEPKc
+
+Class QDropEvent
+ size=80 align=8
+ base size=80 base align=8
+QDropEvent (0x7f9554c52200) 0
+ vptr=((& QDropEvent::_ZTV10QDropEvent) + 16u)
+ QEvent (0x7f9554c4fbd0) 0
+ primary-for QDropEvent (0x7f9554c52200)
+ QMimeSource (0x7f9554c4fc40) 24 nearly-empty
+ vptr=((& QDropEvent::_ZTV10QDropEvent) + 72u)
+
+Vtable for QDragMoveEvent
+QDragMoveEvent::_ZTV14QDragMoveEvent: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QDragMoveEvent)
+16 QDragMoveEvent::~QDragMoveEvent
+24 QDragMoveEvent::~QDragMoveEvent
+32 QDropEvent::format
+40 QDropEvent::encodedData
+48 QDropEvent::provides
+56 (int (*)(...))-0x00000000000000018
+64 (int (*)(...))(& _ZTI14QDragMoveEvent)
+72 QDragMoveEvent::_ZThn24_N14QDragMoveEventD1Ev
+80 QDragMoveEvent::_ZThn24_N14QDragMoveEventD0Ev
+88 QDropEvent::_ZThn24_NK10QDropEvent6formatEi
+96 QDropEvent::_ZThn24_NK10QDropEvent8providesEPKc
+104 QDropEvent::_ZThn24_NK10QDropEvent11encodedDataEPKc
+
+Class QDragMoveEvent
+ size=96 align=8
+ base size=96 base align=8
+QDragMoveEvent (0x7f9554a6a930) 0
+ vptr=((& QDragMoveEvent::_ZTV14QDragMoveEvent) + 16u)
+ QDropEvent (0x7f9554a68900) 0
+ primary-for QDragMoveEvent (0x7f9554a6a930)
+ QEvent (0x7f9554a6a9a0) 0
+ primary-for QDropEvent (0x7f9554a68900)
+ QMimeSource (0x7f9554a6aa10) 24 nearly-empty
+ vptr=((& QDragMoveEvent::_ZTV14QDragMoveEvent) + 72u)
+
+Vtable for QDragEnterEvent
+QDragEnterEvent::_ZTV15QDragEnterEvent: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QDragEnterEvent)
+16 QDragEnterEvent::~QDragEnterEvent
+24 QDragEnterEvent::~QDragEnterEvent
+32 QDropEvent::format
+40 QDropEvent::encodedData
+48 QDropEvent::provides
+56 (int (*)(...))-0x00000000000000018
+64 (int (*)(...))(& _ZTI15QDragEnterEvent)
+72 QDragEnterEvent::_ZThn24_N15QDragEnterEventD1Ev
+80 QDragEnterEvent::_ZThn24_N15QDragEnterEventD0Ev
+88 QDropEvent::_ZThn24_NK10QDropEvent6formatEi
+96 QDropEvent::_ZThn24_NK10QDropEvent8providesEPKc
+104 QDropEvent::_ZThn24_NK10QDropEvent11encodedDataEPKc
+
+Class QDragEnterEvent
+ size=96 align=8
+ base size=96 base align=8
+QDragEnterEvent (0x7f9554a7a0e0) 0
+ vptr=((& QDragEnterEvent::_ZTV15QDragEnterEvent) + 16u)
+ QDragMoveEvent (0x7f9554a7a150) 0
+ primary-for QDragEnterEvent (0x7f9554a7a0e0)
+ QDropEvent (0x7f9554a78280) 0
+ primary-for QDragMoveEvent (0x7f9554a7a150)
+ QEvent (0x7f9554a7a1c0) 0
+ primary-for QDropEvent (0x7f9554a78280)
+ QMimeSource (0x7f9554a7a230) 24 nearly-empty
+ vptr=((& QDragEnterEvent::_ZTV15QDragEnterEvent) + 72u)
+
+Vtable for QDragResponseEvent
+QDragResponseEvent::_ZTV18QDragResponseEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QDragResponseEvent)
+16 QDragResponseEvent::~QDragResponseEvent
+24 QDragResponseEvent::~QDragResponseEvent
+
+Class QDragResponseEvent
+ size=24 align=8
+ base size=21 base align=8
+QDragResponseEvent (0x7f9554a7a3f0) 0
+ vptr=((& QDragResponseEvent::_ZTV18QDragResponseEvent) + 16u)
+ QEvent (0x7f9554a7a460) 0
+ primary-for QDragResponseEvent (0x7f9554a7a3f0)
+
+Vtable for QDragLeaveEvent
+QDragLeaveEvent::_ZTV15QDragLeaveEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QDragLeaveEvent)
+16 QDragLeaveEvent::~QDragLeaveEvent
+24 QDragLeaveEvent::~QDragLeaveEvent
+
+Class QDragLeaveEvent
+ size=24 align=8
+ base size=20 base align=8
+QDragLeaveEvent (0x7f9554a7a850) 0
+ vptr=((& QDragLeaveEvent::_ZTV15QDragLeaveEvent) + 16u)
+ QEvent (0x7f9554a7a8c0) 0
+ primary-for QDragLeaveEvent (0x7f9554a7a850)
+
+Vtable for QHelpEvent
+QHelpEvent::_ZTV10QHelpEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QHelpEvent)
+16 QHelpEvent::~QHelpEvent
+24 QHelpEvent::~QHelpEvent
+
+Class QHelpEvent
+ size=40 align=8
+ base size=36 base align=8
+QHelpEvent (0x7f9554a7aa80) 0
+ vptr=((& QHelpEvent::_ZTV10QHelpEvent) + 16u)
+ QEvent (0x7f9554a7aaf0) 0
+ primary-for QHelpEvent (0x7f9554a7aa80)
+
+Vtable for QStatusTipEvent
+QStatusTipEvent::_ZTV15QStatusTipEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QStatusTipEvent)
+16 QStatusTipEvent::~QStatusTipEvent
+24 QStatusTipEvent::~QStatusTipEvent
+
+Class QStatusTipEvent
+ size=32 align=8
+ base size=32 base align=8
+QStatusTipEvent (0x7f9554a8baf0) 0
+ vptr=((& QStatusTipEvent::_ZTV15QStatusTipEvent) + 16u)
+ QEvent (0x7f9554a8bb60) 0
+ primary-for QStatusTipEvent (0x7f9554a8baf0)
+
+Vtable for QWhatsThisClickedEvent
+QWhatsThisClickedEvent::_ZTV22QWhatsThisClickedEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI22QWhatsThisClickedEvent)
+16 QWhatsThisClickedEvent::~QWhatsThisClickedEvent
+24 QWhatsThisClickedEvent::~QWhatsThisClickedEvent
+
+Class QWhatsThisClickedEvent
+ size=32 align=8
+ base size=32 base align=8
+QWhatsThisClickedEvent (0x7f9554a8bcb0) 0
+ vptr=((& QWhatsThisClickedEvent::_ZTV22QWhatsThisClickedEvent) + 16u)
+ QEvent (0x7f9554a95000) 0
+ primary-for QWhatsThisClickedEvent (0x7f9554a8bcb0)
+
+Vtable for QActionEvent
+QActionEvent::_ZTV12QActionEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QActionEvent)
+16 QActionEvent::~QActionEvent
+24 QActionEvent::~QActionEvent
+
+Class QActionEvent
+ size=40 align=8
+ base size=40 base align=8
+QActionEvent (0x7f9554a95460) 0
+ vptr=((& QActionEvent::_ZTV12QActionEvent) + 16u)
+ QEvent (0x7f9554a954d0) 0
+ primary-for QActionEvent (0x7f9554a95460)
+
+Vtable for QFileOpenEvent
+QFileOpenEvent::_ZTV14QFileOpenEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QFileOpenEvent)
+16 QFileOpenEvent::~QFileOpenEvent
+24 QFileOpenEvent::~QFileOpenEvent
+
+Class QFileOpenEvent
+ size=32 align=8
+ base size=32 base align=8
+QFileOpenEvent (0x7f9554a95af0) 0
+ vptr=((& QFileOpenEvent::_ZTV14QFileOpenEvent) + 16u)
+ QEvent (0x7f9554a95b60) 0
+ primary-for QFileOpenEvent (0x7f9554a95af0)
+
+Vtable for QToolBarChangeEvent
+QToolBarChangeEvent::_ZTV19QToolBarChangeEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QToolBarChangeEvent)
+16 QToolBarChangeEvent::~QToolBarChangeEvent
+24 QToolBarChangeEvent::~QToolBarChangeEvent
+
+Class QToolBarChangeEvent
+ size=24 align=8
+ base size=21 base align=8
+QToolBarChangeEvent (0x7f9554a95620) 0
+ vptr=((& QToolBarChangeEvent::_ZTV19QToolBarChangeEvent) + 16u)
+ QEvent (0x7f9554a95d20) 0
+ primary-for QToolBarChangeEvent (0x7f9554a95620)
+
+Vtable for QShortcutEvent
+QShortcutEvent::_ZTV14QShortcutEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QShortcutEvent)
+16 QShortcutEvent::~QShortcutEvent
+24 QShortcutEvent::~QShortcutEvent
+
+Class QShortcutEvent
+ size=40 align=8
+ base size=40 base align=8
+QShortcutEvent (0x7f9554aa8460) 0
+ vptr=((& QShortcutEvent::_ZTV14QShortcutEvent) + 16u)
+ QEvent (0x7f9554aa84d0) 0
+ primary-for QShortcutEvent (0x7f9554aa8460)
+
+Vtable for QClipboardEvent
+QClipboardEvent::_ZTV15QClipboardEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QClipboardEvent)
+16 QClipboardEvent::~QClipboardEvent
+24 QClipboardEvent::~QClipboardEvent
+
+Class QClipboardEvent
+ size=24 align=8
+ base size=20 base align=8
+QClipboardEvent (0x7f9554ab3310) 0
+ vptr=((& QClipboardEvent::_ZTV15QClipboardEvent) + 16u)
+ QEvent (0x7f9554ab3380) 0
+ primary-for QClipboardEvent (0x7f9554ab3310)
+
+Vtable for QWindowStateChangeEvent
+QWindowStateChangeEvent::_ZTV23QWindowStateChangeEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI23QWindowStateChangeEvent)
+16 QWindowStateChangeEvent::~QWindowStateChangeEvent
+24 QWindowStateChangeEvent::~QWindowStateChangeEvent
+
+Class QWindowStateChangeEvent
+ size=24 align=8
+ base size=24 base align=8
+QWindowStateChangeEvent (0x7f9554ab3770) 0
+ vptr=((& QWindowStateChangeEvent::_ZTV23QWindowStateChangeEvent) + 16u)
+ QEvent (0x7f9554ab37e0) 0
+ primary-for QWindowStateChangeEvent (0x7f9554ab3770)
+
+Vtable for QMenubarUpdatedEvent
+QMenubarUpdatedEvent::_ZTV20QMenubarUpdatedEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI20QMenubarUpdatedEvent)
+16 QMenubarUpdatedEvent::~QMenubarUpdatedEvent
+24 QMenubarUpdatedEvent::~QMenubarUpdatedEvent
+
+Class QMenubarUpdatedEvent
+ size=32 align=8
+ base size=32 base align=8
+QMenubarUpdatedEvent (0x7f9554ab3cb0) 0
+ vptr=((& QMenubarUpdatedEvent::_ZTV20QMenubarUpdatedEvent) + 16u)
+ QEvent (0x7f9554ab3d20) 0
+ primary-for QMenubarUpdatedEvent (0x7f9554ab3cb0)
+
+Class QTouchEvent::TouchPoint
+ size=8 align=8
+ base size=8 base align=8
+QTouchEvent::TouchPoint (0x7f9554ac47e0) 0
+
+Vtable for QTouchEvent
+QTouchEvent::_ZTV11QTouchEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QTouchEvent)
+16 QTouchEvent::~QTouchEvent
+24 QTouchEvent::~QTouchEvent
+
+Class QTouchEvent
+ size=48 align=8
+ base size=48 base align=8
+QTouchEvent (0x7f9554ac4690) 0
+ vptr=((& QTouchEvent::_ZTV11QTouchEvent) + 16u)
+ QInputEvent (0x7f9554ac4700) 0
+ primary-for QTouchEvent (0x7f9554ac4690)
+ QEvent (0x7f9554ac4770) 0
+ primary-for QInputEvent (0x7f9554ac4700)
+
+Vtable for QGestureEvent
+QGestureEvent::_ZTV13QGestureEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QGestureEvent)
+16 QGestureEvent::~QGestureEvent
+24 QGestureEvent::~QGestureEvent
+
+Class QGestureEvent
+ size=24 align=8
+ base size=20 base align=8
+QGestureEvent (0x7f9554b0ad20) 0
+ vptr=((& QGestureEvent::_ZTV13QGestureEvent) + 16u)
+ QEvent (0x7f9554b0ad90) 0
+ primary-for QGestureEvent (0x7f9554b0ad20)
+
+Class QFont
+ size=16 align=8
+ base size=12 base align=8
+QFont (0x7f9554b11310) 0
+
+Class QPolygon
+ size=8 align=8
+ base size=8 base align=8
+QPolygon (0x7f9554b600e0) 0
+ QVector<QPoint> (0x7f9554b60150) 0
+
+Class QPolygonF
+ size=8 align=8
+ base size=8 base align=8
+QPolygonF (0x7f955499f620) 0
+ QVector<QPointF> (0x7f955499f690) 0
+
+Class QMatrix
+ size=48 align=8
+ base size=48 base align=8
+QMatrix (0x7f95549e1770) 0
+
+Class QPainterPath::Element
+ size=24 align=8
+ base size=24 base align=8
+QPainterPath::Element (0x7f9554a278c0) 0
+
+Class QPainterPath
+ size=8 align=8
+ base size=8 base align=8
+QPainterPath (0x7f9554a27850) 0
+
+Class QPainterPathPrivate
+ size=16 align=8
+ base size=16 base align=8
+QPainterPathPrivate (0x7f955487f000) 0
+
+Class QPainterPathStroker
+ size=8 align=8
+ base size=8 base align=8
+QPainterPathStroker (0x7f955487faf0) 0
+
+Class QTransform
+ size=88 align=8
+ base size=88 base align=8
+QTransform (0x7f95548ecaf0) 0
+
+Vtable for QPaintDevice
+QPaintDevice::_ZTV12QPaintDevice: 7u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QPaintDevice)
+16 QPaintDevice::~QPaintDevice
+24 QPaintDevice::~QPaintDevice
+32 QPaintDevice::devType
+40 __cxa_pure_virtual
+48 QPaintDevice::metric
+
+Class QPaintDevice
+ size=16 align=8
+ base size=10 base align=8
+QPaintDevice (0x7f9554798150) 0
+ vptr=((& QPaintDevice::_ZTV12QPaintDevice) + 16u)
+
+Class QImageTextKeyLang
+ size=16 align=8
+ base size=16 base align=8
+QImageTextKeyLang (0x7f95547be070) 0
+
+Vtable for QImage
+QImage::_ZTV6QImage: 7u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI6QImage)
+16 QImage::~QImage
+24 QImage::~QImage
+32 QImage::devType
+40 QImage::paintEngine
+48 QImage::metric
+
+Class QImage
+ size=24 align=8
+ base size=24 base align=8
+QImage (0x7f95547e68c0) 0
+ vptr=((& QImage::_ZTV6QImage) + 16u)
+ QPaintDevice (0x7f95547e6930) 0
+ primary-for QImage (0x7f95547e68c0)
+
+Vtable for QPixmap
+QPixmap::_ZTV7QPixmap: 7u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QPixmap)
+16 QPixmap::~QPixmap
+24 QPixmap::~QPixmap
+32 QPixmap::devType
+40 QPixmap::paintEngine
+48 QPixmap::metric
+
+Class QPixmap
+ size=24 align=8
+ base size=24 base align=8
+QPixmap (0x7f955468a070) 0
+ vptr=((& QPixmap::_ZTV7QPixmap) + 16u)
+ QPaintDevice (0x7f955468a0e0) 0
+ primary-for QPixmap (0x7f955468a070)
+
+Class QBrush
+ size=8 align=8
+ base size=8 base align=8
+QBrush (0x7f95546e8380) 0
+
+Class QBrushData
+ size=112 align=8
+ base size=112 base align=8
+QBrushData (0x7f9554704d90) 0
+
+Class QGradient
+ size=64 align=8
+ base size=64 base align=8
+QGradient (0x7f9554718f50) 0
+
+Class QLinearGradient
+ size=64 align=8
+ base size=64 base align=8
+QLinearGradient (0x7f9554759a10) 0
+ QGradient (0x7f9554759a80) 0
+
+Class QRadialGradient
+ size=64 align=8
+ base size=64 base align=8
+QRadialGradient (0x7f9554759ee0) 0
+ QGradient (0x7f9554759f50) 0
+
+Class QConicalGradient
+ size=64 align=8
+ base size=64 base align=8
+QConicalGradient (0x7f95545644d0) 0
+ QGradient (0x7f9554564540) 0
+
+Class QPen
+ size=8 align=8
+ base size=8 base align=8
+QPen (0x7f9554564850) 0
+
+Class QTextOption::Tab
+ size=16 align=8
+ base size=14 base align=8
+QTextOption::Tab (0x7f955457fe00) 0
+
+Class QTextOption
+ size=32 align=8
+ base size=32 base align=8
+QTextOption (0x7f955457fd90) 0
+
+Class QTextLength
+ size=16 align=8
+ base size=16 base align=8
+QTextLength (0x7f95545f1150) 0
+
+Class QTextFormat
+ size=16 align=8
+ base size=12 base align=8
+QTextFormat (0x7f955460c4d0) 0
+
+Class QTextCharFormat
+ size=16 align=8
+ base size=12 base align=8
+QTextCharFormat (0x7f95544c4540) 0
+ QTextFormat (0x7f95544c45b0) 0
+
+Class QTextBlockFormat
+ size=16 align=8
+ base size=12 base align=8
+QTextBlockFormat (0x7f95545261c0) 0
+ QTextFormat (0x7f9554526230) 0
+
+Class QTextListFormat
+ size=16 align=8
+ base size=12 base align=8
+QTextListFormat (0x7f95545467e0) 0
+ QTextFormat (0x7f9554546850) 0
+
+Class QTextImageFormat
+ size=16 align=8
+ base size=12 base align=8
+QTextImageFormat (0x7f9554550d20) 0
+ QTextCharFormat (0x7f9554550d90) 0
+ QTextFormat (0x7f9554550e00) 0
+
+Class QTextFrameFormat
+ size=16 align=8
+ base size=12 base align=8
+QTextFrameFormat (0x7f9554361460) 0
+ QTextFormat (0x7f95543614d0) 0
+
+Class QTextTableFormat
+ size=16 align=8
+ base size=12 base align=8
+QTextTableFormat (0x7f9554398380) 0
+ QTextFrameFormat (0x7f95543983f0) 0
+ QTextFormat (0x7f9554398460) 0
+
+Class QTextTableCellFormat
+ size=16 align=8
+ base size=12 base align=8
+QTextTableCellFormat (0x7f95543b3230) 0
+ QTextCharFormat (0x7f95543b32a0) 0
+ QTextFormat (0x7f95543b3310) 0
+
+Class QTextInlineObject
+ size=16 align=8
+ base size=16 base align=8
+QTextInlineObject (0x7f95543c9700) 0
+
+Class QTextLayout::FormatRange
+ size=24 align=8
+ base size=24 base align=8
+QTextLayout::FormatRange (0x7f95543d3a10) 0
+
+Class QTextLayout
+ size=8 align=8
+ base size=8 base align=8
+QTextLayout (0x7f95543d3770) 0
+
+Class QTextLine
+ size=16 align=8
+ base size=16 base align=8
+QTextLine (0x7f95543ec770) 0
+
+Vtable for QAbstractUndoItem
+QAbstractUndoItem::_ZTV17QAbstractUndoItem: 6u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QAbstractUndoItem)
+16 __cxa_pure_virtual
+24 __cxa_pure_virtual
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+
+Class QAbstractUndoItem
+ size=8 align=8
+ base size=8 base align=8
+QAbstractUndoItem (0x7f9554421070) 0 nearly-empty
+ vptr=((& QAbstractUndoItem::_ZTV17QAbstractUndoItem) + 16u)
+
+Vtable for QTextDocument
+QTextDocument::_ZTV13QTextDocument: 17u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QTextDocument)
+16 QTextDocument::metaObject
+24 QTextDocument::qt_metacast
+32 QTextDocument::qt_metacall
+40 QTextDocument::~QTextDocument
+48 QTextDocument::~QTextDocument
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QTextDocument::clear
+120 QTextDocument::createObject
+128 QTextDocument::loadResource
+
+Class QTextDocument
+ size=16 align=8
+ base size=16 base align=8
+QTextDocument (0x7f9554421af0) 0
+ vptr=((& QTextDocument::_ZTV13QTextDocument) + 16u)
+ QObject (0x7f9554421b60) 0
+ primary-for QTextDocument (0x7f9554421af0)
+
+Class QTextCursor
+ size=8 align=8
+ base size=8 base align=8
+QTextCursor (0x7f955427fa80) 0
+
+Class QPalette
+ size=16 align=8
+ base size=12 base align=8
+QPalette (0x7f9554292f50) 0
+
+Class QColorGroup
+ size=16 align=8
+ base size=12 base align=8
+QColorGroup (0x7f9554305850) 0
+ QPalette (0x7f95543058c0) 0
+
+Class QAbstractTextDocumentLayout::Selection
+ size=24 align=8
+ base size=24 base align=8
+QAbstractTextDocumentLayout::Selection (0x7f955433cd90) 0
+
+Class QAbstractTextDocumentLayout::PaintContext
+ size=64 align=8
+ base size=64 base align=8
+QAbstractTextDocumentLayout::PaintContext (0x7f955433ce00) 0
+
+Vtable for QAbstractTextDocumentLayout
+QAbstractTextDocumentLayout::_ZTV27QAbstractTextDocumentLayout: 24u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI27QAbstractTextDocumentLayout)
+16 QAbstractTextDocumentLayout::metaObject
+24 QAbstractTextDocumentLayout::qt_metacast
+32 QAbstractTextDocumentLayout::qt_metacall
+40 QAbstractTextDocumentLayout::~QAbstractTextDocumentLayout
+48 QAbstractTextDocumentLayout::~QAbstractTextDocumentLayout
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 __cxa_pure_virtual
+136 __cxa_pure_virtual
+144 __cxa_pure_virtual
+152 __cxa_pure_virtual
+160 __cxa_pure_virtual
+168 QAbstractTextDocumentLayout::resizeInlineObject
+176 QAbstractTextDocumentLayout::positionInlineObject
+184 QAbstractTextDocumentLayout::drawInlineObject
+
+Class QAbstractTextDocumentLayout
+ size=16 align=8
+ base size=16 base align=8
+QAbstractTextDocumentLayout (0x7f955433cb60) 0
+ vptr=((& QAbstractTextDocumentLayout::_ZTV27QAbstractTextDocumentLayout) + 16u)
+ QObject (0x7f955433cbd0) 0
+ primary-for QAbstractTextDocumentLayout (0x7f955433cb60)
+
+Vtable for QTextObjectInterface
+QTextObjectInterface::_ZTV20QTextObjectInterface: 6u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI20QTextObjectInterface)
+16 QTextObjectInterface::~QTextObjectInterface
+24 QTextObjectInterface::~QTextObjectInterface
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+
+Class QTextObjectInterface
+ size=8 align=8
+ base size=8 base align=8
+QTextObjectInterface (0x7f95541744d0) 0 nearly-empty
+ vptr=((& QTextObjectInterface::_ZTV20QTextObjectInterface) + 16u)
+
+Class QFontDatabase
+ size=8 align=8
+ base size=8 base align=8
+QFontDatabase (0x7f95541807e0) 0
+
+Class QFontInfo
+ size=8 align=8
+ base size=8 base align=8
+QFontInfo (0x7f95541907e0) 0
+
+Class QFontMetrics
+ size=8 align=8
+ base size=8 base align=8
+QFontMetrics (0x7f95541a2310) 0
+
+Class QFontMetricsF
+ size=8 align=8
+ base size=8 base align=8
+QFontMetricsF (0x7f95541b6770) 0
+
+Vtable for QTextObject
+QTextObject::_ZTV11QTextObject: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QTextObject)
+16 QTextObject::metaObject
+24 QTextObject::qt_metacast
+32 QTextObject::qt_metacall
+40 QTextObject::~QTextObject
+48 QTextObject::~QTextObject
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QTextObject
+ size=16 align=8
+ base size=16 base align=8
+QTextObject (0x7f95541cc690) 0
+ vptr=((& QTextObject::_ZTV11QTextObject) + 16u)
+ QObject (0x7f95541cc700) 0
+ primary-for QTextObject (0x7f95541cc690)
+
+Vtable for QTextBlockGroup
+QTextBlockGroup::_ZTV15QTextBlockGroup: 17u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QTextBlockGroup)
+16 QTextBlockGroup::metaObject
+24 QTextBlockGroup::qt_metacast
+32 QTextBlockGroup::qt_metacall
+40 QTextBlockGroup::~QTextBlockGroup
+48 QTextBlockGroup::~QTextBlockGroup
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QTextBlockGroup::blockInserted
+120 QTextBlockGroup::blockRemoved
+128 QTextBlockGroup::blockFormatChanged
+
+Class QTextBlockGroup
+ size=16 align=8
+ base size=16 base align=8
+QTextBlockGroup (0x7f95541ddee0) 0
+ vptr=((& QTextBlockGroup::_ZTV15QTextBlockGroup) + 16u)
+ QTextObject (0x7f95541ddf50) 0
+ primary-for QTextBlockGroup (0x7f95541ddee0)
+ QObject (0x7f95541e6000) 0
+ primary-for QTextObject (0x7f95541ddf50)
+
+Vtable for QTextFrameLayoutData
+QTextFrameLayoutData::_ZTV20QTextFrameLayoutData: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI20QTextFrameLayoutData)
+16 QTextFrameLayoutData::~QTextFrameLayoutData
+24 QTextFrameLayoutData::~QTextFrameLayoutData
+
+Class QTextFrameLayoutData
+ size=8 align=8
+ base size=8 base align=8
+QTextFrameLayoutData (0x7f95541fa7e0) 0 nearly-empty
+ vptr=((& QTextFrameLayoutData::_ZTV20QTextFrameLayoutData) + 16u)
+
+Class QTextFrame::iterator
+ size=32 align=8
+ base size=28 base align=8
+QTextFrame::iterator (0x7f9554204230) 0
+
+Vtable for QTextFrame
+QTextFrame::_ZTV10QTextFrame: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QTextFrame)
+16 QTextFrame::metaObject
+24 QTextFrame::qt_metacast
+32 QTextFrame::qt_metacall
+40 QTextFrame::~QTextFrame
+48 QTextFrame::~QTextFrame
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QTextFrame
+ size=16 align=8
+ base size=16 base align=8
+QTextFrame (0x7f95541fa930) 0
+ vptr=((& QTextFrame::_ZTV10QTextFrame) + 16u)
+ QTextObject (0x7f95541fa9a0) 0
+ primary-for QTextFrame (0x7f95541fa930)
+ QObject (0x7f95541faa10) 0
+ primary-for QTextObject (0x7f95541fa9a0)
+
+Vtable for QTextBlockUserData
+QTextBlockUserData::_ZTV18QTextBlockUserData: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QTextBlockUserData)
+16 QTextBlockUserData::~QTextBlockUserData
+24 QTextBlockUserData::~QTextBlockUserData
+
+Class QTextBlockUserData
+ size=8 align=8
+ base size=8 base align=8
+QTextBlockUserData (0x7f9554239380) 0 nearly-empty
+ vptr=((& QTextBlockUserData::_ZTV18QTextBlockUserData) + 16u)
+
+Class QTextBlock::iterator
+ size=24 align=8
+ base size=20 base align=8
+QTextBlock::iterator (0x7f9554239cb0) 0
+
+Class QTextBlock
+ size=16 align=8
+ base size=12 base align=8
+QTextBlock (0x7f95542394d0) 0
+
+Class QTextFragment
+ size=16 align=8
+ base size=16 base align=8
+QTextFragment (0x7f9554031e00) 0
+
+Vtable for QSyntaxHighlighter
+QSyntaxHighlighter::_ZTV18QSyntaxHighlighter: 15u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QSyntaxHighlighter)
+16 QSyntaxHighlighter::metaObject
+24 QSyntaxHighlighter::qt_metacast
+32 QSyntaxHighlighter::qt_metacall
+40 QSyntaxHighlighter::~QSyntaxHighlighter
+48 QSyntaxHighlighter::~QSyntaxHighlighter
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+
+Class QSyntaxHighlighter
+ size=16 align=8
+ base size=16 base align=8
+QSyntaxHighlighter (0x7f955405c000) 0
+ vptr=((& QSyntaxHighlighter::_ZTV18QSyntaxHighlighter) + 16u)
+ QObject (0x7f955405c070) 0
+ primary-for QSyntaxHighlighter (0x7f955405c000)
+
+Class QTextDocumentFragment
+ size=8 align=8
+ base size=8 base align=8
+QTextDocumentFragment (0x7f95540729a0) 0
+
+Class QTextDocumentWriter
+ size=8 align=8
+ base size=8 base align=8
+QTextDocumentWriter (0x7f95540793f0) 0
+
+Vtable for QTextList
+QTextList::_ZTV9QTextList: 17u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QTextList)
+16 QTextList::metaObject
+24 QTextList::qt_metacast
+32 QTextList::qt_metacall
+40 QTextList::~QTextList
+48 QTextList::~QTextList
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QTextBlockGroup::blockInserted
+120 QTextBlockGroup::blockRemoved
+128 QTextBlockGroup::blockFormatChanged
+
+Class QTextList
+ size=16 align=8
+ base size=16 base align=8
+QTextList (0x7f9554079a80) 0
+ vptr=((& QTextList::_ZTV9QTextList) + 16u)
+ QTextBlockGroup (0x7f9554079af0) 0
+ primary-for QTextList (0x7f9554079a80)
+ QTextObject (0x7f9554079b60) 0
+ primary-for QTextBlockGroup (0x7f9554079af0)
+ QObject (0x7f9554079bd0) 0
+ primary-for QTextObject (0x7f9554079b60)
+
+Class QTextTableCell
+ size=16 align=8
+ base size=12 base align=8
+QTextTableCell (0x7f95540a4930) 0
+
+Vtable for QTextTable
+QTextTable::_ZTV10QTextTable: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QTextTable)
+16 QTextTable::metaObject
+24 QTextTable::qt_metacast
+32 QTextTable::qt_metacall
+40 QTextTable::~QTextTable
+48 QTextTable::~QTextTable
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QTextTable
+ size=16 align=8
+ base size=16 base align=8
+QTextTable (0x7f95540b9a80) 0
+ vptr=((& QTextTable::_ZTV10QTextTable) + 16u)
+ QTextFrame (0x7f95540b9af0) 0
+ primary-for QTextTable (0x7f95540b9a80)
+ QTextObject (0x7f95540b9b60) 0
+ primary-for QTextFrame (0x7f95540b9af0)
+ QObject (0x7f95540b9bd0) 0
+ primary-for QTextObject (0x7f95540b9b60)
+
+Vtable for QCompleter
+QCompleter::_ZTV10QCompleter: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QCompleter)
+16 QCompleter::metaObject
+24 QCompleter::qt_metacast
+32 QCompleter::qt_metacall
+40 QCompleter::~QCompleter
+48 QCompleter::~QCompleter
+56 QCompleter::event
+64 QCompleter::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QCompleter::pathFromIndex
+120 QCompleter::splitPath
+
+Class QCompleter
+ size=16 align=8
+ base size=16 base align=8
+QCompleter (0x7f95540e22a0) 0
+ vptr=((& QCompleter::_ZTV10QCompleter) + 16u)
+ QObject (0x7f95540e2310) 0
+ primary-for QCompleter (0x7f95540e22a0)
+
+Class QDesktopServices
+ size=1 align=1
+ base size=0 base align=1
+QDesktopServices (0x7f9554105230) 0 empty
+
+Class QIcon
+ size=8 align=8
+ base size=8 base align=8
+QIcon (0x7f9554105380) 0
+
+Vtable for QSystemTrayIcon
+QSystemTrayIcon::_ZTV15QSystemTrayIcon: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QSystemTrayIcon)
+16 QSystemTrayIcon::metaObject
+24 QSystemTrayIcon::qt_metacast
+32 QSystemTrayIcon::qt_metacall
+40 QSystemTrayIcon::~QSystemTrayIcon
+48 QSystemTrayIcon::~QSystemTrayIcon
+56 QSystemTrayIcon::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QSystemTrayIcon
+ size=16 align=8
+ base size=16 base align=8
+QSystemTrayIcon (0x7f9553f2ef50) 0
+ vptr=((& QSystemTrayIcon::_ZTV15QSystemTrayIcon) + 16u)
+ QObject (0x7f9553f3e000) 0
+ primary-for QSystemTrayIcon (0x7f9553f2ef50)
+
+Vtable for QUndoGroup
+QUndoGroup::_ZTV10QUndoGroup: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QUndoGroup)
+16 QUndoGroup::metaObject
+24 QUndoGroup::qt_metacast
+32 QUndoGroup::qt_metacall
+40 QUndoGroup::~QUndoGroup
+48 QUndoGroup::~QUndoGroup
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QUndoGroup
+ size=16 align=8
+ base size=16 base align=8
+QUndoGroup (0x7f9553f5d1c0) 0
+ vptr=((& QUndoGroup::_ZTV10QUndoGroup) + 16u)
+ QObject (0x7f9553f5d230) 0
+ primary-for QUndoGroup (0x7f9553f5d1c0)
+
+Vtable for QUndoCommand
+QUndoCommand::_ZTV12QUndoCommand: 8u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QUndoCommand)
+16 QUndoCommand::~QUndoCommand
+24 QUndoCommand::~QUndoCommand
+32 QUndoCommand::undo
+40 QUndoCommand::redo
+48 QUndoCommand::id
+56 QUndoCommand::mergeWith
+
+Class QUndoCommand
+ size=16 align=8
+ base size=16 base align=8
+QUndoCommand (0x7f9553f71d20) 0
+ vptr=((& QUndoCommand::_ZTV12QUndoCommand) + 16u)
+
+Vtable for QUndoStack
+QUndoStack::_ZTV10QUndoStack: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QUndoStack)
+16 QUndoStack::metaObject
+24 QUndoStack::qt_metacast
+32 QUndoStack::qt_metacall
+40 QUndoStack::~QUndoStack
+48 QUndoStack::~QUndoStack
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QUndoStack
+ size=16 align=8
+ base size=16 base align=8
+QUndoStack (0x7f9553f7a690) 0
+ vptr=((& QUndoStack::_ZTV10QUndoStack) + 16u)
+ QObject (0x7f9553f7a700) 0
+ primary-for QUndoStack (0x7f9553f7a690)
+
+Class QSizePolicy
+ size=4 align=4
+ base size=4 base align=4
+QSizePolicy (0x7f9553fa01c0) 0
+
+Class QCursor
+ size=8 align=8
+ base size=8 base align=8
+QCursor (0x7f9553e6f1c0) 0
+
+Class QWidgetData
+ size=88 align=8
+ base size=88 base align=8
+QWidgetData (0x7f9553e6f9a0) 0
+
+Vtable for QWidget
+QWidget::_ZTV7QWidget: 63u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QWidget)
+16 QWidget::metaObject
+24 QWidget::qt_metacast
+32 QWidget::qt_metacall
+40 QWidget::~QWidget
+48 QWidget::~QWidget
+56 QWidget::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QWidget::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QWidget::paintEvent
+256 QWidget::moveEvent
+264 QWidget::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QWidget::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 (int (*)(...))-0x00000000000000010
+456 (int (*)(...))(& _ZTI7QWidget)
+464 QWidget::_ZThn16_N7QWidgetD1Ev
+472 QWidget::_ZThn16_N7QWidgetD0Ev
+480 QWidget::_ZThn16_NK7QWidget7devTypeEv
+488 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+496 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QWidget
+ size=40 align=8
+ base size=40 base align=8
+QWidget (0x7f9553e67a00) 0
+ vptr=((& QWidget::_ZTV7QWidget) + 16u)
+ QObject (0x7f9553e6fa10) 0
+ primary-for QWidget (0x7f9553e67a00)
+ QPaintDevice (0x7f9553e6fa80) 16
+ vptr=((& QWidget::_ZTV7QWidget) + 464u)
+
+Vtable for QFrame
+QFrame::_ZTV6QFrame: 63u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI6QFrame)
+16 QFrame::metaObject
+24 QFrame::qt_metacast
+32 QFrame::qt_metacall
+40 QFrame::~QFrame
+48 QFrame::~QFrame
+56 QFrame::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QFrame::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QFrame::paintEvent
+256 QWidget::moveEvent
+264 QWidget::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QFrame::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 (int (*)(...))-0x00000000000000010
+456 (int (*)(...))(& _ZTI6QFrame)
+464 QFrame::_ZThn16_N6QFrameD1Ev
+472 QFrame::_ZThn16_N6QFrameD0Ev
+480 QWidget::_ZThn16_NK7QWidget7devTypeEv
+488 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+496 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QFrame
+ size=40 align=8
+ base size=40 base align=8
+QFrame (0x7f9553df7a80) 0
+ vptr=((& QFrame::_ZTV6QFrame) + 16u)
+ QWidget (0x7f9553dfa680) 0
+ primary-for QFrame (0x7f9553df7a80)
+ QObject (0x7f9553df7af0) 0
+ primary-for QWidget (0x7f9553dfa680)
+ QPaintDevice (0x7f9553df7b60) 16
+ vptr=((& QFrame::_ZTV6QFrame) + 464u)
+
+Vtable for QAbstractScrollArea
+QAbstractScrollArea::_ZTV19QAbstractScrollArea: 65u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QAbstractScrollArea)
+16 QAbstractScrollArea::metaObject
+24 QAbstractScrollArea::qt_metacast
+32 QAbstractScrollArea::qt_metacall
+40 QAbstractScrollArea::~QAbstractScrollArea
+48 QAbstractScrollArea::~QAbstractScrollArea
+56 QAbstractScrollArea::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QAbstractScrollArea::sizeHint
+136 QAbstractScrollArea::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QAbstractScrollArea::mousePressEvent
+168 QAbstractScrollArea::mouseReleaseEvent
+176 QAbstractScrollArea::mouseDoubleClickEvent
+184 QAbstractScrollArea::mouseMoveEvent
+192 QAbstractScrollArea::wheelEvent
+200 QAbstractScrollArea::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QAbstractScrollArea::paintEvent
+256 QWidget::moveEvent
+264 QAbstractScrollArea::resizeEvent
+272 QWidget::closeEvent
+280 QAbstractScrollArea::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QAbstractScrollArea::dragEnterEvent
+312 QAbstractScrollArea::dragMoveEvent
+320 QAbstractScrollArea::dragLeaveEvent
+328 QAbstractScrollArea::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QFrame::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QAbstractScrollArea::viewportEvent
+456 QAbstractScrollArea::scrollContentsBy
+464 (int (*)(...))-0x00000000000000010
+472 (int (*)(...))(& _ZTI19QAbstractScrollArea)
+480 QAbstractScrollArea::_ZThn16_N19QAbstractScrollAreaD1Ev
+488 QAbstractScrollArea::_ZThn16_N19QAbstractScrollAreaD0Ev
+496 QWidget::_ZThn16_NK7QWidget7devTypeEv
+504 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+512 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QAbstractScrollArea
+ size=40 align=8
+ base size=40 base align=8
+QAbstractScrollArea (0x7f9553c230e0) 0
+ vptr=((& QAbstractScrollArea::_ZTV19QAbstractScrollArea) + 16u)
+ QFrame (0x7f9553c23150) 0
+ primary-for QAbstractScrollArea (0x7f9553c230e0)
+ QWidget (0x7f9553e07a80) 0
+ primary-for QFrame (0x7f9553c23150)
+ QObject (0x7f9553c231c0) 0
+ primary-for QWidget (0x7f9553e07a80)
+ QPaintDevice (0x7f9553c23230) 16
+ vptr=((& QAbstractScrollArea::_ZTV19QAbstractScrollArea) + 480u)
+
+Class QItemSelectionRange
+ size=16 align=8
+ base size=16 base align=8
+QItemSelectionRange (0x7f9553c4a000) 0
+
+Vtable for QItemSelectionModel
+QItemSelectionModel::_ZTV19QItemSelectionModel: 18u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QItemSelectionModel)
+16 QItemSelectionModel::metaObject
+24 QItemSelectionModel::qt_metacast
+32 QItemSelectionModel::qt_metacall
+40 QItemSelectionModel::~QItemSelectionModel
+48 QItemSelectionModel::~QItemSelectionModel
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QItemSelectionModel::select
+120 QItemSelectionModel::select
+128 QItemSelectionModel::clear
+136 QItemSelectionModel::reset
+
+Class QItemSelectionModel
+ size=16 align=8
+ base size=16 base align=8
+QItemSelectionModel (0x7f9553cb14d0) 0
+ vptr=((& QItemSelectionModel::_ZTV19QItemSelectionModel) + 16u)
+ QObject (0x7f9553cb1540) 0
+ primary-for QItemSelectionModel (0x7f9553cb14d0)
+
+Class QItemSelection
+ size=8 align=8
+ base size=8 base align=8
+QItemSelection (0x7f9553cf39a0) 0
+ QList<QItemSelectionRange> (0x7f9553cf3a10) 0
+
+Vtable for QValidator
+QValidator::_ZTV10QValidator: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QValidator)
+16 QValidator::metaObject
+24 QValidator::qt_metacast
+32 QValidator::qt_metacall
+40 QValidator::~QValidator
+48 QValidator::~QValidator
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+120 QValidator::fixup
+
+Class QValidator
+ size=16 align=8
+ base size=16 base align=8
+QValidator (0x7f9553b312a0) 0
+ vptr=((& QValidator::_ZTV10QValidator) + 16u)
+ QObject (0x7f9553b31310) 0
+ primary-for QValidator (0x7f9553b312a0)
+
+Vtable for QIntValidator
+QIntValidator::_ZTV13QIntValidator: 17u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QIntValidator)
+16 QIntValidator::metaObject
+24 QIntValidator::qt_metacast
+32 QIntValidator::qt_metacall
+40 QIntValidator::~QIntValidator
+48 QIntValidator::~QIntValidator
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QIntValidator::validate
+120 QValidator::fixup
+128 QIntValidator::setRange
+
+Class QIntValidator
+ size=24 align=8
+ base size=24 base align=8
+QIntValidator (0x7f9553b4d0e0) 0
+ vptr=((& QIntValidator::_ZTV13QIntValidator) + 16u)
+ QValidator (0x7f9553b4d150) 0
+ primary-for QIntValidator (0x7f9553b4d0e0)
+ QObject (0x7f9553b4d1c0) 0
+ primary-for QValidator (0x7f9553b4d150)
+
+Vtable for QDoubleValidator
+QDoubleValidator::_ZTV16QDoubleValidator: 17u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QDoubleValidator)
+16 QDoubleValidator::metaObject
+24 QDoubleValidator::qt_metacast
+32 QDoubleValidator::qt_metacall
+40 QDoubleValidator::~QDoubleValidator
+48 QDoubleValidator::~QDoubleValidator
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QDoubleValidator::validate
+120 QValidator::fixup
+128 QDoubleValidator::setRange
+
+Class QDoubleValidator
+ size=40 align=8
+ base size=36 base align=8
+QDoubleValidator (0x7f9553b63070) 0
+ vptr=((& QDoubleValidator::_ZTV16QDoubleValidator) + 16u)
+ QValidator (0x7f9553b630e0) 0
+ primary-for QDoubleValidator (0x7f9553b63070)
+ QObject (0x7f9553b63150) 0
+ primary-for QValidator (0x7f9553b630e0)
+
+Vtable for QRegExpValidator
+QRegExpValidator::_ZTV16QRegExpValidator: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QRegExpValidator)
+16 QRegExpValidator::metaObject
+24 QRegExpValidator::qt_metacast
+32 QRegExpValidator::qt_metacall
+40 QRegExpValidator::~QRegExpValidator
+48 QRegExpValidator::~QRegExpValidator
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QRegExpValidator::validate
+120 QValidator::fixup
+
+Class QRegExpValidator
+ size=24 align=8
+ base size=24 base align=8
+QRegExpValidator (0x7f9553b7d930) 0
+ vptr=((& QRegExpValidator::_ZTV16QRegExpValidator) + 16u)
+ QValidator (0x7f9553b7d9a0) 0
+ primary-for QRegExpValidator (0x7f9553b7d930)
+ QObject (0x7f9553b7da10) 0
+ primary-for QValidator (0x7f9553b7d9a0)
+
+Vtable for QAbstractSpinBox
+QAbstractSpinBox::_ZTV16QAbstractSpinBox: 68u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QAbstractSpinBox)
+16 QAbstractSpinBox::metaObject
+24 QAbstractSpinBox::qt_metacast
+32 QAbstractSpinBox::qt_metacall
+40 QAbstractSpinBox::~QAbstractSpinBox
+48 QAbstractSpinBox::~QAbstractSpinBox
+56 QAbstractSpinBox::event
+64 QObject::eventFilter
+72 QAbstractSpinBox::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QAbstractSpinBox::sizeHint
+136 QAbstractSpinBox::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QAbstractSpinBox::mousePressEvent
+168 QAbstractSpinBox::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QAbstractSpinBox::mouseMoveEvent
+192 QAbstractSpinBox::wheelEvent
+200 QAbstractSpinBox::keyPressEvent
+208 QAbstractSpinBox::keyReleaseEvent
+216 QAbstractSpinBox::focusInEvent
+224 QAbstractSpinBox::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QAbstractSpinBox::paintEvent
+256 QWidget::moveEvent
+264 QAbstractSpinBox::resizeEvent
+272 QAbstractSpinBox::closeEvent
+280 QAbstractSpinBox::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QAbstractSpinBox::showEvent
+344 QAbstractSpinBox::hideEvent
+352 QWidget::x11Event
+360 QAbstractSpinBox::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QAbstractSpinBox::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QAbstractSpinBox::validate
+456 QAbstractSpinBox::fixup
+464 QAbstractSpinBox::stepBy
+472 QAbstractSpinBox::clear
+480 QAbstractSpinBox::stepEnabled
+488 (int (*)(...))-0x00000000000000010
+496 (int (*)(...))(& _ZTI16QAbstractSpinBox)
+504 QAbstractSpinBox::_ZThn16_N16QAbstractSpinBoxD1Ev
+512 QAbstractSpinBox::_ZThn16_N16QAbstractSpinBoxD0Ev
+520 QWidget::_ZThn16_NK7QWidget7devTypeEv
+528 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+536 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QAbstractSpinBox
+ size=40 align=8
+ base size=40 base align=8
+QAbstractSpinBox (0x7f9553b965b0) 0
+ vptr=((& QAbstractSpinBox::_ZTV16QAbstractSpinBox) + 16u)
+ QWidget (0x7f9553b7be80) 0
+ primary-for QAbstractSpinBox (0x7f9553b965b0)
+ QObject (0x7f9553b96620) 0
+ primary-for QWidget (0x7f9553b7be80)
+ QPaintDevice (0x7f9553b96690) 16
+ vptr=((& QAbstractSpinBox::_ZTV16QAbstractSpinBox) + 504u)
+
+Vtable for QAbstractSlider
+QAbstractSlider::_ZTV15QAbstractSlider: 64u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QAbstractSlider)
+16 QAbstractSlider::metaObject
+24 QAbstractSlider::qt_metacast
+32 QAbstractSlider::qt_metacall
+40 QAbstractSlider::~QAbstractSlider
+48 QAbstractSlider::~QAbstractSlider
+56 QAbstractSlider::event
+64 QObject::eventFilter
+72 QAbstractSlider::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QWidget::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QAbstractSlider::wheelEvent
+200 QAbstractSlider::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QWidget::paintEvent
+256 QWidget::moveEvent
+264 QWidget::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QAbstractSlider::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QAbstractSlider::sliderChange
+456 (int (*)(...))-0x00000000000000010
+464 (int (*)(...))(& _ZTI15QAbstractSlider)
+472 QAbstractSlider::_ZThn16_N15QAbstractSliderD1Ev
+480 QAbstractSlider::_ZThn16_N15QAbstractSliderD0Ev
+488 QWidget::_ZThn16_NK7QWidget7devTypeEv
+496 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+504 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QAbstractSlider
+ size=40 align=8
+ base size=40 base align=8
+QAbstractSlider (0x7f9553bf45b0) 0
+ vptr=((& QAbstractSlider::_ZTV15QAbstractSlider) + 16u)
+ QWidget (0x7f9553bf5200) 0
+ primary-for QAbstractSlider (0x7f9553bf45b0)
+ QObject (0x7f9553bf4620) 0
+ primary-for QWidget (0x7f9553bf5200)
+ QPaintDevice (0x7f9553bf4690) 16
+ vptr=((& QAbstractSlider::_ZTV15QAbstractSlider) + 472u)
+
+Vtable for QSlider
+QSlider::_ZTV7QSlider: 64u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QSlider)
+16 QSlider::metaObject
+24 QSlider::qt_metacast
+32 QSlider::qt_metacall
+40 QSlider::~QSlider
+48 QSlider::~QSlider
+56 QSlider::event
+64 QObject::eventFilter
+72 QAbstractSlider::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QSlider::sizeHint
+136 QSlider::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QSlider::mousePressEvent
+168 QSlider::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QSlider::mouseMoveEvent
+192 QAbstractSlider::wheelEvent
+200 QAbstractSlider::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QSlider::paintEvent
+256 QWidget::moveEvent
+264 QWidget::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QAbstractSlider::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QAbstractSlider::sliderChange
+456 (int (*)(...))-0x00000000000000010
+464 (int (*)(...))(& _ZTI7QSlider)
+472 QSlider::_ZThn16_N7QSliderD1Ev
+480 QSlider::_ZThn16_N7QSliderD0Ev
+488 QWidget::_ZThn16_NK7QWidget7devTypeEv
+496 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+504 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QSlider
+ size=40 align=8
+ base size=40 base align=8
+QSlider (0x7f9553a2a3f0) 0
+ vptr=((& QSlider::_ZTV7QSlider) + 16u)
+ QAbstractSlider (0x7f9553a2a460) 0
+ primary-for QSlider (0x7f9553a2a3f0)
+ QWidget (0x7f9553a28300) 0
+ primary-for QAbstractSlider (0x7f9553a2a460)
+ QObject (0x7f9553a2a4d0) 0
+ primary-for QWidget (0x7f9553a28300)
+ QPaintDevice (0x7f9553a2a540) 16
+ vptr=((& QSlider::_ZTV7QSlider) + 472u)
+
+Vtable for QStyle
+QStyle::_ZTV6QStyle: 35u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI6QStyle)
+16 QStyle::metaObject
+24 QStyle::qt_metacast
+32 QStyle::qt_metacall
+40 QStyle::~QStyle
+48 QStyle::~QStyle
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QStyle::polish
+120 QStyle::unpolish
+128 QStyle::polish
+136 QStyle::unpolish
+144 QStyle::polish
+152 QStyle::itemTextRect
+160 QStyle::itemPixmapRect
+168 QStyle::drawItemText
+176 QStyle::drawItemPixmap
+184 QStyle::standardPalette
+192 __cxa_pure_virtual
+200 __cxa_pure_virtual
+208 __cxa_pure_virtual
+216 __cxa_pure_virtual
+224 __cxa_pure_virtual
+232 __cxa_pure_virtual
+240 __cxa_pure_virtual
+248 __cxa_pure_virtual
+256 __cxa_pure_virtual
+264 __cxa_pure_virtual
+272 __cxa_pure_virtual
+
+Class QStyle
+ size=16 align=8
+ base size=16 base align=8
+QStyle (0x7f9553a4f9a0) 0
+ vptr=((& QStyle::_ZTV6QStyle) + 16u)
+ QObject (0x7f9553a4fa10) 0
+ primary-for QStyle (0x7f9553a4f9a0)
+
+Vtable for QTabBar
+QTabBar::_ZTV7QTabBar: 67u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QTabBar)
+16 QTabBar::metaObject
+24 QTabBar::qt_metacast
+32 QTabBar::qt_metacall
+40 QTabBar::~QTabBar
+48 QTabBar::~QTabBar
+56 QTabBar::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QTabBar::sizeHint
+136 QTabBar::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QTabBar::mousePressEvent
+168 QTabBar::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QTabBar::mouseMoveEvent
+192 QTabBar::wheelEvent
+200 QTabBar::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QTabBar::paintEvent
+256 QWidget::moveEvent
+264 QTabBar::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QTabBar::showEvent
+344 QTabBar::hideEvent
+352 QWidget::x11Event
+360 QTabBar::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QTabBar::tabSizeHint
+456 QTabBar::tabInserted
+464 QTabBar::tabRemoved
+472 QTabBar::tabLayoutChange
+480 (int (*)(...))-0x00000000000000010
+488 (int (*)(...))(& _ZTI7QTabBar)
+496 QTabBar::_ZThn16_N7QTabBarD1Ev
+504 QTabBar::_ZThn16_N7QTabBarD0Ev
+512 QWidget::_ZThn16_NK7QWidget7devTypeEv
+520 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+528 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QTabBar
+ size=40 align=8
+ base size=40 base align=8
+QTabBar (0x7f9553b01850) 0
+ vptr=((& QTabBar::_ZTV7QTabBar) + 16u)
+ QWidget (0x7f9553b02300) 0
+ primary-for QTabBar (0x7f9553b01850)
+ QObject (0x7f9553b018c0) 0
+ primary-for QWidget (0x7f9553b02300)
+ QPaintDevice (0x7f9553b01930) 16
+ vptr=((& QTabBar::_ZTV7QTabBar) + 496u)
+
+Vtable for QTabWidget
+QTabWidget::_ZTV10QTabWidget: 65u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QTabWidget)
+16 QTabWidget::metaObject
+24 QTabWidget::qt_metacast
+32 QTabWidget::qt_metacall
+40 QTabWidget::~QTabWidget
+48 QTabWidget::~QTabWidget
+56 QTabWidget::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QTabWidget::sizeHint
+136 QTabWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QTabWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QTabWidget::paintEvent
+256 QWidget::moveEvent
+264 QTabWidget::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QTabWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QTabWidget::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QTabWidget::tabInserted
+456 QTabWidget::tabRemoved
+464 (int (*)(...))-0x00000000000000010
+472 (int (*)(...))(& _ZTI10QTabWidget)
+480 QTabWidget::_ZThn16_N10QTabWidgetD1Ev
+488 QTabWidget::_ZThn16_N10QTabWidgetD0Ev
+496 QWidget::_ZThn16_NK7QWidget7devTypeEv
+504 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+512 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QTabWidget
+ size=40 align=8
+ base size=40 base align=8
+QTabWidget (0x7f955392ee70) 0
+ vptr=((& QTabWidget::_ZTV10QTabWidget) + 16u)
+ QWidget (0x7f955392a700) 0
+ primary-for QTabWidget (0x7f955392ee70)
+ QObject (0x7f955392eee0) 0
+ primary-for QWidget (0x7f955392a700)
+ QPaintDevice (0x7f955392ef50) 16
+ vptr=((& QTabWidget::_ZTV10QTabWidget) + 480u)
+
+Vtable for QRubberBand
+QRubberBand::_ZTV11QRubberBand: 63u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QRubberBand)
+16 QRubberBand::metaObject
+24 QRubberBand::qt_metacast
+32 QRubberBand::qt_metacall
+40 QRubberBand::~QRubberBand
+48 QRubberBand::~QRubberBand
+56 QRubberBand::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QWidget::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QRubberBand::paintEvent
+256 QRubberBand::moveEvent
+264 QRubberBand::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QRubberBand::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QRubberBand::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 (int (*)(...))-0x00000000000000010
+456 (int (*)(...))(& _ZTI11QRubberBand)
+464 QRubberBand::_ZThn16_N11QRubberBandD1Ev
+472 QRubberBand::_ZThn16_N11QRubberBandD0Ev
+480 QWidget::_ZThn16_NK7QWidget7devTypeEv
+488 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+496 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QRubberBand
+ size=40 align=8
+ base size=40 base align=8
+QRubberBand (0x7f9553981850) 0
+ vptr=((& QRubberBand::_ZTV11QRubberBand) + 16u)
+ QWidget (0x7f955397f880) 0
+ primary-for QRubberBand (0x7f9553981850)
+ QObject (0x7f95539818c0) 0
+ primary-for QWidget (0x7f955397f880)
+ QPaintDevice (0x7f9553981930) 16
+ vptr=((& QRubberBand::_ZTV11QRubberBand) + 464u)
+
+Class QStyleOption
+ size=56 align=8
+ base size=56 base align=8
+QStyleOption (0x7f95539a5b60) 0
+
+Class QStyleOptionFocusRect
+ size=72 align=8
+ base size=72 base align=8
+QStyleOptionFocusRect (0x7f95539b18c0) 0
+ QStyleOption (0x7f95539b1930) 0
+
+Class QStyleOptionFrame
+ size=64 align=8
+ base size=64 base align=8
+QStyleOptionFrame (0x7f95539bd8c0) 0
+ QStyleOption (0x7f95539bd930) 0
+
+Class QStyleOptionFrameV2
+ size=72 align=8
+ base size=68 base align=8
+QStyleOptionFrameV2 (0x7f95539cb850) 0
+ QStyleOptionFrame (0x7f95539cb8c0) 0
+ QStyleOption (0x7f95539cb930) 0
+
+Class QStyleOptionFrameV3
+ size=72 align=8
+ base size=72 base align=8
+QStyleOptionFrameV3 (0x7f9553813150) 0
+ QStyleOptionFrameV2 (0x7f95538131c0) 0
+ QStyleOptionFrame (0x7f9553813230) 0
+ QStyleOption (0x7f95538132a0) 0
+
+Class QStyleOptionTabWidgetFrame
+ size=96 align=8
+ base size=92 base align=8
+QStyleOptionTabWidgetFrame (0x7f955381ea10) 0
+ QStyleOption (0x7f955381ea80) 0
+
+Class QStyleOptionTabWidgetFrameV2
+ size=128 align=8
+ base size=124 base align=8
+QStyleOptionTabWidgetFrameV2 (0x7f95538341c0) 0
+ QStyleOptionTabWidgetFrame (0x7f9553834230) 0
+ QStyleOption (0x7f95538342a0) 0
+
+Class QStyleOptionTabBarBase
+ size=96 align=8
+ base size=92 base align=8
+QStyleOptionTabBarBase (0x7f955383daf0) 0
+ QStyleOption (0x7f955383db60) 0
+
+Class QStyleOptionTabBarBaseV2
+ size=96 align=8
+ base size=93 base align=8
+QStyleOptionTabBarBaseV2 (0x7f9553849ee0) 0
+ QStyleOptionTabBarBase (0x7f9553849f50) 0
+ QStyleOption (0x7f9553849310) 0
+
+Class QStyleOptionHeader
+ size=112 align=8
+ base size=108 base align=8
+QStyleOptionHeader (0x7f955385f540) 0
+ QStyleOption (0x7f955385f5b0) 0
+
+Class QStyleOptionButton
+ size=88 align=8
+ base size=88 base align=8
+QStyleOptionButton (0x7f9553877700) 0
+ QStyleOption (0x7f9553877770) 0
+
+Class QStyleOptionTab
+ size=96 align=8
+ base size=96 base align=8
+QStyleOptionTab (0x7f95538c50e0) 0
+ QStyleOption (0x7f95538c5150) 0
+
+Class QStyleOptionTabV2
+ size=104 align=8
+ base size=104 base align=8
+QStyleOptionTabV2 (0x7f9553713070) 0
+ QStyleOptionTab (0x7f95537130e0) 0
+ QStyleOption (0x7f9553713150) 0
+
+Class QStyleOptionTabV3
+ size=128 align=8
+ base size=124 base align=8
+QStyleOptionTabV3 (0x7f955371da80) 0
+ QStyleOptionTabV2 (0x7f955371daf0) 0
+ QStyleOptionTab (0x7f955371db60) 0
+ QStyleOption (0x7f955371dbd0) 0
+
+Class QStyleOptionToolBar
+ size=80 align=8
+ base size=80 base align=8
+QStyleOptionToolBar (0x7f955373c0e0) 0
+ QStyleOption (0x7f955373c150) 0
+
+Class QStyleOptionProgressBar
+ size=88 align=8
+ base size=85 base align=8
+QStyleOptionProgressBar (0x7f955376f8c0) 0
+ QStyleOption (0x7f955376f930) 0
+
+Class QStyleOptionProgressBarV2
+ size=96 align=8
+ base size=94 base align=8
+QStyleOptionProgressBarV2 (0x7f9553796070) 0
+ QStyleOptionProgressBar (0x7f95537960e0) 0
+ QStyleOption (0x7f9553796150) 0
+
+Class QStyleOptionMenuItem
+ size=128 align=8
+ base size=128 base align=8
+QStyleOptionMenuItem (0x7f9553796930) 0
+ QStyleOption (0x7f95537969a0) 0
+
+Class QStyleOptionQ3ListViewItem
+ size=80 align=8
+ base size=76 base align=8
+QStyleOptionQ3ListViewItem (0x7f95537b0b60) 0
+ QStyleOption (0x7f95537b0bd0) 0
+
+Class QStyleOptionQ3DockWindow
+ size=64 align=8
+ base size=58 base align=8
+QStyleOptionQ3DockWindow (0x7f95535ff000) 0
+ QStyleOption (0x7f95535ff070) 0
+
+Class QStyleOptionDockWidget
+ size=72 align=8
+ base size=67 base align=8
+QStyleOptionDockWidget (0x7f95535ff690) 0
+ QStyleOption (0x7f955360b000) 0
+
+Class QStyleOptionDockWidgetV2
+ size=72 align=8
+ base size=68 base align=8
+QStyleOptionDockWidgetV2 (0x7f9553619380) 0
+ QStyleOptionDockWidget (0x7f95536193f0) 0
+ QStyleOption (0x7f9553619460) 0
+
+Class QStyleOptionViewItem
+ size=104 align=8
+ base size=97 base align=8
+QStyleOptionViewItem (0x7f9553623b60) 0
+ QStyleOption (0x7f9553623bd0) 0
+
+Class QStyleOptionViewItemV2
+ size=104 align=8
+ base size=104 base align=8
+QStyleOptionViewItemV2 (0x7f955363c700) 0
+ QStyleOptionViewItem (0x7f955363c770) 0
+ QStyleOption (0x7f955363c7e0) 0
+
+Class QStyleOptionViewItemV3
+ size=120 align=8
+ base size=120 base align=8
+QStyleOptionViewItemV3 (0x7f955368a150) 0
+ QStyleOptionViewItemV2 (0x7f955368a1c0) 0
+ QStyleOptionViewItem (0x7f955368a230) 0
+ QStyleOption (0x7f955368a2a0) 0
+
+Class QStyleOptionViewItemV4
+ size=184 align=8
+ base size=184 base align=8
+QStyleOptionViewItemV4 (0x7f9553693a10) 0
+ QStyleOptionViewItemV3 (0x7f9553693a80) 0
+ QStyleOptionViewItemV2 (0x7f9553693af0) 0
+ QStyleOptionViewItem (0x7f9553693b60) 0
+ QStyleOption (0x7f9553693bd0) 0
+
+Class QStyleOptionToolBox
+ size=72 align=8
+ base size=72 base align=8
+QStyleOptionToolBox (0x7f95536b5150) 0
+ QStyleOption (0x7f95536b51c0) 0
+
+Class QStyleOptionToolBoxV2
+ size=80 align=8
+ base size=80 base align=8
+QStyleOptionToolBoxV2 (0x7f95536c2620) 0
+ QStyleOptionToolBox (0x7f95536c2690) 0
+ QStyleOption (0x7f95536c2700) 0
+
+Class QStyleOptionRubberBand
+ size=64 align=8
+ base size=61 base align=8
+QStyleOptionRubberBand (0x7f95536d8310) 0
+ QStyleOption (0x7f95536d8380) 0
+
+Class QStyleOptionComplex
+ size=64 align=8
+ base size=64 base align=8
+QStyleOptionComplex (0x7f95536e23f0) 0
+ QStyleOption (0x7f95536e2460) 0
+
+Class QStyleOptionSlider
+ size=120 align=8
+ base size=113 base align=8
+QStyleOptionSlider (0x7f95536ecbd0) 0
+ QStyleOptionComplex (0x7f95536ecc40) 0
+ QStyleOption (0x7f95536eccb0) 0
+
+Class QStyleOptionSpinBox
+ size=80 align=8
+ base size=73 base align=8
+QStyleOptionSpinBox (0x7f95535039a0) 0
+ QStyleOptionComplex (0x7f9553503a10) 0
+ QStyleOption (0x7f9553503a80) 0
+
+Class QStyleOptionQ3ListView
+ size=112 align=8
+ base size=105 base align=8
+QStyleOptionQ3ListView (0x7f955350aee0) 0
+ QStyleOptionComplex (0x7f955350af50) 0
+ QStyleOption (0x7f955350a380) 0
+
+Class QStyleOptionToolButton
+ size=128 align=8
+ base size=128 base align=8
+QStyleOptionToolButton (0x7f9553544af0) 0
+ QStyleOptionComplex (0x7f9553544b60) 0
+ QStyleOption (0x7f9553544bd0) 0
+
+Class QStyleOptionComboBox
+ size=112 align=8
+ base size=112 base align=8
+QStyleOptionComboBox (0x7f9553584d20) 0
+ QStyleOptionComplex (0x7f9553584d90) 0
+ QStyleOption (0x7f9553584e00) 0
+
+Class QStyleOptionTitleBar
+ size=88 align=8
+ base size=88 base align=8
+QStyleOptionTitleBar (0x7f95535ac850) 0
+ QStyleOptionComplex (0x7f95535ac8c0) 0
+ QStyleOption (0x7f95535ac930) 0
+
+Class QStyleOptionGroupBox
+ size=112 align=8
+ base size=108 base align=8
+QStyleOptionGroupBox (0x7f95535c40e0) 0
+ QStyleOptionComplex (0x7f95535c4150) 0
+ QStyleOption (0x7f95535c41c0) 0
+
+Class QStyleOptionSizeGrip
+ size=72 align=8
+ base size=68 base align=8
+QStyleOptionSizeGrip (0x7f95535d2cb0) 0
+ QStyleOptionComplex (0x7f95535d2d20) 0
+ QStyleOption (0x7f95535d2d90) 0
+
+Class QStyleOptionGraphicsItem
+ size=144 align=8
+ base size=144 base align=8
+QStyleOptionGraphicsItem (0x7f95535dbc40) 0
+ QStyleOption (0x7f95535dbcb0) 0
+
+Class QStyleHintReturn
+ size=8 align=4
+ base size=8 base align=4
+QStyleHintReturn (0x7f95535e92a0) 0
+
+Class QStyleHintReturnMask
+ size=16 align=8
+ base size=16 base align=8
+QStyleHintReturnMask (0x7f95534093f0) 0
+ QStyleHintReturn (0x7f9553409460) 0
+
+Class QStyleHintReturnVariant
+ size=24 align=8
+ base size=24 base align=8
+QStyleHintReturnVariant (0x7f9553409620) 0
+ QStyleHintReturn (0x7f9553409690) 0
+
+Vtable for QAbstractItemDelegate
+QAbstractItemDelegate::_ZTV21QAbstractItemDelegate: 21u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI21QAbstractItemDelegate)
+16 QAbstractItemDelegate::metaObject
+24 QAbstractItemDelegate::qt_metacast
+32 QAbstractItemDelegate::qt_metacall
+40 QAbstractItemDelegate::~QAbstractItemDelegate
+48 QAbstractItemDelegate::~QAbstractItemDelegate
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 QAbstractItemDelegate::createEditor
+136 QAbstractItemDelegate::setEditorData
+144 QAbstractItemDelegate::setModelData
+152 QAbstractItemDelegate::updateEditorGeometry
+160 QAbstractItemDelegate::editorEvent
+
+Class QAbstractItemDelegate
+ size=16 align=8
+ base size=16 base align=8
+QAbstractItemDelegate (0x7f9553409af0) 0
+ vptr=((& QAbstractItemDelegate::_ZTV21QAbstractItemDelegate) + 16u)
+ QObject (0x7f9553409b60) 0
+ primary-for QAbstractItemDelegate (0x7f9553409af0)
+
+Vtable for QAbstractItemView
+QAbstractItemView::_ZTV17QAbstractItemView: 103u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QAbstractItemView)
+16 QAbstractItemView::metaObject
+24 QAbstractItemView::qt_metacast
+32 QAbstractItemView::qt_metacall
+40 QAbstractItemView::~QAbstractItemView
+48 QAbstractItemView::~QAbstractItemView
+56 QAbstractItemView::event
+64 QObject::eventFilter
+72 QAbstractItemView::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QAbstractScrollArea::sizeHint
+136 QAbstractScrollArea::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QAbstractItemView::mousePressEvent
+168 QAbstractItemView::mouseReleaseEvent
+176 QAbstractItemView::mouseDoubleClickEvent
+184 QAbstractItemView::mouseMoveEvent
+192 QAbstractScrollArea::wheelEvent
+200 QAbstractItemView::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QAbstractItemView::focusInEvent
+224 QAbstractItemView::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QAbstractScrollArea::paintEvent
+256 QWidget::moveEvent
+264 QAbstractItemView::resizeEvent
+272 QWidget::closeEvent
+280 QAbstractScrollArea::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QAbstractItemView::dragEnterEvent
+312 QAbstractItemView::dragMoveEvent
+320 QAbstractItemView::dragLeaveEvent
+328 QAbstractItemView::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QFrame::changeEvent
+368 QWidget::metric
+376 QAbstractItemView::inputMethodEvent
+384 QAbstractItemView::inputMethodQuery
+392 QAbstractItemView::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QAbstractItemView::viewportEvent
+456 QAbstractScrollArea::scrollContentsBy
+464 QAbstractItemView::setModel
+472 QAbstractItemView::setSelectionModel
+480 QAbstractItemView::keyboardSearch
+488 __cxa_pure_virtual
+496 __cxa_pure_virtual
+504 __cxa_pure_virtual
+512 QAbstractItemView::sizeHintForRow
+520 QAbstractItemView::sizeHintForColumn
+528 QAbstractItemView::reset
+536 QAbstractItemView::setRootIndex
+544 QAbstractItemView::doItemsLayout
+552 QAbstractItemView::selectAll
+560 QAbstractItemView::dataChanged
+568 QAbstractItemView::rowsInserted
+576 QAbstractItemView::rowsAboutToBeRemoved
+584 QAbstractItemView::selectionChanged
+592 QAbstractItemView::currentChanged
+600 QAbstractItemView::updateEditorData
+608 QAbstractItemView::updateEditorGeometries
+616 QAbstractItemView::updateGeometries
+624 QAbstractItemView::verticalScrollbarAction
+632 QAbstractItemView::horizontalScrollbarAction
+640 QAbstractItemView::verticalScrollbarValueChanged
+648 QAbstractItemView::horizontalScrollbarValueChanged
+656 QAbstractItemView::closeEditor
+664 QAbstractItemView::commitData
+672 QAbstractItemView::editorDestroyed
+680 __cxa_pure_virtual
+688 __cxa_pure_virtual
+696 __cxa_pure_virtual
+704 __cxa_pure_virtual
+712 __cxa_pure_virtual
+720 __cxa_pure_virtual
+728 QAbstractItemView::selectedIndexes
+736 QAbstractItemView::edit
+744 QAbstractItemView::selectionCommand
+752 QAbstractItemView::startDrag
+760 QAbstractItemView::viewOptions
+768 (int (*)(...))-0x00000000000000010
+776 (int (*)(...))(& _ZTI17QAbstractItemView)
+784 QAbstractItemView::_ZThn16_N17QAbstractItemViewD1Ev
+792 QAbstractItemView::_ZThn16_N17QAbstractItemViewD0Ev
+800 QWidget::_ZThn16_NK7QWidget7devTypeEv
+808 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+816 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QAbstractItemView
+ size=40 align=8
+ base size=40 base align=8
+QAbstractItemView (0x7f95534381c0) 0
+ vptr=((& QAbstractItemView::_ZTV17QAbstractItemView) + 16u)
+ QAbstractScrollArea (0x7f9553438230) 0
+ primary-for QAbstractItemView (0x7f95534381c0)
+ QFrame (0x7f95534382a0) 0
+ primary-for QAbstractScrollArea (0x7f9553438230)
+ QWidget (0x7f9553417d80) 0
+ primary-for QFrame (0x7f95534382a0)
+ QObject (0x7f9553438310) 0
+ primary-for QWidget (0x7f9553417d80)
+ QPaintDevice (0x7f9553438380) 16
+ vptr=((& QAbstractItemView::_ZTV17QAbstractItemView) + 784u)
+
+Vtable for QListView
+QListView::_ZTV9QListView: 103u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QListView)
+16 QListView::metaObject
+24 QListView::qt_metacast
+32 QListView::qt_metacall
+40 QListView::~QListView
+48 QListView::~QListView
+56 QListView::event
+64 QObject::eventFilter
+72 QListView::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QAbstractScrollArea::sizeHint
+136 QAbstractScrollArea::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QAbstractItemView::mousePressEvent
+168 QListView::mouseReleaseEvent
+176 QAbstractItemView::mouseDoubleClickEvent
+184 QListView::mouseMoveEvent
+192 QAbstractScrollArea::wheelEvent
+200 QAbstractItemView::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QAbstractItemView::focusInEvent
+224 QAbstractItemView::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QListView::paintEvent
+256 QWidget::moveEvent
+264 QListView::resizeEvent
+272 QWidget::closeEvent
+280 QAbstractScrollArea::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QAbstractItemView::dragEnterEvent
+312 QListView::dragMoveEvent
+320 QListView::dragLeaveEvent
+328 QListView::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QFrame::changeEvent
+368 QWidget::metric
+376 QAbstractItemView::inputMethodEvent
+384 QAbstractItemView::inputMethodQuery
+392 QAbstractItemView::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QAbstractItemView::viewportEvent
+456 QListView::scrollContentsBy
+464 QAbstractItemView::setModel
+472 QAbstractItemView::setSelectionModel
+480 QAbstractItemView::keyboardSearch
+488 QListView::visualRect
+496 QListView::scrollTo
+504 QListView::indexAt
+512 QAbstractItemView::sizeHintForRow
+520 QAbstractItemView::sizeHintForColumn
+528 QListView::reset
+536 QListView::setRootIndex
+544 QListView::doItemsLayout
+552 QAbstractItemView::selectAll
+560 QListView::dataChanged
+568 QListView::rowsInserted
+576 QListView::rowsAboutToBeRemoved
+584 QListView::selectionChanged
+592 QListView::currentChanged
+600 QAbstractItemView::updateEditorData
+608 QAbstractItemView::updateEditorGeometries
+616 QListView::updateGeometries
+624 QAbstractItemView::verticalScrollbarAction
+632 QAbstractItemView::horizontalScrollbarAction
+640 QAbstractItemView::verticalScrollbarValueChanged
+648 QAbstractItemView::horizontalScrollbarValueChanged
+656 QAbstractItemView::closeEditor
+664 QAbstractItemView::commitData
+672 QAbstractItemView::editorDestroyed
+680 QListView::moveCursor
+688 QListView::horizontalOffset
+696 QListView::verticalOffset
+704 QListView::isIndexHidden
+712 QListView::setSelection
+720 QListView::visualRegionForSelection
+728 QListView::selectedIndexes
+736 QAbstractItemView::edit
+744 QAbstractItemView::selectionCommand
+752 QListView::startDrag
+760 QListView::viewOptions
+768 (int (*)(...))-0x00000000000000010
+776 (int (*)(...))(& _ZTI9QListView)
+784 QListView::_ZThn16_N9QListViewD1Ev
+792 QListView::_ZThn16_N9QListViewD0Ev
+800 QWidget::_ZThn16_NK7QWidget7devTypeEv
+808 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+816 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QListView
+ size=40 align=8
+ base size=40 base align=8
+QListView (0x7f95534ae9a0) 0
+ vptr=((& QListView::_ZTV9QListView) + 16u)
+ QAbstractItemView (0x7f95534aea10) 0
+ primary-for QListView (0x7f95534ae9a0)
+ QAbstractScrollArea (0x7f95534aea80) 0
+ primary-for QAbstractItemView (0x7f95534aea10)
+ QFrame (0x7f95534aeaf0) 0
+ primary-for QAbstractScrollArea (0x7f95534aea80)
+ QWidget (0x7f9553498500) 0
+ primary-for QFrame (0x7f95534aeaf0)
+ QObject (0x7f95534aeb60) 0
+ primary-for QWidget (0x7f9553498500)
+ QPaintDevice (0x7f95534aebd0) 16
+ vptr=((& QListView::_ZTV9QListView) + 784u)
+
+Vtable for QUndoView
+QUndoView::_ZTV9QUndoView: 103u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QUndoView)
+16 QUndoView::metaObject
+24 QUndoView::qt_metacast
+32 QUndoView::qt_metacall
+40 QUndoView::~QUndoView
+48 QUndoView::~QUndoView
+56 QListView::event
+64 QObject::eventFilter
+72 QListView::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QAbstractScrollArea::sizeHint
+136 QAbstractScrollArea::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QAbstractItemView::mousePressEvent
+168 QListView::mouseReleaseEvent
+176 QAbstractItemView::mouseDoubleClickEvent
+184 QListView::mouseMoveEvent
+192 QAbstractScrollArea::wheelEvent
+200 QAbstractItemView::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QAbstractItemView::focusInEvent
+224 QAbstractItemView::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QListView::paintEvent
+256 QWidget::moveEvent
+264 QListView::resizeEvent
+272 QWidget::closeEvent
+280 QAbstractScrollArea::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QAbstractItemView::dragEnterEvent
+312 QListView::dragMoveEvent
+320 QListView::dragLeaveEvent
+328 QListView::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QFrame::changeEvent
+368 QWidget::metric
+376 QAbstractItemView::inputMethodEvent
+384 QAbstractItemView::inputMethodQuery
+392 QAbstractItemView::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QAbstractItemView::viewportEvent
+456 QListView::scrollContentsBy
+464 QAbstractItemView::setModel
+472 QAbstractItemView::setSelectionModel
+480 QAbstractItemView::keyboardSearch
+488 QListView::visualRect
+496 QListView::scrollTo
+504 QListView::indexAt
+512 QAbstractItemView::sizeHintForRow
+520 QAbstractItemView::sizeHintForColumn
+528 QListView::reset
+536 QListView::setRootIndex
+544 QListView::doItemsLayout
+552 QAbstractItemView::selectAll
+560 QListView::dataChanged
+568 QListView::rowsInserted
+576 QListView::rowsAboutToBeRemoved
+584 QListView::selectionChanged
+592 QListView::currentChanged
+600 QAbstractItemView::updateEditorData
+608 QAbstractItemView::updateEditorGeometries
+616 QListView::updateGeometries
+624 QAbstractItemView::verticalScrollbarAction
+632 QAbstractItemView::horizontalScrollbarAction
+640 QAbstractItemView::verticalScrollbarValueChanged
+648 QAbstractItemView::horizontalScrollbarValueChanged
+656 QAbstractItemView::closeEditor
+664 QAbstractItemView::commitData
+672 QAbstractItemView::editorDestroyed
+680 QListView::moveCursor
+688 QListView::horizontalOffset
+696 QListView::verticalOffset
+704 QListView::isIndexHidden
+712 QListView::setSelection
+720 QListView::visualRegionForSelection
+728 QListView::selectedIndexes
+736 QAbstractItemView::edit
+744 QAbstractItemView::selectionCommand
+752 QListView::startDrag
+760 QListView::viewOptions
+768 (int (*)(...))-0x00000000000000010
+776 (int (*)(...))(& _ZTI9QUndoView)
+784 QUndoView::_ZThn16_N9QUndoViewD1Ev
+792 QUndoView::_ZThn16_N9QUndoViewD0Ev
+800 QWidget::_ZThn16_NK7QWidget7devTypeEv
+808 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+816 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QUndoView
+ size=40 align=8
+ base size=40 base align=8
+QUndoView (0x7f95532fb070) 0
+ vptr=((& QUndoView::_ZTV9QUndoView) + 16u)
+ QListView (0x7f95532fb0e0) 0
+ primary-for QUndoView (0x7f95532fb070)
+ QAbstractItemView (0x7f95532fb150) 0
+ primary-for QListView (0x7f95532fb0e0)
+ QAbstractScrollArea (0x7f95532fb1c0) 0
+ primary-for QAbstractItemView (0x7f95532fb150)
+ QFrame (0x7f95532fb230) 0
+ primary-for QAbstractScrollArea (0x7f95532fb1c0)
+ QWidget (0x7f95532f5500) 0
+ primary-for QFrame (0x7f95532fb230)
+ QObject (0x7f95532fb2a0) 0
+ primary-for QWidget (0x7f95532f5500)
+ QPaintDevice (0x7f95532fb310) 16
+ vptr=((& QUndoView::_ZTV9QUndoView) + 784u)
+
+Vtable for QDialog
+QDialog::_ZTV7QDialog: 66u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QDialog)
+16 QDialog::metaObject
+24 QDialog::qt_metacast
+32 QDialog::qt_metacall
+40 QDialog::~QDialog
+48 QDialog::~QDialog
+56 QWidget::event
+64 QDialog::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QDialog::setVisible
+128 QDialog::sizeHint
+136 QDialog::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QDialog::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QWidget::paintEvent
+256 QWidget::moveEvent
+264 QDialog::resizeEvent
+272 QDialog::closeEvent
+280 QDialog::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QDialog::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QWidget::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QDialog::done
+456 QDialog::accept
+464 QDialog::reject
+472 (int (*)(...))-0x00000000000000010
+480 (int (*)(...))(& _ZTI7QDialog)
+488 QDialog::_ZThn16_N7QDialogD1Ev
+496 QDialog::_ZThn16_N7QDialogD0Ev
+504 QWidget::_ZThn16_NK7QWidget7devTypeEv
+512 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+520 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QDialog
+ size=40 align=8
+ base size=40 base align=8
+QDialog (0x7f9553315d20) 0
+ vptr=((& QDialog::_ZTV7QDialog) + 16u)
+ QWidget (0x7f95532f5f00) 0
+ primary-for QDialog (0x7f9553315d20)
+ QObject (0x7f9553315d90) 0
+ primary-for QWidget (0x7f95532f5f00)
+ QPaintDevice (0x7f9553315e00) 16
+ vptr=((& QDialog::_ZTV7QDialog) + 488u)
+
+Vtable for QAbstractPageSetupDialog
+QAbstractPageSetupDialog::_ZTV24QAbstractPageSetupDialog: 67u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI24QAbstractPageSetupDialog)
+16 QAbstractPageSetupDialog::metaObject
+24 QAbstractPageSetupDialog::qt_metacast
+32 QAbstractPageSetupDialog::qt_metacall
+40 QAbstractPageSetupDialog::~QAbstractPageSetupDialog
+48 QAbstractPageSetupDialog::~QAbstractPageSetupDialog
+56 QWidget::event
+64 QDialog::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QDialog::setVisible
+128 QDialog::sizeHint
+136 QDialog::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QDialog::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QWidget::paintEvent
+256 QWidget::moveEvent
+264 QDialog::resizeEvent
+272 QDialog::closeEvent
+280 QDialog::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QDialog::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QWidget::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QAbstractPageSetupDialog::done
+456 QDialog::accept
+464 QDialog::reject
+472 __cxa_pure_virtual
+480 (int (*)(...))-0x00000000000000010
+488 (int (*)(...))(& _ZTI24QAbstractPageSetupDialog)
+496 QAbstractPageSetupDialog::_ZThn16_N24QAbstractPageSetupDialogD1Ev
+504 QAbstractPageSetupDialog::_ZThn16_N24QAbstractPageSetupDialogD0Ev
+512 QWidget::_ZThn16_NK7QWidget7devTypeEv
+520 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+528 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QAbstractPageSetupDialog
+ size=40 align=8
+ base size=40 base align=8
+QAbstractPageSetupDialog (0x7f955333ab60) 0
+ vptr=((& QAbstractPageSetupDialog::_ZTV24QAbstractPageSetupDialog) + 16u)
+ QDialog (0x7f955333abd0) 0
+ primary-for QAbstractPageSetupDialog (0x7f955333ab60)
+ QWidget (0x7f955331ba00) 0
+ primary-for QDialog (0x7f955333abd0)
+ QObject (0x7f955333ac40) 0
+ primary-for QWidget (0x7f955331ba00)
+ QPaintDevice (0x7f955333acb0) 16
+ vptr=((& QAbstractPageSetupDialog::_ZTV24QAbstractPageSetupDialog) + 496u)
+
+Vtable for QAbstractPrintDialog
+QAbstractPrintDialog::_ZTV20QAbstractPrintDialog: 67u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI20QAbstractPrintDialog)
+16 QAbstractPrintDialog::metaObject
+24 QAbstractPrintDialog::qt_metacast
+32 QAbstractPrintDialog::qt_metacall
+40 QAbstractPrintDialog::~QAbstractPrintDialog
+48 QAbstractPrintDialog::~QAbstractPrintDialog
+56 QWidget::event
+64 QDialog::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QDialog::setVisible
+128 QDialog::sizeHint
+136 QDialog::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QDialog::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QWidget::paintEvent
+256 QWidget::moveEvent
+264 QDialog::resizeEvent
+272 QDialog::closeEvent
+280 QDialog::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QDialog::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QWidget::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QDialog::done
+456 QDialog::accept
+464 QDialog::reject
+472 __cxa_pure_virtual
+480 (int (*)(...))-0x00000000000000010
+488 (int (*)(...))(& _ZTI20QAbstractPrintDialog)
+496 QAbstractPrintDialog::_ZThn16_N20QAbstractPrintDialogD1Ev
+504 QAbstractPrintDialog::_ZThn16_N20QAbstractPrintDialogD0Ev
+512 QWidget::_ZThn16_NK7QWidget7devTypeEv
+520 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+528 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QAbstractPrintDialog
+ size=40 align=8
+ base size=40 base align=8
+QAbstractPrintDialog (0x7f955335a150) 0
+ vptr=((& QAbstractPrintDialog::_ZTV20QAbstractPrintDialog) + 16u)
+ QDialog (0x7f955335a1c0) 0
+ primary-for QAbstractPrintDialog (0x7f955335a150)
+ QWidget (0x7f9553351400) 0
+ primary-for QDialog (0x7f955335a1c0)
+ QObject (0x7f955335a230) 0
+ primary-for QWidget (0x7f9553351400)
+ QPaintDevice (0x7f955335a2a0) 16
+ vptr=((& QAbstractPrintDialog::_ZTV20QAbstractPrintDialog) + 496u)
+
+Vtable for QColorDialog
+QColorDialog::_ZTV12QColorDialog: 66u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QColorDialog)
+16 QColorDialog::metaObject
+24 QColorDialog::qt_metacast
+32 QColorDialog::qt_metacall
+40 QColorDialog::~QColorDialog
+48 QColorDialog::~QColorDialog
+56 QWidget::event
+64 QDialog::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QColorDialog::setVisible
+128 QDialog::sizeHint
+136 QDialog::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QDialog::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QWidget::paintEvent
+256 QWidget::moveEvent
+264 QDialog::resizeEvent
+272 QDialog::closeEvent
+280 QDialog::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QDialog::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QColorDialog::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QColorDialog::done
+456 QDialog::accept
+464 QDialog::reject
+472 (int (*)(...))-0x00000000000000010
+480 (int (*)(...))(& _ZTI12QColorDialog)
+488 QColorDialog::_ZThn16_N12QColorDialogD1Ev
+496 QColorDialog::_ZThn16_N12QColorDialogD0Ev
+504 QWidget::_ZThn16_NK7QWidget7devTypeEv
+512 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+520 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QColorDialog
+ size=40 align=8
+ base size=40 base align=8
+QColorDialog (0x7f95533b6230) 0
+ vptr=((& QColorDialog::_ZTV12QColorDialog) + 16u)
+ QDialog (0x7f95533b62a0) 0
+ primary-for QColorDialog (0x7f95533b6230)
+ QWidget (0x7f9553377880) 0
+ primary-for QDialog (0x7f95533b62a0)
+ QObject (0x7f95533b6310) 0
+ primary-for QWidget (0x7f9553377880)
+ QPaintDevice (0x7f95533b6380) 16
+ vptr=((& QColorDialog::_ZTV12QColorDialog) + 488u)
+
+Vtable for QErrorMessage
+QErrorMessage::_ZTV13QErrorMessage: 66u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QErrorMessage)
+16 QErrorMessage::metaObject
+24 QErrorMessage::qt_metacast
+32 QErrorMessage::qt_metacall
+40 QErrorMessage::~QErrorMessage
+48 QErrorMessage::~QErrorMessage
+56 QWidget::event
+64 QDialog::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QDialog::setVisible
+128 QDialog::sizeHint
+136 QDialog::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QDialog::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QWidget::paintEvent
+256 QWidget::moveEvent
+264 QDialog::resizeEvent
+272 QDialog::closeEvent
+280 QDialog::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QDialog::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QErrorMessage::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QErrorMessage::done
+456 QDialog::accept
+464 QDialog::reject
+472 (int (*)(...))-0x00000000000000010
+480 (int (*)(...))(& _ZTI13QErrorMessage)
+488 QErrorMessage::_ZThn16_N13QErrorMessageD1Ev
+496 QErrorMessage::_ZThn16_N13QErrorMessageD0Ev
+504 QWidget::_ZThn16_NK7QWidget7devTypeEv
+512 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+520 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QErrorMessage
+ size=40 align=8
+ base size=40 base align=8
+QErrorMessage (0x7f95532165b0) 0
+ vptr=((& QErrorMessage::_ZTV13QErrorMessage) + 16u)
+ QDialog (0x7f9553216620) 0
+ primary-for QErrorMessage (0x7f95532165b0)
+ QWidget (0x7f95533dfc00) 0
+ primary-for QDialog (0x7f9553216620)
+ QObject (0x7f9553216690) 0
+ primary-for QWidget (0x7f95533dfc00)
+ QPaintDevice (0x7f9553216700) 16
+ vptr=((& QErrorMessage::_ZTV13QErrorMessage) + 488u)
+
+Vtable for QFileDialog
+QFileDialog::_ZTV11QFileDialog: 66u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QFileDialog)
+16 QFileDialog::metaObject
+24 QFileDialog::qt_metacast
+32 QFileDialog::qt_metacall
+40 QFileDialog::~QFileDialog
+48 QFileDialog::~QFileDialog
+56 QWidget::event
+64 QDialog::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QFileDialog::setVisible
+128 QDialog::sizeHint
+136 QDialog::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QDialog::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QWidget::paintEvent
+256 QWidget::moveEvent
+264 QDialog::resizeEvent
+272 QDialog::closeEvent
+280 QDialog::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QDialog::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QFileDialog::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QFileDialog::done
+456 QFileDialog::accept
+464 QDialog::reject
+472 (int (*)(...))-0x00000000000000010
+480 (int (*)(...))(& _ZTI11QFileDialog)
+488 QFileDialog::_ZThn16_N11QFileDialogD1Ev
+496 QFileDialog::_ZThn16_N11QFileDialogD0Ev
+504 QWidget::_ZThn16_NK7QWidget7devTypeEv
+512 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+520 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QFileDialog
+ size=40 align=8
+ base size=40 base align=8
+QFileDialog (0x7f95532331c0) 0
+ vptr=((& QFileDialog::_ZTV11QFileDialog) + 16u)
+ QDialog (0x7f9553233230) 0
+ primary-for QFileDialog (0x7f95532331c0)
+ QWidget (0x7f955322b780) 0
+ primary-for QDialog (0x7f9553233230)
+ QObject (0x7f95532332a0) 0
+ primary-for QWidget (0x7f955322b780)
+ QPaintDevice (0x7f9553233310) 16
+ vptr=((& QFileDialog::_ZTV11QFileDialog) + 488u)
+
+Vtable for QFileSystemModel
+QFileSystemModel::_ZTV16QFileSystemModel: 42u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QFileSystemModel)
+16 QFileSystemModel::metaObject
+24 QFileSystemModel::qt_metacast
+32 QFileSystemModel::qt_metacall
+40 QFileSystemModel::~QFileSystemModel
+48 QFileSystemModel::~QFileSystemModel
+56 QFileSystemModel::event
+64 QObject::eventFilter
+72 QFileSystemModel::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QFileSystemModel::index
+120 QFileSystemModel::parent
+128 QFileSystemModel::rowCount
+136 QFileSystemModel::columnCount
+144 QFileSystemModel::hasChildren
+152 QFileSystemModel::data
+160 QFileSystemModel::setData
+168 QFileSystemModel::headerData
+176 QAbstractItemModel::setHeaderData
+184 QAbstractItemModel::itemData
+192 QAbstractItemModel::setItemData
+200 QFileSystemModel::mimeTypes
+208 QFileSystemModel::mimeData
+216 QFileSystemModel::dropMimeData
+224 QFileSystemModel::supportedDropActions
+232 QAbstractItemModel::insertRows
+240 QAbstractItemModel::insertColumns
+248 QAbstractItemModel::removeRows
+256 QAbstractItemModel::removeColumns
+264 QFileSystemModel::fetchMore
+272 QFileSystemModel::canFetchMore
+280 QFileSystemModel::flags
+288 QFileSystemModel::sort
+296 QAbstractItemModel::buddy
+304 QAbstractItemModel::match
+312 QAbstractItemModel::span
+320 QAbstractItemModel::submit
+328 QAbstractItemModel::revert
+
+Class QFileSystemModel
+ size=16 align=8
+ base size=16 base align=8
+QFileSystemModel (0x7f95532af770) 0
+ vptr=((& QFileSystemModel::_ZTV16QFileSystemModel) + 16u)
+ QAbstractItemModel (0x7f95532af7e0) 0
+ primary-for QFileSystemModel (0x7f95532af770)
+ QObject (0x7f95532af850) 0
+ primary-for QAbstractItemModel (0x7f95532af7e0)
+
+Vtable for QFontDialog
+QFontDialog::_ZTV11QFontDialog: 66u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QFontDialog)
+16 QFontDialog::metaObject
+24 QFontDialog::qt_metacast
+32 QFontDialog::qt_metacall
+40 QFontDialog::~QFontDialog
+48 QFontDialog::~QFontDialog
+56 QWidget::event
+64 QFontDialog::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QFontDialog::setVisible
+128 QDialog::sizeHint
+136 QDialog::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QDialog::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QWidget::paintEvent
+256 QWidget::moveEvent
+264 QDialog::resizeEvent
+272 QDialog::closeEvent
+280 QDialog::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QDialog::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QFontDialog::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QFontDialog::done
+456 QDialog::accept
+464 QDialog::reject
+472 (int (*)(...))-0x00000000000000010
+480 (int (*)(...))(& _ZTI11QFontDialog)
+488 QFontDialog::_ZThn16_N11QFontDialogD1Ev
+496 QFontDialog::_ZThn16_N11QFontDialogD0Ev
+504 QWidget::_ZThn16_NK7QWidget7devTypeEv
+512 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+520 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QFontDialog
+ size=40 align=8
+ base size=40 base align=8
+QFontDialog (0x7f95530f2e70) 0
+ vptr=((& QFontDialog::_ZTV11QFontDialog) + 16u)
+ QDialog (0x7f95530f2ee0) 0
+ primary-for QFontDialog (0x7f95530f2e70)
+ QWidget (0x7f95530fc500) 0
+ primary-for QDialog (0x7f95530f2ee0)
+ QObject (0x7f95530f2f50) 0
+ primary-for QWidget (0x7f95530fc500)
+ QPaintDevice (0x7f9553101000) 16
+ vptr=((& QFontDialog::_ZTV11QFontDialog) + 488u)
+
+Vtable for QLineEdit
+QLineEdit::_ZTV9QLineEdit: 63u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QLineEdit)
+16 QLineEdit::metaObject
+24 QLineEdit::qt_metacast
+32 QLineEdit::qt_metacall
+40 QLineEdit::~QLineEdit
+48 QLineEdit::~QLineEdit
+56 QLineEdit::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QLineEdit::sizeHint
+136 QLineEdit::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QLineEdit::mousePressEvent
+168 QLineEdit::mouseReleaseEvent
+176 QLineEdit::mouseDoubleClickEvent
+184 QLineEdit::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QLineEdit::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QLineEdit::focusInEvent
+224 QLineEdit::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QLineEdit::paintEvent
+256 QWidget::moveEvent
+264 QWidget::resizeEvent
+272 QWidget::closeEvent
+280 QLineEdit::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QLineEdit::dragEnterEvent
+312 QLineEdit::dragMoveEvent
+320 QLineEdit::dragLeaveEvent
+328 QLineEdit::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QLineEdit::changeEvent
+368 QWidget::metric
+376 QLineEdit::inputMethodEvent
+384 QLineEdit::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 (int (*)(...))-0x00000000000000010
+456 (int (*)(...))(& _ZTI9QLineEdit)
+464 QLineEdit::_ZThn16_N9QLineEditD1Ev
+472 QLineEdit::_ZThn16_N9QLineEditD0Ev
+480 QWidget::_ZThn16_NK7QWidget7devTypeEv
+488 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+496 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QLineEdit
+ size=40 align=8
+ base size=40 base align=8
+QLineEdit (0x7f9553163310) 0
+ vptr=((& QLineEdit::_ZTV9QLineEdit) + 16u)
+ QWidget (0x7f9553126800) 0
+ primary-for QLineEdit (0x7f9553163310)
+ QObject (0x7f9553163380) 0
+ primary-for QWidget (0x7f9553126800)
+ QPaintDevice (0x7f95531633f0) 16
+ vptr=((& QLineEdit::_ZTV9QLineEdit) + 464u)
+
+Vtable for QInputDialog
+QInputDialog::_ZTV12QInputDialog: 66u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QInputDialog)
+16 QInputDialog::metaObject
+24 QInputDialog::qt_metacast
+32 QInputDialog::qt_metacall
+40 QInputDialog::~QInputDialog
+48 QInputDialog::~QInputDialog
+56 QWidget::event
+64 QDialog::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QInputDialog::setVisible
+128 QInputDialog::sizeHint
+136 QInputDialog::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QDialog::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QWidget::paintEvent
+256 QWidget::moveEvent
+264 QDialog::resizeEvent
+272 QDialog::closeEvent
+280 QDialog::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QDialog::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QWidget::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QInputDialog::done
+456 QDialog::accept
+464 QDialog::reject
+472 (int (*)(...))-0x00000000000000010
+480 (int (*)(...))(& _ZTI12QInputDialog)
+488 QInputDialog::_ZThn16_N12QInputDialogD1Ev
+496 QInputDialog::_ZThn16_N12QInputDialogD0Ev
+504 QWidget::_ZThn16_NK7QWidget7devTypeEv
+512 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+520 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QInputDialog
+ size=40 align=8
+ base size=40 base align=8
+QInputDialog (0x7f95531b5070) 0
+ vptr=((& QInputDialog::_ZTV12QInputDialog) + 16u)
+ QDialog (0x7f95531b50e0) 0
+ primary-for QInputDialog (0x7f95531b5070)
+ QWidget (0x7f95531ae780) 0
+ primary-for QDialog (0x7f95531b50e0)
+ QObject (0x7f95531b5150) 0
+ primary-for QWidget (0x7f95531ae780)
+ QPaintDevice (0x7f95531b51c0) 16
+ vptr=((& QInputDialog::_ZTV12QInputDialog) + 488u)
+
+Vtable for QMessageBox
+QMessageBox::_ZTV11QMessageBox: 66u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QMessageBox)
+16 QMessageBox::metaObject
+24 QMessageBox::qt_metacast
+32 QMessageBox::qt_metacall
+40 QMessageBox::~QMessageBox
+48 QMessageBox::~QMessageBox
+56 QMessageBox::event
+64 QDialog::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QDialog::setVisible
+128 QMessageBox::sizeHint
+136 QDialog::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QMessageBox::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QWidget::paintEvent
+256 QWidget::moveEvent
+264 QMessageBox::resizeEvent
+272 QMessageBox::closeEvent
+280 QDialog::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QMessageBox::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QMessageBox::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QDialog::done
+456 QDialog::accept
+464 QDialog::reject
+472 (int (*)(...))-0x00000000000000010
+480 (int (*)(...))(& _ZTI11QMessageBox)
+488 QMessageBox::_ZThn16_N11QMessageBoxD1Ev
+496 QMessageBox::_ZThn16_N11QMessageBoxD0Ev
+504 QWidget::_ZThn16_NK7QWidget7devTypeEv
+512 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+520 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QMessageBox
+ size=40 align=8
+ base size=40 base align=8
+QMessageBox (0x7f9553012ee0) 0
+ vptr=((& QMessageBox::_ZTV11QMessageBox) + 16u)
+ QDialog (0x7f9553012f50) 0
+ primary-for QMessageBox (0x7f9553012ee0)
+ QWidget (0x7f955302b100) 0
+ primary-for QDialog (0x7f9553012f50)
+ QObject (0x7f955302c000) 0
+ primary-for QWidget (0x7f955302b100)
+ QPaintDevice (0x7f955302c070) 16
+ vptr=((& QMessageBox::_ZTV11QMessageBox) + 488u)
+
+Vtable for QPageSetupDialog
+QPageSetupDialog::_ZTV16QPageSetupDialog: 67u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QPageSetupDialog)
+16 QPageSetupDialog::metaObject
+24 QPageSetupDialog::qt_metacast
+32 QPageSetupDialog::qt_metacall
+40 QPageSetupDialog::~QPageSetupDialog
+48 QPageSetupDialog::~QPageSetupDialog
+56 QWidget::event
+64 QDialog::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QDialog::setVisible
+128 QDialog::sizeHint
+136 QDialog::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QDialog::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QWidget::paintEvent
+256 QWidget::moveEvent
+264 QDialog::resizeEvent
+272 QDialog::closeEvent
+280 QDialog::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QDialog::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QWidget::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QAbstractPageSetupDialog::done
+456 QDialog::accept
+464 QDialog::reject
+472 QPageSetupDialog::exec
+480 (int (*)(...))-0x00000000000000010
+488 (int (*)(...))(& _ZTI16QPageSetupDialog)
+496 QPageSetupDialog::_ZThn16_N16QPageSetupDialogD1Ev
+504 QPageSetupDialog::_ZThn16_N16QPageSetupDialogD0Ev
+512 QWidget::_ZThn16_NK7QWidget7devTypeEv
+520 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+528 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QPageSetupDialog
+ size=40 align=8
+ base size=40 base align=8
+QPageSetupDialog (0x7f95530ad850) 0
+ vptr=((& QPageSetupDialog::_ZTV16QPageSetupDialog) + 16u)
+ QAbstractPageSetupDialog (0x7f95530ad8c0) 0
+ primary-for QPageSetupDialog (0x7f95530ad850)
+ QDialog (0x7f95530ad930) 0
+ primary-for QAbstractPageSetupDialog (0x7f95530ad8c0)
+ QWidget (0x7f9553092800) 0
+ primary-for QDialog (0x7f95530ad930)
+ QObject (0x7f95530ad9a0) 0
+ primary-for QWidget (0x7f9553092800)
+ QPaintDevice (0x7f95530ada10) 16
+ vptr=((& QPageSetupDialog::_ZTV16QPageSetupDialog) + 496u)
+
+Vtable for QUnixPrintWidget
+QUnixPrintWidget::_ZTV16QUnixPrintWidget: 63u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QUnixPrintWidget)
+16 QUnixPrintWidget::metaObject
+24 QUnixPrintWidget::qt_metacast
+32 QUnixPrintWidget::qt_metacall
+40 QUnixPrintWidget::~QUnixPrintWidget
+48 QUnixPrintWidget::~QUnixPrintWidget
+56 QWidget::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QWidget::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QWidget::paintEvent
+256 QWidget::moveEvent
+264 QWidget::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QWidget::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 (int (*)(...))-0x00000000000000010
+456 (int (*)(...))(& _ZTI16QUnixPrintWidget)
+464 QUnixPrintWidget::_ZThn16_N16QUnixPrintWidgetD1Ev
+472 QUnixPrintWidget::_ZThn16_N16QUnixPrintWidgetD0Ev
+480 QWidget::_ZThn16_NK7QWidget7devTypeEv
+488 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+496 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QUnixPrintWidget
+ size=48 align=8
+ base size=48 base align=8
+QUnixPrintWidget (0x7f95530e17e0) 0
+ vptr=((& QUnixPrintWidget::_ZTV16QUnixPrintWidget) + 16u)
+ QWidget (0x7f95530e0380) 0
+ primary-for QUnixPrintWidget (0x7f95530e17e0)
+ QObject (0x7f95530e1850) 0
+ primary-for QWidget (0x7f95530e0380)
+ QPaintDevice (0x7f95530e18c0) 16
+ vptr=((& QUnixPrintWidget::_ZTV16QUnixPrintWidget) + 464u)
+
+Vtable for QPrintDialog
+QPrintDialog::_ZTV12QPrintDialog: 67u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QPrintDialog)
+16 QPrintDialog::metaObject
+24 QPrintDialog::qt_metacast
+32 QPrintDialog::qt_metacall
+40 QPrintDialog::~QPrintDialog
+48 QPrintDialog::~QPrintDialog
+56 QWidget::event
+64 QDialog::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QPrintDialog::setVisible
+128 QDialog::sizeHint
+136 QDialog::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QDialog::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QWidget::paintEvent
+256 QWidget::moveEvent
+264 QDialog::resizeEvent
+272 QDialog::closeEvent
+280 QDialog::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QDialog::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QWidget::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QPrintDialog::done
+456 QPrintDialog::accept
+464 QDialog::reject
+472 QPrintDialog::exec
+480 (int (*)(...))-0x00000000000000010
+488 (int (*)(...))(& _ZTI12QPrintDialog)
+496 QPrintDialog::_ZThn16_N12QPrintDialogD1Ev
+504 QPrintDialog::_ZThn16_N12QPrintDialogD0Ev
+512 QWidget::_ZThn16_NK7QWidget7devTypeEv
+520 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+528 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QPrintDialog
+ size=40 align=8
+ base size=40 base align=8
+QPrintDialog (0x7f9552ef8700) 0
+ vptr=((& QPrintDialog::_ZTV12QPrintDialog) + 16u)
+ QAbstractPrintDialog (0x7f9552ef8770) 0
+ primary-for QPrintDialog (0x7f9552ef8700)
+ QDialog (0x7f9552ef87e0) 0
+ primary-for QAbstractPrintDialog (0x7f9552ef8770)
+ QWidget (0x7f95530e0a80) 0
+ primary-for QDialog (0x7f9552ef87e0)
+ QObject (0x7f9552ef8850) 0
+ primary-for QWidget (0x7f95530e0a80)
+ QPaintDevice (0x7f9552ef88c0) 16
+ vptr=((& QPrintDialog::_ZTV12QPrintDialog) + 496u)
+
+Vtable for QPrintPreviewDialog
+QPrintPreviewDialog::_ZTV19QPrintPreviewDialog: 66u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QPrintPreviewDialog)
+16 QPrintPreviewDialog::metaObject
+24 QPrintPreviewDialog::qt_metacast
+32 QPrintPreviewDialog::qt_metacall
+40 QPrintPreviewDialog::~QPrintPreviewDialog
+48 QPrintPreviewDialog::~QPrintPreviewDialog
+56 QWidget::event
+64 QDialog::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QPrintPreviewDialog::setVisible
+128 QDialog::sizeHint
+136 QDialog::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QDialog::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QWidget::paintEvent
+256 QWidget::moveEvent
+264 QDialog::resizeEvent
+272 QDialog::closeEvent
+280 QDialog::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QDialog::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QWidget::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QPrintPreviewDialog::done
+456 QDialog::accept
+464 QDialog::reject
+472 (int (*)(...))-0x00000000000000010
+480 (int (*)(...))(& _ZTI19QPrintPreviewDialog)
+488 QPrintPreviewDialog::_ZThn16_N19QPrintPreviewDialogD1Ev
+496 QPrintPreviewDialog::_ZThn16_N19QPrintPreviewDialogD0Ev
+504 QWidget::_ZThn16_NK7QWidget7devTypeEv
+512 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+520 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QPrintPreviewDialog
+ size=48 align=8
+ base size=48 base align=8
+QPrintPreviewDialog (0x7f9552f162a0) 0
+ vptr=((& QPrintPreviewDialog::_ZTV19QPrintPreviewDialog) + 16u)
+ QDialog (0x7f9552f16310) 0
+ primary-for QPrintPreviewDialog (0x7f9552f162a0)
+ QWidget (0x7f9552f10480) 0
+ primary-for QDialog (0x7f9552f16310)
+ QObject (0x7f9552f16380) 0
+ primary-for QWidget (0x7f9552f10480)
+ QPaintDevice (0x7f9552f163f0) 16
+ vptr=((& QPrintPreviewDialog::_ZTV19QPrintPreviewDialog) + 488u)
+
+Vtable for QProgressDialog
+QProgressDialog::_ZTV15QProgressDialog: 66u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QProgressDialog)
+16 QProgressDialog::metaObject
+24 QProgressDialog::qt_metacast
+32 QProgressDialog::qt_metacall
+40 QProgressDialog::~QProgressDialog
+48 QProgressDialog::~QProgressDialog
+56 QWidget::event
+64 QDialog::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QDialog::setVisible
+128 QProgressDialog::sizeHint
+136 QDialog::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QDialog::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QWidget::paintEvent
+256 QWidget::moveEvent
+264 QProgressDialog::resizeEvent
+272 QProgressDialog::closeEvent
+280 QDialog::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QProgressDialog::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QProgressDialog::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QDialog::done
+456 QDialog::accept
+464 QDialog::reject
+472 (int (*)(...))-0x00000000000000010
+480 (int (*)(...))(& _ZTI15QProgressDialog)
+488 QProgressDialog::_ZThn16_N15QProgressDialogD1Ev
+496 QProgressDialog::_ZThn16_N15QProgressDialogD0Ev
+504 QWidget::_ZThn16_NK7QWidget7devTypeEv
+512 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+520 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QProgressDialog
+ size=40 align=8
+ base size=40 base align=8
+QProgressDialog (0x7f9552f2da10) 0
+ vptr=((& QProgressDialog::_ZTV15QProgressDialog) + 16u)
+ QDialog (0x7f9552f2da80) 0
+ primary-for QProgressDialog (0x7f9552f2da10)
+ QWidget (0x7f9552f10e80) 0
+ primary-for QDialog (0x7f9552f2da80)
+ QObject (0x7f9552f2daf0) 0
+ primary-for QWidget (0x7f9552f10e80)
+ QPaintDevice (0x7f9552f2db60) 16
+ vptr=((& QProgressDialog::_ZTV15QProgressDialog) + 488u)
+
+Vtable for QWizard
+QWizard::_ZTV7QWizard: 70u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QWizard)
+16 QWizard::metaObject
+24 QWizard::qt_metacast
+32 QWizard::qt_metacall
+40 QWizard::~QWizard
+48 QWizard::~QWizard
+56 QWizard::event
+64 QDialog::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWizard::setVisible
+128 QWizard::sizeHint
+136 QDialog::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QDialog::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QWizard::paintEvent
+256 QWidget::moveEvent
+264 QWizard::resizeEvent
+272 QDialog::closeEvent
+280 QDialog::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QDialog::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QWidget::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QWizard::done
+456 QDialog::accept
+464 QDialog::reject
+472 QWizard::validateCurrentPage
+480 QWizard::nextId
+488 QWizard::initializePage
+496 QWizard::cleanupPage
+504 (int (*)(...))-0x00000000000000010
+512 (int (*)(...))(& _ZTI7QWizard)
+520 QWizard::_ZThn16_N7QWizardD1Ev
+528 QWizard::_ZThn16_N7QWizardD0Ev
+536 QWidget::_ZThn16_NK7QWidget7devTypeEv
+544 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+552 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QWizard
+ size=40 align=8
+ base size=40 base align=8
+QWizard (0x7f9552f53620) 0
+ vptr=((& QWizard::_ZTV7QWizard) + 16u)
+ QDialog (0x7f9552f53690) 0
+ primary-for QWizard (0x7f9552f53620)
+ QWidget (0x7f9552f4d880) 0
+ primary-for QDialog (0x7f9552f53690)
+ QObject (0x7f9552f53700) 0
+ primary-for QWidget (0x7f9552f4d880)
+ QPaintDevice (0x7f9552f53770) 16
+ vptr=((& QWizard::_ZTV7QWizard) + 520u)
+
+Vtable for QWizardPage
+QWizardPage::_ZTV11QWizardPage: 68u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QWizardPage)
+16 QWizardPage::metaObject
+24 QWizardPage::qt_metacast
+32 QWizardPage::qt_metacall
+40 QWizardPage::~QWizardPage
+48 QWizardPage::~QWizardPage
+56 QWidget::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QWidget::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QWidget::paintEvent
+256 QWidget::moveEvent
+264 QWidget::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QWidget::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QWizardPage::initializePage
+456 QWizardPage::cleanupPage
+464 QWizardPage::validatePage
+472 QWizardPage::isComplete
+480 QWizardPage::nextId
+488 (int (*)(...))-0x00000000000000010
+496 (int (*)(...))(& _ZTI11QWizardPage)
+504 QWizardPage::_ZThn16_N11QWizardPageD1Ev
+512 QWizardPage::_ZThn16_N11QWizardPageD0Ev
+520 QWidget::_ZThn16_NK7QWidget7devTypeEv
+528 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+536 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QWizardPage
+ size=40 align=8
+ base size=40 base align=8
+QWizardPage (0x7f9552faa9a0) 0
+ vptr=((& QWizardPage::_ZTV11QWizardPage) + 16u)
+ QWidget (0x7f9552f7fb80) 0
+ primary-for QWizardPage (0x7f9552faa9a0)
+ QObject (0x7f9552faaa10) 0
+ primary-for QWidget (0x7f9552f7fb80)
+ QPaintDevice (0x7f9552faaa80) 16
+ vptr=((& QWizardPage::_ZTV11QWizardPage) + 504u)
+
+Vtable for QKeyEventTransition
+QKeyEventTransition::_ZTV19QKeyEventTransition: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QKeyEventTransition)
+16 QKeyEventTransition::metaObject
+24 QKeyEventTransition::qt_metacast
+32 QKeyEventTransition::qt_metacall
+40 QKeyEventTransition::~QKeyEventTransition
+48 QKeyEventTransition::~QKeyEventTransition
+56 QEventTransition::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QKeyEventTransition::eventTest
+120 QKeyEventTransition::onTransition
+
+Class QKeyEventTransition
+ size=16 align=8
+ base size=16 base align=8
+QKeyEventTransition (0x7f9552fe34d0) 0
+ vptr=((& QKeyEventTransition::_ZTV19QKeyEventTransition) + 16u)
+ QEventTransition (0x7f9552fe3540) 0
+ primary-for QKeyEventTransition (0x7f9552fe34d0)
+ QAbstractTransition (0x7f9552fe35b0) 0
+ primary-for QEventTransition (0x7f9552fe3540)
+ QObject (0x7f9552fe3620) 0
+ primary-for QAbstractTransition (0x7f9552fe35b0)
+
+Vtable for QMouseEventTransition
+QMouseEventTransition::_ZTV21QMouseEventTransition: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI21QMouseEventTransition)
+16 QMouseEventTransition::metaObject
+24 QMouseEventTransition::qt_metacast
+32 QMouseEventTransition::qt_metacall
+40 QMouseEventTransition::~QMouseEventTransition
+48 QMouseEventTransition::~QMouseEventTransition
+56 QEventTransition::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QMouseEventTransition::eventTest
+120 QMouseEventTransition::onTransition
+
+Class QMouseEventTransition
+ size=16 align=8
+ base size=16 base align=8
+QMouseEventTransition (0x7f9552df6f50) 0
+ vptr=((& QMouseEventTransition::_ZTV21QMouseEventTransition) + 16u)
+ QEventTransition (0x7f9552dfd000) 0
+ primary-for QMouseEventTransition (0x7f9552df6f50)
+ QAbstractTransition (0x7f9552dfd070) 0
+ primary-for QEventTransition (0x7f9552dfd000)
+ QObject (0x7f9552dfd0e0) 0
+ primary-for QAbstractTransition (0x7f9552dfd070)
+
+Vtable for QBitmap
+QBitmap::_ZTV7QBitmap: 7u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QBitmap)
+16 QBitmap::~QBitmap
+24 QBitmap::~QBitmap
+32 QPixmap::devType
+40 QPixmap::paintEngine
+48 QPixmap::metric
+
+Class QBitmap
+ size=24 align=8
+ base size=24 base align=8
+QBitmap (0x7f9552e13a10) 0
+ vptr=((& QBitmap::_ZTV7QBitmap) + 16u)
+ QPixmap (0x7f9552e13a80) 0
+ primary-for QBitmap (0x7f9552e13a10)
+ QPaintDevice (0x7f9552e13af0) 0
+ primary-for QPixmap (0x7f9552e13a80)
+
+Vtable for QIconEngine
+QIconEngine::_ZTV11QIconEngine: 9u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QIconEngine)
+16 QIconEngine::~QIconEngine
+24 QIconEngine::~QIconEngine
+32 __cxa_pure_virtual
+40 QIconEngine::actualSize
+48 QIconEngine::pixmap
+56 QIconEngine::addPixmap
+64 QIconEngine::addFile
+
+Class QIconEngine
+ size=8 align=8
+ base size=8 base align=8
+QIconEngine (0x7f9552e458c0) 0 nearly-empty
+ vptr=((& QIconEngine::_ZTV11QIconEngine) + 16u)
+
+Class QIconEngineV2::AvailableSizesArgument
+ size=16 align=8
+ base size=16 base align=8
+QIconEngineV2::AvailableSizesArgument (0x7f9552e51070) 0
+
+Vtable for QIconEngineV2
+QIconEngineV2::_ZTV13QIconEngineV2: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QIconEngineV2)
+16 QIconEngineV2::~QIconEngineV2
+24 QIconEngineV2::~QIconEngineV2
+32 __cxa_pure_virtual
+40 QIconEngine::actualSize
+48 QIconEngine::pixmap
+56 QIconEngine::addPixmap
+64 QIconEngine::addFile
+72 QIconEngineV2::key
+80 QIconEngineV2::clone
+88 QIconEngineV2::read
+96 QIconEngineV2::write
+104 QIconEngineV2::virtual_hook
+
+Class QIconEngineV2
+ size=8 align=8
+ base size=8 base align=8
+QIconEngineV2 (0x7f9552e45e70) 0 nearly-empty
+ vptr=((& QIconEngineV2::_ZTV13QIconEngineV2) + 16u)
+ QIconEngine (0x7f9552e45ee0) 0 nearly-empty
+ primary-for QIconEngineV2 (0x7f9552e45e70)
+
+Vtable for QIconEngineFactoryInterface
+QIconEngineFactoryInterface::_ZTV27QIconEngineFactoryInterface: 6u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI27QIconEngineFactoryInterface)
+16 QIconEngineFactoryInterface::~QIconEngineFactoryInterface
+24 QIconEngineFactoryInterface::~QIconEngineFactoryInterface
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+
+Class QIconEngineFactoryInterface
+ size=8 align=8
+ base size=8 base align=8
+QIconEngineFactoryInterface (0x7f9552e51850) 0 nearly-empty
+ vptr=((& QIconEngineFactoryInterface::_ZTV27QIconEngineFactoryInterface) + 16u)
+ QFactoryInterface (0x7f9552e518c0) 0 nearly-empty
+ primary-for QIconEngineFactoryInterface (0x7f9552e51850)
+
+Vtable for QIconEnginePlugin
+QIconEnginePlugin::_ZTV17QIconEnginePlugin: 22u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QIconEnginePlugin)
+16 QIconEnginePlugin::metaObject
+24 QIconEnginePlugin::qt_metacast
+32 QIconEnginePlugin::qt_metacall
+40 QIconEnginePlugin::~QIconEnginePlugin
+48 QIconEnginePlugin::~QIconEnginePlugin
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 (int (*)(...))-0x00000000000000010
+136 (int (*)(...))(& _ZTI17QIconEnginePlugin)
+144 QIconEnginePlugin::_ZThn16_N17QIconEnginePluginD1Ev
+152 QIconEnginePlugin::_ZThn16_N17QIconEnginePluginD0Ev
+160 __cxa_pure_virtual
+168 __cxa_pure_virtual
+
+Class QIconEnginePlugin
+ size=24 align=8
+ base size=24 base align=8
+QIconEnginePlugin (0x7f9552e4bf80) 0
+ vptr=((& QIconEnginePlugin::_ZTV17QIconEnginePlugin) + 16u)
+ QObject (0x7f9552e851c0) 0
+ primary-for QIconEnginePlugin (0x7f9552e4bf80)
+ QIconEngineFactoryInterface (0x7f9552e85230) 16 nearly-empty
+ vptr=((& QIconEnginePlugin::_ZTV17QIconEnginePlugin) + 144u)
+ QFactoryInterface (0x7f9552e852a0) 16 nearly-empty
+ primary-for QIconEngineFactoryInterface (0x7f9552e85230)
+
+Vtable for QIconEngineFactoryInterfaceV2
+QIconEngineFactoryInterfaceV2::_ZTV29QIconEngineFactoryInterfaceV2: 6u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI29QIconEngineFactoryInterfaceV2)
+16 QIconEngineFactoryInterfaceV2::~QIconEngineFactoryInterfaceV2
+24 QIconEngineFactoryInterfaceV2::~QIconEngineFactoryInterfaceV2
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+
+Class QIconEngineFactoryInterfaceV2
+ size=8 align=8
+ base size=8 base align=8
+QIconEngineFactoryInterfaceV2 (0x7f9552e99150) 0 nearly-empty
+ vptr=((& QIconEngineFactoryInterfaceV2::_ZTV29QIconEngineFactoryInterfaceV2) + 16u)
+ QFactoryInterface (0x7f9552e991c0) 0 nearly-empty
+ primary-for QIconEngineFactoryInterfaceV2 (0x7f9552e99150)
+
+Vtable for QIconEnginePluginV2
+QIconEnginePluginV2::_ZTV19QIconEnginePluginV2: 22u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QIconEnginePluginV2)
+16 QIconEnginePluginV2::metaObject
+24 QIconEnginePluginV2::qt_metacast
+32 QIconEnginePluginV2::qt_metacall
+40 QIconEnginePluginV2::~QIconEnginePluginV2
+48 QIconEnginePluginV2::~QIconEnginePluginV2
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 (int (*)(...))-0x00000000000000010
+136 (int (*)(...))(& _ZTI19QIconEnginePluginV2)
+144 QIconEnginePluginV2::_ZThn16_N19QIconEnginePluginV2D1Ev
+152 QIconEnginePluginV2::_ZThn16_N19QIconEnginePluginV2D0Ev
+160 __cxa_pure_virtual
+168 __cxa_pure_virtual
+
+Class QIconEnginePluginV2
+ size=24 align=8
+ base size=24 base align=8
+QIconEnginePluginV2 (0x7f9552ea3000) 0
+ vptr=((& QIconEnginePluginV2::_ZTV19QIconEnginePluginV2) + 16u)
+ QObject (0x7f9552e99c40) 0
+ primary-for QIconEnginePluginV2 (0x7f9552ea3000)
+ QIconEngineFactoryInterfaceV2 (0x7f9552e99cb0) 16 nearly-empty
+ vptr=((& QIconEnginePluginV2::_ZTV19QIconEnginePluginV2) + 144u)
+ QFactoryInterface (0x7f9552e99d20) 16 nearly-empty
+ primary-for QIconEngineFactoryInterfaceV2 (0x7f9552e99cb0)
+
+Vtable for QImageIOHandler
+QImageIOHandler::_ZTV15QImageIOHandler: 18u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QImageIOHandler)
+16 QImageIOHandler::~QImageIOHandler
+24 QImageIOHandler::~QImageIOHandler
+32 QImageIOHandler::name
+40 __cxa_pure_virtual
+48 __cxa_pure_virtual
+56 QImageIOHandler::write
+64 QImageIOHandler::option
+72 QImageIOHandler::setOption
+80 QImageIOHandler::supportsOption
+88 QImageIOHandler::jumpToNextImage
+96 QImageIOHandler::jumpToImage
+104 QImageIOHandler::loopCount
+112 QImageIOHandler::imageCount
+120 QImageIOHandler::nextImageDelay
+128 QImageIOHandler::currentImageNumber
+136 QImageIOHandler::currentImageRect
+
+Class QImageIOHandler
+ size=16 align=8
+ base size=16 base align=8
+QImageIOHandler (0x7f9552eabbd0) 0
+ vptr=((& QImageIOHandler::_ZTV15QImageIOHandler) + 16u)
+
+Vtable for QImageIOHandlerFactoryInterface
+QImageIOHandlerFactoryInterface::_ZTV31QImageIOHandlerFactoryInterface: 6u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI31QImageIOHandlerFactoryInterface)
+16 QImageIOHandlerFactoryInterface::~QImageIOHandlerFactoryInterface
+24 QImageIOHandlerFactoryInterface::~QImageIOHandlerFactoryInterface
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+
+Class QImageIOHandlerFactoryInterface
+ size=8 align=8
+ base size=8 base align=8
+QImageIOHandlerFactoryInterface (0x7f9552ec89a0) 0 nearly-empty
+ vptr=((& QImageIOHandlerFactoryInterface::_ZTV31QImageIOHandlerFactoryInterface) + 16u)
+ QFactoryInterface (0x7f9552ec8a10) 0 nearly-empty
+ primary-for QImageIOHandlerFactoryInterface (0x7f9552ec89a0)
+
+Vtable for QImageIOPlugin
+QImageIOPlugin::_ZTV14QImageIOPlugin: 23u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QImageIOPlugin)
+16 QImageIOPlugin::metaObject
+24 QImageIOPlugin::qt_metacast
+32 QImageIOPlugin::qt_metacall
+40 QImageIOPlugin::~QImageIOPlugin
+48 QImageIOPlugin::~QImageIOPlugin
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 __cxa_pure_virtual
+136 (int (*)(...))-0x00000000000000010
+144 (int (*)(...))(& _ZTI14QImageIOPlugin)
+152 QImageIOPlugin::_ZThn16_N14QImageIOPluginD1Ev
+160 QImageIOPlugin::_ZThn16_N14QImageIOPluginD0Ev
+168 __cxa_pure_virtual
+176 __cxa_pure_virtual
+
+Class QImageIOPlugin
+ size=24 align=8
+ base size=24 base align=8
+QImageIOPlugin (0x7f9552ecec00) 0
+ vptr=((& QImageIOPlugin::_ZTV14QImageIOPlugin) + 16u)
+ QObject (0x7f9552ed83f0) 0
+ primary-for QImageIOPlugin (0x7f9552ecec00)
+ QImageIOHandlerFactoryInterface (0x7f9552ed8460) 16 nearly-empty
+ vptr=((& QImageIOPlugin::_ZTV14QImageIOPlugin) + 152u)
+ QFactoryInterface (0x7f9552ed84d0) 16 nearly-empty
+ primary-for QImageIOHandlerFactoryInterface (0x7f9552ed8460)
+
+Class QImageReader
+ size=8 align=8
+ base size=8 base align=8
+QImageReader (0x7f9552d2d4d0) 0
+
+Class QImageWriter
+ size=8 align=8
+ base size=8 base align=8
+QImageWriter (0x7f9552d2dee0) 0
+
+Vtable for QMovie
+QMovie::_ZTV6QMovie: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI6QMovie)
+16 QMovie::metaObject
+24 QMovie::qt_metacast
+32 QMovie::qt_metacall
+40 QMovie::~QMovie
+48 QMovie::~QMovie
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QMovie
+ size=16 align=8
+ base size=16 base align=8
+QMovie (0x7f9552d43770) 0
+ vptr=((& QMovie::_ZTV6QMovie) + 16u)
+ QObject (0x7f9552d437e0) 0
+ primary-for QMovie (0x7f9552d43770)
+
+Vtable for QPicture
+QPicture::_ZTV8QPicture: 8u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI8QPicture)
+16 QPicture::~QPicture
+24 QPicture::~QPicture
+32 QPicture::devType
+40 QPicture::paintEngine
+48 QPicture::metric
+56 QPicture::setData
+
+Class QPicture
+ size=24 align=8
+ base size=24 base align=8
+QPicture (0x7f9552d887e0) 0
+ vptr=((& QPicture::_ZTV8QPicture) + 16u)
+ QPaintDevice (0x7f9552d88850) 0
+ primary-for QPicture (0x7f9552d887e0)
+
+Class QPictureIO
+ size=8 align=8
+ base size=8 base align=8
+QPictureIO (0x7f9552dab310) 0
+
+Vtable for QPictureFormatInterface
+QPictureFormatInterface::_ZTV23QPictureFormatInterface: 8u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI23QPictureFormatInterface)
+16 QPictureFormatInterface::~QPictureFormatInterface
+24 QPictureFormatInterface::~QPictureFormatInterface
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+48 __cxa_pure_virtual
+56 __cxa_pure_virtual
+
+Class QPictureFormatInterface
+ size=8 align=8
+ base size=8 base align=8
+QPictureFormatInterface (0x7f9552dab930) 0 nearly-empty
+ vptr=((& QPictureFormatInterface::_ZTV23QPictureFormatInterface) + 16u)
+ QFactoryInterface (0x7f9552dab9a0) 0 nearly-empty
+ primary-for QPictureFormatInterface (0x7f9552dab930)
+
+Vtable for QPictureFormatPlugin
+QPictureFormatPlugin::_ZTV20QPictureFormatPlugin: 26u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI20QPictureFormatPlugin)
+16 QPictureFormatPlugin::metaObject
+24 QPictureFormatPlugin::qt_metacast
+32 QPictureFormatPlugin::qt_metacall
+40 QPictureFormatPlugin::~QPictureFormatPlugin
+48 QPictureFormatPlugin::~QPictureFormatPlugin
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+120 QPictureFormatPlugin::loadPicture
+128 QPictureFormatPlugin::savePicture
+136 __cxa_pure_virtual
+144 (int (*)(...))-0x00000000000000010
+152 (int (*)(...))(& _ZTI20QPictureFormatPlugin)
+160 QPictureFormatPlugin::_ZThn16_N20QPictureFormatPluginD1Ev
+168 QPictureFormatPlugin::_ZThn16_N20QPictureFormatPluginD0Ev
+176 __cxa_pure_virtual
+184 QPictureFormatPlugin::_ZThn16_N20QPictureFormatPlugin11loadPictureERK7QStringS2_P8QPicture
+192 QPictureFormatPlugin::_ZThn16_N20QPictureFormatPlugin11savePictureERK7QStringS2_RK8QPicture
+200 __cxa_pure_virtual
+
+Class QPictureFormatPlugin
+ size=24 align=8
+ base size=24 base align=8
+QPictureFormatPlugin (0x7f9552dc6300) 0
+ vptr=((& QPictureFormatPlugin::_ZTV20QPictureFormatPlugin) + 16u)
+ QObject (0x7f9552dc7310) 0
+ primary-for QPictureFormatPlugin (0x7f9552dc6300)
+ QPictureFormatInterface (0x7f9552dc7380) 16 nearly-empty
+ vptr=((& QPictureFormatPlugin::_ZTV20QPictureFormatPlugin) + 160u)
+ QFactoryInterface (0x7f9552dc73f0) 16 nearly-empty
+ primary-for QPictureFormatInterface (0x7f9552dc7380)
+
+Class QPixmapCache::Key
+ size=8 align=8
+ base size=8 base align=8
+QPixmapCache::Key (0x7f9552dd8310) 0
+
+Class QPixmapCache
+ size=1 align=1
+ base size=0 base align=1
+QPixmapCache (0x7f9552dd82a0) 0 empty
+
+Vtable for QGraphicsEffect
+QGraphicsEffect::_ZTV15QGraphicsEffect: 17u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QGraphicsEffect)
+16 QGraphicsEffect::metaObject
+24 QGraphicsEffect::qt_metacast
+32 QGraphicsEffect::qt_metacall
+40 QGraphicsEffect::~QGraphicsEffect
+48 QGraphicsEffect::~QGraphicsEffect
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QGraphicsEffect::boundingRectFor
+120 __cxa_pure_virtual
+128 QGraphicsEffect::sourceChanged
+
+Class QGraphicsEffect
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsEffect (0x7f9552de0150) 0
+ vptr=((& QGraphicsEffect::_ZTV15QGraphicsEffect) + 16u)
+ QObject (0x7f9552de01c0) 0
+ primary-for QGraphicsEffect (0x7f9552de0150)
+
+Vtable for QGraphicsColorizeEffect
+QGraphicsColorizeEffect::_ZTV23QGraphicsColorizeEffect: 17u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI23QGraphicsColorizeEffect)
+16 QGraphicsColorizeEffect::metaObject
+24 QGraphicsColorizeEffect::qt_metacast
+32 QGraphicsColorizeEffect::qt_metacall
+40 QGraphicsColorizeEffect::~QGraphicsColorizeEffect
+48 QGraphicsColorizeEffect::~QGraphicsColorizeEffect
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QGraphicsEffect::boundingRectFor
+120 QGraphicsColorizeEffect::draw
+128 QGraphicsEffect::sourceChanged
+
+Class QGraphicsColorizeEffect
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsColorizeEffect (0x7f9552c27c40) 0
+ vptr=((& QGraphicsColorizeEffect::_ZTV23QGraphicsColorizeEffect) + 16u)
+ QGraphicsEffect (0x7f9552c27cb0) 0
+ primary-for QGraphicsColorizeEffect (0x7f9552c27c40)
+ QObject (0x7f9552c27d20) 0
+ primary-for QGraphicsEffect (0x7f9552c27cb0)
+
+Vtable for QGraphicsBlurEffect
+QGraphicsBlurEffect::_ZTV19QGraphicsBlurEffect: 17u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QGraphicsBlurEffect)
+16 QGraphicsBlurEffect::metaObject
+24 QGraphicsBlurEffect::qt_metacast
+32 QGraphicsBlurEffect::qt_metacall
+40 QGraphicsBlurEffect::~QGraphicsBlurEffect
+48 QGraphicsBlurEffect::~QGraphicsBlurEffect
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QGraphicsBlurEffect::boundingRectFor
+120 QGraphicsBlurEffect::draw
+128 QGraphicsEffect::sourceChanged
+
+Class QGraphicsBlurEffect
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsBlurEffect (0x7f9552c565b0) 0
+ vptr=((& QGraphicsBlurEffect::_ZTV19QGraphicsBlurEffect) + 16u)
+ QGraphicsEffect (0x7f9552c56620) 0
+ primary-for QGraphicsBlurEffect (0x7f9552c565b0)
+ QObject (0x7f9552c56690) 0
+ primary-for QGraphicsEffect (0x7f9552c56620)
+
+Vtable for QGraphicsDropShadowEffect
+QGraphicsDropShadowEffect::_ZTV25QGraphicsDropShadowEffect: 17u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI25QGraphicsDropShadowEffect)
+16 QGraphicsDropShadowEffect::metaObject
+24 QGraphicsDropShadowEffect::qt_metacast
+32 QGraphicsDropShadowEffect::qt_metacall
+40 QGraphicsDropShadowEffect::~QGraphicsDropShadowEffect
+48 QGraphicsDropShadowEffect::~QGraphicsDropShadowEffect
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QGraphicsDropShadowEffect::boundingRectFor
+120 QGraphicsDropShadowEffect::draw
+128 QGraphicsEffect::sourceChanged
+
+Class QGraphicsDropShadowEffect
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsDropShadowEffect (0x7f9552cb50e0) 0
+ vptr=((& QGraphicsDropShadowEffect::_ZTV25QGraphicsDropShadowEffect) + 16u)
+ QGraphicsEffect (0x7f9552cb5150) 0
+ primary-for QGraphicsDropShadowEffect (0x7f9552cb50e0)
+ QObject (0x7f9552cb51c0) 0
+ primary-for QGraphicsEffect (0x7f9552cb5150)
+
+Vtable for QGraphicsOpacityEffect
+QGraphicsOpacityEffect::_ZTV22QGraphicsOpacityEffect: 17u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI22QGraphicsOpacityEffect)
+16 QGraphicsOpacityEffect::metaObject
+24 QGraphicsOpacityEffect::qt_metacast
+32 QGraphicsOpacityEffect::qt_metacall
+40 QGraphicsOpacityEffect::~QGraphicsOpacityEffect
+48 QGraphicsOpacityEffect::~QGraphicsOpacityEffect
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QGraphicsEffect::boundingRectFor
+120 QGraphicsOpacityEffect::draw
+128 QGraphicsEffect::sourceChanged
+
+Class QGraphicsOpacityEffect
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsOpacityEffect (0x7f9552cd45b0) 0
+ vptr=((& QGraphicsOpacityEffect::_ZTV22QGraphicsOpacityEffect) + 16u)
+ QGraphicsEffect (0x7f9552cd4620) 0
+ primary-for QGraphicsOpacityEffect (0x7f9552cd45b0)
+ QObject (0x7f9552cd4690) 0
+ primary-for QGraphicsEffect (0x7f9552cd4620)
+
+Class QVFbHeader
+ size=1088 align=8
+ base size=1088 base align=8
+QVFbHeader (0x7f9552ce4ee0) 0
+
+Class QVFbKeyData
+ size=12 align=4
+ base size=12 base align=4
+QVFbKeyData (0x7f9552ce4f50) 0
+
+Vtable for QWSEmbedWidget
+QWSEmbedWidget::_ZTV14QWSEmbedWidget: 63u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QWSEmbedWidget)
+16 QWSEmbedWidget::metaObject
+24 QWSEmbedWidget::qt_metacast
+32 QWSEmbedWidget::qt_metacall
+40 QWSEmbedWidget::~QWSEmbedWidget
+48 QWSEmbedWidget::~QWSEmbedWidget
+56 QWidget::event
+64 QWSEmbedWidget::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QWidget::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QWidget::paintEvent
+256 QWSEmbedWidget::moveEvent
+264 QWSEmbedWidget::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWSEmbedWidget::showEvent
+344 QWSEmbedWidget::hideEvent
+352 QWidget::x11Event
+360 QWSEmbedWidget::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 (int (*)(...))-0x00000000000000010
+456 (int (*)(...))(& _ZTI14QWSEmbedWidget)
+464 QWSEmbedWidget::_ZThn16_N14QWSEmbedWidgetD1Ev
+472 QWSEmbedWidget::_ZThn16_N14QWSEmbedWidgetD0Ev
+480 QWidget::_ZThn16_NK7QWidget7devTypeEv
+488 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+496 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QWSEmbedWidget
+ size=40 align=8
+ base size=40 base align=8
+QWSEmbedWidget (0x7f9552aef000) 0
+ vptr=((& QWSEmbedWidget::_ZTV14QWSEmbedWidget) + 16u)
+ QWidget (0x7f9552ce2900) 0
+ primary-for QWSEmbedWidget (0x7f9552aef000)
+ QObject (0x7f9552aef070) 0
+ primary-for QWidget (0x7f9552ce2900)
+ QPaintDevice (0x7f9552aef0e0) 16
+ vptr=((& QWSEmbedWidget::_ZTV14QWSEmbedWidget) + 464u)
+
+Class QColormap
+ size=8 align=8
+ base size=8 base align=8
+QColormap (0x7f9552b064d0) 0
+
+Class QTileRules
+ size=8 align=4
+ base size=8 base align=4
+QTileRules (0x7f9552b06cb0) 0
+
+Class QDrawPixmaps::Data
+ size=80 align=8
+ base size=80 base align=8
+QDrawPixmaps::Data (0x7f9552b1ed20) 0
+
+Class QPainter
+ size=8 align=8
+ base size=8 base align=8
+QPainter (0x7f9552b1ee00) 0
+
+Class QTextItem
+ size=1 align=1
+ base size=0 base align=1
+QTextItem (0x7f955294c8c0) 0 empty
+
+Vtable for QPaintEngine
+QPaintEngine::_ZTV12QPaintEngine: 24u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QPaintEngine)
+16 QPaintEngine::~QPaintEngine
+24 QPaintEngine::~QPaintEngine
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+48 __cxa_pure_virtual
+56 QPaintEngine::drawRects
+64 QPaintEngine::drawRects
+72 QPaintEngine::drawLines
+80 QPaintEngine::drawLines
+88 QPaintEngine::drawEllipse
+96 QPaintEngine::drawEllipse
+104 QPaintEngine::drawPath
+112 QPaintEngine::drawPoints
+120 QPaintEngine::drawPoints
+128 QPaintEngine::drawPolygon
+136 QPaintEngine::drawPolygon
+144 __cxa_pure_virtual
+152 QPaintEngine::drawTextItem
+160 QPaintEngine::drawTiledPixmap
+168 QPaintEngine::drawImage
+176 QPaintEngine::coordinateOffset
+184 __cxa_pure_virtual
+
+Class QPaintEngine
+ size=32 align=8
+ base size=32 base align=8
+QPaintEngine (0x7f955294cee0) 0
+ vptr=((& QPaintEngine::_ZTV12QPaintEngine) + 16u)
+
+Class QPaintEngineState
+ size=4 align=4
+ base size=4 base align=4
+QPaintEngineState (0x7f9552999b60) 0
+
+Vtable for QPrinter
+QPrinter::_ZTV8QPrinter: 7u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI8QPrinter)
+16 QPrinter::~QPrinter
+24 QPrinter::~QPrinter
+32 QPrinter::devType
+40 QPrinter::paintEngine
+48 QPrinter::metric
+
+Class QPrinter
+ size=24 align=8
+ base size=24 base align=8
+QPrinter (0x7f9552864e70) 0
+ vptr=((& QPrinter::_ZTV8QPrinter) + 16u)
+ QPaintDevice (0x7f9552864ee0) 0
+ primary-for QPrinter (0x7f9552864e70)
+
+Vtable for QPrintEngine
+QPrintEngine::_ZTV12QPrintEngine: 10u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QPrintEngine)
+16 QPrintEngine::~QPrintEngine
+24 QPrintEngine::~QPrintEngine
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+48 __cxa_pure_virtual
+56 __cxa_pure_virtual
+64 __cxa_pure_virtual
+72 __cxa_pure_virtual
+
+Class QPrintEngine
+ size=8 align=8
+ base size=8 base align=8
+QPrintEngine (0x7f95528cd540) 0 nearly-empty
+ vptr=((& QPrintEngine::_ZTV12QPrintEngine) + 16u)
+
+Class QPrinterInfo
+ size=8 align=8
+ base size=8 base align=8
+QPrinterInfo (0x7f95528da2a0) 0
+
+Class QStylePainter
+ size=24 align=8
+ base size=24 base align=8
+QStylePainter (0x7f95528e09a0) 0
+ QPainter (0x7f95528e0a10) 0
+
+Vtable for QAbstractProxyModel
+QAbstractProxyModel::_ZTV19QAbstractProxyModel: 47u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QAbstractProxyModel)
+16 QAbstractProxyModel::metaObject
+24 QAbstractProxyModel::qt_metacast
+32 QAbstractProxyModel::qt_metacall
+40 QAbstractProxyModel::~QAbstractProxyModel
+48 QAbstractProxyModel::~QAbstractProxyModel
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 __cxa_pure_virtual
+136 __cxa_pure_virtual
+144 QAbstractItemModel::hasChildren
+152 QAbstractProxyModel::data
+160 QAbstractProxyModel::setData
+168 QAbstractProxyModel::headerData
+176 QAbstractProxyModel::setHeaderData
+184 QAbstractProxyModel::itemData
+192 QAbstractItemModel::setItemData
+200 QAbstractItemModel::mimeTypes
+208 QAbstractItemModel::mimeData
+216 QAbstractItemModel::dropMimeData
+224 QAbstractItemModel::supportedDropActions
+232 QAbstractItemModel::insertRows
+240 QAbstractItemModel::insertColumns
+248 QAbstractItemModel::removeRows
+256 QAbstractItemModel::removeColumns
+264 QAbstractItemModel::fetchMore
+272 QAbstractItemModel::canFetchMore
+280 QAbstractProxyModel::flags
+288 QAbstractItemModel::sort
+296 QAbstractItemModel::buddy
+304 QAbstractItemModel::match
+312 QAbstractItemModel::span
+320 QAbstractProxyModel::submit
+328 QAbstractProxyModel::revert
+336 QAbstractProxyModel::setSourceModel
+344 __cxa_pure_virtual
+352 __cxa_pure_virtual
+360 QAbstractProxyModel::mapSelectionToSource
+368 QAbstractProxyModel::mapSelectionFromSource
+
+Class QAbstractProxyModel
+ size=16 align=8
+ base size=16 base align=8
+QAbstractProxyModel (0x7f955270eee0) 0
+ vptr=((& QAbstractProxyModel::_ZTV19QAbstractProxyModel) + 16u)
+ QAbstractItemModel (0x7f955270ef50) 0
+ primary-for QAbstractProxyModel (0x7f955270eee0)
+ QObject (0x7f9552715000) 0
+ primary-for QAbstractItemModel (0x7f955270ef50)
+
+Vtable for QColumnView
+QColumnView::_ZTV11QColumnView: 104u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QColumnView)
+16 QColumnView::metaObject
+24 QColumnView::qt_metacast
+32 QColumnView::qt_metacall
+40 QColumnView::~QColumnView
+48 QColumnView::~QColumnView
+56 QAbstractItemView::event
+64 QObject::eventFilter
+72 QAbstractItemView::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QColumnView::sizeHint
+136 QAbstractScrollArea::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QAbstractItemView::mousePressEvent
+168 QAbstractItemView::mouseReleaseEvent
+176 QAbstractItemView::mouseDoubleClickEvent
+184 QAbstractItemView::mouseMoveEvent
+192 QAbstractScrollArea::wheelEvent
+200 QAbstractItemView::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QAbstractItemView::focusInEvent
+224 QAbstractItemView::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QAbstractScrollArea::paintEvent
+256 QWidget::moveEvent
+264 QColumnView::resizeEvent
+272 QWidget::closeEvent
+280 QAbstractScrollArea::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QAbstractItemView::dragEnterEvent
+312 QAbstractItemView::dragMoveEvent
+320 QAbstractItemView::dragLeaveEvent
+328 QAbstractItemView::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QFrame::changeEvent
+368 QWidget::metric
+376 QAbstractItemView::inputMethodEvent
+384 QAbstractItemView::inputMethodQuery
+392 QAbstractItemView::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QAbstractItemView::viewportEvent
+456 QColumnView::scrollContentsBy
+464 QColumnView::setModel
+472 QColumnView::setSelectionModel
+480 QAbstractItemView::keyboardSearch
+488 QColumnView::visualRect
+496 QColumnView::scrollTo
+504 QColumnView::indexAt
+512 QAbstractItemView::sizeHintForRow
+520 QAbstractItemView::sizeHintForColumn
+528 QAbstractItemView::reset
+536 QColumnView::setRootIndex
+544 QAbstractItemView::doItemsLayout
+552 QColumnView::selectAll
+560 QAbstractItemView::dataChanged
+568 QColumnView::rowsInserted
+576 QAbstractItemView::rowsAboutToBeRemoved
+584 QAbstractItemView::selectionChanged
+592 QColumnView::currentChanged
+600 QAbstractItemView::updateEditorData
+608 QAbstractItemView::updateEditorGeometries
+616 QAbstractItemView::updateGeometries
+624 QAbstractItemView::verticalScrollbarAction
+632 QAbstractItemView::horizontalScrollbarAction
+640 QAbstractItemView::verticalScrollbarValueChanged
+648 QAbstractItemView::horizontalScrollbarValueChanged
+656 QAbstractItemView::closeEditor
+664 QAbstractItemView::commitData
+672 QAbstractItemView::editorDestroyed
+680 QColumnView::moveCursor
+688 QColumnView::horizontalOffset
+696 QColumnView::verticalOffset
+704 QColumnView::isIndexHidden
+712 QColumnView::setSelection
+720 QColumnView::visualRegionForSelection
+728 QAbstractItemView::selectedIndexes
+736 QAbstractItemView::edit
+744 QAbstractItemView::selectionCommand
+752 QAbstractItemView::startDrag
+760 QAbstractItemView::viewOptions
+768 QColumnView::createColumn
+776 (int (*)(...))-0x00000000000000010
+784 (int (*)(...))(& _ZTI11QColumnView)
+792 QColumnView::_ZThn16_N11QColumnViewD1Ev
+800 QColumnView::_ZThn16_N11QColumnViewD0Ev
+808 QWidget::_ZThn16_NK7QWidget7devTypeEv
+816 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+824 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QColumnView
+ size=40 align=8
+ base size=40 base align=8
+QColumnView (0x7f955272baf0) 0
+ vptr=((& QColumnView::_ZTV11QColumnView) + 16u)
+ QAbstractItemView (0x7f955272bb60) 0
+ primary-for QColumnView (0x7f955272baf0)
+ QAbstractScrollArea (0x7f955272bbd0) 0
+ primary-for QAbstractItemView (0x7f955272bb60)
+ QFrame (0x7f955272bc40) 0
+ primary-for QAbstractScrollArea (0x7f955272bbd0)
+ QWidget (0x7f9552730200) 0
+ primary-for QFrame (0x7f955272bc40)
+ QObject (0x7f955272bcb0) 0
+ primary-for QWidget (0x7f9552730200)
+ QPaintDevice (0x7f955272bd20) 16
+ vptr=((& QColumnView::_ZTV11QColumnView) + 792u)
+
+Vtable for QDataWidgetMapper
+QDataWidgetMapper::_ZTV17QDataWidgetMapper: 15u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QDataWidgetMapper)
+16 QDataWidgetMapper::metaObject
+24 QDataWidgetMapper::qt_metacast
+32 QDataWidgetMapper::qt_metacall
+40 QDataWidgetMapper::~QDataWidgetMapper
+48 QDataWidgetMapper::~QDataWidgetMapper
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QDataWidgetMapper::setCurrentIndex
+
+Class QDataWidgetMapper
+ size=16 align=8
+ base size=16 base align=8
+QDataWidgetMapper (0x7f9552751c40) 0
+ vptr=((& QDataWidgetMapper::_ZTV17QDataWidgetMapper) + 16u)
+ QObject (0x7f9552751cb0) 0
+ primary-for QDataWidgetMapper (0x7f9552751c40)
+
+Vtable for QFileIconProvider
+QFileIconProvider::_ZTV17QFileIconProvider: 7u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QFileIconProvider)
+16 QFileIconProvider::~QFileIconProvider
+24 QFileIconProvider::~QFileIconProvider
+32 QFileIconProvider::icon
+40 QFileIconProvider::icon
+48 QFileIconProvider::type
+
+Class QFileIconProvider
+ size=16 align=8
+ base size=16 base align=8
+QFileIconProvider (0x7f9552771700) 0
+ vptr=((& QFileIconProvider::_ZTV17QFileIconProvider) + 16u)
+
+Vtable for QDirModel
+QDirModel::_ZTV9QDirModel: 42u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QDirModel)
+16 QDirModel::metaObject
+24 QDirModel::qt_metacast
+32 QDirModel::qt_metacall
+40 QDirModel::~QDirModel
+48 QDirModel::~QDirModel
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QDirModel::index
+120 QDirModel::parent
+128 QDirModel::rowCount
+136 QDirModel::columnCount
+144 QDirModel::hasChildren
+152 QDirModel::data
+160 QDirModel::setData
+168 QDirModel::headerData
+176 QAbstractItemModel::setHeaderData
+184 QAbstractItemModel::itemData
+192 QAbstractItemModel::setItemData
+200 QDirModel::mimeTypes
+208 QDirModel::mimeData
+216 QDirModel::dropMimeData
+224 QDirModel::supportedDropActions
+232 QAbstractItemModel::insertRows
+240 QAbstractItemModel::insertColumns
+248 QAbstractItemModel::removeRows
+256 QAbstractItemModel::removeColumns
+264 QAbstractItemModel::fetchMore
+272 QAbstractItemModel::canFetchMore
+280 QDirModel::flags
+288 QDirModel::sort
+296 QAbstractItemModel::buddy
+304 QAbstractItemModel::match
+312 QAbstractItemModel::span
+320 QAbstractItemModel::submit
+328 QAbstractItemModel::revert
+
+Class QDirModel
+ size=16 align=8
+ base size=16 base align=8
+QDirModel (0x7f9552785380) 0
+ vptr=((& QDirModel::_ZTV9QDirModel) + 16u)
+ QAbstractItemModel (0x7f95527853f0) 0
+ primary-for QDirModel (0x7f9552785380)
+ QObject (0x7f9552785460) 0
+ primary-for QAbstractItemModel (0x7f95527853f0)
+
+Vtable for QHeaderView
+QHeaderView::_ZTV11QHeaderView: 105u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QHeaderView)
+16 QHeaderView::metaObject
+24 QHeaderView::qt_metacast
+32 QHeaderView::qt_metacall
+40 QHeaderView::~QHeaderView
+48 QHeaderView::~QHeaderView
+56 QHeaderView::event
+64 QObject::eventFilter
+72 QAbstractItemView::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QHeaderView::sizeHint
+136 QAbstractScrollArea::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QHeaderView::mousePressEvent
+168 QHeaderView::mouseReleaseEvent
+176 QHeaderView::mouseDoubleClickEvent
+184 QHeaderView::mouseMoveEvent
+192 QAbstractScrollArea::wheelEvent
+200 QAbstractItemView::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QAbstractItemView::focusInEvent
+224 QAbstractItemView::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QHeaderView::paintEvent
+256 QWidget::moveEvent
+264 QAbstractItemView::resizeEvent
+272 QWidget::closeEvent
+280 QAbstractScrollArea::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QAbstractItemView::dragEnterEvent
+312 QAbstractItemView::dragMoveEvent
+320 QAbstractItemView::dragLeaveEvent
+328 QAbstractItemView::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QFrame::changeEvent
+368 QWidget::metric
+376 QAbstractItemView::inputMethodEvent
+384 QAbstractItemView::inputMethodQuery
+392 QAbstractItemView::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QHeaderView::viewportEvent
+456 QHeaderView::scrollContentsBy
+464 QHeaderView::setModel
+472 QAbstractItemView::setSelectionModel
+480 QAbstractItemView::keyboardSearch
+488 QHeaderView::visualRect
+496 QHeaderView::scrollTo
+504 QHeaderView::indexAt
+512 QAbstractItemView::sizeHintForRow
+520 QAbstractItemView::sizeHintForColumn
+528 QHeaderView::reset
+536 QAbstractItemView::setRootIndex
+544 QHeaderView::doItemsLayout
+552 QAbstractItemView::selectAll
+560 QHeaderView::dataChanged
+568 QHeaderView::rowsInserted
+576 QAbstractItemView::rowsAboutToBeRemoved
+584 QAbstractItemView::selectionChanged
+592 QHeaderView::currentChanged
+600 QAbstractItemView::updateEditorData
+608 QAbstractItemView::updateEditorGeometries
+616 QHeaderView::updateGeometries
+624 QAbstractItemView::verticalScrollbarAction
+632 QAbstractItemView::horizontalScrollbarAction
+640 QAbstractItemView::verticalScrollbarValueChanged
+648 QAbstractItemView::horizontalScrollbarValueChanged
+656 QAbstractItemView::closeEditor
+664 QAbstractItemView::commitData
+672 QAbstractItemView::editorDestroyed
+680 QHeaderView::moveCursor
+688 QHeaderView::horizontalOffset
+696 QHeaderView::verticalOffset
+704 QHeaderView::isIndexHidden
+712 QHeaderView::setSelection
+720 QHeaderView::visualRegionForSelection
+728 QAbstractItemView::selectedIndexes
+736 QAbstractItemView::edit
+744 QAbstractItemView::selectionCommand
+752 QAbstractItemView::startDrag
+760 QAbstractItemView::viewOptions
+768 QHeaderView::paintSection
+776 QHeaderView::sectionSizeFromContents
+784 (int (*)(...))-0x00000000000000010
+792 (int (*)(...))(& _ZTI11QHeaderView)
+800 QHeaderView::_ZThn16_N11QHeaderViewD1Ev
+808 QHeaderView::_ZThn16_N11QHeaderViewD0Ev
+816 QWidget::_ZThn16_NK7QWidget7devTypeEv
+824 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+832 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QHeaderView
+ size=40 align=8
+ base size=40 base align=8
+QHeaderView (0x7f95527b0620) 0
+ vptr=((& QHeaderView::_ZTV11QHeaderView) + 16u)
+ QAbstractItemView (0x7f95527b0690) 0
+ primary-for QHeaderView (0x7f95527b0620)
+ QAbstractScrollArea (0x7f95527b0700) 0
+ primary-for QAbstractItemView (0x7f95527b0690)
+ QFrame (0x7f95527b0770) 0
+ primary-for QAbstractScrollArea (0x7f95527b0700)
+ QWidget (0x7f955278c980) 0
+ primary-for QFrame (0x7f95527b0770)
+ QObject (0x7f95527b07e0) 0
+ primary-for QWidget (0x7f955278c980)
+ QPaintDevice (0x7f95527b0850) 16
+ vptr=((& QHeaderView::_ZTV11QHeaderView) + 800u)
+
+Vtable for QItemDelegate
+QItemDelegate::_ZTV13QItemDelegate: 25u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QItemDelegate)
+16 QItemDelegate::metaObject
+24 QItemDelegate::qt_metacast
+32 QItemDelegate::qt_metacall
+40 QItemDelegate::~QItemDelegate
+48 QItemDelegate::~QItemDelegate
+56 QObject::event
+64 QItemDelegate::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QItemDelegate::paint
+120 QItemDelegate::sizeHint
+128 QItemDelegate::createEditor
+136 QItemDelegate::setEditorData
+144 QItemDelegate::setModelData
+152 QItemDelegate::updateEditorGeometry
+160 QItemDelegate::editorEvent
+168 QItemDelegate::drawDisplay
+176 QItemDelegate::drawDecoration
+184 QItemDelegate::drawFocus
+192 QItemDelegate::drawCheck
+
+Class QItemDelegate
+ size=16 align=8
+ base size=16 base align=8
+QItemDelegate (0x7f95525f5230) 0
+ vptr=((& QItemDelegate::_ZTV13QItemDelegate) + 16u)
+ QAbstractItemDelegate (0x7f95525f52a0) 0
+ primary-for QItemDelegate (0x7f95525f5230)
+ QObject (0x7f95525f5310) 0
+ primary-for QAbstractItemDelegate (0x7f95525f52a0)
+
+Vtable for QItemEditorCreatorBase
+QItemEditorCreatorBase::_ZTV22QItemEditorCreatorBase: 6u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI22QItemEditorCreatorBase)
+16 QItemEditorCreatorBase::~QItemEditorCreatorBase
+24 QItemEditorCreatorBase::~QItemEditorCreatorBase
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+
+Class QItemEditorCreatorBase
+ size=8 align=8
+ base size=8 base align=8
+QItemEditorCreatorBase (0x7f9552610bd0) 0 nearly-empty
+ vptr=((& QItemEditorCreatorBase::_ZTV22QItemEditorCreatorBase) + 16u)
+
+Vtable for QItemEditorFactory
+QItemEditorFactory::_ZTV18QItemEditorFactory: 6u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QItemEditorFactory)
+16 QItemEditorFactory::~QItemEditorFactory
+24 QItemEditorFactory::~QItemEditorFactory
+32 QItemEditorFactory::createEditor
+40 QItemEditorFactory::valuePropertyName
+
+Class QItemEditorFactory
+ size=16 align=8
+ base size=16 base align=8
+QItemEditorFactory (0x7f955261ca80) 0
+ vptr=((& QItemEditorFactory::_ZTV18QItemEditorFactory) + 16u)
+
+Vtable for QListWidgetItem
+QListWidgetItem::_ZTV15QListWidgetItem: 11u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QListWidgetItem)
+16 QListWidgetItem::~QListWidgetItem
+24 QListWidgetItem::~QListWidgetItem
+32 QListWidgetItem::clone
+40 QListWidgetItem::setBackgroundColor
+48 QListWidgetItem::data
+56 QListWidgetItem::setData
+64 QListWidgetItem::operator<
+72 QListWidgetItem::read
+80 QListWidgetItem::write
+
+Class QListWidgetItem
+ size=48 align=8
+ base size=44 base align=8
+QListWidgetItem (0x7f9552628d20) 0
+ vptr=((& QListWidgetItem::_ZTV15QListWidgetItem) + 16u)
+
+Vtable for QListWidget
+QListWidget::_ZTV11QListWidget: 107u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QListWidget)
+16 QListWidget::metaObject
+24 QListWidget::qt_metacast
+32 QListWidget::qt_metacall
+40 QListWidget::~QListWidget
+48 QListWidget::~QListWidget
+56 QListWidget::event
+64 QObject::eventFilter
+72 QListView::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QAbstractScrollArea::sizeHint
+136 QAbstractScrollArea::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QAbstractItemView::mousePressEvent
+168 QListView::mouseReleaseEvent
+176 QAbstractItemView::mouseDoubleClickEvent
+184 QListView::mouseMoveEvent
+192 QAbstractScrollArea::wheelEvent
+200 QAbstractItemView::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QAbstractItemView::focusInEvent
+224 QAbstractItemView::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QListView::paintEvent
+256 QWidget::moveEvent
+264 QListView::resizeEvent
+272 QWidget::closeEvent
+280 QAbstractScrollArea::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QAbstractItemView::dragEnterEvent
+312 QListView::dragMoveEvent
+320 QListView::dragLeaveEvent
+328 QListWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QFrame::changeEvent
+368 QWidget::metric
+376 QAbstractItemView::inputMethodEvent
+384 QAbstractItemView::inputMethodQuery
+392 QAbstractItemView::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QAbstractItemView::viewportEvent
+456 QListView::scrollContentsBy
+464 QListWidget::setModel
+472 QAbstractItemView::setSelectionModel
+480 QAbstractItemView::keyboardSearch
+488 QListView::visualRect
+496 QListView::scrollTo
+504 QListView::indexAt
+512 QAbstractItemView::sizeHintForRow
+520 QAbstractItemView::sizeHintForColumn
+528 QListView::reset
+536 QListView::setRootIndex
+544 QListView::doItemsLayout
+552 QAbstractItemView::selectAll
+560 QListView::dataChanged
+568 QListView::rowsInserted
+576 QListView::rowsAboutToBeRemoved
+584 QListView::selectionChanged
+592 QListView::currentChanged
+600 QAbstractItemView::updateEditorData
+608 QAbstractItemView::updateEditorGeometries
+616 QListView::updateGeometries
+624 QAbstractItemView::verticalScrollbarAction
+632 QAbstractItemView::horizontalScrollbarAction
+640 QAbstractItemView::verticalScrollbarValueChanged
+648 QAbstractItemView::horizontalScrollbarValueChanged
+656 QAbstractItemView::closeEditor
+664 QAbstractItemView::commitData
+672 QAbstractItemView::editorDestroyed
+680 QListView::moveCursor
+688 QListView::horizontalOffset
+696 QListView::verticalOffset
+704 QListView::isIndexHidden
+712 QListView::setSelection
+720 QListView::visualRegionForSelection
+728 QListView::selectedIndexes
+736 QAbstractItemView::edit
+744 QAbstractItemView::selectionCommand
+752 QListView::startDrag
+760 QListView::viewOptions
+768 QListWidget::mimeTypes
+776 QListWidget::mimeData
+784 QListWidget::dropMimeData
+792 QListWidget::supportedDropActions
+800 (int (*)(...))-0x00000000000000010
+808 (int (*)(...))(& _ZTI11QListWidget)
+816 QListWidget::_ZThn16_N11QListWidgetD1Ev
+824 QListWidget::_ZThn16_N11QListWidgetD0Ev
+832 QWidget::_ZThn16_NK7QWidget7devTypeEv
+840 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+848 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QListWidget
+ size=40 align=8
+ base size=40 base align=8
+QListWidget (0x7f95526bc3f0) 0
+ vptr=((& QListWidget::_ZTV11QListWidget) + 16u)
+ QListView (0x7f95526bc460) 0
+ primary-for QListWidget (0x7f95526bc3f0)
+ QAbstractItemView (0x7f95526bc4d0) 0
+ primary-for QListView (0x7f95526bc460)
+ QAbstractScrollArea (0x7f95526bc540) 0
+ primary-for QAbstractItemView (0x7f95526bc4d0)
+ QFrame (0x7f95526bc5b0) 0
+ primary-for QAbstractScrollArea (0x7f95526bc540)
+ QWidget (0x7f95526b4a00) 0
+ primary-for QFrame (0x7f95526bc5b0)
+ QObject (0x7f95526bc620) 0
+ primary-for QWidget (0x7f95526b4a00)
+ QPaintDevice (0x7f95526bc690) 16
+ vptr=((& QListWidget::_ZTV11QListWidget) + 816u)
+
+Vtable for QProxyModel
+QProxyModel::_ZTV11QProxyModel: 43u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QProxyModel)
+16 QProxyModel::metaObject
+24 QProxyModel::qt_metacast
+32 QProxyModel::qt_metacall
+40 QProxyModel::~QProxyModel
+48 QProxyModel::~QProxyModel
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QProxyModel::index
+120 QProxyModel::parent
+128 QProxyModel::rowCount
+136 QProxyModel::columnCount
+144 QProxyModel::hasChildren
+152 QProxyModel::data
+160 QProxyModel::setData
+168 QProxyModel::headerData
+176 QProxyModel::setHeaderData
+184 QAbstractItemModel::itemData
+192 QAbstractItemModel::setItemData
+200 QProxyModel::mimeTypes
+208 QProxyModel::mimeData
+216 QProxyModel::dropMimeData
+224 QProxyModel::supportedDropActions
+232 QProxyModel::insertRows
+240 QProxyModel::insertColumns
+248 QAbstractItemModel::removeRows
+256 QAbstractItemModel::removeColumns
+264 QProxyModel::fetchMore
+272 QAbstractItemModel::canFetchMore
+280 QProxyModel::flags
+288 QProxyModel::sort
+296 QAbstractItemModel::buddy
+304 QProxyModel::match
+312 QProxyModel::span
+320 QProxyModel::submit
+328 QProxyModel::revert
+336 QProxyModel::setModel
+
+Class QProxyModel
+ size=16 align=8
+ base size=16 base align=8
+QProxyModel (0x7f95524f5850) 0
+ vptr=((& QProxyModel::_ZTV11QProxyModel) + 16u)
+ QAbstractItemModel (0x7f95524f58c0) 0
+ primary-for QProxyModel (0x7f95524f5850)
+ QObject (0x7f95524f5930) 0
+ primary-for QAbstractItemModel (0x7f95524f58c0)
+
+Vtable for QSortFilterProxyModel
+QSortFilterProxyModel::_ZTV21QSortFilterProxyModel: 50u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI21QSortFilterProxyModel)
+16 QSortFilterProxyModel::metaObject
+24 QSortFilterProxyModel::qt_metacast
+32 QSortFilterProxyModel::qt_metacall
+40 QSortFilterProxyModel::~QSortFilterProxyModel
+48 QSortFilterProxyModel::~QSortFilterProxyModel
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QSortFilterProxyModel::index
+120 QSortFilterProxyModel::parent
+128 QSortFilterProxyModel::rowCount
+136 QSortFilterProxyModel::columnCount
+144 QSortFilterProxyModel::hasChildren
+152 QSortFilterProxyModel::data
+160 QSortFilterProxyModel::setData
+168 QSortFilterProxyModel::headerData
+176 QSortFilterProxyModel::setHeaderData
+184 QAbstractProxyModel::itemData
+192 QAbstractItemModel::setItemData
+200 QSortFilterProxyModel::mimeTypes
+208 QSortFilterProxyModel::mimeData
+216 QSortFilterProxyModel::dropMimeData
+224 QSortFilterProxyModel::supportedDropActions
+232 QSortFilterProxyModel::insertRows
+240 QSortFilterProxyModel::insertColumns
+248 QSortFilterProxyModel::removeRows
+256 QSortFilterProxyModel::removeColumns
+264 QSortFilterProxyModel::fetchMore
+272 QSortFilterProxyModel::canFetchMore
+280 QSortFilterProxyModel::flags
+288 QSortFilterProxyModel::sort
+296 QSortFilterProxyModel::buddy
+304 QSortFilterProxyModel::match
+312 QSortFilterProxyModel::span
+320 QAbstractProxyModel::submit
+328 QAbstractProxyModel::revert
+336 QSortFilterProxyModel::setSourceModel
+344 QSortFilterProxyModel::mapToSource
+352 QSortFilterProxyModel::mapFromSource
+360 QSortFilterProxyModel::mapSelectionToSource
+368 QSortFilterProxyModel::mapSelectionFromSource
+376 QSortFilterProxyModel::filterAcceptsRow
+384 QSortFilterProxyModel::filterAcceptsColumn
+392 QSortFilterProxyModel::lessThan
+
+Class QSortFilterProxyModel
+ size=16 align=8
+ base size=16 base align=8
+QSortFilterProxyModel (0x7f9552517700) 0
+ vptr=((& QSortFilterProxyModel::_ZTV21QSortFilterProxyModel) + 16u)
+ QAbstractProxyModel (0x7f9552517770) 0
+ primary-for QSortFilterProxyModel (0x7f9552517700)
+ QAbstractItemModel (0x7f95525177e0) 0
+ primary-for QAbstractProxyModel (0x7f9552517770)
+ QObject (0x7f9552517850) 0
+ primary-for QAbstractItemModel (0x7f95525177e0)
+
+Vtable for QStandardItem
+QStandardItem::_ZTV13QStandardItem: 11u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QStandardItem)
+16 QStandardItem::~QStandardItem
+24 QStandardItem::~QStandardItem
+32 QStandardItem::data
+40 QStandardItem::setData
+48 QStandardItem::clone
+56 QStandardItem::type
+64 QStandardItem::read
+72 QStandardItem::write
+80 QStandardItem::operator<
+
+Class QStandardItem
+ size=16 align=8
+ base size=16 base align=8
+QStandardItem (0x7f9552548620) 0
+ vptr=((& QStandardItem::_ZTV13QStandardItem) + 16u)
+
+Vtable for QStandardItemModel
+QStandardItemModel::_ZTV18QStandardItemModel: 42u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QStandardItemModel)
+16 QStandardItemModel::metaObject
+24 QStandardItemModel::qt_metacast
+32 QStandardItemModel::qt_metacall
+40 QStandardItemModel::~QStandardItemModel
+48 QStandardItemModel::~QStandardItemModel
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QStandardItemModel::index
+120 QStandardItemModel::parent
+128 QStandardItemModel::rowCount
+136 QStandardItemModel::columnCount
+144 QStandardItemModel::hasChildren
+152 QStandardItemModel::data
+160 QStandardItemModel::setData
+168 QStandardItemModel::headerData
+176 QStandardItemModel::setHeaderData
+184 QStandardItemModel::itemData
+192 QStandardItemModel::setItemData
+200 QStandardItemModel::mimeTypes
+208 QStandardItemModel::mimeData
+216 QStandardItemModel::dropMimeData
+224 QStandardItemModel::supportedDropActions
+232 QStandardItemModel::insertRows
+240 QStandardItemModel::insertColumns
+248 QStandardItemModel::removeRows
+256 QStandardItemModel::removeColumns
+264 QAbstractItemModel::fetchMore
+272 QAbstractItemModel::canFetchMore
+280 QStandardItemModel::flags
+288 QStandardItemModel::sort
+296 QAbstractItemModel::buddy
+304 QAbstractItemModel::match
+312 QAbstractItemModel::span
+320 QAbstractItemModel::submit
+328 QAbstractItemModel::revert
+
+Class QStandardItemModel
+ size=16 align=8
+ base size=16 base align=8
+QStandardItemModel (0x7f95524353f0) 0
+ vptr=((& QStandardItemModel::_ZTV18QStandardItemModel) + 16u)
+ QAbstractItemModel (0x7f9552435460) 0
+ primary-for QStandardItemModel (0x7f95524353f0)
+ QObject (0x7f95524354d0) 0
+ primary-for QAbstractItemModel (0x7f9552435460)
+
+Vtable for QStringListModel
+QStringListModel::_ZTV16QStringListModel: 42u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QStringListModel)
+16 QStringListModel::metaObject
+24 QStringListModel::qt_metacast
+32 QStringListModel::qt_metacall
+40 QStringListModel::~QStringListModel
+48 QStringListModel::~QStringListModel
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QAbstractListModel::index
+120 QAbstractListModel::parent
+128 QStringListModel::rowCount
+136 QAbstractListModel::columnCount
+144 QAbstractListModel::hasChildren
+152 QStringListModel::data
+160 QStringListModel::setData
+168 QAbstractItemModel::headerData
+176 QAbstractItemModel::setHeaderData
+184 QAbstractItemModel::itemData
+192 QAbstractItemModel::setItemData
+200 QAbstractItemModel::mimeTypes
+208 QAbstractItemModel::mimeData
+216 QAbstractListModel::dropMimeData
+224 QStringListModel::supportedDropActions
+232 QStringListModel::insertRows
+240 QAbstractItemModel::insertColumns
+248 QStringListModel::removeRows
+256 QAbstractItemModel::removeColumns
+264 QAbstractItemModel::fetchMore
+272 QAbstractItemModel::canFetchMore
+280 QStringListModel::flags
+288 QStringListModel::sort
+296 QAbstractItemModel::buddy
+304 QAbstractItemModel::match
+312 QAbstractItemModel::span
+320 QAbstractItemModel::submit
+328 QAbstractItemModel::revert
+
+Class QStringListModel
+ size=24 align=8
+ base size=24 base align=8
+QStringListModel (0x7f955246ef50) 0
+ vptr=((& QStringListModel::_ZTV16QStringListModel) + 16u)
+ QAbstractListModel (0x7f9552482000) 0
+ primary-for QStringListModel (0x7f955246ef50)
+ QAbstractItemModel (0x7f9552482070) 0
+ primary-for QAbstractListModel (0x7f9552482000)
+ QObject (0x7f95524820e0) 0
+ primary-for QAbstractItemModel (0x7f9552482070)
+
+Vtable for QStyledItemDelegate
+QStyledItemDelegate::_ZTV19QStyledItemDelegate: 23u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QStyledItemDelegate)
+16 QStyledItemDelegate::metaObject
+24 QStyledItemDelegate::qt_metacast
+32 QStyledItemDelegate::qt_metacall
+40 QStyledItemDelegate::~QStyledItemDelegate
+48 QStyledItemDelegate::~QStyledItemDelegate
+56 QObject::event
+64 QStyledItemDelegate::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QStyledItemDelegate::paint
+120 QStyledItemDelegate::sizeHint
+128 QStyledItemDelegate::createEditor
+136 QStyledItemDelegate::setEditorData
+144 QStyledItemDelegate::setModelData
+152 QStyledItemDelegate::updateEditorGeometry
+160 QStyledItemDelegate::editorEvent
+168 QStyledItemDelegate::displayText
+176 QStyledItemDelegate::initStyleOption
+
+Class QStyledItemDelegate
+ size=16 align=8
+ base size=16 base align=8
+QStyledItemDelegate (0x7f95524985b0) 0
+ vptr=((& QStyledItemDelegate::_ZTV19QStyledItemDelegate) + 16u)
+ QAbstractItemDelegate (0x7f9552498620) 0
+ primary-for QStyledItemDelegate (0x7f95524985b0)
+ QObject (0x7f9552498690) 0
+ primary-for QAbstractItemDelegate (0x7f9552498620)
+
+Vtable for QTableView
+QTableView::_ZTV10QTableView: 103u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QTableView)
+16 QTableView::metaObject
+24 QTableView::qt_metacast
+32 QTableView::qt_metacall
+40 QTableView::~QTableView
+48 QTableView::~QTableView
+56 QAbstractItemView::event
+64 QObject::eventFilter
+72 QTableView::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QAbstractScrollArea::sizeHint
+136 QAbstractScrollArea::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QAbstractItemView::mousePressEvent
+168 QAbstractItemView::mouseReleaseEvent
+176 QAbstractItemView::mouseDoubleClickEvent
+184 QAbstractItemView::mouseMoveEvent
+192 QAbstractScrollArea::wheelEvent
+200 QAbstractItemView::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QAbstractItemView::focusInEvent
+224 QAbstractItemView::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QTableView::paintEvent
+256 QWidget::moveEvent
+264 QAbstractItemView::resizeEvent
+272 QWidget::closeEvent
+280 QAbstractScrollArea::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QAbstractItemView::dragEnterEvent
+312 QAbstractItemView::dragMoveEvent
+320 QAbstractItemView::dragLeaveEvent
+328 QAbstractItemView::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QFrame::changeEvent
+368 QWidget::metric
+376 QAbstractItemView::inputMethodEvent
+384 QAbstractItemView::inputMethodQuery
+392 QAbstractItemView::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QAbstractItemView::viewportEvent
+456 QTableView::scrollContentsBy
+464 QTableView::setModel
+472 QTableView::setSelectionModel
+480 QAbstractItemView::keyboardSearch
+488 QTableView::visualRect
+496 QTableView::scrollTo
+504 QTableView::indexAt
+512 QTableView::sizeHintForRow
+520 QTableView::sizeHintForColumn
+528 QAbstractItemView::reset
+536 QTableView::setRootIndex
+544 QAbstractItemView::doItemsLayout
+552 QAbstractItemView::selectAll
+560 QAbstractItemView::dataChanged
+568 QAbstractItemView::rowsInserted
+576 QAbstractItemView::rowsAboutToBeRemoved
+584 QTableView::selectionChanged
+592 QTableView::currentChanged
+600 QAbstractItemView::updateEditorData
+608 QAbstractItemView::updateEditorGeometries
+616 QTableView::updateGeometries
+624 QTableView::verticalScrollbarAction
+632 QTableView::horizontalScrollbarAction
+640 QAbstractItemView::verticalScrollbarValueChanged
+648 QAbstractItemView::horizontalScrollbarValueChanged
+656 QAbstractItemView::closeEditor
+664 QAbstractItemView::commitData
+672 QAbstractItemView::editorDestroyed
+680 QTableView::moveCursor
+688 QTableView::horizontalOffset
+696 QTableView::verticalOffset
+704 QTableView::isIndexHidden
+712 QTableView::setSelection
+720 QTableView::visualRegionForSelection
+728 QTableView::selectedIndexes
+736 QAbstractItemView::edit
+744 QAbstractItemView::selectionCommand
+752 QAbstractItemView::startDrag
+760 QTableView::viewOptions
+768 (int (*)(...))-0x00000000000000010
+776 (int (*)(...))(& _ZTI10QTableView)
+784 QTableView::_ZThn16_N10QTableViewD1Ev
+792 QTableView::_ZThn16_N10QTableViewD0Ev
+800 QWidget::_ZThn16_NK7QWidget7devTypeEv
+808 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+816 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QTableView
+ size=40 align=8
+ base size=40 base align=8
+QTableView (0x7f95524aff50) 0
+ vptr=((& QTableView::_ZTV10QTableView) + 16u)
+ QAbstractItemView (0x7f95524b8000) 0
+ primary-for QTableView (0x7f95524aff50)
+ QAbstractScrollArea (0x7f95524b8070) 0
+ primary-for QAbstractItemView (0x7f95524b8000)
+ QFrame (0x7f95524b80e0) 0
+ primary-for QAbstractScrollArea (0x7f95524b8070)
+ QWidget (0x7f9552497b00) 0
+ primary-for QFrame (0x7f95524b80e0)
+ QObject (0x7f95524b8150) 0
+ primary-for QWidget (0x7f9552497b00)
+ QPaintDevice (0x7f95524b81c0) 16
+ vptr=((& QTableView::_ZTV10QTableView) + 784u)
+
+Class QTableWidgetSelectionRange
+ size=16 align=4
+ base size=16 base align=4
+QTableWidgetSelectionRange (0x7f95524e2d20) 0
+
+Vtable for QTableWidgetItem
+QTableWidgetItem::_ZTV16QTableWidgetItem: 10u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QTableWidgetItem)
+16 QTableWidgetItem::~QTableWidgetItem
+24 QTableWidgetItem::~QTableWidgetItem
+32 QTableWidgetItem::clone
+40 QTableWidgetItem::data
+48 QTableWidgetItem::setData
+56 QTableWidgetItem::operator<
+64 QTableWidgetItem::read
+72 QTableWidgetItem::write
+
+Class QTableWidgetItem
+ size=48 align=8
+ base size=44 base align=8
+QTableWidgetItem (0x7f95522f3230) 0
+ vptr=((& QTableWidgetItem::_ZTV16QTableWidgetItem) + 16u)
+
+Vtable for QTableWidget
+QTableWidget::_ZTV12QTableWidget: 107u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QTableWidget)
+16 QTableWidget::metaObject
+24 QTableWidget::qt_metacast
+32 QTableWidget::qt_metacall
+40 QTableWidget::~QTableWidget
+48 QTableWidget::~QTableWidget
+56 QTableWidget::event
+64 QObject::eventFilter
+72 QTableView::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QAbstractScrollArea::sizeHint
+136 QAbstractScrollArea::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QAbstractItemView::mousePressEvent
+168 QAbstractItemView::mouseReleaseEvent
+176 QAbstractItemView::mouseDoubleClickEvent
+184 QAbstractItemView::mouseMoveEvent
+192 QAbstractScrollArea::wheelEvent
+200 QAbstractItemView::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QAbstractItemView::focusInEvent
+224 QAbstractItemView::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QTableView::paintEvent
+256 QWidget::moveEvent
+264 QAbstractItemView::resizeEvent
+272 QWidget::closeEvent
+280 QAbstractScrollArea::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QAbstractItemView::dragEnterEvent
+312 QAbstractItemView::dragMoveEvent
+320 QAbstractItemView::dragLeaveEvent
+328 QTableWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QFrame::changeEvent
+368 QWidget::metric
+376 QAbstractItemView::inputMethodEvent
+384 QAbstractItemView::inputMethodQuery
+392 QAbstractItemView::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QAbstractItemView::viewportEvent
+456 QTableView::scrollContentsBy
+464 QTableWidget::setModel
+472 QTableView::setSelectionModel
+480 QAbstractItemView::keyboardSearch
+488 QTableView::visualRect
+496 QTableView::scrollTo
+504 QTableView::indexAt
+512 QTableView::sizeHintForRow
+520 QTableView::sizeHintForColumn
+528 QAbstractItemView::reset
+536 QTableView::setRootIndex
+544 QAbstractItemView::doItemsLayout
+552 QAbstractItemView::selectAll
+560 QAbstractItemView::dataChanged
+568 QAbstractItemView::rowsInserted
+576 QAbstractItemView::rowsAboutToBeRemoved
+584 QTableView::selectionChanged
+592 QTableView::currentChanged
+600 QAbstractItemView::updateEditorData
+608 QAbstractItemView::updateEditorGeometries
+616 QTableView::updateGeometries
+624 QTableView::verticalScrollbarAction
+632 QTableView::horizontalScrollbarAction
+640 QAbstractItemView::verticalScrollbarValueChanged
+648 QAbstractItemView::horizontalScrollbarValueChanged
+656 QAbstractItemView::closeEditor
+664 QAbstractItemView::commitData
+672 QAbstractItemView::editorDestroyed
+680 QTableView::moveCursor
+688 QTableView::horizontalOffset
+696 QTableView::verticalOffset
+704 QTableView::isIndexHidden
+712 QTableView::setSelection
+720 QTableView::visualRegionForSelection
+728 QTableView::selectedIndexes
+736 QAbstractItemView::edit
+744 QAbstractItemView::selectionCommand
+752 QAbstractItemView::startDrag
+760 QTableView::viewOptions
+768 QTableWidget::mimeTypes
+776 QTableWidget::mimeData
+784 QTableWidget::dropMimeData
+792 QTableWidget::supportedDropActions
+800 (int (*)(...))-0x00000000000000010
+808 (int (*)(...))(& _ZTI12QTableWidget)
+816 QTableWidget::_ZThn16_N12QTableWidgetD1Ev
+824 QTableWidget::_ZThn16_N12QTableWidgetD0Ev
+832 QWidget::_ZThn16_NK7QWidget7devTypeEv
+840 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+848 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QTableWidget
+ size=40 align=8
+ base size=40 base align=8
+QTableWidget (0x7f95523657e0) 0
+ vptr=((& QTableWidget::_ZTV12QTableWidget) + 16u)
+ QTableView (0x7f9552365850) 0
+ primary-for QTableWidget (0x7f95523657e0)
+ QAbstractItemView (0x7f95523658c0) 0
+ primary-for QTableView (0x7f9552365850)
+ QAbstractScrollArea (0x7f9552365930) 0
+ primary-for QAbstractItemView (0x7f95523658c0)
+ QFrame (0x7f95523659a0) 0
+ primary-for QAbstractScrollArea (0x7f9552365930)
+ QWidget (0x7f955235bc80) 0
+ primary-for QFrame (0x7f95523659a0)
+ QObject (0x7f9552365a10) 0
+ primary-for QWidget (0x7f955235bc80)
+ QPaintDevice (0x7f9552365a80) 16
+ vptr=((& QTableWidget::_ZTV12QTableWidget) + 816u)
+
+Vtable for QTreeView
+QTreeView::_ZTV9QTreeView: 105u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QTreeView)
+16 QTreeView::metaObject
+24 QTreeView::qt_metacast
+32 QTreeView::qt_metacall
+40 QTreeView::~QTreeView
+48 QTreeView::~QTreeView
+56 QAbstractItemView::event
+64 QObject::eventFilter
+72 QTreeView::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QAbstractScrollArea::sizeHint
+136 QAbstractScrollArea::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QTreeView::mousePressEvent
+168 QTreeView::mouseReleaseEvent
+176 QTreeView::mouseDoubleClickEvent
+184 QTreeView::mouseMoveEvent
+192 QAbstractScrollArea::wheelEvent
+200 QTreeView::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QAbstractItemView::focusInEvent
+224 QAbstractItemView::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QTreeView::paintEvent
+256 QWidget::moveEvent
+264 QAbstractItemView::resizeEvent
+272 QWidget::closeEvent
+280 QAbstractScrollArea::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QAbstractItemView::dragEnterEvent
+312 QTreeView::dragMoveEvent
+320 QAbstractItemView::dragLeaveEvent
+328 QAbstractItemView::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QFrame::changeEvent
+368 QWidget::metric
+376 QAbstractItemView::inputMethodEvent
+384 QAbstractItemView::inputMethodQuery
+392 QAbstractItemView::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QTreeView::viewportEvent
+456 QTreeView::scrollContentsBy
+464 QTreeView::setModel
+472 QTreeView::setSelectionModel
+480 QTreeView::keyboardSearch
+488 QTreeView::visualRect
+496 QTreeView::scrollTo
+504 QTreeView::indexAt
+512 QAbstractItemView::sizeHintForRow
+520 QTreeView::sizeHintForColumn
+528 QTreeView::reset
+536 QTreeView::setRootIndex
+544 QTreeView::doItemsLayout
+552 QTreeView::selectAll
+560 QTreeView::dataChanged
+568 QTreeView::rowsInserted
+576 QTreeView::rowsAboutToBeRemoved
+584 QTreeView::selectionChanged
+592 QTreeView::currentChanged
+600 QAbstractItemView::updateEditorData
+608 QAbstractItemView::updateEditorGeometries
+616 QTreeView::updateGeometries
+624 QAbstractItemView::verticalScrollbarAction
+632 QTreeView::horizontalScrollbarAction
+640 QAbstractItemView::verticalScrollbarValueChanged
+648 QAbstractItemView::horizontalScrollbarValueChanged
+656 QAbstractItemView::closeEditor
+664 QAbstractItemView::commitData
+672 QAbstractItemView::editorDestroyed
+680 QTreeView::moveCursor
+688 QTreeView::horizontalOffset
+696 QTreeView::verticalOffset
+704 QTreeView::isIndexHidden
+712 QTreeView::setSelection
+720 QTreeView::visualRegionForSelection
+728 QTreeView::selectedIndexes
+736 QAbstractItemView::edit
+744 QAbstractItemView::selectionCommand
+752 QAbstractItemView::startDrag
+760 QAbstractItemView::viewOptions
+768 QTreeView::drawRow
+776 QTreeView::drawBranches
+784 (int (*)(...))-0x00000000000000010
+792 (int (*)(...))(& _ZTI9QTreeView)
+800 QTreeView::_ZThn16_N9QTreeViewD1Ev
+808 QTreeView::_ZThn16_N9QTreeViewD0Ev
+816 QWidget::_ZThn16_NK7QWidget7devTypeEv
+824 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+832 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QTreeView
+ size=40 align=8
+ base size=40 base align=8
+QTreeView (0x7f95523a4770) 0
+ vptr=((& QTreeView::_ZTV9QTreeView) + 16u)
+ QAbstractItemView (0x7f95523a47e0) 0
+ primary-for QTreeView (0x7f95523a4770)
+ QAbstractScrollArea (0x7f95523a4850) 0
+ primary-for QAbstractItemView (0x7f95523a47e0)
+ QFrame (0x7f95523a48c0) 0
+ primary-for QAbstractScrollArea (0x7f95523a4850)
+ QWidget (0x7f95523a2600) 0
+ primary-for QFrame (0x7f95523a48c0)
+ QObject (0x7f95523a4930) 0
+ primary-for QWidget (0x7f95523a2600)
+ QPaintDevice (0x7f95523a49a0) 16
+ vptr=((& QTreeView::_ZTV9QTreeView) + 800u)
+
+Class QTreeWidgetItemIterator
+ size=24 align=8
+ base size=20 base align=8
+QTreeWidgetItemIterator (0x7f95523dd540) 0
+
+Vtable for QTreeWidgetItem
+QTreeWidgetItem::_ZTV15QTreeWidgetItem: 10u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QTreeWidgetItem)
+16 QTreeWidgetItem::~QTreeWidgetItem
+24 QTreeWidgetItem::~QTreeWidgetItem
+32 QTreeWidgetItem::clone
+40 QTreeWidgetItem::data
+48 QTreeWidgetItem::setData
+56 QTreeWidgetItem::operator<
+64 QTreeWidgetItem::read
+72 QTreeWidgetItem::write
+
+Class QTreeWidgetItem
+ size=64 align=8
+ base size=60 base align=8
+QTreeWidgetItem (0x7f95522492a0) 0
+ vptr=((& QTreeWidgetItem::_ZTV15QTreeWidgetItem) + 16u)
+
+Vtable for QTreeWidget
+QTreeWidget::_ZTV11QTreeWidget: 109u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QTreeWidget)
+16 QTreeWidget::metaObject
+24 QTreeWidget::qt_metacast
+32 QTreeWidget::qt_metacall
+40 QTreeWidget::~QTreeWidget
+48 QTreeWidget::~QTreeWidget
+56 QTreeWidget::event
+64 QObject::eventFilter
+72 QTreeView::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QAbstractScrollArea::sizeHint
+136 QAbstractScrollArea::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QTreeView::mousePressEvent
+168 QTreeView::mouseReleaseEvent
+176 QTreeView::mouseDoubleClickEvent
+184 QTreeView::mouseMoveEvent
+192 QAbstractScrollArea::wheelEvent
+200 QTreeView::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QAbstractItemView::focusInEvent
+224 QAbstractItemView::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QTreeView::paintEvent
+256 QWidget::moveEvent
+264 QAbstractItemView::resizeEvent
+272 QWidget::closeEvent
+280 QAbstractScrollArea::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QAbstractItemView::dragEnterEvent
+312 QTreeView::dragMoveEvent
+320 QAbstractItemView::dragLeaveEvent
+328 QTreeWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QFrame::changeEvent
+368 QWidget::metric
+376 QAbstractItemView::inputMethodEvent
+384 QAbstractItemView::inputMethodQuery
+392 QAbstractItemView::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QTreeView::viewportEvent
+456 QTreeView::scrollContentsBy
+464 QTreeWidget::setModel
+472 QTreeWidget::setSelectionModel
+480 QTreeView::keyboardSearch
+488 QTreeView::visualRect
+496 QTreeView::scrollTo
+504 QTreeView::indexAt
+512 QAbstractItemView::sizeHintForRow
+520 QTreeView::sizeHintForColumn
+528 QTreeView::reset
+536 QTreeView::setRootIndex
+544 QTreeView::doItemsLayout
+552 QTreeView::selectAll
+560 QTreeView::dataChanged
+568 QTreeView::rowsInserted
+576 QTreeView::rowsAboutToBeRemoved
+584 QTreeView::selectionChanged
+592 QTreeView::currentChanged
+600 QAbstractItemView::updateEditorData
+608 QAbstractItemView::updateEditorGeometries
+616 QTreeView::updateGeometries
+624 QAbstractItemView::verticalScrollbarAction
+632 QTreeView::horizontalScrollbarAction
+640 QAbstractItemView::verticalScrollbarValueChanged
+648 QAbstractItemView::horizontalScrollbarValueChanged
+656 QAbstractItemView::closeEditor
+664 QAbstractItemView::commitData
+672 QAbstractItemView::editorDestroyed
+680 QTreeView::moveCursor
+688 QTreeView::horizontalOffset
+696 QTreeView::verticalOffset
+704 QTreeView::isIndexHidden
+712 QTreeView::setSelection
+720 QTreeView::visualRegionForSelection
+728 QTreeView::selectedIndexes
+736 QAbstractItemView::edit
+744 QAbstractItemView::selectionCommand
+752 QAbstractItemView::startDrag
+760 QAbstractItemView::viewOptions
+768 QTreeView::drawRow
+776 QTreeView::drawBranches
+784 QTreeWidget::mimeTypes
+792 QTreeWidget::mimeData
+800 QTreeWidget::dropMimeData
+808 QTreeWidget::supportedDropActions
+816 (int (*)(...))-0x00000000000000010
+824 (int (*)(...))(& _ZTI11QTreeWidget)
+832 QTreeWidget::_ZThn16_N11QTreeWidgetD1Ev
+840 QTreeWidget::_ZThn16_N11QTreeWidgetD0Ev
+848 QWidget::_ZThn16_NK7QWidget7devTypeEv
+856 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+864 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QTreeWidget
+ size=40 align=8
+ base size=40 base align=8
+QTreeWidget (0x7f95520f78c0) 0
+ vptr=((& QTreeWidget::_ZTV11QTreeWidget) + 16u)
+ QTreeView (0x7f95520f7930) 0
+ primary-for QTreeWidget (0x7f95520f78c0)
+ QAbstractItemView (0x7f95520f79a0) 0
+ primary-for QTreeView (0x7f95520f7930)
+ QAbstractScrollArea (0x7f95520f7a10) 0
+ primary-for QAbstractItemView (0x7f95520f79a0)
+ QFrame (0x7f95520f7a80) 0
+ primary-for QAbstractScrollArea (0x7f95520f7a10)
+ QWidget (0x7f95520fa200) 0
+ primary-for QFrame (0x7f95520f7a80)
+ QObject (0x7f95520f7af0) 0
+ primary-for QWidget (0x7f95520fa200)
+ QPaintDevice (0x7f95520f7b60) 16
+ vptr=((& QTreeWidget::_ZTV11QTreeWidget) + 832u)
+
+Class QAccessible
+ size=1 align=1
+ base size=0 base align=1
+QAccessible (0x7f9552140c40) 0 empty
+
+Vtable for QAccessibleInterface
+QAccessibleInterface::_ZTV20QAccessibleInterface: 19u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI20QAccessibleInterface)
+16 QAccessibleInterface::~QAccessibleInterface
+24 QAccessibleInterface::~QAccessibleInterface
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+48 __cxa_pure_virtual
+56 __cxa_pure_virtual
+64 __cxa_pure_virtual
+72 __cxa_pure_virtual
+80 __cxa_pure_virtual
+88 __cxa_pure_virtual
+96 __cxa_pure_virtual
+104 __cxa_pure_virtual
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 __cxa_pure_virtual
+136 __cxa_pure_virtual
+144 __cxa_pure_virtual
+
+Class QAccessibleInterface
+ size=8 align=8
+ base size=8 base align=8
+QAccessibleInterface (0x7f9551feae00) 0 nearly-empty
+ vptr=((& QAccessibleInterface::_ZTV20QAccessibleInterface) + 16u)
+ QAccessible (0x7f9551feae70) 0 empty
+
+Vtable for QAccessibleInterfaceEx
+QAccessibleInterfaceEx::_ZTV22QAccessibleInterfaceEx: 22u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI22QAccessibleInterfaceEx)
+16 QAccessibleInterfaceEx::~QAccessibleInterfaceEx
+24 QAccessibleInterfaceEx::~QAccessibleInterfaceEx
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+48 __cxa_pure_virtual
+56 __cxa_pure_virtual
+64 __cxa_pure_virtual
+72 __cxa_pure_virtual
+80 __cxa_pure_virtual
+88 __cxa_pure_virtual
+96 __cxa_pure_virtual
+104 __cxa_pure_virtual
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 __cxa_pure_virtual
+136 __cxa_pure_virtual
+144 __cxa_pure_virtual
+152 __cxa_pure_virtual
+160 QAccessibleInterfaceEx::virtual_hook
+168 QAccessibleInterfaceEx::interface_cast
+
+Class QAccessibleInterfaceEx
+ size=8 align=8
+ base size=8 base align=8
+QAccessibleInterfaceEx (0x7f9552066b60) 0 nearly-empty
+ vptr=((& QAccessibleInterfaceEx::_ZTV22QAccessibleInterfaceEx) + 16u)
+ QAccessibleInterface (0x7f9552066bd0) 0 nearly-empty
+ primary-for QAccessibleInterfaceEx (0x7f9552066b60)
+ QAccessible (0x7f9552066c40) 0 empty
+
+Vtable for QAccessibleEvent
+QAccessibleEvent::_ZTV16QAccessibleEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QAccessibleEvent)
+16 QAccessibleEvent::~QAccessibleEvent
+24 QAccessibleEvent::~QAccessibleEvent
+
+Class QAccessibleEvent
+ size=32 align=8
+ base size=32 base align=8
+QAccessibleEvent (0x7f9552066ee0) 0
+ vptr=((& QAccessibleEvent::_ZTV16QAccessibleEvent) + 16u)
+ QEvent (0x7f9552066f50) 0
+ primary-for QAccessibleEvent (0x7f9552066ee0)
+
+Vtable for QAccessible2Interface
+QAccessible2Interface::_ZTV21QAccessible2Interface: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI21QAccessible2Interface)
+16 QAccessible2Interface::~QAccessible2Interface
+24 QAccessible2Interface::~QAccessible2Interface
+
+Class QAccessible2Interface
+ size=8 align=8
+ base size=8 base align=8
+QAccessible2Interface (0x7f955207cf50) 0 nearly-empty
+ vptr=((& QAccessible2Interface::_ZTV21QAccessible2Interface) + 16u)
+
+Vtable for QAccessibleTextInterface
+QAccessibleTextInterface::_ZTV24QAccessibleTextInterface: 20u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI24QAccessibleTextInterface)
+16 QAccessibleTextInterface::~QAccessibleTextInterface
+24 QAccessibleTextInterface::~QAccessibleTextInterface
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+48 __cxa_pure_virtual
+56 __cxa_pure_virtual
+64 __cxa_pure_virtual
+72 __cxa_pure_virtual
+80 __cxa_pure_virtual
+88 __cxa_pure_virtual
+96 __cxa_pure_virtual
+104 __cxa_pure_virtual
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 __cxa_pure_virtual
+136 __cxa_pure_virtual
+144 __cxa_pure_virtual
+152 __cxa_pure_virtual
+
+Class QAccessibleTextInterface
+ size=8 align=8
+ base size=8 base align=8
+QAccessibleTextInterface (0x7f95520921c0) 0 nearly-empty
+ vptr=((& QAccessibleTextInterface::_ZTV24QAccessibleTextInterface) + 16u)
+ QAccessible2Interface (0x7f9552092230) 0 nearly-empty
+ primary-for QAccessibleTextInterface (0x7f95520921c0)
+
+Vtable for QAccessibleEditableTextInterface
+QAccessibleEditableTextInterface::_ZTV32QAccessibleEditableTextInterface: 11u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI32QAccessibleEditableTextInterface)
+16 QAccessibleEditableTextInterface::~QAccessibleEditableTextInterface
+24 QAccessibleEditableTextInterface::~QAccessibleEditableTextInterface
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+48 __cxa_pure_virtual
+56 __cxa_pure_virtual
+64 __cxa_pure_virtual
+72 __cxa_pure_virtual
+80 __cxa_pure_virtual
+
+Class QAccessibleEditableTextInterface
+ size=8 align=8
+ base size=8 base align=8
+QAccessibleEditableTextInterface (0x7f95520a4070) 0 nearly-empty
+ vptr=((& QAccessibleEditableTextInterface::_ZTV32QAccessibleEditableTextInterface) + 16u)
+ QAccessible2Interface (0x7f95520a40e0) 0 nearly-empty
+ primary-for QAccessibleEditableTextInterface (0x7f95520a4070)
+
+Vtable for QAccessibleSimpleEditableTextInterface
+QAccessibleSimpleEditableTextInterface::_ZTV38QAccessibleSimpleEditableTextInterface: 11u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI38QAccessibleSimpleEditableTextInterface)
+16 QAccessibleSimpleEditableTextInterface::~QAccessibleSimpleEditableTextInterface
+24 QAccessibleSimpleEditableTextInterface::~QAccessibleSimpleEditableTextInterface
+32 QAccessibleSimpleEditableTextInterface::copyText
+40 QAccessibleSimpleEditableTextInterface::deleteText
+48 QAccessibleSimpleEditableTextInterface::insertText
+56 QAccessibleSimpleEditableTextInterface::cutText
+64 QAccessibleSimpleEditableTextInterface::pasteText
+72 QAccessibleSimpleEditableTextInterface::replaceText
+80 QAccessibleSimpleEditableTextInterface::setAttributes
+
+Class QAccessibleSimpleEditableTextInterface
+ size=16 align=8
+ base size=16 base align=8
+QAccessibleSimpleEditableTextInterface (0x7f95520a4f50) 0
+ vptr=((& QAccessibleSimpleEditableTextInterface::_ZTV38QAccessibleSimpleEditableTextInterface) + 16u)
+ QAccessibleEditableTextInterface (0x7f95520a4310) 0 nearly-empty
+ primary-for QAccessibleSimpleEditableTextInterface (0x7f95520a4f50)
+ QAccessible2Interface (0x7f95520b0000) 0 nearly-empty
+ primary-for QAccessibleEditableTextInterface (0x7f95520a4310)
+
+Vtable for QAccessibleValueInterface
+QAccessibleValueInterface::_ZTV25QAccessibleValueInterface: 8u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI25QAccessibleValueInterface)
+16 QAccessibleValueInterface::~QAccessibleValueInterface
+24 QAccessibleValueInterface::~QAccessibleValueInterface
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+48 __cxa_pure_virtual
+56 __cxa_pure_virtual
+
+Class QAccessibleValueInterface
+ size=8 align=8
+ base size=8 base align=8
+QAccessibleValueInterface (0x7f95520b0230) 0 nearly-empty
+ vptr=((& QAccessibleValueInterface::_ZTV25QAccessibleValueInterface) + 16u)
+ QAccessible2Interface (0x7f95520b02a0) 0 nearly-empty
+ primary-for QAccessibleValueInterface (0x7f95520b0230)
+
+Vtable for QAccessibleTableInterface
+QAccessibleTableInterface::_ZTV25QAccessibleTableInterface: 30u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI25QAccessibleTableInterface)
+16 QAccessibleTableInterface::~QAccessibleTableInterface
+24 QAccessibleTableInterface::~QAccessibleTableInterface
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+48 __cxa_pure_virtual
+56 __cxa_pure_virtual
+64 __cxa_pure_virtual
+72 __cxa_pure_virtual
+80 __cxa_pure_virtual
+88 __cxa_pure_virtual
+96 __cxa_pure_virtual
+104 __cxa_pure_virtual
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 __cxa_pure_virtual
+136 __cxa_pure_virtual
+144 __cxa_pure_virtual
+152 __cxa_pure_virtual
+160 __cxa_pure_virtual
+168 __cxa_pure_virtual
+176 __cxa_pure_virtual
+184 __cxa_pure_virtual
+192 __cxa_pure_virtual
+200 __cxa_pure_virtual
+208 __cxa_pure_virtual
+216 __cxa_pure_virtual
+224 __cxa_pure_virtual
+232 __cxa_pure_virtual
+
+Class QAccessibleTableInterface
+ size=8 align=8
+ base size=8 base align=8
+QAccessibleTableInterface (0x7f95520c0070) 0 nearly-empty
+ vptr=((& QAccessibleTableInterface::_ZTV25QAccessibleTableInterface) + 16u)
+ QAccessible2Interface (0x7f95520c00e0) 0 nearly-empty
+ primary-for QAccessibleTableInterface (0x7f95520c0070)
+
+Vtable for QAccessibleActionInterface
+QAccessibleActionInterface::_ZTV26QAccessibleActionInterface: 10u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI26QAccessibleActionInterface)
+16 QAccessibleActionInterface::~QAccessibleActionInterface
+24 QAccessibleActionInterface::~QAccessibleActionInterface
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+48 __cxa_pure_virtual
+56 __cxa_pure_virtual
+64 __cxa_pure_virtual
+72 __cxa_pure_virtual
+
+Class QAccessibleActionInterface
+ size=8 align=8
+ base size=8 base align=8
+QAccessibleActionInterface (0x7f95520c0460) 0 nearly-empty
+ vptr=((& QAccessibleActionInterface::_ZTV26QAccessibleActionInterface) + 16u)
+ QAccessible2Interface (0x7f95520c04d0) 0 nearly-empty
+ primary-for QAccessibleActionInterface (0x7f95520c0460)
+
+Vtable for QAccessibleImageInterface
+QAccessibleImageInterface::_ZTV25QAccessibleImageInterface: 7u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI25QAccessibleImageInterface)
+16 QAccessibleImageInterface::~QAccessibleImageInterface
+24 QAccessibleImageInterface::~QAccessibleImageInterface
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+48 __cxa_pure_virtual
+
+Class QAccessibleImageInterface
+ size=8 align=8
+ base size=8 base align=8
+QAccessibleImageInterface (0x7f95520c0850) 0 nearly-empty
+ vptr=((& QAccessibleImageInterface::_ZTV25QAccessibleImageInterface) + 16u)
+ QAccessible2Interface (0x7f95520c08c0) 0 nearly-empty
+ primary-for QAccessibleImageInterface (0x7f95520c0850)
+
+Vtable for QAccessibleBridge
+QAccessibleBridge::_ZTV17QAccessibleBridge: 6u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QAccessibleBridge)
+16 QAccessibleBridge::~QAccessibleBridge
+24 QAccessibleBridge::~QAccessibleBridge
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+
+Class QAccessibleBridge
+ size=8 align=8
+ base size=8 base align=8
+QAccessibleBridge (0x7f95520c0c40) 0 nearly-empty
+ vptr=((& QAccessibleBridge::_ZTV17QAccessibleBridge) + 16u)
+
+Vtable for QAccessibleBridgeFactoryInterface
+QAccessibleBridgeFactoryInterface::_ZTV33QAccessibleBridgeFactoryInterface: 6u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI33QAccessibleBridgeFactoryInterface)
+16 QAccessibleBridgeFactoryInterface::~QAccessibleBridgeFactoryInterface
+24 QAccessibleBridgeFactoryInterface::~QAccessibleBridgeFactoryInterface
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+
+Class QAccessibleBridgeFactoryInterface
+ size=8 align=8
+ base size=8 base align=8
+QAccessibleBridgeFactoryInterface (0x7f95520d8540) 0 nearly-empty
+ vptr=((& QAccessibleBridgeFactoryInterface::_ZTV33QAccessibleBridgeFactoryInterface) + 16u)
+ QFactoryInterface (0x7f95520d85b0) 0 nearly-empty
+ primary-for QAccessibleBridgeFactoryInterface (0x7f95520d8540)
+
+Vtable for QAccessibleBridgePlugin
+QAccessibleBridgePlugin::_ZTV23QAccessibleBridgePlugin: 22u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI23QAccessibleBridgePlugin)
+16 QAccessibleBridgePlugin::metaObject
+24 QAccessibleBridgePlugin::qt_metacast
+32 QAccessibleBridgePlugin::qt_metacall
+40 QAccessibleBridgePlugin::~QAccessibleBridgePlugin
+48 QAccessibleBridgePlugin::~QAccessibleBridgePlugin
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 (int (*)(...))-0x00000000000000010
+136 (int (*)(...))(& _ZTI23QAccessibleBridgePlugin)
+144 QAccessibleBridgePlugin::_ZThn16_N23QAccessibleBridgePluginD1Ev
+152 QAccessibleBridgePlugin::_ZThn16_N23QAccessibleBridgePluginD0Ev
+160 __cxa_pure_virtual
+168 __cxa_pure_virtual
+
+Class QAccessibleBridgePlugin
+ size=24 align=8
+ base size=24 base align=8
+QAccessibleBridgePlugin (0x7f9551ee4580) 0
+ vptr=((& QAccessibleBridgePlugin::_ZTV23QAccessibleBridgePlugin) + 16u)
+ QObject (0x7f95520d8620) 0
+ primary-for QAccessibleBridgePlugin (0x7f9551ee4580)
+ QAccessibleBridgeFactoryInterface (0x7f9551ee8000) 16 nearly-empty
+ vptr=((& QAccessibleBridgePlugin::_ZTV23QAccessibleBridgePlugin) + 144u)
+ QFactoryInterface (0x7f9551ee8070) 16 nearly-empty
+ primary-for QAccessibleBridgeFactoryInterface (0x7f9551ee8000)
+
+Vtable for QAccessibleObject
+QAccessibleObject::_ZTV17QAccessibleObject: 19u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QAccessibleObject)
+16 QAccessibleObject::~QAccessibleObject
+24 QAccessibleObject::~QAccessibleObject
+32 QAccessibleObject::isValid
+40 QAccessibleObject::object
+48 __cxa_pure_virtual
+56 __cxa_pure_virtual
+64 __cxa_pure_virtual
+72 __cxa_pure_virtual
+80 __cxa_pure_virtual
+88 __cxa_pure_virtual
+96 QAccessibleObject::setText
+104 QAccessibleObject::rect
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 QAccessibleObject::userActionCount
+136 QAccessibleObject::actionText
+144 QAccessibleObject::doAction
+
+Class QAccessibleObject
+ size=16 align=8
+ base size=16 base align=8
+QAccessibleObject (0x7f9551ee8f50) 0
+ vptr=((& QAccessibleObject::_ZTV17QAccessibleObject) + 16u)
+ QAccessibleInterface (0x7f9551ee8310) 0 nearly-empty
+ primary-for QAccessibleObject (0x7f9551ee8f50)
+ QAccessible (0x7f9551efb000) 0 empty
+
+Vtable for QAccessibleObjectEx
+QAccessibleObjectEx::_ZTV19QAccessibleObjectEx: 22u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QAccessibleObjectEx)
+16 QAccessibleObjectEx::~QAccessibleObjectEx
+24 QAccessibleObjectEx::~QAccessibleObjectEx
+32 QAccessibleObjectEx::isValid
+40 QAccessibleObjectEx::object
+48 __cxa_pure_virtual
+56 __cxa_pure_virtual
+64 __cxa_pure_virtual
+72 __cxa_pure_virtual
+80 __cxa_pure_virtual
+88 __cxa_pure_virtual
+96 QAccessibleObjectEx::setText
+104 QAccessibleObjectEx::rect
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 QAccessibleObjectEx::userActionCount
+136 QAccessibleObjectEx::actionText
+144 QAccessibleObjectEx::doAction
+152 __cxa_pure_virtual
+160 QAccessibleInterfaceEx::virtual_hook
+168 QAccessibleInterfaceEx::interface_cast
+
+Class QAccessibleObjectEx
+ size=16 align=8
+ base size=16 base align=8
+QAccessibleObjectEx (0x7f9551efb700) 0
+ vptr=((& QAccessibleObjectEx::_ZTV19QAccessibleObjectEx) + 16u)
+ QAccessibleInterfaceEx (0x7f9551efb770) 0 nearly-empty
+ primary-for QAccessibleObjectEx (0x7f9551efb700)
+ QAccessibleInterface (0x7f9551efb7e0) 0 nearly-empty
+ primary-for QAccessibleInterfaceEx (0x7f9551efb770)
+ QAccessible (0x7f9551efb850) 0 empty
+
+Vtable for QAccessibleApplication
+QAccessibleApplication::_ZTV22QAccessibleApplication: 19u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI22QAccessibleApplication)
+16 QAccessibleApplication::~QAccessibleApplication
+24 QAccessibleApplication::~QAccessibleApplication
+32 QAccessibleObject::isValid
+40 QAccessibleObject::object
+48 QAccessibleApplication::childCount
+56 QAccessibleApplication::indexOfChild
+64 QAccessibleApplication::relationTo
+72 QAccessibleApplication::childAt
+80 QAccessibleApplication::navigate
+88 QAccessibleApplication::text
+96 QAccessibleObject::setText
+104 QAccessibleObject::rect
+112 QAccessibleApplication::role
+120 QAccessibleApplication::state
+128 QAccessibleApplication::userActionCount
+136 QAccessibleApplication::actionText
+144 QAccessibleApplication::doAction
+
+Class QAccessibleApplication
+ size=16 align=8
+ base size=16 base align=8
+QAccessibleApplication (0x7f9551efbf50) 0
+ vptr=((& QAccessibleApplication::_ZTV22QAccessibleApplication) + 16u)
+ QAccessibleObject (0x7f9551efb690) 0
+ primary-for QAccessibleApplication (0x7f9551efbf50)
+ QAccessibleInterface (0x7f9551efbee0) 0 nearly-empty
+ primary-for QAccessibleObject (0x7f9551efb690)
+ QAccessible (0x7f9551f0d000) 0 empty
+
+Vtable for QAccessibleFactoryInterface
+QAccessibleFactoryInterface::_ZTV27QAccessibleFactoryInterface: 6u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI27QAccessibleFactoryInterface)
+16 QAccessibleFactoryInterface::~QAccessibleFactoryInterface
+24 QAccessibleFactoryInterface::~QAccessibleFactoryInterface
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+
+Class QAccessibleFactoryInterface
+ size=8 align=8
+ base size=8 base align=8
+QAccessibleFactoryInterface (0x7f9551ee4e00) 0 nearly-empty
+ vptr=((& QAccessibleFactoryInterface::_ZTV27QAccessibleFactoryInterface) + 16u)
+ QAccessible (0x7f9551f0d8c0) 0 empty
+ QFactoryInterface (0x7f9551f0d930) 0 nearly-empty
+ primary-for QAccessibleFactoryInterface (0x7f9551ee4e00)
+
+Vtable for QAccessiblePlugin
+QAccessiblePlugin::_ZTV17QAccessiblePlugin: 22u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QAccessiblePlugin)
+16 QAccessiblePlugin::metaObject
+24 QAccessiblePlugin::qt_metacast
+32 QAccessiblePlugin::qt_metacall
+40 QAccessiblePlugin::~QAccessiblePlugin
+48 QAccessiblePlugin::~QAccessiblePlugin
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 (int (*)(...))-0x00000000000000010
+136 (int (*)(...))(& _ZTI17QAccessiblePlugin)
+144 QAccessiblePlugin::_ZThn16_N17QAccessiblePluginD1Ev
+152 QAccessiblePlugin::_ZThn16_N17QAccessiblePluginD0Ev
+160 __cxa_pure_virtual
+168 __cxa_pure_virtual
+
+Class QAccessiblePlugin
+ size=24 align=8
+ base size=24 base align=8
+QAccessiblePlugin (0x7f9551f18800) 0
+ vptr=((& QAccessiblePlugin::_ZTV17QAccessiblePlugin) + 16u)
+ QObject (0x7f9551f1e2a0) 0
+ primary-for QAccessiblePlugin (0x7f9551f18800)
+ QAccessibleFactoryInterface (0x7f9551f18880) 16 nearly-empty
+ vptr=((& QAccessiblePlugin::_ZTV17QAccessiblePlugin) + 144u)
+ QAccessible (0x7f9551f1e310) 16 empty
+ QFactoryInterface (0x7f9551f1e380) 16 nearly-empty
+ primary-for QAccessibleFactoryInterface (0x7f9551f18880)
+
+Vtable for QAccessibleWidget
+QAccessibleWidget::_ZTV17QAccessibleWidget: 19u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QAccessibleWidget)
+16 QAccessibleWidget::~QAccessibleWidget
+24 QAccessibleWidget::~QAccessibleWidget
+32 QAccessibleObject::isValid
+40 QAccessibleObject::object
+48 QAccessibleWidget::childCount
+56 QAccessibleWidget::indexOfChild
+64 QAccessibleWidget::relationTo
+72 QAccessibleWidget::childAt
+80 QAccessibleWidget::navigate
+88 QAccessibleWidget::text
+96 QAccessibleObject::setText
+104 QAccessibleWidget::rect
+112 QAccessibleWidget::role
+120 QAccessibleWidget::state
+128 QAccessibleWidget::userActionCount
+136 QAccessibleWidget::actionText
+144 QAccessibleWidget::doAction
+
+Class QAccessibleWidget
+ size=24 align=8
+ base size=24 base align=8
+QAccessibleWidget (0x7f9551f2e310) 0
+ vptr=((& QAccessibleWidget::_ZTV17QAccessibleWidget) + 16u)
+ QAccessibleObject (0x7f9551f2e380) 0
+ primary-for QAccessibleWidget (0x7f9551f2e310)
+ QAccessibleInterface (0x7f9551f2e3f0) 0 nearly-empty
+ primary-for QAccessibleObject (0x7f9551f2e380)
+ QAccessible (0x7f9551f2e460) 0 empty
+
+Vtable for QAccessibleWidgetEx
+QAccessibleWidgetEx::_ZTV19QAccessibleWidgetEx: 22u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QAccessibleWidgetEx)
+16 QAccessibleWidgetEx::~QAccessibleWidgetEx
+24 QAccessibleWidgetEx::~QAccessibleWidgetEx
+32 QAccessibleObjectEx::isValid
+40 QAccessibleObjectEx::object
+48 QAccessibleWidgetEx::childCount
+56 QAccessibleWidgetEx::indexOfChild
+64 QAccessibleWidgetEx::relationTo
+72 QAccessibleWidgetEx::childAt
+80 QAccessibleWidgetEx::navigate
+88 QAccessibleWidgetEx::text
+96 QAccessibleObjectEx::setText
+104 QAccessibleWidgetEx::rect
+112 QAccessibleWidgetEx::role
+120 QAccessibleWidgetEx::state
+128 QAccessibleObjectEx::userActionCount
+136 QAccessibleWidgetEx::actionText
+144 QAccessibleWidgetEx::doAction
+152 QAccessibleWidgetEx::invokeMethodEx
+160 QAccessibleInterfaceEx::virtual_hook
+168 QAccessibleInterfaceEx::interface_cast
+
+Class QAccessibleWidgetEx
+ size=24 align=8
+ base size=24 base align=8
+QAccessibleWidgetEx (0x7f9551f3b3f0) 0
+ vptr=((& QAccessibleWidgetEx::_ZTV19QAccessibleWidgetEx) + 16u)
+ QAccessibleObjectEx (0x7f9551f3b460) 0
+ primary-for QAccessibleWidgetEx (0x7f9551f3b3f0)
+ QAccessibleInterfaceEx (0x7f9551f3b4d0) 0 nearly-empty
+ primary-for QAccessibleObjectEx (0x7f9551f3b460)
+ QAccessibleInterface (0x7f9551f3b540) 0 nearly-empty
+ primary-for QAccessibleInterfaceEx (0x7f9551f3b4d0)
+ QAccessible (0x7f9551f3b5b0) 0 empty
+
+Vtable for QAction
+QAction::_ZTV7QAction: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QAction)
+16 QAction::metaObject
+24 QAction::qt_metacast
+32 QAction::qt_metacall
+40 QAction::~QAction
+48 QAction::~QAction
+56 QAction::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QAction
+ size=16 align=8
+ base size=16 base align=8
+QAction (0x7f9551f4a540) 0
+ vptr=((& QAction::_ZTV7QAction) + 16u)
+ QObject (0x7f9551f4a5b0) 0
+ primary-for QAction (0x7f9551f4a540)
+
+Vtable for QActionGroup
+QActionGroup::_ZTV12QActionGroup: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QActionGroup)
+16 QActionGroup::metaObject
+24 QActionGroup::qt_metacast
+32 QActionGroup::qt_metacall
+40 QActionGroup::~QActionGroup
+48 QActionGroup::~QActionGroup
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QActionGroup
+ size=16 align=8
+ base size=16 base align=8
+QActionGroup (0x7f9551f92070) 0
+ vptr=((& QActionGroup::_ZTV12QActionGroup) + 16u)
+ QObject (0x7f9551f920e0) 0
+ primary-for QActionGroup (0x7f9551f92070)
+
+Vtable for QApplication
+QApplication::_ZTV12QApplication: 20u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QApplication)
+16 QApplication::metaObject
+24 QApplication::qt_metacast
+32 QApplication::qt_metacall
+40 QApplication::~QApplication
+48 QApplication::~QApplication
+56 QApplication::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QApplication::notify
+120 QApplication::compressEvent
+128 QApplication::x11EventFilter
+136 QApplication::x11ClientMessage
+144 QApplication::commitData
+152 QApplication::saveState
+
+Class QApplication
+ size=16 align=8
+ base size=16 base align=8
+QApplication (0x7f9551fd4460) 0
+ vptr=((& QApplication::_ZTV12QApplication) + 16u)
+ QCoreApplication (0x7f9551fd44d0) 0
+ primary-for QApplication (0x7f9551fd4460)
+ QObject (0x7f9551fd4540) 0
+ primary-for QCoreApplication (0x7f9551fd44d0)
+
+Vtable for QLayoutItem
+QLayoutItem::_ZTV11QLayoutItem: 18u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QLayoutItem)
+16 QLayoutItem::~QLayoutItem
+24 QLayoutItem::~QLayoutItem
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+48 __cxa_pure_virtual
+56 __cxa_pure_virtual
+64 __cxa_pure_virtual
+72 __cxa_pure_virtual
+80 __cxa_pure_virtual
+88 QLayoutItem::hasHeightForWidth
+96 QLayoutItem::heightForWidth
+104 QLayoutItem::minimumHeightForWidth
+112 QLayoutItem::invalidate
+120 QLayoutItem::widget
+128 QLayoutItem::layout
+136 QLayoutItem::spacerItem
+
+Class QLayoutItem
+ size=16 align=8
+ base size=12 base align=8
+QLayoutItem (0x7f9551e260e0) 0
+ vptr=((& QLayoutItem::_ZTV11QLayoutItem) + 16u)
+
+Vtable for QSpacerItem
+QSpacerItem::_ZTV11QSpacerItem: 18u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QSpacerItem)
+16 QSpacerItem::~QSpacerItem
+24 QSpacerItem::~QSpacerItem
+32 QSpacerItem::sizeHint
+40 QSpacerItem::minimumSize
+48 QSpacerItem::maximumSize
+56 QSpacerItem::expandingDirections
+64 QSpacerItem::setGeometry
+72 QSpacerItem::geometry
+80 QSpacerItem::isEmpty
+88 QLayoutItem::hasHeightForWidth
+96 QLayoutItem::heightForWidth
+104 QLayoutItem::minimumHeightForWidth
+112 QLayoutItem::invalidate
+120 QLayoutItem::widget
+128 QLayoutItem::layout
+136 QSpacerItem::spacerItem
+
+Class QSpacerItem
+ size=40 align=8
+ base size=40 base align=8
+QSpacerItem (0x7f9551e26cb0) 0
+ vptr=((& QSpacerItem::_ZTV11QSpacerItem) + 16u)
+ QLayoutItem (0x7f9551e26d20) 0
+ primary-for QSpacerItem (0x7f9551e26cb0)
+
+Vtable for QWidgetItem
+QWidgetItem::_ZTV11QWidgetItem: 18u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QWidgetItem)
+16 QWidgetItem::~QWidgetItem
+24 QWidgetItem::~QWidgetItem
+32 QWidgetItem::sizeHint
+40 QWidgetItem::minimumSize
+48 QWidgetItem::maximumSize
+56 QWidgetItem::expandingDirections
+64 QWidgetItem::setGeometry
+72 QWidgetItem::geometry
+80 QWidgetItem::isEmpty
+88 QWidgetItem::hasHeightForWidth
+96 QWidgetItem::heightForWidth
+104 QLayoutItem::minimumHeightForWidth
+112 QLayoutItem::invalidate
+120 QWidgetItem::widget
+128 QLayoutItem::layout
+136 QLayoutItem::spacerItem
+
+Class QWidgetItem
+ size=24 align=8
+ base size=24 base align=8
+QWidgetItem (0x7f9551e431c0) 0
+ vptr=((& QWidgetItem::_ZTV11QWidgetItem) + 16u)
+ QLayoutItem (0x7f9551e43230) 0
+ primary-for QWidgetItem (0x7f9551e431c0)
+
+Vtable for QWidgetItemV2
+QWidgetItemV2::_ZTV13QWidgetItemV2: 18u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QWidgetItemV2)
+16 QWidgetItemV2::~QWidgetItemV2
+24 QWidgetItemV2::~QWidgetItemV2
+32 QWidgetItemV2::sizeHint
+40 QWidgetItemV2::minimumSize
+48 QWidgetItemV2::maximumSize
+56 QWidgetItem::expandingDirections
+64 QWidgetItem::setGeometry
+72 QWidgetItem::geometry
+80 QWidgetItem::isEmpty
+88 QWidgetItem::hasHeightForWidth
+96 QWidgetItemV2::heightForWidth
+104 QLayoutItem::minimumHeightForWidth
+112 QLayoutItem::invalidate
+120 QWidgetItem::widget
+128 QLayoutItem::layout
+136 QLayoutItem::spacerItem
+
+Class QWidgetItemV2
+ size=88 align=8
+ base size=88 base align=8
+QWidgetItemV2 (0x7f9551e53000) 0
+ vptr=((& QWidgetItemV2::_ZTV13QWidgetItemV2) + 16u)
+ QWidgetItem (0x7f9551e53070) 0
+ primary-for QWidgetItemV2 (0x7f9551e53000)
+ QLayoutItem (0x7f9551e530e0) 0
+ primary-for QWidgetItem (0x7f9551e53070)
+
+Class QLayoutIterator
+ size=16 align=8
+ base size=12 base align=8
+QLayoutIterator (0x7f9551e53e70) 0
+
+Vtable for QLayout
+QLayout::_ZTV7QLayout: 45u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QLayout)
+16 QLayout::metaObject
+24 QLayout::qt_metacast
+32 QLayout::qt_metacall
+40 QLayout::~QLayout
+48 QLayout::~QLayout
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QLayout::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QLayout::invalidate
+120 QLayout::geometry
+128 __cxa_pure_virtual
+136 QLayout::expandingDirections
+144 QLayout::minimumSize
+152 QLayout::maximumSize
+160 QLayout::setGeometry
+168 __cxa_pure_virtual
+176 __cxa_pure_virtual
+184 QLayout::indexOf
+192 __cxa_pure_virtual
+200 QLayout::isEmpty
+208 QLayout::layout
+216 (int (*)(...))-0x00000000000000010
+224 (int (*)(...))(& _ZTI7QLayout)
+232 QLayout::_ZThn16_N7QLayoutD1Ev
+240 QLayout::_ZThn16_N7QLayoutD0Ev
+248 __cxa_pure_virtual
+256 QLayout::_ZThn16_NK7QLayout11minimumSizeEv
+264 QLayout::_ZThn16_NK7QLayout11maximumSizeEv
+272 QLayout::_ZThn16_NK7QLayout19expandingDirectionsEv
+280 QLayout::_ZThn16_N7QLayout11setGeometryERK5QRect
+288 QLayout::_ZThn16_NK7QLayout8geometryEv
+296 QLayout::_ZThn16_NK7QLayout7isEmptyEv
+304 QLayoutItem::hasHeightForWidth
+312 QLayoutItem::heightForWidth
+320 QLayoutItem::minimumHeightForWidth
+328 QLayout::_ZThn16_N7QLayout10invalidateEv
+336 QLayoutItem::widget
+344 QLayout::_ZThn16_N7QLayout6layoutEv
+352 QLayoutItem::spacerItem
+
+Class QLayout
+ size=32 align=8
+ base size=28 base align=8
+QLayout (0x7f9551e67380) 0
+ vptr=((& QLayout::_ZTV7QLayout) + 16u)
+ QObject (0x7f9551e66f50) 0
+ primary-for QLayout (0x7f9551e67380)
+ QLayoutItem (0x7f9551e69000) 16
+ vptr=((& QLayout::_ZTV7QLayout) + 232u)
+
+Vtable for QGridLayout
+QGridLayout::_ZTV11QGridLayout: 49u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QGridLayout)
+16 QGridLayout::metaObject
+24 QGridLayout::qt_metacast
+32 QGridLayout::qt_metacall
+40 QGridLayout::~QGridLayout
+48 QGridLayout::~QGridLayout
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QLayout::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QGridLayout::invalidate
+120 QLayout::geometry
+128 QGridLayout::addItem
+136 QGridLayout::expandingDirections
+144 QGridLayout::minimumSize
+152 QGridLayout::maximumSize
+160 QGridLayout::setGeometry
+168 QGridLayout::itemAt
+176 QGridLayout::takeAt
+184 QLayout::indexOf
+192 QGridLayout::count
+200 QLayout::isEmpty
+208 QLayout::layout
+216 QGridLayout::sizeHint
+224 QGridLayout::hasHeightForWidth
+232 QGridLayout::heightForWidth
+240 QGridLayout::minimumHeightForWidth
+248 (int (*)(...))-0x00000000000000010
+256 (int (*)(...))(& _ZTI11QGridLayout)
+264 QGridLayout::_ZThn16_N11QGridLayoutD1Ev
+272 QGridLayout::_ZThn16_N11QGridLayoutD0Ev
+280 QGridLayout::_ZThn16_NK11QGridLayout8sizeHintEv
+288 QGridLayout::_ZThn16_NK11QGridLayout11minimumSizeEv
+296 QGridLayout::_ZThn16_NK11QGridLayout11maximumSizeEv
+304 QGridLayout::_ZThn16_NK11QGridLayout19expandingDirectionsEv
+312 QGridLayout::_ZThn16_N11QGridLayout11setGeometryERK5QRect
+320 QLayout::_ZThn16_NK7QLayout8geometryEv
+328 QLayout::_ZThn16_NK7QLayout7isEmptyEv
+336 QGridLayout::_ZThn16_NK11QGridLayout17hasHeightForWidthEv
+344 QGridLayout::_ZThn16_NK11QGridLayout14heightForWidthEi
+352 QGridLayout::_ZThn16_NK11QGridLayout21minimumHeightForWidthEi
+360 QGridLayout::_ZThn16_N11QGridLayout10invalidateEv
+368 QLayoutItem::widget
+376 QLayout::_ZThn16_N7QLayout6layoutEv
+384 QLayoutItem::spacerItem
+
+Class QGridLayout
+ size=32 align=8
+ base size=28 base align=8
+QGridLayout (0x7f9551eaa4d0) 0
+ vptr=((& QGridLayout::_ZTV11QGridLayout) + 16u)
+ QLayout (0x7f9551ea6500) 0
+ primary-for QGridLayout (0x7f9551eaa4d0)
+ QObject (0x7f9551eaa540) 0
+ primary-for QLayout (0x7f9551ea6500)
+ QLayoutItem (0x7f9551eaa5b0) 16
+ vptr=((& QGridLayout::_ZTV11QGridLayout) + 264u)
+
+Vtable for QBoxLayout
+QBoxLayout::_ZTV10QBoxLayout: 49u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QBoxLayout)
+16 QBoxLayout::metaObject
+24 QBoxLayout::qt_metacast
+32 QBoxLayout::qt_metacall
+40 QBoxLayout::~QBoxLayout
+48 QBoxLayout::~QBoxLayout
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QLayout::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QBoxLayout::invalidate
+120 QLayout::geometry
+128 QBoxLayout::addItem
+136 QBoxLayout::expandingDirections
+144 QBoxLayout::minimumSize
+152 QBoxLayout::maximumSize
+160 QBoxLayout::setGeometry
+168 QBoxLayout::itemAt
+176 QBoxLayout::takeAt
+184 QLayout::indexOf
+192 QBoxLayout::count
+200 QLayout::isEmpty
+208 QLayout::layout
+216 QBoxLayout::sizeHint
+224 QBoxLayout::hasHeightForWidth
+232 QBoxLayout::heightForWidth
+240 QBoxLayout::minimumHeightForWidth
+248 (int (*)(...))-0x00000000000000010
+256 (int (*)(...))(& _ZTI10QBoxLayout)
+264 QBoxLayout::_ZThn16_N10QBoxLayoutD1Ev
+272 QBoxLayout::_ZThn16_N10QBoxLayoutD0Ev
+280 QBoxLayout::_ZThn16_NK10QBoxLayout8sizeHintEv
+288 QBoxLayout::_ZThn16_NK10QBoxLayout11minimumSizeEv
+296 QBoxLayout::_ZThn16_NK10QBoxLayout11maximumSizeEv
+304 QBoxLayout::_ZThn16_NK10QBoxLayout19expandingDirectionsEv
+312 QBoxLayout::_ZThn16_N10QBoxLayout11setGeometryERK5QRect
+320 QLayout::_ZThn16_NK7QLayout8geometryEv
+328 QLayout::_ZThn16_NK7QLayout7isEmptyEv
+336 QBoxLayout::_ZThn16_NK10QBoxLayout17hasHeightForWidthEv
+344 QBoxLayout::_ZThn16_NK10QBoxLayout14heightForWidthEi
+352 QBoxLayout::_ZThn16_NK10QBoxLayout21minimumHeightForWidthEi
+360 QBoxLayout::_ZThn16_N10QBoxLayout10invalidateEv
+368 QLayoutItem::widget
+376 QLayout::_ZThn16_N7QLayout6layoutEv
+384 QLayoutItem::spacerItem
+
+Class QBoxLayout
+ size=32 align=8
+ base size=28 base align=8
+QBoxLayout (0x7f9551cf4540) 0
+ vptr=((& QBoxLayout::_ZTV10QBoxLayout) + 16u)
+ QLayout (0x7f9551cf3400) 0
+ primary-for QBoxLayout (0x7f9551cf4540)
+ QObject (0x7f9551cf45b0) 0
+ primary-for QLayout (0x7f9551cf3400)
+ QLayoutItem (0x7f9551cf4620) 16
+ vptr=((& QBoxLayout::_ZTV10QBoxLayout) + 264u)
+
+Vtable for QHBoxLayout
+QHBoxLayout::_ZTV11QHBoxLayout: 49u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QHBoxLayout)
+16 QHBoxLayout::metaObject
+24 QHBoxLayout::qt_metacast
+32 QHBoxLayout::qt_metacall
+40 QHBoxLayout::~QHBoxLayout
+48 QHBoxLayout::~QHBoxLayout
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QLayout::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QBoxLayout::invalidate
+120 QLayout::geometry
+128 QBoxLayout::addItem
+136 QBoxLayout::expandingDirections
+144 QBoxLayout::minimumSize
+152 QBoxLayout::maximumSize
+160 QBoxLayout::setGeometry
+168 QBoxLayout::itemAt
+176 QBoxLayout::takeAt
+184 QLayout::indexOf
+192 QBoxLayout::count
+200 QLayout::isEmpty
+208 QLayout::layout
+216 QBoxLayout::sizeHint
+224 QBoxLayout::hasHeightForWidth
+232 QBoxLayout::heightForWidth
+240 QBoxLayout::minimumHeightForWidth
+248 (int (*)(...))-0x00000000000000010
+256 (int (*)(...))(& _ZTI11QHBoxLayout)
+264 QHBoxLayout::_ZThn16_N11QHBoxLayoutD1Ev
+272 QHBoxLayout::_ZThn16_N11QHBoxLayoutD0Ev
+280 QBoxLayout::_ZThn16_NK10QBoxLayout8sizeHintEv
+288 QBoxLayout::_ZThn16_NK10QBoxLayout11minimumSizeEv
+296 QBoxLayout::_ZThn16_NK10QBoxLayout11maximumSizeEv
+304 QBoxLayout::_ZThn16_NK10QBoxLayout19expandingDirectionsEv
+312 QBoxLayout::_ZThn16_N10QBoxLayout11setGeometryERK5QRect
+320 QLayout::_ZThn16_NK7QLayout8geometryEv
+328 QLayout::_ZThn16_NK7QLayout7isEmptyEv
+336 QBoxLayout::_ZThn16_NK10QBoxLayout17hasHeightForWidthEv
+344 QBoxLayout::_ZThn16_NK10QBoxLayout14heightForWidthEi
+352 QBoxLayout::_ZThn16_NK10QBoxLayout21minimumHeightForWidthEi
+360 QBoxLayout::_ZThn16_N10QBoxLayout10invalidateEv
+368 QLayoutItem::widget
+376 QLayout::_ZThn16_N7QLayout6layoutEv
+384 QLayoutItem::spacerItem
+
+Class QHBoxLayout
+ size=32 align=8
+ base size=28 base align=8
+QHBoxLayout (0x7f9551d19f50) 0
+ vptr=((& QHBoxLayout::_ZTV11QHBoxLayout) + 16u)
+ QBoxLayout (0x7f9551d23000) 0
+ primary-for QHBoxLayout (0x7f9551d19f50)
+ QLayout (0x7f9551d22280) 0
+ primary-for QBoxLayout (0x7f9551d23000)
+ QObject (0x7f9551d23070) 0
+ primary-for QLayout (0x7f9551d22280)
+ QLayoutItem (0x7f9551d230e0) 16
+ vptr=((& QHBoxLayout::_ZTV11QHBoxLayout) + 264u)
+
+Vtable for QVBoxLayout
+QVBoxLayout::_ZTV11QVBoxLayout: 49u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QVBoxLayout)
+16 QVBoxLayout::metaObject
+24 QVBoxLayout::qt_metacast
+32 QVBoxLayout::qt_metacall
+40 QVBoxLayout::~QVBoxLayout
+48 QVBoxLayout::~QVBoxLayout
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QLayout::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QBoxLayout::invalidate
+120 QLayout::geometry
+128 QBoxLayout::addItem
+136 QBoxLayout::expandingDirections
+144 QBoxLayout::minimumSize
+152 QBoxLayout::maximumSize
+160 QBoxLayout::setGeometry
+168 QBoxLayout::itemAt
+176 QBoxLayout::takeAt
+184 QLayout::indexOf
+192 QBoxLayout::count
+200 QLayout::isEmpty
+208 QLayout::layout
+216 QBoxLayout::sizeHint
+224 QBoxLayout::hasHeightForWidth
+232 QBoxLayout::heightForWidth
+240 QBoxLayout::minimumHeightForWidth
+248 (int (*)(...))-0x00000000000000010
+256 (int (*)(...))(& _ZTI11QVBoxLayout)
+264 QVBoxLayout::_ZThn16_N11QVBoxLayoutD1Ev
+272 QVBoxLayout::_ZThn16_N11QVBoxLayoutD0Ev
+280 QBoxLayout::_ZThn16_NK10QBoxLayout8sizeHintEv
+288 QBoxLayout::_ZThn16_NK10QBoxLayout11minimumSizeEv
+296 QBoxLayout::_ZThn16_NK10QBoxLayout11maximumSizeEv
+304 QBoxLayout::_ZThn16_NK10QBoxLayout19expandingDirectionsEv
+312 QBoxLayout::_ZThn16_N10QBoxLayout11setGeometryERK5QRect
+320 QLayout::_ZThn16_NK7QLayout8geometryEv
+328 QLayout::_ZThn16_NK7QLayout7isEmptyEv
+336 QBoxLayout::_ZThn16_NK10QBoxLayout17hasHeightForWidthEv
+344 QBoxLayout::_ZThn16_NK10QBoxLayout14heightForWidthEi
+352 QBoxLayout::_ZThn16_NK10QBoxLayout21minimumHeightForWidthEi
+360 QBoxLayout::_ZThn16_N10QBoxLayout10invalidateEv
+368 QLayoutItem::widget
+376 QLayout::_ZThn16_N7QLayout6layoutEv
+384 QLayoutItem::spacerItem
+
+Class QVBoxLayout
+ size=32 align=8
+ base size=28 base align=8
+QVBoxLayout (0x7f9551d365b0) 0
+ vptr=((& QVBoxLayout::_ZTV11QVBoxLayout) + 16u)
+ QBoxLayout (0x7f9551d36620) 0
+ primary-for QVBoxLayout (0x7f9551d365b0)
+ QLayout (0x7f9551d22980) 0
+ primary-for QBoxLayout (0x7f9551d36620)
+ QObject (0x7f9551d36690) 0
+ primary-for QLayout (0x7f9551d22980)
+ QLayoutItem (0x7f9551d36700) 16
+ vptr=((& QVBoxLayout::_ZTV11QVBoxLayout) + 264u)
+
+Vtable for QClipboard
+QClipboard::_ZTV10QClipboard: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QClipboard)
+16 QClipboard::metaObject
+24 QClipboard::qt_metacast
+32 QClipboard::qt_metacall
+40 QClipboard::~QClipboard
+48 QClipboard::~QClipboard
+56 QClipboard::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QClipboard::connectNotify
+104 QObject::disconnectNotify
+
+Class QClipboard
+ size=16 align=8
+ base size=16 base align=8
+QClipboard (0x7f9551d46c40) 0
+ vptr=((& QClipboard::_ZTV10QClipboard) + 16u)
+ QObject (0x7f9551d46cb0) 0
+ primary-for QClipboard (0x7f9551d46c40)
+
+Vtable for QDesktopWidget
+QDesktopWidget::_ZTV14QDesktopWidget: 63u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QDesktopWidget)
+16 QDesktopWidget::metaObject
+24 QDesktopWidget::qt_metacast
+32 QDesktopWidget::qt_metacall
+40 QDesktopWidget::~QDesktopWidget
+48 QDesktopWidget::~QDesktopWidget
+56 QWidget::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QWidget::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QWidget::paintEvent
+256 QWidget::moveEvent
+264 QDesktopWidget::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QWidget::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 (int (*)(...))-0x00000000000000010
+456 (int (*)(...))(& _ZTI14QDesktopWidget)
+464 QDesktopWidget::_ZThn16_N14QDesktopWidgetD1Ev
+472 QDesktopWidget::_ZThn16_N14QDesktopWidgetD0Ev
+480 QWidget::_ZThn16_NK7QWidget7devTypeEv
+488 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+496 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QDesktopWidget
+ size=40 align=8
+ base size=40 base align=8
+QDesktopWidget (0x7f9551d6f930) 0
+ vptr=((& QDesktopWidget::_ZTV14QDesktopWidget) + 16u)
+ QWidget (0x7f9551d51c00) 0
+ primary-for QDesktopWidget (0x7f9551d6f930)
+ QObject (0x7f9551d6f9a0) 0
+ primary-for QWidget (0x7f9551d51c00)
+ QPaintDevice (0x7f9551d6fa10) 16
+ vptr=((& QDesktopWidget::_ZTV14QDesktopWidget) + 464u)
+
+Vtable for QFormLayout
+QFormLayout::_ZTV11QFormLayout: 48u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QFormLayout)
+16 QFormLayout::metaObject
+24 QFormLayout::qt_metacast
+32 QFormLayout::qt_metacall
+40 QFormLayout::~QFormLayout
+48 QFormLayout::~QFormLayout
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QLayout::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QFormLayout::invalidate
+120 QLayout::geometry
+128 QFormLayout::addItem
+136 QFormLayout::expandingDirections
+144 QFormLayout::minimumSize
+152 QLayout::maximumSize
+160 QFormLayout::setGeometry
+168 QFormLayout::itemAt
+176 QFormLayout::takeAt
+184 QLayout::indexOf
+192 QFormLayout::count
+200 QLayout::isEmpty
+208 QLayout::layout
+216 QFormLayout::sizeHint
+224 QFormLayout::hasHeightForWidth
+232 QFormLayout::heightForWidth
+240 (int (*)(...))-0x00000000000000010
+248 (int (*)(...))(& _ZTI11QFormLayout)
+256 QFormLayout::_ZThn16_N11QFormLayoutD1Ev
+264 QFormLayout::_ZThn16_N11QFormLayoutD0Ev
+272 QFormLayout::_ZThn16_NK11QFormLayout8sizeHintEv
+280 QFormLayout::_ZThn16_NK11QFormLayout11minimumSizeEv
+288 QLayout::_ZThn16_NK7QLayout11maximumSizeEv
+296 QFormLayout::_ZThn16_NK11QFormLayout19expandingDirectionsEv
+304 QFormLayout::_ZThn16_N11QFormLayout11setGeometryERK5QRect
+312 QLayout::_ZThn16_NK7QLayout8geometryEv
+320 QLayout::_ZThn16_NK7QLayout7isEmptyEv
+328 QFormLayout::_ZThn16_NK11QFormLayout17hasHeightForWidthEv
+336 QFormLayout::_ZThn16_NK11QFormLayout14heightForWidthEi
+344 QLayoutItem::minimumHeightForWidth
+352 QFormLayout::_ZThn16_N11QFormLayout10invalidateEv
+360 QLayoutItem::widget
+368 QLayout::_ZThn16_N7QLayout6layoutEv
+376 QLayoutItem::spacerItem
+
+Class QFormLayout
+ size=32 align=8
+ base size=28 base align=8
+QFormLayout (0x7f9551d8f9a0) 0
+ vptr=((& QFormLayout::_ZTV11QFormLayout) + 16u)
+ QLayout (0x7f9551d89b80) 0
+ primary-for QFormLayout (0x7f9551d8f9a0)
+ QObject (0x7f9551d8fa10) 0
+ primary-for QLayout (0x7f9551d89b80)
+ QLayoutItem (0x7f9551d8fa80) 16
+ vptr=((& QFormLayout::_ZTV11QFormLayout) + 256u)
+
+Vtable for QGesture
+QGesture::_ZTV8QGesture: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI8QGesture)
+16 QGesture::metaObject
+24 QGesture::qt_metacast
+32 QGesture::qt_metacall
+40 QGesture::~QGesture
+48 QGesture::~QGesture
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QGesture
+ size=16 align=8
+ base size=16 base align=8
+QGesture (0x7f9551dc5150) 0
+ vptr=((& QGesture::_ZTV8QGesture) + 16u)
+ QObject (0x7f9551dc51c0) 0
+ primary-for QGesture (0x7f9551dc5150)
+
+Vtable for QPanGesture
+QPanGesture::_ZTV11QPanGesture: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QPanGesture)
+16 QPanGesture::metaObject
+24 QPanGesture::qt_metacast
+32 QPanGesture::qt_metacall
+40 QPanGesture::~QPanGesture
+48 QPanGesture::~QPanGesture
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QPanGesture
+ size=16 align=8
+ base size=16 base align=8
+QPanGesture (0x7f9551ddc850) 0
+ vptr=((& QPanGesture::_ZTV11QPanGesture) + 16u)
+ QGesture (0x7f9551ddc8c0) 0
+ primary-for QPanGesture (0x7f9551ddc850)
+ QObject (0x7f9551ddc930) 0
+ primary-for QGesture (0x7f9551ddc8c0)
+
+Vtable for QPinchGesture
+QPinchGesture::_ZTV13QPinchGesture: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QPinchGesture)
+16 QPinchGesture::metaObject
+24 QPinchGesture::qt_metacast
+32 QPinchGesture::qt_metacall
+40 QPinchGesture::~QPinchGesture
+48 QPinchGesture::~QPinchGesture
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QPinchGesture
+ size=16 align=8
+ base size=16 base align=8
+QPinchGesture (0x7f9551beecb0) 0
+ vptr=((& QPinchGesture::_ZTV13QPinchGesture) + 16u)
+ QGesture (0x7f9551beed20) 0
+ primary-for QPinchGesture (0x7f9551beecb0)
+ QObject (0x7f9551beed90) 0
+ primary-for QGesture (0x7f9551beed20)
+
+Vtable for QSwipeGesture
+QSwipeGesture::_ZTV13QSwipeGesture: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QSwipeGesture)
+16 QSwipeGesture::metaObject
+24 QSwipeGesture::qt_metacast
+32 QSwipeGesture::qt_metacall
+40 QSwipeGesture::~QSwipeGesture
+48 QSwipeGesture::~QSwipeGesture
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QSwipeGesture
+ size=16 align=8
+ base size=16 base align=8
+QSwipeGesture (0x7f9551c0ed20) 0
+ vptr=((& QSwipeGesture::_ZTV13QSwipeGesture) + 16u)
+ QGesture (0x7f9551c0ed90) 0
+ primary-for QSwipeGesture (0x7f9551c0ed20)
+ QObject (0x7f9551c0ee00) 0
+ primary-for QGesture (0x7f9551c0ed90)
+
+Vtable for QTapGesture
+QTapGesture::_ZTV11QTapGesture: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QTapGesture)
+16 QTapGesture::metaObject
+24 QTapGesture::qt_metacast
+32 QTapGesture::qt_metacall
+40 QTapGesture::~QTapGesture
+48 QTapGesture::~QTapGesture
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QTapGesture
+ size=16 align=8
+ base size=16 base align=8
+QTapGesture (0x7f9551c2e460) 0
+ vptr=((& QTapGesture::_ZTV11QTapGesture) + 16u)
+ QGesture (0x7f9551c2e4d0) 0
+ primary-for QTapGesture (0x7f9551c2e460)
+ QObject (0x7f9551c2e540) 0
+ primary-for QGesture (0x7f9551c2e4d0)
+
+Vtable for QTapAndHoldGesture
+QTapAndHoldGesture::_ZTV18QTapAndHoldGesture: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QTapAndHoldGesture)
+16 QTapAndHoldGesture::metaObject
+24 QTapAndHoldGesture::qt_metacast
+32 QTapAndHoldGesture::qt_metacall
+40 QTapAndHoldGesture::~QTapAndHoldGesture
+48 QTapAndHoldGesture::~QTapAndHoldGesture
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QTapAndHoldGesture
+ size=16 align=8
+ base size=16 base align=8
+QTapAndHoldGesture (0x7f9551c3e8c0) 0
+ vptr=((& QTapAndHoldGesture::_ZTV18QTapAndHoldGesture) + 16u)
+ QGesture (0x7f9551c3e930) 0
+ primary-for QTapAndHoldGesture (0x7f9551c3e8c0)
+ QObject (0x7f9551c3e9a0) 0
+ primary-for QGesture (0x7f9551c3e930)
+
+Vtable for QGestureRecognizer
+QGestureRecognizer::_ZTV18QGestureRecognizer: 7u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QGestureRecognizer)
+16 QGestureRecognizer::~QGestureRecognizer
+24 QGestureRecognizer::~QGestureRecognizer
+32 QGestureRecognizer::create
+40 __cxa_pure_virtual
+48 QGestureRecognizer::reset
+
+Class QGestureRecognizer
+ size=8 align=8
+ base size=8 base align=8
+QGestureRecognizer (0x7f9551c5b310) 0 nearly-empty
+ vptr=((& QGestureRecognizer::_ZTV18QGestureRecognizer) + 16u)
+
+Vtable for QSessionManager
+QSessionManager::_ZTV15QSessionManager: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QSessionManager)
+16 QSessionManager::metaObject
+24 QSessionManager::qt_metacast
+32 QSessionManager::qt_metacall
+40 QSessionManager::~QSessionManager
+48 QSessionManager::~QSessionManager
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QSessionManager
+ size=16 align=8
+ base size=16 base align=8
+QSessionManager (0x7f9551c8f620) 0
+ vptr=((& QSessionManager::_ZTV15QSessionManager) + 16u)
+ QObject (0x7f9551c8f690) 0
+ primary-for QSessionManager (0x7f9551c8f620)
+
+Vtable for QShortcut
+QShortcut::_ZTV9QShortcut: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QShortcut)
+16 QShortcut::metaObject
+24 QShortcut::qt_metacast
+32 QShortcut::qt_metacall
+40 QShortcut::~QShortcut
+48 QShortcut::~QShortcut
+56 QShortcut::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QShortcut
+ size=16 align=8
+ base size=16 base align=8
+QShortcut (0x7f9551cc0b60) 0
+ vptr=((& QShortcut::_ZTV9QShortcut) + 16u)
+ QObject (0x7f9551cc0bd0) 0
+ primary-for QShortcut (0x7f9551cc0b60)
+
+Vtable for QSound
+QSound::_ZTV6QSound: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI6QSound)
+16 QSound::metaObject
+24 QSound::qt_metacast
+32 QSound::qt_metacall
+40 QSound::~QSound
+48 QSound::~QSound
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QSound
+ size=16 align=8
+ base size=16 base align=8
+QSound (0x7f9551cdc310) 0
+ vptr=((& QSound::_ZTV6QSound) + 16u)
+ QObject (0x7f9551cdc380) 0
+ primary-for QSound (0x7f9551cdc310)
+
+Vtable for QStackedLayout
+QStackedLayout::_ZTV14QStackedLayout: 46u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QStackedLayout)
+16 QStackedLayout::metaObject
+24 QStackedLayout::qt_metacast
+32 QStackedLayout::qt_metacall
+40 QStackedLayout::~QStackedLayout
+48 QStackedLayout::~QStackedLayout
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QLayout::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QLayout::invalidate
+120 QLayout::geometry
+128 QStackedLayout::addItem
+136 QLayout::expandingDirections
+144 QStackedLayout::minimumSize
+152 QLayout::maximumSize
+160 QStackedLayout::setGeometry
+168 QStackedLayout::itemAt
+176 QStackedLayout::takeAt
+184 QLayout::indexOf
+192 QStackedLayout::count
+200 QLayout::isEmpty
+208 QLayout::layout
+216 QStackedLayout::sizeHint
+224 (int (*)(...))-0x00000000000000010
+232 (int (*)(...))(& _ZTI14QStackedLayout)
+240 QStackedLayout::_ZThn16_N14QStackedLayoutD1Ev
+248 QStackedLayout::_ZThn16_N14QStackedLayoutD0Ev
+256 QStackedLayout::_ZThn16_NK14QStackedLayout8sizeHintEv
+264 QStackedLayout::_ZThn16_NK14QStackedLayout11minimumSizeEv
+272 QLayout::_ZThn16_NK7QLayout11maximumSizeEv
+280 QLayout::_ZThn16_NK7QLayout19expandingDirectionsEv
+288 QStackedLayout::_ZThn16_N14QStackedLayout11setGeometryERK5QRect
+296 QLayout::_ZThn16_NK7QLayout8geometryEv
+304 QLayout::_ZThn16_NK7QLayout7isEmptyEv
+312 QLayoutItem::hasHeightForWidth
+320 QLayoutItem::heightForWidth
+328 QLayoutItem::minimumHeightForWidth
+336 QLayout::_ZThn16_N7QLayout10invalidateEv
+344 QLayoutItem::widget
+352 QLayout::_ZThn16_N7QLayout6layoutEv
+360 QLayoutItem::spacerItem
+
+Class QStackedLayout
+ size=32 align=8
+ base size=28 base align=8
+QStackedLayout (0x7f9551af0a80) 0
+ vptr=((& QStackedLayout::_ZTV14QStackedLayout) + 16u)
+ QLayout (0x7f9551ae9880) 0
+ primary-for QStackedLayout (0x7f9551af0a80)
+ QObject (0x7f9551af0af0) 0
+ primary-for QLayout (0x7f9551ae9880)
+ QLayoutItem (0x7f9551af0b60) 16
+ vptr=((& QStackedLayout::_ZTV14QStackedLayout) + 240u)
+
+Class QToolTip
+ size=1 align=1
+ base size=0 base align=1
+QToolTip (0x7f9551b11a80) 0 empty
+
+Class QWhatsThis
+ size=1 align=1
+ base size=0 base align=1
+QWhatsThis (0x7f9551b1f070) 0 empty
+
+Vtable for QWidgetAction
+QWidgetAction::_ZTV13QWidgetAction: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QWidgetAction)
+16 QWidgetAction::metaObject
+24 QWidgetAction::qt_metacast
+32 QWidgetAction::qt_metacall
+40 QWidgetAction::~QWidgetAction
+48 QWidgetAction::~QWidgetAction
+56 QWidgetAction::event
+64 QWidgetAction::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidgetAction::createWidget
+120 QWidgetAction::deleteWidget
+
+Class QWidgetAction
+ size=16 align=8
+ base size=16 base align=8
+QWidgetAction (0x7f9551b1f150) 0
+ vptr=((& QWidgetAction::_ZTV13QWidgetAction) + 16u)
+ QAction (0x7f9551b1f1c0) 0
+ primary-for QWidgetAction (0x7f9551b1f150)
+ QObject (0x7f9551b1f230) 0
+ primary-for QAction (0x7f9551b1f1c0)
+
+Class QVector3D
+ size=12 align=4
+ base size=12 base align=4
+QVector3D (0x7f95519ed1c0) 0
+
+Class QVector4D
+ size=16 align=4
+ base size=16 base align=4
+QVector4D (0x7f9551a50cb0) 0
+
+Class QQuaternion
+ size=32 align=8
+ base size=32 base align=8
+QQuaternion (0x7f9551ac6d20) 0
+
+Class QMatrix4x4
+ size=136 align=8
+ base size=132 base align=8
+QMatrix4x4 (0x7f9551944b60) 0
+
+Class QVector2D
+ size=8 align=4
+ base size=8 base align=4
+QVector2D (0x7f9551791d90) 0
+
+Vtable for QCommonStyle
+QCommonStyle::_ZTV12QCommonStyle: 35u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QCommonStyle)
+16 QCommonStyle::metaObject
+24 QCommonStyle::qt_metacast
+32 QCommonStyle::qt_metacall
+40 QCommonStyle::~QCommonStyle
+48 QCommonStyle::~QCommonStyle
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QCommonStyle::polish
+120 QCommonStyle::unpolish
+128 QCommonStyle::polish
+136 QCommonStyle::unpolish
+144 QCommonStyle::polish
+152 QStyle::itemTextRect
+160 QStyle::itemPixmapRect
+168 QStyle::drawItemText
+176 QStyle::drawItemPixmap
+184 QStyle::standardPalette
+192 QCommonStyle::drawPrimitive
+200 QCommonStyle::drawControl
+208 QCommonStyle::subElementRect
+216 QCommonStyle::drawComplexControl
+224 QCommonStyle::hitTestComplexControl
+232 QCommonStyle::subControlRect
+240 QCommonStyle::pixelMetric
+248 QCommonStyle::sizeFromContents
+256 QCommonStyle::styleHint
+264 QCommonStyle::standardPixmap
+272 QCommonStyle::generatedIconPixmap
+
+Class QCommonStyle
+ size=16 align=8
+ base size=16 base align=8
+QCommonStyle (0x7f95515f32a0) 0
+ vptr=((& QCommonStyle::_ZTV12QCommonStyle) + 16u)
+ QStyle (0x7f95515f3310) 0
+ primary-for QCommonStyle (0x7f95515f32a0)
+ QObject (0x7f95515f3380) 0
+ primary-for QStyle (0x7f95515f3310)
+
+Vtable for QMotifStyle
+QMotifStyle::_ZTV11QMotifStyle: 35u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QMotifStyle)
+16 QMotifStyle::metaObject
+24 QMotifStyle::qt_metacast
+32 QMotifStyle::qt_metacall
+40 QMotifStyle::~QMotifStyle
+48 QMotifStyle::~QMotifStyle
+56 QMotifStyle::event
+64 QMotifStyle::eventFilter
+72 QMotifStyle::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QMotifStyle::polish
+120 QMotifStyle::unpolish
+128 QMotifStyle::polish
+136 QMotifStyle::unpolish
+144 QMotifStyle::polish
+152 QStyle::itemTextRect
+160 QStyle::itemPixmapRect
+168 QStyle::drawItemText
+176 QStyle::drawItemPixmap
+184 QMotifStyle::standardPalette
+192 QMotifStyle::drawPrimitive
+200 QMotifStyle::drawControl
+208 QMotifStyle::subElementRect
+216 QMotifStyle::drawComplexControl
+224 QCommonStyle::hitTestComplexControl
+232 QMotifStyle::subControlRect
+240 QMotifStyle::pixelMetric
+248 QMotifStyle::sizeFromContents
+256 QMotifStyle::styleHint
+264 QMotifStyle::standardPixmap
+272 QCommonStyle::generatedIconPixmap
+
+Class QMotifStyle
+ size=32 align=8
+ base size=25 base align=8
+QMotifStyle (0x7f95516172a0) 0
+ vptr=((& QMotifStyle::_ZTV11QMotifStyle) + 16u)
+ QCommonStyle (0x7f9551617310) 0
+ primary-for QMotifStyle (0x7f95516172a0)
+ QStyle (0x7f9551617380) 0
+ primary-for QCommonStyle (0x7f9551617310)
+ QObject (0x7f95516173f0) 0
+ primary-for QStyle (0x7f9551617380)
+
+Vtable for QCDEStyle
+QCDEStyle::_ZTV9QCDEStyle: 35u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QCDEStyle)
+16 QCDEStyle::metaObject
+24 QCDEStyle::qt_metacast
+32 QCDEStyle::qt_metacall
+40 QCDEStyle::~QCDEStyle
+48 QCDEStyle::~QCDEStyle
+56 QMotifStyle::event
+64 QMotifStyle::eventFilter
+72 QMotifStyle::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QMotifStyle::polish
+120 QMotifStyle::unpolish
+128 QMotifStyle::polish
+136 QMotifStyle::unpolish
+144 QMotifStyle::polish
+152 QStyle::itemTextRect
+160 QStyle::itemPixmapRect
+168 QStyle::drawItemText
+176 QStyle::drawItemPixmap
+184 QCDEStyle::standardPalette
+192 QCDEStyle::drawPrimitive
+200 QCDEStyle::drawControl
+208 QMotifStyle::subElementRect
+216 QMotifStyle::drawComplexControl
+224 QCommonStyle::hitTestComplexControl
+232 QMotifStyle::subControlRect
+240 QCDEStyle::pixelMetric
+248 QMotifStyle::sizeFromContents
+256 QMotifStyle::styleHint
+264 QMotifStyle::standardPixmap
+272 QCommonStyle::generatedIconPixmap
+
+Class QCDEStyle
+ size=32 align=8
+ base size=25 base align=8
+QCDEStyle (0x7f95516401c0) 0
+ vptr=((& QCDEStyle::_ZTV9QCDEStyle) + 16u)
+ QMotifStyle (0x7f9551640230) 0
+ primary-for QCDEStyle (0x7f95516401c0)
+ QCommonStyle (0x7f95516402a0) 0
+ primary-for QMotifStyle (0x7f9551640230)
+ QStyle (0x7f9551640310) 0
+ primary-for QCommonStyle (0x7f95516402a0)
+ QObject (0x7f9551640380) 0
+ primary-for QStyle (0x7f9551640310)
+
+Vtable for QWindowsStyle
+QWindowsStyle::_ZTV13QWindowsStyle: 35u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QWindowsStyle)
+16 QWindowsStyle::metaObject
+24 QWindowsStyle::qt_metacast
+32 QWindowsStyle::qt_metacall
+40 QWindowsStyle::~QWindowsStyle
+48 QWindowsStyle::~QWindowsStyle
+56 QObject::event
+64 QWindowsStyle::eventFilter
+72 QWindowsStyle::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWindowsStyle::polish
+120 QWindowsStyle::unpolish
+128 QWindowsStyle::polish
+136 QWindowsStyle::unpolish
+144 QWindowsStyle::polish
+152 QStyle::itemTextRect
+160 QStyle::itemPixmapRect
+168 QStyle::drawItemText
+176 QStyle::drawItemPixmap
+184 QStyle::standardPalette
+192 QWindowsStyle::drawPrimitive
+200 QWindowsStyle::drawControl
+208 QWindowsStyle::subElementRect
+216 QWindowsStyle::drawComplexControl
+224 QCommonStyle::hitTestComplexControl
+232 QCommonStyle::subControlRect
+240 QWindowsStyle::pixelMetric
+248 QWindowsStyle::sizeFromContents
+256 QWindowsStyle::styleHint
+264 QWindowsStyle::standardPixmap
+272 QCommonStyle::generatedIconPixmap
+
+Class QWindowsStyle
+ size=24 align=8
+ base size=24 base align=8
+QWindowsStyle (0x7f9551652310) 0
+ vptr=((& QWindowsStyle::_ZTV13QWindowsStyle) + 16u)
+ QCommonStyle (0x7f9551652380) 0
+ primary-for QWindowsStyle (0x7f9551652310)
+ QStyle (0x7f95516523f0) 0
+ primary-for QCommonStyle (0x7f9551652380)
+ QObject (0x7f9551652460) 0
+ primary-for QStyle (0x7f95516523f0)
+
+Vtable for QCleanlooksStyle
+QCleanlooksStyle::_ZTV16QCleanlooksStyle: 35u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QCleanlooksStyle)
+16 QCleanlooksStyle::metaObject
+24 QCleanlooksStyle::qt_metacast
+32 QCleanlooksStyle::qt_metacall
+40 QCleanlooksStyle::~QCleanlooksStyle
+48 QCleanlooksStyle::~QCleanlooksStyle
+56 QObject::event
+64 QWindowsStyle::eventFilter
+72 QWindowsStyle::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QCleanlooksStyle::polish
+120 QCleanlooksStyle::unpolish
+128 QCleanlooksStyle::polish
+136 QCleanlooksStyle::unpolish
+144 QCleanlooksStyle::polish
+152 QStyle::itemTextRect
+160 QCleanlooksStyle::itemPixmapRect
+168 QCleanlooksStyle::drawItemText
+176 QCleanlooksStyle::drawItemPixmap
+184 QCleanlooksStyle::standardPalette
+192 QCleanlooksStyle::drawPrimitive
+200 QCleanlooksStyle::drawControl
+208 QCleanlooksStyle::subElementRect
+216 QCleanlooksStyle::drawComplexControl
+224 QCleanlooksStyle::hitTestComplexControl
+232 QCleanlooksStyle::subControlRect
+240 QCleanlooksStyle::pixelMetric
+248 QCleanlooksStyle::sizeFromContents
+256 QCleanlooksStyle::styleHint
+264 QCleanlooksStyle::standardPixmap
+272 QCleanlooksStyle::generatedIconPixmap
+
+Class QCleanlooksStyle
+ size=24 align=8
+ base size=24 base align=8
+QCleanlooksStyle (0x7f95516750e0) 0
+ vptr=((& QCleanlooksStyle::_ZTV16QCleanlooksStyle) + 16u)
+ QWindowsStyle (0x7f9551675150) 0
+ primary-for QCleanlooksStyle (0x7f95516750e0)
+ QCommonStyle (0x7f95516751c0) 0
+ primary-for QWindowsStyle (0x7f9551675150)
+ QStyle (0x7f9551675230) 0
+ primary-for QCommonStyle (0x7f95516751c0)
+ QObject (0x7f95516752a0) 0
+ primary-for QStyle (0x7f9551675230)
+
+Vtable for QPlastiqueStyle
+QPlastiqueStyle::_ZTV15QPlastiqueStyle: 35u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QPlastiqueStyle)
+16 QPlastiqueStyle::metaObject
+24 QPlastiqueStyle::qt_metacast
+32 QPlastiqueStyle::qt_metacall
+40 QPlastiqueStyle::~QPlastiqueStyle
+48 QPlastiqueStyle::~QPlastiqueStyle
+56 QObject::event
+64 QPlastiqueStyle::eventFilter
+72 QPlastiqueStyle::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QPlastiqueStyle::polish
+120 QPlastiqueStyle::unpolish
+128 QPlastiqueStyle::polish
+136 QPlastiqueStyle::unpolish
+144 QPlastiqueStyle::polish
+152 QStyle::itemTextRect
+160 QStyle::itemPixmapRect
+168 QStyle::drawItemText
+176 QStyle::drawItemPixmap
+184 QPlastiqueStyle::standardPalette
+192 QPlastiqueStyle::drawPrimitive
+200 QPlastiqueStyle::drawControl
+208 QPlastiqueStyle::subElementRect
+216 QPlastiqueStyle::drawComplexControl
+224 QPlastiqueStyle::hitTestComplexControl
+232 QPlastiqueStyle::subControlRect
+240 QPlastiqueStyle::pixelMetric
+248 QPlastiqueStyle::sizeFromContents
+256 QPlastiqueStyle::styleHint
+264 QPlastiqueStyle::standardPixmap
+272 QCommonStyle::generatedIconPixmap
+
+Class QPlastiqueStyle
+ size=32 align=8
+ base size=32 base align=8
+QPlastiqueStyle (0x7f955168fe70) 0
+ vptr=((& QPlastiqueStyle::_ZTV15QPlastiqueStyle) + 16u)
+ QWindowsStyle (0x7f955168fee0) 0
+ primary-for QPlastiqueStyle (0x7f955168fe70)
+ QCommonStyle (0x7f955168ff50) 0
+ primary-for QWindowsStyle (0x7f955168fee0)
+ QStyle (0x7f9551695000) 0
+ primary-for QCommonStyle (0x7f955168ff50)
+ QObject (0x7f9551695070) 0
+ primary-for QStyle (0x7f9551695000)
+
+Vtable for QProxyStyle
+QProxyStyle::_ZTV11QProxyStyle: 35u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QProxyStyle)
+16 QProxyStyle::metaObject
+24 QProxyStyle::qt_metacast
+32 QProxyStyle::qt_metacall
+40 QProxyStyle::~QProxyStyle
+48 QProxyStyle::~QProxyStyle
+56 QProxyStyle::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QProxyStyle::polish
+120 QProxyStyle::unpolish
+128 QProxyStyle::polish
+136 QProxyStyle::unpolish
+144 QProxyStyle::polish
+152 QProxyStyle::itemTextRect
+160 QProxyStyle::itemPixmapRect
+168 QProxyStyle::drawItemText
+176 QProxyStyle::drawItemPixmap
+184 QProxyStyle::standardPalette
+192 QProxyStyle::drawPrimitive
+200 QProxyStyle::drawControl
+208 QProxyStyle::subElementRect
+216 QProxyStyle::drawComplexControl
+224 QProxyStyle::hitTestComplexControl
+232 QProxyStyle::subControlRect
+240 QProxyStyle::pixelMetric
+248 QProxyStyle::sizeFromContents
+256 QProxyStyle::styleHint
+264 QProxyStyle::standardPixmap
+272 QProxyStyle::generatedIconPixmap
+
+Class QProxyStyle
+ size=16 align=8
+ base size=16 base align=8
+QProxyStyle (0x7f95516b9000) 0
+ vptr=((& QProxyStyle::_ZTV11QProxyStyle) + 16u)
+ QCommonStyle (0x7f95516b9070) 0
+ primary-for QProxyStyle (0x7f95516b9000)
+ QStyle (0x7f95516b90e0) 0
+ primary-for QCommonStyle (0x7f95516b9070)
+ QObject (0x7f95516b9150) 0
+ primary-for QStyle (0x7f95516b90e0)
+
+Vtable for QS60Style
+QS60Style::_ZTV9QS60Style: 35u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QS60Style)
+16 QS60Style::metaObject
+24 QS60Style::qt_metacast
+32 QS60Style::qt_metacall
+40 QS60Style::~QS60Style
+48 QS60Style::~QS60Style
+56 QS60Style::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QS60Style::polish
+120 QS60Style::unpolish
+128 QS60Style::polish
+136 QS60Style::unpolish
+144 QCommonStyle::polish
+152 QStyle::itemTextRect
+160 QStyle::itemPixmapRect
+168 QStyle::drawItemText
+176 QStyle::drawItemPixmap
+184 QStyle::standardPalette
+192 QS60Style::drawPrimitive
+200 QS60Style::drawControl
+208 QS60Style::subElementRect
+216 QS60Style::drawComplexControl
+224 QCommonStyle::hitTestComplexControl
+232 QS60Style::subControlRect
+240 QS60Style::pixelMetric
+248 QS60Style::sizeFromContents
+256 QS60Style::styleHint
+264 QCommonStyle::standardPixmap
+272 QCommonStyle::generatedIconPixmap
+
+Class QS60Style
+ size=16 align=8
+ base size=16 base align=8
+QS60Style (0x7f95516d74d0) 0
+ vptr=((& QS60Style::_ZTV9QS60Style) + 16u)
+ QCommonStyle (0x7f95516d7540) 0
+ primary-for QS60Style (0x7f95516d74d0)
+ QStyle (0x7f95516d75b0) 0
+ primary-for QCommonStyle (0x7f95516d7540)
+ QObject (0x7f95516d7620) 0
+ primary-for QStyle (0x7f95516d75b0)
+
+Class QStyleFactory
+ size=1 align=1
+ base size=0 base align=1
+QStyleFactory (0x7f95514fe310) 0 empty
+
+Vtable for QStyleFactoryInterface
+QStyleFactoryInterface::_ZTV22QStyleFactoryInterface: 6u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI22QStyleFactoryInterface)
+16 QStyleFactoryInterface::~QStyleFactoryInterface
+24 QStyleFactoryInterface::~QStyleFactoryInterface
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+
+Class QStyleFactoryInterface
+ size=8 align=8
+ base size=8 base align=8
+QStyleFactoryInterface (0x7f95514fe380) 0 nearly-empty
+ vptr=((& QStyleFactoryInterface::_ZTV22QStyleFactoryInterface) + 16u)
+ QFactoryInterface (0x7f95514fe3f0) 0 nearly-empty
+ primary-for QStyleFactoryInterface (0x7f95514fe380)
+
+Vtable for QStylePlugin
+QStylePlugin::_ZTV12QStylePlugin: 22u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QStylePlugin)
+16 QStylePlugin::metaObject
+24 QStylePlugin::qt_metacast
+32 QStylePlugin::qt_metacall
+40 QStylePlugin::~QStylePlugin
+48 QStylePlugin::~QStylePlugin
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 (int (*)(...))-0x00000000000000010
+136 (int (*)(...))(& _ZTI12QStylePlugin)
+144 QStylePlugin::_ZThn16_N12QStylePluginD1Ev
+152 QStylePlugin::_ZThn16_N12QStylePluginD0Ev
+160 __cxa_pure_virtual
+168 __cxa_pure_virtual
+
+Class QStylePlugin
+ size=24 align=8
+ base size=24 base align=8
+QStylePlugin (0x7f9551509000) 0
+ vptr=((& QStylePlugin::_ZTV12QStylePlugin) + 16u)
+ QObject (0x7f95514fee00) 0
+ primary-for QStylePlugin (0x7f9551509000)
+ QStyleFactoryInterface (0x7f95514fee70) 16 nearly-empty
+ vptr=((& QStylePlugin::_ZTV12QStylePlugin) + 144u)
+ QFactoryInterface (0x7f95514feee0) 16 nearly-empty
+ primary-for QStyleFactoryInterface (0x7f95514fee70)
+
+Vtable for QWindowsCEStyle
+QWindowsCEStyle::_ZTV15QWindowsCEStyle: 35u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QWindowsCEStyle)
+16 QWindowsCEStyle::metaObject
+24 QWindowsCEStyle::qt_metacast
+32 QWindowsCEStyle::qt_metacall
+40 QWindowsCEStyle::~QWindowsCEStyle
+48 QWindowsCEStyle::~QWindowsCEStyle
+56 QObject::event
+64 QWindowsStyle::eventFilter
+72 QWindowsStyle::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWindowsCEStyle::polish
+120 QWindowsStyle::unpolish
+128 QWindowsCEStyle::polish
+136 QWindowsStyle::unpolish
+144 QWindowsCEStyle::polish
+152 QStyle::itemTextRect
+160 QStyle::itemPixmapRect
+168 QWindowsCEStyle::drawItemText
+176 QStyle::drawItemPixmap
+184 QWindowsCEStyle::standardPalette
+192 QWindowsCEStyle::drawPrimitive
+200 QWindowsCEStyle::drawControl
+208 QWindowsCEStyle::subElementRect
+216 QWindowsCEStyle::drawComplexControl
+224 QWindowsCEStyle::hitTestComplexControl
+232 QWindowsCEStyle::subControlRect
+240 QWindowsCEStyle::pixelMetric
+248 QWindowsCEStyle::sizeFromContents
+256 QWindowsCEStyle::styleHint
+264 QWindowsCEStyle::standardPixmap
+272 QCommonStyle::generatedIconPixmap
+
+Class QWindowsCEStyle
+ size=24 align=8
+ base size=24 base align=8
+QWindowsCEStyle (0x7f955150cd90) 0
+ vptr=((& QWindowsCEStyle::_ZTV15QWindowsCEStyle) + 16u)
+ QWindowsStyle (0x7f955150ce00) 0
+ primary-for QWindowsCEStyle (0x7f955150cd90)
+ QCommonStyle (0x7f955150ce70) 0
+ primary-for QWindowsStyle (0x7f955150ce00)
+ QStyle (0x7f955150cee0) 0
+ primary-for QCommonStyle (0x7f955150ce70)
+ QObject (0x7f955150cf50) 0
+ primary-for QStyle (0x7f955150cee0)
+
+Vtable for QWindowsMobileStyle
+QWindowsMobileStyle::_ZTV19QWindowsMobileStyle: 35u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QWindowsMobileStyle)
+16 QWindowsMobileStyle::metaObject
+24 QWindowsMobileStyle::qt_metacast
+32 QWindowsMobileStyle::qt_metacall
+40 QWindowsMobileStyle::~QWindowsMobileStyle
+48 QWindowsMobileStyle::~QWindowsMobileStyle
+56 QObject::event
+64 QWindowsStyle::eventFilter
+72 QWindowsStyle::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWindowsMobileStyle::polish
+120 QWindowsMobileStyle::unpolish
+128 QWindowsMobileStyle::polish
+136 QWindowsMobileStyle::unpolish
+144 QWindowsMobileStyle::polish
+152 QStyle::itemTextRect
+160 QStyle::itemPixmapRect
+168 QStyle::drawItemText
+176 QStyle::drawItemPixmap
+184 QWindowsMobileStyle::standardPalette
+192 QWindowsMobileStyle::drawPrimitive
+200 QWindowsMobileStyle::drawControl
+208 QWindowsMobileStyle::subElementRect
+216 QWindowsMobileStyle::drawComplexControl
+224 QCommonStyle::hitTestComplexControl
+232 QWindowsMobileStyle::subControlRect
+240 QWindowsMobileStyle::pixelMetric
+248 QWindowsMobileStyle::sizeFromContents
+256 QWindowsMobileStyle::styleHint
+264 QWindowsMobileStyle::standardPixmap
+272 QWindowsMobileStyle::generatedIconPixmap
+
+Class QWindowsMobileStyle
+ size=24 align=8
+ base size=24 base align=8
+QWindowsMobileStyle (0x7f95515313f0) 0
+ vptr=((& QWindowsMobileStyle::_ZTV19QWindowsMobileStyle) + 16u)
+ QWindowsStyle (0x7f9551531460) 0
+ primary-for QWindowsMobileStyle (0x7f95515313f0)
+ QCommonStyle (0x7f95515314d0) 0
+ primary-for QWindowsStyle (0x7f9551531460)
+ QStyle (0x7f9551531540) 0
+ primary-for QCommonStyle (0x7f95515314d0)
+ QObject (0x7f95515315b0) 0
+ primary-for QStyle (0x7f9551531540)
+
+Vtable for QWindowsXPStyle
+QWindowsXPStyle::_ZTV15QWindowsXPStyle: 35u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QWindowsXPStyle)
+16 QWindowsXPStyle::metaObject
+24 QWindowsXPStyle::qt_metacast
+32 QWindowsXPStyle::qt_metacall
+40 QWindowsXPStyle::~QWindowsXPStyle
+48 QWindowsXPStyle::~QWindowsXPStyle
+56 QObject::event
+64 QWindowsStyle::eventFilter
+72 QWindowsStyle::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWindowsXPStyle::polish
+120 QWindowsXPStyle::unpolish
+128 QWindowsXPStyle::polish
+136 QWindowsXPStyle::unpolish
+144 QWindowsXPStyle::polish
+152 QStyle::itemTextRect
+160 QStyle::itemPixmapRect
+168 QStyle::drawItemText
+176 QStyle::drawItemPixmap
+184 QWindowsXPStyle::standardPalette
+192 QWindowsXPStyle::drawPrimitive
+200 QWindowsXPStyle::drawControl
+208 QWindowsXPStyle::subElementRect
+216 QWindowsXPStyle::drawComplexControl
+224 QCommonStyle::hitTestComplexControl
+232 QWindowsXPStyle::subControlRect
+240 QWindowsXPStyle::pixelMetric
+248 QWindowsXPStyle::sizeFromContents
+256 QWindowsXPStyle::styleHint
+264 QWindowsXPStyle::standardPixmap
+272 QCommonStyle::generatedIconPixmap
+
+Class QWindowsXPStyle
+ size=32 align=8
+ base size=32 base align=8
+QWindowsXPStyle (0x7f955154cd90) 0
+ vptr=((& QWindowsXPStyle::_ZTV15QWindowsXPStyle) + 16u)
+ QWindowsStyle (0x7f955154ce00) 0
+ primary-for QWindowsXPStyle (0x7f955154cd90)
+ QCommonStyle (0x7f955154ce70) 0
+ primary-for QWindowsStyle (0x7f955154ce00)
+ QStyle (0x7f955154cee0) 0
+ primary-for QCommonStyle (0x7f955154ce70)
+ QObject (0x7f955154cf50) 0
+ primary-for QStyle (0x7f955154cee0)
+
+Vtable for QWindowsVistaStyle
+QWindowsVistaStyle::_ZTV18QWindowsVistaStyle: 35u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QWindowsVistaStyle)
+16 QWindowsVistaStyle::metaObject
+24 QWindowsVistaStyle::qt_metacast
+32 QWindowsVistaStyle::qt_metacall
+40 QWindowsVistaStyle::~QWindowsVistaStyle
+48 QWindowsVistaStyle::~QWindowsVistaStyle
+56 QWindowsVistaStyle::event
+64 QWindowsStyle::eventFilter
+72 QWindowsStyle::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWindowsVistaStyle::polish
+120 QWindowsVistaStyle::unpolish
+128 QWindowsVistaStyle::polish
+136 QWindowsVistaStyle::unpolish
+144 QWindowsVistaStyle::polish
+152 QStyle::itemTextRect
+160 QStyle::itemPixmapRect
+168 QStyle::drawItemText
+176 QStyle::drawItemPixmap
+184 QWindowsVistaStyle::standardPalette
+192 QWindowsVistaStyle::drawPrimitive
+200 QWindowsVistaStyle::drawControl
+208 QWindowsVistaStyle::subElementRect
+216 QWindowsVistaStyle::drawComplexControl
+224 QWindowsVistaStyle::hitTestComplexControl
+232 QWindowsVistaStyle::subControlRect
+240 QWindowsVistaStyle::pixelMetric
+248 QWindowsVistaStyle::sizeFromContents
+256 QWindowsVistaStyle::styleHint
+264 QWindowsVistaStyle::standardPixmap
+272 QCommonStyle::generatedIconPixmap
+
+Class QWindowsVistaStyle
+ size=32 align=8
+ base size=32 base align=8
+QWindowsVistaStyle (0x7f955156cc40) 0
+ vptr=((& QWindowsVistaStyle::_ZTV18QWindowsVistaStyle) + 16u)
+ QWindowsXPStyle (0x7f955156ccb0) 0
+ primary-for QWindowsVistaStyle (0x7f955156cc40)
+ QWindowsStyle (0x7f955156cd20) 0
+ primary-for QWindowsXPStyle (0x7f955156ccb0)
+ QCommonStyle (0x7f955156cd90) 0
+ primary-for QWindowsStyle (0x7f955156cd20)
+ QStyle (0x7f955156ce00) 0
+ primary-for QCommonStyle (0x7f955156cd90)
+ QObject (0x7f955156ce70) 0
+ primary-for QStyle (0x7f955156ce00)
+
+Vtable for QInputContext
+QInputContext::_ZTV13QInputContext: 26u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QInputContext)
+16 QInputContext::metaObject
+24 QInputContext::qt_metacast
+32 QInputContext::qt_metacall
+40 QInputContext::~QInputContext
+48 QInputContext::~QInputContext
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 __cxa_pure_virtual
+136 QInputContext::update
+144 QInputContext::mouseHandler
+152 QInputContext::font
+160 __cxa_pure_virtual
+168 QInputContext::setFocusWidget
+176 QInputContext::widgetDestroyed
+184 QInputContext::actions
+192 QInputContext::x11FilterEvent
+200 QInputContext::filterEvent
+
+Class QInputContext
+ size=16 align=8
+ base size=16 base align=8
+QInputContext (0x7f955158cc40) 0
+ vptr=((& QInputContext::_ZTV13QInputContext) + 16u)
+ QObject (0x7f955158ccb0) 0
+ primary-for QInputContext (0x7f955158cc40)
+
+Class QInputContextFactory
+ size=1 align=1
+ base size=0 base align=1
+QInputContextFactory (0x7f95515ac5b0) 0 empty
+
+Vtable for QInputContextFactoryInterface
+QInputContextFactoryInterface::_ZTV29QInputContextFactoryInterface: 9u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI29QInputContextFactoryInterface)
+16 QInputContextFactoryInterface::~QInputContextFactoryInterface
+24 QInputContextFactoryInterface::~QInputContextFactoryInterface
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+48 __cxa_pure_virtual
+56 __cxa_pure_virtual
+64 __cxa_pure_virtual
+
+Class QInputContextFactoryInterface
+ size=8 align=8
+ base size=8 base align=8
+QInputContextFactoryInterface (0x7f95515ac620) 0 nearly-empty
+ vptr=((& QInputContextFactoryInterface::_ZTV29QInputContextFactoryInterface) + 16u)
+ QFactoryInterface (0x7f95515ac690) 0 nearly-empty
+ primary-for QInputContextFactoryInterface (0x7f95515ac620)
+
+Vtable for QInputContextPlugin
+QInputContextPlugin::_ZTV19QInputContextPlugin: 28u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QInputContextPlugin)
+16 QInputContextPlugin::metaObject
+24 QInputContextPlugin::qt_metacast
+32 QInputContextPlugin::qt_metacall
+40 QInputContextPlugin::~QInputContextPlugin
+48 QInputContextPlugin::~QInputContextPlugin
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 __cxa_pure_virtual
+136 __cxa_pure_virtual
+144 __cxa_pure_virtual
+152 (int (*)(...))-0x00000000000000010
+160 (int (*)(...))(& _ZTI19QInputContextPlugin)
+168 QInputContextPlugin::_ZThn16_N19QInputContextPluginD1Ev
+176 QInputContextPlugin::_ZThn16_N19QInputContextPluginD0Ev
+184 __cxa_pure_virtual
+192 __cxa_pure_virtual
+200 __cxa_pure_virtual
+208 __cxa_pure_virtual
+216 __cxa_pure_virtual
+
+Class QInputContextPlugin
+ size=24 align=8
+ base size=24 base align=8
+QInputContextPlugin (0x7f95515a8e80) 0
+ vptr=((& QInputContextPlugin::_ZTV19QInputContextPlugin) + 16u)
+ QObject (0x7f95515ba000) 0
+ primary-for QInputContextPlugin (0x7f95515a8e80)
+ QInputContextFactoryInterface (0x7f95515ba070) 16 nearly-empty
+ vptr=((& QInputContextPlugin::_ZTV19QInputContextPlugin) + 168u)
+ QFactoryInterface (0x7f95515ba0e0) 16 nearly-empty
+ primary-for QInputContextFactoryInterface (0x7f95515ba070)
+
+Vtable for QGraphicsItem
+QGraphicsItem::_ZTV13QGraphicsItem: 39u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QGraphicsItem)
+16 QGraphicsItem::~QGraphicsItem
+24 QGraphicsItem::~QGraphicsItem
+32 QGraphicsItem::advance
+40 __cxa_pure_virtual
+48 QGraphicsItem::shape
+56 QGraphicsItem::contains
+64 QGraphicsItem::collidesWithItem
+72 QGraphicsItem::collidesWithPath
+80 QGraphicsItem::isObscuredBy
+88 QGraphicsItem::opaqueArea
+96 __cxa_pure_virtual
+104 QGraphicsItem::type
+112 QGraphicsItem::sceneEventFilter
+120 QGraphicsItem::sceneEvent
+128 QGraphicsItem::contextMenuEvent
+136 QGraphicsItem::dragEnterEvent
+144 QGraphicsItem::dragLeaveEvent
+152 QGraphicsItem::dragMoveEvent
+160 QGraphicsItem::dropEvent
+168 QGraphicsItem::focusInEvent
+176 QGraphicsItem::focusOutEvent
+184 QGraphicsItem::hoverEnterEvent
+192 QGraphicsItem::hoverMoveEvent
+200 QGraphicsItem::hoverLeaveEvent
+208 QGraphicsItem::keyPressEvent
+216 QGraphicsItem::keyReleaseEvent
+224 QGraphicsItem::mousePressEvent
+232 QGraphicsItem::mouseMoveEvent
+240 QGraphicsItem::mouseReleaseEvent
+248 QGraphicsItem::mouseDoubleClickEvent
+256 QGraphicsItem::wheelEvent
+264 QGraphicsItem::inputMethodEvent
+272 QGraphicsItem::inputMethodQuery
+280 QGraphicsItem::itemChange
+288 QGraphicsItem::supportsExtension
+296 QGraphicsItem::setExtension
+304 QGraphicsItem::extension
+
+Class QGraphicsItem
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsItem (0x7f95515ba380) 0
+ vptr=((& QGraphicsItem::_ZTV13QGraphicsItem) + 16u)
+
+Vtable for QGraphicsObject
+QGraphicsObject::_ZTV15QGraphicsObject: 53u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QGraphicsObject)
+16 QGraphicsObject::metaObject
+24 QGraphicsObject::qt_metacast
+32 QGraphicsObject::qt_metacall
+40 QGraphicsObject::~QGraphicsObject
+48 QGraphicsObject::~QGraphicsObject
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 (int (*)(...))-0x00000000000000010
+120 (int (*)(...))(& _ZTI15QGraphicsObject)
+128 QGraphicsObject::_ZThn16_N15QGraphicsObjectD1Ev
+136 QGraphicsObject::_ZThn16_N15QGraphicsObjectD0Ev
+144 QGraphicsItem::advance
+152 __cxa_pure_virtual
+160 QGraphicsItem::shape
+168 QGraphicsItem::contains
+176 QGraphicsItem::collidesWithItem
+184 QGraphicsItem::collidesWithPath
+192 QGraphicsItem::isObscuredBy
+200 QGraphicsItem::opaqueArea
+208 __cxa_pure_virtual
+216 QGraphicsItem::type
+224 QGraphicsItem::sceneEventFilter
+232 QGraphicsItem::sceneEvent
+240 QGraphicsItem::contextMenuEvent
+248 QGraphicsItem::dragEnterEvent
+256 QGraphicsItem::dragLeaveEvent
+264 QGraphicsItem::dragMoveEvent
+272 QGraphicsItem::dropEvent
+280 QGraphicsItem::focusInEvent
+288 QGraphicsItem::focusOutEvent
+296 QGraphicsItem::hoverEnterEvent
+304 QGraphicsItem::hoverMoveEvent
+312 QGraphicsItem::hoverLeaveEvent
+320 QGraphicsItem::keyPressEvent
+328 QGraphicsItem::keyReleaseEvent
+336 QGraphicsItem::mousePressEvent
+344 QGraphicsItem::mouseMoveEvent
+352 QGraphicsItem::mouseReleaseEvent
+360 QGraphicsItem::mouseDoubleClickEvent
+368 QGraphicsItem::wheelEvent
+376 QGraphicsItem::inputMethodEvent
+384 QGraphicsItem::inputMethodQuery
+392 QGraphicsItem::itemChange
+400 QGraphicsItem::supportsExtension
+408 QGraphicsItem::setExtension
+416 QGraphicsItem::extension
+
+Class QGraphicsObject
+ size=32 align=8
+ base size=32 base align=8
+QGraphicsObject (0x7f95514b5c80) 0
+ vptr=((& QGraphicsObject::_ZTV15QGraphicsObject) + 16u)
+ QObject (0x7f95514bcf50) 0
+ primary-for QGraphicsObject (0x7f95514b5c80)
+ QGraphicsItem (0x7f95514c5000) 16
+ vptr=((& QGraphicsObject::_ZTV15QGraphicsObject) + 128u)
+
+Vtable for QAbstractGraphicsShapeItem
+QAbstractGraphicsShapeItem::_ZTV26QAbstractGraphicsShapeItem: 39u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI26QAbstractGraphicsShapeItem)
+16 QAbstractGraphicsShapeItem::~QAbstractGraphicsShapeItem
+24 QAbstractGraphicsShapeItem::~QAbstractGraphicsShapeItem
+32 QGraphicsItem::advance
+40 __cxa_pure_virtual
+48 QGraphicsItem::shape
+56 QGraphicsItem::contains
+64 QGraphicsItem::collidesWithItem
+72 QGraphicsItem::collidesWithPath
+80 QAbstractGraphicsShapeItem::isObscuredBy
+88 QAbstractGraphicsShapeItem::opaqueArea
+96 __cxa_pure_virtual
+104 QGraphicsItem::type
+112 QGraphicsItem::sceneEventFilter
+120 QGraphicsItem::sceneEvent
+128 QGraphicsItem::contextMenuEvent
+136 QGraphicsItem::dragEnterEvent
+144 QGraphicsItem::dragLeaveEvent
+152 QGraphicsItem::dragMoveEvent
+160 QGraphicsItem::dropEvent
+168 QGraphicsItem::focusInEvent
+176 QGraphicsItem::focusOutEvent
+184 QGraphicsItem::hoverEnterEvent
+192 QGraphicsItem::hoverMoveEvent
+200 QGraphicsItem::hoverLeaveEvent
+208 QGraphicsItem::keyPressEvent
+216 QGraphicsItem::keyReleaseEvent
+224 QGraphicsItem::mousePressEvent
+232 QGraphicsItem::mouseMoveEvent
+240 QGraphicsItem::mouseReleaseEvent
+248 QGraphicsItem::mouseDoubleClickEvent
+256 QGraphicsItem::wheelEvent
+264 QGraphicsItem::inputMethodEvent
+272 QGraphicsItem::inputMethodQuery
+280 QGraphicsItem::itemChange
+288 QGraphicsItem::supportsExtension
+296 QGraphicsItem::setExtension
+304 QGraphicsItem::extension
+
+Class QAbstractGraphicsShapeItem
+ size=16 align=8
+ base size=16 base align=8
+QAbstractGraphicsShapeItem (0x7f95514dd070) 0
+ vptr=((& QAbstractGraphicsShapeItem::_ZTV26QAbstractGraphicsShapeItem) + 16u)
+ QGraphicsItem (0x7f95514dd0e0) 0
+ primary-for QAbstractGraphicsShapeItem (0x7f95514dd070)
+
+Vtable for QGraphicsPathItem
+QGraphicsPathItem::_ZTV17QGraphicsPathItem: 39u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QGraphicsPathItem)
+16 QGraphicsPathItem::~QGraphicsPathItem
+24 QGraphicsPathItem::~QGraphicsPathItem
+32 QGraphicsItem::advance
+40 QGraphicsPathItem::boundingRect
+48 QGraphicsPathItem::shape
+56 QGraphicsPathItem::contains
+64 QGraphicsItem::collidesWithItem
+72 QGraphicsItem::collidesWithPath
+80 QGraphicsPathItem::isObscuredBy
+88 QGraphicsPathItem::opaqueArea
+96 QGraphicsPathItem::paint
+104 QGraphicsPathItem::type
+112 QGraphicsItem::sceneEventFilter
+120 QGraphicsItem::sceneEvent
+128 QGraphicsItem::contextMenuEvent
+136 QGraphicsItem::dragEnterEvent
+144 QGraphicsItem::dragLeaveEvent
+152 QGraphicsItem::dragMoveEvent
+160 QGraphicsItem::dropEvent
+168 QGraphicsItem::focusInEvent
+176 QGraphicsItem::focusOutEvent
+184 QGraphicsItem::hoverEnterEvent
+192 QGraphicsItem::hoverMoveEvent
+200 QGraphicsItem::hoverLeaveEvent
+208 QGraphicsItem::keyPressEvent
+216 QGraphicsItem::keyReleaseEvent
+224 QGraphicsItem::mousePressEvent
+232 QGraphicsItem::mouseMoveEvent
+240 QGraphicsItem::mouseReleaseEvent
+248 QGraphicsItem::mouseDoubleClickEvent
+256 QGraphicsItem::wheelEvent
+264 QGraphicsItem::inputMethodEvent
+272 QGraphicsItem::inputMethodQuery
+280 QGraphicsItem::itemChange
+288 QGraphicsPathItem::supportsExtension
+296 QGraphicsPathItem::setExtension
+304 QGraphicsPathItem::extension
+
+Class QGraphicsPathItem
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsPathItem (0x7f95514ddee0) 0
+ vptr=((& QGraphicsPathItem::_ZTV17QGraphicsPathItem) + 16u)
+ QAbstractGraphicsShapeItem (0x7f95514ddf50) 0
+ primary-for QGraphicsPathItem (0x7f95514ddee0)
+ QGraphicsItem (0x7f95514dd930) 0
+ primary-for QAbstractGraphicsShapeItem (0x7f95514ddf50)
+
+Vtable for QGraphicsRectItem
+QGraphicsRectItem::_ZTV17QGraphicsRectItem: 39u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QGraphicsRectItem)
+16 QGraphicsRectItem::~QGraphicsRectItem
+24 QGraphicsRectItem::~QGraphicsRectItem
+32 QGraphicsItem::advance
+40 QGraphicsRectItem::boundingRect
+48 QGraphicsRectItem::shape
+56 QGraphicsRectItem::contains
+64 QGraphicsItem::collidesWithItem
+72 QGraphicsItem::collidesWithPath
+80 QGraphicsRectItem::isObscuredBy
+88 QGraphicsRectItem::opaqueArea
+96 QGraphicsRectItem::paint
+104 QGraphicsRectItem::type
+112 QGraphicsItem::sceneEventFilter
+120 QGraphicsItem::sceneEvent
+128 QGraphicsItem::contextMenuEvent
+136 QGraphicsItem::dragEnterEvent
+144 QGraphicsItem::dragLeaveEvent
+152 QGraphicsItem::dragMoveEvent
+160 QGraphicsItem::dropEvent
+168 QGraphicsItem::focusInEvent
+176 QGraphicsItem::focusOutEvent
+184 QGraphicsItem::hoverEnterEvent
+192 QGraphicsItem::hoverMoveEvent
+200 QGraphicsItem::hoverLeaveEvent
+208 QGraphicsItem::keyPressEvent
+216 QGraphicsItem::keyReleaseEvent
+224 QGraphicsItem::mousePressEvent
+232 QGraphicsItem::mouseMoveEvent
+240 QGraphicsItem::mouseReleaseEvent
+248 QGraphicsItem::mouseDoubleClickEvent
+256 QGraphicsItem::wheelEvent
+264 QGraphicsItem::inputMethodEvent
+272 QGraphicsItem::inputMethodQuery
+280 QGraphicsItem::itemChange
+288 QGraphicsRectItem::supportsExtension
+296 QGraphicsRectItem::setExtension
+304 QGraphicsRectItem::extension
+
+Class QGraphicsRectItem
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsRectItem (0x7f95512e3e70) 0
+ vptr=((& QGraphicsRectItem::_ZTV17QGraphicsRectItem) + 16u)
+ QAbstractGraphicsShapeItem (0x7f95512e3ee0) 0
+ primary-for QGraphicsRectItem (0x7f95512e3e70)
+ QGraphicsItem (0x7f95512e3f50) 0
+ primary-for QAbstractGraphicsShapeItem (0x7f95512e3ee0)
+
+Vtable for QGraphicsEllipseItem
+QGraphicsEllipseItem::_ZTV20QGraphicsEllipseItem: 39u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI20QGraphicsEllipseItem)
+16 QGraphicsEllipseItem::~QGraphicsEllipseItem
+24 QGraphicsEllipseItem::~QGraphicsEllipseItem
+32 QGraphicsItem::advance
+40 QGraphicsEllipseItem::boundingRect
+48 QGraphicsEllipseItem::shape
+56 QGraphicsEllipseItem::contains
+64 QGraphicsItem::collidesWithItem
+72 QGraphicsItem::collidesWithPath
+80 QGraphicsEllipseItem::isObscuredBy
+88 QGraphicsEllipseItem::opaqueArea
+96 QGraphicsEllipseItem::paint
+104 QGraphicsEllipseItem::type
+112 QGraphicsItem::sceneEventFilter
+120 QGraphicsItem::sceneEvent
+128 QGraphicsItem::contextMenuEvent
+136 QGraphicsItem::dragEnterEvent
+144 QGraphicsItem::dragLeaveEvent
+152 QGraphicsItem::dragMoveEvent
+160 QGraphicsItem::dropEvent
+168 QGraphicsItem::focusInEvent
+176 QGraphicsItem::focusOutEvent
+184 QGraphicsItem::hoverEnterEvent
+192 QGraphicsItem::hoverMoveEvent
+200 QGraphicsItem::hoverLeaveEvent
+208 QGraphicsItem::keyPressEvent
+216 QGraphicsItem::keyReleaseEvent
+224 QGraphicsItem::mousePressEvent
+232 QGraphicsItem::mouseMoveEvent
+240 QGraphicsItem::mouseReleaseEvent
+248 QGraphicsItem::mouseDoubleClickEvent
+256 QGraphicsItem::wheelEvent
+264 QGraphicsItem::inputMethodEvent
+272 QGraphicsItem::inputMethodQuery
+280 QGraphicsItem::itemChange
+288 QGraphicsEllipseItem::supportsExtension
+296 QGraphicsEllipseItem::setExtension
+304 QGraphicsEllipseItem::extension
+
+Class QGraphicsEllipseItem
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsEllipseItem (0x7f9551308150) 0
+ vptr=((& QGraphicsEllipseItem::_ZTV20QGraphicsEllipseItem) + 16u)
+ QAbstractGraphicsShapeItem (0x7f95513081c0) 0
+ primary-for QGraphicsEllipseItem (0x7f9551308150)
+ QGraphicsItem (0x7f9551308230) 0
+ primary-for QAbstractGraphicsShapeItem (0x7f95513081c0)
+
+Vtable for QGraphicsPolygonItem
+QGraphicsPolygonItem::_ZTV20QGraphicsPolygonItem: 39u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI20QGraphicsPolygonItem)
+16 QGraphicsPolygonItem::~QGraphicsPolygonItem
+24 QGraphicsPolygonItem::~QGraphicsPolygonItem
+32 QGraphicsItem::advance
+40 QGraphicsPolygonItem::boundingRect
+48 QGraphicsPolygonItem::shape
+56 QGraphicsPolygonItem::contains
+64 QGraphicsItem::collidesWithItem
+72 QGraphicsItem::collidesWithPath
+80 QGraphicsPolygonItem::isObscuredBy
+88 QGraphicsPolygonItem::opaqueArea
+96 QGraphicsPolygonItem::paint
+104 QGraphicsPolygonItem::type
+112 QGraphicsItem::sceneEventFilter
+120 QGraphicsItem::sceneEvent
+128 QGraphicsItem::contextMenuEvent
+136 QGraphicsItem::dragEnterEvent
+144 QGraphicsItem::dragLeaveEvent
+152 QGraphicsItem::dragMoveEvent
+160 QGraphicsItem::dropEvent
+168 QGraphicsItem::focusInEvent
+176 QGraphicsItem::focusOutEvent
+184 QGraphicsItem::hoverEnterEvent
+192 QGraphicsItem::hoverMoveEvent
+200 QGraphicsItem::hoverLeaveEvent
+208 QGraphicsItem::keyPressEvent
+216 QGraphicsItem::keyReleaseEvent
+224 QGraphicsItem::mousePressEvent
+232 QGraphicsItem::mouseMoveEvent
+240 QGraphicsItem::mouseReleaseEvent
+248 QGraphicsItem::mouseDoubleClickEvent
+256 QGraphicsItem::wheelEvent
+264 QGraphicsItem::inputMethodEvent
+272 QGraphicsItem::inputMethodQuery
+280 QGraphicsItem::itemChange
+288 QGraphicsPolygonItem::supportsExtension
+296 QGraphicsPolygonItem::setExtension
+304 QGraphicsPolygonItem::extension
+
+Class QGraphicsPolygonItem
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsPolygonItem (0x7f955131b460) 0
+ vptr=((& QGraphicsPolygonItem::_ZTV20QGraphicsPolygonItem) + 16u)
+ QAbstractGraphicsShapeItem (0x7f955131b4d0) 0
+ primary-for QGraphicsPolygonItem (0x7f955131b460)
+ QGraphicsItem (0x7f955131b540) 0
+ primary-for QAbstractGraphicsShapeItem (0x7f955131b4d0)
+
+Vtable for QGraphicsLineItem
+QGraphicsLineItem::_ZTV17QGraphicsLineItem: 39u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QGraphicsLineItem)
+16 QGraphicsLineItem::~QGraphicsLineItem
+24 QGraphicsLineItem::~QGraphicsLineItem
+32 QGraphicsItem::advance
+40 QGraphicsLineItem::boundingRect
+48 QGraphicsLineItem::shape
+56 QGraphicsLineItem::contains
+64 QGraphicsItem::collidesWithItem
+72 QGraphicsItem::collidesWithPath
+80 QGraphicsLineItem::isObscuredBy
+88 QGraphicsLineItem::opaqueArea
+96 QGraphicsLineItem::paint
+104 QGraphicsLineItem::type
+112 QGraphicsItem::sceneEventFilter
+120 QGraphicsItem::sceneEvent
+128 QGraphicsItem::contextMenuEvent
+136 QGraphicsItem::dragEnterEvent
+144 QGraphicsItem::dragLeaveEvent
+152 QGraphicsItem::dragMoveEvent
+160 QGraphicsItem::dropEvent
+168 QGraphicsItem::focusInEvent
+176 QGraphicsItem::focusOutEvent
+184 QGraphicsItem::hoverEnterEvent
+192 QGraphicsItem::hoverMoveEvent
+200 QGraphicsItem::hoverLeaveEvent
+208 QGraphicsItem::keyPressEvent
+216 QGraphicsItem::keyReleaseEvent
+224 QGraphicsItem::mousePressEvent
+232 QGraphicsItem::mouseMoveEvent
+240 QGraphicsItem::mouseReleaseEvent
+248 QGraphicsItem::mouseDoubleClickEvent
+256 QGraphicsItem::wheelEvent
+264 QGraphicsItem::inputMethodEvent
+272 QGraphicsItem::inputMethodQuery
+280 QGraphicsItem::itemChange
+288 QGraphicsLineItem::supportsExtension
+296 QGraphicsLineItem::setExtension
+304 QGraphicsLineItem::extension
+
+Class QGraphicsLineItem
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsLineItem (0x7f955132e3f0) 0
+ vptr=((& QGraphicsLineItem::_ZTV17QGraphicsLineItem) + 16u)
+ QGraphicsItem (0x7f955132e460) 0
+ primary-for QGraphicsLineItem (0x7f955132e3f0)
+
+Vtable for QGraphicsPixmapItem
+QGraphicsPixmapItem::_ZTV19QGraphicsPixmapItem: 39u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QGraphicsPixmapItem)
+16 QGraphicsPixmapItem::~QGraphicsPixmapItem
+24 QGraphicsPixmapItem::~QGraphicsPixmapItem
+32 QGraphicsItem::advance
+40 QGraphicsPixmapItem::boundingRect
+48 QGraphicsPixmapItem::shape
+56 QGraphicsPixmapItem::contains
+64 QGraphicsItem::collidesWithItem
+72 QGraphicsItem::collidesWithPath
+80 QGraphicsPixmapItem::isObscuredBy
+88 QGraphicsPixmapItem::opaqueArea
+96 QGraphicsPixmapItem::paint
+104 QGraphicsPixmapItem::type
+112 QGraphicsItem::sceneEventFilter
+120 QGraphicsItem::sceneEvent
+128 QGraphicsItem::contextMenuEvent
+136 QGraphicsItem::dragEnterEvent
+144 QGraphicsItem::dragLeaveEvent
+152 QGraphicsItem::dragMoveEvent
+160 QGraphicsItem::dropEvent
+168 QGraphicsItem::focusInEvent
+176 QGraphicsItem::focusOutEvent
+184 QGraphicsItem::hoverEnterEvent
+192 QGraphicsItem::hoverMoveEvent
+200 QGraphicsItem::hoverLeaveEvent
+208 QGraphicsItem::keyPressEvent
+216 QGraphicsItem::keyReleaseEvent
+224 QGraphicsItem::mousePressEvent
+232 QGraphicsItem::mouseMoveEvent
+240 QGraphicsItem::mouseReleaseEvent
+248 QGraphicsItem::mouseDoubleClickEvent
+256 QGraphicsItem::wheelEvent
+264 QGraphicsItem::inputMethodEvent
+272 QGraphicsItem::inputMethodQuery
+280 QGraphicsItem::itemChange
+288 QGraphicsPixmapItem::supportsExtension
+296 QGraphicsPixmapItem::setExtension
+304 QGraphicsPixmapItem::extension
+
+Class QGraphicsPixmapItem
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsPixmapItem (0x7f9551341690) 0
+ vptr=((& QGraphicsPixmapItem::_ZTV19QGraphicsPixmapItem) + 16u)
+ QGraphicsItem (0x7f9551341700) 0
+ primary-for QGraphicsPixmapItem (0x7f9551341690)
+
+Vtable for QGraphicsTextItem
+QGraphicsTextItem::_ZTV17QGraphicsTextItem: 82u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QGraphicsTextItem)
+16 QGraphicsTextItem::metaObject
+24 QGraphicsTextItem::qt_metacast
+32 QGraphicsTextItem::qt_metacall
+40 QGraphicsTextItem::~QGraphicsTextItem
+48 QGraphicsTextItem::~QGraphicsTextItem
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QGraphicsTextItem::boundingRect
+120 QGraphicsTextItem::shape
+128 QGraphicsTextItem::contains
+136 QGraphicsTextItem::paint
+144 QGraphicsTextItem::isObscuredBy
+152 QGraphicsTextItem::opaqueArea
+160 QGraphicsTextItem::type
+168 QGraphicsTextItem::sceneEvent
+176 QGraphicsTextItem::mousePressEvent
+184 QGraphicsTextItem::mouseMoveEvent
+192 QGraphicsTextItem::mouseReleaseEvent
+200 QGraphicsTextItem::mouseDoubleClickEvent
+208 QGraphicsTextItem::contextMenuEvent
+216 QGraphicsTextItem::keyPressEvent
+224 QGraphicsTextItem::keyReleaseEvent
+232 QGraphicsTextItem::focusInEvent
+240 QGraphicsTextItem::focusOutEvent
+248 QGraphicsTextItem::dragEnterEvent
+256 QGraphicsTextItem::dragLeaveEvent
+264 QGraphicsTextItem::dragMoveEvent
+272 QGraphicsTextItem::dropEvent
+280 QGraphicsTextItem::inputMethodEvent
+288 QGraphicsTextItem::hoverEnterEvent
+296 QGraphicsTextItem::hoverMoveEvent
+304 QGraphicsTextItem::hoverLeaveEvent
+312 QGraphicsTextItem::inputMethodQuery
+320 QGraphicsTextItem::supportsExtension
+328 QGraphicsTextItem::setExtension
+336 QGraphicsTextItem::extension
+344 (int (*)(...))-0x00000000000000010
+352 (int (*)(...))(& _ZTI17QGraphicsTextItem)
+360 QGraphicsTextItem::_ZThn16_N17QGraphicsTextItemD1Ev
+368 QGraphicsTextItem::_ZThn16_N17QGraphicsTextItemD0Ev
+376 QGraphicsItem::advance
+384 QGraphicsTextItem::_ZThn16_NK17QGraphicsTextItem12boundingRectEv
+392 QGraphicsTextItem::_ZThn16_NK17QGraphicsTextItem5shapeEv
+400 QGraphicsTextItem::_ZThn16_NK17QGraphicsTextItem8containsERK7QPointF
+408 QGraphicsItem::collidesWithItem
+416 QGraphicsItem::collidesWithPath
+424 QGraphicsTextItem::_ZThn16_NK17QGraphicsTextItem12isObscuredByEPK13QGraphicsItem
+432 QGraphicsTextItem::_ZThn16_NK17QGraphicsTextItem10opaqueAreaEv
+440 QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem5paintEP8QPainterPK24QStyleOptionGraphicsItemP7QWidget
+448 QGraphicsTextItem::_ZThn16_NK17QGraphicsTextItem4typeEv
+456 QGraphicsItem::sceneEventFilter
+464 QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem10sceneEventEP6QEvent
+472 QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem16contextMenuEventEP30QGraphicsSceneContextMenuEvent
+480 QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem14dragEnterEventEP27QGraphicsSceneDragDropEvent
+488 QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem14dragLeaveEventEP27QGraphicsSceneDragDropEvent
+496 QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem13dragMoveEventEP27QGraphicsSceneDragDropEvent
+504 QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem9dropEventEP27QGraphicsSceneDragDropEvent
+512 QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem12focusInEventEP11QFocusEvent
+520 QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem13focusOutEventEP11QFocusEvent
+528 QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem15hoverEnterEventEP24QGraphicsSceneHoverEvent
+536 QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem14hoverMoveEventEP24QGraphicsSceneHoverEvent
+544 QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem15hoverLeaveEventEP24QGraphicsSceneHoverEvent
+552 QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem13keyPressEventEP9QKeyEvent
+560 QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem15keyReleaseEventEP9QKeyEvent
+568 QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem15mousePressEventEP24QGraphicsSceneMouseEvent
+576 QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem14mouseMoveEventEP24QGraphicsSceneMouseEvent
+584 QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem17mouseReleaseEventEP24QGraphicsSceneMouseEvent
+592 QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem21mouseDoubleClickEventEP24QGraphicsSceneMouseEvent
+600 QGraphicsItem::wheelEvent
+608 QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem16inputMethodEventEP17QInputMethodEvent
+616 QGraphicsTextItem::_ZThn16_NK17QGraphicsTextItem16inputMethodQueryEN2Qt16InputMethodQueryE
+624 QGraphicsItem::itemChange
+632 QGraphicsTextItem::_ZThn16_NK17QGraphicsTextItem17supportsExtensionEN13QGraphicsItem9ExtensionE
+640 QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem12setExtensionEN13QGraphicsItem9ExtensionERK8QVariant
+648 QGraphicsTextItem::_ZThn16_NK17QGraphicsTextItem9extensionERK8QVariant
+
+Class QGraphicsTextItem
+ size=40 align=8
+ base size=40 base align=8
+QGraphicsTextItem (0x7f9551352930) 0
+ vptr=((& QGraphicsTextItem::_ZTV17QGraphicsTextItem) + 16u)
+ QGraphicsObject (0x7f9551346700) 0
+ primary-for QGraphicsTextItem (0x7f9551352930)
+ QObject (0x7f95513529a0) 0
+ primary-for QGraphicsObject (0x7f9551346700)
+ QGraphicsItem (0x7f9551352a10) 16
+ vptr=((& QGraphicsTextItem::_ZTV17QGraphicsTextItem) + 360u)
+
+Vtable for QGraphicsSimpleTextItem
+QGraphicsSimpleTextItem::_ZTV23QGraphicsSimpleTextItem: 39u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI23QGraphicsSimpleTextItem)
+16 QGraphicsSimpleTextItem::~QGraphicsSimpleTextItem
+24 QGraphicsSimpleTextItem::~QGraphicsSimpleTextItem
+32 QGraphicsItem::advance
+40 QGraphicsSimpleTextItem::boundingRect
+48 QGraphicsSimpleTextItem::shape
+56 QGraphicsSimpleTextItem::contains
+64 QGraphicsItem::collidesWithItem
+72 QGraphicsItem::collidesWithPath
+80 QGraphicsSimpleTextItem::isObscuredBy
+88 QGraphicsSimpleTextItem::opaqueArea
+96 QGraphicsSimpleTextItem::paint
+104 QGraphicsSimpleTextItem::type
+112 QGraphicsItem::sceneEventFilter
+120 QGraphicsItem::sceneEvent
+128 QGraphicsItem::contextMenuEvent
+136 QGraphicsItem::dragEnterEvent
+144 QGraphicsItem::dragLeaveEvent
+152 QGraphicsItem::dragMoveEvent
+160 QGraphicsItem::dropEvent
+168 QGraphicsItem::focusInEvent
+176 QGraphicsItem::focusOutEvent
+184 QGraphicsItem::hoverEnterEvent
+192 QGraphicsItem::hoverMoveEvent
+200 QGraphicsItem::hoverLeaveEvent
+208 QGraphicsItem::keyPressEvent
+216 QGraphicsItem::keyReleaseEvent
+224 QGraphicsItem::mousePressEvent
+232 QGraphicsItem::mouseMoveEvent
+240 QGraphicsItem::mouseReleaseEvent
+248 QGraphicsItem::mouseDoubleClickEvent
+256 QGraphicsItem::wheelEvent
+264 QGraphicsItem::inputMethodEvent
+272 QGraphicsItem::inputMethodQuery
+280 QGraphicsItem::itemChange
+288 QGraphicsSimpleTextItem::supportsExtension
+296 QGraphicsSimpleTextItem::setExtension
+304 QGraphicsSimpleTextItem::extension
+
+Class QGraphicsSimpleTextItem
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsSimpleTextItem (0x7f9551372380) 0
+ vptr=((& QGraphicsSimpleTextItem::_ZTV23QGraphicsSimpleTextItem) + 16u)
+ QAbstractGraphicsShapeItem (0x7f9551388000) 0
+ primary-for QGraphicsSimpleTextItem (0x7f9551372380)
+ QGraphicsItem (0x7f9551388070) 0
+ primary-for QAbstractGraphicsShapeItem (0x7f9551388000)
+
+Vtable for QGraphicsItemGroup
+QGraphicsItemGroup::_ZTV18QGraphicsItemGroup: 39u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QGraphicsItemGroup)
+16 QGraphicsItemGroup::~QGraphicsItemGroup
+24 QGraphicsItemGroup::~QGraphicsItemGroup
+32 QGraphicsItem::advance
+40 QGraphicsItemGroup::boundingRect
+48 QGraphicsItem::shape
+56 QGraphicsItem::contains
+64 QGraphicsItem::collidesWithItem
+72 QGraphicsItem::collidesWithPath
+80 QGraphicsItemGroup::isObscuredBy
+88 QGraphicsItemGroup::opaqueArea
+96 QGraphicsItemGroup::paint
+104 QGraphicsItemGroup::type
+112 QGraphicsItem::sceneEventFilter
+120 QGraphicsItem::sceneEvent
+128 QGraphicsItem::contextMenuEvent
+136 QGraphicsItem::dragEnterEvent
+144 QGraphicsItem::dragLeaveEvent
+152 QGraphicsItem::dragMoveEvent
+160 QGraphicsItem::dropEvent
+168 QGraphicsItem::focusInEvent
+176 QGraphicsItem::focusOutEvent
+184 QGraphicsItem::hoverEnterEvent
+192 QGraphicsItem::hoverMoveEvent
+200 QGraphicsItem::hoverLeaveEvent
+208 QGraphicsItem::keyPressEvent
+216 QGraphicsItem::keyReleaseEvent
+224 QGraphicsItem::mousePressEvent
+232 QGraphicsItem::mouseMoveEvent
+240 QGraphicsItem::mouseReleaseEvent
+248 QGraphicsItem::mouseDoubleClickEvent
+256 QGraphicsItem::wheelEvent
+264 QGraphicsItem::inputMethodEvent
+272 QGraphicsItem::inputMethodQuery
+280 QGraphicsItem::itemChange
+288 QGraphicsItem::supportsExtension
+296 QGraphicsItem::setExtension
+304 QGraphicsItem::extension
+
+Class QGraphicsItemGroup
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsItemGroup (0x7f9551388f50) 0
+ vptr=((& QGraphicsItemGroup::_ZTV18QGraphicsItemGroup) + 16u)
+ QGraphicsItem (0x7f95513889a0) 0
+ primary-for QGraphicsItemGroup (0x7f9551388f50)
+
+Vtable for QGraphicsLayoutItem
+QGraphicsLayoutItem::_ZTV19QGraphicsLayoutItem: 8u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QGraphicsLayoutItem)
+16 QGraphicsLayoutItem::~QGraphicsLayoutItem
+24 QGraphicsLayoutItem::~QGraphicsLayoutItem
+32 QGraphicsLayoutItem::setGeometry
+40 QGraphicsLayoutItem::getContentsMargins
+48 QGraphicsLayoutItem::updateGeometry
+56 __cxa_pure_virtual
+
+Class QGraphicsLayoutItem
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsLayoutItem (0x7f95513aa850) 0
+ vptr=((& QGraphicsLayoutItem::_ZTV19QGraphicsLayoutItem) + 16u)
+
+Vtable for QGraphicsLayout
+QGraphicsLayout::_ZTV15QGraphicsLayout: 13u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QGraphicsLayout)
+16 QGraphicsLayout::~QGraphicsLayout
+24 QGraphicsLayout::~QGraphicsLayout
+32 QGraphicsLayoutItem::setGeometry
+40 QGraphicsLayout::getContentsMargins
+48 QGraphicsLayout::updateGeometry
+56 __cxa_pure_virtual
+64 QGraphicsLayout::invalidate
+72 QGraphicsLayout::widgetEvent
+80 __cxa_pure_virtual
+88 __cxa_pure_virtual
+96 __cxa_pure_virtual
+
+Class QGraphicsLayout
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsLayout (0x7f95511ee070) 0
+ vptr=((& QGraphicsLayout::_ZTV15QGraphicsLayout) + 16u)
+ QGraphicsLayoutItem (0x7f95511ee0e0) 0
+ primary-for QGraphicsLayout (0x7f95511ee070)
+
+Vtable for QGraphicsAnchor
+QGraphicsAnchor::_ZTV15QGraphicsAnchor: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QGraphicsAnchor)
+16 QGraphicsAnchor::metaObject
+24 QGraphicsAnchor::qt_metacast
+32 QGraphicsAnchor::qt_metacall
+40 QGraphicsAnchor::~QGraphicsAnchor
+48 QGraphicsAnchor::~QGraphicsAnchor
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QGraphicsAnchor
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsAnchor (0x7f95511fc850) 0
+ vptr=((& QGraphicsAnchor::_ZTV15QGraphicsAnchor) + 16u)
+ QObject (0x7f95511fc8c0) 0
+ primary-for QGraphicsAnchor (0x7f95511fc850)
+
+Vtable for QGraphicsAnchorLayout
+QGraphicsAnchorLayout::_ZTV21QGraphicsAnchorLayout: 13u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI21QGraphicsAnchorLayout)
+16 QGraphicsAnchorLayout::~QGraphicsAnchorLayout
+24 QGraphicsAnchorLayout::~QGraphicsAnchorLayout
+32 QGraphicsAnchorLayout::setGeometry
+40 QGraphicsLayout::getContentsMargins
+48 QGraphicsLayout::updateGeometry
+56 QGraphicsAnchorLayout::sizeHint
+64 QGraphicsAnchorLayout::invalidate
+72 QGraphicsLayout::widgetEvent
+80 QGraphicsAnchorLayout::count
+88 QGraphicsAnchorLayout::itemAt
+96 QGraphicsAnchorLayout::removeAt
+
+Class QGraphicsAnchorLayout
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsAnchorLayout (0x7f9551210d90) 0
+ vptr=((& QGraphicsAnchorLayout::_ZTV21QGraphicsAnchorLayout) + 16u)
+ QGraphicsLayout (0x7f9551210e00) 0
+ primary-for QGraphicsAnchorLayout (0x7f9551210d90)
+ QGraphicsLayoutItem (0x7f9551210e70) 0
+ primary-for QGraphicsLayout (0x7f9551210e00)
+
+Vtable for QGraphicsGridLayout
+QGraphicsGridLayout::_ZTV19QGraphicsGridLayout: 13u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QGraphicsGridLayout)
+16 QGraphicsGridLayout::~QGraphicsGridLayout
+24 QGraphicsGridLayout::~QGraphicsGridLayout
+32 QGraphicsGridLayout::setGeometry
+40 QGraphicsLayout::getContentsMargins
+48 QGraphicsLayout::updateGeometry
+56 QGraphicsGridLayout::sizeHint
+64 QGraphicsGridLayout::invalidate
+72 QGraphicsLayout::widgetEvent
+80 QGraphicsGridLayout::count
+88 QGraphicsGridLayout::itemAt
+96 QGraphicsGridLayout::removeAt
+
+Class QGraphicsGridLayout
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsGridLayout (0x7f95512280e0) 0
+ vptr=((& QGraphicsGridLayout::_ZTV19QGraphicsGridLayout) + 16u)
+ QGraphicsLayout (0x7f9551228150) 0
+ primary-for QGraphicsGridLayout (0x7f95512280e0)
+ QGraphicsLayoutItem (0x7f95512281c0) 0
+ primary-for QGraphicsLayout (0x7f9551228150)
+
+Vtable for QGraphicsItemAnimation
+QGraphicsItemAnimation::_ZTV22QGraphicsItemAnimation: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI22QGraphicsItemAnimation)
+16 QGraphicsItemAnimation::metaObject
+24 QGraphicsItemAnimation::qt_metacast
+32 QGraphicsItemAnimation::qt_metacall
+40 QGraphicsItemAnimation::~QGraphicsItemAnimation
+48 QGraphicsItemAnimation::~QGraphicsItemAnimation
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QGraphicsItemAnimation::beforeAnimationStep
+120 QGraphicsItemAnimation::afterAnimationStep
+
+Class QGraphicsItemAnimation
+ size=24 align=8
+ base size=24 base align=8
+QGraphicsItemAnimation (0x7f95512444d0) 0
+ vptr=((& QGraphicsItemAnimation::_ZTV22QGraphicsItemAnimation) + 16u)
+ QObject (0x7f9551244540) 0
+ primary-for QGraphicsItemAnimation (0x7f95512444d0)
+
+Vtable for QGraphicsLinearLayout
+QGraphicsLinearLayout::_ZTV21QGraphicsLinearLayout: 13u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI21QGraphicsLinearLayout)
+16 QGraphicsLinearLayout::~QGraphicsLinearLayout
+24 QGraphicsLinearLayout::~QGraphicsLinearLayout
+32 QGraphicsLinearLayout::setGeometry
+40 QGraphicsLayout::getContentsMargins
+48 QGraphicsLayout::updateGeometry
+56 QGraphicsLinearLayout::sizeHint
+64 QGraphicsLinearLayout::invalidate
+72 QGraphicsLayout::widgetEvent
+80 QGraphicsLinearLayout::count
+88 QGraphicsLinearLayout::itemAt
+96 QGraphicsLinearLayout::removeAt
+
+Class QGraphicsLinearLayout
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsLinearLayout (0x7f955125f850) 0
+ vptr=((& QGraphicsLinearLayout::_ZTV21QGraphicsLinearLayout) + 16u)
+ QGraphicsLayout (0x7f955125f8c0) 0
+ primary-for QGraphicsLinearLayout (0x7f955125f850)
+ QGraphicsLayoutItem (0x7f955125f930) 0
+ primary-for QGraphicsLayout (0x7f955125f8c0)
+
+Vtable for QGraphicsWidget
+QGraphicsWidget::_ZTV15QGraphicsWidget: 92u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QGraphicsWidget)
+16 QGraphicsWidget::metaObject
+24 QGraphicsWidget::qt_metacast
+32 QGraphicsWidget::qt_metacall
+40 QGraphicsWidget::~QGraphicsWidget
+48 QGraphicsWidget::~QGraphicsWidget
+56 QGraphicsWidget::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QGraphicsWidget::setGeometry
+120 QGraphicsWidget::getContentsMargins
+128 QGraphicsWidget::type
+136 QGraphicsWidget::paint
+144 QGraphicsWidget::paintWindowFrame
+152 QGraphicsWidget::boundingRect
+160 QGraphicsWidget::shape
+168 QGraphicsWidget::initStyleOption
+176 QGraphicsWidget::sizeHint
+184 QGraphicsWidget::updateGeometry
+192 QGraphicsWidget::itemChange
+200 QGraphicsWidget::propertyChange
+208 QGraphicsWidget::sceneEvent
+216 QGraphicsWidget::windowFrameEvent
+224 QGraphicsWidget::windowFrameSectionAt
+232 QGraphicsWidget::changeEvent
+240 QGraphicsWidget::closeEvent
+248 QGraphicsWidget::focusInEvent
+256 QGraphicsWidget::focusNextPrevChild
+264 QGraphicsWidget::focusOutEvent
+272 QGraphicsWidget::hideEvent
+280 QGraphicsWidget::moveEvent
+288 QGraphicsWidget::polishEvent
+296 QGraphicsWidget::resizeEvent
+304 QGraphicsWidget::showEvent
+312 QGraphicsWidget::hoverMoveEvent
+320 QGraphicsWidget::hoverLeaveEvent
+328 QGraphicsWidget::grabMouseEvent
+336 QGraphicsWidget::ungrabMouseEvent
+344 QGraphicsWidget::grabKeyboardEvent
+352 QGraphicsWidget::ungrabKeyboardEvent
+360 (int (*)(...))-0x00000000000000010
+368 (int (*)(...))(& _ZTI15QGraphicsWidget)
+376 QGraphicsWidget::_ZThn16_N15QGraphicsWidgetD1Ev
+384 QGraphicsWidget::_ZThn16_N15QGraphicsWidgetD0Ev
+392 QGraphicsItem::advance
+400 QGraphicsWidget::_ZThn16_NK15QGraphicsWidget12boundingRectEv
+408 QGraphicsWidget::_ZThn16_NK15QGraphicsWidget5shapeEv
+416 QGraphicsItem::contains
+424 QGraphicsItem::collidesWithItem
+432 QGraphicsItem::collidesWithPath
+440 QGraphicsItem::isObscuredBy
+448 QGraphicsItem::opaqueArea
+456 QGraphicsWidget::_ZThn16_N15QGraphicsWidget5paintEP8QPainterPK24QStyleOptionGraphicsItemP7QWidget
+464 QGraphicsWidget::_ZThn16_NK15QGraphicsWidget4typeEv
+472 QGraphicsItem::sceneEventFilter
+480 QGraphicsWidget::_ZThn16_N15QGraphicsWidget10sceneEventEP6QEvent
+488 QGraphicsItem::contextMenuEvent
+496 QGraphicsItem::dragEnterEvent
+504 QGraphicsItem::dragLeaveEvent
+512 QGraphicsItem::dragMoveEvent
+520 QGraphicsItem::dropEvent
+528 QGraphicsWidget::_ZThn16_N15QGraphicsWidget12focusInEventEP11QFocusEvent
+536 QGraphicsWidget::_ZThn16_N15QGraphicsWidget13focusOutEventEP11QFocusEvent
+544 QGraphicsItem::hoverEnterEvent
+552 QGraphicsWidget::_ZThn16_N15QGraphicsWidget14hoverMoveEventEP24QGraphicsSceneHoverEvent
+560 QGraphicsWidget::_ZThn16_N15QGraphicsWidget15hoverLeaveEventEP24QGraphicsSceneHoverEvent
+568 QGraphicsItem::keyPressEvent
+576 QGraphicsItem::keyReleaseEvent
+584 QGraphicsItem::mousePressEvent
+592 QGraphicsItem::mouseMoveEvent
+600 QGraphicsItem::mouseReleaseEvent
+608 QGraphicsItem::mouseDoubleClickEvent
+616 QGraphicsItem::wheelEvent
+624 QGraphicsItem::inputMethodEvent
+632 QGraphicsItem::inputMethodQuery
+640 QGraphicsWidget::_ZThn16_N15QGraphicsWidget10itemChangeEN13QGraphicsItem18GraphicsItemChangeERK8QVariant
+648 QGraphicsItem::supportsExtension
+656 QGraphicsItem::setExtension
+664 QGraphicsItem::extension
+672 (int (*)(...))-0x00000000000000020
+680 (int (*)(...))(& _ZTI15QGraphicsWidget)
+688 QGraphicsWidget::_ZThn32_N15QGraphicsWidgetD1Ev
+696 QGraphicsWidget::_ZThn32_N15QGraphicsWidgetD0Ev
+704 QGraphicsWidget::_ZThn32_N15QGraphicsWidget11setGeometryERK6QRectF
+712 QGraphicsWidget::_ZThn32_NK15QGraphicsWidget18getContentsMarginsEPdS0_S0_S0_
+720 QGraphicsWidget::_ZThn32_N15QGraphicsWidget14updateGeometryEv
+728 QGraphicsWidget::_ZThn32_NK15QGraphicsWidget8sizeHintEN2Qt8SizeHintERK6QSizeF
+
+Class QGraphicsWidget
+ size=48 align=8
+ base size=48 base align=8
+QGraphicsWidget (0x7f955127b000) 0
+ vptr=((& QGraphicsWidget::_ZTV15QGraphicsWidget) + 16u)
+ QGraphicsObject (0x7f955127b080) 0
+ primary-for QGraphicsWidget (0x7f955127b000)
+ QObject (0x7f955127a070) 0
+ primary-for QGraphicsObject (0x7f955127b080)
+ QGraphicsItem (0x7f955127a0e0) 16
+ vptr=((& QGraphicsWidget::_ZTV15QGraphicsWidget) + 376u)
+ QGraphicsLayoutItem (0x7f955127a150) 32
+ vptr=((& QGraphicsWidget::_ZTV15QGraphicsWidget) + 688u)
+
+Vtable for QGraphicsProxyWidget
+QGraphicsProxyWidget::_ZTV20QGraphicsProxyWidget: 105u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI20QGraphicsProxyWidget)
+16 QGraphicsProxyWidget::metaObject
+24 QGraphicsProxyWidget::qt_metacast
+32 QGraphicsProxyWidget::qt_metacall
+40 QGraphicsProxyWidget::~QGraphicsProxyWidget
+48 QGraphicsProxyWidget::~QGraphicsProxyWidget
+56 QGraphicsProxyWidget::event
+64 QGraphicsProxyWidget::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QGraphicsProxyWidget::setGeometry
+120 QGraphicsWidget::getContentsMargins
+128 QGraphicsProxyWidget::type
+136 QGraphicsProxyWidget::paint
+144 QGraphicsWidget::paintWindowFrame
+152 QGraphicsWidget::boundingRect
+160 QGraphicsWidget::shape
+168 QGraphicsWidget::initStyleOption
+176 QGraphicsProxyWidget::sizeHint
+184 QGraphicsWidget::updateGeometry
+192 QGraphicsProxyWidget::itemChange
+200 QGraphicsWidget::propertyChange
+208 QGraphicsWidget::sceneEvent
+216 QGraphicsWidget::windowFrameEvent
+224 QGraphicsWidget::windowFrameSectionAt
+232 QGraphicsWidget::changeEvent
+240 QGraphicsWidget::closeEvent
+248 QGraphicsProxyWidget::focusInEvent
+256 QGraphicsProxyWidget::focusNextPrevChild
+264 QGraphicsProxyWidget::focusOutEvent
+272 QGraphicsProxyWidget::hideEvent
+280 QGraphicsWidget::moveEvent
+288 QGraphicsWidget::polishEvent
+296 QGraphicsProxyWidget::resizeEvent
+304 QGraphicsProxyWidget::showEvent
+312 QGraphicsProxyWidget::hoverMoveEvent
+320 QGraphicsProxyWidget::hoverLeaveEvent
+328 QGraphicsProxyWidget::grabMouseEvent
+336 QGraphicsProxyWidget::ungrabMouseEvent
+344 QGraphicsWidget::grabKeyboardEvent
+352 QGraphicsWidget::ungrabKeyboardEvent
+360 QGraphicsProxyWidget::contextMenuEvent
+368 QGraphicsProxyWidget::dragEnterEvent
+376 QGraphicsProxyWidget::dragLeaveEvent
+384 QGraphicsProxyWidget::dragMoveEvent
+392 QGraphicsProxyWidget::dropEvent
+400 QGraphicsProxyWidget::hoverEnterEvent
+408 QGraphicsProxyWidget::mouseMoveEvent
+416 QGraphicsProxyWidget::mousePressEvent
+424 QGraphicsProxyWidget::mouseReleaseEvent
+432 QGraphicsProxyWidget::mouseDoubleClickEvent
+440 QGraphicsProxyWidget::wheelEvent
+448 QGraphicsProxyWidget::keyPressEvent
+456 QGraphicsProxyWidget::keyReleaseEvent
+464 (int (*)(...))-0x00000000000000010
+472 (int (*)(...))(& _ZTI20QGraphicsProxyWidget)
+480 QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidgetD1Ev
+488 QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidgetD0Ev
+496 QGraphicsItem::advance
+504 QGraphicsWidget::_ZThn16_NK15QGraphicsWidget12boundingRectEv
+512 QGraphicsWidget::_ZThn16_NK15QGraphicsWidget5shapeEv
+520 QGraphicsItem::contains
+528 QGraphicsItem::collidesWithItem
+536 QGraphicsItem::collidesWithPath
+544 QGraphicsItem::isObscuredBy
+552 QGraphicsItem::opaqueArea
+560 QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget5paintEP8QPainterPK24QStyleOptionGraphicsItemP7QWidget
+568 QGraphicsProxyWidget::_ZThn16_NK20QGraphicsProxyWidget4typeEv
+576 QGraphicsItem::sceneEventFilter
+584 QGraphicsWidget::_ZThn16_N15QGraphicsWidget10sceneEventEP6QEvent
+592 QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget16contextMenuEventEP30QGraphicsSceneContextMenuEvent
+600 QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget14dragEnterEventEP27QGraphicsSceneDragDropEvent
+608 QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget14dragLeaveEventEP27QGraphicsSceneDragDropEvent
+616 QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget13dragMoveEventEP27QGraphicsSceneDragDropEvent
+624 QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget9dropEventEP27QGraphicsSceneDragDropEvent
+632 QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget12focusInEventEP11QFocusEvent
+640 QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget13focusOutEventEP11QFocusEvent
+648 QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget15hoverEnterEventEP24QGraphicsSceneHoverEvent
+656 QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget14hoverMoveEventEP24QGraphicsSceneHoverEvent
+664 QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget15hoverLeaveEventEP24QGraphicsSceneHoverEvent
+672 QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget13keyPressEventEP9QKeyEvent
+680 QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget15keyReleaseEventEP9QKeyEvent
+688 QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget15mousePressEventEP24QGraphicsSceneMouseEvent
+696 QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget14mouseMoveEventEP24QGraphicsSceneMouseEvent
+704 QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget17mouseReleaseEventEP24QGraphicsSceneMouseEvent
+712 QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget21mouseDoubleClickEventEP24QGraphicsSceneMouseEvent
+720 QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget10wheelEventEP24QGraphicsSceneWheelEvent
+728 QGraphicsItem::inputMethodEvent
+736 QGraphicsItem::inputMethodQuery
+744 QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget10itemChangeEN13QGraphicsItem18GraphicsItemChangeERK8QVariant
+752 QGraphicsItem::supportsExtension
+760 QGraphicsItem::setExtension
+768 QGraphicsItem::extension
+776 (int (*)(...))-0x00000000000000020
+784 (int (*)(...))(& _ZTI20QGraphicsProxyWidget)
+792 QGraphicsProxyWidget::_ZThn32_N20QGraphicsProxyWidgetD1Ev
+800 QGraphicsProxyWidget::_ZThn32_N20QGraphicsProxyWidgetD0Ev
+808 QGraphicsProxyWidget::_ZThn32_N20QGraphicsProxyWidget11setGeometryERK6QRectF
+816 QGraphicsWidget::_ZThn32_NK15QGraphicsWidget18getContentsMarginsEPdS0_S0_S0_
+824 QGraphicsWidget::_ZThn32_N15QGraphicsWidget14updateGeometryEv
+832 QGraphicsProxyWidget::_ZThn32_NK20QGraphicsProxyWidget8sizeHintEN2Qt8SizeHintERK6QSizeF
+
+Class QGraphicsProxyWidget
+ size=48 align=8
+ base size=48 base align=8
+QGraphicsProxyWidget (0x7f95512b48c0) 0
+ vptr=((& QGraphicsProxyWidget::_ZTV20QGraphicsProxyWidget) + 16u)
+ QGraphicsWidget (0x7f95512b7000) 0
+ primary-for QGraphicsProxyWidget (0x7f95512b48c0)
+ QGraphicsObject (0x7f95512b7080) 0
+ primary-for QGraphicsWidget (0x7f95512b7000)
+ QObject (0x7f95512b4930) 0
+ primary-for QGraphicsObject (0x7f95512b7080)
+ QGraphicsItem (0x7f95512b49a0) 16
+ vptr=((& QGraphicsProxyWidget::_ZTV20QGraphicsProxyWidget) + 480u)
+ QGraphicsLayoutItem (0x7f95512b4a10) 32
+ vptr=((& QGraphicsProxyWidget::_ZTV20QGraphicsProxyWidget) + 792u)
+
+Vtable for QGraphicsScene
+QGraphicsScene::_ZTV14QGraphicsScene: 34u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QGraphicsScene)
+16 QGraphicsScene::metaObject
+24 QGraphicsScene::qt_metacast
+32 QGraphicsScene::qt_metacall
+40 QGraphicsScene::~QGraphicsScene
+48 QGraphicsScene::~QGraphicsScene
+56 QGraphicsScene::event
+64 QGraphicsScene::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QGraphicsScene::inputMethodQuery
+120 QGraphicsScene::contextMenuEvent
+128 QGraphicsScene::dragEnterEvent
+136 QGraphicsScene::dragMoveEvent
+144 QGraphicsScene::dragLeaveEvent
+152 QGraphicsScene::dropEvent
+160 QGraphicsScene::focusInEvent
+168 QGraphicsScene::focusOutEvent
+176 QGraphicsScene::helpEvent
+184 QGraphicsScene::keyPressEvent
+192 QGraphicsScene::keyReleaseEvent
+200 QGraphicsScene::mousePressEvent
+208 QGraphicsScene::mouseMoveEvent
+216 QGraphicsScene::mouseReleaseEvent
+224 QGraphicsScene::mouseDoubleClickEvent
+232 QGraphicsScene::wheelEvent
+240 QGraphicsScene::inputMethodEvent
+248 QGraphicsScene::drawBackground
+256 QGraphicsScene::drawForeground
+264 QGraphicsScene::drawItems
+
+Class QGraphicsScene
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsScene (0x7f95510e0930) 0
+ vptr=((& QGraphicsScene::_ZTV14QGraphicsScene) + 16u)
+ QObject (0x7f95510e09a0) 0
+ primary-for QGraphicsScene (0x7f95510e0930)
+
+Vtable for QGraphicsSceneEvent
+QGraphicsSceneEvent::_ZTV19QGraphicsSceneEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QGraphicsSceneEvent)
+16 QGraphicsSceneEvent::~QGraphicsSceneEvent
+24 QGraphicsSceneEvent::~QGraphicsSceneEvent
+
+Class QGraphicsSceneEvent
+ size=32 align=8
+ base size=32 base align=8
+QGraphicsSceneEvent (0x7f9551192850) 0
+ vptr=((& QGraphicsSceneEvent::_ZTV19QGraphicsSceneEvent) + 16u)
+ QEvent (0x7f95511928c0) 0
+ primary-for QGraphicsSceneEvent (0x7f9551192850)
+
+Vtable for QGraphicsSceneMouseEvent
+QGraphicsSceneMouseEvent::_ZTV24QGraphicsSceneMouseEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI24QGraphicsSceneMouseEvent)
+16 QGraphicsSceneMouseEvent::~QGraphicsSceneMouseEvent
+24 QGraphicsSceneMouseEvent::~QGraphicsSceneMouseEvent
+
+Class QGraphicsSceneMouseEvent
+ size=32 align=8
+ base size=32 base align=8
+QGraphicsSceneMouseEvent (0x7f95511c1310) 0
+ vptr=((& QGraphicsSceneMouseEvent::_ZTV24QGraphicsSceneMouseEvent) + 16u)
+ QGraphicsSceneEvent (0x7f95511c1380) 0
+ primary-for QGraphicsSceneMouseEvent (0x7f95511c1310)
+ QEvent (0x7f95511c13f0) 0
+ primary-for QGraphicsSceneEvent (0x7f95511c1380)
+
+Vtable for QGraphicsSceneWheelEvent
+QGraphicsSceneWheelEvent::_ZTV24QGraphicsSceneWheelEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI24QGraphicsSceneWheelEvent)
+16 QGraphicsSceneWheelEvent::~QGraphicsSceneWheelEvent
+24 QGraphicsSceneWheelEvent::~QGraphicsSceneWheelEvent
+
+Class QGraphicsSceneWheelEvent
+ size=32 align=8
+ base size=32 base align=8
+QGraphicsSceneWheelEvent (0x7f95511c1cb0) 0
+ vptr=((& QGraphicsSceneWheelEvent::_ZTV24QGraphicsSceneWheelEvent) + 16u)
+ QGraphicsSceneEvent (0x7f95511c1d20) 0
+ primary-for QGraphicsSceneWheelEvent (0x7f95511c1cb0)
+ QEvent (0x7f95511c1d90) 0
+ primary-for QGraphicsSceneEvent (0x7f95511c1d20)
+
+Vtable for QGraphicsSceneContextMenuEvent
+QGraphicsSceneContextMenuEvent::_ZTV30QGraphicsSceneContextMenuEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI30QGraphicsSceneContextMenuEvent)
+16 QGraphicsSceneContextMenuEvent::~QGraphicsSceneContextMenuEvent
+24 QGraphicsSceneContextMenuEvent::~QGraphicsSceneContextMenuEvent
+
+Class QGraphicsSceneContextMenuEvent
+ size=32 align=8
+ base size=32 base align=8
+QGraphicsSceneContextMenuEvent (0x7f95511d75b0) 0
+ vptr=((& QGraphicsSceneContextMenuEvent::_ZTV30QGraphicsSceneContextMenuEvent) + 16u)
+ QGraphicsSceneEvent (0x7f95511d7620) 0
+ primary-for QGraphicsSceneContextMenuEvent (0x7f95511d75b0)
+ QEvent (0x7f95511d7690) 0
+ primary-for QGraphicsSceneEvent (0x7f95511d7620)
+
+Vtable for QGraphicsSceneHoverEvent
+QGraphicsSceneHoverEvent::_ZTV24QGraphicsSceneHoverEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI24QGraphicsSceneHoverEvent)
+16 QGraphicsSceneHoverEvent::~QGraphicsSceneHoverEvent
+24 QGraphicsSceneHoverEvent::~QGraphicsSceneHoverEvent
+
+Class QGraphicsSceneHoverEvent
+ size=32 align=8
+ base size=32 base align=8
+QGraphicsSceneHoverEvent (0x7f9550fe30e0) 0
+ vptr=((& QGraphicsSceneHoverEvent::_ZTV24QGraphicsSceneHoverEvent) + 16u)
+ QGraphicsSceneEvent (0x7f9550fe3150) 0
+ primary-for QGraphicsSceneHoverEvent (0x7f9550fe30e0)
+ QEvent (0x7f9550fe31c0) 0
+ primary-for QGraphicsSceneEvent (0x7f9550fe3150)
+
+Vtable for QGraphicsSceneHelpEvent
+QGraphicsSceneHelpEvent::_ZTV23QGraphicsSceneHelpEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI23QGraphicsSceneHelpEvent)
+16 QGraphicsSceneHelpEvent::~QGraphicsSceneHelpEvent
+24 QGraphicsSceneHelpEvent::~QGraphicsSceneHelpEvent
+
+Class QGraphicsSceneHelpEvent
+ size=32 align=8
+ base size=32 base align=8
+QGraphicsSceneHelpEvent (0x7f9550fe3a80) 0
+ vptr=((& QGraphicsSceneHelpEvent::_ZTV23QGraphicsSceneHelpEvent) + 16u)
+ QGraphicsSceneEvent (0x7f9550fe3af0) 0
+ primary-for QGraphicsSceneHelpEvent (0x7f9550fe3a80)
+ QEvent (0x7f9550fe3b60) 0
+ primary-for QGraphicsSceneEvent (0x7f9550fe3af0)
+
+Vtable for QGraphicsSceneDragDropEvent
+QGraphicsSceneDragDropEvent::_ZTV27QGraphicsSceneDragDropEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI27QGraphicsSceneDragDropEvent)
+16 QGraphicsSceneDragDropEvent::~QGraphicsSceneDragDropEvent
+24 QGraphicsSceneDragDropEvent::~QGraphicsSceneDragDropEvent
+
+Class QGraphicsSceneDragDropEvent
+ size=32 align=8
+ base size=32 base align=8
+QGraphicsSceneDragDropEvent (0x7f9550ff6380) 0
+ vptr=((& QGraphicsSceneDragDropEvent::_ZTV27QGraphicsSceneDragDropEvent) + 16u)
+ QGraphicsSceneEvent (0x7f9550ff63f0) 0
+ primary-for QGraphicsSceneDragDropEvent (0x7f9550ff6380)
+ QEvent (0x7f9550ff6460) 0
+ primary-for QGraphicsSceneEvent (0x7f9550ff63f0)
+
+Vtable for QGraphicsSceneResizeEvent
+QGraphicsSceneResizeEvent::_ZTV25QGraphicsSceneResizeEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI25QGraphicsSceneResizeEvent)
+16 QGraphicsSceneResizeEvent::~QGraphicsSceneResizeEvent
+24 QGraphicsSceneResizeEvent::~QGraphicsSceneResizeEvent
+
+Class QGraphicsSceneResizeEvent
+ size=32 align=8
+ base size=32 base align=8
+QGraphicsSceneResizeEvent (0x7f9550ff6d20) 0
+ vptr=((& QGraphicsSceneResizeEvent::_ZTV25QGraphicsSceneResizeEvent) + 16u)
+ QGraphicsSceneEvent (0x7f9550ff6d90) 0
+ primary-for QGraphicsSceneResizeEvent (0x7f9550ff6d20)
+ QEvent (0x7f9550ff6e00) 0
+ primary-for QGraphicsSceneEvent (0x7f9550ff6d90)
+
+Vtable for QGraphicsSceneMoveEvent
+QGraphicsSceneMoveEvent::_ZTV23QGraphicsSceneMoveEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI23QGraphicsSceneMoveEvent)
+16 QGraphicsSceneMoveEvent::~QGraphicsSceneMoveEvent
+24 QGraphicsSceneMoveEvent::~QGraphicsSceneMoveEvent
+
+Class QGraphicsSceneMoveEvent
+ size=32 align=8
+ base size=32 base align=8
+QGraphicsSceneMoveEvent (0x7f955100b460) 0
+ vptr=((& QGraphicsSceneMoveEvent::_ZTV23QGraphicsSceneMoveEvent) + 16u)
+ QGraphicsSceneEvent (0x7f955100b4d0) 0
+ primary-for QGraphicsSceneMoveEvent (0x7f955100b460)
+ QEvent (0x7f955100b540) 0
+ primary-for QGraphicsSceneEvent (0x7f955100b4d0)
+
+Vtable for QGraphicsTransform
+QGraphicsTransform::_ZTV18QGraphicsTransform: 15u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QGraphicsTransform)
+16 QGraphicsTransform::metaObject
+24 QGraphicsTransform::qt_metacast
+32 QGraphicsTransform::qt_metacall
+40 QGraphicsTransform::~QGraphicsTransform
+48 QGraphicsTransform::~QGraphicsTransform
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+
+Class QGraphicsTransform
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsTransform (0x7f955100bc40) 0
+ vptr=((& QGraphicsTransform::_ZTV18QGraphicsTransform) + 16u)
+ QObject (0x7f955100bcb0) 0
+ primary-for QGraphicsTransform (0x7f955100bc40)
+
+Vtable for QGraphicsScale
+QGraphicsScale::_ZTV14QGraphicsScale: 15u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QGraphicsScale)
+16 QGraphicsScale::metaObject
+24 QGraphicsScale::qt_metacast
+32 QGraphicsScale::qt_metacall
+40 QGraphicsScale::~QGraphicsScale
+48 QGraphicsScale::~QGraphicsScale
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QGraphicsScale::applyTo
+
+Class QGraphicsScale
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsScale (0x7f9551029150) 0
+ vptr=((& QGraphicsScale::_ZTV14QGraphicsScale) + 16u)
+ QGraphicsTransform (0x7f95510291c0) 0
+ primary-for QGraphicsScale (0x7f9551029150)
+ QObject (0x7f9551029230) 0
+ primary-for QGraphicsTransform (0x7f95510291c0)
+
+Vtable for QGraphicsRotation
+QGraphicsRotation::_ZTV17QGraphicsRotation: 15u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QGraphicsRotation)
+16 QGraphicsRotation::metaObject
+24 QGraphicsRotation::qt_metacast
+32 QGraphicsRotation::qt_metacall
+40 QGraphicsRotation::~QGraphicsRotation
+48 QGraphicsRotation::~QGraphicsRotation
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QGraphicsRotation::applyTo
+
+Class QGraphicsRotation
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsRotation (0x7f955103c620) 0
+ vptr=((& QGraphicsRotation::_ZTV17QGraphicsRotation) + 16u)
+ QGraphicsTransform (0x7f955103c690) 0
+ primary-for QGraphicsRotation (0x7f955103c620)
+ QObject (0x7f955103c700) 0
+ primary-for QGraphicsTransform (0x7f955103c690)
+
+Vtable for QScrollArea
+QScrollArea::_ZTV11QScrollArea: 65u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QScrollArea)
+16 QScrollArea::metaObject
+24 QScrollArea::qt_metacast
+32 QScrollArea::qt_metacall
+40 QScrollArea::~QScrollArea
+48 QScrollArea::~QScrollArea
+56 QScrollArea::event
+64 QScrollArea::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QScrollArea::sizeHint
+136 QAbstractScrollArea::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QAbstractScrollArea::mousePressEvent
+168 QAbstractScrollArea::mouseReleaseEvent
+176 QAbstractScrollArea::mouseDoubleClickEvent
+184 QAbstractScrollArea::mouseMoveEvent
+192 QAbstractScrollArea::wheelEvent
+200 QAbstractScrollArea::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QAbstractScrollArea::paintEvent
+256 QWidget::moveEvent
+264 QScrollArea::resizeEvent
+272 QWidget::closeEvent
+280 QAbstractScrollArea::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QAbstractScrollArea::dragEnterEvent
+312 QAbstractScrollArea::dragMoveEvent
+320 QAbstractScrollArea::dragLeaveEvent
+328 QAbstractScrollArea::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QFrame::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QScrollArea::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QAbstractScrollArea::viewportEvent
+456 QScrollArea::scrollContentsBy
+464 (int (*)(...))-0x00000000000000010
+472 (int (*)(...))(& _ZTI11QScrollArea)
+480 QScrollArea::_ZThn16_N11QScrollAreaD1Ev
+488 QScrollArea::_ZThn16_N11QScrollAreaD0Ev
+496 QWidget::_ZThn16_NK7QWidget7devTypeEv
+504 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+512 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QScrollArea
+ size=40 align=8
+ base size=40 base align=8
+QScrollArea (0x7f955104faf0) 0
+ vptr=((& QScrollArea::_ZTV11QScrollArea) + 16u)
+ QAbstractScrollArea (0x7f955104fb60) 0
+ primary-for QScrollArea (0x7f955104faf0)
+ QFrame (0x7f955104fbd0) 0
+ primary-for QAbstractScrollArea (0x7f955104fb60)
+ QWidget (0x7f955103dc80) 0
+ primary-for QFrame (0x7f955104fbd0)
+ QObject (0x7f955104fc40) 0
+ primary-for QWidget (0x7f955103dc80)
+ QPaintDevice (0x7f955104fcb0) 16
+ vptr=((& QScrollArea::_ZTV11QScrollArea) + 480u)
+
+Vtable for QGraphicsView
+QGraphicsView::_ZTV13QGraphicsView: 68u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QGraphicsView)
+16 QGraphicsView::metaObject
+24 QGraphicsView::qt_metacast
+32 QGraphicsView::qt_metacall
+40 QGraphicsView::~QGraphicsView
+48 QGraphicsView::~QGraphicsView
+56 QGraphicsView::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QGraphicsView::sizeHint
+136 QAbstractScrollArea::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QGraphicsView::mousePressEvent
+168 QGraphicsView::mouseReleaseEvent
+176 QGraphicsView::mouseDoubleClickEvent
+184 QGraphicsView::mouseMoveEvent
+192 QGraphicsView::wheelEvent
+200 QGraphicsView::keyPressEvent
+208 QGraphicsView::keyReleaseEvent
+216 QGraphicsView::focusInEvent
+224 QGraphicsView::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QGraphicsView::paintEvent
+256 QWidget::moveEvent
+264 QGraphicsView::resizeEvent
+272 QWidget::closeEvent
+280 QGraphicsView::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QGraphicsView::dragEnterEvent
+312 QGraphicsView::dragMoveEvent
+320 QGraphicsView::dragLeaveEvent
+328 QGraphicsView::dropEvent
+336 QGraphicsView::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QFrame::changeEvent
+368 QWidget::metric
+376 QGraphicsView::inputMethodEvent
+384 QGraphicsView::inputMethodQuery
+392 QGraphicsView::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QGraphicsView::viewportEvent
+456 QGraphicsView::scrollContentsBy
+464 QGraphicsView::drawBackground
+472 QGraphicsView::drawForeground
+480 QGraphicsView::drawItems
+488 (int (*)(...))-0x00000000000000010
+496 (int (*)(...))(& _ZTI13QGraphicsView)
+504 QGraphicsView::_ZThn16_N13QGraphicsViewD1Ev
+512 QGraphicsView::_ZThn16_N13QGraphicsViewD0Ev
+520 QWidget::_ZThn16_NK7QWidget7devTypeEv
+528 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+536 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QGraphicsView
+ size=40 align=8
+ base size=40 base align=8
+QGraphicsView (0x7f955106fa10) 0
+ vptr=((& QGraphicsView::_ZTV13QGraphicsView) + 16u)
+ QAbstractScrollArea (0x7f955106fa80) 0
+ primary-for QGraphicsView (0x7f955106fa10)
+ QFrame (0x7f955106faf0) 0
+ primary-for QAbstractScrollArea (0x7f955106fa80)
+ QWidget (0x7f955106a680) 0
+ primary-for QFrame (0x7f955106faf0)
+ QObject (0x7f955106fb60) 0
+ primary-for QWidget (0x7f955106a680)
+ QPaintDevice (0x7f955106fbd0) 16
+ vptr=((& QGraphicsView::_ZTV13QGraphicsView) + 504u)
+
+Vtable for QAbstractButton
+QAbstractButton::_ZTV15QAbstractButton: 66u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QAbstractButton)
+16 QAbstractButton::metaObject
+24 QAbstractButton::qt_metacast
+32 QAbstractButton::qt_metacall
+40 QAbstractButton::~QAbstractButton
+48 QAbstractButton::~QAbstractButton
+56 QAbstractButton::event
+64 QObject::eventFilter
+72 QAbstractButton::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QWidget::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QAbstractButton::mousePressEvent
+168 QAbstractButton::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QAbstractButton::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QAbstractButton::keyPressEvent
+208 QAbstractButton::keyReleaseEvent
+216 QAbstractButton::focusInEvent
+224 QAbstractButton::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 __cxa_pure_virtual
+256 QWidget::moveEvent
+264 QWidget::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QAbstractButton::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QAbstractButton::hitButton
+456 QAbstractButton::checkStateSet
+464 QAbstractButton::nextCheckState
+472 (int (*)(...))-0x00000000000000010
+480 (int (*)(...))(& _ZTI15QAbstractButton)
+488 QAbstractButton::_ZThn16_N15QAbstractButtonD1Ev
+496 QAbstractButton::_ZThn16_N15QAbstractButtonD0Ev
+504 QWidget::_ZThn16_NK7QWidget7devTypeEv
+512 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+520 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QAbstractButton
+ size=40 align=8
+ base size=40 base align=8
+QAbstractButton (0x7f9550f60ee0) 0
+ vptr=((& QAbstractButton::_ZTV15QAbstractButton) + 16u)
+ QWidget (0x7f9550f68380) 0
+ primary-for QAbstractButton (0x7f9550f60ee0)
+ QObject (0x7f9550f60f50) 0
+ primary-for QWidget (0x7f9550f68380)
+ QPaintDevice (0x7f9550f6f000) 16
+ vptr=((& QAbstractButton::_ZTV15QAbstractButton) + 488u)
+
+Vtable for QButtonGroup
+QButtonGroup::_ZTV12QButtonGroup: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QButtonGroup)
+16 QButtonGroup::metaObject
+24 QButtonGroup::qt_metacast
+32 QButtonGroup::qt_metacall
+40 QButtonGroup::~QButtonGroup
+48 QButtonGroup::~QButtonGroup
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QButtonGroup
+ size=16 align=8
+ base size=16 base align=8
+QButtonGroup (0x7f9550fa1310) 0
+ vptr=((& QButtonGroup::_ZTV12QButtonGroup) + 16u)
+ QObject (0x7f9550fa1380) 0
+ primary-for QButtonGroup (0x7f9550fa1310)
+
+Vtable for QCalendarWidget
+QCalendarWidget::_ZTV15QCalendarWidget: 64u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QCalendarWidget)
+16 QCalendarWidget::metaObject
+24 QCalendarWidget::qt_metacast
+32 QCalendarWidget::qt_metacall
+40 QCalendarWidget::~QCalendarWidget
+48 QCalendarWidget::~QCalendarWidget
+56 QCalendarWidget::event
+64 QCalendarWidget::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QCalendarWidget::sizeHint
+136 QCalendarWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QCalendarWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QCalendarWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QWidget::paintEvent
+256 QWidget::moveEvent
+264 QCalendarWidget::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QWidget::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QCalendarWidget::paintCell
+456 (int (*)(...))-0x00000000000000010
+464 (int (*)(...))(& _ZTI15QCalendarWidget)
+472 QCalendarWidget::_ZThn16_N15QCalendarWidgetD1Ev
+480 QCalendarWidget::_ZThn16_N15QCalendarWidgetD0Ev
+488 QWidget::_ZThn16_NK7QWidget7devTypeEv
+496 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+504 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QCalendarWidget
+ size=40 align=8
+ base size=40 base align=8
+QCalendarWidget (0x7f9550fb7f50) 0
+ vptr=((& QCalendarWidget::_ZTV15QCalendarWidget) + 16u)
+ QWidget (0x7f9550fb4900) 0
+ primary-for QCalendarWidget (0x7f9550fb7f50)
+ QObject (0x7f9550fbf000) 0
+ primary-for QWidget (0x7f9550fb4900)
+ QPaintDevice (0x7f9550fbf070) 16
+ vptr=((& QCalendarWidget::_ZTV15QCalendarWidget) + 472u)
+
+Vtable for QCheckBox
+QCheckBox::_ZTV9QCheckBox: 66u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QCheckBox)
+16 QCheckBox::metaObject
+24 QCheckBox::qt_metacast
+32 QCheckBox::qt_metacall
+40 QCheckBox::~QCheckBox
+48 QCheckBox::~QCheckBox
+56 QCheckBox::event
+64 QObject::eventFilter
+72 QAbstractButton::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QCheckBox::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QAbstractButton::mousePressEvent
+168 QAbstractButton::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QCheckBox::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QAbstractButton::keyPressEvent
+208 QAbstractButton::keyReleaseEvent
+216 QAbstractButton::focusInEvent
+224 QAbstractButton::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QCheckBox::paintEvent
+256 QWidget::moveEvent
+264 QWidget::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QAbstractButton::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QCheckBox::hitButton
+456 QCheckBox::checkStateSet
+464 QCheckBox::nextCheckState
+472 (int (*)(...))-0x00000000000000010
+480 (int (*)(...))(& _ZTI9QCheckBox)
+488 QCheckBox::_ZThn16_N9QCheckBoxD1Ev
+496 QCheckBox::_ZThn16_N9QCheckBoxD0Ev
+504 QWidget::_ZThn16_NK7QWidget7devTypeEv
+512 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+520 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QCheckBox
+ size=40 align=8
+ base size=40 base align=8
+QCheckBox (0x7f9550de80e0) 0
+ vptr=((& QCheckBox::_ZTV9QCheckBox) + 16u)
+ QAbstractButton (0x7f9550de8150) 0
+ primary-for QCheckBox (0x7f9550de80e0)
+ QWidget (0x7f9550ddc900) 0
+ primary-for QAbstractButton (0x7f9550de8150)
+ QObject (0x7f9550de81c0) 0
+ primary-for QWidget (0x7f9550ddc900)
+ QPaintDevice (0x7f9550de8230) 16
+ vptr=((& QCheckBox::_ZTV9QCheckBox) + 488u)
+
+Vtable for QComboBox
+QComboBox::_ZTV9QComboBox: 65u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QComboBox)
+16 QComboBox::metaObject
+24 QComboBox::qt_metacast
+32 QComboBox::qt_metacall
+40 QComboBox::~QComboBox
+48 QComboBox::~QComboBox
+56 QComboBox::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QComboBox::sizeHint
+136 QComboBox::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QComboBox::mousePressEvent
+168 QComboBox::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QComboBox::wheelEvent
+200 QComboBox::keyPressEvent
+208 QComboBox::keyReleaseEvent
+216 QComboBox::focusInEvent
+224 QComboBox::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QComboBox::paintEvent
+256 QWidget::moveEvent
+264 QComboBox::resizeEvent
+272 QWidget::closeEvent
+280 QComboBox::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QComboBox::showEvent
+344 QComboBox::hideEvent
+352 QWidget::x11Event
+360 QComboBox::changeEvent
+368 QWidget::metric
+376 QComboBox::inputMethodEvent
+384 QComboBox::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QComboBox::showPopup
+456 QComboBox::hidePopup
+464 (int (*)(...))-0x00000000000000010
+472 (int (*)(...))(& _ZTI9QComboBox)
+480 QComboBox::_ZThn16_N9QComboBoxD1Ev
+488 QComboBox::_ZThn16_N9QComboBoxD0Ev
+496 QWidget::_ZThn16_NK7QWidget7devTypeEv
+504 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+512 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QComboBox
+ size=40 align=8
+ base size=40 base align=8
+QComboBox (0x7f9550e0b8c0) 0
+ vptr=((& QComboBox::_ZTV9QComboBox) + 16u)
+ QWidget (0x7f9550e06900) 0
+ primary-for QComboBox (0x7f9550e0b8c0)
+ QObject (0x7f9550e0b930) 0
+ primary-for QWidget (0x7f9550e06900)
+ QPaintDevice (0x7f9550e0b9a0) 16
+ vptr=((& QComboBox::_ZTV9QComboBox) + 480u)
+
+Vtable for QPushButton
+QPushButton::_ZTV11QPushButton: 66u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QPushButton)
+16 QPushButton::metaObject
+24 QPushButton::qt_metacast
+32 QPushButton::qt_metacall
+40 QPushButton::~QPushButton
+48 QPushButton::~QPushButton
+56 QPushButton::event
+64 QObject::eventFilter
+72 QAbstractButton::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QPushButton::sizeHint
+136 QPushButton::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QAbstractButton::mousePressEvent
+168 QAbstractButton::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QAbstractButton::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QPushButton::keyPressEvent
+208 QAbstractButton::keyReleaseEvent
+216 QPushButton::focusInEvent
+224 QPushButton::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QPushButton::paintEvent
+256 QWidget::moveEvent
+264 QWidget::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QAbstractButton::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QAbstractButton::hitButton
+456 QAbstractButton::checkStateSet
+464 QAbstractButton::nextCheckState
+472 (int (*)(...))-0x00000000000000010
+480 (int (*)(...))(& _ZTI11QPushButton)
+488 QPushButton::_ZThn16_N11QPushButtonD1Ev
+496 QPushButton::_ZThn16_N11QPushButtonD0Ev
+504 QWidget::_ZThn16_NK7QWidget7devTypeEv
+512 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+520 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QPushButton
+ size=40 align=8
+ base size=40 base align=8
+QPushButton (0x7f9550e7a3f0) 0
+ vptr=((& QPushButton::_ZTV11QPushButton) + 16u)
+ QAbstractButton (0x7f9550e7a460) 0
+ primary-for QPushButton (0x7f9550e7a3f0)
+ QWidget (0x7f9550e76600) 0
+ primary-for QAbstractButton (0x7f9550e7a460)
+ QObject (0x7f9550e7a4d0) 0
+ primary-for QWidget (0x7f9550e76600)
+ QPaintDevice (0x7f9550e7a540) 16
+ vptr=((& QPushButton::_ZTV11QPushButton) + 488u)
+
+Vtable for QCommandLinkButton
+QCommandLinkButton::_ZTV18QCommandLinkButton: 66u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QCommandLinkButton)
+16 QCommandLinkButton::metaObject
+24 QCommandLinkButton::qt_metacast
+32 QCommandLinkButton::qt_metacall
+40 QCommandLinkButton::~QCommandLinkButton
+48 QCommandLinkButton::~QCommandLinkButton
+56 QCommandLinkButton::event
+64 QObject::eventFilter
+72 QAbstractButton::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QCommandLinkButton::sizeHint
+136 QCommandLinkButton::minimumSizeHint
+144 QCommandLinkButton::heightForWidth
+152 QWidget::paintEngine
+160 QAbstractButton::mousePressEvent
+168 QAbstractButton::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QAbstractButton::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QPushButton::keyPressEvent
+208 QAbstractButton::keyReleaseEvent
+216 QPushButton::focusInEvent
+224 QPushButton::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QCommandLinkButton::paintEvent
+256 QWidget::moveEvent
+264 QWidget::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QAbstractButton::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QAbstractButton::hitButton
+456 QAbstractButton::checkStateSet
+464 QAbstractButton::nextCheckState
+472 (int (*)(...))-0x00000000000000010
+480 (int (*)(...))(& _ZTI18QCommandLinkButton)
+488 QCommandLinkButton::_ZThn16_N18QCommandLinkButtonD1Ev
+496 QCommandLinkButton::_ZThn16_N18QCommandLinkButtonD0Ev
+504 QWidget::_ZThn16_NK7QWidget7devTypeEv
+512 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+520 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QCommandLinkButton
+ size=40 align=8
+ base size=40 base align=8
+QCommandLinkButton (0x7f9550e9dd20) 0
+ vptr=((& QCommandLinkButton::_ZTV18QCommandLinkButton) + 16u)
+ QPushButton (0x7f9550e9dd90) 0
+ primary-for QCommandLinkButton (0x7f9550e9dd20)
+ QAbstractButton (0x7f9550e9de00) 0
+ primary-for QPushButton (0x7f9550e9dd90)
+ QWidget (0x7f9550ea2600) 0
+ primary-for QAbstractButton (0x7f9550e9de00)
+ QObject (0x7f9550e9de70) 0
+ primary-for QWidget (0x7f9550ea2600)
+ QPaintDevice (0x7f9550e9dee0) 16
+ vptr=((& QCommandLinkButton::_ZTV18QCommandLinkButton) + 488u)
+
+Vtable for QDateTimeEdit
+QDateTimeEdit::_ZTV13QDateTimeEdit: 70u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QDateTimeEdit)
+16 QDateTimeEdit::metaObject
+24 QDateTimeEdit::qt_metacast
+32 QDateTimeEdit::qt_metacall
+40 QDateTimeEdit::~QDateTimeEdit
+48 QDateTimeEdit::~QDateTimeEdit
+56 QDateTimeEdit::event
+64 QObject::eventFilter
+72 QAbstractSpinBox::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QDateTimeEdit::sizeHint
+136 QAbstractSpinBox::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QDateTimeEdit::mousePressEvent
+168 QAbstractSpinBox::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QAbstractSpinBox::mouseMoveEvent
+192 QDateTimeEdit::wheelEvent
+200 QDateTimeEdit::keyPressEvent
+208 QAbstractSpinBox::keyReleaseEvent
+216 QDateTimeEdit::focusInEvent
+224 QAbstractSpinBox::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QDateTimeEdit::paintEvent
+256 QWidget::moveEvent
+264 QAbstractSpinBox::resizeEvent
+272 QAbstractSpinBox::closeEvent
+280 QAbstractSpinBox::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QAbstractSpinBox::showEvent
+344 QAbstractSpinBox::hideEvent
+352 QWidget::x11Event
+360 QAbstractSpinBox::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QAbstractSpinBox::inputMethodQuery
+392 QDateTimeEdit::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QDateTimeEdit::validate
+456 QDateTimeEdit::fixup
+464 QDateTimeEdit::stepBy
+472 QDateTimeEdit::clear
+480 QDateTimeEdit::stepEnabled
+488 QDateTimeEdit::dateTimeFromText
+496 QDateTimeEdit::textFromDateTime
+504 (int (*)(...))-0x00000000000000010
+512 (int (*)(...))(& _ZTI13QDateTimeEdit)
+520 QDateTimeEdit::_ZThn16_N13QDateTimeEditD1Ev
+528 QDateTimeEdit::_ZThn16_N13QDateTimeEditD0Ev
+536 QWidget::_ZThn16_NK7QWidget7devTypeEv
+544 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+552 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QDateTimeEdit
+ size=40 align=8
+ base size=40 base align=8
+QDateTimeEdit (0x7f9550ebb8c0) 0
+ vptr=((& QDateTimeEdit::_ZTV13QDateTimeEdit) + 16u)
+ QAbstractSpinBox (0x7f9550ebb930) 0
+ primary-for QDateTimeEdit (0x7f9550ebb8c0)
+ QWidget (0x7f9550ec2000) 0
+ primary-for QAbstractSpinBox (0x7f9550ebb930)
+ QObject (0x7f9550ebb9a0) 0
+ primary-for QWidget (0x7f9550ec2000)
+ QPaintDevice (0x7f9550ebba10) 16
+ vptr=((& QDateTimeEdit::_ZTV13QDateTimeEdit) + 520u)
+
+Vtable for QTimeEdit
+QTimeEdit::_ZTV9QTimeEdit: 70u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QTimeEdit)
+16 QTimeEdit::metaObject
+24 QTimeEdit::qt_metacast
+32 QTimeEdit::qt_metacall
+40 QTimeEdit::~QTimeEdit
+48 QTimeEdit::~QTimeEdit
+56 QDateTimeEdit::event
+64 QObject::eventFilter
+72 QAbstractSpinBox::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QDateTimeEdit::sizeHint
+136 QAbstractSpinBox::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QDateTimeEdit::mousePressEvent
+168 QAbstractSpinBox::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QAbstractSpinBox::mouseMoveEvent
+192 QDateTimeEdit::wheelEvent
+200 QDateTimeEdit::keyPressEvent
+208 QAbstractSpinBox::keyReleaseEvent
+216 QDateTimeEdit::focusInEvent
+224 QAbstractSpinBox::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QDateTimeEdit::paintEvent
+256 QWidget::moveEvent
+264 QAbstractSpinBox::resizeEvent
+272 QAbstractSpinBox::closeEvent
+280 QAbstractSpinBox::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QAbstractSpinBox::showEvent
+344 QAbstractSpinBox::hideEvent
+352 QWidget::x11Event
+360 QAbstractSpinBox::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QAbstractSpinBox::inputMethodQuery
+392 QDateTimeEdit::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QDateTimeEdit::validate
+456 QDateTimeEdit::fixup
+464 QDateTimeEdit::stepBy
+472 QDateTimeEdit::clear
+480 QDateTimeEdit::stepEnabled
+488 QDateTimeEdit::dateTimeFromText
+496 QDateTimeEdit::textFromDateTime
+504 (int (*)(...))-0x00000000000000010
+512 (int (*)(...))(& _ZTI9QTimeEdit)
+520 QTimeEdit::_ZThn16_N9QTimeEditD1Ev
+528 QTimeEdit::_ZThn16_N9QTimeEditD0Ev
+536 QWidget::_ZThn16_NK7QWidget7devTypeEv
+544 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+552 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QTimeEdit
+ size=40 align=8
+ base size=40 base align=8
+QTimeEdit (0x7f9550ced7e0) 0
+ vptr=((& QTimeEdit::_ZTV9QTimeEdit) + 16u)
+ QDateTimeEdit (0x7f9550ced850) 0
+ primary-for QTimeEdit (0x7f9550ced7e0)
+ QAbstractSpinBox (0x7f9550ced8c0) 0
+ primary-for QDateTimeEdit (0x7f9550ced850)
+ QWidget (0x7f9550ec2f80) 0
+ primary-for QAbstractSpinBox (0x7f9550ced8c0)
+ QObject (0x7f9550ced930) 0
+ primary-for QWidget (0x7f9550ec2f80)
+ QPaintDevice (0x7f9550ced9a0) 16
+ vptr=((& QTimeEdit::_ZTV9QTimeEdit) + 520u)
+
+Vtable for QDateEdit
+QDateEdit::_ZTV9QDateEdit: 70u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QDateEdit)
+16 QDateEdit::metaObject
+24 QDateEdit::qt_metacast
+32 QDateEdit::qt_metacall
+40 QDateEdit::~QDateEdit
+48 QDateEdit::~QDateEdit
+56 QDateTimeEdit::event
+64 QObject::eventFilter
+72 QAbstractSpinBox::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QDateTimeEdit::sizeHint
+136 QAbstractSpinBox::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QDateTimeEdit::mousePressEvent
+168 QAbstractSpinBox::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QAbstractSpinBox::mouseMoveEvent
+192 QDateTimeEdit::wheelEvent
+200 QDateTimeEdit::keyPressEvent
+208 QAbstractSpinBox::keyReleaseEvent
+216 QDateTimeEdit::focusInEvent
+224 QAbstractSpinBox::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QDateTimeEdit::paintEvent
+256 QWidget::moveEvent
+264 QAbstractSpinBox::resizeEvent
+272 QAbstractSpinBox::closeEvent
+280 QAbstractSpinBox::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QAbstractSpinBox::showEvent
+344 QAbstractSpinBox::hideEvent
+352 QWidget::x11Event
+360 QAbstractSpinBox::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QAbstractSpinBox::inputMethodQuery
+392 QDateTimeEdit::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QDateTimeEdit::validate
+456 QDateTimeEdit::fixup
+464 QDateTimeEdit::stepBy
+472 QDateTimeEdit::clear
+480 QDateTimeEdit::stepEnabled
+488 QDateTimeEdit::dateTimeFromText
+496 QDateTimeEdit::textFromDateTime
+504 (int (*)(...))-0x00000000000000010
+512 (int (*)(...))(& _ZTI9QDateEdit)
+520 QDateEdit::_ZThn16_N9QDateEditD1Ev
+528 QDateEdit::_ZThn16_N9QDateEditD0Ev
+536 QWidget::_ZThn16_NK7QWidget7devTypeEv
+544 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+552 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QDateEdit
+ size=40 align=8
+ base size=40 base align=8
+QDateEdit (0x7f9550d038c0) 0
+ vptr=((& QDateEdit::_ZTV9QDateEdit) + 16u)
+ QDateTimeEdit (0x7f9550d03930) 0
+ primary-for QDateEdit (0x7f9550d038c0)
+ QAbstractSpinBox (0x7f9550d039a0) 0
+ primary-for QDateTimeEdit (0x7f9550d03930)
+ QWidget (0x7f9550cf3680) 0
+ primary-for QAbstractSpinBox (0x7f9550d039a0)
+ QObject (0x7f9550d03a10) 0
+ primary-for QWidget (0x7f9550cf3680)
+ QPaintDevice (0x7f9550d03a80) 16
+ vptr=((& QDateEdit::_ZTV9QDateEdit) + 520u)
+
+Vtable for QDial
+QDial::_ZTV5QDial: 64u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI5QDial)
+16 QDial::metaObject
+24 QDial::qt_metacast
+32 QDial::qt_metacall
+40 QDial::~QDial
+48 QDial::~QDial
+56 QDial::event
+64 QObject::eventFilter
+72 QAbstractSlider::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QDial::sizeHint
+136 QDial::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QDial::mousePressEvent
+168 QDial::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QDial::mouseMoveEvent
+192 QAbstractSlider::wheelEvent
+200 QAbstractSlider::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QDial::paintEvent
+256 QWidget::moveEvent
+264 QDial::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QAbstractSlider::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QDial::sliderChange
+456 (int (*)(...))-0x00000000000000010
+464 (int (*)(...))(& _ZTI5QDial)
+472 QDial::_ZThn16_N5QDialD1Ev
+480 QDial::_ZThn16_N5QDialD0Ev
+488 QWidget::_ZThn16_NK7QWidget7devTypeEv
+496 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+504 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QDial
+ size=40 align=8
+ base size=40 base align=8
+QDial (0x7f9550d48690) 0
+ vptr=((& QDial::_ZTV5QDial) + 16u)
+ QAbstractSlider (0x7f9550d48700) 0
+ primary-for QDial (0x7f9550d48690)
+ QWidget (0x7f9550d49300) 0
+ primary-for QAbstractSlider (0x7f9550d48700)
+ QObject (0x7f9550d48770) 0
+ primary-for QWidget (0x7f9550d49300)
+ QPaintDevice (0x7f9550d487e0) 16
+ vptr=((& QDial::_ZTV5QDial) + 472u)
+
+Vtable for QDialogButtonBox
+QDialogButtonBox::_ZTV16QDialogButtonBox: 63u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QDialogButtonBox)
+16 QDialogButtonBox::metaObject
+24 QDialogButtonBox::qt_metacast
+32 QDialogButtonBox::qt_metacall
+40 QDialogButtonBox::~QDialogButtonBox
+48 QDialogButtonBox::~QDialogButtonBox
+56 QDialogButtonBox::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QWidget::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QWidget::paintEvent
+256 QWidget::moveEvent
+264 QWidget::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QDialogButtonBox::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 (int (*)(...))-0x00000000000000010
+456 (int (*)(...))(& _ZTI16QDialogButtonBox)
+464 QDialogButtonBox::_ZThn16_N16QDialogButtonBoxD1Ev
+472 QDialogButtonBox::_ZThn16_N16QDialogButtonBoxD0Ev
+480 QWidget::_ZThn16_NK7QWidget7devTypeEv
+488 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+496 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QDialogButtonBox
+ size=40 align=8
+ base size=40 base align=8
+QDialogButtonBox (0x7f9550d89310) 0
+ vptr=((& QDialogButtonBox::_ZTV16QDialogButtonBox) + 16u)
+ QWidget (0x7f9550d49d00) 0
+ primary-for QDialogButtonBox (0x7f9550d89310)
+ QObject (0x7f9550d89380) 0
+ primary-for QWidget (0x7f9550d49d00)
+ QPaintDevice (0x7f9550d893f0) 16
+ vptr=((& QDialogButtonBox::_ZTV16QDialogButtonBox) + 464u)
+
+Vtable for QDockWidget
+QDockWidget::_ZTV11QDockWidget: 63u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QDockWidget)
+16 QDockWidget::metaObject
+24 QDockWidget::qt_metacast
+32 QDockWidget::qt_metacall
+40 QDockWidget::~QDockWidget
+48 QDockWidget::~QDockWidget
+56 QDockWidget::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QWidget::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QDockWidget::paintEvent
+256 QWidget::moveEvent
+264 QWidget::resizeEvent
+272 QDockWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QDockWidget::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 (int (*)(...))-0x00000000000000010
+456 (int (*)(...))(& _ZTI11QDockWidget)
+464 QDockWidget::_ZThn16_N11QDockWidgetD1Ev
+472 QDockWidget::_ZThn16_N11QDockWidgetD0Ev
+480 QWidget::_ZThn16_NK7QWidget7devTypeEv
+488 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+496 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QDockWidget
+ size=40 align=8
+ base size=40 base align=8
+QDockWidget (0x7f9550bdb7e0) 0
+ vptr=((& QDockWidget::_ZTV11QDockWidget) + 16u)
+ QWidget (0x7f9550d95e80) 0
+ primary-for QDockWidget (0x7f9550bdb7e0)
+ QObject (0x7f9550bdb850) 0
+ primary-for QWidget (0x7f9550d95e80)
+ QPaintDevice (0x7f9550bdb8c0) 16
+ vptr=((& QDockWidget::_ZTV11QDockWidget) + 464u)
+
+Vtable for QFocusFrame
+QFocusFrame::_ZTV11QFocusFrame: 63u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QFocusFrame)
+16 QFocusFrame::metaObject
+24 QFocusFrame::qt_metacast
+32 QFocusFrame::qt_metacall
+40 QFocusFrame::~QFocusFrame
+48 QFocusFrame::~QFocusFrame
+56 QFocusFrame::event
+64 QFocusFrame::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QWidget::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QFocusFrame::paintEvent
+256 QWidget::moveEvent
+264 QWidget::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QWidget::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 (int (*)(...))-0x00000000000000010
+456 (int (*)(...))(& _ZTI11QFocusFrame)
+464 QFocusFrame::_ZThn16_N11QFocusFrameD1Ev
+472 QFocusFrame::_ZThn16_N11QFocusFrameD0Ev
+480 QWidget::_ZThn16_NK7QWidget7devTypeEv
+488 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+496 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QFocusFrame
+ size=40 align=8
+ base size=40 base align=8
+QFocusFrame (0x7f9550c7e230) 0
+ vptr=((& QFocusFrame::_ZTV11QFocusFrame) + 16u)
+ QWidget (0x7f9550c2f680) 0
+ primary-for QFocusFrame (0x7f9550c7e230)
+ QObject (0x7f9550c7e2a0) 0
+ primary-for QWidget (0x7f9550c2f680)
+ QPaintDevice (0x7f9550c7e310) 16
+ vptr=((& QFocusFrame::_ZTV11QFocusFrame) + 464u)
+
+Vtable for QFontComboBox
+QFontComboBox::_ZTV13QFontComboBox: 65u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QFontComboBox)
+16 QFontComboBox::metaObject
+24 QFontComboBox::qt_metacast
+32 QFontComboBox::qt_metacall
+40 QFontComboBox::~QFontComboBox
+48 QFontComboBox::~QFontComboBox
+56 QFontComboBox::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QFontComboBox::sizeHint
+136 QComboBox::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QComboBox::mousePressEvent
+168 QComboBox::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QComboBox::wheelEvent
+200 QComboBox::keyPressEvent
+208 QComboBox::keyReleaseEvent
+216 QComboBox::focusInEvent
+224 QComboBox::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QComboBox::paintEvent
+256 QWidget::moveEvent
+264 QComboBox::resizeEvent
+272 QWidget::closeEvent
+280 QComboBox::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QComboBox::showEvent
+344 QComboBox::hideEvent
+352 QWidget::x11Event
+360 QComboBox::changeEvent
+368 QWidget::metric
+376 QComboBox::inputMethodEvent
+384 QComboBox::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QComboBox::showPopup
+456 QComboBox::hidePopup
+464 (int (*)(...))-0x00000000000000010
+472 (int (*)(...))(& _ZTI13QFontComboBox)
+480 QFontComboBox::_ZThn16_N13QFontComboBoxD1Ev
+488 QFontComboBox::_ZThn16_N13QFontComboBoxD0Ev
+496 QWidget::_ZThn16_NK7QWidget7devTypeEv
+504 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+512 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QFontComboBox
+ size=40 align=8
+ base size=40 base align=8
+QFontComboBox (0x7f9550c90d90) 0
+ vptr=((& QFontComboBox::_ZTV13QFontComboBox) + 16u)
+ QComboBox (0x7f9550c90e00) 0
+ primary-for QFontComboBox (0x7f9550c90d90)
+ QWidget (0x7f9550c97080) 0
+ primary-for QComboBox (0x7f9550c90e00)
+ QObject (0x7f9550c90e70) 0
+ primary-for QWidget (0x7f9550c97080)
+ QPaintDevice (0x7f9550c90ee0) 16
+ vptr=((& QFontComboBox::_ZTV13QFontComboBox) + 480u)
+
+Vtable for QGroupBox
+QGroupBox::_ZTV9QGroupBox: 63u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QGroupBox)
+16 QGroupBox::metaObject
+24 QGroupBox::qt_metacast
+32 QGroupBox::qt_metacall
+40 QGroupBox::~QGroupBox
+48 QGroupBox::~QGroupBox
+56 QGroupBox::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QGroupBox::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QWidget::sizeHint
+136 QGroupBox::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QGroupBox::mousePressEvent
+168 QGroupBox::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QGroupBox::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QGroupBox::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QGroupBox::paintEvent
+256 QWidget::moveEvent
+264 QGroupBox::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QGroupBox::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 (int (*)(...))-0x00000000000000010
+456 (int (*)(...))(& _ZTI9QGroupBox)
+464 QGroupBox::_ZThn16_N9QGroupBoxD1Ev
+472 QGroupBox::_ZThn16_N9QGroupBoxD0Ev
+480 QWidget::_ZThn16_NK7QWidget7devTypeEv
+488 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+496 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QGroupBox
+ size=40 align=8
+ base size=40 base align=8
+QGroupBox (0x7f9550ae2a80) 0
+ vptr=((& QGroupBox::_ZTV9QGroupBox) + 16u)
+ QWidget (0x7f9550ae3280) 0
+ primary-for QGroupBox (0x7f9550ae2a80)
+ QObject (0x7f9550ae2af0) 0
+ primary-for QWidget (0x7f9550ae3280)
+ QPaintDevice (0x7f9550ae2b60) 16
+ vptr=((& QGroupBox::_ZTV9QGroupBox) + 464u)
+
+Vtable for QLabel
+QLabel::_ZTV6QLabel: 63u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI6QLabel)
+16 QLabel::metaObject
+24 QLabel::qt_metacast
+32 QLabel::qt_metacall
+40 QLabel::~QLabel
+48 QLabel::~QLabel
+56 QLabel::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QLabel::sizeHint
+136 QLabel::minimumSizeHint
+144 QLabel::heightForWidth
+152 QWidget::paintEngine
+160 QLabel::mousePressEvent
+168 QLabel::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QLabel::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QLabel::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QLabel::focusInEvent
+224 QLabel::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QLabel::paintEvent
+256 QWidget::moveEvent
+264 QWidget::resizeEvent
+272 QWidget::closeEvent
+280 QLabel::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QLabel::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QLabel::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 (int (*)(...))-0x00000000000000010
+456 (int (*)(...))(& _ZTI6QLabel)
+464 QLabel::_ZThn16_N6QLabelD1Ev
+472 QLabel::_ZThn16_N6QLabelD0Ev
+480 QWidget::_ZThn16_NK7QWidget7devTypeEv
+488 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+496 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QLabel
+ size=40 align=8
+ base size=40 base align=8
+QLabel (0x7f9550b21700) 0
+ vptr=((& QLabel::_ZTV6QLabel) + 16u)
+ QFrame (0x7f9550b21770) 0
+ primary-for QLabel (0x7f9550b21700)
+ QWidget (0x7f9550ae3c80) 0
+ primary-for QFrame (0x7f9550b21770)
+ QObject (0x7f9550b217e0) 0
+ primary-for QWidget (0x7f9550ae3c80)
+ QPaintDevice (0x7f9550b21850) 16
+ vptr=((& QLabel::_ZTV6QLabel) + 464u)
+
+Vtable for QLCDNumber
+QLCDNumber::_ZTV10QLCDNumber: 63u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QLCDNumber)
+16 QLCDNumber::metaObject
+24 QLCDNumber::qt_metacast
+32 QLCDNumber::qt_metacall
+40 QLCDNumber::~QLCDNumber
+48 QLCDNumber::~QLCDNumber
+56 QLCDNumber::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QLCDNumber::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QLCDNumber::paintEvent
+256 QWidget::moveEvent
+264 QWidget::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QFrame::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 (int (*)(...))-0x00000000000000010
+456 (int (*)(...))(& _ZTI10QLCDNumber)
+464 QLCDNumber::_ZThn16_N10QLCDNumberD1Ev
+472 QLCDNumber::_ZThn16_N10QLCDNumberD0Ev
+480 QWidget::_ZThn16_NK7QWidget7devTypeEv
+488 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+496 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QLCDNumber
+ size=40 align=8
+ base size=40 base align=8
+QLCDNumber (0x7f9550b4d850) 0
+ vptr=((& QLCDNumber::_ZTV10QLCDNumber) + 16u)
+ QFrame (0x7f9550b4d8c0) 0
+ primary-for QLCDNumber (0x7f9550b4d850)
+ QWidget (0x7f9550b47880) 0
+ primary-for QFrame (0x7f9550b4d8c0)
+ QObject (0x7f9550b4d930) 0
+ primary-for QWidget (0x7f9550b47880)
+ QPaintDevice (0x7f9550b4d9a0) 16
+ vptr=((& QLCDNumber::_ZTV10QLCDNumber) + 464u)
+
+Vtable for QMainWindow
+QMainWindow::_ZTV11QMainWindow: 64u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QMainWindow)
+16 QMainWindow::metaObject
+24 QMainWindow::qt_metacast
+32 QMainWindow::qt_metacall
+40 QMainWindow::~QMainWindow
+48 QMainWindow::~QMainWindow
+56 QMainWindow::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QWidget::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QWidget::paintEvent
+256 QWidget::moveEvent
+264 QWidget::resizeEvent
+272 QWidget::closeEvent
+280 QMainWindow::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QWidget::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QMainWindow::createPopupMenu
+456 (int (*)(...))-0x00000000000000010
+464 (int (*)(...))(& _ZTI11QMainWindow)
+472 QMainWindow::_ZThn16_N11QMainWindowD1Ev
+480 QMainWindow::_ZThn16_N11QMainWindowD0Ev
+488 QWidget::_ZThn16_NK7QWidget7devTypeEv
+496 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+504 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QMainWindow
+ size=40 align=8
+ base size=40 base align=8
+QMainWindow (0x7f9550b7a230) 0
+ vptr=((& QMainWindow::_ZTV11QMainWindow) + 16u)
+ QWidget (0x7f9550b6fa00) 0
+ primary-for QMainWindow (0x7f9550b7a230)
+ QObject (0x7f9550b7a2a0) 0
+ primary-for QWidget (0x7f9550b6fa00)
+ QPaintDevice (0x7f9550b7a310) 16
+ vptr=((& QMainWindow::_ZTV11QMainWindow) + 472u)
+
+Vtable for QMdiArea
+QMdiArea::_ZTV8QMdiArea: 65u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI8QMdiArea)
+16 QMdiArea::metaObject
+24 QMdiArea::qt_metacast
+32 QMdiArea::qt_metacall
+40 QMdiArea::~QMdiArea
+48 QMdiArea::~QMdiArea
+56 QMdiArea::event
+64 QMdiArea::eventFilter
+72 QMdiArea::timerEvent
+80 QMdiArea::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QMdiArea::sizeHint
+136 QMdiArea::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QAbstractScrollArea::mousePressEvent
+168 QAbstractScrollArea::mouseReleaseEvent
+176 QAbstractScrollArea::mouseDoubleClickEvent
+184 QAbstractScrollArea::mouseMoveEvent
+192 QAbstractScrollArea::wheelEvent
+200 QAbstractScrollArea::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QMdiArea::paintEvent
+256 QWidget::moveEvent
+264 QMdiArea::resizeEvent
+272 QWidget::closeEvent
+280 QAbstractScrollArea::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QAbstractScrollArea::dragEnterEvent
+312 QAbstractScrollArea::dragMoveEvent
+320 QAbstractScrollArea::dragLeaveEvent
+328 QAbstractScrollArea::dropEvent
+336 QMdiArea::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QFrame::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QMdiArea::viewportEvent
+456 QMdiArea::scrollContentsBy
+464 (int (*)(...))-0x00000000000000010
+472 (int (*)(...))(& _ZTI8QMdiArea)
+480 QMdiArea::_ZThn16_N8QMdiAreaD1Ev
+488 QMdiArea::_ZThn16_N8QMdiAreaD0Ev
+496 QWidget::_ZThn16_NK7QWidget7devTypeEv
+504 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+512 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QMdiArea
+ size=40 align=8
+ base size=40 base align=8
+QMdiArea (0x7f95509f6540) 0
+ vptr=((& QMdiArea::_ZTV8QMdiArea) + 16u)
+ QAbstractScrollArea (0x7f95509f65b0) 0
+ primary-for QMdiArea (0x7f95509f6540)
+ QFrame (0x7f95509f6620) 0
+ primary-for QAbstractScrollArea (0x7f95509f65b0)
+ QWidget (0x7f9550ba0c00) 0
+ primary-for QFrame (0x7f95509f6620)
+ QObject (0x7f95509f6690) 0
+ primary-for QWidget (0x7f9550ba0c00)
+ QPaintDevice (0x7f95509f6700) 16
+ vptr=((& QMdiArea::_ZTV8QMdiArea) + 480u)
+
+Vtable for QMdiSubWindow
+QMdiSubWindow::_ZTV13QMdiSubWindow: 63u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QMdiSubWindow)
+16 QMdiSubWindow::metaObject
+24 QMdiSubWindow::qt_metacast
+32 QMdiSubWindow::qt_metacall
+40 QMdiSubWindow::~QMdiSubWindow
+48 QMdiSubWindow::~QMdiSubWindow
+56 QMdiSubWindow::event
+64 QMdiSubWindow::eventFilter
+72 QMdiSubWindow::timerEvent
+80 QMdiSubWindow::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QMdiSubWindow::sizeHint
+136 QMdiSubWindow::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QMdiSubWindow::mousePressEvent
+168 QMdiSubWindow::mouseReleaseEvent
+176 QMdiSubWindow::mouseDoubleClickEvent
+184 QMdiSubWindow::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QMdiSubWindow::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QMdiSubWindow::focusInEvent
+224 QMdiSubWindow::focusOutEvent
+232 QWidget::enterEvent
+240 QMdiSubWindow::leaveEvent
+248 QMdiSubWindow::paintEvent
+256 QMdiSubWindow::moveEvent
+264 QMdiSubWindow::resizeEvent
+272 QMdiSubWindow::closeEvent
+280 QMdiSubWindow::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QMdiSubWindow::showEvent
+344 QMdiSubWindow::hideEvent
+352 QWidget::x11Event
+360 QMdiSubWindow::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 (int (*)(...))-0x00000000000000010
+456 (int (*)(...))(& _ZTI13QMdiSubWindow)
+464 QMdiSubWindow::_ZThn16_N13QMdiSubWindowD1Ev
+472 QMdiSubWindow::_ZThn16_N13QMdiSubWindowD0Ev
+480 QWidget::_ZThn16_NK7QWidget7devTypeEv
+488 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+496 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QMdiSubWindow
+ size=40 align=8
+ base size=40 base align=8
+QMdiSubWindow (0x7f9550a50a80) 0
+ vptr=((& QMdiSubWindow::_ZTV13QMdiSubWindow) + 16u)
+ QWidget (0x7f9550a01f00) 0
+ primary-for QMdiSubWindow (0x7f9550a50a80)
+ QObject (0x7f9550a50af0) 0
+ primary-for QWidget (0x7f9550a01f00)
+ QPaintDevice (0x7f9550a50b60) 16
+ vptr=((& QMdiSubWindow::_ZTV13QMdiSubWindow) + 464u)
+
+Vtable for QMenu
+QMenu::_ZTV5QMenu: 63u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI5QMenu)
+16 QMenu::metaObject
+24 QMenu::qt_metacast
+32 QMenu::qt_metacall
+40 QMenu::~QMenu
+48 QMenu::~QMenu
+56 QMenu::event
+64 QObject::eventFilter
+72 QMenu::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QMenu::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QMenu::mousePressEvent
+168 QMenu::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QMenu::mouseMoveEvent
+192 QMenu::wheelEvent
+200 QMenu::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QMenu::enterEvent
+240 QMenu::leaveEvent
+248 QMenu::paintEvent
+256 QWidget::moveEvent
+264 QWidget::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QMenu::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QMenu::hideEvent
+352 QWidget::x11Event
+360 QMenu::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QMenu::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 (int (*)(...))-0x00000000000000010
+456 (int (*)(...))(& _ZTI5QMenu)
+464 QMenu::_ZThn16_N5QMenuD1Ev
+472 QMenu::_ZThn16_N5QMenuD0Ev
+480 QWidget::_ZThn16_NK7QWidget7devTypeEv
+488 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+496 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QMenu
+ size=40 align=8
+ base size=40 base align=8
+QMenu (0x7f9550aca930) 0
+ vptr=((& QMenu::_ZTV5QMenu) + 16u)
+ QWidget (0x7f95508ec100) 0
+ primary-for QMenu (0x7f9550aca930)
+ QObject (0x7f9550aca9a0) 0
+ primary-for QWidget (0x7f95508ec100)
+ QPaintDevice (0x7f9550acaa10) 16
+ vptr=((& QMenu::_ZTV5QMenu) + 464u)
+
+Vtable for QMenuBar
+QMenuBar::_ZTV8QMenuBar: 63u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI8QMenuBar)
+16 QMenuBar::metaObject
+24 QMenuBar::qt_metacast
+32 QMenuBar::qt_metacall
+40 QMenuBar::~QMenuBar
+48 QMenuBar::~QMenuBar
+56 QMenuBar::event
+64 QMenuBar::eventFilter
+72 QMenuBar::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QMenuBar::setVisible
+128 QMenuBar::sizeHint
+136 QMenuBar::minimumSizeHint
+144 QMenuBar::heightForWidth
+152 QWidget::paintEngine
+160 QMenuBar::mousePressEvent
+168 QMenuBar::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QMenuBar::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QMenuBar::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QMenuBar::focusInEvent
+224 QMenuBar::focusOutEvent
+232 QWidget::enterEvent
+240 QMenuBar::leaveEvent
+248 QMenuBar::paintEvent
+256 QWidget::moveEvent
+264 QMenuBar::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QMenuBar::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QMenuBar::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 (int (*)(...))-0x00000000000000010
+456 (int (*)(...))(& _ZTI8QMenuBar)
+464 QMenuBar::_ZThn16_N8QMenuBarD1Ev
+472 QMenuBar::_ZThn16_N8QMenuBarD0Ev
+480 QWidget::_ZThn16_NK7QWidget7devTypeEv
+488 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+496 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QMenuBar
+ size=40 align=8
+ base size=40 base align=8
+QMenuBar (0x7f9550991770) 0
+ vptr=((& QMenuBar::_ZTV8QMenuBar) + 16u)
+ QWidget (0x7f9550990980) 0
+ primary-for QMenuBar (0x7f9550991770)
+ QObject (0x7f95509917e0) 0
+ primary-for QWidget (0x7f9550990980)
+ QPaintDevice (0x7f9550991850) 16
+ vptr=((& QMenuBar::_ZTV8QMenuBar) + 464u)
+
+Vtable for QMenuItem
+QMenuItem::_ZTV9QMenuItem: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QMenuItem)
+16 QMenuItem::metaObject
+24 QMenuItem::qt_metacast
+32 QMenuItem::qt_metacall
+40 QMenuItem::~QMenuItem
+48 QMenuItem::~QMenuItem
+56 QAction::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QMenuItem
+ size=16 align=8
+ base size=16 base align=8
+QMenuItem (0x7f95508334d0) 0
+ vptr=((& QMenuItem::_ZTV9QMenuItem) + 16u)
+ QAction (0x7f9550833540) 0
+ primary-for QMenuItem (0x7f95508334d0)
+ QObject (0x7f95508335b0) 0
+ primary-for QAction (0x7f9550833540)
+
+Class QTextEdit::ExtraSelection
+ size=24 align=8
+ base size=24 base align=8
+QTextEdit::ExtraSelection (0x7f9550853700) 0
+
+Vtable for QTextEdit
+QTextEdit::_ZTV9QTextEdit: 69u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QTextEdit)
+16 QTextEdit::metaObject
+24 QTextEdit::qt_metacast
+32 QTextEdit::qt_metacall
+40 QTextEdit::~QTextEdit
+48 QTextEdit::~QTextEdit
+56 QTextEdit::event
+64 QObject::eventFilter
+72 QTextEdit::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QAbstractScrollArea::sizeHint
+136 QAbstractScrollArea::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QTextEdit::mousePressEvent
+168 QTextEdit::mouseReleaseEvent
+176 QTextEdit::mouseDoubleClickEvent
+184 QTextEdit::mouseMoveEvent
+192 QTextEdit::wheelEvent
+200 QTextEdit::keyPressEvent
+208 QTextEdit::keyReleaseEvent
+216 QTextEdit::focusInEvent
+224 QTextEdit::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QTextEdit::paintEvent
+256 QWidget::moveEvent
+264 QTextEdit::resizeEvent
+272 QWidget::closeEvent
+280 QTextEdit::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QTextEdit::dragEnterEvent
+312 QTextEdit::dragMoveEvent
+320 QTextEdit::dragLeaveEvent
+328 QTextEdit::dropEvent
+336 QTextEdit::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QTextEdit::changeEvent
+368 QWidget::metric
+376 QTextEdit::inputMethodEvent
+384 QTextEdit::inputMethodQuery
+392 QTextEdit::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QAbstractScrollArea::viewportEvent
+456 QTextEdit::scrollContentsBy
+464 QTextEdit::loadResource
+472 QTextEdit::createMimeDataFromSelection
+480 QTextEdit::canInsertFromMimeData
+488 QTextEdit::insertFromMimeData
+496 (int (*)(...))-0x00000000000000010
+504 (int (*)(...))(& _ZTI9QTextEdit)
+512 QTextEdit::_ZThn16_N9QTextEditD1Ev
+520 QTextEdit::_ZThn16_N9QTextEditD0Ev
+528 QWidget::_ZThn16_NK7QWidget7devTypeEv
+536 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+544 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QTextEdit
+ size=40 align=8
+ base size=40 base align=8
+QTextEdit (0x7f9550842770) 0
+ vptr=((& QTextEdit::_ZTV9QTextEdit) + 16u)
+ QAbstractScrollArea (0x7f95508427e0) 0
+ primary-for QTextEdit (0x7f9550842770)
+ QFrame (0x7f9550842850) 0
+ primary-for QAbstractScrollArea (0x7f95508427e0)
+ QWidget (0x7f9550830b00) 0
+ primary-for QFrame (0x7f9550842850)
+ QObject (0x7f95508428c0) 0
+ primary-for QWidget (0x7f9550830b00)
+ QPaintDevice (0x7f9550842930) 16
+ vptr=((& QTextEdit::_ZTV9QTextEdit) + 512u)
+
+Vtable for QPlainTextEdit
+QPlainTextEdit::_ZTV14QPlainTextEdit: 69u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QPlainTextEdit)
+16 QPlainTextEdit::metaObject
+24 QPlainTextEdit::qt_metacast
+32 QPlainTextEdit::qt_metacall
+40 QPlainTextEdit::~QPlainTextEdit
+48 QPlainTextEdit::~QPlainTextEdit
+56 QPlainTextEdit::event
+64 QObject::eventFilter
+72 QPlainTextEdit::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QAbstractScrollArea::sizeHint
+136 QAbstractScrollArea::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QPlainTextEdit::mousePressEvent
+168 QPlainTextEdit::mouseReleaseEvent
+176 QPlainTextEdit::mouseDoubleClickEvent
+184 QPlainTextEdit::mouseMoveEvent
+192 QPlainTextEdit::wheelEvent
+200 QPlainTextEdit::keyPressEvent
+208 QPlainTextEdit::keyReleaseEvent
+216 QPlainTextEdit::focusInEvent
+224 QPlainTextEdit::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QPlainTextEdit::paintEvent
+256 QWidget::moveEvent
+264 QPlainTextEdit::resizeEvent
+272 QWidget::closeEvent
+280 QPlainTextEdit::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QPlainTextEdit::dragEnterEvent
+312 QPlainTextEdit::dragMoveEvent
+320 QPlainTextEdit::dragLeaveEvent
+328 QPlainTextEdit::dropEvent
+336 QPlainTextEdit::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QPlainTextEdit::changeEvent
+368 QWidget::metric
+376 QPlainTextEdit::inputMethodEvent
+384 QPlainTextEdit::inputMethodQuery
+392 QPlainTextEdit::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QAbstractScrollArea::viewportEvent
+456 QPlainTextEdit::scrollContentsBy
+464 QPlainTextEdit::loadResource
+472 QPlainTextEdit::createMimeDataFromSelection
+480 QPlainTextEdit::canInsertFromMimeData
+488 QPlainTextEdit::insertFromMimeData
+496 (int (*)(...))-0x00000000000000010
+504 (int (*)(...))(& _ZTI14QPlainTextEdit)
+512 QPlainTextEdit::_ZThn16_N14QPlainTextEditD1Ev
+520 QPlainTextEdit::_ZThn16_N14QPlainTextEditD0Ev
+528 QWidget::_ZThn16_NK7QWidget7devTypeEv
+536 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+544 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QPlainTextEdit
+ size=40 align=8
+ base size=40 base align=8
+QPlainTextEdit (0x7f95506ea8c0) 0
+ vptr=((& QPlainTextEdit::_ZTV14QPlainTextEdit) + 16u)
+ QAbstractScrollArea (0x7f95506ea930) 0
+ primary-for QPlainTextEdit (0x7f95506ea8c0)
+ QFrame (0x7f95506ea9a0) 0
+ primary-for QAbstractScrollArea (0x7f95506ea930)
+ QWidget (0x7f95506e9400) 0
+ primary-for QFrame (0x7f95506ea9a0)
+ QObject (0x7f95506eaa10) 0
+ primary-for QWidget (0x7f95506e9400)
+ QPaintDevice (0x7f95506eaa80) 16
+ vptr=((& QPlainTextEdit::_ZTV14QPlainTextEdit) + 512u)
+
+Vtable for QPlainTextDocumentLayout
+QPlainTextDocumentLayout::_ZTV24QPlainTextDocumentLayout: 24u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI24QPlainTextDocumentLayout)
+16 QPlainTextDocumentLayout::metaObject
+24 QPlainTextDocumentLayout::qt_metacast
+32 QPlainTextDocumentLayout::qt_metacall
+40 QPlainTextDocumentLayout::~QPlainTextDocumentLayout
+48 QPlainTextDocumentLayout::~QPlainTextDocumentLayout
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QPlainTextDocumentLayout::draw
+120 QPlainTextDocumentLayout::hitTest
+128 QPlainTextDocumentLayout::pageCount
+136 QPlainTextDocumentLayout::documentSize
+144 QPlainTextDocumentLayout::frameBoundingRect
+152 QPlainTextDocumentLayout::blockBoundingRect
+160 QPlainTextDocumentLayout::documentChanged
+168 QAbstractTextDocumentLayout::resizeInlineObject
+176 QAbstractTextDocumentLayout::positionInlineObject
+184 QAbstractTextDocumentLayout::drawInlineObject
+
+Class QPlainTextDocumentLayout
+ size=16 align=8
+ base size=16 base align=8
+QPlainTextDocumentLayout (0x7f955074c690) 0
+ vptr=((& QPlainTextDocumentLayout::_ZTV24QPlainTextDocumentLayout) + 16u)
+ QAbstractTextDocumentLayout (0x7f955074c700) 0
+ primary-for QPlainTextDocumentLayout (0x7f955074c690)
+ QObject (0x7f955074c770) 0
+ primary-for QAbstractTextDocumentLayout (0x7f955074c700)
+
+Vtable for QPrintPreviewWidget
+QPrintPreviewWidget::_ZTV19QPrintPreviewWidget: 63u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QPrintPreviewWidget)
+16 QPrintPreviewWidget::metaObject
+24 QPrintPreviewWidget::qt_metacast
+32 QPrintPreviewWidget::qt_metacall
+40 QPrintPreviewWidget::~QPrintPreviewWidget
+48 QPrintPreviewWidget::~QPrintPreviewWidget
+56 QWidget::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QPrintPreviewWidget::setVisible
+128 QWidget::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QWidget::paintEvent
+256 QWidget::moveEvent
+264 QWidget::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QWidget::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 (int (*)(...))-0x00000000000000010
+456 (int (*)(...))(& _ZTI19QPrintPreviewWidget)
+464 QPrintPreviewWidget::_ZThn16_N19QPrintPreviewWidgetD1Ev
+472 QPrintPreviewWidget::_ZThn16_N19QPrintPreviewWidgetD0Ev
+480 QWidget::_ZThn16_NK7QWidget7devTypeEv
+488 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+496 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QPrintPreviewWidget
+ size=48 align=8
+ base size=48 base align=8
+QPrintPreviewWidget (0x7f9550763b60) 0
+ vptr=((& QPrintPreviewWidget::_ZTV19QPrintPreviewWidget) + 16u)
+ QWidget (0x7f955075e600) 0
+ primary-for QPrintPreviewWidget (0x7f9550763b60)
+ QObject (0x7f9550763bd0) 0
+ primary-for QWidget (0x7f955075e600)
+ QPaintDevice (0x7f9550763c40) 16
+ vptr=((& QPrintPreviewWidget::_ZTV19QPrintPreviewWidget) + 464u)
+
+Vtable for QProgressBar
+QProgressBar::_ZTV12QProgressBar: 64u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QProgressBar)
+16 QProgressBar::metaObject
+24 QProgressBar::qt_metacast
+32 QProgressBar::qt_metacall
+40 QProgressBar::~QProgressBar
+48 QProgressBar::~QProgressBar
+56 QProgressBar::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QProgressBar::sizeHint
+136 QProgressBar::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QProgressBar::paintEvent
+256 QWidget::moveEvent
+264 QWidget::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QWidget::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QProgressBar::text
+456 (int (*)(...))-0x00000000000000010
+464 (int (*)(...))(& _ZTI12QProgressBar)
+472 QProgressBar::_ZThn16_N12QProgressBarD1Ev
+480 QProgressBar::_ZThn16_N12QProgressBarD0Ev
+488 QWidget::_ZThn16_NK7QWidget7devTypeEv
+496 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+504 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QProgressBar
+ size=40 align=8
+ base size=40 base align=8
+QProgressBar (0x7f9550786700) 0
+ vptr=((& QProgressBar::_ZTV12QProgressBar) + 16u)
+ QWidget (0x7f9550788300) 0
+ primary-for QProgressBar (0x7f9550786700)
+ QObject (0x7f9550786770) 0
+ primary-for QWidget (0x7f9550788300)
+ QPaintDevice (0x7f95507867e0) 16
+ vptr=((& QProgressBar::_ZTV12QProgressBar) + 472u)
+
+Vtable for QRadioButton
+QRadioButton::_ZTV12QRadioButton: 66u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QRadioButton)
+16 QRadioButton::metaObject
+24 QRadioButton::qt_metacast
+32 QRadioButton::qt_metacall
+40 QRadioButton::~QRadioButton
+48 QRadioButton::~QRadioButton
+56 QRadioButton::event
+64 QObject::eventFilter
+72 QAbstractButton::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QRadioButton::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QAbstractButton::mousePressEvent
+168 QAbstractButton::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QRadioButton::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QAbstractButton::keyPressEvent
+208 QAbstractButton::keyReleaseEvent
+216 QAbstractButton::focusInEvent
+224 QAbstractButton::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QRadioButton::paintEvent
+256 QWidget::moveEvent
+264 QWidget::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QAbstractButton::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QRadioButton::hitButton
+456 QAbstractButton::checkStateSet
+464 QAbstractButton::nextCheckState
+472 (int (*)(...))-0x00000000000000010
+480 (int (*)(...))(& _ZTI12QRadioButton)
+488 QRadioButton::_ZThn16_N12QRadioButtonD1Ev
+496 QRadioButton::_ZThn16_N12QRadioButtonD0Ev
+504 QWidget::_ZThn16_NK7QWidget7devTypeEv
+512 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+520 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QRadioButton
+ size=40 align=8
+ base size=40 base align=8
+QRadioButton (0x7f95507ab540) 0
+ vptr=((& QRadioButton::_ZTV12QRadioButton) + 16u)
+ QAbstractButton (0x7f95507ab5b0) 0
+ primary-for QRadioButton (0x7f95507ab540)
+ QWidget (0x7f9550788e00) 0
+ primary-for QAbstractButton (0x7f95507ab5b0)
+ QObject (0x7f95507ab620) 0
+ primary-for QWidget (0x7f9550788e00)
+ QPaintDevice (0x7f95507ab690) 16
+ vptr=((& QRadioButton::_ZTV12QRadioButton) + 488u)
+
+Vtable for QScrollBar
+QScrollBar::_ZTV10QScrollBar: 64u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QScrollBar)
+16 QScrollBar::metaObject
+24 QScrollBar::qt_metacast
+32 QScrollBar::qt_metacall
+40 QScrollBar::~QScrollBar
+48 QScrollBar::~QScrollBar
+56 QScrollBar::event
+64 QObject::eventFilter
+72 QAbstractSlider::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QScrollBar::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QScrollBar::mousePressEvent
+168 QScrollBar::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QScrollBar::mouseMoveEvent
+192 QAbstractSlider::wheelEvent
+200 QAbstractSlider::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QScrollBar::paintEvent
+256 QWidget::moveEvent
+264 QWidget::resizeEvent
+272 QWidget::closeEvent
+280 QScrollBar::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QScrollBar::hideEvent
+352 QWidget::x11Event
+360 QAbstractSlider::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QScrollBar::sliderChange
+456 (int (*)(...))-0x00000000000000010
+464 (int (*)(...))(& _ZTI10QScrollBar)
+472 QScrollBar::_ZThn16_N10QScrollBarD1Ev
+480 QScrollBar::_ZThn16_N10QScrollBarD0Ev
+488 QWidget::_ZThn16_NK7QWidget7devTypeEv
+496 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+504 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QScrollBar
+ size=40 align=8
+ base size=40 base align=8
+QScrollBar (0x7f95507cc1c0) 0
+ vptr=((& QScrollBar::_ZTV10QScrollBar) + 16u)
+ QAbstractSlider (0x7f95507cc230) 0
+ primary-for QScrollBar (0x7f95507cc1c0)
+ QWidget (0x7f95507c0800) 0
+ primary-for QAbstractSlider (0x7f95507cc230)
+ QObject (0x7f95507cc2a0) 0
+ primary-for QWidget (0x7f95507c0800)
+ QPaintDevice (0x7f95507cc310) 16
+ vptr=((& QScrollBar::_ZTV10QScrollBar) + 472u)
+
+Vtable for QSizeGrip
+QSizeGrip::_ZTV9QSizeGrip: 63u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QSizeGrip)
+16 QSizeGrip::metaObject
+24 QSizeGrip::qt_metacast
+32 QSizeGrip::qt_metacall
+40 QSizeGrip::~QSizeGrip
+48 QSizeGrip::~QSizeGrip
+56 QSizeGrip::event
+64 QSizeGrip::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QSizeGrip::setVisible
+128 QSizeGrip::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QSizeGrip::mousePressEvent
+168 QSizeGrip::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QSizeGrip::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QSizeGrip::paintEvent
+256 QSizeGrip::moveEvent
+264 QWidget::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QSizeGrip::showEvent
+344 QSizeGrip::hideEvent
+352 QWidget::x11Event
+360 QWidget::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 (int (*)(...))-0x00000000000000010
+456 (int (*)(...))(& _ZTI9QSizeGrip)
+464 QSizeGrip::_ZThn16_N9QSizeGripD1Ev
+472 QSizeGrip::_ZThn16_N9QSizeGripD0Ev
+480 QWidget::_ZThn16_NK7QWidget7devTypeEv
+488 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+496 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QSizeGrip
+ size=40 align=8
+ base size=40 base align=8
+QSizeGrip (0x7f95505ea310) 0
+ vptr=((& QSizeGrip::_ZTV9QSizeGrip) + 16u)
+ QWidget (0x7f95505e8380) 0
+ primary-for QSizeGrip (0x7f95505ea310)
+ QObject (0x7f95505ea380) 0
+ primary-for QWidget (0x7f95505e8380)
+ QPaintDevice (0x7f95505ea3f0) 16
+ vptr=((& QSizeGrip::_ZTV9QSizeGrip) + 464u)
+
+Vtable for QSpinBox
+QSpinBox::_ZTV8QSpinBox: 70u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI8QSpinBox)
+16 QSpinBox::metaObject
+24 QSpinBox::qt_metacast
+32 QSpinBox::qt_metacall
+40 QSpinBox::~QSpinBox
+48 QSpinBox::~QSpinBox
+56 QSpinBox::event
+64 QObject::eventFilter
+72 QAbstractSpinBox::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QAbstractSpinBox::sizeHint
+136 QAbstractSpinBox::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QAbstractSpinBox::mousePressEvent
+168 QAbstractSpinBox::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QAbstractSpinBox::mouseMoveEvent
+192 QAbstractSpinBox::wheelEvent
+200 QAbstractSpinBox::keyPressEvent
+208 QAbstractSpinBox::keyReleaseEvent
+216 QAbstractSpinBox::focusInEvent
+224 QAbstractSpinBox::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QAbstractSpinBox::paintEvent
+256 QWidget::moveEvent
+264 QAbstractSpinBox::resizeEvent
+272 QAbstractSpinBox::closeEvent
+280 QAbstractSpinBox::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QAbstractSpinBox::showEvent
+344 QAbstractSpinBox::hideEvent
+352 QWidget::x11Event
+360 QAbstractSpinBox::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QAbstractSpinBox::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QSpinBox::validate
+456 QSpinBox::fixup
+464 QAbstractSpinBox::stepBy
+472 QAbstractSpinBox::clear
+480 QAbstractSpinBox::stepEnabled
+488 QSpinBox::valueFromText
+496 QSpinBox::textFromValue
+504 (int (*)(...))-0x00000000000000010
+512 (int (*)(...))(& _ZTI8QSpinBox)
+520 QSpinBox::_ZThn16_N8QSpinBoxD1Ev
+528 QSpinBox::_ZThn16_N8QSpinBoxD0Ev
+536 QWidget::_ZThn16_NK7QWidget7devTypeEv
+544 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+552 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QSpinBox
+ size=40 align=8
+ base size=40 base align=8
+QSpinBox (0x7f9550600e00) 0
+ vptr=((& QSpinBox::_ZTV8QSpinBox) + 16u)
+ QAbstractSpinBox (0x7f9550600e70) 0
+ primary-for QSpinBox (0x7f9550600e00)
+ QWidget (0x7f95505e8d80) 0
+ primary-for QAbstractSpinBox (0x7f9550600e70)
+ QObject (0x7f9550600ee0) 0
+ primary-for QWidget (0x7f95505e8d80)
+ QPaintDevice (0x7f9550600f50) 16
+ vptr=((& QSpinBox::_ZTV8QSpinBox) + 520u)
+
+Vtable for QDoubleSpinBox
+QDoubleSpinBox::_ZTV14QDoubleSpinBox: 70u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QDoubleSpinBox)
+16 QDoubleSpinBox::metaObject
+24 QDoubleSpinBox::qt_metacast
+32 QDoubleSpinBox::qt_metacall
+40 QDoubleSpinBox::~QDoubleSpinBox
+48 QDoubleSpinBox::~QDoubleSpinBox
+56 QAbstractSpinBox::event
+64 QObject::eventFilter
+72 QAbstractSpinBox::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QAbstractSpinBox::sizeHint
+136 QAbstractSpinBox::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QAbstractSpinBox::mousePressEvent
+168 QAbstractSpinBox::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QAbstractSpinBox::mouseMoveEvent
+192 QAbstractSpinBox::wheelEvent
+200 QAbstractSpinBox::keyPressEvent
+208 QAbstractSpinBox::keyReleaseEvent
+216 QAbstractSpinBox::focusInEvent
+224 QAbstractSpinBox::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QAbstractSpinBox::paintEvent
+256 QWidget::moveEvent
+264 QAbstractSpinBox::resizeEvent
+272 QAbstractSpinBox::closeEvent
+280 QAbstractSpinBox::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QAbstractSpinBox::showEvent
+344 QAbstractSpinBox::hideEvent
+352 QWidget::x11Event
+360 QAbstractSpinBox::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QAbstractSpinBox::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QDoubleSpinBox::validate
+456 QDoubleSpinBox::fixup
+464 QAbstractSpinBox::stepBy
+472 QAbstractSpinBox::clear
+480 QAbstractSpinBox::stepEnabled
+488 QDoubleSpinBox::valueFromText
+496 QDoubleSpinBox::textFromValue
+504 (int (*)(...))-0x00000000000000010
+512 (int (*)(...))(& _ZTI14QDoubleSpinBox)
+520 QDoubleSpinBox::_ZThn16_N14QDoubleSpinBoxD1Ev
+528 QDoubleSpinBox::_ZThn16_N14QDoubleSpinBoxD0Ev
+536 QWidget::_ZThn16_NK7QWidget7devTypeEv
+544 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+552 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QDoubleSpinBox
+ size=40 align=8
+ base size=40 base align=8
+QDoubleSpinBox (0x7f955062d770) 0
+ vptr=((& QDoubleSpinBox::_ZTV14QDoubleSpinBox) + 16u)
+ QAbstractSpinBox (0x7f955062d7e0) 0
+ primary-for QDoubleSpinBox (0x7f955062d770)
+ QWidget (0x7f9550620f00) 0
+ primary-for QAbstractSpinBox (0x7f955062d7e0)
+ QObject (0x7f955062d850) 0
+ primary-for QWidget (0x7f9550620f00)
+ QPaintDevice (0x7f955062d8c0) 16
+ vptr=((& QDoubleSpinBox::_ZTV14QDoubleSpinBox) + 520u)
+
+Vtable for QSplashScreen
+QSplashScreen::_ZTV13QSplashScreen: 64u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QSplashScreen)
+16 QSplashScreen::metaObject
+24 QSplashScreen::qt_metacast
+32 QSplashScreen::qt_metacall
+40 QSplashScreen::~QSplashScreen
+48 QSplashScreen::~QSplashScreen
+56 QSplashScreen::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QWidget::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QSplashScreen::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QWidget::paintEvent
+256 QWidget::moveEvent
+264 QWidget::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QWidget::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QSplashScreen::drawContents
+456 (int (*)(...))-0x00000000000000010
+464 (int (*)(...))(& _ZTI13QSplashScreen)
+472 QSplashScreen::_ZThn16_N13QSplashScreenD1Ev
+480 QSplashScreen::_ZThn16_N13QSplashScreenD0Ev
+488 QWidget::_ZThn16_NK7QWidget7devTypeEv
+496 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+504 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QSplashScreen
+ size=40 align=8
+ base size=40 base align=8
+QSplashScreen (0x7f955064d230) 0
+ vptr=((& QSplashScreen::_ZTV13QSplashScreen) + 16u)
+ QWidget (0x7f9550630900) 0
+ primary-for QSplashScreen (0x7f955064d230)
+ QObject (0x7f955064d2a0) 0
+ primary-for QWidget (0x7f9550630900)
+ QPaintDevice (0x7f955064d310) 16
+ vptr=((& QSplashScreen::_ZTV13QSplashScreen) + 472u)
+
+Vtable for QSplitter
+QSplitter::_ZTV9QSplitter: 64u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QSplitter)
+16 QSplitter::metaObject
+24 QSplitter::qt_metacast
+32 QSplitter::qt_metacall
+40 QSplitter::~QSplitter
+48 QSplitter::~QSplitter
+56 QSplitter::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QSplitter::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QSplitter::sizeHint
+136 QSplitter::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QFrame::paintEvent
+256 QWidget::moveEvent
+264 QSplitter::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QSplitter::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QSplitter::createHandle
+456 (int (*)(...))-0x00000000000000010
+464 (int (*)(...))(& _ZTI9QSplitter)
+472 QSplitter::_ZThn16_N9QSplitterD1Ev
+480 QSplitter::_ZThn16_N9QSplitterD0Ev
+488 QWidget::_ZThn16_NK7QWidget7devTypeEv
+496 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+504 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QSplitter
+ size=40 align=8
+ base size=40 base align=8
+QSplitter (0x7f955066f310) 0
+ vptr=((& QSplitter::_ZTV9QSplitter) + 16u)
+ QFrame (0x7f955066f380) 0
+ primary-for QSplitter (0x7f955066f310)
+ QWidget (0x7f955066a580) 0
+ primary-for QFrame (0x7f955066f380)
+ QObject (0x7f955066f3f0) 0
+ primary-for QWidget (0x7f955066a580)
+ QPaintDevice (0x7f955066f460) 16
+ vptr=((& QSplitter::_ZTV9QSplitter) + 472u)
+
+Vtable for QSplitterHandle
+QSplitterHandle::_ZTV15QSplitterHandle: 63u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QSplitterHandle)
+16 QSplitterHandle::metaObject
+24 QSplitterHandle::qt_metacast
+32 QSplitterHandle::qt_metacall
+40 QSplitterHandle::~QSplitterHandle
+48 QSplitterHandle::~QSplitterHandle
+56 QSplitterHandle::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QSplitterHandle::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QSplitterHandle::mousePressEvent
+168 QSplitterHandle::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QSplitterHandle::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QSplitterHandle::paintEvent
+256 QWidget::moveEvent
+264 QWidget::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QWidget::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 (int (*)(...))-0x00000000000000010
+456 (int (*)(...))(& _ZTI15QSplitterHandle)
+464 QSplitterHandle::_ZThn16_N15QSplitterHandleD1Ev
+472 QSplitterHandle::_ZThn16_N15QSplitterHandleD0Ev
+480 QWidget::_ZThn16_NK7QWidget7devTypeEv
+488 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+496 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QSplitterHandle
+ size=40 align=8
+ base size=40 base align=8
+QSplitterHandle (0x7f955069b230) 0
+ vptr=((& QSplitterHandle::_ZTV15QSplitterHandle) + 16u)
+ QWidget (0x7f9550697780) 0
+ primary-for QSplitterHandle (0x7f955069b230)
+ QObject (0x7f955069b2a0) 0
+ primary-for QWidget (0x7f9550697780)
+ QPaintDevice (0x7f955069b310) 16
+ vptr=((& QSplitterHandle::_ZTV15QSplitterHandle) + 464u)
+
+Vtable for QStackedWidget
+QStackedWidget::_ZTV14QStackedWidget: 63u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QStackedWidget)
+16 QStackedWidget::metaObject
+24 QStackedWidget::qt_metacast
+32 QStackedWidget::qt_metacall
+40 QStackedWidget::~QStackedWidget
+48 QStackedWidget::~QStackedWidget
+56 QStackedWidget::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QFrame::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QFrame::paintEvent
+256 QWidget::moveEvent
+264 QWidget::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QFrame::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 (int (*)(...))-0x00000000000000010
+456 (int (*)(...))(& _ZTI14QStackedWidget)
+464 QStackedWidget::_ZThn16_N14QStackedWidgetD1Ev
+472 QStackedWidget::_ZThn16_N14QStackedWidgetD0Ev
+480 QWidget::_ZThn16_NK7QWidget7devTypeEv
+488 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+496 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QStackedWidget
+ size=40 align=8
+ base size=40 base align=8
+QStackedWidget (0x7f95506b4a10) 0
+ vptr=((& QStackedWidget::_ZTV14QStackedWidget) + 16u)
+ QFrame (0x7f95506b4a80) 0
+ primary-for QStackedWidget (0x7f95506b4a10)
+ QWidget (0x7f95506b7180) 0
+ primary-for QFrame (0x7f95506b4a80)
+ QObject (0x7f95506b4af0) 0
+ primary-for QWidget (0x7f95506b7180)
+ QPaintDevice (0x7f95506b4b60) 16
+ vptr=((& QStackedWidget::_ZTV14QStackedWidget) + 464u)
+
+Vtable for QStatusBar
+QStatusBar::_ZTV10QStatusBar: 63u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QStatusBar)
+16 QStatusBar::metaObject
+24 QStatusBar::qt_metacast
+32 QStatusBar::qt_metacall
+40 QStatusBar::~QStatusBar
+48 QStatusBar::~QStatusBar
+56 QStatusBar::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QWidget::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QStatusBar::paintEvent
+256 QWidget::moveEvent
+264 QStatusBar::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QStatusBar::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QWidget::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 (int (*)(...))-0x00000000000000010
+456 (int (*)(...))(& _ZTI10QStatusBar)
+464 QStatusBar::_ZThn16_N10QStatusBarD1Ev
+472 QStatusBar::_ZThn16_N10QStatusBarD0Ev
+480 QWidget::_ZThn16_NK7QWidget7devTypeEv
+488 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+496 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QStatusBar
+ size=40 align=8
+ base size=40 base align=8
+QStatusBar (0x7f95504d28c0) 0
+ vptr=((& QStatusBar::_ZTV10QStatusBar) + 16u)
+ QWidget (0x7f95506b7b80) 0
+ primary-for QStatusBar (0x7f95504d28c0)
+ QObject (0x7f95504d2930) 0
+ primary-for QWidget (0x7f95506b7b80)
+ QPaintDevice (0x7f95504d29a0) 16
+ vptr=((& QStatusBar::_ZTV10QStatusBar) + 464u)
+
+Vtable for QTextBrowser
+QTextBrowser::_ZTV12QTextBrowser: 74u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QTextBrowser)
+16 QTextBrowser::metaObject
+24 QTextBrowser::qt_metacast
+32 QTextBrowser::qt_metacall
+40 QTextBrowser::~QTextBrowser
+48 QTextBrowser::~QTextBrowser
+56 QTextBrowser::event
+64 QObject::eventFilter
+72 QTextEdit::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QAbstractScrollArea::sizeHint
+136 QAbstractScrollArea::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QTextBrowser::mousePressEvent
+168 QTextBrowser::mouseReleaseEvent
+176 QTextEdit::mouseDoubleClickEvent
+184 QTextBrowser::mouseMoveEvent
+192 QTextEdit::wheelEvent
+200 QTextBrowser::keyPressEvent
+208 QTextEdit::keyReleaseEvent
+216 QTextEdit::focusInEvent
+224 QTextBrowser::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QTextBrowser::paintEvent
+256 QWidget::moveEvent
+264 QTextEdit::resizeEvent
+272 QWidget::closeEvent
+280 QTextEdit::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QTextEdit::dragEnterEvent
+312 QTextEdit::dragMoveEvent
+320 QTextEdit::dragLeaveEvent
+328 QTextEdit::dropEvent
+336 QTextEdit::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QTextEdit::changeEvent
+368 QWidget::metric
+376 QTextEdit::inputMethodEvent
+384 QTextEdit::inputMethodQuery
+392 QTextBrowser::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QAbstractScrollArea::viewportEvent
+456 QTextEdit::scrollContentsBy
+464 QTextBrowser::loadResource
+472 QTextEdit::createMimeDataFromSelection
+480 QTextEdit::canInsertFromMimeData
+488 QTextEdit::insertFromMimeData
+496 QTextBrowser::setSource
+504 QTextBrowser::backward
+512 QTextBrowser::forward
+520 QTextBrowser::home
+528 QTextBrowser::reload
+536 (int (*)(...))-0x00000000000000010
+544 (int (*)(...))(& _ZTI12QTextBrowser)
+552 QTextBrowser::_ZThn16_N12QTextBrowserD1Ev
+560 QTextBrowser::_ZThn16_N12QTextBrowserD0Ev
+568 QWidget::_ZThn16_NK7QWidget7devTypeEv
+576 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+584 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QTextBrowser
+ size=40 align=8
+ base size=40 base align=8
+QTextBrowser (0x7f95504f3e00) 0
+ vptr=((& QTextBrowser::_ZTV12QTextBrowser) + 16u)
+ QTextEdit (0x7f95504f3e70) 0
+ primary-for QTextBrowser (0x7f95504f3e00)
+ QAbstractScrollArea (0x7f95504f3ee0) 0
+ primary-for QTextEdit (0x7f95504f3e70)
+ QFrame (0x7f95504f3f50) 0
+ primary-for QAbstractScrollArea (0x7f95504f3ee0)
+ QWidget (0x7f95504eeb80) 0
+ primary-for QFrame (0x7f95504f3f50)
+ QObject (0x7f95504fa000) 0
+ primary-for QWidget (0x7f95504eeb80)
+ QPaintDevice (0x7f95504fa070) 16
+ vptr=((& QTextBrowser::_ZTV12QTextBrowser) + 552u)
+
+Vtable for QToolBar
+QToolBar::_ZTV8QToolBar: 63u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI8QToolBar)
+16 QToolBar::metaObject
+24 QToolBar::qt_metacast
+32 QToolBar::qt_metacall
+40 QToolBar::~QToolBar
+48 QToolBar::~QToolBar
+56 QToolBar::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QToolBar::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QWidget::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QToolBar::paintEvent
+256 QWidget::moveEvent
+264 QToolBar::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QToolBar::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QToolBar::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 (int (*)(...))-0x00000000000000010
+456 (int (*)(...))(& _ZTI8QToolBar)
+464 QToolBar::_ZThn16_N8QToolBarD1Ev
+472 QToolBar::_ZThn16_N8QToolBarD0Ev
+480 QWidget::_ZThn16_NK7QWidget7devTypeEv
+488 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+496 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QToolBar
+ size=40 align=8
+ base size=40 base align=8
+QToolBar (0x7f9550517a10) 0
+ vptr=((& QToolBar::_ZTV8QToolBar) + 16u)
+ QWidget (0x7f9550514580) 0
+ primary-for QToolBar (0x7f9550517a10)
+ QObject (0x7f9550517a80) 0
+ primary-for QWidget (0x7f9550514580)
+ QPaintDevice (0x7f9550517af0) 16
+ vptr=((& QToolBar::_ZTV8QToolBar) + 464u)
+
+Vtable for QToolBox
+QToolBox::_ZTV8QToolBox: 65u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI8QToolBox)
+16 QToolBox::metaObject
+24 QToolBox::qt_metacast
+32 QToolBox::qt_metacall
+40 QToolBox::~QToolBox
+48 QToolBox::~QToolBox
+56 QToolBox::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QFrame::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QFrame::paintEvent
+256 QWidget::moveEvent
+264 QWidget::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QToolBox::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QToolBox::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QToolBox::itemInserted
+456 QToolBox::itemRemoved
+464 (int (*)(...))-0x00000000000000010
+472 (int (*)(...))(& _ZTI8QToolBox)
+480 QToolBox::_ZThn16_N8QToolBoxD1Ev
+488 QToolBox::_ZThn16_N8QToolBoxD0Ev
+496 QWidget::_ZThn16_NK7QWidget7devTypeEv
+504 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+512 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QToolBox
+ size=40 align=8
+ base size=40 base align=8
+QToolBox (0x7f9550552850) 0
+ vptr=((& QToolBox::_ZTV8QToolBox) + 16u)
+ QFrame (0x7f95505528c0) 0
+ primary-for QToolBox (0x7f9550552850)
+ QWidget (0x7f9550550680) 0
+ primary-for QFrame (0x7f95505528c0)
+ QObject (0x7f9550552930) 0
+ primary-for QWidget (0x7f9550550680)
+ QPaintDevice (0x7f95505529a0) 16
+ vptr=((& QToolBox::_ZTV8QToolBox) + 480u)
+
+Vtable for QToolButton
+QToolButton::_ZTV11QToolButton: 66u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QToolButton)
+16 QToolButton::metaObject
+24 QToolButton::qt_metacast
+32 QToolButton::qt_metacall
+40 QToolButton::~QToolButton
+48 QToolButton::~QToolButton
+56 QToolButton::event
+64 QObject::eventFilter
+72 QToolButton::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QToolButton::sizeHint
+136 QToolButton::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QToolButton::mousePressEvent
+168 QToolButton::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QAbstractButton::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QAbstractButton::keyPressEvent
+208 QAbstractButton::keyReleaseEvent
+216 QAbstractButton::focusInEvent
+224 QAbstractButton::focusOutEvent
+232 QToolButton::enterEvent
+240 QToolButton::leaveEvent
+248 QToolButton::paintEvent
+256 QWidget::moveEvent
+264 QWidget::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QToolButton::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QToolButton::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QToolButton::hitButton
+456 QAbstractButton::checkStateSet
+464 QToolButton::nextCheckState
+472 (int (*)(...))-0x00000000000000010
+480 (int (*)(...))(& _ZTI11QToolButton)
+488 QToolButton::_ZThn16_N11QToolButtonD1Ev
+496 QToolButton::_ZThn16_N11QToolButtonD0Ev
+504 QWidget::_ZThn16_NK7QWidget7devTypeEv
+512 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+520 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QToolButton
+ size=40 align=8
+ base size=40 base align=8
+QToolButton (0x7f955058c310) 0
+ vptr=((& QToolButton::_ZTV11QToolButton) + 16u)
+ QAbstractButton (0x7f955058c380) 0
+ primary-for QToolButton (0x7f955058c310)
+ QWidget (0x7f955058a400) 0
+ primary-for QAbstractButton (0x7f955058c380)
+ QObject (0x7f955058c3f0) 0
+ primary-for QWidget (0x7f955058a400)
+ QPaintDevice (0x7f955058c460) 16
+ vptr=((& QToolButton::_ZTV11QToolButton) + 488u)
+
+Vtable for QWorkspace
+QWorkspace::_ZTV10QWorkspace: 63u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QWorkspace)
+16 QWorkspace::metaObject
+24 QWorkspace::qt_metacast
+32 QWorkspace::qt_metacall
+40 QWorkspace::~QWorkspace
+48 QWorkspace::~QWorkspace
+56 QWorkspace::event
+64 QWorkspace::eventFilter
+72 QObject::timerEvent
+80 QWorkspace::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QWorkspace::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWorkspace::wheelEvent
+200 QWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QWorkspace::paintEvent
+256 QWidget::moveEvent
+264 QWorkspace::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWorkspace::showEvent
+344 QWorkspace::hideEvent
+352 QWidget::x11Event
+360 QWorkspace::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 (int (*)(...))-0x00000000000000010
+456 (int (*)(...))(& _ZTI10QWorkspace)
+464 QWorkspace::_ZThn16_N10QWorkspaceD1Ev
+472 QWorkspace::_ZThn16_N10QWorkspaceD0Ev
+480 QWidget::_ZThn16_NK7QWidget7devTypeEv
+488 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+496 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QWorkspace
+ size=40 align=8
+ base size=40 base align=8
+QWorkspace (0x7f95503d2620) 0
+ vptr=((& QWorkspace::_ZTV10QWorkspace) + 16u)
+ QWidget (0x7f95503d6100) 0
+ primary-for QWorkspace (0x7f95503d2620)
+ QObject (0x7f95503d2690) 0
+ primary-for QWidget (0x7f95503d6100)
+ QPaintDevice (0x7f95503d2700) 16
+ vptr=((& QWorkspace::_ZTV10QWorkspace) + 464u)
+
+Class QAudioFormat
+ size=8 align=8
+ base size=8 base align=8
+QAudioFormat (0x7f955040d070) 0
+
+Class QAudioDeviceInfo
+ size=8 align=8
+ base size=8 base align=8
+QAudioDeviceInfo (0x7f95504184d0) 0
+
+Vtable for QAbstractAudioDeviceInfo
+QAbstractAudioDeviceInfo::_ZTV24QAbstractAudioDeviceInfo: 24u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI24QAbstractAudioDeviceInfo)
+16 QAbstractAudioDeviceInfo::metaObject
+24 QAbstractAudioDeviceInfo::qt_metacast
+32 QAbstractAudioDeviceInfo::qt_metacall
+40 QAbstractAudioDeviceInfo::~QAbstractAudioDeviceInfo
+48 QAbstractAudioDeviceInfo::~QAbstractAudioDeviceInfo
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 __cxa_pure_virtual
+136 __cxa_pure_virtual
+144 __cxa_pure_virtual
+152 __cxa_pure_virtual
+160 __cxa_pure_virtual
+168 __cxa_pure_virtual
+176 __cxa_pure_virtual
+184 __cxa_pure_virtual
+
+Class QAbstractAudioDeviceInfo
+ size=16 align=8
+ base size=16 base align=8
+QAbstractAudioDeviceInfo (0x7f955042ce70) 0
+ vptr=((& QAbstractAudioDeviceInfo::_ZTV24QAbstractAudioDeviceInfo) + 16u)
+ QObject (0x7f955042cee0) 0
+ primary-for QAbstractAudioDeviceInfo (0x7f955042ce70)
+
+Vtable for QAbstractAudioOutput
+QAbstractAudioOutput::_ZTV20QAbstractAudioOutput: 30u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI20QAbstractAudioOutput)
+16 QAbstractAudioOutput::metaObject
+24 QAbstractAudioOutput::qt_metacast
+32 QAbstractAudioOutput::qt_metacall
+40 QAbstractAudioOutput::~QAbstractAudioOutput
+48 QAbstractAudioOutput::~QAbstractAudioOutput
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 __cxa_pure_virtual
+136 __cxa_pure_virtual
+144 __cxa_pure_virtual
+152 __cxa_pure_virtual
+160 __cxa_pure_virtual
+168 __cxa_pure_virtual
+176 __cxa_pure_virtual
+184 __cxa_pure_virtual
+192 __cxa_pure_virtual
+200 __cxa_pure_virtual
+208 __cxa_pure_virtual
+216 __cxa_pure_virtual
+224 __cxa_pure_virtual
+232 __cxa_pure_virtual
+
+Class QAbstractAudioOutput
+ size=16 align=8
+ base size=16 base align=8
+QAbstractAudioOutput (0x7f955044e380) 0
+ vptr=((& QAbstractAudioOutput::_ZTV20QAbstractAudioOutput) + 16u)
+ QObject (0x7f955044e3f0) 0
+ primary-for QAbstractAudioOutput (0x7f955044e380)
+
+Vtable for QAbstractAudioInput
+QAbstractAudioInput::_ZTV19QAbstractAudioInput: 30u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QAbstractAudioInput)
+16 QAbstractAudioInput::metaObject
+24 QAbstractAudioInput::qt_metacast
+32 QAbstractAudioInput::qt_metacall
+40 QAbstractAudioInput::~QAbstractAudioInput
+48 QAbstractAudioInput::~QAbstractAudioInput
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 __cxa_pure_virtual
+136 __cxa_pure_virtual
+144 __cxa_pure_virtual
+152 __cxa_pure_virtual
+160 __cxa_pure_virtual
+168 __cxa_pure_virtual
+176 __cxa_pure_virtual
+184 __cxa_pure_virtual
+192 __cxa_pure_virtual
+200 __cxa_pure_virtual
+208 __cxa_pure_virtual
+216 __cxa_pure_virtual
+224 __cxa_pure_virtual
+232 __cxa_pure_virtual
+
+Class QAbstractAudioInput
+ size=16 align=8
+ base size=16 base align=8
+QAbstractAudioInput (0x7f95504660e0) 0
+ vptr=((& QAbstractAudioInput::_ZTV19QAbstractAudioInput) + 16u)
+ QObject (0x7f9550466150) 0
+ primary-for QAbstractAudioInput (0x7f95504660e0)
+
+Vtable for QAudioEngineFactoryInterface
+QAudioEngineFactoryInterface::_ZTV28QAudioEngineFactoryInterface: 9u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI28QAudioEngineFactoryInterface)
+16 QAudioEngineFactoryInterface::~QAudioEngineFactoryInterface
+24 QAudioEngineFactoryInterface::~QAudioEngineFactoryInterface
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+48 __cxa_pure_virtual
+56 __cxa_pure_virtual
+64 __cxa_pure_virtual
+
+Class QAudioEngineFactoryInterface
+ size=8 align=8
+ base size=8 base align=8
+QAudioEngineFactoryInterface (0x7f9550466e70) 0 nearly-empty
+ vptr=((& QAudioEngineFactoryInterface::_ZTV28QAudioEngineFactoryInterface) + 16u)
+ QFactoryInterface (0x7f9550466ee0) 0 nearly-empty
+ primary-for QAudioEngineFactoryInterface (0x7f9550466e70)
+
+Vtable for QAudioEnginePlugin
+QAudioEnginePlugin::_ZTV18QAudioEnginePlugin: 28u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QAudioEnginePlugin)
+16 QAudioEnginePlugin::metaObject
+24 QAudioEnginePlugin::qt_metacast
+32 QAudioEnginePlugin::qt_metacall
+40 QAudioEnginePlugin::~QAudioEnginePlugin
+48 QAudioEnginePlugin::~QAudioEnginePlugin
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 __cxa_pure_virtual
+136 __cxa_pure_virtual
+144 __cxa_pure_virtual
+152 (int (*)(...))-0x00000000000000010
+160 (int (*)(...))(& _ZTI18QAudioEnginePlugin)
+168 QAudioEnginePlugin::_ZThn16_N18QAudioEnginePluginD1Ev
+176 QAudioEnginePlugin::_ZThn16_N18QAudioEnginePluginD0Ev
+184 __cxa_pure_virtual
+192 __cxa_pure_virtual
+200 __cxa_pure_virtual
+208 __cxa_pure_virtual
+216 __cxa_pure_virtual
+
+Class QAudioEnginePlugin
+ size=24 align=8
+ base size=24 base align=8
+QAudioEnginePlugin (0x7f9550489000) 0
+ vptr=((& QAudioEnginePlugin::_ZTV18QAudioEnginePlugin) + 16u)
+ QObject (0x7f95504808c0) 0
+ primary-for QAudioEnginePlugin (0x7f9550489000)
+ QAudioEngineFactoryInterface (0x7f9550480930) 16 nearly-empty
+ vptr=((& QAudioEnginePlugin::_ZTV18QAudioEnginePlugin) + 168u)
+ QFactoryInterface (0x7f95504809a0) 16 nearly-empty
+ primary-for QAudioEngineFactoryInterface (0x7f9550480930)
+
+Vtable for QAudioInput
+QAudioInput::_ZTV11QAudioInput: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QAudioInput)
+16 QAudioInput::metaObject
+24 QAudioInput::qt_metacast
+32 QAudioInput::qt_metacall
+40 QAudioInput::~QAudioInput
+48 QAudioInput::~QAudioInput
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QAudioInput
+ size=24 align=8
+ base size=24 base align=8
+QAudioInput (0x7f9550496930) 0
+ vptr=((& QAudioInput::_ZTV11QAudioInput) + 16u)
+ QObject (0x7f95504969a0) 0
+ primary-for QAudioInput (0x7f9550496930)
+
+Vtable for QAudioOutput
+QAudioOutput::_ZTV12QAudioOutput: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QAudioOutput)
+16 QAudioOutput::metaObject
+24 QAudioOutput::qt_metacast
+32 QAudioOutput::qt_metacall
+40 QAudioOutput::~QAudioOutput
+48 QAudioOutput::~QAudioOutput
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QAudioOutput
+ size=24 align=8
+ base size=24 base align=8
+QAudioOutput (0x7f95504a6e70) 0
+ vptr=((& QAudioOutput::_ZTV12QAudioOutput) + 16u)
+ QObject (0x7f95504a6ee0) 0
+ primary-for QAudioOutput (0x7f95504a6e70)
+
+Vtable for QAbstractVideoBuffer
+QAbstractVideoBuffer::_ZTV20QAbstractVideoBuffer: 8u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI20QAbstractVideoBuffer)
+16 QAbstractVideoBuffer::~QAbstractVideoBuffer
+24 QAbstractVideoBuffer::~QAbstractVideoBuffer
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+48 __cxa_pure_virtual
+56 QAbstractVideoBuffer::handle
+
+Class QAbstractVideoBuffer
+ size=16 align=8
+ base size=16 base align=8
+QAbstractVideoBuffer (0x7f95504cb310) 0
+ vptr=((& QAbstractVideoBuffer::_ZTV20QAbstractVideoBuffer) + 16u)
+
+Class QVideoFrame
+ size=8 align=8
+ base size=8 base align=8
+QVideoFrame (0x7f95502e6150) 0
+
+Vtable for QAbstractVideoSurface
+QAbstractVideoSurface::_ZTV21QAbstractVideoSurface: 20u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI21QAbstractVideoSurface)
+16 QAbstractVideoSurface::metaObject
+24 QAbstractVideoSurface::qt_metacast
+32 QAbstractVideoSurface::qt_metacall
+40 QAbstractVideoSurface::~QAbstractVideoSurface
+48 QAbstractVideoSurface::~QAbstractVideoSurface
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+120 QAbstractVideoSurface::isFormatSupported
+128 QAbstractVideoSurface::nearestFormat
+136 QAbstractVideoSurface::start
+144 QAbstractVideoSurface::stop
+152 __cxa_pure_virtual
+
+Class QAbstractVideoSurface
+ size=16 align=8
+ base size=16 base align=8
+QAbstractVideoSurface (0x7f95502f7ee0) 0
+ vptr=((& QAbstractVideoSurface::_ZTV21QAbstractVideoSurface) + 16u)
+ QObject (0x7f95502f7f50) 0
+ primary-for QAbstractVideoSurface (0x7f95502f7ee0)
+
+Class QVideoSurfaceFormat
+ size=8 align=8
+ base size=8 base align=8
+QVideoSurfaceFormat (0x7f9550328af0) 0
+
diff --git a/tests/auto/bic/data/QtNetwork.4.5.0.linux-gcc-amd64.txt b/tests/auto/bic/data/QtNetwork.4.5.0.linux-gcc-amd64.txt
new file mode 100644
index 0000000000..610b296137
--- /dev/null
+++ b/tests/auto/bic/data/QtNetwork.4.5.0.linux-gcc-amd64.txt
@@ -0,0 +1,3013 @@
+Class QSysInfo
+ size=1 align=1
+ base size=0 base align=1
+QSysInfo (0x7f8b7b0ad460) 0 empty
+
+Class QBool
+ size=1 align=1
+ base size=1 base align=1
+QBool (0x7f8b7b0c1150) 0
+
+Class qIsNull(double)::U
+ size=8 align=8
+ base size=8 base align=8
+qIsNull(double)::U (0x7f8b7b0d8540) 0
+
+Class qIsNull(float)::U
+ size=4 align=4
+ base size=4 base align=4
+qIsNull(float)::U (0x7f8b7b0d87e0) 0
+
+Class QFlag
+ size=4 align=4
+ base size=4 base align=4
+QFlag (0x7f8b7b10f620) 0
+
+Class QIncompatibleFlag
+ size=4 align=4
+ base size=4 base align=4
+QIncompatibleFlag (0x7f8b7b10fe00) 0
+
+Class QInternal
+ size=1 align=1
+ base size=0 base align=1
+QInternal (0x7f8b7a709540) 0 empty
+
+Class QGenericArgument
+ size=16 align=8
+ base size=16 base align=8
+QGenericArgument (0x7f8b7a709850) 0
+
+Class QGenericReturnArgument
+ size=16 align=8
+ base size=16 base align=8
+QGenericReturnArgument (0x7f8b7a7253f0) 0
+ QGenericArgument (0x7f8b7a725460) 0
+
+Class QMetaObject
+ size=32 align=8
+ base size=32 base align=8
+QMetaObject (0x7f8b7a725cb0) 0
+
+Class QMetaObjectExtraData
+ size=16 align=8
+ base size=16 base align=8
+QMetaObjectExtraData (0x7f8b7a74dcb0) 0
+
+Class QLatin1Char
+ size=1 align=1
+ base size=1 base align=1
+QLatin1Char (0x7f8b7a757700) 0
+
+Class QChar
+ size=2 align=2
+ base size=2 base align=2
+QChar (0x7f8b7a75c2a0) 0
+
+Class QBasicAtomicInt
+ size=4 align=4
+ base size=4 base align=4
+QBasicAtomicInt (0x7f8b7a5c9380) 0
+
+Class QAtomicInt
+ size=4 align=4
+ base size=4 base align=4
+QAtomicInt (0x7f8b7a603d20) 0
+ QBasicAtomicInt (0x7f8b7a603d90) 0
+
+Class __locale_struct
+ size=232 align=8
+ base size=232 base align=8
+__locale_struct (0x7f8b7a6291c0) 0
+
+Class QByteArray::Data
+ size=32 align=8
+ base size=32 base align=8
+QByteArray::Data (0x7f8b7a4a27e0) 0
+
+Class QByteArray
+ size=8 align=8
+ base size=8 base align=8
+QByteArray (0x7f8b7a662540) 0
+
+Class QByteRef
+ size=16 align=8
+ base size=12 base align=8
+QByteRef (0x7f8b7a4f8a80) 0
+
+Class QString::Null
+ size=1 align=1
+ base size=0 base align=1
+QString::Null (0x7f8b7a3ff700) 0 empty
+
+Class QString::Data
+ size=32 align=8
+ base size=32 base align=8
+QString::Data (0x7f8b7a40eee0) 0
+
+Class QString
+ size=8 align=8
+ base size=8 base align=8
+QString (0x7f8b7a37e5b0) 0
+
+Class QLatin1String
+ size=8 align=8
+ base size=8 base align=8
+QLatin1String (0x7f8b7a2ea000) 0
+
+Class QCharRef
+ size=16 align=8
+ base size=12 base align=8
+QCharRef (0x7f8b7a180620) 0
+
+Class QConstString
+ size=8 align=8
+ base size=8 base align=8
+QConstString (0x7f8b7a0c9ee0) 0
+ QString (0x7f8b7a0c9f50) 0
+
+Class QStringRef
+ size=16 align=8
+ base size=16 base align=8
+QStringRef (0x7f8b7a0ebbd0) 0
+
+Vtable for std::exception
+std::exception::_ZTVSt9exception: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt9exception)
+16 std::exception::~exception
+24 std::exception::~exception
+32 std::exception::what
+
+Class std::exception
+ size=8 align=8
+ base size=8 base align=8
+std::exception (0x7f8b79fa5620) 0 nearly-empty
+ vptr=((& std::exception::_ZTVSt9exception) + 16u)
+
+Vtable for std::bad_exception
+std::bad_exception::_ZTVSt13bad_exception: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt13bad_exception)
+16 std::bad_exception::~bad_exception
+24 std::bad_exception::~bad_exception
+32 std::bad_exception::what
+
+Class std::bad_exception
+ size=8 align=8
+ base size=8 base align=8
+std::bad_exception (0x7f8b79fc8000) 0 nearly-empty
+ vptr=((& std::bad_exception::_ZTVSt13bad_exception) + 16u)
+ std::exception (0x7f8b79fc8070) 0 nearly-empty
+ primary-for std::bad_exception (0x7f8b79fc8000)
+
+Vtable for std::bad_alloc
+std::bad_alloc::_ZTVSt9bad_alloc: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt9bad_alloc)
+16 std::bad_alloc::~bad_alloc
+24 std::bad_alloc::~bad_alloc
+32 std::bad_alloc::what
+
+Class std::bad_alloc
+ size=8 align=8
+ base size=8 base align=8
+std::bad_alloc (0x7f8b79fc88c0) 0 nearly-empty
+ vptr=((& std::bad_alloc::_ZTVSt9bad_alloc) + 16u)
+ std::exception (0x7f8b79fc8930) 0 nearly-empty
+ primary-for std::bad_alloc (0x7f8b79fc88c0)
+
+Class std::nothrow_t
+ size=1 align=1
+ base size=0 base align=1
+std::nothrow_t (0x7f8b79fd90e0) 0 empty
+
+Class QListData::Data
+ size=32 align=8
+ base size=32 base align=8
+QListData::Data (0x7f8b79fd9620) 0
+
+Class QListData
+ size=8 align=8
+ base size=8 base align=8
+QListData (0x7f8b79fd95b0) 0
+
+Vtable for QObjectData
+QObjectData::_ZTV11QObjectData: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QObjectData)
+16 __cxa_pure_virtual
+24 __cxa_pure_virtual
+
+Class QObjectData
+ size=40 align=8
+ base size=40 base align=8
+QObjectData (0x7f8b79edcbd0) 0
+ vptr=((& QObjectData::_ZTV11QObjectData) + 16u)
+
+Vtable for QObject
+QObject::_ZTV7QObject: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QObject)
+16 QObject::metaObject
+24 QObject::qt_metacast
+32 QObject::qt_metacall
+40 QObject::~QObject
+48 QObject::~QObject
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QObject
+ size=16 align=8
+ base size=16 base align=8
+QObject (0x7f8b79edcee0) 0
+ vptr=((& QObject::_ZTV7QObject) + 16u)
+
+Vtable for QObjectUserData
+QObjectUserData::_ZTV15QObjectUserData: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QObjectUserData)
+16 QObjectUserData::~QObjectUserData
+24 QObjectUserData::~QObjectUserData
+
+Class QObjectUserData
+ size=8 align=8
+ base size=8 base align=8
+QObjectUserData (0x7f8b79d5e3f0) 0 nearly-empty
+ vptr=((& QObjectUserData::_ZTV15QObjectUserData) + 16u)
+
+Vtable for QIODevice
+QIODevice::_ZTV9QIODevice: 30u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QIODevice)
+16 QIODevice::metaObject
+24 QIODevice::qt_metacast
+32 QIODevice::qt_metacall
+40 QIODevice::~QIODevice
+48 QIODevice::~QIODevice
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QIODevice::isSequential
+120 QIODevice::open
+128 QIODevice::close
+136 QIODevice::pos
+144 QIODevice::size
+152 QIODevice::seek
+160 QIODevice::atEnd
+168 QIODevice::reset
+176 QIODevice::bytesAvailable
+184 QIODevice::bytesToWrite
+192 QIODevice::canReadLine
+200 QIODevice::waitForReadyRead
+208 QIODevice::waitForBytesWritten
+216 __cxa_pure_virtual
+224 QIODevice::readLineData
+232 __cxa_pure_virtual
+
+Class QIODevice
+ size=16 align=8
+ base size=16 base align=8
+QIODevice (0x7f8b79d5e930) 0
+ vptr=((& QIODevice::_ZTV9QIODevice) + 16u)
+ QObject (0x7f8b79d5e9a0) 0
+ primary-for QIODevice (0x7f8b79d5e930)
+
+Vtable for QDataStream
+QDataStream::_ZTV11QDataStream: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QDataStream)
+16 QDataStream::~QDataStream
+24 QDataStream::~QDataStream
+
+Class QDataStream
+ size=40 align=8
+ base size=40 base align=8
+QDataStream (0x7f8b79dd32a0) 0
+ vptr=((& QDataStream::_ZTV11QDataStream) + 16u)
+
+Class QHashData::Node
+ size=16 align=8
+ base size=16 base align=8
+QHashData::Node (0x7f8b79c5a150) 0
+
+Class QHashData
+ size=40 align=8
+ base size=40 base align=8
+QHashData (0x7f8b79c5a0e0) 0
+
+Class QHashDummyValue
+ size=1 align=1
+ base size=0 base align=1
+QHashDummyValue (0x7f8b79c69ee0) 0 empty
+
+Class QMapData::Node
+ size=16 align=8
+ base size=16 base align=8
+QMapData::Node (0x7f8b79b7c690) 0
+
+Class QMapData
+ size=128 align=8
+ base size=128 base align=8
+QMapData (0x7f8b79b7c620) 0
+
+Vtable for QSystemLocale
+QSystemLocale::_ZTV13QSystemLocale: 6u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QSystemLocale)
+16 QSystemLocale::~QSystemLocale
+24 QSystemLocale::~QSystemLocale
+32 QSystemLocale::query
+40 QSystemLocale::fallbackLocale
+
+Class QSystemLocale
+ size=8 align=8
+ base size=8 base align=8
+QSystemLocale (0x7f8b79a91e00) 0 nearly-empty
+ vptr=((& QSystemLocale::_ZTV13QSystemLocale) + 16u)
+
+Class QLocale::Data
+ size=4 align=2
+ base size=4 base align=2
+QLocale::Data (0x7f8b79aef3f0) 0
+
+Class QLocale
+ size=8 align=8
+ base size=8 base align=8
+QLocale (0x7f8b79ab20e0) 0
+
+Class QTextCodec::ConverterState
+ size=32 align=8
+ base size=32 base align=8
+QTextCodec::ConverterState (0x7f8b79b3de70) 0
+
+Vtable for QTextCodec
+QTextCodec::_ZTV10QTextCodec: 9u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QTextCodec)
+16 __cxa_pure_virtual
+24 QTextCodec::aliases
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+48 __cxa_pure_virtual
+56 QTextCodec::~QTextCodec
+64 QTextCodec::~QTextCodec
+
+Class QTextCodec
+ size=8 align=8
+ base size=8 base align=8
+QTextCodec (0x7f8b79b27a80) 0 nearly-empty
+ vptr=((& QTextCodec::_ZTV10QTextCodec) + 16u)
+
+Class QTextEncoder
+ size=40 align=8
+ base size=40 base align=8
+QTextEncoder (0x7f8b799a83f0) 0
+
+Class QTextDecoder
+ size=40 align=8
+ base size=40 base align=8
+QTextDecoder (0x7f8b799b2230) 0
+
+Class _IO_marker
+ size=24 align=8
+ base size=24 base align=8
+_IO_marker (0x7f8b799b92a0) 0
+
+Class _IO_FILE
+ size=216 align=8
+ base size=216 base align=8
+_IO_FILE (0x7f8b799b9310) 0
+
+Vtable for QTextStream
+QTextStream::_ZTV11QTextStream: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QTextStream)
+16 QTextStream::~QTextStream
+24 QTextStream::~QTextStream
+
+Class QTextStream
+ size=16 align=8
+ base size=16 base align=8
+QTextStream (0x7f8b799b93f0) 0
+ vptr=((& QTextStream::_ZTV11QTextStream) + 16u)
+
+Class QTextStreamManipulator
+ size=40 align=8
+ base size=38 base align=8
+QTextStreamManipulator (0x7f8b79851ee0) 0
+
+Vtable for QTextIStream
+QTextIStream::_ZTV12QTextIStream: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QTextIStream)
+16 QTextIStream::~QTextIStream
+24 QTextIStream::~QTextIStream
+
+Class QTextIStream
+ size=16 align=8
+ base size=16 base align=8
+QTextIStream (0x7f8b7987e1c0) 0
+ vptr=((& QTextIStream::_ZTV12QTextIStream) + 16u)
+ QTextStream (0x7f8b7987e230) 0
+ primary-for QTextIStream (0x7f8b7987e1c0)
+
+Vtable for QTextOStream
+QTextOStream::_ZTV12QTextOStream: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QTextOStream)
+16 QTextOStream::~QTextOStream
+24 QTextOStream::~QTextOStream
+
+Class QTextOStream
+ size=16 align=8
+ base size=16 base align=8
+QTextOStream (0x7f8b79893070) 0
+ vptr=((& QTextOStream::_ZTV12QTextOStream) + 16u)
+ QTextStream (0x7f8b798930e0) 0
+ primary-for QTextOStream (0x7f8b79893070)
+
+Class wait
+ size=4 align=4
+ base size=4 base align=4
+wait (0x7f8b798a0ee0) 0
+
+Class timespec
+ size=16 align=8
+ base size=16 base align=8
+timespec (0x7f8b798ad230) 0
+
+Class timeval
+ size=16 align=8
+ base size=16 base align=8
+timeval (0x7f8b798ad2a0) 0
+
+Class __pthread_internal_list
+ size=16 align=8
+ base size=16 base align=8
+__pthread_internal_list (0x7f8b798ad3f0) 0
+
+Class random_data
+ size=48 align=8
+ base size=48 base align=8
+random_data (0x7f8b798ad9a0) 0
+
+Class drand48_data
+ size=24 align=8
+ base size=24 base align=8
+drand48_data (0x7f8b798ada10) 0
+
+Class QVectorData
+ size=16 align=4
+ base size=16 base align=4
+QVectorData (0x7f8b798ada80) 0
+
+Class QDebug::Stream
+ size=40 align=8
+ base size=34 base align=8
+QDebug::Stream (0x7f8b79829230) 0
+
+Class QDebug
+ size=8 align=8
+ base size=8 base align=8
+QDebug (0x7f8b798291c0) 0
+
+Class QNoDebug
+ size=1 align=1
+ base size=0 base align=1
+QNoDebug (0x7f8b796c7070) 0 empty
+
+Vtable for QFile
+QFile::_ZTV5QFile: 31u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI5QFile)
+16 QFile::metaObject
+24 QFile::qt_metacast
+32 QFile::qt_metacall
+40 QFile::~QFile
+48 QFile::~QFile
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QFile::isSequential
+120 QFile::open
+128 QFile::close
+136 QFile::pos
+144 QFile::size
+152 QFile::seek
+160 QFile::atEnd
+168 QIODevice::reset
+176 QIODevice::bytesAvailable
+184 QIODevice::bytesToWrite
+192 QIODevice::canReadLine
+200 QIODevice::waitForReadyRead
+208 QIODevice::waitForBytesWritten
+216 QFile::readData
+224 QFile::readLineData
+232 QFile::writeData
+240 QFile::fileEngine
+
+Class QFile
+ size=16 align=8
+ base size=16 base align=8
+QFile (0x7f8b796d8620) 0
+ vptr=((& QFile::_ZTV5QFile) + 16u)
+ QIODevice (0x7f8b796d8690) 0
+ primary-for QFile (0x7f8b796d8620)
+ QObject (0x7f8b796d8700) 0
+ primary-for QIODevice (0x7f8b796d8690)
+
+Vtable for QTemporaryFile
+QTemporaryFile::_ZTV14QTemporaryFile: 31u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QTemporaryFile)
+16 QTemporaryFile::metaObject
+24 QTemporaryFile::qt_metacast
+32 QTemporaryFile::qt_metacall
+40 QTemporaryFile::~QTemporaryFile
+48 QTemporaryFile::~QTemporaryFile
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QFile::isSequential
+120 QTemporaryFile::open
+128 QFile::close
+136 QFile::pos
+144 QFile::size
+152 QFile::seek
+160 QFile::atEnd
+168 QIODevice::reset
+176 QIODevice::bytesAvailable
+184 QIODevice::bytesToWrite
+192 QIODevice::canReadLine
+200 QIODevice::waitForReadyRead
+208 QIODevice::waitForBytesWritten
+216 QFile::readData
+224 QFile::readLineData
+232 QFile::writeData
+240 QTemporaryFile::fileEngine
+
+Class QTemporaryFile
+ size=16 align=8
+ base size=16 base align=8
+QTemporaryFile (0x7f8b79742850) 0
+ vptr=((& QTemporaryFile::_ZTV14QTemporaryFile) + 16u)
+ QFile (0x7f8b797428c0) 0
+ primary-for QTemporaryFile (0x7f8b79742850)
+ QIODevice (0x7f8b79742930) 0
+ primary-for QFile (0x7f8b797428c0)
+ QObject (0x7f8b797429a0) 0
+ primary-for QIODevice (0x7f8b79742930)
+
+Class QFileInfo
+ size=8 align=8
+ base size=8 base align=8
+QFileInfo (0x7f8b79563f50) 0
+
+Class QRegExp
+ size=8 align=8
+ base size=8 base align=8
+QRegExp (0x7f8b795c0770) 0
+
+Class QStringMatcher
+ size=1048 align=8
+ base size=1048 base align=8
+QStringMatcher (0x7f8b7960b5b0) 0
+
+Class QStringList
+ size=8 align=8
+ base size=8 base align=8
+QStringList (0x7f8b79620070) 0
+ QList<QString> (0x7f8b796200e0) 0
+
+Class QDir
+ size=8 align=8
+ base size=8 base align=8
+QDir (0x7f8b794adcb0) 0
+
+Class QAbstractFileEngine::ExtensionOption
+ size=1 align=1
+ base size=0 base align=1
+QAbstractFileEngine::ExtensionOption (0x7f8b79548e70) 0 empty
+
+Class QAbstractFileEngine::ExtensionReturn
+ size=1 align=1
+ base size=0 base align=1
+QAbstractFileEngine::ExtensionReturn (0x7f8b79548ee0) 0 empty
+
+Class QAbstractFileEngine::MapExtensionOption
+ size=24 align=8
+ base size=20 base align=8
+QAbstractFileEngine::MapExtensionOption (0x7f8b79548f50) 0
+ QAbstractFileEngine::ExtensionOption (0x7f8b7935b000) 0 empty
+
+Class QAbstractFileEngine::MapExtensionReturn
+ size=8 align=8
+ base size=8 base align=8
+QAbstractFileEngine::MapExtensionReturn (0x7f8b7935b1c0) 0
+ QAbstractFileEngine::ExtensionReturn (0x7f8b7935b230) 0 empty
+
+Class QAbstractFileEngine::UnMapExtensionOption
+ size=8 align=8
+ base size=8 base align=8
+QAbstractFileEngine::UnMapExtensionOption (0x7f8b7935b2a0) 0
+ QAbstractFileEngine::ExtensionOption (0x7f8b7935b310) 0 empty
+
+Vtable for QAbstractFileEngine
+QAbstractFileEngine::_ZTV19QAbstractFileEngine: 36u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QAbstractFileEngine)
+16 QAbstractFileEngine::~QAbstractFileEngine
+24 QAbstractFileEngine::~QAbstractFileEngine
+32 QAbstractFileEngine::open
+40 QAbstractFileEngine::close
+48 QAbstractFileEngine::flush
+56 QAbstractFileEngine::size
+64 QAbstractFileEngine::pos
+72 QAbstractFileEngine::seek
+80 QAbstractFileEngine::isSequential
+88 QAbstractFileEngine::remove
+96 QAbstractFileEngine::copy
+104 QAbstractFileEngine::rename
+112 QAbstractFileEngine::link
+120 QAbstractFileEngine::mkdir
+128 QAbstractFileEngine::rmdir
+136 QAbstractFileEngine::setSize
+144 QAbstractFileEngine::caseSensitive
+152 QAbstractFileEngine::isRelativePath
+160 QAbstractFileEngine::entryList
+168 QAbstractFileEngine::fileFlags
+176 QAbstractFileEngine::setPermissions
+184 QAbstractFileEngine::fileName
+192 QAbstractFileEngine::ownerId
+200 QAbstractFileEngine::owner
+208 QAbstractFileEngine::fileTime
+216 QAbstractFileEngine::setFileName
+224 QAbstractFileEngine::handle
+232 QAbstractFileEngine::beginEntryList
+240 QAbstractFileEngine::endEntryList
+248 QAbstractFileEngine::read
+256 QAbstractFileEngine::readLine
+264 QAbstractFileEngine::write
+272 QAbstractFileEngine::extension
+280 QAbstractFileEngine::supportsExtension
+
+Class QAbstractFileEngine
+ size=16 align=8
+ base size=16 base align=8
+QAbstractFileEngine (0x7f8b79537e00) 0
+ vptr=((& QAbstractFileEngine::_ZTV19QAbstractFileEngine) + 16u)
+
+Vtable for QAbstractFileEngineHandler
+QAbstractFileEngineHandler::_ZTV26QAbstractFileEngineHandler: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI26QAbstractFileEngineHandler)
+16 QAbstractFileEngineHandler::~QAbstractFileEngineHandler
+24 QAbstractFileEngineHandler::~QAbstractFileEngineHandler
+32 __cxa_pure_virtual
+
+Class QAbstractFileEngineHandler
+ size=8 align=8
+ base size=8 base align=8
+QAbstractFileEngineHandler (0x7f8b7938c000) 0 nearly-empty
+ vptr=((& QAbstractFileEngineHandler::_ZTV26QAbstractFileEngineHandler) + 16u)
+
+Vtable for QAbstractFileEngineIterator
+QAbstractFileEngineIterator::_ZTV27QAbstractFileEngineIterator: 9u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI27QAbstractFileEngineIterator)
+16 QAbstractFileEngineIterator::~QAbstractFileEngineIterator
+24 QAbstractFileEngineIterator::~QAbstractFileEngineIterator
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+48 __cxa_pure_virtual
+56 QAbstractFileEngineIterator::currentFileInfo
+64 QAbstractFileEngineIterator::entryInfo
+
+Class QAbstractFileEngineIterator
+ size=16 align=8
+ base size=16 base align=8
+QAbstractFileEngineIterator (0x7f8b7938c1c0) 0
+ vptr=((& QAbstractFileEngineIterator::_ZTV27QAbstractFileEngineIterator) + 16u)
+
+Vtable for QFSFileEngine
+QFSFileEngine::_ZTV13QFSFileEngine: 36u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QFSFileEngine)
+16 QFSFileEngine::~QFSFileEngine
+24 QFSFileEngine::~QFSFileEngine
+32 QFSFileEngine::open
+40 QFSFileEngine::close
+48 QFSFileEngine::flush
+56 QFSFileEngine::size
+64 QFSFileEngine::pos
+72 QFSFileEngine::seek
+80 QFSFileEngine::isSequential
+88 QFSFileEngine::remove
+96 QFSFileEngine::copy
+104 QFSFileEngine::rename
+112 QFSFileEngine::link
+120 QFSFileEngine::mkdir
+128 QFSFileEngine::rmdir
+136 QFSFileEngine::setSize
+144 QFSFileEngine::caseSensitive
+152 QFSFileEngine::isRelativePath
+160 QFSFileEngine::entryList
+168 QFSFileEngine::fileFlags
+176 QFSFileEngine::setPermissions
+184 QFSFileEngine::fileName
+192 QFSFileEngine::ownerId
+200 QFSFileEngine::owner
+208 QFSFileEngine::fileTime
+216 QFSFileEngine::setFileName
+224 QFSFileEngine::handle
+232 QFSFileEngine::beginEntryList
+240 QFSFileEngine::endEntryList
+248 QFSFileEngine::read
+256 QFSFileEngine::readLine
+264 QFSFileEngine::write
+272 QFSFileEngine::extension
+280 QFSFileEngine::supportsExtension
+
+Class QFSFileEngine
+ size=16 align=8
+ base size=16 base align=8
+QFSFileEngine (0x7f8b7938ca10) 0
+ vptr=((& QFSFileEngine::_ZTV13QFSFileEngine) + 16u)
+ QAbstractFileEngine (0x7f8b7938ca80) 0
+ primary-for QFSFileEngine (0x7f8b7938ca10)
+
+Vtable for QProcess
+QProcess::_ZTV8QProcess: 31u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI8QProcess)
+16 QProcess::metaObject
+24 QProcess::qt_metacast
+32 QProcess::qt_metacall
+40 QProcess::~QProcess
+48 QProcess::~QProcess
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QProcess::isSequential
+120 QIODevice::open
+128 QProcess::close
+136 QIODevice::pos
+144 QIODevice::size
+152 QIODevice::seek
+160 QProcess::atEnd
+168 QIODevice::reset
+176 QProcess::bytesAvailable
+184 QProcess::bytesToWrite
+192 QProcess::canReadLine
+200 QProcess::waitForReadyRead
+208 QProcess::waitForBytesWritten
+216 QProcess::readData
+224 QIODevice::readLineData
+232 QProcess::writeData
+240 QProcess::setupChildProcess
+
+Class QProcess
+ size=16 align=8
+ base size=16 base align=8
+QProcess (0x7f8b793a3d20) 0
+ vptr=((& QProcess::_ZTV8QProcess) + 16u)
+ QIODevice (0x7f8b793a3d90) 0
+ primary-for QProcess (0x7f8b793a3d20)
+ QObject (0x7f8b793a3e00) 0
+ primary-for QIODevice (0x7f8b793a3d90)
+
+Class QResource
+ size=8 align=8
+ base size=8 base align=8
+QResource (0x7f8b793e0230) 0
+
+Vtable for QDirIterator
+QDirIterator::_ZTV12QDirIterator: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QDirIterator)
+16 QDirIterator::~QDirIterator
+24 QDirIterator::~QDirIterator
+
+Class QDirIterator
+ size=16 align=8
+ base size=16 base align=8
+QDirIterator (0x7f8b793e0cb0) 0
+ vptr=((& QDirIterator::_ZTV12QDirIterator) + 16u)
+
+Vtable for QBuffer
+QBuffer::_ZTV7QBuffer: 30u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QBuffer)
+16 QBuffer::metaObject
+24 QBuffer::qt_metacast
+32 QBuffer::qt_metacall
+40 QBuffer::~QBuffer
+48 QBuffer::~QBuffer
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QBuffer::connectNotify
+104 QBuffer::disconnectNotify
+112 QIODevice::isSequential
+120 QBuffer::open
+128 QBuffer::close
+136 QBuffer::pos
+144 QBuffer::size
+152 QBuffer::seek
+160 QBuffer::atEnd
+168 QIODevice::reset
+176 QIODevice::bytesAvailable
+184 QIODevice::bytesToWrite
+192 QBuffer::canReadLine
+200 QIODevice::waitForReadyRead
+208 QIODevice::waitForBytesWritten
+216 QBuffer::readData
+224 QIODevice::readLineData
+232 QBuffer::writeData
+
+Class QBuffer
+ size=16 align=8
+ base size=16 base align=8
+QBuffer (0x7f8b7940fa80) 0
+ vptr=((& QBuffer::_ZTV7QBuffer) + 16u)
+ QIODevice (0x7f8b7940faf0) 0
+ primary-for QBuffer (0x7f8b7940fa80)
+ QObject (0x7f8b7940fb60) 0
+ primary-for QIODevice (0x7f8b7940faf0)
+
+Vtable for QFileSystemWatcher
+QFileSystemWatcher::_ZTV18QFileSystemWatcher: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QFileSystemWatcher)
+16 QFileSystemWatcher::metaObject
+24 QFileSystemWatcher::qt_metacast
+32 QFileSystemWatcher::qt_metacall
+40 QFileSystemWatcher::~QFileSystemWatcher
+48 QFileSystemWatcher::~QFileSystemWatcher
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QFileSystemWatcher
+ size=16 align=8
+ base size=16 base align=8
+QFileSystemWatcher (0x7f8b79438690) 0
+ vptr=((& QFileSystemWatcher::_ZTV18QFileSystemWatcher) + 16u)
+ QObject (0x7f8b79438700) 0
+ primary-for QFileSystemWatcher (0x7f8b79438690)
+
+Class QUrl
+ size=8 align=8
+ base size=8 base align=8
+QUrl (0x7f8b7922bbd0) 0
+
+Class QMetaType
+ size=1 align=1
+ base size=0 base align=1
+QMetaType (0x7f8b792b63f0) 0 empty
+
+Class QVariant::PrivateShared
+ size=16 align=8
+ base size=12 base align=8
+QVariant::PrivateShared (0x7f8b79189930) 0
+
+Class QVariant::Private::Data
+ size=8 align=8
+ base size=8 base align=8
+QVariant::Private::Data (0x7f8b79189c40) 0
+
+Class QVariant::Private
+ size=16 align=8
+ base size=12 base align=8
+QVariant::Private (0x7f8b79189a10) 0
+
+Class QVariant::Handler
+ size=72 align=8
+ base size=72 base align=8
+QVariant::Handler (0x7f8b79197930) 0
+
+Class QVariant
+ size=16 align=8
+ base size=16 base align=8
+QVariant (0x7f8b79159af0) 0
+
+Class QVariantComparisonHelper
+ size=8 align=8
+ base size=8 base align=8
+QVariantComparisonHelper (0x7f8b7903dcb0) 0
+
+Vtable for QSettings
+QSettings::_ZTV9QSettings: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QSettings)
+16 QSettings::metaObject
+24 QSettings::qt_metacast
+32 QSettings::qt_metacall
+40 QSettings::~QSettings
+48 QSettings::~QSettings
+56 QSettings::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QSettings
+ size=16 align=8
+ base size=16 base align=8
+QSettings (0x7f8b79062cb0) 0
+ vptr=((& QSettings::_ZTV9QSettings) + 16u)
+ QObject (0x7f8b79062d20) 0
+ primary-for QSettings (0x7f8b79062cb0)
+
+Class QXmlStreamStringRef
+ size=16 align=8
+ base size=16 base align=8
+QXmlStreamStringRef (0x7f8b790e4070) 0
+
+Class QXmlStreamAttribute
+ size=80 align=8
+ base size=73 base align=8
+QXmlStreamAttribute (0x7f8b79102850) 0
+
+Class QXmlStreamAttributes
+ size=8 align=8
+ base size=8 base align=8
+QXmlStreamAttributes (0x7f8b78f29380) 0
+ QVector<QXmlStreamAttribute> (0x7f8b78f293f0) 0
+
+Class QXmlStreamNamespaceDeclaration
+ size=40 align=8
+ base size=40 base align=8
+QXmlStreamNamespaceDeclaration (0x7f8b78f29850) 0
+
+Class QXmlStreamNotationDeclaration
+ size=56 align=8
+ base size=56 base align=8
+QXmlStreamNotationDeclaration (0x7f8b78f6a1c0) 0
+
+Class QXmlStreamEntityDeclaration
+ size=88 align=8
+ base size=88 base align=8
+QXmlStreamEntityDeclaration (0x7f8b78f89070) 0
+
+Vtable for QXmlStreamEntityResolver
+QXmlStreamEntityResolver::_ZTV24QXmlStreamEntityResolver: 6u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI24QXmlStreamEntityResolver)
+16 QXmlStreamEntityResolver::~QXmlStreamEntityResolver
+24 QXmlStreamEntityResolver::~QXmlStreamEntityResolver
+32 QXmlStreamEntityResolver::resolveEntity
+40 QXmlStreamEntityResolver::resolveUndeclaredEntity
+
+Class QXmlStreamEntityResolver
+ size=8 align=8
+ base size=8 base align=8
+QXmlStreamEntityResolver (0x7f8b78fa69a0) 0 nearly-empty
+ vptr=((& QXmlStreamEntityResolver::_ZTV24QXmlStreamEntityResolver) + 16u)
+
+Class QXmlStreamReader
+ size=8 align=8
+ base size=8 base align=8
+QXmlStreamReader (0x7f8b78fa6b60) 0
+
+Class QXmlStreamWriter
+ size=8 align=8
+ base size=8 base align=8
+QXmlStreamWriter (0x7f8b78fe4a10) 0
+
+Class QPoint
+ size=8 align=4
+ base size=8 base align=4
+QPoint (0x7f8b78e21150) 0
+
+Class QPointF
+ size=16 align=8
+ base size=16 base align=8
+QPointF (0x7f8b78e57d90) 0
+
+Class QLine
+ size=16 align=4
+ base size=16 base align=4
+QLine (0x7f8b78e95bd0) 0
+
+Class QLineF
+ size=32 align=8
+ base size=32 base align=8
+QLineF (0x7f8b78ecea80) 0
+
+Class QSize
+ size=8 align=4
+ base size=8 base align=4
+QSize (0x7f8b78d2c540) 0
+
+Class QSizeF
+ size=16 align=8
+ base size=16 base align=8
+QSizeF (0x7f8b78d77380) 0
+
+Class QRect
+ size=16 align=4
+ base size=16 base align=4
+QRect (0x7f8b78dc49a0) 0
+
+Class QRectF
+ size=32 align=8
+ base size=32 base align=8
+QRectF (0x7f8b78c73380) 0
+
+Class QSharedData
+ size=4 align=4
+ base size=4 base align=4
+QSharedData (0x7f8b78b1f150) 0
+
+Vtable for QtSharedPointer::ExternalRefCountData
+QtSharedPointer::ExternalRefCountData::_ZTVN15QtSharedPointer20ExternalRefCountDataE: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN15QtSharedPointer20ExternalRefCountDataE)
+16 QtSharedPointer::ExternalRefCountData::~ExternalRefCountData
+24 QtSharedPointer::ExternalRefCountData::~ExternalRefCountData
+32 QtSharedPointer::ExternalRefCountData::destroy
+
+Class QtSharedPointer::ExternalRefCountData
+ size=16 align=8
+ base size=16 base align=8
+QtSharedPointer::ExternalRefCountData (0x7f8b78b4daf0) 0
+ vptr=((& QtSharedPointer::ExternalRefCountData::_ZTVN15QtSharedPointer20ExternalRefCountDataE) + 16u)
+
+Class QLinkedListData
+ size=32 align=8
+ base size=32 base align=8
+QLinkedListData (0x7f8b78bd5c40) 0
+
+Class QBitArray
+ size=8 align=8
+ base size=8 base align=8
+QBitArray (0x7f8b78aa1b60) 0
+
+Class QBitRef
+ size=16 align=8
+ base size=12 base align=8
+QBitRef (0x7f8b78b15930) 0
+
+Class QByteArrayMatcher
+ size=1040 align=8
+ base size=1040 base align=8
+QByteArrayMatcher (0x7f8b78930310) 0
+
+Class QCryptographicHash
+ size=8 align=8
+ base size=8 base align=8
+QCryptographicHash (0x7f8b78940a10) 0
+
+Class QTextBoundaryFinder
+ size=48 align=8
+ base size=48 base align=8
+QTextBoundaryFinder (0x7f8b7896f460) 0
+
+Class QDate
+ size=4 align=4
+ base size=4 base align=4
+QDate (0x7f8b789837e0) 0
+
+Class QTime
+ size=4 align=4
+ base size=4 base align=4
+QTime (0x7f8b789ad770) 0
+
+Class QDateTime
+ size=8 align=8
+ base size=8 base align=8
+QDateTime (0x7f8b789cbd20) 0
+
+Vtable for QTimeLine
+QTimeLine::_ZTV9QTimeLine: 15u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QTimeLine)
+16 QTimeLine::metaObject
+24 QTimeLine::qt_metacast
+32 QTimeLine::qt_metacall
+40 QTimeLine::~QTimeLine
+48 QTimeLine::~QTimeLine
+56 QObject::event
+64 QObject::eventFilter
+72 QTimeLine::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QTimeLine::valueForTime
+
+Class QTimeLine
+ size=16 align=8
+ base size=16 base align=8
+QTimeLine (0x7f8b789ff1c0) 0
+ vptr=((& QTimeLine::_ZTV9QTimeLine) + 16u)
+ QObject (0x7f8b789ff230) 0
+ primary-for QTimeLine (0x7f8b789ff1c0)
+
+Vtable for QRunnable
+QRunnable::_ZTV9QRunnable: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QRunnable)
+16 __cxa_pure_virtual
+24 QRunnable::~QRunnable
+32 QRunnable::~QRunnable
+
+Class QRunnable
+ size=16 align=8
+ base size=12 base align=8
+QRunnable (0x7f8b78825070) 0
+ vptr=((& QRunnable::_ZTV9QRunnable) + 16u)
+
+Class QMutex
+ size=8 align=8
+ base size=8 base align=8
+QMutex (0x7f8b78832700) 0
+
+Class QMutexLocker
+ size=8 align=8
+ base size=8 base align=8
+QMutexLocker (0x7f8b788402a0) 0
+
+Vtable for QtConcurrent::Exception
+QtConcurrent::Exception::_ZTVN12QtConcurrent9ExceptionE: 7u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN12QtConcurrent9ExceptionE)
+16 QtConcurrent::Exception::~Exception
+24 QtConcurrent::Exception::~Exception
+32 std::exception::what
+40 QtConcurrent::Exception::raise
+48 QtConcurrent::Exception::clone
+
+Class QtConcurrent::Exception
+ size=8 align=8
+ base size=8 base align=8
+QtConcurrent::Exception (0x7f8b788575b0) 0 nearly-empty
+ vptr=((& QtConcurrent::Exception::_ZTVN12QtConcurrent9ExceptionE) + 16u)
+ std::exception (0x7f8b78857620) 0 nearly-empty
+ primary-for QtConcurrent::Exception (0x7f8b788575b0)
+
+Vtable for QtConcurrent::UnhandledException
+QtConcurrent::UnhandledException::_ZTVN12QtConcurrent18UnhandledExceptionE: 7u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN12QtConcurrent18UnhandledExceptionE)
+16 QtConcurrent::UnhandledException::~UnhandledException
+24 QtConcurrent::UnhandledException::~UnhandledException
+32 std::exception::what
+40 QtConcurrent::UnhandledException::raise
+48 QtConcurrent::UnhandledException::clone
+
+Class QtConcurrent::UnhandledException
+ size=8 align=8
+ base size=8 base align=8
+QtConcurrent::UnhandledException (0x7f8b78857850) 0 nearly-empty
+ vptr=((& QtConcurrent::UnhandledException::_ZTVN12QtConcurrent18UnhandledExceptionE) + 16u)
+ QtConcurrent::Exception (0x7f8b788578c0) 0 nearly-empty
+ primary-for QtConcurrent::UnhandledException (0x7f8b78857850)
+ std::exception (0x7f8b78857930) 0 nearly-empty
+ primary-for QtConcurrent::Exception (0x7f8b788578c0)
+
+Class QtConcurrent::internal::ExceptionHolder
+ size=8 align=8
+ base size=8 base align=8
+QtConcurrent::internal::ExceptionHolder (0x7f8b78857b60) 0
+
+Class QtConcurrent::internal::ExceptionStore
+ size=8 align=8
+ base size=8 base align=8
+QtConcurrent::internal::ExceptionStore (0x7f8b78857ee0) 0
+
+Class QtConcurrent::ResultItem
+ size=16 align=8
+ base size=16 base align=8
+QtConcurrent::ResultItem (0x7f8b78857f50) 0
+
+Class QtConcurrent::ResultIteratorBase
+ size=16 align=8
+ base size=12 base align=8
+QtConcurrent::ResultIteratorBase (0x7f8b7886ee70) 0
+
+Vtable for QtConcurrent::ResultStoreBase
+QtConcurrent::ResultStoreBase::_ZTVN12QtConcurrent15ResultStoreBaseE: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN12QtConcurrent15ResultStoreBaseE)
+16 QtConcurrent::ResultStoreBase::~ResultStoreBase
+24 QtConcurrent::ResultStoreBase::~ResultStoreBase
+
+Class QtConcurrent::ResultStoreBase
+ size=48 align=8
+ base size=44 base align=8
+QtConcurrent::ResultStoreBase (0x7f8b78873a10) 0
+ vptr=((& QtConcurrent::ResultStoreBase::_ZTVN12QtConcurrent15ResultStoreBaseE) + 16u)
+
+Vtable for QFutureInterfaceBase
+QFutureInterfaceBase::_ZTV20QFutureInterfaceBase: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI20QFutureInterfaceBase)
+16 QFutureInterfaceBase::~QFutureInterfaceBase
+24 QFutureInterfaceBase::~QFutureInterfaceBase
+
+Class QFutureInterfaceBase
+ size=16 align=8
+ base size=16 base align=8
+QFutureInterfaceBase (0x7f8b788b2e70) 0
+ vptr=((& QFutureInterfaceBase::_ZTV20QFutureInterfaceBase) + 16u)
+
+Vtable for QThread
+QThread::_ZTV7QThread: 15u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QThread)
+16 QThread::metaObject
+24 QThread::qt_metacast
+32 QThread::qt_metacall
+40 QThread::~QThread
+48 QThread::~QThread
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QThread::run
+
+Class QThread
+ size=16 align=8
+ base size=16 base align=8
+QThread (0x7f8b78796e00) 0
+ vptr=((& QThread::_ZTV7QThread) + 16u)
+ QObject (0x7f8b78796e70) 0
+ primary-for QThread (0x7f8b78796e00)
+
+Vtable for QThreadPool
+QThreadPool::_ZTV11QThreadPool: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QThreadPool)
+16 QThreadPool::metaObject
+24 QThreadPool::qt_metacast
+32 QThreadPool::qt_metacall
+40 QThreadPool::~QThreadPool
+48 QThreadPool::~QThreadPool
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QThreadPool
+ size=16 align=8
+ base size=16 base align=8
+QThreadPool (0x7f8b787cacb0) 0
+ vptr=((& QThreadPool::_ZTV11QThreadPool) + 16u)
+ QObject (0x7f8b787cad20) 0
+ primary-for QThreadPool (0x7f8b787cacb0)
+
+Class QWaitCondition
+ size=8 align=8
+ base size=8 base align=8
+QWaitCondition (0x7f8b787e2540) 0
+
+Class QtConcurrent::ThreadEngineSemaphore
+ size=24 align=8
+ base size=24 base align=8
+QtConcurrent::ThreadEngineSemaphore (0x7f8b787e2a80) 0
+
+Vtable for QtConcurrent::ThreadEngineBase
+QtConcurrent::ThreadEngineBase::_ZTVN12QtConcurrent16ThreadEngineBaseE: 11u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN12QtConcurrent16ThreadEngineBaseE)
+16 QtConcurrent::ThreadEngineBase::run
+24 QtConcurrent::ThreadEngineBase::~ThreadEngineBase
+32 QtConcurrent::ThreadEngineBase::~ThreadEngineBase
+40 QtConcurrent::ThreadEngineBase::start
+48 QtConcurrent::ThreadEngineBase::finish
+56 QtConcurrent::ThreadEngineBase::threadFunction
+64 QtConcurrent::ThreadEngineBase::shouldStartThread
+72 QtConcurrent::ThreadEngineBase::shouldThrottleThread
+80 __cxa_pure_virtual
+
+Class QtConcurrent::ThreadEngineBase
+ size=64 align=8
+ base size=64 base align=8
+QtConcurrent::ThreadEngineBase (0x7f8b78803460) 0
+ vptr=((& QtConcurrent::ThreadEngineBase::_ZTVN12QtConcurrent16ThreadEngineBaseE) + 16u)
+ QRunnable (0x7f8b788034d0) 0
+ primary-for QtConcurrent::ThreadEngineBase (0x7f8b78803460)
+
+VTT for QtConcurrent::ThreadEngine<void>
+QtConcurrent::ThreadEngine<void>::_ZTTN12QtConcurrent12ThreadEngineIvEE: 2u entries
+0 ((& QtConcurrent::ThreadEngine<void>::_ZTVN12QtConcurrent12ThreadEngineIvEE) + 24u)
+8 ((& QtConcurrent::ThreadEngine<void>::_ZTVN12QtConcurrent12ThreadEngineIvEE) + 136u)
+
+Class std::input_iterator_tag
+ size=1 align=1
+ base size=0 base align=1
+std::input_iterator_tag (0x7f8b78643850) 0 empty
+
+Class std::output_iterator_tag
+ size=1 align=1
+ base size=0 base align=1
+std::output_iterator_tag (0x7f8b786438c0) 0 empty
+
+Class std::forward_iterator_tag
+ size=1 align=1
+ base size=1 base align=1
+std::forward_iterator_tag (0x7f8b78643930) 0 empty
+ std::input_iterator_tag (0x7f8b786439a0) 0 empty
+
+Class std::bidirectional_iterator_tag
+ size=1 align=1
+ base size=1 base align=1
+std::bidirectional_iterator_tag (0x7f8b78643a10) 0 empty
+ std::forward_iterator_tag (0x7f8b78643a80) 0 empty
+ std::input_iterator_tag (0x7f8b78643af0) 0 empty
+
+Class std::random_access_iterator_tag
+ size=1 align=1
+ base size=1 base align=1
+std::random_access_iterator_tag (0x7f8b78643b60) 0 empty
+ std::bidirectional_iterator_tag (0x7f8b78643bd0) 0 empty
+ std::forward_iterator_tag (0x7f8b78643c40) 0 empty
+ std::input_iterator_tag (0x7f8b78643cb0) 0 empty
+
+Class std::__true_type
+ size=1 align=1
+ base size=0 base align=1
+std::__true_type (0x7f8b786562a0) 0 empty
+
+Class std::__false_type
+ size=1 align=1
+ base size=0 base align=1
+std::__false_type (0x7f8b78656310) 0 empty
+
+Class lconv
+ size=96 align=8
+ base size=96 base align=8
+lconv (0x7f8b78431620) 0
+
+Class sched_param
+ size=4 align=4
+ base size=4 base align=4
+sched_param (0x7f8b78431a80) 0
+
+Class __sched_param
+ size=4 align=4
+ base size=4 base align=4
+__sched_param (0x7f8b78431af0) 0
+
+Class tm
+ size=56 align=8
+ base size=56 base align=8
+tm (0x7f8b78431bd0) 0
+
+Class itimerspec
+ size=32 align=8
+ base size=32 base align=8
+itimerspec (0x7f8b78431cb0) 0
+
+Class _pthread_cleanup_buffer
+ size=32 align=8
+ base size=32 base align=8
+_pthread_cleanup_buffer (0x7f8b78431d20) 0
+
+Class __pthread_cleanup_frame
+ size=24 align=8
+ base size=24 base align=8
+__pthread_cleanup_frame (0x7f8b78431e70) 0
+
+Class __pthread_cleanup_class
+ size=24 align=8
+ base size=24 base align=8
+__pthread_cleanup_class (0x7f8b78431ee0) 0
+
+Vtable for __cxxabiv1::__forced_unwind
+__cxxabiv1::__forced_unwind::_ZTVN10__cxxabiv115__forced_unwindE: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN10__cxxabiv115__forced_unwindE)
+16 __cxxabiv1::__forced_unwind::~__forced_unwind
+24 __cxxabiv1::__forced_unwind::~__forced_unwind
+32 __cxa_pure_virtual
+
+Class __cxxabiv1::__forced_unwind
+ size=8 align=8
+ base size=8 base align=8
+__cxxabiv1::__forced_unwind (0x7f8b78346a80) 0 nearly-empty
+ vptr=((& __cxxabiv1::__forced_unwind::_ZTVN10__cxxabiv115__forced_unwindE) + 16u)
+
+Class std::locale
+ size=8 align=8
+ base size=8 base align=8
+std::locale (0x7f8b781f85b0) 0
+
+Vtable for std::locale::facet
+std::locale::facet::_ZTVNSt6locale5facetE: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTINSt6locale5facetE)
+16 std::locale::facet::~facet
+24 std::locale::facet::~facet
+
+Class std::locale::facet
+ size=16 align=8
+ base size=12 base align=8
+std::locale::facet (0x7f8b7809bcb0) 0
+ vptr=((& std::locale::facet::_ZTVNSt6locale5facetE) + 16u)
+
+Class std::locale::id
+ size=8 align=8
+ base size=8 base align=8
+std::locale::id (0x7f8b780af2a0) 0
+
+Class std::locale::_Impl
+ size=40 align=8
+ base size=40 base align=8
+std::locale::_Impl (0x7f8b780af8c0) 0
+
+Vtable for std::ios_base::failure
+std::ios_base::failure::_ZTVNSt8ios_base7failureE: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTINSt8ios_base7failureE)
+16 std::ios_base::failure::~failure
+24 std::ios_base::failure::~failure
+32 std::ios_base::failure::what
+
+Class std::ios_base::failure
+ size=16 align=8
+ base size=16 base align=8
+std::ios_base::failure (0x7f8b77f3f070) 0
+ vptr=((& std::ios_base::failure::_ZTVNSt8ios_base7failureE) + 16u)
+ std::exception (0x7f8b77f3f0e0) 0 nearly-empty
+ primary-for std::ios_base::failure (0x7f8b77f3f070)
+
+Class std::ios_base::_Callback_list
+ size=24 align=8
+ base size=24 base align=8
+std::ios_base::_Callback_list (0x7f8b77f4b310) 0
+
+Class std::ios_base::_Words
+ size=16 align=8
+ base size=16 base align=8
+std::ios_base::_Words (0x7f8b77f4bd90) 0
+
+Class std::ios_base::Init
+ size=1 align=1
+ base size=0 base align=1
+std::ios_base::Init (0x7f8b77f524d0) 0 empty
+
+Vtable for std::ios_base
+std::ios_base::_ZTVSt8ios_base: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt8ios_base)
+16 std::ios_base::~ios_base
+24 std::ios_base::~ios_base
+
+Class std::ios_base
+ size=216 align=8
+ base size=216 base align=8
+std::ios_base (0x7f8b77f3f000) 0
+ vptr=((& std::ios_base::_ZTVSt8ios_base) + 16u)
+
+Class std::ctype_base
+ size=1 align=1
+ base size=0 base align=1
+std::ctype_base (0x7f8b77fcb930) 0 empty
+
+Class std::__num_base
+ size=1 align=1
+ base size=0 base align=1
+std::__num_base (0x7f8b77eef1c0) 0 empty
+
+VTT for std::basic_ostream<char, std::char_traits<char> >
+std::basic_ostream<char, std::char_traits<char> >::_ZTTSo: 2u entries
+0 ((& std::basic_ostream<char, std::char_traits<char> >::_ZTVSo) + 24u)
+8 ((& std::basic_ostream<char, std::char_traits<char> >::_ZTVSo) + 64u)
+
+VTT for std::basic_ostream<wchar_t, std::char_traits<wchar_t> >
+std::basic_ostream<wchar_t, std::char_traits<wchar_t> >::_ZTTSt13basic_ostreamIwSt11char_traitsIwEE: 2u entries
+0 ((& std::basic_ostream<wchar_t, std::char_traits<wchar_t> >::_ZTVSt13basic_ostreamIwSt11char_traitsIwEE) + 24u)
+8 ((& std::basic_ostream<wchar_t, std::char_traits<wchar_t> >::_ZTVSt13basic_ostreamIwSt11char_traitsIwEE) + 64u)
+
+VTT for std::basic_istream<char, std::char_traits<char> >
+std::basic_istream<char, std::char_traits<char> >::_ZTTSi: 2u entries
+0 ((& std::basic_istream<char, std::char_traits<char> >::_ZTVSi) + 24u)
+8 ((& std::basic_istream<char, std::char_traits<char> >::_ZTVSi) + 64u)
+
+VTT for std::basic_istream<wchar_t, std::char_traits<wchar_t> >
+std::basic_istream<wchar_t, std::char_traits<wchar_t> >::_ZTTSt13basic_istreamIwSt11char_traitsIwEE: 2u entries
+0 ((& std::basic_istream<wchar_t, std::char_traits<wchar_t> >::_ZTVSt13basic_istreamIwSt11char_traitsIwEE) + 24u)
+8 ((& std::basic_istream<wchar_t, std::char_traits<wchar_t> >::_ZTVSt13basic_istreamIwSt11char_traitsIwEE) + 64u)
+
+Construction vtable for std::basic_istream<char, std::char_traits<char> > (0x7f8b77a1b310 instance) in std::basic_iostream<char, std::char_traits<char> >
+std::basic_iostream<char, std::char_traits<char> >::_ZTCSd0_Si: 10u entries
+0 24u
+8 (int (*)(...))0
+16 (int (*)(...))(& _ZTISi)
+24 std::basic_istream<_CharT, _Traits>::~basic_istream [with _CharT = char, _Traits = std::char_traits<char>]
+32 std::basic_istream<_CharT, _Traits>::~basic_istream [with _CharT = char, _Traits = std::char_traits<char>]
+40 -24u
+48 (int (*)(...))-0x00000000000000018
+56 (int (*)(...))(& _ZTISi)
+64 std::basic_istream<char, std::char_traits<char> >::_ZTv0_n24_NSiD1Ev
+72 std::basic_istream<char, std::char_traits<char> >::_ZTv0_n24_NSiD0Ev
+
+Construction vtable for std::basic_ostream<char, std::char_traits<char> > (0x7f8b77a1b460 instance) in std::basic_iostream<char, std::char_traits<char> >
+std::basic_iostream<char, std::char_traits<char> >::_ZTCSd16_So: 10u entries
+0 8u
+8 (int (*)(...))0
+16 (int (*)(...))(& _ZTISo)
+24 std::basic_ostream<_CharT, _Traits>::~basic_ostream [with _CharT = char, _Traits = std::char_traits<char>]
+32 std::basic_ostream<_CharT, _Traits>::~basic_ostream [with _CharT = char, _Traits = std::char_traits<char>]
+40 -8u
+48 (int (*)(...))-0x00000000000000008
+56 (int (*)(...))(& _ZTISo)
+64 std::basic_ostream<char, std::char_traits<char> >::_ZTv0_n24_NSoD1Ev
+72 std::basic_ostream<char, std::char_traits<char> >::_ZTv0_n24_NSoD0Ev
+
+VTT for std::basic_iostream<char, std::char_traits<char> >
+std::basic_iostream<char, std::char_traits<char> >::_ZTTSd: 7u entries
+0 ((& std::basic_iostream<char, std::char_traits<char> >::_ZTVSd) + 24u)
+8 ((& std::basic_iostream<char, std::char_traits<char> >::_ZTCSd0_Si) + 24u)
+16 ((& std::basic_iostream<char, std::char_traits<char> >::_ZTCSd0_Si) + 64u)
+24 ((& std::basic_iostream<char, std::char_traits<char> >::_ZTCSd16_So) + 24u)
+32 ((& std::basic_iostream<char, std::char_traits<char> >::_ZTCSd16_So) + 64u)
+40 ((& std::basic_iostream<char, std::char_traits<char> >::_ZTVSd) + 104u)
+48 ((& std::basic_iostream<char, std::char_traits<char> >::_ZTVSd) + 64u)
+
+Construction vtable for std::basic_istream<wchar_t, std::char_traits<wchar_t> > (0x7f8b77a1b620 instance) in std::basic_iostream<wchar_t, std::char_traits<wchar_t> >
+std::basic_iostream<wchar_t, std::char_traits<wchar_t> >::_ZTCSt14basic_iostreamIwSt11char_traitsIwEE0_St13basic_istreamIwS1_E: 10u entries
+0 24u
+8 (int (*)(...))0
+16 (int (*)(...))(& _ZTISt13basic_istreamIwSt11char_traitsIwEE)
+24 std::basic_istream<_CharT, _Traits>::~basic_istream [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
+32 std::basic_istream<_CharT, _Traits>::~basic_istream [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
+40 -24u
+48 (int (*)(...))-0x00000000000000018
+56 (int (*)(...))(& _ZTISt13basic_istreamIwSt11char_traitsIwEE)
+64 std::basic_istream<wchar_t, std::char_traits<wchar_t> >::_ZTv0_n24_NSt13basic_istreamIwSt11char_traitsIwEED1Ev
+72 std::basic_istream<wchar_t, std::char_traits<wchar_t> >::_ZTv0_n24_NSt13basic_istreamIwSt11char_traitsIwEED0Ev
+
+Construction vtable for std::basic_ostream<wchar_t, std::char_traits<wchar_t> > (0x7f8b77a1b770 instance) in std::basic_iostream<wchar_t, std::char_traits<wchar_t> >
+std::basic_iostream<wchar_t, std::char_traits<wchar_t> >::_ZTCSt14basic_iostreamIwSt11char_traitsIwEE16_St13basic_ostreamIwS1_E: 10u entries
+0 8u
+8 (int (*)(...))0
+16 (int (*)(...))(& _ZTISt13basic_ostreamIwSt11char_traitsIwEE)
+24 std::basic_ostream<_CharT, _Traits>::~basic_ostream [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
+32 std::basic_ostream<_CharT, _Traits>::~basic_ostream [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
+40 -8u
+48 (int (*)(...))-0x00000000000000008
+56 (int (*)(...))(& _ZTISt13basic_ostreamIwSt11char_traitsIwEE)
+64 std::basic_ostream<wchar_t, std::char_traits<wchar_t> >::_ZTv0_n24_NSt13basic_ostreamIwSt11char_traitsIwEED1Ev
+72 std::basic_ostream<wchar_t, std::char_traits<wchar_t> >::_ZTv0_n24_NSt13basic_ostreamIwSt11char_traitsIwEED0Ev
+
+VTT for std::basic_iostream<wchar_t, std::char_traits<wchar_t> >
+std::basic_iostream<wchar_t, std::char_traits<wchar_t> >::_ZTTSt14basic_iostreamIwSt11char_traitsIwEE: 7u entries
+0 ((& std::basic_iostream<wchar_t, std::char_traits<wchar_t> >::_ZTVSt14basic_iostreamIwSt11char_traitsIwEE) + 24u)
+8 ((& std::basic_iostream<wchar_t, std::char_traits<wchar_t> >::_ZTCSt14basic_iostreamIwSt11char_traitsIwEE0_St13basic_istreamIwS1_E) + 24u)
+16 ((& std::basic_iostream<wchar_t, std::char_traits<wchar_t> >::_ZTCSt14basic_iostreamIwSt11char_traitsIwEE0_St13basic_istreamIwS1_E) + 64u)
+24 ((& std::basic_iostream<wchar_t, std::char_traits<wchar_t> >::_ZTCSt14basic_iostreamIwSt11char_traitsIwEE16_St13basic_ostreamIwS1_E) + 24u)
+32 ((& std::basic_iostream<wchar_t, std::char_traits<wchar_t> >::_ZTCSt14basic_iostreamIwSt11char_traitsIwEE16_St13basic_ostreamIwS1_E) + 64u)
+40 ((& std::basic_iostream<wchar_t, std::char_traits<wchar_t> >::_ZTVSt14basic_iostreamIwSt11char_traitsIwEE) + 104u)
+48 ((& std::basic_iostream<wchar_t, std::char_traits<wchar_t> >::_ZTVSt14basic_iostreamIwSt11char_traitsIwEE) + 64u)
+
+Class QtConcurrent::BlockSizeManager
+ size=96 align=8
+ base size=92 base align=8
+QtConcurrent::BlockSizeManager (0x7f8b77a86230) 0
+
+Vtable for QFutureWatcherBase
+QFutureWatcherBase::_ZTV18QFutureWatcherBase: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QFutureWatcherBase)
+16 QFutureWatcherBase::metaObject
+24 QFutureWatcherBase::qt_metacast
+32 QFutureWatcherBase::qt_metacall
+40 QFutureWatcherBase::~QFutureWatcherBase
+48 QFutureWatcherBase::~QFutureWatcherBase
+56 QFutureWatcherBase::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QFutureWatcherBase::connectNotify
+104 QFutureWatcherBase::disconnectNotify
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+
+Class QFutureWatcherBase
+ size=16 align=8
+ base size=16 base align=8
+QFutureWatcherBase (0x7f8b7764fbd0) 0
+ vptr=((& QFutureWatcherBase::_ZTV18QFutureWatcherBase) + 16u)
+ QObject (0x7f8b7764fc40) 0
+ primary-for QFutureWatcherBase (0x7f8b7764fbd0)
+
+Vtable for QFactoryInterface
+QFactoryInterface::_ZTV17QFactoryInterface: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QFactoryInterface)
+16 QFactoryInterface::~QFactoryInterface
+24 QFactoryInterface::~QFactoryInterface
+32 __cxa_pure_virtual
+
+Class QFactoryInterface
+ size=8 align=8
+ base size=8 base align=8
+QFactoryInterface (0x7f8b77568e00) 0 nearly-empty
+ vptr=((& QFactoryInterface::_ZTV17QFactoryInterface) + 16u)
+
+Vtable for QTextCodecFactoryInterface
+QTextCodecFactoryInterface::_ZTV26QTextCodecFactoryInterface: 6u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI26QTextCodecFactoryInterface)
+16 QTextCodecFactoryInterface::~QTextCodecFactoryInterface
+24 QTextCodecFactoryInterface::~QTextCodecFactoryInterface
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+
+Class QTextCodecFactoryInterface
+ size=8 align=8
+ base size=8 base align=8
+QTextCodecFactoryInterface (0x7f8b7758bee0) 0 nearly-empty
+ vptr=((& QTextCodecFactoryInterface::_ZTV26QTextCodecFactoryInterface) + 16u)
+ QFactoryInterface (0x7f8b7758bf50) 0 nearly-empty
+ primary-for QTextCodecFactoryInterface (0x7f8b7758bee0)
+
+Vtable for QTextCodecPlugin
+QTextCodecPlugin::_ZTV16QTextCodecPlugin: 27u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QTextCodecPlugin)
+16 QTextCodecPlugin::metaObject
+24 QTextCodecPlugin::qt_metacast
+32 QTextCodecPlugin::qt_metacall
+40 QTextCodecPlugin::~QTextCodecPlugin
+48 QTextCodecPlugin::~QTextCodecPlugin
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 __cxa_pure_virtual
+136 __cxa_pure_virtual
+144 __cxa_pure_virtual
+152 QTextCodecPlugin::keys
+160 QTextCodecPlugin::create
+168 (int (*)(...))-0x00000000000000010
+176 (int (*)(...))(& _ZTI16QTextCodecPlugin)
+184 QTextCodecPlugin::_ZThn16_N16QTextCodecPluginD1Ev
+192 QTextCodecPlugin::_ZThn16_N16QTextCodecPluginD0Ev
+200 QTextCodecPlugin::_ZThn16_NK16QTextCodecPlugin4keysEv
+208 QTextCodecPlugin::_ZThn16_N16QTextCodecPlugin6createERK7QString
+
+Class QTextCodecPlugin
+ size=24 align=8
+ base size=24 base align=8
+QTextCodecPlugin (0x7f8b7758ee00) 0
+ vptr=((& QTextCodecPlugin::_ZTV16QTextCodecPlugin) + 16u)
+ QObject (0x7f8b775977e0) 0
+ primary-for QTextCodecPlugin (0x7f8b7758ee00)
+ QTextCodecFactoryInterface (0x7f8b77597850) 16 nearly-empty
+ vptr=((& QTextCodecPlugin::_ZTV16QTextCodecPlugin) + 184u)
+ QFactoryInterface (0x7f8b775978c0) 16 nearly-empty
+ primary-for QTextCodecFactoryInterface (0x7f8b77597850)
+
+Class QLibraryInfo
+ size=1 align=1
+ base size=0 base align=1
+QLibraryInfo (0x7f8b775ac700) 0 empty
+
+Vtable for QTranslator
+QTranslator::_ZTV11QTranslator: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QTranslator)
+16 QTranslator::metaObject
+24 QTranslator::qt_metacast
+32 QTranslator::qt_metacall
+40 QTranslator::~QTranslator
+48 QTranslator::~QTranslator
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QTranslator::translate
+120 QTranslator::isEmpty
+
+Class QTranslator
+ size=16 align=8
+ base size=16 base align=8
+QTranslator (0x7f8b775f1000) 0
+ vptr=((& QTranslator::_ZTV11QTranslator) + 16u)
+ QObject (0x7f8b775f1070) 0
+ primary-for QTranslator (0x7f8b775f1000)
+
+Class __exception
+ size=40 align=8
+ base size=40 base align=8
+__exception (0x7f8b77602f50) 0
+
+Vtable for QMimeData
+QMimeData::_ZTV9QMimeData: 17u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QMimeData)
+16 QMimeData::metaObject
+24 QMimeData::qt_metacast
+32 QMimeData::qt_metacall
+40 QMimeData::~QMimeData
+48 QMimeData::~QMimeData
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QMimeData::hasFormat
+120 QMimeData::formats
+128 QMimeData::retrieveData
+
+Class QMimeData
+ size=16 align=8
+ base size=16 base align=8
+QMimeData (0x7f8b77470150) 0
+ vptr=((& QMimeData::_ZTV9QMimeData) + 16u)
+ QObject (0x7f8b774701c0) 0
+ primary-for QMimeData (0x7f8b77470150)
+
+Vtable for QEventLoop
+QEventLoop::_ZTV10QEventLoop: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QEventLoop)
+16 QEventLoop::metaObject
+24 QEventLoop::qt_metacast
+32 QEventLoop::qt_metacall
+40 QEventLoop::~QEventLoop
+48 QEventLoop::~QEventLoop
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QEventLoop
+ size=16 align=8
+ base size=16 base align=8
+QEventLoop (0x7f8b774869a0) 0
+ vptr=((& QEventLoop::_ZTV10QEventLoop) + 16u)
+ QObject (0x7f8b77486a10) 0
+ primary-for QEventLoop (0x7f8b774869a0)
+
+Vtable for QEvent
+QEvent::_ZTV6QEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI6QEvent)
+16 QEvent::~QEvent
+24 QEvent::~QEvent
+
+Class QEvent
+ size=24 align=8
+ base size=20 base align=8
+QEvent (0x7f8b774c7310) 0
+ vptr=((& QEvent::_ZTV6QEvent) + 16u)
+
+Vtable for QTimerEvent
+QTimerEvent::_ZTV11QTimerEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QTimerEvent)
+16 QTimerEvent::~QTimerEvent
+24 QTimerEvent::~QTimerEvent
+
+Class QTimerEvent
+ size=24 align=8
+ base size=24 base align=8
+QTimerEvent (0x7f8b774e0ee0) 0
+ vptr=((& QTimerEvent::_ZTV11QTimerEvent) + 16u)
+ QEvent (0x7f8b774e0f50) 0
+ primary-for QTimerEvent (0x7f8b774e0ee0)
+
+Vtable for QChildEvent
+QChildEvent::_ZTV11QChildEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QChildEvent)
+16 QChildEvent::~QChildEvent
+24 QChildEvent::~QChildEvent
+
+Class QChildEvent
+ size=32 align=8
+ base size=32 base align=8
+QChildEvent (0x7f8b774e3380) 0
+ vptr=((& QChildEvent::_ZTV11QChildEvent) + 16u)
+ QEvent (0x7f8b774e33f0) 0
+ primary-for QChildEvent (0x7f8b774e3380)
+
+Vtable for QCustomEvent
+QCustomEvent::_ZTV12QCustomEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QCustomEvent)
+16 QCustomEvent::~QCustomEvent
+24 QCustomEvent::~QCustomEvent
+
+Class QCustomEvent
+ size=24 align=8
+ base size=20 base align=8
+QCustomEvent (0x7f8b774f4620) 0
+ vptr=((& QCustomEvent::_ZTV12QCustomEvent) + 16u)
+ QEvent (0x7f8b774f4690) 0
+ primary-for QCustomEvent (0x7f8b774f4620)
+
+Vtable for QDynamicPropertyChangeEvent
+QDynamicPropertyChangeEvent::_ZTV27QDynamicPropertyChangeEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI27QDynamicPropertyChangeEvent)
+16 QDynamicPropertyChangeEvent::~QDynamicPropertyChangeEvent
+24 QDynamicPropertyChangeEvent::~QDynamicPropertyChangeEvent
+
+Class QDynamicPropertyChangeEvent
+ size=32 align=8
+ base size=32 base align=8
+QDynamicPropertyChangeEvent (0x7f8b774f4e00) 0
+ vptr=((& QDynamicPropertyChangeEvent::_ZTV27QDynamicPropertyChangeEvent) + 16u)
+ QEvent (0x7f8b774f4e70) 0
+ primary-for QDynamicPropertyChangeEvent (0x7f8b774f4e00)
+
+Vtable for QCoreApplication
+QCoreApplication::_ZTV16QCoreApplication: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QCoreApplication)
+16 QCoreApplication::metaObject
+24 QCoreApplication::qt_metacast
+32 QCoreApplication::qt_metacall
+40 QCoreApplication::~QCoreApplication
+48 QCoreApplication::~QCoreApplication
+56 QCoreApplication::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QCoreApplication::notify
+120 QCoreApplication::compressEvent
+
+Class QCoreApplication
+ size=16 align=8
+ base size=16 base align=8
+QCoreApplication (0x7f8b77505230) 0
+ vptr=((& QCoreApplication::_ZTV16QCoreApplication) + 16u)
+ QObject (0x7f8b775052a0) 0
+ primary-for QCoreApplication (0x7f8b77505230)
+
+Vtable for QSharedMemory
+QSharedMemory::_ZTV13QSharedMemory: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QSharedMemory)
+16 QSharedMemory::metaObject
+24 QSharedMemory::qt_metacast
+32 QSharedMemory::qt_metacall
+40 QSharedMemory::~QSharedMemory
+48 QSharedMemory::~QSharedMemory
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QSharedMemory
+ size=16 align=8
+ base size=16 base align=8
+QSharedMemory (0x7f8b77330a80) 0
+ vptr=((& QSharedMemory::_ZTV13QSharedMemory) + 16u)
+ QObject (0x7f8b77330af0) 0
+ primary-for QSharedMemory (0x7f8b77330a80)
+
+Class QModelIndex
+ size=24 align=8
+ base size=24 base align=8
+QModelIndex (0x7f8b77350850) 0
+
+Class QPersistentModelIndex
+ size=8 align=8
+ base size=8 base align=8
+QPersistentModelIndex (0x7f8b77379310) 0
+
+Vtable for QAbstractItemModel
+QAbstractItemModel::_ZTV18QAbstractItemModel: 42u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QAbstractItemModel)
+16 QAbstractItemModel::metaObject
+24 QAbstractItemModel::qt_metacast
+32 QAbstractItemModel::qt_metacall
+40 QAbstractItemModel::~QAbstractItemModel
+48 QAbstractItemModel::~QAbstractItemModel
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 __cxa_pure_virtual
+136 __cxa_pure_virtual
+144 QAbstractItemModel::hasChildren
+152 __cxa_pure_virtual
+160 QAbstractItemModel::setData
+168 QAbstractItemModel::headerData
+176 QAbstractItemModel::setHeaderData
+184 QAbstractItemModel::itemData
+192 QAbstractItemModel::setItemData
+200 QAbstractItemModel::mimeTypes
+208 QAbstractItemModel::mimeData
+216 QAbstractItemModel::dropMimeData
+224 QAbstractItemModel::supportedDropActions
+232 QAbstractItemModel::insertRows
+240 QAbstractItemModel::insertColumns
+248 QAbstractItemModel::removeRows
+256 QAbstractItemModel::removeColumns
+264 QAbstractItemModel::fetchMore
+272 QAbstractItemModel::canFetchMore
+280 QAbstractItemModel::flags
+288 QAbstractItemModel::sort
+296 QAbstractItemModel::buddy
+304 QAbstractItemModel::match
+312 QAbstractItemModel::span
+320 QAbstractItemModel::submit
+328 QAbstractItemModel::revert
+
+Class QAbstractItemModel
+ size=16 align=8
+ base size=16 base align=8
+QAbstractItemModel (0x7f8b773865b0) 0
+ vptr=((& QAbstractItemModel::_ZTV18QAbstractItemModel) + 16u)
+ QObject (0x7f8b77386620) 0
+ primary-for QAbstractItemModel (0x7f8b773865b0)
+
+Vtable for QAbstractTableModel
+QAbstractTableModel::_ZTV19QAbstractTableModel: 42u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QAbstractTableModel)
+16 QAbstractTableModel::metaObject
+24 QAbstractTableModel::qt_metacast
+32 QAbstractTableModel::qt_metacall
+40 QAbstractTableModel::~QAbstractTableModel
+48 QAbstractTableModel::~QAbstractTableModel
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QAbstractTableModel::index
+120 QAbstractTableModel::parent
+128 __cxa_pure_virtual
+136 __cxa_pure_virtual
+144 QAbstractTableModel::hasChildren
+152 __cxa_pure_virtual
+160 QAbstractItemModel::setData
+168 QAbstractItemModel::headerData
+176 QAbstractItemModel::setHeaderData
+184 QAbstractItemModel::itemData
+192 QAbstractItemModel::setItemData
+200 QAbstractItemModel::mimeTypes
+208 QAbstractItemModel::mimeData
+216 QAbstractTableModel::dropMimeData
+224 QAbstractItemModel::supportedDropActions
+232 QAbstractItemModel::insertRows
+240 QAbstractItemModel::insertColumns
+248 QAbstractItemModel::removeRows
+256 QAbstractItemModel::removeColumns
+264 QAbstractItemModel::fetchMore
+272 QAbstractItemModel::canFetchMore
+280 QAbstractItemModel::flags
+288 QAbstractItemModel::sort
+296 QAbstractItemModel::buddy
+304 QAbstractItemModel::match
+312 QAbstractItemModel::span
+320 QAbstractItemModel::submit
+328 QAbstractItemModel::revert
+
+Class QAbstractTableModel
+ size=16 align=8
+ base size=16 base align=8
+QAbstractTableModel (0x7f8b773d8930) 0
+ vptr=((& QAbstractTableModel::_ZTV19QAbstractTableModel) + 16u)
+ QAbstractItemModel (0x7f8b773d89a0) 0
+ primary-for QAbstractTableModel (0x7f8b773d8930)
+ QObject (0x7f8b773d8a10) 0
+ primary-for QAbstractItemModel (0x7f8b773d89a0)
+
+Vtable for QAbstractListModel
+QAbstractListModel::_ZTV18QAbstractListModel: 42u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QAbstractListModel)
+16 QAbstractListModel::metaObject
+24 QAbstractListModel::qt_metacast
+32 QAbstractListModel::qt_metacall
+40 QAbstractListModel::~QAbstractListModel
+48 QAbstractListModel::~QAbstractListModel
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QAbstractListModel::index
+120 QAbstractListModel::parent
+128 __cxa_pure_virtual
+136 QAbstractListModel::columnCount
+144 QAbstractListModel::hasChildren
+152 __cxa_pure_virtual
+160 QAbstractItemModel::setData
+168 QAbstractItemModel::headerData
+176 QAbstractItemModel::setHeaderData
+184 QAbstractItemModel::itemData
+192 QAbstractItemModel::setItemData
+200 QAbstractItemModel::mimeTypes
+208 QAbstractItemModel::mimeData
+216 QAbstractListModel::dropMimeData
+224 QAbstractItemModel::supportedDropActions
+232 QAbstractItemModel::insertRows
+240 QAbstractItemModel::insertColumns
+248 QAbstractItemModel::removeRows
+256 QAbstractItemModel::removeColumns
+264 QAbstractItemModel::fetchMore
+272 QAbstractItemModel::canFetchMore
+280 QAbstractItemModel::flags
+288 QAbstractItemModel::sort
+296 QAbstractItemModel::buddy
+304 QAbstractItemModel::match
+312 QAbstractItemModel::span
+320 QAbstractItemModel::submit
+328 QAbstractItemModel::revert
+
+Class QAbstractListModel
+ size=16 align=8
+ base size=16 base align=8
+QAbstractListModel (0x7f8b773e4ee0) 0
+ vptr=((& QAbstractListModel::_ZTV18QAbstractListModel) + 16u)
+ QAbstractItemModel (0x7f8b773e4f50) 0
+ primary-for QAbstractListModel (0x7f8b773e4ee0)
+ QObject (0x7f8b773e4230) 0
+ primary-for QAbstractItemModel (0x7f8b773e4f50)
+
+Vtable for QSignalMapper
+QSignalMapper::_ZTV13QSignalMapper: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QSignalMapper)
+16 QSignalMapper::metaObject
+24 QSignalMapper::qt_metacast
+32 QSignalMapper::qt_metacall
+40 QSignalMapper::~QSignalMapper
+48 QSignalMapper::~QSignalMapper
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QSignalMapper
+ size=16 align=8
+ base size=16 base align=8
+QSignalMapper (0x7f8b77225000) 0
+ vptr=((& QSignalMapper::_ZTV13QSignalMapper) + 16u)
+ QObject (0x7f8b77225070) 0
+ primary-for QSignalMapper (0x7f8b77225000)
+
+Vtable for QObjectCleanupHandler
+QObjectCleanupHandler::_ZTV21QObjectCleanupHandler: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI21QObjectCleanupHandler)
+16 QObjectCleanupHandler::metaObject
+24 QObjectCleanupHandler::qt_metacast
+32 QObjectCleanupHandler::qt_metacall
+40 QObjectCleanupHandler::~QObjectCleanupHandler
+48 QObjectCleanupHandler::~QObjectCleanupHandler
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QObjectCleanupHandler
+ size=24 align=8
+ base size=24 base align=8
+QObjectCleanupHandler (0x7f8b7723e3f0) 0
+ vptr=((& QObjectCleanupHandler::_ZTV21QObjectCleanupHandler) + 16u)
+ QObject (0x7f8b7723e460) 0
+ primary-for QObjectCleanupHandler (0x7f8b7723e3f0)
+
+Class QBasicTimer
+ size=4 align=4
+ base size=4 base align=4
+QBasicTimer (0x7f8b7724d540) 0
+
+Vtable for QSocketNotifier
+QSocketNotifier::_ZTV15QSocketNotifier: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QSocketNotifier)
+16 QSocketNotifier::metaObject
+24 QSocketNotifier::qt_metacast
+32 QSocketNotifier::qt_metacall
+40 QSocketNotifier::~QSocketNotifier
+48 QSocketNotifier::~QSocketNotifier
+56 QSocketNotifier::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QSocketNotifier
+ size=32 align=8
+ base size=25 base align=8
+QSocketNotifier (0x7f8b77259930) 0
+ vptr=((& QSocketNotifier::_ZTV15QSocketNotifier) + 16u)
+ QObject (0x7f8b772599a0) 0
+ primary-for QSocketNotifier (0x7f8b77259930)
+
+Vtable for QTimer
+QTimer::_ZTV6QTimer: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI6QTimer)
+16 QTimer::metaObject
+24 QTimer::qt_metacast
+32 QTimer::qt_metacall
+40 QTimer::~QTimer
+48 QTimer::~QTimer
+56 QObject::event
+64 QObject::eventFilter
+72 QTimer::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QTimer
+ size=32 align=8
+ base size=29 base align=8
+QTimer (0x7f8b77276cb0) 0
+ vptr=((& QTimer::_ZTV6QTimer) + 16u)
+ QObject (0x7f8b77276d20) 0
+ primary-for QTimer (0x7f8b77276cb0)
+
+Vtable for QAbstractEventDispatcher
+QAbstractEventDispatcher::_ZTV24QAbstractEventDispatcher: 27u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI24QAbstractEventDispatcher)
+16 QAbstractEventDispatcher::metaObject
+24 QAbstractEventDispatcher::qt_metacast
+32 QAbstractEventDispatcher::qt_metacall
+40 QAbstractEventDispatcher::~QAbstractEventDispatcher
+48 QAbstractEventDispatcher::~QAbstractEventDispatcher
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 __cxa_pure_virtual
+136 __cxa_pure_virtual
+144 __cxa_pure_virtual
+152 __cxa_pure_virtual
+160 __cxa_pure_virtual
+168 __cxa_pure_virtual
+176 __cxa_pure_virtual
+184 __cxa_pure_virtual
+192 __cxa_pure_virtual
+200 QAbstractEventDispatcher::startingUp
+208 QAbstractEventDispatcher::closingDown
+
+Class QAbstractEventDispatcher
+ size=16 align=8
+ base size=16 base align=8
+QAbstractEventDispatcher (0x7f8b772992a0) 0
+ vptr=((& QAbstractEventDispatcher::_ZTV24QAbstractEventDispatcher) + 16u)
+ QObject (0x7f8b77299310) 0
+ primary-for QAbstractEventDispatcher (0x7f8b772992a0)
+
+Class QMetaMethod
+ size=16 align=8
+ base size=12 base align=8
+QMetaMethod (0x7f8b772b3150) 0
+
+Class QMetaEnum
+ size=16 align=8
+ base size=12 base align=8
+QMetaEnum (0x7f8b772cf5b0) 0
+
+Class QMetaProperty
+ size=32 align=8
+ base size=32 base align=8
+QMetaProperty (0x7f8b772db310) 0
+
+Class QMetaClassInfo
+ size=16 align=8
+ base size=12 base align=8
+QMetaClassInfo (0x7f8b772db9a0) 0
+
+Class QSystemSemaphore
+ size=8 align=8
+ base size=8 base align=8
+QSystemSemaphore (0x7f8b772ed4d0) 0
+
+Vtable for QLibrary
+QLibrary::_ZTV8QLibrary: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI8QLibrary)
+16 QLibrary::metaObject
+24 QLibrary::qt_metacast
+32 QLibrary::qt_metacall
+40 QLibrary::~QLibrary
+48 QLibrary::~QLibrary
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QLibrary
+ size=32 align=8
+ base size=25 base align=8
+QLibrary (0x7f8b772ede00) 0
+ vptr=((& QLibrary::_ZTV8QLibrary) + 16u)
+ QObject (0x7f8b772ede70) 0
+ primary-for QLibrary (0x7f8b772ede00)
+
+Vtable for QPluginLoader
+QPluginLoader::_ZTV13QPluginLoader: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QPluginLoader)
+16 QPluginLoader::metaObject
+24 QPluginLoader::qt_metacast
+32 QPluginLoader::qt_metacall
+40 QPluginLoader::~QPluginLoader
+48 QPluginLoader::~QPluginLoader
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QPluginLoader
+ size=32 align=8
+ base size=25 base align=8
+QPluginLoader (0x7f8b771338c0) 0
+ vptr=((& QPluginLoader::_ZTV13QPluginLoader) + 16u)
+ QObject (0x7f8b77133930) 0
+ primary-for QPluginLoader (0x7f8b771338c0)
+
+Class QUuid
+ size=16 align=4
+ base size=16 base align=4
+QUuid (0x7f8b77157070) 0
+
+Class QSemaphore
+ size=8 align=8
+ base size=8 base align=8
+QSemaphore (0x7f8b771769a0) 0
+
+Class QThreadStorageData
+ size=4 align=4
+ base size=4 base align=4
+QThreadStorageData (0x7f8b77176ee0) 0
+
+Class QReadWriteLock
+ size=8 align=8
+ base size=8 base align=8
+QReadWriteLock (0x7f8b77188690) 0
+
+Class QReadLocker
+ size=8 align=8
+ base size=8 base align=8
+QReadLocker (0x7f8b77188d20) 0
+
+Class QWriteLocker
+ size=8 align=8
+ base size=8 base align=8
+QWriteLocker (0x7f8b771b70e0) 0
+
+Class QSslCertificate
+ size=8 align=8
+ base size=8 base align=8
+QSslCertificate (0x7f8b771c9460) 0
+
+Class QSslError
+ size=8 align=8
+ base size=8 base align=8
+QSslError (0x7f8b771ddee0) 0
+
+Class QSslCipher
+ size=8 align=8
+ base size=8 base align=8
+QSslCipher (0x7f8b771e9cb0) 0
+
+Vtable for QAbstractSocket
+QAbstractSocket::_ZTV15QAbstractSocket: 30u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QAbstractSocket)
+16 QAbstractSocket::metaObject
+24 QAbstractSocket::qt_metacast
+32 QAbstractSocket::qt_metacall
+40 QAbstractSocket::~QAbstractSocket
+48 QAbstractSocket::~QAbstractSocket
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QAbstractSocket::isSequential
+120 QIODevice::open
+128 QAbstractSocket::close
+136 QIODevice::pos
+144 QIODevice::size
+152 QIODevice::seek
+160 QAbstractSocket::atEnd
+168 QIODevice::reset
+176 QAbstractSocket::bytesAvailable
+184 QAbstractSocket::bytesToWrite
+192 QAbstractSocket::canReadLine
+200 QAbstractSocket::waitForReadyRead
+208 QAbstractSocket::waitForBytesWritten
+216 QAbstractSocket::readData
+224 QAbstractSocket::readLineData
+232 QAbstractSocket::writeData
+
+Class QAbstractSocket
+ size=16 align=8
+ base size=16 base align=8
+QAbstractSocket (0x7f8b771f5620) 0
+ vptr=((& QAbstractSocket::_ZTV15QAbstractSocket) + 16u)
+ QIODevice (0x7f8b771f5690) 0
+ primary-for QAbstractSocket (0x7f8b771f5620)
+ QObject (0x7f8b771f5700) 0
+ primary-for QIODevice (0x7f8b771f5690)
+
+Vtable for QTcpSocket
+QTcpSocket::_ZTV10QTcpSocket: 30u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QTcpSocket)
+16 QTcpSocket::metaObject
+24 QTcpSocket::qt_metacast
+32 QTcpSocket::qt_metacall
+40 QTcpSocket::~QTcpSocket
+48 QTcpSocket::~QTcpSocket
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QAbstractSocket::isSequential
+120 QIODevice::open
+128 QAbstractSocket::close
+136 QIODevice::pos
+144 QIODevice::size
+152 QIODevice::seek
+160 QAbstractSocket::atEnd
+168 QIODevice::reset
+176 QAbstractSocket::bytesAvailable
+184 QAbstractSocket::bytesToWrite
+192 QAbstractSocket::canReadLine
+200 QAbstractSocket::waitForReadyRead
+208 QAbstractSocket::waitForBytesWritten
+216 QAbstractSocket::readData
+224 QAbstractSocket::readLineData
+232 QAbstractSocket::writeData
+
+Class QTcpSocket
+ size=16 align=8
+ base size=16 base align=8
+QTcpSocket (0x7f8b7702fcb0) 0
+ vptr=((& QTcpSocket::_ZTV10QTcpSocket) + 16u)
+ QAbstractSocket (0x7f8b7702fd20) 0
+ primary-for QTcpSocket (0x7f8b7702fcb0)
+ QIODevice (0x7f8b7702fd90) 0
+ primary-for QAbstractSocket (0x7f8b7702fd20)
+ QObject (0x7f8b7702fe00) 0
+ primary-for QIODevice (0x7f8b7702fd90)
+
+Vtable for QSslSocket
+QSslSocket::_ZTV10QSslSocket: 30u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QSslSocket)
+16 QSslSocket::metaObject
+24 QSslSocket::qt_metacast
+32 QSslSocket::qt_metacall
+40 QSslSocket::~QSslSocket
+48 QSslSocket::~QSslSocket
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QAbstractSocket::isSequential
+120 QIODevice::open
+128 QSslSocket::close
+136 QIODevice::pos
+144 QIODevice::size
+152 QIODevice::seek
+160 QSslSocket::atEnd
+168 QIODevice::reset
+176 QSslSocket::bytesAvailable
+184 QSslSocket::bytesToWrite
+192 QSslSocket::canReadLine
+200 QSslSocket::waitForReadyRead
+208 QSslSocket::waitForBytesWritten
+216 QSslSocket::readData
+224 QAbstractSocket::readLineData
+232 QSslSocket::writeData
+
+Class QSslSocket
+ size=16 align=8
+ base size=16 base align=8
+QSslSocket (0x7f8b7704b770) 0
+ vptr=((& QSslSocket::_ZTV10QSslSocket) + 16u)
+ QTcpSocket (0x7f8b7704b7e0) 0
+ primary-for QSslSocket (0x7f8b7704b770)
+ QAbstractSocket (0x7f8b7704b850) 0
+ primary-for QTcpSocket (0x7f8b7704b7e0)
+ QIODevice (0x7f8b7704b8c0) 0
+ primary-for QAbstractSocket (0x7f8b7704b850)
+ QObject (0x7f8b7704b930) 0
+ primary-for QIODevice (0x7f8b7704b8c0)
+
+Class QSslConfiguration
+ size=8 align=8
+ base size=8 base align=8
+QSslConfiguration (0x7f8b770804d0) 0
+
+Class QSslKey
+ size=8 align=8
+ base size=8 base align=8
+QSslKey (0x7f8b770902a0) 0
+
+Vtable for QHttpHeader
+QHttpHeader::_ZTV11QHttpHeader: 8u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QHttpHeader)
+16 QHttpHeader::~QHttpHeader
+24 QHttpHeader::~QHttpHeader
+32 QHttpHeader::toString
+40 __cxa_pure_virtual
+48 __cxa_pure_virtual
+56 QHttpHeader::parseLine
+
+Class QHttpHeader
+ size=16 align=8
+ base size=16 base align=8
+QHttpHeader (0x7f8b77090e00) 0
+ vptr=((& QHttpHeader::_ZTV11QHttpHeader) + 16u)
+
+Vtable for QHttpResponseHeader
+QHttpResponseHeader::_ZTV19QHttpResponseHeader: 8u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QHttpResponseHeader)
+16 QHttpResponseHeader::~QHttpResponseHeader
+24 QHttpResponseHeader::~QHttpResponseHeader
+32 QHttpResponseHeader::toString
+40 QHttpResponseHeader::majorVersion
+48 QHttpResponseHeader::minorVersion
+56 QHttpResponseHeader::parseLine
+
+Class QHttpResponseHeader
+ size=16 align=8
+ base size=16 base align=8
+QHttpResponseHeader (0x7f8b770aca80) 0
+ vptr=((& QHttpResponseHeader::_ZTV19QHttpResponseHeader) + 16u)
+ QHttpHeader (0x7f8b770acaf0) 0
+ primary-for QHttpResponseHeader (0x7f8b770aca80)
+
+Vtable for QHttpRequestHeader
+QHttpRequestHeader::_ZTV18QHttpRequestHeader: 8u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QHttpRequestHeader)
+16 QHttpRequestHeader::~QHttpRequestHeader
+24 QHttpRequestHeader::~QHttpRequestHeader
+32 QHttpRequestHeader::toString
+40 QHttpRequestHeader::majorVersion
+48 QHttpRequestHeader::minorVersion
+56 QHttpRequestHeader::parseLine
+
+Class QHttpRequestHeader
+ size=16 align=8
+ base size=16 base align=8
+QHttpRequestHeader (0x7f8b770bd770) 0
+ vptr=((& QHttpRequestHeader::_ZTV18QHttpRequestHeader) + 16u)
+ QHttpHeader (0x7f8b770bd7e0) 0
+ primary-for QHttpRequestHeader (0x7f8b770bd770)
+
+Vtable for QHttp
+QHttp::_ZTV5QHttp: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI5QHttp)
+16 QHttp::metaObject
+24 QHttp::qt_metacast
+32 QHttp::qt_metacall
+40 QHttp::~QHttp
+48 QHttp::~QHttp
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QHttp
+ size=16 align=8
+ base size=16 base align=8
+QHttp (0x7f8b770d0310) 0
+ vptr=((& QHttp::_ZTV5QHttp) + 16u)
+ QObject (0x7f8b770d0380) 0
+ primary-for QHttp (0x7f8b770d0310)
+
+Class QNetworkRequest
+ size=8 align=8
+ base size=8 base align=8
+QNetworkRequest (0x7f8b770fe540) 0
+
+Vtable for QNetworkAccessManager
+QNetworkAccessManager::_ZTV21QNetworkAccessManager: 15u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI21QNetworkAccessManager)
+16 QNetworkAccessManager::metaObject
+24 QNetworkAccessManager::qt_metacast
+32 QNetworkAccessManager::qt_metacall
+40 QNetworkAccessManager::~QNetworkAccessManager
+48 QNetworkAccessManager::~QNetworkAccessManager
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QNetworkAccessManager::createRequest
+
+Class QNetworkAccessManager
+ size=16 align=8
+ base size=16 base align=8
+QNetworkAccessManager (0x7f8b76f16460) 0
+ vptr=((& QNetworkAccessManager::_ZTV21QNetworkAccessManager) + 16u)
+ QObject (0x7f8b76f164d0) 0
+ primary-for QNetworkAccessManager (0x7f8b76f16460)
+
+Class QNetworkCookie
+ size=8 align=8
+ base size=8 base align=8
+QNetworkCookie (0x7f8b76f369a0) 0
+
+Vtable for QNetworkCookieJar
+QNetworkCookieJar::_ZTV17QNetworkCookieJar: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QNetworkCookieJar)
+16 QNetworkCookieJar::metaObject
+24 QNetworkCookieJar::qt_metacast
+32 QNetworkCookieJar::qt_metacall
+40 QNetworkCookieJar::~QNetworkCookieJar
+48 QNetworkCookieJar::~QNetworkCookieJar
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QNetworkCookieJar::cookiesForUrl
+120 QNetworkCookieJar::setCookiesFromUrl
+
+Class QNetworkCookieJar
+ size=16 align=8
+ base size=16 base align=8
+QNetworkCookieJar (0x7f8b76f3aaf0) 0
+ vptr=((& QNetworkCookieJar::_ZTV17QNetworkCookieJar) + 16u)
+ QObject (0x7f8b76f3ab60) 0
+ primary-for QNetworkCookieJar (0x7f8b76f3aaf0)
+
+Vtable for QNetworkReply
+QNetworkReply::_ZTV13QNetworkReply: 33u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QNetworkReply)
+16 QNetworkReply::metaObject
+24 QNetworkReply::qt_metacast
+32 QNetworkReply::qt_metacall
+40 QNetworkReply::~QNetworkReply
+48 QNetworkReply::~QNetworkReply
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QNetworkReply::isSequential
+120 QIODevice::open
+128 QNetworkReply::close
+136 QIODevice::pos
+144 QIODevice::size
+152 QIODevice::seek
+160 QIODevice::atEnd
+168 QIODevice::reset
+176 QIODevice::bytesAvailable
+184 QIODevice::bytesToWrite
+192 QIODevice::canReadLine
+200 QIODevice::waitForReadyRead
+208 QIODevice::waitForBytesWritten
+216 __cxa_pure_virtual
+224 QIODevice::readLineData
+232 QNetworkReply::writeData
+240 __cxa_pure_virtual
+248 QNetworkReply::setReadBufferSize
+256 QNetworkReply::ignoreSslErrors
+
+Class QNetworkReply
+ size=16 align=8
+ base size=16 base align=8
+QNetworkReply (0x7f8b76f6b9a0) 0
+ vptr=((& QNetworkReply::_ZTV13QNetworkReply) + 16u)
+ QIODevice (0x7f8b76f6ba10) 0
+ primary-for QNetworkReply (0x7f8b76f6b9a0)
+ QObject (0x7f8b76f6ba80) 0
+ primary-for QIODevice (0x7f8b76f6ba10)
+
+Vtable for QUrlInfo
+QUrlInfo::_ZTV8QUrlInfo: 15u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI8QUrlInfo)
+16 QUrlInfo::~QUrlInfo
+24 QUrlInfo::~QUrlInfo
+32 QUrlInfo::setName
+40 QUrlInfo::setDir
+48 QUrlInfo::setFile
+56 QUrlInfo::setSymLink
+64 QUrlInfo::setOwner
+72 QUrlInfo::setGroup
+80 QUrlInfo::setSize
+88 QUrlInfo::setWritable
+96 QUrlInfo::setReadable
+104 QUrlInfo::setPermissions
+112 QUrlInfo::setLastModified
+
+Class QUrlInfo
+ size=16 align=8
+ base size=16 base align=8
+QUrlInfo (0x7f8b76f95620) 0
+ vptr=((& QUrlInfo::_ZTV8QUrlInfo) + 16u)
+
+Vtable for QFtp
+QFtp::_ZTV4QFtp: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI4QFtp)
+16 QFtp::metaObject
+24 QFtp::qt_metacast
+32 QFtp::qt_metacall
+40 QFtp::~QFtp
+48 QFtp::~QFtp
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QFtp
+ size=16 align=8
+ base size=16 base align=8
+QFtp (0x7f8b76fa75b0) 0
+ vptr=((& QFtp::_ZTV4QFtp) + 16u)
+ QObject (0x7f8b76fa7620) 0
+ primary-for QFtp (0x7f8b76fa75b0)
+
+Class QNetworkCacheMetaData
+ size=8 align=8
+ base size=8 base align=8
+QNetworkCacheMetaData (0x7f8b76fd4bd0) 0
+
+Vtable for QAbstractNetworkCache
+QAbstractNetworkCache::_ZTV21QAbstractNetworkCache: 22u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI21QAbstractNetworkCache)
+16 QAbstractNetworkCache::metaObject
+24 QAbstractNetworkCache::qt_metacast
+32 QAbstractNetworkCache::qt_metacall
+40 QAbstractNetworkCache::~QAbstractNetworkCache
+48 QAbstractNetworkCache::~QAbstractNetworkCache
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 __cxa_pure_virtual
+136 __cxa_pure_virtual
+144 __cxa_pure_virtual
+152 __cxa_pure_virtual
+160 __cxa_pure_virtual
+168 __cxa_pure_virtual
+
+Class QAbstractNetworkCache
+ size=16 align=8
+ base size=16 base align=8
+QAbstractNetworkCache (0x7f8b76fdaee0) 0
+ vptr=((& QAbstractNetworkCache::_ZTV21QAbstractNetworkCache) + 16u)
+ QObject (0x7f8b76fdaf50) 0
+ primary-for QAbstractNetworkCache (0x7f8b76fdaee0)
+
+Vtable for QNetworkDiskCache
+QNetworkDiskCache::_ZTV17QNetworkDiskCache: 23u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QNetworkDiskCache)
+16 QNetworkDiskCache::metaObject
+24 QNetworkDiskCache::qt_metacast
+32 QNetworkDiskCache::qt_metacall
+40 QNetworkDiskCache::~QNetworkDiskCache
+48 QNetworkDiskCache::~QNetworkDiskCache
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QNetworkDiskCache::metaData
+120 QNetworkDiskCache::updateMetaData
+128 QNetworkDiskCache::data
+136 QNetworkDiskCache::remove
+144 QNetworkDiskCache::cacheSize
+152 QNetworkDiskCache::prepare
+160 QNetworkDiskCache::insert
+168 QNetworkDiskCache::clear
+176 QNetworkDiskCache::expire
+
+Class QNetworkDiskCache
+ size=16 align=8
+ base size=16 base align=8
+QNetworkDiskCache (0x7f8b76e04850) 0
+ vptr=((& QNetworkDiskCache::_ZTV17QNetworkDiskCache) + 16u)
+ QAbstractNetworkCache (0x7f8b76e048c0) 0
+ primary-for QNetworkDiskCache (0x7f8b76e04850)
+ QObject (0x7f8b76e04930) 0
+ primary-for QAbstractNetworkCache (0x7f8b76e048c0)
+
+Class QIPv6Address
+ size=16 align=1
+ base size=16 base align=1
+QIPv6Address (0x7f8b76e211c0) 0
+
+Class QHostAddress
+ size=8 align=8
+ base size=8 base align=8
+QHostAddress (0x7f8b76e217e0) 0
+
+Class QNetworkAddressEntry
+ size=8 align=8
+ base size=8 base align=8
+QNetworkAddressEntry (0x7f8b76e4b770) 0
+
+Class QNetworkInterface
+ size=8 align=8
+ base size=8 base align=8
+QNetworkInterface (0x7f8b76e5c000) 0
+
+Class QAuthenticator
+ size=8 align=8
+ base size=8 base align=8
+QAuthenticator (0x7f8b76e89d20) 0
+
+Class QHostInfo
+ size=8 align=8
+ base size=8 base align=8
+QHostInfo (0x7f8b76e98620) 0
+
+Class QNetworkProxyQuery
+ size=8 align=8
+ base size=8 base align=8
+QNetworkProxyQuery (0x7f8b76e98e70) 0
+
+Class QNetworkProxy
+ size=8 align=8
+ base size=8 base align=8
+QNetworkProxy (0x7f8b76ec6150) 0
+
+Vtable for QNetworkProxyFactory
+QNetworkProxyFactory::_ZTV20QNetworkProxyFactory: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI20QNetworkProxyFactory)
+16 QNetworkProxyFactory::~QNetworkProxyFactory
+24 QNetworkProxyFactory::~QNetworkProxyFactory
+32 __cxa_pure_virtual
+
+Class QNetworkProxyFactory
+ size=8 align=8
+ base size=8 base align=8
+QNetworkProxyFactory (0x7f8b76d095b0) 0 nearly-empty
+ vptr=((& QNetworkProxyFactory::_ZTV20QNetworkProxyFactory) + 16u)
+
+Vtable for QLocalServer
+QLocalServer::_ZTV12QLocalServer: 17u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QLocalServer)
+16 QLocalServer::metaObject
+24 QLocalServer::qt_metacast
+32 QLocalServer::qt_metacall
+40 QLocalServer::~QLocalServer
+48 QLocalServer::~QLocalServer
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QLocalServer::hasPendingConnections
+120 QLocalServer::nextPendingConnection
+128 QLocalServer::incomingConnection
+
+Class QLocalServer
+ size=16 align=8
+ base size=16 base align=8
+QLocalServer (0x7f8b76d098c0) 0
+ vptr=((& QLocalServer::_ZTV12QLocalServer) + 16u)
+ QObject (0x7f8b76d09930) 0
+ primary-for QLocalServer (0x7f8b76d098c0)
+
+Vtable for QLocalSocket
+QLocalSocket::_ZTV12QLocalSocket: 30u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QLocalSocket)
+16 QLocalSocket::metaObject
+24 QLocalSocket::qt_metacast
+32 QLocalSocket::qt_metacall
+40 QLocalSocket::~QLocalSocket
+48 QLocalSocket::~QLocalSocket
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QLocalSocket::isSequential
+120 QIODevice::open
+128 QLocalSocket::close
+136 QIODevice::pos
+144 QIODevice::size
+152 QIODevice::seek
+160 QIODevice::atEnd
+168 QIODevice::reset
+176 QLocalSocket::bytesAvailable
+184 QLocalSocket::bytesToWrite
+192 QLocalSocket::canReadLine
+200 QLocalSocket::waitForReadyRead
+208 QLocalSocket::waitForBytesWritten
+216 QLocalSocket::readData
+224 QIODevice::readLineData
+232 QLocalSocket::writeData
+
+Class QLocalSocket
+ size=16 align=8
+ base size=16 base align=8
+QLocalSocket (0x7f8b76d2b2a0) 0
+ vptr=((& QLocalSocket::_ZTV12QLocalSocket) + 16u)
+ QIODevice (0x7f8b76d2b310) 0
+ primary-for QLocalSocket (0x7f8b76d2b2a0)
+ QObject (0x7f8b76d2b380) 0
+ primary-for QIODevice (0x7f8b76d2b310)
+
+Vtable for QTcpServer
+QTcpServer::_ZTV10QTcpServer: 17u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QTcpServer)
+16 QTcpServer::metaObject
+24 QTcpServer::qt_metacast
+32 QTcpServer::qt_metacall
+40 QTcpServer::~QTcpServer
+48 QTcpServer::~QTcpServer
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QTcpServer::hasPendingConnections
+120 QTcpServer::nextPendingConnection
+128 QTcpServer::incomingConnection
+
+Class QTcpServer
+ size=16 align=8
+ base size=16 base align=8
+QTcpServer (0x7f8b76d4e460) 0
+ vptr=((& QTcpServer::_ZTV10QTcpServer) + 16u)
+ QObject (0x7f8b76d4e4d0) 0
+ primary-for QTcpServer (0x7f8b76d4e460)
+
+Vtable for QUdpSocket
+QUdpSocket::_ZTV10QUdpSocket: 30u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QUdpSocket)
+16 QUdpSocket::metaObject
+24 QUdpSocket::qt_metacast
+32 QUdpSocket::qt_metacall
+40 QUdpSocket::~QUdpSocket
+48 QUdpSocket::~QUdpSocket
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QAbstractSocket::isSequential
+120 QIODevice::open
+128 QAbstractSocket::close
+136 QIODevice::pos
+144 QIODevice::size
+152 QIODevice::seek
+160 QAbstractSocket::atEnd
+168 QIODevice::reset
+176 QAbstractSocket::bytesAvailable
+184 QAbstractSocket::bytesToWrite
+192 QAbstractSocket::canReadLine
+200 QAbstractSocket::waitForReadyRead
+208 QAbstractSocket::waitForBytesWritten
+216 QAbstractSocket::readData
+224 QAbstractSocket::readLineData
+232 QAbstractSocket::writeData
+
+Class QUdpSocket
+ size=16 align=8
+ base size=16 base align=8
+QUdpSocket (0x7f8b76d60f50) 0
+ vptr=((& QUdpSocket::_ZTV10QUdpSocket) + 16u)
+ QAbstractSocket (0x7f8b76d68000) 0
+ primary-for QUdpSocket (0x7f8b76d60f50)
+ QIODevice (0x7f8b76d68070) 0
+ primary-for QAbstractSocket (0x7f8b76d68000)
+ QObject (0x7f8b76d680e0) 0
+ primary-for QIODevice (0x7f8b76d68070)
+
diff --git a/tests/auto/bic/data/QtNetwork.4.6.0.linux-gcc-amd64.txt b/tests/auto/bic/data/QtNetwork.4.6.0.linux-gcc-amd64.txt
new file mode 100644
index 0000000000..c5e6bf29e5
--- /dev/null
+++ b/tests/auto/bic/data/QtNetwork.4.6.0.linux-gcc-amd64.txt
@@ -0,0 +1,3294 @@
+Class QSysInfo
+ size=1 align=1
+ base size=0 base align=1
+QSysInfo (0x7f3e59605230) 0 empty
+
+Class QBool
+ size=1 align=1
+ base size=1 base align=1
+QBool (0x7f3e59605e70) 0
+
+Class qIsNull(double)::U
+ size=8 align=8
+ base size=8 base align=8
+qIsNull(double)::U (0x7f3e58dda540) 0
+
+Class qIsNull(float)::U
+ size=4 align=4
+ base size=4 base align=4
+qIsNull(float)::U (0x7f3e58dda7e0) 0
+
+Class QFlag
+ size=4 align=4
+ base size=4 base align=4
+QFlag (0x7f3e58e14690) 0
+
+Class QIncompatibleFlag
+ size=4 align=4
+ base size=4 base align=4
+QIncompatibleFlag (0x7f3e58e14e70) 0
+
+Class QLatin1Char
+ size=1 align=1
+ base size=1 base align=1
+QLatin1Char (0x7f3e58e445b0) 0
+
+Class QChar
+ size=2 align=2
+ base size=2 base align=2
+QChar (0x7f3e58e6a150) 0
+
+Class QBasicAtomicInt
+ size=4 align=4
+ base size=4 base align=4
+QBasicAtomicInt (0x7f3e58cd0310) 0
+
+Class QAtomicInt
+ size=4 align=4
+ base size=4 base align=4
+QAtomicInt (0x7f3e58d0fcb0) 0
+ QBasicAtomicInt (0x7f3e58d0fd20) 0
+
+Class QInternal
+ size=1 align=1
+ base size=0 base align=1
+QInternal (0x7f3e58b624d0) 0 empty
+
+Class __locale_struct
+ size=232 align=8
+ base size=232 base align=8
+__locale_struct (0x7f3e58b62700) 0
+
+Class QByteArray::Data
+ size=32 align=8
+ base size=32 base align=8
+QByteArray::Data (0x7f3e58b9eaf0) 0
+
+Class QByteArray
+ size=8 align=8
+ base size=8 base align=8
+QByteArray (0x7f3e58b9ea80) 0
+
+Class QByteRef
+ size=16 align=8
+ base size=12 base align=8
+QByteRef (0x7f3e58a41380) 0
+
+Class QString::Null
+ size=1 align=1
+ base size=0 base align=1
+QString::Null (0x7f3e58940d20) 0 empty
+
+Class QString::Data
+ size=32 align=8
+ base size=32 base align=8
+QString::Data (0x7f3e589595b0) 0
+
+Class QString
+ size=8 align=8
+ base size=8 base align=8
+QString (0x7f3e588bcbd0) 0
+
+Class QLatin1String
+ size=8 align=8
+ base size=8 base align=8
+QLatin1String (0x7f3e588329a0) 0
+
+Class QCharRef
+ size=16 align=8
+ base size=12 base align=8
+QCharRef (0x7f3e586d1000) 0
+
+Class QConstString
+ size=8 align=8
+ base size=8 base align=8
+QConstString (0x7f3e5861a8c0) 0
+ QString (0x7f3e5861a930) 0
+
+Class QStringRef
+ size=16 align=8
+ base size=16 base align=8
+QStringRef (0x7f3e58640310) 0
+
+Class QGenericArgument
+ size=16 align=8
+ base size=16 base align=8
+QGenericArgument (0x7f3e584b9700) 0
+
+Class QGenericReturnArgument
+ size=16 align=8
+ base size=16 base align=8
+QGenericReturnArgument (0x7f3e584c32a0) 0
+ QGenericArgument (0x7f3e584c3310) 0
+
+Class QMetaObject
+ size=32 align=8
+ base size=32 base align=8
+QMetaObject (0x7f3e584c3b60) 0
+
+Class QMetaObjectExtraData
+ size=16 align=8
+ base size=16 base align=8
+QMetaObjectExtraData (0x7f3e584ebbd0) 0
+
+Vtable for std::exception
+std::exception::_ZTVSt9exception: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt9exception)
+16 std::exception::~exception
+24 std::exception::~exception
+32 std::exception::what
+
+Class std::exception
+ size=8 align=8
+ base size=8 base align=8
+std::exception (0x7f3e585401c0) 0 nearly-empty
+ vptr=((& std::exception::_ZTVSt9exception) + 16u)
+
+Vtable for std::bad_exception
+std::bad_exception::_ZTVSt13bad_exception: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt13bad_exception)
+16 std::bad_exception::~bad_exception
+24 std::bad_exception::~bad_exception
+32 std::bad_exception::what
+
+Class std::bad_exception
+ size=8 align=8
+ base size=8 base align=8
+std::bad_exception (0x7f3e58540770) 0 nearly-empty
+ vptr=((& std::bad_exception::_ZTVSt13bad_exception) + 16u)
+ std::exception (0x7f3e585407e0) 0 nearly-empty
+ primary-for std::bad_exception (0x7f3e58540770)
+
+Vtable for std::bad_alloc
+std::bad_alloc::_ZTVSt9bad_alloc: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt9bad_alloc)
+16 std::bad_alloc::~bad_alloc
+24 std::bad_alloc::~bad_alloc
+32 std::bad_alloc::what
+
+Class std::bad_alloc
+ size=8 align=8
+ base size=8 base align=8
+std::bad_alloc (0x7f3e58540930) 0 nearly-empty
+ vptr=((& std::bad_alloc::_ZTVSt9bad_alloc) + 16u)
+ std::exception (0x7f3e58556000) 0 nearly-empty
+ primary-for std::bad_alloc (0x7f3e58540930)
+
+Class std::nothrow_t
+ size=1 align=1
+ base size=0 base align=1
+std::nothrow_t (0x7f3e58556850) 0 empty
+
+Class QListData::Data
+ size=32 align=8
+ base size=32 base align=8
+QListData::Data (0x7f3e58556d90) 0
+
+Class QListData
+ size=8 align=8
+ base size=8 base align=8
+QListData (0x7f3e58556d20) 0
+
+Class QScopedPointerPodDeleter
+ size=1 align=1
+ base size=0 base align=1
+QScopedPointerPodDeleter (0x7f3e5847f850) 0 empty
+
+Vtable for QObjectData
+QObjectData::_ZTV11QObjectData: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QObjectData)
+16 __cxa_pure_virtual
+24 __cxa_pure_virtual
+
+Class QObjectData
+ size=48 align=8
+ base size=48 base align=8
+QObjectData (0x7f3e584a22a0) 0
+ vptr=((& QObjectData::_ZTV11QObjectData) + 16u)
+
+Vtable for QObject
+QObject::_ZTV7QObject: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QObject)
+16 QObject::metaObject
+24 QObject::qt_metacast
+32 QObject::qt_metacall
+40 QObject::~QObject
+48 QObject::~QObject
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QObject
+ size=16 align=8
+ base size=16 base align=8
+QObject (0x7f3e584a25b0) 0
+ vptr=((& QObject::_ZTV7QObject) + 16u)
+
+Vtable for QObjectUserData
+QObjectUserData::_ZTV15QObjectUserData: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QObjectUserData)
+16 QObjectUserData::~QObjectUserData
+24 QObjectUserData::~QObjectUserData
+
+Class QObjectUserData
+ size=8 align=8
+ base size=8 base align=8
+QObjectUserData (0x7f3e58314b60) 0 nearly-empty
+ vptr=((& QObjectUserData::_ZTV15QObjectUserData) + 16u)
+
+Vtable for QIODevice
+QIODevice::_ZTV9QIODevice: 30u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QIODevice)
+16 QIODevice::metaObject
+24 QIODevice::qt_metacast
+32 QIODevice::qt_metacall
+40 QIODevice::~QIODevice
+48 QIODevice::~QIODevice
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QIODevice::isSequential
+120 QIODevice::open
+128 QIODevice::close
+136 QIODevice::pos
+144 QIODevice::size
+152 QIODevice::seek
+160 QIODevice::atEnd
+168 QIODevice::reset
+176 QIODevice::bytesAvailable
+184 QIODevice::bytesToWrite
+192 QIODevice::canReadLine
+200 QIODevice::waitForReadyRead
+208 QIODevice::waitForBytesWritten
+216 __cxa_pure_virtual
+224 QIODevice::readLineData
+232 __cxa_pure_virtual
+
+Class QIODevice
+ size=16 align=8
+ base size=16 base align=8
+QIODevice (0x7f3e58325150) 0
+ vptr=((& QIODevice::_ZTV9QIODevice) + 16u)
+ QObject (0x7f3e583251c0) 0
+ primary-for QIODevice (0x7f3e58325150)
+
+Class _IO_marker
+ size=24 align=8
+ base size=24 base align=8
+_IO_marker (0x7f3e58389cb0) 0
+
+Class _IO_FILE
+ size=216 align=8
+ base size=216 base align=8
+_IO_FILE (0x7f3e58389d20) 0
+
+Vtable for QFile
+QFile::_ZTV5QFile: 31u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI5QFile)
+16 QFile::metaObject
+24 QFile::qt_metacast
+32 QFile::qt_metacall
+40 QFile::~QFile
+48 QFile::~QFile
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QFile::isSequential
+120 QFile::open
+128 QFile::close
+136 QFile::pos
+144 QFile::size
+152 QFile::seek
+160 QFile::atEnd
+168 QIODevice::reset
+176 QIODevice::bytesAvailable
+184 QIODevice::bytesToWrite
+192 QIODevice::canReadLine
+200 QIODevice::waitForReadyRead
+208 QIODevice::waitForBytesWritten
+216 QFile::readData
+224 QFile::readLineData
+232 QFile::writeData
+240 QFile::fileEngine
+
+Class QFile
+ size=16 align=8
+ base size=16 base align=8
+QFile (0x7f3e58389e00) 0
+ vptr=((& QFile::_ZTV5QFile) + 16u)
+ QIODevice (0x7f3e58389e70) 0
+ primary-for QFile (0x7f3e58389e00)
+ QObject (0x7f3e58389ee0) 0
+ primary-for QIODevice (0x7f3e58389e70)
+
+Class QFileInfo
+ size=8 align=8
+ base size=8 base align=8
+QFileInfo (0x7f3e5822a070) 0
+
+Vtable for QDataStream
+QDataStream::_ZTV11QDataStream: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QDataStream)
+16 QDataStream::~QDataStream
+24 QDataStream::~QDataStream
+
+Class QDataStream
+ size=40 align=8
+ base size=40 base align=8
+QDataStream (0x7f3e5827ea10) 0
+ vptr=((& QDataStream::_ZTV11QDataStream) + 16u)
+
+Class QRegExp
+ size=8 align=8
+ base size=8 base align=8
+QRegExp (0x7f3e580e6e70) 0
+
+Class QStringMatcher::Data
+ size=272 align=8
+ base size=272 base align=8
+QStringMatcher::Data (0x7f3e5814f2a0) 0
+
+Class QStringMatcher
+ size=1048 align=8
+ base size=1048 base align=8
+QStringMatcher (0x7f3e58144c40) 0
+
+Class QStringList
+ size=8 align=8
+ base size=8 base align=8
+QStringList (0x7f3e5814f850) 0
+ QList<QString> (0x7f3e5814f8c0) 0
+
+Class QDir
+ size=8 align=8
+ base size=8 base align=8
+QDir (0x7f3e57fee4d0) 0
+
+Class QAbstractFileEngine::ExtensionOption
+ size=1 align=1
+ base size=0 base align=1
+QAbstractFileEngine::ExtensionOption (0x7f3e580968c0) 0 empty
+
+Class QAbstractFileEngine::ExtensionReturn
+ size=1 align=1
+ base size=0 base align=1
+QAbstractFileEngine::ExtensionReturn (0x7f3e58096930) 0 empty
+
+Class QAbstractFileEngine::MapExtensionOption
+ size=24 align=8
+ base size=20 base align=8
+QAbstractFileEngine::MapExtensionOption (0x7f3e580969a0) 0
+ QAbstractFileEngine::ExtensionOption (0x7f3e58096a10) 0 empty
+
+Class QAbstractFileEngine::MapExtensionReturn
+ size=8 align=8
+ base size=8 base align=8
+QAbstractFileEngine::MapExtensionReturn (0x7f3e58096bd0) 0
+ QAbstractFileEngine::ExtensionReturn (0x7f3e58096c40) 0 empty
+
+Class QAbstractFileEngine::UnMapExtensionOption
+ size=8 align=8
+ base size=8 base align=8
+QAbstractFileEngine::UnMapExtensionOption (0x7f3e58096cb0) 0
+ QAbstractFileEngine::ExtensionOption (0x7f3e58096d20) 0 empty
+
+Vtable for QAbstractFileEngine
+QAbstractFileEngine::_ZTV19QAbstractFileEngine: 36u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QAbstractFileEngine)
+16 QAbstractFileEngine::~QAbstractFileEngine
+24 QAbstractFileEngine::~QAbstractFileEngine
+32 QAbstractFileEngine::open
+40 QAbstractFileEngine::close
+48 QAbstractFileEngine::flush
+56 QAbstractFileEngine::size
+64 QAbstractFileEngine::pos
+72 QAbstractFileEngine::seek
+80 QAbstractFileEngine::isSequential
+88 QAbstractFileEngine::remove
+96 QAbstractFileEngine::copy
+104 QAbstractFileEngine::rename
+112 QAbstractFileEngine::link
+120 QAbstractFileEngine::mkdir
+128 QAbstractFileEngine::rmdir
+136 QAbstractFileEngine::setSize
+144 QAbstractFileEngine::caseSensitive
+152 QAbstractFileEngine::isRelativePath
+160 QAbstractFileEngine::entryList
+168 QAbstractFileEngine::fileFlags
+176 QAbstractFileEngine::setPermissions
+184 QAbstractFileEngine::fileName
+192 QAbstractFileEngine::ownerId
+200 QAbstractFileEngine::owner
+208 QAbstractFileEngine::fileTime
+216 QAbstractFileEngine::setFileName
+224 QAbstractFileEngine::handle
+232 QAbstractFileEngine::beginEntryList
+240 QAbstractFileEngine::endEntryList
+248 QAbstractFileEngine::read
+256 QAbstractFileEngine::readLine
+264 QAbstractFileEngine::write
+272 QAbstractFileEngine::extension
+280 QAbstractFileEngine::supportsExtension
+
+Class QAbstractFileEngine
+ size=16 align=8
+ base size=16 base align=8
+QAbstractFileEngine (0x7f3e5807a850) 0
+ vptr=((& QAbstractFileEngine::_ZTV19QAbstractFileEngine) + 16u)
+
+Vtable for QAbstractFileEngineHandler
+QAbstractFileEngineHandler::_ZTV26QAbstractFileEngineHandler: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI26QAbstractFileEngineHandler)
+16 QAbstractFileEngineHandler::~QAbstractFileEngineHandler
+24 QAbstractFileEngineHandler::~QAbstractFileEngineHandler
+32 __cxa_pure_virtual
+
+Class QAbstractFileEngineHandler
+ size=8 align=8
+ base size=8 base align=8
+QAbstractFileEngineHandler (0x7f3e57eccbd0) 0 nearly-empty
+ vptr=((& QAbstractFileEngineHandler::_ZTV26QAbstractFileEngineHandler) + 16u)
+
+Vtable for QAbstractFileEngineIterator
+QAbstractFileEngineIterator::_ZTV27QAbstractFileEngineIterator: 9u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI27QAbstractFileEngineIterator)
+16 QAbstractFileEngineIterator::~QAbstractFileEngineIterator
+24 QAbstractFileEngineIterator::~QAbstractFileEngineIterator
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+48 __cxa_pure_virtual
+56 QAbstractFileEngineIterator::currentFileInfo
+64 QAbstractFileEngineIterator::entryInfo
+
+Class QAbstractFileEngineIterator
+ size=16 align=8
+ base size=16 base align=8
+QAbstractFileEngineIterator (0x7f3e57eccd90) 0
+ vptr=((& QAbstractFileEngineIterator::_ZTV27QAbstractFileEngineIterator) + 16u)
+
+Vtable for QBuffer
+QBuffer::_ZTV7QBuffer: 30u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QBuffer)
+16 QBuffer::metaObject
+24 QBuffer::qt_metacast
+32 QBuffer::qt_metacall
+40 QBuffer::~QBuffer
+48 QBuffer::~QBuffer
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QBuffer::connectNotify
+104 QBuffer::disconnectNotify
+112 QIODevice::isSequential
+120 QBuffer::open
+128 QBuffer::close
+136 QBuffer::pos
+144 QBuffer::size
+152 QBuffer::seek
+160 QBuffer::atEnd
+168 QIODevice::reset
+176 QIODevice::bytesAvailable
+184 QIODevice::bytesToWrite
+192 QBuffer::canReadLine
+200 QIODevice::waitForReadyRead
+208 QIODevice::waitForBytesWritten
+216 QBuffer::readData
+224 QIODevice::readLineData
+232 QBuffer::writeData
+
+Class QBuffer
+ size=16 align=8
+ base size=16 base align=8
+QBuffer (0x7f3e57ee0690) 0
+ vptr=((& QBuffer::_ZTV7QBuffer) + 16u)
+ QIODevice (0x7f3e57ee0700) 0
+ primary-for QBuffer (0x7f3e57ee0690)
+ QObject (0x7f3e57ee0770) 0
+ primary-for QIODevice (0x7f3e57ee0700)
+
+Class QHashData::Node
+ size=16 align=8
+ base size=16 base align=8
+QHashData::Node (0x7f3e57f21e00) 0
+
+Class QHashData
+ size=40 align=8
+ base size=40 base align=8
+QHashData (0x7f3e57f21d90) 0
+
+Class QHashDummyValue
+ size=1 align=1
+ base size=0 base align=1
+QHashDummyValue (0x7f3e57f45150) 0 empty
+
+Class QMapData::Node
+ size=16 align=8
+ base size=16 base align=8
+QMapData::Node (0x7f3e57e43a80) 0
+
+Class QMapData
+ size=128 align=8
+ base size=128 base align=8
+QMapData (0x7f3e57e43a10) 0
+
+Vtable for QSystemLocale
+QSystemLocale::_ZTV13QSystemLocale: 6u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QSystemLocale)
+16 QSystemLocale::~QSystemLocale
+24 QSystemLocale::~QSystemLocale
+32 QSystemLocale::query
+40 QSystemLocale::fallbackLocale
+
+Class QSystemLocale
+ size=8 align=8
+ base size=8 base align=8
+QSystemLocale (0x7f3e57d81690) 0 nearly-empty
+ vptr=((& QSystemLocale::_ZTV13QSystemLocale) + 16u)
+
+Class QLocale::Data
+ size=4 align=2
+ base size=4 base align=2
+QLocale::Data (0x7f3e57bcdd90) 0
+
+Class QLocale
+ size=8 align=8
+ base size=8 base align=8
+QLocale (0x7f3e57d81af0) 0
+
+Class QTextCodec::ConverterState
+ size=32 align=8
+ base size=32 base align=8
+QTextCodec::ConverterState (0x7f3e57c25bd0) 0
+
+Vtable for QTextCodec
+QTextCodec::_ZTV10QTextCodec: 9u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QTextCodec)
+16 __cxa_pure_virtual
+24 QTextCodec::aliases
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+48 __cxa_pure_virtual
+56 QTextCodec::~QTextCodec
+64 QTextCodec::~QTextCodec
+
+Class QTextCodec
+ size=8 align=8
+ base size=8 base align=8
+QTextCodec (0x7f3e57c16460) 0 nearly-empty
+ vptr=((& QTextCodec::_ZTV10QTextCodec) + 16u)
+
+Class QTextEncoder
+ size=40 align=8
+ base size=40 base align=8
+QTextEncoder (0x7f3e57a94150) 0
+
+Class QTextDecoder
+ size=40 align=8
+ base size=40 base align=8
+QTextDecoder (0x7f3e57a94f50) 0
+
+Vtable for QTextStream
+QTextStream::_ZTV11QTextStream: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QTextStream)
+16 QTextStream::~QTextStream
+24 QTextStream::~QTextStream
+
+Class QTextStream
+ size=16 align=8
+ base size=16 base align=8
+QTextStream (0x7f3e57a9cd90) 0
+ vptr=((& QTextStream::_ZTV11QTextStream) + 16u)
+
+Class QTextStreamManipulator
+ size=40 align=8
+ base size=38 base align=8
+QTextStreamManipulator (0x7f3e57b14a80) 0
+
+Vtable for QTextIStream
+QTextIStream::_ZTV12QTextIStream: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QTextIStream)
+16 QTextIStream::~QTextIStream
+24 QTextIStream::~QTextIStream
+
+Class QTextIStream
+ size=16 align=8
+ base size=16 base align=8
+QTextIStream (0x7f3e57b46070) 0
+ vptr=((& QTextIStream::_ZTV12QTextIStream) + 16u)
+ QTextStream (0x7f3e57b460e0) 0
+ primary-for QTextIStream (0x7f3e57b46070)
+
+Vtable for QTextOStream
+QTextOStream::_ZTV12QTextOStream: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QTextOStream)
+16 QTextOStream::~QTextOStream
+24 QTextOStream::~QTextOStream
+
+Class QTextOStream
+ size=16 align=8
+ base size=16 base align=8
+QTextOStream (0x7f3e57b52ee0) 0
+ vptr=((& QTextOStream::_ZTV12QTextOStream) + 16u)
+ QTextStream (0x7f3e57b52f50) 0
+ primary-for QTextOStream (0x7f3e57b52ee0)
+
+Class wait
+ size=4 align=4
+ base size=4 base align=4
+wait (0x7f3e57b67d90) 0
+
+Class timespec
+ size=16 align=8
+ base size=16 base align=8
+timespec (0x7f3e57b730e0) 0
+
+Class timeval
+ size=16 align=8
+ base size=16 base align=8
+timeval (0x7f3e57b73150) 0
+
+Class __pthread_internal_list
+ size=16 align=8
+ base size=16 base align=8
+__pthread_internal_list (0x7f3e57b732a0) 0
+
+Class random_data
+ size=48 align=8
+ base size=48 base align=8
+random_data (0x7f3e57b73850) 0
+
+Class drand48_data
+ size=24 align=8
+ base size=24 base align=8
+drand48_data (0x7f3e57b738c0) 0
+
+Class QVectorData
+ size=16 align=4
+ base size=16 base align=4
+QVectorData (0x7f3e57b73930) 0
+
+Class QContiguousCacheData
+ size=24 align=4
+ base size=24 base align=4
+QContiguousCacheData (0x7f3e57932620) 0
+
+Class QDebug::Stream
+ size=40 align=8
+ base size=34 base align=8
+QDebug::Stream (0x7f3e57792150) 0
+
+Class QDebug
+ size=8 align=8
+ base size=8 base align=8
+QDebug (0x7f3e577920e0) 0
+
+Class QNoDebug
+ size=1 align=1
+ base size=0 base align=1
+QNoDebug (0x7f3e578400e0) 0 empty
+
+Vtable for QDirIterator
+QDirIterator::_ZTV12QDirIterator: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QDirIterator)
+16 QDirIterator::~QDirIterator
+24 QDirIterator::~QDirIterator
+
+Class QDirIterator
+ size=16 align=8
+ base size=16 base align=8
+QDirIterator (0x7f3e57850700) 0
+ vptr=((& QDirIterator::_ZTV12QDirIterator) + 16u)
+
+Vtable for QFileSystemWatcher
+QFileSystemWatcher::_ZTV18QFileSystemWatcher: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QFileSystemWatcher)
+16 QFileSystemWatcher::metaObject
+24 QFileSystemWatcher::qt_metacast
+32 QFileSystemWatcher::qt_metacall
+40 QFileSystemWatcher::~QFileSystemWatcher
+48 QFileSystemWatcher::~QFileSystemWatcher
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QFileSystemWatcher
+ size=16 align=8
+ base size=16 base align=8
+QFileSystemWatcher (0x7f3e576ac540) 0
+ vptr=((& QFileSystemWatcher::_ZTV18QFileSystemWatcher) + 16u)
+ QObject (0x7f3e576ac5b0) 0
+ primary-for QFileSystemWatcher (0x7f3e576ac540)
+
+Vtable for QFSFileEngine
+QFSFileEngine::_ZTV13QFSFileEngine: 36u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QFSFileEngine)
+16 QFSFileEngine::~QFSFileEngine
+24 QFSFileEngine::~QFSFileEngine
+32 QFSFileEngine::open
+40 QFSFileEngine::close
+48 QFSFileEngine::flush
+56 QFSFileEngine::size
+64 QFSFileEngine::pos
+72 QFSFileEngine::seek
+80 QFSFileEngine::isSequential
+88 QFSFileEngine::remove
+96 QFSFileEngine::copy
+104 QFSFileEngine::rename
+112 QFSFileEngine::link
+120 QFSFileEngine::mkdir
+128 QFSFileEngine::rmdir
+136 QFSFileEngine::setSize
+144 QFSFileEngine::caseSensitive
+152 QFSFileEngine::isRelativePath
+160 QFSFileEngine::entryList
+168 QFSFileEngine::fileFlags
+176 QFSFileEngine::setPermissions
+184 QFSFileEngine::fileName
+192 QFSFileEngine::ownerId
+200 QFSFileEngine::owner
+208 QFSFileEngine::fileTime
+216 QFSFileEngine::setFileName
+224 QFSFileEngine::handle
+232 QFSFileEngine::beginEntryList
+240 QFSFileEngine::endEntryList
+248 QFSFileEngine::read
+256 QFSFileEngine::readLine
+264 QFSFileEngine::write
+272 QFSFileEngine::extension
+280 QFSFileEngine::supportsExtension
+
+Class QFSFileEngine
+ size=16 align=8
+ base size=16 base align=8
+QFSFileEngine (0x7f3e576bea80) 0
+ vptr=((& QFSFileEngine::_ZTV13QFSFileEngine) + 16u)
+ QAbstractFileEngine (0x7f3e576beaf0) 0
+ primary-for QFSFileEngine (0x7f3e576bea80)
+
+Class QSharedData
+ size=4 align=4
+ base size=4 base align=4
+QSharedData (0x7f3e576cfe70) 0
+
+Class QProcessEnvironment
+ size=8 align=8
+ base size=8 base align=8
+QProcessEnvironment (0x7f3e577171c0) 0
+
+Vtable for QProcess
+QProcess::_ZTV8QProcess: 31u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI8QProcess)
+16 QProcess::metaObject
+24 QProcess::qt_metacast
+32 QProcess::qt_metacall
+40 QProcess::~QProcess
+48 QProcess::~QProcess
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QProcess::isSequential
+120 QIODevice::open
+128 QProcess::close
+136 QIODevice::pos
+144 QIODevice::size
+152 QIODevice::seek
+160 QProcess::atEnd
+168 QIODevice::reset
+176 QProcess::bytesAvailable
+184 QProcess::bytesToWrite
+192 QProcess::canReadLine
+200 QProcess::waitForReadyRead
+208 QProcess::waitForBytesWritten
+216 QProcess::readData
+224 QIODevice::readLineData
+232 QProcess::writeData
+240 QProcess::setupChildProcess
+
+Class QProcess
+ size=16 align=8
+ base size=16 base align=8
+QProcess (0x7f3e57717cb0) 0
+ vptr=((& QProcess::_ZTV8QProcess) + 16u)
+ QIODevice (0x7f3e57717d20) 0
+ primary-for QProcess (0x7f3e57717cb0)
+ QObject (0x7f3e57717d90) 0
+ primary-for QIODevice (0x7f3e57717d20)
+
+Class QResource
+ size=8 align=8
+ base size=8 base align=8
+QResource (0x7f3e5775d1c0) 0
+
+Class QMetaType
+ size=1 align=1
+ base size=0 base align=1
+QMetaType (0x7f3e5775de70) 0 empty
+
+Class QVariant::PrivateShared
+ size=16 align=8
+ base size=12 base align=8
+QVariant::PrivateShared (0x7f3e5765d700) 0
+
+Class QVariant::Private::Data
+ size=8 align=8
+ base size=8 base align=8
+QVariant::Private::Data (0x7f3e5765da10) 0
+
+Class QVariant::Private
+ size=16 align=8
+ base size=12 base align=8
+QVariant::Private (0x7f3e5765d7e0) 0
+
+Class QVariant::Handler
+ size=72 align=8
+ base size=72 base align=8
+QVariant::Handler (0x7f3e5766c700) 0
+
+Class QVariant
+ size=16 align=8
+ base size=16 base align=8
+QVariant (0x7f3e5762d7e0) 0
+
+Class QVariantComparisonHelper
+ size=8 align=8
+ base size=8 base align=8
+QVariantComparisonHelper (0x7f3e5751d9a0) 0
+
+Vtable for QSettings
+QSettings::_ZTV9QSettings: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QSettings)
+16 QSettings::metaObject
+24 QSettings::qt_metacast
+32 QSettings::qt_metacall
+40 QSettings::~QSettings
+48 QSettings::~QSettings
+56 QSettings::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QSettings
+ size=16 align=8
+ base size=16 base align=8
+QSettings (0x7f3e57543ee0) 0
+ vptr=((& QSettings::_ZTV9QSettings) + 16u)
+ QObject (0x7f3e57543f50) 0
+ primary-for QSettings (0x7f3e57543ee0)
+
+Vtable for QTemporaryFile
+QTemporaryFile::_ZTV14QTemporaryFile: 31u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QTemporaryFile)
+16 QTemporaryFile::metaObject
+24 QTemporaryFile::qt_metacast
+32 QTemporaryFile::qt_metacall
+40 QTemporaryFile::~QTemporaryFile
+48 QTemporaryFile::~QTemporaryFile
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QFile::isSequential
+120 QTemporaryFile::open
+128 QFile::close
+136 QFile::pos
+144 QFile::size
+152 QFile::seek
+160 QFile::atEnd
+168 QIODevice::reset
+176 QIODevice::bytesAvailable
+184 QIODevice::bytesToWrite
+192 QIODevice::canReadLine
+200 QIODevice::waitForReadyRead
+208 QIODevice::waitForBytesWritten
+216 QFile::readData
+224 QFile::readLineData
+232 QFile::writeData
+240 QTemporaryFile::fileEngine
+
+Class QTemporaryFile
+ size=16 align=8
+ base size=16 base align=8
+QTemporaryFile (0x7f3e573c62a0) 0
+ vptr=((& QTemporaryFile::_ZTV14QTemporaryFile) + 16u)
+ QFile (0x7f3e573c6310) 0
+ primary-for QTemporaryFile (0x7f3e573c62a0)
+ QIODevice (0x7f3e573c6380) 0
+ primary-for QFile (0x7f3e573c6310)
+ QObject (0x7f3e573c63f0) 0
+ primary-for QIODevice (0x7f3e573c6380)
+
+Class QUrl
+ size=8 align=8
+ base size=8 base align=8
+QUrl (0x7f3e573e29a0) 0
+
+Class QXmlStreamStringRef
+ size=16 align=8
+ base size=16 base align=8
+QXmlStreamStringRef (0x7f3e5726b070) 0
+
+Class QXmlStreamAttribute
+ size=80 align=8
+ base size=73 base align=8
+QXmlStreamAttribute (0x7f3e5728a850) 0
+
+Class QXmlStreamAttributes
+ size=8 align=8
+ base size=8 base align=8
+QXmlStreamAttributes (0x7f3e572b3310) 0
+ QVector<QXmlStreamAttribute> (0x7f3e572b3380) 0
+
+Class QXmlStreamNamespaceDeclaration
+ size=40 align=8
+ base size=40 base align=8
+QXmlStreamNamespaceDeclaration (0x7f3e572b37e0) 0
+
+Class QXmlStreamNotationDeclaration
+ size=56 align=8
+ base size=56 base align=8
+QXmlStreamNotationDeclaration (0x7f3e572f41c0) 0
+
+Class QXmlStreamEntityDeclaration
+ size=88 align=8
+ base size=88 base align=8
+QXmlStreamEntityDeclaration (0x7f3e57313070) 0
+
+Vtable for QXmlStreamEntityResolver
+QXmlStreamEntityResolver::_ZTV24QXmlStreamEntityResolver: 6u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI24QXmlStreamEntityResolver)
+16 QXmlStreamEntityResolver::~QXmlStreamEntityResolver
+24 QXmlStreamEntityResolver::~QXmlStreamEntityResolver
+32 QXmlStreamEntityResolver::resolveEntity
+40 QXmlStreamEntityResolver::resolveUndeclaredEntity
+
+Class QXmlStreamEntityResolver
+ size=8 align=8
+ base size=8 base align=8
+QXmlStreamEntityResolver (0x7f3e5732f9a0) 0 nearly-empty
+ vptr=((& QXmlStreamEntityResolver::_ZTV24QXmlStreamEntityResolver) + 16u)
+
+Class QXmlStreamReader
+ size=8 align=8
+ base size=8 base align=8
+QXmlStreamReader (0x7f3e5732fb60) 0
+
+Class QXmlStreamWriter
+ size=8 align=8
+ base size=8 base align=8
+QXmlStreamWriter (0x7f3e57176c40) 0
+
+Vtable for QAbstractState
+QAbstractState::_ZTV14QAbstractState: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QAbstractState)
+16 QAbstractState::metaObject
+24 QAbstractState::qt_metacast
+32 QAbstractState::qt_metacall
+40 QAbstractState::~QAbstractState
+48 QAbstractState::~QAbstractState
+56 QAbstractState::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+
+Class QAbstractState
+ size=16 align=8
+ base size=16 base align=8
+QAbstractState (0x7f3e5718ca80) 0
+ vptr=((& QAbstractState::_ZTV14QAbstractState) + 16u)
+ QObject (0x7f3e5718caf0) 0
+ primary-for QAbstractState (0x7f3e5718ca80)
+
+Vtable for QAbstractTransition
+QAbstractTransition::_ZTV19QAbstractTransition: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QAbstractTransition)
+16 QAbstractTransition::metaObject
+24 QAbstractTransition::qt_metacast
+32 QAbstractTransition::qt_metacall
+40 QAbstractTransition::~QAbstractTransition
+48 QAbstractTransition::~QAbstractTransition
+56 QAbstractTransition::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+
+Class QAbstractTransition
+ size=16 align=8
+ base size=16 base align=8
+QAbstractTransition (0x7f3e571b22a0) 0
+ vptr=((& QAbstractTransition::_ZTV19QAbstractTransition) + 16u)
+ QObject (0x7f3e571b2310) 0
+ primary-for QAbstractTransition (0x7f3e571b22a0)
+
+Vtable for QEvent
+QEvent::_ZTV6QEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI6QEvent)
+16 QEvent::~QEvent
+24 QEvent::~QEvent
+
+Class QEvent
+ size=24 align=8
+ base size=20 base align=8
+QEvent (0x7f3e571c6af0) 0
+ vptr=((& QEvent::_ZTV6QEvent) + 16u)
+
+Vtable for QTimerEvent
+QTimerEvent::_ZTV11QTimerEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QTimerEvent)
+16 QTimerEvent::~QTimerEvent
+24 QTimerEvent::~QTimerEvent
+
+Class QTimerEvent
+ size=24 align=8
+ base size=24 base align=8
+QTimerEvent (0x7f3e571e8700) 0
+ vptr=((& QTimerEvent::_ZTV11QTimerEvent) + 16u)
+ QEvent (0x7f3e571e8770) 0
+ primary-for QTimerEvent (0x7f3e571e8700)
+
+Vtable for QChildEvent
+QChildEvent::_ZTV11QChildEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QChildEvent)
+16 QChildEvent::~QChildEvent
+24 QChildEvent::~QChildEvent
+
+Class QChildEvent
+ size=32 align=8
+ base size=32 base align=8
+QChildEvent (0x7f3e571e8b60) 0
+ vptr=((& QChildEvent::_ZTV11QChildEvent) + 16u)
+ QEvent (0x7f3e571e8bd0) 0
+ primary-for QChildEvent (0x7f3e571e8b60)
+
+Vtable for QCustomEvent
+QCustomEvent::_ZTV12QCustomEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QCustomEvent)
+16 QCustomEvent::~QCustomEvent
+24 QCustomEvent::~QCustomEvent
+
+Class QCustomEvent
+ size=24 align=8
+ base size=20 base align=8
+QCustomEvent (0x7f3e571f2e00) 0
+ vptr=((& QCustomEvent::_ZTV12QCustomEvent) + 16u)
+ QEvent (0x7f3e571f2e70) 0
+ primary-for QCustomEvent (0x7f3e571f2e00)
+
+Vtable for QDynamicPropertyChangeEvent
+QDynamicPropertyChangeEvent::_ZTV27QDynamicPropertyChangeEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI27QDynamicPropertyChangeEvent)
+16 QDynamicPropertyChangeEvent::~QDynamicPropertyChangeEvent
+24 QDynamicPropertyChangeEvent::~QDynamicPropertyChangeEvent
+
+Class QDynamicPropertyChangeEvent
+ size=32 align=8
+ base size=32 base align=8
+QDynamicPropertyChangeEvent (0x7f3e57203620) 0
+ vptr=((& QDynamicPropertyChangeEvent::_ZTV27QDynamicPropertyChangeEvent) + 16u)
+ QEvent (0x7f3e57203690) 0
+ primary-for QDynamicPropertyChangeEvent (0x7f3e57203620)
+
+Vtable for QEventTransition
+QEventTransition::_ZTV16QEventTransition: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QEventTransition)
+16 QEventTransition::metaObject
+24 QEventTransition::qt_metacast
+32 QEventTransition::qt_metacall
+40 QEventTransition::~QEventTransition
+48 QEventTransition::~QEventTransition
+56 QEventTransition::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QEventTransition::eventTest
+120 QEventTransition::onTransition
+
+Class QEventTransition
+ size=16 align=8
+ base size=16 base align=8
+QEventTransition (0x7f3e57203af0) 0
+ vptr=((& QEventTransition::_ZTV16QEventTransition) + 16u)
+ QAbstractTransition (0x7f3e57203b60) 0
+ primary-for QEventTransition (0x7f3e57203af0)
+ QObject (0x7f3e57203bd0) 0
+ primary-for QAbstractTransition (0x7f3e57203b60)
+
+Vtable for QFinalState
+QFinalState::_ZTV11QFinalState: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QFinalState)
+16 QFinalState::metaObject
+24 QFinalState::qt_metacast
+32 QFinalState::qt_metacall
+40 QFinalState::~QFinalState
+48 QFinalState::~QFinalState
+56 QFinalState::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QFinalState::onEntry
+120 QFinalState::onExit
+
+Class QFinalState
+ size=16 align=8
+ base size=16 base align=8
+QFinalState (0x7f3e5721e9a0) 0
+ vptr=((& QFinalState::_ZTV11QFinalState) + 16u)
+ QAbstractState (0x7f3e5721ea10) 0
+ primary-for QFinalState (0x7f3e5721e9a0)
+ QObject (0x7f3e5721ea80) 0
+ primary-for QAbstractState (0x7f3e5721ea10)
+
+Vtable for QHistoryState
+QHistoryState::_ZTV13QHistoryState: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QHistoryState)
+16 QHistoryState::metaObject
+24 QHistoryState::qt_metacast
+32 QHistoryState::qt_metacall
+40 QHistoryState::~QHistoryState
+48 QHistoryState::~QHistoryState
+56 QHistoryState::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QHistoryState::onEntry
+120 QHistoryState::onExit
+
+Class QHistoryState
+ size=16 align=8
+ base size=16 base align=8
+QHistoryState (0x7f3e57239230) 0
+ vptr=((& QHistoryState::_ZTV13QHistoryState) + 16u)
+ QAbstractState (0x7f3e572392a0) 0
+ primary-for QHistoryState (0x7f3e57239230)
+ QObject (0x7f3e57239310) 0
+ primary-for QAbstractState (0x7f3e572392a0)
+
+Vtable for QSignalTransition
+QSignalTransition::_ZTV17QSignalTransition: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QSignalTransition)
+16 QSignalTransition::metaObject
+24 QSignalTransition::qt_metacast
+32 QSignalTransition::qt_metacall
+40 QSignalTransition::~QSignalTransition
+48 QSignalTransition::~QSignalTransition
+56 QSignalTransition::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QSignalTransition::eventTest
+120 QSignalTransition::onTransition
+
+Class QSignalTransition
+ size=16 align=8
+ base size=16 base align=8
+QSignalTransition (0x7f3e57248f50) 0
+ vptr=((& QSignalTransition::_ZTV17QSignalTransition) + 16u)
+ QAbstractTransition (0x7f3e57251000) 0
+ primary-for QSignalTransition (0x7f3e57248f50)
+ QObject (0x7f3e57251070) 0
+ primary-for QAbstractTransition (0x7f3e57251000)
+
+Vtable for QState
+QState::_ZTV6QState: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI6QState)
+16 QState::metaObject
+24 QState::qt_metacast
+32 QState::qt_metacall
+40 QState::~QState
+48 QState::~QState
+56 QState::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QState::onEntry
+120 QState::onExit
+
+Class QState
+ size=16 align=8
+ base size=16 base align=8
+QState (0x7f3e57265af0) 0
+ vptr=((& QState::_ZTV6QState) + 16u)
+ QAbstractState (0x7f3e57265b60) 0
+ primary-for QState (0x7f3e57265af0)
+ QObject (0x7f3e57265bd0) 0
+ primary-for QAbstractState (0x7f3e57265b60)
+
+Vtable for QStateMachine::SignalEvent
+QStateMachine::SignalEvent::_ZTVN13QStateMachine11SignalEventE: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN13QStateMachine11SignalEventE)
+16 QStateMachine::SignalEvent::~SignalEvent
+24 QStateMachine::SignalEvent::~SignalEvent
+
+Class QStateMachine::SignalEvent
+ size=48 align=8
+ base size=48 base align=8
+QStateMachine::SignalEvent (0x7f3e57089150) 0
+ vptr=((& QStateMachine::SignalEvent::_ZTVN13QStateMachine11SignalEventE) + 16u)
+ QEvent (0x7f3e570891c0) 0
+ primary-for QStateMachine::SignalEvent (0x7f3e57089150)
+
+Vtable for QStateMachine::WrappedEvent
+QStateMachine::WrappedEvent::_ZTVN13QStateMachine12WrappedEventE: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN13QStateMachine12WrappedEventE)
+16 QStateMachine::WrappedEvent::~WrappedEvent
+24 QStateMachine::WrappedEvent::~WrappedEvent
+
+Class QStateMachine::WrappedEvent
+ size=40 align=8
+ base size=40 base align=8
+QStateMachine::WrappedEvent (0x7f3e57089700) 0
+ vptr=((& QStateMachine::WrappedEvent::_ZTVN13QStateMachine12WrappedEventE) + 16u)
+ QEvent (0x7f3e57089770) 0
+ primary-for QStateMachine::WrappedEvent (0x7f3e57089700)
+
+Vtable for QStateMachine
+QStateMachine::_ZTV13QStateMachine: 20u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QStateMachine)
+16 QStateMachine::metaObject
+24 QStateMachine::qt_metacast
+32 QStateMachine::qt_metacall
+40 QStateMachine::~QStateMachine
+48 QStateMachine::~QStateMachine
+56 QStateMachine::event
+64 QStateMachine::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QStateMachine::onEntry
+120 QStateMachine::onExit
+128 QStateMachine::beginSelectTransitions
+136 QStateMachine::endSelectTransitions
+144 QStateMachine::beginMicrostep
+152 QStateMachine::endMicrostep
+
+Class QStateMachine
+ size=16 align=8
+ base size=16 base align=8
+QStateMachine (0x7f3e57080ee0) 0
+ vptr=((& QStateMachine::_ZTV13QStateMachine) + 16u)
+ QState (0x7f3e57080f50) 0
+ primary-for QStateMachine (0x7f3e57080ee0)
+ QAbstractState (0x7f3e57089000) 0
+ primary-for QState (0x7f3e57080f50)
+ QObject (0x7f3e57089070) 0
+ primary-for QAbstractState (0x7f3e57089000)
+
+Class QBitArray
+ size=8 align=8
+ base size=8 base align=8
+QBitArray (0x7f3e570b9150) 0
+
+Class QBitRef
+ size=16 align=8
+ base size=12 base align=8
+QBitRef (0x7f3e57110e00) 0
+
+Class QByteArrayMatcher::Data
+ size=272 align=8
+ base size=272 base align=8
+QByteArrayMatcher::Data (0x7f3e57123af0) 0
+
+Class QByteArrayMatcher
+ size=1040 align=8
+ base size=1040 base align=8
+QByteArrayMatcher (0x7f3e571234d0) 0
+
+Class QCryptographicHash
+ size=8 align=8
+ base size=8 base align=8
+QCryptographicHash (0x7f3e57159150) 0
+
+Vtable for QtSharedPointer::ExternalRefCountData
+QtSharedPointer::ExternalRefCountData::_ZTVN15QtSharedPointer20ExternalRefCountDataE: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN15QtSharedPointer20ExternalRefCountDataE)
+16 QtSharedPointer::ExternalRefCountData::~ExternalRefCountData
+24 QtSharedPointer::ExternalRefCountData::~ExternalRefCountData
+32 QtSharedPointer::ExternalRefCountData::destroy
+
+Class QtSharedPointer::ExternalRefCountData
+ size=16 align=8
+ base size=16 base align=8
+QtSharedPointer::ExternalRefCountData (0x7f3e56f84070) 0
+ vptr=((& QtSharedPointer::ExternalRefCountData::_ZTVN15QtSharedPointer20ExternalRefCountDataE) + 16u)
+
+Vtable for QtSharedPointer::ExternalRefCountWithDestroyFn
+QtSharedPointer::ExternalRefCountWithDestroyFn::_ZTVN15QtSharedPointer29ExternalRefCountWithDestroyFnE: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN15QtSharedPointer29ExternalRefCountWithDestroyFnE)
+16 QtSharedPointer::ExternalRefCountWithDestroyFn::~ExternalRefCountWithDestroyFn
+24 QtSharedPointer::ExternalRefCountWithDestroyFn::~ExternalRefCountWithDestroyFn
+32 QtSharedPointer::ExternalRefCountWithDestroyFn::destroy
+
+Class QtSharedPointer::ExternalRefCountWithDestroyFn
+ size=24 align=8
+ base size=24 base align=8
+QtSharedPointer::ExternalRefCountWithDestroyFn (0x7f3e56f9c930) 0
+ vptr=((& QtSharedPointer::ExternalRefCountWithDestroyFn::_ZTVN15QtSharedPointer29ExternalRefCountWithDestroyFnE) + 16u)
+ QtSharedPointer::ExternalRefCountData (0x7f3e56f9c9a0) 0
+ primary-for QtSharedPointer::ExternalRefCountWithDestroyFn (0x7f3e56f9c930)
+
+Class QDate
+ size=4 align=4
+ base size=4 base align=4
+QDate (0x7f3e570215b0) 0
+
+Class QTime
+ size=4 align=4
+ base size=4 base align=4
+QTime (0x7f3e57053540) 0
+
+Class QDateTime
+ size=8 align=8
+ base size=8 base align=8
+QDateTime (0x7f3e56e6eaf0) 0
+
+Class QEasingCurve
+ size=8 align=8
+ base size=8 base align=8
+QEasingCurve (0x7f3e56eb6000) 0
+
+Class QPoint
+ size=8 align=4
+ base size=8 base align=4
+QPoint (0x7f3e56eb6ee0) 0
+
+Class QPointF
+ size=16 align=8
+ base size=16 base align=8
+QPointF (0x7f3e56ef8af0) 0
+
+Class QLine
+ size=16 align=4
+ base size=16 base align=4
+QLine (0x7f3e56f37af0) 0
+
+Class QLineF
+ size=32 align=8
+ base size=32 base align=8
+QLineF (0x7f3e56d689a0) 0
+
+Class QLinkedListData
+ size=32 align=8
+ base size=32 base align=8
+QLinkedListData (0x7f3e56dc7460) 0
+
+Class QMargins
+ size=16 align=4
+ base size=16 base align=4
+QMargins (0x7f3e56c86380) 0
+
+Class QSize
+ size=8 align=4
+ base size=8 base align=4
+QSize (0x7f3e56cb3150) 0
+
+Class QSizeF
+ size=16 align=8
+ base size=16 base align=8
+QSizeF (0x7f3e56cf4e00) 0
+
+Class QRect
+ size=16 align=4
+ base size=16 base align=4
+QRect (0x7f3e56d48380) 0
+
+Class QRectF
+ size=32 align=8
+ base size=32 base align=8
+QRectF (0x7f3e56bf3d20) 0
+
+Class QLatin1Literal
+ size=16 align=8
+ base size=16 base align=8
+QLatin1Literal (0x7f3e56aa3ee0) 0
+
+Class QAbstractConcatenable
+ size=1 align=1
+ base size=0 base align=1
+QAbstractConcatenable (0x7f3e56ab43f0) 0 empty
+
+Class QTextBoundaryFinder
+ size=48 align=8
+ base size=48 base align=8
+QTextBoundaryFinder (0x7f3e56aea380) 0
+
+Vtable for QTimeLine
+QTimeLine::_ZTV9QTimeLine: 15u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QTimeLine)
+16 QTimeLine::metaObject
+24 QTimeLine::qt_metacast
+32 QTimeLine::qt_metacall
+40 QTimeLine::~QTimeLine
+48 QTimeLine::~QTimeLine
+56 QObject::event
+64 QObject::eventFilter
+72 QTimeLine::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QTimeLine::valueForTime
+
+Class QTimeLine
+ size=16 align=8
+ base size=16 base align=8
+QTimeLine (0x7f3e56afd700) 0
+ vptr=((& QTimeLine::_ZTV9QTimeLine) + 16u)
+ QObject (0x7f3e56afd770) 0
+ primary-for QTimeLine (0x7f3e56afd700)
+
+Vtable for QRunnable
+QRunnable::_ZTV9QRunnable: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QRunnable)
+16 __cxa_pure_virtual
+24 QRunnable::~QRunnable
+32 QRunnable::~QRunnable
+
+Class QRunnable
+ size=16 align=8
+ base size=12 base align=8
+QRunnable (0x7f3e56b24f50) 0
+ vptr=((& QRunnable::_ZTV9QRunnable) + 16u)
+
+Class QMutex
+ size=8 align=8
+ base size=8 base align=8
+QMutex (0x7f3e56b5a620) 0
+
+Class QMutexLocker
+ size=8 align=8
+ base size=8 base align=8
+QMutexLocker (0x7f3e569681c0) 0
+
+Vtable for QtConcurrent::Exception
+QtConcurrent::Exception::_ZTVN12QtConcurrent9ExceptionE: 7u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN12QtConcurrent9ExceptionE)
+16 QtConcurrent::Exception::~Exception
+24 QtConcurrent::Exception::~Exception
+32 std::exception::what
+40 QtConcurrent::Exception::raise
+48 QtConcurrent::Exception::clone
+
+Class QtConcurrent::Exception
+ size=8 align=8
+ base size=8 base align=8
+QtConcurrent::Exception (0x7f3e5697f4d0) 0 nearly-empty
+ vptr=((& QtConcurrent::Exception::_ZTVN12QtConcurrent9ExceptionE) + 16u)
+ std::exception (0x7f3e5697f540) 0 nearly-empty
+ primary-for QtConcurrent::Exception (0x7f3e5697f4d0)
+
+Vtable for QtConcurrent::UnhandledException
+QtConcurrent::UnhandledException::_ZTVN12QtConcurrent18UnhandledExceptionE: 7u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN12QtConcurrent18UnhandledExceptionE)
+16 QtConcurrent::UnhandledException::~UnhandledException
+24 QtConcurrent::UnhandledException::~UnhandledException
+32 std::exception::what
+40 QtConcurrent::UnhandledException::raise
+48 QtConcurrent::UnhandledException::clone
+
+Class QtConcurrent::UnhandledException
+ size=8 align=8
+ base size=8 base align=8
+QtConcurrent::UnhandledException (0x7f3e5697f770) 0 nearly-empty
+ vptr=((& QtConcurrent::UnhandledException::_ZTVN12QtConcurrent18UnhandledExceptionE) + 16u)
+ QtConcurrent::Exception (0x7f3e5697f7e0) 0 nearly-empty
+ primary-for QtConcurrent::UnhandledException (0x7f3e5697f770)
+ std::exception (0x7f3e5697f850) 0 nearly-empty
+ primary-for QtConcurrent::Exception (0x7f3e5697f7e0)
+
+Class QtConcurrent::internal::ExceptionHolder
+ size=8 align=8
+ base size=8 base align=8
+QtConcurrent::internal::ExceptionHolder (0x7f3e5697fa80) 0
+
+Class QtConcurrent::internal::ExceptionStore
+ size=8 align=8
+ base size=8 base align=8
+QtConcurrent::internal::ExceptionStore (0x7f3e5697fe00) 0
+
+Class QtConcurrent::ResultItem
+ size=16 align=8
+ base size=16 base align=8
+QtConcurrent::ResultItem (0x7f3e5697fe70) 0
+
+Class QtConcurrent::ResultIteratorBase
+ size=16 align=8
+ base size=12 base align=8
+QtConcurrent::ResultIteratorBase (0x7f3e56997d90) 0
+
+Vtable for QtConcurrent::ResultStoreBase
+QtConcurrent::ResultStoreBase::_ZTVN12QtConcurrent15ResultStoreBaseE: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN12QtConcurrent15ResultStoreBaseE)
+16 QtConcurrent::ResultStoreBase::~ResultStoreBase
+24 QtConcurrent::ResultStoreBase::~ResultStoreBase
+
+Class QtConcurrent::ResultStoreBase
+ size=48 align=8
+ base size=44 base align=8
+QtConcurrent::ResultStoreBase (0x7f3e5699d930) 0
+ vptr=((& QtConcurrent::ResultStoreBase::_ZTVN12QtConcurrent15ResultStoreBaseE) + 16u)
+
+Vtable for QFutureInterfaceBase
+QFutureInterfaceBase::_ZTV20QFutureInterfaceBase: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI20QFutureInterfaceBase)
+16 QFutureInterfaceBase::~QFutureInterfaceBase
+24 QFutureInterfaceBase::~QFutureInterfaceBase
+
+Class QFutureInterfaceBase
+ size=16 align=8
+ base size=16 base align=8
+QFutureInterfaceBase (0x7f3e569dad90) 0
+ vptr=((& QFutureInterfaceBase::_ZTV20QFutureInterfaceBase) + 16u)
+
+Vtable for QFutureWatcherBase
+QFutureWatcherBase::_ZTV18QFutureWatcherBase: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QFutureWatcherBase)
+16 QFutureWatcherBase::metaObject
+24 QFutureWatcherBase::qt_metacast
+32 QFutureWatcherBase::qt_metacall
+40 QFutureWatcherBase::~QFutureWatcherBase
+48 QFutureWatcherBase::~QFutureWatcherBase
+56 QFutureWatcherBase::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QFutureWatcherBase::connectNotify
+104 QFutureWatcherBase::disconnectNotify
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+
+Class QFutureWatcherBase
+ size=16 align=8
+ base size=16 base align=8
+QFutureWatcherBase (0x7f3e568c0690) 0
+ vptr=((& QFutureWatcherBase::_ZTV18QFutureWatcherBase) + 16u)
+ QObject (0x7f3e568c0700) 0
+ primary-for QFutureWatcherBase (0x7f3e568c0690)
+
+Vtable for QThread
+QThread::_ZTV7QThread: 15u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QThread)
+16 QThread::metaObject
+24 QThread::qt_metacast
+32 QThread::qt_metacall
+40 QThread::~QThread
+48 QThread::~QThread
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QThread::run
+
+Class QThread
+ size=16 align=8
+ base size=16 base align=8
+QThread (0x7f3e56912a80) 0
+ vptr=((& QThread::_ZTV7QThread) + 16u)
+ QObject (0x7f3e56912af0) 0
+ primary-for QThread (0x7f3e56912a80)
+
+Vtable for QThreadPool
+QThreadPool::_ZTV11QThreadPool: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QThreadPool)
+16 QThreadPool::metaObject
+24 QThreadPool::qt_metacast
+32 QThreadPool::qt_metacall
+40 QThreadPool::~QThreadPool
+48 QThreadPool::~QThreadPool
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QThreadPool
+ size=16 align=8
+ base size=16 base align=8
+QThreadPool (0x7f3e56938930) 0
+ vptr=((& QThreadPool::_ZTV11QThreadPool) + 16u)
+ QObject (0x7f3e569389a0) 0
+ primary-for QThreadPool (0x7f3e56938930)
+
+Class QWaitCondition
+ size=8 align=8
+ base size=8 base align=8
+QWaitCondition (0x7f3e5694bee0) 0
+
+Class QSemaphore
+ size=8 align=8
+ base size=8 base align=8
+QSemaphore (0x7f3e56952460) 0
+
+Class QtConcurrent::ThreadEngineBarrier
+ size=24 align=8
+ base size=24 base align=8
+QtConcurrent::ThreadEngineBarrier (0x7f3e569529a0) 0
+
+Vtable for QtConcurrent::ThreadEngineBase
+QtConcurrent::ThreadEngineBase::_ZTVN12QtConcurrent16ThreadEngineBaseE: 11u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN12QtConcurrent16ThreadEngineBaseE)
+16 QtConcurrent::ThreadEngineBase::run
+24 QtConcurrent::ThreadEngineBase::~ThreadEngineBase
+32 QtConcurrent::ThreadEngineBase::~ThreadEngineBase
+40 QtConcurrent::ThreadEngineBase::start
+48 QtConcurrent::ThreadEngineBase::finish
+56 QtConcurrent::ThreadEngineBase::threadFunction
+64 QtConcurrent::ThreadEngineBase::shouldStartThread
+72 QtConcurrent::ThreadEngineBase::shouldThrottleThread
+80 __cxa_pure_virtual
+
+Class QtConcurrent::ThreadEngineBase
+ size=64 align=8
+ base size=64 base align=8
+QtConcurrent::ThreadEngineBase (0x7f3e56952a80) 0
+ vptr=((& QtConcurrent::ThreadEngineBase::_ZTVN12QtConcurrent16ThreadEngineBaseE) + 16u)
+ QRunnable (0x7f3e56952af0) 0
+ primary-for QtConcurrent::ThreadEngineBase (0x7f3e56952a80)
+
+VTT for QtConcurrent::ThreadEngine<void>
+QtConcurrent::ThreadEngine<void>::_ZTTN12QtConcurrent12ThreadEngineIvEE: 2u entries
+0 ((& QtConcurrent::ThreadEngine<void>::_ZTVN12QtConcurrent12ThreadEngineIvEE) + 24u)
+8 ((& QtConcurrent::ThreadEngine<void>::_ZTVN12QtConcurrent12ThreadEngineIvEE) + 136u)
+
+Class QtConcurrent::BlockSizeManager
+ size=96 align=8
+ base size=92 base align=8
+QtConcurrent::BlockSizeManager (0x7f3e567a0ee0) 0
+
+Vtable for QFactoryInterface
+QFactoryInterface::_ZTV17QFactoryInterface: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QFactoryInterface)
+16 QFactoryInterface::~QFactoryInterface
+24 QFactoryInterface::~QFactoryInterface
+32 __cxa_pure_virtual
+
+Class QFactoryInterface
+ size=8 align=8
+ base size=8 base align=8
+QFactoryInterface (0x7f3e56443d20) 0 nearly-empty
+ vptr=((& QFactoryInterface::_ZTV17QFactoryInterface) + 16u)
+
+Vtable for QTextCodecFactoryInterface
+QTextCodecFactoryInterface::_ZTV26QTextCodecFactoryInterface: 6u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI26QTextCodecFactoryInterface)
+16 QTextCodecFactoryInterface::~QTextCodecFactoryInterface
+24 QTextCodecFactoryInterface::~QTextCodecFactoryInterface
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+
+Class QTextCodecFactoryInterface
+ size=8 align=8
+ base size=8 base align=8
+QTextCodecFactoryInterface (0x7f3e56275000) 0 nearly-empty
+ vptr=((& QTextCodecFactoryInterface::_ZTV26QTextCodecFactoryInterface) + 16u)
+ QFactoryInterface (0x7f3e56275070) 0 nearly-empty
+ primary-for QTextCodecFactoryInterface (0x7f3e56275000)
+
+Vtable for QTextCodecPlugin
+QTextCodecPlugin::_ZTV16QTextCodecPlugin: 27u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QTextCodecPlugin)
+16 QTextCodecPlugin::metaObject
+24 QTextCodecPlugin::qt_metacast
+32 QTextCodecPlugin::qt_metacall
+40 QTextCodecPlugin::~QTextCodecPlugin
+48 QTextCodecPlugin::~QTextCodecPlugin
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 __cxa_pure_virtual
+136 __cxa_pure_virtual
+144 __cxa_pure_virtual
+152 QTextCodecPlugin::keys
+160 QTextCodecPlugin::create
+168 (int (*)(...))-0x00000000000000010
+176 (int (*)(...))(& _ZTI16QTextCodecPlugin)
+184 QTextCodecPlugin::_ZThn16_N16QTextCodecPluginD1Ev
+192 QTextCodecPlugin::_ZThn16_N16QTextCodecPluginD0Ev
+200 QTextCodecPlugin::_ZThn16_NK16QTextCodecPlugin4keysEv
+208 QTextCodecPlugin::_ZThn16_N16QTextCodecPlugin6createERK7QString
+
+Class QTextCodecPlugin
+ size=24 align=8
+ base size=24 base align=8
+QTextCodecPlugin (0x7f3e5627f580) 0
+ vptr=((& QTextCodecPlugin::_ZTV16QTextCodecPlugin) + 16u)
+ QObject (0x7f3e56275a80) 0
+ primary-for QTextCodecPlugin (0x7f3e5627f580)
+ QTextCodecFactoryInterface (0x7f3e56275af0) 16 nearly-empty
+ vptr=((& QTextCodecPlugin::_ZTV16QTextCodecPlugin) + 184u)
+ QFactoryInterface (0x7f3e56275b60) 16 nearly-empty
+ primary-for QTextCodecFactoryInterface (0x7f3e56275af0)
+
+Class QLibraryInfo
+ size=1 align=1
+ base size=0 base align=1
+QLibraryInfo (0x7f3e562cb150) 0 empty
+
+Vtable for QEventLoop
+QEventLoop::_ZTV10QEventLoop: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QEventLoop)
+16 QEventLoop::metaObject
+24 QEventLoop::qt_metacast
+32 QEventLoop::qt_metacall
+40 QEventLoop::~QEventLoop
+48 QEventLoop::~QEventLoop
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QEventLoop
+ size=16 align=8
+ base size=16 base align=8
+QEventLoop (0x7f3e562cb2a0) 0
+ vptr=((& QEventLoop::_ZTV10QEventLoop) + 16u)
+ QObject (0x7f3e562cb310) 0
+ primary-for QEventLoop (0x7f3e562cb2a0)
+
+Vtable for QAbstractEventDispatcher
+QAbstractEventDispatcher::_ZTV24QAbstractEventDispatcher: 27u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI24QAbstractEventDispatcher)
+16 QAbstractEventDispatcher::metaObject
+24 QAbstractEventDispatcher::qt_metacast
+32 QAbstractEventDispatcher::qt_metacall
+40 QAbstractEventDispatcher::~QAbstractEventDispatcher
+48 QAbstractEventDispatcher::~QAbstractEventDispatcher
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 __cxa_pure_virtual
+136 __cxa_pure_virtual
+144 __cxa_pure_virtual
+152 __cxa_pure_virtual
+160 __cxa_pure_virtual
+168 __cxa_pure_virtual
+176 __cxa_pure_virtual
+184 __cxa_pure_virtual
+192 __cxa_pure_virtual
+200 QAbstractEventDispatcher::startingUp
+208 QAbstractEventDispatcher::closingDown
+
+Class QAbstractEventDispatcher
+ size=16 align=8
+ base size=16 base align=8
+QAbstractEventDispatcher (0x7f3e56306bd0) 0
+ vptr=((& QAbstractEventDispatcher::_ZTV24QAbstractEventDispatcher) + 16u)
+ QObject (0x7f3e56306c40) 0
+ primary-for QAbstractEventDispatcher (0x7f3e56306bd0)
+
+Class QModelIndex
+ size=24 align=8
+ base size=24 base align=8
+QModelIndex (0x7f3e5632ca80) 0
+
+Class QPersistentModelIndex
+ size=8 align=8
+ base size=8 base align=8
+QPersistentModelIndex (0x7f3e56357540) 0
+
+Vtable for QAbstractItemModel
+QAbstractItemModel::_ZTV18QAbstractItemModel: 42u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QAbstractItemModel)
+16 QAbstractItemModel::metaObject
+24 QAbstractItemModel::qt_metacast
+32 QAbstractItemModel::qt_metacall
+40 QAbstractItemModel::~QAbstractItemModel
+48 QAbstractItemModel::~QAbstractItemModel
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 __cxa_pure_virtual
+136 __cxa_pure_virtual
+144 QAbstractItemModel::hasChildren
+152 __cxa_pure_virtual
+160 QAbstractItemModel::setData
+168 QAbstractItemModel::headerData
+176 QAbstractItemModel::setHeaderData
+184 QAbstractItemModel::itemData
+192 QAbstractItemModel::setItemData
+200 QAbstractItemModel::mimeTypes
+208 QAbstractItemModel::mimeData
+216 QAbstractItemModel::dropMimeData
+224 QAbstractItemModel::supportedDropActions
+232 QAbstractItemModel::insertRows
+240 QAbstractItemModel::insertColumns
+248 QAbstractItemModel::removeRows
+256 QAbstractItemModel::removeColumns
+264 QAbstractItemModel::fetchMore
+272 QAbstractItemModel::canFetchMore
+280 QAbstractItemModel::flags
+288 QAbstractItemModel::sort
+296 QAbstractItemModel::buddy
+304 QAbstractItemModel::match
+312 QAbstractItemModel::span
+320 QAbstractItemModel::submit
+328 QAbstractItemModel::revert
+
+Class QAbstractItemModel
+ size=16 align=8
+ base size=16 base align=8
+QAbstractItemModel (0x7f3e56160850) 0
+ vptr=((& QAbstractItemModel::_ZTV18QAbstractItemModel) + 16u)
+ QObject (0x7f3e561608c0) 0
+ primary-for QAbstractItemModel (0x7f3e56160850)
+
+Vtable for QAbstractTableModel
+QAbstractTableModel::_ZTV19QAbstractTableModel: 42u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QAbstractTableModel)
+16 QAbstractTableModel::metaObject
+24 QAbstractTableModel::qt_metacast
+32 QAbstractTableModel::qt_metacall
+40 QAbstractTableModel::~QAbstractTableModel
+48 QAbstractTableModel::~QAbstractTableModel
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QAbstractTableModel::index
+120 QAbstractTableModel::parent
+128 __cxa_pure_virtual
+136 __cxa_pure_virtual
+144 QAbstractTableModel::hasChildren
+152 __cxa_pure_virtual
+160 QAbstractItemModel::setData
+168 QAbstractItemModel::headerData
+176 QAbstractItemModel::setHeaderData
+184 QAbstractItemModel::itemData
+192 QAbstractItemModel::setItemData
+200 QAbstractItemModel::mimeTypes
+208 QAbstractItemModel::mimeData
+216 QAbstractTableModel::dropMimeData
+224 QAbstractItemModel::supportedDropActions
+232 QAbstractItemModel::insertRows
+240 QAbstractItemModel::insertColumns
+248 QAbstractItemModel::removeRows
+256 QAbstractItemModel::removeColumns
+264 QAbstractItemModel::fetchMore
+272 QAbstractItemModel::canFetchMore
+280 QAbstractItemModel::flags
+288 QAbstractItemModel::sort
+296 QAbstractItemModel::buddy
+304 QAbstractItemModel::match
+312 QAbstractItemModel::span
+320 QAbstractItemModel::submit
+328 QAbstractItemModel::revert
+
+Class QAbstractTableModel
+ size=16 align=8
+ base size=16 base align=8
+QAbstractTableModel (0x7f3e561bbb60) 0
+ vptr=((& QAbstractTableModel::_ZTV19QAbstractTableModel) + 16u)
+ QAbstractItemModel (0x7f3e561bbbd0) 0
+ primary-for QAbstractTableModel (0x7f3e561bbb60)
+ QObject (0x7f3e561bbc40) 0
+ primary-for QAbstractItemModel (0x7f3e561bbbd0)
+
+Vtable for QAbstractListModel
+QAbstractListModel::_ZTV18QAbstractListModel: 42u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QAbstractListModel)
+16 QAbstractListModel::metaObject
+24 QAbstractListModel::qt_metacast
+32 QAbstractListModel::qt_metacall
+40 QAbstractListModel::~QAbstractListModel
+48 QAbstractListModel::~QAbstractListModel
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QAbstractListModel::index
+120 QAbstractListModel::parent
+128 __cxa_pure_virtual
+136 QAbstractListModel::columnCount
+144 QAbstractListModel::hasChildren
+152 __cxa_pure_virtual
+160 QAbstractItemModel::setData
+168 QAbstractItemModel::headerData
+176 QAbstractItemModel::setHeaderData
+184 QAbstractItemModel::itemData
+192 QAbstractItemModel::setItemData
+200 QAbstractItemModel::mimeTypes
+208 QAbstractItemModel::mimeData
+216 QAbstractListModel::dropMimeData
+224 QAbstractItemModel::supportedDropActions
+232 QAbstractItemModel::insertRows
+240 QAbstractItemModel::insertColumns
+248 QAbstractItemModel::removeRows
+256 QAbstractItemModel::removeColumns
+264 QAbstractItemModel::fetchMore
+272 QAbstractItemModel::canFetchMore
+280 QAbstractItemModel::flags
+288 QAbstractItemModel::sort
+296 QAbstractItemModel::buddy
+304 QAbstractItemModel::match
+312 QAbstractItemModel::span
+320 QAbstractItemModel::submit
+328 QAbstractItemModel::revert
+
+Class QAbstractListModel
+ size=16 align=8
+ base size=16 base align=8
+QAbstractListModel (0x7f3e561d80e0) 0
+ vptr=((& QAbstractListModel::_ZTV18QAbstractListModel) + 16u)
+ QAbstractItemModel (0x7f3e561d8150) 0
+ primary-for QAbstractListModel (0x7f3e561d80e0)
+ QObject (0x7f3e561d81c0) 0
+ primary-for QAbstractItemModel (0x7f3e561d8150)
+
+Class QBasicTimer
+ size=4 align=4
+ base size=4 base align=4
+QBasicTimer (0x7f3e56208230) 0
+
+Vtable for QCoreApplication
+QCoreApplication::_ZTV16QCoreApplication: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QCoreApplication)
+16 QCoreApplication::metaObject
+24 QCoreApplication::qt_metacast
+32 QCoreApplication::qt_metacall
+40 QCoreApplication::~QCoreApplication
+48 QCoreApplication::~QCoreApplication
+56 QCoreApplication::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QCoreApplication::notify
+120 QCoreApplication::compressEvent
+
+Class QCoreApplication
+ size=16 align=8
+ base size=16 base align=8
+QCoreApplication (0x7f3e56216620) 0
+ vptr=((& QCoreApplication::_ZTV16QCoreApplication) + 16u)
+ QObject (0x7f3e56216690) 0
+ primary-for QCoreApplication (0x7f3e56216620)
+
+Class __exception
+ size=40 align=8
+ base size=40 base align=8
+__exception (0x7f3e56248310) 0
+
+Class QMetaMethod
+ size=16 align=8
+ base size=12 base align=8
+QMetaMethod (0x7f3e560b5770) 0
+
+Class QMetaEnum
+ size=16 align=8
+ base size=12 base align=8
+QMetaEnum (0x7f3e560d1bd0) 0
+
+Class QMetaProperty
+ size=32 align=8
+ base size=32 base align=8
+QMetaProperty (0x7f3e560e0930) 0
+
+Class QMetaClassInfo
+ size=16 align=8
+ base size=12 base align=8
+QMetaClassInfo (0x7f3e560f0000) 0
+
+Vtable for QMimeData
+QMimeData::_ZTV9QMimeData: 17u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QMimeData)
+16 QMimeData::metaObject
+24 QMimeData::qt_metacast
+32 QMimeData::qt_metacall
+40 QMimeData::~QMimeData
+48 QMimeData::~QMimeData
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QMimeData::hasFormat
+120 QMimeData::formats
+128 QMimeData::retrieveData
+
+Class QMimeData
+ size=16 align=8
+ base size=16 base align=8
+QMimeData (0x7f3e560f0af0) 0
+ vptr=((& QMimeData::_ZTV9QMimeData) + 16u)
+ QObject (0x7f3e560f0b60) 0
+ primary-for QMimeData (0x7f3e560f0af0)
+
+Vtable for QObjectCleanupHandler
+QObjectCleanupHandler::_ZTV21QObjectCleanupHandler: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI21QObjectCleanupHandler)
+16 QObjectCleanupHandler::metaObject
+24 QObjectCleanupHandler::qt_metacast
+32 QObjectCleanupHandler::qt_metacall
+40 QObjectCleanupHandler::~QObjectCleanupHandler
+48 QObjectCleanupHandler::~QObjectCleanupHandler
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QObjectCleanupHandler
+ size=24 align=8
+ base size=24 base align=8
+QObjectCleanupHandler (0x7f3e56113380) 0
+ vptr=((& QObjectCleanupHandler::_ZTV21QObjectCleanupHandler) + 16u)
+ QObject (0x7f3e561133f0) 0
+ primary-for QObjectCleanupHandler (0x7f3e56113380)
+
+Vtable for QSharedMemory
+QSharedMemory::_ZTV13QSharedMemory: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QSharedMemory)
+16 QSharedMemory::metaObject
+24 QSharedMemory::qt_metacast
+32 QSharedMemory::qt_metacall
+40 QSharedMemory::~QSharedMemory
+48 QSharedMemory::~QSharedMemory
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QSharedMemory
+ size=16 align=8
+ base size=16 base align=8
+QSharedMemory (0x7f3e561254d0) 0
+ vptr=((& QSharedMemory::_ZTV13QSharedMemory) + 16u)
+ QObject (0x7f3e56125540) 0
+ primary-for QSharedMemory (0x7f3e561254d0)
+
+Vtable for QSignalMapper
+QSignalMapper::_ZTV13QSignalMapper: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QSignalMapper)
+16 QSignalMapper::metaObject
+24 QSignalMapper::qt_metacast
+32 QSignalMapper::qt_metacall
+40 QSignalMapper::~QSignalMapper
+48 QSignalMapper::~QSignalMapper
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QSignalMapper
+ size=16 align=8
+ base size=16 base align=8
+QSignalMapper (0x7f3e5613f2a0) 0
+ vptr=((& QSignalMapper::_ZTV13QSignalMapper) + 16u)
+ QObject (0x7f3e5613f310) 0
+ primary-for QSignalMapper (0x7f3e5613f2a0)
+
+Vtable for QSocketNotifier
+QSocketNotifier::_ZTV15QSocketNotifier: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QSocketNotifier)
+16 QSocketNotifier::metaObject
+24 QSocketNotifier::qt_metacast
+32 QSocketNotifier::qt_metacall
+40 QSocketNotifier::~QSocketNotifier
+48 QSocketNotifier::~QSocketNotifier
+56 QSocketNotifier::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QSocketNotifier
+ size=32 align=8
+ base size=25 base align=8
+QSocketNotifier (0x7f3e55f5c690) 0
+ vptr=((& QSocketNotifier::_ZTV15QSocketNotifier) + 16u)
+ QObject (0x7f3e55f5c700) 0
+ primary-for QSocketNotifier (0x7f3e55f5c690)
+
+Class QSystemSemaphore
+ size=8 align=8
+ base size=8 base align=8
+QSystemSemaphore (0x7f3e55f74a10) 0
+
+Vtable for QTimer
+QTimer::_ZTV6QTimer: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI6QTimer)
+16 QTimer::metaObject
+24 QTimer::qt_metacast
+32 QTimer::qt_metacall
+40 QTimer::~QTimer
+48 QTimer::~QTimer
+56 QObject::event
+64 QObject::eventFilter
+72 QTimer::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QTimer
+ size=32 align=8
+ base size=29 base align=8
+QTimer (0x7f3e55f7f460) 0
+ vptr=((& QTimer::_ZTV6QTimer) + 16u)
+ QObject (0x7f3e55f7f4d0) 0
+ primary-for QTimer (0x7f3e55f7f460)
+
+Vtable for QTranslator
+QTranslator::_ZTV11QTranslator: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QTranslator)
+16 QTranslator::metaObject
+24 QTranslator::qt_metacast
+32 QTranslator::qt_metacall
+40 QTranslator::~QTranslator
+48 QTranslator::~QTranslator
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QTranslator::translate
+120 QTranslator::isEmpty
+
+Class QTranslator
+ size=16 align=8
+ base size=16 base align=8
+QTranslator (0x7f3e55fa49a0) 0
+ vptr=((& QTranslator::_ZTV11QTranslator) + 16u)
+ QObject (0x7f3e55fa4a10) 0
+ primary-for QTranslator (0x7f3e55fa49a0)
+
+Vtable for QLibrary
+QLibrary::_ZTV8QLibrary: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI8QLibrary)
+16 QLibrary::metaObject
+24 QLibrary::qt_metacast
+32 QLibrary::qt_metacall
+40 QLibrary::~QLibrary
+48 QLibrary::~QLibrary
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QLibrary
+ size=32 align=8
+ base size=25 base align=8
+QLibrary (0x7f3e55fbf930) 0
+ vptr=((& QLibrary::_ZTV8QLibrary) + 16u)
+ QObject (0x7f3e55fbf9a0) 0
+ primary-for QLibrary (0x7f3e55fbf930)
+
+Vtable for QPluginLoader
+QPluginLoader::_ZTV13QPluginLoader: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QPluginLoader)
+16 QPluginLoader::metaObject
+24 QPluginLoader::qt_metacast
+32 QPluginLoader::qt_metacall
+40 QPluginLoader::~QPluginLoader
+48 QPluginLoader::~QPluginLoader
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QPluginLoader
+ size=32 align=8
+ base size=25 base align=8
+QPluginLoader (0x7f3e5600c3f0) 0
+ vptr=((& QPluginLoader::_ZTV13QPluginLoader) + 16u)
+ QObject (0x7f3e5600c460) 0
+ primary-for QPluginLoader (0x7f3e5600c3f0)
+
+Class QUuid
+ size=16 align=4
+ base size=16 base align=4
+QUuid (0x7f3e5601ab60) 0
+
+Class QReadWriteLock
+ size=8 align=8
+ base size=8 base align=8
+QReadWriteLock (0x7f3e560414d0) 0
+
+Class QReadLocker
+ size=8 align=8
+ base size=8 base align=8
+QReadLocker (0x7f3e56041b60) 0
+
+Class QWriteLocker
+ size=8 align=8
+ base size=8 base align=8
+QWriteLocker (0x7f3e55e61ee0) 0
+
+Class QThreadStorageData
+ size=4 align=4
+ base size=4 base align=4
+QThreadStorageData (0x7f3e55e7a2a0) 0
+
+Vtable for QAbstractAnimation
+QAbstractAnimation::_ZTV18QAbstractAnimation: 18u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QAbstractAnimation)
+16 QAbstractAnimation::metaObject
+24 QAbstractAnimation::qt_metacast
+32 QAbstractAnimation::qt_metacall
+40 QAbstractAnimation::~QAbstractAnimation
+48 QAbstractAnimation::~QAbstractAnimation
+56 QAbstractAnimation::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 QAbstractAnimation::updateState
+136 QAbstractAnimation::updateDirection
+
+Class QAbstractAnimation
+ size=16 align=8
+ base size=16 base align=8
+QAbstractAnimation (0x7f3e55e7aa10) 0
+ vptr=((& QAbstractAnimation::_ZTV18QAbstractAnimation) + 16u)
+ QObject (0x7f3e55e7aa80) 0
+ primary-for QAbstractAnimation (0x7f3e55e7aa10)
+
+Vtable for QAnimationGroup
+QAnimationGroup::_ZTV15QAnimationGroup: 18u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QAnimationGroup)
+16 QAnimationGroup::metaObject
+24 QAnimationGroup::qt_metacast
+32 QAnimationGroup::qt_metacall
+40 QAnimationGroup::~QAnimationGroup
+48 QAnimationGroup::~QAnimationGroup
+56 QAnimationGroup::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 QAbstractAnimation::updateState
+136 QAbstractAnimation::updateDirection
+
+Class QAnimationGroup
+ size=16 align=8
+ base size=16 base align=8
+QAnimationGroup (0x7f3e55eb1150) 0
+ vptr=((& QAnimationGroup::_ZTV15QAnimationGroup) + 16u)
+ QAbstractAnimation (0x7f3e55eb11c0) 0
+ primary-for QAnimationGroup (0x7f3e55eb1150)
+ QObject (0x7f3e55eb1230) 0
+ primary-for QAbstractAnimation (0x7f3e55eb11c0)
+
+Vtable for QParallelAnimationGroup
+QParallelAnimationGroup::_ZTV23QParallelAnimationGroup: 18u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI23QParallelAnimationGroup)
+16 QParallelAnimationGroup::metaObject
+24 QParallelAnimationGroup::qt_metacast
+32 QParallelAnimationGroup::qt_metacall
+40 QParallelAnimationGroup::~QParallelAnimationGroup
+48 QParallelAnimationGroup::~QParallelAnimationGroup
+56 QParallelAnimationGroup::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QParallelAnimationGroup::duration
+120 QParallelAnimationGroup::updateCurrentTime
+128 QParallelAnimationGroup::updateState
+136 QParallelAnimationGroup::updateDirection
+
+Class QParallelAnimationGroup
+ size=16 align=8
+ base size=16 base align=8
+QParallelAnimationGroup (0x7f3e55ecc000) 0
+ vptr=((& QParallelAnimationGroup::_ZTV23QParallelAnimationGroup) + 16u)
+ QAnimationGroup (0x7f3e55ecc070) 0
+ primary-for QParallelAnimationGroup (0x7f3e55ecc000)
+ QAbstractAnimation (0x7f3e55ecc0e0) 0
+ primary-for QAnimationGroup (0x7f3e55ecc070)
+ QObject (0x7f3e55ecc150) 0
+ primary-for QAbstractAnimation (0x7f3e55ecc0e0)
+
+Vtable for QPauseAnimation
+QPauseAnimation::_ZTV15QPauseAnimation: 18u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QPauseAnimation)
+16 QPauseAnimation::metaObject
+24 QPauseAnimation::qt_metacast
+32 QPauseAnimation::qt_metacall
+40 QPauseAnimation::~QPauseAnimation
+48 QPauseAnimation::~QPauseAnimation
+56 QPauseAnimation::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QPauseAnimation::duration
+120 QPauseAnimation::updateCurrentTime
+128 QAbstractAnimation::updateState
+136 QAbstractAnimation::updateDirection
+
+Class QPauseAnimation
+ size=16 align=8
+ base size=16 base align=8
+QPauseAnimation (0x7f3e55edbe70) 0
+ vptr=((& QPauseAnimation::_ZTV15QPauseAnimation) + 16u)
+ QAbstractAnimation (0x7f3e55edbee0) 0
+ primary-for QPauseAnimation (0x7f3e55edbe70)
+ QObject (0x7f3e55edbf50) 0
+ primary-for QAbstractAnimation (0x7f3e55edbee0)
+
+Vtable for QVariantAnimation
+QVariantAnimation::_ZTV17QVariantAnimation: 20u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QVariantAnimation)
+16 QVariantAnimation::metaObject
+24 QVariantAnimation::qt_metacast
+32 QVariantAnimation::qt_metacall
+40 QVariantAnimation::~QVariantAnimation
+48 QVariantAnimation::~QVariantAnimation
+56 QVariantAnimation::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QVariantAnimation::duration
+120 QVariantAnimation::updateCurrentTime
+128 QVariantAnimation::updateState
+136 QAbstractAnimation::updateDirection
+144 __cxa_pure_virtual
+152 QVariantAnimation::interpolated
+
+Class QVariantAnimation
+ size=16 align=8
+ base size=16 base align=8
+QVariantAnimation (0x7f3e55ef78c0) 0
+ vptr=((& QVariantAnimation::_ZTV17QVariantAnimation) + 16u)
+ QAbstractAnimation (0x7f3e55ef7930) 0
+ primary-for QVariantAnimation (0x7f3e55ef78c0)
+ QObject (0x7f3e55ef79a0) 0
+ primary-for QAbstractAnimation (0x7f3e55ef7930)
+
+Vtable for QPropertyAnimation
+QPropertyAnimation::_ZTV18QPropertyAnimation: 20u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QPropertyAnimation)
+16 QPropertyAnimation::metaObject
+24 QPropertyAnimation::qt_metacast
+32 QPropertyAnimation::qt_metacall
+40 QPropertyAnimation::~QPropertyAnimation
+48 QPropertyAnimation::~QPropertyAnimation
+56 QPropertyAnimation::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QVariantAnimation::duration
+120 QVariantAnimation::updateCurrentTime
+128 QPropertyAnimation::updateState
+136 QAbstractAnimation::updateDirection
+144 QPropertyAnimation::updateCurrentValue
+152 QVariantAnimation::interpolated
+
+Class QPropertyAnimation
+ size=16 align=8
+ base size=16 base align=8
+QPropertyAnimation (0x7f3e55f14b60) 0
+ vptr=((& QPropertyAnimation::_ZTV18QPropertyAnimation) + 16u)
+ QVariantAnimation (0x7f3e55f14bd0) 0
+ primary-for QPropertyAnimation (0x7f3e55f14b60)
+ QAbstractAnimation (0x7f3e55f14c40) 0
+ primary-for QVariantAnimation (0x7f3e55f14bd0)
+ QObject (0x7f3e55f14cb0) 0
+ primary-for QAbstractAnimation (0x7f3e55f14c40)
+
+Vtable for QSequentialAnimationGroup
+QSequentialAnimationGroup::_ZTV25QSequentialAnimationGroup: 18u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI25QSequentialAnimationGroup)
+16 QSequentialAnimationGroup::metaObject
+24 QSequentialAnimationGroup::qt_metacast
+32 QSequentialAnimationGroup::qt_metacall
+40 QSequentialAnimationGroup::~QSequentialAnimationGroup
+48 QSequentialAnimationGroup::~QSequentialAnimationGroup
+56 QSequentialAnimationGroup::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QSequentialAnimationGroup::duration
+120 QSequentialAnimationGroup::updateCurrentTime
+128 QSequentialAnimationGroup::updateState
+136 QSequentialAnimationGroup::updateDirection
+
+Class QSequentialAnimationGroup
+ size=16 align=8
+ base size=16 base align=8
+QSequentialAnimationGroup (0x7f3e55f2fb60) 0
+ vptr=((& QSequentialAnimationGroup::_ZTV25QSequentialAnimationGroup) + 16u)
+ QAnimationGroup (0x7f3e55f2fbd0) 0
+ primary-for QSequentialAnimationGroup (0x7f3e55f2fb60)
+ QAbstractAnimation (0x7f3e55f2fc40) 0
+ primary-for QAnimationGroup (0x7f3e55f2fbd0)
+ QObject (0x7f3e55f2fcb0) 0
+ primary-for QAbstractAnimation (0x7f3e55f2fc40)
+
+Class QSslCertificate
+ size=8 align=8
+ base size=8 base align=8
+QSslCertificate (0x7f3e55f47bd0) 0
+
+Class QSslCipher
+ size=8 align=8
+ base size=8 base align=8
+QSslCipher (0x7f3e55d62770) 0
+
+Vtable for QAbstractSocket
+QAbstractSocket::_ZTV15QAbstractSocket: 30u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QAbstractSocket)
+16 QAbstractSocket::metaObject
+24 QAbstractSocket::qt_metacast
+32 QAbstractSocket::qt_metacall
+40 QAbstractSocket::~QAbstractSocket
+48 QAbstractSocket::~QAbstractSocket
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QAbstractSocket::isSequential
+120 QIODevice::open
+128 QAbstractSocket::close
+136 QIODevice::pos
+144 QIODevice::size
+152 QIODevice::seek
+160 QAbstractSocket::atEnd
+168 QIODevice::reset
+176 QAbstractSocket::bytesAvailable
+184 QAbstractSocket::bytesToWrite
+192 QAbstractSocket::canReadLine
+200 QAbstractSocket::waitForReadyRead
+208 QAbstractSocket::waitForBytesWritten
+216 QAbstractSocket::readData
+224 QAbstractSocket::readLineData
+232 QAbstractSocket::writeData
+
+Class QAbstractSocket
+ size=16 align=8
+ base size=16 base align=8
+QAbstractSocket (0x7f3e55d810e0) 0
+ vptr=((& QAbstractSocket::_ZTV15QAbstractSocket) + 16u)
+ QIODevice (0x7f3e55d81150) 0
+ primary-for QAbstractSocket (0x7f3e55d810e0)
+ QObject (0x7f3e55d811c0) 0
+ primary-for QIODevice (0x7f3e55d81150)
+
+Vtable for QTcpSocket
+QTcpSocket::_ZTV10QTcpSocket: 30u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QTcpSocket)
+16 QTcpSocket::metaObject
+24 QTcpSocket::qt_metacast
+32 QTcpSocket::qt_metacall
+40 QTcpSocket::~QTcpSocket
+48 QTcpSocket::~QTcpSocket
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QAbstractSocket::isSequential
+120 QIODevice::open
+128 QAbstractSocket::close
+136 QIODevice::pos
+144 QIODevice::size
+152 QIODevice::seek
+160 QAbstractSocket::atEnd
+168 QIODevice::reset
+176 QAbstractSocket::bytesAvailable
+184 QAbstractSocket::bytesToWrite
+192 QAbstractSocket::canReadLine
+200 QAbstractSocket::waitForReadyRead
+208 QAbstractSocket::waitForBytesWritten
+216 QAbstractSocket::readData
+224 QAbstractSocket::readLineData
+232 QAbstractSocket::writeData
+
+Class QTcpSocket
+ size=16 align=8
+ base size=16 base align=8
+QTcpSocket (0x7f3e55dbca10) 0
+ vptr=((& QTcpSocket::_ZTV10QTcpSocket) + 16u)
+ QAbstractSocket (0x7f3e55dbca80) 0
+ primary-for QTcpSocket (0x7f3e55dbca10)
+ QIODevice (0x7f3e55dbcaf0) 0
+ primary-for QAbstractSocket (0x7f3e55dbca80)
+ QObject (0x7f3e55dbcb60) 0
+ primary-for QIODevice (0x7f3e55dbcaf0)
+
+Class QSslError
+ size=8 align=8
+ base size=8 base align=8
+QSslError (0x7f3e55dd74d0) 0
+
+Vtable for QSslSocket
+QSslSocket::_ZTV10QSslSocket: 30u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QSslSocket)
+16 QSslSocket::metaObject
+24 QSslSocket::qt_metacast
+32 QSslSocket::qt_metacall
+40 QSslSocket::~QSslSocket
+48 QSslSocket::~QSslSocket
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QAbstractSocket::isSequential
+120 QIODevice::open
+128 QSslSocket::close
+136 QIODevice::pos
+144 QIODevice::size
+152 QIODevice::seek
+160 QSslSocket::atEnd
+168 QIODevice::reset
+176 QSslSocket::bytesAvailable
+184 QSslSocket::bytesToWrite
+192 QSslSocket::canReadLine
+200 QSslSocket::waitForReadyRead
+208 QSslSocket::waitForBytesWritten
+216 QSslSocket::readData
+224 QAbstractSocket::readLineData
+232 QSslSocket::writeData
+
+Class QSslSocket
+ size=16 align=8
+ base size=16 base align=8
+QSslSocket (0x7f3e55de33f0) 0
+ vptr=((& QSslSocket::_ZTV10QSslSocket) + 16u)
+ QTcpSocket (0x7f3e55de3460) 0
+ primary-for QSslSocket (0x7f3e55de33f0)
+ QAbstractSocket (0x7f3e55de34d0) 0
+ primary-for QTcpSocket (0x7f3e55de3460)
+ QIODevice (0x7f3e55de3540) 0
+ primary-for QAbstractSocket (0x7f3e55de34d0)
+ QObject (0x7f3e55de35b0) 0
+ primary-for QIODevice (0x7f3e55de3540)
+
+Class QSslConfiguration
+ size=8 align=8
+ base size=8 base align=8
+QSslConfiguration (0x7f3e55e234d0) 0
+
+Class QSslKey
+ size=8 align=8
+ base size=8 base align=8
+QSslKey (0x7f3e55e322a0) 0
+
+Class QNetworkRequest
+ size=8 align=8
+ base size=8 base align=8
+QNetworkRequest (0x7f3e55e32ee0) 0
+
+Class QNetworkCacheMetaData
+ size=8 align=8
+ base size=8 base align=8
+QNetworkCacheMetaData (0x7f3e55c60d90) 0
+
+Vtable for QAbstractNetworkCache
+QAbstractNetworkCache::_ZTV21QAbstractNetworkCache: 22u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI21QAbstractNetworkCache)
+16 QAbstractNetworkCache::metaObject
+24 QAbstractNetworkCache::qt_metacast
+32 QAbstractNetworkCache::qt_metacall
+40 QAbstractNetworkCache::~QAbstractNetworkCache
+48 QAbstractNetworkCache::~QAbstractNetworkCache
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 __cxa_pure_virtual
+136 __cxa_pure_virtual
+144 __cxa_pure_virtual
+152 __cxa_pure_virtual
+160 __cxa_pure_virtual
+168 __cxa_pure_virtual
+
+Class QAbstractNetworkCache
+ size=16 align=8
+ base size=16 base align=8
+QAbstractNetworkCache (0x7f3e55c90000) 0
+ vptr=((& QAbstractNetworkCache::_ZTV21QAbstractNetworkCache) + 16u)
+ QObject (0x7f3e55c90070) 0
+ primary-for QAbstractNetworkCache (0x7f3e55c90000)
+
+Vtable for QUrlInfo
+QUrlInfo::_ZTV8QUrlInfo: 15u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI8QUrlInfo)
+16 QUrlInfo::~QUrlInfo
+24 QUrlInfo::~QUrlInfo
+32 QUrlInfo::setName
+40 QUrlInfo::setDir
+48 QUrlInfo::setFile
+56 QUrlInfo::setSymLink
+64 QUrlInfo::setOwner
+72 QUrlInfo::setGroup
+80 QUrlInfo::setSize
+88 QUrlInfo::setWritable
+96 QUrlInfo::setReadable
+104 QUrlInfo::setPermissions
+112 QUrlInfo::setLastModified
+
+Class QUrlInfo
+ size=16 align=8
+ base size=16 base align=8
+QUrlInfo (0x7f3e55ca59a0) 0
+ vptr=((& QUrlInfo::_ZTV8QUrlInfo) + 16u)
+
+Vtable for QFtp
+QFtp::_ZTV4QFtp: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI4QFtp)
+16 QFtp::metaObject
+24 QFtp::qt_metacast
+32 QFtp::qt_metacall
+40 QFtp::~QFtp
+48 QFtp::~QFtp
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QFtp
+ size=16 align=8
+ base size=16 base align=8
+QFtp (0x7f3e55cb7930) 0
+ vptr=((& QFtp::_ZTV4QFtp) + 16u)
+ QObject (0x7f3e55cb79a0) 0
+ primary-for QFtp (0x7f3e55cb7930)
+
+Vtable for QHttpHeader
+QHttpHeader::_ZTV11QHttpHeader: 8u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QHttpHeader)
+16 QHttpHeader::~QHttpHeader
+24 QHttpHeader::~QHttpHeader
+32 QHttpHeader::toString
+40 __cxa_pure_virtual
+48 __cxa_pure_virtual
+56 QHttpHeader::parseLine
+
+Class QHttpHeader
+ size=16 align=8
+ base size=16 base align=8
+QHttpHeader (0x7f3e55ce4f50) 0
+ vptr=((& QHttpHeader::_ZTV11QHttpHeader) + 16u)
+
+Vtable for QHttpResponseHeader
+QHttpResponseHeader::_ZTV19QHttpResponseHeader: 8u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QHttpResponseHeader)
+16 QHttpResponseHeader::~QHttpResponseHeader
+24 QHttpResponseHeader::~QHttpResponseHeader
+32 QHttpResponseHeader::toString
+40 QHttpResponseHeader::majorVersion
+48 QHttpResponseHeader::minorVersion
+56 QHttpResponseHeader::parseLine
+
+Class QHttpResponseHeader
+ size=16 align=8
+ base size=16 base align=8
+QHttpResponseHeader (0x7f3e55ceae70) 0
+ vptr=((& QHttpResponseHeader::_ZTV19QHttpResponseHeader) + 16u)
+ QHttpHeader (0x7f3e55ceaee0) 0
+ primary-for QHttpResponseHeader (0x7f3e55ceae70)
+
+Vtable for QHttpRequestHeader
+QHttpRequestHeader::_ZTV18QHttpRequestHeader: 8u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QHttpRequestHeader)
+16 QHttpRequestHeader::~QHttpRequestHeader
+24 QHttpRequestHeader::~QHttpRequestHeader
+32 QHttpRequestHeader::toString
+40 QHttpRequestHeader::majorVersion
+48 QHttpRequestHeader::minorVersion
+56 QHttpRequestHeader::parseLine
+
+Class QHttpRequestHeader
+ size=16 align=8
+ base size=16 base align=8
+QHttpRequestHeader (0x7f3e55d05af0) 0
+ vptr=((& QHttpRequestHeader::_ZTV18QHttpRequestHeader) + 16u)
+ QHttpHeader (0x7f3e55d05b60) 0
+ primary-for QHttpRequestHeader (0x7f3e55d05af0)
+
+Vtable for QHttp
+QHttp::_ZTV5QHttp: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI5QHttp)
+16 QHttp::metaObject
+24 QHttp::qt_metacast
+32 QHttp::qt_metacall
+40 QHttp::~QHttp
+48 QHttp::~QHttp
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QHttp
+ size=16 align=8
+ base size=16 base align=8
+QHttp (0x7f3e55d14700) 0
+ vptr=((& QHttp::_ZTV5QHttp) + 16u)
+ QObject (0x7f3e55d14770) 0
+ primary-for QHttp (0x7f3e55d14700)
+
+Vtable for QNetworkAccessManager
+QNetworkAccessManager::_ZTV21QNetworkAccessManager: 15u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI21QNetworkAccessManager)
+16 QNetworkAccessManager::metaObject
+24 QNetworkAccessManager::qt_metacast
+32 QNetworkAccessManager::qt_metacall
+40 QNetworkAccessManager::~QNetworkAccessManager
+48 QNetworkAccessManager::~QNetworkAccessManager
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QNetworkAccessManager::createRequest
+
+Class QNetworkAccessManager
+ size=16 align=8
+ base size=16 base align=8
+QNetworkAccessManager (0x7f3e55d4c8c0) 0
+ vptr=((& QNetworkAccessManager::_ZTV21QNetworkAccessManager) + 16u)
+ QObject (0x7f3e55d4c930) 0
+ primary-for QNetworkAccessManager (0x7f3e55d4c8c0)
+
+Class QNetworkCookie
+ size=8 align=8
+ base size=8 base align=8
+QNetworkCookie (0x7f3e55b60e00) 0
+
+Vtable for QNetworkCookieJar
+QNetworkCookieJar::_ZTV17QNetworkCookieJar: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QNetworkCookieJar)
+16 QNetworkCookieJar::metaObject
+24 QNetworkCookieJar::qt_metacast
+32 QNetworkCookieJar::qt_metacall
+40 QNetworkCookieJar::~QNetworkCookieJar
+48 QNetworkCookieJar::~QNetworkCookieJar
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QNetworkCookieJar::cookiesForUrl
+120 QNetworkCookieJar::setCookiesFromUrl
+
+Class QNetworkCookieJar
+ size=16 align=8
+ base size=16 base align=8
+QNetworkCookieJar (0x7f3e55b6df50) 0
+ vptr=((& QNetworkCookieJar::_ZTV17QNetworkCookieJar) + 16u)
+ QObject (0x7f3e55b6d9a0) 0
+ primary-for QNetworkCookieJar (0x7f3e55b6df50)
+
+Vtable for QNetworkDiskCache
+QNetworkDiskCache::_ZTV17QNetworkDiskCache: 23u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QNetworkDiskCache)
+16 QNetworkDiskCache::metaObject
+24 QNetworkDiskCache::qt_metacast
+32 QNetworkDiskCache::qt_metacall
+40 QNetworkDiskCache::~QNetworkDiskCache
+48 QNetworkDiskCache::~QNetworkDiskCache
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QNetworkDiskCache::metaData
+120 QNetworkDiskCache::updateMetaData
+128 QNetworkDiskCache::data
+136 QNetworkDiskCache::remove
+144 QNetworkDiskCache::cacheSize
+152 QNetworkDiskCache::prepare
+160 QNetworkDiskCache::insert
+168 QNetworkDiskCache::clear
+176 QNetworkDiskCache::expire
+
+Class QNetworkDiskCache
+ size=16 align=8
+ base size=16 base align=8
+QNetworkDiskCache (0x7f3e55b9ae00) 0
+ vptr=((& QNetworkDiskCache::_ZTV17QNetworkDiskCache) + 16u)
+ QAbstractNetworkCache (0x7f3e55b9ae70) 0
+ primary-for QNetworkDiskCache (0x7f3e55b9ae00)
+ QObject (0x7f3e55b9aee0) 0
+ primary-for QAbstractNetworkCache (0x7f3e55b9ae70)
+
+Vtable for QNetworkReply
+QNetworkReply::_ZTV13QNetworkReply: 33u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QNetworkReply)
+16 QNetworkReply::metaObject
+24 QNetworkReply::qt_metacast
+32 QNetworkReply::qt_metacall
+40 QNetworkReply::~QNetworkReply
+48 QNetworkReply::~QNetworkReply
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QNetworkReply::isSequential
+120 QIODevice::open
+128 QNetworkReply::close
+136 QIODevice::pos
+144 QIODevice::size
+152 QIODevice::seek
+160 QIODevice::atEnd
+168 QIODevice::reset
+176 QIODevice::bytesAvailable
+184 QIODevice::bytesToWrite
+192 QIODevice::canReadLine
+200 QIODevice::waitForReadyRead
+208 QIODevice::waitForBytesWritten
+216 __cxa_pure_virtual
+224 QIODevice::readLineData
+232 QNetworkReply::writeData
+240 __cxa_pure_virtual
+248 QNetworkReply::setReadBufferSize
+256 QNetworkReply::ignoreSslErrors
+
+Class QNetworkReply
+ size=16 align=8
+ base size=16 base align=8
+QNetworkReply (0x7f3e55bbf770) 0
+ vptr=((& QNetworkReply::_ZTV13QNetworkReply) + 16u)
+ QIODevice (0x7f3e55bbf7e0) 0
+ primary-for QNetworkReply (0x7f3e55bbf770)
+ QObject (0x7f3e55bbf850) 0
+ primary-for QIODevice (0x7f3e55bbf7e0)
+
+Class QAuthenticator
+ size=8 align=8
+ base size=8 base align=8
+QAuthenticator (0x7f3e55be53f0) 0
+
+Class QIPv6Address
+ size=16 align=1
+ base size=16 base align=1
+QIPv6Address (0x7f3e55be5cb0) 0
+
+Class QHostAddress
+ size=8 align=8
+ base size=8 base align=8
+QHostAddress (0x7f3e55bf1310) 0
+
+Class QHostInfo
+ size=8 align=8
+ base size=8 base align=8
+QHostInfo (0x7f3e55c22310) 0
+
+Class QNetworkAddressEntry
+ size=8 align=8
+ base size=8 base align=8
+QNetworkAddressEntry (0x7f3e55c22c40) 0
+
+Class QNetworkInterface
+ size=8 align=8
+ base size=8 base align=8
+QNetworkInterface (0x7f3e55c3a540) 0
+
+Class QNetworkProxyQuery
+ size=8 align=8
+ base size=8 base align=8
+QNetworkProxyQuery (0x7f3e55a88230) 0
+
+Class QNetworkProxy
+ size=8 align=8
+ base size=8 base align=8
+QNetworkProxy (0x7f3e55a9f4d0) 0
+
+Vtable for QNetworkProxyFactory
+QNetworkProxyFactory::_ZTV20QNetworkProxyFactory: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI20QNetworkProxyFactory)
+16 QNetworkProxyFactory::~QNetworkProxyFactory
+24 QNetworkProxyFactory::~QNetworkProxyFactory
+32 __cxa_pure_virtual
+
+Class QNetworkProxyFactory
+ size=8 align=8
+ base size=8 base align=8
+QNetworkProxyFactory (0x7f3e55ae2930) 0 nearly-empty
+ vptr=((& QNetworkProxyFactory::_ZTV20QNetworkProxyFactory) + 16u)
+
+Vtable for QLocalServer
+QLocalServer::_ZTV12QLocalServer: 17u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QLocalServer)
+16 QLocalServer::metaObject
+24 QLocalServer::qt_metacast
+32 QLocalServer::qt_metacall
+40 QLocalServer::~QLocalServer
+48 QLocalServer::~QLocalServer
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QLocalServer::hasPendingConnections
+120 QLocalServer::nextPendingConnection
+128 QLocalServer::incomingConnection
+
+Class QLocalServer
+ size=16 align=8
+ base size=16 base align=8
+QLocalServer (0x7f3e55ae2c40) 0
+ vptr=((& QLocalServer::_ZTV12QLocalServer) + 16u)
+ QObject (0x7f3e55ae2cb0) 0
+ primary-for QLocalServer (0x7f3e55ae2c40)
+
+Vtable for QLocalSocket
+QLocalSocket::_ZTV12QLocalSocket: 30u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QLocalSocket)
+16 QLocalSocket::metaObject
+24 QLocalSocket::qt_metacast
+32 QLocalSocket::qt_metacall
+40 QLocalSocket::~QLocalSocket
+48 QLocalSocket::~QLocalSocket
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QLocalSocket::isSequential
+120 QIODevice::open
+128 QLocalSocket::close
+136 QIODevice::pos
+144 QIODevice::size
+152 QIODevice::seek
+160 QIODevice::atEnd
+168 QIODevice::reset
+176 QLocalSocket::bytesAvailable
+184 QLocalSocket::bytesToWrite
+192 QLocalSocket::canReadLine
+200 QLocalSocket::waitForReadyRead
+208 QLocalSocket::waitForBytesWritten
+216 QLocalSocket::readData
+224 QIODevice::readLineData
+232 QLocalSocket::writeData
+
+Class QLocalSocket
+ size=16 align=8
+ base size=16 base align=8
+QLocalSocket (0x7f3e55b0f620) 0
+ vptr=((& QLocalSocket::_ZTV12QLocalSocket) + 16u)
+ QIODevice (0x7f3e55b0f690) 0
+ primary-for QLocalSocket (0x7f3e55b0f620)
+ QObject (0x7f3e55b0f700) 0
+ primary-for QIODevice (0x7f3e55b0f690)
+
+Vtable for QTcpServer
+QTcpServer::_ZTV10QTcpServer: 17u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QTcpServer)
+16 QTcpServer::metaObject
+24 QTcpServer::qt_metacast
+32 QTcpServer::qt_metacall
+40 QTcpServer::~QTcpServer
+48 QTcpServer::~QTcpServer
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QTcpServer::hasPendingConnections
+120 QTcpServer::nextPendingConnection
+128 QTcpServer::incomingConnection
+
+Class QTcpServer
+ size=16 align=8
+ base size=16 base align=8
+QTcpServer (0x7f3e55b337e0) 0
+ vptr=((& QTcpServer::_ZTV10QTcpServer) + 16u)
+ QObject (0x7f3e55b33850) 0
+ primary-for QTcpServer (0x7f3e55b337e0)
+
+Vtable for QUdpSocket
+QUdpSocket::_ZTV10QUdpSocket: 30u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QUdpSocket)
+16 QUdpSocket::metaObject
+24 QUdpSocket::qt_metacast
+32 QUdpSocket::qt_metacall
+40 QUdpSocket::~QUdpSocket
+48 QUdpSocket::~QUdpSocket
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QAbstractSocket::isSequential
+120 QIODevice::open
+128 QAbstractSocket::close
+136 QIODevice::pos
+144 QIODevice::size
+152 QIODevice::seek
+160 QAbstractSocket::atEnd
+168 QIODevice::reset
+176 QAbstractSocket::bytesAvailable
+184 QAbstractSocket::bytesToWrite
+192 QAbstractSocket::canReadLine
+200 QAbstractSocket::waitForReadyRead
+208 QAbstractSocket::waitForBytesWritten
+216 QAbstractSocket::readData
+224 QAbstractSocket::readLineData
+232 QAbstractSocket::writeData
+
+Class QUdpSocket
+ size=16 align=8
+ base size=16 base align=8
+QUdpSocket (0x7f3e55b4e310) 0
+ vptr=((& QUdpSocket::_ZTV10QUdpSocket) + 16u)
+ QAbstractSocket (0x7f3e55b4e380) 0
+ primary-for QUdpSocket (0x7f3e55b4e310)
+ QIODevice (0x7f3e55b4e3f0) 0
+ primary-for QAbstractSocket (0x7f3e55b4e380)
+ QObject (0x7f3e55b4e460) 0
+ primary-for QIODevice (0x7f3e55b4e3f0)
+
diff --git a/tests/auto/bic/data/QtOpenGL.4.5.0.linux-gcc-amd64.txt b/tests/auto/bic/data/QtOpenGL.4.5.0.linux-gcc-amd64.txt
new file mode 100644
index 0000000000..2cd8122572
--- /dev/null
+++ b/tests/auto/bic/data/QtOpenGL.4.5.0.linux-gcc-amd64.txt
@@ -0,0 +1,15777 @@
+Class QSysInfo
+ size=1 align=1
+ base size=0 base align=1
+QSysInfo (0x7f5b98a8d460) 0 empty
+
+Class QBool
+ size=1 align=1
+ base size=1 base align=1
+QBool (0x7f5b98aa2150) 0
+
+Class qIsNull(double)::U
+ size=8 align=8
+ base size=8 base align=8
+qIsNull(double)::U (0x7f5b98ab9540) 0
+
+Class qIsNull(float)::U
+ size=4 align=4
+ base size=4 base align=4
+qIsNull(float)::U (0x7f5b98ab97e0) 0
+
+Class QFlag
+ size=4 align=4
+ base size=4 base align=4
+QFlag (0x7f5b98af2620) 0
+
+Class QIncompatibleFlag
+ size=4 align=4
+ base size=4 base align=4
+QIncompatibleFlag (0x7f5b98af2e00) 0
+
+Class QInternal
+ size=1 align=1
+ base size=0 base align=1
+QInternal (0x7f5b988f0540) 0 empty
+
+Class QGenericArgument
+ size=16 align=8
+ base size=16 base align=8
+QGenericArgument (0x7f5b988f0850) 0
+
+Class QGenericReturnArgument
+ size=16 align=8
+ base size=16 base align=8
+QGenericReturnArgument (0x7f5b9890c3f0) 0
+ QGenericArgument (0x7f5b9890c460) 0
+
+Class QMetaObject
+ size=32 align=8
+ base size=32 base align=8
+QMetaObject (0x7f5b9890ccb0) 0
+
+Class QMetaObjectExtraData
+ size=16 align=8
+ base size=16 base align=8
+QMetaObjectExtraData (0x7f5b98733cb0) 0
+
+Class QLatin1Char
+ size=1 align=1
+ base size=1 base align=1
+QLatin1Char (0x7f5b9873c700) 0
+
+Class QChar
+ size=2 align=2
+ base size=2 base align=2
+QChar (0x7f5b987442a0) 0
+
+Class QBasicAtomicInt
+ size=4 align=4
+ base size=4 base align=4
+QBasicAtomicInt (0x7f5b987b0380) 0
+
+Class QAtomicInt
+ size=4 align=4
+ base size=4 base align=4
+QAtomicInt (0x7f5b987ecd20) 0
+ QBasicAtomicInt (0x7f5b987ecd90) 0
+
+Class __locale_struct
+ size=232 align=8
+ base size=232 base align=8
+__locale_struct (0x7f5b988111c0) 0
+
+Class QByteArray::Data
+ size=32 align=8
+ base size=32 base align=8
+QByteArray::Data (0x7f5b986897e0) 0
+
+Class QByteArray
+ size=8 align=8
+ base size=8 base align=8
+QByteArray (0x7f5b98644540) 0
+
+Class QByteRef
+ size=16 align=8
+ base size=12 base align=8
+QByteRef (0x7f5b986dfa80) 0
+
+Class QString::Null
+ size=1 align=1
+ base size=0 base align=1
+QString::Null (0x7f5b985e7700) 0 empty
+
+Class QString::Data
+ size=32 align=8
+ base size=32 base align=8
+QString::Data (0x7f5b985f8ee0) 0
+
+Class QString
+ size=8 align=8
+ base size=8 base align=8
+QString (0x7f5b985665b0) 0
+
+Class QLatin1String
+ size=8 align=8
+ base size=8 base align=8
+QLatin1String (0x7f5b984cf000) 0
+
+Class QCharRef
+ size=16 align=8
+ base size=12 base align=8
+QCharRef (0x7f5b98363620) 0
+
+Class QConstString
+ size=8 align=8
+ base size=8 base align=8
+QConstString (0x7f5b982afee0) 0
+ QString (0x7f5b982aff50) 0
+
+Class QStringRef
+ size=16 align=8
+ base size=16 base align=8
+QStringRef (0x7f5b982d0bd0) 0
+
+Vtable for std::exception
+std::exception::_ZTVSt9exception: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt9exception)
+16 std::exception::~exception
+24 std::exception::~exception
+32 std::exception::what
+
+Class std::exception
+ size=8 align=8
+ base size=8 base align=8
+std::exception (0x7f5b98189620) 0 nearly-empty
+ vptr=((& std::exception::_ZTVSt9exception) + 16u)
+
+Vtable for std::bad_exception
+std::bad_exception::_ZTVSt13bad_exception: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt13bad_exception)
+16 std::bad_exception::~bad_exception
+24 std::bad_exception::~bad_exception
+32 std::bad_exception::what
+
+Class std::bad_exception
+ size=8 align=8
+ base size=8 base align=8
+std::bad_exception (0x7f5b981ac000) 0 nearly-empty
+ vptr=((& std::bad_exception::_ZTVSt13bad_exception) + 16u)
+ std::exception (0x7f5b981ac070) 0 nearly-empty
+ primary-for std::bad_exception (0x7f5b981ac000)
+
+Vtable for std::bad_alloc
+std::bad_alloc::_ZTVSt9bad_alloc: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt9bad_alloc)
+16 std::bad_alloc::~bad_alloc
+24 std::bad_alloc::~bad_alloc
+32 std::bad_alloc::what
+
+Class std::bad_alloc
+ size=8 align=8
+ base size=8 base align=8
+std::bad_alloc (0x7f5b981ac8c0) 0 nearly-empty
+ vptr=((& std::bad_alloc::_ZTVSt9bad_alloc) + 16u)
+ std::exception (0x7f5b981ac930) 0 nearly-empty
+ primary-for std::bad_alloc (0x7f5b981ac8c0)
+
+Class std::nothrow_t
+ size=1 align=1
+ base size=0 base align=1
+std::nothrow_t (0x7f5b981c00e0) 0 empty
+
+Class QListData::Data
+ size=32 align=8
+ base size=32 base align=8
+QListData::Data (0x7f5b981c0620) 0
+
+Class QListData
+ size=8 align=8
+ base size=8 base align=8
+QListData (0x7f5b981c05b0) 0
+
+Vtable for QObjectData
+QObjectData::_ZTV11QObjectData: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QObjectData)
+16 __cxa_pure_virtual
+24 __cxa_pure_virtual
+
+Class QObjectData
+ size=40 align=8
+ base size=40 base align=8
+QObjectData (0x7f5b980c2bd0) 0
+ vptr=((& QObjectData::_ZTV11QObjectData) + 16u)
+
+Vtable for QObject
+QObject::_ZTV7QObject: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QObject)
+16 QObject::metaObject
+24 QObject::qt_metacast
+32 QObject::qt_metacall
+40 QObject::~QObject
+48 QObject::~QObject
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QObject
+ size=16 align=8
+ base size=16 base align=8
+QObject (0x7f5b980c2ee0) 0
+ vptr=((& QObject::_ZTV7QObject) + 16u)
+
+Vtable for QObjectUserData
+QObjectUserData::_ZTV15QObjectUserData: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QObjectUserData)
+16 QObjectUserData::~QObjectUserData
+24 QObjectUserData::~QObjectUserData
+
+Class QObjectUserData
+ size=8 align=8
+ base size=8 base align=8
+QObjectUserData (0x7f5b97f513f0) 0 nearly-empty
+ vptr=((& QObjectUserData::_ZTV15QObjectUserData) + 16u)
+
+Vtable for QIODevice
+QIODevice::_ZTV9QIODevice: 30u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QIODevice)
+16 QIODevice::metaObject
+24 QIODevice::qt_metacast
+32 QIODevice::qt_metacall
+40 QIODevice::~QIODevice
+48 QIODevice::~QIODevice
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QIODevice::isSequential
+120 QIODevice::open
+128 QIODevice::close
+136 QIODevice::pos
+144 QIODevice::size
+152 QIODevice::seek
+160 QIODevice::atEnd
+168 QIODevice::reset
+176 QIODevice::bytesAvailable
+184 QIODevice::bytesToWrite
+192 QIODevice::canReadLine
+200 QIODevice::waitForReadyRead
+208 QIODevice::waitForBytesWritten
+216 __cxa_pure_virtual
+224 QIODevice::readLineData
+232 __cxa_pure_virtual
+
+Class QIODevice
+ size=16 align=8
+ base size=16 base align=8
+QIODevice (0x7f5b97f51930) 0
+ vptr=((& QIODevice::_ZTV9QIODevice) + 16u)
+ QObject (0x7f5b97f519a0) 0
+ primary-for QIODevice (0x7f5b97f51930)
+
+Vtable for QDataStream
+QDataStream::_ZTV11QDataStream: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QDataStream)
+16 QDataStream::~QDataStream
+24 QDataStream::~QDataStream
+
+Class QDataStream
+ size=40 align=8
+ base size=40 base align=8
+QDataStream (0x7f5b97fc92a0) 0
+ vptr=((& QDataStream::_ZTV11QDataStream) + 16u)
+
+Class QHashData::Node
+ size=16 align=8
+ base size=16 base align=8
+QHashData::Node (0x7f5b97e50150) 0
+
+Class QHashData
+ size=40 align=8
+ base size=40 base align=8
+QHashData (0x7f5b97e500e0) 0
+
+Class QHashDummyValue
+ size=1 align=1
+ base size=0 base align=1
+QHashDummyValue (0x7f5b97e5fee0) 0 empty
+
+Class QMapData::Node
+ size=16 align=8
+ base size=16 base align=8
+QMapData::Node (0x7f5b97d71690) 0
+
+Class QMapData
+ size=128 align=8
+ base size=128 base align=8
+QMapData (0x7f5b97d71620) 0
+
+Vtable for QSystemLocale
+QSystemLocale::_ZTV13QSystemLocale: 6u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QSystemLocale)
+16 QSystemLocale::~QSystemLocale
+24 QSystemLocale::~QSystemLocale
+32 QSystemLocale::query
+40 QSystemLocale::fallbackLocale
+
+Class QSystemLocale
+ size=8 align=8
+ base size=8 base align=8
+QSystemLocale (0x7f5b97c86e00) 0 nearly-empty
+ vptr=((& QSystemLocale::_ZTV13QSystemLocale) + 16u)
+
+Class QLocale::Data
+ size=4 align=2
+ base size=4 base align=2
+QLocale::Data (0x7f5b97ce43f0) 0
+
+Class QLocale
+ size=8 align=8
+ base size=8 base align=8
+QLocale (0x7f5b97ca70e0) 0
+
+Class QTextCodec::ConverterState
+ size=32 align=8
+ base size=32 base align=8
+QTextCodec::ConverterState (0x7f5b97b31e70) 0
+
+Vtable for QTextCodec
+QTextCodec::_ZTV10QTextCodec: 9u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QTextCodec)
+16 __cxa_pure_virtual
+24 QTextCodec::aliases
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+48 __cxa_pure_virtual
+56 QTextCodec::~QTextCodec
+64 QTextCodec::~QTextCodec
+
+Class QTextCodec
+ size=8 align=8
+ base size=8 base align=8
+QTextCodec (0x7f5b97d1aa80) 0 nearly-empty
+ vptr=((& QTextCodec::_ZTV10QTextCodec) + 16u)
+
+Class QTextEncoder
+ size=40 align=8
+ base size=40 base align=8
+QTextEncoder (0x7f5b97b9c3f0) 0
+
+Class QTextDecoder
+ size=40 align=8
+ base size=40 base align=8
+QTextDecoder (0x7f5b97ba7230) 0
+
+Class _IO_marker
+ size=24 align=8
+ base size=24 base align=8
+_IO_marker (0x7f5b97bb02a0) 0
+
+Class _IO_FILE
+ size=216 align=8
+ base size=216 base align=8
+_IO_FILE (0x7f5b97bb0310) 0
+
+Vtable for QTextStream
+QTextStream::_ZTV11QTextStream: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QTextStream)
+16 QTextStream::~QTextStream
+24 QTextStream::~QTextStream
+
+Class QTextStream
+ size=16 align=8
+ base size=16 base align=8
+QTextStream (0x7f5b97bb03f0) 0
+ vptr=((& QTextStream::_ZTV11QTextStream) + 16u)
+
+Class QTextStreamManipulator
+ size=40 align=8
+ base size=38 base align=8
+QTextStreamManipulator (0x7f5b97a49ee0) 0
+
+Vtable for QTextIStream
+QTextIStream::_ZTV12QTextIStream: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QTextIStream)
+16 QTextIStream::~QTextIStream
+24 QTextIStream::~QTextIStream
+
+Class QTextIStream
+ size=16 align=8
+ base size=16 base align=8
+QTextIStream (0x7f5b97a751c0) 0
+ vptr=((& QTextIStream::_ZTV12QTextIStream) + 16u)
+ QTextStream (0x7f5b97a75230) 0
+ primary-for QTextIStream (0x7f5b97a751c0)
+
+Vtable for QTextOStream
+QTextOStream::_ZTV12QTextOStream: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QTextOStream)
+16 QTextOStream::~QTextOStream
+24 QTextOStream::~QTextOStream
+
+Class QTextOStream
+ size=16 align=8
+ base size=16 base align=8
+QTextOStream (0x7f5b97a8a070) 0
+ vptr=((& QTextOStream::_ZTV12QTextOStream) + 16u)
+ QTextStream (0x7f5b97a8a0e0) 0
+ primary-for QTextOStream (0x7f5b97a8a070)
+
+Class wait
+ size=4 align=4
+ base size=4 base align=4
+wait (0x7f5b97a95ee0) 0
+
+Class timespec
+ size=16 align=8
+ base size=16 base align=8
+timespec (0x7f5b97aa2230) 0
+
+Class timeval
+ size=16 align=8
+ base size=16 base align=8
+timeval (0x7f5b97aa22a0) 0
+
+Class __pthread_internal_list
+ size=16 align=8
+ base size=16 base align=8
+__pthread_internal_list (0x7f5b97aa23f0) 0
+
+Class random_data
+ size=48 align=8
+ base size=48 base align=8
+random_data (0x7f5b97aa29a0) 0
+
+Class drand48_data
+ size=24 align=8
+ base size=24 base align=8
+drand48_data (0x7f5b97aa2a10) 0
+
+Class QVectorData
+ size=16 align=4
+ base size=16 base align=4
+QVectorData (0x7f5b97aa2a80) 0
+
+Class QDebug::Stream
+ size=40 align=8
+ base size=34 base align=8
+QDebug::Stream (0x7f5b97a20230) 0
+
+Class QDebug
+ size=8 align=8
+ base size=8 base align=8
+QDebug (0x7f5b97a201c0) 0
+
+Class QNoDebug
+ size=1 align=1
+ base size=0 base align=1
+QNoDebug (0x7f5b978bc070) 0 empty
+
+Vtable for QFile
+QFile::_ZTV5QFile: 31u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI5QFile)
+16 QFile::metaObject
+24 QFile::qt_metacast
+32 QFile::qt_metacall
+40 QFile::~QFile
+48 QFile::~QFile
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QFile::isSequential
+120 QFile::open
+128 QFile::close
+136 QFile::pos
+144 QFile::size
+152 QFile::seek
+160 QFile::atEnd
+168 QIODevice::reset
+176 QIODevice::bytesAvailable
+184 QIODevice::bytesToWrite
+192 QIODevice::canReadLine
+200 QIODevice::waitForReadyRead
+208 QIODevice::waitForBytesWritten
+216 QFile::readData
+224 QFile::readLineData
+232 QFile::writeData
+240 QFile::fileEngine
+
+Class QFile
+ size=16 align=8
+ base size=16 base align=8
+QFile (0x7f5b978cd620) 0
+ vptr=((& QFile::_ZTV5QFile) + 16u)
+ QIODevice (0x7f5b978cd690) 0
+ primary-for QFile (0x7f5b978cd620)
+ QObject (0x7f5b978cd700) 0
+ primary-for QIODevice (0x7f5b978cd690)
+
+Vtable for QTemporaryFile
+QTemporaryFile::_ZTV14QTemporaryFile: 31u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QTemporaryFile)
+16 QTemporaryFile::metaObject
+24 QTemporaryFile::qt_metacast
+32 QTemporaryFile::qt_metacall
+40 QTemporaryFile::~QTemporaryFile
+48 QTemporaryFile::~QTemporaryFile
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QFile::isSequential
+120 QTemporaryFile::open
+128 QFile::close
+136 QFile::pos
+144 QFile::size
+152 QFile::seek
+160 QFile::atEnd
+168 QIODevice::reset
+176 QIODevice::bytesAvailable
+184 QIODevice::bytesToWrite
+192 QIODevice::canReadLine
+200 QIODevice::waitForReadyRead
+208 QIODevice::waitForBytesWritten
+216 QFile::readData
+224 QFile::readLineData
+232 QFile::writeData
+240 QTemporaryFile::fileEngine
+
+Class QTemporaryFile
+ size=16 align=8
+ base size=16 base align=8
+QTemporaryFile (0x7f5b97737850) 0
+ vptr=((& QTemporaryFile::_ZTV14QTemporaryFile) + 16u)
+ QFile (0x7f5b977378c0) 0
+ primary-for QTemporaryFile (0x7f5b97737850)
+ QIODevice (0x7f5b97737930) 0
+ primary-for QFile (0x7f5b977378c0)
+ QObject (0x7f5b977379a0) 0
+ primary-for QIODevice (0x7f5b97737930)
+
+Class QFileInfo
+ size=8 align=8
+ base size=8 base align=8
+QFileInfo (0x7f5b9775af50) 0
+
+Class QRegExp
+ size=8 align=8
+ base size=8 base align=8
+QRegExp (0x7f5b977b5770) 0
+
+Class QStringMatcher
+ size=1048 align=8
+ base size=1048 base align=8
+QStringMatcher (0x7f5b978025b0) 0
+
+Class QStringList
+ size=8 align=8
+ base size=8 base align=8
+QStringList (0x7f5b97814070) 0
+ QList<QString> (0x7f5b978140e0) 0
+
+Class QDir
+ size=8 align=8
+ base size=8 base align=8
+QDir (0x7f5b976a5cb0) 0
+
+Class QAbstractFileEngine::ExtensionOption
+ size=1 align=1
+ base size=0 base align=1
+QAbstractFileEngine::ExtensionOption (0x7f5b9753ce70) 0 empty
+
+Class QAbstractFileEngine::ExtensionReturn
+ size=1 align=1
+ base size=0 base align=1
+QAbstractFileEngine::ExtensionReturn (0x7f5b9753cee0) 0 empty
+
+Class QAbstractFileEngine::MapExtensionOption
+ size=24 align=8
+ base size=20 base align=8
+QAbstractFileEngine::MapExtensionOption (0x7f5b9753cf50) 0
+ QAbstractFileEngine::ExtensionOption (0x7f5b97551000) 0 empty
+
+Class QAbstractFileEngine::MapExtensionReturn
+ size=8 align=8
+ base size=8 base align=8
+QAbstractFileEngine::MapExtensionReturn (0x7f5b975511c0) 0
+ QAbstractFileEngine::ExtensionReturn (0x7f5b97551230) 0 empty
+
+Class QAbstractFileEngine::UnMapExtensionOption
+ size=8 align=8
+ base size=8 base align=8
+QAbstractFileEngine::UnMapExtensionOption (0x7f5b975512a0) 0
+ QAbstractFileEngine::ExtensionOption (0x7f5b97551310) 0 empty
+
+Vtable for QAbstractFileEngine
+QAbstractFileEngine::_ZTV19QAbstractFileEngine: 36u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QAbstractFileEngine)
+16 QAbstractFileEngine::~QAbstractFileEngine
+24 QAbstractFileEngine::~QAbstractFileEngine
+32 QAbstractFileEngine::open
+40 QAbstractFileEngine::close
+48 QAbstractFileEngine::flush
+56 QAbstractFileEngine::size
+64 QAbstractFileEngine::pos
+72 QAbstractFileEngine::seek
+80 QAbstractFileEngine::isSequential
+88 QAbstractFileEngine::remove
+96 QAbstractFileEngine::copy
+104 QAbstractFileEngine::rename
+112 QAbstractFileEngine::link
+120 QAbstractFileEngine::mkdir
+128 QAbstractFileEngine::rmdir
+136 QAbstractFileEngine::setSize
+144 QAbstractFileEngine::caseSensitive
+152 QAbstractFileEngine::isRelativePath
+160 QAbstractFileEngine::entryList
+168 QAbstractFileEngine::fileFlags
+176 QAbstractFileEngine::setPermissions
+184 QAbstractFileEngine::fileName
+192 QAbstractFileEngine::ownerId
+200 QAbstractFileEngine::owner
+208 QAbstractFileEngine::fileTime
+216 QAbstractFileEngine::setFileName
+224 QAbstractFileEngine::handle
+232 QAbstractFileEngine::beginEntryList
+240 QAbstractFileEngine::endEntryList
+248 QAbstractFileEngine::read
+256 QAbstractFileEngine::readLine
+264 QAbstractFileEngine::write
+272 QAbstractFileEngine::extension
+280 QAbstractFileEngine::supportsExtension
+
+Class QAbstractFileEngine
+ size=16 align=8
+ base size=16 base align=8
+QAbstractFileEngine (0x7f5b9752de00) 0
+ vptr=((& QAbstractFileEngine::_ZTV19QAbstractFileEngine) + 16u)
+
+Vtable for QAbstractFileEngineHandler
+QAbstractFileEngineHandler::_ZTV26QAbstractFileEngineHandler: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI26QAbstractFileEngineHandler)
+16 QAbstractFileEngineHandler::~QAbstractFileEngineHandler
+24 QAbstractFileEngineHandler::~QAbstractFileEngineHandler
+32 __cxa_pure_virtual
+
+Class QAbstractFileEngineHandler
+ size=8 align=8
+ base size=8 base align=8
+QAbstractFileEngineHandler (0x7f5b97583000) 0 nearly-empty
+ vptr=((& QAbstractFileEngineHandler::_ZTV26QAbstractFileEngineHandler) + 16u)
+
+Vtable for QAbstractFileEngineIterator
+QAbstractFileEngineIterator::_ZTV27QAbstractFileEngineIterator: 9u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI27QAbstractFileEngineIterator)
+16 QAbstractFileEngineIterator::~QAbstractFileEngineIterator
+24 QAbstractFileEngineIterator::~QAbstractFileEngineIterator
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+48 __cxa_pure_virtual
+56 QAbstractFileEngineIterator::currentFileInfo
+64 QAbstractFileEngineIterator::entryInfo
+
+Class QAbstractFileEngineIterator
+ size=16 align=8
+ base size=16 base align=8
+QAbstractFileEngineIterator (0x7f5b975831c0) 0
+ vptr=((& QAbstractFileEngineIterator::_ZTV27QAbstractFileEngineIterator) + 16u)
+
+Vtable for QFSFileEngine
+QFSFileEngine::_ZTV13QFSFileEngine: 36u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QFSFileEngine)
+16 QFSFileEngine::~QFSFileEngine
+24 QFSFileEngine::~QFSFileEngine
+32 QFSFileEngine::open
+40 QFSFileEngine::close
+48 QFSFileEngine::flush
+56 QFSFileEngine::size
+64 QFSFileEngine::pos
+72 QFSFileEngine::seek
+80 QFSFileEngine::isSequential
+88 QFSFileEngine::remove
+96 QFSFileEngine::copy
+104 QFSFileEngine::rename
+112 QFSFileEngine::link
+120 QFSFileEngine::mkdir
+128 QFSFileEngine::rmdir
+136 QFSFileEngine::setSize
+144 QFSFileEngine::caseSensitive
+152 QFSFileEngine::isRelativePath
+160 QFSFileEngine::entryList
+168 QFSFileEngine::fileFlags
+176 QFSFileEngine::setPermissions
+184 QFSFileEngine::fileName
+192 QFSFileEngine::ownerId
+200 QFSFileEngine::owner
+208 QFSFileEngine::fileTime
+216 QFSFileEngine::setFileName
+224 QFSFileEngine::handle
+232 QFSFileEngine::beginEntryList
+240 QFSFileEngine::endEntryList
+248 QFSFileEngine::read
+256 QFSFileEngine::readLine
+264 QFSFileEngine::write
+272 QFSFileEngine::extension
+280 QFSFileEngine::supportsExtension
+
+Class QFSFileEngine
+ size=16 align=8
+ base size=16 base align=8
+QFSFileEngine (0x7f5b97583a10) 0
+ vptr=((& QFSFileEngine::_ZTV13QFSFileEngine) + 16u)
+ QAbstractFileEngine (0x7f5b97583a80) 0
+ primary-for QFSFileEngine (0x7f5b97583a10)
+
+Vtable for QProcess
+QProcess::_ZTV8QProcess: 31u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI8QProcess)
+16 QProcess::metaObject
+24 QProcess::qt_metacast
+32 QProcess::qt_metacall
+40 QProcess::~QProcess
+48 QProcess::~QProcess
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QProcess::isSequential
+120 QIODevice::open
+128 QProcess::close
+136 QIODevice::pos
+144 QIODevice::size
+152 QIODevice::seek
+160 QProcess::atEnd
+168 QIODevice::reset
+176 QProcess::bytesAvailable
+184 QProcess::bytesToWrite
+192 QProcess::canReadLine
+200 QProcess::waitForReadyRead
+208 QProcess::waitForBytesWritten
+216 QProcess::readData
+224 QIODevice::readLineData
+232 QProcess::writeData
+240 QProcess::setupChildProcess
+
+Class QProcess
+ size=16 align=8
+ base size=16 base align=8
+QProcess (0x7f5b97599d20) 0
+ vptr=((& QProcess::_ZTV8QProcess) + 16u)
+ QIODevice (0x7f5b97599d90) 0
+ primary-for QProcess (0x7f5b97599d20)
+ QObject (0x7f5b97599e00) 0
+ primary-for QIODevice (0x7f5b97599d90)
+
+Class QResource
+ size=8 align=8
+ base size=8 base align=8
+QResource (0x7f5b975d6230) 0
+
+Vtable for QDirIterator
+QDirIterator::_ZTV12QDirIterator: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QDirIterator)
+16 QDirIterator::~QDirIterator
+24 QDirIterator::~QDirIterator
+
+Class QDirIterator
+ size=16 align=8
+ base size=16 base align=8
+QDirIterator (0x7f5b975d6cb0) 0
+ vptr=((& QDirIterator::_ZTV12QDirIterator) + 16u)
+
+Vtable for QBuffer
+QBuffer::_ZTV7QBuffer: 30u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QBuffer)
+16 QBuffer::metaObject
+24 QBuffer::qt_metacast
+32 QBuffer::qt_metacall
+40 QBuffer::~QBuffer
+48 QBuffer::~QBuffer
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QBuffer::connectNotify
+104 QBuffer::disconnectNotify
+112 QIODevice::isSequential
+120 QBuffer::open
+128 QBuffer::close
+136 QBuffer::pos
+144 QBuffer::size
+152 QBuffer::seek
+160 QBuffer::atEnd
+168 QIODevice::reset
+176 QIODevice::bytesAvailable
+184 QIODevice::bytesToWrite
+192 QBuffer::canReadLine
+200 QIODevice::waitForReadyRead
+208 QIODevice::waitForBytesWritten
+216 QBuffer::readData
+224 QIODevice::readLineData
+232 QBuffer::writeData
+
+Class QBuffer
+ size=16 align=8
+ base size=16 base align=8
+QBuffer (0x7f5b97606a80) 0
+ vptr=((& QBuffer::_ZTV7QBuffer) + 16u)
+ QIODevice (0x7f5b97606af0) 0
+ primary-for QBuffer (0x7f5b97606a80)
+ QObject (0x7f5b97606b60) 0
+ primary-for QIODevice (0x7f5b97606af0)
+
+Vtable for QFileSystemWatcher
+QFileSystemWatcher::_ZTV18QFileSystemWatcher: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QFileSystemWatcher)
+16 QFileSystemWatcher::metaObject
+24 QFileSystemWatcher::qt_metacast
+32 QFileSystemWatcher::qt_metacall
+40 QFileSystemWatcher::~QFileSystemWatcher
+48 QFileSystemWatcher::~QFileSystemWatcher
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QFileSystemWatcher
+ size=16 align=8
+ base size=16 base align=8
+QFileSystemWatcher (0x7f5b9740d690) 0
+ vptr=((& QFileSystemWatcher::_ZTV18QFileSystemWatcher) + 16u)
+ QObject (0x7f5b9740d700) 0
+ primary-for QFileSystemWatcher (0x7f5b9740d690)
+
+Class QUrl
+ size=8 align=8
+ base size=8 base align=8
+QUrl (0x7f5b9741ebd0) 0
+
+Class QMetaType
+ size=1 align=1
+ base size=0 base align=1
+QMetaType (0x7f5b974a83f0) 0 empty
+
+Class QVariant::PrivateShared
+ size=16 align=8
+ base size=12 base align=8
+QVariant::PrivateShared (0x7f5b9737e930) 0
+
+Class QVariant::Private::Data
+ size=8 align=8
+ base size=8 base align=8
+QVariant::Private::Data (0x7f5b9737ec40) 0
+
+Class QVariant::Private
+ size=16 align=8
+ base size=12 base align=8
+QVariant::Private (0x7f5b9737ea10) 0
+
+Class QVariant::Handler
+ size=72 align=8
+ base size=72 base align=8
+QVariant::Handler (0x7f5b9738e930) 0
+
+Class QVariant
+ size=16 align=8
+ base size=16 base align=8
+QVariant (0x7f5b9734eaf0) 0
+
+Class QVariantComparisonHelper
+ size=8 align=8
+ base size=8 base align=8
+QVariantComparisonHelper (0x7f5b97232cb0) 0
+
+Vtable for QSettings
+QSettings::_ZTV9QSettings: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QSettings)
+16 QSettings::metaObject
+24 QSettings::qt_metacast
+32 QSettings::qt_metacall
+40 QSettings::~QSettings
+48 QSettings::~QSettings
+56 QSettings::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QSettings
+ size=16 align=8
+ base size=16 base align=8
+QSettings (0x7f5b97256cb0) 0
+ vptr=((& QSettings::_ZTV9QSettings) + 16u)
+ QObject (0x7f5b97256d20) 0
+ primary-for QSettings (0x7f5b97256cb0)
+
+Class QXmlStreamStringRef
+ size=16 align=8
+ base size=16 base align=8
+QXmlStreamStringRef (0x7f5b972da070) 0
+
+Class QXmlStreamAttribute
+ size=80 align=8
+ base size=73 base align=8
+QXmlStreamAttribute (0x7f5b972f6850) 0
+
+Class QXmlStreamAttributes
+ size=8 align=8
+ base size=8 base align=8
+QXmlStreamAttributes (0x7f5b9711f380) 0
+ QVector<QXmlStreamAttribute> (0x7f5b9711f3f0) 0
+
+Class QXmlStreamNamespaceDeclaration
+ size=40 align=8
+ base size=40 base align=8
+QXmlStreamNamespaceDeclaration (0x7f5b9711f850) 0
+
+Class QXmlStreamNotationDeclaration
+ size=56 align=8
+ base size=56 base align=8
+QXmlStreamNotationDeclaration (0x7f5b971611c0) 0
+
+Class QXmlStreamEntityDeclaration
+ size=88 align=8
+ base size=88 base align=8
+QXmlStreamEntityDeclaration (0x7f5b97180070) 0
+
+Vtable for QXmlStreamEntityResolver
+QXmlStreamEntityResolver::_ZTV24QXmlStreamEntityResolver: 6u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI24QXmlStreamEntityResolver)
+16 QXmlStreamEntityResolver::~QXmlStreamEntityResolver
+24 QXmlStreamEntityResolver::~QXmlStreamEntityResolver
+32 QXmlStreamEntityResolver::resolveEntity
+40 QXmlStreamEntityResolver::resolveUndeclaredEntity
+
+Class QXmlStreamEntityResolver
+ size=8 align=8
+ base size=8 base align=8
+QXmlStreamEntityResolver (0x7f5b971999a0) 0 nearly-empty
+ vptr=((& QXmlStreamEntityResolver::_ZTV24QXmlStreamEntityResolver) + 16u)
+
+Class QXmlStreamReader
+ size=8 align=8
+ base size=8 base align=8
+QXmlStreamReader (0x7f5b97199b60) 0
+
+Class QXmlStreamWriter
+ size=8 align=8
+ base size=8 base align=8
+QXmlStreamWriter (0x7f5b971d7a10) 0
+
+Class QPoint
+ size=8 align=4
+ base size=8 base align=4
+QPoint (0x7f5b97015150) 0
+
+Class QPointF
+ size=16 align=8
+ base size=16 base align=8
+QPointF (0x7f5b9704bd90) 0
+
+Class QLine
+ size=16 align=4
+ base size=16 base align=4
+QLine (0x7f5b9708abd0) 0
+
+Class QLineF
+ size=32 align=8
+ base size=32 base align=8
+QLineF (0x7f5b970c4a80) 0
+
+Class QSize
+ size=8 align=4
+ base size=8 base align=4
+QSize (0x7f5b96f1f540) 0
+
+Class QSizeF
+ size=16 align=8
+ base size=16 base align=8
+QSizeF (0x7f5b96f6a380) 0
+
+Class QRect
+ size=16 align=4
+ base size=16 base align=4
+QRect (0x7f5b96fb69a0) 0
+
+Class QRectF
+ size=32 align=8
+ base size=32 base align=8
+QRectF (0x7f5b96e6e380) 0
+
+Class QSharedData
+ size=4 align=4
+ base size=4 base align=4
+QSharedData (0x7f5b96d11150) 0
+
+Vtable for QtSharedPointer::ExternalRefCountData
+QtSharedPointer::ExternalRefCountData::_ZTVN15QtSharedPointer20ExternalRefCountDataE: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN15QtSharedPointer20ExternalRefCountDataE)
+16 QtSharedPointer::ExternalRefCountData::~ExternalRefCountData
+24 QtSharedPointer::ExternalRefCountData::~ExternalRefCountData
+32 QtSharedPointer::ExternalRefCountData::destroy
+
+Class QtSharedPointer::ExternalRefCountData
+ size=16 align=8
+ base size=16 base align=8
+QtSharedPointer::ExternalRefCountData (0x7f5b96d41af0) 0
+ vptr=((& QtSharedPointer::ExternalRefCountData::_ZTVN15QtSharedPointer20ExternalRefCountDataE) + 16u)
+
+Class QLinkedListData
+ size=32 align=8
+ base size=32 base align=8
+QLinkedListData (0x7f5b96dc8c40) 0
+
+Class QBitArray
+ size=8 align=8
+ base size=8 base align=8
+QBitArray (0x7f5b96c93b60) 0
+
+Class QBitRef
+ size=16 align=8
+ base size=12 base align=8
+QBitRef (0x7f5b96b08930) 0
+
+Class QByteArrayMatcher
+ size=1040 align=8
+ base size=1040 base align=8
+QByteArrayMatcher (0x7f5b96b23310) 0
+
+Class QCryptographicHash
+ size=8 align=8
+ base size=8 base align=8
+QCryptographicHash (0x7f5b96b36a10) 0
+
+Class QTextBoundaryFinder
+ size=48 align=8
+ base size=48 base align=8
+QTextBoundaryFinder (0x7f5b96b62460) 0
+
+Class QDate
+ size=4 align=4
+ base size=4 base align=4
+QDate (0x7f5b96b797e0) 0
+
+Class QTime
+ size=4 align=4
+ base size=4 base align=4
+QTime (0x7f5b96ba0770) 0
+
+Class QDateTime
+ size=8 align=8
+ base size=8 base align=8
+QDateTime (0x7f5b96bc1d20) 0
+
+Vtable for QTimeLine
+QTimeLine::_ZTV9QTimeLine: 15u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QTimeLine)
+16 QTimeLine::metaObject
+24 QTimeLine::qt_metacast
+32 QTimeLine::qt_metacall
+40 QTimeLine::~QTimeLine
+48 QTimeLine::~QTimeLine
+56 QObject::event
+64 QObject::eventFilter
+72 QTimeLine::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QTimeLine::valueForTime
+
+Class QTimeLine
+ size=16 align=8
+ base size=16 base align=8
+QTimeLine (0x7f5b969f31c0) 0
+ vptr=((& QTimeLine::_ZTV9QTimeLine) + 16u)
+ QObject (0x7f5b969f3230) 0
+ primary-for QTimeLine (0x7f5b969f31c0)
+
+Vtable for QRunnable
+QRunnable::_ZTV9QRunnable: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QRunnable)
+16 __cxa_pure_virtual
+24 QRunnable::~QRunnable
+32 QRunnable::~QRunnable
+
+Class QRunnable
+ size=16 align=8
+ base size=12 base align=8
+QRunnable (0x7f5b96a1b070) 0
+ vptr=((& QRunnable::_ZTV9QRunnable) + 16u)
+
+Class QMutex
+ size=8 align=8
+ base size=8 base align=8
+QMutex (0x7f5b96a27700) 0
+
+Class QMutexLocker
+ size=8 align=8
+ base size=8 base align=8
+QMutexLocker (0x7f5b96a372a0) 0
+
+Vtable for QtConcurrent::Exception
+QtConcurrent::Exception::_ZTVN12QtConcurrent9ExceptionE: 7u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN12QtConcurrent9ExceptionE)
+16 QtConcurrent::Exception::~Exception
+24 QtConcurrent::Exception::~Exception
+32 std::exception::what
+40 QtConcurrent::Exception::raise
+48 QtConcurrent::Exception::clone
+
+Class QtConcurrent::Exception
+ size=8 align=8
+ base size=8 base align=8
+QtConcurrent::Exception (0x7f5b96a4e5b0) 0 nearly-empty
+ vptr=((& QtConcurrent::Exception::_ZTVN12QtConcurrent9ExceptionE) + 16u)
+ std::exception (0x7f5b96a4e620) 0 nearly-empty
+ primary-for QtConcurrent::Exception (0x7f5b96a4e5b0)
+
+Vtable for QtConcurrent::UnhandledException
+QtConcurrent::UnhandledException::_ZTVN12QtConcurrent18UnhandledExceptionE: 7u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN12QtConcurrent18UnhandledExceptionE)
+16 QtConcurrent::UnhandledException::~UnhandledException
+24 QtConcurrent::UnhandledException::~UnhandledException
+32 std::exception::what
+40 QtConcurrent::UnhandledException::raise
+48 QtConcurrent::UnhandledException::clone
+
+Class QtConcurrent::UnhandledException
+ size=8 align=8
+ base size=8 base align=8
+QtConcurrent::UnhandledException (0x7f5b96a4e850) 0 nearly-empty
+ vptr=((& QtConcurrent::UnhandledException::_ZTVN12QtConcurrent18UnhandledExceptionE) + 16u)
+ QtConcurrent::Exception (0x7f5b96a4e8c0) 0 nearly-empty
+ primary-for QtConcurrent::UnhandledException (0x7f5b96a4e850)
+ std::exception (0x7f5b96a4e930) 0 nearly-empty
+ primary-for QtConcurrent::Exception (0x7f5b96a4e8c0)
+
+Class QtConcurrent::internal::ExceptionHolder
+ size=8 align=8
+ base size=8 base align=8
+QtConcurrent::internal::ExceptionHolder (0x7f5b96a4eb60) 0
+
+Class QtConcurrent::internal::ExceptionStore
+ size=8 align=8
+ base size=8 base align=8
+QtConcurrent::internal::ExceptionStore (0x7f5b96a4eee0) 0
+
+Class QtConcurrent::ResultItem
+ size=16 align=8
+ base size=16 base align=8
+QtConcurrent::ResultItem (0x7f5b96a4ef50) 0
+
+Class QtConcurrent::ResultIteratorBase
+ size=16 align=8
+ base size=12 base align=8
+QtConcurrent::ResultIteratorBase (0x7f5b96a63e70) 0
+
+Vtable for QtConcurrent::ResultStoreBase
+QtConcurrent::ResultStoreBase::_ZTVN12QtConcurrent15ResultStoreBaseE: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN12QtConcurrent15ResultStoreBaseE)
+16 QtConcurrent::ResultStoreBase::~ResultStoreBase
+24 QtConcurrent::ResultStoreBase::~ResultStoreBase
+
+Class QtConcurrent::ResultStoreBase
+ size=48 align=8
+ base size=44 base align=8
+QtConcurrent::ResultStoreBase (0x7f5b96a69a10) 0
+ vptr=((& QtConcurrent::ResultStoreBase::_ZTVN12QtConcurrent15ResultStoreBaseE) + 16u)
+
+Vtable for QFutureInterfaceBase
+QFutureInterfaceBase::_ZTV20QFutureInterfaceBase: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI20QFutureInterfaceBase)
+16 QFutureInterfaceBase::~QFutureInterfaceBase
+24 QFutureInterfaceBase::~QFutureInterfaceBase
+
+Class QFutureInterfaceBase
+ size=16 align=8
+ base size=16 base align=8
+QFutureInterfaceBase (0x7f5b96aa7e70) 0
+ vptr=((& QFutureInterfaceBase::_ZTV20QFutureInterfaceBase) + 16u)
+
+Vtable for QThread
+QThread::_ZTV7QThread: 15u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QThread)
+16 QThread::metaObject
+24 QThread::qt_metacast
+32 QThread::qt_metacall
+40 QThread::~QThread
+48 QThread::~QThread
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QThread::run
+
+Class QThread
+ size=16 align=8
+ base size=16 base align=8
+QThread (0x7f5b9698ae00) 0
+ vptr=((& QThread::_ZTV7QThread) + 16u)
+ QObject (0x7f5b9698ae70) 0
+ primary-for QThread (0x7f5b9698ae00)
+
+Vtable for QThreadPool
+QThreadPool::_ZTV11QThreadPool: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QThreadPool)
+16 QThreadPool::metaObject
+24 QThreadPool::qt_metacast
+32 QThreadPool::qt_metacall
+40 QThreadPool::~QThreadPool
+48 QThreadPool::~QThreadPool
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QThreadPool
+ size=16 align=8
+ base size=16 base align=8
+QThreadPool (0x7f5b969bccb0) 0
+ vptr=((& QThreadPool::_ZTV11QThreadPool) + 16u)
+ QObject (0x7f5b969bcd20) 0
+ primary-for QThreadPool (0x7f5b969bccb0)
+
+Class QWaitCondition
+ size=8 align=8
+ base size=8 base align=8
+QWaitCondition (0x7f5b969d8540) 0
+
+Class QtConcurrent::ThreadEngineSemaphore
+ size=24 align=8
+ base size=24 base align=8
+QtConcurrent::ThreadEngineSemaphore (0x7f5b969d8a80) 0
+
+Vtable for QtConcurrent::ThreadEngineBase
+QtConcurrent::ThreadEngineBase::_ZTVN12QtConcurrent16ThreadEngineBaseE: 11u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN12QtConcurrent16ThreadEngineBaseE)
+16 QtConcurrent::ThreadEngineBase::run
+24 QtConcurrent::ThreadEngineBase::~ThreadEngineBase
+32 QtConcurrent::ThreadEngineBase::~ThreadEngineBase
+40 QtConcurrent::ThreadEngineBase::start
+48 QtConcurrent::ThreadEngineBase::finish
+56 QtConcurrent::ThreadEngineBase::threadFunction
+64 QtConcurrent::ThreadEngineBase::shouldStartThread
+72 QtConcurrent::ThreadEngineBase::shouldThrottleThread
+80 __cxa_pure_virtual
+
+Class QtConcurrent::ThreadEngineBase
+ size=64 align=8
+ base size=64 base align=8
+QtConcurrent::ThreadEngineBase (0x7f5b967f6460) 0
+ vptr=((& QtConcurrent::ThreadEngineBase::_ZTVN12QtConcurrent16ThreadEngineBaseE) + 16u)
+ QRunnable (0x7f5b967f64d0) 0
+ primary-for QtConcurrent::ThreadEngineBase (0x7f5b967f6460)
+
+VTT for QtConcurrent::ThreadEngine<void>
+QtConcurrent::ThreadEngine<void>::_ZTTN12QtConcurrent12ThreadEngineIvEE: 2u entries
+0 ((& QtConcurrent::ThreadEngine<void>::_ZTVN12QtConcurrent12ThreadEngineIvEE) + 24u)
+8 ((& QtConcurrent::ThreadEngine<void>::_ZTVN12QtConcurrent12ThreadEngineIvEE) + 136u)
+
+Class std::input_iterator_tag
+ size=1 align=1
+ base size=0 base align=1
+std::input_iterator_tag (0x7f5b96838850) 0 empty
+
+Class std::output_iterator_tag
+ size=1 align=1
+ base size=0 base align=1
+std::output_iterator_tag (0x7f5b968388c0) 0 empty
+
+Class std::forward_iterator_tag
+ size=1 align=1
+ base size=1 base align=1
+std::forward_iterator_tag (0x7f5b96838930) 0 empty
+ std::input_iterator_tag (0x7f5b968389a0) 0 empty
+
+Class std::bidirectional_iterator_tag
+ size=1 align=1
+ base size=1 base align=1
+std::bidirectional_iterator_tag (0x7f5b96838a10) 0 empty
+ std::forward_iterator_tag (0x7f5b96838a80) 0 empty
+ std::input_iterator_tag (0x7f5b96838af0) 0 empty
+
+Class std::random_access_iterator_tag
+ size=1 align=1
+ base size=1 base align=1
+std::random_access_iterator_tag (0x7f5b96838b60) 0 empty
+ std::bidirectional_iterator_tag (0x7f5b96838bd0) 0 empty
+ std::forward_iterator_tag (0x7f5b96838c40) 0 empty
+ std::input_iterator_tag (0x7f5b96838cb0) 0 empty
+
+Class std::__true_type
+ size=1 align=1
+ base size=0 base align=1
+std::__true_type (0x7f5b9684c2a0) 0 empty
+
+Class std::__false_type
+ size=1 align=1
+ base size=0 base align=1
+std::__false_type (0x7f5b9684c310) 0 empty
+
+Class lconv
+ size=96 align=8
+ base size=96 base align=8
+lconv (0x7f5b96628620) 0
+
+Class sched_param
+ size=4 align=4
+ base size=4 base align=4
+sched_param (0x7f5b96628a80) 0
+
+Class __sched_param
+ size=4 align=4
+ base size=4 base align=4
+__sched_param (0x7f5b96628af0) 0
+
+Class tm
+ size=56 align=8
+ base size=56 base align=8
+tm (0x7f5b96628bd0) 0
+
+Class itimerspec
+ size=32 align=8
+ base size=32 base align=8
+itimerspec (0x7f5b96628cb0) 0
+
+Class _pthread_cleanup_buffer
+ size=32 align=8
+ base size=32 base align=8
+_pthread_cleanup_buffer (0x7f5b96628d20) 0
+
+Class __pthread_cleanup_frame
+ size=24 align=8
+ base size=24 base align=8
+__pthread_cleanup_frame (0x7f5b96628e70) 0
+
+Class __pthread_cleanup_class
+ size=24 align=8
+ base size=24 base align=8
+__pthread_cleanup_class (0x7f5b96628ee0) 0
+
+Vtable for __cxxabiv1::__forced_unwind
+__cxxabiv1::__forced_unwind::_ZTVN10__cxxabiv115__forced_unwindE: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN10__cxxabiv115__forced_unwindE)
+16 __cxxabiv1::__forced_unwind::~__forced_unwind
+24 __cxxabiv1::__forced_unwind::~__forced_unwind
+32 __cxa_pure_virtual
+
+Class __cxxabiv1::__forced_unwind
+ size=8 align=8
+ base size=8 base align=8
+__cxxabiv1::__forced_unwind (0x7f5b96534a80) 0 nearly-empty
+ vptr=((& __cxxabiv1::__forced_unwind::_ZTVN10__cxxabiv115__forced_unwindE) + 16u)
+
+Class std::locale
+ size=8 align=8
+ base size=8 base align=8
+std::locale (0x7f5b963e45b0) 0
+
+Vtable for std::locale::facet
+std::locale::facet::_ZTVNSt6locale5facetE: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTINSt6locale5facetE)
+16 std::locale::facet::~facet
+24 std::locale::facet::~facet
+
+Class std::locale::facet
+ size=16 align=8
+ base size=12 base align=8
+std::locale::facet (0x7f5b96285cb0) 0
+ vptr=((& std::locale::facet::_ZTVNSt6locale5facetE) + 16u)
+
+Class std::locale::id
+ size=8 align=8
+ base size=8 base align=8
+std::locale::id (0x7f5b9629f2a0) 0
+
+Class std::locale::_Impl
+ size=40 align=8
+ base size=40 base align=8
+std::locale::_Impl (0x7f5b9629f8c0) 0
+
+Vtable for std::ios_base::failure
+std::ios_base::failure::_ZTVNSt8ios_base7failureE: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTINSt8ios_base7failureE)
+16 std::ios_base::failure::~failure
+24 std::ios_base::failure::~failure
+32 std::ios_base::failure::what
+
+Class std::ios_base::failure
+ size=16 align=8
+ base size=16 base align=8
+std::ios_base::failure (0x7f5b96128070) 0
+ vptr=((& std::ios_base::failure::_ZTVNSt8ios_base7failureE) + 16u)
+ std::exception (0x7f5b961280e0) 0 nearly-empty
+ primary-for std::ios_base::failure (0x7f5b96128070)
+
+Class std::ios_base::_Callback_list
+ size=24 align=8
+ base size=24 base align=8
+std::ios_base::_Callback_list (0x7f5b96137310) 0
+
+Class std::ios_base::_Words
+ size=16 align=8
+ base size=16 base align=8
+std::ios_base::_Words (0x7f5b96137d90) 0
+
+Class std::ios_base::Init
+ size=1 align=1
+ base size=0 base align=1
+std::ios_base::Init (0x7f5b9613e4d0) 0 empty
+
+Vtable for std::ios_base
+std::ios_base::_ZTVSt8ios_base: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt8ios_base)
+16 std::ios_base::~ios_base
+24 std::ios_base::~ios_base
+
+Class std::ios_base
+ size=216 align=8
+ base size=216 base align=8
+std::ios_base (0x7f5b96128000) 0
+ vptr=((& std::ios_base::_ZTVSt8ios_base) + 16u)
+
+Class std::ctype_base
+ size=1 align=1
+ base size=0 base align=1
+std::ctype_base (0x7f5b961b7930) 0 empty
+
+Class std::__num_base
+ size=1 align=1
+ base size=0 base align=1
+std::__num_base (0x7f5b960db1c0) 0 empty
+
+VTT for std::basic_ostream<char, std::char_traits<char> >
+std::basic_ostream<char, std::char_traits<char> >::_ZTTSo: 2u entries
+0 ((& std::basic_ostream<char, std::char_traits<char> >::_ZTVSo) + 24u)
+8 ((& std::basic_ostream<char, std::char_traits<char> >::_ZTVSo) + 64u)
+
+VTT for std::basic_ostream<wchar_t, std::char_traits<wchar_t> >
+std::basic_ostream<wchar_t, std::char_traits<wchar_t> >::_ZTTSt13basic_ostreamIwSt11char_traitsIwEE: 2u entries
+0 ((& std::basic_ostream<wchar_t, std::char_traits<wchar_t> >::_ZTVSt13basic_ostreamIwSt11char_traitsIwEE) + 24u)
+8 ((& std::basic_ostream<wchar_t, std::char_traits<wchar_t> >::_ZTVSt13basic_ostreamIwSt11char_traitsIwEE) + 64u)
+
+VTT for std::basic_istream<char, std::char_traits<char> >
+std::basic_istream<char, std::char_traits<char> >::_ZTTSi: 2u entries
+0 ((& std::basic_istream<char, std::char_traits<char> >::_ZTVSi) + 24u)
+8 ((& std::basic_istream<char, std::char_traits<char> >::_ZTVSi) + 64u)
+
+VTT for std::basic_istream<wchar_t, std::char_traits<wchar_t> >
+std::basic_istream<wchar_t, std::char_traits<wchar_t> >::_ZTTSt13basic_istreamIwSt11char_traitsIwEE: 2u entries
+0 ((& std::basic_istream<wchar_t, std::char_traits<wchar_t> >::_ZTVSt13basic_istreamIwSt11char_traitsIwEE) + 24u)
+8 ((& std::basic_istream<wchar_t, std::char_traits<wchar_t> >::_ZTVSt13basic_istreamIwSt11char_traitsIwEE) + 64u)
+
+Construction vtable for std::basic_istream<char, std::char_traits<char> > (0x7f5b95c10310 instance) in std::basic_iostream<char, std::char_traits<char> >
+std::basic_iostream<char, std::char_traits<char> >::_ZTCSd0_Si: 10u entries
+0 24u
+8 (int (*)(...))0
+16 (int (*)(...))(& _ZTISi)
+24 std::basic_istream<_CharT, _Traits>::~basic_istream [with _CharT = char, _Traits = std::char_traits<char>]
+32 std::basic_istream<_CharT, _Traits>::~basic_istream [with _CharT = char, _Traits = std::char_traits<char>]
+40 -24u
+48 (int (*)(...))-0x00000000000000018
+56 (int (*)(...))(& _ZTISi)
+64 std::basic_istream<char, std::char_traits<char> >::_ZTv0_n24_NSiD1Ev
+72 std::basic_istream<char, std::char_traits<char> >::_ZTv0_n24_NSiD0Ev
+
+Construction vtable for std::basic_ostream<char, std::char_traits<char> > (0x7f5b95c10460 instance) in std::basic_iostream<char, std::char_traits<char> >
+std::basic_iostream<char, std::char_traits<char> >::_ZTCSd16_So: 10u entries
+0 8u
+8 (int (*)(...))0
+16 (int (*)(...))(& _ZTISo)
+24 std::basic_ostream<_CharT, _Traits>::~basic_ostream [with _CharT = char, _Traits = std::char_traits<char>]
+32 std::basic_ostream<_CharT, _Traits>::~basic_ostream [with _CharT = char, _Traits = std::char_traits<char>]
+40 -8u
+48 (int (*)(...))-0x00000000000000008
+56 (int (*)(...))(& _ZTISo)
+64 std::basic_ostream<char, std::char_traits<char> >::_ZTv0_n24_NSoD1Ev
+72 std::basic_ostream<char, std::char_traits<char> >::_ZTv0_n24_NSoD0Ev
+
+VTT for std::basic_iostream<char, std::char_traits<char> >
+std::basic_iostream<char, std::char_traits<char> >::_ZTTSd: 7u entries
+0 ((& std::basic_iostream<char, std::char_traits<char> >::_ZTVSd) + 24u)
+8 ((& std::basic_iostream<char, std::char_traits<char> >::_ZTCSd0_Si) + 24u)
+16 ((& std::basic_iostream<char, std::char_traits<char> >::_ZTCSd0_Si) + 64u)
+24 ((& std::basic_iostream<char, std::char_traits<char> >::_ZTCSd16_So) + 24u)
+32 ((& std::basic_iostream<char, std::char_traits<char> >::_ZTCSd16_So) + 64u)
+40 ((& std::basic_iostream<char, std::char_traits<char> >::_ZTVSd) + 104u)
+48 ((& std::basic_iostream<char, std::char_traits<char> >::_ZTVSd) + 64u)
+
+Construction vtable for std::basic_istream<wchar_t, std::char_traits<wchar_t> > (0x7f5b95c10620 instance) in std::basic_iostream<wchar_t, std::char_traits<wchar_t> >
+std::basic_iostream<wchar_t, std::char_traits<wchar_t> >::_ZTCSt14basic_iostreamIwSt11char_traitsIwEE0_St13basic_istreamIwS1_E: 10u entries
+0 24u
+8 (int (*)(...))0
+16 (int (*)(...))(& _ZTISt13basic_istreamIwSt11char_traitsIwEE)
+24 std::basic_istream<_CharT, _Traits>::~basic_istream [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
+32 std::basic_istream<_CharT, _Traits>::~basic_istream [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
+40 -24u
+48 (int (*)(...))-0x00000000000000018
+56 (int (*)(...))(& _ZTISt13basic_istreamIwSt11char_traitsIwEE)
+64 std::basic_istream<wchar_t, std::char_traits<wchar_t> >::_ZTv0_n24_NSt13basic_istreamIwSt11char_traitsIwEED1Ev
+72 std::basic_istream<wchar_t, std::char_traits<wchar_t> >::_ZTv0_n24_NSt13basic_istreamIwSt11char_traitsIwEED0Ev
+
+Construction vtable for std::basic_ostream<wchar_t, std::char_traits<wchar_t> > (0x7f5b95c10770 instance) in std::basic_iostream<wchar_t, std::char_traits<wchar_t> >
+std::basic_iostream<wchar_t, std::char_traits<wchar_t> >::_ZTCSt14basic_iostreamIwSt11char_traitsIwEE16_St13basic_ostreamIwS1_E: 10u entries
+0 8u
+8 (int (*)(...))0
+16 (int (*)(...))(& _ZTISt13basic_ostreamIwSt11char_traitsIwEE)
+24 std::basic_ostream<_CharT, _Traits>::~basic_ostream [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
+32 std::basic_ostream<_CharT, _Traits>::~basic_ostream [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
+40 -8u
+48 (int (*)(...))-0x00000000000000008
+56 (int (*)(...))(& _ZTISt13basic_ostreamIwSt11char_traitsIwEE)
+64 std::basic_ostream<wchar_t, std::char_traits<wchar_t> >::_ZTv0_n24_NSt13basic_ostreamIwSt11char_traitsIwEED1Ev
+72 std::basic_ostream<wchar_t, std::char_traits<wchar_t> >::_ZTv0_n24_NSt13basic_ostreamIwSt11char_traitsIwEED0Ev
+
+VTT for std::basic_iostream<wchar_t, std::char_traits<wchar_t> >
+std::basic_iostream<wchar_t, std::char_traits<wchar_t> >::_ZTTSt14basic_iostreamIwSt11char_traitsIwEE: 7u entries
+0 ((& std::basic_iostream<wchar_t, std::char_traits<wchar_t> >::_ZTVSt14basic_iostreamIwSt11char_traitsIwEE) + 24u)
+8 ((& std::basic_iostream<wchar_t, std::char_traits<wchar_t> >::_ZTCSt14basic_iostreamIwSt11char_traitsIwEE0_St13basic_istreamIwS1_E) + 24u)
+16 ((& std::basic_iostream<wchar_t, std::char_traits<wchar_t> >::_ZTCSt14basic_iostreamIwSt11char_traitsIwEE0_St13basic_istreamIwS1_E) + 64u)
+24 ((& std::basic_iostream<wchar_t, std::char_traits<wchar_t> >::_ZTCSt14basic_iostreamIwSt11char_traitsIwEE16_St13basic_ostreamIwS1_E) + 24u)
+32 ((& std::basic_iostream<wchar_t, std::char_traits<wchar_t> >::_ZTCSt14basic_iostreamIwSt11char_traitsIwEE16_St13basic_ostreamIwS1_E) + 64u)
+40 ((& std::basic_iostream<wchar_t, std::char_traits<wchar_t> >::_ZTVSt14basic_iostreamIwSt11char_traitsIwEE) + 104u)
+48 ((& std::basic_iostream<wchar_t, std::char_traits<wchar_t> >::_ZTVSt14basic_iostreamIwSt11char_traitsIwEE) + 64u)
+
+Class QtConcurrent::BlockSizeManager
+ size=96 align=8
+ base size=92 base align=8
+QtConcurrent::BlockSizeManager (0x7f5b95c7a230) 0
+
+Vtable for QFutureWatcherBase
+QFutureWatcherBase::_ZTV18QFutureWatcherBase: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QFutureWatcherBase)
+16 QFutureWatcherBase::metaObject
+24 QFutureWatcherBase::qt_metacast
+32 QFutureWatcherBase::qt_metacall
+40 QFutureWatcherBase::~QFutureWatcherBase
+48 QFutureWatcherBase::~QFutureWatcherBase
+56 QFutureWatcherBase::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QFutureWatcherBase::connectNotify
+104 QFutureWatcherBase::disconnectNotify
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+
+Class QFutureWatcherBase
+ size=16 align=8
+ base size=16 base align=8
+QFutureWatcherBase (0x7f5b95845bd0) 0
+ vptr=((& QFutureWatcherBase::_ZTV18QFutureWatcherBase) + 16u)
+ QObject (0x7f5b95845c40) 0
+ primary-for QFutureWatcherBase (0x7f5b95845bd0)
+
+Vtable for QFactoryInterface
+QFactoryInterface::_ZTV17QFactoryInterface: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QFactoryInterface)
+16 QFactoryInterface::~QFactoryInterface
+24 QFactoryInterface::~QFactoryInterface
+32 __cxa_pure_virtual
+
+Class QFactoryInterface
+ size=8 align=8
+ base size=8 base align=8
+QFactoryInterface (0x7f5b9575fe00) 0 nearly-empty
+ vptr=((& QFactoryInterface::_ZTV17QFactoryInterface) + 16u)
+
+Vtable for QTextCodecFactoryInterface
+QTextCodecFactoryInterface::_ZTV26QTextCodecFactoryInterface: 6u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI26QTextCodecFactoryInterface)
+16 QTextCodecFactoryInterface::~QTextCodecFactoryInterface
+24 QTextCodecFactoryInterface::~QTextCodecFactoryInterface
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+
+Class QTextCodecFactoryInterface
+ size=8 align=8
+ base size=8 base align=8
+QTextCodecFactoryInterface (0x7f5b95780ee0) 0 nearly-empty
+ vptr=((& QTextCodecFactoryInterface::_ZTV26QTextCodecFactoryInterface) + 16u)
+ QFactoryInterface (0x7f5b95780f50) 0 nearly-empty
+ primary-for QTextCodecFactoryInterface (0x7f5b95780ee0)
+
+Vtable for QTextCodecPlugin
+QTextCodecPlugin::_ZTV16QTextCodecPlugin: 27u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QTextCodecPlugin)
+16 QTextCodecPlugin::metaObject
+24 QTextCodecPlugin::qt_metacast
+32 QTextCodecPlugin::qt_metacall
+40 QTextCodecPlugin::~QTextCodecPlugin
+48 QTextCodecPlugin::~QTextCodecPlugin
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 __cxa_pure_virtual
+136 __cxa_pure_virtual
+144 __cxa_pure_virtual
+152 QTextCodecPlugin::keys
+160 QTextCodecPlugin::create
+168 (int (*)(...))-0x00000000000000010
+176 (int (*)(...))(& _ZTI16QTextCodecPlugin)
+184 QTextCodecPlugin::_ZThn16_N16QTextCodecPluginD1Ev
+192 QTextCodecPlugin::_ZThn16_N16QTextCodecPluginD0Ev
+200 QTextCodecPlugin::_ZThn16_NK16QTextCodecPlugin4keysEv
+208 QTextCodecPlugin::_ZThn16_N16QTextCodecPlugin6createERK7QString
+
+Class QTextCodecPlugin
+ size=24 align=8
+ base size=24 base align=8
+QTextCodecPlugin (0x7f5b95784e00) 0
+ vptr=((& QTextCodecPlugin::_ZTV16QTextCodecPlugin) + 16u)
+ QObject (0x7f5b9578d7e0) 0
+ primary-for QTextCodecPlugin (0x7f5b95784e00)
+ QTextCodecFactoryInterface (0x7f5b9578d850) 16 nearly-empty
+ vptr=((& QTextCodecPlugin::_ZTV16QTextCodecPlugin) + 184u)
+ QFactoryInterface (0x7f5b9578d8c0) 16 nearly-empty
+ primary-for QTextCodecFactoryInterface (0x7f5b9578d850)
+
+Class QLibraryInfo
+ size=1 align=1
+ base size=0 base align=1
+QLibraryInfo (0x7f5b957a1700) 0 empty
+
+Vtable for QTranslator
+QTranslator::_ZTV11QTranslator: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QTranslator)
+16 QTranslator::metaObject
+24 QTranslator::qt_metacast
+32 QTranslator::qt_metacall
+40 QTranslator::~QTranslator
+48 QTranslator::~QTranslator
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QTranslator::translate
+120 QTranslator::isEmpty
+
+Class QTranslator
+ size=16 align=8
+ base size=16 base align=8
+QTranslator (0x7f5b955e4000) 0
+ vptr=((& QTranslator::_ZTV11QTranslator) + 16u)
+ QObject (0x7f5b955e4070) 0
+ primary-for QTranslator (0x7f5b955e4000)
+
+Class __exception
+ size=40 align=8
+ base size=40 base align=8
+__exception (0x7f5b955f8f50) 0
+
+Vtable for QMimeData
+QMimeData::_ZTV9QMimeData: 17u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QMimeData)
+16 QMimeData::metaObject
+24 QMimeData::qt_metacast
+32 QMimeData::qt_metacall
+40 QMimeData::~QMimeData
+48 QMimeData::~QMimeData
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QMimeData::hasFormat
+120 QMimeData::formats
+128 QMimeData::retrieveData
+
+Class QMimeData
+ size=16 align=8
+ base size=16 base align=8
+QMimeData (0x7f5b95664150) 0
+ vptr=((& QMimeData::_ZTV9QMimeData) + 16u)
+ QObject (0x7f5b956641c0) 0
+ primary-for QMimeData (0x7f5b95664150)
+
+Vtable for QEventLoop
+QEventLoop::_ZTV10QEventLoop: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QEventLoop)
+16 QEventLoop::metaObject
+24 QEventLoop::qt_metacast
+32 QEventLoop::qt_metacall
+40 QEventLoop::~QEventLoop
+48 QEventLoop::~QEventLoop
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QEventLoop
+ size=16 align=8
+ base size=16 base align=8
+QEventLoop (0x7f5b9567c9a0) 0
+ vptr=((& QEventLoop::_ZTV10QEventLoop) + 16u)
+ QObject (0x7f5b9567ca10) 0
+ primary-for QEventLoop (0x7f5b9567c9a0)
+
+Vtable for QEvent
+QEvent::_ZTV6QEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI6QEvent)
+16 QEvent::~QEvent
+24 QEvent::~QEvent
+
+Class QEvent
+ size=24 align=8
+ base size=20 base align=8
+QEvent (0x7f5b956bc310) 0
+ vptr=((& QEvent::_ZTV6QEvent) + 16u)
+
+Vtable for QTimerEvent
+QTimerEvent::_ZTV11QTimerEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QTimerEvent)
+16 QTimerEvent::~QTimerEvent
+24 QTimerEvent::~QTimerEvent
+
+Class QTimerEvent
+ size=24 align=8
+ base size=24 base align=8
+QTimerEvent (0x7f5b956d5ee0) 0
+ vptr=((& QTimerEvent::_ZTV11QTimerEvent) + 16u)
+ QEvent (0x7f5b956d5f50) 0
+ primary-for QTimerEvent (0x7f5b956d5ee0)
+
+Vtable for QChildEvent
+QChildEvent::_ZTV11QChildEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QChildEvent)
+16 QChildEvent::~QChildEvent
+24 QChildEvent::~QChildEvent
+
+Class QChildEvent
+ size=32 align=8
+ base size=32 base align=8
+QChildEvent (0x7f5b956d8380) 0
+ vptr=((& QChildEvent::_ZTV11QChildEvent) + 16u)
+ QEvent (0x7f5b956d83f0) 0
+ primary-for QChildEvent (0x7f5b956d8380)
+
+Vtable for QCustomEvent
+QCustomEvent::_ZTV12QCustomEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QCustomEvent)
+16 QCustomEvent::~QCustomEvent
+24 QCustomEvent::~QCustomEvent
+
+Class QCustomEvent
+ size=24 align=8
+ base size=20 base align=8
+QCustomEvent (0x7f5b954eb620) 0
+ vptr=((& QCustomEvent::_ZTV12QCustomEvent) + 16u)
+ QEvent (0x7f5b954eb690) 0
+ primary-for QCustomEvent (0x7f5b954eb620)
+
+Vtable for QDynamicPropertyChangeEvent
+QDynamicPropertyChangeEvent::_ZTV27QDynamicPropertyChangeEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI27QDynamicPropertyChangeEvent)
+16 QDynamicPropertyChangeEvent::~QDynamicPropertyChangeEvent
+24 QDynamicPropertyChangeEvent::~QDynamicPropertyChangeEvent
+
+Class QDynamicPropertyChangeEvent
+ size=32 align=8
+ base size=32 base align=8
+QDynamicPropertyChangeEvent (0x7f5b954ebe00) 0
+ vptr=((& QDynamicPropertyChangeEvent::_ZTV27QDynamicPropertyChangeEvent) + 16u)
+ QEvent (0x7f5b954ebe70) 0
+ primary-for QDynamicPropertyChangeEvent (0x7f5b954ebe00)
+
+Vtable for QCoreApplication
+QCoreApplication::_ZTV16QCoreApplication: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QCoreApplication)
+16 QCoreApplication::metaObject
+24 QCoreApplication::qt_metacast
+32 QCoreApplication::qt_metacall
+40 QCoreApplication::~QCoreApplication
+48 QCoreApplication::~QCoreApplication
+56 QCoreApplication::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QCoreApplication::notify
+120 QCoreApplication::compressEvent
+
+Class QCoreApplication
+ size=16 align=8
+ base size=16 base align=8
+QCoreApplication (0x7f5b954fb230) 0
+ vptr=((& QCoreApplication::_ZTV16QCoreApplication) + 16u)
+ QObject (0x7f5b954fb2a0) 0
+ primary-for QCoreApplication (0x7f5b954fb230)
+
+Vtable for QSharedMemory
+QSharedMemory::_ZTV13QSharedMemory: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QSharedMemory)
+16 QSharedMemory::metaObject
+24 QSharedMemory::qt_metacast
+32 QSharedMemory::qt_metacall
+40 QSharedMemory::~QSharedMemory
+48 QSharedMemory::~QSharedMemory
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QSharedMemory
+ size=16 align=8
+ base size=16 base align=8
+QSharedMemory (0x7f5b95526a80) 0
+ vptr=((& QSharedMemory::_ZTV13QSharedMemory) + 16u)
+ QObject (0x7f5b95526af0) 0
+ primary-for QSharedMemory (0x7f5b95526a80)
+
+Class QModelIndex
+ size=24 align=8
+ base size=24 base align=8
+QModelIndex (0x7f5b95544850) 0
+
+Class QPersistentModelIndex
+ size=8 align=8
+ base size=8 base align=8
+QPersistentModelIndex (0x7f5b9556d310) 0
+
+Vtable for QAbstractItemModel
+QAbstractItemModel::_ZTV18QAbstractItemModel: 42u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QAbstractItemModel)
+16 QAbstractItemModel::metaObject
+24 QAbstractItemModel::qt_metacast
+32 QAbstractItemModel::qt_metacall
+40 QAbstractItemModel::~QAbstractItemModel
+48 QAbstractItemModel::~QAbstractItemModel
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 __cxa_pure_virtual
+136 __cxa_pure_virtual
+144 QAbstractItemModel::hasChildren
+152 __cxa_pure_virtual
+160 QAbstractItemModel::setData
+168 QAbstractItemModel::headerData
+176 QAbstractItemModel::setHeaderData
+184 QAbstractItemModel::itemData
+192 QAbstractItemModel::setItemData
+200 QAbstractItemModel::mimeTypes
+208 QAbstractItemModel::mimeData
+216 QAbstractItemModel::dropMimeData
+224 QAbstractItemModel::supportedDropActions
+232 QAbstractItemModel::insertRows
+240 QAbstractItemModel::insertColumns
+248 QAbstractItemModel::removeRows
+256 QAbstractItemModel::removeColumns
+264 QAbstractItemModel::fetchMore
+272 QAbstractItemModel::canFetchMore
+280 QAbstractItemModel::flags
+288 QAbstractItemModel::sort
+296 QAbstractItemModel::buddy
+304 QAbstractItemModel::match
+312 QAbstractItemModel::span
+320 QAbstractItemModel::submit
+328 QAbstractItemModel::revert
+
+Class QAbstractItemModel
+ size=16 align=8
+ base size=16 base align=8
+QAbstractItemModel (0x7f5b9557c5b0) 0
+ vptr=((& QAbstractItemModel::_ZTV18QAbstractItemModel) + 16u)
+ QObject (0x7f5b9557c620) 0
+ primary-for QAbstractItemModel (0x7f5b9557c5b0)
+
+Vtable for QAbstractTableModel
+QAbstractTableModel::_ZTV19QAbstractTableModel: 42u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QAbstractTableModel)
+16 QAbstractTableModel::metaObject
+24 QAbstractTableModel::qt_metacast
+32 QAbstractTableModel::qt_metacall
+40 QAbstractTableModel::~QAbstractTableModel
+48 QAbstractTableModel::~QAbstractTableModel
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QAbstractTableModel::index
+120 QAbstractTableModel::parent
+128 __cxa_pure_virtual
+136 __cxa_pure_virtual
+144 QAbstractTableModel::hasChildren
+152 __cxa_pure_virtual
+160 QAbstractItemModel::setData
+168 QAbstractItemModel::headerData
+176 QAbstractItemModel::setHeaderData
+184 QAbstractItemModel::itemData
+192 QAbstractItemModel::setItemData
+200 QAbstractItemModel::mimeTypes
+208 QAbstractItemModel::mimeData
+216 QAbstractTableModel::dropMimeData
+224 QAbstractItemModel::supportedDropActions
+232 QAbstractItemModel::insertRows
+240 QAbstractItemModel::insertColumns
+248 QAbstractItemModel::removeRows
+256 QAbstractItemModel::removeColumns
+264 QAbstractItemModel::fetchMore
+272 QAbstractItemModel::canFetchMore
+280 QAbstractItemModel::flags
+288 QAbstractItemModel::sort
+296 QAbstractItemModel::buddy
+304 QAbstractItemModel::match
+312 QAbstractItemModel::span
+320 QAbstractItemModel::submit
+328 QAbstractItemModel::revert
+
+Class QAbstractTableModel
+ size=16 align=8
+ base size=16 base align=8
+QAbstractTableModel (0x7f5b955cd930) 0
+ vptr=((& QAbstractTableModel::_ZTV19QAbstractTableModel) + 16u)
+ QAbstractItemModel (0x7f5b955cd9a0) 0
+ primary-for QAbstractTableModel (0x7f5b955cd930)
+ QObject (0x7f5b955cda10) 0
+ primary-for QAbstractItemModel (0x7f5b955cd9a0)
+
+Vtable for QAbstractListModel
+QAbstractListModel::_ZTV18QAbstractListModel: 42u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QAbstractListModel)
+16 QAbstractListModel::metaObject
+24 QAbstractListModel::qt_metacast
+32 QAbstractListModel::qt_metacall
+40 QAbstractListModel::~QAbstractListModel
+48 QAbstractListModel::~QAbstractListModel
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QAbstractListModel::index
+120 QAbstractListModel::parent
+128 __cxa_pure_virtual
+136 QAbstractListModel::columnCount
+144 QAbstractListModel::hasChildren
+152 __cxa_pure_virtual
+160 QAbstractItemModel::setData
+168 QAbstractItemModel::headerData
+176 QAbstractItemModel::setHeaderData
+184 QAbstractItemModel::itemData
+192 QAbstractItemModel::setItemData
+200 QAbstractItemModel::mimeTypes
+208 QAbstractItemModel::mimeData
+216 QAbstractListModel::dropMimeData
+224 QAbstractItemModel::supportedDropActions
+232 QAbstractItemModel::insertRows
+240 QAbstractItemModel::insertColumns
+248 QAbstractItemModel::removeRows
+256 QAbstractItemModel::removeColumns
+264 QAbstractItemModel::fetchMore
+272 QAbstractItemModel::canFetchMore
+280 QAbstractItemModel::flags
+288 QAbstractItemModel::sort
+296 QAbstractItemModel::buddy
+304 QAbstractItemModel::match
+312 QAbstractItemModel::span
+320 QAbstractItemModel::submit
+328 QAbstractItemModel::revert
+
+Class QAbstractListModel
+ size=16 align=8
+ base size=16 base align=8
+QAbstractListModel (0x7f5b955d8ee0) 0
+ vptr=((& QAbstractListModel::_ZTV18QAbstractListModel) + 16u)
+ QAbstractItemModel (0x7f5b955d8f50) 0
+ primary-for QAbstractListModel (0x7f5b955d8ee0)
+ QObject (0x7f5b955d8230) 0
+ primary-for QAbstractItemModel (0x7f5b955d8f50)
+
+Vtable for QSignalMapper
+QSignalMapper::_ZTV13QSignalMapper: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QSignalMapper)
+16 QSignalMapper::metaObject
+24 QSignalMapper::qt_metacast
+32 QSignalMapper::qt_metacall
+40 QSignalMapper::~QSignalMapper
+48 QSignalMapper::~QSignalMapper
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QSignalMapper
+ size=16 align=8
+ base size=16 base align=8
+QSignalMapper (0x7f5b9541b000) 0
+ vptr=((& QSignalMapper::_ZTV13QSignalMapper) + 16u)
+ QObject (0x7f5b9541b070) 0
+ primary-for QSignalMapper (0x7f5b9541b000)
+
+Vtable for QObjectCleanupHandler
+QObjectCleanupHandler::_ZTV21QObjectCleanupHandler: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI21QObjectCleanupHandler)
+16 QObjectCleanupHandler::metaObject
+24 QObjectCleanupHandler::qt_metacast
+32 QObjectCleanupHandler::qt_metacall
+40 QObjectCleanupHandler::~QObjectCleanupHandler
+48 QObjectCleanupHandler::~QObjectCleanupHandler
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QObjectCleanupHandler
+ size=24 align=8
+ base size=24 base align=8
+QObjectCleanupHandler (0x7f5b954333f0) 0
+ vptr=((& QObjectCleanupHandler::_ZTV21QObjectCleanupHandler) + 16u)
+ QObject (0x7f5b95433460) 0
+ primary-for QObjectCleanupHandler (0x7f5b954333f0)
+
+Class QBasicTimer
+ size=4 align=4
+ base size=4 base align=4
+QBasicTimer (0x7f5b95442540) 0
+
+Vtable for QSocketNotifier
+QSocketNotifier::_ZTV15QSocketNotifier: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QSocketNotifier)
+16 QSocketNotifier::metaObject
+24 QSocketNotifier::qt_metacast
+32 QSocketNotifier::qt_metacall
+40 QSocketNotifier::~QSocketNotifier
+48 QSocketNotifier::~QSocketNotifier
+56 QSocketNotifier::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QSocketNotifier
+ size=32 align=8
+ base size=25 base align=8
+QSocketNotifier (0x7f5b9544e930) 0
+ vptr=((& QSocketNotifier::_ZTV15QSocketNotifier) + 16u)
+ QObject (0x7f5b9544e9a0) 0
+ primary-for QSocketNotifier (0x7f5b9544e930)
+
+Vtable for QTimer
+QTimer::_ZTV6QTimer: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI6QTimer)
+16 QTimer::metaObject
+24 QTimer::qt_metacast
+32 QTimer::qt_metacall
+40 QTimer::~QTimer
+48 QTimer::~QTimer
+56 QObject::event
+64 QObject::eventFilter
+72 QTimer::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QTimer
+ size=32 align=8
+ base size=29 base align=8
+QTimer (0x7f5b9546acb0) 0
+ vptr=((& QTimer::_ZTV6QTimer) + 16u)
+ QObject (0x7f5b9546ad20) 0
+ primary-for QTimer (0x7f5b9546acb0)
+
+Vtable for QAbstractEventDispatcher
+QAbstractEventDispatcher::_ZTV24QAbstractEventDispatcher: 27u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI24QAbstractEventDispatcher)
+16 QAbstractEventDispatcher::metaObject
+24 QAbstractEventDispatcher::qt_metacast
+32 QAbstractEventDispatcher::qt_metacall
+40 QAbstractEventDispatcher::~QAbstractEventDispatcher
+48 QAbstractEventDispatcher::~QAbstractEventDispatcher
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 __cxa_pure_virtual
+136 __cxa_pure_virtual
+144 __cxa_pure_virtual
+152 __cxa_pure_virtual
+160 __cxa_pure_virtual
+168 __cxa_pure_virtual
+176 __cxa_pure_virtual
+184 __cxa_pure_virtual
+192 __cxa_pure_virtual
+200 QAbstractEventDispatcher::startingUp
+208 QAbstractEventDispatcher::closingDown
+
+Class QAbstractEventDispatcher
+ size=16 align=8
+ base size=16 base align=8
+QAbstractEventDispatcher (0x7f5b9548c2a0) 0
+ vptr=((& QAbstractEventDispatcher::_ZTV24QAbstractEventDispatcher) + 16u)
+ QObject (0x7f5b9548c310) 0
+ primary-for QAbstractEventDispatcher (0x7f5b9548c2a0)
+
+Class QMetaMethod
+ size=16 align=8
+ base size=12 base align=8
+QMetaMethod (0x7f5b954a6150) 0
+
+Class QMetaEnum
+ size=16 align=8
+ base size=12 base align=8
+QMetaEnum (0x7f5b954c25b0) 0
+
+Class QMetaProperty
+ size=32 align=8
+ base size=32 base align=8
+QMetaProperty (0x7f5b954cf310) 0
+
+Class QMetaClassInfo
+ size=16 align=8
+ base size=12 base align=8
+QMetaClassInfo (0x7f5b954cf9a0) 0
+
+Class QSystemSemaphore
+ size=8 align=8
+ base size=8 base align=8
+QSystemSemaphore (0x7f5b952e24d0) 0
+
+Vtable for QLibrary
+QLibrary::_ZTV8QLibrary: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI8QLibrary)
+16 QLibrary::metaObject
+24 QLibrary::qt_metacast
+32 QLibrary::qt_metacall
+40 QLibrary::~QLibrary
+48 QLibrary::~QLibrary
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QLibrary
+ size=32 align=8
+ base size=25 base align=8
+QLibrary (0x7f5b952e2e00) 0
+ vptr=((& QLibrary::_ZTV8QLibrary) + 16u)
+ QObject (0x7f5b952e2e70) 0
+ primary-for QLibrary (0x7f5b952e2e00)
+
+Vtable for QPluginLoader
+QPluginLoader::_ZTV13QPluginLoader: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QPluginLoader)
+16 QPluginLoader::metaObject
+24 QPluginLoader::qt_metacast
+32 QPluginLoader::qt_metacall
+40 QPluginLoader::~QPluginLoader
+48 QPluginLoader::~QPluginLoader
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QPluginLoader
+ size=32 align=8
+ base size=25 base align=8
+QPluginLoader (0x7f5b953288c0) 0
+ vptr=((& QPluginLoader::_ZTV13QPluginLoader) + 16u)
+ QObject (0x7f5b95328930) 0
+ primary-for QPluginLoader (0x7f5b953288c0)
+
+Class QUuid
+ size=16 align=4
+ base size=16 base align=4
+QUuid (0x7f5b9534a070) 0
+
+Class QSemaphore
+ size=8 align=8
+ base size=8 base align=8
+QSemaphore (0x7f5b9536a9a0) 0
+
+Class QThreadStorageData
+ size=4 align=4
+ base size=4 base align=4
+QThreadStorageData (0x7f5b9536aee0) 0
+
+Class QReadWriteLock
+ size=8 align=8
+ base size=8 base align=8
+QReadWriteLock (0x7f5b9537b690) 0
+
+Class QReadLocker
+ size=8 align=8
+ base size=8 base align=8
+QReadLocker (0x7f5b9537bd20) 0
+
+Class QWriteLocker
+ size=8 align=8
+ base size=8 base align=8
+QWriteLocker (0x7f5b953ab0e0) 0
+
+Class QColor
+ size=16 align=4
+ base size=14 base align=4
+QColor (0x7f5b953c5e70) 0
+
+Class QFont
+ size=16 align=8
+ base size=12 base align=8
+QFont (0x7f5b9521d0e0) 0
+
+Class QPolygon
+ size=8 align=8
+ base size=8 base align=8
+QPolygon (0x7f5b95258ee0) 0
+ QVector<QPoint> (0x7f5b95258f50) 0
+
+Class QPolygonF
+ size=8 align=8
+ base size=8 base align=8
+QPolygonF (0x7f5b952c1070) 0
+ QVector<QPointF> (0x7f5b952c10e0) 0
+
+Class QRegion::QRegionData
+ size=32 align=8
+ base size=32 base align=8
+QRegion::QRegionData (0x7f5b950f65b0) 0
+
+Class QRegion
+ size=8 align=8
+ base size=8 base align=8
+QRegion (0x7f5b952d7cb0) 0
+
+Class QMatrix
+ size=48 align=8
+ base size=48 base align=8
+QMatrix (0x7f5b95109e00) 0
+
+Class QPainterPath::Element
+ size=24 align=8
+ base size=24 base align=8
+QPainterPath::Element (0x7f5b95140850) 0
+
+Class QPainterPath
+ size=8 align=8
+ base size=8 base align=8
+QPainterPath (0x7f5b951407e0) 0
+
+Class QPainterPathPrivate
+ size=16 align=8
+ base size=16 base align=8
+QPainterPathPrivate (0x7f5b95185bd0) 0
+
+Class QPainterPathStroker
+ size=8 align=8
+ base size=8 base align=8
+QPainterPathStroker (0x7f5b9518c770) 0
+
+Class QTransform
+ size=88 align=8
+ base size=88 base align=8
+QTransform (0x7f5b94ff1310) 0
+
+Vtable for QPaintDevice
+QPaintDevice::_ZTV12QPaintDevice: 7u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QPaintDevice)
+16 QPaintDevice::~QPaintDevice
+24 QPaintDevice::~QPaintDevice
+32 QPaintDevice::devType
+40 __cxa_pure_virtual
+48 QPaintDevice::metric
+
+Class QPaintDevice
+ size=16 align=8
+ base size=10 base align=8
+QPaintDevice (0x7f5b95069620) 0
+ vptr=((& QPaintDevice::_ZTV12QPaintDevice) + 16u)
+
+Class QImageTextKeyLang
+ size=16 align=8
+ base size=16 base align=8
+QImageTextKeyLang (0x7f5b9508df50) 0
+
+Vtable for QImage
+QImage::_ZTV6QImage: 7u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI6QImage)
+16 QImage::~QImage
+24 QImage::~QImage
+32 QImage::devType
+40 QImage::paintEngine
+48 QImage::metric
+
+Class QImage
+ size=24 align=8
+ base size=24 base align=8
+QImage (0x7f5b950bd7e0) 0
+ vptr=((& QImage::_ZTV6QImage) + 16u)
+ QPaintDevice (0x7f5b950bd850) 0
+ primary-for QImage (0x7f5b950bd7e0)
+
+Vtable for QPixmap
+QPixmap::_ZTV7QPixmap: 7u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QPixmap)
+16 QPixmap::~QPixmap
+24 QPixmap::~QPixmap
+32 QPixmap::devType
+40 QPixmap::paintEngine
+48 QPixmap::metric
+
+Class QPixmap
+ size=24 align=8
+ base size=24 base align=8
+QPixmap (0x7f5b94f5e230) 0
+ vptr=((& QPixmap::_ZTV7QPixmap) + 16u)
+ QPaintDevice (0x7f5b94f5e2a0) 0
+ primary-for QPixmap (0x7f5b94f5e230)
+
+Class QBrush
+ size=8 align=8
+ base size=8 base align=8
+QBrush (0x7f5b94fac3f0) 0
+
+Class QBrushData
+ size=112 align=8
+ base size=112 base align=8
+QBrushData (0x7f5b94fcf000) 0
+
+Class QGradient
+ size=64 align=8
+ base size=64 base align=8
+QGradient (0x7f5b94dde1c0) 0
+
+Class QLinearGradient
+ size=64 align=8
+ base size=64 base align=8
+QLinearGradient (0x7f5b94deccb0) 0
+ QGradient (0x7f5b94decd20) 0
+
+Class QRadialGradient
+ size=64 align=8
+ base size=64 base align=8
+QRadialGradient (0x7f5b94e19150) 0
+ QGradient (0x7f5b94e191c0) 0
+
+Class QConicalGradient
+ size=64 align=8
+ base size=64 base align=8
+QConicalGradient (0x7f5b94e19700) 0
+ QGradient (0x7f5b94e19770) 0
+
+Class QPen
+ size=8 align=8
+ base size=8 base align=8
+QPen (0x7f5b94e19a80) 0
+
+Class QTextOption::Tab
+ size=16 align=8
+ base size=14 base align=8
+QTextOption::Tab (0x7f5b94e44230) 0
+
+Class QTextOption
+ size=32 align=8
+ base size=32 base align=8
+QTextOption (0x7f5b94e441c0) 0
+
+Class QTextLength
+ size=16 align=8
+ base size=16 base align=8
+QTextLength (0x7f5b94e9f620) 0
+
+Class QTextFormat
+ size=16 align=8
+ base size=12 base align=8
+QTextFormat (0x7f5b94ebb9a0) 0
+
+Class QTextCharFormat
+ size=16 align=8
+ base size=12 base align=8
+QTextCharFormat (0x7f5b94d67a10) 0
+ QTextFormat (0x7f5b94d67a80) 0
+
+Class QTextBlockFormat
+ size=16 align=8
+ base size=12 base align=8
+QTextBlockFormat (0x7f5b94dd5690) 0
+ QTextFormat (0x7f5b94dd5700) 0
+
+Class QTextListFormat
+ size=16 align=8
+ base size=12 base align=8
+QTextListFormat (0x7f5b94bf1cb0) 0
+ QTextFormat (0x7f5b94bf1d20) 0
+
+Class QTextImageFormat
+ size=16 align=8
+ base size=12 base align=8
+QTextImageFormat (0x7f5b94c021c0) 0
+ QTextCharFormat (0x7f5b94c02230) 0
+ QTextFormat (0x7f5b94c022a0) 0
+
+Class QTextFrameFormat
+ size=16 align=8
+ base size=12 base align=8
+QTextFrameFormat (0x7f5b94c0d8c0) 0
+ QTextFormat (0x7f5b94c0d930) 0
+
+Class QTextTableFormat
+ size=16 align=8
+ base size=12 base align=8
+QTextTableFormat (0x7f5b94c437e0) 0
+ QTextFrameFormat (0x7f5b94c43850) 0
+ QTextFormat (0x7f5b94c438c0) 0
+
+Class QTextTableCellFormat
+ size=16 align=8
+ base size=12 base align=8
+QTextTableCellFormat (0x7f5b94c5e690) 0
+ QTextCharFormat (0x7f5b94c5e700) 0
+ QTextFormat (0x7f5b94c5e770) 0
+
+Vtable for QTextObject
+QTextObject::_ZTV11QTextObject: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QTextObject)
+16 QTextObject::metaObject
+24 QTextObject::qt_metacast
+32 QTextObject::qt_metacall
+40 QTextObject::~QTextObject
+48 QTextObject::~QTextObject
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QTextObject
+ size=16 align=8
+ base size=16 base align=8
+QTextObject (0x7f5b94c75b60) 0
+ vptr=((& QTextObject::_ZTV11QTextObject) + 16u)
+ QObject (0x7f5b94c75bd0) 0
+ primary-for QTextObject (0x7f5b94c75b60)
+
+Vtable for QTextBlockGroup
+QTextBlockGroup::_ZTV15QTextBlockGroup: 17u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QTextBlockGroup)
+16 QTextBlockGroup::metaObject
+24 QTextBlockGroup::qt_metacast
+32 QTextBlockGroup::qt_metacall
+40 QTextBlockGroup::~QTextBlockGroup
+48 QTextBlockGroup::~QTextBlockGroup
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QTextBlockGroup::blockInserted
+120 QTextBlockGroup::blockRemoved
+128 QTextBlockGroup::blockFormatChanged
+
+Class QTextBlockGroup
+ size=16 align=8
+ base size=16 base align=8
+QTextBlockGroup (0x7f5b94c8d3f0) 0
+ vptr=((& QTextBlockGroup::_ZTV15QTextBlockGroup) + 16u)
+ QTextObject (0x7f5b94c8d460) 0
+ primary-for QTextBlockGroup (0x7f5b94c8d3f0)
+ QObject (0x7f5b94c8d4d0) 0
+ primary-for QTextObject (0x7f5b94c8d460)
+
+Vtable for QTextFrameLayoutData
+QTextFrameLayoutData::_ZTV20QTextFrameLayoutData: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI20QTextFrameLayoutData)
+16 QTextFrameLayoutData::~QTextFrameLayoutData
+24 QTextFrameLayoutData::~QTextFrameLayoutData
+
+Class QTextFrameLayoutData
+ size=8 align=8
+ base size=8 base align=8
+QTextFrameLayoutData (0x7f5b94c9dcb0) 0 nearly-empty
+ vptr=((& QTextFrameLayoutData::_ZTV20QTextFrameLayoutData) + 16u)
+
+Class QTextFrame::iterator
+ size=32 align=8
+ base size=28 base align=8
+QTextFrame::iterator (0x7f5b94ca9700) 0
+
+Vtable for QTextFrame
+QTextFrame::_ZTV10QTextFrame: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QTextFrame)
+16 QTextFrame::metaObject
+24 QTextFrame::qt_metacast
+32 QTextFrame::qt_metacall
+40 QTextFrame::~QTextFrame
+48 QTextFrame::~QTextFrame
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QTextFrame
+ size=16 align=8
+ base size=16 base align=8
+QTextFrame (0x7f5b94c9de00) 0
+ vptr=((& QTextFrame::_ZTV10QTextFrame) + 16u)
+ QTextObject (0x7f5b94c9de70) 0
+ primary-for QTextFrame (0x7f5b94c9de00)
+ QObject (0x7f5b94c9dee0) 0
+ primary-for QTextObject (0x7f5b94c9de70)
+
+Vtable for QTextBlockUserData
+QTextBlockUserData::_ZTV18QTextBlockUserData: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QTextBlockUserData)
+16 QTextBlockUserData::~QTextBlockUserData
+24 QTextBlockUserData::~QTextBlockUserData
+
+Class QTextBlockUserData
+ size=8 align=8
+ base size=8 base align=8
+QTextBlockUserData (0x7f5b94adb850) 0 nearly-empty
+ vptr=((& QTextBlockUserData::_ZTV18QTextBlockUserData) + 16u)
+
+Class QTextBlock::iterator
+ size=24 align=8
+ base size=20 base align=8
+QTextBlock::iterator (0x7f5b94ae81c0) 0
+
+Class QTextBlock
+ size=16 align=8
+ base size=12 base align=8
+QTextBlock (0x7f5b94adb9a0) 0
+
+Class QTextFragment
+ size=16 align=8
+ base size=16 base align=8
+QTextFragment (0x7f5b94b1f310) 0
+
+Class QFontMetrics
+ size=8 align=8
+ base size=8 base align=8
+QFontMetrics (0x7f5b94b3c4d0) 0
+
+Class QFontMetricsF
+ size=8 align=8
+ base size=8 base align=8
+QFontMetricsF (0x7f5b94b52930) 0
+
+Class QFontDatabase
+ size=8 align=8
+ base size=8 base align=8
+QFontDatabase (0x7f5b94b5f850) 0
+
+Vtable for QAbstractUndoItem
+QAbstractUndoItem::_ZTV17QAbstractUndoItem: 6u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QAbstractUndoItem)
+16 __cxa_pure_virtual
+24 __cxa_pure_virtual
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+
+Class QAbstractUndoItem
+ size=8 align=8
+ base size=8 base align=8
+QAbstractUndoItem (0x7f5b94b74850) 0 nearly-empty
+ vptr=((& QAbstractUndoItem::_ZTV17QAbstractUndoItem) + 16u)
+
+Vtable for QTextDocument
+QTextDocument::_ZTV13QTextDocument: 17u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QTextDocument)
+16 QTextDocument::metaObject
+24 QTextDocument::qt_metacast
+32 QTextDocument::qt_metacall
+40 QTextDocument::~QTextDocument
+48 QTextDocument::~QTextDocument
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QTextDocument::clear
+120 QTextDocument::createObject
+128 QTextDocument::loadResource
+
+Class QTextDocument
+ size=16 align=8
+ base size=16 base align=8
+QTextDocument (0x7f5b94b8b2a0) 0
+ vptr=((& QTextDocument::_ZTV13QTextDocument) + 16u)
+ QObject (0x7f5b94b8b310) 0
+ primary-for QTextDocument (0x7f5b94b8b2a0)
+
+Class QTextTableCell
+ size=16 align=8
+ base size=12 base align=8
+QTextTableCell (0x7f5b949e92a0) 0
+
+Vtable for QTextTable
+QTextTable::_ZTV10QTextTable: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QTextTable)
+16 QTextTable::metaObject
+24 QTextTable::qt_metacast
+32 QTextTable::qt_metacall
+40 QTextTable::~QTextTable
+48 QTextTable::~QTextTable
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QTextTable
+ size=16 align=8
+ base size=16 base align=8
+QTextTable (0x7f5b94a013f0) 0
+ vptr=((& QTextTable::_ZTV10QTextTable) + 16u)
+ QTextFrame (0x7f5b94a01460) 0
+ primary-for QTextTable (0x7f5b94a013f0)
+ QTextObject (0x7f5b94a014d0) 0
+ primary-for QTextFrame (0x7f5b94a01460)
+ QObject (0x7f5b94a01540) 0
+ primary-for QTextObject (0x7f5b94a014d0)
+
+Class QTextDocumentWriter
+ size=8 align=8
+ base size=8 base align=8
+QTextDocumentWriter (0x7f5b94a1dbd0) 0
+
+Class QKeySequence
+ size=8 align=8
+ base size=8 base align=8
+QKeySequence (0x7f5b94a282a0) 0
+
+Vtable for QMimeSource
+QMimeSource::_ZTV11QMimeSource: 7u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QMimeSource)
+16 QMimeSource::~QMimeSource
+24 QMimeSource::~QMimeSource
+32 __cxa_pure_virtual
+40 QMimeSource::provides
+48 __cxa_pure_virtual
+
+Class QMimeSource
+ size=8 align=8
+ base size=8 base align=8
+QMimeSource (0x7f5b94a45e70) 0 nearly-empty
+ vptr=((& QMimeSource::_ZTV11QMimeSource) + 16u)
+
+Vtable for QDrag
+QDrag::_ZTV5QDrag: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI5QDrag)
+16 QDrag::metaObject
+24 QDrag::qt_metacast
+32 QDrag::qt_metacall
+40 QDrag::~QDrag
+48 QDrag::~QDrag
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QDrag
+ size=16 align=8
+ base size=16 base align=8
+QDrag (0x7f5b94a45f50) 0
+ vptr=((& QDrag::_ZTV5QDrag) + 16u)
+ QObject (0x7f5b94a72000) 0
+ primary-for QDrag (0x7f5b94a45f50)
+
+Vtable for QInputEvent
+QInputEvent::_ZTV11QInputEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QInputEvent)
+16 QInputEvent::~QInputEvent
+24 QInputEvent::~QInputEvent
+
+Class QInputEvent
+ size=24 align=8
+ base size=24 base align=8
+QInputEvent (0x7f5b94a87770) 0
+ vptr=((& QInputEvent::_ZTV11QInputEvent) + 16u)
+ QEvent (0x7f5b94a877e0) 0
+ primary-for QInputEvent (0x7f5b94a87770)
+
+Vtable for QMouseEvent
+QMouseEvent::_ZTV11QMouseEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QMouseEvent)
+16 QMouseEvent::~QMouseEvent
+24 QMouseEvent::~QMouseEvent
+
+Class QMouseEvent
+ size=48 align=8
+ base size=48 base align=8
+QMouseEvent (0x7f5b94a87d20) 0
+ vptr=((& QMouseEvent::_ZTV11QMouseEvent) + 16u)
+ QInputEvent (0x7f5b94a87d90) 0
+ primary-for QMouseEvent (0x7f5b94a87d20)
+ QEvent (0x7f5b94a87e00) 0
+ primary-for QInputEvent (0x7f5b94a87d90)
+
+Vtable for QHoverEvent
+QHoverEvent::_ZTV11QHoverEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QHoverEvent)
+16 QHoverEvent::~QHoverEvent
+24 QHoverEvent::~QHoverEvent
+
+Class QHoverEvent
+ size=40 align=8
+ base size=36 base align=8
+QHoverEvent (0x7f5b94aa5b60) 0
+ vptr=((& QHoverEvent::_ZTV11QHoverEvent) + 16u)
+ QEvent (0x7f5b94aa5bd0) 0
+ primary-for QHoverEvent (0x7f5b94aa5b60)
+
+Vtable for QWheelEvent
+QWheelEvent::_ZTV11QWheelEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QWheelEvent)
+16 QWheelEvent::~QWheelEvent
+24 QWheelEvent::~QWheelEvent
+
+Class QWheelEvent
+ size=56 align=8
+ base size=52 base align=8
+QWheelEvent (0x7f5b94abe230) 0
+ vptr=((& QWheelEvent::_ZTV11QWheelEvent) + 16u)
+ QInputEvent (0x7f5b94abe2a0) 0
+ primary-for QWheelEvent (0x7f5b94abe230)
+ QEvent (0x7f5b94abe310) 0
+ primary-for QInputEvent (0x7f5b94abe2a0)
+
+Vtable for QTabletEvent
+QTabletEvent::_ZTV12QTabletEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QTabletEvent)
+16 QTabletEvent::~QTabletEvent
+24 QTabletEvent::~QTabletEvent
+
+Class QTabletEvent
+ size=120 align=8
+ base size=120 base align=8
+QTabletEvent (0x7f5b94ad3070) 0
+ vptr=((& QTabletEvent::_ZTV12QTabletEvent) + 16u)
+ QInputEvent (0x7f5b94ad30e0) 0
+ primary-for QTabletEvent (0x7f5b94ad3070)
+ QEvent (0x7f5b94ad3150) 0
+ primary-for QInputEvent (0x7f5b94ad30e0)
+
+Vtable for QKeyEvent
+QKeyEvent::_ZTV9QKeyEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QKeyEvent)
+16 QKeyEvent::~QKeyEvent
+24 QKeyEvent::~QKeyEvent
+
+Class QKeyEvent
+ size=40 align=8
+ base size=39 base align=8
+QKeyEvent (0x7f5b948f0380) 0
+ vptr=((& QKeyEvent::_ZTV9QKeyEvent) + 16u)
+ QInputEvent (0x7f5b948f03f0) 0
+ primary-for QKeyEvent (0x7f5b948f0380)
+ QEvent (0x7f5b948f0460) 0
+ primary-for QInputEvent (0x7f5b948f03f0)
+
+Vtable for QFocusEvent
+QFocusEvent::_ZTV11QFocusEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QFocusEvent)
+16 QFocusEvent::~QFocusEvent
+24 QFocusEvent::~QFocusEvent
+
+Class QFocusEvent
+ size=24 align=8
+ base size=24 base align=8
+QFocusEvent (0x7f5b94913cb0) 0
+ vptr=((& QFocusEvent::_ZTV11QFocusEvent) + 16u)
+ QEvent (0x7f5b94913d20) 0
+ primary-for QFocusEvent (0x7f5b94913cb0)
+
+Vtable for QPaintEvent
+QPaintEvent::_ZTV11QPaintEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QPaintEvent)
+16 QPaintEvent::~QPaintEvent
+24 QPaintEvent::~QPaintEvent
+
+Class QPaintEvent
+ size=56 align=8
+ base size=49 base align=8
+QPaintEvent (0x7f5b9491e770) 0
+ vptr=((& QPaintEvent::_ZTV11QPaintEvent) + 16u)
+ QEvent (0x7f5b9491e7e0) 0
+ primary-for QPaintEvent (0x7f5b9491e770)
+
+Vtable for QUpdateLaterEvent
+QUpdateLaterEvent::_ZTV17QUpdateLaterEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QUpdateLaterEvent)
+16 QUpdateLaterEvent::~QUpdateLaterEvent
+24 QUpdateLaterEvent::~QUpdateLaterEvent
+
+Class QUpdateLaterEvent
+ size=32 align=8
+ base size=32 base align=8
+QUpdateLaterEvent (0x7f5b9492e380) 0
+ vptr=((& QUpdateLaterEvent::_ZTV17QUpdateLaterEvent) + 16u)
+ QEvent (0x7f5b9492e3f0) 0
+ primary-for QUpdateLaterEvent (0x7f5b9492e380)
+
+Vtable for QMoveEvent
+QMoveEvent::_ZTV10QMoveEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QMoveEvent)
+16 QMoveEvent::~QMoveEvent
+24 QMoveEvent::~QMoveEvent
+
+Class QMoveEvent
+ size=40 align=8
+ base size=36 base align=8
+QMoveEvent (0x7f5b9492e7e0) 0
+ vptr=((& QMoveEvent::_ZTV10QMoveEvent) + 16u)
+ QEvent (0x7f5b9492e850) 0
+ primary-for QMoveEvent (0x7f5b9492e7e0)
+
+Vtable for QResizeEvent
+QResizeEvent::_ZTV12QResizeEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QResizeEvent)
+16 QResizeEvent::~QResizeEvent
+24 QResizeEvent::~QResizeEvent
+
+Class QResizeEvent
+ size=40 align=8
+ base size=36 base align=8
+QResizeEvent (0x7f5b9492ee70) 0
+ vptr=((& QResizeEvent::_ZTV12QResizeEvent) + 16u)
+ QEvent (0x7f5b9492eee0) 0
+ primary-for QResizeEvent (0x7f5b9492ee70)
+
+Vtable for QCloseEvent
+QCloseEvent::_ZTV11QCloseEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QCloseEvent)
+16 QCloseEvent::~QCloseEvent
+24 QCloseEvent::~QCloseEvent
+
+Class QCloseEvent
+ size=24 align=8
+ base size=20 base align=8
+QCloseEvent (0x7f5b9493d3f0) 0
+ vptr=((& QCloseEvent::_ZTV11QCloseEvent) + 16u)
+ QEvent (0x7f5b9493d460) 0
+ primary-for QCloseEvent (0x7f5b9493d3f0)
+
+Vtable for QIconDragEvent
+QIconDragEvent::_ZTV14QIconDragEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QIconDragEvent)
+16 QIconDragEvent::~QIconDragEvent
+24 QIconDragEvent::~QIconDragEvent
+
+Class QIconDragEvent
+ size=24 align=8
+ base size=20 base align=8
+QIconDragEvent (0x7f5b9493d620) 0
+ vptr=((& QIconDragEvent::_ZTV14QIconDragEvent) + 16u)
+ QEvent (0x7f5b9493d690) 0
+ primary-for QIconDragEvent (0x7f5b9493d620)
+
+Vtable for QShowEvent
+QShowEvent::_ZTV10QShowEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QShowEvent)
+16 QShowEvent::~QShowEvent
+24 QShowEvent::~QShowEvent
+
+Class QShowEvent
+ size=24 align=8
+ base size=20 base align=8
+QShowEvent (0x7f5b9493d850) 0
+ vptr=((& QShowEvent::_ZTV10QShowEvent) + 16u)
+ QEvent (0x7f5b9493d8c0) 0
+ primary-for QShowEvent (0x7f5b9493d850)
+
+Vtable for QHideEvent
+QHideEvent::_ZTV10QHideEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QHideEvent)
+16 QHideEvent::~QHideEvent
+24 QHideEvent::~QHideEvent
+
+Class QHideEvent
+ size=24 align=8
+ base size=20 base align=8
+QHideEvent (0x7f5b9493da80) 0
+ vptr=((& QHideEvent::_ZTV10QHideEvent) + 16u)
+ QEvent (0x7f5b9493daf0) 0
+ primary-for QHideEvent (0x7f5b9493da80)
+
+Vtable for QContextMenuEvent
+QContextMenuEvent::_ZTV17QContextMenuEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QContextMenuEvent)
+16 QContextMenuEvent::~QContextMenuEvent
+24 QContextMenuEvent::~QContextMenuEvent
+
+Class QContextMenuEvent
+ size=48 align=8
+ base size=41 base align=8
+QContextMenuEvent (0x7f5b9493dcb0) 0
+ vptr=((& QContextMenuEvent::_ZTV17QContextMenuEvent) + 16u)
+ QInputEvent (0x7f5b9493dd20) 0
+ primary-for QContextMenuEvent (0x7f5b9493dcb0)
+ QEvent (0x7f5b9493dd90) 0
+ primary-for QInputEvent (0x7f5b9493dd20)
+
+Class QInputMethodEvent::Attribute
+ size=32 align=8
+ base size=32 base align=8
+QInputMethodEvent::Attribute (0x7f5b94959850) 0
+
+Vtable for QInputMethodEvent
+QInputMethodEvent::_ZTV17QInputMethodEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QInputMethodEvent)
+16 QInputMethodEvent::~QInputMethodEvent
+24 QInputMethodEvent::~QInputMethodEvent
+
+Class QInputMethodEvent
+ size=56 align=8
+ base size=56 base align=8
+QInputMethodEvent (0x7f5b94959770) 0
+ vptr=((& QInputMethodEvent::_ZTV17QInputMethodEvent) + 16u)
+ QEvent (0x7f5b949597e0) 0
+ primary-for QInputMethodEvent (0x7f5b94959770)
+
+Vtable for QDropEvent
+QDropEvent::_ZTV10QDropEvent: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QDropEvent)
+16 QDropEvent::~QDropEvent
+24 QDropEvent::~QDropEvent
+32 QDropEvent::format
+40 QDropEvent::encodedData
+48 QDropEvent::provides
+56 (int (*)(...))-0x00000000000000018
+64 (int (*)(...))(& _ZTI10QDropEvent)
+72 QDropEvent::_ZThn24_N10QDropEventD1Ev
+80 QDropEvent::_ZThn24_N10QDropEventD0Ev
+88 QDropEvent::_ZThn24_NK10QDropEvent6formatEi
+96 QDropEvent::_ZThn24_NK10QDropEvent8providesEPKc
+104 QDropEvent::_ZThn24_NK10QDropEvent11encodedDataEPKc
+
+Class QDropEvent
+ size=80 align=8
+ base size=80 base align=8
+QDropEvent (0x7f5b94990200) 0
+ vptr=((& QDropEvent::_ZTV10QDropEvent) + 16u)
+ QEvent (0x7f5b9498ff50) 0
+ primary-for QDropEvent (0x7f5b94990200)
+ QMimeSource (0x7f5b94992000) 24 nearly-empty
+ vptr=((& QDropEvent::_ZTV10QDropEvent) + 72u)
+
+Vtable for QDragMoveEvent
+QDragMoveEvent::_ZTV14QDragMoveEvent: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QDragMoveEvent)
+16 QDragMoveEvent::~QDragMoveEvent
+24 QDragMoveEvent::~QDragMoveEvent
+32 QDropEvent::format
+40 QDropEvent::encodedData
+48 QDropEvent::provides
+56 (int (*)(...))-0x00000000000000018
+64 (int (*)(...))(& _ZTI14QDragMoveEvent)
+72 QDragMoveEvent::_ZThn24_N14QDragMoveEventD1Ev
+80 QDragMoveEvent::_ZThn24_N14QDragMoveEventD0Ev
+88 QDropEvent::_ZThn24_NK10QDropEvent6formatEi
+96 QDropEvent::_ZThn24_NK10QDropEvent8providesEPKc
+104 QDropEvent::_ZThn24_NK10QDropEvent11encodedDataEPKc
+
+Class QDragMoveEvent
+ size=96 align=8
+ base size=96 base align=8
+QDragMoveEvent (0x7f5b949abcb0) 0
+ vptr=((& QDragMoveEvent::_ZTV14QDragMoveEvent) + 16u)
+ QDropEvent (0x7f5b949a9900) 0
+ primary-for QDragMoveEvent (0x7f5b949abcb0)
+ QEvent (0x7f5b949abd20) 0
+ primary-for QDropEvent (0x7f5b949a9900)
+ QMimeSource (0x7f5b949abd90) 24 nearly-empty
+ vptr=((& QDragMoveEvent::_ZTV14QDragMoveEvent) + 72u)
+
+Vtable for QDragEnterEvent
+QDragEnterEvent::_ZTV15QDragEnterEvent: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QDragEnterEvent)
+16 QDragEnterEvent::~QDragEnterEvent
+24 QDragEnterEvent::~QDragEnterEvent
+32 QDropEvent::format
+40 QDropEvent::encodedData
+48 QDropEvent::provides
+56 (int (*)(...))-0x00000000000000018
+64 (int (*)(...))(& _ZTI15QDragEnterEvent)
+72 QDragEnterEvent::_ZThn24_N15QDragEnterEventD1Ev
+80 QDragEnterEvent::_ZThn24_N15QDragEnterEventD0Ev
+88 QDropEvent::_ZThn24_NK10QDropEvent6formatEi
+96 QDropEvent::_ZThn24_NK10QDropEvent8providesEPKc
+104 QDropEvent::_ZThn24_NK10QDropEvent11encodedDataEPKc
+
+Class QDragEnterEvent
+ size=96 align=8
+ base size=96 base align=8
+QDragEnterEvent (0x7f5b949be460) 0
+ vptr=((& QDragEnterEvent::_ZTV15QDragEnterEvent) + 16u)
+ QDragMoveEvent (0x7f5b949be4d0) 0
+ primary-for QDragEnterEvent (0x7f5b949be460)
+ QDropEvent (0x7f5b949bd280) 0
+ primary-for QDragMoveEvent (0x7f5b949be4d0)
+ QEvent (0x7f5b949be540) 0
+ primary-for QDropEvent (0x7f5b949bd280)
+ QMimeSource (0x7f5b949be5b0) 24 nearly-empty
+ vptr=((& QDragEnterEvent::_ZTV15QDragEnterEvent) + 72u)
+
+Vtable for QDragResponseEvent
+QDragResponseEvent::_ZTV18QDragResponseEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QDragResponseEvent)
+16 QDragResponseEvent::~QDragResponseEvent
+24 QDragResponseEvent::~QDragResponseEvent
+
+Class QDragResponseEvent
+ size=24 align=8
+ base size=21 base align=8
+QDragResponseEvent (0x7f5b949be770) 0
+ vptr=((& QDragResponseEvent::_ZTV18QDragResponseEvent) + 16u)
+ QEvent (0x7f5b949be7e0) 0
+ primary-for QDragResponseEvent (0x7f5b949be770)
+
+Vtable for QDragLeaveEvent
+QDragLeaveEvent::_ZTV15QDragLeaveEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QDragLeaveEvent)
+16 QDragLeaveEvent::~QDragLeaveEvent
+24 QDragLeaveEvent::~QDragLeaveEvent
+
+Class QDragLeaveEvent
+ size=24 align=8
+ base size=20 base align=8
+QDragLeaveEvent (0x7f5b949bebd0) 0
+ vptr=((& QDragLeaveEvent::_ZTV15QDragLeaveEvent) + 16u)
+ QEvent (0x7f5b949bec40) 0
+ primary-for QDragLeaveEvent (0x7f5b949bebd0)
+
+Vtable for QHelpEvent
+QHelpEvent::_ZTV10QHelpEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QHelpEvent)
+16 QHelpEvent::~QHelpEvent
+24 QHelpEvent::~QHelpEvent
+
+Class QHelpEvent
+ size=40 align=8
+ base size=36 base align=8
+QHelpEvent (0x7f5b949bee00) 0
+ vptr=((& QHelpEvent::_ZTV10QHelpEvent) + 16u)
+ QEvent (0x7f5b949bee70) 0
+ primary-for QHelpEvent (0x7f5b949bee00)
+
+Vtable for QStatusTipEvent
+QStatusTipEvent::_ZTV15QStatusTipEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QStatusTipEvent)
+16 QStatusTipEvent::~QStatusTipEvent
+24 QStatusTipEvent::~QStatusTipEvent
+
+Class QStatusTipEvent
+ size=32 align=8
+ base size=32 base align=8
+QStatusTipEvent (0x7f5b949cee70) 0
+ vptr=((& QStatusTipEvent::_ZTV15QStatusTipEvent) + 16u)
+ QEvent (0x7f5b949ceee0) 0
+ primary-for QStatusTipEvent (0x7f5b949cee70)
+
+Vtable for QWhatsThisClickedEvent
+QWhatsThisClickedEvent::_ZTV22QWhatsThisClickedEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI22QWhatsThisClickedEvent)
+16 QWhatsThisClickedEvent::~QWhatsThisClickedEvent
+24 QWhatsThisClickedEvent::~QWhatsThisClickedEvent
+
+Class QWhatsThisClickedEvent
+ size=32 align=8
+ base size=32 base align=8
+QWhatsThisClickedEvent (0x7f5b949d2380) 0
+ vptr=((& QWhatsThisClickedEvent::_ZTV22QWhatsThisClickedEvent) + 16u)
+ QEvent (0x7f5b949d23f0) 0
+ primary-for QWhatsThisClickedEvent (0x7f5b949d2380)
+
+Vtable for QActionEvent
+QActionEvent::_ZTV12QActionEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QActionEvent)
+16 QActionEvent::~QActionEvent
+24 QActionEvent::~QActionEvent
+
+Class QActionEvent
+ size=40 align=8
+ base size=40 base align=8
+QActionEvent (0x7f5b949d2850) 0
+ vptr=((& QActionEvent::_ZTV12QActionEvent) + 16u)
+ QEvent (0x7f5b949d28c0) 0
+ primary-for QActionEvent (0x7f5b949d2850)
+
+Vtable for QFileOpenEvent
+QFileOpenEvent::_ZTV14QFileOpenEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QFileOpenEvent)
+16 QFileOpenEvent::~QFileOpenEvent
+24 QFileOpenEvent::~QFileOpenEvent
+
+Class QFileOpenEvent
+ size=32 align=8
+ base size=32 base align=8
+QFileOpenEvent (0x7f5b949d2ee0) 0
+ vptr=((& QFileOpenEvent::_ZTV14QFileOpenEvent) + 16u)
+ QEvent (0x7f5b949d2f50) 0
+ primary-for QFileOpenEvent (0x7f5b949d2ee0)
+
+Vtable for QToolBarChangeEvent
+QToolBarChangeEvent::_ZTV19QToolBarChangeEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QToolBarChangeEvent)
+16 QToolBarChangeEvent::~QToolBarChangeEvent
+24 QToolBarChangeEvent::~QToolBarChangeEvent
+
+Class QToolBarChangeEvent
+ size=24 align=8
+ base size=21 base align=8
+QToolBarChangeEvent (0x7f5b947e7230) 0
+ vptr=((& QToolBarChangeEvent::_ZTV19QToolBarChangeEvent) + 16u)
+ QEvent (0x7f5b947e72a0) 0
+ primary-for QToolBarChangeEvent (0x7f5b947e7230)
+
+Vtable for QShortcutEvent
+QShortcutEvent::_ZTV14QShortcutEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QShortcutEvent)
+16 QShortcutEvent::~QShortcutEvent
+24 QShortcutEvent::~QShortcutEvent
+
+Class QShortcutEvent
+ size=40 align=8
+ base size=40 base align=8
+QShortcutEvent (0x7f5b947e7770) 0
+ vptr=((& QShortcutEvent::_ZTV14QShortcutEvent) + 16u)
+ QEvent (0x7f5b947e77e0) 0
+ primary-for QShortcutEvent (0x7f5b947e7770)
+
+Vtable for QClipboardEvent
+QClipboardEvent::_ZTV15QClipboardEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QClipboardEvent)
+16 QClipboardEvent::~QClipboardEvent
+24 QClipboardEvent::~QClipboardEvent
+
+Class QClipboardEvent
+ size=24 align=8
+ base size=20 base align=8
+QClipboardEvent (0x7f5b947f3620) 0
+ vptr=((& QClipboardEvent::_ZTV15QClipboardEvent) + 16u)
+ QEvent (0x7f5b947f3690) 0
+ primary-for QClipboardEvent (0x7f5b947f3620)
+
+Vtable for QWindowStateChangeEvent
+QWindowStateChangeEvent::_ZTV23QWindowStateChangeEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI23QWindowStateChangeEvent)
+16 QWindowStateChangeEvent::~QWindowStateChangeEvent
+24 QWindowStateChangeEvent::~QWindowStateChangeEvent
+
+Class QWindowStateChangeEvent
+ size=24 align=8
+ base size=24 base align=8
+QWindowStateChangeEvent (0x7f5b947f3a80) 0
+ vptr=((& QWindowStateChangeEvent::_ZTV23QWindowStateChangeEvent) + 16u)
+ QEvent (0x7f5b947f3af0) 0
+ primary-for QWindowStateChangeEvent (0x7f5b947f3a80)
+
+Vtable for QMenubarUpdatedEvent
+QMenubarUpdatedEvent::_ZTV20QMenubarUpdatedEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI20QMenubarUpdatedEvent)
+16 QMenubarUpdatedEvent::~QMenubarUpdatedEvent
+24 QMenubarUpdatedEvent::~QMenubarUpdatedEvent
+
+Class QMenubarUpdatedEvent
+ size=32 align=8
+ base size=32 base align=8
+QMenubarUpdatedEvent (0x7f5b947f37e0) 0
+ vptr=((& QMenubarUpdatedEvent::_ZTV20QMenubarUpdatedEvent) + 16u)
+ QEvent (0x7f5b947f3cb0) 0
+ primary-for QMenubarUpdatedEvent (0x7f5b947f37e0)
+
+Class QTextInlineObject
+ size=16 align=8
+ base size=16 base align=8
+QTextInlineObject (0x7f5b94803a10) 0
+
+Class QTextLayout::FormatRange
+ size=24 align=8
+ base size=24 base align=8
+QTextLayout::FormatRange (0x7f5b94810cb0) 0
+
+Class QTextLayout
+ size=8 align=8
+ base size=8 base align=8
+QTextLayout (0x7f5b94810a10) 0
+
+Class QTextLine
+ size=16 align=8
+ base size=16 base align=8
+QTextLine (0x7f5b9482ca80) 0
+
+Vtable for QTextList
+QTextList::_ZTV9QTextList: 17u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QTextList)
+16 QTextList::metaObject
+24 QTextList::qt_metacast
+32 QTextList::qt_metacall
+40 QTextList::~QTextList
+48 QTextList::~QTextList
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QTextBlockGroup::blockInserted
+120 QTextBlockGroup::blockRemoved
+128 QTextBlockGroup::blockFormatChanged
+
+Class QTextList
+ size=16 align=8
+ base size=16 base align=8
+QTextList (0x7f5b94860310) 0
+ vptr=((& QTextList::_ZTV9QTextList) + 16u)
+ QTextBlockGroup (0x7f5b94860380) 0
+ primary-for QTextList (0x7f5b94860310)
+ QTextObject (0x7f5b948603f0) 0
+ primary-for QTextBlockGroup (0x7f5b94860380)
+ QObject (0x7f5b94860460) 0
+ primary-for QTextObject (0x7f5b948603f0)
+
+Class QFontInfo
+ size=8 align=8
+ base size=8 base align=8
+QFontInfo (0x7f5b948831c0) 0
+
+Class QTextDocumentFragment
+ size=8 align=8
+ base size=8 base align=8
+QTextDocumentFragment (0x7f5b94883cb0) 0
+
+Class QTextCursor
+ size=8 align=8
+ base size=8 base align=8
+QTextCursor (0x7f5b9488f700) 0
+
+Class QPalette
+ size=16 align=8
+ base size=12 base align=8
+QPalette (0x7f5b948a0bd0) 0
+
+Class QColorGroup
+ size=16 align=8
+ base size=12 base align=8
+QColorGroup (0x7f5b947084d0) 0
+ QPalette (0x7f5b94708540) 0
+
+Class QAbstractTextDocumentLayout::Selection
+ size=24 align=8
+ base size=24 base align=8
+QAbstractTextDocumentLayout::Selection (0x7f5b9473fa10) 0
+
+Class QAbstractTextDocumentLayout::PaintContext
+ size=64 align=8
+ base size=64 base align=8
+QAbstractTextDocumentLayout::PaintContext (0x7f5b9473fa80) 0
+
+Vtable for QAbstractTextDocumentLayout
+QAbstractTextDocumentLayout::_ZTV27QAbstractTextDocumentLayout: 24u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI27QAbstractTextDocumentLayout)
+16 QAbstractTextDocumentLayout::metaObject
+24 QAbstractTextDocumentLayout::qt_metacast
+32 QAbstractTextDocumentLayout::qt_metacall
+40 QAbstractTextDocumentLayout::~QAbstractTextDocumentLayout
+48 QAbstractTextDocumentLayout::~QAbstractTextDocumentLayout
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 __cxa_pure_virtual
+136 __cxa_pure_virtual
+144 __cxa_pure_virtual
+152 __cxa_pure_virtual
+160 __cxa_pure_virtual
+168 QAbstractTextDocumentLayout::resizeInlineObject
+176 QAbstractTextDocumentLayout::positionInlineObject
+184 QAbstractTextDocumentLayout::drawInlineObject
+
+Class QAbstractTextDocumentLayout
+ size=16 align=8
+ base size=16 base align=8
+QAbstractTextDocumentLayout (0x7f5b9473f7e0) 0
+ vptr=((& QAbstractTextDocumentLayout::_ZTV27QAbstractTextDocumentLayout) + 16u)
+ QObject (0x7f5b9473f850) 0
+ primary-for QAbstractTextDocumentLayout (0x7f5b9473f7e0)
+
+Vtable for QTextObjectInterface
+QTextObjectInterface::_ZTV20QTextObjectInterface: 6u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI20QTextObjectInterface)
+16 QTextObjectInterface::~QTextObjectInterface
+24 QTextObjectInterface::~QTextObjectInterface
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+
+Class QTextObjectInterface
+ size=8 align=8
+ base size=8 base align=8
+QTextObjectInterface (0x7f5b94787150) 0 nearly-empty
+ vptr=((& QTextObjectInterface::_ZTV20QTextObjectInterface) + 16u)
+
+Vtable for QSyntaxHighlighter
+QSyntaxHighlighter::_ZTV18QSyntaxHighlighter: 15u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QSyntaxHighlighter)
+16 QSyntaxHighlighter::metaObject
+24 QSyntaxHighlighter::qt_metacast
+32 QSyntaxHighlighter::qt_metacall
+40 QSyntaxHighlighter::~QSyntaxHighlighter
+48 QSyntaxHighlighter::~QSyntaxHighlighter
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+
+Class QSyntaxHighlighter
+ size=16 align=8
+ base size=16 base align=8
+QSyntaxHighlighter (0x7f5b947932a0) 0
+ vptr=((& QSyntaxHighlighter::_ZTV18QSyntaxHighlighter) + 16u)
+ QObject (0x7f5b94793310) 0
+ primary-for QSyntaxHighlighter (0x7f5b947932a0)
+
+Vtable for QUndoGroup
+QUndoGroup::_ZTV10QUndoGroup: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QUndoGroup)
+16 QUndoGroup::metaObject
+24 QUndoGroup::qt_metacast
+32 QUndoGroup::qt_metacall
+40 QUndoGroup::~QUndoGroup
+48 QUndoGroup::~QUndoGroup
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QUndoGroup
+ size=16 align=8
+ base size=16 base align=8
+QUndoGroup (0x7f5b947a8c40) 0
+ vptr=((& QUndoGroup::_ZTV10QUndoGroup) + 16u)
+ QObject (0x7f5b947a8cb0) 0
+ primary-for QUndoGroup (0x7f5b947a8c40)
+
+Class QDesktopServices
+ size=1 align=1
+ base size=0 base align=1
+QDesktopServices (0x7f5b947c77e0) 0 empty
+
+Class QSizePolicy
+ size=4 align=4
+ base size=4 base align=4
+QSizePolicy (0x7f5b947c7930) 0
+
+Class QCursor
+ size=8 align=8
+ base size=8 base align=8
+QCursor (0x7f5b94683690) 0
+
+Class QWidgetData
+ size=88 align=8
+ base size=88 base align=8
+QWidgetData (0x7f5b94683e70) 0
+
+Vtable for QWidget
+QWidget::_ZTV7QWidget: 63u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QWidget)
+16 QWidget::metaObject
+24 QWidget::qt_metacast
+32 QWidget::qt_metacall
+40 QWidget::~QWidget
+48 QWidget::~QWidget
+56 QWidget::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QWidget::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QWidget::paintEvent
+256 QWidget::moveEvent
+264 QWidget::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QWidget::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 (int (*)(...))-0x00000000000000010
+456 (int (*)(...))(& _ZTI7QWidget)
+464 QWidget::_ZThn16_N7QWidgetD1Ev
+472 QWidget::_ZThn16_N7QWidgetD0Ev
+480 QWidget::_ZThn16_NK7QWidget7devTypeEv
+488 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+496 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QWidget
+ size=40 align=8
+ base size=40 base align=8
+QWidget (0x7f5b9467fa00) 0
+ vptr=((& QWidget::_ZTV7QWidget) + 16u)
+ QObject (0x7f5b94683ee0) 0
+ primary-for QWidget (0x7f5b9467fa00)
+ QPaintDevice (0x7f5b94683f50) 16
+ vptr=((& QWidget::_ZTV7QWidget) + 464u)
+
+Vtable for QFrame
+QFrame::_ZTV6QFrame: 63u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI6QFrame)
+16 QFrame::metaObject
+24 QFrame::qt_metacast
+32 QFrame::qt_metacall
+40 QFrame::~QFrame
+48 QFrame::~QFrame
+56 QFrame::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QFrame::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QFrame::paintEvent
+256 QWidget::moveEvent
+264 QWidget::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QFrame::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 (int (*)(...))-0x00000000000000010
+456 (int (*)(...))(& _ZTI6QFrame)
+464 QFrame::_ZThn16_N6QFrameD1Ev
+472 QFrame::_ZThn16_N6QFrameD0Ev
+480 QWidget::_ZThn16_NK7QWidget7devTypeEv
+488 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+496 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QFrame
+ size=40 align=8
+ base size=40 base align=8
+QFrame (0x7f5b943fdcb0) 0
+ vptr=((& QFrame::_ZTV6QFrame) + 16u)
+ QWidget (0x7f5b94403400) 0
+ primary-for QFrame (0x7f5b943fdcb0)
+ QObject (0x7f5b943fdd20) 0
+ primary-for QWidget (0x7f5b94403400)
+ QPaintDevice (0x7f5b943fdd90) 16
+ vptr=((& QFrame::_ZTV6QFrame) + 464u)
+
+Vtable for QAbstractScrollArea
+QAbstractScrollArea::_ZTV19QAbstractScrollArea: 65u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QAbstractScrollArea)
+16 QAbstractScrollArea::metaObject
+24 QAbstractScrollArea::qt_metacast
+32 QAbstractScrollArea::qt_metacall
+40 QAbstractScrollArea::~QAbstractScrollArea
+48 QAbstractScrollArea::~QAbstractScrollArea
+56 QAbstractScrollArea::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QAbstractScrollArea::sizeHint
+136 QAbstractScrollArea::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QAbstractScrollArea::mousePressEvent
+168 QAbstractScrollArea::mouseReleaseEvent
+176 QAbstractScrollArea::mouseDoubleClickEvent
+184 QAbstractScrollArea::mouseMoveEvent
+192 QAbstractScrollArea::wheelEvent
+200 QAbstractScrollArea::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QAbstractScrollArea::paintEvent
+256 QWidget::moveEvent
+264 QAbstractScrollArea::resizeEvent
+272 QWidget::closeEvent
+280 QAbstractScrollArea::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QAbstractScrollArea::dragEnterEvent
+312 QAbstractScrollArea::dragMoveEvent
+320 QAbstractScrollArea::dragLeaveEvent
+328 QAbstractScrollArea::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QFrame::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QAbstractScrollArea::viewportEvent
+456 QAbstractScrollArea::scrollContentsBy
+464 (int (*)(...))-0x00000000000000010
+472 (int (*)(...))(& _ZTI19QAbstractScrollArea)
+480 QAbstractScrollArea::_ZThn16_N19QAbstractScrollAreaD1Ev
+488 QAbstractScrollArea::_ZThn16_N19QAbstractScrollAreaD0Ev
+496 QWidget::_ZThn16_NK7QWidget7devTypeEv
+504 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+512 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QAbstractScrollArea
+ size=40 align=8
+ base size=40 base align=8
+QAbstractScrollArea (0x7f5b9442a310) 0
+ vptr=((& QAbstractScrollArea::_ZTV19QAbstractScrollArea) + 16u)
+ QFrame (0x7f5b9442a380) 0
+ primary-for QAbstractScrollArea (0x7f5b9442a310)
+ QWidget (0x7f5b94421700) 0
+ primary-for QFrame (0x7f5b9442a380)
+ QObject (0x7f5b9442a3f0) 0
+ primary-for QWidget (0x7f5b94421700)
+ QPaintDevice (0x7f5b9442a460) 16
+ vptr=((& QAbstractScrollArea::_ZTV19QAbstractScrollArea) + 480u)
+
+Class QItemSelectionRange
+ size=16 align=8
+ base size=16 base align=8
+QItemSelectionRange (0x7f5b9444d230) 0
+
+Vtable for QItemSelectionModel
+QItemSelectionModel::_ZTV19QItemSelectionModel: 18u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QItemSelectionModel)
+16 QItemSelectionModel::metaObject
+24 QItemSelectionModel::qt_metacast
+32 QItemSelectionModel::qt_metacall
+40 QItemSelectionModel::~QItemSelectionModel
+48 QItemSelectionModel::~QItemSelectionModel
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QItemSelectionModel::select
+120 QItemSelectionModel::select
+128 QItemSelectionModel::clear
+136 QItemSelectionModel::reset
+
+Class QItemSelectionModel
+ size=16 align=8
+ base size=16 base align=8
+QItemSelectionModel (0x7f5b944b3700) 0
+ vptr=((& QItemSelectionModel::_ZTV19QItemSelectionModel) + 16u)
+ QObject (0x7f5b944b3770) 0
+ primary-for QItemSelectionModel (0x7f5b944b3700)
+
+Class QItemSelection
+ size=8 align=8
+ base size=8 base align=8
+QItemSelection (0x7f5b942f4bd0) 0
+ QList<QItemSelectionRange> (0x7f5b942f4c40) 0
+
+Vtable for QValidator
+QValidator::_ZTV10QValidator: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QValidator)
+16 QValidator::metaObject
+24 QValidator::qt_metacast
+32 QValidator::qt_metacall
+40 QValidator::~QValidator
+48 QValidator::~QValidator
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+120 QValidator::fixup
+
+Class QValidator
+ size=16 align=8
+ base size=16 base align=8
+QValidator (0x7f5b943304d0) 0
+ vptr=((& QValidator::_ZTV10QValidator) + 16u)
+ QObject (0x7f5b94330540) 0
+ primary-for QValidator (0x7f5b943304d0)
+
+Vtable for QIntValidator
+QIntValidator::_ZTV13QIntValidator: 17u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QIntValidator)
+16 QIntValidator::metaObject
+24 QIntValidator::qt_metacast
+32 QIntValidator::qt_metacall
+40 QIntValidator::~QIntValidator
+48 QIntValidator::~QIntValidator
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QIntValidator::validate
+120 QValidator::fixup
+128 QIntValidator::setRange
+
+Class QIntValidator
+ size=24 align=8
+ base size=24 base align=8
+QIntValidator (0x7f5b94347310) 0
+ vptr=((& QIntValidator::_ZTV13QIntValidator) + 16u)
+ QValidator (0x7f5b94347380) 0
+ primary-for QIntValidator (0x7f5b94347310)
+ QObject (0x7f5b943473f0) 0
+ primary-for QValidator (0x7f5b94347380)
+
+Vtable for QDoubleValidator
+QDoubleValidator::_ZTV16QDoubleValidator: 17u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QDoubleValidator)
+16 QDoubleValidator::metaObject
+24 QDoubleValidator::qt_metacast
+32 QDoubleValidator::qt_metacall
+40 QDoubleValidator::~QDoubleValidator
+48 QDoubleValidator::~QDoubleValidator
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QDoubleValidator::validate
+120 QValidator::fixup
+128 QDoubleValidator::setRange
+
+Class QDoubleValidator
+ size=40 align=8
+ base size=36 base align=8
+QDoubleValidator (0x7f5b943622a0) 0
+ vptr=((& QDoubleValidator::_ZTV16QDoubleValidator) + 16u)
+ QValidator (0x7f5b94362310) 0
+ primary-for QDoubleValidator (0x7f5b943622a0)
+ QObject (0x7f5b94362380) 0
+ primary-for QValidator (0x7f5b94362310)
+
+Vtable for QRegExpValidator
+QRegExpValidator::_ZTV16QRegExpValidator: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QRegExpValidator)
+16 QRegExpValidator::metaObject
+24 QRegExpValidator::qt_metacast
+32 QRegExpValidator::qt_metacall
+40 QRegExpValidator::~QRegExpValidator
+48 QRegExpValidator::~QRegExpValidator
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QRegExpValidator::validate
+120 QValidator::fixup
+
+Class QRegExpValidator
+ size=24 align=8
+ base size=24 base align=8
+QRegExpValidator (0x7f5b9437db60) 0
+ vptr=((& QRegExpValidator::_ZTV16QRegExpValidator) + 16u)
+ QValidator (0x7f5b9437dbd0) 0
+ primary-for QRegExpValidator (0x7f5b9437db60)
+ QObject (0x7f5b9437dc40) 0
+ primary-for QValidator (0x7f5b9437dbd0)
+
+Vtable for QAbstractSpinBox
+QAbstractSpinBox::_ZTV16QAbstractSpinBox: 68u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QAbstractSpinBox)
+16 QAbstractSpinBox::metaObject
+24 QAbstractSpinBox::qt_metacast
+32 QAbstractSpinBox::qt_metacall
+40 QAbstractSpinBox::~QAbstractSpinBox
+48 QAbstractSpinBox::~QAbstractSpinBox
+56 QAbstractSpinBox::event
+64 QObject::eventFilter
+72 QAbstractSpinBox::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QAbstractSpinBox::sizeHint
+136 QAbstractSpinBox::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QAbstractSpinBox::mousePressEvent
+168 QAbstractSpinBox::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QAbstractSpinBox::mouseMoveEvent
+192 QAbstractSpinBox::wheelEvent
+200 QAbstractSpinBox::keyPressEvent
+208 QAbstractSpinBox::keyReleaseEvent
+216 QAbstractSpinBox::focusInEvent
+224 QAbstractSpinBox::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QAbstractSpinBox::paintEvent
+256 QWidget::moveEvent
+264 QAbstractSpinBox::resizeEvent
+272 QAbstractSpinBox::closeEvent
+280 QAbstractSpinBox::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QAbstractSpinBox::showEvent
+344 QAbstractSpinBox::hideEvent
+352 QWidget::x11Event
+360 QAbstractSpinBox::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QAbstractSpinBox::validate
+456 QAbstractSpinBox::fixup
+464 QAbstractSpinBox::stepBy
+472 QAbstractSpinBox::clear
+480 QAbstractSpinBox::stepEnabled
+488 (int (*)(...))-0x00000000000000010
+496 (int (*)(...))(& _ZTI16QAbstractSpinBox)
+504 QAbstractSpinBox::_ZThn16_N16QAbstractSpinBoxD1Ev
+512 QAbstractSpinBox::_ZThn16_N16QAbstractSpinBoxD0Ev
+520 QWidget::_ZThn16_NK7QWidget7devTypeEv
+528 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+536 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QAbstractSpinBox
+ size=40 align=8
+ base size=40 base align=8
+QAbstractSpinBox (0x7f5b943917e0) 0
+ vptr=((& QAbstractSpinBox::_ZTV16QAbstractSpinBox) + 16u)
+ QWidget (0x7f5b94381700) 0
+ primary-for QAbstractSpinBox (0x7f5b943917e0)
+ QObject (0x7f5b94391850) 0
+ primary-for QWidget (0x7f5b94381700)
+ QPaintDevice (0x7f5b943918c0) 16
+ vptr=((& QAbstractSpinBox::_ZTV16QAbstractSpinBox) + 504u)
+
+Class QIcon
+ size=8 align=8
+ base size=8 base align=8
+QIcon (0x7f5b941df7e0) 0
+
+Vtable for QAbstractSlider
+QAbstractSlider::_ZTV15QAbstractSlider: 64u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QAbstractSlider)
+16 QAbstractSlider::metaObject
+24 QAbstractSlider::qt_metacast
+32 QAbstractSlider::qt_metacall
+40 QAbstractSlider::~QAbstractSlider
+48 QAbstractSlider::~QAbstractSlider
+56 QAbstractSlider::event
+64 QObject::eventFilter
+72 QAbstractSlider::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QWidget::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QAbstractSlider::wheelEvent
+200 QAbstractSlider::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QWidget::paintEvent
+256 QWidget::moveEvent
+264 QWidget::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QAbstractSlider::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QAbstractSlider::sliderChange
+456 (int (*)(...))-0x00000000000000010
+464 (int (*)(...))(& _ZTI15QAbstractSlider)
+472 QAbstractSlider::_ZThn16_N15QAbstractSliderD1Ev
+480 QAbstractSlider::_ZThn16_N15QAbstractSliderD0Ev
+488 QWidget::_ZThn16_NK7QWidget7devTypeEv
+496 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+504 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QAbstractSlider
+ size=40 align=8
+ base size=40 base align=8
+QAbstractSlider (0x7f5b9421d380) 0
+ vptr=((& QAbstractSlider::_ZTV15QAbstractSlider) + 16u)
+ QWidget (0x7f5b94223380) 0
+ primary-for QAbstractSlider (0x7f5b9421d380)
+ QObject (0x7f5b9421d3f0) 0
+ primary-for QWidget (0x7f5b94223380)
+ QPaintDevice (0x7f5b9421d460) 16
+ vptr=((& QAbstractSlider::_ZTV15QAbstractSlider) + 472u)
+
+Vtable for QSlider
+QSlider::_ZTV7QSlider: 64u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QSlider)
+16 QSlider::metaObject
+24 QSlider::qt_metacast
+32 QSlider::qt_metacall
+40 QSlider::~QSlider
+48 QSlider::~QSlider
+56 QSlider::event
+64 QObject::eventFilter
+72 QAbstractSlider::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QSlider::sizeHint
+136 QSlider::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QSlider::mousePressEvent
+168 QSlider::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QSlider::mouseMoveEvent
+192 QAbstractSlider::wheelEvent
+200 QAbstractSlider::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QSlider::paintEvent
+256 QWidget::moveEvent
+264 QWidget::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QAbstractSlider::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QAbstractSlider::sliderChange
+456 (int (*)(...))-0x00000000000000010
+464 (int (*)(...))(& _ZTI7QSlider)
+472 QSlider::_ZThn16_N7QSliderD1Ev
+480 QSlider::_ZThn16_N7QSliderD0Ev
+488 QWidget::_ZThn16_NK7QWidget7devTypeEv
+496 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+504 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QSlider
+ size=40 align=8
+ base size=40 base align=8
+QSlider (0x7f5b942551c0) 0
+ vptr=((& QSlider::_ZTV7QSlider) + 16u)
+ QAbstractSlider (0x7f5b94255230) 0
+ primary-for QSlider (0x7f5b942551c0)
+ QWidget (0x7f5b94252380) 0
+ primary-for QAbstractSlider (0x7f5b94255230)
+ QObject (0x7f5b942552a0) 0
+ primary-for QWidget (0x7f5b94252380)
+ QPaintDevice (0x7f5b94255310) 16
+ vptr=((& QSlider::_ZTV7QSlider) + 472u)
+
+Vtable for QStyle
+QStyle::_ZTV6QStyle: 35u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI6QStyle)
+16 QStyle::metaObject
+24 QStyle::qt_metacast
+32 QStyle::qt_metacall
+40 QStyle::~QStyle
+48 QStyle::~QStyle
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QStyle::polish
+120 QStyle::unpolish
+128 QStyle::polish
+136 QStyle::unpolish
+144 QStyle::polish
+152 QStyle::itemTextRect
+160 QStyle::itemPixmapRect
+168 QStyle::drawItemText
+176 QStyle::drawItemPixmap
+184 QStyle::standardPalette
+192 __cxa_pure_virtual
+200 __cxa_pure_virtual
+208 __cxa_pure_virtual
+216 __cxa_pure_virtual
+224 __cxa_pure_virtual
+232 __cxa_pure_virtual
+240 __cxa_pure_virtual
+248 __cxa_pure_virtual
+256 __cxa_pure_virtual
+264 __cxa_pure_virtual
+272 __cxa_pure_virtual
+
+Class QStyle
+ size=16 align=8
+ base size=16 base align=8
+QStyle (0x7f5b9427c770) 0
+ vptr=((& QStyle::_ZTV6QStyle) + 16u)
+ QObject (0x7f5b9427c7e0) 0
+ primary-for QStyle (0x7f5b9427c770)
+
+Vtable for QTabBar
+QTabBar::_ZTV7QTabBar: 67u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QTabBar)
+16 QTabBar::metaObject
+24 QTabBar::qt_metacast
+32 QTabBar::qt_metacall
+40 QTabBar::~QTabBar
+48 QTabBar::~QTabBar
+56 QTabBar::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QTabBar::sizeHint
+136 QTabBar::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QTabBar::mousePressEvent
+168 QTabBar::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QTabBar::mouseMoveEvent
+192 QTabBar::wheelEvent
+200 QTabBar::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QTabBar::paintEvent
+256 QWidget::moveEvent
+264 QTabBar::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QTabBar::showEvent
+344 QTabBar::hideEvent
+352 QWidget::x11Event
+360 QTabBar::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QTabBar::tabSizeHint
+456 QTabBar::tabInserted
+464 QTabBar::tabRemoved
+472 QTabBar::tabLayoutChange
+480 (int (*)(...))-0x00000000000000010
+488 (int (*)(...))(& _ZTI7QTabBar)
+496 QTabBar::_ZThn16_N7QTabBarD1Ev
+504 QTabBar::_ZThn16_N7QTabBarD0Ev
+512 QWidget::_ZThn16_NK7QWidget7devTypeEv
+520 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+528 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QTabBar
+ size=40 align=8
+ base size=40 base align=8
+QTabBar (0x7f5b941304d0) 0
+ vptr=((& QTabBar::_ZTV7QTabBar) + 16u)
+ QWidget (0x7f5b940cce80) 0
+ primary-for QTabBar (0x7f5b941304d0)
+ QObject (0x7f5b94130540) 0
+ primary-for QWidget (0x7f5b940cce80)
+ QPaintDevice (0x7f5b941305b0) 16
+ vptr=((& QTabBar::_ZTV7QTabBar) + 496u)
+
+Vtable for QTabWidget
+QTabWidget::_ZTV10QTabWidget: 65u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QTabWidget)
+16 QTabWidget::metaObject
+24 QTabWidget::qt_metacast
+32 QTabWidget::qt_metacall
+40 QTabWidget::~QTabWidget
+48 QTabWidget::~QTabWidget
+56 QTabWidget::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QTabWidget::sizeHint
+136 QTabWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QTabWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QTabWidget::paintEvent
+256 QWidget::moveEvent
+264 QTabWidget::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QTabWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QTabWidget::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QTabWidget::tabInserted
+456 QTabWidget::tabRemoved
+464 (int (*)(...))-0x00000000000000010
+472 (int (*)(...))(& _ZTI10QTabWidget)
+480 QTabWidget::_ZThn16_N10QTabWidgetD1Ev
+488 QTabWidget::_ZThn16_N10QTabWidgetD0Ev
+496 QWidget::_ZThn16_NK7QWidget7devTypeEv
+504 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+512 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QTabWidget
+ size=40 align=8
+ base size=40 base align=8
+QTabWidget (0x7f5b94160af0) 0
+ vptr=((& QTabWidget::_ZTV10QTabWidget) + 16u)
+ QWidget (0x7f5b94162180) 0
+ primary-for QTabWidget (0x7f5b94160af0)
+ QObject (0x7f5b94160b60) 0
+ primary-for QWidget (0x7f5b94162180)
+ QPaintDevice (0x7f5b94160bd0) 16
+ vptr=((& QTabWidget::_ZTV10QTabWidget) + 480u)
+
+Vtable for QRubberBand
+QRubberBand::_ZTV11QRubberBand: 63u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QRubberBand)
+16 QRubberBand::metaObject
+24 QRubberBand::qt_metacast
+32 QRubberBand::qt_metacall
+40 QRubberBand::~QRubberBand
+48 QRubberBand::~QRubberBand
+56 QRubberBand::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QWidget::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QRubberBand::paintEvent
+256 QRubberBand::moveEvent
+264 QRubberBand::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QRubberBand::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QRubberBand::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 (int (*)(...))-0x00000000000000010
+456 (int (*)(...))(& _ZTI11QRubberBand)
+464 QRubberBand::_ZThn16_N11QRubberBandD1Ev
+472 QRubberBand::_ZThn16_N11QRubberBandD0Ev
+480 QWidget::_ZThn16_NK7QWidget7devTypeEv
+488 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+496 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QRubberBand
+ size=40 align=8
+ base size=40 base align=8
+QRubberBand (0x7f5b941b74d0) 0
+ vptr=((& QRubberBand::_ZTV11QRubberBand) + 16u)
+ QWidget (0x7f5b941b6200) 0
+ primary-for QRubberBand (0x7f5b941b74d0)
+ QObject (0x7f5b941b7540) 0
+ primary-for QWidget (0x7f5b941b6200)
+ QPaintDevice (0x7f5b941b75b0) 16
+ vptr=((& QRubberBand::_ZTV11QRubberBand) + 464u)
+
+Class QStyleOption
+ size=56 align=8
+ base size=56 base align=8
+QStyleOption (0x7f5b93fd77e0) 0
+
+Class QStyleOptionFocusRect
+ size=72 align=8
+ base size=72 base align=8
+QStyleOptionFocusRect (0x7f5b93fe6540) 0
+ QStyleOption (0x7f5b93fe65b0) 0
+
+Class QStyleOptionFrame
+ size=64 align=8
+ base size=64 base align=8
+QStyleOptionFrame (0x7f5b93fef540) 0
+ QStyleOption (0x7f5b93fef5b0) 0
+
+Class QStyleOptionFrameV2
+ size=72 align=8
+ base size=68 base align=8
+QStyleOptionFrameV2 (0x7f5b93ffa4d0) 0
+ QStyleOptionFrame (0x7f5b93ffa540) 0
+ QStyleOption (0x7f5b93ffa5b0) 0
+
+Class QStyleOptionFrameV3
+ size=72 align=8
+ base size=72 base align=8
+QStyleOptionFrameV3 (0x7f5b9402bd90) 0
+ QStyleOptionFrameV2 (0x7f5b9402be00) 0
+ QStyleOptionFrame (0x7f5b9402be70) 0
+ QStyleOption (0x7f5b9402bee0) 0
+
+Class QStyleOptionTabWidgetFrame
+ size=96 align=8
+ base size=92 base align=8
+QStyleOptionTabWidgetFrame (0x7f5b9404d690) 0
+ QStyleOption (0x7f5b9404d700) 0
+
+Class QStyleOptionTabBarBase
+ size=96 align=8
+ base size=92 base align=8
+QStyleOptionTabBarBase (0x7f5b9405ce00) 0
+ QStyleOption (0x7f5b9405ce70) 0
+
+Class QStyleOptionTabBarBaseV2
+ size=96 align=8
+ base size=93 base align=8
+QStyleOptionTabBarBaseV2 (0x7f5b9406d1c0) 0
+ QStyleOptionTabBarBase (0x7f5b9406d230) 0
+ QStyleOption (0x7f5b9406d2a0) 0
+
+Class QStyleOptionHeader
+ size=112 align=8
+ base size=108 base align=8
+QStyleOptionHeader (0x7f5b94078850) 0
+ QStyleOption (0x7f5b940788c0) 0
+
+Class QStyleOptionButton
+ size=88 align=8
+ base size=88 base align=8
+QStyleOptionButton (0x7f5b94091a10) 0
+ QStyleOption (0x7f5b94091a80) 0
+
+Class QStyleOptionTab
+ size=96 align=8
+ base size=96 base align=8
+QStyleOptionTab (0x7f5b93ede3f0) 0
+ QStyleOption (0x7f5b93ede460) 0
+
+Class QStyleOptionTabV2
+ size=104 align=8
+ base size=104 base align=8
+QStyleOptionTabV2 (0x7f5b93f2a380) 0
+ QStyleOptionTab (0x7f5b93f2a3f0) 0
+ QStyleOption (0x7f5b93f2a460) 0
+
+Class QStyleOptionTabV3
+ size=128 align=8
+ base size=124 base align=8
+QStyleOptionTabV3 (0x7f5b93f33d90) 0
+ QStyleOptionTabV2 (0x7f5b93f33e00) 0
+ QStyleOptionTab (0x7f5b93f33e70) 0
+ QStyleOption (0x7f5b93f33ee0) 0
+
+Class QStyleOptionToolBar
+ size=80 align=8
+ base size=80 base align=8
+QStyleOptionToolBar (0x7f5b93f513f0) 0
+ QStyleOption (0x7f5b93f51460) 0
+
+Class QStyleOptionProgressBar
+ size=88 align=8
+ base size=85 base align=8
+QStyleOptionProgressBar (0x7f5b93f85bd0) 0
+ QStyleOption (0x7f5b93f85c40) 0
+
+Class QStyleOptionProgressBarV2
+ size=96 align=8
+ base size=94 base align=8
+QStyleOptionProgressBarV2 (0x7f5b93faa380) 0
+ QStyleOptionProgressBar (0x7f5b93faa3f0) 0
+ QStyleOption (0x7f5b93faa460) 0
+
+Class QStyleOptionMenuItem
+ size=128 align=8
+ base size=128 base align=8
+QStyleOptionMenuItem (0x7f5b93faac40) 0
+ QStyleOption (0x7f5b93faacb0) 0
+
+Class QStyleOptionQ3ListViewItem
+ size=80 align=8
+ base size=76 base align=8
+QStyleOptionQ3ListViewItem (0x7f5b93dc2e70) 0
+ QStyleOption (0x7f5b93dc2ee0) 0
+
+Class QStyleOptionQ3DockWindow
+ size=64 align=8
+ base size=58 base align=8
+QStyleOptionQ3DockWindow (0x7f5b93e0e310) 0
+ QStyleOption (0x7f5b93e0e380) 0
+
+Class QStyleOptionDockWidget
+ size=72 align=8
+ base size=67 base align=8
+QStyleOptionDockWidget (0x7f5b93e1b2a0) 0
+ QStyleOption (0x7f5b93e1b310) 0
+
+Class QStyleOptionDockWidgetV2
+ size=72 align=8
+ base size=68 base align=8
+QStyleOptionDockWidgetV2 (0x7f5b93e28690) 0
+ QStyleOptionDockWidget (0x7f5b93e28700) 0
+ QStyleOption (0x7f5b93e28770) 0
+
+Class QStyleOptionViewItem
+ size=104 align=8
+ base size=97 base align=8
+QStyleOptionViewItem (0x7f5b93e32e70) 0
+ QStyleOption (0x7f5b93e32ee0) 0
+
+Class QStyleOptionViewItemV2
+ size=104 align=8
+ base size=104 base align=8
+QStyleOptionViewItemV2 (0x7f5b93e4ba10) 0
+ QStyleOptionViewItem (0x7f5b93e4ba80) 0
+ QStyleOption (0x7f5b93e4baf0) 0
+
+Class QStyleOptionViewItemV3
+ size=120 align=8
+ base size=120 base align=8
+QStyleOptionViewItemV3 (0x7f5b93e95460) 0
+ QStyleOptionViewItemV2 (0x7f5b93e954d0) 0
+ QStyleOptionViewItem (0x7f5b93e95540) 0
+ QStyleOption (0x7f5b93e955b0) 0
+
+Class QStyleOptionViewItemV4
+ size=184 align=8
+ base size=184 base align=8
+QStyleOptionViewItemV4 (0x7f5b93e9ed20) 0
+ QStyleOptionViewItemV3 (0x7f5b93e9ed90) 0
+ QStyleOptionViewItemV2 (0x7f5b93e9ee00) 0
+ QStyleOptionViewItem (0x7f5b93e9ee70) 0
+ QStyleOption (0x7f5b93e9eee0) 0
+
+Class QStyleOptionToolBox
+ size=72 align=8
+ base size=72 base align=8
+QStyleOptionToolBox (0x7f5b93cc1460) 0
+ QStyleOption (0x7f5b93cc14d0) 0
+
+Class QStyleOptionToolBoxV2
+ size=80 align=8
+ base size=80 base align=8
+QStyleOptionToolBoxV2 (0x7f5b93cd1930) 0
+ QStyleOptionToolBox (0x7f5b93cd19a0) 0
+ QStyleOption (0x7f5b93cd1a10) 0
+
+Class QStyleOptionRubberBand
+ size=64 align=8
+ base size=61 base align=8
+QStyleOptionRubberBand (0x7f5b93ce5620) 0
+ QStyleOption (0x7f5b93ce5690) 0
+
+Class QStyleOptionComplex
+ size=64 align=8
+ base size=64 base align=8
+QStyleOptionComplex (0x7f5b93cf2700) 0
+ QStyleOption (0x7f5b93cf2770) 0
+
+Class QStyleOptionSlider
+ size=120 align=8
+ base size=113 base align=8
+QStyleOptionSlider (0x7f5b93cfaee0) 0
+ QStyleOptionComplex (0x7f5b93cfaf50) 0
+ QStyleOption (0x7f5b93cfa310) 0
+
+Class QStyleOptionSpinBox
+ size=80 align=8
+ base size=73 base align=8
+QStyleOptionSpinBox (0x7f5b93d10cb0) 0
+ QStyleOptionComplex (0x7f5b93d10d20) 0
+ QStyleOption (0x7f5b93d10d90) 0
+
+Class QStyleOptionQ3ListView
+ size=112 align=8
+ base size=105 base align=8
+QStyleOptionQ3ListView (0x7f5b93d221c0) 0
+ QStyleOptionComplex (0x7f5b93d22230) 0
+ QStyleOption (0x7f5b93d222a0) 0
+
+Class QStyleOptionToolButton
+ size=128 align=8
+ base size=128 base align=8
+QStyleOptionToolButton (0x7f5b93d53e00) 0
+ QStyleOptionComplex (0x7f5b93d53e70) 0
+ QStyleOption (0x7f5b93d53ee0) 0
+
+Class QStyleOptionComboBox
+ size=112 align=8
+ base size=112 base align=8
+QStyleOptionComboBox (0x7f5b93da9070) 0
+ QStyleOptionComplex (0x7f5b93da90e0) 0
+ QStyleOption (0x7f5b93da9150) 0
+
+Class QStyleOptionTitleBar
+ size=88 align=8
+ base size=88 base align=8
+QStyleOptionTitleBar (0x7f5b93db8b60) 0
+ QStyleOptionComplex (0x7f5b93db8bd0) 0
+ QStyleOption (0x7f5b93db8c40) 0
+
+Class QStyleOptionGroupBox
+ size=112 align=8
+ base size=108 base align=8
+QStyleOptionGroupBox (0x7f5b93bce3f0) 0
+ QStyleOptionComplex (0x7f5b93bce460) 0
+ QStyleOption (0x7f5b93bce4d0) 0
+
+Class QStyleOptionSizeGrip
+ size=72 align=8
+ base size=68 base align=8
+QStyleOptionSizeGrip (0x7f5b93be4000) 0
+ QStyleOptionComplex (0x7f5b93be4070) 0
+ QStyleOption (0x7f5b93be40e0) 0
+
+Class QStyleOptionGraphicsItem
+ size=144 align=8
+ base size=144 base align=8
+QStyleOptionGraphicsItem (0x7f5b93be4f50) 0
+ QStyleOption (0x7f5b93be4700) 0
+
+Class QStyleHintReturn
+ size=8 align=4
+ base size=8 base align=4
+QStyleHintReturn (0x7f5b93bff2a0) 0
+
+Class QStyleHintReturnMask
+ size=16 align=8
+ base size=16 base align=8
+QStyleHintReturnMask (0x7f5b93bff700) 0
+ QStyleHintReturn (0x7f5b93bff770) 0
+
+Class QStyleHintReturnVariant
+ size=24 align=8
+ base size=24 base align=8
+QStyleHintReturnVariant (0x7f5b93bff930) 0
+ QStyleHintReturn (0x7f5b93bff9a0) 0
+
+Vtable for QAbstractItemDelegate
+QAbstractItemDelegate::_ZTV21QAbstractItemDelegate: 21u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI21QAbstractItemDelegate)
+16 QAbstractItemDelegate::metaObject
+24 QAbstractItemDelegate::qt_metacast
+32 QAbstractItemDelegate::qt_metacall
+40 QAbstractItemDelegate::~QAbstractItemDelegate
+48 QAbstractItemDelegate::~QAbstractItemDelegate
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 QAbstractItemDelegate::createEditor
+136 QAbstractItemDelegate::setEditorData
+144 QAbstractItemDelegate::setModelData
+152 QAbstractItemDelegate::updateEditorGeometry
+160 QAbstractItemDelegate::editorEvent
+
+Class QAbstractItemDelegate
+ size=16 align=8
+ base size=16 base align=8
+QAbstractItemDelegate (0x7f5b93bffe00) 0
+ vptr=((& QAbstractItemDelegate::_ZTV21QAbstractItemDelegate) + 16u)
+ QObject (0x7f5b93bffe70) 0
+ primary-for QAbstractItemDelegate (0x7f5b93bffe00)
+
+Vtable for QAbstractItemView
+QAbstractItemView::_ZTV17QAbstractItemView: 103u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QAbstractItemView)
+16 QAbstractItemView::metaObject
+24 QAbstractItemView::qt_metacast
+32 QAbstractItemView::qt_metacall
+40 QAbstractItemView::~QAbstractItemView
+48 QAbstractItemView::~QAbstractItemView
+56 QAbstractItemView::event
+64 QObject::eventFilter
+72 QAbstractItemView::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QAbstractScrollArea::sizeHint
+136 QAbstractScrollArea::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QAbstractItemView::mousePressEvent
+168 QAbstractItemView::mouseReleaseEvent
+176 QAbstractItemView::mouseDoubleClickEvent
+184 QAbstractItemView::mouseMoveEvent
+192 QAbstractScrollArea::wheelEvent
+200 QAbstractItemView::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QAbstractItemView::focusInEvent
+224 QAbstractItemView::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QAbstractScrollArea::paintEvent
+256 QWidget::moveEvent
+264 QAbstractItemView::resizeEvent
+272 QWidget::closeEvent
+280 QAbstractScrollArea::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QAbstractItemView::dragEnterEvent
+312 QAbstractItemView::dragMoveEvent
+320 QAbstractItemView::dragLeaveEvent
+328 QAbstractItemView::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QFrame::changeEvent
+368 QWidget::metric
+376 QAbstractItemView::inputMethodEvent
+384 QAbstractItemView::inputMethodQuery
+392 QAbstractItemView::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QAbstractItemView::viewportEvent
+456 QAbstractScrollArea::scrollContentsBy
+464 QAbstractItemView::setModel
+472 QAbstractItemView::setSelectionModel
+480 QAbstractItemView::keyboardSearch
+488 __cxa_pure_virtual
+496 __cxa_pure_virtual
+504 __cxa_pure_virtual
+512 QAbstractItemView::sizeHintForRow
+520 QAbstractItemView::sizeHintForColumn
+528 QAbstractItemView::reset
+536 QAbstractItemView::setRootIndex
+544 QAbstractItemView::doItemsLayout
+552 QAbstractItemView::selectAll
+560 QAbstractItemView::dataChanged
+568 QAbstractItemView::rowsInserted
+576 QAbstractItemView::rowsAboutToBeRemoved
+584 QAbstractItemView::selectionChanged
+592 QAbstractItemView::currentChanged
+600 QAbstractItemView::updateEditorData
+608 QAbstractItemView::updateEditorGeometries
+616 QAbstractItemView::updateGeometries
+624 QAbstractItemView::verticalScrollbarAction
+632 QAbstractItemView::horizontalScrollbarAction
+640 QAbstractItemView::verticalScrollbarValueChanged
+648 QAbstractItemView::horizontalScrollbarValueChanged
+656 QAbstractItemView::closeEditor
+664 QAbstractItemView::commitData
+672 QAbstractItemView::editorDestroyed
+680 __cxa_pure_virtual
+688 __cxa_pure_virtual
+696 __cxa_pure_virtual
+704 __cxa_pure_virtual
+712 __cxa_pure_virtual
+720 __cxa_pure_virtual
+728 QAbstractItemView::selectedIndexes
+736 QAbstractItemView::edit
+744 QAbstractItemView::selectionCommand
+752 QAbstractItemView::startDrag
+760 QAbstractItemView::viewOptions
+768 (int (*)(...))-0x00000000000000010
+776 (int (*)(...))(& _ZTI17QAbstractItemView)
+784 QAbstractItemView::_ZThn16_N17QAbstractItemViewD1Ev
+792 QAbstractItemView::_ZThn16_N17QAbstractItemViewD0Ev
+800 QWidget::_ZThn16_NK7QWidget7devTypeEv
+808 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+816 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QAbstractItemView
+ size=40 align=8
+ base size=40 base align=8
+QAbstractItemView (0x7f5b93c424d0) 0
+ vptr=((& QAbstractItemView::_ZTV17QAbstractItemView) + 16u)
+ QAbstractScrollArea (0x7f5b93c42540) 0
+ primary-for QAbstractItemView (0x7f5b93c424d0)
+ QFrame (0x7f5b93c425b0) 0
+ primary-for QAbstractScrollArea (0x7f5b93c42540)
+ QWidget (0x7f5b93c44000) 0
+ primary-for QFrame (0x7f5b93c425b0)
+ QObject (0x7f5b93c42620) 0
+ primary-for QWidget (0x7f5b93c44000)
+ QPaintDevice (0x7f5b93c42690) 16
+ vptr=((& QAbstractItemView::_ZTV17QAbstractItemView) + 784u)
+
+Vtable for QListView
+QListView::_ZTV9QListView: 103u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QListView)
+16 QListView::metaObject
+24 QListView::qt_metacast
+32 QListView::qt_metacall
+40 QListView::~QListView
+48 QListView::~QListView
+56 QListView::event
+64 QObject::eventFilter
+72 QListView::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QAbstractScrollArea::sizeHint
+136 QAbstractScrollArea::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QAbstractItemView::mousePressEvent
+168 QListView::mouseReleaseEvent
+176 QAbstractItemView::mouseDoubleClickEvent
+184 QListView::mouseMoveEvent
+192 QAbstractScrollArea::wheelEvent
+200 QAbstractItemView::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QAbstractItemView::focusInEvent
+224 QAbstractItemView::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QListView::paintEvent
+256 QWidget::moveEvent
+264 QListView::resizeEvent
+272 QWidget::closeEvent
+280 QAbstractScrollArea::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QAbstractItemView::dragEnterEvent
+312 QListView::dragMoveEvent
+320 QListView::dragLeaveEvent
+328 QListView::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QFrame::changeEvent
+368 QWidget::metric
+376 QAbstractItemView::inputMethodEvent
+384 QAbstractItemView::inputMethodQuery
+392 QAbstractItemView::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QAbstractItemView::viewportEvent
+456 QListView::scrollContentsBy
+464 QAbstractItemView::setModel
+472 QAbstractItemView::setSelectionModel
+480 QAbstractItemView::keyboardSearch
+488 QListView::visualRect
+496 QListView::scrollTo
+504 QListView::indexAt
+512 QAbstractItemView::sizeHintForRow
+520 QAbstractItemView::sizeHintForColumn
+528 QListView::reset
+536 QListView::setRootIndex
+544 QListView::doItemsLayout
+552 QAbstractItemView::selectAll
+560 QListView::dataChanged
+568 QListView::rowsInserted
+576 QListView::rowsAboutToBeRemoved
+584 QListView::selectionChanged
+592 QListView::currentChanged
+600 QAbstractItemView::updateEditorData
+608 QAbstractItemView::updateEditorGeometries
+616 QListView::updateGeometries
+624 QAbstractItemView::verticalScrollbarAction
+632 QAbstractItemView::horizontalScrollbarAction
+640 QAbstractItemView::verticalScrollbarValueChanged
+648 QAbstractItemView::horizontalScrollbarValueChanged
+656 QAbstractItemView::closeEditor
+664 QAbstractItemView::commitData
+672 QAbstractItemView::editorDestroyed
+680 QListView::moveCursor
+688 QListView::horizontalOffset
+696 QListView::verticalOffset
+704 QListView::isIndexHidden
+712 QListView::setSelection
+720 QListView::visualRegionForSelection
+728 QListView::selectedIndexes
+736 QAbstractItemView::edit
+744 QAbstractItemView::selectionCommand
+752 QListView::startDrag
+760 QListView::viewOptions
+768 (int (*)(...))-0x00000000000000010
+776 (int (*)(...))(& _ZTI9QListView)
+784 QListView::_ZThn16_N9QListViewD1Ev
+792 QListView::_ZThn16_N9QListViewD0Ev
+800 QWidget::_ZThn16_NK7QWidget7devTypeEv
+808 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+816 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QListView
+ size=40 align=8
+ base size=40 base align=8
+QListView (0x7f5b93cb6cb0) 0
+ vptr=((& QListView::_ZTV9QListView) + 16u)
+ QAbstractItemView (0x7f5b93cb6d20) 0
+ primary-for QListView (0x7f5b93cb6cb0)
+ QAbstractScrollArea (0x7f5b93cb6d90) 0
+ primary-for QAbstractItemView (0x7f5b93cb6d20)
+ QFrame (0x7f5b93cb6e00) 0
+ primary-for QAbstractScrollArea (0x7f5b93cb6d90)
+ QWidget (0x7f5b93c94680) 0
+ primary-for QFrame (0x7f5b93cb6e00)
+ QObject (0x7f5b93cb6e70) 0
+ primary-for QWidget (0x7f5b93c94680)
+ QPaintDevice (0x7f5b93cb6ee0) 16
+ vptr=((& QListView::_ZTV9QListView) + 784u)
+
+Vtable for QUndoView
+QUndoView::_ZTV9QUndoView: 103u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QUndoView)
+16 QUndoView::metaObject
+24 QUndoView::qt_metacast
+32 QUndoView::qt_metacall
+40 QUndoView::~QUndoView
+48 QUndoView::~QUndoView
+56 QListView::event
+64 QObject::eventFilter
+72 QListView::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QAbstractScrollArea::sizeHint
+136 QAbstractScrollArea::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QAbstractItemView::mousePressEvent
+168 QListView::mouseReleaseEvent
+176 QAbstractItemView::mouseDoubleClickEvent
+184 QListView::mouseMoveEvent
+192 QAbstractScrollArea::wheelEvent
+200 QAbstractItemView::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QAbstractItemView::focusInEvent
+224 QAbstractItemView::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QListView::paintEvent
+256 QWidget::moveEvent
+264 QListView::resizeEvent
+272 QWidget::closeEvent
+280 QAbstractScrollArea::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QAbstractItemView::dragEnterEvent
+312 QListView::dragMoveEvent
+320 QListView::dragLeaveEvent
+328 QListView::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QFrame::changeEvent
+368 QWidget::metric
+376 QAbstractItemView::inputMethodEvent
+384 QAbstractItemView::inputMethodQuery
+392 QAbstractItemView::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QAbstractItemView::viewportEvent
+456 QListView::scrollContentsBy
+464 QAbstractItemView::setModel
+472 QAbstractItemView::setSelectionModel
+480 QAbstractItemView::keyboardSearch
+488 QListView::visualRect
+496 QListView::scrollTo
+504 QListView::indexAt
+512 QAbstractItemView::sizeHintForRow
+520 QAbstractItemView::sizeHintForColumn
+528 QListView::reset
+536 QListView::setRootIndex
+544 QListView::doItemsLayout
+552 QAbstractItemView::selectAll
+560 QListView::dataChanged
+568 QListView::rowsInserted
+576 QListView::rowsAboutToBeRemoved
+584 QListView::selectionChanged
+592 QListView::currentChanged
+600 QAbstractItemView::updateEditorData
+608 QAbstractItemView::updateEditorGeometries
+616 QListView::updateGeometries
+624 QAbstractItemView::verticalScrollbarAction
+632 QAbstractItemView::horizontalScrollbarAction
+640 QAbstractItemView::verticalScrollbarValueChanged
+648 QAbstractItemView::horizontalScrollbarValueChanged
+656 QAbstractItemView::closeEditor
+664 QAbstractItemView::commitData
+672 QAbstractItemView::editorDestroyed
+680 QListView::moveCursor
+688 QListView::horizontalOffset
+696 QListView::verticalOffset
+704 QListView::isIndexHidden
+712 QListView::setSelection
+720 QListView::visualRegionForSelection
+728 QListView::selectedIndexes
+736 QAbstractItemView::edit
+744 QAbstractItemView::selectionCommand
+752 QListView::startDrag
+760 QListView::viewOptions
+768 (int (*)(...))-0x00000000000000010
+776 (int (*)(...))(& _ZTI9QUndoView)
+784 QUndoView::_ZThn16_N9QUndoViewD1Ev
+792 QUndoView::_ZThn16_N9QUndoViewD0Ev
+800 QWidget::_ZThn16_NK7QWidget7devTypeEv
+808 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+816 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QUndoView
+ size=40 align=8
+ base size=40 base align=8
+QUndoView (0x7f5b93b00380) 0
+ vptr=((& QUndoView::_ZTV9QUndoView) + 16u)
+ QListView (0x7f5b93b003f0) 0
+ primary-for QUndoView (0x7f5b93b00380)
+ QAbstractItemView (0x7f5b93b00460) 0
+ primary-for QListView (0x7f5b93b003f0)
+ QAbstractScrollArea (0x7f5b93b004d0) 0
+ primary-for QAbstractItemView (0x7f5b93b00460)
+ QFrame (0x7f5b93b00540) 0
+ primary-for QAbstractScrollArea (0x7f5b93b004d0)
+ QWidget (0x7f5b93af7580) 0
+ primary-for QFrame (0x7f5b93b00540)
+ QObject (0x7f5b93b005b0) 0
+ primary-for QWidget (0x7f5b93af7580)
+ QPaintDevice (0x7f5b93b00620) 16
+ vptr=((& QUndoView::_ZTV9QUndoView) + 784u)
+
+Vtable for QCompleter
+QCompleter::_ZTV10QCompleter: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QCompleter)
+16 QCompleter::metaObject
+24 QCompleter::qt_metacast
+32 QCompleter::qt_metacall
+40 QCompleter::~QCompleter
+48 QCompleter::~QCompleter
+56 QCompleter::event
+64 QCompleter::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QCompleter::pathFromIndex
+120 QCompleter::splitPath
+
+Class QCompleter
+ size=16 align=8
+ base size=16 base align=8
+QCompleter (0x7f5b93b1d070) 0
+ vptr=((& QCompleter::_ZTV10QCompleter) + 16u)
+ QObject (0x7f5b93b1d0e0) 0
+ primary-for QCompleter (0x7f5b93b1d070)
+
+Vtable for QUndoCommand
+QUndoCommand::_ZTV12QUndoCommand: 8u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QUndoCommand)
+16 QUndoCommand::~QUndoCommand
+24 QUndoCommand::~QUndoCommand
+32 QUndoCommand::undo
+40 QUndoCommand::redo
+48 QUndoCommand::id
+56 QUndoCommand::mergeWith
+
+Class QUndoCommand
+ size=16 align=8
+ base size=16 base align=8
+QUndoCommand (0x7f5b93b42000) 0
+ vptr=((& QUndoCommand::_ZTV12QUndoCommand) + 16u)
+
+Vtable for QUndoStack
+QUndoStack::_ZTV10QUndoStack: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QUndoStack)
+16 QUndoStack::metaObject
+24 QUndoStack::qt_metacast
+32 QUndoStack::qt_metacall
+40 QUndoStack::~QUndoStack
+48 QUndoStack::~QUndoStack
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QUndoStack
+ size=16 align=8
+ base size=16 base align=8
+QUndoStack (0x7f5b93b42930) 0
+ vptr=((& QUndoStack::_ZTV10QUndoStack) + 16u)
+ QObject (0x7f5b93b429a0) 0
+ primary-for QUndoStack (0x7f5b93b42930)
+
+Vtable for QSystemTrayIcon
+QSystemTrayIcon::_ZTV15QSystemTrayIcon: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QSystemTrayIcon)
+16 QSystemTrayIcon::metaObject
+24 QSystemTrayIcon::qt_metacast
+32 QSystemTrayIcon::qt_metacall
+40 QSystemTrayIcon::~QSystemTrayIcon
+48 QSystemTrayIcon::~QSystemTrayIcon
+56 QSystemTrayIcon::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QSystemTrayIcon
+ size=16 align=8
+ base size=16 base align=8
+QSystemTrayIcon (0x7f5b93b67460) 0
+ vptr=((& QSystemTrayIcon::_ZTV15QSystemTrayIcon) + 16u)
+ QObject (0x7f5b93b674d0) 0
+ primary-for QSystemTrayIcon (0x7f5b93b67460)
+
+Vtable for QDialog
+QDialog::_ZTV7QDialog: 66u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QDialog)
+16 QDialog::metaObject
+24 QDialog::qt_metacast
+32 QDialog::qt_metacall
+40 QDialog::~QDialog
+48 QDialog::~QDialog
+56 QWidget::event
+64 QDialog::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QDialog::setVisible
+128 QDialog::sizeHint
+136 QDialog::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QDialog::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QWidget::paintEvent
+256 QWidget::moveEvent
+264 QDialog::resizeEvent
+272 QDialog::closeEvent
+280 QDialog::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QDialog::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QWidget::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QDialog::done
+456 QDialog::accept
+464 QDialog::reject
+472 (int (*)(...))-0x00000000000000010
+480 (int (*)(...))(& _ZTI7QDialog)
+488 QDialog::_ZThn16_N7QDialogD1Ev
+496 QDialog::_ZThn16_N7QDialogD0Ev
+504 QWidget::_ZThn16_NK7QWidget7devTypeEv
+512 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+520 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QDialog
+ size=40 align=8
+ base size=40 base align=8
+QDialog (0x7f5b93b86690) 0
+ vptr=((& QDialog::_ZTV7QDialog) + 16u)
+ QWidget (0x7f5b93b84380) 0
+ primary-for QDialog (0x7f5b93b86690)
+ QObject (0x7f5b93b86700) 0
+ primary-for QWidget (0x7f5b93b84380)
+ QPaintDevice (0x7f5b93b86770) 16
+ vptr=((& QDialog::_ZTV7QDialog) + 488u)
+
+Vtable for QAbstractPageSetupDialog
+QAbstractPageSetupDialog::_ZTV24QAbstractPageSetupDialog: 67u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI24QAbstractPageSetupDialog)
+16 QAbstractPageSetupDialog::metaObject
+24 QAbstractPageSetupDialog::qt_metacast
+32 QAbstractPageSetupDialog::qt_metacall
+40 QAbstractPageSetupDialog::~QAbstractPageSetupDialog
+48 QAbstractPageSetupDialog::~QAbstractPageSetupDialog
+56 QWidget::event
+64 QDialog::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QDialog::setVisible
+128 QDialog::sizeHint
+136 QDialog::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QDialog::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QWidget::paintEvent
+256 QWidget::moveEvent
+264 QDialog::resizeEvent
+272 QDialog::closeEvent
+280 QDialog::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QDialog::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QWidget::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QAbstractPageSetupDialog::done
+456 QDialog::accept
+464 QDialog::reject
+472 __cxa_pure_virtual
+480 (int (*)(...))-0x00000000000000010
+488 (int (*)(...))(& _ZTI24QAbstractPageSetupDialog)
+496 QAbstractPageSetupDialog::_ZThn16_N24QAbstractPageSetupDialogD1Ev
+504 QAbstractPageSetupDialog::_ZThn16_N24QAbstractPageSetupDialogD0Ev
+512 QWidget::_ZThn16_NK7QWidget7devTypeEv
+520 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+528 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QAbstractPageSetupDialog
+ size=40 align=8
+ base size=40 base align=8
+QAbstractPageSetupDialog (0x7f5b93baa4d0) 0
+ vptr=((& QAbstractPageSetupDialog::_ZTV24QAbstractPageSetupDialog) + 16u)
+ QDialog (0x7f5b93baa540) 0
+ primary-for QAbstractPageSetupDialog (0x7f5b93baa4d0)
+ QWidget (0x7f5b93b84d80) 0
+ primary-for QDialog (0x7f5b93baa540)
+ QObject (0x7f5b93baa5b0) 0
+ primary-for QWidget (0x7f5b93b84d80)
+ QPaintDevice (0x7f5b93baa620) 16
+ vptr=((& QAbstractPageSetupDialog::_ZTV24QAbstractPageSetupDialog) + 496u)
+
+Vtable for QColorDialog
+QColorDialog::_ZTV12QColorDialog: 66u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QColorDialog)
+16 QColorDialog::metaObject
+24 QColorDialog::qt_metacast
+32 QColorDialog::qt_metacall
+40 QColorDialog::~QColorDialog
+48 QColorDialog::~QColorDialog
+56 QWidget::event
+64 QDialog::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QColorDialog::setVisible
+128 QDialog::sizeHint
+136 QDialog::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QDialog::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QWidget::paintEvent
+256 QWidget::moveEvent
+264 QDialog::resizeEvent
+272 QDialog::closeEvent
+280 QDialog::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QDialog::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QColorDialog::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QColorDialog::done
+456 QDialog::accept
+464 QDialog::reject
+472 (int (*)(...))-0x00000000000000010
+480 (int (*)(...))(& _ZTI12QColorDialog)
+488 QColorDialog::_ZThn16_N12QColorDialogD1Ev
+496 QColorDialog::_ZThn16_N12QColorDialogD0Ev
+504 QWidget::_ZThn16_NK7QWidget7devTypeEv
+512 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+520 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QColorDialog
+ size=40 align=8
+ base size=40 base align=8
+QColorDialog (0x7f5b939bba80) 0
+ vptr=((& QColorDialog::_ZTV12QColorDialog) + 16u)
+ QDialog (0x7f5b939bbaf0) 0
+ primary-for QColorDialog (0x7f5b939bba80)
+ QWidget (0x7f5b939ba680) 0
+ primary-for QDialog (0x7f5b939bbaf0)
+ QObject (0x7f5b939bbb60) 0
+ primary-for QWidget (0x7f5b939ba680)
+ QPaintDevice (0x7f5b939bbbd0) 16
+ vptr=((& QColorDialog::_ZTV12QColorDialog) + 488u)
+
+Vtable for QFontDialog
+QFontDialog::_ZTV11QFontDialog: 66u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QFontDialog)
+16 QFontDialog::metaObject
+24 QFontDialog::qt_metacast
+32 QFontDialog::qt_metacall
+40 QFontDialog::~QFontDialog
+48 QFontDialog::~QFontDialog
+56 QWidget::event
+64 QFontDialog::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QFontDialog::setVisible
+128 QDialog::sizeHint
+136 QDialog::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QDialog::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QWidget::paintEvent
+256 QWidget::moveEvent
+264 QDialog::resizeEvent
+272 QDialog::closeEvent
+280 QDialog::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QDialog::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QFontDialog::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QFontDialog::done
+456 QDialog::accept
+464 QDialog::reject
+472 (int (*)(...))-0x00000000000000010
+480 (int (*)(...))(& _ZTI11QFontDialog)
+488 QFontDialog::_ZThn16_N11QFontDialogD1Ev
+496 QFontDialog::_ZThn16_N11QFontDialogD0Ev
+504 QWidget::_ZThn16_NK7QWidget7devTypeEv
+512 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+520 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QFontDialog
+ size=40 align=8
+ base size=40 base align=8
+QFontDialog (0x7f5b93a07e00) 0
+ vptr=((& QFontDialog::_ZTV11QFontDialog) + 16u)
+ QDialog (0x7f5b93a07e70) 0
+ primary-for QFontDialog (0x7f5b93a07e00)
+ QWidget (0x7f5b939f0900) 0
+ primary-for QDialog (0x7f5b93a07e70)
+ QObject (0x7f5b93a07ee0) 0
+ primary-for QWidget (0x7f5b939f0900)
+ QPaintDevice (0x7f5b93a07f50) 16
+ vptr=((& QFontDialog::_ZTV11QFontDialog) + 488u)
+
+Vtable for QMessageBox
+QMessageBox::_ZTV11QMessageBox: 66u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QMessageBox)
+16 QMessageBox::metaObject
+24 QMessageBox::qt_metacast
+32 QMessageBox::qt_metacall
+40 QMessageBox::~QMessageBox
+48 QMessageBox::~QMessageBox
+56 QMessageBox::event
+64 QDialog::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QDialog::setVisible
+128 QMessageBox::sizeHint
+136 QDialog::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QMessageBox::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QWidget::paintEvent
+256 QWidget::moveEvent
+264 QMessageBox::resizeEvent
+272 QMessageBox::closeEvent
+280 QDialog::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QMessageBox::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QMessageBox::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QDialog::done
+456 QDialog::accept
+464 QDialog::reject
+472 (int (*)(...))-0x00000000000000010
+480 (int (*)(...))(& _ZTI11QMessageBox)
+488 QMessageBox::_ZThn16_N11QMessageBoxD1Ev
+496 QMessageBox::_ZThn16_N11QMessageBoxD0Ev
+504 QWidget::_ZThn16_NK7QWidget7devTypeEv
+512 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+520 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QMessageBox
+ size=40 align=8
+ base size=40 base align=8
+QMessageBox (0x7f5b93a7d2a0) 0
+ vptr=((& QMessageBox::_ZTV11QMessageBox) + 16u)
+ QDialog (0x7f5b93a7d310) 0
+ primary-for QMessageBox (0x7f5b93a7d2a0)
+ QWidget (0x7f5b93a3eb00) 0
+ primary-for QDialog (0x7f5b93a7d310)
+ QObject (0x7f5b93a7d380) 0
+ primary-for QWidget (0x7f5b93a3eb00)
+ QPaintDevice (0x7f5b93a7d3f0) 16
+ vptr=((& QMessageBox::_ZTV11QMessageBox) + 488u)
+
+Vtable for QProgressDialog
+QProgressDialog::_ZTV15QProgressDialog: 66u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QProgressDialog)
+16 QProgressDialog::metaObject
+24 QProgressDialog::qt_metacast
+32 QProgressDialog::qt_metacall
+40 QProgressDialog::~QProgressDialog
+48 QProgressDialog::~QProgressDialog
+56 QWidget::event
+64 QDialog::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QDialog::setVisible
+128 QProgressDialog::sizeHint
+136 QDialog::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QDialog::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QWidget::paintEvent
+256 QWidget::moveEvent
+264 QProgressDialog::resizeEvent
+272 QProgressDialog::closeEvent
+280 QDialog::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QProgressDialog::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QProgressDialog::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QDialog::done
+456 QDialog::accept
+464 QDialog::reject
+472 (int (*)(...))-0x00000000000000010
+480 (int (*)(...))(& _ZTI15QProgressDialog)
+488 QProgressDialog::_ZThn16_N15QProgressDialogD1Ev
+496 QProgressDialog::_ZThn16_N15QProgressDialogD0Ev
+504 QWidget::_ZThn16_NK7QWidget7devTypeEv
+512 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+520 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QProgressDialog
+ size=40 align=8
+ base size=40 base align=8
+QProgressDialog (0x7f5b938f7bd0) 0
+ vptr=((& QProgressDialog::_ZTV15QProgressDialog) + 16u)
+ QDialog (0x7f5b938f7c40) 0
+ primary-for QProgressDialog (0x7f5b938f7bd0)
+ QWidget (0x7f5b9390d100) 0
+ primary-for QDialog (0x7f5b938f7c40)
+ QObject (0x7f5b938f7cb0) 0
+ primary-for QWidget (0x7f5b9390d100)
+ QPaintDevice (0x7f5b938f7d20) 16
+ vptr=((& QProgressDialog::_ZTV15QProgressDialog) + 488u)
+
+Vtable for QErrorMessage
+QErrorMessage::_ZTV13QErrorMessage: 66u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QErrorMessage)
+16 QErrorMessage::metaObject
+24 QErrorMessage::qt_metacast
+32 QErrorMessage::qt_metacall
+40 QErrorMessage::~QErrorMessage
+48 QErrorMessage::~QErrorMessage
+56 QWidget::event
+64 QDialog::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QDialog::setVisible
+128 QDialog::sizeHint
+136 QDialog::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QDialog::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QWidget::paintEvent
+256 QWidget::moveEvent
+264 QDialog::resizeEvent
+272 QDialog::closeEvent
+280 QDialog::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QDialog::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QErrorMessage::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QErrorMessage::done
+456 QDialog::accept
+464 QDialog::reject
+472 (int (*)(...))-0x00000000000000010
+480 (int (*)(...))(& _ZTI13QErrorMessage)
+488 QErrorMessage::_ZThn16_N13QErrorMessageD1Ev
+496 QErrorMessage::_ZThn16_N13QErrorMessageD0Ev
+504 QWidget::_ZThn16_NK7QWidget7devTypeEv
+512 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+520 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QErrorMessage
+ size=40 align=8
+ base size=40 base align=8
+QErrorMessage (0x7f5b9392f7e0) 0
+ vptr=((& QErrorMessage::_ZTV13QErrorMessage) + 16u)
+ QDialog (0x7f5b9392f850) 0
+ primary-for QErrorMessage (0x7f5b9392f7e0)
+ QWidget (0x7f5b9390da00) 0
+ primary-for QDialog (0x7f5b9392f850)
+ QObject (0x7f5b9392f8c0) 0
+ primary-for QWidget (0x7f5b9390da00)
+ QPaintDevice (0x7f5b9392f930) 16
+ vptr=((& QErrorMessage::_ZTV13QErrorMessage) + 488u)
+
+Vtable for QPrintPreviewDialog
+QPrintPreviewDialog::_ZTV19QPrintPreviewDialog: 66u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QPrintPreviewDialog)
+16 QPrintPreviewDialog::metaObject
+24 QPrintPreviewDialog::qt_metacast
+32 QPrintPreviewDialog::qt_metacall
+40 QPrintPreviewDialog::~QPrintPreviewDialog
+48 QPrintPreviewDialog::~QPrintPreviewDialog
+56 QWidget::event
+64 QDialog::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QPrintPreviewDialog::setVisible
+128 QDialog::sizeHint
+136 QDialog::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QDialog::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QWidget::paintEvent
+256 QWidget::moveEvent
+264 QDialog::resizeEvent
+272 QDialog::closeEvent
+280 QDialog::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QDialog::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QWidget::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QPrintPreviewDialog::done
+456 QDialog::accept
+464 QDialog::reject
+472 (int (*)(...))-0x00000000000000010
+480 (int (*)(...))(& _ZTI19QPrintPreviewDialog)
+488 QPrintPreviewDialog::_ZThn16_N19QPrintPreviewDialogD1Ev
+496 QPrintPreviewDialog::_ZThn16_N19QPrintPreviewDialogD0Ev
+504 QWidget::_ZThn16_NK7QWidget7devTypeEv
+512 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+520 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QPrintPreviewDialog
+ size=48 align=8
+ base size=48 base align=8
+QPrintPreviewDialog (0x7f5b9394d3f0) 0
+ vptr=((& QPrintPreviewDialog::_ZTV19QPrintPreviewDialog) + 16u)
+ QDialog (0x7f5b9394d460) 0
+ primary-for QPrintPreviewDialog (0x7f5b9394d3f0)
+ QWidget (0x7f5b93948480) 0
+ primary-for QDialog (0x7f5b9394d460)
+ QObject (0x7f5b9394d4d0) 0
+ primary-for QWidget (0x7f5b93948480)
+ QPaintDevice (0x7f5b9394d540) 16
+ vptr=((& QPrintPreviewDialog::_ZTV19QPrintPreviewDialog) + 488u)
+
+Vtable for QFileDialog
+QFileDialog::_ZTV11QFileDialog: 66u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QFileDialog)
+16 QFileDialog::metaObject
+24 QFileDialog::qt_metacast
+32 QFileDialog::qt_metacall
+40 QFileDialog::~QFileDialog
+48 QFileDialog::~QFileDialog
+56 QWidget::event
+64 QDialog::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QFileDialog::setVisible
+128 QDialog::sizeHint
+136 QDialog::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QDialog::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QWidget::paintEvent
+256 QWidget::moveEvent
+264 QDialog::resizeEvent
+272 QDialog::closeEvent
+280 QDialog::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QDialog::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QFileDialog::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QFileDialog::done
+456 QFileDialog::accept
+464 QDialog::reject
+472 (int (*)(...))-0x00000000000000010
+480 (int (*)(...))(& _ZTI11QFileDialog)
+488 QFileDialog::_ZThn16_N11QFileDialogD1Ev
+496 QFileDialog::_ZThn16_N11QFileDialogD0Ev
+504 QWidget::_ZThn16_NK7QWidget7devTypeEv
+512 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+520 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QFileDialog
+ size=40 align=8
+ base size=40 base align=8
+QFileDialog (0x7f5b93963a80) 0
+ vptr=((& QFileDialog::_ZTV11QFileDialog) + 16u)
+ QDialog (0x7f5b93963af0) 0
+ primary-for QFileDialog (0x7f5b93963a80)
+ QWidget (0x7f5b93948d80) 0
+ primary-for QDialog (0x7f5b93963af0)
+ QObject (0x7f5b93963b60) 0
+ primary-for QWidget (0x7f5b93948d80)
+ QPaintDevice (0x7f5b93963bd0) 16
+ vptr=((& QFileDialog::_ZTV11QFileDialog) + 488u)
+
+Vtable for QAbstractPrintDialog
+QAbstractPrintDialog::_ZTV20QAbstractPrintDialog: 67u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI20QAbstractPrintDialog)
+16 QAbstractPrintDialog::metaObject
+24 QAbstractPrintDialog::qt_metacast
+32 QAbstractPrintDialog::qt_metacall
+40 QAbstractPrintDialog::~QAbstractPrintDialog
+48 QAbstractPrintDialog::~QAbstractPrintDialog
+56 QWidget::event
+64 QDialog::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QDialog::setVisible
+128 QDialog::sizeHint
+136 QDialog::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QDialog::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QWidget::paintEvent
+256 QWidget::moveEvent
+264 QDialog::resizeEvent
+272 QDialog::closeEvent
+280 QDialog::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QDialog::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QWidget::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QDialog::done
+456 QDialog::accept
+464 QDialog::reject
+472 __cxa_pure_virtual
+480 (int (*)(...))-0x00000000000000010
+488 (int (*)(...))(& _ZTI20QAbstractPrintDialog)
+496 QAbstractPrintDialog::_ZThn16_N20QAbstractPrintDialogD1Ev
+504 QAbstractPrintDialog::_ZThn16_N20QAbstractPrintDialogD0Ev
+512 QWidget::_ZThn16_NK7QWidget7devTypeEv
+520 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+528 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QAbstractPrintDialog
+ size=40 align=8
+ base size=40 base align=8
+QAbstractPrintDialog (0x7f5b937f8070) 0
+ vptr=((& QAbstractPrintDialog::_ZTV20QAbstractPrintDialog) + 16u)
+ QDialog (0x7f5b937f80e0) 0
+ primary-for QAbstractPrintDialog (0x7f5b937f8070)
+ QWidget (0x7f5b937f7200) 0
+ primary-for QDialog (0x7f5b937f80e0)
+ QObject (0x7f5b937f8150) 0
+ primary-for QWidget (0x7f5b937f7200)
+ QPaintDevice (0x7f5b937f81c0) 16
+ vptr=((& QAbstractPrintDialog::_ZTV20QAbstractPrintDialog) + 496u)
+
+Vtable for QUnixPrintWidget
+QUnixPrintWidget::_ZTV16QUnixPrintWidget: 63u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QUnixPrintWidget)
+16 QUnixPrintWidget::metaObject
+24 QUnixPrintWidget::qt_metacast
+32 QUnixPrintWidget::qt_metacall
+40 QUnixPrintWidget::~QUnixPrintWidget
+48 QUnixPrintWidget::~QUnixPrintWidget
+56 QWidget::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QWidget::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QWidget::paintEvent
+256 QWidget::moveEvent
+264 QWidget::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QWidget::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 (int (*)(...))-0x00000000000000010
+456 (int (*)(...))(& _ZTI16QUnixPrintWidget)
+464 QUnixPrintWidget::_ZThn16_N16QUnixPrintWidgetD1Ev
+472 QUnixPrintWidget::_ZThn16_N16QUnixPrintWidgetD0Ev
+480 QWidget::_ZThn16_NK7QWidget7devTypeEv
+488 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+496 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QUnixPrintWidget
+ size=48 align=8
+ base size=48 base align=8
+QUnixPrintWidget (0x7f5b93854150) 0
+ vptr=((& QUnixPrintWidget::_ZTV16QUnixPrintWidget) + 16u)
+ QWidget (0x7f5b93825580) 0
+ primary-for QUnixPrintWidget (0x7f5b93854150)
+ QObject (0x7f5b938541c0) 0
+ primary-for QWidget (0x7f5b93825580)
+ QPaintDevice (0x7f5b93854230) 16
+ vptr=((& QUnixPrintWidget::_ZTV16QUnixPrintWidget) + 464u)
+
+Vtable for QPrintDialog
+QPrintDialog::_ZTV12QPrintDialog: 67u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QPrintDialog)
+16 QPrintDialog::metaObject
+24 QPrintDialog::qt_metacast
+32 QPrintDialog::qt_metacall
+40 QPrintDialog::~QPrintDialog
+48 QPrintDialog::~QPrintDialog
+56 QWidget::event
+64 QDialog::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QPrintDialog::setVisible
+128 QDialog::sizeHint
+136 QDialog::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QDialog::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QWidget::paintEvent
+256 QWidget::moveEvent
+264 QDialog::resizeEvent
+272 QDialog::closeEvent
+280 QDialog::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QDialog::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QWidget::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QPrintDialog::done
+456 QPrintDialog::accept
+464 QDialog::reject
+472 QPrintDialog::exec
+480 (int (*)(...))-0x00000000000000010
+488 (int (*)(...))(& _ZTI12QPrintDialog)
+496 QPrintDialog::_ZThn16_N12QPrintDialogD1Ev
+504 QPrintDialog::_ZThn16_N12QPrintDialogD0Ev
+512 QWidget::_ZThn16_NK7QWidget7devTypeEv
+520 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+528 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QPrintDialog
+ size=40 align=8
+ base size=40 base align=8
+QPrintDialog (0x7f5b93869070) 0
+ vptr=((& QPrintDialog::_ZTV12QPrintDialog) + 16u)
+ QAbstractPrintDialog (0x7f5b938690e0) 0
+ primary-for QPrintDialog (0x7f5b93869070)
+ QDialog (0x7f5b93869150) 0
+ primary-for QAbstractPrintDialog (0x7f5b938690e0)
+ QWidget (0x7f5b93825c80) 0
+ primary-for QDialog (0x7f5b93869150)
+ QObject (0x7f5b938691c0) 0
+ primary-for QWidget (0x7f5b93825c80)
+ QPaintDevice (0x7f5b93869230) 16
+ vptr=((& QPrintDialog::_ZTV12QPrintDialog) + 496u)
+
+Vtable for QWizard
+QWizard::_ZTV7QWizard: 70u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QWizard)
+16 QWizard::metaObject
+24 QWizard::qt_metacast
+32 QWizard::qt_metacall
+40 QWizard::~QWizard
+48 QWizard::~QWizard
+56 QWizard::event
+64 QDialog::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWizard::setVisible
+128 QWizard::sizeHint
+136 QDialog::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QDialog::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QWizard::paintEvent
+256 QWidget::moveEvent
+264 QWizard::resizeEvent
+272 QDialog::closeEvent
+280 QDialog::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QDialog::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QWidget::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QWizard::done
+456 QDialog::accept
+464 QDialog::reject
+472 QWizard::validateCurrentPage
+480 QWizard::nextId
+488 QWizard::initializePage
+496 QWizard::cleanupPage
+504 (int (*)(...))-0x00000000000000010
+512 (int (*)(...))(& _ZTI7QWizard)
+520 QWizard::_ZThn16_N7QWizardD1Ev
+528 QWizard::_ZThn16_N7QWizardD0Ev
+536 QWidget::_ZThn16_NK7QWidget7devTypeEv
+544 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+552 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QWizard
+ size=40 align=8
+ base size=40 base align=8
+QWizard (0x7f5b93881bd0) 0
+ vptr=((& QWizard::_ZTV7QWizard) + 16u)
+ QDialog (0x7f5b93881c40) 0
+ primary-for QWizard (0x7f5b93881bd0)
+ QWidget (0x7f5b9387d580) 0
+ primary-for QDialog (0x7f5b93881c40)
+ QObject (0x7f5b93881cb0) 0
+ primary-for QWidget (0x7f5b9387d580)
+ QPaintDevice (0x7f5b93881d20) 16
+ vptr=((& QWizard::_ZTV7QWizard) + 520u)
+
+Vtable for QWizardPage
+QWizardPage::_ZTV11QWizardPage: 68u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QWizardPage)
+16 QWizardPage::metaObject
+24 QWizardPage::qt_metacast
+32 QWizardPage::qt_metacall
+40 QWizardPage::~QWizardPage
+48 QWizardPage::~QWizardPage
+56 QWidget::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QWidget::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QWidget::paintEvent
+256 QWidget::moveEvent
+264 QWidget::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QWidget::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QWizardPage::initializePage
+456 QWizardPage::cleanupPage
+464 QWizardPage::validatePage
+472 QWizardPage::isComplete
+480 QWizardPage::nextId
+488 (int (*)(...))-0x00000000000000010
+496 (int (*)(...))(& _ZTI11QWizardPage)
+504 QWizardPage::_ZThn16_N11QWizardPageD1Ev
+512 QWizardPage::_ZThn16_N11QWizardPageD0Ev
+520 QWidget::_ZThn16_NK7QWidget7devTypeEv
+528 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+536 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QWizardPage
+ size=40 align=8
+ base size=40 base align=8
+QWizardPage (0x7f5b936d7f50) 0
+ vptr=((& QWizardPage::_ZTV11QWizardPage) + 16u)
+ QWidget (0x7f5b938b4780) 0
+ primary-for QWizardPage (0x7f5b936d7f50)
+ QObject (0x7f5b936f1000) 0
+ primary-for QWidget (0x7f5b938b4780)
+ QPaintDevice (0x7f5b936f1070) 16
+ vptr=((& QWizardPage::_ZTV11QWizardPage) + 504u)
+
+Vtable for QPageSetupDialog
+QPageSetupDialog::_ZTV16QPageSetupDialog: 67u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QPageSetupDialog)
+16 QPageSetupDialog::metaObject
+24 QPageSetupDialog::qt_metacast
+32 QPageSetupDialog::qt_metacall
+40 QPageSetupDialog::~QPageSetupDialog
+48 QPageSetupDialog::~QPageSetupDialog
+56 QWidget::event
+64 QDialog::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QDialog::setVisible
+128 QDialog::sizeHint
+136 QDialog::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QDialog::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QWidget::paintEvent
+256 QWidget::moveEvent
+264 QDialog::resizeEvent
+272 QDialog::closeEvent
+280 QDialog::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QDialog::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QWidget::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QAbstractPageSetupDialog::done
+456 QDialog::accept
+464 QDialog::reject
+472 QPageSetupDialog::exec
+480 (int (*)(...))-0x00000000000000010
+488 (int (*)(...))(& _ZTI16QPageSetupDialog)
+496 QPageSetupDialog::_ZThn16_N16QPageSetupDialogD1Ev
+504 QPageSetupDialog::_ZThn16_N16QPageSetupDialogD0Ev
+512 QWidget::_ZThn16_NK7QWidget7devTypeEv
+520 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+528 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QPageSetupDialog
+ size=40 align=8
+ base size=40 base align=8
+QPageSetupDialog (0x7f5b9370aa80) 0
+ vptr=((& QPageSetupDialog::_ZTV16QPageSetupDialog) + 16u)
+ QAbstractPageSetupDialog (0x7f5b9370aaf0) 0
+ primary-for QPageSetupDialog (0x7f5b9370aa80)
+ QDialog (0x7f5b9370ab60) 0
+ primary-for QAbstractPageSetupDialog (0x7f5b9370aaf0)
+ QWidget (0x7f5b93710080) 0
+ primary-for QDialog (0x7f5b9370ab60)
+ QObject (0x7f5b9370abd0) 0
+ primary-for QWidget (0x7f5b93710080)
+ QPaintDevice (0x7f5b9370ac40) 16
+ vptr=((& QPageSetupDialog::_ZTV16QPageSetupDialog) + 496u)
+
+Vtable for QLineEdit
+QLineEdit::_ZTV9QLineEdit: 63u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QLineEdit)
+16 QLineEdit::metaObject
+24 QLineEdit::qt_metacast
+32 QLineEdit::qt_metacall
+40 QLineEdit::~QLineEdit
+48 QLineEdit::~QLineEdit
+56 QLineEdit::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QLineEdit::sizeHint
+136 QLineEdit::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QLineEdit::mousePressEvent
+168 QLineEdit::mouseReleaseEvent
+176 QLineEdit::mouseDoubleClickEvent
+184 QLineEdit::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QLineEdit::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QLineEdit::focusInEvent
+224 QLineEdit::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QLineEdit::paintEvent
+256 QWidget::moveEvent
+264 QWidget::resizeEvent
+272 QWidget::closeEvent
+280 QLineEdit::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QLineEdit::dragEnterEvent
+312 QLineEdit::dragMoveEvent
+320 QLineEdit::dragLeaveEvent
+328 QLineEdit::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QLineEdit::changeEvent
+368 QWidget::metric
+376 QLineEdit::inputMethodEvent
+384 QLineEdit::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 (int (*)(...))-0x00000000000000010
+456 (int (*)(...))(& _ZTI9QLineEdit)
+464 QLineEdit::_ZThn16_N9QLineEditD1Ev
+472 QLineEdit::_ZThn16_N9QLineEditD0Ev
+480 QWidget::_ZThn16_NK7QWidget7devTypeEv
+488 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+496 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QLineEdit
+ size=40 align=8
+ base size=40 base align=8
+QLineEdit (0x7f5b93727a10) 0
+ vptr=((& QLineEdit::_ZTV9QLineEdit) + 16u)
+ QWidget (0x7f5b93710b00) 0
+ primary-for QLineEdit (0x7f5b93727a10)
+ QObject (0x7f5b93727a80) 0
+ primary-for QWidget (0x7f5b93710b00)
+ QPaintDevice (0x7f5b93727af0) 16
+ vptr=((& QLineEdit::_ZTV9QLineEdit) + 464u)
+
+Vtable for QInputDialog
+QInputDialog::_ZTV12QInputDialog: 66u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QInputDialog)
+16 QInputDialog::metaObject
+24 QInputDialog::qt_metacast
+32 QInputDialog::qt_metacall
+40 QInputDialog::~QInputDialog
+48 QInputDialog::~QInputDialog
+56 QWidget::event
+64 QDialog::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QInputDialog::setVisible
+128 QInputDialog::sizeHint
+136 QInputDialog::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QDialog::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QWidget::paintEvent
+256 QWidget::moveEvent
+264 QDialog::resizeEvent
+272 QDialog::closeEvent
+280 QDialog::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QDialog::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QWidget::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QInputDialog::done
+456 QDialog::accept
+464 QDialog::reject
+472 (int (*)(...))-0x00000000000000010
+480 (int (*)(...))(& _ZTI12QInputDialog)
+488 QInputDialog::_ZThn16_N12QInputDialogD1Ev
+496 QInputDialog::_ZThn16_N12QInputDialogD0Ev
+504 QWidget::_ZThn16_NK7QWidget7devTypeEv
+512 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+520 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QInputDialog
+ size=40 align=8
+ base size=40 base align=8
+QInputDialog (0x7f5b9377a930) 0
+ vptr=((& QInputDialog::_ZTV12QInputDialog) + 16u)
+ QDialog (0x7f5b9377a9a0) 0
+ primary-for QInputDialog (0x7f5b9377a930)
+ QWidget (0x7f5b93776980) 0
+ primary-for QDialog (0x7f5b9377a9a0)
+ QObject (0x7f5b9377aa10) 0
+ primary-for QWidget (0x7f5b93776980)
+ QPaintDevice (0x7f5b9377aa80) 16
+ vptr=((& QInputDialog::_ZTV12QInputDialog) + 488u)
+
+Vtable for QFileSystemModel
+QFileSystemModel::_ZTV16QFileSystemModel: 42u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QFileSystemModel)
+16 QFileSystemModel::metaObject
+24 QFileSystemModel::qt_metacast
+32 QFileSystemModel::qt_metacall
+40 QFileSystemModel::~QFileSystemModel
+48 QFileSystemModel::~QFileSystemModel
+56 QFileSystemModel::event
+64 QObject::eventFilter
+72 QFileSystemModel::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QFileSystemModel::index
+120 QFileSystemModel::parent
+128 QFileSystemModel::rowCount
+136 QFileSystemModel::columnCount
+144 QFileSystemModel::hasChildren
+152 QFileSystemModel::data
+160 QFileSystemModel::setData
+168 QFileSystemModel::headerData
+176 QAbstractItemModel::setHeaderData
+184 QAbstractItemModel::itemData
+192 QAbstractItemModel::setItemData
+200 QFileSystemModel::mimeTypes
+208 QFileSystemModel::mimeData
+216 QFileSystemModel::dropMimeData
+224 QFileSystemModel::supportedDropActions
+232 QAbstractItemModel::insertRows
+240 QAbstractItemModel::insertColumns
+248 QAbstractItemModel::removeRows
+256 QAbstractItemModel::removeColumns
+264 QFileSystemModel::fetchMore
+272 QFileSystemModel::canFetchMore
+280 QFileSystemModel::flags
+288 QFileSystemModel::sort
+296 QAbstractItemModel::buddy
+304 QAbstractItemModel::match
+312 QAbstractItemModel::span
+320 QAbstractItemModel::submit
+328 QAbstractItemModel::revert
+
+Class QFileSystemModel
+ size=16 align=8
+ base size=16 base align=8
+QFileSystemModel (0x7f5b935d87e0) 0
+ vptr=((& QFileSystemModel::_ZTV16QFileSystemModel) + 16u)
+ QAbstractItemModel (0x7f5b935d8850) 0
+ primary-for QFileSystemModel (0x7f5b935d87e0)
+ QObject (0x7f5b935d88c0) 0
+ primary-for QAbstractItemModel (0x7f5b935d8850)
+
+Class QPixmapCache
+ size=1 align=1
+ base size=0 base align=1
+QPixmapCache (0x7f5b9361fee0) 0 empty
+
+Vtable for QImageIOHandler
+QImageIOHandler::_ZTV15QImageIOHandler: 18u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QImageIOHandler)
+16 QImageIOHandler::~QImageIOHandler
+24 QImageIOHandler::~QImageIOHandler
+32 QImageIOHandler::name
+40 __cxa_pure_virtual
+48 __cxa_pure_virtual
+56 QImageIOHandler::write
+64 QImageIOHandler::option
+72 QImageIOHandler::setOption
+80 QImageIOHandler::supportsOption
+88 QImageIOHandler::jumpToNextImage
+96 QImageIOHandler::jumpToImage
+104 QImageIOHandler::loopCount
+112 QImageIOHandler::imageCount
+120 QImageIOHandler::nextImageDelay
+128 QImageIOHandler::currentImageNumber
+136 QImageIOHandler::currentImageRect
+
+Class QImageIOHandler
+ size=16 align=8
+ base size=16 base align=8
+QImageIOHandler (0x7f5b9361ff50) 0
+ vptr=((& QImageIOHandler::_ZTV15QImageIOHandler) + 16u)
+
+Vtable for QImageIOHandlerFactoryInterface
+QImageIOHandlerFactoryInterface::_ZTV31QImageIOHandlerFactoryInterface: 6u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI31QImageIOHandlerFactoryInterface)
+16 QImageIOHandlerFactoryInterface::~QImageIOHandlerFactoryInterface
+24 QImageIOHandlerFactoryInterface::~QImageIOHandlerFactoryInterface
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+
+Class QImageIOHandlerFactoryInterface
+ size=8 align=8
+ base size=8 base align=8
+QImageIOHandlerFactoryInterface (0x7f5b93630b60) 0 nearly-empty
+ vptr=((& QImageIOHandlerFactoryInterface::_ZTV31QImageIOHandlerFactoryInterface) + 16u)
+ QFactoryInterface (0x7f5b93630bd0) 0 nearly-empty
+ primary-for QImageIOHandlerFactoryInterface (0x7f5b93630b60)
+
+Vtable for QImageIOPlugin
+QImageIOPlugin::_ZTV14QImageIOPlugin: 23u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QImageIOPlugin)
+16 QImageIOPlugin::metaObject
+24 QImageIOPlugin::qt_metacast
+32 QImageIOPlugin::qt_metacall
+40 QImageIOPlugin::~QImageIOPlugin
+48 QImageIOPlugin::~QImageIOPlugin
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 __cxa_pure_virtual
+136 (int (*)(...))-0x00000000000000010
+144 (int (*)(...))(& _ZTI14QImageIOPlugin)
+152 QImageIOPlugin::_ZThn16_N14QImageIOPluginD1Ev
+160 QImageIOPlugin::_ZThn16_N14QImageIOPluginD0Ev
+168 __cxa_pure_virtual
+176 __cxa_pure_virtual
+
+Class QImageIOPlugin
+ size=24 align=8
+ base size=24 base align=8
+QImageIOPlugin (0x7f5b93635b00) 0
+ vptr=((& QImageIOPlugin::_ZTV14QImageIOPlugin) + 16u)
+ QObject (0x7f5b936473f0) 0
+ primary-for QImageIOPlugin (0x7f5b93635b00)
+ QImageIOHandlerFactoryInterface (0x7f5b93647460) 16 nearly-empty
+ vptr=((& QImageIOPlugin::_ZTV14QImageIOPlugin) + 152u)
+ QFactoryInterface (0x7f5b936474d0) 16 nearly-empty
+ primary-for QImageIOHandlerFactoryInterface (0x7f5b93647460)
+
+Vtable for QPicture
+QPicture::_ZTV8QPicture: 8u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI8QPicture)
+16 QPicture::~QPicture
+24 QPicture::~QPicture
+32 QPicture::devType
+40 QPicture::paintEngine
+48 QPicture::metric
+56 QPicture::setData
+
+Class QPicture
+ size=24 align=8
+ base size=24 base align=8
+QPicture (0x7f5b936984d0) 0
+ vptr=((& QPicture::_ZTV8QPicture) + 16u)
+ QPaintDevice (0x7f5b93698540) 0
+ primary-for QPicture (0x7f5b936984d0)
+
+Class QPictureIO
+ size=8 align=8
+ base size=8 base align=8
+QPictureIO (0x7f5b936b0070) 0
+
+Class QImageReader
+ size=8 align=8
+ base size=8 base align=8
+QImageReader (0x7f5b936b0690) 0
+
+Class QImageWriter
+ size=8 align=8
+ base size=8 base align=8
+QImageWriter (0x7f5b934cf0e0) 0
+
+Vtable for QMovie
+QMovie::_ZTV6QMovie: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI6QMovie)
+16 QMovie::metaObject
+24 QMovie::qt_metacast
+32 QMovie::qt_metacall
+40 QMovie::~QMovie
+48 QMovie::~QMovie
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QMovie
+ size=16 align=8
+ base size=16 base align=8
+QMovie (0x7f5b934cf930) 0
+ vptr=((& QMovie::_ZTV6QMovie) + 16u)
+ QObject (0x7f5b934cf9a0) 0
+ primary-for QMovie (0x7f5b934cf930)
+
+Vtable for QIconEngineFactoryInterface
+QIconEngineFactoryInterface::_ZTV27QIconEngineFactoryInterface: 6u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI27QIconEngineFactoryInterface)
+16 QIconEngineFactoryInterface::~QIconEngineFactoryInterface
+24 QIconEngineFactoryInterface::~QIconEngineFactoryInterface
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+
+Class QIconEngineFactoryInterface
+ size=8 align=8
+ base size=8 base align=8
+QIconEngineFactoryInterface (0x7f5b935149a0) 0 nearly-empty
+ vptr=((& QIconEngineFactoryInterface::_ZTV27QIconEngineFactoryInterface) + 16u)
+ QFactoryInterface (0x7f5b93514a10) 0 nearly-empty
+ primary-for QIconEngineFactoryInterface (0x7f5b935149a0)
+
+Vtable for QIconEnginePlugin
+QIconEnginePlugin::_ZTV17QIconEnginePlugin: 22u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QIconEnginePlugin)
+16 QIconEnginePlugin::metaObject
+24 QIconEnginePlugin::qt_metacast
+32 QIconEnginePlugin::qt_metacall
+40 QIconEnginePlugin::~QIconEnginePlugin
+48 QIconEnginePlugin::~QIconEnginePlugin
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 (int (*)(...))-0x00000000000000010
+136 (int (*)(...))(& _ZTI17QIconEnginePlugin)
+144 QIconEnginePlugin::_ZThn16_N17QIconEnginePluginD1Ev
+152 QIconEnginePlugin::_ZThn16_N17QIconEnginePluginD0Ev
+160 __cxa_pure_virtual
+168 __cxa_pure_virtual
+
+Class QIconEnginePlugin
+ size=24 align=8
+ base size=24 base align=8
+QIconEnginePlugin (0x7f5b93511e80) 0
+ vptr=((& QIconEnginePlugin::_ZTV17QIconEnginePlugin) + 16u)
+ QObject (0x7f5b9351d230) 0
+ primary-for QIconEnginePlugin (0x7f5b93511e80)
+ QIconEngineFactoryInterface (0x7f5b9351d2a0) 16 nearly-empty
+ vptr=((& QIconEnginePlugin::_ZTV17QIconEnginePlugin) + 144u)
+ QFactoryInterface (0x7f5b9351d310) 16 nearly-empty
+ primary-for QIconEngineFactoryInterface (0x7f5b9351d2a0)
+
+Vtable for QIconEngineFactoryInterfaceV2
+QIconEngineFactoryInterfaceV2::_ZTV29QIconEngineFactoryInterfaceV2: 6u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI29QIconEngineFactoryInterfaceV2)
+16 QIconEngineFactoryInterfaceV2::~QIconEngineFactoryInterfaceV2
+24 QIconEngineFactoryInterfaceV2::~QIconEngineFactoryInterfaceV2
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+
+Class QIconEngineFactoryInterfaceV2
+ size=8 align=8
+ base size=8 base align=8
+QIconEngineFactoryInterfaceV2 (0x7f5b9352e1c0) 0 nearly-empty
+ vptr=((& QIconEngineFactoryInterfaceV2::_ZTV29QIconEngineFactoryInterfaceV2) + 16u)
+ QFactoryInterface (0x7f5b9352e230) 0 nearly-empty
+ primary-for QIconEngineFactoryInterfaceV2 (0x7f5b9352e1c0)
+
+Vtable for QIconEnginePluginV2
+QIconEnginePluginV2::_ZTV19QIconEnginePluginV2: 22u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QIconEnginePluginV2)
+16 QIconEnginePluginV2::metaObject
+24 QIconEnginePluginV2::qt_metacast
+32 QIconEnginePluginV2::qt_metacall
+40 QIconEnginePluginV2::~QIconEnginePluginV2
+48 QIconEnginePluginV2::~QIconEnginePluginV2
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 (int (*)(...))-0x00000000000000010
+136 (int (*)(...))(& _ZTI19QIconEnginePluginV2)
+144 QIconEnginePluginV2::_ZThn16_N19QIconEnginePluginV2D1Ev
+152 QIconEnginePluginV2::_ZThn16_N19QIconEnginePluginV2D0Ev
+160 __cxa_pure_virtual
+168 __cxa_pure_virtual
+
+Class QIconEnginePluginV2
+ size=24 align=8
+ base size=24 base align=8
+QIconEnginePluginV2 (0x7f5b93527d00) 0
+ vptr=((& QIconEnginePluginV2::_ZTV19QIconEnginePluginV2) + 16u)
+ QObject (0x7f5b9352eaf0) 0
+ primary-for QIconEnginePluginV2 (0x7f5b93527d00)
+ QIconEngineFactoryInterfaceV2 (0x7f5b9352eb60) 16 nearly-empty
+ vptr=((& QIconEnginePluginV2::_ZTV19QIconEnginePluginV2) + 144u)
+ QFactoryInterface (0x7f5b9352ebd0) 16 nearly-empty
+ primary-for QIconEngineFactoryInterfaceV2 (0x7f5b9352eb60)
+
+Vtable for QIconEngine
+QIconEngine::_ZTV11QIconEngine: 9u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QIconEngine)
+16 QIconEngine::~QIconEngine
+24 QIconEngine::~QIconEngine
+32 __cxa_pure_virtual
+40 QIconEngine::actualSize
+48 QIconEngine::pixmap
+56 QIconEngine::addPixmap
+64 QIconEngine::addFile
+
+Class QIconEngine
+ size=8 align=8
+ base size=8 base align=8
+QIconEngine (0x7f5b93543a80) 0 nearly-empty
+ vptr=((& QIconEngine::_ZTV11QIconEngine) + 16u)
+
+Class QIconEngineV2::AvailableSizesArgument
+ size=16 align=8
+ base size=16 base align=8
+QIconEngineV2::AvailableSizesArgument (0x7f5b9354f2a0) 0
+
+Vtable for QIconEngineV2
+QIconEngineV2::_ZTV13QIconEngineV2: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QIconEngineV2)
+16 QIconEngineV2::~QIconEngineV2
+24 QIconEngineV2::~QIconEngineV2
+32 __cxa_pure_virtual
+40 QIconEngine::actualSize
+48 QIconEngine::pixmap
+56 QIconEngine::addPixmap
+64 QIconEngine::addFile
+72 QIconEngineV2::key
+80 QIconEngineV2::clone
+88 QIconEngineV2::read
+96 QIconEngineV2::write
+104 QIconEngineV2::virtual_hook
+
+Class QIconEngineV2
+ size=8 align=8
+ base size=8 base align=8
+QIconEngineV2 (0x7f5b9354f070) 0 nearly-empty
+ vptr=((& QIconEngineV2::_ZTV13QIconEngineV2) + 16u)
+ QIconEngine (0x7f5b9354f0e0) 0 nearly-empty
+ primary-for QIconEngineV2 (0x7f5b9354f070)
+
+Vtable for QBitmap
+QBitmap::_ZTV7QBitmap: 7u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QBitmap)
+16 QBitmap::~QBitmap
+24 QBitmap::~QBitmap
+32 QPixmap::devType
+40 QPixmap::paintEngine
+48 QPixmap::metric
+
+Class QBitmap
+ size=24 align=8
+ base size=24 base align=8
+QBitmap (0x7f5b9354fa80) 0
+ vptr=((& QBitmap::_ZTV7QBitmap) + 16u)
+ QPixmap (0x7f5b9354faf0) 0
+ primary-for QBitmap (0x7f5b9354fa80)
+ QPaintDevice (0x7f5b9354fb60) 0
+ primary-for QPixmap (0x7f5b9354faf0)
+
+Vtable for QPictureFormatInterface
+QPictureFormatInterface::_ZTV23QPictureFormatInterface: 8u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI23QPictureFormatInterface)
+16 QPictureFormatInterface::~QPictureFormatInterface
+24 QPictureFormatInterface::~QPictureFormatInterface
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+48 __cxa_pure_virtual
+56 __cxa_pure_virtual
+
+Class QPictureFormatInterface
+ size=8 align=8
+ base size=8 base align=8
+QPictureFormatInterface (0x7f5b935a7bd0) 0 nearly-empty
+ vptr=((& QPictureFormatInterface::_ZTV23QPictureFormatInterface) + 16u)
+ QFactoryInterface (0x7f5b935a7c40) 0 nearly-empty
+ primary-for QPictureFormatInterface (0x7f5b935a7bd0)
+
+Vtable for QPictureFormatPlugin
+QPictureFormatPlugin::_ZTV20QPictureFormatPlugin: 26u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI20QPictureFormatPlugin)
+16 QPictureFormatPlugin::metaObject
+24 QPictureFormatPlugin::qt_metacast
+32 QPictureFormatPlugin::qt_metacall
+40 QPictureFormatPlugin::~QPictureFormatPlugin
+48 QPictureFormatPlugin::~QPictureFormatPlugin
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+120 QPictureFormatPlugin::loadPicture
+128 QPictureFormatPlugin::savePicture
+136 __cxa_pure_virtual
+144 (int (*)(...))-0x00000000000000010
+152 (int (*)(...))(& _ZTI20QPictureFormatPlugin)
+160 QPictureFormatPlugin::_ZThn16_N20QPictureFormatPluginD1Ev
+168 QPictureFormatPlugin::_ZThn16_N20QPictureFormatPluginD0Ev
+176 __cxa_pure_virtual
+184 QPictureFormatPlugin::_ZThn16_N20QPictureFormatPlugin11loadPictureERK7QStringS2_P8QPicture
+192 QPictureFormatPlugin::_ZThn16_N20QPictureFormatPlugin11savePictureERK7QStringS2_RK8QPicture
+200 __cxa_pure_virtual
+
+Class QPictureFormatPlugin
+ size=24 align=8
+ base size=24 base align=8
+QPictureFormatPlugin (0x7f5b935afa00) 0
+ vptr=((& QPictureFormatPlugin::_ZTV20QPictureFormatPlugin) + 16u)
+ QObject (0x7f5b933b63f0) 0
+ primary-for QPictureFormatPlugin (0x7f5b935afa00)
+ QPictureFormatInterface (0x7f5b933b6460) 16 nearly-empty
+ vptr=((& QPictureFormatPlugin::_ZTV20QPictureFormatPlugin) + 160u)
+ QFactoryInterface (0x7f5b933b64d0) 16 nearly-empty
+ primary-for QPictureFormatInterface (0x7f5b933b6460)
+
+Class QVFbHeader
+ size=1088 align=8
+ base size=1088 base align=8
+QVFbHeader (0x7f5b933c9380) 0
+
+Class QVFbKeyData
+ size=12 align=4
+ base size=12 base align=4
+QVFbKeyData (0x7f5b933c93f0) 0
+
+Vtable for QWSEmbedWidget
+QWSEmbedWidget::_ZTV14QWSEmbedWidget: 63u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QWSEmbedWidget)
+16 QWSEmbedWidget::metaObject
+24 QWSEmbedWidget::qt_metacast
+32 QWSEmbedWidget::qt_metacall
+40 QWSEmbedWidget::~QWSEmbedWidget
+48 QWSEmbedWidget::~QWSEmbedWidget
+56 QWidget::event
+64 QWSEmbedWidget::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QWidget::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QWidget::paintEvent
+256 QWSEmbedWidget::moveEvent
+264 QWSEmbedWidget::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWSEmbedWidget::showEvent
+344 QWSEmbedWidget::hideEvent
+352 QWidget::x11Event
+360 QWSEmbedWidget::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 (int (*)(...))-0x00000000000000010
+456 (int (*)(...))(& _ZTI14QWSEmbedWidget)
+464 QWSEmbedWidget::_ZThn16_N14QWSEmbedWidgetD1Ev
+472 QWSEmbedWidget::_ZThn16_N14QWSEmbedWidgetD0Ev
+480 QWidget::_ZThn16_NK7QWidget7devTypeEv
+488 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+496 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QWSEmbedWidget
+ size=40 align=8
+ base size=40 base align=8
+QWSEmbedWidget (0x7f5b933c9460) 0
+ vptr=((& QWSEmbedWidget::_ZTV14QWSEmbedWidget) + 16u)
+ QWidget (0x7f5b933c8200) 0
+ primary-for QWSEmbedWidget (0x7f5b933c9460)
+ QObject (0x7f5b933c94d0) 0
+ primary-for QWidget (0x7f5b933c8200)
+ QPaintDevice (0x7f5b933c9540) 16
+ vptr=((& QWSEmbedWidget::_ZTV14QWSEmbedWidget) + 464u)
+
+Class QColormap
+ size=8 align=8
+ base size=8 base align=8
+QColormap (0x7f5b933e2930) 0
+
+Vtable for QPrinter
+QPrinter::_ZTV8QPrinter: 7u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI8QPrinter)
+16 QPrinter::~QPrinter
+24 QPrinter::~QPrinter
+32 QPrinter::devType
+40 QPrinter::paintEngine
+48 QPrinter::metric
+
+Class QPrinter
+ size=24 align=8
+ base size=24 base align=8
+QPrinter (0x7f5b933e9150) 0
+ vptr=((& QPrinter::_ZTV8QPrinter) + 16u)
+ QPaintDevice (0x7f5b933e91c0) 0
+ primary-for QPrinter (0x7f5b933e9150)
+
+Vtable for QPrintEngine
+QPrintEngine::_ZTV12QPrintEngine: 10u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QPrintEngine)
+16 QPrintEngine::~QPrintEngine
+24 QPrintEngine::~QPrintEngine
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+48 __cxa_pure_virtual
+56 __cxa_pure_virtual
+64 __cxa_pure_virtual
+72 __cxa_pure_virtual
+
+Class QPrintEngine
+ size=8 align=8
+ base size=8 base align=8
+QPrintEngine (0x7f5b9342c620) 0 nearly-empty
+ vptr=((& QPrintEngine::_ZTV12QPrintEngine) + 16u)
+
+Class QPainter
+ size=8 align=8
+ base size=8 base align=8
+QPainter (0x7f5b9343c380) 0
+
+Class QStylePainter
+ size=24 align=8
+ base size=24 base align=8
+QStylePainter (0x7f5b9323fc40) 0
+ QPainter (0x7f5b9323fcb0) 0
+
+Class QPrinterInfo
+ size=8 align=8
+ base size=8 base align=8
+QPrinterInfo (0x7f5b93271230) 0
+
+Class QTextItem
+ size=1 align=1
+ base size=0 base align=1
+QTextItem (0x7f5b93274700) 0 empty
+
+Vtable for QPaintEngine
+QPaintEngine::_ZTV12QPaintEngine: 24u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QPaintEngine)
+16 QPaintEngine::~QPaintEngine
+24 QPaintEngine::~QPaintEngine
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+48 __cxa_pure_virtual
+56 QPaintEngine::drawRects
+64 QPaintEngine::drawRects
+72 QPaintEngine::drawLines
+80 QPaintEngine::drawLines
+88 QPaintEngine::drawEllipse
+96 QPaintEngine::drawEllipse
+104 QPaintEngine::drawPath
+112 QPaintEngine::drawPoints
+120 QPaintEngine::drawPoints
+128 QPaintEngine::drawPolygon
+136 QPaintEngine::drawPolygon
+144 __cxa_pure_virtual
+152 QPaintEngine::drawTextItem
+160 QPaintEngine::drawTiledPixmap
+168 QPaintEngine::drawImage
+176 QPaintEngine::coordinateOffset
+184 __cxa_pure_virtual
+
+Class QPaintEngine
+ size=32 align=8
+ base size=32 base align=8
+QPaintEngine (0x7f5b93274d20) 0
+ vptr=((& QPaintEngine::_ZTV12QPaintEngine) + 16u)
+
+Class QPaintEngineState
+ size=4 align=4
+ base size=4 base align=4
+QPaintEngineState (0x7f5b930c07e0) 0
+
+Class QTreeWidgetItemIterator
+ size=24 align=8
+ base size=20 base align=8
+QTreeWidgetItemIterator (0x7f5b93178af0) 0
+
+Vtable for QDataWidgetMapper
+QDataWidgetMapper::_ZTV17QDataWidgetMapper: 15u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QDataWidgetMapper)
+16 QDataWidgetMapper::metaObject
+24 QDataWidgetMapper::qt_metacast
+32 QDataWidgetMapper::qt_metacall
+40 QDataWidgetMapper::~QDataWidgetMapper
+48 QDataWidgetMapper::~QDataWidgetMapper
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QDataWidgetMapper::setCurrentIndex
+
+Class QDataWidgetMapper
+ size=16 align=8
+ base size=16 base align=8
+QDataWidgetMapper (0x7f5b92fd5690) 0
+ vptr=((& QDataWidgetMapper::_ZTV17QDataWidgetMapper) + 16u)
+ QObject (0x7f5b92fd5700) 0
+ primary-for QDataWidgetMapper (0x7f5b92fd5690)
+
+Vtable for QFileIconProvider
+QFileIconProvider::_ZTV17QFileIconProvider: 7u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QFileIconProvider)
+16 QFileIconProvider::~QFileIconProvider
+24 QFileIconProvider::~QFileIconProvider
+32 QFileIconProvider::icon
+40 QFileIconProvider::icon
+48 QFileIconProvider::type
+
+Class QFileIconProvider
+ size=16 align=8
+ base size=16 base align=8
+QFileIconProvider (0x7f5b9300e150) 0
+ vptr=((& QFileIconProvider::_ZTV17QFileIconProvider) + 16u)
+
+Vtable for QStringListModel
+QStringListModel::_ZTV16QStringListModel: 42u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QStringListModel)
+16 QStringListModel::metaObject
+24 QStringListModel::qt_metacast
+32 QStringListModel::qt_metacall
+40 QStringListModel::~QStringListModel
+48 QStringListModel::~QStringListModel
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QAbstractListModel::index
+120 QAbstractListModel::parent
+128 QStringListModel::rowCount
+136 QAbstractListModel::columnCount
+144 QAbstractListModel::hasChildren
+152 QStringListModel::data
+160 QStringListModel::setData
+168 QAbstractItemModel::headerData
+176 QAbstractItemModel::setHeaderData
+184 QAbstractItemModel::itemData
+192 QAbstractItemModel::setItemData
+200 QAbstractItemModel::mimeTypes
+208 QAbstractItemModel::mimeData
+216 QAbstractListModel::dropMimeData
+224 QStringListModel::supportedDropActions
+232 QStringListModel::insertRows
+240 QAbstractItemModel::insertColumns
+248 QStringListModel::removeRows
+256 QAbstractItemModel::removeColumns
+264 QAbstractItemModel::fetchMore
+272 QAbstractItemModel::canFetchMore
+280 QStringListModel::flags
+288 QStringListModel::sort
+296 QAbstractItemModel::buddy
+304 QAbstractItemModel::match
+312 QAbstractItemModel::span
+320 QAbstractItemModel::submit
+328 QAbstractItemModel::revert
+
+Class QStringListModel
+ size=24 align=8
+ base size=24 base align=8
+QStringListModel (0x7f5b9300ec40) 0
+ vptr=((& QStringListModel::_ZTV16QStringListModel) + 16u)
+ QAbstractListModel (0x7f5b9300ecb0) 0
+ primary-for QStringListModel (0x7f5b9300ec40)
+ QAbstractItemModel (0x7f5b9300ed20) 0
+ primary-for QAbstractListModel (0x7f5b9300ecb0)
+ QObject (0x7f5b9300ed90) 0
+ primary-for QAbstractItemModel (0x7f5b9300ed20)
+
+Vtable for QListWidgetItem
+QListWidgetItem::_ZTV15QListWidgetItem: 11u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QListWidgetItem)
+16 QListWidgetItem::~QListWidgetItem
+24 QListWidgetItem::~QListWidgetItem
+32 QListWidgetItem::clone
+40 QListWidgetItem::setBackgroundColor
+48 QListWidgetItem::data
+56 QListWidgetItem::setData
+64 QListWidgetItem::operator<
+72 QListWidgetItem::read
+80 QListWidgetItem::write
+
+Class QListWidgetItem
+ size=48 align=8
+ base size=44 base align=8
+QListWidgetItem (0x7f5b9302f230) 0
+ vptr=((& QListWidgetItem::_ZTV15QListWidgetItem) + 16u)
+
+Vtable for QListWidget
+QListWidget::_ZTV11QListWidget: 107u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QListWidget)
+16 QListWidget::metaObject
+24 QListWidget::qt_metacast
+32 QListWidget::qt_metacall
+40 QListWidget::~QListWidget
+48 QListWidget::~QListWidget
+56 QListWidget::event
+64 QObject::eventFilter
+72 QListView::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QAbstractScrollArea::sizeHint
+136 QAbstractScrollArea::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QAbstractItemView::mousePressEvent
+168 QListView::mouseReleaseEvent
+176 QAbstractItemView::mouseDoubleClickEvent
+184 QListView::mouseMoveEvent
+192 QAbstractScrollArea::wheelEvent
+200 QAbstractItemView::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QAbstractItemView::focusInEvent
+224 QAbstractItemView::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QListView::paintEvent
+256 QWidget::moveEvent
+264 QListView::resizeEvent
+272 QWidget::closeEvent
+280 QAbstractScrollArea::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QAbstractItemView::dragEnterEvent
+312 QListView::dragMoveEvent
+320 QListView::dragLeaveEvent
+328 QListWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QFrame::changeEvent
+368 QWidget::metric
+376 QAbstractItemView::inputMethodEvent
+384 QAbstractItemView::inputMethodQuery
+392 QAbstractItemView::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QAbstractItemView::viewportEvent
+456 QListView::scrollContentsBy
+464 QListWidget::setModel
+472 QAbstractItemView::setSelectionModel
+480 QAbstractItemView::keyboardSearch
+488 QListView::visualRect
+496 QListView::scrollTo
+504 QListView::indexAt
+512 QAbstractItemView::sizeHintForRow
+520 QAbstractItemView::sizeHintForColumn
+528 QListView::reset
+536 QListView::setRootIndex
+544 QListView::doItemsLayout
+552 QAbstractItemView::selectAll
+560 QListView::dataChanged
+568 QListView::rowsInserted
+576 QListView::rowsAboutToBeRemoved
+584 QListView::selectionChanged
+592 QListView::currentChanged
+600 QAbstractItemView::updateEditorData
+608 QAbstractItemView::updateEditorGeometries
+616 QListView::updateGeometries
+624 QAbstractItemView::verticalScrollbarAction
+632 QAbstractItemView::horizontalScrollbarAction
+640 QAbstractItemView::verticalScrollbarValueChanged
+648 QAbstractItemView::horizontalScrollbarValueChanged
+656 QAbstractItemView::closeEditor
+664 QAbstractItemView::commitData
+672 QAbstractItemView::editorDestroyed
+680 QListView::moveCursor
+688 QListView::horizontalOffset
+696 QListView::verticalOffset
+704 QListView::isIndexHidden
+712 QListView::setSelection
+720 QListView::visualRegionForSelection
+728 QListView::selectedIndexes
+736 QAbstractItemView::edit
+744 QAbstractItemView::selectionCommand
+752 QListView::startDrag
+760 QListView::viewOptions
+768 QListWidget::mimeTypes
+776 QListWidget::mimeData
+784 QListWidget::dropMimeData
+792 QListWidget::supportedDropActions
+800 (int (*)(...))-0x00000000000000010
+808 (int (*)(...))(& _ZTI11QListWidget)
+816 QListWidget::_ZThn16_N11QListWidgetD1Ev
+824 QListWidget::_ZThn16_N11QListWidgetD0Ev
+832 QWidget::_ZThn16_NK7QWidget7devTypeEv
+840 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+848 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QListWidget
+ size=40 align=8
+ base size=40 base align=8
+QListWidget (0x7f5b930a49a0) 0
+ vptr=((& QListWidget::_ZTV11QListWidget) + 16u)
+ QListView (0x7f5b930a4a10) 0
+ primary-for QListWidget (0x7f5b930a49a0)
+ QAbstractItemView (0x7f5b930a4a80) 0
+ primary-for QListView (0x7f5b930a4a10)
+ QAbstractScrollArea (0x7f5b930a4af0) 0
+ primary-for QAbstractItemView (0x7f5b930a4a80)
+ QFrame (0x7f5b930a4b60) 0
+ primary-for QAbstractScrollArea (0x7f5b930a4af0)
+ QWidget (0x7f5b930a0580) 0
+ primary-for QFrame (0x7f5b930a4b60)
+ QObject (0x7f5b930a4bd0) 0
+ primary-for QWidget (0x7f5b930a0580)
+ QPaintDevice (0x7f5b930a4c40) 16
+ vptr=((& QListWidget::_ZTV11QListWidget) + 816u)
+
+Vtable for QDirModel
+QDirModel::_ZTV9QDirModel: 42u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QDirModel)
+16 QDirModel::metaObject
+24 QDirModel::qt_metacast
+32 QDirModel::qt_metacall
+40 QDirModel::~QDirModel
+48 QDirModel::~QDirModel
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QDirModel::index
+120 QDirModel::parent
+128 QDirModel::rowCount
+136 QDirModel::columnCount
+144 QDirModel::hasChildren
+152 QDirModel::data
+160 QDirModel::setData
+168 QDirModel::headerData
+176 QAbstractItemModel::setHeaderData
+184 QAbstractItemModel::itemData
+192 QAbstractItemModel::setItemData
+200 QDirModel::mimeTypes
+208 QDirModel::mimeData
+216 QDirModel::dropMimeData
+224 QDirModel::supportedDropActions
+232 QAbstractItemModel::insertRows
+240 QAbstractItemModel::insertColumns
+248 QAbstractItemModel::removeRows
+256 QAbstractItemModel::removeColumns
+264 QAbstractItemModel::fetchMore
+272 QAbstractItemModel::canFetchMore
+280 QDirModel::flags
+288 QDirModel::sort
+296 QAbstractItemModel::buddy
+304 QAbstractItemModel::match
+312 QAbstractItemModel::span
+320 QAbstractItemModel::submit
+328 QAbstractItemModel::revert
+
+Class QDirModel
+ size=16 align=8
+ base size=16 base align=8
+QDirModel (0x7f5b92edde00) 0
+ vptr=((& QDirModel::_ZTV9QDirModel) + 16u)
+ QAbstractItemModel (0x7f5b92edde70) 0
+ primary-for QDirModel (0x7f5b92edde00)
+ QObject (0x7f5b92eddee0) 0
+ primary-for QAbstractItemModel (0x7f5b92edde70)
+
+Vtable for QColumnView
+QColumnView::_ZTV11QColumnView: 104u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QColumnView)
+16 QColumnView::metaObject
+24 QColumnView::qt_metacast
+32 QColumnView::qt_metacall
+40 QColumnView::~QColumnView
+48 QColumnView::~QColumnView
+56 QAbstractItemView::event
+64 QObject::eventFilter
+72 QAbstractItemView::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QColumnView::sizeHint
+136 QAbstractScrollArea::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QAbstractItemView::mousePressEvent
+168 QAbstractItemView::mouseReleaseEvent
+176 QAbstractItemView::mouseDoubleClickEvent
+184 QAbstractItemView::mouseMoveEvent
+192 QAbstractScrollArea::wheelEvent
+200 QAbstractItemView::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QAbstractItemView::focusInEvent
+224 QAbstractItemView::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QAbstractScrollArea::paintEvent
+256 QWidget::moveEvent
+264 QColumnView::resizeEvent
+272 QWidget::closeEvent
+280 QAbstractScrollArea::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QAbstractItemView::dragEnterEvent
+312 QAbstractItemView::dragMoveEvent
+320 QAbstractItemView::dragLeaveEvent
+328 QAbstractItemView::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QFrame::changeEvent
+368 QWidget::metric
+376 QAbstractItemView::inputMethodEvent
+384 QAbstractItemView::inputMethodQuery
+392 QAbstractItemView::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QAbstractItemView::viewportEvent
+456 QColumnView::scrollContentsBy
+464 QColumnView::setModel
+472 QColumnView::setSelectionModel
+480 QAbstractItemView::keyboardSearch
+488 QColumnView::visualRect
+496 QColumnView::scrollTo
+504 QColumnView::indexAt
+512 QAbstractItemView::sizeHintForRow
+520 QAbstractItemView::sizeHintForColumn
+528 QAbstractItemView::reset
+536 QColumnView::setRootIndex
+544 QAbstractItemView::doItemsLayout
+552 QColumnView::selectAll
+560 QAbstractItemView::dataChanged
+568 QAbstractItemView::rowsInserted
+576 QAbstractItemView::rowsAboutToBeRemoved
+584 QAbstractItemView::selectionChanged
+592 QColumnView::currentChanged
+600 QAbstractItemView::updateEditorData
+608 QAbstractItemView::updateEditorGeometries
+616 QAbstractItemView::updateGeometries
+624 QAbstractItemView::verticalScrollbarAction
+632 QAbstractItemView::horizontalScrollbarAction
+640 QAbstractItemView::verticalScrollbarValueChanged
+648 QAbstractItemView::horizontalScrollbarValueChanged
+656 QAbstractItemView::closeEditor
+664 QAbstractItemView::commitData
+672 QAbstractItemView::editorDestroyed
+680 QColumnView::moveCursor
+688 QColumnView::horizontalOffset
+696 QColumnView::verticalOffset
+704 QColumnView::isIndexHidden
+712 QColumnView::setSelection
+720 QColumnView::visualRegionForSelection
+728 QAbstractItemView::selectedIndexes
+736 QAbstractItemView::edit
+744 QAbstractItemView::selectionCommand
+752 QAbstractItemView::startDrag
+760 QAbstractItemView::viewOptions
+768 QColumnView::createColumn
+776 (int (*)(...))-0x00000000000000010
+784 (int (*)(...))(& _ZTI11QColumnView)
+792 QColumnView::_ZThn16_N11QColumnViewD1Ev
+800 QColumnView::_ZThn16_N11QColumnViewD0Ev
+808 QWidget::_ZThn16_NK7QWidget7devTypeEv
+816 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+824 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QColumnView
+ size=40 align=8
+ base size=40 base align=8
+QColumnView (0x7f5b92f0b0e0) 0
+ vptr=((& QColumnView::_ZTV11QColumnView) + 16u)
+ QAbstractItemView (0x7f5b92f0b150) 0
+ primary-for QColumnView (0x7f5b92f0b0e0)
+ QAbstractScrollArea (0x7f5b92f0b1c0) 0
+ primary-for QAbstractItemView (0x7f5b92f0b150)
+ QFrame (0x7f5b92f0b230) 0
+ primary-for QAbstractScrollArea (0x7f5b92f0b1c0)
+ QWidget (0x7f5b92ee0d00) 0
+ primary-for QFrame (0x7f5b92f0b230)
+ QObject (0x7f5b92f0b2a0) 0
+ primary-for QWidget (0x7f5b92ee0d00)
+ QPaintDevice (0x7f5b92f0b310) 16
+ vptr=((& QColumnView::_ZTV11QColumnView) + 792u)
+
+Vtable for QStandardItem
+QStandardItem::_ZTV13QStandardItem: 11u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QStandardItem)
+16 QStandardItem::~QStandardItem
+24 QStandardItem::~QStandardItem
+32 QStandardItem::data
+40 QStandardItem::setData
+48 QStandardItem::clone
+56 QStandardItem::type
+64 QStandardItem::read
+72 QStandardItem::write
+80 QStandardItem::operator<
+
+Class QStandardItem
+ size=16 align=8
+ base size=16 base align=8
+QStandardItem (0x7f5b92f2f230) 0
+ vptr=((& QStandardItem::_ZTV13QStandardItem) + 16u)
+
+Vtable for QStandardItemModel
+QStandardItemModel::_ZTV18QStandardItemModel: 42u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QStandardItemModel)
+16 QStandardItemModel::metaObject
+24 QStandardItemModel::qt_metacast
+32 QStandardItemModel::qt_metacall
+40 QStandardItemModel::~QStandardItemModel
+48 QStandardItemModel::~QStandardItemModel
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QStandardItemModel::index
+120 QStandardItemModel::parent
+128 QStandardItemModel::rowCount
+136 QStandardItemModel::columnCount
+144 QStandardItemModel::hasChildren
+152 QStandardItemModel::data
+160 QStandardItemModel::setData
+168 QStandardItemModel::headerData
+176 QStandardItemModel::setHeaderData
+184 QStandardItemModel::itemData
+192 QStandardItemModel::setItemData
+200 QStandardItemModel::mimeTypes
+208 QStandardItemModel::mimeData
+216 QStandardItemModel::dropMimeData
+224 QStandardItemModel::supportedDropActions
+232 QStandardItemModel::insertRows
+240 QStandardItemModel::insertColumns
+248 QStandardItemModel::removeRows
+256 QStandardItemModel::removeColumns
+264 QAbstractItemModel::fetchMore
+272 QAbstractItemModel::canFetchMore
+280 QStandardItemModel::flags
+288 QStandardItemModel::sort
+296 QAbstractItemModel::buddy
+304 QAbstractItemModel::match
+312 QAbstractItemModel::span
+320 QAbstractItemModel::submit
+328 QAbstractItemModel::revert
+
+Class QStandardItemModel
+ size=16 align=8
+ base size=16 base align=8
+QStandardItemModel (0x7f5b92e0ce00) 0
+ vptr=((& QStandardItemModel::_ZTV18QStandardItemModel) + 16u)
+ QAbstractItemModel (0x7f5b92e0ce70) 0
+ primary-for QStandardItemModel (0x7f5b92e0ce00)
+ QObject (0x7f5b92e0cee0) 0
+ primary-for QAbstractItemModel (0x7f5b92e0ce70)
+
+Vtable for QAbstractProxyModel
+QAbstractProxyModel::_ZTV19QAbstractProxyModel: 47u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QAbstractProxyModel)
+16 QAbstractProxyModel::metaObject
+24 QAbstractProxyModel::qt_metacast
+32 QAbstractProxyModel::qt_metacall
+40 QAbstractProxyModel::~QAbstractProxyModel
+48 QAbstractProxyModel::~QAbstractProxyModel
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 __cxa_pure_virtual
+136 __cxa_pure_virtual
+144 QAbstractItemModel::hasChildren
+152 QAbstractProxyModel::data
+160 QAbstractProxyModel::setData
+168 QAbstractProxyModel::headerData
+176 QAbstractProxyModel::setHeaderData
+184 QAbstractProxyModel::itemData
+192 QAbstractItemModel::setItemData
+200 QAbstractItemModel::mimeTypes
+208 QAbstractItemModel::mimeData
+216 QAbstractItemModel::dropMimeData
+224 QAbstractItemModel::supportedDropActions
+232 QAbstractItemModel::insertRows
+240 QAbstractItemModel::insertColumns
+248 QAbstractItemModel::removeRows
+256 QAbstractItemModel::removeColumns
+264 QAbstractItemModel::fetchMore
+272 QAbstractItemModel::canFetchMore
+280 QAbstractProxyModel::flags
+288 QAbstractItemModel::sort
+296 QAbstractItemModel::buddy
+304 QAbstractItemModel::match
+312 QAbstractItemModel::span
+320 QAbstractProxyModel::submit
+328 QAbstractProxyModel::revert
+336 QAbstractProxyModel::setSourceModel
+344 __cxa_pure_virtual
+352 __cxa_pure_virtual
+360 QAbstractProxyModel::mapSelectionToSource
+368 QAbstractProxyModel::mapSelectionFromSource
+
+Class QAbstractProxyModel
+ size=16 align=8
+ base size=16 base align=8
+QAbstractProxyModel (0x7f5b92e4a9a0) 0
+ vptr=((& QAbstractProxyModel::_ZTV19QAbstractProxyModel) + 16u)
+ QAbstractItemModel (0x7f5b92e4aa10) 0
+ primary-for QAbstractProxyModel (0x7f5b92e4a9a0)
+ QObject (0x7f5b92e4aa80) 0
+ primary-for QAbstractItemModel (0x7f5b92e4aa10)
+
+Vtable for QSortFilterProxyModel
+QSortFilterProxyModel::_ZTV21QSortFilterProxyModel: 50u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI21QSortFilterProxyModel)
+16 QSortFilterProxyModel::metaObject
+24 QSortFilterProxyModel::qt_metacast
+32 QSortFilterProxyModel::qt_metacall
+40 QSortFilterProxyModel::~QSortFilterProxyModel
+48 QSortFilterProxyModel::~QSortFilterProxyModel
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QSortFilterProxyModel::index
+120 QSortFilterProxyModel::parent
+128 QSortFilterProxyModel::rowCount
+136 QSortFilterProxyModel::columnCount
+144 QSortFilterProxyModel::hasChildren
+152 QSortFilterProxyModel::data
+160 QSortFilterProxyModel::setData
+168 QSortFilterProxyModel::headerData
+176 QSortFilterProxyModel::setHeaderData
+184 QAbstractProxyModel::itemData
+192 QAbstractItemModel::setItemData
+200 QSortFilterProxyModel::mimeTypes
+208 QSortFilterProxyModel::mimeData
+216 QSortFilterProxyModel::dropMimeData
+224 QSortFilterProxyModel::supportedDropActions
+232 QSortFilterProxyModel::insertRows
+240 QSortFilterProxyModel::insertColumns
+248 QSortFilterProxyModel::removeRows
+256 QSortFilterProxyModel::removeColumns
+264 QSortFilterProxyModel::fetchMore
+272 QSortFilterProxyModel::canFetchMore
+280 QSortFilterProxyModel::flags
+288 QSortFilterProxyModel::sort
+296 QSortFilterProxyModel::buddy
+304 QSortFilterProxyModel::match
+312 QSortFilterProxyModel::span
+320 QAbstractProxyModel::submit
+328 QAbstractProxyModel::revert
+336 QSortFilterProxyModel::setSourceModel
+344 QSortFilterProxyModel::mapToSource
+352 QSortFilterProxyModel::mapFromSource
+360 QSortFilterProxyModel::mapSelectionToSource
+368 QSortFilterProxyModel::mapSelectionFromSource
+376 QSortFilterProxyModel::filterAcceptsRow
+384 QSortFilterProxyModel::filterAcceptsColumn
+392 QSortFilterProxyModel::lessThan
+
+Class QSortFilterProxyModel
+ size=16 align=8
+ base size=16 base align=8
+QSortFilterProxyModel (0x7f5b92e745b0) 0
+ vptr=((& QSortFilterProxyModel::_ZTV21QSortFilterProxyModel) + 16u)
+ QAbstractProxyModel (0x7f5b92e74620) 0
+ primary-for QSortFilterProxyModel (0x7f5b92e745b0)
+ QAbstractItemModel (0x7f5b92e74690) 0
+ primary-for QAbstractProxyModel (0x7f5b92e74620)
+ QObject (0x7f5b92e74700) 0
+ primary-for QAbstractItemModel (0x7f5b92e74690)
+
+Vtable for QStyledItemDelegate
+QStyledItemDelegate::_ZTV19QStyledItemDelegate: 23u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QStyledItemDelegate)
+16 QStyledItemDelegate::metaObject
+24 QStyledItemDelegate::qt_metacast
+32 QStyledItemDelegate::qt_metacall
+40 QStyledItemDelegate::~QStyledItemDelegate
+48 QStyledItemDelegate::~QStyledItemDelegate
+56 QObject::event
+64 QStyledItemDelegate::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QStyledItemDelegate::paint
+120 QStyledItemDelegate::sizeHint
+128 QStyledItemDelegate::createEditor
+136 QStyledItemDelegate::setEditorData
+144 QStyledItemDelegate::setModelData
+152 QStyledItemDelegate::updateEditorGeometry
+160 QStyledItemDelegate::editorEvent
+168 QStyledItemDelegate::displayText
+176 QStyledItemDelegate::initStyleOption
+
+Class QStyledItemDelegate
+ size=16 align=8
+ base size=16 base align=8
+QStyledItemDelegate (0x7f5b92ea44d0) 0
+ vptr=((& QStyledItemDelegate::_ZTV19QStyledItemDelegate) + 16u)
+ QAbstractItemDelegate (0x7f5b92ea4540) 0
+ primary-for QStyledItemDelegate (0x7f5b92ea44d0)
+ QObject (0x7f5b92ea45b0) 0
+ primary-for QAbstractItemDelegate (0x7f5b92ea4540)
+
+Vtable for QItemDelegate
+QItemDelegate::_ZTV13QItemDelegate: 25u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QItemDelegate)
+16 QItemDelegate::metaObject
+24 QItemDelegate::qt_metacast
+32 QItemDelegate::qt_metacall
+40 QItemDelegate::~QItemDelegate
+48 QItemDelegate::~QItemDelegate
+56 QObject::event
+64 QItemDelegate::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QItemDelegate::paint
+120 QItemDelegate::sizeHint
+128 QItemDelegate::createEditor
+136 QItemDelegate::setEditorData
+144 QItemDelegate::setModelData
+152 QItemDelegate::updateEditorGeometry
+160 QItemDelegate::editorEvent
+168 QItemDelegate::drawDisplay
+176 QItemDelegate::drawDecoration
+184 QItemDelegate::drawFocus
+192 QItemDelegate::drawCheck
+
+Class QItemDelegate
+ size=16 align=8
+ base size=16 base align=8
+QItemDelegate (0x7f5b92cb9e70) 0
+ vptr=((& QItemDelegate::_ZTV13QItemDelegate) + 16u)
+ QAbstractItemDelegate (0x7f5b92cb9ee0) 0
+ primary-for QItemDelegate (0x7f5b92cb9e70)
+ QObject (0x7f5b92cb9f50) 0
+ primary-for QAbstractItemDelegate (0x7f5b92cb9ee0)
+
+Vtable for QTableView
+QTableView::_ZTV10QTableView: 103u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QTableView)
+16 QTableView::metaObject
+24 QTableView::qt_metacast
+32 QTableView::qt_metacall
+40 QTableView::~QTableView
+48 QTableView::~QTableView
+56 QAbstractItemView::event
+64 QObject::eventFilter
+72 QTableView::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QAbstractScrollArea::sizeHint
+136 QAbstractScrollArea::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QAbstractItemView::mousePressEvent
+168 QAbstractItemView::mouseReleaseEvent
+176 QAbstractItemView::mouseDoubleClickEvent
+184 QAbstractItemView::mouseMoveEvent
+192 QAbstractScrollArea::wheelEvent
+200 QAbstractItemView::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QAbstractItemView::focusInEvent
+224 QAbstractItemView::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QTableView::paintEvent
+256 QWidget::moveEvent
+264 QAbstractItemView::resizeEvent
+272 QWidget::closeEvent
+280 QAbstractScrollArea::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QAbstractItemView::dragEnterEvent
+312 QAbstractItemView::dragMoveEvent
+320 QAbstractItemView::dragLeaveEvent
+328 QAbstractItemView::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QFrame::changeEvent
+368 QWidget::metric
+376 QAbstractItemView::inputMethodEvent
+384 QAbstractItemView::inputMethodQuery
+392 QAbstractItemView::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QAbstractItemView::viewportEvent
+456 QTableView::scrollContentsBy
+464 QTableView::setModel
+472 QTableView::setSelectionModel
+480 QAbstractItemView::keyboardSearch
+488 QTableView::visualRect
+496 QTableView::scrollTo
+504 QTableView::indexAt
+512 QTableView::sizeHintForRow
+520 QTableView::sizeHintForColumn
+528 QAbstractItemView::reset
+536 QTableView::setRootIndex
+544 QAbstractItemView::doItemsLayout
+552 QAbstractItemView::selectAll
+560 QAbstractItemView::dataChanged
+568 QAbstractItemView::rowsInserted
+576 QAbstractItemView::rowsAboutToBeRemoved
+584 QTableView::selectionChanged
+592 QTableView::currentChanged
+600 QAbstractItemView::updateEditorData
+608 QAbstractItemView::updateEditorGeometries
+616 QTableView::updateGeometries
+624 QTableView::verticalScrollbarAction
+632 QTableView::horizontalScrollbarAction
+640 QAbstractItemView::verticalScrollbarValueChanged
+648 QAbstractItemView::horizontalScrollbarValueChanged
+656 QAbstractItemView::closeEditor
+664 QAbstractItemView::commitData
+672 QAbstractItemView::editorDestroyed
+680 QTableView::moveCursor
+688 QTableView::horizontalOffset
+696 QTableView::verticalOffset
+704 QTableView::isIndexHidden
+712 QTableView::setSelection
+720 QTableView::visualRegionForSelection
+728 QTableView::selectedIndexes
+736 QAbstractItemView::edit
+744 QAbstractItemView::selectionCommand
+752 QAbstractItemView::startDrag
+760 QTableView::viewOptions
+768 (int (*)(...))-0x00000000000000010
+776 (int (*)(...))(& _ZTI10QTableView)
+784 QTableView::_ZThn16_N10QTableViewD1Ev
+792 QTableView::_ZThn16_N10QTableViewD0Ev
+800 QWidget::_ZThn16_NK7QWidget7devTypeEv
+808 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+816 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QTableView
+ size=40 align=8
+ base size=40 base align=8
+QTableView (0x7f5b92cdc850) 0
+ vptr=((& QTableView::_ZTV10QTableView) + 16u)
+ QAbstractItemView (0x7f5b92cdc8c0) 0
+ primary-for QTableView (0x7f5b92cdc850)
+ QAbstractScrollArea (0x7f5b92cdc930) 0
+ primary-for QAbstractItemView (0x7f5b92cdc8c0)
+ QFrame (0x7f5b92cdc9a0) 0
+ primary-for QAbstractScrollArea (0x7f5b92cdc930)
+ QWidget (0x7f5b92cd9500) 0
+ primary-for QFrame (0x7f5b92cdc9a0)
+ QObject (0x7f5b92cdca10) 0
+ primary-for QWidget (0x7f5b92cd9500)
+ QPaintDevice (0x7f5b92cdca80) 16
+ vptr=((& QTableView::_ZTV10QTableView) + 784u)
+
+Class QTableWidgetSelectionRange
+ size=16 align=4
+ base size=16 base align=4
+QTableWidgetSelectionRange (0x7f5b92d0e620) 0
+
+Vtable for QTableWidgetItem
+QTableWidgetItem::_ZTV16QTableWidgetItem: 10u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QTableWidgetItem)
+16 QTableWidgetItem::~QTableWidgetItem
+24 QTableWidgetItem::~QTableWidgetItem
+32 QTableWidgetItem::clone
+40 QTableWidgetItem::data
+48 QTableWidgetItem::setData
+56 QTableWidgetItem::operator<
+64 QTableWidgetItem::read
+72 QTableWidgetItem::write
+
+Class QTableWidgetItem
+ size=48 align=8
+ base size=44 base align=8
+QTableWidgetItem (0x7f5b92d19af0) 0
+ vptr=((& QTableWidgetItem::_ZTV16QTableWidgetItem) + 16u)
+
+Vtable for QTableWidget
+QTableWidget::_ZTV12QTableWidget: 107u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QTableWidget)
+16 QTableWidget::metaObject
+24 QTableWidget::qt_metacast
+32 QTableWidget::qt_metacall
+40 QTableWidget::~QTableWidget
+48 QTableWidget::~QTableWidget
+56 QTableWidget::event
+64 QObject::eventFilter
+72 QTableView::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QAbstractScrollArea::sizeHint
+136 QAbstractScrollArea::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QAbstractItemView::mousePressEvent
+168 QAbstractItemView::mouseReleaseEvent
+176 QAbstractItemView::mouseDoubleClickEvent
+184 QAbstractItemView::mouseMoveEvent
+192 QAbstractScrollArea::wheelEvent
+200 QAbstractItemView::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QAbstractItemView::focusInEvent
+224 QAbstractItemView::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QTableView::paintEvent
+256 QWidget::moveEvent
+264 QAbstractItemView::resizeEvent
+272 QWidget::closeEvent
+280 QAbstractScrollArea::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QAbstractItemView::dragEnterEvent
+312 QAbstractItemView::dragMoveEvent
+320 QAbstractItemView::dragLeaveEvent
+328 QTableWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QFrame::changeEvent
+368 QWidget::metric
+376 QAbstractItemView::inputMethodEvent
+384 QAbstractItemView::inputMethodQuery
+392 QAbstractItemView::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QAbstractItemView::viewportEvent
+456 QTableView::scrollContentsBy
+464 QTableWidget::setModel
+472 QTableView::setSelectionModel
+480 QAbstractItemView::keyboardSearch
+488 QTableView::visualRect
+496 QTableView::scrollTo
+504 QTableView::indexAt
+512 QTableView::sizeHintForRow
+520 QTableView::sizeHintForColumn
+528 QAbstractItemView::reset
+536 QTableView::setRootIndex
+544 QAbstractItemView::doItemsLayout
+552 QAbstractItemView::selectAll
+560 QAbstractItemView::dataChanged
+568 QAbstractItemView::rowsInserted
+576 QAbstractItemView::rowsAboutToBeRemoved
+584 QTableView::selectionChanged
+592 QTableView::currentChanged
+600 QAbstractItemView::updateEditorData
+608 QAbstractItemView::updateEditorGeometries
+616 QTableView::updateGeometries
+624 QTableView::verticalScrollbarAction
+632 QTableView::horizontalScrollbarAction
+640 QAbstractItemView::verticalScrollbarValueChanged
+648 QAbstractItemView::horizontalScrollbarValueChanged
+656 QAbstractItemView::closeEditor
+664 QAbstractItemView::commitData
+672 QAbstractItemView::editorDestroyed
+680 QTableView::moveCursor
+688 QTableView::horizontalOffset
+696 QTableView::verticalOffset
+704 QTableView::isIndexHidden
+712 QTableView::setSelection
+720 QTableView::visualRegionForSelection
+728 QTableView::selectedIndexes
+736 QAbstractItemView::edit
+744 QAbstractItemView::selectionCommand
+752 QAbstractItemView::startDrag
+760 QTableView::viewOptions
+768 QTableWidget::mimeTypes
+776 QTableWidget::mimeData
+784 QTableWidget::dropMimeData
+792 QTableWidget::supportedDropActions
+800 (int (*)(...))-0x00000000000000010
+808 (int (*)(...))(& _ZTI12QTableWidget)
+816 QTableWidget::_ZThn16_N12QTableWidgetD1Ev
+824 QTableWidget::_ZThn16_N12QTableWidgetD0Ev
+832 QWidget::_ZThn16_NK7QWidget7devTypeEv
+840 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+848 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QTableWidget
+ size=40 align=8
+ base size=40 base align=8
+QTableWidget (0x7f5b92d8f0e0) 0
+ vptr=((& QTableWidget::_ZTV12QTableWidget) + 16u)
+ QTableView (0x7f5b92d8f150) 0
+ primary-for QTableWidget (0x7f5b92d8f0e0)
+ QAbstractItemView (0x7f5b92d8f1c0) 0
+ primary-for QTableView (0x7f5b92d8f150)
+ QAbstractScrollArea (0x7f5b92d8f230) 0
+ primary-for QAbstractItemView (0x7f5b92d8f1c0)
+ QFrame (0x7f5b92d8f2a0) 0
+ primary-for QAbstractScrollArea (0x7f5b92d8f230)
+ QWidget (0x7f5b92d89580) 0
+ primary-for QFrame (0x7f5b92d8f2a0)
+ QObject (0x7f5b92d8f310) 0
+ primary-for QWidget (0x7f5b92d89580)
+ QPaintDevice (0x7f5b92d8f380) 16
+ vptr=((& QTableWidget::_ZTV12QTableWidget) + 816u)
+
+Vtable for QTreeView
+QTreeView::_ZTV9QTreeView: 105u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QTreeView)
+16 QTreeView::metaObject
+24 QTreeView::qt_metacast
+32 QTreeView::qt_metacall
+40 QTreeView::~QTreeView
+48 QTreeView::~QTreeView
+56 QAbstractItemView::event
+64 QObject::eventFilter
+72 QTreeView::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QAbstractScrollArea::sizeHint
+136 QAbstractScrollArea::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QTreeView::mousePressEvent
+168 QTreeView::mouseReleaseEvent
+176 QTreeView::mouseDoubleClickEvent
+184 QTreeView::mouseMoveEvent
+192 QAbstractScrollArea::wheelEvent
+200 QTreeView::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QAbstractItemView::focusInEvent
+224 QAbstractItemView::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QTreeView::paintEvent
+256 QWidget::moveEvent
+264 QAbstractItemView::resizeEvent
+272 QWidget::closeEvent
+280 QAbstractScrollArea::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QAbstractItemView::dragEnterEvent
+312 QTreeView::dragMoveEvent
+320 QAbstractItemView::dragLeaveEvent
+328 QAbstractItemView::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QFrame::changeEvent
+368 QWidget::metric
+376 QAbstractItemView::inputMethodEvent
+384 QAbstractItemView::inputMethodQuery
+392 QAbstractItemView::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QTreeView::viewportEvent
+456 QTreeView::scrollContentsBy
+464 QTreeView::setModel
+472 QTreeView::setSelectionModel
+480 QTreeView::keyboardSearch
+488 QTreeView::visualRect
+496 QTreeView::scrollTo
+504 QTreeView::indexAt
+512 QAbstractItemView::sizeHintForRow
+520 QTreeView::sizeHintForColumn
+528 QTreeView::reset
+536 QTreeView::setRootIndex
+544 QTreeView::doItemsLayout
+552 QTreeView::selectAll
+560 QTreeView::dataChanged
+568 QTreeView::rowsInserted
+576 QTreeView::rowsAboutToBeRemoved
+584 QTreeView::selectionChanged
+592 QTreeView::currentChanged
+600 QAbstractItemView::updateEditorData
+608 QAbstractItemView::updateEditorGeometries
+616 QTreeView::updateGeometries
+624 QAbstractItemView::verticalScrollbarAction
+632 QTreeView::horizontalScrollbarAction
+640 QAbstractItemView::verticalScrollbarValueChanged
+648 QAbstractItemView::horizontalScrollbarValueChanged
+656 QAbstractItemView::closeEditor
+664 QAbstractItemView::commitData
+672 QAbstractItemView::editorDestroyed
+680 QTreeView::moveCursor
+688 QTreeView::horizontalOffset
+696 QTreeView::verticalOffset
+704 QTreeView::isIndexHidden
+712 QTreeView::setSelection
+720 QTreeView::visualRegionForSelection
+728 QTreeView::selectedIndexes
+736 QAbstractItemView::edit
+744 QAbstractItemView::selectionCommand
+752 QAbstractItemView::startDrag
+760 QAbstractItemView::viewOptions
+768 QTreeView::drawRow
+776 QTreeView::drawBranches
+784 (int (*)(...))-0x00000000000000010
+792 (int (*)(...))(& _ZTI9QTreeView)
+800 QTreeView::_ZThn16_N9QTreeViewD1Ev
+808 QTreeView::_ZThn16_N9QTreeViewD0Ev
+816 QWidget::_ZThn16_NK7QWidget7devTypeEv
+824 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+832 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QTreeView
+ size=40 align=8
+ base size=40 base align=8
+QTreeView (0x7f5b92bbd070) 0
+ vptr=((& QTreeView::_ZTV9QTreeView) + 16u)
+ QAbstractItemView (0x7f5b92bbd0e0) 0
+ primary-for QTreeView (0x7f5b92bbd070)
+ QAbstractScrollArea (0x7f5b92bbd150) 0
+ primary-for QAbstractItemView (0x7f5b92bbd0e0)
+ QFrame (0x7f5b92bbd1c0) 0
+ primary-for QAbstractScrollArea (0x7f5b92bbd150)
+ QWidget (0x7f5b92bb6e00) 0
+ primary-for QFrame (0x7f5b92bbd1c0)
+ QObject (0x7f5b92bbd230) 0
+ primary-for QWidget (0x7f5b92bb6e00)
+ QPaintDevice (0x7f5b92bbd2a0) 16
+ vptr=((& QTreeView::_ZTV9QTreeView) + 800u)
+
+Vtable for QProxyModel
+QProxyModel::_ZTV11QProxyModel: 43u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QProxyModel)
+16 QProxyModel::metaObject
+24 QProxyModel::qt_metacast
+32 QProxyModel::qt_metacall
+40 QProxyModel::~QProxyModel
+48 QProxyModel::~QProxyModel
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QProxyModel::index
+120 QProxyModel::parent
+128 QProxyModel::rowCount
+136 QProxyModel::columnCount
+144 QProxyModel::hasChildren
+152 QProxyModel::data
+160 QProxyModel::setData
+168 QProxyModel::headerData
+176 QProxyModel::setHeaderData
+184 QAbstractItemModel::itemData
+192 QAbstractItemModel::setItemData
+200 QProxyModel::mimeTypes
+208 QProxyModel::mimeData
+216 QProxyModel::dropMimeData
+224 QProxyModel::supportedDropActions
+232 QProxyModel::insertRows
+240 QProxyModel::insertColumns
+248 QAbstractItemModel::removeRows
+256 QAbstractItemModel::removeColumns
+264 QProxyModel::fetchMore
+272 QAbstractItemModel::canFetchMore
+280 QProxyModel::flags
+288 QProxyModel::sort
+296 QAbstractItemModel::buddy
+304 QProxyModel::match
+312 QProxyModel::span
+320 QProxyModel::submit
+328 QProxyModel::revert
+336 QProxyModel::setModel
+
+Class QProxyModel
+ size=16 align=8
+ base size=16 base align=8
+QProxyModel (0x7f5b92bf0e00) 0
+ vptr=((& QProxyModel::_ZTV11QProxyModel) + 16u)
+ QAbstractItemModel (0x7f5b92bf0e70) 0
+ primary-for QProxyModel (0x7f5b92bf0e00)
+ QObject (0x7f5b92bf0ee0) 0
+ primary-for QAbstractItemModel (0x7f5b92bf0e70)
+
+Vtable for QHeaderView
+QHeaderView::_ZTV11QHeaderView: 105u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QHeaderView)
+16 QHeaderView::metaObject
+24 QHeaderView::qt_metacast
+32 QHeaderView::qt_metacall
+40 QHeaderView::~QHeaderView
+48 QHeaderView::~QHeaderView
+56 QHeaderView::event
+64 QObject::eventFilter
+72 QAbstractItemView::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QHeaderView::sizeHint
+136 QAbstractScrollArea::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QHeaderView::mousePressEvent
+168 QHeaderView::mouseReleaseEvent
+176 QHeaderView::mouseDoubleClickEvent
+184 QHeaderView::mouseMoveEvent
+192 QAbstractScrollArea::wheelEvent
+200 QAbstractItemView::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QAbstractItemView::focusInEvent
+224 QAbstractItemView::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QHeaderView::paintEvent
+256 QWidget::moveEvent
+264 QAbstractItemView::resizeEvent
+272 QWidget::closeEvent
+280 QAbstractScrollArea::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QAbstractItemView::dragEnterEvent
+312 QAbstractItemView::dragMoveEvent
+320 QAbstractItemView::dragLeaveEvent
+328 QAbstractItemView::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QFrame::changeEvent
+368 QWidget::metric
+376 QAbstractItemView::inputMethodEvent
+384 QAbstractItemView::inputMethodQuery
+392 QAbstractItemView::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QHeaderView::viewportEvent
+456 QHeaderView::scrollContentsBy
+464 QHeaderView::setModel
+472 QAbstractItemView::setSelectionModel
+480 QAbstractItemView::keyboardSearch
+488 QHeaderView::visualRect
+496 QHeaderView::scrollTo
+504 QHeaderView::indexAt
+512 QAbstractItemView::sizeHintForRow
+520 QAbstractItemView::sizeHintForColumn
+528 QHeaderView::reset
+536 QAbstractItemView::setRootIndex
+544 QHeaderView::doItemsLayout
+552 QAbstractItemView::selectAll
+560 QHeaderView::dataChanged
+568 QHeaderView::rowsInserted
+576 QAbstractItemView::rowsAboutToBeRemoved
+584 QAbstractItemView::selectionChanged
+592 QHeaderView::currentChanged
+600 QAbstractItemView::updateEditorData
+608 QAbstractItemView::updateEditorGeometries
+616 QHeaderView::updateGeometries
+624 QAbstractItemView::verticalScrollbarAction
+632 QAbstractItemView::horizontalScrollbarAction
+640 QAbstractItemView::verticalScrollbarValueChanged
+648 QAbstractItemView::horizontalScrollbarValueChanged
+656 QAbstractItemView::closeEditor
+664 QAbstractItemView::commitData
+672 QAbstractItemView::editorDestroyed
+680 QHeaderView::moveCursor
+688 QHeaderView::horizontalOffset
+696 QHeaderView::verticalOffset
+704 QHeaderView::isIndexHidden
+712 QHeaderView::setSelection
+720 QHeaderView::visualRegionForSelection
+728 QAbstractItemView::selectedIndexes
+736 QAbstractItemView::edit
+744 QAbstractItemView::selectionCommand
+752 QAbstractItemView::startDrag
+760 QAbstractItemView::viewOptions
+768 QHeaderView::paintSection
+776 QHeaderView::sectionSizeFromContents
+784 (int (*)(...))-0x00000000000000010
+792 (int (*)(...))(& _ZTI11QHeaderView)
+800 QHeaderView::_ZThn16_N11QHeaderViewD1Ev
+808 QHeaderView::_ZThn16_N11QHeaderViewD0Ev
+816 QWidget::_ZThn16_NK7QWidget7devTypeEv
+824 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+832 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QHeaderView
+ size=40 align=8
+ base size=40 base align=8
+QHeaderView (0x7f5b92c15cb0) 0
+ vptr=((& QHeaderView::_ZTV11QHeaderView) + 16u)
+ QAbstractItemView (0x7f5b92c15d20) 0
+ primary-for QHeaderView (0x7f5b92c15cb0)
+ QAbstractScrollArea (0x7f5b92c15d90) 0
+ primary-for QAbstractItemView (0x7f5b92c15d20)
+ QFrame (0x7f5b92c15e00) 0
+ primary-for QAbstractScrollArea (0x7f5b92c15d90)
+ QWidget (0x7f5b92becf80) 0
+ primary-for QFrame (0x7f5b92c15e00)
+ QObject (0x7f5b92c15e70) 0
+ primary-for QWidget (0x7f5b92becf80)
+ QPaintDevice (0x7f5b92c15ee0) 16
+ vptr=((& QHeaderView::_ZTV11QHeaderView) + 800u)
+
+Vtable for QItemEditorCreatorBase
+QItemEditorCreatorBase::_ZTV22QItemEditorCreatorBase: 6u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI22QItemEditorCreatorBase)
+16 QItemEditorCreatorBase::~QItemEditorCreatorBase
+24 QItemEditorCreatorBase::~QItemEditorCreatorBase
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+
+Class QItemEditorCreatorBase
+ size=8 align=8
+ base size=8 base align=8
+QItemEditorCreatorBase (0x7f5b92c558c0) 0 nearly-empty
+ vptr=((& QItemEditorCreatorBase::_ZTV22QItemEditorCreatorBase) + 16u)
+
+Vtable for QItemEditorFactory
+QItemEditorFactory::_ZTV18QItemEditorFactory: 6u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QItemEditorFactory)
+16 QItemEditorFactory::~QItemEditorFactory
+24 QItemEditorFactory::~QItemEditorFactory
+32 QItemEditorFactory::createEditor
+40 QItemEditorFactory::valuePropertyName
+
+Class QItemEditorFactory
+ size=16 align=8
+ base size=16 base align=8
+QItemEditorFactory (0x7f5b92c61770) 0
+ vptr=((& QItemEditorFactory::_ZTV18QItemEditorFactory) + 16u)
+
+Vtable for QTreeWidgetItem
+QTreeWidgetItem::_ZTV15QTreeWidgetItem: 10u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QTreeWidgetItem)
+16 QTreeWidgetItem::~QTreeWidgetItem
+24 QTreeWidgetItem::~QTreeWidgetItem
+32 QTreeWidgetItem::clone
+40 QTreeWidgetItem::data
+48 QTreeWidgetItem::setData
+56 QTreeWidgetItem::operator<
+64 QTreeWidgetItem::read
+72 QTreeWidgetItem::write
+
+Class QTreeWidgetItem
+ size=64 align=8
+ base size=60 base align=8
+QTreeWidgetItem (0x7f5b92c6da10) 0
+ vptr=((& QTreeWidgetItem::_ZTV15QTreeWidgetItem) + 16u)
+
+Vtable for QTreeWidget
+QTreeWidget::_ZTV11QTreeWidget: 109u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QTreeWidget)
+16 QTreeWidget::metaObject
+24 QTreeWidget::qt_metacast
+32 QTreeWidget::qt_metacall
+40 QTreeWidget::~QTreeWidget
+48 QTreeWidget::~QTreeWidget
+56 QTreeWidget::event
+64 QObject::eventFilter
+72 QTreeView::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QAbstractScrollArea::sizeHint
+136 QAbstractScrollArea::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QTreeView::mousePressEvent
+168 QTreeView::mouseReleaseEvent
+176 QTreeView::mouseDoubleClickEvent
+184 QTreeView::mouseMoveEvent
+192 QAbstractScrollArea::wheelEvent
+200 QTreeView::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QAbstractItemView::focusInEvent
+224 QAbstractItemView::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QTreeView::paintEvent
+256 QWidget::moveEvent
+264 QAbstractItemView::resizeEvent
+272 QWidget::closeEvent
+280 QAbstractScrollArea::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QAbstractItemView::dragEnterEvent
+312 QTreeView::dragMoveEvent
+320 QAbstractItemView::dragLeaveEvent
+328 QTreeWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QFrame::changeEvent
+368 QWidget::metric
+376 QAbstractItemView::inputMethodEvent
+384 QAbstractItemView::inputMethodQuery
+392 QAbstractItemView::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QTreeView::viewportEvent
+456 QTreeView::scrollContentsBy
+464 QTreeWidget::setModel
+472 QTreeWidget::setSelectionModel
+480 QTreeView::keyboardSearch
+488 QTreeView::visualRect
+496 QTreeView::scrollTo
+504 QTreeView::indexAt
+512 QAbstractItemView::sizeHintForRow
+520 QTreeView::sizeHintForColumn
+528 QTreeView::reset
+536 QTreeView::setRootIndex
+544 QTreeView::doItemsLayout
+552 QTreeView::selectAll
+560 QTreeView::dataChanged
+568 QTreeView::rowsInserted
+576 QTreeView::rowsAboutToBeRemoved
+584 QTreeView::selectionChanged
+592 QTreeView::currentChanged
+600 QAbstractItemView::updateEditorData
+608 QAbstractItemView::updateEditorGeometries
+616 QTreeView::updateGeometries
+624 QAbstractItemView::verticalScrollbarAction
+632 QTreeView::horizontalScrollbarAction
+640 QAbstractItemView::verticalScrollbarValueChanged
+648 QAbstractItemView::horizontalScrollbarValueChanged
+656 QAbstractItemView::closeEditor
+664 QAbstractItemView::commitData
+672 QAbstractItemView::editorDestroyed
+680 QTreeView::moveCursor
+688 QTreeView::horizontalOffset
+696 QTreeView::verticalOffset
+704 QTreeView::isIndexHidden
+712 QTreeView::setSelection
+720 QTreeView::visualRegionForSelection
+728 QTreeView::selectedIndexes
+736 QAbstractItemView::edit
+744 QAbstractItemView::selectionCommand
+752 QAbstractItemView::startDrag
+760 QAbstractItemView::viewOptions
+768 QTreeView::drawRow
+776 QTreeView::drawBranches
+784 QTreeWidget::mimeTypes
+792 QTreeWidget::mimeData
+800 QTreeWidget::dropMimeData
+808 QTreeWidget::supportedDropActions
+816 (int (*)(...))-0x00000000000000010
+824 (int (*)(...))(& _ZTI11QTreeWidget)
+832 QTreeWidget::_ZThn16_N11QTreeWidgetD1Ev
+840 QTreeWidget::_ZThn16_N11QTreeWidgetD0Ev
+848 QWidget::_ZThn16_NK7QWidget7devTypeEv
+856 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+864 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QTreeWidget
+ size=40 align=8
+ base size=40 base align=8
+QTreeWidget (0x7f5b92b35f50) 0
+ vptr=((& QTreeWidget::_ZTV11QTreeWidget) + 16u)
+ QTreeView (0x7f5b92b3d000) 0
+ primary-for QTreeWidget (0x7f5b92b35f50)
+ QAbstractItemView (0x7f5b92b3d070) 0
+ primary-for QTreeView (0x7f5b92b3d000)
+ QAbstractScrollArea (0x7f5b92b3d0e0) 0
+ primary-for QAbstractItemView (0x7f5b92b3d070)
+ QFrame (0x7f5b92b3d150) 0
+ primary-for QAbstractScrollArea (0x7f5b92b3d0e0)
+ QWidget (0x7f5b92b2ee00) 0
+ primary-for QFrame (0x7f5b92b3d150)
+ QObject (0x7f5b92b3d1c0) 0
+ primary-for QWidget (0x7f5b92b2ee00)
+ QPaintDevice (0x7f5b92b3d230) 16
+ vptr=((& QTreeWidget::_ZTV11QTreeWidget) + 832u)
+
+Vtable for QAccessibleBridge
+QAccessibleBridge::_ZTV17QAccessibleBridge: 6u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QAccessibleBridge)
+16 QAccessibleBridge::~QAccessibleBridge
+24 QAccessibleBridge::~QAccessibleBridge
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+
+Class QAccessibleBridge
+ size=8 align=8
+ base size=8 base align=8
+QAccessibleBridge (0x7f5b9299e310) 0 nearly-empty
+ vptr=((& QAccessibleBridge::_ZTV17QAccessibleBridge) + 16u)
+
+Vtable for QAccessibleBridgeFactoryInterface
+QAccessibleBridgeFactoryInterface::_ZTV33QAccessibleBridgeFactoryInterface: 6u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI33QAccessibleBridgeFactoryInterface)
+16 QAccessibleBridgeFactoryInterface::~QAccessibleBridgeFactoryInterface
+24 QAccessibleBridgeFactoryInterface::~QAccessibleBridgeFactoryInterface
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+
+Class QAccessibleBridgeFactoryInterface
+ size=8 align=8
+ base size=8 base align=8
+QAccessibleBridgeFactoryInterface (0x7f5b9299ed90) 0 nearly-empty
+ vptr=((& QAccessibleBridgeFactoryInterface::_ZTV33QAccessibleBridgeFactoryInterface) + 16u)
+ QFactoryInterface (0x7f5b9299ee00) 0 nearly-empty
+ primary-for QAccessibleBridgeFactoryInterface (0x7f5b9299ed90)
+
+Vtable for QAccessibleBridgePlugin
+QAccessibleBridgePlugin::_ZTV23QAccessibleBridgePlugin: 22u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI23QAccessibleBridgePlugin)
+16 QAccessibleBridgePlugin::metaObject
+24 QAccessibleBridgePlugin::qt_metacast
+32 QAccessibleBridgePlugin::qt_metacall
+40 QAccessibleBridgePlugin::~QAccessibleBridgePlugin
+48 QAccessibleBridgePlugin::~QAccessibleBridgePlugin
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 (int (*)(...))-0x00000000000000010
+136 (int (*)(...))(& _ZTI23QAccessibleBridgePlugin)
+144 QAccessibleBridgePlugin::_ZThn16_N23QAccessibleBridgePluginD1Ev
+152 QAccessibleBridgePlugin::_ZThn16_N23QAccessibleBridgePluginD0Ev
+160 __cxa_pure_virtual
+168 __cxa_pure_virtual
+
+Class QAccessibleBridgePlugin
+ size=24 align=8
+ base size=24 base align=8
+QAccessibleBridgePlugin (0x7f5b929ab500) 0
+ vptr=((& QAccessibleBridgePlugin::_ZTV23QAccessibleBridgePlugin) + 16u)
+ QObject (0x7f5b929ac5b0) 0
+ primary-for QAccessibleBridgePlugin (0x7f5b929ab500)
+ QAccessibleBridgeFactoryInterface (0x7f5b929ac620) 16 nearly-empty
+ vptr=((& QAccessibleBridgePlugin::_ZTV23QAccessibleBridgePlugin) + 144u)
+ QFactoryInterface (0x7f5b929ac690) 16 nearly-empty
+ primary-for QAccessibleBridgeFactoryInterface (0x7f5b929ac620)
+
+Class QAccessible
+ size=1 align=1
+ base size=0 base align=1
+QAccessible (0x7f5b929bd540) 0 empty
+
+Vtable for QAccessibleInterface
+QAccessibleInterface::_ZTV20QAccessibleInterface: 19u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI20QAccessibleInterface)
+16 QAccessibleInterface::~QAccessibleInterface
+24 QAccessibleInterface::~QAccessibleInterface
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+48 __cxa_pure_virtual
+56 __cxa_pure_virtual
+64 __cxa_pure_virtual
+72 __cxa_pure_virtual
+80 __cxa_pure_virtual
+88 __cxa_pure_virtual
+96 __cxa_pure_virtual
+104 __cxa_pure_virtual
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 __cxa_pure_virtual
+136 __cxa_pure_virtual
+144 __cxa_pure_virtual
+
+Class QAccessibleInterface
+ size=8 align=8
+ base size=8 base align=8
+QAccessibleInterface (0x7f5b92a62700) 0 nearly-empty
+ vptr=((& QAccessibleInterface::_ZTV20QAccessibleInterface) + 16u)
+ QAccessible (0x7f5b92a62770) 0 empty
+
+Vtable for QAccessibleInterfaceEx
+QAccessibleInterfaceEx::_ZTV22QAccessibleInterfaceEx: 22u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI22QAccessibleInterfaceEx)
+16 QAccessibleInterfaceEx::~QAccessibleInterfaceEx
+24 QAccessibleInterfaceEx::~QAccessibleInterfaceEx
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+48 __cxa_pure_virtual
+56 __cxa_pure_virtual
+64 __cxa_pure_virtual
+72 __cxa_pure_virtual
+80 __cxa_pure_virtual
+88 __cxa_pure_virtual
+96 __cxa_pure_virtual
+104 __cxa_pure_virtual
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 __cxa_pure_virtual
+136 __cxa_pure_virtual
+144 __cxa_pure_virtual
+152 __cxa_pure_virtual
+160 QAccessibleInterfaceEx::virtual_hook
+168 QAccessibleInterfaceEx::interface_cast
+
+Class QAccessibleInterfaceEx
+ size=8 align=8
+ base size=8 base align=8
+QAccessibleInterfaceEx (0x7f5b928c0000) 0 nearly-empty
+ vptr=((& QAccessibleInterfaceEx::_ZTV22QAccessibleInterfaceEx) + 16u)
+ QAccessibleInterface (0x7f5b928c0070) 0 nearly-empty
+ primary-for QAccessibleInterfaceEx (0x7f5b928c0000)
+ QAccessible (0x7f5b928c00e0) 0 empty
+
+Vtable for QAccessibleEvent
+QAccessibleEvent::_ZTV16QAccessibleEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QAccessibleEvent)
+16 QAccessibleEvent::~QAccessibleEvent
+24 QAccessibleEvent::~QAccessibleEvent
+
+Class QAccessibleEvent
+ size=32 align=8
+ base size=32 base align=8
+QAccessibleEvent (0x7f5b928c0380) 0
+ vptr=((& QAccessibleEvent::_ZTV16QAccessibleEvent) + 16u)
+ QEvent (0x7f5b928c03f0) 0
+ primary-for QAccessibleEvent (0x7f5b928c0380)
+
+Vtable for QAccessibleObject
+QAccessibleObject::_ZTV17QAccessibleObject: 19u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QAccessibleObject)
+16 QAccessibleObject::~QAccessibleObject
+24 QAccessibleObject::~QAccessibleObject
+32 QAccessibleObject::isValid
+40 QAccessibleObject::object
+48 __cxa_pure_virtual
+56 __cxa_pure_virtual
+64 __cxa_pure_virtual
+72 __cxa_pure_virtual
+80 __cxa_pure_virtual
+88 __cxa_pure_virtual
+96 QAccessibleObject::setText
+104 QAccessibleObject::rect
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 QAccessibleObject::userActionCount
+136 QAccessibleObject::actionText
+144 QAccessibleObject::doAction
+
+Class QAccessibleObject
+ size=16 align=8
+ base size=16 base align=8
+QAccessibleObject (0x7f5b928d7230) 0
+ vptr=((& QAccessibleObject::_ZTV17QAccessibleObject) + 16u)
+ QAccessibleInterface (0x7f5b928d72a0) 0 nearly-empty
+ primary-for QAccessibleObject (0x7f5b928d7230)
+ QAccessible (0x7f5b928d7310) 0 empty
+
+Vtable for QAccessibleObjectEx
+QAccessibleObjectEx::_ZTV19QAccessibleObjectEx: 22u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QAccessibleObjectEx)
+16 QAccessibleObjectEx::~QAccessibleObjectEx
+24 QAccessibleObjectEx::~QAccessibleObjectEx
+32 QAccessibleObjectEx::isValid
+40 QAccessibleObjectEx::object
+48 __cxa_pure_virtual
+56 __cxa_pure_virtual
+64 __cxa_pure_virtual
+72 __cxa_pure_virtual
+80 __cxa_pure_virtual
+88 __cxa_pure_virtual
+96 QAccessibleObjectEx::setText
+104 QAccessibleObjectEx::rect
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 QAccessibleObjectEx::userActionCount
+136 QAccessibleObjectEx::actionText
+144 QAccessibleObjectEx::doAction
+152 __cxa_pure_virtual
+160 QAccessibleInterfaceEx::virtual_hook
+168 QAccessibleInterfaceEx::interface_cast
+
+Class QAccessibleObjectEx
+ size=16 align=8
+ base size=16 base align=8
+QAccessibleObjectEx (0x7f5b928d7a10) 0
+ vptr=((& QAccessibleObjectEx::_ZTV19QAccessibleObjectEx) + 16u)
+ QAccessibleInterfaceEx (0x7f5b928d7a80) 0 nearly-empty
+ primary-for QAccessibleObjectEx (0x7f5b928d7a10)
+ QAccessibleInterface (0x7f5b928d7af0) 0 nearly-empty
+ primary-for QAccessibleInterfaceEx (0x7f5b928d7a80)
+ QAccessible (0x7f5b928d7b60) 0 empty
+
+Vtable for QAccessibleApplication
+QAccessibleApplication::_ZTV22QAccessibleApplication: 19u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI22QAccessibleApplication)
+16 QAccessibleApplication::~QAccessibleApplication
+24 QAccessibleApplication::~QAccessibleApplication
+32 QAccessibleObject::isValid
+40 QAccessibleObject::object
+48 QAccessibleApplication::childCount
+56 QAccessibleApplication::indexOfChild
+64 QAccessibleApplication::relationTo
+72 QAccessibleApplication::childAt
+80 QAccessibleApplication::navigate
+88 QAccessibleApplication::text
+96 QAccessibleObject::setText
+104 QAccessibleObject::rect
+112 QAccessibleApplication::role
+120 QAccessibleApplication::state
+128 QAccessibleApplication::userActionCount
+136 QAccessibleApplication::actionText
+144 QAccessibleApplication::doAction
+
+Class QAccessibleApplication
+ size=16 align=8
+ base size=16 base align=8
+QAccessibleApplication (0x7f5b928e7230) 0
+ vptr=((& QAccessibleApplication::_ZTV22QAccessibleApplication) + 16u)
+ QAccessibleObject (0x7f5b928e72a0) 0
+ primary-for QAccessibleApplication (0x7f5b928e7230)
+ QAccessibleInterface (0x7f5b928e7310) 0 nearly-empty
+ primary-for QAccessibleObject (0x7f5b928e72a0)
+ QAccessible (0x7f5b928e7380) 0 empty
+
+Vtable for QAccessibleWidget
+QAccessibleWidget::_ZTV17QAccessibleWidget: 19u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QAccessibleWidget)
+16 QAccessibleWidget::~QAccessibleWidget
+24 QAccessibleWidget::~QAccessibleWidget
+32 QAccessibleObject::isValid
+40 QAccessibleObject::object
+48 QAccessibleWidget::childCount
+56 QAccessibleWidget::indexOfChild
+64 QAccessibleWidget::relationTo
+72 QAccessibleWidget::childAt
+80 QAccessibleWidget::navigate
+88 QAccessibleWidget::text
+96 QAccessibleObject::setText
+104 QAccessibleWidget::rect
+112 QAccessibleWidget::role
+120 QAccessibleWidget::state
+128 QAccessibleWidget::userActionCount
+136 QAccessibleWidget::actionText
+144 QAccessibleWidget::doAction
+
+Class QAccessibleWidget
+ size=24 align=8
+ base size=24 base align=8
+QAccessibleWidget (0x7f5b928e7c40) 0
+ vptr=((& QAccessibleWidget::_ZTV17QAccessibleWidget) + 16u)
+ QAccessibleObject (0x7f5b928e7cb0) 0
+ primary-for QAccessibleWidget (0x7f5b928e7c40)
+ QAccessibleInterface (0x7f5b928e7d20) 0 nearly-empty
+ primary-for QAccessibleObject (0x7f5b928e7cb0)
+ QAccessible (0x7f5b928e7d90) 0 empty
+
+Vtable for QAccessibleWidgetEx
+QAccessibleWidgetEx::_ZTV19QAccessibleWidgetEx: 22u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QAccessibleWidgetEx)
+16 QAccessibleWidgetEx::~QAccessibleWidgetEx
+24 QAccessibleWidgetEx::~QAccessibleWidgetEx
+32 QAccessibleObjectEx::isValid
+40 QAccessibleObjectEx::object
+48 QAccessibleWidgetEx::childCount
+56 QAccessibleWidgetEx::indexOfChild
+64 QAccessibleWidgetEx::relationTo
+72 QAccessibleWidgetEx::childAt
+80 QAccessibleWidgetEx::navigate
+88 QAccessibleWidgetEx::text
+96 QAccessibleObjectEx::setText
+104 QAccessibleWidgetEx::rect
+112 QAccessibleWidgetEx::role
+120 QAccessibleWidgetEx::state
+128 QAccessibleObjectEx::userActionCount
+136 QAccessibleWidgetEx::actionText
+144 QAccessibleWidgetEx::doAction
+152 QAccessibleWidgetEx::invokeMethodEx
+160 QAccessibleInterfaceEx::virtual_hook
+168 QAccessibleInterfaceEx::interface_cast
+
+Class QAccessibleWidgetEx
+ size=24 align=8
+ base size=24 base align=8
+QAccessibleWidgetEx (0x7f5b928f5c40) 0
+ vptr=((& QAccessibleWidgetEx::_ZTV19QAccessibleWidgetEx) + 16u)
+ QAccessibleObjectEx (0x7f5b928f5cb0) 0
+ primary-for QAccessibleWidgetEx (0x7f5b928f5c40)
+ QAccessibleInterfaceEx (0x7f5b928f5d20) 0 nearly-empty
+ primary-for QAccessibleObjectEx (0x7f5b928f5cb0)
+ QAccessibleInterface (0x7f5b928f5d90) 0 nearly-empty
+ primary-for QAccessibleInterfaceEx (0x7f5b928f5d20)
+ QAccessible (0x7f5b928f5e00) 0 empty
+
+Vtable for QAccessible2Interface
+QAccessible2Interface::_ZTV21QAccessible2Interface: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI21QAccessible2Interface)
+16 QAccessible2Interface::~QAccessible2Interface
+24 QAccessible2Interface::~QAccessible2Interface
+
+Class QAccessible2Interface
+ size=8 align=8
+ base size=8 base align=8
+QAccessible2Interface (0x7f5b92902d90) 0 nearly-empty
+ vptr=((& QAccessible2Interface::_ZTV21QAccessible2Interface) + 16u)
+
+Vtable for QAccessibleTextInterface
+QAccessibleTextInterface::_ZTV24QAccessibleTextInterface: 20u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI24QAccessibleTextInterface)
+16 QAccessibleTextInterface::~QAccessibleTextInterface
+24 QAccessibleTextInterface::~QAccessibleTextInterface
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+48 __cxa_pure_virtual
+56 __cxa_pure_virtual
+64 __cxa_pure_virtual
+72 __cxa_pure_virtual
+80 __cxa_pure_virtual
+88 __cxa_pure_virtual
+96 __cxa_pure_virtual
+104 __cxa_pure_virtual
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 __cxa_pure_virtual
+136 __cxa_pure_virtual
+144 __cxa_pure_virtual
+152 __cxa_pure_virtual
+
+Class QAccessibleTextInterface
+ size=8 align=8
+ base size=8 base align=8
+QAccessibleTextInterface (0x7f5b92913cb0) 0 nearly-empty
+ vptr=((& QAccessibleTextInterface::_ZTV24QAccessibleTextInterface) + 16u)
+ QAccessible2Interface (0x7f5b92913d20) 0 nearly-empty
+ primary-for QAccessibleTextInterface (0x7f5b92913cb0)
+
+Vtable for QAccessibleEditableTextInterface
+QAccessibleEditableTextInterface::_ZTV32QAccessibleEditableTextInterface: 11u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI32QAccessibleEditableTextInterface)
+16 QAccessibleEditableTextInterface::~QAccessibleEditableTextInterface
+24 QAccessibleEditableTextInterface::~QAccessibleEditableTextInterface
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+48 __cxa_pure_virtual
+56 __cxa_pure_virtual
+64 __cxa_pure_virtual
+72 __cxa_pure_virtual
+80 __cxa_pure_virtual
+
+Class QAccessibleEditableTextInterface
+ size=8 align=8
+ base size=8 base align=8
+QAccessibleEditableTextInterface (0x7f5b92923b60) 0 nearly-empty
+ vptr=((& QAccessibleEditableTextInterface::_ZTV32QAccessibleEditableTextInterface) + 16u)
+ QAccessible2Interface (0x7f5b92923bd0) 0 nearly-empty
+ primary-for QAccessibleEditableTextInterface (0x7f5b92923b60)
+
+Vtable for QAccessibleSimpleEditableTextInterface
+QAccessibleSimpleEditableTextInterface::_ZTV38QAccessibleSimpleEditableTextInterface: 11u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI38QAccessibleSimpleEditableTextInterface)
+16 QAccessibleSimpleEditableTextInterface::~QAccessibleSimpleEditableTextInterface
+24 QAccessibleSimpleEditableTextInterface::~QAccessibleSimpleEditableTextInterface
+32 QAccessibleSimpleEditableTextInterface::copyText
+40 QAccessibleSimpleEditableTextInterface::deleteText
+48 QAccessibleSimpleEditableTextInterface::insertText
+56 QAccessibleSimpleEditableTextInterface::cutText
+64 QAccessibleSimpleEditableTextInterface::pasteText
+72 QAccessibleSimpleEditableTextInterface::replaceText
+80 QAccessibleSimpleEditableTextInterface::setAttributes
+
+Class QAccessibleSimpleEditableTextInterface
+ size=16 align=8
+ base size=16 base align=8
+QAccessibleSimpleEditableTextInterface (0x7f5b92931a10) 0
+ vptr=((& QAccessibleSimpleEditableTextInterface::_ZTV38QAccessibleSimpleEditableTextInterface) + 16u)
+ QAccessibleEditableTextInterface (0x7f5b92931a80) 0 nearly-empty
+ primary-for QAccessibleSimpleEditableTextInterface (0x7f5b92931a10)
+ QAccessible2Interface (0x7f5b92931af0) 0 nearly-empty
+ primary-for QAccessibleEditableTextInterface (0x7f5b92931a80)
+
+Vtable for QAccessibleValueInterface
+QAccessibleValueInterface::_ZTV25QAccessibleValueInterface: 8u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI25QAccessibleValueInterface)
+16 QAccessibleValueInterface::~QAccessibleValueInterface
+24 QAccessibleValueInterface::~QAccessibleValueInterface
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+48 __cxa_pure_virtual
+56 __cxa_pure_virtual
+
+Class QAccessibleValueInterface
+ size=8 align=8
+ base size=8 base align=8
+QAccessibleValueInterface (0x7f5b92931d20) 0 nearly-empty
+ vptr=((& QAccessibleValueInterface::_ZTV25QAccessibleValueInterface) + 16u)
+ QAccessible2Interface (0x7f5b92931d90) 0 nearly-empty
+ primary-for QAccessibleValueInterface (0x7f5b92931d20)
+
+Vtable for QAccessibleTableInterface
+QAccessibleTableInterface::_ZTV25QAccessibleTableInterface: 30u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI25QAccessibleTableInterface)
+16 QAccessibleTableInterface::~QAccessibleTableInterface
+24 QAccessibleTableInterface::~QAccessibleTableInterface
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+48 __cxa_pure_virtual
+56 __cxa_pure_virtual
+64 __cxa_pure_virtual
+72 __cxa_pure_virtual
+80 __cxa_pure_virtual
+88 __cxa_pure_virtual
+96 __cxa_pure_virtual
+104 __cxa_pure_virtual
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 __cxa_pure_virtual
+136 __cxa_pure_virtual
+144 __cxa_pure_virtual
+152 __cxa_pure_virtual
+160 __cxa_pure_virtual
+168 __cxa_pure_virtual
+176 __cxa_pure_virtual
+184 __cxa_pure_virtual
+192 __cxa_pure_virtual
+200 __cxa_pure_virtual
+208 __cxa_pure_virtual
+216 __cxa_pure_virtual
+224 __cxa_pure_virtual
+232 __cxa_pure_virtual
+
+Class QAccessibleTableInterface
+ size=8 align=8
+ base size=8 base align=8
+QAccessibleTableInterface (0x7f5b92941b60) 0 nearly-empty
+ vptr=((& QAccessibleTableInterface::_ZTV25QAccessibleTableInterface) + 16u)
+ QAccessible2Interface (0x7f5b92941bd0) 0 nearly-empty
+ primary-for QAccessibleTableInterface (0x7f5b92941b60)
+
+Vtable for QAccessibleFactoryInterface
+QAccessibleFactoryInterface::_ZTV27QAccessibleFactoryInterface: 6u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI27QAccessibleFactoryInterface)
+16 QAccessibleFactoryInterface::~QAccessibleFactoryInterface
+24 QAccessibleFactoryInterface::~QAccessibleFactoryInterface
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+
+Class QAccessibleFactoryInterface
+ size=8 align=8
+ base size=8 base align=8
+QAccessibleFactoryInterface (0x7f5b92945c80) 0 nearly-empty
+ vptr=((& QAccessibleFactoryInterface::_ZTV27QAccessibleFactoryInterface) + 16u)
+ QAccessible (0x7f5b92941f50) 0 empty
+ QFactoryInterface (0x7f5b92941d90) 0 nearly-empty
+ primary-for QAccessibleFactoryInterface (0x7f5b92945c80)
+
+Vtable for QAccessiblePlugin
+QAccessiblePlugin::_ZTV17QAccessiblePlugin: 22u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QAccessiblePlugin)
+16 QAccessiblePlugin::metaObject
+24 QAccessiblePlugin::qt_metacast
+32 QAccessiblePlugin::qt_metacall
+40 QAccessiblePlugin::~QAccessiblePlugin
+48 QAccessiblePlugin::~QAccessiblePlugin
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 (int (*)(...))-0x00000000000000010
+136 (int (*)(...))(& _ZTI17QAccessiblePlugin)
+144 QAccessiblePlugin::_ZThn16_N17QAccessiblePluginD1Ev
+152 QAccessiblePlugin::_ZThn16_N17QAccessiblePluginD0Ev
+160 __cxa_pure_virtual
+168 __cxa_pure_virtual
+
+Class QAccessiblePlugin
+ size=24 align=8
+ base size=24 base align=8
+QAccessiblePlugin (0x7f5b92959480) 0
+ vptr=((& QAccessiblePlugin::_ZTV17QAccessiblePlugin) + 16u)
+ QObject (0x7f5b929557e0) 0
+ primary-for QAccessiblePlugin (0x7f5b92959480)
+ QAccessibleFactoryInterface (0x7f5b92959500) 16 nearly-empty
+ vptr=((& QAccessiblePlugin::_ZTV17QAccessiblePlugin) + 144u)
+ QAccessible (0x7f5b92955850) 16 empty
+ QFactoryInterface (0x7f5b929558c0) 16 nearly-empty
+ primary-for QAccessibleFactoryInterface (0x7f5b92959500)
+
+Vtable for QLayoutItem
+QLayoutItem::_ZTV11QLayoutItem: 18u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QLayoutItem)
+16 QLayoutItem::~QLayoutItem
+24 QLayoutItem::~QLayoutItem
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+48 __cxa_pure_virtual
+56 __cxa_pure_virtual
+64 __cxa_pure_virtual
+72 __cxa_pure_virtual
+80 __cxa_pure_virtual
+88 QLayoutItem::hasHeightForWidth
+96 QLayoutItem::heightForWidth
+104 QLayoutItem::minimumHeightForWidth
+112 QLayoutItem::invalidate
+120 QLayoutItem::widget
+128 QLayoutItem::layout
+136 QLayoutItem::spacerItem
+
+Class QLayoutItem
+ size=16 align=8
+ base size=12 base align=8
+QLayoutItem (0x7f5b929697e0) 0
+ vptr=((& QLayoutItem::_ZTV11QLayoutItem) + 16u)
+
+Vtable for QSpacerItem
+QSpacerItem::_ZTV11QSpacerItem: 18u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QSpacerItem)
+16 QSpacerItem::~QSpacerItem
+24 QSpacerItem::~QSpacerItem
+32 QSpacerItem::sizeHint
+40 QSpacerItem::minimumSize
+48 QSpacerItem::maximumSize
+56 QSpacerItem::expandingDirections
+64 QSpacerItem::setGeometry
+72 QSpacerItem::geometry
+80 QSpacerItem::isEmpty
+88 QLayoutItem::hasHeightForWidth
+96 QLayoutItem::heightForWidth
+104 QLayoutItem::minimumHeightForWidth
+112 QLayoutItem::invalidate
+120 QLayoutItem::widget
+128 QLayoutItem::layout
+136 QSpacerItem::spacerItem
+
+Class QSpacerItem
+ size=40 align=8
+ base size=40 base align=8
+QSpacerItem (0x7f5b92979380) 0
+ vptr=((& QSpacerItem::_ZTV11QSpacerItem) + 16u)
+ QLayoutItem (0x7f5b929793f0) 0
+ primary-for QSpacerItem (0x7f5b92979380)
+
+Vtable for QWidgetItem
+QWidgetItem::_ZTV11QWidgetItem: 18u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QWidgetItem)
+16 QWidgetItem::~QWidgetItem
+24 QWidgetItem::~QWidgetItem
+32 QWidgetItem::sizeHint
+40 QWidgetItem::minimumSize
+48 QWidgetItem::maximumSize
+56 QWidgetItem::expandingDirections
+64 QWidgetItem::setGeometry
+72 QWidgetItem::geometry
+80 QWidgetItem::isEmpty
+88 QWidgetItem::hasHeightForWidth
+96 QWidgetItem::heightForWidth
+104 QLayoutItem::minimumHeightForWidth
+112 QLayoutItem::invalidate
+120 QWidgetItem::widget
+128 QLayoutItem::layout
+136 QLayoutItem::spacerItem
+
+Class QWidgetItem
+ size=24 align=8
+ base size=24 base align=8
+QWidgetItem (0x7f5b929898c0) 0
+ vptr=((& QWidgetItem::_ZTV11QWidgetItem) + 16u)
+ QLayoutItem (0x7f5b92989930) 0
+ primary-for QWidgetItem (0x7f5b929898c0)
+
+Vtable for QWidgetItemV2
+QWidgetItemV2::_ZTV13QWidgetItemV2: 18u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QWidgetItemV2)
+16 QWidgetItemV2::~QWidgetItemV2
+24 QWidgetItemV2::~QWidgetItemV2
+32 QWidgetItemV2::sizeHint
+40 QWidgetItemV2::minimumSize
+48 QWidgetItemV2::maximumSize
+56 QWidgetItem::expandingDirections
+64 QWidgetItem::setGeometry
+72 QWidgetItem::geometry
+80 QWidgetItem::isEmpty
+88 QWidgetItem::hasHeightForWidth
+96 QWidgetItemV2::heightForWidth
+104 QLayoutItem::minimumHeightForWidth
+112 QLayoutItem::invalidate
+120 QWidgetItem::widget
+128 QLayoutItem::layout
+136 QLayoutItem::spacerItem
+
+Class QWidgetItemV2
+ size=88 align=8
+ base size=88 base align=8
+QWidgetItemV2 (0x7f5b92995700) 0
+ vptr=((& QWidgetItemV2::_ZTV13QWidgetItemV2) + 16u)
+ QWidgetItem (0x7f5b92995770) 0
+ primary-for QWidgetItemV2 (0x7f5b92995700)
+ QLayoutItem (0x7f5b929957e0) 0
+ primary-for QWidgetItem (0x7f5b92995770)
+
+Class QLayoutIterator
+ size=16 align=8
+ base size=12 base align=8
+QLayoutIterator (0x7f5b927a3540) 0
+
+Vtable for QLayout
+QLayout::_ZTV7QLayout: 45u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QLayout)
+16 QLayout::metaObject
+24 QLayout::qt_metacast
+32 QLayout::qt_metacall
+40 QLayout::~QLayout
+48 QLayout::~QLayout
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QLayout::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QLayout::invalidate
+120 QLayout::geometry
+128 __cxa_pure_virtual
+136 QLayout::expandingDirections
+144 QLayout::minimumSize
+152 QLayout::maximumSize
+160 QLayout::setGeometry
+168 __cxa_pure_virtual
+176 __cxa_pure_virtual
+184 QLayout::indexOf
+192 __cxa_pure_virtual
+200 QLayout::isEmpty
+208 QLayout::layout
+216 (int (*)(...))-0x00000000000000010
+224 (int (*)(...))(& _ZTI7QLayout)
+232 QLayout::_ZThn16_N7QLayoutD1Ev
+240 QLayout::_ZThn16_N7QLayoutD0Ev
+248 __cxa_pure_virtual
+256 QLayout::_ZThn16_NK7QLayout11minimumSizeEv
+264 QLayout::_ZThn16_NK7QLayout11maximumSizeEv
+272 QLayout::_ZThn16_NK7QLayout19expandingDirectionsEv
+280 QLayout::_ZThn16_N7QLayout11setGeometryERK5QRect
+288 QLayout::_ZThn16_NK7QLayout8geometryEv
+296 QLayout::_ZThn16_NK7QLayout7isEmptyEv
+304 QLayoutItem::hasHeightForWidth
+312 QLayoutItem::heightForWidth
+320 QLayoutItem::minimumHeightForWidth
+328 QLayout::_ZThn16_N7QLayout10invalidateEv
+336 QLayoutItem::widget
+344 QLayout::_ZThn16_N7QLayout6layoutEv
+352 QLayoutItem::spacerItem
+
+Class QLayout
+ size=32 align=8
+ base size=28 base align=8
+QLayout (0x7f5b927b1180) 0
+ vptr=((& QLayout::_ZTV7QLayout) + 16u)
+ QObject (0x7f5b927af690) 0
+ primary-for QLayout (0x7f5b927b1180)
+ QLayoutItem (0x7f5b927af700) 16
+ vptr=((& QLayout::_ZTV7QLayout) + 232u)
+
+Vtable for QBoxLayout
+QBoxLayout::_ZTV10QBoxLayout: 49u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QBoxLayout)
+16 QBoxLayout::metaObject
+24 QBoxLayout::qt_metacast
+32 QBoxLayout::qt_metacall
+40 QBoxLayout::~QBoxLayout
+48 QBoxLayout::~QBoxLayout
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QLayout::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QBoxLayout::invalidate
+120 QLayout::geometry
+128 QBoxLayout::addItem
+136 QBoxLayout::expandingDirections
+144 QBoxLayout::minimumSize
+152 QBoxLayout::maximumSize
+160 QBoxLayout::setGeometry
+168 QBoxLayout::itemAt
+176 QBoxLayout::takeAt
+184 QLayout::indexOf
+192 QBoxLayout::count
+200 QLayout::isEmpty
+208 QLayout::layout
+216 QBoxLayout::sizeHint
+224 QBoxLayout::hasHeightForWidth
+232 QBoxLayout::heightForWidth
+240 QBoxLayout::minimumHeightForWidth
+248 (int (*)(...))-0x00000000000000010
+256 (int (*)(...))(& _ZTI10QBoxLayout)
+264 QBoxLayout::_ZThn16_N10QBoxLayoutD1Ev
+272 QBoxLayout::_ZThn16_N10QBoxLayoutD0Ev
+280 QBoxLayout::_ZThn16_NK10QBoxLayout8sizeHintEv
+288 QBoxLayout::_ZThn16_NK10QBoxLayout11minimumSizeEv
+296 QBoxLayout::_ZThn16_NK10QBoxLayout11maximumSizeEv
+304 QBoxLayout::_ZThn16_NK10QBoxLayout19expandingDirectionsEv
+312 QBoxLayout::_ZThn16_N10QBoxLayout11setGeometryERK5QRect
+320 QLayout::_ZThn16_NK7QLayout8geometryEv
+328 QLayout::_ZThn16_NK7QLayout7isEmptyEv
+336 QBoxLayout::_ZThn16_NK10QBoxLayout17hasHeightForWidthEv
+344 QBoxLayout::_ZThn16_NK10QBoxLayout14heightForWidthEi
+352 QBoxLayout::_ZThn16_NK10QBoxLayout21minimumHeightForWidthEi
+360 QBoxLayout::_ZThn16_N10QBoxLayout10invalidateEv
+368 QLayoutItem::widget
+376 QLayout::_ZThn16_N7QLayout6layoutEv
+384 QLayoutItem::spacerItem
+
+Class QBoxLayout
+ size=32 align=8
+ base size=28 base align=8
+QBoxLayout (0x7f5b927ebbd0) 0
+ vptr=((& QBoxLayout::_ZTV10QBoxLayout) + 16u)
+ QLayout (0x7f5b927ef200) 0
+ primary-for QBoxLayout (0x7f5b927ebbd0)
+ QObject (0x7f5b927ebc40) 0
+ primary-for QLayout (0x7f5b927ef200)
+ QLayoutItem (0x7f5b927ebcb0) 16
+ vptr=((& QBoxLayout::_ZTV10QBoxLayout) + 264u)
+
+Vtable for QHBoxLayout
+QHBoxLayout::_ZTV11QHBoxLayout: 49u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QHBoxLayout)
+16 QHBoxLayout::metaObject
+24 QHBoxLayout::qt_metacast
+32 QHBoxLayout::qt_metacall
+40 QHBoxLayout::~QHBoxLayout
+48 QHBoxLayout::~QHBoxLayout
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QLayout::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QBoxLayout::invalidate
+120 QLayout::geometry
+128 QBoxLayout::addItem
+136 QBoxLayout::expandingDirections
+144 QBoxLayout::minimumSize
+152 QBoxLayout::maximumSize
+160 QBoxLayout::setGeometry
+168 QBoxLayout::itemAt
+176 QBoxLayout::takeAt
+184 QLayout::indexOf
+192 QBoxLayout::count
+200 QLayout::isEmpty
+208 QLayout::layout
+216 QBoxLayout::sizeHint
+224 QBoxLayout::hasHeightForWidth
+232 QBoxLayout::heightForWidth
+240 QBoxLayout::minimumHeightForWidth
+248 (int (*)(...))-0x00000000000000010
+256 (int (*)(...))(& _ZTI11QHBoxLayout)
+264 QHBoxLayout::_ZThn16_N11QHBoxLayoutD1Ev
+272 QHBoxLayout::_ZThn16_N11QHBoxLayoutD0Ev
+280 QBoxLayout::_ZThn16_NK10QBoxLayout8sizeHintEv
+288 QBoxLayout::_ZThn16_NK10QBoxLayout11minimumSizeEv
+296 QBoxLayout::_ZThn16_NK10QBoxLayout11maximumSizeEv
+304 QBoxLayout::_ZThn16_NK10QBoxLayout19expandingDirectionsEv
+312 QBoxLayout::_ZThn16_N10QBoxLayout11setGeometryERK5QRect
+320 QLayout::_ZThn16_NK7QLayout8geometryEv
+328 QLayout::_ZThn16_NK7QLayout7isEmptyEv
+336 QBoxLayout::_ZThn16_NK10QBoxLayout17hasHeightForWidthEv
+344 QBoxLayout::_ZThn16_NK10QBoxLayout14heightForWidthEi
+352 QBoxLayout::_ZThn16_NK10QBoxLayout21minimumHeightForWidthEi
+360 QBoxLayout::_ZThn16_N10QBoxLayout10invalidateEv
+368 QLayoutItem::widget
+376 QLayout::_ZThn16_N7QLayout6layoutEv
+384 QLayoutItem::spacerItem
+
+Class QHBoxLayout
+ size=32 align=8
+ base size=28 base align=8
+QHBoxLayout (0x7f5b9281a620) 0
+ vptr=((& QHBoxLayout::_ZTV11QHBoxLayout) + 16u)
+ QBoxLayout (0x7f5b9281a690) 0
+ primary-for QHBoxLayout (0x7f5b9281a620)
+ QLayout (0x7f5b927eff80) 0
+ primary-for QBoxLayout (0x7f5b9281a690)
+ QObject (0x7f5b9281a700) 0
+ primary-for QLayout (0x7f5b927eff80)
+ QLayoutItem (0x7f5b9281a770) 16
+ vptr=((& QHBoxLayout::_ZTV11QHBoxLayout) + 264u)
+
+Vtable for QVBoxLayout
+QVBoxLayout::_ZTV11QVBoxLayout: 49u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QVBoxLayout)
+16 QVBoxLayout::metaObject
+24 QVBoxLayout::qt_metacast
+32 QVBoxLayout::qt_metacall
+40 QVBoxLayout::~QVBoxLayout
+48 QVBoxLayout::~QVBoxLayout
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QLayout::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QBoxLayout::invalidate
+120 QLayout::geometry
+128 QBoxLayout::addItem
+136 QBoxLayout::expandingDirections
+144 QBoxLayout::minimumSize
+152 QBoxLayout::maximumSize
+160 QBoxLayout::setGeometry
+168 QBoxLayout::itemAt
+176 QBoxLayout::takeAt
+184 QLayout::indexOf
+192 QBoxLayout::count
+200 QLayout::isEmpty
+208 QLayout::layout
+216 QBoxLayout::sizeHint
+224 QBoxLayout::hasHeightForWidth
+232 QBoxLayout::heightForWidth
+240 QBoxLayout::minimumHeightForWidth
+248 (int (*)(...))-0x00000000000000010
+256 (int (*)(...))(& _ZTI11QVBoxLayout)
+264 QVBoxLayout::_ZThn16_N11QVBoxLayoutD1Ev
+272 QVBoxLayout::_ZThn16_N11QVBoxLayoutD0Ev
+280 QBoxLayout::_ZThn16_NK10QBoxLayout8sizeHintEv
+288 QBoxLayout::_ZThn16_NK10QBoxLayout11minimumSizeEv
+296 QBoxLayout::_ZThn16_NK10QBoxLayout11maximumSizeEv
+304 QBoxLayout::_ZThn16_NK10QBoxLayout19expandingDirectionsEv
+312 QBoxLayout::_ZThn16_N10QBoxLayout11setGeometryERK5QRect
+320 QLayout::_ZThn16_NK7QLayout8geometryEv
+328 QLayout::_ZThn16_NK7QLayout7isEmptyEv
+336 QBoxLayout::_ZThn16_NK10QBoxLayout17hasHeightForWidthEv
+344 QBoxLayout::_ZThn16_NK10QBoxLayout14heightForWidthEi
+352 QBoxLayout::_ZThn16_NK10QBoxLayout21minimumHeightForWidthEi
+360 QBoxLayout::_ZThn16_N10QBoxLayout10invalidateEv
+368 QLayoutItem::widget
+376 QLayout::_ZThn16_N7QLayout6layoutEv
+384 QLayoutItem::spacerItem
+
+Class QVBoxLayout
+ size=32 align=8
+ base size=28 base align=8
+QVBoxLayout (0x7f5b92826cb0) 0
+ vptr=((& QVBoxLayout::_ZTV11QVBoxLayout) + 16u)
+ QBoxLayout (0x7f5b92826d20) 0
+ primary-for QVBoxLayout (0x7f5b92826cb0)
+ QLayout (0x7f5b9281d680) 0
+ primary-for QBoxLayout (0x7f5b92826d20)
+ QObject (0x7f5b92826d90) 0
+ primary-for QLayout (0x7f5b9281d680)
+ QLayoutItem (0x7f5b92826e00) 16
+ vptr=((& QVBoxLayout::_ZTV11QVBoxLayout) + 264u)
+
+Vtable for QGridLayout
+QGridLayout::_ZTV11QGridLayout: 49u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QGridLayout)
+16 QGridLayout::metaObject
+24 QGridLayout::qt_metacast
+32 QGridLayout::qt_metacall
+40 QGridLayout::~QGridLayout
+48 QGridLayout::~QGridLayout
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QLayout::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QGridLayout::invalidate
+120 QLayout::geometry
+128 QGridLayout::addItem
+136 QGridLayout::expandingDirections
+144 QGridLayout::minimumSize
+152 QGridLayout::maximumSize
+160 QGridLayout::setGeometry
+168 QGridLayout::itemAt
+176 QGridLayout::takeAt
+184 QLayout::indexOf
+192 QGridLayout::count
+200 QLayout::isEmpty
+208 QLayout::layout
+216 QGridLayout::sizeHint
+224 QGridLayout::hasHeightForWidth
+232 QGridLayout::heightForWidth
+240 QGridLayout::minimumHeightForWidth
+248 (int (*)(...))-0x00000000000000010
+256 (int (*)(...))(& _ZTI11QGridLayout)
+264 QGridLayout::_ZThn16_N11QGridLayoutD1Ev
+272 QGridLayout::_ZThn16_N11QGridLayoutD0Ev
+280 QGridLayout::_ZThn16_NK11QGridLayout8sizeHintEv
+288 QGridLayout::_ZThn16_NK11QGridLayout11minimumSizeEv
+296 QGridLayout::_ZThn16_NK11QGridLayout11maximumSizeEv
+304 QGridLayout::_ZThn16_NK11QGridLayout19expandingDirectionsEv
+312 QGridLayout::_ZThn16_N11QGridLayout11setGeometryERK5QRect
+320 QLayout::_ZThn16_NK7QLayout8geometryEv
+328 QLayout::_ZThn16_NK7QLayout7isEmptyEv
+336 QGridLayout::_ZThn16_NK11QGridLayout17hasHeightForWidthEv
+344 QGridLayout::_ZThn16_NK11QGridLayout14heightForWidthEi
+352 QGridLayout::_ZThn16_NK11QGridLayout21minimumHeightForWidthEi
+360 QGridLayout::_ZThn16_N11QGridLayout10invalidateEv
+368 QLayoutItem::widget
+376 QLayout::_ZThn16_N7QLayout6layoutEv
+384 QLayoutItem::spacerItem
+
+Class QGridLayout
+ size=32 align=8
+ base size=28 base align=8
+QGridLayout (0x7f5b9284a2a0) 0
+ vptr=((& QGridLayout::_ZTV11QGridLayout) + 16u)
+ QLayout (0x7f5b9281dd80) 0
+ primary-for QGridLayout (0x7f5b9284a2a0)
+ QObject (0x7f5b9284a310) 0
+ primary-for QLayout (0x7f5b9281dd80)
+ QLayoutItem (0x7f5b9284a380) 16
+ vptr=((& QGridLayout::_ZTV11QGridLayout) + 264u)
+
+Vtable for QFormLayout
+QFormLayout::_ZTV11QFormLayout: 48u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QFormLayout)
+16 QFormLayout::metaObject
+24 QFormLayout::qt_metacast
+32 QFormLayout::qt_metacall
+40 QFormLayout::~QFormLayout
+48 QFormLayout::~QFormLayout
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QLayout::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QFormLayout::invalidate
+120 QLayout::geometry
+128 QFormLayout::addItem
+136 QFormLayout::expandingDirections
+144 QFormLayout::minimumSize
+152 QLayout::maximumSize
+160 QFormLayout::setGeometry
+168 QFormLayout::itemAt
+176 QFormLayout::takeAt
+184 QLayout::indexOf
+192 QFormLayout::count
+200 QLayout::isEmpty
+208 QLayout::layout
+216 QFormLayout::sizeHint
+224 QFormLayout::hasHeightForWidth
+232 QFormLayout::heightForWidth
+240 (int (*)(...))-0x00000000000000010
+248 (int (*)(...))(& _ZTI11QFormLayout)
+256 QFormLayout::_ZThn16_N11QFormLayoutD1Ev
+264 QFormLayout::_ZThn16_N11QFormLayoutD0Ev
+272 QFormLayout::_ZThn16_NK11QFormLayout8sizeHintEv
+280 QFormLayout::_ZThn16_NK11QFormLayout11minimumSizeEv
+288 QLayout::_ZThn16_NK7QLayout11maximumSizeEv
+296 QFormLayout::_ZThn16_NK11QFormLayout19expandingDirectionsEv
+304 QFormLayout::_ZThn16_N11QFormLayout11setGeometryERK5QRect
+312 QLayout::_ZThn16_NK7QLayout8geometryEv
+320 QLayout::_ZThn16_NK7QLayout7isEmptyEv
+328 QFormLayout::_ZThn16_NK11QFormLayout17hasHeightForWidthEv
+336 QFormLayout::_ZThn16_NK11QFormLayout14heightForWidthEi
+344 QLayoutItem::minimumHeightForWidth
+352 QFormLayout::_ZThn16_N11QFormLayout10invalidateEv
+360 QLayoutItem::widget
+368 QLayout::_ZThn16_N7QLayout6layoutEv
+376 QLayoutItem::spacerItem
+
+Class QFormLayout
+ size=32 align=8
+ base size=28 base align=8
+QFormLayout (0x7f5b92895310) 0
+ vptr=((& QFormLayout::_ZTV11QFormLayout) + 16u)
+ QLayout (0x7f5b92890b80) 0
+ primary-for QFormLayout (0x7f5b92895310)
+ QObject (0x7f5b92895380) 0
+ primary-for QLayout (0x7f5b92890b80)
+ QLayoutItem (0x7f5b928953f0) 16
+ vptr=((& QFormLayout::_ZTV11QFormLayout) + 256u)
+
+Vtable for QClipboard
+QClipboard::_ZTV10QClipboard: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QClipboard)
+16 QClipboard::metaObject
+24 QClipboard::qt_metacast
+32 QClipboard::qt_metacall
+40 QClipboard::~QClipboard
+48 QClipboard::~QClipboard
+56 QClipboard::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QClipboard::connectNotify
+104 QObject::disconnectNotify
+
+Class QClipboard
+ size=16 align=8
+ base size=16 base align=8
+QClipboard (0x7f5b926bf770) 0
+ vptr=((& QClipboard::_ZTV10QClipboard) + 16u)
+ QObject (0x7f5b926bf7e0) 0
+ primary-for QClipboard (0x7f5b926bf770)
+
+Class QWhatsThis
+ size=1 align=1
+ base size=0 base align=1
+QWhatsThis (0x7f5b926e34d0) 0 empty
+
+Vtable for QDesktopWidget
+QDesktopWidget::_ZTV14QDesktopWidget: 63u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QDesktopWidget)
+16 QDesktopWidget::metaObject
+24 QDesktopWidget::qt_metacast
+32 QDesktopWidget::qt_metacall
+40 QDesktopWidget::~QDesktopWidget
+48 QDesktopWidget::~QDesktopWidget
+56 QWidget::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QWidget::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QWidget::paintEvent
+256 QWidget::moveEvent
+264 QDesktopWidget::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QWidget::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 (int (*)(...))-0x00000000000000010
+456 (int (*)(...))(& _ZTI14QDesktopWidget)
+464 QDesktopWidget::_ZThn16_N14QDesktopWidgetD1Ev
+472 QDesktopWidget::_ZThn16_N14QDesktopWidgetD0Ev
+480 QWidget::_ZThn16_NK7QWidget7devTypeEv
+488 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+496 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QDesktopWidget
+ size=40 align=8
+ base size=40 base align=8
+QDesktopWidget (0x7f5b926e35b0) 0
+ vptr=((& QDesktopWidget::_ZTV14QDesktopWidget) + 16u)
+ QWidget (0x7f5b926df400) 0
+ primary-for QDesktopWidget (0x7f5b926e35b0)
+ QObject (0x7f5b926e3620) 0
+ primary-for QWidget (0x7f5b926df400)
+ QPaintDevice (0x7f5b926e3690) 16
+ vptr=((& QDesktopWidget::_ZTV14QDesktopWidget) + 464u)
+
+Vtable for QShortcut
+QShortcut::_ZTV9QShortcut: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QShortcut)
+16 QShortcut::metaObject
+24 QShortcut::qt_metacast
+32 QShortcut::qt_metacall
+40 QShortcut::~QShortcut
+48 QShortcut::~QShortcut
+56 QShortcut::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QShortcut
+ size=16 align=8
+ base size=16 base align=8
+QShortcut (0x7f5b927085b0) 0
+ vptr=((& QShortcut::_ZTV9QShortcut) + 16u)
+ QObject (0x7f5b92708620) 0
+ primary-for QShortcut (0x7f5b927085b0)
+
+Vtable for QSessionManager
+QSessionManager::_ZTV15QSessionManager: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QSessionManager)
+16 QSessionManager::metaObject
+24 QSessionManager::qt_metacast
+32 QSessionManager::qt_metacall
+40 QSessionManager::~QSessionManager
+48 QSessionManager::~QSessionManager
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QSessionManager
+ size=16 align=8
+ base size=16 base align=8
+QSessionManager (0x7f5b9271cd20) 0
+ vptr=((& QSessionManager::_ZTV15QSessionManager) + 16u)
+ QObject (0x7f5b9271cd90) 0
+ primary-for QSessionManager (0x7f5b9271cd20)
+
+Vtable for QApplication
+QApplication::_ZTV12QApplication: 20u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QApplication)
+16 QApplication::metaObject
+24 QApplication::qt_metacast
+32 QApplication::qt_metacall
+40 QApplication::~QApplication
+48 QApplication::~QApplication
+56 QApplication::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QApplication::notify
+120 QApplication::compressEvent
+128 QApplication::x11EventFilter
+136 QApplication::x11ClientMessage
+144 QApplication::commitData
+152 QApplication::saveState
+
+Class QApplication
+ size=16 align=8
+ base size=16 base align=8
+QApplication (0x7f5b9273a2a0) 0
+ vptr=((& QApplication::_ZTV12QApplication) + 16u)
+ QCoreApplication (0x7f5b9273a310) 0
+ primary-for QApplication (0x7f5b9273a2a0)
+ QObject (0x7f5b9273a380) 0
+ primary-for QCoreApplication (0x7f5b9273a310)
+
+Vtable for QAction
+QAction::_ZTV7QAction: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QAction)
+16 QAction::metaObject
+24 QAction::qt_metacast
+32 QAction::qt_metacall
+40 QAction::~QAction
+48 QAction::~QAction
+56 QAction::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QAction
+ size=16 align=8
+ base size=16 base align=8
+QAction (0x7f5b92782ee0) 0
+ vptr=((& QAction::_ZTV7QAction) + 16u)
+ QObject (0x7f5b92782f50) 0
+ primary-for QAction (0x7f5b92782ee0)
+
+Vtable for QActionGroup
+QActionGroup::_ZTV12QActionGroup: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QActionGroup)
+16 QActionGroup::metaObject
+24 QActionGroup::qt_metacast
+32 QActionGroup::qt_metacall
+40 QActionGroup::~QActionGroup
+48 QActionGroup::~QActionGroup
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QActionGroup
+ size=16 align=8
+ base size=16 base align=8
+QActionGroup (0x7f5b925c4700) 0
+ vptr=((& QActionGroup::_ZTV12QActionGroup) + 16u)
+ QObject (0x7f5b925c4770) 0
+ primary-for QActionGroup (0x7f5b925c4700)
+
+Vtable for QSound
+QSound::_ZTV6QSound: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI6QSound)
+16 QSound::metaObject
+24 QSound::qt_metacast
+32 QSound::qt_metacall
+40 QSound::~QSound
+48 QSound::~QSound
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QSound
+ size=16 align=8
+ base size=16 base align=8
+QSound (0x7f5b925e0af0) 0
+ vptr=((& QSound::_ZTV6QSound) + 16u)
+ QObject (0x7f5b925e0b60) 0
+ primary-for QSound (0x7f5b925e0af0)
+
+Vtable for QStackedLayout
+QStackedLayout::_ZTV14QStackedLayout: 46u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QStackedLayout)
+16 QStackedLayout::metaObject
+24 QStackedLayout::qt_metacast
+32 QStackedLayout::qt_metacall
+40 QStackedLayout::~QStackedLayout
+48 QStackedLayout::~QStackedLayout
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QLayout::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QLayout::invalidate
+120 QLayout::geometry
+128 QStackedLayout::addItem
+136 QLayout::expandingDirections
+144 QStackedLayout::minimumSize
+152 QLayout::maximumSize
+160 QStackedLayout::setGeometry
+168 QStackedLayout::itemAt
+176 QStackedLayout::takeAt
+184 QLayout::indexOf
+192 QStackedLayout::count
+200 QLayout::isEmpty
+208 QLayout::layout
+216 QStackedLayout::sizeHint
+224 (int (*)(...))-0x00000000000000010
+232 (int (*)(...))(& _ZTI14QStackedLayout)
+240 QStackedLayout::_ZThn16_N14QStackedLayoutD1Ev
+248 QStackedLayout::_ZThn16_N14QStackedLayoutD0Ev
+256 QStackedLayout::_ZThn16_NK14QStackedLayout8sizeHintEv
+264 QStackedLayout::_ZThn16_NK14QStackedLayout11minimumSizeEv
+272 QLayout::_ZThn16_NK7QLayout11maximumSizeEv
+280 QLayout::_ZThn16_NK7QLayout19expandingDirectionsEv
+288 QStackedLayout::_ZThn16_N14QStackedLayout11setGeometryERK5QRect
+296 QLayout::_ZThn16_NK7QLayout8geometryEv
+304 QLayout::_ZThn16_NK7QLayout7isEmptyEv
+312 QLayoutItem::hasHeightForWidth
+320 QLayoutItem::heightForWidth
+328 QLayoutItem::minimumHeightForWidth
+336 QLayout::_ZThn16_N7QLayout10invalidateEv
+344 QLayoutItem::widget
+352 QLayout::_ZThn16_N7QLayout6layoutEv
+360 QLayoutItem::spacerItem
+
+Class QStackedLayout
+ size=32 align=8
+ base size=28 base align=8
+QStackedLayout (0x7f5b926212a0) 0
+ vptr=((& QStackedLayout::_ZTV14QStackedLayout) + 16u)
+ QLayout (0x7f5b9260aa80) 0
+ primary-for QStackedLayout (0x7f5b926212a0)
+ QObject (0x7f5b92621310) 0
+ primary-for QLayout (0x7f5b9260aa80)
+ QLayoutItem (0x7f5b92621380) 16
+ vptr=((& QStackedLayout::_ZTV14QStackedLayout) + 240u)
+
+Vtable for QWidgetAction
+QWidgetAction::_ZTV13QWidgetAction: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QWidgetAction)
+16 QWidgetAction::metaObject
+24 QWidgetAction::qt_metacast
+32 QWidgetAction::qt_metacall
+40 QWidgetAction::~QWidgetAction
+48 QWidgetAction::~QWidgetAction
+56 QWidgetAction::event
+64 QWidgetAction::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidgetAction::createWidget
+120 QWidgetAction::deleteWidget
+
+Class QWidgetAction
+ size=16 align=8
+ base size=16 base align=8
+QWidgetAction (0x7f5b9263f2a0) 0
+ vptr=((& QWidgetAction::_ZTV13QWidgetAction) + 16u)
+ QAction (0x7f5b9263f310) 0
+ primary-for QWidgetAction (0x7f5b9263f2a0)
+ QObject (0x7f5b9263f380) 0
+ primary-for QAction (0x7f5b9263f310)
+
+Class QToolTip
+ size=1 align=1
+ base size=0 base align=1
+QToolTip (0x7f5b92652c40) 0 empty
+
+Vtable for QCommonStyle
+QCommonStyle::_ZTV12QCommonStyle: 35u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QCommonStyle)
+16 QCommonStyle::metaObject
+24 QCommonStyle::qt_metacast
+32 QCommonStyle::qt_metacall
+40 QCommonStyle::~QCommonStyle
+48 QCommonStyle::~QCommonStyle
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QCommonStyle::polish
+120 QCommonStyle::unpolish
+128 QCommonStyle::polish
+136 QCommonStyle::unpolish
+144 QCommonStyle::polish
+152 QStyle::itemTextRect
+160 QStyle::itemPixmapRect
+168 QStyle::drawItemText
+176 QStyle::drawItemPixmap
+184 QStyle::standardPalette
+192 QCommonStyle::drawPrimitive
+200 QCommonStyle::drawControl
+208 QCommonStyle::subElementRect
+216 QCommonStyle::drawComplexControl
+224 QCommonStyle::hitTestComplexControl
+232 QCommonStyle::subControlRect
+240 QCommonStyle::pixelMetric
+248 QCommonStyle::sizeFromContents
+256 QCommonStyle::styleHint
+264 QCommonStyle::standardPixmap
+272 QCommonStyle::generatedIconPixmap
+
+Class QCommonStyle
+ size=16 align=8
+ base size=16 base align=8
+QCommonStyle (0x7f5b9265e230) 0
+ vptr=((& QCommonStyle::_ZTV12QCommonStyle) + 16u)
+ QStyle (0x7f5b9265e2a0) 0
+ primary-for QCommonStyle (0x7f5b9265e230)
+ QObject (0x7f5b9265e310) 0
+ primary-for QStyle (0x7f5b9265e2a0)
+
+Vtable for QMotifStyle
+QMotifStyle::_ZTV11QMotifStyle: 35u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QMotifStyle)
+16 QMotifStyle::metaObject
+24 QMotifStyle::qt_metacast
+32 QMotifStyle::qt_metacall
+40 QMotifStyle::~QMotifStyle
+48 QMotifStyle::~QMotifStyle
+56 QMotifStyle::event
+64 QMotifStyle::eventFilter
+72 QMotifStyle::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QMotifStyle::polish
+120 QMotifStyle::unpolish
+128 QMotifStyle::polish
+136 QMotifStyle::unpolish
+144 QMotifStyle::polish
+152 QStyle::itemTextRect
+160 QStyle::itemPixmapRect
+168 QStyle::drawItemText
+176 QStyle::drawItemPixmap
+184 QMotifStyle::standardPalette
+192 QMotifStyle::drawPrimitive
+200 QMotifStyle::drawControl
+208 QMotifStyle::subElementRect
+216 QMotifStyle::drawComplexControl
+224 QCommonStyle::hitTestComplexControl
+232 QMotifStyle::subControlRect
+240 QMotifStyle::pixelMetric
+248 QMotifStyle::sizeFromContents
+256 QMotifStyle::styleHint
+264 QMotifStyle::standardPixmap
+272 QCommonStyle::generatedIconPixmap
+
+Class QMotifStyle
+ size=32 align=8
+ base size=25 base align=8
+QMotifStyle (0x7f5b9267d230) 0
+ vptr=((& QMotifStyle::_ZTV11QMotifStyle) + 16u)
+ QCommonStyle (0x7f5b9267d2a0) 0
+ primary-for QMotifStyle (0x7f5b9267d230)
+ QStyle (0x7f5b9267d310) 0
+ primary-for QCommonStyle (0x7f5b9267d2a0)
+ QObject (0x7f5b9267d380) 0
+ primary-for QStyle (0x7f5b9267d310)
+
+Vtable for QWindowsStyle
+QWindowsStyle::_ZTV13QWindowsStyle: 35u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QWindowsStyle)
+16 QWindowsStyle::metaObject
+24 QWindowsStyle::qt_metacast
+32 QWindowsStyle::qt_metacall
+40 QWindowsStyle::~QWindowsStyle
+48 QWindowsStyle::~QWindowsStyle
+56 QObject::event
+64 QWindowsStyle::eventFilter
+72 QWindowsStyle::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWindowsStyle::polish
+120 QWindowsStyle::unpolish
+128 QWindowsStyle::polish
+136 QWindowsStyle::unpolish
+144 QWindowsStyle::polish
+152 QStyle::itemTextRect
+160 QStyle::itemPixmapRect
+168 QStyle::drawItemText
+176 QStyle::drawItemPixmap
+184 QStyle::standardPalette
+192 QWindowsStyle::drawPrimitive
+200 QWindowsStyle::drawControl
+208 QWindowsStyle::subElementRect
+216 QWindowsStyle::drawComplexControl
+224 QCommonStyle::hitTestComplexControl
+232 QCommonStyle::subControlRect
+240 QWindowsStyle::pixelMetric
+248 QWindowsStyle::sizeFromContents
+256 QWindowsStyle::styleHint
+264 QWindowsStyle::standardPixmap
+272 QCommonStyle::generatedIconPixmap
+
+Class QWindowsStyle
+ size=24 align=8
+ base size=24 base align=8
+QWindowsStyle (0x7f5b924a5150) 0
+ vptr=((& QWindowsStyle::_ZTV13QWindowsStyle) + 16u)
+ QCommonStyle (0x7f5b924a51c0) 0
+ primary-for QWindowsStyle (0x7f5b924a5150)
+ QStyle (0x7f5b924a5230) 0
+ primary-for QCommonStyle (0x7f5b924a51c0)
+ QObject (0x7f5b924a52a0) 0
+ primary-for QStyle (0x7f5b924a5230)
+
+Vtable for QCleanlooksStyle
+QCleanlooksStyle::_ZTV16QCleanlooksStyle: 35u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QCleanlooksStyle)
+16 QCleanlooksStyle::metaObject
+24 QCleanlooksStyle::qt_metacast
+32 QCleanlooksStyle::qt_metacall
+40 QCleanlooksStyle::~QCleanlooksStyle
+48 QCleanlooksStyle::~QCleanlooksStyle
+56 QObject::event
+64 QWindowsStyle::eventFilter
+72 QWindowsStyle::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QCleanlooksStyle::polish
+120 QCleanlooksStyle::unpolish
+128 QCleanlooksStyle::polish
+136 QCleanlooksStyle::unpolish
+144 QCleanlooksStyle::polish
+152 QStyle::itemTextRect
+160 QCleanlooksStyle::itemPixmapRect
+168 QCleanlooksStyle::drawItemText
+176 QCleanlooksStyle::drawItemPixmap
+184 QCleanlooksStyle::standardPalette
+192 QCleanlooksStyle::drawPrimitive
+200 QCleanlooksStyle::drawControl
+208 QCleanlooksStyle::subElementRect
+216 QCleanlooksStyle::drawComplexControl
+224 QCleanlooksStyle::hitTestComplexControl
+232 QCleanlooksStyle::subControlRect
+240 QCleanlooksStyle::pixelMetric
+248 QCleanlooksStyle::sizeFromContents
+256 QCleanlooksStyle::styleHint
+264 QCleanlooksStyle::standardPixmap
+272 QCleanlooksStyle::generatedIconPixmap
+
+Class QCleanlooksStyle
+ size=24 align=8
+ base size=24 base align=8
+QCleanlooksStyle (0x7f5b924bbee0) 0
+ vptr=((& QCleanlooksStyle::_ZTV16QCleanlooksStyle) + 16u)
+ QWindowsStyle (0x7f5b924bbf50) 0
+ primary-for QCleanlooksStyle (0x7f5b924bbee0)
+ QCommonStyle (0x7f5b924c2000) 0
+ primary-for QWindowsStyle (0x7f5b924bbf50)
+ QStyle (0x7f5b924c2070) 0
+ primary-for QCommonStyle (0x7f5b924c2000)
+ QObject (0x7f5b924c20e0) 0
+ primary-for QStyle (0x7f5b924c2070)
+
+Vtable for QStyleFactoryInterface
+QStyleFactoryInterface::_ZTV22QStyleFactoryInterface: 6u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI22QStyleFactoryInterface)
+16 QStyleFactoryInterface::~QStyleFactoryInterface
+24 QStyleFactoryInterface::~QStyleFactoryInterface
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+
+Class QStyleFactoryInterface
+ size=8 align=8
+ base size=8 base align=8
+QStyleFactoryInterface (0x7f5b924dfcb0) 0 nearly-empty
+ vptr=((& QStyleFactoryInterface::_ZTV22QStyleFactoryInterface) + 16u)
+ QFactoryInterface (0x7f5b924dfd20) 0 nearly-empty
+ primary-for QStyleFactoryInterface (0x7f5b924dfcb0)
+
+Vtable for QStylePlugin
+QStylePlugin::_ZTV12QStylePlugin: 22u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QStylePlugin)
+16 QStylePlugin::metaObject
+24 QStylePlugin::qt_metacast
+32 QStylePlugin::qt_metacall
+40 QStylePlugin::~QStylePlugin
+48 QStylePlugin::~QStylePlugin
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 (int (*)(...))-0x00000000000000010
+136 (int (*)(...))(& _ZTI12QStylePlugin)
+144 QStylePlugin::_ZThn16_N12QStylePluginD1Ev
+152 QStylePlugin::_ZThn16_N12QStylePluginD0Ev
+160 __cxa_pure_virtual
+168 __cxa_pure_virtual
+
+Class QStylePlugin
+ size=24 align=8
+ base size=24 base align=8
+QStylePlugin (0x7f5b924c3f80) 0
+ vptr=((& QStylePlugin::_ZTV12QStylePlugin) + 16u)
+ QObject (0x7f5b924ea540) 0
+ primary-for QStylePlugin (0x7f5b924c3f80)
+ QStyleFactoryInterface (0x7f5b924ea5b0) 16 nearly-empty
+ vptr=((& QStylePlugin::_ZTV12QStylePlugin) + 144u)
+ QFactoryInterface (0x7f5b924ea620) 16 nearly-empty
+ primary-for QStyleFactoryInterface (0x7f5b924ea5b0)
+
+Vtable for QWindowsXPStyle
+QWindowsXPStyle::_ZTV15QWindowsXPStyle: 35u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QWindowsXPStyle)
+16 QWindowsXPStyle::metaObject
+24 QWindowsXPStyle::qt_metacast
+32 QWindowsXPStyle::qt_metacall
+40 QWindowsXPStyle::~QWindowsXPStyle
+48 QWindowsXPStyle::~QWindowsXPStyle
+56 QObject::event
+64 QWindowsStyle::eventFilter
+72 QWindowsStyle::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWindowsXPStyle::polish
+120 QWindowsXPStyle::unpolish
+128 QWindowsXPStyle::polish
+136 QWindowsXPStyle::unpolish
+144 QWindowsXPStyle::polish
+152 QStyle::itemTextRect
+160 QStyle::itemPixmapRect
+168 QStyle::drawItemText
+176 QStyle::drawItemPixmap
+184 QWindowsXPStyle::standardPalette
+192 QWindowsXPStyle::drawPrimitive
+200 QWindowsXPStyle::drawControl
+208 QWindowsXPStyle::subElementRect
+216 QWindowsXPStyle::drawComplexControl
+224 QCommonStyle::hitTestComplexControl
+232 QWindowsXPStyle::subControlRect
+240 QWindowsXPStyle::pixelMetric
+248 QWindowsXPStyle::sizeFromContents
+256 QWindowsXPStyle::styleHint
+264 QWindowsXPStyle::standardPixmap
+272 QCommonStyle::generatedIconPixmap
+
+Class QWindowsXPStyle
+ size=32 align=8
+ base size=32 base align=8
+QWindowsXPStyle (0x7f5b924fb4d0) 0
+ vptr=((& QWindowsXPStyle::_ZTV15QWindowsXPStyle) + 16u)
+ QWindowsStyle (0x7f5b924fb540) 0
+ primary-for QWindowsXPStyle (0x7f5b924fb4d0)
+ QCommonStyle (0x7f5b924fb5b0) 0
+ primary-for QWindowsStyle (0x7f5b924fb540)
+ QStyle (0x7f5b924fb620) 0
+ primary-for QCommonStyle (0x7f5b924fb5b0)
+ QObject (0x7f5b924fb690) 0
+ primary-for QStyle (0x7f5b924fb620)
+
+Vtable for QCDEStyle
+QCDEStyle::_ZTV9QCDEStyle: 35u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QCDEStyle)
+16 QCDEStyle::metaObject
+24 QCDEStyle::qt_metacast
+32 QCDEStyle::qt_metacall
+40 QCDEStyle::~QCDEStyle
+48 QCDEStyle::~QCDEStyle
+56 QMotifStyle::event
+64 QMotifStyle::eventFilter
+72 QMotifStyle::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QMotifStyle::polish
+120 QMotifStyle::unpolish
+128 QMotifStyle::polish
+136 QMotifStyle::unpolish
+144 QMotifStyle::polish
+152 QStyle::itemTextRect
+160 QStyle::itemPixmapRect
+168 QStyle::drawItemText
+176 QStyle::drawItemPixmap
+184 QCDEStyle::standardPalette
+192 QCDEStyle::drawPrimitive
+200 QCDEStyle::drawControl
+208 QMotifStyle::subElementRect
+216 QMotifStyle::drawComplexControl
+224 QCommonStyle::hitTestComplexControl
+232 QMotifStyle::subControlRect
+240 QCDEStyle::pixelMetric
+248 QMotifStyle::sizeFromContents
+256 QMotifStyle::styleHint
+264 QMotifStyle::standardPixmap
+272 QCommonStyle::generatedIconPixmap
+
+Class QCDEStyle
+ size=32 align=8
+ base size=25 base align=8
+QCDEStyle (0x7f5b9251e380) 0
+ vptr=((& QCDEStyle::_ZTV9QCDEStyle) + 16u)
+ QMotifStyle (0x7f5b9251e3f0) 0
+ primary-for QCDEStyle (0x7f5b9251e380)
+ QCommonStyle (0x7f5b9251e460) 0
+ primary-for QMotifStyle (0x7f5b9251e3f0)
+ QStyle (0x7f5b9251e4d0) 0
+ primary-for QCommonStyle (0x7f5b9251e460)
+ QObject (0x7f5b9251e540) 0
+ primary-for QStyle (0x7f5b9251e4d0)
+
+Vtable for QPlastiqueStyle
+QPlastiqueStyle::_ZTV15QPlastiqueStyle: 35u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QPlastiqueStyle)
+16 QPlastiqueStyle::metaObject
+24 QPlastiqueStyle::qt_metacast
+32 QPlastiqueStyle::qt_metacall
+40 QPlastiqueStyle::~QPlastiqueStyle
+48 QPlastiqueStyle::~QPlastiqueStyle
+56 QObject::event
+64 QPlastiqueStyle::eventFilter
+72 QPlastiqueStyle::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QPlastiqueStyle::polish
+120 QPlastiqueStyle::unpolish
+128 QPlastiqueStyle::polish
+136 QPlastiqueStyle::unpolish
+144 QPlastiqueStyle::polish
+152 QStyle::itemTextRect
+160 QStyle::itemPixmapRect
+168 QStyle::drawItemText
+176 QStyle::drawItemPixmap
+184 QPlastiqueStyle::standardPalette
+192 QPlastiqueStyle::drawPrimitive
+200 QPlastiqueStyle::drawControl
+208 QPlastiqueStyle::subElementRect
+216 QPlastiqueStyle::drawComplexControl
+224 QPlastiqueStyle::hitTestComplexControl
+232 QPlastiqueStyle::subControlRect
+240 QPlastiqueStyle::pixelMetric
+248 QPlastiqueStyle::sizeFromContents
+256 QPlastiqueStyle::styleHint
+264 QPlastiqueStyle::standardPixmap
+272 QCommonStyle::generatedIconPixmap
+
+Class QPlastiqueStyle
+ size=32 align=8
+ base size=32 base align=8
+QPlastiqueStyle (0x7f5b925304d0) 0
+ vptr=((& QPlastiqueStyle::_ZTV15QPlastiqueStyle) + 16u)
+ QWindowsStyle (0x7f5b92530540) 0
+ primary-for QPlastiqueStyle (0x7f5b925304d0)
+ QCommonStyle (0x7f5b925305b0) 0
+ primary-for QWindowsStyle (0x7f5b92530540)
+ QStyle (0x7f5b92530620) 0
+ primary-for QCommonStyle (0x7f5b925305b0)
+ QObject (0x7f5b92530690) 0
+ primary-for QStyle (0x7f5b92530620)
+
+Vtable for QWindowsVistaStyle
+QWindowsVistaStyle::_ZTV18QWindowsVistaStyle: 35u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QWindowsVistaStyle)
+16 QWindowsVistaStyle::metaObject
+24 QWindowsVistaStyle::qt_metacast
+32 QWindowsVistaStyle::qt_metacall
+40 QWindowsVistaStyle::~QWindowsVistaStyle
+48 QWindowsVistaStyle::~QWindowsVistaStyle
+56 QWindowsVistaStyle::event
+64 QWindowsStyle::eventFilter
+72 QWindowsStyle::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWindowsVistaStyle::polish
+120 QWindowsVistaStyle::unpolish
+128 QWindowsVistaStyle::polish
+136 QWindowsVistaStyle::unpolish
+144 QWindowsVistaStyle::polish
+152 QStyle::itemTextRect
+160 QStyle::itemPixmapRect
+168 QStyle::drawItemText
+176 QStyle::drawItemPixmap
+184 QWindowsVistaStyle::standardPalette
+192 QWindowsVistaStyle::drawPrimitive
+200 QWindowsVistaStyle::drawControl
+208 QWindowsVistaStyle::subElementRect
+216 QWindowsVistaStyle::drawComplexControl
+224 QWindowsVistaStyle::hitTestComplexControl
+232 QWindowsVistaStyle::subControlRect
+240 QWindowsVistaStyle::pixelMetric
+248 QWindowsVistaStyle::sizeFromContents
+256 QWindowsVistaStyle::styleHint
+264 QWindowsVistaStyle::standardPixmap
+272 QCommonStyle::generatedIconPixmap
+
+Class QWindowsVistaStyle
+ size=32 align=8
+ base size=32 base align=8
+QWindowsVistaStyle (0x7f5b92550620) 0
+ vptr=((& QWindowsVistaStyle::_ZTV18QWindowsVistaStyle) + 16u)
+ QWindowsXPStyle (0x7f5b92550690) 0
+ primary-for QWindowsVistaStyle (0x7f5b92550620)
+ QWindowsStyle (0x7f5b92550700) 0
+ primary-for QWindowsXPStyle (0x7f5b92550690)
+ QCommonStyle (0x7f5b92550770) 0
+ primary-for QWindowsStyle (0x7f5b92550700)
+ QStyle (0x7f5b925507e0) 0
+ primary-for QCommonStyle (0x7f5b92550770)
+ QObject (0x7f5b92550850) 0
+ primary-for QStyle (0x7f5b925507e0)
+
+Vtable for QWindowsCEStyle
+QWindowsCEStyle::_ZTV15QWindowsCEStyle: 35u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QWindowsCEStyle)
+16 QWindowsCEStyle::metaObject
+24 QWindowsCEStyle::qt_metacast
+32 QWindowsCEStyle::qt_metacall
+40 QWindowsCEStyle::~QWindowsCEStyle
+48 QWindowsCEStyle::~QWindowsCEStyle
+56 QObject::event
+64 QWindowsStyle::eventFilter
+72 QWindowsStyle::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWindowsCEStyle::polish
+120 QWindowsStyle::unpolish
+128 QWindowsCEStyle::polish
+136 QWindowsStyle::unpolish
+144 QWindowsCEStyle::polish
+152 QStyle::itemTextRect
+160 QStyle::itemPixmapRect
+168 QWindowsCEStyle::drawItemText
+176 QStyle::drawItemPixmap
+184 QWindowsCEStyle::standardPalette
+192 QWindowsCEStyle::drawPrimitive
+200 QWindowsCEStyle::drawControl
+208 QWindowsCEStyle::subElementRect
+216 QWindowsCEStyle::drawComplexControl
+224 QWindowsCEStyle::hitTestComplexControl
+232 QWindowsCEStyle::subControlRect
+240 QWindowsCEStyle::pixelMetric
+248 QWindowsCEStyle::sizeFromContents
+256 QWindowsCEStyle::styleHint
+264 QWindowsCEStyle::standardPixmap
+272 QCommonStyle::generatedIconPixmap
+
+Class QWindowsCEStyle
+ size=24 align=8
+ base size=24 base align=8
+QWindowsCEStyle (0x7f5b9256d620) 0
+ vptr=((& QWindowsCEStyle::_ZTV15QWindowsCEStyle) + 16u)
+ QWindowsStyle (0x7f5b9256d690) 0
+ primary-for QWindowsCEStyle (0x7f5b9256d620)
+ QCommonStyle (0x7f5b9256d700) 0
+ primary-for QWindowsStyle (0x7f5b9256d690)
+ QStyle (0x7f5b9256d770) 0
+ primary-for QCommonStyle (0x7f5b9256d700)
+ QObject (0x7f5b9256d7e0) 0
+ primary-for QStyle (0x7f5b9256d770)
+
+Vtable for QWindowsMobileStyle
+QWindowsMobileStyle::_ZTV19QWindowsMobileStyle: 35u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QWindowsMobileStyle)
+16 QWindowsMobileStyle::metaObject
+24 QWindowsMobileStyle::qt_metacast
+32 QWindowsMobileStyle::qt_metacall
+40 QWindowsMobileStyle::~QWindowsMobileStyle
+48 QWindowsMobileStyle::~QWindowsMobileStyle
+56 QObject::event
+64 QWindowsStyle::eventFilter
+72 QWindowsStyle::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWindowsMobileStyle::polish
+120 QWindowsMobileStyle::unpolish
+128 QWindowsMobileStyle::polish
+136 QWindowsMobileStyle::unpolish
+144 QWindowsMobileStyle::polish
+152 QStyle::itemTextRect
+160 QStyle::itemPixmapRect
+168 QStyle::drawItemText
+176 QStyle::drawItemPixmap
+184 QWindowsMobileStyle::standardPalette
+192 QWindowsMobileStyle::drawPrimitive
+200 QWindowsMobileStyle::drawControl
+208 QWindowsMobileStyle::subElementRect
+216 QWindowsMobileStyle::drawComplexControl
+224 QCommonStyle::hitTestComplexControl
+232 QWindowsMobileStyle::subControlRect
+240 QWindowsMobileStyle::pixelMetric
+248 QWindowsMobileStyle::sizeFromContents
+256 QWindowsMobileStyle::styleHint
+264 QWindowsMobileStyle::standardPixmap
+272 QWindowsMobileStyle::generatedIconPixmap
+
+Class QWindowsMobileStyle
+ size=24 align=8
+ base size=24 base align=8
+QWindowsMobileStyle (0x7f5b92582d20) 0
+ vptr=((& QWindowsMobileStyle::_ZTV19QWindowsMobileStyle) + 16u)
+ QWindowsStyle (0x7f5b92582d90) 0
+ primary-for QWindowsMobileStyle (0x7f5b92582d20)
+ QCommonStyle (0x7f5b92582e00) 0
+ primary-for QWindowsStyle (0x7f5b92582d90)
+ QStyle (0x7f5b92582e70) 0
+ primary-for QCommonStyle (0x7f5b92582e00)
+ QObject (0x7f5b92582ee0) 0
+ primary-for QStyle (0x7f5b92582e70)
+
+Class QStyleFactory
+ size=1 align=1
+ base size=0 base align=1
+QStyleFactory (0x7f5b923a7690) 0 empty
+
+Vtable for QInputContextFactoryInterface
+QInputContextFactoryInterface::_ZTV29QInputContextFactoryInterface: 9u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI29QInputContextFactoryInterface)
+16 QInputContextFactoryInterface::~QInputContextFactoryInterface
+24 QInputContextFactoryInterface::~QInputContextFactoryInterface
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+48 __cxa_pure_virtual
+56 __cxa_pure_virtual
+64 __cxa_pure_virtual
+
+Class QInputContextFactoryInterface
+ size=8 align=8
+ base size=8 base align=8
+QInputContextFactoryInterface (0x7f5b923a7700) 0 nearly-empty
+ vptr=((& QInputContextFactoryInterface::_ZTV29QInputContextFactoryInterface) + 16u)
+ QFactoryInterface (0x7f5b923a7770) 0 nearly-empty
+ primary-for QInputContextFactoryInterface (0x7f5b923a7700)
+
+Vtable for QInputContextPlugin
+QInputContextPlugin::_ZTV19QInputContextPlugin: 28u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QInputContextPlugin)
+16 QInputContextPlugin::metaObject
+24 QInputContextPlugin::qt_metacast
+32 QInputContextPlugin::qt_metacall
+40 QInputContextPlugin::~QInputContextPlugin
+48 QInputContextPlugin::~QInputContextPlugin
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 __cxa_pure_virtual
+136 __cxa_pure_virtual
+144 __cxa_pure_virtual
+152 (int (*)(...))-0x00000000000000010
+160 (int (*)(...))(& _ZTI19QInputContextPlugin)
+168 QInputContextPlugin::_ZThn16_N19QInputContextPluginD1Ev
+176 QInputContextPlugin::_ZThn16_N19QInputContextPluginD0Ev
+184 __cxa_pure_virtual
+192 __cxa_pure_virtual
+200 __cxa_pure_virtual
+208 __cxa_pure_virtual
+216 __cxa_pure_virtual
+
+Class QInputContextPlugin
+ size=24 align=8
+ base size=24 base align=8
+QInputContextPlugin (0x7f5b923a1d80) 0
+ vptr=((& QInputContextPlugin::_ZTV19QInputContextPlugin) + 16u)
+ QObject (0x7f5b923a7f50) 0
+ primary-for QInputContextPlugin (0x7f5b923a1d80)
+ QInputContextFactoryInterface (0x7f5b923a77e0) 16 nearly-empty
+ vptr=((& QInputContextPlugin::_ZTV19QInputContextPlugin) + 168u)
+ QFactoryInterface (0x7f5b923b2000) 16 nearly-empty
+ primary-for QInputContextFactoryInterface (0x7f5b923a77e0)
+
+Class QInputContextFactory
+ size=1 align=1
+ base size=0 base align=1
+QInputContextFactory (0x7f5b923b2ee0) 0 empty
+
+Vtable for QInputContext
+QInputContext::_ZTV13QInputContext: 26u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QInputContext)
+16 QInputContext::metaObject
+24 QInputContext::qt_metacast
+32 QInputContext::qt_metacall
+40 QInputContext::~QInputContext
+48 QInputContext::~QInputContext
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 __cxa_pure_virtual
+136 QInputContext::update
+144 QInputContext::mouseHandler
+152 QInputContext::font
+160 __cxa_pure_virtual
+168 QInputContext::setFocusWidget
+176 QInputContext::widgetDestroyed
+184 QInputContext::actions
+192 QInputContext::x11FilterEvent
+200 QInputContext::filterEvent
+
+Class QInputContext
+ size=16 align=8
+ base size=16 base align=8
+QInputContext (0x7f5b923b2f50) 0
+ vptr=((& QInputContext::_ZTV13QInputContext) + 16u)
+ QObject (0x7f5b923b22a0) 0
+ primary-for QInputContext (0x7f5b923b2f50)
+
+Vtable for QGraphicsItem
+QGraphicsItem::_ZTV13QGraphicsItem: 39u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QGraphicsItem)
+16 QGraphicsItem::~QGraphicsItem
+24 QGraphicsItem::~QGraphicsItem
+32 QGraphicsItem::advance
+40 __cxa_pure_virtual
+48 QGraphicsItem::shape
+56 QGraphicsItem::contains
+64 QGraphicsItem::collidesWithItem
+72 QGraphicsItem::collidesWithPath
+80 QGraphicsItem::isObscuredBy
+88 QGraphicsItem::opaqueArea
+96 __cxa_pure_virtual
+104 QGraphicsItem::type
+112 QGraphicsItem::sceneEventFilter
+120 QGraphicsItem::sceneEvent
+128 QGraphicsItem::contextMenuEvent
+136 QGraphicsItem::dragEnterEvent
+144 QGraphicsItem::dragLeaveEvent
+152 QGraphicsItem::dragMoveEvent
+160 QGraphicsItem::dropEvent
+168 QGraphicsItem::focusInEvent
+176 QGraphicsItem::focusOutEvent
+184 QGraphicsItem::hoverEnterEvent
+192 QGraphicsItem::hoverMoveEvent
+200 QGraphicsItem::hoverLeaveEvent
+208 QGraphicsItem::keyPressEvent
+216 QGraphicsItem::keyReleaseEvent
+224 QGraphicsItem::mousePressEvent
+232 QGraphicsItem::mouseMoveEvent
+240 QGraphicsItem::mouseReleaseEvent
+248 QGraphicsItem::mouseDoubleClickEvent
+256 QGraphicsItem::wheelEvent
+264 QGraphicsItem::inputMethodEvent
+272 QGraphicsItem::inputMethodQuery
+280 QGraphicsItem::itemChange
+288 QGraphicsItem::supportsExtension
+296 QGraphicsItem::setExtension
+304 QGraphicsItem::extension
+
+Class QGraphicsItem
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsItem (0x7f5b923da850) 0
+ vptr=((& QGraphicsItem::_ZTV13QGraphicsItem) + 16u)
+
+Vtable for QAbstractGraphicsShapeItem
+QAbstractGraphicsShapeItem::_ZTV26QAbstractGraphicsShapeItem: 39u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI26QAbstractGraphicsShapeItem)
+16 QAbstractGraphicsShapeItem::~QAbstractGraphicsShapeItem
+24 QAbstractGraphicsShapeItem::~QAbstractGraphicsShapeItem
+32 QGraphicsItem::advance
+40 __cxa_pure_virtual
+48 QGraphicsItem::shape
+56 QGraphicsItem::contains
+64 QGraphicsItem::collidesWithItem
+72 QGraphicsItem::collidesWithPath
+80 QAbstractGraphicsShapeItem::isObscuredBy
+88 QAbstractGraphicsShapeItem::opaqueArea
+96 __cxa_pure_virtual
+104 QGraphicsItem::type
+112 QGraphicsItem::sceneEventFilter
+120 QGraphicsItem::sceneEvent
+128 QGraphicsItem::contextMenuEvent
+136 QGraphicsItem::dragEnterEvent
+144 QGraphicsItem::dragLeaveEvent
+152 QGraphicsItem::dragMoveEvent
+160 QGraphicsItem::dropEvent
+168 QGraphicsItem::focusInEvent
+176 QGraphicsItem::focusOutEvent
+184 QGraphicsItem::hoverEnterEvent
+192 QGraphicsItem::hoverMoveEvent
+200 QGraphicsItem::hoverLeaveEvent
+208 QGraphicsItem::keyPressEvent
+216 QGraphicsItem::keyReleaseEvent
+224 QGraphicsItem::mousePressEvent
+232 QGraphicsItem::mouseMoveEvent
+240 QGraphicsItem::mouseReleaseEvent
+248 QGraphicsItem::mouseDoubleClickEvent
+256 QGraphicsItem::wheelEvent
+264 QGraphicsItem::inputMethodEvent
+272 QGraphicsItem::inputMethodQuery
+280 QGraphicsItem::itemChange
+288 QGraphicsItem::supportsExtension
+296 QGraphicsItem::setExtension
+304 QGraphicsItem::extension
+
+Class QAbstractGraphicsShapeItem
+ size=16 align=8
+ base size=16 base align=8
+QAbstractGraphicsShapeItem (0x7f5b922ae380) 0
+ vptr=((& QAbstractGraphicsShapeItem::_ZTV26QAbstractGraphicsShapeItem) + 16u)
+ QGraphicsItem (0x7f5b922ae3f0) 0
+ primary-for QAbstractGraphicsShapeItem (0x7f5b922ae380)
+
+Vtable for QGraphicsPathItem
+QGraphicsPathItem::_ZTV17QGraphicsPathItem: 39u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QGraphicsPathItem)
+16 QGraphicsPathItem::~QGraphicsPathItem
+24 QGraphicsPathItem::~QGraphicsPathItem
+32 QGraphicsItem::advance
+40 QGraphicsPathItem::boundingRect
+48 QGraphicsPathItem::shape
+56 QGraphicsPathItem::contains
+64 QGraphicsItem::collidesWithItem
+72 QGraphicsItem::collidesWithPath
+80 QGraphicsPathItem::isObscuredBy
+88 QGraphicsPathItem::opaqueArea
+96 QGraphicsPathItem::paint
+104 QGraphicsPathItem::type
+112 QGraphicsItem::sceneEventFilter
+120 QGraphicsItem::sceneEvent
+128 QGraphicsItem::contextMenuEvent
+136 QGraphicsItem::dragEnterEvent
+144 QGraphicsItem::dragLeaveEvent
+152 QGraphicsItem::dragMoveEvent
+160 QGraphicsItem::dropEvent
+168 QGraphicsItem::focusInEvent
+176 QGraphicsItem::focusOutEvent
+184 QGraphicsItem::hoverEnterEvent
+192 QGraphicsItem::hoverMoveEvent
+200 QGraphicsItem::hoverLeaveEvent
+208 QGraphicsItem::keyPressEvent
+216 QGraphicsItem::keyReleaseEvent
+224 QGraphicsItem::mousePressEvent
+232 QGraphicsItem::mouseMoveEvent
+240 QGraphicsItem::mouseReleaseEvent
+248 QGraphicsItem::mouseDoubleClickEvent
+256 QGraphicsItem::wheelEvent
+264 QGraphicsItem::inputMethodEvent
+272 QGraphicsItem::inputMethodQuery
+280 QGraphicsItem::itemChange
+288 QGraphicsPathItem::supportsExtension
+296 QGraphicsPathItem::setExtension
+304 QGraphicsPathItem::extension
+
+Class QGraphicsPathItem
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsPathItem (0x7f5b922b81c0) 0
+ vptr=((& QGraphicsPathItem::_ZTV17QGraphicsPathItem) + 16u)
+ QAbstractGraphicsShapeItem (0x7f5b922b8230) 0
+ primary-for QGraphicsPathItem (0x7f5b922b81c0)
+ QGraphicsItem (0x7f5b922b82a0) 0
+ primary-for QAbstractGraphicsShapeItem (0x7f5b922b8230)
+
+Vtable for QGraphicsRectItem
+QGraphicsRectItem::_ZTV17QGraphicsRectItem: 39u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QGraphicsRectItem)
+16 QGraphicsRectItem::~QGraphicsRectItem
+24 QGraphicsRectItem::~QGraphicsRectItem
+32 QGraphicsItem::advance
+40 QGraphicsRectItem::boundingRect
+48 QGraphicsRectItem::shape
+56 QGraphicsRectItem::contains
+64 QGraphicsItem::collidesWithItem
+72 QGraphicsItem::collidesWithPath
+80 QGraphicsRectItem::isObscuredBy
+88 QGraphicsRectItem::opaqueArea
+96 QGraphicsRectItem::paint
+104 QGraphicsRectItem::type
+112 QGraphicsItem::sceneEventFilter
+120 QGraphicsItem::sceneEvent
+128 QGraphicsItem::contextMenuEvent
+136 QGraphicsItem::dragEnterEvent
+144 QGraphicsItem::dragLeaveEvent
+152 QGraphicsItem::dragMoveEvent
+160 QGraphicsItem::dropEvent
+168 QGraphicsItem::focusInEvent
+176 QGraphicsItem::focusOutEvent
+184 QGraphicsItem::hoverEnterEvent
+192 QGraphicsItem::hoverMoveEvent
+200 QGraphicsItem::hoverLeaveEvent
+208 QGraphicsItem::keyPressEvent
+216 QGraphicsItem::keyReleaseEvent
+224 QGraphicsItem::mousePressEvent
+232 QGraphicsItem::mouseMoveEvent
+240 QGraphicsItem::mouseReleaseEvent
+248 QGraphicsItem::mouseDoubleClickEvent
+256 QGraphicsItem::wheelEvent
+264 QGraphicsItem::inputMethodEvent
+272 QGraphicsItem::inputMethodQuery
+280 QGraphicsItem::itemChange
+288 QGraphicsRectItem::supportsExtension
+296 QGraphicsRectItem::setExtension
+304 QGraphicsRectItem::extension
+
+Class QGraphicsRectItem
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsRectItem (0x7f5b922c9150) 0
+ vptr=((& QGraphicsRectItem::_ZTV17QGraphicsRectItem) + 16u)
+ QAbstractGraphicsShapeItem (0x7f5b922c91c0) 0
+ primary-for QGraphicsRectItem (0x7f5b922c9150)
+ QGraphicsItem (0x7f5b922c9230) 0
+ primary-for QAbstractGraphicsShapeItem (0x7f5b922c91c0)
+
+Vtable for QGraphicsEllipseItem
+QGraphicsEllipseItem::_ZTV20QGraphicsEllipseItem: 39u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI20QGraphicsEllipseItem)
+16 QGraphicsEllipseItem::~QGraphicsEllipseItem
+24 QGraphicsEllipseItem::~QGraphicsEllipseItem
+32 QGraphicsItem::advance
+40 QGraphicsEllipseItem::boundingRect
+48 QGraphicsEllipseItem::shape
+56 QGraphicsEllipseItem::contains
+64 QGraphicsItem::collidesWithItem
+72 QGraphicsItem::collidesWithPath
+80 QGraphicsEllipseItem::isObscuredBy
+88 QGraphicsEllipseItem::opaqueArea
+96 QGraphicsEllipseItem::paint
+104 QGraphicsEllipseItem::type
+112 QGraphicsItem::sceneEventFilter
+120 QGraphicsItem::sceneEvent
+128 QGraphicsItem::contextMenuEvent
+136 QGraphicsItem::dragEnterEvent
+144 QGraphicsItem::dragLeaveEvent
+152 QGraphicsItem::dragMoveEvent
+160 QGraphicsItem::dropEvent
+168 QGraphicsItem::focusInEvent
+176 QGraphicsItem::focusOutEvent
+184 QGraphicsItem::hoverEnterEvent
+192 QGraphicsItem::hoverMoveEvent
+200 QGraphicsItem::hoverLeaveEvent
+208 QGraphicsItem::keyPressEvent
+216 QGraphicsItem::keyReleaseEvent
+224 QGraphicsItem::mousePressEvent
+232 QGraphicsItem::mouseMoveEvent
+240 QGraphicsItem::mouseReleaseEvent
+248 QGraphicsItem::mouseDoubleClickEvent
+256 QGraphicsItem::wheelEvent
+264 QGraphicsItem::inputMethodEvent
+272 QGraphicsItem::inputMethodQuery
+280 QGraphicsItem::itemChange
+288 QGraphicsEllipseItem::supportsExtension
+296 QGraphicsEllipseItem::setExtension
+304 QGraphicsEllipseItem::extension
+
+Class QGraphicsEllipseItem
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsEllipseItem (0x7f5b922db460) 0
+ vptr=((& QGraphicsEllipseItem::_ZTV20QGraphicsEllipseItem) + 16u)
+ QAbstractGraphicsShapeItem (0x7f5b922db4d0) 0
+ primary-for QGraphicsEllipseItem (0x7f5b922db460)
+ QGraphicsItem (0x7f5b922db540) 0
+ primary-for QAbstractGraphicsShapeItem (0x7f5b922db4d0)
+
+Vtable for QGraphicsPolygonItem
+QGraphicsPolygonItem::_ZTV20QGraphicsPolygonItem: 39u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI20QGraphicsPolygonItem)
+16 QGraphicsPolygonItem::~QGraphicsPolygonItem
+24 QGraphicsPolygonItem::~QGraphicsPolygonItem
+32 QGraphicsItem::advance
+40 QGraphicsPolygonItem::boundingRect
+48 QGraphicsPolygonItem::shape
+56 QGraphicsPolygonItem::contains
+64 QGraphicsItem::collidesWithItem
+72 QGraphicsItem::collidesWithPath
+80 QGraphicsPolygonItem::isObscuredBy
+88 QGraphicsPolygonItem::opaqueArea
+96 QGraphicsPolygonItem::paint
+104 QGraphicsPolygonItem::type
+112 QGraphicsItem::sceneEventFilter
+120 QGraphicsItem::sceneEvent
+128 QGraphicsItem::contextMenuEvent
+136 QGraphicsItem::dragEnterEvent
+144 QGraphicsItem::dragLeaveEvent
+152 QGraphicsItem::dragMoveEvent
+160 QGraphicsItem::dropEvent
+168 QGraphicsItem::focusInEvent
+176 QGraphicsItem::focusOutEvent
+184 QGraphicsItem::hoverEnterEvent
+192 QGraphicsItem::hoverMoveEvent
+200 QGraphicsItem::hoverLeaveEvent
+208 QGraphicsItem::keyPressEvent
+216 QGraphicsItem::keyReleaseEvent
+224 QGraphicsItem::mousePressEvent
+232 QGraphicsItem::mouseMoveEvent
+240 QGraphicsItem::mouseReleaseEvent
+248 QGraphicsItem::mouseDoubleClickEvent
+256 QGraphicsItem::wheelEvent
+264 QGraphicsItem::inputMethodEvent
+272 QGraphicsItem::inputMethodQuery
+280 QGraphicsItem::itemChange
+288 QGraphicsPolygonItem::supportsExtension
+296 QGraphicsPolygonItem::setExtension
+304 QGraphicsPolygonItem::extension
+
+Class QGraphicsPolygonItem
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsPolygonItem (0x7f5b922f0770) 0
+ vptr=((& QGraphicsPolygonItem::_ZTV20QGraphicsPolygonItem) + 16u)
+ QAbstractGraphicsShapeItem (0x7f5b922f07e0) 0
+ primary-for QGraphicsPolygonItem (0x7f5b922f0770)
+ QGraphicsItem (0x7f5b922f0850) 0
+ primary-for QAbstractGraphicsShapeItem (0x7f5b922f07e0)
+
+Vtable for QGraphicsLineItem
+QGraphicsLineItem::_ZTV17QGraphicsLineItem: 39u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QGraphicsLineItem)
+16 QGraphicsLineItem::~QGraphicsLineItem
+24 QGraphicsLineItem::~QGraphicsLineItem
+32 QGraphicsItem::advance
+40 QGraphicsLineItem::boundingRect
+48 QGraphicsLineItem::shape
+56 QGraphicsLineItem::contains
+64 QGraphicsItem::collidesWithItem
+72 QGraphicsItem::collidesWithPath
+80 QGraphicsLineItem::isObscuredBy
+88 QGraphicsLineItem::opaqueArea
+96 QGraphicsLineItem::paint
+104 QGraphicsLineItem::type
+112 QGraphicsItem::sceneEventFilter
+120 QGraphicsItem::sceneEvent
+128 QGraphicsItem::contextMenuEvent
+136 QGraphicsItem::dragEnterEvent
+144 QGraphicsItem::dragLeaveEvent
+152 QGraphicsItem::dragMoveEvent
+160 QGraphicsItem::dropEvent
+168 QGraphicsItem::focusInEvent
+176 QGraphicsItem::focusOutEvent
+184 QGraphicsItem::hoverEnterEvent
+192 QGraphicsItem::hoverMoveEvent
+200 QGraphicsItem::hoverLeaveEvent
+208 QGraphicsItem::keyPressEvent
+216 QGraphicsItem::keyReleaseEvent
+224 QGraphicsItem::mousePressEvent
+232 QGraphicsItem::mouseMoveEvent
+240 QGraphicsItem::mouseReleaseEvent
+248 QGraphicsItem::mouseDoubleClickEvent
+256 QGraphicsItem::wheelEvent
+264 QGraphicsItem::inputMethodEvent
+272 QGraphicsItem::inputMethodQuery
+280 QGraphicsItem::itemChange
+288 QGraphicsLineItem::supportsExtension
+296 QGraphicsLineItem::setExtension
+304 QGraphicsLineItem::extension
+
+Class QGraphicsLineItem
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsLineItem (0x7f5b922ff770) 0
+ vptr=((& QGraphicsLineItem::_ZTV17QGraphicsLineItem) + 16u)
+ QGraphicsItem (0x7f5b922ff7e0) 0
+ primary-for QGraphicsLineItem (0x7f5b922ff770)
+
+Vtable for QGraphicsPixmapItem
+QGraphicsPixmapItem::_ZTV19QGraphicsPixmapItem: 39u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QGraphicsPixmapItem)
+16 QGraphicsPixmapItem::~QGraphicsPixmapItem
+24 QGraphicsPixmapItem::~QGraphicsPixmapItem
+32 QGraphicsItem::advance
+40 QGraphicsPixmapItem::boundingRect
+48 QGraphicsPixmapItem::shape
+56 QGraphicsPixmapItem::contains
+64 QGraphicsItem::collidesWithItem
+72 QGraphicsItem::collidesWithPath
+80 QGraphicsPixmapItem::isObscuredBy
+88 QGraphicsPixmapItem::opaqueArea
+96 QGraphicsPixmapItem::paint
+104 QGraphicsPixmapItem::type
+112 QGraphicsItem::sceneEventFilter
+120 QGraphicsItem::sceneEvent
+128 QGraphicsItem::contextMenuEvent
+136 QGraphicsItem::dragEnterEvent
+144 QGraphicsItem::dragLeaveEvent
+152 QGraphicsItem::dragMoveEvent
+160 QGraphicsItem::dropEvent
+168 QGraphicsItem::focusInEvent
+176 QGraphicsItem::focusOutEvent
+184 QGraphicsItem::hoverEnterEvent
+192 QGraphicsItem::hoverMoveEvent
+200 QGraphicsItem::hoverLeaveEvent
+208 QGraphicsItem::keyPressEvent
+216 QGraphicsItem::keyReleaseEvent
+224 QGraphicsItem::mousePressEvent
+232 QGraphicsItem::mouseMoveEvent
+240 QGraphicsItem::mouseReleaseEvent
+248 QGraphicsItem::mouseDoubleClickEvent
+256 QGraphicsItem::wheelEvent
+264 QGraphicsItem::inputMethodEvent
+272 QGraphicsItem::inputMethodQuery
+280 QGraphicsItem::itemChange
+288 QGraphicsPixmapItem::supportsExtension
+296 QGraphicsPixmapItem::setExtension
+304 QGraphicsPixmapItem::extension
+
+Class QGraphicsPixmapItem
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsPixmapItem (0x7f5b9230fa10) 0
+ vptr=((& QGraphicsPixmapItem::_ZTV19QGraphicsPixmapItem) + 16u)
+ QGraphicsItem (0x7f5b9230fa80) 0
+ primary-for QGraphicsPixmapItem (0x7f5b9230fa10)
+
+Vtable for QGraphicsTextItem
+QGraphicsTextItem::_ZTV17QGraphicsTextItem: 82u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QGraphicsTextItem)
+16 QGraphicsTextItem::metaObject
+24 QGraphicsTextItem::qt_metacast
+32 QGraphicsTextItem::qt_metacall
+40 QGraphicsTextItem::~QGraphicsTextItem
+48 QGraphicsTextItem::~QGraphicsTextItem
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QGraphicsTextItem::boundingRect
+120 QGraphicsTextItem::shape
+128 QGraphicsTextItem::contains
+136 QGraphicsTextItem::paint
+144 QGraphicsTextItem::isObscuredBy
+152 QGraphicsTextItem::opaqueArea
+160 QGraphicsTextItem::type
+168 QGraphicsTextItem::sceneEvent
+176 QGraphicsTextItem::mousePressEvent
+184 QGraphicsTextItem::mouseMoveEvent
+192 QGraphicsTextItem::mouseReleaseEvent
+200 QGraphicsTextItem::mouseDoubleClickEvent
+208 QGraphicsTextItem::contextMenuEvent
+216 QGraphicsTextItem::keyPressEvent
+224 QGraphicsTextItem::keyReleaseEvent
+232 QGraphicsTextItem::focusInEvent
+240 QGraphicsTextItem::focusOutEvent
+248 QGraphicsTextItem::dragEnterEvent
+256 QGraphicsTextItem::dragLeaveEvent
+264 QGraphicsTextItem::dragMoveEvent
+272 QGraphicsTextItem::dropEvent
+280 QGraphicsTextItem::inputMethodEvent
+288 QGraphicsTextItem::hoverEnterEvent
+296 QGraphicsTextItem::hoverMoveEvent
+304 QGraphicsTextItem::hoverLeaveEvent
+312 QGraphicsTextItem::inputMethodQuery
+320 QGraphicsTextItem::supportsExtension
+328 QGraphicsTextItem::setExtension
+336 QGraphicsTextItem::extension
+344 (int (*)(...))-0x00000000000000010
+352 (int (*)(...))(& _ZTI17QGraphicsTextItem)
+360 QGraphicsTextItem::_ZThn16_N17QGraphicsTextItemD1Ev
+368 QGraphicsTextItem::_ZThn16_N17QGraphicsTextItemD0Ev
+376 QGraphicsItem::advance
+384 QGraphicsTextItem::_ZThn16_NK17QGraphicsTextItem12boundingRectEv
+392 QGraphicsTextItem::_ZThn16_NK17QGraphicsTextItem5shapeEv
+400 QGraphicsTextItem::_ZThn16_NK17QGraphicsTextItem8containsERK7QPointF
+408 QGraphicsItem::collidesWithItem
+416 QGraphicsItem::collidesWithPath
+424 QGraphicsTextItem::_ZThn16_NK17QGraphicsTextItem12isObscuredByEPK13QGraphicsItem
+432 QGraphicsTextItem::_ZThn16_NK17QGraphicsTextItem10opaqueAreaEv
+440 QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem5paintEP8QPainterPK24QStyleOptionGraphicsItemP7QWidget
+448 QGraphicsTextItem::_ZThn16_NK17QGraphicsTextItem4typeEv
+456 QGraphicsItem::sceneEventFilter
+464 QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem10sceneEventEP6QEvent
+472 QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem16contextMenuEventEP30QGraphicsSceneContextMenuEvent
+480 QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem14dragEnterEventEP27QGraphicsSceneDragDropEvent
+488 QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem14dragLeaveEventEP27QGraphicsSceneDragDropEvent
+496 QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem13dragMoveEventEP27QGraphicsSceneDragDropEvent
+504 QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem9dropEventEP27QGraphicsSceneDragDropEvent
+512 QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem12focusInEventEP11QFocusEvent
+520 QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem13focusOutEventEP11QFocusEvent
+528 QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem15hoverEnterEventEP24QGraphicsSceneHoverEvent
+536 QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem14hoverMoveEventEP24QGraphicsSceneHoverEvent
+544 QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem15hoverLeaveEventEP24QGraphicsSceneHoverEvent
+552 QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem13keyPressEventEP9QKeyEvent
+560 QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem15keyReleaseEventEP9QKeyEvent
+568 QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem15mousePressEventEP24QGraphicsSceneMouseEvent
+576 QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem14mouseMoveEventEP24QGraphicsSceneMouseEvent
+584 QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem17mouseReleaseEventEP24QGraphicsSceneMouseEvent
+592 QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem21mouseDoubleClickEventEP24QGraphicsSceneMouseEvent
+600 QGraphicsItem::wheelEvent
+608 QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem16inputMethodEventEP17QInputMethodEvent
+616 QGraphicsTextItem::_ZThn16_NK17QGraphicsTextItem16inputMethodQueryEN2Qt16InputMethodQueryE
+624 QGraphicsItem::itemChange
+632 QGraphicsTextItem::_ZThn16_NK17QGraphicsTextItem17supportsExtensionEN13QGraphicsItem9ExtensionE
+640 QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem12setExtensionEN13QGraphicsItem9ExtensionERK8QVariant
+648 QGraphicsTextItem::_ZThn16_NK17QGraphicsTextItem9extensionERK8QVariant
+
+Class QGraphicsTextItem
+ size=40 align=8
+ base size=40 base align=8
+QGraphicsTextItem (0x7f5b922f2f80) 0
+ vptr=((& QGraphicsTextItem::_ZTV17QGraphicsTextItem) + 16u)
+ QObject (0x7f5b92321c40) 0
+ primary-for QGraphicsTextItem (0x7f5b922f2f80)
+ QGraphicsItem (0x7f5b92321cb0) 16
+ vptr=((& QGraphicsTextItem::_ZTV17QGraphicsTextItem) + 360u)
+
+Vtable for QGraphicsSimpleTextItem
+QGraphicsSimpleTextItem::_ZTV23QGraphicsSimpleTextItem: 39u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI23QGraphicsSimpleTextItem)
+16 QGraphicsSimpleTextItem::~QGraphicsSimpleTextItem
+24 QGraphicsSimpleTextItem::~QGraphicsSimpleTextItem
+32 QGraphicsItem::advance
+40 QGraphicsSimpleTextItem::boundingRect
+48 QGraphicsSimpleTextItem::shape
+56 QGraphicsSimpleTextItem::contains
+64 QGraphicsItem::collidesWithItem
+72 QGraphicsItem::collidesWithPath
+80 QGraphicsSimpleTextItem::isObscuredBy
+88 QGraphicsSimpleTextItem::opaqueArea
+96 QGraphicsSimpleTextItem::paint
+104 QGraphicsSimpleTextItem::type
+112 QGraphicsItem::sceneEventFilter
+120 QGraphicsItem::sceneEvent
+128 QGraphicsItem::contextMenuEvent
+136 QGraphicsItem::dragEnterEvent
+144 QGraphicsItem::dragLeaveEvent
+152 QGraphicsItem::dragMoveEvent
+160 QGraphicsItem::dropEvent
+168 QGraphicsItem::focusInEvent
+176 QGraphicsItem::focusOutEvent
+184 QGraphicsItem::hoverEnterEvent
+192 QGraphicsItem::hoverMoveEvent
+200 QGraphicsItem::hoverLeaveEvent
+208 QGraphicsItem::keyPressEvent
+216 QGraphicsItem::keyReleaseEvent
+224 QGraphicsItem::mousePressEvent
+232 QGraphicsItem::mouseMoveEvent
+240 QGraphicsItem::mouseReleaseEvent
+248 QGraphicsItem::mouseDoubleClickEvent
+256 QGraphicsItem::wheelEvent
+264 QGraphicsItem::inputMethodEvent
+272 QGraphicsItem::inputMethodQuery
+280 QGraphicsItem::itemChange
+288 QGraphicsSimpleTextItem::supportsExtension
+296 QGraphicsSimpleTextItem::setExtension
+304 QGraphicsSimpleTextItem::extension
+
+Class QGraphicsSimpleTextItem
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsSimpleTextItem (0x7f5b923591c0) 0
+ vptr=((& QGraphicsSimpleTextItem::_ZTV23QGraphicsSimpleTextItem) + 16u)
+ QAbstractGraphicsShapeItem (0x7f5b92359230) 0
+ primary-for QGraphicsSimpleTextItem (0x7f5b923591c0)
+ QGraphicsItem (0x7f5b923592a0) 0
+ primary-for QAbstractGraphicsShapeItem (0x7f5b92359230)
+
+Vtable for QGraphicsItemGroup
+QGraphicsItemGroup::_ZTV18QGraphicsItemGroup: 39u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QGraphicsItemGroup)
+16 QGraphicsItemGroup::~QGraphicsItemGroup
+24 QGraphicsItemGroup::~QGraphicsItemGroup
+32 QGraphicsItem::advance
+40 QGraphicsItemGroup::boundingRect
+48 QGraphicsItem::shape
+56 QGraphicsItem::contains
+64 QGraphicsItem::collidesWithItem
+72 QGraphicsItem::collidesWithPath
+80 QGraphicsItemGroup::isObscuredBy
+88 QGraphicsItemGroup::opaqueArea
+96 QGraphicsItemGroup::paint
+104 QGraphicsItemGroup::type
+112 QGraphicsItem::sceneEventFilter
+120 QGraphicsItem::sceneEvent
+128 QGraphicsItem::contextMenuEvent
+136 QGraphicsItem::dragEnterEvent
+144 QGraphicsItem::dragLeaveEvent
+152 QGraphicsItem::dragMoveEvent
+160 QGraphicsItem::dropEvent
+168 QGraphicsItem::focusInEvent
+176 QGraphicsItem::focusOutEvent
+184 QGraphicsItem::hoverEnterEvent
+192 QGraphicsItem::hoverMoveEvent
+200 QGraphicsItem::hoverLeaveEvent
+208 QGraphicsItem::keyPressEvent
+216 QGraphicsItem::keyReleaseEvent
+224 QGraphicsItem::mousePressEvent
+232 QGraphicsItem::mouseMoveEvent
+240 QGraphicsItem::mouseReleaseEvent
+248 QGraphicsItem::mouseDoubleClickEvent
+256 QGraphicsItem::wheelEvent
+264 QGraphicsItem::inputMethodEvent
+272 QGraphicsItem::inputMethodQuery
+280 QGraphicsItem::itemChange
+288 QGraphicsItem::supportsExtension
+296 QGraphicsItem::setExtension
+304 QGraphicsItem::extension
+
+Class QGraphicsItemGroup
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsItemGroup (0x7f5b92369150) 0
+ vptr=((& QGraphicsItemGroup::_ZTV18QGraphicsItemGroup) + 16u)
+ QGraphicsItem (0x7f5b923691c0) 0
+ primary-for QGraphicsItemGroup (0x7f5b92369150)
+
+Vtable for QGraphicsLayoutItem
+QGraphicsLayoutItem::_ZTV19QGraphicsLayoutItem: 8u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QGraphicsLayoutItem)
+16 QGraphicsLayoutItem::~QGraphicsLayoutItem
+24 QGraphicsLayoutItem::~QGraphicsLayoutItem
+32 QGraphicsLayoutItem::setGeometry
+40 QGraphicsLayoutItem::getContentsMargins
+48 QGraphicsLayoutItem::updateGeometry
+56 __cxa_pure_virtual
+
+Class QGraphicsLayoutItem
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsLayoutItem (0x7f5b92378a80) 0
+ vptr=((& QGraphicsLayoutItem::_ZTV19QGraphicsLayoutItem) + 16u)
+
+Vtable for QGraphicsLayout
+QGraphicsLayout::_ZTV15QGraphicsLayout: 13u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QGraphicsLayout)
+16 QGraphicsLayout::~QGraphicsLayout
+24 QGraphicsLayout::~QGraphicsLayout
+32 QGraphicsLayoutItem::setGeometry
+40 QGraphicsLayout::getContentsMargins
+48 QGraphicsLayout::updateGeometry
+56 __cxa_pure_virtual
+64 QGraphicsLayout::invalidate
+72 QGraphicsLayout::widgetEvent
+80 __cxa_pure_virtual
+88 __cxa_pure_virtual
+96 __cxa_pure_virtual
+
+Class QGraphicsLayout
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsLayout (0x7f5b921a47e0) 0
+ vptr=((& QGraphicsLayout::_ZTV15QGraphicsLayout) + 16u)
+ QGraphicsLayoutItem (0x7f5b921a4850) 0
+ primary-for QGraphicsLayout (0x7f5b921a47e0)
+
+Vtable for QGraphicsScene
+QGraphicsScene::_ZTV14QGraphicsScene: 34u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QGraphicsScene)
+16 QGraphicsScene::metaObject
+24 QGraphicsScene::qt_metacast
+32 QGraphicsScene::qt_metacall
+40 QGraphicsScene::~QGraphicsScene
+48 QGraphicsScene::~QGraphicsScene
+56 QGraphicsScene::event
+64 QGraphicsScene::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QGraphicsScene::inputMethodQuery
+120 QGraphicsScene::contextMenuEvent
+128 QGraphicsScene::dragEnterEvent
+136 QGraphicsScene::dragMoveEvent
+144 QGraphicsScene::dragLeaveEvent
+152 QGraphicsScene::dropEvent
+160 QGraphicsScene::focusInEvent
+168 QGraphicsScene::focusOutEvent
+176 QGraphicsScene::helpEvent
+184 QGraphicsScene::keyPressEvent
+192 QGraphicsScene::keyReleaseEvent
+200 QGraphicsScene::mousePressEvent
+208 QGraphicsScene::mouseMoveEvent
+216 QGraphicsScene::mouseReleaseEvent
+224 QGraphicsScene::mouseDoubleClickEvent
+232 QGraphicsScene::wheelEvent
+240 QGraphicsScene::inputMethodEvent
+248 QGraphicsScene::drawBackground
+256 QGraphicsScene::drawForeground
+264 QGraphicsScene::drawItems
+
+Class QGraphicsScene
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsScene (0x7f5b921b1700) 0
+ vptr=((& QGraphicsScene::_ZTV14QGraphicsScene) + 16u)
+ QObject (0x7f5b921b1770) 0
+ primary-for QGraphicsScene (0x7f5b921b1700)
+
+Vtable for QGraphicsLinearLayout
+QGraphicsLinearLayout::_ZTV21QGraphicsLinearLayout: 13u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI21QGraphicsLinearLayout)
+16 QGraphicsLinearLayout::~QGraphicsLinearLayout
+24 QGraphicsLinearLayout::~QGraphicsLinearLayout
+32 QGraphicsLinearLayout::setGeometry
+40 QGraphicsLayout::getContentsMargins
+48 QGraphicsLayout::updateGeometry
+56 QGraphicsLinearLayout::sizeHint
+64 QGraphicsLinearLayout::invalidate
+72 QGraphicsLayout::widgetEvent
+80 QGraphicsLinearLayout::count
+88 QGraphicsLinearLayout::itemAt
+96 QGraphicsLinearLayout::removeAt
+
+Class QGraphicsLinearLayout
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsLinearLayout (0x7f5b92258d20) 0
+ vptr=((& QGraphicsLinearLayout::_ZTV21QGraphicsLinearLayout) + 16u)
+ QGraphicsLayout (0x7f5b92258d90) 0
+ primary-for QGraphicsLinearLayout (0x7f5b92258d20)
+ QGraphicsLayoutItem (0x7f5b92258e00) 0
+ primary-for QGraphicsLayout (0x7f5b92258d90)
+
+Vtable for QScrollArea
+QScrollArea::_ZTV11QScrollArea: 65u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QScrollArea)
+16 QScrollArea::metaObject
+24 QScrollArea::qt_metacast
+32 QScrollArea::qt_metacall
+40 QScrollArea::~QScrollArea
+48 QScrollArea::~QScrollArea
+56 QScrollArea::event
+64 QScrollArea::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QScrollArea::sizeHint
+136 QAbstractScrollArea::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QAbstractScrollArea::mousePressEvent
+168 QAbstractScrollArea::mouseReleaseEvent
+176 QAbstractScrollArea::mouseDoubleClickEvent
+184 QAbstractScrollArea::mouseMoveEvent
+192 QAbstractScrollArea::wheelEvent
+200 QAbstractScrollArea::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QAbstractScrollArea::paintEvent
+256 QWidget::moveEvent
+264 QScrollArea::resizeEvent
+272 QWidget::closeEvent
+280 QAbstractScrollArea::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QAbstractScrollArea::dragEnterEvent
+312 QAbstractScrollArea::dragMoveEvent
+320 QAbstractScrollArea::dragLeaveEvent
+328 QAbstractScrollArea::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QFrame::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QScrollArea::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QAbstractScrollArea::viewportEvent
+456 QScrollArea::scrollContentsBy
+464 (int (*)(...))-0x00000000000000010
+472 (int (*)(...))(& _ZTI11QScrollArea)
+480 QScrollArea::_ZThn16_N11QScrollAreaD1Ev
+488 QScrollArea::_ZThn16_N11QScrollAreaD0Ev
+496 QWidget::_ZThn16_NK7QWidget7devTypeEv
+504 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+512 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QScrollArea
+ size=40 align=8
+ base size=40 base align=8
+QScrollArea (0x7f5b92288540) 0
+ vptr=((& QScrollArea::_ZTV11QScrollArea) + 16u)
+ QAbstractScrollArea (0x7f5b922885b0) 0
+ primary-for QScrollArea (0x7f5b92288540)
+ QFrame (0x7f5b92288620) 0
+ primary-for QAbstractScrollArea (0x7f5b922885b0)
+ QWidget (0x7f5b92256880) 0
+ primary-for QFrame (0x7f5b92288620)
+ QObject (0x7f5b92288690) 0
+ primary-for QWidget (0x7f5b92256880)
+ QPaintDevice (0x7f5b92288700) 16
+ vptr=((& QScrollArea::_ZTV11QScrollArea) + 480u)
+
+Vtable for QGraphicsView
+QGraphicsView::_ZTV13QGraphicsView: 68u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QGraphicsView)
+16 QGraphicsView::metaObject
+24 QGraphicsView::qt_metacast
+32 QGraphicsView::qt_metacall
+40 QGraphicsView::~QGraphicsView
+48 QGraphicsView::~QGraphicsView
+56 QGraphicsView::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QGraphicsView::sizeHint
+136 QAbstractScrollArea::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QGraphicsView::mousePressEvent
+168 QGraphicsView::mouseReleaseEvent
+176 QGraphicsView::mouseDoubleClickEvent
+184 QGraphicsView::mouseMoveEvent
+192 QGraphicsView::wheelEvent
+200 QGraphicsView::keyPressEvent
+208 QGraphicsView::keyReleaseEvent
+216 QGraphicsView::focusInEvent
+224 QGraphicsView::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QGraphicsView::paintEvent
+256 QWidget::moveEvent
+264 QGraphicsView::resizeEvent
+272 QWidget::closeEvent
+280 QGraphicsView::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QGraphicsView::dragEnterEvent
+312 QGraphicsView::dragMoveEvent
+320 QGraphicsView::dragLeaveEvent
+328 QGraphicsView::dropEvent
+336 QGraphicsView::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QFrame::changeEvent
+368 QWidget::metric
+376 QGraphicsView::inputMethodEvent
+384 QGraphicsView::inputMethodQuery
+392 QGraphicsView::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QGraphicsView::viewportEvent
+456 QGraphicsView::scrollContentsBy
+464 QGraphicsView::drawBackground
+472 QGraphicsView::drawForeground
+480 QGraphicsView::drawItems
+488 (int (*)(...))-0x00000000000000010
+496 (int (*)(...))(& _ZTI13QGraphicsView)
+504 QGraphicsView::_ZThn16_N13QGraphicsViewD1Ev
+512 QGraphicsView::_ZThn16_N13QGraphicsViewD0Ev
+520 QWidget::_ZThn16_NK7QWidget7devTypeEv
+528 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+536 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QGraphicsView
+ size=40 align=8
+ base size=40 base align=8
+QGraphicsView (0x7f5b920a4460) 0
+ vptr=((& QGraphicsView::_ZTV13QGraphicsView) + 16u)
+ QAbstractScrollArea (0x7f5b920a44d0) 0
+ primary-for QGraphicsView (0x7f5b920a4460)
+ QFrame (0x7f5b920a4540) 0
+ primary-for QAbstractScrollArea (0x7f5b920a44d0)
+ QWidget (0x7f5b920a3180) 0
+ primary-for QFrame (0x7f5b920a4540)
+ QObject (0x7f5b920a45b0) 0
+ primary-for QWidget (0x7f5b920a3180)
+ QPaintDevice (0x7f5b920a4620) 16
+ vptr=((& QGraphicsView::_ZTV13QGraphicsView) + 504u)
+
+Vtable for QGraphicsWidget
+QGraphicsWidget::_ZTV15QGraphicsWidget: 92u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QGraphicsWidget)
+16 QGraphicsWidget::metaObject
+24 QGraphicsWidget::qt_metacast
+32 QGraphicsWidget::qt_metacall
+40 QGraphicsWidget::~QGraphicsWidget
+48 QGraphicsWidget::~QGraphicsWidget
+56 QGraphicsWidget::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QGraphicsWidget::setGeometry
+120 QGraphicsWidget::getContentsMargins
+128 QGraphicsWidget::type
+136 QGraphicsWidget::paint
+144 QGraphicsWidget::paintWindowFrame
+152 QGraphicsWidget::boundingRect
+160 QGraphicsWidget::shape
+168 QGraphicsWidget::initStyleOption
+176 QGraphicsWidget::sizeHint
+184 QGraphicsWidget::updateGeometry
+192 QGraphicsWidget::itemChange
+200 QGraphicsWidget::propertyChange
+208 QGraphicsWidget::sceneEvent
+216 QGraphicsWidget::windowFrameEvent
+224 QGraphicsWidget::windowFrameSectionAt
+232 QGraphicsWidget::changeEvent
+240 QGraphicsWidget::closeEvent
+248 QGraphicsWidget::focusInEvent
+256 QGraphicsWidget::focusNextPrevChild
+264 QGraphicsWidget::focusOutEvent
+272 QGraphicsWidget::hideEvent
+280 QGraphicsWidget::moveEvent
+288 QGraphicsWidget::polishEvent
+296 QGraphicsWidget::resizeEvent
+304 QGraphicsWidget::showEvent
+312 QGraphicsWidget::hoverMoveEvent
+320 QGraphicsWidget::hoverLeaveEvent
+328 QGraphicsWidget::grabMouseEvent
+336 QGraphicsWidget::ungrabMouseEvent
+344 QGraphicsWidget::grabKeyboardEvent
+352 QGraphicsWidget::ungrabKeyboardEvent
+360 (int (*)(...))-0x00000000000000010
+368 (int (*)(...))(& _ZTI15QGraphicsWidget)
+376 QGraphicsWidget::_ZThn16_N15QGraphicsWidgetD1Ev
+384 QGraphicsWidget::_ZThn16_N15QGraphicsWidgetD0Ev
+392 QGraphicsItem::advance
+400 QGraphicsWidget::_ZThn16_NK15QGraphicsWidget12boundingRectEv
+408 QGraphicsWidget::_ZThn16_NK15QGraphicsWidget5shapeEv
+416 QGraphicsItem::contains
+424 QGraphicsItem::collidesWithItem
+432 QGraphicsItem::collidesWithPath
+440 QGraphicsItem::isObscuredBy
+448 QGraphicsItem::opaqueArea
+456 QGraphicsWidget::_ZThn16_N15QGraphicsWidget5paintEP8QPainterPK24QStyleOptionGraphicsItemP7QWidget
+464 QGraphicsWidget::_ZThn16_NK15QGraphicsWidget4typeEv
+472 QGraphicsItem::sceneEventFilter
+480 QGraphicsWidget::_ZThn16_N15QGraphicsWidget10sceneEventEP6QEvent
+488 QGraphicsItem::contextMenuEvent
+496 QGraphicsItem::dragEnterEvent
+504 QGraphicsItem::dragLeaveEvent
+512 QGraphicsItem::dragMoveEvent
+520 QGraphicsItem::dropEvent
+528 QGraphicsWidget::_ZThn16_N15QGraphicsWidget12focusInEventEP11QFocusEvent
+536 QGraphicsWidget::_ZThn16_N15QGraphicsWidget13focusOutEventEP11QFocusEvent
+544 QGraphicsItem::hoverEnterEvent
+552 QGraphicsWidget::_ZThn16_N15QGraphicsWidget14hoverMoveEventEP24QGraphicsSceneHoverEvent
+560 QGraphicsWidget::_ZThn16_N15QGraphicsWidget15hoverLeaveEventEP24QGraphicsSceneHoverEvent
+568 QGraphicsItem::keyPressEvent
+576 QGraphicsItem::keyReleaseEvent
+584 QGraphicsItem::mousePressEvent
+592 QGraphicsItem::mouseMoveEvent
+600 QGraphicsItem::mouseReleaseEvent
+608 QGraphicsItem::mouseDoubleClickEvent
+616 QGraphicsItem::wheelEvent
+624 QGraphicsItem::inputMethodEvent
+632 QGraphicsItem::inputMethodQuery
+640 QGraphicsWidget::_ZThn16_N15QGraphicsWidget10itemChangeEN13QGraphicsItem18GraphicsItemChangeERK8QVariant
+648 QGraphicsItem::supportsExtension
+656 QGraphicsItem::setExtension
+664 QGraphicsItem::extension
+672 (int (*)(...))-0x00000000000000020
+680 (int (*)(...))(& _ZTI15QGraphicsWidget)
+688 QGraphicsWidget::_ZThn32_N15QGraphicsWidgetD1Ev
+696 QGraphicsWidget::_ZThn32_N15QGraphicsWidgetD0Ev
+704 QGraphicsWidget::_ZThn32_N15QGraphicsWidget11setGeometryERK6QRectF
+712 QGraphicsWidget::_ZThn32_NK15QGraphicsWidget18getContentsMarginsEPdS0_S0_S0_
+720 QGraphicsWidget::_ZThn32_N15QGraphicsWidget14updateGeometryEv
+728 QGraphicsWidget::_ZThn32_NK15QGraphicsWidget8sizeHintEN2Qt8SizeHintERK6QSizeF
+
+Class QGraphicsWidget
+ size=48 align=8
+ base size=48 base align=8
+QGraphicsWidget (0x7f5b9217dd00) 0
+ vptr=((& QGraphicsWidget::_ZTV15QGraphicsWidget) + 16u)
+ QObject (0x7f5b92189930) 0
+ primary-for QGraphicsWidget (0x7f5b9217dd00)
+ QGraphicsItem (0x7f5b921899a0) 16
+ vptr=((& QGraphicsWidget::_ZTV15QGraphicsWidget) + 376u)
+ QGraphicsLayoutItem (0x7f5b92189a10) 32
+ vptr=((& QGraphicsWidget::_ZTV15QGraphicsWidget) + 688u)
+
+Vtable for QGraphicsProxyWidget
+QGraphicsProxyWidget::_ZTV20QGraphicsProxyWidget: 105u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI20QGraphicsProxyWidget)
+16 QGraphicsProxyWidget::metaObject
+24 QGraphicsProxyWidget::qt_metacast
+32 QGraphicsProxyWidget::qt_metacall
+40 QGraphicsProxyWidget::~QGraphicsProxyWidget
+48 QGraphicsProxyWidget::~QGraphicsProxyWidget
+56 QGraphicsProxyWidget::event
+64 QGraphicsProxyWidget::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QGraphicsProxyWidget::setGeometry
+120 QGraphicsWidget::getContentsMargins
+128 QGraphicsProxyWidget::type
+136 QGraphicsProxyWidget::paint
+144 QGraphicsWidget::paintWindowFrame
+152 QGraphicsWidget::boundingRect
+160 QGraphicsWidget::shape
+168 QGraphicsWidget::initStyleOption
+176 QGraphicsProxyWidget::sizeHint
+184 QGraphicsWidget::updateGeometry
+192 QGraphicsProxyWidget::itemChange
+200 QGraphicsWidget::propertyChange
+208 QGraphicsWidget::sceneEvent
+216 QGraphicsWidget::windowFrameEvent
+224 QGraphicsWidget::windowFrameSectionAt
+232 QGraphicsWidget::changeEvent
+240 QGraphicsWidget::closeEvent
+248 QGraphicsProxyWidget::focusInEvent
+256 QGraphicsProxyWidget::focusNextPrevChild
+264 QGraphicsProxyWidget::focusOutEvent
+272 QGraphicsProxyWidget::hideEvent
+280 QGraphicsWidget::moveEvent
+288 QGraphicsWidget::polishEvent
+296 QGraphicsProxyWidget::resizeEvent
+304 QGraphicsProxyWidget::showEvent
+312 QGraphicsProxyWidget::hoverMoveEvent
+320 QGraphicsProxyWidget::hoverLeaveEvent
+328 QGraphicsProxyWidget::grabMouseEvent
+336 QGraphicsProxyWidget::ungrabMouseEvent
+344 QGraphicsWidget::grabKeyboardEvent
+352 QGraphicsWidget::ungrabKeyboardEvent
+360 QGraphicsProxyWidget::contextMenuEvent
+368 QGraphicsProxyWidget::dragEnterEvent
+376 QGraphicsProxyWidget::dragLeaveEvent
+384 QGraphicsProxyWidget::dragMoveEvent
+392 QGraphicsProxyWidget::dropEvent
+400 QGraphicsProxyWidget::hoverEnterEvent
+408 QGraphicsProxyWidget::mouseMoveEvent
+416 QGraphicsProxyWidget::mousePressEvent
+424 QGraphicsProxyWidget::mouseReleaseEvent
+432 QGraphicsProxyWidget::mouseDoubleClickEvent
+440 QGraphicsProxyWidget::wheelEvent
+448 QGraphicsProxyWidget::keyPressEvent
+456 QGraphicsProxyWidget::keyReleaseEvent
+464 (int (*)(...))-0x00000000000000010
+472 (int (*)(...))(& _ZTI20QGraphicsProxyWidget)
+480 QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidgetD1Ev
+488 QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidgetD0Ev
+496 QGraphicsItem::advance
+504 QGraphicsWidget::_ZThn16_NK15QGraphicsWidget12boundingRectEv
+512 QGraphicsWidget::_ZThn16_NK15QGraphicsWidget5shapeEv
+520 QGraphicsItem::contains
+528 QGraphicsItem::collidesWithItem
+536 QGraphicsItem::collidesWithPath
+544 QGraphicsItem::isObscuredBy
+552 QGraphicsItem::opaqueArea
+560 QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget5paintEP8QPainterPK24QStyleOptionGraphicsItemP7QWidget
+568 QGraphicsProxyWidget::_ZThn16_NK20QGraphicsProxyWidget4typeEv
+576 QGraphicsItem::sceneEventFilter
+584 QGraphicsWidget::_ZThn16_N15QGraphicsWidget10sceneEventEP6QEvent
+592 QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget16contextMenuEventEP30QGraphicsSceneContextMenuEvent
+600 QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget14dragEnterEventEP27QGraphicsSceneDragDropEvent
+608 QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget14dragLeaveEventEP27QGraphicsSceneDragDropEvent
+616 QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget13dragMoveEventEP27QGraphicsSceneDragDropEvent
+624 QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget9dropEventEP27QGraphicsSceneDragDropEvent
+632 QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget12focusInEventEP11QFocusEvent
+640 QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget13focusOutEventEP11QFocusEvent
+648 QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget15hoverEnterEventEP24QGraphicsSceneHoverEvent
+656 QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget14hoverMoveEventEP24QGraphicsSceneHoverEvent
+664 QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget15hoverLeaveEventEP24QGraphicsSceneHoverEvent
+672 QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget13keyPressEventEP9QKeyEvent
+680 QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget15keyReleaseEventEP9QKeyEvent
+688 QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget15mousePressEventEP24QGraphicsSceneMouseEvent
+696 QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget14mouseMoveEventEP24QGraphicsSceneMouseEvent
+704 QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget17mouseReleaseEventEP24QGraphicsSceneMouseEvent
+712 QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget21mouseDoubleClickEventEP24QGraphicsSceneMouseEvent
+720 QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget10wheelEventEP24QGraphicsSceneWheelEvent
+728 QGraphicsItem::inputMethodEvent
+736 QGraphicsItem::inputMethodQuery
+744 QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget10itemChangeEN13QGraphicsItem18GraphicsItemChangeERK8QVariant
+752 QGraphicsItem::supportsExtension
+760 QGraphicsItem::setExtension
+768 QGraphicsItem::extension
+776 (int (*)(...))-0x00000000000000020
+784 (int (*)(...))(& _ZTI20QGraphicsProxyWidget)
+792 QGraphicsProxyWidget::_ZThn32_N20QGraphicsProxyWidgetD1Ev
+800 QGraphicsProxyWidget::_ZThn32_N20QGraphicsProxyWidgetD0Ev
+808 QGraphicsProxyWidget::_ZThn32_N20QGraphicsProxyWidget11setGeometryERK6QRectF
+816 QGraphicsWidget::_ZThn32_NK15QGraphicsWidget18getContentsMarginsEPdS0_S0_S0_
+824 QGraphicsWidget::_ZThn32_N15QGraphicsWidget14updateGeometryEv
+832 QGraphicsProxyWidget::_ZThn32_NK20QGraphicsProxyWidget8sizeHintEN2Qt8SizeHintERK6QSizeF
+
+Class QGraphicsProxyWidget
+ size=48 align=8
+ base size=48 base align=8
+QGraphicsProxyWidget (0x7f5b91fd21c0) 0
+ vptr=((& QGraphicsProxyWidget::_ZTV20QGraphicsProxyWidget) + 16u)
+ QGraphicsWidget (0x7f5b91fc2b80) 0
+ primary-for QGraphicsProxyWidget (0x7f5b91fd21c0)
+ QObject (0x7f5b91fd2230) 0
+ primary-for QGraphicsWidget (0x7f5b91fc2b80)
+ QGraphicsItem (0x7f5b91fd22a0) 16
+ vptr=((& QGraphicsProxyWidget::_ZTV20QGraphicsProxyWidget) + 480u)
+ QGraphicsLayoutItem (0x7f5b91fd2310) 32
+ vptr=((& QGraphicsProxyWidget::_ZTV20QGraphicsProxyWidget) + 792u)
+
+Vtable for QGraphicsSceneEvent
+QGraphicsSceneEvent::_ZTV19QGraphicsSceneEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QGraphicsSceneEvent)
+16 QGraphicsSceneEvent::~QGraphicsSceneEvent
+24 QGraphicsSceneEvent::~QGraphicsSceneEvent
+
+Class QGraphicsSceneEvent
+ size=32 align=8
+ base size=32 base align=8
+QGraphicsSceneEvent (0x7f5b91ffd230) 0
+ vptr=((& QGraphicsSceneEvent::_ZTV19QGraphicsSceneEvent) + 16u)
+ QEvent (0x7f5b91ffd2a0) 0
+ primary-for QGraphicsSceneEvent (0x7f5b91ffd230)
+
+Vtable for QGraphicsSceneMouseEvent
+QGraphicsSceneMouseEvent::_ZTV24QGraphicsSceneMouseEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI24QGraphicsSceneMouseEvent)
+16 QGraphicsSceneMouseEvent::~QGraphicsSceneMouseEvent
+24 QGraphicsSceneMouseEvent::~QGraphicsSceneMouseEvent
+
+Class QGraphicsSceneMouseEvent
+ size=32 align=8
+ base size=32 base align=8
+QGraphicsSceneMouseEvent (0x7f5b91ffdb60) 0
+ vptr=((& QGraphicsSceneMouseEvent::_ZTV24QGraphicsSceneMouseEvent) + 16u)
+ QGraphicsSceneEvent (0x7f5b91ffdbd0) 0
+ primary-for QGraphicsSceneMouseEvent (0x7f5b91ffdb60)
+ QEvent (0x7f5b91ffdc40) 0
+ primary-for QGraphicsSceneEvent (0x7f5b91ffdbd0)
+
+Vtable for QGraphicsSceneWheelEvent
+QGraphicsSceneWheelEvent::_ZTV24QGraphicsSceneWheelEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI24QGraphicsSceneWheelEvent)
+16 QGraphicsSceneWheelEvent::~QGraphicsSceneWheelEvent
+24 QGraphicsSceneWheelEvent::~QGraphicsSceneWheelEvent
+
+Class QGraphicsSceneWheelEvent
+ size=32 align=8
+ base size=32 base align=8
+QGraphicsSceneWheelEvent (0x7f5b9200f460) 0
+ vptr=((& QGraphicsSceneWheelEvent::_ZTV24QGraphicsSceneWheelEvent) + 16u)
+ QGraphicsSceneEvent (0x7f5b9200f4d0) 0
+ primary-for QGraphicsSceneWheelEvent (0x7f5b9200f460)
+ QEvent (0x7f5b9200f540) 0
+ primary-for QGraphicsSceneEvent (0x7f5b9200f4d0)
+
+Vtable for QGraphicsSceneContextMenuEvent
+QGraphicsSceneContextMenuEvent::_ZTV30QGraphicsSceneContextMenuEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI30QGraphicsSceneContextMenuEvent)
+16 QGraphicsSceneContextMenuEvent::~QGraphicsSceneContextMenuEvent
+24 QGraphicsSceneContextMenuEvent::~QGraphicsSceneContextMenuEvent
+
+Class QGraphicsSceneContextMenuEvent
+ size=32 align=8
+ base size=32 base align=8
+QGraphicsSceneContextMenuEvent (0x7f5b9200fe00) 0
+ vptr=((& QGraphicsSceneContextMenuEvent::_ZTV30QGraphicsSceneContextMenuEvent) + 16u)
+ QGraphicsSceneEvent (0x7f5b9200fe70) 0
+ primary-for QGraphicsSceneContextMenuEvent (0x7f5b9200fe00)
+ QEvent (0x7f5b9200fee0) 0
+ primary-for QGraphicsSceneEvent (0x7f5b9200fe70)
+
+Vtable for QGraphicsSceneHoverEvent
+QGraphicsSceneHoverEvent::_ZTV24QGraphicsSceneHoverEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI24QGraphicsSceneHoverEvent)
+16 QGraphicsSceneHoverEvent::~QGraphicsSceneHoverEvent
+24 QGraphicsSceneHoverEvent::~QGraphicsSceneHoverEvent
+
+Class QGraphicsSceneHoverEvent
+ size=32 align=8
+ base size=32 base align=8
+QGraphicsSceneHoverEvent (0x7f5b9201c930) 0
+ vptr=((& QGraphicsSceneHoverEvent::_ZTV24QGraphicsSceneHoverEvent) + 16u)
+ QGraphicsSceneEvent (0x7f5b9201c9a0) 0
+ primary-for QGraphicsSceneHoverEvent (0x7f5b9201c930)
+ QEvent (0x7f5b9201ca10) 0
+ primary-for QGraphicsSceneEvent (0x7f5b9201c9a0)
+
+Vtable for QGraphicsSceneHelpEvent
+QGraphicsSceneHelpEvent::_ZTV23QGraphicsSceneHelpEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI23QGraphicsSceneHelpEvent)
+16 QGraphicsSceneHelpEvent::~QGraphicsSceneHelpEvent
+24 QGraphicsSceneHelpEvent::~QGraphicsSceneHelpEvent
+
+Class QGraphicsSceneHelpEvent
+ size=32 align=8
+ base size=32 base align=8
+QGraphicsSceneHelpEvent (0x7f5b9202e230) 0
+ vptr=((& QGraphicsSceneHelpEvent::_ZTV23QGraphicsSceneHelpEvent) + 16u)
+ QGraphicsSceneEvent (0x7f5b9202e2a0) 0
+ primary-for QGraphicsSceneHelpEvent (0x7f5b9202e230)
+ QEvent (0x7f5b9202e310) 0
+ primary-for QGraphicsSceneEvent (0x7f5b9202e2a0)
+
+Vtable for QGraphicsSceneDragDropEvent
+QGraphicsSceneDragDropEvent::_ZTV27QGraphicsSceneDragDropEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI27QGraphicsSceneDragDropEvent)
+16 QGraphicsSceneDragDropEvent::~QGraphicsSceneDragDropEvent
+24 QGraphicsSceneDragDropEvent::~QGraphicsSceneDragDropEvent
+
+Class QGraphicsSceneDragDropEvent
+ size=32 align=8
+ base size=32 base align=8
+QGraphicsSceneDragDropEvent (0x7f5b9202ebd0) 0
+ vptr=((& QGraphicsSceneDragDropEvent::_ZTV27QGraphicsSceneDragDropEvent) + 16u)
+ QGraphicsSceneEvent (0x7f5b9202ec40) 0
+ primary-for QGraphicsSceneDragDropEvent (0x7f5b9202ebd0)
+ QEvent (0x7f5b9202ecb0) 0
+ primary-for QGraphicsSceneEvent (0x7f5b9202ec40)
+
+Vtable for QGraphicsSceneResizeEvent
+QGraphicsSceneResizeEvent::_ZTV25QGraphicsSceneResizeEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI25QGraphicsSceneResizeEvent)
+16 QGraphicsSceneResizeEvent::~QGraphicsSceneResizeEvent
+24 QGraphicsSceneResizeEvent::~QGraphicsSceneResizeEvent
+
+Class QGraphicsSceneResizeEvent
+ size=32 align=8
+ base size=32 base align=8
+QGraphicsSceneResizeEvent (0x7f5b920404d0) 0
+ vptr=((& QGraphicsSceneResizeEvent::_ZTV25QGraphicsSceneResizeEvent) + 16u)
+ QGraphicsSceneEvent (0x7f5b92040540) 0
+ primary-for QGraphicsSceneResizeEvent (0x7f5b920404d0)
+ QEvent (0x7f5b920405b0) 0
+ primary-for QGraphicsSceneEvent (0x7f5b92040540)
+
+Vtable for QGraphicsSceneMoveEvent
+QGraphicsSceneMoveEvent::_ZTV23QGraphicsSceneMoveEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI23QGraphicsSceneMoveEvent)
+16 QGraphicsSceneMoveEvent::~QGraphicsSceneMoveEvent
+24 QGraphicsSceneMoveEvent::~QGraphicsSceneMoveEvent
+
+Class QGraphicsSceneMoveEvent
+ size=32 align=8
+ base size=32 base align=8
+QGraphicsSceneMoveEvent (0x7f5b92040cb0) 0
+ vptr=((& QGraphicsSceneMoveEvent::_ZTV23QGraphicsSceneMoveEvent) + 16u)
+ QGraphicsSceneEvent (0x7f5b92040d20) 0
+ primary-for QGraphicsSceneMoveEvent (0x7f5b92040cb0)
+ QEvent (0x7f5b92040d90) 0
+ primary-for QGraphicsSceneEvent (0x7f5b92040d20)
+
+Vtable for QGraphicsItemAnimation
+QGraphicsItemAnimation::_ZTV22QGraphicsItemAnimation: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI22QGraphicsItemAnimation)
+16 QGraphicsItemAnimation::metaObject
+24 QGraphicsItemAnimation::qt_metacast
+32 QGraphicsItemAnimation::qt_metacall
+40 QGraphicsItemAnimation::~QGraphicsItemAnimation
+48 QGraphicsItemAnimation::~QGraphicsItemAnimation
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QGraphicsItemAnimation::beforeAnimationStep
+120 QGraphicsItemAnimation::afterAnimationStep
+
+Class QGraphicsItemAnimation
+ size=24 align=8
+ base size=24 base align=8
+QGraphicsItemAnimation (0x7f5b9204e3f0) 0
+ vptr=((& QGraphicsItemAnimation::_ZTV22QGraphicsItemAnimation) + 16u)
+ QObject (0x7f5b9204e460) 0
+ primary-for QGraphicsItemAnimation (0x7f5b9204e3f0)
+
+Vtable for QGraphicsGridLayout
+QGraphicsGridLayout::_ZTV19QGraphicsGridLayout: 13u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QGraphicsGridLayout)
+16 QGraphicsGridLayout::~QGraphicsGridLayout
+24 QGraphicsGridLayout::~QGraphicsGridLayout
+32 QGraphicsGridLayout::setGeometry
+40 QGraphicsLayout::getContentsMargins
+48 QGraphicsLayout::updateGeometry
+56 QGraphicsGridLayout::sizeHint
+64 QGraphicsGridLayout::invalidate
+72 QGraphicsLayout::widgetEvent
+80 QGraphicsGridLayout::count
+88 QGraphicsGridLayout::itemAt
+96 QGraphicsGridLayout::removeAt
+
+Class QGraphicsGridLayout
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsGridLayout (0x7f5b9206a770) 0
+ vptr=((& QGraphicsGridLayout::_ZTV19QGraphicsGridLayout) + 16u)
+ QGraphicsLayout (0x7f5b9206a7e0) 0
+ primary-for QGraphicsGridLayout (0x7f5b9206a770)
+ QGraphicsLayoutItem (0x7f5b9206a850) 0
+ primary-for QGraphicsLayout (0x7f5b9206a7e0)
+
+Vtable for QAbstractButton
+QAbstractButton::_ZTV15QAbstractButton: 66u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QAbstractButton)
+16 QAbstractButton::metaObject
+24 QAbstractButton::qt_metacast
+32 QAbstractButton::qt_metacall
+40 QAbstractButton::~QAbstractButton
+48 QAbstractButton::~QAbstractButton
+56 QAbstractButton::event
+64 QObject::eventFilter
+72 QAbstractButton::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QWidget::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QAbstractButton::mousePressEvent
+168 QAbstractButton::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QAbstractButton::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QAbstractButton::keyPressEvent
+208 QAbstractButton::keyReleaseEvent
+216 QAbstractButton::focusInEvent
+224 QAbstractButton::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 __cxa_pure_virtual
+256 QWidget::moveEvent
+264 QWidget::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QAbstractButton::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QAbstractButton::hitButton
+456 QAbstractButton::checkStateSet
+464 QAbstractButton::nextCheckState
+472 (int (*)(...))-0x00000000000000010
+480 (int (*)(...))(& _ZTI15QAbstractButton)
+488 QAbstractButton::_ZThn16_N15QAbstractButtonD1Ev
+496 QAbstractButton::_ZThn16_N15QAbstractButtonD0Ev
+504 QWidget::_ZThn16_NK7QWidget7devTypeEv
+512 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+520 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QAbstractButton
+ size=40 align=8
+ base size=40 base align=8
+QAbstractButton (0x7f5b92084bd0) 0
+ vptr=((& QAbstractButton::_ZTV15QAbstractButton) + 16u)
+ QWidget (0x7f5b92067800) 0
+ primary-for QAbstractButton (0x7f5b92084bd0)
+ QObject (0x7f5b92084c40) 0
+ primary-for QWidget (0x7f5b92067800)
+ QPaintDevice (0x7f5b92084cb0) 16
+ vptr=((& QAbstractButton::_ZTV15QAbstractButton) + 488u)
+
+Vtable for QCheckBox
+QCheckBox::_ZTV9QCheckBox: 66u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QCheckBox)
+16 QCheckBox::metaObject
+24 QCheckBox::qt_metacast
+32 QCheckBox::qt_metacall
+40 QCheckBox::~QCheckBox
+48 QCheckBox::~QCheckBox
+56 QCheckBox::event
+64 QObject::eventFilter
+72 QAbstractButton::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QCheckBox::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QAbstractButton::mousePressEvent
+168 QAbstractButton::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QCheckBox::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QAbstractButton::keyPressEvent
+208 QAbstractButton::keyReleaseEvent
+216 QAbstractButton::focusInEvent
+224 QAbstractButton::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QCheckBox::paintEvent
+256 QWidget::moveEvent
+264 QWidget::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QAbstractButton::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QCheckBox::hitButton
+456 QCheckBox::checkStateSet
+464 QCheckBox::nextCheckState
+472 (int (*)(...))-0x00000000000000010
+480 (int (*)(...))(& _ZTI9QCheckBox)
+488 QCheckBox::_ZThn16_N9QCheckBoxD1Ev
+496 QCheckBox::_ZThn16_N9QCheckBoxD0Ev
+504 QWidget::_ZThn16_NK7QWidget7devTypeEv
+512 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+520 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QCheckBox
+ size=40 align=8
+ base size=40 base align=8
+QCheckBox (0x7f5b91eb6f50) 0
+ vptr=((& QCheckBox::_ZTV9QCheckBox) + 16u)
+ QAbstractButton (0x7f5b91ebd000) 0
+ primary-for QCheckBox (0x7f5b91eb6f50)
+ QWidget (0x7f5b91ebe000) 0
+ primary-for QAbstractButton (0x7f5b91ebd000)
+ QObject (0x7f5b91ebd070) 0
+ primary-for QWidget (0x7f5b91ebe000)
+ QPaintDevice (0x7f5b91ebd0e0) 16
+ vptr=((& QCheckBox::_ZTV9QCheckBox) + 488u)
+
+Vtable for QMenu
+QMenu::_ZTV5QMenu: 63u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI5QMenu)
+16 QMenu::metaObject
+24 QMenu::qt_metacast
+32 QMenu::qt_metacall
+40 QMenu::~QMenu
+48 QMenu::~QMenu
+56 QMenu::event
+64 QObject::eventFilter
+72 QMenu::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QMenu::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QMenu::mousePressEvent
+168 QMenu::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QMenu::mouseMoveEvent
+192 QMenu::wheelEvent
+200 QMenu::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QMenu::enterEvent
+240 QMenu::leaveEvent
+248 QMenu::paintEvent
+256 QWidget::moveEvent
+264 QWidget::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QMenu::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QMenu::hideEvent
+352 QWidget::x11Event
+360 QMenu::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QMenu::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 (int (*)(...))-0x00000000000000010
+456 (int (*)(...))(& _ZTI5QMenu)
+464 QMenu::_ZThn16_N5QMenuD1Ev
+472 QMenu::_ZThn16_N5QMenuD0Ev
+480 QWidget::_ZThn16_NK7QWidget7devTypeEv
+488 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+496 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QMenu
+ size=40 align=8
+ base size=40 base align=8
+QMenu (0x7f5b91edd770) 0
+ vptr=((& QMenu::_ZTV5QMenu) + 16u)
+ QWidget (0x7f5b91ebef00) 0
+ primary-for QMenu (0x7f5b91edd770)
+ QObject (0x7f5b91edd7e0) 0
+ primary-for QWidget (0x7f5b91ebef00)
+ QPaintDevice (0x7f5b91edd850) 16
+ vptr=((& QMenu::_ZTV5QMenu) + 464u)
+
+Vtable for QPrintPreviewWidget
+QPrintPreviewWidget::_ZTV19QPrintPreviewWidget: 63u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QPrintPreviewWidget)
+16 QPrintPreviewWidget::metaObject
+24 QPrintPreviewWidget::qt_metacast
+32 QPrintPreviewWidget::qt_metacall
+40 QPrintPreviewWidget::~QPrintPreviewWidget
+48 QPrintPreviewWidget::~QPrintPreviewWidget
+56 QWidget::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QPrintPreviewWidget::setVisible
+128 QWidget::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QWidget::paintEvent
+256 QWidget::moveEvent
+264 QWidget::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QWidget::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 (int (*)(...))-0x00000000000000010
+456 (int (*)(...))(& _ZTI19QPrintPreviewWidget)
+464 QPrintPreviewWidget::_ZThn16_N19QPrintPreviewWidgetD1Ev
+472 QPrintPreviewWidget::_ZThn16_N19QPrintPreviewWidgetD0Ev
+480 QWidget::_ZThn16_NK7QWidget7devTypeEv
+488 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+496 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QPrintPreviewWidget
+ size=48 align=8
+ base size=48 base align=8
+QPrintPreviewWidget (0x7f5b91f865b0) 0
+ vptr=((& QPrintPreviewWidget::_ZTV19QPrintPreviewWidget) + 16u)
+ QWidget (0x7f5b91f83680) 0
+ primary-for QPrintPreviewWidget (0x7f5b91f865b0)
+ QObject (0x7f5b91f86620) 0
+ primary-for QWidget (0x7f5b91f83680)
+ QPaintDevice (0x7f5b91f86690) 16
+ vptr=((& QPrintPreviewWidget::_ZTV19QPrintPreviewWidget) + 464u)
+
+Vtable for QWorkspace
+QWorkspace::_ZTV10QWorkspace: 63u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QWorkspace)
+16 QWorkspace::metaObject
+24 QWorkspace::qt_metacast
+32 QWorkspace::qt_metacall
+40 QWorkspace::~QWorkspace
+48 QWorkspace::~QWorkspace
+56 QWorkspace::event
+64 QWorkspace::eventFilter
+72 QObject::timerEvent
+80 QWorkspace::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QWorkspace::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWorkspace::wheelEvent
+200 QWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QWorkspace::paintEvent
+256 QWidget::moveEvent
+264 QWorkspace::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWorkspace::showEvent
+344 QWorkspace::hideEvent
+352 QWidget::x11Event
+360 QWorkspace::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 (int (*)(...))-0x00000000000000010
+456 (int (*)(...))(& _ZTI10QWorkspace)
+464 QWorkspace::_ZThn16_N10QWorkspaceD1Ev
+472 QWorkspace::_ZThn16_N10QWorkspaceD0Ev
+480 QWidget::_ZThn16_NK7QWidget7devTypeEv
+488 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+496 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QWorkspace
+ size=40 align=8
+ base size=40 base align=8
+QWorkspace (0x7f5b91da9070) 0
+ vptr=((& QWorkspace::_ZTV10QWorkspace) + 16u)
+ QWidget (0x7f5b91da4280) 0
+ primary-for QWorkspace (0x7f5b91da9070)
+ QObject (0x7f5b91da90e0) 0
+ primary-for QWidget (0x7f5b91da4280)
+ QPaintDevice (0x7f5b91da9150) 16
+ vptr=((& QWorkspace::_ZTV10QWorkspace) + 464u)
+
+Vtable for QButtonGroup
+QButtonGroup::_ZTV12QButtonGroup: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QButtonGroup)
+16 QButtonGroup::metaObject
+24 QButtonGroup::qt_metacast
+32 QButtonGroup::qt_metacall
+40 QButtonGroup::~QButtonGroup
+48 QButtonGroup::~QButtonGroup
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QButtonGroup
+ size=16 align=8
+ base size=16 base align=8
+QButtonGroup (0x7f5b91dcb150) 0
+ vptr=((& QButtonGroup::_ZTV12QButtonGroup) + 16u)
+ QObject (0x7f5b91dcb1c0) 0
+ primary-for QButtonGroup (0x7f5b91dcb150)
+
+Vtable for QSpinBox
+QSpinBox::_ZTV8QSpinBox: 70u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI8QSpinBox)
+16 QSpinBox::metaObject
+24 QSpinBox::qt_metacast
+32 QSpinBox::qt_metacall
+40 QSpinBox::~QSpinBox
+48 QSpinBox::~QSpinBox
+56 QSpinBox::event
+64 QObject::eventFilter
+72 QAbstractSpinBox::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QAbstractSpinBox::sizeHint
+136 QAbstractSpinBox::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QAbstractSpinBox::mousePressEvent
+168 QAbstractSpinBox::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QAbstractSpinBox::mouseMoveEvent
+192 QAbstractSpinBox::wheelEvent
+200 QAbstractSpinBox::keyPressEvent
+208 QAbstractSpinBox::keyReleaseEvent
+216 QAbstractSpinBox::focusInEvent
+224 QAbstractSpinBox::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QAbstractSpinBox::paintEvent
+256 QWidget::moveEvent
+264 QAbstractSpinBox::resizeEvent
+272 QAbstractSpinBox::closeEvent
+280 QAbstractSpinBox::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QAbstractSpinBox::showEvent
+344 QAbstractSpinBox::hideEvent
+352 QWidget::x11Event
+360 QAbstractSpinBox::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QSpinBox::validate
+456 QSpinBox::fixup
+464 QAbstractSpinBox::stepBy
+472 QAbstractSpinBox::clear
+480 QAbstractSpinBox::stepEnabled
+488 QSpinBox::valueFromText
+496 QSpinBox::textFromValue
+504 (int (*)(...))-0x00000000000000010
+512 (int (*)(...))(& _ZTI8QSpinBox)
+520 QSpinBox::_ZThn16_N8QSpinBoxD1Ev
+528 QSpinBox::_ZThn16_N8QSpinBoxD0Ev
+536 QWidget::_ZThn16_NK7QWidget7devTypeEv
+544 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+552 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QSpinBox
+ size=40 align=8
+ base size=40 base align=8
+QSpinBox (0x7f5b91de1d90) 0
+ vptr=((& QSpinBox::_ZTV8QSpinBox) + 16u)
+ QAbstractSpinBox (0x7f5b91de1e00) 0
+ primary-for QSpinBox (0x7f5b91de1d90)
+ QWidget (0x7f5b91ddc800) 0
+ primary-for QAbstractSpinBox (0x7f5b91de1e00)
+ QObject (0x7f5b91de1e70) 0
+ primary-for QWidget (0x7f5b91ddc800)
+ QPaintDevice (0x7f5b91de1ee0) 16
+ vptr=((& QSpinBox::_ZTV8QSpinBox) + 520u)
+
+Vtable for QDoubleSpinBox
+QDoubleSpinBox::_ZTV14QDoubleSpinBox: 70u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QDoubleSpinBox)
+16 QDoubleSpinBox::metaObject
+24 QDoubleSpinBox::qt_metacast
+32 QDoubleSpinBox::qt_metacall
+40 QDoubleSpinBox::~QDoubleSpinBox
+48 QDoubleSpinBox::~QDoubleSpinBox
+56 QAbstractSpinBox::event
+64 QObject::eventFilter
+72 QAbstractSpinBox::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QAbstractSpinBox::sizeHint
+136 QAbstractSpinBox::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QAbstractSpinBox::mousePressEvent
+168 QAbstractSpinBox::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QAbstractSpinBox::mouseMoveEvent
+192 QAbstractSpinBox::wheelEvent
+200 QAbstractSpinBox::keyPressEvent
+208 QAbstractSpinBox::keyReleaseEvent
+216 QAbstractSpinBox::focusInEvent
+224 QAbstractSpinBox::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QAbstractSpinBox::paintEvent
+256 QWidget::moveEvent
+264 QAbstractSpinBox::resizeEvent
+272 QAbstractSpinBox::closeEvent
+280 QAbstractSpinBox::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QAbstractSpinBox::showEvent
+344 QAbstractSpinBox::hideEvent
+352 QWidget::x11Event
+360 QAbstractSpinBox::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QDoubleSpinBox::validate
+456 QDoubleSpinBox::fixup
+464 QAbstractSpinBox::stepBy
+472 QAbstractSpinBox::clear
+480 QAbstractSpinBox::stepEnabled
+488 QDoubleSpinBox::valueFromText
+496 QDoubleSpinBox::textFromValue
+504 (int (*)(...))-0x00000000000000010
+512 (int (*)(...))(& _ZTI14QDoubleSpinBox)
+520 QDoubleSpinBox::_ZThn16_N14QDoubleSpinBoxD1Ev
+528 QDoubleSpinBox::_ZThn16_N14QDoubleSpinBoxD0Ev
+536 QWidget::_ZThn16_NK7QWidget7devTypeEv
+544 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+552 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QDoubleSpinBox
+ size=40 align=8
+ base size=40 base align=8
+QDoubleSpinBox (0x7f5b91e0a700) 0
+ vptr=((& QDoubleSpinBox::_ZTV14QDoubleSpinBox) + 16u)
+ QAbstractSpinBox (0x7f5b91e0a770) 0
+ primary-for QDoubleSpinBox (0x7f5b91e0a700)
+ QWidget (0x7f5b91e07880) 0
+ primary-for QAbstractSpinBox (0x7f5b91e0a770)
+ QObject (0x7f5b91e0a7e0) 0
+ primary-for QWidget (0x7f5b91e07880)
+ QPaintDevice (0x7f5b91e0a850) 16
+ vptr=((& QDoubleSpinBox::_ZTV14QDoubleSpinBox) + 520u)
+
+Vtable for QLCDNumber
+QLCDNumber::_ZTV10QLCDNumber: 63u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QLCDNumber)
+16 QLCDNumber::metaObject
+24 QLCDNumber::qt_metacast
+32 QLCDNumber::qt_metacall
+40 QLCDNumber::~QLCDNumber
+48 QLCDNumber::~QLCDNumber
+56 QLCDNumber::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QLCDNumber::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QLCDNumber::paintEvent
+256 QWidget::moveEvent
+264 QWidget::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QFrame::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 (int (*)(...))-0x00000000000000010
+456 (int (*)(...))(& _ZTI10QLCDNumber)
+464 QLCDNumber::_ZThn16_N10QLCDNumberD1Ev
+472 QLCDNumber::_ZThn16_N10QLCDNumberD0Ev
+480 QWidget::_ZThn16_NK7QWidget7devTypeEv
+488 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+496 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QLCDNumber
+ size=40 align=8
+ base size=40 base align=8
+QLCDNumber (0x7f5b91e2b1c0) 0
+ vptr=((& QLCDNumber::_ZTV10QLCDNumber) + 16u)
+ QFrame (0x7f5b91e2b230) 0
+ primary-for QLCDNumber (0x7f5b91e2b1c0)
+ QWidget (0x7f5b91e2a180) 0
+ primary-for QFrame (0x7f5b91e2b230)
+ QObject (0x7f5b91e2b2a0) 0
+ primary-for QWidget (0x7f5b91e2a180)
+ QPaintDevice (0x7f5b91e2b310) 16
+ vptr=((& QLCDNumber::_ZTV10QLCDNumber) + 464u)
+
+Vtable for QStackedWidget
+QStackedWidget::_ZTV14QStackedWidget: 63u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QStackedWidget)
+16 QStackedWidget::metaObject
+24 QStackedWidget::qt_metacast
+32 QStackedWidget::qt_metacall
+40 QStackedWidget::~QStackedWidget
+48 QStackedWidget::~QStackedWidget
+56 QStackedWidget::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QFrame::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QFrame::paintEvent
+256 QWidget::moveEvent
+264 QWidget::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QFrame::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 (int (*)(...))-0x00000000000000010
+456 (int (*)(...))(& _ZTI14QStackedWidget)
+464 QStackedWidget::_ZThn16_N14QStackedWidgetD1Ev
+472 QStackedWidget::_ZThn16_N14QStackedWidgetD0Ev
+480 QWidget::_ZThn16_NK7QWidget7devTypeEv
+488 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+496 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QStackedWidget
+ size=40 align=8
+ base size=40 base align=8
+QStackedWidget (0x7f5b91e4dd20) 0
+ vptr=((& QStackedWidget::_ZTV14QStackedWidget) + 16u)
+ QFrame (0x7f5b91e4dd90) 0
+ primary-for QStackedWidget (0x7f5b91e4dd20)
+ QWidget (0x7f5b91e51200) 0
+ primary-for QFrame (0x7f5b91e4dd90)
+ QObject (0x7f5b91e4de00) 0
+ primary-for QWidget (0x7f5b91e51200)
+ QPaintDevice (0x7f5b91e4de70) 16
+ vptr=((& QStackedWidget::_ZTV14QStackedWidget) + 464u)
+
+Vtable for QMdiArea
+QMdiArea::_ZTV8QMdiArea: 65u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI8QMdiArea)
+16 QMdiArea::metaObject
+24 QMdiArea::qt_metacast
+32 QMdiArea::qt_metacall
+40 QMdiArea::~QMdiArea
+48 QMdiArea::~QMdiArea
+56 QMdiArea::event
+64 QMdiArea::eventFilter
+72 QMdiArea::timerEvent
+80 QMdiArea::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QMdiArea::sizeHint
+136 QMdiArea::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QAbstractScrollArea::mousePressEvent
+168 QAbstractScrollArea::mouseReleaseEvent
+176 QAbstractScrollArea::mouseDoubleClickEvent
+184 QAbstractScrollArea::mouseMoveEvent
+192 QAbstractScrollArea::wheelEvent
+200 QAbstractScrollArea::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QMdiArea::paintEvent
+256 QWidget::moveEvent
+264 QMdiArea::resizeEvent
+272 QWidget::closeEvent
+280 QAbstractScrollArea::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QAbstractScrollArea::dragEnterEvent
+312 QAbstractScrollArea::dragMoveEvent
+320 QAbstractScrollArea::dragLeaveEvent
+328 QAbstractScrollArea::dropEvent
+336 QMdiArea::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QFrame::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QMdiArea::viewportEvent
+456 QMdiArea::scrollContentsBy
+464 (int (*)(...))-0x00000000000000010
+472 (int (*)(...))(& _ZTI8QMdiArea)
+480 QMdiArea::_ZThn16_N8QMdiAreaD1Ev
+488 QMdiArea::_ZThn16_N8QMdiAreaD0Ev
+496 QWidget::_ZThn16_NK7QWidget7devTypeEv
+504 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+512 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QMdiArea
+ size=40 align=8
+ base size=40 base align=8
+QMdiArea (0x7f5b91e68bd0) 0
+ vptr=((& QMdiArea::_ZTV8QMdiArea) + 16u)
+ QAbstractScrollArea (0x7f5b91e68c40) 0
+ primary-for QMdiArea (0x7f5b91e68bd0)
+ QFrame (0x7f5b91e68cb0) 0
+ primary-for QAbstractScrollArea (0x7f5b91e68c40)
+ QWidget (0x7f5b91e51b00) 0
+ primary-for QFrame (0x7f5b91e68cb0)
+ QObject (0x7f5b91e68d20) 0
+ primary-for QWidget (0x7f5b91e51b00)
+ QPaintDevice (0x7f5b91e68d90) 16
+ vptr=((& QMdiArea::_ZTV8QMdiArea) + 480u)
+
+Vtable for QPushButton
+QPushButton::_ZTV11QPushButton: 66u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QPushButton)
+16 QPushButton::metaObject
+24 QPushButton::qt_metacast
+32 QPushButton::qt_metacall
+40 QPushButton::~QPushButton
+48 QPushButton::~QPushButton
+56 QPushButton::event
+64 QObject::eventFilter
+72 QAbstractButton::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QPushButton::sizeHint
+136 QPushButton::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QAbstractButton::mousePressEvent
+168 QAbstractButton::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QAbstractButton::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QPushButton::keyPressEvent
+208 QAbstractButton::keyReleaseEvent
+216 QPushButton::focusInEvent
+224 QPushButton::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QPushButton::paintEvent
+256 QWidget::moveEvent
+264 QWidget::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QAbstractButton::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QAbstractButton::hitButton
+456 QAbstractButton::checkStateSet
+464 QAbstractButton::nextCheckState
+472 (int (*)(...))-0x00000000000000010
+480 (int (*)(...))(& _ZTI11QPushButton)
+488 QPushButton::_ZThn16_N11QPushButtonD1Ev
+496 QPushButton::_ZThn16_N11QPushButtonD0Ev
+504 QWidget::_ZThn16_NK7QWidget7devTypeEv
+512 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+520 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QPushButton
+ size=40 align=8
+ base size=40 base align=8
+QPushButton (0x7f5b91cdd150) 0
+ vptr=((& QPushButton::_ZTV11QPushButton) + 16u)
+ QAbstractButton (0x7f5b91cdd1c0) 0
+ primary-for QPushButton (0x7f5b91cdd150)
+ QWidget (0x7f5b91e8dd00) 0
+ primary-for QAbstractButton (0x7f5b91cdd1c0)
+ QObject (0x7f5b91cdd230) 0
+ primary-for QWidget (0x7f5b91e8dd00)
+ QPaintDevice (0x7f5b91cdd2a0) 16
+ vptr=((& QPushButton::_ZTV11QPushButton) + 488u)
+
+Vtable for QMdiSubWindow
+QMdiSubWindow::_ZTV13QMdiSubWindow: 63u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QMdiSubWindow)
+16 QMdiSubWindow::metaObject
+24 QMdiSubWindow::qt_metacast
+32 QMdiSubWindow::qt_metacall
+40 QMdiSubWindow::~QMdiSubWindow
+48 QMdiSubWindow::~QMdiSubWindow
+56 QMdiSubWindow::event
+64 QMdiSubWindow::eventFilter
+72 QMdiSubWindow::timerEvent
+80 QMdiSubWindow::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QMdiSubWindow::sizeHint
+136 QMdiSubWindow::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QMdiSubWindow::mousePressEvent
+168 QMdiSubWindow::mouseReleaseEvent
+176 QMdiSubWindow::mouseDoubleClickEvent
+184 QMdiSubWindow::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QMdiSubWindow::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QMdiSubWindow::focusInEvent
+224 QMdiSubWindow::focusOutEvent
+232 QWidget::enterEvent
+240 QMdiSubWindow::leaveEvent
+248 QMdiSubWindow::paintEvent
+256 QMdiSubWindow::moveEvent
+264 QMdiSubWindow::resizeEvent
+272 QMdiSubWindow::closeEvent
+280 QMdiSubWindow::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QMdiSubWindow::showEvent
+344 QMdiSubWindow::hideEvent
+352 QWidget::x11Event
+360 QMdiSubWindow::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 (int (*)(...))-0x00000000000000010
+456 (int (*)(...))(& _ZTI13QMdiSubWindow)
+464 QMdiSubWindow::_ZThn16_N13QMdiSubWindowD1Ev
+472 QMdiSubWindow::_ZThn16_N13QMdiSubWindowD0Ev
+480 QWidget::_ZThn16_NK7QWidget7devTypeEv
+488 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+496 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QMdiSubWindow
+ size=40 align=8
+ base size=40 base align=8
+QMdiSubWindow (0x7f5b91d01a80) 0
+ vptr=((& QMdiSubWindow::_ZTV13QMdiSubWindow) + 16u)
+ QWidget (0x7f5b91cf8c00) 0
+ primary-for QMdiSubWindow (0x7f5b91d01a80)
+ QObject (0x7f5b91d01af0) 0
+ primary-for QWidget (0x7f5b91cf8c00)
+ QPaintDevice (0x7f5b91d01b60) 16
+ vptr=((& QMdiSubWindow::_ZTV13QMdiSubWindow) + 464u)
+
+Vtable for QSplashScreen
+QSplashScreen::_ZTV13QSplashScreen: 64u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QSplashScreen)
+16 QSplashScreen::metaObject
+24 QSplashScreen::qt_metacast
+32 QSplashScreen::qt_metacall
+40 QSplashScreen::~QSplashScreen
+48 QSplashScreen::~QSplashScreen
+56 QSplashScreen::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QWidget::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QSplashScreen::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QWidget::paintEvent
+256 QWidget::moveEvent
+264 QWidget::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QWidget::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QSplashScreen::drawContents
+456 (int (*)(...))-0x00000000000000010
+464 (int (*)(...))(& _ZTI13QSplashScreen)
+472 QSplashScreen::_ZThn16_N13QSplashScreenD1Ev
+480 QSplashScreen::_ZThn16_N13QSplashScreenD0Ev
+488 QWidget::_ZThn16_NK7QWidget7devTypeEv
+496 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+504 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QSplashScreen
+ size=40 align=8
+ base size=40 base align=8
+QSplashScreen (0x7f5b91d54930) 0
+ vptr=((& QSplashScreen::_ZTV13QSplashScreen) + 16u)
+ QWidget (0x7f5b91d22d00) 0
+ primary-for QSplashScreen (0x7f5b91d54930)
+ QObject (0x7f5b91d549a0) 0
+ primary-for QWidget (0x7f5b91d22d00)
+ QPaintDevice (0x7f5b91d54a10) 16
+ vptr=((& QSplashScreen::_ZTV13QSplashScreen) + 472u)
+
+Vtable for QDateTimeEdit
+QDateTimeEdit::_ZTV13QDateTimeEdit: 70u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QDateTimeEdit)
+16 QDateTimeEdit::metaObject
+24 QDateTimeEdit::qt_metacast
+32 QDateTimeEdit::qt_metacall
+40 QDateTimeEdit::~QDateTimeEdit
+48 QDateTimeEdit::~QDateTimeEdit
+56 QDateTimeEdit::event
+64 QObject::eventFilter
+72 QAbstractSpinBox::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QDateTimeEdit::sizeHint
+136 QAbstractSpinBox::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QDateTimeEdit::mousePressEvent
+168 QAbstractSpinBox::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QAbstractSpinBox::mouseMoveEvent
+192 QDateTimeEdit::wheelEvent
+200 QDateTimeEdit::keyPressEvent
+208 QAbstractSpinBox::keyReleaseEvent
+216 QDateTimeEdit::focusInEvent
+224 QAbstractSpinBox::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QDateTimeEdit::paintEvent
+256 QWidget::moveEvent
+264 QAbstractSpinBox::resizeEvent
+272 QAbstractSpinBox::closeEvent
+280 QAbstractSpinBox::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QAbstractSpinBox::showEvent
+344 QAbstractSpinBox::hideEvent
+352 QWidget::x11Event
+360 QAbstractSpinBox::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QDateTimeEdit::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QDateTimeEdit::validate
+456 QDateTimeEdit::fixup
+464 QDateTimeEdit::stepBy
+472 QDateTimeEdit::clear
+480 QDateTimeEdit::stepEnabled
+488 QDateTimeEdit::dateTimeFromText
+496 QDateTimeEdit::textFromDateTime
+504 (int (*)(...))-0x00000000000000010
+512 (int (*)(...))(& _ZTI13QDateTimeEdit)
+520 QDateTimeEdit::_ZThn16_N13QDateTimeEditD1Ev
+528 QDateTimeEdit::_ZThn16_N13QDateTimeEditD0Ev
+536 QWidget::_ZThn16_NK7QWidget7devTypeEv
+544 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+552 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QDateTimeEdit
+ size=40 align=8
+ base size=40 base align=8
+QDateTimeEdit (0x7f5b91d90a10) 0
+ vptr=((& QDateTimeEdit::_ZTV13QDateTimeEdit) + 16u)
+ QAbstractSpinBox (0x7f5b91d90a80) 0
+ primary-for QDateTimeEdit (0x7f5b91d90a10)
+ QWidget (0x7f5b91d89880) 0
+ primary-for QAbstractSpinBox (0x7f5b91d90a80)
+ QObject (0x7f5b91d90af0) 0
+ primary-for QWidget (0x7f5b91d89880)
+ QPaintDevice (0x7f5b91d90b60) 16
+ vptr=((& QDateTimeEdit::_ZTV13QDateTimeEdit) + 520u)
+
+Vtable for QTimeEdit
+QTimeEdit::_ZTV9QTimeEdit: 70u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QTimeEdit)
+16 QTimeEdit::metaObject
+24 QTimeEdit::qt_metacast
+32 QTimeEdit::qt_metacall
+40 QTimeEdit::~QTimeEdit
+48 QTimeEdit::~QTimeEdit
+56 QDateTimeEdit::event
+64 QObject::eventFilter
+72 QAbstractSpinBox::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QDateTimeEdit::sizeHint
+136 QAbstractSpinBox::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QDateTimeEdit::mousePressEvent
+168 QAbstractSpinBox::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QAbstractSpinBox::mouseMoveEvent
+192 QDateTimeEdit::wheelEvent
+200 QDateTimeEdit::keyPressEvent
+208 QAbstractSpinBox::keyReleaseEvent
+216 QDateTimeEdit::focusInEvent
+224 QAbstractSpinBox::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QDateTimeEdit::paintEvent
+256 QWidget::moveEvent
+264 QAbstractSpinBox::resizeEvent
+272 QAbstractSpinBox::closeEvent
+280 QAbstractSpinBox::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QAbstractSpinBox::showEvent
+344 QAbstractSpinBox::hideEvent
+352 QWidget::x11Event
+360 QAbstractSpinBox::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QDateTimeEdit::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QDateTimeEdit::validate
+456 QDateTimeEdit::fixup
+464 QDateTimeEdit::stepBy
+472 QDateTimeEdit::clear
+480 QDateTimeEdit::stepEnabled
+488 QDateTimeEdit::dateTimeFromText
+496 QDateTimeEdit::textFromDateTime
+504 (int (*)(...))-0x00000000000000010
+512 (int (*)(...))(& _ZTI9QTimeEdit)
+520 QTimeEdit::_ZThn16_N9QTimeEditD1Ev
+528 QTimeEdit::_ZThn16_N9QTimeEditD0Ev
+536 QWidget::_ZThn16_NK7QWidget7devTypeEv
+544 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+552 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QTimeEdit
+ size=40 align=8
+ base size=40 base align=8
+QTimeEdit (0x7f5b91bbf930) 0
+ vptr=((& QTimeEdit::_ZTV9QTimeEdit) + 16u)
+ QDateTimeEdit (0x7f5b91bbf9a0) 0
+ primary-for QTimeEdit (0x7f5b91bbf930)
+ QAbstractSpinBox (0x7f5b91bbfa10) 0
+ primary-for QDateTimeEdit (0x7f5b91bbf9a0)
+ QWidget (0x7f5b91bba700) 0
+ primary-for QAbstractSpinBox (0x7f5b91bbfa10)
+ QObject (0x7f5b91bbfa80) 0
+ primary-for QWidget (0x7f5b91bba700)
+ QPaintDevice (0x7f5b91bbfaf0) 16
+ vptr=((& QTimeEdit::_ZTV9QTimeEdit) + 520u)
+
+Vtable for QDateEdit
+QDateEdit::_ZTV9QDateEdit: 70u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QDateEdit)
+16 QDateEdit::metaObject
+24 QDateEdit::qt_metacast
+32 QDateEdit::qt_metacall
+40 QDateEdit::~QDateEdit
+48 QDateEdit::~QDateEdit
+56 QDateTimeEdit::event
+64 QObject::eventFilter
+72 QAbstractSpinBox::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QDateTimeEdit::sizeHint
+136 QAbstractSpinBox::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QDateTimeEdit::mousePressEvent
+168 QAbstractSpinBox::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QAbstractSpinBox::mouseMoveEvent
+192 QDateTimeEdit::wheelEvent
+200 QDateTimeEdit::keyPressEvent
+208 QAbstractSpinBox::keyReleaseEvent
+216 QDateTimeEdit::focusInEvent
+224 QAbstractSpinBox::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QDateTimeEdit::paintEvent
+256 QWidget::moveEvent
+264 QAbstractSpinBox::resizeEvent
+272 QAbstractSpinBox::closeEvent
+280 QAbstractSpinBox::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QAbstractSpinBox::showEvent
+344 QAbstractSpinBox::hideEvent
+352 QWidget::x11Event
+360 QAbstractSpinBox::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QDateTimeEdit::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QDateTimeEdit::validate
+456 QDateTimeEdit::fixup
+464 QDateTimeEdit::stepBy
+472 QDateTimeEdit::clear
+480 QDateTimeEdit::stepEnabled
+488 QDateTimeEdit::dateTimeFromText
+496 QDateTimeEdit::textFromDateTime
+504 (int (*)(...))-0x00000000000000010
+512 (int (*)(...))(& _ZTI9QDateEdit)
+520 QDateEdit::_ZThn16_N9QDateEditD1Ev
+528 QDateEdit::_ZThn16_N9QDateEditD0Ev
+536 QWidget::_ZThn16_NK7QWidget7devTypeEv
+544 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+552 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QDateEdit
+ size=40 align=8
+ base size=40 base align=8
+QDateEdit (0x7f5b91bd1a10) 0
+ vptr=((& QDateEdit::_ZTV9QDateEdit) + 16u)
+ QDateTimeEdit (0x7f5b91bd1a80) 0
+ primary-for QDateEdit (0x7f5b91bd1a10)
+ QAbstractSpinBox (0x7f5b91bd1af0) 0
+ primary-for QDateTimeEdit (0x7f5b91bd1a80)
+ QWidget (0x7f5b91bbae00) 0
+ primary-for QAbstractSpinBox (0x7f5b91bd1af0)
+ QObject (0x7f5b91bd1b60) 0
+ primary-for QWidget (0x7f5b91bbae00)
+ QPaintDevice (0x7f5b91bd1bd0) 16
+ vptr=((& QDateEdit::_ZTV9QDateEdit) + 520u)
+
+Vtable for QLabel
+QLabel::_ZTV6QLabel: 63u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI6QLabel)
+16 QLabel::metaObject
+24 QLabel::qt_metacast
+32 QLabel::qt_metacall
+40 QLabel::~QLabel
+48 QLabel::~QLabel
+56 QLabel::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QLabel::sizeHint
+136 QLabel::minimumSizeHint
+144 QLabel::heightForWidth
+152 QWidget::paintEngine
+160 QLabel::mousePressEvent
+168 QLabel::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QLabel::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QLabel::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QLabel::focusInEvent
+224 QLabel::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QLabel::paintEvent
+256 QWidget::moveEvent
+264 QWidget::resizeEvent
+272 QWidget::closeEvent
+280 QLabel::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QLabel::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QLabel::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 (int (*)(...))-0x00000000000000010
+456 (int (*)(...))(& _ZTI6QLabel)
+464 QLabel::_ZThn16_N6QLabelD1Ev
+472 QLabel::_ZThn16_N6QLabelD0Ev
+480 QWidget::_ZThn16_NK7QWidget7devTypeEv
+488 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+496 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QLabel
+ size=40 align=8
+ base size=40 base align=8
+QLabel (0x7f5b91c167e0) 0
+ vptr=((& QLabel::_ZTV6QLabel) + 16u)
+ QFrame (0x7f5b91c16850) 0
+ primary-for QLabel (0x7f5b91c167e0)
+ QWidget (0x7f5b91be6a80) 0
+ primary-for QFrame (0x7f5b91c16850)
+ QObject (0x7f5b91c168c0) 0
+ primary-for QWidget (0x7f5b91be6a80)
+ QPaintDevice (0x7f5b91c16930) 16
+ vptr=((& QLabel::_ZTV6QLabel) + 464u)
+
+Vtable for QDockWidget
+QDockWidget::_ZTV11QDockWidget: 63u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QDockWidget)
+16 QDockWidget::metaObject
+24 QDockWidget::qt_metacast
+32 QDockWidget::qt_metacall
+40 QDockWidget::~QDockWidget
+48 QDockWidget::~QDockWidget
+56 QDockWidget::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QWidget::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QDockWidget::paintEvent
+256 QWidget::moveEvent
+264 QWidget::resizeEvent
+272 QDockWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QDockWidget::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 (int (*)(...))-0x00000000000000010
+456 (int (*)(...))(& _ZTI11QDockWidget)
+464 QDockWidget::_ZThn16_N11QDockWidgetD1Ev
+472 QDockWidget::_ZThn16_N11QDockWidgetD0Ev
+480 QWidget::_ZThn16_NK7QWidget7devTypeEv
+488 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+496 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QDockWidget
+ size=40 align=8
+ base size=40 base align=8
+QDockWidget (0x7f5b91c62930) 0
+ vptr=((& QDockWidget::_ZTV11QDockWidget) + 16u)
+ QWidget (0x7f5b91c5d580) 0
+ primary-for QDockWidget (0x7f5b91c62930)
+ QObject (0x7f5b91c629a0) 0
+ primary-for QWidget (0x7f5b91c5d580)
+ QPaintDevice (0x7f5b91c62a10) 16
+ vptr=((& QDockWidget::_ZTV11QDockWidget) + 464u)
+
+Vtable for QGroupBox
+QGroupBox::_ZTV9QGroupBox: 63u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QGroupBox)
+16 QGroupBox::metaObject
+24 QGroupBox::qt_metacast
+32 QGroupBox::qt_metacall
+40 QGroupBox::~QGroupBox
+48 QGroupBox::~QGroupBox
+56 QGroupBox::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QGroupBox::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QWidget::sizeHint
+136 QGroupBox::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QGroupBox::mousePressEvent
+168 QGroupBox::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QGroupBox::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QGroupBox::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QGroupBox::paintEvent
+256 QWidget::moveEvent
+264 QGroupBox::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QGroupBox::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 (int (*)(...))-0x00000000000000010
+456 (int (*)(...))(& _ZTI9QGroupBox)
+464 QGroupBox::_ZThn16_N9QGroupBoxD1Ev
+472 QGroupBox::_ZThn16_N9QGroupBoxD0Ev
+480 QWidget::_ZThn16_NK7QWidget7devTypeEv
+488 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+496 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QGroupBox
+ size=40 align=8
+ base size=40 base align=8
+QGroupBox (0x7f5b91adc380) 0
+ vptr=((& QGroupBox::_ZTV9QGroupBox) + 16u)
+ QWidget (0x7f5b91c84c80) 0
+ primary-for QGroupBox (0x7f5b91adc380)
+ QObject (0x7f5b91adc3f0) 0
+ primary-for QWidget (0x7f5b91c84c80)
+ QPaintDevice (0x7f5b91adc460) 16
+ vptr=((& QGroupBox::_ZTV9QGroupBox) + 464u)
+
+Vtable for QDialogButtonBox
+QDialogButtonBox::_ZTV16QDialogButtonBox: 63u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QDialogButtonBox)
+16 QDialogButtonBox::metaObject
+24 QDialogButtonBox::qt_metacast
+32 QDialogButtonBox::qt_metacall
+40 QDialogButtonBox::~QDialogButtonBox
+48 QDialogButtonBox::~QDialogButtonBox
+56 QDialogButtonBox::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QWidget::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QWidget::paintEvent
+256 QWidget::moveEvent
+264 QWidget::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QDialogButtonBox::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 (int (*)(...))-0x00000000000000010
+456 (int (*)(...))(& _ZTI16QDialogButtonBox)
+464 QDialogButtonBox::_ZThn16_N16QDialogButtonBoxD1Ev
+472 QDialogButtonBox::_ZThn16_N16QDialogButtonBoxD0Ev
+480 QWidget::_ZThn16_NK7QWidget7devTypeEv
+488 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+496 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QDialogButtonBox
+ size=40 align=8
+ base size=40 base align=8
+QDialogButtonBox (0x7f5b91afe000) 0
+ vptr=((& QDialogButtonBox::_ZTV16QDialogButtonBox) + 16u)
+ QWidget (0x7f5b91af4580) 0
+ primary-for QDialogButtonBox (0x7f5b91afe000)
+ QObject (0x7f5b91afe070) 0
+ primary-for QWidget (0x7f5b91af4580)
+ QPaintDevice (0x7f5b91afe0e0) 16
+ vptr=((& QDialogButtonBox::_ZTV16QDialogButtonBox) + 464u)
+
+Vtable for QMainWindow
+QMainWindow::_ZTV11QMainWindow: 64u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QMainWindow)
+16 QMainWindow::metaObject
+24 QMainWindow::qt_metacast
+32 QMainWindow::qt_metacall
+40 QMainWindow::~QMainWindow
+48 QMainWindow::~QMainWindow
+56 QMainWindow::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QWidget::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QWidget::paintEvent
+256 QWidget::moveEvent
+264 QWidget::resizeEvent
+272 QWidget::closeEvent
+280 QMainWindow::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QWidget::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QMainWindow::createPopupMenu
+456 (int (*)(...))-0x00000000000000010
+464 (int (*)(...))(& _ZTI11QMainWindow)
+472 QMainWindow::_ZThn16_N11QMainWindowD1Ev
+480 QMainWindow::_ZThn16_N11QMainWindowD0Ev
+488 QWidget::_ZThn16_NK7QWidget7devTypeEv
+496 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+504 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QMainWindow
+ size=40 align=8
+ base size=40 base align=8
+QMainWindow (0x7f5b91b6e4d0) 0
+ vptr=((& QMainWindow::_ZTV11QMainWindow) + 16u)
+ QWidget (0x7f5b91b26600) 0
+ primary-for QMainWindow (0x7f5b91b6e4d0)
+ QObject (0x7f5b91b6e540) 0
+ primary-for QWidget (0x7f5b91b26600)
+ QPaintDevice (0x7f5b91b6e5b0) 16
+ vptr=((& QMainWindow::_ZTV11QMainWindow) + 472u)
+
+Class QTextEdit::ExtraSelection
+ size=24 align=8
+ base size=24 base align=8
+QTextEdit::ExtraSelection (0x7f5b919f3770) 0
+
+Vtable for QTextEdit
+QTextEdit::_ZTV9QTextEdit: 69u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QTextEdit)
+16 QTextEdit::metaObject
+24 QTextEdit::qt_metacast
+32 QTextEdit::qt_metacall
+40 QTextEdit::~QTextEdit
+48 QTextEdit::~QTextEdit
+56 QTextEdit::event
+64 QObject::eventFilter
+72 QTextEdit::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QAbstractScrollArea::sizeHint
+136 QAbstractScrollArea::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QTextEdit::mousePressEvent
+168 QTextEdit::mouseReleaseEvent
+176 QTextEdit::mouseDoubleClickEvent
+184 QTextEdit::mouseMoveEvent
+192 QTextEdit::wheelEvent
+200 QTextEdit::keyPressEvent
+208 QTextEdit::keyReleaseEvent
+216 QTextEdit::focusInEvent
+224 QTextEdit::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QTextEdit::paintEvent
+256 QWidget::moveEvent
+264 QTextEdit::resizeEvent
+272 QWidget::closeEvent
+280 QTextEdit::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QTextEdit::dragEnterEvent
+312 QTextEdit::dragMoveEvent
+320 QTextEdit::dragLeaveEvent
+328 QTextEdit::dropEvent
+336 QTextEdit::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QTextEdit::changeEvent
+368 QWidget::metric
+376 QTextEdit::inputMethodEvent
+384 QTextEdit::inputMethodQuery
+392 QTextEdit::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QAbstractScrollArea::viewportEvent
+456 QTextEdit::scrollContentsBy
+464 QTextEdit::loadResource
+472 QTextEdit::createMimeDataFromSelection
+480 QTextEdit::canInsertFromMimeData
+488 QTextEdit::insertFromMimeData
+496 (int (*)(...))-0x00000000000000010
+504 (int (*)(...))(& _ZTI9QTextEdit)
+512 QTextEdit::_ZThn16_N9QTextEditD1Ev
+520 QTextEdit::_ZThn16_N9QTextEditD0Ev
+528 QWidget::_ZThn16_NK7QWidget7devTypeEv
+536 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+544 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QTextEdit
+ size=40 align=8
+ base size=40 base align=8
+QTextEdit (0x7f5b919c77e0) 0
+ vptr=((& QTextEdit::_ZTV9QTextEdit) + 16u)
+ QAbstractScrollArea (0x7f5b919c7850) 0
+ primary-for QTextEdit (0x7f5b919c77e0)
+ QFrame (0x7f5b919c78c0) 0
+ primary-for QAbstractScrollArea (0x7f5b919c7850)
+ QWidget (0x7f5b9199b700) 0
+ primary-for QFrame (0x7f5b919c78c0)
+ QObject (0x7f5b919c7930) 0
+ primary-for QWidget (0x7f5b9199b700)
+ QPaintDevice (0x7f5b919c79a0) 16
+ vptr=((& QTextEdit::_ZTV9QTextEdit) + 512u)
+
+Vtable for QPlainTextEdit
+QPlainTextEdit::_ZTV14QPlainTextEdit: 69u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QPlainTextEdit)
+16 QPlainTextEdit::metaObject
+24 QPlainTextEdit::qt_metacast
+32 QPlainTextEdit::qt_metacall
+40 QPlainTextEdit::~QPlainTextEdit
+48 QPlainTextEdit::~QPlainTextEdit
+56 QPlainTextEdit::event
+64 QObject::eventFilter
+72 QPlainTextEdit::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QAbstractScrollArea::sizeHint
+136 QAbstractScrollArea::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QPlainTextEdit::mousePressEvent
+168 QPlainTextEdit::mouseReleaseEvent
+176 QPlainTextEdit::mouseDoubleClickEvent
+184 QPlainTextEdit::mouseMoveEvent
+192 QPlainTextEdit::wheelEvent
+200 QPlainTextEdit::keyPressEvent
+208 QPlainTextEdit::keyReleaseEvent
+216 QPlainTextEdit::focusInEvent
+224 QPlainTextEdit::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QPlainTextEdit::paintEvent
+256 QWidget::moveEvent
+264 QPlainTextEdit::resizeEvent
+272 QWidget::closeEvent
+280 QPlainTextEdit::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QPlainTextEdit::dragEnterEvent
+312 QPlainTextEdit::dragMoveEvent
+320 QPlainTextEdit::dragLeaveEvent
+328 QPlainTextEdit::dropEvent
+336 QPlainTextEdit::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QPlainTextEdit::changeEvent
+368 QWidget::metric
+376 QPlainTextEdit::inputMethodEvent
+384 QPlainTextEdit::inputMethodQuery
+392 QPlainTextEdit::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QAbstractScrollArea::viewportEvent
+456 QPlainTextEdit::scrollContentsBy
+464 QPlainTextEdit::loadResource
+472 QPlainTextEdit::createMimeDataFromSelection
+480 QPlainTextEdit::canInsertFromMimeData
+488 QPlainTextEdit::insertFromMimeData
+496 (int (*)(...))-0x00000000000000010
+504 (int (*)(...))(& _ZTI14QPlainTextEdit)
+512 QPlainTextEdit::_ZThn16_N14QPlainTextEditD1Ev
+520 QPlainTextEdit::_ZThn16_N14QPlainTextEditD0Ev
+528 QWidget::_ZThn16_NK7QWidget7devTypeEv
+536 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+544 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QPlainTextEdit
+ size=40 align=8
+ base size=40 base align=8
+QPlainTextEdit (0x7f5b91a8a930) 0
+ vptr=((& QPlainTextEdit::_ZTV14QPlainTextEdit) + 16u)
+ QAbstractScrollArea (0x7f5b91a8a9a0) 0
+ primary-for QPlainTextEdit (0x7f5b91a8a930)
+ QFrame (0x7f5b91a8aa10) 0
+ primary-for QAbstractScrollArea (0x7f5b91a8a9a0)
+ QWidget (0x7f5b91a5af00) 0
+ primary-for QFrame (0x7f5b91a8aa10)
+ QObject (0x7f5b91a8aa80) 0
+ primary-for QWidget (0x7f5b91a5af00)
+ QPaintDevice (0x7f5b91a8aaf0) 16
+ vptr=((& QPlainTextEdit::_ZTV14QPlainTextEdit) + 512u)
+
+Vtable for QPlainTextDocumentLayout
+QPlainTextDocumentLayout::_ZTV24QPlainTextDocumentLayout: 24u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI24QPlainTextDocumentLayout)
+16 QPlainTextDocumentLayout::metaObject
+24 QPlainTextDocumentLayout::qt_metacast
+32 QPlainTextDocumentLayout::qt_metacall
+40 QPlainTextDocumentLayout::~QPlainTextDocumentLayout
+48 QPlainTextDocumentLayout::~QPlainTextDocumentLayout
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QPlainTextDocumentLayout::draw
+120 QPlainTextDocumentLayout::hitTest
+128 QPlainTextDocumentLayout::pageCount
+136 QPlainTextDocumentLayout::documentSize
+144 QPlainTextDocumentLayout::frameBoundingRect
+152 QPlainTextDocumentLayout::blockBoundingRect
+160 QPlainTextDocumentLayout::documentChanged
+168 QAbstractTextDocumentLayout::resizeInlineObject
+176 QAbstractTextDocumentLayout::positionInlineObject
+184 QAbstractTextDocumentLayout::drawInlineObject
+
+Class QPlainTextDocumentLayout
+ size=16 align=8
+ base size=16 base align=8
+QPlainTextDocumentLayout (0x7f5b918ea700) 0
+ vptr=((& QPlainTextDocumentLayout::_ZTV24QPlainTextDocumentLayout) + 16u)
+ QAbstractTextDocumentLayout (0x7f5b918ea770) 0
+ primary-for QPlainTextDocumentLayout (0x7f5b918ea700)
+ QObject (0x7f5b918ea7e0) 0
+ primary-for QAbstractTextDocumentLayout (0x7f5b918ea770)
+
+Vtable for QProgressBar
+QProgressBar::_ZTV12QProgressBar: 64u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QProgressBar)
+16 QProgressBar::metaObject
+24 QProgressBar::qt_metacast
+32 QProgressBar::qt_metacall
+40 QProgressBar::~QProgressBar
+48 QProgressBar::~QProgressBar
+56 QProgressBar::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QProgressBar::sizeHint
+136 QProgressBar::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QProgressBar::paintEvent
+256 QWidget::moveEvent
+264 QWidget::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QWidget::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QProgressBar::text
+456 (int (*)(...))-0x00000000000000010
+464 (int (*)(...))(& _ZTI12QProgressBar)
+472 QProgressBar::_ZThn16_N12QProgressBarD1Ev
+480 QProgressBar::_ZThn16_N12QProgressBarD0Ev
+488 QWidget::_ZThn16_NK7QWidget7devTypeEv
+496 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+504 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QProgressBar
+ size=40 align=8
+ base size=40 base align=8
+QProgressBar (0x7f5b918febd0) 0
+ vptr=((& QProgressBar::_ZTV12QProgressBar) + 16u)
+ QWidget (0x7f5b918e9f00) 0
+ primary-for QProgressBar (0x7f5b918febd0)
+ QObject (0x7f5b918fec40) 0
+ primary-for QWidget (0x7f5b918e9f00)
+ QPaintDevice (0x7f5b918fecb0) 16
+ vptr=((& QProgressBar::_ZTV12QProgressBar) + 472u)
+
+Vtable for QScrollBar
+QScrollBar::_ZTV10QScrollBar: 64u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QScrollBar)
+16 QScrollBar::metaObject
+24 QScrollBar::qt_metacast
+32 QScrollBar::qt_metacall
+40 QScrollBar::~QScrollBar
+48 QScrollBar::~QScrollBar
+56 QScrollBar::event
+64 QObject::eventFilter
+72 QAbstractSlider::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QScrollBar::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QScrollBar::mousePressEvent
+168 QScrollBar::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QScrollBar::mouseMoveEvent
+192 QAbstractSlider::wheelEvent
+200 QAbstractSlider::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QScrollBar::paintEvent
+256 QWidget::moveEvent
+264 QWidget::resizeEvent
+272 QWidget::closeEvent
+280 QScrollBar::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QScrollBar::hideEvent
+352 QWidget::x11Event
+360 QAbstractSlider::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QScrollBar::sliderChange
+456 (int (*)(...))-0x00000000000000010
+464 (int (*)(...))(& _ZTI10QScrollBar)
+472 QScrollBar::_ZThn16_N10QScrollBarD1Ev
+480 QScrollBar::_ZThn16_N10QScrollBarD0Ev
+488 QWidget::_ZThn16_NK7QWidget7devTypeEv
+496 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+504 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QScrollBar
+ size=40 align=8
+ base size=40 base align=8
+QScrollBar (0x7f5b91922a10) 0
+ vptr=((& QScrollBar::_ZTV10QScrollBar) + 16u)
+ QAbstractSlider (0x7f5b91922a80) 0
+ primary-for QScrollBar (0x7f5b91922a10)
+ QWidget (0x7f5b91905900) 0
+ primary-for QAbstractSlider (0x7f5b91922a80)
+ QObject (0x7f5b91922af0) 0
+ primary-for QWidget (0x7f5b91905900)
+ QPaintDevice (0x7f5b91922b60) 16
+ vptr=((& QScrollBar::_ZTV10QScrollBar) + 472u)
+
+Vtable for QSizeGrip
+QSizeGrip::_ZTV9QSizeGrip: 63u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QSizeGrip)
+16 QSizeGrip::metaObject
+24 QSizeGrip::qt_metacast
+32 QSizeGrip::qt_metacall
+40 QSizeGrip::~QSizeGrip
+48 QSizeGrip::~QSizeGrip
+56 QSizeGrip::event
+64 QSizeGrip::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QSizeGrip::setVisible
+128 QSizeGrip::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QSizeGrip::mousePressEvent
+168 QSizeGrip::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QSizeGrip::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QSizeGrip::paintEvent
+256 QSizeGrip::moveEvent
+264 QWidget::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QSizeGrip::showEvent
+344 QSizeGrip::hideEvent
+352 QWidget::x11Event
+360 QWidget::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 (int (*)(...))-0x00000000000000010
+456 (int (*)(...))(& _ZTI9QSizeGrip)
+464 QSizeGrip::_ZThn16_N9QSizeGripD1Ev
+472 QSizeGrip::_ZThn16_N9QSizeGripD0Ev
+480 QWidget::_ZThn16_NK7QWidget7devTypeEv
+488 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+496 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QSizeGrip
+ size=40 align=8
+ base size=40 base align=8
+QSizeGrip (0x7f5b91943b60) 0
+ vptr=((& QSizeGrip::_ZTV9QSizeGrip) + 16u)
+ QWidget (0x7f5b91945380) 0
+ primary-for QSizeGrip (0x7f5b91943b60)
+ QObject (0x7f5b91943bd0) 0
+ primary-for QWidget (0x7f5b91945380)
+ QPaintDevice (0x7f5b91943c40) 16
+ vptr=((& QSizeGrip::_ZTV9QSizeGrip) + 464u)
+
+Vtable for QTextBrowser
+QTextBrowser::_ZTV12QTextBrowser: 74u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QTextBrowser)
+16 QTextBrowser::metaObject
+24 QTextBrowser::qt_metacast
+32 QTextBrowser::qt_metacall
+40 QTextBrowser::~QTextBrowser
+48 QTextBrowser::~QTextBrowser
+56 QTextBrowser::event
+64 QObject::eventFilter
+72 QTextEdit::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QAbstractScrollArea::sizeHint
+136 QAbstractScrollArea::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QTextBrowser::mousePressEvent
+168 QTextBrowser::mouseReleaseEvent
+176 QTextEdit::mouseDoubleClickEvent
+184 QTextBrowser::mouseMoveEvent
+192 QTextEdit::wheelEvent
+200 QTextBrowser::keyPressEvent
+208 QTextEdit::keyReleaseEvent
+216 QTextEdit::focusInEvent
+224 QTextBrowser::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QTextBrowser::paintEvent
+256 QWidget::moveEvent
+264 QTextEdit::resizeEvent
+272 QWidget::closeEvent
+280 QTextEdit::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QTextEdit::dragEnterEvent
+312 QTextEdit::dragMoveEvent
+320 QTextEdit::dragLeaveEvent
+328 QTextEdit::dropEvent
+336 QTextEdit::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QTextEdit::changeEvent
+368 QWidget::metric
+376 QTextEdit::inputMethodEvent
+384 QTextEdit::inputMethodQuery
+392 QTextBrowser::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QAbstractScrollArea::viewportEvent
+456 QTextEdit::scrollContentsBy
+464 QTextBrowser::loadResource
+472 QTextEdit::createMimeDataFromSelection
+480 QTextEdit::canInsertFromMimeData
+488 QTextEdit::insertFromMimeData
+496 QTextBrowser::setSource
+504 QTextBrowser::backward
+512 QTextBrowser::forward
+520 QTextBrowser::home
+528 QTextBrowser::reload
+536 (int (*)(...))-0x00000000000000010
+544 (int (*)(...))(& _ZTI12QTextBrowser)
+552 QTextBrowser::_ZThn16_N12QTextBrowserD1Ev
+560 QTextBrowser::_ZThn16_N12QTextBrowserD0Ev
+568 QWidget::_ZThn16_NK7QWidget7devTypeEv
+576 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+584 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QTextBrowser
+ size=40 align=8
+ base size=40 base align=8
+QTextBrowser (0x7f5b9195f690) 0
+ vptr=((& QTextBrowser::_ZTV12QTextBrowser) + 16u)
+ QTextEdit (0x7f5b9195f700) 0
+ primary-for QTextBrowser (0x7f5b9195f690)
+ QAbstractScrollArea (0x7f5b9195f770) 0
+ primary-for QTextEdit (0x7f5b9195f700)
+ QFrame (0x7f5b9195f7e0) 0
+ primary-for QAbstractScrollArea (0x7f5b9195f770)
+ QWidget (0x7f5b91945c80) 0
+ primary-for QFrame (0x7f5b9195f7e0)
+ QObject (0x7f5b9195f850) 0
+ primary-for QWidget (0x7f5b91945c80)
+ QPaintDevice (0x7f5b9195f8c0) 16
+ vptr=((& QTextBrowser::_ZTV12QTextBrowser) + 552u)
+
+Vtable for QStatusBar
+QStatusBar::_ZTV10QStatusBar: 63u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QStatusBar)
+16 QStatusBar::metaObject
+24 QStatusBar::qt_metacast
+32 QStatusBar::qt_metacall
+40 QStatusBar::~QStatusBar
+48 QStatusBar::~QStatusBar
+56 QStatusBar::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QWidget::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QStatusBar::paintEvent
+256 QWidget::moveEvent
+264 QStatusBar::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QStatusBar::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QWidget::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 (int (*)(...))-0x00000000000000010
+456 (int (*)(...))(& _ZTI10QStatusBar)
+464 QStatusBar::_ZThn16_N10QStatusBarD1Ev
+472 QStatusBar::_ZThn16_N10QStatusBarD0Ev
+480 QWidget::_ZThn16_NK7QWidget7devTypeEv
+488 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+496 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QStatusBar
+ size=40 align=8
+ base size=40 base align=8
+QStatusBar (0x7f5b919862a0) 0
+ vptr=((& QStatusBar::_ZTV10QStatusBar) + 16u)
+ QWidget (0x7f5b9197e580) 0
+ primary-for QStatusBar (0x7f5b919862a0)
+ QObject (0x7f5b91986310) 0
+ primary-for QWidget (0x7f5b9197e580)
+ QPaintDevice (0x7f5b91986380) 16
+ vptr=((& QStatusBar::_ZTV10QStatusBar) + 464u)
+
+Vtable for QToolButton
+QToolButton::_ZTV11QToolButton: 66u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QToolButton)
+16 QToolButton::metaObject
+24 QToolButton::qt_metacast
+32 QToolButton::qt_metacall
+40 QToolButton::~QToolButton
+48 QToolButton::~QToolButton
+56 QToolButton::event
+64 QObject::eventFilter
+72 QToolButton::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QToolButton::sizeHint
+136 QToolButton::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QToolButton::mousePressEvent
+168 QToolButton::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QAbstractButton::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QAbstractButton::keyPressEvent
+208 QAbstractButton::keyReleaseEvent
+216 QAbstractButton::focusInEvent
+224 QAbstractButton::focusOutEvent
+232 QToolButton::enterEvent
+240 QToolButton::leaveEvent
+248 QToolButton::paintEvent
+256 QWidget::moveEvent
+264 QWidget::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QToolButton::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QToolButton::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QToolButton::hitButton
+456 QAbstractButton::checkStateSet
+464 QToolButton::nextCheckState
+472 (int (*)(...))-0x00000000000000010
+480 (int (*)(...))(& _ZTI11QToolButton)
+488 QToolButton::_ZThn16_N11QToolButtonD1Ev
+496 QToolButton::_ZThn16_N11QToolButtonD0Ev
+504 QWidget::_ZThn16_NK7QWidget7devTypeEv
+512 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+520 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QToolButton
+ size=40 align=8
+ base size=40 base align=8
+QToolButton (0x7f5b917a67e0) 0
+ vptr=((& QToolButton::_ZTV11QToolButton) + 16u)
+ QAbstractButton (0x7f5b917a6850) 0
+ primary-for QToolButton (0x7f5b917a67e0)
+ QWidget (0x7f5b917a4480) 0
+ primary-for QAbstractButton (0x7f5b917a6850)
+ QObject (0x7f5b917a68c0) 0
+ primary-for QWidget (0x7f5b917a4480)
+ QPaintDevice (0x7f5b917a6930) 16
+ vptr=((& QToolButton::_ZTV11QToolButton) + 488u)
+
+Vtable for QComboBox
+QComboBox::_ZTV9QComboBox: 65u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QComboBox)
+16 QComboBox::metaObject
+24 QComboBox::qt_metacast
+32 QComboBox::qt_metacall
+40 QComboBox::~QComboBox
+48 QComboBox::~QComboBox
+56 QComboBox::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QComboBox::sizeHint
+136 QComboBox::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QComboBox::mousePressEvent
+168 QComboBox::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QComboBox::wheelEvent
+200 QComboBox::keyPressEvent
+208 QComboBox::keyReleaseEvent
+216 QComboBox::focusInEvent
+224 QComboBox::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QComboBox::paintEvent
+256 QWidget::moveEvent
+264 QComboBox::resizeEvent
+272 QWidget::closeEvent
+280 QComboBox::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QComboBox::showEvent
+344 QComboBox::hideEvent
+352 QWidget::x11Event
+360 QComboBox::changeEvent
+368 QWidget::metric
+376 QComboBox::inputMethodEvent
+384 QComboBox::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QComboBox::showPopup
+456 QComboBox::hidePopup
+464 (int (*)(...))-0x00000000000000010
+472 (int (*)(...))(& _ZTI9QComboBox)
+480 QComboBox::_ZThn16_N9QComboBoxD1Ev
+488 QComboBox::_ZThn16_N9QComboBoxD0Ev
+496 QWidget::_ZThn16_NK7QWidget7devTypeEv
+504 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+512 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QComboBox
+ size=40 align=8
+ base size=40 base align=8
+QComboBox (0x7f5b917e6af0) 0
+ vptr=((& QComboBox::_ZTV9QComboBox) + 16u)
+ QWidget (0x7f5b917ed080) 0
+ primary-for QComboBox (0x7f5b917e6af0)
+ QObject (0x7f5b917e6b60) 0
+ primary-for QWidget (0x7f5b917ed080)
+ QPaintDevice (0x7f5b917e6bd0) 16
+ vptr=((& QComboBox::_ZTV9QComboBox) + 480u)
+
+Vtable for QCommandLinkButton
+QCommandLinkButton::_ZTV18QCommandLinkButton: 66u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QCommandLinkButton)
+16 QCommandLinkButton::metaObject
+24 QCommandLinkButton::qt_metacast
+32 QCommandLinkButton::qt_metacall
+40 QCommandLinkButton::~QCommandLinkButton
+48 QCommandLinkButton::~QCommandLinkButton
+56 QCommandLinkButton::event
+64 QObject::eventFilter
+72 QAbstractButton::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QCommandLinkButton::sizeHint
+136 QCommandLinkButton::minimumSizeHint
+144 QCommandLinkButton::heightForWidth
+152 QWidget::paintEngine
+160 QAbstractButton::mousePressEvent
+168 QAbstractButton::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QAbstractButton::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QPushButton::keyPressEvent
+208 QAbstractButton::keyReleaseEvent
+216 QPushButton::focusInEvent
+224 QPushButton::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QCommandLinkButton::paintEvent
+256 QWidget::moveEvent
+264 QWidget::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QAbstractButton::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QAbstractButton::hitButton
+456 QAbstractButton::checkStateSet
+464 QAbstractButton::nextCheckState
+472 (int (*)(...))-0x00000000000000010
+480 (int (*)(...))(& _ZTI18QCommandLinkButton)
+488 QCommandLinkButton::_ZThn16_N18QCommandLinkButtonD1Ev
+496 QCommandLinkButton::_ZThn16_N18QCommandLinkButtonD0Ev
+504 QWidget::_ZThn16_NK7QWidget7devTypeEv
+512 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+520 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QCommandLinkButton
+ size=40 align=8
+ base size=40 base align=8
+QCommandLinkButton (0x7f5b91856620) 0
+ vptr=((& QCommandLinkButton::_ZTV18QCommandLinkButton) + 16u)
+ QPushButton (0x7f5b91856690) 0
+ primary-for QCommandLinkButton (0x7f5b91856620)
+ QAbstractButton (0x7f5b91856700) 0
+ primary-for QPushButton (0x7f5b91856690)
+ QWidget (0x7f5b91850c80) 0
+ primary-for QAbstractButton (0x7f5b91856700)
+ QObject (0x7f5b91856770) 0
+ primary-for QWidget (0x7f5b91850c80)
+ QPaintDevice (0x7f5b918567e0) 16
+ vptr=((& QCommandLinkButton::_ZTV18QCommandLinkButton) + 488u)
+
+Vtable for QMenuItem
+QMenuItem::_ZTV9QMenuItem: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QMenuItem)
+16 QMenuItem::metaObject
+24 QMenuItem::qt_metacast
+32 QMenuItem::qt_metacall
+40 QMenuItem::~QMenuItem
+48 QMenuItem::~QMenuItem
+56 QAction::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QMenuItem
+ size=16 align=8
+ base size=16 base align=8
+QMenuItem (0x7f5b918751c0) 0
+ vptr=((& QMenuItem::_ZTV9QMenuItem) + 16u)
+ QAction (0x7f5b91875230) 0
+ primary-for QMenuItem (0x7f5b918751c0)
+ QObject (0x7f5b918752a0) 0
+ primary-for QAction (0x7f5b91875230)
+
+Vtable for QCalendarWidget
+QCalendarWidget::_ZTV15QCalendarWidget: 64u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QCalendarWidget)
+16 QCalendarWidget::metaObject
+24 QCalendarWidget::qt_metacast
+32 QCalendarWidget::qt_metacall
+40 QCalendarWidget::~QCalendarWidget
+48 QCalendarWidget::~QCalendarWidget
+56 QCalendarWidget::event
+64 QCalendarWidget::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QCalendarWidget::sizeHint
+136 QCalendarWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QCalendarWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QCalendarWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QWidget::paintEvent
+256 QWidget::moveEvent
+264 QCalendarWidget::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QWidget::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QCalendarWidget::paintCell
+456 (int (*)(...))-0x00000000000000010
+464 (int (*)(...))(& _ZTI15QCalendarWidget)
+472 QCalendarWidget::_ZThn16_N15QCalendarWidgetD1Ev
+480 QCalendarWidget::_ZThn16_N15QCalendarWidgetD0Ev
+488 QWidget::_ZThn16_NK7QWidget7devTypeEv
+496 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+504 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QCalendarWidget
+ size=40 align=8
+ base size=40 base align=8
+QCalendarWidget (0x7f5b91886000) 0
+ vptr=((& QCalendarWidget::_ZTV15QCalendarWidget) + 16u)
+ QWidget (0x7f5b9186dc00) 0
+ primary-for QCalendarWidget (0x7f5b91886000)
+ QObject (0x7f5b91886070) 0
+ primary-for QWidget (0x7f5b9186dc00)
+ QPaintDevice (0x7f5b918860e0) 16
+ vptr=((& QCalendarWidget::_ZTV15QCalendarWidget) + 472u)
+
+Vtable for QRadioButton
+QRadioButton::_ZTV12QRadioButton: 66u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QRadioButton)
+16 QRadioButton::metaObject
+24 QRadioButton::qt_metacast
+32 QRadioButton::qt_metacall
+40 QRadioButton::~QRadioButton
+48 QRadioButton::~QRadioButton
+56 QRadioButton::event
+64 QObject::eventFilter
+72 QAbstractButton::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QRadioButton::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QAbstractButton::mousePressEvent
+168 QAbstractButton::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QRadioButton::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QAbstractButton::keyPressEvent
+208 QAbstractButton::keyReleaseEvent
+216 QAbstractButton::focusInEvent
+224 QAbstractButton::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QRadioButton::paintEvent
+256 QWidget::moveEvent
+264 QWidget::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QAbstractButton::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QRadioButton::hitButton
+456 QAbstractButton::checkStateSet
+464 QAbstractButton::nextCheckState
+472 (int (*)(...))-0x00000000000000010
+480 (int (*)(...))(& _ZTI12QRadioButton)
+488 QRadioButton::_ZThn16_N12QRadioButtonD1Ev
+496 QRadioButton::_ZThn16_N12QRadioButtonD0Ev
+504 QWidget::_ZThn16_NK7QWidget7devTypeEv
+512 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+520 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QRadioButton
+ size=40 align=8
+ base size=40 base align=8
+QRadioButton (0x7f5b916af150) 0
+ vptr=((& QRadioButton::_ZTV12QRadioButton) + 16u)
+ QAbstractButton (0x7f5b916af1c0) 0
+ primary-for QRadioButton (0x7f5b916af150)
+ QWidget (0x7f5b9188bb00) 0
+ primary-for QAbstractButton (0x7f5b916af1c0)
+ QObject (0x7f5b916af230) 0
+ primary-for QWidget (0x7f5b9188bb00)
+ QPaintDevice (0x7f5b916af2a0) 16
+ vptr=((& QRadioButton::_ZTV12QRadioButton) + 488u)
+
+Vtable for QMenuBar
+QMenuBar::_ZTV8QMenuBar: 63u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI8QMenuBar)
+16 QMenuBar::metaObject
+24 QMenuBar::qt_metacast
+32 QMenuBar::qt_metacall
+40 QMenuBar::~QMenuBar
+48 QMenuBar::~QMenuBar
+56 QMenuBar::event
+64 QMenuBar::eventFilter
+72 QMenuBar::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QMenuBar::setVisible
+128 QMenuBar::sizeHint
+136 QMenuBar::minimumSizeHint
+144 QMenuBar::heightForWidth
+152 QWidget::paintEngine
+160 QMenuBar::mousePressEvent
+168 QMenuBar::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QMenuBar::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QMenuBar::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QMenuBar::focusInEvent
+224 QMenuBar::focusOutEvent
+232 QWidget::enterEvent
+240 QMenuBar::leaveEvent
+248 QMenuBar::paintEvent
+256 QWidget::moveEvent
+264 QMenuBar::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QMenuBar::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QMenuBar::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 (int (*)(...))-0x00000000000000010
+456 (int (*)(...))(& _ZTI8QMenuBar)
+464 QMenuBar::_ZThn16_N8QMenuBarD1Ev
+472 QMenuBar::_ZThn16_N8QMenuBarD0Ev
+480 QWidget::_ZThn16_NK7QWidget7devTypeEv
+488 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+496 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QMenuBar
+ size=40 align=8
+ base size=40 base align=8
+QMenuBar (0x7f5b916c5d90) 0
+ vptr=((& QMenuBar::_ZTV8QMenuBar) + 16u)
+ QWidget (0x7f5b916c9400) 0
+ primary-for QMenuBar (0x7f5b916c5d90)
+ QObject (0x7f5b916c5e00) 0
+ primary-for QWidget (0x7f5b916c9400)
+ QPaintDevice (0x7f5b916c5e70) 16
+ vptr=((& QMenuBar::_ZTV8QMenuBar) + 464u)
+
+Vtable for QFocusFrame
+QFocusFrame::_ZTV11QFocusFrame: 63u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QFocusFrame)
+16 QFocusFrame::metaObject
+24 QFocusFrame::qt_metacast
+32 QFocusFrame::qt_metacall
+40 QFocusFrame::~QFocusFrame
+48 QFocusFrame::~QFocusFrame
+56 QFocusFrame::event
+64 QFocusFrame::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QWidget::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QFocusFrame::paintEvent
+256 QWidget::moveEvent
+264 QWidget::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QWidget::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 (int (*)(...))-0x00000000000000010
+456 (int (*)(...))(& _ZTI11QFocusFrame)
+464 QFocusFrame::_ZThn16_N11QFocusFrameD1Ev
+472 QFocusFrame::_ZThn16_N11QFocusFrameD0Ev
+480 QWidget::_ZThn16_NK7QWidget7devTypeEv
+488 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+496 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QFocusFrame
+ size=40 align=8
+ base size=40 base align=8
+QFocusFrame (0x7f5b91764cb0) 0
+ vptr=((& QFocusFrame::_ZTV11QFocusFrame) + 16u)
+ QWidget (0x7f5b91761e00) 0
+ primary-for QFocusFrame (0x7f5b91764cb0)
+ QObject (0x7f5b91764d20) 0
+ primary-for QWidget (0x7f5b91761e00)
+ QPaintDevice (0x7f5b91764d90) 16
+ vptr=((& QFocusFrame::_ZTV11QFocusFrame) + 464u)
+
+Vtable for QFontComboBox
+QFontComboBox::_ZTV13QFontComboBox: 65u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QFontComboBox)
+16 QFontComboBox::metaObject
+24 QFontComboBox::qt_metacast
+32 QFontComboBox::qt_metacall
+40 QFontComboBox::~QFontComboBox
+48 QFontComboBox::~QFontComboBox
+56 QFontComboBox::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QFontComboBox::sizeHint
+136 QComboBox::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QComboBox::mousePressEvent
+168 QComboBox::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QComboBox::wheelEvent
+200 QComboBox::keyPressEvent
+208 QComboBox::keyReleaseEvent
+216 QComboBox::focusInEvent
+224 QComboBox::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QComboBox::paintEvent
+256 QWidget::moveEvent
+264 QComboBox::resizeEvent
+272 QWidget::closeEvent
+280 QComboBox::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QComboBox::showEvent
+344 QComboBox::hideEvent
+352 QWidget::x11Event
+360 QComboBox::changeEvent
+368 QWidget::metric
+376 QComboBox::inputMethodEvent
+384 QComboBox::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QComboBox::showPopup
+456 QComboBox::hidePopup
+464 (int (*)(...))-0x00000000000000010
+472 (int (*)(...))(& _ZTI13QFontComboBox)
+480 QFontComboBox::_ZThn16_N13QFontComboBoxD1Ev
+488 QFontComboBox::_ZThn16_N13QFontComboBoxD0Ev
+496 QWidget::_ZThn16_NK7QWidget7devTypeEv
+504 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+512 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QFontComboBox
+ size=40 align=8
+ base size=40 base align=8
+QFontComboBox (0x7f5b9177e850) 0
+ vptr=((& QFontComboBox::_ZTV13QFontComboBox) + 16u)
+ QComboBox (0x7f5b9177e8c0) 0
+ primary-for QFontComboBox (0x7f5b9177e850)
+ QWidget (0x7f5b91778700) 0
+ primary-for QComboBox (0x7f5b9177e8c0)
+ QObject (0x7f5b9177e930) 0
+ primary-for QWidget (0x7f5b91778700)
+ QPaintDevice (0x7f5b9177e9a0) 16
+ vptr=((& QFontComboBox::_ZTV13QFontComboBox) + 480u)
+
+Vtable for QToolBar
+QToolBar::_ZTV8QToolBar: 63u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI8QToolBar)
+16 QToolBar::metaObject
+24 QToolBar::qt_metacast
+32 QToolBar::qt_metacall
+40 QToolBar::~QToolBar
+48 QToolBar::~QToolBar
+56 QToolBar::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QToolBar::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QWidget::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QToolBar::paintEvent
+256 QWidget::moveEvent
+264 QToolBar::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QToolBar::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QToolBar::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 (int (*)(...))-0x00000000000000010
+456 (int (*)(...))(& _ZTI8QToolBar)
+464 QToolBar::_ZThn16_N8QToolBarD1Ev
+472 QToolBar::_ZThn16_N8QToolBarD0Ev
+480 QWidget::_ZThn16_NK7QWidget7devTypeEv
+488 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+496 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QToolBar
+ size=40 align=8
+ base size=40 base align=8
+QToolBar (0x7f5b915e9540) 0
+ vptr=((& QToolBar::_ZTV8QToolBar) + 16u)
+ QWidget (0x7f5b91598800) 0
+ primary-for QToolBar (0x7f5b915e9540)
+ QObject (0x7f5b915e95b0) 0
+ primary-for QWidget (0x7f5b91598800)
+ QPaintDevice (0x7f5b915e9620) 16
+ vptr=((& QToolBar::_ZTV8QToolBar) + 464u)
+
+Vtable for QToolBox
+QToolBox::_ZTV8QToolBox: 65u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI8QToolBox)
+16 QToolBox::metaObject
+24 QToolBox::qt_metacast
+32 QToolBox::qt_metacall
+40 QToolBox::~QToolBox
+48 QToolBox::~QToolBox
+56 QToolBox::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QFrame::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QFrame::paintEvent
+256 QWidget::moveEvent
+264 QWidget::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QToolBox::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QToolBox::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QToolBox::itemInserted
+456 QToolBox::itemRemoved
+464 (int (*)(...))-0x00000000000000010
+472 (int (*)(...))(& _ZTI8QToolBox)
+480 QToolBox::_ZThn16_N8QToolBoxD1Ev
+488 QToolBox::_ZThn16_N8QToolBoxD0Ev
+496 QWidget::_ZThn16_NK7QWidget7devTypeEv
+504 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+512 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QToolBox
+ size=40 align=8
+ base size=40 base align=8
+QToolBox (0x7f5b91621380) 0
+ vptr=((& QToolBox::_ZTV8QToolBox) + 16u)
+ QFrame (0x7f5b916213f0) 0
+ primary-for QToolBox (0x7f5b91621380)
+ QWidget (0x7f5b9161c800) 0
+ primary-for QFrame (0x7f5b916213f0)
+ QObject (0x7f5b91621460) 0
+ primary-for QWidget (0x7f5b9161c800)
+ QPaintDevice (0x7f5b916214d0) 16
+ vptr=((& QToolBox::_ZTV8QToolBox) + 480u)
+
+Vtable for QSplitter
+QSplitter::_ZTV9QSplitter: 64u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QSplitter)
+16 QSplitter::metaObject
+24 QSplitter::qt_metacast
+32 QSplitter::qt_metacall
+40 QSplitter::~QSplitter
+48 QSplitter::~QSplitter
+56 QSplitter::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QSplitter::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QSplitter::sizeHint
+136 QSplitter::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QFrame::paintEvent
+256 QWidget::moveEvent
+264 QSplitter::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QSplitter::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QSplitter::createHandle
+456 (int (*)(...))-0x00000000000000010
+464 (int (*)(...))(& _ZTI9QSplitter)
+472 QSplitter::_ZThn16_N9QSplitterD1Ev
+480 QSplitter::_ZThn16_N9QSplitterD0Ev
+488 QWidget::_ZThn16_NK7QWidget7devTypeEv
+496 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+504 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QSplitter
+ size=40 align=8
+ base size=40 base align=8
+QSplitter (0x7f5b91657000) 0
+ vptr=((& QSplitter::_ZTV9QSplitter) + 16u)
+ QFrame (0x7f5b91657070) 0
+ primary-for QSplitter (0x7f5b91657000)
+ QWidget (0x7f5b91653480) 0
+ primary-for QFrame (0x7f5b91657070)
+ QObject (0x7f5b916570e0) 0
+ primary-for QWidget (0x7f5b91653480)
+ QPaintDevice (0x7f5b91657150) 16
+ vptr=((& QSplitter::_ZTV9QSplitter) + 472u)
+
+Vtable for QSplitterHandle
+QSplitterHandle::_ZTV15QSplitterHandle: 63u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QSplitterHandle)
+16 QSplitterHandle::metaObject
+24 QSplitterHandle::qt_metacast
+32 QSplitterHandle::qt_metacall
+40 QSplitterHandle::~QSplitterHandle
+48 QSplitterHandle::~QSplitterHandle
+56 QSplitterHandle::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QSplitterHandle::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QSplitterHandle::mousePressEvent
+168 QSplitterHandle::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QSplitterHandle::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QSplitterHandle::paintEvent
+256 QWidget::moveEvent
+264 QWidget::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QWidget::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 (int (*)(...))-0x00000000000000010
+456 (int (*)(...))(& _ZTI15QSplitterHandle)
+464 QSplitterHandle::_ZThn16_N15QSplitterHandleD1Ev
+472 QSplitterHandle::_ZThn16_N15QSplitterHandleD0Ev
+480 QWidget::_ZThn16_NK7QWidget7devTypeEv
+488 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+496 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QSplitterHandle
+ size=40 align=8
+ base size=40 base align=8
+QSplitterHandle (0x7f5b916870e0) 0
+ vptr=((& QSplitterHandle::_ZTV15QSplitterHandle) + 16u)
+ QWidget (0x7f5b91681580) 0
+ primary-for QSplitterHandle (0x7f5b916870e0)
+ QObject (0x7f5b91687150) 0
+ primary-for QWidget (0x7f5b91681580)
+ QPaintDevice (0x7f5b916871c0) 16
+ vptr=((& QSplitterHandle::_ZTV15QSplitterHandle) + 464u)
+
+Vtable for QDial
+QDial::_ZTV5QDial: 64u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI5QDial)
+16 QDial::metaObject
+24 QDial::qt_metacast
+32 QDial::qt_metacall
+40 QDial::~QDial
+48 QDial::~QDial
+56 QDial::event
+64 QObject::eventFilter
+72 QAbstractSlider::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QDial::sizeHint
+136 QDial::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QDial::mousePressEvent
+168 QDial::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QDial::mouseMoveEvent
+192 QAbstractSlider::wheelEvent
+200 QAbstractSlider::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QDial::paintEvent
+256 QWidget::moveEvent
+264 QDial::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QAbstractSlider::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QDial::sliderChange
+456 (int (*)(...))-0x00000000000000010
+464 (int (*)(...))(& _ZTI5QDial)
+472 QDial::_ZThn16_N5QDialD1Ev
+480 QDial::_ZThn16_N5QDialD0Ev
+488 QWidget::_ZThn16_NK7QWidget7devTypeEv
+496 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+504 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QDial
+ size=40 align=8
+ base size=40 base align=8
+QDial (0x7f5b9149e8c0) 0
+ vptr=((& QDial::_ZTV5QDial) + 16u)
+ QAbstractSlider (0x7f5b9149e930) 0
+ primary-for QDial (0x7f5b9149e8c0)
+ QWidget (0x7f5b91681e80) 0
+ primary-for QAbstractSlider (0x7f5b9149e930)
+ QObject (0x7f5b9149e9a0) 0
+ primary-for QWidget (0x7f5b91681e80)
+ QPaintDevice (0x7f5b9149ea10) 16
+ vptr=((& QDial::_ZTV5QDial) + 472u)
+
+Class QGLColormap::QGLColormapData
+ size=24 align=8
+ base size=24 base align=8
+QGLColormap::QGLColormapData (0x7f5b914bfa80) 0
+
+Class QGLColormap
+ size=8 align=8
+ base size=8 base align=8
+QGLColormap (0x7f5b914bf540) 0
+
+Class QGLFormat
+ size=8 align=8
+ base size=8 base align=8
+QGLFormat (0x7f5b91116310) 0
+
+Vtable for QGLContext
+QGLContext::_ZTV10QGLContext: 11u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QGLContext)
+16 QGLContext::~QGLContext
+24 QGLContext::~QGLContext
+32 QGLContext::create
+40 QGLContext::makeCurrent
+48 QGLContext::doneCurrent
+56 QGLContext::swapBuffers
+64 QGLContext::chooseContext
+72 QGLContext::tryVisual
+80 QGLContext::chooseVisual
+
+Class QGLContext
+ size=16 align=8
+ base size=16 base align=8
+QGLContext (0x7f5b9117b1c0) 0
+ vptr=((& QGLContext::_ZTV10QGLContext) + 16u)
+
+Vtable for QGLWidget
+QGLWidget::_ZTV9QGLWidget: 73u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QGLWidget)
+16 QGLWidget::metaObject
+24 QGLWidget::qt_metacast
+32 QGLWidget::qt_metacall
+40 QGLWidget::~QGLWidget
+48 QGLWidget::~QGLWidget
+56 QGLWidget::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QWidget::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QGLWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QGLWidget::paintEvent
+256 QWidget::moveEvent
+264 QGLWidget::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QWidget::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QGLWidget::updateGL
+456 QGLWidget::updateOverlayGL
+464 QGLWidget::initializeGL
+472 QGLWidget::resizeGL
+480 QGLWidget::paintGL
+488 QGLWidget::initializeOverlayGL
+496 QGLWidget::resizeOverlayGL
+504 QGLWidget::paintOverlayGL
+512 QGLWidget::glInit
+520 QGLWidget::glDraw
+528 (int (*)(...))-0x00000000000000010
+536 (int (*)(...))(& _ZTI9QGLWidget)
+544 QGLWidget::_ZThn16_N9QGLWidgetD1Ev
+552 QGLWidget::_ZThn16_N9QGLWidgetD0Ev
+560 QWidget::_ZThn16_NK7QWidget7devTypeEv
+568 QGLWidget::_ZThn16_NK9QGLWidget11paintEngineEv
+576 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QGLWidget
+ size=40 align=8
+ base size=40 base align=8
+QGLWidget (0x7f5b90f92150) 0
+ vptr=((& QGLWidget::_ZTV9QGLWidget) + 16u)
+ QWidget (0x7f5b9118c280) 0
+ primary-for QGLWidget (0x7f5b90f92150)
+ QObject (0x7f5b90f921c0) 0
+ primary-for QWidget (0x7f5b9118c280)
+ QPaintDevice (0x7f5b90f92230) 16
+ vptr=((& QGLWidget::_ZTV9QGLWidget) + 544u)
+
+Vtable for QGLFramebufferObject
+QGLFramebufferObject::_ZTV20QGLFramebufferObject: 7u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI20QGLFramebufferObject)
+16 QGLFramebufferObject::~QGLFramebufferObject
+24 QGLFramebufferObject::~QGLFramebufferObject
+32 QGLFramebufferObject::devType
+40 QGLFramebufferObject::paintEngine
+48 QGLFramebufferObject::metric
+
+Class QGLFramebufferObject
+ size=24 align=8
+ base size=24 base align=8
+QGLFramebufferObject (0x7f5b90fcbbd0) 0
+ vptr=((& QGLFramebufferObject::_ZTV20QGLFramebufferObject) + 16u)
+ QPaintDevice (0x7f5b90fcbc40) 0
+ primary-for QGLFramebufferObject (0x7f5b90fcbbd0)
+
+Vtable for QGLPixelBuffer
+QGLPixelBuffer::_ZTV14QGLPixelBuffer: 7u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QGLPixelBuffer)
+16 QGLPixelBuffer::~QGLPixelBuffer
+24 QGLPixelBuffer::~QGLPixelBuffer
+32 QGLPixelBuffer::devType
+40 QGLPixelBuffer::paintEngine
+48 QGLPixelBuffer::metric
+
+Class QGLPixelBuffer
+ size=24 align=8
+ base size=24 base align=8
+QGLPixelBuffer (0x7f5b90fdad20) 0
+ vptr=((& QGLPixelBuffer::_ZTV14QGLPixelBuffer) + 16u)
+ QPaintDevice (0x7f5b90fdad90) 0
+ primary-for QGLPixelBuffer (0x7f5b90fdad20)
+
diff --git a/tests/auto/bic/data/QtOpenGL.4.6.0.linux-gcc-amd64.txt b/tests/auto/bic/data/QtOpenGL.4.6.0.linux-gcc-amd64.txt
new file mode 100644
index 0000000000..e771119b70
--- /dev/null
+++ b/tests/auto/bic/data/QtOpenGL.4.6.0.linux-gcc-amd64.txt
@@ -0,0 +1,16928 @@
+Class QSysInfo
+ size=1 align=1
+ base size=0 base align=1
+QSysInfo (0x7f2f401fe230) 0 empty
+
+Class QBool
+ size=1 align=1
+ base size=1 base align=1
+QBool (0x7f2f401fee70) 0
+
+Class qIsNull(double)::U
+ size=8 align=8
+ base size=8 base align=8
+qIsNull(double)::U (0x7f2f40229540) 0
+
+Class qIsNull(float)::U
+ size=4 align=4
+ base size=4 base align=4
+qIsNull(float)::U (0x7f2f402297e0) 0
+
+Class QFlag
+ size=4 align=4
+ base size=4 base align=4
+QFlag (0x7f2f40265690) 0
+
+Class QIncompatibleFlag
+ size=4 align=4
+ base size=4 base align=4
+QIncompatibleFlag (0x7f2f40265e70) 0
+
+Class QLatin1Char
+ size=1 align=1
+ base size=1 base align=1
+QLatin1Char (0x7f2f402935b0) 0
+
+Class QChar
+ size=2 align=2
+ base size=2 base align=2
+QChar (0x7f2f402b9150) 0
+
+Class QBasicAtomicInt
+ size=4 align=4
+ base size=4 base align=4
+QBasicAtomicInt (0x7f2f40124310) 0
+
+Class QAtomicInt
+ size=4 align=4
+ base size=4 base align=4
+QAtomicInt (0x7f2f4015fcb0) 0
+ QBasicAtomicInt (0x7f2f4015fd20) 0
+
+Class QInternal
+ size=1 align=1
+ base size=0 base align=1
+QInternal (0x7f2f3ffb84d0) 0 empty
+
+Class __locale_struct
+ size=232 align=8
+ base size=232 base align=8
+__locale_struct (0x7f2f3ffb8700) 0
+
+Class QByteArray::Data
+ size=32 align=8
+ base size=32 base align=8
+QByteArray::Data (0x7f2f3fdf4af0) 0
+
+Class QByteArray
+ size=8 align=8
+ base size=8 base align=8
+QByteArray (0x7f2f3fdf4a80) 0
+
+Class QByteRef
+ size=16 align=8
+ base size=12 base align=8
+QByteRef (0x7f2f3fe96380) 0
+
+Class QString::Null
+ size=1 align=1
+ base size=0 base align=1
+QString::Null (0x7f2f3fd96d20) 0 empty
+
+Class QString::Data
+ size=32 align=8
+ base size=32 base align=8
+QString::Data (0x7f2f3fdaf5b0) 0
+
+Class QString
+ size=8 align=8
+ base size=8 base align=8
+QString (0x7f2f3fd11bd0) 0
+
+Class QLatin1String
+ size=8 align=8
+ base size=8 base align=8
+QLatin1String (0x7f2f3fc879a0) 0
+
+Class QCharRef
+ size=16 align=8
+ base size=12 base align=8
+QCharRef (0x7f2f3fb24000) 0
+
+Class QConstString
+ size=8 align=8
+ base size=8 base align=8
+QConstString (0x7f2f3fa6c8c0) 0
+ QString (0x7f2f3fa6c930) 0
+
+Class QStringRef
+ size=16 align=8
+ base size=16 base align=8
+QStringRef (0x7f2f3fa92310) 0
+
+Class QGenericArgument
+ size=16 align=8
+ base size=16 base align=8
+QGenericArgument (0x7f2f3f90c700) 0
+
+Class QGenericReturnArgument
+ size=16 align=8
+ base size=16 base align=8
+QGenericReturnArgument (0x7f2f3f9172a0) 0
+ QGenericArgument (0x7f2f3f917310) 0
+
+Class QMetaObject
+ size=32 align=8
+ base size=32 base align=8
+QMetaObject (0x7f2f3f917b60) 0
+
+Class QMetaObjectExtraData
+ size=16 align=8
+ base size=16 base align=8
+QMetaObjectExtraData (0x7f2f3f93fbd0) 0
+
+Vtable for std::exception
+std::exception::_ZTVSt9exception: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt9exception)
+16 std::exception::~exception
+24 std::exception::~exception
+32 std::exception::what
+
+Class std::exception
+ size=8 align=8
+ base size=8 base align=8
+std::exception (0x7f2f3f9921c0) 0 nearly-empty
+ vptr=((& std::exception::_ZTVSt9exception) + 16u)
+
+Vtable for std::bad_exception
+std::bad_exception::_ZTVSt13bad_exception: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt13bad_exception)
+16 std::bad_exception::~bad_exception
+24 std::bad_exception::~bad_exception
+32 std::bad_exception::what
+
+Class std::bad_exception
+ size=8 align=8
+ base size=8 base align=8
+std::bad_exception (0x7f2f3f992770) 0 nearly-empty
+ vptr=((& std::bad_exception::_ZTVSt13bad_exception) + 16u)
+ std::exception (0x7f2f3f9927e0) 0 nearly-empty
+ primary-for std::bad_exception (0x7f2f3f992770)
+
+Vtable for std::bad_alloc
+std::bad_alloc::_ZTVSt9bad_alloc: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt9bad_alloc)
+16 std::bad_alloc::~bad_alloc
+24 std::bad_alloc::~bad_alloc
+32 std::bad_alloc::what
+
+Class std::bad_alloc
+ size=8 align=8
+ base size=8 base align=8
+std::bad_alloc (0x7f2f3f992930) 0 nearly-empty
+ vptr=((& std::bad_alloc::_ZTVSt9bad_alloc) + 16u)
+ std::exception (0x7f2f3f9a8000) 0 nearly-empty
+ primary-for std::bad_alloc (0x7f2f3f992930)
+
+Class std::nothrow_t
+ size=1 align=1
+ base size=0 base align=1
+std::nothrow_t (0x7f2f3f9a8850) 0 empty
+
+Class QListData::Data
+ size=32 align=8
+ base size=32 base align=8
+QListData::Data (0x7f2f3f9a8d90) 0
+
+Class QListData
+ size=8 align=8
+ base size=8 base align=8
+QListData (0x7f2f3f9a8d20) 0
+
+Class QScopedPointerPodDeleter
+ size=1 align=1
+ base size=0 base align=1
+QScopedPointerPodDeleter (0x7f2f3f6d4850) 0 empty
+
+Vtable for QObjectData
+QObjectData::_ZTV11QObjectData: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QObjectData)
+16 __cxa_pure_virtual
+24 __cxa_pure_virtual
+
+Class QObjectData
+ size=48 align=8
+ base size=48 base align=8
+QObjectData (0x7f2f3f6f22a0) 0
+ vptr=((& QObjectData::_ZTV11QObjectData) + 16u)
+
+Vtable for QObject
+QObject::_ZTV7QObject: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QObject)
+16 QObject::metaObject
+24 QObject::qt_metacast
+32 QObject::qt_metacall
+40 QObject::~QObject
+48 QObject::~QObject
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QObject
+ size=16 align=8
+ base size=16 base align=8
+QObject (0x7f2f3f6f25b0) 0
+ vptr=((& QObject::_ZTV7QObject) + 16u)
+
+Vtable for QObjectUserData
+QObjectUserData::_ZTV15QObjectUserData: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QObjectUserData)
+16 QObjectUserData::~QObjectUserData
+24 QObjectUserData::~QObjectUserData
+
+Class QObjectUserData
+ size=8 align=8
+ base size=8 base align=8
+QObjectUserData (0x7f2f3f777b60) 0 nearly-empty
+ vptr=((& QObjectUserData::_ZTV15QObjectUserData) + 16u)
+
+Vtable for QIODevice
+QIODevice::_ZTV9QIODevice: 30u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QIODevice)
+16 QIODevice::metaObject
+24 QIODevice::qt_metacast
+32 QIODevice::qt_metacall
+40 QIODevice::~QIODevice
+48 QIODevice::~QIODevice
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QIODevice::isSequential
+120 QIODevice::open
+128 QIODevice::close
+136 QIODevice::pos
+144 QIODevice::size
+152 QIODevice::seek
+160 QIODevice::atEnd
+168 QIODevice::reset
+176 QIODevice::bytesAvailable
+184 QIODevice::bytesToWrite
+192 QIODevice::canReadLine
+200 QIODevice::waitForReadyRead
+208 QIODevice::waitForBytesWritten
+216 __cxa_pure_virtual
+224 QIODevice::readLineData
+232 __cxa_pure_virtual
+
+Class QIODevice
+ size=16 align=8
+ base size=16 base align=8
+QIODevice (0x7f2f3f788150) 0
+ vptr=((& QIODevice::_ZTV9QIODevice) + 16u)
+ QObject (0x7f2f3f7881c0) 0
+ primary-for QIODevice (0x7f2f3f788150)
+
+Class _IO_marker
+ size=24 align=8
+ base size=24 base align=8
+_IO_marker (0x7f2f3f5e6cb0) 0
+
+Class _IO_FILE
+ size=216 align=8
+ base size=216 base align=8
+_IO_FILE (0x7f2f3f5e6d20) 0
+
+Vtable for QFile
+QFile::_ZTV5QFile: 31u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI5QFile)
+16 QFile::metaObject
+24 QFile::qt_metacast
+32 QFile::qt_metacall
+40 QFile::~QFile
+48 QFile::~QFile
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QFile::isSequential
+120 QFile::open
+128 QFile::close
+136 QFile::pos
+144 QFile::size
+152 QFile::seek
+160 QFile::atEnd
+168 QIODevice::reset
+176 QIODevice::bytesAvailable
+184 QIODevice::bytesToWrite
+192 QIODevice::canReadLine
+200 QIODevice::waitForReadyRead
+208 QIODevice::waitForBytesWritten
+216 QFile::readData
+224 QFile::readLineData
+232 QFile::writeData
+240 QFile::fileEngine
+
+Class QFile
+ size=16 align=8
+ base size=16 base align=8
+QFile (0x7f2f3f5e6e00) 0
+ vptr=((& QFile::_ZTV5QFile) + 16u)
+ QIODevice (0x7f2f3f5e6e70) 0
+ primary-for QFile (0x7f2f3f5e6e00)
+ QObject (0x7f2f3f5e6ee0) 0
+ primary-for QIODevice (0x7f2f3f5e6e70)
+
+Class QFileInfo
+ size=8 align=8
+ base size=8 base align=8
+QFileInfo (0x7f2f3f68f070) 0
+
+Vtable for QDataStream
+QDataStream::_ZTV11QDataStream: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QDataStream)
+16 QDataStream::~QDataStream
+24 QDataStream::~QDataStream
+
+Class QDataStream
+ size=40 align=8
+ base size=40 base align=8
+QDataStream (0x7f2f3f4e0a10) 0
+ vptr=((& QDataStream::_ZTV11QDataStream) + 16u)
+
+Class QRegExp
+ size=8 align=8
+ base size=8 base align=8
+QRegExp (0x7f2f3f54be70) 0
+
+Class QStringMatcher::Data
+ size=272 align=8
+ base size=272 base align=8
+QStringMatcher::Data (0x7f2f3f5b22a0) 0
+
+Class QStringMatcher
+ size=1048 align=8
+ base size=1048 base align=8
+QStringMatcher (0x7f2f3f5a6c40) 0
+
+Class QStringList
+ size=8 align=8
+ base size=8 base align=8
+QStringList (0x7f2f3f5b2850) 0
+ QList<QString> (0x7f2f3f5b28c0) 0
+
+Class QDir
+ size=8 align=8
+ base size=8 base align=8
+QDir (0x7f2f3f4504d0) 0
+
+Class QAbstractFileEngine::ExtensionOption
+ size=1 align=1
+ base size=0 base align=1
+QAbstractFileEngine::ExtensionOption (0x7f2f3f2f88c0) 0 empty
+
+Class QAbstractFileEngine::ExtensionReturn
+ size=1 align=1
+ base size=0 base align=1
+QAbstractFileEngine::ExtensionReturn (0x7f2f3f2f8930) 0 empty
+
+Class QAbstractFileEngine::MapExtensionOption
+ size=24 align=8
+ base size=20 base align=8
+QAbstractFileEngine::MapExtensionOption (0x7f2f3f2f89a0) 0
+ QAbstractFileEngine::ExtensionOption (0x7f2f3f2f8a10) 0 empty
+
+Class QAbstractFileEngine::MapExtensionReturn
+ size=8 align=8
+ base size=8 base align=8
+QAbstractFileEngine::MapExtensionReturn (0x7f2f3f2f8bd0) 0
+ QAbstractFileEngine::ExtensionReturn (0x7f2f3f2f8c40) 0 empty
+
+Class QAbstractFileEngine::UnMapExtensionOption
+ size=8 align=8
+ base size=8 base align=8
+QAbstractFileEngine::UnMapExtensionOption (0x7f2f3f2f8cb0) 0
+ QAbstractFileEngine::ExtensionOption (0x7f2f3f2f8d20) 0 empty
+
+Vtable for QAbstractFileEngine
+QAbstractFileEngine::_ZTV19QAbstractFileEngine: 36u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QAbstractFileEngine)
+16 QAbstractFileEngine::~QAbstractFileEngine
+24 QAbstractFileEngine::~QAbstractFileEngine
+32 QAbstractFileEngine::open
+40 QAbstractFileEngine::close
+48 QAbstractFileEngine::flush
+56 QAbstractFileEngine::size
+64 QAbstractFileEngine::pos
+72 QAbstractFileEngine::seek
+80 QAbstractFileEngine::isSequential
+88 QAbstractFileEngine::remove
+96 QAbstractFileEngine::copy
+104 QAbstractFileEngine::rename
+112 QAbstractFileEngine::link
+120 QAbstractFileEngine::mkdir
+128 QAbstractFileEngine::rmdir
+136 QAbstractFileEngine::setSize
+144 QAbstractFileEngine::caseSensitive
+152 QAbstractFileEngine::isRelativePath
+160 QAbstractFileEngine::entryList
+168 QAbstractFileEngine::fileFlags
+176 QAbstractFileEngine::setPermissions
+184 QAbstractFileEngine::fileName
+192 QAbstractFileEngine::ownerId
+200 QAbstractFileEngine::owner
+208 QAbstractFileEngine::fileTime
+216 QAbstractFileEngine::setFileName
+224 QAbstractFileEngine::handle
+232 QAbstractFileEngine::beginEntryList
+240 QAbstractFileEngine::endEntryList
+248 QAbstractFileEngine::read
+256 QAbstractFileEngine::readLine
+264 QAbstractFileEngine::write
+272 QAbstractFileEngine::extension
+280 QAbstractFileEngine::supportsExtension
+
+Class QAbstractFileEngine
+ size=16 align=8
+ base size=16 base align=8
+QAbstractFileEngine (0x7f2f3f2dc850) 0
+ vptr=((& QAbstractFileEngine::_ZTV19QAbstractFileEngine) + 16u)
+
+Vtable for QAbstractFileEngineHandler
+QAbstractFileEngineHandler::_ZTV26QAbstractFileEngineHandler: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI26QAbstractFileEngineHandler)
+16 QAbstractFileEngineHandler::~QAbstractFileEngineHandler
+24 QAbstractFileEngineHandler::~QAbstractFileEngineHandler
+32 __cxa_pure_virtual
+
+Class QAbstractFileEngineHandler
+ size=8 align=8
+ base size=8 base align=8
+QAbstractFileEngineHandler (0x7f2f3f32fbd0) 0 nearly-empty
+ vptr=((& QAbstractFileEngineHandler::_ZTV26QAbstractFileEngineHandler) + 16u)
+
+Vtable for QAbstractFileEngineIterator
+QAbstractFileEngineIterator::_ZTV27QAbstractFileEngineIterator: 9u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI27QAbstractFileEngineIterator)
+16 QAbstractFileEngineIterator::~QAbstractFileEngineIterator
+24 QAbstractFileEngineIterator::~QAbstractFileEngineIterator
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+48 __cxa_pure_virtual
+56 QAbstractFileEngineIterator::currentFileInfo
+64 QAbstractFileEngineIterator::entryInfo
+
+Class QAbstractFileEngineIterator
+ size=16 align=8
+ base size=16 base align=8
+QAbstractFileEngineIterator (0x7f2f3f32fd90) 0
+ vptr=((& QAbstractFileEngineIterator::_ZTV27QAbstractFileEngineIterator) + 16u)
+
+Vtable for QBuffer
+QBuffer::_ZTV7QBuffer: 30u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QBuffer)
+16 QBuffer::metaObject
+24 QBuffer::qt_metacast
+32 QBuffer::qt_metacall
+40 QBuffer::~QBuffer
+48 QBuffer::~QBuffer
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QBuffer::connectNotify
+104 QBuffer::disconnectNotify
+112 QIODevice::isSequential
+120 QBuffer::open
+128 QBuffer::close
+136 QBuffer::pos
+144 QBuffer::size
+152 QBuffer::seek
+160 QBuffer::atEnd
+168 QIODevice::reset
+176 QIODevice::bytesAvailable
+184 QIODevice::bytesToWrite
+192 QBuffer::canReadLine
+200 QIODevice::waitForReadyRead
+208 QIODevice::waitForBytesWritten
+216 QBuffer::readData
+224 QIODevice::readLineData
+232 QBuffer::writeData
+
+Class QBuffer
+ size=16 align=8
+ base size=16 base align=8
+QBuffer (0x7f2f3f340690) 0
+ vptr=((& QBuffer::_ZTV7QBuffer) + 16u)
+ QIODevice (0x7f2f3f340700) 0
+ primary-for QBuffer (0x7f2f3f340690)
+ QObject (0x7f2f3f340770) 0
+ primary-for QIODevice (0x7f2f3f340700)
+
+Class QHashData::Node
+ size=16 align=8
+ base size=16 base align=8
+QHashData::Node (0x7f2f3f383e00) 0
+
+Class QHashData
+ size=40 align=8
+ base size=40 base align=8
+QHashData (0x7f2f3f383d90) 0
+
+Class QHashDummyValue
+ size=1 align=1
+ base size=0 base align=1
+QHashDummyValue (0x7f2f3f3a7150) 0 empty
+
+Class QMapData::Node
+ size=16 align=8
+ base size=16 base align=8
+QMapData::Node (0x7f2f3f2a8a80) 0
+
+Class QMapData
+ size=128 align=8
+ base size=128 base align=8
+QMapData (0x7f2f3f2a8a10) 0
+
+Vtable for QSystemLocale
+QSystemLocale::_ZTV13QSystemLocale: 6u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QSystemLocale)
+16 QSystemLocale::~QSystemLocale
+24 QSystemLocale::~QSystemLocale
+32 QSystemLocale::query
+40 QSystemLocale::fallbackLocale
+
+Class QSystemLocale
+ size=8 align=8
+ base size=8 base align=8
+QSystemLocale (0x7f2f3efe6690) 0 nearly-empty
+ vptr=((& QSystemLocale::_ZTV13QSystemLocale) + 16u)
+
+Class QLocale::Data
+ size=4 align=2
+ base size=4 base align=2
+QLocale::Data (0x7f2f3f02fd90) 0
+
+Class QLocale
+ size=8 align=8
+ base size=8 base align=8
+QLocale (0x7f2f3efe6af0) 0
+
+Class QTextCodec::ConverterState
+ size=32 align=8
+ base size=32 base align=8
+QTextCodec::ConverterState (0x7f2f3f089bd0) 0
+
+Vtable for QTextCodec
+QTextCodec::_ZTV10QTextCodec: 9u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QTextCodec)
+16 __cxa_pure_virtual
+24 QTextCodec::aliases
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+48 __cxa_pure_virtual
+56 QTextCodec::~QTextCodec
+64 QTextCodec::~QTextCodec
+
+Class QTextCodec
+ size=8 align=8
+ base size=8 base align=8
+QTextCodec (0x7f2f3f07b460) 0 nearly-empty
+ vptr=((& QTextCodec::_ZTV10QTextCodec) + 16u)
+
+Class QTextEncoder
+ size=40 align=8
+ base size=40 base align=8
+QTextEncoder (0x7f2f3eef5150) 0
+
+Class QTextDecoder
+ size=40 align=8
+ base size=40 base align=8
+QTextDecoder (0x7f2f3eef5f50) 0
+
+Vtable for QTextStream
+QTextStream::_ZTV11QTextStream: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QTextStream)
+16 QTextStream::~QTextStream
+24 QTextStream::~QTextStream
+
+Class QTextStream
+ size=16 align=8
+ base size=16 base align=8
+QTextStream (0x7f2f3eefed90) 0
+ vptr=((& QTextStream::_ZTV11QTextStream) + 16u)
+
+Class QTextStreamManipulator
+ size=40 align=8
+ base size=38 base align=8
+QTextStreamManipulator (0x7f2f3ef77a80) 0
+
+Vtable for QTextIStream
+QTextIStream::_ZTV12QTextIStream: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QTextIStream)
+16 QTextIStream::~QTextIStream
+24 QTextIStream::~QTextIStream
+
+Class QTextIStream
+ size=16 align=8
+ base size=16 base align=8
+QTextIStream (0x7f2f3efaa070) 0
+ vptr=((& QTextIStream::_ZTV12QTextIStream) + 16u)
+ QTextStream (0x7f2f3efaa0e0) 0
+ primary-for QTextIStream (0x7f2f3efaa070)
+
+Vtable for QTextOStream
+QTextOStream::_ZTV12QTextOStream: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QTextOStream)
+16 QTextOStream::~QTextOStream
+24 QTextOStream::~QTextOStream
+
+Class QTextOStream
+ size=16 align=8
+ base size=16 base align=8
+QTextOStream (0x7f2f3efb5ee0) 0
+ vptr=((& QTextOStream::_ZTV12QTextOStream) + 16u)
+ QTextStream (0x7f2f3efb5f50) 0
+ primary-for QTextOStream (0x7f2f3efb5ee0)
+
+Class wait
+ size=4 align=4
+ base size=4 base align=4
+wait (0x7f2f3edcad90) 0
+
+Class timespec
+ size=16 align=8
+ base size=16 base align=8
+timespec (0x7f2f3edd70e0) 0
+
+Class timeval
+ size=16 align=8
+ base size=16 base align=8
+timeval (0x7f2f3edd7150) 0
+
+Class __pthread_internal_list
+ size=16 align=8
+ base size=16 base align=8
+__pthread_internal_list (0x7f2f3edd72a0) 0
+
+Class random_data
+ size=48 align=8
+ base size=48 base align=8
+random_data (0x7f2f3edd7850) 0
+
+Class drand48_data
+ size=24 align=8
+ base size=24 base align=8
+drand48_data (0x7f2f3edd78c0) 0
+
+Class QVectorData
+ size=16 align=4
+ base size=16 base align=4
+QVectorData (0x7f2f3edd7930) 0
+
+Class QContiguousCacheData
+ size=24 align=4
+ base size=24 base align=4
+QContiguousCacheData (0x7f2f3ed93620) 0
+
+Class QDebug::Stream
+ size=40 align=8
+ base size=34 base align=8
+QDebug::Stream (0x7f2f3ebf5150) 0
+
+Class QDebug
+ size=8 align=8
+ base size=8 base align=8
+QDebug (0x7f2f3ebf50e0) 0
+
+Class QNoDebug
+ size=1 align=1
+ base size=0 base align=1
+QNoDebug (0x7f2f3eca20e0) 0 empty
+
+Vtable for QDirIterator
+QDirIterator::_ZTV12QDirIterator: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QDirIterator)
+16 QDirIterator::~QDirIterator
+24 QDirIterator::~QDirIterator
+
+Class QDirIterator
+ size=16 align=8
+ base size=16 base align=8
+QDirIterator (0x7f2f3eab1700) 0
+ vptr=((& QDirIterator::_ZTV12QDirIterator) + 16u)
+
+Vtable for QFileSystemWatcher
+QFileSystemWatcher::_ZTV18QFileSystemWatcher: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QFileSystemWatcher)
+16 QFileSystemWatcher::metaObject
+24 QFileSystemWatcher::qt_metacast
+32 QFileSystemWatcher::qt_metacall
+40 QFileSystemWatcher::~QFileSystemWatcher
+48 QFileSystemWatcher::~QFileSystemWatcher
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QFileSystemWatcher
+ size=16 align=8
+ base size=16 base align=8
+QFileSystemWatcher (0x7f2f3eb10540) 0
+ vptr=((& QFileSystemWatcher::_ZTV18QFileSystemWatcher) + 16u)
+ QObject (0x7f2f3eb105b0) 0
+ primary-for QFileSystemWatcher (0x7f2f3eb10540)
+
+Vtable for QFSFileEngine
+QFSFileEngine::_ZTV13QFSFileEngine: 36u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QFSFileEngine)
+16 QFSFileEngine::~QFSFileEngine
+24 QFSFileEngine::~QFSFileEngine
+32 QFSFileEngine::open
+40 QFSFileEngine::close
+48 QFSFileEngine::flush
+56 QFSFileEngine::size
+64 QFSFileEngine::pos
+72 QFSFileEngine::seek
+80 QFSFileEngine::isSequential
+88 QFSFileEngine::remove
+96 QFSFileEngine::copy
+104 QFSFileEngine::rename
+112 QFSFileEngine::link
+120 QFSFileEngine::mkdir
+128 QFSFileEngine::rmdir
+136 QFSFileEngine::setSize
+144 QFSFileEngine::caseSensitive
+152 QFSFileEngine::isRelativePath
+160 QFSFileEngine::entryList
+168 QFSFileEngine::fileFlags
+176 QFSFileEngine::setPermissions
+184 QFSFileEngine::fileName
+192 QFSFileEngine::ownerId
+200 QFSFileEngine::owner
+208 QFSFileEngine::fileTime
+216 QFSFileEngine::setFileName
+224 QFSFileEngine::handle
+232 QFSFileEngine::beginEntryList
+240 QFSFileEngine::endEntryList
+248 QFSFileEngine::read
+256 QFSFileEngine::readLine
+264 QFSFileEngine::write
+272 QFSFileEngine::extension
+280 QFSFileEngine::supportsExtension
+
+Class QFSFileEngine
+ size=16 align=8
+ base size=16 base align=8
+QFSFileEngine (0x7f2f3eb22a80) 0
+ vptr=((& QFSFileEngine::_ZTV13QFSFileEngine) + 16u)
+ QAbstractFileEngine (0x7f2f3eb22af0) 0
+ primary-for QFSFileEngine (0x7f2f3eb22a80)
+
+Class QSharedData
+ size=4 align=4
+ base size=4 base align=4
+QSharedData (0x7f2f3eb30e70) 0
+
+Class QProcessEnvironment
+ size=8 align=8
+ base size=8 base align=8
+QProcessEnvironment (0x7f2f3eb7a1c0) 0
+
+Vtable for QProcess
+QProcess::_ZTV8QProcess: 31u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI8QProcess)
+16 QProcess::metaObject
+24 QProcess::qt_metacast
+32 QProcess::qt_metacall
+40 QProcess::~QProcess
+48 QProcess::~QProcess
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QProcess::isSequential
+120 QIODevice::open
+128 QProcess::close
+136 QIODevice::pos
+144 QIODevice::size
+152 QIODevice::seek
+160 QProcess::atEnd
+168 QIODevice::reset
+176 QProcess::bytesAvailable
+184 QProcess::bytesToWrite
+192 QProcess::canReadLine
+200 QProcess::waitForReadyRead
+208 QProcess::waitForBytesWritten
+216 QProcess::readData
+224 QIODevice::readLineData
+232 QProcess::writeData
+240 QProcess::setupChildProcess
+
+Class QProcess
+ size=16 align=8
+ base size=16 base align=8
+QProcess (0x7f2f3eb7acb0) 0
+ vptr=((& QProcess::_ZTV8QProcess) + 16u)
+ QIODevice (0x7f2f3eb7ad20) 0
+ primary-for QProcess (0x7f2f3eb7acb0)
+ QObject (0x7f2f3eb7ad90) 0
+ primary-for QIODevice (0x7f2f3eb7ad20)
+
+Class QResource
+ size=8 align=8
+ base size=8 base align=8
+QResource (0x7f2f3e9c21c0) 0
+
+Class QMetaType
+ size=1 align=1
+ base size=0 base align=1
+QMetaType (0x7f2f3e9c2e70) 0 empty
+
+Class QVariant::PrivateShared
+ size=16 align=8
+ base size=12 base align=8
+QVariant::PrivateShared (0x7f2f3e8bf700) 0
+
+Class QVariant::Private::Data
+ size=8 align=8
+ base size=8 base align=8
+QVariant::Private::Data (0x7f2f3e8bfa10) 0
+
+Class QVariant::Private
+ size=16 align=8
+ base size=12 base align=8
+QVariant::Private (0x7f2f3e8bf7e0) 0
+
+Class QVariant::Handler
+ size=72 align=8
+ base size=72 base align=8
+QVariant::Handler (0x7f2f3e8ce700) 0
+
+Class QVariant
+ size=16 align=8
+ base size=16 base align=8
+QVariant (0x7f2f3ea8e7e0) 0
+
+Class QVariantComparisonHelper
+ size=8 align=8
+ base size=8 base align=8
+QVariantComparisonHelper (0x7f2f3e9869a0) 0
+
+Vtable for QSettings
+QSettings::_ZTV9QSettings: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QSettings)
+16 QSettings::metaObject
+24 QSettings::qt_metacast
+32 QSettings::qt_metacall
+40 QSettings::~QSettings
+48 QSettings::~QSettings
+56 QSettings::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QSettings
+ size=16 align=8
+ base size=16 base align=8
+QSettings (0x7f2f3e7a5ee0) 0
+ vptr=((& QSettings::_ZTV9QSettings) + 16u)
+ QObject (0x7f2f3e7a5f50) 0
+ primary-for QSettings (0x7f2f3e7a5ee0)
+
+Vtable for QTemporaryFile
+QTemporaryFile::_ZTV14QTemporaryFile: 31u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QTemporaryFile)
+16 QTemporaryFile::metaObject
+24 QTemporaryFile::qt_metacast
+32 QTemporaryFile::qt_metacall
+40 QTemporaryFile::~QTemporaryFile
+48 QTemporaryFile::~QTemporaryFile
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QFile::isSequential
+120 QTemporaryFile::open
+128 QFile::close
+136 QFile::pos
+144 QFile::size
+152 QFile::seek
+160 QFile::atEnd
+168 QIODevice::reset
+176 QIODevice::bytesAvailable
+184 QIODevice::bytesToWrite
+192 QIODevice::canReadLine
+200 QIODevice::waitForReadyRead
+208 QIODevice::waitForBytesWritten
+216 QFile::readData
+224 QFile::readLineData
+232 QFile::writeData
+240 QTemporaryFile::fileEngine
+
+Class QTemporaryFile
+ size=16 align=8
+ base size=16 base align=8
+QTemporaryFile (0x7f2f3e8282a0) 0
+ vptr=((& QTemporaryFile::_ZTV14QTemporaryFile) + 16u)
+ QFile (0x7f2f3e828310) 0
+ primary-for QTemporaryFile (0x7f2f3e8282a0)
+ QIODevice (0x7f2f3e828380) 0
+ primary-for QFile (0x7f2f3e828310)
+ QObject (0x7f2f3e8283f0) 0
+ primary-for QIODevice (0x7f2f3e828380)
+
+Class QUrl
+ size=8 align=8
+ base size=8 base align=8
+QUrl (0x7f2f3e8449a0) 0
+
+Class QXmlStreamStringRef
+ size=16 align=8
+ base size=16 base align=8
+QXmlStreamStringRef (0x7f2f3e6cd070) 0
+
+Class QXmlStreamAttribute
+ size=80 align=8
+ base size=73 base align=8
+QXmlStreamAttribute (0x7f2f3e6eb850) 0
+
+Class QXmlStreamAttributes
+ size=8 align=8
+ base size=8 base align=8
+QXmlStreamAttributes (0x7f2f3e714310) 0
+ QVector<QXmlStreamAttribute> (0x7f2f3e714380) 0
+
+Class QXmlStreamNamespaceDeclaration
+ size=40 align=8
+ base size=40 base align=8
+QXmlStreamNamespaceDeclaration (0x7f2f3e7147e0) 0
+
+Class QXmlStreamNotationDeclaration
+ size=56 align=8
+ base size=56 base align=8
+QXmlStreamNotationDeclaration (0x7f2f3e7561c0) 0
+
+Class QXmlStreamEntityDeclaration
+ size=88 align=8
+ base size=88 base align=8
+QXmlStreamEntityDeclaration (0x7f2f3e776070) 0
+
+Vtable for QXmlStreamEntityResolver
+QXmlStreamEntityResolver::_ZTV24QXmlStreamEntityResolver: 6u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI24QXmlStreamEntityResolver)
+16 QXmlStreamEntityResolver::~QXmlStreamEntityResolver
+24 QXmlStreamEntityResolver::~QXmlStreamEntityResolver
+32 QXmlStreamEntityResolver::resolveEntity
+40 QXmlStreamEntityResolver::resolveUndeclaredEntity
+
+Class QXmlStreamEntityResolver
+ size=8 align=8
+ base size=8 base align=8
+QXmlStreamEntityResolver (0x7f2f3e7909a0) 0 nearly-empty
+ vptr=((& QXmlStreamEntityResolver::_ZTV24QXmlStreamEntityResolver) + 16u)
+
+Class QXmlStreamReader
+ size=8 align=8
+ base size=8 base align=8
+QXmlStreamReader (0x7f2f3e790b60) 0
+
+Class QXmlStreamWriter
+ size=8 align=8
+ base size=8 base align=8
+QXmlStreamWriter (0x7f2f3e5d8c40) 0
+
+Vtable for QAbstractState
+QAbstractState::_ZTV14QAbstractState: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QAbstractState)
+16 QAbstractState::metaObject
+24 QAbstractState::qt_metacast
+32 QAbstractState::qt_metacall
+40 QAbstractState::~QAbstractState
+48 QAbstractState::~QAbstractState
+56 QAbstractState::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+
+Class QAbstractState
+ size=16 align=8
+ base size=16 base align=8
+QAbstractState (0x7f2f3e5eea80) 0
+ vptr=((& QAbstractState::_ZTV14QAbstractState) + 16u)
+ QObject (0x7f2f3e5eeaf0) 0
+ primary-for QAbstractState (0x7f2f3e5eea80)
+
+Vtable for QAbstractTransition
+QAbstractTransition::_ZTV19QAbstractTransition: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QAbstractTransition)
+16 QAbstractTransition::metaObject
+24 QAbstractTransition::qt_metacast
+32 QAbstractTransition::qt_metacall
+40 QAbstractTransition::~QAbstractTransition
+48 QAbstractTransition::~QAbstractTransition
+56 QAbstractTransition::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+
+Class QAbstractTransition
+ size=16 align=8
+ base size=16 base align=8
+QAbstractTransition (0x7f2f3e6142a0) 0
+ vptr=((& QAbstractTransition::_ZTV19QAbstractTransition) + 16u)
+ QObject (0x7f2f3e614310) 0
+ primary-for QAbstractTransition (0x7f2f3e6142a0)
+
+Vtable for QEvent
+QEvent::_ZTV6QEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI6QEvent)
+16 QEvent::~QEvent
+24 QEvent::~QEvent
+
+Class QEvent
+ size=24 align=8
+ base size=20 base align=8
+QEvent (0x7f2f3e629af0) 0
+ vptr=((& QEvent::_ZTV6QEvent) + 16u)
+
+Vtable for QTimerEvent
+QTimerEvent::_ZTV11QTimerEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QTimerEvent)
+16 QTimerEvent::~QTimerEvent
+24 QTimerEvent::~QTimerEvent
+
+Class QTimerEvent
+ size=24 align=8
+ base size=24 base align=8
+QTimerEvent (0x7f2f3e64b700) 0
+ vptr=((& QTimerEvent::_ZTV11QTimerEvent) + 16u)
+ QEvent (0x7f2f3e64b770) 0
+ primary-for QTimerEvent (0x7f2f3e64b700)
+
+Vtable for QChildEvent
+QChildEvent::_ZTV11QChildEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QChildEvent)
+16 QChildEvent::~QChildEvent
+24 QChildEvent::~QChildEvent
+
+Class QChildEvent
+ size=32 align=8
+ base size=32 base align=8
+QChildEvent (0x7f2f3e64bb60) 0
+ vptr=((& QChildEvent::_ZTV11QChildEvent) + 16u)
+ QEvent (0x7f2f3e64bbd0) 0
+ primary-for QChildEvent (0x7f2f3e64bb60)
+
+Vtable for QCustomEvent
+QCustomEvent::_ZTV12QCustomEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QCustomEvent)
+16 QCustomEvent::~QCustomEvent
+24 QCustomEvent::~QCustomEvent
+
+Class QCustomEvent
+ size=24 align=8
+ base size=20 base align=8
+QCustomEvent (0x7f2f3e652e00) 0
+ vptr=((& QCustomEvent::_ZTV12QCustomEvent) + 16u)
+ QEvent (0x7f2f3e652e70) 0
+ primary-for QCustomEvent (0x7f2f3e652e00)
+
+Vtable for QDynamicPropertyChangeEvent
+QDynamicPropertyChangeEvent::_ZTV27QDynamicPropertyChangeEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI27QDynamicPropertyChangeEvent)
+16 QDynamicPropertyChangeEvent::~QDynamicPropertyChangeEvent
+24 QDynamicPropertyChangeEvent::~QDynamicPropertyChangeEvent
+
+Class QDynamicPropertyChangeEvent
+ size=32 align=8
+ base size=32 base align=8
+QDynamicPropertyChangeEvent (0x7f2f3e665620) 0
+ vptr=((& QDynamicPropertyChangeEvent::_ZTV27QDynamicPropertyChangeEvent) + 16u)
+ QEvent (0x7f2f3e665690) 0
+ primary-for QDynamicPropertyChangeEvent (0x7f2f3e665620)
+
+Vtable for QEventTransition
+QEventTransition::_ZTV16QEventTransition: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QEventTransition)
+16 QEventTransition::metaObject
+24 QEventTransition::qt_metacast
+32 QEventTransition::qt_metacall
+40 QEventTransition::~QEventTransition
+48 QEventTransition::~QEventTransition
+56 QEventTransition::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QEventTransition::eventTest
+120 QEventTransition::onTransition
+
+Class QEventTransition
+ size=16 align=8
+ base size=16 base align=8
+QEventTransition (0x7f2f3e665af0) 0
+ vptr=((& QEventTransition::_ZTV16QEventTransition) + 16u)
+ QAbstractTransition (0x7f2f3e665b60) 0
+ primary-for QEventTransition (0x7f2f3e665af0)
+ QObject (0x7f2f3e665bd0) 0
+ primary-for QAbstractTransition (0x7f2f3e665b60)
+
+Vtable for QFinalState
+QFinalState::_ZTV11QFinalState: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QFinalState)
+16 QFinalState::metaObject
+24 QFinalState::qt_metacast
+32 QFinalState::qt_metacall
+40 QFinalState::~QFinalState
+48 QFinalState::~QFinalState
+56 QFinalState::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QFinalState::onEntry
+120 QFinalState::onExit
+
+Class QFinalState
+ size=16 align=8
+ base size=16 base align=8
+QFinalState (0x7f2f3e6809a0) 0
+ vptr=((& QFinalState::_ZTV11QFinalState) + 16u)
+ QAbstractState (0x7f2f3e680a10) 0
+ primary-for QFinalState (0x7f2f3e6809a0)
+ QObject (0x7f2f3e680a80) 0
+ primary-for QAbstractState (0x7f2f3e680a10)
+
+Vtable for QHistoryState
+QHistoryState::_ZTV13QHistoryState: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QHistoryState)
+16 QHistoryState::metaObject
+24 QHistoryState::qt_metacast
+32 QHistoryState::qt_metacall
+40 QHistoryState::~QHistoryState
+48 QHistoryState::~QHistoryState
+56 QHistoryState::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QHistoryState::onEntry
+120 QHistoryState::onExit
+
+Class QHistoryState
+ size=16 align=8
+ base size=16 base align=8
+QHistoryState (0x7f2f3e699230) 0
+ vptr=((& QHistoryState::_ZTV13QHistoryState) + 16u)
+ QAbstractState (0x7f2f3e6992a0) 0
+ primary-for QHistoryState (0x7f2f3e699230)
+ QObject (0x7f2f3e699310) 0
+ primary-for QAbstractState (0x7f2f3e6992a0)
+
+Vtable for QSignalTransition
+QSignalTransition::_ZTV17QSignalTransition: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QSignalTransition)
+16 QSignalTransition::metaObject
+24 QSignalTransition::qt_metacast
+32 QSignalTransition::qt_metacall
+40 QSignalTransition::~QSignalTransition
+48 QSignalTransition::~QSignalTransition
+56 QSignalTransition::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QSignalTransition::eventTest
+120 QSignalTransition::onTransition
+
+Class QSignalTransition
+ size=16 align=8
+ base size=16 base align=8
+QSignalTransition (0x7f2f3e4a1f50) 0
+ vptr=((& QSignalTransition::_ZTV17QSignalTransition) + 16u)
+ QAbstractTransition (0x7f2f3e4ac000) 0
+ primary-for QSignalTransition (0x7f2f3e4a1f50)
+ QObject (0x7f2f3e4ac070) 0
+ primary-for QAbstractTransition (0x7f2f3e4ac000)
+
+Vtable for QState
+QState::_ZTV6QState: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI6QState)
+16 QState::metaObject
+24 QState::qt_metacast
+32 QState::qt_metacall
+40 QState::~QState
+48 QState::~QState
+56 QState::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QState::onEntry
+120 QState::onExit
+
+Class QState
+ size=16 align=8
+ base size=16 base align=8
+QState (0x7f2f3e4bdaf0) 0
+ vptr=((& QState::_ZTV6QState) + 16u)
+ QAbstractState (0x7f2f3e4bdb60) 0
+ primary-for QState (0x7f2f3e4bdaf0)
+ QObject (0x7f2f3e4bdbd0) 0
+ primary-for QAbstractState (0x7f2f3e4bdb60)
+
+Vtable for QStateMachine::SignalEvent
+QStateMachine::SignalEvent::_ZTVN13QStateMachine11SignalEventE: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN13QStateMachine11SignalEventE)
+16 QStateMachine::SignalEvent::~SignalEvent
+24 QStateMachine::SignalEvent::~SignalEvent
+
+Class QStateMachine::SignalEvent
+ size=48 align=8
+ base size=48 base align=8
+QStateMachine::SignalEvent (0x7f2f3e4e2150) 0
+ vptr=((& QStateMachine::SignalEvent::_ZTVN13QStateMachine11SignalEventE) + 16u)
+ QEvent (0x7f2f3e4e21c0) 0
+ primary-for QStateMachine::SignalEvent (0x7f2f3e4e2150)
+
+Vtable for QStateMachine::WrappedEvent
+QStateMachine::WrappedEvent::_ZTVN13QStateMachine12WrappedEventE: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN13QStateMachine12WrappedEventE)
+16 QStateMachine::WrappedEvent::~WrappedEvent
+24 QStateMachine::WrappedEvent::~WrappedEvent
+
+Class QStateMachine::WrappedEvent
+ size=40 align=8
+ base size=40 base align=8
+QStateMachine::WrappedEvent (0x7f2f3e4e2700) 0
+ vptr=((& QStateMachine::WrappedEvent::_ZTVN13QStateMachine12WrappedEventE) + 16u)
+ QEvent (0x7f2f3e4e2770) 0
+ primary-for QStateMachine::WrappedEvent (0x7f2f3e4e2700)
+
+Vtable for QStateMachine
+QStateMachine::_ZTV13QStateMachine: 20u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QStateMachine)
+16 QStateMachine::metaObject
+24 QStateMachine::qt_metacast
+32 QStateMachine::qt_metacall
+40 QStateMachine::~QStateMachine
+48 QStateMachine::~QStateMachine
+56 QStateMachine::event
+64 QStateMachine::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QStateMachine::onEntry
+120 QStateMachine::onExit
+128 QStateMachine::beginSelectTransitions
+136 QStateMachine::endSelectTransitions
+144 QStateMachine::beginMicrostep
+152 QStateMachine::endMicrostep
+
+Class QStateMachine
+ size=16 align=8
+ base size=16 base align=8
+QStateMachine (0x7f2f3e4d9ee0) 0
+ vptr=((& QStateMachine::_ZTV13QStateMachine) + 16u)
+ QState (0x7f2f3e4d9f50) 0
+ primary-for QStateMachine (0x7f2f3e4d9ee0)
+ QAbstractState (0x7f2f3e4e2000) 0
+ primary-for QState (0x7f2f3e4d9f50)
+ QObject (0x7f2f3e4e2070) 0
+ primary-for QAbstractState (0x7f2f3e4e2000)
+
+Class QBitArray
+ size=8 align=8
+ base size=8 base align=8
+QBitArray (0x7f2f3e514150) 0
+
+Class QBitRef
+ size=16 align=8
+ base size=12 base align=8
+QBitRef (0x7f2f3e567e00) 0
+
+Class QByteArrayMatcher::Data
+ size=272 align=8
+ base size=272 base align=8
+QByteArrayMatcher::Data (0x7f2f3e57aaf0) 0
+
+Class QByteArrayMatcher
+ size=1040 align=8
+ base size=1040 base align=8
+QByteArrayMatcher (0x7f2f3e57a4d0) 0
+
+Class QCryptographicHash
+ size=8 align=8
+ base size=8 base align=8
+QCryptographicHash (0x7f2f3e3b4150) 0
+
+Vtable for QtSharedPointer::ExternalRefCountData
+QtSharedPointer::ExternalRefCountData::_ZTVN15QtSharedPointer20ExternalRefCountDataE: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN15QtSharedPointer20ExternalRefCountDataE)
+16 QtSharedPointer::ExternalRefCountData::~ExternalRefCountData
+24 QtSharedPointer::ExternalRefCountData::~ExternalRefCountData
+32 QtSharedPointer::ExternalRefCountData::destroy
+
+Class QtSharedPointer::ExternalRefCountData
+ size=16 align=8
+ base size=16 base align=8
+QtSharedPointer::ExternalRefCountData (0x7f2f3e3de070) 0
+ vptr=((& QtSharedPointer::ExternalRefCountData::_ZTVN15QtSharedPointer20ExternalRefCountDataE) + 16u)
+
+Vtable for QtSharedPointer::ExternalRefCountWithDestroyFn
+QtSharedPointer::ExternalRefCountWithDestroyFn::_ZTVN15QtSharedPointer29ExternalRefCountWithDestroyFnE: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN15QtSharedPointer29ExternalRefCountWithDestroyFnE)
+16 QtSharedPointer::ExternalRefCountWithDestroyFn::~ExternalRefCountWithDestroyFn
+24 QtSharedPointer::ExternalRefCountWithDestroyFn::~ExternalRefCountWithDestroyFn
+32 QtSharedPointer::ExternalRefCountWithDestroyFn::destroy
+
+Class QtSharedPointer::ExternalRefCountWithDestroyFn
+ size=24 align=8
+ base size=24 base align=8
+QtSharedPointer::ExternalRefCountWithDestroyFn (0x7f2f3e3f6930) 0
+ vptr=((& QtSharedPointer::ExternalRefCountWithDestroyFn::_ZTVN15QtSharedPointer29ExternalRefCountWithDestroyFnE) + 16u)
+ QtSharedPointer::ExternalRefCountData (0x7f2f3e3f69a0) 0
+ primary-for QtSharedPointer::ExternalRefCountWithDestroyFn (0x7f2f3e3f6930)
+
+Class QDate
+ size=4 align=4
+ base size=4 base align=4
+QDate (0x7f2f3e47c5b0) 0
+
+Class QTime
+ size=4 align=4
+ base size=4 base align=4
+QTime (0x7f2f3e2ad540) 0
+
+Class QDateTime
+ size=8 align=8
+ base size=8 base align=8
+QDateTime (0x7f2f3e2c9af0) 0
+
+Class QEasingCurve
+ size=8 align=8
+ base size=8 base align=8
+QEasingCurve (0x7f2f3e310000) 0
+
+Class QPoint
+ size=8 align=4
+ base size=8 base align=4
+QPoint (0x7f2f3e310ee0) 0
+
+Class QPointF
+ size=16 align=8
+ base size=16 base align=8
+QPointF (0x7f2f3e34faf0) 0
+
+Class QLine
+ size=16 align=4
+ base size=16 base align=4
+QLine (0x7f2f3e38faf0) 0
+
+Class QLineF
+ size=32 align=8
+ base size=32 base align=8
+QLineF (0x7f2f3e1c49a0) 0
+
+Class QLinkedListData
+ size=32 align=8
+ base size=32 base align=8
+QLinkedListData (0x7f2f3e21f460) 0
+
+Class QMargins
+ size=16 align=4
+ base size=16 base align=4
+QMargins (0x7f2f3e0df380) 0
+
+Class QSize
+ size=8 align=4
+ base size=8 base align=4
+QSize (0x7f2f3e10d150) 0
+
+Class QSizeF
+ size=16 align=8
+ base size=16 base align=8
+QSizeF (0x7f2f3e14ce00) 0
+
+Class QRect
+ size=16 align=4
+ base size=16 base align=4
+QRect (0x7f2f3dfa1380) 0
+
+Class QRectF
+ size=32 align=8
+ base size=32 base align=8
+QRectF (0x7f2f3e04ed20) 0
+
+Class QLatin1Literal
+ size=16 align=8
+ base size=16 base align=8
+QLatin1Literal (0x7f2f3defdee0) 0
+
+Class QAbstractConcatenable
+ size=1 align=1
+ base size=0 base align=1
+QAbstractConcatenable (0x7f2f3df0f3f0) 0 empty
+
+Class QTextBoundaryFinder
+ size=48 align=8
+ base size=48 base align=8
+QTextBoundaryFinder (0x7f2f3df47380) 0
+
+Vtable for QTimeLine
+QTimeLine::_ZTV9QTimeLine: 15u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QTimeLine)
+16 QTimeLine::metaObject
+24 QTimeLine::qt_metacast
+32 QTimeLine::qt_metacall
+40 QTimeLine::~QTimeLine
+48 QTimeLine::~QTimeLine
+56 QObject::event
+64 QObject::eventFilter
+72 QTimeLine::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QTimeLine::valueForTime
+
+Class QTimeLine
+ size=16 align=8
+ base size=16 base align=8
+QTimeLine (0x7f2f3df54700) 0
+ vptr=((& QTimeLine::_ZTV9QTimeLine) + 16u)
+ QObject (0x7f2f3df54770) 0
+ primary-for QTimeLine (0x7f2f3df54700)
+
+Vtable for QRunnable
+QRunnable::_ZTV9QRunnable: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QRunnable)
+16 __cxa_pure_virtual
+24 QRunnable::~QRunnable
+32 QRunnable::~QRunnable
+
+Class QRunnable
+ size=16 align=8
+ base size=12 base align=8
+QRunnable (0x7f2f3df7cf50) 0
+ vptr=((& QRunnable::_ZTV9QRunnable) + 16u)
+
+Class QMutex
+ size=8 align=8
+ base size=8 base align=8
+QMutex (0x7f2f3ddb6620) 0
+
+Class QMutexLocker
+ size=8 align=8
+ base size=8 base align=8
+QMutexLocker (0x7f2f3ddc41c0) 0
+
+Vtable for QtConcurrent::Exception
+QtConcurrent::Exception::_ZTVN12QtConcurrent9ExceptionE: 7u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN12QtConcurrent9ExceptionE)
+16 QtConcurrent::Exception::~Exception
+24 QtConcurrent::Exception::~Exception
+32 std::exception::what
+40 QtConcurrent::Exception::raise
+48 QtConcurrent::Exception::clone
+
+Class QtConcurrent::Exception
+ size=8 align=8
+ base size=8 base align=8
+QtConcurrent::Exception (0x7f2f3dddb4d0) 0 nearly-empty
+ vptr=((& QtConcurrent::Exception::_ZTVN12QtConcurrent9ExceptionE) + 16u)
+ std::exception (0x7f2f3dddb540) 0 nearly-empty
+ primary-for QtConcurrent::Exception (0x7f2f3dddb4d0)
+
+Vtable for QtConcurrent::UnhandledException
+QtConcurrent::UnhandledException::_ZTVN12QtConcurrent18UnhandledExceptionE: 7u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN12QtConcurrent18UnhandledExceptionE)
+16 QtConcurrent::UnhandledException::~UnhandledException
+24 QtConcurrent::UnhandledException::~UnhandledException
+32 std::exception::what
+40 QtConcurrent::UnhandledException::raise
+48 QtConcurrent::UnhandledException::clone
+
+Class QtConcurrent::UnhandledException
+ size=8 align=8
+ base size=8 base align=8
+QtConcurrent::UnhandledException (0x7f2f3dddb770) 0 nearly-empty
+ vptr=((& QtConcurrent::UnhandledException::_ZTVN12QtConcurrent18UnhandledExceptionE) + 16u)
+ QtConcurrent::Exception (0x7f2f3dddb7e0) 0 nearly-empty
+ primary-for QtConcurrent::UnhandledException (0x7f2f3dddb770)
+ std::exception (0x7f2f3dddb850) 0 nearly-empty
+ primary-for QtConcurrent::Exception (0x7f2f3dddb7e0)
+
+Class QtConcurrent::internal::ExceptionHolder
+ size=8 align=8
+ base size=8 base align=8
+QtConcurrent::internal::ExceptionHolder (0x7f2f3dddba80) 0
+
+Class QtConcurrent::internal::ExceptionStore
+ size=8 align=8
+ base size=8 base align=8
+QtConcurrent::internal::ExceptionStore (0x7f2f3dddbe00) 0
+
+Class QtConcurrent::ResultItem
+ size=16 align=8
+ base size=16 base align=8
+QtConcurrent::ResultItem (0x7f2f3dddbe70) 0
+
+Class QtConcurrent::ResultIteratorBase
+ size=16 align=8
+ base size=12 base align=8
+QtConcurrent::ResultIteratorBase (0x7f2f3ddf1d90) 0
+
+Vtable for QtConcurrent::ResultStoreBase
+QtConcurrent::ResultStoreBase::_ZTVN12QtConcurrent15ResultStoreBaseE: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN12QtConcurrent15ResultStoreBaseE)
+16 QtConcurrent::ResultStoreBase::~ResultStoreBase
+24 QtConcurrent::ResultStoreBase::~ResultStoreBase
+
+Class QtConcurrent::ResultStoreBase
+ size=48 align=8
+ base size=44 base align=8
+QtConcurrent::ResultStoreBase (0x7f2f3ddf7930) 0
+ vptr=((& QtConcurrent::ResultStoreBase::_ZTVN12QtConcurrent15ResultStoreBaseE) + 16u)
+
+Vtable for QFutureInterfaceBase
+QFutureInterfaceBase::_ZTV20QFutureInterfaceBase: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI20QFutureInterfaceBase)
+16 QFutureInterfaceBase::~QFutureInterfaceBase
+24 QFutureInterfaceBase::~QFutureInterfaceBase
+
+Class QFutureInterfaceBase
+ size=16 align=8
+ base size=16 base align=8
+QFutureInterfaceBase (0x7f2f3de35d90) 0
+ vptr=((& QFutureInterfaceBase::_ZTV20QFutureInterfaceBase) + 16u)
+
+Vtable for QFutureWatcherBase
+QFutureWatcherBase::_ZTV18QFutureWatcherBase: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QFutureWatcherBase)
+16 QFutureWatcherBase::metaObject
+24 QFutureWatcherBase::qt_metacast
+32 QFutureWatcherBase::qt_metacall
+40 QFutureWatcherBase::~QFutureWatcherBase
+48 QFutureWatcherBase::~QFutureWatcherBase
+56 QFutureWatcherBase::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QFutureWatcherBase::connectNotify
+104 QFutureWatcherBase::disconnectNotify
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+
+Class QFutureWatcherBase
+ size=16 align=8
+ base size=16 base align=8
+QFutureWatcherBase (0x7f2f3dd1b690) 0
+ vptr=((& QFutureWatcherBase::_ZTV18QFutureWatcherBase) + 16u)
+ QObject (0x7f2f3dd1b700) 0
+ primary-for QFutureWatcherBase (0x7f2f3dd1b690)
+
+Vtable for QThread
+QThread::_ZTV7QThread: 15u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QThread)
+16 QThread::metaObject
+24 QThread::qt_metacast
+32 QThread::qt_metacall
+40 QThread::~QThread
+48 QThread::~QThread
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QThread::run
+
+Class QThread
+ size=16 align=8
+ base size=16 base align=8
+QThread (0x7f2f3dd6ca80) 0
+ vptr=((& QThread::_ZTV7QThread) + 16u)
+ QObject (0x7f2f3dd6caf0) 0
+ primary-for QThread (0x7f2f3dd6ca80)
+
+Vtable for QThreadPool
+QThreadPool::_ZTV11QThreadPool: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QThreadPool)
+16 QThreadPool::metaObject
+24 QThreadPool::qt_metacast
+32 QThreadPool::qt_metacall
+40 QThreadPool::~QThreadPool
+48 QThreadPool::~QThreadPool
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QThreadPool
+ size=16 align=8
+ base size=16 base align=8
+QThreadPool (0x7f2f3db91930) 0
+ vptr=((& QThreadPool::_ZTV11QThreadPool) + 16u)
+ QObject (0x7f2f3db919a0) 0
+ primary-for QThreadPool (0x7f2f3db91930)
+
+Class QWaitCondition
+ size=8 align=8
+ base size=8 base align=8
+QWaitCondition (0x7f2f3dba4ee0) 0
+
+Class QSemaphore
+ size=8 align=8
+ base size=8 base align=8
+QSemaphore (0x7f2f3dbaf460) 0
+
+Class QtConcurrent::ThreadEngineBarrier
+ size=24 align=8
+ base size=24 base align=8
+QtConcurrent::ThreadEngineBarrier (0x7f2f3dbaf9a0) 0
+
+Vtable for QtConcurrent::ThreadEngineBase
+QtConcurrent::ThreadEngineBase::_ZTVN12QtConcurrent16ThreadEngineBaseE: 11u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN12QtConcurrent16ThreadEngineBaseE)
+16 QtConcurrent::ThreadEngineBase::run
+24 QtConcurrent::ThreadEngineBase::~ThreadEngineBase
+32 QtConcurrent::ThreadEngineBase::~ThreadEngineBase
+40 QtConcurrent::ThreadEngineBase::start
+48 QtConcurrent::ThreadEngineBase::finish
+56 QtConcurrent::ThreadEngineBase::threadFunction
+64 QtConcurrent::ThreadEngineBase::shouldStartThread
+72 QtConcurrent::ThreadEngineBase::shouldThrottleThread
+80 __cxa_pure_virtual
+
+Class QtConcurrent::ThreadEngineBase
+ size=64 align=8
+ base size=64 base align=8
+QtConcurrent::ThreadEngineBase (0x7f2f3dbafa80) 0
+ vptr=((& QtConcurrent::ThreadEngineBase::_ZTVN12QtConcurrent16ThreadEngineBaseE) + 16u)
+ QRunnable (0x7f2f3dbafaf0) 0
+ primary-for QtConcurrent::ThreadEngineBase (0x7f2f3dbafa80)
+
+VTT for QtConcurrent::ThreadEngine<void>
+QtConcurrent::ThreadEngine<void>::_ZTTN12QtConcurrent12ThreadEngineIvEE: 2u entries
+0 ((& QtConcurrent::ThreadEngine<void>::_ZTVN12QtConcurrent12ThreadEngineIvEE) + 24u)
+8 ((& QtConcurrent::ThreadEngine<void>::_ZTVN12QtConcurrent12ThreadEngineIvEE) + 136u)
+
+Class QtConcurrent::BlockSizeManager
+ size=96 align=8
+ base size=92 base align=8
+QtConcurrent::BlockSizeManager (0x7f2f3dbf9ee0) 0
+
+Vtable for QFactoryInterface
+QFactoryInterface::_ZTV17QFactoryInterface: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QFactoryInterface)
+16 QFactoryInterface::~QFactoryInterface
+24 QFactoryInterface::~QFactoryInterface
+32 __cxa_pure_virtual
+
+Class QFactoryInterface
+ size=8 align=8
+ base size=8 base align=8
+QFactoryInterface (0x7f2f3d6a3d20) 0 nearly-empty
+ vptr=((& QFactoryInterface::_ZTV17QFactoryInterface) + 16u)
+
+Vtable for QTextCodecFactoryInterface
+QTextCodecFactoryInterface::_ZTV26QTextCodecFactoryInterface: 6u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI26QTextCodecFactoryInterface)
+16 QTextCodecFactoryInterface::~QTextCodecFactoryInterface
+24 QTextCodecFactoryInterface::~QTextCodecFactoryInterface
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+
+Class QTextCodecFactoryInterface
+ size=8 align=8
+ base size=8 base align=8
+QTextCodecFactoryInterface (0x7f2f3d6d6000) 0 nearly-empty
+ vptr=((& QTextCodecFactoryInterface::_ZTV26QTextCodecFactoryInterface) + 16u)
+ QFactoryInterface (0x7f2f3d6d6070) 0 nearly-empty
+ primary-for QTextCodecFactoryInterface (0x7f2f3d6d6000)
+
+Vtable for QTextCodecPlugin
+QTextCodecPlugin::_ZTV16QTextCodecPlugin: 27u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QTextCodecPlugin)
+16 QTextCodecPlugin::metaObject
+24 QTextCodecPlugin::qt_metacast
+32 QTextCodecPlugin::qt_metacall
+40 QTextCodecPlugin::~QTextCodecPlugin
+48 QTextCodecPlugin::~QTextCodecPlugin
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 __cxa_pure_virtual
+136 __cxa_pure_virtual
+144 __cxa_pure_virtual
+152 QTextCodecPlugin::keys
+160 QTextCodecPlugin::create
+168 (int (*)(...))-0x00000000000000010
+176 (int (*)(...))(& _ZTI16QTextCodecPlugin)
+184 QTextCodecPlugin::_ZThn16_N16QTextCodecPluginD1Ev
+192 QTextCodecPlugin::_ZThn16_N16QTextCodecPluginD0Ev
+200 QTextCodecPlugin::_ZThn16_NK16QTextCodecPlugin4keysEv
+208 QTextCodecPlugin::_ZThn16_N16QTextCodecPlugin6createERK7QString
+
+Class QTextCodecPlugin
+ size=24 align=8
+ base size=24 base align=8
+QTextCodecPlugin (0x7f2f3d6e0580) 0
+ vptr=((& QTextCodecPlugin::_ZTV16QTextCodecPlugin) + 16u)
+ QObject (0x7f2f3d6d6a80) 0
+ primary-for QTextCodecPlugin (0x7f2f3d6e0580)
+ QTextCodecFactoryInterface (0x7f2f3d6d6af0) 16 nearly-empty
+ vptr=((& QTextCodecPlugin::_ZTV16QTextCodecPlugin) + 184u)
+ QFactoryInterface (0x7f2f3d6d6b60) 16 nearly-empty
+ primary-for QTextCodecFactoryInterface (0x7f2f3d6d6af0)
+
+Class QLibraryInfo
+ size=1 align=1
+ base size=0 base align=1
+QLibraryInfo (0x7f2f3d72e150) 0 empty
+
+Vtable for QEventLoop
+QEventLoop::_ZTV10QEventLoop: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QEventLoop)
+16 QEventLoop::metaObject
+24 QEventLoop::qt_metacast
+32 QEventLoop::qt_metacall
+40 QEventLoop::~QEventLoop
+48 QEventLoop::~QEventLoop
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QEventLoop
+ size=16 align=8
+ base size=16 base align=8
+QEventLoop (0x7f2f3d72e2a0) 0
+ vptr=((& QEventLoop::_ZTV10QEventLoop) + 16u)
+ QObject (0x7f2f3d72e310) 0
+ primary-for QEventLoop (0x7f2f3d72e2a0)
+
+Vtable for QAbstractEventDispatcher
+QAbstractEventDispatcher::_ZTV24QAbstractEventDispatcher: 27u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI24QAbstractEventDispatcher)
+16 QAbstractEventDispatcher::metaObject
+24 QAbstractEventDispatcher::qt_metacast
+32 QAbstractEventDispatcher::qt_metacall
+40 QAbstractEventDispatcher::~QAbstractEventDispatcher
+48 QAbstractEventDispatcher::~QAbstractEventDispatcher
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 __cxa_pure_virtual
+136 __cxa_pure_virtual
+144 __cxa_pure_virtual
+152 __cxa_pure_virtual
+160 __cxa_pure_virtual
+168 __cxa_pure_virtual
+176 __cxa_pure_virtual
+184 __cxa_pure_virtual
+192 __cxa_pure_virtual
+200 QAbstractEventDispatcher::startingUp
+208 QAbstractEventDispatcher::closingDown
+
+Class QAbstractEventDispatcher
+ size=16 align=8
+ base size=16 base align=8
+QAbstractEventDispatcher (0x7f2f3d768bd0) 0
+ vptr=((& QAbstractEventDispatcher::_ZTV24QAbstractEventDispatcher) + 16u)
+ QObject (0x7f2f3d768c40) 0
+ primary-for QAbstractEventDispatcher (0x7f2f3d768bd0)
+
+Class QModelIndex
+ size=24 align=8
+ base size=24 base align=8
+QModelIndex (0x7f2f3d58ea80) 0
+
+Class QPersistentModelIndex
+ size=8 align=8
+ base size=8 base align=8
+QPersistentModelIndex (0x7f2f3d5bb540) 0
+
+Vtable for QAbstractItemModel
+QAbstractItemModel::_ZTV18QAbstractItemModel: 42u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QAbstractItemModel)
+16 QAbstractItemModel::metaObject
+24 QAbstractItemModel::qt_metacast
+32 QAbstractItemModel::qt_metacall
+40 QAbstractItemModel::~QAbstractItemModel
+48 QAbstractItemModel::~QAbstractItemModel
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 __cxa_pure_virtual
+136 __cxa_pure_virtual
+144 QAbstractItemModel::hasChildren
+152 __cxa_pure_virtual
+160 QAbstractItemModel::setData
+168 QAbstractItemModel::headerData
+176 QAbstractItemModel::setHeaderData
+184 QAbstractItemModel::itemData
+192 QAbstractItemModel::setItemData
+200 QAbstractItemModel::mimeTypes
+208 QAbstractItemModel::mimeData
+216 QAbstractItemModel::dropMimeData
+224 QAbstractItemModel::supportedDropActions
+232 QAbstractItemModel::insertRows
+240 QAbstractItemModel::insertColumns
+248 QAbstractItemModel::removeRows
+256 QAbstractItemModel::removeColumns
+264 QAbstractItemModel::fetchMore
+272 QAbstractItemModel::canFetchMore
+280 QAbstractItemModel::flags
+288 QAbstractItemModel::sort
+296 QAbstractItemModel::buddy
+304 QAbstractItemModel::match
+312 QAbstractItemModel::span
+320 QAbstractItemModel::submit
+328 QAbstractItemModel::revert
+
+Class QAbstractItemModel
+ size=16 align=8
+ base size=16 base align=8
+QAbstractItemModel (0x7f2f3d5c3850) 0
+ vptr=((& QAbstractItemModel::_ZTV18QAbstractItemModel) + 16u)
+ QObject (0x7f2f3d5c38c0) 0
+ primary-for QAbstractItemModel (0x7f2f3d5c3850)
+
+Vtable for QAbstractTableModel
+QAbstractTableModel::_ZTV19QAbstractTableModel: 42u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QAbstractTableModel)
+16 QAbstractTableModel::metaObject
+24 QAbstractTableModel::qt_metacast
+32 QAbstractTableModel::qt_metacall
+40 QAbstractTableModel::~QAbstractTableModel
+48 QAbstractTableModel::~QAbstractTableModel
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QAbstractTableModel::index
+120 QAbstractTableModel::parent
+128 __cxa_pure_virtual
+136 __cxa_pure_virtual
+144 QAbstractTableModel::hasChildren
+152 __cxa_pure_virtual
+160 QAbstractItemModel::setData
+168 QAbstractItemModel::headerData
+176 QAbstractItemModel::setHeaderData
+184 QAbstractItemModel::itemData
+192 QAbstractItemModel::setItemData
+200 QAbstractItemModel::mimeTypes
+208 QAbstractItemModel::mimeData
+216 QAbstractTableModel::dropMimeData
+224 QAbstractItemModel::supportedDropActions
+232 QAbstractItemModel::insertRows
+240 QAbstractItemModel::insertColumns
+248 QAbstractItemModel::removeRows
+256 QAbstractItemModel::removeColumns
+264 QAbstractItemModel::fetchMore
+272 QAbstractItemModel::canFetchMore
+280 QAbstractItemModel::flags
+288 QAbstractItemModel::sort
+296 QAbstractItemModel::buddy
+304 QAbstractItemModel::match
+312 QAbstractItemModel::span
+320 QAbstractItemModel::submit
+328 QAbstractItemModel::revert
+
+Class QAbstractTableModel
+ size=16 align=8
+ base size=16 base align=8
+QAbstractTableModel (0x7f2f3d61fb60) 0
+ vptr=((& QAbstractTableModel::_ZTV19QAbstractTableModel) + 16u)
+ QAbstractItemModel (0x7f2f3d61fbd0) 0
+ primary-for QAbstractTableModel (0x7f2f3d61fb60)
+ QObject (0x7f2f3d61fc40) 0
+ primary-for QAbstractItemModel (0x7f2f3d61fbd0)
+
+Vtable for QAbstractListModel
+QAbstractListModel::_ZTV18QAbstractListModel: 42u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QAbstractListModel)
+16 QAbstractListModel::metaObject
+24 QAbstractListModel::qt_metacast
+32 QAbstractListModel::qt_metacall
+40 QAbstractListModel::~QAbstractListModel
+48 QAbstractListModel::~QAbstractListModel
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QAbstractListModel::index
+120 QAbstractListModel::parent
+128 __cxa_pure_virtual
+136 QAbstractListModel::columnCount
+144 QAbstractListModel::hasChildren
+152 __cxa_pure_virtual
+160 QAbstractItemModel::setData
+168 QAbstractItemModel::headerData
+176 QAbstractItemModel::setHeaderData
+184 QAbstractItemModel::itemData
+192 QAbstractItemModel::setItemData
+200 QAbstractItemModel::mimeTypes
+208 QAbstractItemModel::mimeData
+216 QAbstractListModel::dropMimeData
+224 QAbstractItemModel::supportedDropActions
+232 QAbstractItemModel::insertRows
+240 QAbstractItemModel::insertColumns
+248 QAbstractItemModel::removeRows
+256 QAbstractItemModel::removeColumns
+264 QAbstractItemModel::fetchMore
+272 QAbstractItemModel::canFetchMore
+280 QAbstractItemModel::flags
+288 QAbstractItemModel::sort
+296 QAbstractItemModel::buddy
+304 QAbstractItemModel::match
+312 QAbstractItemModel::span
+320 QAbstractItemModel::submit
+328 QAbstractItemModel::revert
+
+Class QAbstractListModel
+ size=16 align=8
+ base size=16 base align=8
+QAbstractListModel (0x7f2f3d63b0e0) 0
+ vptr=((& QAbstractListModel::_ZTV18QAbstractListModel) + 16u)
+ QAbstractItemModel (0x7f2f3d63b150) 0
+ primary-for QAbstractListModel (0x7f2f3d63b0e0)
+ QObject (0x7f2f3d63b1c0) 0
+ primary-for QAbstractItemModel (0x7f2f3d63b150)
+
+Class QBasicTimer
+ size=4 align=4
+ base size=4 base align=4
+QBasicTimer (0x7f2f3d66c230) 0
+
+Vtable for QCoreApplication
+QCoreApplication::_ZTV16QCoreApplication: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QCoreApplication)
+16 QCoreApplication::metaObject
+24 QCoreApplication::qt_metacast
+32 QCoreApplication::qt_metacall
+40 QCoreApplication::~QCoreApplication
+48 QCoreApplication::~QCoreApplication
+56 QCoreApplication::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QCoreApplication::notify
+120 QCoreApplication::compressEvent
+
+Class QCoreApplication
+ size=16 align=8
+ base size=16 base align=8
+QCoreApplication (0x7f2f3d677620) 0
+ vptr=((& QCoreApplication::_ZTV16QCoreApplication) + 16u)
+ QObject (0x7f2f3d677690) 0
+ primary-for QCoreApplication (0x7f2f3d677620)
+
+Class __exception
+ size=40 align=8
+ base size=40 base align=8
+__exception (0x7f2f3d4ac310) 0
+
+Class QMetaMethod
+ size=16 align=8
+ base size=12 base align=8
+QMetaMethod (0x7f2f3d518770) 0
+
+Class QMetaEnum
+ size=16 align=8
+ base size=12 base align=8
+QMetaEnum (0x7f2f3d531bd0) 0
+
+Class QMetaProperty
+ size=32 align=8
+ base size=32 base align=8
+QMetaProperty (0x7f2f3d540930) 0
+
+Class QMetaClassInfo
+ size=16 align=8
+ base size=12 base align=8
+QMetaClassInfo (0x7f2f3d550000) 0
+
+Vtable for QMimeData
+QMimeData::_ZTV9QMimeData: 17u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QMimeData)
+16 QMimeData::metaObject
+24 QMimeData::qt_metacast
+32 QMimeData::qt_metacall
+40 QMimeData::~QMimeData
+48 QMimeData::~QMimeData
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QMimeData::hasFormat
+120 QMimeData::formats
+128 QMimeData::retrieveData
+
+Class QMimeData
+ size=16 align=8
+ base size=16 base align=8
+QMimeData (0x7f2f3d550af0) 0
+ vptr=((& QMimeData::_ZTV9QMimeData) + 16u)
+ QObject (0x7f2f3d550b60) 0
+ primary-for QMimeData (0x7f2f3d550af0)
+
+Vtable for QObjectCleanupHandler
+QObjectCleanupHandler::_ZTV21QObjectCleanupHandler: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI21QObjectCleanupHandler)
+16 QObjectCleanupHandler::metaObject
+24 QObjectCleanupHandler::qt_metacast
+32 QObjectCleanupHandler::qt_metacall
+40 QObjectCleanupHandler::~QObjectCleanupHandler
+48 QObjectCleanupHandler::~QObjectCleanupHandler
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QObjectCleanupHandler
+ size=24 align=8
+ base size=24 base align=8
+QObjectCleanupHandler (0x7f2f3d574380) 0
+ vptr=((& QObjectCleanupHandler::_ZTV21QObjectCleanupHandler) + 16u)
+ QObject (0x7f2f3d5743f0) 0
+ primary-for QObjectCleanupHandler (0x7f2f3d574380)
+
+Vtable for QSharedMemory
+QSharedMemory::_ZTV13QSharedMemory: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QSharedMemory)
+16 QSharedMemory::metaObject
+24 QSharedMemory::qt_metacast
+32 QSharedMemory::qt_metacall
+40 QSharedMemory::~QSharedMemory
+48 QSharedMemory::~QSharedMemory
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QSharedMemory
+ size=16 align=8
+ base size=16 base align=8
+QSharedMemory (0x7f2f3d5884d0) 0
+ vptr=((& QSharedMemory::_ZTV13QSharedMemory) + 16u)
+ QObject (0x7f2f3d588540) 0
+ primary-for QSharedMemory (0x7f2f3d5884d0)
+
+Vtable for QSignalMapper
+QSignalMapper::_ZTV13QSignalMapper: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QSignalMapper)
+16 QSignalMapper::metaObject
+24 QSignalMapper::qt_metacast
+32 QSignalMapper::qt_metacall
+40 QSignalMapper::~QSignalMapper
+48 QSignalMapper::~QSignalMapper
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QSignalMapper
+ size=16 align=8
+ base size=16 base align=8
+QSignalMapper (0x7f2f3d3a42a0) 0
+ vptr=((& QSignalMapper::_ZTV13QSignalMapper) + 16u)
+ QObject (0x7f2f3d3a4310) 0
+ primary-for QSignalMapper (0x7f2f3d3a42a0)
+
+Vtable for QSocketNotifier
+QSocketNotifier::_ZTV15QSocketNotifier: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QSocketNotifier)
+16 QSocketNotifier::metaObject
+24 QSocketNotifier::qt_metacast
+32 QSocketNotifier::qt_metacall
+40 QSocketNotifier::~QSocketNotifier
+48 QSocketNotifier::~QSocketNotifier
+56 QSocketNotifier::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QSocketNotifier
+ size=32 align=8
+ base size=25 base align=8
+QSocketNotifier (0x7f2f3d3bd690) 0
+ vptr=((& QSocketNotifier::_ZTV15QSocketNotifier) + 16u)
+ QObject (0x7f2f3d3bd700) 0
+ primary-for QSocketNotifier (0x7f2f3d3bd690)
+
+Class QSystemSemaphore
+ size=8 align=8
+ base size=8 base align=8
+QSystemSemaphore (0x7f2f3d3d6a10) 0
+
+Vtable for QTimer
+QTimer::_ZTV6QTimer: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI6QTimer)
+16 QTimer::metaObject
+24 QTimer::qt_metacast
+32 QTimer::qt_metacall
+40 QTimer::~QTimer
+48 QTimer::~QTimer
+56 QObject::event
+64 QObject::eventFilter
+72 QTimer::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QTimer
+ size=32 align=8
+ base size=29 base align=8
+QTimer (0x7f2f3d3e2460) 0
+ vptr=((& QTimer::_ZTV6QTimer) + 16u)
+ QObject (0x7f2f3d3e24d0) 0
+ primary-for QTimer (0x7f2f3d3e2460)
+
+Vtable for QTranslator
+QTranslator::_ZTV11QTranslator: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QTranslator)
+16 QTranslator::metaObject
+24 QTranslator::qt_metacast
+32 QTranslator::qt_metacall
+40 QTranslator::~QTranslator
+48 QTranslator::~QTranslator
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QTranslator::translate
+120 QTranslator::isEmpty
+
+Class QTranslator
+ size=16 align=8
+ base size=16 base align=8
+QTranslator (0x7f2f3d4059a0) 0
+ vptr=((& QTranslator::_ZTV11QTranslator) + 16u)
+ QObject (0x7f2f3d405a10) 0
+ primary-for QTranslator (0x7f2f3d4059a0)
+
+Vtable for QLibrary
+QLibrary::_ZTV8QLibrary: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI8QLibrary)
+16 QLibrary::metaObject
+24 QLibrary::qt_metacast
+32 QLibrary::qt_metacall
+40 QLibrary::~QLibrary
+48 QLibrary::~QLibrary
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QLibrary
+ size=32 align=8
+ base size=25 base align=8
+QLibrary (0x7f2f3d422930) 0
+ vptr=((& QLibrary::_ZTV8QLibrary) + 16u)
+ QObject (0x7f2f3d4229a0) 0
+ primary-for QLibrary (0x7f2f3d422930)
+
+Vtable for QPluginLoader
+QPluginLoader::_ZTV13QPluginLoader: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QPluginLoader)
+16 QPluginLoader::metaObject
+24 QPluginLoader::qt_metacast
+32 QPluginLoader::qt_metacall
+40 QPluginLoader::~QPluginLoader
+48 QPluginLoader::~QPluginLoader
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QPluginLoader
+ size=32 align=8
+ base size=25 base align=8
+QPluginLoader (0x7f2f3d46e3f0) 0
+ vptr=((& QPluginLoader::_ZTV13QPluginLoader) + 16u)
+ QObject (0x7f2f3d46e460) 0
+ primary-for QPluginLoader (0x7f2f3d46e3f0)
+
+Class QUuid
+ size=16 align=4
+ base size=16 base align=4
+QUuid (0x7f2f3d47cb60) 0
+
+Class QReadWriteLock
+ size=8 align=8
+ base size=8 base align=8
+QReadWriteLock (0x7f2f3d2a64d0) 0
+
+Class QReadLocker
+ size=8 align=8
+ base size=8 base align=8
+QReadLocker (0x7f2f3d2a6b60) 0
+
+Class QWriteLocker
+ size=8 align=8
+ base size=8 base align=8
+QWriteLocker (0x7f2f3d2c4ee0) 0
+
+Class QThreadStorageData
+ size=4 align=4
+ base size=4 base align=4
+QThreadStorageData (0x7f2f3d2de2a0) 0
+
+Vtable for QAbstractAnimation
+QAbstractAnimation::_ZTV18QAbstractAnimation: 18u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QAbstractAnimation)
+16 QAbstractAnimation::metaObject
+24 QAbstractAnimation::qt_metacast
+32 QAbstractAnimation::qt_metacall
+40 QAbstractAnimation::~QAbstractAnimation
+48 QAbstractAnimation::~QAbstractAnimation
+56 QAbstractAnimation::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 QAbstractAnimation::updateState
+136 QAbstractAnimation::updateDirection
+
+Class QAbstractAnimation
+ size=16 align=8
+ base size=16 base align=8
+QAbstractAnimation (0x7f2f3d2dea10) 0
+ vptr=((& QAbstractAnimation::_ZTV18QAbstractAnimation) + 16u)
+ QObject (0x7f2f3d2dea80) 0
+ primary-for QAbstractAnimation (0x7f2f3d2dea10)
+
+Vtable for QAnimationGroup
+QAnimationGroup::_ZTV15QAnimationGroup: 18u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QAnimationGroup)
+16 QAnimationGroup::metaObject
+24 QAnimationGroup::qt_metacast
+32 QAnimationGroup::qt_metacall
+40 QAnimationGroup::~QAnimationGroup
+48 QAnimationGroup::~QAnimationGroup
+56 QAnimationGroup::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 QAbstractAnimation::updateState
+136 QAbstractAnimation::updateDirection
+
+Class QAnimationGroup
+ size=16 align=8
+ base size=16 base align=8
+QAnimationGroup (0x7f2f3d316150) 0
+ vptr=((& QAnimationGroup::_ZTV15QAnimationGroup) + 16u)
+ QAbstractAnimation (0x7f2f3d3161c0) 0
+ primary-for QAnimationGroup (0x7f2f3d316150)
+ QObject (0x7f2f3d316230) 0
+ primary-for QAbstractAnimation (0x7f2f3d3161c0)
+
+Vtable for QParallelAnimationGroup
+QParallelAnimationGroup::_ZTV23QParallelAnimationGroup: 18u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI23QParallelAnimationGroup)
+16 QParallelAnimationGroup::metaObject
+24 QParallelAnimationGroup::qt_metacast
+32 QParallelAnimationGroup::qt_metacall
+40 QParallelAnimationGroup::~QParallelAnimationGroup
+48 QParallelAnimationGroup::~QParallelAnimationGroup
+56 QParallelAnimationGroup::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QParallelAnimationGroup::duration
+120 QParallelAnimationGroup::updateCurrentTime
+128 QParallelAnimationGroup::updateState
+136 QParallelAnimationGroup::updateDirection
+
+Class QParallelAnimationGroup
+ size=16 align=8
+ base size=16 base align=8
+QParallelAnimationGroup (0x7f2f3d32e000) 0
+ vptr=((& QParallelAnimationGroup::_ZTV23QParallelAnimationGroup) + 16u)
+ QAnimationGroup (0x7f2f3d32e070) 0
+ primary-for QParallelAnimationGroup (0x7f2f3d32e000)
+ QAbstractAnimation (0x7f2f3d32e0e0) 0
+ primary-for QAnimationGroup (0x7f2f3d32e070)
+ QObject (0x7f2f3d32e150) 0
+ primary-for QAbstractAnimation (0x7f2f3d32e0e0)
+
+Vtable for QPauseAnimation
+QPauseAnimation::_ZTV15QPauseAnimation: 18u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QPauseAnimation)
+16 QPauseAnimation::metaObject
+24 QPauseAnimation::qt_metacast
+32 QPauseAnimation::qt_metacall
+40 QPauseAnimation::~QPauseAnimation
+48 QPauseAnimation::~QPauseAnimation
+56 QPauseAnimation::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QPauseAnimation::duration
+120 QPauseAnimation::updateCurrentTime
+128 QAbstractAnimation::updateState
+136 QAbstractAnimation::updateDirection
+
+Class QPauseAnimation
+ size=16 align=8
+ base size=16 base align=8
+QPauseAnimation (0x7f2f3d33ce70) 0
+ vptr=((& QPauseAnimation::_ZTV15QPauseAnimation) + 16u)
+ QAbstractAnimation (0x7f2f3d33cee0) 0
+ primary-for QPauseAnimation (0x7f2f3d33ce70)
+ QObject (0x7f2f3d33cf50) 0
+ primary-for QAbstractAnimation (0x7f2f3d33cee0)
+
+Vtable for QVariantAnimation
+QVariantAnimation::_ZTV17QVariantAnimation: 20u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QVariantAnimation)
+16 QVariantAnimation::metaObject
+24 QVariantAnimation::qt_metacast
+32 QVariantAnimation::qt_metacall
+40 QVariantAnimation::~QVariantAnimation
+48 QVariantAnimation::~QVariantAnimation
+56 QVariantAnimation::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QVariantAnimation::duration
+120 QVariantAnimation::updateCurrentTime
+128 QVariantAnimation::updateState
+136 QAbstractAnimation::updateDirection
+144 __cxa_pure_virtual
+152 QVariantAnimation::interpolated
+
+Class QVariantAnimation
+ size=16 align=8
+ base size=16 base align=8
+QVariantAnimation (0x7f2f3d3588c0) 0
+ vptr=((& QVariantAnimation::_ZTV17QVariantAnimation) + 16u)
+ QAbstractAnimation (0x7f2f3d358930) 0
+ primary-for QVariantAnimation (0x7f2f3d3588c0)
+ QObject (0x7f2f3d3589a0) 0
+ primary-for QAbstractAnimation (0x7f2f3d358930)
+
+Vtable for QPropertyAnimation
+QPropertyAnimation::_ZTV18QPropertyAnimation: 20u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QPropertyAnimation)
+16 QPropertyAnimation::metaObject
+24 QPropertyAnimation::qt_metacast
+32 QPropertyAnimation::qt_metacall
+40 QPropertyAnimation::~QPropertyAnimation
+48 QPropertyAnimation::~QPropertyAnimation
+56 QPropertyAnimation::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QVariantAnimation::duration
+120 QVariantAnimation::updateCurrentTime
+128 QPropertyAnimation::updateState
+136 QAbstractAnimation::updateDirection
+144 QPropertyAnimation::updateCurrentValue
+152 QVariantAnimation::interpolated
+
+Class QPropertyAnimation
+ size=16 align=8
+ base size=16 base align=8
+QPropertyAnimation (0x7f2f3d376b60) 0
+ vptr=((& QPropertyAnimation::_ZTV18QPropertyAnimation) + 16u)
+ QVariantAnimation (0x7f2f3d376bd0) 0
+ primary-for QPropertyAnimation (0x7f2f3d376b60)
+ QAbstractAnimation (0x7f2f3d376c40) 0
+ primary-for QVariantAnimation (0x7f2f3d376bd0)
+ QObject (0x7f2f3d376cb0) 0
+ primary-for QAbstractAnimation (0x7f2f3d376c40)
+
+Vtable for QSequentialAnimationGroup
+QSequentialAnimationGroup::_ZTV25QSequentialAnimationGroup: 18u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI25QSequentialAnimationGroup)
+16 QSequentialAnimationGroup::metaObject
+24 QSequentialAnimationGroup::qt_metacast
+32 QSequentialAnimationGroup::qt_metacall
+40 QSequentialAnimationGroup::~QSequentialAnimationGroup
+48 QSequentialAnimationGroup::~QSequentialAnimationGroup
+56 QSequentialAnimationGroup::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QSequentialAnimationGroup::duration
+120 QSequentialAnimationGroup::updateCurrentTime
+128 QSequentialAnimationGroup::updateState
+136 QSequentialAnimationGroup::updateDirection
+
+Class QSequentialAnimationGroup
+ size=16 align=8
+ base size=16 base align=8
+QSequentialAnimationGroup (0x7f2f3d191b60) 0
+ vptr=((& QSequentialAnimationGroup::_ZTV25QSequentialAnimationGroup) + 16u)
+ QAnimationGroup (0x7f2f3d191bd0) 0
+ primary-for QSequentialAnimationGroup (0x7f2f3d191b60)
+ QAbstractAnimation (0x7f2f3d191c40) 0
+ primary-for QAnimationGroup (0x7f2f3d191bd0)
+ QObject (0x7f2f3d191cb0) 0
+ primary-for QAbstractAnimation (0x7f2f3d191c40)
+
+Class QColor
+ size=16 align=4
+ base size=14 base align=4
+QColor (0x7f2f3d1b9620) 0
+
+Class QRegion::QRegionData
+ size=32 align=8
+ base size=32 base align=8
+QRegion::QRegionData (0x7f2f3d2335b0) 0
+
+Class QRegion
+ size=8 align=8
+ base size=8 base align=8
+QRegion (0x7f2f3d20ccb0) 0
+
+Class QKeySequence
+ size=8 align=8
+ base size=8 base align=8
+QKeySequence (0x7f2f3d247e00) 0
+
+Vtable for QMimeSource
+QMimeSource::_ZTV11QMimeSource: 7u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QMimeSource)
+16 QMimeSource::~QMimeSource
+24 QMimeSource::~QMimeSource
+32 __cxa_pure_virtual
+40 QMimeSource::provides
+48 __cxa_pure_virtual
+
+Class QMimeSource
+ size=8 align=8
+ base size=8 base align=8
+QMimeSource (0x7f2f3d284770) 0 nearly-empty
+ vptr=((& QMimeSource::_ZTV11QMimeSource) + 16u)
+
+Vtable for QDrag
+QDrag::_ZTV5QDrag: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI5QDrag)
+16 QDrag::metaObject
+24 QDrag::qt_metacast
+32 QDrag::qt_metacall
+40 QDrag::~QDrag
+48 QDrag::~QDrag
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QDrag
+ size=16 align=8
+ base size=16 base align=8
+QDrag (0x7f2f3d2848c0) 0
+ vptr=((& QDrag::_ZTV5QDrag) + 16u)
+ QObject (0x7f2f3d284930) 0
+ primary-for QDrag (0x7f2f3d2848c0)
+
+Vtable for QInputEvent
+QInputEvent::_ZTV11QInputEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QInputEvent)
+16 QInputEvent::~QInputEvent
+24 QInputEvent::~QInputEvent
+
+Class QInputEvent
+ size=24 align=8
+ base size=24 base align=8
+QInputEvent (0x7f2f3d0ad070) 0
+ vptr=((& QInputEvent::_ZTV11QInputEvent) + 16u)
+ QEvent (0x7f2f3d0ad0e0) 0
+ primary-for QInputEvent (0x7f2f3d0ad070)
+
+Vtable for QMouseEvent
+QMouseEvent::_ZTV11QMouseEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QMouseEvent)
+16 QMouseEvent::~QMouseEvent
+24 QMouseEvent::~QMouseEvent
+
+Class QMouseEvent
+ size=48 align=8
+ base size=48 base align=8
+QMouseEvent (0x7f2f3d0ad930) 0
+ vptr=((& QMouseEvent::_ZTV11QMouseEvent) + 16u)
+ QInputEvent (0x7f2f3d0ad9a0) 0
+ primary-for QMouseEvent (0x7f2f3d0ad930)
+ QEvent (0x7f2f3d0ada10) 0
+ primary-for QInputEvent (0x7f2f3d0ad9a0)
+
+Vtable for QHoverEvent
+QHoverEvent::_ZTV11QHoverEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QHoverEvent)
+16 QHoverEvent::~QHoverEvent
+24 QHoverEvent::~QHoverEvent
+
+Class QHoverEvent
+ size=40 align=8
+ base size=36 base align=8
+QHoverEvent (0x7f2f3d0d9700) 0
+ vptr=((& QHoverEvent::_ZTV11QHoverEvent) + 16u)
+ QEvent (0x7f2f3d0d9770) 0
+ primary-for QHoverEvent (0x7f2f3d0d9700)
+
+Vtable for QWheelEvent
+QWheelEvent::_ZTV11QWheelEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QWheelEvent)
+16 QWheelEvent::~QWheelEvent
+24 QWheelEvent::~QWheelEvent
+
+Class QWheelEvent
+ size=56 align=8
+ base size=52 base align=8
+QWheelEvent (0x7f2f3d0d9e70) 0
+ vptr=((& QWheelEvent::_ZTV11QWheelEvent) + 16u)
+ QInputEvent (0x7f2f3d0d9ee0) 0
+ primary-for QWheelEvent (0x7f2f3d0d9e70)
+ QEvent (0x7f2f3d0d9f50) 0
+ primary-for QInputEvent (0x7f2f3d0d9ee0)
+
+Vtable for QTabletEvent
+QTabletEvent::_ZTV12QTabletEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QTabletEvent)
+16 QTabletEvent::~QTabletEvent
+24 QTabletEvent::~QTabletEvent
+
+Class QTabletEvent
+ size=120 align=8
+ base size=120 base align=8
+QTabletEvent (0x7f2f3d0f4c40) 0
+ vptr=((& QTabletEvent::_ZTV12QTabletEvent) + 16u)
+ QInputEvent (0x7f2f3d0f4cb0) 0
+ primary-for QTabletEvent (0x7f2f3d0f4c40)
+ QEvent (0x7f2f3d0f4d20) 0
+ primary-for QInputEvent (0x7f2f3d0f4cb0)
+
+Vtable for QKeyEvent
+QKeyEvent::_ZTV9QKeyEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QKeyEvent)
+16 QKeyEvent::~QKeyEvent
+24 QKeyEvent::~QKeyEvent
+
+Class QKeyEvent
+ size=40 align=8
+ base size=39 base align=8
+QKeyEvent (0x7f2f3d112f50) 0
+ vptr=((& QKeyEvent::_ZTV9QKeyEvent) + 16u)
+ QInputEvent (0x7f2f3d118000) 0
+ primary-for QKeyEvent (0x7f2f3d112f50)
+ QEvent (0x7f2f3d118070) 0
+ primary-for QInputEvent (0x7f2f3d118000)
+
+Vtable for QFocusEvent
+QFocusEvent::_ZTV11QFocusEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QFocusEvent)
+16 QFocusEvent::~QFocusEvent
+24 QFocusEvent::~QFocusEvent
+
+Class QFocusEvent
+ size=24 align=8
+ base size=24 base align=8
+QFocusEvent (0x7f2f3d13a930) 0
+ vptr=((& QFocusEvent::_ZTV11QFocusEvent) + 16u)
+ QEvent (0x7f2f3d13a9a0) 0
+ primary-for QFocusEvent (0x7f2f3d13a930)
+
+Vtable for QPaintEvent
+QPaintEvent::_ZTV11QPaintEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QPaintEvent)
+16 QPaintEvent::~QPaintEvent
+24 QPaintEvent::~QPaintEvent
+
+Class QPaintEvent
+ size=56 align=8
+ base size=49 base align=8
+QPaintEvent (0x7f2f3d148380) 0
+ vptr=((& QPaintEvent::_ZTV11QPaintEvent) + 16u)
+ QEvent (0x7f2f3d1483f0) 0
+ primary-for QPaintEvent (0x7f2f3d148380)
+
+Vtable for QUpdateLaterEvent
+QUpdateLaterEvent::_ZTV17QUpdateLaterEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QUpdateLaterEvent)
+16 QUpdateLaterEvent::~QUpdateLaterEvent
+24 QUpdateLaterEvent::~QUpdateLaterEvent
+
+Class QUpdateLaterEvent
+ size=32 align=8
+ base size=32 base align=8
+QUpdateLaterEvent (0x7f2f3d155000) 0
+ vptr=((& QUpdateLaterEvent::_ZTV17QUpdateLaterEvent) + 16u)
+ QEvent (0x7f2f3d155070) 0
+ primary-for QUpdateLaterEvent (0x7f2f3d155000)
+
+Vtable for QMoveEvent
+QMoveEvent::_ZTV10QMoveEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QMoveEvent)
+16 QMoveEvent::~QMoveEvent
+24 QMoveEvent::~QMoveEvent
+
+Class QMoveEvent
+ size=40 align=8
+ base size=36 base align=8
+QMoveEvent (0x7f2f3d155460) 0
+ vptr=((& QMoveEvent::_ZTV10QMoveEvent) + 16u)
+ QEvent (0x7f2f3d1554d0) 0
+ primary-for QMoveEvent (0x7f2f3d155460)
+
+Vtable for QResizeEvent
+QResizeEvent::_ZTV12QResizeEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QResizeEvent)
+16 QResizeEvent::~QResizeEvent
+24 QResizeEvent::~QResizeEvent
+
+Class QResizeEvent
+ size=40 align=8
+ base size=36 base align=8
+QResizeEvent (0x7f2f3d155af0) 0
+ vptr=((& QResizeEvent::_ZTV12QResizeEvent) + 16u)
+ QEvent (0x7f2f3d155b60) 0
+ primary-for QResizeEvent (0x7f2f3d155af0)
+
+Vtable for QCloseEvent
+QCloseEvent::_ZTV11QCloseEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QCloseEvent)
+16 QCloseEvent::~QCloseEvent
+24 QCloseEvent::~QCloseEvent
+
+Class QCloseEvent
+ size=24 align=8
+ base size=20 base align=8
+QCloseEvent (0x7f2f3d166070) 0
+ vptr=((& QCloseEvent::_ZTV11QCloseEvent) + 16u)
+ QEvent (0x7f2f3d1660e0) 0
+ primary-for QCloseEvent (0x7f2f3d166070)
+
+Vtable for QIconDragEvent
+QIconDragEvent::_ZTV14QIconDragEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QIconDragEvent)
+16 QIconDragEvent::~QIconDragEvent
+24 QIconDragEvent::~QIconDragEvent
+
+Class QIconDragEvent
+ size=24 align=8
+ base size=20 base align=8
+QIconDragEvent (0x7f2f3d1662a0) 0
+ vptr=((& QIconDragEvent::_ZTV14QIconDragEvent) + 16u)
+ QEvent (0x7f2f3d166310) 0
+ primary-for QIconDragEvent (0x7f2f3d1662a0)
+
+Vtable for QShowEvent
+QShowEvent::_ZTV10QShowEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QShowEvent)
+16 QShowEvent::~QShowEvent
+24 QShowEvent::~QShowEvent
+
+Class QShowEvent
+ size=24 align=8
+ base size=20 base align=8
+QShowEvent (0x7f2f3d1664d0) 0
+ vptr=((& QShowEvent::_ZTV10QShowEvent) + 16u)
+ QEvent (0x7f2f3d166540) 0
+ primary-for QShowEvent (0x7f2f3d1664d0)
+
+Vtable for QHideEvent
+QHideEvent::_ZTV10QHideEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QHideEvent)
+16 QHideEvent::~QHideEvent
+24 QHideEvent::~QHideEvent
+
+Class QHideEvent
+ size=24 align=8
+ base size=20 base align=8
+QHideEvent (0x7f2f3d166700) 0
+ vptr=((& QHideEvent::_ZTV10QHideEvent) + 16u)
+ QEvent (0x7f2f3d166770) 0
+ primary-for QHideEvent (0x7f2f3d166700)
+
+Vtable for QContextMenuEvent
+QContextMenuEvent::_ZTV17QContextMenuEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QContextMenuEvent)
+16 QContextMenuEvent::~QContextMenuEvent
+24 QContextMenuEvent::~QContextMenuEvent
+
+Class QContextMenuEvent
+ size=48 align=8
+ base size=41 base align=8
+QContextMenuEvent (0x7f2f3d166930) 0
+ vptr=((& QContextMenuEvent::_ZTV17QContextMenuEvent) + 16u)
+ QInputEvent (0x7f2f3d1669a0) 0
+ primary-for QContextMenuEvent (0x7f2f3d166930)
+ QEvent (0x7f2f3d166a10) 0
+ primary-for QInputEvent (0x7f2f3d1669a0)
+
+Class QInputMethodEvent::Attribute
+ size=32 align=8
+ base size=32 base align=8
+QInputMethodEvent::Attribute (0x7f2f3d17f4d0) 0
+
+Vtable for QInputMethodEvent
+QInputMethodEvent::_ZTV17QInputMethodEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QInputMethodEvent)
+16 QInputMethodEvent::~QInputMethodEvent
+24 QInputMethodEvent::~QInputMethodEvent
+
+Class QInputMethodEvent
+ size=56 align=8
+ base size=56 base align=8
+QInputMethodEvent (0x7f2f3d17f3f0) 0
+ vptr=((& QInputMethodEvent::_ZTV17QInputMethodEvent) + 16u)
+ QEvent (0x7f2f3d17f460) 0
+ primary-for QInputMethodEvent (0x7f2f3d17f3f0)
+
+Vtable for QDropEvent
+QDropEvent::_ZTV10QDropEvent: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QDropEvent)
+16 QDropEvent::~QDropEvent
+24 QDropEvent::~QDropEvent
+32 QDropEvent::format
+40 QDropEvent::encodedData
+48 QDropEvent::provides
+56 (int (*)(...))-0x00000000000000018
+64 (int (*)(...))(& _ZTI10QDropEvent)
+72 QDropEvent::_ZThn24_N10QDropEventD1Ev
+80 QDropEvent::_ZThn24_N10QDropEventD0Ev
+88 QDropEvent::_ZThn24_NK10QDropEvent6formatEi
+96 QDropEvent::_ZThn24_NK10QDropEvent8providesEPKc
+104 QDropEvent::_ZThn24_NK10QDropEvent11encodedDataEPKc
+
+Class QDropEvent
+ size=80 align=8
+ base size=80 base align=8
+QDropEvent (0x7f2f3cfba200) 0
+ vptr=((& QDropEvent::_ZTV10QDropEvent) + 16u)
+ QEvent (0x7f2f3cfb8bd0) 0
+ primary-for QDropEvent (0x7f2f3cfba200)
+ QMimeSource (0x7f2f3cfb8c40) 24 nearly-empty
+ vptr=((& QDropEvent::_ZTV10QDropEvent) + 72u)
+
+Vtable for QDragMoveEvent
+QDragMoveEvent::_ZTV14QDragMoveEvent: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QDragMoveEvent)
+16 QDragMoveEvent::~QDragMoveEvent
+24 QDragMoveEvent::~QDragMoveEvent
+32 QDropEvent::format
+40 QDropEvent::encodedData
+48 QDropEvent::provides
+56 (int (*)(...))-0x00000000000000018
+64 (int (*)(...))(& _ZTI14QDragMoveEvent)
+72 QDragMoveEvent::_ZThn24_N14QDragMoveEventD1Ev
+80 QDragMoveEvent::_ZThn24_N14QDragMoveEventD0Ev
+88 QDropEvent::_ZThn24_NK10QDropEvent6formatEi
+96 QDropEvent::_ZThn24_NK10QDropEvent8providesEPKc
+104 QDropEvent::_ZThn24_NK10QDropEvent11encodedDataEPKc
+
+Class QDragMoveEvent
+ size=96 align=8
+ base size=96 base align=8
+QDragMoveEvent (0x7f2f3cfd4930) 0
+ vptr=((& QDragMoveEvent::_ZTV14QDragMoveEvent) + 16u)
+ QDropEvent (0x7f2f3cfd0900) 0
+ primary-for QDragMoveEvent (0x7f2f3cfd4930)
+ QEvent (0x7f2f3cfd49a0) 0
+ primary-for QDropEvent (0x7f2f3cfd0900)
+ QMimeSource (0x7f2f3cfd4a10) 24 nearly-empty
+ vptr=((& QDragMoveEvent::_ZTV14QDragMoveEvent) + 72u)
+
+Vtable for QDragEnterEvent
+QDragEnterEvent::_ZTV15QDragEnterEvent: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QDragEnterEvent)
+16 QDragEnterEvent::~QDragEnterEvent
+24 QDragEnterEvent::~QDragEnterEvent
+32 QDropEvent::format
+40 QDropEvent::encodedData
+48 QDropEvent::provides
+56 (int (*)(...))-0x00000000000000018
+64 (int (*)(...))(& _ZTI15QDragEnterEvent)
+72 QDragEnterEvent::_ZThn24_N15QDragEnterEventD1Ev
+80 QDragEnterEvent::_ZThn24_N15QDragEnterEventD0Ev
+88 QDropEvent::_ZThn24_NK10QDropEvent6formatEi
+96 QDropEvent::_ZThn24_NK10QDropEvent8providesEPKc
+104 QDropEvent::_ZThn24_NK10QDropEvent11encodedDataEPKc
+
+Class QDragEnterEvent
+ size=96 align=8
+ base size=96 base align=8
+QDragEnterEvent (0x7f2f3cfe30e0) 0
+ vptr=((& QDragEnterEvent::_ZTV15QDragEnterEvent) + 16u)
+ QDragMoveEvent (0x7f2f3cfe3150) 0
+ primary-for QDragEnterEvent (0x7f2f3cfe30e0)
+ QDropEvent (0x7f2f3cfe2280) 0
+ primary-for QDragMoveEvent (0x7f2f3cfe3150)
+ QEvent (0x7f2f3cfe31c0) 0
+ primary-for QDropEvent (0x7f2f3cfe2280)
+ QMimeSource (0x7f2f3cfe3230) 24 nearly-empty
+ vptr=((& QDragEnterEvent::_ZTV15QDragEnterEvent) + 72u)
+
+Vtable for QDragResponseEvent
+QDragResponseEvent::_ZTV18QDragResponseEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QDragResponseEvent)
+16 QDragResponseEvent::~QDragResponseEvent
+24 QDragResponseEvent::~QDragResponseEvent
+
+Class QDragResponseEvent
+ size=24 align=8
+ base size=21 base align=8
+QDragResponseEvent (0x7f2f3cfe33f0) 0
+ vptr=((& QDragResponseEvent::_ZTV18QDragResponseEvent) + 16u)
+ QEvent (0x7f2f3cfe3460) 0
+ primary-for QDragResponseEvent (0x7f2f3cfe33f0)
+
+Vtable for QDragLeaveEvent
+QDragLeaveEvent::_ZTV15QDragLeaveEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QDragLeaveEvent)
+16 QDragLeaveEvent::~QDragLeaveEvent
+24 QDragLeaveEvent::~QDragLeaveEvent
+
+Class QDragLeaveEvent
+ size=24 align=8
+ base size=20 base align=8
+QDragLeaveEvent (0x7f2f3cfe3850) 0
+ vptr=((& QDragLeaveEvent::_ZTV15QDragLeaveEvent) + 16u)
+ QEvent (0x7f2f3cfe38c0) 0
+ primary-for QDragLeaveEvent (0x7f2f3cfe3850)
+
+Vtable for QHelpEvent
+QHelpEvent::_ZTV10QHelpEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QHelpEvent)
+16 QHelpEvent::~QHelpEvent
+24 QHelpEvent::~QHelpEvent
+
+Class QHelpEvent
+ size=40 align=8
+ base size=36 base align=8
+QHelpEvent (0x7f2f3cfe3a80) 0
+ vptr=((& QHelpEvent::_ZTV10QHelpEvent) + 16u)
+ QEvent (0x7f2f3cfe3af0) 0
+ primary-for QHelpEvent (0x7f2f3cfe3a80)
+
+Vtable for QStatusTipEvent
+QStatusTipEvent::_ZTV15QStatusTipEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QStatusTipEvent)
+16 QStatusTipEvent::~QStatusTipEvent
+24 QStatusTipEvent::~QStatusTipEvent
+
+Class QStatusTipEvent
+ size=32 align=8
+ base size=32 base align=8
+QStatusTipEvent (0x7f2f3cff4af0) 0
+ vptr=((& QStatusTipEvent::_ZTV15QStatusTipEvent) + 16u)
+ QEvent (0x7f2f3cff4b60) 0
+ primary-for QStatusTipEvent (0x7f2f3cff4af0)
+
+Vtable for QWhatsThisClickedEvent
+QWhatsThisClickedEvent::_ZTV22QWhatsThisClickedEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI22QWhatsThisClickedEvent)
+16 QWhatsThisClickedEvent::~QWhatsThisClickedEvent
+24 QWhatsThisClickedEvent::~QWhatsThisClickedEvent
+
+Class QWhatsThisClickedEvent
+ size=32 align=8
+ base size=32 base align=8
+QWhatsThisClickedEvent (0x7f2f3cff4cb0) 0
+ vptr=((& QWhatsThisClickedEvent::_ZTV22QWhatsThisClickedEvent) + 16u)
+ QEvent (0x7f2f3cffe000) 0
+ primary-for QWhatsThisClickedEvent (0x7f2f3cff4cb0)
+
+Vtable for QActionEvent
+QActionEvent::_ZTV12QActionEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QActionEvent)
+16 QActionEvent::~QActionEvent
+24 QActionEvent::~QActionEvent
+
+Class QActionEvent
+ size=40 align=8
+ base size=40 base align=8
+QActionEvent (0x7f2f3cffe460) 0
+ vptr=((& QActionEvent::_ZTV12QActionEvent) + 16u)
+ QEvent (0x7f2f3cffe4d0) 0
+ primary-for QActionEvent (0x7f2f3cffe460)
+
+Vtable for QFileOpenEvent
+QFileOpenEvent::_ZTV14QFileOpenEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QFileOpenEvent)
+16 QFileOpenEvent::~QFileOpenEvent
+24 QFileOpenEvent::~QFileOpenEvent
+
+Class QFileOpenEvent
+ size=32 align=8
+ base size=32 base align=8
+QFileOpenEvent (0x7f2f3cffeaf0) 0
+ vptr=((& QFileOpenEvent::_ZTV14QFileOpenEvent) + 16u)
+ QEvent (0x7f2f3cffeb60) 0
+ primary-for QFileOpenEvent (0x7f2f3cffeaf0)
+
+Vtable for QToolBarChangeEvent
+QToolBarChangeEvent::_ZTV19QToolBarChangeEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QToolBarChangeEvent)
+16 QToolBarChangeEvent::~QToolBarChangeEvent
+24 QToolBarChangeEvent::~QToolBarChangeEvent
+
+Class QToolBarChangeEvent
+ size=24 align=8
+ base size=21 base align=8
+QToolBarChangeEvent (0x7f2f3cffe620) 0
+ vptr=((& QToolBarChangeEvent::_ZTV19QToolBarChangeEvent) + 16u)
+ QEvent (0x7f2f3cffed20) 0
+ primary-for QToolBarChangeEvent (0x7f2f3cffe620)
+
+Vtable for QShortcutEvent
+QShortcutEvent::_ZTV14QShortcutEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QShortcutEvent)
+16 QShortcutEvent::~QShortcutEvent
+24 QShortcutEvent::~QShortcutEvent
+
+Class QShortcutEvent
+ size=40 align=8
+ base size=40 base align=8
+QShortcutEvent (0x7f2f3d011460) 0
+ vptr=((& QShortcutEvent::_ZTV14QShortcutEvent) + 16u)
+ QEvent (0x7f2f3d0114d0) 0
+ primary-for QShortcutEvent (0x7f2f3d011460)
+
+Vtable for QClipboardEvent
+QClipboardEvent::_ZTV15QClipboardEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QClipboardEvent)
+16 QClipboardEvent::~QClipboardEvent
+24 QClipboardEvent::~QClipboardEvent
+
+Class QClipboardEvent
+ size=24 align=8
+ base size=20 base align=8
+QClipboardEvent (0x7f2f3d01c310) 0
+ vptr=((& QClipboardEvent::_ZTV15QClipboardEvent) + 16u)
+ QEvent (0x7f2f3d01c380) 0
+ primary-for QClipboardEvent (0x7f2f3d01c310)
+
+Vtable for QWindowStateChangeEvent
+QWindowStateChangeEvent::_ZTV23QWindowStateChangeEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI23QWindowStateChangeEvent)
+16 QWindowStateChangeEvent::~QWindowStateChangeEvent
+24 QWindowStateChangeEvent::~QWindowStateChangeEvent
+
+Class QWindowStateChangeEvent
+ size=24 align=8
+ base size=24 base align=8
+QWindowStateChangeEvent (0x7f2f3d01c770) 0
+ vptr=((& QWindowStateChangeEvent::_ZTV23QWindowStateChangeEvent) + 16u)
+ QEvent (0x7f2f3d01c7e0) 0
+ primary-for QWindowStateChangeEvent (0x7f2f3d01c770)
+
+Vtable for QMenubarUpdatedEvent
+QMenubarUpdatedEvent::_ZTV20QMenubarUpdatedEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI20QMenubarUpdatedEvent)
+16 QMenubarUpdatedEvent::~QMenubarUpdatedEvent
+24 QMenubarUpdatedEvent::~QMenubarUpdatedEvent
+
+Class QMenubarUpdatedEvent
+ size=32 align=8
+ base size=32 base align=8
+QMenubarUpdatedEvent (0x7f2f3d01ccb0) 0
+ vptr=((& QMenubarUpdatedEvent::_ZTV20QMenubarUpdatedEvent) + 16u)
+ QEvent (0x7f2f3d01cd20) 0
+ primary-for QMenubarUpdatedEvent (0x7f2f3d01ccb0)
+
+Class QTouchEvent::TouchPoint
+ size=8 align=8
+ base size=8 base align=8
+QTouchEvent::TouchPoint (0x7f2f3d02d7e0) 0
+
+Vtable for QTouchEvent
+QTouchEvent::_ZTV11QTouchEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QTouchEvent)
+16 QTouchEvent::~QTouchEvent
+24 QTouchEvent::~QTouchEvent
+
+Class QTouchEvent
+ size=48 align=8
+ base size=48 base align=8
+QTouchEvent (0x7f2f3d02d690) 0
+ vptr=((& QTouchEvent::_ZTV11QTouchEvent) + 16u)
+ QInputEvent (0x7f2f3d02d700) 0
+ primary-for QTouchEvent (0x7f2f3d02d690)
+ QEvent (0x7f2f3d02d770) 0
+ primary-for QInputEvent (0x7f2f3d02d700)
+
+Vtable for QGestureEvent
+QGestureEvent::_ZTV13QGestureEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QGestureEvent)
+16 QGestureEvent::~QGestureEvent
+24 QGestureEvent::~QGestureEvent
+
+Class QGestureEvent
+ size=24 align=8
+ base size=20 base align=8
+QGestureEvent (0x7f2f3d075d20) 0
+ vptr=((& QGestureEvent::_ZTV13QGestureEvent) + 16u)
+ QEvent (0x7f2f3d075d90) 0
+ primary-for QGestureEvent (0x7f2f3d075d20)
+
+Class QFont
+ size=16 align=8
+ base size=12 base align=8
+QFont (0x7f2f3d07b310) 0
+
+Class QPolygon
+ size=8 align=8
+ base size=8 base align=8
+QPolygon (0x7f2f3cec90e0) 0
+ QVector<QPoint> (0x7f2f3cec9150) 0
+
+Class QPolygonF
+ size=8 align=8
+ base size=8 base align=8
+QPolygonF (0x7f2f3cf0b620) 0
+ QVector<QPointF> (0x7f2f3cf0b690) 0
+
+Class QMatrix
+ size=48 align=8
+ base size=48 base align=8
+QMatrix (0x7f2f3cf4e770) 0
+
+Class QPainterPath::Element
+ size=24 align=8
+ base size=24 base align=8
+QPainterPath::Element (0x7f2f3cd8d8c0) 0
+
+Class QPainterPath
+ size=8 align=8
+ base size=8 base align=8
+QPainterPath (0x7f2f3cd8d850) 0
+
+Class QPainterPathPrivate
+ size=16 align=8
+ base size=16 base align=8
+QPainterPathPrivate (0x7f2f3cde9000) 0
+
+Class QPainterPathStroker
+ size=8 align=8
+ base size=8 base align=8
+QPainterPathStroker (0x7f2f3cde9af0) 0
+
+Class QTransform
+ size=88 align=8
+ base size=88 base align=8
+QTransform (0x7f2f3ce55af0) 0
+
+Vtable for QPaintDevice
+QPaintDevice::_ZTV12QPaintDevice: 7u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QPaintDevice)
+16 QPaintDevice::~QPaintDevice
+24 QPaintDevice::~QPaintDevice
+32 QPaintDevice::devType
+40 __cxa_pure_virtual
+48 QPaintDevice::metric
+
+Class QPaintDevice
+ size=16 align=8
+ base size=10 base align=8
+QPaintDevice (0x7f2f3cd01150) 0
+ vptr=((& QPaintDevice::_ZTV12QPaintDevice) + 16u)
+
+Class QImageTextKeyLang
+ size=16 align=8
+ base size=16 base align=8
+QImageTextKeyLang (0x7f2f3cd26070) 0
+
+Vtable for QImage
+QImage::_ZTV6QImage: 7u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI6QImage)
+16 QImage::~QImage
+24 QImage::~QImage
+32 QImage::devType
+40 QImage::paintEngine
+48 QImage::metric
+
+Class QImage
+ size=24 align=8
+ base size=24 base align=8
+QImage (0x7f2f3cd4f8c0) 0
+ vptr=((& QImage::_ZTV6QImage) + 16u)
+ QPaintDevice (0x7f2f3cd4f930) 0
+ primary-for QImage (0x7f2f3cd4f8c0)
+
+Vtable for QPixmap
+QPixmap::_ZTV7QPixmap: 7u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QPixmap)
+16 QPixmap::~QPixmap
+24 QPixmap::~QPixmap
+32 QPixmap::devType
+40 QPixmap::paintEngine
+48 QPixmap::metric
+
+Class QPixmap
+ size=24 align=8
+ base size=24 base align=8
+QPixmap (0x7f2f3cbf6070) 0
+ vptr=((& QPixmap::_ZTV7QPixmap) + 16u)
+ QPaintDevice (0x7f2f3cbf60e0) 0
+ primary-for QPixmap (0x7f2f3cbf6070)
+
+Class QBrush
+ size=8 align=8
+ base size=8 base align=8
+QBrush (0x7f2f3cc52380) 0
+
+Class QBrushData
+ size=112 align=8
+ base size=112 base align=8
+QBrushData (0x7f2f3cc6fd90) 0
+
+Class QGradient
+ size=64 align=8
+ base size=64 base align=8
+QGradient (0x7f2f3cc83f50) 0
+
+Class QLinearGradient
+ size=64 align=8
+ base size=64 base align=8
+QLinearGradient (0x7f2f3cac5a10) 0
+ QGradient (0x7f2f3cac5a80) 0
+
+Class QRadialGradient
+ size=64 align=8
+ base size=64 base align=8
+QRadialGradient (0x7f2f3cac5ee0) 0
+ QGradient (0x7f2f3cac5f50) 0
+
+Class QConicalGradient
+ size=64 align=8
+ base size=64 base align=8
+QConicalGradient (0x7f2f3cacd4d0) 0
+ QGradient (0x7f2f3cacd540) 0
+
+Class QPen
+ size=8 align=8
+ base size=8 base align=8
+QPen (0x7f2f3cacd850) 0
+
+Class QTextOption::Tab
+ size=16 align=8
+ base size=14 base align=8
+QTextOption::Tab (0x7f2f3cae7e00) 0
+
+Class QTextOption
+ size=32 align=8
+ base size=32 base align=8
+QTextOption (0x7f2f3cae7d90) 0
+
+Class QTextLength
+ size=16 align=8
+ base size=16 base align=8
+QTextLength (0x7f2f3cb5b150) 0
+
+Class QTextFormat
+ size=16 align=8
+ base size=12 base align=8
+QTextFormat (0x7f2f3cb774d0) 0
+
+Class QTextCharFormat
+ size=16 align=8
+ base size=12 base align=8
+QTextCharFormat (0x7f2f3ca31540) 0
+ QTextFormat (0x7f2f3ca315b0) 0
+
+Class QTextBlockFormat
+ size=16 align=8
+ base size=12 base align=8
+QTextBlockFormat (0x7f2f3c88e1c0) 0
+ QTextFormat (0x7f2f3c88e230) 0
+
+Class QTextListFormat
+ size=16 align=8
+ base size=12 base align=8
+QTextListFormat (0x7f2f3c8ad7e0) 0
+ QTextFormat (0x7f2f3c8ad850) 0
+
+Class QTextImageFormat
+ size=16 align=8
+ base size=12 base align=8
+QTextImageFormat (0x7f2f3c8bbd20) 0
+ QTextCharFormat (0x7f2f3c8bbd90) 0
+ QTextFormat (0x7f2f3c8bbe00) 0
+
+Class QTextFrameFormat
+ size=16 align=8
+ base size=12 base align=8
+QTextFrameFormat (0x7f2f3c8cc460) 0
+ QTextFormat (0x7f2f3c8cc4d0) 0
+
+Class QTextTableFormat
+ size=16 align=8
+ base size=12 base align=8
+QTextTableFormat (0x7f2f3c900380) 0
+ QTextFrameFormat (0x7f2f3c9003f0) 0
+ QTextFormat (0x7f2f3c900460) 0
+
+Class QTextTableCellFormat
+ size=16 align=8
+ base size=12 base align=8
+QTextTableCellFormat (0x7f2f3c91c230) 0
+ QTextCharFormat (0x7f2f3c91c2a0) 0
+ QTextFormat (0x7f2f3c91c310) 0
+
+Class QTextInlineObject
+ size=16 align=8
+ base size=16 base align=8
+QTextInlineObject (0x7f2f3c931700) 0
+
+Class QTextLayout::FormatRange
+ size=24 align=8
+ base size=24 base align=8
+QTextLayout::FormatRange (0x7f2f3c93ba10) 0
+
+Class QTextLayout
+ size=8 align=8
+ base size=8 base align=8
+QTextLayout (0x7f2f3c93b770) 0
+
+Class QTextLine
+ size=16 align=8
+ base size=16 base align=8
+QTextLine (0x7f2f3c957770) 0
+
+Vtable for QAbstractUndoItem
+QAbstractUndoItem::_ZTV17QAbstractUndoItem: 6u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QAbstractUndoItem)
+16 __cxa_pure_virtual
+24 __cxa_pure_virtual
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+
+Class QAbstractUndoItem
+ size=8 align=8
+ base size=8 base align=8
+QAbstractUndoItem (0x7f2f3c78b070) 0 nearly-empty
+ vptr=((& QAbstractUndoItem::_ZTV17QAbstractUndoItem) + 16u)
+
+Vtable for QTextDocument
+QTextDocument::_ZTV13QTextDocument: 17u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QTextDocument)
+16 QTextDocument::metaObject
+24 QTextDocument::qt_metacast
+32 QTextDocument::qt_metacall
+40 QTextDocument::~QTextDocument
+48 QTextDocument::~QTextDocument
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QTextDocument::clear
+120 QTextDocument::createObject
+128 QTextDocument::loadResource
+
+Class QTextDocument
+ size=16 align=8
+ base size=16 base align=8
+QTextDocument (0x7f2f3c78baf0) 0
+ vptr=((& QTextDocument::_ZTV13QTextDocument) + 16u)
+ QObject (0x7f2f3c78bb60) 0
+ primary-for QTextDocument (0x7f2f3c78baf0)
+
+Class QTextCursor
+ size=8 align=8
+ base size=8 base align=8
+QTextCursor (0x7f2f3c7eba80) 0
+
+Class QPalette
+ size=16 align=8
+ base size=12 base align=8
+QPalette (0x7f2f3c7fff50) 0
+
+Class QColorGroup
+ size=16 align=8
+ base size=12 base align=8
+QColorGroup (0x7f2f3c86f850) 0
+ QPalette (0x7f2f3c86f8c0) 0
+
+Class QAbstractTextDocumentLayout::Selection
+ size=24 align=8
+ base size=24 base align=8
+QAbstractTextDocumentLayout::Selection (0x7f2f3c6a7d90) 0
+
+Class QAbstractTextDocumentLayout::PaintContext
+ size=64 align=8
+ base size=64 base align=8
+QAbstractTextDocumentLayout::PaintContext (0x7f2f3c6a7e00) 0
+
+Vtable for QAbstractTextDocumentLayout
+QAbstractTextDocumentLayout::_ZTV27QAbstractTextDocumentLayout: 24u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI27QAbstractTextDocumentLayout)
+16 QAbstractTextDocumentLayout::metaObject
+24 QAbstractTextDocumentLayout::qt_metacast
+32 QAbstractTextDocumentLayout::qt_metacall
+40 QAbstractTextDocumentLayout::~QAbstractTextDocumentLayout
+48 QAbstractTextDocumentLayout::~QAbstractTextDocumentLayout
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 __cxa_pure_virtual
+136 __cxa_pure_virtual
+144 __cxa_pure_virtual
+152 __cxa_pure_virtual
+160 __cxa_pure_virtual
+168 QAbstractTextDocumentLayout::resizeInlineObject
+176 QAbstractTextDocumentLayout::positionInlineObject
+184 QAbstractTextDocumentLayout::drawInlineObject
+
+Class QAbstractTextDocumentLayout
+ size=16 align=8
+ base size=16 base align=8
+QAbstractTextDocumentLayout (0x7f2f3c6a7b60) 0
+ vptr=((& QAbstractTextDocumentLayout::_ZTV27QAbstractTextDocumentLayout) + 16u)
+ QObject (0x7f2f3c6a7bd0) 0
+ primary-for QAbstractTextDocumentLayout (0x7f2f3c6a7b60)
+
+Vtable for QTextObjectInterface
+QTextObjectInterface::_ZTV20QTextObjectInterface: 6u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI20QTextObjectInterface)
+16 QTextObjectInterface::~QTextObjectInterface
+24 QTextObjectInterface::~QTextObjectInterface
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+
+Class QTextObjectInterface
+ size=8 align=8
+ base size=8 base align=8
+QTextObjectInterface (0x7f2f3c6ee4d0) 0 nearly-empty
+ vptr=((& QTextObjectInterface::_ZTV20QTextObjectInterface) + 16u)
+
+Class QFontDatabase
+ size=8 align=8
+ base size=8 base align=8
+QFontDatabase (0x7f2f3c6f87e0) 0
+
+Class QFontInfo
+ size=8 align=8
+ base size=8 base align=8
+QFontInfo (0x7f2f3c70a7e0) 0
+
+Class QFontMetrics
+ size=8 align=8
+ base size=8 base align=8
+QFontMetrics (0x7f2f3c71c310) 0
+
+Class QFontMetricsF
+ size=8 align=8
+ base size=8 base align=8
+QFontMetricsF (0x7f2f3c730770) 0
+
+Vtable for QTextObject
+QTextObject::_ZTV11QTextObject: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QTextObject)
+16 QTextObject::metaObject
+24 QTextObject::qt_metacast
+32 QTextObject::qt_metacall
+40 QTextObject::~QTextObject
+48 QTextObject::~QTextObject
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QTextObject
+ size=16 align=8
+ base size=16 base align=8
+QTextObject (0x7f2f3c744690) 0
+ vptr=((& QTextObject::_ZTV11QTextObject) + 16u)
+ QObject (0x7f2f3c744700) 0
+ primary-for QTextObject (0x7f2f3c744690)
+
+Vtable for QTextBlockGroup
+QTextBlockGroup::_ZTV15QTextBlockGroup: 17u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QTextBlockGroup)
+16 QTextBlockGroup::metaObject
+24 QTextBlockGroup::qt_metacast
+32 QTextBlockGroup::qt_metacall
+40 QTextBlockGroup::~QTextBlockGroup
+48 QTextBlockGroup::~QTextBlockGroup
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QTextBlockGroup::blockInserted
+120 QTextBlockGroup::blockRemoved
+128 QTextBlockGroup::blockFormatChanged
+
+Class QTextBlockGroup
+ size=16 align=8
+ base size=16 base align=8
+QTextBlockGroup (0x7f2f3c758ee0) 0
+ vptr=((& QTextBlockGroup::_ZTV15QTextBlockGroup) + 16u)
+ QTextObject (0x7f2f3c758f50) 0
+ primary-for QTextBlockGroup (0x7f2f3c758ee0)
+ QObject (0x7f2f3c760000) 0
+ primary-for QTextObject (0x7f2f3c758f50)
+
+Vtable for QTextFrameLayoutData
+QTextFrameLayoutData::_ZTV20QTextFrameLayoutData: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI20QTextFrameLayoutData)
+16 QTextFrameLayoutData::~QTextFrameLayoutData
+24 QTextFrameLayoutData::~QTextFrameLayoutData
+
+Class QTextFrameLayoutData
+ size=8 align=8
+ base size=8 base align=8
+QTextFrameLayoutData (0x7f2f3c7737e0) 0 nearly-empty
+ vptr=((& QTextFrameLayoutData::_ZTV20QTextFrameLayoutData) + 16u)
+
+Class QTextFrame::iterator
+ size=32 align=8
+ base size=28 base align=8
+QTextFrame::iterator (0x7f2f3c56f230) 0
+
+Vtable for QTextFrame
+QTextFrame::_ZTV10QTextFrame: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QTextFrame)
+16 QTextFrame::metaObject
+24 QTextFrame::qt_metacast
+32 QTextFrame::qt_metacall
+40 QTextFrame::~QTextFrame
+48 QTextFrame::~QTextFrame
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QTextFrame
+ size=16 align=8
+ base size=16 base align=8
+QTextFrame (0x7f2f3c773930) 0
+ vptr=((& QTextFrame::_ZTV10QTextFrame) + 16u)
+ QTextObject (0x7f2f3c7739a0) 0
+ primary-for QTextFrame (0x7f2f3c773930)
+ QObject (0x7f2f3c773a10) 0
+ primary-for QTextObject (0x7f2f3c7739a0)
+
+Vtable for QTextBlockUserData
+QTextBlockUserData::_ZTV18QTextBlockUserData: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QTextBlockUserData)
+16 QTextBlockUserData::~QTextBlockUserData
+24 QTextBlockUserData::~QTextBlockUserData
+
+Class QTextBlockUserData
+ size=8 align=8
+ base size=8 base align=8
+QTextBlockUserData (0x7f2f3c5a2380) 0 nearly-empty
+ vptr=((& QTextBlockUserData::_ZTV18QTextBlockUserData) + 16u)
+
+Class QTextBlock::iterator
+ size=24 align=8
+ base size=20 base align=8
+QTextBlock::iterator (0x7f2f3c5a2cb0) 0
+
+Class QTextBlock
+ size=16 align=8
+ base size=12 base align=8
+QTextBlock (0x7f2f3c5a24d0) 0
+
+Class QTextFragment
+ size=16 align=8
+ base size=16 base align=8
+QTextFragment (0x7f2f3c5dce00) 0
+
+Vtable for QSyntaxHighlighter
+QSyntaxHighlighter::_ZTV18QSyntaxHighlighter: 15u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QSyntaxHighlighter)
+16 QSyntaxHighlighter::metaObject
+24 QSyntaxHighlighter::qt_metacast
+32 QSyntaxHighlighter::qt_metacall
+40 QSyntaxHighlighter::~QSyntaxHighlighter
+48 QSyntaxHighlighter::~QSyntaxHighlighter
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+
+Class QSyntaxHighlighter
+ size=16 align=8
+ base size=16 base align=8
+QSyntaxHighlighter (0x7f2f3c605000) 0
+ vptr=((& QSyntaxHighlighter::_ZTV18QSyntaxHighlighter) + 16u)
+ QObject (0x7f2f3c605070) 0
+ primary-for QSyntaxHighlighter (0x7f2f3c605000)
+
+Class QTextDocumentFragment
+ size=8 align=8
+ base size=8 base align=8
+QTextDocumentFragment (0x7f2f3c61c9a0) 0
+
+Class QTextDocumentWriter
+ size=8 align=8
+ base size=8 base align=8
+QTextDocumentWriter (0x7f2f3c6243f0) 0
+
+Vtable for QTextList
+QTextList::_ZTV9QTextList: 17u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QTextList)
+16 QTextList::metaObject
+24 QTextList::qt_metacast
+32 QTextList::qt_metacall
+40 QTextList::~QTextList
+48 QTextList::~QTextList
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QTextBlockGroup::blockInserted
+120 QTextBlockGroup::blockRemoved
+128 QTextBlockGroup::blockFormatChanged
+
+Class QTextList
+ size=16 align=8
+ base size=16 base align=8
+QTextList (0x7f2f3c624a80) 0
+ vptr=((& QTextList::_ZTV9QTextList) + 16u)
+ QTextBlockGroup (0x7f2f3c624af0) 0
+ primary-for QTextList (0x7f2f3c624a80)
+ QTextObject (0x7f2f3c624b60) 0
+ primary-for QTextBlockGroup (0x7f2f3c624af0)
+ QObject (0x7f2f3c624bd0) 0
+ primary-for QTextObject (0x7f2f3c624b60)
+
+Class QTextTableCell
+ size=16 align=8
+ base size=12 base align=8
+QTextTableCell (0x7f2f3c64d930) 0
+
+Vtable for QTextTable
+QTextTable::_ZTV10QTextTable: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QTextTable)
+16 QTextTable::metaObject
+24 QTextTable::qt_metacast
+32 QTextTable::qt_metacall
+40 QTextTable::~QTextTable
+48 QTextTable::~QTextTable
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QTextTable
+ size=16 align=8
+ base size=16 base align=8
+QTextTable (0x7f2f3c665a80) 0
+ vptr=((& QTextTable::_ZTV10QTextTable) + 16u)
+ QTextFrame (0x7f2f3c665af0) 0
+ primary-for QTextTable (0x7f2f3c665a80)
+ QTextObject (0x7f2f3c665b60) 0
+ primary-for QTextFrame (0x7f2f3c665af0)
+ QObject (0x7f2f3c665bd0) 0
+ primary-for QTextObject (0x7f2f3c665b60)
+
+Vtable for QCompleter
+QCompleter::_ZTV10QCompleter: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QCompleter)
+16 QCompleter::metaObject
+24 QCompleter::qt_metacast
+32 QCompleter::qt_metacall
+40 QCompleter::~QCompleter
+48 QCompleter::~QCompleter
+56 QCompleter::event
+64 QCompleter::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QCompleter::pathFromIndex
+120 QCompleter::splitPath
+
+Class QCompleter
+ size=16 align=8
+ base size=16 base align=8
+QCompleter (0x7f2f3c48a2a0) 0
+ vptr=((& QCompleter::_ZTV10QCompleter) + 16u)
+ QObject (0x7f2f3c48a310) 0
+ primary-for QCompleter (0x7f2f3c48a2a0)
+
+Class QDesktopServices
+ size=1 align=1
+ base size=0 base align=1
+QDesktopServices (0x7f2f3c4b0230) 0 empty
+
+Class QIcon
+ size=8 align=8
+ base size=8 base align=8
+QIcon (0x7f2f3c4b0380) 0
+
+Vtable for QSystemTrayIcon
+QSystemTrayIcon::_ZTV15QSystemTrayIcon: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QSystemTrayIcon)
+16 QSystemTrayIcon::metaObject
+24 QSystemTrayIcon::qt_metacast
+32 QSystemTrayIcon::qt_metacall
+40 QSystemTrayIcon::~QSystemTrayIcon
+48 QSystemTrayIcon::~QSystemTrayIcon
+56 QSystemTrayIcon::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QSystemTrayIcon
+ size=16 align=8
+ base size=16 base align=8
+QSystemTrayIcon (0x7f2f3c4d6f50) 0
+ vptr=((& QSystemTrayIcon::_ZTV15QSystemTrayIcon) + 16u)
+ QObject (0x7f2f3c4e9000) 0
+ primary-for QSystemTrayIcon (0x7f2f3c4d6f50)
+
+Vtable for QUndoGroup
+QUndoGroup::_ZTV10QUndoGroup: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QUndoGroup)
+16 QUndoGroup::metaObject
+24 QUndoGroup::qt_metacast
+32 QUndoGroup::qt_metacall
+40 QUndoGroup::~QUndoGroup
+48 QUndoGroup::~QUndoGroup
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QUndoGroup
+ size=16 align=8
+ base size=16 base align=8
+QUndoGroup (0x7f2f3c5061c0) 0
+ vptr=((& QUndoGroup::_ZTV10QUndoGroup) + 16u)
+ QObject (0x7f2f3c506230) 0
+ primary-for QUndoGroup (0x7f2f3c5061c0)
+
+Vtable for QUndoCommand
+QUndoCommand::_ZTV12QUndoCommand: 8u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QUndoCommand)
+16 QUndoCommand::~QUndoCommand
+24 QUndoCommand::~QUndoCommand
+32 QUndoCommand::undo
+40 QUndoCommand::redo
+48 QUndoCommand::id
+56 QUndoCommand::mergeWith
+
+Class QUndoCommand
+ size=16 align=8
+ base size=16 base align=8
+QUndoCommand (0x7f2f3c51dd20) 0
+ vptr=((& QUndoCommand::_ZTV12QUndoCommand) + 16u)
+
+Vtable for QUndoStack
+QUndoStack::_ZTV10QUndoStack: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QUndoStack)
+16 QUndoStack::metaObject
+24 QUndoStack::qt_metacast
+32 QUndoStack::qt_metacall
+40 QUndoStack::~QUndoStack
+48 QUndoStack::~QUndoStack
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QUndoStack
+ size=16 align=8
+ base size=16 base align=8
+QUndoStack (0x7f2f3c524690) 0
+ vptr=((& QUndoStack::_ZTV10QUndoStack) + 16u)
+ QObject (0x7f2f3c524700) 0
+ primary-for QUndoStack (0x7f2f3c524690)
+
+Class QSizePolicy
+ size=4 align=4
+ base size=4 base align=4
+QSizePolicy (0x7f2f3c54a1c0) 0
+
+Class QCursor
+ size=8 align=8
+ base size=8 base align=8
+QCursor (0x7f2f3c4171c0) 0
+
+Class QWidgetData
+ size=88 align=8
+ base size=88 base align=8
+QWidgetData (0x7f2f3c4179a0) 0
+
+Vtable for QWidget
+QWidget::_ZTV7QWidget: 63u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QWidget)
+16 QWidget::metaObject
+24 QWidget::qt_metacast
+32 QWidget::qt_metacall
+40 QWidget::~QWidget
+48 QWidget::~QWidget
+56 QWidget::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QWidget::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QWidget::paintEvent
+256 QWidget::moveEvent
+264 QWidget::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QWidget::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 (int (*)(...))-0x00000000000000010
+456 (int (*)(...))(& _ZTI7QWidget)
+464 QWidget::_ZThn16_N7QWidgetD1Ev
+472 QWidget::_ZThn16_N7QWidgetD0Ev
+480 QWidget::_ZThn16_NK7QWidget7devTypeEv
+488 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+496 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QWidget
+ size=40 align=8
+ base size=40 base align=8
+QWidget (0x7f2f3c411a00) 0
+ vptr=((& QWidget::_ZTV7QWidget) + 16u)
+ QObject (0x7f2f3c417a10) 0
+ primary-for QWidget (0x7f2f3c411a00)
+ QPaintDevice (0x7f2f3c417a80) 16
+ vptr=((& QWidget::_ZTV7QWidget) + 464u)
+
+Vtable for QFrame
+QFrame::_ZTV6QFrame: 63u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI6QFrame)
+16 QFrame::metaObject
+24 QFrame::qt_metacast
+32 QFrame::qt_metacall
+40 QFrame::~QFrame
+48 QFrame::~QFrame
+56 QFrame::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QFrame::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QFrame::paintEvent
+256 QWidget::moveEvent
+264 QWidget::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QFrame::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 (int (*)(...))-0x00000000000000010
+456 (int (*)(...))(& _ZTI6QFrame)
+464 QFrame::_ZThn16_N6QFrameD1Ev
+472 QFrame::_ZThn16_N6QFrameD0Ev
+480 QWidget::_ZThn16_NK7QWidget7devTypeEv
+488 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+496 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QFrame
+ size=40 align=8
+ base size=40 base align=8
+QFrame (0x7f2f3c1a1a80) 0
+ vptr=((& QFrame::_ZTV6QFrame) + 16u)
+ QWidget (0x7f2f3c1a3680) 0
+ primary-for QFrame (0x7f2f3c1a1a80)
+ QObject (0x7f2f3c1a1af0) 0
+ primary-for QWidget (0x7f2f3c1a3680)
+ QPaintDevice (0x7f2f3c1a1b60) 16
+ vptr=((& QFrame::_ZTV6QFrame) + 464u)
+
+Vtable for QAbstractScrollArea
+QAbstractScrollArea::_ZTV19QAbstractScrollArea: 65u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QAbstractScrollArea)
+16 QAbstractScrollArea::metaObject
+24 QAbstractScrollArea::qt_metacast
+32 QAbstractScrollArea::qt_metacall
+40 QAbstractScrollArea::~QAbstractScrollArea
+48 QAbstractScrollArea::~QAbstractScrollArea
+56 QAbstractScrollArea::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QAbstractScrollArea::sizeHint
+136 QAbstractScrollArea::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QAbstractScrollArea::mousePressEvent
+168 QAbstractScrollArea::mouseReleaseEvent
+176 QAbstractScrollArea::mouseDoubleClickEvent
+184 QAbstractScrollArea::mouseMoveEvent
+192 QAbstractScrollArea::wheelEvent
+200 QAbstractScrollArea::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QAbstractScrollArea::paintEvent
+256 QWidget::moveEvent
+264 QAbstractScrollArea::resizeEvent
+272 QWidget::closeEvent
+280 QAbstractScrollArea::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QAbstractScrollArea::dragEnterEvent
+312 QAbstractScrollArea::dragMoveEvent
+320 QAbstractScrollArea::dragLeaveEvent
+328 QAbstractScrollArea::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QFrame::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QAbstractScrollArea::viewportEvent
+456 QAbstractScrollArea::scrollContentsBy
+464 (int (*)(...))-0x00000000000000010
+472 (int (*)(...))(& _ZTI19QAbstractScrollArea)
+480 QAbstractScrollArea::_ZThn16_N19QAbstractScrollAreaD1Ev
+488 QAbstractScrollArea::_ZThn16_N19QAbstractScrollAreaD0Ev
+496 QWidget::_ZThn16_NK7QWidget7devTypeEv
+504 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+512 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QAbstractScrollArea
+ size=40 align=8
+ base size=40 base align=8
+QAbstractScrollArea (0x7f2f3c1cc0e0) 0
+ vptr=((& QAbstractScrollArea::_ZTV19QAbstractScrollArea) + 16u)
+ QFrame (0x7f2f3c1cc150) 0
+ primary-for QAbstractScrollArea (0x7f2f3c1cc0e0)
+ QWidget (0x7f2f3c1b1a80) 0
+ primary-for QFrame (0x7f2f3c1cc150)
+ QObject (0x7f2f3c1cc1c0) 0
+ primary-for QWidget (0x7f2f3c1b1a80)
+ QPaintDevice (0x7f2f3c1cc230) 16
+ vptr=((& QAbstractScrollArea::_ZTV19QAbstractScrollArea) + 480u)
+
+Class QItemSelectionRange
+ size=16 align=8
+ base size=16 base align=8
+QItemSelectionRange (0x7f2f3c1f3000) 0
+
+Vtable for QItemSelectionModel
+QItemSelectionModel::_ZTV19QItemSelectionModel: 18u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QItemSelectionModel)
+16 QItemSelectionModel::metaObject
+24 QItemSelectionModel::qt_metacast
+32 QItemSelectionModel::qt_metacall
+40 QItemSelectionModel::~QItemSelectionModel
+48 QItemSelectionModel::~QItemSelectionModel
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QItemSelectionModel::select
+120 QItemSelectionModel::select
+128 QItemSelectionModel::clear
+136 QItemSelectionModel::reset
+
+Class QItemSelectionModel
+ size=16 align=8
+ base size=16 base align=8
+QItemSelectionModel (0x7f2f3c25c4d0) 0
+ vptr=((& QItemSelectionModel::_ZTV19QItemSelectionModel) + 16u)
+ QObject (0x7f2f3c25c540) 0
+ primary-for QItemSelectionModel (0x7f2f3c25c4d0)
+
+Class QItemSelection
+ size=8 align=8
+ base size=8 base align=8
+QItemSelection (0x7f2f3c09c9a0) 0
+ QList<QItemSelectionRange> (0x7f2f3c09ca10) 0
+
+Vtable for QValidator
+QValidator::_ZTV10QValidator: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QValidator)
+16 QValidator::metaObject
+24 QValidator::qt_metacast
+32 QValidator::qt_metacall
+40 QValidator::~QValidator
+48 QValidator::~QValidator
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+120 QValidator::fixup
+
+Class QValidator
+ size=16 align=8
+ base size=16 base align=8
+QValidator (0x7f2f3c0dc2a0) 0
+ vptr=((& QValidator::_ZTV10QValidator) + 16u)
+ QObject (0x7f2f3c0dc310) 0
+ primary-for QValidator (0x7f2f3c0dc2a0)
+
+Vtable for QIntValidator
+QIntValidator::_ZTV13QIntValidator: 17u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QIntValidator)
+16 QIntValidator::metaObject
+24 QIntValidator::qt_metacast
+32 QIntValidator::qt_metacall
+40 QIntValidator::~QIntValidator
+48 QIntValidator::~QIntValidator
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QIntValidator::validate
+120 QValidator::fixup
+128 QIntValidator::setRange
+
+Class QIntValidator
+ size=24 align=8
+ base size=24 base align=8
+QIntValidator (0x7f2f3c0f60e0) 0
+ vptr=((& QIntValidator::_ZTV13QIntValidator) + 16u)
+ QValidator (0x7f2f3c0f6150) 0
+ primary-for QIntValidator (0x7f2f3c0f60e0)
+ QObject (0x7f2f3c0f61c0) 0
+ primary-for QValidator (0x7f2f3c0f6150)
+
+Vtable for QDoubleValidator
+QDoubleValidator::_ZTV16QDoubleValidator: 17u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QDoubleValidator)
+16 QDoubleValidator::metaObject
+24 QDoubleValidator::qt_metacast
+32 QDoubleValidator::qt_metacall
+40 QDoubleValidator::~QDoubleValidator
+48 QDoubleValidator::~QDoubleValidator
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QDoubleValidator::validate
+120 QValidator::fixup
+128 QDoubleValidator::setRange
+
+Class QDoubleValidator
+ size=40 align=8
+ base size=36 base align=8
+QDoubleValidator (0x7f2f3c10e070) 0
+ vptr=((& QDoubleValidator::_ZTV16QDoubleValidator) + 16u)
+ QValidator (0x7f2f3c10e0e0) 0
+ primary-for QDoubleValidator (0x7f2f3c10e070)
+ QObject (0x7f2f3c10e150) 0
+ primary-for QValidator (0x7f2f3c10e0e0)
+
+Vtable for QRegExpValidator
+QRegExpValidator::_ZTV16QRegExpValidator: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QRegExpValidator)
+16 QRegExpValidator::metaObject
+24 QRegExpValidator::qt_metacast
+32 QRegExpValidator::qt_metacall
+40 QRegExpValidator::~QRegExpValidator
+48 QRegExpValidator::~QRegExpValidator
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QRegExpValidator::validate
+120 QValidator::fixup
+
+Class QRegExpValidator
+ size=24 align=8
+ base size=24 base align=8
+QRegExpValidator (0x7f2f3c127930) 0
+ vptr=((& QRegExpValidator::_ZTV16QRegExpValidator) + 16u)
+ QValidator (0x7f2f3c1279a0) 0
+ primary-for QRegExpValidator (0x7f2f3c127930)
+ QObject (0x7f2f3c127a10) 0
+ primary-for QValidator (0x7f2f3c1279a0)
+
+Vtable for QAbstractSpinBox
+QAbstractSpinBox::_ZTV16QAbstractSpinBox: 68u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QAbstractSpinBox)
+16 QAbstractSpinBox::metaObject
+24 QAbstractSpinBox::qt_metacast
+32 QAbstractSpinBox::qt_metacall
+40 QAbstractSpinBox::~QAbstractSpinBox
+48 QAbstractSpinBox::~QAbstractSpinBox
+56 QAbstractSpinBox::event
+64 QObject::eventFilter
+72 QAbstractSpinBox::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QAbstractSpinBox::sizeHint
+136 QAbstractSpinBox::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QAbstractSpinBox::mousePressEvent
+168 QAbstractSpinBox::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QAbstractSpinBox::mouseMoveEvent
+192 QAbstractSpinBox::wheelEvent
+200 QAbstractSpinBox::keyPressEvent
+208 QAbstractSpinBox::keyReleaseEvent
+216 QAbstractSpinBox::focusInEvent
+224 QAbstractSpinBox::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QAbstractSpinBox::paintEvent
+256 QWidget::moveEvent
+264 QAbstractSpinBox::resizeEvent
+272 QAbstractSpinBox::closeEvent
+280 QAbstractSpinBox::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QAbstractSpinBox::showEvent
+344 QAbstractSpinBox::hideEvent
+352 QWidget::x11Event
+360 QAbstractSpinBox::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QAbstractSpinBox::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QAbstractSpinBox::validate
+456 QAbstractSpinBox::fixup
+464 QAbstractSpinBox::stepBy
+472 QAbstractSpinBox::clear
+480 QAbstractSpinBox::stepEnabled
+488 (int (*)(...))-0x00000000000000010
+496 (int (*)(...))(& _ZTI16QAbstractSpinBox)
+504 QAbstractSpinBox::_ZThn16_N16QAbstractSpinBoxD1Ev
+512 QAbstractSpinBox::_ZThn16_N16QAbstractSpinBoxD0Ev
+520 QWidget::_ZThn16_NK7QWidget7devTypeEv
+528 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+536 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QAbstractSpinBox
+ size=40 align=8
+ base size=40 base align=8
+QAbstractSpinBox (0x7f2f3c1405b0) 0
+ vptr=((& QAbstractSpinBox::_ZTV16QAbstractSpinBox) + 16u)
+ QWidget (0x7f2f3c125e80) 0
+ primary-for QAbstractSpinBox (0x7f2f3c1405b0)
+ QObject (0x7f2f3c140620) 0
+ primary-for QWidget (0x7f2f3c125e80)
+ QPaintDevice (0x7f2f3c140690) 16
+ vptr=((& QAbstractSpinBox::_ZTV16QAbstractSpinBox) + 504u)
+
+Vtable for QAbstractSlider
+QAbstractSlider::_ZTV15QAbstractSlider: 64u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QAbstractSlider)
+16 QAbstractSlider::metaObject
+24 QAbstractSlider::qt_metacast
+32 QAbstractSlider::qt_metacall
+40 QAbstractSlider::~QAbstractSlider
+48 QAbstractSlider::~QAbstractSlider
+56 QAbstractSlider::event
+64 QObject::eventFilter
+72 QAbstractSlider::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QWidget::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QAbstractSlider::wheelEvent
+200 QAbstractSlider::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QWidget::paintEvent
+256 QWidget::moveEvent
+264 QWidget::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QAbstractSlider::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QAbstractSlider::sliderChange
+456 (int (*)(...))-0x00000000000000010
+464 (int (*)(...))(& _ZTI15QAbstractSlider)
+472 QAbstractSlider::_ZThn16_N15QAbstractSliderD1Ev
+480 QAbstractSlider::_ZThn16_N15QAbstractSliderD0Ev
+488 QWidget::_ZThn16_NK7QWidget7devTypeEv
+496 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+504 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QAbstractSlider
+ size=40 align=8
+ base size=40 base align=8
+QAbstractSlider (0x7f2f3bf9d5b0) 0
+ vptr=((& QAbstractSlider::_ZTV15QAbstractSlider) + 16u)
+ QWidget (0x7f2f3bf9e200) 0
+ primary-for QAbstractSlider (0x7f2f3bf9d5b0)
+ QObject (0x7f2f3bf9d620) 0
+ primary-for QWidget (0x7f2f3bf9e200)
+ QPaintDevice (0x7f2f3bf9d690) 16
+ vptr=((& QAbstractSlider::_ZTV15QAbstractSlider) + 472u)
+
+Vtable for QSlider
+QSlider::_ZTV7QSlider: 64u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QSlider)
+16 QSlider::metaObject
+24 QSlider::qt_metacast
+32 QSlider::qt_metacall
+40 QSlider::~QSlider
+48 QSlider::~QSlider
+56 QSlider::event
+64 QObject::eventFilter
+72 QAbstractSlider::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QSlider::sizeHint
+136 QSlider::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QSlider::mousePressEvent
+168 QSlider::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QSlider::mouseMoveEvent
+192 QAbstractSlider::wheelEvent
+200 QAbstractSlider::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QSlider::paintEvent
+256 QWidget::moveEvent
+264 QWidget::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QAbstractSlider::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QAbstractSlider::sliderChange
+456 (int (*)(...))-0x00000000000000010
+464 (int (*)(...))(& _ZTI7QSlider)
+472 QSlider::_ZThn16_N7QSliderD1Ev
+480 QSlider::_ZThn16_N7QSliderD0Ev
+488 QWidget::_ZThn16_NK7QWidget7devTypeEv
+496 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+504 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QSlider
+ size=40 align=8
+ base size=40 base align=8
+QSlider (0x7f2f3bfd43f0) 0
+ vptr=((& QSlider::_ZTV7QSlider) + 16u)
+ QAbstractSlider (0x7f2f3bfd4460) 0
+ primary-for QSlider (0x7f2f3bfd43f0)
+ QWidget (0x7f2f3bfd3300) 0
+ primary-for QAbstractSlider (0x7f2f3bfd4460)
+ QObject (0x7f2f3bfd44d0) 0
+ primary-for QWidget (0x7f2f3bfd3300)
+ QPaintDevice (0x7f2f3bfd4540) 16
+ vptr=((& QSlider::_ZTV7QSlider) + 472u)
+
+Vtable for QStyle
+QStyle::_ZTV6QStyle: 35u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI6QStyle)
+16 QStyle::metaObject
+24 QStyle::qt_metacast
+32 QStyle::qt_metacall
+40 QStyle::~QStyle
+48 QStyle::~QStyle
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QStyle::polish
+120 QStyle::unpolish
+128 QStyle::polish
+136 QStyle::unpolish
+144 QStyle::polish
+152 QStyle::itemTextRect
+160 QStyle::itemPixmapRect
+168 QStyle::drawItemText
+176 QStyle::drawItemPixmap
+184 QStyle::standardPalette
+192 __cxa_pure_virtual
+200 __cxa_pure_virtual
+208 __cxa_pure_virtual
+216 __cxa_pure_virtual
+224 __cxa_pure_virtual
+232 __cxa_pure_virtual
+240 __cxa_pure_virtual
+248 __cxa_pure_virtual
+256 __cxa_pure_virtual
+264 __cxa_pure_virtual
+272 __cxa_pure_virtual
+
+Class QStyle
+ size=16 align=8
+ base size=16 base align=8
+QStyle (0x7f2f3bffc9a0) 0
+ vptr=((& QStyle::_ZTV6QStyle) + 16u)
+ QObject (0x7f2f3bffca10) 0
+ primary-for QStyle (0x7f2f3bffc9a0)
+
+Vtable for QTabBar
+QTabBar::_ZTV7QTabBar: 67u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QTabBar)
+16 QTabBar::metaObject
+24 QTabBar::qt_metacast
+32 QTabBar::qt_metacall
+40 QTabBar::~QTabBar
+48 QTabBar::~QTabBar
+56 QTabBar::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QTabBar::sizeHint
+136 QTabBar::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QTabBar::mousePressEvent
+168 QTabBar::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QTabBar::mouseMoveEvent
+192 QTabBar::wheelEvent
+200 QTabBar::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QTabBar::paintEvent
+256 QWidget::moveEvent
+264 QTabBar::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QTabBar::showEvent
+344 QTabBar::hideEvent
+352 QWidget::x11Event
+360 QTabBar::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QTabBar::tabSizeHint
+456 QTabBar::tabInserted
+464 QTabBar::tabRemoved
+472 QTabBar::tabLayoutChange
+480 (int (*)(...))-0x00000000000000010
+488 (int (*)(...))(& _ZTI7QTabBar)
+496 QTabBar::_ZThn16_N7QTabBarD1Ev
+504 QTabBar::_ZThn16_N7QTabBarD0Ev
+512 QWidget::_ZThn16_NK7QWidget7devTypeEv
+520 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+528 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QTabBar
+ size=40 align=8
+ base size=40 base align=8
+QTabBar (0x7f2f3be94850) 0
+ vptr=((& QTabBar::_ZTV7QTabBar) + 16u)
+ QWidget (0x7f2f3be95300) 0
+ primary-for QTabBar (0x7f2f3be94850)
+ QObject (0x7f2f3be948c0) 0
+ primary-for QWidget (0x7f2f3be95300)
+ QPaintDevice (0x7f2f3be94930) 16
+ vptr=((& QTabBar::_ZTV7QTabBar) + 496u)
+
+Vtable for QTabWidget
+QTabWidget::_ZTV10QTabWidget: 65u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QTabWidget)
+16 QTabWidget::metaObject
+24 QTabWidget::qt_metacast
+32 QTabWidget::qt_metacall
+40 QTabWidget::~QTabWidget
+48 QTabWidget::~QTabWidget
+56 QTabWidget::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QTabWidget::sizeHint
+136 QTabWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QTabWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QTabWidget::paintEvent
+256 QWidget::moveEvent
+264 QTabWidget::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QTabWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QTabWidget::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QTabWidget::tabInserted
+456 QTabWidget::tabRemoved
+464 (int (*)(...))-0x00000000000000010
+472 (int (*)(...))(& _ZTI10QTabWidget)
+480 QTabWidget::_ZThn16_N10QTabWidgetD1Ev
+488 QTabWidget::_ZThn16_N10QTabWidgetD0Ev
+496 QWidget::_ZThn16_NK7QWidget7devTypeEv
+504 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+512 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QTabWidget
+ size=40 align=8
+ base size=40 base align=8
+QTabWidget (0x7f2f3bed7e70) 0
+ vptr=((& QTabWidget::_ZTV10QTabWidget) + 16u)
+ QWidget (0x7f2f3bed3700) 0
+ primary-for QTabWidget (0x7f2f3bed7e70)
+ QObject (0x7f2f3bed7ee0) 0
+ primary-for QWidget (0x7f2f3bed3700)
+ QPaintDevice (0x7f2f3bed7f50) 16
+ vptr=((& QTabWidget::_ZTV10QTabWidget) + 480u)
+
+Vtable for QRubberBand
+QRubberBand::_ZTV11QRubberBand: 63u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QRubberBand)
+16 QRubberBand::metaObject
+24 QRubberBand::qt_metacast
+32 QRubberBand::qt_metacall
+40 QRubberBand::~QRubberBand
+48 QRubberBand::~QRubberBand
+56 QRubberBand::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QWidget::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QRubberBand::paintEvent
+256 QRubberBand::moveEvent
+264 QRubberBand::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QRubberBand::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QRubberBand::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 (int (*)(...))-0x00000000000000010
+456 (int (*)(...))(& _ZTI11QRubberBand)
+464 QRubberBand::_ZThn16_N11QRubberBandD1Ev
+472 QRubberBand::_ZThn16_N11QRubberBandD0Ev
+480 QWidget::_ZThn16_NK7QWidget7devTypeEv
+488 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+496 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QRubberBand
+ size=40 align=8
+ base size=40 base align=8
+QRubberBand (0x7f2f3bf2c850) 0
+ vptr=((& QRubberBand::_ZTV11QRubberBand) + 16u)
+ QWidget (0x7f2f3bf2a880) 0
+ primary-for QRubberBand (0x7f2f3bf2c850)
+ QObject (0x7f2f3bf2c8c0) 0
+ primary-for QWidget (0x7f2f3bf2a880)
+ QPaintDevice (0x7f2f3bf2c930) 16
+ vptr=((& QRubberBand::_ZTV11QRubberBand) + 464u)
+
+Class QStyleOption
+ size=56 align=8
+ base size=56 base align=8
+QStyleOption (0x7f2f3bf50b60) 0
+
+Class QStyleOptionFocusRect
+ size=72 align=8
+ base size=72 base align=8
+QStyleOptionFocusRect (0x7f2f3bd5c8c0) 0
+ QStyleOption (0x7f2f3bd5c930) 0
+
+Class QStyleOptionFrame
+ size=64 align=8
+ base size=64 base align=8
+QStyleOptionFrame (0x7f2f3bd698c0) 0
+ QStyleOption (0x7f2f3bd69930) 0
+
+Class QStyleOptionFrameV2
+ size=72 align=8
+ base size=68 base align=8
+QStyleOptionFrameV2 (0x7f2f3bd74850) 0
+ QStyleOptionFrame (0x7f2f3bd748c0) 0
+ QStyleOption (0x7f2f3bd74930) 0
+
+Class QStyleOptionFrameV3
+ size=72 align=8
+ base size=72 base align=8
+QStyleOptionFrameV3 (0x7f2f3bdbc150) 0
+ QStyleOptionFrameV2 (0x7f2f3bdbc1c0) 0
+ QStyleOptionFrame (0x7f2f3bdbc230) 0
+ QStyleOption (0x7f2f3bdbc2a0) 0
+
+Class QStyleOptionTabWidgetFrame
+ size=96 align=8
+ base size=92 base align=8
+QStyleOptionTabWidgetFrame (0x7f2f3bdc8a10) 0
+ QStyleOption (0x7f2f3bdc8a80) 0
+
+Class QStyleOptionTabWidgetFrameV2
+ size=128 align=8
+ base size=124 base align=8
+QStyleOptionTabWidgetFrameV2 (0x7f2f3bddd1c0) 0
+ QStyleOptionTabWidgetFrame (0x7f2f3bddd230) 0
+ QStyleOption (0x7f2f3bddd2a0) 0
+
+Class QStyleOptionTabBarBase
+ size=96 align=8
+ base size=92 base align=8
+QStyleOptionTabBarBase (0x7f2f3bde6af0) 0
+ QStyleOption (0x7f2f3bde6b60) 0
+
+Class QStyleOptionTabBarBaseV2
+ size=96 align=8
+ base size=93 base align=8
+QStyleOptionTabBarBaseV2 (0x7f2f3bdf2ee0) 0
+ QStyleOptionTabBarBase (0x7f2f3bdf2f50) 0
+ QStyleOption (0x7f2f3bdf2310) 0
+
+Class QStyleOptionHeader
+ size=112 align=8
+ base size=108 base align=8
+QStyleOptionHeader (0x7f2f3be09540) 0
+ QStyleOption (0x7f2f3be095b0) 0
+
+Class QStyleOptionButton
+ size=88 align=8
+ base size=88 base align=8
+QStyleOptionButton (0x7f2f3be22700) 0
+ QStyleOption (0x7f2f3be22770) 0
+
+Class QStyleOptionTab
+ size=96 align=8
+ base size=96 base align=8
+QStyleOptionTab (0x7f2f3bc700e0) 0
+ QStyleOption (0x7f2f3bc70150) 0
+
+Class QStyleOptionTabV2
+ size=104 align=8
+ base size=104 base align=8
+QStyleOptionTabV2 (0x7f2f3bcbd070) 0
+ QStyleOptionTab (0x7f2f3bcbd0e0) 0
+ QStyleOption (0x7f2f3bcbd150) 0
+
+Class QStyleOptionTabV3
+ size=128 align=8
+ base size=124 base align=8
+QStyleOptionTabV3 (0x7f2f3bcc7a80) 0
+ QStyleOptionTabV2 (0x7f2f3bcc7af0) 0
+ QStyleOptionTab (0x7f2f3bcc7b60) 0
+ QStyleOption (0x7f2f3bcc7bd0) 0
+
+Class QStyleOptionToolBar
+ size=80 align=8
+ base size=80 base align=8
+QStyleOptionToolBar (0x7f2f3bce60e0) 0
+ QStyleOption (0x7f2f3bce6150) 0
+
+Class QStyleOptionProgressBar
+ size=88 align=8
+ base size=85 base align=8
+QStyleOptionProgressBar (0x7f2f3bd1a8c0) 0
+ QStyleOption (0x7f2f3bd1a930) 0
+
+Class QStyleOptionProgressBarV2
+ size=96 align=8
+ base size=94 base align=8
+QStyleOptionProgressBarV2 (0x7f2f3bd41070) 0
+ QStyleOptionProgressBar (0x7f2f3bd410e0) 0
+ QStyleOption (0x7f2f3bd41150) 0
+
+Class QStyleOptionMenuItem
+ size=128 align=8
+ base size=128 base align=8
+QStyleOptionMenuItem (0x7f2f3bd41930) 0
+ QStyleOption (0x7f2f3bd419a0) 0
+
+Class QStyleOptionQ3ListViewItem
+ size=80 align=8
+ base size=76 base align=8
+QStyleOptionQ3ListViewItem (0x7f2f3bb5bb60) 0
+ QStyleOption (0x7f2f3bb5bbd0) 0
+
+Class QStyleOptionQ3DockWindow
+ size=64 align=8
+ base size=58 base align=8
+QStyleOptionQ3DockWindow (0x7f2f3bba8000) 0
+ QStyleOption (0x7f2f3bba8070) 0
+
+Class QStyleOptionDockWidget
+ size=72 align=8
+ base size=67 base align=8
+QStyleOptionDockWidget (0x7f2f3bba8690) 0
+ QStyleOption (0x7f2f3bbb6000) 0
+
+Class QStyleOptionDockWidgetV2
+ size=72 align=8
+ base size=68 base align=8
+QStyleOptionDockWidgetV2 (0x7f2f3bbc3380) 0
+ QStyleOptionDockWidget (0x7f2f3bbc33f0) 0
+ QStyleOption (0x7f2f3bbc3460) 0
+
+Class QStyleOptionViewItem
+ size=104 align=8
+ base size=97 base align=8
+QStyleOptionViewItem (0x7f2f3bbcbb60) 0
+ QStyleOption (0x7f2f3bbcbbd0) 0
+
+Class QStyleOptionViewItemV2
+ size=104 align=8
+ base size=104 base align=8
+QStyleOptionViewItemV2 (0x7f2f3bbe4700) 0
+ QStyleOptionViewItem (0x7f2f3bbe4770) 0
+ QStyleOption (0x7f2f3bbe47e0) 0
+
+Class QStyleOptionViewItemV3
+ size=120 align=8
+ base size=120 base align=8
+QStyleOptionViewItemV3 (0x7f2f3bc33150) 0
+ QStyleOptionViewItemV2 (0x7f2f3bc331c0) 0
+ QStyleOptionViewItem (0x7f2f3bc33230) 0
+ QStyleOption (0x7f2f3bc332a0) 0
+
+Class QStyleOptionViewItemV4
+ size=184 align=8
+ base size=184 base align=8
+QStyleOptionViewItemV4 (0x7f2f3bc3ca10) 0
+ QStyleOptionViewItemV3 (0x7f2f3bc3ca80) 0
+ QStyleOptionViewItemV2 (0x7f2f3bc3caf0) 0
+ QStyleOptionViewItem (0x7f2f3bc3cb60) 0
+ QStyleOption (0x7f2f3bc3cbd0) 0
+
+Class QStyleOptionToolBox
+ size=72 align=8
+ base size=72 base align=8
+QStyleOptionToolBox (0x7f2f3ba60150) 0
+ QStyleOption (0x7f2f3ba601c0) 0
+
+Class QStyleOptionToolBoxV2
+ size=80 align=8
+ base size=80 base align=8
+QStyleOptionToolBoxV2 (0x7f2f3ba6b620) 0
+ QStyleOptionToolBox (0x7f2f3ba6b690) 0
+ QStyleOption (0x7f2f3ba6b700) 0
+
+Class QStyleOptionRubberBand
+ size=64 align=8
+ base size=61 base align=8
+QStyleOptionRubberBand (0x7f2f3ba84310) 0
+ QStyleOption (0x7f2f3ba84380) 0
+
+Class QStyleOptionComplex
+ size=64 align=8
+ base size=64 base align=8
+QStyleOptionComplex (0x7f2f3ba8c3f0) 0
+ QStyleOption (0x7f2f3ba8c460) 0
+
+Class QStyleOptionSlider
+ size=120 align=8
+ base size=113 base align=8
+QStyleOptionSlider (0x7f2f3ba98bd0) 0
+ QStyleOptionComplex (0x7f2f3ba98c40) 0
+ QStyleOption (0x7f2f3ba98cb0) 0
+
+Class QStyleOptionSpinBox
+ size=80 align=8
+ base size=73 base align=8
+QStyleOptionSpinBox (0x7f2f3baac9a0) 0
+ QStyleOptionComplex (0x7f2f3baaca10) 0
+ QStyleOption (0x7f2f3baaca80) 0
+
+Class QStyleOptionQ3ListView
+ size=112 align=8
+ base size=105 base align=8
+QStyleOptionQ3ListView (0x7f2f3bab5ee0) 0
+ QStyleOptionComplex (0x7f2f3bab5f50) 0
+ QStyleOption (0x7f2f3bab5380) 0
+
+Class QStyleOptionToolButton
+ size=128 align=8
+ base size=128 base align=8
+QStyleOptionToolButton (0x7f2f3baefaf0) 0
+ QStyleOptionComplex (0x7f2f3baefb60) 0
+ QStyleOption (0x7f2f3baefbd0) 0
+
+Class QStyleOptionComboBox
+ size=112 align=8
+ base size=112 base align=8
+QStyleOptionComboBox (0x7f2f3bb30d20) 0
+ QStyleOptionComplex (0x7f2f3bb30d90) 0
+ QStyleOption (0x7f2f3bb30e00) 0
+
+Class QStyleOptionTitleBar
+ size=88 align=8
+ base size=88 base align=8
+QStyleOptionTitleBar (0x7f2f3b956850) 0
+ QStyleOptionComplex (0x7f2f3b9568c0) 0
+ QStyleOption (0x7f2f3b956930) 0
+
+Class QStyleOptionGroupBox
+ size=112 align=8
+ base size=108 base align=8
+QStyleOptionGroupBox (0x7f2f3b96e0e0) 0
+ QStyleOptionComplex (0x7f2f3b96e150) 0
+ QStyleOption (0x7f2f3b96e1c0) 0
+
+Class QStyleOptionSizeGrip
+ size=72 align=8
+ base size=68 base align=8
+QStyleOptionSizeGrip (0x7f2f3b97dcb0) 0
+ QStyleOptionComplex (0x7f2f3b97dd20) 0
+ QStyleOption (0x7f2f3b97dd90) 0
+
+Class QStyleOptionGraphicsItem
+ size=144 align=8
+ base size=144 base align=8
+QStyleOptionGraphicsItem (0x7f2f3b986c40) 0
+ QStyleOption (0x7f2f3b986cb0) 0
+
+Class QStyleHintReturn
+ size=8 align=4
+ base size=8 base align=4
+QStyleHintReturn (0x7f2f3b9932a0) 0
+
+Class QStyleHintReturnMask
+ size=16 align=8
+ base size=16 base align=8
+QStyleHintReturnMask (0x7f2f3b9b33f0) 0
+ QStyleHintReturn (0x7f2f3b9b3460) 0
+
+Class QStyleHintReturnVariant
+ size=24 align=8
+ base size=24 base align=8
+QStyleHintReturnVariant (0x7f2f3b9b3620) 0
+ QStyleHintReturn (0x7f2f3b9b3690) 0
+
+Vtable for QAbstractItemDelegate
+QAbstractItemDelegate::_ZTV21QAbstractItemDelegate: 21u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI21QAbstractItemDelegate)
+16 QAbstractItemDelegate::metaObject
+24 QAbstractItemDelegate::qt_metacast
+32 QAbstractItemDelegate::qt_metacall
+40 QAbstractItemDelegate::~QAbstractItemDelegate
+48 QAbstractItemDelegate::~QAbstractItemDelegate
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 QAbstractItemDelegate::createEditor
+136 QAbstractItemDelegate::setEditorData
+144 QAbstractItemDelegate::setModelData
+152 QAbstractItemDelegate::updateEditorGeometry
+160 QAbstractItemDelegate::editorEvent
+
+Class QAbstractItemDelegate
+ size=16 align=8
+ base size=16 base align=8
+QAbstractItemDelegate (0x7f2f3b9b3af0) 0
+ vptr=((& QAbstractItemDelegate::_ZTV21QAbstractItemDelegate) + 16u)
+ QObject (0x7f2f3b9b3b60) 0
+ primary-for QAbstractItemDelegate (0x7f2f3b9b3af0)
+
+Vtable for QAbstractItemView
+QAbstractItemView::_ZTV17QAbstractItemView: 103u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QAbstractItemView)
+16 QAbstractItemView::metaObject
+24 QAbstractItemView::qt_metacast
+32 QAbstractItemView::qt_metacall
+40 QAbstractItemView::~QAbstractItemView
+48 QAbstractItemView::~QAbstractItemView
+56 QAbstractItemView::event
+64 QObject::eventFilter
+72 QAbstractItemView::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QAbstractScrollArea::sizeHint
+136 QAbstractScrollArea::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QAbstractItemView::mousePressEvent
+168 QAbstractItemView::mouseReleaseEvent
+176 QAbstractItemView::mouseDoubleClickEvent
+184 QAbstractItemView::mouseMoveEvent
+192 QAbstractScrollArea::wheelEvent
+200 QAbstractItemView::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QAbstractItemView::focusInEvent
+224 QAbstractItemView::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QAbstractScrollArea::paintEvent
+256 QWidget::moveEvent
+264 QAbstractItemView::resizeEvent
+272 QWidget::closeEvent
+280 QAbstractScrollArea::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QAbstractItemView::dragEnterEvent
+312 QAbstractItemView::dragMoveEvent
+320 QAbstractItemView::dragLeaveEvent
+328 QAbstractItemView::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QFrame::changeEvent
+368 QWidget::metric
+376 QAbstractItemView::inputMethodEvent
+384 QAbstractItemView::inputMethodQuery
+392 QAbstractItemView::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QAbstractItemView::viewportEvent
+456 QAbstractScrollArea::scrollContentsBy
+464 QAbstractItemView::setModel
+472 QAbstractItemView::setSelectionModel
+480 QAbstractItemView::keyboardSearch
+488 __cxa_pure_virtual
+496 __cxa_pure_virtual
+504 __cxa_pure_virtual
+512 QAbstractItemView::sizeHintForRow
+520 QAbstractItemView::sizeHintForColumn
+528 QAbstractItemView::reset
+536 QAbstractItemView::setRootIndex
+544 QAbstractItemView::doItemsLayout
+552 QAbstractItemView::selectAll
+560 QAbstractItemView::dataChanged
+568 QAbstractItemView::rowsInserted
+576 QAbstractItemView::rowsAboutToBeRemoved
+584 QAbstractItemView::selectionChanged
+592 QAbstractItemView::currentChanged
+600 QAbstractItemView::updateEditorData
+608 QAbstractItemView::updateEditorGeometries
+616 QAbstractItemView::updateGeometries
+624 QAbstractItemView::verticalScrollbarAction
+632 QAbstractItemView::horizontalScrollbarAction
+640 QAbstractItemView::verticalScrollbarValueChanged
+648 QAbstractItemView::horizontalScrollbarValueChanged
+656 QAbstractItemView::closeEditor
+664 QAbstractItemView::commitData
+672 QAbstractItemView::editorDestroyed
+680 __cxa_pure_virtual
+688 __cxa_pure_virtual
+696 __cxa_pure_virtual
+704 __cxa_pure_virtual
+712 __cxa_pure_virtual
+720 __cxa_pure_virtual
+728 QAbstractItemView::selectedIndexes
+736 QAbstractItemView::edit
+744 QAbstractItemView::selectionCommand
+752 QAbstractItemView::startDrag
+760 QAbstractItemView::viewOptions
+768 (int (*)(...))-0x00000000000000010
+776 (int (*)(...))(& _ZTI17QAbstractItemView)
+784 QAbstractItemView::_ZThn16_N17QAbstractItemViewD1Ev
+792 QAbstractItemView::_ZThn16_N17QAbstractItemViewD0Ev
+800 QWidget::_ZThn16_NK7QWidget7devTypeEv
+808 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+816 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QAbstractItemView
+ size=40 align=8
+ base size=40 base align=8
+QAbstractItemView (0x7f2f3b9e31c0) 0
+ vptr=((& QAbstractItemView::_ZTV17QAbstractItemView) + 16u)
+ QAbstractScrollArea (0x7f2f3b9e3230) 0
+ primary-for QAbstractItemView (0x7f2f3b9e31c0)
+ QFrame (0x7f2f3b9e32a0) 0
+ primary-for QAbstractScrollArea (0x7f2f3b9e3230)
+ QWidget (0x7f2f3b9c0d80) 0
+ primary-for QFrame (0x7f2f3b9e32a0)
+ QObject (0x7f2f3b9e3310) 0
+ primary-for QWidget (0x7f2f3b9c0d80)
+ QPaintDevice (0x7f2f3b9e3380) 16
+ vptr=((& QAbstractItemView::_ZTV17QAbstractItemView) + 784u)
+
+Vtable for QListView
+QListView::_ZTV9QListView: 103u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QListView)
+16 QListView::metaObject
+24 QListView::qt_metacast
+32 QListView::qt_metacall
+40 QListView::~QListView
+48 QListView::~QListView
+56 QListView::event
+64 QObject::eventFilter
+72 QListView::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QAbstractScrollArea::sizeHint
+136 QAbstractScrollArea::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QAbstractItemView::mousePressEvent
+168 QListView::mouseReleaseEvent
+176 QAbstractItemView::mouseDoubleClickEvent
+184 QListView::mouseMoveEvent
+192 QAbstractScrollArea::wheelEvent
+200 QAbstractItemView::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QAbstractItemView::focusInEvent
+224 QAbstractItemView::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QListView::paintEvent
+256 QWidget::moveEvent
+264 QListView::resizeEvent
+272 QWidget::closeEvent
+280 QAbstractScrollArea::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QAbstractItemView::dragEnterEvent
+312 QListView::dragMoveEvent
+320 QListView::dragLeaveEvent
+328 QListView::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QFrame::changeEvent
+368 QWidget::metric
+376 QAbstractItemView::inputMethodEvent
+384 QAbstractItemView::inputMethodQuery
+392 QAbstractItemView::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QAbstractItemView::viewportEvent
+456 QListView::scrollContentsBy
+464 QAbstractItemView::setModel
+472 QAbstractItemView::setSelectionModel
+480 QAbstractItemView::keyboardSearch
+488 QListView::visualRect
+496 QListView::scrollTo
+504 QListView::indexAt
+512 QAbstractItemView::sizeHintForRow
+520 QAbstractItemView::sizeHintForColumn
+528 QListView::reset
+536 QListView::setRootIndex
+544 QListView::doItemsLayout
+552 QAbstractItemView::selectAll
+560 QListView::dataChanged
+568 QListView::rowsInserted
+576 QListView::rowsAboutToBeRemoved
+584 QListView::selectionChanged
+592 QListView::currentChanged
+600 QAbstractItemView::updateEditorData
+608 QAbstractItemView::updateEditorGeometries
+616 QListView::updateGeometries
+624 QAbstractItemView::verticalScrollbarAction
+632 QAbstractItemView::horizontalScrollbarAction
+640 QAbstractItemView::verticalScrollbarValueChanged
+648 QAbstractItemView::horizontalScrollbarValueChanged
+656 QAbstractItemView::closeEditor
+664 QAbstractItemView::commitData
+672 QAbstractItemView::editorDestroyed
+680 QListView::moveCursor
+688 QListView::horizontalOffset
+696 QListView::verticalOffset
+704 QListView::isIndexHidden
+712 QListView::setSelection
+720 QListView::visualRegionForSelection
+728 QListView::selectedIndexes
+736 QAbstractItemView::edit
+744 QAbstractItemView::selectionCommand
+752 QListView::startDrag
+760 QListView::viewOptions
+768 (int (*)(...))-0x00000000000000010
+776 (int (*)(...))(& _ZTI9QListView)
+784 QListView::_ZThn16_N9QListViewD1Ev
+792 QListView::_ZThn16_N9QListViewD0Ev
+800 QWidget::_ZThn16_NK7QWidget7devTypeEv
+808 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+816 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QListView
+ size=40 align=8
+ base size=40 base align=8
+QListView (0x7f2f3b8579a0) 0
+ vptr=((& QListView::_ZTV9QListView) + 16u)
+ QAbstractItemView (0x7f2f3b857a10) 0
+ primary-for QListView (0x7f2f3b8579a0)
+ QAbstractScrollArea (0x7f2f3b857a80) 0
+ primary-for QAbstractItemView (0x7f2f3b857a10)
+ QFrame (0x7f2f3b857af0) 0
+ primary-for QAbstractScrollArea (0x7f2f3b857a80)
+ QWidget (0x7f2f3ba41500) 0
+ primary-for QFrame (0x7f2f3b857af0)
+ QObject (0x7f2f3b857b60) 0
+ primary-for QWidget (0x7f2f3ba41500)
+ QPaintDevice (0x7f2f3b857bd0) 16
+ vptr=((& QListView::_ZTV9QListView) + 784u)
+
+Vtable for QUndoView
+QUndoView::_ZTV9QUndoView: 103u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QUndoView)
+16 QUndoView::metaObject
+24 QUndoView::qt_metacast
+32 QUndoView::qt_metacall
+40 QUndoView::~QUndoView
+48 QUndoView::~QUndoView
+56 QListView::event
+64 QObject::eventFilter
+72 QListView::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QAbstractScrollArea::sizeHint
+136 QAbstractScrollArea::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QAbstractItemView::mousePressEvent
+168 QListView::mouseReleaseEvent
+176 QAbstractItemView::mouseDoubleClickEvent
+184 QListView::mouseMoveEvent
+192 QAbstractScrollArea::wheelEvent
+200 QAbstractItemView::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QAbstractItemView::focusInEvent
+224 QAbstractItemView::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QListView::paintEvent
+256 QWidget::moveEvent
+264 QListView::resizeEvent
+272 QWidget::closeEvent
+280 QAbstractScrollArea::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QAbstractItemView::dragEnterEvent
+312 QListView::dragMoveEvent
+320 QListView::dragLeaveEvent
+328 QListView::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QFrame::changeEvent
+368 QWidget::metric
+376 QAbstractItemView::inputMethodEvent
+384 QAbstractItemView::inputMethodQuery
+392 QAbstractItemView::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QAbstractItemView::viewportEvent
+456 QListView::scrollContentsBy
+464 QAbstractItemView::setModel
+472 QAbstractItemView::setSelectionModel
+480 QAbstractItemView::keyboardSearch
+488 QListView::visualRect
+496 QListView::scrollTo
+504 QListView::indexAt
+512 QAbstractItemView::sizeHintForRow
+520 QAbstractItemView::sizeHintForColumn
+528 QListView::reset
+536 QListView::setRootIndex
+544 QListView::doItemsLayout
+552 QAbstractItemView::selectAll
+560 QListView::dataChanged
+568 QListView::rowsInserted
+576 QListView::rowsAboutToBeRemoved
+584 QListView::selectionChanged
+592 QListView::currentChanged
+600 QAbstractItemView::updateEditorData
+608 QAbstractItemView::updateEditorGeometries
+616 QListView::updateGeometries
+624 QAbstractItemView::verticalScrollbarAction
+632 QAbstractItemView::horizontalScrollbarAction
+640 QAbstractItemView::verticalScrollbarValueChanged
+648 QAbstractItemView::horizontalScrollbarValueChanged
+656 QAbstractItemView::closeEditor
+664 QAbstractItemView::commitData
+672 QAbstractItemView::editorDestroyed
+680 QListView::moveCursor
+688 QListView::horizontalOffset
+696 QListView::verticalOffset
+704 QListView::isIndexHidden
+712 QListView::setSelection
+720 QListView::visualRegionForSelection
+728 QListView::selectedIndexes
+736 QAbstractItemView::edit
+744 QAbstractItemView::selectionCommand
+752 QListView::startDrag
+760 QListView::viewOptions
+768 (int (*)(...))-0x00000000000000010
+776 (int (*)(...))(& _ZTI9QUndoView)
+784 QUndoView::_ZThn16_N9QUndoViewD1Ev
+792 QUndoView::_ZThn16_N9QUndoViewD0Ev
+800 QWidget::_ZThn16_NK7QWidget7devTypeEv
+808 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+816 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QUndoView
+ size=40 align=8
+ base size=40 base align=8
+QUndoView (0x7f2f3b8a8070) 0
+ vptr=((& QUndoView::_ZTV9QUndoView) + 16u)
+ QListView (0x7f2f3b8a80e0) 0
+ primary-for QUndoView (0x7f2f3b8a8070)
+ QAbstractItemView (0x7f2f3b8a8150) 0
+ primary-for QListView (0x7f2f3b8a80e0)
+ QAbstractScrollArea (0x7f2f3b8a81c0) 0
+ primary-for QAbstractItemView (0x7f2f3b8a8150)
+ QFrame (0x7f2f3b8a8230) 0
+ primary-for QAbstractScrollArea (0x7f2f3b8a81c0)
+ QWidget (0x7f2f3b8a1500) 0
+ primary-for QFrame (0x7f2f3b8a8230)
+ QObject (0x7f2f3b8a82a0) 0
+ primary-for QWidget (0x7f2f3b8a1500)
+ QPaintDevice (0x7f2f3b8a8310) 16
+ vptr=((& QUndoView::_ZTV9QUndoView) + 784u)
+
+Vtable for QDialog
+QDialog::_ZTV7QDialog: 66u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QDialog)
+16 QDialog::metaObject
+24 QDialog::qt_metacast
+32 QDialog::qt_metacall
+40 QDialog::~QDialog
+48 QDialog::~QDialog
+56 QWidget::event
+64 QDialog::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QDialog::setVisible
+128 QDialog::sizeHint
+136 QDialog::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QDialog::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QWidget::paintEvent
+256 QWidget::moveEvent
+264 QDialog::resizeEvent
+272 QDialog::closeEvent
+280 QDialog::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QDialog::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QWidget::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QDialog::done
+456 QDialog::accept
+464 QDialog::reject
+472 (int (*)(...))-0x00000000000000010
+480 (int (*)(...))(& _ZTI7QDialog)
+488 QDialog::_ZThn16_N7QDialogD1Ev
+496 QDialog::_ZThn16_N7QDialogD0Ev
+504 QWidget::_ZThn16_NK7QWidget7devTypeEv
+512 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+520 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QDialog
+ size=40 align=8
+ base size=40 base align=8
+QDialog (0x7f2f3b8c0d20) 0
+ vptr=((& QDialog::_ZTV7QDialog) + 16u)
+ QWidget (0x7f2f3b8a1f00) 0
+ primary-for QDialog (0x7f2f3b8c0d20)
+ QObject (0x7f2f3b8c0d90) 0
+ primary-for QWidget (0x7f2f3b8a1f00)
+ QPaintDevice (0x7f2f3b8c0e00) 16
+ vptr=((& QDialog::_ZTV7QDialog) + 488u)
+
+Vtable for QAbstractPageSetupDialog
+QAbstractPageSetupDialog::_ZTV24QAbstractPageSetupDialog: 67u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI24QAbstractPageSetupDialog)
+16 QAbstractPageSetupDialog::metaObject
+24 QAbstractPageSetupDialog::qt_metacast
+32 QAbstractPageSetupDialog::qt_metacall
+40 QAbstractPageSetupDialog::~QAbstractPageSetupDialog
+48 QAbstractPageSetupDialog::~QAbstractPageSetupDialog
+56 QWidget::event
+64 QDialog::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QDialog::setVisible
+128 QDialog::sizeHint
+136 QDialog::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QDialog::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QWidget::paintEvent
+256 QWidget::moveEvent
+264 QDialog::resizeEvent
+272 QDialog::closeEvent
+280 QDialog::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QDialog::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QWidget::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QAbstractPageSetupDialog::done
+456 QDialog::accept
+464 QDialog::reject
+472 __cxa_pure_virtual
+480 (int (*)(...))-0x00000000000000010
+488 (int (*)(...))(& _ZTI24QAbstractPageSetupDialog)
+496 QAbstractPageSetupDialog::_ZThn16_N24QAbstractPageSetupDialogD1Ev
+504 QAbstractPageSetupDialog::_ZThn16_N24QAbstractPageSetupDialogD0Ev
+512 QWidget::_ZThn16_NK7QWidget7devTypeEv
+520 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+528 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QAbstractPageSetupDialog
+ size=40 align=8
+ base size=40 base align=8
+QAbstractPageSetupDialog (0x7f2f3b8e8b60) 0
+ vptr=((& QAbstractPageSetupDialog::_ZTV24QAbstractPageSetupDialog) + 16u)
+ QDialog (0x7f2f3b8e8bd0) 0
+ primary-for QAbstractPageSetupDialog (0x7f2f3b8e8b60)
+ QWidget (0x7f2f3b8c7a00) 0
+ primary-for QDialog (0x7f2f3b8e8bd0)
+ QObject (0x7f2f3b8e8c40) 0
+ primary-for QWidget (0x7f2f3b8c7a00)
+ QPaintDevice (0x7f2f3b8e8cb0) 16
+ vptr=((& QAbstractPageSetupDialog::_ZTV24QAbstractPageSetupDialog) + 496u)
+
+Vtable for QAbstractPrintDialog
+QAbstractPrintDialog::_ZTV20QAbstractPrintDialog: 67u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI20QAbstractPrintDialog)
+16 QAbstractPrintDialog::metaObject
+24 QAbstractPrintDialog::qt_metacast
+32 QAbstractPrintDialog::qt_metacall
+40 QAbstractPrintDialog::~QAbstractPrintDialog
+48 QAbstractPrintDialog::~QAbstractPrintDialog
+56 QWidget::event
+64 QDialog::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QDialog::setVisible
+128 QDialog::sizeHint
+136 QDialog::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QDialog::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QWidget::paintEvent
+256 QWidget::moveEvent
+264 QDialog::resizeEvent
+272 QDialog::closeEvent
+280 QDialog::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QDialog::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QWidget::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QDialog::done
+456 QDialog::accept
+464 QDialog::reject
+472 __cxa_pure_virtual
+480 (int (*)(...))-0x00000000000000010
+488 (int (*)(...))(& _ZTI20QAbstractPrintDialog)
+496 QAbstractPrintDialog::_ZThn16_N20QAbstractPrintDialogD1Ev
+504 QAbstractPrintDialog::_ZThn16_N20QAbstractPrintDialogD0Ev
+512 QWidget::_ZThn16_NK7QWidget7devTypeEv
+520 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+528 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QAbstractPrintDialog
+ size=40 align=8
+ base size=40 base align=8
+QAbstractPrintDialog (0x7f2f3b907150) 0
+ vptr=((& QAbstractPrintDialog::_ZTV20QAbstractPrintDialog) + 16u)
+ QDialog (0x7f2f3b9071c0) 0
+ primary-for QAbstractPrintDialog (0x7f2f3b907150)
+ QWidget (0x7f2f3b8ff400) 0
+ primary-for QDialog (0x7f2f3b9071c0)
+ QObject (0x7f2f3b907230) 0
+ primary-for QWidget (0x7f2f3b8ff400)
+ QPaintDevice (0x7f2f3b9072a0) 16
+ vptr=((& QAbstractPrintDialog::_ZTV20QAbstractPrintDialog) + 496u)
+
+Vtable for QColorDialog
+QColorDialog::_ZTV12QColorDialog: 66u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QColorDialog)
+16 QColorDialog::metaObject
+24 QColorDialog::qt_metacast
+32 QColorDialog::qt_metacall
+40 QColorDialog::~QColorDialog
+48 QColorDialog::~QColorDialog
+56 QWidget::event
+64 QDialog::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QColorDialog::setVisible
+128 QDialog::sizeHint
+136 QDialog::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QDialog::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QWidget::paintEvent
+256 QWidget::moveEvent
+264 QDialog::resizeEvent
+272 QDialog::closeEvent
+280 QDialog::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QDialog::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QColorDialog::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QColorDialog::done
+456 QDialog::accept
+464 QDialog::reject
+472 (int (*)(...))-0x00000000000000010
+480 (int (*)(...))(& _ZTI12QColorDialog)
+488 QColorDialog::_ZThn16_N12QColorDialogD1Ev
+496 QColorDialog::_ZThn16_N12QColorDialogD0Ev
+504 QWidget::_ZThn16_NK7QWidget7devTypeEv
+512 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+520 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QColorDialog
+ size=40 align=8
+ base size=40 base align=8
+QColorDialog (0x7f2f3b760230) 0
+ vptr=((& QColorDialog::_ZTV12QColorDialog) + 16u)
+ QDialog (0x7f2f3b7602a0) 0
+ primary-for QColorDialog (0x7f2f3b760230)
+ QWidget (0x7f2f3b922880) 0
+ primary-for QDialog (0x7f2f3b7602a0)
+ QObject (0x7f2f3b760310) 0
+ primary-for QWidget (0x7f2f3b922880)
+ QPaintDevice (0x7f2f3b760380) 16
+ vptr=((& QColorDialog::_ZTV12QColorDialog) + 488u)
+
+Vtable for QErrorMessage
+QErrorMessage::_ZTV13QErrorMessage: 66u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QErrorMessage)
+16 QErrorMessage::metaObject
+24 QErrorMessage::qt_metacast
+32 QErrorMessage::qt_metacall
+40 QErrorMessage::~QErrorMessage
+48 QErrorMessage::~QErrorMessage
+56 QWidget::event
+64 QDialog::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QDialog::setVisible
+128 QDialog::sizeHint
+136 QDialog::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QDialog::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QWidget::paintEvent
+256 QWidget::moveEvent
+264 QDialog::resizeEvent
+272 QDialog::closeEvent
+280 QDialog::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QDialog::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QErrorMessage::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QErrorMessage::done
+456 QDialog::accept
+464 QDialog::reject
+472 (int (*)(...))-0x00000000000000010
+480 (int (*)(...))(& _ZTI13QErrorMessage)
+488 QErrorMessage::_ZThn16_N13QErrorMessageD1Ev
+496 QErrorMessage::_ZThn16_N13QErrorMessageD0Ev
+504 QWidget::_ZThn16_NK7QWidget7devTypeEv
+512 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+520 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QErrorMessage
+ size=40 align=8
+ base size=40 base align=8
+QErrorMessage (0x7f2f3b7c25b0) 0
+ vptr=((& QErrorMessage::_ZTV13QErrorMessage) + 16u)
+ QDialog (0x7f2f3b7c2620) 0
+ primary-for QErrorMessage (0x7f2f3b7c25b0)
+ QWidget (0x7f2f3b789c00) 0
+ primary-for QDialog (0x7f2f3b7c2620)
+ QObject (0x7f2f3b7c2690) 0
+ primary-for QWidget (0x7f2f3b789c00)
+ QPaintDevice (0x7f2f3b7c2700) 16
+ vptr=((& QErrorMessage::_ZTV13QErrorMessage) + 488u)
+
+Vtable for QFileDialog
+QFileDialog::_ZTV11QFileDialog: 66u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QFileDialog)
+16 QFileDialog::metaObject
+24 QFileDialog::qt_metacast
+32 QFileDialog::qt_metacall
+40 QFileDialog::~QFileDialog
+48 QFileDialog::~QFileDialog
+56 QWidget::event
+64 QDialog::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QFileDialog::setVisible
+128 QDialog::sizeHint
+136 QDialog::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QDialog::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QWidget::paintEvent
+256 QWidget::moveEvent
+264 QDialog::resizeEvent
+272 QDialog::closeEvent
+280 QDialog::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QDialog::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QFileDialog::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QFileDialog::done
+456 QFileDialog::accept
+464 QDialog::reject
+472 (int (*)(...))-0x00000000000000010
+480 (int (*)(...))(& _ZTI11QFileDialog)
+488 QFileDialog::_ZThn16_N11QFileDialogD1Ev
+496 QFileDialog::_ZThn16_N11QFileDialogD0Ev
+504 QWidget::_ZThn16_NK7QWidget7devTypeEv
+512 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+520 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QFileDialog
+ size=40 align=8
+ base size=40 base align=8
+QFileDialog (0x7f2f3b7de1c0) 0
+ vptr=((& QFileDialog::_ZTV11QFileDialog) + 16u)
+ QDialog (0x7f2f3b7de230) 0
+ primary-for QFileDialog (0x7f2f3b7de1c0)
+ QWidget (0x7f2f3b7d6780) 0
+ primary-for QDialog (0x7f2f3b7de230)
+ QObject (0x7f2f3b7de2a0) 0
+ primary-for QWidget (0x7f2f3b7d6780)
+ QPaintDevice (0x7f2f3b7de310) 16
+ vptr=((& QFileDialog::_ZTV11QFileDialog) + 488u)
+
+Vtable for QFileSystemModel
+QFileSystemModel::_ZTV16QFileSystemModel: 42u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QFileSystemModel)
+16 QFileSystemModel::metaObject
+24 QFileSystemModel::qt_metacast
+32 QFileSystemModel::qt_metacall
+40 QFileSystemModel::~QFileSystemModel
+48 QFileSystemModel::~QFileSystemModel
+56 QFileSystemModel::event
+64 QObject::eventFilter
+72 QFileSystemModel::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QFileSystemModel::index
+120 QFileSystemModel::parent
+128 QFileSystemModel::rowCount
+136 QFileSystemModel::columnCount
+144 QFileSystemModel::hasChildren
+152 QFileSystemModel::data
+160 QFileSystemModel::setData
+168 QFileSystemModel::headerData
+176 QAbstractItemModel::setHeaderData
+184 QAbstractItemModel::itemData
+192 QAbstractItemModel::setItemData
+200 QFileSystemModel::mimeTypes
+208 QFileSystemModel::mimeData
+216 QFileSystemModel::dropMimeData
+224 QFileSystemModel::supportedDropActions
+232 QAbstractItemModel::insertRows
+240 QAbstractItemModel::insertColumns
+248 QAbstractItemModel::removeRows
+256 QAbstractItemModel::removeColumns
+264 QFileSystemModel::fetchMore
+272 QFileSystemModel::canFetchMore
+280 QFileSystemModel::flags
+288 QFileSystemModel::sort
+296 QAbstractItemModel::buddy
+304 QAbstractItemModel::match
+312 QAbstractItemModel::span
+320 QAbstractItemModel::submit
+328 QAbstractItemModel::revert
+
+Class QFileSystemModel
+ size=16 align=8
+ base size=16 base align=8
+QFileSystemModel (0x7f2f3b65a770) 0
+ vptr=((& QFileSystemModel::_ZTV16QFileSystemModel) + 16u)
+ QAbstractItemModel (0x7f2f3b65a7e0) 0
+ primary-for QFileSystemModel (0x7f2f3b65a770)
+ QObject (0x7f2f3b65a850) 0
+ primary-for QAbstractItemModel (0x7f2f3b65a7e0)
+
+Vtable for QFontDialog
+QFontDialog::_ZTV11QFontDialog: 66u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QFontDialog)
+16 QFontDialog::metaObject
+24 QFontDialog::qt_metacast
+32 QFontDialog::qt_metacall
+40 QFontDialog::~QFontDialog
+48 QFontDialog::~QFontDialog
+56 QWidget::event
+64 QFontDialog::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QFontDialog::setVisible
+128 QDialog::sizeHint
+136 QDialog::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QDialog::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QWidget::paintEvent
+256 QWidget::moveEvent
+264 QDialog::resizeEvent
+272 QDialog::closeEvent
+280 QDialog::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QDialog::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QFontDialog::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QFontDialog::done
+456 QDialog::accept
+464 QDialog::reject
+472 (int (*)(...))-0x00000000000000010
+480 (int (*)(...))(& _ZTI11QFontDialog)
+488 QFontDialog::_ZThn16_N11QFontDialogD1Ev
+496 QFontDialog::_ZThn16_N11QFontDialogD0Ev
+504 QWidget::_ZThn16_NK7QWidget7devTypeEv
+512 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+520 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QFontDialog
+ size=40 align=8
+ base size=40 base align=8
+QFontDialog (0x7f2f3b69de70) 0
+ vptr=((& QFontDialog::_ZTV11QFontDialog) + 16u)
+ QDialog (0x7f2f3b69dee0) 0
+ primary-for QFontDialog (0x7f2f3b69de70)
+ QWidget (0x7f2f3b6a6500) 0
+ primary-for QDialog (0x7f2f3b69dee0)
+ QObject (0x7f2f3b69df50) 0
+ primary-for QWidget (0x7f2f3b6a6500)
+ QPaintDevice (0x7f2f3b6aa000) 16
+ vptr=((& QFontDialog::_ZTV11QFontDialog) + 488u)
+
+Vtable for QLineEdit
+QLineEdit::_ZTV9QLineEdit: 63u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QLineEdit)
+16 QLineEdit::metaObject
+24 QLineEdit::qt_metacast
+32 QLineEdit::qt_metacall
+40 QLineEdit::~QLineEdit
+48 QLineEdit::~QLineEdit
+56 QLineEdit::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QLineEdit::sizeHint
+136 QLineEdit::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QLineEdit::mousePressEvent
+168 QLineEdit::mouseReleaseEvent
+176 QLineEdit::mouseDoubleClickEvent
+184 QLineEdit::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QLineEdit::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QLineEdit::focusInEvent
+224 QLineEdit::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QLineEdit::paintEvent
+256 QWidget::moveEvent
+264 QWidget::resizeEvent
+272 QWidget::closeEvent
+280 QLineEdit::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QLineEdit::dragEnterEvent
+312 QLineEdit::dragMoveEvent
+320 QLineEdit::dragLeaveEvent
+328 QLineEdit::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QLineEdit::changeEvent
+368 QWidget::metric
+376 QLineEdit::inputMethodEvent
+384 QLineEdit::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 (int (*)(...))-0x00000000000000010
+456 (int (*)(...))(& _ZTI9QLineEdit)
+464 QLineEdit::_ZThn16_N9QLineEditD1Ev
+472 QLineEdit::_ZThn16_N9QLineEditD0Ev
+480 QWidget::_ZThn16_NK7QWidget7devTypeEv
+488 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+496 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QLineEdit
+ size=40 align=8
+ base size=40 base align=8
+QLineEdit (0x7f2f3b70d310) 0
+ vptr=((& QLineEdit::_ZTV9QLineEdit) + 16u)
+ QWidget (0x7f2f3b6cf800) 0
+ primary-for QLineEdit (0x7f2f3b70d310)
+ QObject (0x7f2f3b70d380) 0
+ primary-for QWidget (0x7f2f3b6cf800)
+ QPaintDevice (0x7f2f3b70d3f0) 16
+ vptr=((& QLineEdit::_ZTV9QLineEdit) + 464u)
+
+Vtable for QInputDialog
+QInputDialog::_ZTV12QInputDialog: 66u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QInputDialog)
+16 QInputDialog::metaObject
+24 QInputDialog::qt_metacast
+32 QInputDialog::qt_metacall
+40 QInputDialog::~QInputDialog
+48 QInputDialog::~QInputDialog
+56 QWidget::event
+64 QDialog::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QInputDialog::setVisible
+128 QInputDialog::sizeHint
+136 QInputDialog::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QDialog::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QWidget::paintEvent
+256 QWidget::moveEvent
+264 QDialog::resizeEvent
+272 QDialog::closeEvent
+280 QDialog::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QDialog::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QWidget::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QInputDialog::done
+456 QDialog::accept
+464 QDialog::reject
+472 (int (*)(...))-0x00000000000000010
+480 (int (*)(...))(& _ZTI12QInputDialog)
+488 QInputDialog::_ZThn16_N12QInputDialogD1Ev
+496 QInputDialog::_ZThn16_N12QInputDialogD0Ev
+504 QWidget::_ZThn16_NK7QWidget7devTypeEv
+512 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+520 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QInputDialog
+ size=40 align=8
+ base size=40 base align=8
+QInputDialog (0x7f2f3b55e070) 0
+ vptr=((& QInputDialog::_ZTV12QInputDialog) + 16u)
+ QDialog (0x7f2f3b55e0e0) 0
+ primary-for QInputDialog (0x7f2f3b55e070)
+ QWidget (0x7f2f3b559780) 0
+ primary-for QDialog (0x7f2f3b55e0e0)
+ QObject (0x7f2f3b55e150) 0
+ primary-for QWidget (0x7f2f3b559780)
+ QPaintDevice (0x7f2f3b55e1c0) 16
+ vptr=((& QInputDialog::_ZTV12QInputDialog) + 488u)
+
+Vtable for QMessageBox
+QMessageBox::_ZTV11QMessageBox: 66u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QMessageBox)
+16 QMessageBox::metaObject
+24 QMessageBox::qt_metacast
+32 QMessageBox::qt_metacall
+40 QMessageBox::~QMessageBox
+48 QMessageBox::~QMessageBox
+56 QMessageBox::event
+64 QDialog::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QDialog::setVisible
+128 QMessageBox::sizeHint
+136 QDialog::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QMessageBox::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QWidget::paintEvent
+256 QWidget::moveEvent
+264 QMessageBox::resizeEvent
+272 QMessageBox::closeEvent
+280 QDialog::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QMessageBox::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QMessageBox::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QDialog::done
+456 QDialog::accept
+464 QDialog::reject
+472 (int (*)(...))-0x00000000000000010
+480 (int (*)(...))(& _ZTI11QMessageBox)
+488 QMessageBox::_ZThn16_N11QMessageBoxD1Ev
+496 QMessageBox::_ZThn16_N11QMessageBoxD0Ev
+504 QWidget::_ZThn16_NK7QWidget7devTypeEv
+512 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+520 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QMessageBox
+ size=40 align=8
+ base size=40 base align=8
+QMessageBox (0x7f2f3b5bfee0) 0
+ vptr=((& QMessageBox::_ZTV11QMessageBox) + 16u)
+ QDialog (0x7f2f3b5bff50) 0
+ primary-for QMessageBox (0x7f2f3b5bfee0)
+ QWidget (0x7f2f3b5d8100) 0
+ primary-for QDialog (0x7f2f3b5bff50)
+ QObject (0x7f2f3b5da000) 0
+ primary-for QWidget (0x7f2f3b5d8100)
+ QPaintDevice (0x7f2f3b5da070) 16
+ vptr=((& QMessageBox::_ZTV11QMessageBox) + 488u)
+
+Vtable for QPageSetupDialog
+QPageSetupDialog::_ZTV16QPageSetupDialog: 67u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QPageSetupDialog)
+16 QPageSetupDialog::metaObject
+24 QPageSetupDialog::qt_metacast
+32 QPageSetupDialog::qt_metacall
+40 QPageSetupDialog::~QPageSetupDialog
+48 QPageSetupDialog::~QPageSetupDialog
+56 QWidget::event
+64 QDialog::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QDialog::setVisible
+128 QDialog::sizeHint
+136 QDialog::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QDialog::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QWidget::paintEvent
+256 QWidget::moveEvent
+264 QDialog::resizeEvent
+272 QDialog::closeEvent
+280 QDialog::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QDialog::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QWidget::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QAbstractPageSetupDialog::done
+456 QDialog::accept
+464 QDialog::reject
+472 QPageSetupDialog::exec
+480 (int (*)(...))-0x00000000000000010
+488 (int (*)(...))(& _ZTI16QPageSetupDialog)
+496 QPageSetupDialog::_ZThn16_N16QPageSetupDialogD1Ev
+504 QPageSetupDialog::_ZThn16_N16QPageSetupDialogD0Ev
+512 QWidget::_ZThn16_NK7QWidget7devTypeEv
+520 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+528 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QPageSetupDialog
+ size=40 align=8
+ base size=40 base align=8
+QPageSetupDialog (0x7f2f3b459850) 0
+ vptr=((& QPageSetupDialog::_ZTV16QPageSetupDialog) + 16u)
+ QAbstractPageSetupDialog (0x7f2f3b4598c0) 0
+ primary-for QPageSetupDialog (0x7f2f3b459850)
+ QDialog (0x7f2f3b459930) 0
+ primary-for QAbstractPageSetupDialog (0x7f2f3b4598c0)
+ QWidget (0x7f2f3b63d800) 0
+ primary-for QDialog (0x7f2f3b459930)
+ QObject (0x7f2f3b4599a0) 0
+ primary-for QWidget (0x7f2f3b63d800)
+ QPaintDevice (0x7f2f3b459a10) 16
+ vptr=((& QPageSetupDialog::_ZTV16QPageSetupDialog) + 496u)
+
+Vtable for QUnixPrintWidget
+QUnixPrintWidget::_ZTV16QUnixPrintWidget: 63u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QUnixPrintWidget)
+16 QUnixPrintWidget::metaObject
+24 QUnixPrintWidget::qt_metacast
+32 QUnixPrintWidget::qt_metacall
+40 QUnixPrintWidget::~QUnixPrintWidget
+48 QUnixPrintWidget::~QUnixPrintWidget
+56 QWidget::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QWidget::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QWidget::paintEvent
+256 QWidget::moveEvent
+264 QWidget::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QWidget::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 (int (*)(...))-0x00000000000000010
+456 (int (*)(...))(& _ZTI16QUnixPrintWidget)
+464 QUnixPrintWidget::_ZThn16_N16QUnixPrintWidgetD1Ev
+472 QUnixPrintWidget::_ZThn16_N16QUnixPrintWidgetD0Ev
+480 QWidget::_ZThn16_NK7QWidget7devTypeEv
+488 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+496 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QUnixPrintWidget
+ size=48 align=8
+ base size=48 base align=8
+QUnixPrintWidget (0x7f2f3b48c7e0) 0
+ vptr=((& QUnixPrintWidget::_ZTV16QUnixPrintWidget) + 16u)
+ QWidget (0x7f2f3b48b380) 0
+ primary-for QUnixPrintWidget (0x7f2f3b48c7e0)
+ QObject (0x7f2f3b48c850) 0
+ primary-for QWidget (0x7f2f3b48b380)
+ QPaintDevice (0x7f2f3b48c8c0) 16
+ vptr=((& QUnixPrintWidget::_ZTV16QUnixPrintWidget) + 464u)
+
+Vtable for QPrintDialog
+QPrintDialog::_ZTV12QPrintDialog: 67u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QPrintDialog)
+16 QPrintDialog::metaObject
+24 QPrintDialog::qt_metacast
+32 QPrintDialog::qt_metacall
+40 QPrintDialog::~QPrintDialog
+48 QPrintDialog::~QPrintDialog
+56 QWidget::event
+64 QDialog::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QPrintDialog::setVisible
+128 QDialog::sizeHint
+136 QDialog::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QDialog::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QWidget::paintEvent
+256 QWidget::moveEvent
+264 QDialog::resizeEvent
+272 QDialog::closeEvent
+280 QDialog::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QDialog::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QWidget::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QPrintDialog::done
+456 QPrintDialog::accept
+464 QDialog::reject
+472 QPrintDialog::exec
+480 (int (*)(...))-0x00000000000000010
+488 (int (*)(...))(& _ZTI12QPrintDialog)
+496 QPrintDialog::_ZThn16_N12QPrintDialogD1Ev
+504 QPrintDialog::_ZThn16_N12QPrintDialogD0Ev
+512 QWidget::_ZThn16_NK7QWidget7devTypeEv
+520 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+528 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QPrintDialog
+ size=40 align=8
+ base size=40 base align=8
+QPrintDialog (0x7f2f3b4a2700) 0
+ vptr=((& QPrintDialog::_ZTV12QPrintDialog) + 16u)
+ QAbstractPrintDialog (0x7f2f3b4a2770) 0
+ primary-for QPrintDialog (0x7f2f3b4a2700)
+ QDialog (0x7f2f3b4a27e0) 0
+ primary-for QAbstractPrintDialog (0x7f2f3b4a2770)
+ QWidget (0x7f2f3b48ba80) 0
+ primary-for QDialog (0x7f2f3b4a27e0)
+ QObject (0x7f2f3b4a2850) 0
+ primary-for QWidget (0x7f2f3b48ba80)
+ QPaintDevice (0x7f2f3b4a28c0) 16
+ vptr=((& QPrintDialog::_ZTV12QPrintDialog) + 496u)
+
+Vtable for QPrintPreviewDialog
+QPrintPreviewDialog::_ZTV19QPrintPreviewDialog: 66u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QPrintPreviewDialog)
+16 QPrintPreviewDialog::metaObject
+24 QPrintPreviewDialog::qt_metacast
+32 QPrintPreviewDialog::qt_metacall
+40 QPrintPreviewDialog::~QPrintPreviewDialog
+48 QPrintPreviewDialog::~QPrintPreviewDialog
+56 QWidget::event
+64 QDialog::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QPrintPreviewDialog::setVisible
+128 QDialog::sizeHint
+136 QDialog::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QDialog::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QWidget::paintEvent
+256 QWidget::moveEvent
+264 QDialog::resizeEvent
+272 QDialog::closeEvent
+280 QDialog::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QDialog::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QWidget::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QPrintPreviewDialog::done
+456 QDialog::accept
+464 QDialog::reject
+472 (int (*)(...))-0x00000000000000010
+480 (int (*)(...))(& _ZTI19QPrintPreviewDialog)
+488 QPrintPreviewDialog::_ZThn16_N19QPrintPreviewDialogD1Ev
+496 QPrintPreviewDialog::_ZThn16_N19QPrintPreviewDialogD0Ev
+504 QWidget::_ZThn16_NK7QWidget7devTypeEv
+512 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+520 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QPrintPreviewDialog
+ size=48 align=8
+ base size=48 base align=8
+QPrintPreviewDialog (0x7f2f3b4bf2a0) 0
+ vptr=((& QPrintPreviewDialog::_ZTV19QPrintPreviewDialog) + 16u)
+ QDialog (0x7f2f3b4bf310) 0
+ primary-for QPrintPreviewDialog (0x7f2f3b4bf2a0)
+ QWidget (0x7f2f3b4bc480) 0
+ primary-for QDialog (0x7f2f3b4bf310)
+ QObject (0x7f2f3b4bf380) 0
+ primary-for QWidget (0x7f2f3b4bc480)
+ QPaintDevice (0x7f2f3b4bf3f0) 16
+ vptr=((& QPrintPreviewDialog::_ZTV19QPrintPreviewDialog) + 488u)
+
+Vtable for QProgressDialog
+QProgressDialog::_ZTV15QProgressDialog: 66u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QProgressDialog)
+16 QProgressDialog::metaObject
+24 QProgressDialog::qt_metacast
+32 QProgressDialog::qt_metacall
+40 QProgressDialog::~QProgressDialog
+48 QProgressDialog::~QProgressDialog
+56 QWidget::event
+64 QDialog::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QDialog::setVisible
+128 QProgressDialog::sizeHint
+136 QDialog::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QDialog::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QWidget::paintEvent
+256 QWidget::moveEvent
+264 QProgressDialog::resizeEvent
+272 QProgressDialog::closeEvent
+280 QDialog::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QProgressDialog::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QProgressDialog::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QDialog::done
+456 QDialog::accept
+464 QDialog::reject
+472 (int (*)(...))-0x00000000000000010
+480 (int (*)(...))(& _ZTI15QProgressDialog)
+488 QProgressDialog::_ZThn16_N15QProgressDialogD1Ev
+496 QProgressDialog::_ZThn16_N15QProgressDialogD0Ev
+504 QWidget::_ZThn16_NK7QWidget7devTypeEv
+512 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+520 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QProgressDialog
+ size=40 align=8
+ base size=40 base align=8
+QProgressDialog (0x7f2f3b4d8a10) 0
+ vptr=((& QProgressDialog::_ZTV15QProgressDialog) + 16u)
+ QDialog (0x7f2f3b4d8a80) 0
+ primary-for QProgressDialog (0x7f2f3b4d8a10)
+ QWidget (0x7f2f3b4bce80) 0
+ primary-for QDialog (0x7f2f3b4d8a80)
+ QObject (0x7f2f3b4d8af0) 0
+ primary-for QWidget (0x7f2f3b4bce80)
+ QPaintDevice (0x7f2f3b4d8b60) 16
+ vptr=((& QProgressDialog::_ZTV15QProgressDialog) + 488u)
+
+Vtable for QWizard
+QWizard::_ZTV7QWizard: 70u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QWizard)
+16 QWizard::metaObject
+24 QWizard::qt_metacast
+32 QWizard::qt_metacall
+40 QWizard::~QWizard
+48 QWizard::~QWizard
+56 QWizard::event
+64 QDialog::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWizard::setVisible
+128 QWizard::sizeHint
+136 QDialog::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QDialog::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QWizard::paintEvent
+256 QWidget::moveEvent
+264 QWizard::resizeEvent
+272 QDialog::closeEvent
+280 QDialog::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QDialog::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QWidget::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QWizard::done
+456 QDialog::accept
+464 QDialog::reject
+472 QWizard::validateCurrentPage
+480 QWizard::nextId
+488 QWizard::initializePage
+496 QWizard::cleanupPage
+504 (int (*)(...))-0x00000000000000010
+512 (int (*)(...))(& _ZTI7QWizard)
+520 QWizard::_ZThn16_N7QWizardD1Ev
+528 QWizard::_ZThn16_N7QWizardD0Ev
+536 QWidget::_ZThn16_NK7QWidget7devTypeEv
+544 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+552 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QWizard
+ size=40 align=8
+ base size=40 base align=8
+QWizard (0x7f2f3b4fe620) 0
+ vptr=((& QWizard::_ZTV7QWizard) + 16u)
+ QDialog (0x7f2f3b4fe690) 0
+ primary-for QWizard (0x7f2f3b4fe620)
+ QWidget (0x7f2f3b4f6880) 0
+ primary-for QDialog (0x7f2f3b4fe690)
+ QObject (0x7f2f3b4fe700) 0
+ primary-for QWidget (0x7f2f3b4f6880)
+ QPaintDevice (0x7f2f3b4fe770) 16
+ vptr=((& QWizard::_ZTV7QWizard) + 520u)
+
+Vtable for QWizardPage
+QWizardPage::_ZTV11QWizardPage: 68u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QWizardPage)
+16 QWizardPage::metaObject
+24 QWizardPage::qt_metacast
+32 QWizardPage::qt_metacall
+40 QWizardPage::~QWizardPage
+48 QWizardPage::~QWizardPage
+56 QWidget::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QWidget::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QWidget::paintEvent
+256 QWidget::moveEvent
+264 QWidget::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QWidget::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QWizardPage::initializePage
+456 QWizardPage::cleanupPage
+464 QWizardPage::validatePage
+472 QWizardPage::isComplete
+480 QWizardPage::nextId
+488 (int (*)(...))-0x00000000000000010
+496 (int (*)(...))(& _ZTI11QWizardPage)
+504 QWizardPage::_ZThn16_N11QWizardPageD1Ev
+512 QWizardPage::_ZThn16_N11QWizardPageD0Ev
+520 QWidget::_ZThn16_NK7QWidget7devTypeEv
+528 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+536 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QWizardPage
+ size=40 align=8
+ base size=40 base align=8
+QWizardPage (0x7f2f3b3559a0) 0
+ vptr=((& QWizardPage::_ZTV11QWizardPage) + 16u)
+ QWidget (0x7f2f3b52ab80) 0
+ primary-for QWizardPage (0x7f2f3b3559a0)
+ QObject (0x7f2f3b355a10) 0
+ primary-for QWidget (0x7f2f3b52ab80)
+ QPaintDevice (0x7f2f3b355a80) 16
+ vptr=((& QWizardPage::_ZTV11QWizardPage) + 504u)
+
+Vtable for QKeyEventTransition
+QKeyEventTransition::_ZTV19QKeyEventTransition: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QKeyEventTransition)
+16 QKeyEventTransition::metaObject
+24 QKeyEventTransition::qt_metacast
+32 QKeyEventTransition::qt_metacall
+40 QKeyEventTransition::~QKeyEventTransition
+48 QKeyEventTransition::~QKeyEventTransition
+56 QEventTransition::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QKeyEventTransition::eventTest
+120 QKeyEventTransition::onTransition
+
+Class QKeyEventTransition
+ size=16 align=8
+ base size=16 base align=8
+QKeyEventTransition (0x7f2f3b38d4d0) 0
+ vptr=((& QKeyEventTransition::_ZTV19QKeyEventTransition) + 16u)
+ QEventTransition (0x7f2f3b38d540) 0
+ primary-for QKeyEventTransition (0x7f2f3b38d4d0)
+ QAbstractTransition (0x7f2f3b38d5b0) 0
+ primary-for QEventTransition (0x7f2f3b38d540)
+ QObject (0x7f2f3b38d620) 0
+ primary-for QAbstractTransition (0x7f2f3b38d5b0)
+
+Vtable for QMouseEventTransition
+QMouseEventTransition::_ZTV21QMouseEventTransition: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI21QMouseEventTransition)
+16 QMouseEventTransition::metaObject
+24 QMouseEventTransition::qt_metacast
+32 QMouseEventTransition::qt_metacall
+40 QMouseEventTransition::~QMouseEventTransition
+48 QMouseEventTransition::~QMouseEventTransition
+56 QEventTransition::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QMouseEventTransition::eventTest
+120 QMouseEventTransition::onTransition
+
+Class QMouseEventTransition
+ size=16 align=8
+ base size=16 base align=8
+QMouseEventTransition (0x7f2f3b39ff50) 0
+ vptr=((& QMouseEventTransition::_ZTV21QMouseEventTransition) + 16u)
+ QEventTransition (0x7f2f3b3a9000) 0
+ primary-for QMouseEventTransition (0x7f2f3b39ff50)
+ QAbstractTransition (0x7f2f3b3a9070) 0
+ primary-for QEventTransition (0x7f2f3b3a9000)
+ QObject (0x7f2f3b3a90e0) 0
+ primary-for QAbstractTransition (0x7f2f3b3a9070)
+
+Vtable for QBitmap
+QBitmap::_ZTV7QBitmap: 7u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QBitmap)
+16 QBitmap::~QBitmap
+24 QBitmap::~QBitmap
+32 QPixmap::devType
+40 QPixmap::paintEngine
+48 QPixmap::metric
+
+Class QBitmap
+ size=24 align=8
+ base size=24 base align=8
+QBitmap (0x7f2f3b3bda10) 0
+ vptr=((& QBitmap::_ZTV7QBitmap) + 16u)
+ QPixmap (0x7f2f3b3bda80) 0
+ primary-for QBitmap (0x7f2f3b3bda10)
+ QPaintDevice (0x7f2f3b3bdaf0) 0
+ primary-for QPixmap (0x7f2f3b3bda80)
+
+Vtable for QIconEngine
+QIconEngine::_ZTV11QIconEngine: 9u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QIconEngine)
+16 QIconEngine::~QIconEngine
+24 QIconEngine::~QIconEngine
+32 __cxa_pure_virtual
+40 QIconEngine::actualSize
+48 QIconEngine::pixmap
+56 QIconEngine::addPixmap
+64 QIconEngine::addFile
+
+Class QIconEngine
+ size=8 align=8
+ base size=8 base align=8
+QIconEngine (0x7f2f3b3ee8c0) 0 nearly-empty
+ vptr=((& QIconEngine::_ZTV11QIconEngine) + 16u)
+
+Class QIconEngineV2::AvailableSizesArgument
+ size=16 align=8
+ base size=16 base align=8
+QIconEngineV2::AvailableSizesArgument (0x7f2f3b3fa070) 0
+
+Vtable for QIconEngineV2
+QIconEngineV2::_ZTV13QIconEngineV2: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QIconEngineV2)
+16 QIconEngineV2::~QIconEngineV2
+24 QIconEngineV2::~QIconEngineV2
+32 __cxa_pure_virtual
+40 QIconEngine::actualSize
+48 QIconEngine::pixmap
+56 QIconEngine::addPixmap
+64 QIconEngine::addFile
+72 QIconEngineV2::key
+80 QIconEngineV2::clone
+88 QIconEngineV2::read
+96 QIconEngineV2::write
+104 QIconEngineV2::virtual_hook
+
+Class QIconEngineV2
+ size=8 align=8
+ base size=8 base align=8
+QIconEngineV2 (0x7f2f3b3eee70) 0 nearly-empty
+ vptr=((& QIconEngineV2::_ZTV13QIconEngineV2) + 16u)
+ QIconEngine (0x7f2f3b3eeee0) 0 nearly-empty
+ primary-for QIconEngineV2 (0x7f2f3b3eee70)
+
+Vtable for QIconEngineFactoryInterface
+QIconEngineFactoryInterface::_ZTV27QIconEngineFactoryInterface: 6u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI27QIconEngineFactoryInterface)
+16 QIconEngineFactoryInterface::~QIconEngineFactoryInterface
+24 QIconEngineFactoryInterface::~QIconEngineFactoryInterface
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+
+Class QIconEngineFactoryInterface
+ size=8 align=8
+ base size=8 base align=8
+QIconEngineFactoryInterface (0x7f2f3b3fa850) 0 nearly-empty
+ vptr=((& QIconEngineFactoryInterface::_ZTV27QIconEngineFactoryInterface) + 16u)
+ QFactoryInterface (0x7f2f3b3fa8c0) 0 nearly-empty
+ primary-for QIconEngineFactoryInterface (0x7f2f3b3fa850)
+
+Vtable for QIconEnginePlugin
+QIconEnginePlugin::_ZTV17QIconEnginePlugin: 22u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QIconEnginePlugin)
+16 QIconEnginePlugin::metaObject
+24 QIconEnginePlugin::qt_metacast
+32 QIconEnginePlugin::qt_metacall
+40 QIconEnginePlugin::~QIconEnginePlugin
+48 QIconEnginePlugin::~QIconEnginePlugin
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 (int (*)(...))-0x00000000000000010
+136 (int (*)(...))(& _ZTI17QIconEnginePlugin)
+144 QIconEnginePlugin::_ZThn16_N17QIconEnginePluginD1Ev
+152 QIconEnginePlugin::_ZThn16_N17QIconEnginePluginD0Ev
+160 __cxa_pure_virtual
+168 __cxa_pure_virtual
+
+Class QIconEnginePlugin
+ size=24 align=8
+ base size=24 base align=8
+QIconEnginePlugin (0x7f2f3b3f5f80) 0
+ vptr=((& QIconEnginePlugin::_ZTV17QIconEnginePlugin) + 16u)
+ QObject (0x7f2f3b4301c0) 0
+ primary-for QIconEnginePlugin (0x7f2f3b3f5f80)
+ QIconEngineFactoryInterface (0x7f2f3b430230) 16 nearly-empty
+ vptr=((& QIconEnginePlugin::_ZTV17QIconEnginePlugin) + 144u)
+ QFactoryInterface (0x7f2f3b4302a0) 16 nearly-empty
+ primary-for QIconEngineFactoryInterface (0x7f2f3b430230)
+
+Vtable for QIconEngineFactoryInterfaceV2
+QIconEngineFactoryInterfaceV2::_ZTV29QIconEngineFactoryInterfaceV2: 6u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI29QIconEngineFactoryInterfaceV2)
+16 QIconEngineFactoryInterfaceV2::~QIconEngineFactoryInterfaceV2
+24 QIconEngineFactoryInterfaceV2::~QIconEngineFactoryInterfaceV2
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+
+Class QIconEngineFactoryInterfaceV2
+ size=8 align=8
+ base size=8 base align=8
+QIconEngineFactoryInterfaceV2 (0x7f2f3b442150) 0 nearly-empty
+ vptr=((& QIconEngineFactoryInterfaceV2::_ZTV29QIconEngineFactoryInterfaceV2) + 16u)
+ QFactoryInterface (0x7f2f3b4421c0) 0 nearly-empty
+ primary-for QIconEngineFactoryInterfaceV2 (0x7f2f3b442150)
+
+Vtable for QIconEnginePluginV2
+QIconEnginePluginV2::_ZTV19QIconEnginePluginV2: 22u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QIconEnginePluginV2)
+16 QIconEnginePluginV2::metaObject
+24 QIconEnginePluginV2::qt_metacast
+32 QIconEnginePluginV2::qt_metacall
+40 QIconEnginePluginV2::~QIconEnginePluginV2
+48 QIconEnginePluginV2::~QIconEnginePluginV2
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 (int (*)(...))-0x00000000000000010
+136 (int (*)(...))(& _ZTI19QIconEnginePluginV2)
+144 QIconEnginePluginV2::_ZThn16_N19QIconEnginePluginV2D1Ev
+152 QIconEnginePluginV2::_ZThn16_N19QIconEnginePluginV2D0Ev
+160 __cxa_pure_virtual
+168 __cxa_pure_virtual
+
+Class QIconEnginePluginV2
+ size=24 align=8
+ base size=24 base align=8
+QIconEnginePluginV2 (0x7f2f3b44f000) 0
+ vptr=((& QIconEnginePluginV2::_ZTV19QIconEnginePluginV2) + 16u)
+ QObject (0x7f2f3b442c40) 0
+ primary-for QIconEnginePluginV2 (0x7f2f3b44f000)
+ QIconEngineFactoryInterfaceV2 (0x7f2f3b442cb0) 16 nearly-empty
+ vptr=((& QIconEnginePluginV2::_ZTV19QIconEnginePluginV2) + 144u)
+ QFactoryInterface (0x7f2f3b442d20) 16 nearly-empty
+ primary-for QIconEngineFactoryInterfaceV2 (0x7f2f3b442cb0)
+
+Vtable for QImageIOHandler
+QImageIOHandler::_ZTV15QImageIOHandler: 18u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QImageIOHandler)
+16 QImageIOHandler::~QImageIOHandler
+24 QImageIOHandler::~QImageIOHandler
+32 QImageIOHandler::name
+40 __cxa_pure_virtual
+48 __cxa_pure_virtual
+56 QImageIOHandler::write
+64 QImageIOHandler::option
+72 QImageIOHandler::setOption
+80 QImageIOHandler::supportsOption
+88 QImageIOHandler::jumpToNextImage
+96 QImageIOHandler::jumpToImage
+104 QImageIOHandler::loopCount
+112 QImageIOHandler::imageCount
+120 QImageIOHandler::nextImageDelay
+128 QImageIOHandler::currentImageNumber
+136 QImageIOHandler::currentImageRect
+
+Class QImageIOHandler
+ size=16 align=8
+ base size=16 base align=8
+QImageIOHandler (0x7f2f3b258bd0) 0
+ vptr=((& QImageIOHandler::_ZTV15QImageIOHandler) + 16u)
+
+Vtable for QImageIOHandlerFactoryInterface
+QImageIOHandlerFactoryInterface::_ZTV31QImageIOHandlerFactoryInterface: 6u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI31QImageIOHandlerFactoryInterface)
+16 QImageIOHandlerFactoryInterface::~QImageIOHandlerFactoryInterface
+24 QImageIOHandlerFactoryInterface::~QImageIOHandlerFactoryInterface
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+
+Class QImageIOHandlerFactoryInterface
+ size=8 align=8
+ base size=8 base align=8
+QImageIOHandlerFactoryInterface (0x7f2f3b2729a0) 0 nearly-empty
+ vptr=((& QImageIOHandlerFactoryInterface::_ZTV31QImageIOHandlerFactoryInterface) + 16u)
+ QFactoryInterface (0x7f2f3b272a10) 0 nearly-empty
+ primary-for QImageIOHandlerFactoryInterface (0x7f2f3b2729a0)
+
+Vtable for QImageIOPlugin
+QImageIOPlugin::_ZTV14QImageIOPlugin: 23u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QImageIOPlugin)
+16 QImageIOPlugin::metaObject
+24 QImageIOPlugin::qt_metacast
+32 QImageIOPlugin::qt_metacall
+40 QImageIOPlugin::~QImageIOPlugin
+48 QImageIOPlugin::~QImageIOPlugin
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 __cxa_pure_virtual
+136 (int (*)(...))-0x00000000000000010
+144 (int (*)(...))(& _ZTI14QImageIOPlugin)
+152 QImageIOPlugin::_ZThn16_N14QImageIOPluginD1Ev
+160 QImageIOPlugin::_ZThn16_N14QImageIOPluginD0Ev
+168 __cxa_pure_virtual
+176 __cxa_pure_virtual
+
+Class QImageIOPlugin
+ size=24 align=8
+ base size=24 base align=8
+QImageIOPlugin (0x7f2f3b277c00) 0
+ vptr=((& QImageIOPlugin::_ZTV14QImageIOPlugin) + 16u)
+ QObject (0x7f2f3b2843f0) 0
+ primary-for QImageIOPlugin (0x7f2f3b277c00)
+ QImageIOHandlerFactoryInterface (0x7f2f3b284460) 16 nearly-empty
+ vptr=((& QImageIOPlugin::_ZTV14QImageIOPlugin) + 152u)
+ QFactoryInterface (0x7f2f3b2844d0) 16 nearly-empty
+ primary-for QImageIOHandlerFactoryInterface (0x7f2f3b284460)
+
+Class QImageReader
+ size=8 align=8
+ base size=8 base align=8
+QImageReader (0x7f2f3b2d94d0) 0
+
+Class QImageWriter
+ size=8 align=8
+ base size=8 base align=8
+QImageWriter (0x7f2f3b2d9ee0) 0
+
+Vtable for QMovie
+QMovie::_ZTV6QMovie: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI6QMovie)
+16 QMovie::metaObject
+24 QMovie::qt_metacast
+32 QMovie::qt_metacall
+40 QMovie::~QMovie
+48 QMovie::~QMovie
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QMovie
+ size=16 align=8
+ base size=16 base align=8
+QMovie (0x7f2f3b2ee770) 0
+ vptr=((& QMovie::_ZTV6QMovie) + 16u)
+ QObject (0x7f2f3b2ee7e0) 0
+ primary-for QMovie (0x7f2f3b2ee770)
+
+Vtable for QPicture
+QPicture::_ZTV8QPicture: 8u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI8QPicture)
+16 QPicture::~QPicture
+24 QPicture::~QPicture
+32 QPicture::devType
+40 QPicture::paintEngine
+48 QPicture::metric
+56 QPicture::setData
+
+Class QPicture
+ size=24 align=8
+ base size=24 base align=8
+QPicture (0x7f2f3b3317e0) 0
+ vptr=((& QPicture::_ZTV8QPicture) + 16u)
+ QPaintDevice (0x7f2f3b331850) 0
+ primary-for QPicture (0x7f2f3b3317e0)
+
+Class QPictureIO
+ size=8 align=8
+ base size=8 base align=8
+QPictureIO (0x7f2f3b155310) 0
+
+Vtable for QPictureFormatInterface
+QPictureFormatInterface::_ZTV23QPictureFormatInterface: 8u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI23QPictureFormatInterface)
+16 QPictureFormatInterface::~QPictureFormatInterface
+24 QPictureFormatInterface::~QPictureFormatInterface
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+48 __cxa_pure_virtual
+56 __cxa_pure_virtual
+
+Class QPictureFormatInterface
+ size=8 align=8
+ base size=8 base align=8
+QPictureFormatInterface (0x7f2f3b155930) 0 nearly-empty
+ vptr=((& QPictureFormatInterface::_ZTV23QPictureFormatInterface) + 16u)
+ QFactoryInterface (0x7f2f3b1559a0) 0 nearly-empty
+ primary-for QPictureFormatInterface (0x7f2f3b155930)
+
+Vtable for QPictureFormatPlugin
+QPictureFormatPlugin::_ZTV20QPictureFormatPlugin: 26u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI20QPictureFormatPlugin)
+16 QPictureFormatPlugin::metaObject
+24 QPictureFormatPlugin::qt_metacast
+32 QPictureFormatPlugin::qt_metacall
+40 QPictureFormatPlugin::~QPictureFormatPlugin
+48 QPictureFormatPlugin::~QPictureFormatPlugin
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+120 QPictureFormatPlugin::loadPicture
+128 QPictureFormatPlugin::savePicture
+136 __cxa_pure_virtual
+144 (int (*)(...))-0x00000000000000010
+152 (int (*)(...))(& _ZTI20QPictureFormatPlugin)
+160 QPictureFormatPlugin::_ZThn16_N20QPictureFormatPluginD1Ev
+168 QPictureFormatPlugin::_ZThn16_N20QPictureFormatPluginD0Ev
+176 __cxa_pure_virtual
+184 QPictureFormatPlugin::_ZThn16_N20QPictureFormatPlugin11loadPictureERK7QStringS2_P8QPicture
+192 QPictureFormatPlugin::_ZThn16_N20QPictureFormatPlugin11savePictureERK7QStringS2_RK8QPicture
+200 __cxa_pure_virtual
+
+Class QPictureFormatPlugin
+ size=24 align=8
+ base size=24 base align=8
+QPictureFormatPlugin (0x7f2f3b171300) 0
+ vptr=((& QPictureFormatPlugin::_ZTV20QPictureFormatPlugin) + 16u)
+ QObject (0x7f2f3b173310) 0
+ primary-for QPictureFormatPlugin (0x7f2f3b171300)
+ QPictureFormatInterface (0x7f2f3b173380) 16 nearly-empty
+ vptr=((& QPictureFormatPlugin::_ZTV20QPictureFormatPlugin) + 160u)
+ QFactoryInterface (0x7f2f3b1733f0) 16 nearly-empty
+ primary-for QPictureFormatInterface (0x7f2f3b173380)
+
+Class QPixmapCache::Key
+ size=8 align=8
+ base size=8 base align=8
+QPixmapCache::Key (0x7f2f3b183310) 0
+
+Class QPixmapCache
+ size=1 align=1
+ base size=0 base align=1
+QPixmapCache (0x7f2f3b1832a0) 0 empty
+
+Vtable for QGraphicsEffect
+QGraphicsEffect::_ZTV15QGraphicsEffect: 17u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QGraphicsEffect)
+16 QGraphicsEffect::metaObject
+24 QGraphicsEffect::qt_metacast
+32 QGraphicsEffect::qt_metacall
+40 QGraphicsEffect::~QGraphicsEffect
+48 QGraphicsEffect::~QGraphicsEffect
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QGraphicsEffect::boundingRectFor
+120 __cxa_pure_virtual
+128 QGraphicsEffect::sourceChanged
+
+Class QGraphicsEffect
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsEffect (0x7f2f3b18b150) 0
+ vptr=((& QGraphicsEffect::_ZTV15QGraphicsEffect) + 16u)
+ QObject (0x7f2f3b18b1c0) 0
+ primary-for QGraphicsEffect (0x7f2f3b18b150)
+
+Vtable for QGraphicsColorizeEffect
+QGraphicsColorizeEffect::_ZTV23QGraphicsColorizeEffect: 17u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI23QGraphicsColorizeEffect)
+16 QGraphicsColorizeEffect::metaObject
+24 QGraphicsColorizeEffect::qt_metacast
+32 QGraphicsColorizeEffect::qt_metacall
+40 QGraphicsColorizeEffect::~QGraphicsColorizeEffect
+48 QGraphicsColorizeEffect::~QGraphicsColorizeEffect
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QGraphicsEffect::boundingRectFor
+120 QGraphicsColorizeEffect::draw
+128 QGraphicsEffect::sourceChanged
+
+Class QGraphicsColorizeEffect
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsColorizeEffect (0x7f2f3b1d1c40) 0
+ vptr=((& QGraphicsColorizeEffect::_ZTV23QGraphicsColorizeEffect) + 16u)
+ QGraphicsEffect (0x7f2f3b1d1cb0) 0
+ primary-for QGraphicsColorizeEffect (0x7f2f3b1d1c40)
+ QObject (0x7f2f3b1d1d20) 0
+ primary-for QGraphicsEffect (0x7f2f3b1d1cb0)
+
+Vtable for QGraphicsBlurEffect
+QGraphicsBlurEffect::_ZTV19QGraphicsBlurEffect: 17u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QGraphicsBlurEffect)
+16 QGraphicsBlurEffect::metaObject
+24 QGraphicsBlurEffect::qt_metacast
+32 QGraphicsBlurEffect::qt_metacall
+40 QGraphicsBlurEffect::~QGraphicsBlurEffect
+48 QGraphicsBlurEffect::~QGraphicsBlurEffect
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QGraphicsBlurEffect::boundingRectFor
+120 QGraphicsBlurEffect::draw
+128 QGraphicsEffect::sourceChanged
+
+Class QGraphicsBlurEffect
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsBlurEffect (0x7f2f3b2015b0) 0
+ vptr=((& QGraphicsBlurEffect::_ZTV19QGraphicsBlurEffect) + 16u)
+ QGraphicsEffect (0x7f2f3b201620) 0
+ primary-for QGraphicsBlurEffect (0x7f2f3b2015b0)
+ QObject (0x7f2f3b201690) 0
+ primary-for QGraphicsEffect (0x7f2f3b201620)
+
+Vtable for QGraphicsDropShadowEffect
+QGraphicsDropShadowEffect::_ZTV25QGraphicsDropShadowEffect: 17u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI25QGraphicsDropShadowEffect)
+16 QGraphicsDropShadowEffect::metaObject
+24 QGraphicsDropShadowEffect::qt_metacast
+32 QGraphicsDropShadowEffect::qt_metacall
+40 QGraphicsDropShadowEffect::~QGraphicsDropShadowEffect
+48 QGraphicsDropShadowEffect::~QGraphicsDropShadowEffect
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QGraphicsDropShadowEffect::boundingRectFor
+120 QGraphicsDropShadowEffect::draw
+128 QGraphicsEffect::sourceChanged
+
+Class QGraphicsDropShadowEffect
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsDropShadowEffect (0x7f2f3b05e0e0) 0
+ vptr=((& QGraphicsDropShadowEffect::_ZTV25QGraphicsDropShadowEffect) + 16u)
+ QGraphicsEffect (0x7f2f3b05e150) 0
+ primary-for QGraphicsDropShadowEffect (0x7f2f3b05e0e0)
+ QObject (0x7f2f3b05e1c0) 0
+ primary-for QGraphicsEffect (0x7f2f3b05e150)
+
+Vtable for QGraphicsOpacityEffect
+QGraphicsOpacityEffect::_ZTV22QGraphicsOpacityEffect: 17u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI22QGraphicsOpacityEffect)
+16 QGraphicsOpacityEffect::metaObject
+24 QGraphicsOpacityEffect::qt_metacast
+32 QGraphicsOpacityEffect::qt_metacall
+40 QGraphicsOpacityEffect::~QGraphicsOpacityEffect
+48 QGraphicsOpacityEffect::~QGraphicsOpacityEffect
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QGraphicsEffect::boundingRectFor
+120 QGraphicsOpacityEffect::draw
+128 QGraphicsEffect::sourceChanged
+
+Class QGraphicsOpacityEffect
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsOpacityEffect (0x7f2f3b07e5b0) 0
+ vptr=((& QGraphicsOpacityEffect::_ZTV22QGraphicsOpacityEffect) + 16u)
+ QGraphicsEffect (0x7f2f3b07e620) 0
+ primary-for QGraphicsOpacityEffect (0x7f2f3b07e5b0)
+ QObject (0x7f2f3b07e690) 0
+ primary-for QGraphicsEffect (0x7f2f3b07e620)
+
+Class QVFbHeader
+ size=1088 align=8
+ base size=1088 base align=8
+QVFbHeader (0x7f2f3b08eee0) 0
+
+Class QVFbKeyData
+ size=12 align=4
+ base size=12 base align=4
+QVFbKeyData (0x7f2f3b08ef50) 0
+
+Vtable for QWSEmbedWidget
+QWSEmbedWidget::_ZTV14QWSEmbedWidget: 63u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QWSEmbedWidget)
+16 QWSEmbedWidget::metaObject
+24 QWSEmbedWidget::qt_metacast
+32 QWSEmbedWidget::qt_metacall
+40 QWSEmbedWidget::~QWSEmbedWidget
+48 QWSEmbedWidget::~QWSEmbedWidget
+56 QWidget::event
+64 QWSEmbedWidget::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QWidget::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QWidget::paintEvent
+256 QWSEmbedWidget::moveEvent
+264 QWSEmbedWidget::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWSEmbedWidget::showEvent
+344 QWSEmbedWidget::hideEvent
+352 QWidget::x11Event
+360 QWSEmbedWidget::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 (int (*)(...))-0x00000000000000010
+456 (int (*)(...))(& _ZTI14QWSEmbedWidget)
+464 QWSEmbedWidget::_ZThn16_N14QWSEmbedWidgetD1Ev
+472 QWSEmbedWidget::_ZThn16_N14QWSEmbedWidgetD0Ev
+480 QWidget::_ZThn16_NK7QWidget7devTypeEv
+488 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+496 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QWSEmbedWidget
+ size=40 align=8
+ base size=40 base align=8
+QWSEmbedWidget (0x7f2f3b09a000) 0
+ vptr=((& QWSEmbedWidget::_ZTV14QWSEmbedWidget) + 16u)
+ QWidget (0x7f2f3b08c900) 0
+ primary-for QWSEmbedWidget (0x7f2f3b09a000)
+ QObject (0x7f2f3b09a070) 0
+ primary-for QWidget (0x7f2f3b08c900)
+ QPaintDevice (0x7f2f3b09a0e0) 16
+ vptr=((& QWSEmbedWidget::_ZTV14QWSEmbedWidget) + 464u)
+
+Class QColormap
+ size=8 align=8
+ base size=8 base align=8
+QColormap (0x7f2f3b0b14d0) 0
+
+Class QTileRules
+ size=8 align=4
+ base size=8 base align=4
+QTileRules (0x7f2f3b0b1cb0) 0
+
+Class QDrawPixmaps::Data
+ size=80 align=8
+ base size=80 base align=8
+QDrawPixmaps::Data (0x7f2f3b0c8d20) 0
+
+Class QPainter
+ size=8 align=8
+ base size=8 base align=8
+QPainter (0x7f2f3b0c8e00) 0
+
+Class QTextItem
+ size=1 align=1
+ base size=0 base align=1
+QTextItem (0x7f2f3aef78c0) 0 empty
+
+Vtable for QPaintEngine
+QPaintEngine::_ZTV12QPaintEngine: 24u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QPaintEngine)
+16 QPaintEngine::~QPaintEngine
+24 QPaintEngine::~QPaintEngine
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+48 __cxa_pure_virtual
+56 QPaintEngine::drawRects
+64 QPaintEngine::drawRects
+72 QPaintEngine::drawLines
+80 QPaintEngine::drawLines
+88 QPaintEngine::drawEllipse
+96 QPaintEngine::drawEllipse
+104 QPaintEngine::drawPath
+112 QPaintEngine::drawPoints
+120 QPaintEngine::drawPoints
+128 QPaintEngine::drawPolygon
+136 QPaintEngine::drawPolygon
+144 __cxa_pure_virtual
+152 QPaintEngine::drawTextItem
+160 QPaintEngine::drawTiledPixmap
+168 QPaintEngine::drawImage
+176 QPaintEngine::coordinateOffset
+184 __cxa_pure_virtual
+
+Class QPaintEngine
+ size=32 align=8
+ base size=32 base align=8
+QPaintEngine (0x7f2f3aef7ee0) 0
+ vptr=((& QPaintEngine::_ZTV12QPaintEngine) + 16u)
+
+Class QPaintEngineState
+ size=4 align=4
+ base size=4 base align=4
+QPaintEngineState (0x7f2f3af42b60) 0
+
+Vtable for QPrinter
+QPrinter::_ZTV8QPrinter: 7u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI8QPrinter)
+16 QPrinter::~QPrinter
+24 QPrinter::~QPrinter
+32 QPrinter::devType
+40 QPrinter::paintEngine
+48 QPrinter::metric
+
+Class QPrinter
+ size=24 align=8
+ base size=24 base align=8
+QPrinter (0x7f2f3ae10e70) 0
+ vptr=((& QPrinter::_ZTV8QPrinter) + 16u)
+ QPaintDevice (0x7f2f3ae10ee0) 0
+ primary-for QPrinter (0x7f2f3ae10e70)
+
+Vtable for QPrintEngine
+QPrintEngine::_ZTV12QPrintEngine: 10u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QPrintEngine)
+16 QPrintEngine::~QPrintEngine
+24 QPrintEngine::~QPrintEngine
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+48 __cxa_pure_virtual
+56 __cxa_pure_virtual
+64 __cxa_pure_virtual
+72 __cxa_pure_virtual
+
+Class QPrintEngine
+ size=8 align=8
+ base size=8 base align=8
+QPrintEngine (0x7f2f3ac76540) 0 nearly-empty
+ vptr=((& QPrintEngine::_ZTV12QPrintEngine) + 16u)
+
+Class QPrinterInfo
+ size=8 align=8
+ base size=8 base align=8
+QPrinterInfo (0x7f2f3ac842a0) 0
+
+Class QStylePainter
+ size=24 align=8
+ base size=24 base align=8
+QStylePainter (0x7f2f3ac8b9a0) 0
+ QPainter (0x7f2f3ac8ba10) 0
+
+Vtable for QAbstractProxyModel
+QAbstractProxyModel::_ZTV19QAbstractProxyModel: 47u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QAbstractProxyModel)
+16 QAbstractProxyModel::metaObject
+24 QAbstractProxyModel::qt_metacast
+32 QAbstractProxyModel::qt_metacall
+40 QAbstractProxyModel::~QAbstractProxyModel
+48 QAbstractProxyModel::~QAbstractProxyModel
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 __cxa_pure_virtual
+136 __cxa_pure_virtual
+144 QAbstractItemModel::hasChildren
+152 QAbstractProxyModel::data
+160 QAbstractProxyModel::setData
+168 QAbstractProxyModel::headerData
+176 QAbstractProxyModel::setHeaderData
+184 QAbstractProxyModel::itemData
+192 QAbstractItemModel::setItemData
+200 QAbstractItemModel::mimeTypes
+208 QAbstractItemModel::mimeData
+216 QAbstractItemModel::dropMimeData
+224 QAbstractItemModel::supportedDropActions
+232 QAbstractItemModel::insertRows
+240 QAbstractItemModel::insertColumns
+248 QAbstractItemModel::removeRows
+256 QAbstractItemModel::removeColumns
+264 QAbstractItemModel::fetchMore
+272 QAbstractItemModel::canFetchMore
+280 QAbstractProxyModel::flags
+288 QAbstractItemModel::sort
+296 QAbstractItemModel::buddy
+304 QAbstractItemModel::match
+312 QAbstractItemModel::span
+320 QAbstractProxyModel::submit
+328 QAbstractProxyModel::revert
+336 QAbstractProxyModel::setSourceModel
+344 __cxa_pure_virtual
+352 __cxa_pure_virtual
+360 QAbstractProxyModel::mapSelectionToSource
+368 QAbstractProxyModel::mapSelectionFromSource
+
+Class QAbstractProxyModel
+ size=16 align=8
+ base size=16 base align=8
+QAbstractProxyModel (0x7f2f3acbcee0) 0
+ vptr=((& QAbstractProxyModel::_ZTV19QAbstractProxyModel) + 16u)
+ QAbstractItemModel (0x7f2f3acbcf50) 0
+ primary-for QAbstractProxyModel (0x7f2f3acbcee0)
+ QObject (0x7f2f3acc1000) 0
+ primary-for QAbstractItemModel (0x7f2f3acbcf50)
+
+Vtable for QColumnView
+QColumnView::_ZTV11QColumnView: 104u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QColumnView)
+16 QColumnView::metaObject
+24 QColumnView::qt_metacast
+32 QColumnView::qt_metacall
+40 QColumnView::~QColumnView
+48 QColumnView::~QColumnView
+56 QAbstractItemView::event
+64 QObject::eventFilter
+72 QAbstractItemView::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QColumnView::sizeHint
+136 QAbstractScrollArea::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QAbstractItemView::mousePressEvent
+168 QAbstractItemView::mouseReleaseEvent
+176 QAbstractItemView::mouseDoubleClickEvent
+184 QAbstractItemView::mouseMoveEvent
+192 QAbstractScrollArea::wheelEvent
+200 QAbstractItemView::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QAbstractItemView::focusInEvent
+224 QAbstractItemView::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QAbstractScrollArea::paintEvent
+256 QWidget::moveEvent
+264 QColumnView::resizeEvent
+272 QWidget::closeEvent
+280 QAbstractScrollArea::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QAbstractItemView::dragEnterEvent
+312 QAbstractItemView::dragMoveEvent
+320 QAbstractItemView::dragLeaveEvent
+328 QAbstractItemView::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QFrame::changeEvent
+368 QWidget::metric
+376 QAbstractItemView::inputMethodEvent
+384 QAbstractItemView::inputMethodQuery
+392 QAbstractItemView::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QAbstractItemView::viewportEvent
+456 QColumnView::scrollContentsBy
+464 QColumnView::setModel
+472 QColumnView::setSelectionModel
+480 QAbstractItemView::keyboardSearch
+488 QColumnView::visualRect
+496 QColumnView::scrollTo
+504 QColumnView::indexAt
+512 QAbstractItemView::sizeHintForRow
+520 QAbstractItemView::sizeHintForColumn
+528 QAbstractItemView::reset
+536 QColumnView::setRootIndex
+544 QAbstractItemView::doItemsLayout
+552 QColumnView::selectAll
+560 QAbstractItemView::dataChanged
+568 QColumnView::rowsInserted
+576 QAbstractItemView::rowsAboutToBeRemoved
+584 QAbstractItemView::selectionChanged
+592 QColumnView::currentChanged
+600 QAbstractItemView::updateEditorData
+608 QAbstractItemView::updateEditorGeometries
+616 QAbstractItemView::updateGeometries
+624 QAbstractItemView::verticalScrollbarAction
+632 QAbstractItemView::horizontalScrollbarAction
+640 QAbstractItemView::verticalScrollbarValueChanged
+648 QAbstractItemView::horizontalScrollbarValueChanged
+656 QAbstractItemView::closeEditor
+664 QAbstractItemView::commitData
+672 QAbstractItemView::editorDestroyed
+680 QColumnView::moveCursor
+688 QColumnView::horizontalOffset
+696 QColumnView::verticalOffset
+704 QColumnView::isIndexHidden
+712 QColumnView::setSelection
+720 QColumnView::visualRegionForSelection
+728 QAbstractItemView::selectedIndexes
+736 QAbstractItemView::edit
+744 QAbstractItemView::selectionCommand
+752 QAbstractItemView::startDrag
+760 QAbstractItemView::viewOptions
+768 QColumnView::createColumn
+776 (int (*)(...))-0x00000000000000010
+784 (int (*)(...))(& _ZTI11QColumnView)
+792 QColumnView::_ZThn16_N11QColumnViewD1Ev
+800 QColumnView::_ZThn16_N11QColumnViewD0Ev
+808 QWidget::_ZThn16_NK7QWidget7devTypeEv
+816 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+824 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QColumnView
+ size=40 align=8
+ base size=40 base align=8
+QColumnView (0x7f2f3acd6af0) 0
+ vptr=((& QColumnView::_ZTV11QColumnView) + 16u)
+ QAbstractItemView (0x7f2f3acd6b60) 0
+ primary-for QColumnView (0x7f2f3acd6af0)
+ QAbstractScrollArea (0x7f2f3acd6bd0) 0
+ primary-for QAbstractItemView (0x7f2f3acd6b60)
+ QFrame (0x7f2f3acd6c40) 0
+ primary-for QAbstractScrollArea (0x7f2f3acd6bd0)
+ QWidget (0x7f2f3acdd200) 0
+ primary-for QFrame (0x7f2f3acd6c40)
+ QObject (0x7f2f3acd6cb0) 0
+ primary-for QWidget (0x7f2f3acdd200)
+ QPaintDevice (0x7f2f3acd6d20) 16
+ vptr=((& QColumnView::_ZTV11QColumnView) + 792u)
+
+Vtable for QDataWidgetMapper
+QDataWidgetMapper::_ZTV17QDataWidgetMapper: 15u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QDataWidgetMapper)
+16 QDataWidgetMapper::metaObject
+24 QDataWidgetMapper::qt_metacast
+32 QDataWidgetMapper::qt_metacall
+40 QDataWidgetMapper::~QDataWidgetMapper
+48 QDataWidgetMapper::~QDataWidgetMapper
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QDataWidgetMapper::setCurrentIndex
+
+Class QDataWidgetMapper
+ size=16 align=8
+ base size=16 base align=8
+QDataWidgetMapper (0x7f2f3acfcc40) 0
+ vptr=((& QDataWidgetMapper::_ZTV17QDataWidgetMapper) + 16u)
+ QObject (0x7f2f3acfccb0) 0
+ primary-for QDataWidgetMapper (0x7f2f3acfcc40)
+
+Vtable for QFileIconProvider
+QFileIconProvider::_ZTV17QFileIconProvider: 7u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QFileIconProvider)
+16 QFileIconProvider::~QFileIconProvider
+24 QFileIconProvider::~QFileIconProvider
+32 QFileIconProvider::icon
+40 QFileIconProvider::icon
+48 QFileIconProvider::type
+
+Class QFileIconProvider
+ size=16 align=8
+ base size=16 base align=8
+QFileIconProvider (0x7f2f3ad1f700) 0
+ vptr=((& QFileIconProvider::_ZTV17QFileIconProvider) + 16u)
+
+Vtable for QDirModel
+QDirModel::_ZTV9QDirModel: 42u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QDirModel)
+16 QDirModel::metaObject
+24 QDirModel::qt_metacast
+32 QDirModel::qt_metacall
+40 QDirModel::~QDirModel
+48 QDirModel::~QDirModel
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QDirModel::index
+120 QDirModel::parent
+128 QDirModel::rowCount
+136 QDirModel::columnCount
+144 QDirModel::hasChildren
+152 QDirModel::data
+160 QDirModel::setData
+168 QDirModel::headerData
+176 QAbstractItemModel::setHeaderData
+184 QAbstractItemModel::itemData
+192 QAbstractItemModel::setItemData
+200 QDirModel::mimeTypes
+208 QDirModel::mimeData
+216 QDirModel::dropMimeData
+224 QDirModel::supportedDropActions
+232 QAbstractItemModel::insertRows
+240 QAbstractItemModel::insertColumns
+248 QAbstractItemModel::removeRows
+256 QAbstractItemModel::removeColumns
+264 QAbstractItemModel::fetchMore
+272 QAbstractItemModel::canFetchMore
+280 QDirModel::flags
+288 QDirModel::sort
+296 QAbstractItemModel::buddy
+304 QAbstractItemModel::match
+312 QAbstractItemModel::span
+320 QAbstractItemModel::submit
+328 QAbstractItemModel::revert
+
+Class QDirModel
+ size=16 align=8
+ base size=16 base align=8
+QDirModel (0x7f2f3ad31380) 0
+ vptr=((& QDirModel::_ZTV9QDirModel) + 16u)
+ QAbstractItemModel (0x7f2f3ad313f0) 0
+ primary-for QDirModel (0x7f2f3ad31380)
+ QObject (0x7f2f3ad31460) 0
+ primary-for QAbstractItemModel (0x7f2f3ad313f0)
+
+Vtable for QHeaderView
+QHeaderView::_ZTV11QHeaderView: 105u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QHeaderView)
+16 QHeaderView::metaObject
+24 QHeaderView::qt_metacast
+32 QHeaderView::qt_metacall
+40 QHeaderView::~QHeaderView
+48 QHeaderView::~QHeaderView
+56 QHeaderView::event
+64 QObject::eventFilter
+72 QAbstractItemView::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QHeaderView::sizeHint
+136 QAbstractScrollArea::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QHeaderView::mousePressEvent
+168 QHeaderView::mouseReleaseEvent
+176 QHeaderView::mouseDoubleClickEvent
+184 QHeaderView::mouseMoveEvent
+192 QAbstractScrollArea::wheelEvent
+200 QAbstractItemView::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QAbstractItemView::focusInEvent
+224 QAbstractItemView::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QHeaderView::paintEvent
+256 QWidget::moveEvent
+264 QAbstractItemView::resizeEvent
+272 QWidget::closeEvent
+280 QAbstractScrollArea::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QAbstractItemView::dragEnterEvent
+312 QAbstractItemView::dragMoveEvent
+320 QAbstractItemView::dragLeaveEvent
+328 QAbstractItemView::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QFrame::changeEvent
+368 QWidget::metric
+376 QAbstractItemView::inputMethodEvent
+384 QAbstractItemView::inputMethodQuery
+392 QAbstractItemView::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QHeaderView::viewportEvent
+456 QHeaderView::scrollContentsBy
+464 QHeaderView::setModel
+472 QAbstractItemView::setSelectionModel
+480 QAbstractItemView::keyboardSearch
+488 QHeaderView::visualRect
+496 QHeaderView::scrollTo
+504 QHeaderView::indexAt
+512 QAbstractItemView::sizeHintForRow
+520 QAbstractItemView::sizeHintForColumn
+528 QHeaderView::reset
+536 QAbstractItemView::setRootIndex
+544 QHeaderView::doItemsLayout
+552 QAbstractItemView::selectAll
+560 QHeaderView::dataChanged
+568 QHeaderView::rowsInserted
+576 QAbstractItemView::rowsAboutToBeRemoved
+584 QAbstractItemView::selectionChanged
+592 QHeaderView::currentChanged
+600 QAbstractItemView::updateEditorData
+608 QAbstractItemView::updateEditorGeometries
+616 QHeaderView::updateGeometries
+624 QAbstractItemView::verticalScrollbarAction
+632 QAbstractItemView::horizontalScrollbarAction
+640 QAbstractItemView::verticalScrollbarValueChanged
+648 QAbstractItemView::horizontalScrollbarValueChanged
+656 QAbstractItemView::closeEditor
+664 QAbstractItemView::commitData
+672 QAbstractItemView::editorDestroyed
+680 QHeaderView::moveCursor
+688 QHeaderView::horizontalOffset
+696 QHeaderView::verticalOffset
+704 QHeaderView::isIndexHidden
+712 QHeaderView::setSelection
+720 QHeaderView::visualRegionForSelection
+728 QAbstractItemView::selectedIndexes
+736 QAbstractItemView::edit
+744 QAbstractItemView::selectionCommand
+752 QAbstractItemView::startDrag
+760 QAbstractItemView::viewOptions
+768 QHeaderView::paintSection
+776 QHeaderView::sectionSizeFromContents
+784 (int (*)(...))-0x00000000000000010
+792 (int (*)(...))(& _ZTI11QHeaderView)
+800 QHeaderView::_ZThn16_N11QHeaderViewD1Ev
+808 QHeaderView::_ZThn16_N11QHeaderViewD0Ev
+816 QWidget::_ZThn16_NK7QWidget7devTypeEv
+824 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+832 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QHeaderView
+ size=40 align=8
+ base size=40 base align=8
+QHeaderView (0x7f2f3ab5b620) 0
+ vptr=((& QHeaderView::_ZTV11QHeaderView) + 16u)
+ QAbstractItemView (0x7f2f3ab5b690) 0
+ primary-for QHeaderView (0x7f2f3ab5b620)
+ QAbstractScrollArea (0x7f2f3ab5b700) 0
+ primary-for QAbstractItemView (0x7f2f3ab5b690)
+ QFrame (0x7f2f3ab5b770) 0
+ primary-for QAbstractScrollArea (0x7f2f3ab5b700)
+ QWidget (0x7f2f3ad38980) 0
+ primary-for QFrame (0x7f2f3ab5b770)
+ QObject (0x7f2f3ab5b7e0) 0
+ primary-for QWidget (0x7f2f3ad38980)
+ QPaintDevice (0x7f2f3ab5b850) 16
+ vptr=((& QHeaderView::_ZTV11QHeaderView) + 800u)
+
+Vtable for QItemDelegate
+QItemDelegate::_ZTV13QItemDelegate: 25u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QItemDelegate)
+16 QItemDelegate::metaObject
+24 QItemDelegate::qt_metacast
+32 QItemDelegate::qt_metacall
+40 QItemDelegate::~QItemDelegate
+48 QItemDelegate::~QItemDelegate
+56 QObject::event
+64 QItemDelegate::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QItemDelegate::paint
+120 QItemDelegate::sizeHint
+128 QItemDelegate::createEditor
+136 QItemDelegate::setEditorData
+144 QItemDelegate::setModelData
+152 QItemDelegate::updateEditorGeometry
+160 QItemDelegate::editorEvent
+168 QItemDelegate::drawDisplay
+176 QItemDelegate::drawDecoration
+184 QItemDelegate::drawFocus
+192 QItemDelegate::drawCheck
+
+Class QItemDelegate
+ size=16 align=8
+ base size=16 base align=8
+QItemDelegate (0x7f2f3aba1230) 0
+ vptr=((& QItemDelegate::_ZTV13QItemDelegate) + 16u)
+ QAbstractItemDelegate (0x7f2f3aba12a0) 0
+ primary-for QItemDelegate (0x7f2f3aba1230)
+ QObject (0x7f2f3aba1310) 0
+ primary-for QAbstractItemDelegate (0x7f2f3aba12a0)
+
+Vtable for QItemEditorCreatorBase
+QItemEditorCreatorBase::_ZTV22QItemEditorCreatorBase: 6u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI22QItemEditorCreatorBase)
+16 QItemEditorCreatorBase::~QItemEditorCreatorBase
+24 QItemEditorCreatorBase::~QItemEditorCreatorBase
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+
+Class QItemEditorCreatorBase
+ size=8 align=8
+ base size=8 base align=8
+QItemEditorCreatorBase (0x7f2f3abbcbd0) 0 nearly-empty
+ vptr=((& QItemEditorCreatorBase::_ZTV22QItemEditorCreatorBase) + 16u)
+
+Vtable for QItemEditorFactory
+QItemEditorFactory::_ZTV18QItemEditorFactory: 6u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QItemEditorFactory)
+16 QItemEditorFactory::~QItemEditorFactory
+24 QItemEditorFactory::~QItemEditorFactory
+32 QItemEditorFactory::createEditor
+40 QItemEditorFactory::valuePropertyName
+
+Class QItemEditorFactory
+ size=16 align=8
+ base size=16 base align=8
+QItemEditorFactory (0x7f2f3abc7a80) 0
+ vptr=((& QItemEditorFactory::_ZTV18QItemEditorFactory) + 16u)
+
+Vtable for QListWidgetItem
+QListWidgetItem::_ZTV15QListWidgetItem: 11u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QListWidgetItem)
+16 QListWidgetItem::~QListWidgetItem
+24 QListWidgetItem::~QListWidgetItem
+32 QListWidgetItem::clone
+40 QListWidgetItem::setBackgroundColor
+48 QListWidgetItem::data
+56 QListWidgetItem::setData
+64 QListWidgetItem::operator<
+72 QListWidgetItem::read
+80 QListWidgetItem::write
+
+Class QListWidgetItem
+ size=48 align=8
+ base size=44 base align=8
+QListWidgetItem (0x7f2f3abd6d20) 0
+ vptr=((& QListWidgetItem::_ZTV15QListWidgetItem) + 16u)
+
+Vtable for QListWidget
+QListWidget::_ZTV11QListWidget: 107u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QListWidget)
+16 QListWidget::metaObject
+24 QListWidget::qt_metacast
+32 QListWidget::qt_metacall
+40 QListWidget::~QListWidget
+48 QListWidget::~QListWidget
+56 QListWidget::event
+64 QObject::eventFilter
+72 QListView::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QAbstractScrollArea::sizeHint
+136 QAbstractScrollArea::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QAbstractItemView::mousePressEvent
+168 QListView::mouseReleaseEvent
+176 QAbstractItemView::mouseDoubleClickEvent
+184 QListView::mouseMoveEvent
+192 QAbstractScrollArea::wheelEvent
+200 QAbstractItemView::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QAbstractItemView::focusInEvent
+224 QAbstractItemView::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QListView::paintEvent
+256 QWidget::moveEvent
+264 QListView::resizeEvent
+272 QWidget::closeEvent
+280 QAbstractScrollArea::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QAbstractItemView::dragEnterEvent
+312 QListView::dragMoveEvent
+320 QListView::dragLeaveEvent
+328 QListWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QFrame::changeEvent
+368 QWidget::metric
+376 QAbstractItemView::inputMethodEvent
+384 QAbstractItemView::inputMethodQuery
+392 QAbstractItemView::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QAbstractItemView::viewportEvent
+456 QListView::scrollContentsBy
+464 QListWidget::setModel
+472 QAbstractItemView::setSelectionModel
+480 QAbstractItemView::keyboardSearch
+488 QListView::visualRect
+496 QListView::scrollTo
+504 QListView::indexAt
+512 QAbstractItemView::sizeHintForRow
+520 QAbstractItemView::sizeHintForColumn
+528 QListView::reset
+536 QListView::setRootIndex
+544 QListView::doItemsLayout
+552 QAbstractItemView::selectAll
+560 QListView::dataChanged
+568 QListView::rowsInserted
+576 QListView::rowsAboutToBeRemoved
+584 QListView::selectionChanged
+592 QListView::currentChanged
+600 QAbstractItemView::updateEditorData
+608 QAbstractItemView::updateEditorGeometries
+616 QListView::updateGeometries
+624 QAbstractItemView::verticalScrollbarAction
+632 QAbstractItemView::horizontalScrollbarAction
+640 QAbstractItemView::verticalScrollbarValueChanged
+648 QAbstractItemView::horizontalScrollbarValueChanged
+656 QAbstractItemView::closeEditor
+664 QAbstractItemView::commitData
+672 QAbstractItemView::editorDestroyed
+680 QListView::moveCursor
+688 QListView::horizontalOffset
+696 QListView::verticalOffset
+704 QListView::isIndexHidden
+712 QListView::setSelection
+720 QListView::visualRegionForSelection
+728 QListView::selectedIndexes
+736 QAbstractItemView::edit
+744 QAbstractItemView::selectionCommand
+752 QListView::startDrag
+760 QListView::viewOptions
+768 QListWidget::mimeTypes
+776 QListWidget::mimeData
+784 QListWidget::dropMimeData
+792 QListWidget::supportedDropActions
+800 (int (*)(...))-0x00000000000000010
+808 (int (*)(...))(& _ZTI11QListWidget)
+816 QListWidget::_ZThn16_N11QListWidgetD1Ev
+824 QListWidget::_ZThn16_N11QListWidgetD0Ev
+832 QWidget::_ZThn16_NK7QWidget7devTypeEv
+840 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+848 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QListWidget
+ size=40 align=8
+ base size=40 base align=8
+QListWidget (0x7f2f3aa653f0) 0
+ vptr=((& QListWidget::_ZTV11QListWidget) + 16u)
+ QListView (0x7f2f3aa65460) 0
+ primary-for QListWidget (0x7f2f3aa653f0)
+ QAbstractItemView (0x7f2f3aa654d0) 0
+ primary-for QListView (0x7f2f3aa65460)
+ QAbstractScrollArea (0x7f2f3aa65540) 0
+ primary-for QAbstractItemView (0x7f2f3aa654d0)
+ QFrame (0x7f2f3aa655b0) 0
+ primary-for QAbstractScrollArea (0x7f2f3aa65540)
+ QWidget (0x7f2f3aa5ea00) 0
+ primary-for QFrame (0x7f2f3aa655b0)
+ QObject (0x7f2f3aa65620) 0
+ primary-for QWidget (0x7f2f3aa5ea00)
+ QPaintDevice (0x7f2f3aa65690) 16
+ vptr=((& QListWidget::_ZTV11QListWidget) + 816u)
+
+Vtable for QProxyModel
+QProxyModel::_ZTV11QProxyModel: 43u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QProxyModel)
+16 QProxyModel::metaObject
+24 QProxyModel::qt_metacast
+32 QProxyModel::qt_metacall
+40 QProxyModel::~QProxyModel
+48 QProxyModel::~QProxyModel
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QProxyModel::index
+120 QProxyModel::parent
+128 QProxyModel::rowCount
+136 QProxyModel::columnCount
+144 QProxyModel::hasChildren
+152 QProxyModel::data
+160 QProxyModel::setData
+168 QProxyModel::headerData
+176 QProxyModel::setHeaderData
+184 QAbstractItemModel::itemData
+192 QAbstractItemModel::setItemData
+200 QProxyModel::mimeTypes
+208 QProxyModel::mimeData
+216 QProxyModel::dropMimeData
+224 QProxyModel::supportedDropActions
+232 QProxyModel::insertRows
+240 QProxyModel::insertColumns
+248 QAbstractItemModel::removeRows
+256 QAbstractItemModel::removeColumns
+264 QProxyModel::fetchMore
+272 QAbstractItemModel::canFetchMore
+280 QProxyModel::flags
+288 QProxyModel::sort
+296 QAbstractItemModel::buddy
+304 QProxyModel::match
+312 QProxyModel::span
+320 QProxyModel::submit
+328 QProxyModel::revert
+336 QProxyModel::setModel
+
+Class QProxyModel
+ size=16 align=8
+ base size=16 base align=8
+QProxyModel (0x7f2f3aa9f850) 0
+ vptr=((& QProxyModel::_ZTV11QProxyModel) + 16u)
+ QAbstractItemModel (0x7f2f3aa9f8c0) 0
+ primary-for QProxyModel (0x7f2f3aa9f850)
+ QObject (0x7f2f3aa9f930) 0
+ primary-for QAbstractItemModel (0x7f2f3aa9f8c0)
+
+Vtable for QSortFilterProxyModel
+QSortFilterProxyModel::_ZTV21QSortFilterProxyModel: 50u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI21QSortFilterProxyModel)
+16 QSortFilterProxyModel::metaObject
+24 QSortFilterProxyModel::qt_metacast
+32 QSortFilterProxyModel::qt_metacall
+40 QSortFilterProxyModel::~QSortFilterProxyModel
+48 QSortFilterProxyModel::~QSortFilterProxyModel
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QSortFilterProxyModel::index
+120 QSortFilterProxyModel::parent
+128 QSortFilterProxyModel::rowCount
+136 QSortFilterProxyModel::columnCount
+144 QSortFilterProxyModel::hasChildren
+152 QSortFilterProxyModel::data
+160 QSortFilterProxyModel::setData
+168 QSortFilterProxyModel::headerData
+176 QSortFilterProxyModel::setHeaderData
+184 QAbstractProxyModel::itemData
+192 QAbstractItemModel::setItemData
+200 QSortFilterProxyModel::mimeTypes
+208 QSortFilterProxyModel::mimeData
+216 QSortFilterProxyModel::dropMimeData
+224 QSortFilterProxyModel::supportedDropActions
+232 QSortFilterProxyModel::insertRows
+240 QSortFilterProxyModel::insertColumns
+248 QSortFilterProxyModel::removeRows
+256 QSortFilterProxyModel::removeColumns
+264 QSortFilterProxyModel::fetchMore
+272 QSortFilterProxyModel::canFetchMore
+280 QSortFilterProxyModel::flags
+288 QSortFilterProxyModel::sort
+296 QSortFilterProxyModel::buddy
+304 QSortFilterProxyModel::match
+312 QSortFilterProxyModel::span
+320 QAbstractProxyModel::submit
+328 QAbstractProxyModel::revert
+336 QSortFilterProxyModel::setSourceModel
+344 QSortFilterProxyModel::mapToSource
+352 QSortFilterProxyModel::mapFromSource
+360 QSortFilterProxyModel::mapSelectionToSource
+368 QSortFilterProxyModel::mapSelectionFromSource
+376 QSortFilterProxyModel::filterAcceptsRow
+384 QSortFilterProxyModel::filterAcceptsColumn
+392 QSortFilterProxyModel::lessThan
+
+Class QSortFilterProxyModel
+ size=16 align=8
+ base size=16 base align=8
+QSortFilterProxyModel (0x7f2f3aac2700) 0
+ vptr=((& QSortFilterProxyModel::_ZTV21QSortFilterProxyModel) + 16u)
+ QAbstractProxyModel (0x7f2f3aac2770) 0
+ primary-for QSortFilterProxyModel (0x7f2f3aac2700)
+ QAbstractItemModel (0x7f2f3aac27e0) 0
+ primary-for QAbstractProxyModel (0x7f2f3aac2770)
+ QObject (0x7f2f3aac2850) 0
+ primary-for QAbstractItemModel (0x7f2f3aac27e0)
+
+Vtable for QStandardItem
+QStandardItem::_ZTV13QStandardItem: 11u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QStandardItem)
+16 QStandardItem::~QStandardItem
+24 QStandardItem::~QStandardItem
+32 QStandardItem::data
+40 QStandardItem::setData
+48 QStandardItem::clone
+56 QStandardItem::type
+64 QStandardItem::read
+72 QStandardItem::write
+80 QStandardItem::operator<
+
+Class QStandardItem
+ size=16 align=8
+ base size=16 base align=8
+QStandardItem (0x7f2f3aaf3620) 0
+ vptr=((& QStandardItem::_ZTV13QStandardItem) + 16u)
+
+Vtable for QStandardItemModel
+QStandardItemModel::_ZTV18QStandardItemModel: 42u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QStandardItemModel)
+16 QStandardItemModel::metaObject
+24 QStandardItemModel::qt_metacast
+32 QStandardItemModel::qt_metacall
+40 QStandardItemModel::~QStandardItemModel
+48 QStandardItemModel::~QStandardItemModel
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QStandardItemModel::index
+120 QStandardItemModel::parent
+128 QStandardItemModel::rowCount
+136 QStandardItemModel::columnCount
+144 QStandardItemModel::hasChildren
+152 QStandardItemModel::data
+160 QStandardItemModel::setData
+168 QStandardItemModel::headerData
+176 QStandardItemModel::setHeaderData
+184 QStandardItemModel::itemData
+192 QStandardItemModel::setItemData
+200 QStandardItemModel::mimeTypes
+208 QStandardItemModel::mimeData
+216 QStandardItemModel::dropMimeData
+224 QStandardItemModel::supportedDropActions
+232 QStandardItemModel::insertRows
+240 QStandardItemModel::insertColumns
+248 QStandardItemModel::removeRows
+256 QStandardItemModel::removeColumns
+264 QAbstractItemModel::fetchMore
+272 QAbstractItemModel::canFetchMore
+280 QStandardItemModel::flags
+288 QStandardItemModel::sort
+296 QAbstractItemModel::buddy
+304 QAbstractItemModel::match
+312 QAbstractItemModel::span
+320 QAbstractItemModel::submit
+328 QAbstractItemModel::revert
+
+Class QStandardItemModel
+ size=16 align=8
+ base size=16 base align=8
+QStandardItemModel (0x7f2f3a9dc3f0) 0
+ vptr=((& QStandardItemModel::_ZTV18QStandardItemModel) + 16u)
+ QAbstractItemModel (0x7f2f3a9dc460) 0
+ primary-for QStandardItemModel (0x7f2f3a9dc3f0)
+ QObject (0x7f2f3a9dc4d0) 0
+ primary-for QAbstractItemModel (0x7f2f3a9dc460)
+
+Vtable for QStringListModel
+QStringListModel::_ZTV16QStringListModel: 42u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QStringListModel)
+16 QStringListModel::metaObject
+24 QStringListModel::qt_metacast
+32 QStringListModel::qt_metacall
+40 QStringListModel::~QStringListModel
+48 QStringListModel::~QStringListModel
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QAbstractListModel::index
+120 QAbstractListModel::parent
+128 QStringListModel::rowCount
+136 QAbstractListModel::columnCount
+144 QAbstractListModel::hasChildren
+152 QStringListModel::data
+160 QStringListModel::setData
+168 QAbstractItemModel::headerData
+176 QAbstractItemModel::setHeaderData
+184 QAbstractItemModel::itemData
+192 QAbstractItemModel::setItemData
+200 QAbstractItemModel::mimeTypes
+208 QAbstractItemModel::mimeData
+216 QAbstractListModel::dropMimeData
+224 QStringListModel::supportedDropActions
+232 QStringListModel::insertRows
+240 QAbstractItemModel::insertColumns
+248 QStringListModel::removeRows
+256 QAbstractItemModel::removeColumns
+264 QAbstractItemModel::fetchMore
+272 QAbstractItemModel::canFetchMore
+280 QStringListModel::flags
+288 QStringListModel::sort
+296 QAbstractItemModel::buddy
+304 QAbstractItemModel::match
+312 QAbstractItemModel::span
+320 QAbstractItemModel::submit
+328 QAbstractItemModel::revert
+
+Class QStringListModel
+ size=24 align=8
+ base size=24 base align=8
+QStringListModel (0x7f2f3aa17f50) 0
+ vptr=((& QStringListModel::_ZTV16QStringListModel) + 16u)
+ QAbstractListModel (0x7f2f3aa2b000) 0
+ primary-for QStringListModel (0x7f2f3aa17f50)
+ QAbstractItemModel (0x7f2f3aa2b070) 0
+ primary-for QAbstractListModel (0x7f2f3aa2b000)
+ QObject (0x7f2f3aa2b0e0) 0
+ primary-for QAbstractItemModel (0x7f2f3aa2b070)
+
+Vtable for QStyledItemDelegate
+QStyledItemDelegate::_ZTV19QStyledItemDelegate: 23u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QStyledItemDelegate)
+16 QStyledItemDelegate::metaObject
+24 QStyledItemDelegate::qt_metacast
+32 QStyledItemDelegate::qt_metacall
+40 QStyledItemDelegate::~QStyledItemDelegate
+48 QStyledItemDelegate::~QStyledItemDelegate
+56 QObject::event
+64 QStyledItemDelegate::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QStyledItemDelegate::paint
+120 QStyledItemDelegate::sizeHint
+128 QStyledItemDelegate::createEditor
+136 QStyledItemDelegate::setEditorData
+144 QStyledItemDelegate::setModelData
+152 QStyledItemDelegate::updateEditorGeometry
+160 QStyledItemDelegate::editorEvent
+168 QStyledItemDelegate::displayText
+176 QStyledItemDelegate::initStyleOption
+
+Class QStyledItemDelegate
+ size=16 align=8
+ base size=16 base align=8
+QStyledItemDelegate (0x7f2f3aa425b0) 0
+ vptr=((& QStyledItemDelegate::_ZTV19QStyledItemDelegate) + 16u)
+ QAbstractItemDelegate (0x7f2f3aa42620) 0
+ primary-for QStyledItemDelegate (0x7f2f3aa425b0)
+ QObject (0x7f2f3aa42690) 0
+ primary-for QAbstractItemDelegate (0x7f2f3aa42620)
+
+Vtable for QTableView
+QTableView::_ZTV10QTableView: 103u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QTableView)
+16 QTableView::metaObject
+24 QTableView::qt_metacast
+32 QTableView::qt_metacall
+40 QTableView::~QTableView
+48 QTableView::~QTableView
+56 QAbstractItemView::event
+64 QObject::eventFilter
+72 QTableView::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QAbstractScrollArea::sizeHint
+136 QAbstractScrollArea::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QAbstractItemView::mousePressEvent
+168 QAbstractItemView::mouseReleaseEvent
+176 QAbstractItemView::mouseDoubleClickEvent
+184 QAbstractItemView::mouseMoveEvent
+192 QAbstractScrollArea::wheelEvent
+200 QAbstractItemView::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QAbstractItemView::focusInEvent
+224 QAbstractItemView::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QTableView::paintEvent
+256 QWidget::moveEvent
+264 QAbstractItemView::resizeEvent
+272 QWidget::closeEvent
+280 QAbstractScrollArea::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QAbstractItemView::dragEnterEvent
+312 QAbstractItemView::dragMoveEvent
+320 QAbstractItemView::dragLeaveEvent
+328 QAbstractItemView::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QFrame::changeEvent
+368 QWidget::metric
+376 QAbstractItemView::inputMethodEvent
+384 QAbstractItemView::inputMethodQuery
+392 QAbstractItemView::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QAbstractItemView::viewportEvent
+456 QTableView::scrollContentsBy
+464 QTableView::setModel
+472 QTableView::setSelectionModel
+480 QAbstractItemView::keyboardSearch
+488 QTableView::visualRect
+496 QTableView::scrollTo
+504 QTableView::indexAt
+512 QTableView::sizeHintForRow
+520 QTableView::sizeHintForColumn
+528 QAbstractItemView::reset
+536 QTableView::setRootIndex
+544 QAbstractItemView::doItemsLayout
+552 QAbstractItemView::selectAll
+560 QAbstractItemView::dataChanged
+568 QAbstractItemView::rowsInserted
+576 QAbstractItemView::rowsAboutToBeRemoved
+584 QTableView::selectionChanged
+592 QTableView::currentChanged
+600 QAbstractItemView::updateEditorData
+608 QAbstractItemView::updateEditorGeometries
+616 QTableView::updateGeometries
+624 QTableView::verticalScrollbarAction
+632 QTableView::horizontalScrollbarAction
+640 QAbstractItemView::verticalScrollbarValueChanged
+648 QAbstractItemView::horizontalScrollbarValueChanged
+656 QAbstractItemView::closeEditor
+664 QAbstractItemView::commitData
+672 QAbstractItemView::editorDestroyed
+680 QTableView::moveCursor
+688 QTableView::horizontalOffset
+696 QTableView::verticalOffset
+704 QTableView::isIndexHidden
+712 QTableView::setSelection
+720 QTableView::visualRegionForSelection
+728 QTableView::selectedIndexes
+736 QAbstractItemView::edit
+744 QAbstractItemView::selectionCommand
+752 QAbstractItemView::startDrag
+760 QTableView::viewOptions
+768 (int (*)(...))-0x00000000000000010
+776 (int (*)(...))(& _ZTI10QTableView)
+784 QTableView::_ZThn16_N10QTableViewD1Ev
+792 QTableView::_ZThn16_N10QTableViewD0Ev
+800 QWidget::_ZThn16_NK7QWidget7devTypeEv
+808 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+816 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QTableView
+ size=40 align=8
+ base size=40 base align=8
+QTableView (0x7f2f3a858f50) 0
+ vptr=((& QTableView::_ZTV10QTableView) + 16u)
+ QAbstractItemView (0x7f2f3a85f000) 0
+ primary-for QTableView (0x7f2f3a858f50)
+ QAbstractScrollArea (0x7f2f3a85f070) 0
+ primary-for QAbstractItemView (0x7f2f3a85f000)
+ QFrame (0x7f2f3a85f0e0) 0
+ primary-for QAbstractScrollArea (0x7f2f3a85f070)
+ QWidget (0x7f2f3aa41b00) 0
+ primary-for QFrame (0x7f2f3a85f0e0)
+ QObject (0x7f2f3a85f150) 0
+ primary-for QWidget (0x7f2f3aa41b00)
+ QPaintDevice (0x7f2f3a85f1c0) 16
+ vptr=((& QTableView::_ZTV10QTableView) + 784u)
+
+Class QTableWidgetSelectionRange
+ size=16 align=4
+ base size=16 base align=4
+QTableWidgetSelectionRange (0x7f2f3a88dd20) 0
+
+Vtable for QTableWidgetItem
+QTableWidgetItem::_ZTV16QTableWidgetItem: 10u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QTableWidgetItem)
+16 QTableWidgetItem::~QTableWidgetItem
+24 QTableWidgetItem::~QTableWidgetItem
+32 QTableWidgetItem::clone
+40 QTableWidgetItem::data
+48 QTableWidgetItem::setData
+56 QTableWidgetItem::operator<
+64 QTableWidgetItem::read
+72 QTableWidgetItem::write
+
+Class QTableWidgetItem
+ size=48 align=8
+ base size=44 base align=8
+QTableWidgetItem (0x7f2f3a89b230) 0
+ vptr=((& QTableWidgetItem::_ZTV16QTableWidgetItem) + 16u)
+
+Vtable for QTableWidget
+QTableWidget::_ZTV12QTableWidget: 107u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QTableWidget)
+16 QTableWidget::metaObject
+24 QTableWidget::qt_metacast
+32 QTableWidget::qt_metacall
+40 QTableWidget::~QTableWidget
+48 QTableWidget::~QTableWidget
+56 QTableWidget::event
+64 QObject::eventFilter
+72 QTableView::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QAbstractScrollArea::sizeHint
+136 QAbstractScrollArea::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QAbstractItemView::mousePressEvent
+168 QAbstractItemView::mouseReleaseEvent
+176 QAbstractItemView::mouseDoubleClickEvent
+184 QAbstractItemView::mouseMoveEvent
+192 QAbstractScrollArea::wheelEvent
+200 QAbstractItemView::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QAbstractItemView::focusInEvent
+224 QAbstractItemView::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QTableView::paintEvent
+256 QWidget::moveEvent
+264 QAbstractItemView::resizeEvent
+272 QWidget::closeEvent
+280 QAbstractScrollArea::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QAbstractItemView::dragEnterEvent
+312 QAbstractItemView::dragMoveEvent
+320 QAbstractItemView::dragLeaveEvent
+328 QTableWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QFrame::changeEvent
+368 QWidget::metric
+376 QAbstractItemView::inputMethodEvent
+384 QAbstractItemView::inputMethodQuery
+392 QAbstractItemView::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QAbstractItemView::viewportEvent
+456 QTableView::scrollContentsBy
+464 QTableWidget::setModel
+472 QTableView::setSelectionModel
+480 QAbstractItemView::keyboardSearch
+488 QTableView::visualRect
+496 QTableView::scrollTo
+504 QTableView::indexAt
+512 QTableView::sizeHintForRow
+520 QTableView::sizeHintForColumn
+528 QAbstractItemView::reset
+536 QTableView::setRootIndex
+544 QAbstractItemView::doItemsLayout
+552 QAbstractItemView::selectAll
+560 QAbstractItemView::dataChanged
+568 QAbstractItemView::rowsInserted
+576 QAbstractItemView::rowsAboutToBeRemoved
+584 QTableView::selectionChanged
+592 QTableView::currentChanged
+600 QAbstractItemView::updateEditorData
+608 QAbstractItemView::updateEditorGeometries
+616 QTableView::updateGeometries
+624 QTableView::verticalScrollbarAction
+632 QTableView::horizontalScrollbarAction
+640 QAbstractItemView::verticalScrollbarValueChanged
+648 QAbstractItemView::horizontalScrollbarValueChanged
+656 QAbstractItemView::closeEditor
+664 QAbstractItemView::commitData
+672 QAbstractItemView::editorDestroyed
+680 QTableView::moveCursor
+688 QTableView::horizontalOffset
+696 QTableView::verticalOffset
+704 QTableView::isIndexHidden
+712 QTableView::setSelection
+720 QTableView::visualRegionForSelection
+728 QTableView::selectedIndexes
+736 QAbstractItemView::edit
+744 QAbstractItemView::selectionCommand
+752 QAbstractItemView::startDrag
+760 QTableView::viewOptions
+768 QTableWidget::mimeTypes
+776 QTableWidget::mimeData
+784 QTableWidget::dropMimeData
+792 QTableWidget::supportedDropActions
+800 (int (*)(...))-0x00000000000000010
+808 (int (*)(...))(& _ZTI12QTableWidget)
+816 QTableWidget::_ZThn16_N12QTableWidgetD1Ev
+824 QTableWidget::_ZThn16_N12QTableWidgetD0Ev
+832 QWidget::_ZThn16_NK7QWidget7devTypeEv
+840 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+848 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QTableWidget
+ size=40 align=8
+ base size=40 base align=8
+QTableWidget (0x7f2f3a90f7e0) 0
+ vptr=((& QTableWidget::_ZTV12QTableWidget) + 16u)
+ QTableView (0x7f2f3a90f850) 0
+ primary-for QTableWidget (0x7f2f3a90f7e0)
+ QAbstractItemView (0x7f2f3a90f8c0) 0
+ primary-for QTableView (0x7f2f3a90f850)
+ QAbstractScrollArea (0x7f2f3a90f930) 0
+ primary-for QAbstractItemView (0x7f2f3a90f8c0)
+ QFrame (0x7f2f3a90f9a0) 0
+ primary-for QAbstractScrollArea (0x7f2f3a90f930)
+ QWidget (0x7f2f3a904c80) 0
+ primary-for QFrame (0x7f2f3a90f9a0)
+ QObject (0x7f2f3a90fa10) 0
+ primary-for QWidget (0x7f2f3a904c80)
+ QPaintDevice (0x7f2f3a90fa80) 16
+ vptr=((& QTableWidget::_ZTV12QTableWidget) + 816u)
+
+Vtable for QTreeView
+QTreeView::_ZTV9QTreeView: 105u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QTreeView)
+16 QTreeView::metaObject
+24 QTreeView::qt_metacast
+32 QTreeView::qt_metacall
+40 QTreeView::~QTreeView
+48 QTreeView::~QTreeView
+56 QAbstractItemView::event
+64 QObject::eventFilter
+72 QTreeView::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QAbstractScrollArea::sizeHint
+136 QAbstractScrollArea::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QTreeView::mousePressEvent
+168 QTreeView::mouseReleaseEvent
+176 QTreeView::mouseDoubleClickEvent
+184 QTreeView::mouseMoveEvent
+192 QAbstractScrollArea::wheelEvent
+200 QTreeView::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QAbstractItemView::focusInEvent
+224 QAbstractItemView::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QTreeView::paintEvent
+256 QWidget::moveEvent
+264 QAbstractItemView::resizeEvent
+272 QWidget::closeEvent
+280 QAbstractScrollArea::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QAbstractItemView::dragEnterEvent
+312 QTreeView::dragMoveEvent
+320 QAbstractItemView::dragLeaveEvent
+328 QAbstractItemView::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QFrame::changeEvent
+368 QWidget::metric
+376 QAbstractItemView::inputMethodEvent
+384 QAbstractItemView::inputMethodQuery
+392 QAbstractItemView::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QTreeView::viewportEvent
+456 QTreeView::scrollContentsBy
+464 QTreeView::setModel
+472 QTreeView::setSelectionModel
+480 QTreeView::keyboardSearch
+488 QTreeView::visualRect
+496 QTreeView::scrollTo
+504 QTreeView::indexAt
+512 QAbstractItemView::sizeHintForRow
+520 QTreeView::sizeHintForColumn
+528 QTreeView::reset
+536 QTreeView::setRootIndex
+544 QTreeView::doItemsLayout
+552 QTreeView::selectAll
+560 QTreeView::dataChanged
+568 QTreeView::rowsInserted
+576 QTreeView::rowsAboutToBeRemoved
+584 QTreeView::selectionChanged
+592 QTreeView::currentChanged
+600 QAbstractItemView::updateEditorData
+608 QAbstractItemView::updateEditorGeometries
+616 QTreeView::updateGeometries
+624 QAbstractItemView::verticalScrollbarAction
+632 QTreeView::horizontalScrollbarAction
+640 QAbstractItemView::verticalScrollbarValueChanged
+648 QAbstractItemView::horizontalScrollbarValueChanged
+656 QAbstractItemView::closeEditor
+664 QAbstractItemView::commitData
+672 QAbstractItemView::editorDestroyed
+680 QTreeView::moveCursor
+688 QTreeView::horizontalOffset
+696 QTreeView::verticalOffset
+704 QTreeView::isIndexHidden
+712 QTreeView::setSelection
+720 QTreeView::visualRegionForSelection
+728 QTreeView::selectedIndexes
+736 QAbstractItemView::edit
+744 QAbstractItemView::selectionCommand
+752 QAbstractItemView::startDrag
+760 QAbstractItemView::viewOptions
+768 QTreeView::drawRow
+776 QTreeView::drawBranches
+784 (int (*)(...))-0x00000000000000010
+792 (int (*)(...))(& _ZTI9QTreeView)
+800 QTreeView::_ZThn16_N9QTreeViewD1Ev
+808 QTreeView::_ZThn16_N9QTreeViewD0Ev
+816 QWidget::_ZThn16_NK7QWidget7devTypeEv
+824 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+832 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QTreeView
+ size=40 align=8
+ base size=40 base align=8
+QTreeView (0x7f2f3a750770) 0
+ vptr=((& QTreeView::_ZTV9QTreeView) + 16u)
+ QAbstractItemView (0x7f2f3a7507e0) 0
+ primary-for QTreeView (0x7f2f3a750770)
+ QAbstractScrollArea (0x7f2f3a750850) 0
+ primary-for QAbstractItemView (0x7f2f3a7507e0)
+ QFrame (0x7f2f3a7508c0) 0
+ primary-for QAbstractScrollArea (0x7f2f3a750850)
+ QWidget (0x7f2f3a74c600) 0
+ primary-for QFrame (0x7f2f3a7508c0)
+ QObject (0x7f2f3a750930) 0
+ primary-for QWidget (0x7f2f3a74c600)
+ QPaintDevice (0x7f2f3a7509a0) 16
+ vptr=((& QTreeView::_ZTV9QTreeView) + 800u)
+
+Class QTreeWidgetItemIterator
+ size=24 align=8
+ base size=20 base align=8
+QTreeWidgetItemIterator (0x7f2f3a787540) 0
+
+Vtable for QTreeWidgetItem
+QTreeWidgetItem::_ZTV15QTreeWidgetItem: 10u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QTreeWidgetItem)
+16 QTreeWidgetItem::~QTreeWidgetItem
+24 QTreeWidgetItem::~QTreeWidgetItem
+32 QTreeWidgetItem::clone
+40 QTreeWidgetItem::data
+48 QTreeWidgetItem::setData
+56 QTreeWidgetItem::operator<
+64 QTreeWidgetItem::read
+72 QTreeWidgetItem::write
+
+Class QTreeWidgetItem
+ size=64 align=8
+ base size=60 base align=8
+QTreeWidgetItem (0x7f2f3a7f42a0) 0
+ vptr=((& QTreeWidgetItem::_ZTV15QTreeWidgetItem) + 16u)
+
+Vtable for QTreeWidget
+QTreeWidget::_ZTV11QTreeWidget: 109u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QTreeWidget)
+16 QTreeWidget::metaObject
+24 QTreeWidget::qt_metacast
+32 QTreeWidget::qt_metacall
+40 QTreeWidget::~QTreeWidget
+48 QTreeWidget::~QTreeWidget
+56 QTreeWidget::event
+64 QObject::eventFilter
+72 QTreeView::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QAbstractScrollArea::sizeHint
+136 QAbstractScrollArea::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QTreeView::mousePressEvent
+168 QTreeView::mouseReleaseEvent
+176 QTreeView::mouseDoubleClickEvent
+184 QTreeView::mouseMoveEvent
+192 QAbstractScrollArea::wheelEvent
+200 QTreeView::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QAbstractItemView::focusInEvent
+224 QAbstractItemView::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QTreeView::paintEvent
+256 QWidget::moveEvent
+264 QAbstractItemView::resizeEvent
+272 QWidget::closeEvent
+280 QAbstractScrollArea::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QAbstractItemView::dragEnterEvent
+312 QTreeView::dragMoveEvent
+320 QAbstractItemView::dragLeaveEvent
+328 QTreeWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QFrame::changeEvent
+368 QWidget::metric
+376 QAbstractItemView::inputMethodEvent
+384 QAbstractItemView::inputMethodQuery
+392 QAbstractItemView::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QTreeView::viewportEvent
+456 QTreeView::scrollContentsBy
+464 QTreeWidget::setModel
+472 QTreeWidget::setSelectionModel
+480 QTreeView::keyboardSearch
+488 QTreeView::visualRect
+496 QTreeView::scrollTo
+504 QTreeView::indexAt
+512 QAbstractItemView::sizeHintForRow
+520 QTreeView::sizeHintForColumn
+528 QTreeView::reset
+536 QTreeView::setRootIndex
+544 QTreeView::doItemsLayout
+552 QTreeView::selectAll
+560 QTreeView::dataChanged
+568 QTreeView::rowsInserted
+576 QTreeView::rowsAboutToBeRemoved
+584 QTreeView::selectionChanged
+592 QTreeView::currentChanged
+600 QAbstractItemView::updateEditorData
+608 QAbstractItemView::updateEditorGeometries
+616 QTreeView::updateGeometries
+624 QAbstractItemView::verticalScrollbarAction
+632 QTreeView::horizontalScrollbarAction
+640 QAbstractItemView::verticalScrollbarValueChanged
+648 QAbstractItemView::horizontalScrollbarValueChanged
+656 QAbstractItemView::closeEditor
+664 QAbstractItemView::commitData
+672 QAbstractItemView::editorDestroyed
+680 QTreeView::moveCursor
+688 QTreeView::horizontalOffset
+696 QTreeView::verticalOffset
+704 QTreeView::isIndexHidden
+712 QTreeView::setSelection
+720 QTreeView::visualRegionForSelection
+728 QTreeView::selectedIndexes
+736 QAbstractItemView::edit
+744 QAbstractItemView::selectionCommand
+752 QAbstractItemView::startDrag
+760 QAbstractItemView::viewOptions
+768 QTreeView::drawRow
+776 QTreeView::drawBranches
+784 QTreeWidget::mimeTypes
+792 QTreeWidget::mimeData
+800 QTreeWidget::dropMimeData
+808 QTreeWidget::supportedDropActions
+816 (int (*)(...))-0x00000000000000010
+824 (int (*)(...))(& _ZTI11QTreeWidget)
+832 QTreeWidget::_ZThn16_N11QTreeWidgetD1Ev
+840 QTreeWidget::_ZThn16_N11QTreeWidgetD0Ev
+848 QWidget::_ZThn16_NK7QWidget7devTypeEv
+856 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+864 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QTreeWidget
+ size=40 align=8
+ base size=40 base align=8
+QTreeWidget (0x7f2f3a6a28c0) 0
+ vptr=((& QTreeWidget::_ZTV11QTreeWidget) + 16u)
+ QTreeView (0x7f2f3a6a2930) 0
+ primary-for QTreeWidget (0x7f2f3a6a28c0)
+ QAbstractItemView (0x7f2f3a6a29a0) 0
+ primary-for QTreeView (0x7f2f3a6a2930)
+ QAbstractScrollArea (0x7f2f3a6a2a10) 0
+ primary-for QAbstractItemView (0x7f2f3a6a29a0)
+ QFrame (0x7f2f3a6a2a80) 0
+ primary-for QAbstractScrollArea (0x7f2f3a6a2a10)
+ QWidget (0x7f2f3a6a5200) 0
+ primary-for QFrame (0x7f2f3a6a2a80)
+ QObject (0x7f2f3a6a2af0) 0
+ primary-for QWidget (0x7f2f3a6a5200)
+ QPaintDevice (0x7f2f3a6a2b60) 16
+ vptr=((& QTreeWidget::_ZTV11QTreeWidget) + 832u)
+
+Class QAccessible
+ size=1 align=1
+ base size=0 base align=1
+QAccessible (0x7f2f3a6ecc40) 0 empty
+
+Vtable for QAccessibleInterface
+QAccessibleInterface::_ZTV20QAccessibleInterface: 19u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI20QAccessibleInterface)
+16 QAccessibleInterface::~QAccessibleInterface
+24 QAccessibleInterface::~QAccessibleInterface
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+48 __cxa_pure_virtual
+56 __cxa_pure_virtual
+64 __cxa_pure_virtual
+72 __cxa_pure_virtual
+80 __cxa_pure_virtual
+88 __cxa_pure_virtual
+96 __cxa_pure_virtual
+104 __cxa_pure_virtual
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 __cxa_pure_virtual
+136 __cxa_pure_virtual
+144 __cxa_pure_virtual
+
+Class QAccessibleInterface
+ size=8 align=8
+ base size=8 base align=8
+QAccessibleInterface (0x7f2f3a594e00) 0 nearly-empty
+ vptr=((& QAccessibleInterface::_ZTV20QAccessibleInterface) + 16u)
+ QAccessible (0x7f2f3a594e70) 0 empty
+
+Vtable for QAccessibleInterfaceEx
+QAccessibleInterfaceEx::_ZTV22QAccessibleInterfaceEx: 22u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI22QAccessibleInterfaceEx)
+16 QAccessibleInterfaceEx::~QAccessibleInterfaceEx
+24 QAccessibleInterfaceEx::~QAccessibleInterfaceEx
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+48 __cxa_pure_virtual
+56 __cxa_pure_virtual
+64 __cxa_pure_virtual
+72 __cxa_pure_virtual
+80 __cxa_pure_virtual
+88 __cxa_pure_virtual
+96 __cxa_pure_virtual
+104 __cxa_pure_virtual
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 __cxa_pure_virtual
+136 __cxa_pure_virtual
+144 __cxa_pure_virtual
+152 __cxa_pure_virtual
+160 QAccessibleInterfaceEx::virtual_hook
+168 QAccessibleInterfaceEx::interface_cast
+
+Class QAccessibleInterfaceEx
+ size=8 align=8
+ base size=8 base align=8
+QAccessibleInterfaceEx (0x7f2f3a612b60) 0 nearly-empty
+ vptr=((& QAccessibleInterfaceEx::_ZTV22QAccessibleInterfaceEx) + 16u)
+ QAccessibleInterface (0x7f2f3a612bd0) 0 nearly-empty
+ primary-for QAccessibleInterfaceEx (0x7f2f3a612b60)
+ QAccessible (0x7f2f3a612c40) 0 empty
+
+Vtable for QAccessibleEvent
+QAccessibleEvent::_ZTV16QAccessibleEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QAccessibleEvent)
+16 QAccessibleEvent::~QAccessibleEvent
+24 QAccessibleEvent::~QAccessibleEvent
+
+Class QAccessibleEvent
+ size=32 align=8
+ base size=32 base align=8
+QAccessibleEvent (0x7f2f3a612ee0) 0
+ vptr=((& QAccessibleEvent::_ZTV16QAccessibleEvent) + 16u)
+ QEvent (0x7f2f3a612f50) 0
+ primary-for QAccessibleEvent (0x7f2f3a612ee0)
+
+Vtable for QAccessible2Interface
+QAccessible2Interface::_ZTV21QAccessible2Interface: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI21QAccessible2Interface)
+16 QAccessible2Interface::~QAccessible2Interface
+24 QAccessible2Interface::~QAccessible2Interface
+
+Class QAccessible2Interface
+ size=8 align=8
+ base size=8 base align=8
+QAccessible2Interface (0x7f2f3a626f50) 0 nearly-empty
+ vptr=((& QAccessible2Interface::_ZTV21QAccessible2Interface) + 16u)
+
+Vtable for QAccessibleTextInterface
+QAccessibleTextInterface::_ZTV24QAccessibleTextInterface: 20u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI24QAccessibleTextInterface)
+16 QAccessibleTextInterface::~QAccessibleTextInterface
+24 QAccessibleTextInterface::~QAccessibleTextInterface
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+48 __cxa_pure_virtual
+56 __cxa_pure_virtual
+64 __cxa_pure_virtual
+72 __cxa_pure_virtual
+80 __cxa_pure_virtual
+88 __cxa_pure_virtual
+96 __cxa_pure_virtual
+104 __cxa_pure_virtual
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 __cxa_pure_virtual
+136 __cxa_pure_virtual
+144 __cxa_pure_virtual
+152 __cxa_pure_virtual
+
+Class QAccessibleTextInterface
+ size=8 align=8
+ base size=8 base align=8
+QAccessibleTextInterface (0x7f2f3a63c1c0) 0 nearly-empty
+ vptr=((& QAccessibleTextInterface::_ZTV24QAccessibleTextInterface) + 16u)
+ QAccessible2Interface (0x7f2f3a63c230) 0 nearly-empty
+ primary-for QAccessibleTextInterface (0x7f2f3a63c1c0)
+
+Vtable for QAccessibleEditableTextInterface
+QAccessibleEditableTextInterface::_ZTV32QAccessibleEditableTextInterface: 11u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI32QAccessibleEditableTextInterface)
+16 QAccessibleEditableTextInterface::~QAccessibleEditableTextInterface
+24 QAccessibleEditableTextInterface::~QAccessibleEditableTextInterface
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+48 __cxa_pure_virtual
+56 __cxa_pure_virtual
+64 __cxa_pure_virtual
+72 __cxa_pure_virtual
+80 __cxa_pure_virtual
+
+Class QAccessibleEditableTextInterface
+ size=8 align=8
+ base size=8 base align=8
+QAccessibleEditableTextInterface (0x7f2f3a44d070) 0 nearly-empty
+ vptr=((& QAccessibleEditableTextInterface::_ZTV32QAccessibleEditableTextInterface) + 16u)
+ QAccessible2Interface (0x7f2f3a44d0e0) 0 nearly-empty
+ primary-for QAccessibleEditableTextInterface (0x7f2f3a44d070)
+
+Vtable for QAccessibleSimpleEditableTextInterface
+QAccessibleSimpleEditableTextInterface::_ZTV38QAccessibleSimpleEditableTextInterface: 11u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI38QAccessibleSimpleEditableTextInterface)
+16 QAccessibleSimpleEditableTextInterface::~QAccessibleSimpleEditableTextInterface
+24 QAccessibleSimpleEditableTextInterface::~QAccessibleSimpleEditableTextInterface
+32 QAccessibleSimpleEditableTextInterface::copyText
+40 QAccessibleSimpleEditableTextInterface::deleteText
+48 QAccessibleSimpleEditableTextInterface::insertText
+56 QAccessibleSimpleEditableTextInterface::cutText
+64 QAccessibleSimpleEditableTextInterface::pasteText
+72 QAccessibleSimpleEditableTextInterface::replaceText
+80 QAccessibleSimpleEditableTextInterface::setAttributes
+
+Class QAccessibleSimpleEditableTextInterface
+ size=16 align=8
+ base size=16 base align=8
+QAccessibleSimpleEditableTextInterface (0x7f2f3a44df50) 0
+ vptr=((& QAccessibleSimpleEditableTextInterface::_ZTV38QAccessibleSimpleEditableTextInterface) + 16u)
+ QAccessibleEditableTextInterface (0x7f2f3a44d310) 0 nearly-empty
+ primary-for QAccessibleSimpleEditableTextInterface (0x7f2f3a44df50)
+ QAccessible2Interface (0x7f2f3a45a000) 0 nearly-empty
+ primary-for QAccessibleEditableTextInterface (0x7f2f3a44d310)
+
+Vtable for QAccessibleValueInterface
+QAccessibleValueInterface::_ZTV25QAccessibleValueInterface: 8u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI25QAccessibleValueInterface)
+16 QAccessibleValueInterface::~QAccessibleValueInterface
+24 QAccessibleValueInterface::~QAccessibleValueInterface
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+48 __cxa_pure_virtual
+56 __cxa_pure_virtual
+
+Class QAccessibleValueInterface
+ size=8 align=8
+ base size=8 base align=8
+QAccessibleValueInterface (0x7f2f3a45a230) 0 nearly-empty
+ vptr=((& QAccessibleValueInterface::_ZTV25QAccessibleValueInterface) + 16u)
+ QAccessible2Interface (0x7f2f3a45a2a0) 0 nearly-empty
+ primary-for QAccessibleValueInterface (0x7f2f3a45a230)
+
+Vtable for QAccessibleTableInterface
+QAccessibleTableInterface::_ZTV25QAccessibleTableInterface: 30u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI25QAccessibleTableInterface)
+16 QAccessibleTableInterface::~QAccessibleTableInterface
+24 QAccessibleTableInterface::~QAccessibleTableInterface
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+48 __cxa_pure_virtual
+56 __cxa_pure_virtual
+64 __cxa_pure_virtual
+72 __cxa_pure_virtual
+80 __cxa_pure_virtual
+88 __cxa_pure_virtual
+96 __cxa_pure_virtual
+104 __cxa_pure_virtual
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 __cxa_pure_virtual
+136 __cxa_pure_virtual
+144 __cxa_pure_virtual
+152 __cxa_pure_virtual
+160 __cxa_pure_virtual
+168 __cxa_pure_virtual
+176 __cxa_pure_virtual
+184 __cxa_pure_virtual
+192 __cxa_pure_virtual
+200 __cxa_pure_virtual
+208 __cxa_pure_virtual
+216 __cxa_pure_virtual
+224 __cxa_pure_virtual
+232 __cxa_pure_virtual
+
+Class QAccessibleTableInterface
+ size=8 align=8
+ base size=8 base align=8
+QAccessibleTableInterface (0x7f2f3a469070) 0 nearly-empty
+ vptr=((& QAccessibleTableInterface::_ZTV25QAccessibleTableInterface) + 16u)
+ QAccessible2Interface (0x7f2f3a4690e0) 0 nearly-empty
+ primary-for QAccessibleTableInterface (0x7f2f3a469070)
+
+Vtable for QAccessibleActionInterface
+QAccessibleActionInterface::_ZTV26QAccessibleActionInterface: 10u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI26QAccessibleActionInterface)
+16 QAccessibleActionInterface::~QAccessibleActionInterface
+24 QAccessibleActionInterface::~QAccessibleActionInterface
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+48 __cxa_pure_virtual
+56 __cxa_pure_virtual
+64 __cxa_pure_virtual
+72 __cxa_pure_virtual
+
+Class QAccessibleActionInterface
+ size=8 align=8
+ base size=8 base align=8
+QAccessibleActionInterface (0x7f2f3a469460) 0 nearly-empty
+ vptr=((& QAccessibleActionInterface::_ZTV26QAccessibleActionInterface) + 16u)
+ QAccessible2Interface (0x7f2f3a4694d0) 0 nearly-empty
+ primary-for QAccessibleActionInterface (0x7f2f3a469460)
+
+Vtable for QAccessibleImageInterface
+QAccessibleImageInterface::_ZTV25QAccessibleImageInterface: 7u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI25QAccessibleImageInterface)
+16 QAccessibleImageInterface::~QAccessibleImageInterface
+24 QAccessibleImageInterface::~QAccessibleImageInterface
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+48 __cxa_pure_virtual
+
+Class QAccessibleImageInterface
+ size=8 align=8
+ base size=8 base align=8
+QAccessibleImageInterface (0x7f2f3a469850) 0 nearly-empty
+ vptr=((& QAccessibleImageInterface::_ZTV25QAccessibleImageInterface) + 16u)
+ QAccessible2Interface (0x7f2f3a4698c0) 0 nearly-empty
+ primary-for QAccessibleImageInterface (0x7f2f3a469850)
+
+Vtable for QAccessibleBridge
+QAccessibleBridge::_ZTV17QAccessibleBridge: 6u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QAccessibleBridge)
+16 QAccessibleBridge::~QAccessibleBridge
+24 QAccessibleBridge::~QAccessibleBridge
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+
+Class QAccessibleBridge
+ size=8 align=8
+ base size=8 base align=8
+QAccessibleBridge (0x7f2f3a469c40) 0 nearly-empty
+ vptr=((& QAccessibleBridge::_ZTV17QAccessibleBridge) + 16u)
+
+Vtable for QAccessibleBridgeFactoryInterface
+QAccessibleBridgeFactoryInterface::_ZTV33QAccessibleBridgeFactoryInterface: 6u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI33QAccessibleBridgeFactoryInterface)
+16 QAccessibleBridgeFactoryInterface::~QAccessibleBridgeFactoryInterface
+24 QAccessibleBridgeFactoryInterface::~QAccessibleBridgeFactoryInterface
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+
+Class QAccessibleBridgeFactoryInterface
+ size=8 align=8
+ base size=8 base align=8
+QAccessibleBridgeFactoryInterface (0x7f2f3a485540) 0 nearly-empty
+ vptr=((& QAccessibleBridgeFactoryInterface::_ZTV33QAccessibleBridgeFactoryInterface) + 16u)
+ QFactoryInterface (0x7f2f3a4855b0) 0 nearly-empty
+ primary-for QAccessibleBridgeFactoryInterface (0x7f2f3a485540)
+
+Vtable for QAccessibleBridgePlugin
+QAccessibleBridgePlugin::_ZTV23QAccessibleBridgePlugin: 22u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI23QAccessibleBridgePlugin)
+16 QAccessibleBridgePlugin::metaObject
+24 QAccessibleBridgePlugin::qt_metacast
+32 QAccessibleBridgePlugin::qt_metacall
+40 QAccessibleBridgePlugin::~QAccessibleBridgePlugin
+48 QAccessibleBridgePlugin::~QAccessibleBridgePlugin
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 (int (*)(...))-0x00000000000000010
+136 (int (*)(...))(& _ZTI23QAccessibleBridgePlugin)
+144 QAccessibleBridgePlugin::_ZThn16_N23QAccessibleBridgePluginD1Ev
+152 QAccessibleBridgePlugin::_ZThn16_N23QAccessibleBridgePluginD0Ev
+160 __cxa_pure_virtual
+168 __cxa_pure_virtual
+
+Class QAccessibleBridgePlugin
+ size=24 align=8
+ base size=24 base align=8
+QAccessibleBridgePlugin (0x7f2f3a48d580) 0
+ vptr=((& QAccessibleBridgePlugin::_ZTV23QAccessibleBridgePlugin) + 16u)
+ QObject (0x7f2f3a485620) 0
+ primary-for QAccessibleBridgePlugin (0x7f2f3a48d580)
+ QAccessibleBridgeFactoryInterface (0x7f2f3a492000) 16 nearly-empty
+ vptr=((& QAccessibleBridgePlugin::_ZTV23QAccessibleBridgePlugin) + 144u)
+ QFactoryInterface (0x7f2f3a492070) 16 nearly-empty
+ primary-for QAccessibleBridgeFactoryInterface (0x7f2f3a492000)
+
+Vtable for QAccessibleObject
+QAccessibleObject::_ZTV17QAccessibleObject: 19u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QAccessibleObject)
+16 QAccessibleObject::~QAccessibleObject
+24 QAccessibleObject::~QAccessibleObject
+32 QAccessibleObject::isValid
+40 QAccessibleObject::object
+48 __cxa_pure_virtual
+56 __cxa_pure_virtual
+64 __cxa_pure_virtual
+72 __cxa_pure_virtual
+80 __cxa_pure_virtual
+88 __cxa_pure_virtual
+96 QAccessibleObject::setText
+104 QAccessibleObject::rect
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 QAccessibleObject::userActionCount
+136 QAccessibleObject::actionText
+144 QAccessibleObject::doAction
+
+Class QAccessibleObject
+ size=16 align=8
+ base size=16 base align=8
+QAccessibleObject (0x7f2f3a492f50) 0
+ vptr=((& QAccessibleObject::_ZTV17QAccessibleObject) + 16u)
+ QAccessibleInterface (0x7f2f3a492310) 0 nearly-empty
+ primary-for QAccessibleObject (0x7f2f3a492f50)
+ QAccessible (0x7f2f3a4a3000) 0 empty
+
+Vtable for QAccessibleObjectEx
+QAccessibleObjectEx::_ZTV19QAccessibleObjectEx: 22u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QAccessibleObjectEx)
+16 QAccessibleObjectEx::~QAccessibleObjectEx
+24 QAccessibleObjectEx::~QAccessibleObjectEx
+32 QAccessibleObjectEx::isValid
+40 QAccessibleObjectEx::object
+48 __cxa_pure_virtual
+56 __cxa_pure_virtual
+64 __cxa_pure_virtual
+72 __cxa_pure_virtual
+80 __cxa_pure_virtual
+88 __cxa_pure_virtual
+96 QAccessibleObjectEx::setText
+104 QAccessibleObjectEx::rect
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 QAccessibleObjectEx::userActionCount
+136 QAccessibleObjectEx::actionText
+144 QAccessibleObjectEx::doAction
+152 __cxa_pure_virtual
+160 QAccessibleInterfaceEx::virtual_hook
+168 QAccessibleInterfaceEx::interface_cast
+
+Class QAccessibleObjectEx
+ size=16 align=8
+ base size=16 base align=8
+QAccessibleObjectEx (0x7f2f3a4a3700) 0
+ vptr=((& QAccessibleObjectEx::_ZTV19QAccessibleObjectEx) + 16u)
+ QAccessibleInterfaceEx (0x7f2f3a4a3770) 0 nearly-empty
+ primary-for QAccessibleObjectEx (0x7f2f3a4a3700)
+ QAccessibleInterface (0x7f2f3a4a37e0) 0 nearly-empty
+ primary-for QAccessibleInterfaceEx (0x7f2f3a4a3770)
+ QAccessible (0x7f2f3a4a3850) 0 empty
+
+Vtable for QAccessibleApplication
+QAccessibleApplication::_ZTV22QAccessibleApplication: 19u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI22QAccessibleApplication)
+16 QAccessibleApplication::~QAccessibleApplication
+24 QAccessibleApplication::~QAccessibleApplication
+32 QAccessibleObject::isValid
+40 QAccessibleObject::object
+48 QAccessibleApplication::childCount
+56 QAccessibleApplication::indexOfChild
+64 QAccessibleApplication::relationTo
+72 QAccessibleApplication::childAt
+80 QAccessibleApplication::navigate
+88 QAccessibleApplication::text
+96 QAccessibleObject::setText
+104 QAccessibleObject::rect
+112 QAccessibleApplication::role
+120 QAccessibleApplication::state
+128 QAccessibleApplication::userActionCount
+136 QAccessibleApplication::actionText
+144 QAccessibleApplication::doAction
+
+Class QAccessibleApplication
+ size=16 align=8
+ base size=16 base align=8
+QAccessibleApplication (0x7f2f3a4a3f50) 0
+ vptr=((& QAccessibleApplication::_ZTV22QAccessibleApplication) + 16u)
+ QAccessibleObject (0x7f2f3a4a3690) 0
+ primary-for QAccessibleApplication (0x7f2f3a4a3f50)
+ QAccessibleInterface (0x7f2f3a4a3ee0) 0 nearly-empty
+ primary-for QAccessibleObject (0x7f2f3a4a3690)
+ QAccessible (0x7f2f3a4b6000) 0 empty
+
+Vtable for QAccessibleFactoryInterface
+QAccessibleFactoryInterface::_ZTV27QAccessibleFactoryInterface: 6u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI27QAccessibleFactoryInterface)
+16 QAccessibleFactoryInterface::~QAccessibleFactoryInterface
+24 QAccessibleFactoryInterface::~QAccessibleFactoryInterface
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+
+Class QAccessibleFactoryInterface
+ size=8 align=8
+ base size=8 base align=8
+QAccessibleFactoryInterface (0x7f2f3a48de00) 0 nearly-empty
+ vptr=((& QAccessibleFactoryInterface::_ZTV27QAccessibleFactoryInterface) + 16u)
+ QAccessible (0x7f2f3a4b68c0) 0 empty
+ QFactoryInterface (0x7f2f3a4b6930) 0 nearly-empty
+ primary-for QAccessibleFactoryInterface (0x7f2f3a48de00)
+
+Vtable for QAccessiblePlugin
+QAccessiblePlugin::_ZTV17QAccessiblePlugin: 22u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QAccessiblePlugin)
+16 QAccessiblePlugin::metaObject
+24 QAccessiblePlugin::qt_metacast
+32 QAccessiblePlugin::qt_metacall
+40 QAccessiblePlugin::~QAccessiblePlugin
+48 QAccessiblePlugin::~QAccessiblePlugin
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 (int (*)(...))-0x00000000000000010
+136 (int (*)(...))(& _ZTI17QAccessiblePlugin)
+144 QAccessiblePlugin::_ZThn16_N17QAccessiblePluginD1Ev
+152 QAccessiblePlugin::_ZThn16_N17QAccessiblePluginD0Ev
+160 __cxa_pure_virtual
+168 __cxa_pure_virtual
+
+Class QAccessiblePlugin
+ size=24 align=8
+ base size=24 base align=8
+QAccessiblePlugin (0x7f2f3a4c1800) 0
+ vptr=((& QAccessiblePlugin::_ZTV17QAccessiblePlugin) + 16u)
+ QObject (0x7f2f3a4c82a0) 0
+ primary-for QAccessiblePlugin (0x7f2f3a4c1800)
+ QAccessibleFactoryInterface (0x7f2f3a4c1880) 16 nearly-empty
+ vptr=((& QAccessiblePlugin::_ZTV17QAccessiblePlugin) + 144u)
+ QAccessible (0x7f2f3a4c8310) 16 empty
+ QFactoryInterface (0x7f2f3a4c8380) 16 nearly-empty
+ primary-for QAccessibleFactoryInterface (0x7f2f3a4c1880)
+
+Vtable for QAccessibleWidget
+QAccessibleWidget::_ZTV17QAccessibleWidget: 19u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QAccessibleWidget)
+16 QAccessibleWidget::~QAccessibleWidget
+24 QAccessibleWidget::~QAccessibleWidget
+32 QAccessibleObject::isValid
+40 QAccessibleObject::object
+48 QAccessibleWidget::childCount
+56 QAccessibleWidget::indexOfChild
+64 QAccessibleWidget::relationTo
+72 QAccessibleWidget::childAt
+80 QAccessibleWidget::navigate
+88 QAccessibleWidget::text
+96 QAccessibleObject::setText
+104 QAccessibleWidget::rect
+112 QAccessibleWidget::role
+120 QAccessibleWidget::state
+128 QAccessibleWidget::userActionCount
+136 QAccessibleWidget::actionText
+144 QAccessibleWidget::doAction
+
+Class QAccessibleWidget
+ size=24 align=8
+ base size=24 base align=8
+QAccessibleWidget (0x7f2f3a4d9310) 0
+ vptr=((& QAccessibleWidget::_ZTV17QAccessibleWidget) + 16u)
+ QAccessibleObject (0x7f2f3a4d9380) 0
+ primary-for QAccessibleWidget (0x7f2f3a4d9310)
+ QAccessibleInterface (0x7f2f3a4d93f0) 0 nearly-empty
+ primary-for QAccessibleObject (0x7f2f3a4d9380)
+ QAccessible (0x7f2f3a4d9460) 0 empty
+
+Vtable for QAccessibleWidgetEx
+QAccessibleWidgetEx::_ZTV19QAccessibleWidgetEx: 22u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QAccessibleWidgetEx)
+16 QAccessibleWidgetEx::~QAccessibleWidgetEx
+24 QAccessibleWidgetEx::~QAccessibleWidgetEx
+32 QAccessibleObjectEx::isValid
+40 QAccessibleObjectEx::object
+48 QAccessibleWidgetEx::childCount
+56 QAccessibleWidgetEx::indexOfChild
+64 QAccessibleWidgetEx::relationTo
+72 QAccessibleWidgetEx::childAt
+80 QAccessibleWidgetEx::navigate
+88 QAccessibleWidgetEx::text
+96 QAccessibleObjectEx::setText
+104 QAccessibleWidgetEx::rect
+112 QAccessibleWidgetEx::role
+120 QAccessibleWidgetEx::state
+128 QAccessibleObjectEx::userActionCount
+136 QAccessibleWidgetEx::actionText
+144 QAccessibleWidgetEx::doAction
+152 QAccessibleWidgetEx::invokeMethodEx
+160 QAccessibleInterfaceEx::virtual_hook
+168 QAccessibleInterfaceEx::interface_cast
+
+Class QAccessibleWidgetEx
+ size=24 align=8
+ base size=24 base align=8
+QAccessibleWidgetEx (0x7f2f3a4e53f0) 0
+ vptr=((& QAccessibleWidgetEx::_ZTV19QAccessibleWidgetEx) + 16u)
+ QAccessibleObjectEx (0x7f2f3a4e5460) 0
+ primary-for QAccessibleWidgetEx (0x7f2f3a4e53f0)
+ QAccessibleInterfaceEx (0x7f2f3a4e54d0) 0 nearly-empty
+ primary-for QAccessibleObjectEx (0x7f2f3a4e5460)
+ QAccessibleInterface (0x7f2f3a4e5540) 0 nearly-empty
+ primary-for QAccessibleInterfaceEx (0x7f2f3a4e54d0)
+ QAccessible (0x7f2f3a4e55b0) 0 empty
+
+Vtable for QAction
+QAction::_ZTV7QAction: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QAction)
+16 QAction::metaObject
+24 QAction::qt_metacast
+32 QAction::qt_metacall
+40 QAction::~QAction
+48 QAction::~QAction
+56 QAction::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QAction
+ size=16 align=8
+ base size=16 base align=8
+QAction (0x7f2f3a4f2540) 0
+ vptr=((& QAction::_ZTV7QAction) + 16u)
+ QObject (0x7f2f3a4f25b0) 0
+ primary-for QAction (0x7f2f3a4f2540)
+
+Vtable for QActionGroup
+QActionGroup::_ZTV12QActionGroup: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QActionGroup)
+16 QActionGroup::metaObject
+24 QActionGroup::qt_metacast
+32 QActionGroup::qt_metacall
+40 QActionGroup::~QActionGroup
+48 QActionGroup::~QActionGroup
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QActionGroup
+ size=16 align=8
+ base size=16 base align=8
+QActionGroup (0x7f2f3a53c070) 0
+ vptr=((& QActionGroup::_ZTV12QActionGroup) + 16u)
+ QObject (0x7f2f3a53c0e0) 0
+ primary-for QActionGroup (0x7f2f3a53c070)
+
+Vtable for QApplication
+QApplication::_ZTV12QApplication: 20u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QApplication)
+16 QApplication::metaObject
+24 QApplication::qt_metacast
+32 QApplication::qt_metacall
+40 QApplication::~QApplication
+48 QApplication::~QApplication
+56 QApplication::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QApplication::notify
+120 QApplication::compressEvent
+128 QApplication::x11EventFilter
+136 QApplication::x11ClientMessage
+144 QApplication::commitData
+152 QApplication::saveState
+
+Class QApplication
+ size=16 align=8
+ base size=16 base align=8
+QApplication (0x7f2f3a380460) 0
+ vptr=((& QApplication::_ZTV12QApplication) + 16u)
+ QCoreApplication (0x7f2f3a3804d0) 0
+ primary-for QApplication (0x7f2f3a380460)
+ QObject (0x7f2f3a380540) 0
+ primary-for QCoreApplication (0x7f2f3a3804d0)
+
+Vtable for QLayoutItem
+QLayoutItem::_ZTV11QLayoutItem: 18u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QLayoutItem)
+16 QLayoutItem::~QLayoutItem
+24 QLayoutItem::~QLayoutItem
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+48 __cxa_pure_virtual
+56 __cxa_pure_virtual
+64 __cxa_pure_virtual
+72 __cxa_pure_virtual
+80 __cxa_pure_virtual
+88 QLayoutItem::hasHeightForWidth
+96 QLayoutItem::heightForWidth
+104 QLayoutItem::minimumHeightForWidth
+112 QLayoutItem::invalidate
+120 QLayoutItem::widget
+128 QLayoutItem::layout
+136 QLayoutItem::spacerItem
+
+Class QLayoutItem
+ size=16 align=8
+ base size=12 base align=8
+QLayoutItem (0x7f2f3a3d10e0) 0
+ vptr=((& QLayoutItem::_ZTV11QLayoutItem) + 16u)
+
+Vtable for QSpacerItem
+QSpacerItem::_ZTV11QSpacerItem: 18u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QSpacerItem)
+16 QSpacerItem::~QSpacerItem
+24 QSpacerItem::~QSpacerItem
+32 QSpacerItem::sizeHint
+40 QSpacerItem::minimumSize
+48 QSpacerItem::maximumSize
+56 QSpacerItem::expandingDirections
+64 QSpacerItem::setGeometry
+72 QSpacerItem::geometry
+80 QSpacerItem::isEmpty
+88 QLayoutItem::hasHeightForWidth
+96 QLayoutItem::heightForWidth
+104 QLayoutItem::minimumHeightForWidth
+112 QLayoutItem::invalidate
+120 QLayoutItem::widget
+128 QLayoutItem::layout
+136 QSpacerItem::spacerItem
+
+Class QSpacerItem
+ size=40 align=8
+ base size=40 base align=8
+QSpacerItem (0x7f2f3a3d1cb0) 0
+ vptr=((& QSpacerItem::_ZTV11QSpacerItem) + 16u)
+ QLayoutItem (0x7f2f3a3d1d20) 0
+ primary-for QSpacerItem (0x7f2f3a3d1cb0)
+
+Vtable for QWidgetItem
+QWidgetItem::_ZTV11QWidgetItem: 18u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QWidgetItem)
+16 QWidgetItem::~QWidgetItem
+24 QWidgetItem::~QWidgetItem
+32 QWidgetItem::sizeHint
+40 QWidgetItem::minimumSize
+48 QWidgetItem::maximumSize
+56 QWidgetItem::expandingDirections
+64 QWidgetItem::setGeometry
+72 QWidgetItem::geometry
+80 QWidgetItem::isEmpty
+88 QWidgetItem::hasHeightForWidth
+96 QWidgetItem::heightForWidth
+104 QLayoutItem::minimumHeightForWidth
+112 QLayoutItem::invalidate
+120 QWidgetItem::widget
+128 QLayoutItem::layout
+136 QLayoutItem::spacerItem
+
+Class QWidgetItem
+ size=24 align=8
+ base size=24 base align=8
+QWidgetItem (0x7f2f3a3ec1c0) 0
+ vptr=((& QWidgetItem::_ZTV11QWidgetItem) + 16u)
+ QLayoutItem (0x7f2f3a3ec230) 0
+ primary-for QWidgetItem (0x7f2f3a3ec1c0)
+
+Vtable for QWidgetItemV2
+QWidgetItemV2::_ZTV13QWidgetItemV2: 18u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QWidgetItemV2)
+16 QWidgetItemV2::~QWidgetItemV2
+24 QWidgetItemV2::~QWidgetItemV2
+32 QWidgetItemV2::sizeHint
+40 QWidgetItemV2::minimumSize
+48 QWidgetItemV2::maximumSize
+56 QWidgetItem::expandingDirections
+64 QWidgetItem::setGeometry
+72 QWidgetItem::geometry
+80 QWidgetItem::isEmpty
+88 QWidgetItem::hasHeightForWidth
+96 QWidgetItemV2::heightForWidth
+104 QLayoutItem::minimumHeightForWidth
+112 QLayoutItem::invalidate
+120 QWidgetItem::widget
+128 QLayoutItem::layout
+136 QLayoutItem::spacerItem
+
+Class QWidgetItemV2
+ size=88 align=8
+ base size=88 base align=8
+QWidgetItemV2 (0x7f2f3a3fe000) 0
+ vptr=((& QWidgetItemV2::_ZTV13QWidgetItemV2) + 16u)
+ QWidgetItem (0x7f2f3a3fe070) 0
+ primary-for QWidgetItemV2 (0x7f2f3a3fe000)
+ QLayoutItem (0x7f2f3a3fe0e0) 0
+ primary-for QWidgetItem (0x7f2f3a3fe070)
+
+Class QLayoutIterator
+ size=16 align=8
+ base size=12 base align=8
+QLayoutIterator (0x7f2f3a3fee70) 0
+
+Vtable for QLayout
+QLayout::_ZTV7QLayout: 45u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QLayout)
+16 QLayout::metaObject
+24 QLayout::qt_metacast
+32 QLayout::qt_metacall
+40 QLayout::~QLayout
+48 QLayout::~QLayout
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QLayout::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QLayout::invalidate
+120 QLayout::geometry
+128 __cxa_pure_virtual
+136 QLayout::expandingDirections
+144 QLayout::minimumSize
+152 QLayout::maximumSize
+160 QLayout::setGeometry
+168 __cxa_pure_virtual
+176 __cxa_pure_virtual
+184 QLayout::indexOf
+192 __cxa_pure_virtual
+200 QLayout::isEmpty
+208 QLayout::layout
+216 (int (*)(...))-0x00000000000000010
+224 (int (*)(...))(& _ZTI7QLayout)
+232 QLayout::_ZThn16_N7QLayoutD1Ev
+240 QLayout::_ZThn16_N7QLayoutD0Ev
+248 __cxa_pure_virtual
+256 QLayout::_ZThn16_NK7QLayout11minimumSizeEv
+264 QLayout::_ZThn16_NK7QLayout11maximumSizeEv
+272 QLayout::_ZThn16_NK7QLayout19expandingDirectionsEv
+280 QLayout::_ZThn16_N7QLayout11setGeometryERK5QRect
+288 QLayout::_ZThn16_NK7QLayout8geometryEv
+296 QLayout::_ZThn16_NK7QLayout7isEmptyEv
+304 QLayoutItem::hasHeightForWidth
+312 QLayoutItem::heightForWidth
+320 QLayoutItem::minimumHeightForWidth
+328 QLayout::_ZThn16_N7QLayout10invalidateEv
+336 QLayoutItem::widget
+344 QLayout::_ZThn16_N7QLayout6layoutEv
+352 QLayoutItem::spacerItem
+
+Class QLayout
+ size=32 align=8
+ base size=28 base align=8
+QLayout (0x7f2f3a411380) 0
+ vptr=((& QLayout::_ZTV7QLayout) + 16u)
+ QObject (0x7f2f3a40ff50) 0
+ primary-for QLayout (0x7f2f3a411380)
+ QLayoutItem (0x7f2f3a413000) 16
+ vptr=((& QLayout::_ZTV7QLayout) + 232u)
+
+Vtable for QGridLayout
+QGridLayout::_ZTV11QGridLayout: 49u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QGridLayout)
+16 QGridLayout::metaObject
+24 QGridLayout::qt_metacast
+32 QGridLayout::qt_metacall
+40 QGridLayout::~QGridLayout
+48 QGridLayout::~QGridLayout
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QLayout::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QGridLayout::invalidate
+120 QLayout::geometry
+128 QGridLayout::addItem
+136 QGridLayout::expandingDirections
+144 QGridLayout::minimumSize
+152 QGridLayout::maximumSize
+160 QGridLayout::setGeometry
+168 QGridLayout::itemAt
+176 QGridLayout::takeAt
+184 QLayout::indexOf
+192 QGridLayout::count
+200 QLayout::isEmpty
+208 QLayout::layout
+216 QGridLayout::sizeHint
+224 QGridLayout::hasHeightForWidth
+232 QGridLayout::heightForWidth
+240 QGridLayout::minimumHeightForWidth
+248 (int (*)(...))-0x00000000000000010
+256 (int (*)(...))(& _ZTI11QGridLayout)
+264 QGridLayout::_ZThn16_N11QGridLayoutD1Ev
+272 QGridLayout::_ZThn16_N11QGridLayoutD0Ev
+280 QGridLayout::_ZThn16_NK11QGridLayout8sizeHintEv
+288 QGridLayout::_ZThn16_NK11QGridLayout11minimumSizeEv
+296 QGridLayout::_ZThn16_NK11QGridLayout11maximumSizeEv
+304 QGridLayout::_ZThn16_NK11QGridLayout19expandingDirectionsEv
+312 QGridLayout::_ZThn16_N11QGridLayout11setGeometryERK5QRect
+320 QLayout::_ZThn16_NK7QLayout8geometryEv
+328 QLayout::_ZThn16_NK7QLayout7isEmptyEv
+336 QGridLayout::_ZThn16_NK11QGridLayout17hasHeightForWidthEv
+344 QGridLayout::_ZThn16_NK11QGridLayout14heightForWidthEi
+352 QGridLayout::_ZThn16_NK11QGridLayout21minimumHeightForWidthEi
+360 QGridLayout::_ZThn16_N11QGridLayout10invalidateEv
+368 QLayoutItem::widget
+376 QLayout::_ZThn16_N7QLayout6layoutEv
+384 QLayoutItem::spacerItem
+
+Class QGridLayout
+ size=32 align=8
+ base size=28 base align=8
+QGridLayout (0x7f2f3a2524d0) 0
+ vptr=((& QGridLayout::_ZTV11QGridLayout) + 16u)
+ QLayout (0x7f2f3a24f500) 0
+ primary-for QGridLayout (0x7f2f3a2524d0)
+ QObject (0x7f2f3a252540) 0
+ primary-for QLayout (0x7f2f3a24f500)
+ QLayoutItem (0x7f2f3a2525b0) 16
+ vptr=((& QGridLayout::_ZTV11QGridLayout) + 264u)
+
+Vtable for QBoxLayout
+QBoxLayout::_ZTV10QBoxLayout: 49u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QBoxLayout)
+16 QBoxLayout::metaObject
+24 QBoxLayout::qt_metacast
+32 QBoxLayout::qt_metacall
+40 QBoxLayout::~QBoxLayout
+48 QBoxLayout::~QBoxLayout
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QLayout::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QBoxLayout::invalidate
+120 QLayout::geometry
+128 QBoxLayout::addItem
+136 QBoxLayout::expandingDirections
+144 QBoxLayout::minimumSize
+152 QBoxLayout::maximumSize
+160 QBoxLayout::setGeometry
+168 QBoxLayout::itemAt
+176 QBoxLayout::takeAt
+184 QLayout::indexOf
+192 QBoxLayout::count
+200 QLayout::isEmpty
+208 QLayout::layout
+216 QBoxLayout::sizeHint
+224 QBoxLayout::hasHeightForWidth
+232 QBoxLayout::heightForWidth
+240 QBoxLayout::minimumHeightForWidth
+248 (int (*)(...))-0x00000000000000010
+256 (int (*)(...))(& _ZTI10QBoxLayout)
+264 QBoxLayout::_ZThn16_N10QBoxLayoutD1Ev
+272 QBoxLayout::_ZThn16_N10QBoxLayoutD0Ev
+280 QBoxLayout::_ZThn16_NK10QBoxLayout8sizeHintEv
+288 QBoxLayout::_ZThn16_NK10QBoxLayout11minimumSizeEv
+296 QBoxLayout::_ZThn16_NK10QBoxLayout11maximumSizeEv
+304 QBoxLayout::_ZThn16_NK10QBoxLayout19expandingDirectionsEv
+312 QBoxLayout::_ZThn16_N10QBoxLayout11setGeometryERK5QRect
+320 QLayout::_ZThn16_NK7QLayout8geometryEv
+328 QLayout::_ZThn16_NK7QLayout7isEmptyEv
+336 QBoxLayout::_ZThn16_NK10QBoxLayout17hasHeightForWidthEv
+344 QBoxLayout::_ZThn16_NK10QBoxLayout14heightForWidthEi
+352 QBoxLayout::_ZThn16_NK10QBoxLayout21minimumHeightForWidthEi
+360 QBoxLayout::_ZThn16_N10QBoxLayout10invalidateEv
+368 QLayoutItem::widget
+376 QLayout::_ZThn16_N7QLayout6layoutEv
+384 QLayoutItem::spacerItem
+
+Class QBoxLayout
+ size=32 align=8
+ base size=28 base align=8
+QBoxLayout (0x7f2f3a29f540) 0
+ vptr=((& QBoxLayout::_ZTV10QBoxLayout) + 16u)
+ QLayout (0x7f2f3a29d400) 0
+ primary-for QBoxLayout (0x7f2f3a29f540)
+ QObject (0x7f2f3a29f5b0) 0
+ primary-for QLayout (0x7f2f3a29d400)
+ QLayoutItem (0x7f2f3a29f620) 16
+ vptr=((& QBoxLayout::_ZTV10QBoxLayout) + 264u)
+
+Vtable for QHBoxLayout
+QHBoxLayout::_ZTV11QHBoxLayout: 49u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QHBoxLayout)
+16 QHBoxLayout::metaObject
+24 QHBoxLayout::qt_metacast
+32 QHBoxLayout::qt_metacall
+40 QHBoxLayout::~QHBoxLayout
+48 QHBoxLayout::~QHBoxLayout
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QLayout::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QBoxLayout::invalidate
+120 QLayout::geometry
+128 QBoxLayout::addItem
+136 QBoxLayout::expandingDirections
+144 QBoxLayout::minimumSize
+152 QBoxLayout::maximumSize
+160 QBoxLayout::setGeometry
+168 QBoxLayout::itemAt
+176 QBoxLayout::takeAt
+184 QLayout::indexOf
+192 QBoxLayout::count
+200 QLayout::isEmpty
+208 QLayout::layout
+216 QBoxLayout::sizeHint
+224 QBoxLayout::hasHeightForWidth
+232 QBoxLayout::heightForWidth
+240 QBoxLayout::minimumHeightForWidth
+248 (int (*)(...))-0x00000000000000010
+256 (int (*)(...))(& _ZTI11QHBoxLayout)
+264 QHBoxLayout::_ZThn16_N11QHBoxLayoutD1Ev
+272 QHBoxLayout::_ZThn16_N11QHBoxLayoutD0Ev
+280 QBoxLayout::_ZThn16_NK10QBoxLayout8sizeHintEv
+288 QBoxLayout::_ZThn16_NK10QBoxLayout11minimumSizeEv
+296 QBoxLayout::_ZThn16_NK10QBoxLayout11maximumSizeEv
+304 QBoxLayout::_ZThn16_NK10QBoxLayout19expandingDirectionsEv
+312 QBoxLayout::_ZThn16_N10QBoxLayout11setGeometryERK5QRect
+320 QLayout::_ZThn16_NK7QLayout8geometryEv
+328 QLayout::_ZThn16_NK7QLayout7isEmptyEv
+336 QBoxLayout::_ZThn16_NK10QBoxLayout17hasHeightForWidthEv
+344 QBoxLayout::_ZThn16_NK10QBoxLayout14heightForWidthEi
+352 QBoxLayout::_ZThn16_NK10QBoxLayout21minimumHeightForWidthEi
+360 QBoxLayout::_ZThn16_N10QBoxLayout10invalidateEv
+368 QLayoutItem::widget
+376 QLayout::_ZThn16_N7QLayout6layoutEv
+384 QLayoutItem::spacerItem
+
+Class QHBoxLayout
+ size=32 align=8
+ base size=28 base align=8
+QHBoxLayout (0x7f2f3a2c4f50) 0
+ vptr=((& QHBoxLayout::_ZTV11QHBoxLayout) + 16u)
+ QBoxLayout (0x7f2f3a2cd000) 0
+ primary-for QHBoxLayout (0x7f2f3a2c4f50)
+ QLayout (0x7f2f3a2ca280) 0
+ primary-for QBoxLayout (0x7f2f3a2cd000)
+ QObject (0x7f2f3a2cd070) 0
+ primary-for QLayout (0x7f2f3a2ca280)
+ QLayoutItem (0x7f2f3a2cd0e0) 16
+ vptr=((& QHBoxLayout::_ZTV11QHBoxLayout) + 264u)
+
+Vtable for QVBoxLayout
+QVBoxLayout::_ZTV11QVBoxLayout: 49u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QVBoxLayout)
+16 QVBoxLayout::metaObject
+24 QVBoxLayout::qt_metacast
+32 QVBoxLayout::qt_metacall
+40 QVBoxLayout::~QVBoxLayout
+48 QVBoxLayout::~QVBoxLayout
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QLayout::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QBoxLayout::invalidate
+120 QLayout::geometry
+128 QBoxLayout::addItem
+136 QBoxLayout::expandingDirections
+144 QBoxLayout::minimumSize
+152 QBoxLayout::maximumSize
+160 QBoxLayout::setGeometry
+168 QBoxLayout::itemAt
+176 QBoxLayout::takeAt
+184 QLayout::indexOf
+192 QBoxLayout::count
+200 QLayout::isEmpty
+208 QLayout::layout
+216 QBoxLayout::sizeHint
+224 QBoxLayout::hasHeightForWidth
+232 QBoxLayout::heightForWidth
+240 QBoxLayout::minimumHeightForWidth
+248 (int (*)(...))-0x00000000000000010
+256 (int (*)(...))(& _ZTI11QVBoxLayout)
+264 QVBoxLayout::_ZThn16_N11QVBoxLayoutD1Ev
+272 QVBoxLayout::_ZThn16_N11QVBoxLayoutD0Ev
+280 QBoxLayout::_ZThn16_NK10QBoxLayout8sizeHintEv
+288 QBoxLayout::_ZThn16_NK10QBoxLayout11minimumSizeEv
+296 QBoxLayout::_ZThn16_NK10QBoxLayout11maximumSizeEv
+304 QBoxLayout::_ZThn16_NK10QBoxLayout19expandingDirectionsEv
+312 QBoxLayout::_ZThn16_N10QBoxLayout11setGeometryERK5QRect
+320 QLayout::_ZThn16_NK7QLayout8geometryEv
+328 QLayout::_ZThn16_NK7QLayout7isEmptyEv
+336 QBoxLayout::_ZThn16_NK10QBoxLayout17hasHeightForWidthEv
+344 QBoxLayout::_ZThn16_NK10QBoxLayout14heightForWidthEi
+352 QBoxLayout::_ZThn16_NK10QBoxLayout21minimumHeightForWidthEi
+360 QBoxLayout::_ZThn16_N10QBoxLayout10invalidateEv
+368 QLayoutItem::widget
+376 QLayout::_ZThn16_N7QLayout6layoutEv
+384 QLayoutItem::spacerItem
+
+Class QVBoxLayout
+ size=32 align=8
+ base size=28 base align=8
+QVBoxLayout (0x7f2f3a2e35b0) 0
+ vptr=((& QVBoxLayout::_ZTV11QVBoxLayout) + 16u)
+ QBoxLayout (0x7f2f3a2e3620) 0
+ primary-for QVBoxLayout (0x7f2f3a2e35b0)
+ QLayout (0x7f2f3a2ca980) 0
+ primary-for QBoxLayout (0x7f2f3a2e3620)
+ QObject (0x7f2f3a2e3690) 0
+ primary-for QLayout (0x7f2f3a2ca980)
+ QLayoutItem (0x7f2f3a2e3700) 16
+ vptr=((& QVBoxLayout::_ZTV11QVBoxLayout) + 264u)
+
+Vtable for QClipboard
+QClipboard::_ZTV10QClipboard: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QClipboard)
+16 QClipboard::metaObject
+24 QClipboard::qt_metacast
+32 QClipboard::qt_metacall
+40 QClipboard::~QClipboard
+48 QClipboard::~QClipboard
+56 QClipboard::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QClipboard::connectNotify
+104 QObject::disconnectNotify
+
+Class QClipboard
+ size=16 align=8
+ base size=16 base align=8
+QClipboard (0x7f2f3a2f1c40) 0
+ vptr=((& QClipboard::_ZTV10QClipboard) + 16u)
+ QObject (0x7f2f3a2f1cb0) 0
+ primary-for QClipboard (0x7f2f3a2f1c40)
+
+Vtable for QDesktopWidget
+QDesktopWidget::_ZTV14QDesktopWidget: 63u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QDesktopWidget)
+16 QDesktopWidget::metaObject
+24 QDesktopWidget::qt_metacast
+32 QDesktopWidget::qt_metacall
+40 QDesktopWidget::~QDesktopWidget
+48 QDesktopWidget::~QDesktopWidget
+56 QWidget::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QWidget::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QWidget::paintEvent
+256 QWidget::moveEvent
+264 QDesktopWidget::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QWidget::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 (int (*)(...))-0x00000000000000010
+456 (int (*)(...))(& _ZTI14QDesktopWidget)
+464 QDesktopWidget::_ZThn16_N14QDesktopWidgetD1Ev
+472 QDesktopWidget::_ZThn16_N14QDesktopWidgetD0Ev
+480 QWidget::_ZThn16_NK7QWidget7devTypeEv
+488 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+496 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QDesktopWidget
+ size=40 align=8
+ base size=40 base align=8
+QDesktopWidget (0x7f2f3a31a930) 0
+ vptr=((& QDesktopWidget::_ZTV14QDesktopWidget) + 16u)
+ QWidget (0x7f2f3a2f9c00) 0
+ primary-for QDesktopWidget (0x7f2f3a31a930)
+ QObject (0x7f2f3a31a9a0) 0
+ primary-for QWidget (0x7f2f3a2f9c00)
+ QPaintDevice (0x7f2f3a31aa10) 16
+ vptr=((& QDesktopWidget::_ZTV14QDesktopWidget) + 464u)
+
+Vtable for QFormLayout
+QFormLayout::_ZTV11QFormLayout: 48u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QFormLayout)
+16 QFormLayout::metaObject
+24 QFormLayout::qt_metacast
+32 QFormLayout::qt_metacall
+40 QFormLayout::~QFormLayout
+48 QFormLayout::~QFormLayout
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QLayout::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QFormLayout::invalidate
+120 QLayout::geometry
+128 QFormLayout::addItem
+136 QFormLayout::expandingDirections
+144 QFormLayout::minimumSize
+152 QLayout::maximumSize
+160 QFormLayout::setGeometry
+168 QFormLayout::itemAt
+176 QFormLayout::takeAt
+184 QLayout::indexOf
+192 QFormLayout::count
+200 QLayout::isEmpty
+208 QLayout::layout
+216 QFormLayout::sizeHint
+224 QFormLayout::hasHeightForWidth
+232 QFormLayout::heightForWidth
+240 (int (*)(...))-0x00000000000000010
+248 (int (*)(...))(& _ZTI11QFormLayout)
+256 QFormLayout::_ZThn16_N11QFormLayoutD1Ev
+264 QFormLayout::_ZThn16_N11QFormLayoutD0Ev
+272 QFormLayout::_ZThn16_NK11QFormLayout8sizeHintEv
+280 QFormLayout::_ZThn16_NK11QFormLayout11minimumSizeEv
+288 QLayout::_ZThn16_NK7QLayout11maximumSizeEv
+296 QFormLayout::_ZThn16_NK11QFormLayout19expandingDirectionsEv
+304 QFormLayout::_ZThn16_N11QFormLayout11setGeometryERK5QRect
+312 QLayout::_ZThn16_NK7QLayout8geometryEv
+320 QLayout::_ZThn16_NK7QLayout7isEmptyEv
+328 QFormLayout::_ZThn16_NK11QFormLayout17hasHeightForWidthEv
+336 QFormLayout::_ZThn16_NK11QFormLayout14heightForWidthEi
+344 QLayoutItem::minimumHeightForWidth
+352 QFormLayout::_ZThn16_N11QFormLayout10invalidateEv
+360 QLayoutItem::widget
+368 QLayout::_ZThn16_N7QLayout6layoutEv
+376 QLayoutItem::spacerItem
+
+Class QFormLayout
+ size=32 align=8
+ base size=28 base align=8
+QFormLayout (0x7f2f3a3389a0) 0
+ vptr=((& QFormLayout::_ZTV11QFormLayout) + 16u)
+ QLayout (0x7f2f3a332b80) 0
+ primary-for QFormLayout (0x7f2f3a3389a0)
+ QObject (0x7f2f3a338a10) 0
+ primary-for QLayout (0x7f2f3a332b80)
+ QLayoutItem (0x7f2f3a338a80) 16
+ vptr=((& QFormLayout::_ZTV11QFormLayout) + 256u)
+
+Vtable for QGesture
+QGesture::_ZTV8QGesture: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI8QGesture)
+16 QGesture::metaObject
+24 QGesture::qt_metacast
+32 QGesture::qt_metacall
+40 QGesture::~QGesture
+48 QGesture::~QGesture
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QGesture
+ size=16 align=8
+ base size=16 base align=8
+QGesture (0x7f2f3a16f150) 0
+ vptr=((& QGesture::_ZTV8QGesture) + 16u)
+ QObject (0x7f2f3a16f1c0) 0
+ primary-for QGesture (0x7f2f3a16f150)
+
+Vtable for QPanGesture
+QPanGesture::_ZTV11QPanGesture: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QPanGesture)
+16 QPanGesture::metaObject
+24 QPanGesture::qt_metacast
+32 QPanGesture::qt_metacall
+40 QPanGesture::~QPanGesture
+48 QPanGesture::~QPanGesture
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QPanGesture
+ size=16 align=8
+ base size=16 base align=8
+QPanGesture (0x7f2f3a185850) 0
+ vptr=((& QPanGesture::_ZTV11QPanGesture) + 16u)
+ QGesture (0x7f2f3a1858c0) 0
+ primary-for QPanGesture (0x7f2f3a185850)
+ QObject (0x7f2f3a185930) 0
+ primary-for QGesture (0x7f2f3a1858c0)
+
+Vtable for QPinchGesture
+QPinchGesture::_ZTV13QPinchGesture: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QPinchGesture)
+16 QPinchGesture::metaObject
+24 QPinchGesture::qt_metacast
+32 QPinchGesture::qt_metacall
+40 QPinchGesture::~QPinchGesture
+48 QPinchGesture::~QPinchGesture
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QPinchGesture
+ size=16 align=8
+ base size=16 base align=8
+QPinchGesture (0x7f2f3a198cb0) 0
+ vptr=((& QPinchGesture::_ZTV13QPinchGesture) + 16u)
+ QGesture (0x7f2f3a198d20) 0
+ primary-for QPinchGesture (0x7f2f3a198cb0)
+ QObject (0x7f2f3a198d90) 0
+ primary-for QGesture (0x7f2f3a198d20)
+
+Vtable for QSwipeGesture
+QSwipeGesture::_ZTV13QSwipeGesture: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QSwipeGesture)
+16 QSwipeGesture::metaObject
+24 QSwipeGesture::qt_metacast
+32 QSwipeGesture::qt_metacall
+40 QSwipeGesture::~QSwipeGesture
+48 QSwipeGesture::~QSwipeGesture
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QSwipeGesture
+ size=16 align=8
+ base size=16 base align=8
+QSwipeGesture (0x7f2f3a1b8d20) 0
+ vptr=((& QSwipeGesture::_ZTV13QSwipeGesture) + 16u)
+ QGesture (0x7f2f3a1b8d90) 0
+ primary-for QSwipeGesture (0x7f2f3a1b8d20)
+ QObject (0x7f2f3a1b8e00) 0
+ primary-for QGesture (0x7f2f3a1b8d90)
+
+Vtable for QTapGesture
+QTapGesture::_ZTV11QTapGesture: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QTapGesture)
+16 QTapGesture::metaObject
+24 QTapGesture::qt_metacast
+32 QTapGesture::qt_metacall
+40 QTapGesture::~QTapGesture
+48 QTapGesture::~QTapGesture
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QTapGesture
+ size=16 align=8
+ base size=16 base align=8
+QTapGesture (0x7f2f3a1d8460) 0
+ vptr=((& QTapGesture::_ZTV11QTapGesture) + 16u)
+ QGesture (0x7f2f3a1d84d0) 0
+ primary-for QTapGesture (0x7f2f3a1d8460)
+ QObject (0x7f2f3a1d8540) 0
+ primary-for QGesture (0x7f2f3a1d84d0)
+
+Vtable for QTapAndHoldGesture
+QTapAndHoldGesture::_ZTV18QTapAndHoldGesture: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QTapAndHoldGesture)
+16 QTapAndHoldGesture::metaObject
+24 QTapAndHoldGesture::qt_metacast
+32 QTapAndHoldGesture::qt_metacall
+40 QTapAndHoldGesture::~QTapAndHoldGesture
+48 QTapAndHoldGesture::~QTapAndHoldGesture
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QTapAndHoldGesture
+ size=16 align=8
+ base size=16 base align=8
+QTapAndHoldGesture (0x7f2f3a1e98c0) 0
+ vptr=((& QTapAndHoldGesture::_ZTV18QTapAndHoldGesture) + 16u)
+ QGesture (0x7f2f3a1e9930) 0
+ primary-for QTapAndHoldGesture (0x7f2f3a1e98c0)
+ QObject (0x7f2f3a1e99a0) 0
+ primary-for QGesture (0x7f2f3a1e9930)
+
+Vtable for QGestureRecognizer
+QGestureRecognizer::_ZTV18QGestureRecognizer: 7u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QGestureRecognizer)
+16 QGestureRecognizer::~QGestureRecognizer
+24 QGestureRecognizer::~QGestureRecognizer
+32 QGestureRecognizer::create
+40 __cxa_pure_virtual
+48 QGestureRecognizer::reset
+
+Class QGestureRecognizer
+ size=8 align=8
+ base size=8 base align=8
+QGestureRecognizer (0x7f2f3a204310) 0 nearly-empty
+ vptr=((& QGestureRecognizer::_ZTV18QGestureRecognizer) + 16u)
+
+Vtable for QSessionManager
+QSessionManager::_ZTV15QSessionManager: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QSessionManager)
+16 QSessionManager::metaObject
+24 QSessionManager::qt_metacast
+32 QSessionManager::qt_metacall
+40 QSessionManager::~QSessionManager
+48 QSessionManager::~QSessionManager
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QSessionManager
+ size=16 align=8
+ base size=16 base align=8
+QSessionManager (0x7f2f3a23a620) 0
+ vptr=((& QSessionManager::_ZTV15QSessionManager) + 16u)
+ QObject (0x7f2f3a23a690) 0
+ primary-for QSessionManager (0x7f2f3a23a620)
+
+Vtable for QShortcut
+QShortcut::_ZTV9QShortcut: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QShortcut)
+16 QShortcut::metaObject
+24 QShortcut::qt_metacast
+32 QShortcut::qt_metacall
+40 QShortcut::~QShortcut
+48 QShortcut::~QShortcut
+56 QShortcut::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QShortcut
+ size=16 align=8
+ base size=16 base align=8
+QShortcut (0x7f2f3a06ab60) 0
+ vptr=((& QShortcut::_ZTV9QShortcut) + 16u)
+ QObject (0x7f2f3a06abd0) 0
+ primary-for QShortcut (0x7f2f3a06ab60)
+
+Vtable for QSound
+QSound::_ZTV6QSound: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI6QSound)
+16 QSound::metaObject
+24 QSound::qt_metacast
+32 QSound::qt_metacall
+40 QSound::~QSound
+48 QSound::~QSound
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QSound
+ size=16 align=8
+ base size=16 base align=8
+QSound (0x7f2f3a088310) 0
+ vptr=((& QSound::_ZTV6QSound) + 16u)
+ QObject (0x7f2f3a088380) 0
+ primary-for QSound (0x7f2f3a088310)
+
+Vtable for QStackedLayout
+QStackedLayout::_ZTV14QStackedLayout: 46u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QStackedLayout)
+16 QStackedLayout::metaObject
+24 QStackedLayout::qt_metacast
+32 QStackedLayout::qt_metacall
+40 QStackedLayout::~QStackedLayout
+48 QStackedLayout::~QStackedLayout
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QLayout::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QLayout::invalidate
+120 QLayout::geometry
+128 QStackedLayout::addItem
+136 QLayout::expandingDirections
+144 QStackedLayout::minimumSize
+152 QLayout::maximumSize
+160 QStackedLayout::setGeometry
+168 QStackedLayout::itemAt
+176 QStackedLayout::takeAt
+184 QLayout::indexOf
+192 QStackedLayout::count
+200 QLayout::isEmpty
+208 QLayout::layout
+216 QStackedLayout::sizeHint
+224 (int (*)(...))-0x00000000000000010
+232 (int (*)(...))(& _ZTI14QStackedLayout)
+240 QStackedLayout::_ZThn16_N14QStackedLayoutD1Ev
+248 QStackedLayout::_ZThn16_N14QStackedLayoutD0Ev
+256 QStackedLayout::_ZThn16_NK14QStackedLayout8sizeHintEv
+264 QStackedLayout::_ZThn16_NK14QStackedLayout11minimumSizeEv
+272 QLayout::_ZThn16_NK7QLayout11maximumSizeEv
+280 QLayout::_ZThn16_NK7QLayout19expandingDirectionsEv
+288 QStackedLayout::_ZThn16_N14QStackedLayout11setGeometryERK5QRect
+296 QLayout::_ZThn16_NK7QLayout8geometryEv
+304 QLayout::_ZThn16_NK7QLayout7isEmptyEv
+312 QLayoutItem::hasHeightForWidth
+320 QLayoutItem::heightForWidth
+328 QLayoutItem::minimumHeightForWidth
+336 QLayout::_ZThn16_N7QLayout10invalidateEv
+344 QLayoutItem::widget
+352 QLayout::_ZThn16_N7QLayout6layoutEv
+360 QLayoutItem::spacerItem
+
+Class QStackedLayout
+ size=32 align=8
+ base size=28 base align=8
+QStackedLayout (0x7f2f3a09ca80) 0
+ vptr=((& QStackedLayout::_ZTV14QStackedLayout) + 16u)
+ QLayout (0x7f2f3a095880) 0
+ primary-for QStackedLayout (0x7f2f3a09ca80)
+ QObject (0x7f2f3a09caf0) 0
+ primary-for QLayout (0x7f2f3a095880)
+ QLayoutItem (0x7f2f3a09cb60) 16
+ vptr=((& QStackedLayout::_ZTV14QStackedLayout) + 240u)
+
+Class QToolTip
+ size=1 align=1
+ base size=0 base align=1
+QToolTip (0x7f2f3a0baa80) 0 empty
+
+Class QWhatsThis
+ size=1 align=1
+ base size=0 base align=1
+QWhatsThis (0x7f2f3a0c8070) 0 empty
+
+Vtable for QWidgetAction
+QWidgetAction::_ZTV13QWidgetAction: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QWidgetAction)
+16 QWidgetAction::metaObject
+24 QWidgetAction::qt_metacast
+32 QWidgetAction::qt_metacall
+40 QWidgetAction::~QWidgetAction
+48 QWidgetAction::~QWidgetAction
+56 QWidgetAction::event
+64 QWidgetAction::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidgetAction::createWidget
+120 QWidgetAction::deleteWidget
+
+Class QWidgetAction
+ size=16 align=8
+ base size=16 base align=8
+QWidgetAction (0x7f2f3a0c8150) 0
+ vptr=((& QWidgetAction::_ZTV13QWidgetAction) + 16u)
+ QAction (0x7f2f3a0c81c0) 0
+ primary-for QWidgetAction (0x7f2f3a0c8150)
+ QObject (0x7f2f3a0c8230) 0
+ primary-for QAction (0x7f2f3a0c81c0)
+
+Class QVector3D
+ size=12 align=4
+ base size=12 base align=4
+QVector3D (0x7f2f39f961c0) 0
+
+Class QVector4D
+ size=16 align=4
+ base size=16 base align=4
+QVector4D (0x7f2f39ff9cb0) 0
+
+Class QQuaternion
+ size=32 align=8
+ base size=32 base align=8
+QQuaternion (0x7f2f39e6fd20) 0
+
+Class QMatrix4x4
+ size=136 align=8
+ base size=132 base align=8
+QMatrix4x4 (0x7f2f39eefb60) 0
+
+Class QVector2D
+ size=8 align=4
+ base size=8 base align=4
+QVector2D (0x7f2f39d3ad90) 0
+
+Vtable for QCommonStyle
+QCommonStyle::_ZTV12QCommonStyle: 35u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QCommonStyle)
+16 QCommonStyle::metaObject
+24 QCommonStyle::qt_metacast
+32 QCommonStyle::qt_metacall
+40 QCommonStyle::~QCommonStyle
+48 QCommonStyle::~QCommonStyle
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QCommonStyle::polish
+120 QCommonStyle::unpolish
+128 QCommonStyle::polish
+136 QCommonStyle::unpolish
+144 QCommonStyle::polish
+152 QStyle::itemTextRect
+160 QStyle::itemPixmapRect
+168 QStyle::drawItemText
+176 QStyle::drawItemPixmap
+184 QStyle::standardPalette
+192 QCommonStyle::drawPrimitive
+200 QCommonStyle::drawControl
+208 QCommonStyle::subElementRect
+216 QCommonStyle::drawComplexControl
+224 QCommonStyle::hitTestComplexControl
+232 QCommonStyle::subControlRect
+240 QCommonStyle::pixelMetric
+248 QCommonStyle::sizeFromContents
+256 QCommonStyle::styleHint
+264 QCommonStyle::standardPixmap
+272 QCommonStyle::generatedIconPixmap
+
+Class QCommonStyle
+ size=16 align=8
+ base size=16 base align=8
+QCommonStyle (0x7f2f39b9e2a0) 0
+ vptr=((& QCommonStyle::_ZTV12QCommonStyle) + 16u)
+ QStyle (0x7f2f39b9e310) 0
+ primary-for QCommonStyle (0x7f2f39b9e2a0)
+ QObject (0x7f2f39b9e380) 0
+ primary-for QStyle (0x7f2f39b9e310)
+
+Vtable for QMotifStyle
+QMotifStyle::_ZTV11QMotifStyle: 35u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QMotifStyle)
+16 QMotifStyle::metaObject
+24 QMotifStyle::qt_metacast
+32 QMotifStyle::qt_metacall
+40 QMotifStyle::~QMotifStyle
+48 QMotifStyle::~QMotifStyle
+56 QMotifStyle::event
+64 QMotifStyle::eventFilter
+72 QMotifStyle::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QMotifStyle::polish
+120 QMotifStyle::unpolish
+128 QMotifStyle::polish
+136 QMotifStyle::unpolish
+144 QMotifStyle::polish
+152 QStyle::itemTextRect
+160 QStyle::itemPixmapRect
+168 QStyle::drawItemText
+176 QStyle::drawItemPixmap
+184 QMotifStyle::standardPalette
+192 QMotifStyle::drawPrimitive
+200 QMotifStyle::drawControl
+208 QMotifStyle::subElementRect
+216 QMotifStyle::drawComplexControl
+224 QCommonStyle::hitTestComplexControl
+232 QMotifStyle::subControlRect
+240 QMotifStyle::pixelMetric
+248 QMotifStyle::sizeFromContents
+256 QMotifStyle::styleHint
+264 QMotifStyle::standardPixmap
+272 QCommonStyle::generatedIconPixmap
+
+Class QMotifStyle
+ size=32 align=8
+ base size=25 base align=8
+QMotifStyle (0x7f2f39bbf2a0) 0
+ vptr=((& QMotifStyle::_ZTV11QMotifStyle) + 16u)
+ QCommonStyle (0x7f2f39bbf310) 0
+ primary-for QMotifStyle (0x7f2f39bbf2a0)
+ QStyle (0x7f2f39bbf380) 0
+ primary-for QCommonStyle (0x7f2f39bbf310)
+ QObject (0x7f2f39bbf3f0) 0
+ primary-for QStyle (0x7f2f39bbf380)
+
+Vtable for QCDEStyle
+QCDEStyle::_ZTV9QCDEStyle: 35u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QCDEStyle)
+16 QCDEStyle::metaObject
+24 QCDEStyle::qt_metacast
+32 QCDEStyle::qt_metacall
+40 QCDEStyle::~QCDEStyle
+48 QCDEStyle::~QCDEStyle
+56 QMotifStyle::event
+64 QMotifStyle::eventFilter
+72 QMotifStyle::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QMotifStyle::polish
+120 QMotifStyle::unpolish
+128 QMotifStyle::polish
+136 QMotifStyle::unpolish
+144 QMotifStyle::polish
+152 QStyle::itemTextRect
+160 QStyle::itemPixmapRect
+168 QStyle::drawItemText
+176 QStyle::drawItemPixmap
+184 QCDEStyle::standardPalette
+192 QCDEStyle::drawPrimitive
+200 QCDEStyle::drawControl
+208 QMotifStyle::subElementRect
+216 QMotifStyle::drawComplexControl
+224 QCommonStyle::hitTestComplexControl
+232 QMotifStyle::subControlRect
+240 QCDEStyle::pixelMetric
+248 QMotifStyle::sizeFromContents
+256 QMotifStyle::styleHint
+264 QMotifStyle::standardPixmap
+272 QCommonStyle::generatedIconPixmap
+
+Class QCDEStyle
+ size=32 align=8
+ base size=25 base align=8
+QCDEStyle (0x7f2f39be91c0) 0
+ vptr=((& QCDEStyle::_ZTV9QCDEStyle) + 16u)
+ QMotifStyle (0x7f2f39be9230) 0
+ primary-for QCDEStyle (0x7f2f39be91c0)
+ QCommonStyle (0x7f2f39be92a0) 0
+ primary-for QMotifStyle (0x7f2f39be9230)
+ QStyle (0x7f2f39be9310) 0
+ primary-for QCommonStyle (0x7f2f39be92a0)
+ QObject (0x7f2f39be9380) 0
+ primary-for QStyle (0x7f2f39be9310)
+
+Vtable for QWindowsStyle
+QWindowsStyle::_ZTV13QWindowsStyle: 35u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QWindowsStyle)
+16 QWindowsStyle::metaObject
+24 QWindowsStyle::qt_metacast
+32 QWindowsStyle::qt_metacall
+40 QWindowsStyle::~QWindowsStyle
+48 QWindowsStyle::~QWindowsStyle
+56 QObject::event
+64 QWindowsStyle::eventFilter
+72 QWindowsStyle::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWindowsStyle::polish
+120 QWindowsStyle::unpolish
+128 QWindowsStyle::polish
+136 QWindowsStyle::unpolish
+144 QWindowsStyle::polish
+152 QStyle::itemTextRect
+160 QStyle::itemPixmapRect
+168 QStyle::drawItemText
+176 QStyle::drawItemPixmap
+184 QStyle::standardPalette
+192 QWindowsStyle::drawPrimitive
+200 QWindowsStyle::drawControl
+208 QWindowsStyle::subElementRect
+216 QWindowsStyle::drawComplexControl
+224 QCommonStyle::hitTestComplexControl
+232 QCommonStyle::subControlRect
+240 QWindowsStyle::pixelMetric
+248 QWindowsStyle::sizeFromContents
+256 QWindowsStyle::styleHint
+264 QWindowsStyle::standardPixmap
+272 QCommonStyle::generatedIconPixmap
+
+Class QWindowsStyle
+ size=24 align=8
+ base size=24 base align=8
+QWindowsStyle (0x7f2f39bfd310) 0
+ vptr=((& QWindowsStyle::_ZTV13QWindowsStyle) + 16u)
+ QCommonStyle (0x7f2f39bfd380) 0
+ primary-for QWindowsStyle (0x7f2f39bfd310)
+ QStyle (0x7f2f39bfd3f0) 0
+ primary-for QCommonStyle (0x7f2f39bfd380)
+ QObject (0x7f2f39bfd460) 0
+ primary-for QStyle (0x7f2f39bfd3f0)
+
+Vtable for QCleanlooksStyle
+QCleanlooksStyle::_ZTV16QCleanlooksStyle: 35u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QCleanlooksStyle)
+16 QCleanlooksStyle::metaObject
+24 QCleanlooksStyle::qt_metacast
+32 QCleanlooksStyle::qt_metacall
+40 QCleanlooksStyle::~QCleanlooksStyle
+48 QCleanlooksStyle::~QCleanlooksStyle
+56 QObject::event
+64 QWindowsStyle::eventFilter
+72 QWindowsStyle::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QCleanlooksStyle::polish
+120 QCleanlooksStyle::unpolish
+128 QCleanlooksStyle::polish
+136 QCleanlooksStyle::unpolish
+144 QCleanlooksStyle::polish
+152 QStyle::itemTextRect
+160 QCleanlooksStyle::itemPixmapRect
+168 QCleanlooksStyle::drawItemText
+176 QCleanlooksStyle::drawItemPixmap
+184 QCleanlooksStyle::standardPalette
+192 QCleanlooksStyle::drawPrimitive
+200 QCleanlooksStyle::drawControl
+208 QCleanlooksStyle::subElementRect
+216 QCleanlooksStyle::drawComplexControl
+224 QCleanlooksStyle::hitTestComplexControl
+232 QCleanlooksStyle::subControlRect
+240 QCleanlooksStyle::pixelMetric
+248 QCleanlooksStyle::sizeFromContents
+256 QCleanlooksStyle::styleHint
+264 QCleanlooksStyle::standardPixmap
+272 QCleanlooksStyle::generatedIconPixmap
+
+Class QCleanlooksStyle
+ size=24 align=8
+ base size=24 base align=8
+QCleanlooksStyle (0x7f2f39c1f0e0) 0
+ vptr=((& QCleanlooksStyle::_ZTV16QCleanlooksStyle) + 16u)
+ QWindowsStyle (0x7f2f39c1f150) 0
+ primary-for QCleanlooksStyle (0x7f2f39c1f0e0)
+ QCommonStyle (0x7f2f39c1f1c0) 0
+ primary-for QWindowsStyle (0x7f2f39c1f150)
+ QStyle (0x7f2f39c1f230) 0
+ primary-for QCommonStyle (0x7f2f39c1f1c0)
+ QObject (0x7f2f39c1f2a0) 0
+ primary-for QStyle (0x7f2f39c1f230)
+
+Vtable for QPlastiqueStyle
+QPlastiqueStyle::_ZTV15QPlastiqueStyle: 35u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QPlastiqueStyle)
+16 QPlastiqueStyle::metaObject
+24 QPlastiqueStyle::qt_metacast
+32 QPlastiqueStyle::qt_metacall
+40 QPlastiqueStyle::~QPlastiqueStyle
+48 QPlastiqueStyle::~QPlastiqueStyle
+56 QObject::event
+64 QPlastiqueStyle::eventFilter
+72 QPlastiqueStyle::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QPlastiqueStyle::polish
+120 QPlastiqueStyle::unpolish
+128 QPlastiqueStyle::polish
+136 QPlastiqueStyle::unpolish
+144 QPlastiqueStyle::polish
+152 QStyle::itemTextRect
+160 QStyle::itemPixmapRect
+168 QStyle::drawItemText
+176 QStyle::drawItemPixmap
+184 QPlastiqueStyle::standardPalette
+192 QPlastiqueStyle::drawPrimitive
+200 QPlastiqueStyle::drawControl
+208 QPlastiqueStyle::subElementRect
+216 QPlastiqueStyle::drawComplexControl
+224 QPlastiqueStyle::hitTestComplexControl
+232 QPlastiqueStyle::subControlRect
+240 QPlastiqueStyle::pixelMetric
+248 QPlastiqueStyle::sizeFromContents
+256 QPlastiqueStyle::styleHint
+264 QPlastiqueStyle::standardPixmap
+272 QCommonStyle::generatedIconPixmap
+
+Class QPlastiqueStyle
+ size=32 align=8
+ base size=32 base align=8
+QPlastiqueStyle (0x7f2f39c39e70) 0
+ vptr=((& QPlastiqueStyle::_ZTV15QPlastiqueStyle) + 16u)
+ QWindowsStyle (0x7f2f39c39ee0) 0
+ primary-for QPlastiqueStyle (0x7f2f39c39e70)
+ QCommonStyle (0x7f2f39c39f50) 0
+ primary-for QWindowsStyle (0x7f2f39c39ee0)
+ QStyle (0x7f2f39c43000) 0
+ primary-for QCommonStyle (0x7f2f39c39f50)
+ QObject (0x7f2f39c43070) 0
+ primary-for QStyle (0x7f2f39c43000)
+
+Vtable for QProxyStyle
+QProxyStyle::_ZTV11QProxyStyle: 35u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QProxyStyle)
+16 QProxyStyle::metaObject
+24 QProxyStyle::qt_metacast
+32 QProxyStyle::qt_metacall
+40 QProxyStyle::~QProxyStyle
+48 QProxyStyle::~QProxyStyle
+56 QProxyStyle::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QProxyStyle::polish
+120 QProxyStyle::unpolish
+128 QProxyStyle::polish
+136 QProxyStyle::unpolish
+144 QProxyStyle::polish
+152 QProxyStyle::itemTextRect
+160 QProxyStyle::itemPixmapRect
+168 QProxyStyle::drawItemText
+176 QProxyStyle::drawItemPixmap
+184 QProxyStyle::standardPalette
+192 QProxyStyle::drawPrimitive
+200 QProxyStyle::drawControl
+208 QProxyStyle::subElementRect
+216 QProxyStyle::drawComplexControl
+224 QProxyStyle::hitTestComplexControl
+232 QProxyStyle::subControlRect
+240 QProxyStyle::pixelMetric
+248 QProxyStyle::sizeFromContents
+256 QProxyStyle::styleHint
+264 QProxyStyle::standardPixmap
+272 QProxyStyle::generatedIconPixmap
+
+Class QProxyStyle
+ size=16 align=8
+ base size=16 base align=8
+QProxyStyle (0x7f2f39a62000) 0
+ vptr=((& QProxyStyle::_ZTV11QProxyStyle) + 16u)
+ QCommonStyle (0x7f2f39a62070) 0
+ primary-for QProxyStyle (0x7f2f39a62000)
+ QStyle (0x7f2f39a620e0) 0
+ primary-for QCommonStyle (0x7f2f39a62070)
+ QObject (0x7f2f39a62150) 0
+ primary-for QStyle (0x7f2f39a620e0)
+
+Vtable for QS60Style
+QS60Style::_ZTV9QS60Style: 35u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QS60Style)
+16 QS60Style::metaObject
+24 QS60Style::qt_metacast
+32 QS60Style::qt_metacall
+40 QS60Style::~QS60Style
+48 QS60Style::~QS60Style
+56 QS60Style::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QS60Style::polish
+120 QS60Style::unpolish
+128 QS60Style::polish
+136 QS60Style::unpolish
+144 QCommonStyle::polish
+152 QStyle::itemTextRect
+160 QStyle::itemPixmapRect
+168 QStyle::drawItemText
+176 QStyle::drawItemPixmap
+184 QStyle::standardPalette
+192 QS60Style::drawPrimitive
+200 QS60Style::drawControl
+208 QS60Style::subElementRect
+216 QS60Style::drawComplexControl
+224 QCommonStyle::hitTestComplexControl
+232 QS60Style::subControlRect
+240 QS60Style::pixelMetric
+248 QS60Style::sizeFromContents
+256 QS60Style::styleHint
+264 QCommonStyle::standardPixmap
+272 QCommonStyle::generatedIconPixmap
+
+Class QS60Style
+ size=16 align=8
+ base size=16 base align=8
+QS60Style (0x7f2f39a824d0) 0
+ vptr=((& QS60Style::_ZTV9QS60Style) + 16u)
+ QCommonStyle (0x7f2f39a82540) 0
+ primary-for QS60Style (0x7f2f39a824d0)
+ QStyle (0x7f2f39a825b0) 0
+ primary-for QCommonStyle (0x7f2f39a82540)
+ QObject (0x7f2f39a82620) 0
+ primary-for QStyle (0x7f2f39a825b0)
+
+Class QStyleFactory
+ size=1 align=1
+ base size=0 base align=1
+QStyleFactory (0x7f2f39aa6310) 0 empty
+
+Vtable for QStyleFactoryInterface
+QStyleFactoryInterface::_ZTV22QStyleFactoryInterface: 6u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI22QStyleFactoryInterface)
+16 QStyleFactoryInterface::~QStyleFactoryInterface
+24 QStyleFactoryInterface::~QStyleFactoryInterface
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+
+Class QStyleFactoryInterface
+ size=8 align=8
+ base size=8 base align=8
+QStyleFactoryInterface (0x7f2f39aa6380) 0 nearly-empty
+ vptr=((& QStyleFactoryInterface::_ZTV22QStyleFactoryInterface) + 16u)
+ QFactoryInterface (0x7f2f39aa63f0) 0 nearly-empty
+ primary-for QStyleFactoryInterface (0x7f2f39aa6380)
+
+Vtable for QStylePlugin
+QStylePlugin::_ZTV12QStylePlugin: 22u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QStylePlugin)
+16 QStylePlugin::metaObject
+24 QStylePlugin::qt_metacast
+32 QStylePlugin::qt_metacall
+40 QStylePlugin::~QStylePlugin
+48 QStylePlugin::~QStylePlugin
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 (int (*)(...))-0x00000000000000010
+136 (int (*)(...))(& _ZTI12QStylePlugin)
+144 QStylePlugin::_ZThn16_N12QStylePluginD1Ev
+152 QStylePlugin::_ZThn16_N12QStylePluginD0Ev
+160 __cxa_pure_virtual
+168 __cxa_pure_virtual
+
+Class QStylePlugin
+ size=24 align=8
+ base size=24 base align=8
+QStylePlugin (0x7f2f39ab3000) 0
+ vptr=((& QStylePlugin::_ZTV12QStylePlugin) + 16u)
+ QObject (0x7f2f39aa6e00) 0
+ primary-for QStylePlugin (0x7f2f39ab3000)
+ QStyleFactoryInterface (0x7f2f39aa6e70) 16 nearly-empty
+ vptr=((& QStylePlugin::_ZTV12QStylePlugin) + 144u)
+ QFactoryInterface (0x7f2f39aa6ee0) 16 nearly-empty
+ primary-for QStyleFactoryInterface (0x7f2f39aa6e70)
+
+Vtable for QWindowsCEStyle
+QWindowsCEStyle::_ZTV15QWindowsCEStyle: 35u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QWindowsCEStyle)
+16 QWindowsCEStyle::metaObject
+24 QWindowsCEStyle::qt_metacast
+32 QWindowsCEStyle::qt_metacall
+40 QWindowsCEStyle::~QWindowsCEStyle
+48 QWindowsCEStyle::~QWindowsCEStyle
+56 QObject::event
+64 QWindowsStyle::eventFilter
+72 QWindowsStyle::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWindowsCEStyle::polish
+120 QWindowsStyle::unpolish
+128 QWindowsCEStyle::polish
+136 QWindowsStyle::unpolish
+144 QWindowsCEStyle::polish
+152 QStyle::itemTextRect
+160 QStyle::itemPixmapRect
+168 QWindowsCEStyle::drawItemText
+176 QStyle::drawItemPixmap
+184 QWindowsCEStyle::standardPalette
+192 QWindowsCEStyle::drawPrimitive
+200 QWindowsCEStyle::drawControl
+208 QWindowsCEStyle::subElementRect
+216 QWindowsCEStyle::drawComplexControl
+224 QWindowsCEStyle::hitTestComplexControl
+232 QWindowsCEStyle::subControlRect
+240 QWindowsCEStyle::pixelMetric
+248 QWindowsCEStyle::sizeFromContents
+256 QWindowsCEStyle::styleHint
+264 QWindowsCEStyle::standardPixmap
+272 QCommonStyle::generatedIconPixmap
+
+Class QWindowsCEStyle
+ size=24 align=8
+ base size=24 base align=8
+QWindowsCEStyle (0x7f2f39ab6d90) 0
+ vptr=((& QWindowsCEStyle::_ZTV15QWindowsCEStyle) + 16u)
+ QWindowsStyle (0x7f2f39ab6e00) 0
+ primary-for QWindowsCEStyle (0x7f2f39ab6d90)
+ QCommonStyle (0x7f2f39ab6e70) 0
+ primary-for QWindowsStyle (0x7f2f39ab6e00)
+ QStyle (0x7f2f39ab6ee0) 0
+ primary-for QCommonStyle (0x7f2f39ab6e70)
+ QObject (0x7f2f39ab6f50) 0
+ primary-for QStyle (0x7f2f39ab6ee0)
+
+Vtable for QWindowsMobileStyle
+QWindowsMobileStyle::_ZTV19QWindowsMobileStyle: 35u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QWindowsMobileStyle)
+16 QWindowsMobileStyle::metaObject
+24 QWindowsMobileStyle::qt_metacast
+32 QWindowsMobileStyle::qt_metacall
+40 QWindowsMobileStyle::~QWindowsMobileStyle
+48 QWindowsMobileStyle::~QWindowsMobileStyle
+56 QObject::event
+64 QWindowsStyle::eventFilter
+72 QWindowsStyle::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWindowsMobileStyle::polish
+120 QWindowsMobileStyle::unpolish
+128 QWindowsMobileStyle::polish
+136 QWindowsMobileStyle::unpolish
+144 QWindowsMobileStyle::polish
+152 QStyle::itemTextRect
+160 QStyle::itemPixmapRect
+168 QStyle::drawItemText
+176 QStyle::drawItemPixmap
+184 QWindowsMobileStyle::standardPalette
+192 QWindowsMobileStyle::drawPrimitive
+200 QWindowsMobileStyle::drawControl
+208 QWindowsMobileStyle::subElementRect
+216 QWindowsMobileStyle::drawComplexControl
+224 QCommonStyle::hitTestComplexControl
+232 QWindowsMobileStyle::subControlRect
+240 QWindowsMobileStyle::pixelMetric
+248 QWindowsMobileStyle::sizeFromContents
+256 QWindowsMobileStyle::styleHint
+264 QWindowsMobileStyle::standardPixmap
+272 QWindowsMobileStyle::generatedIconPixmap
+
+Class QWindowsMobileStyle
+ size=24 align=8
+ base size=24 base align=8
+QWindowsMobileStyle (0x7f2f39add3f0) 0
+ vptr=((& QWindowsMobileStyle::_ZTV19QWindowsMobileStyle) + 16u)
+ QWindowsStyle (0x7f2f39add460) 0
+ primary-for QWindowsMobileStyle (0x7f2f39add3f0)
+ QCommonStyle (0x7f2f39add4d0) 0
+ primary-for QWindowsStyle (0x7f2f39add460)
+ QStyle (0x7f2f39add540) 0
+ primary-for QCommonStyle (0x7f2f39add4d0)
+ QObject (0x7f2f39add5b0) 0
+ primary-for QStyle (0x7f2f39add540)
+
+Vtable for QWindowsXPStyle
+QWindowsXPStyle::_ZTV15QWindowsXPStyle: 35u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QWindowsXPStyle)
+16 QWindowsXPStyle::metaObject
+24 QWindowsXPStyle::qt_metacast
+32 QWindowsXPStyle::qt_metacall
+40 QWindowsXPStyle::~QWindowsXPStyle
+48 QWindowsXPStyle::~QWindowsXPStyle
+56 QObject::event
+64 QWindowsStyle::eventFilter
+72 QWindowsStyle::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWindowsXPStyle::polish
+120 QWindowsXPStyle::unpolish
+128 QWindowsXPStyle::polish
+136 QWindowsXPStyle::unpolish
+144 QWindowsXPStyle::polish
+152 QStyle::itemTextRect
+160 QStyle::itemPixmapRect
+168 QStyle::drawItemText
+176 QStyle::drawItemPixmap
+184 QWindowsXPStyle::standardPalette
+192 QWindowsXPStyle::drawPrimitive
+200 QWindowsXPStyle::drawControl
+208 QWindowsXPStyle::subElementRect
+216 QWindowsXPStyle::drawComplexControl
+224 QCommonStyle::hitTestComplexControl
+232 QWindowsXPStyle::subControlRect
+240 QWindowsXPStyle::pixelMetric
+248 QWindowsXPStyle::sizeFromContents
+256 QWindowsXPStyle::styleHint
+264 QWindowsXPStyle::standardPixmap
+272 QCommonStyle::generatedIconPixmap
+
+Class QWindowsXPStyle
+ size=32 align=8
+ base size=32 base align=8
+QWindowsXPStyle (0x7f2f39af4d90) 0
+ vptr=((& QWindowsXPStyle::_ZTV15QWindowsXPStyle) + 16u)
+ QWindowsStyle (0x7f2f39af4e00) 0
+ primary-for QWindowsXPStyle (0x7f2f39af4d90)
+ QCommonStyle (0x7f2f39af4e70) 0
+ primary-for QWindowsStyle (0x7f2f39af4e00)
+ QStyle (0x7f2f39af4ee0) 0
+ primary-for QCommonStyle (0x7f2f39af4e70)
+ QObject (0x7f2f39af4f50) 0
+ primary-for QStyle (0x7f2f39af4ee0)
+
+Vtable for QWindowsVistaStyle
+QWindowsVistaStyle::_ZTV18QWindowsVistaStyle: 35u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QWindowsVistaStyle)
+16 QWindowsVistaStyle::metaObject
+24 QWindowsVistaStyle::qt_metacast
+32 QWindowsVistaStyle::qt_metacall
+40 QWindowsVistaStyle::~QWindowsVistaStyle
+48 QWindowsVistaStyle::~QWindowsVistaStyle
+56 QWindowsVistaStyle::event
+64 QWindowsStyle::eventFilter
+72 QWindowsStyle::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWindowsVistaStyle::polish
+120 QWindowsVistaStyle::unpolish
+128 QWindowsVistaStyle::polish
+136 QWindowsVistaStyle::unpolish
+144 QWindowsVistaStyle::polish
+152 QStyle::itemTextRect
+160 QStyle::itemPixmapRect
+168 QStyle::drawItemText
+176 QStyle::drawItemPixmap
+184 QWindowsVistaStyle::standardPalette
+192 QWindowsVistaStyle::drawPrimitive
+200 QWindowsVistaStyle::drawControl
+208 QWindowsVistaStyle::subElementRect
+216 QWindowsVistaStyle::drawComplexControl
+224 QWindowsVistaStyle::hitTestComplexControl
+232 QWindowsVistaStyle::subControlRect
+240 QWindowsVistaStyle::pixelMetric
+248 QWindowsVistaStyle::sizeFromContents
+256 QWindowsVistaStyle::styleHint
+264 QWindowsVistaStyle::standardPixmap
+272 QCommonStyle::generatedIconPixmap
+
+Class QWindowsVistaStyle
+ size=32 align=8
+ base size=32 base align=8
+QWindowsVistaStyle (0x7f2f39b15c40) 0
+ vptr=((& QWindowsVistaStyle::_ZTV18QWindowsVistaStyle) + 16u)
+ QWindowsXPStyle (0x7f2f39b15cb0) 0
+ primary-for QWindowsVistaStyle (0x7f2f39b15c40)
+ QWindowsStyle (0x7f2f39b15d20) 0
+ primary-for QWindowsXPStyle (0x7f2f39b15cb0)
+ QCommonStyle (0x7f2f39b15d90) 0
+ primary-for QWindowsStyle (0x7f2f39b15d20)
+ QStyle (0x7f2f39b15e00) 0
+ primary-for QCommonStyle (0x7f2f39b15d90)
+ QObject (0x7f2f39b15e70) 0
+ primary-for QStyle (0x7f2f39b15e00)
+
+Vtable for QInputContext
+QInputContext::_ZTV13QInputContext: 26u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QInputContext)
+16 QInputContext::metaObject
+24 QInputContext::qt_metacast
+32 QInputContext::qt_metacall
+40 QInputContext::~QInputContext
+48 QInputContext::~QInputContext
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 __cxa_pure_virtual
+136 QInputContext::update
+144 QInputContext::mouseHandler
+152 QInputContext::font
+160 __cxa_pure_virtual
+168 QInputContext::setFocusWidget
+176 QInputContext::widgetDestroyed
+184 QInputContext::actions
+192 QInputContext::x11FilterEvent
+200 QInputContext::filterEvent
+
+Class QInputContext
+ size=16 align=8
+ base size=16 base align=8
+QInputContext (0x7f2f39b36c40) 0
+ vptr=((& QInputContext::_ZTV13QInputContext) + 16u)
+ QObject (0x7f2f39b36cb0) 0
+ primary-for QInputContext (0x7f2f39b36c40)
+
+Class QInputContextFactory
+ size=1 align=1
+ base size=0 base align=1
+QInputContextFactory (0x7f2f399575b0) 0 empty
+
+Vtable for QInputContextFactoryInterface
+QInputContextFactoryInterface::_ZTV29QInputContextFactoryInterface: 9u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI29QInputContextFactoryInterface)
+16 QInputContextFactoryInterface::~QInputContextFactoryInterface
+24 QInputContextFactoryInterface::~QInputContextFactoryInterface
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+48 __cxa_pure_virtual
+56 __cxa_pure_virtual
+64 __cxa_pure_virtual
+
+Class QInputContextFactoryInterface
+ size=8 align=8
+ base size=8 base align=8
+QInputContextFactoryInterface (0x7f2f39957620) 0 nearly-empty
+ vptr=((& QInputContextFactoryInterface::_ZTV29QInputContextFactoryInterface) + 16u)
+ QFactoryInterface (0x7f2f39957690) 0 nearly-empty
+ primary-for QInputContextFactoryInterface (0x7f2f39957620)
+
+Vtable for QInputContextPlugin
+QInputContextPlugin::_ZTV19QInputContextPlugin: 28u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QInputContextPlugin)
+16 QInputContextPlugin::metaObject
+24 QInputContextPlugin::qt_metacast
+32 QInputContextPlugin::qt_metacall
+40 QInputContextPlugin::~QInputContextPlugin
+48 QInputContextPlugin::~QInputContextPlugin
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 __cxa_pure_virtual
+136 __cxa_pure_virtual
+144 __cxa_pure_virtual
+152 (int (*)(...))-0x00000000000000010
+160 (int (*)(...))(& _ZTI19QInputContextPlugin)
+168 QInputContextPlugin::_ZThn16_N19QInputContextPluginD1Ev
+176 QInputContextPlugin::_ZThn16_N19QInputContextPluginD0Ev
+184 __cxa_pure_virtual
+192 __cxa_pure_virtual
+200 __cxa_pure_virtual
+208 __cxa_pure_virtual
+216 __cxa_pure_virtual
+
+Class QInputContextPlugin
+ size=24 align=8
+ base size=24 base align=8
+QInputContextPlugin (0x7f2f39953e80) 0
+ vptr=((& QInputContextPlugin::_ZTV19QInputContextPlugin) + 16u)
+ QObject (0x7f2f39966000) 0
+ primary-for QInputContextPlugin (0x7f2f39953e80)
+ QInputContextFactoryInterface (0x7f2f39966070) 16 nearly-empty
+ vptr=((& QInputContextPlugin::_ZTV19QInputContextPlugin) + 168u)
+ QFactoryInterface (0x7f2f399660e0) 16 nearly-empty
+ primary-for QInputContextFactoryInterface (0x7f2f39966070)
+
+Vtable for QGraphicsItem
+QGraphicsItem::_ZTV13QGraphicsItem: 39u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QGraphicsItem)
+16 QGraphicsItem::~QGraphicsItem
+24 QGraphicsItem::~QGraphicsItem
+32 QGraphicsItem::advance
+40 __cxa_pure_virtual
+48 QGraphicsItem::shape
+56 QGraphicsItem::contains
+64 QGraphicsItem::collidesWithItem
+72 QGraphicsItem::collidesWithPath
+80 QGraphicsItem::isObscuredBy
+88 QGraphicsItem::opaqueArea
+96 __cxa_pure_virtual
+104 QGraphicsItem::type
+112 QGraphicsItem::sceneEventFilter
+120 QGraphicsItem::sceneEvent
+128 QGraphicsItem::contextMenuEvent
+136 QGraphicsItem::dragEnterEvent
+144 QGraphicsItem::dragLeaveEvent
+152 QGraphicsItem::dragMoveEvent
+160 QGraphicsItem::dropEvent
+168 QGraphicsItem::focusInEvent
+176 QGraphicsItem::focusOutEvent
+184 QGraphicsItem::hoverEnterEvent
+192 QGraphicsItem::hoverMoveEvent
+200 QGraphicsItem::hoverLeaveEvent
+208 QGraphicsItem::keyPressEvent
+216 QGraphicsItem::keyReleaseEvent
+224 QGraphicsItem::mousePressEvent
+232 QGraphicsItem::mouseMoveEvent
+240 QGraphicsItem::mouseReleaseEvent
+248 QGraphicsItem::mouseDoubleClickEvent
+256 QGraphicsItem::wheelEvent
+264 QGraphicsItem::inputMethodEvent
+272 QGraphicsItem::inputMethodQuery
+280 QGraphicsItem::itemChange
+288 QGraphicsItem::supportsExtension
+296 QGraphicsItem::setExtension
+304 QGraphicsItem::extension
+
+Class QGraphicsItem
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsItem (0x7f2f39966380) 0
+ vptr=((& QGraphicsItem::_ZTV13QGraphicsItem) + 16u)
+
+Vtable for QGraphicsObject
+QGraphicsObject::_ZTV15QGraphicsObject: 53u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QGraphicsObject)
+16 QGraphicsObject::metaObject
+24 QGraphicsObject::qt_metacast
+32 QGraphicsObject::qt_metacall
+40 QGraphicsObject::~QGraphicsObject
+48 QGraphicsObject::~QGraphicsObject
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 (int (*)(...))-0x00000000000000010
+120 (int (*)(...))(& _ZTI15QGraphicsObject)
+128 QGraphicsObject::_ZThn16_N15QGraphicsObjectD1Ev
+136 QGraphicsObject::_ZThn16_N15QGraphicsObjectD0Ev
+144 QGraphicsItem::advance
+152 __cxa_pure_virtual
+160 QGraphicsItem::shape
+168 QGraphicsItem::contains
+176 QGraphicsItem::collidesWithItem
+184 QGraphicsItem::collidesWithPath
+192 QGraphicsItem::isObscuredBy
+200 QGraphicsItem::opaqueArea
+208 __cxa_pure_virtual
+216 QGraphicsItem::type
+224 QGraphicsItem::sceneEventFilter
+232 QGraphicsItem::sceneEvent
+240 QGraphicsItem::contextMenuEvent
+248 QGraphicsItem::dragEnterEvent
+256 QGraphicsItem::dragLeaveEvent
+264 QGraphicsItem::dragMoveEvent
+272 QGraphicsItem::dropEvent
+280 QGraphicsItem::focusInEvent
+288 QGraphicsItem::focusOutEvent
+296 QGraphicsItem::hoverEnterEvent
+304 QGraphicsItem::hoverMoveEvent
+312 QGraphicsItem::hoverLeaveEvent
+320 QGraphicsItem::keyPressEvent
+328 QGraphicsItem::keyReleaseEvent
+336 QGraphicsItem::mousePressEvent
+344 QGraphicsItem::mouseMoveEvent
+352 QGraphicsItem::mouseReleaseEvent
+360 QGraphicsItem::mouseDoubleClickEvent
+368 QGraphicsItem::wheelEvent
+376 QGraphicsItem::inputMethodEvent
+384 QGraphicsItem::inputMethodQuery
+392 QGraphicsItem::itemChange
+400 QGraphicsItem::supportsExtension
+408 QGraphicsItem::setExtension
+416 QGraphicsItem::extension
+
+Class QGraphicsObject
+ size=32 align=8
+ base size=32 base align=8
+QGraphicsObject (0x7f2f39858c80) 0
+ vptr=((& QGraphicsObject::_ZTV15QGraphicsObject) + 16u)
+ QObject (0x7f2f39860f50) 0
+ primary-for QGraphicsObject (0x7f2f39858c80)
+ QGraphicsItem (0x7f2f39869000) 16
+ vptr=((& QGraphicsObject::_ZTV15QGraphicsObject) + 128u)
+
+Vtable for QAbstractGraphicsShapeItem
+QAbstractGraphicsShapeItem::_ZTV26QAbstractGraphicsShapeItem: 39u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI26QAbstractGraphicsShapeItem)
+16 QAbstractGraphicsShapeItem::~QAbstractGraphicsShapeItem
+24 QAbstractGraphicsShapeItem::~QAbstractGraphicsShapeItem
+32 QGraphicsItem::advance
+40 __cxa_pure_virtual
+48 QGraphicsItem::shape
+56 QGraphicsItem::contains
+64 QGraphicsItem::collidesWithItem
+72 QGraphicsItem::collidesWithPath
+80 QAbstractGraphicsShapeItem::isObscuredBy
+88 QAbstractGraphicsShapeItem::opaqueArea
+96 __cxa_pure_virtual
+104 QGraphicsItem::type
+112 QGraphicsItem::sceneEventFilter
+120 QGraphicsItem::sceneEvent
+128 QGraphicsItem::contextMenuEvent
+136 QGraphicsItem::dragEnterEvent
+144 QGraphicsItem::dragLeaveEvent
+152 QGraphicsItem::dragMoveEvent
+160 QGraphicsItem::dropEvent
+168 QGraphicsItem::focusInEvent
+176 QGraphicsItem::focusOutEvent
+184 QGraphicsItem::hoverEnterEvent
+192 QGraphicsItem::hoverMoveEvent
+200 QGraphicsItem::hoverLeaveEvent
+208 QGraphicsItem::keyPressEvent
+216 QGraphicsItem::keyReleaseEvent
+224 QGraphicsItem::mousePressEvent
+232 QGraphicsItem::mouseMoveEvent
+240 QGraphicsItem::mouseReleaseEvent
+248 QGraphicsItem::mouseDoubleClickEvent
+256 QGraphicsItem::wheelEvent
+264 QGraphicsItem::inputMethodEvent
+272 QGraphicsItem::inputMethodQuery
+280 QGraphicsItem::itemChange
+288 QGraphicsItem::supportsExtension
+296 QGraphicsItem::setExtension
+304 QGraphicsItem::extension
+
+Class QAbstractGraphicsShapeItem
+ size=16 align=8
+ base size=16 base align=8
+QAbstractGraphicsShapeItem (0x7f2f39880070) 0
+ vptr=((& QAbstractGraphicsShapeItem::_ZTV26QAbstractGraphicsShapeItem) + 16u)
+ QGraphicsItem (0x7f2f398800e0) 0
+ primary-for QAbstractGraphicsShapeItem (0x7f2f39880070)
+
+Vtable for QGraphicsPathItem
+QGraphicsPathItem::_ZTV17QGraphicsPathItem: 39u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QGraphicsPathItem)
+16 QGraphicsPathItem::~QGraphicsPathItem
+24 QGraphicsPathItem::~QGraphicsPathItem
+32 QGraphicsItem::advance
+40 QGraphicsPathItem::boundingRect
+48 QGraphicsPathItem::shape
+56 QGraphicsPathItem::contains
+64 QGraphicsItem::collidesWithItem
+72 QGraphicsItem::collidesWithPath
+80 QGraphicsPathItem::isObscuredBy
+88 QGraphicsPathItem::opaqueArea
+96 QGraphicsPathItem::paint
+104 QGraphicsPathItem::type
+112 QGraphicsItem::sceneEventFilter
+120 QGraphicsItem::sceneEvent
+128 QGraphicsItem::contextMenuEvent
+136 QGraphicsItem::dragEnterEvent
+144 QGraphicsItem::dragLeaveEvent
+152 QGraphicsItem::dragMoveEvent
+160 QGraphicsItem::dropEvent
+168 QGraphicsItem::focusInEvent
+176 QGraphicsItem::focusOutEvent
+184 QGraphicsItem::hoverEnterEvent
+192 QGraphicsItem::hoverMoveEvent
+200 QGraphicsItem::hoverLeaveEvent
+208 QGraphicsItem::keyPressEvent
+216 QGraphicsItem::keyReleaseEvent
+224 QGraphicsItem::mousePressEvent
+232 QGraphicsItem::mouseMoveEvent
+240 QGraphicsItem::mouseReleaseEvent
+248 QGraphicsItem::mouseDoubleClickEvent
+256 QGraphicsItem::wheelEvent
+264 QGraphicsItem::inputMethodEvent
+272 QGraphicsItem::inputMethodQuery
+280 QGraphicsItem::itemChange
+288 QGraphicsPathItem::supportsExtension
+296 QGraphicsPathItem::setExtension
+304 QGraphicsPathItem::extension
+
+Class QGraphicsPathItem
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsPathItem (0x7f2f39880ee0) 0
+ vptr=((& QGraphicsPathItem::_ZTV17QGraphicsPathItem) + 16u)
+ QAbstractGraphicsShapeItem (0x7f2f39880f50) 0
+ primary-for QGraphicsPathItem (0x7f2f39880ee0)
+ QGraphicsItem (0x7f2f39880930) 0
+ primary-for QAbstractGraphicsShapeItem (0x7f2f39880f50)
+
+Vtable for QGraphicsRectItem
+QGraphicsRectItem::_ZTV17QGraphicsRectItem: 39u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QGraphicsRectItem)
+16 QGraphicsRectItem::~QGraphicsRectItem
+24 QGraphicsRectItem::~QGraphicsRectItem
+32 QGraphicsItem::advance
+40 QGraphicsRectItem::boundingRect
+48 QGraphicsRectItem::shape
+56 QGraphicsRectItem::contains
+64 QGraphicsItem::collidesWithItem
+72 QGraphicsItem::collidesWithPath
+80 QGraphicsRectItem::isObscuredBy
+88 QGraphicsRectItem::opaqueArea
+96 QGraphicsRectItem::paint
+104 QGraphicsRectItem::type
+112 QGraphicsItem::sceneEventFilter
+120 QGraphicsItem::sceneEvent
+128 QGraphicsItem::contextMenuEvent
+136 QGraphicsItem::dragEnterEvent
+144 QGraphicsItem::dragLeaveEvent
+152 QGraphicsItem::dragMoveEvent
+160 QGraphicsItem::dropEvent
+168 QGraphicsItem::focusInEvent
+176 QGraphicsItem::focusOutEvent
+184 QGraphicsItem::hoverEnterEvent
+192 QGraphicsItem::hoverMoveEvent
+200 QGraphicsItem::hoverLeaveEvent
+208 QGraphicsItem::keyPressEvent
+216 QGraphicsItem::keyReleaseEvent
+224 QGraphicsItem::mousePressEvent
+232 QGraphicsItem::mouseMoveEvent
+240 QGraphicsItem::mouseReleaseEvent
+248 QGraphicsItem::mouseDoubleClickEvent
+256 QGraphicsItem::wheelEvent
+264 QGraphicsItem::inputMethodEvent
+272 QGraphicsItem::inputMethodQuery
+280 QGraphicsItem::itemChange
+288 QGraphicsRectItem::supportsExtension
+296 QGraphicsRectItem::setExtension
+304 QGraphicsRectItem::extension
+
+Class QGraphicsRectItem
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsRectItem (0x7f2f3988de70) 0
+ vptr=((& QGraphicsRectItem::_ZTV17QGraphicsRectItem) + 16u)
+ QAbstractGraphicsShapeItem (0x7f2f3988dee0) 0
+ primary-for QGraphicsRectItem (0x7f2f3988de70)
+ QGraphicsItem (0x7f2f3988df50) 0
+ primary-for QAbstractGraphicsShapeItem (0x7f2f3988dee0)
+
+Vtable for QGraphicsEllipseItem
+QGraphicsEllipseItem::_ZTV20QGraphicsEllipseItem: 39u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI20QGraphicsEllipseItem)
+16 QGraphicsEllipseItem::~QGraphicsEllipseItem
+24 QGraphicsEllipseItem::~QGraphicsEllipseItem
+32 QGraphicsItem::advance
+40 QGraphicsEllipseItem::boundingRect
+48 QGraphicsEllipseItem::shape
+56 QGraphicsEllipseItem::contains
+64 QGraphicsItem::collidesWithItem
+72 QGraphicsItem::collidesWithPath
+80 QGraphicsEllipseItem::isObscuredBy
+88 QGraphicsEllipseItem::opaqueArea
+96 QGraphicsEllipseItem::paint
+104 QGraphicsEllipseItem::type
+112 QGraphicsItem::sceneEventFilter
+120 QGraphicsItem::sceneEvent
+128 QGraphicsItem::contextMenuEvent
+136 QGraphicsItem::dragEnterEvent
+144 QGraphicsItem::dragLeaveEvent
+152 QGraphicsItem::dragMoveEvent
+160 QGraphicsItem::dropEvent
+168 QGraphicsItem::focusInEvent
+176 QGraphicsItem::focusOutEvent
+184 QGraphicsItem::hoverEnterEvent
+192 QGraphicsItem::hoverMoveEvent
+200 QGraphicsItem::hoverLeaveEvent
+208 QGraphicsItem::keyPressEvent
+216 QGraphicsItem::keyReleaseEvent
+224 QGraphicsItem::mousePressEvent
+232 QGraphicsItem::mouseMoveEvent
+240 QGraphicsItem::mouseReleaseEvent
+248 QGraphicsItem::mouseDoubleClickEvent
+256 QGraphicsItem::wheelEvent
+264 QGraphicsItem::inputMethodEvent
+272 QGraphicsItem::inputMethodQuery
+280 QGraphicsItem::itemChange
+288 QGraphicsEllipseItem::supportsExtension
+296 QGraphicsEllipseItem::setExtension
+304 QGraphicsEllipseItem::extension
+
+Class QGraphicsEllipseItem
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsEllipseItem (0x7f2f398b3150) 0
+ vptr=((& QGraphicsEllipseItem::_ZTV20QGraphicsEllipseItem) + 16u)
+ QAbstractGraphicsShapeItem (0x7f2f398b31c0) 0
+ primary-for QGraphicsEllipseItem (0x7f2f398b3150)
+ QGraphicsItem (0x7f2f398b3230) 0
+ primary-for QAbstractGraphicsShapeItem (0x7f2f398b31c0)
+
+Vtable for QGraphicsPolygonItem
+QGraphicsPolygonItem::_ZTV20QGraphicsPolygonItem: 39u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI20QGraphicsPolygonItem)
+16 QGraphicsPolygonItem::~QGraphicsPolygonItem
+24 QGraphicsPolygonItem::~QGraphicsPolygonItem
+32 QGraphicsItem::advance
+40 QGraphicsPolygonItem::boundingRect
+48 QGraphicsPolygonItem::shape
+56 QGraphicsPolygonItem::contains
+64 QGraphicsItem::collidesWithItem
+72 QGraphicsItem::collidesWithPath
+80 QGraphicsPolygonItem::isObscuredBy
+88 QGraphicsPolygonItem::opaqueArea
+96 QGraphicsPolygonItem::paint
+104 QGraphicsPolygonItem::type
+112 QGraphicsItem::sceneEventFilter
+120 QGraphicsItem::sceneEvent
+128 QGraphicsItem::contextMenuEvent
+136 QGraphicsItem::dragEnterEvent
+144 QGraphicsItem::dragLeaveEvent
+152 QGraphicsItem::dragMoveEvent
+160 QGraphicsItem::dropEvent
+168 QGraphicsItem::focusInEvent
+176 QGraphicsItem::focusOutEvent
+184 QGraphicsItem::hoverEnterEvent
+192 QGraphicsItem::hoverMoveEvent
+200 QGraphicsItem::hoverLeaveEvent
+208 QGraphicsItem::keyPressEvent
+216 QGraphicsItem::keyReleaseEvent
+224 QGraphicsItem::mousePressEvent
+232 QGraphicsItem::mouseMoveEvent
+240 QGraphicsItem::mouseReleaseEvent
+248 QGraphicsItem::mouseDoubleClickEvent
+256 QGraphicsItem::wheelEvent
+264 QGraphicsItem::inputMethodEvent
+272 QGraphicsItem::inputMethodQuery
+280 QGraphicsItem::itemChange
+288 QGraphicsPolygonItem::supportsExtension
+296 QGraphicsPolygonItem::setExtension
+304 QGraphicsPolygonItem::extension
+
+Class QGraphicsPolygonItem
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsPolygonItem (0x7f2f398c5460) 0
+ vptr=((& QGraphicsPolygonItem::_ZTV20QGraphicsPolygonItem) + 16u)
+ QAbstractGraphicsShapeItem (0x7f2f398c54d0) 0
+ primary-for QGraphicsPolygonItem (0x7f2f398c5460)
+ QGraphicsItem (0x7f2f398c5540) 0
+ primary-for QAbstractGraphicsShapeItem (0x7f2f398c54d0)
+
+Vtable for QGraphicsLineItem
+QGraphicsLineItem::_ZTV17QGraphicsLineItem: 39u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QGraphicsLineItem)
+16 QGraphicsLineItem::~QGraphicsLineItem
+24 QGraphicsLineItem::~QGraphicsLineItem
+32 QGraphicsItem::advance
+40 QGraphicsLineItem::boundingRect
+48 QGraphicsLineItem::shape
+56 QGraphicsLineItem::contains
+64 QGraphicsItem::collidesWithItem
+72 QGraphicsItem::collidesWithPath
+80 QGraphicsLineItem::isObscuredBy
+88 QGraphicsLineItem::opaqueArea
+96 QGraphicsLineItem::paint
+104 QGraphicsLineItem::type
+112 QGraphicsItem::sceneEventFilter
+120 QGraphicsItem::sceneEvent
+128 QGraphicsItem::contextMenuEvent
+136 QGraphicsItem::dragEnterEvent
+144 QGraphicsItem::dragLeaveEvent
+152 QGraphicsItem::dragMoveEvent
+160 QGraphicsItem::dropEvent
+168 QGraphicsItem::focusInEvent
+176 QGraphicsItem::focusOutEvent
+184 QGraphicsItem::hoverEnterEvent
+192 QGraphicsItem::hoverMoveEvent
+200 QGraphicsItem::hoverLeaveEvent
+208 QGraphicsItem::keyPressEvent
+216 QGraphicsItem::keyReleaseEvent
+224 QGraphicsItem::mousePressEvent
+232 QGraphicsItem::mouseMoveEvent
+240 QGraphicsItem::mouseReleaseEvent
+248 QGraphicsItem::mouseDoubleClickEvent
+256 QGraphicsItem::wheelEvent
+264 QGraphicsItem::inputMethodEvent
+272 QGraphicsItem::inputMethodQuery
+280 QGraphicsItem::itemChange
+288 QGraphicsLineItem::supportsExtension
+296 QGraphicsLineItem::setExtension
+304 QGraphicsLineItem::extension
+
+Class QGraphicsLineItem
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsLineItem (0x7f2f398d83f0) 0
+ vptr=((& QGraphicsLineItem::_ZTV17QGraphicsLineItem) + 16u)
+ QGraphicsItem (0x7f2f398d8460) 0
+ primary-for QGraphicsLineItem (0x7f2f398d83f0)
+
+Vtable for QGraphicsPixmapItem
+QGraphicsPixmapItem::_ZTV19QGraphicsPixmapItem: 39u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QGraphicsPixmapItem)
+16 QGraphicsPixmapItem::~QGraphicsPixmapItem
+24 QGraphicsPixmapItem::~QGraphicsPixmapItem
+32 QGraphicsItem::advance
+40 QGraphicsPixmapItem::boundingRect
+48 QGraphicsPixmapItem::shape
+56 QGraphicsPixmapItem::contains
+64 QGraphicsItem::collidesWithItem
+72 QGraphicsItem::collidesWithPath
+80 QGraphicsPixmapItem::isObscuredBy
+88 QGraphicsPixmapItem::opaqueArea
+96 QGraphicsPixmapItem::paint
+104 QGraphicsPixmapItem::type
+112 QGraphicsItem::sceneEventFilter
+120 QGraphicsItem::sceneEvent
+128 QGraphicsItem::contextMenuEvent
+136 QGraphicsItem::dragEnterEvent
+144 QGraphicsItem::dragLeaveEvent
+152 QGraphicsItem::dragMoveEvent
+160 QGraphicsItem::dropEvent
+168 QGraphicsItem::focusInEvent
+176 QGraphicsItem::focusOutEvent
+184 QGraphicsItem::hoverEnterEvent
+192 QGraphicsItem::hoverMoveEvent
+200 QGraphicsItem::hoverLeaveEvent
+208 QGraphicsItem::keyPressEvent
+216 QGraphicsItem::keyReleaseEvent
+224 QGraphicsItem::mousePressEvent
+232 QGraphicsItem::mouseMoveEvent
+240 QGraphicsItem::mouseReleaseEvent
+248 QGraphicsItem::mouseDoubleClickEvent
+256 QGraphicsItem::wheelEvent
+264 QGraphicsItem::inputMethodEvent
+272 QGraphicsItem::inputMethodQuery
+280 QGraphicsItem::itemChange
+288 QGraphicsPixmapItem::supportsExtension
+296 QGraphicsPixmapItem::setExtension
+304 QGraphicsPixmapItem::extension
+
+Class QGraphicsPixmapItem
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsPixmapItem (0x7f2f398ee690) 0
+ vptr=((& QGraphicsPixmapItem::_ZTV19QGraphicsPixmapItem) + 16u)
+ QGraphicsItem (0x7f2f398ee700) 0
+ primary-for QGraphicsPixmapItem (0x7f2f398ee690)
+
+Vtable for QGraphicsTextItem
+QGraphicsTextItem::_ZTV17QGraphicsTextItem: 82u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QGraphicsTextItem)
+16 QGraphicsTextItem::metaObject
+24 QGraphicsTextItem::qt_metacast
+32 QGraphicsTextItem::qt_metacall
+40 QGraphicsTextItem::~QGraphicsTextItem
+48 QGraphicsTextItem::~QGraphicsTextItem
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QGraphicsTextItem::boundingRect
+120 QGraphicsTextItem::shape
+128 QGraphicsTextItem::contains
+136 QGraphicsTextItem::paint
+144 QGraphicsTextItem::isObscuredBy
+152 QGraphicsTextItem::opaqueArea
+160 QGraphicsTextItem::type
+168 QGraphicsTextItem::sceneEvent
+176 QGraphicsTextItem::mousePressEvent
+184 QGraphicsTextItem::mouseMoveEvent
+192 QGraphicsTextItem::mouseReleaseEvent
+200 QGraphicsTextItem::mouseDoubleClickEvent
+208 QGraphicsTextItem::contextMenuEvent
+216 QGraphicsTextItem::keyPressEvent
+224 QGraphicsTextItem::keyReleaseEvent
+232 QGraphicsTextItem::focusInEvent
+240 QGraphicsTextItem::focusOutEvent
+248 QGraphicsTextItem::dragEnterEvent
+256 QGraphicsTextItem::dragLeaveEvent
+264 QGraphicsTextItem::dragMoveEvent
+272 QGraphicsTextItem::dropEvent
+280 QGraphicsTextItem::inputMethodEvent
+288 QGraphicsTextItem::hoverEnterEvent
+296 QGraphicsTextItem::hoverMoveEvent
+304 QGraphicsTextItem::hoverLeaveEvent
+312 QGraphicsTextItem::inputMethodQuery
+320 QGraphicsTextItem::supportsExtension
+328 QGraphicsTextItem::setExtension
+336 QGraphicsTextItem::extension
+344 (int (*)(...))-0x00000000000000010
+352 (int (*)(...))(& _ZTI17QGraphicsTextItem)
+360 QGraphicsTextItem::_ZThn16_N17QGraphicsTextItemD1Ev
+368 QGraphicsTextItem::_ZThn16_N17QGraphicsTextItemD0Ev
+376 QGraphicsItem::advance
+384 QGraphicsTextItem::_ZThn16_NK17QGraphicsTextItem12boundingRectEv
+392 QGraphicsTextItem::_ZThn16_NK17QGraphicsTextItem5shapeEv
+400 QGraphicsTextItem::_ZThn16_NK17QGraphicsTextItem8containsERK7QPointF
+408 QGraphicsItem::collidesWithItem
+416 QGraphicsItem::collidesWithPath
+424 QGraphicsTextItem::_ZThn16_NK17QGraphicsTextItem12isObscuredByEPK13QGraphicsItem
+432 QGraphicsTextItem::_ZThn16_NK17QGraphicsTextItem10opaqueAreaEv
+440 QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem5paintEP8QPainterPK24QStyleOptionGraphicsItemP7QWidget
+448 QGraphicsTextItem::_ZThn16_NK17QGraphicsTextItem4typeEv
+456 QGraphicsItem::sceneEventFilter
+464 QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem10sceneEventEP6QEvent
+472 QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem16contextMenuEventEP30QGraphicsSceneContextMenuEvent
+480 QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem14dragEnterEventEP27QGraphicsSceneDragDropEvent
+488 QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem14dragLeaveEventEP27QGraphicsSceneDragDropEvent
+496 QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem13dragMoveEventEP27QGraphicsSceneDragDropEvent
+504 QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem9dropEventEP27QGraphicsSceneDragDropEvent
+512 QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem12focusInEventEP11QFocusEvent
+520 QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem13focusOutEventEP11QFocusEvent
+528 QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem15hoverEnterEventEP24QGraphicsSceneHoverEvent
+536 QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem14hoverMoveEventEP24QGraphicsSceneHoverEvent
+544 QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem15hoverLeaveEventEP24QGraphicsSceneHoverEvent
+552 QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem13keyPressEventEP9QKeyEvent
+560 QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem15keyReleaseEventEP9QKeyEvent
+568 QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem15mousePressEventEP24QGraphicsSceneMouseEvent
+576 QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem14mouseMoveEventEP24QGraphicsSceneMouseEvent
+584 QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem17mouseReleaseEventEP24QGraphicsSceneMouseEvent
+592 QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem21mouseDoubleClickEventEP24QGraphicsSceneMouseEvent
+600 QGraphicsItem::wheelEvent
+608 QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem16inputMethodEventEP17QInputMethodEvent
+616 QGraphicsTextItem::_ZThn16_NK17QGraphicsTextItem16inputMethodQueryEN2Qt16InputMethodQueryE
+624 QGraphicsItem::itemChange
+632 QGraphicsTextItem::_ZThn16_NK17QGraphicsTextItem17supportsExtensionEN13QGraphicsItem9ExtensionE
+640 QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem12setExtensionEN13QGraphicsItem9ExtensionERK8QVariant
+648 QGraphicsTextItem::_ZThn16_NK17QGraphicsTextItem9extensionERK8QVariant
+
+Class QGraphicsTextItem
+ size=40 align=8
+ base size=40 base align=8
+QGraphicsTextItem (0x7f2f398fb930) 0
+ vptr=((& QGraphicsTextItem::_ZTV17QGraphicsTextItem) + 16u)
+ QGraphicsObject (0x7f2f398f0700) 0
+ primary-for QGraphicsTextItem (0x7f2f398fb930)
+ QObject (0x7f2f398fb9a0) 0
+ primary-for QGraphicsObject (0x7f2f398f0700)
+ QGraphicsItem (0x7f2f398fba10) 16
+ vptr=((& QGraphicsTextItem::_ZTV17QGraphicsTextItem) + 360u)
+
+Vtable for QGraphicsSimpleTextItem
+QGraphicsSimpleTextItem::_ZTV23QGraphicsSimpleTextItem: 39u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI23QGraphicsSimpleTextItem)
+16 QGraphicsSimpleTextItem::~QGraphicsSimpleTextItem
+24 QGraphicsSimpleTextItem::~QGraphicsSimpleTextItem
+32 QGraphicsItem::advance
+40 QGraphicsSimpleTextItem::boundingRect
+48 QGraphicsSimpleTextItem::shape
+56 QGraphicsSimpleTextItem::contains
+64 QGraphicsItem::collidesWithItem
+72 QGraphicsItem::collidesWithPath
+80 QGraphicsSimpleTextItem::isObscuredBy
+88 QGraphicsSimpleTextItem::opaqueArea
+96 QGraphicsSimpleTextItem::paint
+104 QGraphicsSimpleTextItem::type
+112 QGraphicsItem::sceneEventFilter
+120 QGraphicsItem::sceneEvent
+128 QGraphicsItem::contextMenuEvent
+136 QGraphicsItem::dragEnterEvent
+144 QGraphicsItem::dragLeaveEvent
+152 QGraphicsItem::dragMoveEvent
+160 QGraphicsItem::dropEvent
+168 QGraphicsItem::focusInEvent
+176 QGraphicsItem::focusOutEvent
+184 QGraphicsItem::hoverEnterEvent
+192 QGraphicsItem::hoverMoveEvent
+200 QGraphicsItem::hoverLeaveEvent
+208 QGraphicsItem::keyPressEvent
+216 QGraphicsItem::keyReleaseEvent
+224 QGraphicsItem::mousePressEvent
+232 QGraphicsItem::mouseMoveEvent
+240 QGraphicsItem::mouseReleaseEvent
+248 QGraphicsItem::mouseDoubleClickEvent
+256 QGraphicsItem::wheelEvent
+264 QGraphicsItem::inputMethodEvent
+272 QGraphicsItem::inputMethodQuery
+280 QGraphicsItem::itemChange
+288 QGraphicsSimpleTextItem::supportsExtension
+296 QGraphicsSimpleTextItem::setExtension
+304 QGraphicsSimpleTextItem::extension
+
+Class QGraphicsSimpleTextItem
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsSimpleTextItem (0x7f2f3991c380) 0
+ vptr=((& QGraphicsSimpleTextItem::_ZTV23QGraphicsSimpleTextItem) + 16u)
+ QAbstractGraphicsShapeItem (0x7f2f39932000) 0
+ primary-for QGraphicsSimpleTextItem (0x7f2f3991c380)
+ QGraphicsItem (0x7f2f39932070) 0
+ primary-for QAbstractGraphicsShapeItem (0x7f2f39932000)
+
+Vtable for QGraphicsItemGroup
+QGraphicsItemGroup::_ZTV18QGraphicsItemGroup: 39u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QGraphicsItemGroup)
+16 QGraphicsItemGroup::~QGraphicsItemGroup
+24 QGraphicsItemGroup::~QGraphicsItemGroup
+32 QGraphicsItem::advance
+40 QGraphicsItemGroup::boundingRect
+48 QGraphicsItem::shape
+56 QGraphicsItem::contains
+64 QGraphicsItem::collidesWithItem
+72 QGraphicsItem::collidesWithPath
+80 QGraphicsItemGroup::isObscuredBy
+88 QGraphicsItemGroup::opaqueArea
+96 QGraphicsItemGroup::paint
+104 QGraphicsItemGroup::type
+112 QGraphicsItem::sceneEventFilter
+120 QGraphicsItem::sceneEvent
+128 QGraphicsItem::contextMenuEvent
+136 QGraphicsItem::dragEnterEvent
+144 QGraphicsItem::dragLeaveEvent
+152 QGraphicsItem::dragMoveEvent
+160 QGraphicsItem::dropEvent
+168 QGraphicsItem::focusInEvent
+176 QGraphicsItem::focusOutEvent
+184 QGraphicsItem::hoverEnterEvent
+192 QGraphicsItem::hoverMoveEvent
+200 QGraphicsItem::hoverLeaveEvent
+208 QGraphicsItem::keyPressEvent
+216 QGraphicsItem::keyReleaseEvent
+224 QGraphicsItem::mousePressEvent
+232 QGraphicsItem::mouseMoveEvent
+240 QGraphicsItem::mouseReleaseEvent
+248 QGraphicsItem::mouseDoubleClickEvent
+256 QGraphicsItem::wheelEvent
+264 QGraphicsItem::inputMethodEvent
+272 QGraphicsItem::inputMethodQuery
+280 QGraphicsItem::itemChange
+288 QGraphicsItem::supportsExtension
+296 QGraphicsItem::setExtension
+304 QGraphicsItem::extension
+
+Class QGraphicsItemGroup
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsItemGroup (0x7f2f39932f50) 0
+ vptr=((& QGraphicsItemGroup::_ZTV18QGraphicsItemGroup) + 16u)
+ QGraphicsItem (0x7f2f399329a0) 0
+ primary-for QGraphicsItemGroup (0x7f2f39932f50)
+
+Vtable for QGraphicsLayoutItem
+QGraphicsLayoutItem::_ZTV19QGraphicsLayoutItem: 8u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QGraphicsLayoutItem)
+16 QGraphicsLayoutItem::~QGraphicsLayoutItem
+24 QGraphicsLayoutItem::~QGraphicsLayoutItem
+32 QGraphicsLayoutItem::setGeometry
+40 QGraphicsLayoutItem::getContentsMargins
+48 QGraphicsLayoutItem::updateGeometry
+56 __cxa_pure_virtual
+
+Class QGraphicsLayoutItem
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsLayoutItem (0x7f2f39756850) 0
+ vptr=((& QGraphicsLayoutItem::_ZTV19QGraphicsLayoutItem) + 16u)
+
+Vtable for QGraphicsLayout
+QGraphicsLayout::_ZTV15QGraphicsLayout: 13u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QGraphicsLayout)
+16 QGraphicsLayout::~QGraphicsLayout
+24 QGraphicsLayout::~QGraphicsLayout
+32 QGraphicsLayoutItem::setGeometry
+40 QGraphicsLayout::getContentsMargins
+48 QGraphicsLayout::updateGeometry
+56 __cxa_pure_virtual
+64 QGraphicsLayout::invalidate
+72 QGraphicsLayout::widgetEvent
+80 __cxa_pure_virtual
+88 __cxa_pure_virtual
+96 __cxa_pure_virtual
+
+Class QGraphicsLayout
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsLayout (0x7f2f39798070) 0
+ vptr=((& QGraphicsLayout::_ZTV15QGraphicsLayout) + 16u)
+ QGraphicsLayoutItem (0x7f2f397980e0) 0
+ primary-for QGraphicsLayout (0x7f2f39798070)
+
+Vtable for QGraphicsAnchor
+QGraphicsAnchor::_ZTV15QGraphicsAnchor: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QGraphicsAnchor)
+16 QGraphicsAnchor::metaObject
+24 QGraphicsAnchor::qt_metacast
+32 QGraphicsAnchor::qt_metacall
+40 QGraphicsAnchor::~QGraphicsAnchor
+48 QGraphicsAnchor::~QGraphicsAnchor
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QGraphicsAnchor
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsAnchor (0x7f2f397a6850) 0
+ vptr=((& QGraphicsAnchor::_ZTV15QGraphicsAnchor) + 16u)
+ QObject (0x7f2f397a68c0) 0
+ primary-for QGraphicsAnchor (0x7f2f397a6850)
+
+Vtable for QGraphicsAnchorLayout
+QGraphicsAnchorLayout::_ZTV21QGraphicsAnchorLayout: 13u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI21QGraphicsAnchorLayout)
+16 QGraphicsAnchorLayout::~QGraphicsAnchorLayout
+24 QGraphicsAnchorLayout::~QGraphicsAnchorLayout
+32 QGraphicsAnchorLayout::setGeometry
+40 QGraphicsLayout::getContentsMargins
+48 QGraphicsLayout::updateGeometry
+56 QGraphicsAnchorLayout::sizeHint
+64 QGraphicsAnchorLayout::invalidate
+72 QGraphicsLayout::widgetEvent
+80 QGraphicsAnchorLayout::count
+88 QGraphicsAnchorLayout::itemAt
+96 QGraphicsAnchorLayout::removeAt
+
+Class QGraphicsAnchorLayout
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsAnchorLayout (0x7f2f397bbd90) 0
+ vptr=((& QGraphicsAnchorLayout::_ZTV21QGraphicsAnchorLayout) + 16u)
+ QGraphicsLayout (0x7f2f397bbe00) 0
+ primary-for QGraphicsAnchorLayout (0x7f2f397bbd90)
+ QGraphicsLayoutItem (0x7f2f397bbe70) 0
+ primary-for QGraphicsLayout (0x7f2f397bbe00)
+
+Vtable for QGraphicsGridLayout
+QGraphicsGridLayout::_ZTV19QGraphicsGridLayout: 13u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QGraphicsGridLayout)
+16 QGraphicsGridLayout::~QGraphicsGridLayout
+24 QGraphicsGridLayout::~QGraphicsGridLayout
+32 QGraphicsGridLayout::setGeometry
+40 QGraphicsLayout::getContentsMargins
+48 QGraphicsLayout::updateGeometry
+56 QGraphicsGridLayout::sizeHint
+64 QGraphicsGridLayout::invalidate
+72 QGraphicsLayout::widgetEvent
+80 QGraphicsGridLayout::count
+88 QGraphicsGridLayout::itemAt
+96 QGraphicsGridLayout::removeAt
+
+Class QGraphicsGridLayout
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsGridLayout (0x7f2f397d20e0) 0
+ vptr=((& QGraphicsGridLayout::_ZTV19QGraphicsGridLayout) + 16u)
+ QGraphicsLayout (0x7f2f397d2150) 0
+ primary-for QGraphicsGridLayout (0x7f2f397d20e0)
+ QGraphicsLayoutItem (0x7f2f397d21c0) 0
+ primary-for QGraphicsLayout (0x7f2f397d2150)
+
+Vtable for QGraphicsItemAnimation
+QGraphicsItemAnimation::_ZTV22QGraphicsItemAnimation: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI22QGraphicsItemAnimation)
+16 QGraphicsItemAnimation::metaObject
+24 QGraphicsItemAnimation::qt_metacast
+32 QGraphicsItemAnimation::qt_metacall
+40 QGraphicsItemAnimation::~QGraphicsItemAnimation
+48 QGraphicsItemAnimation::~QGraphicsItemAnimation
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QGraphicsItemAnimation::beforeAnimationStep
+120 QGraphicsItemAnimation::afterAnimationStep
+
+Class QGraphicsItemAnimation
+ size=24 align=8
+ base size=24 base align=8
+QGraphicsItemAnimation (0x7f2f397ee4d0) 0
+ vptr=((& QGraphicsItemAnimation::_ZTV22QGraphicsItemAnimation) + 16u)
+ QObject (0x7f2f397ee540) 0
+ primary-for QGraphicsItemAnimation (0x7f2f397ee4d0)
+
+Vtable for QGraphicsLinearLayout
+QGraphicsLinearLayout::_ZTV21QGraphicsLinearLayout: 13u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI21QGraphicsLinearLayout)
+16 QGraphicsLinearLayout::~QGraphicsLinearLayout
+24 QGraphicsLinearLayout::~QGraphicsLinearLayout
+32 QGraphicsLinearLayout::setGeometry
+40 QGraphicsLayout::getContentsMargins
+48 QGraphicsLayout::updateGeometry
+56 QGraphicsLinearLayout::sizeHint
+64 QGraphicsLinearLayout::invalidate
+72 QGraphicsLayout::widgetEvent
+80 QGraphicsLinearLayout::count
+88 QGraphicsLinearLayout::itemAt
+96 QGraphicsLinearLayout::removeAt
+
+Class QGraphicsLinearLayout
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsLinearLayout (0x7f2f39809850) 0
+ vptr=((& QGraphicsLinearLayout::_ZTV21QGraphicsLinearLayout) + 16u)
+ QGraphicsLayout (0x7f2f398098c0) 0
+ primary-for QGraphicsLinearLayout (0x7f2f39809850)
+ QGraphicsLayoutItem (0x7f2f39809930) 0
+ primary-for QGraphicsLayout (0x7f2f398098c0)
+
+Vtable for QGraphicsWidget
+QGraphicsWidget::_ZTV15QGraphicsWidget: 92u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QGraphicsWidget)
+16 QGraphicsWidget::metaObject
+24 QGraphicsWidget::qt_metacast
+32 QGraphicsWidget::qt_metacall
+40 QGraphicsWidget::~QGraphicsWidget
+48 QGraphicsWidget::~QGraphicsWidget
+56 QGraphicsWidget::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QGraphicsWidget::setGeometry
+120 QGraphicsWidget::getContentsMargins
+128 QGraphicsWidget::type
+136 QGraphicsWidget::paint
+144 QGraphicsWidget::paintWindowFrame
+152 QGraphicsWidget::boundingRect
+160 QGraphicsWidget::shape
+168 QGraphicsWidget::initStyleOption
+176 QGraphicsWidget::sizeHint
+184 QGraphicsWidget::updateGeometry
+192 QGraphicsWidget::itemChange
+200 QGraphicsWidget::propertyChange
+208 QGraphicsWidget::sceneEvent
+216 QGraphicsWidget::windowFrameEvent
+224 QGraphicsWidget::windowFrameSectionAt
+232 QGraphicsWidget::changeEvent
+240 QGraphicsWidget::closeEvent
+248 QGraphicsWidget::focusInEvent
+256 QGraphicsWidget::focusNextPrevChild
+264 QGraphicsWidget::focusOutEvent
+272 QGraphicsWidget::hideEvent
+280 QGraphicsWidget::moveEvent
+288 QGraphicsWidget::polishEvent
+296 QGraphicsWidget::resizeEvent
+304 QGraphicsWidget::showEvent
+312 QGraphicsWidget::hoverMoveEvent
+320 QGraphicsWidget::hoverLeaveEvent
+328 QGraphicsWidget::grabMouseEvent
+336 QGraphicsWidget::ungrabMouseEvent
+344 QGraphicsWidget::grabKeyboardEvent
+352 QGraphicsWidget::ungrabKeyboardEvent
+360 (int (*)(...))-0x00000000000000010
+368 (int (*)(...))(& _ZTI15QGraphicsWidget)
+376 QGraphicsWidget::_ZThn16_N15QGraphicsWidgetD1Ev
+384 QGraphicsWidget::_ZThn16_N15QGraphicsWidgetD0Ev
+392 QGraphicsItem::advance
+400 QGraphicsWidget::_ZThn16_NK15QGraphicsWidget12boundingRectEv
+408 QGraphicsWidget::_ZThn16_NK15QGraphicsWidget5shapeEv
+416 QGraphicsItem::contains
+424 QGraphicsItem::collidesWithItem
+432 QGraphicsItem::collidesWithPath
+440 QGraphicsItem::isObscuredBy
+448 QGraphicsItem::opaqueArea
+456 QGraphicsWidget::_ZThn16_N15QGraphicsWidget5paintEP8QPainterPK24QStyleOptionGraphicsItemP7QWidget
+464 QGraphicsWidget::_ZThn16_NK15QGraphicsWidget4typeEv
+472 QGraphicsItem::sceneEventFilter
+480 QGraphicsWidget::_ZThn16_N15QGraphicsWidget10sceneEventEP6QEvent
+488 QGraphicsItem::contextMenuEvent
+496 QGraphicsItem::dragEnterEvent
+504 QGraphicsItem::dragLeaveEvent
+512 QGraphicsItem::dragMoveEvent
+520 QGraphicsItem::dropEvent
+528 QGraphicsWidget::_ZThn16_N15QGraphicsWidget12focusInEventEP11QFocusEvent
+536 QGraphicsWidget::_ZThn16_N15QGraphicsWidget13focusOutEventEP11QFocusEvent
+544 QGraphicsItem::hoverEnterEvent
+552 QGraphicsWidget::_ZThn16_N15QGraphicsWidget14hoverMoveEventEP24QGraphicsSceneHoverEvent
+560 QGraphicsWidget::_ZThn16_N15QGraphicsWidget15hoverLeaveEventEP24QGraphicsSceneHoverEvent
+568 QGraphicsItem::keyPressEvent
+576 QGraphicsItem::keyReleaseEvent
+584 QGraphicsItem::mousePressEvent
+592 QGraphicsItem::mouseMoveEvent
+600 QGraphicsItem::mouseReleaseEvent
+608 QGraphicsItem::mouseDoubleClickEvent
+616 QGraphicsItem::wheelEvent
+624 QGraphicsItem::inputMethodEvent
+632 QGraphicsItem::inputMethodQuery
+640 QGraphicsWidget::_ZThn16_N15QGraphicsWidget10itemChangeEN13QGraphicsItem18GraphicsItemChangeERK8QVariant
+648 QGraphicsItem::supportsExtension
+656 QGraphicsItem::setExtension
+664 QGraphicsItem::extension
+672 (int (*)(...))-0x00000000000000020
+680 (int (*)(...))(& _ZTI15QGraphicsWidget)
+688 QGraphicsWidget::_ZThn32_N15QGraphicsWidgetD1Ev
+696 QGraphicsWidget::_ZThn32_N15QGraphicsWidgetD0Ev
+704 QGraphicsWidget::_ZThn32_N15QGraphicsWidget11setGeometryERK6QRectF
+712 QGraphicsWidget::_ZThn32_NK15QGraphicsWidget18getContentsMarginsEPdS0_S0_S0_
+720 QGraphicsWidget::_ZThn32_N15QGraphicsWidget14updateGeometryEv
+728 QGraphicsWidget::_ZThn32_NK15QGraphicsWidget8sizeHintEN2Qt8SizeHintERK6QSizeF
+
+Class QGraphicsWidget
+ size=48 align=8
+ base size=48 base align=8
+QGraphicsWidget (0x7f2f39824000) 0
+ vptr=((& QGraphicsWidget::_ZTV15QGraphicsWidget) + 16u)
+ QGraphicsObject (0x7f2f39824080) 0
+ primary-for QGraphicsWidget (0x7f2f39824000)
+ QObject (0x7f2f39823070) 0
+ primary-for QGraphicsObject (0x7f2f39824080)
+ QGraphicsItem (0x7f2f398230e0) 16
+ vptr=((& QGraphicsWidget::_ZTV15QGraphicsWidget) + 376u)
+ QGraphicsLayoutItem (0x7f2f39823150) 32
+ vptr=((& QGraphicsWidget::_ZTV15QGraphicsWidget) + 688u)
+
+Vtable for QGraphicsProxyWidget
+QGraphicsProxyWidget::_ZTV20QGraphicsProxyWidget: 105u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI20QGraphicsProxyWidget)
+16 QGraphicsProxyWidget::metaObject
+24 QGraphicsProxyWidget::qt_metacast
+32 QGraphicsProxyWidget::qt_metacall
+40 QGraphicsProxyWidget::~QGraphicsProxyWidget
+48 QGraphicsProxyWidget::~QGraphicsProxyWidget
+56 QGraphicsProxyWidget::event
+64 QGraphicsProxyWidget::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QGraphicsProxyWidget::setGeometry
+120 QGraphicsWidget::getContentsMargins
+128 QGraphicsProxyWidget::type
+136 QGraphicsProxyWidget::paint
+144 QGraphicsWidget::paintWindowFrame
+152 QGraphicsWidget::boundingRect
+160 QGraphicsWidget::shape
+168 QGraphicsWidget::initStyleOption
+176 QGraphicsProxyWidget::sizeHint
+184 QGraphicsWidget::updateGeometry
+192 QGraphicsProxyWidget::itemChange
+200 QGraphicsWidget::propertyChange
+208 QGraphicsWidget::sceneEvent
+216 QGraphicsWidget::windowFrameEvent
+224 QGraphicsWidget::windowFrameSectionAt
+232 QGraphicsWidget::changeEvent
+240 QGraphicsWidget::closeEvent
+248 QGraphicsProxyWidget::focusInEvent
+256 QGraphicsProxyWidget::focusNextPrevChild
+264 QGraphicsProxyWidget::focusOutEvent
+272 QGraphicsProxyWidget::hideEvent
+280 QGraphicsWidget::moveEvent
+288 QGraphicsWidget::polishEvent
+296 QGraphicsProxyWidget::resizeEvent
+304 QGraphicsProxyWidget::showEvent
+312 QGraphicsProxyWidget::hoverMoveEvent
+320 QGraphicsProxyWidget::hoverLeaveEvent
+328 QGraphicsProxyWidget::grabMouseEvent
+336 QGraphicsProxyWidget::ungrabMouseEvent
+344 QGraphicsWidget::grabKeyboardEvent
+352 QGraphicsWidget::ungrabKeyboardEvent
+360 QGraphicsProxyWidget::contextMenuEvent
+368 QGraphicsProxyWidget::dragEnterEvent
+376 QGraphicsProxyWidget::dragLeaveEvent
+384 QGraphicsProxyWidget::dragMoveEvent
+392 QGraphicsProxyWidget::dropEvent
+400 QGraphicsProxyWidget::hoverEnterEvent
+408 QGraphicsProxyWidget::mouseMoveEvent
+416 QGraphicsProxyWidget::mousePressEvent
+424 QGraphicsProxyWidget::mouseReleaseEvent
+432 QGraphicsProxyWidget::mouseDoubleClickEvent
+440 QGraphicsProxyWidget::wheelEvent
+448 QGraphicsProxyWidget::keyPressEvent
+456 QGraphicsProxyWidget::keyReleaseEvent
+464 (int (*)(...))-0x00000000000000010
+472 (int (*)(...))(& _ZTI20QGraphicsProxyWidget)
+480 QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidgetD1Ev
+488 QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidgetD0Ev
+496 QGraphicsItem::advance
+504 QGraphicsWidget::_ZThn16_NK15QGraphicsWidget12boundingRectEv
+512 QGraphicsWidget::_ZThn16_NK15QGraphicsWidget5shapeEv
+520 QGraphicsItem::contains
+528 QGraphicsItem::collidesWithItem
+536 QGraphicsItem::collidesWithPath
+544 QGraphicsItem::isObscuredBy
+552 QGraphicsItem::opaqueArea
+560 QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget5paintEP8QPainterPK24QStyleOptionGraphicsItemP7QWidget
+568 QGraphicsProxyWidget::_ZThn16_NK20QGraphicsProxyWidget4typeEv
+576 QGraphicsItem::sceneEventFilter
+584 QGraphicsWidget::_ZThn16_N15QGraphicsWidget10sceneEventEP6QEvent
+592 QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget16contextMenuEventEP30QGraphicsSceneContextMenuEvent
+600 QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget14dragEnterEventEP27QGraphicsSceneDragDropEvent
+608 QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget14dragLeaveEventEP27QGraphicsSceneDragDropEvent
+616 QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget13dragMoveEventEP27QGraphicsSceneDragDropEvent
+624 QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget9dropEventEP27QGraphicsSceneDragDropEvent
+632 QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget12focusInEventEP11QFocusEvent
+640 QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget13focusOutEventEP11QFocusEvent
+648 QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget15hoverEnterEventEP24QGraphicsSceneHoverEvent
+656 QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget14hoverMoveEventEP24QGraphicsSceneHoverEvent
+664 QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget15hoverLeaveEventEP24QGraphicsSceneHoverEvent
+672 QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget13keyPressEventEP9QKeyEvent
+680 QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget15keyReleaseEventEP9QKeyEvent
+688 QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget15mousePressEventEP24QGraphicsSceneMouseEvent
+696 QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget14mouseMoveEventEP24QGraphicsSceneMouseEvent
+704 QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget17mouseReleaseEventEP24QGraphicsSceneMouseEvent
+712 QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget21mouseDoubleClickEventEP24QGraphicsSceneMouseEvent
+720 QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget10wheelEventEP24QGraphicsSceneWheelEvent
+728 QGraphicsItem::inputMethodEvent
+736 QGraphicsItem::inputMethodQuery
+744 QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget10itemChangeEN13QGraphicsItem18GraphicsItemChangeERK8QVariant
+752 QGraphicsItem::supportsExtension
+760 QGraphicsItem::setExtension
+768 QGraphicsItem::extension
+776 (int (*)(...))-0x00000000000000020
+784 (int (*)(...))(& _ZTI20QGraphicsProxyWidget)
+792 QGraphicsProxyWidget::_ZThn32_N20QGraphicsProxyWidgetD1Ev
+800 QGraphicsProxyWidget::_ZThn32_N20QGraphicsProxyWidgetD0Ev
+808 QGraphicsProxyWidget::_ZThn32_N20QGraphicsProxyWidget11setGeometryERK6QRectF
+816 QGraphicsWidget::_ZThn32_NK15QGraphicsWidget18getContentsMarginsEPdS0_S0_S0_
+824 QGraphicsWidget::_ZThn32_N15QGraphicsWidget14updateGeometryEv
+832 QGraphicsProxyWidget::_ZThn32_NK20QGraphicsProxyWidget8sizeHintEN2Qt8SizeHintERK6QSizeF
+
+Class QGraphicsProxyWidget
+ size=48 align=8
+ base size=48 base align=8
+QGraphicsProxyWidget (0x7f2f3965d8c0) 0
+ vptr=((& QGraphicsProxyWidget::_ZTV20QGraphicsProxyWidget) + 16u)
+ QGraphicsWidget (0x7f2f39661000) 0
+ primary-for QGraphicsProxyWidget (0x7f2f3965d8c0)
+ QGraphicsObject (0x7f2f39661080) 0
+ primary-for QGraphicsWidget (0x7f2f39661000)
+ QObject (0x7f2f3965d930) 0
+ primary-for QGraphicsObject (0x7f2f39661080)
+ QGraphicsItem (0x7f2f3965d9a0) 16
+ vptr=((& QGraphicsProxyWidget::_ZTV20QGraphicsProxyWidget) + 480u)
+ QGraphicsLayoutItem (0x7f2f3965da10) 32
+ vptr=((& QGraphicsProxyWidget::_ZTV20QGraphicsProxyWidget) + 792u)
+
+Vtable for QGraphicsScene
+QGraphicsScene::_ZTV14QGraphicsScene: 34u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QGraphicsScene)
+16 QGraphicsScene::metaObject
+24 QGraphicsScene::qt_metacast
+32 QGraphicsScene::qt_metacall
+40 QGraphicsScene::~QGraphicsScene
+48 QGraphicsScene::~QGraphicsScene
+56 QGraphicsScene::event
+64 QGraphicsScene::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QGraphicsScene::inputMethodQuery
+120 QGraphicsScene::contextMenuEvent
+128 QGraphicsScene::dragEnterEvent
+136 QGraphicsScene::dragMoveEvent
+144 QGraphicsScene::dragLeaveEvent
+152 QGraphicsScene::dropEvent
+160 QGraphicsScene::focusInEvent
+168 QGraphicsScene::focusOutEvent
+176 QGraphicsScene::helpEvent
+184 QGraphicsScene::keyPressEvent
+192 QGraphicsScene::keyReleaseEvent
+200 QGraphicsScene::mousePressEvent
+208 QGraphicsScene::mouseMoveEvent
+216 QGraphicsScene::mouseReleaseEvent
+224 QGraphicsScene::mouseDoubleClickEvent
+232 QGraphicsScene::wheelEvent
+240 QGraphicsScene::inputMethodEvent
+248 QGraphicsScene::drawBackground
+256 QGraphicsScene::drawForeground
+264 QGraphicsScene::drawItems
+
+Class QGraphicsScene
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsScene (0x7f2f3968a930) 0
+ vptr=((& QGraphicsScene::_ZTV14QGraphicsScene) + 16u)
+ QObject (0x7f2f3968a9a0) 0
+ primary-for QGraphicsScene (0x7f2f3968a930)
+
+Vtable for QGraphicsSceneEvent
+QGraphicsSceneEvent::_ZTV19QGraphicsSceneEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QGraphicsSceneEvent)
+16 QGraphicsSceneEvent::~QGraphicsSceneEvent
+24 QGraphicsSceneEvent::~QGraphicsSceneEvent
+
+Class QGraphicsSceneEvent
+ size=32 align=8
+ base size=32 base align=8
+QGraphicsSceneEvent (0x7f2f3973f850) 0
+ vptr=((& QGraphicsSceneEvent::_ZTV19QGraphicsSceneEvent) + 16u)
+ QEvent (0x7f2f3973f8c0) 0
+ primary-for QGraphicsSceneEvent (0x7f2f3973f850)
+
+Vtable for QGraphicsSceneMouseEvent
+QGraphicsSceneMouseEvent::_ZTV24QGraphicsSceneMouseEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI24QGraphicsSceneMouseEvent)
+16 QGraphicsSceneMouseEvent::~QGraphicsSceneMouseEvent
+24 QGraphicsSceneMouseEvent::~QGraphicsSceneMouseEvent
+
+Class QGraphicsSceneMouseEvent
+ size=32 align=8
+ base size=32 base align=8
+QGraphicsSceneMouseEvent (0x7f2f3956b310) 0
+ vptr=((& QGraphicsSceneMouseEvent::_ZTV24QGraphicsSceneMouseEvent) + 16u)
+ QGraphicsSceneEvent (0x7f2f3956b380) 0
+ primary-for QGraphicsSceneMouseEvent (0x7f2f3956b310)
+ QEvent (0x7f2f3956b3f0) 0
+ primary-for QGraphicsSceneEvent (0x7f2f3956b380)
+
+Vtable for QGraphicsSceneWheelEvent
+QGraphicsSceneWheelEvent::_ZTV24QGraphicsSceneWheelEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI24QGraphicsSceneWheelEvent)
+16 QGraphicsSceneWheelEvent::~QGraphicsSceneWheelEvent
+24 QGraphicsSceneWheelEvent::~QGraphicsSceneWheelEvent
+
+Class QGraphicsSceneWheelEvent
+ size=32 align=8
+ base size=32 base align=8
+QGraphicsSceneWheelEvent (0x7f2f3956bcb0) 0
+ vptr=((& QGraphicsSceneWheelEvent::_ZTV24QGraphicsSceneWheelEvent) + 16u)
+ QGraphicsSceneEvent (0x7f2f3956bd20) 0
+ primary-for QGraphicsSceneWheelEvent (0x7f2f3956bcb0)
+ QEvent (0x7f2f3956bd90) 0
+ primary-for QGraphicsSceneEvent (0x7f2f3956bd20)
+
+Vtable for QGraphicsSceneContextMenuEvent
+QGraphicsSceneContextMenuEvent::_ZTV30QGraphicsSceneContextMenuEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI30QGraphicsSceneContextMenuEvent)
+16 QGraphicsSceneContextMenuEvent::~QGraphicsSceneContextMenuEvent
+24 QGraphicsSceneContextMenuEvent::~QGraphicsSceneContextMenuEvent
+
+Class QGraphicsSceneContextMenuEvent
+ size=32 align=8
+ base size=32 base align=8
+QGraphicsSceneContextMenuEvent (0x7f2f395815b0) 0
+ vptr=((& QGraphicsSceneContextMenuEvent::_ZTV30QGraphicsSceneContextMenuEvent) + 16u)
+ QGraphicsSceneEvent (0x7f2f39581620) 0
+ primary-for QGraphicsSceneContextMenuEvent (0x7f2f395815b0)
+ QEvent (0x7f2f39581690) 0
+ primary-for QGraphicsSceneEvent (0x7f2f39581620)
+
+Vtable for QGraphicsSceneHoverEvent
+QGraphicsSceneHoverEvent::_ZTV24QGraphicsSceneHoverEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI24QGraphicsSceneHoverEvent)
+16 QGraphicsSceneHoverEvent::~QGraphicsSceneHoverEvent
+24 QGraphicsSceneHoverEvent::~QGraphicsSceneHoverEvent
+
+Class QGraphicsSceneHoverEvent
+ size=32 align=8
+ base size=32 base align=8
+QGraphicsSceneHoverEvent (0x7f2f3958e0e0) 0
+ vptr=((& QGraphicsSceneHoverEvent::_ZTV24QGraphicsSceneHoverEvent) + 16u)
+ QGraphicsSceneEvent (0x7f2f3958e150) 0
+ primary-for QGraphicsSceneHoverEvent (0x7f2f3958e0e0)
+ QEvent (0x7f2f3958e1c0) 0
+ primary-for QGraphicsSceneEvent (0x7f2f3958e150)
+
+Vtable for QGraphicsSceneHelpEvent
+QGraphicsSceneHelpEvent::_ZTV23QGraphicsSceneHelpEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI23QGraphicsSceneHelpEvent)
+16 QGraphicsSceneHelpEvent::~QGraphicsSceneHelpEvent
+24 QGraphicsSceneHelpEvent::~QGraphicsSceneHelpEvent
+
+Class QGraphicsSceneHelpEvent
+ size=32 align=8
+ base size=32 base align=8
+QGraphicsSceneHelpEvent (0x7f2f3958ea80) 0
+ vptr=((& QGraphicsSceneHelpEvent::_ZTV23QGraphicsSceneHelpEvent) + 16u)
+ QGraphicsSceneEvent (0x7f2f3958eaf0) 0
+ primary-for QGraphicsSceneHelpEvent (0x7f2f3958ea80)
+ QEvent (0x7f2f3958eb60) 0
+ primary-for QGraphicsSceneEvent (0x7f2f3958eaf0)
+
+Vtable for QGraphicsSceneDragDropEvent
+QGraphicsSceneDragDropEvent::_ZTV27QGraphicsSceneDragDropEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI27QGraphicsSceneDragDropEvent)
+16 QGraphicsSceneDragDropEvent::~QGraphicsSceneDragDropEvent
+24 QGraphicsSceneDragDropEvent::~QGraphicsSceneDragDropEvent
+
+Class QGraphicsSceneDragDropEvent
+ size=32 align=8
+ base size=32 base align=8
+QGraphicsSceneDragDropEvent (0x7f2f3959f380) 0
+ vptr=((& QGraphicsSceneDragDropEvent::_ZTV27QGraphicsSceneDragDropEvent) + 16u)
+ QGraphicsSceneEvent (0x7f2f3959f3f0) 0
+ primary-for QGraphicsSceneDragDropEvent (0x7f2f3959f380)
+ QEvent (0x7f2f3959f460) 0
+ primary-for QGraphicsSceneEvent (0x7f2f3959f3f0)
+
+Vtable for QGraphicsSceneResizeEvent
+QGraphicsSceneResizeEvent::_ZTV25QGraphicsSceneResizeEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI25QGraphicsSceneResizeEvent)
+16 QGraphicsSceneResizeEvent::~QGraphicsSceneResizeEvent
+24 QGraphicsSceneResizeEvent::~QGraphicsSceneResizeEvent
+
+Class QGraphicsSceneResizeEvent
+ size=32 align=8
+ base size=32 base align=8
+QGraphicsSceneResizeEvent (0x7f2f3959fd20) 0
+ vptr=((& QGraphicsSceneResizeEvent::_ZTV25QGraphicsSceneResizeEvent) + 16u)
+ QGraphicsSceneEvent (0x7f2f3959fd90) 0
+ primary-for QGraphicsSceneResizeEvent (0x7f2f3959fd20)
+ QEvent (0x7f2f3959fe00) 0
+ primary-for QGraphicsSceneEvent (0x7f2f3959fd90)
+
+Vtable for QGraphicsSceneMoveEvent
+QGraphicsSceneMoveEvent::_ZTV23QGraphicsSceneMoveEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI23QGraphicsSceneMoveEvent)
+16 QGraphicsSceneMoveEvent::~QGraphicsSceneMoveEvent
+24 QGraphicsSceneMoveEvent::~QGraphicsSceneMoveEvent
+
+Class QGraphicsSceneMoveEvent
+ size=32 align=8
+ base size=32 base align=8
+QGraphicsSceneMoveEvent (0x7f2f395b3460) 0
+ vptr=((& QGraphicsSceneMoveEvent::_ZTV23QGraphicsSceneMoveEvent) + 16u)
+ QGraphicsSceneEvent (0x7f2f395b34d0) 0
+ primary-for QGraphicsSceneMoveEvent (0x7f2f395b3460)
+ QEvent (0x7f2f395b3540) 0
+ primary-for QGraphicsSceneEvent (0x7f2f395b34d0)
+
+Vtable for QGraphicsTransform
+QGraphicsTransform::_ZTV18QGraphicsTransform: 15u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QGraphicsTransform)
+16 QGraphicsTransform::metaObject
+24 QGraphicsTransform::qt_metacast
+32 QGraphicsTransform::qt_metacall
+40 QGraphicsTransform::~QGraphicsTransform
+48 QGraphicsTransform::~QGraphicsTransform
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+
+Class QGraphicsTransform
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsTransform (0x7f2f395b3c40) 0
+ vptr=((& QGraphicsTransform::_ZTV18QGraphicsTransform) + 16u)
+ QObject (0x7f2f395b3cb0) 0
+ primary-for QGraphicsTransform (0x7f2f395b3c40)
+
+Vtable for QGraphicsScale
+QGraphicsScale::_ZTV14QGraphicsScale: 15u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QGraphicsScale)
+16 QGraphicsScale::metaObject
+24 QGraphicsScale::qt_metacast
+32 QGraphicsScale::qt_metacall
+40 QGraphicsScale::~QGraphicsScale
+48 QGraphicsScale::~QGraphicsScale
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QGraphicsScale::applyTo
+
+Class QGraphicsScale
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsScale (0x7f2f395d2150) 0
+ vptr=((& QGraphicsScale::_ZTV14QGraphicsScale) + 16u)
+ QGraphicsTransform (0x7f2f395d21c0) 0
+ primary-for QGraphicsScale (0x7f2f395d2150)
+ QObject (0x7f2f395d2230) 0
+ primary-for QGraphicsTransform (0x7f2f395d21c0)
+
+Vtable for QGraphicsRotation
+QGraphicsRotation::_ZTV17QGraphicsRotation: 15u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QGraphicsRotation)
+16 QGraphicsRotation::metaObject
+24 QGraphicsRotation::qt_metacast
+32 QGraphicsRotation::qt_metacall
+40 QGraphicsRotation::~QGraphicsRotation
+48 QGraphicsRotation::~QGraphicsRotation
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QGraphicsRotation::applyTo
+
+Class QGraphicsRotation
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsRotation (0x7f2f395e5620) 0
+ vptr=((& QGraphicsRotation::_ZTV17QGraphicsRotation) + 16u)
+ QGraphicsTransform (0x7f2f395e5690) 0
+ primary-for QGraphicsRotation (0x7f2f395e5620)
+ QObject (0x7f2f395e5700) 0
+ primary-for QGraphicsTransform (0x7f2f395e5690)
+
+Vtable for QScrollArea
+QScrollArea::_ZTV11QScrollArea: 65u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QScrollArea)
+16 QScrollArea::metaObject
+24 QScrollArea::qt_metacast
+32 QScrollArea::qt_metacall
+40 QScrollArea::~QScrollArea
+48 QScrollArea::~QScrollArea
+56 QScrollArea::event
+64 QScrollArea::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QScrollArea::sizeHint
+136 QAbstractScrollArea::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QAbstractScrollArea::mousePressEvent
+168 QAbstractScrollArea::mouseReleaseEvent
+176 QAbstractScrollArea::mouseDoubleClickEvent
+184 QAbstractScrollArea::mouseMoveEvent
+192 QAbstractScrollArea::wheelEvent
+200 QAbstractScrollArea::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QAbstractScrollArea::paintEvent
+256 QWidget::moveEvent
+264 QScrollArea::resizeEvent
+272 QWidget::closeEvent
+280 QAbstractScrollArea::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QAbstractScrollArea::dragEnterEvent
+312 QAbstractScrollArea::dragMoveEvent
+320 QAbstractScrollArea::dragLeaveEvent
+328 QAbstractScrollArea::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QFrame::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QScrollArea::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QAbstractScrollArea::viewportEvent
+456 QScrollArea::scrollContentsBy
+464 (int (*)(...))-0x00000000000000010
+472 (int (*)(...))(& _ZTI11QScrollArea)
+480 QScrollArea::_ZThn16_N11QScrollAreaD1Ev
+488 QScrollArea::_ZThn16_N11QScrollAreaD0Ev
+496 QWidget::_ZThn16_NK7QWidget7devTypeEv
+504 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+512 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QScrollArea
+ size=40 align=8
+ base size=40 base align=8
+QScrollArea (0x7f2f395f8af0) 0
+ vptr=((& QScrollArea::_ZTV11QScrollArea) + 16u)
+ QAbstractScrollArea (0x7f2f395f8b60) 0
+ primary-for QScrollArea (0x7f2f395f8af0)
+ QFrame (0x7f2f395f8bd0) 0
+ primary-for QAbstractScrollArea (0x7f2f395f8b60)
+ QWidget (0x7f2f395e6c80) 0
+ primary-for QFrame (0x7f2f395f8bd0)
+ QObject (0x7f2f395f8c40) 0
+ primary-for QWidget (0x7f2f395e6c80)
+ QPaintDevice (0x7f2f395f8cb0) 16
+ vptr=((& QScrollArea::_ZTV11QScrollArea) + 480u)
+
+Vtable for QGraphicsView
+QGraphicsView::_ZTV13QGraphicsView: 68u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QGraphicsView)
+16 QGraphicsView::metaObject
+24 QGraphicsView::qt_metacast
+32 QGraphicsView::qt_metacall
+40 QGraphicsView::~QGraphicsView
+48 QGraphicsView::~QGraphicsView
+56 QGraphicsView::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QGraphicsView::sizeHint
+136 QAbstractScrollArea::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QGraphicsView::mousePressEvent
+168 QGraphicsView::mouseReleaseEvent
+176 QGraphicsView::mouseDoubleClickEvent
+184 QGraphicsView::mouseMoveEvent
+192 QGraphicsView::wheelEvent
+200 QGraphicsView::keyPressEvent
+208 QGraphicsView::keyReleaseEvent
+216 QGraphicsView::focusInEvent
+224 QGraphicsView::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QGraphicsView::paintEvent
+256 QWidget::moveEvent
+264 QGraphicsView::resizeEvent
+272 QWidget::closeEvent
+280 QGraphicsView::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QGraphicsView::dragEnterEvent
+312 QGraphicsView::dragMoveEvent
+320 QGraphicsView::dragLeaveEvent
+328 QGraphicsView::dropEvent
+336 QGraphicsView::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QFrame::changeEvent
+368 QWidget::metric
+376 QGraphicsView::inputMethodEvent
+384 QGraphicsView::inputMethodQuery
+392 QGraphicsView::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QGraphicsView::viewportEvent
+456 QGraphicsView::scrollContentsBy
+464 QGraphicsView::drawBackground
+472 QGraphicsView::drawForeground
+480 QGraphicsView::drawItems
+488 (int (*)(...))-0x00000000000000010
+496 (int (*)(...))(& _ZTI13QGraphicsView)
+504 QGraphicsView::_ZThn16_N13QGraphicsViewD1Ev
+512 QGraphicsView::_ZThn16_N13QGraphicsViewD0Ev
+520 QWidget::_ZThn16_NK7QWidget7devTypeEv
+528 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+536 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QGraphicsView
+ size=40 align=8
+ base size=40 base align=8
+QGraphicsView (0x7f2f3961ba10) 0
+ vptr=((& QGraphicsView::_ZTV13QGraphicsView) + 16u)
+ QAbstractScrollArea (0x7f2f3961ba80) 0
+ primary-for QGraphicsView (0x7f2f3961ba10)
+ QFrame (0x7f2f3961baf0) 0
+ primary-for QAbstractScrollArea (0x7f2f3961ba80)
+ QWidget (0x7f2f39614680) 0
+ primary-for QFrame (0x7f2f3961baf0)
+ QObject (0x7f2f3961bb60) 0
+ primary-for QWidget (0x7f2f39614680)
+ QPaintDevice (0x7f2f3961bbd0) 16
+ vptr=((& QGraphicsView::_ZTV13QGraphicsView) + 504u)
+
+Vtable for QAbstractButton
+QAbstractButton::_ZTV15QAbstractButton: 66u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QAbstractButton)
+16 QAbstractButton::metaObject
+24 QAbstractButton::qt_metacast
+32 QAbstractButton::qt_metacall
+40 QAbstractButton::~QAbstractButton
+48 QAbstractButton::~QAbstractButton
+56 QAbstractButton::event
+64 QObject::eventFilter
+72 QAbstractButton::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QWidget::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QAbstractButton::mousePressEvent
+168 QAbstractButton::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QAbstractButton::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QAbstractButton::keyPressEvent
+208 QAbstractButton::keyReleaseEvent
+216 QAbstractButton::focusInEvent
+224 QAbstractButton::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 __cxa_pure_virtual
+256 QWidget::moveEvent
+264 QWidget::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QAbstractButton::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QAbstractButton::hitButton
+456 QAbstractButton::checkStateSet
+464 QAbstractButton::nextCheckState
+472 (int (*)(...))-0x00000000000000010
+480 (int (*)(...))(& _ZTI15QAbstractButton)
+488 QAbstractButton::_ZThn16_N15QAbstractButtonD1Ev
+496 QAbstractButton::_ZThn16_N15QAbstractButtonD0Ev
+504 QWidget::_ZThn16_NK7QWidget7devTypeEv
+512 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+520 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QAbstractButton
+ size=40 align=8
+ base size=40 base align=8
+QAbstractButton (0x7f2f3950aee0) 0
+ vptr=((& QAbstractButton::_ZTV15QAbstractButton) + 16u)
+ QWidget (0x7f2f39513380) 0
+ primary-for QAbstractButton (0x7f2f3950aee0)
+ QObject (0x7f2f3950af50) 0
+ primary-for QWidget (0x7f2f39513380)
+ QPaintDevice (0x7f2f39519000) 16
+ vptr=((& QAbstractButton::_ZTV15QAbstractButton) + 488u)
+
+Vtable for QButtonGroup
+QButtonGroup::_ZTV12QButtonGroup: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QButtonGroup)
+16 QButtonGroup::metaObject
+24 QButtonGroup::qt_metacast
+32 QButtonGroup::qt_metacall
+40 QButtonGroup::~QButtonGroup
+48 QButtonGroup::~QButtonGroup
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QButtonGroup
+ size=16 align=8
+ base size=16 base align=8
+QButtonGroup (0x7f2f3934b310) 0
+ vptr=((& QButtonGroup::_ZTV12QButtonGroup) + 16u)
+ QObject (0x7f2f3934b380) 0
+ primary-for QButtonGroup (0x7f2f3934b310)
+
+Vtable for QCalendarWidget
+QCalendarWidget::_ZTV15QCalendarWidget: 64u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QCalendarWidget)
+16 QCalendarWidget::metaObject
+24 QCalendarWidget::qt_metacast
+32 QCalendarWidget::qt_metacall
+40 QCalendarWidget::~QCalendarWidget
+48 QCalendarWidget::~QCalendarWidget
+56 QCalendarWidget::event
+64 QCalendarWidget::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QCalendarWidget::sizeHint
+136 QCalendarWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QCalendarWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QCalendarWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QWidget::paintEvent
+256 QWidget::moveEvent
+264 QCalendarWidget::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QWidget::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QCalendarWidget::paintCell
+456 (int (*)(...))-0x00000000000000010
+464 (int (*)(...))(& _ZTI15QCalendarWidget)
+472 QCalendarWidget::_ZThn16_N15QCalendarWidgetD1Ev
+480 QCalendarWidget::_ZThn16_N15QCalendarWidgetD0Ev
+488 QWidget::_ZThn16_NK7QWidget7devTypeEv
+496 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+504 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QCalendarWidget
+ size=40 align=8
+ base size=40 base align=8
+QCalendarWidget (0x7f2f39360f50) 0
+ vptr=((& QCalendarWidget::_ZTV15QCalendarWidget) + 16u)
+ QWidget (0x7f2f3935f900) 0
+ primary-for QCalendarWidget (0x7f2f39360f50)
+ QObject (0x7f2f39368000) 0
+ primary-for QWidget (0x7f2f3935f900)
+ QPaintDevice (0x7f2f39368070) 16
+ vptr=((& QCalendarWidget::_ZTV15QCalendarWidget) + 472u)
+
+Vtable for QCheckBox
+QCheckBox::_ZTV9QCheckBox: 66u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QCheckBox)
+16 QCheckBox::metaObject
+24 QCheckBox::qt_metacast
+32 QCheckBox::qt_metacall
+40 QCheckBox::~QCheckBox
+48 QCheckBox::~QCheckBox
+56 QCheckBox::event
+64 QObject::eventFilter
+72 QAbstractButton::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QCheckBox::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QAbstractButton::mousePressEvent
+168 QAbstractButton::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QCheckBox::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QAbstractButton::keyPressEvent
+208 QAbstractButton::keyReleaseEvent
+216 QAbstractButton::focusInEvent
+224 QAbstractButton::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QCheckBox::paintEvent
+256 QWidget::moveEvent
+264 QWidget::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QAbstractButton::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QCheckBox::hitButton
+456 QCheckBox::checkStateSet
+464 QCheckBox::nextCheckState
+472 (int (*)(...))-0x00000000000000010
+480 (int (*)(...))(& _ZTI9QCheckBox)
+488 QCheckBox::_ZThn16_N9QCheckBoxD1Ev
+496 QCheckBox::_ZThn16_N9QCheckBoxD0Ev
+504 QWidget::_ZThn16_NK7QWidget7devTypeEv
+512 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+520 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QCheckBox
+ size=40 align=8
+ base size=40 base align=8
+QCheckBox (0x7f2f393950e0) 0
+ vptr=((& QCheckBox::_ZTV9QCheckBox) + 16u)
+ QAbstractButton (0x7f2f39395150) 0
+ primary-for QCheckBox (0x7f2f393950e0)
+ QWidget (0x7f2f39388900) 0
+ primary-for QAbstractButton (0x7f2f39395150)
+ QObject (0x7f2f393951c0) 0
+ primary-for QWidget (0x7f2f39388900)
+ QPaintDevice (0x7f2f39395230) 16
+ vptr=((& QCheckBox::_ZTV9QCheckBox) + 488u)
+
+Vtable for QComboBox
+QComboBox::_ZTV9QComboBox: 65u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QComboBox)
+16 QComboBox::metaObject
+24 QComboBox::qt_metacast
+32 QComboBox::qt_metacall
+40 QComboBox::~QComboBox
+48 QComboBox::~QComboBox
+56 QComboBox::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QComboBox::sizeHint
+136 QComboBox::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QComboBox::mousePressEvent
+168 QComboBox::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QComboBox::wheelEvent
+200 QComboBox::keyPressEvent
+208 QComboBox::keyReleaseEvent
+216 QComboBox::focusInEvent
+224 QComboBox::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QComboBox::paintEvent
+256 QWidget::moveEvent
+264 QComboBox::resizeEvent
+272 QWidget::closeEvent
+280 QComboBox::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QComboBox::showEvent
+344 QComboBox::hideEvent
+352 QWidget::x11Event
+360 QComboBox::changeEvent
+368 QWidget::metric
+376 QComboBox::inputMethodEvent
+384 QComboBox::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QComboBox::showPopup
+456 QComboBox::hidePopup
+464 (int (*)(...))-0x00000000000000010
+472 (int (*)(...))(& _ZTI9QComboBox)
+480 QComboBox::_ZThn16_N9QComboBoxD1Ev
+488 QComboBox::_ZThn16_N9QComboBoxD0Ev
+496 QWidget::_ZThn16_NK7QWidget7devTypeEv
+504 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+512 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QComboBox
+ size=40 align=8
+ base size=40 base align=8
+QComboBox (0x7f2f393b68c0) 0
+ vptr=((& QComboBox::_ZTV9QComboBox) + 16u)
+ QWidget (0x7f2f393b0900) 0
+ primary-for QComboBox (0x7f2f393b68c0)
+ QObject (0x7f2f393b6930) 0
+ primary-for QWidget (0x7f2f393b0900)
+ QPaintDevice (0x7f2f393b69a0) 16
+ vptr=((& QComboBox::_ZTV9QComboBox) + 480u)
+
+Vtable for QPushButton
+QPushButton::_ZTV11QPushButton: 66u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QPushButton)
+16 QPushButton::metaObject
+24 QPushButton::qt_metacast
+32 QPushButton::qt_metacall
+40 QPushButton::~QPushButton
+48 QPushButton::~QPushButton
+56 QPushButton::event
+64 QObject::eventFilter
+72 QAbstractButton::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QPushButton::sizeHint
+136 QPushButton::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QAbstractButton::mousePressEvent
+168 QAbstractButton::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QAbstractButton::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QPushButton::keyPressEvent
+208 QAbstractButton::keyReleaseEvent
+216 QPushButton::focusInEvent
+224 QPushButton::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QPushButton::paintEvent
+256 QWidget::moveEvent
+264 QWidget::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QAbstractButton::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QAbstractButton::hitButton
+456 QAbstractButton::checkStateSet
+464 QAbstractButton::nextCheckState
+472 (int (*)(...))-0x00000000000000010
+480 (int (*)(...))(& _ZTI11QPushButton)
+488 QPushButton::_ZThn16_N11QPushButtonD1Ev
+496 QPushButton::_ZThn16_N11QPushButtonD0Ev
+504 QWidget::_ZThn16_NK7QWidget7devTypeEv
+512 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+520 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QPushButton
+ size=40 align=8
+ base size=40 base align=8
+QPushButton (0x7f2f394253f0) 0
+ vptr=((& QPushButton::_ZTV11QPushButton) + 16u)
+ QAbstractButton (0x7f2f39425460) 0
+ primary-for QPushButton (0x7f2f394253f0)
+ QWidget (0x7f2f39422600) 0
+ primary-for QAbstractButton (0x7f2f39425460)
+ QObject (0x7f2f394254d0) 0
+ primary-for QWidget (0x7f2f39422600)
+ QPaintDevice (0x7f2f39425540) 16
+ vptr=((& QPushButton::_ZTV11QPushButton) + 488u)
+
+Vtable for QCommandLinkButton
+QCommandLinkButton::_ZTV18QCommandLinkButton: 66u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QCommandLinkButton)
+16 QCommandLinkButton::metaObject
+24 QCommandLinkButton::qt_metacast
+32 QCommandLinkButton::qt_metacall
+40 QCommandLinkButton::~QCommandLinkButton
+48 QCommandLinkButton::~QCommandLinkButton
+56 QCommandLinkButton::event
+64 QObject::eventFilter
+72 QAbstractButton::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QCommandLinkButton::sizeHint
+136 QCommandLinkButton::minimumSizeHint
+144 QCommandLinkButton::heightForWidth
+152 QWidget::paintEngine
+160 QAbstractButton::mousePressEvent
+168 QAbstractButton::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QAbstractButton::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QPushButton::keyPressEvent
+208 QAbstractButton::keyReleaseEvent
+216 QPushButton::focusInEvent
+224 QPushButton::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QCommandLinkButton::paintEvent
+256 QWidget::moveEvent
+264 QWidget::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QAbstractButton::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QAbstractButton::hitButton
+456 QAbstractButton::checkStateSet
+464 QAbstractButton::nextCheckState
+472 (int (*)(...))-0x00000000000000010
+480 (int (*)(...))(& _ZTI18QCommandLinkButton)
+488 QCommandLinkButton::_ZThn16_N18QCommandLinkButtonD1Ev
+496 QCommandLinkButton::_ZThn16_N18QCommandLinkButtonD0Ev
+504 QWidget::_ZThn16_NK7QWidget7devTypeEv
+512 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+520 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QCommandLinkButton
+ size=40 align=8
+ base size=40 base align=8
+QCommandLinkButton (0x7f2f39248d20) 0
+ vptr=((& QCommandLinkButton::_ZTV18QCommandLinkButton) + 16u)
+ QPushButton (0x7f2f39248d90) 0
+ primary-for QCommandLinkButton (0x7f2f39248d20)
+ QAbstractButton (0x7f2f39248e00) 0
+ primary-for QPushButton (0x7f2f39248d90)
+ QWidget (0x7f2f3924a600) 0
+ primary-for QAbstractButton (0x7f2f39248e00)
+ QObject (0x7f2f39248e70) 0
+ primary-for QWidget (0x7f2f3924a600)
+ QPaintDevice (0x7f2f39248ee0) 16
+ vptr=((& QCommandLinkButton::_ZTV18QCommandLinkButton) + 488u)
+
+Vtable for QDateTimeEdit
+QDateTimeEdit::_ZTV13QDateTimeEdit: 70u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QDateTimeEdit)
+16 QDateTimeEdit::metaObject
+24 QDateTimeEdit::qt_metacast
+32 QDateTimeEdit::qt_metacall
+40 QDateTimeEdit::~QDateTimeEdit
+48 QDateTimeEdit::~QDateTimeEdit
+56 QDateTimeEdit::event
+64 QObject::eventFilter
+72 QAbstractSpinBox::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QDateTimeEdit::sizeHint
+136 QAbstractSpinBox::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QDateTimeEdit::mousePressEvent
+168 QAbstractSpinBox::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QAbstractSpinBox::mouseMoveEvent
+192 QDateTimeEdit::wheelEvent
+200 QDateTimeEdit::keyPressEvent
+208 QAbstractSpinBox::keyReleaseEvent
+216 QDateTimeEdit::focusInEvent
+224 QAbstractSpinBox::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QDateTimeEdit::paintEvent
+256 QWidget::moveEvent
+264 QAbstractSpinBox::resizeEvent
+272 QAbstractSpinBox::closeEvent
+280 QAbstractSpinBox::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QAbstractSpinBox::showEvent
+344 QAbstractSpinBox::hideEvent
+352 QWidget::x11Event
+360 QAbstractSpinBox::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QAbstractSpinBox::inputMethodQuery
+392 QDateTimeEdit::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QDateTimeEdit::validate
+456 QDateTimeEdit::fixup
+464 QDateTimeEdit::stepBy
+472 QDateTimeEdit::clear
+480 QDateTimeEdit::stepEnabled
+488 QDateTimeEdit::dateTimeFromText
+496 QDateTimeEdit::textFromDateTime
+504 (int (*)(...))-0x00000000000000010
+512 (int (*)(...))(& _ZTI13QDateTimeEdit)
+520 QDateTimeEdit::_ZThn16_N13QDateTimeEditD1Ev
+528 QDateTimeEdit::_ZThn16_N13QDateTimeEditD0Ev
+536 QWidget::_ZThn16_NK7QWidget7devTypeEv
+544 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+552 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QDateTimeEdit
+ size=40 align=8
+ base size=40 base align=8
+QDateTimeEdit (0x7f2f392668c0) 0
+ vptr=((& QDateTimeEdit::_ZTV13QDateTimeEdit) + 16u)
+ QAbstractSpinBox (0x7f2f39266930) 0
+ primary-for QDateTimeEdit (0x7f2f392668c0)
+ QWidget (0x7f2f3926c000) 0
+ primary-for QAbstractSpinBox (0x7f2f39266930)
+ QObject (0x7f2f392669a0) 0
+ primary-for QWidget (0x7f2f3926c000)
+ QPaintDevice (0x7f2f39266a10) 16
+ vptr=((& QDateTimeEdit::_ZTV13QDateTimeEdit) + 520u)
+
+Vtable for QTimeEdit
+QTimeEdit::_ZTV9QTimeEdit: 70u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QTimeEdit)
+16 QTimeEdit::metaObject
+24 QTimeEdit::qt_metacast
+32 QTimeEdit::qt_metacall
+40 QTimeEdit::~QTimeEdit
+48 QTimeEdit::~QTimeEdit
+56 QDateTimeEdit::event
+64 QObject::eventFilter
+72 QAbstractSpinBox::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QDateTimeEdit::sizeHint
+136 QAbstractSpinBox::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QDateTimeEdit::mousePressEvent
+168 QAbstractSpinBox::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QAbstractSpinBox::mouseMoveEvent
+192 QDateTimeEdit::wheelEvent
+200 QDateTimeEdit::keyPressEvent
+208 QAbstractSpinBox::keyReleaseEvent
+216 QDateTimeEdit::focusInEvent
+224 QAbstractSpinBox::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QDateTimeEdit::paintEvent
+256 QWidget::moveEvent
+264 QAbstractSpinBox::resizeEvent
+272 QAbstractSpinBox::closeEvent
+280 QAbstractSpinBox::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QAbstractSpinBox::showEvent
+344 QAbstractSpinBox::hideEvent
+352 QWidget::x11Event
+360 QAbstractSpinBox::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QAbstractSpinBox::inputMethodQuery
+392 QDateTimeEdit::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QDateTimeEdit::validate
+456 QDateTimeEdit::fixup
+464 QDateTimeEdit::stepBy
+472 QDateTimeEdit::clear
+480 QDateTimeEdit::stepEnabled
+488 QDateTimeEdit::dateTimeFromText
+496 QDateTimeEdit::textFromDateTime
+504 (int (*)(...))-0x00000000000000010
+512 (int (*)(...))(& _ZTI9QTimeEdit)
+520 QTimeEdit::_ZThn16_N9QTimeEditD1Ev
+528 QTimeEdit::_ZThn16_N9QTimeEditD0Ev
+536 QWidget::_ZThn16_NK7QWidget7devTypeEv
+544 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+552 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QTimeEdit
+ size=40 align=8
+ base size=40 base align=8
+QTimeEdit (0x7f2f392977e0) 0
+ vptr=((& QTimeEdit::_ZTV9QTimeEdit) + 16u)
+ QDateTimeEdit (0x7f2f39297850) 0
+ primary-for QTimeEdit (0x7f2f392977e0)
+ QAbstractSpinBox (0x7f2f392978c0) 0
+ primary-for QDateTimeEdit (0x7f2f39297850)
+ QWidget (0x7f2f3926cf80) 0
+ primary-for QAbstractSpinBox (0x7f2f392978c0)
+ QObject (0x7f2f39297930) 0
+ primary-for QWidget (0x7f2f3926cf80)
+ QPaintDevice (0x7f2f392979a0) 16
+ vptr=((& QTimeEdit::_ZTV9QTimeEdit) + 520u)
+
+Vtable for QDateEdit
+QDateEdit::_ZTV9QDateEdit: 70u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QDateEdit)
+16 QDateEdit::metaObject
+24 QDateEdit::qt_metacast
+32 QDateEdit::qt_metacall
+40 QDateEdit::~QDateEdit
+48 QDateEdit::~QDateEdit
+56 QDateTimeEdit::event
+64 QObject::eventFilter
+72 QAbstractSpinBox::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QDateTimeEdit::sizeHint
+136 QAbstractSpinBox::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QDateTimeEdit::mousePressEvent
+168 QAbstractSpinBox::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QAbstractSpinBox::mouseMoveEvent
+192 QDateTimeEdit::wheelEvent
+200 QDateTimeEdit::keyPressEvent
+208 QAbstractSpinBox::keyReleaseEvent
+216 QDateTimeEdit::focusInEvent
+224 QAbstractSpinBox::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QDateTimeEdit::paintEvent
+256 QWidget::moveEvent
+264 QAbstractSpinBox::resizeEvent
+272 QAbstractSpinBox::closeEvent
+280 QAbstractSpinBox::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QAbstractSpinBox::showEvent
+344 QAbstractSpinBox::hideEvent
+352 QWidget::x11Event
+360 QAbstractSpinBox::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QAbstractSpinBox::inputMethodQuery
+392 QDateTimeEdit::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QDateTimeEdit::validate
+456 QDateTimeEdit::fixup
+464 QDateTimeEdit::stepBy
+472 QDateTimeEdit::clear
+480 QDateTimeEdit::stepEnabled
+488 QDateTimeEdit::dateTimeFromText
+496 QDateTimeEdit::textFromDateTime
+504 (int (*)(...))-0x00000000000000010
+512 (int (*)(...))(& _ZTI9QDateEdit)
+520 QDateEdit::_ZThn16_N9QDateEditD1Ev
+528 QDateEdit::_ZThn16_N9QDateEditD0Ev
+536 QWidget::_ZThn16_NK7QWidget7devTypeEv
+544 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+552 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QDateEdit
+ size=40 align=8
+ base size=40 base align=8
+QDateEdit (0x7f2f392ad8c0) 0
+ vptr=((& QDateEdit::_ZTV9QDateEdit) + 16u)
+ QDateTimeEdit (0x7f2f392ad930) 0
+ primary-for QDateEdit (0x7f2f392ad8c0)
+ QAbstractSpinBox (0x7f2f392ad9a0) 0
+ primary-for QDateTimeEdit (0x7f2f392ad930)
+ QWidget (0x7f2f3929f680) 0
+ primary-for QAbstractSpinBox (0x7f2f392ad9a0)
+ QObject (0x7f2f392ada10) 0
+ primary-for QWidget (0x7f2f3929f680)
+ QPaintDevice (0x7f2f392ada80) 16
+ vptr=((& QDateEdit::_ZTV9QDateEdit) + 520u)
+
+Vtable for QDial
+QDial::_ZTV5QDial: 64u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI5QDial)
+16 QDial::metaObject
+24 QDial::qt_metacast
+32 QDial::qt_metacall
+40 QDial::~QDial
+48 QDial::~QDial
+56 QDial::event
+64 QObject::eventFilter
+72 QAbstractSlider::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QDial::sizeHint
+136 QDial::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QDial::mousePressEvent
+168 QDial::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QDial::mouseMoveEvent
+192 QAbstractSlider::wheelEvent
+200 QAbstractSlider::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QDial::paintEvent
+256 QWidget::moveEvent
+264 QDial::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QAbstractSlider::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QDial::sliderChange
+456 (int (*)(...))-0x00000000000000010
+464 (int (*)(...))(& _ZTI5QDial)
+472 QDial::_ZThn16_N5QDialD1Ev
+480 QDial::_ZThn16_N5QDialD0Ev
+488 QWidget::_ZThn16_NK7QWidget7devTypeEv
+496 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+504 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QDial
+ size=40 align=8
+ base size=40 base align=8
+QDial (0x7f2f392f4690) 0
+ vptr=((& QDial::_ZTV5QDial) + 16u)
+ QAbstractSlider (0x7f2f392f4700) 0
+ primary-for QDial (0x7f2f392f4690)
+ QWidget (0x7f2f392f5300) 0
+ primary-for QAbstractSlider (0x7f2f392f4700)
+ QObject (0x7f2f392f4770) 0
+ primary-for QWidget (0x7f2f392f5300)
+ QPaintDevice (0x7f2f392f47e0) 16
+ vptr=((& QDial::_ZTV5QDial) + 472u)
+
+Vtable for QDialogButtonBox
+QDialogButtonBox::_ZTV16QDialogButtonBox: 63u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QDialogButtonBox)
+16 QDialogButtonBox::metaObject
+24 QDialogButtonBox::qt_metacast
+32 QDialogButtonBox::qt_metacall
+40 QDialogButtonBox::~QDialogButtonBox
+48 QDialogButtonBox::~QDialogButtonBox
+56 QDialogButtonBox::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QWidget::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QWidget::paintEvent
+256 QWidget::moveEvent
+264 QWidget::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QDialogButtonBox::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 (int (*)(...))-0x00000000000000010
+456 (int (*)(...))(& _ZTI16QDialogButtonBox)
+464 QDialogButtonBox::_ZThn16_N16QDialogButtonBoxD1Ev
+472 QDialogButtonBox::_ZThn16_N16QDialogButtonBoxD0Ev
+480 QWidget::_ZThn16_NK7QWidget7devTypeEv
+488 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+496 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QDialogButtonBox
+ size=40 align=8
+ base size=40 base align=8
+QDialogButtonBox (0x7f2f39333310) 0
+ vptr=((& QDialogButtonBox::_ZTV16QDialogButtonBox) + 16u)
+ QWidget (0x7f2f392f5d00) 0
+ primary-for QDialogButtonBox (0x7f2f39333310)
+ QObject (0x7f2f39333380) 0
+ primary-for QWidget (0x7f2f392f5d00)
+ QPaintDevice (0x7f2f393333f0) 16
+ vptr=((& QDialogButtonBox::_ZTV16QDialogButtonBox) + 464u)
+
+Vtable for QDockWidget
+QDockWidget::_ZTV11QDockWidget: 63u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QDockWidget)
+16 QDockWidget::metaObject
+24 QDockWidget::qt_metacast
+32 QDockWidget::qt_metacall
+40 QDockWidget::~QDockWidget
+48 QDockWidget::~QDockWidget
+56 QDockWidget::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QWidget::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QDockWidget::paintEvent
+256 QWidget::moveEvent
+264 QWidget::resizeEvent
+272 QDockWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QDockWidget::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 (int (*)(...))-0x00000000000000010
+456 (int (*)(...))(& _ZTI11QDockWidget)
+464 QDockWidget::_ZThn16_N11QDockWidgetD1Ev
+472 QDockWidget::_ZThn16_N11QDockWidgetD0Ev
+480 QWidget::_ZThn16_NK7QWidget7devTypeEv
+488 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+496 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QDockWidget
+ size=40 align=8
+ base size=40 base align=8
+QDockWidget (0x7f2f391867e0) 0
+ vptr=((& QDockWidget::_ZTV11QDockWidget) + 16u)
+ QWidget (0x7f2f3913de80) 0
+ primary-for QDockWidget (0x7f2f391867e0)
+ QObject (0x7f2f39186850) 0
+ primary-for QWidget (0x7f2f3913de80)
+ QPaintDevice (0x7f2f391868c0) 16
+ vptr=((& QDockWidget::_ZTV11QDockWidget) + 464u)
+
+Vtable for QFocusFrame
+QFocusFrame::_ZTV11QFocusFrame: 63u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QFocusFrame)
+16 QFocusFrame::metaObject
+24 QFocusFrame::qt_metacast
+32 QFocusFrame::qt_metacall
+40 QFocusFrame::~QFocusFrame
+48 QFocusFrame::~QFocusFrame
+56 QFocusFrame::event
+64 QFocusFrame::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QWidget::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QFocusFrame::paintEvent
+256 QWidget::moveEvent
+264 QWidget::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QWidget::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 (int (*)(...))-0x00000000000000010
+456 (int (*)(...))(& _ZTI11QFocusFrame)
+464 QFocusFrame::_ZThn16_N11QFocusFrameD1Ev
+472 QFocusFrame::_ZThn16_N11QFocusFrameD0Ev
+480 QWidget::_ZThn16_NK7QWidget7devTypeEv
+488 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+496 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QFocusFrame
+ size=40 align=8
+ base size=40 base align=8
+QFocusFrame (0x7f2f39228230) 0
+ vptr=((& QFocusFrame::_ZTV11QFocusFrame) + 16u)
+ QWidget (0x7f2f391dd680) 0
+ primary-for QFocusFrame (0x7f2f39228230)
+ QObject (0x7f2f392282a0) 0
+ primary-for QWidget (0x7f2f391dd680)
+ QPaintDevice (0x7f2f39228310) 16
+ vptr=((& QFocusFrame::_ZTV11QFocusFrame) + 464u)
+
+Vtable for QFontComboBox
+QFontComboBox::_ZTV13QFontComboBox: 65u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QFontComboBox)
+16 QFontComboBox::metaObject
+24 QFontComboBox::qt_metacast
+32 QFontComboBox::qt_metacall
+40 QFontComboBox::~QFontComboBox
+48 QFontComboBox::~QFontComboBox
+56 QFontComboBox::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QFontComboBox::sizeHint
+136 QComboBox::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QComboBox::mousePressEvent
+168 QComboBox::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QComboBox::wheelEvent
+200 QComboBox::keyPressEvent
+208 QComboBox::keyReleaseEvent
+216 QComboBox::focusInEvent
+224 QComboBox::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QComboBox::paintEvent
+256 QWidget::moveEvent
+264 QComboBox::resizeEvent
+272 QWidget::closeEvent
+280 QComboBox::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QComboBox::showEvent
+344 QComboBox::hideEvent
+352 QWidget::x11Event
+360 QComboBox::changeEvent
+368 QWidget::metric
+376 QComboBox::inputMethodEvent
+384 QComboBox::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QComboBox::showPopup
+456 QComboBox::hidePopup
+464 (int (*)(...))-0x00000000000000010
+472 (int (*)(...))(& _ZTI13QFontComboBox)
+480 QFontComboBox::_ZThn16_N13QFontComboBoxD1Ev
+488 QFontComboBox::_ZThn16_N13QFontComboBoxD0Ev
+496 QWidget::_ZThn16_NK7QWidget7devTypeEv
+504 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+512 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QFontComboBox
+ size=40 align=8
+ base size=40 base align=8
+QFontComboBox (0x7f2f3903ad90) 0
+ vptr=((& QFontComboBox::_ZTV13QFontComboBox) + 16u)
+ QComboBox (0x7f2f3903ae00) 0
+ primary-for QFontComboBox (0x7f2f3903ad90)
+ QWidget (0x7f2f39043080) 0
+ primary-for QComboBox (0x7f2f3903ae00)
+ QObject (0x7f2f3903ae70) 0
+ primary-for QWidget (0x7f2f39043080)
+ QPaintDevice (0x7f2f3903aee0) 16
+ vptr=((& QFontComboBox::_ZTV13QFontComboBox) + 480u)
+
+Vtable for QGroupBox
+QGroupBox::_ZTV9QGroupBox: 63u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QGroupBox)
+16 QGroupBox::metaObject
+24 QGroupBox::qt_metacast
+32 QGroupBox::qt_metacall
+40 QGroupBox::~QGroupBox
+48 QGroupBox::~QGroupBox
+56 QGroupBox::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QGroupBox::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QWidget::sizeHint
+136 QGroupBox::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QGroupBox::mousePressEvent
+168 QGroupBox::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QGroupBox::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QGroupBox::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QGroupBox::paintEvent
+256 QWidget::moveEvent
+264 QGroupBox::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QGroupBox::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 (int (*)(...))-0x00000000000000010
+456 (int (*)(...))(& _ZTI9QGroupBox)
+464 QGroupBox::_ZThn16_N9QGroupBoxD1Ev
+472 QGroupBox::_ZThn16_N9QGroupBoxD0Ev
+480 QWidget::_ZThn16_NK7QWidget7devTypeEv
+488 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+496 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QGroupBox
+ size=40 align=8
+ base size=40 base align=8
+QGroupBox (0x7f2f3908ba80) 0
+ vptr=((& QGroupBox::_ZTV9QGroupBox) + 16u)
+ QWidget (0x7f2f3908d280) 0
+ primary-for QGroupBox (0x7f2f3908ba80)
+ QObject (0x7f2f3908baf0) 0
+ primary-for QWidget (0x7f2f3908d280)
+ QPaintDevice (0x7f2f3908bb60) 16
+ vptr=((& QGroupBox::_ZTV9QGroupBox) + 464u)
+
+Vtable for QLabel
+QLabel::_ZTV6QLabel: 63u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI6QLabel)
+16 QLabel::metaObject
+24 QLabel::qt_metacast
+32 QLabel::qt_metacall
+40 QLabel::~QLabel
+48 QLabel::~QLabel
+56 QLabel::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QLabel::sizeHint
+136 QLabel::minimumSizeHint
+144 QLabel::heightForWidth
+152 QWidget::paintEngine
+160 QLabel::mousePressEvent
+168 QLabel::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QLabel::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QLabel::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QLabel::focusInEvent
+224 QLabel::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QLabel::paintEvent
+256 QWidget::moveEvent
+264 QWidget::resizeEvent
+272 QWidget::closeEvent
+280 QLabel::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QLabel::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QLabel::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 (int (*)(...))-0x00000000000000010
+456 (int (*)(...))(& _ZTI6QLabel)
+464 QLabel::_ZThn16_N6QLabelD1Ev
+472 QLabel::_ZThn16_N6QLabelD0Ev
+480 QWidget::_ZThn16_NK7QWidget7devTypeEv
+488 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+496 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QLabel
+ size=40 align=8
+ base size=40 base align=8
+QLabel (0x7f2f390cb700) 0
+ vptr=((& QLabel::_ZTV6QLabel) + 16u)
+ QFrame (0x7f2f390cb770) 0
+ primary-for QLabel (0x7f2f390cb700)
+ QWidget (0x7f2f3908dc80) 0
+ primary-for QFrame (0x7f2f390cb770)
+ QObject (0x7f2f390cb7e0) 0
+ primary-for QWidget (0x7f2f3908dc80)
+ QPaintDevice (0x7f2f390cb850) 16
+ vptr=((& QLabel::_ZTV6QLabel) + 464u)
+
+Vtable for QLCDNumber
+QLCDNumber::_ZTV10QLCDNumber: 63u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QLCDNumber)
+16 QLCDNumber::metaObject
+24 QLCDNumber::qt_metacast
+32 QLCDNumber::qt_metacall
+40 QLCDNumber::~QLCDNumber
+48 QLCDNumber::~QLCDNumber
+56 QLCDNumber::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QLCDNumber::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QLCDNumber::paintEvent
+256 QWidget::moveEvent
+264 QWidget::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QFrame::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 (int (*)(...))-0x00000000000000010
+456 (int (*)(...))(& _ZTI10QLCDNumber)
+464 QLCDNumber::_ZThn16_N10QLCDNumberD1Ev
+472 QLCDNumber::_ZThn16_N10QLCDNumberD0Ev
+480 QWidget::_ZThn16_NK7QWidget7devTypeEv
+488 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+496 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QLCDNumber
+ size=40 align=8
+ base size=40 base align=8
+QLCDNumber (0x7f2f390f9850) 0
+ vptr=((& QLCDNumber::_ZTV10QLCDNumber) + 16u)
+ QFrame (0x7f2f390f98c0) 0
+ primary-for QLCDNumber (0x7f2f390f9850)
+ QWidget (0x7f2f390f2880) 0
+ primary-for QFrame (0x7f2f390f98c0)
+ QObject (0x7f2f390f9930) 0
+ primary-for QWidget (0x7f2f390f2880)
+ QPaintDevice (0x7f2f390f99a0) 16
+ vptr=((& QLCDNumber::_ZTV10QLCDNumber) + 464u)
+
+Vtable for QMainWindow
+QMainWindow::_ZTV11QMainWindow: 64u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QMainWindow)
+16 QMainWindow::metaObject
+24 QMainWindow::qt_metacast
+32 QMainWindow::qt_metacall
+40 QMainWindow::~QMainWindow
+48 QMainWindow::~QMainWindow
+56 QMainWindow::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QWidget::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QWidget::paintEvent
+256 QWidget::moveEvent
+264 QWidget::resizeEvent
+272 QWidget::closeEvent
+280 QMainWindow::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QWidget::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QMainWindow::createPopupMenu
+456 (int (*)(...))-0x00000000000000010
+464 (int (*)(...))(& _ZTI11QMainWindow)
+472 QMainWindow::_ZThn16_N11QMainWindowD1Ev
+480 QMainWindow::_ZThn16_N11QMainWindowD0Ev
+488 QWidget::_ZThn16_NK7QWidget7devTypeEv
+496 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+504 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QMainWindow
+ size=40 align=8
+ base size=40 base align=8
+QMainWindow (0x7f2f39124230) 0
+ vptr=((& QMainWindow::_ZTV11QMainWindow) + 16u)
+ QWidget (0x7f2f39118a00) 0
+ primary-for QMainWindow (0x7f2f39124230)
+ QObject (0x7f2f391242a0) 0
+ primary-for QWidget (0x7f2f39118a00)
+ QPaintDevice (0x7f2f39124310) 16
+ vptr=((& QMainWindow::_ZTV11QMainWindow) + 472u)
+
+Vtable for QMdiArea
+QMdiArea::_ZTV8QMdiArea: 65u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI8QMdiArea)
+16 QMdiArea::metaObject
+24 QMdiArea::qt_metacast
+32 QMdiArea::qt_metacall
+40 QMdiArea::~QMdiArea
+48 QMdiArea::~QMdiArea
+56 QMdiArea::event
+64 QMdiArea::eventFilter
+72 QMdiArea::timerEvent
+80 QMdiArea::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QMdiArea::sizeHint
+136 QMdiArea::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QAbstractScrollArea::mousePressEvent
+168 QAbstractScrollArea::mouseReleaseEvent
+176 QAbstractScrollArea::mouseDoubleClickEvent
+184 QAbstractScrollArea::mouseMoveEvent
+192 QAbstractScrollArea::wheelEvent
+200 QAbstractScrollArea::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QMdiArea::paintEvent
+256 QWidget::moveEvent
+264 QMdiArea::resizeEvent
+272 QWidget::closeEvent
+280 QAbstractScrollArea::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QAbstractScrollArea::dragEnterEvent
+312 QAbstractScrollArea::dragMoveEvent
+320 QAbstractScrollArea::dragLeaveEvent
+328 QAbstractScrollArea::dropEvent
+336 QMdiArea::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QFrame::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QMdiArea::viewportEvent
+456 QMdiArea::scrollContentsBy
+464 (int (*)(...))-0x00000000000000010
+472 (int (*)(...))(& _ZTI8QMdiArea)
+480 QMdiArea::_ZThn16_N8QMdiAreaD1Ev
+488 QMdiArea::_ZThn16_N8QMdiAreaD0Ev
+496 QWidget::_ZThn16_NK7QWidget7devTypeEv
+504 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+512 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QMdiArea
+ size=40 align=8
+ base size=40 base align=8
+QMdiArea (0x7f2f38fa1540) 0
+ vptr=((& QMdiArea::_ZTV8QMdiArea) + 16u)
+ QAbstractScrollArea (0x7f2f38fa15b0) 0
+ primary-for QMdiArea (0x7f2f38fa1540)
+ QFrame (0x7f2f38fa1620) 0
+ primary-for QAbstractScrollArea (0x7f2f38fa15b0)
+ QWidget (0x7f2f38f49c00) 0
+ primary-for QFrame (0x7f2f38fa1620)
+ QObject (0x7f2f38fa1690) 0
+ primary-for QWidget (0x7f2f38f49c00)
+ QPaintDevice (0x7f2f38fa1700) 16
+ vptr=((& QMdiArea::_ZTV8QMdiArea) + 480u)
+
+Vtable for QMdiSubWindow
+QMdiSubWindow::_ZTV13QMdiSubWindow: 63u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QMdiSubWindow)
+16 QMdiSubWindow::metaObject
+24 QMdiSubWindow::qt_metacast
+32 QMdiSubWindow::qt_metacall
+40 QMdiSubWindow::~QMdiSubWindow
+48 QMdiSubWindow::~QMdiSubWindow
+56 QMdiSubWindow::event
+64 QMdiSubWindow::eventFilter
+72 QMdiSubWindow::timerEvent
+80 QMdiSubWindow::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QMdiSubWindow::sizeHint
+136 QMdiSubWindow::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QMdiSubWindow::mousePressEvent
+168 QMdiSubWindow::mouseReleaseEvent
+176 QMdiSubWindow::mouseDoubleClickEvent
+184 QMdiSubWindow::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QMdiSubWindow::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QMdiSubWindow::focusInEvent
+224 QMdiSubWindow::focusOutEvent
+232 QWidget::enterEvent
+240 QMdiSubWindow::leaveEvent
+248 QMdiSubWindow::paintEvent
+256 QMdiSubWindow::moveEvent
+264 QMdiSubWindow::resizeEvent
+272 QMdiSubWindow::closeEvent
+280 QMdiSubWindow::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QMdiSubWindow::showEvent
+344 QMdiSubWindow::hideEvent
+352 QWidget::x11Event
+360 QMdiSubWindow::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 (int (*)(...))-0x00000000000000010
+456 (int (*)(...))(& _ZTI13QMdiSubWindow)
+464 QMdiSubWindow::_ZThn16_N13QMdiSubWindowD1Ev
+472 QMdiSubWindow::_ZThn16_N13QMdiSubWindowD0Ev
+480 QWidget::_ZThn16_NK7QWidget7devTypeEv
+488 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+496 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QMdiSubWindow
+ size=40 align=8
+ base size=40 base align=8
+QMdiSubWindow (0x7f2f38ffaa80) 0
+ vptr=((& QMdiSubWindow::_ZTV13QMdiSubWindow) + 16u)
+ QWidget (0x7f2f38fabf00) 0
+ primary-for QMdiSubWindow (0x7f2f38ffaa80)
+ QObject (0x7f2f38ffaaf0) 0
+ primary-for QWidget (0x7f2f38fabf00)
+ QPaintDevice (0x7f2f38ffab60) 16
+ vptr=((& QMdiSubWindow::_ZTV13QMdiSubWindow) + 464u)
+
+Vtable for QMenu
+QMenu::_ZTV5QMenu: 63u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI5QMenu)
+16 QMenu::metaObject
+24 QMenu::qt_metacast
+32 QMenu::qt_metacall
+40 QMenu::~QMenu
+48 QMenu::~QMenu
+56 QMenu::event
+64 QObject::eventFilter
+72 QMenu::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QMenu::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QMenu::mousePressEvent
+168 QMenu::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QMenu::mouseMoveEvent
+192 QMenu::wheelEvent
+200 QMenu::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QMenu::enterEvent
+240 QMenu::leaveEvent
+248 QMenu::paintEvent
+256 QWidget::moveEvent
+264 QWidget::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QMenu::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QMenu::hideEvent
+352 QWidget::x11Event
+360 QMenu::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QMenu::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 (int (*)(...))-0x00000000000000010
+456 (int (*)(...))(& _ZTI5QMenu)
+464 QMenu::_ZThn16_N5QMenuD1Ev
+472 QMenu::_ZThn16_N5QMenuD0Ev
+480 QWidget::_ZThn16_NK7QWidget7devTypeEv
+488 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+496 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QMenu
+ size=40 align=8
+ base size=40 base align=8
+QMenu (0x7f2f38e73930) 0
+ vptr=((& QMenu::_ZTV5QMenu) + 16u)
+ QWidget (0x7f2f38e95100) 0
+ primary-for QMenu (0x7f2f38e73930)
+ QObject (0x7f2f38e739a0) 0
+ primary-for QWidget (0x7f2f38e95100)
+ QPaintDevice (0x7f2f38e73a10) 16
+ vptr=((& QMenu::_ZTV5QMenu) + 464u)
+
+Vtable for QMenuBar
+QMenuBar::_ZTV8QMenuBar: 63u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI8QMenuBar)
+16 QMenuBar::metaObject
+24 QMenuBar::qt_metacast
+32 QMenuBar::qt_metacall
+40 QMenuBar::~QMenuBar
+48 QMenuBar::~QMenuBar
+56 QMenuBar::event
+64 QMenuBar::eventFilter
+72 QMenuBar::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QMenuBar::setVisible
+128 QMenuBar::sizeHint
+136 QMenuBar::minimumSizeHint
+144 QMenuBar::heightForWidth
+152 QWidget::paintEngine
+160 QMenuBar::mousePressEvent
+168 QMenuBar::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QMenuBar::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QMenuBar::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QMenuBar::focusInEvent
+224 QMenuBar::focusOutEvent
+232 QWidget::enterEvent
+240 QMenuBar::leaveEvent
+248 QMenuBar::paintEvent
+256 QWidget::moveEvent
+264 QMenuBar::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QMenuBar::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QMenuBar::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 (int (*)(...))-0x00000000000000010
+456 (int (*)(...))(& _ZTI8QMenuBar)
+464 QMenuBar::_ZThn16_N8QMenuBarD1Ev
+472 QMenuBar::_ZThn16_N8QMenuBarD0Ev
+480 QWidget::_ZThn16_NK7QWidget7devTypeEv
+488 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+496 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QMenuBar
+ size=40 align=8
+ base size=40 base align=8
+QMenuBar (0x7f2f38d3a770) 0
+ vptr=((& QMenuBar::_ZTV8QMenuBar) + 16u)
+ QWidget (0x7f2f38f39980) 0
+ primary-for QMenuBar (0x7f2f38d3a770)
+ QObject (0x7f2f38d3a7e0) 0
+ primary-for QWidget (0x7f2f38f39980)
+ QPaintDevice (0x7f2f38d3a850) 16
+ vptr=((& QMenuBar::_ZTV8QMenuBar) + 464u)
+
+Vtable for QMenuItem
+QMenuItem::_ZTV9QMenuItem: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QMenuItem)
+16 QMenuItem::metaObject
+24 QMenuItem::qt_metacast
+32 QMenuItem::qt_metacall
+40 QMenuItem::~QMenuItem
+48 QMenuItem::~QMenuItem
+56 QAction::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QMenuItem
+ size=16 align=8
+ base size=16 base align=8
+QMenuItem (0x7f2f38ddb4d0) 0
+ vptr=((& QMenuItem::_ZTV9QMenuItem) + 16u)
+ QAction (0x7f2f38ddb540) 0
+ primary-for QMenuItem (0x7f2f38ddb4d0)
+ QObject (0x7f2f38ddb5b0) 0
+ primary-for QAction (0x7f2f38ddb540)
+
+Class QTextEdit::ExtraSelection
+ size=24 align=8
+ base size=24 base align=8
+QTextEdit::ExtraSelection (0x7f2f38dfc700) 0
+
+Vtable for QTextEdit
+QTextEdit::_ZTV9QTextEdit: 69u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QTextEdit)
+16 QTextEdit::metaObject
+24 QTextEdit::qt_metacast
+32 QTextEdit::qt_metacall
+40 QTextEdit::~QTextEdit
+48 QTextEdit::~QTextEdit
+56 QTextEdit::event
+64 QObject::eventFilter
+72 QTextEdit::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QAbstractScrollArea::sizeHint
+136 QAbstractScrollArea::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QTextEdit::mousePressEvent
+168 QTextEdit::mouseReleaseEvent
+176 QTextEdit::mouseDoubleClickEvent
+184 QTextEdit::mouseMoveEvent
+192 QTextEdit::wheelEvent
+200 QTextEdit::keyPressEvent
+208 QTextEdit::keyReleaseEvent
+216 QTextEdit::focusInEvent
+224 QTextEdit::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QTextEdit::paintEvent
+256 QWidget::moveEvent
+264 QTextEdit::resizeEvent
+272 QWidget::closeEvent
+280 QTextEdit::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QTextEdit::dragEnterEvent
+312 QTextEdit::dragMoveEvent
+320 QTextEdit::dragLeaveEvent
+328 QTextEdit::dropEvent
+336 QTextEdit::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QTextEdit::changeEvent
+368 QWidget::metric
+376 QTextEdit::inputMethodEvent
+384 QTextEdit::inputMethodQuery
+392 QTextEdit::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QAbstractScrollArea::viewportEvent
+456 QTextEdit::scrollContentsBy
+464 QTextEdit::loadResource
+472 QTextEdit::createMimeDataFromSelection
+480 QTextEdit::canInsertFromMimeData
+488 QTextEdit::insertFromMimeData
+496 (int (*)(...))-0x00000000000000010
+504 (int (*)(...))(& _ZTI9QTextEdit)
+512 QTextEdit::_ZThn16_N9QTextEditD1Ev
+520 QTextEdit::_ZThn16_N9QTextEditD0Ev
+528 QWidget::_ZThn16_NK7QWidget7devTypeEv
+536 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+544 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QTextEdit
+ size=40 align=8
+ base size=40 base align=8
+QTextEdit (0x7f2f38dec770) 0
+ vptr=((& QTextEdit::_ZTV9QTextEdit) + 16u)
+ QAbstractScrollArea (0x7f2f38dec7e0) 0
+ primary-for QTextEdit (0x7f2f38dec770)
+ QFrame (0x7f2f38dec850) 0
+ primary-for QAbstractScrollArea (0x7f2f38dec7e0)
+ QWidget (0x7f2f38dd9b00) 0
+ primary-for QFrame (0x7f2f38dec850)
+ QObject (0x7f2f38dec8c0) 0
+ primary-for QWidget (0x7f2f38dd9b00)
+ QPaintDevice (0x7f2f38dec930) 16
+ vptr=((& QTextEdit::_ZTV9QTextEdit) + 512u)
+
+Vtable for QPlainTextEdit
+QPlainTextEdit::_ZTV14QPlainTextEdit: 69u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QPlainTextEdit)
+16 QPlainTextEdit::metaObject
+24 QPlainTextEdit::qt_metacast
+32 QPlainTextEdit::qt_metacall
+40 QPlainTextEdit::~QPlainTextEdit
+48 QPlainTextEdit::~QPlainTextEdit
+56 QPlainTextEdit::event
+64 QObject::eventFilter
+72 QPlainTextEdit::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QAbstractScrollArea::sizeHint
+136 QAbstractScrollArea::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QPlainTextEdit::mousePressEvent
+168 QPlainTextEdit::mouseReleaseEvent
+176 QPlainTextEdit::mouseDoubleClickEvent
+184 QPlainTextEdit::mouseMoveEvent
+192 QPlainTextEdit::wheelEvent
+200 QPlainTextEdit::keyPressEvent
+208 QPlainTextEdit::keyReleaseEvent
+216 QPlainTextEdit::focusInEvent
+224 QPlainTextEdit::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QPlainTextEdit::paintEvent
+256 QWidget::moveEvent
+264 QPlainTextEdit::resizeEvent
+272 QWidget::closeEvent
+280 QPlainTextEdit::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QPlainTextEdit::dragEnterEvent
+312 QPlainTextEdit::dragMoveEvent
+320 QPlainTextEdit::dragLeaveEvent
+328 QPlainTextEdit::dropEvent
+336 QPlainTextEdit::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QPlainTextEdit::changeEvent
+368 QWidget::metric
+376 QPlainTextEdit::inputMethodEvent
+384 QPlainTextEdit::inputMethodQuery
+392 QPlainTextEdit::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QAbstractScrollArea::viewportEvent
+456 QPlainTextEdit::scrollContentsBy
+464 QPlainTextEdit::loadResource
+472 QPlainTextEdit::createMimeDataFromSelection
+480 QPlainTextEdit::canInsertFromMimeData
+488 QPlainTextEdit::insertFromMimeData
+496 (int (*)(...))-0x00000000000000010
+504 (int (*)(...))(& _ZTI14QPlainTextEdit)
+512 QPlainTextEdit::_ZThn16_N14QPlainTextEditD1Ev
+520 QPlainTextEdit::_ZThn16_N14QPlainTextEditD0Ev
+528 QWidget::_ZThn16_NK7QWidget7devTypeEv
+536 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+544 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QPlainTextEdit
+ size=40 align=8
+ base size=40 base align=8
+QPlainTextEdit (0x7f2f38c938c0) 0
+ vptr=((& QPlainTextEdit::_ZTV14QPlainTextEdit) + 16u)
+ QAbstractScrollArea (0x7f2f38c93930) 0
+ primary-for QPlainTextEdit (0x7f2f38c938c0)
+ QFrame (0x7f2f38c939a0) 0
+ primary-for QAbstractScrollArea (0x7f2f38c93930)
+ QWidget (0x7f2f38c92400) 0
+ primary-for QFrame (0x7f2f38c939a0)
+ QObject (0x7f2f38c93a10) 0
+ primary-for QWidget (0x7f2f38c92400)
+ QPaintDevice (0x7f2f38c93a80) 16
+ vptr=((& QPlainTextEdit::_ZTV14QPlainTextEdit) + 512u)
+
+Vtable for QPlainTextDocumentLayout
+QPlainTextDocumentLayout::_ZTV24QPlainTextDocumentLayout: 24u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI24QPlainTextDocumentLayout)
+16 QPlainTextDocumentLayout::metaObject
+24 QPlainTextDocumentLayout::qt_metacast
+32 QPlainTextDocumentLayout::qt_metacall
+40 QPlainTextDocumentLayout::~QPlainTextDocumentLayout
+48 QPlainTextDocumentLayout::~QPlainTextDocumentLayout
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QPlainTextDocumentLayout::draw
+120 QPlainTextDocumentLayout::hitTest
+128 QPlainTextDocumentLayout::pageCount
+136 QPlainTextDocumentLayout::documentSize
+144 QPlainTextDocumentLayout::frameBoundingRect
+152 QPlainTextDocumentLayout::blockBoundingRect
+160 QPlainTextDocumentLayout::documentChanged
+168 QAbstractTextDocumentLayout::resizeInlineObject
+176 QAbstractTextDocumentLayout::positionInlineObject
+184 QAbstractTextDocumentLayout::drawInlineObject
+
+Class QPlainTextDocumentLayout
+ size=16 align=8
+ base size=16 base align=8
+QPlainTextDocumentLayout (0x7f2f38cf6690) 0
+ vptr=((& QPlainTextDocumentLayout::_ZTV24QPlainTextDocumentLayout) + 16u)
+ QAbstractTextDocumentLayout (0x7f2f38cf6700) 0
+ primary-for QPlainTextDocumentLayout (0x7f2f38cf6690)
+ QObject (0x7f2f38cf6770) 0
+ primary-for QAbstractTextDocumentLayout (0x7f2f38cf6700)
+
+Vtable for QPrintPreviewWidget
+QPrintPreviewWidget::_ZTV19QPrintPreviewWidget: 63u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QPrintPreviewWidget)
+16 QPrintPreviewWidget::metaObject
+24 QPrintPreviewWidget::qt_metacast
+32 QPrintPreviewWidget::qt_metacall
+40 QPrintPreviewWidget::~QPrintPreviewWidget
+48 QPrintPreviewWidget::~QPrintPreviewWidget
+56 QWidget::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QPrintPreviewWidget::setVisible
+128 QWidget::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QWidget::paintEvent
+256 QWidget::moveEvent
+264 QWidget::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QWidget::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 (int (*)(...))-0x00000000000000010
+456 (int (*)(...))(& _ZTI19QPrintPreviewWidget)
+464 QPrintPreviewWidget::_ZThn16_N19QPrintPreviewWidgetD1Ev
+472 QPrintPreviewWidget::_ZThn16_N19QPrintPreviewWidgetD0Ev
+480 QWidget::_ZThn16_NK7QWidget7devTypeEv
+488 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+496 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QPrintPreviewWidget
+ size=48 align=8
+ base size=48 base align=8
+QPrintPreviewWidget (0x7f2f38d0bb60) 0
+ vptr=((& QPrintPreviewWidget::_ZTV19QPrintPreviewWidget) + 16u)
+ QWidget (0x7f2f38d09600) 0
+ primary-for QPrintPreviewWidget (0x7f2f38d0bb60)
+ QObject (0x7f2f38d0bbd0) 0
+ primary-for QWidget (0x7f2f38d09600)
+ QPaintDevice (0x7f2f38d0bc40) 16
+ vptr=((& QPrintPreviewWidget::_ZTV19QPrintPreviewWidget) + 464u)
+
+Vtable for QProgressBar
+QProgressBar::_ZTV12QProgressBar: 64u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QProgressBar)
+16 QProgressBar::metaObject
+24 QProgressBar::qt_metacast
+32 QProgressBar::qt_metacall
+40 QProgressBar::~QProgressBar
+48 QProgressBar::~QProgressBar
+56 QProgressBar::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QProgressBar::sizeHint
+136 QProgressBar::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QProgressBar::paintEvent
+256 QWidget::moveEvent
+264 QWidget::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QWidget::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QProgressBar::text
+456 (int (*)(...))-0x00000000000000010
+464 (int (*)(...))(& _ZTI12QProgressBar)
+472 QProgressBar::_ZThn16_N12QProgressBarD1Ev
+480 QProgressBar::_ZThn16_N12QProgressBarD0Ev
+488 QWidget::_ZThn16_NK7QWidget7devTypeEv
+496 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+504 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QProgressBar
+ size=40 align=8
+ base size=40 base align=8
+QProgressBar (0x7f2f38d30700) 0
+ vptr=((& QProgressBar::_ZTV12QProgressBar) + 16u)
+ QWidget (0x7f2f38d32300) 0
+ primary-for QProgressBar (0x7f2f38d30700)
+ QObject (0x7f2f38d30770) 0
+ primary-for QWidget (0x7f2f38d32300)
+ QPaintDevice (0x7f2f38d307e0) 16
+ vptr=((& QProgressBar::_ZTV12QProgressBar) + 472u)
+
+Vtable for QRadioButton
+QRadioButton::_ZTV12QRadioButton: 66u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QRadioButton)
+16 QRadioButton::metaObject
+24 QRadioButton::qt_metacast
+32 QRadioButton::qt_metacall
+40 QRadioButton::~QRadioButton
+48 QRadioButton::~QRadioButton
+56 QRadioButton::event
+64 QObject::eventFilter
+72 QAbstractButton::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QRadioButton::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QAbstractButton::mousePressEvent
+168 QAbstractButton::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QRadioButton::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QAbstractButton::keyPressEvent
+208 QAbstractButton::keyReleaseEvent
+216 QAbstractButton::focusInEvent
+224 QAbstractButton::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QRadioButton::paintEvent
+256 QWidget::moveEvent
+264 QWidget::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QAbstractButton::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QRadioButton::hitButton
+456 QAbstractButton::checkStateSet
+464 QAbstractButton::nextCheckState
+472 (int (*)(...))-0x00000000000000010
+480 (int (*)(...))(& _ZTI12QRadioButton)
+488 QRadioButton::_ZThn16_N12QRadioButtonD1Ev
+496 QRadioButton::_ZThn16_N12QRadioButtonD0Ev
+504 QWidget::_ZThn16_NK7QWidget7devTypeEv
+512 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+520 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QRadioButton
+ size=40 align=8
+ base size=40 base align=8
+QRadioButton (0x7f2f38b52540) 0
+ vptr=((& QRadioButton::_ZTV12QRadioButton) + 16u)
+ QAbstractButton (0x7f2f38b525b0) 0
+ primary-for QRadioButton (0x7f2f38b52540)
+ QWidget (0x7f2f38d32e00) 0
+ primary-for QAbstractButton (0x7f2f38b525b0)
+ QObject (0x7f2f38b52620) 0
+ primary-for QWidget (0x7f2f38d32e00)
+ QPaintDevice (0x7f2f38b52690) 16
+ vptr=((& QRadioButton::_ZTV12QRadioButton) + 488u)
+
+Vtable for QScrollBar
+QScrollBar::_ZTV10QScrollBar: 64u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QScrollBar)
+16 QScrollBar::metaObject
+24 QScrollBar::qt_metacast
+32 QScrollBar::qt_metacall
+40 QScrollBar::~QScrollBar
+48 QScrollBar::~QScrollBar
+56 QScrollBar::event
+64 QObject::eventFilter
+72 QAbstractSlider::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QScrollBar::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QScrollBar::mousePressEvent
+168 QScrollBar::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QScrollBar::mouseMoveEvent
+192 QAbstractSlider::wheelEvent
+200 QAbstractSlider::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QScrollBar::paintEvent
+256 QWidget::moveEvent
+264 QWidget::resizeEvent
+272 QWidget::closeEvent
+280 QScrollBar::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QScrollBar::hideEvent
+352 QWidget::x11Event
+360 QAbstractSlider::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QScrollBar::sliderChange
+456 (int (*)(...))-0x00000000000000010
+464 (int (*)(...))(& _ZTI10QScrollBar)
+472 QScrollBar::_ZThn16_N10QScrollBarD1Ev
+480 QScrollBar::_ZThn16_N10QScrollBarD0Ev
+488 QWidget::_ZThn16_NK7QWidget7devTypeEv
+496 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+504 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QScrollBar
+ size=40 align=8
+ base size=40 base align=8
+QScrollBar (0x7f2f38b721c0) 0
+ vptr=((& QScrollBar::_ZTV10QScrollBar) + 16u)
+ QAbstractSlider (0x7f2f38b72230) 0
+ primary-for QScrollBar (0x7f2f38b721c0)
+ QWidget (0x7f2f38b68800) 0
+ primary-for QAbstractSlider (0x7f2f38b72230)
+ QObject (0x7f2f38b722a0) 0
+ primary-for QWidget (0x7f2f38b68800)
+ QPaintDevice (0x7f2f38b72310) 16
+ vptr=((& QScrollBar::_ZTV10QScrollBar) + 472u)
+
+Vtable for QSizeGrip
+QSizeGrip::_ZTV9QSizeGrip: 63u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QSizeGrip)
+16 QSizeGrip::metaObject
+24 QSizeGrip::qt_metacast
+32 QSizeGrip::qt_metacall
+40 QSizeGrip::~QSizeGrip
+48 QSizeGrip::~QSizeGrip
+56 QSizeGrip::event
+64 QSizeGrip::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QSizeGrip::setVisible
+128 QSizeGrip::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QSizeGrip::mousePressEvent
+168 QSizeGrip::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QSizeGrip::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QSizeGrip::paintEvent
+256 QSizeGrip::moveEvent
+264 QWidget::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QSizeGrip::showEvent
+344 QSizeGrip::hideEvent
+352 QWidget::x11Event
+360 QWidget::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 (int (*)(...))-0x00000000000000010
+456 (int (*)(...))(& _ZTI9QSizeGrip)
+464 QSizeGrip::_ZThn16_N9QSizeGripD1Ev
+472 QSizeGrip::_ZThn16_N9QSizeGripD0Ev
+480 QWidget::_ZThn16_NK7QWidget7devTypeEv
+488 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+496 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QSizeGrip
+ size=40 align=8
+ base size=40 base align=8
+QSizeGrip (0x7f2f38b93310) 0
+ vptr=((& QSizeGrip::_ZTV9QSizeGrip) + 16u)
+ QWidget (0x7f2f38b92380) 0
+ primary-for QSizeGrip (0x7f2f38b93310)
+ QObject (0x7f2f38b93380) 0
+ primary-for QWidget (0x7f2f38b92380)
+ QPaintDevice (0x7f2f38b933f0) 16
+ vptr=((& QSizeGrip::_ZTV9QSizeGrip) + 464u)
+
+Vtable for QSpinBox
+QSpinBox::_ZTV8QSpinBox: 70u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI8QSpinBox)
+16 QSpinBox::metaObject
+24 QSpinBox::qt_metacast
+32 QSpinBox::qt_metacall
+40 QSpinBox::~QSpinBox
+48 QSpinBox::~QSpinBox
+56 QSpinBox::event
+64 QObject::eventFilter
+72 QAbstractSpinBox::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QAbstractSpinBox::sizeHint
+136 QAbstractSpinBox::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QAbstractSpinBox::mousePressEvent
+168 QAbstractSpinBox::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QAbstractSpinBox::mouseMoveEvent
+192 QAbstractSpinBox::wheelEvent
+200 QAbstractSpinBox::keyPressEvent
+208 QAbstractSpinBox::keyReleaseEvent
+216 QAbstractSpinBox::focusInEvent
+224 QAbstractSpinBox::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QAbstractSpinBox::paintEvent
+256 QWidget::moveEvent
+264 QAbstractSpinBox::resizeEvent
+272 QAbstractSpinBox::closeEvent
+280 QAbstractSpinBox::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QAbstractSpinBox::showEvent
+344 QAbstractSpinBox::hideEvent
+352 QWidget::x11Event
+360 QAbstractSpinBox::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QAbstractSpinBox::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QSpinBox::validate
+456 QSpinBox::fixup
+464 QAbstractSpinBox::stepBy
+472 QAbstractSpinBox::clear
+480 QAbstractSpinBox::stepEnabled
+488 QSpinBox::valueFromText
+496 QSpinBox::textFromValue
+504 (int (*)(...))-0x00000000000000010
+512 (int (*)(...))(& _ZTI8QSpinBox)
+520 QSpinBox::_ZThn16_N8QSpinBoxD1Ev
+528 QSpinBox::_ZThn16_N8QSpinBoxD0Ev
+536 QWidget::_ZThn16_NK7QWidget7devTypeEv
+544 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+552 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QSpinBox
+ size=40 align=8
+ base size=40 base align=8
+QSpinBox (0x7f2f38baae00) 0
+ vptr=((& QSpinBox::_ZTV8QSpinBox) + 16u)
+ QAbstractSpinBox (0x7f2f38baae70) 0
+ primary-for QSpinBox (0x7f2f38baae00)
+ QWidget (0x7f2f38b92d80) 0
+ primary-for QAbstractSpinBox (0x7f2f38baae70)
+ QObject (0x7f2f38baaee0) 0
+ primary-for QWidget (0x7f2f38b92d80)
+ QPaintDevice (0x7f2f38baaf50) 16
+ vptr=((& QSpinBox::_ZTV8QSpinBox) + 520u)
+
+Vtable for QDoubleSpinBox
+QDoubleSpinBox::_ZTV14QDoubleSpinBox: 70u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QDoubleSpinBox)
+16 QDoubleSpinBox::metaObject
+24 QDoubleSpinBox::qt_metacast
+32 QDoubleSpinBox::qt_metacall
+40 QDoubleSpinBox::~QDoubleSpinBox
+48 QDoubleSpinBox::~QDoubleSpinBox
+56 QAbstractSpinBox::event
+64 QObject::eventFilter
+72 QAbstractSpinBox::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QAbstractSpinBox::sizeHint
+136 QAbstractSpinBox::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QAbstractSpinBox::mousePressEvent
+168 QAbstractSpinBox::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QAbstractSpinBox::mouseMoveEvent
+192 QAbstractSpinBox::wheelEvent
+200 QAbstractSpinBox::keyPressEvent
+208 QAbstractSpinBox::keyReleaseEvent
+216 QAbstractSpinBox::focusInEvent
+224 QAbstractSpinBox::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QAbstractSpinBox::paintEvent
+256 QWidget::moveEvent
+264 QAbstractSpinBox::resizeEvent
+272 QAbstractSpinBox::closeEvent
+280 QAbstractSpinBox::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QAbstractSpinBox::showEvent
+344 QAbstractSpinBox::hideEvent
+352 QWidget::x11Event
+360 QAbstractSpinBox::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QAbstractSpinBox::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QDoubleSpinBox::validate
+456 QDoubleSpinBox::fixup
+464 QAbstractSpinBox::stepBy
+472 QAbstractSpinBox::clear
+480 QAbstractSpinBox::stepEnabled
+488 QDoubleSpinBox::valueFromText
+496 QDoubleSpinBox::textFromValue
+504 (int (*)(...))-0x00000000000000010
+512 (int (*)(...))(& _ZTI14QDoubleSpinBox)
+520 QDoubleSpinBox::_ZThn16_N14QDoubleSpinBoxD1Ev
+528 QDoubleSpinBox::_ZThn16_N14QDoubleSpinBoxD0Ev
+536 QWidget::_ZThn16_NK7QWidget7devTypeEv
+544 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+552 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QDoubleSpinBox
+ size=40 align=8
+ base size=40 base align=8
+QDoubleSpinBox (0x7f2f38bd4770) 0
+ vptr=((& QDoubleSpinBox::_ZTV14QDoubleSpinBox) + 16u)
+ QAbstractSpinBox (0x7f2f38bd47e0) 0
+ primary-for QDoubleSpinBox (0x7f2f38bd4770)
+ QWidget (0x7f2f38bcaf00) 0
+ primary-for QAbstractSpinBox (0x7f2f38bd47e0)
+ QObject (0x7f2f38bd4850) 0
+ primary-for QWidget (0x7f2f38bcaf00)
+ QPaintDevice (0x7f2f38bd48c0) 16
+ vptr=((& QDoubleSpinBox::_ZTV14QDoubleSpinBox) + 520u)
+
+Vtable for QSplashScreen
+QSplashScreen::_ZTV13QSplashScreen: 64u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QSplashScreen)
+16 QSplashScreen::metaObject
+24 QSplashScreen::qt_metacast
+32 QSplashScreen::qt_metacall
+40 QSplashScreen::~QSplashScreen
+48 QSplashScreen::~QSplashScreen
+56 QSplashScreen::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QWidget::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QSplashScreen::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QWidget::paintEvent
+256 QWidget::moveEvent
+264 QWidget::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QWidget::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QSplashScreen::drawContents
+456 (int (*)(...))-0x00000000000000010
+464 (int (*)(...))(& _ZTI13QSplashScreen)
+472 QSplashScreen::_ZThn16_N13QSplashScreenD1Ev
+480 QSplashScreen::_ZThn16_N13QSplashScreenD0Ev
+488 QWidget::_ZThn16_NK7QWidget7devTypeEv
+496 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+504 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QSplashScreen
+ size=40 align=8
+ base size=40 base align=8
+QSplashScreen (0x7f2f38bf6230) 0
+ vptr=((& QSplashScreen::_ZTV13QSplashScreen) + 16u)
+ QWidget (0x7f2f38bd7900) 0
+ primary-for QSplashScreen (0x7f2f38bf6230)
+ QObject (0x7f2f38bf62a0) 0
+ primary-for QWidget (0x7f2f38bd7900)
+ QPaintDevice (0x7f2f38bf6310) 16
+ vptr=((& QSplashScreen::_ZTV13QSplashScreen) + 472u)
+
+Vtable for QSplitter
+QSplitter::_ZTV9QSplitter: 64u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QSplitter)
+16 QSplitter::metaObject
+24 QSplitter::qt_metacast
+32 QSplitter::qt_metacall
+40 QSplitter::~QSplitter
+48 QSplitter::~QSplitter
+56 QSplitter::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QSplitter::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QSplitter::sizeHint
+136 QSplitter::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QFrame::paintEvent
+256 QWidget::moveEvent
+264 QSplitter::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QSplitter::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QSplitter::createHandle
+456 (int (*)(...))-0x00000000000000010
+464 (int (*)(...))(& _ZTI9QSplitter)
+472 QSplitter::_ZThn16_N9QSplitterD1Ev
+480 QSplitter::_ZThn16_N9QSplitterD0Ev
+488 QWidget::_ZThn16_NK7QWidget7devTypeEv
+496 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+504 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QSplitter
+ size=40 align=8
+ base size=40 base align=8
+QSplitter (0x7f2f38c17310) 0
+ vptr=((& QSplitter::_ZTV9QSplitter) + 16u)
+ QFrame (0x7f2f38c17380) 0
+ primary-for QSplitter (0x7f2f38c17310)
+ QWidget (0x7f2f38c14580) 0
+ primary-for QFrame (0x7f2f38c17380)
+ QObject (0x7f2f38c173f0) 0
+ primary-for QWidget (0x7f2f38c14580)
+ QPaintDevice (0x7f2f38c17460) 16
+ vptr=((& QSplitter::_ZTV9QSplitter) + 472u)
+
+Vtable for QSplitterHandle
+QSplitterHandle::_ZTV15QSplitterHandle: 63u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QSplitterHandle)
+16 QSplitterHandle::metaObject
+24 QSplitterHandle::qt_metacast
+32 QSplitterHandle::qt_metacall
+40 QSplitterHandle::~QSplitterHandle
+48 QSplitterHandle::~QSplitterHandle
+56 QSplitterHandle::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QSplitterHandle::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QSplitterHandle::mousePressEvent
+168 QSplitterHandle::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QSplitterHandle::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QSplitterHandle::paintEvent
+256 QWidget::moveEvent
+264 QWidget::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QWidget::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 (int (*)(...))-0x00000000000000010
+456 (int (*)(...))(& _ZTI15QSplitterHandle)
+464 QSplitterHandle::_ZThn16_N15QSplitterHandleD1Ev
+472 QSplitterHandle::_ZThn16_N15QSplitterHandleD0Ev
+480 QWidget::_ZThn16_NK7QWidget7devTypeEv
+488 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+496 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QSplitterHandle
+ size=40 align=8
+ base size=40 base align=8
+QSplitterHandle (0x7f2f38a44230) 0
+ vptr=((& QSplitterHandle::_ZTV15QSplitterHandle) + 16u)
+ QWidget (0x7f2f38a41780) 0
+ primary-for QSplitterHandle (0x7f2f38a44230)
+ QObject (0x7f2f38a442a0) 0
+ primary-for QWidget (0x7f2f38a41780)
+ QPaintDevice (0x7f2f38a44310) 16
+ vptr=((& QSplitterHandle::_ZTV15QSplitterHandle) + 464u)
+
+Vtable for QStackedWidget
+QStackedWidget::_ZTV14QStackedWidget: 63u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QStackedWidget)
+16 QStackedWidget::metaObject
+24 QStackedWidget::qt_metacast
+32 QStackedWidget::qt_metacall
+40 QStackedWidget::~QStackedWidget
+48 QStackedWidget::~QStackedWidget
+56 QStackedWidget::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QFrame::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QFrame::paintEvent
+256 QWidget::moveEvent
+264 QWidget::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QFrame::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 (int (*)(...))-0x00000000000000010
+456 (int (*)(...))(& _ZTI14QStackedWidget)
+464 QStackedWidget::_ZThn16_N14QStackedWidgetD1Ev
+472 QStackedWidget::_ZThn16_N14QStackedWidgetD0Ev
+480 QWidget::_ZThn16_NK7QWidget7devTypeEv
+488 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+496 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QStackedWidget
+ size=40 align=8
+ base size=40 base align=8
+QStackedWidget (0x7f2f38a5ea10) 0
+ vptr=((& QStackedWidget::_ZTV14QStackedWidget) + 16u)
+ QFrame (0x7f2f38a5ea80) 0
+ primary-for QStackedWidget (0x7f2f38a5ea10)
+ QWidget (0x7f2f38a61180) 0
+ primary-for QFrame (0x7f2f38a5ea80)
+ QObject (0x7f2f38a5eaf0) 0
+ primary-for QWidget (0x7f2f38a61180)
+ QPaintDevice (0x7f2f38a5eb60) 16
+ vptr=((& QStackedWidget::_ZTV14QStackedWidget) + 464u)
+
+Vtable for QStatusBar
+QStatusBar::_ZTV10QStatusBar: 63u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QStatusBar)
+16 QStatusBar::metaObject
+24 QStatusBar::qt_metacast
+32 QStatusBar::qt_metacall
+40 QStatusBar::~QStatusBar
+48 QStatusBar::~QStatusBar
+56 QStatusBar::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QWidget::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QStatusBar::paintEvent
+256 QWidget::moveEvent
+264 QStatusBar::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QStatusBar::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QWidget::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 (int (*)(...))-0x00000000000000010
+456 (int (*)(...))(& _ZTI10QStatusBar)
+464 QStatusBar::_ZThn16_N10QStatusBarD1Ev
+472 QStatusBar::_ZThn16_N10QStatusBarD0Ev
+480 QWidget::_ZThn16_NK7QWidget7devTypeEv
+488 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+496 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QStatusBar
+ size=40 align=8
+ base size=40 base align=8
+QStatusBar (0x7f2f38a7a8c0) 0
+ vptr=((& QStatusBar::_ZTV10QStatusBar) + 16u)
+ QWidget (0x7f2f38a61b80) 0
+ primary-for QStatusBar (0x7f2f38a7a8c0)
+ QObject (0x7f2f38a7a930) 0
+ primary-for QWidget (0x7f2f38a61b80)
+ QPaintDevice (0x7f2f38a7a9a0) 16
+ vptr=((& QStatusBar::_ZTV10QStatusBar) + 464u)
+
+Vtable for QTextBrowser
+QTextBrowser::_ZTV12QTextBrowser: 74u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QTextBrowser)
+16 QTextBrowser::metaObject
+24 QTextBrowser::qt_metacast
+32 QTextBrowser::qt_metacall
+40 QTextBrowser::~QTextBrowser
+48 QTextBrowser::~QTextBrowser
+56 QTextBrowser::event
+64 QObject::eventFilter
+72 QTextEdit::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QAbstractScrollArea::sizeHint
+136 QAbstractScrollArea::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QTextBrowser::mousePressEvent
+168 QTextBrowser::mouseReleaseEvent
+176 QTextEdit::mouseDoubleClickEvent
+184 QTextBrowser::mouseMoveEvent
+192 QTextEdit::wheelEvent
+200 QTextBrowser::keyPressEvent
+208 QTextEdit::keyReleaseEvent
+216 QTextEdit::focusInEvent
+224 QTextBrowser::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QTextBrowser::paintEvent
+256 QWidget::moveEvent
+264 QTextEdit::resizeEvent
+272 QWidget::closeEvent
+280 QTextEdit::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QTextEdit::dragEnterEvent
+312 QTextEdit::dragMoveEvent
+320 QTextEdit::dragLeaveEvent
+328 QTextEdit::dropEvent
+336 QTextEdit::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QTextEdit::changeEvent
+368 QWidget::metric
+376 QTextEdit::inputMethodEvent
+384 QTextEdit::inputMethodQuery
+392 QTextBrowser::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QAbstractScrollArea::viewportEvent
+456 QTextEdit::scrollContentsBy
+464 QTextBrowser::loadResource
+472 QTextEdit::createMimeDataFromSelection
+480 QTextEdit::canInsertFromMimeData
+488 QTextEdit::insertFromMimeData
+496 QTextBrowser::setSource
+504 QTextBrowser::backward
+512 QTextBrowser::forward
+520 QTextBrowser::home
+528 QTextBrowser::reload
+536 (int (*)(...))-0x00000000000000010
+544 (int (*)(...))(& _ZTI12QTextBrowser)
+552 QTextBrowser::_ZThn16_N12QTextBrowserD1Ev
+560 QTextBrowser::_ZThn16_N12QTextBrowserD0Ev
+568 QWidget::_ZThn16_NK7QWidget7devTypeEv
+576 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+584 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QTextBrowser
+ size=40 align=8
+ base size=40 base align=8
+QTextBrowser (0x7f2f38a9de00) 0
+ vptr=((& QTextBrowser::_ZTV12QTextBrowser) + 16u)
+ QTextEdit (0x7f2f38a9de70) 0
+ primary-for QTextBrowser (0x7f2f38a9de00)
+ QAbstractScrollArea (0x7f2f38a9dee0) 0
+ primary-for QTextEdit (0x7f2f38a9de70)
+ QFrame (0x7f2f38a9df50) 0
+ primary-for QAbstractScrollArea (0x7f2f38a9dee0)
+ QWidget (0x7f2f38a97b80) 0
+ primary-for QFrame (0x7f2f38a9df50)
+ QObject (0x7f2f38aa3000) 0
+ primary-for QWidget (0x7f2f38a97b80)
+ QPaintDevice (0x7f2f38aa3070) 16
+ vptr=((& QTextBrowser::_ZTV12QTextBrowser) + 552u)
+
+Vtable for QToolBar
+QToolBar::_ZTV8QToolBar: 63u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI8QToolBar)
+16 QToolBar::metaObject
+24 QToolBar::qt_metacast
+32 QToolBar::qt_metacall
+40 QToolBar::~QToolBar
+48 QToolBar::~QToolBar
+56 QToolBar::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QToolBar::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QWidget::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QToolBar::paintEvent
+256 QWidget::moveEvent
+264 QToolBar::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QToolBar::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QToolBar::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 (int (*)(...))-0x00000000000000010
+456 (int (*)(...))(& _ZTI8QToolBar)
+464 QToolBar::_ZThn16_N8QToolBarD1Ev
+472 QToolBar::_ZThn16_N8QToolBarD0Ev
+480 QWidget::_ZThn16_NK7QWidget7devTypeEv
+488 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+496 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QToolBar
+ size=40 align=8
+ base size=40 base align=8
+QToolBar (0x7f2f38ac1a10) 0
+ vptr=((& QToolBar::_ZTV8QToolBar) + 16u)
+ QWidget (0x7f2f38abd580) 0
+ primary-for QToolBar (0x7f2f38ac1a10)
+ QObject (0x7f2f38ac1a80) 0
+ primary-for QWidget (0x7f2f38abd580)
+ QPaintDevice (0x7f2f38ac1af0) 16
+ vptr=((& QToolBar::_ZTV8QToolBar) + 464u)
+
+Vtable for QToolBox
+QToolBox::_ZTV8QToolBox: 65u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI8QToolBox)
+16 QToolBox::metaObject
+24 QToolBox::qt_metacast
+32 QToolBox::qt_metacall
+40 QToolBox::~QToolBox
+48 QToolBox::~QToolBox
+56 QToolBox::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QFrame::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QFrame::paintEvent
+256 QWidget::moveEvent
+264 QWidget::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QToolBox::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QToolBox::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QToolBox::itemInserted
+456 QToolBox::itemRemoved
+464 (int (*)(...))-0x00000000000000010
+472 (int (*)(...))(& _ZTI8QToolBox)
+480 QToolBox::_ZThn16_N8QToolBoxD1Ev
+488 QToolBox::_ZThn16_N8QToolBoxD0Ev
+496 QWidget::_ZThn16_NK7QWidget7devTypeEv
+504 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+512 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QToolBox
+ size=40 align=8
+ base size=40 base align=8
+QToolBox (0x7f2f38afc850) 0
+ vptr=((& QToolBox::_ZTV8QToolBox) + 16u)
+ QFrame (0x7f2f38afc8c0) 0
+ primary-for QToolBox (0x7f2f38afc850)
+ QWidget (0x7f2f38afa680) 0
+ primary-for QFrame (0x7f2f38afc8c0)
+ QObject (0x7f2f38afc930) 0
+ primary-for QWidget (0x7f2f38afa680)
+ QPaintDevice (0x7f2f38afc9a0) 16
+ vptr=((& QToolBox::_ZTV8QToolBox) + 480u)
+
+Vtable for QToolButton
+QToolButton::_ZTV11QToolButton: 66u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QToolButton)
+16 QToolButton::metaObject
+24 QToolButton::qt_metacast
+32 QToolButton::qt_metacall
+40 QToolButton::~QToolButton
+48 QToolButton::~QToolButton
+56 QToolButton::event
+64 QObject::eventFilter
+72 QToolButton::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QToolButton::sizeHint
+136 QToolButton::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QToolButton::mousePressEvent
+168 QToolButton::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QAbstractButton::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QAbstractButton::keyPressEvent
+208 QAbstractButton::keyReleaseEvent
+216 QAbstractButton::focusInEvent
+224 QAbstractButton::focusOutEvent
+232 QToolButton::enterEvent
+240 QToolButton::leaveEvent
+248 QToolButton::paintEvent
+256 QWidget::moveEvent
+264 QWidget::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QToolButton::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QToolButton::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QToolButton::hitButton
+456 QAbstractButton::checkStateSet
+464 QToolButton::nextCheckState
+472 (int (*)(...))-0x00000000000000010
+480 (int (*)(...))(& _ZTI11QToolButton)
+488 QToolButton::_ZThn16_N11QToolButtonD1Ev
+496 QToolButton::_ZThn16_N11QToolButtonD0Ev
+504 QWidget::_ZThn16_NK7QWidget7devTypeEv
+512 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+520 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QToolButton
+ size=40 align=8
+ base size=40 base align=8
+QToolButton (0x7f2f38936310) 0
+ vptr=((& QToolButton::_ZTV11QToolButton) + 16u)
+ QAbstractButton (0x7f2f38936380) 0
+ primary-for QToolButton (0x7f2f38936310)
+ QWidget (0x7f2f38b33400) 0
+ primary-for QAbstractButton (0x7f2f38936380)
+ QObject (0x7f2f389363f0) 0
+ primary-for QWidget (0x7f2f38b33400)
+ QPaintDevice (0x7f2f38936460) 16
+ vptr=((& QToolButton::_ZTV11QToolButton) + 488u)
+
+Vtable for QWorkspace
+QWorkspace::_ZTV10QWorkspace: 63u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QWorkspace)
+16 QWorkspace::metaObject
+24 QWorkspace::qt_metacast
+32 QWorkspace::qt_metacall
+40 QWorkspace::~QWorkspace
+48 QWorkspace::~QWorkspace
+56 QWorkspace::event
+64 QWorkspace::eventFilter
+72 QObject::timerEvent
+80 QWorkspace::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QWorkspace::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWorkspace::wheelEvent
+200 QWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QWorkspace::paintEvent
+256 QWidget::moveEvent
+264 QWorkspace::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWorkspace::showEvent
+344 QWorkspace::hideEvent
+352 QWidget::x11Event
+360 QWorkspace::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 (int (*)(...))-0x00000000000000010
+456 (int (*)(...))(& _ZTI10QWorkspace)
+464 QWorkspace::_ZThn16_N10QWorkspaceD1Ev
+472 QWorkspace::_ZThn16_N10QWorkspaceD0Ev
+480 QWidget::_ZThn16_NK7QWidget7devTypeEv
+488 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+496 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QWorkspace
+ size=40 align=8
+ base size=40 base align=8
+QWorkspace (0x7f2f3897a620) 0
+ vptr=((& QWorkspace::_ZTV10QWorkspace) + 16u)
+ QWidget (0x7f2f38980100) 0
+ primary-for QWorkspace (0x7f2f3897a620)
+ QObject (0x7f2f3897a690) 0
+ primary-for QWidget (0x7f2f38980100)
+ QPaintDevice (0x7f2f3897a700) 16
+ vptr=((& QWorkspace::_ZTV10QWorkspace) + 464u)
+
+Class QGLColormap::QGLColormapData
+ size=24 align=8
+ base size=24 base align=8
+QGLColormap::QGLColormapData (0x7f2f3899dc40) 0
+
+Class QGLColormap
+ size=8 align=8
+ base size=8 base align=8
+QGLColormap (0x7f2f3899d700) 0
+
+Class QGLFormat
+ size=8 align=8
+ base size=8 base align=8
+QGLFormat (0x7f2f384de620) 0
+
+Vtable for QGLContext
+QGLContext::_ZTV10QGLContext: 11u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QGLContext)
+16 QGLContext::~QGLContext
+24 QGLContext::~QGLContext
+32 QGLContext::create
+40 QGLContext::makeCurrent
+48 QGLContext::doneCurrent
+56 QGLContext::swapBuffers
+64 QGLContext::chooseContext
+72 QGLContext::tryVisual
+80 QGLContext::chooseVisual
+
+Class QGLContext
+ size=16 align=8
+ base size=16 base align=8
+QGLContext (0x7f2f383694d0) 0
+ vptr=((& QGLContext::_ZTV10QGLContext) + 16u)
+
+Vtable for QGLWidget
+QGLWidget::_ZTV9QGLWidget: 73u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QGLWidget)
+16 QGLWidget::metaObject
+24 QGLWidget::qt_metacast
+32 QGLWidget::qt_metacall
+40 QGLWidget::~QGLWidget
+48 QGLWidget::~QGLWidget
+56 QGLWidget::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QWidget::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QGLWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QGLWidget::paintEvent
+256 QWidget::moveEvent
+264 QGLWidget::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QWidget::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QGLWidget::updateGL
+456 QGLWidget::updateOverlayGL
+464 QGLWidget::initializeGL
+472 QGLWidget::resizeGL
+480 QGLWidget::paintGL
+488 QGLWidget::initializeOverlayGL
+496 QGLWidget::resizeOverlayGL
+504 QGLWidget::paintOverlayGL
+512 QGLWidget::glInit
+520 QGLWidget::glDraw
+528 (int (*)(...))-0x00000000000000010
+536 (int (*)(...))(& _ZTI9QGLWidget)
+544 QGLWidget::_ZThn16_N9QGLWidgetD1Ev
+552 QGLWidget::_ZThn16_N9QGLWidgetD0Ev
+560 QWidget::_ZThn16_NK7QWidget7devTypeEv
+568 QGLWidget::_ZThn16_NK9QGLWidget11paintEngineEv
+576 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QGLWidget
+ size=40 align=8
+ base size=40 base align=8
+QGLWidget (0x7f2f383becb0) 0
+ vptr=((& QGLWidget::_ZTV9QGLWidget) + 16u)
+ QWidget (0x7f2f383c1280) 0
+ primary-for QGLWidget (0x7f2f383becb0)
+ QObject (0x7f2f383bed20) 0
+ primary-for QWidget (0x7f2f383c1280)
+ QPaintDevice (0x7f2f383bed90) 16
+ vptr=((& QGLWidget::_ZTV9QGLWidget) + 544u)
+
+Vtable for QGLFramebufferObject
+QGLFramebufferObject::_ZTV20QGLFramebufferObject: 7u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI20QGLFramebufferObject)
+16 QGLFramebufferObject::~QGLFramebufferObject
+24 QGLFramebufferObject::~QGLFramebufferObject
+32 QGLFramebufferObject::devType
+40 QGLFramebufferObject::paintEngine
+48 QGLFramebufferObject::metric
+
+Class QGLFramebufferObject
+ size=24 align=8
+ base size=24 base align=8
+QGLFramebufferObject (0x7f2f38421850) 0
+ vptr=((& QGLFramebufferObject::_ZTV20QGLFramebufferObject) + 16u)
+ QPaintDevice (0x7f2f384218c0) 0
+ primary-for QGLFramebufferObject (0x7f2f38421850)
+
+Class QGLFramebufferObjectFormat
+ size=8 align=8
+ base size=8 base align=8
+QGLFramebufferObjectFormat (0x7f2f38432d90) 0
+
+Vtable for QGLPixelBuffer
+QGLPixelBuffer::_ZTV14QGLPixelBuffer: 7u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QGLPixelBuffer)
+16 QGLPixelBuffer::~QGLPixelBuffer
+24 QGLPixelBuffer::~QGLPixelBuffer
+32 QGLPixelBuffer::devType
+40 QGLPixelBuffer::paintEngine
+48 QGLPixelBuffer::metric
+
+Class QGLPixelBuffer
+ size=24 align=8
+ base size=24 base align=8
+QGLPixelBuffer (0x7f2f382475b0) 0
+ vptr=((& QGLPixelBuffer::_ZTV14QGLPixelBuffer) + 16u)
+ QPaintDevice (0x7f2f38247620) 0
+ primary-for QGLPixelBuffer (0x7f2f382475b0)
+
+Vtable for QGLShader
+QGLShader::_ZTV9QGLShader: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QGLShader)
+16 QGLShader::metaObject
+24 QGLShader::qt_metacast
+32 QGLShader::qt_metacall
+40 QGLShader::~QGLShader
+48 QGLShader::~QGLShader
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QGLShader
+ size=16 align=8
+ base size=16 base align=8
+QGLShader (0x7f2f38263540) 0
+ vptr=((& QGLShader::_ZTV9QGLShader) + 16u)
+ QObject (0x7f2f382635b0) 0
+ primary-for QGLShader (0x7f2f38263540)
+
+Vtable for QGLShaderProgram
+QGLShaderProgram::_ZTV16QGLShaderProgram: 15u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QGLShaderProgram)
+16 QGLShaderProgram::metaObject
+24 QGLShaderProgram::qt_metacast
+32 QGLShaderProgram::qt_metacall
+40 QGLShaderProgram::~QGLShaderProgram
+48 QGLShaderProgram::~QGLShaderProgram
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QGLShaderProgram::link
+
+Class QGLShaderProgram
+ size=16 align=8
+ base size=16 base align=8
+QGLShaderProgram (0x7f2f382b3690) 0
+ vptr=((& QGLShaderProgram::_ZTV16QGLShaderProgram) + 16u)
+ QObject (0x7f2f382b3700) 0
+ primary-for QGLShaderProgram (0x7f2f382b3690)
+
diff --git a/tests/auto/bic/data/QtScript.4.5.0.linux-gcc-amd64.txt b/tests/auto/bic/data/QtScript.4.5.0.linux-gcc-amd64.txt
new file mode 100644
index 0000000000..563623fe8c
--- /dev/null
+++ b/tests/auto/bic/data/QtScript.4.5.0.linux-gcc-amd64.txt
@@ -0,0 +1,2525 @@
+Class QSysInfo
+ size=1 align=1
+ base size=0 base align=1
+QSysInfo (0x7fdfa342a460) 0 empty
+
+Class QBool
+ size=1 align=1
+ base size=1 base align=1
+QBool (0x7fdfa343f150) 0
+
+Class qIsNull(double)::U
+ size=8 align=8
+ base size=8 base align=8
+qIsNull(double)::U (0x7fdfa3457540) 0
+
+Class qIsNull(float)::U
+ size=4 align=4
+ base size=4 base align=4
+qIsNull(float)::U (0x7fdfa34577e0) 0
+
+Class QFlag
+ size=4 align=4
+ base size=4 base align=4
+QFlag (0x7fdfa348d620) 0
+
+Class QIncompatibleFlag
+ size=4 align=4
+ base size=4 base align=4
+QIncompatibleFlag (0x7fdfa348de00) 0
+
+Class QInternal
+ size=1 align=1
+ base size=0 base align=1
+QInternal (0x7fdfa2a88540) 0 empty
+
+Class QGenericArgument
+ size=16 align=8
+ base size=16 base align=8
+QGenericArgument (0x7fdfa2a88850) 0
+
+Class QGenericReturnArgument
+ size=16 align=8
+ base size=16 base align=8
+QGenericReturnArgument (0x7fdfa2aa53f0) 0
+ QGenericArgument (0x7fdfa2aa5460) 0
+
+Class QMetaObject
+ size=32 align=8
+ base size=32 base align=8
+QMetaObject (0x7fdfa2aa5cb0) 0
+
+Class QMetaObjectExtraData
+ size=16 align=8
+ base size=16 base align=8
+QMetaObjectExtraData (0x7fdfa2acbcb0) 0
+
+Class QLatin1Char
+ size=1 align=1
+ base size=1 base align=1
+QLatin1Char (0x7fdfa2ad7700) 0
+
+Class QChar
+ size=2 align=2
+ base size=2 base align=2
+QChar (0x7fdfa2adb2a0) 0
+
+Class QBasicAtomicInt
+ size=4 align=4
+ base size=4 base align=4
+QBasicAtomicInt (0x7fdfa2943380) 0
+
+Class QAtomicInt
+ size=4 align=4
+ base size=4 base align=4
+QAtomicInt (0x7fdfa297dd20) 0
+ QBasicAtomicInt (0x7fdfa297dd90) 0
+
+Class __locale_struct
+ size=232 align=8
+ base size=232 base align=8
+__locale_struct (0x7fdfa29a31c0) 0
+
+Class QByteArray::Data
+ size=32 align=8
+ base size=32 base align=8
+QByteArray::Data (0x7fdfa28207e0) 0
+
+Class QByteArray
+ size=8 align=8
+ base size=8 base align=8
+QByteArray (0x7fdfa29dd540) 0
+
+Class QByteRef
+ size=16 align=8
+ base size=12 base align=8
+QByteRef (0x7fdfa2876a80) 0
+
+Class QString::Null
+ size=1 align=1
+ base size=0 base align=1
+QString::Null (0x7fdfa277e700) 0 empty
+
+Class QString::Data
+ size=32 align=8
+ base size=32 base align=8
+QString::Data (0x7fdfa278dee0) 0
+
+Class QString
+ size=8 align=8
+ base size=8 base align=8
+QString (0x7fdfa26fe5b0) 0
+
+Class QLatin1String
+ size=8 align=8
+ base size=8 base align=8
+QLatin1String (0x7fdfa2669000) 0
+
+Class QCharRef
+ size=16 align=8
+ base size=12 base align=8
+QCharRef (0x7fdfa24ff620) 0
+
+Class QConstString
+ size=8 align=8
+ base size=8 base align=8
+QConstString (0x7fdfa2449ee0) 0
+ QString (0x7fdfa2449f50) 0
+
+Class QStringRef
+ size=16 align=8
+ base size=16 base align=8
+QStringRef (0x7fdfa2469bd0) 0
+
+Vtable for std::exception
+std::exception::_ZTVSt9exception: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt9exception)
+16 std::exception::~exception
+24 std::exception::~exception
+32 std::exception::what
+
+Class std::exception
+ size=8 align=8
+ base size=8 base align=8
+std::exception (0x7fdfa2324620) 0 nearly-empty
+ vptr=((& std::exception::_ZTVSt9exception) + 16u)
+
+Vtable for std::bad_exception
+std::bad_exception::_ZTVSt13bad_exception: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt13bad_exception)
+16 std::bad_exception::~bad_exception
+24 std::bad_exception::~bad_exception
+32 std::bad_exception::what
+
+Class std::bad_exception
+ size=8 align=8
+ base size=8 base align=8
+std::bad_exception (0x7fdfa2346000) 0 nearly-empty
+ vptr=((& std::bad_exception::_ZTVSt13bad_exception) + 16u)
+ std::exception (0x7fdfa2346070) 0 nearly-empty
+ primary-for std::bad_exception (0x7fdfa2346000)
+
+Vtable for std::bad_alloc
+std::bad_alloc::_ZTVSt9bad_alloc: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt9bad_alloc)
+16 std::bad_alloc::~bad_alloc
+24 std::bad_alloc::~bad_alloc
+32 std::bad_alloc::what
+
+Class std::bad_alloc
+ size=8 align=8
+ base size=8 base align=8
+std::bad_alloc (0x7fdfa23468c0) 0 nearly-empty
+ vptr=((& std::bad_alloc::_ZTVSt9bad_alloc) + 16u)
+ std::exception (0x7fdfa2346930) 0 nearly-empty
+ primary-for std::bad_alloc (0x7fdfa23468c0)
+
+Class std::nothrow_t
+ size=1 align=1
+ base size=0 base align=1
+std::nothrow_t (0x7fdfa23570e0) 0 empty
+
+Class QListData::Data
+ size=32 align=8
+ base size=32 base align=8
+QListData::Data (0x7fdfa2357620) 0
+
+Class QListData
+ size=8 align=8
+ base size=8 base align=8
+QListData (0x7fdfa23575b0) 0
+
+Vtable for QObjectData
+QObjectData::_ZTV11QObjectData: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QObjectData)
+16 __cxa_pure_virtual
+24 __cxa_pure_virtual
+
+Class QObjectData
+ size=40 align=8
+ base size=40 base align=8
+QObjectData (0x7fdfa2259bd0) 0
+ vptr=((& QObjectData::_ZTV11QObjectData) + 16u)
+
+Vtable for QObject
+QObject::_ZTV7QObject: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QObject)
+16 QObject::metaObject
+24 QObject::qt_metacast
+32 QObject::qt_metacall
+40 QObject::~QObject
+48 QObject::~QObject
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QObject
+ size=16 align=8
+ base size=16 base align=8
+QObject (0x7fdfa2259ee0) 0
+ vptr=((& QObject::_ZTV7QObject) + 16u)
+
+Vtable for QObjectUserData
+QObjectUserData::_ZTV15QObjectUserData: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QObjectUserData)
+16 QObjectUserData::~QObjectUserData
+24 QObjectUserData::~QObjectUserData
+
+Class QObjectUserData
+ size=8 align=8
+ base size=8 base align=8
+QObjectUserData (0x7fdfa20db3f0) 0 nearly-empty
+ vptr=((& QObjectUserData::_ZTV15QObjectUserData) + 16u)
+
+Vtable for QIODevice
+QIODevice::_ZTV9QIODevice: 30u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QIODevice)
+16 QIODevice::metaObject
+24 QIODevice::qt_metacast
+32 QIODevice::qt_metacall
+40 QIODevice::~QIODevice
+48 QIODevice::~QIODevice
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QIODevice::isSequential
+120 QIODevice::open
+128 QIODevice::close
+136 QIODevice::pos
+144 QIODevice::size
+152 QIODevice::seek
+160 QIODevice::atEnd
+168 QIODevice::reset
+176 QIODevice::bytesAvailable
+184 QIODevice::bytesToWrite
+192 QIODevice::canReadLine
+200 QIODevice::waitForReadyRead
+208 QIODevice::waitForBytesWritten
+216 __cxa_pure_virtual
+224 QIODevice::readLineData
+232 __cxa_pure_virtual
+
+Class QIODevice
+ size=16 align=8
+ base size=16 base align=8
+QIODevice (0x7fdfa20db930) 0
+ vptr=((& QIODevice::_ZTV9QIODevice) + 16u)
+ QObject (0x7fdfa20db9a0) 0
+ primary-for QIODevice (0x7fdfa20db930)
+
+Vtable for QDataStream
+QDataStream::_ZTV11QDataStream: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QDataStream)
+16 QDataStream::~QDataStream
+24 QDataStream::~QDataStream
+
+Class QDataStream
+ size=40 align=8
+ base size=40 base align=8
+QDataStream (0x7fdfa21532a0) 0
+ vptr=((& QDataStream::_ZTV11QDataStream) + 16u)
+
+Class QHashData::Node
+ size=16 align=8
+ base size=16 base align=8
+QHashData::Node (0x7fdfa1fd7150) 0
+
+Class QHashData
+ size=40 align=8
+ base size=40 base align=8
+QHashData (0x7fdfa1fd70e0) 0
+
+Class QHashDummyValue
+ size=1 align=1
+ base size=0 base align=1
+QHashDummyValue (0x7fdfa1fe8ee0) 0 empty
+
+Class QMapData::Node
+ size=16 align=8
+ base size=16 base align=8
+QMapData::Node (0x7fdfa1efa690) 0
+
+Class QMapData
+ size=128 align=8
+ base size=128 base align=8
+QMapData (0x7fdfa1efa620) 0
+
+Vtable for QSystemLocale
+QSystemLocale::_ZTV13QSystemLocale: 6u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QSystemLocale)
+16 QSystemLocale::~QSystemLocale
+24 QSystemLocale::~QSystemLocale
+32 QSystemLocale::query
+40 QSystemLocale::fallbackLocale
+
+Class QSystemLocale
+ size=8 align=8
+ base size=8 base align=8
+QSystemLocale (0x7fdfa1e0fe00) 0 nearly-empty
+ vptr=((& QSystemLocale::_ZTV13QSystemLocale) + 16u)
+
+Class QLocale::Data
+ size=4 align=2
+ base size=4 base align=2
+QLocale::Data (0x7fdfa1e6e3f0) 0
+
+Class QLocale
+ size=8 align=8
+ base size=8 base align=8
+QLocale (0x7fdfa1e310e0) 0
+
+Class QTextCodec::ConverterState
+ size=32 align=8
+ base size=32 base align=8
+QTextCodec::ConverterState (0x7fdfa1ebbe70) 0
+
+Vtable for QTextCodec
+QTextCodec::_ZTV10QTextCodec: 9u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QTextCodec)
+16 __cxa_pure_virtual
+24 QTextCodec::aliases
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+48 __cxa_pure_virtual
+56 QTextCodec::~QTextCodec
+64 QTextCodec::~QTextCodec
+
+Class QTextCodec
+ size=8 align=8
+ base size=8 base align=8
+QTextCodec (0x7fdfa1ea5a80) 0 nearly-empty
+ vptr=((& QTextCodec::_ZTV10QTextCodec) + 16u)
+
+Class QTextEncoder
+ size=40 align=8
+ base size=40 base align=8
+QTextEncoder (0x7fdfa1d273f0) 0
+
+Class QTextDecoder
+ size=40 align=8
+ base size=40 base align=8
+QTextDecoder (0x7fdfa1d30230) 0
+
+Class _IO_marker
+ size=24 align=8
+ base size=24 base align=8
+_IO_marker (0x7fdfa1d382a0) 0
+
+Class _IO_FILE
+ size=216 align=8
+ base size=216 base align=8
+_IO_FILE (0x7fdfa1d38310) 0
+
+Vtable for QTextStream
+QTextStream::_ZTV11QTextStream: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QTextStream)
+16 QTextStream::~QTextStream
+24 QTextStream::~QTextStream
+
+Class QTextStream
+ size=16 align=8
+ base size=16 base align=8
+QTextStream (0x7fdfa1d383f0) 0
+ vptr=((& QTextStream::_ZTV11QTextStream) + 16u)
+
+Class QTextStreamManipulator
+ size=40 align=8
+ base size=38 base align=8
+QTextStreamManipulator (0x7fdfa1dd0ee0) 0
+
+Vtable for QTextIStream
+QTextIStream::_ZTV12QTextIStream: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QTextIStream)
+16 QTextIStream::~QTextIStream
+24 QTextIStream::~QTextIStream
+
+Class QTextIStream
+ size=16 align=8
+ base size=16 base align=8
+QTextIStream (0x7fdfa1bfd1c0) 0
+ vptr=((& QTextIStream::_ZTV12QTextIStream) + 16u)
+ QTextStream (0x7fdfa1bfd230) 0
+ primary-for QTextIStream (0x7fdfa1bfd1c0)
+
+Vtable for QTextOStream
+QTextOStream::_ZTV12QTextOStream: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QTextOStream)
+16 QTextOStream::~QTextOStream
+24 QTextOStream::~QTextOStream
+
+Class QTextOStream
+ size=16 align=8
+ base size=16 base align=8
+QTextOStream (0x7fdfa1c12070) 0
+ vptr=((& QTextOStream::_ZTV12QTextOStream) + 16u)
+ QTextStream (0x7fdfa1c120e0) 0
+ primary-for QTextOStream (0x7fdfa1c12070)
+
+Class wait
+ size=4 align=4
+ base size=4 base align=4
+wait (0x7fdfa1c1fee0) 0
+
+Class timespec
+ size=16 align=8
+ base size=16 base align=8
+timespec (0x7fdfa1c2c230) 0
+
+Class timeval
+ size=16 align=8
+ base size=16 base align=8
+timeval (0x7fdfa1c2c2a0) 0
+
+Class __pthread_internal_list
+ size=16 align=8
+ base size=16 base align=8
+__pthread_internal_list (0x7fdfa1c2c3f0) 0
+
+Class random_data
+ size=48 align=8
+ base size=48 base align=8
+random_data (0x7fdfa1c2c9a0) 0
+
+Class drand48_data
+ size=24 align=8
+ base size=24 base align=8
+drand48_data (0x7fdfa1c2ca10) 0
+
+Class QVectorData
+ size=16 align=4
+ base size=16 base align=4
+QVectorData (0x7fdfa1c2ca80) 0
+
+Class QDebug::Stream
+ size=40 align=8
+ base size=34 base align=8
+QDebug::Stream (0x7fdfa1ba6230) 0
+
+Class QDebug
+ size=8 align=8
+ base size=8 base align=8
+QDebug (0x7fdfa1ba61c0) 0
+
+Class QNoDebug
+ size=1 align=1
+ base size=0 base align=1
+QNoDebug (0x7fdfa1a44070) 0 empty
+
+Vtable for QFile
+QFile::_ZTV5QFile: 31u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI5QFile)
+16 QFile::metaObject
+24 QFile::qt_metacast
+32 QFile::qt_metacall
+40 QFile::~QFile
+48 QFile::~QFile
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QFile::isSequential
+120 QFile::open
+128 QFile::close
+136 QFile::pos
+144 QFile::size
+152 QFile::seek
+160 QFile::atEnd
+168 QIODevice::reset
+176 QIODevice::bytesAvailable
+184 QIODevice::bytesToWrite
+192 QIODevice::canReadLine
+200 QIODevice::waitForReadyRead
+208 QIODevice::waitForBytesWritten
+216 QFile::readData
+224 QFile::readLineData
+232 QFile::writeData
+240 QFile::fileEngine
+
+Class QFile
+ size=16 align=8
+ base size=16 base align=8
+QFile (0x7fdfa1a56620) 0
+ vptr=((& QFile::_ZTV5QFile) + 16u)
+ QIODevice (0x7fdfa1a56690) 0
+ primary-for QFile (0x7fdfa1a56620)
+ QObject (0x7fdfa1a56700) 0
+ primary-for QIODevice (0x7fdfa1a56690)
+
+Vtable for QTemporaryFile
+QTemporaryFile::_ZTV14QTemporaryFile: 31u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QTemporaryFile)
+16 QTemporaryFile::metaObject
+24 QTemporaryFile::qt_metacast
+32 QTemporaryFile::qt_metacall
+40 QTemporaryFile::~QTemporaryFile
+48 QTemporaryFile::~QTemporaryFile
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QFile::isSequential
+120 QTemporaryFile::open
+128 QFile::close
+136 QFile::pos
+144 QFile::size
+152 QFile::seek
+160 QFile::atEnd
+168 QIODevice::reset
+176 QIODevice::bytesAvailable
+184 QIODevice::bytesToWrite
+192 QIODevice::canReadLine
+200 QIODevice::waitForReadyRead
+208 QIODevice::waitForBytesWritten
+216 QFile::readData
+224 QFile::readLineData
+232 QFile::writeData
+240 QTemporaryFile::fileEngine
+
+Class QTemporaryFile
+ size=16 align=8
+ base size=16 base align=8
+QTemporaryFile (0x7fdfa1ac1850) 0
+ vptr=((& QTemporaryFile::_ZTV14QTemporaryFile) + 16u)
+ QFile (0x7fdfa1ac18c0) 0
+ primary-for QTemporaryFile (0x7fdfa1ac1850)
+ QIODevice (0x7fdfa1ac1930) 0
+ primary-for QFile (0x7fdfa1ac18c0)
+ QObject (0x7fdfa1ac19a0) 0
+ primary-for QIODevice (0x7fdfa1ac1930)
+
+Class QFileInfo
+ size=8 align=8
+ base size=8 base align=8
+QFileInfo (0x7fdfa18e1f50) 0
+
+Class QRegExp
+ size=8 align=8
+ base size=8 base align=8
+QRegExp (0x7fdfa193f770) 0
+
+Class QStringMatcher
+ size=1048 align=8
+ base size=1048 base align=8
+QStringMatcher (0x7fdfa198a5b0) 0
+
+Class QStringList
+ size=8 align=8
+ base size=8 base align=8
+QStringList (0x7fdfa19a0070) 0
+ QList<QString> (0x7fdfa19a00e0) 0
+
+Class QDir
+ size=8 align=8
+ base size=8 base align=8
+QDir (0x7fdfa182bcb0) 0
+
+Class QAbstractFileEngine::ExtensionOption
+ size=1 align=1
+ base size=0 base align=1
+QAbstractFileEngine::ExtensionOption (0x7fdfa18c6e70) 0 empty
+
+Class QAbstractFileEngine::ExtensionReturn
+ size=1 align=1
+ base size=0 base align=1
+QAbstractFileEngine::ExtensionReturn (0x7fdfa18c6ee0) 0 empty
+
+Class QAbstractFileEngine::MapExtensionOption
+ size=24 align=8
+ base size=20 base align=8
+QAbstractFileEngine::MapExtensionOption (0x7fdfa18c6f50) 0
+ QAbstractFileEngine::ExtensionOption (0x7fdfa16da000) 0 empty
+
+Class QAbstractFileEngine::MapExtensionReturn
+ size=8 align=8
+ base size=8 base align=8
+QAbstractFileEngine::MapExtensionReturn (0x7fdfa16da1c0) 0
+ QAbstractFileEngine::ExtensionReturn (0x7fdfa16da230) 0 empty
+
+Class QAbstractFileEngine::UnMapExtensionOption
+ size=8 align=8
+ base size=8 base align=8
+QAbstractFileEngine::UnMapExtensionOption (0x7fdfa16da2a0) 0
+ QAbstractFileEngine::ExtensionOption (0x7fdfa16da310) 0 empty
+
+Vtable for QAbstractFileEngine
+QAbstractFileEngine::_ZTV19QAbstractFileEngine: 36u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QAbstractFileEngine)
+16 QAbstractFileEngine::~QAbstractFileEngine
+24 QAbstractFileEngine::~QAbstractFileEngine
+32 QAbstractFileEngine::open
+40 QAbstractFileEngine::close
+48 QAbstractFileEngine::flush
+56 QAbstractFileEngine::size
+64 QAbstractFileEngine::pos
+72 QAbstractFileEngine::seek
+80 QAbstractFileEngine::isSequential
+88 QAbstractFileEngine::remove
+96 QAbstractFileEngine::copy
+104 QAbstractFileEngine::rename
+112 QAbstractFileEngine::link
+120 QAbstractFileEngine::mkdir
+128 QAbstractFileEngine::rmdir
+136 QAbstractFileEngine::setSize
+144 QAbstractFileEngine::caseSensitive
+152 QAbstractFileEngine::isRelativePath
+160 QAbstractFileEngine::entryList
+168 QAbstractFileEngine::fileFlags
+176 QAbstractFileEngine::setPermissions
+184 QAbstractFileEngine::fileName
+192 QAbstractFileEngine::ownerId
+200 QAbstractFileEngine::owner
+208 QAbstractFileEngine::fileTime
+216 QAbstractFileEngine::setFileName
+224 QAbstractFileEngine::handle
+232 QAbstractFileEngine::beginEntryList
+240 QAbstractFileEngine::endEntryList
+248 QAbstractFileEngine::read
+256 QAbstractFileEngine::readLine
+264 QAbstractFileEngine::write
+272 QAbstractFileEngine::extension
+280 QAbstractFileEngine::supportsExtension
+
+Class QAbstractFileEngine
+ size=16 align=8
+ base size=16 base align=8
+QAbstractFileEngine (0x7fdfa18b6e00) 0
+ vptr=((& QAbstractFileEngine::_ZTV19QAbstractFileEngine) + 16u)
+
+Vtable for QAbstractFileEngineHandler
+QAbstractFileEngineHandler::_ZTV26QAbstractFileEngineHandler: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI26QAbstractFileEngineHandler)
+16 QAbstractFileEngineHandler::~QAbstractFileEngineHandler
+24 QAbstractFileEngineHandler::~QAbstractFileEngineHandler
+32 __cxa_pure_virtual
+
+Class QAbstractFileEngineHandler
+ size=8 align=8
+ base size=8 base align=8
+QAbstractFileEngineHandler (0x7fdfa170a000) 0 nearly-empty
+ vptr=((& QAbstractFileEngineHandler::_ZTV26QAbstractFileEngineHandler) + 16u)
+
+Vtable for QAbstractFileEngineIterator
+QAbstractFileEngineIterator::_ZTV27QAbstractFileEngineIterator: 9u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI27QAbstractFileEngineIterator)
+16 QAbstractFileEngineIterator::~QAbstractFileEngineIterator
+24 QAbstractFileEngineIterator::~QAbstractFileEngineIterator
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+48 __cxa_pure_virtual
+56 QAbstractFileEngineIterator::currentFileInfo
+64 QAbstractFileEngineIterator::entryInfo
+
+Class QAbstractFileEngineIterator
+ size=16 align=8
+ base size=16 base align=8
+QAbstractFileEngineIterator (0x7fdfa170a1c0) 0
+ vptr=((& QAbstractFileEngineIterator::_ZTV27QAbstractFileEngineIterator) + 16u)
+
+Vtable for QFSFileEngine
+QFSFileEngine::_ZTV13QFSFileEngine: 36u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QFSFileEngine)
+16 QFSFileEngine::~QFSFileEngine
+24 QFSFileEngine::~QFSFileEngine
+32 QFSFileEngine::open
+40 QFSFileEngine::close
+48 QFSFileEngine::flush
+56 QFSFileEngine::size
+64 QFSFileEngine::pos
+72 QFSFileEngine::seek
+80 QFSFileEngine::isSequential
+88 QFSFileEngine::remove
+96 QFSFileEngine::copy
+104 QFSFileEngine::rename
+112 QFSFileEngine::link
+120 QFSFileEngine::mkdir
+128 QFSFileEngine::rmdir
+136 QFSFileEngine::setSize
+144 QFSFileEngine::caseSensitive
+152 QFSFileEngine::isRelativePath
+160 QFSFileEngine::entryList
+168 QFSFileEngine::fileFlags
+176 QFSFileEngine::setPermissions
+184 QFSFileEngine::fileName
+192 QFSFileEngine::ownerId
+200 QFSFileEngine::owner
+208 QFSFileEngine::fileTime
+216 QFSFileEngine::setFileName
+224 QFSFileEngine::handle
+232 QFSFileEngine::beginEntryList
+240 QFSFileEngine::endEntryList
+248 QFSFileEngine::read
+256 QFSFileEngine::readLine
+264 QFSFileEngine::write
+272 QFSFileEngine::extension
+280 QFSFileEngine::supportsExtension
+
+Class QFSFileEngine
+ size=16 align=8
+ base size=16 base align=8
+QFSFileEngine (0x7fdfa170aa10) 0
+ vptr=((& QFSFileEngine::_ZTV13QFSFileEngine) + 16u)
+ QAbstractFileEngine (0x7fdfa170aa80) 0
+ primary-for QFSFileEngine (0x7fdfa170aa10)
+
+Vtable for QProcess
+QProcess::_ZTV8QProcess: 31u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI8QProcess)
+16 QProcess::metaObject
+24 QProcess::qt_metacast
+32 QProcess::qt_metacall
+40 QProcess::~QProcess
+48 QProcess::~QProcess
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QProcess::isSequential
+120 QIODevice::open
+128 QProcess::close
+136 QIODevice::pos
+144 QIODevice::size
+152 QIODevice::seek
+160 QProcess::atEnd
+168 QIODevice::reset
+176 QProcess::bytesAvailable
+184 QProcess::bytesToWrite
+192 QProcess::canReadLine
+200 QProcess::waitForReadyRead
+208 QProcess::waitForBytesWritten
+216 QProcess::readData
+224 QIODevice::readLineData
+232 QProcess::writeData
+240 QProcess::setupChildProcess
+
+Class QProcess
+ size=16 align=8
+ base size=16 base align=8
+QProcess (0x7fdfa1722d20) 0
+ vptr=((& QProcess::_ZTV8QProcess) + 16u)
+ QIODevice (0x7fdfa1722d90) 0
+ primary-for QProcess (0x7fdfa1722d20)
+ QObject (0x7fdfa1722e00) 0
+ primary-for QIODevice (0x7fdfa1722d90)
+
+Class QResource
+ size=8 align=8
+ base size=8 base align=8
+QResource (0x7fdfa175e230) 0
+
+Vtable for QDirIterator
+QDirIterator::_ZTV12QDirIterator: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QDirIterator)
+16 QDirIterator::~QDirIterator
+24 QDirIterator::~QDirIterator
+
+Class QDirIterator
+ size=16 align=8
+ base size=16 base align=8
+QDirIterator (0x7fdfa175ecb0) 0
+ vptr=((& QDirIterator::_ZTV12QDirIterator) + 16u)
+
+Vtable for QBuffer
+QBuffer::_ZTV7QBuffer: 30u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QBuffer)
+16 QBuffer::metaObject
+24 QBuffer::qt_metacast
+32 QBuffer::qt_metacall
+40 QBuffer::~QBuffer
+48 QBuffer::~QBuffer
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QBuffer::connectNotify
+104 QBuffer::disconnectNotify
+112 QIODevice::isSequential
+120 QBuffer::open
+128 QBuffer::close
+136 QBuffer::pos
+144 QBuffer::size
+152 QBuffer::seek
+160 QBuffer::atEnd
+168 QIODevice::reset
+176 QIODevice::bytesAvailable
+184 QIODevice::bytesToWrite
+192 QBuffer::canReadLine
+200 QIODevice::waitForReadyRead
+208 QIODevice::waitForBytesWritten
+216 QBuffer::readData
+224 QIODevice::readLineData
+232 QBuffer::writeData
+
+Class QBuffer
+ size=16 align=8
+ base size=16 base align=8
+QBuffer (0x7fdfa178fa80) 0
+ vptr=((& QBuffer::_ZTV7QBuffer) + 16u)
+ QIODevice (0x7fdfa178faf0) 0
+ primary-for QBuffer (0x7fdfa178fa80)
+ QObject (0x7fdfa178fb60) 0
+ primary-for QIODevice (0x7fdfa178faf0)
+
+Vtable for QFileSystemWatcher
+QFileSystemWatcher::_ZTV18QFileSystemWatcher: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QFileSystemWatcher)
+16 QFileSystemWatcher::metaObject
+24 QFileSystemWatcher::qt_metacast
+32 QFileSystemWatcher::qt_metacall
+40 QFileSystemWatcher::~QFileSystemWatcher
+48 QFileSystemWatcher::~QFileSystemWatcher
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QFileSystemWatcher
+ size=16 align=8
+ base size=16 base align=8
+QFileSystemWatcher (0x7fdfa17b7690) 0
+ vptr=((& QFileSystemWatcher::_ZTV18QFileSystemWatcher) + 16u)
+ QObject (0x7fdfa17b7700) 0
+ primary-for QFileSystemWatcher (0x7fdfa17b7690)
+
+Class QUrl
+ size=8 align=8
+ base size=8 base align=8
+QUrl (0x7fdfa17cabd0) 0
+
+Class QMetaType
+ size=1 align=1
+ base size=0 base align=1
+QMetaType (0x7fdfa16343f0) 0 empty
+
+Class QVariant::PrivateShared
+ size=16 align=8
+ base size=12 base align=8
+QVariant::PrivateShared (0x7fdfa1506930) 0
+
+Class QVariant::Private::Data
+ size=8 align=8
+ base size=8 base align=8
+QVariant::Private::Data (0x7fdfa1506c40) 0
+
+Class QVariant::Private
+ size=16 align=8
+ base size=12 base align=8
+QVariant::Private (0x7fdfa1506a10) 0
+
+Class QVariant::Handler
+ size=72 align=8
+ base size=72 base align=8
+QVariant::Handler (0x7fdfa1514930) 0
+
+Class QVariant
+ size=16 align=8
+ base size=16 base align=8
+QVariant (0x7fdfa14d6af0) 0
+
+Class QVariantComparisonHelper
+ size=8 align=8
+ base size=8 base align=8
+QVariantComparisonHelper (0x7fdfa13bacb0) 0
+
+Vtable for QSettings
+QSettings::_ZTV9QSettings: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QSettings)
+16 QSettings::metaObject
+24 QSettings::qt_metacast
+32 QSettings::qt_metacall
+40 QSettings::~QSettings
+48 QSettings::~QSettings
+56 QSettings::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QSettings
+ size=16 align=8
+ base size=16 base align=8
+QSettings (0x7fdfa13dfcb0) 0
+ vptr=((& QSettings::_ZTV9QSettings) + 16u)
+ QObject (0x7fdfa13dfd20) 0
+ primary-for QSettings (0x7fdfa13dfcb0)
+
+Class QXmlStreamStringRef
+ size=16 align=8
+ base size=16 base align=8
+QXmlStreamStringRef (0x7fdfa1462070) 0
+
+Class QXmlStreamAttribute
+ size=80 align=8
+ base size=73 base align=8
+QXmlStreamAttribute (0x7fdfa1480850) 0
+
+Class QXmlStreamAttributes
+ size=8 align=8
+ base size=8 base align=8
+QXmlStreamAttributes (0x7fdfa14a7380) 0
+ QVector<QXmlStreamAttribute> (0x7fdfa14a73f0) 0
+
+Class QXmlStreamNamespaceDeclaration
+ size=40 align=8
+ base size=40 base align=8
+QXmlStreamNamespaceDeclaration (0x7fdfa14a7850) 0
+
+Class QXmlStreamNotationDeclaration
+ size=56 align=8
+ base size=56 base align=8
+QXmlStreamNotationDeclaration (0x7fdfa12e71c0) 0
+
+Class QXmlStreamEntityDeclaration
+ size=88 align=8
+ base size=88 base align=8
+QXmlStreamEntityDeclaration (0x7fdfa1307070) 0
+
+Vtable for QXmlStreamEntityResolver
+QXmlStreamEntityResolver::_ZTV24QXmlStreamEntityResolver: 6u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI24QXmlStreamEntityResolver)
+16 QXmlStreamEntityResolver::~QXmlStreamEntityResolver
+24 QXmlStreamEntityResolver::~QXmlStreamEntityResolver
+32 QXmlStreamEntityResolver::resolveEntity
+40 QXmlStreamEntityResolver::resolveUndeclaredEntity
+
+Class QXmlStreamEntityResolver
+ size=8 align=8
+ base size=8 base align=8
+QXmlStreamEntityResolver (0x7fdfa13249a0) 0 nearly-empty
+ vptr=((& QXmlStreamEntityResolver::_ZTV24QXmlStreamEntityResolver) + 16u)
+
+Class QXmlStreamReader
+ size=8 align=8
+ base size=8 base align=8
+QXmlStreamReader (0x7fdfa1324b60) 0
+
+Class QXmlStreamWriter
+ size=8 align=8
+ base size=8 base align=8
+QXmlStreamWriter (0x7fdfa1362a10) 0
+
+Class QPoint
+ size=8 align=4
+ base size=8 base align=4
+QPoint (0x7fdfa139e150) 0
+
+Class QPointF
+ size=16 align=8
+ base size=16 base align=8
+QPointF (0x7fdfa11d5d90) 0
+
+Class QLine
+ size=16 align=4
+ base size=16 base align=4
+QLine (0x7fdfa1212bd0) 0
+
+Class QLineF
+ size=32 align=8
+ base size=32 base align=8
+QLineF (0x7fdfa124da80) 0
+
+Class QSize
+ size=8 align=4
+ base size=8 base align=4
+QSize (0x7fdfa10a9540) 0
+
+Class QSizeF
+ size=16 align=8
+ base size=16 base align=8
+QSizeF (0x7fdfa10f5380) 0
+
+Class QRect
+ size=16 align=4
+ base size=16 base align=4
+QRect (0x7fdfa11419a0) 0
+
+Class QRectF
+ size=32 align=8
+ base size=32 base align=8
+QRectF (0x7fdfa0ff1380) 0
+
+Class QSharedData
+ size=4 align=4
+ base size=4 base align=4
+QSharedData (0x7fdfa109d150) 0
+
+Vtable for QtSharedPointer::ExternalRefCountData
+QtSharedPointer::ExternalRefCountData::_ZTVN15QtSharedPointer20ExternalRefCountDataE: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN15QtSharedPointer20ExternalRefCountDataE)
+16 QtSharedPointer::ExternalRefCountData::~ExternalRefCountData
+24 QtSharedPointer::ExternalRefCountData::~ExternalRefCountData
+32 QtSharedPointer::ExternalRefCountData::destroy
+
+Class QtSharedPointer::ExternalRefCountData
+ size=16 align=8
+ base size=16 base align=8
+QtSharedPointer::ExternalRefCountData (0x7fdfa0ecbaf0) 0
+ vptr=((& QtSharedPointer::ExternalRefCountData::_ZTVN15QtSharedPointer20ExternalRefCountDataE) + 16u)
+
+Class QLinkedListData
+ size=32 align=8
+ base size=32 base align=8
+QLinkedListData (0x7fdfa0f53c40) 0
+
+Class QBitArray
+ size=8 align=8
+ base size=8 base align=8
+QBitArray (0x7fdfa0e1fb60) 0
+
+Class QBitRef
+ size=16 align=8
+ base size=12 base align=8
+QBitRef (0x7fdfa0e92930) 0
+
+Class QByteArrayMatcher
+ size=1040 align=8
+ base size=1040 base align=8
+QByteArrayMatcher (0x7fdfa0cad310) 0
+
+Class QCryptographicHash
+ size=8 align=8
+ base size=8 base align=8
+QCryptographicHash (0x7fdfa0cbea10) 0
+
+Class QTextBoundaryFinder
+ size=48 align=8
+ base size=48 base align=8
+QTextBoundaryFinder (0x7fdfa0ceb460) 0
+
+Class QDate
+ size=4 align=4
+ base size=4 base align=4
+QDate (0x7fdfa0d017e0) 0
+
+Class QTime
+ size=4 align=4
+ base size=4 base align=4
+QTime (0x7fdfa0d2a770) 0
+
+Class QDateTime
+ size=8 align=8
+ base size=8 base align=8
+QDateTime (0x7fdfa0d47d20) 0
+
+Vtable for QTimeLine
+QTimeLine::_ZTV9QTimeLine: 15u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QTimeLine)
+16 QTimeLine::metaObject
+24 QTimeLine::qt_metacast
+32 QTimeLine::qt_metacall
+40 QTimeLine::~QTimeLine
+48 QTimeLine::~QTimeLine
+56 QObject::event
+64 QObject::eventFilter
+72 QTimeLine::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QTimeLine::valueForTime
+
+Class QTimeLine
+ size=16 align=8
+ base size=16 base align=8
+QTimeLine (0x7fdfa0d7c1c0) 0
+ vptr=((& QTimeLine::_ZTV9QTimeLine) + 16u)
+ QObject (0x7fdfa0d7c230) 0
+ primary-for QTimeLine (0x7fdfa0d7c1c0)
+
+Vtable for QRunnable
+QRunnable::_ZTV9QRunnable: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QRunnable)
+16 __cxa_pure_virtual
+24 QRunnable::~QRunnable
+32 QRunnable::~QRunnable
+
+Class QRunnable
+ size=16 align=8
+ base size=12 base align=8
+QRunnable (0x7fdfa0ba2070) 0
+ vptr=((& QRunnable::_ZTV9QRunnable) + 16u)
+
+Class QMutex
+ size=8 align=8
+ base size=8 base align=8
+QMutex (0x7fdfa0baf700) 0
+
+Class QMutexLocker
+ size=8 align=8
+ base size=8 base align=8
+QMutexLocker (0x7fdfa0bbe2a0) 0
+
+Vtable for QtConcurrent::Exception
+QtConcurrent::Exception::_ZTVN12QtConcurrent9ExceptionE: 7u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN12QtConcurrent9ExceptionE)
+16 QtConcurrent::Exception::~Exception
+24 QtConcurrent::Exception::~Exception
+32 std::exception::what
+40 QtConcurrent::Exception::raise
+48 QtConcurrent::Exception::clone
+
+Class QtConcurrent::Exception
+ size=8 align=8
+ base size=8 base align=8
+QtConcurrent::Exception (0x7fdfa0bd35b0) 0 nearly-empty
+ vptr=((& QtConcurrent::Exception::_ZTVN12QtConcurrent9ExceptionE) + 16u)
+ std::exception (0x7fdfa0bd3620) 0 nearly-empty
+ primary-for QtConcurrent::Exception (0x7fdfa0bd35b0)
+
+Vtable for QtConcurrent::UnhandledException
+QtConcurrent::UnhandledException::_ZTVN12QtConcurrent18UnhandledExceptionE: 7u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN12QtConcurrent18UnhandledExceptionE)
+16 QtConcurrent::UnhandledException::~UnhandledException
+24 QtConcurrent::UnhandledException::~UnhandledException
+32 std::exception::what
+40 QtConcurrent::UnhandledException::raise
+48 QtConcurrent::UnhandledException::clone
+
+Class QtConcurrent::UnhandledException
+ size=8 align=8
+ base size=8 base align=8
+QtConcurrent::UnhandledException (0x7fdfa0bd3850) 0 nearly-empty
+ vptr=((& QtConcurrent::UnhandledException::_ZTVN12QtConcurrent18UnhandledExceptionE) + 16u)
+ QtConcurrent::Exception (0x7fdfa0bd38c0) 0 nearly-empty
+ primary-for QtConcurrent::UnhandledException (0x7fdfa0bd3850)
+ std::exception (0x7fdfa0bd3930) 0 nearly-empty
+ primary-for QtConcurrent::Exception (0x7fdfa0bd38c0)
+
+Class QtConcurrent::internal::ExceptionHolder
+ size=8 align=8
+ base size=8 base align=8
+QtConcurrent::internal::ExceptionHolder (0x7fdfa0bd3b60) 0
+
+Class QtConcurrent::internal::ExceptionStore
+ size=8 align=8
+ base size=8 base align=8
+QtConcurrent::internal::ExceptionStore (0x7fdfa0bd3ee0) 0
+
+Class QtConcurrent::ResultItem
+ size=16 align=8
+ base size=16 base align=8
+QtConcurrent::ResultItem (0x7fdfa0bd3f50) 0
+
+Class QtConcurrent::ResultIteratorBase
+ size=16 align=8
+ base size=12 base align=8
+QtConcurrent::ResultIteratorBase (0x7fdfa0bece70) 0
+
+Vtable for QtConcurrent::ResultStoreBase
+QtConcurrent::ResultStoreBase::_ZTVN12QtConcurrent15ResultStoreBaseE: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN12QtConcurrent15ResultStoreBaseE)
+16 QtConcurrent::ResultStoreBase::~ResultStoreBase
+24 QtConcurrent::ResultStoreBase::~ResultStoreBase
+
+Class QtConcurrent::ResultStoreBase
+ size=48 align=8
+ base size=44 base align=8
+QtConcurrent::ResultStoreBase (0x7fdfa0bf0a10) 0
+ vptr=((& QtConcurrent::ResultStoreBase::_ZTVN12QtConcurrent15ResultStoreBaseE) + 16u)
+
+Vtable for QFutureInterfaceBase
+QFutureInterfaceBase::_ZTV20QFutureInterfaceBase: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI20QFutureInterfaceBase)
+16 QFutureInterfaceBase::~QFutureInterfaceBase
+24 QFutureInterfaceBase::~QFutureInterfaceBase
+
+Class QFutureInterfaceBase
+ size=16 align=8
+ base size=16 base align=8
+QFutureInterfaceBase (0x7fdfa0c30e70) 0
+ vptr=((& QFutureInterfaceBase::_ZTV20QFutureInterfaceBase) + 16u)
+
+Vtable for QThread
+QThread::_ZTV7QThread: 15u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QThread)
+16 QThread::metaObject
+24 QThread::qt_metacast
+32 QThread::qt_metacall
+40 QThread::~QThread
+48 QThread::~QThread
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QThread::run
+
+Class QThread
+ size=16 align=8
+ base size=16 base align=8
+QThread (0x7fdfa0b14e00) 0
+ vptr=((& QThread::_ZTV7QThread) + 16u)
+ QObject (0x7fdfa0b14e70) 0
+ primary-for QThread (0x7fdfa0b14e00)
+
+Vtable for QThreadPool
+QThreadPool::_ZTV11QThreadPool: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QThreadPool)
+16 QThreadPool::metaObject
+24 QThreadPool::qt_metacast
+32 QThreadPool::qt_metacall
+40 QThreadPool::~QThreadPool
+48 QThreadPool::~QThreadPool
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QThreadPool
+ size=16 align=8
+ base size=16 base align=8
+QThreadPool (0x7fdfa0b47cb0) 0
+ vptr=((& QThreadPool::_ZTV11QThreadPool) + 16u)
+ QObject (0x7fdfa0b47d20) 0
+ primary-for QThreadPool (0x7fdfa0b47cb0)
+
+Class QWaitCondition
+ size=8 align=8
+ base size=8 base align=8
+QWaitCondition (0x7fdfa0b61540) 0
+
+Class QtConcurrent::ThreadEngineSemaphore
+ size=24 align=8
+ base size=24 base align=8
+QtConcurrent::ThreadEngineSemaphore (0x7fdfa0b61a80) 0
+
+Vtable for QtConcurrent::ThreadEngineBase
+QtConcurrent::ThreadEngineBase::_ZTVN12QtConcurrent16ThreadEngineBaseE: 11u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN12QtConcurrent16ThreadEngineBaseE)
+16 QtConcurrent::ThreadEngineBase::run
+24 QtConcurrent::ThreadEngineBase::~ThreadEngineBase
+32 QtConcurrent::ThreadEngineBase::~ThreadEngineBase
+40 QtConcurrent::ThreadEngineBase::start
+48 QtConcurrent::ThreadEngineBase::finish
+56 QtConcurrent::ThreadEngineBase::threadFunction
+64 QtConcurrent::ThreadEngineBase::shouldStartThread
+72 QtConcurrent::ThreadEngineBase::shouldThrottleThread
+80 __cxa_pure_virtual
+
+Class QtConcurrent::ThreadEngineBase
+ size=64 align=8
+ base size=64 base align=8
+QtConcurrent::ThreadEngineBase (0x7fdfa0b7f460) 0
+ vptr=((& QtConcurrent::ThreadEngineBase::_ZTVN12QtConcurrent16ThreadEngineBaseE) + 16u)
+ QRunnable (0x7fdfa0b7f4d0) 0
+ primary-for QtConcurrent::ThreadEngineBase (0x7fdfa0b7f460)
+
+VTT for QtConcurrent::ThreadEngine<void>
+QtConcurrent::ThreadEngine<void>::_ZTTN12QtConcurrent12ThreadEngineIvEE: 2u entries
+0 ((& QtConcurrent::ThreadEngine<void>::_ZTVN12QtConcurrent12ThreadEngineIvEE) + 24u)
+8 ((& QtConcurrent::ThreadEngine<void>::_ZTVN12QtConcurrent12ThreadEngineIvEE) + 136u)
+
+Class std::input_iterator_tag
+ size=1 align=1
+ base size=0 base align=1
+std::input_iterator_tag (0x7fdfa09c2850) 0 empty
+
+Class std::output_iterator_tag
+ size=1 align=1
+ base size=0 base align=1
+std::output_iterator_tag (0x7fdfa09c28c0) 0 empty
+
+Class std::forward_iterator_tag
+ size=1 align=1
+ base size=1 base align=1
+std::forward_iterator_tag (0x7fdfa09c2930) 0 empty
+ std::input_iterator_tag (0x7fdfa09c29a0) 0 empty
+
+Class std::bidirectional_iterator_tag
+ size=1 align=1
+ base size=1 base align=1
+std::bidirectional_iterator_tag (0x7fdfa09c2a10) 0 empty
+ std::forward_iterator_tag (0x7fdfa09c2a80) 0 empty
+ std::input_iterator_tag (0x7fdfa09c2af0) 0 empty
+
+Class std::random_access_iterator_tag
+ size=1 align=1
+ base size=1 base align=1
+std::random_access_iterator_tag (0x7fdfa09c2b60) 0 empty
+ std::bidirectional_iterator_tag (0x7fdfa09c2bd0) 0 empty
+ std::forward_iterator_tag (0x7fdfa09c2c40) 0 empty
+ std::input_iterator_tag (0x7fdfa09c2cb0) 0 empty
+
+Class std::__true_type
+ size=1 align=1
+ base size=0 base align=1
+std::__true_type (0x7fdfa09d32a0) 0 empty
+
+Class std::__false_type
+ size=1 align=1
+ base size=0 base align=1
+std::__false_type (0x7fdfa09d3310) 0 empty
+
+Class lconv
+ size=96 align=8
+ base size=96 base align=8
+lconv (0x7fdfa07b0620) 0
+
+Class sched_param
+ size=4 align=4
+ base size=4 base align=4
+sched_param (0x7fdfa07b0a80) 0
+
+Class __sched_param
+ size=4 align=4
+ base size=4 base align=4
+__sched_param (0x7fdfa07b0af0) 0
+
+Class tm
+ size=56 align=8
+ base size=56 base align=8
+tm (0x7fdfa07b0bd0) 0
+
+Class itimerspec
+ size=32 align=8
+ base size=32 base align=8
+itimerspec (0x7fdfa07b0cb0) 0
+
+Class _pthread_cleanup_buffer
+ size=32 align=8
+ base size=32 base align=8
+_pthread_cleanup_buffer (0x7fdfa07b0d20) 0
+
+Class __pthread_cleanup_frame
+ size=24 align=8
+ base size=24 base align=8
+__pthread_cleanup_frame (0x7fdfa07b0e70) 0
+
+Class __pthread_cleanup_class
+ size=24 align=8
+ base size=24 base align=8
+__pthread_cleanup_class (0x7fdfa07b0ee0) 0
+
+Vtable for __cxxabiv1::__forced_unwind
+__cxxabiv1::__forced_unwind::_ZTVN10__cxxabiv115__forced_unwindE: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN10__cxxabiv115__forced_unwindE)
+16 __cxxabiv1::__forced_unwind::~__forced_unwind
+24 __cxxabiv1::__forced_unwind::~__forced_unwind
+32 __cxa_pure_virtual
+
+Class __cxxabiv1::__forced_unwind
+ size=8 align=8
+ base size=8 base align=8
+__cxxabiv1::__forced_unwind (0x7fdfa06c5a80) 0 nearly-empty
+ vptr=((& __cxxabiv1::__forced_unwind::_ZTVN10__cxxabiv115__forced_unwindE) + 16u)
+
+Class std::locale
+ size=8 align=8
+ base size=8 base align=8
+std::locale (0x7fdfa05795b0) 0
+
+Vtable for std::locale::facet
+std::locale::facet::_ZTVNSt6locale5facetE: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTINSt6locale5facetE)
+16 std::locale::facet::~facet
+24 std::locale::facet::~facet
+
+Class std::locale::facet
+ size=16 align=8
+ base size=12 base align=8
+std::locale::facet (0x7fdfa041acb0) 0
+ vptr=((& std::locale::facet::_ZTVNSt6locale5facetE) + 16u)
+
+Class std::locale::id
+ size=8 align=8
+ base size=8 base align=8
+std::locale::id (0x7fdfa042e2a0) 0
+
+Class std::locale::_Impl
+ size=40 align=8
+ base size=40 base align=8
+std::locale::_Impl (0x7fdfa042e8c0) 0
+
+Vtable for std::ios_base::failure
+std::ios_base::failure::_ZTVNSt8ios_base7failureE: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTINSt8ios_base7failureE)
+16 std::ios_base::failure::~failure
+24 std::ios_base::failure::~failure
+32 std::ios_base::failure::what
+
+Class std::ios_base::failure
+ size=16 align=8
+ base size=16 base align=8
+std::ios_base::failure (0x7fdfa02bc070) 0
+ vptr=((& std::ios_base::failure::_ZTVNSt8ios_base7failureE) + 16u)
+ std::exception (0x7fdfa02bc0e0) 0 nearly-empty
+ primary-for std::ios_base::failure (0x7fdfa02bc070)
+
+Class std::ios_base::_Callback_list
+ size=24 align=8
+ base size=24 base align=8
+std::ios_base::_Callback_list (0x7fdfa02ca310) 0
+
+Class std::ios_base::_Words
+ size=16 align=8
+ base size=16 base align=8
+std::ios_base::_Words (0x7fdfa02cad90) 0
+
+Class std::ios_base::Init
+ size=1 align=1
+ base size=0 base align=1
+std::ios_base::Init (0x7fdfa02d14d0) 0 empty
+
+Vtable for std::ios_base
+std::ios_base::_ZTVSt8ios_base: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt8ios_base)
+16 std::ios_base::~ios_base
+24 std::ios_base::~ios_base
+
+Class std::ios_base
+ size=216 align=8
+ base size=216 base align=8
+std::ios_base (0x7fdfa02bc000) 0
+ vptr=((& std::ios_base::_ZTVSt8ios_base) + 16u)
+
+Class std::ctype_base
+ size=1 align=1
+ base size=0 base align=1
+std::ctype_base (0x7fdfa034a930) 0 empty
+
+Class std::__num_base
+ size=1 align=1
+ base size=0 base align=1
+std::__num_base (0x7fdfa026e1c0) 0 empty
+
+VTT for std::basic_ostream<char, std::char_traits<char> >
+std::basic_ostream<char, std::char_traits<char> >::_ZTTSo: 2u entries
+0 ((& std::basic_ostream<char, std::char_traits<char> >::_ZTVSo) + 24u)
+8 ((& std::basic_ostream<char, std::char_traits<char> >::_ZTVSo) + 64u)
+
+VTT for std::basic_ostream<wchar_t, std::char_traits<wchar_t> >
+std::basic_ostream<wchar_t, std::char_traits<wchar_t> >::_ZTTSt13basic_ostreamIwSt11char_traitsIwEE: 2u entries
+0 ((& std::basic_ostream<wchar_t, std::char_traits<wchar_t> >::_ZTVSt13basic_ostreamIwSt11char_traitsIwEE) + 24u)
+8 ((& std::basic_ostream<wchar_t, std::char_traits<wchar_t> >::_ZTVSt13basic_ostreamIwSt11char_traitsIwEE) + 64u)
+
+VTT for std::basic_istream<char, std::char_traits<char> >
+std::basic_istream<char, std::char_traits<char> >::_ZTTSi: 2u entries
+0 ((& std::basic_istream<char, std::char_traits<char> >::_ZTVSi) + 24u)
+8 ((& std::basic_istream<char, std::char_traits<char> >::_ZTVSi) + 64u)
+
+VTT for std::basic_istream<wchar_t, std::char_traits<wchar_t> >
+std::basic_istream<wchar_t, std::char_traits<wchar_t> >::_ZTTSt13basic_istreamIwSt11char_traitsIwEE: 2u entries
+0 ((& std::basic_istream<wchar_t, std::char_traits<wchar_t> >::_ZTVSt13basic_istreamIwSt11char_traitsIwEE) + 24u)
+8 ((& std::basic_istream<wchar_t, std::char_traits<wchar_t> >::_ZTVSt13basic_istreamIwSt11char_traitsIwEE) + 64u)
+
+Construction vtable for std::basic_istream<char, std::char_traits<char> > (0x7fdf9fd9a310 instance) in std::basic_iostream<char, std::char_traits<char> >
+std::basic_iostream<char, std::char_traits<char> >::_ZTCSd0_Si: 10u entries
+0 24u
+8 (int (*)(...))0
+16 (int (*)(...))(& _ZTISi)
+24 std::basic_istream<_CharT, _Traits>::~basic_istream [with _CharT = char, _Traits = std::char_traits<char>]
+32 std::basic_istream<_CharT, _Traits>::~basic_istream [with _CharT = char, _Traits = std::char_traits<char>]
+40 -24u
+48 (int (*)(...))-0x00000000000000018
+56 (int (*)(...))(& _ZTISi)
+64 std::basic_istream<char, std::char_traits<char> >::_ZTv0_n24_NSiD1Ev
+72 std::basic_istream<char, std::char_traits<char> >::_ZTv0_n24_NSiD0Ev
+
+Construction vtable for std::basic_ostream<char, std::char_traits<char> > (0x7fdf9fd9a460 instance) in std::basic_iostream<char, std::char_traits<char> >
+std::basic_iostream<char, std::char_traits<char> >::_ZTCSd16_So: 10u entries
+0 8u
+8 (int (*)(...))0
+16 (int (*)(...))(& _ZTISo)
+24 std::basic_ostream<_CharT, _Traits>::~basic_ostream [with _CharT = char, _Traits = std::char_traits<char>]
+32 std::basic_ostream<_CharT, _Traits>::~basic_ostream [with _CharT = char, _Traits = std::char_traits<char>]
+40 -8u
+48 (int (*)(...))-0x00000000000000008
+56 (int (*)(...))(& _ZTISo)
+64 std::basic_ostream<char, std::char_traits<char> >::_ZTv0_n24_NSoD1Ev
+72 std::basic_ostream<char, std::char_traits<char> >::_ZTv0_n24_NSoD0Ev
+
+VTT for std::basic_iostream<char, std::char_traits<char> >
+std::basic_iostream<char, std::char_traits<char> >::_ZTTSd: 7u entries
+0 ((& std::basic_iostream<char, std::char_traits<char> >::_ZTVSd) + 24u)
+8 ((& std::basic_iostream<char, std::char_traits<char> >::_ZTCSd0_Si) + 24u)
+16 ((& std::basic_iostream<char, std::char_traits<char> >::_ZTCSd0_Si) + 64u)
+24 ((& std::basic_iostream<char, std::char_traits<char> >::_ZTCSd16_So) + 24u)
+32 ((& std::basic_iostream<char, std::char_traits<char> >::_ZTCSd16_So) + 64u)
+40 ((& std::basic_iostream<char, std::char_traits<char> >::_ZTVSd) + 104u)
+48 ((& std::basic_iostream<char, std::char_traits<char> >::_ZTVSd) + 64u)
+
+Construction vtable for std::basic_istream<wchar_t, std::char_traits<wchar_t> > (0x7fdf9fd9a620 instance) in std::basic_iostream<wchar_t, std::char_traits<wchar_t> >
+std::basic_iostream<wchar_t, std::char_traits<wchar_t> >::_ZTCSt14basic_iostreamIwSt11char_traitsIwEE0_St13basic_istreamIwS1_E: 10u entries
+0 24u
+8 (int (*)(...))0
+16 (int (*)(...))(& _ZTISt13basic_istreamIwSt11char_traitsIwEE)
+24 std::basic_istream<_CharT, _Traits>::~basic_istream [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
+32 std::basic_istream<_CharT, _Traits>::~basic_istream [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
+40 -24u
+48 (int (*)(...))-0x00000000000000018
+56 (int (*)(...))(& _ZTISt13basic_istreamIwSt11char_traitsIwEE)
+64 std::basic_istream<wchar_t, std::char_traits<wchar_t> >::_ZTv0_n24_NSt13basic_istreamIwSt11char_traitsIwEED1Ev
+72 std::basic_istream<wchar_t, std::char_traits<wchar_t> >::_ZTv0_n24_NSt13basic_istreamIwSt11char_traitsIwEED0Ev
+
+Construction vtable for std::basic_ostream<wchar_t, std::char_traits<wchar_t> > (0x7fdf9fd9a770 instance) in std::basic_iostream<wchar_t, std::char_traits<wchar_t> >
+std::basic_iostream<wchar_t, std::char_traits<wchar_t> >::_ZTCSt14basic_iostreamIwSt11char_traitsIwEE16_St13basic_ostreamIwS1_E: 10u entries
+0 8u
+8 (int (*)(...))0
+16 (int (*)(...))(& _ZTISt13basic_ostreamIwSt11char_traitsIwEE)
+24 std::basic_ostream<_CharT, _Traits>::~basic_ostream [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
+32 std::basic_ostream<_CharT, _Traits>::~basic_ostream [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
+40 -8u
+48 (int (*)(...))-0x00000000000000008
+56 (int (*)(...))(& _ZTISt13basic_ostreamIwSt11char_traitsIwEE)
+64 std::basic_ostream<wchar_t, std::char_traits<wchar_t> >::_ZTv0_n24_NSt13basic_ostreamIwSt11char_traitsIwEED1Ev
+72 std::basic_ostream<wchar_t, std::char_traits<wchar_t> >::_ZTv0_n24_NSt13basic_ostreamIwSt11char_traitsIwEED0Ev
+
+VTT for std::basic_iostream<wchar_t, std::char_traits<wchar_t> >
+std::basic_iostream<wchar_t, std::char_traits<wchar_t> >::_ZTTSt14basic_iostreamIwSt11char_traitsIwEE: 7u entries
+0 ((& std::basic_iostream<wchar_t, std::char_traits<wchar_t> >::_ZTVSt14basic_iostreamIwSt11char_traitsIwEE) + 24u)
+8 ((& std::basic_iostream<wchar_t, std::char_traits<wchar_t> >::_ZTCSt14basic_iostreamIwSt11char_traitsIwEE0_St13basic_istreamIwS1_E) + 24u)
+16 ((& std::basic_iostream<wchar_t, std::char_traits<wchar_t> >::_ZTCSt14basic_iostreamIwSt11char_traitsIwEE0_St13basic_istreamIwS1_E) + 64u)
+24 ((& std::basic_iostream<wchar_t, std::char_traits<wchar_t> >::_ZTCSt14basic_iostreamIwSt11char_traitsIwEE16_St13basic_ostreamIwS1_E) + 24u)
+32 ((& std::basic_iostream<wchar_t, std::char_traits<wchar_t> >::_ZTCSt14basic_iostreamIwSt11char_traitsIwEE16_St13basic_ostreamIwS1_E) + 64u)
+40 ((& std::basic_iostream<wchar_t, std::char_traits<wchar_t> >::_ZTVSt14basic_iostreamIwSt11char_traitsIwEE) + 104u)
+48 ((& std::basic_iostream<wchar_t, std::char_traits<wchar_t> >::_ZTVSt14basic_iostreamIwSt11char_traitsIwEE) + 64u)
+
+Class QtConcurrent::BlockSizeManager
+ size=96 align=8
+ base size=92 base align=8
+QtConcurrent::BlockSizeManager (0x7fdf9fe04230) 0
+
+Vtable for QFutureWatcherBase
+QFutureWatcherBase::_ZTV18QFutureWatcherBase: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QFutureWatcherBase)
+16 QFutureWatcherBase::metaObject
+24 QFutureWatcherBase::qt_metacast
+32 QFutureWatcherBase::qt_metacall
+40 QFutureWatcherBase::~QFutureWatcherBase
+48 QFutureWatcherBase::~QFutureWatcherBase
+56 QFutureWatcherBase::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QFutureWatcherBase::connectNotify
+104 QFutureWatcherBase::disconnectNotify
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+
+Class QFutureWatcherBase
+ size=16 align=8
+ base size=16 base align=8
+QFutureWatcherBase (0x7fdf9f9cfbd0) 0
+ vptr=((& QFutureWatcherBase::_ZTV18QFutureWatcherBase) + 16u)
+ QObject (0x7fdf9f9cfc40) 0
+ primary-for QFutureWatcherBase (0x7fdf9f9cfbd0)
+
+Vtable for QFactoryInterface
+QFactoryInterface::_ZTV17QFactoryInterface: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QFactoryInterface)
+16 QFactoryInterface::~QFactoryInterface
+24 QFactoryInterface::~QFactoryInterface
+32 __cxa_pure_virtual
+
+Class QFactoryInterface
+ size=8 align=8
+ base size=8 base align=8
+QFactoryInterface (0x7fdf9f8e6e00) 0 nearly-empty
+ vptr=((& QFactoryInterface::_ZTV17QFactoryInterface) + 16u)
+
+Vtable for QTextCodecFactoryInterface
+QTextCodecFactoryInterface::_ZTV26QTextCodecFactoryInterface: 6u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI26QTextCodecFactoryInterface)
+16 QTextCodecFactoryInterface::~QTextCodecFactoryInterface
+24 QTextCodecFactoryInterface::~QTextCodecFactoryInterface
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+
+Class QTextCodecFactoryInterface
+ size=8 align=8
+ base size=8 base align=8
+QTextCodecFactoryInterface (0x7fdf9f909ee0) 0 nearly-empty
+ vptr=((& QTextCodecFactoryInterface::_ZTV26QTextCodecFactoryInterface) + 16u)
+ QFactoryInterface (0x7fdf9f909f50) 0 nearly-empty
+ primary-for QTextCodecFactoryInterface (0x7fdf9f909ee0)
+
+Vtable for QTextCodecPlugin
+QTextCodecPlugin::_ZTV16QTextCodecPlugin: 27u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QTextCodecPlugin)
+16 QTextCodecPlugin::metaObject
+24 QTextCodecPlugin::qt_metacast
+32 QTextCodecPlugin::qt_metacall
+40 QTextCodecPlugin::~QTextCodecPlugin
+48 QTextCodecPlugin::~QTextCodecPlugin
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 __cxa_pure_virtual
+136 __cxa_pure_virtual
+144 __cxa_pure_virtual
+152 QTextCodecPlugin::keys
+160 QTextCodecPlugin::create
+168 (int (*)(...))-0x00000000000000010
+176 (int (*)(...))(& _ZTI16QTextCodecPlugin)
+184 QTextCodecPlugin::_ZThn16_N16QTextCodecPluginD1Ev
+192 QTextCodecPlugin::_ZThn16_N16QTextCodecPluginD0Ev
+200 QTextCodecPlugin::_ZThn16_NK16QTextCodecPlugin4keysEv
+208 QTextCodecPlugin::_ZThn16_N16QTextCodecPlugin6createERK7QString
+
+Class QTextCodecPlugin
+ size=24 align=8
+ base size=24 base align=8
+QTextCodecPlugin (0x7fdf9f90de00) 0
+ vptr=((& QTextCodecPlugin::_ZTV16QTextCodecPlugin) + 16u)
+ QObject (0x7fdf9f9157e0) 0
+ primary-for QTextCodecPlugin (0x7fdf9f90de00)
+ QTextCodecFactoryInterface (0x7fdf9f915850) 16 nearly-empty
+ vptr=((& QTextCodecPlugin::_ZTV16QTextCodecPlugin) + 184u)
+ QFactoryInterface (0x7fdf9f9158c0) 16 nearly-empty
+ primary-for QTextCodecFactoryInterface (0x7fdf9f915850)
+
+Class QLibraryInfo
+ size=1 align=1
+ base size=0 base align=1
+QLibraryInfo (0x7fdf9f92b700) 0 empty
+
+Vtable for QTranslator
+QTranslator::_ZTV11QTranslator: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QTranslator)
+16 QTranslator::metaObject
+24 QTranslator::qt_metacast
+32 QTranslator::qt_metacall
+40 QTranslator::~QTranslator
+48 QTranslator::~QTranslator
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QTranslator::translate
+120 QTranslator::isEmpty
+
+Class QTranslator
+ size=16 align=8
+ base size=16 base align=8
+QTranslator (0x7fdf9f970000) 0
+ vptr=((& QTranslator::_ZTV11QTranslator) + 16u)
+ QObject (0x7fdf9f970070) 0
+ primary-for QTranslator (0x7fdf9f970000)
+
+Class __exception
+ size=40 align=8
+ base size=40 base align=8
+__exception (0x7fdf9f982f50) 0
+
+Vtable for QMimeData
+QMimeData::_ZTV9QMimeData: 17u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QMimeData)
+16 QMimeData::metaObject
+24 QMimeData::qt_metacast
+32 QMimeData::qt_metacall
+40 QMimeData::~QMimeData
+48 QMimeData::~QMimeData
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QMimeData::hasFormat
+120 QMimeData::formats
+128 QMimeData::retrieveData
+
+Class QMimeData
+ size=16 align=8
+ base size=16 base align=8
+QMimeData (0x7fdf9f7ee150) 0
+ vptr=((& QMimeData::_ZTV9QMimeData) + 16u)
+ QObject (0x7fdf9f7ee1c0) 0
+ primary-for QMimeData (0x7fdf9f7ee150)
+
+Vtable for QEventLoop
+QEventLoop::_ZTV10QEventLoop: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QEventLoop)
+16 QEventLoop::metaObject
+24 QEventLoop::qt_metacast
+32 QEventLoop::qt_metacall
+40 QEventLoop::~QEventLoop
+48 QEventLoop::~QEventLoop
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QEventLoop
+ size=16 align=8
+ base size=16 base align=8
+QEventLoop (0x7fdf9f8059a0) 0
+ vptr=((& QEventLoop::_ZTV10QEventLoop) + 16u)
+ QObject (0x7fdf9f805a10) 0
+ primary-for QEventLoop (0x7fdf9f8059a0)
+
+Vtable for QEvent
+QEvent::_ZTV6QEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI6QEvent)
+16 QEvent::~QEvent
+24 QEvent::~QEvent
+
+Class QEvent
+ size=24 align=8
+ base size=20 base align=8
+QEvent (0x7fdf9f846310) 0
+ vptr=((& QEvent::_ZTV6QEvent) + 16u)
+
+Vtable for QTimerEvent
+QTimerEvent::_ZTV11QTimerEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QTimerEvent)
+16 QTimerEvent::~QTimerEvent
+24 QTimerEvent::~QTimerEvent
+
+Class QTimerEvent
+ size=24 align=8
+ base size=24 base align=8
+QTimerEvent (0x7fdf9f85fee0) 0
+ vptr=((& QTimerEvent::_ZTV11QTimerEvent) + 16u)
+ QEvent (0x7fdf9f85ff50) 0
+ primary-for QTimerEvent (0x7fdf9f85fee0)
+
+Vtable for QChildEvent
+QChildEvent::_ZTV11QChildEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QChildEvent)
+16 QChildEvent::~QChildEvent
+24 QChildEvent::~QChildEvent
+
+Class QChildEvent
+ size=32 align=8
+ base size=32 base align=8
+QChildEvent (0x7fdf9f862380) 0
+ vptr=((& QChildEvent::_ZTV11QChildEvent) + 16u)
+ QEvent (0x7fdf9f8623f0) 0
+ primary-for QChildEvent (0x7fdf9f862380)
+
+Vtable for QCustomEvent
+QCustomEvent::_ZTV12QCustomEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QCustomEvent)
+16 QCustomEvent::~QCustomEvent
+24 QCustomEvent::~QCustomEvent
+
+Class QCustomEvent
+ size=24 align=8
+ base size=20 base align=8
+QCustomEvent (0x7fdf9f873620) 0
+ vptr=((& QCustomEvent::_ZTV12QCustomEvent) + 16u)
+ QEvent (0x7fdf9f873690) 0
+ primary-for QCustomEvent (0x7fdf9f873620)
+
+Vtable for QDynamicPropertyChangeEvent
+QDynamicPropertyChangeEvent::_ZTV27QDynamicPropertyChangeEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI27QDynamicPropertyChangeEvent)
+16 QDynamicPropertyChangeEvent::~QDynamicPropertyChangeEvent
+24 QDynamicPropertyChangeEvent::~QDynamicPropertyChangeEvent
+
+Class QDynamicPropertyChangeEvent
+ size=32 align=8
+ base size=32 base align=8
+QDynamicPropertyChangeEvent (0x7fdf9f873e00) 0
+ vptr=((& QDynamicPropertyChangeEvent::_ZTV27QDynamicPropertyChangeEvent) + 16u)
+ QEvent (0x7fdf9f873e70) 0
+ primary-for QDynamicPropertyChangeEvent (0x7fdf9f873e00)
+
+Vtable for QCoreApplication
+QCoreApplication::_ZTV16QCoreApplication: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QCoreApplication)
+16 QCoreApplication::metaObject
+24 QCoreApplication::qt_metacast
+32 QCoreApplication::qt_metacall
+40 QCoreApplication::~QCoreApplication
+48 QCoreApplication::~QCoreApplication
+56 QCoreApplication::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QCoreApplication::notify
+120 QCoreApplication::compressEvent
+
+Class QCoreApplication
+ size=16 align=8
+ base size=16 base align=8
+QCoreApplication (0x7fdf9f884230) 0
+ vptr=((& QCoreApplication::_ZTV16QCoreApplication) + 16u)
+ QObject (0x7fdf9f8842a0) 0
+ primary-for QCoreApplication (0x7fdf9f884230)
+
+Vtable for QSharedMemory
+QSharedMemory::_ZTV13QSharedMemory: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QSharedMemory)
+16 QSharedMemory::metaObject
+24 QSharedMemory::qt_metacast
+32 QSharedMemory::qt_metacall
+40 QSharedMemory::~QSharedMemory
+48 QSharedMemory::~QSharedMemory
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QSharedMemory
+ size=16 align=8
+ base size=16 base align=8
+QSharedMemory (0x7fdf9f6afa80) 0
+ vptr=((& QSharedMemory::_ZTV13QSharedMemory) + 16u)
+ QObject (0x7fdf9f6afaf0) 0
+ primary-for QSharedMemory (0x7fdf9f6afa80)
+
+Class QModelIndex
+ size=24 align=8
+ base size=24 base align=8
+QModelIndex (0x7fdf9f6cf850) 0
+
+Class QPersistentModelIndex
+ size=8 align=8
+ base size=8 base align=8
+QPersistentModelIndex (0x7fdf9f6f7310) 0
+
+Vtable for QAbstractItemModel
+QAbstractItemModel::_ZTV18QAbstractItemModel: 42u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QAbstractItemModel)
+16 QAbstractItemModel::metaObject
+24 QAbstractItemModel::qt_metacast
+32 QAbstractItemModel::qt_metacall
+40 QAbstractItemModel::~QAbstractItemModel
+48 QAbstractItemModel::~QAbstractItemModel
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 __cxa_pure_virtual
+136 __cxa_pure_virtual
+144 QAbstractItemModel::hasChildren
+152 __cxa_pure_virtual
+160 QAbstractItemModel::setData
+168 QAbstractItemModel::headerData
+176 QAbstractItemModel::setHeaderData
+184 QAbstractItemModel::itemData
+192 QAbstractItemModel::setItemData
+200 QAbstractItemModel::mimeTypes
+208 QAbstractItemModel::mimeData
+216 QAbstractItemModel::dropMimeData
+224 QAbstractItemModel::supportedDropActions
+232 QAbstractItemModel::insertRows
+240 QAbstractItemModel::insertColumns
+248 QAbstractItemModel::removeRows
+256 QAbstractItemModel::removeColumns
+264 QAbstractItemModel::fetchMore
+272 QAbstractItemModel::canFetchMore
+280 QAbstractItemModel::flags
+288 QAbstractItemModel::sort
+296 QAbstractItemModel::buddy
+304 QAbstractItemModel::match
+312 QAbstractItemModel::span
+320 QAbstractItemModel::submit
+328 QAbstractItemModel::revert
+
+Class QAbstractItemModel
+ size=16 align=8
+ base size=16 base align=8
+QAbstractItemModel (0x7fdf9f7055b0) 0
+ vptr=((& QAbstractItemModel::_ZTV18QAbstractItemModel) + 16u)
+ QObject (0x7fdf9f705620) 0
+ primary-for QAbstractItemModel (0x7fdf9f7055b0)
+
+Vtable for QAbstractTableModel
+QAbstractTableModel::_ZTV19QAbstractTableModel: 42u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QAbstractTableModel)
+16 QAbstractTableModel::metaObject
+24 QAbstractTableModel::qt_metacast
+32 QAbstractTableModel::qt_metacall
+40 QAbstractTableModel::~QAbstractTableModel
+48 QAbstractTableModel::~QAbstractTableModel
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QAbstractTableModel::index
+120 QAbstractTableModel::parent
+128 __cxa_pure_virtual
+136 __cxa_pure_virtual
+144 QAbstractTableModel::hasChildren
+152 __cxa_pure_virtual
+160 QAbstractItemModel::setData
+168 QAbstractItemModel::headerData
+176 QAbstractItemModel::setHeaderData
+184 QAbstractItemModel::itemData
+192 QAbstractItemModel::setItemData
+200 QAbstractItemModel::mimeTypes
+208 QAbstractItemModel::mimeData
+216 QAbstractTableModel::dropMimeData
+224 QAbstractItemModel::supportedDropActions
+232 QAbstractItemModel::insertRows
+240 QAbstractItemModel::insertColumns
+248 QAbstractItemModel::removeRows
+256 QAbstractItemModel::removeColumns
+264 QAbstractItemModel::fetchMore
+272 QAbstractItemModel::canFetchMore
+280 QAbstractItemModel::flags
+288 QAbstractItemModel::sort
+296 QAbstractItemModel::buddy
+304 QAbstractItemModel::match
+312 QAbstractItemModel::span
+320 QAbstractItemModel::submit
+328 QAbstractItemModel::revert
+
+Class QAbstractTableModel
+ size=16 align=8
+ base size=16 base align=8
+QAbstractTableModel (0x7fdf9f755930) 0
+ vptr=((& QAbstractTableModel::_ZTV19QAbstractTableModel) + 16u)
+ QAbstractItemModel (0x7fdf9f7559a0) 0
+ primary-for QAbstractTableModel (0x7fdf9f755930)
+ QObject (0x7fdf9f755a10) 0
+ primary-for QAbstractItemModel (0x7fdf9f7559a0)
+
+Vtable for QAbstractListModel
+QAbstractListModel::_ZTV18QAbstractListModel: 42u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QAbstractListModel)
+16 QAbstractListModel::metaObject
+24 QAbstractListModel::qt_metacast
+32 QAbstractListModel::qt_metacall
+40 QAbstractListModel::~QAbstractListModel
+48 QAbstractListModel::~QAbstractListModel
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QAbstractListModel::index
+120 QAbstractListModel::parent
+128 __cxa_pure_virtual
+136 QAbstractListModel::columnCount
+144 QAbstractListModel::hasChildren
+152 __cxa_pure_virtual
+160 QAbstractItemModel::setData
+168 QAbstractItemModel::headerData
+176 QAbstractItemModel::setHeaderData
+184 QAbstractItemModel::itemData
+192 QAbstractItemModel::setItemData
+200 QAbstractItemModel::mimeTypes
+208 QAbstractItemModel::mimeData
+216 QAbstractListModel::dropMimeData
+224 QAbstractItemModel::supportedDropActions
+232 QAbstractItemModel::insertRows
+240 QAbstractItemModel::insertColumns
+248 QAbstractItemModel::removeRows
+256 QAbstractItemModel::removeColumns
+264 QAbstractItemModel::fetchMore
+272 QAbstractItemModel::canFetchMore
+280 QAbstractItemModel::flags
+288 QAbstractItemModel::sort
+296 QAbstractItemModel::buddy
+304 QAbstractItemModel::match
+312 QAbstractItemModel::span
+320 QAbstractItemModel::submit
+328 QAbstractItemModel::revert
+
+Class QAbstractListModel
+ size=16 align=8
+ base size=16 base align=8
+QAbstractListModel (0x7fdf9f763ee0) 0
+ vptr=((& QAbstractListModel::_ZTV18QAbstractListModel) + 16u)
+ QAbstractItemModel (0x7fdf9f763f50) 0
+ primary-for QAbstractListModel (0x7fdf9f763ee0)
+ QObject (0x7fdf9f763230) 0
+ primary-for QAbstractItemModel (0x7fdf9f763f50)
+
+Vtable for QSignalMapper
+QSignalMapper::_ZTV13QSignalMapper: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QSignalMapper)
+16 QSignalMapper::metaObject
+24 QSignalMapper::qt_metacast
+32 QSignalMapper::qt_metacall
+40 QSignalMapper::~QSignalMapper
+48 QSignalMapper::~QSignalMapper
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QSignalMapper
+ size=16 align=8
+ base size=16 base align=8
+QSignalMapper (0x7fdf9f5a4000) 0
+ vptr=((& QSignalMapper::_ZTV13QSignalMapper) + 16u)
+ QObject (0x7fdf9f5a4070) 0
+ primary-for QSignalMapper (0x7fdf9f5a4000)
+
+Vtable for QObjectCleanupHandler
+QObjectCleanupHandler::_ZTV21QObjectCleanupHandler: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI21QObjectCleanupHandler)
+16 QObjectCleanupHandler::metaObject
+24 QObjectCleanupHandler::qt_metacast
+32 QObjectCleanupHandler::qt_metacall
+40 QObjectCleanupHandler::~QObjectCleanupHandler
+48 QObjectCleanupHandler::~QObjectCleanupHandler
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QObjectCleanupHandler
+ size=24 align=8
+ base size=24 base align=8
+QObjectCleanupHandler (0x7fdf9f5bc3f0) 0
+ vptr=((& QObjectCleanupHandler::_ZTV21QObjectCleanupHandler) + 16u)
+ QObject (0x7fdf9f5bc460) 0
+ primary-for QObjectCleanupHandler (0x7fdf9f5bc3f0)
+
+Class QBasicTimer
+ size=4 align=4
+ base size=4 base align=4
+QBasicTimer (0x7fdf9f5cc540) 0
+
+Vtable for QSocketNotifier
+QSocketNotifier::_ZTV15QSocketNotifier: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QSocketNotifier)
+16 QSocketNotifier::metaObject
+24 QSocketNotifier::qt_metacast
+32 QSocketNotifier::qt_metacall
+40 QSocketNotifier::~QSocketNotifier
+48 QSocketNotifier::~QSocketNotifier
+56 QSocketNotifier::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QSocketNotifier
+ size=32 align=8
+ base size=25 base align=8
+QSocketNotifier (0x7fdf9f5d7930) 0
+ vptr=((& QSocketNotifier::_ZTV15QSocketNotifier) + 16u)
+ QObject (0x7fdf9f5d79a0) 0
+ primary-for QSocketNotifier (0x7fdf9f5d7930)
+
+Vtable for QTimer
+QTimer::_ZTV6QTimer: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI6QTimer)
+16 QTimer::metaObject
+24 QTimer::qt_metacast
+32 QTimer::qt_metacall
+40 QTimer::~QTimer
+48 QTimer::~QTimer
+56 QObject::event
+64 QObject::eventFilter
+72 QTimer::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QTimer
+ size=32 align=8
+ base size=29 base align=8
+QTimer (0x7fdf9f5f4cb0) 0
+ vptr=((& QTimer::_ZTV6QTimer) + 16u)
+ QObject (0x7fdf9f5f4d20) 0
+ primary-for QTimer (0x7fdf9f5f4cb0)
+
+Vtable for QAbstractEventDispatcher
+QAbstractEventDispatcher::_ZTV24QAbstractEventDispatcher: 27u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI24QAbstractEventDispatcher)
+16 QAbstractEventDispatcher::metaObject
+24 QAbstractEventDispatcher::qt_metacast
+32 QAbstractEventDispatcher::qt_metacall
+40 QAbstractEventDispatcher::~QAbstractEventDispatcher
+48 QAbstractEventDispatcher::~QAbstractEventDispatcher
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 __cxa_pure_virtual
+136 __cxa_pure_virtual
+144 __cxa_pure_virtual
+152 __cxa_pure_virtual
+160 __cxa_pure_virtual
+168 __cxa_pure_virtual
+176 __cxa_pure_virtual
+184 __cxa_pure_virtual
+192 __cxa_pure_virtual
+200 QAbstractEventDispatcher::startingUp
+208 QAbstractEventDispatcher::closingDown
+
+Class QAbstractEventDispatcher
+ size=16 align=8
+ base size=16 base align=8
+QAbstractEventDispatcher (0x7fdf9f6182a0) 0
+ vptr=((& QAbstractEventDispatcher::_ZTV24QAbstractEventDispatcher) + 16u)
+ QObject (0x7fdf9f618310) 0
+ primary-for QAbstractEventDispatcher (0x7fdf9f6182a0)
+
+Class QMetaMethod
+ size=16 align=8
+ base size=12 base align=8
+QMetaMethod (0x7fdf9f632150) 0
+
+Class QMetaEnum
+ size=16 align=8
+ base size=12 base align=8
+QMetaEnum (0x7fdf9f64e5b0) 0
+
+Class QMetaProperty
+ size=32 align=8
+ base size=32 base align=8
+QMetaProperty (0x7fdf9f659310) 0
+
+Class QMetaClassInfo
+ size=16 align=8
+ base size=12 base align=8
+QMetaClassInfo (0x7fdf9f6599a0) 0
+
+Class QSystemSemaphore
+ size=8 align=8
+ base size=8 base align=8
+QSystemSemaphore (0x7fdf9f66d4d0) 0
+
+Vtable for QLibrary
+QLibrary::_ZTV8QLibrary: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI8QLibrary)
+16 QLibrary::metaObject
+24 QLibrary::qt_metacast
+32 QLibrary::qt_metacall
+40 QLibrary::~QLibrary
+48 QLibrary::~QLibrary
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QLibrary
+ size=32 align=8
+ base size=25 base align=8
+QLibrary (0x7fdf9f66de00) 0
+ vptr=((& QLibrary::_ZTV8QLibrary) + 16u)
+ QObject (0x7fdf9f66de70) 0
+ primary-for QLibrary (0x7fdf9f66de00)
+
+Vtable for QPluginLoader
+QPluginLoader::_ZTV13QPluginLoader: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QPluginLoader)
+16 QPluginLoader::metaObject
+24 QPluginLoader::qt_metacast
+32 QPluginLoader::qt_metacall
+40 QPluginLoader::~QPluginLoader
+48 QPluginLoader::~QPluginLoader
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QPluginLoader
+ size=32 align=8
+ base size=25 base align=8
+QPluginLoader (0x7fdf9f4b18c0) 0
+ vptr=((& QPluginLoader::_ZTV13QPluginLoader) + 16u)
+ QObject (0x7fdf9f4b1930) 0
+ primary-for QPluginLoader (0x7fdf9f4b18c0)
+
+Class QUuid
+ size=16 align=4
+ base size=16 base align=4
+QUuid (0x7fdf9f4d7070) 0
+
+Class QSemaphore
+ size=8 align=8
+ base size=8 base align=8
+QSemaphore (0x7fdf9f4f39a0) 0
+
+Class QThreadStorageData
+ size=4 align=4
+ base size=4 base align=4
+QThreadStorageData (0x7fdf9f4f3ee0) 0
+
+Class QReadWriteLock
+ size=8 align=8
+ base size=8 base align=8
+QReadWriteLock (0x7fdf9f506690) 0
+
+Class QReadLocker
+ size=8 align=8
+ base size=8 base align=8
+QReadLocker (0x7fdf9f506d20) 0
+
+Class QWriteLocker
+ size=8 align=8
+ base size=8 base align=8
+QWriteLocker (0x7fdf9f5350e0) 0
+
+Class QScriptValue
+ size=8 align=8
+ base size=8 base align=8
+QScriptValue (0x7fdf9f547460) 0
+
+Vtable for QScriptClassPropertyIterator
+QScriptClassPropertyIterator::_ZTV28QScriptClassPropertyIterator: 13u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI28QScriptClassPropertyIterator)
+16 QScriptClassPropertyIterator::~QScriptClassPropertyIterator
+24 QScriptClassPropertyIterator::~QScriptClassPropertyIterator
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+48 __cxa_pure_virtual
+56 __cxa_pure_virtual
+64 __cxa_pure_virtual
+72 __cxa_pure_virtual
+80 __cxa_pure_virtual
+88 QScriptClassPropertyIterator::id
+96 QScriptClassPropertyIterator::flags
+
+Class QScriptClassPropertyIterator
+ size=16 align=8
+ base size=16 base align=8
+QScriptClassPropertyIterator (0x7fdf9f3f3310) 0
+ vptr=((& QScriptClassPropertyIterator::_ZTV28QScriptClassPropertyIterator) + 16u)
+
+Vtable for QScriptEngineAgent
+QScriptEngineAgent::_ZTV18QScriptEngineAgent: 15u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QScriptEngineAgent)
+16 QScriptEngineAgent::~QScriptEngineAgent
+24 QScriptEngineAgent::~QScriptEngineAgent
+32 QScriptEngineAgent::scriptLoad
+40 QScriptEngineAgent::scriptUnload
+48 QScriptEngineAgent::contextPush
+56 QScriptEngineAgent::contextPop
+64 QScriptEngineAgent::functionEntry
+72 QScriptEngineAgent::functionExit
+80 QScriptEngineAgent::positionChange
+88 QScriptEngineAgent::exceptionThrow
+96 QScriptEngineAgent::exceptionCatch
+104 QScriptEngineAgent::supportsExtension
+112 QScriptEngineAgent::extension
+
+Class QScriptEngineAgent
+ size=16 align=8
+ base size=16 base align=8
+QScriptEngineAgent (0x7fdf9f3f3ee0) 0
+ vptr=((& QScriptEngineAgent::_ZTV18QScriptEngineAgent) + 16u)
+
+Vtable for QScriptClass
+QScriptClass::_ZTV12QScriptClass: 13u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QScriptClass)
+16 QScriptClass::~QScriptClass
+24 QScriptClass::~QScriptClass
+32 QScriptClass::queryProperty
+40 QScriptClass::property
+48 QScriptClass::setProperty
+56 QScriptClass::propertyFlags
+64 QScriptClass::newIterator
+72 QScriptClass::prototype
+80 QScriptClass::name
+88 QScriptClass::supportsExtension
+96 QScriptClass::extension
+
+Class QScriptClass
+ size=16 align=8
+ base size=16 base align=8
+QScriptClass (0x7fdf9f404a80) 0
+ vptr=((& QScriptClass::_ZTV12QScriptClass) + 16u)
+
+Class QScriptContext
+ size=8 align=8
+ base size=8 base align=8
+QScriptContext (0x7fdf9f439850) 0
+
+Class QScriptString
+ size=8 align=8
+ base size=8 base align=8
+QScriptString (0x7fdf9f4525b0) 0
+
+Class QScriptSyntaxCheckResult
+ size=8 align=8
+ base size=8 base align=8
+QScriptSyntaxCheckResult (0x7fdf9f45e1c0) 0
+
+Vtable for QScriptEngine
+QScriptEngine::_ZTV13QScriptEngine: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QScriptEngine)
+16 QScriptEngine::metaObject
+24 QScriptEngine::qt_metacast
+32 QScriptEngine::qt_metacall
+40 QScriptEngine::~QScriptEngine
+48 QScriptEngine::~QScriptEngine
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QScriptEngine
+ size=16 align=8
+ base size=16 base align=8
+QScriptEngine (0x7fdf9f45ed20) 0
+ vptr=((& QScriptEngine::_ZTV13QScriptEngine) + 16u)
+ QObject (0x7fdf9f45ed90) 0
+ primary-for QScriptEngine (0x7fdf9f45ed20)
+
+Vtable for QScriptExtensionInterface
+QScriptExtensionInterface::_ZTV25QScriptExtensionInterface: 6u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI25QScriptExtensionInterface)
+16 QScriptExtensionInterface::~QScriptExtensionInterface
+24 QScriptExtensionInterface::~QScriptExtensionInterface
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+
+Class QScriptExtensionInterface
+ size=8 align=8
+ base size=8 base align=8
+QScriptExtensionInterface (0x7fdf9f2e25b0) 0 nearly-empty
+ vptr=((& QScriptExtensionInterface::_ZTV25QScriptExtensionInterface) + 16u)
+ QFactoryInterface (0x7fdf9f2e2620) 0 nearly-empty
+ primary-for QScriptExtensionInterface (0x7fdf9f2e25b0)
+
+Vtable for QScriptExtensionPlugin
+QScriptExtensionPlugin::_ZTV22QScriptExtensionPlugin: 22u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI22QScriptExtensionPlugin)
+16 QScriptExtensionPlugin::metaObject
+24 QScriptExtensionPlugin::qt_metacast
+32 QScriptExtensionPlugin::qt_metacall
+40 QScriptExtensionPlugin::~QScriptExtensionPlugin
+48 QScriptExtensionPlugin::~QScriptExtensionPlugin
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 (int (*)(...))-0x00000000000000010
+136 (int (*)(...))(& _ZTI22QScriptExtensionPlugin)
+144 QScriptExtensionPlugin::_ZThn16_N22QScriptExtensionPluginD1Ev
+152 QScriptExtensionPlugin::_ZThn16_N22QScriptExtensionPluginD0Ev
+160 __cxa_pure_virtual
+168 __cxa_pure_virtual
+
+Class QScriptExtensionPlugin
+ size=24 align=8
+ base size=24 base align=8
+QScriptExtensionPlugin (0x7fdf9f2d3b80) 0
+ vptr=((& QScriptExtensionPlugin::_ZTV22QScriptExtensionPlugin) + 16u)
+ QObject (0x7fdf9f2e2e70) 0
+ primary-for QScriptExtensionPlugin (0x7fdf9f2d3b80)
+ QScriptExtensionInterface (0x7fdf9f2e2ee0) 16 nearly-empty
+ vptr=((& QScriptExtensionPlugin::_ZTV22QScriptExtensionPlugin) + 144u)
+ QFactoryInterface (0x7fdf9f2e2f50) 16 nearly-empty
+ primary-for QScriptExtensionInterface (0x7fdf9f2e2ee0)
+
+Class QScriptable
+ size=8 align=8
+ base size=8 base align=8
+QScriptable (0x7fdf9f2f0e00) 0
+
+Class QScriptValueIterator
+ size=8 align=8
+ base size=8 base align=8
+QScriptValueIterator (0x7fdf9f301770) 0
+
+Class QScriptContextInfo
+ size=8 align=8
+ base size=8 base align=8
+QScriptContextInfo (0x7fdf9f30d460) 0
+
diff --git a/tests/auto/bic/data/QtScript.4.6.0.linux-gcc-amd64.txt b/tests/auto/bic/data/QtScript.4.6.0.linux-gcc-amd64.txt
new file mode 100644
index 0000000000..3cc35fadb1
--- /dev/null
+++ b/tests/auto/bic/data/QtScript.4.6.0.linux-gcc-amd64.txt
@@ -0,0 +1,2811 @@
+Class QSysInfo
+ size=1 align=1
+ base size=0 base align=1
+QSysInfo (0x7fea87567230) 0 empty
+
+Class QBool
+ size=1 align=1
+ base size=1 base align=1
+QBool (0x7fea87567e70) 0
+
+Class qIsNull(double)::U
+ size=8 align=8
+ base size=8 base align=8
+qIsNull(double)::U (0x7fea86d79540) 0
+
+Class qIsNull(float)::U
+ size=4 align=4
+ base size=4 base align=4
+qIsNull(float)::U (0x7fea86d797e0) 0
+
+Class QFlag
+ size=4 align=4
+ base size=4 base align=4
+QFlag (0x7fea86db2690) 0
+
+Class QIncompatibleFlag
+ size=4 align=4
+ base size=4 base align=4
+QIncompatibleFlag (0x7fea86db2e70) 0
+
+Class QLatin1Char
+ size=1 align=1
+ base size=1 base align=1
+QLatin1Char (0x7fea86de15b0) 0
+
+Class QChar
+ size=2 align=2
+ base size=2 base align=2
+QChar (0x7fea86e08150) 0
+
+Class QBasicAtomicInt
+ size=4 align=4
+ base size=4 base align=4
+QBasicAtomicInt (0x7fea86c6f310) 0
+
+Class QAtomicInt
+ size=4 align=4
+ base size=4 base align=4
+QAtomicInt (0x7fea86cadcb0) 0
+ QBasicAtomicInt (0x7fea86cadd20) 0
+
+Class QInternal
+ size=1 align=1
+ base size=0 base align=1
+QInternal (0x7fea86b014d0) 0 empty
+
+Class __locale_struct
+ size=232 align=8
+ base size=232 base align=8
+__locale_struct (0x7fea86b01700) 0
+
+Class QByteArray::Data
+ size=32 align=8
+ base size=32 base align=8
+QByteArray::Data (0x7fea86b3caf0) 0
+
+Class QByteArray
+ size=8 align=8
+ base size=8 base align=8
+QByteArray (0x7fea86b3ca80) 0
+
+Class QByteRef
+ size=16 align=8
+ base size=12 base align=8
+QByteRef (0x7fea869e0380) 0
+
+Class QString::Null
+ size=1 align=1
+ base size=0 base align=1
+QString::Null (0x7fea868dfd20) 0 empty
+
+Class QString::Data
+ size=32 align=8
+ base size=32 base align=8
+QString::Data (0x7fea868f85b0) 0
+
+Class QString
+ size=8 align=8
+ base size=8 base align=8
+QString (0x7fea8685abd0) 0
+
+Class QLatin1String
+ size=8 align=8
+ base size=8 base align=8
+QLatin1String (0x7fea867d09a0) 0
+
+Class QCharRef
+ size=16 align=8
+ base size=12 base align=8
+QCharRef (0x7fea8666f000) 0
+
+Class QConstString
+ size=8 align=8
+ base size=8 base align=8
+QConstString (0x7fea865b88c0) 0
+ QString (0x7fea865b8930) 0
+
+Class QStringRef
+ size=16 align=8
+ base size=16 base align=8
+QStringRef (0x7fea865de310) 0
+
+Class QGenericArgument
+ size=16 align=8
+ base size=16 base align=8
+QGenericArgument (0x7fea86415700) 0
+
+Class QGenericReturnArgument
+ size=16 align=8
+ base size=16 base align=8
+QGenericReturnArgument (0x7fea864202a0) 0
+ QGenericArgument (0x7fea86420310) 0
+
+Class QMetaObject
+ size=32 align=8
+ base size=32 base align=8
+QMetaObject (0x7fea86420b60) 0
+
+Class QMetaObjectExtraData
+ size=16 align=8
+ base size=16 base align=8
+QMetaObjectExtraData (0x7fea8644abd0) 0
+
+Vtable for std::exception
+std::exception::_ZTVSt9exception: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt9exception)
+16 std::exception::~exception
+24 std::exception::~exception
+32 std::exception::what
+
+Class std::exception
+ size=8 align=8
+ base size=8 base align=8
+std::exception (0x7fea8649e1c0) 0 nearly-empty
+ vptr=((& std::exception::_ZTVSt9exception) + 16u)
+
+Vtable for std::bad_exception
+std::bad_exception::_ZTVSt13bad_exception: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt13bad_exception)
+16 std::bad_exception::~bad_exception
+24 std::bad_exception::~bad_exception
+32 std::bad_exception::what
+
+Class std::bad_exception
+ size=8 align=8
+ base size=8 base align=8
+std::bad_exception (0x7fea8649e770) 0 nearly-empty
+ vptr=((& std::bad_exception::_ZTVSt13bad_exception) + 16u)
+ std::exception (0x7fea8649e7e0) 0 nearly-empty
+ primary-for std::bad_exception (0x7fea8649e770)
+
+Vtable for std::bad_alloc
+std::bad_alloc::_ZTVSt9bad_alloc: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt9bad_alloc)
+16 std::bad_alloc::~bad_alloc
+24 std::bad_alloc::~bad_alloc
+32 std::bad_alloc::what
+
+Class std::bad_alloc
+ size=8 align=8
+ base size=8 base align=8
+std::bad_alloc (0x7fea8649e930) 0 nearly-empty
+ vptr=((& std::bad_alloc::_ZTVSt9bad_alloc) + 16u)
+ std::exception (0x7fea864b3000) 0 nearly-empty
+ primary-for std::bad_alloc (0x7fea8649e930)
+
+Class std::nothrow_t
+ size=1 align=1
+ base size=0 base align=1
+std::nothrow_t (0x7fea864b3850) 0 empty
+
+Class QListData::Data
+ size=32 align=8
+ base size=32 base align=8
+QListData::Data (0x7fea864b3d90) 0
+
+Class QListData
+ size=8 align=8
+ base size=8 base align=8
+QListData (0x7fea864b3d20) 0
+
+Class QScopedPointerPodDeleter
+ size=1 align=1
+ base size=0 base align=1
+QScopedPointerPodDeleter (0x7fea863dd850) 0 empty
+
+Vtable for QObjectData
+QObjectData::_ZTV11QObjectData: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QObjectData)
+16 __cxa_pure_virtual
+24 __cxa_pure_virtual
+
+Class QObjectData
+ size=48 align=8
+ base size=48 base align=8
+QObjectData (0x7fea863fd2a0) 0
+ vptr=((& QObjectData::_ZTV11QObjectData) + 16u)
+
+Vtable for QObject
+QObject::_ZTV7QObject: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QObject)
+16 QObject::metaObject
+24 QObject::qt_metacast
+32 QObject::qt_metacall
+40 QObject::~QObject
+48 QObject::~QObject
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QObject
+ size=16 align=8
+ base size=16 base align=8
+QObject (0x7fea863fd5b0) 0
+ vptr=((& QObject::_ZTV7QObject) + 16u)
+
+Vtable for QObjectUserData
+QObjectUserData::_ZTV15QObjectUserData: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QObjectUserData)
+16 QObjectUserData::~QObjectUserData
+24 QObjectUserData::~QObjectUserData
+
+Class QObjectUserData
+ size=8 align=8
+ base size=8 base align=8
+QObjectUserData (0x7fea86272b60) 0 nearly-empty
+ vptr=((& QObjectUserData::_ZTV15QObjectUserData) + 16u)
+
+Vtable for QIODevice
+QIODevice::_ZTV9QIODevice: 30u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QIODevice)
+16 QIODevice::metaObject
+24 QIODevice::qt_metacast
+32 QIODevice::qt_metacall
+40 QIODevice::~QIODevice
+48 QIODevice::~QIODevice
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QIODevice::isSequential
+120 QIODevice::open
+128 QIODevice::close
+136 QIODevice::pos
+144 QIODevice::size
+152 QIODevice::seek
+160 QIODevice::atEnd
+168 QIODevice::reset
+176 QIODevice::bytesAvailable
+184 QIODevice::bytesToWrite
+192 QIODevice::canReadLine
+200 QIODevice::waitForReadyRead
+208 QIODevice::waitForBytesWritten
+216 __cxa_pure_virtual
+224 QIODevice::readLineData
+232 __cxa_pure_virtual
+
+Class QIODevice
+ size=16 align=8
+ base size=16 base align=8
+QIODevice (0x7fea86283150) 0
+ vptr=((& QIODevice::_ZTV9QIODevice) + 16u)
+ QObject (0x7fea862831c0) 0
+ primary-for QIODevice (0x7fea86283150)
+
+Class _IO_marker
+ size=24 align=8
+ base size=24 base align=8
+_IO_marker (0x7fea862e6cb0) 0
+
+Class _IO_FILE
+ size=216 align=8
+ base size=216 base align=8
+_IO_FILE (0x7fea862e6d20) 0
+
+Vtable for QFile
+QFile::_ZTV5QFile: 31u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI5QFile)
+16 QFile::metaObject
+24 QFile::qt_metacast
+32 QFile::qt_metacall
+40 QFile::~QFile
+48 QFile::~QFile
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QFile::isSequential
+120 QFile::open
+128 QFile::close
+136 QFile::pos
+144 QFile::size
+152 QFile::seek
+160 QFile::atEnd
+168 QIODevice::reset
+176 QIODevice::bytesAvailable
+184 QIODevice::bytesToWrite
+192 QIODevice::canReadLine
+200 QIODevice::waitForReadyRead
+208 QIODevice::waitForBytesWritten
+216 QFile::readData
+224 QFile::readLineData
+232 QFile::writeData
+240 QFile::fileEngine
+
+Class QFile
+ size=16 align=8
+ base size=16 base align=8
+QFile (0x7fea862e6e00) 0
+ vptr=((& QFile::_ZTV5QFile) + 16u)
+ QIODevice (0x7fea862e6e70) 0
+ primary-for QFile (0x7fea862e6e00)
+ QObject (0x7fea862e6ee0) 0
+ primary-for QIODevice (0x7fea862e6e70)
+
+Class QFileInfo
+ size=8 align=8
+ base size=8 base align=8
+QFileInfo (0x7fea86188070) 0
+
+Vtable for QDataStream
+QDataStream::_ZTV11QDataStream: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QDataStream)
+16 QDataStream::~QDataStream
+24 QDataStream::~QDataStream
+
+Class QDataStream
+ size=40 align=8
+ base size=40 base align=8
+QDataStream (0x7fea861dca10) 0
+ vptr=((& QDataStream::_ZTV11QDataStream) + 16u)
+
+Class QRegExp
+ size=8 align=8
+ base size=8 base align=8
+QRegExp (0x7fea86045e70) 0
+
+Class QStringMatcher::Data
+ size=272 align=8
+ base size=272 base align=8
+QStringMatcher::Data (0x7fea860ad2a0) 0
+
+Class QStringMatcher
+ size=1048 align=8
+ base size=1048 base align=8
+QStringMatcher (0x7fea860a1c40) 0
+
+Class QStringList
+ size=8 align=8
+ base size=8 base align=8
+QStringList (0x7fea860ad850) 0
+ QList<QString> (0x7fea860ad8c0) 0
+
+Class QDir
+ size=8 align=8
+ base size=8 base align=8
+QDir (0x7fea85f4b4d0) 0
+
+Class QAbstractFileEngine::ExtensionOption
+ size=1 align=1
+ base size=0 base align=1
+QAbstractFileEngine::ExtensionOption (0x7fea85ff38c0) 0 empty
+
+Class QAbstractFileEngine::ExtensionReturn
+ size=1 align=1
+ base size=0 base align=1
+QAbstractFileEngine::ExtensionReturn (0x7fea85ff3930) 0 empty
+
+Class QAbstractFileEngine::MapExtensionOption
+ size=24 align=8
+ base size=20 base align=8
+QAbstractFileEngine::MapExtensionOption (0x7fea85ff39a0) 0
+ QAbstractFileEngine::ExtensionOption (0x7fea85ff3a10) 0 empty
+
+Class QAbstractFileEngine::MapExtensionReturn
+ size=8 align=8
+ base size=8 base align=8
+QAbstractFileEngine::MapExtensionReturn (0x7fea85ff3bd0) 0
+ QAbstractFileEngine::ExtensionReturn (0x7fea85ff3c40) 0 empty
+
+Class QAbstractFileEngine::UnMapExtensionOption
+ size=8 align=8
+ base size=8 base align=8
+QAbstractFileEngine::UnMapExtensionOption (0x7fea85ff3cb0) 0
+ QAbstractFileEngine::ExtensionOption (0x7fea85ff3d20) 0 empty
+
+Vtable for QAbstractFileEngine
+QAbstractFileEngine::_ZTV19QAbstractFileEngine: 36u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QAbstractFileEngine)
+16 QAbstractFileEngine::~QAbstractFileEngine
+24 QAbstractFileEngine::~QAbstractFileEngine
+32 QAbstractFileEngine::open
+40 QAbstractFileEngine::close
+48 QAbstractFileEngine::flush
+56 QAbstractFileEngine::size
+64 QAbstractFileEngine::pos
+72 QAbstractFileEngine::seek
+80 QAbstractFileEngine::isSequential
+88 QAbstractFileEngine::remove
+96 QAbstractFileEngine::copy
+104 QAbstractFileEngine::rename
+112 QAbstractFileEngine::link
+120 QAbstractFileEngine::mkdir
+128 QAbstractFileEngine::rmdir
+136 QAbstractFileEngine::setSize
+144 QAbstractFileEngine::caseSensitive
+152 QAbstractFileEngine::isRelativePath
+160 QAbstractFileEngine::entryList
+168 QAbstractFileEngine::fileFlags
+176 QAbstractFileEngine::setPermissions
+184 QAbstractFileEngine::fileName
+192 QAbstractFileEngine::ownerId
+200 QAbstractFileEngine::owner
+208 QAbstractFileEngine::fileTime
+216 QAbstractFileEngine::setFileName
+224 QAbstractFileEngine::handle
+232 QAbstractFileEngine::beginEntryList
+240 QAbstractFileEngine::endEntryList
+248 QAbstractFileEngine::read
+256 QAbstractFileEngine::readLine
+264 QAbstractFileEngine::write
+272 QAbstractFileEngine::extension
+280 QAbstractFileEngine::supportsExtension
+
+Class QAbstractFileEngine
+ size=16 align=8
+ base size=16 base align=8
+QAbstractFileEngine (0x7fea85fd8850) 0
+ vptr=((& QAbstractFileEngine::_ZTV19QAbstractFileEngine) + 16u)
+
+Vtable for QAbstractFileEngineHandler
+QAbstractFileEngineHandler::_ZTV26QAbstractFileEngineHandler: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI26QAbstractFileEngineHandler)
+16 QAbstractFileEngineHandler::~QAbstractFileEngineHandler
+24 QAbstractFileEngineHandler::~QAbstractFileEngineHandler
+32 __cxa_pure_virtual
+
+Class QAbstractFileEngineHandler
+ size=8 align=8
+ base size=8 base align=8
+QAbstractFileEngineHandler (0x7fea85e2abd0) 0 nearly-empty
+ vptr=((& QAbstractFileEngineHandler::_ZTV26QAbstractFileEngineHandler) + 16u)
+
+Vtable for QAbstractFileEngineIterator
+QAbstractFileEngineIterator::_ZTV27QAbstractFileEngineIterator: 9u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI27QAbstractFileEngineIterator)
+16 QAbstractFileEngineIterator::~QAbstractFileEngineIterator
+24 QAbstractFileEngineIterator::~QAbstractFileEngineIterator
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+48 __cxa_pure_virtual
+56 QAbstractFileEngineIterator::currentFileInfo
+64 QAbstractFileEngineIterator::entryInfo
+
+Class QAbstractFileEngineIterator
+ size=16 align=8
+ base size=16 base align=8
+QAbstractFileEngineIterator (0x7fea85e2ad90) 0
+ vptr=((& QAbstractFileEngineIterator::_ZTV27QAbstractFileEngineIterator) + 16u)
+
+Vtable for QBuffer
+QBuffer::_ZTV7QBuffer: 30u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QBuffer)
+16 QBuffer::metaObject
+24 QBuffer::qt_metacast
+32 QBuffer::qt_metacall
+40 QBuffer::~QBuffer
+48 QBuffer::~QBuffer
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QBuffer::connectNotify
+104 QBuffer::disconnectNotify
+112 QIODevice::isSequential
+120 QBuffer::open
+128 QBuffer::close
+136 QBuffer::pos
+144 QBuffer::size
+152 QBuffer::seek
+160 QBuffer::atEnd
+168 QIODevice::reset
+176 QIODevice::bytesAvailable
+184 QIODevice::bytesToWrite
+192 QBuffer::canReadLine
+200 QIODevice::waitForReadyRead
+208 QIODevice::waitForBytesWritten
+216 QBuffer::readData
+224 QIODevice::readLineData
+232 QBuffer::writeData
+
+Class QBuffer
+ size=16 align=8
+ base size=16 base align=8
+QBuffer (0x7fea85e3d690) 0
+ vptr=((& QBuffer::_ZTV7QBuffer) + 16u)
+ QIODevice (0x7fea85e3d700) 0
+ primary-for QBuffer (0x7fea85e3d690)
+ QObject (0x7fea85e3d770) 0
+ primary-for QIODevice (0x7fea85e3d700)
+
+Class QHashData::Node
+ size=16 align=8
+ base size=16 base align=8
+QHashData::Node (0x7fea85e7ee00) 0
+
+Class QHashData
+ size=40 align=8
+ base size=40 base align=8
+QHashData (0x7fea85e7ed90) 0
+
+Class QHashDummyValue
+ size=1 align=1
+ base size=0 base align=1
+QHashDummyValue (0x7fea85ea1150) 0 empty
+
+Class QMapData::Node
+ size=16 align=8
+ base size=16 base align=8
+QMapData::Node (0x7fea85da0a80) 0
+
+Class QMapData
+ size=128 align=8
+ base size=128 base align=8
+QMapData (0x7fea85da0a10) 0
+
+Vtable for QSystemLocale
+QSystemLocale::_ZTV13QSystemLocale: 6u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QSystemLocale)
+16 QSystemLocale::~QSystemLocale
+24 QSystemLocale::~QSystemLocale
+32 QSystemLocale::query
+40 QSystemLocale::fallbackLocale
+
+Class QSystemLocale
+ size=8 align=8
+ base size=8 base align=8
+QSystemLocale (0x7fea85cde690) 0 nearly-empty
+ vptr=((& QSystemLocale::_ZTV13QSystemLocale) + 16u)
+
+Class QLocale::Data
+ size=4 align=2
+ base size=4 base align=2
+QLocale::Data (0x7fea85b26d90) 0
+
+Class QLocale
+ size=8 align=8
+ base size=8 base align=8
+QLocale (0x7fea85cdeaf0) 0
+
+Class QTextCodec::ConverterState
+ size=32 align=8
+ base size=32 base align=8
+QTextCodec::ConverterState (0x7fea85b7ebd0) 0
+
+Vtable for QTextCodec
+QTextCodec::_ZTV10QTextCodec: 9u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QTextCodec)
+16 __cxa_pure_virtual
+24 QTextCodec::aliases
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+48 __cxa_pure_virtual
+56 QTextCodec::~QTextCodec
+64 QTextCodec::~QTextCodec
+
+Class QTextCodec
+ size=8 align=8
+ base size=8 base align=8
+QTextCodec (0x7fea85b6f460) 0 nearly-empty
+ vptr=((& QTextCodec::_ZTV10QTextCodec) + 16u)
+
+Class QTextEncoder
+ size=40 align=8
+ base size=40 base align=8
+QTextEncoder (0x7fea85bf1150) 0
+
+Class QTextDecoder
+ size=40 align=8
+ base size=40 base align=8
+QTextDecoder (0x7fea85bf1f50) 0
+
+Vtable for QTextStream
+QTextStream::_ZTV11QTextStream: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QTextStream)
+16 QTextStream::~QTextStream
+24 QTextStream::~QTextStream
+
+Class QTextStream
+ size=16 align=8
+ base size=16 base align=8
+QTextStream (0x7fea85bf9d90) 0
+ vptr=((& QTextStream::_ZTV11QTextStream) + 16u)
+
+Class QTextStreamManipulator
+ size=40 align=8
+ base size=38 base align=8
+QTextStreamManipulator (0x7fea85a72a80) 0
+
+Vtable for QTextIStream
+QTextIStream::_ZTV12QTextIStream: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QTextIStream)
+16 QTextIStream::~QTextIStream
+24 QTextIStream::~QTextIStream
+
+Class QTextIStream
+ size=16 align=8
+ base size=16 base align=8
+QTextIStream (0x7fea85aa3070) 0
+ vptr=((& QTextIStream::_ZTV12QTextIStream) + 16u)
+ QTextStream (0x7fea85aa30e0) 0
+ primary-for QTextIStream (0x7fea85aa3070)
+
+Vtable for QTextOStream
+QTextOStream::_ZTV12QTextOStream: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QTextOStream)
+16 QTextOStream::~QTextOStream
+24 QTextOStream::~QTextOStream
+
+Class QTextOStream
+ size=16 align=8
+ base size=16 base align=8
+QTextOStream (0x7fea85aafee0) 0
+ vptr=((& QTextOStream::_ZTV12QTextOStream) + 16u)
+ QTextStream (0x7fea85aaff50) 0
+ primary-for QTextOStream (0x7fea85aafee0)
+
+Class wait
+ size=4 align=4
+ base size=4 base align=4
+wait (0x7fea85ac4d90) 0
+
+Class timespec
+ size=16 align=8
+ base size=16 base align=8
+timespec (0x7fea85ad10e0) 0
+
+Class timeval
+ size=16 align=8
+ base size=16 base align=8
+timeval (0x7fea85ad1150) 0
+
+Class __pthread_internal_list
+ size=16 align=8
+ base size=16 base align=8
+__pthread_internal_list (0x7fea85ad12a0) 0
+
+Class random_data
+ size=48 align=8
+ base size=48 base align=8
+random_data (0x7fea85ad1850) 0
+
+Class drand48_data
+ size=24 align=8
+ base size=24 base align=8
+drand48_data (0x7fea85ad18c0) 0
+
+Class QVectorData
+ size=16 align=4
+ base size=16 base align=4
+QVectorData (0x7fea85ad1930) 0
+
+Class QContiguousCacheData
+ size=24 align=4
+ base size=24 base align=4
+QContiguousCacheData (0x7fea8588e620) 0
+
+Class QDebug::Stream
+ size=40 align=8
+ base size=34 base align=8
+QDebug::Stream (0x7fea856f0150) 0
+
+Class QDebug
+ size=8 align=8
+ base size=8 base align=8
+QDebug (0x7fea856f00e0) 0
+
+Class QNoDebug
+ size=1 align=1
+ base size=0 base align=1
+QNoDebug (0x7fea8579d0e0) 0 empty
+
+Vtable for QDirIterator
+QDirIterator::_ZTV12QDirIterator: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QDirIterator)
+16 QDirIterator::~QDirIterator
+24 QDirIterator::~QDirIterator
+
+Class QDirIterator
+ size=16 align=8
+ base size=16 base align=8
+QDirIterator (0x7fea857ad700) 0
+ vptr=((& QDirIterator::_ZTV12QDirIterator) + 16u)
+
+Vtable for QFileSystemWatcher
+QFileSystemWatcher::_ZTV18QFileSystemWatcher: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QFileSystemWatcher)
+16 QFileSystemWatcher::metaObject
+24 QFileSystemWatcher::qt_metacast
+32 QFileSystemWatcher::qt_metacall
+40 QFileSystemWatcher::~QFileSystemWatcher
+48 QFileSystemWatcher::~QFileSystemWatcher
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QFileSystemWatcher
+ size=16 align=8
+ base size=16 base align=8
+QFileSystemWatcher (0x7fea85609540) 0
+ vptr=((& QFileSystemWatcher::_ZTV18QFileSystemWatcher) + 16u)
+ QObject (0x7fea856095b0) 0
+ primary-for QFileSystemWatcher (0x7fea85609540)
+
+Vtable for QFSFileEngine
+QFSFileEngine::_ZTV13QFSFileEngine: 36u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QFSFileEngine)
+16 QFSFileEngine::~QFSFileEngine
+24 QFSFileEngine::~QFSFileEngine
+32 QFSFileEngine::open
+40 QFSFileEngine::close
+48 QFSFileEngine::flush
+56 QFSFileEngine::size
+64 QFSFileEngine::pos
+72 QFSFileEngine::seek
+80 QFSFileEngine::isSequential
+88 QFSFileEngine::remove
+96 QFSFileEngine::copy
+104 QFSFileEngine::rename
+112 QFSFileEngine::link
+120 QFSFileEngine::mkdir
+128 QFSFileEngine::rmdir
+136 QFSFileEngine::setSize
+144 QFSFileEngine::caseSensitive
+152 QFSFileEngine::isRelativePath
+160 QFSFileEngine::entryList
+168 QFSFileEngine::fileFlags
+176 QFSFileEngine::setPermissions
+184 QFSFileEngine::fileName
+192 QFSFileEngine::ownerId
+200 QFSFileEngine::owner
+208 QFSFileEngine::fileTime
+216 QFSFileEngine::setFileName
+224 QFSFileEngine::handle
+232 QFSFileEngine::beginEntryList
+240 QFSFileEngine::endEntryList
+248 QFSFileEngine::read
+256 QFSFileEngine::readLine
+264 QFSFileEngine::write
+272 QFSFileEngine::extension
+280 QFSFileEngine::supportsExtension
+
+Class QFSFileEngine
+ size=16 align=8
+ base size=16 base align=8
+QFSFileEngine (0x7fea8561ba80) 0
+ vptr=((& QFSFileEngine::_ZTV13QFSFileEngine) + 16u)
+ QAbstractFileEngine (0x7fea8561baf0) 0
+ primary-for QFSFileEngine (0x7fea8561ba80)
+
+Class QSharedData
+ size=4 align=4
+ base size=4 base align=4
+QSharedData (0x7fea8562be70) 0
+
+Class QProcessEnvironment
+ size=8 align=8
+ base size=8 base align=8
+QProcessEnvironment (0x7fea856751c0) 0
+
+Vtable for QProcess
+QProcess::_ZTV8QProcess: 31u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI8QProcess)
+16 QProcess::metaObject
+24 QProcess::qt_metacast
+32 QProcess::qt_metacall
+40 QProcess::~QProcess
+48 QProcess::~QProcess
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QProcess::isSequential
+120 QIODevice::open
+128 QProcess::close
+136 QIODevice::pos
+144 QIODevice::size
+152 QIODevice::seek
+160 QProcess::atEnd
+168 QIODevice::reset
+176 QProcess::bytesAvailable
+184 QProcess::bytesToWrite
+192 QProcess::canReadLine
+200 QProcess::waitForReadyRead
+208 QProcess::waitForBytesWritten
+216 QProcess::readData
+224 QIODevice::readLineData
+232 QProcess::writeData
+240 QProcess::setupChildProcess
+
+Class QProcess
+ size=16 align=8
+ base size=16 base align=8
+QProcess (0x7fea85675cb0) 0
+ vptr=((& QProcess::_ZTV8QProcess) + 16u)
+ QIODevice (0x7fea85675d20) 0
+ primary-for QProcess (0x7fea85675cb0)
+ QObject (0x7fea85675d90) 0
+ primary-for QIODevice (0x7fea85675d20)
+
+Class QResource
+ size=8 align=8
+ base size=8 base align=8
+QResource (0x7fea856bb1c0) 0
+
+Class QMetaType
+ size=1 align=1
+ base size=0 base align=1
+QMetaType (0x7fea856bbe70) 0 empty
+
+Class QVariant::PrivateShared
+ size=16 align=8
+ base size=12 base align=8
+QVariant::PrivateShared (0x7fea855b9700) 0
+
+Class QVariant::Private::Data
+ size=8 align=8
+ base size=8 base align=8
+QVariant::Private::Data (0x7fea855b9a10) 0
+
+Class QVariant::Private
+ size=16 align=8
+ base size=12 base align=8
+QVariant::Private (0x7fea855b97e0) 0
+
+Class QVariant::Handler
+ size=72 align=8
+ base size=72 base align=8
+QVariant::Handler (0x7fea855c8700) 0
+
+Class QVariant
+ size=16 align=8
+ base size=16 base align=8
+QVariant (0x7fea8558a7e0) 0
+
+Class QVariantComparisonHelper
+ size=8 align=8
+ base size=8 base align=8
+QVariantComparisonHelper (0x7fea8547a9a0) 0
+
+Vtable for QSettings
+QSettings::_ZTV9QSettings: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QSettings)
+16 QSettings::metaObject
+24 QSettings::qt_metacast
+32 QSettings::qt_metacall
+40 QSettings::~QSettings
+48 QSettings::~QSettings
+56 QSettings::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QSettings
+ size=16 align=8
+ base size=16 base align=8
+QSettings (0x7fea854a0ee0) 0
+ vptr=((& QSettings::_ZTV9QSettings) + 16u)
+ QObject (0x7fea854a0f50) 0
+ primary-for QSettings (0x7fea854a0ee0)
+
+Vtable for QTemporaryFile
+QTemporaryFile::_ZTV14QTemporaryFile: 31u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QTemporaryFile)
+16 QTemporaryFile::metaObject
+24 QTemporaryFile::qt_metacast
+32 QTemporaryFile::qt_metacall
+40 QTemporaryFile::~QTemporaryFile
+48 QTemporaryFile::~QTemporaryFile
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QFile::isSequential
+120 QTemporaryFile::open
+128 QFile::close
+136 QFile::pos
+144 QFile::size
+152 QFile::seek
+160 QFile::atEnd
+168 QIODevice::reset
+176 QIODevice::bytesAvailable
+184 QIODevice::bytesToWrite
+192 QIODevice::canReadLine
+200 QIODevice::waitForReadyRead
+208 QIODevice::waitForBytesWritten
+216 QFile::readData
+224 QFile::readLineData
+232 QFile::writeData
+240 QTemporaryFile::fileEngine
+
+Class QTemporaryFile
+ size=16 align=8
+ base size=16 base align=8
+QTemporaryFile (0x7fea853222a0) 0
+ vptr=((& QTemporaryFile::_ZTV14QTemporaryFile) + 16u)
+ QFile (0x7fea85322310) 0
+ primary-for QTemporaryFile (0x7fea853222a0)
+ QIODevice (0x7fea85322380) 0
+ primary-for QFile (0x7fea85322310)
+ QObject (0x7fea853223f0) 0
+ primary-for QIODevice (0x7fea85322380)
+
+Class QUrl
+ size=8 align=8
+ base size=8 base align=8
+QUrl (0x7fea8533e9a0) 0
+
+Class QXmlStreamStringRef
+ size=16 align=8
+ base size=16 base align=8
+QXmlStreamStringRef (0x7fea853cc070) 0
+
+Class QXmlStreamAttribute
+ size=80 align=8
+ base size=73 base align=8
+QXmlStreamAttribute (0x7fea851e6850) 0
+
+Class QXmlStreamAttributes
+ size=8 align=8
+ base size=8 base align=8
+QXmlStreamAttributes (0x7fea8520e310) 0
+ QVector<QXmlStreamAttribute> (0x7fea8520e380) 0
+
+Class QXmlStreamNamespaceDeclaration
+ size=40 align=8
+ base size=40 base align=8
+QXmlStreamNamespaceDeclaration (0x7fea8520e7e0) 0
+
+Class QXmlStreamNotationDeclaration
+ size=56 align=8
+ base size=56 base align=8
+QXmlStreamNotationDeclaration (0x7fea852501c0) 0
+
+Class QXmlStreamEntityDeclaration
+ size=88 align=8
+ base size=88 base align=8
+QXmlStreamEntityDeclaration (0x7fea8526e070) 0
+
+Vtable for QXmlStreamEntityResolver
+QXmlStreamEntityResolver::_ZTV24QXmlStreamEntityResolver: 6u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI24QXmlStreamEntityResolver)
+16 QXmlStreamEntityResolver::~QXmlStreamEntityResolver
+24 QXmlStreamEntityResolver::~QXmlStreamEntityResolver
+32 QXmlStreamEntityResolver::resolveEntity
+40 QXmlStreamEntityResolver::resolveUndeclaredEntity
+
+Class QXmlStreamEntityResolver
+ size=8 align=8
+ base size=8 base align=8
+QXmlStreamEntityResolver (0x7fea8528b9a0) 0 nearly-empty
+ vptr=((& QXmlStreamEntityResolver::_ZTV24QXmlStreamEntityResolver) + 16u)
+
+Class QXmlStreamReader
+ size=8 align=8
+ base size=8 base align=8
+QXmlStreamReader (0x7fea8528bb60) 0
+
+Class QXmlStreamWriter
+ size=8 align=8
+ base size=8 base align=8
+QXmlStreamWriter (0x7fea850d3c40) 0
+
+Vtable for QAbstractState
+QAbstractState::_ZTV14QAbstractState: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QAbstractState)
+16 QAbstractState::metaObject
+24 QAbstractState::qt_metacast
+32 QAbstractState::qt_metacall
+40 QAbstractState::~QAbstractState
+48 QAbstractState::~QAbstractState
+56 QAbstractState::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+
+Class QAbstractState
+ size=16 align=8
+ base size=16 base align=8
+QAbstractState (0x7fea850e8a80) 0
+ vptr=((& QAbstractState::_ZTV14QAbstractState) + 16u)
+ QObject (0x7fea850e8af0) 0
+ primary-for QAbstractState (0x7fea850e8a80)
+
+Vtable for QAbstractTransition
+QAbstractTransition::_ZTV19QAbstractTransition: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QAbstractTransition)
+16 QAbstractTransition::metaObject
+24 QAbstractTransition::qt_metacast
+32 QAbstractTransition::qt_metacall
+40 QAbstractTransition::~QAbstractTransition
+48 QAbstractTransition::~QAbstractTransition
+56 QAbstractTransition::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+
+Class QAbstractTransition
+ size=16 align=8
+ base size=16 base align=8
+QAbstractTransition (0x7fea8510f2a0) 0
+ vptr=((& QAbstractTransition::_ZTV19QAbstractTransition) + 16u)
+ QObject (0x7fea8510f310) 0
+ primary-for QAbstractTransition (0x7fea8510f2a0)
+
+Vtable for QEvent
+QEvent::_ZTV6QEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI6QEvent)
+16 QEvent::~QEvent
+24 QEvent::~QEvent
+
+Class QEvent
+ size=24 align=8
+ base size=20 base align=8
+QEvent (0x7fea85123af0) 0
+ vptr=((& QEvent::_ZTV6QEvent) + 16u)
+
+Vtable for QTimerEvent
+QTimerEvent::_ZTV11QTimerEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QTimerEvent)
+16 QTimerEvent::~QTimerEvent
+24 QTimerEvent::~QTimerEvent
+
+Class QTimerEvent
+ size=24 align=8
+ base size=24 base align=8
+QTimerEvent (0x7fea85145700) 0
+ vptr=((& QTimerEvent::_ZTV11QTimerEvent) + 16u)
+ QEvent (0x7fea85145770) 0
+ primary-for QTimerEvent (0x7fea85145700)
+
+Vtable for QChildEvent
+QChildEvent::_ZTV11QChildEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QChildEvent)
+16 QChildEvent::~QChildEvent
+24 QChildEvent::~QChildEvent
+
+Class QChildEvent
+ size=32 align=8
+ base size=32 base align=8
+QChildEvent (0x7fea85145b60) 0
+ vptr=((& QChildEvent::_ZTV11QChildEvent) + 16u)
+ QEvent (0x7fea85145bd0) 0
+ primary-for QChildEvent (0x7fea85145b60)
+
+Vtable for QCustomEvent
+QCustomEvent::_ZTV12QCustomEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QCustomEvent)
+16 QCustomEvent::~QCustomEvent
+24 QCustomEvent::~QCustomEvent
+
+Class QCustomEvent
+ size=24 align=8
+ base size=20 base align=8
+QCustomEvent (0x7fea8514ee00) 0
+ vptr=((& QCustomEvent::_ZTV12QCustomEvent) + 16u)
+ QEvent (0x7fea8514ee70) 0
+ primary-for QCustomEvent (0x7fea8514ee00)
+
+Vtable for QDynamicPropertyChangeEvent
+QDynamicPropertyChangeEvent::_ZTV27QDynamicPropertyChangeEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI27QDynamicPropertyChangeEvent)
+16 QDynamicPropertyChangeEvent::~QDynamicPropertyChangeEvent
+24 QDynamicPropertyChangeEvent::~QDynamicPropertyChangeEvent
+
+Class QDynamicPropertyChangeEvent
+ size=32 align=8
+ base size=32 base align=8
+QDynamicPropertyChangeEvent (0x7fea8515f620) 0
+ vptr=((& QDynamicPropertyChangeEvent::_ZTV27QDynamicPropertyChangeEvent) + 16u)
+ QEvent (0x7fea8515f690) 0
+ primary-for QDynamicPropertyChangeEvent (0x7fea8515f620)
+
+Vtable for QEventTransition
+QEventTransition::_ZTV16QEventTransition: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QEventTransition)
+16 QEventTransition::metaObject
+24 QEventTransition::qt_metacast
+32 QEventTransition::qt_metacall
+40 QEventTransition::~QEventTransition
+48 QEventTransition::~QEventTransition
+56 QEventTransition::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QEventTransition::eventTest
+120 QEventTransition::onTransition
+
+Class QEventTransition
+ size=16 align=8
+ base size=16 base align=8
+QEventTransition (0x7fea8515faf0) 0
+ vptr=((& QEventTransition::_ZTV16QEventTransition) + 16u)
+ QAbstractTransition (0x7fea8515fb60) 0
+ primary-for QEventTransition (0x7fea8515faf0)
+ QObject (0x7fea8515fbd0) 0
+ primary-for QAbstractTransition (0x7fea8515fb60)
+
+Vtable for QFinalState
+QFinalState::_ZTV11QFinalState: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QFinalState)
+16 QFinalState::metaObject
+24 QFinalState::qt_metacast
+32 QFinalState::qt_metacall
+40 QFinalState::~QFinalState
+48 QFinalState::~QFinalState
+56 QFinalState::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QFinalState::onEntry
+120 QFinalState::onExit
+
+Class QFinalState
+ size=16 align=8
+ base size=16 base align=8
+QFinalState (0x7fea8517b9a0) 0
+ vptr=((& QFinalState::_ZTV11QFinalState) + 16u)
+ QAbstractState (0x7fea8517ba10) 0
+ primary-for QFinalState (0x7fea8517b9a0)
+ QObject (0x7fea8517ba80) 0
+ primary-for QAbstractState (0x7fea8517ba10)
+
+Vtable for QHistoryState
+QHistoryState::_ZTV13QHistoryState: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QHistoryState)
+16 QHistoryState::metaObject
+24 QHistoryState::qt_metacast
+32 QHistoryState::qt_metacall
+40 QHistoryState::~QHistoryState
+48 QHistoryState::~QHistoryState
+56 QHistoryState::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QHistoryState::onEntry
+120 QHistoryState::onExit
+
+Class QHistoryState
+ size=16 align=8
+ base size=16 base align=8
+QHistoryState (0x7fea85195230) 0
+ vptr=((& QHistoryState::_ZTV13QHistoryState) + 16u)
+ QAbstractState (0x7fea851952a0) 0
+ primary-for QHistoryState (0x7fea85195230)
+ QObject (0x7fea85195310) 0
+ primary-for QAbstractState (0x7fea851952a0)
+
+Vtable for QSignalTransition
+QSignalTransition::_ZTV17QSignalTransition: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QSignalTransition)
+16 QSignalTransition::metaObject
+24 QSignalTransition::qt_metacast
+32 QSignalTransition::qt_metacall
+40 QSignalTransition::~QSignalTransition
+48 QSignalTransition::~QSignalTransition
+56 QSignalTransition::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QSignalTransition::eventTest
+120 QSignalTransition::onTransition
+
+Class QSignalTransition
+ size=16 align=8
+ base size=16 base align=8
+QSignalTransition (0x7fea851a4f50) 0
+ vptr=((& QSignalTransition::_ZTV17QSignalTransition) + 16u)
+ QAbstractTransition (0x7fea851ae000) 0
+ primary-for QSignalTransition (0x7fea851a4f50)
+ QObject (0x7fea851ae070) 0
+ primary-for QAbstractTransition (0x7fea851ae000)
+
+Vtable for QState
+QState::_ZTV6QState: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI6QState)
+16 QState::metaObject
+24 QState::qt_metacast
+32 QState::qt_metacall
+40 QState::~QState
+48 QState::~QState
+56 QState::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QState::onEntry
+120 QState::onExit
+
+Class QState
+ size=16 align=8
+ base size=16 base align=8
+QState (0x7fea851c1af0) 0
+ vptr=((& QState::_ZTV6QState) + 16u)
+ QAbstractState (0x7fea851c1b60) 0
+ primary-for QState (0x7fea851c1af0)
+ QObject (0x7fea851c1bd0) 0
+ primary-for QAbstractState (0x7fea851c1b60)
+
+Vtable for QStateMachine::SignalEvent
+QStateMachine::SignalEvent::_ZTVN13QStateMachine11SignalEventE: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN13QStateMachine11SignalEventE)
+16 QStateMachine::SignalEvent::~SignalEvent
+24 QStateMachine::SignalEvent::~SignalEvent
+
+Class QStateMachine::SignalEvent
+ size=48 align=8
+ base size=48 base align=8
+QStateMachine::SignalEvent (0x7fea84fe5150) 0
+ vptr=((& QStateMachine::SignalEvent::_ZTVN13QStateMachine11SignalEventE) + 16u)
+ QEvent (0x7fea84fe51c0) 0
+ primary-for QStateMachine::SignalEvent (0x7fea84fe5150)
+
+Vtable for QStateMachine::WrappedEvent
+QStateMachine::WrappedEvent::_ZTVN13QStateMachine12WrappedEventE: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN13QStateMachine12WrappedEventE)
+16 QStateMachine::WrappedEvent::~WrappedEvent
+24 QStateMachine::WrappedEvent::~WrappedEvent
+
+Class QStateMachine::WrappedEvent
+ size=40 align=8
+ base size=40 base align=8
+QStateMachine::WrappedEvent (0x7fea84fe5700) 0
+ vptr=((& QStateMachine::WrappedEvent::_ZTVN13QStateMachine12WrappedEventE) + 16u)
+ QEvent (0x7fea84fe5770) 0
+ primary-for QStateMachine::WrappedEvent (0x7fea84fe5700)
+
+Vtable for QStateMachine
+QStateMachine::_ZTV13QStateMachine: 20u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QStateMachine)
+16 QStateMachine::metaObject
+24 QStateMachine::qt_metacast
+32 QStateMachine::qt_metacall
+40 QStateMachine::~QStateMachine
+48 QStateMachine::~QStateMachine
+56 QStateMachine::event
+64 QStateMachine::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QStateMachine::onEntry
+120 QStateMachine::onExit
+128 QStateMachine::beginSelectTransitions
+136 QStateMachine::endSelectTransitions
+144 QStateMachine::beginMicrostep
+152 QStateMachine::endMicrostep
+
+Class QStateMachine
+ size=16 align=8
+ base size=16 base align=8
+QStateMachine (0x7fea84fdcee0) 0
+ vptr=((& QStateMachine::_ZTV13QStateMachine) + 16u)
+ QState (0x7fea84fdcf50) 0
+ primary-for QStateMachine (0x7fea84fdcee0)
+ QAbstractState (0x7fea84fe5000) 0
+ primary-for QState (0x7fea84fdcf50)
+ QObject (0x7fea84fe5070) 0
+ primary-for QAbstractState (0x7fea84fe5000)
+
+Class QBitArray
+ size=8 align=8
+ base size=8 base align=8
+QBitArray (0x7fea85016150) 0
+
+Class QBitRef
+ size=16 align=8
+ base size=12 base align=8
+QBitRef (0x7fea8506de00) 0
+
+Class QByteArrayMatcher::Data
+ size=272 align=8
+ base size=272 base align=8
+QByteArrayMatcher::Data (0x7fea8507faf0) 0
+
+Class QByteArrayMatcher
+ size=1040 align=8
+ base size=1040 base align=8
+QByteArrayMatcher (0x7fea8507f4d0) 0
+
+Class QCryptographicHash
+ size=8 align=8
+ base size=8 base align=8
+QCryptographicHash (0x7fea850b5150) 0
+
+Vtable for QtSharedPointer::ExternalRefCountData
+QtSharedPointer::ExternalRefCountData::_ZTVN15QtSharedPointer20ExternalRefCountDataE: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN15QtSharedPointer20ExternalRefCountDataE)
+16 QtSharedPointer::ExternalRefCountData::~ExternalRefCountData
+24 QtSharedPointer::ExternalRefCountData::~ExternalRefCountData
+32 QtSharedPointer::ExternalRefCountData::destroy
+
+Class QtSharedPointer::ExternalRefCountData
+ size=16 align=8
+ base size=16 base align=8
+QtSharedPointer::ExternalRefCountData (0x7fea84ee0070) 0
+ vptr=((& QtSharedPointer::ExternalRefCountData::_ZTVN15QtSharedPointer20ExternalRefCountDataE) + 16u)
+
+Vtable for QtSharedPointer::ExternalRefCountWithDestroyFn
+QtSharedPointer::ExternalRefCountWithDestroyFn::_ZTVN15QtSharedPointer29ExternalRefCountWithDestroyFnE: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN15QtSharedPointer29ExternalRefCountWithDestroyFnE)
+16 QtSharedPointer::ExternalRefCountWithDestroyFn::~ExternalRefCountWithDestroyFn
+24 QtSharedPointer::ExternalRefCountWithDestroyFn::~ExternalRefCountWithDestroyFn
+32 QtSharedPointer::ExternalRefCountWithDestroyFn::destroy
+
+Class QtSharedPointer::ExternalRefCountWithDestroyFn
+ size=24 align=8
+ base size=24 base align=8
+QtSharedPointer::ExternalRefCountWithDestroyFn (0x7fea84ef9930) 0
+ vptr=((& QtSharedPointer::ExternalRefCountWithDestroyFn::_ZTVN15QtSharedPointer29ExternalRefCountWithDestroyFnE) + 16u)
+ QtSharedPointer::ExternalRefCountData (0x7fea84ef99a0) 0
+ primary-for QtSharedPointer::ExternalRefCountWithDestroyFn (0x7fea84ef9930)
+
+Class QDate
+ size=4 align=4
+ base size=4 base align=4
+QDate (0x7fea84f7e5b0) 0
+
+Class QTime
+ size=4 align=4
+ base size=4 base align=4
+QTime (0x7fea84faf540) 0
+
+Class QDateTime
+ size=8 align=8
+ base size=8 base align=8
+QDateTime (0x7fea84fcbaf0) 0
+
+Class QEasingCurve
+ size=8 align=8
+ base size=8 base align=8
+QEasingCurve (0x7fea84e11000) 0
+
+Class QPoint
+ size=8 align=4
+ base size=8 base align=4
+QPoint (0x7fea84e11ee0) 0
+
+Class QPointF
+ size=16 align=8
+ base size=16 base align=8
+QPointF (0x7fea84e54af0) 0
+
+Class QLine
+ size=16 align=4
+ base size=16 base align=4
+QLine (0x7fea84e91af0) 0
+
+Class QLineF
+ size=32 align=8
+ base size=32 base align=8
+QLineF (0x7fea84ece9a0) 0
+
+Class QLinkedListData
+ size=32 align=8
+ base size=32 base align=8
+QLinkedListData (0x7fea84d22460) 0
+
+Class QMargins
+ size=16 align=4
+ base size=16 base align=4
+QMargins (0x7fea84be1380) 0
+
+Class QSize
+ size=8 align=4
+ base size=8 base align=4
+QSize (0x7fea84c10150) 0
+
+Class QSizeF
+ size=16 align=8
+ base size=16 base align=8
+QSizeF (0x7fea84c4fe00) 0
+
+Class QRect
+ size=16 align=4
+ base size=16 base align=4
+QRect (0x7fea84ca5380) 0
+
+Class QRectF
+ size=32 align=8
+ base size=32 base align=8
+QRectF (0x7fea84b4fd20) 0
+
+Class QLatin1Literal
+ size=16 align=8
+ base size=16 base align=8
+QLatin1Literal (0x7fea849ffee0) 0
+
+Class QAbstractConcatenable
+ size=1 align=1
+ base size=0 base align=1
+QAbstractConcatenable (0x7fea84a103f0) 0 empty
+
+Class QTextBoundaryFinder
+ size=48 align=8
+ base size=48 base align=8
+QTextBoundaryFinder (0x7fea84a48380) 0
+
+Vtable for QTimeLine
+QTimeLine::_ZTV9QTimeLine: 15u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QTimeLine)
+16 QTimeLine::metaObject
+24 QTimeLine::qt_metacast
+32 QTimeLine::qt_metacall
+40 QTimeLine::~QTimeLine
+48 QTimeLine::~QTimeLine
+56 QObject::event
+64 QObject::eventFilter
+72 QTimeLine::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QTimeLine::valueForTime
+
+Class QTimeLine
+ size=16 align=8
+ base size=16 base align=8
+QTimeLine (0x7fea84a58700) 0
+ vptr=((& QTimeLine::_ZTV9QTimeLine) + 16u)
+ QObject (0x7fea84a58770) 0
+ primary-for QTimeLine (0x7fea84a58700)
+
+Vtable for QRunnable
+QRunnable::_ZTV9QRunnable: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QRunnable)
+16 __cxa_pure_virtual
+24 QRunnable::~QRunnable
+32 QRunnable::~QRunnable
+
+Class QRunnable
+ size=16 align=8
+ base size=12 base align=8
+QRunnable (0x7fea84a80f50) 0
+ vptr=((& QRunnable::_ZTV9QRunnable) + 16u)
+
+Class QMutex
+ size=8 align=8
+ base size=8 base align=8
+QMutex (0x7fea84ab6620) 0
+
+Class QMutexLocker
+ size=8 align=8
+ base size=8 base align=8
+QMutexLocker (0x7fea84ac51c0) 0
+
+Vtable for QtConcurrent::Exception
+QtConcurrent::Exception::_ZTVN12QtConcurrent9ExceptionE: 7u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN12QtConcurrent9ExceptionE)
+16 QtConcurrent::Exception::~Exception
+24 QtConcurrent::Exception::~Exception
+32 std::exception::what
+40 QtConcurrent::Exception::raise
+48 QtConcurrent::Exception::clone
+
+Class QtConcurrent::Exception
+ size=8 align=8
+ base size=8 base align=8
+QtConcurrent::Exception (0x7fea848dc4d0) 0 nearly-empty
+ vptr=((& QtConcurrent::Exception::_ZTVN12QtConcurrent9ExceptionE) + 16u)
+ std::exception (0x7fea848dc540) 0 nearly-empty
+ primary-for QtConcurrent::Exception (0x7fea848dc4d0)
+
+Vtable for QtConcurrent::UnhandledException
+QtConcurrent::UnhandledException::_ZTVN12QtConcurrent18UnhandledExceptionE: 7u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN12QtConcurrent18UnhandledExceptionE)
+16 QtConcurrent::UnhandledException::~UnhandledException
+24 QtConcurrent::UnhandledException::~UnhandledException
+32 std::exception::what
+40 QtConcurrent::UnhandledException::raise
+48 QtConcurrent::UnhandledException::clone
+
+Class QtConcurrent::UnhandledException
+ size=8 align=8
+ base size=8 base align=8
+QtConcurrent::UnhandledException (0x7fea848dc770) 0 nearly-empty
+ vptr=((& QtConcurrent::UnhandledException::_ZTVN12QtConcurrent18UnhandledExceptionE) + 16u)
+ QtConcurrent::Exception (0x7fea848dc7e0) 0 nearly-empty
+ primary-for QtConcurrent::UnhandledException (0x7fea848dc770)
+ std::exception (0x7fea848dc850) 0 nearly-empty
+ primary-for QtConcurrent::Exception (0x7fea848dc7e0)
+
+Class QtConcurrent::internal::ExceptionHolder
+ size=8 align=8
+ base size=8 base align=8
+QtConcurrent::internal::ExceptionHolder (0x7fea848dca80) 0
+
+Class QtConcurrent::internal::ExceptionStore
+ size=8 align=8
+ base size=8 base align=8
+QtConcurrent::internal::ExceptionStore (0x7fea848dce00) 0
+
+Class QtConcurrent::ResultItem
+ size=16 align=8
+ base size=16 base align=8
+QtConcurrent::ResultItem (0x7fea848dce70) 0
+
+Class QtConcurrent::ResultIteratorBase
+ size=16 align=8
+ base size=12 base align=8
+QtConcurrent::ResultIteratorBase (0x7fea848f4d90) 0
+
+Vtable for QtConcurrent::ResultStoreBase
+QtConcurrent::ResultStoreBase::_ZTVN12QtConcurrent15ResultStoreBaseE: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN12QtConcurrent15ResultStoreBaseE)
+16 QtConcurrent::ResultStoreBase::~ResultStoreBase
+24 QtConcurrent::ResultStoreBase::~ResultStoreBase
+
+Class QtConcurrent::ResultStoreBase
+ size=48 align=8
+ base size=44 base align=8
+QtConcurrent::ResultStoreBase (0x7fea848fa930) 0
+ vptr=((& QtConcurrent::ResultStoreBase::_ZTVN12QtConcurrent15ResultStoreBaseE) + 16u)
+
+Vtable for QFutureInterfaceBase
+QFutureInterfaceBase::_ZTV20QFutureInterfaceBase: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI20QFutureInterfaceBase)
+16 QFutureInterfaceBase::~QFutureInterfaceBase
+24 QFutureInterfaceBase::~QFutureInterfaceBase
+
+Class QFutureInterfaceBase
+ size=16 align=8
+ base size=16 base align=8
+QFutureInterfaceBase (0x7fea84937d90) 0
+ vptr=((& QFutureInterfaceBase::_ZTV20QFutureInterfaceBase) + 16u)
+
+Vtable for QFutureWatcherBase
+QFutureWatcherBase::_ZTV18QFutureWatcherBase: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QFutureWatcherBase)
+16 QFutureWatcherBase::metaObject
+24 QFutureWatcherBase::qt_metacast
+32 QFutureWatcherBase::qt_metacall
+40 QFutureWatcherBase::~QFutureWatcherBase
+48 QFutureWatcherBase::~QFutureWatcherBase
+56 QFutureWatcherBase::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QFutureWatcherBase::connectNotify
+104 QFutureWatcherBase::disconnectNotify
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+
+Class QFutureWatcherBase
+ size=16 align=8
+ base size=16 base align=8
+QFutureWatcherBase (0x7fea8481d690) 0
+ vptr=((& QFutureWatcherBase::_ZTV18QFutureWatcherBase) + 16u)
+ QObject (0x7fea8481d700) 0
+ primary-for QFutureWatcherBase (0x7fea8481d690)
+
+Vtable for QThread
+QThread::_ZTV7QThread: 15u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QThread)
+16 QThread::metaObject
+24 QThread::qt_metacast
+32 QThread::qt_metacall
+40 QThread::~QThread
+48 QThread::~QThread
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QThread::run
+
+Class QThread
+ size=16 align=8
+ base size=16 base align=8
+QThread (0x7fea8486fa80) 0
+ vptr=((& QThread::_ZTV7QThread) + 16u)
+ QObject (0x7fea8486faf0) 0
+ primary-for QThread (0x7fea8486fa80)
+
+Vtable for QThreadPool
+QThreadPool::_ZTV11QThreadPool: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QThreadPool)
+16 QThreadPool::metaObject
+24 QThreadPool::qt_metacast
+32 QThreadPool::qt_metacall
+40 QThreadPool::~QThreadPool
+48 QThreadPool::~QThreadPool
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QThreadPool
+ size=16 align=8
+ base size=16 base align=8
+QThreadPool (0x7fea84895930) 0
+ vptr=((& QThreadPool::_ZTV11QThreadPool) + 16u)
+ QObject (0x7fea848959a0) 0
+ primary-for QThreadPool (0x7fea84895930)
+
+Class QWaitCondition
+ size=8 align=8
+ base size=8 base align=8
+QWaitCondition (0x7fea848a7ee0) 0
+
+Class QSemaphore
+ size=8 align=8
+ base size=8 base align=8
+QSemaphore (0x7fea848af460) 0
+
+Class QtConcurrent::ThreadEngineBarrier
+ size=24 align=8
+ base size=24 base align=8
+QtConcurrent::ThreadEngineBarrier (0x7fea848af9a0) 0
+
+Vtable for QtConcurrent::ThreadEngineBase
+QtConcurrent::ThreadEngineBase::_ZTVN12QtConcurrent16ThreadEngineBaseE: 11u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN12QtConcurrent16ThreadEngineBaseE)
+16 QtConcurrent::ThreadEngineBase::run
+24 QtConcurrent::ThreadEngineBase::~ThreadEngineBase
+32 QtConcurrent::ThreadEngineBase::~ThreadEngineBase
+40 QtConcurrent::ThreadEngineBase::start
+48 QtConcurrent::ThreadEngineBase::finish
+56 QtConcurrent::ThreadEngineBase::threadFunction
+64 QtConcurrent::ThreadEngineBase::shouldStartThread
+72 QtConcurrent::ThreadEngineBase::shouldThrottleThread
+80 __cxa_pure_virtual
+
+Class QtConcurrent::ThreadEngineBase
+ size=64 align=8
+ base size=64 base align=8
+QtConcurrent::ThreadEngineBase (0x7fea848afa80) 0
+ vptr=((& QtConcurrent::ThreadEngineBase::_ZTVN12QtConcurrent16ThreadEngineBaseE) + 16u)
+ QRunnable (0x7fea848afaf0) 0
+ primary-for QtConcurrent::ThreadEngineBase (0x7fea848afa80)
+
+VTT for QtConcurrent::ThreadEngine<void>
+QtConcurrent::ThreadEngine<void>::_ZTTN12QtConcurrent12ThreadEngineIvEE: 2u entries
+0 ((& QtConcurrent::ThreadEngine<void>::_ZTVN12QtConcurrent12ThreadEngineIvEE) + 24u)
+8 ((& QtConcurrent::ThreadEngine<void>::_ZTVN12QtConcurrent12ThreadEngineIvEE) + 136u)
+
+Class QtConcurrent::BlockSizeManager
+ size=96 align=8
+ base size=92 base align=8
+QtConcurrent::BlockSizeManager (0x7fea846fcee0) 0
+
+Vtable for QFactoryInterface
+QFactoryInterface::_ZTV17QFactoryInterface: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QFactoryInterface)
+16 QFactoryInterface::~QFactoryInterface
+24 QFactoryInterface::~QFactoryInterface
+32 __cxa_pure_virtual
+
+Class QFactoryInterface
+ size=8 align=8
+ base size=8 base align=8
+QFactoryInterface (0x7fea8439ed20) 0 nearly-empty
+ vptr=((& QFactoryInterface::_ZTV17QFactoryInterface) + 16u)
+
+Vtable for QTextCodecFactoryInterface
+QTextCodecFactoryInterface::_ZTV26QTextCodecFactoryInterface: 6u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI26QTextCodecFactoryInterface)
+16 QTextCodecFactoryInterface::~QTextCodecFactoryInterface
+24 QTextCodecFactoryInterface::~QTextCodecFactoryInterface
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+
+Class QTextCodecFactoryInterface
+ size=8 align=8
+ base size=8 base align=8
+QTextCodecFactoryInterface (0x7fea841d1000) 0 nearly-empty
+ vptr=((& QTextCodecFactoryInterface::_ZTV26QTextCodecFactoryInterface) + 16u)
+ QFactoryInterface (0x7fea841d1070) 0 nearly-empty
+ primary-for QTextCodecFactoryInterface (0x7fea841d1000)
+
+Vtable for QTextCodecPlugin
+QTextCodecPlugin::_ZTV16QTextCodecPlugin: 27u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QTextCodecPlugin)
+16 QTextCodecPlugin::metaObject
+24 QTextCodecPlugin::qt_metacast
+32 QTextCodecPlugin::qt_metacall
+40 QTextCodecPlugin::~QTextCodecPlugin
+48 QTextCodecPlugin::~QTextCodecPlugin
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 __cxa_pure_virtual
+136 __cxa_pure_virtual
+144 __cxa_pure_virtual
+152 QTextCodecPlugin::keys
+160 QTextCodecPlugin::create
+168 (int (*)(...))-0x00000000000000010
+176 (int (*)(...))(& _ZTI16QTextCodecPlugin)
+184 QTextCodecPlugin::_ZThn16_N16QTextCodecPluginD1Ev
+192 QTextCodecPlugin::_ZThn16_N16QTextCodecPluginD0Ev
+200 QTextCodecPlugin::_ZThn16_NK16QTextCodecPlugin4keysEv
+208 QTextCodecPlugin::_ZThn16_N16QTextCodecPlugin6createERK7QString
+
+Class QTextCodecPlugin
+ size=24 align=8
+ base size=24 base align=8
+QTextCodecPlugin (0x7fea841dc580) 0
+ vptr=((& QTextCodecPlugin::_ZTV16QTextCodecPlugin) + 16u)
+ QObject (0x7fea841d1a80) 0
+ primary-for QTextCodecPlugin (0x7fea841dc580)
+ QTextCodecFactoryInterface (0x7fea841d1af0) 16 nearly-empty
+ vptr=((& QTextCodecPlugin::_ZTV16QTextCodecPlugin) + 184u)
+ QFactoryInterface (0x7fea841d1b60) 16 nearly-empty
+ primary-for QTextCodecFactoryInterface (0x7fea841d1af0)
+
+Class QLibraryInfo
+ size=1 align=1
+ base size=0 base align=1
+QLibraryInfo (0x7fea84228150) 0 empty
+
+Vtable for QEventLoop
+QEventLoop::_ZTV10QEventLoop: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QEventLoop)
+16 QEventLoop::metaObject
+24 QEventLoop::qt_metacast
+32 QEventLoop::qt_metacall
+40 QEventLoop::~QEventLoop
+48 QEventLoop::~QEventLoop
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QEventLoop
+ size=16 align=8
+ base size=16 base align=8
+QEventLoop (0x7fea842282a0) 0
+ vptr=((& QEventLoop::_ZTV10QEventLoop) + 16u)
+ QObject (0x7fea84228310) 0
+ primary-for QEventLoop (0x7fea842282a0)
+
+Vtable for QAbstractEventDispatcher
+QAbstractEventDispatcher::_ZTV24QAbstractEventDispatcher: 27u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI24QAbstractEventDispatcher)
+16 QAbstractEventDispatcher::metaObject
+24 QAbstractEventDispatcher::qt_metacast
+32 QAbstractEventDispatcher::qt_metacall
+40 QAbstractEventDispatcher::~QAbstractEventDispatcher
+48 QAbstractEventDispatcher::~QAbstractEventDispatcher
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 __cxa_pure_virtual
+136 __cxa_pure_virtual
+144 __cxa_pure_virtual
+152 __cxa_pure_virtual
+160 __cxa_pure_virtual
+168 __cxa_pure_virtual
+176 __cxa_pure_virtual
+184 __cxa_pure_virtual
+192 __cxa_pure_virtual
+200 QAbstractEventDispatcher::startingUp
+208 QAbstractEventDispatcher::closingDown
+
+Class QAbstractEventDispatcher
+ size=16 align=8
+ base size=16 base align=8
+QAbstractEventDispatcher (0x7fea84263bd0) 0
+ vptr=((& QAbstractEventDispatcher::_ZTV24QAbstractEventDispatcher) + 16u)
+ QObject (0x7fea84263c40) 0
+ primary-for QAbstractEventDispatcher (0x7fea84263bd0)
+
+Class QModelIndex
+ size=24 align=8
+ base size=24 base align=8
+QModelIndex (0x7fea84288a80) 0
+
+Class QPersistentModelIndex
+ size=8 align=8
+ base size=8 base align=8
+QPersistentModelIndex (0x7fea842b4540) 0
+
+Vtable for QAbstractItemModel
+QAbstractItemModel::_ZTV18QAbstractItemModel: 42u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QAbstractItemModel)
+16 QAbstractItemModel::metaObject
+24 QAbstractItemModel::qt_metacast
+32 QAbstractItemModel::qt_metacall
+40 QAbstractItemModel::~QAbstractItemModel
+48 QAbstractItemModel::~QAbstractItemModel
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 __cxa_pure_virtual
+136 __cxa_pure_virtual
+144 QAbstractItemModel::hasChildren
+152 __cxa_pure_virtual
+160 QAbstractItemModel::setData
+168 QAbstractItemModel::headerData
+176 QAbstractItemModel::setHeaderData
+184 QAbstractItemModel::itemData
+192 QAbstractItemModel::setItemData
+200 QAbstractItemModel::mimeTypes
+208 QAbstractItemModel::mimeData
+216 QAbstractItemModel::dropMimeData
+224 QAbstractItemModel::supportedDropActions
+232 QAbstractItemModel::insertRows
+240 QAbstractItemModel::insertColumns
+248 QAbstractItemModel::removeRows
+256 QAbstractItemModel::removeColumns
+264 QAbstractItemModel::fetchMore
+272 QAbstractItemModel::canFetchMore
+280 QAbstractItemModel::flags
+288 QAbstractItemModel::sort
+296 QAbstractItemModel::buddy
+304 QAbstractItemModel::match
+312 QAbstractItemModel::span
+320 QAbstractItemModel::submit
+328 QAbstractItemModel::revert
+
+Class QAbstractItemModel
+ size=16 align=8
+ base size=16 base align=8
+QAbstractItemModel (0x7fea842bc850) 0
+ vptr=((& QAbstractItemModel::_ZTV18QAbstractItemModel) + 16u)
+ QObject (0x7fea842bc8c0) 0
+ primary-for QAbstractItemModel (0x7fea842bc850)
+
+Vtable for QAbstractTableModel
+QAbstractTableModel::_ZTV19QAbstractTableModel: 42u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QAbstractTableModel)
+16 QAbstractTableModel::metaObject
+24 QAbstractTableModel::qt_metacast
+32 QAbstractTableModel::qt_metacall
+40 QAbstractTableModel::~QAbstractTableModel
+48 QAbstractTableModel::~QAbstractTableModel
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QAbstractTableModel::index
+120 QAbstractTableModel::parent
+128 __cxa_pure_virtual
+136 __cxa_pure_virtual
+144 QAbstractTableModel::hasChildren
+152 __cxa_pure_virtual
+160 QAbstractItemModel::setData
+168 QAbstractItemModel::headerData
+176 QAbstractItemModel::setHeaderData
+184 QAbstractItemModel::itemData
+192 QAbstractItemModel::setItemData
+200 QAbstractItemModel::mimeTypes
+208 QAbstractItemModel::mimeData
+216 QAbstractTableModel::dropMimeData
+224 QAbstractItemModel::supportedDropActions
+232 QAbstractItemModel::insertRows
+240 QAbstractItemModel::insertColumns
+248 QAbstractItemModel::removeRows
+256 QAbstractItemModel::removeColumns
+264 QAbstractItemModel::fetchMore
+272 QAbstractItemModel::canFetchMore
+280 QAbstractItemModel::flags
+288 QAbstractItemModel::sort
+296 QAbstractItemModel::buddy
+304 QAbstractItemModel::match
+312 QAbstractItemModel::span
+320 QAbstractItemModel::submit
+328 QAbstractItemModel::revert
+
+Class QAbstractTableModel
+ size=16 align=8
+ base size=16 base align=8
+QAbstractTableModel (0x7fea84116b60) 0
+ vptr=((& QAbstractTableModel::_ZTV19QAbstractTableModel) + 16u)
+ QAbstractItemModel (0x7fea84116bd0) 0
+ primary-for QAbstractTableModel (0x7fea84116b60)
+ QObject (0x7fea84116c40) 0
+ primary-for QAbstractItemModel (0x7fea84116bd0)
+
+Vtable for QAbstractListModel
+QAbstractListModel::_ZTV18QAbstractListModel: 42u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QAbstractListModel)
+16 QAbstractListModel::metaObject
+24 QAbstractListModel::qt_metacast
+32 QAbstractListModel::qt_metacall
+40 QAbstractListModel::~QAbstractListModel
+48 QAbstractListModel::~QAbstractListModel
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QAbstractListModel::index
+120 QAbstractListModel::parent
+128 __cxa_pure_virtual
+136 QAbstractListModel::columnCount
+144 QAbstractListModel::hasChildren
+152 __cxa_pure_virtual
+160 QAbstractItemModel::setData
+168 QAbstractItemModel::headerData
+176 QAbstractItemModel::setHeaderData
+184 QAbstractItemModel::itemData
+192 QAbstractItemModel::setItemData
+200 QAbstractItemModel::mimeTypes
+208 QAbstractItemModel::mimeData
+216 QAbstractListModel::dropMimeData
+224 QAbstractItemModel::supportedDropActions
+232 QAbstractItemModel::insertRows
+240 QAbstractItemModel::insertColumns
+248 QAbstractItemModel::removeRows
+256 QAbstractItemModel::removeColumns
+264 QAbstractItemModel::fetchMore
+272 QAbstractItemModel::canFetchMore
+280 QAbstractItemModel::flags
+288 QAbstractItemModel::sort
+296 QAbstractItemModel::buddy
+304 QAbstractItemModel::match
+312 QAbstractItemModel::span
+320 QAbstractItemModel::submit
+328 QAbstractItemModel::revert
+
+Class QAbstractListModel
+ size=16 align=8
+ base size=16 base align=8
+QAbstractListModel (0x7fea841350e0) 0
+ vptr=((& QAbstractListModel::_ZTV18QAbstractListModel) + 16u)
+ QAbstractItemModel (0x7fea84135150) 0
+ primary-for QAbstractListModel (0x7fea841350e0)
+ QObject (0x7fea841351c0) 0
+ primary-for QAbstractItemModel (0x7fea84135150)
+
+Class QBasicTimer
+ size=4 align=4
+ base size=4 base align=4
+QBasicTimer (0x7fea84165230) 0
+
+Vtable for QCoreApplication
+QCoreApplication::_ZTV16QCoreApplication: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QCoreApplication)
+16 QCoreApplication::metaObject
+24 QCoreApplication::qt_metacast
+32 QCoreApplication::qt_metacall
+40 QCoreApplication::~QCoreApplication
+48 QCoreApplication::~QCoreApplication
+56 QCoreApplication::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QCoreApplication::notify
+120 QCoreApplication::compressEvent
+
+Class QCoreApplication
+ size=16 align=8
+ base size=16 base align=8
+QCoreApplication (0x7fea84173620) 0
+ vptr=((& QCoreApplication::_ZTV16QCoreApplication) + 16u)
+ QObject (0x7fea84173690) 0
+ primary-for QCoreApplication (0x7fea84173620)
+
+Class __exception
+ size=40 align=8
+ base size=40 base align=8
+__exception (0x7fea841a4310) 0
+
+Class QMetaMethod
+ size=16 align=8
+ base size=12 base align=8
+QMetaMethod (0x7fea84011770) 0
+
+Class QMetaEnum
+ size=16 align=8
+ base size=12 base align=8
+QMetaEnum (0x7fea8402cbd0) 0
+
+Class QMetaProperty
+ size=32 align=8
+ base size=32 base align=8
+QMetaProperty (0x7fea8403c930) 0
+
+Class QMetaClassInfo
+ size=16 align=8
+ base size=12 base align=8
+QMetaClassInfo (0x7fea8404c000) 0
+
+Vtable for QMimeData
+QMimeData::_ZTV9QMimeData: 17u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QMimeData)
+16 QMimeData::metaObject
+24 QMimeData::qt_metacast
+32 QMimeData::qt_metacall
+40 QMimeData::~QMimeData
+48 QMimeData::~QMimeData
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QMimeData::hasFormat
+120 QMimeData::formats
+128 QMimeData::retrieveData
+
+Class QMimeData
+ size=16 align=8
+ base size=16 base align=8
+QMimeData (0x7fea8404caf0) 0
+ vptr=((& QMimeData::_ZTV9QMimeData) + 16u)
+ QObject (0x7fea8404cb60) 0
+ primary-for QMimeData (0x7fea8404caf0)
+
+Vtable for QObjectCleanupHandler
+QObjectCleanupHandler::_ZTV21QObjectCleanupHandler: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI21QObjectCleanupHandler)
+16 QObjectCleanupHandler::metaObject
+24 QObjectCleanupHandler::qt_metacast
+32 QObjectCleanupHandler::qt_metacall
+40 QObjectCleanupHandler::~QObjectCleanupHandler
+48 QObjectCleanupHandler::~QObjectCleanupHandler
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QObjectCleanupHandler
+ size=24 align=8
+ base size=24 base align=8
+QObjectCleanupHandler (0x7fea84070380) 0
+ vptr=((& QObjectCleanupHandler::_ZTV21QObjectCleanupHandler) + 16u)
+ QObject (0x7fea840703f0) 0
+ primary-for QObjectCleanupHandler (0x7fea84070380)
+
+Vtable for QSharedMemory
+QSharedMemory::_ZTV13QSharedMemory: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QSharedMemory)
+16 QSharedMemory::metaObject
+24 QSharedMemory::qt_metacast
+32 QSharedMemory::qt_metacall
+40 QSharedMemory::~QSharedMemory
+48 QSharedMemory::~QSharedMemory
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QSharedMemory
+ size=16 align=8
+ base size=16 base align=8
+QSharedMemory (0x7fea840814d0) 0
+ vptr=((& QSharedMemory::_ZTV13QSharedMemory) + 16u)
+ QObject (0x7fea84081540) 0
+ primary-for QSharedMemory (0x7fea840814d0)
+
+Vtable for QSignalMapper
+QSignalMapper::_ZTV13QSignalMapper: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QSignalMapper)
+16 QSignalMapper::metaObject
+24 QSignalMapper::qt_metacast
+32 QSignalMapper::qt_metacall
+40 QSignalMapper::~QSignalMapper
+48 QSignalMapper::~QSignalMapper
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QSignalMapper
+ size=16 align=8
+ base size=16 base align=8
+QSignalMapper (0x7fea8409b2a0) 0
+ vptr=((& QSignalMapper::_ZTV13QSignalMapper) + 16u)
+ QObject (0x7fea8409b310) 0
+ primary-for QSignalMapper (0x7fea8409b2a0)
+
+Vtable for QSocketNotifier
+QSocketNotifier::_ZTV15QSocketNotifier: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QSocketNotifier)
+16 QSocketNotifier::metaObject
+24 QSocketNotifier::qt_metacast
+32 QSocketNotifier::qt_metacall
+40 QSocketNotifier::~QSocketNotifier
+48 QSocketNotifier::~QSocketNotifier
+56 QSocketNotifier::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QSocketNotifier
+ size=32 align=8
+ base size=25 base align=8
+QSocketNotifier (0x7fea840b7690) 0
+ vptr=((& QSocketNotifier::_ZTV15QSocketNotifier) + 16u)
+ QObject (0x7fea840b7700) 0
+ primary-for QSocketNotifier (0x7fea840b7690)
+
+Class QSystemSemaphore
+ size=8 align=8
+ base size=8 base align=8
+QSystemSemaphore (0x7fea83ed0a10) 0
+
+Vtable for QTimer
+QTimer::_ZTV6QTimer: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI6QTimer)
+16 QTimer::metaObject
+24 QTimer::qt_metacast
+32 QTimer::qt_metacall
+40 QTimer::~QTimer
+48 QTimer::~QTimer
+56 QObject::event
+64 QObject::eventFilter
+72 QTimer::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QTimer
+ size=32 align=8
+ base size=29 base align=8
+QTimer (0x7fea83edc460) 0
+ vptr=((& QTimer::_ZTV6QTimer) + 16u)
+ QObject (0x7fea83edc4d0) 0
+ primary-for QTimer (0x7fea83edc460)
+
+Vtable for QTranslator
+QTranslator::_ZTV11QTranslator: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QTranslator)
+16 QTranslator::metaObject
+24 QTranslator::qt_metacast
+32 QTranslator::qt_metacall
+40 QTranslator::~QTranslator
+48 QTranslator::~QTranslator
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QTranslator::translate
+120 QTranslator::isEmpty
+
+Class QTranslator
+ size=16 align=8
+ base size=16 base align=8
+QTranslator (0x7fea83f009a0) 0
+ vptr=((& QTranslator::_ZTV11QTranslator) + 16u)
+ QObject (0x7fea83f00a10) 0
+ primary-for QTranslator (0x7fea83f009a0)
+
+Vtable for QLibrary
+QLibrary::_ZTV8QLibrary: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI8QLibrary)
+16 QLibrary::metaObject
+24 QLibrary::qt_metacast
+32 QLibrary::qt_metacall
+40 QLibrary::~QLibrary
+48 QLibrary::~QLibrary
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QLibrary
+ size=32 align=8
+ base size=25 base align=8
+QLibrary (0x7fea83f1c930) 0
+ vptr=((& QLibrary::_ZTV8QLibrary) + 16u)
+ QObject (0x7fea83f1c9a0) 0
+ primary-for QLibrary (0x7fea83f1c930)
+
+Vtable for QPluginLoader
+QPluginLoader::_ZTV13QPluginLoader: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QPluginLoader)
+16 QPluginLoader::metaObject
+24 QPluginLoader::qt_metacast
+32 QPluginLoader::qt_metacall
+40 QPluginLoader::~QPluginLoader
+48 QPluginLoader::~QPluginLoader
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QPluginLoader
+ size=32 align=8
+ base size=25 base align=8
+QPluginLoader (0x7fea83f683f0) 0
+ vptr=((& QPluginLoader::_ZTV13QPluginLoader) + 16u)
+ QObject (0x7fea83f68460) 0
+ primary-for QPluginLoader (0x7fea83f683f0)
+
+Class QUuid
+ size=16 align=4
+ base size=16 base align=4
+QUuid (0x7fea83f76b60) 0
+
+Class QReadWriteLock
+ size=8 align=8
+ base size=8 base align=8
+QReadWriteLock (0x7fea83f9e4d0) 0
+
+Class QReadLocker
+ size=8 align=8
+ base size=8 base align=8
+QReadLocker (0x7fea83f9eb60) 0
+
+Class QWriteLocker
+ size=8 align=8
+ base size=8 base align=8
+QWriteLocker (0x7fea83fbdee0) 0
+
+Class QThreadStorageData
+ size=4 align=4
+ base size=4 base align=4
+QThreadStorageData (0x7fea83dd72a0) 0
+
+Vtable for QAbstractAnimation
+QAbstractAnimation::_ZTV18QAbstractAnimation: 18u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QAbstractAnimation)
+16 QAbstractAnimation::metaObject
+24 QAbstractAnimation::qt_metacast
+32 QAbstractAnimation::qt_metacall
+40 QAbstractAnimation::~QAbstractAnimation
+48 QAbstractAnimation::~QAbstractAnimation
+56 QAbstractAnimation::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 QAbstractAnimation::updateState
+136 QAbstractAnimation::updateDirection
+
+Class QAbstractAnimation
+ size=16 align=8
+ base size=16 base align=8
+QAbstractAnimation (0x7fea83dd7a10) 0
+ vptr=((& QAbstractAnimation::_ZTV18QAbstractAnimation) + 16u)
+ QObject (0x7fea83dd7a80) 0
+ primary-for QAbstractAnimation (0x7fea83dd7a10)
+
+Vtable for QAnimationGroup
+QAnimationGroup::_ZTV15QAnimationGroup: 18u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QAnimationGroup)
+16 QAnimationGroup::metaObject
+24 QAnimationGroup::qt_metacast
+32 QAnimationGroup::qt_metacall
+40 QAnimationGroup::~QAnimationGroup
+48 QAnimationGroup::~QAnimationGroup
+56 QAnimationGroup::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 QAbstractAnimation::updateState
+136 QAbstractAnimation::updateDirection
+
+Class QAnimationGroup
+ size=16 align=8
+ base size=16 base align=8
+QAnimationGroup (0x7fea83e0e150) 0
+ vptr=((& QAnimationGroup::_ZTV15QAnimationGroup) + 16u)
+ QAbstractAnimation (0x7fea83e0e1c0) 0
+ primary-for QAnimationGroup (0x7fea83e0e150)
+ QObject (0x7fea83e0e230) 0
+ primary-for QAbstractAnimation (0x7fea83e0e1c0)
+
+Vtable for QParallelAnimationGroup
+QParallelAnimationGroup::_ZTV23QParallelAnimationGroup: 18u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI23QParallelAnimationGroup)
+16 QParallelAnimationGroup::metaObject
+24 QParallelAnimationGroup::qt_metacast
+32 QParallelAnimationGroup::qt_metacall
+40 QParallelAnimationGroup::~QParallelAnimationGroup
+48 QParallelAnimationGroup::~QParallelAnimationGroup
+56 QParallelAnimationGroup::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QParallelAnimationGroup::duration
+120 QParallelAnimationGroup::updateCurrentTime
+128 QParallelAnimationGroup::updateState
+136 QParallelAnimationGroup::updateDirection
+
+Class QParallelAnimationGroup
+ size=16 align=8
+ base size=16 base align=8
+QParallelAnimationGroup (0x7fea83e27000) 0
+ vptr=((& QParallelAnimationGroup::_ZTV23QParallelAnimationGroup) + 16u)
+ QAnimationGroup (0x7fea83e27070) 0
+ primary-for QParallelAnimationGroup (0x7fea83e27000)
+ QAbstractAnimation (0x7fea83e270e0) 0
+ primary-for QAnimationGroup (0x7fea83e27070)
+ QObject (0x7fea83e27150) 0
+ primary-for QAbstractAnimation (0x7fea83e270e0)
+
+Vtable for QPauseAnimation
+QPauseAnimation::_ZTV15QPauseAnimation: 18u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QPauseAnimation)
+16 QPauseAnimation::metaObject
+24 QPauseAnimation::qt_metacast
+32 QPauseAnimation::qt_metacall
+40 QPauseAnimation::~QPauseAnimation
+48 QPauseAnimation::~QPauseAnimation
+56 QPauseAnimation::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QPauseAnimation::duration
+120 QPauseAnimation::updateCurrentTime
+128 QAbstractAnimation::updateState
+136 QAbstractAnimation::updateDirection
+
+Class QPauseAnimation
+ size=16 align=8
+ base size=16 base align=8
+QPauseAnimation (0x7fea83e36e70) 0
+ vptr=((& QPauseAnimation::_ZTV15QPauseAnimation) + 16u)
+ QAbstractAnimation (0x7fea83e36ee0) 0
+ primary-for QPauseAnimation (0x7fea83e36e70)
+ QObject (0x7fea83e36f50) 0
+ primary-for QAbstractAnimation (0x7fea83e36ee0)
+
+Vtable for QVariantAnimation
+QVariantAnimation::_ZTV17QVariantAnimation: 20u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QVariantAnimation)
+16 QVariantAnimation::metaObject
+24 QVariantAnimation::qt_metacast
+32 QVariantAnimation::qt_metacall
+40 QVariantAnimation::~QVariantAnimation
+48 QVariantAnimation::~QVariantAnimation
+56 QVariantAnimation::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QVariantAnimation::duration
+120 QVariantAnimation::updateCurrentTime
+128 QVariantAnimation::updateState
+136 QAbstractAnimation::updateDirection
+144 __cxa_pure_virtual
+152 QVariantAnimation::interpolated
+
+Class QVariantAnimation
+ size=16 align=8
+ base size=16 base align=8
+QVariantAnimation (0x7fea83e538c0) 0
+ vptr=((& QVariantAnimation::_ZTV17QVariantAnimation) + 16u)
+ QAbstractAnimation (0x7fea83e53930) 0
+ primary-for QVariantAnimation (0x7fea83e538c0)
+ QObject (0x7fea83e539a0) 0
+ primary-for QAbstractAnimation (0x7fea83e53930)
+
+Vtable for QPropertyAnimation
+QPropertyAnimation::_ZTV18QPropertyAnimation: 20u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QPropertyAnimation)
+16 QPropertyAnimation::metaObject
+24 QPropertyAnimation::qt_metacast
+32 QPropertyAnimation::qt_metacall
+40 QPropertyAnimation::~QPropertyAnimation
+48 QPropertyAnimation::~QPropertyAnimation
+56 QPropertyAnimation::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QVariantAnimation::duration
+120 QVariantAnimation::updateCurrentTime
+128 QPropertyAnimation::updateState
+136 QAbstractAnimation::updateDirection
+144 QPropertyAnimation::updateCurrentValue
+152 QVariantAnimation::interpolated
+
+Class QPropertyAnimation
+ size=16 align=8
+ base size=16 base align=8
+QPropertyAnimation (0x7fea83e71b60) 0
+ vptr=((& QPropertyAnimation::_ZTV18QPropertyAnimation) + 16u)
+ QVariantAnimation (0x7fea83e71bd0) 0
+ primary-for QPropertyAnimation (0x7fea83e71b60)
+ QAbstractAnimation (0x7fea83e71c40) 0
+ primary-for QVariantAnimation (0x7fea83e71bd0)
+ QObject (0x7fea83e71cb0) 0
+ primary-for QAbstractAnimation (0x7fea83e71c40)
+
+Vtable for QSequentialAnimationGroup
+QSequentialAnimationGroup::_ZTV25QSequentialAnimationGroup: 18u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI25QSequentialAnimationGroup)
+16 QSequentialAnimationGroup::metaObject
+24 QSequentialAnimationGroup::qt_metacast
+32 QSequentialAnimationGroup::qt_metacall
+40 QSequentialAnimationGroup::~QSequentialAnimationGroup
+48 QSequentialAnimationGroup::~QSequentialAnimationGroup
+56 QSequentialAnimationGroup::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QSequentialAnimationGroup::duration
+120 QSequentialAnimationGroup::updateCurrentTime
+128 QSequentialAnimationGroup::updateState
+136 QSequentialAnimationGroup::updateDirection
+
+Class QSequentialAnimationGroup
+ size=16 align=8
+ base size=16 base align=8
+QSequentialAnimationGroup (0x7fea83e8bb60) 0
+ vptr=((& QSequentialAnimationGroup::_ZTV25QSequentialAnimationGroup) + 16u)
+ QAnimationGroup (0x7fea83e8bbd0) 0
+ primary-for QSequentialAnimationGroup (0x7fea83e8bb60)
+ QAbstractAnimation (0x7fea83e8bc40) 0
+ primary-for QAnimationGroup (0x7fea83e8bbd0)
+ QObject (0x7fea83e8bcb0) 0
+ primary-for QAbstractAnimation (0x7fea83e8bc40)
+
+Class QScriptable
+ size=8 align=8
+ base size=8 base align=8
+QScriptable (0x7fea83ea3bd0) 0
+
+Class QScriptValue
+ size=8 align=8
+ base size=8 base align=8
+QScriptValue (0x7fea83eb4770) 0
+
+Vtable for QScriptClass
+QScriptClass::_ZTV12QScriptClass: 13u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QScriptClass)
+16 QScriptClass::~QScriptClass
+24 QScriptClass::~QScriptClass
+32 QScriptClass::queryProperty
+40 QScriptClass::property
+48 QScriptClass::setProperty
+56 QScriptClass::propertyFlags
+64 QScriptClass::newIterator
+72 QScriptClass::prototype
+80 QScriptClass::name
+88 QScriptClass::supportsExtension
+96 QScriptClass::extension
+
+Class QScriptClass
+ size=16 align=8
+ base size=16 base align=8
+QScriptClass (0x7fea83d74310) 0
+ vptr=((& QScriptClass::_ZTV12QScriptClass) + 16u)
+
+Vtable for QScriptClassPropertyIterator
+QScriptClassPropertyIterator::_ZTV28QScriptClassPropertyIterator: 13u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI28QScriptClassPropertyIterator)
+16 QScriptClassPropertyIterator::~QScriptClassPropertyIterator
+24 QScriptClassPropertyIterator::~QScriptClassPropertyIterator
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+48 __cxa_pure_virtual
+56 __cxa_pure_virtual
+64 __cxa_pure_virtual
+72 __cxa_pure_virtual
+80 __cxa_pure_virtual
+88 QScriptClassPropertyIterator::id
+96 QScriptClassPropertyIterator::flags
+
+Class QScriptClassPropertyIterator
+ size=16 align=8
+ base size=16 base align=8
+QScriptClassPropertyIterator (0x7fea83db8310) 0
+ vptr=((& QScriptClassPropertyIterator::_ZTV28QScriptClassPropertyIterator) + 16u)
+
+Class QScriptContext
+ size=8 align=8
+ base size=8 base align=8
+QScriptContext (0x7fea83bcf070) 0
+
+Class QScriptContextInfo
+ size=8 align=8
+ base size=8 base align=8
+QScriptContextInfo (0x7fea83bcfee0) 0
+
+Class QScriptString
+ size=8 align=8
+ base size=8 base align=8
+QScriptString (0x7fea83bf6150) 0
+
+Class QScriptProgram
+ size=8 align=8
+ base size=8 base align=8
+QScriptProgram (0x7fea83bf6ee0) 0
+
+Class QScriptSyntaxCheckResult
+ size=8 align=8
+ base size=8 base align=8
+QScriptSyntaxCheckResult (0x7fea83c0dd90) 0
+
+Vtable for QScriptEngine
+QScriptEngine::_ZTV13QScriptEngine: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QScriptEngine)
+16 QScriptEngine::metaObject
+24 QScriptEngine::qt_metacast
+32 QScriptEngine::qt_metacall
+40 QScriptEngine::~QScriptEngine
+48 QScriptEngine::~QScriptEngine
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QScriptEngine
+ size=16 align=8
+ base size=16 base align=8
+QScriptEngine (0x7fea83c24af0) 0
+ vptr=((& QScriptEngine::_ZTV13QScriptEngine) + 16u)
+ QObject (0x7fea83c24b60) 0
+ primary-for QScriptEngine (0x7fea83c24af0)
+
+Vtable for QScriptEngineAgent
+QScriptEngineAgent::_ZTV18QScriptEngineAgent: 15u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QScriptEngineAgent)
+16 QScriptEngineAgent::~QScriptEngineAgent
+24 QScriptEngineAgent::~QScriptEngineAgent
+32 QScriptEngineAgent::scriptLoad
+40 QScriptEngineAgent::scriptUnload
+48 QScriptEngineAgent::contextPush
+56 QScriptEngineAgent::contextPop
+64 QScriptEngineAgent::functionEntry
+72 QScriptEngineAgent::functionExit
+80 QScriptEngineAgent::positionChange
+88 QScriptEngineAgent::exceptionThrow
+96 QScriptEngineAgent::exceptionCatch
+104 QScriptEngineAgent::supportsExtension
+112 QScriptEngineAgent::extension
+
+Class QScriptEngineAgent
+ size=16 align=8
+ base size=16 base align=8
+QScriptEngineAgent (0x7fea83cb8310) 0
+ vptr=((& QScriptEngineAgent::_ZTV18QScriptEngineAgent) + 16u)
+
+Vtable for QScriptExtensionInterface
+QScriptExtensionInterface::_ZTV25QScriptExtensionInterface: 6u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI25QScriptExtensionInterface)
+16 QScriptExtensionInterface::~QScriptExtensionInterface
+24 QScriptExtensionInterface::~QScriptExtensionInterface
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+
+Class QScriptExtensionInterface
+ size=8 align=8
+ base size=8 base align=8
+QScriptExtensionInterface (0x7fea83ad3070) 0 nearly-empty
+ vptr=((& QScriptExtensionInterface::_ZTV25QScriptExtensionInterface) + 16u)
+ QFactoryInterface (0x7fea83ad30e0) 0 nearly-empty
+ primary-for QScriptExtensionInterface (0x7fea83ad3070)
+
+Vtable for QScriptExtensionPlugin
+QScriptExtensionPlugin::_ZTV22QScriptExtensionPlugin: 22u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI22QScriptExtensionPlugin)
+16 QScriptExtensionPlugin::metaObject
+24 QScriptExtensionPlugin::qt_metacast
+32 QScriptExtensionPlugin::qt_metacall
+40 QScriptExtensionPlugin::~QScriptExtensionPlugin
+48 QScriptExtensionPlugin::~QScriptExtensionPlugin
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 (int (*)(...))-0x00000000000000010
+136 (int (*)(...))(& _ZTI22QScriptExtensionPlugin)
+144 QScriptExtensionPlugin::_ZThn16_N22QScriptExtensionPluginD1Ev
+152 QScriptExtensionPlugin::_ZThn16_N22QScriptExtensionPluginD0Ev
+160 __cxa_pure_virtual
+168 __cxa_pure_virtual
+
+Class QScriptExtensionPlugin
+ size=24 align=8
+ base size=24 base align=8
+QScriptExtensionPlugin (0x7fea83ad1a80) 0
+ vptr=((& QScriptExtensionPlugin::_ZTV22QScriptExtensionPlugin) + 16u)
+ QObject (0x7fea83ad3af0) 0
+ primary-for QScriptExtensionPlugin (0x7fea83ad1a80)
+ QScriptExtensionInterface (0x7fea83ad3b60) 16 nearly-empty
+ vptr=((& QScriptExtensionPlugin::_ZTV22QScriptExtensionPlugin) + 144u)
+ QFactoryInterface (0x7fea83ad3bd0) 16 nearly-empty
+ primary-for QScriptExtensionInterface (0x7fea83ad3b60)
+
+Class QScriptValueIterator
+ size=8 align=8
+ base size=8 base align=8
+QScriptValueIterator (0x7fea83ae8a10) 0
+
diff --git a/tests/auto/bic/data/QtScriptTools.4.5.0.linux-gcc-amd64.txt b/tests/auto/bic/data/QtScriptTools.4.5.0.linux-gcc-amd64.txt
new file mode 100644
index 0000000000..813ae560a6
--- /dev/null
+++ b/tests/auto/bic/data/QtScriptTools.4.5.0.linux-gcc-amd64.txt
@@ -0,0 +1,15825 @@
+Class QSysInfo
+ size=1 align=1
+ base size=0 base align=1
+QSysInfo (0x7ffd18ec2460) 0 empty
+
+Class QBool
+ size=1 align=1
+ base size=1 base align=1
+QBool (0x7ffd18ed7150) 0
+
+Class qIsNull(double)::U
+ size=8 align=8
+ base size=8 base align=8
+qIsNull(double)::U (0x7ffd18eee540) 0
+
+Class qIsNull(float)::U
+ size=4 align=4
+ base size=4 base align=4
+qIsNull(float)::U (0x7ffd18eee7e0) 0
+
+Class QFlag
+ size=4 align=4
+ base size=4 base align=4
+QFlag (0x7ffd18f26620) 0
+
+Class QIncompatibleFlag
+ size=4 align=4
+ base size=4 base align=4
+QIncompatibleFlag (0x7ffd18f26e00) 0
+
+Class QInternal
+ size=1 align=1
+ base size=0 base align=1
+QInternal (0x7ffd18d22540) 0 empty
+
+Class QGenericArgument
+ size=16 align=8
+ base size=16 base align=8
+QGenericArgument (0x7ffd18d22850) 0
+
+Class QGenericReturnArgument
+ size=16 align=8
+ base size=16 base align=8
+QGenericReturnArgument (0x7ffd18d3c3f0) 0
+ QGenericArgument (0x7ffd18d3c460) 0
+
+Class QMetaObject
+ size=32 align=8
+ base size=32 base align=8
+QMetaObject (0x7ffd18d3ccb0) 0
+
+Class QMetaObjectExtraData
+ size=16 align=8
+ base size=16 base align=8
+QMetaObjectExtraData (0x7ffd18d64cb0) 0
+
+Class QLatin1Char
+ size=1 align=1
+ base size=1 base align=1
+QLatin1Char (0x7ffd18d6e700) 0
+
+Class QChar
+ size=2 align=2
+ base size=2 base align=2
+QChar (0x7ffd18d742a0) 0
+
+Class QBasicAtomicInt
+ size=4 align=4
+ base size=4 base align=4
+QBasicAtomicInt (0x7ffd18bdd380) 0
+
+Class QAtomicInt
+ size=4 align=4
+ base size=4 base align=4
+QAtomicInt (0x7ffd18c1ad20) 0
+ QBasicAtomicInt (0x7ffd18c1ad90) 0
+
+Class __locale_struct
+ size=232 align=8
+ base size=232 base align=8
+__locale_struct (0x7ffd18c3d1c0) 0
+
+Class QByteArray::Data
+ size=32 align=8
+ base size=32 base align=8
+QByteArray::Data (0x7ffd18ab87e0) 0
+
+Class QByteArray
+ size=8 align=8
+ base size=8 base align=8
+QByteArray (0x7ffd18c76540) 0
+
+Class QByteRef
+ size=16 align=8
+ base size=12 base align=8
+QByteRef (0x7ffd18b0fa80) 0
+
+Class QString::Null
+ size=1 align=1
+ base size=0 base align=1
+QString::Null (0x7ffd18a19700) 0 empty
+
+Class QString::Data
+ size=32 align=8
+ base size=32 base align=8
+QString::Data (0x7ffd18a28ee0) 0
+
+Class QString
+ size=8 align=8
+ base size=8 base align=8
+QString (0x7ffd18b975b0) 0
+
+Class QLatin1String
+ size=8 align=8
+ base size=8 base align=8
+QLatin1String (0x7ffd18901000) 0
+
+Class QCharRef
+ size=16 align=8
+ base size=12 base align=8
+QCharRef (0x7ffd1899a620) 0
+
+Class QConstString
+ size=8 align=8
+ base size=8 base align=8
+QConstString (0x7ffd186dfee0) 0
+ QString (0x7ffd186dff50) 0
+
+Class QStringRef
+ size=16 align=8
+ base size=16 base align=8
+QStringRef (0x7ffd18701bd0) 0
+
+Vtable for std::exception
+std::exception::_ZTVSt9exception: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt9exception)
+16 std::exception::~exception
+24 std::exception::~exception
+32 std::exception::what
+
+Class std::exception
+ size=8 align=8
+ base size=8 base align=8
+std::exception (0x7ffd185bb620) 0 nearly-empty
+ vptr=((& std::exception::_ZTVSt9exception) + 16u)
+
+Vtable for std::bad_exception
+std::bad_exception::_ZTVSt13bad_exception: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt13bad_exception)
+16 std::bad_exception::~bad_exception
+24 std::bad_exception::~bad_exception
+32 std::bad_exception::what
+
+Class std::bad_exception
+ size=8 align=8
+ base size=8 base align=8
+std::bad_exception (0x7ffd185dd000) 0 nearly-empty
+ vptr=((& std::bad_exception::_ZTVSt13bad_exception) + 16u)
+ std::exception (0x7ffd185dd070) 0 nearly-empty
+ primary-for std::bad_exception (0x7ffd185dd000)
+
+Vtable for std::bad_alloc
+std::bad_alloc::_ZTVSt9bad_alloc: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt9bad_alloc)
+16 std::bad_alloc::~bad_alloc
+24 std::bad_alloc::~bad_alloc
+32 std::bad_alloc::what
+
+Class std::bad_alloc
+ size=8 align=8
+ base size=8 base align=8
+std::bad_alloc (0x7ffd185dd8c0) 0 nearly-empty
+ vptr=((& std::bad_alloc::_ZTVSt9bad_alloc) + 16u)
+ std::exception (0x7ffd185dd930) 0 nearly-empty
+ primary-for std::bad_alloc (0x7ffd185dd8c0)
+
+Class std::nothrow_t
+ size=1 align=1
+ base size=0 base align=1
+std::nothrow_t (0x7ffd185ef0e0) 0 empty
+
+Class QListData::Data
+ size=32 align=8
+ base size=32 base align=8
+QListData::Data (0x7ffd185ef620) 0
+
+Class QListData
+ size=8 align=8
+ base size=8 base align=8
+QListData (0x7ffd185ef5b0) 0
+
+Vtable for QObjectData
+QObjectData::_ZTV11QObjectData: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QObjectData)
+16 __cxa_pure_virtual
+24 __cxa_pure_virtual
+
+Class QObjectData
+ size=40 align=8
+ base size=40 base align=8
+QObjectData (0x7ffd184f4bd0) 0
+ vptr=((& QObjectData::_ZTV11QObjectData) + 16u)
+
+Vtable for QObject
+QObject::_ZTV7QObject: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QObject)
+16 QObject::metaObject
+24 QObject::qt_metacast
+32 QObject::qt_metacall
+40 QObject::~QObject
+48 QObject::~QObject
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QObject
+ size=16 align=8
+ base size=16 base align=8
+QObject (0x7ffd184f4ee0) 0
+ vptr=((& QObject::_ZTV7QObject) + 16u)
+
+Vtable for QObjectUserData
+QObjectUserData::_ZTV15QObjectUserData: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QObjectUserData)
+16 QObjectUserData::~QObjectUserData
+24 QObjectUserData::~QObjectUserData
+
+Class QObjectUserData
+ size=8 align=8
+ base size=8 base align=8
+QObjectUserData (0x7ffd185853f0) 0 nearly-empty
+ vptr=((& QObjectUserData::_ZTV15QObjectUserData) + 16u)
+
+Vtable for QIODevice
+QIODevice::_ZTV9QIODevice: 30u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QIODevice)
+16 QIODevice::metaObject
+24 QIODevice::qt_metacast
+32 QIODevice::qt_metacall
+40 QIODevice::~QIODevice
+48 QIODevice::~QIODevice
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QIODevice::isSequential
+120 QIODevice::open
+128 QIODevice::close
+136 QIODevice::pos
+144 QIODevice::size
+152 QIODevice::seek
+160 QIODevice::atEnd
+168 QIODevice::reset
+176 QIODevice::bytesAvailable
+184 QIODevice::bytesToWrite
+192 QIODevice::canReadLine
+200 QIODevice::waitForReadyRead
+208 QIODevice::waitForBytesWritten
+216 __cxa_pure_virtual
+224 QIODevice::readLineData
+232 __cxa_pure_virtual
+
+Class QIODevice
+ size=16 align=8
+ base size=16 base align=8
+QIODevice (0x7ffd18585930) 0
+ vptr=((& QIODevice::_ZTV9QIODevice) + 16u)
+ QObject (0x7ffd185859a0) 0
+ primary-for QIODevice (0x7ffd18585930)
+
+Vtable for QDataStream
+QDataStream::_ZTV11QDataStream: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QDataStream)
+16 QDataStream::~QDataStream
+24 QDataStream::~QDataStream
+
+Class QDataStream
+ size=40 align=8
+ base size=40 base align=8
+QDataStream (0x7ffd183f82a0) 0
+ vptr=((& QDataStream::_ZTV11QDataStream) + 16u)
+
+Class QHashData::Node
+ size=16 align=8
+ base size=16 base align=8
+QHashData::Node (0x7ffd18481150) 0
+
+Class QHashData
+ size=40 align=8
+ base size=40 base align=8
+QHashData (0x7ffd184810e0) 0
+
+Class QHashDummyValue
+ size=1 align=1
+ base size=0 base align=1
+QHashDummyValue (0x7ffd18490ee0) 0 empty
+
+Class QMapData::Node
+ size=16 align=8
+ base size=16 base align=8
+QMapData::Node (0x7ffd181a4690) 0
+
+Class QMapData
+ size=128 align=8
+ base size=128 base align=8
+QMapData (0x7ffd181a4620) 0
+
+Vtable for QSystemLocale
+QSystemLocale::_ZTV13QSystemLocale: 6u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QSystemLocale)
+16 QSystemLocale::~QSystemLocale
+24 QSystemLocale::~QSystemLocale
+32 QSystemLocale::query
+40 QSystemLocale::fallbackLocale
+
+Class QSystemLocale
+ size=8 align=8
+ base size=8 base align=8
+QSystemLocale (0x7ffd180b6e00) 0 nearly-empty
+ vptr=((& QSystemLocale::_ZTV13QSystemLocale) + 16u)
+
+Class QLocale::Data
+ size=4 align=2
+ base size=4 base align=2
+QLocale::Data (0x7ffd181143f0) 0
+
+Class QLocale
+ size=8 align=8
+ base size=8 base align=8
+QLocale (0x7ffd180d90e0) 0
+
+Class QTextCodec::ConverterState
+ size=32 align=8
+ base size=32 base align=8
+QTextCodec::ConverterState (0x7ffd18163e70) 0
+
+Vtable for QTextCodec
+QTextCodec::_ZTV10QTextCodec: 9u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QTextCodec)
+16 __cxa_pure_virtual
+24 QTextCodec::aliases
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+48 __cxa_pure_virtual
+56 QTextCodec::~QTextCodec
+64 QTextCodec::~QTextCodec
+
+Class QTextCodec
+ size=8 align=8
+ base size=8 base align=8
+QTextCodec (0x7ffd1814ba80) 0 nearly-empty
+ vptr=((& QTextCodec::_ZTV10QTextCodec) + 16u)
+
+Class QTextEncoder
+ size=40 align=8
+ base size=40 base align=8
+QTextEncoder (0x7ffd17fce3f0) 0
+
+Class QTextDecoder
+ size=40 align=8
+ base size=40 base align=8
+QTextDecoder (0x7ffd17fd8230) 0
+
+Class _IO_marker
+ size=24 align=8
+ base size=24 base align=8
+_IO_marker (0x7ffd17fe22a0) 0
+
+Class _IO_FILE
+ size=216 align=8
+ base size=216 base align=8
+_IO_FILE (0x7ffd17fe2310) 0
+
+Vtable for QTextStream
+QTextStream::_ZTV11QTextStream: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QTextStream)
+16 QTextStream::~QTextStream
+24 QTextStream::~QTextStream
+
+Class QTextStream
+ size=16 align=8
+ base size=16 base align=8
+QTextStream (0x7ffd17fe23f0) 0
+ vptr=((& QTextStream::_ZTV11QTextStream) + 16u)
+
+Class QTextStreamManipulator
+ size=40 align=8
+ base size=38 base align=8
+QTextStreamManipulator (0x7ffd1807aee0) 0
+
+Vtable for QTextIStream
+QTextIStream::_ZTV12QTextIStream: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QTextIStream)
+16 QTextIStream::~QTextIStream
+24 QTextIStream::~QTextIStream
+
+Class QTextIStream
+ size=16 align=8
+ base size=16 base align=8
+QTextIStream (0x7ffd17ea41c0) 0
+ vptr=((& QTextIStream::_ZTV12QTextIStream) + 16u)
+ QTextStream (0x7ffd17ea4230) 0
+ primary-for QTextIStream (0x7ffd17ea41c0)
+
+Vtable for QTextOStream
+QTextOStream::_ZTV12QTextOStream: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QTextOStream)
+16 QTextOStream::~QTextOStream
+24 QTextOStream::~QTextOStream
+
+Class QTextOStream
+ size=16 align=8
+ base size=16 base align=8
+QTextOStream (0x7ffd17eba070) 0
+ vptr=((& QTextOStream::_ZTV12QTextOStream) + 16u)
+ QTextStream (0x7ffd17eba0e0) 0
+ primary-for QTextOStream (0x7ffd17eba070)
+
+Class wait
+ size=4 align=4
+ base size=4 base align=4
+wait (0x7ffd17ec5ee0) 0
+
+Class timespec
+ size=16 align=8
+ base size=16 base align=8
+timespec (0x7ffd17ed3230) 0
+
+Class timeval
+ size=16 align=8
+ base size=16 base align=8
+timeval (0x7ffd17ed32a0) 0
+
+Class __pthread_internal_list
+ size=16 align=8
+ base size=16 base align=8
+__pthread_internal_list (0x7ffd17ed33f0) 0
+
+Class random_data
+ size=48 align=8
+ base size=48 base align=8
+random_data (0x7ffd17ed39a0) 0
+
+Class drand48_data
+ size=24 align=8
+ base size=24 base align=8
+drand48_data (0x7ffd17ed3a10) 0
+
+Class QVectorData
+ size=16 align=4
+ base size=16 base align=4
+QVectorData (0x7ffd17ed3a80) 0
+
+Class QDebug::Stream
+ size=40 align=8
+ base size=34 base align=8
+QDebug::Stream (0x7ffd17e50230) 0
+
+Class QDebug
+ size=8 align=8
+ base size=8 base align=8
+QDebug (0x7ffd17e501c0) 0
+
+Class QNoDebug
+ size=1 align=1
+ base size=0 base align=1
+QNoDebug (0x7ffd17cee070) 0 empty
+
+Vtable for QFile
+QFile::_ZTV5QFile: 31u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI5QFile)
+16 QFile::metaObject
+24 QFile::qt_metacast
+32 QFile::qt_metacall
+40 QFile::~QFile
+48 QFile::~QFile
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QFile::isSequential
+120 QFile::open
+128 QFile::close
+136 QFile::pos
+144 QFile::size
+152 QFile::seek
+160 QFile::atEnd
+168 QIODevice::reset
+176 QIODevice::bytesAvailable
+184 QIODevice::bytesToWrite
+192 QIODevice::canReadLine
+200 QIODevice::waitForReadyRead
+208 QIODevice::waitForBytesWritten
+216 QFile::readData
+224 QFile::readLineData
+232 QFile::writeData
+240 QFile::fileEngine
+
+Class QFile
+ size=16 align=8
+ base size=16 base align=8
+QFile (0x7ffd17d00620) 0
+ vptr=((& QFile::_ZTV5QFile) + 16u)
+ QIODevice (0x7ffd17d00690) 0
+ primary-for QFile (0x7ffd17d00620)
+ QObject (0x7ffd17d00700) 0
+ primary-for QIODevice (0x7ffd17d00690)
+
+Vtable for QTemporaryFile
+QTemporaryFile::_ZTV14QTemporaryFile: 31u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QTemporaryFile)
+16 QTemporaryFile::metaObject
+24 QTemporaryFile::qt_metacast
+32 QTemporaryFile::qt_metacall
+40 QTemporaryFile::~QTemporaryFile
+48 QTemporaryFile::~QTemporaryFile
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QFile::isSequential
+120 QTemporaryFile::open
+128 QFile::close
+136 QFile::pos
+144 QFile::size
+152 QFile::seek
+160 QFile::atEnd
+168 QIODevice::reset
+176 QIODevice::bytesAvailable
+184 QIODevice::bytesToWrite
+192 QIODevice::canReadLine
+200 QIODevice::waitForReadyRead
+208 QIODevice::waitForBytesWritten
+216 QFile::readData
+224 QFile::readLineData
+232 QFile::writeData
+240 QTemporaryFile::fileEngine
+
+Class QTemporaryFile
+ size=16 align=8
+ base size=16 base align=8
+QTemporaryFile (0x7ffd17d68850) 0
+ vptr=((& QTemporaryFile::_ZTV14QTemporaryFile) + 16u)
+ QFile (0x7ffd17d688c0) 0
+ primary-for QTemporaryFile (0x7ffd17d68850)
+ QIODevice (0x7ffd17d68930) 0
+ primary-for QFile (0x7ffd17d688c0)
+ QObject (0x7ffd17d689a0) 0
+ primary-for QIODevice (0x7ffd17d68930)
+
+Class QFileInfo
+ size=8 align=8
+ base size=8 base align=8
+QFileInfo (0x7ffd17d8bf50) 0
+
+Class QRegExp
+ size=8 align=8
+ base size=8 base align=8
+QRegExp (0x7ffd17be7770) 0
+
+Class QStringMatcher
+ size=1048 align=8
+ base size=1048 base align=8
+QStringMatcher (0x7ffd17c345b0) 0
+
+Class QStringList
+ size=8 align=8
+ base size=8 base align=8
+QStringList (0x7ffd17c45070) 0
+ QList<QString> (0x7ffd17c450e0) 0
+
+Class QDir
+ size=8 align=8
+ base size=8 base align=8
+QDir (0x7ffd17ad6cb0) 0
+
+Class QAbstractFileEngine::ExtensionOption
+ size=1 align=1
+ base size=0 base align=1
+QAbstractFileEngine::ExtensionOption (0x7ffd17b6de70) 0 empty
+
+Class QAbstractFileEngine::ExtensionReturn
+ size=1 align=1
+ base size=0 base align=1
+QAbstractFileEngine::ExtensionReturn (0x7ffd17b6dee0) 0 empty
+
+Class QAbstractFileEngine::MapExtensionOption
+ size=24 align=8
+ base size=20 base align=8
+QAbstractFileEngine::MapExtensionOption (0x7ffd17b6df50) 0
+ QAbstractFileEngine::ExtensionOption (0x7ffd17b83000) 0 empty
+
+Class QAbstractFileEngine::MapExtensionReturn
+ size=8 align=8
+ base size=8 base align=8
+QAbstractFileEngine::MapExtensionReturn (0x7ffd17b831c0) 0
+ QAbstractFileEngine::ExtensionReturn (0x7ffd17b83230) 0 empty
+
+Class QAbstractFileEngine::UnMapExtensionOption
+ size=8 align=8
+ base size=8 base align=8
+QAbstractFileEngine::UnMapExtensionOption (0x7ffd17b832a0) 0
+ QAbstractFileEngine::ExtensionOption (0x7ffd17b83310) 0 empty
+
+Vtable for QAbstractFileEngine
+QAbstractFileEngine::_ZTV19QAbstractFileEngine: 36u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QAbstractFileEngine)
+16 QAbstractFileEngine::~QAbstractFileEngine
+24 QAbstractFileEngine::~QAbstractFileEngine
+32 QAbstractFileEngine::open
+40 QAbstractFileEngine::close
+48 QAbstractFileEngine::flush
+56 QAbstractFileEngine::size
+64 QAbstractFileEngine::pos
+72 QAbstractFileEngine::seek
+80 QAbstractFileEngine::isSequential
+88 QAbstractFileEngine::remove
+96 QAbstractFileEngine::copy
+104 QAbstractFileEngine::rename
+112 QAbstractFileEngine::link
+120 QAbstractFileEngine::mkdir
+128 QAbstractFileEngine::rmdir
+136 QAbstractFileEngine::setSize
+144 QAbstractFileEngine::caseSensitive
+152 QAbstractFileEngine::isRelativePath
+160 QAbstractFileEngine::entryList
+168 QAbstractFileEngine::fileFlags
+176 QAbstractFileEngine::setPermissions
+184 QAbstractFileEngine::fileName
+192 QAbstractFileEngine::ownerId
+200 QAbstractFileEngine::owner
+208 QAbstractFileEngine::fileTime
+216 QAbstractFileEngine::setFileName
+224 QAbstractFileEngine::handle
+232 QAbstractFileEngine::beginEntryList
+240 QAbstractFileEngine::endEntryList
+248 QAbstractFileEngine::read
+256 QAbstractFileEngine::readLine
+264 QAbstractFileEngine::write
+272 QAbstractFileEngine::extension
+280 QAbstractFileEngine::supportsExtension
+
+Class QAbstractFileEngine
+ size=16 align=8
+ base size=16 base align=8
+QAbstractFileEngine (0x7ffd17b5fe00) 0
+ vptr=((& QAbstractFileEngine::_ZTV19QAbstractFileEngine) + 16u)
+
+Vtable for QAbstractFileEngineHandler
+QAbstractFileEngineHandler::_ZTV26QAbstractFileEngineHandler: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI26QAbstractFileEngineHandler)
+16 QAbstractFileEngineHandler::~QAbstractFileEngineHandler
+24 QAbstractFileEngineHandler::~QAbstractFileEngineHandler
+32 __cxa_pure_virtual
+
+Class QAbstractFileEngineHandler
+ size=8 align=8
+ base size=8 base align=8
+QAbstractFileEngineHandler (0x7ffd179b3000) 0 nearly-empty
+ vptr=((& QAbstractFileEngineHandler::_ZTV26QAbstractFileEngineHandler) + 16u)
+
+Vtable for QAbstractFileEngineIterator
+QAbstractFileEngineIterator::_ZTV27QAbstractFileEngineIterator: 9u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI27QAbstractFileEngineIterator)
+16 QAbstractFileEngineIterator::~QAbstractFileEngineIterator
+24 QAbstractFileEngineIterator::~QAbstractFileEngineIterator
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+48 __cxa_pure_virtual
+56 QAbstractFileEngineIterator::currentFileInfo
+64 QAbstractFileEngineIterator::entryInfo
+
+Class QAbstractFileEngineIterator
+ size=16 align=8
+ base size=16 base align=8
+QAbstractFileEngineIterator (0x7ffd179b31c0) 0
+ vptr=((& QAbstractFileEngineIterator::_ZTV27QAbstractFileEngineIterator) + 16u)
+
+Vtable for QFSFileEngine
+QFSFileEngine::_ZTV13QFSFileEngine: 36u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QFSFileEngine)
+16 QFSFileEngine::~QFSFileEngine
+24 QFSFileEngine::~QFSFileEngine
+32 QFSFileEngine::open
+40 QFSFileEngine::close
+48 QFSFileEngine::flush
+56 QFSFileEngine::size
+64 QFSFileEngine::pos
+72 QFSFileEngine::seek
+80 QFSFileEngine::isSequential
+88 QFSFileEngine::remove
+96 QFSFileEngine::copy
+104 QFSFileEngine::rename
+112 QFSFileEngine::link
+120 QFSFileEngine::mkdir
+128 QFSFileEngine::rmdir
+136 QFSFileEngine::setSize
+144 QFSFileEngine::caseSensitive
+152 QFSFileEngine::isRelativePath
+160 QFSFileEngine::entryList
+168 QFSFileEngine::fileFlags
+176 QFSFileEngine::setPermissions
+184 QFSFileEngine::fileName
+192 QFSFileEngine::ownerId
+200 QFSFileEngine::owner
+208 QFSFileEngine::fileTime
+216 QFSFileEngine::setFileName
+224 QFSFileEngine::handle
+232 QFSFileEngine::beginEntryList
+240 QFSFileEngine::endEntryList
+248 QFSFileEngine::read
+256 QFSFileEngine::readLine
+264 QFSFileEngine::write
+272 QFSFileEngine::extension
+280 QFSFileEngine::supportsExtension
+
+Class QFSFileEngine
+ size=16 align=8
+ base size=16 base align=8
+QFSFileEngine (0x7ffd179b3a10) 0
+ vptr=((& QFSFileEngine::_ZTV13QFSFileEngine) + 16u)
+ QAbstractFileEngine (0x7ffd179b3a80) 0
+ primary-for QFSFileEngine (0x7ffd179b3a10)
+
+Vtable for QProcess
+QProcess::_ZTV8QProcess: 31u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI8QProcess)
+16 QProcess::metaObject
+24 QProcess::qt_metacast
+32 QProcess::qt_metacall
+40 QProcess::~QProcess
+48 QProcess::~QProcess
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QProcess::isSequential
+120 QIODevice::open
+128 QProcess::close
+136 QIODevice::pos
+144 QIODevice::size
+152 QIODevice::seek
+160 QProcess::atEnd
+168 QIODevice::reset
+176 QProcess::bytesAvailable
+184 QProcess::bytesToWrite
+192 QProcess::canReadLine
+200 QProcess::waitForReadyRead
+208 QProcess::waitForBytesWritten
+216 QProcess::readData
+224 QIODevice::readLineData
+232 QProcess::writeData
+240 QProcess::setupChildProcess
+
+Class QProcess
+ size=16 align=8
+ base size=16 base align=8
+QProcess (0x7ffd179cbd20) 0
+ vptr=((& QProcess::_ZTV8QProcess) + 16u)
+ QIODevice (0x7ffd179cbd90) 0
+ primary-for QProcess (0x7ffd179cbd20)
+ QObject (0x7ffd179cbe00) 0
+ primary-for QIODevice (0x7ffd179cbd90)
+
+Class QResource
+ size=8 align=8
+ base size=8 base align=8
+QResource (0x7ffd17a07230) 0
+
+Vtable for QDirIterator
+QDirIterator::_ZTV12QDirIterator: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QDirIterator)
+16 QDirIterator::~QDirIterator
+24 QDirIterator::~QDirIterator
+
+Class QDirIterator
+ size=16 align=8
+ base size=16 base align=8
+QDirIterator (0x7ffd17a07cb0) 0
+ vptr=((& QDirIterator::_ZTV12QDirIterator) + 16u)
+
+Vtable for QBuffer
+QBuffer::_ZTV7QBuffer: 30u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QBuffer)
+16 QBuffer::metaObject
+24 QBuffer::qt_metacast
+32 QBuffer::qt_metacall
+40 QBuffer::~QBuffer
+48 QBuffer::~QBuffer
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QBuffer::connectNotify
+104 QBuffer::disconnectNotify
+112 QIODevice::isSequential
+120 QBuffer::open
+128 QBuffer::close
+136 QBuffer::pos
+144 QBuffer::size
+152 QBuffer::seek
+160 QBuffer::atEnd
+168 QIODevice::reset
+176 QIODevice::bytesAvailable
+184 QIODevice::bytesToWrite
+192 QBuffer::canReadLine
+200 QIODevice::waitForReadyRead
+208 QIODevice::waitForBytesWritten
+216 QBuffer::readData
+224 QIODevice::readLineData
+232 QBuffer::writeData
+
+Class QBuffer
+ size=16 align=8
+ base size=16 base align=8
+QBuffer (0x7ffd17a38a80) 0
+ vptr=((& QBuffer::_ZTV7QBuffer) + 16u)
+ QIODevice (0x7ffd17a38af0) 0
+ primary-for QBuffer (0x7ffd17a38a80)
+ QObject (0x7ffd17a38b60) 0
+ primary-for QIODevice (0x7ffd17a38af0)
+
+Vtable for QFileSystemWatcher
+QFileSystemWatcher::_ZTV18QFileSystemWatcher: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QFileSystemWatcher)
+16 QFileSystemWatcher::metaObject
+24 QFileSystemWatcher::qt_metacast
+32 QFileSystemWatcher::qt_metacall
+40 QFileSystemWatcher::~QFileSystemWatcher
+48 QFileSystemWatcher::~QFileSystemWatcher
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QFileSystemWatcher
+ size=16 align=8
+ base size=16 base align=8
+QFileSystemWatcher (0x7ffd17a5e690) 0
+ vptr=((& QFileSystemWatcher::_ZTV18QFileSystemWatcher) + 16u)
+ QObject (0x7ffd17a5e700) 0
+ primary-for QFileSystemWatcher (0x7ffd17a5e690)
+
+Class QUrl
+ size=8 align=8
+ base size=8 base align=8
+QUrl (0x7ffd17a71bd0) 0
+
+Class QMetaType
+ size=1 align=1
+ base size=0 base align=1
+QMetaType (0x7ffd178dc3f0) 0 empty
+
+Class QVariant::PrivateShared
+ size=16 align=8
+ base size=12 base align=8
+QVariant::PrivateShared (0x7ffd177ae930) 0
+
+Class QVariant::Private::Data
+ size=8 align=8
+ base size=8 base align=8
+QVariant::Private::Data (0x7ffd177aec40) 0
+
+Class QVariant::Private
+ size=16 align=8
+ base size=12 base align=8
+QVariant::Private (0x7ffd177aea10) 0
+
+Class QVariant::Handler
+ size=72 align=8
+ base size=72 base align=8
+QVariant::Handler (0x7ffd177be930) 0
+
+Class QVariant
+ size=16 align=8
+ base size=16 base align=8
+QVariant (0x7ffd1777eaf0) 0
+
+Class QVariantComparisonHelper
+ size=8 align=8
+ base size=8 base align=8
+QVariantComparisonHelper (0x7ffd1786acb0) 0
+
+Vtable for QSettings
+QSettings::_ZTV9QSettings: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QSettings)
+16 QSettings::metaObject
+24 QSettings::qt_metacast
+32 QSettings::qt_metacall
+40 QSettings::~QSettings
+48 QSettings::~QSettings
+56 QSettings::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QSettings
+ size=16 align=8
+ base size=16 base align=8
+QSettings (0x7ffd17687cb0) 0
+ vptr=((& QSettings::_ZTV9QSettings) + 16u)
+ QObject (0x7ffd17687d20) 0
+ primary-for QSettings (0x7ffd17687cb0)
+
+Class QXmlStreamStringRef
+ size=16 align=8
+ base size=16 base align=8
+QXmlStreamStringRef (0x7ffd1770b070) 0
+
+Class QXmlStreamAttribute
+ size=80 align=8
+ base size=73 base align=8
+QXmlStreamAttribute (0x7ffd17728850) 0
+
+Class QXmlStreamAttributes
+ size=8 align=8
+ base size=8 base align=8
+QXmlStreamAttributes (0x7ffd17751380) 0
+ QVector<QXmlStreamAttribute> (0x7ffd177513f0) 0
+
+Class QXmlStreamNamespaceDeclaration
+ size=40 align=8
+ base size=40 base align=8
+QXmlStreamNamespaceDeclaration (0x7ffd17751850) 0
+
+Class QXmlStreamNotationDeclaration
+ size=56 align=8
+ base size=56 base align=8
+QXmlStreamNotationDeclaration (0x7ffd175901c0) 0
+
+Class QXmlStreamEntityDeclaration
+ size=88 align=8
+ base size=88 base align=8
+QXmlStreamEntityDeclaration (0x7ffd175af070) 0
+
+Vtable for QXmlStreamEntityResolver
+QXmlStreamEntityResolver::_ZTV24QXmlStreamEntityResolver: 6u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI24QXmlStreamEntityResolver)
+16 QXmlStreamEntityResolver::~QXmlStreamEntityResolver
+24 QXmlStreamEntityResolver::~QXmlStreamEntityResolver
+32 QXmlStreamEntityResolver::resolveEntity
+40 QXmlStreamEntityResolver::resolveUndeclaredEntity
+
+Class QXmlStreamEntityResolver
+ size=8 align=8
+ base size=8 base align=8
+QXmlStreamEntityResolver (0x7ffd175ca9a0) 0 nearly-empty
+ vptr=((& QXmlStreamEntityResolver::_ZTV24QXmlStreamEntityResolver) + 16u)
+
+Class QXmlStreamReader
+ size=8 align=8
+ base size=8 base align=8
+QXmlStreamReader (0x7ffd175cab60) 0
+
+Class QXmlStreamWriter
+ size=8 align=8
+ base size=8 base align=8
+QXmlStreamWriter (0x7ffd17608a10) 0
+
+Class QPoint
+ size=8 align=4
+ base size=8 base align=4
+QPoint (0x7ffd17645150) 0
+
+Class QPointF
+ size=16 align=8
+ base size=16 base align=8
+QPointF (0x7ffd1747cd90) 0
+
+Class QLine
+ size=16 align=4
+ base size=16 base align=4
+QLine (0x7ffd174b9bd0) 0
+
+Class QLineF
+ size=32 align=8
+ base size=32 base align=8
+QLineF (0x7ffd174f4a80) 0
+
+Class QSize
+ size=8 align=4
+ base size=8 base align=4
+QSize (0x7ffd1754f540) 0
+
+Class QSizeF
+ size=16 align=8
+ base size=16 base align=8
+QSizeF (0x7ffd1739c380) 0
+
+Class QRect
+ size=16 align=4
+ base size=16 base align=4
+QRect (0x7ffd173e69a0) 0
+
+Class QRectF
+ size=32 align=8
+ base size=32 base align=8
+QRectF (0x7ffd17297380) 0
+
+Class QSharedData
+ size=4 align=4
+ base size=4 base align=4
+QSharedData (0x7ffd17342150) 0
+
+Vtable for QtSharedPointer::ExternalRefCountData
+QtSharedPointer::ExternalRefCountData::_ZTVN15QtSharedPointer20ExternalRefCountDataE: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN15QtSharedPointer20ExternalRefCountDataE)
+16 QtSharedPointer::ExternalRefCountData::~ExternalRefCountData
+24 QtSharedPointer::ExternalRefCountData::~ExternalRefCountData
+32 QtSharedPointer::ExternalRefCountData::destroy
+
+Class QtSharedPointer::ExternalRefCountData
+ size=16 align=8
+ base size=16 base align=8
+QtSharedPointer::ExternalRefCountData (0x7ffd17172af0) 0
+ vptr=((& QtSharedPointer::ExternalRefCountData::_ZTVN15QtSharedPointer20ExternalRefCountDataE) + 16u)
+
+Class QLinkedListData
+ size=32 align=8
+ base size=32 base align=8
+QLinkedListData (0x7ffd171f7c40) 0
+
+Class QBitArray
+ size=8 align=8
+ base size=8 base align=8
+QBitArray (0x7ffd170c4b60) 0
+
+Class QBitRef
+ size=16 align=8
+ base size=12 base align=8
+QBitRef (0x7ffd17138930) 0
+
+Class QByteArrayMatcher
+ size=1040 align=8
+ base size=1040 base align=8
+QByteArrayMatcher (0x7ffd17153310) 0
+
+Class QCryptographicHash
+ size=8 align=8
+ base size=8 base align=8
+QCryptographicHash (0x7ffd16f67a10) 0
+
+Class QTextBoundaryFinder
+ size=48 align=8
+ base size=48 base align=8
+QTextBoundaryFinder (0x7ffd16f93460) 0
+
+Class QDate
+ size=4 align=4
+ base size=4 base align=4
+QDate (0x7ffd16fa97e0) 0
+
+Class QTime
+ size=4 align=4
+ base size=4 base align=4
+QTime (0x7ffd16fd1770) 0
+
+Class QDateTime
+ size=8 align=8
+ base size=8 base align=8
+QDateTime (0x7ffd16ff0d20) 0
+
+Vtable for QTimeLine
+QTimeLine::_ZTV9QTimeLine: 15u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QTimeLine)
+16 QTimeLine::metaObject
+24 QTimeLine::qt_metacast
+32 QTimeLine::qt_metacall
+40 QTimeLine::~QTimeLine
+48 QTimeLine::~QTimeLine
+56 QObject::event
+64 QObject::eventFilter
+72 QTimeLine::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QTimeLine::valueForTime
+
+Class QTimeLine
+ size=16 align=8
+ base size=16 base align=8
+QTimeLine (0x7ffd170231c0) 0
+ vptr=((& QTimeLine::_ZTV9QTimeLine) + 16u)
+ QObject (0x7ffd17023230) 0
+ primary-for QTimeLine (0x7ffd170231c0)
+
+Vtable for QRunnable
+QRunnable::_ZTV9QRunnable: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QRunnable)
+16 __cxa_pure_virtual
+24 QRunnable::~QRunnable
+32 QRunnable::~QRunnable
+
+Class QRunnable
+ size=16 align=8
+ base size=12 base align=8
+QRunnable (0x7ffd1704b070) 0
+ vptr=((& QRunnable::_ZTV9QRunnable) + 16u)
+
+Class QMutex
+ size=8 align=8
+ base size=8 base align=8
+QMutex (0x7ffd17057700) 0
+
+Class QMutexLocker
+ size=8 align=8
+ base size=8 base align=8
+QMutexLocker (0x7ffd16e672a0) 0
+
+Vtable for QtConcurrent::Exception
+QtConcurrent::Exception::_ZTVN12QtConcurrent9ExceptionE: 7u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN12QtConcurrent9ExceptionE)
+16 QtConcurrent::Exception::~Exception
+24 QtConcurrent::Exception::~Exception
+32 std::exception::what
+40 QtConcurrent::Exception::raise
+48 QtConcurrent::Exception::clone
+
+Class QtConcurrent::Exception
+ size=8 align=8
+ base size=8 base align=8
+QtConcurrent::Exception (0x7ffd16e7d5b0) 0 nearly-empty
+ vptr=((& QtConcurrent::Exception::_ZTVN12QtConcurrent9ExceptionE) + 16u)
+ std::exception (0x7ffd16e7d620) 0 nearly-empty
+ primary-for QtConcurrent::Exception (0x7ffd16e7d5b0)
+
+Vtable for QtConcurrent::UnhandledException
+QtConcurrent::UnhandledException::_ZTVN12QtConcurrent18UnhandledExceptionE: 7u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN12QtConcurrent18UnhandledExceptionE)
+16 QtConcurrent::UnhandledException::~UnhandledException
+24 QtConcurrent::UnhandledException::~UnhandledException
+32 std::exception::what
+40 QtConcurrent::UnhandledException::raise
+48 QtConcurrent::UnhandledException::clone
+
+Class QtConcurrent::UnhandledException
+ size=8 align=8
+ base size=8 base align=8
+QtConcurrent::UnhandledException (0x7ffd16e7d850) 0 nearly-empty
+ vptr=((& QtConcurrent::UnhandledException::_ZTVN12QtConcurrent18UnhandledExceptionE) + 16u)
+ QtConcurrent::Exception (0x7ffd16e7d8c0) 0 nearly-empty
+ primary-for QtConcurrent::UnhandledException (0x7ffd16e7d850)
+ std::exception (0x7ffd16e7d930) 0 nearly-empty
+ primary-for QtConcurrent::Exception (0x7ffd16e7d8c0)
+
+Class QtConcurrent::internal::ExceptionHolder
+ size=8 align=8
+ base size=8 base align=8
+QtConcurrent::internal::ExceptionHolder (0x7ffd16e7db60) 0
+
+Class QtConcurrent::internal::ExceptionStore
+ size=8 align=8
+ base size=8 base align=8
+QtConcurrent::internal::ExceptionStore (0x7ffd16e7dee0) 0
+
+Class QtConcurrent::ResultItem
+ size=16 align=8
+ base size=16 base align=8
+QtConcurrent::ResultItem (0x7ffd16e7df50) 0
+
+Class QtConcurrent::ResultIteratorBase
+ size=16 align=8
+ base size=12 base align=8
+QtConcurrent::ResultIteratorBase (0x7ffd16e92e70) 0
+
+Vtable for QtConcurrent::ResultStoreBase
+QtConcurrent::ResultStoreBase::_ZTVN12QtConcurrent15ResultStoreBaseE: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN12QtConcurrent15ResultStoreBaseE)
+16 QtConcurrent::ResultStoreBase::~ResultStoreBase
+24 QtConcurrent::ResultStoreBase::~ResultStoreBase
+
+Class QtConcurrent::ResultStoreBase
+ size=48 align=8
+ base size=44 base align=8
+QtConcurrent::ResultStoreBase (0x7ffd16e96a10) 0
+ vptr=((& QtConcurrent::ResultStoreBase::_ZTVN12QtConcurrent15ResultStoreBaseE) + 16u)
+
+Vtable for QFutureInterfaceBase
+QFutureInterfaceBase::_ZTV20QFutureInterfaceBase: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI20QFutureInterfaceBase)
+16 QFutureInterfaceBase::~QFutureInterfaceBase
+24 QFutureInterfaceBase::~QFutureInterfaceBase
+
+Class QFutureInterfaceBase
+ size=16 align=8
+ base size=16 base align=8
+QFutureInterfaceBase (0x7ffd16ed8e70) 0
+ vptr=((& QFutureInterfaceBase::_ZTV20QFutureInterfaceBase) + 16u)
+
+Vtable for QThread
+QThread::_ZTV7QThread: 15u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QThread)
+16 QThread::metaObject
+24 QThread::qt_metacast
+32 QThread::qt_metacall
+40 QThread::~QThread
+48 QThread::~QThread
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QThread::run
+
+Class QThread
+ size=16 align=8
+ base size=16 base align=8
+QThread (0x7ffd16dbbe00) 0
+ vptr=((& QThread::_ZTV7QThread) + 16u)
+ QObject (0x7ffd16dbbe70) 0
+ primary-for QThread (0x7ffd16dbbe00)
+
+Vtable for QThreadPool
+QThreadPool::_ZTV11QThreadPool: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QThreadPool)
+16 QThreadPool::metaObject
+24 QThreadPool::qt_metacast
+32 QThreadPool::qt_metacall
+40 QThreadPool::~QThreadPool
+48 QThreadPool::~QThreadPool
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QThreadPool
+ size=16 align=8
+ base size=16 base align=8
+QThreadPool (0x7ffd16deecb0) 0
+ vptr=((& QThreadPool::_ZTV11QThreadPool) + 16u)
+ QObject (0x7ffd16deed20) 0
+ primary-for QThreadPool (0x7ffd16deecb0)
+
+Class QWaitCondition
+ size=8 align=8
+ base size=8 base align=8
+QWaitCondition (0x7ffd16e08540) 0
+
+Class QtConcurrent::ThreadEngineSemaphore
+ size=24 align=8
+ base size=24 base align=8
+QtConcurrent::ThreadEngineSemaphore (0x7ffd16e08a80) 0
+
+Vtable for QtConcurrent::ThreadEngineBase
+QtConcurrent::ThreadEngineBase::_ZTVN12QtConcurrent16ThreadEngineBaseE: 11u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN12QtConcurrent16ThreadEngineBaseE)
+16 QtConcurrent::ThreadEngineBase::run
+24 QtConcurrent::ThreadEngineBase::~ThreadEngineBase
+32 QtConcurrent::ThreadEngineBase::~ThreadEngineBase
+40 QtConcurrent::ThreadEngineBase::start
+48 QtConcurrent::ThreadEngineBase::finish
+56 QtConcurrent::ThreadEngineBase::threadFunction
+64 QtConcurrent::ThreadEngineBase::shouldStartThread
+72 QtConcurrent::ThreadEngineBase::shouldThrottleThread
+80 __cxa_pure_virtual
+
+Class QtConcurrent::ThreadEngineBase
+ size=64 align=8
+ base size=64 base align=8
+QtConcurrent::ThreadEngineBase (0x7ffd16e26460) 0
+ vptr=((& QtConcurrent::ThreadEngineBase::_ZTVN12QtConcurrent16ThreadEngineBaseE) + 16u)
+ QRunnable (0x7ffd16e264d0) 0
+ primary-for QtConcurrent::ThreadEngineBase (0x7ffd16e26460)
+
+VTT for QtConcurrent::ThreadEngine<void>
+QtConcurrent::ThreadEngine<void>::_ZTTN12QtConcurrent12ThreadEngineIvEE: 2u entries
+0 ((& QtConcurrent::ThreadEngine<void>::_ZTVN12QtConcurrent12ThreadEngineIvEE) + 24u)
+8 ((& QtConcurrent::ThreadEngine<void>::_ZTVN12QtConcurrent12ThreadEngineIvEE) + 136u)
+
+Class std::input_iterator_tag
+ size=1 align=1
+ base size=0 base align=1
+std::input_iterator_tag (0x7ffd16c68850) 0 empty
+
+Class std::output_iterator_tag
+ size=1 align=1
+ base size=0 base align=1
+std::output_iterator_tag (0x7ffd16c688c0) 0 empty
+
+Class std::forward_iterator_tag
+ size=1 align=1
+ base size=1 base align=1
+std::forward_iterator_tag (0x7ffd16c68930) 0 empty
+ std::input_iterator_tag (0x7ffd16c689a0) 0 empty
+
+Class std::bidirectional_iterator_tag
+ size=1 align=1
+ base size=1 base align=1
+std::bidirectional_iterator_tag (0x7ffd16c68a10) 0 empty
+ std::forward_iterator_tag (0x7ffd16c68a80) 0 empty
+ std::input_iterator_tag (0x7ffd16c68af0) 0 empty
+
+Class std::random_access_iterator_tag
+ size=1 align=1
+ base size=1 base align=1
+std::random_access_iterator_tag (0x7ffd16c68b60) 0 empty
+ std::bidirectional_iterator_tag (0x7ffd16c68bd0) 0 empty
+ std::forward_iterator_tag (0x7ffd16c68c40) 0 empty
+ std::input_iterator_tag (0x7ffd16c68cb0) 0 empty
+
+Class std::__true_type
+ size=1 align=1
+ base size=0 base align=1
+std::__true_type (0x7ffd16c7b2a0) 0 empty
+
+Class std::__false_type
+ size=1 align=1
+ base size=0 base align=1
+std::__false_type (0x7ffd16c7b310) 0 empty
+
+Class lconv
+ size=96 align=8
+ base size=96 base align=8
+lconv (0x7ffd16c58620) 0
+
+Class sched_param
+ size=4 align=4
+ base size=4 base align=4
+sched_param (0x7ffd16c58a80) 0
+
+Class __sched_param
+ size=4 align=4
+ base size=4 base align=4
+__sched_param (0x7ffd16c58af0) 0
+
+Class tm
+ size=56 align=8
+ base size=56 base align=8
+tm (0x7ffd16c58bd0) 0
+
+Class itimerspec
+ size=32 align=8
+ base size=32 base align=8
+itimerspec (0x7ffd16c58cb0) 0
+
+Class _pthread_cleanup_buffer
+ size=32 align=8
+ base size=32 base align=8
+_pthread_cleanup_buffer (0x7ffd16c58d20) 0
+
+Class __pthread_cleanup_frame
+ size=24 align=8
+ base size=24 base align=8
+__pthread_cleanup_frame (0x7ffd16c58e70) 0
+
+Class __pthread_cleanup_class
+ size=24 align=8
+ base size=24 base align=8
+__pthread_cleanup_class (0x7ffd16c58ee0) 0
+
+Vtable for __cxxabiv1::__forced_unwind
+__cxxabiv1::__forced_unwind::_ZTVN10__cxxabiv115__forced_unwindE: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN10__cxxabiv115__forced_unwindE)
+16 __cxxabiv1::__forced_unwind::~__forced_unwind
+24 __cxxabiv1::__forced_unwind::~__forced_unwind
+32 __cxa_pure_virtual
+
+Class __cxxabiv1::__forced_unwind
+ size=8 align=8
+ base size=8 base align=8
+__cxxabiv1::__forced_unwind (0x7ffd16963a80) 0 nearly-empty
+ vptr=((& __cxxabiv1::__forced_unwind::_ZTVN10__cxxabiv115__forced_unwindE) + 16u)
+
+Class std::locale
+ size=8 align=8
+ base size=8 base align=8
+std::locale (0x7ffd168155b0) 0
+
+Vtable for std::locale::facet
+std::locale::facet::_ZTVNSt6locale5facetE: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTINSt6locale5facetE)
+16 std::locale::facet::~facet
+24 std::locale::facet::~facet
+
+Class std::locale::facet
+ size=16 align=8
+ base size=12 base align=8
+std::locale::facet (0x7ffd166b7cb0) 0
+ vptr=((& std::locale::facet::_ZTVNSt6locale5facetE) + 16u)
+
+Class std::locale::id
+ size=8 align=8
+ base size=8 base align=8
+std::locale::id (0x7ffd166cc2a0) 0
+
+Class std::locale::_Impl
+ size=40 align=8
+ base size=40 base align=8
+std::locale::_Impl (0x7ffd166cc8c0) 0
+
+Vtable for std::ios_base::failure
+std::ios_base::failure::_ZTVNSt8ios_base7failureE: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTINSt8ios_base7failureE)
+16 std::ios_base::failure::~failure
+24 std::ios_base::failure::~failure
+32 std::ios_base::failure::what
+
+Class std::ios_base::failure
+ size=16 align=8
+ base size=16 base align=8
+std::ios_base::failure (0x7ffd16559070) 0
+ vptr=((& std::ios_base::failure::_ZTVNSt8ios_base7failureE) + 16u)
+ std::exception (0x7ffd165590e0) 0 nearly-empty
+ primary-for std::ios_base::failure (0x7ffd16559070)
+
+Class std::ios_base::_Callback_list
+ size=24 align=8
+ base size=24 base align=8
+std::ios_base::_Callback_list (0x7ffd16568310) 0
+
+Class std::ios_base::_Words
+ size=16 align=8
+ base size=16 base align=8
+std::ios_base::_Words (0x7ffd16568d90) 0
+
+Class std::ios_base::Init
+ size=1 align=1
+ base size=0 base align=1
+std::ios_base::Init (0x7ffd165704d0) 0 empty
+
+Vtable for std::ios_base
+std::ios_base::_ZTVSt8ios_base: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt8ios_base)
+16 std::ios_base::~ios_base
+24 std::ios_base::~ios_base
+
+Class std::ios_base
+ size=216 align=8
+ base size=216 base align=8
+std::ios_base (0x7ffd16559000) 0
+ vptr=((& std::ios_base::_ZTVSt8ios_base) + 16u)
+
+Class std::ctype_base
+ size=1 align=1
+ base size=0 base align=1
+std::ctype_base (0x7ffd165e4930) 0 empty
+
+Class std::__num_base
+ size=1 align=1
+ base size=0 base align=1
+std::__num_base (0x7ffd1650d1c0) 0 empty
+
+VTT for std::basic_ostream<char, std::char_traits<char> >
+std::basic_ostream<char, std::char_traits<char> >::_ZTTSo: 2u entries
+0 ((& std::basic_ostream<char, std::char_traits<char> >::_ZTVSo) + 24u)
+8 ((& std::basic_ostream<char, std::char_traits<char> >::_ZTVSo) + 64u)
+
+VTT for std::basic_ostream<wchar_t, std::char_traits<wchar_t> >
+std::basic_ostream<wchar_t, std::char_traits<wchar_t> >::_ZTTSt13basic_ostreamIwSt11char_traitsIwEE: 2u entries
+0 ((& std::basic_ostream<wchar_t, std::char_traits<wchar_t> >::_ZTVSt13basic_ostreamIwSt11char_traitsIwEE) + 24u)
+8 ((& std::basic_ostream<wchar_t, std::char_traits<wchar_t> >::_ZTVSt13basic_ostreamIwSt11char_traitsIwEE) + 64u)
+
+VTT for std::basic_istream<char, std::char_traits<char> >
+std::basic_istream<char, std::char_traits<char> >::_ZTTSi: 2u entries
+0 ((& std::basic_istream<char, std::char_traits<char> >::_ZTVSi) + 24u)
+8 ((& std::basic_istream<char, std::char_traits<char> >::_ZTVSi) + 64u)
+
+VTT for std::basic_istream<wchar_t, std::char_traits<wchar_t> >
+std::basic_istream<wchar_t, std::char_traits<wchar_t> >::_ZTTSt13basic_istreamIwSt11char_traitsIwEE: 2u entries
+0 ((& std::basic_istream<wchar_t, std::char_traits<wchar_t> >::_ZTVSt13basic_istreamIwSt11char_traitsIwEE) + 24u)
+8 ((& std::basic_istream<wchar_t, std::char_traits<wchar_t> >::_ZTVSt13basic_istreamIwSt11char_traitsIwEE) + 64u)
+
+Construction vtable for std::basic_istream<char, std::char_traits<char> > (0x7ffd1623f310 instance) in std::basic_iostream<char, std::char_traits<char> >
+std::basic_iostream<char, std::char_traits<char> >::_ZTCSd0_Si: 10u entries
+0 24u
+8 (int (*)(...))0
+16 (int (*)(...))(& _ZTISi)
+24 std::basic_istream<_CharT, _Traits>::~basic_istream [with _CharT = char, _Traits = std::char_traits<char>]
+32 std::basic_istream<_CharT, _Traits>::~basic_istream [with _CharT = char, _Traits = std::char_traits<char>]
+40 -24u
+48 (int (*)(...))-0x00000000000000018
+56 (int (*)(...))(& _ZTISi)
+64 std::basic_istream<char, std::char_traits<char> >::_ZTv0_n24_NSiD1Ev
+72 std::basic_istream<char, std::char_traits<char> >::_ZTv0_n24_NSiD0Ev
+
+Construction vtable for std::basic_ostream<char, std::char_traits<char> > (0x7ffd1623f460 instance) in std::basic_iostream<char, std::char_traits<char> >
+std::basic_iostream<char, std::char_traits<char> >::_ZTCSd16_So: 10u entries
+0 8u
+8 (int (*)(...))0
+16 (int (*)(...))(& _ZTISo)
+24 std::basic_ostream<_CharT, _Traits>::~basic_ostream [with _CharT = char, _Traits = std::char_traits<char>]
+32 std::basic_ostream<_CharT, _Traits>::~basic_ostream [with _CharT = char, _Traits = std::char_traits<char>]
+40 -8u
+48 (int (*)(...))-0x00000000000000008
+56 (int (*)(...))(& _ZTISo)
+64 std::basic_ostream<char, std::char_traits<char> >::_ZTv0_n24_NSoD1Ev
+72 std::basic_ostream<char, std::char_traits<char> >::_ZTv0_n24_NSoD0Ev
+
+VTT for std::basic_iostream<char, std::char_traits<char> >
+std::basic_iostream<char, std::char_traits<char> >::_ZTTSd: 7u entries
+0 ((& std::basic_iostream<char, std::char_traits<char> >::_ZTVSd) + 24u)
+8 ((& std::basic_iostream<char, std::char_traits<char> >::_ZTCSd0_Si) + 24u)
+16 ((& std::basic_iostream<char, std::char_traits<char> >::_ZTCSd0_Si) + 64u)
+24 ((& std::basic_iostream<char, std::char_traits<char> >::_ZTCSd16_So) + 24u)
+32 ((& std::basic_iostream<char, std::char_traits<char> >::_ZTCSd16_So) + 64u)
+40 ((& std::basic_iostream<char, std::char_traits<char> >::_ZTVSd) + 104u)
+48 ((& std::basic_iostream<char, std::char_traits<char> >::_ZTVSd) + 64u)
+
+Construction vtable for std::basic_istream<wchar_t, std::char_traits<wchar_t> > (0x7ffd1623f620 instance) in std::basic_iostream<wchar_t, std::char_traits<wchar_t> >
+std::basic_iostream<wchar_t, std::char_traits<wchar_t> >::_ZTCSt14basic_iostreamIwSt11char_traitsIwEE0_St13basic_istreamIwS1_E: 10u entries
+0 24u
+8 (int (*)(...))0
+16 (int (*)(...))(& _ZTISt13basic_istreamIwSt11char_traitsIwEE)
+24 std::basic_istream<_CharT, _Traits>::~basic_istream [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
+32 std::basic_istream<_CharT, _Traits>::~basic_istream [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
+40 -24u
+48 (int (*)(...))-0x00000000000000018
+56 (int (*)(...))(& _ZTISt13basic_istreamIwSt11char_traitsIwEE)
+64 std::basic_istream<wchar_t, std::char_traits<wchar_t> >::_ZTv0_n24_NSt13basic_istreamIwSt11char_traitsIwEED1Ev
+72 std::basic_istream<wchar_t, std::char_traits<wchar_t> >::_ZTv0_n24_NSt13basic_istreamIwSt11char_traitsIwEED0Ev
+
+Construction vtable for std::basic_ostream<wchar_t, std::char_traits<wchar_t> > (0x7ffd1623f770 instance) in std::basic_iostream<wchar_t, std::char_traits<wchar_t> >
+std::basic_iostream<wchar_t, std::char_traits<wchar_t> >::_ZTCSt14basic_iostreamIwSt11char_traitsIwEE16_St13basic_ostreamIwS1_E: 10u entries
+0 8u
+8 (int (*)(...))0
+16 (int (*)(...))(& _ZTISt13basic_ostreamIwSt11char_traitsIwEE)
+24 std::basic_ostream<_CharT, _Traits>::~basic_ostream [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
+32 std::basic_ostream<_CharT, _Traits>::~basic_ostream [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
+40 -8u
+48 (int (*)(...))-0x00000000000000008
+56 (int (*)(...))(& _ZTISt13basic_ostreamIwSt11char_traitsIwEE)
+64 std::basic_ostream<wchar_t, std::char_traits<wchar_t> >::_ZTv0_n24_NSt13basic_ostreamIwSt11char_traitsIwEED1Ev
+72 std::basic_ostream<wchar_t, std::char_traits<wchar_t> >::_ZTv0_n24_NSt13basic_ostreamIwSt11char_traitsIwEED0Ev
+
+VTT for std::basic_iostream<wchar_t, std::char_traits<wchar_t> >
+std::basic_iostream<wchar_t, std::char_traits<wchar_t> >::_ZTTSt14basic_iostreamIwSt11char_traitsIwEE: 7u entries
+0 ((& std::basic_iostream<wchar_t, std::char_traits<wchar_t> >::_ZTVSt14basic_iostreamIwSt11char_traitsIwEE) + 24u)
+8 ((& std::basic_iostream<wchar_t, std::char_traits<wchar_t> >::_ZTCSt14basic_iostreamIwSt11char_traitsIwEE0_St13basic_istreamIwS1_E) + 24u)
+16 ((& std::basic_iostream<wchar_t, std::char_traits<wchar_t> >::_ZTCSt14basic_iostreamIwSt11char_traitsIwEE0_St13basic_istreamIwS1_E) + 64u)
+24 ((& std::basic_iostream<wchar_t, std::char_traits<wchar_t> >::_ZTCSt14basic_iostreamIwSt11char_traitsIwEE16_St13basic_ostreamIwS1_E) + 24u)
+32 ((& std::basic_iostream<wchar_t, std::char_traits<wchar_t> >::_ZTCSt14basic_iostreamIwSt11char_traitsIwEE16_St13basic_ostreamIwS1_E) + 64u)
+40 ((& std::basic_iostream<wchar_t, std::char_traits<wchar_t> >::_ZTVSt14basic_iostreamIwSt11char_traitsIwEE) + 104u)
+48 ((& std::basic_iostream<wchar_t, std::char_traits<wchar_t> >::_ZTVSt14basic_iostreamIwSt11char_traitsIwEE) + 64u)
+
+Class QtConcurrent::BlockSizeManager
+ size=96 align=8
+ base size=92 base align=8
+QtConcurrent::BlockSizeManager (0x7ffd160ab230) 0
+
+Vtable for QFutureWatcherBase
+QFutureWatcherBase::_ZTV18QFutureWatcherBase: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QFutureWatcherBase)
+16 QFutureWatcherBase::metaObject
+24 QFutureWatcherBase::qt_metacast
+32 QFutureWatcherBase::qt_metacall
+40 QFutureWatcherBase::~QFutureWatcherBase
+48 QFutureWatcherBase::~QFutureWatcherBase
+56 QFutureWatcherBase::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QFutureWatcherBase::connectNotify
+104 QFutureWatcherBase::disconnectNotify
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+
+Class QFutureWatcherBase
+ size=16 align=8
+ base size=16 base align=8
+QFutureWatcherBase (0x7ffd15c76bd0) 0
+ vptr=((& QFutureWatcherBase::_ZTV18QFutureWatcherBase) + 16u)
+ QObject (0x7ffd15c76c40) 0
+ primary-for QFutureWatcherBase (0x7ffd15c76bd0)
+
+Vtable for QFactoryInterface
+QFactoryInterface::_ZTV17QFactoryInterface: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QFactoryInterface)
+16 QFactoryInterface::~QFactoryInterface
+24 QFactoryInterface::~QFactoryInterface
+32 __cxa_pure_virtual
+
+Class QFactoryInterface
+ size=8 align=8
+ base size=8 base align=8
+QFactoryInterface (0x7ffd15b8fe00) 0 nearly-empty
+ vptr=((& QFactoryInterface::_ZTV17QFactoryInterface) + 16u)
+
+Vtable for QTextCodecFactoryInterface
+QTextCodecFactoryInterface::_ZTV26QTextCodecFactoryInterface: 6u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI26QTextCodecFactoryInterface)
+16 QTextCodecFactoryInterface::~QTextCodecFactoryInterface
+24 QTextCodecFactoryInterface::~QTextCodecFactoryInterface
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+
+Class QTextCodecFactoryInterface
+ size=8 align=8
+ base size=8 base align=8
+QTextCodecFactoryInterface (0x7ffd15bb0ee0) 0 nearly-empty
+ vptr=((& QTextCodecFactoryInterface::_ZTV26QTextCodecFactoryInterface) + 16u)
+ QFactoryInterface (0x7ffd15bb0f50) 0 nearly-empty
+ primary-for QTextCodecFactoryInterface (0x7ffd15bb0ee0)
+
+Vtable for QTextCodecPlugin
+QTextCodecPlugin::_ZTV16QTextCodecPlugin: 27u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QTextCodecPlugin)
+16 QTextCodecPlugin::metaObject
+24 QTextCodecPlugin::qt_metacast
+32 QTextCodecPlugin::qt_metacall
+40 QTextCodecPlugin::~QTextCodecPlugin
+48 QTextCodecPlugin::~QTextCodecPlugin
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 __cxa_pure_virtual
+136 __cxa_pure_virtual
+144 __cxa_pure_virtual
+152 QTextCodecPlugin::keys
+160 QTextCodecPlugin::create
+168 (int (*)(...))-0x00000000000000010
+176 (int (*)(...))(& _ZTI16QTextCodecPlugin)
+184 QTextCodecPlugin::_ZThn16_N16QTextCodecPluginD1Ev
+192 QTextCodecPlugin::_ZThn16_N16QTextCodecPluginD0Ev
+200 QTextCodecPlugin::_ZThn16_NK16QTextCodecPlugin4keysEv
+208 QTextCodecPlugin::_ZThn16_N16QTextCodecPlugin6createERK7QString
+
+Class QTextCodecPlugin
+ size=24 align=8
+ base size=24 base align=8
+QTextCodecPlugin (0x7ffd15bb5e00) 0
+ vptr=((& QTextCodecPlugin::_ZTV16QTextCodecPlugin) + 16u)
+ QObject (0x7ffd15bbb7e0) 0
+ primary-for QTextCodecPlugin (0x7ffd15bb5e00)
+ QTextCodecFactoryInterface (0x7ffd15bbb850) 16 nearly-empty
+ vptr=((& QTextCodecPlugin::_ZTV16QTextCodecPlugin) + 184u)
+ QFactoryInterface (0x7ffd15bbb8c0) 16 nearly-empty
+ primary-for QTextCodecFactoryInterface (0x7ffd15bbb850)
+
+Class QLibraryInfo
+ size=1 align=1
+ base size=0 base align=1
+QLibraryInfo (0x7ffd15bd2700) 0 empty
+
+Vtable for QTranslator
+QTranslator::_ZTV11QTranslator: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QTranslator)
+16 QTranslator::metaObject
+24 QTranslator::qt_metacast
+32 QTranslator::qt_metacall
+40 QTranslator::~QTranslator
+48 QTranslator::~QTranslator
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QTranslator::translate
+120 QTranslator::isEmpty
+
+Class QTranslator
+ size=16 align=8
+ base size=16 base align=8
+QTranslator (0x7ffd15c15000) 0
+ vptr=((& QTranslator::_ZTV11QTranslator) + 16u)
+ QObject (0x7ffd15c15070) 0
+ primary-for QTranslator (0x7ffd15c15000)
+
+Class __exception
+ size=40 align=8
+ base size=40 base align=8
+__exception (0x7ffd15c29f50) 0
+
+Vtable for QMimeData
+QMimeData::_ZTV9QMimeData: 17u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QMimeData)
+16 QMimeData::metaObject
+24 QMimeData::qt_metacast
+32 QMimeData::qt_metacall
+40 QMimeData::~QMimeData
+48 QMimeData::~QMimeData
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QMimeData::hasFormat
+120 QMimeData::formats
+128 QMimeData::retrieveData
+
+Class QMimeData
+ size=16 align=8
+ base size=16 base align=8
+QMimeData (0x7ffd15a95150) 0
+ vptr=((& QMimeData::_ZTV9QMimeData) + 16u)
+ QObject (0x7ffd15a951c0) 0
+ primary-for QMimeData (0x7ffd15a95150)
+
+Vtable for QEventLoop
+QEventLoop::_ZTV10QEventLoop: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QEventLoop)
+16 QEventLoop::metaObject
+24 QEventLoop::qt_metacast
+32 QEventLoop::qt_metacall
+40 QEventLoop::~QEventLoop
+48 QEventLoop::~QEventLoop
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QEventLoop
+ size=16 align=8
+ base size=16 base align=8
+QEventLoop (0x7ffd15aac9a0) 0
+ vptr=((& QEventLoop::_ZTV10QEventLoop) + 16u)
+ QObject (0x7ffd15aaca10) 0
+ primary-for QEventLoop (0x7ffd15aac9a0)
+
+Vtable for QEvent
+QEvent::_ZTV6QEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI6QEvent)
+16 QEvent::~QEvent
+24 QEvent::~QEvent
+
+Class QEvent
+ size=24 align=8
+ base size=20 base align=8
+QEvent (0x7ffd15aec310) 0
+ vptr=((& QEvent::_ZTV6QEvent) + 16u)
+
+Vtable for QTimerEvent
+QTimerEvent::_ZTV11QTimerEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QTimerEvent)
+16 QTimerEvent::~QTimerEvent
+24 QTimerEvent::~QTimerEvent
+
+Class QTimerEvent
+ size=24 align=8
+ base size=24 base align=8
+QTimerEvent (0x7ffd15b05ee0) 0
+ vptr=((& QTimerEvent::_ZTV11QTimerEvent) + 16u)
+ QEvent (0x7ffd15b05f50) 0
+ primary-for QTimerEvent (0x7ffd15b05ee0)
+
+Vtable for QChildEvent
+QChildEvent::_ZTV11QChildEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QChildEvent)
+16 QChildEvent::~QChildEvent
+24 QChildEvent::~QChildEvent
+
+Class QChildEvent
+ size=32 align=8
+ base size=32 base align=8
+QChildEvent (0x7ffd15b08380) 0
+ vptr=((& QChildEvent::_ZTV11QChildEvent) + 16u)
+ QEvent (0x7ffd15b083f0) 0
+ primary-for QChildEvent (0x7ffd15b08380)
+
+Vtable for QCustomEvent
+QCustomEvent::_ZTV12QCustomEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QCustomEvent)
+16 QCustomEvent::~QCustomEvent
+24 QCustomEvent::~QCustomEvent
+
+Class QCustomEvent
+ size=24 align=8
+ base size=20 base align=8
+QCustomEvent (0x7ffd15b1c620) 0
+ vptr=((& QCustomEvent::_ZTV12QCustomEvent) + 16u)
+ QEvent (0x7ffd15b1c690) 0
+ primary-for QCustomEvent (0x7ffd15b1c620)
+
+Vtable for QDynamicPropertyChangeEvent
+QDynamicPropertyChangeEvent::_ZTV27QDynamicPropertyChangeEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI27QDynamicPropertyChangeEvent)
+16 QDynamicPropertyChangeEvent::~QDynamicPropertyChangeEvent
+24 QDynamicPropertyChangeEvent::~QDynamicPropertyChangeEvent
+
+Class QDynamicPropertyChangeEvent
+ size=32 align=8
+ base size=32 base align=8
+QDynamicPropertyChangeEvent (0x7ffd15b1ce00) 0
+ vptr=((& QDynamicPropertyChangeEvent::_ZTV27QDynamicPropertyChangeEvent) + 16u)
+ QEvent (0x7ffd15b1ce70) 0
+ primary-for QDynamicPropertyChangeEvent (0x7ffd15b1ce00)
+
+Vtable for QCoreApplication
+QCoreApplication::_ZTV16QCoreApplication: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QCoreApplication)
+16 QCoreApplication::metaObject
+24 QCoreApplication::qt_metacast
+32 QCoreApplication::qt_metacall
+40 QCoreApplication::~QCoreApplication
+48 QCoreApplication::~QCoreApplication
+56 QCoreApplication::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QCoreApplication::notify
+120 QCoreApplication::compressEvent
+
+Class QCoreApplication
+ size=16 align=8
+ base size=16 base align=8
+QCoreApplication (0x7ffd15b29230) 0
+ vptr=((& QCoreApplication::_ZTV16QCoreApplication) + 16u)
+ QObject (0x7ffd15b292a0) 0
+ primary-for QCoreApplication (0x7ffd15b29230)
+
+Vtable for QSharedMemory
+QSharedMemory::_ZTV13QSharedMemory: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QSharedMemory)
+16 QSharedMemory::metaObject
+24 QSharedMemory::qt_metacast
+32 QSharedMemory::qt_metacall
+40 QSharedMemory::~QSharedMemory
+48 QSharedMemory::~QSharedMemory
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QSharedMemory
+ size=16 align=8
+ base size=16 base align=8
+QSharedMemory (0x7ffd15957a80) 0
+ vptr=((& QSharedMemory::_ZTV13QSharedMemory) + 16u)
+ QObject (0x7ffd15957af0) 0
+ primary-for QSharedMemory (0x7ffd15957a80)
+
+Class QModelIndex
+ size=24 align=8
+ base size=24 base align=8
+QModelIndex (0x7ffd15974850) 0
+
+Class QPersistentModelIndex
+ size=8 align=8
+ base size=8 base align=8
+QPersistentModelIndex (0x7ffd1599d310) 0
+
+Vtable for QAbstractItemModel
+QAbstractItemModel::_ZTV18QAbstractItemModel: 42u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QAbstractItemModel)
+16 QAbstractItemModel::metaObject
+24 QAbstractItemModel::qt_metacast
+32 QAbstractItemModel::qt_metacall
+40 QAbstractItemModel::~QAbstractItemModel
+48 QAbstractItemModel::~QAbstractItemModel
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 __cxa_pure_virtual
+136 __cxa_pure_virtual
+144 QAbstractItemModel::hasChildren
+152 __cxa_pure_virtual
+160 QAbstractItemModel::setData
+168 QAbstractItemModel::headerData
+176 QAbstractItemModel::setHeaderData
+184 QAbstractItemModel::itemData
+192 QAbstractItemModel::setItemData
+200 QAbstractItemModel::mimeTypes
+208 QAbstractItemModel::mimeData
+216 QAbstractItemModel::dropMimeData
+224 QAbstractItemModel::supportedDropActions
+232 QAbstractItemModel::insertRows
+240 QAbstractItemModel::insertColumns
+248 QAbstractItemModel::removeRows
+256 QAbstractItemModel::removeColumns
+264 QAbstractItemModel::fetchMore
+272 QAbstractItemModel::canFetchMore
+280 QAbstractItemModel::flags
+288 QAbstractItemModel::sort
+296 QAbstractItemModel::buddy
+304 QAbstractItemModel::match
+312 QAbstractItemModel::span
+320 QAbstractItemModel::submit
+328 QAbstractItemModel::revert
+
+Class QAbstractItemModel
+ size=16 align=8
+ base size=16 base align=8
+QAbstractItemModel (0x7ffd159aa5b0) 0
+ vptr=((& QAbstractItemModel::_ZTV18QAbstractItemModel) + 16u)
+ QObject (0x7ffd159aa620) 0
+ primary-for QAbstractItemModel (0x7ffd159aa5b0)
+
+Vtable for QAbstractTableModel
+QAbstractTableModel::_ZTV19QAbstractTableModel: 42u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QAbstractTableModel)
+16 QAbstractTableModel::metaObject
+24 QAbstractTableModel::qt_metacast
+32 QAbstractTableModel::qt_metacall
+40 QAbstractTableModel::~QAbstractTableModel
+48 QAbstractTableModel::~QAbstractTableModel
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QAbstractTableModel::index
+120 QAbstractTableModel::parent
+128 __cxa_pure_virtual
+136 __cxa_pure_virtual
+144 QAbstractTableModel::hasChildren
+152 __cxa_pure_virtual
+160 QAbstractItemModel::setData
+168 QAbstractItemModel::headerData
+176 QAbstractItemModel::setHeaderData
+184 QAbstractItemModel::itemData
+192 QAbstractItemModel::setItemData
+200 QAbstractItemModel::mimeTypes
+208 QAbstractItemModel::mimeData
+216 QAbstractTableModel::dropMimeData
+224 QAbstractItemModel::supportedDropActions
+232 QAbstractItemModel::insertRows
+240 QAbstractItemModel::insertColumns
+248 QAbstractItemModel::removeRows
+256 QAbstractItemModel::removeColumns
+264 QAbstractItemModel::fetchMore
+272 QAbstractItemModel::canFetchMore
+280 QAbstractItemModel::flags
+288 QAbstractItemModel::sort
+296 QAbstractItemModel::buddy
+304 QAbstractItemModel::match
+312 QAbstractItemModel::span
+320 QAbstractItemModel::submit
+328 QAbstractItemModel::revert
+
+Class QAbstractTableModel
+ size=16 align=8
+ base size=16 base align=8
+QAbstractTableModel (0x7ffd159fe930) 0
+ vptr=((& QAbstractTableModel::_ZTV19QAbstractTableModel) + 16u)
+ QAbstractItemModel (0x7ffd159fe9a0) 0
+ primary-for QAbstractTableModel (0x7ffd159fe930)
+ QObject (0x7ffd159fea10) 0
+ primary-for QAbstractItemModel (0x7ffd159fe9a0)
+
+Vtable for QAbstractListModel
+QAbstractListModel::_ZTV18QAbstractListModel: 42u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QAbstractListModel)
+16 QAbstractListModel::metaObject
+24 QAbstractListModel::qt_metacast
+32 QAbstractListModel::qt_metacall
+40 QAbstractListModel::~QAbstractListModel
+48 QAbstractListModel::~QAbstractListModel
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QAbstractListModel::index
+120 QAbstractListModel::parent
+128 __cxa_pure_virtual
+136 QAbstractListModel::columnCount
+144 QAbstractListModel::hasChildren
+152 __cxa_pure_virtual
+160 QAbstractItemModel::setData
+168 QAbstractItemModel::headerData
+176 QAbstractItemModel::setHeaderData
+184 QAbstractItemModel::itemData
+192 QAbstractItemModel::setItemData
+200 QAbstractItemModel::mimeTypes
+208 QAbstractItemModel::mimeData
+216 QAbstractListModel::dropMimeData
+224 QAbstractItemModel::supportedDropActions
+232 QAbstractItemModel::insertRows
+240 QAbstractItemModel::insertColumns
+248 QAbstractItemModel::removeRows
+256 QAbstractItemModel::removeColumns
+264 QAbstractItemModel::fetchMore
+272 QAbstractItemModel::canFetchMore
+280 QAbstractItemModel::flags
+288 QAbstractItemModel::sort
+296 QAbstractItemModel::buddy
+304 QAbstractItemModel::match
+312 QAbstractItemModel::span
+320 QAbstractItemModel::submit
+328 QAbstractItemModel::revert
+
+Class QAbstractListModel
+ size=16 align=8
+ base size=16 base align=8
+QAbstractListModel (0x7ffd15a0aee0) 0
+ vptr=((& QAbstractListModel::_ZTV18QAbstractListModel) + 16u)
+ QAbstractItemModel (0x7ffd15a0af50) 0
+ primary-for QAbstractListModel (0x7ffd15a0aee0)
+ QObject (0x7ffd15a0a230) 0
+ primary-for QAbstractItemModel (0x7ffd15a0af50)
+
+Vtable for QSignalMapper
+QSignalMapper::_ZTV13QSignalMapper: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QSignalMapper)
+16 QSignalMapper::metaObject
+24 QSignalMapper::qt_metacast
+32 QSignalMapper::qt_metacall
+40 QSignalMapper::~QSignalMapper
+48 QSignalMapper::~QSignalMapper
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QSignalMapper
+ size=16 align=8
+ base size=16 base align=8
+QSignalMapper (0x7ffd15a4b000) 0
+ vptr=((& QSignalMapper::_ZTV13QSignalMapper) + 16u)
+ QObject (0x7ffd15a4b070) 0
+ primary-for QSignalMapper (0x7ffd15a4b000)
+
+Vtable for QObjectCleanupHandler
+QObjectCleanupHandler::_ZTV21QObjectCleanupHandler: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI21QObjectCleanupHandler)
+16 QObjectCleanupHandler::metaObject
+24 QObjectCleanupHandler::qt_metacast
+32 QObjectCleanupHandler::qt_metacall
+40 QObjectCleanupHandler::~QObjectCleanupHandler
+48 QObjectCleanupHandler::~QObjectCleanupHandler
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QObjectCleanupHandler
+ size=24 align=8
+ base size=24 base align=8
+QObjectCleanupHandler (0x7ffd158633f0) 0
+ vptr=((& QObjectCleanupHandler::_ZTV21QObjectCleanupHandler) + 16u)
+ QObject (0x7ffd15863460) 0
+ primary-for QObjectCleanupHandler (0x7ffd158633f0)
+
+Class QBasicTimer
+ size=4 align=4
+ base size=4 base align=4
+QBasicTimer (0x7ffd15873540) 0
+
+Vtable for QSocketNotifier
+QSocketNotifier::_ZTV15QSocketNotifier: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QSocketNotifier)
+16 QSocketNotifier::metaObject
+24 QSocketNotifier::qt_metacast
+32 QSocketNotifier::qt_metacall
+40 QSocketNotifier::~QSocketNotifier
+48 QSocketNotifier::~QSocketNotifier
+56 QSocketNotifier::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QSocketNotifier
+ size=32 align=8
+ base size=25 base align=8
+QSocketNotifier (0x7ffd1587e930) 0
+ vptr=((& QSocketNotifier::_ZTV15QSocketNotifier) + 16u)
+ QObject (0x7ffd1587e9a0) 0
+ primary-for QSocketNotifier (0x7ffd1587e930)
+
+Vtable for QTimer
+QTimer::_ZTV6QTimer: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI6QTimer)
+16 QTimer::metaObject
+24 QTimer::qt_metacast
+32 QTimer::qt_metacall
+40 QTimer::~QTimer
+48 QTimer::~QTimer
+56 QObject::event
+64 QObject::eventFilter
+72 QTimer::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QTimer
+ size=32 align=8
+ base size=29 base align=8
+QTimer (0x7ffd1589bcb0) 0
+ vptr=((& QTimer::_ZTV6QTimer) + 16u)
+ QObject (0x7ffd1589bd20) 0
+ primary-for QTimer (0x7ffd1589bcb0)
+
+Vtable for QAbstractEventDispatcher
+QAbstractEventDispatcher::_ZTV24QAbstractEventDispatcher: 27u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI24QAbstractEventDispatcher)
+16 QAbstractEventDispatcher::metaObject
+24 QAbstractEventDispatcher::qt_metacast
+32 QAbstractEventDispatcher::qt_metacall
+40 QAbstractEventDispatcher::~QAbstractEventDispatcher
+48 QAbstractEventDispatcher::~QAbstractEventDispatcher
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 __cxa_pure_virtual
+136 __cxa_pure_virtual
+144 __cxa_pure_virtual
+152 __cxa_pure_virtual
+160 __cxa_pure_virtual
+168 __cxa_pure_virtual
+176 __cxa_pure_virtual
+184 __cxa_pure_virtual
+192 __cxa_pure_virtual
+200 QAbstractEventDispatcher::startingUp
+208 QAbstractEventDispatcher::closingDown
+
+Class QAbstractEventDispatcher
+ size=16 align=8
+ base size=16 base align=8
+QAbstractEventDispatcher (0x7ffd158bd2a0) 0
+ vptr=((& QAbstractEventDispatcher::_ZTV24QAbstractEventDispatcher) + 16u)
+ QObject (0x7ffd158bd310) 0
+ primary-for QAbstractEventDispatcher (0x7ffd158bd2a0)
+
+Class QMetaMethod
+ size=16 align=8
+ base size=12 base align=8
+QMetaMethod (0x7ffd158d9150) 0
+
+Class QMetaEnum
+ size=16 align=8
+ base size=12 base align=8
+QMetaEnum (0x7ffd158f35b0) 0
+
+Class QMetaProperty
+ size=32 align=8
+ base size=32 base align=8
+QMetaProperty (0x7ffd158ff310) 0
+
+Class QMetaClassInfo
+ size=16 align=8
+ base size=12 base align=8
+QMetaClassInfo (0x7ffd158ff9a0) 0
+
+Class QSystemSemaphore
+ size=8 align=8
+ base size=8 base align=8
+QSystemSemaphore (0x7ffd159124d0) 0
+
+Vtable for QLibrary
+QLibrary::_ZTV8QLibrary: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI8QLibrary)
+16 QLibrary::metaObject
+24 QLibrary::qt_metacast
+32 QLibrary::qt_metacall
+40 QLibrary::~QLibrary
+48 QLibrary::~QLibrary
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QLibrary
+ size=32 align=8
+ base size=25 base align=8
+QLibrary (0x7ffd15912e00) 0
+ vptr=((& QLibrary::_ZTV8QLibrary) + 16u)
+ QObject (0x7ffd15912e70) 0
+ primary-for QLibrary (0x7ffd15912e00)
+
+Vtable for QPluginLoader
+QPluginLoader::_ZTV13QPluginLoader: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QPluginLoader)
+16 QPluginLoader::metaObject
+24 QPluginLoader::qt_metacast
+32 QPluginLoader::qt_metacall
+40 QPluginLoader::~QPluginLoader
+48 QPluginLoader::~QPluginLoader
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QPluginLoader
+ size=32 align=8
+ base size=25 base align=8
+QPluginLoader (0x7ffd1575a8c0) 0
+ vptr=((& QPluginLoader::_ZTV13QPluginLoader) + 16u)
+ QObject (0x7ffd1575a930) 0
+ primary-for QPluginLoader (0x7ffd1575a8c0)
+
+Class QUuid
+ size=16 align=4
+ base size=16 base align=4
+QUuid (0x7ffd1577a070) 0
+
+Class QSemaphore
+ size=8 align=8
+ base size=8 base align=8
+QSemaphore (0x7ffd1579b9a0) 0
+
+Class QThreadStorageData
+ size=4 align=4
+ base size=4 base align=4
+QThreadStorageData (0x7ffd1579bee0) 0
+
+Class QReadWriteLock
+ size=8 align=8
+ base size=8 base align=8
+QReadWriteLock (0x7ffd157aa690) 0
+
+Class QReadLocker
+ size=8 align=8
+ base size=8 base align=8
+QReadLocker (0x7ffd157aad20) 0
+
+Class QWriteLocker
+ size=8 align=8
+ base size=8 base align=8
+QWriteLocker (0x7ffd157db0e0) 0
+
+Class QColor
+ size=16 align=4
+ base size=14 base align=4
+QColor (0x7ffd157f7e70) 0
+
+Class QFont
+ size=16 align=8
+ base size=12 base align=8
+QFont (0x7ffd1584e0e0) 0
+
+Class QPolygon
+ size=8 align=8
+ base size=8 base align=8
+QPolygon (0x7ffd15686ee0) 0
+ QVector<QPoint> (0x7ffd15686f50) 0
+
+Class QPolygonF
+ size=8 align=8
+ base size=8 base align=8
+QPolygonF (0x7ffd156ee070) 0
+ QVector<QPointF> (0x7ffd156ee0e0) 0
+
+Class QRegion::QRegionData
+ size=32 align=8
+ base size=32 base align=8
+QRegion::QRegionData (0x7ffd157275b0) 0
+
+Class QRegion
+ size=8 align=8
+ base size=8 base align=8
+QRegion (0x7ffd15706cb0) 0
+
+Class QMatrix
+ size=48 align=8
+ base size=48 base align=8
+QMatrix (0x7ffd1573ae00) 0
+
+Class QPainterPath::Element
+ size=24 align=8
+ base size=24 base align=8
+QPainterPath::Element (0x7ffd15571850) 0
+
+Class QPainterPath
+ size=8 align=8
+ base size=8 base align=8
+QPainterPath (0x7ffd155717e0) 0
+
+Class QPainterPathPrivate
+ size=16 align=8
+ base size=16 base align=8
+QPainterPathPrivate (0x7ffd155b4bd0) 0
+
+Class QPainterPathStroker
+ size=8 align=8
+ base size=8 base align=8
+QPainterPathStroker (0x7ffd155bd770) 0
+
+Class QTransform
+ size=88 align=8
+ base size=88 base align=8
+QTransform (0x7ffd15622310) 0
+
+Vtable for QPaintDevice
+QPaintDevice::_ZTV12QPaintDevice: 7u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QPaintDevice)
+16 QPaintDevice::~QPaintDevice
+24 QPaintDevice::~QPaintDevice
+32 QPaintDevice::devType
+40 __cxa_pure_virtual
+48 QPaintDevice::metric
+
+Class QPaintDevice
+ size=16 align=8
+ base size=10 base align=8
+QPaintDevice (0x7ffd15499620) 0
+ vptr=((& QPaintDevice::_ZTV12QPaintDevice) + 16u)
+
+Class QImageTextKeyLang
+ size=16 align=8
+ base size=16 base align=8
+QImageTextKeyLang (0x7ffd154bdf50) 0
+
+Vtable for QImage
+QImage::_ZTV6QImage: 7u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI6QImage)
+16 QImage::~QImage
+24 QImage::~QImage
+32 QImage::devType
+40 QImage::paintEngine
+48 QImage::metric
+
+Class QImage
+ size=24 align=8
+ base size=24 base align=8
+QImage (0x7ffd154ec7e0) 0
+ vptr=((& QImage::_ZTV6QImage) + 16u)
+ QPaintDevice (0x7ffd154ec850) 0
+ primary-for QImage (0x7ffd154ec7e0)
+
+Vtable for QPixmap
+QPixmap::_ZTV7QPixmap: 7u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QPixmap)
+16 QPixmap::~QPixmap
+24 QPixmap::~QPixmap
+32 QPixmap::devType
+40 QPixmap::paintEngine
+48 QPixmap::metric
+
+Class QPixmap
+ size=24 align=8
+ base size=24 base align=8
+QPixmap (0x7ffd1538c230) 0
+ vptr=((& QPixmap::_ZTV7QPixmap) + 16u)
+ QPaintDevice (0x7ffd1538c2a0) 0
+ primary-for QPixmap (0x7ffd1538c230)
+
+Class QBrush
+ size=8 align=8
+ base size=8 base align=8
+QBrush (0x7ffd153d93f0) 0
+
+Class QBrushData
+ size=112 align=8
+ base size=112 base align=8
+QBrushData (0x7ffd153fd000) 0
+
+Class QGradient
+ size=64 align=8
+ base size=64 base align=8
+QGradient (0x7ffd1540e1c0) 0
+
+Class QLinearGradient
+ size=64 align=8
+ base size=64 base align=8
+QLinearGradient (0x7ffd1541ecb0) 0
+ QGradient (0x7ffd1541ed20) 0
+
+Class QRadialGradient
+ size=64 align=8
+ base size=64 base align=8
+QRadialGradient (0x7ffd1544a150) 0
+ QGradient (0x7ffd1544a1c0) 0
+
+Class QConicalGradient
+ size=64 align=8
+ base size=64 base align=8
+QConicalGradient (0x7ffd1544a700) 0
+ QGradient (0x7ffd1544a770) 0
+
+Class QPen
+ size=8 align=8
+ base size=8 base align=8
+QPen (0x7ffd1544aa80) 0
+
+Class QTextOption::Tab
+ size=16 align=8
+ base size=14 base align=8
+QTextOption::Tab (0x7ffd151f2230) 0
+
+Class QTextOption
+ size=32 align=8
+ base size=32 base align=8
+QTextOption (0x7ffd151f21c0) 0
+
+Class QTextLength
+ size=16 align=8
+ base size=16 base align=8
+QTextLength (0x7ffd15250620) 0
+
+Class QTextFormat
+ size=16 align=8
+ base size=12 base align=8
+QTextFormat (0x7ffd1526a9a0) 0
+
+Class QTextCharFormat
+ size=16 align=8
+ base size=12 base align=8
+QTextCharFormat (0x7ffd15112a10) 0
+ QTextFormat (0x7ffd15112a80) 0
+
+Class QTextBlockFormat
+ size=16 align=8
+ base size=12 base align=8
+QTextBlockFormat (0x7ffd1517f690) 0
+ QTextFormat (0x7ffd1517f700) 0
+
+Class QTextListFormat
+ size=16 align=8
+ base size=12 base align=8
+QTextListFormat (0x7ffd151a0cb0) 0
+ QTextFormat (0x7ffd151a0d20) 0
+
+Class QTextImageFormat
+ size=16 align=8
+ base size=12 base align=8
+QTextImageFormat (0x7ffd151b11c0) 0
+ QTextCharFormat (0x7ffd151b1230) 0
+ QTextFormat (0x7ffd151b12a0) 0
+
+Class QTextFrameFormat
+ size=16 align=8
+ base size=12 base align=8
+QTextFrameFormat (0x7ffd151bc8c0) 0
+ QTextFormat (0x7ffd151bc930) 0
+
+Class QTextTableFormat
+ size=16 align=8
+ base size=12 base align=8
+QTextTableFormat (0x7ffd14ff27e0) 0
+ QTextFrameFormat (0x7ffd14ff2850) 0
+ QTextFormat (0x7ffd14ff28c0) 0
+
+Class QTextTableCellFormat
+ size=16 align=8
+ base size=12 base align=8
+QTextTableCellFormat (0x7ffd1500c690) 0
+ QTextCharFormat (0x7ffd1500c700) 0
+ QTextFormat (0x7ffd1500c770) 0
+
+Vtable for QTextObject
+QTextObject::_ZTV11QTextObject: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QTextObject)
+16 QTextObject::metaObject
+24 QTextObject::qt_metacast
+32 QTextObject::qt_metacall
+40 QTextObject::~QTextObject
+48 QTextObject::~QTextObject
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QTextObject
+ size=16 align=8
+ base size=16 base align=8
+QTextObject (0x7ffd15022b60) 0
+ vptr=((& QTextObject::_ZTV11QTextObject) + 16u)
+ QObject (0x7ffd15022bd0) 0
+ primary-for QTextObject (0x7ffd15022b60)
+
+Vtable for QTextBlockGroup
+QTextBlockGroup::_ZTV15QTextBlockGroup: 17u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QTextBlockGroup)
+16 QTextBlockGroup::metaObject
+24 QTextBlockGroup::qt_metacast
+32 QTextBlockGroup::qt_metacall
+40 QTextBlockGroup::~QTextBlockGroup
+48 QTextBlockGroup::~QTextBlockGroup
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QTextBlockGroup::blockInserted
+120 QTextBlockGroup::blockRemoved
+128 QTextBlockGroup::blockFormatChanged
+
+Class QTextBlockGroup
+ size=16 align=8
+ base size=16 base align=8
+QTextBlockGroup (0x7ffd1503b3f0) 0
+ vptr=((& QTextBlockGroup::_ZTV15QTextBlockGroup) + 16u)
+ QTextObject (0x7ffd1503b460) 0
+ primary-for QTextBlockGroup (0x7ffd1503b3f0)
+ QObject (0x7ffd1503b4d0) 0
+ primary-for QTextObject (0x7ffd1503b460)
+
+Vtable for QTextFrameLayoutData
+QTextFrameLayoutData::_ZTV20QTextFrameLayoutData: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI20QTextFrameLayoutData)
+16 QTextFrameLayoutData::~QTextFrameLayoutData
+24 QTextFrameLayoutData::~QTextFrameLayoutData
+
+Class QTextFrameLayoutData
+ size=8 align=8
+ base size=8 base align=8
+QTextFrameLayoutData (0x7ffd1504dcb0) 0 nearly-empty
+ vptr=((& QTextFrameLayoutData::_ZTV20QTextFrameLayoutData) + 16u)
+
+Class QTextFrame::iterator
+ size=32 align=8
+ base size=28 base align=8
+QTextFrame::iterator (0x7ffd15058700) 0
+
+Vtable for QTextFrame
+QTextFrame::_ZTV10QTextFrame: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QTextFrame)
+16 QTextFrame::metaObject
+24 QTextFrame::qt_metacast
+32 QTextFrame::qt_metacall
+40 QTextFrame::~QTextFrame
+48 QTextFrame::~QTextFrame
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QTextFrame
+ size=16 align=8
+ base size=16 base align=8
+QTextFrame (0x7ffd1504de00) 0
+ vptr=((& QTextFrame::_ZTV10QTextFrame) + 16u)
+ QTextObject (0x7ffd1504de70) 0
+ primary-for QTextFrame (0x7ffd1504de00)
+ QObject (0x7ffd1504dee0) 0
+ primary-for QTextObject (0x7ffd1504de70)
+
+Vtable for QTextBlockUserData
+QTextBlockUserData::_ZTV18QTextBlockUserData: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QTextBlockUserData)
+16 QTextBlockUserData::~QTextBlockUserData
+24 QTextBlockUserData::~QTextBlockUserData
+
+Class QTextBlockUserData
+ size=8 align=8
+ base size=8 base align=8
+QTextBlockUserData (0x7ffd1508a850) 0 nearly-empty
+ vptr=((& QTextBlockUserData::_ZTV18QTextBlockUserData) + 16u)
+
+Class QTextBlock::iterator
+ size=24 align=8
+ base size=20 base align=8
+QTextBlock::iterator (0x7ffd150951c0) 0
+
+Class QTextBlock
+ size=16 align=8
+ base size=12 base align=8
+QTextBlock (0x7ffd1508a9a0) 0
+
+Class QTextFragment
+ size=16 align=8
+ base size=16 base align=8
+QTextFragment (0x7ffd14ecd310) 0
+
+Class QFontMetrics
+ size=8 align=8
+ base size=8 base align=8
+QFontMetrics (0x7ffd14ee94d0) 0
+
+Class QFontMetricsF
+ size=8 align=8
+ base size=8 base align=8
+QFontMetricsF (0x7ffd14f02930) 0
+
+Class QFontDatabase
+ size=8 align=8
+ base size=8 base align=8
+QFontDatabase (0x7ffd14f0d850) 0
+
+Vtable for QAbstractUndoItem
+QAbstractUndoItem::_ZTV17QAbstractUndoItem: 6u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QAbstractUndoItem)
+16 __cxa_pure_virtual
+24 __cxa_pure_virtual
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+
+Class QAbstractUndoItem
+ size=8 align=8
+ base size=8 base align=8
+QAbstractUndoItem (0x7ffd14f24850) 0 nearly-empty
+ vptr=((& QAbstractUndoItem::_ZTV17QAbstractUndoItem) + 16u)
+
+Vtable for QTextDocument
+QTextDocument::_ZTV13QTextDocument: 17u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QTextDocument)
+16 QTextDocument::metaObject
+24 QTextDocument::qt_metacast
+32 QTextDocument::qt_metacall
+40 QTextDocument::~QTextDocument
+48 QTextDocument::~QTextDocument
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QTextDocument::clear
+120 QTextDocument::createObject
+128 QTextDocument::loadResource
+
+Class QTextDocument
+ size=16 align=8
+ base size=16 base align=8
+QTextDocument (0x7ffd14f392a0) 0
+ vptr=((& QTextDocument::_ZTV13QTextDocument) + 16u)
+ QObject (0x7ffd14f39310) 0
+ primary-for QTextDocument (0x7ffd14f392a0)
+
+Class QTextTableCell
+ size=16 align=8
+ base size=12 base align=8
+QTextTableCell (0x7ffd14f992a0) 0
+
+Vtable for QTextTable
+QTextTable::_ZTV10QTextTable: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QTextTable)
+16 QTextTable::metaObject
+24 QTextTable::qt_metacast
+32 QTextTable::qt_metacall
+40 QTextTable::~QTextTable
+48 QTextTable::~QTextTable
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QTextTable
+ size=16 align=8
+ base size=16 base align=8
+QTextTable (0x7ffd14fb23f0) 0
+ vptr=((& QTextTable::_ZTV10QTextTable) + 16u)
+ QTextFrame (0x7ffd14fb2460) 0
+ primary-for QTextTable (0x7ffd14fb23f0)
+ QTextObject (0x7ffd14fb24d0) 0
+ primary-for QTextFrame (0x7ffd14fb2460)
+ QObject (0x7ffd14fb2540) 0
+ primary-for QTextObject (0x7ffd14fb24d0)
+
+Class QTextDocumentWriter
+ size=8 align=8
+ base size=8 base align=8
+QTextDocumentWriter (0x7ffd14dcbbd0) 0
+
+Class QKeySequence
+ size=8 align=8
+ base size=8 base align=8
+QKeySequence (0x7ffd14dd82a0) 0
+
+Vtable for QMimeSource
+QMimeSource::_ZTV11QMimeSource: 7u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QMimeSource)
+16 QMimeSource::~QMimeSource
+24 QMimeSource::~QMimeSource
+32 __cxa_pure_virtual
+40 QMimeSource::provides
+48 __cxa_pure_virtual
+
+Class QMimeSource
+ size=8 align=8
+ base size=8 base align=8
+QMimeSource (0x7ffd14df4e70) 0 nearly-empty
+ vptr=((& QMimeSource::_ZTV11QMimeSource) + 16u)
+
+Vtable for QDrag
+QDrag::_ZTV5QDrag: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI5QDrag)
+16 QDrag::metaObject
+24 QDrag::qt_metacast
+32 QDrag::qt_metacall
+40 QDrag::~QDrag
+48 QDrag::~QDrag
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QDrag
+ size=16 align=8
+ base size=16 base align=8
+QDrag (0x7ffd14df4f50) 0
+ vptr=((& QDrag::_ZTV5QDrag) + 16u)
+ QObject (0x7ffd14e20000) 0
+ primary-for QDrag (0x7ffd14df4f50)
+
+Vtable for QInputEvent
+QInputEvent::_ZTV11QInputEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QInputEvent)
+16 QInputEvent::~QInputEvent
+24 QInputEvent::~QInputEvent
+
+Class QInputEvent
+ size=24 align=8
+ base size=24 base align=8
+QInputEvent (0x7ffd14e34770) 0
+ vptr=((& QInputEvent::_ZTV11QInputEvent) + 16u)
+ QEvent (0x7ffd14e347e0) 0
+ primary-for QInputEvent (0x7ffd14e34770)
+
+Vtable for QMouseEvent
+QMouseEvent::_ZTV11QMouseEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QMouseEvent)
+16 QMouseEvent::~QMouseEvent
+24 QMouseEvent::~QMouseEvent
+
+Class QMouseEvent
+ size=48 align=8
+ base size=48 base align=8
+QMouseEvent (0x7ffd14e34d20) 0
+ vptr=((& QMouseEvent::_ZTV11QMouseEvent) + 16u)
+ QInputEvent (0x7ffd14e34d90) 0
+ primary-for QMouseEvent (0x7ffd14e34d20)
+ QEvent (0x7ffd14e34e00) 0
+ primary-for QInputEvent (0x7ffd14e34d90)
+
+Vtable for QHoverEvent
+QHoverEvent::_ZTV11QHoverEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QHoverEvent)
+16 QHoverEvent::~QHoverEvent
+24 QHoverEvent::~QHoverEvent
+
+Class QHoverEvent
+ size=40 align=8
+ base size=36 base align=8
+QHoverEvent (0x7ffd14e54b60) 0
+ vptr=((& QHoverEvent::_ZTV11QHoverEvent) + 16u)
+ QEvent (0x7ffd14e54bd0) 0
+ primary-for QHoverEvent (0x7ffd14e54b60)
+
+Vtable for QWheelEvent
+QWheelEvent::_ZTV11QWheelEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QWheelEvent)
+16 QWheelEvent::~QWheelEvent
+24 QWheelEvent::~QWheelEvent
+
+Class QWheelEvent
+ size=56 align=8
+ base size=52 base align=8
+QWheelEvent (0x7ffd14e6b230) 0
+ vptr=((& QWheelEvent::_ZTV11QWheelEvent) + 16u)
+ QInputEvent (0x7ffd14e6b2a0) 0
+ primary-for QWheelEvent (0x7ffd14e6b230)
+ QEvent (0x7ffd14e6b310) 0
+ primary-for QInputEvent (0x7ffd14e6b2a0)
+
+Vtable for QTabletEvent
+QTabletEvent::_ZTV12QTabletEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QTabletEvent)
+16 QTabletEvent::~QTabletEvent
+24 QTabletEvent::~QTabletEvent
+
+Class QTabletEvent
+ size=120 align=8
+ base size=120 base align=8
+QTabletEvent (0x7ffd14e81070) 0
+ vptr=((& QTabletEvent::_ZTV12QTabletEvent) + 16u)
+ QInputEvent (0x7ffd14e810e0) 0
+ primary-for QTabletEvent (0x7ffd14e81070)
+ QEvent (0x7ffd14e81150) 0
+ primary-for QInputEvent (0x7ffd14e810e0)
+
+Vtable for QKeyEvent
+QKeyEvent::_ZTV9QKeyEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QKeyEvent)
+16 QKeyEvent::~QKeyEvent
+24 QKeyEvent::~QKeyEvent
+
+Class QKeyEvent
+ size=40 align=8
+ base size=39 base align=8
+QKeyEvent (0x7ffd14e9e380) 0
+ vptr=((& QKeyEvent::_ZTV9QKeyEvent) + 16u)
+ QInputEvent (0x7ffd14e9e3f0) 0
+ primary-for QKeyEvent (0x7ffd14e9e380)
+ QEvent (0x7ffd14e9e460) 0
+ primary-for QInputEvent (0x7ffd14e9e3f0)
+
+Vtable for QFocusEvent
+QFocusEvent::_ZTV11QFocusEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QFocusEvent)
+16 QFocusEvent::~QFocusEvent
+24 QFocusEvent::~QFocusEvent
+
+Class QFocusEvent
+ size=24 align=8
+ base size=24 base align=8
+QFocusEvent (0x7ffd14ec1cb0) 0
+ vptr=((& QFocusEvent::_ZTV11QFocusEvent) + 16u)
+ QEvent (0x7ffd14ec1d20) 0
+ primary-for QFocusEvent (0x7ffd14ec1cb0)
+
+Vtable for QPaintEvent
+QPaintEvent::_ZTV11QPaintEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QPaintEvent)
+16 QPaintEvent::~QPaintEvent
+24 QPaintEvent::~QPaintEvent
+
+Class QPaintEvent
+ size=56 align=8
+ base size=49 base align=8
+QPaintEvent (0x7ffd14ccd770) 0
+ vptr=((& QPaintEvent::_ZTV11QPaintEvent) + 16u)
+ QEvent (0x7ffd14ccd7e0) 0
+ primary-for QPaintEvent (0x7ffd14ccd770)
+
+Vtable for QUpdateLaterEvent
+QUpdateLaterEvent::_ZTV17QUpdateLaterEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QUpdateLaterEvent)
+16 QUpdateLaterEvent::~QUpdateLaterEvent
+24 QUpdateLaterEvent::~QUpdateLaterEvent
+
+Class QUpdateLaterEvent
+ size=32 align=8
+ base size=32 base align=8
+QUpdateLaterEvent (0x7ffd14cda380) 0
+ vptr=((& QUpdateLaterEvent::_ZTV17QUpdateLaterEvent) + 16u)
+ QEvent (0x7ffd14cda3f0) 0
+ primary-for QUpdateLaterEvent (0x7ffd14cda380)
+
+Vtable for QMoveEvent
+QMoveEvent::_ZTV10QMoveEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QMoveEvent)
+16 QMoveEvent::~QMoveEvent
+24 QMoveEvent::~QMoveEvent
+
+Class QMoveEvent
+ size=40 align=8
+ base size=36 base align=8
+QMoveEvent (0x7ffd14cda7e0) 0
+ vptr=((& QMoveEvent::_ZTV10QMoveEvent) + 16u)
+ QEvent (0x7ffd14cda850) 0
+ primary-for QMoveEvent (0x7ffd14cda7e0)
+
+Vtable for QResizeEvent
+QResizeEvent::_ZTV12QResizeEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QResizeEvent)
+16 QResizeEvent::~QResizeEvent
+24 QResizeEvent::~QResizeEvent
+
+Class QResizeEvent
+ size=40 align=8
+ base size=36 base align=8
+QResizeEvent (0x7ffd14cdae70) 0
+ vptr=((& QResizeEvent::_ZTV12QResizeEvent) + 16u)
+ QEvent (0x7ffd14cdaee0) 0
+ primary-for QResizeEvent (0x7ffd14cdae70)
+
+Vtable for QCloseEvent
+QCloseEvent::_ZTV11QCloseEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QCloseEvent)
+16 QCloseEvent::~QCloseEvent
+24 QCloseEvent::~QCloseEvent
+
+Class QCloseEvent
+ size=24 align=8
+ base size=20 base align=8
+QCloseEvent (0x7ffd14cec3f0) 0
+ vptr=((& QCloseEvent::_ZTV11QCloseEvent) + 16u)
+ QEvent (0x7ffd14cec460) 0
+ primary-for QCloseEvent (0x7ffd14cec3f0)
+
+Vtable for QIconDragEvent
+QIconDragEvent::_ZTV14QIconDragEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QIconDragEvent)
+16 QIconDragEvent::~QIconDragEvent
+24 QIconDragEvent::~QIconDragEvent
+
+Class QIconDragEvent
+ size=24 align=8
+ base size=20 base align=8
+QIconDragEvent (0x7ffd14cec620) 0
+ vptr=((& QIconDragEvent::_ZTV14QIconDragEvent) + 16u)
+ QEvent (0x7ffd14cec690) 0
+ primary-for QIconDragEvent (0x7ffd14cec620)
+
+Vtable for QShowEvent
+QShowEvent::_ZTV10QShowEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QShowEvent)
+16 QShowEvent::~QShowEvent
+24 QShowEvent::~QShowEvent
+
+Class QShowEvent
+ size=24 align=8
+ base size=20 base align=8
+QShowEvent (0x7ffd14cec850) 0
+ vptr=((& QShowEvent::_ZTV10QShowEvent) + 16u)
+ QEvent (0x7ffd14cec8c0) 0
+ primary-for QShowEvent (0x7ffd14cec850)
+
+Vtable for QHideEvent
+QHideEvent::_ZTV10QHideEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QHideEvent)
+16 QHideEvent::~QHideEvent
+24 QHideEvent::~QHideEvent
+
+Class QHideEvent
+ size=24 align=8
+ base size=20 base align=8
+QHideEvent (0x7ffd14ceca80) 0
+ vptr=((& QHideEvent::_ZTV10QHideEvent) + 16u)
+ QEvent (0x7ffd14cecaf0) 0
+ primary-for QHideEvent (0x7ffd14ceca80)
+
+Vtable for QContextMenuEvent
+QContextMenuEvent::_ZTV17QContextMenuEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QContextMenuEvent)
+16 QContextMenuEvent::~QContextMenuEvent
+24 QContextMenuEvent::~QContextMenuEvent
+
+Class QContextMenuEvent
+ size=48 align=8
+ base size=41 base align=8
+QContextMenuEvent (0x7ffd14ceccb0) 0
+ vptr=((& QContextMenuEvent::_ZTV17QContextMenuEvent) + 16u)
+ QInputEvent (0x7ffd14cecd20) 0
+ primary-for QContextMenuEvent (0x7ffd14ceccb0)
+ QEvent (0x7ffd14cecd90) 0
+ primary-for QInputEvent (0x7ffd14cecd20)
+
+Class QInputMethodEvent::Attribute
+ size=32 align=8
+ base size=32 base align=8
+QInputMethodEvent::Attribute (0x7ffd14d06850) 0
+
+Vtable for QInputMethodEvent
+QInputMethodEvent::_ZTV17QInputMethodEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QInputMethodEvent)
+16 QInputMethodEvent::~QInputMethodEvent
+24 QInputMethodEvent::~QInputMethodEvent
+
+Class QInputMethodEvent
+ size=56 align=8
+ base size=56 base align=8
+QInputMethodEvent (0x7ffd14d06770) 0
+ vptr=((& QInputMethodEvent::_ZTV17QInputMethodEvent) + 16u)
+ QEvent (0x7ffd14d067e0) 0
+ primary-for QInputMethodEvent (0x7ffd14d06770)
+
+Vtable for QDropEvent
+QDropEvent::_ZTV10QDropEvent: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QDropEvent)
+16 QDropEvent::~QDropEvent
+24 QDropEvent::~QDropEvent
+32 QDropEvent::format
+40 QDropEvent::encodedData
+48 QDropEvent::provides
+56 (int (*)(...))-0x00000000000000018
+64 (int (*)(...))(& _ZTI10QDropEvent)
+72 QDropEvent::_ZThn24_N10QDropEventD1Ev
+80 QDropEvent::_ZThn24_N10QDropEventD0Ev
+88 QDropEvent::_ZThn24_NK10QDropEvent6formatEi
+96 QDropEvent::_ZThn24_NK10QDropEvent8providesEPKc
+104 QDropEvent::_ZThn24_NK10QDropEvent11encodedDataEPKc
+
+Class QDropEvent
+ size=80 align=8
+ base size=80 base align=8
+QDropEvent (0x7ffd14d3f200) 0
+ vptr=((& QDropEvent::_ZTV10QDropEvent) + 16u)
+ QEvent (0x7ffd14d3df50) 0
+ primary-for QDropEvent (0x7ffd14d3f200)
+ QMimeSource (0x7ffd14d41000) 24 nearly-empty
+ vptr=((& QDropEvent::_ZTV10QDropEvent) + 72u)
+
+Vtable for QDragMoveEvent
+QDragMoveEvent::_ZTV14QDragMoveEvent: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QDragMoveEvent)
+16 QDragMoveEvent::~QDragMoveEvent
+24 QDragMoveEvent::~QDragMoveEvent
+32 QDropEvent::format
+40 QDropEvent::encodedData
+48 QDropEvent::provides
+56 (int (*)(...))-0x00000000000000018
+64 (int (*)(...))(& _ZTI14QDragMoveEvent)
+72 QDragMoveEvent::_ZThn24_N14QDragMoveEventD1Ev
+80 QDragMoveEvent::_ZThn24_N14QDragMoveEventD0Ev
+88 QDropEvent::_ZThn24_NK10QDropEvent6formatEi
+96 QDropEvent::_ZThn24_NK10QDropEvent8providesEPKc
+104 QDropEvent::_ZThn24_NK10QDropEvent11encodedDataEPKc
+
+Class QDragMoveEvent
+ size=96 align=8
+ base size=96 base align=8
+QDragMoveEvent (0x7ffd14d5acb0) 0
+ vptr=((& QDragMoveEvent::_ZTV14QDragMoveEvent) + 16u)
+ QDropEvent (0x7ffd14d59900) 0
+ primary-for QDragMoveEvent (0x7ffd14d5acb0)
+ QEvent (0x7ffd14d5ad20) 0
+ primary-for QDropEvent (0x7ffd14d59900)
+ QMimeSource (0x7ffd14d5ad90) 24 nearly-empty
+ vptr=((& QDragMoveEvent::_ZTV14QDragMoveEvent) + 72u)
+
+Vtable for QDragEnterEvent
+QDragEnterEvent::_ZTV15QDragEnterEvent: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QDragEnterEvent)
+16 QDragEnterEvent::~QDragEnterEvent
+24 QDragEnterEvent::~QDragEnterEvent
+32 QDropEvent::format
+40 QDropEvent::encodedData
+48 QDropEvent::provides
+56 (int (*)(...))-0x00000000000000018
+64 (int (*)(...))(& _ZTI15QDragEnterEvent)
+72 QDragEnterEvent::_ZThn24_N15QDragEnterEventD1Ev
+80 QDragEnterEvent::_ZThn24_N15QDragEnterEventD0Ev
+88 QDropEvent::_ZThn24_NK10QDropEvent6formatEi
+96 QDropEvent::_ZThn24_NK10QDropEvent8providesEPKc
+104 QDropEvent::_ZThn24_NK10QDropEvent11encodedDataEPKc
+
+Class QDragEnterEvent
+ size=96 align=8
+ base size=96 base align=8
+QDragEnterEvent (0x7ffd14d6c460) 0
+ vptr=((& QDragEnterEvent::_ZTV15QDragEnterEvent) + 16u)
+ QDragMoveEvent (0x7ffd14d6c4d0) 0
+ primary-for QDragEnterEvent (0x7ffd14d6c460)
+ QDropEvent (0x7ffd14d6a280) 0
+ primary-for QDragMoveEvent (0x7ffd14d6c4d0)
+ QEvent (0x7ffd14d6c540) 0
+ primary-for QDropEvent (0x7ffd14d6a280)
+ QMimeSource (0x7ffd14d6c5b0) 24 nearly-empty
+ vptr=((& QDragEnterEvent::_ZTV15QDragEnterEvent) + 72u)
+
+Vtable for QDragResponseEvent
+QDragResponseEvent::_ZTV18QDragResponseEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QDragResponseEvent)
+16 QDragResponseEvent::~QDragResponseEvent
+24 QDragResponseEvent::~QDragResponseEvent
+
+Class QDragResponseEvent
+ size=24 align=8
+ base size=21 base align=8
+QDragResponseEvent (0x7ffd14d6c770) 0
+ vptr=((& QDragResponseEvent::_ZTV18QDragResponseEvent) + 16u)
+ QEvent (0x7ffd14d6c7e0) 0
+ primary-for QDragResponseEvent (0x7ffd14d6c770)
+
+Vtable for QDragLeaveEvent
+QDragLeaveEvent::_ZTV15QDragLeaveEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QDragLeaveEvent)
+16 QDragLeaveEvent::~QDragLeaveEvent
+24 QDragLeaveEvent::~QDragLeaveEvent
+
+Class QDragLeaveEvent
+ size=24 align=8
+ base size=20 base align=8
+QDragLeaveEvent (0x7ffd14d6cbd0) 0
+ vptr=((& QDragLeaveEvent::_ZTV15QDragLeaveEvent) + 16u)
+ QEvent (0x7ffd14d6cc40) 0
+ primary-for QDragLeaveEvent (0x7ffd14d6cbd0)
+
+Vtable for QHelpEvent
+QHelpEvent::_ZTV10QHelpEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QHelpEvent)
+16 QHelpEvent::~QHelpEvent
+24 QHelpEvent::~QHelpEvent
+
+Class QHelpEvent
+ size=40 align=8
+ base size=36 base align=8
+QHelpEvent (0x7ffd14d6ce00) 0
+ vptr=((& QHelpEvent::_ZTV10QHelpEvent) + 16u)
+ QEvent (0x7ffd14d6ce70) 0
+ primary-for QHelpEvent (0x7ffd14d6ce00)
+
+Vtable for QStatusTipEvent
+QStatusTipEvent::_ZTV15QStatusTipEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QStatusTipEvent)
+16 QStatusTipEvent::~QStatusTipEvent
+24 QStatusTipEvent::~QStatusTipEvent
+
+Class QStatusTipEvent
+ size=32 align=8
+ base size=32 base align=8
+QStatusTipEvent (0x7ffd14d7ce70) 0
+ vptr=((& QStatusTipEvent::_ZTV15QStatusTipEvent) + 16u)
+ QEvent (0x7ffd14d7cee0) 0
+ primary-for QStatusTipEvent (0x7ffd14d7ce70)
+
+Vtable for QWhatsThisClickedEvent
+QWhatsThisClickedEvent::_ZTV22QWhatsThisClickedEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI22QWhatsThisClickedEvent)
+16 QWhatsThisClickedEvent::~QWhatsThisClickedEvent
+24 QWhatsThisClickedEvent::~QWhatsThisClickedEvent
+
+Class QWhatsThisClickedEvent
+ size=32 align=8
+ base size=32 base align=8
+QWhatsThisClickedEvent (0x7ffd14d81380) 0
+ vptr=((& QWhatsThisClickedEvent::_ZTV22QWhatsThisClickedEvent) + 16u)
+ QEvent (0x7ffd14d813f0) 0
+ primary-for QWhatsThisClickedEvent (0x7ffd14d81380)
+
+Vtable for QActionEvent
+QActionEvent::_ZTV12QActionEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QActionEvent)
+16 QActionEvent::~QActionEvent
+24 QActionEvent::~QActionEvent
+
+Class QActionEvent
+ size=40 align=8
+ base size=40 base align=8
+QActionEvent (0x7ffd14d81850) 0
+ vptr=((& QActionEvent::_ZTV12QActionEvent) + 16u)
+ QEvent (0x7ffd14d818c0) 0
+ primary-for QActionEvent (0x7ffd14d81850)
+
+Vtable for QFileOpenEvent
+QFileOpenEvent::_ZTV14QFileOpenEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QFileOpenEvent)
+16 QFileOpenEvent::~QFileOpenEvent
+24 QFileOpenEvent::~QFileOpenEvent
+
+Class QFileOpenEvent
+ size=32 align=8
+ base size=32 base align=8
+QFileOpenEvent (0x7ffd14d81ee0) 0
+ vptr=((& QFileOpenEvent::_ZTV14QFileOpenEvent) + 16u)
+ QEvent (0x7ffd14d81f50) 0
+ primary-for QFileOpenEvent (0x7ffd14d81ee0)
+
+Vtable for QToolBarChangeEvent
+QToolBarChangeEvent::_ZTV19QToolBarChangeEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QToolBarChangeEvent)
+16 QToolBarChangeEvent::~QToolBarChangeEvent
+24 QToolBarChangeEvent::~QToolBarChangeEvent
+
+Class QToolBarChangeEvent
+ size=24 align=8
+ base size=21 base align=8
+QToolBarChangeEvent (0x7ffd14d95230) 0
+ vptr=((& QToolBarChangeEvent::_ZTV19QToolBarChangeEvent) + 16u)
+ QEvent (0x7ffd14d952a0) 0
+ primary-for QToolBarChangeEvent (0x7ffd14d95230)
+
+Vtable for QShortcutEvent
+QShortcutEvent::_ZTV14QShortcutEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QShortcutEvent)
+16 QShortcutEvent::~QShortcutEvent
+24 QShortcutEvent::~QShortcutEvent
+
+Class QShortcutEvent
+ size=40 align=8
+ base size=40 base align=8
+QShortcutEvent (0x7ffd14d95770) 0
+ vptr=((& QShortcutEvent::_ZTV14QShortcutEvent) + 16u)
+ QEvent (0x7ffd14d957e0) 0
+ primary-for QShortcutEvent (0x7ffd14d95770)
+
+Vtable for QClipboardEvent
+QClipboardEvent::_ZTV15QClipboardEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QClipboardEvent)
+16 QClipboardEvent::~QClipboardEvent
+24 QClipboardEvent::~QClipboardEvent
+
+Class QClipboardEvent
+ size=24 align=8
+ base size=20 base align=8
+QClipboardEvent (0x7ffd14da3620) 0
+ vptr=((& QClipboardEvent::_ZTV15QClipboardEvent) + 16u)
+ QEvent (0x7ffd14da3690) 0
+ primary-for QClipboardEvent (0x7ffd14da3620)
+
+Vtable for QWindowStateChangeEvent
+QWindowStateChangeEvent::_ZTV23QWindowStateChangeEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI23QWindowStateChangeEvent)
+16 QWindowStateChangeEvent::~QWindowStateChangeEvent
+24 QWindowStateChangeEvent::~QWindowStateChangeEvent
+
+Class QWindowStateChangeEvent
+ size=24 align=8
+ base size=24 base align=8
+QWindowStateChangeEvent (0x7ffd14da3a80) 0
+ vptr=((& QWindowStateChangeEvent::_ZTV23QWindowStateChangeEvent) + 16u)
+ QEvent (0x7ffd14da3af0) 0
+ primary-for QWindowStateChangeEvent (0x7ffd14da3a80)
+
+Vtable for QMenubarUpdatedEvent
+QMenubarUpdatedEvent::_ZTV20QMenubarUpdatedEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI20QMenubarUpdatedEvent)
+16 QMenubarUpdatedEvent::~QMenubarUpdatedEvent
+24 QMenubarUpdatedEvent::~QMenubarUpdatedEvent
+
+Class QMenubarUpdatedEvent
+ size=32 align=8
+ base size=32 base align=8
+QMenubarUpdatedEvent (0x7ffd14da37e0) 0
+ vptr=((& QMenubarUpdatedEvent::_ZTV20QMenubarUpdatedEvent) + 16u)
+ QEvent (0x7ffd14da3cb0) 0
+ primary-for QMenubarUpdatedEvent (0x7ffd14da37e0)
+
+Class QTextInlineObject
+ size=16 align=8
+ base size=16 base align=8
+QTextInlineObject (0x7ffd14dafa10) 0
+
+Class QTextLayout::FormatRange
+ size=24 align=8
+ base size=24 base align=8
+QTextLayout::FormatRange (0x7ffd14dc0cb0) 0
+
+Class QTextLayout
+ size=8 align=8
+ base size=8 base align=8
+QTextLayout (0x7ffd14dc0a10) 0
+
+Class QTextLine
+ size=16 align=8
+ base size=16 base align=8
+QTextLine (0x7ffd14bdaa80) 0
+
+Vtable for QTextList
+QTextList::_ZTV9QTextList: 17u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QTextList)
+16 QTextList::metaObject
+24 QTextList::qt_metacast
+32 QTextList::qt_metacall
+40 QTextList::~QTextList
+48 QTextList::~QTextList
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QTextBlockGroup::blockInserted
+120 QTextBlockGroup::blockRemoved
+128 QTextBlockGroup::blockFormatChanged
+
+Class QTextList
+ size=16 align=8
+ base size=16 base align=8
+QTextList (0x7ffd14c0c310) 0
+ vptr=((& QTextList::_ZTV9QTextList) + 16u)
+ QTextBlockGroup (0x7ffd14c0c380) 0
+ primary-for QTextList (0x7ffd14c0c310)
+ QTextObject (0x7ffd14c0c3f0) 0
+ primary-for QTextBlockGroup (0x7ffd14c0c380)
+ QObject (0x7ffd14c0c460) 0
+ primary-for QTextObject (0x7ffd14c0c3f0)
+
+Class QFontInfo
+ size=8 align=8
+ base size=8 base align=8
+QFontInfo (0x7ffd14c301c0) 0
+
+Class QTextDocumentFragment
+ size=8 align=8
+ base size=8 base align=8
+QTextDocumentFragment (0x7ffd14c30cb0) 0
+
+Class QTextCursor
+ size=8 align=8
+ base size=8 base align=8
+QTextCursor (0x7ffd14c3c700) 0
+
+Class QPalette
+ size=16 align=8
+ base size=12 base align=8
+QPalette (0x7ffd14c50bd0) 0
+
+Class QColorGroup
+ size=16 align=8
+ base size=12 base align=8
+QColorGroup (0x7ffd14cb64d0) 0
+ QPalette (0x7ffd14cb6540) 0
+
+Class QAbstractTextDocumentLayout::Selection
+ size=24 align=8
+ base size=24 base align=8
+QAbstractTextDocumentLayout::Selection (0x7ffd14aeda10) 0
+
+Class QAbstractTextDocumentLayout::PaintContext
+ size=64 align=8
+ base size=64 base align=8
+QAbstractTextDocumentLayout::PaintContext (0x7ffd14aeda80) 0
+
+Vtable for QAbstractTextDocumentLayout
+QAbstractTextDocumentLayout::_ZTV27QAbstractTextDocumentLayout: 24u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI27QAbstractTextDocumentLayout)
+16 QAbstractTextDocumentLayout::metaObject
+24 QAbstractTextDocumentLayout::qt_metacast
+32 QAbstractTextDocumentLayout::qt_metacall
+40 QAbstractTextDocumentLayout::~QAbstractTextDocumentLayout
+48 QAbstractTextDocumentLayout::~QAbstractTextDocumentLayout
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 __cxa_pure_virtual
+136 __cxa_pure_virtual
+144 __cxa_pure_virtual
+152 __cxa_pure_virtual
+160 __cxa_pure_virtual
+168 QAbstractTextDocumentLayout::resizeInlineObject
+176 QAbstractTextDocumentLayout::positionInlineObject
+184 QAbstractTextDocumentLayout::drawInlineObject
+
+Class QAbstractTextDocumentLayout
+ size=16 align=8
+ base size=16 base align=8
+QAbstractTextDocumentLayout (0x7ffd14aed7e0) 0
+ vptr=((& QAbstractTextDocumentLayout::_ZTV27QAbstractTextDocumentLayout) + 16u)
+ QObject (0x7ffd14aed850) 0
+ primary-for QAbstractTextDocumentLayout (0x7ffd14aed7e0)
+
+Vtable for QTextObjectInterface
+QTextObjectInterface::_ZTV20QTextObjectInterface: 6u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI20QTextObjectInterface)
+16 QTextObjectInterface::~QTextObjectInterface
+24 QTextObjectInterface::~QTextObjectInterface
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+
+Class QTextObjectInterface
+ size=8 align=8
+ base size=8 base align=8
+QTextObjectInterface (0x7ffd14b35150) 0 nearly-empty
+ vptr=((& QTextObjectInterface::_ZTV20QTextObjectInterface) + 16u)
+
+Vtable for QSyntaxHighlighter
+QSyntaxHighlighter::_ZTV18QSyntaxHighlighter: 15u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QSyntaxHighlighter)
+16 QSyntaxHighlighter::metaObject
+24 QSyntaxHighlighter::qt_metacast
+32 QSyntaxHighlighter::qt_metacall
+40 QSyntaxHighlighter::~QSyntaxHighlighter
+48 QSyntaxHighlighter::~QSyntaxHighlighter
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+
+Class QSyntaxHighlighter
+ size=16 align=8
+ base size=16 base align=8
+QSyntaxHighlighter (0x7ffd14b412a0) 0
+ vptr=((& QSyntaxHighlighter::_ZTV18QSyntaxHighlighter) + 16u)
+ QObject (0x7ffd14b41310) 0
+ primary-for QSyntaxHighlighter (0x7ffd14b412a0)
+
+Vtable for QUndoGroup
+QUndoGroup::_ZTV10QUndoGroup: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QUndoGroup)
+16 QUndoGroup::metaObject
+24 QUndoGroup::qt_metacast
+32 QUndoGroup::qt_metacall
+40 QUndoGroup::~QUndoGroup
+48 QUndoGroup::~QUndoGroup
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QUndoGroup
+ size=16 align=8
+ base size=16 base align=8
+QUndoGroup (0x7ffd14b58c40) 0
+ vptr=((& QUndoGroup::_ZTV10QUndoGroup) + 16u)
+ QObject (0x7ffd14b58cb0) 0
+ primary-for QUndoGroup (0x7ffd14b58c40)
+
+Class QDesktopServices
+ size=1 align=1
+ base size=0 base align=1
+QDesktopServices (0x7ffd14b737e0) 0 empty
+
+Class QSizePolicy
+ size=4 align=4
+ base size=4 base align=4
+QSizePolicy (0x7ffd14b73930) 0
+
+Class QCursor
+ size=8 align=8
+ base size=8 base align=8
+QCursor (0x7ffd14a31690) 0
+
+Class QWidgetData
+ size=88 align=8
+ base size=88 base align=8
+QWidgetData (0x7ffd14a31e70) 0
+
+Vtable for QWidget
+QWidget::_ZTV7QWidget: 63u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QWidget)
+16 QWidget::metaObject
+24 QWidget::qt_metacast
+32 QWidget::qt_metacall
+40 QWidget::~QWidget
+48 QWidget::~QWidget
+56 QWidget::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QWidget::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QWidget::paintEvent
+256 QWidget::moveEvent
+264 QWidget::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QWidget::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 (int (*)(...))-0x00000000000000010
+456 (int (*)(...))(& _ZTI7QWidget)
+464 QWidget::_ZThn16_N7QWidgetD1Ev
+472 QWidget::_ZThn16_N7QWidgetD0Ev
+480 QWidget::_ZThn16_NK7QWidget7devTypeEv
+488 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+496 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QWidget
+ size=40 align=8
+ base size=40 base align=8
+QWidget (0x7ffd14a2da00) 0
+ vptr=((& QWidget::_ZTV7QWidget) + 16u)
+ QObject (0x7ffd14a31ee0) 0
+ primary-for QWidget (0x7ffd14a2da00)
+ QPaintDevice (0x7ffd14a31f50) 16
+ vptr=((& QWidget::_ZTV7QWidget) + 464u)
+
+Vtable for QFrame
+QFrame::_ZTV6QFrame: 63u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI6QFrame)
+16 QFrame::metaObject
+24 QFrame::qt_metacast
+32 QFrame::qt_metacall
+40 QFrame::~QFrame
+48 QFrame::~QFrame
+56 QFrame::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QFrame::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QFrame::paintEvent
+256 QWidget::moveEvent
+264 QWidget::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QFrame::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 (int (*)(...))-0x00000000000000010
+456 (int (*)(...))(& _ZTI6QFrame)
+464 QFrame::_ZThn16_N6QFrameD1Ev
+472 QFrame::_ZThn16_N6QFrameD0Ev
+480 QWidget::_ZThn16_NK7QWidget7devTypeEv
+488 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+496 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QFrame
+ size=40 align=8
+ base size=40 base align=8
+QFrame (0x7ffd149b0cb0) 0
+ vptr=((& QFrame::_ZTV6QFrame) + 16u)
+ QWidget (0x7ffd147b1400) 0
+ primary-for QFrame (0x7ffd149b0cb0)
+ QObject (0x7ffd149b0d20) 0
+ primary-for QWidget (0x7ffd147b1400)
+ QPaintDevice (0x7ffd149b0d90) 16
+ vptr=((& QFrame::_ZTV6QFrame) + 464u)
+
+Vtable for QAbstractScrollArea
+QAbstractScrollArea::_ZTV19QAbstractScrollArea: 65u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QAbstractScrollArea)
+16 QAbstractScrollArea::metaObject
+24 QAbstractScrollArea::qt_metacast
+32 QAbstractScrollArea::qt_metacall
+40 QAbstractScrollArea::~QAbstractScrollArea
+48 QAbstractScrollArea::~QAbstractScrollArea
+56 QAbstractScrollArea::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QAbstractScrollArea::sizeHint
+136 QAbstractScrollArea::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QAbstractScrollArea::mousePressEvent
+168 QAbstractScrollArea::mouseReleaseEvent
+176 QAbstractScrollArea::mouseDoubleClickEvent
+184 QAbstractScrollArea::mouseMoveEvent
+192 QAbstractScrollArea::wheelEvent
+200 QAbstractScrollArea::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QAbstractScrollArea::paintEvent
+256 QWidget::moveEvent
+264 QAbstractScrollArea::resizeEvent
+272 QWidget::closeEvent
+280 QAbstractScrollArea::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QAbstractScrollArea::dragEnterEvent
+312 QAbstractScrollArea::dragMoveEvent
+320 QAbstractScrollArea::dragLeaveEvent
+328 QAbstractScrollArea::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QFrame::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QAbstractScrollArea::viewportEvent
+456 QAbstractScrollArea::scrollContentsBy
+464 (int (*)(...))-0x00000000000000010
+472 (int (*)(...))(& _ZTI19QAbstractScrollArea)
+480 QAbstractScrollArea::_ZThn16_N19QAbstractScrollAreaD1Ev
+488 QAbstractScrollArea::_ZThn16_N19QAbstractScrollAreaD0Ev
+496 QWidget::_ZThn16_NK7QWidget7devTypeEv
+504 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+512 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QAbstractScrollArea
+ size=40 align=8
+ base size=40 base align=8
+QAbstractScrollArea (0x7ffd147d9310) 0
+ vptr=((& QAbstractScrollArea::_ZTV19QAbstractScrollArea) + 16u)
+ QFrame (0x7ffd147d9380) 0
+ primary-for QAbstractScrollArea (0x7ffd147d9310)
+ QWidget (0x7ffd147ce700) 0
+ primary-for QFrame (0x7ffd147d9380)
+ QObject (0x7ffd147d93f0) 0
+ primary-for QWidget (0x7ffd147ce700)
+ QPaintDevice (0x7ffd147d9460) 16
+ vptr=((& QAbstractScrollArea::_ZTV19QAbstractScrollArea) + 480u)
+
+Class QItemSelectionRange
+ size=16 align=8
+ base size=16 base align=8
+QItemSelectionRange (0x7ffd147fc230) 0
+
+Vtable for QItemSelectionModel
+QItemSelectionModel::_ZTV19QItemSelectionModel: 18u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QItemSelectionModel)
+16 QItemSelectionModel::metaObject
+24 QItemSelectionModel::qt_metacast
+32 QItemSelectionModel::qt_metacall
+40 QItemSelectionModel::~QItemSelectionModel
+48 QItemSelectionModel::~QItemSelectionModel
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QItemSelectionModel::select
+120 QItemSelectionModel::select
+128 QItemSelectionModel::clear
+136 QItemSelectionModel::reset
+
+Class QItemSelectionModel
+ size=16 align=8
+ base size=16 base align=8
+QItemSelectionModel (0x7ffd14861700) 0
+ vptr=((& QItemSelectionModel::_ZTV19QItemSelectionModel) + 16u)
+ QObject (0x7ffd14861770) 0
+ primary-for QItemSelectionModel (0x7ffd14861700)
+
+Class QItemSelection
+ size=8 align=8
+ base size=8 base align=8
+QItemSelection (0x7ffd148a2bd0) 0
+ QList<QItemSelectionRange> (0x7ffd148a2c40) 0
+
+Vtable for QValidator
+QValidator::_ZTV10QValidator: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QValidator)
+16 QValidator::metaObject
+24 QValidator::qt_metacast
+32 QValidator::qt_metacall
+40 QValidator::~QValidator
+48 QValidator::~QValidator
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+120 QValidator::fixup
+
+Class QValidator
+ size=16 align=8
+ base size=16 base align=8
+QValidator (0x7ffd146dd4d0) 0
+ vptr=((& QValidator::_ZTV10QValidator) + 16u)
+ QObject (0x7ffd146dd540) 0
+ primary-for QValidator (0x7ffd146dd4d0)
+
+Vtable for QIntValidator
+QIntValidator::_ZTV13QIntValidator: 17u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QIntValidator)
+16 QIntValidator::metaObject
+24 QIntValidator::qt_metacast
+32 QIntValidator::qt_metacall
+40 QIntValidator::~QIntValidator
+48 QIntValidator::~QIntValidator
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QIntValidator::validate
+120 QValidator::fixup
+128 QIntValidator::setRange
+
+Class QIntValidator
+ size=24 align=8
+ base size=24 base align=8
+QIntValidator (0x7ffd146f7310) 0
+ vptr=((& QIntValidator::_ZTV13QIntValidator) + 16u)
+ QValidator (0x7ffd146f7380) 0
+ primary-for QIntValidator (0x7ffd146f7310)
+ QObject (0x7ffd146f73f0) 0
+ primary-for QValidator (0x7ffd146f7380)
+
+Vtable for QDoubleValidator
+QDoubleValidator::_ZTV16QDoubleValidator: 17u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QDoubleValidator)
+16 QDoubleValidator::metaObject
+24 QDoubleValidator::qt_metacast
+32 QDoubleValidator::qt_metacall
+40 QDoubleValidator::~QDoubleValidator
+48 QDoubleValidator::~QDoubleValidator
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QDoubleValidator::validate
+120 QValidator::fixup
+128 QDoubleValidator::setRange
+
+Class QDoubleValidator
+ size=40 align=8
+ base size=36 base align=8
+QDoubleValidator (0x7ffd147102a0) 0
+ vptr=((& QDoubleValidator::_ZTV16QDoubleValidator) + 16u)
+ QValidator (0x7ffd14710310) 0
+ primary-for QDoubleValidator (0x7ffd147102a0)
+ QObject (0x7ffd14710380) 0
+ primary-for QValidator (0x7ffd14710310)
+
+Vtable for QRegExpValidator
+QRegExpValidator::_ZTV16QRegExpValidator: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QRegExpValidator)
+16 QRegExpValidator::metaObject
+24 QRegExpValidator::qt_metacast
+32 QRegExpValidator::qt_metacall
+40 QRegExpValidator::~QRegExpValidator
+48 QRegExpValidator::~QRegExpValidator
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QRegExpValidator::validate
+120 QValidator::fixup
+
+Class QRegExpValidator
+ size=24 align=8
+ base size=24 base align=8
+QRegExpValidator (0x7ffd1472cb60) 0
+ vptr=((& QRegExpValidator::_ZTV16QRegExpValidator) + 16u)
+ QValidator (0x7ffd1472cbd0) 0
+ primary-for QRegExpValidator (0x7ffd1472cb60)
+ QObject (0x7ffd1472cc40) 0
+ primary-for QValidator (0x7ffd1472cbd0)
+
+Vtable for QAbstractSpinBox
+QAbstractSpinBox::_ZTV16QAbstractSpinBox: 68u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QAbstractSpinBox)
+16 QAbstractSpinBox::metaObject
+24 QAbstractSpinBox::qt_metacast
+32 QAbstractSpinBox::qt_metacall
+40 QAbstractSpinBox::~QAbstractSpinBox
+48 QAbstractSpinBox::~QAbstractSpinBox
+56 QAbstractSpinBox::event
+64 QObject::eventFilter
+72 QAbstractSpinBox::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QAbstractSpinBox::sizeHint
+136 QAbstractSpinBox::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QAbstractSpinBox::mousePressEvent
+168 QAbstractSpinBox::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QAbstractSpinBox::mouseMoveEvent
+192 QAbstractSpinBox::wheelEvent
+200 QAbstractSpinBox::keyPressEvent
+208 QAbstractSpinBox::keyReleaseEvent
+216 QAbstractSpinBox::focusInEvent
+224 QAbstractSpinBox::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QAbstractSpinBox::paintEvent
+256 QWidget::moveEvent
+264 QAbstractSpinBox::resizeEvent
+272 QAbstractSpinBox::closeEvent
+280 QAbstractSpinBox::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QAbstractSpinBox::showEvent
+344 QAbstractSpinBox::hideEvent
+352 QWidget::x11Event
+360 QAbstractSpinBox::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QAbstractSpinBox::validate
+456 QAbstractSpinBox::fixup
+464 QAbstractSpinBox::stepBy
+472 QAbstractSpinBox::clear
+480 QAbstractSpinBox::stepEnabled
+488 (int (*)(...))-0x00000000000000010
+496 (int (*)(...))(& _ZTI16QAbstractSpinBox)
+504 QAbstractSpinBox::_ZThn16_N16QAbstractSpinBoxD1Ev
+512 QAbstractSpinBox::_ZThn16_N16QAbstractSpinBoxD0Ev
+520 QWidget::_ZThn16_NK7QWidget7devTypeEv
+528 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+536 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QAbstractSpinBox
+ size=40 align=8
+ base size=40 base align=8
+QAbstractSpinBox (0x7ffd147407e0) 0
+ vptr=((& QAbstractSpinBox::_ZTV16QAbstractSpinBox) + 16u)
+ QWidget (0x7ffd1472e700) 0
+ primary-for QAbstractSpinBox (0x7ffd147407e0)
+ QObject (0x7ffd14740850) 0
+ primary-for QWidget (0x7ffd1472e700)
+ QPaintDevice (0x7ffd147408c0) 16
+ vptr=((& QAbstractSpinBox::_ZTV16QAbstractSpinBox) + 504u)
+
+Class QIcon
+ size=8 align=8
+ base size=8 base align=8
+QIcon (0x7ffd147907e0) 0
+
+Vtable for QAbstractSlider
+QAbstractSlider::_ZTV15QAbstractSlider: 64u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QAbstractSlider)
+16 QAbstractSlider::metaObject
+24 QAbstractSlider::qt_metacast
+32 QAbstractSlider::qt_metacall
+40 QAbstractSlider::~QAbstractSlider
+48 QAbstractSlider::~QAbstractSlider
+56 QAbstractSlider::event
+64 QObject::eventFilter
+72 QAbstractSlider::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QWidget::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QAbstractSlider::wheelEvent
+200 QAbstractSlider::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QWidget::paintEvent
+256 QWidget::moveEvent
+264 QWidget::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QAbstractSlider::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QAbstractSlider::sliderChange
+456 (int (*)(...))-0x00000000000000010
+464 (int (*)(...))(& _ZTI15QAbstractSlider)
+472 QAbstractSlider::_ZThn16_N15QAbstractSliderD1Ev
+480 QAbstractSlider::_ZThn16_N15QAbstractSliderD0Ev
+488 QWidget::_ZThn16_NK7QWidget7devTypeEv
+496 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+504 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QAbstractSlider
+ size=40 align=8
+ base size=40 base align=8
+QAbstractSlider (0x7ffd145cc380) 0
+ vptr=((& QAbstractSlider::_ZTV15QAbstractSlider) + 16u)
+ QWidget (0x7ffd145cf380) 0
+ primary-for QAbstractSlider (0x7ffd145cc380)
+ QObject (0x7ffd145cc3f0) 0
+ primary-for QWidget (0x7ffd145cf380)
+ QPaintDevice (0x7ffd145cc460) 16
+ vptr=((& QAbstractSlider::_ZTV15QAbstractSlider) + 472u)
+
+Vtable for QSlider
+QSlider::_ZTV7QSlider: 64u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QSlider)
+16 QSlider::metaObject
+24 QSlider::qt_metacast
+32 QSlider::qt_metacall
+40 QSlider::~QSlider
+48 QSlider::~QSlider
+56 QSlider::event
+64 QObject::eventFilter
+72 QAbstractSlider::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QSlider::sizeHint
+136 QSlider::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QSlider::mousePressEvent
+168 QSlider::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QSlider::mouseMoveEvent
+192 QAbstractSlider::wheelEvent
+200 QAbstractSlider::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QSlider::paintEvent
+256 QWidget::moveEvent
+264 QWidget::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QAbstractSlider::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QAbstractSlider::sliderChange
+456 (int (*)(...))-0x00000000000000010
+464 (int (*)(...))(& _ZTI7QSlider)
+472 QSlider::_ZThn16_N7QSliderD1Ev
+480 QSlider::_ZThn16_N7QSliderD0Ev
+488 QWidget::_ZThn16_NK7QWidget7devTypeEv
+496 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+504 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QSlider
+ size=40 align=8
+ base size=40 base align=8
+QSlider (0x7ffd146021c0) 0
+ vptr=((& QSlider::_ZTV7QSlider) + 16u)
+ QAbstractSlider (0x7ffd14602230) 0
+ primary-for QSlider (0x7ffd146021c0)
+ QWidget (0x7ffd14600380) 0
+ primary-for QAbstractSlider (0x7ffd14602230)
+ QObject (0x7ffd146022a0) 0
+ primary-for QWidget (0x7ffd14600380)
+ QPaintDevice (0x7ffd14602310) 16
+ vptr=((& QSlider::_ZTV7QSlider) + 472u)
+
+Vtable for QStyle
+QStyle::_ZTV6QStyle: 35u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI6QStyle)
+16 QStyle::metaObject
+24 QStyle::qt_metacast
+32 QStyle::qt_metacall
+40 QStyle::~QStyle
+48 QStyle::~QStyle
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QStyle::polish
+120 QStyle::unpolish
+128 QStyle::polish
+136 QStyle::unpolish
+144 QStyle::polish
+152 QStyle::itemTextRect
+160 QStyle::itemPixmapRect
+168 QStyle::drawItemText
+176 QStyle::drawItemPixmap
+184 QStyle::standardPalette
+192 __cxa_pure_virtual
+200 __cxa_pure_virtual
+208 __cxa_pure_virtual
+216 __cxa_pure_virtual
+224 __cxa_pure_virtual
+232 __cxa_pure_virtual
+240 __cxa_pure_virtual
+248 __cxa_pure_virtual
+256 __cxa_pure_virtual
+264 __cxa_pure_virtual
+272 __cxa_pure_virtual
+
+Class QStyle
+ size=16 align=8
+ base size=16 base align=8
+QStyle (0x7ffd1462a770) 0
+ vptr=((& QStyle::_ZTV6QStyle) + 16u)
+ QObject (0x7ffd1462a7e0) 0
+ primary-for QStyle (0x7ffd1462a770)
+
+Vtable for QTabBar
+QTabBar::_ZTV7QTabBar: 67u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QTabBar)
+16 QTabBar::metaObject
+24 QTabBar::qt_metacast
+32 QTabBar::qt_metacall
+40 QTabBar::~QTabBar
+48 QTabBar::~QTabBar
+56 QTabBar::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QTabBar::sizeHint
+136 QTabBar::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QTabBar::mousePressEvent
+168 QTabBar::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QTabBar::mouseMoveEvent
+192 QTabBar::wheelEvent
+200 QTabBar::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QTabBar::paintEvent
+256 QWidget::moveEvent
+264 QTabBar::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QTabBar::showEvent
+344 QTabBar::hideEvent
+352 QWidget::x11Event
+360 QTabBar::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QTabBar::tabSizeHint
+456 QTabBar::tabInserted
+464 QTabBar::tabRemoved
+472 QTabBar::tabLayoutChange
+480 (int (*)(...))-0x00000000000000010
+488 (int (*)(...))(& _ZTI7QTabBar)
+496 QTabBar::_ZThn16_N7QTabBarD1Ev
+504 QTabBar::_ZThn16_N7QTabBarD0Ev
+512 QWidget::_ZThn16_NK7QWidget7devTypeEv
+520 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+528 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QTabBar
+ size=40 align=8
+ base size=40 base align=8
+QTabBar (0x7ffd144da4d0) 0
+ vptr=((& QTabBar::_ZTV7QTabBar) + 16u)
+ QWidget (0x7ffd1467ee80) 0
+ primary-for QTabBar (0x7ffd144da4d0)
+ QObject (0x7ffd144da540) 0
+ primary-for QWidget (0x7ffd1467ee80)
+ QPaintDevice (0x7ffd144da5b0) 16
+ vptr=((& QTabBar::_ZTV7QTabBar) + 496u)
+
+Vtable for QTabWidget
+QTabWidget::_ZTV10QTabWidget: 65u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QTabWidget)
+16 QTabWidget::metaObject
+24 QTabWidget::qt_metacast
+32 QTabWidget::qt_metacall
+40 QTabWidget::~QTabWidget
+48 QTabWidget::~QTabWidget
+56 QTabWidget::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QTabWidget::sizeHint
+136 QTabWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QTabWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QTabWidget::paintEvent
+256 QWidget::moveEvent
+264 QTabWidget::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QTabWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QTabWidget::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QTabWidget::tabInserted
+456 QTabWidget::tabRemoved
+464 (int (*)(...))-0x00000000000000010
+472 (int (*)(...))(& _ZTI10QTabWidget)
+480 QTabWidget::_ZThn16_N10QTabWidgetD1Ev
+488 QTabWidget::_ZThn16_N10QTabWidgetD0Ev
+496 QWidget::_ZThn16_NK7QWidget7devTypeEv
+504 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+512 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QTabWidget
+ size=40 align=8
+ base size=40 base align=8
+QTabWidget (0x7ffd1450daf0) 0
+ vptr=((& QTabWidget::_ZTV10QTabWidget) + 16u)
+ QWidget (0x7ffd14510180) 0
+ primary-for QTabWidget (0x7ffd1450daf0)
+ QObject (0x7ffd1450db60) 0
+ primary-for QWidget (0x7ffd14510180)
+ QPaintDevice (0x7ffd1450dbd0) 16
+ vptr=((& QTabWidget::_ZTV10QTabWidget) + 480u)
+
+Vtable for QRubberBand
+QRubberBand::_ZTV11QRubberBand: 63u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QRubberBand)
+16 QRubberBand::metaObject
+24 QRubberBand::qt_metacast
+32 QRubberBand::qt_metacall
+40 QRubberBand::~QRubberBand
+48 QRubberBand::~QRubberBand
+56 QRubberBand::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QWidget::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QRubberBand::paintEvent
+256 QRubberBand::moveEvent
+264 QRubberBand::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QRubberBand::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QRubberBand::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 (int (*)(...))-0x00000000000000010
+456 (int (*)(...))(& _ZTI11QRubberBand)
+464 QRubberBand::_ZThn16_N11QRubberBandD1Ev
+472 QRubberBand::_ZThn16_N11QRubberBandD0Ev
+480 QWidget::_ZThn16_NK7QWidget7devTypeEv
+488 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+496 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QRubberBand
+ size=40 align=8
+ base size=40 base align=8
+QRubberBand (0x7ffd145634d0) 0
+ vptr=((& QRubberBand::_ZTV11QRubberBand) + 16u)
+ QWidget (0x7ffd14562200) 0
+ primary-for QRubberBand (0x7ffd145634d0)
+ QObject (0x7ffd14563540) 0
+ primary-for QWidget (0x7ffd14562200)
+ QPaintDevice (0x7ffd145635b0) 16
+ vptr=((& QRubberBand::_ZTV11QRubberBand) + 464u)
+
+Class QStyleOption
+ size=56 align=8
+ base size=56 base align=8
+QStyleOption (0x7ffd145857e0) 0
+
+Class QStyleOptionFocusRect
+ size=72 align=8
+ base size=72 base align=8
+QStyleOptionFocusRect (0x7ffd14594540) 0
+ QStyleOption (0x7ffd145945b0) 0
+
+Class QStyleOptionFrame
+ size=64 align=8
+ base size=64 base align=8
+QStyleOptionFrame (0x7ffd1459d540) 0
+ QStyleOption (0x7ffd1459d5b0) 0
+
+Class QStyleOptionFrameV2
+ size=72 align=8
+ base size=68 base align=8
+QStyleOptionFrameV2 (0x7ffd143aa4d0) 0
+ QStyleOptionFrame (0x7ffd143aa540) 0
+ QStyleOption (0x7ffd143aa5b0) 0
+
+Class QStyleOptionFrameV3
+ size=72 align=8
+ base size=72 base align=8
+QStyleOptionFrameV3 (0x7ffd143dad90) 0
+ QStyleOptionFrameV2 (0x7ffd143dae00) 0
+ QStyleOptionFrame (0x7ffd143dae70) 0
+ QStyleOption (0x7ffd143daee0) 0
+
+Class QStyleOptionTabWidgetFrame
+ size=96 align=8
+ base size=92 base align=8
+QStyleOptionTabWidgetFrame (0x7ffd143fc690) 0
+ QStyleOption (0x7ffd143fc700) 0
+
+Class QStyleOptionTabBarBase
+ size=96 align=8
+ base size=92 base align=8
+QStyleOptionTabBarBase (0x7ffd1440ae00) 0
+ QStyleOption (0x7ffd1440ae70) 0
+
+Class QStyleOptionTabBarBaseV2
+ size=96 align=8
+ base size=93 base align=8
+QStyleOptionTabBarBaseV2 (0x7ffd1441c1c0) 0
+ QStyleOptionTabBarBase (0x7ffd1441c230) 0
+ QStyleOption (0x7ffd1441c2a0) 0
+
+Class QStyleOptionHeader
+ size=112 align=8
+ base size=108 base align=8
+QStyleOptionHeader (0x7ffd14426850) 0
+ QStyleOption (0x7ffd144268c0) 0
+
+Class QStyleOptionButton
+ size=88 align=8
+ base size=88 base align=8
+QStyleOptionButton (0x7ffd14441a10) 0
+ QStyleOption (0x7ffd14441a80) 0
+
+Class QStyleOptionTab
+ size=96 align=8
+ base size=96 base align=8
+QStyleOptionTab (0x7ffd1448d3f0) 0
+ QStyleOption (0x7ffd1448d460) 0
+
+Class QStyleOptionTabV2
+ size=104 align=8
+ base size=104 base align=8
+QStyleOptionTabV2 (0x7ffd142d7380) 0
+ QStyleOptionTab (0x7ffd142d73f0) 0
+ QStyleOption (0x7ffd142d7460) 0
+
+Class QStyleOptionTabV3
+ size=128 align=8
+ base size=124 base align=8
+QStyleOptionTabV3 (0x7ffd142e1d90) 0
+ QStyleOptionTabV2 (0x7ffd142e1e00) 0
+ QStyleOptionTab (0x7ffd142e1e70) 0
+ QStyleOption (0x7ffd142e1ee0) 0
+
+Class QStyleOptionToolBar
+ size=80 align=8
+ base size=80 base align=8
+QStyleOptionToolBar (0x7ffd143003f0) 0
+ QStyleOption (0x7ffd14300460) 0
+
+Class QStyleOptionProgressBar
+ size=88 align=8
+ base size=85 base align=8
+QStyleOptionProgressBar (0x7ffd14333bd0) 0
+ QStyleOption (0x7ffd14333c40) 0
+
+Class QStyleOptionProgressBarV2
+ size=96 align=8
+ base size=94 base align=8
+QStyleOptionProgressBarV2 (0x7ffd14357380) 0
+ QStyleOptionProgressBar (0x7ffd143573f0) 0
+ QStyleOption (0x7ffd14357460) 0
+
+Class QStyleOptionMenuItem
+ size=128 align=8
+ base size=128 base align=8
+QStyleOptionMenuItem (0x7ffd14357c40) 0
+ QStyleOption (0x7ffd14357cb0) 0
+
+Class QStyleOptionQ3ListViewItem
+ size=80 align=8
+ base size=76 base align=8
+QStyleOptionQ3ListViewItem (0x7ffd14372e70) 0
+ QStyleOption (0x7ffd14372ee0) 0
+
+Class QStyleOptionQ3DockWindow
+ size=64 align=8
+ base size=58 base align=8
+QStyleOptionQ3DockWindow (0x7ffd141be310) 0
+ QStyleOption (0x7ffd141be380) 0
+
+Class QStyleOptionDockWidget
+ size=72 align=8
+ base size=67 base align=8
+QStyleOptionDockWidget (0x7ffd141ca2a0) 0
+ QStyleOption (0x7ffd141ca310) 0
+
+Class QStyleOptionDockWidgetV2
+ size=72 align=8
+ base size=68 base align=8
+QStyleOptionDockWidgetV2 (0x7ffd141d8690) 0
+ QStyleOptionDockWidget (0x7ffd141d8700) 0
+ QStyleOption (0x7ffd141d8770) 0
+
+Class QStyleOptionViewItem
+ size=104 align=8
+ base size=97 base align=8
+QStyleOptionViewItem (0x7ffd141e1e70) 0
+ QStyleOption (0x7ffd141e1ee0) 0
+
+Class QStyleOptionViewItemV2
+ size=104 align=8
+ base size=104 base align=8
+QStyleOptionViewItemV2 (0x7ffd141fba10) 0
+ QStyleOptionViewItem (0x7ffd141fba80) 0
+ QStyleOption (0x7ffd141fbaf0) 0
+
+Class QStyleOptionViewItemV3
+ size=120 align=8
+ base size=120 base align=8
+QStyleOptionViewItemV3 (0x7ffd14243460) 0
+ QStyleOptionViewItemV2 (0x7ffd142434d0) 0
+ QStyleOptionViewItem (0x7ffd14243540) 0
+ QStyleOption (0x7ffd142435b0) 0
+
+Class QStyleOptionViewItemV4
+ size=184 align=8
+ base size=184 base align=8
+QStyleOptionViewItemV4 (0x7ffd1424ed20) 0
+ QStyleOptionViewItemV3 (0x7ffd1424ed90) 0
+ QStyleOptionViewItemV2 (0x7ffd1424ee00) 0
+ QStyleOptionViewItem (0x7ffd1424ee70) 0
+ QStyleOption (0x7ffd1424eee0) 0
+
+Class QStyleOptionToolBox
+ size=72 align=8
+ base size=72 base align=8
+QStyleOptionToolBox (0x7ffd14270460) 0
+ QStyleOption (0x7ffd142704d0) 0
+
+Class QStyleOptionToolBoxV2
+ size=80 align=8
+ base size=80 base align=8
+QStyleOptionToolBoxV2 (0x7ffd1427f930) 0
+ QStyleOptionToolBox (0x7ffd1427f9a0) 0
+ QStyleOption (0x7ffd1427fa10) 0
+
+Class QStyleOptionRubberBand
+ size=64 align=8
+ base size=61 base align=8
+QStyleOptionRubberBand (0x7ffd14294620) 0
+ QStyleOption (0x7ffd14294690) 0
+
+Class QStyleOptionComplex
+ size=64 align=8
+ base size=64 base align=8
+QStyleOptionComplex (0x7ffd1429f700) 0
+ QStyleOption (0x7ffd1429f770) 0
+
+Class QStyleOptionSlider
+ size=120 align=8
+ base size=113 base align=8
+QStyleOptionSlider (0x7ffd142a7ee0) 0
+ QStyleOptionComplex (0x7ffd142a7f50) 0
+ QStyleOption (0x7ffd142a7310) 0
+
+Class QStyleOptionSpinBox
+ size=80 align=8
+ base size=73 base align=8
+QStyleOptionSpinBox (0x7ffd140becb0) 0
+ QStyleOptionComplex (0x7ffd140bed20) 0
+ QStyleOption (0x7ffd140bed90) 0
+
+Class QStyleOptionQ3ListView
+ size=112 align=8
+ base size=105 base align=8
+QStyleOptionQ3ListView (0x7ffd140cf1c0) 0
+ QStyleOptionComplex (0x7ffd140cf230) 0
+ QStyleOption (0x7ffd140cf2a0) 0
+
+Class QStyleOptionToolButton
+ size=128 align=8
+ base size=128 base align=8
+QStyleOptionToolButton (0x7ffd14102e00) 0
+ QStyleOptionComplex (0x7ffd14102e70) 0
+ QStyleOption (0x7ffd14102ee0) 0
+
+Class QStyleOptionComboBox
+ size=112 align=8
+ base size=112 base align=8
+QStyleOptionComboBox (0x7ffd14159070) 0
+ QStyleOptionComplex (0x7ffd141590e0) 0
+ QStyleOption (0x7ffd14159150) 0
+
+Class QStyleOptionTitleBar
+ size=88 align=8
+ base size=88 base align=8
+QStyleOptionTitleBar (0x7ffd14167b60) 0
+ QStyleOptionComplex (0x7ffd14167bd0) 0
+ QStyleOption (0x7ffd14167c40) 0
+
+Class QStyleOptionGroupBox
+ size=112 align=8
+ base size=108 base align=8
+QStyleOptionGroupBox (0x7ffd1417e3f0) 0
+ QStyleOptionComplex (0x7ffd1417e460) 0
+ QStyleOption (0x7ffd1417e4d0) 0
+
+Class QStyleOptionSizeGrip
+ size=72 align=8
+ base size=68 base align=8
+QStyleOptionSizeGrip (0x7ffd14194000) 0
+ QStyleOptionComplex (0x7ffd14194070) 0
+ QStyleOption (0x7ffd141940e0) 0
+
+Class QStyleOptionGraphicsItem
+ size=144 align=8
+ base size=144 base align=8
+QStyleOptionGraphicsItem (0x7ffd14194f50) 0
+ QStyleOption (0x7ffd14194700) 0
+
+Class QStyleHintReturn
+ size=8 align=4
+ base size=8 base align=4
+QStyleHintReturn (0x7ffd13fac2a0) 0
+
+Class QStyleHintReturnMask
+ size=16 align=8
+ base size=16 base align=8
+QStyleHintReturnMask (0x7ffd13fac700) 0
+ QStyleHintReturn (0x7ffd13fac770) 0
+
+Class QStyleHintReturnVariant
+ size=24 align=8
+ base size=24 base align=8
+QStyleHintReturnVariant (0x7ffd13fac930) 0
+ QStyleHintReturn (0x7ffd13fac9a0) 0
+
+Vtable for QAbstractItemDelegate
+QAbstractItemDelegate::_ZTV21QAbstractItemDelegate: 21u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI21QAbstractItemDelegate)
+16 QAbstractItemDelegate::metaObject
+24 QAbstractItemDelegate::qt_metacast
+32 QAbstractItemDelegate::qt_metacall
+40 QAbstractItemDelegate::~QAbstractItemDelegate
+48 QAbstractItemDelegate::~QAbstractItemDelegate
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 QAbstractItemDelegate::createEditor
+136 QAbstractItemDelegate::setEditorData
+144 QAbstractItemDelegate::setModelData
+152 QAbstractItemDelegate::updateEditorGeometry
+160 QAbstractItemDelegate::editorEvent
+
+Class QAbstractItemDelegate
+ size=16 align=8
+ base size=16 base align=8
+QAbstractItemDelegate (0x7ffd13face00) 0
+ vptr=((& QAbstractItemDelegate::_ZTV21QAbstractItemDelegate) + 16u)
+ QObject (0x7ffd13face70) 0
+ primary-for QAbstractItemDelegate (0x7ffd13face00)
+
+Vtable for QAbstractItemView
+QAbstractItemView::_ZTV17QAbstractItemView: 103u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QAbstractItemView)
+16 QAbstractItemView::metaObject
+24 QAbstractItemView::qt_metacast
+32 QAbstractItemView::qt_metacall
+40 QAbstractItemView::~QAbstractItemView
+48 QAbstractItemView::~QAbstractItemView
+56 QAbstractItemView::event
+64 QObject::eventFilter
+72 QAbstractItemView::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QAbstractScrollArea::sizeHint
+136 QAbstractScrollArea::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QAbstractItemView::mousePressEvent
+168 QAbstractItemView::mouseReleaseEvent
+176 QAbstractItemView::mouseDoubleClickEvent
+184 QAbstractItemView::mouseMoveEvent
+192 QAbstractScrollArea::wheelEvent
+200 QAbstractItemView::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QAbstractItemView::focusInEvent
+224 QAbstractItemView::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QAbstractScrollArea::paintEvent
+256 QWidget::moveEvent
+264 QAbstractItemView::resizeEvent
+272 QWidget::closeEvent
+280 QAbstractScrollArea::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QAbstractItemView::dragEnterEvent
+312 QAbstractItemView::dragMoveEvent
+320 QAbstractItemView::dragLeaveEvent
+328 QAbstractItemView::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QFrame::changeEvent
+368 QWidget::metric
+376 QAbstractItemView::inputMethodEvent
+384 QAbstractItemView::inputMethodQuery
+392 QAbstractItemView::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QAbstractItemView::viewportEvent
+456 QAbstractScrollArea::scrollContentsBy
+464 QAbstractItemView::setModel
+472 QAbstractItemView::setSelectionModel
+480 QAbstractItemView::keyboardSearch
+488 __cxa_pure_virtual
+496 __cxa_pure_virtual
+504 __cxa_pure_virtual
+512 QAbstractItemView::sizeHintForRow
+520 QAbstractItemView::sizeHintForColumn
+528 QAbstractItemView::reset
+536 QAbstractItemView::setRootIndex
+544 QAbstractItemView::doItemsLayout
+552 QAbstractItemView::selectAll
+560 QAbstractItemView::dataChanged
+568 QAbstractItemView::rowsInserted
+576 QAbstractItemView::rowsAboutToBeRemoved
+584 QAbstractItemView::selectionChanged
+592 QAbstractItemView::currentChanged
+600 QAbstractItemView::updateEditorData
+608 QAbstractItemView::updateEditorGeometries
+616 QAbstractItemView::updateGeometries
+624 QAbstractItemView::verticalScrollbarAction
+632 QAbstractItemView::horizontalScrollbarAction
+640 QAbstractItemView::verticalScrollbarValueChanged
+648 QAbstractItemView::horizontalScrollbarValueChanged
+656 QAbstractItemView::closeEditor
+664 QAbstractItemView::commitData
+672 QAbstractItemView::editorDestroyed
+680 __cxa_pure_virtual
+688 __cxa_pure_virtual
+696 __cxa_pure_virtual
+704 __cxa_pure_virtual
+712 __cxa_pure_virtual
+720 __cxa_pure_virtual
+728 QAbstractItemView::selectedIndexes
+736 QAbstractItemView::edit
+744 QAbstractItemView::selectionCommand
+752 QAbstractItemView::startDrag
+760 QAbstractItemView::viewOptions
+768 (int (*)(...))-0x00000000000000010
+776 (int (*)(...))(& _ZTI17QAbstractItemView)
+784 QAbstractItemView::_ZThn16_N17QAbstractItemViewD1Ev
+792 QAbstractItemView::_ZThn16_N17QAbstractItemViewD0Ev
+800 QWidget::_ZThn16_NK7QWidget7devTypeEv
+808 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+816 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QAbstractItemView
+ size=40 align=8
+ base size=40 base align=8
+QAbstractItemView (0x7ffd13ff14d0) 0
+ vptr=((& QAbstractItemView::_ZTV17QAbstractItemView) + 16u)
+ QAbstractScrollArea (0x7ffd13ff1540) 0
+ primary-for QAbstractItemView (0x7ffd13ff14d0)
+ QFrame (0x7ffd13ff15b0) 0
+ primary-for QAbstractScrollArea (0x7ffd13ff1540)
+ QWidget (0x7ffd13ff3000) 0
+ primary-for QFrame (0x7ffd13ff15b0)
+ QObject (0x7ffd13ff1620) 0
+ primary-for QWidget (0x7ffd13ff3000)
+ QPaintDevice (0x7ffd13ff1690) 16
+ vptr=((& QAbstractItemView::_ZTV17QAbstractItemView) + 784u)
+
+Vtable for QListView
+QListView::_ZTV9QListView: 103u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QListView)
+16 QListView::metaObject
+24 QListView::qt_metacast
+32 QListView::qt_metacall
+40 QListView::~QListView
+48 QListView::~QListView
+56 QListView::event
+64 QObject::eventFilter
+72 QListView::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QAbstractScrollArea::sizeHint
+136 QAbstractScrollArea::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QAbstractItemView::mousePressEvent
+168 QListView::mouseReleaseEvent
+176 QAbstractItemView::mouseDoubleClickEvent
+184 QListView::mouseMoveEvent
+192 QAbstractScrollArea::wheelEvent
+200 QAbstractItemView::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QAbstractItemView::focusInEvent
+224 QAbstractItemView::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QListView::paintEvent
+256 QWidget::moveEvent
+264 QListView::resizeEvent
+272 QWidget::closeEvent
+280 QAbstractScrollArea::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QAbstractItemView::dragEnterEvent
+312 QListView::dragMoveEvent
+320 QListView::dragLeaveEvent
+328 QListView::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QFrame::changeEvent
+368 QWidget::metric
+376 QAbstractItemView::inputMethodEvent
+384 QAbstractItemView::inputMethodQuery
+392 QAbstractItemView::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QAbstractItemView::viewportEvent
+456 QListView::scrollContentsBy
+464 QAbstractItemView::setModel
+472 QAbstractItemView::setSelectionModel
+480 QAbstractItemView::keyboardSearch
+488 QListView::visualRect
+496 QListView::scrollTo
+504 QListView::indexAt
+512 QAbstractItemView::sizeHintForRow
+520 QAbstractItemView::sizeHintForColumn
+528 QListView::reset
+536 QListView::setRootIndex
+544 QListView::doItemsLayout
+552 QAbstractItemView::selectAll
+560 QListView::dataChanged
+568 QListView::rowsInserted
+576 QListView::rowsAboutToBeRemoved
+584 QListView::selectionChanged
+592 QListView::currentChanged
+600 QAbstractItemView::updateEditorData
+608 QAbstractItemView::updateEditorGeometries
+616 QListView::updateGeometries
+624 QAbstractItemView::verticalScrollbarAction
+632 QAbstractItemView::horizontalScrollbarAction
+640 QAbstractItemView::verticalScrollbarValueChanged
+648 QAbstractItemView::horizontalScrollbarValueChanged
+656 QAbstractItemView::closeEditor
+664 QAbstractItemView::commitData
+672 QAbstractItemView::editorDestroyed
+680 QListView::moveCursor
+688 QListView::horizontalOffset
+696 QListView::verticalOffset
+704 QListView::isIndexHidden
+712 QListView::setSelection
+720 QListView::visualRegionForSelection
+728 QListView::selectedIndexes
+736 QAbstractItemView::edit
+744 QAbstractItemView::selectionCommand
+752 QListView::startDrag
+760 QListView::viewOptions
+768 (int (*)(...))-0x00000000000000010
+776 (int (*)(...))(& _ZTI9QListView)
+784 QListView::_ZThn16_N9QListViewD1Ev
+792 QListView::_ZThn16_N9QListViewD0Ev
+800 QWidget::_ZThn16_NK7QWidget7devTypeEv
+808 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+816 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QListView
+ size=40 align=8
+ base size=40 base align=8
+QListView (0x7ffd14064cb0) 0
+ vptr=((& QListView::_ZTV9QListView) + 16u)
+ QAbstractItemView (0x7ffd14064d20) 0
+ primary-for QListView (0x7ffd14064cb0)
+ QAbstractScrollArea (0x7ffd14064d90) 0
+ primary-for QAbstractItemView (0x7ffd14064d20)
+ QFrame (0x7ffd14064e00) 0
+ primary-for QAbstractScrollArea (0x7ffd14064d90)
+ QWidget (0x7ffd14043680) 0
+ primary-for QFrame (0x7ffd14064e00)
+ QObject (0x7ffd14064e70) 0
+ primary-for QWidget (0x7ffd14043680)
+ QPaintDevice (0x7ffd14064ee0) 16
+ vptr=((& QListView::_ZTV9QListView) + 784u)
+
+Vtable for QUndoView
+QUndoView::_ZTV9QUndoView: 103u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QUndoView)
+16 QUndoView::metaObject
+24 QUndoView::qt_metacast
+32 QUndoView::qt_metacall
+40 QUndoView::~QUndoView
+48 QUndoView::~QUndoView
+56 QListView::event
+64 QObject::eventFilter
+72 QListView::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QAbstractScrollArea::sizeHint
+136 QAbstractScrollArea::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QAbstractItemView::mousePressEvent
+168 QListView::mouseReleaseEvent
+176 QAbstractItemView::mouseDoubleClickEvent
+184 QListView::mouseMoveEvent
+192 QAbstractScrollArea::wheelEvent
+200 QAbstractItemView::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QAbstractItemView::focusInEvent
+224 QAbstractItemView::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QListView::paintEvent
+256 QWidget::moveEvent
+264 QListView::resizeEvent
+272 QWidget::closeEvent
+280 QAbstractScrollArea::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QAbstractItemView::dragEnterEvent
+312 QListView::dragMoveEvent
+320 QListView::dragLeaveEvent
+328 QListView::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QFrame::changeEvent
+368 QWidget::metric
+376 QAbstractItemView::inputMethodEvent
+384 QAbstractItemView::inputMethodQuery
+392 QAbstractItemView::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QAbstractItemView::viewportEvent
+456 QListView::scrollContentsBy
+464 QAbstractItemView::setModel
+472 QAbstractItemView::setSelectionModel
+480 QAbstractItemView::keyboardSearch
+488 QListView::visualRect
+496 QListView::scrollTo
+504 QListView::indexAt
+512 QAbstractItemView::sizeHintForRow
+520 QAbstractItemView::sizeHintForColumn
+528 QListView::reset
+536 QListView::setRootIndex
+544 QListView::doItemsLayout
+552 QAbstractItemView::selectAll
+560 QListView::dataChanged
+568 QListView::rowsInserted
+576 QListView::rowsAboutToBeRemoved
+584 QListView::selectionChanged
+592 QListView::currentChanged
+600 QAbstractItemView::updateEditorData
+608 QAbstractItemView::updateEditorGeometries
+616 QListView::updateGeometries
+624 QAbstractItemView::verticalScrollbarAction
+632 QAbstractItemView::horizontalScrollbarAction
+640 QAbstractItemView::verticalScrollbarValueChanged
+648 QAbstractItemView::horizontalScrollbarValueChanged
+656 QAbstractItemView::closeEditor
+664 QAbstractItemView::commitData
+672 QAbstractItemView::editorDestroyed
+680 QListView::moveCursor
+688 QListView::horizontalOffset
+696 QListView::verticalOffset
+704 QListView::isIndexHidden
+712 QListView::setSelection
+720 QListView::visualRegionForSelection
+728 QListView::selectedIndexes
+736 QAbstractItemView::edit
+744 QAbstractItemView::selectionCommand
+752 QListView::startDrag
+760 QListView::viewOptions
+768 (int (*)(...))-0x00000000000000010
+776 (int (*)(...))(& _ZTI9QUndoView)
+784 QUndoView::_ZThn16_N9QUndoViewD1Ev
+792 QUndoView::_ZThn16_N9QUndoViewD0Ev
+800 QWidget::_ZThn16_NK7QWidget7devTypeEv
+808 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+816 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QUndoView
+ size=40 align=8
+ base size=40 base align=8
+QUndoView (0x7ffd13eaa380) 0
+ vptr=((& QUndoView::_ZTV9QUndoView) + 16u)
+ QListView (0x7ffd13eaa3f0) 0
+ primary-for QUndoView (0x7ffd13eaa380)
+ QAbstractItemView (0x7ffd13eaa460) 0
+ primary-for QListView (0x7ffd13eaa3f0)
+ QAbstractScrollArea (0x7ffd13eaa4d0) 0
+ primary-for QAbstractItemView (0x7ffd13eaa460)
+ QFrame (0x7ffd13eaa540) 0
+ primary-for QAbstractScrollArea (0x7ffd13eaa4d0)
+ QWidget (0x7ffd13ea3580) 0
+ primary-for QFrame (0x7ffd13eaa540)
+ QObject (0x7ffd13eaa5b0) 0
+ primary-for QWidget (0x7ffd13ea3580)
+ QPaintDevice (0x7ffd13eaa620) 16
+ vptr=((& QUndoView::_ZTV9QUndoView) + 784u)
+
+Vtable for QCompleter
+QCompleter::_ZTV10QCompleter: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QCompleter)
+16 QCompleter::metaObject
+24 QCompleter::qt_metacast
+32 QCompleter::qt_metacall
+40 QCompleter::~QCompleter
+48 QCompleter::~QCompleter
+56 QCompleter::event
+64 QCompleter::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QCompleter::pathFromIndex
+120 QCompleter::splitPath
+
+Class QCompleter
+ size=16 align=8
+ base size=16 base align=8
+QCompleter (0x7ffd13eca070) 0
+ vptr=((& QCompleter::_ZTV10QCompleter) + 16u)
+ QObject (0x7ffd13eca0e0) 0
+ primary-for QCompleter (0x7ffd13eca070)
+
+Vtable for QUndoCommand
+QUndoCommand::_ZTV12QUndoCommand: 8u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QUndoCommand)
+16 QUndoCommand::~QUndoCommand
+24 QUndoCommand::~QUndoCommand
+32 QUndoCommand::undo
+40 QUndoCommand::redo
+48 QUndoCommand::id
+56 QUndoCommand::mergeWith
+
+Class QUndoCommand
+ size=16 align=8
+ base size=16 base align=8
+QUndoCommand (0x7ffd13eef000) 0
+ vptr=((& QUndoCommand::_ZTV12QUndoCommand) + 16u)
+
+Vtable for QUndoStack
+QUndoStack::_ZTV10QUndoStack: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QUndoStack)
+16 QUndoStack::metaObject
+24 QUndoStack::qt_metacast
+32 QUndoStack::qt_metacall
+40 QUndoStack::~QUndoStack
+48 QUndoStack::~QUndoStack
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QUndoStack
+ size=16 align=8
+ base size=16 base align=8
+QUndoStack (0x7ffd13eef930) 0
+ vptr=((& QUndoStack::_ZTV10QUndoStack) + 16u)
+ QObject (0x7ffd13eef9a0) 0
+ primary-for QUndoStack (0x7ffd13eef930)
+
+Vtable for QSystemTrayIcon
+QSystemTrayIcon::_ZTV15QSystemTrayIcon: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QSystemTrayIcon)
+16 QSystemTrayIcon::metaObject
+24 QSystemTrayIcon::qt_metacast
+32 QSystemTrayIcon::qt_metacall
+40 QSystemTrayIcon::~QSystemTrayIcon
+48 QSystemTrayIcon::~QSystemTrayIcon
+56 QSystemTrayIcon::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QSystemTrayIcon
+ size=16 align=8
+ base size=16 base align=8
+QSystemTrayIcon (0x7ffd13f13460) 0
+ vptr=((& QSystemTrayIcon::_ZTV15QSystemTrayIcon) + 16u)
+ QObject (0x7ffd13f134d0) 0
+ primary-for QSystemTrayIcon (0x7ffd13f13460)
+
+Vtable for QDialog
+QDialog::_ZTV7QDialog: 66u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QDialog)
+16 QDialog::metaObject
+24 QDialog::qt_metacast
+32 QDialog::qt_metacall
+40 QDialog::~QDialog
+48 QDialog::~QDialog
+56 QWidget::event
+64 QDialog::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QDialog::setVisible
+128 QDialog::sizeHint
+136 QDialog::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QDialog::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QWidget::paintEvent
+256 QWidget::moveEvent
+264 QDialog::resizeEvent
+272 QDialog::closeEvent
+280 QDialog::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QDialog::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QWidget::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QDialog::done
+456 QDialog::accept
+464 QDialog::reject
+472 (int (*)(...))-0x00000000000000010
+480 (int (*)(...))(& _ZTI7QDialog)
+488 QDialog::_ZThn16_N7QDialogD1Ev
+496 QDialog::_ZThn16_N7QDialogD0Ev
+504 QWidget::_ZThn16_NK7QWidget7devTypeEv
+512 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+520 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QDialog
+ size=40 align=8
+ base size=40 base align=8
+QDialog (0x7ffd13f30690) 0
+ vptr=((& QDialog::_ZTV7QDialog) + 16u)
+ QWidget (0x7ffd13f2f380) 0
+ primary-for QDialog (0x7ffd13f30690)
+ QObject (0x7ffd13f30700) 0
+ primary-for QWidget (0x7ffd13f2f380)
+ QPaintDevice (0x7ffd13f30770) 16
+ vptr=((& QDialog::_ZTV7QDialog) + 488u)
+
+Vtable for QAbstractPageSetupDialog
+QAbstractPageSetupDialog::_ZTV24QAbstractPageSetupDialog: 67u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI24QAbstractPageSetupDialog)
+16 QAbstractPageSetupDialog::metaObject
+24 QAbstractPageSetupDialog::qt_metacast
+32 QAbstractPageSetupDialog::qt_metacall
+40 QAbstractPageSetupDialog::~QAbstractPageSetupDialog
+48 QAbstractPageSetupDialog::~QAbstractPageSetupDialog
+56 QWidget::event
+64 QDialog::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QDialog::setVisible
+128 QDialog::sizeHint
+136 QDialog::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QDialog::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QWidget::paintEvent
+256 QWidget::moveEvent
+264 QDialog::resizeEvent
+272 QDialog::closeEvent
+280 QDialog::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QDialog::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QWidget::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QAbstractPageSetupDialog::done
+456 QDialog::accept
+464 QDialog::reject
+472 __cxa_pure_virtual
+480 (int (*)(...))-0x00000000000000010
+488 (int (*)(...))(& _ZTI24QAbstractPageSetupDialog)
+496 QAbstractPageSetupDialog::_ZThn16_N24QAbstractPageSetupDialogD1Ev
+504 QAbstractPageSetupDialog::_ZThn16_N24QAbstractPageSetupDialogD0Ev
+512 QWidget::_ZThn16_NK7QWidget7devTypeEv
+520 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+528 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QAbstractPageSetupDialog
+ size=40 align=8
+ base size=40 base align=8
+QAbstractPageSetupDialog (0x7ffd13f554d0) 0
+ vptr=((& QAbstractPageSetupDialog::_ZTV24QAbstractPageSetupDialog) + 16u)
+ QDialog (0x7ffd13f55540) 0
+ primary-for QAbstractPageSetupDialog (0x7ffd13f554d0)
+ QWidget (0x7ffd13f2fd80) 0
+ primary-for QDialog (0x7ffd13f55540)
+ QObject (0x7ffd13f555b0) 0
+ primary-for QWidget (0x7ffd13f2fd80)
+ QPaintDevice (0x7ffd13f55620) 16
+ vptr=((& QAbstractPageSetupDialog::_ZTV24QAbstractPageSetupDialog) + 496u)
+
+Vtable for QColorDialog
+QColorDialog::_ZTV12QColorDialog: 66u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QColorDialog)
+16 QColorDialog::metaObject
+24 QColorDialog::qt_metacast
+32 QColorDialog::qt_metacall
+40 QColorDialog::~QColorDialog
+48 QColorDialog::~QColorDialog
+56 QWidget::event
+64 QDialog::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QColorDialog::setVisible
+128 QDialog::sizeHint
+136 QDialog::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QDialog::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QWidget::paintEvent
+256 QWidget::moveEvent
+264 QDialog::resizeEvent
+272 QDialog::closeEvent
+280 QDialog::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QDialog::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QColorDialog::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QColorDialog::done
+456 QDialog::accept
+464 QDialog::reject
+472 (int (*)(...))-0x00000000000000010
+480 (int (*)(...))(& _ZTI12QColorDialog)
+488 QColorDialog::_ZThn16_N12QColorDialogD1Ev
+496 QColorDialog::_ZThn16_N12QColorDialogD0Ev
+504 QWidget::_ZThn16_NK7QWidget7devTypeEv
+512 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+520 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QColorDialog
+ size=40 align=8
+ base size=40 base align=8
+QColorDialog (0x7ffd13f6ba80) 0
+ vptr=((& QColorDialog::_ZTV12QColorDialog) + 16u)
+ QDialog (0x7ffd13f6baf0) 0
+ primary-for QColorDialog (0x7ffd13f6ba80)
+ QWidget (0x7ffd13f68680) 0
+ primary-for QDialog (0x7ffd13f6baf0)
+ QObject (0x7ffd13f6bb60) 0
+ primary-for QWidget (0x7ffd13f68680)
+ QPaintDevice (0x7ffd13f6bbd0) 16
+ vptr=((& QColorDialog::_ZTV12QColorDialog) + 488u)
+
+Vtable for QFontDialog
+QFontDialog::_ZTV11QFontDialog: 66u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QFontDialog)
+16 QFontDialog::metaObject
+24 QFontDialog::qt_metacast
+32 QFontDialog::qt_metacall
+40 QFontDialog::~QFontDialog
+48 QFontDialog::~QFontDialog
+56 QWidget::event
+64 QFontDialog::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QFontDialog::setVisible
+128 QDialog::sizeHint
+136 QDialog::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QDialog::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QWidget::paintEvent
+256 QWidget::moveEvent
+264 QDialog::resizeEvent
+272 QDialog::closeEvent
+280 QDialog::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QDialog::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QFontDialog::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QFontDialog::done
+456 QDialog::accept
+464 QDialog::reject
+472 (int (*)(...))-0x00000000000000010
+480 (int (*)(...))(& _ZTI11QFontDialog)
+488 QFontDialog::_ZThn16_N11QFontDialogD1Ev
+496 QFontDialog::_ZThn16_N11QFontDialogD0Ev
+504 QWidget::_ZThn16_NK7QWidget7devTypeEv
+512 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+520 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QFontDialog
+ size=40 align=8
+ base size=40 base align=8
+QFontDialog (0x7ffd13db7e00) 0
+ vptr=((& QFontDialog::_ZTV11QFontDialog) + 16u)
+ QDialog (0x7ffd13db7e70) 0
+ primary-for QFontDialog (0x7ffd13db7e00)
+ QWidget (0x7ffd13f9e900) 0
+ primary-for QDialog (0x7ffd13db7e70)
+ QObject (0x7ffd13db7ee0) 0
+ primary-for QWidget (0x7ffd13f9e900)
+ QPaintDevice (0x7ffd13db7f50) 16
+ vptr=((& QFontDialog::_ZTV11QFontDialog) + 488u)
+
+Vtable for QMessageBox
+QMessageBox::_ZTV11QMessageBox: 66u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QMessageBox)
+16 QMessageBox::metaObject
+24 QMessageBox::qt_metacast
+32 QMessageBox::qt_metacall
+40 QMessageBox::~QMessageBox
+48 QMessageBox::~QMessageBox
+56 QMessageBox::event
+64 QDialog::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QDialog::setVisible
+128 QMessageBox::sizeHint
+136 QDialog::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QMessageBox::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QWidget::paintEvent
+256 QWidget::moveEvent
+264 QMessageBox::resizeEvent
+272 QMessageBox::closeEvent
+280 QDialog::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QMessageBox::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QMessageBox::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QDialog::done
+456 QDialog::accept
+464 QDialog::reject
+472 (int (*)(...))-0x00000000000000010
+480 (int (*)(...))(& _ZTI11QMessageBox)
+488 QMessageBox::_ZThn16_N11QMessageBoxD1Ev
+496 QMessageBox::_ZThn16_N11QMessageBoxD0Ev
+504 QWidget::_ZThn16_NK7QWidget7devTypeEv
+512 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+520 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QMessageBox
+ size=40 align=8
+ base size=40 base align=8
+QMessageBox (0x7ffd13e2a2a0) 0
+ vptr=((& QMessageBox::_ZTV11QMessageBox) + 16u)
+ QDialog (0x7ffd13e2a310) 0
+ primary-for QMessageBox (0x7ffd13e2a2a0)
+ QWidget (0x7ffd13debb00) 0
+ primary-for QDialog (0x7ffd13e2a310)
+ QObject (0x7ffd13e2a380) 0
+ primary-for QWidget (0x7ffd13debb00)
+ QPaintDevice (0x7ffd13e2a3f0) 16
+ vptr=((& QMessageBox::_ZTV11QMessageBox) + 488u)
+
+Vtable for QProgressDialog
+QProgressDialog::_ZTV15QProgressDialog: 66u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QProgressDialog)
+16 QProgressDialog::metaObject
+24 QProgressDialog::qt_metacast
+32 QProgressDialog::qt_metacall
+40 QProgressDialog::~QProgressDialog
+48 QProgressDialog::~QProgressDialog
+56 QWidget::event
+64 QDialog::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QDialog::setVisible
+128 QProgressDialog::sizeHint
+136 QDialog::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QDialog::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QWidget::paintEvent
+256 QWidget::moveEvent
+264 QProgressDialog::resizeEvent
+272 QProgressDialog::closeEvent
+280 QDialog::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QProgressDialog::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QProgressDialog::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QDialog::done
+456 QDialog::accept
+464 QDialog::reject
+472 (int (*)(...))-0x00000000000000010
+480 (int (*)(...))(& _ZTI15QProgressDialog)
+488 QProgressDialog::_ZThn16_N15QProgressDialogD1Ev
+496 QProgressDialog::_ZThn16_N15QProgressDialogD0Ev
+504 QWidget::_ZThn16_NK7QWidget7devTypeEv
+512 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+520 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QProgressDialog
+ size=40 align=8
+ base size=40 base align=8
+QProgressDialog (0x7ffd13ca6bd0) 0
+ vptr=((& QProgressDialog::_ZTV15QProgressDialog) + 16u)
+ QDialog (0x7ffd13ca6c40) 0
+ primary-for QProgressDialog (0x7ffd13ca6bd0)
+ QWidget (0x7ffd13cbc100) 0
+ primary-for QDialog (0x7ffd13ca6c40)
+ QObject (0x7ffd13ca6cb0) 0
+ primary-for QWidget (0x7ffd13cbc100)
+ QPaintDevice (0x7ffd13ca6d20) 16
+ vptr=((& QProgressDialog::_ZTV15QProgressDialog) + 488u)
+
+Vtable for QErrorMessage
+QErrorMessage::_ZTV13QErrorMessage: 66u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QErrorMessage)
+16 QErrorMessage::metaObject
+24 QErrorMessage::qt_metacast
+32 QErrorMessage::qt_metacall
+40 QErrorMessage::~QErrorMessage
+48 QErrorMessage::~QErrorMessage
+56 QWidget::event
+64 QDialog::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QDialog::setVisible
+128 QDialog::sizeHint
+136 QDialog::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QDialog::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QWidget::paintEvent
+256 QWidget::moveEvent
+264 QDialog::resizeEvent
+272 QDialog::closeEvent
+280 QDialog::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QDialog::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QErrorMessage::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QErrorMessage::done
+456 QDialog::accept
+464 QDialog::reject
+472 (int (*)(...))-0x00000000000000010
+480 (int (*)(...))(& _ZTI13QErrorMessage)
+488 QErrorMessage::_ZThn16_N13QErrorMessageD1Ev
+496 QErrorMessage::_ZThn16_N13QErrorMessageD0Ev
+504 QWidget::_ZThn16_NK7QWidget7devTypeEv
+512 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+520 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QErrorMessage
+ size=40 align=8
+ base size=40 base align=8
+QErrorMessage (0x7ffd13cde7e0) 0
+ vptr=((& QErrorMessage::_ZTV13QErrorMessage) + 16u)
+ QDialog (0x7ffd13cde850) 0
+ primary-for QErrorMessage (0x7ffd13cde7e0)
+ QWidget (0x7ffd13cbca00) 0
+ primary-for QDialog (0x7ffd13cde850)
+ QObject (0x7ffd13cde8c0) 0
+ primary-for QWidget (0x7ffd13cbca00)
+ QPaintDevice (0x7ffd13cde930) 16
+ vptr=((& QErrorMessage::_ZTV13QErrorMessage) + 488u)
+
+Vtable for QPrintPreviewDialog
+QPrintPreviewDialog::_ZTV19QPrintPreviewDialog: 66u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QPrintPreviewDialog)
+16 QPrintPreviewDialog::metaObject
+24 QPrintPreviewDialog::qt_metacast
+32 QPrintPreviewDialog::qt_metacall
+40 QPrintPreviewDialog::~QPrintPreviewDialog
+48 QPrintPreviewDialog::~QPrintPreviewDialog
+56 QWidget::event
+64 QDialog::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QPrintPreviewDialog::setVisible
+128 QDialog::sizeHint
+136 QDialog::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QDialog::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QWidget::paintEvent
+256 QWidget::moveEvent
+264 QDialog::resizeEvent
+272 QDialog::closeEvent
+280 QDialog::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QDialog::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QWidget::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QPrintPreviewDialog::done
+456 QDialog::accept
+464 QDialog::reject
+472 (int (*)(...))-0x00000000000000010
+480 (int (*)(...))(& _ZTI19QPrintPreviewDialog)
+488 QPrintPreviewDialog::_ZThn16_N19QPrintPreviewDialogD1Ev
+496 QPrintPreviewDialog::_ZThn16_N19QPrintPreviewDialogD0Ev
+504 QWidget::_ZThn16_NK7QWidget7devTypeEv
+512 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+520 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QPrintPreviewDialog
+ size=48 align=8
+ base size=48 base align=8
+QPrintPreviewDialog (0x7ffd13cfb3f0) 0
+ vptr=((& QPrintPreviewDialog::_ZTV19QPrintPreviewDialog) + 16u)
+ QDialog (0x7ffd13cfb460) 0
+ primary-for QPrintPreviewDialog (0x7ffd13cfb3f0)
+ QWidget (0x7ffd13cf7480) 0
+ primary-for QDialog (0x7ffd13cfb460)
+ QObject (0x7ffd13cfb4d0) 0
+ primary-for QWidget (0x7ffd13cf7480)
+ QPaintDevice (0x7ffd13cfb540) 16
+ vptr=((& QPrintPreviewDialog::_ZTV19QPrintPreviewDialog) + 488u)
+
+Vtable for QFileDialog
+QFileDialog::_ZTV11QFileDialog: 66u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QFileDialog)
+16 QFileDialog::metaObject
+24 QFileDialog::qt_metacast
+32 QFileDialog::qt_metacall
+40 QFileDialog::~QFileDialog
+48 QFileDialog::~QFileDialog
+56 QWidget::event
+64 QDialog::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QFileDialog::setVisible
+128 QDialog::sizeHint
+136 QDialog::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QDialog::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QWidget::paintEvent
+256 QWidget::moveEvent
+264 QDialog::resizeEvent
+272 QDialog::closeEvent
+280 QDialog::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QDialog::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QFileDialog::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QFileDialog::done
+456 QFileDialog::accept
+464 QDialog::reject
+472 (int (*)(...))-0x00000000000000010
+480 (int (*)(...))(& _ZTI11QFileDialog)
+488 QFileDialog::_ZThn16_N11QFileDialogD1Ev
+496 QFileDialog::_ZThn16_N11QFileDialogD0Ev
+504 QWidget::_ZThn16_NK7QWidget7devTypeEv
+512 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+520 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QFileDialog
+ size=40 align=8
+ base size=40 base align=8
+QFileDialog (0x7ffd13d13a80) 0
+ vptr=((& QFileDialog::_ZTV11QFileDialog) + 16u)
+ QDialog (0x7ffd13d13af0) 0
+ primary-for QFileDialog (0x7ffd13d13a80)
+ QWidget (0x7ffd13cf7d80) 0
+ primary-for QDialog (0x7ffd13d13af0)
+ QObject (0x7ffd13d13b60) 0
+ primary-for QWidget (0x7ffd13cf7d80)
+ QPaintDevice (0x7ffd13d13bd0) 16
+ vptr=((& QFileDialog::_ZTV11QFileDialog) + 488u)
+
+Vtable for QAbstractPrintDialog
+QAbstractPrintDialog::_ZTV20QAbstractPrintDialog: 67u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI20QAbstractPrintDialog)
+16 QAbstractPrintDialog::metaObject
+24 QAbstractPrintDialog::qt_metacast
+32 QAbstractPrintDialog::qt_metacall
+40 QAbstractPrintDialog::~QAbstractPrintDialog
+48 QAbstractPrintDialog::~QAbstractPrintDialog
+56 QWidget::event
+64 QDialog::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QDialog::setVisible
+128 QDialog::sizeHint
+136 QDialog::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QDialog::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QWidget::paintEvent
+256 QWidget::moveEvent
+264 QDialog::resizeEvent
+272 QDialog::closeEvent
+280 QDialog::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QDialog::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QWidget::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QDialog::done
+456 QDialog::accept
+464 QDialog::reject
+472 __cxa_pure_virtual
+480 (int (*)(...))-0x00000000000000010
+488 (int (*)(...))(& _ZTI20QAbstractPrintDialog)
+496 QAbstractPrintDialog::_ZThn16_N20QAbstractPrintDialogD1Ev
+504 QAbstractPrintDialog::_ZThn16_N20QAbstractPrintDialogD0Ev
+512 QWidget::_ZThn16_NK7QWidget7devTypeEv
+520 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+528 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QAbstractPrintDialog
+ size=40 align=8
+ base size=40 base align=8
+QAbstractPrintDialog (0x7ffd13ba7070) 0
+ vptr=((& QAbstractPrintDialog::_ZTV20QAbstractPrintDialog) + 16u)
+ QDialog (0x7ffd13ba70e0) 0
+ primary-for QAbstractPrintDialog (0x7ffd13ba7070)
+ QWidget (0x7ffd13ba4200) 0
+ primary-for QDialog (0x7ffd13ba70e0)
+ QObject (0x7ffd13ba7150) 0
+ primary-for QWidget (0x7ffd13ba4200)
+ QPaintDevice (0x7ffd13ba71c0) 16
+ vptr=((& QAbstractPrintDialog::_ZTV20QAbstractPrintDialog) + 496u)
+
+Vtable for QUnixPrintWidget
+QUnixPrintWidget::_ZTV16QUnixPrintWidget: 63u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QUnixPrintWidget)
+16 QUnixPrintWidget::metaObject
+24 QUnixPrintWidget::qt_metacast
+32 QUnixPrintWidget::qt_metacall
+40 QUnixPrintWidget::~QUnixPrintWidget
+48 QUnixPrintWidget::~QUnixPrintWidget
+56 QWidget::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QWidget::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QWidget::paintEvent
+256 QWidget::moveEvent
+264 QWidget::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QWidget::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 (int (*)(...))-0x00000000000000010
+456 (int (*)(...))(& _ZTI16QUnixPrintWidget)
+464 QUnixPrintWidget::_ZThn16_N16QUnixPrintWidgetD1Ev
+472 QUnixPrintWidget::_ZThn16_N16QUnixPrintWidgetD0Ev
+480 QWidget::_ZThn16_NK7QWidget7devTypeEv
+488 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+496 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QUnixPrintWidget
+ size=48 align=8
+ base size=48 base align=8
+QUnixPrintWidget (0x7ffd13c03150) 0
+ vptr=((& QUnixPrintWidget::_ZTV16QUnixPrintWidget) + 16u)
+ QWidget (0x7ffd13bd2580) 0
+ primary-for QUnixPrintWidget (0x7ffd13c03150)
+ QObject (0x7ffd13c031c0) 0
+ primary-for QWidget (0x7ffd13bd2580)
+ QPaintDevice (0x7ffd13c03230) 16
+ vptr=((& QUnixPrintWidget::_ZTV16QUnixPrintWidget) + 464u)
+
+Vtable for QPrintDialog
+QPrintDialog::_ZTV12QPrintDialog: 67u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QPrintDialog)
+16 QPrintDialog::metaObject
+24 QPrintDialog::qt_metacast
+32 QPrintDialog::qt_metacall
+40 QPrintDialog::~QPrintDialog
+48 QPrintDialog::~QPrintDialog
+56 QWidget::event
+64 QDialog::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QPrintDialog::setVisible
+128 QDialog::sizeHint
+136 QDialog::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QDialog::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QWidget::paintEvent
+256 QWidget::moveEvent
+264 QDialog::resizeEvent
+272 QDialog::closeEvent
+280 QDialog::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QDialog::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QWidget::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QPrintDialog::done
+456 QPrintDialog::accept
+464 QDialog::reject
+472 QPrintDialog::exec
+480 (int (*)(...))-0x00000000000000010
+488 (int (*)(...))(& _ZTI12QPrintDialog)
+496 QPrintDialog::_ZThn16_N12QPrintDialogD1Ev
+504 QPrintDialog::_ZThn16_N12QPrintDialogD0Ev
+512 QWidget::_ZThn16_NK7QWidget7devTypeEv
+520 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+528 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QPrintDialog
+ size=40 align=8
+ base size=40 base align=8
+QPrintDialog (0x7ffd13c18070) 0
+ vptr=((& QPrintDialog::_ZTV12QPrintDialog) + 16u)
+ QAbstractPrintDialog (0x7ffd13c180e0) 0
+ primary-for QPrintDialog (0x7ffd13c18070)
+ QDialog (0x7ffd13c18150) 0
+ primary-for QAbstractPrintDialog (0x7ffd13c180e0)
+ QWidget (0x7ffd13bd2c80) 0
+ primary-for QDialog (0x7ffd13c18150)
+ QObject (0x7ffd13c181c0) 0
+ primary-for QWidget (0x7ffd13bd2c80)
+ QPaintDevice (0x7ffd13c18230) 16
+ vptr=((& QPrintDialog::_ZTV12QPrintDialog) + 496u)
+
+Vtable for QWizard
+QWizard::_ZTV7QWizard: 70u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QWizard)
+16 QWizard::metaObject
+24 QWizard::qt_metacast
+32 QWizard::qt_metacall
+40 QWizard::~QWizard
+48 QWizard::~QWizard
+56 QWizard::event
+64 QDialog::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWizard::setVisible
+128 QWizard::sizeHint
+136 QDialog::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QDialog::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QWizard::paintEvent
+256 QWidget::moveEvent
+264 QWizard::resizeEvent
+272 QDialog::closeEvent
+280 QDialog::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QDialog::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QWidget::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QWizard::done
+456 QDialog::accept
+464 QDialog::reject
+472 QWizard::validateCurrentPage
+480 QWizard::nextId
+488 QWizard::initializePage
+496 QWizard::cleanupPage
+504 (int (*)(...))-0x00000000000000010
+512 (int (*)(...))(& _ZTI7QWizard)
+520 QWizard::_ZThn16_N7QWizardD1Ev
+528 QWizard::_ZThn16_N7QWizardD0Ev
+536 QWidget::_ZThn16_NK7QWidget7devTypeEv
+544 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+552 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QWizard
+ size=40 align=8
+ base size=40 base align=8
+QWizard (0x7ffd13c30bd0) 0
+ vptr=((& QWizard::_ZTV7QWizard) + 16u)
+ QDialog (0x7ffd13c30c40) 0
+ primary-for QWizard (0x7ffd13c30bd0)
+ QWidget (0x7ffd13c2b580) 0
+ primary-for QDialog (0x7ffd13c30c40)
+ QObject (0x7ffd13c30cb0) 0
+ primary-for QWidget (0x7ffd13c2b580)
+ QPaintDevice (0x7ffd13c30d20) 16
+ vptr=((& QWizard::_ZTV7QWizard) + 520u)
+
+Vtable for QWizardPage
+QWizardPage::_ZTV11QWizardPage: 68u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QWizardPage)
+16 QWizardPage::metaObject
+24 QWizardPage::qt_metacast
+32 QWizardPage::qt_metacall
+40 QWizardPage::~QWizardPage
+48 QWizardPage::~QWizardPage
+56 QWidget::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QWidget::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QWidget::paintEvent
+256 QWidget::moveEvent
+264 QWidget::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QWidget::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QWizardPage::initializePage
+456 QWizardPage::cleanupPage
+464 QWizardPage::validatePage
+472 QWizardPage::isComplete
+480 QWizardPage::nextId
+488 (int (*)(...))-0x00000000000000010
+496 (int (*)(...))(& _ZTI11QWizardPage)
+504 QWizardPage::_ZThn16_N11QWizardPageD1Ev
+512 QWizardPage::_ZThn16_N11QWizardPageD0Ev
+520 QWidget::_ZThn16_NK7QWidget7devTypeEv
+528 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+536 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QWizardPage
+ size=40 align=8
+ base size=40 base align=8
+QWizardPage (0x7ffd13c86f50) 0
+ vptr=((& QWizardPage::_ZTV11QWizardPage) + 16u)
+ QWidget (0x7ffd13c62780) 0
+ primary-for QWizardPage (0x7ffd13c86f50)
+ QObject (0x7ffd13c9f000) 0
+ primary-for QWidget (0x7ffd13c62780)
+ QPaintDevice (0x7ffd13c9f070) 16
+ vptr=((& QWizardPage::_ZTV11QWizardPage) + 504u)
+
+Vtable for QPageSetupDialog
+QPageSetupDialog::_ZTV16QPageSetupDialog: 67u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QPageSetupDialog)
+16 QPageSetupDialog::metaObject
+24 QPageSetupDialog::qt_metacast
+32 QPageSetupDialog::qt_metacall
+40 QPageSetupDialog::~QPageSetupDialog
+48 QPageSetupDialog::~QPageSetupDialog
+56 QWidget::event
+64 QDialog::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QDialog::setVisible
+128 QDialog::sizeHint
+136 QDialog::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QDialog::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QWidget::paintEvent
+256 QWidget::moveEvent
+264 QDialog::resizeEvent
+272 QDialog::closeEvent
+280 QDialog::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QDialog::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QWidget::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QAbstractPageSetupDialog::done
+456 QDialog::accept
+464 QDialog::reject
+472 QPageSetupDialog::exec
+480 (int (*)(...))-0x00000000000000010
+488 (int (*)(...))(& _ZTI16QPageSetupDialog)
+496 QPageSetupDialog::_ZThn16_N16QPageSetupDialogD1Ev
+504 QPageSetupDialog::_ZThn16_N16QPageSetupDialogD0Ev
+512 QWidget::_ZThn16_NK7QWidget7devTypeEv
+520 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+528 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QPageSetupDialog
+ size=40 align=8
+ base size=40 base align=8
+QPageSetupDialog (0x7ffd13abaa80) 0
+ vptr=((& QPageSetupDialog::_ZTV16QPageSetupDialog) + 16u)
+ QAbstractPageSetupDialog (0x7ffd13abaaf0) 0
+ primary-for QPageSetupDialog (0x7ffd13abaa80)
+ QDialog (0x7ffd13abab60) 0
+ primary-for QAbstractPageSetupDialog (0x7ffd13abaaf0)
+ QWidget (0x7ffd13abd080) 0
+ primary-for QDialog (0x7ffd13abab60)
+ QObject (0x7ffd13ababd0) 0
+ primary-for QWidget (0x7ffd13abd080)
+ QPaintDevice (0x7ffd13abac40) 16
+ vptr=((& QPageSetupDialog::_ZTV16QPageSetupDialog) + 496u)
+
+Vtable for QLineEdit
+QLineEdit::_ZTV9QLineEdit: 63u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QLineEdit)
+16 QLineEdit::metaObject
+24 QLineEdit::qt_metacast
+32 QLineEdit::qt_metacall
+40 QLineEdit::~QLineEdit
+48 QLineEdit::~QLineEdit
+56 QLineEdit::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QLineEdit::sizeHint
+136 QLineEdit::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QLineEdit::mousePressEvent
+168 QLineEdit::mouseReleaseEvent
+176 QLineEdit::mouseDoubleClickEvent
+184 QLineEdit::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QLineEdit::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QLineEdit::focusInEvent
+224 QLineEdit::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QLineEdit::paintEvent
+256 QWidget::moveEvent
+264 QWidget::resizeEvent
+272 QWidget::closeEvent
+280 QLineEdit::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QLineEdit::dragEnterEvent
+312 QLineEdit::dragMoveEvent
+320 QLineEdit::dragLeaveEvent
+328 QLineEdit::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QLineEdit::changeEvent
+368 QWidget::metric
+376 QLineEdit::inputMethodEvent
+384 QLineEdit::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 (int (*)(...))-0x00000000000000010
+456 (int (*)(...))(& _ZTI9QLineEdit)
+464 QLineEdit::_ZThn16_N9QLineEditD1Ev
+472 QLineEdit::_ZThn16_N9QLineEditD0Ev
+480 QWidget::_ZThn16_NK7QWidget7devTypeEv
+488 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+496 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QLineEdit
+ size=40 align=8
+ base size=40 base align=8
+QLineEdit (0x7ffd13ad7a10) 0
+ vptr=((& QLineEdit::_ZTV9QLineEdit) + 16u)
+ QWidget (0x7ffd13abdb00) 0
+ primary-for QLineEdit (0x7ffd13ad7a10)
+ QObject (0x7ffd13ad7a80) 0
+ primary-for QWidget (0x7ffd13abdb00)
+ QPaintDevice (0x7ffd13ad7af0) 16
+ vptr=((& QLineEdit::_ZTV9QLineEdit) + 464u)
+
+Vtable for QInputDialog
+QInputDialog::_ZTV12QInputDialog: 66u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QInputDialog)
+16 QInputDialog::metaObject
+24 QInputDialog::qt_metacast
+32 QInputDialog::qt_metacall
+40 QInputDialog::~QInputDialog
+48 QInputDialog::~QInputDialog
+56 QWidget::event
+64 QDialog::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QInputDialog::setVisible
+128 QInputDialog::sizeHint
+136 QInputDialog::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QDialog::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QWidget::paintEvent
+256 QWidget::moveEvent
+264 QDialog::resizeEvent
+272 QDialog::closeEvent
+280 QDialog::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QDialog::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QWidget::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QInputDialog::done
+456 QDialog::accept
+464 QDialog::reject
+472 (int (*)(...))-0x00000000000000010
+480 (int (*)(...))(& _ZTI12QInputDialog)
+488 QInputDialog::_ZThn16_N12QInputDialogD1Ev
+496 QInputDialog::_ZThn16_N12QInputDialogD0Ev
+504 QWidget::_ZThn16_NK7QWidget7devTypeEv
+512 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+520 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QInputDialog
+ size=40 align=8
+ base size=40 base align=8
+QInputDialog (0x7ffd13b27930) 0
+ vptr=((& QInputDialog::_ZTV12QInputDialog) + 16u)
+ QDialog (0x7ffd13b279a0) 0
+ primary-for QInputDialog (0x7ffd13b27930)
+ QWidget (0x7ffd13b24980) 0
+ primary-for QDialog (0x7ffd13b279a0)
+ QObject (0x7ffd13b27a10) 0
+ primary-for QWidget (0x7ffd13b24980)
+ QPaintDevice (0x7ffd13b27a80) 16
+ vptr=((& QInputDialog::_ZTV12QInputDialog) + 488u)
+
+Vtable for QFileSystemModel
+QFileSystemModel::_ZTV16QFileSystemModel: 42u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QFileSystemModel)
+16 QFileSystemModel::metaObject
+24 QFileSystemModel::qt_metacast
+32 QFileSystemModel::qt_metacall
+40 QFileSystemModel::~QFileSystemModel
+48 QFileSystemModel::~QFileSystemModel
+56 QFileSystemModel::event
+64 QObject::eventFilter
+72 QFileSystemModel::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QFileSystemModel::index
+120 QFileSystemModel::parent
+128 QFileSystemModel::rowCount
+136 QFileSystemModel::columnCount
+144 QFileSystemModel::hasChildren
+152 QFileSystemModel::data
+160 QFileSystemModel::setData
+168 QFileSystemModel::headerData
+176 QAbstractItemModel::setHeaderData
+184 QAbstractItemModel::itemData
+192 QAbstractItemModel::setItemData
+200 QFileSystemModel::mimeTypes
+208 QFileSystemModel::mimeData
+216 QFileSystemModel::dropMimeData
+224 QFileSystemModel::supportedDropActions
+232 QAbstractItemModel::insertRows
+240 QAbstractItemModel::insertColumns
+248 QAbstractItemModel::removeRows
+256 QAbstractItemModel::removeColumns
+264 QFileSystemModel::fetchMore
+272 QFileSystemModel::canFetchMore
+280 QFileSystemModel::flags
+288 QFileSystemModel::sort
+296 QAbstractItemModel::buddy
+304 QAbstractItemModel::match
+312 QAbstractItemModel::span
+320 QAbstractItemModel::submit
+328 QAbstractItemModel::revert
+
+Class QFileSystemModel
+ size=16 align=8
+ base size=16 base align=8
+QFileSystemModel (0x7ffd13b8a7e0) 0
+ vptr=((& QFileSystemModel::_ZTV16QFileSystemModel) + 16u)
+ QAbstractItemModel (0x7ffd13b8a850) 0
+ primary-for QFileSystemModel (0x7ffd13b8a7e0)
+ QObject (0x7ffd13b8a8c0) 0
+ primary-for QAbstractItemModel (0x7ffd13b8a850)
+
+Class QPixmapCache
+ size=1 align=1
+ base size=0 base align=1
+QPixmapCache (0x7ffd139ceee0) 0 empty
+
+Vtable for QImageIOHandler
+QImageIOHandler::_ZTV15QImageIOHandler: 18u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QImageIOHandler)
+16 QImageIOHandler::~QImageIOHandler
+24 QImageIOHandler::~QImageIOHandler
+32 QImageIOHandler::name
+40 __cxa_pure_virtual
+48 __cxa_pure_virtual
+56 QImageIOHandler::write
+64 QImageIOHandler::option
+72 QImageIOHandler::setOption
+80 QImageIOHandler::supportsOption
+88 QImageIOHandler::jumpToNextImage
+96 QImageIOHandler::jumpToImage
+104 QImageIOHandler::loopCount
+112 QImageIOHandler::imageCount
+120 QImageIOHandler::nextImageDelay
+128 QImageIOHandler::currentImageNumber
+136 QImageIOHandler::currentImageRect
+
+Class QImageIOHandler
+ size=16 align=8
+ base size=16 base align=8
+QImageIOHandler (0x7ffd139cef50) 0
+ vptr=((& QImageIOHandler::_ZTV15QImageIOHandler) + 16u)
+
+Vtable for QImageIOHandlerFactoryInterface
+QImageIOHandlerFactoryInterface::_ZTV31QImageIOHandlerFactoryInterface: 6u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI31QImageIOHandlerFactoryInterface)
+16 QImageIOHandlerFactoryInterface::~QImageIOHandlerFactoryInterface
+24 QImageIOHandlerFactoryInterface::~QImageIOHandlerFactoryInterface
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+
+Class QImageIOHandlerFactoryInterface
+ size=8 align=8
+ base size=8 base align=8
+QImageIOHandlerFactoryInterface (0x7ffd139dfb60) 0 nearly-empty
+ vptr=((& QImageIOHandlerFactoryInterface::_ZTV31QImageIOHandlerFactoryInterface) + 16u)
+ QFactoryInterface (0x7ffd139dfbd0) 0 nearly-empty
+ primary-for QImageIOHandlerFactoryInterface (0x7ffd139dfb60)
+
+Vtable for QImageIOPlugin
+QImageIOPlugin::_ZTV14QImageIOPlugin: 23u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QImageIOPlugin)
+16 QImageIOPlugin::metaObject
+24 QImageIOPlugin::qt_metacast
+32 QImageIOPlugin::qt_metacall
+40 QImageIOPlugin::~QImageIOPlugin
+48 QImageIOPlugin::~QImageIOPlugin
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 __cxa_pure_virtual
+136 (int (*)(...))-0x00000000000000010
+144 (int (*)(...))(& _ZTI14QImageIOPlugin)
+152 QImageIOPlugin::_ZThn16_N14QImageIOPluginD1Ev
+160 QImageIOPlugin::_ZThn16_N14QImageIOPluginD0Ev
+168 __cxa_pure_virtual
+176 __cxa_pure_virtual
+
+Class QImageIOPlugin
+ size=24 align=8
+ base size=24 base align=8
+QImageIOPlugin (0x7ffd139e3b00) 0
+ vptr=((& QImageIOPlugin::_ZTV14QImageIOPlugin) + 16u)
+ QObject (0x7ffd139f43f0) 0
+ primary-for QImageIOPlugin (0x7ffd139e3b00)
+ QImageIOHandlerFactoryInterface (0x7ffd139f4460) 16 nearly-empty
+ vptr=((& QImageIOPlugin::_ZTV14QImageIOPlugin) + 152u)
+ QFactoryInterface (0x7ffd139f44d0) 16 nearly-empty
+ primary-for QImageIOHandlerFactoryInterface (0x7ffd139f4460)
+
+Vtable for QPicture
+QPicture::_ZTV8QPicture: 8u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI8QPicture)
+16 QPicture::~QPicture
+24 QPicture::~QPicture
+32 QPicture::devType
+40 QPicture::paintEngine
+48 QPicture::metric
+56 QPicture::setData
+
+Class QPicture
+ size=24 align=8
+ base size=24 base align=8
+QPicture (0x7ffd13a474d0) 0
+ vptr=((& QPicture::_ZTV8QPicture) + 16u)
+ QPaintDevice (0x7ffd13a47540) 0
+ primary-for QPicture (0x7ffd13a474d0)
+
+Class QPictureIO
+ size=8 align=8
+ base size=8 base align=8
+QPictureIO (0x7ffd13a60070) 0
+
+Class QImageReader
+ size=8 align=8
+ base size=8 base align=8
+QImageReader (0x7ffd13a60690) 0
+
+Class QImageWriter
+ size=8 align=8
+ base size=8 base align=8
+QImageWriter (0x7ffd13a7c0e0) 0
+
+Vtable for QMovie
+QMovie::_ZTV6QMovie: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI6QMovie)
+16 QMovie::metaObject
+24 QMovie::qt_metacast
+32 QMovie::qt_metacall
+40 QMovie::~QMovie
+48 QMovie::~QMovie
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QMovie
+ size=16 align=8
+ base size=16 base align=8
+QMovie (0x7ffd13a7c930) 0
+ vptr=((& QMovie::_ZTV6QMovie) + 16u)
+ QObject (0x7ffd13a7c9a0) 0
+ primary-for QMovie (0x7ffd13a7c930)
+
+Vtable for QIconEngineFactoryInterface
+QIconEngineFactoryInterface::_ZTV27QIconEngineFactoryInterface: 6u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI27QIconEngineFactoryInterface)
+16 QIconEngineFactoryInterface::~QIconEngineFactoryInterface
+24 QIconEngineFactoryInterface::~QIconEngineFactoryInterface
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+
+Class QIconEngineFactoryInterface
+ size=8 align=8
+ base size=8 base align=8
+QIconEngineFactoryInterface (0x7ffd138c29a0) 0 nearly-empty
+ vptr=((& QIconEngineFactoryInterface::_ZTV27QIconEngineFactoryInterface) + 16u)
+ QFactoryInterface (0x7ffd138c2a10) 0 nearly-empty
+ primary-for QIconEngineFactoryInterface (0x7ffd138c29a0)
+
+Vtable for QIconEnginePlugin
+QIconEnginePlugin::_ZTV17QIconEnginePlugin: 22u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QIconEnginePlugin)
+16 QIconEnginePlugin::metaObject
+24 QIconEnginePlugin::qt_metacast
+32 QIconEnginePlugin::qt_metacall
+40 QIconEnginePlugin::~QIconEnginePlugin
+48 QIconEnginePlugin::~QIconEnginePlugin
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 (int (*)(...))-0x00000000000000010
+136 (int (*)(...))(& _ZTI17QIconEnginePlugin)
+144 QIconEnginePlugin::_ZThn16_N17QIconEnginePluginD1Ev
+152 QIconEnginePlugin::_ZThn16_N17QIconEnginePluginD0Ev
+160 __cxa_pure_virtual
+168 __cxa_pure_virtual
+
+Class QIconEnginePlugin
+ size=24 align=8
+ base size=24 base align=8
+QIconEnginePlugin (0x7ffd138c0e80) 0
+ vptr=((& QIconEnginePlugin::_ZTV17QIconEnginePlugin) + 16u)
+ QObject (0x7ffd138cb230) 0
+ primary-for QIconEnginePlugin (0x7ffd138c0e80)
+ QIconEngineFactoryInterface (0x7ffd138cb2a0) 16 nearly-empty
+ vptr=((& QIconEnginePlugin::_ZTV17QIconEnginePlugin) + 144u)
+ QFactoryInterface (0x7ffd138cb310) 16 nearly-empty
+ primary-for QIconEngineFactoryInterface (0x7ffd138cb2a0)
+
+Vtable for QIconEngineFactoryInterfaceV2
+QIconEngineFactoryInterfaceV2::_ZTV29QIconEngineFactoryInterfaceV2: 6u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI29QIconEngineFactoryInterfaceV2)
+16 QIconEngineFactoryInterfaceV2::~QIconEngineFactoryInterfaceV2
+24 QIconEngineFactoryInterfaceV2::~QIconEngineFactoryInterfaceV2
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+
+Class QIconEngineFactoryInterfaceV2
+ size=8 align=8
+ base size=8 base align=8
+QIconEngineFactoryInterfaceV2 (0x7ffd138db1c0) 0 nearly-empty
+ vptr=((& QIconEngineFactoryInterfaceV2::_ZTV29QIconEngineFactoryInterfaceV2) + 16u)
+ QFactoryInterface (0x7ffd138db230) 0 nearly-empty
+ primary-for QIconEngineFactoryInterfaceV2 (0x7ffd138db1c0)
+
+Vtable for QIconEnginePluginV2
+QIconEnginePluginV2::_ZTV19QIconEnginePluginV2: 22u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QIconEnginePluginV2)
+16 QIconEnginePluginV2::metaObject
+24 QIconEnginePluginV2::qt_metacast
+32 QIconEnginePluginV2::qt_metacall
+40 QIconEnginePluginV2::~QIconEnginePluginV2
+48 QIconEnginePluginV2::~QIconEnginePluginV2
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 (int (*)(...))-0x00000000000000010
+136 (int (*)(...))(& _ZTI19QIconEnginePluginV2)
+144 QIconEnginePluginV2::_ZThn16_N19QIconEnginePluginV2D1Ev
+152 QIconEnginePluginV2::_ZThn16_N19QIconEnginePluginV2D0Ev
+160 __cxa_pure_virtual
+168 __cxa_pure_virtual
+
+Class QIconEnginePluginV2
+ size=24 align=8
+ base size=24 base align=8
+QIconEnginePluginV2 (0x7ffd138d5d00) 0
+ vptr=((& QIconEnginePluginV2::_ZTV19QIconEnginePluginV2) + 16u)
+ QObject (0x7ffd138dbaf0) 0
+ primary-for QIconEnginePluginV2 (0x7ffd138d5d00)
+ QIconEngineFactoryInterfaceV2 (0x7ffd138dbb60) 16 nearly-empty
+ vptr=((& QIconEnginePluginV2::_ZTV19QIconEnginePluginV2) + 144u)
+ QFactoryInterface (0x7ffd138dbbd0) 16 nearly-empty
+ primary-for QIconEngineFactoryInterfaceV2 (0x7ffd138dbb60)
+
+Vtable for QIconEngine
+QIconEngine::_ZTV11QIconEngine: 9u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QIconEngine)
+16 QIconEngine::~QIconEngine
+24 QIconEngine::~QIconEngine
+32 __cxa_pure_virtual
+40 QIconEngine::actualSize
+48 QIconEngine::pixmap
+56 QIconEngine::addPixmap
+64 QIconEngine::addFile
+
+Class QIconEngine
+ size=8 align=8
+ base size=8 base align=8
+QIconEngine (0x7ffd138f2a80) 0 nearly-empty
+ vptr=((& QIconEngine::_ZTV11QIconEngine) + 16u)
+
+Class QIconEngineV2::AvailableSizesArgument
+ size=16 align=8
+ base size=16 base align=8
+QIconEngineV2::AvailableSizesArgument (0x7ffd138fd2a0) 0
+
+Vtable for QIconEngineV2
+QIconEngineV2::_ZTV13QIconEngineV2: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QIconEngineV2)
+16 QIconEngineV2::~QIconEngineV2
+24 QIconEngineV2::~QIconEngineV2
+32 __cxa_pure_virtual
+40 QIconEngine::actualSize
+48 QIconEngine::pixmap
+56 QIconEngine::addPixmap
+64 QIconEngine::addFile
+72 QIconEngineV2::key
+80 QIconEngineV2::clone
+88 QIconEngineV2::read
+96 QIconEngineV2::write
+104 QIconEngineV2::virtual_hook
+
+Class QIconEngineV2
+ size=8 align=8
+ base size=8 base align=8
+QIconEngineV2 (0x7ffd138fd070) 0 nearly-empty
+ vptr=((& QIconEngineV2::_ZTV13QIconEngineV2) + 16u)
+ QIconEngine (0x7ffd138fd0e0) 0 nearly-empty
+ primary-for QIconEngineV2 (0x7ffd138fd070)
+
+Vtable for QBitmap
+QBitmap::_ZTV7QBitmap: 7u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QBitmap)
+16 QBitmap::~QBitmap
+24 QBitmap::~QBitmap
+32 QPixmap::devType
+40 QPixmap::paintEngine
+48 QPixmap::metric
+
+Class QBitmap
+ size=24 align=8
+ base size=24 base align=8
+QBitmap (0x7ffd138fda80) 0
+ vptr=((& QBitmap::_ZTV7QBitmap) + 16u)
+ QPixmap (0x7ffd138fdaf0) 0
+ primary-for QBitmap (0x7ffd138fda80)
+ QPaintDevice (0x7ffd138fdb60) 0
+ primary-for QPixmap (0x7ffd138fdaf0)
+
+Vtable for QPictureFormatInterface
+QPictureFormatInterface::_ZTV23QPictureFormatInterface: 8u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI23QPictureFormatInterface)
+16 QPictureFormatInterface::~QPictureFormatInterface
+24 QPictureFormatInterface::~QPictureFormatInterface
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+48 __cxa_pure_virtual
+56 __cxa_pure_virtual
+
+Class QPictureFormatInterface
+ size=8 align=8
+ base size=8 base align=8
+QPictureFormatInterface (0x7ffd13955bd0) 0 nearly-empty
+ vptr=((& QPictureFormatInterface::_ZTV23QPictureFormatInterface) + 16u)
+ QFactoryInterface (0x7ffd13955c40) 0 nearly-empty
+ primary-for QPictureFormatInterface (0x7ffd13955bd0)
+
+Vtable for QPictureFormatPlugin
+QPictureFormatPlugin::_ZTV20QPictureFormatPlugin: 26u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI20QPictureFormatPlugin)
+16 QPictureFormatPlugin::metaObject
+24 QPictureFormatPlugin::qt_metacast
+32 QPictureFormatPlugin::qt_metacall
+40 QPictureFormatPlugin::~QPictureFormatPlugin
+48 QPictureFormatPlugin::~QPictureFormatPlugin
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+120 QPictureFormatPlugin::loadPicture
+128 QPictureFormatPlugin::savePicture
+136 __cxa_pure_virtual
+144 (int (*)(...))-0x00000000000000010
+152 (int (*)(...))(& _ZTI20QPictureFormatPlugin)
+160 QPictureFormatPlugin::_ZThn16_N20QPictureFormatPluginD1Ev
+168 QPictureFormatPlugin::_ZThn16_N20QPictureFormatPluginD0Ev
+176 __cxa_pure_virtual
+184 QPictureFormatPlugin::_ZThn16_N20QPictureFormatPlugin11loadPictureERK7QStringS2_P8QPicture
+192 QPictureFormatPlugin::_ZThn16_N20QPictureFormatPlugin11savePictureERK7QStringS2_RK8QPicture
+200 __cxa_pure_virtual
+
+Class QPictureFormatPlugin
+ size=24 align=8
+ base size=24 base align=8
+QPictureFormatPlugin (0x7ffd1395ba00) 0
+ vptr=((& QPictureFormatPlugin::_ZTV20QPictureFormatPlugin) + 16u)
+ QObject (0x7ffd139653f0) 0
+ primary-for QPictureFormatPlugin (0x7ffd1395ba00)
+ QPictureFormatInterface (0x7ffd13965460) 16 nearly-empty
+ vptr=((& QPictureFormatPlugin::_ZTV20QPictureFormatPlugin) + 160u)
+ QFactoryInterface (0x7ffd139654d0) 16 nearly-empty
+ primary-for QPictureFormatInterface (0x7ffd13965460)
+
+Class QVFbHeader
+ size=1088 align=8
+ base size=1088 base align=8
+QVFbHeader (0x7ffd13979380) 0
+
+Class QVFbKeyData
+ size=12 align=4
+ base size=12 base align=4
+QVFbKeyData (0x7ffd139793f0) 0
+
+Vtable for QWSEmbedWidget
+QWSEmbedWidget::_ZTV14QWSEmbedWidget: 63u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QWSEmbedWidget)
+16 QWSEmbedWidget::metaObject
+24 QWSEmbedWidget::qt_metacast
+32 QWSEmbedWidget::qt_metacall
+40 QWSEmbedWidget::~QWSEmbedWidget
+48 QWSEmbedWidget::~QWSEmbedWidget
+56 QWidget::event
+64 QWSEmbedWidget::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QWidget::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QWidget::paintEvent
+256 QWSEmbedWidget::moveEvent
+264 QWSEmbedWidget::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWSEmbedWidget::showEvent
+344 QWSEmbedWidget::hideEvent
+352 QWidget::x11Event
+360 QWSEmbedWidget::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 (int (*)(...))-0x00000000000000010
+456 (int (*)(...))(& _ZTI14QWSEmbedWidget)
+464 QWSEmbedWidget::_ZThn16_N14QWSEmbedWidgetD1Ev
+472 QWSEmbedWidget::_ZThn16_N14QWSEmbedWidgetD0Ev
+480 QWidget::_ZThn16_NK7QWidget7devTypeEv
+488 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+496 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QWSEmbedWidget
+ size=40 align=8
+ base size=40 base align=8
+QWSEmbedWidget (0x7ffd13979460) 0
+ vptr=((& QWSEmbedWidget::_ZTV14QWSEmbedWidget) + 16u)
+ QWidget (0x7ffd13978200) 0
+ primary-for QWSEmbedWidget (0x7ffd13979460)
+ QObject (0x7ffd139794d0) 0
+ primary-for QWidget (0x7ffd13978200)
+ QPaintDevice (0x7ffd13979540) 16
+ vptr=((& QWSEmbedWidget::_ZTV14QWSEmbedWidget) + 464u)
+
+Class QColormap
+ size=8 align=8
+ base size=8 base align=8
+QColormap (0x7ffd13990930) 0
+
+Vtable for QPrinter
+QPrinter::_ZTV8QPrinter: 7u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI8QPrinter)
+16 QPrinter::~QPrinter
+24 QPrinter::~QPrinter
+32 QPrinter::devType
+40 QPrinter::paintEngine
+48 QPrinter::metric
+
+Class QPrinter
+ size=24 align=8
+ base size=24 base align=8
+QPrinter (0x7ffd13999150) 0
+ vptr=((& QPrinter::_ZTV8QPrinter) + 16u)
+ QPaintDevice (0x7ffd139991c0) 0
+ primary-for QPrinter (0x7ffd13999150)
+
+Vtable for QPrintEngine
+QPrintEngine::_ZTV12QPrintEngine: 10u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QPrintEngine)
+16 QPrintEngine::~QPrintEngine
+24 QPrintEngine::~QPrintEngine
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+48 __cxa_pure_virtual
+56 __cxa_pure_virtual
+64 __cxa_pure_virtual
+72 __cxa_pure_virtual
+
+Class QPrintEngine
+ size=8 align=8
+ base size=8 base align=8
+QPrintEngine (0x7ffd137da620) 0 nearly-empty
+ vptr=((& QPrintEngine::_ZTV12QPrintEngine) + 16u)
+
+Class QPainter
+ size=8 align=8
+ base size=8 base align=8
+QPainter (0x7ffd137ea380) 0
+
+Class QStylePainter
+ size=24 align=8
+ base size=24 base align=8
+QStylePainter (0x7ffd135edc40) 0
+ QPainter (0x7ffd135edcb0) 0
+
+Class QPrinterInfo
+ size=8 align=8
+ base size=8 base align=8
+QPrinterInfo (0x7ffd13620230) 0
+
+Class QTextItem
+ size=1 align=1
+ base size=0 base align=1
+QTextItem (0x7ffd13623700) 0 empty
+
+Vtable for QPaintEngine
+QPaintEngine::_ZTV12QPaintEngine: 24u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QPaintEngine)
+16 QPaintEngine::~QPaintEngine
+24 QPaintEngine::~QPaintEngine
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+48 __cxa_pure_virtual
+56 QPaintEngine::drawRects
+64 QPaintEngine::drawRects
+72 QPaintEngine::drawLines
+80 QPaintEngine::drawLines
+88 QPaintEngine::drawEllipse
+96 QPaintEngine::drawEllipse
+104 QPaintEngine::drawPath
+112 QPaintEngine::drawPoints
+120 QPaintEngine::drawPoints
+128 QPaintEngine::drawPolygon
+136 QPaintEngine::drawPolygon
+144 __cxa_pure_virtual
+152 QPaintEngine::drawTextItem
+160 QPaintEngine::drawTiledPixmap
+168 QPaintEngine::drawImage
+176 QPaintEngine::coordinateOffset
+184 __cxa_pure_virtual
+
+Class QPaintEngine
+ size=32 align=8
+ base size=32 base align=8
+QPaintEngine (0x7ffd13623d20) 0
+ vptr=((& QPaintEngine::_ZTV12QPaintEngine) + 16u)
+
+Class QPaintEngineState
+ size=4 align=4
+ base size=4 base align=4
+QPaintEngineState (0x7ffd1366f7e0) 0
+
+Class QTreeWidgetItemIterator
+ size=24 align=8
+ base size=20 base align=8
+QTreeWidgetItemIterator (0x7ffd13528af0) 0
+
+Vtable for QDataWidgetMapper
+QDataWidgetMapper::_ZTV17QDataWidgetMapper: 15u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QDataWidgetMapper)
+16 QDataWidgetMapper::metaObject
+24 QDataWidgetMapper::qt_metacast
+32 QDataWidgetMapper::qt_metacall
+40 QDataWidgetMapper::~QDataWidgetMapper
+48 QDataWidgetMapper::~QDataWidgetMapper
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QDataWidgetMapper::setCurrentIndex
+
+Class QDataWidgetMapper
+ size=16 align=8
+ base size=16 base align=8
+QDataWidgetMapper (0x7ffd13583690) 0
+ vptr=((& QDataWidgetMapper::_ZTV17QDataWidgetMapper) + 16u)
+ QObject (0x7ffd13583700) 0
+ primary-for QDataWidgetMapper (0x7ffd13583690)
+
+Vtable for QFileIconProvider
+QFileIconProvider::_ZTV17QFileIconProvider: 7u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QFileIconProvider)
+16 QFileIconProvider::~QFileIconProvider
+24 QFileIconProvider::~QFileIconProvider
+32 QFileIconProvider::icon
+40 QFileIconProvider::icon
+48 QFileIconProvider::type
+
+Class QFileIconProvider
+ size=16 align=8
+ base size=16 base align=8
+QFileIconProvider (0x7ffd133bc150) 0
+ vptr=((& QFileIconProvider::_ZTV17QFileIconProvider) + 16u)
+
+Vtable for QStringListModel
+QStringListModel::_ZTV16QStringListModel: 42u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QStringListModel)
+16 QStringListModel::metaObject
+24 QStringListModel::qt_metacast
+32 QStringListModel::qt_metacall
+40 QStringListModel::~QStringListModel
+48 QStringListModel::~QStringListModel
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QAbstractListModel::index
+120 QAbstractListModel::parent
+128 QStringListModel::rowCount
+136 QAbstractListModel::columnCount
+144 QAbstractListModel::hasChildren
+152 QStringListModel::data
+160 QStringListModel::setData
+168 QAbstractItemModel::headerData
+176 QAbstractItemModel::setHeaderData
+184 QAbstractItemModel::itemData
+192 QAbstractItemModel::setItemData
+200 QAbstractItemModel::mimeTypes
+208 QAbstractItemModel::mimeData
+216 QAbstractListModel::dropMimeData
+224 QStringListModel::supportedDropActions
+232 QStringListModel::insertRows
+240 QAbstractItemModel::insertColumns
+248 QStringListModel::removeRows
+256 QAbstractItemModel::removeColumns
+264 QAbstractItemModel::fetchMore
+272 QAbstractItemModel::canFetchMore
+280 QStringListModel::flags
+288 QStringListModel::sort
+296 QAbstractItemModel::buddy
+304 QAbstractItemModel::match
+312 QAbstractItemModel::span
+320 QAbstractItemModel::submit
+328 QAbstractItemModel::revert
+
+Class QStringListModel
+ size=24 align=8
+ base size=24 base align=8
+QStringListModel (0x7ffd133bcc40) 0
+ vptr=((& QStringListModel::_ZTV16QStringListModel) + 16u)
+ QAbstractListModel (0x7ffd133bccb0) 0
+ primary-for QStringListModel (0x7ffd133bcc40)
+ QAbstractItemModel (0x7ffd133bcd20) 0
+ primary-for QAbstractListModel (0x7ffd133bccb0)
+ QObject (0x7ffd133bcd90) 0
+ primary-for QAbstractItemModel (0x7ffd133bcd20)
+
+Vtable for QListWidgetItem
+QListWidgetItem::_ZTV15QListWidgetItem: 11u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QListWidgetItem)
+16 QListWidgetItem::~QListWidgetItem
+24 QListWidgetItem::~QListWidgetItem
+32 QListWidgetItem::clone
+40 QListWidgetItem::setBackgroundColor
+48 QListWidgetItem::data
+56 QListWidgetItem::setData
+64 QListWidgetItem::operator<
+72 QListWidgetItem::read
+80 QListWidgetItem::write
+
+Class QListWidgetItem
+ size=48 align=8
+ base size=44 base align=8
+QListWidgetItem (0x7ffd133dd230) 0
+ vptr=((& QListWidgetItem::_ZTV15QListWidgetItem) + 16u)
+
+Vtable for QListWidget
+QListWidget::_ZTV11QListWidget: 107u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QListWidget)
+16 QListWidget::metaObject
+24 QListWidget::qt_metacast
+32 QListWidget::qt_metacall
+40 QListWidget::~QListWidget
+48 QListWidget::~QListWidget
+56 QListWidget::event
+64 QObject::eventFilter
+72 QListView::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QAbstractScrollArea::sizeHint
+136 QAbstractScrollArea::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QAbstractItemView::mousePressEvent
+168 QListView::mouseReleaseEvent
+176 QAbstractItemView::mouseDoubleClickEvent
+184 QListView::mouseMoveEvent
+192 QAbstractScrollArea::wheelEvent
+200 QAbstractItemView::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QAbstractItemView::focusInEvent
+224 QAbstractItemView::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QListView::paintEvent
+256 QWidget::moveEvent
+264 QListView::resizeEvent
+272 QWidget::closeEvent
+280 QAbstractScrollArea::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QAbstractItemView::dragEnterEvent
+312 QListView::dragMoveEvent
+320 QListView::dragLeaveEvent
+328 QListWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QFrame::changeEvent
+368 QWidget::metric
+376 QAbstractItemView::inputMethodEvent
+384 QAbstractItemView::inputMethodQuery
+392 QAbstractItemView::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QAbstractItemView::viewportEvent
+456 QListView::scrollContentsBy
+464 QListWidget::setModel
+472 QAbstractItemView::setSelectionModel
+480 QAbstractItemView::keyboardSearch
+488 QListView::visualRect
+496 QListView::scrollTo
+504 QListView::indexAt
+512 QAbstractItemView::sizeHintForRow
+520 QAbstractItemView::sizeHintForColumn
+528 QListView::reset
+536 QListView::setRootIndex
+544 QListView::doItemsLayout
+552 QAbstractItemView::selectAll
+560 QListView::dataChanged
+568 QListView::rowsInserted
+576 QListView::rowsAboutToBeRemoved
+584 QListView::selectionChanged
+592 QListView::currentChanged
+600 QAbstractItemView::updateEditorData
+608 QAbstractItemView::updateEditorGeometries
+616 QListView::updateGeometries
+624 QAbstractItemView::verticalScrollbarAction
+632 QAbstractItemView::horizontalScrollbarAction
+640 QAbstractItemView::verticalScrollbarValueChanged
+648 QAbstractItemView::horizontalScrollbarValueChanged
+656 QAbstractItemView::closeEditor
+664 QAbstractItemView::commitData
+672 QAbstractItemView::editorDestroyed
+680 QListView::moveCursor
+688 QListView::horizontalOffset
+696 QListView::verticalOffset
+704 QListView::isIndexHidden
+712 QListView::setSelection
+720 QListView::visualRegionForSelection
+728 QListView::selectedIndexes
+736 QAbstractItemView::edit
+744 QAbstractItemView::selectionCommand
+752 QListView::startDrag
+760 QListView::viewOptions
+768 QListWidget::mimeTypes
+776 QListWidget::mimeData
+784 QListWidget::dropMimeData
+792 QListWidget::supportedDropActions
+800 (int (*)(...))-0x00000000000000010
+808 (int (*)(...))(& _ZTI11QListWidget)
+816 QListWidget::_ZThn16_N11QListWidgetD1Ev
+824 QListWidget::_ZThn16_N11QListWidgetD0Ev
+832 QWidget::_ZThn16_NK7QWidget7devTypeEv
+840 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+848 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QListWidget
+ size=40 align=8
+ base size=40 base align=8
+QListWidget (0x7ffd134509a0) 0
+ vptr=((& QListWidget::_ZTV11QListWidget) + 16u)
+ QListView (0x7ffd13450a10) 0
+ primary-for QListWidget (0x7ffd134509a0)
+ QAbstractItemView (0x7ffd13450a80) 0
+ primary-for QListView (0x7ffd13450a10)
+ QAbstractScrollArea (0x7ffd13450af0) 0
+ primary-for QAbstractItemView (0x7ffd13450a80)
+ QFrame (0x7ffd13450b60) 0
+ primary-for QAbstractScrollArea (0x7ffd13450af0)
+ QWidget (0x7ffd1344e580) 0
+ primary-for QFrame (0x7ffd13450b60)
+ QObject (0x7ffd13450bd0) 0
+ primary-for QWidget (0x7ffd1344e580)
+ QPaintDevice (0x7ffd13450c40) 16
+ vptr=((& QListWidget::_ZTV11QListWidget) + 816u)
+
+Vtable for QDirModel
+QDirModel::_ZTV9QDirModel: 42u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QDirModel)
+16 QDirModel::metaObject
+24 QDirModel::qt_metacast
+32 QDirModel::qt_metacall
+40 QDirModel::~QDirModel
+48 QDirModel::~QDirModel
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QDirModel::index
+120 QDirModel::parent
+128 QDirModel::rowCount
+136 QDirModel::columnCount
+144 QDirModel::hasChildren
+152 QDirModel::data
+160 QDirModel::setData
+168 QDirModel::headerData
+176 QAbstractItemModel::setHeaderData
+184 QAbstractItemModel::itemData
+192 QAbstractItemModel::setItemData
+200 QDirModel::mimeTypes
+208 QDirModel::mimeData
+216 QDirModel::dropMimeData
+224 QDirModel::supportedDropActions
+232 QAbstractItemModel::insertRows
+240 QAbstractItemModel::insertColumns
+248 QAbstractItemModel::removeRows
+256 QAbstractItemModel::removeColumns
+264 QAbstractItemModel::fetchMore
+272 QAbstractItemModel::canFetchMore
+280 QDirModel::flags
+288 QDirModel::sort
+296 QAbstractItemModel::buddy
+304 QAbstractItemModel::match
+312 QAbstractItemModel::span
+320 QAbstractItemModel::submit
+328 QAbstractItemModel::revert
+
+Class QDirModel
+ size=16 align=8
+ base size=16 base align=8
+QDirModel (0x7ffd1348be00) 0
+ vptr=((& QDirModel::_ZTV9QDirModel) + 16u)
+ QAbstractItemModel (0x7ffd1348be70) 0
+ primary-for QDirModel (0x7ffd1348be00)
+ QObject (0x7ffd1348bee0) 0
+ primary-for QAbstractItemModel (0x7ffd1348be70)
+
+Vtable for QColumnView
+QColumnView::_ZTV11QColumnView: 104u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QColumnView)
+16 QColumnView::metaObject
+24 QColumnView::qt_metacast
+32 QColumnView::qt_metacall
+40 QColumnView::~QColumnView
+48 QColumnView::~QColumnView
+56 QAbstractItemView::event
+64 QObject::eventFilter
+72 QAbstractItemView::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QColumnView::sizeHint
+136 QAbstractScrollArea::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QAbstractItemView::mousePressEvent
+168 QAbstractItemView::mouseReleaseEvent
+176 QAbstractItemView::mouseDoubleClickEvent
+184 QAbstractItemView::mouseMoveEvent
+192 QAbstractScrollArea::wheelEvent
+200 QAbstractItemView::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QAbstractItemView::focusInEvent
+224 QAbstractItemView::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QAbstractScrollArea::paintEvent
+256 QWidget::moveEvent
+264 QColumnView::resizeEvent
+272 QWidget::closeEvent
+280 QAbstractScrollArea::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QAbstractItemView::dragEnterEvent
+312 QAbstractItemView::dragMoveEvent
+320 QAbstractItemView::dragLeaveEvent
+328 QAbstractItemView::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QFrame::changeEvent
+368 QWidget::metric
+376 QAbstractItemView::inputMethodEvent
+384 QAbstractItemView::inputMethodQuery
+392 QAbstractItemView::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QAbstractItemView::viewportEvent
+456 QColumnView::scrollContentsBy
+464 QColumnView::setModel
+472 QColumnView::setSelectionModel
+480 QAbstractItemView::keyboardSearch
+488 QColumnView::visualRect
+496 QColumnView::scrollTo
+504 QColumnView::indexAt
+512 QAbstractItemView::sizeHintForRow
+520 QAbstractItemView::sizeHintForColumn
+528 QAbstractItemView::reset
+536 QColumnView::setRootIndex
+544 QAbstractItemView::doItemsLayout
+552 QColumnView::selectAll
+560 QAbstractItemView::dataChanged
+568 QAbstractItemView::rowsInserted
+576 QAbstractItemView::rowsAboutToBeRemoved
+584 QAbstractItemView::selectionChanged
+592 QColumnView::currentChanged
+600 QAbstractItemView::updateEditorData
+608 QAbstractItemView::updateEditorGeometries
+616 QAbstractItemView::updateGeometries
+624 QAbstractItemView::verticalScrollbarAction
+632 QAbstractItemView::horizontalScrollbarAction
+640 QAbstractItemView::verticalScrollbarValueChanged
+648 QAbstractItemView::horizontalScrollbarValueChanged
+656 QAbstractItemView::closeEditor
+664 QAbstractItemView::commitData
+672 QAbstractItemView::editorDestroyed
+680 QColumnView::moveCursor
+688 QColumnView::horizontalOffset
+696 QColumnView::verticalOffset
+704 QColumnView::isIndexHidden
+712 QColumnView::setSelection
+720 QColumnView::visualRegionForSelection
+728 QAbstractItemView::selectedIndexes
+736 QAbstractItemView::edit
+744 QAbstractItemView::selectionCommand
+752 QAbstractItemView::startDrag
+760 QAbstractItemView::viewOptions
+768 QColumnView::createColumn
+776 (int (*)(...))-0x00000000000000010
+784 (int (*)(...))(& _ZTI11QColumnView)
+792 QColumnView::_ZThn16_N11QColumnViewD1Ev
+800 QColumnView::_ZThn16_N11QColumnViewD0Ev
+808 QWidget::_ZThn16_NK7QWidget7devTypeEv
+816 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+824 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QColumnView
+ size=40 align=8
+ base size=40 base align=8
+QColumnView (0x7ffd132b90e0) 0
+ vptr=((& QColumnView::_ZTV11QColumnView) + 16u)
+ QAbstractItemView (0x7ffd132b9150) 0
+ primary-for QColumnView (0x7ffd132b90e0)
+ QAbstractScrollArea (0x7ffd132b91c0) 0
+ primary-for QAbstractItemView (0x7ffd132b9150)
+ QFrame (0x7ffd132b9230) 0
+ primary-for QAbstractScrollArea (0x7ffd132b91c0)
+ QWidget (0x7ffd1348ed00) 0
+ primary-for QFrame (0x7ffd132b9230)
+ QObject (0x7ffd132b92a0) 0
+ primary-for QWidget (0x7ffd1348ed00)
+ QPaintDevice (0x7ffd132b9310) 16
+ vptr=((& QColumnView::_ZTV11QColumnView) + 792u)
+
+Vtable for QStandardItem
+QStandardItem::_ZTV13QStandardItem: 11u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QStandardItem)
+16 QStandardItem::~QStandardItem
+24 QStandardItem::~QStandardItem
+32 QStandardItem::data
+40 QStandardItem::setData
+48 QStandardItem::clone
+56 QStandardItem::type
+64 QStandardItem::read
+72 QStandardItem::write
+80 QStandardItem::operator<
+
+Class QStandardItem
+ size=16 align=8
+ base size=16 base align=8
+QStandardItem (0x7ffd132dd230) 0
+ vptr=((& QStandardItem::_ZTV13QStandardItem) + 16u)
+
+Vtable for QStandardItemModel
+QStandardItemModel::_ZTV18QStandardItemModel: 42u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QStandardItemModel)
+16 QStandardItemModel::metaObject
+24 QStandardItemModel::qt_metacast
+32 QStandardItemModel::qt_metacall
+40 QStandardItemModel::~QStandardItemModel
+48 QStandardItemModel::~QStandardItemModel
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QStandardItemModel::index
+120 QStandardItemModel::parent
+128 QStandardItemModel::rowCount
+136 QStandardItemModel::columnCount
+144 QStandardItemModel::hasChildren
+152 QStandardItemModel::data
+160 QStandardItemModel::setData
+168 QStandardItemModel::headerData
+176 QStandardItemModel::setHeaderData
+184 QStandardItemModel::itemData
+192 QStandardItemModel::setItemData
+200 QStandardItemModel::mimeTypes
+208 QStandardItemModel::mimeData
+216 QStandardItemModel::dropMimeData
+224 QStandardItemModel::supportedDropActions
+232 QStandardItemModel::insertRows
+240 QStandardItemModel::insertColumns
+248 QStandardItemModel::removeRows
+256 QStandardItemModel::removeColumns
+264 QAbstractItemModel::fetchMore
+272 QAbstractItemModel::canFetchMore
+280 QStandardItemModel::flags
+288 QStandardItemModel::sort
+296 QAbstractItemModel::buddy
+304 QAbstractItemModel::match
+312 QAbstractItemModel::span
+320 QAbstractItemModel::submit
+328 QAbstractItemModel::revert
+
+Class QStandardItemModel
+ size=16 align=8
+ base size=16 base align=8
+QStandardItemModel (0x7ffd131b9e00) 0
+ vptr=((& QStandardItemModel::_ZTV18QStandardItemModel) + 16u)
+ QAbstractItemModel (0x7ffd131b9e70) 0
+ primary-for QStandardItemModel (0x7ffd131b9e00)
+ QObject (0x7ffd131b9ee0) 0
+ primary-for QAbstractItemModel (0x7ffd131b9e70)
+
+Vtable for QAbstractProxyModel
+QAbstractProxyModel::_ZTV19QAbstractProxyModel: 47u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QAbstractProxyModel)
+16 QAbstractProxyModel::metaObject
+24 QAbstractProxyModel::qt_metacast
+32 QAbstractProxyModel::qt_metacall
+40 QAbstractProxyModel::~QAbstractProxyModel
+48 QAbstractProxyModel::~QAbstractProxyModel
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 __cxa_pure_virtual
+136 __cxa_pure_virtual
+144 QAbstractItemModel::hasChildren
+152 QAbstractProxyModel::data
+160 QAbstractProxyModel::setData
+168 QAbstractProxyModel::headerData
+176 QAbstractProxyModel::setHeaderData
+184 QAbstractProxyModel::itemData
+192 QAbstractItemModel::setItemData
+200 QAbstractItemModel::mimeTypes
+208 QAbstractItemModel::mimeData
+216 QAbstractItemModel::dropMimeData
+224 QAbstractItemModel::supportedDropActions
+232 QAbstractItemModel::insertRows
+240 QAbstractItemModel::insertColumns
+248 QAbstractItemModel::removeRows
+256 QAbstractItemModel::removeColumns
+264 QAbstractItemModel::fetchMore
+272 QAbstractItemModel::canFetchMore
+280 QAbstractProxyModel::flags
+288 QAbstractItemModel::sort
+296 QAbstractItemModel::buddy
+304 QAbstractItemModel::match
+312 QAbstractItemModel::span
+320 QAbstractProxyModel::submit
+328 QAbstractProxyModel::revert
+336 QAbstractProxyModel::setSourceModel
+344 __cxa_pure_virtual
+352 __cxa_pure_virtual
+360 QAbstractProxyModel::mapSelectionToSource
+368 QAbstractProxyModel::mapSelectionFromSource
+
+Class QAbstractProxyModel
+ size=16 align=8
+ base size=16 base align=8
+QAbstractProxyModel (0x7ffd131f89a0) 0
+ vptr=((& QAbstractProxyModel::_ZTV19QAbstractProxyModel) + 16u)
+ QAbstractItemModel (0x7ffd131f8a10) 0
+ primary-for QAbstractProxyModel (0x7ffd131f89a0)
+ QObject (0x7ffd131f8a80) 0
+ primary-for QAbstractItemModel (0x7ffd131f8a10)
+
+Vtable for QSortFilterProxyModel
+QSortFilterProxyModel::_ZTV21QSortFilterProxyModel: 50u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI21QSortFilterProxyModel)
+16 QSortFilterProxyModel::metaObject
+24 QSortFilterProxyModel::qt_metacast
+32 QSortFilterProxyModel::qt_metacall
+40 QSortFilterProxyModel::~QSortFilterProxyModel
+48 QSortFilterProxyModel::~QSortFilterProxyModel
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QSortFilterProxyModel::index
+120 QSortFilterProxyModel::parent
+128 QSortFilterProxyModel::rowCount
+136 QSortFilterProxyModel::columnCount
+144 QSortFilterProxyModel::hasChildren
+152 QSortFilterProxyModel::data
+160 QSortFilterProxyModel::setData
+168 QSortFilterProxyModel::headerData
+176 QSortFilterProxyModel::setHeaderData
+184 QAbstractProxyModel::itemData
+192 QAbstractItemModel::setItemData
+200 QSortFilterProxyModel::mimeTypes
+208 QSortFilterProxyModel::mimeData
+216 QSortFilterProxyModel::dropMimeData
+224 QSortFilterProxyModel::supportedDropActions
+232 QSortFilterProxyModel::insertRows
+240 QSortFilterProxyModel::insertColumns
+248 QSortFilterProxyModel::removeRows
+256 QSortFilterProxyModel::removeColumns
+264 QSortFilterProxyModel::fetchMore
+272 QSortFilterProxyModel::canFetchMore
+280 QSortFilterProxyModel::flags
+288 QSortFilterProxyModel::sort
+296 QSortFilterProxyModel::buddy
+304 QSortFilterProxyModel::match
+312 QSortFilterProxyModel::span
+320 QAbstractProxyModel::submit
+328 QAbstractProxyModel::revert
+336 QSortFilterProxyModel::setSourceModel
+344 QSortFilterProxyModel::mapToSource
+352 QSortFilterProxyModel::mapFromSource
+360 QSortFilterProxyModel::mapSelectionToSource
+368 QSortFilterProxyModel::mapSelectionFromSource
+376 QSortFilterProxyModel::filterAcceptsRow
+384 QSortFilterProxyModel::filterAcceptsColumn
+392 QSortFilterProxyModel::lessThan
+
+Class QSortFilterProxyModel
+ size=16 align=8
+ base size=16 base align=8
+QSortFilterProxyModel (0x7ffd132225b0) 0
+ vptr=((& QSortFilterProxyModel::_ZTV21QSortFilterProxyModel) + 16u)
+ QAbstractProxyModel (0x7ffd13222620) 0
+ primary-for QSortFilterProxyModel (0x7ffd132225b0)
+ QAbstractItemModel (0x7ffd13222690) 0
+ primary-for QAbstractProxyModel (0x7ffd13222620)
+ QObject (0x7ffd13222700) 0
+ primary-for QAbstractItemModel (0x7ffd13222690)
+
+Vtable for QStyledItemDelegate
+QStyledItemDelegate::_ZTV19QStyledItemDelegate: 23u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QStyledItemDelegate)
+16 QStyledItemDelegate::metaObject
+24 QStyledItemDelegate::qt_metacast
+32 QStyledItemDelegate::qt_metacall
+40 QStyledItemDelegate::~QStyledItemDelegate
+48 QStyledItemDelegate::~QStyledItemDelegate
+56 QObject::event
+64 QStyledItemDelegate::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QStyledItemDelegate::paint
+120 QStyledItemDelegate::sizeHint
+128 QStyledItemDelegate::createEditor
+136 QStyledItemDelegate::setEditorData
+144 QStyledItemDelegate::setModelData
+152 QStyledItemDelegate::updateEditorGeometry
+160 QStyledItemDelegate::editorEvent
+168 QStyledItemDelegate::displayText
+176 QStyledItemDelegate::initStyleOption
+
+Class QStyledItemDelegate
+ size=16 align=8
+ base size=16 base align=8
+QStyledItemDelegate (0x7ffd132534d0) 0
+ vptr=((& QStyledItemDelegate::_ZTV19QStyledItemDelegate) + 16u)
+ QAbstractItemDelegate (0x7ffd13253540) 0
+ primary-for QStyledItemDelegate (0x7ffd132534d0)
+ QObject (0x7ffd132535b0) 0
+ primary-for QAbstractItemDelegate (0x7ffd13253540)
+
+Vtable for QItemDelegate
+QItemDelegate::_ZTV13QItemDelegate: 25u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QItemDelegate)
+16 QItemDelegate::metaObject
+24 QItemDelegate::qt_metacast
+32 QItemDelegate::qt_metacall
+40 QItemDelegate::~QItemDelegate
+48 QItemDelegate::~QItemDelegate
+56 QObject::event
+64 QItemDelegate::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QItemDelegate::paint
+120 QItemDelegate::sizeHint
+128 QItemDelegate::createEditor
+136 QItemDelegate::setEditorData
+144 QItemDelegate::setModelData
+152 QItemDelegate::updateEditorGeometry
+160 QItemDelegate::editorEvent
+168 QItemDelegate::drawDisplay
+176 QItemDelegate::drawDecoration
+184 QItemDelegate::drawFocus
+192 QItemDelegate::drawCheck
+
+Class QItemDelegate
+ size=16 align=8
+ base size=16 base align=8
+QItemDelegate (0x7ffd13265e70) 0
+ vptr=((& QItemDelegate::_ZTV13QItemDelegate) + 16u)
+ QAbstractItemDelegate (0x7ffd13265ee0) 0
+ primary-for QItemDelegate (0x7ffd13265e70)
+ QObject (0x7ffd13265f50) 0
+ primary-for QAbstractItemDelegate (0x7ffd13265ee0)
+
+Vtable for QTableView
+QTableView::_ZTV10QTableView: 103u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QTableView)
+16 QTableView::metaObject
+24 QTableView::qt_metacast
+32 QTableView::qt_metacall
+40 QTableView::~QTableView
+48 QTableView::~QTableView
+56 QAbstractItemView::event
+64 QObject::eventFilter
+72 QTableView::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QAbstractScrollArea::sizeHint
+136 QAbstractScrollArea::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QAbstractItemView::mousePressEvent
+168 QAbstractItemView::mouseReleaseEvent
+176 QAbstractItemView::mouseDoubleClickEvent
+184 QAbstractItemView::mouseMoveEvent
+192 QAbstractScrollArea::wheelEvent
+200 QAbstractItemView::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QAbstractItemView::focusInEvent
+224 QAbstractItemView::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QTableView::paintEvent
+256 QWidget::moveEvent
+264 QAbstractItemView::resizeEvent
+272 QWidget::closeEvent
+280 QAbstractScrollArea::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QAbstractItemView::dragEnterEvent
+312 QAbstractItemView::dragMoveEvent
+320 QAbstractItemView::dragLeaveEvent
+328 QAbstractItemView::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QFrame::changeEvent
+368 QWidget::metric
+376 QAbstractItemView::inputMethodEvent
+384 QAbstractItemView::inputMethodQuery
+392 QAbstractItemView::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QAbstractItemView::viewportEvent
+456 QTableView::scrollContentsBy
+464 QTableView::setModel
+472 QTableView::setSelectionModel
+480 QAbstractItemView::keyboardSearch
+488 QTableView::visualRect
+496 QTableView::scrollTo
+504 QTableView::indexAt
+512 QTableView::sizeHintForRow
+520 QTableView::sizeHintForColumn
+528 QAbstractItemView::reset
+536 QTableView::setRootIndex
+544 QAbstractItemView::doItemsLayout
+552 QAbstractItemView::selectAll
+560 QAbstractItemView::dataChanged
+568 QAbstractItemView::rowsInserted
+576 QAbstractItemView::rowsAboutToBeRemoved
+584 QTableView::selectionChanged
+592 QTableView::currentChanged
+600 QAbstractItemView::updateEditorData
+608 QAbstractItemView::updateEditorGeometries
+616 QTableView::updateGeometries
+624 QTableView::verticalScrollbarAction
+632 QTableView::horizontalScrollbarAction
+640 QAbstractItemView::verticalScrollbarValueChanged
+648 QAbstractItemView::horizontalScrollbarValueChanged
+656 QAbstractItemView::closeEditor
+664 QAbstractItemView::commitData
+672 QAbstractItemView::editorDestroyed
+680 QTableView::moveCursor
+688 QTableView::horizontalOffset
+696 QTableView::verticalOffset
+704 QTableView::isIndexHidden
+712 QTableView::setSelection
+720 QTableView::visualRegionForSelection
+728 QTableView::selectedIndexes
+736 QAbstractItemView::edit
+744 QAbstractItemView::selectionCommand
+752 QAbstractItemView::startDrag
+760 QTableView::viewOptions
+768 (int (*)(...))-0x00000000000000010
+776 (int (*)(...))(& _ZTI10QTableView)
+784 QTableView::_ZThn16_N10QTableViewD1Ev
+792 QTableView::_ZThn16_N10QTableViewD0Ev
+800 QWidget::_ZThn16_NK7QWidget7devTypeEv
+808 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+816 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QTableView
+ size=40 align=8
+ base size=40 base align=8
+QTableView (0x7ffd1328b850) 0
+ vptr=((& QTableView::_ZTV10QTableView) + 16u)
+ QAbstractItemView (0x7ffd1328b8c0) 0
+ primary-for QTableView (0x7ffd1328b850)
+ QAbstractScrollArea (0x7ffd1328b930) 0
+ primary-for QAbstractItemView (0x7ffd1328b8c0)
+ QFrame (0x7ffd1328b9a0) 0
+ primary-for QAbstractScrollArea (0x7ffd1328b930)
+ QWidget (0x7ffd13287500) 0
+ primary-for QFrame (0x7ffd1328b9a0)
+ QObject (0x7ffd1328ba10) 0
+ primary-for QWidget (0x7ffd13287500)
+ QPaintDevice (0x7ffd1328ba80) 16
+ vptr=((& QTableView::_ZTV10QTableView) + 784u)
+
+Class QTableWidgetSelectionRange
+ size=16 align=4
+ base size=16 base align=4
+QTableWidgetSelectionRange (0x7ffd130bd620) 0
+
+Vtable for QTableWidgetItem
+QTableWidgetItem::_ZTV16QTableWidgetItem: 10u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QTableWidgetItem)
+16 QTableWidgetItem::~QTableWidgetItem
+24 QTableWidgetItem::~QTableWidgetItem
+32 QTableWidgetItem::clone
+40 QTableWidgetItem::data
+48 QTableWidgetItem::setData
+56 QTableWidgetItem::operator<
+64 QTableWidgetItem::read
+72 QTableWidgetItem::write
+
+Class QTableWidgetItem
+ size=48 align=8
+ base size=44 base align=8
+QTableWidgetItem (0x7ffd130c7af0) 0
+ vptr=((& QTableWidgetItem::_ZTV16QTableWidgetItem) + 16u)
+
+Vtable for QTableWidget
+QTableWidget::_ZTV12QTableWidget: 107u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QTableWidget)
+16 QTableWidget::metaObject
+24 QTableWidget::qt_metacast
+32 QTableWidget::qt_metacall
+40 QTableWidget::~QTableWidget
+48 QTableWidget::~QTableWidget
+56 QTableWidget::event
+64 QObject::eventFilter
+72 QTableView::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QAbstractScrollArea::sizeHint
+136 QAbstractScrollArea::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QAbstractItemView::mousePressEvent
+168 QAbstractItemView::mouseReleaseEvent
+176 QAbstractItemView::mouseDoubleClickEvent
+184 QAbstractItemView::mouseMoveEvent
+192 QAbstractScrollArea::wheelEvent
+200 QAbstractItemView::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QAbstractItemView::focusInEvent
+224 QAbstractItemView::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QTableView::paintEvent
+256 QWidget::moveEvent
+264 QAbstractItemView::resizeEvent
+272 QWidget::closeEvent
+280 QAbstractScrollArea::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QAbstractItemView::dragEnterEvent
+312 QAbstractItemView::dragMoveEvent
+320 QAbstractItemView::dragLeaveEvent
+328 QTableWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QFrame::changeEvent
+368 QWidget::metric
+376 QAbstractItemView::inputMethodEvent
+384 QAbstractItemView::inputMethodQuery
+392 QAbstractItemView::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QAbstractItemView::viewportEvent
+456 QTableView::scrollContentsBy
+464 QTableWidget::setModel
+472 QTableView::setSelectionModel
+480 QAbstractItemView::keyboardSearch
+488 QTableView::visualRect
+496 QTableView::scrollTo
+504 QTableView::indexAt
+512 QTableView::sizeHintForRow
+520 QTableView::sizeHintForColumn
+528 QAbstractItemView::reset
+536 QTableView::setRootIndex
+544 QAbstractItemView::doItemsLayout
+552 QAbstractItemView::selectAll
+560 QAbstractItemView::dataChanged
+568 QAbstractItemView::rowsInserted
+576 QAbstractItemView::rowsAboutToBeRemoved
+584 QTableView::selectionChanged
+592 QTableView::currentChanged
+600 QAbstractItemView::updateEditorData
+608 QAbstractItemView::updateEditorGeometries
+616 QTableView::updateGeometries
+624 QTableView::verticalScrollbarAction
+632 QTableView::horizontalScrollbarAction
+640 QAbstractItemView::verticalScrollbarValueChanged
+648 QAbstractItemView::horizontalScrollbarValueChanged
+656 QAbstractItemView::closeEditor
+664 QAbstractItemView::commitData
+672 QAbstractItemView::editorDestroyed
+680 QTableView::moveCursor
+688 QTableView::horizontalOffset
+696 QTableView::verticalOffset
+704 QTableView::isIndexHidden
+712 QTableView::setSelection
+720 QTableView::visualRegionForSelection
+728 QTableView::selectedIndexes
+736 QAbstractItemView::edit
+744 QAbstractItemView::selectionCommand
+752 QAbstractItemView::startDrag
+760 QTableView::viewOptions
+768 QTableWidget::mimeTypes
+776 QTableWidget::mimeData
+784 QTableWidget::dropMimeData
+792 QTableWidget::supportedDropActions
+800 (int (*)(...))-0x00000000000000010
+808 (int (*)(...))(& _ZTI12QTableWidget)
+816 QTableWidget::_ZThn16_N12QTableWidgetD1Ev
+824 QTableWidget::_ZThn16_N12QTableWidgetD0Ev
+832 QWidget::_ZThn16_NK7QWidget7devTypeEv
+840 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+848 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QTableWidget
+ size=40 align=8
+ base size=40 base align=8
+QTableWidget (0x7ffd1313c0e0) 0
+ vptr=((& QTableWidget::_ZTV12QTableWidget) + 16u)
+ QTableView (0x7ffd1313c150) 0
+ primary-for QTableWidget (0x7ffd1313c0e0)
+ QAbstractItemView (0x7ffd1313c1c0) 0
+ primary-for QTableView (0x7ffd1313c150)
+ QAbstractScrollArea (0x7ffd1313c230) 0
+ primary-for QAbstractItemView (0x7ffd1313c1c0)
+ QFrame (0x7ffd1313c2a0) 0
+ primary-for QAbstractScrollArea (0x7ffd1313c230)
+ QWidget (0x7ffd13137580) 0
+ primary-for QFrame (0x7ffd1313c2a0)
+ QObject (0x7ffd1313c310) 0
+ primary-for QWidget (0x7ffd13137580)
+ QPaintDevice (0x7ffd1313c380) 16
+ vptr=((& QTableWidget::_ZTV12QTableWidget) + 816u)
+
+Vtable for QTreeView
+QTreeView::_ZTV9QTreeView: 105u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QTreeView)
+16 QTreeView::metaObject
+24 QTreeView::qt_metacast
+32 QTreeView::qt_metacall
+40 QTreeView::~QTreeView
+48 QTreeView::~QTreeView
+56 QAbstractItemView::event
+64 QObject::eventFilter
+72 QTreeView::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QAbstractScrollArea::sizeHint
+136 QAbstractScrollArea::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QTreeView::mousePressEvent
+168 QTreeView::mouseReleaseEvent
+176 QTreeView::mouseDoubleClickEvent
+184 QTreeView::mouseMoveEvent
+192 QAbstractScrollArea::wheelEvent
+200 QTreeView::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QAbstractItemView::focusInEvent
+224 QAbstractItemView::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QTreeView::paintEvent
+256 QWidget::moveEvent
+264 QAbstractItemView::resizeEvent
+272 QWidget::closeEvent
+280 QAbstractScrollArea::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QAbstractItemView::dragEnterEvent
+312 QTreeView::dragMoveEvent
+320 QAbstractItemView::dragLeaveEvent
+328 QAbstractItemView::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QFrame::changeEvent
+368 QWidget::metric
+376 QAbstractItemView::inputMethodEvent
+384 QAbstractItemView::inputMethodQuery
+392 QAbstractItemView::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QTreeView::viewportEvent
+456 QTreeView::scrollContentsBy
+464 QTreeView::setModel
+472 QTreeView::setSelectionModel
+480 QTreeView::keyboardSearch
+488 QTreeView::visualRect
+496 QTreeView::scrollTo
+504 QTreeView::indexAt
+512 QAbstractItemView::sizeHintForRow
+520 QTreeView::sizeHintForColumn
+528 QTreeView::reset
+536 QTreeView::setRootIndex
+544 QTreeView::doItemsLayout
+552 QTreeView::selectAll
+560 QTreeView::dataChanged
+568 QTreeView::rowsInserted
+576 QTreeView::rowsAboutToBeRemoved
+584 QTreeView::selectionChanged
+592 QTreeView::currentChanged
+600 QAbstractItemView::updateEditorData
+608 QAbstractItemView::updateEditorGeometries
+616 QTreeView::updateGeometries
+624 QAbstractItemView::verticalScrollbarAction
+632 QTreeView::horizontalScrollbarAction
+640 QAbstractItemView::verticalScrollbarValueChanged
+648 QAbstractItemView::horizontalScrollbarValueChanged
+656 QAbstractItemView::closeEditor
+664 QAbstractItemView::commitData
+672 QAbstractItemView::editorDestroyed
+680 QTreeView::moveCursor
+688 QTreeView::horizontalOffset
+696 QTreeView::verticalOffset
+704 QTreeView::isIndexHidden
+712 QTreeView::setSelection
+720 QTreeView::visualRegionForSelection
+728 QTreeView::selectedIndexes
+736 QAbstractItemView::edit
+744 QAbstractItemView::selectionCommand
+752 QAbstractItemView::startDrag
+760 QAbstractItemView::viewOptions
+768 QTreeView::drawRow
+776 QTreeView::drawBranches
+784 (int (*)(...))-0x00000000000000010
+792 (int (*)(...))(& _ZTI9QTreeView)
+800 QTreeView::_ZThn16_N9QTreeViewD1Ev
+808 QTreeView::_ZThn16_N9QTreeViewD0Ev
+816 QWidget::_ZThn16_NK7QWidget7devTypeEv
+824 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+832 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QTreeView
+ size=40 align=8
+ base size=40 base align=8
+QTreeView (0x7ffd1317b070) 0
+ vptr=((& QTreeView::_ZTV9QTreeView) + 16u)
+ QAbstractItemView (0x7ffd1317b0e0) 0
+ primary-for QTreeView (0x7ffd1317b070)
+ QAbstractScrollArea (0x7ffd1317b150) 0
+ primary-for QAbstractItemView (0x7ffd1317b0e0)
+ QFrame (0x7ffd1317b1c0) 0
+ primary-for QAbstractScrollArea (0x7ffd1317b150)
+ QWidget (0x7ffd13175e00) 0
+ primary-for QFrame (0x7ffd1317b1c0)
+ QObject (0x7ffd1317b230) 0
+ primary-for QWidget (0x7ffd13175e00)
+ QPaintDevice (0x7ffd1317b2a0) 16
+ vptr=((& QTreeView::_ZTV9QTreeView) + 800u)
+
+Vtable for QProxyModel
+QProxyModel::_ZTV11QProxyModel: 43u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QProxyModel)
+16 QProxyModel::metaObject
+24 QProxyModel::qt_metacast
+32 QProxyModel::qt_metacall
+40 QProxyModel::~QProxyModel
+48 QProxyModel::~QProxyModel
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QProxyModel::index
+120 QProxyModel::parent
+128 QProxyModel::rowCount
+136 QProxyModel::columnCount
+144 QProxyModel::hasChildren
+152 QProxyModel::data
+160 QProxyModel::setData
+168 QProxyModel::headerData
+176 QProxyModel::setHeaderData
+184 QAbstractItemModel::itemData
+192 QAbstractItemModel::setItemData
+200 QProxyModel::mimeTypes
+208 QProxyModel::mimeData
+216 QProxyModel::dropMimeData
+224 QProxyModel::supportedDropActions
+232 QProxyModel::insertRows
+240 QProxyModel::insertColumns
+248 QAbstractItemModel::removeRows
+256 QAbstractItemModel::removeColumns
+264 QProxyModel::fetchMore
+272 QAbstractItemModel::canFetchMore
+280 QProxyModel::flags
+288 QProxyModel::sort
+296 QAbstractItemModel::buddy
+304 QProxyModel::match
+312 QProxyModel::span
+320 QProxyModel::submit
+328 QProxyModel::revert
+336 QProxyModel::setModel
+
+Class QProxyModel
+ size=16 align=8
+ base size=16 base align=8
+QProxyModel (0x7ffd12f9ee00) 0
+ vptr=((& QProxyModel::_ZTV11QProxyModel) + 16u)
+ QAbstractItemModel (0x7ffd12f9ee70) 0
+ primary-for QProxyModel (0x7ffd12f9ee00)
+ QObject (0x7ffd12f9eee0) 0
+ primary-for QAbstractItemModel (0x7ffd12f9ee70)
+
+Vtable for QHeaderView
+QHeaderView::_ZTV11QHeaderView: 105u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QHeaderView)
+16 QHeaderView::metaObject
+24 QHeaderView::qt_metacast
+32 QHeaderView::qt_metacall
+40 QHeaderView::~QHeaderView
+48 QHeaderView::~QHeaderView
+56 QHeaderView::event
+64 QObject::eventFilter
+72 QAbstractItemView::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QHeaderView::sizeHint
+136 QAbstractScrollArea::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QHeaderView::mousePressEvent
+168 QHeaderView::mouseReleaseEvent
+176 QHeaderView::mouseDoubleClickEvent
+184 QHeaderView::mouseMoveEvent
+192 QAbstractScrollArea::wheelEvent
+200 QAbstractItemView::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QAbstractItemView::focusInEvent
+224 QAbstractItemView::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QHeaderView::paintEvent
+256 QWidget::moveEvent
+264 QAbstractItemView::resizeEvent
+272 QWidget::closeEvent
+280 QAbstractScrollArea::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QAbstractItemView::dragEnterEvent
+312 QAbstractItemView::dragMoveEvent
+320 QAbstractItemView::dragLeaveEvent
+328 QAbstractItemView::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QFrame::changeEvent
+368 QWidget::metric
+376 QAbstractItemView::inputMethodEvent
+384 QAbstractItemView::inputMethodQuery
+392 QAbstractItemView::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QHeaderView::viewportEvent
+456 QHeaderView::scrollContentsBy
+464 QHeaderView::setModel
+472 QAbstractItemView::setSelectionModel
+480 QAbstractItemView::keyboardSearch
+488 QHeaderView::visualRect
+496 QHeaderView::scrollTo
+504 QHeaderView::indexAt
+512 QAbstractItemView::sizeHintForRow
+520 QAbstractItemView::sizeHintForColumn
+528 QHeaderView::reset
+536 QAbstractItemView::setRootIndex
+544 QHeaderView::doItemsLayout
+552 QAbstractItemView::selectAll
+560 QHeaderView::dataChanged
+568 QHeaderView::rowsInserted
+576 QAbstractItemView::rowsAboutToBeRemoved
+584 QAbstractItemView::selectionChanged
+592 QHeaderView::currentChanged
+600 QAbstractItemView::updateEditorData
+608 QAbstractItemView::updateEditorGeometries
+616 QHeaderView::updateGeometries
+624 QAbstractItemView::verticalScrollbarAction
+632 QAbstractItemView::horizontalScrollbarAction
+640 QAbstractItemView::verticalScrollbarValueChanged
+648 QAbstractItemView::horizontalScrollbarValueChanged
+656 QAbstractItemView::closeEditor
+664 QAbstractItemView::commitData
+672 QAbstractItemView::editorDestroyed
+680 QHeaderView::moveCursor
+688 QHeaderView::horizontalOffset
+696 QHeaderView::verticalOffset
+704 QHeaderView::isIndexHidden
+712 QHeaderView::setSelection
+720 QHeaderView::visualRegionForSelection
+728 QAbstractItemView::selectedIndexes
+736 QAbstractItemView::edit
+744 QAbstractItemView::selectionCommand
+752 QAbstractItemView::startDrag
+760 QAbstractItemView::viewOptions
+768 QHeaderView::paintSection
+776 QHeaderView::sectionSizeFromContents
+784 (int (*)(...))-0x00000000000000010
+792 (int (*)(...))(& _ZTI11QHeaderView)
+800 QHeaderView::_ZThn16_N11QHeaderViewD1Ev
+808 QHeaderView::_ZThn16_N11QHeaderViewD0Ev
+816 QWidget::_ZThn16_NK7QWidget7devTypeEv
+824 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+832 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QHeaderView
+ size=40 align=8
+ base size=40 base align=8
+QHeaderView (0x7ffd12fc3cb0) 0
+ vptr=((& QHeaderView::_ZTV11QHeaderView) + 16u)
+ QAbstractItemView (0x7ffd12fc3d20) 0
+ primary-for QHeaderView (0x7ffd12fc3cb0)
+ QAbstractScrollArea (0x7ffd12fc3d90) 0
+ primary-for QAbstractItemView (0x7ffd12fc3d20)
+ QFrame (0x7ffd12fc3e00) 0
+ primary-for QAbstractScrollArea (0x7ffd12fc3d90)
+ QWidget (0x7ffd12f99f80) 0
+ primary-for QFrame (0x7ffd12fc3e00)
+ QObject (0x7ffd12fc3e70) 0
+ primary-for QWidget (0x7ffd12f99f80)
+ QPaintDevice (0x7ffd12fc3ee0) 16
+ vptr=((& QHeaderView::_ZTV11QHeaderView) + 800u)
+
+Vtable for QItemEditorCreatorBase
+QItemEditorCreatorBase::_ZTV22QItemEditorCreatorBase: 6u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI22QItemEditorCreatorBase)
+16 QItemEditorCreatorBase::~QItemEditorCreatorBase
+24 QItemEditorCreatorBase::~QItemEditorCreatorBase
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+
+Class QItemEditorCreatorBase
+ size=8 align=8
+ base size=8 base align=8
+QItemEditorCreatorBase (0x7ffd130058c0) 0 nearly-empty
+ vptr=((& QItemEditorCreatorBase::_ZTV22QItemEditorCreatorBase) + 16u)
+
+Vtable for QItemEditorFactory
+QItemEditorFactory::_ZTV18QItemEditorFactory: 6u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QItemEditorFactory)
+16 QItemEditorFactory::~QItemEditorFactory
+24 QItemEditorFactory::~QItemEditorFactory
+32 QItemEditorFactory::createEditor
+40 QItemEditorFactory::valuePropertyName
+
+Class QItemEditorFactory
+ size=16 align=8
+ base size=16 base align=8
+QItemEditorFactory (0x7ffd13010770) 0
+ vptr=((& QItemEditorFactory::_ZTV18QItemEditorFactory) + 16u)
+
+Vtable for QTreeWidgetItem
+QTreeWidgetItem::_ZTV15QTreeWidgetItem: 10u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QTreeWidgetItem)
+16 QTreeWidgetItem::~QTreeWidgetItem
+24 QTreeWidgetItem::~QTreeWidgetItem
+32 QTreeWidgetItem::clone
+40 QTreeWidgetItem::data
+48 QTreeWidgetItem::setData
+56 QTreeWidgetItem::operator<
+64 QTreeWidgetItem::read
+72 QTreeWidgetItem::write
+
+Class QTreeWidgetItem
+ size=64 align=8
+ base size=60 base align=8
+QTreeWidgetItem (0x7ffd1301ca10) 0
+ vptr=((& QTreeWidgetItem::_ZTV15QTreeWidgetItem) + 16u)
+
+Vtable for QTreeWidget
+QTreeWidget::_ZTV11QTreeWidget: 109u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QTreeWidget)
+16 QTreeWidget::metaObject
+24 QTreeWidget::qt_metacast
+32 QTreeWidget::qt_metacall
+40 QTreeWidget::~QTreeWidget
+48 QTreeWidget::~QTreeWidget
+56 QTreeWidget::event
+64 QObject::eventFilter
+72 QTreeView::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QAbstractScrollArea::sizeHint
+136 QAbstractScrollArea::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QTreeView::mousePressEvent
+168 QTreeView::mouseReleaseEvent
+176 QTreeView::mouseDoubleClickEvent
+184 QTreeView::mouseMoveEvent
+192 QAbstractScrollArea::wheelEvent
+200 QTreeView::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QAbstractItemView::focusInEvent
+224 QAbstractItemView::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QTreeView::paintEvent
+256 QWidget::moveEvent
+264 QAbstractItemView::resizeEvent
+272 QWidget::closeEvent
+280 QAbstractScrollArea::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QAbstractItemView::dragEnterEvent
+312 QTreeView::dragMoveEvent
+320 QAbstractItemView::dragLeaveEvent
+328 QTreeWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QFrame::changeEvent
+368 QWidget::metric
+376 QAbstractItemView::inputMethodEvent
+384 QAbstractItemView::inputMethodQuery
+392 QAbstractItemView::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QTreeView::viewportEvent
+456 QTreeView::scrollContentsBy
+464 QTreeWidget::setModel
+472 QTreeWidget::setSelectionModel
+480 QTreeView::keyboardSearch
+488 QTreeView::visualRect
+496 QTreeView::scrollTo
+504 QTreeView::indexAt
+512 QAbstractItemView::sizeHintForRow
+520 QTreeView::sizeHintForColumn
+528 QTreeView::reset
+536 QTreeView::setRootIndex
+544 QTreeView::doItemsLayout
+552 QTreeView::selectAll
+560 QTreeView::dataChanged
+568 QTreeView::rowsInserted
+576 QTreeView::rowsAboutToBeRemoved
+584 QTreeView::selectionChanged
+592 QTreeView::currentChanged
+600 QAbstractItemView::updateEditorData
+608 QAbstractItemView::updateEditorGeometries
+616 QTreeView::updateGeometries
+624 QAbstractItemView::verticalScrollbarAction
+632 QTreeView::horizontalScrollbarAction
+640 QAbstractItemView::verticalScrollbarValueChanged
+648 QAbstractItemView::horizontalScrollbarValueChanged
+656 QAbstractItemView::closeEditor
+664 QAbstractItemView::commitData
+672 QAbstractItemView::editorDestroyed
+680 QTreeView::moveCursor
+688 QTreeView::horizontalOffset
+696 QTreeView::verticalOffset
+704 QTreeView::isIndexHidden
+712 QTreeView::setSelection
+720 QTreeView::visualRegionForSelection
+728 QTreeView::selectedIndexes
+736 QAbstractItemView::edit
+744 QAbstractItemView::selectionCommand
+752 QAbstractItemView::startDrag
+760 QAbstractItemView::viewOptions
+768 QTreeView::drawRow
+776 QTreeView::drawBranches
+784 QTreeWidget::mimeTypes
+792 QTreeWidget::mimeData
+800 QTreeWidget::dropMimeData
+808 QTreeWidget::supportedDropActions
+816 (int (*)(...))-0x00000000000000010
+824 (int (*)(...))(& _ZTI11QTreeWidget)
+832 QTreeWidget::_ZThn16_N11QTreeWidgetD1Ev
+840 QTreeWidget::_ZThn16_N11QTreeWidgetD0Ev
+848 QWidget::_ZThn16_NK7QWidget7devTypeEv
+856 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+864 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QTreeWidget
+ size=40 align=8
+ base size=40 base align=8
+QTreeWidget (0x7ffd12ee4f50) 0
+ vptr=((& QTreeWidget::_ZTV11QTreeWidget) + 16u)
+ QTreeView (0x7ffd12eec000) 0
+ primary-for QTreeWidget (0x7ffd12ee4f50)
+ QAbstractItemView (0x7ffd12eec070) 0
+ primary-for QTreeView (0x7ffd12eec000)
+ QAbstractScrollArea (0x7ffd12eec0e0) 0
+ primary-for QAbstractItemView (0x7ffd12eec070)
+ QFrame (0x7ffd12eec150) 0
+ primary-for QAbstractScrollArea (0x7ffd12eec0e0)
+ QWidget (0x7ffd12edde00) 0
+ primary-for QFrame (0x7ffd12eec150)
+ QObject (0x7ffd12eec1c0) 0
+ primary-for QWidget (0x7ffd12edde00)
+ QPaintDevice (0x7ffd12eec230) 16
+ vptr=((& QTreeWidget::_ZTV11QTreeWidget) + 832u)
+
+Vtable for QAccessibleBridge
+QAccessibleBridge::_ZTV17QAccessibleBridge: 6u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QAccessibleBridge)
+16 QAccessibleBridge::~QAccessibleBridge
+24 QAccessibleBridge::~QAccessibleBridge
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+
+Class QAccessibleBridge
+ size=8 align=8
+ base size=8 base align=8
+QAccessibleBridge (0x7ffd12f4d310) 0 nearly-empty
+ vptr=((& QAccessibleBridge::_ZTV17QAccessibleBridge) + 16u)
+
+Vtable for QAccessibleBridgeFactoryInterface
+QAccessibleBridgeFactoryInterface::_ZTV33QAccessibleBridgeFactoryInterface: 6u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI33QAccessibleBridgeFactoryInterface)
+16 QAccessibleBridgeFactoryInterface::~QAccessibleBridgeFactoryInterface
+24 QAccessibleBridgeFactoryInterface::~QAccessibleBridgeFactoryInterface
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+
+Class QAccessibleBridgeFactoryInterface
+ size=8 align=8
+ base size=8 base align=8
+QAccessibleBridgeFactoryInterface (0x7ffd12f4dd90) 0 nearly-empty
+ vptr=((& QAccessibleBridgeFactoryInterface::_ZTV33QAccessibleBridgeFactoryInterface) + 16u)
+ QFactoryInterface (0x7ffd12f4de00) 0 nearly-empty
+ primary-for QAccessibleBridgeFactoryInterface (0x7ffd12f4dd90)
+
+Vtable for QAccessibleBridgePlugin
+QAccessibleBridgePlugin::_ZTV23QAccessibleBridgePlugin: 22u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI23QAccessibleBridgePlugin)
+16 QAccessibleBridgePlugin::metaObject
+24 QAccessibleBridgePlugin::qt_metacast
+32 QAccessibleBridgePlugin::qt_metacall
+40 QAccessibleBridgePlugin::~QAccessibleBridgePlugin
+48 QAccessibleBridgePlugin::~QAccessibleBridgePlugin
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 (int (*)(...))-0x00000000000000010
+136 (int (*)(...))(& _ZTI23QAccessibleBridgePlugin)
+144 QAccessibleBridgePlugin::_ZThn16_N23QAccessibleBridgePluginD1Ev
+152 QAccessibleBridgePlugin::_ZThn16_N23QAccessibleBridgePluginD0Ev
+160 __cxa_pure_virtual
+168 __cxa_pure_virtual
+
+Class QAccessibleBridgePlugin
+ size=24 align=8
+ base size=24 base align=8
+QAccessibleBridgePlugin (0x7ffd12f5c500) 0
+ vptr=((& QAccessibleBridgePlugin::_ZTV23QAccessibleBridgePlugin) + 16u)
+ QObject (0x7ffd12f5d5b0) 0
+ primary-for QAccessibleBridgePlugin (0x7ffd12f5c500)
+ QAccessibleBridgeFactoryInterface (0x7ffd12f5d620) 16 nearly-empty
+ vptr=((& QAccessibleBridgePlugin::_ZTV23QAccessibleBridgePlugin) + 144u)
+ QFactoryInterface (0x7ffd12f5d690) 16 nearly-empty
+ primary-for QAccessibleBridgeFactoryInterface (0x7ffd12f5d620)
+
+Class QAccessible
+ size=1 align=1
+ base size=0 base align=1
+QAccessible (0x7ffd12f6f540) 0 empty
+
+Vtable for QAccessibleInterface
+QAccessibleInterface::_ZTV20QAccessibleInterface: 19u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI20QAccessibleInterface)
+16 QAccessibleInterface::~QAccessibleInterface
+24 QAccessibleInterface::~QAccessibleInterface
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+48 __cxa_pure_virtual
+56 __cxa_pure_virtual
+64 __cxa_pure_virtual
+72 __cxa_pure_virtual
+80 __cxa_pure_virtual
+88 __cxa_pure_virtual
+96 __cxa_pure_virtual
+104 __cxa_pure_virtual
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 __cxa_pure_virtual
+136 __cxa_pure_virtual
+144 __cxa_pure_virtual
+
+Class QAccessibleInterface
+ size=8 align=8
+ base size=8 base align=8
+QAccessibleInterface (0x7ffd12e10700) 0 nearly-empty
+ vptr=((& QAccessibleInterface::_ZTV20QAccessibleInterface) + 16u)
+ QAccessible (0x7ffd12e10770) 0 empty
+
+Vtable for QAccessibleInterfaceEx
+QAccessibleInterfaceEx::_ZTV22QAccessibleInterfaceEx: 22u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI22QAccessibleInterfaceEx)
+16 QAccessibleInterfaceEx::~QAccessibleInterfaceEx
+24 QAccessibleInterfaceEx::~QAccessibleInterfaceEx
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+48 __cxa_pure_virtual
+56 __cxa_pure_virtual
+64 __cxa_pure_virtual
+72 __cxa_pure_virtual
+80 __cxa_pure_virtual
+88 __cxa_pure_virtual
+96 __cxa_pure_virtual
+104 __cxa_pure_virtual
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 __cxa_pure_virtual
+136 __cxa_pure_virtual
+144 __cxa_pure_virtual
+152 __cxa_pure_virtual
+160 QAccessibleInterfaceEx::virtual_hook
+168 QAccessibleInterfaceEx::interface_cast
+
+Class QAccessibleInterfaceEx
+ size=8 align=8
+ base size=8 base align=8
+QAccessibleInterfaceEx (0x7ffd12e6d000) 0 nearly-empty
+ vptr=((& QAccessibleInterfaceEx::_ZTV22QAccessibleInterfaceEx) + 16u)
+ QAccessibleInterface (0x7ffd12e6d070) 0 nearly-empty
+ primary-for QAccessibleInterfaceEx (0x7ffd12e6d000)
+ QAccessible (0x7ffd12e6d0e0) 0 empty
+
+Vtable for QAccessibleEvent
+QAccessibleEvent::_ZTV16QAccessibleEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QAccessibleEvent)
+16 QAccessibleEvent::~QAccessibleEvent
+24 QAccessibleEvent::~QAccessibleEvent
+
+Class QAccessibleEvent
+ size=32 align=8
+ base size=32 base align=8
+QAccessibleEvent (0x7ffd12e6d380) 0
+ vptr=((& QAccessibleEvent::_ZTV16QAccessibleEvent) + 16u)
+ QEvent (0x7ffd12e6d3f0) 0
+ primary-for QAccessibleEvent (0x7ffd12e6d380)
+
+Vtable for QAccessibleObject
+QAccessibleObject::_ZTV17QAccessibleObject: 19u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QAccessibleObject)
+16 QAccessibleObject::~QAccessibleObject
+24 QAccessibleObject::~QAccessibleObject
+32 QAccessibleObject::isValid
+40 QAccessibleObject::object
+48 __cxa_pure_virtual
+56 __cxa_pure_virtual
+64 __cxa_pure_virtual
+72 __cxa_pure_virtual
+80 __cxa_pure_virtual
+88 __cxa_pure_virtual
+96 QAccessibleObject::setText
+104 QAccessibleObject::rect
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 QAccessibleObject::userActionCount
+136 QAccessibleObject::actionText
+144 QAccessibleObject::doAction
+
+Class QAccessibleObject
+ size=16 align=8
+ base size=16 base align=8
+QAccessibleObject (0x7ffd12e85230) 0
+ vptr=((& QAccessibleObject::_ZTV17QAccessibleObject) + 16u)
+ QAccessibleInterface (0x7ffd12e852a0) 0 nearly-empty
+ primary-for QAccessibleObject (0x7ffd12e85230)
+ QAccessible (0x7ffd12e85310) 0 empty
+
+Vtable for QAccessibleObjectEx
+QAccessibleObjectEx::_ZTV19QAccessibleObjectEx: 22u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QAccessibleObjectEx)
+16 QAccessibleObjectEx::~QAccessibleObjectEx
+24 QAccessibleObjectEx::~QAccessibleObjectEx
+32 QAccessibleObjectEx::isValid
+40 QAccessibleObjectEx::object
+48 __cxa_pure_virtual
+56 __cxa_pure_virtual
+64 __cxa_pure_virtual
+72 __cxa_pure_virtual
+80 __cxa_pure_virtual
+88 __cxa_pure_virtual
+96 QAccessibleObjectEx::setText
+104 QAccessibleObjectEx::rect
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 QAccessibleObjectEx::userActionCount
+136 QAccessibleObjectEx::actionText
+144 QAccessibleObjectEx::doAction
+152 __cxa_pure_virtual
+160 QAccessibleInterfaceEx::virtual_hook
+168 QAccessibleInterfaceEx::interface_cast
+
+Class QAccessibleObjectEx
+ size=16 align=8
+ base size=16 base align=8
+QAccessibleObjectEx (0x7ffd12e85a10) 0
+ vptr=((& QAccessibleObjectEx::_ZTV19QAccessibleObjectEx) + 16u)
+ QAccessibleInterfaceEx (0x7ffd12e85a80) 0 nearly-empty
+ primary-for QAccessibleObjectEx (0x7ffd12e85a10)
+ QAccessibleInterface (0x7ffd12e85af0) 0 nearly-empty
+ primary-for QAccessibleInterfaceEx (0x7ffd12e85a80)
+ QAccessible (0x7ffd12e85b60) 0 empty
+
+Vtable for QAccessibleApplication
+QAccessibleApplication::_ZTV22QAccessibleApplication: 19u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI22QAccessibleApplication)
+16 QAccessibleApplication::~QAccessibleApplication
+24 QAccessibleApplication::~QAccessibleApplication
+32 QAccessibleObject::isValid
+40 QAccessibleObject::object
+48 QAccessibleApplication::childCount
+56 QAccessibleApplication::indexOfChild
+64 QAccessibleApplication::relationTo
+72 QAccessibleApplication::childAt
+80 QAccessibleApplication::navigate
+88 QAccessibleApplication::text
+96 QAccessibleObject::setText
+104 QAccessibleObject::rect
+112 QAccessibleApplication::role
+120 QAccessibleApplication::state
+128 QAccessibleApplication::userActionCount
+136 QAccessibleApplication::actionText
+144 QAccessibleApplication::doAction
+
+Class QAccessibleApplication
+ size=16 align=8
+ base size=16 base align=8
+QAccessibleApplication (0x7ffd12c97230) 0
+ vptr=((& QAccessibleApplication::_ZTV22QAccessibleApplication) + 16u)
+ QAccessibleObject (0x7ffd12c972a0) 0
+ primary-for QAccessibleApplication (0x7ffd12c97230)
+ QAccessibleInterface (0x7ffd12c97310) 0 nearly-empty
+ primary-for QAccessibleObject (0x7ffd12c972a0)
+ QAccessible (0x7ffd12c97380) 0 empty
+
+Vtable for QAccessibleWidget
+QAccessibleWidget::_ZTV17QAccessibleWidget: 19u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QAccessibleWidget)
+16 QAccessibleWidget::~QAccessibleWidget
+24 QAccessibleWidget::~QAccessibleWidget
+32 QAccessibleObject::isValid
+40 QAccessibleObject::object
+48 QAccessibleWidget::childCount
+56 QAccessibleWidget::indexOfChild
+64 QAccessibleWidget::relationTo
+72 QAccessibleWidget::childAt
+80 QAccessibleWidget::navigate
+88 QAccessibleWidget::text
+96 QAccessibleObject::setText
+104 QAccessibleWidget::rect
+112 QAccessibleWidget::role
+120 QAccessibleWidget::state
+128 QAccessibleWidget::userActionCount
+136 QAccessibleWidget::actionText
+144 QAccessibleWidget::doAction
+
+Class QAccessibleWidget
+ size=24 align=8
+ base size=24 base align=8
+QAccessibleWidget (0x7ffd12c97c40) 0
+ vptr=((& QAccessibleWidget::_ZTV17QAccessibleWidget) + 16u)
+ QAccessibleObject (0x7ffd12c97cb0) 0
+ primary-for QAccessibleWidget (0x7ffd12c97c40)
+ QAccessibleInterface (0x7ffd12c97d20) 0 nearly-empty
+ primary-for QAccessibleObject (0x7ffd12c97cb0)
+ QAccessible (0x7ffd12c97d90) 0 empty
+
+Vtable for QAccessibleWidgetEx
+QAccessibleWidgetEx::_ZTV19QAccessibleWidgetEx: 22u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QAccessibleWidgetEx)
+16 QAccessibleWidgetEx::~QAccessibleWidgetEx
+24 QAccessibleWidgetEx::~QAccessibleWidgetEx
+32 QAccessibleObjectEx::isValid
+40 QAccessibleObjectEx::object
+48 QAccessibleWidgetEx::childCount
+56 QAccessibleWidgetEx::indexOfChild
+64 QAccessibleWidgetEx::relationTo
+72 QAccessibleWidgetEx::childAt
+80 QAccessibleWidgetEx::navigate
+88 QAccessibleWidgetEx::text
+96 QAccessibleObjectEx::setText
+104 QAccessibleWidgetEx::rect
+112 QAccessibleWidgetEx::role
+120 QAccessibleWidgetEx::state
+128 QAccessibleObjectEx::userActionCount
+136 QAccessibleWidgetEx::actionText
+144 QAccessibleWidgetEx::doAction
+152 QAccessibleWidgetEx::invokeMethodEx
+160 QAccessibleInterfaceEx::virtual_hook
+168 QAccessibleInterfaceEx::interface_cast
+
+Class QAccessibleWidgetEx
+ size=24 align=8
+ base size=24 base align=8
+QAccessibleWidgetEx (0x7ffd12ca5c40) 0
+ vptr=((& QAccessibleWidgetEx::_ZTV19QAccessibleWidgetEx) + 16u)
+ QAccessibleObjectEx (0x7ffd12ca5cb0) 0
+ primary-for QAccessibleWidgetEx (0x7ffd12ca5c40)
+ QAccessibleInterfaceEx (0x7ffd12ca5d20) 0 nearly-empty
+ primary-for QAccessibleObjectEx (0x7ffd12ca5cb0)
+ QAccessibleInterface (0x7ffd12ca5d90) 0 nearly-empty
+ primary-for QAccessibleInterfaceEx (0x7ffd12ca5d20)
+ QAccessible (0x7ffd12ca5e00) 0 empty
+
+Vtable for QAccessible2Interface
+QAccessible2Interface::_ZTV21QAccessible2Interface: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI21QAccessible2Interface)
+16 QAccessible2Interface::~QAccessible2Interface
+24 QAccessible2Interface::~QAccessible2Interface
+
+Class QAccessible2Interface
+ size=8 align=8
+ base size=8 base align=8
+QAccessible2Interface (0x7ffd12cb2d90) 0 nearly-empty
+ vptr=((& QAccessible2Interface::_ZTV21QAccessible2Interface) + 16u)
+
+Vtable for QAccessibleTextInterface
+QAccessibleTextInterface::_ZTV24QAccessibleTextInterface: 20u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI24QAccessibleTextInterface)
+16 QAccessibleTextInterface::~QAccessibleTextInterface
+24 QAccessibleTextInterface::~QAccessibleTextInterface
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+48 __cxa_pure_virtual
+56 __cxa_pure_virtual
+64 __cxa_pure_virtual
+72 __cxa_pure_virtual
+80 __cxa_pure_virtual
+88 __cxa_pure_virtual
+96 __cxa_pure_virtual
+104 __cxa_pure_virtual
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 __cxa_pure_virtual
+136 __cxa_pure_virtual
+144 __cxa_pure_virtual
+152 __cxa_pure_virtual
+
+Class QAccessibleTextInterface
+ size=8 align=8
+ base size=8 base align=8
+QAccessibleTextInterface (0x7ffd12cc2cb0) 0 nearly-empty
+ vptr=((& QAccessibleTextInterface::_ZTV24QAccessibleTextInterface) + 16u)
+ QAccessible2Interface (0x7ffd12cc2d20) 0 nearly-empty
+ primary-for QAccessibleTextInterface (0x7ffd12cc2cb0)
+
+Vtable for QAccessibleEditableTextInterface
+QAccessibleEditableTextInterface::_ZTV32QAccessibleEditableTextInterface: 11u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI32QAccessibleEditableTextInterface)
+16 QAccessibleEditableTextInterface::~QAccessibleEditableTextInterface
+24 QAccessibleEditableTextInterface::~QAccessibleEditableTextInterface
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+48 __cxa_pure_virtual
+56 __cxa_pure_virtual
+64 __cxa_pure_virtual
+72 __cxa_pure_virtual
+80 __cxa_pure_virtual
+
+Class QAccessibleEditableTextInterface
+ size=8 align=8
+ base size=8 base align=8
+QAccessibleEditableTextInterface (0x7ffd12cd1b60) 0 nearly-empty
+ vptr=((& QAccessibleEditableTextInterface::_ZTV32QAccessibleEditableTextInterface) + 16u)
+ QAccessible2Interface (0x7ffd12cd1bd0) 0 nearly-empty
+ primary-for QAccessibleEditableTextInterface (0x7ffd12cd1b60)
+
+Vtable for QAccessibleSimpleEditableTextInterface
+QAccessibleSimpleEditableTextInterface::_ZTV38QAccessibleSimpleEditableTextInterface: 11u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI38QAccessibleSimpleEditableTextInterface)
+16 QAccessibleSimpleEditableTextInterface::~QAccessibleSimpleEditableTextInterface
+24 QAccessibleSimpleEditableTextInterface::~QAccessibleSimpleEditableTextInterface
+32 QAccessibleSimpleEditableTextInterface::copyText
+40 QAccessibleSimpleEditableTextInterface::deleteText
+48 QAccessibleSimpleEditableTextInterface::insertText
+56 QAccessibleSimpleEditableTextInterface::cutText
+64 QAccessibleSimpleEditableTextInterface::pasteText
+72 QAccessibleSimpleEditableTextInterface::replaceText
+80 QAccessibleSimpleEditableTextInterface::setAttributes
+
+Class QAccessibleSimpleEditableTextInterface
+ size=16 align=8
+ base size=16 base align=8
+QAccessibleSimpleEditableTextInterface (0x7ffd12ce0a10) 0
+ vptr=((& QAccessibleSimpleEditableTextInterface::_ZTV38QAccessibleSimpleEditableTextInterface) + 16u)
+ QAccessibleEditableTextInterface (0x7ffd12ce0a80) 0 nearly-empty
+ primary-for QAccessibleSimpleEditableTextInterface (0x7ffd12ce0a10)
+ QAccessible2Interface (0x7ffd12ce0af0) 0 nearly-empty
+ primary-for QAccessibleEditableTextInterface (0x7ffd12ce0a80)
+
+Vtable for QAccessibleValueInterface
+QAccessibleValueInterface::_ZTV25QAccessibleValueInterface: 8u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI25QAccessibleValueInterface)
+16 QAccessibleValueInterface::~QAccessibleValueInterface
+24 QAccessibleValueInterface::~QAccessibleValueInterface
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+48 __cxa_pure_virtual
+56 __cxa_pure_virtual
+
+Class QAccessibleValueInterface
+ size=8 align=8
+ base size=8 base align=8
+QAccessibleValueInterface (0x7ffd12ce0d20) 0 nearly-empty
+ vptr=((& QAccessibleValueInterface::_ZTV25QAccessibleValueInterface) + 16u)
+ QAccessible2Interface (0x7ffd12ce0d90) 0 nearly-empty
+ primary-for QAccessibleValueInterface (0x7ffd12ce0d20)
+
+Vtable for QAccessibleTableInterface
+QAccessibleTableInterface::_ZTV25QAccessibleTableInterface: 30u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI25QAccessibleTableInterface)
+16 QAccessibleTableInterface::~QAccessibleTableInterface
+24 QAccessibleTableInterface::~QAccessibleTableInterface
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+48 __cxa_pure_virtual
+56 __cxa_pure_virtual
+64 __cxa_pure_virtual
+72 __cxa_pure_virtual
+80 __cxa_pure_virtual
+88 __cxa_pure_virtual
+96 __cxa_pure_virtual
+104 __cxa_pure_virtual
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 __cxa_pure_virtual
+136 __cxa_pure_virtual
+144 __cxa_pure_virtual
+152 __cxa_pure_virtual
+160 __cxa_pure_virtual
+168 __cxa_pure_virtual
+176 __cxa_pure_virtual
+184 __cxa_pure_virtual
+192 __cxa_pure_virtual
+200 __cxa_pure_virtual
+208 __cxa_pure_virtual
+216 __cxa_pure_virtual
+224 __cxa_pure_virtual
+232 __cxa_pure_virtual
+
+Class QAccessibleTableInterface
+ size=8 align=8
+ base size=8 base align=8
+QAccessibleTableInterface (0x7ffd12ceeb60) 0 nearly-empty
+ vptr=((& QAccessibleTableInterface::_ZTV25QAccessibleTableInterface) + 16u)
+ QAccessible2Interface (0x7ffd12ceebd0) 0 nearly-empty
+ primary-for QAccessibleTableInterface (0x7ffd12ceeb60)
+
+Vtable for QAccessibleFactoryInterface
+QAccessibleFactoryInterface::_ZTV27QAccessibleFactoryInterface: 6u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI27QAccessibleFactoryInterface)
+16 QAccessibleFactoryInterface::~QAccessibleFactoryInterface
+24 QAccessibleFactoryInterface::~QAccessibleFactoryInterface
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+
+Class QAccessibleFactoryInterface
+ size=8 align=8
+ base size=8 base align=8
+QAccessibleFactoryInterface (0x7ffd12cf3c80) 0 nearly-empty
+ vptr=((& QAccessibleFactoryInterface::_ZTV27QAccessibleFactoryInterface) + 16u)
+ QAccessible (0x7ffd12ceef50) 0 empty
+ QFactoryInterface (0x7ffd12ceed90) 0 nearly-empty
+ primary-for QAccessibleFactoryInterface (0x7ffd12cf3c80)
+
+Vtable for QAccessiblePlugin
+QAccessiblePlugin::_ZTV17QAccessiblePlugin: 22u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QAccessiblePlugin)
+16 QAccessiblePlugin::metaObject
+24 QAccessiblePlugin::qt_metacast
+32 QAccessiblePlugin::qt_metacall
+40 QAccessiblePlugin::~QAccessiblePlugin
+48 QAccessiblePlugin::~QAccessiblePlugin
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 (int (*)(...))-0x00000000000000010
+136 (int (*)(...))(& _ZTI17QAccessiblePlugin)
+144 QAccessiblePlugin::_ZThn16_N17QAccessiblePluginD1Ev
+152 QAccessiblePlugin::_ZThn16_N17QAccessiblePluginD0Ev
+160 __cxa_pure_virtual
+168 __cxa_pure_virtual
+
+Class QAccessiblePlugin
+ size=24 align=8
+ base size=24 base align=8
+QAccessiblePlugin (0x7ffd12d07480) 0
+ vptr=((& QAccessiblePlugin::_ZTV17QAccessiblePlugin) + 16u)
+ QObject (0x7ffd12d047e0) 0
+ primary-for QAccessiblePlugin (0x7ffd12d07480)
+ QAccessibleFactoryInterface (0x7ffd12d07500) 16 nearly-empty
+ vptr=((& QAccessiblePlugin::_ZTV17QAccessiblePlugin) + 144u)
+ QAccessible (0x7ffd12d04850) 16 empty
+ QFactoryInterface (0x7ffd12d048c0) 16 nearly-empty
+ primary-for QAccessibleFactoryInterface (0x7ffd12d07500)
+
+Vtable for QLayoutItem
+QLayoutItem::_ZTV11QLayoutItem: 18u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QLayoutItem)
+16 QLayoutItem::~QLayoutItem
+24 QLayoutItem::~QLayoutItem
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+48 __cxa_pure_virtual
+56 __cxa_pure_virtual
+64 __cxa_pure_virtual
+72 __cxa_pure_virtual
+80 __cxa_pure_virtual
+88 QLayoutItem::hasHeightForWidth
+96 QLayoutItem::heightForWidth
+104 QLayoutItem::minimumHeightForWidth
+112 QLayoutItem::invalidate
+120 QLayoutItem::widget
+128 QLayoutItem::layout
+136 QLayoutItem::spacerItem
+
+Class QLayoutItem
+ size=16 align=8
+ base size=12 base align=8
+QLayoutItem (0x7ffd12d167e0) 0
+ vptr=((& QLayoutItem::_ZTV11QLayoutItem) + 16u)
+
+Vtable for QSpacerItem
+QSpacerItem::_ZTV11QSpacerItem: 18u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QSpacerItem)
+16 QSpacerItem::~QSpacerItem
+24 QSpacerItem::~QSpacerItem
+32 QSpacerItem::sizeHint
+40 QSpacerItem::minimumSize
+48 QSpacerItem::maximumSize
+56 QSpacerItem::expandingDirections
+64 QSpacerItem::setGeometry
+72 QSpacerItem::geometry
+80 QSpacerItem::isEmpty
+88 QLayoutItem::hasHeightForWidth
+96 QLayoutItem::heightForWidth
+104 QLayoutItem::minimumHeightForWidth
+112 QLayoutItem::invalidate
+120 QLayoutItem::widget
+128 QLayoutItem::layout
+136 QSpacerItem::spacerItem
+
+Class QSpacerItem
+ size=40 align=8
+ base size=40 base align=8
+QSpacerItem (0x7ffd12d29380) 0
+ vptr=((& QSpacerItem::_ZTV11QSpacerItem) + 16u)
+ QLayoutItem (0x7ffd12d293f0) 0
+ primary-for QSpacerItem (0x7ffd12d29380)
+
+Vtable for QWidgetItem
+QWidgetItem::_ZTV11QWidgetItem: 18u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QWidgetItem)
+16 QWidgetItem::~QWidgetItem
+24 QWidgetItem::~QWidgetItem
+32 QWidgetItem::sizeHint
+40 QWidgetItem::minimumSize
+48 QWidgetItem::maximumSize
+56 QWidgetItem::expandingDirections
+64 QWidgetItem::setGeometry
+72 QWidgetItem::geometry
+80 QWidgetItem::isEmpty
+88 QWidgetItem::hasHeightForWidth
+96 QWidgetItem::heightForWidth
+104 QLayoutItem::minimumHeightForWidth
+112 QLayoutItem::invalidate
+120 QWidgetItem::widget
+128 QLayoutItem::layout
+136 QLayoutItem::spacerItem
+
+Class QWidgetItem
+ size=24 align=8
+ base size=24 base align=8
+QWidgetItem (0x7ffd12d368c0) 0
+ vptr=((& QWidgetItem::_ZTV11QWidgetItem) + 16u)
+ QLayoutItem (0x7ffd12d36930) 0
+ primary-for QWidgetItem (0x7ffd12d368c0)
+
+Vtable for QWidgetItemV2
+QWidgetItemV2::_ZTV13QWidgetItemV2: 18u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QWidgetItemV2)
+16 QWidgetItemV2::~QWidgetItemV2
+24 QWidgetItemV2::~QWidgetItemV2
+32 QWidgetItemV2::sizeHint
+40 QWidgetItemV2::minimumSize
+48 QWidgetItemV2::maximumSize
+56 QWidgetItem::expandingDirections
+64 QWidgetItem::setGeometry
+72 QWidgetItem::geometry
+80 QWidgetItem::isEmpty
+88 QWidgetItem::hasHeightForWidth
+96 QWidgetItemV2::heightForWidth
+104 QLayoutItem::minimumHeightForWidth
+112 QLayoutItem::invalidate
+120 QWidgetItem::widget
+128 QLayoutItem::layout
+136 QLayoutItem::spacerItem
+
+Class QWidgetItemV2
+ size=88 align=8
+ base size=88 base align=8
+QWidgetItemV2 (0x7ffd12d44700) 0
+ vptr=((& QWidgetItemV2::_ZTV13QWidgetItemV2) + 16u)
+ QWidgetItem (0x7ffd12d44770) 0
+ primary-for QWidgetItemV2 (0x7ffd12d44700)
+ QLayoutItem (0x7ffd12d447e0) 0
+ primary-for QWidgetItem (0x7ffd12d44770)
+
+Class QLayoutIterator
+ size=16 align=8
+ base size=12 base align=8
+QLayoutIterator (0x7ffd12d53540) 0
+
+Vtable for QLayout
+QLayout::_ZTV7QLayout: 45u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QLayout)
+16 QLayout::metaObject
+24 QLayout::qt_metacast
+32 QLayout::qt_metacall
+40 QLayout::~QLayout
+48 QLayout::~QLayout
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QLayout::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QLayout::invalidate
+120 QLayout::geometry
+128 __cxa_pure_virtual
+136 QLayout::expandingDirections
+144 QLayout::minimumSize
+152 QLayout::maximumSize
+160 QLayout::setGeometry
+168 __cxa_pure_virtual
+176 __cxa_pure_virtual
+184 QLayout::indexOf
+192 __cxa_pure_virtual
+200 QLayout::isEmpty
+208 QLayout::layout
+216 (int (*)(...))-0x00000000000000010
+224 (int (*)(...))(& _ZTI7QLayout)
+232 QLayout::_ZThn16_N7QLayoutD1Ev
+240 QLayout::_ZThn16_N7QLayoutD0Ev
+248 __cxa_pure_virtual
+256 QLayout::_ZThn16_NK7QLayout11minimumSizeEv
+264 QLayout::_ZThn16_NK7QLayout11maximumSizeEv
+272 QLayout::_ZThn16_NK7QLayout19expandingDirectionsEv
+280 QLayout::_ZThn16_N7QLayout11setGeometryERK5QRect
+288 QLayout::_ZThn16_NK7QLayout8geometryEv
+296 QLayout::_ZThn16_NK7QLayout7isEmptyEv
+304 QLayoutItem::hasHeightForWidth
+312 QLayoutItem::heightForWidth
+320 QLayoutItem::minimumHeightForWidth
+328 QLayout::_ZThn16_N7QLayout10invalidateEv
+336 QLayoutItem::widget
+344 QLayout::_ZThn16_N7QLayout6layoutEv
+352 QLayoutItem::spacerItem
+
+Class QLayout
+ size=32 align=8
+ base size=28 base align=8
+QLayout (0x7ffd12d61180) 0
+ vptr=((& QLayout::_ZTV7QLayout) + 16u)
+ QObject (0x7ffd12d5e690) 0
+ primary-for QLayout (0x7ffd12d61180)
+ QLayoutItem (0x7ffd12d5e700) 16
+ vptr=((& QLayout::_ZTV7QLayout) + 232u)
+
+Vtable for QBoxLayout
+QBoxLayout::_ZTV10QBoxLayout: 49u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QBoxLayout)
+16 QBoxLayout::metaObject
+24 QBoxLayout::qt_metacast
+32 QBoxLayout::qt_metacall
+40 QBoxLayout::~QBoxLayout
+48 QBoxLayout::~QBoxLayout
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QLayout::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QBoxLayout::invalidate
+120 QLayout::geometry
+128 QBoxLayout::addItem
+136 QBoxLayout::expandingDirections
+144 QBoxLayout::minimumSize
+152 QBoxLayout::maximumSize
+160 QBoxLayout::setGeometry
+168 QBoxLayout::itemAt
+176 QBoxLayout::takeAt
+184 QLayout::indexOf
+192 QBoxLayout::count
+200 QLayout::isEmpty
+208 QLayout::layout
+216 QBoxLayout::sizeHint
+224 QBoxLayout::hasHeightForWidth
+232 QBoxLayout::heightForWidth
+240 QBoxLayout::minimumHeightForWidth
+248 (int (*)(...))-0x00000000000000010
+256 (int (*)(...))(& _ZTI10QBoxLayout)
+264 QBoxLayout::_ZThn16_N10QBoxLayoutD1Ev
+272 QBoxLayout::_ZThn16_N10QBoxLayoutD0Ev
+280 QBoxLayout::_ZThn16_NK10QBoxLayout8sizeHintEv
+288 QBoxLayout::_ZThn16_NK10QBoxLayout11minimumSizeEv
+296 QBoxLayout::_ZThn16_NK10QBoxLayout11maximumSizeEv
+304 QBoxLayout::_ZThn16_NK10QBoxLayout19expandingDirectionsEv
+312 QBoxLayout::_ZThn16_N10QBoxLayout11setGeometryERK5QRect
+320 QLayout::_ZThn16_NK7QLayout8geometryEv
+328 QLayout::_ZThn16_NK7QLayout7isEmptyEv
+336 QBoxLayout::_ZThn16_NK10QBoxLayout17hasHeightForWidthEv
+344 QBoxLayout::_ZThn16_NK10QBoxLayout14heightForWidthEi
+352 QBoxLayout::_ZThn16_NK10QBoxLayout21minimumHeightForWidthEi
+360 QBoxLayout::_ZThn16_N10QBoxLayout10invalidateEv
+368 QLayoutItem::widget
+376 QLayout::_ZThn16_N7QLayout6layoutEv
+384 QLayoutItem::spacerItem
+
+Class QBoxLayout
+ size=32 align=8
+ base size=28 base align=8
+QBoxLayout (0x7ffd12b99bd0) 0
+ vptr=((& QBoxLayout::_ZTV10QBoxLayout) + 16u)
+ QLayout (0x7ffd12b9e200) 0
+ primary-for QBoxLayout (0x7ffd12b99bd0)
+ QObject (0x7ffd12b99c40) 0
+ primary-for QLayout (0x7ffd12b9e200)
+ QLayoutItem (0x7ffd12b99cb0) 16
+ vptr=((& QBoxLayout::_ZTV10QBoxLayout) + 264u)
+
+Vtable for QHBoxLayout
+QHBoxLayout::_ZTV11QHBoxLayout: 49u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QHBoxLayout)
+16 QHBoxLayout::metaObject
+24 QHBoxLayout::qt_metacast
+32 QHBoxLayout::qt_metacall
+40 QHBoxLayout::~QHBoxLayout
+48 QHBoxLayout::~QHBoxLayout
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QLayout::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QBoxLayout::invalidate
+120 QLayout::geometry
+128 QBoxLayout::addItem
+136 QBoxLayout::expandingDirections
+144 QBoxLayout::minimumSize
+152 QBoxLayout::maximumSize
+160 QBoxLayout::setGeometry
+168 QBoxLayout::itemAt
+176 QBoxLayout::takeAt
+184 QLayout::indexOf
+192 QBoxLayout::count
+200 QLayout::isEmpty
+208 QLayout::layout
+216 QBoxLayout::sizeHint
+224 QBoxLayout::hasHeightForWidth
+232 QBoxLayout::heightForWidth
+240 QBoxLayout::minimumHeightForWidth
+248 (int (*)(...))-0x00000000000000010
+256 (int (*)(...))(& _ZTI11QHBoxLayout)
+264 QHBoxLayout::_ZThn16_N11QHBoxLayoutD1Ev
+272 QHBoxLayout::_ZThn16_N11QHBoxLayoutD0Ev
+280 QBoxLayout::_ZThn16_NK10QBoxLayout8sizeHintEv
+288 QBoxLayout::_ZThn16_NK10QBoxLayout11minimumSizeEv
+296 QBoxLayout::_ZThn16_NK10QBoxLayout11maximumSizeEv
+304 QBoxLayout::_ZThn16_NK10QBoxLayout19expandingDirectionsEv
+312 QBoxLayout::_ZThn16_N10QBoxLayout11setGeometryERK5QRect
+320 QLayout::_ZThn16_NK7QLayout8geometryEv
+328 QLayout::_ZThn16_NK7QLayout7isEmptyEv
+336 QBoxLayout::_ZThn16_NK10QBoxLayout17hasHeightForWidthEv
+344 QBoxLayout::_ZThn16_NK10QBoxLayout14heightForWidthEi
+352 QBoxLayout::_ZThn16_NK10QBoxLayout21minimumHeightForWidthEi
+360 QBoxLayout::_ZThn16_N10QBoxLayout10invalidateEv
+368 QLayoutItem::widget
+376 QLayout::_ZThn16_N7QLayout6layoutEv
+384 QLayoutItem::spacerItem
+
+Class QHBoxLayout
+ size=32 align=8
+ base size=28 base align=8
+QHBoxLayout (0x7ffd12bc8620) 0
+ vptr=((& QHBoxLayout::_ZTV11QHBoxLayout) + 16u)
+ QBoxLayout (0x7ffd12bc8690) 0
+ primary-for QHBoxLayout (0x7ffd12bc8620)
+ QLayout (0x7ffd12b9ef80) 0
+ primary-for QBoxLayout (0x7ffd12bc8690)
+ QObject (0x7ffd12bc8700) 0
+ primary-for QLayout (0x7ffd12b9ef80)
+ QLayoutItem (0x7ffd12bc8770) 16
+ vptr=((& QHBoxLayout::_ZTV11QHBoxLayout) + 264u)
+
+Vtable for QVBoxLayout
+QVBoxLayout::_ZTV11QVBoxLayout: 49u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QVBoxLayout)
+16 QVBoxLayout::metaObject
+24 QVBoxLayout::qt_metacast
+32 QVBoxLayout::qt_metacall
+40 QVBoxLayout::~QVBoxLayout
+48 QVBoxLayout::~QVBoxLayout
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QLayout::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QBoxLayout::invalidate
+120 QLayout::geometry
+128 QBoxLayout::addItem
+136 QBoxLayout::expandingDirections
+144 QBoxLayout::minimumSize
+152 QBoxLayout::maximumSize
+160 QBoxLayout::setGeometry
+168 QBoxLayout::itemAt
+176 QBoxLayout::takeAt
+184 QLayout::indexOf
+192 QBoxLayout::count
+200 QLayout::isEmpty
+208 QLayout::layout
+216 QBoxLayout::sizeHint
+224 QBoxLayout::hasHeightForWidth
+232 QBoxLayout::heightForWidth
+240 QBoxLayout::minimumHeightForWidth
+248 (int (*)(...))-0x00000000000000010
+256 (int (*)(...))(& _ZTI11QVBoxLayout)
+264 QVBoxLayout::_ZThn16_N11QVBoxLayoutD1Ev
+272 QVBoxLayout::_ZThn16_N11QVBoxLayoutD0Ev
+280 QBoxLayout::_ZThn16_NK10QBoxLayout8sizeHintEv
+288 QBoxLayout::_ZThn16_NK10QBoxLayout11minimumSizeEv
+296 QBoxLayout::_ZThn16_NK10QBoxLayout11maximumSizeEv
+304 QBoxLayout::_ZThn16_NK10QBoxLayout19expandingDirectionsEv
+312 QBoxLayout::_ZThn16_N10QBoxLayout11setGeometryERK5QRect
+320 QLayout::_ZThn16_NK7QLayout8geometryEv
+328 QLayout::_ZThn16_NK7QLayout7isEmptyEv
+336 QBoxLayout::_ZThn16_NK10QBoxLayout17hasHeightForWidthEv
+344 QBoxLayout::_ZThn16_NK10QBoxLayout14heightForWidthEi
+352 QBoxLayout::_ZThn16_NK10QBoxLayout21minimumHeightForWidthEi
+360 QBoxLayout::_ZThn16_N10QBoxLayout10invalidateEv
+368 QLayoutItem::widget
+376 QLayout::_ZThn16_N7QLayout6layoutEv
+384 QLayoutItem::spacerItem
+
+Class QVBoxLayout
+ size=32 align=8
+ base size=28 base align=8
+QVBoxLayout (0x7ffd12bd4cb0) 0
+ vptr=((& QVBoxLayout::_ZTV11QVBoxLayout) + 16u)
+ QBoxLayout (0x7ffd12bd4d20) 0
+ primary-for QVBoxLayout (0x7ffd12bd4cb0)
+ QLayout (0x7ffd12bcc680) 0
+ primary-for QBoxLayout (0x7ffd12bd4d20)
+ QObject (0x7ffd12bd4d90) 0
+ primary-for QLayout (0x7ffd12bcc680)
+ QLayoutItem (0x7ffd12bd4e00) 16
+ vptr=((& QVBoxLayout::_ZTV11QVBoxLayout) + 264u)
+
+Vtable for QGridLayout
+QGridLayout::_ZTV11QGridLayout: 49u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QGridLayout)
+16 QGridLayout::metaObject
+24 QGridLayout::qt_metacast
+32 QGridLayout::qt_metacall
+40 QGridLayout::~QGridLayout
+48 QGridLayout::~QGridLayout
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QLayout::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QGridLayout::invalidate
+120 QLayout::geometry
+128 QGridLayout::addItem
+136 QGridLayout::expandingDirections
+144 QGridLayout::minimumSize
+152 QGridLayout::maximumSize
+160 QGridLayout::setGeometry
+168 QGridLayout::itemAt
+176 QGridLayout::takeAt
+184 QLayout::indexOf
+192 QGridLayout::count
+200 QLayout::isEmpty
+208 QLayout::layout
+216 QGridLayout::sizeHint
+224 QGridLayout::hasHeightForWidth
+232 QGridLayout::heightForWidth
+240 QGridLayout::minimumHeightForWidth
+248 (int (*)(...))-0x00000000000000010
+256 (int (*)(...))(& _ZTI11QGridLayout)
+264 QGridLayout::_ZThn16_N11QGridLayoutD1Ev
+272 QGridLayout::_ZThn16_N11QGridLayoutD0Ev
+280 QGridLayout::_ZThn16_NK11QGridLayout8sizeHintEv
+288 QGridLayout::_ZThn16_NK11QGridLayout11minimumSizeEv
+296 QGridLayout::_ZThn16_NK11QGridLayout11maximumSizeEv
+304 QGridLayout::_ZThn16_NK11QGridLayout19expandingDirectionsEv
+312 QGridLayout::_ZThn16_N11QGridLayout11setGeometryERK5QRect
+320 QLayout::_ZThn16_NK7QLayout8geometryEv
+328 QLayout::_ZThn16_NK7QLayout7isEmptyEv
+336 QGridLayout::_ZThn16_NK11QGridLayout17hasHeightForWidthEv
+344 QGridLayout::_ZThn16_NK11QGridLayout14heightForWidthEi
+352 QGridLayout::_ZThn16_NK11QGridLayout21minimumHeightForWidthEi
+360 QGridLayout::_ZThn16_N11QGridLayout10invalidateEv
+368 QLayoutItem::widget
+376 QLayout::_ZThn16_N7QLayout6layoutEv
+384 QLayoutItem::spacerItem
+
+Class QGridLayout
+ size=32 align=8
+ base size=28 base align=8
+QGridLayout (0x7ffd12bf82a0) 0
+ vptr=((& QGridLayout::_ZTV11QGridLayout) + 16u)
+ QLayout (0x7ffd12bccd80) 0
+ primary-for QGridLayout (0x7ffd12bf82a0)
+ QObject (0x7ffd12bf8310) 0
+ primary-for QLayout (0x7ffd12bccd80)
+ QLayoutItem (0x7ffd12bf8380) 16
+ vptr=((& QGridLayout::_ZTV11QGridLayout) + 264u)
+
+Vtable for QFormLayout
+QFormLayout::_ZTV11QFormLayout: 48u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QFormLayout)
+16 QFormLayout::metaObject
+24 QFormLayout::qt_metacast
+32 QFormLayout::qt_metacall
+40 QFormLayout::~QFormLayout
+48 QFormLayout::~QFormLayout
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QLayout::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QFormLayout::invalidate
+120 QLayout::geometry
+128 QFormLayout::addItem
+136 QFormLayout::expandingDirections
+144 QFormLayout::minimumSize
+152 QLayout::maximumSize
+160 QFormLayout::setGeometry
+168 QFormLayout::itemAt
+176 QFormLayout::takeAt
+184 QLayout::indexOf
+192 QFormLayout::count
+200 QLayout::isEmpty
+208 QLayout::layout
+216 QFormLayout::sizeHint
+224 QFormLayout::hasHeightForWidth
+232 QFormLayout::heightForWidth
+240 (int (*)(...))-0x00000000000000010
+248 (int (*)(...))(& _ZTI11QFormLayout)
+256 QFormLayout::_ZThn16_N11QFormLayoutD1Ev
+264 QFormLayout::_ZThn16_N11QFormLayoutD0Ev
+272 QFormLayout::_ZThn16_NK11QFormLayout8sizeHintEv
+280 QFormLayout::_ZThn16_NK11QFormLayout11minimumSizeEv
+288 QLayout::_ZThn16_NK7QLayout11maximumSizeEv
+296 QFormLayout::_ZThn16_NK11QFormLayout19expandingDirectionsEv
+304 QFormLayout::_ZThn16_N11QFormLayout11setGeometryERK5QRect
+312 QLayout::_ZThn16_NK7QLayout8geometryEv
+320 QLayout::_ZThn16_NK7QLayout7isEmptyEv
+328 QFormLayout::_ZThn16_NK11QFormLayout17hasHeightForWidthEv
+336 QFormLayout::_ZThn16_NK11QFormLayout14heightForWidthEi
+344 QLayoutItem::minimumHeightForWidth
+352 QFormLayout::_ZThn16_N11QFormLayout10invalidateEv
+360 QLayoutItem::widget
+368 QLayout::_ZThn16_N7QLayout6layoutEv
+376 QLayoutItem::spacerItem
+
+Class QFormLayout
+ size=32 align=8
+ base size=28 base align=8
+QFormLayout (0x7ffd12c43310) 0
+ vptr=((& QFormLayout::_ZTV11QFormLayout) + 16u)
+ QLayout (0x7ffd12c3eb80) 0
+ primary-for QFormLayout (0x7ffd12c43310)
+ QObject (0x7ffd12c43380) 0
+ primary-for QLayout (0x7ffd12c3eb80)
+ QLayoutItem (0x7ffd12c433f0) 16
+ vptr=((& QFormLayout::_ZTV11QFormLayout) + 256u)
+
+Vtable for QClipboard
+QClipboard::_ZTV10QClipboard: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QClipboard)
+16 QClipboard::metaObject
+24 QClipboard::qt_metacast
+32 QClipboard::qt_metacall
+40 QClipboard::~QClipboard
+48 QClipboard::~QClipboard
+56 QClipboard::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QClipboard::connectNotify
+104 QObject::disconnectNotify
+
+Class QClipboard
+ size=16 align=8
+ base size=16 base align=8
+QClipboard (0x7ffd12c6f770) 0
+ vptr=((& QClipboard::_ZTV10QClipboard) + 16u)
+ QObject (0x7ffd12c6f7e0) 0
+ primary-for QClipboard (0x7ffd12c6f770)
+
+Class QWhatsThis
+ size=1 align=1
+ base size=0 base align=1
+QWhatsThis (0x7ffd12a914d0) 0 empty
+
+Vtable for QDesktopWidget
+QDesktopWidget::_ZTV14QDesktopWidget: 63u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QDesktopWidget)
+16 QDesktopWidget::metaObject
+24 QDesktopWidget::qt_metacast
+32 QDesktopWidget::qt_metacall
+40 QDesktopWidget::~QDesktopWidget
+48 QDesktopWidget::~QDesktopWidget
+56 QWidget::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QWidget::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QWidget::paintEvent
+256 QWidget::moveEvent
+264 QDesktopWidget::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QWidget::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 (int (*)(...))-0x00000000000000010
+456 (int (*)(...))(& _ZTI14QDesktopWidget)
+464 QDesktopWidget::_ZThn16_N14QDesktopWidgetD1Ev
+472 QDesktopWidget::_ZThn16_N14QDesktopWidgetD0Ev
+480 QWidget::_ZThn16_NK7QWidget7devTypeEv
+488 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+496 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QDesktopWidget
+ size=40 align=8
+ base size=40 base align=8
+QDesktopWidget (0x7ffd12a915b0) 0
+ vptr=((& QDesktopWidget::_ZTV14QDesktopWidget) + 16u)
+ QWidget (0x7ffd12a8d400) 0
+ primary-for QDesktopWidget (0x7ffd12a915b0)
+ QObject (0x7ffd12a91620) 0
+ primary-for QWidget (0x7ffd12a8d400)
+ QPaintDevice (0x7ffd12a91690) 16
+ vptr=((& QDesktopWidget::_ZTV14QDesktopWidget) + 464u)
+
+Vtable for QShortcut
+QShortcut::_ZTV9QShortcut: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QShortcut)
+16 QShortcut::metaObject
+24 QShortcut::qt_metacast
+32 QShortcut::qt_metacall
+40 QShortcut::~QShortcut
+48 QShortcut::~QShortcut
+56 QShortcut::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QShortcut
+ size=16 align=8
+ base size=16 base align=8
+QShortcut (0x7ffd12ab65b0) 0
+ vptr=((& QShortcut::_ZTV9QShortcut) + 16u)
+ QObject (0x7ffd12ab6620) 0
+ primary-for QShortcut (0x7ffd12ab65b0)
+
+Vtable for QSessionManager
+QSessionManager::_ZTV15QSessionManager: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QSessionManager)
+16 QSessionManager::metaObject
+24 QSessionManager::qt_metacast
+32 QSessionManager::qt_metacall
+40 QSessionManager::~QSessionManager
+48 QSessionManager::~QSessionManager
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QSessionManager
+ size=16 align=8
+ base size=16 base align=8
+QSessionManager (0x7ffd12acad20) 0
+ vptr=((& QSessionManager::_ZTV15QSessionManager) + 16u)
+ QObject (0x7ffd12acad90) 0
+ primary-for QSessionManager (0x7ffd12acad20)
+
+Vtable for QApplication
+QApplication::_ZTV12QApplication: 20u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QApplication)
+16 QApplication::metaObject
+24 QApplication::qt_metacast
+32 QApplication::qt_metacall
+40 QApplication::~QApplication
+48 QApplication::~QApplication
+56 QApplication::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QApplication::notify
+120 QApplication::compressEvent
+128 QApplication::x11EventFilter
+136 QApplication::x11ClientMessage
+144 QApplication::commitData
+152 QApplication::saveState
+
+Class QApplication
+ size=16 align=8
+ base size=16 base align=8
+QApplication (0x7ffd12ae92a0) 0
+ vptr=((& QApplication::_ZTV12QApplication) + 16u)
+ QCoreApplication (0x7ffd12ae9310) 0
+ primary-for QApplication (0x7ffd12ae92a0)
+ QObject (0x7ffd12ae9380) 0
+ primary-for QCoreApplication (0x7ffd12ae9310)
+
+Vtable for QAction
+QAction::_ZTV7QAction: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QAction)
+16 QAction::metaObject
+24 QAction::qt_metacast
+32 QAction::qt_metacall
+40 QAction::~QAction
+48 QAction::~QAction
+56 QAction::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QAction
+ size=16 align=8
+ base size=16 base align=8
+QAction (0x7ffd12b30ee0) 0
+ vptr=((& QAction::_ZTV7QAction) + 16u)
+ QObject (0x7ffd12b30f50) 0
+ primary-for QAction (0x7ffd12b30ee0)
+
+Vtable for QActionGroup
+QActionGroup::_ZTV12QActionGroup: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QActionGroup)
+16 QActionGroup::metaObject
+24 QActionGroup::qt_metacast
+32 QActionGroup::qt_metacall
+40 QActionGroup::~QActionGroup
+48 QActionGroup::~QActionGroup
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QActionGroup
+ size=16 align=8
+ base size=16 base align=8
+QActionGroup (0x7ffd12b72700) 0
+ vptr=((& QActionGroup::_ZTV12QActionGroup) + 16u)
+ QObject (0x7ffd12b72770) 0
+ primary-for QActionGroup (0x7ffd12b72700)
+
+Vtable for QSound
+QSound::_ZTV6QSound: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI6QSound)
+16 QSound::metaObject
+24 QSound::qt_metacast
+32 QSound::qt_metacall
+40 QSound::~QSound
+48 QSound::~QSound
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QSound
+ size=16 align=8
+ base size=16 base align=8
+QSound (0x7ffd1298eaf0) 0
+ vptr=((& QSound::_ZTV6QSound) + 16u)
+ QObject (0x7ffd1298eb60) 0
+ primary-for QSound (0x7ffd1298eaf0)
+
+Vtable for QStackedLayout
+QStackedLayout::_ZTV14QStackedLayout: 46u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QStackedLayout)
+16 QStackedLayout::metaObject
+24 QStackedLayout::qt_metacast
+32 QStackedLayout::qt_metacall
+40 QStackedLayout::~QStackedLayout
+48 QStackedLayout::~QStackedLayout
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QLayout::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QLayout::invalidate
+120 QLayout::geometry
+128 QStackedLayout::addItem
+136 QLayout::expandingDirections
+144 QStackedLayout::minimumSize
+152 QLayout::maximumSize
+160 QStackedLayout::setGeometry
+168 QStackedLayout::itemAt
+176 QStackedLayout::takeAt
+184 QLayout::indexOf
+192 QStackedLayout::count
+200 QLayout::isEmpty
+208 QLayout::layout
+216 QStackedLayout::sizeHint
+224 (int (*)(...))-0x00000000000000010
+232 (int (*)(...))(& _ZTI14QStackedLayout)
+240 QStackedLayout::_ZThn16_N14QStackedLayoutD1Ev
+248 QStackedLayout::_ZThn16_N14QStackedLayoutD0Ev
+256 QStackedLayout::_ZThn16_NK14QStackedLayout8sizeHintEv
+264 QStackedLayout::_ZThn16_NK14QStackedLayout11minimumSizeEv
+272 QLayout::_ZThn16_NK7QLayout11maximumSizeEv
+280 QLayout::_ZThn16_NK7QLayout19expandingDirectionsEv
+288 QStackedLayout::_ZThn16_N14QStackedLayout11setGeometryERK5QRect
+296 QLayout::_ZThn16_NK7QLayout8geometryEv
+304 QLayout::_ZThn16_NK7QLayout7isEmptyEv
+312 QLayoutItem::hasHeightForWidth
+320 QLayoutItem::heightForWidth
+328 QLayoutItem::minimumHeightForWidth
+336 QLayout::_ZThn16_N7QLayout10invalidateEv
+344 QLayoutItem::widget
+352 QLayout::_ZThn16_N7QLayout6layoutEv
+360 QLayoutItem::spacerItem
+
+Class QStackedLayout
+ size=32 align=8
+ base size=28 base align=8
+QStackedLayout (0x7ffd129ce2a0) 0
+ vptr=((& QStackedLayout::_ZTV14QStackedLayout) + 16u)
+ QLayout (0x7ffd129b6a80) 0
+ primary-for QStackedLayout (0x7ffd129ce2a0)
+ QObject (0x7ffd129ce310) 0
+ primary-for QLayout (0x7ffd129b6a80)
+ QLayoutItem (0x7ffd129ce380) 16
+ vptr=((& QStackedLayout::_ZTV14QStackedLayout) + 240u)
+
+Vtable for QWidgetAction
+QWidgetAction::_ZTV13QWidgetAction: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QWidgetAction)
+16 QWidgetAction::metaObject
+24 QWidgetAction::qt_metacast
+32 QWidgetAction::qt_metacall
+40 QWidgetAction::~QWidgetAction
+48 QWidgetAction::~QWidgetAction
+56 QWidgetAction::event
+64 QWidgetAction::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidgetAction::createWidget
+120 QWidgetAction::deleteWidget
+
+Class QWidgetAction
+ size=16 align=8
+ base size=16 base align=8
+QWidgetAction (0x7ffd129ea2a0) 0
+ vptr=((& QWidgetAction::_ZTV13QWidgetAction) + 16u)
+ QAction (0x7ffd129ea310) 0
+ primary-for QWidgetAction (0x7ffd129ea2a0)
+ QObject (0x7ffd129ea380) 0
+ primary-for QAction (0x7ffd129ea310)
+
+Class QToolTip
+ size=1 align=1
+ base size=0 base align=1
+QToolTip (0x7ffd129fec40) 0 empty
+
+Vtable for QCommonStyle
+QCommonStyle::_ZTV12QCommonStyle: 35u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QCommonStyle)
+16 QCommonStyle::metaObject
+24 QCommonStyle::qt_metacast
+32 QCommonStyle::qt_metacall
+40 QCommonStyle::~QCommonStyle
+48 QCommonStyle::~QCommonStyle
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QCommonStyle::polish
+120 QCommonStyle::unpolish
+128 QCommonStyle::polish
+136 QCommonStyle::unpolish
+144 QCommonStyle::polish
+152 QStyle::itemTextRect
+160 QStyle::itemPixmapRect
+168 QStyle::drawItemText
+176 QStyle::drawItemPixmap
+184 QStyle::standardPalette
+192 QCommonStyle::drawPrimitive
+200 QCommonStyle::drawControl
+208 QCommonStyle::subElementRect
+216 QCommonStyle::drawComplexControl
+224 QCommonStyle::hitTestComplexControl
+232 QCommonStyle::subControlRect
+240 QCommonStyle::pixelMetric
+248 QCommonStyle::sizeFromContents
+256 QCommonStyle::styleHint
+264 QCommonStyle::standardPixmap
+272 QCommonStyle::generatedIconPixmap
+
+Class QCommonStyle
+ size=16 align=8
+ base size=16 base align=8
+QCommonStyle (0x7ffd12a09230) 0
+ vptr=((& QCommonStyle::_ZTV12QCommonStyle) + 16u)
+ QStyle (0x7ffd12a092a0) 0
+ primary-for QCommonStyle (0x7ffd12a09230)
+ QObject (0x7ffd12a09310) 0
+ primary-for QStyle (0x7ffd12a092a0)
+
+Vtable for QMotifStyle
+QMotifStyle::_ZTV11QMotifStyle: 35u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QMotifStyle)
+16 QMotifStyle::metaObject
+24 QMotifStyle::qt_metacast
+32 QMotifStyle::qt_metacall
+40 QMotifStyle::~QMotifStyle
+48 QMotifStyle::~QMotifStyle
+56 QMotifStyle::event
+64 QMotifStyle::eventFilter
+72 QMotifStyle::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QMotifStyle::polish
+120 QMotifStyle::unpolish
+128 QMotifStyle::polish
+136 QMotifStyle::unpolish
+144 QMotifStyle::polish
+152 QStyle::itemTextRect
+160 QStyle::itemPixmapRect
+168 QStyle::drawItemText
+176 QStyle::drawItemPixmap
+184 QMotifStyle::standardPalette
+192 QMotifStyle::drawPrimitive
+200 QMotifStyle::drawControl
+208 QMotifStyle::subElementRect
+216 QMotifStyle::drawComplexControl
+224 QCommonStyle::hitTestComplexControl
+232 QMotifStyle::subControlRect
+240 QMotifStyle::pixelMetric
+248 QMotifStyle::sizeFromContents
+256 QMotifStyle::styleHint
+264 QMotifStyle::standardPixmap
+272 QCommonStyle::generatedIconPixmap
+
+Class QMotifStyle
+ size=32 align=8
+ base size=25 base align=8
+QMotifStyle (0x7ffd12a2a230) 0
+ vptr=((& QMotifStyle::_ZTV11QMotifStyle) + 16u)
+ QCommonStyle (0x7ffd12a2a2a0) 0
+ primary-for QMotifStyle (0x7ffd12a2a230)
+ QStyle (0x7ffd12a2a310) 0
+ primary-for QCommonStyle (0x7ffd12a2a2a0)
+ QObject (0x7ffd12a2a380) 0
+ primary-for QStyle (0x7ffd12a2a310)
+
+Vtable for QWindowsStyle
+QWindowsStyle::_ZTV13QWindowsStyle: 35u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QWindowsStyle)
+16 QWindowsStyle::metaObject
+24 QWindowsStyle::qt_metacast
+32 QWindowsStyle::qt_metacall
+40 QWindowsStyle::~QWindowsStyle
+48 QWindowsStyle::~QWindowsStyle
+56 QObject::event
+64 QWindowsStyle::eventFilter
+72 QWindowsStyle::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWindowsStyle::polish
+120 QWindowsStyle::unpolish
+128 QWindowsStyle::polish
+136 QWindowsStyle::unpolish
+144 QWindowsStyle::polish
+152 QStyle::itemTextRect
+160 QStyle::itemPixmapRect
+168 QStyle::drawItemText
+176 QStyle::drawItemPixmap
+184 QStyle::standardPalette
+192 QWindowsStyle::drawPrimitive
+200 QWindowsStyle::drawControl
+208 QWindowsStyle::subElementRect
+216 QWindowsStyle::drawComplexControl
+224 QCommonStyle::hitTestComplexControl
+232 QCommonStyle::subControlRect
+240 QWindowsStyle::pixelMetric
+248 QWindowsStyle::sizeFromContents
+256 QWindowsStyle::styleHint
+264 QWindowsStyle::standardPixmap
+272 QCommonStyle::generatedIconPixmap
+
+Class QWindowsStyle
+ size=24 align=8
+ base size=24 base align=8
+QWindowsStyle (0x7ffd12a52150) 0
+ vptr=((& QWindowsStyle::_ZTV13QWindowsStyle) + 16u)
+ QCommonStyle (0x7ffd12a521c0) 0
+ primary-for QWindowsStyle (0x7ffd12a52150)
+ QStyle (0x7ffd12a52230) 0
+ primary-for QCommonStyle (0x7ffd12a521c0)
+ QObject (0x7ffd12a522a0) 0
+ primary-for QStyle (0x7ffd12a52230)
+
+Vtable for QCleanlooksStyle
+QCleanlooksStyle::_ZTV16QCleanlooksStyle: 35u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QCleanlooksStyle)
+16 QCleanlooksStyle::metaObject
+24 QCleanlooksStyle::qt_metacast
+32 QCleanlooksStyle::qt_metacall
+40 QCleanlooksStyle::~QCleanlooksStyle
+48 QCleanlooksStyle::~QCleanlooksStyle
+56 QObject::event
+64 QWindowsStyle::eventFilter
+72 QWindowsStyle::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QCleanlooksStyle::polish
+120 QCleanlooksStyle::unpolish
+128 QCleanlooksStyle::polish
+136 QCleanlooksStyle::unpolish
+144 QCleanlooksStyle::polish
+152 QStyle::itemTextRect
+160 QCleanlooksStyle::itemPixmapRect
+168 QCleanlooksStyle::drawItemText
+176 QCleanlooksStyle::drawItemPixmap
+184 QCleanlooksStyle::standardPalette
+192 QCleanlooksStyle::drawPrimitive
+200 QCleanlooksStyle::drawControl
+208 QCleanlooksStyle::subElementRect
+216 QCleanlooksStyle::drawComplexControl
+224 QCleanlooksStyle::hitTestComplexControl
+232 QCleanlooksStyle::subControlRect
+240 QCleanlooksStyle::pixelMetric
+248 QCleanlooksStyle::sizeFromContents
+256 QCleanlooksStyle::styleHint
+264 QCleanlooksStyle::standardPixmap
+272 QCleanlooksStyle::generatedIconPixmap
+
+Class QCleanlooksStyle
+ size=24 align=8
+ base size=24 base align=8
+QCleanlooksStyle (0x7ffd12a69ee0) 0
+ vptr=((& QCleanlooksStyle::_ZTV16QCleanlooksStyle) + 16u)
+ QWindowsStyle (0x7ffd12a69f50) 0
+ primary-for QCleanlooksStyle (0x7ffd12a69ee0)
+ QCommonStyle (0x7ffd12a71000) 0
+ primary-for QWindowsStyle (0x7ffd12a69f50)
+ QStyle (0x7ffd12a71070) 0
+ primary-for QCommonStyle (0x7ffd12a71000)
+ QObject (0x7ffd12a710e0) 0
+ primary-for QStyle (0x7ffd12a71070)
+
+Vtable for QStyleFactoryInterface
+QStyleFactoryInterface::_ZTV22QStyleFactoryInterface: 6u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI22QStyleFactoryInterface)
+16 QStyleFactoryInterface::~QStyleFactoryInterface
+24 QStyleFactoryInterface::~QStyleFactoryInterface
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+
+Class QStyleFactoryInterface
+ size=8 align=8
+ base size=8 base align=8
+QStyleFactoryInterface (0x7ffd1288ecb0) 0 nearly-empty
+ vptr=((& QStyleFactoryInterface::_ZTV22QStyleFactoryInterface) + 16u)
+ QFactoryInterface (0x7ffd1288ed20) 0 nearly-empty
+ primary-for QStyleFactoryInterface (0x7ffd1288ecb0)
+
+Vtable for QStylePlugin
+QStylePlugin::_ZTV12QStylePlugin: 22u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QStylePlugin)
+16 QStylePlugin::metaObject
+24 QStylePlugin::qt_metacast
+32 QStylePlugin::qt_metacall
+40 QStylePlugin::~QStylePlugin
+48 QStylePlugin::~QStylePlugin
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 (int (*)(...))-0x00000000000000010
+136 (int (*)(...))(& _ZTI12QStylePlugin)
+144 QStylePlugin::_ZThn16_N12QStylePluginD1Ev
+152 QStylePlugin::_ZThn16_N12QStylePluginD0Ev
+160 __cxa_pure_virtual
+168 __cxa_pure_virtual
+
+Class QStylePlugin
+ size=24 align=8
+ base size=24 base align=8
+QStylePlugin (0x7ffd12a72f80) 0
+ vptr=((& QStylePlugin::_ZTV12QStylePlugin) + 16u)
+ QObject (0x7ffd12898540) 0
+ primary-for QStylePlugin (0x7ffd12a72f80)
+ QStyleFactoryInterface (0x7ffd128985b0) 16 nearly-empty
+ vptr=((& QStylePlugin::_ZTV12QStylePlugin) + 144u)
+ QFactoryInterface (0x7ffd12898620) 16 nearly-empty
+ primary-for QStyleFactoryInterface (0x7ffd128985b0)
+
+Vtable for QWindowsXPStyle
+QWindowsXPStyle::_ZTV15QWindowsXPStyle: 35u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QWindowsXPStyle)
+16 QWindowsXPStyle::metaObject
+24 QWindowsXPStyle::qt_metacast
+32 QWindowsXPStyle::qt_metacall
+40 QWindowsXPStyle::~QWindowsXPStyle
+48 QWindowsXPStyle::~QWindowsXPStyle
+56 QObject::event
+64 QWindowsStyle::eventFilter
+72 QWindowsStyle::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWindowsXPStyle::polish
+120 QWindowsXPStyle::unpolish
+128 QWindowsXPStyle::polish
+136 QWindowsXPStyle::unpolish
+144 QWindowsXPStyle::polish
+152 QStyle::itemTextRect
+160 QStyle::itemPixmapRect
+168 QStyle::drawItemText
+176 QStyle::drawItemPixmap
+184 QWindowsXPStyle::standardPalette
+192 QWindowsXPStyle::drawPrimitive
+200 QWindowsXPStyle::drawControl
+208 QWindowsXPStyle::subElementRect
+216 QWindowsXPStyle::drawComplexControl
+224 QCommonStyle::hitTestComplexControl
+232 QWindowsXPStyle::subControlRect
+240 QWindowsXPStyle::pixelMetric
+248 QWindowsXPStyle::sizeFromContents
+256 QWindowsXPStyle::styleHint
+264 QWindowsXPStyle::standardPixmap
+272 QCommonStyle::generatedIconPixmap
+
+Class QWindowsXPStyle
+ size=32 align=8
+ base size=32 base align=8
+QWindowsXPStyle (0x7ffd128aa4d0) 0
+ vptr=((& QWindowsXPStyle::_ZTV15QWindowsXPStyle) + 16u)
+ QWindowsStyle (0x7ffd128aa540) 0
+ primary-for QWindowsXPStyle (0x7ffd128aa4d0)
+ QCommonStyle (0x7ffd128aa5b0) 0
+ primary-for QWindowsStyle (0x7ffd128aa540)
+ QStyle (0x7ffd128aa620) 0
+ primary-for QCommonStyle (0x7ffd128aa5b0)
+ QObject (0x7ffd128aa690) 0
+ primary-for QStyle (0x7ffd128aa620)
+
+Vtable for QCDEStyle
+QCDEStyle::_ZTV9QCDEStyle: 35u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QCDEStyle)
+16 QCDEStyle::metaObject
+24 QCDEStyle::qt_metacast
+32 QCDEStyle::qt_metacall
+40 QCDEStyle::~QCDEStyle
+48 QCDEStyle::~QCDEStyle
+56 QMotifStyle::event
+64 QMotifStyle::eventFilter
+72 QMotifStyle::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QMotifStyle::polish
+120 QMotifStyle::unpolish
+128 QMotifStyle::polish
+136 QMotifStyle::unpolish
+144 QMotifStyle::polish
+152 QStyle::itemTextRect
+160 QStyle::itemPixmapRect
+168 QStyle::drawItemText
+176 QStyle::drawItemPixmap
+184 QCDEStyle::standardPalette
+192 QCDEStyle::drawPrimitive
+200 QCDEStyle::drawControl
+208 QMotifStyle::subElementRect
+216 QMotifStyle::drawComplexControl
+224 QCommonStyle::hitTestComplexControl
+232 QMotifStyle::subControlRect
+240 QCDEStyle::pixelMetric
+248 QMotifStyle::sizeFromContents
+256 QMotifStyle::styleHint
+264 QMotifStyle::standardPixmap
+272 QCommonStyle::generatedIconPixmap
+
+Class QCDEStyle
+ size=32 align=8
+ base size=25 base align=8
+QCDEStyle (0x7ffd128cb380) 0
+ vptr=((& QCDEStyle::_ZTV9QCDEStyle) + 16u)
+ QMotifStyle (0x7ffd128cb3f0) 0
+ primary-for QCDEStyle (0x7ffd128cb380)
+ QCommonStyle (0x7ffd128cb460) 0
+ primary-for QMotifStyle (0x7ffd128cb3f0)
+ QStyle (0x7ffd128cb4d0) 0
+ primary-for QCommonStyle (0x7ffd128cb460)
+ QObject (0x7ffd128cb540) 0
+ primary-for QStyle (0x7ffd128cb4d0)
+
+Vtable for QPlastiqueStyle
+QPlastiqueStyle::_ZTV15QPlastiqueStyle: 35u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QPlastiqueStyle)
+16 QPlastiqueStyle::metaObject
+24 QPlastiqueStyle::qt_metacast
+32 QPlastiqueStyle::qt_metacall
+40 QPlastiqueStyle::~QPlastiqueStyle
+48 QPlastiqueStyle::~QPlastiqueStyle
+56 QObject::event
+64 QPlastiqueStyle::eventFilter
+72 QPlastiqueStyle::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QPlastiqueStyle::polish
+120 QPlastiqueStyle::unpolish
+128 QPlastiqueStyle::polish
+136 QPlastiqueStyle::unpolish
+144 QPlastiqueStyle::polish
+152 QStyle::itemTextRect
+160 QStyle::itemPixmapRect
+168 QStyle::drawItemText
+176 QStyle::drawItemPixmap
+184 QPlastiqueStyle::standardPalette
+192 QPlastiqueStyle::drawPrimitive
+200 QPlastiqueStyle::drawControl
+208 QPlastiqueStyle::subElementRect
+216 QPlastiqueStyle::drawComplexControl
+224 QPlastiqueStyle::hitTestComplexControl
+232 QPlastiqueStyle::subControlRect
+240 QPlastiqueStyle::pixelMetric
+248 QPlastiqueStyle::sizeFromContents
+256 QPlastiqueStyle::styleHint
+264 QPlastiqueStyle::standardPixmap
+272 QCommonStyle::generatedIconPixmap
+
+Class QPlastiqueStyle
+ size=32 align=8
+ base size=32 base align=8
+QPlastiqueStyle (0x7ffd128de4d0) 0
+ vptr=((& QPlastiqueStyle::_ZTV15QPlastiqueStyle) + 16u)
+ QWindowsStyle (0x7ffd128de540) 0
+ primary-for QPlastiqueStyle (0x7ffd128de4d0)
+ QCommonStyle (0x7ffd128de5b0) 0
+ primary-for QWindowsStyle (0x7ffd128de540)
+ QStyle (0x7ffd128de620) 0
+ primary-for QCommonStyle (0x7ffd128de5b0)
+ QObject (0x7ffd128de690) 0
+ primary-for QStyle (0x7ffd128de620)
+
+Vtable for QWindowsVistaStyle
+QWindowsVistaStyle::_ZTV18QWindowsVistaStyle: 35u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QWindowsVistaStyle)
+16 QWindowsVistaStyle::metaObject
+24 QWindowsVistaStyle::qt_metacast
+32 QWindowsVistaStyle::qt_metacall
+40 QWindowsVistaStyle::~QWindowsVistaStyle
+48 QWindowsVistaStyle::~QWindowsVistaStyle
+56 QWindowsVistaStyle::event
+64 QWindowsStyle::eventFilter
+72 QWindowsStyle::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWindowsVistaStyle::polish
+120 QWindowsVistaStyle::unpolish
+128 QWindowsVistaStyle::polish
+136 QWindowsVistaStyle::unpolish
+144 QWindowsVistaStyle::polish
+152 QStyle::itemTextRect
+160 QStyle::itemPixmapRect
+168 QStyle::drawItemText
+176 QStyle::drawItemPixmap
+184 QWindowsVistaStyle::standardPalette
+192 QWindowsVistaStyle::drawPrimitive
+200 QWindowsVistaStyle::drawControl
+208 QWindowsVistaStyle::subElementRect
+216 QWindowsVistaStyle::drawComplexControl
+224 QWindowsVistaStyle::hitTestComplexControl
+232 QWindowsVistaStyle::subControlRect
+240 QWindowsVistaStyle::pixelMetric
+248 QWindowsVistaStyle::sizeFromContents
+256 QWindowsVistaStyle::styleHint
+264 QWindowsVistaStyle::standardPixmap
+272 QCommonStyle::generatedIconPixmap
+
+Class QWindowsVistaStyle
+ size=32 align=8
+ base size=32 base align=8
+QWindowsVistaStyle (0x7ffd128ff620) 0
+ vptr=((& QWindowsVistaStyle::_ZTV18QWindowsVistaStyle) + 16u)
+ QWindowsXPStyle (0x7ffd128ff690) 0
+ primary-for QWindowsVistaStyle (0x7ffd128ff620)
+ QWindowsStyle (0x7ffd128ff700) 0
+ primary-for QWindowsXPStyle (0x7ffd128ff690)
+ QCommonStyle (0x7ffd128ff770) 0
+ primary-for QWindowsStyle (0x7ffd128ff700)
+ QStyle (0x7ffd128ff7e0) 0
+ primary-for QCommonStyle (0x7ffd128ff770)
+ QObject (0x7ffd128ff850) 0
+ primary-for QStyle (0x7ffd128ff7e0)
+
+Vtable for QWindowsCEStyle
+QWindowsCEStyle::_ZTV15QWindowsCEStyle: 35u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QWindowsCEStyle)
+16 QWindowsCEStyle::metaObject
+24 QWindowsCEStyle::qt_metacast
+32 QWindowsCEStyle::qt_metacall
+40 QWindowsCEStyle::~QWindowsCEStyle
+48 QWindowsCEStyle::~QWindowsCEStyle
+56 QObject::event
+64 QWindowsStyle::eventFilter
+72 QWindowsStyle::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWindowsCEStyle::polish
+120 QWindowsStyle::unpolish
+128 QWindowsCEStyle::polish
+136 QWindowsStyle::unpolish
+144 QWindowsCEStyle::polish
+152 QStyle::itemTextRect
+160 QStyle::itemPixmapRect
+168 QWindowsCEStyle::drawItemText
+176 QStyle::drawItemPixmap
+184 QWindowsCEStyle::standardPalette
+192 QWindowsCEStyle::drawPrimitive
+200 QWindowsCEStyle::drawControl
+208 QWindowsCEStyle::subElementRect
+216 QWindowsCEStyle::drawComplexControl
+224 QWindowsCEStyle::hitTestComplexControl
+232 QWindowsCEStyle::subControlRect
+240 QWindowsCEStyle::pixelMetric
+248 QWindowsCEStyle::sizeFromContents
+256 QWindowsCEStyle::styleHint
+264 QWindowsCEStyle::standardPixmap
+272 QCommonStyle::generatedIconPixmap
+
+Class QWindowsCEStyle
+ size=24 align=8
+ base size=24 base align=8
+QWindowsCEStyle (0x7ffd1291d620) 0
+ vptr=((& QWindowsCEStyle::_ZTV15QWindowsCEStyle) + 16u)
+ QWindowsStyle (0x7ffd1291d690) 0
+ primary-for QWindowsCEStyle (0x7ffd1291d620)
+ QCommonStyle (0x7ffd1291d700) 0
+ primary-for QWindowsStyle (0x7ffd1291d690)
+ QStyle (0x7ffd1291d770) 0
+ primary-for QCommonStyle (0x7ffd1291d700)
+ QObject (0x7ffd1291d7e0) 0
+ primary-for QStyle (0x7ffd1291d770)
+
+Vtable for QWindowsMobileStyle
+QWindowsMobileStyle::_ZTV19QWindowsMobileStyle: 35u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QWindowsMobileStyle)
+16 QWindowsMobileStyle::metaObject
+24 QWindowsMobileStyle::qt_metacast
+32 QWindowsMobileStyle::qt_metacall
+40 QWindowsMobileStyle::~QWindowsMobileStyle
+48 QWindowsMobileStyle::~QWindowsMobileStyle
+56 QObject::event
+64 QWindowsStyle::eventFilter
+72 QWindowsStyle::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWindowsMobileStyle::polish
+120 QWindowsMobileStyle::unpolish
+128 QWindowsMobileStyle::polish
+136 QWindowsMobileStyle::unpolish
+144 QWindowsMobileStyle::polish
+152 QStyle::itemTextRect
+160 QStyle::itemPixmapRect
+168 QStyle::drawItemText
+176 QStyle::drawItemPixmap
+184 QWindowsMobileStyle::standardPalette
+192 QWindowsMobileStyle::drawPrimitive
+200 QWindowsMobileStyle::drawControl
+208 QWindowsMobileStyle::subElementRect
+216 QWindowsMobileStyle::drawComplexControl
+224 QCommonStyle::hitTestComplexControl
+232 QWindowsMobileStyle::subControlRect
+240 QWindowsMobileStyle::pixelMetric
+248 QWindowsMobileStyle::sizeFromContents
+256 QWindowsMobileStyle::styleHint
+264 QWindowsMobileStyle::standardPixmap
+272 QWindowsMobileStyle::generatedIconPixmap
+
+Class QWindowsMobileStyle
+ size=24 align=8
+ base size=24 base align=8
+QWindowsMobileStyle (0x7ffd12930d20) 0
+ vptr=((& QWindowsMobileStyle::_ZTV19QWindowsMobileStyle) + 16u)
+ QWindowsStyle (0x7ffd12930d90) 0
+ primary-for QWindowsMobileStyle (0x7ffd12930d20)
+ QCommonStyle (0x7ffd12930e00) 0
+ primary-for QWindowsStyle (0x7ffd12930d90)
+ QStyle (0x7ffd12930e70) 0
+ primary-for QCommonStyle (0x7ffd12930e00)
+ QObject (0x7ffd12930ee0) 0
+ primary-for QStyle (0x7ffd12930e70)
+
+Class QStyleFactory
+ size=1 align=1
+ base size=0 base align=1
+QStyleFactory (0x7ffd12956690) 0 empty
+
+Vtable for QInputContextFactoryInterface
+QInputContextFactoryInterface::_ZTV29QInputContextFactoryInterface: 9u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI29QInputContextFactoryInterface)
+16 QInputContextFactoryInterface::~QInputContextFactoryInterface
+24 QInputContextFactoryInterface::~QInputContextFactoryInterface
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+48 __cxa_pure_virtual
+56 __cxa_pure_virtual
+64 __cxa_pure_virtual
+
+Class QInputContextFactoryInterface
+ size=8 align=8
+ base size=8 base align=8
+QInputContextFactoryInterface (0x7ffd12956700) 0 nearly-empty
+ vptr=((& QInputContextFactoryInterface::_ZTV29QInputContextFactoryInterface) + 16u)
+ QFactoryInterface (0x7ffd12956770) 0 nearly-empty
+ primary-for QInputContextFactoryInterface (0x7ffd12956700)
+
+Vtable for QInputContextPlugin
+QInputContextPlugin::_ZTV19QInputContextPlugin: 28u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QInputContextPlugin)
+16 QInputContextPlugin::metaObject
+24 QInputContextPlugin::qt_metacast
+32 QInputContextPlugin::qt_metacall
+40 QInputContextPlugin::~QInputContextPlugin
+48 QInputContextPlugin::~QInputContextPlugin
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 __cxa_pure_virtual
+136 __cxa_pure_virtual
+144 __cxa_pure_virtual
+152 (int (*)(...))-0x00000000000000010
+160 (int (*)(...))(& _ZTI19QInputContextPlugin)
+168 QInputContextPlugin::_ZThn16_N19QInputContextPluginD1Ev
+176 QInputContextPlugin::_ZThn16_N19QInputContextPluginD0Ev
+184 __cxa_pure_virtual
+192 __cxa_pure_virtual
+200 __cxa_pure_virtual
+208 __cxa_pure_virtual
+216 __cxa_pure_virtual
+
+Class QInputContextPlugin
+ size=24 align=8
+ base size=24 base align=8
+QInputContextPlugin (0x7ffd12950d80) 0
+ vptr=((& QInputContextPlugin::_ZTV19QInputContextPlugin) + 16u)
+ QObject (0x7ffd12956f50) 0
+ primary-for QInputContextPlugin (0x7ffd12950d80)
+ QInputContextFactoryInterface (0x7ffd129567e0) 16 nearly-empty
+ vptr=((& QInputContextPlugin::_ZTV19QInputContextPlugin) + 168u)
+ QFactoryInterface (0x7ffd12961000) 16 nearly-empty
+ primary-for QInputContextFactoryInterface (0x7ffd129567e0)
+
+Class QInputContextFactory
+ size=1 align=1
+ base size=0 base align=1
+QInputContextFactory (0x7ffd12961ee0) 0 empty
+
+Vtable for QInputContext
+QInputContext::_ZTV13QInputContext: 26u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QInputContext)
+16 QInputContext::metaObject
+24 QInputContext::qt_metacast
+32 QInputContext::qt_metacall
+40 QInputContext::~QInputContext
+48 QInputContext::~QInputContext
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 __cxa_pure_virtual
+136 QInputContext::update
+144 QInputContext::mouseHandler
+152 QInputContext::font
+160 __cxa_pure_virtual
+168 QInputContext::setFocusWidget
+176 QInputContext::widgetDestroyed
+184 QInputContext::actions
+192 QInputContext::x11FilterEvent
+200 QInputContext::filterEvent
+
+Class QInputContext
+ size=16 align=8
+ base size=16 base align=8
+QInputContext (0x7ffd12961f50) 0
+ vptr=((& QInputContext::_ZTV13QInputContext) + 16u)
+ QObject (0x7ffd129612a0) 0
+ primary-for QInputContext (0x7ffd12961f50)
+
+Vtable for QGraphicsItem
+QGraphicsItem::_ZTV13QGraphicsItem: 39u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QGraphicsItem)
+16 QGraphicsItem::~QGraphicsItem
+24 QGraphicsItem::~QGraphicsItem
+32 QGraphicsItem::advance
+40 __cxa_pure_virtual
+48 QGraphicsItem::shape
+56 QGraphicsItem::contains
+64 QGraphicsItem::collidesWithItem
+72 QGraphicsItem::collidesWithPath
+80 QGraphicsItem::isObscuredBy
+88 QGraphicsItem::opaqueArea
+96 __cxa_pure_virtual
+104 QGraphicsItem::type
+112 QGraphicsItem::sceneEventFilter
+120 QGraphicsItem::sceneEvent
+128 QGraphicsItem::contextMenuEvent
+136 QGraphicsItem::dragEnterEvent
+144 QGraphicsItem::dragLeaveEvent
+152 QGraphicsItem::dragMoveEvent
+160 QGraphicsItem::dropEvent
+168 QGraphicsItem::focusInEvent
+176 QGraphicsItem::focusOutEvent
+184 QGraphicsItem::hoverEnterEvent
+192 QGraphicsItem::hoverMoveEvent
+200 QGraphicsItem::hoverLeaveEvent
+208 QGraphicsItem::keyPressEvent
+216 QGraphicsItem::keyReleaseEvent
+224 QGraphicsItem::mousePressEvent
+232 QGraphicsItem::mouseMoveEvent
+240 QGraphicsItem::mouseReleaseEvent
+248 QGraphicsItem::mouseDoubleClickEvent
+256 QGraphicsItem::wheelEvent
+264 QGraphicsItem::inputMethodEvent
+272 QGraphicsItem::inputMethodQuery
+280 QGraphicsItem::itemChange
+288 QGraphicsItem::supportsExtension
+296 QGraphicsItem::setExtension
+304 QGraphicsItem::extension
+
+Class QGraphicsItem
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsItem (0x7ffd12789850) 0
+ vptr=((& QGraphicsItem::_ZTV13QGraphicsItem) + 16u)
+
+Vtable for QAbstractGraphicsShapeItem
+QAbstractGraphicsShapeItem::_ZTV26QAbstractGraphicsShapeItem: 39u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI26QAbstractGraphicsShapeItem)
+16 QAbstractGraphicsShapeItem::~QAbstractGraphicsShapeItem
+24 QAbstractGraphicsShapeItem::~QAbstractGraphicsShapeItem
+32 QGraphicsItem::advance
+40 __cxa_pure_virtual
+48 QGraphicsItem::shape
+56 QGraphicsItem::contains
+64 QGraphicsItem::collidesWithItem
+72 QGraphicsItem::collidesWithPath
+80 QAbstractGraphicsShapeItem::isObscuredBy
+88 QAbstractGraphicsShapeItem::opaqueArea
+96 __cxa_pure_virtual
+104 QGraphicsItem::type
+112 QGraphicsItem::sceneEventFilter
+120 QGraphicsItem::sceneEvent
+128 QGraphicsItem::contextMenuEvent
+136 QGraphicsItem::dragEnterEvent
+144 QGraphicsItem::dragLeaveEvent
+152 QGraphicsItem::dragMoveEvent
+160 QGraphicsItem::dropEvent
+168 QGraphicsItem::focusInEvent
+176 QGraphicsItem::focusOutEvent
+184 QGraphicsItem::hoverEnterEvent
+192 QGraphicsItem::hoverMoveEvent
+200 QGraphicsItem::hoverLeaveEvent
+208 QGraphicsItem::keyPressEvent
+216 QGraphicsItem::keyReleaseEvent
+224 QGraphicsItem::mousePressEvent
+232 QGraphicsItem::mouseMoveEvent
+240 QGraphicsItem::mouseReleaseEvent
+248 QGraphicsItem::mouseDoubleClickEvent
+256 QGraphicsItem::wheelEvent
+264 QGraphicsItem::inputMethodEvent
+272 QGraphicsItem::inputMethodQuery
+280 QGraphicsItem::itemChange
+288 QGraphicsItem::supportsExtension
+296 QGraphicsItem::setExtension
+304 QGraphicsItem::extension
+
+Class QAbstractGraphicsShapeItem
+ size=16 align=8
+ base size=16 base align=8
+QAbstractGraphicsShapeItem (0x7ffd12860380) 0
+ vptr=((& QAbstractGraphicsShapeItem::_ZTV26QAbstractGraphicsShapeItem) + 16u)
+ QGraphicsItem (0x7ffd128603f0) 0
+ primary-for QAbstractGraphicsShapeItem (0x7ffd12860380)
+
+Vtable for QGraphicsPathItem
+QGraphicsPathItem::_ZTV17QGraphicsPathItem: 39u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QGraphicsPathItem)
+16 QGraphicsPathItem::~QGraphicsPathItem
+24 QGraphicsPathItem::~QGraphicsPathItem
+32 QGraphicsItem::advance
+40 QGraphicsPathItem::boundingRect
+48 QGraphicsPathItem::shape
+56 QGraphicsPathItem::contains
+64 QGraphicsItem::collidesWithItem
+72 QGraphicsItem::collidesWithPath
+80 QGraphicsPathItem::isObscuredBy
+88 QGraphicsPathItem::opaqueArea
+96 QGraphicsPathItem::paint
+104 QGraphicsPathItem::type
+112 QGraphicsItem::sceneEventFilter
+120 QGraphicsItem::sceneEvent
+128 QGraphicsItem::contextMenuEvent
+136 QGraphicsItem::dragEnterEvent
+144 QGraphicsItem::dragLeaveEvent
+152 QGraphicsItem::dragMoveEvent
+160 QGraphicsItem::dropEvent
+168 QGraphicsItem::focusInEvent
+176 QGraphicsItem::focusOutEvent
+184 QGraphicsItem::hoverEnterEvent
+192 QGraphicsItem::hoverMoveEvent
+200 QGraphicsItem::hoverLeaveEvent
+208 QGraphicsItem::keyPressEvent
+216 QGraphicsItem::keyReleaseEvent
+224 QGraphicsItem::mousePressEvent
+232 QGraphicsItem::mouseMoveEvent
+240 QGraphicsItem::mouseReleaseEvent
+248 QGraphicsItem::mouseDoubleClickEvent
+256 QGraphicsItem::wheelEvent
+264 QGraphicsItem::inputMethodEvent
+272 QGraphicsItem::inputMethodQuery
+280 QGraphicsItem::itemChange
+288 QGraphicsPathItem::supportsExtension
+296 QGraphicsPathItem::setExtension
+304 QGraphicsPathItem::extension
+
+Class QGraphicsPathItem
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsPathItem (0x7ffd1286b1c0) 0
+ vptr=((& QGraphicsPathItem::_ZTV17QGraphicsPathItem) + 16u)
+ QAbstractGraphicsShapeItem (0x7ffd1286b230) 0
+ primary-for QGraphicsPathItem (0x7ffd1286b1c0)
+ QGraphicsItem (0x7ffd1286b2a0) 0
+ primary-for QAbstractGraphicsShapeItem (0x7ffd1286b230)
+
+Vtable for QGraphicsRectItem
+QGraphicsRectItem::_ZTV17QGraphicsRectItem: 39u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QGraphicsRectItem)
+16 QGraphicsRectItem::~QGraphicsRectItem
+24 QGraphicsRectItem::~QGraphicsRectItem
+32 QGraphicsItem::advance
+40 QGraphicsRectItem::boundingRect
+48 QGraphicsRectItem::shape
+56 QGraphicsRectItem::contains
+64 QGraphicsItem::collidesWithItem
+72 QGraphicsItem::collidesWithPath
+80 QGraphicsRectItem::isObscuredBy
+88 QGraphicsRectItem::opaqueArea
+96 QGraphicsRectItem::paint
+104 QGraphicsRectItem::type
+112 QGraphicsItem::sceneEventFilter
+120 QGraphicsItem::sceneEvent
+128 QGraphicsItem::contextMenuEvent
+136 QGraphicsItem::dragEnterEvent
+144 QGraphicsItem::dragLeaveEvent
+152 QGraphicsItem::dragMoveEvent
+160 QGraphicsItem::dropEvent
+168 QGraphicsItem::focusInEvent
+176 QGraphicsItem::focusOutEvent
+184 QGraphicsItem::hoverEnterEvent
+192 QGraphicsItem::hoverMoveEvent
+200 QGraphicsItem::hoverLeaveEvent
+208 QGraphicsItem::keyPressEvent
+216 QGraphicsItem::keyReleaseEvent
+224 QGraphicsItem::mousePressEvent
+232 QGraphicsItem::mouseMoveEvent
+240 QGraphicsItem::mouseReleaseEvent
+248 QGraphicsItem::mouseDoubleClickEvent
+256 QGraphicsItem::wheelEvent
+264 QGraphicsItem::inputMethodEvent
+272 QGraphicsItem::inputMethodQuery
+280 QGraphicsItem::itemChange
+288 QGraphicsRectItem::supportsExtension
+296 QGraphicsRectItem::setExtension
+304 QGraphicsRectItem::extension
+
+Class QGraphicsRectItem
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsRectItem (0x7ffd1287d150) 0
+ vptr=((& QGraphicsRectItem::_ZTV17QGraphicsRectItem) + 16u)
+ QAbstractGraphicsShapeItem (0x7ffd1287d1c0) 0
+ primary-for QGraphicsRectItem (0x7ffd1287d150)
+ QGraphicsItem (0x7ffd1287d230) 0
+ primary-for QAbstractGraphicsShapeItem (0x7ffd1287d1c0)
+
+Vtable for QGraphicsEllipseItem
+QGraphicsEllipseItem::_ZTV20QGraphicsEllipseItem: 39u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI20QGraphicsEllipseItem)
+16 QGraphicsEllipseItem::~QGraphicsEllipseItem
+24 QGraphicsEllipseItem::~QGraphicsEllipseItem
+32 QGraphicsItem::advance
+40 QGraphicsEllipseItem::boundingRect
+48 QGraphicsEllipseItem::shape
+56 QGraphicsEllipseItem::contains
+64 QGraphicsItem::collidesWithItem
+72 QGraphicsItem::collidesWithPath
+80 QGraphicsEllipseItem::isObscuredBy
+88 QGraphicsEllipseItem::opaqueArea
+96 QGraphicsEllipseItem::paint
+104 QGraphicsEllipseItem::type
+112 QGraphicsItem::sceneEventFilter
+120 QGraphicsItem::sceneEvent
+128 QGraphicsItem::contextMenuEvent
+136 QGraphicsItem::dragEnterEvent
+144 QGraphicsItem::dragLeaveEvent
+152 QGraphicsItem::dragMoveEvent
+160 QGraphicsItem::dropEvent
+168 QGraphicsItem::focusInEvent
+176 QGraphicsItem::focusOutEvent
+184 QGraphicsItem::hoverEnterEvent
+192 QGraphicsItem::hoverMoveEvent
+200 QGraphicsItem::hoverLeaveEvent
+208 QGraphicsItem::keyPressEvent
+216 QGraphicsItem::keyReleaseEvent
+224 QGraphicsItem::mousePressEvent
+232 QGraphicsItem::mouseMoveEvent
+240 QGraphicsItem::mouseReleaseEvent
+248 QGraphicsItem::mouseDoubleClickEvent
+256 QGraphicsItem::wheelEvent
+264 QGraphicsItem::inputMethodEvent
+272 QGraphicsItem::inputMethodQuery
+280 QGraphicsItem::itemChange
+288 QGraphicsEllipseItem::supportsExtension
+296 QGraphicsEllipseItem::setExtension
+304 QGraphicsEllipseItem::extension
+
+Class QGraphicsEllipseItem
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsEllipseItem (0x7ffd12689460) 0
+ vptr=((& QGraphicsEllipseItem::_ZTV20QGraphicsEllipseItem) + 16u)
+ QAbstractGraphicsShapeItem (0x7ffd126894d0) 0
+ primary-for QGraphicsEllipseItem (0x7ffd12689460)
+ QGraphicsItem (0x7ffd12689540) 0
+ primary-for QAbstractGraphicsShapeItem (0x7ffd126894d0)
+
+Vtable for QGraphicsPolygonItem
+QGraphicsPolygonItem::_ZTV20QGraphicsPolygonItem: 39u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI20QGraphicsPolygonItem)
+16 QGraphicsPolygonItem::~QGraphicsPolygonItem
+24 QGraphicsPolygonItem::~QGraphicsPolygonItem
+32 QGraphicsItem::advance
+40 QGraphicsPolygonItem::boundingRect
+48 QGraphicsPolygonItem::shape
+56 QGraphicsPolygonItem::contains
+64 QGraphicsItem::collidesWithItem
+72 QGraphicsItem::collidesWithPath
+80 QGraphicsPolygonItem::isObscuredBy
+88 QGraphicsPolygonItem::opaqueArea
+96 QGraphicsPolygonItem::paint
+104 QGraphicsPolygonItem::type
+112 QGraphicsItem::sceneEventFilter
+120 QGraphicsItem::sceneEvent
+128 QGraphicsItem::contextMenuEvent
+136 QGraphicsItem::dragEnterEvent
+144 QGraphicsItem::dragLeaveEvent
+152 QGraphicsItem::dragMoveEvent
+160 QGraphicsItem::dropEvent
+168 QGraphicsItem::focusInEvent
+176 QGraphicsItem::focusOutEvent
+184 QGraphicsItem::hoverEnterEvent
+192 QGraphicsItem::hoverMoveEvent
+200 QGraphicsItem::hoverLeaveEvent
+208 QGraphicsItem::keyPressEvent
+216 QGraphicsItem::keyReleaseEvent
+224 QGraphicsItem::mousePressEvent
+232 QGraphicsItem::mouseMoveEvent
+240 QGraphicsItem::mouseReleaseEvent
+248 QGraphicsItem::mouseDoubleClickEvent
+256 QGraphicsItem::wheelEvent
+264 QGraphicsItem::inputMethodEvent
+272 QGraphicsItem::inputMethodQuery
+280 QGraphicsItem::itemChange
+288 QGraphicsPolygonItem::supportsExtension
+296 QGraphicsPolygonItem::setExtension
+304 QGraphicsPolygonItem::extension
+
+Class QGraphicsPolygonItem
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsPolygonItem (0x7ffd1269c770) 0
+ vptr=((& QGraphicsPolygonItem::_ZTV20QGraphicsPolygonItem) + 16u)
+ QAbstractGraphicsShapeItem (0x7ffd1269c7e0) 0
+ primary-for QGraphicsPolygonItem (0x7ffd1269c770)
+ QGraphicsItem (0x7ffd1269c850) 0
+ primary-for QAbstractGraphicsShapeItem (0x7ffd1269c7e0)
+
+Vtable for QGraphicsLineItem
+QGraphicsLineItem::_ZTV17QGraphicsLineItem: 39u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QGraphicsLineItem)
+16 QGraphicsLineItem::~QGraphicsLineItem
+24 QGraphicsLineItem::~QGraphicsLineItem
+32 QGraphicsItem::advance
+40 QGraphicsLineItem::boundingRect
+48 QGraphicsLineItem::shape
+56 QGraphicsLineItem::contains
+64 QGraphicsItem::collidesWithItem
+72 QGraphicsItem::collidesWithPath
+80 QGraphicsLineItem::isObscuredBy
+88 QGraphicsLineItem::opaqueArea
+96 QGraphicsLineItem::paint
+104 QGraphicsLineItem::type
+112 QGraphicsItem::sceneEventFilter
+120 QGraphicsItem::sceneEvent
+128 QGraphicsItem::contextMenuEvent
+136 QGraphicsItem::dragEnterEvent
+144 QGraphicsItem::dragLeaveEvent
+152 QGraphicsItem::dragMoveEvent
+160 QGraphicsItem::dropEvent
+168 QGraphicsItem::focusInEvent
+176 QGraphicsItem::focusOutEvent
+184 QGraphicsItem::hoverEnterEvent
+192 QGraphicsItem::hoverMoveEvent
+200 QGraphicsItem::hoverLeaveEvent
+208 QGraphicsItem::keyPressEvent
+216 QGraphicsItem::keyReleaseEvent
+224 QGraphicsItem::mousePressEvent
+232 QGraphicsItem::mouseMoveEvent
+240 QGraphicsItem::mouseReleaseEvent
+248 QGraphicsItem::mouseDoubleClickEvent
+256 QGraphicsItem::wheelEvent
+264 QGraphicsItem::inputMethodEvent
+272 QGraphicsItem::inputMethodQuery
+280 QGraphicsItem::itemChange
+288 QGraphicsLineItem::supportsExtension
+296 QGraphicsLineItem::setExtension
+304 QGraphicsLineItem::extension
+
+Class QGraphicsLineItem
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsLineItem (0x7ffd126ad770) 0
+ vptr=((& QGraphicsLineItem::_ZTV17QGraphicsLineItem) + 16u)
+ QGraphicsItem (0x7ffd126ad7e0) 0
+ primary-for QGraphicsLineItem (0x7ffd126ad770)
+
+Vtable for QGraphicsPixmapItem
+QGraphicsPixmapItem::_ZTV19QGraphicsPixmapItem: 39u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QGraphicsPixmapItem)
+16 QGraphicsPixmapItem::~QGraphicsPixmapItem
+24 QGraphicsPixmapItem::~QGraphicsPixmapItem
+32 QGraphicsItem::advance
+40 QGraphicsPixmapItem::boundingRect
+48 QGraphicsPixmapItem::shape
+56 QGraphicsPixmapItem::contains
+64 QGraphicsItem::collidesWithItem
+72 QGraphicsItem::collidesWithPath
+80 QGraphicsPixmapItem::isObscuredBy
+88 QGraphicsPixmapItem::opaqueArea
+96 QGraphicsPixmapItem::paint
+104 QGraphicsPixmapItem::type
+112 QGraphicsItem::sceneEventFilter
+120 QGraphicsItem::sceneEvent
+128 QGraphicsItem::contextMenuEvent
+136 QGraphicsItem::dragEnterEvent
+144 QGraphicsItem::dragLeaveEvent
+152 QGraphicsItem::dragMoveEvent
+160 QGraphicsItem::dropEvent
+168 QGraphicsItem::focusInEvent
+176 QGraphicsItem::focusOutEvent
+184 QGraphicsItem::hoverEnterEvent
+192 QGraphicsItem::hoverMoveEvent
+200 QGraphicsItem::hoverLeaveEvent
+208 QGraphicsItem::keyPressEvent
+216 QGraphicsItem::keyReleaseEvent
+224 QGraphicsItem::mousePressEvent
+232 QGraphicsItem::mouseMoveEvent
+240 QGraphicsItem::mouseReleaseEvent
+248 QGraphicsItem::mouseDoubleClickEvent
+256 QGraphicsItem::wheelEvent
+264 QGraphicsItem::inputMethodEvent
+272 QGraphicsItem::inputMethodQuery
+280 QGraphicsItem::itemChange
+288 QGraphicsPixmapItem::supportsExtension
+296 QGraphicsPixmapItem::setExtension
+304 QGraphicsPixmapItem::extension
+
+Class QGraphicsPixmapItem
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsPixmapItem (0x7ffd126bea10) 0
+ vptr=((& QGraphicsPixmapItem::_ZTV19QGraphicsPixmapItem) + 16u)
+ QGraphicsItem (0x7ffd126bea80) 0
+ primary-for QGraphicsPixmapItem (0x7ffd126bea10)
+
+Vtable for QGraphicsTextItem
+QGraphicsTextItem::_ZTV17QGraphicsTextItem: 82u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QGraphicsTextItem)
+16 QGraphicsTextItem::metaObject
+24 QGraphicsTextItem::qt_metacast
+32 QGraphicsTextItem::qt_metacall
+40 QGraphicsTextItem::~QGraphicsTextItem
+48 QGraphicsTextItem::~QGraphicsTextItem
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QGraphicsTextItem::boundingRect
+120 QGraphicsTextItem::shape
+128 QGraphicsTextItem::contains
+136 QGraphicsTextItem::paint
+144 QGraphicsTextItem::isObscuredBy
+152 QGraphicsTextItem::opaqueArea
+160 QGraphicsTextItem::type
+168 QGraphicsTextItem::sceneEvent
+176 QGraphicsTextItem::mousePressEvent
+184 QGraphicsTextItem::mouseMoveEvent
+192 QGraphicsTextItem::mouseReleaseEvent
+200 QGraphicsTextItem::mouseDoubleClickEvent
+208 QGraphicsTextItem::contextMenuEvent
+216 QGraphicsTextItem::keyPressEvent
+224 QGraphicsTextItem::keyReleaseEvent
+232 QGraphicsTextItem::focusInEvent
+240 QGraphicsTextItem::focusOutEvent
+248 QGraphicsTextItem::dragEnterEvent
+256 QGraphicsTextItem::dragLeaveEvent
+264 QGraphicsTextItem::dragMoveEvent
+272 QGraphicsTextItem::dropEvent
+280 QGraphicsTextItem::inputMethodEvent
+288 QGraphicsTextItem::hoverEnterEvent
+296 QGraphicsTextItem::hoverMoveEvent
+304 QGraphicsTextItem::hoverLeaveEvent
+312 QGraphicsTextItem::inputMethodQuery
+320 QGraphicsTextItem::supportsExtension
+328 QGraphicsTextItem::setExtension
+336 QGraphicsTextItem::extension
+344 (int (*)(...))-0x00000000000000010
+352 (int (*)(...))(& _ZTI17QGraphicsTextItem)
+360 QGraphicsTextItem::_ZThn16_N17QGraphicsTextItemD1Ev
+368 QGraphicsTextItem::_ZThn16_N17QGraphicsTextItemD0Ev
+376 QGraphicsItem::advance
+384 QGraphicsTextItem::_ZThn16_NK17QGraphicsTextItem12boundingRectEv
+392 QGraphicsTextItem::_ZThn16_NK17QGraphicsTextItem5shapeEv
+400 QGraphicsTextItem::_ZThn16_NK17QGraphicsTextItem8containsERK7QPointF
+408 QGraphicsItem::collidesWithItem
+416 QGraphicsItem::collidesWithPath
+424 QGraphicsTextItem::_ZThn16_NK17QGraphicsTextItem12isObscuredByEPK13QGraphicsItem
+432 QGraphicsTextItem::_ZThn16_NK17QGraphicsTextItem10opaqueAreaEv
+440 QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem5paintEP8QPainterPK24QStyleOptionGraphicsItemP7QWidget
+448 QGraphicsTextItem::_ZThn16_NK17QGraphicsTextItem4typeEv
+456 QGraphicsItem::sceneEventFilter
+464 QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem10sceneEventEP6QEvent
+472 QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem16contextMenuEventEP30QGraphicsSceneContextMenuEvent
+480 QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem14dragEnterEventEP27QGraphicsSceneDragDropEvent
+488 QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem14dragLeaveEventEP27QGraphicsSceneDragDropEvent
+496 QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem13dragMoveEventEP27QGraphicsSceneDragDropEvent
+504 QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem9dropEventEP27QGraphicsSceneDragDropEvent
+512 QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem12focusInEventEP11QFocusEvent
+520 QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem13focusOutEventEP11QFocusEvent
+528 QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem15hoverEnterEventEP24QGraphicsSceneHoverEvent
+536 QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem14hoverMoveEventEP24QGraphicsSceneHoverEvent
+544 QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem15hoverLeaveEventEP24QGraphicsSceneHoverEvent
+552 QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem13keyPressEventEP9QKeyEvent
+560 QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem15keyReleaseEventEP9QKeyEvent
+568 QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem15mousePressEventEP24QGraphicsSceneMouseEvent
+576 QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem14mouseMoveEventEP24QGraphicsSceneMouseEvent
+584 QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem17mouseReleaseEventEP24QGraphicsSceneMouseEvent
+592 QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem21mouseDoubleClickEventEP24QGraphicsSceneMouseEvent
+600 QGraphicsItem::wheelEvent
+608 QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem16inputMethodEventEP17QInputMethodEvent
+616 QGraphicsTextItem::_ZThn16_NK17QGraphicsTextItem16inputMethodQueryEN2Qt16InputMethodQueryE
+624 QGraphicsItem::itemChange
+632 QGraphicsTextItem::_ZThn16_NK17QGraphicsTextItem17supportsExtensionEN13QGraphicsItem9ExtensionE
+640 QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem12setExtensionEN13QGraphicsItem9ExtensionERK8QVariant
+648 QGraphicsTextItem::_ZThn16_NK17QGraphicsTextItem9extensionERK8QVariant
+
+Class QGraphicsTextItem
+ size=40 align=8
+ base size=40 base align=8
+QGraphicsTextItem (0x7ffd1269ef80) 0
+ vptr=((& QGraphicsTextItem::_ZTV17QGraphicsTextItem) + 16u)
+ QObject (0x7ffd126cfc40) 0
+ primary-for QGraphicsTextItem (0x7ffd1269ef80)
+ QGraphicsItem (0x7ffd126cfcb0) 16
+ vptr=((& QGraphicsTextItem::_ZTV17QGraphicsTextItem) + 360u)
+
+Vtable for QGraphicsSimpleTextItem
+QGraphicsSimpleTextItem::_ZTV23QGraphicsSimpleTextItem: 39u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI23QGraphicsSimpleTextItem)
+16 QGraphicsSimpleTextItem::~QGraphicsSimpleTextItem
+24 QGraphicsSimpleTextItem::~QGraphicsSimpleTextItem
+32 QGraphicsItem::advance
+40 QGraphicsSimpleTextItem::boundingRect
+48 QGraphicsSimpleTextItem::shape
+56 QGraphicsSimpleTextItem::contains
+64 QGraphicsItem::collidesWithItem
+72 QGraphicsItem::collidesWithPath
+80 QGraphicsSimpleTextItem::isObscuredBy
+88 QGraphicsSimpleTextItem::opaqueArea
+96 QGraphicsSimpleTextItem::paint
+104 QGraphicsSimpleTextItem::type
+112 QGraphicsItem::sceneEventFilter
+120 QGraphicsItem::sceneEvent
+128 QGraphicsItem::contextMenuEvent
+136 QGraphicsItem::dragEnterEvent
+144 QGraphicsItem::dragLeaveEvent
+152 QGraphicsItem::dragMoveEvent
+160 QGraphicsItem::dropEvent
+168 QGraphicsItem::focusInEvent
+176 QGraphicsItem::focusOutEvent
+184 QGraphicsItem::hoverEnterEvent
+192 QGraphicsItem::hoverMoveEvent
+200 QGraphicsItem::hoverLeaveEvent
+208 QGraphicsItem::keyPressEvent
+216 QGraphicsItem::keyReleaseEvent
+224 QGraphicsItem::mousePressEvent
+232 QGraphicsItem::mouseMoveEvent
+240 QGraphicsItem::mouseReleaseEvent
+248 QGraphicsItem::mouseDoubleClickEvent
+256 QGraphicsItem::wheelEvent
+264 QGraphicsItem::inputMethodEvent
+272 QGraphicsItem::inputMethodQuery
+280 QGraphicsItem::itemChange
+288 QGraphicsSimpleTextItem::supportsExtension
+296 QGraphicsSimpleTextItem::setExtension
+304 QGraphicsSimpleTextItem::extension
+
+Class QGraphicsSimpleTextItem
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsSimpleTextItem (0x7ffd127081c0) 0
+ vptr=((& QGraphicsSimpleTextItem::_ZTV23QGraphicsSimpleTextItem) + 16u)
+ QAbstractGraphicsShapeItem (0x7ffd12708230) 0
+ primary-for QGraphicsSimpleTextItem (0x7ffd127081c0)
+ QGraphicsItem (0x7ffd127082a0) 0
+ primary-for QAbstractGraphicsShapeItem (0x7ffd12708230)
+
+Vtable for QGraphicsItemGroup
+QGraphicsItemGroup::_ZTV18QGraphicsItemGroup: 39u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QGraphicsItemGroup)
+16 QGraphicsItemGroup::~QGraphicsItemGroup
+24 QGraphicsItemGroup::~QGraphicsItemGroup
+32 QGraphicsItem::advance
+40 QGraphicsItemGroup::boundingRect
+48 QGraphicsItem::shape
+56 QGraphicsItem::contains
+64 QGraphicsItem::collidesWithItem
+72 QGraphicsItem::collidesWithPath
+80 QGraphicsItemGroup::isObscuredBy
+88 QGraphicsItemGroup::opaqueArea
+96 QGraphicsItemGroup::paint
+104 QGraphicsItemGroup::type
+112 QGraphicsItem::sceneEventFilter
+120 QGraphicsItem::sceneEvent
+128 QGraphicsItem::contextMenuEvent
+136 QGraphicsItem::dragEnterEvent
+144 QGraphicsItem::dragLeaveEvent
+152 QGraphicsItem::dragMoveEvent
+160 QGraphicsItem::dropEvent
+168 QGraphicsItem::focusInEvent
+176 QGraphicsItem::focusOutEvent
+184 QGraphicsItem::hoverEnterEvent
+192 QGraphicsItem::hoverMoveEvent
+200 QGraphicsItem::hoverLeaveEvent
+208 QGraphicsItem::keyPressEvent
+216 QGraphicsItem::keyReleaseEvent
+224 QGraphicsItem::mousePressEvent
+232 QGraphicsItem::mouseMoveEvent
+240 QGraphicsItem::mouseReleaseEvent
+248 QGraphicsItem::mouseDoubleClickEvent
+256 QGraphicsItem::wheelEvent
+264 QGraphicsItem::inputMethodEvent
+272 QGraphicsItem::inputMethodQuery
+280 QGraphicsItem::itemChange
+288 QGraphicsItem::supportsExtension
+296 QGraphicsItem::setExtension
+304 QGraphicsItem::extension
+
+Class QGraphicsItemGroup
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsItemGroup (0x7ffd12717150) 0
+ vptr=((& QGraphicsItemGroup::_ZTV18QGraphicsItemGroup) + 16u)
+ QGraphicsItem (0x7ffd127171c0) 0
+ primary-for QGraphicsItemGroup (0x7ffd12717150)
+
+Vtable for QGraphicsLayoutItem
+QGraphicsLayoutItem::_ZTV19QGraphicsLayoutItem: 8u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QGraphicsLayoutItem)
+16 QGraphicsLayoutItem::~QGraphicsLayoutItem
+24 QGraphicsLayoutItem::~QGraphicsLayoutItem
+32 QGraphicsLayoutItem::setGeometry
+40 QGraphicsLayoutItem::getContentsMargins
+48 QGraphicsLayoutItem::updateGeometry
+56 __cxa_pure_virtual
+
+Class QGraphicsLayoutItem
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsLayoutItem (0x7ffd12726a80) 0
+ vptr=((& QGraphicsLayoutItem::_ZTV19QGraphicsLayoutItem) + 16u)
+
+Vtable for QGraphicsLayout
+QGraphicsLayout::_ZTV15QGraphicsLayout: 13u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QGraphicsLayout)
+16 QGraphicsLayout::~QGraphicsLayout
+24 QGraphicsLayout::~QGraphicsLayout
+32 QGraphicsLayoutItem::setGeometry
+40 QGraphicsLayout::getContentsMargins
+48 QGraphicsLayout::updateGeometry
+56 __cxa_pure_virtual
+64 QGraphicsLayout::invalidate
+72 QGraphicsLayout::widgetEvent
+80 __cxa_pure_virtual
+88 __cxa_pure_virtual
+96 __cxa_pure_virtual
+
+Class QGraphicsLayout
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsLayout (0x7ffd127547e0) 0
+ vptr=((& QGraphicsLayout::_ZTV15QGraphicsLayout) + 16u)
+ QGraphicsLayoutItem (0x7ffd12754850) 0
+ primary-for QGraphicsLayout (0x7ffd127547e0)
+
+Vtable for QGraphicsScene
+QGraphicsScene::_ZTV14QGraphicsScene: 34u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QGraphicsScene)
+16 QGraphicsScene::metaObject
+24 QGraphicsScene::qt_metacast
+32 QGraphicsScene::qt_metacall
+40 QGraphicsScene::~QGraphicsScene
+48 QGraphicsScene::~QGraphicsScene
+56 QGraphicsScene::event
+64 QGraphicsScene::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QGraphicsScene::inputMethodQuery
+120 QGraphicsScene::contextMenuEvent
+128 QGraphicsScene::dragEnterEvent
+136 QGraphicsScene::dragMoveEvent
+144 QGraphicsScene::dragLeaveEvent
+152 QGraphicsScene::dropEvent
+160 QGraphicsScene::focusInEvent
+168 QGraphicsScene::focusOutEvent
+176 QGraphicsScene::helpEvent
+184 QGraphicsScene::keyPressEvent
+192 QGraphicsScene::keyReleaseEvent
+200 QGraphicsScene::mousePressEvent
+208 QGraphicsScene::mouseMoveEvent
+216 QGraphicsScene::mouseReleaseEvent
+224 QGraphicsScene::mouseDoubleClickEvent
+232 QGraphicsScene::wheelEvent
+240 QGraphicsScene::inputMethodEvent
+248 QGraphicsScene::drawBackground
+256 QGraphicsScene::drawForeground
+264 QGraphicsScene::drawItems
+
+Class QGraphicsScene
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsScene (0x7ffd12762700) 0
+ vptr=((& QGraphicsScene::_ZTV14QGraphicsScene) + 16u)
+ QObject (0x7ffd12762770) 0
+ primary-for QGraphicsScene (0x7ffd12762700)
+
+Vtable for QGraphicsLinearLayout
+QGraphicsLinearLayout::_ZTV21QGraphicsLinearLayout: 13u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI21QGraphicsLinearLayout)
+16 QGraphicsLinearLayout::~QGraphicsLinearLayout
+24 QGraphicsLinearLayout::~QGraphicsLinearLayout
+32 QGraphicsLinearLayout::setGeometry
+40 QGraphicsLayout::getContentsMargins
+48 QGraphicsLayout::updateGeometry
+56 QGraphicsLinearLayout::sizeHint
+64 QGraphicsLinearLayout::invalidate
+72 QGraphicsLayout::widgetEvent
+80 QGraphicsLinearLayout::count
+88 QGraphicsLinearLayout::itemAt
+96 QGraphicsLinearLayout::removeAt
+
+Class QGraphicsLinearLayout
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsLinearLayout (0x7ffd12608d20) 0
+ vptr=((& QGraphicsLinearLayout::_ZTV21QGraphicsLinearLayout) + 16u)
+ QGraphicsLayout (0x7ffd12608d90) 0
+ primary-for QGraphicsLinearLayout (0x7ffd12608d20)
+ QGraphicsLayoutItem (0x7ffd12608e00) 0
+ primary-for QGraphicsLayout (0x7ffd12608d90)
+
+Vtable for QScrollArea
+QScrollArea::_ZTV11QScrollArea: 65u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QScrollArea)
+16 QScrollArea::metaObject
+24 QScrollArea::qt_metacast
+32 QScrollArea::qt_metacall
+40 QScrollArea::~QScrollArea
+48 QScrollArea::~QScrollArea
+56 QScrollArea::event
+64 QScrollArea::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QScrollArea::sizeHint
+136 QAbstractScrollArea::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QAbstractScrollArea::mousePressEvent
+168 QAbstractScrollArea::mouseReleaseEvent
+176 QAbstractScrollArea::mouseDoubleClickEvent
+184 QAbstractScrollArea::mouseMoveEvent
+192 QAbstractScrollArea::wheelEvent
+200 QAbstractScrollArea::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QAbstractScrollArea::paintEvent
+256 QWidget::moveEvent
+264 QScrollArea::resizeEvent
+272 QWidget::closeEvent
+280 QAbstractScrollArea::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QAbstractScrollArea::dragEnterEvent
+312 QAbstractScrollArea::dragMoveEvent
+320 QAbstractScrollArea::dragLeaveEvent
+328 QAbstractScrollArea::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QFrame::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QScrollArea::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QAbstractScrollArea::viewportEvent
+456 QScrollArea::scrollContentsBy
+464 (int (*)(...))-0x00000000000000010
+472 (int (*)(...))(& _ZTI11QScrollArea)
+480 QScrollArea::_ZThn16_N11QScrollAreaD1Ev
+488 QScrollArea::_ZThn16_N11QScrollAreaD0Ev
+496 QWidget::_ZThn16_NK7QWidget7devTypeEv
+504 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+512 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QScrollArea
+ size=40 align=8
+ base size=40 base align=8
+QScrollArea (0x7ffd12635540) 0
+ vptr=((& QScrollArea::_ZTV11QScrollArea) + 16u)
+ QAbstractScrollArea (0x7ffd126355b0) 0
+ primary-for QScrollArea (0x7ffd12635540)
+ QFrame (0x7ffd12635620) 0
+ primary-for QAbstractScrollArea (0x7ffd126355b0)
+ QWidget (0x7ffd12607880) 0
+ primary-for QFrame (0x7ffd12635620)
+ QObject (0x7ffd12635690) 0
+ primary-for QWidget (0x7ffd12607880)
+ QPaintDevice (0x7ffd12635700) 16
+ vptr=((& QScrollArea::_ZTV11QScrollArea) + 480u)
+
+Vtable for QGraphicsView
+QGraphicsView::_ZTV13QGraphicsView: 68u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QGraphicsView)
+16 QGraphicsView::metaObject
+24 QGraphicsView::qt_metacast
+32 QGraphicsView::qt_metacall
+40 QGraphicsView::~QGraphicsView
+48 QGraphicsView::~QGraphicsView
+56 QGraphicsView::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QGraphicsView::sizeHint
+136 QAbstractScrollArea::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QGraphicsView::mousePressEvent
+168 QGraphicsView::mouseReleaseEvent
+176 QGraphicsView::mouseDoubleClickEvent
+184 QGraphicsView::mouseMoveEvent
+192 QGraphicsView::wheelEvent
+200 QGraphicsView::keyPressEvent
+208 QGraphicsView::keyReleaseEvent
+216 QGraphicsView::focusInEvent
+224 QGraphicsView::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QGraphicsView::paintEvent
+256 QWidget::moveEvent
+264 QGraphicsView::resizeEvent
+272 QWidget::closeEvent
+280 QGraphicsView::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QGraphicsView::dragEnterEvent
+312 QGraphicsView::dragMoveEvent
+320 QGraphicsView::dragLeaveEvent
+328 QGraphicsView::dropEvent
+336 QGraphicsView::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QFrame::changeEvent
+368 QWidget::metric
+376 QGraphicsView::inputMethodEvent
+384 QGraphicsView::inputMethodQuery
+392 QGraphicsView::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QGraphicsView::viewportEvent
+456 QGraphicsView::scrollContentsBy
+464 QGraphicsView::drawBackground
+472 QGraphicsView::drawForeground
+480 QGraphicsView::drawItems
+488 (int (*)(...))-0x00000000000000010
+496 (int (*)(...))(& _ZTI13QGraphicsView)
+504 QGraphicsView::_ZThn16_N13QGraphicsViewD1Ev
+512 QGraphicsView::_ZThn16_N13QGraphicsViewD0Ev
+520 QWidget::_ZThn16_NK7QWidget7devTypeEv
+528 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+536 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QGraphicsView
+ size=40 align=8
+ base size=40 base align=8
+QGraphicsView (0x7ffd12655460) 0
+ vptr=((& QGraphicsView::_ZTV13QGraphicsView) + 16u)
+ QAbstractScrollArea (0x7ffd126554d0) 0
+ primary-for QGraphicsView (0x7ffd12655460)
+ QFrame (0x7ffd12655540) 0
+ primary-for QAbstractScrollArea (0x7ffd126554d0)
+ QWidget (0x7ffd12654180) 0
+ primary-for QFrame (0x7ffd12655540)
+ QObject (0x7ffd126555b0) 0
+ primary-for QWidget (0x7ffd12654180)
+ QPaintDevice (0x7ffd12655620) 16
+ vptr=((& QGraphicsView::_ZTV13QGraphicsView) + 504u)
+
+Vtable for QGraphicsWidget
+QGraphicsWidget::_ZTV15QGraphicsWidget: 92u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QGraphicsWidget)
+16 QGraphicsWidget::metaObject
+24 QGraphicsWidget::qt_metacast
+32 QGraphicsWidget::qt_metacall
+40 QGraphicsWidget::~QGraphicsWidget
+48 QGraphicsWidget::~QGraphicsWidget
+56 QGraphicsWidget::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QGraphicsWidget::setGeometry
+120 QGraphicsWidget::getContentsMargins
+128 QGraphicsWidget::type
+136 QGraphicsWidget::paint
+144 QGraphicsWidget::paintWindowFrame
+152 QGraphicsWidget::boundingRect
+160 QGraphicsWidget::shape
+168 QGraphicsWidget::initStyleOption
+176 QGraphicsWidget::sizeHint
+184 QGraphicsWidget::updateGeometry
+192 QGraphicsWidget::itemChange
+200 QGraphicsWidget::propertyChange
+208 QGraphicsWidget::sceneEvent
+216 QGraphicsWidget::windowFrameEvent
+224 QGraphicsWidget::windowFrameSectionAt
+232 QGraphicsWidget::changeEvent
+240 QGraphicsWidget::closeEvent
+248 QGraphicsWidget::focusInEvent
+256 QGraphicsWidget::focusNextPrevChild
+264 QGraphicsWidget::focusOutEvent
+272 QGraphicsWidget::hideEvent
+280 QGraphicsWidget::moveEvent
+288 QGraphicsWidget::polishEvent
+296 QGraphicsWidget::resizeEvent
+304 QGraphicsWidget::showEvent
+312 QGraphicsWidget::hoverMoveEvent
+320 QGraphicsWidget::hoverLeaveEvent
+328 QGraphicsWidget::grabMouseEvent
+336 QGraphicsWidget::ungrabMouseEvent
+344 QGraphicsWidget::grabKeyboardEvent
+352 QGraphicsWidget::ungrabKeyboardEvent
+360 (int (*)(...))-0x00000000000000010
+368 (int (*)(...))(& _ZTI15QGraphicsWidget)
+376 QGraphicsWidget::_ZThn16_N15QGraphicsWidgetD1Ev
+384 QGraphicsWidget::_ZThn16_N15QGraphicsWidgetD0Ev
+392 QGraphicsItem::advance
+400 QGraphicsWidget::_ZThn16_NK15QGraphicsWidget12boundingRectEv
+408 QGraphicsWidget::_ZThn16_NK15QGraphicsWidget5shapeEv
+416 QGraphicsItem::contains
+424 QGraphicsItem::collidesWithItem
+432 QGraphicsItem::collidesWithPath
+440 QGraphicsItem::isObscuredBy
+448 QGraphicsItem::opaqueArea
+456 QGraphicsWidget::_ZThn16_N15QGraphicsWidget5paintEP8QPainterPK24QStyleOptionGraphicsItemP7QWidget
+464 QGraphicsWidget::_ZThn16_NK15QGraphicsWidget4typeEv
+472 QGraphicsItem::sceneEventFilter
+480 QGraphicsWidget::_ZThn16_N15QGraphicsWidget10sceneEventEP6QEvent
+488 QGraphicsItem::contextMenuEvent
+496 QGraphicsItem::dragEnterEvent
+504 QGraphicsItem::dragLeaveEvent
+512 QGraphicsItem::dragMoveEvent
+520 QGraphicsItem::dropEvent
+528 QGraphicsWidget::_ZThn16_N15QGraphicsWidget12focusInEventEP11QFocusEvent
+536 QGraphicsWidget::_ZThn16_N15QGraphicsWidget13focusOutEventEP11QFocusEvent
+544 QGraphicsItem::hoverEnterEvent
+552 QGraphicsWidget::_ZThn16_N15QGraphicsWidget14hoverMoveEventEP24QGraphicsSceneHoverEvent
+560 QGraphicsWidget::_ZThn16_N15QGraphicsWidget15hoverLeaveEventEP24QGraphicsSceneHoverEvent
+568 QGraphicsItem::keyPressEvent
+576 QGraphicsItem::keyReleaseEvent
+584 QGraphicsItem::mousePressEvent
+592 QGraphicsItem::mouseMoveEvent
+600 QGraphicsItem::mouseReleaseEvent
+608 QGraphicsItem::mouseDoubleClickEvent
+616 QGraphicsItem::wheelEvent
+624 QGraphicsItem::inputMethodEvent
+632 QGraphicsItem::inputMethodQuery
+640 QGraphicsWidget::_ZThn16_N15QGraphicsWidget10itemChangeEN13QGraphicsItem18GraphicsItemChangeERK8QVariant
+648 QGraphicsItem::supportsExtension
+656 QGraphicsItem::setExtension
+664 QGraphicsItem::extension
+672 (int (*)(...))-0x00000000000000020
+680 (int (*)(...))(& _ZTI15QGraphicsWidget)
+688 QGraphicsWidget::_ZThn32_N15QGraphicsWidgetD1Ev
+696 QGraphicsWidget::_ZThn32_N15QGraphicsWidgetD0Ev
+704 QGraphicsWidget::_ZThn32_N15QGraphicsWidget11setGeometryERK6QRectF
+712 QGraphicsWidget::_ZThn32_NK15QGraphicsWidget18getContentsMarginsEPdS0_S0_S0_
+720 QGraphicsWidget::_ZThn32_N15QGraphicsWidget14updateGeometryEv
+728 QGraphicsWidget::_ZThn32_NK15QGraphicsWidget8sizeHintEN2Qt8SizeHintERK6QSizeF
+
+Class QGraphicsWidget
+ size=48 align=8
+ base size=48 base align=8
+QGraphicsWidget (0x7ffd1252cd00) 0
+ vptr=((& QGraphicsWidget::_ZTV15QGraphicsWidget) + 16u)
+ QObject (0x7ffd12539930) 0
+ primary-for QGraphicsWidget (0x7ffd1252cd00)
+ QGraphicsItem (0x7ffd125399a0) 16
+ vptr=((& QGraphicsWidget::_ZTV15QGraphicsWidget) + 376u)
+ QGraphicsLayoutItem (0x7ffd12539a10) 32
+ vptr=((& QGraphicsWidget::_ZTV15QGraphicsWidget) + 688u)
+
+Vtable for QGraphicsProxyWidget
+QGraphicsProxyWidget::_ZTV20QGraphicsProxyWidget: 105u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI20QGraphicsProxyWidget)
+16 QGraphicsProxyWidget::metaObject
+24 QGraphicsProxyWidget::qt_metacast
+32 QGraphicsProxyWidget::qt_metacall
+40 QGraphicsProxyWidget::~QGraphicsProxyWidget
+48 QGraphicsProxyWidget::~QGraphicsProxyWidget
+56 QGraphicsProxyWidget::event
+64 QGraphicsProxyWidget::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QGraphicsProxyWidget::setGeometry
+120 QGraphicsWidget::getContentsMargins
+128 QGraphicsProxyWidget::type
+136 QGraphicsProxyWidget::paint
+144 QGraphicsWidget::paintWindowFrame
+152 QGraphicsWidget::boundingRect
+160 QGraphicsWidget::shape
+168 QGraphicsWidget::initStyleOption
+176 QGraphicsProxyWidget::sizeHint
+184 QGraphicsWidget::updateGeometry
+192 QGraphicsProxyWidget::itemChange
+200 QGraphicsWidget::propertyChange
+208 QGraphicsWidget::sceneEvent
+216 QGraphicsWidget::windowFrameEvent
+224 QGraphicsWidget::windowFrameSectionAt
+232 QGraphicsWidget::changeEvent
+240 QGraphicsWidget::closeEvent
+248 QGraphicsProxyWidget::focusInEvent
+256 QGraphicsProxyWidget::focusNextPrevChild
+264 QGraphicsProxyWidget::focusOutEvent
+272 QGraphicsProxyWidget::hideEvent
+280 QGraphicsWidget::moveEvent
+288 QGraphicsWidget::polishEvent
+296 QGraphicsProxyWidget::resizeEvent
+304 QGraphicsProxyWidget::showEvent
+312 QGraphicsProxyWidget::hoverMoveEvent
+320 QGraphicsProxyWidget::hoverLeaveEvent
+328 QGraphicsProxyWidget::grabMouseEvent
+336 QGraphicsProxyWidget::ungrabMouseEvent
+344 QGraphicsWidget::grabKeyboardEvent
+352 QGraphicsWidget::ungrabKeyboardEvent
+360 QGraphicsProxyWidget::contextMenuEvent
+368 QGraphicsProxyWidget::dragEnterEvent
+376 QGraphicsProxyWidget::dragLeaveEvent
+384 QGraphicsProxyWidget::dragMoveEvent
+392 QGraphicsProxyWidget::dropEvent
+400 QGraphicsProxyWidget::hoverEnterEvent
+408 QGraphicsProxyWidget::mouseMoveEvent
+416 QGraphicsProxyWidget::mousePressEvent
+424 QGraphicsProxyWidget::mouseReleaseEvent
+432 QGraphicsProxyWidget::mouseDoubleClickEvent
+440 QGraphicsProxyWidget::wheelEvent
+448 QGraphicsProxyWidget::keyPressEvent
+456 QGraphicsProxyWidget::keyReleaseEvent
+464 (int (*)(...))-0x00000000000000010
+472 (int (*)(...))(& _ZTI20QGraphicsProxyWidget)
+480 QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidgetD1Ev
+488 QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidgetD0Ev
+496 QGraphicsItem::advance
+504 QGraphicsWidget::_ZThn16_NK15QGraphicsWidget12boundingRectEv
+512 QGraphicsWidget::_ZThn16_NK15QGraphicsWidget5shapeEv
+520 QGraphicsItem::contains
+528 QGraphicsItem::collidesWithItem
+536 QGraphicsItem::collidesWithPath
+544 QGraphicsItem::isObscuredBy
+552 QGraphicsItem::opaqueArea
+560 QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget5paintEP8QPainterPK24QStyleOptionGraphicsItemP7QWidget
+568 QGraphicsProxyWidget::_ZThn16_NK20QGraphicsProxyWidget4typeEv
+576 QGraphicsItem::sceneEventFilter
+584 QGraphicsWidget::_ZThn16_N15QGraphicsWidget10sceneEventEP6QEvent
+592 QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget16contextMenuEventEP30QGraphicsSceneContextMenuEvent
+600 QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget14dragEnterEventEP27QGraphicsSceneDragDropEvent
+608 QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget14dragLeaveEventEP27QGraphicsSceneDragDropEvent
+616 QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget13dragMoveEventEP27QGraphicsSceneDragDropEvent
+624 QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget9dropEventEP27QGraphicsSceneDragDropEvent
+632 QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget12focusInEventEP11QFocusEvent
+640 QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget13focusOutEventEP11QFocusEvent
+648 QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget15hoverEnterEventEP24QGraphicsSceneHoverEvent
+656 QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget14hoverMoveEventEP24QGraphicsSceneHoverEvent
+664 QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget15hoverLeaveEventEP24QGraphicsSceneHoverEvent
+672 QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget13keyPressEventEP9QKeyEvent
+680 QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget15keyReleaseEventEP9QKeyEvent
+688 QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget15mousePressEventEP24QGraphicsSceneMouseEvent
+696 QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget14mouseMoveEventEP24QGraphicsSceneMouseEvent
+704 QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget17mouseReleaseEventEP24QGraphicsSceneMouseEvent
+712 QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget21mouseDoubleClickEventEP24QGraphicsSceneMouseEvent
+720 QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget10wheelEventEP24QGraphicsSceneWheelEvent
+728 QGraphicsItem::inputMethodEvent
+736 QGraphicsItem::inputMethodQuery
+744 QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget10itemChangeEN13QGraphicsItem18GraphicsItemChangeERK8QVariant
+752 QGraphicsItem::supportsExtension
+760 QGraphicsItem::setExtension
+768 QGraphicsItem::extension
+776 (int (*)(...))-0x00000000000000020
+784 (int (*)(...))(& _ZTI20QGraphicsProxyWidget)
+792 QGraphicsProxyWidget::_ZThn32_N20QGraphicsProxyWidgetD1Ev
+800 QGraphicsProxyWidget::_ZThn32_N20QGraphicsProxyWidgetD0Ev
+808 QGraphicsProxyWidget::_ZThn32_N20QGraphicsProxyWidget11setGeometryERK6QRectF
+816 QGraphicsWidget::_ZThn32_NK15QGraphicsWidget18getContentsMarginsEPdS0_S0_S0_
+824 QGraphicsWidget::_ZThn32_N15QGraphicsWidget14updateGeometryEv
+832 QGraphicsProxyWidget::_ZThn32_NK20QGraphicsProxyWidget8sizeHintEN2Qt8SizeHintERK6QSizeF
+
+Class QGraphicsProxyWidget
+ size=48 align=8
+ base size=48 base align=8
+QGraphicsProxyWidget (0x7ffd125801c0) 0
+ vptr=((& QGraphicsProxyWidget::_ZTV20QGraphicsProxyWidget) + 16u)
+ QGraphicsWidget (0x7ffd12570b80) 0
+ primary-for QGraphicsProxyWidget (0x7ffd125801c0)
+ QObject (0x7ffd12580230) 0
+ primary-for QGraphicsWidget (0x7ffd12570b80)
+ QGraphicsItem (0x7ffd125802a0) 16
+ vptr=((& QGraphicsProxyWidget::_ZTV20QGraphicsProxyWidget) + 480u)
+ QGraphicsLayoutItem (0x7ffd12580310) 32
+ vptr=((& QGraphicsProxyWidget::_ZTV20QGraphicsProxyWidget) + 792u)
+
+Vtable for QGraphicsSceneEvent
+QGraphicsSceneEvent::_ZTV19QGraphicsSceneEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QGraphicsSceneEvent)
+16 QGraphicsSceneEvent::~QGraphicsSceneEvent
+24 QGraphicsSceneEvent::~QGraphicsSceneEvent
+
+Class QGraphicsSceneEvent
+ size=32 align=8
+ base size=32 base align=8
+QGraphicsSceneEvent (0x7ffd123aa230) 0
+ vptr=((& QGraphicsSceneEvent::_ZTV19QGraphicsSceneEvent) + 16u)
+ QEvent (0x7ffd123aa2a0) 0
+ primary-for QGraphicsSceneEvent (0x7ffd123aa230)
+
+Vtable for QGraphicsSceneMouseEvent
+QGraphicsSceneMouseEvent::_ZTV24QGraphicsSceneMouseEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI24QGraphicsSceneMouseEvent)
+16 QGraphicsSceneMouseEvent::~QGraphicsSceneMouseEvent
+24 QGraphicsSceneMouseEvent::~QGraphicsSceneMouseEvent
+
+Class QGraphicsSceneMouseEvent
+ size=32 align=8
+ base size=32 base align=8
+QGraphicsSceneMouseEvent (0x7ffd123aab60) 0
+ vptr=((& QGraphicsSceneMouseEvent::_ZTV24QGraphicsSceneMouseEvent) + 16u)
+ QGraphicsSceneEvent (0x7ffd123aabd0) 0
+ primary-for QGraphicsSceneMouseEvent (0x7ffd123aab60)
+ QEvent (0x7ffd123aac40) 0
+ primary-for QGraphicsSceneEvent (0x7ffd123aabd0)
+
+Vtable for QGraphicsSceneWheelEvent
+QGraphicsSceneWheelEvent::_ZTV24QGraphicsSceneWheelEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI24QGraphicsSceneWheelEvent)
+16 QGraphicsSceneWheelEvent::~QGraphicsSceneWheelEvent
+24 QGraphicsSceneWheelEvent::~QGraphicsSceneWheelEvent
+
+Class QGraphicsSceneWheelEvent
+ size=32 align=8
+ base size=32 base align=8
+QGraphicsSceneWheelEvent (0x7ffd123bc460) 0
+ vptr=((& QGraphicsSceneWheelEvent::_ZTV24QGraphicsSceneWheelEvent) + 16u)
+ QGraphicsSceneEvent (0x7ffd123bc4d0) 0
+ primary-for QGraphicsSceneWheelEvent (0x7ffd123bc460)
+ QEvent (0x7ffd123bc540) 0
+ primary-for QGraphicsSceneEvent (0x7ffd123bc4d0)
+
+Vtable for QGraphicsSceneContextMenuEvent
+QGraphicsSceneContextMenuEvent::_ZTV30QGraphicsSceneContextMenuEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI30QGraphicsSceneContextMenuEvent)
+16 QGraphicsSceneContextMenuEvent::~QGraphicsSceneContextMenuEvent
+24 QGraphicsSceneContextMenuEvent::~QGraphicsSceneContextMenuEvent
+
+Class QGraphicsSceneContextMenuEvent
+ size=32 align=8
+ base size=32 base align=8
+QGraphicsSceneContextMenuEvent (0x7ffd123bce00) 0
+ vptr=((& QGraphicsSceneContextMenuEvent::_ZTV30QGraphicsSceneContextMenuEvent) + 16u)
+ QGraphicsSceneEvent (0x7ffd123bce70) 0
+ primary-for QGraphicsSceneContextMenuEvent (0x7ffd123bce00)
+ QEvent (0x7ffd123bcee0) 0
+ primary-for QGraphicsSceneEvent (0x7ffd123bce70)
+
+Vtable for QGraphicsSceneHoverEvent
+QGraphicsSceneHoverEvent::_ZTV24QGraphicsSceneHoverEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI24QGraphicsSceneHoverEvent)
+16 QGraphicsSceneHoverEvent::~QGraphicsSceneHoverEvent
+24 QGraphicsSceneHoverEvent::~QGraphicsSceneHoverEvent
+
+Class QGraphicsSceneHoverEvent
+ size=32 align=8
+ base size=32 base align=8
+QGraphicsSceneHoverEvent (0x7ffd123c9930) 0
+ vptr=((& QGraphicsSceneHoverEvent::_ZTV24QGraphicsSceneHoverEvent) + 16u)
+ QGraphicsSceneEvent (0x7ffd123c99a0) 0
+ primary-for QGraphicsSceneHoverEvent (0x7ffd123c9930)
+ QEvent (0x7ffd123c9a10) 0
+ primary-for QGraphicsSceneEvent (0x7ffd123c99a0)
+
+Vtable for QGraphicsSceneHelpEvent
+QGraphicsSceneHelpEvent::_ZTV23QGraphicsSceneHelpEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI23QGraphicsSceneHelpEvent)
+16 QGraphicsSceneHelpEvent::~QGraphicsSceneHelpEvent
+24 QGraphicsSceneHelpEvent::~QGraphicsSceneHelpEvent
+
+Class QGraphicsSceneHelpEvent
+ size=32 align=8
+ base size=32 base align=8
+QGraphicsSceneHelpEvent (0x7ffd123dc230) 0
+ vptr=((& QGraphicsSceneHelpEvent::_ZTV23QGraphicsSceneHelpEvent) + 16u)
+ QGraphicsSceneEvent (0x7ffd123dc2a0) 0
+ primary-for QGraphicsSceneHelpEvent (0x7ffd123dc230)
+ QEvent (0x7ffd123dc310) 0
+ primary-for QGraphicsSceneEvent (0x7ffd123dc2a0)
+
+Vtable for QGraphicsSceneDragDropEvent
+QGraphicsSceneDragDropEvent::_ZTV27QGraphicsSceneDragDropEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI27QGraphicsSceneDragDropEvent)
+16 QGraphicsSceneDragDropEvent::~QGraphicsSceneDragDropEvent
+24 QGraphicsSceneDragDropEvent::~QGraphicsSceneDragDropEvent
+
+Class QGraphicsSceneDragDropEvent
+ size=32 align=8
+ base size=32 base align=8
+QGraphicsSceneDragDropEvent (0x7ffd123dcbd0) 0
+ vptr=((& QGraphicsSceneDragDropEvent::_ZTV27QGraphicsSceneDragDropEvent) + 16u)
+ QGraphicsSceneEvent (0x7ffd123dcc40) 0
+ primary-for QGraphicsSceneDragDropEvent (0x7ffd123dcbd0)
+ QEvent (0x7ffd123dccb0) 0
+ primary-for QGraphicsSceneEvent (0x7ffd123dcc40)
+
+Vtable for QGraphicsSceneResizeEvent
+QGraphicsSceneResizeEvent::_ZTV25QGraphicsSceneResizeEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI25QGraphicsSceneResizeEvent)
+16 QGraphicsSceneResizeEvent::~QGraphicsSceneResizeEvent
+24 QGraphicsSceneResizeEvent::~QGraphicsSceneResizeEvent
+
+Class QGraphicsSceneResizeEvent
+ size=32 align=8
+ base size=32 base align=8
+QGraphicsSceneResizeEvent (0x7ffd123ec4d0) 0
+ vptr=((& QGraphicsSceneResizeEvent::_ZTV25QGraphicsSceneResizeEvent) + 16u)
+ QGraphicsSceneEvent (0x7ffd123ec540) 0
+ primary-for QGraphicsSceneResizeEvent (0x7ffd123ec4d0)
+ QEvent (0x7ffd123ec5b0) 0
+ primary-for QGraphicsSceneEvent (0x7ffd123ec540)
+
+Vtable for QGraphicsSceneMoveEvent
+QGraphicsSceneMoveEvent::_ZTV23QGraphicsSceneMoveEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI23QGraphicsSceneMoveEvent)
+16 QGraphicsSceneMoveEvent::~QGraphicsSceneMoveEvent
+24 QGraphicsSceneMoveEvent::~QGraphicsSceneMoveEvent
+
+Class QGraphicsSceneMoveEvent
+ size=32 align=8
+ base size=32 base align=8
+QGraphicsSceneMoveEvent (0x7ffd123eccb0) 0
+ vptr=((& QGraphicsSceneMoveEvent::_ZTV23QGraphicsSceneMoveEvent) + 16u)
+ QGraphicsSceneEvent (0x7ffd123ecd20) 0
+ primary-for QGraphicsSceneMoveEvent (0x7ffd123eccb0)
+ QEvent (0x7ffd123ecd90) 0
+ primary-for QGraphicsSceneEvent (0x7ffd123ecd20)
+
+Vtable for QGraphicsItemAnimation
+QGraphicsItemAnimation::_ZTV22QGraphicsItemAnimation: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI22QGraphicsItemAnimation)
+16 QGraphicsItemAnimation::metaObject
+24 QGraphicsItemAnimation::qt_metacast
+32 QGraphicsItemAnimation::qt_metacall
+40 QGraphicsItemAnimation::~QGraphicsItemAnimation
+48 QGraphicsItemAnimation::~QGraphicsItemAnimation
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QGraphicsItemAnimation::beforeAnimationStep
+120 QGraphicsItemAnimation::afterAnimationStep
+
+Class QGraphicsItemAnimation
+ size=24 align=8
+ base size=24 base align=8
+QGraphicsItemAnimation (0x7ffd123fb3f0) 0
+ vptr=((& QGraphicsItemAnimation::_ZTV22QGraphicsItemAnimation) + 16u)
+ QObject (0x7ffd123fb460) 0
+ primary-for QGraphicsItemAnimation (0x7ffd123fb3f0)
+
+Vtable for QGraphicsGridLayout
+QGraphicsGridLayout::_ZTV19QGraphicsGridLayout: 13u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QGraphicsGridLayout)
+16 QGraphicsGridLayout::~QGraphicsGridLayout
+24 QGraphicsGridLayout::~QGraphicsGridLayout
+32 QGraphicsGridLayout::setGeometry
+40 QGraphicsLayout::getContentsMargins
+48 QGraphicsLayout::updateGeometry
+56 QGraphicsGridLayout::sizeHint
+64 QGraphicsGridLayout::invalidate
+72 QGraphicsLayout::widgetEvent
+80 QGraphicsGridLayout::count
+88 QGraphicsGridLayout::itemAt
+96 QGraphicsGridLayout::removeAt
+
+Class QGraphicsGridLayout
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsGridLayout (0x7ffd12415770) 0
+ vptr=((& QGraphicsGridLayout::_ZTV19QGraphicsGridLayout) + 16u)
+ QGraphicsLayout (0x7ffd124157e0) 0
+ primary-for QGraphicsGridLayout (0x7ffd12415770)
+ QGraphicsLayoutItem (0x7ffd12415850) 0
+ primary-for QGraphicsLayout (0x7ffd124157e0)
+
+Vtable for QAbstractButton
+QAbstractButton::_ZTV15QAbstractButton: 66u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QAbstractButton)
+16 QAbstractButton::metaObject
+24 QAbstractButton::qt_metacast
+32 QAbstractButton::qt_metacall
+40 QAbstractButton::~QAbstractButton
+48 QAbstractButton::~QAbstractButton
+56 QAbstractButton::event
+64 QObject::eventFilter
+72 QAbstractButton::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QWidget::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QAbstractButton::mousePressEvent
+168 QAbstractButton::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QAbstractButton::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QAbstractButton::keyPressEvent
+208 QAbstractButton::keyReleaseEvent
+216 QAbstractButton::focusInEvent
+224 QAbstractButton::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 __cxa_pure_virtual
+256 QWidget::moveEvent
+264 QWidget::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QAbstractButton::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QAbstractButton::hitButton
+456 QAbstractButton::checkStateSet
+464 QAbstractButton::nextCheckState
+472 (int (*)(...))-0x00000000000000010
+480 (int (*)(...))(& _ZTI15QAbstractButton)
+488 QAbstractButton::_ZThn16_N15QAbstractButtonD1Ev
+496 QAbstractButton::_ZThn16_N15QAbstractButtonD0Ev
+504 QWidget::_ZThn16_NK7QWidget7devTypeEv
+512 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+520 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QAbstractButton
+ size=40 align=8
+ base size=40 base align=8
+QAbstractButton (0x7ffd12430bd0) 0
+ vptr=((& QAbstractButton::_ZTV15QAbstractButton) + 16u)
+ QWidget (0x7ffd12412800) 0
+ primary-for QAbstractButton (0x7ffd12430bd0)
+ QObject (0x7ffd12430c40) 0
+ primary-for QWidget (0x7ffd12412800)
+ QPaintDevice (0x7ffd12430cb0) 16
+ vptr=((& QAbstractButton::_ZTV15QAbstractButton) + 488u)
+
+Vtable for QCheckBox
+QCheckBox::_ZTV9QCheckBox: 66u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QCheckBox)
+16 QCheckBox::metaObject
+24 QCheckBox::qt_metacast
+32 QCheckBox::qt_metacall
+40 QCheckBox::~QCheckBox
+48 QCheckBox::~QCheckBox
+56 QCheckBox::event
+64 QObject::eventFilter
+72 QAbstractButton::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QCheckBox::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QAbstractButton::mousePressEvent
+168 QAbstractButton::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QCheckBox::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QAbstractButton::keyPressEvent
+208 QAbstractButton::keyReleaseEvent
+216 QAbstractButton::focusInEvent
+224 QAbstractButton::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QCheckBox::paintEvent
+256 QWidget::moveEvent
+264 QWidget::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QAbstractButton::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QCheckBox::hitButton
+456 QCheckBox::checkStateSet
+464 QCheckBox::nextCheckState
+472 (int (*)(...))-0x00000000000000010
+480 (int (*)(...))(& _ZTI9QCheckBox)
+488 QCheckBox::_ZThn16_N9QCheckBoxD1Ev
+496 QCheckBox::_ZThn16_N9QCheckBoxD0Ev
+504 QWidget::_ZThn16_NK7QWidget7devTypeEv
+512 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+520 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QCheckBox
+ size=40 align=8
+ base size=40 base align=8
+QCheckBox (0x7ffd12464f50) 0
+ vptr=((& QCheckBox::_ZTV9QCheckBox) + 16u)
+ QAbstractButton (0x7ffd1246b000) 0
+ primary-for QCheckBox (0x7ffd12464f50)
+ QWidget (0x7ffd1246c000) 0
+ primary-for QAbstractButton (0x7ffd1246b000)
+ QObject (0x7ffd1246b070) 0
+ primary-for QWidget (0x7ffd1246c000)
+ QPaintDevice (0x7ffd1246b0e0) 16
+ vptr=((& QCheckBox::_ZTV9QCheckBox) + 488u)
+
+Vtable for QMenu
+QMenu::_ZTV5QMenu: 63u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI5QMenu)
+16 QMenu::metaObject
+24 QMenu::qt_metacast
+32 QMenu::qt_metacall
+40 QMenu::~QMenu
+48 QMenu::~QMenu
+56 QMenu::event
+64 QObject::eventFilter
+72 QMenu::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QMenu::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QMenu::mousePressEvent
+168 QMenu::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QMenu::mouseMoveEvent
+192 QMenu::wheelEvent
+200 QMenu::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QMenu::enterEvent
+240 QMenu::leaveEvent
+248 QMenu::paintEvent
+256 QWidget::moveEvent
+264 QWidget::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QMenu::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QMenu::hideEvent
+352 QWidget::x11Event
+360 QMenu::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QMenu::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 (int (*)(...))-0x00000000000000010
+456 (int (*)(...))(& _ZTI5QMenu)
+464 QMenu::_ZThn16_N5QMenuD1Ev
+472 QMenu::_ZThn16_N5QMenuD0Ev
+480 QWidget::_ZThn16_NK7QWidget7devTypeEv
+488 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+496 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QMenu
+ size=40 align=8
+ base size=40 base align=8
+QMenu (0x7ffd1228b770) 0
+ vptr=((& QMenu::_ZTV5QMenu) + 16u)
+ QWidget (0x7ffd1246cf00) 0
+ primary-for QMenu (0x7ffd1228b770)
+ QObject (0x7ffd1228b7e0) 0
+ primary-for QWidget (0x7ffd1246cf00)
+ QPaintDevice (0x7ffd1228b850) 16
+ vptr=((& QMenu::_ZTV5QMenu) + 464u)
+
+Vtable for QPrintPreviewWidget
+QPrintPreviewWidget::_ZTV19QPrintPreviewWidget: 63u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QPrintPreviewWidget)
+16 QPrintPreviewWidget::metaObject
+24 QPrintPreviewWidget::qt_metacast
+32 QPrintPreviewWidget::qt_metacall
+40 QPrintPreviewWidget::~QPrintPreviewWidget
+48 QPrintPreviewWidget::~QPrintPreviewWidget
+56 QWidget::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QPrintPreviewWidget::setVisible
+128 QWidget::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QWidget::paintEvent
+256 QWidget::moveEvent
+264 QWidget::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QWidget::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 (int (*)(...))-0x00000000000000010
+456 (int (*)(...))(& _ZTI19QPrintPreviewWidget)
+464 QPrintPreviewWidget::_ZThn16_N19QPrintPreviewWidgetD1Ev
+472 QPrintPreviewWidget::_ZThn16_N19QPrintPreviewWidgetD0Ev
+480 QWidget::_ZThn16_NK7QWidget7devTypeEv
+488 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+496 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QPrintPreviewWidget
+ size=48 align=8
+ base size=48 base align=8
+QPrintPreviewWidget (0x7ffd123335b0) 0
+ vptr=((& QPrintPreviewWidget::_ZTV19QPrintPreviewWidget) + 16u)
+ QWidget (0x7ffd12331680) 0
+ primary-for QPrintPreviewWidget (0x7ffd123335b0)
+ QObject (0x7ffd12333620) 0
+ primary-for QWidget (0x7ffd12331680)
+ QPaintDevice (0x7ffd12333690) 16
+ vptr=((& QPrintPreviewWidget::_ZTV19QPrintPreviewWidget) + 464u)
+
+Vtable for QWorkspace
+QWorkspace::_ZTV10QWorkspace: 63u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QWorkspace)
+16 QWorkspace::metaObject
+24 QWorkspace::qt_metacast
+32 QWorkspace::qt_metacall
+40 QWorkspace::~QWorkspace
+48 QWorkspace::~QWorkspace
+56 QWorkspace::event
+64 QWorkspace::eventFilter
+72 QObject::timerEvent
+80 QWorkspace::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QWorkspace::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWorkspace::wheelEvent
+200 QWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QWorkspace::paintEvent
+256 QWidget::moveEvent
+264 QWorkspace::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWorkspace::showEvent
+344 QWorkspace::hideEvent
+352 QWidget::x11Event
+360 QWorkspace::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 (int (*)(...))-0x00000000000000010
+456 (int (*)(...))(& _ZTI10QWorkspace)
+464 QWorkspace::_ZThn16_N10QWorkspaceD1Ev
+472 QWorkspace::_ZThn16_N10QWorkspaceD0Ev
+480 QWidget::_ZThn16_NK7QWidget7devTypeEv
+488 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+496 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QWorkspace
+ size=40 align=8
+ base size=40 base align=8
+QWorkspace (0x7ffd12357070) 0
+ vptr=((& QWorkspace::_ZTV10QWorkspace) + 16u)
+ QWidget (0x7ffd12354280) 0
+ primary-for QWorkspace (0x7ffd12357070)
+ QObject (0x7ffd123570e0) 0
+ primary-for QWidget (0x7ffd12354280)
+ QPaintDevice (0x7ffd12357150) 16
+ vptr=((& QWorkspace::_ZTV10QWorkspace) + 464u)
+
+Vtable for QButtonGroup
+QButtonGroup::_ZTV12QButtonGroup: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QButtonGroup)
+16 QButtonGroup::metaObject
+24 QButtonGroup::qt_metacast
+32 QButtonGroup::qt_metacall
+40 QButtonGroup::~QButtonGroup
+48 QButtonGroup::~QButtonGroup
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QButtonGroup
+ size=16 align=8
+ base size=16 base align=8
+QButtonGroup (0x7ffd1237a150) 0
+ vptr=((& QButtonGroup::_ZTV12QButtonGroup) + 16u)
+ QObject (0x7ffd1237a1c0) 0
+ primary-for QButtonGroup (0x7ffd1237a150)
+
+Vtable for QSpinBox
+QSpinBox::_ZTV8QSpinBox: 70u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI8QSpinBox)
+16 QSpinBox::metaObject
+24 QSpinBox::qt_metacast
+32 QSpinBox::qt_metacall
+40 QSpinBox::~QSpinBox
+48 QSpinBox::~QSpinBox
+56 QSpinBox::event
+64 QObject::eventFilter
+72 QAbstractSpinBox::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QAbstractSpinBox::sizeHint
+136 QAbstractSpinBox::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QAbstractSpinBox::mousePressEvent
+168 QAbstractSpinBox::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QAbstractSpinBox::mouseMoveEvent
+192 QAbstractSpinBox::wheelEvent
+200 QAbstractSpinBox::keyPressEvent
+208 QAbstractSpinBox::keyReleaseEvent
+216 QAbstractSpinBox::focusInEvent
+224 QAbstractSpinBox::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QAbstractSpinBox::paintEvent
+256 QWidget::moveEvent
+264 QAbstractSpinBox::resizeEvent
+272 QAbstractSpinBox::closeEvent
+280 QAbstractSpinBox::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QAbstractSpinBox::showEvent
+344 QAbstractSpinBox::hideEvent
+352 QWidget::x11Event
+360 QAbstractSpinBox::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QSpinBox::validate
+456 QSpinBox::fixup
+464 QAbstractSpinBox::stepBy
+472 QAbstractSpinBox::clear
+480 QAbstractSpinBox::stepEnabled
+488 QSpinBox::valueFromText
+496 QSpinBox::textFromValue
+504 (int (*)(...))-0x00000000000000010
+512 (int (*)(...))(& _ZTI8QSpinBox)
+520 QSpinBox::_ZThn16_N8QSpinBoxD1Ev
+528 QSpinBox::_ZThn16_N8QSpinBoxD0Ev
+536 QWidget::_ZThn16_NK7QWidget7devTypeEv
+544 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+552 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QSpinBox
+ size=40 align=8
+ base size=40 base align=8
+QSpinBox (0x7ffd1218fd90) 0
+ vptr=((& QSpinBox::_ZTV8QSpinBox) + 16u)
+ QAbstractSpinBox (0x7ffd1218fe00) 0
+ primary-for QSpinBox (0x7ffd1218fd90)
+ QWidget (0x7ffd1218c800) 0
+ primary-for QAbstractSpinBox (0x7ffd1218fe00)
+ QObject (0x7ffd1218fe70) 0
+ primary-for QWidget (0x7ffd1218c800)
+ QPaintDevice (0x7ffd1218fee0) 16
+ vptr=((& QSpinBox::_ZTV8QSpinBox) + 520u)
+
+Vtable for QDoubleSpinBox
+QDoubleSpinBox::_ZTV14QDoubleSpinBox: 70u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QDoubleSpinBox)
+16 QDoubleSpinBox::metaObject
+24 QDoubleSpinBox::qt_metacast
+32 QDoubleSpinBox::qt_metacall
+40 QDoubleSpinBox::~QDoubleSpinBox
+48 QDoubleSpinBox::~QDoubleSpinBox
+56 QAbstractSpinBox::event
+64 QObject::eventFilter
+72 QAbstractSpinBox::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QAbstractSpinBox::sizeHint
+136 QAbstractSpinBox::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QAbstractSpinBox::mousePressEvent
+168 QAbstractSpinBox::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QAbstractSpinBox::mouseMoveEvent
+192 QAbstractSpinBox::wheelEvent
+200 QAbstractSpinBox::keyPressEvent
+208 QAbstractSpinBox::keyReleaseEvent
+216 QAbstractSpinBox::focusInEvent
+224 QAbstractSpinBox::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QAbstractSpinBox::paintEvent
+256 QWidget::moveEvent
+264 QAbstractSpinBox::resizeEvent
+272 QAbstractSpinBox::closeEvent
+280 QAbstractSpinBox::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QAbstractSpinBox::showEvent
+344 QAbstractSpinBox::hideEvent
+352 QWidget::x11Event
+360 QAbstractSpinBox::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QDoubleSpinBox::validate
+456 QDoubleSpinBox::fixup
+464 QAbstractSpinBox::stepBy
+472 QAbstractSpinBox::clear
+480 QAbstractSpinBox::stepEnabled
+488 QDoubleSpinBox::valueFromText
+496 QDoubleSpinBox::textFromValue
+504 (int (*)(...))-0x00000000000000010
+512 (int (*)(...))(& _ZTI14QDoubleSpinBox)
+520 QDoubleSpinBox::_ZThn16_N14QDoubleSpinBoxD1Ev
+528 QDoubleSpinBox::_ZThn16_N14QDoubleSpinBoxD0Ev
+536 QWidget::_ZThn16_NK7QWidget7devTypeEv
+544 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+552 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QDoubleSpinBox
+ size=40 align=8
+ base size=40 base align=8
+QDoubleSpinBox (0x7ffd121b7700) 0
+ vptr=((& QDoubleSpinBox::_ZTV14QDoubleSpinBox) + 16u)
+ QAbstractSpinBox (0x7ffd121b7770) 0
+ primary-for QDoubleSpinBox (0x7ffd121b7700)
+ QWidget (0x7ffd121b5880) 0
+ primary-for QAbstractSpinBox (0x7ffd121b7770)
+ QObject (0x7ffd121b77e0) 0
+ primary-for QWidget (0x7ffd121b5880)
+ QPaintDevice (0x7ffd121b7850) 16
+ vptr=((& QDoubleSpinBox::_ZTV14QDoubleSpinBox) + 520u)
+
+Vtable for QLCDNumber
+QLCDNumber::_ZTV10QLCDNumber: 63u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QLCDNumber)
+16 QLCDNumber::metaObject
+24 QLCDNumber::qt_metacast
+32 QLCDNumber::qt_metacall
+40 QLCDNumber::~QLCDNumber
+48 QLCDNumber::~QLCDNumber
+56 QLCDNumber::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QLCDNumber::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QLCDNumber::paintEvent
+256 QWidget::moveEvent
+264 QWidget::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QFrame::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 (int (*)(...))-0x00000000000000010
+456 (int (*)(...))(& _ZTI10QLCDNumber)
+464 QLCDNumber::_ZThn16_N10QLCDNumberD1Ev
+472 QLCDNumber::_ZThn16_N10QLCDNumberD0Ev
+480 QWidget::_ZThn16_NK7QWidget7devTypeEv
+488 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+496 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QLCDNumber
+ size=40 align=8
+ base size=40 base align=8
+QLCDNumber (0x7ffd121d91c0) 0
+ vptr=((& QLCDNumber::_ZTV10QLCDNumber) + 16u)
+ QFrame (0x7ffd121d9230) 0
+ primary-for QLCDNumber (0x7ffd121d91c0)
+ QWidget (0x7ffd121d8180) 0
+ primary-for QFrame (0x7ffd121d9230)
+ QObject (0x7ffd121d92a0) 0
+ primary-for QWidget (0x7ffd121d8180)
+ QPaintDevice (0x7ffd121d9310) 16
+ vptr=((& QLCDNumber::_ZTV10QLCDNumber) + 464u)
+
+Vtable for QStackedWidget
+QStackedWidget::_ZTV14QStackedWidget: 63u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QStackedWidget)
+16 QStackedWidget::metaObject
+24 QStackedWidget::qt_metacast
+32 QStackedWidget::qt_metacall
+40 QStackedWidget::~QStackedWidget
+48 QStackedWidget::~QStackedWidget
+56 QStackedWidget::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QFrame::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QFrame::paintEvent
+256 QWidget::moveEvent
+264 QWidget::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QFrame::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 (int (*)(...))-0x00000000000000010
+456 (int (*)(...))(& _ZTI14QStackedWidget)
+464 QStackedWidget::_ZThn16_N14QStackedWidgetD1Ev
+472 QStackedWidget::_ZThn16_N14QStackedWidgetD0Ev
+480 QWidget::_ZThn16_NK7QWidget7devTypeEv
+488 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+496 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QStackedWidget
+ size=40 align=8
+ base size=40 base align=8
+QStackedWidget (0x7ffd121fcd20) 0
+ vptr=((& QStackedWidget::_ZTV14QStackedWidget) + 16u)
+ QFrame (0x7ffd121fcd90) 0
+ primary-for QStackedWidget (0x7ffd121fcd20)
+ QWidget (0x7ffd12200200) 0
+ primary-for QFrame (0x7ffd121fcd90)
+ QObject (0x7ffd121fce00) 0
+ primary-for QWidget (0x7ffd12200200)
+ QPaintDevice (0x7ffd121fce70) 16
+ vptr=((& QStackedWidget::_ZTV14QStackedWidget) + 464u)
+
+Vtable for QMdiArea
+QMdiArea::_ZTV8QMdiArea: 65u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI8QMdiArea)
+16 QMdiArea::metaObject
+24 QMdiArea::qt_metacast
+32 QMdiArea::qt_metacall
+40 QMdiArea::~QMdiArea
+48 QMdiArea::~QMdiArea
+56 QMdiArea::event
+64 QMdiArea::eventFilter
+72 QMdiArea::timerEvent
+80 QMdiArea::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QMdiArea::sizeHint
+136 QMdiArea::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QAbstractScrollArea::mousePressEvent
+168 QAbstractScrollArea::mouseReleaseEvent
+176 QAbstractScrollArea::mouseDoubleClickEvent
+184 QAbstractScrollArea::mouseMoveEvent
+192 QAbstractScrollArea::wheelEvent
+200 QAbstractScrollArea::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QMdiArea::paintEvent
+256 QWidget::moveEvent
+264 QMdiArea::resizeEvent
+272 QWidget::closeEvent
+280 QAbstractScrollArea::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QAbstractScrollArea::dragEnterEvent
+312 QAbstractScrollArea::dragMoveEvent
+320 QAbstractScrollArea::dragLeaveEvent
+328 QAbstractScrollArea::dropEvent
+336 QMdiArea::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QFrame::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QMdiArea::viewportEvent
+456 QMdiArea::scrollContentsBy
+464 (int (*)(...))-0x00000000000000010
+472 (int (*)(...))(& _ZTI8QMdiArea)
+480 QMdiArea::_ZThn16_N8QMdiAreaD1Ev
+488 QMdiArea::_ZThn16_N8QMdiAreaD0Ev
+496 QWidget::_ZThn16_NK7QWidget7devTypeEv
+504 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+512 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QMdiArea
+ size=40 align=8
+ base size=40 base align=8
+QMdiArea (0x7ffd12217bd0) 0
+ vptr=((& QMdiArea::_ZTV8QMdiArea) + 16u)
+ QAbstractScrollArea (0x7ffd12217c40) 0
+ primary-for QMdiArea (0x7ffd12217bd0)
+ QFrame (0x7ffd12217cb0) 0
+ primary-for QAbstractScrollArea (0x7ffd12217c40)
+ QWidget (0x7ffd12200b00) 0
+ primary-for QFrame (0x7ffd12217cb0)
+ QObject (0x7ffd12217d20) 0
+ primary-for QWidget (0x7ffd12200b00)
+ QPaintDevice (0x7ffd12217d90) 16
+ vptr=((& QMdiArea::_ZTV8QMdiArea) + 480u)
+
+Vtable for QPushButton
+QPushButton::_ZTV11QPushButton: 66u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QPushButton)
+16 QPushButton::metaObject
+24 QPushButton::qt_metacast
+32 QPushButton::qt_metacall
+40 QPushButton::~QPushButton
+48 QPushButton::~QPushButton
+56 QPushButton::event
+64 QObject::eventFilter
+72 QAbstractButton::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QPushButton::sizeHint
+136 QPushButton::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QAbstractButton::mousePressEvent
+168 QAbstractButton::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QAbstractButton::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QPushButton::keyPressEvent
+208 QAbstractButton::keyReleaseEvent
+216 QPushButton::focusInEvent
+224 QPushButton::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QPushButton::paintEvent
+256 QWidget::moveEvent
+264 QWidget::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QAbstractButton::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QAbstractButton::hitButton
+456 QAbstractButton::checkStateSet
+464 QAbstractButton::nextCheckState
+472 (int (*)(...))-0x00000000000000010
+480 (int (*)(...))(& _ZTI11QPushButton)
+488 QPushButton::_ZThn16_N11QPushButtonD1Ev
+496 QPushButton::_ZThn16_N11QPushButtonD0Ev
+504 QWidget::_ZThn16_NK7QWidget7devTypeEv
+512 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+520 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QPushButton
+ size=40 align=8
+ base size=40 base align=8
+QPushButton (0x7ffd1208b150) 0
+ vptr=((& QPushButton::_ZTV11QPushButton) + 16u)
+ QAbstractButton (0x7ffd1208b1c0) 0
+ primary-for QPushButton (0x7ffd1208b150)
+ QWidget (0x7ffd1223cd00) 0
+ primary-for QAbstractButton (0x7ffd1208b1c0)
+ QObject (0x7ffd1208b230) 0
+ primary-for QWidget (0x7ffd1223cd00)
+ QPaintDevice (0x7ffd1208b2a0) 16
+ vptr=((& QPushButton::_ZTV11QPushButton) + 488u)
+
+Vtable for QMdiSubWindow
+QMdiSubWindow::_ZTV13QMdiSubWindow: 63u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QMdiSubWindow)
+16 QMdiSubWindow::metaObject
+24 QMdiSubWindow::qt_metacast
+32 QMdiSubWindow::qt_metacall
+40 QMdiSubWindow::~QMdiSubWindow
+48 QMdiSubWindow::~QMdiSubWindow
+56 QMdiSubWindow::event
+64 QMdiSubWindow::eventFilter
+72 QMdiSubWindow::timerEvent
+80 QMdiSubWindow::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QMdiSubWindow::sizeHint
+136 QMdiSubWindow::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QMdiSubWindow::mousePressEvent
+168 QMdiSubWindow::mouseReleaseEvent
+176 QMdiSubWindow::mouseDoubleClickEvent
+184 QMdiSubWindow::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QMdiSubWindow::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QMdiSubWindow::focusInEvent
+224 QMdiSubWindow::focusOutEvent
+232 QWidget::enterEvent
+240 QMdiSubWindow::leaveEvent
+248 QMdiSubWindow::paintEvent
+256 QMdiSubWindow::moveEvent
+264 QMdiSubWindow::resizeEvent
+272 QMdiSubWindow::closeEvent
+280 QMdiSubWindow::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QMdiSubWindow::showEvent
+344 QMdiSubWindow::hideEvent
+352 QWidget::x11Event
+360 QMdiSubWindow::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 (int (*)(...))-0x00000000000000010
+456 (int (*)(...))(& _ZTI13QMdiSubWindow)
+464 QMdiSubWindow::_ZThn16_N13QMdiSubWindowD1Ev
+472 QMdiSubWindow::_ZThn16_N13QMdiSubWindowD0Ev
+480 QWidget::_ZThn16_NK7QWidget7devTypeEv
+488 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+496 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QMdiSubWindow
+ size=40 align=8
+ base size=40 base align=8
+QMdiSubWindow (0x7ffd120afa80) 0
+ vptr=((& QMdiSubWindow::_ZTV13QMdiSubWindow) + 16u)
+ QWidget (0x7ffd120a6c00) 0
+ primary-for QMdiSubWindow (0x7ffd120afa80)
+ QObject (0x7ffd120afaf0) 0
+ primary-for QWidget (0x7ffd120a6c00)
+ QPaintDevice (0x7ffd120afb60) 16
+ vptr=((& QMdiSubWindow::_ZTV13QMdiSubWindow) + 464u)
+
+Vtable for QSplashScreen
+QSplashScreen::_ZTV13QSplashScreen: 64u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QSplashScreen)
+16 QSplashScreen::metaObject
+24 QSplashScreen::qt_metacast
+32 QSplashScreen::qt_metacall
+40 QSplashScreen::~QSplashScreen
+48 QSplashScreen::~QSplashScreen
+56 QSplashScreen::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QWidget::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QSplashScreen::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QWidget::paintEvent
+256 QWidget::moveEvent
+264 QWidget::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QWidget::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QSplashScreen::drawContents
+456 (int (*)(...))-0x00000000000000010
+464 (int (*)(...))(& _ZTI13QSplashScreen)
+472 QSplashScreen::_ZThn16_N13QSplashScreenD1Ev
+480 QSplashScreen::_ZThn16_N13QSplashScreenD0Ev
+488 QWidget::_ZThn16_NK7QWidget7devTypeEv
+496 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+504 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QSplashScreen
+ size=40 align=8
+ base size=40 base align=8
+QSplashScreen (0x7ffd12103930) 0
+ vptr=((& QSplashScreen::_ZTV13QSplashScreen) + 16u)
+ QWidget (0x7ffd120d0d00) 0
+ primary-for QSplashScreen (0x7ffd12103930)
+ QObject (0x7ffd121039a0) 0
+ primary-for QWidget (0x7ffd120d0d00)
+ QPaintDevice (0x7ffd12103a10) 16
+ vptr=((& QSplashScreen::_ZTV13QSplashScreen) + 472u)
+
+Vtable for QDateTimeEdit
+QDateTimeEdit::_ZTV13QDateTimeEdit: 70u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QDateTimeEdit)
+16 QDateTimeEdit::metaObject
+24 QDateTimeEdit::qt_metacast
+32 QDateTimeEdit::qt_metacall
+40 QDateTimeEdit::~QDateTimeEdit
+48 QDateTimeEdit::~QDateTimeEdit
+56 QDateTimeEdit::event
+64 QObject::eventFilter
+72 QAbstractSpinBox::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QDateTimeEdit::sizeHint
+136 QAbstractSpinBox::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QDateTimeEdit::mousePressEvent
+168 QAbstractSpinBox::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QAbstractSpinBox::mouseMoveEvent
+192 QDateTimeEdit::wheelEvent
+200 QDateTimeEdit::keyPressEvent
+208 QAbstractSpinBox::keyReleaseEvent
+216 QDateTimeEdit::focusInEvent
+224 QAbstractSpinBox::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QDateTimeEdit::paintEvent
+256 QWidget::moveEvent
+264 QAbstractSpinBox::resizeEvent
+272 QAbstractSpinBox::closeEvent
+280 QAbstractSpinBox::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QAbstractSpinBox::showEvent
+344 QAbstractSpinBox::hideEvent
+352 QWidget::x11Event
+360 QAbstractSpinBox::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QDateTimeEdit::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QDateTimeEdit::validate
+456 QDateTimeEdit::fixup
+464 QDateTimeEdit::stepBy
+472 QDateTimeEdit::clear
+480 QDateTimeEdit::stepEnabled
+488 QDateTimeEdit::dateTimeFromText
+496 QDateTimeEdit::textFromDateTime
+504 (int (*)(...))-0x00000000000000010
+512 (int (*)(...))(& _ZTI13QDateTimeEdit)
+520 QDateTimeEdit::_ZThn16_N13QDateTimeEditD1Ev
+528 QDateTimeEdit::_ZThn16_N13QDateTimeEditD0Ev
+536 QWidget::_ZThn16_NK7QWidget7devTypeEv
+544 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+552 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QDateTimeEdit
+ size=40 align=8
+ base size=40 base align=8
+QDateTimeEdit (0x7ffd1213ea10) 0
+ vptr=((& QDateTimeEdit::_ZTV13QDateTimeEdit) + 16u)
+ QAbstractSpinBox (0x7ffd1213ea80) 0
+ primary-for QDateTimeEdit (0x7ffd1213ea10)
+ QWidget (0x7ffd12136880) 0
+ primary-for QAbstractSpinBox (0x7ffd1213ea80)
+ QObject (0x7ffd1213eaf0) 0
+ primary-for QWidget (0x7ffd12136880)
+ QPaintDevice (0x7ffd1213eb60) 16
+ vptr=((& QDateTimeEdit::_ZTV13QDateTimeEdit) + 520u)
+
+Vtable for QTimeEdit
+QTimeEdit::_ZTV9QTimeEdit: 70u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QTimeEdit)
+16 QTimeEdit::metaObject
+24 QTimeEdit::qt_metacast
+32 QTimeEdit::qt_metacall
+40 QTimeEdit::~QTimeEdit
+48 QTimeEdit::~QTimeEdit
+56 QDateTimeEdit::event
+64 QObject::eventFilter
+72 QAbstractSpinBox::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QDateTimeEdit::sizeHint
+136 QAbstractSpinBox::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QDateTimeEdit::mousePressEvent
+168 QAbstractSpinBox::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QAbstractSpinBox::mouseMoveEvent
+192 QDateTimeEdit::wheelEvent
+200 QDateTimeEdit::keyPressEvent
+208 QAbstractSpinBox::keyReleaseEvent
+216 QDateTimeEdit::focusInEvent
+224 QAbstractSpinBox::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QDateTimeEdit::paintEvent
+256 QWidget::moveEvent
+264 QAbstractSpinBox::resizeEvent
+272 QAbstractSpinBox::closeEvent
+280 QAbstractSpinBox::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QAbstractSpinBox::showEvent
+344 QAbstractSpinBox::hideEvent
+352 QWidget::x11Event
+360 QAbstractSpinBox::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QDateTimeEdit::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QDateTimeEdit::validate
+456 QDateTimeEdit::fixup
+464 QDateTimeEdit::stepBy
+472 QDateTimeEdit::clear
+480 QDateTimeEdit::stepEnabled
+488 QDateTimeEdit::dateTimeFromText
+496 QDateTimeEdit::textFromDateTime
+504 (int (*)(...))-0x00000000000000010
+512 (int (*)(...))(& _ZTI9QTimeEdit)
+520 QTimeEdit::_ZThn16_N9QTimeEditD1Ev
+528 QTimeEdit::_ZThn16_N9QTimeEditD0Ev
+536 QWidget::_ZThn16_NK7QWidget7devTypeEv
+544 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+552 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QTimeEdit
+ size=40 align=8
+ base size=40 base align=8
+QTimeEdit (0x7ffd1216d930) 0
+ vptr=((& QTimeEdit::_ZTV9QTimeEdit) + 16u)
+ QDateTimeEdit (0x7ffd1216d9a0) 0
+ primary-for QTimeEdit (0x7ffd1216d930)
+ QAbstractSpinBox (0x7ffd1216da10) 0
+ primary-for QDateTimeEdit (0x7ffd1216d9a0)
+ QWidget (0x7ffd12165700) 0
+ primary-for QAbstractSpinBox (0x7ffd1216da10)
+ QObject (0x7ffd1216da80) 0
+ primary-for QWidget (0x7ffd12165700)
+ QPaintDevice (0x7ffd1216daf0) 16
+ vptr=((& QTimeEdit::_ZTV9QTimeEdit) + 520u)
+
+Vtable for QDateEdit
+QDateEdit::_ZTV9QDateEdit: 70u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QDateEdit)
+16 QDateEdit::metaObject
+24 QDateEdit::qt_metacast
+32 QDateEdit::qt_metacall
+40 QDateEdit::~QDateEdit
+48 QDateEdit::~QDateEdit
+56 QDateTimeEdit::event
+64 QObject::eventFilter
+72 QAbstractSpinBox::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QDateTimeEdit::sizeHint
+136 QAbstractSpinBox::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QDateTimeEdit::mousePressEvent
+168 QAbstractSpinBox::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QAbstractSpinBox::mouseMoveEvent
+192 QDateTimeEdit::wheelEvent
+200 QDateTimeEdit::keyPressEvent
+208 QAbstractSpinBox::keyReleaseEvent
+216 QDateTimeEdit::focusInEvent
+224 QAbstractSpinBox::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QDateTimeEdit::paintEvent
+256 QWidget::moveEvent
+264 QAbstractSpinBox::resizeEvent
+272 QAbstractSpinBox::closeEvent
+280 QAbstractSpinBox::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QAbstractSpinBox::showEvent
+344 QAbstractSpinBox::hideEvent
+352 QWidget::x11Event
+360 QAbstractSpinBox::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QDateTimeEdit::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QDateTimeEdit::validate
+456 QDateTimeEdit::fixup
+464 QDateTimeEdit::stepBy
+472 QDateTimeEdit::clear
+480 QDateTimeEdit::stepEnabled
+488 QDateTimeEdit::dateTimeFromText
+496 QDateTimeEdit::textFromDateTime
+504 (int (*)(...))-0x00000000000000010
+512 (int (*)(...))(& _ZTI9QDateEdit)
+520 QDateEdit::_ZThn16_N9QDateEditD1Ev
+528 QDateEdit::_ZThn16_N9QDateEditD0Ev
+536 QWidget::_ZThn16_NK7QWidget7devTypeEv
+544 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+552 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QDateEdit
+ size=40 align=8
+ base size=40 base align=8
+QDateEdit (0x7ffd1217fa10) 0
+ vptr=((& QDateEdit::_ZTV9QDateEdit) + 16u)
+ QDateTimeEdit (0x7ffd1217fa80) 0
+ primary-for QDateEdit (0x7ffd1217fa10)
+ QAbstractSpinBox (0x7ffd1217faf0) 0
+ primary-for QDateTimeEdit (0x7ffd1217fa80)
+ QWidget (0x7ffd12165e00) 0
+ primary-for QAbstractSpinBox (0x7ffd1217faf0)
+ QObject (0x7ffd1217fb60) 0
+ primary-for QWidget (0x7ffd12165e00)
+ QPaintDevice (0x7ffd1217fbd0) 16
+ vptr=((& QDateEdit::_ZTV9QDateEdit) + 520u)
+
+Vtable for QLabel
+QLabel::_ZTV6QLabel: 63u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI6QLabel)
+16 QLabel::metaObject
+24 QLabel::qt_metacast
+32 QLabel::qt_metacall
+40 QLabel::~QLabel
+48 QLabel::~QLabel
+56 QLabel::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QLabel::sizeHint
+136 QLabel::minimumSizeHint
+144 QLabel::heightForWidth
+152 QWidget::paintEngine
+160 QLabel::mousePressEvent
+168 QLabel::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QLabel::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QLabel::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QLabel::focusInEvent
+224 QLabel::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QLabel::paintEvent
+256 QWidget::moveEvent
+264 QWidget::resizeEvent
+272 QWidget::closeEvent
+280 QLabel::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QLabel::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QLabel::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 (int (*)(...))-0x00000000000000010
+456 (int (*)(...))(& _ZTI6QLabel)
+464 QLabel::_ZThn16_N6QLabelD1Ev
+472 QLabel::_ZThn16_N6QLabelD0Ev
+480 QWidget::_ZThn16_NK7QWidget7devTypeEv
+488 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+496 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QLabel
+ size=40 align=8
+ base size=40 base align=8
+QLabel (0x7ffd11fc67e0) 0
+ vptr=((& QLabel::_ZTV6QLabel) + 16u)
+ QFrame (0x7ffd11fc6850) 0
+ primary-for QLabel (0x7ffd11fc67e0)
+ QWidget (0x7ffd11f95a80) 0
+ primary-for QFrame (0x7ffd11fc6850)
+ QObject (0x7ffd11fc68c0) 0
+ primary-for QWidget (0x7ffd11f95a80)
+ QPaintDevice (0x7ffd11fc6930) 16
+ vptr=((& QLabel::_ZTV6QLabel) + 464u)
+
+Vtable for QDockWidget
+QDockWidget::_ZTV11QDockWidget: 63u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QDockWidget)
+16 QDockWidget::metaObject
+24 QDockWidget::qt_metacast
+32 QDockWidget::qt_metacall
+40 QDockWidget::~QDockWidget
+48 QDockWidget::~QDockWidget
+56 QDockWidget::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QWidget::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QDockWidget::paintEvent
+256 QWidget::moveEvent
+264 QWidget::resizeEvent
+272 QDockWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QDockWidget::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 (int (*)(...))-0x00000000000000010
+456 (int (*)(...))(& _ZTI11QDockWidget)
+464 QDockWidget::_ZThn16_N11QDockWidgetD1Ev
+472 QDockWidget::_ZThn16_N11QDockWidgetD0Ev
+480 QWidget::_ZThn16_NK7QWidget7devTypeEv
+488 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+496 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QDockWidget
+ size=40 align=8
+ base size=40 base align=8
+QDockWidget (0x7ffd1200f930) 0
+ vptr=((& QDockWidget::_ZTV11QDockWidget) + 16u)
+ QWidget (0x7ffd1200b580) 0
+ primary-for QDockWidget (0x7ffd1200f930)
+ QObject (0x7ffd1200f9a0) 0
+ primary-for QWidget (0x7ffd1200b580)
+ QPaintDevice (0x7ffd1200fa10) 16
+ vptr=((& QDockWidget::_ZTV11QDockWidget) + 464u)
+
+Vtable for QGroupBox
+QGroupBox::_ZTV9QGroupBox: 63u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QGroupBox)
+16 QGroupBox::metaObject
+24 QGroupBox::qt_metacast
+32 QGroupBox::qt_metacall
+40 QGroupBox::~QGroupBox
+48 QGroupBox::~QGroupBox
+56 QGroupBox::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QGroupBox::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QWidget::sizeHint
+136 QGroupBox::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QGroupBox::mousePressEvent
+168 QGroupBox::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QGroupBox::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QGroupBox::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QGroupBox::paintEvent
+256 QWidget::moveEvent
+264 QGroupBox::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QGroupBox::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 (int (*)(...))-0x00000000000000010
+456 (int (*)(...))(& _ZTI9QGroupBox)
+464 QGroupBox::_ZThn16_N9QGroupBoxD1Ev
+472 QGroupBox::_ZThn16_N9QGroupBoxD0Ev
+480 QWidget::_ZThn16_NK7QWidget7devTypeEv
+488 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+496 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QGroupBox
+ size=40 align=8
+ base size=40 base align=8
+QGroupBox (0x7ffd11e8a380) 0
+ vptr=((& QGroupBox::_ZTV9QGroupBox) + 16u)
+ QWidget (0x7ffd12033c80) 0
+ primary-for QGroupBox (0x7ffd11e8a380)
+ QObject (0x7ffd11e8a3f0) 0
+ primary-for QWidget (0x7ffd12033c80)
+ QPaintDevice (0x7ffd11e8a460) 16
+ vptr=((& QGroupBox::_ZTV9QGroupBox) + 464u)
+
+Vtable for QDialogButtonBox
+QDialogButtonBox::_ZTV16QDialogButtonBox: 63u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QDialogButtonBox)
+16 QDialogButtonBox::metaObject
+24 QDialogButtonBox::qt_metacast
+32 QDialogButtonBox::qt_metacall
+40 QDialogButtonBox::~QDialogButtonBox
+48 QDialogButtonBox::~QDialogButtonBox
+56 QDialogButtonBox::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QWidget::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QWidget::paintEvent
+256 QWidget::moveEvent
+264 QWidget::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QDialogButtonBox::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 (int (*)(...))-0x00000000000000010
+456 (int (*)(...))(& _ZTI16QDialogButtonBox)
+464 QDialogButtonBox::_ZThn16_N16QDialogButtonBoxD1Ev
+472 QDialogButtonBox::_ZThn16_N16QDialogButtonBoxD0Ev
+480 QWidget::_ZThn16_NK7QWidget7devTypeEv
+488 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+496 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QDialogButtonBox
+ size=40 align=8
+ base size=40 base align=8
+QDialogButtonBox (0x7ffd11eac000) 0
+ vptr=((& QDialogButtonBox::_ZTV16QDialogButtonBox) + 16u)
+ QWidget (0x7ffd11ea4580) 0
+ primary-for QDialogButtonBox (0x7ffd11eac000)
+ QObject (0x7ffd11eac070) 0
+ primary-for QWidget (0x7ffd11ea4580)
+ QPaintDevice (0x7ffd11eac0e0) 16
+ vptr=((& QDialogButtonBox::_ZTV16QDialogButtonBox) + 464u)
+
+Vtable for QMainWindow
+QMainWindow::_ZTV11QMainWindow: 64u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QMainWindow)
+16 QMainWindow::metaObject
+24 QMainWindow::qt_metacast
+32 QMainWindow::qt_metacall
+40 QMainWindow::~QMainWindow
+48 QMainWindow::~QMainWindow
+56 QMainWindow::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QWidget::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QWidget::paintEvent
+256 QWidget::moveEvent
+264 QWidget::resizeEvent
+272 QWidget::closeEvent
+280 QMainWindow::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QWidget::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QMainWindow::createPopupMenu
+456 (int (*)(...))-0x00000000000000010
+464 (int (*)(...))(& _ZTI11QMainWindow)
+472 QMainWindow::_ZThn16_N11QMainWindowD1Ev
+480 QMainWindow::_ZThn16_N11QMainWindowD0Ev
+488 QWidget::_ZThn16_NK7QWidget7devTypeEv
+496 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+504 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QMainWindow
+ size=40 align=8
+ base size=40 base align=8
+QMainWindow (0x7ffd11f1d4d0) 0
+ vptr=((& QMainWindow::_ZTV11QMainWindow) + 16u)
+ QWidget (0x7ffd11ed4600) 0
+ primary-for QMainWindow (0x7ffd11f1d4d0)
+ QObject (0x7ffd11f1d540) 0
+ primary-for QWidget (0x7ffd11ed4600)
+ QPaintDevice (0x7ffd11f1d5b0) 16
+ vptr=((& QMainWindow::_ZTV11QMainWindow) + 472u)
+
+Class QTextEdit::ExtraSelection
+ size=24 align=8
+ base size=24 base align=8
+QTextEdit::ExtraSelection (0x7ffd11da0770) 0
+
+Vtable for QTextEdit
+QTextEdit::_ZTV9QTextEdit: 69u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QTextEdit)
+16 QTextEdit::metaObject
+24 QTextEdit::qt_metacast
+32 QTextEdit::qt_metacall
+40 QTextEdit::~QTextEdit
+48 QTextEdit::~QTextEdit
+56 QTextEdit::event
+64 QObject::eventFilter
+72 QTextEdit::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QAbstractScrollArea::sizeHint
+136 QAbstractScrollArea::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QTextEdit::mousePressEvent
+168 QTextEdit::mouseReleaseEvent
+176 QTextEdit::mouseDoubleClickEvent
+184 QTextEdit::mouseMoveEvent
+192 QTextEdit::wheelEvent
+200 QTextEdit::keyPressEvent
+208 QTextEdit::keyReleaseEvent
+216 QTextEdit::focusInEvent
+224 QTextEdit::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QTextEdit::paintEvent
+256 QWidget::moveEvent
+264 QTextEdit::resizeEvent
+272 QWidget::closeEvent
+280 QTextEdit::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QTextEdit::dragEnterEvent
+312 QTextEdit::dragMoveEvent
+320 QTextEdit::dragLeaveEvent
+328 QTextEdit::dropEvent
+336 QTextEdit::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QTextEdit::changeEvent
+368 QWidget::metric
+376 QTextEdit::inputMethodEvent
+384 QTextEdit::inputMethodQuery
+392 QTextEdit::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QAbstractScrollArea::viewportEvent
+456 QTextEdit::scrollContentsBy
+464 QTextEdit::loadResource
+472 QTextEdit::createMimeDataFromSelection
+480 QTextEdit::canInsertFromMimeData
+488 QTextEdit::insertFromMimeData
+496 (int (*)(...))-0x00000000000000010
+504 (int (*)(...))(& _ZTI9QTextEdit)
+512 QTextEdit::_ZThn16_N9QTextEditD1Ev
+520 QTextEdit::_ZThn16_N9QTextEditD0Ev
+528 QWidget::_ZThn16_NK7QWidget7devTypeEv
+536 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+544 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QTextEdit
+ size=40 align=8
+ base size=40 base align=8
+QTextEdit (0x7ffd11f777e0) 0
+ vptr=((& QTextEdit::_ZTV9QTextEdit) + 16u)
+ QAbstractScrollArea (0x7ffd11f77850) 0
+ primary-for QTextEdit (0x7ffd11f777e0)
+ QFrame (0x7ffd11f778c0) 0
+ primary-for QAbstractScrollArea (0x7ffd11f77850)
+ QWidget (0x7ffd11f49700) 0
+ primary-for QFrame (0x7ffd11f778c0)
+ QObject (0x7ffd11f77930) 0
+ primary-for QWidget (0x7ffd11f49700)
+ QPaintDevice (0x7ffd11f779a0) 16
+ vptr=((& QTextEdit::_ZTV9QTextEdit) + 512u)
+
+Vtable for QPlainTextEdit
+QPlainTextEdit::_ZTV14QPlainTextEdit: 69u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QPlainTextEdit)
+16 QPlainTextEdit::metaObject
+24 QPlainTextEdit::qt_metacast
+32 QPlainTextEdit::qt_metacall
+40 QPlainTextEdit::~QPlainTextEdit
+48 QPlainTextEdit::~QPlainTextEdit
+56 QPlainTextEdit::event
+64 QObject::eventFilter
+72 QPlainTextEdit::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QAbstractScrollArea::sizeHint
+136 QAbstractScrollArea::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QPlainTextEdit::mousePressEvent
+168 QPlainTextEdit::mouseReleaseEvent
+176 QPlainTextEdit::mouseDoubleClickEvent
+184 QPlainTextEdit::mouseMoveEvent
+192 QPlainTextEdit::wheelEvent
+200 QPlainTextEdit::keyPressEvent
+208 QPlainTextEdit::keyReleaseEvent
+216 QPlainTextEdit::focusInEvent
+224 QPlainTextEdit::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QPlainTextEdit::paintEvent
+256 QWidget::moveEvent
+264 QPlainTextEdit::resizeEvent
+272 QWidget::closeEvent
+280 QPlainTextEdit::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QPlainTextEdit::dragEnterEvent
+312 QPlainTextEdit::dragMoveEvent
+320 QPlainTextEdit::dragLeaveEvent
+328 QPlainTextEdit::dropEvent
+336 QPlainTextEdit::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QPlainTextEdit::changeEvent
+368 QWidget::metric
+376 QPlainTextEdit::inputMethodEvent
+384 QPlainTextEdit::inputMethodQuery
+392 QPlainTextEdit::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QAbstractScrollArea::viewportEvent
+456 QPlainTextEdit::scrollContentsBy
+464 QPlainTextEdit::loadResource
+472 QPlainTextEdit::createMimeDataFromSelection
+480 QPlainTextEdit::canInsertFromMimeData
+488 QPlainTextEdit::insertFromMimeData
+496 (int (*)(...))-0x00000000000000010
+504 (int (*)(...))(& _ZTI14QPlainTextEdit)
+512 QPlainTextEdit::_ZThn16_N14QPlainTextEditD1Ev
+520 QPlainTextEdit::_ZThn16_N14QPlainTextEditD0Ev
+528 QWidget::_ZThn16_NK7QWidget7devTypeEv
+536 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+544 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QPlainTextEdit
+ size=40 align=8
+ base size=40 base align=8
+QPlainTextEdit (0x7ffd11e37930) 0
+ vptr=((& QPlainTextEdit::_ZTV14QPlainTextEdit) + 16u)
+ QAbstractScrollArea (0x7ffd11e379a0) 0
+ primary-for QPlainTextEdit (0x7ffd11e37930)
+ QFrame (0x7ffd11e37a10) 0
+ primary-for QAbstractScrollArea (0x7ffd11e379a0)
+ QWidget (0x7ffd11e07f00) 0
+ primary-for QFrame (0x7ffd11e37a10)
+ QObject (0x7ffd11e37a80) 0
+ primary-for QWidget (0x7ffd11e07f00)
+ QPaintDevice (0x7ffd11e37af0) 16
+ vptr=((& QPlainTextEdit::_ZTV14QPlainTextEdit) + 512u)
+
+Vtable for QPlainTextDocumentLayout
+QPlainTextDocumentLayout::_ZTV24QPlainTextDocumentLayout: 24u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI24QPlainTextDocumentLayout)
+16 QPlainTextDocumentLayout::metaObject
+24 QPlainTextDocumentLayout::qt_metacast
+32 QPlainTextDocumentLayout::qt_metacall
+40 QPlainTextDocumentLayout::~QPlainTextDocumentLayout
+48 QPlainTextDocumentLayout::~QPlainTextDocumentLayout
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QPlainTextDocumentLayout::draw
+120 QPlainTextDocumentLayout::hitTest
+128 QPlainTextDocumentLayout::pageCount
+136 QPlainTextDocumentLayout::documentSize
+144 QPlainTextDocumentLayout::frameBoundingRect
+152 QPlainTextDocumentLayout::blockBoundingRect
+160 QPlainTextDocumentLayout::documentChanged
+168 QAbstractTextDocumentLayout::resizeInlineObject
+176 QAbstractTextDocumentLayout::positionInlineObject
+184 QAbstractTextDocumentLayout::drawInlineObject
+
+Class QPlainTextDocumentLayout
+ size=16 align=8
+ base size=16 base align=8
+QPlainTextDocumentLayout (0x7ffd11c96700) 0
+ vptr=((& QPlainTextDocumentLayout::_ZTV24QPlainTextDocumentLayout) + 16u)
+ QAbstractTextDocumentLayout (0x7ffd11c96770) 0
+ primary-for QPlainTextDocumentLayout (0x7ffd11c96700)
+ QObject (0x7ffd11c967e0) 0
+ primary-for QAbstractTextDocumentLayout (0x7ffd11c96770)
+
+Vtable for QProgressBar
+QProgressBar::_ZTV12QProgressBar: 64u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QProgressBar)
+16 QProgressBar::metaObject
+24 QProgressBar::qt_metacast
+32 QProgressBar::qt_metacall
+40 QProgressBar::~QProgressBar
+48 QProgressBar::~QProgressBar
+56 QProgressBar::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QProgressBar::sizeHint
+136 QProgressBar::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QProgressBar::paintEvent
+256 QWidget::moveEvent
+264 QWidget::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QWidget::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QProgressBar::text
+456 (int (*)(...))-0x00000000000000010
+464 (int (*)(...))(& _ZTI12QProgressBar)
+472 QProgressBar::_ZThn16_N12QProgressBarD1Ev
+480 QProgressBar::_ZThn16_N12QProgressBarD0Ev
+488 QWidget::_ZThn16_NK7QWidget7devTypeEv
+496 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+504 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QProgressBar
+ size=40 align=8
+ base size=40 base align=8
+QProgressBar (0x7ffd11caabd0) 0
+ vptr=((& QProgressBar::_ZTV12QProgressBar) + 16u)
+ QWidget (0x7ffd11c95f00) 0
+ primary-for QProgressBar (0x7ffd11caabd0)
+ QObject (0x7ffd11caac40) 0
+ primary-for QWidget (0x7ffd11c95f00)
+ QPaintDevice (0x7ffd11caacb0) 16
+ vptr=((& QProgressBar::_ZTV12QProgressBar) + 472u)
+
+Vtable for QScrollBar
+QScrollBar::_ZTV10QScrollBar: 64u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QScrollBar)
+16 QScrollBar::metaObject
+24 QScrollBar::qt_metacast
+32 QScrollBar::qt_metacall
+40 QScrollBar::~QScrollBar
+48 QScrollBar::~QScrollBar
+56 QScrollBar::event
+64 QObject::eventFilter
+72 QAbstractSlider::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QScrollBar::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QScrollBar::mousePressEvent
+168 QScrollBar::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QScrollBar::mouseMoveEvent
+192 QAbstractSlider::wheelEvent
+200 QAbstractSlider::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QScrollBar::paintEvent
+256 QWidget::moveEvent
+264 QWidget::resizeEvent
+272 QWidget::closeEvent
+280 QScrollBar::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QScrollBar::hideEvent
+352 QWidget::x11Event
+360 QAbstractSlider::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QScrollBar::sliderChange
+456 (int (*)(...))-0x00000000000000010
+464 (int (*)(...))(& _ZTI10QScrollBar)
+472 QScrollBar::_ZThn16_N10QScrollBarD1Ev
+480 QScrollBar::_ZThn16_N10QScrollBarD0Ev
+488 QWidget::_ZThn16_NK7QWidget7devTypeEv
+496 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+504 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QScrollBar
+ size=40 align=8
+ base size=40 base align=8
+QScrollBar (0x7ffd11ccea10) 0
+ vptr=((& QScrollBar::_ZTV10QScrollBar) + 16u)
+ QAbstractSlider (0x7ffd11ccea80) 0
+ primary-for QScrollBar (0x7ffd11ccea10)
+ QWidget (0x7ffd11cb2900) 0
+ primary-for QAbstractSlider (0x7ffd11ccea80)
+ QObject (0x7ffd11cceaf0) 0
+ primary-for QWidget (0x7ffd11cb2900)
+ QPaintDevice (0x7ffd11cceb60) 16
+ vptr=((& QScrollBar::_ZTV10QScrollBar) + 472u)
+
+Vtable for QSizeGrip
+QSizeGrip::_ZTV9QSizeGrip: 63u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QSizeGrip)
+16 QSizeGrip::metaObject
+24 QSizeGrip::qt_metacast
+32 QSizeGrip::qt_metacall
+40 QSizeGrip::~QSizeGrip
+48 QSizeGrip::~QSizeGrip
+56 QSizeGrip::event
+64 QSizeGrip::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QSizeGrip::setVisible
+128 QSizeGrip::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QSizeGrip::mousePressEvent
+168 QSizeGrip::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QSizeGrip::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QSizeGrip::paintEvent
+256 QSizeGrip::moveEvent
+264 QWidget::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QSizeGrip::showEvent
+344 QSizeGrip::hideEvent
+352 QWidget::x11Event
+360 QWidget::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 (int (*)(...))-0x00000000000000010
+456 (int (*)(...))(& _ZTI9QSizeGrip)
+464 QSizeGrip::_ZThn16_N9QSizeGripD1Ev
+472 QSizeGrip::_ZThn16_N9QSizeGripD0Ev
+480 QWidget::_ZThn16_NK7QWidget7devTypeEv
+488 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+496 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QSizeGrip
+ size=40 align=8
+ base size=40 base align=8
+QSizeGrip (0x7ffd11ceeb60) 0
+ vptr=((& QSizeGrip::_ZTV9QSizeGrip) + 16u)
+ QWidget (0x7ffd11cf1380) 0
+ primary-for QSizeGrip (0x7ffd11ceeb60)
+ QObject (0x7ffd11ceebd0) 0
+ primary-for QWidget (0x7ffd11cf1380)
+ QPaintDevice (0x7ffd11ceec40) 16
+ vptr=((& QSizeGrip::_ZTV9QSizeGrip) + 464u)
+
+Vtable for QTextBrowser
+QTextBrowser::_ZTV12QTextBrowser: 74u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QTextBrowser)
+16 QTextBrowser::metaObject
+24 QTextBrowser::qt_metacast
+32 QTextBrowser::qt_metacall
+40 QTextBrowser::~QTextBrowser
+48 QTextBrowser::~QTextBrowser
+56 QTextBrowser::event
+64 QObject::eventFilter
+72 QTextEdit::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QAbstractScrollArea::sizeHint
+136 QAbstractScrollArea::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QTextBrowser::mousePressEvent
+168 QTextBrowser::mouseReleaseEvent
+176 QTextEdit::mouseDoubleClickEvent
+184 QTextBrowser::mouseMoveEvent
+192 QTextEdit::wheelEvent
+200 QTextBrowser::keyPressEvent
+208 QTextEdit::keyReleaseEvent
+216 QTextEdit::focusInEvent
+224 QTextBrowser::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QTextBrowser::paintEvent
+256 QWidget::moveEvent
+264 QTextEdit::resizeEvent
+272 QWidget::closeEvent
+280 QTextEdit::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QTextEdit::dragEnterEvent
+312 QTextEdit::dragMoveEvent
+320 QTextEdit::dragLeaveEvent
+328 QTextEdit::dropEvent
+336 QTextEdit::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QTextEdit::changeEvent
+368 QWidget::metric
+376 QTextEdit::inputMethodEvent
+384 QTextEdit::inputMethodQuery
+392 QTextBrowser::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QAbstractScrollArea::viewportEvent
+456 QTextEdit::scrollContentsBy
+464 QTextBrowser::loadResource
+472 QTextEdit::createMimeDataFromSelection
+480 QTextEdit::canInsertFromMimeData
+488 QTextEdit::insertFromMimeData
+496 QTextBrowser::setSource
+504 QTextBrowser::backward
+512 QTextBrowser::forward
+520 QTextBrowser::home
+528 QTextBrowser::reload
+536 (int (*)(...))-0x00000000000000010
+544 (int (*)(...))(& _ZTI12QTextBrowser)
+552 QTextBrowser::_ZThn16_N12QTextBrowserD1Ev
+560 QTextBrowser::_ZThn16_N12QTextBrowserD0Ev
+568 QWidget::_ZThn16_NK7QWidget7devTypeEv
+576 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+584 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QTextBrowser
+ size=40 align=8
+ base size=40 base align=8
+QTextBrowser (0x7ffd11d0d690) 0
+ vptr=((& QTextBrowser::_ZTV12QTextBrowser) + 16u)
+ QTextEdit (0x7ffd11d0d700) 0
+ primary-for QTextBrowser (0x7ffd11d0d690)
+ QAbstractScrollArea (0x7ffd11d0d770) 0
+ primary-for QTextEdit (0x7ffd11d0d700)
+ QFrame (0x7ffd11d0d7e0) 0
+ primary-for QAbstractScrollArea (0x7ffd11d0d770)
+ QWidget (0x7ffd11cf1c80) 0
+ primary-for QFrame (0x7ffd11d0d7e0)
+ QObject (0x7ffd11d0d850) 0
+ primary-for QWidget (0x7ffd11cf1c80)
+ QPaintDevice (0x7ffd11d0d8c0) 16
+ vptr=((& QTextBrowser::_ZTV12QTextBrowser) + 552u)
+
+Vtable for QStatusBar
+QStatusBar::_ZTV10QStatusBar: 63u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QStatusBar)
+16 QStatusBar::metaObject
+24 QStatusBar::qt_metacast
+32 QStatusBar::qt_metacall
+40 QStatusBar::~QStatusBar
+48 QStatusBar::~QStatusBar
+56 QStatusBar::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QWidget::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QStatusBar::paintEvent
+256 QWidget::moveEvent
+264 QStatusBar::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QStatusBar::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QWidget::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 (int (*)(...))-0x00000000000000010
+456 (int (*)(...))(& _ZTI10QStatusBar)
+464 QStatusBar::_ZThn16_N10QStatusBarD1Ev
+472 QStatusBar::_ZThn16_N10QStatusBarD0Ev
+480 QWidget::_ZThn16_NK7QWidget7devTypeEv
+488 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+496 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QStatusBar
+ size=40 align=8
+ base size=40 base align=8
+QStatusBar (0x7ffd11d332a0) 0
+ vptr=((& QStatusBar::_ZTV10QStatusBar) + 16u)
+ QWidget (0x7ffd11d2a580) 0
+ primary-for QStatusBar (0x7ffd11d332a0)
+ QObject (0x7ffd11d33310) 0
+ primary-for QWidget (0x7ffd11d2a580)
+ QPaintDevice (0x7ffd11d33380) 16
+ vptr=((& QStatusBar::_ZTV10QStatusBar) + 464u)
+
+Vtable for QToolButton
+QToolButton::_ZTV11QToolButton: 66u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QToolButton)
+16 QToolButton::metaObject
+24 QToolButton::qt_metacast
+32 QToolButton::qt_metacall
+40 QToolButton::~QToolButton
+48 QToolButton::~QToolButton
+56 QToolButton::event
+64 QObject::eventFilter
+72 QToolButton::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QToolButton::sizeHint
+136 QToolButton::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QToolButton::mousePressEvent
+168 QToolButton::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QAbstractButton::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QAbstractButton::keyPressEvent
+208 QAbstractButton::keyReleaseEvent
+216 QAbstractButton::focusInEvent
+224 QAbstractButton::focusOutEvent
+232 QToolButton::enterEvent
+240 QToolButton::leaveEvent
+248 QToolButton::paintEvent
+256 QWidget::moveEvent
+264 QWidget::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QToolButton::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QToolButton::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QToolButton::hitButton
+456 QAbstractButton::checkStateSet
+464 QToolButton::nextCheckState
+472 (int (*)(...))-0x00000000000000010
+480 (int (*)(...))(& _ZTI11QToolButton)
+488 QToolButton::_ZThn16_N11QToolButtonD1Ev
+496 QToolButton::_ZThn16_N11QToolButtonD0Ev
+504 QWidget::_ZThn16_NK7QWidget7devTypeEv
+512 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+520 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QToolButton
+ size=40 align=8
+ base size=40 base align=8
+QToolButton (0x7ffd11d537e0) 0
+ vptr=((& QToolButton::_ZTV11QToolButton) + 16u)
+ QAbstractButton (0x7ffd11d53850) 0
+ primary-for QToolButton (0x7ffd11d537e0)
+ QWidget (0x7ffd11d52480) 0
+ primary-for QAbstractButton (0x7ffd11d53850)
+ QObject (0x7ffd11d538c0) 0
+ primary-for QWidget (0x7ffd11d52480)
+ QPaintDevice (0x7ffd11d53930) 16
+ vptr=((& QToolButton::_ZTV11QToolButton) + 488u)
+
+Vtable for QComboBox
+QComboBox::_ZTV9QComboBox: 65u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QComboBox)
+16 QComboBox::metaObject
+24 QComboBox::qt_metacast
+32 QComboBox::qt_metacall
+40 QComboBox::~QComboBox
+48 QComboBox::~QComboBox
+56 QComboBox::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QComboBox::sizeHint
+136 QComboBox::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QComboBox::mousePressEvent
+168 QComboBox::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QComboBox::wheelEvent
+200 QComboBox::keyPressEvent
+208 QComboBox::keyReleaseEvent
+216 QComboBox::focusInEvent
+224 QComboBox::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QComboBox::paintEvent
+256 QWidget::moveEvent
+264 QComboBox::resizeEvent
+272 QWidget::closeEvent
+280 QComboBox::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QComboBox::showEvent
+344 QComboBox::hideEvent
+352 QWidget::x11Event
+360 QComboBox::changeEvent
+368 QWidget::metric
+376 QComboBox::inputMethodEvent
+384 QComboBox::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QComboBox::showPopup
+456 QComboBox::hidePopup
+464 (int (*)(...))-0x00000000000000010
+472 (int (*)(...))(& _ZTI9QComboBox)
+480 QComboBox::_ZThn16_N9QComboBoxD1Ev
+488 QComboBox::_ZThn16_N9QComboBoxD0Ev
+496 QWidget::_ZThn16_NK7QWidget7devTypeEv
+504 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+512 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QComboBox
+ size=40 align=8
+ base size=40 base align=8
+QComboBox (0x7ffd11b93af0) 0
+ vptr=((& QComboBox::_ZTV9QComboBox) + 16u)
+ QWidget (0x7ffd11b9b080) 0
+ primary-for QComboBox (0x7ffd11b93af0)
+ QObject (0x7ffd11b93b60) 0
+ primary-for QWidget (0x7ffd11b9b080)
+ QPaintDevice (0x7ffd11b93bd0) 16
+ vptr=((& QComboBox::_ZTV9QComboBox) + 480u)
+
+Vtable for QCommandLinkButton
+QCommandLinkButton::_ZTV18QCommandLinkButton: 66u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QCommandLinkButton)
+16 QCommandLinkButton::metaObject
+24 QCommandLinkButton::qt_metacast
+32 QCommandLinkButton::qt_metacall
+40 QCommandLinkButton::~QCommandLinkButton
+48 QCommandLinkButton::~QCommandLinkButton
+56 QCommandLinkButton::event
+64 QObject::eventFilter
+72 QAbstractButton::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QCommandLinkButton::sizeHint
+136 QCommandLinkButton::minimumSizeHint
+144 QCommandLinkButton::heightForWidth
+152 QWidget::paintEngine
+160 QAbstractButton::mousePressEvent
+168 QAbstractButton::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QAbstractButton::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QPushButton::keyPressEvent
+208 QAbstractButton::keyReleaseEvent
+216 QPushButton::focusInEvent
+224 QPushButton::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QCommandLinkButton::paintEvent
+256 QWidget::moveEvent
+264 QWidget::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QAbstractButton::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QAbstractButton::hitButton
+456 QAbstractButton::checkStateSet
+464 QAbstractButton::nextCheckState
+472 (int (*)(...))-0x00000000000000010
+480 (int (*)(...))(& _ZTI18QCommandLinkButton)
+488 QCommandLinkButton::_ZThn16_N18QCommandLinkButtonD1Ev
+496 QCommandLinkButton::_ZThn16_N18QCommandLinkButtonD0Ev
+504 QWidget::_ZThn16_NK7QWidget7devTypeEv
+512 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+520 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QCommandLinkButton
+ size=40 align=8
+ base size=40 base align=8
+QCommandLinkButton (0x7ffd11c03620) 0
+ vptr=((& QCommandLinkButton::_ZTV18QCommandLinkButton) + 16u)
+ QPushButton (0x7ffd11c03690) 0
+ primary-for QCommandLinkButton (0x7ffd11c03620)
+ QAbstractButton (0x7ffd11c03700) 0
+ primary-for QPushButton (0x7ffd11c03690)
+ QWidget (0x7ffd11bffc80) 0
+ primary-for QAbstractButton (0x7ffd11c03700)
+ QObject (0x7ffd11c03770) 0
+ primary-for QWidget (0x7ffd11bffc80)
+ QPaintDevice (0x7ffd11c037e0) 16
+ vptr=((& QCommandLinkButton::_ZTV18QCommandLinkButton) + 488u)
+
+Vtable for QMenuItem
+QMenuItem::_ZTV9QMenuItem: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QMenuItem)
+16 QMenuItem::metaObject
+24 QMenuItem::qt_metacast
+32 QMenuItem::qt_metacall
+40 QMenuItem::~QMenuItem
+48 QMenuItem::~QMenuItem
+56 QAction::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QMenuItem
+ size=16 align=8
+ base size=16 base align=8
+QMenuItem (0x7ffd11c241c0) 0
+ vptr=((& QMenuItem::_ZTV9QMenuItem) + 16u)
+ QAction (0x7ffd11c24230) 0
+ primary-for QMenuItem (0x7ffd11c241c0)
+ QObject (0x7ffd11c242a0) 0
+ primary-for QAction (0x7ffd11c24230)
+
+Vtable for QCalendarWidget
+QCalendarWidget::_ZTV15QCalendarWidget: 64u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QCalendarWidget)
+16 QCalendarWidget::metaObject
+24 QCalendarWidget::qt_metacast
+32 QCalendarWidget::qt_metacall
+40 QCalendarWidget::~QCalendarWidget
+48 QCalendarWidget::~QCalendarWidget
+56 QCalendarWidget::event
+64 QCalendarWidget::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QCalendarWidget::sizeHint
+136 QCalendarWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QCalendarWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QCalendarWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QWidget::paintEvent
+256 QWidget::moveEvent
+264 QCalendarWidget::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QWidget::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QCalendarWidget::paintCell
+456 (int (*)(...))-0x00000000000000010
+464 (int (*)(...))(& _ZTI15QCalendarWidget)
+472 QCalendarWidget::_ZThn16_N15QCalendarWidgetD1Ev
+480 QCalendarWidget::_ZThn16_N15QCalendarWidgetD0Ev
+488 QWidget::_ZThn16_NK7QWidget7devTypeEv
+496 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+504 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QCalendarWidget
+ size=40 align=8
+ base size=40 base align=8
+QCalendarWidget (0x7ffd11c33000) 0
+ vptr=((& QCalendarWidget::_ZTV15QCalendarWidget) + 16u)
+ QWidget (0x7ffd11c1bc00) 0
+ primary-for QCalendarWidget (0x7ffd11c33000)
+ QObject (0x7ffd11c33070) 0
+ primary-for QWidget (0x7ffd11c1bc00)
+ QPaintDevice (0x7ffd11c330e0) 16
+ vptr=((& QCalendarWidget::_ZTV15QCalendarWidget) + 472u)
+
+Vtable for QRadioButton
+QRadioButton::_ZTV12QRadioButton: 66u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QRadioButton)
+16 QRadioButton::metaObject
+24 QRadioButton::qt_metacast
+32 QRadioButton::qt_metacall
+40 QRadioButton::~QRadioButton
+48 QRadioButton::~QRadioButton
+56 QRadioButton::event
+64 QObject::eventFilter
+72 QAbstractButton::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QRadioButton::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QAbstractButton::mousePressEvent
+168 QAbstractButton::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QRadioButton::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QAbstractButton::keyPressEvent
+208 QAbstractButton::keyReleaseEvent
+216 QAbstractButton::focusInEvent
+224 QAbstractButton::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QRadioButton::paintEvent
+256 QWidget::moveEvent
+264 QWidget::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QAbstractButton::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QRadioButton::hitButton
+456 QAbstractButton::checkStateSet
+464 QAbstractButton::nextCheckState
+472 (int (*)(...))-0x00000000000000010
+480 (int (*)(...))(& _ZTI12QRadioButton)
+488 QRadioButton::_ZThn16_N12QRadioButtonD1Ev
+496 QRadioButton::_ZThn16_N12QRadioButtonD0Ev
+504 QWidget::_ZThn16_NK7QWidget7devTypeEv
+512 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+520 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QRadioButton
+ size=40 align=8
+ base size=40 base align=8
+QRadioButton (0x7ffd11c60150) 0
+ vptr=((& QRadioButton::_ZTV12QRadioButton) + 16u)
+ QAbstractButton (0x7ffd11c601c0) 0
+ primary-for QRadioButton (0x7ffd11c60150)
+ QWidget (0x7ffd11c39b00) 0
+ primary-for QAbstractButton (0x7ffd11c601c0)
+ QObject (0x7ffd11c60230) 0
+ primary-for QWidget (0x7ffd11c39b00)
+ QPaintDevice (0x7ffd11c602a0) 16
+ vptr=((& QRadioButton::_ZTV12QRadioButton) + 488u)
+
+Vtable for QMenuBar
+QMenuBar::_ZTV8QMenuBar: 63u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI8QMenuBar)
+16 QMenuBar::metaObject
+24 QMenuBar::qt_metacast
+32 QMenuBar::qt_metacall
+40 QMenuBar::~QMenuBar
+48 QMenuBar::~QMenuBar
+56 QMenuBar::event
+64 QMenuBar::eventFilter
+72 QMenuBar::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QMenuBar::setVisible
+128 QMenuBar::sizeHint
+136 QMenuBar::minimumSizeHint
+144 QMenuBar::heightForWidth
+152 QWidget::paintEngine
+160 QMenuBar::mousePressEvent
+168 QMenuBar::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QMenuBar::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QMenuBar::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QMenuBar::focusInEvent
+224 QMenuBar::focusOutEvent
+232 QWidget::enterEvent
+240 QMenuBar::leaveEvent
+248 QMenuBar::paintEvent
+256 QWidget::moveEvent
+264 QMenuBar::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QMenuBar::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QMenuBar::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 (int (*)(...))-0x00000000000000010
+456 (int (*)(...))(& _ZTI8QMenuBar)
+464 QMenuBar::_ZThn16_N8QMenuBarD1Ev
+472 QMenuBar::_ZThn16_N8QMenuBarD0Ev
+480 QWidget::_ZThn16_NK7QWidget7devTypeEv
+488 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+496 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QMenuBar
+ size=40 align=8
+ base size=40 base align=8
+QMenuBar (0x7ffd11c77d90) 0
+ vptr=((& QMenuBar::_ZTV8QMenuBar) + 16u)
+ QWidget (0x7ffd11c79400) 0
+ primary-for QMenuBar (0x7ffd11c77d90)
+ QObject (0x7ffd11c77e00) 0
+ primary-for QWidget (0x7ffd11c79400)
+ QPaintDevice (0x7ffd11c77e70) 16
+ vptr=((& QMenuBar::_ZTV8QMenuBar) + 464u)
+
+Vtable for QFocusFrame
+QFocusFrame::_ZTV11QFocusFrame: 63u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QFocusFrame)
+16 QFocusFrame::metaObject
+24 QFocusFrame::qt_metacast
+32 QFocusFrame::qt_metacall
+40 QFocusFrame::~QFocusFrame
+48 QFocusFrame::~QFocusFrame
+56 QFocusFrame::event
+64 QFocusFrame::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QWidget::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QFocusFrame::paintEvent
+256 QWidget::moveEvent
+264 QWidget::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QWidget::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 (int (*)(...))-0x00000000000000010
+456 (int (*)(...))(& _ZTI11QFocusFrame)
+464 QFocusFrame::_ZThn16_N11QFocusFrameD1Ev
+472 QFocusFrame::_ZThn16_N11QFocusFrameD0Ev
+480 QWidget::_ZThn16_NK7QWidget7devTypeEv
+488 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+496 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QFocusFrame
+ size=40 align=8
+ base size=40 base align=8
+QFocusFrame (0x7ffd11b11cb0) 0
+ vptr=((& QFocusFrame::_ZTV11QFocusFrame) + 16u)
+ QWidget (0x7ffd11b0fe00) 0
+ primary-for QFocusFrame (0x7ffd11b11cb0)
+ QObject (0x7ffd11b11d20) 0
+ primary-for QWidget (0x7ffd11b0fe00)
+ QPaintDevice (0x7ffd11b11d90) 16
+ vptr=((& QFocusFrame::_ZTV11QFocusFrame) + 464u)
+
+Vtable for QFontComboBox
+QFontComboBox::_ZTV13QFontComboBox: 65u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QFontComboBox)
+16 QFontComboBox::metaObject
+24 QFontComboBox::qt_metacast
+32 QFontComboBox::qt_metacall
+40 QFontComboBox::~QFontComboBox
+48 QFontComboBox::~QFontComboBox
+56 QFontComboBox::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QFontComboBox::sizeHint
+136 QComboBox::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QComboBox::mousePressEvent
+168 QComboBox::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QComboBox::wheelEvent
+200 QComboBox::keyPressEvent
+208 QComboBox::keyReleaseEvent
+216 QComboBox::focusInEvent
+224 QComboBox::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QComboBox::paintEvent
+256 QWidget::moveEvent
+264 QComboBox::resizeEvent
+272 QWidget::closeEvent
+280 QComboBox::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QComboBox::showEvent
+344 QComboBox::hideEvent
+352 QWidget::x11Event
+360 QComboBox::changeEvent
+368 QWidget::metric
+376 QComboBox::inputMethodEvent
+384 QComboBox::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QComboBox::showPopup
+456 QComboBox::hidePopup
+464 (int (*)(...))-0x00000000000000010
+472 (int (*)(...))(& _ZTI13QFontComboBox)
+480 QFontComboBox::_ZThn16_N13QFontComboBoxD1Ev
+488 QFontComboBox::_ZThn16_N13QFontComboBoxD0Ev
+496 QWidget::_ZThn16_NK7QWidget7devTypeEv
+504 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+512 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QFontComboBox
+ size=40 align=8
+ base size=40 base align=8
+QFontComboBox (0x7ffd11b2c850) 0
+ vptr=((& QFontComboBox::_ZTV13QFontComboBox) + 16u)
+ QComboBox (0x7ffd11b2c8c0) 0
+ primary-for QFontComboBox (0x7ffd11b2c850)
+ QWidget (0x7ffd11b26700) 0
+ primary-for QComboBox (0x7ffd11b2c8c0)
+ QObject (0x7ffd11b2c930) 0
+ primary-for QWidget (0x7ffd11b26700)
+ QPaintDevice (0x7ffd11b2c9a0) 16
+ vptr=((& QFontComboBox::_ZTV13QFontComboBox) + 480u)
+
+Vtable for QToolBar
+QToolBar::_ZTV8QToolBar: 63u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI8QToolBar)
+16 QToolBar::metaObject
+24 QToolBar::qt_metacast
+32 QToolBar::qt_metacall
+40 QToolBar::~QToolBar
+48 QToolBar::~QToolBar
+56 QToolBar::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QToolBar::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QWidget::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QToolBar::paintEvent
+256 QWidget::moveEvent
+264 QToolBar::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QToolBar::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QToolBar::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 (int (*)(...))-0x00000000000000010
+456 (int (*)(...))(& _ZTI8QToolBar)
+464 QToolBar::_ZThn16_N8QToolBarD1Ev
+472 QToolBar::_ZThn16_N8QToolBarD0Ev
+480 QWidget::_ZThn16_NK7QWidget7devTypeEv
+488 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+496 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QToolBar
+ size=40 align=8
+ base size=40 base align=8
+QToolBar (0x7ffd11998540) 0
+ vptr=((& QToolBar::_ZTV8QToolBar) + 16u)
+ QWidget (0x7ffd11b48800) 0
+ primary-for QToolBar (0x7ffd11998540)
+ QObject (0x7ffd119985b0) 0
+ primary-for QWidget (0x7ffd11b48800)
+ QPaintDevice (0x7ffd11998620) 16
+ vptr=((& QToolBar::_ZTV8QToolBar) + 464u)
+
+Vtable for QToolBox
+QToolBox::_ZTV8QToolBox: 65u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI8QToolBox)
+16 QToolBox::metaObject
+24 QToolBox::qt_metacast
+32 QToolBox::qt_metacall
+40 QToolBox::~QToolBox
+48 QToolBox::~QToolBox
+56 QToolBox::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QFrame::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QFrame::paintEvent
+256 QWidget::moveEvent
+264 QWidget::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QToolBox::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QToolBox::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QToolBox::itemInserted
+456 QToolBox::itemRemoved
+464 (int (*)(...))-0x00000000000000010
+472 (int (*)(...))(& _ZTI8QToolBox)
+480 QToolBox::_ZThn16_N8QToolBoxD1Ev
+488 QToolBox::_ZThn16_N8QToolBoxD0Ev
+496 QWidget::_ZThn16_NK7QWidget7devTypeEv
+504 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+512 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QToolBox
+ size=40 align=8
+ base size=40 base align=8
+QToolBox (0x7ffd119cf380) 0
+ vptr=((& QToolBox::_ZTV8QToolBox) + 16u)
+ QFrame (0x7ffd119cf3f0) 0
+ primary-for QToolBox (0x7ffd119cf380)
+ QWidget (0x7ffd119cb800) 0
+ primary-for QFrame (0x7ffd119cf3f0)
+ QObject (0x7ffd119cf460) 0
+ primary-for QWidget (0x7ffd119cb800)
+ QPaintDevice (0x7ffd119cf4d0) 16
+ vptr=((& QToolBox::_ZTV8QToolBox) + 480u)
+
+Vtable for QSplitter
+QSplitter::_ZTV9QSplitter: 64u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QSplitter)
+16 QSplitter::metaObject
+24 QSplitter::qt_metacast
+32 QSplitter::qt_metacall
+40 QSplitter::~QSplitter
+48 QSplitter::~QSplitter
+56 QSplitter::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QSplitter::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QSplitter::sizeHint
+136 QSplitter::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QFrame::paintEvent
+256 QWidget::moveEvent
+264 QSplitter::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QSplitter::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QSplitter::createHandle
+456 (int (*)(...))-0x00000000000000010
+464 (int (*)(...))(& _ZTI9QSplitter)
+472 QSplitter::_ZThn16_N9QSplitterD1Ev
+480 QSplitter::_ZThn16_N9QSplitterD0Ev
+488 QWidget::_ZThn16_NK7QWidget7devTypeEv
+496 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+504 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QSplitter
+ size=40 align=8
+ base size=40 base align=8
+QSplitter (0x7ffd11a08000) 0
+ vptr=((& QSplitter::_ZTV9QSplitter) + 16u)
+ QFrame (0x7ffd11a08070) 0
+ primary-for QSplitter (0x7ffd11a08000)
+ QWidget (0x7ffd11a03480) 0
+ primary-for QFrame (0x7ffd11a08070)
+ QObject (0x7ffd11a080e0) 0
+ primary-for QWidget (0x7ffd11a03480)
+ QPaintDevice (0x7ffd11a08150) 16
+ vptr=((& QSplitter::_ZTV9QSplitter) + 472u)
+
+Vtable for QSplitterHandle
+QSplitterHandle::_ZTV15QSplitterHandle: 63u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QSplitterHandle)
+16 QSplitterHandle::metaObject
+24 QSplitterHandle::qt_metacast
+32 QSplitterHandle::qt_metacall
+40 QSplitterHandle::~QSplitterHandle
+48 QSplitterHandle::~QSplitterHandle
+56 QSplitterHandle::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QSplitterHandle::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QSplitterHandle::mousePressEvent
+168 QSplitterHandle::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QSplitterHandle::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QSplitterHandle::paintEvent
+256 QWidget::moveEvent
+264 QWidget::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QWidget::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 (int (*)(...))-0x00000000000000010
+456 (int (*)(...))(& _ZTI15QSplitterHandle)
+464 QSplitterHandle::_ZThn16_N15QSplitterHandleD1Ev
+472 QSplitterHandle::_ZThn16_N15QSplitterHandleD0Ev
+480 QWidget::_ZThn16_NK7QWidget7devTypeEv
+488 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+496 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QSplitterHandle
+ size=40 align=8
+ base size=40 base align=8
+QSplitterHandle (0x7ffd11a340e0) 0
+ vptr=((& QSplitterHandle::_ZTV15QSplitterHandle) + 16u)
+ QWidget (0x7ffd11a2f580) 0
+ primary-for QSplitterHandle (0x7ffd11a340e0)
+ QObject (0x7ffd11a34150) 0
+ primary-for QWidget (0x7ffd11a2f580)
+ QPaintDevice (0x7ffd11a341c0) 16
+ vptr=((& QSplitterHandle::_ZTV15QSplitterHandle) + 464u)
+
+Vtable for QDial
+QDial::_ZTV5QDial: 64u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI5QDial)
+16 QDial::metaObject
+24 QDial::qt_metacast
+32 QDial::qt_metacall
+40 QDial::~QDial
+48 QDial::~QDial
+56 QDial::event
+64 QObject::eventFilter
+72 QAbstractSlider::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QDial::sizeHint
+136 QDial::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QDial::mousePressEvent
+168 QDial::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QDial::mouseMoveEvent
+192 QAbstractSlider::wheelEvent
+200 QAbstractSlider::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QDial::paintEvent
+256 QWidget::moveEvent
+264 QDial::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QAbstractSlider::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QDial::sliderChange
+456 (int (*)(...))-0x00000000000000010
+464 (int (*)(...))(& _ZTI5QDial)
+472 QDial::_ZThn16_N5QDialD1Ev
+480 QDial::_ZThn16_N5QDialD0Ev
+488 QWidget::_ZThn16_NK7QWidget7devTypeEv
+496 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+504 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QDial
+ size=40 align=8
+ base size=40 base align=8
+QDial (0x7ffd11a4d8c0) 0
+ vptr=((& QDial::_ZTV5QDial) + 16u)
+ QAbstractSlider (0x7ffd11a4d930) 0
+ primary-for QDial (0x7ffd11a4d8c0)
+ QWidget (0x7ffd11a2fe80) 0
+ primary-for QAbstractSlider (0x7ffd11a4d930)
+ QObject (0x7ffd11a4d9a0) 0
+ primary-for QWidget (0x7ffd11a2fe80)
+ QPaintDevice (0x7ffd11a4da10) 16
+ vptr=((& QDial::_ZTV5QDial) + 472u)
+
+Class QScriptValue
+ size=8 align=8
+ base size=8 base align=8
+QScriptValue (0x7ffd11a6d540) 0
+
+Vtable for QScriptClassPropertyIterator
+QScriptClassPropertyIterator::_ZTV28QScriptClassPropertyIterator: 13u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI28QScriptClassPropertyIterator)
+16 QScriptClassPropertyIterator::~QScriptClassPropertyIterator
+24 QScriptClassPropertyIterator::~QScriptClassPropertyIterator
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+48 __cxa_pure_virtual
+56 __cxa_pure_virtual
+64 __cxa_pure_virtual
+72 __cxa_pure_virtual
+80 __cxa_pure_virtual
+88 QScriptClassPropertyIterator::id
+96 QScriptClassPropertyIterator::flags
+
+Class QScriptClassPropertyIterator
+ size=16 align=8
+ base size=16 base align=8
+QScriptClassPropertyIterator (0x7ffd119643f0) 0
+ vptr=((& QScriptClassPropertyIterator::_ZTV28QScriptClassPropertyIterator) + 16u)
+
+Vtable for QScriptEngineAgent
+QScriptEngineAgent::_ZTV18QScriptEngineAgent: 15u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QScriptEngineAgent)
+16 QScriptEngineAgent::~QScriptEngineAgent
+24 QScriptEngineAgent::~QScriptEngineAgent
+32 QScriptEngineAgent::scriptLoad
+40 QScriptEngineAgent::scriptUnload
+48 QScriptEngineAgent::contextPush
+56 QScriptEngineAgent::contextPop
+64 QScriptEngineAgent::functionEntry
+72 QScriptEngineAgent::functionExit
+80 QScriptEngineAgent::positionChange
+88 QScriptEngineAgent::exceptionThrow
+96 QScriptEngineAgent::exceptionCatch
+104 QScriptEngineAgent::supportsExtension
+112 QScriptEngineAgent::extension
+
+Class QScriptEngineAgent
+ size=16 align=8
+ base size=16 base align=8
+QScriptEngineAgent (0x7ffd11964af0) 0
+ vptr=((& QScriptEngineAgent::_ZTV18QScriptEngineAgent) + 16u)
+
+Vtable for QScriptClass
+QScriptClass::_ZTV12QScriptClass: 13u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QScriptClass)
+16 QScriptClass::~QScriptClass
+24 QScriptClass::~QScriptClass
+32 QScriptClass::queryProperty
+40 QScriptClass::property
+48 QScriptClass::setProperty
+56 QScriptClass::propertyFlags
+64 QScriptClass::newIterator
+72 QScriptClass::prototype
+80 QScriptClass::name
+88 QScriptClass::supportsExtension
+96 QScriptClass::extension
+
+Class QScriptClass
+ size=16 align=8
+ base size=16 base align=8
+QScriptClass (0x7ffd11971b60) 0
+ vptr=((& QScriptClass::_ZTV12QScriptClass) + 16u)
+
+Class QScriptContext
+ size=8 align=8
+ base size=8 base align=8
+QScriptContext (0x7ffd117b7930) 0
+
+Class QScriptString
+ size=8 align=8
+ base size=8 base align=8
+QScriptString (0x7ffd117e7690) 0
+
+Class QScriptSyntaxCheckResult
+ size=8 align=8
+ base size=8 base align=8
+QScriptSyntaxCheckResult (0x7ffd117ef2a0) 0
+
+Vtable for QScriptEngine
+QScriptEngine::_ZTV13QScriptEngine: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QScriptEngine)
+16 QScriptEngine::metaObject
+24 QScriptEngine::qt_metacast
+32 QScriptEngine::qt_metacall
+40 QScriptEngine::~QScriptEngine
+48 QScriptEngine::~QScriptEngine
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QScriptEngine
+ size=16 align=8
+ base size=16 base align=8
+QScriptEngine (0x7ffd117efe00) 0
+ vptr=((& QScriptEngine::_ZTV13QScriptEngine) + 16u)
+ QObject (0x7ffd117efe70) 0
+ primary-for QScriptEngine (0x7ffd117efe00)
+
+Vtable for QScriptExtensionInterface
+QScriptExtensionInterface::_ZTV25QScriptExtensionInterface: 6u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI25QScriptExtensionInterface)
+16 QScriptExtensionInterface::~QScriptExtensionInterface
+24 QScriptExtensionInterface::~QScriptExtensionInterface
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+
+Class QScriptExtensionInterface
+ size=8 align=8
+ base size=8 base align=8
+QScriptExtensionInterface (0x7ffd1167a690) 0 nearly-empty
+ vptr=((& QScriptExtensionInterface::_ZTV25QScriptExtensionInterface) + 16u)
+ QFactoryInterface (0x7ffd1167a700) 0 nearly-empty
+ primary-for QScriptExtensionInterface (0x7ffd1167a690)
+
+Vtable for QScriptExtensionPlugin
+QScriptExtensionPlugin::_ZTV22QScriptExtensionPlugin: 22u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI22QScriptExtensionPlugin)
+16 QScriptExtensionPlugin::metaObject
+24 QScriptExtensionPlugin::qt_metacast
+32 QScriptExtensionPlugin::qt_metacall
+40 QScriptExtensionPlugin::~QScriptExtensionPlugin
+48 QScriptExtensionPlugin::~QScriptExtensionPlugin
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 (int (*)(...))-0x00000000000000010
+136 (int (*)(...))(& _ZTI22QScriptExtensionPlugin)
+144 QScriptExtensionPlugin::_ZThn16_N22QScriptExtensionPluginD1Ev
+152 QScriptExtensionPlugin::_ZThn16_N22QScriptExtensionPluginD0Ev
+160 __cxa_pure_virtual
+168 __cxa_pure_virtual
+
+Class QScriptExtensionPlugin
+ size=24 align=8
+ base size=24 base align=8
+QScriptExtensionPlugin (0x7ffd116a3380) 0
+ vptr=((& QScriptExtensionPlugin::_ZTV22QScriptExtensionPlugin) + 16u)
+ QObject (0x7ffd1167af50) 0
+ primary-for QScriptExtensionPlugin (0x7ffd116a3380)
+ QScriptExtensionInterface (0x7ffd1167a770) 16 nearly-empty
+ vptr=((& QScriptExtensionPlugin::_ZTV22QScriptExtensionPlugin) + 144u)
+ QFactoryInterface (0x7ffd116a8000) 16 nearly-empty
+ primary-for QScriptExtensionInterface (0x7ffd1167a770)
+
+Class QScriptable
+ size=8 align=8
+ base size=8 base align=8
+QScriptable (0x7ffd116a8ee0) 0
+
+Class QScriptValueIterator
+ size=8 align=8
+ base size=8 base align=8
+QScriptValueIterator (0x7ffd116ba850) 0
+
+Class QScriptContextInfo
+ size=8 align=8
+ base size=8 base align=8
+QScriptContextInfo (0x7ffd116c5540) 0
+
+Vtable for QScriptEngineDebugger
+QScriptEngineDebugger::_ZTV21QScriptEngineDebugger: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI21QScriptEngineDebugger)
+16 QScriptEngineDebugger::metaObject
+24 QScriptEngineDebugger::qt_metacast
+32 QScriptEngineDebugger::qt_metacall
+40 QScriptEngineDebugger::~QScriptEngineDebugger
+48 QScriptEngineDebugger::~QScriptEngineDebugger
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QScriptEngineDebugger
+ size=16 align=8
+ base size=16 base align=8
+QScriptEngineDebugger (0x7ffd116ce5b0) 0
+ vptr=((& QScriptEngineDebugger::_ZTV21QScriptEngineDebugger) + 16u)
+ QObject (0x7ffd116ce620) 0
+ primary-for QScriptEngineDebugger (0x7ffd116ce5b0)
+
diff --git a/tests/auto/bic/data/QtScriptTools.4.6.0.linux-gcc-amd64.txt b/tests/auto/bic/data/QtScriptTools.4.6.0.linux-gcc-amd64.txt
new file mode 100644
index 0000000000..0f22bebce9
--- /dev/null
+++ b/tests/auto/bic/data/QtScriptTools.4.6.0.linux-gcc-amd64.txt
@@ -0,0 +1,16925 @@
+Class QSysInfo
+ size=1 align=1
+ base size=0 base align=1
+QSysInfo (0x7faaae0bb230) 0 empty
+
+Class QBool
+ size=1 align=1
+ base size=1 base align=1
+QBool (0x7faaae0bbe70) 0
+
+Class qIsNull(double)::U
+ size=8 align=8
+ base size=8 base align=8
+qIsNull(double)::U (0x7faaad6c2540) 0
+
+Class qIsNull(float)::U
+ size=4 align=4
+ base size=4 base align=4
+qIsNull(float)::U (0x7faaad6c27e0) 0
+
+Class QFlag
+ size=4 align=4
+ base size=4 base align=4
+QFlag (0x7faaad6fe690) 0
+
+Class QIncompatibleFlag
+ size=4 align=4
+ base size=4 base align=4
+QIncompatibleFlag (0x7faaad6fee70) 0
+
+Class QLatin1Char
+ size=1 align=1
+ base size=1 base align=1
+QLatin1Char (0x7faaad72b5b0) 0
+
+Class QChar
+ size=2 align=2
+ base size=2 base align=2
+QChar (0x7faaad750150) 0
+
+Class QBasicAtomicInt
+ size=4 align=4
+ base size=4 base align=4
+QBasicAtomicInt (0x7faaad5b9310) 0
+
+Class QAtomicInt
+ size=4 align=4
+ base size=4 base align=4
+QAtomicInt (0x7faaad5f5cb0) 0
+ QBasicAtomicInt (0x7faaad5f5d20) 0
+
+Class QInternal
+ size=1 align=1
+ base size=0 base align=1
+QInternal (0x7faaad44f4d0) 0 empty
+
+Class __locale_struct
+ size=232 align=8
+ base size=232 base align=8
+__locale_struct (0x7faaad44f700) 0
+
+Class QByteArray::Data
+ size=32 align=8
+ base size=32 base align=8
+QByteArray::Data (0x7faaad488af0) 0
+
+Class QByteArray
+ size=8 align=8
+ base size=8 base align=8
+QByteArray (0x7faaad488a80) 0
+
+Class QByteRef
+ size=16 align=8
+ base size=12 base align=8
+QByteRef (0x7faaad329380) 0
+
+Class QString::Null
+ size=1 align=1
+ base size=0 base align=1
+QString::Null (0x7faaad22ad20) 0 empty
+
+Class QString::Data
+ size=32 align=8
+ base size=32 base align=8
+QString::Data (0x7faaad2435b0) 0
+
+Class QString
+ size=8 align=8
+ base size=8 base align=8
+QString (0x7faaad3a6bd0) 0
+
+Class QLatin1String
+ size=8 align=8
+ base size=8 base align=8
+QLatin1String (0x7faaad1189a0) 0
+
+Class QCharRef
+ size=16 align=8
+ base size=12 base align=8
+QCharRef (0x7faaacfb8000) 0
+
+Class QConstString
+ size=8 align=8
+ base size=8 base align=8
+QConstString (0x7faaacf018c0) 0
+ QString (0x7faaacf01930) 0
+
+Class QStringRef
+ size=16 align=8
+ base size=16 base align=8
+QStringRef (0x7faaacf27310) 0
+
+Class QGenericArgument
+ size=16 align=8
+ base size=16 base align=8
+QGenericArgument (0x7faaacda1700) 0
+
+Class QGenericReturnArgument
+ size=16 align=8
+ base size=16 base align=8
+QGenericReturnArgument (0x7faaacdaa2a0) 0
+ QGenericArgument (0x7faaacdaa310) 0
+
+Class QMetaObject
+ size=32 align=8
+ base size=32 base align=8
+QMetaObject (0x7faaacdaab60) 0
+
+Class QMetaObjectExtraData
+ size=16 align=8
+ base size=16 base align=8
+QMetaObjectExtraData (0x7faaacdd2bd0) 0
+
+Vtable for std::exception
+std::exception::_ZTVSt9exception: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt9exception)
+16 std::exception::~exception
+24 std::exception::~exception
+32 std::exception::what
+
+Class std::exception
+ size=8 align=8
+ base size=8 base align=8
+std::exception (0x7faaace261c0) 0 nearly-empty
+ vptr=((& std::exception::_ZTVSt9exception) + 16u)
+
+Vtable for std::bad_exception
+std::bad_exception::_ZTVSt13bad_exception: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt13bad_exception)
+16 std::bad_exception::~bad_exception
+24 std::bad_exception::~bad_exception
+32 std::bad_exception::what
+
+Class std::bad_exception
+ size=8 align=8
+ base size=8 base align=8
+std::bad_exception (0x7faaace26770) 0 nearly-empty
+ vptr=((& std::bad_exception::_ZTVSt13bad_exception) + 16u)
+ std::exception (0x7faaace267e0) 0 nearly-empty
+ primary-for std::bad_exception (0x7faaace26770)
+
+Vtable for std::bad_alloc
+std::bad_alloc::_ZTVSt9bad_alloc: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt9bad_alloc)
+16 std::bad_alloc::~bad_alloc
+24 std::bad_alloc::~bad_alloc
+32 std::bad_alloc::what
+
+Class std::bad_alloc
+ size=8 align=8
+ base size=8 base align=8
+std::bad_alloc (0x7faaace26930) 0 nearly-empty
+ vptr=((& std::bad_alloc::_ZTVSt9bad_alloc) + 16u)
+ std::exception (0x7faaace3d000) 0 nearly-empty
+ primary-for std::bad_alloc (0x7faaace26930)
+
+Class std::nothrow_t
+ size=1 align=1
+ base size=0 base align=1
+std::nothrow_t (0x7faaace3d850) 0 empty
+
+Class QListData::Data
+ size=32 align=8
+ base size=32 base align=8
+QListData::Data (0x7faaace3dd90) 0
+
+Class QListData
+ size=8 align=8
+ base size=8 base align=8
+QListData (0x7faaace3dd20) 0
+
+Class QScopedPointerPodDeleter
+ size=1 align=1
+ base size=0 base align=1
+QScopedPointerPodDeleter (0x7faaacd69850) 0 empty
+
+Vtable for QObjectData
+QObjectData::_ZTV11QObjectData: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QObjectData)
+16 __cxa_pure_virtual
+24 __cxa_pure_virtual
+
+Class QObjectData
+ size=48 align=8
+ base size=48 base align=8
+QObjectData (0x7faaacd892a0) 0
+ vptr=((& QObjectData::_ZTV11QObjectData) + 16u)
+
+Vtable for QObject
+QObject::_ZTV7QObject: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QObject)
+16 QObject::metaObject
+24 QObject::qt_metacast
+32 QObject::qt_metacall
+40 QObject::~QObject
+48 QObject::~QObject
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QObject
+ size=16 align=8
+ base size=16 base align=8
+QObject (0x7faaacd895b0) 0
+ vptr=((& QObject::_ZTV7QObject) + 16u)
+
+Vtable for QObjectUserData
+QObjectUserData::_ZTV15QObjectUserData: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QObjectUserData)
+16 QObjectUserData::~QObjectUserData
+24 QObjectUserData::~QObjectUserData
+
+Class QObjectUserData
+ size=8 align=8
+ base size=8 base align=8
+QObjectUserData (0x7faaacc0db60) 0 nearly-empty
+ vptr=((& QObjectUserData::_ZTV15QObjectUserData) + 16u)
+
+Vtable for QIODevice
+QIODevice::_ZTV9QIODevice: 30u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QIODevice)
+16 QIODevice::metaObject
+24 QIODevice::qt_metacast
+32 QIODevice::qt_metacall
+40 QIODevice::~QIODevice
+48 QIODevice::~QIODevice
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QIODevice::isSequential
+120 QIODevice::open
+128 QIODevice::close
+136 QIODevice::pos
+144 QIODevice::size
+152 QIODevice::seek
+160 QIODevice::atEnd
+168 QIODevice::reset
+176 QIODevice::bytesAvailable
+184 QIODevice::bytesToWrite
+192 QIODevice::canReadLine
+200 QIODevice::waitForReadyRead
+208 QIODevice::waitForBytesWritten
+216 __cxa_pure_virtual
+224 QIODevice::readLineData
+232 __cxa_pure_virtual
+
+Class QIODevice
+ size=16 align=8
+ base size=16 base align=8
+QIODevice (0x7faaacc1d150) 0
+ vptr=((& QIODevice::_ZTV9QIODevice) + 16u)
+ QObject (0x7faaacc1d1c0) 0
+ primary-for QIODevice (0x7faaacc1d150)
+
+Class _IO_marker
+ size=24 align=8
+ base size=24 base align=8
+_IO_marker (0x7faaacc7ecb0) 0
+
+Class _IO_FILE
+ size=216 align=8
+ base size=216 base align=8
+_IO_FILE (0x7faaacc7ed20) 0
+
+Vtable for QFile
+QFile::_ZTV5QFile: 31u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI5QFile)
+16 QFile::metaObject
+24 QFile::qt_metacast
+32 QFile::qt_metacall
+40 QFile::~QFile
+48 QFile::~QFile
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QFile::isSequential
+120 QFile::open
+128 QFile::close
+136 QFile::pos
+144 QFile::size
+152 QFile::seek
+160 QFile::atEnd
+168 QIODevice::reset
+176 QIODevice::bytesAvailable
+184 QIODevice::bytesToWrite
+192 QIODevice::canReadLine
+200 QIODevice::waitForReadyRead
+208 QIODevice::waitForBytesWritten
+216 QFile::readData
+224 QFile::readLineData
+232 QFile::writeData
+240 QFile::fileEngine
+
+Class QFile
+ size=16 align=8
+ base size=16 base align=8
+QFile (0x7faaacc7ee00) 0
+ vptr=((& QFile::_ZTV5QFile) + 16u)
+ QIODevice (0x7faaacc7ee70) 0
+ primary-for QFile (0x7faaacc7ee00)
+ QObject (0x7faaacc7eee0) 0
+ primary-for QIODevice (0x7faaacc7ee70)
+
+Class QFileInfo
+ size=8 align=8
+ base size=8 base align=8
+QFileInfo (0x7faaacb21070) 0
+
+Vtable for QDataStream
+QDataStream::_ZTV11QDataStream: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QDataStream)
+16 QDataStream::~QDataStream
+24 QDataStream::~QDataStream
+
+Class QDataStream
+ size=40 align=8
+ base size=40 base align=8
+QDataStream (0x7faaacb73a10) 0
+ vptr=((& QDataStream::_ZTV11QDataStream) + 16u)
+
+Class QRegExp
+ size=8 align=8
+ base size=8 base align=8
+QRegExp (0x7faaac9dfe70) 0
+
+Class QStringMatcher::Data
+ size=272 align=8
+ base size=272 base align=8
+QStringMatcher::Data (0x7faaaca462a0) 0
+
+Class QStringMatcher
+ size=1048 align=8
+ base size=1048 base align=8
+QStringMatcher (0x7faaaca3ac40) 0
+
+Class QStringList
+ size=8 align=8
+ base size=8 base align=8
+QStringList (0x7faaaca46850) 0
+ QList<QString> (0x7faaaca468c0) 0
+
+Class QDir
+ size=8 align=8
+ base size=8 base align=8
+QDir (0x7faaac8e54d0) 0
+
+Class QAbstractFileEngine::ExtensionOption
+ size=1 align=1
+ base size=0 base align=1
+QAbstractFileEngine::ExtensionOption (0x7faaac98d8c0) 0 empty
+
+Class QAbstractFileEngine::ExtensionReturn
+ size=1 align=1
+ base size=0 base align=1
+QAbstractFileEngine::ExtensionReturn (0x7faaac98d930) 0 empty
+
+Class QAbstractFileEngine::MapExtensionOption
+ size=24 align=8
+ base size=20 base align=8
+QAbstractFileEngine::MapExtensionOption (0x7faaac98d9a0) 0
+ QAbstractFileEngine::ExtensionOption (0x7faaac98da10) 0 empty
+
+Class QAbstractFileEngine::MapExtensionReturn
+ size=8 align=8
+ base size=8 base align=8
+QAbstractFileEngine::MapExtensionReturn (0x7faaac98dbd0) 0
+ QAbstractFileEngine::ExtensionReturn (0x7faaac98dc40) 0 empty
+
+Class QAbstractFileEngine::UnMapExtensionOption
+ size=8 align=8
+ base size=8 base align=8
+QAbstractFileEngine::UnMapExtensionOption (0x7faaac98dcb0) 0
+ QAbstractFileEngine::ExtensionOption (0x7faaac98dd20) 0 empty
+
+Vtable for QAbstractFileEngine
+QAbstractFileEngine::_ZTV19QAbstractFileEngine: 36u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QAbstractFileEngine)
+16 QAbstractFileEngine::~QAbstractFileEngine
+24 QAbstractFileEngine::~QAbstractFileEngine
+32 QAbstractFileEngine::open
+40 QAbstractFileEngine::close
+48 QAbstractFileEngine::flush
+56 QAbstractFileEngine::size
+64 QAbstractFileEngine::pos
+72 QAbstractFileEngine::seek
+80 QAbstractFileEngine::isSequential
+88 QAbstractFileEngine::remove
+96 QAbstractFileEngine::copy
+104 QAbstractFileEngine::rename
+112 QAbstractFileEngine::link
+120 QAbstractFileEngine::mkdir
+128 QAbstractFileEngine::rmdir
+136 QAbstractFileEngine::setSize
+144 QAbstractFileEngine::caseSensitive
+152 QAbstractFileEngine::isRelativePath
+160 QAbstractFileEngine::entryList
+168 QAbstractFileEngine::fileFlags
+176 QAbstractFileEngine::setPermissions
+184 QAbstractFileEngine::fileName
+192 QAbstractFileEngine::ownerId
+200 QAbstractFileEngine::owner
+208 QAbstractFileEngine::fileTime
+216 QAbstractFileEngine::setFileName
+224 QAbstractFileEngine::handle
+232 QAbstractFileEngine::beginEntryList
+240 QAbstractFileEngine::endEntryList
+248 QAbstractFileEngine::read
+256 QAbstractFileEngine::readLine
+264 QAbstractFileEngine::write
+272 QAbstractFileEngine::extension
+280 QAbstractFileEngine::supportsExtension
+
+Class QAbstractFileEngine
+ size=16 align=8
+ base size=16 base align=8
+QAbstractFileEngine (0x7faaac971850) 0
+ vptr=((& QAbstractFileEngine::_ZTV19QAbstractFileEngine) + 16u)
+
+Vtable for QAbstractFileEngineHandler
+QAbstractFileEngineHandler::_ZTV26QAbstractFileEngineHandler: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI26QAbstractFileEngineHandler)
+16 QAbstractFileEngineHandler::~QAbstractFileEngineHandler
+24 QAbstractFileEngineHandler::~QAbstractFileEngineHandler
+32 __cxa_pure_virtual
+
+Class QAbstractFileEngineHandler
+ size=8 align=8
+ base size=8 base align=8
+QAbstractFileEngineHandler (0x7faaac7c0bd0) 0 nearly-empty
+ vptr=((& QAbstractFileEngineHandler::_ZTV26QAbstractFileEngineHandler) + 16u)
+
+Vtable for QAbstractFileEngineIterator
+QAbstractFileEngineIterator::_ZTV27QAbstractFileEngineIterator: 9u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI27QAbstractFileEngineIterator)
+16 QAbstractFileEngineIterator::~QAbstractFileEngineIterator
+24 QAbstractFileEngineIterator::~QAbstractFileEngineIterator
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+48 __cxa_pure_virtual
+56 QAbstractFileEngineIterator::currentFileInfo
+64 QAbstractFileEngineIterator::entryInfo
+
+Class QAbstractFileEngineIterator
+ size=16 align=8
+ base size=16 base align=8
+QAbstractFileEngineIterator (0x7faaac7c0d90) 0
+ vptr=((& QAbstractFileEngineIterator::_ZTV27QAbstractFileEngineIterator) + 16u)
+
+Vtable for QBuffer
+QBuffer::_ZTV7QBuffer: 30u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QBuffer)
+16 QBuffer::metaObject
+24 QBuffer::qt_metacast
+32 QBuffer::qt_metacall
+40 QBuffer::~QBuffer
+48 QBuffer::~QBuffer
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QBuffer::connectNotify
+104 QBuffer::disconnectNotify
+112 QIODevice::isSequential
+120 QBuffer::open
+128 QBuffer::close
+136 QBuffer::pos
+144 QBuffer::size
+152 QBuffer::seek
+160 QBuffer::atEnd
+168 QIODevice::reset
+176 QIODevice::bytesAvailable
+184 QIODevice::bytesToWrite
+192 QBuffer::canReadLine
+200 QIODevice::waitForReadyRead
+208 QIODevice::waitForBytesWritten
+216 QBuffer::readData
+224 QIODevice::readLineData
+232 QBuffer::writeData
+
+Class QBuffer
+ size=16 align=8
+ base size=16 base align=8
+QBuffer (0x7faaac7d4690) 0
+ vptr=((& QBuffer::_ZTV7QBuffer) + 16u)
+ QIODevice (0x7faaac7d4700) 0
+ primary-for QBuffer (0x7faaac7d4690)
+ QObject (0x7faaac7d4770) 0
+ primary-for QIODevice (0x7faaac7d4700)
+
+Class QHashData::Node
+ size=16 align=8
+ base size=16 base align=8
+QHashData::Node (0x7faaac818e00) 0
+
+Class QHashData
+ size=40 align=8
+ base size=40 base align=8
+QHashData (0x7faaac818d90) 0
+
+Class QHashDummyValue
+ size=1 align=1
+ base size=0 base align=1
+QHashDummyValue (0x7faaac83a150) 0 empty
+
+Class QMapData::Node
+ size=16 align=8
+ base size=16 base align=8
+QMapData::Node (0x7faaac73da80) 0
+
+Class QMapData
+ size=128 align=8
+ base size=128 base align=8
+QMapData (0x7faaac73da10) 0
+
+Vtable for QSystemLocale
+QSystemLocale::_ZTV13QSystemLocale: 6u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QSystemLocale)
+16 QSystemLocale::~QSystemLocale
+24 QSystemLocale::~QSystemLocale
+32 QSystemLocale::query
+40 QSystemLocale::fallbackLocale
+
+Class QSystemLocale
+ size=8 align=8
+ base size=8 base align=8
+QSystemLocale (0x7faaac676690) 0 nearly-empty
+ vptr=((& QSystemLocale::_ZTV13QSystemLocale) + 16u)
+
+Class QLocale::Data
+ size=4 align=2
+ base size=4 base align=2
+QLocale::Data (0x7faaac4c1d90) 0
+
+Class QLocale
+ size=8 align=8
+ base size=8 base align=8
+QLocale (0x7faaac676af0) 0
+
+Class QTextCodec::ConverterState
+ size=32 align=8
+ base size=32 base align=8
+QTextCodec::ConverterState (0x7faaac515bd0) 0
+
+Vtable for QTextCodec
+QTextCodec::_ZTV10QTextCodec: 9u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QTextCodec)
+16 __cxa_pure_virtual
+24 QTextCodec::aliases
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+48 __cxa_pure_virtual
+56 QTextCodec::~QTextCodec
+64 QTextCodec::~QTextCodec
+
+Class QTextCodec
+ size=8 align=8
+ base size=8 base align=8
+QTextCodec (0x7faaac509460) 0 nearly-empty
+ vptr=((& QTextCodec::_ZTV10QTextCodec) + 16u)
+
+Class QTextEncoder
+ size=40 align=8
+ base size=40 base align=8
+QTextEncoder (0x7faaac58a150) 0
+
+Class QTextDecoder
+ size=40 align=8
+ base size=40 base align=8
+QTextDecoder (0x7faaac58af50) 0
+
+Vtable for QTextStream
+QTextStream::_ZTV11QTextStream: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QTextStream)
+16 QTextStream::~QTextStream
+24 QTextStream::~QTextStream
+
+Class QTextStream
+ size=16 align=8
+ base size=16 base align=8
+QTextStream (0x7faaac592d90) 0
+ vptr=((& QTextStream::_ZTV11QTextStream) + 16u)
+
+Class QTextStreamManipulator
+ size=40 align=8
+ base size=38 base align=8
+QTextStreamManipulator (0x7faaac40ca80) 0
+
+Vtable for QTextIStream
+QTextIStream::_ZTV12QTextIStream: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QTextIStream)
+16 QTextIStream::~QTextIStream
+24 QTextIStream::~QTextIStream
+
+Class QTextIStream
+ size=16 align=8
+ base size=16 base align=8
+QTextIStream (0x7faaac43e070) 0
+ vptr=((& QTextIStream::_ZTV12QTextIStream) + 16u)
+ QTextStream (0x7faaac43e0e0) 0
+ primary-for QTextIStream (0x7faaac43e070)
+
+Vtable for QTextOStream
+QTextOStream::_ZTV12QTextOStream: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QTextOStream)
+16 QTextOStream::~QTextOStream
+24 QTextOStream::~QTextOStream
+
+Class QTextOStream
+ size=16 align=8
+ base size=16 base align=8
+QTextOStream (0x7faaac44aee0) 0
+ vptr=((& QTextOStream::_ZTV12QTextOStream) + 16u)
+ QTextStream (0x7faaac44af50) 0
+ primary-for QTextOStream (0x7faaac44aee0)
+
+Class wait
+ size=4 align=4
+ base size=4 base align=4
+wait (0x7faaac45dd90) 0
+
+Class timespec
+ size=16 align=8
+ base size=16 base align=8
+timespec (0x7faaac46a0e0) 0
+
+Class timeval
+ size=16 align=8
+ base size=16 base align=8
+timeval (0x7faaac46a150) 0
+
+Class __pthread_internal_list
+ size=16 align=8
+ base size=16 base align=8
+__pthread_internal_list (0x7faaac46a2a0) 0
+
+Class random_data
+ size=48 align=8
+ base size=48 base align=8
+random_data (0x7faaac46a850) 0
+
+Class drand48_data
+ size=24 align=8
+ base size=24 base align=8
+drand48_data (0x7faaac46a8c0) 0
+
+Class QVectorData
+ size=16 align=4
+ base size=16 base align=4
+QVectorData (0x7faaac46a930) 0
+
+Class QContiguousCacheData
+ size=24 align=4
+ base size=24 base align=4
+QContiguousCacheData (0x7faaac227620) 0
+
+Class QDebug::Stream
+ size=40 align=8
+ base size=34 base align=8
+QDebug::Stream (0x7faaac088150) 0
+
+Class QDebug
+ size=8 align=8
+ base size=8 base align=8
+QDebug (0x7faaac0880e0) 0
+
+Class QNoDebug
+ size=1 align=1
+ base size=0 base align=1
+QNoDebug (0x7faaac1350e0) 0 empty
+
+Vtable for QDirIterator
+QDirIterator::_ZTV12QDirIterator: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QDirIterator)
+16 QDirIterator::~QDirIterator
+24 QDirIterator::~QDirIterator
+
+Class QDirIterator
+ size=16 align=8
+ base size=16 base align=8
+QDirIterator (0x7faaac145700) 0
+ vptr=((& QDirIterator::_ZTV12QDirIterator) + 16u)
+
+Vtable for QFileSystemWatcher
+QFileSystemWatcher::_ZTV18QFileSystemWatcher: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QFileSystemWatcher)
+16 QFileSystemWatcher::metaObject
+24 QFileSystemWatcher::qt_metacast
+32 QFileSystemWatcher::qt_metacall
+40 QFileSystemWatcher::~QFileSystemWatcher
+48 QFileSystemWatcher::~QFileSystemWatcher
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QFileSystemWatcher
+ size=16 align=8
+ base size=16 base align=8
+QFileSystemWatcher (0x7faaabfa3540) 0
+ vptr=((& QFileSystemWatcher::_ZTV18QFileSystemWatcher) + 16u)
+ QObject (0x7faaabfa35b0) 0
+ primary-for QFileSystemWatcher (0x7faaabfa3540)
+
+Vtable for QFSFileEngine
+QFSFileEngine::_ZTV13QFSFileEngine: 36u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QFSFileEngine)
+16 QFSFileEngine::~QFSFileEngine
+24 QFSFileEngine::~QFSFileEngine
+32 QFSFileEngine::open
+40 QFSFileEngine::close
+48 QFSFileEngine::flush
+56 QFSFileEngine::size
+64 QFSFileEngine::pos
+72 QFSFileEngine::seek
+80 QFSFileEngine::isSequential
+88 QFSFileEngine::remove
+96 QFSFileEngine::copy
+104 QFSFileEngine::rename
+112 QFSFileEngine::link
+120 QFSFileEngine::mkdir
+128 QFSFileEngine::rmdir
+136 QFSFileEngine::setSize
+144 QFSFileEngine::caseSensitive
+152 QFSFileEngine::isRelativePath
+160 QFSFileEngine::entryList
+168 QFSFileEngine::fileFlags
+176 QFSFileEngine::setPermissions
+184 QFSFileEngine::fileName
+192 QFSFileEngine::ownerId
+200 QFSFileEngine::owner
+208 QFSFileEngine::fileTime
+216 QFSFileEngine::setFileName
+224 QFSFileEngine::handle
+232 QFSFileEngine::beginEntryList
+240 QFSFileEngine::endEntryList
+248 QFSFileEngine::read
+256 QFSFileEngine::readLine
+264 QFSFileEngine::write
+272 QFSFileEngine::extension
+280 QFSFileEngine::supportsExtension
+
+Class QFSFileEngine
+ size=16 align=8
+ base size=16 base align=8
+QFSFileEngine (0x7faaabfb5a80) 0
+ vptr=((& QFSFileEngine::_ZTV13QFSFileEngine) + 16u)
+ QAbstractFileEngine (0x7faaabfb5af0) 0
+ primary-for QFSFileEngine (0x7faaabfb5a80)
+
+Class QSharedData
+ size=4 align=4
+ base size=4 base align=4
+QSharedData (0x7faaabfc5e70) 0
+
+Class QProcessEnvironment
+ size=8 align=8
+ base size=8 base align=8
+QProcessEnvironment (0x7faaac00c1c0) 0
+
+Vtable for QProcess
+QProcess::_ZTV8QProcess: 31u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI8QProcess)
+16 QProcess::metaObject
+24 QProcess::qt_metacast
+32 QProcess::qt_metacall
+40 QProcess::~QProcess
+48 QProcess::~QProcess
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QProcess::isSequential
+120 QIODevice::open
+128 QProcess::close
+136 QIODevice::pos
+144 QIODevice::size
+152 QIODevice::seek
+160 QProcess::atEnd
+168 QIODevice::reset
+176 QProcess::bytesAvailable
+184 QProcess::bytesToWrite
+192 QProcess::canReadLine
+200 QProcess::waitForReadyRead
+208 QProcess::waitForBytesWritten
+216 QProcess::readData
+224 QIODevice::readLineData
+232 QProcess::writeData
+240 QProcess::setupChildProcess
+
+Class QProcess
+ size=16 align=8
+ base size=16 base align=8
+QProcess (0x7faaac00ccb0) 0
+ vptr=((& QProcess::_ZTV8QProcess) + 16u)
+ QIODevice (0x7faaac00cd20) 0
+ primary-for QProcess (0x7faaac00ccb0)
+ QObject (0x7faaac00cd90) 0
+ primary-for QIODevice (0x7faaac00cd20)
+
+Class QResource
+ size=8 align=8
+ base size=8 base align=8
+QResource (0x7faaac0561c0) 0
+
+Class QMetaType
+ size=1 align=1
+ base size=0 base align=1
+QMetaType (0x7faaac056e70) 0 empty
+
+Class QVariant::PrivateShared
+ size=16 align=8
+ base size=12 base align=8
+QVariant::PrivateShared (0x7faaabf54700) 0
+
+Class QVariant::Private::Data
+ size=8 align=8
+ base size=8 base align=8
+QVariant::Private::Data (0x7faaabf54a10) 0
+
+Class QVariant::Private
+ size=16 align=8
+ base size=12 base align=8
+QVariant::Private (0x7faaabf547e0) 0
+
+Class QVariant::Handler
+ size=72 align=8
+ base size=72 base align=8
+QVariant::Handler (0x7faaabf62700) 0
+
+Class QVariant
+ size=16 align=8
+ base size=16 base align=8
+QVariant (0x7faaabf237e0) 0
+
+Class QVariantComparisonHelper
+ size=8 align=8
+ base size=8 base align=8
+QVariantComparisonHelper (0x7faaabe149a0) 0
+
+Vtable for QSettings
+QSettings::_ZTV9QSettings: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QSettings)
+16 QSettings::metaObject
+24 QSettings::qt_metacast
+32 QSettings::qt_metacall
+40 QSettings::~QSettings
+48 QSettings::~QSettings
+56 QSettings::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QSettings
+ size=16 align=8
+ base size=16 base align=8
+QSettings (0x7faaabe3bee0) 0
+ vptr=((& QSettings::_ZTV9QSettings) + 16u)
+ QObject (0x7faaabe3bf50) 0
+ primary-for QSettings (0x7faaabe3bee0)
+
+Vtable for QTemporaryFile
+QTemporaryFile::_ZTV14QTemporaryFile: 31u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QTemporaryFile)
+16 QTemporaryFile::metaObject
+24 QTemporaryFile::qt_metacast
+32 QTemporaryFile::qt_metacall
+40 QTemporaryFile::~QTemporaryFile
+48 QTemporaryFile::~QTemporaryFile
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QFile::isSequential
+120 QTemporaryFile::open
+128 QFile::close
+136 QFile::pos
+144 QFile::size
+152 QFile::seek
+160 QFile::atEnd
+168 QIODevice::reset
+176 QIODevice::bytesAvailable
+184 QIODevice::bytesToWrite
+192 QIODevice::canReadLine
+200 QIODevice::waitForReadyRead
+208 QIODevice::waitForBytesWritten
+216 QFile::readData
+224 QFile::readLineData
+232 QFile::writeData
+240 QTemporaryFile::fileEngine
+
+Class QTemporaryFile
+ size=16 align=8
+ base size=16 base align=8
+QTemporaryFile (0x7faaabcbc2a0) 0
+ vptr=((& QTemporaryFile::_ZTV14QTemporaryFile) + 16u)
+ QFile (0x7faaabcbc310) 0
+ primary-for QTemporaryFile (0x7faaabcbc2a0)
+ QIODevice (0x7faaabcbc380) 0
+ primary-for QFile (0x7faaabcbc310)
+ QObject (0x7faaabcbc3f0) 0
+ primary-for QIODevice (0x7faaabcbc380)
+
+Class QUrl
+ size=8 align=8
+ base size=8 base align=8
+QUrl (0x7faaabcd89a0) 0
+
+Class QXmlStreamStringRef
+ size=16 align=8
+ base size=16 base align=8
+QXmlStreamStringRef (0x7faaabd65070) 0
+
+Class QXmlStreamAttribute
+ size=80 align=8
+ base size=73 base align=8
+QXmlStreamAttribute (0x7faaabb80850) 0
+
+Class QXmlStreamAttributes
+ size=8 align=8
+ base size=8 base align=8
+QXmlStreamAttributes (0x7faaabba7310) 0
+ QVector<QXmlStreamAttribute> (0x7faaabba7380) 0
+
+Class QXmlStreamNamespaceDeclaration
+ size=40 align=8
+ base size=40 base align=8
+QXmlStreamNamespaceDeclaration (0x7faaabba77e0) 0
+
+Class QXmlStreamNotationDeclaration
+ size=56 align=8
+ base size=56 base align=8
+QXmlStreamNotationDeclaration (0x7faaabbe91c0) 0
+
+Class QXmlStreamEntityDeclaration
+ size=88 align=8
+ base size=88 base align=8
+QXmlStreamEntityDeclaration (0x7faaabc0b070) 0
+
+Vtable for QXmlStreamEntityResolver
+QXmlStreamEntityResolver::_ZTV24QXmlStreamEntityResolver: 6u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI24QXmlStreamEntityResolver)
+16 QXmlStreamEntityResolver::~QXmlStreamEntityResolver
+24 QXmlStreamEntityResolver::~QXmlStreamEntityResolver
+32 QXmlStreamEntityResolver::resolveEntity
+40 QXmlStreamEntityResolver::resolveUndeclaredEntity
+
+Class QXmlStreamEntityResolver
+ size=8 align=8
+ base size=8 base align=8
+QXmlStreamEntityResolver (0x7faaabc239a0) 0 nearly-empty
+ vptr=((& QXmlStreamEntityResolver::_ZTV24QXmlStreamEntityResolver) + 16u)
+
+Class QXmlStreamReader
+ size=8 align=8
+ base size=8 base align=8
+QXmlStreamReader (0x7faaabc23b60) 0
+
+Class QXmlStreamWriter
+ size=8 align=8
+ base size=8 base align=8
+QXmlStreamWriter (0x7faaabc6dc40) 0
+
+Vtable for QAbstractState
+QAbstractState::_ZTV14QAbstractState: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QAbstractState)
+16 QAbstractState::metaObject
+24 QAbstractState::qt_metacast
+32 QAbstractState::qt_metacall
+40 QAbstractState::~QAbstractState
+48 QAbstractState::~QAbstractState
+56 QAbstractState::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+
+Class QAbstractState
+ size=16 align=8
+ base size=16 base align=8
+QAbstractState (0x7faaaba7aa80) 0
+ vptr=((& QAbstractState::_ZTV14QAbstractState) + 16u)
+ QObject (0x7faaaba7aaf0) 0
+ primary-for QAbstractState (0x7faaaba7aa80)
+
+Vtable for QAbstractTransition
+QAbstractTransition::_ZTV19QAbstractTransition: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QAbstractTransition)
+16 QAbstractTransition::metaObject
+24 QAbstractTransition::qt_metacast
+32 QAbstractTransition::qt_metacall
+40 QAbstractTransition::~QAbstractTransition
+48 QAbstractTransition::~QAbstractTransition
+56 QAbstractTransition::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+
+Class QAbstractTransition
+ size=16 align=8
+ base size=16 base align=8
+QAbstractTransition (0x7faaabaa02a0) 0
+ vptr=((& QAbstractTransition::_ZTV19QAbstractTransition) + 16u)
+ QObject (0x7faaabaa0310) 0
+ primary-for QAbstractTransition (0x7faaabaa02a0)
+
+Vtable for QEvent
+QEvent::_ZTV6QEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI6QEvent)
+16 QEvent::~QEvent
+24 QEvent::~QEvent
+
+Class QEvent
+ size=24 align=8
+ base size=20 base align=8
+QEvent (0x7faaabab3af0) 0
+ vptr=((& QEvent::_ZTV6QEvent) + 16u)
+
+Vtable for QTimerEvent
+QTimerEvent::_ZTV11QTimerEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QTimerEvent)
+16 QTimerEvent::~QTimerEvent
+24 QTimerEvent::~QTimerEvent
+
+Class QTimerEvent
+ size=24 align=8
+ base size=24 base align=8
+QTimerEvent (0x7faaabad5700) 0
+ vptr=((& QTimerEvent::_ZTV11QTimerEvent) + 16u)
+ QEvent (0x7faaabad5770) 0
+ primary-for QTimerEvent (0x7faaabad5700)
+
+Vtable for QChildEvent
+QChildEvent::_ZTV11QChildEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QChildEvent)
+16 QChildEvent::~QChildEvent
+24 QChildEvent::~QChildEvent
+
+Class QChildEvent
+ size=32 align=8
+ base size=32 base align=8
+QChildEvent (0x7faaabad5b60) 0
+ vptr=((& QChildEvent::_ZTV11QChildEvent) + 16u)
+ QEvent (0x7faaabad5bd0) 0
+ primary-for QChildEvent (0x7faaabad5b60)
+
+Vtable for QCustomEvent
+QCustomEvent::_ZTV12QCustomEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QCustomEvent)
+16 QCustomEvent::~QCustomEvent
+24 QCustomEvent::~QCustomEvent
+
+Class QCustomEvent
+ size=24 align=8
+ base size=20 base align=8
+QCustomEvent (0x7faaabadee00) 0
+ vptr=((& QCustomEvent::_ZTV12QCustomEvent) + 16u)
+ QEvent (0x7faaabadee70) 0
+ primary-for QCustomEvent (0x7faaabadee00)
+
+Vtable for QDynamicPropertyChangeEvent
+QDynamicPropertyChangeEvent::_ZTV27QDynamicPropertyChangeEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI27QDynamicPropertyChangeEvent)
+16 QDynamicPropertyChangeEvent::~QDynamicPropertyChangeEvent
+24 QDynamicPropertyChangeEvent::~QDynamicPropertyChangeEvent
+
+Class QDynamicPropertyChangeEvent
+ size=32 align=8
+ base size=32 base align=8
+QDynamicPropertyChangeEvent (0x7faaabaf0620) 0
+ vptr=((& QDynamicPropertyChangeEvent::_ZTV27QDynamicPropertyChangeEvent) + 16u)
+ QEvent (0x7faaabaf0690) 0
+ primary-for QDynamicPropertyChangeEvent (0x7faaabaf0620)
+
+Vtable for QEventTransition
+QEventTransition::_ZTV16QEventTransition: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QEventTransition)
+16 QEventTransition::metaObject
+24 QEventTransition::qt_metacast
+32 QEventTransition::qt_metacall
+40 QEventTransition::~QEventTransition
+48 QEventTransition::~QEventTransition
+56 QEventTransition::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QEventTransition::eventTest
+120 QEventTransition::onTransition
+
+Class QEventTransition
+ size=16 align=8
+ base size=16 base align=8
+QEventTransition (0x7faaabaf0af0) 0
+ vptr=((& QEventTransition::_ZTV16QEventTransition) + 16u)
+ QAbstractTransition (0x7faaabaf0b60) 0
+ primary-for QEventTransition (0x7faaabaf0af0)
+ QObject (0x7faaabaf0bd0) 0
+ primary-for QAbstractTransition (0x7faaabaf0b60)
+
+Vtable for QFinalState
+QFinalState::_ZTV11QFinalState: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QFinalState)
+16 QFinalState::metaObject
+24 QFinalState::qt_metacast
+32 QFinalState::qt_metacall
+40 QFinalState::~QFinalState
+48 QFinalState::~QFinalState
+56 QFinalState::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QFinalState::onEntry
+120 QFinalState::onExit
+
+Class QFinalState
+ size=16 align=8
+ base size=16 base align=8
+QFinalState (0x7faaabb0c9a0) 0
+ vptr=((& QFinalState::_ZTV11QFinalState) + 16u)
+ QAbstractState (0x7faaabb0ca10) 0
+ primary-for QFinalState (0x7faaabb0c9a0)
+ QObject (0x7faaabb0ca80) 0
+ primary-for QAbstractState (0x7faaabb0ca10)
+
+Vtable for QHistoryState
+QHistoryState::_ZTV13QHistoryState: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QHistoryState)
+16 QHistoryState::metaObject
+24 QHistoryState::qt_metacast
+32 QHistoryState::qt_metacall
+40 QHistoryState::~QHistoryState
+48 QHistoryState::~QHistoryState
+56 QHistoryState::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QHistoryState::onEntry
+120 QHistoryState::onExit
+
+Class QHistoryState
+ size=16 align=8
+ base size=16 base align=8
+QHistoryState (0x7faaabb25230) 0
+ vptr=((& QHistoryState::_ZTV13QHistoryState) + 16u)
+ QAbstractState (0x7faaabb252a0) 0
+ primary-for QHistoryState (0x7faaabb25230)
+ QObject (0x7faaabb25310) 0
+ primary-for QAbstractState (0x7faaabb252a0)
+
+Vtable for QSignalTransition
+QSignalTransition::_ZTV17QSignalTransition: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QSignalTransition)
+16 QSignalTransition::metaObject
+24 QSignalTransition::qt_metacast
+32 QSignalTransition::qt_metacall
+40 QSignalTransition::~QSignalTransition
+48 QSignalTransition::~QSignalTransition
+56 QSignalTransition::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QSignalTransition::eventTest
+120 QSignalTransition::onTransition
+
+Class QSignalTransition
+ size=16 align=8
+ base size=16 base align=8
+QSignalTransition (0x7faaabb37f50) 0
+ vptr=((& QSignalTransition::_ZTV17QSignalTransition) + 16u)
+ QAbstractTransition (0x7faaabb40000) 0
+ primary-for QSignalTransition (0x7faaabb37f50)
+ QObject (0x7faaabb40070) 0
+ primary-for QAbstractTransition (0x7faaabb40000)
+
+Vtable for QState
+QState::_ZTV6QState: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI6QState)
+16 QState::metaObject
+24 QState::qt_metacast
+32 QState::qt_metacall
+40 QState::~QState
+48 QState::~QState
+56 QState::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QState::onEntry
+120 QState::onExit
+
+Class QState
+ size=16 align=8
+ base size=16 base align=8
+QState (0x7faaabb50af0) 0
+ vptr=((& QState::_ZTV6QState) + 16u)
+ QAbstractState (0x7faaabb50b60) 0
+ primary-for QState (0x7faaabb50af0)
+ QObject (0x7faaabb50bd0) 0
+ primary-for QAbstractState (0x7faaabb50b60)
+
+Vtable for QStateMachine::SignalEvent
+QStateMachine::SignalEvent::_ZTVN13QStateMachine11SignalEventE: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN13QStateMachine11SignalEventE)
+16 QStateMachine::SignalEvent::~SignalEvent
+24 QStateMachine::SignalEvent::~SignalEvent
+
+Class QStateMachine::SignalEvent
+ size=48 align=8
+ base size=48 base align=8
+QStateMachine::SignalEvent (0x7faaab975150) 0
+ vptr=((& QStateMachine::SignalEvent::_ZTVN13QStateMachine11SignalEventE) + 16u)
+ QEvent (0x7faaab9751c0) 0
+ primary-for QStateMachine::SignalEvent (0x7faaab975150)
+
+Vtable for QStateMachine::WrappedEvent
+QStateMachine::WrappedEvent::_ZTVN13QStateMachine12WrappedEventE: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN13QStateMachine12WrappedEventE)
+16 QStateMachine::WrappedEvent::~WrappedEvent
+24 QStateMachine::WrappedEvent::~WrappedEvent
+
+Class QStateMachine::WrappedEvent
+ size=40 align=8
+ base size=40 base align=8
+QStateMachine::WrappedEvent (0x7faaab975700) 0
+ vptr=((& QStateMachine::WrappedEvent::_ZTVN13QStateMachine12WrappedEventE) + 16u)
+ QEvent (0x7faaab975770) 0
+ primary-for QStateMachine::WrappedEvent (0x7faaab975700)
+
+Vtable for QStateMachine
+QStateMachine::_ZTV13QStateMachine: 20u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QStateMachine)
+16 QStateMachine::metaObject
+24 QStateMachine::qt_metacast
+32 QStateMachine::qt_metacall
+40 QStateMachine::~QStateMachine
+48 QStateMachine::~QStateMachine
+56 QStateMachine::event
+64 QStateMachine::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QStateMachine::onEntry
+120 QStateMachine::onExit
+128 QStateMachine::beginSelectTransitions
+136 QStateMachine::endSelectTransitions
+144 QStateMachine::beginMicrostep
+152 QStateMachine::endMicrostep
+
+Class QStateMachine
+ size=16 align=8
+ base size=16 base align=8
+QStateMachine (0x7faaab96cee0) 0
+ vptr=((& QStateMachine::_ZTV13QStateMachine) + 16u)
+ QState (0x7faaab96cf50) 0
+ primary-for QStateMachine (0x7faaab96cee0)
+ QAbstractState (0x7faaab975000) 0
+ primary-for QState (0x7faaab96cf50)
+ QObject (0x7faaab975070) 0
+ primary-for QAbstractState (0x7faaab975000)
+
+Class QBitArray
+ size=8 align=8
+ base size=8 base align=8
+QBitArray (0x7faaab9a8150) 0
+
+Class QBitRef
+ size=16 align=8
+ base size=12 base align=8
+QBitRef (0x7faaab9fbe00) 0
+
+Class QByteArrayMatcher::Data
+ size=272 align=8
+ base size=272 base align=8
+QByteArrayMatcher::Data (0x7faaaba0faf0) 0
+
+Class QByteArrayMatcher
+ size=1040 align=8
+ base size=1040 base align=8
+QByteArrayMatcher (0x7faaaba0f4d0) 0
+
+Class QCryptographicHash
+ size=8 align=8
+ base size=8 base align=8
+QCryptographicHash (0x7faaaba47150) 0
+
+Vtable for QtSharedPointer::ExternalRefCountData
+QtSharedPointer::ExternalRefCountData::_ZTVN15QtSharedPointer20ExternalRefCountDataE: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN15QtSharedPointer20ExternalRefCountDataE)
+16 QtSharedPointer::ExternalRefCountData::~ExternalRefCountData
+24 QtSharedPointer::ExternalRefCountData::~ExternalRefCountData
+32 QtSharedPointer::ExternalRefCountData::destroy
+
+Class QtSharedPointer::ExternalRefCountData
+ size=16 align=8
+ base size=16 base align=8
+QtSharedPointer::ExternalRefCountData (0x7faaab870070) 0
+ vptr=((& QtSharedPointer::ExternalRefCountData::_ZTVN15QtSharedPointer20ExternalRefCountDataE) + 16u)
+
+Vtable for QtSharedPointer::ExternalRefCountWithDestroyFn
+QtSharedPointer::ExternalRefCountWithDestroyFn::_ZTVN15QtSharedPointer29ExternalRefCountWithDestroyFnE: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN15QtSharedPointer29ExternalRefCountWithDestroyFnE)
+16 QtSharedPointer::ExternalRefCountWithDestroyFn::~ExternalRefCountWithDestroyFn
+24 QtSharedPointer::ExternalRefCountWithDestroyFn::~ExternalRefCountWithDestroyFn
+32 QtSharedPointer::ExternalRefCountWithDestroyFn::destroy
+
+Class QtSharedPointer::ExternalRefCountWithDestroyFn
+ size=24 align=8
+ base size=24 base align=8
+QtSharedPointer::ExternalRefCountWithDestroyFn (0x7faaab888930) 0
+ vptr=((& QtSharedPointer::ExternalRefCountWithDestroyFn::_ZTVN15QtSharedPointer29ExternalRefCountWithDestroyFnE) + 16u)
+ QtSharedPointer::ExternalRefCountData (0x7faaab8889a0) 0
+ primary-for QtSharedPointer::ExternalRefCountWithDestroyFn (0x7faaab888930)
+
+Class QDate
+ size=4 align=4
+ base size=4 base align=4
+QDate (0x7faaab9105b0) 0
+
+Class QTime
+ size=4 align=4
+ base size=4 base align=4
+QTime (0x7faaab940540) 0
+
+Class QDateTime
+ size=8 align=8
+ base size=8 base align=8
+QDateTime (0x7faaab95eaf0) 0
+
+Class QEasingCurve
+ size=8 align=8
+ base size=8 base align=8
+QEasingCurve (0x7faaab7a4000) 0
+
+Class QPoint
+ size=8 align=4
+ base size=8 base align=4
+QPoint (0x7faaab7a4ee0) 0
+
+Class QPointF
+ size=16 align=8
+ base size=16 base align=8
+QPointF (0x7faaab7e3af0) 0
+
+Class QLine
+ size=16 align=4
+ base size=16 base align=4
+QLine (0x7faaab823af0) 0
+
+Class QLineF
+ size=32 align=8
+ base size=32 base align=8
+QLineF (0x7faaab8609a0) 0
+
+Class QLinkedListData
+ size=32 align=8
+ base size=32 base align=8
+QLinkedListData (0x7faaab6b5460) 0
+
+Class QMargins
+ size=16 align=4
+ base size=16 base align=4
+QMargins (0x7faaab573380) 0
+
+Class QSize
+ size=8 align=4
+ base size=8 base align=4
+QSize (0x7faaab5a0150) 0
+
+Class QSizeF
+ size=16 align=8
+ base size=16 base align=8
+QSizeF (0x7faaab5e1e00) 0
+
+Class QRect
+ size=16 align=4
+ base size=16 base align=4
+QRect (0x7faaab632380) 0
+
+Class QRectF
+ size=32 align=8
+ base size=32 base align=8
+QRectF (0x7faaab4e1d20) 0
+
+Class QLatin1Literal
+ size=16 align=8
+ base size=16 base align=8
+QLatin1Literal (0x7faaab38fee0) 0
+
+Class QAbstractConcatenable
+ size=1 align=1
+ base size=0 base align=1
+QAbstractConcatenable (0x7faaab3a13f0) 0 empty
+
+Class QTextBoundaryFinder
+ size=48 align=8
+ base size=48 base align=8
+QTextBoundaryFinder (0x7faaab3d9380) 0
+
+Vtable for QTimeLine
+QTimeLine::_ZTV9QTimeLine: 15u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QTimeLine)
+16 QTimeLine::metaObject
+24 QTimeLine::qt_metacast
+32 QTimeLine::qt_metacall
+40 QTimeLine::~QTimeLine
+48 QTimeLine::~QTimeLine
+56 QObject::event
+64 QObject::eventFilter
+72 QTimeLine::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QTimeLine::valueForTime
+
+Class QTimeLine
+ size=16 align=8
+ base size=16 base align=8
+QTimeLine (0x7faaab3e8700) 0
+ vptr=((& QTimeLine::_ZTV9QTimeLine) + 16u)
+ QObject (0x7faaab3e8770) 0
+ primary-for QTimeLine (0x7faaab3e8700)
+
+Vtable for QRunnable
+QRunnable::_ZTV9QRunnable: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QRunnable)
+16 __cxa_pure_virtual
+24 QRunnable::~QRunnable
+32 QRunnable::~QRunnable
+
+Class QRunnable
+ size=16 align=8
+ base size=12 base align=8
+QRunnable (0x7faaab411f50) 0
+ vptr=((& QRunnable::_ZTV9QRunnable) + 16u)
+
+Class QMutex
+ size=8 align=8
+ base size=8 base align=8
+QMutex (0x7faaab448620) 0
+
+Class QMutexLocker
+ size=8 align=8
+ base size=8 base align=8
+QMutexLocker (0x7faaab4571c0) 0
+
+Vtable for QtConcurrent::Exception
+QtConcurrent::Exception::_ZTVN12QtConcurrent9ExceptionE: 7u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN12QtConcurrent9ExceptionE)
+16 QtConcurrent::Exception::~Exception
+24 QtConcurrent::Exception::~Exception
+32 std::exception::what
+40 QtConcurrent::Exception::raise
+48 QtConcurrent::Exception::clone
+
+Class QtConcurrent::Exception
+ size=8 align=8
+ base size=8 base align=8
+QtConcurrent::Exception (0x7faaab26c4d0) 0 nearly-empty
+ vptr=((& QtConcurrent::Exception::_ZTVN12QtConcurrent9ExceptionE) + 16u)
+ std::exception (0x7faaab26c540) 0 nearly-empty
+ primary-for QtConcurrent::Exception (0x7faaab26c4d0)
+
+Vtable for QtConcurrent::UnhandledException
+QtConcurrent::UnhandledException::_ZTVN12QtConcurrent18UnhandledExceptionE: 7u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN12QtConcurrent18UnhandledExceptionE)
+16 QtConcurrent::UnhandledException::~UnhandledException
+24 QtConcurrent::UnhandledException::~UnhandledException
+32 std::exception::what
+40 QtConcurrent::UnhandledException::raise
+48 QtConcurrent::UnhandledException::clone
+
+Class QtConcurrent::UnhandledException
+ size=8 align=8
+ base size=8 base align=8
+QtConcurrent::UnhandledException (0x7faaab26c770) 0 nearly-empty
+ vptr=((& QtConcurrent::UnhandledException::_ZTVN12QtConcurrent18UnhandledExceptionE) + 16u)
+ QtConcurrent::Exception (0x7faaab26c7e0) 0 nearly-empty
+ primary-for QtConcurrent::UnhandledException (0x7faaab26c770)
+ std::exception (0x7faaab26c850) 0 nearly-empty
+ primary-for QtConcurrent::Exception (0x7faaab26c7e0)
+
+Class QtConcurrent::internal::ExceptionHolder
+ size=8 align=8
+ base size=8 base align=8
+QtConcurrent::internal::ExceptionHolder (0x7faaab26ca80) 0
+
+Class QtConcurrent::internal::ExceptionStore
+ size=8 align=8
+ base size=8 base align=8
+QtConcurrent::internal::ExceptionStore (0x7faaab26ce00) 0
+
+Class QtConcurrent::ResultItem
+ size=16 align=8
+ base size=16 base align=8
+QtConcurrent::ResultItem (0x7faaab26ce70) 0
+
+Class QtConcurrent::ResultIteratorBase
+ size=16 align=8
+ base size=12 base align=8
+QtConcurrent::ResultIteratorBase (0x7faaab284d90) 0
+
+Vtable for QtConcurrent::ResultStoreBase
+QtConcurrent::ResultStoreBase::_ZTVN12QtConcurrent15ResultStoreBaseE: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN12QtConcurrent15ResultStoreBaseE)
+16 QtConcurrent::ResultStoreBase::~ResultStoreBase
+24 QtConcurrent::ResultStoreBase::~ResultStoreBase
+
+Class QtConcurrent::ResultStoreBase
+ size=48 align=8
+ base size=44 base align=8
+QtConcurrent::ResultStoreBase (0x7faaab289930) 0
+ vptr=((& QtConcurrent::ResultStoreBase::_ZTVN12QtConcurrent15ResultStoreBaseE) + 16u)
+
+Vtable for QFutureInterfaceBase
+QFutureInterfaceBase::_ZTV20QFutureInterfaceBase: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI20QFutureInterfaceBase)
+16 QFutureInterfaceBase::~QFutureInterfaceBase
+24 QFutureInterfaceBase::~QFutureInterfaceBase
+
+Class QFutureInterfaceBase
+ size=16 align=8
+ base size=16 base align=8
+QFutureInterfaceBase (0x7faaab2c9d90) 0
+ vptr=((& QFutureInterfaceBase::_ZTV20QFutureInterfaceBase) + 16u)
+
+Vtable for QFutureWatcherBase
+QFutureWatcherBase::_ZTV18QFutureWatcherBase: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QFutureWatcherBase)
+16 QFutureWatcherBase::metaObject
+24 QFutureWatcherBase::qt_metacast
+32 QFutureWatcherBase::qt_metacall
+40 QFutureWatcherBase::~QFutureWatcherBase
+48 QFutureWatcherBase::~QFutureWatcherBase
+56 QFutureWatcherBase::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QFutureWatcherBase::connectNotify
+104 QFutureWatcherBase::disconnectNotify
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+
+Class QFutureWatcherBase
+ size=16 align=8
+ base size=16 base align=8
+QFutureWatcherBase (0x7faaab1af690) 0
+ vptr=((& QFutureWatcherBase::_ZTV18QFutureWatcherBase) + 16u)
+ QObject (0x7faaab1af700) 0
+ primary-for QFutureWatcherBase (0x7faaab1af690)
+
+Vtable for QThread
+QThread::_ZTV7QThread: 15u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QThread)
+16 QThread::metaObject
+24 QThread::qt_metacast
+32 QThread::qt_metacall
+40 QThread::~QThread
+48 QThread::~QThread
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QThread::run
+
+Class QThread
+ size=16 align=8
+ base size=16 base align=8
+QThread (0x7faaab200a80) 0
+ vptr=((& QThread::_ZTV7QThread) + 16u)
+ QObject (0x7faaab200af0) 0
+ primary-for QThread (0x7faaab200a80)
+
+Vtable for QThreadPool
+QThreadPool::_ZTV11QThreadPool: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QThreadPool)
+16 QThreadPool::metaObject
+24 QThreadPool::qt_metacast
+32 QThreadPool::qt_metacall
+40 QThreadPool::~QThreadPool
+48 QThreadPool::~QThreadPool
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QThreadPool
+ size=16 align=8
+ base size=16 base align=8
+QThreadPool (0x7faaab226930) 0
+ vptr=((& QThreadPool::_ZTV11QThreadPool) + 16u)
+ QObject (0x7faaab2269a0) 0
+ primary-for QThreadPool (0x7faaab226930)
+
+Class QWaitCondition
+ size=8 align=8
+ base size=8 base align=8
+QWaitCondition (0x7faaab235ee0) 0
+
+Class QSemaphore
+ size=8 align=8
+ base size=8 base align=8
+QSemaphore (0x7faaab242460) 0
+
+Class QtConcurrent::ThreadEngineBarrier
+ size=24 align=8
+ base size=24 base align=8
+QtConcurrent::ThreadEngineBarrier (0x7faaab2429a0) 0
+
+Vtable for QtConcurrent::ThreadEngineBase
+QtConcurrent::ThreadEngineBase::_ZTVN12QtConcurrent16ThreadEngineBaseE: 11u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN12QtConcurrent16ThreadEngineBaseE)
+16 QtConcurrent::ThreadEngineBase::run
+24 QtConcurrent::ThreadEngineBase::~ThreadEngineBase
+32 QtConcurrent::ThreadEngineBase::~ThreadEngineBase
+40 QtConcurrent::ThreadEngineBase::start
+48 QtConcurrent::ThreadEngineBase::finish
+56 QtConcurrent::ThreadEngineBase::threadFunction
+64 QtConcurrent::ThreadEngineBase::shouldStartThread
+72 QtConcurrent::ThreadEngineBase::shouldThrottleThread
+80 __cxa_pure_virtual
+
+Class QtConcurrent::ThreadEngineBase
+ size=64 align=8
+ base size=64 base align=8
+QtConcurrent::ThreadEngineBase (0x7faaab242a80) 0
+ vptr=((& QtConcurrent::ThreadEngineBase::_ZTVN12QtConcurrent16ThreadEngineBaseE) + 16u)
+ QRunnable (0x7faaab242af0) 0
+ primary-for QtConcurrent::ThreadEngineBase (0x7faaab242a80)
+
+VTT for QtConcurrent::ThreadEngine<void>
+QtConcurrent::ThreadEngine<void>::_ZTTN12QtConcurrent12ThreadEngineIvEE: 2u entries
+0 ((& QtConcurrent::ThreadEngine<void>::_ZTVN12QtConcurrent12ThreadEngineIvEE) + 24u)
+8 ((& QtConcurrent::ThreadEngine<void>::_ZTVN12QtConcurrent12ThreadEngineIvEE) + 136u)
+
+Class QtConcurrent::BlockSizeManager
+ size=96 align=8
+ base size=92 base align=8
+QtConcurrent::BlockSizeManager (0x7faaab08eee0) 0
+
+Vtable for QFactoryInterface
+QFactoryInterface::_ZTV17QFactoryInterface: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QFactoryInterface)
+16 QFactoryInterface::~QFactoryInterface
+24 QFactoryInterface::~QFactoryInterface
+32 __cxa_pure_virtual
+
+Class QFactoryInterface
+ size=8 align=8
+ base size=8 base align=8
+QFactoryInterface (0x7faaaad37d20) 0 nearly-empty
+ vptr=((& QFactoryInterface::_ZTV17QFactoryInterface) + 16u)
+
+Vtable for QTextCodecFactoryInterface
+QTextCodecFactoryInterface::_ZTV26QTextCodecFactoryInterface: 6u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI26QTextCodecFactoryInterface)
+16 QTextCodecFactoryInterface::~QTextCodecFactoryInterface
+24 QTextCodecFactoryInterface::~QTextCodecFactoryInterface
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+
+Class QTextCodecFactoryInterface
+ size=8 align=8
+ base size=8 base align=8
+QTextCodecFactoryInterface (0x7faaaab6a000) 0 nearly-empty
+ vptr=((& QTextCodecFactoryInterface::_ZTV26QTextCodecFactoryInterface) + 16u)
+ QFactoryInterface (0x7faaaab6a070) 0 nearly-empty
+ primary-for QTextCodecFactoryInterface (0x7faaaab6a000)
+
+Vtable for QTextCodecPlugin
+QTextCodecPlugin::_ZTV16QTextCodecPlugin: 27u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QTextCodecPlugin)
+16 QTextCodecPlugin::metaObject
+24 QTextCodecPlugin::qt_metacast
+32 QTextCodecPlugin::qt_metacall
+40 QTextCodecPlugin::~QTextCodecPlugin
+48 QTextCodecPlugin::~QTextCodecPlugin
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 __cxa_pure_virtual
+136 __cxa_pure_virtual
+144 __cxa_pure_virtual
+152 QTextCodecPlugin::keys
+160 QTextCodecPlugin::create
+168 (int (*)(...))-0x00000000000000010
+176 (int (*)(...))(& _ZTI16QTextCodecPlugin)
+184 QTextCodecPlugin::_ZThn16_N16QTextCodecPluginD1Ev
+192 QTextCodecPlugin::_ZThn16_N16QTextCodecPluginD0Ev
+200 QTextCodecPlugin::_ZThn16_NK16QTextCodecPlugin4keysEv
+208 QTextCodecPlugin::_ZThn16_N16QTextCodecPlugin6createERK7QString
+
+Class QTextCodecPlugin
+ size=24 align=8
+ base size=24 base align=8
+QTextCodecPlugin (0x7faaaab73580) 0
+ vptr=((& QTextCodecPlugin::_ZTV16QTextCodecPlugin) + 16u)
+ QObject (0x7faaaab6aa80) 0
+ primary-for QTextCodecPlugin (0x7faaaab73580)
+ QTextCodecFactoryInterface (0x7faaaab6aaf0) 16 nearly-empty
+ vptr=((& QTextCodecPlugin::_ZTV16QTextCodecPlugin) + 184u)
+ QFactoryInterface (0x7faaaab6ab60) 16 nearly-empty
+ primary-for QTextCodecFactoryInterface (0x7faaaab6aaf0)
+
+Class QLibraryInfo
+ size=1 align=1
+ base size=0 base align=1
+QLibraryInfo (0x7faaaabc1150) 0 empty
+
+Vtable for QEventLoop
+QEventLoop::_ZTV10QEventLoop: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QEventLoop)
+16 QEventLoop::metaObject
+24 QEventLoop::qt_metacast
+32 QEventLoop::qt_metacall
+40 QEventLoop::~QEventLoop
+48 QEventLoop::~QEventLoop
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QEventLoop
+ size=16 align=8
+ base size=16 base align=8
+QEventLoop (0x7faaaabc12a0) 0
+ vptr=((& QEventLoop::_ZTV10QEventLoop) + 16u)
+ QObject (0x7faaaabc1310) 0
+ primary-for QEventLoop (0x7faaaabc12a0)
+
+Vtable for QAbstractEventDispatcher
+QAbstractEventDispatcher::_ZTV24QAbstractEventDispatcher: 27u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI24QAbstractEventDispatcher)
+16 QAbstractEventDispatcher::metaObject
+24 QAbstractEventDispatcher::qt_metacast
+32 QAbstractEventDispatcher::qt_metacall
+40 QAbstractEventDispatcher::~QAbstractEventDispatcher
+48 QAbstractEventDispatcher::~QAbstractEventDispatcher
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 __cxa_pure_virtual
+136 __cxa_pure_virtual
+144 __cxa_pure_virtual
+152 __cxa_pure_virtual
+160 __cxa_pure_virtual
+168 __cxa_pure_virtual
+176 __cxa_pure_virtual
+184 __cxa_pure_virtual
+192 __cxa_pure_virtual
+200 QAbstractEventDispatcher::startingUp
+208 QAbstractEventDispatcher::closingDown
+
+Class QAbstractEventDispatcher
+ size=16 align=8
+ base size=16 base align=8
+QAbstractEventDispatcher (0x7faaaabf8bd0) 0
+ vptr=((& QAbstractEventDispatcher::_ZTV24QAbstractEventDispatcher) + 16u)
+ QObject (0x7faaaabf8c40) 0
+ primary-for QAbstractEventDispatcher (0x7faaaabf8bd0)
+
+Class QModelIndex
+ size=24 align=8
+ base size=24 base align=8
+QModelIndex (0x7faaaac22a80) 0
+
+Class QPersistentModelIndex
+ size=8 align=8
+ base size=8 base align=8
+QPersistentModelIndex (0x7faaaac4d540) 0
+
+Vtable for QAbstractItemModel
+QAbstractItemModel::_ZTV18QAbstractItemModel: 42u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QAbstractItemModel)
+16 QAbstractItemModel::metaObject
+24 QAbstractItemModel::qt_metacast
+32 QAbstractItemModel::qt_metacall
+40 QAbstractItemModel::~QAbstractItemModel
+48 QAbstractItemModel::~QAbstractItemModel
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 __cxa_pure_virtual
+136 __cxa_pure_virtual
+144 QAbstractItemModel::hasChildren
+152 __cxa_pure_virtual
+160 QAbstractItemModel::setData
+168 QAbstractItemModel::headerData
+176 QAbstractItemModel::setHeaderData
+184 QAbstractItemModel::itemData
+192 QAbstractItemModel::setItemData
+200 QAbstractItemModel::mimeTypes
+208 QAbstractItemModel::mimeData
+216 QAbstractItemModel::dropMimeData
+224 QAbstractItemModel::supportedDropActions
+232 QAbstractItemModel::insertRows
+240 QAbstractItemModel::insertColumns
+248 QAbstractItemModel::removeRows
+256 QAbstractItemModel::removeColumns
+264 QAbstractItemModel::fetchMore
+272 QAbstractItemModel::canFetchMore
+280 QAbstractItemModel::flags
+288 QAbstractItemModel::sort
+296 QAbstractItemModel::buddy
+304 QAbstractItemModel::match
+312 QAbstractItemModel::span
+320 QAbstractItemModel::submit
+328 QAbstractItemModel::revert
+
+Class QAbstractItemModel
+ size=16 align=8
+ base size=16 base align=8
+QAbstractItemModel (0x7faaaac58850) 0
+ vptr=((& QAbstractItemModel::_ZTV18QAbstractItemModel) + 16u)
+ QObject (0x7faaaac588c0) 0
+ primary-for QAbstractItemModel (0x7faaaac58850)
+
+Vtable for QAbstractTableModel
+QAbstractTableModel::_ZTV19QAbstractTableModel: 42u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QAbstractTableModel)
+16 QAbstractTableModel::metaObject
+24 QAbstractTableModel::qt_metacast
+32 QAbstractTableModel::qt_metacall
+40 QAbstractTableModel::~QAbstractTableModel
+48 QAbstractTableModel::~QAbstractTableModel
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QAbstractTableModel::index
+120 QAbstractTableModel::parent
+128 __cxa_pure_virtual
+136 __cxa_pure_virtual
+144 QAbstractTableModel::hasChildren
+152 __cxa_pure_virtual
+160 QAbstractItemModel::setData
+168 QAbstractItemModel::headerData
+176 QAbstractItemModel::setHeaderData
+184 QAbstractItemModel::itemData
+192 QAbstractItemModel::setItemData
+200 QAbstractItemModel::mimeTypes
+208 QAbstractItemModel::mimeData
+216 QAbstractTableModel::dropMimeData
+224 QAbstractItemModel::supportedDropActions
+232 QAbstractItemModel::insertRows
+240 QAbstractItemModel::insertColumns
+248 QAbstractItemModel::removeRows
+256 QAbstractItemModel::removeColumns
+264 QAbstractItemModel::fetchMore
+272 QAbstractItemModel::canFetchMore
+280 QAbstractItemModel::flags
+288 QAbstractItemModel::sort
+296 QAbstractItemModel::buddy
+304 QAbstractItemModel::match
+312 QAbstractItemModel::span
+320 QAbstractItemModel::submit
+328 QAbstractItemModel::revert
+
+Class QAbstractTableModel
+ size=16 align=8
+ base size=16 base align=8
+QAbstractTableModel (0x7faaaaab3b60) 0
+ vptr=((& QAbstractTableModel::_ZTV19QAbstractTableModel) + 16u)
+ QAbstractItemModel (0x7faaaaab3bd0) 0
+ primary-for QAbstractTableModel (0x7faaaaab3b60)
+ QObject (0x7faaaaab3c40) 0
+ primary-for QAbstractItemModel (0x7faaaaab3bd0)
+
+Vtable for QAbstractListModel
+QAbstractListModel::_ZTV18QAbstractListModel: 42u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QAbstractListModel)
+16 QAbstractListModel::metaObject
+24 QAbstractListModel::qt_metacast
+32 QAbstractListModel::qt_metacall
+40 QAbstractListModel::~QAbstractListModel
+48 QAbstractListModel::~QAbstractListModel
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QAbstractListModel::index
+120 QAbstractListModel::parent
+128 __cxa_pure_virtual
+136 QAbstractListModel::columnCount
+144 QAbstractListModel::hasChildren
+152 __cxa_pure_virtual
+160 QAbstractItemModel::setData
+168 QAbstractItemModel::headerData
+176 QAbstractItemModel::setHeaderData
+184 QAbstractItemModel::itemData
+192 QAbstractItemModel::setItemData
+200 QAbstractItemModel::mimeTypes
+208 QAbstractItemModel::mimeData
+216 QAbstractListModel::dropMimeData
+224 QAbstractItemModel::supportedDropActions
+232 QAbstractItemModel::insertRows
+240 QAbstractItemModel::insertColumns
+248 QAbstractItemModel::removeRows
+256 QAbstractItemModel::removeColumns
+264 QAbstractItemModel::fetchMore
+272 QAbstractItemModel::canFetchMore
+280 QAbstractItemModel::flags
+288 QAbstractItemModel::sort
+296 QAbstractItemModel::buddy
+304 QAbstractItemModel::match
+312 QAbstractItemModel::span
+320 QAbstractItemModel::submit
+328 QAbstractItemModel::revert
+
+Class QAbstractListModel
+ size=16 align=8
+ base size=16 base align=8
+QAbstractListModel (0x7faaaaace0e0) 0
+ vptr=((& QAbstractListModel::_ZTV18QAbstractListModel) + 16u)
+ QAbstractItemModel (0x7faaaaace150) 0
+ primary-for QAbstractListModel (0x7faaaaace0e0)
+ QObject (0x7faaaaace1c0) 0
+ primary-for QAbstractItemModel (0x7faaaaace150)
+
+Class QBasicTimer
+ size=4 align=4
+ base size=4 base align=4
+QBasicTimer (0x7faaaab00230) 0
+
+Vtable for QCoreApplication
+QCoreApplication::_ZTV16QCoreApplication: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QCoreApplication)
+16 QCoreApplication::metaObject
+24 QCoreApplication::qt_metacast
+32 QCoreApplication::qt_metacall
+40 QCoreApplication::~QCoreApplication
+48 QCoreApplication::~QCoreApplication
+56 QCoreApplication::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QCoreApplication::notify
+120 QCoreApplication::compressEvent
+
+Class QCoreApplication
+ size=16 align=8
+ base size=16 base align=8
+QCoreApplication (0x7faaaab0a620) 0
+ vptr=((& QCoreApplication::_ZTV16QCoreApplication) + 16u)
+ QObject (0x7faaaab0a690) 0
+ primary-for QCoreApplication (0x7faaaab0a620)
+
+Class __exception
+ size=40 align=8
+ base size=40 base align=8
+__exception (0x7faaaab3f310) 0
+
+Class QMetaMethod
+ size=16 align=8
+ base size=12 base align=8
+QMetaMethod (0x7faaaa9ab770) 0
+
+Class QMetaEnum
+ size=16 align=8
+ base size=12 base align=8
+QMetaEnum (0x7faaaa9c4bd0) 0
+
+Class QMetaProperty
+ size=32 align=8
+ base size=32 base align=8
+QMetaProperty (0x7faaaa9d3930) 0
+
+Class QMetaClassInfo
+ size=16 align=8
+ base size=12 base align=8
+QMetaClassInfo (0x7faaaa9e5000) 0
+
+Vtable for QMimeData
+QMimeData::_ZTV9QMimeData: 17u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QMimeData)
+16 QMimeData::metaObject
+24 QMimeData::qt_metacast
+32 QMimeData::qt_metacall
+40 QMimeData::~QMimeData
+48 QMimeData::~QMimeData
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QMimeData::hasFormat
+120 QMimeData::formats
+128 QMimeData::retrieveData
+
+Class QMimeData
+ size=16 align=8
+ base size=16 base align=8
+QMimeData (0x7faaaa9e5af0) 0
+ vptr=((& QMimeData::_ZTV9QMimeData) + 16u)
+ QObject (0x7faaaa9e5b60) 0
+ primary-for QMimeData (0x7faaaa9e5af0)
+
+Vtable for QObjectCleanupHandler
+QObjectCleanupHandler::_ZTV21QObjectCleanupHandler: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI21QObjectCleanupHandler)
+16 QObjectCleanupHandler::metaObject
+24 QObjectCleanupHandler::qt_metacast
+32 QObjectCleanupHandler::qt_metacall
+40 QObjectCleanupHandler::~QObjectCleanupHandler
+48 QObjectCleanupHandler::~QObjectCleanupHandler
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QObjectCleanupHandler
+ size=24 align=8
+ base size=24 base align=8
+QObjectCleanupHandler (0x7faaaaa08380) 0
+ vptr=((& QObjectCleanupHandler::_ZTV21QObjectCleanupHandler) + 16u)
+ QObject (0x7faaaaa083f0) 0
+ primary-for QObjectCleanupHandler (0x7faaaaa08380)
+
+Vtable for QSharedMemory
+QSharedMemory::_ZTV13QSharedMemory: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QSharedMemory)
+16 QSharedMemory::metaObject
+24 QSharedMemory::qt_metacast
+32 QSharedMemory::qt_metacall
+40 QSharedMemory::~QSharedMemory
+48 QSharedMemory::~QSharedMemory
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QSharedMemory
+ size=16 align=8
+ base size=16 base align=8
+QSharedMemory (0x7faaaaa1a4d0) 0
+ vptr=((& QSharedMemory::_ZTV13QSharedMemory) + 16u)
+ QObject (0x7faaaaa1a540) 0
+ primary-for QSharedMemory (0x7faaaaa1a4d0)
+
+Vtable for QSignalMapper
+QSignalMapper::_ZTV13QSignalMapper: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QSignalMapper)
+16 QSignalMapper::metaObject
+24 QSignalMapper::qt_metacast
+32 QSignalMapper::qt_metacall
+40 QSignalMapper::~QSignalMapper
+48 QSignalMapper::~QSignalMapper
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QSignalMapper
+ size=16 align=8
+ base size=16 base align=8
+QSignalMapper (0x7faaaaa372a0) 0
+ vptr=((& QSignalMapper::_ZTV13QSignalMapper) + 16u)
+ QObject (0x7faaaaa37310) 0
+ primary-for QSignalMapper (0x7faaaaa372a0)
+
+Vtable for QSocketNotifier
+QSocketNotifier::_ZTV15QSocketNotifier: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QSocketNotifier)
+16 QSocketNotifier::metaObject
+24 QSocketNotifier::qt_metacast
+32 QSocketNotifier::qt_metacall
+40 QSocketNotifier::~QSocketNotifier
+48 QSocketNotifier::~QSocketNotifier
+56 QSocketNotifier::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QSocketNotifier
+ size=32 align=8
+ base size=25 base align=8
+QSocketNotifier (0x7faaaaa4f690) 0
+ vptr=((& QSocketNotifier::_ZTV15QSocketNotifier) + 16u)
+ QObject (0x7faaaaa4f700) 0
+ primary-for QSocketNotifier (0x7faaaaa4f690)
+
+Class QSystemSemaphore
+ size=8 align=8
+ base size=8 base align=8
+QSystemSemaphore (0x7faaaa869a10) 0
+
+Vtable for QTimer
+QTimer::_ZTV6QTimer: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI6QTimer)
+16 QTimer::metaObject
+24 QTimer::qt_metacast
+32 QTimer::qt_metacall
+40 QTimer::~QTimer
+48 QTimer::~QTimer
+56 QObject::event
+64 QObject::eventFilter
+72 QTimer::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QTimer
+ size=32 align=8
+ base size=29 base align=8
+QTimer (0x7faaaa876460) 0
+ vptr=((& QTimer::_ZTV6QTimer) + 16u)
+ QObject (0x7faaaa8764d0) 0
+ primary-for QTimer (0x7faaaa876460)
+
+Vtable for QTranslator
+QTranslator::_ZTV11QTranslator: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QTranslator)
+16 QTranslator::metaObject
+24 QTranslator::qt_metacast
+32 QTranslator::qt_metacall
+40 QTranslator::~QTranslator
+48 QTranslator::~QTranslator
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QTranslator::translate
+120 QTranslator::isEmpty
+
+Class QTranslator
+ size=16 align=8
+ base size=16 base align=8
+QTranslator (0x7faaaa89a9a0) 0
+ vptr=((& QTranslator::_ZTV11QTranslator) + 16u)
+ QObject (0x7faaaa89aa10) 0
+ primary-for QTranslator (0x7faaaa89a9a0)
+
+Vtable for QLibrary
+QLibrary::_ZTV8QLibrary: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI8QLibrary)
+16 QLibrary::metaObject
+24 QLibrary::qt_metacast
+32 QLibrary::qt_metacall
+40 QLibrary::~QLibrary
+48 QLibrary::~QLibrary
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QLibrary
+ size=32 align=8
+ base size=25 base align=8
+QLibrary (0x7faaaa8b5930) 0
+ vptr=((& QLibrary::_ZTV8QLibrary) + 16u)
+ QObject (0x7faaaa8b59a0) 0
+ primary-for QLibrary (0x7faaaa8b5930)
+
+Vtable for QPluginLoader
+QPluginLoader::_ZTV13QPluginLoader: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QPluginLoader)
+16 QPluginLoader::metaObject
+24 QPluginLoader::qt_metacast
+32 QPluginLoader::qt_metacall
+40 QPluginLoader::~QPluginLoader
+48 QPluginLoader::~QPluginLoader
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QPluginLoader
+ size=32 align=8
+ base size=25 base align=8
+QPluginLoader (0x7faaaa9013f0) 0
+ vptr=((& QPluginLoader::_ZTV13QPluginLoader) + 16u)
+ QObject (0x7faaaa901460) 0
+ primary-for QPluginLoader (0x7faaaa9013f0)
+
+Class QUuid
+ size=16 align=4
+ base size=16 base align=4
+QUuid (0x7faaaa90fb60) 0
+
+Class QReadWriteLock
+ size=8 align=8
+ base size=8 base align=8
+QReadWriteLock (0x7faaaa93a4d0) 0
+
+Class QReadLocker
+ size=8 align=8
+ base size=8 base align=8
+QReadLocker (0x7faaaa93ab60) 0
+
+Class QWriteLocker
+ size=8 align=8
+ base size=8 base align=8
+QWriteLocker (0x7faaaa958ee0) 0
+
+Class QThreadStorageData
+ size=4 align=4
+ base size=4 base align=4
+QThreadStorageData (0x7faaaa7712a0) 0
+
+Vtable for QAbstractAnimation
+QAbstractAnimation::_ZTV18QAbstractAnimation: 18u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QAbstractAnimation)
+16 QAbstractAnimation::metaObject
+24 QAbstractAnimation::qt_metacast
+32 QAbstractAnimation::qt_metacall
+40 QAbstractAnimation::~QAbstractAnimation
+48 QAbstractAnimation::~QAbstractAnimation
+56 QAbstractAnimation::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 QAbstractAnimation::updateState
+136 QAbstractAnimation::updateDirection
+
+Class QAbstractAnimation
+ size=16 align=8
+ base size=16 base align=8
+QAbstractAnimation (0x7faaaa771a10) 0
+ vptr=((& QAbstractAnimation::_ZTV18QAbstractAnimation) + 16u)
+ QObject (0x7faaaa771a80) 0
+ primary-for QAbstractAnimation (0x7faaaa771a10)
+
+Vtable for QAnimationGroup
+QAnimationGroup::_ZTV15QAnimationGroup: 18u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QAnimationGroup)
+16 QAnimationGroup::metaObject
+24 QAnimationGroup::qt_metacast
+32 QAnimationGroup::qt_metacall
+40 QAnimationGroup::~QAnimationGroup
+48 QAnimationGroup::~QAnimationGroup
+56 QAnimationGroup::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 QAbstractAnimation::updateState
+136 QAbstractAnimation::updateDirection
+
+Class QAnimationGroup
+ size=16 align=8
+ base size=16 base align=8
+QAnimationGroup (0x7faaaa7a9150) 0
+ vptr=((& QAnimationGroup::_ZTV15QAnimationGroup) + 16u)
+ QAbstractAnimation (0x7faaaa7a91c0) 0
+ primary-for QAnimationGroup (0x7faaaa7a9150)
+ QObject (0x7faaaa7a9230) 0
+ primary-for QAbstractAnimation (0x7faaaa7a91c0)
+
+Vtable for QParallelAnimationGroup
+QParallelAnimationGroup::_ZTV23QParallelAnimationGroup: 18u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI23QParallelAnimationGroup)
+16 QParallelAnimationGroup::metaObject
+24 QParallelAnimationGroup::qt_metacast
+32 QParallelAnimationGroup::qt_metacall
+40 QParallelAnimationGroup::~QParallelAnimationGroup
+48 QParallelAnimationGroup::~QParallelAnimationGroup
+56 QParallelAnimationGroup::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QParallelAnimationGroup::duration
+120 QParallelAnimationGroup::updateCurrentTime
+128 QParallelAnimationGroup::updateState
+136 QParallelAnimationGroup::updateDirection
+
+Class QParallelAnimationGroup
+ size=16 align=8
+ base size=16 base align=8
+QParallelAnimationGroup (0x7faaaa7c1000) 0
+ vptr=((& QParallelAnimationGroup::_ZTV23QParallelAnimationGroup) + 16u)
+ QAnimationGroup (0x7faaaa7c1070) 0
+ primary-for QParallelAnimationGroup (0x7faaaa7c1000)
+ QAbstractAnimation (0x7faaaa7c10e0) 0
+ primary-for QAnimationGroup (0x7faaaa7c1070)
+ QObject (0x7faaaa7c1150) 0
+ primary-for QAbstractAnimation (0x7faaaa7c10e0)
+
+Vtable for QPauseAnimation
+QPauseAnimation::_ZTV15QPauseAnimation: 18u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QPauseAnimation)
+16 QPauseAnimation::metaObject
+24 QPauseAnimation::qt_metacast
+32 QPauseAnimation::qt_metacall
+40 QPauseAnimation::~QPauseAnimation
+48 QPauseAnimation::~QPauseAnimation
+56 QPauseAnimation::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QPauseAnimation::duration
+120 QPauseAnimation::updateCurrentTime
+128 QAbstractAnimation::updateState
+136 QAbstractAnimation::updateDirection
+
+Class QPauseAnimation
+ size=16 align=8
+ base size=16 base align=8
+QPauseAnimation (0x7faaaa7cfe70) 0
+ vptr=((& QPauseAnimation::_ZTV15QPauseAnimation) + 16u)
+ QAbstractAnimation (0x7faaaa7cfee0) 0
+ primary-for QPauseAnimation (0x7faaaa7cfe70)
+ QObject (0x7faaaa7cff50) 0
+ primary-for QAbstractAnimation (0x7faaaa7cfee0)
+
+Vtable for QVariantAnimation
+QVariantAnimation::_ZTV17QVariantAnimation: 20u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QVariantAnimation)
+16 QVariantAnimation::metaObject
+24 QVariantAnimation::qt_metacast
+32 QVariantAnimation::qt_metacall
+40 QVariantAnimation::~QVariantAnimation
+48 QVariantAnimation::~QVariantAnimation
+56 QVariantAnimation::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QVariantAnimation::duration
+120 QVariantAnimation::updateCurrentTime
+128 QVariantAnimation::updateState
+136 QAbstractAnimation::updateDirection
+144 __cxa_pure_virtual
+152 QVariantAnimation::interpolated
+
+Class QVariantAnimation
+ size=16 align=8
+ base size=16 base align=8
+QVariantAnimation (0x7faaaa7ed8c0) 0
+ vptr=((& QVariantAnimation::_ZTV17QVariantAnimation) + 16u)
+ QAbstractAnimation (0x7faaaa7ed930) 0
+ primary-for QVariantAnimation (0x7faaaa7ed8c0)
+ QObject (0x7faaaa7ed9a0) 0
+ primary-for QAbstractAnimation (0x7faaaa7ed930)
+
+Vtable for QPropertyAnimation
+QPropertyAnimation::_ZTV18QPropertyAnimation: 20u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QPropertyAnimation)
+16 QPropertyAnimation::metaObject
+24 QPropertyAnimation::qt_metacast
+32 QPropertyAnimation::qt_metacall
+40 QPropertyAnimation::~QPropertyAnimation
+48 QPropertyAnimation::~QPropertyAnimation
+56 QPropertyAnimation::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QVariantAnimation::duration
+120 QVariantAnimation::updateCurrentTime
+128 QPropertyAnimation::updateState
+136 QAbstractAnimation::updateDirection
+144 QPropertyAnimation::updateCurrentValue
+152 QVariantAnimation::interpolated
+
+Class QPropertyAnimation
+ size=16 align=8
+ base size=16 base align=8
+QPropertyAnimation (0x7faaaa80bb60) 0
+ vptr=((& QPropertyAnimation::_ZTV18QPropertyAnimation) + 16u)
+ QVariantAnimation (0x7faaaa80bbd0) 0
+ primary-for QPropertyAnimation (0x7faaaa80bb60)
+ QAbstractAnimation (0x7faaaa80bc40) 0
+ primary-for QVariantAnimation (0x7faaaa80bbd0)
+ QObject (0x7faaaa80bcb0) 0
+ primary-for QAbstractAnimation (0x7faaaa80bc40)
+
+Vtable for QSequentialAnimationGroup
+QSequentialAnimationGroup::_ZTV25QSequentialAnimationGroup: 18u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI25QSequentialAnimationGroup)
+16 QSequentialAnimationGroup::metaObject
+24 QSequentialAnimationGroup::qt_metacast
+32 QSequentialAnimationGroup::qt_metacall
+40 QSequentialAnimationGroup::~QSequentialAnimationGroup
+48 QSequentialAnimationGroup::~QSequentialAnimationGroup
+56 QSequentialAnimationGroup::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QSequentialAnimationGroup::duration
+120 QSequentialAnimationGroup::updateCurrentTime
+128 QSequentialAnimationGroup::updateState
+136 QSequentialAnimationGroup::updateDirection
+
+Class QSequentialAnimationGroup
+ size=16 align=8
+ base size=16 base align=8
+QSequentialAnimationGroup (0x7faaaa824b60) 0
+ vptr=((& QSequentialAnimationGroup::_ZTV25QSequentialAnimationGroup) + 16u)
+ QAnimationGroup (0x7faaaa824bd0) 0
+ primary-for QSequentialAnimationGroup (0x7faaaa824b60)
+ QAbstractAnimation (0x7faaaa824c40) 0
+ primary-for QAnimationGroup (0x7faaaa824bd0)
+ QObject (0x7faaaa824cb0) 0
+ primary-for QAbstractAnimation (0x7faaaa824c40)
+
+Class QColor
+ size=16 align=4
+ base size=14 base align=4
+QColor (0x7faaaa84c620) 0
+
+Class QRegion::QRegionData
+ size=32 align=8
+ base size=32 base align=8
+QRegion::QRegionData (0x7faaaa6c65b0) 0
+
+Class QRegion
+ size=8 align=8
+ base size=8 base align=8
+QRegion (0x7faaaa6a1cb0) 0
+
+Class QKeySequence
+ size=8 align=8
+ base size=8 base align=8
+QKeySequence (0x7faaaa6dae00) 0
+
+Vtable for QMimeSource
+QMimeSource::_ZTV11QMimeSource: 7u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QMimeSource)
+16 QMimeSource::~QMimeSource
+24 QMimeSource::~QMimeSource
+32 __cxa_pure_virtual
+40 QMimeSource::provides
+48 __cxa_pure_virtual
+
+Class QMimeSource
+ size=8 align=8
+ base size=8 base align=8
+QMimeSource (0x7faaaa719770) 0 nearly-empty
+ vptr=((& QMimeSource::_ZTV11QMimeSource) + 16u)
+
+Vtable for QDrag
+QDrag::_ZTV5QDrag: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI5QDrag)
+16 QDrag::metaObject
+24 QDrag::qt_metacast
+32 QDrag::qt_metacall
+40 QDrag::~QDrag
+48 QDrag::~QDrag
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QDrag
+ size=16 align=8
+ base size=16 base align=8
+QDrag (0x7faaaa7198c0) 0
+ vptr=((& QDrag::_ZTV5QDrag) + 16u)
+ QObject (0x7faaaa719930) 0
+ primary-for QDrag (0x7faaaa7198c0)
+
+Vtable for QInputEvent
+QInputEvent::_ZTV11QInputEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QInputEvent)
+16 QInputEvent::~QInputEvent
+24 QInputEvent::~QInputEvent
+
+Class QInputEvent
+ size=24 align=8
+ base size=24 base align=8
+QInputEvent (0x7faaaa740070) 0
+ vptr=((& QInputEvent::_ZTV11QInputEvent) + 16u)
+ QEvent (0x7faaaa7400e0) 0
+ primary-for QInputEvent (0x7faaaa740070)
+
+Vtable for QMouseEvent
+QMouseEvent::_ZTV11QMouseEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QMouseEvent)
+16 QMouseEvent::~QMouseEvent
+24 QMouseEvent::~QMouseEvent
+
+Class QMouseEvent
+ size=48 align=8
+ base size=48 base align=8
+QMouseEvent (0x7faaaa740930) 0
+ vptr=((& QMouseEvent::_ZTV11QMouseEvent) + 16u)
+ QInputEvent (0x7faaaa7409a0) 0
+ primary-for QMouseEvent (0x7faaaa740930)
+ QEvent (0x7faaaa740a10) 0
+ primary-for QInputEvent (0x7faaaa7409a0)
+
+Vtable for QHoverEvent
+QHoverEvent::_ZTV11QHoverEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QHoverEvent)
+16 QHoverEvent::~QHoverEvent
+24 QHoverEvent::~QHoverEvent
+
+Class QHoverEvent
+ size=40 align=8
+ base size=36 base align=8
+QHoverEvent (0x7faaaa56d700) 0
+ vptr=((& QHoverEvent::_ZTV11QHoverEvent) + 16u)
+ QEvent (0x7faaaa56d770) 0
+ primary-for QHoverEvent (0x7faaaa56d700)
+
+Vtable for QWheelEvent
+QWheelEvent::_ZTV11QWheelEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QWheelEvent)
+16 QWheelEvent::~QWheelEvent
+24 QWheelEvent::~QWheelEvent
+
+Class QWheelEvent
+ size=56 align=8
+ base size=52 base align=8
+QWheelEvent (0x7faaaa56de70) 0
+ vptr=((& QWheelEvent::_ZTV11QWheelEvent) + 16u)
+ QInputEvent (0x7faaaa56dee0) 0
+ primary-for QWheelEvent (0x7faaaa56de70)
+ QEvent (0x7faaaa56df50) 0
+ primary-for QInputEvent (0x7faaaa56dee0)
+
+Vtable for QTabletEvent
+QTabletEvent::_ZTV12QTabletEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QTabletEvent)
+16 QTabletEvent::~QTabletEvent
+24 QTabletEvent::~QTabletEvent
+
+Class QTabletEvent
+ size=120 align=8
+ base size=120 base align=8
+QTabletEvent (0x7faaaa588c40) 0
+ vptr=((& QTabletEvent::_ZTV12QTabletEvent) + 16u)
+ QInputEvent (0x7faaaa588cb0) 0
+ primary-for QTabletEvent (0x7faaaa588c40)
+ QEvent (0x7faaaa588d20) 0
+ primary-for QInputEvent (0x7faaaa588cb0)
+
+Vtable for QKeyEvent
+QKeyEvent::_ZTV9QKeyEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QKeyEvent)
+16 QKeyEvent::~QKeyEvent
+24 QKeyEvent::~QKeyEvent
+
+Class QKeyEvent
+ size=40 align=8
+ base size=39 base align=8
+QKeyEvent (0x7faaaa5a5f50) 0
+ vptr=((& QKeyEvent::_ZTV9QKeyEvent) + 16u)
+ QInputEvent (0x7faaaa5ab000) 0
+ primary-for QKeyEvent (0x7faaaa5a5f50)
+ QEvent (0x7faaaa5ab070) 0
+ primary-for QInputEvent (0x7faaaa5ab000)
+
+Vtable for QFocusEvent
+QFocusEvent::_ZTV11QFocusEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QFocusEvent)
+16 QFocusEvent::~QFocusEvent
+24 QFocusEvent::~QFocusEvent
+
+Class QFocusEvent
+ size=24 align=8
+ base size=24 base align=8
+QFocusEvent (0x7faaaa5ce930) 0
+ vptr=((& QFocusEvent::_ZTV11QFocusEvent) + 16u)
+ QEvent (0x7faaaa5ce9a0) 0
+ primary-for QFocusEvent (0x7faaaa5ce930)
+
+Vtable for QPaintEvent
+QPaintEvent::_ZTV11QPaintEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QPaintEvent)
+16 QPaintEvent::~QPaintEvent
+24 QPaintEvent::~QPaintEvent
+
+Class QPaintEvent
+ size=56 align=8
+ base size=49 base align=8
+QPaintEvent (0x7faaaa5db380) 0
+ vptr=((& QPaintEvent::_ZTV11QPaintEvent) + 16u)
+ QEvent (0x7faaaa5db3f0) 0
+ primary-for QPaintEvent (0x7faaaa5db380)
+
+Vtable for QUpdateLaterEvent
+QUpdateLaterEvent::_ZTV17QUpdateLaterEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QUpdateLaterEvent)
+16 QUpdateLaterEvent::~QUpdateLaterEvent
+24 QUpdateLaterEvent::~QUpdateLaterEvent
+
+Class QUpdateLaterEvent
+ size=32 align=8
+ base size=32 base align=8
+QUpdateLaterEvent (0x7faaaa5e8000) 0
+ vptr=((& QUpdateLaterEvent::_ZTV17QUpdateLaterEvent) + 16u)
+ QEvent (0x7faaaa5e8070) 0
+ primary-for QUpdateLaterEvent (0x7faaaa5e8000)
+
+Vtable for QMoveEvent
+QMoveEvent::_ZTV10QMoveEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QMoveEvent)
+16 QMoveEvent::~QMoveEvent
+24 QMoveEvent::~QMoveEvent
+
+Class QMoveEvent
+ size=40 align=8
+ base size=36 base align=8
+QMoveEvent (0x7faaaa5e8460) 0
+ vptr=((& QMoveEvent::_ZTV10QMoveEvent) + 16u)
+ QEvent (0x7faaaa5e84d0) 0
+ primary-for QMoveEvent (0x7faaaa5e8460)
+
+Vtable for QResizeEvent
+QResizeEvent::_ZTV12QResizeEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QResizeEvent)
+16 QResizeEvent::~QResizeEvent
+24 QResizeEvent::~QResizeEvent
+
+Class QResizeEvent
+ size=40 align=8
+ base size=36 base align=8
+QResizeEvent (0x7faaaa5e8af0) 0
+ vptr=((& QResizeEvent::_ZTV12QResizeEvent) + 16u)
+ QEvent (0x7faaaa5e8b60) 0
+ primary-for QResizeEvent (0x7faaaa5e8af0)
+
+Vtable for QCloseEvent
+QCloseEvent::_ZTV11QCloseEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QCloseEvent)
+16 QCloseEvent::~QCloseEvent
+24 QCloseEvent::~QCloseEvent
+
+Class QCloseEvent
+ size=24 align=8
+ base size=20 base align=8
+QCloseEvent (0x7faaaa5f9070) 0
+ vptr=((& QCloseEvent::_ZTV11QCloseEvent) + 16u)
+ QEvent (0x7faaaa5f90e0) 0
+ primary-for QCloseEvent (0x7faaaa5f9070)
+
+Vtable for QIconDragEvent
+QIconDragEvent::_ZTV14QIconDragEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QIconDragEvent)
+16 QIconDragEvent::~QIconDragEvent
+24 QIconDragEvent::~QIconDragEvent
+
+Class QIconDragEvent
+ size=24 align=8
+ base size=20 base align=8
+QIconDragEvent (0x7faaaa5f92a0) 0
+ vptr=((& QIconDragEvent::_ZTV14QIconDragEvent) + 16u)
+ QEvent (0x7faaaa5f9310) 0
+ primary-for QIconDragEvent (0x7faaaa5f92a0)
+
+Vtable for QShowEvent
+QShowEvent::_ZTV10QShowEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QShowEvent)
+16 QShowEvent::~QShowEvent
+24 QShowEvent::~QShowEvent
+
+Class QShowEvent
+ size=24 align=8
+ base size=20 base align=8
+QShowEvent (0x7faaaa5f94d0) 0
+ vptr=((& QShowEvent::_ZTV10QShowEvent) + 16u)
+ QEvent (0x7faaaa5f9540) 0
+ primary-for QShowEvent (0x7faaaa5f94d0)
+
+Vtable for QHideEvent
+QHideEvent::_ZTV10QHideEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QHideEvent)
+16 QHideEvent::~QHideEvent
+24 QHideEvent::~QHideEvent
+
+Class QHideEvent
+ size=24 align=8
+ base size=20 base align=8
+QHideEvent (0x7faaaa5f9700) 0
+ vptr=((& QHideEvent::_ZTV10QHideEvent) + 16u)
+ QEvent (0x7faaaa5f9770) 0
+ primary-for QHideEvent (0x7faaaa5f9700)
+
+Vtable for QContextMenuEvent
+QContextMenuEvent::_ZTV17QContextMenuEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QContextMenuEvent)
+16 QContextMenuEvent::~QContextMenuEvent
+24 QContextMenuEvent::~QContextMenuEvent
+
+Class QContextMenuEvent
+ size=48 align=8
+ base size=41 base align=8
+QContextMenuEvent (0x7faaaa5f9930) 0
+ vptr=((& QContextMenuEvent::_ZTV17QContextMenuEvent) + 16u)
+ QInputEvent (0x7faaaa5f99a0) 0
+ primary-for QContextMenuEvent (0x7faaaa5f9930)
+ QEvent (0x7faaaa5f9a10) 0
+ primary-for QInputEvent (0x7faaaa5f99a0)
+
+Class QInputMethodEvent::Attribute
+ size=32 align=8
+ base size=32 base align=8
+QInputMethodEvent::Attribute (0x7faaaa6134d0) 0
+
+Vtable for QInputMethodEvent
+QInputMethodEvent::_ZTV17QInputMethodEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QInputMethodEvent)
+16 QInputMethodEvent::~QInputMethodEvent
+24 QInputMethodEvent::~QInputMethodEvent
+
+Class QInputMethodEvent
+ size=56 align=8
+ base size=56 base align=8
+QInputMethodEvent (0x7faaaa6133f0) 0
+ vptr=((& QInputMethodEvent::_ZTV17QInputMethodEvent) + 16u)
+ QEvent (0x7faaaa613460) 0
+ primary-for QInputMethodEvent (0x7faaaa6133f0)
+
+Vtable for QDropEvent
+QDropEvent::_ZTV10QDropEvent: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QDropEvent)
+16 QDropEvent::~QDropEvent
+24 QDropEvent::~QDropEvent
+32 QDropEvent::format
+40 QDropEvent::encodedData
+48 QDropEvent::provides
+56 (int (*)(...))-0x00000000000000018
+64 (int (*)(...))(& _ZTI10QDropEvent)
+72 QDropEvent::_ZThn24_N10QDropEventD1Ev
+80 QDropEvent::_ZThn24_N10QDropEventD0Ev
+88 QDropEvent::_ZThn24_NK10QDropEvent6formatEi
+96 QDropEvent::_ZThn24_NK10QDropEvent8providesEPKc
+104 QDropEvent::_ZThn24_NK10QDropEvent11encodedDataEPKc
+
+Class QDropEvent
+ size=80 align=8
+ base size=80 base align=8
+QDropEvent (0x7faaaa64d200) 0
+ vptr=((& QDropEvent::_ZTV10QDropEvent) + 16u)
+ QEvent (0x7faaaa64cbd0) 0
+ primary-for QDropEvent (0x7faaaa64d200)
+ QMimeSource (0x7faaaa64cc40) 24 nearly-empty
+ vptr=((& QDropEvent::_ZTV10QDropEvent) + 72u)
+
+Vtable for QDragMoveEvent
+QDragMoveEvent::_ZTV14QDragMoveEvent: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QDragMoveEvent)
+16 QDragMoveEvent::~QDragMoveEvent
+24 QDragMoveEvent::~QDragMoveEvent
+32 QDropEvent::format
+40 QDropEvent::encodedData
+48 QDropEvent::provides
+56 (int (*)(...))-0x00000000000000018
+64 (int (*)(...))(& _ZTI14QDragMoveEvent)
+72 QDragMoveEvent::_ZThn24_N14QDragMoveEventD1Ev
+80 QDragMoveEvent::_ZThn24_N14QDragMoveEventD0Ev
+88 QDropEvent::_ZThn24_NK10QDropEvent6formatEi
+96 QDropEvent::_ZThn24_NK10QDropEvent8providesEPKc
+104 QDropEvent::_ZThn24_NK10QDropEvent11encodedDataEPKc
+
+Class QDragMoveEvent
+ size=96 align=8
+ base size=96 base align=8
+QDragMoveEvent (0x7faaaa466930) 0
+ vptr=((& QDragMoveEvent::_ZTV14QDragMoveEvent) + 16u)
+ QDropEvent (0x7faaaa463900) 0
+ primary-for QDragMoveEvent (0x7faaaa466930)
+ QEvent (0x7faaaa4669a0) 0
+ primary-for QDropEvent (0x7faaaa463900)
+ QMimeSource (0x7faaaa466a10) 24 nearly-empty
+ vptr=((& QDragMoveEvent::_ZTV14QDragMoveEvent) + 72u)
+
+Vtable for QDragEnterEvent
+QDragEnterEvent::_ZTV15QDragEnterEvent: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QDragEnterEvent)
+16 QDragEnterEvent::~QDragEnterEvent
+24 QDragEnterEvent::~QDragEnterEvent
+32 QDropEvent::format
+40 QDropEvent::encodedData
+48 QDropEvent::provides
+56 (int (*)(...))-0x00000000000000018
+64 (int (*)(...))(& _ZTI15QDragEnterEvent)
+72 QDragEnterEvent::_ZThn24_N15QDragEnterEventD1Ev
+80 QDragEnterEvent::_ZThn24_N15QDragEnterEventD0Ev
+88 QDropEvent::_ZThn24_NK10QDropEvent6formatEi
+96 QDropEvent::_ZThn24_NK10QDropEvent8providesEPKc
+104 QDropEvent::_ZThn24_NK10QDropEvent11encodedDataEPKc
+
+Class QDragEnterEvent
+ size=96 align=8
+ base size=96 base align=8
+QDragEnterEvent (0x7faaaa4760e0) 0
+ vptr=((& QDragEnterEvent::_ZTV15QDragEnterEvent) + 16u)
+ QDragMoveEvent (0x7faaaa476150) 0
+ primary-for QDragEnterEvent (0x7faaaa4760e0)
+ QDropEvent (0x7faaaa474280) 0
+ primary-for QDragMoveEvent (0x7faaaa476150)
+ QEvent (0x7faaaa4761c0) 0
+ primary-for QDropEvent (0x7faaaa474280)
+ QMimeSource (0x7faaaa476230) 24 nearly-empty
+ vptr=((& QDragEnterEvent::_ZTV15QDragEnterEvent) + 72u)
+
+Vtable for QDragResponseEvent
+QDragResponseEvent::_ZTV18QDragResponseEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QDragResponseEvent)
+16 QDragResponseEvent::~QDragResponseEvent
+24 QDragResponseEvent::~QDragResponseEvent
+
+Class QDragResponseEvent
+ size=24 align=8
+ base size=21 base align=8
+QDragResponseEvent (0x7faaaa4763f0) 0
+ vptr=((& QDragResponseEvent::_ZTV18QDragResponseEvent) + 16u)
+ QEvent (0x7faaaa476460) 0
+ primary-for QDragResponseEvent (0x7faaaa4763f0)
+
+Vtable for QDragLeaveEvent
+QDragLeaveEvent::_ZTV15QDragLeaveEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QDragLeaveEvent)
+16 QDragLeaveEvent::~QDragLeaveEvent
+24 QDragLeaveEvent::~QDragLeaveEvent
+
+Class QDragLeaveEvent
+ size=24 align=8
+ base size=20 base align=8
+QDragLeaveEvent (0x7faaaa476850) 0
+ vptr=((& QDragLeaveEvent::_ZTV15QDragLeaveEvent) + 16u)
+ QEvent (0x7faaaa4768c0) 0
+ primary-for QDragLeaveEvent (0x7faaaa476850)
+
+Vtable for QHelpEvent
+QHelpEvent::_ZTV10QHelpEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QHelpEvent)
+16 QHelpEvent::~QHelpEvent
+24 QHelpEvent::~QHelpEvent
+
+Class QHelpEvent
+ size=40 align=8
+ base size=36 base align=8
+QHelpEvent (0x7faaaa476a80) 0
+ vptr=((& QHelpEvent::_ZTV10QHelpEvent) + 16u)
+ QEvent (0x7faaaa476af0) 0
+ primary-for QHelpEvent (0x7faaaa476a80)
+
+Vtable for QStatusTipEvent
+QStatusTipEvent::_ZTV15QStatusTipEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QStatusTipEvent)
+16 QStatusTipEvent::~QStatusTipEvent
+24 QStatusTipEvent::~QStatusTipEvent
+
+Class QStatusTipEvent
+ size=32 align=8
+ base size=32 base align=8
+QStatusTipEvent (0x7faaaa488af0) 0
+ vptr=((& QStatusTipEvent::_ZTV15QStatusTipEvent) + 16u)
+ QEvent (0x7faaaa488b60) 0
+ primary-for QStatusTipEvent (0x7faaaa488af0)
+
+Vtable for QWhatsThisClickedEvent
+QWhatsThisClickedEvent::_ZTV22QWhatsThisClickedEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI22QWhatsThisClickedEvent)
+16 QWhatsThisClickedEvent::~QWhatsThisClickedEvent
+24 QWhatsThisClickedEvent::~QWhatsThisClickedEvent
+
+Class QWhatsThisClickedEvent
+ size=32 align=8
+ base size=32 base align=8
+QWhatsThisClickedEvent (0x7faaaa488cb0) 0
+ vptr=((& QWhatsThisClickedEvent::_ZTV22QWhatsThisClickedEvent) + 16u)
+ QEvent (0x7faaaa492000) 0
+ primary-for QWhatsThisClickedEvent (0x7faaaa488cb0)
+
+Vtable for QActionEvent
+QActionEvent::_ZTV12QActionEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QActionEvent)
+16 QActionEvent::~QActionEvent
+24 QActionEvent::~QActionEvent
+
+Class QActionEvent
+ size=40 align=8
+ base size=40 base align=8
+QActionEvent (0x7faaaa492460) 0
+ vptr=((& QActionEvent::_ZTV12QActionEvent) + 16u)
+ QEvent (0x7faaaa4924d0) 0
+ primary-for QActionEvent (0x7faaaa492460)
+
+Vtable for QFileOpenEvent
+QFileOpenEvent::_ZTV14QFileOpenEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QFileOpenEvent)
+16 QFileOpenEvent::~QFileOpenEvent
+24 QFileOpenEvent::~QFileOpenEvent
+
+Class QFileOpenEvent
+ size=32 align=8
+ base size=32 base align=8
+QFileOpenEvent (0x7faaaa492af0) 0
+ vptr=((& QFileOpenEvent::_ZTV14QFileOpenEvent) + 16u)
+ QEvent (0x7faaaa492b60) 0
+ primary-for QFileOpenEvent (0x7faaaa492af0)
+
+Vtable for QToolBarChangeEvent
+QToolBarChangeEvent::_ZTV19QToolBarChangeEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QToolBarChangeEvent)
+16 QToolBarChangeEvent::~QToolBarChangeEvent
+24 QToolBarChangeEvent::~QToolBarChangeEvent
+
+Class QToolBarChangeEvent
+ size=24 align=8
+ base size=21 base align=8
+QToolBarChangeEvent (0x7faaaa492620) 0
+ vptr=((& QToolBarChangeEvent::_ZTV19QToolBarChangeEvent) + 16u)
+ QEvent (0x7faaaa492d20) 0
+ primary-for QToolBarChangeEvent (0x7faaaa492620)
+
+Vtable for QShortcutEvent
+QShortcutEvent::_ZTV14QShortcutEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QShortcutEvent)
+16 QShortcutEvent::~QShortcutEvent
+24 QShortcutEvent::~QShortcutEvent
+
+Class QShortcutEvent
+ size=40 align=8
+ base size=40 base align=8
+QShortcutEvent (0x7faaaa4a5460) 0
+ vptr=((& QShortcutEvent::_ZTV14QShortcutEvent) + 16u)
+ QEvent (0x7faaaa4a54d0) 0
+ primary-for QShortcutEvent (0x7faaaa4a5460)
+
+Vtable for QClipboardEvent
+QClipboardEvent::_ZTV15QClipboardEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QClipboardEvent)
+16 QClipboardEvent::~QClipboardEvent
+24 QClipboardEvent::~QClipboardEvent
+
+Class QClipboardEvent
+ size=24 align=8
+ base size=20 base align=8
+QClipboardEvent (0x7faaaa4b0310) 0
+ vptr=((& QClipboardEvent::_ZTV15QClipboardEvent) + 16u)
+ QEvent (0x7faaaa4b0380) 0
+ primary-for QClipboardEvent (0x7faaaa4b0310)
+
+Vtable for QWindowStateChangeEvent
+QWindowStateChangeEvent::_ZTV23QWindowStateChangeEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI23QWindowStateChangeEvent)
+16 QWindowStateChangeEvent::~QWindowStateChangeEvent
+24 QWindowStateChangeEvent::~QWindowStateChangeEvent
+
+Class QWindowStateChangeEvent
+ size=24 align=8
+ base size=24 base align=8
+QWindowStateChangeEvent (0x7faaaa4b0770) 0
+ vptr=((& QWindowStateChangeEvent::_ZTV23QWindowStateChangeEvent) + 16u)
+ QEvent (0x7faaaa4b07e0) 0
+ primary-for QWindowStateChangeEvent (0x7faaaa4b0770)
+
+Vtable for QMenubarUpdatedEvent
+QMenubarUpdatedEvent::_ZTV20QMenubarUpdatedEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI20QMenubarUpdatedEvent)
+16 QMenubarUpdatedEvent::~QMenubarUpdatedEvent
+24 QMenubarUpdatedEvent::~QMenubarUpdatedEvent
+
+Class QMenubarUpdatedEvent
+ size=32 align=8
+ base size=32 base align=8
+QMenubarUpdatedEvent (0x7faaaa4b0cb0) 0
+ vptr=((& QMenubarUpdatedEvent::_ZTV20QMenubarUpdatedEvent) + 16u)
+ QEvent (0x7faaaa4b0d20) 0
+ primary-for QMenubarUpdatedEvent (0x7faaaa4b0cb0)
+
+Class QTouchEvent::TouchPoint
+ size=8 align=8
+ base size=8 base align=8
+QTouchEvent::TouchPoint (0x7faaaa4c27e0) 0
+
+Vtable for QTouchEvent
+QTouchEvent::_ZTV11QTouchEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QTouchEvent)
+16 QTouchEvent::~QTouchEvent
+24 QTouchEvent::~QTouchEvent
+
+Class QTouchEvent
+ size=48 align=8
+ base size=48 base align=8
+QTouchEvent (0x7faaaa4c2690) 0
+ vptr=((& QTouchEvent::_ZTV11QTouchEvent) + 16u)
+ QInputEvent (0x7faaaa4c2700) 0
+ primary-for QTouchEvent (0x7faaaa4c2690)
+ QEvent (0x7faaaa4c2770) 0
+ primary-for QInputEvent (0x7faaaa4c2700)
+
+Vtable for QGestureEvent
+QGestureEvent::_ZTV13QGestureEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QGestureEvent)
+16 QGestureEvent::~QGestureEvent
+24 QGestureEvent::~QGestureEvent
+
+Class QGestureEvent
+ size=24 align=8
+ base size=20 base align=8
+QGestureEvent (0x7faaaa507d20) 0
+ vptr=((& QGestureEvent::_ZTV13QGestureEvent) + 16u)
+ QEvent (0x7faaaa507d90) 0
+ primary-for QGestureEvent (0x7faaaa507d20)
+
+Class QFont
+ size=16 align=8
+ base size=12 base align=8
+QFont (0x7faaaa50c310) 0
+
+Class QPolygon
+ size=8 align=8
+ base size=8 base align=8
+QPolygon (0x7faaaa55e0e0) 0
+ QVector<QPoint> (0x7faaaa55e150) 0
+
+Class QPolygonF
+ size=8 align=8
+ base size=8 base align=8
+QPolygonF (0x7faaaa39a620) 0
+ QVector<QPointF> (0x7faaaa39a690) 0
+
+Class QMatrix
+ size=48 align=8
+ base size=48 base align=8
+QMatrix (0x7faaaa3de770) 0
+
+Class QPainterPath::Element
+ size=24 align=8
+ base size=24 base align=8
+QPainterPath::Element (0x7faaaa4228c0) 0
+
+Class QPainterPath
+ size=8 align=8
+ base size=8 base align=8
+QPainterPath (0x7faaaa422850) 0
+
+Class QPainterPathPrivate
+ size=16 align=8
+ base size=16 base align=8
+QPainterPathPrivate (0x7faaaa27c000) 0
+
+Class QPainterPathStroker
+ size=8 align=8
+ base size=8 base align=8
+QPainterPathStroker (0x7faaaa27caf0) 0
+
+Class QTransform
+ size=88 align=8
+ base size=88 base align=8
+QTransform (0x7faaaa2e9af0) 0
+
+Vtable for QPaintDevice
+QPaintDevice::_ZTV12QPaintDevice: 7u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QPaintDevice)
+16 QPaintDevice::~QPaintDevice
+24 QPaintDevice::~QPaintDevice
+32 QPaintDevice::devType
+40 __cxa_pure_virtual
+48 QPaintDevice::metric
+
+Class QPaintDevice
+ size=16 align=8
+ base size=10 base align=8
+QPaintDevice (0x7faaaa194150) 0
+ vptr=((& QPaintDevice::_ZTV12QPaintDevice) + 16u)
+
+Class QImageTextKeyLang
+ size=16 align=8
+ base size=16 base align=8
+QImageTextKeyLang (0x7faaaa1b9070) 0
+
+Vtable for QImage
+QImage::_ZTV6QImage: 7u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI6QImage)
+16 QImage::~QImage
+24 QImage::~QImage
+32 QImage::devType
+40 QImage::paintEngine
+48 QImage::metric
+
+Class QImage
+ size=24 align=8
+ base size=24 base align=8
+QImage (0x7faaaa1e38c0) 0
+ vptr=((& QImage::_ZTV6QImage) + 16u)
+ QPaintDevice (0x7faaaa1e3930) 0
+ primary-for QImage (0x7faaaa1e38c0)
+
+Vtable for QPixmap
+QPixmap::_ZTV7QPixmap: 7u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QPixmap)
+16 QPixmap::~QPixmap
+24 QPixmap::~QPixmap
+32 QPixmap::devType
+40 QPixmap::paintEngine
+48 QPixmap::metric
+
+Class QPixmap
+ size=24 align=8
+ base size=24 base align=8
+QPixmap (0x7faaaa087070) 0
+ vptr=((& QPixmap::_ZTV7QPixmap) + 16u)
+ QPaintDevice (0x7faaaa0870e0) 0
+ primary-for QPixmap (0x7faaaa087070)
+
+Class QBrush
+ size=8 align=8
+ base size=8 base align=8
+QBrush (0x7faaaa0e5380) 0
+
+Class QBrushData
+ size=112 align=8
+ base size=112 base align=8
+QBrushData (0x7faaaa100d90) 0
+
+Class QGradient
+ size=64 align=8
+ base size=64 base align=8
+QGradient (0x7faaaa115f50) 0
+
+Class QLinearGradient
+ size=64 align=8
+ base size=64 base align=8
+QLinearGradient (0x7faaaa156a10) 0
+ QGradient (0x7faaaa156a80) 0
+
+Class QRadialGradient
+ size=64 align=8
+ base size=64 base align=8
+QRadialGradient (0x7faaaa156ee0) 0
+ QGradient (0x7faaaa156f50) 0
+
+Class QConicalGradient
+ size=64 align=8
+ base size=64 base align=8
+QConicalGradient (0x7faaa9f604d0) 0
+ QGradient (0x7faaa9f60540) 0
+
+Class QPen
+ size=8 align=8
+ base size=8 base align=8
+QPen (0x7faaa9f60850) 0
+
+Class QTextOption::Tab
+ size=16 align=8
+ base size=14 base align=8
+QTextOption::Tab (0x7faaa9f7de00) 0
+
+Class QTextOption
+ size=32 align=8
+ base size=32 base align=8
+QTextOption (0x7faaa9f7dd90) 0
+
+Class QTextLength
+ size=16 align=8
+ base size=16 base align=8
+QTextLength (0x7faaa9fee150) 0
+
+Class QTextFormat
+ size=16 align=8
+ base size=12 base align=8
+QTextFormat (0x7faaaa0084d0) 0
+
+Class QTextCharFormat
+ size=16 align=8
+ base size=12 base align=8
+QTextCharFormat (0x7faaa9ec0540) 0
+ QTextFormat (0x7faaa9ec05b0) 0
+
+Class QTextBlockFormat
+ size=16 align=8
+ base size=12 base align=8
+QTextBlockFormat (0x7faaa9f221c0) 0
+ QTextFormat (0x7faaa9f22230) 0
+
+Class QTextListFormat
+ size=16 align=8
+ base size=12 base align=8
+QTextListFormat (0x7faaa9f417e0) 0
+ QTextFormat (0x7faaa9f41850) 0
+
+Class QTextImageFormat
+ size=16 align=8
+ base size=12 base align=8
+QTextImageFormat (0x7faaa9f4ed20) 0
+ QTextCharFormat (0x7faaa9f4ed90) 0
+ QTextFormat (0x7faaa9f4ee00) 0
+
+Class QTextFrameFormat
+ size=16 align=8
+ base size=12 base align=8
+QTextFrameFormat (0x7faaa9d5e460) 0
+ QTextFormat (0x7faaa9d5e4d0) 0
+
+Class QTextTableFormat
+ size=16 align=8
+ base size=12 base align=8
+QTextTableFormat (0x7faaa9d95380) 0
+ QTextFrameFormat (0x7faaa9d953f0) 0
+ QTextFormat (0x7faaa9d95460) 0
+
+Class QTextTableCellFormat
+ size=16 align=8
+ base size=12 base align=8
+QTextTableCellFormat (0x7faaa9db0230) 0
+ QTextCharFormat (0x7faaa9db02a0) 0
+ QTextFormat (0x7faaa9db0310) 0
+
+Class QTextInlineObject
+ size=16 align=8
+ base size=16 base align=8
+QTextInlineObject (0x7faaa9dc4700) 0
+
+Class QTextLayout::FormatRange
+ size=24 align=8
+ base size=24 base align=8
+QTextLayout::FormatRange (0x7faaa9dd0a10) 0
+
+Class QTextLayout
+ size=8 align=8
+ base size=8 base align=8
+QTextLayout (0x7faaa9dd0770) 0
+
+Class QTextLine
+ size=16 align=8
+ base size=16 base align=8
+QTextLine (0x7faaa9de9770) 0
+
+Vtable for QAbstractUndoItem
+QAbstractUndoItem::_ZTV17QAbstractUndoItem: 6u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QAbstractUndoItem)
+16 __cxa_pure_virtual
+24 __cxa_pure_virtual
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+
+Class QAbstractUndoItem
+ size=8 align=8
+ base size=8 base align=8
+QAbstractUndoItem (0x7faaa9e1e070) 0 nearly-empty
+ vptr=((& QAbstractUndoItem::_ZTV17QAbstractUndoItem) + 16u)
+
+Vtable for QTextDocument
+QTextDocument::_ZTV13QTextDocument: 17u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QTextDocument)
+16 QTextDocument::metaObject
+24 QTextDocument::qt_metacast
+32 QTextDocument::qt_metacall
+40 QTextDocument::~QTextDocument
+48 QTextDocument::~QTextDocument
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QTextDocument::clear
+120 QTextDocument::createObject
+128 QTextDocument::loadResource
+
+Class QTextDocument
+ size=16 align=8
+ base size=16 base align=8
+QTextDocument (0x7faaa9e1eaf0) 0
+ vptr=((& QTextDocument::_ZTV13QTextDocument) + 16u)
+ QObject (0x7faaa9e1eb60) 0
+ primary-for QTextDocument (0x7faaa9e1eaf0)
+
+Class QTextCursor
+ size=8 align=8
+ base size=8 base align=8
+QTextCursor (0x7faaa9c7ba80) 0
+
+Class QPalette
+ size=16 align=8
+ base size=12 base align=8
+QPalette (0x7faaa9c90f50) 0
+
+Class QColorGroup
+ size=16 align=8
+ base size=12 base align=8
+QColorGroup (0x7faaa9d02850) 0
+ QPalette (0x7faaa9d028c0) 0
+
+Class QAbstractTextDocumentLayout::Selection
+ size=24 align=8
+ base size=24 base align=8
+QAbstractTextDocumentLayout::Selection (0x7faaa9d39d90) 0
+
+Class QAbstractTextDocumentLayout::PaintContext
+ size=64 align=8
+ base size=64 base align=8
+QAbstractTextDocumentLayout::PaintContext (0x7faaa9d39e00) 0
+
+Vtable for QAbstractTextDocumentLayout
+QAbstractTextDocumentLayout::_ZTV27QAbstractTextDocumentLayout: 24u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI27QAbstractTextDocumentLayout)
+16 QAbstractTextDocumentLayout::metaObject
+24 QAbstractTextDocumentLayout::qt_metacast
+32 QAbstractTextDocumentLayout::qt_metacall
+40 QAbstractTextDocumentLayout::~QAbstractTextDocumentLayout
+48 QAbstractTextDocumentLayout::~QAbstractTextDocumentLayout
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 __cxa_pure_virtual
+136 __cxa_pure_virtual
+144 __cxa_pure_virtual
+152 __cxa_pure_virtual
+160 __cxa_pure_virtual
+168 QAbstractTextDocumentLayout::resizeInlineObject
+176 QAbstractTextDocumentLayout::positionInlineObject
+184 QAbstractTextDocumentLayout::drawInlineObject
+
+Class QAbstractTextDocumentLayout
+ size=16 align=8
+ base size=16 base align=8
+QAbstractTextDocumentLayout (0x7faaa9d39b60) 0
+ vptr=((& QAbstractTextDocumentLayout::_ZTV27QAbstractTextDocumentLayout) + 16u)
+ QObject (0x7faaa9d39bd0) 0
+ primary-for QAbstractTextDocumentLayout (0x7faaa9d39b60)
+
+Vtable for QTextObjectInterface
+QTextObjectInterface::_ZTV20QTextObjectInterface: 6u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI20QTextObjectInterface)
+16 QTextObjectInterface::~QTextObjectInterface
+24 QTextObjectInterface::~QTextObjectInterface
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+
+Class QTextObjectInterface
+ size=8 align=8
+ base size=8 base align=8
+QTextObjectInterface (0x7faaa9b714d0) 0 nearly-empty
+ vptr=((& QTextObjectInterface::_ZTV20QTextObjectInterface) + 16u)
+
+Class QFontDatabase
+ size=8 align=8
+ base size=8 base align=8
+QFontDatabase (0x7faaa9b7c7e0) 0
+
+Class QFontInfo
+ size=8 align=8
+ base size=8 base align=8
+QFontInfo (0x7faaa9b8c7e0) 0
+
+Class QFontMetrics
+ size=8 align=8
+ base size=8 base align=8
+QFontMetrics (0x7faaa9b9f310) 0
+
+Class QFontMetricsF
+ size=8 align=8
+ base size=8 base align=8
+QFontMetricsF (0x7faaa9bb4770) 0
+
+Vtable for QTextObject
+QTextObject::_ZTV11QTextObject: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QTextObject)
+16 QTextObject::metaObject
+24 QTextObject::qt_metacast
+32 QTextObject::qt_metacall
+40 QTextObject::~QTextObject
+48 QTextObject::~QTextObject
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QTextObject
+ size=16 align=8
+ base size=16 base align=8
+QTextObject (0x7faaa9bc8690) 0
+ vptr=((& QTextObject::_ZTV11QTextObject) + 16u)
+ QObject (0x7faaa9bc8700) 0
+ primary-for QTextObject (0x7faaa9bc8690)
+
+Vtable for QTextBlockGroup
+QTextBlockGroup::_ZTV15QTextBlockGroup: 17u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QTextBlockGroup)
+16 QTextBlockGroup::metaObject
+24 QTextBlockGroup::qt_metacast
+32 QTextBlockGroup::qt_metacall
+40 QTextBlockGroup::~QTextBlockGroup
+48 QTextBlockGroup::~QTextBlockGroup
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QTextBlockGroup::blockInserted
+120 QTextBlockGroup::blockRemoved
+128 QTextBlockGroup::blockFormatChanged
+
+Class QTextBlockGroup
+ size=16 align=8
+ base size=16 base align=8
+QTextBlockGroup (0x7faaa9bdbee0) 0
+ vptr=((& QTextBlockGroup::_ZTV15QTextBlockGroup) + 16u)
+ QTextObject (0x7faaa9bdbf50) 0
+ primary-for QTextBlockGroup (0x7faaa9bdbee0)
+ QObject (0x7faaa9be2000) 0
+ primary-for QTextObject (0x7faaa9bdbf50)
+
+Vtable for QTextFrameLayoutData
+QTextFrameLayoutData::_ZTV20QTextFrameLayoutData: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI20QTextFrameLayoutData)
+16 QTextFrameLayoutData::~QTextFrameLayoutData
+24 QTextFrameLayoutData::~QTextFrameLayoutData
+
+Class QTextFrameLayoutData
+ size=8 align=8
+ base size=8 base align=8
+QTextFrameLayoutData (0x7faaa9bf77e0) 0 nearly-empty
+ vptr=((& QTextFrameLayoutData::_ZTV20QTextFrameLayoutData) + 16u)
+
+Class QTextFrame::iterator
+ size=32 align=8
+ base size=28 base align=8
+QTextFrame::iterator (0x7faaa9c03230) 0
+
+Vtable for QTextFrame
+QTextFrame::_ZTV10QTextFrame: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QTextFrame)
+16 QTextFrame::metaObject
+24 QTextFrame::qt_metacast
+32 QTextFrame::qt_metacall
+40 QTextFrame::~QTextFrame
+48 QTextFrame::~QTextFrame
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QTextFrame
+ size=16 align=8
+ base size=16 base align=8
+QTextFrame (0x7faaa9bf7930) 0
+ vptr=((& QTextFrame::_ZTV10QTextFrame) + 16u)
+ QTextObject (0x7faaa9bf79a0) 0
+ primary-for QTextFrame (0x7faaa9bf7930)
+ QObject (0x7faaa9bf7a10) 0
+ primary-for QTextObject (0x7faaa9bf79a0)
+
+Vtable for QTextBlockUserData
+QTextBlockUserData::_ZTV18QTextBlockUserData: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QTextBlockUserData)
+16 QTextBlockUserData::~QTextBlockUserData
+24 QTextBlockUserData::~QTextBlockUserData
+
+Class QTextBlockUserData
+ size=8 align=8
+ base size=8 base align=8
+QTextBlockUserData (0x7faaa9c37380) 0 nearly-empty
+ vptr=((& QTextBlockUserData::_ZTV18QTextBlockUserData) + 16u)
+
+Class QTextBlock::iterator
+ size=24 align=8
+ base size=20 base align=8
+QTextBlock::iterator (0x7faaa9c37cb0) 0
+
+Class QTextBlock
+ size=16 align=8
+ base size=12 base align=8
+QTextBlock (0x7faaa9c374d0) 0
+
+Class QTextFragment
+ size=16 align=8
+ base size=16 base align=8
+QTextFragment (0x7faaa9a2ee00) 0
+
+Vtable for QSyntaxHighlighter
+QSyntaxHighlighter::_ZTV18QSyntaxHighlighter: 15u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QSyntaxHighlighter)
+16 QSyntaxHighlighter::metaObject
+24 QSyntaxHighlighter::qt_metacast
+32 QSyntaxHighlighter::qt_metacall
+40 QSyntaxHighlighter::~QSyntaxHighlighter
+48 QSyntaxHighlighter::~QSyntaxHighlighter
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+
+Class QSyntaxHighlighter
+ size=16 align=8
+ base size=16 base align=8
+QSyntaxHighlighter (0x7faaa9a57000) 0
+ vptr=((& QSyntaxHighlighter::_ZTV18QSyntaxHighlighter) + 16u)
+ QObject (0x7faaa9a57070) 0
+ primary-for QSyntaxHighlighter (0x7faaa9a57000)
+
+Class QTextDocumentFragment
+ size=8 align=8
+ base size=8 base align=8
+QTextDocumentFragment (0x7faaa9a709a0) 0
+
+Class QTextDocumentWriter
+ size=8 align=8
+ base size=8 base align=8
+QTextDocumentWriter (0x7faaa9a763f0) 0
+
+Vtable for QTextList
+QTextList::_ZTV9QTextList: 17u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QTextList)
+16 QTextList::metaObject
+24 QTextList::qt_metacast
+32 QTextList::qt_metacall
+40 QTextList::~QTextList
+48 QTextList::~QTextList
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QTextBlockGroup::blockInserted
+120 QTextBlockGroup::blockRemoved
+128 QTextBlockGroup::blockFormatChanged
+
+Class QTextList
+ size=16 align=8
+ base size=16 base align=8
+QTextList (0x7faaa9a76a80) 0
+ vptr=((& QTextList::_ZTV9QTextList) + 16u)
+ QTextBlockGroup (0x7faaa9a76af0) 0
+ primary-for QTextList (0x7faaa9a76a80)
+ QTextObject (0x7faaa9a76b60) 0
+ primary-for QTextBlockGroup (0x7faaa9a76af0)
+ QObject (0x7faaa9a76bd0) 0
+ primary-for QTextObject (0x7faaa9a76b60)
+
+Class QTextTableCell
+ size=16 align=8
+ base size=12 base align=8
+QTextTableCell (0x7faaa9aa1930) 0
+
+Vtable for QTextTable
+QTextTable::_ZTV10QTextTable: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QTextTable)
+16 QTextTable::metaObject
+24 QTextTable::qt_metacast
+32 QTextTable::qt_metacall
+40 QTextTable::~QTextTable
+48 QTextTable::~QTextTable
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QTextTable
+ size=16 align=8
+ base size=16 base align=8
+QTextTable (0x7faaa9ab6a80) 0
+ vptr=((& QTextTable::_ZTV10QTextTable) + 16u)
+ QTextFrame (0x7faaa9ab6af0) 0
+ primary-for QTextTable (0x7faaa9ab6a80)
+ QTextObject (0x7faaa9ab6b60) 0
+ primary-for QTextFrame (0x7faaa9ab6af0)
+ QObject (0x7faaa9ab6bd0) 0
+ primary-for QTextObject (0x7faaa9ab6b60)
+
+Vtable for QCompleter
+QCompleter::_ZTV10QCompleter: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QCompleter)
+16 QCompleter::metaObject
+24 QCompleter::qt_metacast
+32 QCompleter::qt_metacall
+40 QCompleter::~QCompleter
+48 QCompleter::~QCompleter
+56 QCompleter::event
+64 QCompleter::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QCompleter::pathFromIndex
+120 QCompleter::splitPath
+
+Class QCompleter
+ size=16 align=8
+ base size=16 base align=8
+QCompleter (0x7faaa9ade2a0) 0
+ vptr=((& QCompleter::_ZTV10QCompleter) + 16u)
+ QObject (0x7faaa9ade310) 0
+ primary-for QCompleter (0x7faaa9ade2a0)
+
+Class QDesktopServices
+ size=1 align=1
+ base size=0 base align=1
+QDesktopServices (0x7faaa9901230) 0 empty
+
+Class QIcon
+ size=8 align=8
+ base size=8 base align=8
+QIcon (0x7faaa9901380) 0
+
+Vtable for QSystemTrayIcon
+QSystemTrayIcon::_ZTV15QSystemTrayIcon: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QSystemTrayIcon)
+16 QSystemTrayIcon::metaObject
+24 QSystemTrayIcon::qt_metacast
+32 QSystemTrayIcon::qt_metacall
+40 QSystemTrayIcon::~QSystemTrayIcon
+48 QSystemTrayIcon::~QSystemTrayIcon
+56 QSystemTrayIcon::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QSystemTrayIcon
+ size=16 align=8
+ base size=16 base align=8
+QSystemTrayIcon (0x7faaa992af50) 0
+ vptr=((& QSystemTrayIcon::_ZTV15QSystemTrayIcon) + 16u)
+ QObject (0x7faaa993b000) 0
+ primary-for QSystemTrayIcon (0x7faaa992af50)
+
+Vtable for QUndoGroup
+QUndoGroup::_ZTV10QUndoGroup: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QUndoGroup)
+16 QUndoGroup::metaObject
+24 QUndoGroup::qt_metacast
+32 QUndoGroup::qt_metacall
+40 QUndoGroup::~QUndoGroup
+48 QUndoGroup::~QUndoGroup
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QUndoGroup
+ size=16 align=8
+ base size=16 base align=8
+QUndoGroup (0x7faaa99591c0) 0
+ vptr=((& QUndoGroup::_ZTV10QUndoGroup) + 16u)
+ QObject (0x7faaa9959230) 0
+ primary-for QUndoGroup (0x7faaa99591c0)
+
+Vtable for QUndoCommand
+QUndoCommand::_ZTV12QUndoCommand: 8u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QUndoCommand)
+16 QUndoCommand::~QUndoCommand
+24 QUndoCommand::~QUndoCommand
+32 QUndoCommand::undo
+40 QUndoCommand::redo
+48 QUndoCommand::id
+56 QUndoCommand::mergeWith
+
+Class QUndoCommand
+ size=16 align=8
+ base size=16 base align=8
+QUndoCommand (0x7faaa996ed20) 0
+ vptr=((& QUndoCommand::_ZTV12QUndoCommand) + 16u)
+
+Vtable for QUndoStack
+QUndoStack::_ZTV10QUndoStack: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QUndoStack)
+16 QUndoStack::metaObject
+24 QUndoStack::qt_metacast
+32 QUndoStack::qt_metacall
+40 QUndoStack::~QUndoStack
+48 QUndoStack::~QUndoStack
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QUndoStack
+ size=16 align=8
+ base size=16 base align=8
+QUndoStack (0x7faaa9976690) 0
+ vptr=((& QUndoStack::_ZTV10QUndoStack) + 16u)
+ QObject (0x7faaa9976700) 0
+ primary-for QUndoStack (0x7faaa9976690)
+
+Class QSizePolicy
+ size=4 align=4
+ base size=4 base align=4
+QSizePolicy (0x7faaa999c1c0) 0
+
+Class QCursor
+ size=8 align=8
+ base size=8 base align=8
+QCursor (0x7faaa986b1c0) 0
+
+Class QWidgetData
+ size=88 align=8
+ base size=88 base align=8
+QWidgetData (0x7faaa986b9a0) 0
+
+Vtable for QWidget
+QWidget::_ZTV7QWidget: 63u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QWidget)
+16 QWidget::metaObject
+24 QWidget::qt_metacast
+32 QWidget::qt_metacall
+40 QWidget::~QWidget
+48 QWidget::~QWidget
+56 QWidget::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QWidget::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QWidget::paintEvent
+256 QWidget::moveEvent
+264 QWidget::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QWidget::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 (int (*)(...))-0x00000000000000010
+456 (int (*)(...))(& _ZTI7QWidget)
+464 QWidget::_ZThn16_N7QWidgetD1Ev
+472 QWidget::_ZThn16_N7QWidgetD0Ev
+480 QWidget::_ZThn16_NK7QWidget7devTypeEv
+488 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+496 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QWidget
+ size=40 align=8
+ base size=40 base align=8
+QWidget (0x7faaa9864a00) 0
+ vptr=((& QWidget::_ZTV7QWidget) + 16u)
+ QObject (0x7faaa986ba10) 0
+ primary-for QWidget (0x7faaa9864a00)
+ QPaintDevice (0x7faaa986ba80) 16
+ vptr=((& QWidget::_ZTV7QWidget) + 464u)
+
+Vtable for QFrame
+QFrame::_ZTV6QFrame: 63u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI6QFrame)
+16 QFrame::metaObject
+24 QFrame::qt_metacast
+32 QFrame::qt_metacall
+40 QFrame::~QFrame
+48 QFrame::~QFrame
+56 QFrame::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QFrame::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QFrame::paintEvent
+256 QWidget::moveEvent
+264 QWidget::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QFrame::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 (int (*)(...))-0x00000000000000010
+456 (int (*)(...))(& _ZTI6QFrame)
+464 QFrame::_ZThn16_N6QFrameD1Ev
+472 QFrame::_ZThn16_N6QFrameD0Ev
+480 QWidget::_ZThn16_NK7QWidget7devTypeEv
+488 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+496 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QFrame
+ size=40 align=8
+ base size=40 base align=8
+QFrame (0x7faaa97f3a80) 0
+ vptr=((& QFrame::_ZTV6QFrame) + 16u)
+ QWidget (0x7faaa97f7680) 0
+ primary-for QFrame (0x7faaa97f3a80)
+ QObject (0x7faaa97f3af0) 0
+ primary-for QWidget (0x7faaa97f7680)
+ QPaintDevice (0x7faaa97f3b60) 16
+ vptr=((& QFrame::_ZTV6QFrame) + 464u)
+
+Vtable for QAbstractScrollArea
+QAbstractScrollArea::_ZTV19QAbstractScrollArea: 65u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QAbstractScrollArea)
+16 QAbstractScrollArea::metaObject
+24 QAbstractScrollArea::qt_metacast
+32 QAbstractScrollArea::qt_metacall
+40 QAbstractScrollArea::~QAbstractScrollArea
+48 QAbstractScrollArea::~QAbstractScrollArea
+56 QAbstractScrollArea::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QAbstractScrollArea::sizeHint
+136 QAbstractScrollArea::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QAbstractScrollArea::mousePressEvent
+168 QAbstractScrollArea::mouseReleaseEvent
+176 QAbstractScrollArea::mouseDoubleClickEvent
+184 QAbstractScrollArea::mouseMoveEvent
+192 QAbstractScrollArea::wheelEvent
+200 QAbstractScrollArea::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QAbstractScrollArea::paintEvent
+256 QWidget::moveEvent
+264 QAbstractScrollArea::resizeEvent
+272 QWidget::closeEvent
+280 QAbstractScrollArea::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QAbstractScrollArea::dragEnterEvent
+312 QAbstractScrollArea::dragMoveEvent
+320 QAbstractScrollArea::dragLeaveEvent
+328 QAbstractScrollArea::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QFrame::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QAbstractScrollArea::viewportEvent
+456 QAbstractScrollArea::scrollContentsBy
+464 (int (*)(...))-0x00000000000000010
+472 (int (*)(...))(& _ZTI19QAbstractScrollArea)
+480 QAbstractScrollArea::_ZThn16_N19QAbstractScrollAreaD1Ev
+488 QAbstractScrollArea::_ZThn16_N19QAbstractScrollAreaD0Ev
+496 QWidget::_ZThn16_NK7QWidget7devTypeEv
+504 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+512 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QAbstractScrollArea
+ size=40 align=8
+ base size=40 base align=8
+QAbstractScrollArea (0x7faaa961f0e0) 0
+ vptr=((& QAbstractScrollArea::_ZTV19QAbstractScrollArea) + 16u)
+ QFrame (0x7faaa961f150) 0
+ primary-for QAbstractScrollArea (0x7faaa961f0e0)
+ QWidget (0x7faaa9605a80) 0
+ primary-for QFrame (0x7faaa961f150)
+ QObject (0x7faaa961f1c0) 0
+ primary-for QWidget (0x7faaa9605a80)
+ QPaintDevice (0x7faaa961f230) 16
+ vptr=((& QAbstractScrollArea::_ZTV19QAbstractScrollArea) + 480u)
+
+Class QItemSelectionRange
+ size=16 align=8
+ base size=16 base align=8
+QItemSelectionRange (0x7faaa9646000) 0
+
+Vtable for QItemSelectionModel
+QItemSelectionModel::_ZTV19QItemSelectionModel: 18u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QItemSelectionModel)
+16 QItemSelectionModel::metaObject
+24 QItemSelectionModel::qt_metacast
+32 QItemSelectionModel::qt_metacall
+40 QItemSelectionModel::~QItemSelectionModel
+48 QItemSelectionModel::~QItemSelectionModel
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QItemSelectionModel::select
+120 QItemSelectionModel::select
+128 QItemSelectionModel::clear
+136 QItemSelectionModel::reset
+
+Class QItemSelectionModel
+ size=16 align=8
+ base size=16 base align=8
+QItemSelectionModel (0x7faaa96ae4d0) 0
+ vptr=((& QItemSelectionModel::_ZTV19QItemSelectionModel) + 16u)
+ QObject (0x7faaa96ae540) 0
+ primary-for QItemSelectionModel (0x7faaa96ae4d0)
+
+Class QItemSelection
+ size=8 align=8
+ base size=8 base align=8
+QItemSelection (0x7faaa96ef9a0) 0
+ QList<QItemSelectionRange> (0x7faaa96efa10) 0
+
+Vtable for QValidator
+QValidator::_ZTV10QValidator: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QValidator)
+16 QValidator::metaObject
+24 QValidator::qt_metacast
+32 QValidator::qt_metacall
+40 QValidator::~QValidator
+48 QValidator::~QValidator
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+120 QValidator::fixup
+
+Class QValidator
+ size=16 align=8
+ base size=16 base align=8
+QValidator (0x7faaa952e2a0) 0
+ vptr=((& QValidator::_ZTV10QValidator) + 16u)
+ QObject (0x7faaa952e310) 0
+ primary-for QValidator (0x7faaa952e2a0)
+
+Vtable for QIntValidator
+QIntValidator::_ZTV13QIntValidator: 17u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QIntValidator)
+16 QIntValidator::metaObject
+24 QIntValidator::qt_metacast
+32 QIntValidator::qt_metacall
+40 QIntValidator::~QIntValidator
+48 QIntValidator::~QIntValidator
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QIntValidator::validate
+120 QValidator::fixup
+128 QIntValidator::setRange
+
+Class QIntValidator
+ size=24 align=8
+ base size=24 base align=8
+QIntValidator (0x7faaa95490e0) 0
+ vptr=((& QIntValidator::_ZTV13QIntValidator) + 16u)
+ QValidator (0x7faaa9549150) 0
+ primary-for QIntValidator (0x7faaa95490e0)
+ QObject (0x7faaa95491c0) 0
+ primary-for QValidator (0x7faaa9549150)
+
+Vtable for QDoubleValidator
+QDoubleValidator::_ZTV16QDoubleValidator: 17u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QDoubleValidator)
+16 QDoubleValidator::metaObject
+24 QDoubleValidator::qt_metacast
+32 QDoubleValidator::qt_metacall
+40 QDoubleValidator::~QDoubleValidator
+48 QDoubleValidator::~QDoubleValidator
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QDoubleValidator::validate
+120 QValidator::fixup
+128 QDoubleValidator::setRange
+
+Class QDoubleValidator
+ size=40 align=8
+ base size=36 base align=8
+QDoubleValidator (0x7faaa955f070) 0
+ vptr=((& QDoubleValidator::_ZTV16QDoubleValidator) + 16u)
+ QValidator (0x7faaa955f0e0) 0
+ primary-for QDoubleValidator (0x7faaa955f070)
+ QObject (0x7faaa955f150) 0
+ primary-for QValidator (0x7faaa955f0e0)
+
+Vtable for QRegExpValidator
+QRegExpValidator::_ZTV16QRegExpValidator: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QRegExpValidator)
+16 QRegExpValidator::metaObject
+24 QRegExpValidator::qt_metacast
+32 QRegExpValidator::qt_metacall
+40 QRegExpValidator::~QRegExpValidator
+48 QRegExpValidator::~QRegExpValidator
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QRegExpValidator::validate
+120 QValidator::fixup
+
+Class QRegExpValidator
+ size=24 align=8
+ base size=24 base align=8
+QRegExpValidator (0x7faaa957b930) 0
+ vptr=((& QRegExpValidator::_ZTV16QRegExpValidator) + 16u)
+ QValidator (0x7faaa957b9a0) 0
+ primary-for QRegExpValidator (0x7faaa957b930)
+ QObject (0x7faaa957ba10) 0
+ primary-for QValidator (0x7faaa957b9a0)
+
+Vtable for QAbstractSpinBox
+QAbstractSpinBox::_ZTV16QAbstractSpinBox: 68u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QAbstractSpinBox)
+16 QAbstractSpinBox::metaObject
+24 QAbstractSpinBox::qt_metacast
+32 QAbstractSpinBox::qt_metacall
+40 QAbstractSpinBox::~QAbstractSpinBox
+48 QAbstractSpinBox::~QAbstractSpinBox
+56 QAbstractSpinBox::event
+64 QObject::eventFilter
+72 QAbstractSpinBox::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QAbstractSpinBox::sizeHint
+136 QAbstractSpinBox::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QAbstractSpinBox::mousePressEvent
+168 QAbstractSpinBox::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QAbstractSpinBox::mouseMoveEvent
+192 QAbstractSpinBox::wheelEvent
+200 QAbstractSpinBox::keyPressEvent
+208 QAbstractSpinBox::keyReleaseEvent
+216 QAbstractSpinBox::focusInEvent
+224 QAbstractSpinBox::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QAbstractSpinBox::paintEvent
+256 QWidget::moveEvent
+264 QAbstractSpinBox::resizeEvent
+272 QAbstractSpinBox::closeEvent
+280 QAbstractSpinBox::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QAbstractSpinBox::showEvent
+344 QAbstractSpinBox::hideEvent
+352 QWidget::x11Event
+360 QAbstractSpinBox::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QAbstractSpinBox::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QAbstractSpinBox::validate
+456 QAbstractSpinBox::fixup
+464 QAbstractSpinBox::stepBy
+472 QAbstractSpinBox::clear
+480 QAbstractSpinBox::stepEnabled
+488 (int (*)(...))-0x00000000000000010
+496 (int (*)(...))(& _ZTI16QAbstractSpinBox)
+504 QAbstractSpinBox::_ZThn16_N16QAbstractSpinBoxD1Ev
+512 QAbstractSpinBox::_ZThn16_N16QAbstractSpinBoxD0Ev
+520 QWidget::_ZThn16_NK7QWidget7devTypeEv
+528 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+536 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QAbstractSpinBox
+ size=40 align=8
+ base size=40 base align=8
+QAbstractSpinBox (0x7faaa95935b0) 0
+ vptr=((& QAbstractSpinBox::_ZTV16QAbstractSpinBox) + 16u)
+ QWidget (0x7faaa9578e80) 0
+ primary-for QAbstractSpinBox (0x7faaa95935b0)
+ QObject (0x7faaa9593620) 0
+ primary-for QWidget (0x7faaa9578e80)
+ QPaintDevice (0x7faaa9593690) 16
+ vptr=((& QAbstractSpinBox::_ZTV16QAbstractSpinBox) + 504u)
+
+Vtable for QAbstractSlider
+QAbstractSlider::_ZTV15QAbstractSlider: 64u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QAbstractSlider)
+16 QAbstractSlider::metaObject
+24 QAbstractSlider::qt_metacast
+32 QAbstractSlider::qt_metacall
+40 QAbstractSlider::~QAbstractSlider
+48 QAbstractSlider::~QAbstractSlider
+56 QAbstractSlider::event
+64 QObject::eventFilter
+72 QAbstractSlider::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QWidget::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QAbstractSlider::wheelEvent
+200 QAbstractSlider::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QWidget::paintEvent
+256 QWidget::moveEvent
+264 QWidget::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QAbstractSlider::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QAbstractSlider::sliderChange
+456 (int (*)(...))-0x00000000000000010
+464 (int (*)(...))(& _ZTI15QAbstractSlider)
+472 QAbstractSlider::_ZThn16_N15QAbstractSliderD1Ev
+480 QAbstractSlider::_ZThn16_N15QAbstractSliderD0Ev
+488 QWidget::_ZThn16_NK7QWidget7devTypeEv
+496 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+504 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QAbstractSlider
+ size=40 align=8
+ base size=40 base align=8
+QAbstractSlider (0x7faaa95ef5b0) 0
+ vptr=((& QAbstractSlider::_ZTV15QAbstractSlider) + 16u)
+ QWidget (0x7faaa95f0200) 0
+ primary-for QAbstractSlider (0x7faaa95ef5b0)
+ QObject (0x7faaa95ef620) 0
+ primary-for QWidget (0x7faaa95f0200)
+ QPaintDevice (0x7faaa95ef690) 16
+ vptr=((& QAbstractSlider::_ZTV15QAbstractSlider) + 472u)
+
+Vtable for QSlider
+QSlider::_ZTV7QSlider: 64u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QSlider)
+16 QSlider::metaObject
+24 QSlider::qt_metacast
+32 QSlider::qt_metacall
+40 QSlider::~QSlider
+48 QSlider::~QSlider
+56 QSlider::event
+64 QObject::eventFilter
+72 QAbstractSlider::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QSlider::sizeHint
+136 QSlider::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QSlider::mousePressEvent
+168 QSlider::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QSlider::mouseMoveEvent
+192 QAbstractSlider::wheelEvent
+200 QAbstractSlider::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QSlider::paintEvent
+256 QWidget::moveEvent
+264 QWidget::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QAbstractSlider::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QAbstractSlider::sliderChange
+456 (int (*)(...))-0x00000000000000010
+464 (int (*)(...))(& _ZTI7QSlider)
+472 QSlider::_ZThn16_N7QSliderD1Ev
+480 QSlider::_ZThn16_N7QSliderD0Ev
+488 QWidget::_ZThn16_NK7QWidget7devTypeEv
+496 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+504 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QSlider
+ size=40 align=8
+ base size=40 base align=8
+QSlider (0x7faaa94273f0) 0
+ vptr=((& QSlider::_ZTV7QSlider) + 16u)
+ QAbstractSlider (0x7faaa9427460) 0
+ primary-for QSlider (0x7faaa94273f0)
+ QWidget (0x7faaa9425300) 0
+ primary-for QAbstractSlider (0x7faaa9427460)
+ QObject (0x7faaa94274d0) 0
+ primary-for QWidget (0x7faaa9425300)
+ QPaintDevice (0x7faaa9427540) 16
+ vptr=((& QSlider::_ZTV7QSlider) + 472u)
+
+Vtable for QStyle
+QStyle::_ZTV6QStyle: 35u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI6QStyle)
+16 QStyle::metaObject
+24 QStyle::qt_metacast
+32 QStyle::qt_metacall
+40 QStyle::~QStyle
+48 QStyle::~QStyle
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QStyle::polish
+120 QStyle::unpolish
+128 QStyle::polish
+136 QStyle::unpolish
+144 QStyle::polish
+152 QStyle::itemTextRect
+160 QStyle::itemPixmapRect
+168 QStyle::drawItemText
+176 QStyle::drawItemPixmap
+184 QStyle::standardPalette
+192 __cxa_pure_virtual
+200 __cxa_pure_virtual
+208 __cxa_pure_virtual
+216 __cxa_pure_virtual
+224 __cxa_pure_virtual
+232 __cxa_pure_virtual
+240 __cxa_pure_virtual
+248 __cxa_pure_virtual
+256 __cxa_pure_virtual
+264 __cxa_pure_virtual
+272 __cxa_pure_virtual
+
+Class QStyle
+ size=16 align=8
+ base size=16 base align=8
+QStyle (0x7faaa944e9a0) 0
+ vptr=((& QStyle::_ZTV6QStyle) + 16u)
+ QObject (0x7faaa944ea10) 0
+ primary-for QStyle (0x7faaa944e9a0)
+
+Vtable for QTabBar
+QTabBar::_ZTV7QTabBar: 67u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QTabBar)
+16 QTabBar::metaObject
+24 QTabBar::qt_metacast
+32 QTabBar::qt_metacall
+40 QTabBar::~QTabBar
+48 QTabBar::~QTabBar
+56 QTabBar::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QTabBar::sizeHint
+136 QTabBar::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QTabBar::mousePressEvent
+168 QTabBar::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QTabBar::mouseMoveEvent
+192 QTabBar::wheelEvent
+200 QTabBar::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QTabBar::paintEvent
+256 QWidget::moveEvent
+264 QTabBar::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QTabBar::showEvent
+344 QTabBar::hideEvent
+352 QWidget::x11Event
+360 QTabBar::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QTabBar::tabSizeHint
+456 QTabBar::tabInserted
+464 QTabBar::tabRemoved
+472 QTabBar::tabLayoutChange
+480 (int (*)(...))-0x00000000000000010
+488 (int (*)(...))(& _ZTI7QTabBar)
+496 QTabBar::_ZThn16_N7QTabBarD1Ev
+504 QTabBar::_ZThn16_N7QTabBarD0Ev
+512 QWidget::_ZThn16_NK7QWidget7devTypeEv
+520 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+528 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QTabBar
+ size=40 align=8
+ base size=40 base align=8
+QTabBar (0x7faaa94fd850) 0
+ vptr=((& QTabBar::_ZTV7QTabBar) + 16u)
+ QWidget (0x7faaa94fe300) 0
+ primary-for QTabBar (0x7faaa94fd850)
+ QObject (0x7faaa94fd8c0) 0
+ primary-for QWidget (0x7faaa94fe300)
+ QPaintDevice (0x7faaa94fd930) 16
+ vptr=((& QTabBar::_ZTV7QTabBar) + 496u)
+
+Vtable for QTabWidget
+QTabWidget::_ZTV10QTabWidget: 65u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QTabWidget)
+16 QTabWidget::metaObject
+24 QTabWidget::qt_metacast
+32 QTabWidget::qt_metacall
+40 QTabWidget::~QTabWidget
+48 QTabWidget::~QTabWidget
+56 QTabWidget::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QTabWidget::sizeHint
+136 QTabWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QTabWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QTabWidget::paintEvent
+256 QWidget::moveEvent
+264 QTabWidget::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QTabWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QTabWidget::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QTabWidget::tabInserted
+456 QTabWidget::tabRemoved
+464 (int (*)(...))-0x00000000000000010
+472 (int (*)(...))(& _ZTI10QTabWidget)
+480 QTabWidget::_ZThn16_N10QTabWidgetD1Ev
+488 QTabWidget::_ZThn16_N10QTabWidgetD0Ev
+496 QWidget::_ZThn16_NK7QWidget7devTypeEv
+504 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+512 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QTabWidget
+ size=40 align=8
+ base size=40 base align=8
+QTabWidget (0x7faaa9329e70) 0
+ vptr=((& QTabWidget::_ZTV10QTabWidget) + 16u)
+ QWidget (0x7faaa9327700) 0
+ primary-for QTabWidget (0x7faaa9329e70)
+ QObject (0x7faaa9329ee0) 0
+ primary-for QWidget (0x7faaa9327700)
+ QPaintDevice (0x7faaa9329f50) 16
+ vptr=((& QTabWidget::_ZTV10QTabWidget) + 480u)
+
+Vtable for QRubberBand
+QRubberBand::_ZTV11QRubberBand: 63u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QRubberBand)
+16 QRubberBand::metaObject
+24 QRubberBand::qt_metacast
+32 QRubberBand::qt_metacall
+40 QRubberBand::~QRubberBand
+48 QRubberBand::~QRubberBand
+56 QRubberBand::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QWidget::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QRubberBand::paintEvent
+256 QRubberBand::moveEvent
+264 QRubberBand::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QRubberBand::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QRubberBand::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 (int (*)(...))-0x00000000000000010
+456 (int (*)(...))(& _ZTI11QRubberBand)
+464 QRubberBand::_ZThn16_N11QRubberBandD1Ev
+472 QRubberBand::_ZThn16_N11QRubberBandD0Ev
+480 QWidget::_ZThn16_NK7QWidget7devTypeEv
+488 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+496 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QRubberBand
+ size=40 align=8
+ base size=40 base align=8
+QRubberBand (0x7faaa937d850) 0
+ vptr=((& QRubberBand::_ZTV11QRubberBand) + 16u)
+ QWidget (0x7faaa937c880) 0
+ primary-for QRubberBand (0x7faaa937d850)
+ QObject (0x7faaa937d8c0) 0
+ primary-for QWidget (0x7faaa937c880)
+ QPaintDevice (0x7faaa937d930) 16
+ vptr=((& QRubberBand::_ZTV11QRubberBand) + 464u)
+
+Class QStyleOption
+ size=56 align=8
+ base size=56 base align=8
+QStyleOption (0x7faaa93a2b60) 0
+
+Class QStyleOptionFocusRect
+ size=72 align=8
+ base size=72 base align=8
+QStyleOptionFocusRect (0x7faaa93af8c0) 0
+ QStyleOption (0x7faaa93af930) 0
+
+Class QStyleOptionFrame
+ size=64 align=8
+ base size=64 base align=8
+QStyleOptionFrame (0x7faaa93bb8c0) 0
+ QStyleOption (0x7faaa93bb930) 0
+
+Class QStyleOptionFrameV2
+ size=72 align=8
+ base size=68 base align=8
+QStyleOptionFrameV2 (0x7faaa93c8850) 0
+ QStyleOptionFrame (0x7faaa93c88c0) 0
+ QStyleOption (0x7faaa93c8930) 0
+
+Class QStyleOptionFrameV3
+ size=72 align=8
+ base size=72 base align=8
+QStyleOptionFrameV3 (0x7faaa920f150) 0
+ QStyleOptionFrameV2 (0x7faaa920f1c0) 0
+ QStyleOptionFrame (0x7faaa920f230) 0
+ QStyleOption (0x7faaa920f2a0) 0
+
+Class QStyleOptionTabWidgetFrame
+ size=96 align=8
+ base size=92 base align=8
+QStyleOptionTabWidgetFrame (0x7faaa921ba10) 0
+ QStyleOption (0x7faaa921ba80) 0
+
+Class QStyleOptionTabWidgetFrameV2
+ size=128 align=8
+ base size=124 base align=8
+QStyleOptionTabWidgetFrameV2 (0x7faaa92311c0) 0
+ QStyleOptionTabWidgetFrame (0x7faaa9231230) 0
+ QStyleOption (0x7faaa92312a0) 0
+
+Class QStyleOptionTabBarBase
+ size=96 align=8
+ base size=92 base align=8
+QStyleOptionTabBarBase (0x7faaa9239af0) 0
+ QStyleOption (0x7faaa9239b60) 0
+
+Class QStyleOptionTabBarBaseV2
+ size=96 align=8
+ base size=93 base align=8
+QStyleOptionTabBarBaseV2 (0x7faaa9245ee0) 0
+ QStyleOptionTabBarBase (0x7faaa9245f50) 0
+ QStyleOption (0x7faaa9245310) 0
+
+Class QStyleOptionHeader
+ size=112 align=8
+ base size=108 base align=8
+QStyleOptionHeader (0x7faaa925b540) 0
+ QStyleOption (0x7faaa925b5b0) 0
+
+Class QStyleOptionButton
+ size=88 align=8
+ base size=88 base align=8
+QStyleOptionButton (0x7faaa9274700) 0
+ QStyleOption (0x7faaa9274770) 0
+
+Class QStyleOptionTab
+ size=96 align=8
+ base size=96 base align=8
+QStyleOptionTab (0x7faaa92c20e0) 0
+ QStyleOption (0x7faaa92c2150) 0
+
+Class QStyleOptionTabV2
+ size=104 align=8
+ base size=104 base align=8
+QStyleOptionTabV2 (0x7faaa910f070) 0
+ QStyleOptionTab (0x7faaa910f0e0) 0
+ QStyleOption (0x7faaa910f150) 0
+
+Class QStyleOptionTabV3
+ size=128 align=8
+ base size=124 base align=8
+QStyleOptionTabV3 (0x7faaa911aa80) 0
+ QStyleOptionTabV2 (0x7faaa911aaf0) 0
+ QStyleOptionTab (0x7faaa911ab60) 0
+ QStyleOption (0x7faaa911abd0) 0
+
+Class QStyleOptionToolBar
+ size=80 align=8
+ base size=80 base align=8
+QStyleOptionToolBar (0x7faaa91390e0) 0
+ QStyleOption (0x7faaa9139150) 0
+
+Class QStyleOptionProgressBar
+ size=88 align=8
+ base size=85 base align=8
+QStyleOptionProgressBar (0x7faaa916c8c0) 0
+ QStyleOption (0x7faaa916c930) 0
+
+Class QStyleOptionProgressBarV2
+ size=96 align=8
+ base size=94 base align=8
+QStyleOptionProgressBarV2 (0x7faaa9193070) 0
+ QStyleOptionProgressBar (0x7faaa91930e0) 0
+ QStyleOption (0x7faaa9193150) 0
+
+Class QStyleOptionMenuItem
+ size=128 align=8
+ base size=128 base align=8
+QStyleOptionMenuItem (0x7faaa9193930) 0
+ QStyleOption (0x7faaa91939a0) 0
+
+Class QStyleOptionQ3ListViewItem
+ size=80 align=8
+ base size=76 base align=8
+QStyleOptionQ3ListViewItem (0x7faaa91aeb60) 0
+ QStyleOption (0x7faaa91aebd0) 0
+
+Class QStyleOptionQ3DockWindow
+ size=64 align=8
+ base size=58 base align=8
+QStyleOptionQ3DockWindow (0x7faaa8ffc000) 0
+ QStyleOption (0x7faaa8ffc070) 0
+
+Class QStyleOptionDockWidget
+ size=72 align=8
+ base size=67 base align=8
+QStyleOptionDockWidget (0x7faaa8ffc690) 0
+ QStyleOption (0x7faaa9009000) 0
+
+Class QStyleOptionDockWidgetV2
+ size=72 align=8
+ base size=68 base align=8
+QStyleOptionDockWidgetV2 (0x7faaa9017380) 0
+ QStyleOptionDockWidget (0x7faaa90173f0) 0
+ QStyleOption (0x7faaa9017460) 0
+
+Class QStyleOptionViewItem
+ size=104 align=8
+ base size=97 base align=8
+QStyleOptionViewItem (0x7faaa901fb60) 0
+ QStyleOption (0x7faaa901fbd0) 0
+
+Class QStyleOptionViewItemV2
+ size=104 align=8
+ base size=104 base align=8
+QStyleOptionViewItemV2 (0x7faaa9038700) 0
+ QStyleOptionViewItem (0x7faaa9038770) 0
+ QStyleOption (0x7faaa90387e0) 0
+
+Class QStyleOptionViewItemV3
+ size=120 align=8
+ base size=120 base align=8
+QStyleOptionViewItemV3 (0x7faaa9086150) 0
+ QStyleOptionViewItemV2 (0x7faaa90861c0) 0
+ QStyleOptionViewItem (0x7faaa9086230) 0
+ QStyleOption (0x7faaa90862a0) 0
+
+Class QStyleOptionViewItemV4
+ size=184 align=8
+ base size=184 base align=8
+QStyleOptionViewItemV4 (0x7faaa9090a10) 0
+ QStyleOptionViewItemV3 (0x7faaa9090a80) 0
+ QStyleOptionViewItemV2 (0x7faaa9090af0) 0
+ QStyleOptionViewItem (0x7faaa9090b60) 0
+ QStyleOption (0x7faaa9090bd0) 0
+
+Class QStyleOptionToolBox
+ size=72 align=8
+ base size=72 base align=8
+QStyleOptionToolBox (0x7faaa90b2150) 0
+ QStyleOption (0x7faaa90b21c0) 0
+
+Class QStyleOptionToolBoxV2
+ size=80 align=8
+ base size=80 base align=8
+QStyleOptionToolBoxV2 (0x7faaa90be620) 0
+ QStyleOptionToolBox (0x7faaa90be690) 0
+ QStyleOption (0x7faaa90be700) 0
+
+Class QStyleOptionRubberBand
+ size=64 align=8
+ base size=61 base align=8
+QStyleOptionRubberBand (0x7faaa90d6310) 0
+ QStyleOption (0x7faaa90d6380) 0
+
+Class QStyleOptionComplex
+ size=64 align=8
+ base size=64 base align=8
+QStyleOptionComplex (0x7faaa90de3f0) 0
+ QStyleOption (0x7faaa90de460) 0
+
+Class QStyleOptionSlider
+ size=120 align=8
+ base size=113 base align=8
+QStyleOptionSlider (0x7faaa90e9bd0) 0
+ QStyleOptionComplex (0x7faaa90e9c40) 0
+ QStyleOption (0x7faaa90e9cb0) 0
+
+Class QStyleOptionSpinBox
+ size=80 align=8
+ base size=73 base align=8
+QStyleOptionSpinBox (0x7faaa8efe9a0) 0
+ QStyleOptionComplex (0x7faaa8efea10) 0
+ QStyleOption (0x7faaa8efea80) 0
+
+Class QStyleOptionQ3ListView
+ size=112 align=8
+ base size=105 base align=8
+QStyleOptionQ3ListView (0x7faaa8f07ee0) 0
+ QStyleOptionComplex (0x7faaa8f07f50) 0
+ QStyleOption (0x7faaa8f07380) 0
+
+Class QStyleOptionToolButton
+ size=128 align=8
+ base size=128 base align=8
+QStyleOptionToolButton (0x7faaa8f40af0) 0
+ QStyleOptionComplex (0x7faaa8f40b60) 0
+ QStyleOption (0x7faaa8f40bd0) 0
+
+Class QStyleOptionComboBox
+ size=112 align=8
+ base size=112 base align=8
+QStyleOptionComboBox (0x7faaa8f81d20) 0
+ QStyleOptionComplex (0x7faaa8f81d90) 0
+ QStyleOption (0x7faaa8f81e00) 0
+
+Class QStyleOptionTitleBar
+ size=88 align=8
+ base size=88 base align=8
+QStyleOptionTitleBar (0x7faaa8fa8850) 0
+ QStyleOptionComplex (0x7faaa8fa88c0) 0
+ QStyleOption (0x7faaa8fa8930) 0
+
+Class QStyleOptionGroupBox
+ size=112 align=8
+ base size=108 base align=8
+QStyleOptionGroupBox (0x7faaa8fc00e0) 0
+ QStyleOptionComplex (0x7faaa8fc0150) 0
+ QStyleOption (0x7faaa8fc01c0) 0
+
+Class QStyleOptionSizeGrip
+ size=72 align=8
+ base size=68 base align=8
+QStyleOptionSizeGrip (0x7faaa8fd0cb0) 0
+ QStyleOptionComplex (0x7faaa8fd0d20) 0
+ QStyleOption (0x7faaa8fd0d90) 0
+
+Class QStyleOptionGraphicsItem
+ size=144 align=8
+ base size=144 base align=8
+QStyleOptionGraphicsItem (0x7faaa8fd9c40) 0
+ QStyleOption (0x7faaa8fd9cb0) 0
+
+Class QStyleHintReturn
+ size=8 align=4
+ base size=8 base align=4
+QStyleHintReturn (0x7faaa8fe62a0) 0
+
+Class QStyleHintReturnMask
+ size=16 align=8
+ base size=16 base align=8
+QStyleHintReturnMask (0x7faaa8e063f0) 0
+ QStyleHintReturn (0x7faaa8e06460) 0
+
+Class QStyleHintReturnVariant
+ size=24 align=8
+ base size=24 base align=8
+QStyleHintReturnVariant (0x7faaa8e06620) 0
+ QStyleHintReturn (0x7faaa8e06690) 0
+
+Vtable for QAbstractItemDelegate
+QAbstractItemDelegate::_ZTV21QAbstractItemDelegate: 21u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI21QAbstractItemDelegate)
+16 QAbstractItemDelegate::metaObject
+24 QAbstractItemDelegate::qt_metacast
+32 QAbstractItemDelegate::qt_metacall
+40 QAbstractItemDelegate::~QAbstractItemDelegate
+48 QAbstractItemDelegate::~QAbstractItemDelegate
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 QAbstractItemDelegate::createEditor
+136 QAbstractItemDelegate::setEditorData
+144 QAbstractItemDelegate::setModelData
+152 QAbstractItemDelegate::updateEditorGeometry
+160 QAbstractItemDelegate::editorEvent
+
+Class QAbstractItemDelegate
+ size=16 align=8
+ base size=16 base align=8
+QAbstractItemDelegate (0x7faaa8e06af0) 0
+ vptr=((& QAbstractItemDelegate::_ZTV21QAbstractItemDelegate) + 16u)
+ QObject (0x7faaa8e06b60) 0
+ primary-for QAbstractItemDelegate (0x7faaa8e06af0)
+
+Vtable for QAbstractItemView
+QAbstractItemView::_ZTV17QAbstractItemView: 103u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QAbstractItemView)
+16 QAbstractItemView::metaObject
+24 QAbstractItemView::qt_metacast
+32 QAbstractItemView::qt_metacall
+40 QAbstractItemView::~QAbstractItemView
+48 QAbstractItemView::~QAbstractItemView
+56 QAbstractItemView::event
+64 QObject::eventFilter
+72 QAbstractItemView::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QAbstractScrollArea::sizeHint
+136 QAbstractScrollArea::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QAbstractItemView::mousePressEvent
+168 QAbstractItemView::mouseReleaseEvent
+176 QAbstractItemView::mouseDoubleClickEvent
+184 QAbstractItemView::mouseMoveEvent
+192 QAbstractScrollArea::wheelEvent
+200 QAbstractItemView::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QAbstractItemView::focusInEvent
+224 QAbstractItemView::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QAbstractScrollArea::paintEvent
+256 QWidget::moveEvent
+264 QAbstractItemView::resizeEvent
+272 QWidget::closeEvent
+280 QAbstractScrollArea::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QAbstractItemView::dragEnterEvent
+312 QAbstractItemView::dragMoveEvent
+320 QAbstractItemView::dragLeaveEvent
+328 QAbstractItemView::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QFrame::changeEvent
+368 QWidget::metric
+376 QAbstractItemView::inputMethodEvent
+384 QAbstractItemView::inputMethodQuery
+392 QAbstractItemView::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QAbstractItemView::viewportEvent
+456 QAbstractScrollArea::scrollContentsBy
+464 QAbstractItemView::setModel
+472 QAbstractItemView::setSelectionModel
+480 QAbstractItemView::keyboardSearch
+488 __cxa_pure_virtual
+496 __cxa_pure_virtual
+504 __cxa_pure_virtual
+512 QAbstractItemView::sizeHintForRow
+520 QAbstractItemView::sizeHintForColumn
+528 QAbstractItemView::reset
+536 QAbstractItemView::setRootIndex
+544 QAbstractItemView::doItemsLayout
+552 QAbstractItemView::selectAll
+560 QAbstractItemView::dataChanged
+568 QAbstractItemView::rowsInserted
+576 QAbstractItemView::rowsAboutToBeRemoved
+584 QAbstractItemView::selectionChanged
+592 QAbstractItemView::currentChanged
+600 QAbstractItemView::updateEditorData
+608 QAbstractItemView::updateEditorGeometries
+616 QAbstractItemView::updateGeometries
+624 QAbstractItemView::verticalScrollbarAction
+632 QAbstractItemView::horizontalScrollbarAction
+640 QAbstractItemView::verticalScrollbarValueChanged
+648 QAbstractItemView::horizontalScrollbarValueChanged
+656 QAbstractItemView::closeEditor
+664 QAbstractItemView::commitData
+672 QAbstractItemView::editorDestroyed
+680 __cxa_pure_virtual
+688 __cxa_pure_virtual
+696 __cxa_pure_virtual
+704 __cxa_pure_virtual
+712 __cxa_pure_virtual
+720 __cxa_pure_virtual
+728 QAbstractItemView::selectedIndexes
+736 QAbstractItemView::edit
+744 QAbstractItemView::selectionCommand
+752 QAbstractItemView::startDrag
+760 QAbstractItemView::viewOptions
+768 (int (*)(...))-0x00000000000000010
+776 (int (*)(...))(& _ZTI17QAbstractItemView)
+784 QAbstractItemView::_ZThn16_N17QAbstractItemViewD1Ev
+792 QAbstractItemView::_ZThn16_N17QAbstractItemViewD0Ev
+800 QWidget::_ZThn16_NK7QWidget7devTypeEv
+808 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+816 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QAbstractItemView
+ size=40 align=8
+ base size=40 base align=8
+QAbstractItemView (0x7faaa8e351c0) 0
+ vptr=((& QAbstractItemView::_ZTV17QAbstractItemView) + 16u)
+ QAbstractScrollArea (0x7faaa8e35230) 0
+ primary-for QAbstractItemView (0x7faaa8e351c0)
+ QFrame (0x7faaa8e352a0) 0
+ primary-for QAbstractScrollArea (0x7faaa8e35230)
+ QWidget (0x7faaa8e14d80) 0
+ primary-for QFrame (0x7faaa8e352a0)
+ QObject (0x7faaa8e35310) 0
+ primary-for QWidget (0x7faaa8e14d80)
+ QPaintDevice (0x7faaa8e35380) 16
+ vptr=((& QAbstractItemView::_ZTV17QAbstractItemView) + 784u)
+
+Vtable for QListView
+QListView::_ZTV9QListView: 103u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QListView)
+16 QListView::metaObject
+24 QListView::qt_metacast
+32 QListView::qt_metacall
+40 QListView::~QListView
+48 QListView::~QListView
+56 QListView::event
+64 QObject::eventFilter
+72 QListView::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QAbstractScrollArea::sizeHint
+136 QAbstractScrollArea::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QAbstractItemView::mousePressEvent
+168 QListView::mouseReleaseEvent
+176 QAbstractItemView::mouseDoubleClickEvent
+184 QListView::mouseMoveEvent
+192 QAbstractScrollArea::wheelEvent
+200 QAbstractItemView::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QAbstractItemView::focusInEvent
+224 QAbstractItemView::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QListView::paintEvent
+256 QWidget::moveEvent
+264 QListView::resizeEvent
+272 QWidget::closeEvent
+280 QAbstractScrollArea::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QAbstractItemView::dragEnterEvent
+312 QListView::dragMoveEvent
+320 QListView::dragLeaveEvent
+328 QListView::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QFrame::changeEvent
+368 QWidget::metric
+376 QAbstractItemView::inputMethodEvent
+384 QAbstractItemView::inputMethodQuery
+392 QAbstractItemView::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QAbstractItemView::viewportEvent
+456 QListView::scrollContentsBy
+464 QAbstractItemView::setModel
+472 QAbstractItemView::setSelectionModel
+480 QAbstractItemView::keyboardSearch
+488 QListView::visualRect
+496 QListView::scrollTo
+504 QListView::indexAt
+512 QAbstractItemView::sizeHintForRow
+520 QAbstractItemView::sizeHintForColumn
+528 QListView::reset
+536 QListView::setRootIndex
+544 QListView::doItemsLayout
+552 QAbstractItemView::selectAll
+560 QListView::dataChanged
+568 QListView::rowsInserted
+576 QListView::rowsAboutToBeRemoved
+584 QListView::selectionChanged
+592 QListView::currentChanged
+600 QAbstractItemView::updateEditorData
+608 QAbstractItemView::updateEditorGeometries
+616 QListView::updateGeometries
+624 QAbstractItemView::verticalScrollbarAction
+632 QAbstractItemView::horizontalScrollbarAction
+640 QAbstractItemView::verticalScrollbarValueChanged
+648 QAbstractItemView::horizontalScrollbarValueChanged
+656 QAbstractItemView::closeEditor
+664 QAbstractItemView::commitData
+672 QAbstractItemView::editorDestroyed
+680 QListView::moveCursor
+688 QListView::horizontalOffset
+696 QListView::verticalOffset
+704 QListView::isIndexHidden
+712 QListView::setSelection
+720 QListView::visualRegionForSelection
+728 QListView::selectedIndexes
+736 QAbstractItemView::edit
+744 QAbstractItemView::selectionCommand
+752 QListView::startDrag
+760 QListView::viewOptions
+768 (int (*)(...))-0x00000000000000010
+776 (int (*)(...))(& _ZTI9QListView)
+784 QListView::_ZThn16_N9QListViewD1Ev
+792 QListView::_ZThn16_N9QListViewD0Ev
+800 QWidget::_ZThn16_NK7QWidget7devTypeEv
+808 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+816 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QListView
+ size=40 align=8
+ base size=40 base align=8
+QListView (0x7faaa8eab9a0) 0
+ vptr=((& QListView::_ZTV9QListView) + 16u)
+ QAbstractItemView (0x7faaa8eaba10) 0
+ primary-for QListView (0x7faaa8eab9a0)
+ QAbstractScrollArea (0x7faaa8eaba80) 0
+ primary-for QAbstractItemView (0x7faaa8eaba10)
+ QFrame (0x7faaa8eabaf0) 0
+ primary-for QAbstractScrollArea (0x7faaa8eaba80)
+ QWidget (0x7faaa8e95500) 0
+ primary-for QFrame (0x7faaa8eabaf0)
+ QObject (0x7faaa8eabb60) 0
+ primary-for QWidget (0x7faaa8e95500)
+ QPaintDevice (0x7faaa8eabbd0) 16
+ vptr=((& QListView::_ZTV9QListView) + 784u)
+
+Vtable for QUndoView
+QUndoView::_ZTV9QUndoView: 103u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QUndoView)
+16 QUndoView::metaObject
+24 QUndoView::qt_metacast
+32 QUndoView::qt_metacall
+40 QUndoView::~QUndoView
+48 QUndoView::~QUndoView
+56 QListView::event
+64 QObject::eventFilter
+72 QListView::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QAbstractScrollArea::sizeHint
+136 QAbstractScrollArea::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QAbstractItemView::mousePressEvent
+168 QListView::mouseReleaseEvent
+176 QAbstractItemView::mouseDoubleClickEvent
+184 QListView::mouseMoveEvent
+192 QAbstractScrollArea::wheelEvent
+200 QAbstractItemView::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QAbstractItemView::focusInEvent
+224 QAbstractItemView::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QListView::paintEvent
+256 QWidget::moveEvent
+264 QListView::resizeEvent
+272 QWidget::closeEvent
+280 QAbstractScrollArea::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QAbstractItemView::dragEnterEvent
+312 QListView::dragMoveEvent
+320 QListView::dragLeaveEvent
+328 QListView::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QFrame::changeEvent
+368 QWidget::metric
+376 QAbstractItemView::inputMethodEvent
+384 QAbstractItemView::inputMethodQuery
+392 QAbstractItemView::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QAbstractItemView::viewportEvent
+456 QListView::scrollContentsBy
+464 QAbstractItemView::setModel
+472 QAbstractItemView::setSelectionModel
+480 QAbstractItemView::keyboardSearch
+488 QListView::visualRect
+496 QListView::scrollTo
+504 QListView::indexAt
+512 QAbstractItemView::sizeHintForRow
+520 QAbstractItemView::sizeHintForColumn
+528 QListView::reset
+536 QListView::setRootIndex
+544 QListView::doItemsLayout
+552 QAbstractItemView::selectAll
+560 QListView::dataChanged
+568 QListView::rowsInserted
+576 QListView::rowsAboutToBeRemoved
+584 QListView::selectionChanged
+592 QListView::currentChanged
+600 QAbstractItemView::updateEditorData
+608 QAbstractItemView::updateEditorGeometries
+616 QListView::updateGeometries
+624 QAbstractItemView::verticalScrollbarAction
+632 QAbstractItemView::horizontalScrollbarAction
+640 QAbstractItemView::verticalScrollbarValueChanged
+648 QAbstractItemView::horizontalScrollbarValueChanged
+656 QAbstractItemView::closeEditor
+664 QAbstractItemView::commitData
+672 QAbstractItemView::editorDestroyed
+680 QListView::moveCursor
+688 QListView::horizontalOffset
+696 QListView::verticalOffset
+704 QListView::isIndexHidden
+712 QListView::setSelection
+720 QListView::visualRegionForSelection
+728 QListView::selectedIndexes
+736 QAbstractItemView::edit
+744 QAbstractItemView::selectionCommand
+752 QListView::startDrag
+760 QListView::viewOptions
+768 (int (*)(...))-0x00000000000000010
+776 (int (*)(...))(& _ZTI9QUndoView)
+784 QUndoView::_ZThn16_N9QUndoViewD1Ev
+792 QUndoView::_ZThn16_N9QUndoViewD0Ev
+800 QWidget::_ZThn16_NK7QWidget7devTypeEv
+808 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+816 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QUndoView
+ size=40 align=8
+ base size=40 base align=8
+QUndoView (0x7faaa8cf8070) 0
+ vptr=((& QUndoView::_ZTV9QUndoView) + 16u)
+ QListView (0x7faaa8cf80e0) 0
+ primary-for QUndoView (0x7faaa8cf8070)
+ QAbstractItemView (0x7faaa8cf8150) 0
+ primary-for QListView (0x7faaa8cf80e0)
+ QAbstractScrollArea (0x7faaa8cf81c0) 0
+ primary-for QAbstractItemView (0x7faaa8cf8150)
+ QFrame (0x7faaa8cf8230) 0
+ primary-for QAbstractScrollArea (0x7faaa8cf81c0)
+ QWidget (0x7faaa8cf2500) 0
+ primary-for QFrame (0x7faaa8cf8230)
+ QObject (0x7faaa8cf82a0) 0
+ primary-for QWidget (0x7faaa8cf2500)
+ QPaintDevice (0x7faaa8cf8310) 16
+ vptr=((& QUndoView::_ZTV9QUndoView) + 784u)
+
+Vtable for QDialog
+QDialog::_ZTV7QDialog: 66u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QDialog)
+16 QDialog::metaObject
+24 QDialog::qt_metacast
+32 QDialog::qt_metacall
+40 QDialog::~QDialog
+48 QDialog::~QDialog
+56 QWidget::event
+64 QDialog::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QDialog::setVisible
+128 QDialog::sizeHint
+136 QDialog::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QDialog::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QWidget::paintEvent
+256 QWidget::moveEvent
+264 QDialog::resizeEvent
+272 QDialog::closeEvent
+280 QDialog::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QDialog::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QWidget::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QDialog::done
+456 QDialog::accept
+464 QDialog::reject
+472 (int (*)(...))-0x00000000000000010
+480 (int (*)(...))(& _ZTI7QDialog)
+488 QDialog::_ZThn16_N7QDialogD1Ev
+496 QDialog::_ZThn16_N7QDialogD0Ev
+504 QWidget::_ZThn16_NK7QWidget7devTypeEv
+512 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+520 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QDialog
+ size=40 align=8
+ base size=40 base align=8
+QDialog (0x7faaa8d10d20) 0
+ vptr=((& QDialog::_ZTV7QDialog) + 16u)
+ QWidget (0x7faaa8cf2f00) 0
+ primary-for QDialog (0x7faaa8d10d20)
+ QObject (0x7faaa8d10d90) 0
+ primary-for QWidget (0x7faaa8cf2f00)
+ QPaintDevice (0x7faaa8d10e00) 16
+ vptr=((& QDialog::_ZTV7QDialog) + 488u)
+
+Vtable for QAbstractPageSetupDialog
+QAbstractPageSetupDialog::_ZTV24QAbstractPageSetupDialog: 67u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI24QAbstractPageSetupDialog)
+16 QAbstractPageSetupDialog::metaObject
+24 QAbstractPageSetupDialog::qt_metacast
+32 QAbstractPageSetupDialog::qt_metacall
+40 QAbstractPageSetupDialog::~QAbstractPageSetupDialog
+48 QAbstractPageSetupDialog::~QAbstractPageSetupDialog
+56 QWidget::event
+64 QDialog::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QDialog::setVisible
+128 QDialog::sizeHint
+136 QDialog::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QDialog::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QWidget::paintEvent
+256 QWidget::moveEvent
+264 QDialog::resizeEvent
+272 QDialog::closeEvent
+280 QDialog::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QDialog::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QWidget::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QAbstractPageSetupDialog::done
+456 QDialog::accept
+464 QDialog::reject
+472 __cxa_pure_virtual
+480 (int (*)(...))-0x00000000000000010
+488 (int (*)(...))(& _ZTI24QAbstractPageSetupDialog)
+496 QAbstractPageSetupDialog::_ZThn16_N24QAbstractPageSetupDialogD1Ev
+504 QAbstractPageSetupDialog::_ZThn16_N24QAbstractPageSetupDialogD0Ev
+512 QWidget::_ZThn16_NK7QWidget7devTypeEv
+520 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+528 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QAbstractPageSetupDialog
+ size=40 align=8
+ base size=40 base align=8
+QAbstractPageSetupDialog (0x7faaa8d38b60) 0
+ vptr=((& QAbstractPageSetupDialog::_ZTV24QAbstractPageSetupDialog) + 16u)
+ QDialog (0x7faaa8d38bd0) 0
+ primary-for QAbstractPageSetupDialog (0x7faaa8d38b60)
+ QWidget (0x7faaa8d18a00) 0
+ primary-for QDialog (0x7faaa8d38bd0)
+ QObject (0x7faaa8d38c40) 0
+ primary-for QWidget (0x7faaa8d18a00)
+ QPaintDevice (0x7faaa8d38cb0) 16
+ vptr=((& QAbstractPageSetupDialog::_ZTV24QAbstractPageSetupDialog) + 496u)
+
+Vtable for QAbstractPrintDialog
+QAbstractPrintDialog::_ZTV20QAbstractPrintDialog: 67u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI20QAbstractPrintDialog)
+16 QAbstractPrintDialog::metaObject
+24 QAbstractPrintDialog::qt_metacast
+32 QAbstractPrintDialog::qt_metacall
+40 QAbstractPrintDialog::~QAbstractPrintDialog
+48 QAbstractPrintDialog::~QAbstractPrintDialog
+56 QWidget::event
+64 QDialog::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QDialog::setVisible
+128 QDialog::sizeHint
+136 QDialog::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QDialog::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QWidget::paintEvent
+256 QWidget::moveEvent
+264 QDialog::resizeEvent
+272 QDialog::closeEvent
+280 QDialog::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QDialog::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QWidget::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QDialog::done
+456 QDialog::accept
+464 QDialog::reject
+472 __cxa_pure_virtual
+480 (int (*)(...))-0x00000000000000010
+488 (int (*)(...))(& _ZTI20QAbstractPrintDialog)
+496 QAbstractPrintDialog::_ZThn16_N20QAbstractPrintDialogD1Ev
+504 QAbstractPrintDialog::_ZThn16_N20QAbstractPrintDialogD0Ev
+512 QWidget::_ZThn16_NK7QWidget7devTypeEv
+520 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+528 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QAbstractPrintDialog
+ size=40 align=8
+ base size=40 base align=8
+QAbstractPrintDialog (0x7faaa8d57150) 0
+ vptr=((& QAbstractPrintDialog::_ZTV20QAbstractPrintDialog) + 16u)
+ QDialog (0x7faaa8d571c0) 0
+ primary-for QAbstractPrintDialog (0x7faaa8d57150)
+ QWidget (0x7faaa8d4f400) 0
+ primary-for QDialog (0x7faaa8d571c0)
+ QObject (0x7faaa8d57230) 0
+ primary-for QWidget (0x7faaa8d4f400)
+ QPaintDevice (0x7faaa8d572a0) 16
+ vptr=((& QAbstractPrintDialog::_ZTV20QAbstractPrintDialog) + 496u)
+
+Vtable for QColorDialog
+QColorDialog::_ZTV12QColorDialog: 66u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QColorDialog)
+16 QColorDialog::metaObject
+24 QColorDialog::qt_metacast
+32 QColorDialog::qt_metacall
+40 QColorDialog::~QColorDialog
+48 QColorDialog::~QColorDialog
+56 QWidget::event
+64 QDialog::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QColorDialog::setVisible
+128 QDialog::sizeHint
+136 QDialog::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QDialog::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QWidget::paintEvent
+256 QWidget::moveEvent
+264 QDialog::resizeEvent
+272 QDialog::closeEvent
+280 QDialog::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QDialog::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QColorDialog::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QColorDialog::done
+456 QDialog::accept
+464 QDialog::reject
+472 (int (*)(...))-0x00000000000000010
+480 (int (*)(...))(& _ZTI12QColorDialog)
+488 QColorDialog::_ZThn16_N12QColorDialogD1Ev
+496 QColorDialog::_ZThn16_N12QColorDialogD0Ev
+504 QWidget::_ZThn16_NK7QWidget7devTypeEv
+512 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+520 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QColorDialog
+ size=40 align=8
+ base size=40 base align=8
+QColorDialog (0x7faaa8db3230) 0
+ vptr=((& QColorDialog::_ZTV12QColorDialog) + 16u)
+ QDialog (0x7faaa8db32a0) 0
+ primary-for QColorDialog (0x7faaa8db3230)
+ QWidget (0x7faaa8d73880) 0
+ primary-for QDialog (0x7faaa8db32a0)
+ QObject (0x7faaa8db3310) 0
+ primary-for QWidget (0x7faaa8d73880)
+ QPaintDevice (0x7faaa8db3380) 16
+ vptr=((& QColorDialog::_ZTV12QColorDialog) + 488u)
+
+Vtable for QErrorMessage
+QErrorMessage::_ZTV13QErrorMessage: 66u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QErrorMessage)
+16 QErrorMessage::metaObject
+24 QErrorMessage::qt_metacast
+32 QErrorMessage::qt_metacall
+40 QErrorMessage::~QErrorMessage
+48 QErrorMessage::~QErrorMessage
+56 QWidget::event
+64 QDialog::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QDialog::setVisible
+128 QDialog::sizeHint
+136 QDialog::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QDialog::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QWidget::paintEvent
+256 QWidget::moveEvent
+264 QDialog::resizeEvent
+272 QDialog::closeEvent
+280 QDialog::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QDialog::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QErrorMessage::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QErrorMessage::done
+456 QDialog::accept
+464 QDialog::reject
+472 (int (*)(...))-0x00000000000000010
+480 (int (*)(...))(& _ZTI13QErrorMessage)
+488 QErrorMessage::_ZThn16_N13QErrorMessageD1Ev
+496 QErrorMessage::_ZThn16_N13QErrorMessageD0Ev
+504 QWidget::_ZThn16_NK7QWidget7devTypeEv
+512 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+520 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QErrorMessage
+ size=40 align=8
+ base size=40 base align=8
+QErrorMessage (0x7faaa8c135b0) 0
+ vptr=((& QErrorMessage::_ZTV13QErrorMessage) + 16u)
+ QDialog (0x7faaa8c13620) 0
+ primary-for QErrorMessage (0x7faaa8c135b0)
+ QWidget (0x7faaa8ddbc00) 0
+ primary-for QDialog (0x7faaa8c13620)
+ QObject (0x7faaa8c13690) 0
+ primary-for QWidget (0x7faaa8ddbc00)
+ QPaintDevice (0x7faaa8c13700) 16
+ vptr=((& QErrorMessage::_ZTV13QErrorMessage) + 488u)
+
+Vtable for QFileDialog
+QFileDialog::_ZTV11QFileDialog: 66u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QFileDialog)
+16 QFileDialog::metaObject
+24 QFileDialog::qt_metacast
+32 QFileDialog::qt_metacall
+40 QFileDialog::~QFileDialog
+48 QFileDialog::~QFileDialog
+56 QWidget::event
+64 QDialog::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QFileDialog::setVisible
+128 QDialog::sizeHint
+136 QDialog::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QDialog::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QWidget::paintEvent
+256 QWidget::moveEvent
+264 QDialog::resizeEvent
+272 QDialog::closeEvent
+280 QDialog::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QDialog::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QFileDialog::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QFileDialog::done
+456 QFileDialog::accept
+464 QDialog::reject
+472 (int (*)(...))-0x00000000000000010
+480 (int (*)(...))(& _ZTI11QFileDialog)
+488 QFileDialog::_ZThn16_N11QFileDialogD1Ev
+496 QFileDialog::_ZThn16_N11QFileDialogD0Ev
+504 QWidget::_ZThn16_NK7QWidget7devTypeEv
+512 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+520 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QFileDialog
+ size=40 align=8
+ base size=40 base align=8
+QFileDialog (0x7faaa8c311c0) 0
+ vptr=((& QFileDialog::_ZTV11QFileDialog) + 16u)
+ QDialog (0x7faaa8c31230) 0
+ primary-for QFileDialog (0x7faaa8c311c0)
+ QWidget (0x7faaa8c28780) 0
+ primary-for QDialog (0x7faaa8c31230)
+ QObject (0x7faaa8c312a0) 0
+ primary-for QWidget (0x7faaa8c28780)
+ QPaintDevice (0x7faaa8c31310) 16
+ vptr=((& QFileDialog::_ZTV11QFileDialog) + 488u)
+
+Vtable for QFileSystemModel
+QFileSystemModel::_ZTV16QFileSystemModel: 42u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QFileSystemModel)
+16 QFileSystemModel::metaObject
+24 QFileSystemModel::qt_metacast
+32 QFileSystemModel::qt_metacall
+40 QFileSystemModel::~QFileSystemModel
+48 QFileSystemModel::~QFileSystemModel
+56 QFileSystemModel::event
+64 QObject::eventFilter
+72 QFileSystemModel::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QFileSystemModel::index
+120 QFileSystemModel::parent
+128 QFileSystemModel::rowCount
+136 QFileSystemModel::columnCount
+144 QFileSystemModel::hasChildren
+152 QFileSystemModel::data
+160 QFileSystemModel::setData
+168 QFileSystemModel::headerData
+176 QAbstractItemModel::setHeaderData
+184 QAbstractItemModel::itemData
+192 QAbstractItemModel::setItemData
+200 QFileSystemModel::mimeTypes
+208 QFileSystemModel::mimeData
+216 QFileSystemModel::dropMimeData
+224 QFileSystemModel::supportedDropActions
+232 QAbstractItemModel::insertRows
+240 QAbstractItemModel::insertColumns
+248 QAbstractItemModel::removeRows
+256 QAbstractItemModel::removeColumns
+264 QFileSystemModel::fetchMore
+272 QFileSystemModel::canFetchMore
+280 QFileSystemModel::flags
+288 QFileSystemModel::sort
+296 QAbstractItemModel::buddy
+304 QAbstractItemModel::match
+312 QAbstractItemModel::span
+320 QAbstractItemModel::submit
+328 QAbstractItemModel::revert
+
+Class QFileSystemModel
+ size=16 align=8
+ base size=16 base align=8
+QFileSystemModel (0x7faaa8cad770) 0
+ vptr=((& QFileSystemModel::_ZTV16QFileSystemModel) + 16u)
+ QAbstractItemModel (0x7faaa8cad7e0) 0
+ primary-for QFileSystemModel (0x7faaa8cad770)
+ QObject (0x7faaa8cad850) 0
+ primary-for QAbstractItemModel (0x7faaa8cad7e0)
+
+Vtable for QFontDialog
+QFontDialog::_ZTV11QFontDialog: 66u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QFontDialog)
+16 QFontDialog::metaObject
+24 QFontDialog::qt_metacast
+32 QFontDialog::qt_metacall
+40 QFontDialog::~QFontDialog
+48 QFontDialog::~QFontDialog
+56 QWidget::event
+64 QFontDialog::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QFontDialog::setVisible
+128 QDialog::sizeHint
+136 QDialog::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QDialog::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QWidget::paintEvent
+256 QWidget::moveEvent
+264 QDialog::resizeEvent
+272 QDialog::closeEvent
+280 QDialog::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QDialog::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QFontDialog::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QFontDialog::done
+456 QDialog::accept
+464 QDialog::reject
+472 (int (*)(...))-0x00000000000000010
+480 (int (*)(...))(& _ZTI11QFontDialog)
+488 QFontDialog::_ZThn16_N11QFontDialogD1Ev
+496 QFontDialog::_ZThn16_N11QFontDialogD0Ev
+504 QWidget::_ZThn16_NK7QWidget7devTypeEv
+512 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+520 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QFontDialog
+ size=40 align=8
+ base size=40 base align=8
+QFontDialog (0x7faaa8af0e70) 0
+ vptr=((& QFontDialog::_ZTV11QFontDialog) + 16u)
+ QDialog (0x7faaa8af0ee0) 0
+ primary-for QFontDialog (0x7faaa8af0e70)
+ QWidget (0x7faaa8af9500) 0
+ primary-for QDialog (0x7faaa8af0ee0)
+ QObject (0x7faaa8af0f50) 0
+ primary-for QWidget (0x7faaa8af9500)
+ QPaintDevice (0x7faaa8aff000) 16
+ vptr=((& QFontDialog::_ZTV11QFontDialog) + 488u)
+
+Vtable for QLineEdit
+QLineEdit::_ZTV9QLineEdit: 63u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QLineEdit)
+16 QLineEdit::metaObject
+24 QLineEdit::qt_metacast
+32 QLineEdit::qt_metacall
+40 QLineEdit::~QLineEdit
+48 QLineEdit::~QLineEdit
+56 QLineEdit::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QLineEdit::sizeHint
+136 QLineEdit::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QLineEdit::mousePressEvent
+168 QLineEdit::mouseReleaseEvent
+176 QLineEdit::mouseDoubleClickEvent
+184 QLineEdit::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QLineEdit::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QLineEdit::focusInEvent
+224 QLineEdit::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QLineEdit::paintEvent
+256 QWidget::moveEvent
+264 QWidget::resizeEvent
+272 QWidget::closeEvent
+280 QLineEdit::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QLineEdit::dragEnterEvent
+312 QLineEdit::dragMoveEvent
+320 QLineEdit::dragLeaveEvent
+328 QLineEdit::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QLineEdit::changeEvent
+368 QWidget::metric
+376 QLineEdit::inputMethodEvent
+384 QLineEdit::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 (int (*)(...))-0x00000000000000010
+456 (int (*)(...))(& _ZTI9QLineEdit)
+464 QLineEdit::_ZThn16_N9QLineEditD1Ev
+472 QLineEdit::_ZThn16_N9QLineEditD0Ev
+480 QWidget::_ZThn16_NK7QWidget7devTypeEv
+488 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+496 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QLineEdit
+ size=40 align=8
+ base size=40 base align=8
+QLineEdit (0x7faaa8b60310) 0
+ vptr=((& QLineEdit::_ZTV9QLineEdit) + 16u)
+ QWidget (0x7faaa8b22800) 0
+ primary-for QLineEdit (0x7faaa8b60310)
+ QObject (0x7faaa8b60380) 0
+ primary-for QWidget (0x7faaa8b22800)
+ QPaintDevice (0x7faaa8b603f0) 16
+ vptr=((& QLineEdit::_ZTV9QLineEdit) + 464u)
+
+Vtable for QInputDialog
+QInputDialog::_ZTV12QInputDialog: 66u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QInputDialog)
+16 QInputDialog::metaObject
+24 QInputDialog::qt_metacast
+32 QInputDialog::qt_metacall
+40 QInputDialog::~QInputDialog
+48 QInputDialog::~QInputDialog
+56 QWidget::event
+64 QDialog::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QInputDialog::setVisible
+128 QInputDialog::sizeHint
+136 QInputDialog::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QDialog::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QWidget::paintEvent
+256 QWidget::moveEvent
+264 QDialog::resizeEvent
+272 QDialog::closeEvent
+280 QDialog::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QDialog::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QWidget::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QInputDialog::done
+456 QDialog::accept
+464 QDialog::reject
+472 (int (*)(...))-0x00000000000000010
+480 (int (*)(...))(& _ZTI12QInputDialog)
+488 QInputDialog::_ZThn16_N12QInputDialogD1Ev
+496 QInputDialog::_ZThn16_N12QInputDialogD0Ev
+504 QWidget::_ZThn16_NK7QWidget7devTypeEv
+512 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+520 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QInputDialog
+ size=40 align=8
+ base size=40 base align=8
+QInputDialog (0x7faaa8bb1070) 0
+ vptr=((& QInputDialog::_ZTV12QInputDialog) + 16u)
+ QDialog (0x7faaa8bb10e0) 0
+ primary-for QInputDialog (0x7faaa8bb1070)
+ QWidget (0x7faaa8bac780) 0
+ primary-for QDialog (0x7faaa8bb10e0)
+ QObject (0x7faaa8bb1150) 0
+ primary-for QWidget (0x7faaa8bac780)
+ QPaintDevice (0x7faaa8bb11c0) 16
+ vptr=((& QInputDialog::_ZTV12QInputDialog) + 488u)
+
+Vtable for QMessageBox
+QMessageBox::_ZTV11QMessageBox: 66u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QMessageBox)
+16 QMessageBox::metaObject
+24 QMessageBox::qt_metacast
+32 QMessageBox::qt_metacall
+40 QMessageBox::~QMessageBox
+48 QMessageBox::~QMessageBox
+56 QMessageBox::event
+64 QDialog::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QDialog::setVisible
+128 QMessageBox::sizeHint
+136 QDialog::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QMessageBox::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QWidget::paintEvent
+256 QWidget::moveEvent
+264 QMessageBox::resizeEvent
+272 QMessageBox::closeEvent
+280 QDialog::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QMessageBox::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QMessageBox::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QDialog::done
+456 QDialog::accept
+464 QDialog::reject
+472 (int (*)(...))-0x00000000000000010
+480 (int (*)(...))(& _ZTI11QMessageBox)
+488 QMessageBox::_ZThn16_N11QMessageBoxD1Ev
+496 QMessageBox::_ZThn16_N11QMessageBoxD0Ev
+504 QWidget::_ZThn16_NK7QWidget7devTypeEv
+512 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+520 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QMessageBox
+ size=40 align=8
+ base size=40 base align=8
+QMessageBox (0x7faaa8a0fee0) 0
+ vptr=((& QMessageBox::_ZTV11QMessageBox) + 16u)
+ QDialog (0x7faaa8a0ff50) 0
+ primary-for QMessageBox (0x7faaa8a0fee0)
+ QWidget (0x7faaa8a28100) 0
+ primary-for QDialog (0x7faaa8a0ff50)
+ QObject (0x7faaa8a2a000) 0
+ primary-for QWidget (0x7faaa8a28100)
+ QPaintDevice (0x7faaa8a2a070) 16
+ vptr=((& QMessageBox::_ZTV11QMessageBox) + 488u)
+
+Vtable for QPageSetupDialog
+QPageSetupDialog::_ZTV16QPageSetupDialog: 67u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QPageSetupDialog)
+16 QPageSetupDialog::metaObject
+24 QPageSetupDialog::qt_metacast
+32 QPageSetupDialog::qt_metacall
+40 QPageSetupDialog::~QPageSetupDialog
+48 QPageSetupDialog::~QPageSetupDialog
+56 QWidget::event
+64 QDialog::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QDialog::setVisible
+128 QDialog::sizeHint
+136 QDialog::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QDialog::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QWidget::paintEvent
+256 QWidget::moveEvent
+264 QDialog::resizeEvent
+272 QDialog::closeEvent
+280 QDialog::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QDialog::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QWidget::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QAbstractPageSetupDialog::done
+456 QDialog::accept
+464 QDialog::reject
+472 QPageSetupDialog::exec
+480 (int (*)(...))-0x00000000000000010
+488 (int (*)(...))(& _ZTI16QPageSetupDialog)
+496 QPageSetupDialog::_ZThn16_N16QPageSetupDialogD1Ev
+504 QPageSetupDialog::_ZThn16_N16QPageSetupDialogD0Ev
+512 QWidget::_ZThn16_NK7QWidget7devTypeEv
+520 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+528 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QPageSetupDialog
+ size=40 align=8
+ base size=40 base align=8
+QPageSetupDialog (0x7faaa8aa9850) 0
+ vptr=((& QPageSetupDialog::_ZTV16QPageSetupDialog) + 16u)
+ QAbstractPageSetupDialog (0x7faaa8aa98c0) 0
+ primary-for QPageSetupDialog (0x7faaa8aa9850)
+ QDialog (0x7faaa8aa9930) 0
+ primary-for QAbstractPageSetupDialog (0x7faaa8aa98c0)
+ QWidget (0x7faaa8a8e800) 0
+ primary-for QDialog (0x7faaa8aa9930)
+ QObject (0x7faaa8aa99a0) 0
+ primary-for QWidget (0x7faaa8a8e800)
+ QPaintDevice (0x7faaa8aa9a10) 16
+ vptr=((& QPageSetupDialog::_ZTV16QPageSetupDialog) + 496u)
+
+Vtable for QUnixPrintWidget
+QUnixPrintWidget::_ZTV16QUnixPrintWidget: 63u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QUnixPrintWidget)
+16 QUnixPrintWidget::metaObject
+24 QUnixPrintWidget::qt_metacast
+32 QUnixPrintWidget::qt_metacall
+40 QUnixPrintWidget::~QUnixPrintWidget
+48 QUnixPrintWidget::~QUnixPrintWidget
+56 QWidget::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QWidget::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QWidget::paintEvent
+256 QWidget::moveEvent
+264 QWidget::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QWidget::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 (int (*)(...))-0x00000000000000010
+456 (int (*)(...))(& _ZTI16QUnixPrintWidget)
+464 QUnixPrintWidget::_ZThn16_N16QUnixPrintWidgetD1Ev
+472 QUnixPrintWidget::_ZThn16_N16QUnixPrintWidgetD0Ev
+480 QWidget::_ZThn16_NK7QWidget7devTypeEv
+488 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+496 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QUnixPrintWidget
+ size=48 align=8
+ base size=48 base align=8
+QUnixPrintWidget (0x7faaa8ade7e0) 0
+ vptr=((& QUnixPrintWidget::_ZTV16QUnixPrintWidget) + 16u)
+ QWidget (0x7faaa8add380) 0
+ primary-for QUnixPrintWidget (0x7faaa8ade7e0)
+ QObject (0x7faaa8ade850) 0
+ primary-for QWidget (0x7faaa8add380)
+ QPaintDevice (0x7faaa8ade8c0) 16
+ vptr=((& QUnixPrintWidget::_ZTV16QUnixPrintWidget) + 464u)
+
+Vtable for QPrintDialog
+QPrintDialog::_ZTV12QPrintDialog: 67u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QPrintDialog)
+16 QPrintDialog::metaObject
+24 QPrintDialog::qt_metacast
+32 QPrintDialog::qt_metacall
+40 QPrintDialog::~QPrintDialog
+48 QPrintDialog::~QPrintDialog
+56 QWidget::event
+64 QDialog::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QPrintDialog::setVisible
+128 QDialog::sizeHint
+136 QDialog::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QDialog::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QWidget::paintEvent
+256 QWidget::moveEvent
+264 QDialog::resizeEvent
+272 QDialog::closeEvent
+280 QDialog::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QDialog::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QWidget::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QPrintDialog::done
+456 QPrintDialog::accept
+464 QDialog::reject
+472 QPrintDialog::exec
+480 (int (*)(...))-0x00000000000000010
+488 (int (*)(...))(& _ZTI12QPrintDialog)
+496 QPrintDialog::_ZThn16_N12QPrintDialogD1Ev
+504 QPrintDialog::_ZThn16_N12QPrintDialogD0Ev
+512 QWidget::_ZThn16_NK7QWidget7devTypeEv
+520 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+528 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QPrintDialog
+ size=40 align=8
+ base size=40 base align=8
+QPrintDialog (0x7faaa88f4700) 0
+ vptr=((& QPrintDialog::_ZTV12QPrintDialog) + 16u)
+ QAbstractPrintDialog (0x7faaa88f4770) 0
+ primary-for QPrintDialog (0x7faaa88f4700)
+ QDialog (0x7faaa88f47e0) 0
+ primary-for QAbstractPrintDialog (0x7faaa88f4770)
+ QWidget (0x7faaa8adda80) 0
+ primary-for QDialog (0x7faaa88f47e0)
+ QObject (0x7faaa88f4850) 0
+ primary-for QWidget (0x7faaa8adda80)
+ QPaintDevice (0x7faaa88f48c0) 16
+ vptr=((& QPrintDialog::_ZTV12QPrintDialog) + 496u)
+
+Vtable for QPrintPreviewDialog
+QPrintPreviewDialog::_ZTV19QPrintPreviewDialog: 66u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QPrintPreviewDialog)
+16 QPrintPreviewDialog::metaObject
+24 QPrintPreviewDialog::qt_metacast
+32 QPrintPreviewDialog::qt_metacall
+40 QPrintPreviewDialog::~QPrintPreviewDialog
+48 QPrintPreviewDialog::~QPrintPreviewDialog
+56 QWidget::event
+64 QDialog::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QPrintPreviewDialog::setVisible
+128 QDialog::sizeHint
+136 QDialog::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QDialog::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QWidget::paintEvent
+256 QWidget::moveEvent
+264 QDialog::resizeEvent
+272 QDialog::closeEvent
+280 QDialog::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QDialog::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QWidget::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QPrintPreviewDialog::done
+456 QDialog::accept
+464 QDialog::reject
+472 (int (*)(...))-0x00000000000000010
+480 (int (*)(...))(& _ZTI19QPrintPreviewDialog)
+488 QPrintPreviewDialog::_ZThn16_N19QPrintPreviewDialogD1Ev
+496 QPrintPreviewDialog::_ZThn16_N19QPrintPreviewDialogD0Ev
+504 QWidget::_ZThn16_NK7QWidget7devTypeEv
+512 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+520 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QPrintPreviewDialog
+ size=48 align=8
+ base size=48 base align=8
+QPrintPreviewDialog (0x7faaa89122a0) 0
+ vptr=((& QPrintPreviewDialog::_ZTV19QPrintPreviewDialog) + 16u)
+ QDialog (0x7faaa8912310) 0
+ primary-for QPrintPreviewDialog (0x7faaa89122a0)
+ QWidget (0x7faaa890d480) 0
+ primary-for QDialog (0x7faaa8912310)
+ QObject (0x7faaa8912380) 0
+ primary-for QWidget (0x7faaa890d480)
+ QPaintDevice (0x7faaa89123f0) 16
+ vptr=((& QPrintPreviewDialog::_ZTV19QPrintPreviewDialog) + 488u)
+
+Vtable for QProgressDialog
+QProgressDialog::_ZTV15QProgressDialog: 66u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QProgressDialog)
+16 QProgressDialog::metaObject
+24 QProgressDialog::qt_metacast
+32 QProgressDialog::qt_metacall
+40 QProgressDialog::~QProgressDialog
+48 QProgressDialog::~QProgressDialog
+56 QWidget::event
+64 QDialog::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QDialog::setVisible
+128 QProgressDialog::sizeHint
+136 QDialog::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QDialog::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QWidget::paintEvent
+256 QWidget::moveEvent
+264 QProgressDialog::resizeEvent
+272 QProgressDialog::closeEvent
+280 QDialog::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QProgressDialog::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QProgressDialog::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QDialog::done
+456 QDialog::accept
+464 QDialog::reject
+472 (int (*)(...))-0x00000000000000010
+480 (int (*)(...))(& _ZTI15QProgressDialog)
+488 QProgressDialog::_ZThn16_N15QProgressDialogD1Ev
+496 QProgressDialog::_ZThn16_N15QProgressDialogD0Ev
+504 QWidget::_ZThn16_NK7QWidget7devTypeEv
+512 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+520 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QProgressDialog
+ size=40 align=8
+ base size=40 base align=8
+QProgressDialog (0x7faaa892aa10) 0
+ vptr=((& QProgressDialog::_ZTV15QProgressDialog) + 16u)
+ QDialog (0x7faaa892aa80) 0
+ primary-for QProgressDialog (0x7faaa892aa10)
+ QWidget (0x7faaa890de80) 0
+ primary-for QDialog (0x7faaa892aa80)
+ QObject (0x7faaa892aaf0) 0
+ primary-for QWidget (0x7faaa890de80)
+ QPaintDevice (0x7faaa892ab60) 16
+ vptr=((& QProgressDialog::_ZTV15QProgressDialog) + 488u)
+
+Vtable for QWizard
+QWizard::_ZTV7QWizard: 70u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QWizard)
+16 QWizard::metaObject
+24 QWizard::qt_metacast
+32 QWizard::qt_metacall
+40 QWizard::~QWizard
+48 QWizard::~QWizard
+56 QWizard::event
+64 QDialog::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWizard::setVisible
+128 QWizard::sizeHint
+136 QDialog::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QDialog::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QWizard::paintEvent
+256 QWidget::moveEvent
+264 QWizard::resizeEvent
+272 QDialog::closeEvent
+280 QDialog::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QDialog::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QWidget::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QWizard::done
+456 QDialog::accept
+464 QDialog::reject
+472 QWizard::validateCurrentPage
+480 QWizard::nextId
+488 QWizard::initializePage
+496 QWizard::cleanupPage
+504 (int (*)(...))-0x00000000000000010
+512 (int (*)(...))(& _ZTI7QWizard)
+520 QWizard::_ZThn16_N7QWizardD1Ev
+528 QWizard::_ZThn16_N7QWizardD0Ev
+536 QWidget::_ZThn16_NK7QWidget7devTypeEv
+544 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+552 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QWizard
+ size=40 align=8
+ base size=40 base align=8
+QWizard (0x7faaa8951620) 0
+ vptr=((& QWizard::_ZTV7QWizard) + 16u)
+ QDialog (0x7faaa8951690) 0
+ primary-for QWizard (0x7faaa8951620)
+ QWidget (0x7faaa8949880) 0
+ primary-for QDialog (0x7faaa8951690)
+ QObject (0x7faaa8951700) 0
+ primary-for QWidget (0x7faaa8949880)
+ QPaintDevice (0x7faaa8951770) 16
+ vptr=((& QWizard::_ZTV7QWizard) + 520u)
+
+Vtable for QWizardPage
+QWizardPage::_ZTV11QWizardPage: 68u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QWizardPage)
+16 QWizardPage::metaObject
+24 QWizardPage::qt_metacast
+32 QWizardPage::qt_metacall
+40 QWizardPage::~QWizardPage
+48 QWizardPage::~QWizardPage
+56 QWidget::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QWidget::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QWidget::paintEvent
+256 QWidget::moveEvent
+264 QWidget::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QWidget::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QWizardPage::initializePage
+456 QWizardPage::cleanupPage
+464 QWizardPage::validatePage
+472 QWizardPage::isComplete
+480 QWizardPage::nextId
+488 (int (*)(...))-0x00000000000000010
+496 (int (*)(...))(& _ZTI11QWizardPage)
+504 QWizardPage::_ZThn16_N11QWizardPageD1Ev
+512 QWizardPage::_ZThn16_N11QWizardPageD0Ev
+520 QWidget::_ZThn16_NK7QWidget7devTypeEv
+528 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+536 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QWizardPage
+ size=40 align=8
+ base size=40 base align=8
+QWizardPage (0x7faaa89a99a0) 0
+ vptr=((& QWizardPage::_ZTV11QWizardPage) + 16u)
+ QWidget (0x7faaa897cb80) 0
+ primary-for QWizardPage (0x7faaa89a99a0)
+ QObject (0x7faaa89a9a10) 0
+ primary-for QWidget (0x7faaa897cb80)
+ QPaintDevice (0x7faaa89a9a80) 16
+ vptr=((& QWizardPage::_ZTV11QWizardPage) + 504u)
+
+Vtable for QKeyEventTransition
+QKeyEventTransition::_ZTV19QKeyEventTransition: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QKeyEventTransition)
+16 QKeyEventTransition::metaObject
+24 QKeyEventTransition::qt_metacast
+32 QKeyEventTransition::qt_metacall
+40 QKeyEventTransition::~QKeyEventTransition
+48 QKeyEventTransition::~QKeyEventTransition
+56 QEventTransition::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QKeyEventTransition::eventTest
+120 QKeyEventTransition::onTransition
+
+Class QKeyEventTransition
+ size=16 align=8
+ base size=16 base align=8
+QKeyEventTransition (0x7faaa89e04d0) 0
+ vptr=((& QKeyEventTransition::_ZTV19QKeyEventTransition) + 16u)
+ QEventTransition (0x7faaa89e0540) 0
+ primary-for QKeyEventTransition (0x7faaa89e04d0)
+ QAbstractTransition (0x7faaa89e05b0) 0
+ primary-for QEventTransition (0x7faaa89e0540)
+ QObject (0x7faaa89e0620) 0
+ primary-for QAbstractTransition (0x7faaa89e05b0)
+
+Vtable for QMouseEventTransition
+QMouseEventTransition::_ZTV21QMouseEventTransition: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI21QMouseEventTransition)
+16 QMouseEventTransition::metaObject
+24 QMouseEventTransition::qt_metacast
+32 QMouseEventTransition::qt_metacall
+40 QMouseEventTransition::~QMouseEventTransition
+48 QMouseEventTransition::~QMouseEventTransition
+56 QEventTransition::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QMouseEventTransition::eventTest
+120 QMouseEventTransition::onTransition
+
+Class QMouseEventTransition
+ size=16 align=8
+ base size=16 base align=8
+QMouseEventTransition (0x7faaa87f2f50) 0
+ vptr=((& QMouseEventTransition::_ZTV21QMouseEventTransition) + 16u)
+ QEventTransition (0x7faaa87fc000) 0
+ primary-for QMouseEventTransition (0x7faaa87f2f50)
+ QAbstractTransition (0x7faaa87fc070) 0
+ primary-for QEventTransition (0x7faaa87fc000)
+ QObject (0x7faaa87fc0e0) 0
+ primary-for QAbstractTransition (0x7faaa87fc070)
+
+Vtable for QBitmap
+QBitmap::_ZTV7QBitmap: 7u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QBitmap)
+16 QBitmap::~QBitmap
+24 QBitmap::~QBitmap
+32 QPixmap::devType
+40 QPixmap::paintEngine
+48 QPixmap::metric
+
+Class QBitmap
+ size=24 align=8
+ base size=24 base align=8
+QBitmap (0x7faaa880fa10) 0
+ vptr=((& QBitmap::_ZTV7QBitmap) + 16u)
+ QPixmap (0x7faaa880fa80) 0
+ primary-for QBitmap (0x7faaa880fa10)
+ QPaintDevice (0x7faaa880faf0) 0
+ primary-for QPixmap (0x7faaa880fa80)
+
+Vtable for QIconEngine
+QIconEngine::_ZTV11QIconEngine: 9u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QIconEngine)
+16 QIconEngine::~QIconEngine
+24 QIconEngine::~QIconEngine
+32 __cxa_pure_virtual
+40 QIconEngine::actualSize
+48 QIconEngine::pixmap
+56 QIconEngine::addPixmap
+64 QIconEngine::addFile
+
+Class QIconEngine
+ size=8 align=8
+ base size=8 base align=8
+QIconEngine (0x7faaa88418c0) 0 nearly-empty
+ vptr=((& QIconEngine::_ZTV11QIconEngine) + 16u)
+
+Class QIconEngineV2::AvailableSizesArgument
+ size=16 align=8
+ base size=16 base align=8
+QIconEngineV2::AvailableSizesArgument (0x7faaa884d070) 0
+
+Vtable for QIconEngineV2
+QIconEngineV2::_ZTV13QIconEngineV2: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QIconEngineV2)
+16 QIconEngineV2::~QIconEngineV2
+24 QIconEngineV2::~QIconEngineV2
+32 __cxa_pure_virtual
+40 QIconEngine::actualSize
+48 QIconEngine::pixmap
+56 QIconEngine::addPixmap
+64 QIconEngine::addFile
+72 QIconEngineV2::key
+80 QIconEngineV2::clone
+88 QIconEngineV2::read
+96 QIconEngineV2::write
+104 QIconEngineV2::virtual_hook
+
+Class QIconEngineV2
+ size=8 align=8
+ base size=8 base align=8
+QIconEngineV2 (0x7faaa8841e70) 0 nearly-empty
+ vptr=((& QIconEngineV2::_ZTV13QIconEngineV2) + 16u)
+ QIconEngine (0x7faaa8841ee0) 0 nearly-empty
+ primary-for QIconEngineV2 (0x7faaa8841e70)
+
+Vtable for QIconEngineFactoryInterface
+QIconEngineFactoryInterface::_ZTV27QIconEngineFactoryInterface: 6u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI27QIconEngineFactoryInterface)
+16 QIconEngineFactoryInterface::~QIconEngineFactoryInterface
+24 QIconEngineFactoryInterface::~QIconEngineFactoryInterface
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+
+Class QIconEngineFactoryInterface
+ size=8 align=8
+ base size=8 base align=8
+QIconEngineFactoryInterface (0x7faaa884d850) 0 nearly-empty
+ vptr=((& QIconEngineFactoryInterface::_ZTV27QIconEngineFactoryInterface) + 16u)
+ QFactoryInterface (0x7faaa884d8c0) 0 nearly-empty
+ primary-for QIconEngineFactoryInterface (0x7faaa884d850)
+
+Vtable for QIconEnginePlugin
+QIconEnginePlugin::_ZTV17QIconEnginePlugin: 22u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QIconEnginePlugin)
+16 QIconEnginePlugin::metaObject
+24 QIconEnginePlugin::qt_metacast
+32 QIconEnginePlugin::qt_metacall
+40 QIconEnginePlugin::~QIconEnginePlugin
+48 QIconEnginePlugin::~QIconEnginePlugin
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 (int (*)(...))-0x00000000000000010
+136 (int (*)(...))(& _ZTI17QIconEnginePlugin)
+144 QIconEnginePlugin::_ZThn16_N17QIconEnginePluginD1Ev
+152 QIconEnginePlugin::_ZThn16_N17QIconEnginePluginD0Ev
+160 __cxa_pure_virtual
+168 __cxa_pure_virtual
+
+Class QIconEnginePlugin
+ size=24 align=8
+ base size=24 base align=8
+QIconEnginePlugin (0x7faaa8846f80) 0
+ vptr=((& QIconEnginePlugin::_ZTV17QIconEnginePlugin) + 16u)
+ QObject (0x7faaa88821c0) 0
+ primary-for QIconEnginePlugin (0x7faaa8846f80)
+ QIconEngineFactoryInterface (0x7faaa8882230) 16 nearly-empty
+ vptr=((& QIconEnginePlugin::_ZTV17QIconEnginePlugin) + 144u)
+ QFactoryInterface (0x7faaa88822a0) 16 nearly-empty
+ primary-for QIconEngineFactoryInterface (0x7faaa8882230)
+
+Vtable for QIconEngineFactoryInterfaceV2
+QIconEngineFactoryInterfaceV2::_ZTV29QIconEngineFactoryInterfaceV2: 6u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI29QIconEngineFactoryInterfaceV2)
+16 QIconEngineFactoryInterfaceV2::~QIconEngineFactoryInterfaceV2
+24 QIconEngineFactoryInterfaceV2::~QIconEngineFactoryInterfaceV2
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+
+Class QIconEngineFactoryInterfaceV2
+ size=8 align=8
+ base size=8 base align=8
+QIconEngineFactoryInterfaceV2 (0x7faaa8895150) 0 nearly-empty
+ vptr=((& QIconEngineFactoryInterfaceV2::_ZTV29QIconEngineFactoryInterfaceV2) + 16u)
+ QFactoryInterface (0x7faaa88951c0) 0 nearly-empty
+ primary-for QIconEngineFactoryInterfaceV2 (0x7faaa8895150)
+
+Vtable for QIconEnginePluginV2
+QIconEnginePluginV2::_ZTV19QIconEnginePluginV2: 22u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QIconEnginePluginV2)
+16 QIconEnginePluginV2::metaObject
+24 QIconEnginePluginV2::qt_metacast
+32 QIconEnginePluginV2::qt_metacall
+40 QIconEnginePluginV2::~QIconEnginePluginV2
+48 QIconEnginePluginV2::~QIconEnginePluginV2
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 (int (*)(...))-0x00000000000000010
+136 (int (*)(...))(& _ZTI19QIconEnginePluginV2)
+144 QIconEnginePluginV2::_ZThn16_N19QIconEnginePluginV2D1Ev
+152 QIconEnginePluginV2::_ZThn16_N19QIconEnginePluginV2D0Ev
+160 __cxa_pure_virtual
+168 __cxa_pure_virtual
+
+Class QIconEnginePluginV2
+ size=24 align=8
+ base size=24 base align=8
+QIconEnginePluginV2 (0x7faaa88a1000) 0
+ vptr=((& QIconEnginePluginV2::_ZTV19QIconEnginePluginV2) + 16u)
+ QObject (0x7faaa8895c40) 0
+ primary-for QIconEnginePluginV2 (0x7faaa88a1000)
+ QIconEngineFactoryInterfaceV2 (0x7faaa8895cb0) 16 nearly-empty
+ vptr=((& QIconEnginePluginV2::_ZTV19QIconEnginePluginV2) + 144u)
+ QFactoryInterface (0x7faaa8895d20) 16 nearly-empty
+ primary-for QIconEngineFactoryInterfaceV2 (0x7faaa8895cb0)
+
+Vtable for QImageIOHandler
+QImageIOHandler::_ZTV15QImageIOHandler: 18u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QImageIOHandler)
+16 QImageIOHandler::~QImageIOHandler
+24 QImageIOHandler::~QImageIOHandler
+32 QImageIOHandler::name
+40 __cxa_pure_virtual
+48 __cxa_pure_virtual
+56 QImageIOHandler::write
+64 QImageIOHandler::option
+72 QImageIOHandler::setOption
+80 QImageIOHandler::supportsOption
+88 QImageIOHandler::jumpToNextImage
+96 QImageIOHandler::jumpToImage
+104 QImageIOHandler::loopCount
+112 QImageIOHandler::imageCount
+120 QImageIOHandler::nextImageDelay
+128 QImageIOHandler::currentImageNumber
+136 QImageIOHandler::currentImageRect
+
+Class QImageIOHandler
+ size=16 align=8
+ base size=16 base align=8
+QImageIOHandler (0x7faaa88a9bd0) 0
+ vptr=((& QImageIOHandler::_ZTV15QImageIOHandler) + 16u)
+
+Vtable for QImageIOHandlerFactoryInterface
+QImageIOHandlerFactoryInterface::_ZTV31QImageIOHandlerFactoryInterface: 6u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI31QImageIOHandlerFactoryInterface)
+16 QImageIOHandlerFactoryInterface::~QImageIOHandlerFactoryInterface
+24 QImageIOHandlerFactoryInterface::~QImageIOHandlerFactoryInterface
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+
+Class QImageIOHandlerFactoryInterface
+ size=8 align=8
+ base size=8 base align=8
+QImageIOHandlerFactoryInterface (0x7faaa88c49a0) 0 nearly-empty
+ vptr=((& QImageIOHandlerFactoryInterface::_ZTV31QImageIOHandlerFactoryInterface) + 16u)
+ QFactoryInterface (0x7faaa88c4a10) 0 nearly-empty
+ primary-for QImageIOHandlerFactoryInterface (0x7faaa88c49a0)
+
+Vtable for QImageIOPlugin
+QImageIOPlugin::_ZTV14QImageIOPlugin: 23u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QImageIOPlugin)
+16 QImageIOPlugin::metaObject
+24 QImageIOPlugin::qt_metacast
+32 QImageIOPlugin::qt_metacall
+40 QImageIOPlugin::~QImageIOPlugin
+48 QImageIOPlugin::~QImageIOPlugin
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 __cxa_pure_virtual
+136 (int (*)(...))-0x00000000000000010
+144 (int (*)(...))(& _ZTI14QImageIOPlugin)
+152 QImageIOPlugin::_ZThn16_N14QImageIOPluginD1Ev
+160 QImageIOPlugin::_ZThn16_N14QImageIOPluginD0Ev
+168 __cxa_pure_virtual
+176 __cxa_pure_virtual
+
+Class QImageIOPlugin
+ size=24 align=8
+ base size=24 base align=8
+QImageIOPlugin (0x7faaa88cac00) 0
+ vptr=((& QImageIOPlugin::_ZTV14QImageIOPlugin) + 16u)
+ QObject (0x7faaa88d53f0) 0
+ primary-for QImageIOPlugin (0x7faaa88cac00)
+ QImageIOHandlerFactoryInterface (0x7faaa88d5460) 16 nearly-empty
+ vptr=((& QImageIOPlugin::_ZTV14QImageIOPlugin) + 152u)
+ QFactoryInterface (0x7faaa88d54d0) 16 nearly-empty
+ primary-for QImageIOHandlerFactoryInterface (0x7faaa88d5460)
+
+Class QImageReader
+ size=8 align=8
+ base size=8 base align=8
+QImageReader (0x7faaa87294d0) 0
+
+Class QImageWriter
+ size=8 align=8
+ base size=8 base align=8
+QImageWriter (0x7faaa8729ee0) 0
+
+Vtable for QMovie
+QMovie::_ZTV6QMovie: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI6QMovie)
+16 QMovie::metaObject
+24 QMovie::qt_metacast
+32 QMovie::qt_metacall
+40 QMovie::~QMovie
+48 QMovie::~QMovie
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QMovie
+ size=16 align=8
+ base size=16 base align=8
+QMovie (0x7faaa8740770) 0
+ vptr=((& QMovie::_ZTV6QMovie) + 16u)
+ QObject (0x7faaa87407e0) 0
+ primary-for QMovie (0x7faaa8740770)
+
+Vtable for QPicture
+QPicture::_ZTV8QPicture: 8u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI8QPicture)
+16 QPicture::~QPicture
+24 QPicture::~QPicture
+32 QPicture::devType
+40 QPicture::paintEngine
+48 QPicture::metric
+56 QPicture::setData
+
+Class QPicture
+ size=24 align=8
+ base size=24 base align=8
+QPicture (0x7faaa87857e0) 0
+ vptr=((& QPicture::_ZTV8QPicture) + 16u)
+ QPaintDevice (0x7faaa8785850) 0
+ primary-for QPicture (0x7faaa87857e0)
+
+Class QPictureIO
+ size=8 align=8
+ base size=8 base align=8
+QPictureIO (0x7faaa87a7310) 0
+
+Vtable for QPictureFormatInterface
+QPictureFormatInterface::_ZTV23QPictureFormatInterface: 8u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI23QPictureFormatInterface)
+16 QPictureFormatInterface::~QPictureFormatInterface
+24 QPictureFormatInterface::~QPictureFormatInterface
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+48 __cxa_pure_virtual
+56 __cxa_pure_virtual
+
+Class QPictureFormatInterface
+ size=8 align=8
+ base size=8 base align=8
+QPictureFormatInterface (0x7faaa87a7930) 0 nearly-empty
+ vptr=((& QPictureFormatInterface::_ZTV23QPictureFormatInterface) + 16u)
+ QFactoryInterface (0x7faaa87a79a0) 0 nearly-empty
+ primary-for QPictureFormatInterface (0x7faaa87a7930)
+
+Vtable for QPictureFormatPlugin
+QPictureFormatPlugin::_ZTV20QPictureFormatPlugin: 26u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI20QPictureFormatPlugin)
+16 QPictureFormatPlugin::metaObject
+24 QPictureFormatPlugin::qt_metacast
+32 QPictureFormatPlugin::qt_metacall
+40 QPictureFormatPlugin::~QPictureFormatPlugin
+48 QPictureFormatPlugin::~QPictureFormatPlugin
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+120 QPictureFormatPlugin::loadPicture
+128 QPictureFormatPlugin::savePicture
+136 __cxa_pure_virtual
+144 (int (*)(...))-0x00000000000000010
+152 (int (*)(...))(& _ZTI20QPictureFormatPlugin)
+160 QPictureFormatPlugin::_ZThn16_N20QPictureFormatPluginD1Ev
+168 QPictureFormatPlugin::_ZThn16_N20QPictureFormatPluginD0Ev
+176 __cxa_pure_virtual
+184 QPictureFormatPlugin::_ZThn16_N20QPictureFormatPlugin11loadPictureERK7QStringS2_P8QPicture
+192 QPictureFormatPlugin::_ZThn16_N20QPictureFormatPlugin11savePictureERK7QStringS2_RK8QPicture
+200 __cxa_pure_virtual
+
+Class QPictureFormatPlugin
+ size=24 align=8
+ base size=24 base align=8
+QPictureFormatPlugin (0x7faaa87c4300) 0
+ vptr=((& QPictureFormatPlugin::_ZTV20QPictureFormatPlugin) + 16u)
+ QObject (0x7faaa87c5310) 0
+ primary-for QPictureFormatPlugin (0x7faaa87c4300)
+ QPictureFormatInterface (0x7faaa87c5380) 16 nearly-empty
+ vptr=((& QPictureFormatPlugin::_ZTV20QPictureFormatPlugin) + 160u)
+ QFactoryInterface (0x7faaa87c53f0) 16 nearly-empty
+ primary-for QPictureFormatInterface (0x7faaa87c5380)
+
+Class QPixmapCache::Key
+ size=8 align=8
+ base size=8 base align=8
+QPixmapCache::Key (0x7faaa87d4310) 0
+
+Class QPixmapCache
+ size=1 align=1
+ base size=0 base align=1
+QPixmapCache (0x7faaa87d42a0) 0 empty
+
+Vtable for QGraphicsEffect
+QGraphicsEffect::_ZTV15QGraphicsEffect: 17u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QGraphicsEffect)
+16 QGraphicsEffect::metaObject
+24 QGraphicsEffect::qt_metacast
+32 QGraphicsEffect::qt_metacall
+40 QGraphicsEffect::~QGraphicsEffect
+48 QGraphicsEffect::~QGraphicsEffect
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QGraphicsEffect::boundingRectFor
+120 __cxa_pure_virtual
+128 QGraphicsEffect::sourceChanged
+
+Class QGraphicsEffect
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsEffect (0x7faaa87dc150) 0
+ vptr=((& QGraphicsEffect::_ZTV15QGraphicsEffect) + 16u)
+ QObject (0x7faaa87dc1c0) 0
+ primary-for QGraphicsEffect (0x7faaa87dc150)
+
+Vtable for QGraphicsColorizeEffect
+QGraphicsColorizeEffect::_ZTV23QGraphicsColorizeEffect: 17u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI23QGraphicsColorizeEffect)
+16 QGraphicsColorizeEffect::metaObject
+24 QGraphicsColorizeEffect::qt_metacast
+32 QGraphicsColorizeEffect::qt_metacall
+40 QGraphicsColorizeEffect::~QGraphicsColorizeEffect
+48 QGraphicsColorizeEffect::~QGraphicsColorizeEffect
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QGraphicsEffect::boundingRectFor
+120 QGraphicsColorizeEffect::draw
+128 QGraphicsEffect::sourceChanged
+
+Class QGraphicsColorizeEffect
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsColorizeEffect (0x7faaa8624c40) 0
+ vptr=((& QGraphicsColorizeEffect::_ZTV23QGraphicsColorizeEffect) + 16u)
+ QGraphicsEffect (0x7faaa8624cb0) 0
+ primary-for QGraphicsColorizeEffect (0x7faaa8624c40)
+ QObject (0x7faaa8624d20) 0
+ primary-for QGraphicsEffect (0x7faaa8624cb0)
+
+Vtable for QGraphicsBlurEffect
+QGraphicsBlurEffect::_ZTV19QGraphicsBlurEffect: 17u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QGraphicsBlurEffect)
+16 QGraphicsBlurEffect::metaObject
+24 QGraphicsBlurEffect::qt_metacast
+32 QGraphicsBlurEffect::qt_metacall
+40 QGraphicsBlurEffect::~QGraphicsBlurEffect
+48 QGraphicsBlurEffect::~QGraphicsBlurEffect
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QGraphicsBlurEffect::boundingRectFor
+120 QGraphicsBlurEffect::draw
+128 QGraphicsEffect::sourceChanged
+
+Class QGraphicsBlurEffect
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsBlurEffect (0x7faaa86535b0) 0
+ vptr=((& QGraphicsBlurEffect::_ZTV19QGraphicsBlurEffect) + 16u)
+ QGraphicsEffect (0x7faaa8653620) 0
+ primary-for QGraphicsBlurEffect (0x7faaa86535b0)
+ QObject (0x7faaa8653690) 0
+ primary-for QGraphicsEffect (0x7faaa8653620)
+
+Vtable for QGraphicsDropShadowEffect
+QGraphicsDropShadowEffect::_ZTV25QGraphicsDropShadowEffect: 17u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI25QGraphicsDropShadowEffect)
+16 QGraphicsDropShadowEffect::metaObject
+24 QGraphicsDropShadowEffect::qt_metacast
+32 QGraphicsDropShadowEffect::qt_metacall
+40 QGraphicsDropShadowEffect::~QGraphicsDropShadowEffect
+48 QGraphicsDropShadowEffect::~QGraphicsDropShadowEffect
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QGraphicsDropShadowEffect::boundingRectFor
+120 QGraphicsDropShadowEffect::draw
+128 QGraphicsEffect::sourceChanged
+
+Class QGraphicsDropShadowEffect
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsDropShadowEffect (0x7faaa86b10e0) 0
+ vptr=((& QGraphicsDropShadowEffect::_ZTV25QGraphicsDropShadowEffect) + 16u)
+ QGraphicsEffect (0x7faaa86b1150) 0
+ primary-for QGraphicsDropShadowEffect (0x7faaa86b10e0)
+ QObject (0x7faaa86b11c0) 0
+ primary-for QGraphicsEffect (0x7faaa86b1150)
+
+Vtable for QGraphicsOpacityEffect
+QGraphicsOpacityEffect::_ZTV22QGraphicsOpacityEffect: 17u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI22QGraphicsOpacityEffect)
+16 QGraphicsOpacityEffect::metaObject
+24 QGraphicsOpacityEffect::qt_metacast
+32 QGraphicsOpacityEffect::qt_metacall
+40 QGraphicsOpacityEffect::~QGraphicsOpacityEffect
+48 QGraphicsOpacityEffect::~QGraphicsOpacityEffect
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QGraphicsEffect::boundingRectFor
+120 QGraphicsOpacityEffect::draw
+128 QGraphicsEffect::sourceChanged
+
+Class QGraphicsOpacityEffect
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsOpacityEffect (0x7faaa86d05b0) 0
+ vptr=((& QGraphicsOpacityEffect::_ZTV22QGraphicsOpacityEffect) + 16u)
+ QGraphicsEffect (0x7faaa86d0620) 0
+ primary-for QGraphicsOpacityEffect (0x7faaa86d05b0)
+ QObject (0x7faaa86d0690) 0
+ primary-for QGraphicsEffect (0x7faaa86d0620)
+
+Class QVFbHeader
+ size=1088 align=8
+ base size=1088 base align=8
+QVFbHeader (0x7faaa86e2ee0) 0
+
+Class QVFbKeyData
+ size=12 align=4
+ base size=12 base align=4
+QVFbKeyData (0x7faaa86e2f50) 0
+
+Vtable for QWSEmbedWidget
+QWSEmbedWidget::_ZTV14QWSEmbedWidget: 63u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QWSEmbedWidget)
+16 QWSEmbedWidget::metaObject
+24 QWSEmbedWidget::qt_metacast
+32 QWSEmbedWidget::qt_metacall
+40 QWSEmbedWidget::~QWSEmbedWidget
+48 QWSEmbedWidget::~QWSEmbedWidget
+56 QWidget::event
+64 QWSEmbedWidget::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QWidget::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QWidget::paintEvent
+256 QWSEmbedWidget::moveEvent
+264 QWSEmbedWidget::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWSEmbedWidget::showEvent
+344 QWSEmbedWidget::hideEvent
+352 QWidget::x11Event
+360 QWSEmbedWidget::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 (int (*)(...))-0x00000000000000010
+456 (int (*)(...))(& _ZTI14QWSEmbedWidget)
+464 QWSEmbedWidget::_ZThn16_N14QWSEmbedWidgetD1Ev
+472 QWSEmbedWidget::_ZThn16_N14QWSEmbedWidgetD0Ev
+480 QWidget::_ZThn16_NK7QWidget7devTypeEv
+488 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+496 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QWSEmbedWidget
+ size=40 align=8
+ base size=40 base align=8
+QWSEmbedWidget (0x7faaa84ec000) 0
+ vptr=((& QWSEmbedWidget::_ZTV14QWSEmbedWidget) + 16u)
+ QWidget (0x7faaa86df900) 0
+ primary-for QWSEmbedWidget (0x7faaa84ec000)
+ QObject (0x7faaa84ec070) 0
+ primary-for QWidget (0x7faaa86df900)
+ QPaintDevice (0x7faaa84ec0e0) 16
+ vptr=((& QWSEmbedWidget::_ZTV14QWSEmbedWidget) + 464u)
+
+Class QColormap
+ size=8 align=8
+ base size=8 base align=8
+QColormap (0x7faaa85044d0) 0
+
+Class QTileRules
+ size=8 align=4
+ base size=8 base align=4
+QTileRules (0x7faaa8504cb0) 0
+
+Class QDrawPixmaps::Data
+ size=80 align=8
+ base size=80 base align=8
+QDrawPixmaps::Data (0x7faaa851bd20) 0
+
+Class QPainter
+ size=8 align=8
+ base size=8 base align=8
+QPainter (0x7faaa851be00) 0
+
+Class QTextItem
+ size=1 align=1
+ base size=0 base align=1
+QTextItem (0x7faaa83498c0) 0 empty
+
+Vtable for QPaintEngine
+QPaintEngine::_ZTV12QPaintEngine: 24u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QPaintEngine)
+16 QPaintEngine::~QPaintEngine
+24 QPaintEngine::~QPaintEngine
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+48 __cxa_pure_virtual
+56 QPaintEngine::drawRects
+64 QPaintEngine::drawRects
+72 QPaintEngine::drawLines
+80 QPaintEngine::drawLines
+88 QPaintEngine::drawEllipse
+96 QPaintEngine::drawEllipse
+104 QPaintEngine::drawPath
+112 QPaintEngine::drawPoints
+120 QPaintEngine::drawPoints
+128 QPaintEngine::drawPolygon
+136 QPaintEngine::drawPolygon
+144 __cxa_pure_virtual
+152 QPaintEngine::drawTextItem
+160 QPaintEngine::drawTiledPixmap
+168 QPaintEngine::drawImage
+176 QPaintEngine::coordinateOffset
+184 __cxa_pure_virtual
+
+Class QPaintEngine
+ size=32 align=8
+ base size=32 base align=8
+QPaintEngine (0x7faaa8349ee0) 0
+ vptr=((& QPaintEngine::_ZTV12QPaintEngine) + 16u)
+
+Class QPaintEngineState
+ size=4 align=4
+ base size=4 base align=4
+QPaintEngineState (0x7faaa8393b60) 0
+
+Vtable for QPrinter
+QPrinter::_ZTV8QPrinter: 7u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI8QPrinter)
+16 QPrinter::~QPrinter
+24 QPrinter::~QPrinter
+32 QPrinter::devType
+40 QPrinter::paintEngine
+48 QPrinter::metric
+
+Class QPrinter
+ size=24 align=8
+ base size=24 base align=8
+QPrinter (0x7faaa8262e70) 0
+ vptr=((& QPrinter::_ZTV8QPrinter) + 16u)
+ QPaintDevice (0x7faaa8262ee0) 0
+ primary-for QPrinter (0x7faaa8262e70)
+
+Vtable for QPrintEngine
+QPrintEngine::_ZTV12QPrintEngine: 10u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QPrintEngine)
+16 QPrintEngine::~QPrintEngine
+24 QPrintEngine::~QPrintEngine
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+48 __cxa_pure_virtual
+56 __cxa_pure_virtual
+64 __cxa_pure_virtual
+72 __cxa_pure_virtual
+
+Class QPrintEngine
+ size=8 align=8
+ base size=8 base align=8
+QPrintEngine (0x7faaa82c9540) 0 nearly-empty
+ vptr=((& QPrintEngine::_ZTV12QPrintEngine) + 16u)
+
+Class QPrinterInfo
+ size=8 align=8
+ base size=8 base align=8
+QPrinterInfo (0x7faaa82d62a0) 0
+
+Class QStylePainter
+ size=24 align=8
+ base size=24 base align=8
+QStylePainter (0x7faaa82de9a0) 0
+ QPainter (0x7faaa82dea10) 0
+
+Vtable for QAbstractProxyModel
+QAbstractProxyModel::_ZTV19QAbstractProxyModel: 47u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QAbstractProxyModel)
+16 QAbstractProxyModel::metaObject
+24 QAbstractProxyModel::qt_metacast
+32 QAbstractProxyModel::qt_metacall
+40 QAbstractProxyModel::~QAbstractProxyModel
+48 QAbstractProxyModel::~QAbstractProxyModel
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 __cxa_pure_virtual
+136 __cxa_pure_virtual
+144 QAbstractItemModel::hasChildren
+152 QAbstractProxyModel::data
+160 QAbstractProxyModel::setData
+168 QAbstractProxyModel::headerData
+176 QAbstractProxyModel::setHeaderData
+184 QAbstractProxyModel::itemData
+192 QAbstractItemModel::setItemData
+200 QAbstractItemModel::mimeTypes
+208 QAbstractItemModel::mimeData
+216 QAbstractItemModel::dropMimeData
+224 QAbstractItemModel::supportedDropActions
+232 QAbstractItemModel::insertRows
+240 QAbstractItemModel::insertColumns
+248 QAbstractItemModel::removeRows
+256 QAbstractItemModel::removeColumns
+264 QAbstractItemModel::fetchMore
+272 QAbstractItemModel::canFetchMore
+280 QAbstractProxyModel::flags
+288 QAbstractItemModel::sort
+296 QAbstractItemModel::buddy
+304 QAbstractItemModel::match
+312 QAbstractItemModel::span
+320 QAbstractProxyModel::submit
+328 QAbstractProxyModel::revert
+336 QAbstractProxyModel::setSourceModel
+344 __cxa_pure_virtual
+352 __cxa_pure_virtual
+360 QAbstractProxyModel::mapSelectionToSource
+368 QAbstractProxyModel::mapSelectionFromSource
+
+Class QAbstractProxyModel
+ size=16 align=8
+ base size=16 base align=8
+QAbstractProxyModel (0x7faaa810bee0) 0
+ vptr=((& QAbstractProxyModel::_ZTV19QAbstractProxyModel) + 16u)
+ QAbstractItemModel (0x7faaa810bf50) 0
+ primary-for QAbstractProxyModel (0x7faaa810bee0)
+ QObject (0x7faaa8111000) 0
+ primary-for QAbstractItemModel (0x7faaa810bf50)
+
+Vtable for QColumnView
+QColumnView::_ZTV11QColumnView: 104u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QColumnView)
+16 QColumnView::metaObject
+24 QColumnView::qt_metacast
+32 QColumnView::qt_metacall
+40 QColumnView::~QColumnView
+48 QColumnView::~QColumnView
+56 QAbstractItemView::event
+64 QObject::eventFilter
+72 QAbstractItemView::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QColumnView::sizeHint
+136 QAbstractScrollArea::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QAbstractItemView::mousePressEvent
+168 QAbstractItemView::mouseReleaseEvent
+176 QAbstractItemView::mouseDoubleClickEvent
+184 QAbstractItemView::mouseMoveEvent
+192 QAbstractScrollArea::wheelEvent
+200 QAbstractItemView::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QAbstractItemView::focusInEvent
+224 QAbstractItemView::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QAbstractScrollArea::paintEvent
+256 QWidget::moveEvent
+264 QColumnView::resizeEvent
+272 QWidget::closeEvent
+280 QAbstractScrollArea::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QAbstractItemView::dragEnterEvent
+312 QAbstractItemView::dragMoveEvent
+320 QAbstractItemView::dragLeaveEvent
+328 QAbstractItemView::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QFrame::changeEvent
+368 QWidget::metric
+376 QAbstractItemView::inputMethodEvent
+384 QAbstractItemView::inputMethodQuery
+392 QAbstractItemView::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QAbstractItemView::viewportEvent
+456 QColumnView::scrollContentsBy
+464 QColumnView::setModel
+472 QColumnView::setSelectionModel
+480 QAbstractItemView::keyboardSearch
+488 QColumnView::visualRect
+496 QColumnView::scrollTo
+504 QColumnView::indexAt
+512 QAbstractItemView::sizeHintForRow
+520 QAbstractItemView::sizeHintForColumn
+528 QAbstractItemView::reset
+536 QColumnView::setRootIndex
+544 QAbstractItemView::doItemsLayout
+552 QColumnView::selectAll
+560 QAbstractItemView::dataChanged
+568 QColumnView::rowsInserted
+576 QAbstractItemView::rowsAboutToBeRemoved
+584 QAbstractItemView::selectionChanged
+592 QColumnView::currentChanged
+600 QAbstractItemView::updateEditorData
+608 QAbstractItemView::updateEditorGeometries
+616 QAbstractItemView::updateGeometries
+624 QAbstractItemView::verticalScrollbarAction
+632 QAbstractItemView::horizontalScrollbarAction
+640 QAbstractItemView::verticalScrollbarValueChanged
+648 QAbstractItemView::horizontalScrollbarValueChanged
+656 QAbstractItemView::closeEditor
+664 QAbstractItemView::commitData
+672 QAbstractItemView::editorDestroyed
+680 QColumnView::moveCursor
+688 QColumnView::horizontalOffset
+696 QColumnView::verticalOffset
+704 QColumnView::isIndexHidden
+712 QColumnView::setSelection
+720 QColumnView::visualRegionForSelection
+728 QAbstractItemView::selectedIndexes
+736 QAbstractItemView::edit
+744 QAbstractItemView::selectionCommand
+752 QAbstractItemView::startDrag
+760 QAbstractItemView::viewOptions
+768 QColumnView::createColumn
+776 (int (*)(...))-0x00000000000000010
+784 (int (*)(...))(& _ZTI11QColumnView)
+792 QColumnView::_ZThn16_N11QColumnViewD1Ev
+800 QColumnView::_ZThn16_N11QColumnViewD0Ev
+808 QWidget::_ZThn16_NK7QWidget7devTypeEv
+816 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+824 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QColumnView
+ size=40 align=8
+ base size=40 base align=8
+QColumnView (0x7faaa8127af0) 0
+ vptr=((& QColumnView::_ZTV11QColumnView) + 16u)
+ QAbstractItemView (0x7faaa8127b60) 0
+ primary-for QColumnView (0x7faaa8127af0)
+ QAbstractScrollArea (0x7faaa8127bd0) 0
+ primary-for QAbstractItemView (0x7faaa8127b60)
+ QFrame (0x7faaa8127c40) 0
+ primary-for QAbstractScrollArea (0x7faaa8127bd0)
+ QWidget (0x7faaa812e200) 0
+ primary-for QFrame (0x7faaa8127c40)
+ QObject (0x7faaa8127cb0) 0
+ primary-for QWidget (0x7faaa812e200)
+ QPaintDevice (0x7faaa8127d20) 16
+ vptr=((& QColumnView::_ZTV11QColumnView) + 792u)
+
+Vtable for QDataWidgetMapper
+QDataWidgetMapper::_ZTV17QDataWidgetMapper: 15u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QDataWidgetMapper)
+16 QDataWidgetMapper::metaObject
+24 QDataWidgetMapper::qt_metacast
+32 QDataWidgetMapper::qt_metacall
+40 QDataWidgetMapper::~QDataWidgetMapper
+48 QDataWidgetMapper::~QDataWidgetMapper
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QDataWidgetMapper::setCurrentIndex
+
+Class QDataWidgetMapper
+ size=16 align=8
+ base size=16 base align=8
+QDataWidgetMapper (0x7faaa814dc40) 0
+ vptr=((& QDataWidgetMapper::_ZTV17QDataWidgetMapper) + 16u)
+ QObject (0x7faaa814dcb0) 0
+ primary-for QDataWidgetMapper (0x7faaa814dc40)
+
+Vtable for QFileIconProvider
+QFileIconProvider::_ZTV17QFileIconProvider: 7u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QFileIconProvider)
+16 QFileIconProvider::~QFileIconProvider
+24 QFileIconProvider::~QFileIconProvider
+32 QFileIconProvider::icon
+40 QFileIconProvider::icon
+48 QFileIconProvider::type
+
+Class QFileIconProvider
+ size=16 align=8
+ base size=16 base align=8
+QFileIconProvider (0x7faaa816e700) 0
+ vptr=((& QFileIconProvider::_ZTV17QFileIconProvider) + 16u)
+
+Vtable for QDirModel
+QDirModel::_ZTV9QDirModel: 42u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QDirModel)
+16 QDirModel::metaObject
+24 QDirModel::qt_metacast
+32 QDirModel::qt_metacall
+40 QDirModel::~QDirModel
+48 QDirModel::~QDirModel
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QDirModel::index
+120 QDirModel::parent
+128 QDirModel::rowCount
+136 QDirModel::columnCount
+144 QDirModel::hasChildren
+152 QDirModel::data
+160 QDirModel::setData
+168 QDirModel::headerData
+176 QAbstractItemModel::setHeaderData
+184 QAbstractItemModel::itemData
+192 QAbstractItemModel::setItemData
+200 QDirModel::mimeTypes
+208 QDirModel::mimeData
+216 QDirModel::dropMimeData
+224 QDirModel::supportedDropActions
+232 QAbstractItemModel::insertRows
+240 QAbstractItemModel::insertColumns
+248 QAbstractItemModel::removeRows
+256 QAbstractItemModel::removeColumns
+264 QAbstractItemModel::fetchMore
+272 QAbstractItemModel::canFetchMore
+280 QDirModel::flags
+288 QDirModel::sort
+296 QAbstractItemModel::buddy
+304 QAbstractItemModel::match
+312 QAbstractItemModel::span
+320 QAbstractItemModel::submit
+328 QAbstractItemModel::revert
+
+Class QDirModel
+ size=16 align=8
+ base size=16 base align=8
+QDirModel (0x7faaa8181380) 0
+ vptr=((& QDirModel::_ZTV9QDirModel) + 16u)
+ QAbstractItemModel (0x7faaa81813f0) 0
+ primary-for QDirModel (0x7faaa8181380)
+ QObject (0x7faaa8181460) 0
+ primary-for QAbstractItemModel (0x7faaa81813f0)
+
+Vtable for QHeaderView
+QHeaderView::_ZTV11QHeaderView: 105u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QHeaderView)
+16 QHeaderView::metaObject
+24 QHeaderView::qt_metacast
+32 QHeaderView::qt_metacall
+40 QHeaderView::~QHeaderView
+48 QHeaderView::~QHeaderView
+56 QHeaderView::event
+64 QObject::eventFilter
+72 QAbstractItemView::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QHeaderView::sizeHint
+136 QAbstractScrollArea::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QHeaderView::mousePressEvent
+168 QHeaderView::mouseReleaseEvent
+176 QHeaderView::mouseDoubleClickEvent
+184 QHeaderView::mouseMoveEvent
+192 QAbstractScrollArea::wheelEvent
+200 QAbstractItemView::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QAbstractItemView::focusInEvent
+224 QAbstractItemView::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QHeaderView::paintEvent
+256 QWidget::moveEvent
+264 QAbstractItemView::resizeEvent
+272 QWidget::closeEvent
+280 QAbstractScrollArea::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QAbstractItemView::dragEnterEvent
+312 QAbstractItemView::dragMoveEvent
+320 QAbstractItemView::dragLeaveEvent
+328 QAbstractItemView::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QFrame::changeEvent
+368 QWidget::metric
+376 QAbstractItemView::inputMethodEvent
+384 QAbstractItemView::inputMethodQuery
+392 QAbstractItemView::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QHeaderView::viewportEvent
+456 QHeaderView::scrollContentsBy
+464 QHeaderView::setModel
+472 QAbstractItemView::setSelectionModel
+480 QAbstractItemView::keyboardSearch
+488 QHeaderView::visualRect
+496 QHeaderView::scrollTo
+504 QHeaderView::indexAt
+512 QAbstractItemView::sizeHintForRow
+520 QAbstractItemView::sizeHintForColumn
+528 QHeaderView::reset
+536 QAbstractItemView::setRootIndex
+544 QHeaderView::doItemsLayout
+552 QAbstractItemView::selectAll
+560 QHeaderView::dataChanged
+568 QHeaderView::rowsInserted
+576 QAbstractItemView::rowsAboutToBeRemoved
+584 QAbstractItemView::selectionChanged
+592 QHeaderView::currentChanged
+600 QAbstractItemView::updateEditorData
+608 QAbstractItemView::updateEditorGeometries
+616 QHeaderView::updateGeometries
+624 QAbstractItemView::verticalScrollbarAction
+632 QAbstractItemView::horizontalScrollbarAction
+640 QAbstractItemView::verticalScrollbarValueChanged
+648 QAbstractItemView::horizontalScrollbarValueChanged
+656 QAbstractItemView::closeEditor
+664 QAbstractItemView::commitData
+672 QAbstractItemView::editorDestroyed
+680 QHeaderView::moveCursor
+688 QHeaderView::horizontalOffset
+696 QHeaderView::verticalOffset
+704 QHeaderView::isIndexHidden
+712 QHeaderView::setSelection
+720 QHeaderView::visualRegionForSelection
+728 QAbstractItemView::selectedIndexes
+736 QAbstractItemView::edit
+744 QAbstractItemView::selectionCommand
+752 QAbstractItemView::startDrag
+760 QAbstractItemView::viewOptions
+768 QHeaderView::paintSection
+776 QHeaderView::sectionSizeFromContents
+784 (int (*)(...))-0x00000000000000010
+792 (int (*)(...))(& _ZTI11QHeaderView)
+800 QHeaderView::_ZThn16_N11QHeaderViewD1Ev
+808 QHeaderView::_ZThn16_N11QHeaderViewD0Ev
+816 QWidget::_ZThn16_NK7QWidget7devTypeEv
+824 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+832 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QHeaderView
+ size=40 align=8
+ base size=40 base align=8
+QHeaderView (0x7faaa81ad620) 0
+ vptr=((& QHeaderView::_ZTV11QHeaderView) + 16u)
+ QAbstractItemView (0x7faaa81ad690) 0
+ primary-for QHeaderView (0x7faaa81ad620)
+ QAbstractScrollArea (0x7faaa81ad700) 0
+ primary-for QAbstractItemView (0x7faaa81ad690)
+ QFrame (0x7faaa81ad770) 0
+ primary-for QAbstractScrollArea (0x7faaa81ad700)
+ QWidget (0x7faaa8188980) 0
+ primary-for QFrame (0x7faaa81ad770)
+ QObject (0x7faaa81ad7e0) 0
+ primary-for QWidget (0x7faaa8188980)
+ QPaintDevice (0x7faaa81ad850) 16
+ vptr=((& QHeaderView::_ZTV11QHeaderView) + 800u)
+
+Vtable for QItemDelegate
+QItemDelegate::_ZTV13QItemDelegate: 25u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QItemDelegate)
+16 QItemDelegate::metaObject
+24 QItemDelegate::qt_metacast
+32 QItemDelegate::qt_metacall
+40 QItemDelegate::~QItemDelegate
+48 QItemDelegate::~QItemDelegate
+56 QObject::event
+64 QItemDelegate::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QItemDelegate::paint
+120 QItemDelegate::sizeHint
+128 QItemDelegate::createEditor
+136 QItemDelegate::setEditorData
+144 QItemDelegate::setModelData
+152 QItemDelegate::updateEditorGeometry
+160 QItemDelegate::editorEvent
+168 QItemDelegate::drawDisplay
+176 QItemDelegate::drawDecoration
+184 QItemDelegate::drawFocus
+192 QItemDelegate::drawCheck
+
+Class QItemDelegate
+ size=16 align=8
+ base size=16 base align=8
+QItemDelegate (0x7faaa7ff1230) 0
+ vptr=((& QItemDelegate::_ZTV13QItemDelegate) + 16u)
+ QAbstractItemDelegate (0x7faaa7ff12a0) 0
+ primary-for QItemDelegate (0x7faaa7ff1230)
+ QObject (0x7faaa7ff1310) 0
+ primary-for QAbstractItemDelegate (0x7faaa7ff12a0)
+
+Vtable for QItemEditorCreatorBase
+QItemEditorCreatorBase::_ZTV22QItemEditorCreatorBase: 6u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI22QItemEditorCreatorBase)
+16 QItemEditorCreatorBase::~QItemEditorCreatorBase
+24 QItemEditorCreatorBase::~QItemEditorCreatorBase
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+
+Class QItemEditorCreatorBase
+ size=8 align=8
+ base size=8 base align=8
+QItemEditorCreatorBase (0x7faaa800dbd0) 0 nearly-empty
+ vptr=((& QItemEditorCreatorBase::_ZTV22QItemEditorCreatorBase) + 16u)
+
+Vtable for QItemEditorFactory
+QItemEditorFactory::_ZTV18QItemEditorFactory: 6u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QItemEditorFactory)
+16 QItemEditorFactory::~QItemEditorFactory
+24 QItemEditorFactory::~QItemEditorFactory
+32 QItemEditorFactory::createEditor
+40 QItemEditorFactory::valuePropertyName
+
+Class QItemEditorFactory
+ size=16 align=8
+ base size=16 base align=8
+QItemEditorFactory (0x7faaa8018a80) 0
+ vptr=((& QItemEditorFactory::_ZTV18QItemEditorFactory) + 16u)
+
+Vtable for QListWidgetItem
+QListWidgetItem::_ZTV15QListWidgetItem: 11u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QListWidgetItem)
+16 QListWidgetItem::~QListWidgetItem
+24 QListWidgetItem::~QListWidgetItem
+32 QListWidgetItem::clone
+40 QListWidgetItem::setBackgroundColor
+48 QListWidgetItem::data
+56 QListWidgetItem::setData
+64 QListWidgetItem::operator<
+72 QListWidgetItem::read
+80 QListWidgetItem::write
+
+Class QListWidgetItem
+ size=48 align=8
+ base size=44 base align=8
+QListWidgetItem (0x7faaa8026d20) 0
+ vptr=((& QListWidgetItem::_ZTV15QListWidgetItem) + 16u)
+
+Vtable for QListWidget
+QListWidget::_ZTV11QListWidget: 107u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QListWidget)
+16 QListWidget::metaObject
+24 QListWidget::qt_metacast
+32 QListWidget::qt_metacall
+40 QListWidget::~QListWidget
+48 QListWidget::~QListWidget
+56 QListWidget::event
+64 QObject::eventFilter
+72 QListView::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QAbstractScrollArea::sizeHint
+136 QAbstractScrollArea::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QAbstractItemView::mousePressEvent
+168 QListView::mouseReleaseEvent
+176 QAbstractItemView::mouseDoubleClickEvent
+184 QListView::mouseMoveEvent
+192 QAbstractScrollArea::wheelEvent
+200 QAbstractItemView::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QAbstractItemView::focusInEvent
+224 QAbstractItemView::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QListView::paintEvent
+256 QWidget::moveEvent
+264 QListView::resizeEvent
+272 QWidget::closeEvent
+280 QAbstractScrollArea::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QAbstractItemView::dragEnterEvent
+312 QListView::dragMoveEvent
+320 QListView::dragLeaveEvent
+328 QListWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QFrame::changeEvent
+368 QWidget::metric
+376 QAbstractItemView::inputMethodEvent
+384 QAbstractItemView::inputMethodQuery
+392 QAbstractItemView::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QAbstractItemView::viewportEvent
+456 QListView::scrollContentsBy
+464 QListWidget::setModel
+472 QAbstractItemView::setSelectionModel
+480 QAbstractItemView::keyboardSearch
+488 QListView::visualRect
+496 QListView::scrollTo
+504 QListView::indexAt
+512 QAbstractItemView::sizeHintForRow
+520 QAbstractItemView::sizeHintForColumn
+528 QListView::reset
+536 QListView::setRootIndex
+544 QListView::doItemsLayout
+552 QAbstractItemView::selectAll
+560 QListView::dataChanged
+568 QListView::rowsInserted
+576 QListView::rowsAboutToBeRemoved
+584 QListView::selectionChanged
+592 QListView::currentChanged
+600 QAbstractItemView::updateEditorData
+608 QAbstractItemView::updateEditorGeometries
+616 QListView::updateGeometries
+624 QAbstractItemView::verticalScrollbarAction
+632 QAbstractItemView::horizontalScrollbarAction
+640 QAbstractItemView::verticalScrollbarValueChanged
+648 QAbstractItemView::horizontalScrollbarValueChanged
+656 QAbstractItemView::closeEditor
+664 QAbstractItemView::commitData
+672 QAbstractItemView::editorDestroyed
+680 QListView::moveCursor
+688 QListView::horizontalOffset
+696 QListView::verticalOffset
+704 QListView::isIndexHidden
+712 QListView::setSelection
+720 QListView::visualRegionForSelection
+728 QListView::selectedIndexes
+736 QAbstractItemView::edit
+744 QAbstractItemView::selectionCommand
+752 QListView::startDrag
+760 QListView::viewOptions
+768 QListWidget::mimeTypes
+776 QListWidget::mimeData
+784 QListWidget::dropMimeData
+792 QListWidget::supportedDropActions
+800 (int (*)(...))-0x00000000000000010
+808 (int (*)(...))(& _ZTI11QListWidget)
+816 QListWidget::_ZThn16_N11QListWidgetD1Ev
+824 QListWidget::_ZThn16_N11QListWidgetD0Ev
+832 QWidget::_ZThn16_NK7QWidget7devTypeEv
+840 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+848 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QListWidget
+ size=40 align=8
+ base size=40 base align=8
+QListWidget (0x7faaa80b83f0) 0
+ vptr=((& QListWidget::_ZTV11QListWidget) + 16u)
+ QListView (0x7faaa80b8460) 0
+ primary-for QListWidget (0x7faaa80b83f0)
+ QAbstractItemView (0x7faaa80b84d0) 0
+ primary-for QListView (0x7faaa80b8460)
+ QAbstractScrollArea (0x7faaa80b8540) 0
+ primary-for QAbstractItemView (0x7faaa80b84d0)
+ QFrame (0x7faaa80b85b0) 0
+ primary-for QAbstractScrollArea (0x7faaa80b8540)
+ QWidget (0x7faaa80b1a00) 0
+ primary-for QFrame (0x7faaa80b85b0)
+ QObject (0x7faaa80b8620) 0
+ primary-for QWidget (0x7faaa80b1a00)
+ QPaintDevice (0x7faaa80b8690) 16
+ vptr=((& QListWidget::_ZTV11QListWidget) + 816u)
+
+Vtable for QProxyModel
+QProxyModel::_ZTV11QProxyModel: 43u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QProxyModel)
+16 QProxyModel::metaObject
+24 QProxyModel::qt_metacast
+32 QProxyModel::qt_metacall
+40 QProxyModel::~QProxyModel
+48 QProxyModel::~QProxyModel
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QProxyModel::index
+120 QProxyModel::parent
+128 QProxyModel::rowCount
+136 QProxyModel::columnCount
+144 QProxyModel::hasChildren
+152 QProxyModel::data
+160 QProxyModel::setData
+168 QProxyModel::headerData
+176 QProxyModel::setHeaderData
+184 QAbstractItemModel::itemData
+192 QAbstractItemModel::setItemData
+200 QProxyModel::mimeTypes
+208 QProxyModel::mimeData
+216 QProxyModel::dropMimeData
+224 QProxyModel::supportedDropActions
+232 QProxyModel::insertRows
+240 QProxyModel::insertColumns
+248 QAbstractItemModel::removeRows
+256 QAbstractItemModel::removeColumns
+264 QProxyModel::fetchMore
+272 QAbstractItemModel::canFetchMore
+280 QProxyModel::flags
+288 QProxyModel::sort
+296 QAbstractItemModel::buddy
+304 QProxyModel::match
+312 QProxyModel::span
+320 QProxyModel::submit
+328 QProxyModel::revert
+336 QProxyModel::setModel
+
+Class QProxyModel
+ size=16 align=8
+ base size=16 base align=8
+QProxyModel (0x7faaa7ef1850) 0
+ vptr=((& QProxyModel::_ZTV11QProxyModel) + 16u)
+ QAbstractItemModel (0x7faaa7ef18c0) 0
+ primary-for QProxyModel (0x7faaa7ef1850)
+ QObject (0x7faaa7ef1930) 0
+ primary-for QAbstractItemModel (0x7faaa7ef18c0)
+
+Vtable for QSortFilterProxyModel
+QSortFilterProxyModel::_ZTV21QSortFilterProxyModel: 50u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI21QSortFilterProxyModel)
+16 QSortFilterProxyModel::metaObject
+24 QSortFilterProxyModel::qt_metacast
+32 QSortFilterProxyModel::qt_metacall
+40 QSortFilterProxyModel::~QSortFilterProxyModel
+48 QSortFilterProxyModel::~QSortFilterProxyModel
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QSortFilterProxyModel::index
+120 QSortFilterProxyModel::parent
+128 QSortFilterProxyModel::rowCount
+136 QSortFilterProxyModel::columnCount
+144 QSortFilterProxyModel::hasChildren
+152 QSortFilterProxyModel::data
+160 QSortFilterProxyModel::setData
+168 QSortFilterProxyModel::headerData
+176 QSortFilterProxyModel::setHeaderData
+184 QAbstractProxyModel::itemData
+192 QAbstractItemModel::setItemData
+200 QSortFilterProxyModel::mimeTypes
+208 QSortFilterProxyModel::mimeData
+216 QSortFilterProxyModel::dropMimeData
+224 QSortFilterProxyModel::supportedDropActions
+232 QSortFilterProxyModel::insertRows
+240 QSortFilterProxyModel::insertColumns
+248 QSortFilterProxyModel::removeRows
+256 QSortFilterProxyModel::removeColumns
+264 QSortFilterProxyModel::fetchMore
+272 QSortFilterProxyModel::canFetchMore
+280 QSortFilterProxyModel::flags
+288 QSortFilterProxyModel::sort
+296 QSortFilterProxyModel::buddy
+304 QSortFilterProxyModel::match
+312 QSortFilterProxyModel::span
+320 QAbstractProxyModel::submit
+328 QAbstractProxyModel::revert
+336 QSortFilterProxyModel::setSourceModel
+344 QSortFilterProxyModel::mapToSource
+352 QSortFilterProxyModel::mapFromSource
+360 QSortFilterProxyModel::mapSelectionToSource
+368 QSortFilterProxyModel::mapSelectionFromSource
+376 QSortFilterProxyModel::filterAcceptsRow
+384 QSortFilterProxyModel::filterAcceptsColumn
+392 QSortFilterProxyModel::lessThan
+
+Class QSortFilterProxyModel
+ size=16 align=8
+ base size=16 base align=8
+QSortFilterProxyModel (0x7faaa7f15700) 0
+ vptr=((& QSortFilterProxyModel::_ZTV21QSortFilterProxyModel) + 16u)
+ QAbstractProxyModel (0x7faaa7f15770) 0
+ primary-for QSortFilterProxyModel (0x7faaa7f15700)
+ QAbstractItemModel (0x7faaa7f157e0) 0
+ primary-for QAbstractProxyModel (0x7faaa7f15770)
+ QObject (0x7faaa7f15850) 0
+ primary-for QAbstractItemModel (0x7faaa7f157e0)
+
+Vtable for QStandardItem
+QStandardItem::_ZTV13QStandardItem: 11u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QStandardItem)
+16 QStandardItem::~QStandardItem
+24 QStandardItem::~QStandardItem
+32 QStandardItem::data
+40 QStandardItem::setData
+48 QStandardItem::clone
+56 QStandardItem::type
+64 QStandardItem::read
+72 QStandardItem::write
+80 QStandardItem::operator<
+
+Class QStandardItem
+ size=16 align=8
+ base size=16 base align=8
+QStandardItem (0x7faaa7f45620) 0
+ vptr=((& QStandardItem::_ZTV13QStandardItem) + 16u)
+
+Vtable for QStandardItemModel
+QStandardItemModel::_ZTV18QStandardItemModel: 42u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QStandardItemModel)
+16 QStandardItemModel::metaObject
+24 QStandardItemModel::qt_metacast
+32 QStandardItemModel::qt_metacall
+40 QStandardItemModel::~QStandardItemModel
+48 QStandardItemModel::~QStandardItemModel
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QStandardItemModel::index
+120 QStandardItemModel::parent
+128 QStandardItemModel::rowCount
+136 QStandardItemModel::columnCount
+144 QStandardItemModel::hasChildren
+152 QStandardItemModel::data
+160 QStandardItemModel::setData
+168 QStandardItemModel::headerData
+176 QStandardItemModel::setHeaderData
+184 QStandardItemModel::itemData
+192 QStandardItemModel::setItemData
+200 QStandardItemModel::mimeTypes
+208 QStandardItemModel::mimeData
+216 QStandardItemModel::dropMimeData
+224 QStandardItemModel::supportedDropActions
+232 QStandardItemModel::insertRows
+240 QStandardItemModel::insertColumns
+248 QStandardItemModel::removeRows
+256 QStandardItemModel::removeColumns
+264 QAbstractItemModel::fetchMore
+272 QAbstractItemModel::canFetchMore
+280 QStandardItemModel::flags
+288 QStandardItemModel::sort
+296 QAbstractItemModel::buddy
+304 QAbstractItemModel::match
+312 QAbstractItemModel::span
+320 QAbstractItemModel::submit
+328 QAbstractItemModel::revert
+
+Class QStandardItemModel
+ size=16 align=8
+ base size=16 base align=8
+QStandardItemModel (0x7faaa7e2f3f0) 0
+ vptr=((& QStandardItemModel::_ZTV18QStandardItemModel) + 16u)
+ QAbstractItemModel (0x7faaa7e2f460) 0
+ primary-for QStandardItemModel (0x7faaa7e2f3f0)
+ QObject (0x7faaa7e2f4d0) 0
+ primary-for QAbstractItemModel (0x7faaa7e2f460)
+
+Vtable for QStringListModel
+QStringListModel::_ZTV16QStringListModel: 42u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QStringListModel)
+16 QStringListModel::metaObject
+24 QStringListModel::qt_metacast
+32 QStringListModel::qt_metacall
+40 QStringListModel::~QStringListModel
+48 QStringListModel::~QStringListModel
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QAbstractListModel::index
+120 QAbstractListModel::parent
+128 QStringListModel::rowCount
+136 QAbstractListModel::columnCount
+144 QAbstractListModel::hasChildren
+152 QStringListModel::data
+160 QStringListModel::setData
+168 QAbstractItemModel::headerData
+176 QAbstractItemModel::setHeaderData
+184 QAbstractItemModel::itemData
+192 QAbstractItemModel::setItemData
+200 QAbstractItemModel::mimeTypes
+208 QAbstractItemModel::mimeData
+216 QAbstractListModel::dropMimeData
+224 QStringListModel::supportedDropActions
+232 QStringListModel::insertRows
+240 QAbstractItemModel::insertColumns
+248 QStringListModel::removeRows
+256 QAbstractItemModel::removeColumns
+264 QAbstractItemModel::fetchMore
+272 QAbstractItemModel::canFetchMore
+280 QStringListModel::flags
+288 QStringListModel::sort
+296 QAbstractItemModel::buddy
+304 QAbstractItemModel::match
+312 QAbstractItemModel::span
+320 QAbstractItemModel::submit
+328 QAbstractItemModel::revert
+
+Class QStringListModel
+ size=24 align=8
+ base size=24 base align=8
+QStringListModel (0x7faaa7e6af50) 0
+ vptr=((& QStringListModel::_ZTV16QStringListModel) + 16u)
+ QAbstractListModel (0x7faaa7e7d000) 0
+ primary-for QStringListModel (0x7faaa7e6af50)
+ QAbstractItemModel (0x7faaa7e7d070) 0
+ primary-for QAbstractListModel (0x7faaa7e7d000)
+ QObject (0x7faaa7e7d0e0) 0
+ primary-for QAbstractItemModel (0x7faaa7e7d070)
+
+Vtable for QStyledItemDelegate
+QStyledItemDelegate::_ZTV19QStyledItemDelegate: 23u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QStyledItemDelegate)
+16 QStyledItemDelegate::metaObject
+24 QStyledItemDelegate::qt_metacast
+32 QStyledItemDelegate::qt_metacall
+40 QStyledItemDelegate::~QStyledItemDelegate
+48 QStyledItemDelegate::~QStyledItemDelegate
+56 QObject::event
+64 QStyledItemDelegate::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QStyledItemDelegate::paint
+120 QStyledItemDelegate::sizeHint
+128 QStyledItemDelegate::createEditor
+136 QStyledItemDelegate::setEditorData
+144 QStyledItemDelegate::setModelData
+152 QStyledItemDelegate::updateEditorGeometry
+160 QStyledItemDelegate::editorEvent
+168 QStyledItemDelegate::displayText
+176 QStyledItemDelegate::initStyleOption
+
+Class QStyledItemDelegate
+ size=16 align=8
+ base size=16 base align=8
+QStyledItemDelegate (0x7faaa7e965b0) 0
+ vptr=((& QStyledItemDelegate::_ZTV19QStyledItemDelegate) + 16u)
+ QAbstractItemDelegate (0x7faaa7e96620) 0
+ primary-for QStyledItemDelegate (0x7faaa7e965b0)
+ QObject (0x7faaa7e96690) 0
+ primary-for QAbstractItemDelegate (0x7faaa7e96620)
+
+Vtable for QTableView
+QTableView::_ZTV10QTableView: 103u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QTableView)
+16 QTableView::metaObject
+24 QTableView::qt_metacast
+32 QTableView::qt_metacall
+40 QTableView::~QTableView
+48 QTableView::~QTableView
+56 QAbstractItemView::event
+64 QObject::eventFilter
+72 QTableView::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QAbstractScrollArea::sizeHint
+136 QAbstractScrollArea::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QAbstractItemView::mousePressEvent
+168 QAbstractItemView::mouseReleaseEvent
+176 QAbstractItemView::mouseDoubleClickEvent
+184 QAbstractItemView::mouseMoveEvent
+192 QAbstractScrollArea::wheelEvent
+200 QAbstractItemView::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QAbstractItemView::focusInEvent
+224 QAbstractItemView::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QTableView::paintEvent
+256 QWidget::moveEvent
+264 QAbstractItemView::resizeEvent
+272 QWidget::closeEvent
+280 QAbstractScrollArea::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QAbstractItemView::dragEnterEvent
+312 QAbstractItemView::dragMoveEvent
+320 QAbstractItemView::dragLeaveEvent
+328 QAbstractItemView::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QFrame::changeEvent
+368 QWidget::metric
+376 QAbstractItemView::inputMethodEvent
+384 QAbstractItemView::inputMethodQuery
+392 QAbstractItemView::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QAbstractItemView::viewportEvent
+456 QTableView::scrollContentsBy
+464 QTableView::setModel
+472 QTableView::setSelectionModel
+480 QAbstractItemView::keyboardSearch
+488 QTableView::visualRect
+496 QTableView::scrollTo
+504 QTableView::indexAt
+512 QTableView::sizeHintForRow
+520 QTableView::sizeHintForColumn
+528 QAbstractItemView::reset
+536 QTableView::setRootIndex
+544 QAbstractItemView::doItemsLayout
+552 QAbstractItemView::selectAll
+560 QAbstractItemView::dataChanged
+568 QAbstractItemView::rowsInserted
+576 QAbstractItemView::rowsAboutToBeRemoved
+584 QTableView::selectionChanged
+592 QTableView::currentChanged
+600 QAbstractItemView::updateEditorData
+608 QAbstractItemView::updateEditorGeometries
+616 QTableView::updateGeometries
+624 QTableView::verticalScrollbarAction
+632 QTableView::horizontalScrollbarAction
+640 QAbstractItemView::verticalScrollbarValueChanged
+648 QAbstractItemView::horizontalScrollbarValueChanged
+656 QAbstractItemView::closeEditor
+664 QAbstractItemView::commitData
+672 QAbstractItemView::editorDestroyed
+680 QTableView::moveCursor
+688 QTableView::horizontalOffset
+696 QTableView::verticalOffset
+704 QTableView::isIndexHidden
+712 QTableView::setSelection
+720 QTableView::visualRegionForSelection
+728 QTableView::selectedIndexes
+736 QAbstractItemView::edit
+744 QAbstractItemView::selectionCommand
+752 QAbstractItemView::startDrag
+760 QTableView::viewOptions
+768 (int (*)(...))-0x00000000000000010
+776 (int (*)(...))(& _ZTI10QTableView)
+784 QTableView::_ZThn16_N10QTableViewD1Ev
+792 QTableView::_ZThn16_N10QTableViewD0Ev
+800 QWidget::_ZThn16_NK7QWidget7devTypeEv
+808 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+816 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QTableView
+ size=40 align=8
+ base size=40 base align=8
+QTableView (0x7faaa7eacf50) 0
+ vptr=((& QTableView::_ZTV10QTableView) + 16u)
+ QAbstractItemView (0x7faaa7eb3000) 0
+ primary-for QTableView (0x7faaa7eacf50)
+ QAbstractScrollArea (0x7faaa7eb3070) 0
+ primary-for QAbstractItemView (0x7faaa7eb3000)
+ QFrame (0x7faaa7eb30e0) 0
+ primary-for QAbstractScrollArea (0x7faaa7eb3070)
+ QWidget (0x7faaa7e95b00) 0
+ primary-for QFrame (0x7faaa7eb30e0)
+ QObject (0x7faaa7eb3150) 0
+ primary-for QWidget (0x7faaa7e95b00)
+ QPaintDevice (0x7faaa7eb31c0) 16
+ vptr=((& QTableView::_ZTV10QTableView) + 784u)
+
+Class QTableWidgetSelectionRange
+ size=16 align=4
+ base size=16 base align=4
+QTableWidgetSelectionRange (0x7faaa7cdfd20) 0
+
+Vtable for QTableWidgetItem
+QTableWidgetItem::_ZTV16QTableWidgetItem: 10u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QTableWidgetItem)
+16 QTableWidgetItem::~QTableWidgetItem
+24 QTableWidgetItem::~QTableWidgetItem
+32 QTableWidgetItem::clone
+40 QTableWidgetItem::data
+48 QTableWidgetItem::setData
+56 QTableWidgetItem::operator<
+64 QTableWidgetItem::read
+72 QTableWidgetItem::write
+
+Class QTableWidgetItem
+ size=48 align=8
+ base size=44 base align=8
+QTableWidgetItem (0x7faaa7cee230) 0
+ vptr=((& QTableWidgetItem::_ZTV16QTableWidgetItem) + 16u)
+
+Vtable for QTableWidget
+QTableWidget::_ZTV12QTableWidget: 107u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QTableWidget)
+16 QTableWidget::metaObject
+24 QTableWidget::qt_metacast
+32 QTableWidget::qt_metacall
+40 QTableWidget::~QTableWidget
+48 QTableWidget::~QTableWidget
+56 QTableWidget::event
+64 QObject::eventFilter
+72 QTableView::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QAbstractScrollArea::sizeHint
+136 QAbstractScrollArea::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QAbstractItemView::mousePressEvent
+168 QAbstractItemView::mouseReleaseEvent
+176 QAbstractItemView::mouseDoubleClickEvent
+184 QAbstractItemView::mouseMoveEvent
+192 QAbstractScrollArea::wheelEvent
+200 QAbstractItemView::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QAbstractItemView::focusInEvent
+224 QAbstractItemView::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QTableView::paintEvent
+256 QWidget::moveEvent
+264 QAbstractItemView::resizeEvent
+272 QWidget::closeEvent
+280 QAbstractScrollArea::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QAbstractItemView::dragEnterEvent
+312 QAbstractItemView::dragMoveEvent
+320 QAbstractItemView::dragLeaveEvent
+328 QTableWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QFrame::changeEvent
+368 QWidget::metric
+376 QAbstractItemView::inputMethodEvent
+384 QAbstractItemView::inputMethodQuery
+392 QAbstractItemView::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QAbstractItemView::viewportEvent
+456 QTableView::scrollContentsBy
+464 QTableWidget::setModel
+472 QTableView::setSelectionModel
+480 QAbstractItemView::keyboardSearch
+488 QTableView::visualRect
+496 QTableView::scrollTo
+504 QTableView::indexAt
+512 QTableView::sizeHintForRow
+520 QTableView::sizeHintForColumn
+528 QAbstractItemView::reset
+536 QTableView::setRootIndex
+544 QAbstractItemView::doItemsLayout
+552 QAbstractItemView::selectAll
+560 QAbstractItemView::dataChanged
+568 QAbstractItemView::rowsInserted
+576 QAbstractItemView::rowsAboutToBeRemoved
+584 QTableView::selectionChanged
+592 QTableView::currentChanged
+600 QAbstractItemView::updateEditorData
+608 QAbstractItemView::updateEditorGeometries
+616 QTableView::updateGeometries
+624 QTableView::verticalScrollbarAction
+632 QTableView::horizontalScrollbarAction
+640 QAbstractItemView::verticalScrollbarValueChanged
+648 QAbstractItemView::horizontalScrollbarValueChanged
+656 QAbstractItemView::closeEditor
+664 QAbstractItemView::commitData
+672 QAbstractItemView::editorDestroyed
+680 QTableView::moveCursor
+688 QTableView::horizontalOffset
+696 QTableView::verticalOffset
+704 QTableView::isIndexHidden
+712 QTableView::setSelection
+720 QTableView::visualRegionForSelection
+728 QTableView::selectedIndexes
+736 QAbstractItemView::edit
+744 QAbstractItemView::selectionCommand
+752 QAbstractItemView::startDrag
+760 QTableView::viewOptions
+768 QTableWidget::mimeTypes
+776 QTableWidget::mimeData
+784 QTableWidget::dropMimeData
+792 QTableWidget::supportedDropActions
+800 (int (*)(...))-0x00000000000000010
+808 (int (*)(...))(& _ZTI12QTableWidget)
+816 QTableWidget::_ZThn16_N12QTableWidgetD1Ev
+824 QTableWidget::_ZThn16_N12QTableWidgetD0Ev
+832 QWidget::_ZThn16_NK7QWidget7devTypeEv
+840 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+848 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QTableWidget
+ size=40 align=8
+ base size=40 base align=8
+QTableWidget (0x7faaa7d627e0) 0
+ vptr=((& QTableWidget::_ZTV12QTableWidget) + 16u)
+ QTableView (0x7faaa7d62850) 0
+ primary-for QTableWidget (0x7faaa7d627e0)
+ QAbstractItemView (0x7faaa7d628c0) 0
+ primary-for QTableView (0x7faaa7d62850)
+ QAbstractScrollArea (0x7faaa7d62930) 0
+ primary-for QAbstractItemView (0x7faaa7d628c0)
+ QFrame (0x7faaa7d629a0) 0
+ primary-for QAbstractScrollArea (0x7faaa7d62930)
+ QWidget (0x7faaa7d58c80) 0
+ primary-for QFrame (0x7faaa7d629a0)
+ QObject (0x7faaa7d62a10) 0
+ primary-for QWidget (0x7faaa7d58c80)
+ QPaintDevice (0x7faaa7d62a80) 16
+ vptr=((& QTableWidget::_ZTV12QTableWidget) + 816u)
+
+Vtable for QTreeView
+QTreeView::_ZTV9QTreeView: 105u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QTreeView)
+16 QTreeView::metaObject
+24 QTreeView::qt_metacast
+32 QTreeView::qt_metacall
+40 QTreeView::~QTreeView
+48 QTreeView::~QTreeView
+56 QAbstractItemView::event
+64 QObject::eventFilter
+72 QTreeView::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QAbstractScrollArea::sizeHint
+136 QAbstractScrollArea::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QTreeView::mousePressEvent
+168 QTreeView::mouseReleaseEvent
+176 QTreeView::mouseDoubleClickEvent
+184 QTreeView::mouseMoveEvent
+192 QAbstractScrollArea::wheelEvent
+200 QTreeView::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QAbstractItemView::focusInEvent
+224 QAbstractItemView::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QTreeView::paintEvent
+256 QWidget::moveEvent
+264 QAbstractItemView::resizeEvent
+272 QWidget::closeEvent
+280 QAbstractScrollArea::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QAbstractItemView::dragEnterEvent
+312 QTreeView::dragMoveEvent
+320 QAbstractItemView::dragLeaveEvent
+328 QAbstractItemView::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QFrame::changeEvent
+368 QWidget::metric
+376 QAbstractItemView::inputMethodEvent
+384 QAbstractItemView::inputMethodQuery
+392 QAbstractItemView::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QTreeView::viewportEvent
+456 QTreeView::scrollContentsBy
+464 QTreeView::setModel
+472 QTreeView::setSelectionModel
+480 QTreeView::keyboardSearch
+488 QTreeView::visualRect
+496 QTreeView::scrollTo
+504 QTreeView::indexAt
+512 QAbstractItemView::sizeHintForRow
+520 QTreeView::sizeHintForColumn
+528 QTreeView::reset
+536 QTreeView::setRootIndex
+544 QTreeView::doItemsLayout
+552 QTreeView::selectAll
+560 QTreeView::dataChanged
+568 QTreeView::rowsInserted
+576 QTreeView::rowsAboutToBeRemoved
+584 QTreeView::selectionChanged
+592 QTreeView::currentChanged
+600 QAbstractItemView::updateEditorData
+608 QAbstractItemView::updateEditorGeometries
+616 QTreeView::updateGeometries
+624 QAbstractItemView::verticalScrollbarAction
+632 QTreeView::horizontalScrollbarAction
+640 QAbstractItemView::verticalScrollbarValueChanged
+648 QAbstractItemView::horizontalScrollbarValueChanged
+656 QAbstractItemView::closeEditor
+664 QAbstractItemView::commitData
+672 QAbstractItemView::editorDestroyed
+680 QTreeView::moveCursor
+688 QTreeView::horizontalOffset
+696 QTreeView::verticalOffset
+704 QTreeView::isIndexHidden
+712 QTreeView::setSelection
+720 QTreeView::visualRegionForSelection
+728 QTreeView::selectedIndexes
+736 QAbstractItemView::edit
+744 QAbstractItemView::selectionCommand
+752 QAbstractItemView::startDrag
+760 QAbstractItemView::viewOptions
+768 QTreeView::drawRow
+776 QTreeView::drawBranches
+784 (int (*)(...))-0x00000000000000010
+792 (int (*)(...))(& _ZTI9QTreeView)
+800 QTreeView::_ZThn16_N9QTreeViewD1Ev
+808 QTreeView::_ZThn16_N9QTreeViewD0Ev
+816 QWidget::_ZThn16_NK7QWidget7devTypeEv
+824 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+832 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QTreeView
+ size=40 align=8
+ base size=40 base align=8
+QTreeView (0x7faaa7da0770) 0
+ vptr=((& QTreeView::_ZTV9QTreeView) + 16u)
+ QAbstractItemView (0x7faaa7da07e0) 0
+ primary-for QTreeView (0x7faaa7da0770)
+ QAbstractScrollArea (0x7faaa7da0850) 0
+ primary-for QAbstractItemView (0x7faaa7da07e0)
+ QFrame (0x7faaa7da08c0) 0
+ primary-for QAbstractScrollArea (0x7faaa7da0850)
+ QWidget (0x7faaa7d9f600) 0
+ primary-for QFrame (0x7faaa7da08c0)
+ QObject (0x7faaa7da0930) 0
+ primary-for QWidget (0x7faaa7d9f600)
+ QPaintDevice (0x7faaa7da09a0) 16
+ vptr=((& QTreeView::_ZTV9QTreeView) + 800u)
+
+Class QTreeWidgetItemIterator
+ size=24 align=8
+ base size=20 base align=8
+QTreeWidgetItemIterator (0x7faaa7dd9540) 0
+
+Vtable for QTreeWidgetItem
+QTreeWidgetItem::_ZTV15QTreeWidgetItem: 10u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QTreeWidgetItem)
+16 QTreeWidgetItem::~QTreeWidgetItem
+24 QTreeWidgetItem::~QTreeWidgetItem
+32 QTreeWidgetItem::clone
+40 QTreeWidgetItem::data
+48 QTreeWidgetItem::setData
+56 QTreeWidgetItem::operator<
+64 QTreeWidgetItem::read
+72 QTreeWidgetItem::write
+
+Class QTreeWidgetItem
+ size=64 align=8
+ base size=60 base align=8
+QTreeWidgetItem (0x7faaa7c472a0) 0
+ vptr=((& QTreeWidgetItem::_ZTV15QTreeWidgetItem) + 16u)
+
+Vtable for QTreeWidget
+QTreeWidget::_ZTV11QTreeWidget: 109u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QTreeWidget)
+16 QTreeWidget::metaObject
+24 QTreeWidget::qt_metacast
+32 QTreeWidget::qt_metacall
+40 QTreeWidget::~QTreeWidget
+48 QTreeWidget::~QTreeWidget
+56 QTreeWidget::event
+64 QObject::eventFilter
+72 QTreeView::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QAbstractScrollArea::sizeHint
+136 QAbstractScrollArea::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QTreeView::mousePressEvent
+168 QTreeView::mouseReleaseEvent
+176 QTreeView::mouseDoubleClickEvent
+184 QTreeView::mouseMoveEvent
+192 QAbstractScrollArea::wheelEvent
+200 QTreeView::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QAbstractItemView::focusInEvent
+224 QAbstractItemView::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QTreeView::paintEvent
+256 QWidget::moveEvent
+264 QAbstractItemView::resizeEvent
+272 QWidget::closeEvent
+280 QAbstractScrollArea::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QAbstractItemView::dragEnterEvent
+312 QTreeView::dragMoveEvent
+320 QAbstractItemView::dragLeaveEvent
+328 QTreeWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QFrame::changeEvent
+368 QWidget::metric
+376 QAbstractItemView::inputMethodEvent
+384 QAbstractItemView::inputMethodQuery
+392 QAbstractItemView::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QTreeView::viewportEvent
+456 QTreeView::scrollContentsBy
+464 QTreeWidget::setModel
+472 QTreeWidget::setSelectionModel
+480 QTreeView::keyboardSearch
+488 QTreeView::visualRect
+496 QTreeView::scrollTo
+504 QTreeView::indexAt
+512 QAbstractItemView::sizeHintForRow
+520 QTreeView::sizeHintForColumn
+528 QTreeView::reset
+536 QTreeView::setRootIndex
+544 QTreeView::doItemsLayout
+552 QTreeView::selectAll
+560 QTreeView::dataChanged
+568 QTreeView::rowsInserted
+576 QTreeView::rowsAboutToBeRemoved
+584 QTreeView::selectionChanged
+592 QTreeView::currentChanged
+600 QAbstractItemView::updateEditorData
+608 QAbstractItemView::updateEditorGeometries
+616 QTreeView::updateGeometries
+624 QAbstractItemView::verticalScrollbarAction
+632 QTreeView::horizontalScrollbarAction
+640 QAbstractItemView::verticalScrollbarValueChanged
+648 QAbstractItemView::horizontalScrollbarValueChanged
+656 QAbstractItemView::closeEditor
+664 QAbstractItemView::commitData
+672 QAbstractItemView::editorDestroyed
+680 QTreeView::moveCursor
+688 QTreeView::horizontalOffset
+696 QTreeView::verticalOffset
+704 QTreeView::isIndexHidden
+712 QTreeView::setSelection
+720 QTreeView::visualRegionForSelection
+728 QTreeView::selectedIndexes
+736 QAbstractItemView::edit
+744 QAbstractItemView::selectionCommand
+752 QAbstractItemView::startDrag
+760 QAbstractItemView::viewOptions
+768 QTreeView::drawRow
+776 QTreeView::drawBranches
+784 QTreeWidget::mimeTypes
+792 QTreeWidget::mimeData
+800 QTreeWidget::dropMimeData
+808 QTreeWidget::supportedDropActions
+816 (int (*)(...))-0x00000000000000010
+824 (int (*)(...))(& _ZTI11QTreeWidget)
+832 QTreeWidget::_ZThn16_N11QTreeWidgetD1Ev
+840 QTreeWidget::_ZThn16_N11QTreeWidgetD0Ev
+848 QWidget::_ZThn16_NK7QWidget7devTypeEv
+856 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+864 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QTreeWidget
+ size=40 align=8
+ base size=40 base align=8
+QTreeWidget (0x7faaa7af58c0) 0
+ vptr=((& QTreeWidget::_ZTV11QTreeWidget) + 16u)
+ QTreeView (0x7faaa7af5930) 0
+ primary-for QTreeWidget (0x7faaa7af58c0)
+ QAbstractItemView (0x7faaa7af59a0) 0
+ primary-for QTreeView (0x7faaa7af5930)
+ QAbstractScrollArea (0x7faaa7af5a10) 0
+ primary-for QAbstractItemView (0x7faaa7af59a0)
+ QFrame (0x7faaa7af5a80) 0
+ primary-for QAbstractScrollArea (0x7faaa7af5a10)
+ QWidget (0x7faaa7af6200) 0
+ primary-for QFrame (0x7faaa7af5a80)
+ QObject (0x7faaa7af5af0) 0
+ primary-for QWidget (0x7faaa7af6200)
+ QPaintDevice (0x7faaa7af5b60) 16
+ vptr=((& QTreeWidget::_ZTV11QTreeWidget) + 832u)
+
+Class QAccessible
+ size=1 align=1
+ base size=0 base align=1
+QAccessible (0x7faaa7b3cc40) 0 empty
+
+Vtable for QAccessibleInterface
+QAccessibleInterface::_ZTV20QAccessibleInterface: 19u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI20QAccessibleInterface)
+16 QAccessibleInterface::~QAccessibleInterface
+24 QAccessibleInterface::~QAccessibleInterface
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+48 __cxa_pure_virtual
+56 __cxa_pure_virtual
+64 __cxa_pure_virtual
+72 __cxa_pure_virtual
+80 __cxa_pure_virtual
+88 __cxa_pure_virtual
+96 __cxa_pure_virtual
+104 __cxa_pure_virtual
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 __cxa_pure_virtual
+136 __cxa_pure_virtual
+144 __cxa_pure_virtual
+
+Class QAccessibleInterface
+ size=8 align=8
+ base size=8 base align=8
+QAccessibleInterface (0x7faaa79e6e00) 0 nearly-empty
+ vptr=((& QAccessibleInterface::_ZTV20QAccessibleInterface) + 16u)
+ QAccessible (0x7faaa79e6e70) 0 empty
+
+Vtable for QAccessibleInterfaceEx
+QAccessibleInterfaceEx::_ZTV22QAccessibleInterfaceEx: 22u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI22QAccessibleInterfaceEx)
+16 QAccessibleInterfaceEx::~QAccessibleInterfaceEx
+24 QAccessibleInterfaceEx::~QAccessibleInterfaceEx
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+48 __cxa_pure_virtual
+56 __cxa_pure_virtual
+64 __cxa_pure_virtual
+72 __cxa_pure_virtual
+80 __cxa_pure_virtual
+88 __cxa_pure_virtual
+96 __cxa_pure_virtual
+104 __cxa_pure_virtual
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 __cxa_pure_virtual
+136 __cxa_pure_virtual
+144 __cxa_pure_virtual
+152 __cxa_pure_virtual
+160 QAccessibleInterfaceEx::virtual_hook
+168 QAccessibleInterfaceEx::interface_cast
+
+Class QAccessibleInterfaceEx
+ size=8 align=8
+ base size=8 base align=8
+QAccessibleInterfaceEx (0x7faaa7a63b60) 0 nearly-empty
+ vptr=((& QAccessibleInterfaceEx::_ZTV22QAccessibleInterfaceEx) + 16u)
+ QAccessibleInterface (0x7faaa7a63bd0) 0 nearly-empty
+ primary-for QAccessibleInterfaceEx (0x7faaa7a63b60)
+ QAccessible (0x7faaa7a63c40) 0 empty
+
+Vtable for QAccessibleEvent
+QAccessibleEvent::_ZTV16QAccessibleEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QAccessibleEvent)
+16 QAccessibleEvent::~QAccessibleEvent
+24 QAccessibleEvent::~QAccessibleEvent
+
+Class QAccessibleEvent
+ size=32 align=8
+ base size=32 base align=8
+QAccessibleEvent (0x7faaa7a63ee0) 0
+ vptr=((& QAccessibleEvent::_ZTV16QAccessibleEvent) + 16u)
+ QEvent (0x7faaa7a63f50) 0
+ primary-for QAccessibleEvent (0x7faaa7a63ee0)
+
+Vtable for QAccessible2Interface
+QAccessible2Interface::_ZTV21QAccessible2Interface: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI21QAccessible2Interface)
+16 QAccessible2Interface::~QAccessible2Interface
+24 QAccessible2Interface::~QAccessible2Interface
+
+Class QAccessible2Interface
+ size=8 align=8
+ base size=8 base align=8
+QAccessible2Interface (0x7faaa7a78f50) 0 nearly-empty
+ vptr=((& QAccessible2Interface::_ZTV21QAccessible2Interface) + 16u)
+
+Vtable for QAccessibleTextInterface
+QAccessibleTextInterface::_ZTV24QAccessibleTextInterface: 20u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI24QAccessibleTextInterface)
+16 QAccessibleTextInterface::~QAccessibleTextInterface
+24 QAccessibleTextInterface::~QAccessibleTextInterface
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+48 __cxa_pure_virtual
+56 __cxa_pure_virtual
+64 __cxa_pure_virtual
+72 __cxa_pure_virtual
+80 __cxa_pure_virtual
+88 __cxa_pure_virtual
+96 __cxa_pure_virtual
+104 __cxa_pure_virtual
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 __cxa_pure_virtual
+136 __cxa_pure_virtual
+144 __cxa_pure_virtual
+152 __cxa_pure_virtual
+
+Class QAccessibleTextInterface
+ size=8 align=8
+ base size=8 base align=8
+QAccessibleTextInterface (0x7faaa7a8f1c0) 0 nearly-empty
+ vptr=((& QAccessibleTextInterface::_ZTV24QAccessibleTextInterface) + 16u)
+ QAccessible2Interface (0x7faaa7a8f230) 0 nearly-empty
+ primary-for QAccessibleTextInterface (0x7faaa7a8f1c0)
+
+Vtable for QAccessibleEditableTextInterface
+QAccessibleEditableTextInterface::_ZTV32QAccessibleEditableTextInterface: 11u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI32QAccessibleEditableTextInterface)
+16 QAccessibleEditableTextInterface::~QAccessibleEditableTextInterface
+24 QAccessibleEditableTextInterface::~QAccessibleEditableTextInterface
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+48 __cxa_pure_virtual
+56 __cxa_pure_virtual
+64 __cxa_pure_virtual
+72 __cxa_pure_virtual
+80 __cxa_pure_virtual
+
+Class QAccessibleEditableTextInterface
+ size=8 align=8
+ base size=8 base align=8
+QAccessibleEditableTextInterface (0x7faaa7aa1070) 0 nearly-empty
+ vptr=((& QAccessibleEditableTextInterface::_ZTV32QAccessibleEditableTextInterface) + 16u)
+ QAccessible2Interface (0x7faaa7aa10e0) 0 nearly-empty
+ primary-for QAccessibleEditableTextInterface (0x7faaa7aa1070)
+
+Vtable for QAccessibleSimpleEditableTextInterface
+QAccessibleSimpleEditableTextInterface::_ZTV38QAccessibleSimpleEditableTextInterface: 11u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI38QAccessibleSimpleEditableTextInterface)
+16 QAccessibleSimpleEditableTextInterface::~QAccessibleSimpleEditableTextInterface
+24 QAccessibleSimpleEditableTextInterface::~QAccessibleSimpleEditableTextInterface
+32 QAccessibleSimpleEditableTextInterface::copyText
+40 QAccessibleSimpleEditableTextInterface::deleteText
+48 QAccessibleSimpleEditableTextInterface::insertText
+56 QAccessibleSimpleEditableTextInterface::cutText
+64 QAccessibleSimpleEditableTextInterface::pasteText
+72 QAccessibleSimpleEditableTextInterface::replaceText
+80 QAccessibleSimpleEditableTextInterface::setAttributes
+
+Class QAccessibleSimpleEditableTextInterface
+ size=16 align=8
+ base size=16 base align=8
+QAccessibleSimpleEditableTextInterface (0x7faaa7aa1f50) 0
+ vptr=((& QAccessibleSimpleEditableTextInterface::_ZTV38QAccessibleSimpleEditableTextInterface) + 16u)
+ QAccessibleEditableTextInterface (0x7faaa7aa1310) 0 nearly-empty
+ primary-for QAccessibleSimpleEditableTextInterface (0x7faaa7aa1f50)
+ QAccessible2Interface (0x7faaa7aab000) 0 nearly-empty
+ primary-for QAccessibleEditableTextInterface (0x7faaa7aa1310)
+
+Vtable for QAccessibleValueInterface
+QAccessibleValueInterface::_ZTV25QAccessibleValueInterface: 8u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI25QAccessibleValueInterface)
+16 QAccessibleValueInterface::~QAccessibleValueInterface
+24 QAccessibleValueInterface::~QAccessibleValueInterface
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+48 __cxa_pure_virtual
+56 __cxa_pure_virtual
+
+Class QAccessibleValueInterface
+ size=8 align=8
+ base size=8 base align=8
+QAccessibleValueInterface (0x7faaa7aab230) 0 nearly-empty
+ vptr=((& QAccessibleValueInterface::_ZTV25QAccessibleValueInterface) + 16u)
+ QAccessible2Interface (0x7faaa7aab2a0) 0 nearly-empty
+ primary-for QAccessibleValueInterface (0x7faaa7aab230)
+
+Vtable for QAccessibleTableInterface
+QAccessibleTableInterface::_ZTV25QAccessibleTableInterface: 30u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI25QAccessibleTableInterface)
+16 QAccessibleTableInterface::~QAccessibleTableInterface
+24 QAccessibleTableInterface::~QAccessibleTableInterface
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+48 __cxa_pure_virtual
+56 __cxa_pure_virtual
+64 __cxa_pure_virtual
+72 __cxa_pure_virtual
+80 __cxa_pure_virtual
+88 __cxa_pure_virtual
+96 __cxa_pure_virtual
+104 __cxa_pure_virtual
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 __cxa_pure_virtual
+136 __cxa_pure_virtual
+144 __cxa_pure_virtual
+152 __cxa_pure_virtual
+160 __cxa_pure_virtual
+168 __cxa_pure_virtual
+176 __cxa_pure_virtual
+184 __cxa_pure_virtual
+192 __cxa_pure_virtual
+200 __cxa_pure_virtual
+208 __cxa_pure_virtual
+216 __cxa_pure_virtual
+224 __cxa_pure_virtual
+232 __cxa_pure_virtual
+
+Class QAccessibleTableInterface
+ size=8 align=8
+ base size=8 base align=8
+QAccessibleTableInterface (0x7faaa7abc070) 0 nearly-empty
+ vptr=((& QAccessibleTableInterface::_ZTV25QAccessibleTableInterface) + 16u)
+ QAccessible2Interface (0x7faaa7abc0e0) 0 nearly-empty
+ primary-for QAccessibleTableInterface (0x7faaa7abc070)
+
+Vtable for QAccessibleActionInterface
+QAccessibleActionInterface::_ZTV26QAccessibleActionInterface: 10u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI26QAccessibleActionInterface)
+16 QAccessibleActionInterface::~QAccessibleActionInterface
+24 QAccessibleActionInterface::~QAccessibleActionInterface
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+48 __cxa_pure_virtual
+56 __cxa_pure_virtual
+64 __cxa_pure_virtual
+72 __cxa_pure_virtual
+
+Class QAccessibleActionInterface
+ size=8 align=8
+ base size=8 base align=8
+QAccessibleActionInterface (0x7faaa7abc460) 0 nearly-empty
+ vptr=((& QAccessibleActionInterface::_ZTV26QAccessibleActionInterface) + 16u)
+ QAccessible2Interface (0x7faaa7abc4d0) 0 nearly-empty
+ primary-for QAccessibleActionInterface (0x7faaa7abc460)
+
+Vtable for QAccessibleImageInterface
+QAccessibleImageInterface::_ZTV25QAccessibleImageInterface: 7u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI25QAccessibleImageInterface)
+16 QAccessibleImageInterface::~QAccessibleImageInterface
+24 QAccessibleImageInterface::~QAccessibleImageInterface
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+48 __cxa_pure_virtual
+
+Class QAccessibleImageInterface
+ size=8 align=8
+ base size=8 base align=8
+QAccessibleImageInterface (0x7faaa7abc850) 0 nearly-empty
+ vptr=((& QAccessibleImageInterface::_ZTV25QAccessibleImageInterface) + 16u)
+ QAccessible2Interface (0x7faaa7abc8c0) 0 nearly-empty
+ primary-for QAccessibleImageInterface (0x7faaa7abc850)
+
+Vtable for QAccessibleBridge
+QAccessibleBridge::_ZTV17QAccessibleBridge: 6u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QAccessibleBridge)
+16 QAccessibleBridge::~QAccessibleBridge
+24 QAccessibleBridge::~QAccessibleBridge
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+
+Class QAccessibleBridge
+ size=8 align=8
+ base size=8 base align=8
+QAccessibleBridge (0x7faaa7abcc40) 0 nearly-empty
+ vptr=((& QAccessibleBridge::_ZTV17QAccessibleBridge) + 16u)
+
+Vtable for QAccessibleBridgeFactoryInterface
+QAccessibleBridgeFactoryInterface::_ZTV33QAccessibleBridgeFactoryInterface: 6u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI33QAccessibleBridgeFactoryInterface)
+16 QAccessibleBridgeFactoryInterface::~QAccessibleBridgeFactoryInterface
+24 QAccessibleBridgeFactoryInterface::~QAccessibleBridgeFactoryInterface
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+
+Class QAccessibleBridgeFactoryInterface
+ size=8 align=8
+ base size=8 base align=8
+QAccessibleBridgeFactoryInterface (0x7faaa7ad5540) 0 nearly-empty
+ vptr=((& QAccessibleBridgeFactoryInterface::_ZTV33QAccessibleBridgeFactoryInterface) + 16u)
+ QFactoryInterface (0x7faaa7ad55b0) 0 nearly-empty
+ primary-for QAccessibleBridgeFactoryInterface (0x7faaa7ad5540)
+
+Vtable for QAccessibleBridgePlugin
+QAccessibleBridgePlugin::_ZTV23QAccessibleBridgePlugin: 22u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI23QAccessibleBridgePlugin)
+16 QAccessibleBridgePlugin::metaObject
+24 QAccessibleBridgePlugin::qt_metacast
+32 QAccessibleBridgePlugin::qt_metacall
+40 QAccessibleBridgePlugin::~QAccessibleBridgePlugin
+48 QAccessibleBridgePlugin::~QAccessibleBridgePlugin
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 (int (*)(...))-0x00000000000000010
+136 (int (*)(...))(& _ZTI23QAccessibleBridgePlugin)
+144 QAccessibleBridgePlugin::_ZThn16_N23QAccessibleBridgePluginD1Ev
+152 QAccessibleBridgePlugin::_ZThn16_N23QAccessibleBridgePluginD0Ev
+160 __cxa_pure_virtual
+168 __cxa_pure_virtual
+
+Class QAccessibleBridgePlugin
+ size=24 align=8
+ base size=24 base align=8
+QAccessibleBridgePlugin (0x7faaa78e0580) 0
+ vptr=((& QAccessibleBridgePlugin::_ZTV23QAccessibleBridgePlugin) + 16u)
+ QObject (0x7faaa7ad5620) 0
+ primary-for QAccessibleBridgePlugin (0x7faaa78e0580)
+ QAccessibleBridgeFactoryInterface (0x7faaa78e5000) 16 nearly-empty
+ vptr=((& QAccessibleBridgePlugin::_ZTV23QAccessibleBridgePlugin) + 144u)
+ QFactoryInterface (0x7faaa78e5070) 16 nearly-empty
+ primary-for QAccessibleBridgeFactoryInterface (0x7faaa78e5000)
+
+Vtable for QAccessibleObject
+QAccessibleObject::_ZTV17QAccessibleObject: 19u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QAccessibleObject)
+16 QAccessibleObject::~QAccessibleObject
+24 QAccessibleObject::~QAccessibleObject
+32 QAccessibleObject::isValid
+40 QAccessibleObject::object
+48 __cxa_pure_virtual
+56 __cxa_pure_virtual
+64 __cxa_pure_virtual
+72 __cxa_pure_virtual
+80 __cxa_pure_virtual
+88 __cxa_pure_virtual
+96 QAccessibleObject::setText
+104 QAccessibleObject::rect
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 QAccessibleObject::userActionCount
+136 QAccessibleObject::actionText
+144 QAccessibleObject::doAction
+
+Class QAccessibleObject
+ size=16 align=8
+ base size=16 base align=8
+QAccessibleObject (0x7faaa78e5f50) 0
+ vptr=((& QAccessibleObject::_ZTV17QAccessibleObject) + 16u)
+ QAccessibleInterface (0x7faaa78e5310) 0 nearly-empty
+ primary-for QAccessibleObject (0x7faaa78e5f50)
+ QAccessible (0x7faaa78f6000) 0 empty
+
+Vtable for QAccessibleObjectEx
+QAccessibleObjectEx::_ZTV19QAccessibleObjectEx: 22u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QAccessibleObjectEx)
+16 QAccessibleObjectEx::~QAccessibleObjectEx
+24 QAccessibleObjectEx::~QAccessibleObjectEx
+32 QAccessibleObjectEx::isValid
+40 QAccessibleObjectEx::object
+48 __cxa_pure_virtual
+56 __cxa_pure_virtual
+64 __cxa_pure_virtual
+72 __cxa_pure_virtual
+80 __cxa_pure_virtual
+88 __cxa_pure_virtual
+96 QAccessibleObjectEx::setText
+104 QAccessibleObjectEx::rect
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 QAccessibleObjectEx::userActionCount
+136 QAccessibleObjectEx::actionText
+144 QAccessibleObjectEx::doAction
+152 __cxa_pure_virtual
+160 QAccessibleInterfaceEx::virtual_hook
+168 QAccessibleInterfaceEx::interface_cast
+
+Class QAccessibleObjectEx
+ size=16 align=8
+ base size=16 base align=8
+QAccessibleObjectEx (0x7faaa78f6700) 0
+ vptr=((& QAccessibleObjectEx::_ZTV19QAccessibleObjectEx) + 16u)
+ QAccessibleInterfaceEx (0x7faaa78f6770) 0 nearly-empty
+ primary-for QAccessibleObjectEx (0x7faaa78f6700)
+ QAccessibleInterface (0x7faaa78f67e0) 0 nearly-empty
+ primary-for QAccessibleInterfaceEx (0x7faaa78f6770)
+ QAccessible (0x7faaa78f6850) 0 empty
+
+Vtable for QAccessibleApplication
+QAccessibleApplication::_ZTV22QAccessibleApplication: 19u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI22QAccessibleApplication)
+16 QAccessibleApplication::~QAccessibleApplication
+24 QAccessibleApplication::~QAccessibleApplication
+32 QAccessibleObject::isValid
+40 QAccessibleObject::object
+48 QAccessibleApplication::childCount
+56 QAccessibleApplication::indexOfChild
+64 QAccessibleApplication::relationTo
+72 QAccessibleApplication::childAt
+80 QAccessibleApplication::navigate
+88 QAccessibleApplication::text
+96 QAccessibleObject::setText
+104 QAccessibleObject::rect
+112 QAccessibleApplication::role
+120 QAccessibleApplication::state
+128 QAccessibleApplication::userActionCount
+136 QAccessibleApplication::actionText
+144 QAccessibleApplication::doAction
+
+Class QAccessibleApplication
+ size=16 align=8
+ base size=16 base align=8
+QAccessibleApplication (0x7faaa78f6f50) 0
+ vptr=((& QAccessibleApplication::_ZTV22QAccessibleApplication) + 16u)
+ QAccessibleObject (0x7faaa78f6690) 0
+ primary-for QAccessibleApplication (0x7faaa78f6f50)
+ QAccessibleInterface (0x7faaa78f6ee0) 0 nearly-empty
+ primary-for QAccessibleObject (0x7faaa78f6690)
+ QAccessible (0x7faaa7908000) 0 empty
+
+Vtable for QAccessibleFactoryInterface
+QAccessibleFactoryInterface::_ZTV27QAccessibleFactoryInterface: 6u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI27QAccessibleFactoryInterface)
+16 QAccessibleFactoryInterface::~QAccessibleFactoryInterface
+24 QAccessibleFactoryInterface::~QAccessibleFactoryInterface
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+
+Class QAccessibleFactoryInterface
+ size=8 align=8
+ base size=8 base align=8
+QAccessibleFactoryInterface (0x7faaa78e0e00) 0 nearly-empty
+ vptr=((& QAccessibleFactoryInterface::_ZTV27QAccessibleFactoryInterface) + 16u)
+ QAccessible (0x7faaa79088c0) 0 empty
+ QFactoryInterface (0x7faaa7908930) 0 nearly-empty
+ primary-for QAccessibleFactoryInterface (0x7faaa78e0e00)
+
+Vtable for QAccessiblePlugin
+QAccessiblePlugin::_ZTV17QAccessiblePlugin: 22u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QAccessiblePlugin)
+16 QAccessiblePlugin::metaObject
+24 QAccessiblePlugin::qt_metacast
+32 QAccessiblePlugin::qt_metacall
+40 QAccessiblePlugin::~QAccessiblePlugin
+48 QAccessiblePlugin::~QAccessiblePlugin
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 (int (*)(...))-0x00000000000000010
+136 (int (*)(...))(& _ZTI17QAccessiblePlugin)
+144 QAccessiblePlugin::_ZThn16_N17QAccessiblePluginD1Ev
+152 QAccessiblePlugin::_ZThn16_N17QAccessiblePluginD0Ev
+160 __cxa_pure_virtual
+168 __cxa_pure_virtual
+
+Class QAccessiblePlugin
+ size=24 align=8
+ base size=24 base align=8
+QAccessiblePlugin (0x7faaa7914800) 0
+ vptr=((& QAccessiblePlugin::_ZTV17QAccessiblePlugin) + 16u)
+ QObject (0x7faaa791b2a0) 0
+ primary-for QAccessiblePlugin (0x7faaa7914800)
+ QAccessibleFactoryInterface (0x7faaa7914880) 16 nearly-empty
+ vptr=((& QAccessiblePlugin::_ZTV17QAccessiblePlugin) + 144u)
+ QAccessible (0x7faaa791b310) 16 empty
+ QFactoryInterface (0x7faaa791b380) 16 nearly-empty
+ primary-for QAccessibleFactoryInterface (0x7faaa7914880)
+
+Vtable for QAccessibleWidget
+QAccessibleWidget::_ZTV17QAccessibleWidget: 19u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QAccessibleWidget)
+16 QAccessibleWidget::~QAccessibleWidget
+24 QAccessibleWidget::~QAccessibleWidget
+32 QAccessibleObject::isValid
+40 QAccessibleObject::object
+48 QAccessibleWidget::childCount
+56 QAccessibleWidget::indexOfChild
+64 QAccessibleWidget::relationTo
+72 QAccessibleWidget::childAt
+80 QAccessibleWidget::navigate
+88 QAccessibleWidget::text
+96 QAccessibleObject::setText
+104 QAccessibleWidget::rect
+112 QAccessibleWidget::role
+120 QAccessibleWidget::state
+128 QAccessibleWidget::userActionCount
+136 QAccessibleWidget::actionText
+144 QAccessibleWidget::doAction
+
+Class QAccessibleWidget
+ size=24 align=8
+ base size=24 base align=8
+QAccessibleWidget (0x7faaa792b310) 0
+ vptr=((& QAccessibleWidget::_ZTV17QAccessibleWidget) + 16u)
+ QAccessibleObject (0x7faaa792b380) 0
+ primary-for QAccessibleWidget (0x7faaa792b310)
+ QAccessibleInterface (0x7faaa792b3f0) 0 nearly-empty
+ primary-for QAccessibleObject (0x7faaa792b380)
+ QAccessible (0x7faaa792b460) 0 empty
+
+Vtable for QAccessibleWidgetEx
+QAccessibleWidgetEx::_ZTV19QAccessibleWidgetEx: 22u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QAccessibleWidgetEx)
+16 QAccessibleWidgetEx::~QAccessibleWidgetEx
+24 QAccessibleWidgetEx::~QAccessibleWidgetEx
+32 QAccessibleObjectEx::isValid
+40 QAccessibleObjectEx::object
+48 QAccessibleWidgetEx::childCount
+56 QAccessibleWidgetEx::indexOfChild
+64 QAccessibleWidgetEx::relationTo
+72 QAccessibleWidgetEx::childAt
+80 QAccessibleWidgetEx::navigate
+88 QAccessibleWidgetEx::text
+96 QAccessibleObjectEx::setText
+104 QAccessibleWidgetEx::rect
+112 QAccessibleWidgetEx::role
+120 QAccessibleWidgetEx::state
+128 QAccessibleObjectEx::userActionCount
+136 QAccessibleWidgetEx::actionText
+144 QAccessibleWidgetEx::doAction
+152 QAccessibleWidgetEx::invokeMethodEx
+160 QAccessibleInterfaceEx::virtual_hook
+168 QAccessibleInterfaceEx::interface_cast
+
+Class QAccessibleWidgetEx
+ size=24 align=8
+ base size=24 base align=8
+QAccessibleWidgetEx (0x7faaa79373f0) 0
+ vptr=((& QAccessibleWidgetEx::_ZTV19QAccessibleWidgetEx) + 16u)
+ QAccessibleObjectEx (0x7faaa7937460) 0
+ primary-for QAccessibleWidgetEx (0x7faaa79373f0)
+ QAccessibleInterfaceEx (0x7faaa79374d0) 0 nearly-empty
+ primary-for QAccessibleObjectEx (0x7faaa7937460)
+ QAccessibleInterface (0x7faaa7937540) 0 nearly-empty
+ primary-for QAccessibleInterfaceEx (0x7faaa79374d0)
+ QAccessible (0x7faaa79375b0) 0 empty
+
+Vtable for QAction
+QAction::_ZTV7QAction: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QAction)
+16 QAction::metaObject
+24 QAction::qt_metacast
+32 QAction::qt_metacall
+40 QAction::~QAction
+48 QAction::~QAction
+56 QAction::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QAction
+ size=16 align=8
+ base size=16 base align=8
+QAction (0x7faaa7945540) 0
+ vptr=((& QAction::_ZTV7QAction) + 16u)
+ QObject (0x7faaa79455b0) 0
+ primary-for QAction (0x7faaa7945540)
+
+Vtable for QActionGroup
+QActionGroup::_ZTV12QActionGroup: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QActionGroup)
+16 QActionGroup::metaObject
+24 QActionGroup::qt_metacast
+32 QActionGroup::qt_metacall
+40 QActionGroup::~QActionGroup
+48 QActionGroup::~QActionGroup
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QActionGroup
+ size=16 align=8
+ base size=16 base align=8
+QActionGroup (0x7faaa798d070) 0
+ vptr=((& QActionGroup::_ZTV12QActionGroup) + 16u)
+ QObject (0x7faaa798d0e0) 0
+ primary-for QActionGroup (0x7faaa798d070)
+
+Vtable for QApplication
+QApplication::_ZTV12QApplication: 20u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QApplication)
+16 QApplication::metaObject
+24 QApplication::qt_metacast
+32 QApplication::qt_metacall
+40 QApplication::~QApplication
+48 QApplication::~QApplication
+56 QApplication::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QApplication::notify
+120 QApplication::compressEvent
+128 QApplication::x11EventFilter
+136 QApplication::x11ClientMessage
+144 QApplication::commitData
+152 QApplication::saveState
+
+Class QApplication
+ size=16 align=8
+ base size=16 base align=8
+QApplication (0x7faaa79d1460) 0
+ vptr=((& QApplication::_ZTV12QApplication) + 16u)
+ QCoreApplication (0x7faaa79d14d0) 0
+ primary-for QApplication (0x7faaa79d1460)
+ QObject (0x7faaa79d1540) 0
+ primary-for QCoreApplication (0x7faaa79d14d0)
+
+Vtable for QLayoutItem
+QLayoutItem::_ZTV11QLayoutItem: 18u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QLayoutItem)
+16 QLayoutItem::~QLayoutItem
+24 QLayoutItem::~QLayoutItem
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+48 __cxa_pure_virtual
+56 __cxa_pure_virtual
+64 __cxa_pure_virtual
+72 __cxa_pure_virtual
+80 __cxa_pure_virtual
+88 QLayoutItem::hasHeightForWidth
+96 QLayoutItem::heightForWidth
+104 QLayoutItem::minimumHeightForWidth
+112 QLayoutItem::invalidate
+120 QLayoutItem::widget
+128 QLayoutItem::layout
+136 QLayoutItem::spacerItem
+
+Class QLayoutItem
+ size=16 align=8
+ base size=12 base align=8
+QLayoutItem (0x7faaa78220e0) 0
+ vptr=((& QLayoutItem::_ZTV11QLayoutItem) + 16u)
+
+Vtable for QSpacerItem
+QSpacerItem::_ZTV11QSpacerItem: 18u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QSpacerItem)
+16 QSpacerItem::~QSpacerItem
+24 QSpacerItem::~QSpacerItem
+32 QSpacerItem::sizeHint
+40 QSpacerItem::minimumSize
+48 QSpacerItem::maximumSize
+56 QSpacerItem::expandingDirections
+64 QSpacerItem::setGeometry
+72 QSpacerItem::geometry
+80 QSpacerItem::isEmpty
+88 QLayoutItem::hasHeightForWidth
+96 QLayoutItem::heightForWidth
+104 QLayoutItem::minimumHeightForWidth
+112 QLayoutItem::invalidate
+120 QLayoutItem::widget
+128 QLayoutItem::layout
+136 QSpacerItem::spacerItem
+
+Class QSpacerItem
+ size=40 align=8
+ base size=40 base align=8
+QSpacerItem (0x7faaa7822cb0) 0
+ vptr=((& QSpacerItem::_ZTV11QSpacerItem) + 16u)
+ QLayoutItem (0x7faaa7822d20) 0
+ primary-for QSpacerItem (0x7faaa7822cb0)
+
+Vtable for QWidgetItem
+QWidgetItem::_ZTV11QWidgetItem: 18u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QWidgetItem)
+16 QWidgetItem::~QWidgetItem
+24 QWidgetItem::~QWidgetItem
+32 QWidgetItem::sizeHint
+40 QWidgetItem::minimumSize
+48 QWidgetItem::maximumSize
+56 QWidgetItem::expandingDirections
+64 QWidgetItem::setGeometry
+72 QWidgetItem::geometry
+80 QWidgetItem::isEmpty
+88 QWidgetItem::hasHeightForWidth
+96 QWidgetItem::heightForWidth
+104 QLayoutItem::minimumHeightForWidth
+112 QLayoutItem::invalidate
+120 QWidgetItem::widget
+128 QLayoutItem::layout
+136 QLayoutItem::spacerItem
+
+Class QWidgetItem
+ size=24 align=8
+ base size=24 base align=8
+QWidgetItem (0x7faaa783e1c0) 0
+ vptr=((& QWidgetItem::_ZTV11QWidgetItem) + 16u)
+ QLayoutItem (0x7faaa783e230) 0
+ primary-for QWidgetItem (0x7faaa783e1c0)
+
+Vtable for QWidgetItemV2
+QWidgetItemV2::_ZTV13QWidgetItemV2: 18u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QWidgetItemV2)
+16 QWidgetItemV2::~QWidgetItemV2
+24 QWidgetItemV2::~QWidgetItemV2
+32 QWidgetItemV2::sizeHint
+40 QWidgetItemV2::minimumSize
+48 QWidgetItemV2::maximumSize
+56 QWidgetItem::expandingDirections
+64 QWidgetItem::setGeometry
+72 QWidgetItem::geometry
+80 QWidgetItem::isEmpty
+88 QWidgetItem::hasHeightForWidth
+96 QWidgetItemV2::heightForWidth
+104 QLayoutItem::minimumHeightForWidth
+112 QLayoutItem::invalidate
+120 QWidgetItem::widget
+128 QLayoutItem::layout
+136 QLayoutItem::spacerItem
+
+Class QWidgetItemV2
+ size=88 align=8
+ base size=88 base align=8
+QWidgetItemV2 (0x7faaa7850000) 0
+ vptr=((& QWidgetItemV2::_ZTV13QWidgetItemV2) + 16u)
+ QWidgetItem (0x7faaa7850070) 0
+ primary-for QWidgetItemV2 (0x7faaa7850000)
+ QLayoutItem (0x7faaa78500e0) 0
+ primary-for QWidgetItem (0x7faaa7850070)
+
+Class QLayoutIterator
+ size=16 align=8
+ base size=12 base align=8
+QLayoutIterator (0x7faaa7850e70) 0
+
+Vtable for QLayout
+QLayout::_ZTV7QLayout: 45u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QLayout)
+16 QLayout::metaObject
+24 QLayout::qt_metacast
+32 QLayout::qt_metacall
+40 QLayout::~QLayout
+48 QLayout::~QLayout
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QLayout::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QLayout::invalidate
+120 QLayout::geometry
+128 __cxa_pure_virtual
+136 QLayout::expandingDirections
+144 QLayout::minimumSize
+152 QLayout::maximumSize
+160 QLayout::setGeometry
+168 __cxa_pure_virtual
+176 __cxa_pure_virtual
+184 QLayout::indexOf
+192 __cxa_pure_virtual
+200 QLayout::isEmpty
+208 QLayout::layout
+216 (int (*)(...))-0x00000000000000010
+224 (int (*)(...))(& _ZTI7QLayout)
+232 QLayout::_ZThn16_N7QLayoutD1Ev
+240 QLayout::_ZThn16_N7QLayoutD0Ev
+248 __cxa_pure_virtual
+256 QLayout::_ZThn16_NK7QLayout11minimumSizeEv
+264 QLayout::_ZThn16_NK7QLayout11maximumSizeEv
+272 QLayout::_ZThn16_NK7QLayout19expandingDirectionsEv
+280 QLayout::_ZThn16_N7QLayout11setGeometryERK5QRect
+288 QLayout::_ZThn16_NK7QLayout8geometryEv
+296 QLayout::_ZThn16_NK7QLayout7isEmptyEv
+304 QLayoutItem::hasHeightForWidth
+312 QLayoutItem::heightForWidth
+320 QLayoutItem::minimumHeightForWidth
+328 QLayout::_ZThn16_N7QLayout10invalidateEv
+336 QLayoutItem::widget
+344 QLayout::_ZThn16_N7QLayout6layoutEv
+352 QLayoutItem::spacerItem
+
+Class QLayout
+ size=32 align=8
+ base size=28 base align=8
+QLayout (0x7faaa7864380) 0
+ vptr=((& QLayout::_ZTV7QLayout) + 16u)
+ QObject (0x7faaa7863f50) 0
+ primary-for QLayout (0x7faaa7864380)
+ QLayoutItem (0x7faaa7867000) 16
+ vptr=((& QLayout::_ZTV7QLayout) + 232u)
+
+Vtable for QGridLayout
+QGridLayout::_ZTV11QGridLayout: 49u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QGridLayout)
+16 QGridLayout::metaObject
+24 QGridLayout::qt_metacast
+32 QGridLayout::qt_metacall
+40 QGridLayout::~QGridLayout
+48 QGridLayout::~QGridLayout
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QLayout::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QGridLayout::invalidate
+120 QLayout::geometry
+128 QGridLayout::addItem
+136 QGridLayout::expandingDirections
+144 QGridLayout::minimumSize
+152 QGridLayout::maximumSize
+160 QGridLayout::setGeometry
+168 QGridLayout::itemAt
+176 QGridLayout::takeAt
+184 QLayout::indexOf
+192 QGridLayout::count
+200 QLayout::isEmpty
+208 QLayout::layout
+216 QGridLayout::sizeHint
+224 QGridLayout::hasHeightForWidth
+232 QGridLayout::heightForWidth
+240 QGridLayout::minimumHeightForWidth
+248 (int (*)(...))-0x00000000000000010
+256 (int (*)(...))(& _ZTI11QGridLayout)
+264 QGridLayout::_ZThn16_N11QGridLayoutD1Ev
+272 QGridLayout::_ZThn16_N11QGridLayoutD0Ev
+280 QGridLayout::_ZThn16_NK11QGridLayout8sizeHintEv
+288 QGridLayout::_ZThn16_NK11QGridLayout11minimumSizeEv
+296 QGridLayout::_ZThn16_NK11QGridLayout11maximumSizeEv
+304 QGridLayout::_ZThn16_NK11QGridLayout19expandingDirectionsEv
+312 QGridLayout::_ZThn16_N11QGridLayout11setGeometryERK5QRect
+320 QLayout::_ZThn16_NK7QLayout8geometryEv
+328 QLayout::_ZThn16_NK7QLayout7isEmptyEv
+336 QGridLayout::_ZThn16_NK11QGridLayout17hasHeightForWidthEv
+344 QGridLayout::_ZThn16_NK11QGridLayout14heightForWidthEi
+352 QGridLayout::_ZThn16_NK11QGridLayout21minimumHeightForWidthEi
+360 QGridLayout::_ZThn16_N11QGridLayout10invalidateEv
+368 QLayoutItem::widget
+376 QLayout::_ZThn16_N7QLayout6layoutEv
+384 QLayoutItem::spacerItem
+
+Class QGridLayout
+ size=32 align=8
+ base size=28 base align=8
+QGridLayout (0x7faaa78a74d0) 0
+ vptr=((& QGridLayout::_ZTV11QGridLayout) + 16u)
+ QLayout (0x7faaa78a2500) 0
+ primary-for QGridLayout (0x7faaa78a74d0)
+ QObject (0x7faaa78a7540) 0
+ primary-for QLayout (0x7faaa78a2500)
+ QLayoutItem (0x7faaa78a75b0) 16
+ vptr=((& QGridLayout::_ZTV11QGridLayout) + 264u)
+
+Vtable for QBoxLayout
+QBoxLayout::_ZTV10QBoxLayout: 49u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QBoxLayout)
+16 QBoxLayout::metaObject
+24 QBoxLayout::qt_metacast
+32 QBoxLayout::qt_metacall
+40 QBoxLayout::~QBoxLayout
+48 QBoxLayout::~QBoxLayout
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QLayout::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QBoxLayout::invalidate
+120 QLayout::geometry
+128 QBoxLayout::addItem
+136 QBoxLayout::expandingDirections
+144 QBoxLayout::minimumSize
+152 QBoxLayout::maximumSize
+160 QBoxLayout::setGeometry
+168 QBoxLayout::itemAt
+176 QBoxLayout::takeAt
+184 QLayout::indexOf
+192 QBoxLayout::count
+200 QLayout::isEmpty
+208 QLayout::layout
+216 QBoxLayout::sizeHint
+224 QBoxLayout::hasHeightForWidth
+232 QBoxLayout::heightForWidth
+240 QBoxLayout::minimumHeightForWidth
+248 (int (*)(...))-0x00000000000000010
+256 (int (*)(...))(& _ZTI10QBoxLayout)
+264 QBoxLayout::_ZThn16_N10QBoxLayoutD1Ev
+272 QBoxLayout::_ZThn16_N10QBoxLayoutD0Ev
+280 QBoxLayout::_ZThn16_NK10QBoxLayout8sizeHintEv
+288 QBoxLayout::_ZThn16_NK10QBoxLayout11minimumSizeEv
+296 QBoxLayout::_ZThn16_NK10QBoxLayout11maximumSizeEv
+304 QBoxLayout::_ZThn16_NK10QBoxLayout19expandingDirectionsEv
+312 QBoxLayout::_ZThn16_N10QBoxLayout11setGeometryERK5QRect
+320 QLayout::_ZThn16_NK7QLayout8geometryEv
+328 QLayout::_ZThn16_NK7QLayout7isEmptyEv
+336 QBoxLayout::_ZThn16_NK10QBoxLayout17hasHeightForWidthEv
+344 QBoxLayout::_ZThn16_NK10QBoxLayout14heightForWidthEi
+352 QBoxLayout::_ZThn16_NK10QBoxLayout21minimumHeightForWidthEi
+360 QBoxLayout::_ZThn16_N10QBoxLayout10invalidateEv
+368 QLayoutItem::widget
+376 QLayout::_ZThn16_N7QLayout6layoutEv
+384 QLayoutItem::spacerItem
+
+Class QBoxLayout
+ size=32 align=8
+ base size=28 base align=8
+QBoxLayout (0x7faaa76f1540) 0
+ vptr=((& QBoxLayout::_ZTV10QBoxLayout) + 16u)
+ QLayout (0x7faaa76f0400) 0
+ primary-for QBoxLayout (0x7faaa76f1540)
+ QObject (0x7faaa76f15b0) 0
+ primary-for QLayout (0x7faaa76f0400)
+ QLayoutItem (0x7faaa76f1620) 16
+ vptr=((& QBoxLayout::_ZTV10QBoxLayout) + 264u)
+
+Vtable for QHBoxLayout
+QHBoxLayout::_ZTV11QHBoxLayout: 49u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QHBoxLayout)
+16 QHBoxLayout::metaObject
+24 QHBoxLayout::qt_metacast
+32 QHBoxLayout::qt_metacall
+40 QHBoxLayout::~QHBoxLayout
+48 QHBoxLayout::~QHBoxLayout
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QLayout::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QBoxLayout::invalidate
+120 QLayout::geometry
+128 QBoxLayout::addItem
+136 QBoxLayout::expandingDirections
+144 QBoxLayout::minimumSize
+152 QBoxLayout::maximumSize
+160 QBoxLayout::setGeometry
+168 QBoxLayout::itemAt
+176 QBoxLayout::takeAt
+184 QLayout::indexOf
+192 QBoxLayout::count
+200 QLayout::isEmpty
+208 QLayout::layout
+216 QBoxLayout::sizeHint
+224 QBoxLayout::hasHeightForWidth
+232 QBoxLayout::heightForWidth
+240 QBoxLayout::minimumHeightForWidth
+248 (int (*)(...))-0x00000000000000010
+256 (int (*)(...))(& _ZTI11QHBoxLayout)
+264 QHBoxLayout::_ZThn16_N11QHBoxLayoutD1Ev
+272 QHBoxLayout::_ZThn16_N11QHBoxLayoutD0Ev
+280 QBoxLayout::_ZThn16_NK10QBoxLayout8sizeHintEv
+288 QBoxLayout::_ZThn16_NK10QBoxLayout11minimumSizeEv
+296 QBoxLayout::_ZThn16_NK10QBoxLayout11maximumSizeEv
+304 QBoxLayout::_ZThn16_NK10QBoxLayout19expandingDirectionsEv
+312 QBoxLayout::_ZThn16_N10QBoxLayout11setGeometryERK5QRect
+320 QLayout::_ZThn16_NK7QLayout8geometryEv
+328 QLayout::_ZThn16_NK7QLayout7isEmptyEv
+336 QBoxLayout::_ZThn16_NK10QBoxLayout17hasHeightForWidthEv
+344 QBoxLayout::_ZThn16_NK10QBoxLayout14heightForWidthEi
+352 QBoxLayout::_ZThn16_NK10QBoxLayout21minimumHeightForWidthEi
+360 QBoxLayout::_ZThn16_N10QBoxLayout10invalidateEv
+368 QLayoutItem::widget
+376 QLayout::_ZThn16_N7QLayout6layoutEv
+384 QLayoutItem::spacerItem
+
+Class QHBoxLayout
+ size=32 align=8
+ base size=28 base align=8
+QHBoxLayout (0x7faaa7715f50) 0
+ vptr=((& QHBoxLayout::_ZTV11QHBoxLayout) + 16u)
+ QBoxLayout (0x7faaa771f000) 0
+ primary-for QHBoxLayout (0x7faaa7715f50)
+ QLayout (0x7faaa771d280) 0
+ primary-for QBoxLayout (0x7faaa771f000)
+ QObject (0x7faaa771f070) 0
+ primary-for QLayout (0x7faaa771d280)
+ QLayoutItem (0x7faaa771f0e0) 16
+ vptr=((& QHBoxLayout::_ZTV11QHBoxLayout) + 264u)
+
+Vtable for QVBoxLayout
+QVBoxLayout::_ZTV11QVBoxLayout: 49u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QVBoxLayout)
+16 QVBoxLayout::metaObject
+24 QVBoxLayout::qt_metacast
+32 QVBoxLayout::qt_metacall
+40 QVBoxLayout::~QVBoxLayout
+48 QVBoxLayout::~QVBoxLayout
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QLayout::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QBoxLayout::invalidate
+120 QLayout::geometry
+128 QBoxLayout::addItem
+136 QBoxLayout::expandingDirections
+144 QBoxLayout::minimumSize
+152 QBoxLayout::maximumSize
+160 QBoxLayout::setGeometry
+168 QBoxLayout::itemAt
+176 QBoxLayout::takeAt
+184 QLayout::indexOf
+192 QBoxLayout::count
+200 QLayout::isEmpty
+208 QLayout::layout
+216 QBoxLayout::sizeHint
+224 QBoxLayout::hasHeightForWidth
+232 QBoxLayout::heightForWidth
+240 QBoxLayout::minimumHeightForWidth
+248 (int (*)(...))-0x00000000000000010
+256 (int (*)(...))(& _ZTI11QVBoxLayout)
+264 QVBoxLayout::_ZThn16_N11QVBoxLayoutD1Ev
+272 QVBoxLayout::_ZThn16_N11QVBoxLayoutD0Ev
+280 QBoxLayout::_ZThn16_NK10QBoxLayout8sizeHintEv
+288 QBoxLayout::_ZThn16_NK10QBoxLayout11minimumSizeEv
+296 QBoxLayout::_ZThn16_NK10QBoxLayout11maximumSizeEv
+304 QBoxLayout::_ZThn16_NK10QBoxLayout19expandingDirectionsEv
+312 QBoxLayout::_ZThn16_N10QBoxLayout11setGeometryERK5QRect
+320 QLayout::_ZThn16_NK7QLayout8geometryEv
+328 QLayout::_ZThn16_NK7QLayout7isEmptyEv
+336 QBoxLayout::_ZThn16_NK10QBoxLayout17hasHeightForWidthEv
+344 QBoxLayout::_ZThn16_NK10QBoxLayout14heightForWidthEi
+352 QBoxLayout::_ZThn16_NK10QBoxLayout21minimumHeightForWidthEi
+360 QBoxLayout::_ZThn16_N10QBoxLayout10invalidateEv
+368 QLayoutItem::widget
+376 QLayout::_ZThn16_N7QLayout6layoutEv
+384 QLayoutItem::spacerItem
+
+Class QVBoxLayout
+ size=32 align=8
+ base size=28 base align=8
+QVBoxLayout (0x7faaa77335b0) 0
+ vptr=((& QVBoxLayout::_ZTV11QVBoxLayout) + 16u)
+ QBoxLayout (0x7faaa7733620) 0
+ primary-for QVBoxLayout (0x7faaa77335b0)
+ QLayout (0x7faaa771d980) 0
+ primary-for QBoxLayout (0x7faaa7733620)
+ QObject (0x7faaa7733690) 0
+ primary-for QLayout (0x7faaa771d980)
+ QLayoutItem (0x7faaa7733700) 16
+ vptr=((& QVBoxLayout::_ZTV11QVBoxLayout) + 264u)
+
+Vtable for QClipboard
+QClipboard::_ZTV10QClipboard: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QClipboard)
+16 QClipboard::metaObject
+24 QClipboard::qt_metacast
+32 QClipboard::qt_metacall
+40 QClipboard::~QClipboard
+48 QClipboard::~QClipboard
+56 QClipboard::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QClipboard::connectNotify
+104 QObject::disconnectNotify
+
+Class QClipboard
+ size=16 align=8
+ base size=16 base align=8
+QClipboard (0x7faaa7744c40) 0
+ vptr=((& QClipboard::_ZTV10QClipboard) + 16u)
+ QObject (0x7faaa7744cb0) 0
+ primary-for QClipboard (0x7faaa7744c40)
+
+Vtable for QDesktopWidget
+QDesktopWidget::_ZTV14QDesktopWidget: 63u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QDesktopWidget)
+16 QDesktopWidget::metaObject
+24 QDesktopWidget::qt_metacast
+32 QDesktopWidget::qt_metacall
+40 QDesktopWidget::~QDesktopWidget
+48 QDesktopWidget::~QDesktopWidget
+56 QWidget::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QWidget::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QWidget::paintEvent
+256 QWidget::moveEvent
+264 QDesktopWidget::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QWidget::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 (int (*)(...))-0x00000000000000010
+456 (int (*)(...))(& _ZTI14QDesktopWidget)
+464 QDesktopWidget::_ZThn16_N14QDesktopWidgetD1Ev
+472 QDesktopWidget::_ZThn16_N14QDesktopWidgetD0Ev
+480 QWidget::_ZThn16_NK7QWidget7devTypeEv
+488 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+496 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QDesktopWidget
+ size=40 align=8
+ base size=40 base align=8
+QDesktopWidget (0x7faaa776d930) 0
+ vptr=((& QDesktopWidget::_ZTV14QDesktopWidget) + 16u)
+ QWidget (0x7faaa774cc00) 0
+ primary-for QDesktopWidget (0x7faaa776d930)
+ QObject (0x7faaa776d9a0) 0
+ primary-for QWidget (0x7faaa774cc00)
+ QPaintDevice (0x7faaa776da10) 16
+ vptr=((& QDesktopWidget::_ZTV14QDesktopWidget) + 464u)
+
+Vtable for QFormLayout
+QFormLayout::_ZTV11QFormLayout: 48u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QFormLayout)
+16 QFormLayout::metaObject
+24 QFormLayout::qt_metacast
+32 QFormLayout::qt_metacall
+40 QFormLayout::~QFormLayout
+48 QFormLayout::~QFormLayout
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QLayout::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QFormLayout::invalidate
+120 QLayout::geometry
+128 QFormLayout::addItem
+136 QFormLayout::expandingDirections
+144 QFormLayout::minimumSize
+152 QLayout::maximumSize
+160 QFormLayout::setGeometry
+168 QFormLayout::itemAt
+176 QFormLayout::takeAt
+184 QLayout::indexOf
+192 QFormLayout::count
+200 QLayout::isEmpty
+208 QLayout::layout
+216 QFormLayout::sizeHint
+224 QFormLayout::hasHeightForWidth
+232 QFormLayout::heightForWidth
+240 (int (*)(...))-0x00000000000000010
+248 (int (*)(...))(& _ZTI11QFormLayout)
+256 QFormLayout::_ZThn16_N11QFormLayoutD1Ev
+264 QFormLayout::_ZThn16_N11QFormLayoutD0Ev
+272 QFormLayout::_ZThn16_NK11QFormLayout8sizeHintEv
+280 QFormLayout::_ZThn16_NK11QFormLayout11minimumSizeEv
+288 QLayout::_ZThn16_NK7QLayout11maximumSizeEv
+296 QFormLayout::_ZThn16_NK11QFormLayout19expandingDirectionsEv
+304 QFormLayout::_ZThn16_N11QFormLayout11setGeometryERK5QRect
+312 QLayout::_ZThn16_NK7QLayout8geometryEv
+320 QLayout::_ZThn16_NK7QLayout7isEmptyEv
+328 QFormLayout::_ZThn16_NK11QFormLayout17hasHeightForWidthEv
+336 QFormLayout::_ZThn16_NK11QFormLayout14heightForWidthEi
+344 QLayoutItem::minimumHeightForWidth
+352 QFormLayout::_ZThn16_N11QFormLayout10invalidateEv
+360 QLayoutItem::widget
+368 QLayout::_ZThn16_N7QLayout6layoutEv
+376 QLayoutItem::spacerItem
+
+Class QFormLayout
+ size=32 align=8
+ base size=28 base align=8
+QFormLayout (0x7faaa778b9a0) 0
+ vptr=((& QFormLayout::_ZTV11QFormLayout) + 16u)
+ QLayout (0x7faaa7786b80) 0
+ primary-for QFormLayout (0x7faaa778b9a0)
+ QObject (0x7faaa778ba10) 0
+ primary-for QLayout (0x7faaa7786b80)
+ QLayoutItem (0x7faaa778ba80) 16
+ vptr=((& QFormLayout::_ZTV11QFormLayout) + 256u)
+
+Vtable for QGesture
+QGesture::_ZTV8QGesture: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI8QGesture)
+16 QGesture::metaObject
+24 QGesture::qt_metacast
+32 QGesture::qt_metacall
+40 QGesture::~QGesture
+48 QGesture::~QGesture
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QGesture
+ size=16 align=8
+ base size=16 base align=8
+QGesture (0x7faaa77c0150) 0
+ vptr=((& QGesture::_ZTV8QGesture) + 16u)
+ QObject (0x7faaa77c01c0) 0
+ primary-for QGesture (0x7faaa77c0150)
+
+Vtable for QPanGesture
+QPanGesture::_ZTV11QPanGesture: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QPanGesture)
+16 QPanGesture::metaObject
+24 QPanGesture::qt_metacast
+32 QPanGesture::qt_metacall
+40 QPanGesture::~QPanGesture
+48 QPanGesture::~QPanGesture
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QPanGesture
+ size=16 align=8
+ base size=16 base align=8
+QPanGesture (0x7faaa77d9850) 0
+ vptr=((& QPanGesture::_ZTV11QPanGesture) + 16u)
+ QGesture (0x7faaa77d98c0) 0
+ primary-for QPanGesture (0x7faaa77d9850)
+ QObject (0x7faaa77d9930) 0
+ primary-for QGesture (0x7faaa77d98c0)
+
+Vtable for QPinchGesture
+QPinchGesture::_ZTV13QPinchGesture: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QPinchGesture)
+16 QPinchGesture::metaObject
+24 QPinchGesture::qt_metacast
+32 QPinchGesture::qt_metacall
+40 QPinchGesture::~QPinchGesture
+48 QPinchGesture::~QPinchGesture
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QPinchGesture
+ size=16 align=8
+ base size=16 base align=8
+QPinchGesture (0x7faaa75ebcb0) 0
+ vptr=((& QPinchGesture::_ZTV13QPinchGesture) + 16u)
+ QGesture (0x7faaa75ebd20) 0
+ primary-for QPinchGesture (0x7faaa75ebcb0)
+ QObject (0x7faaa75ebd90) 0
+ primary-for QGesture (0x7faaa75ebd20)
+
+Vtable for QSwipeGesture
+QSwipeGesture::_ZTV13QSwipeGesture: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QSwipeGesture)
+16 QSwipeGesture::metaObject
+24 QSwipeGesture::qt_metacast
+32 QSwipeGesture::qt_metacall
+40 QSwipeGesture::~QSwipeGesture
+48 QSwipeGesture::~QSwipeGesture
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QSwipeGesture
+ size=16 align=8
+ base size=16 base align=8
+QSwipeGesture (0x7faaa760cd20) 0
+ vptr=((& QSwipeGesture::_ZTV13QSwipeGesture) + 16u)
+ QGesture (0x7faaa760cd90) 0
+ primary-for QSwipeGesture (0x7faaa760cd20)
+ QObject (0x7faaa760ce00) 0
+ primary-for QGesture (0x7faaa760cd90)
+
+Vtable for QTapGesture
+QTapGesture::_ZTV11QTapGesture: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QTapGesture)
+16 QTapGesture::metaObject
+24 QTapGesture::qt_metacast
+32 QTapGesture::qt_metacall
+40 QTapGesture::~QTapGesture
+48 QTapGesture::~QTapGesture
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QTapGesture
+ size=16 align=8
+ base size=16 base align=8
+QTapGesture (0x7faaa762b460) 0
+ vptr=((& QTapGesture::_ZTV11QTapGesture) + 16u)
+ QGesture (0x7faaa762b4d0) 0
+ primary-for QTapGesture (0x7faaa762b460)
+ QObject (0x7faaa762b540) 0
+ primary-for QGesture (0x7faaa762b4d0)
+
+Vtable for QTapAndHoldGesture
+QTapAndHoldGesture::_ZTV18QTapAndHoldGesture: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QTapAndHoldGesture)
+16 QTapAndHoldGesture::metaObject
+24 QTapAndHoldGesture::qt_metacast
+32 QTapAndHoldGesture::qt_metacall
+40 QTapAndHoldGesture::~QTapAndHoldGesture
+48 QTapAndHoldGesture::~QTapAndHoldGesture
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QTapAndHoldGesture
+ size=16 align=8
+ base size=16 base align=8
+QTapAndHoldGesture (0x7faaa763b8c0) 0
+ vptr=((& QTapAndHoldGesture::_ZTV18QTapAndHoldGesture) + 16u)
+ QGesture (0x7faaa763b930) 0
+ primary-for QTapAndHoldGesture (0x7faaa763b8c0)
+ QObject (0x7faaa763b9a0) 0
+ primary-for QGesture (0x7faaa763b930)
+
+Vtable for QGestureRecognizer
+QGestureRecognizer::_ZTV18QGestureRecognizer: 7u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QGestureRecognizer)
+16 QGestureRecognizer::~QGestureRecognizer
+24 QGestureRecognizer::~QGestureRecognizer
+32 QGestureRecognizer::create
+40 __cxa_pure_virtual
+48 QGestureRecognizer::reset
+
+Class QGestureRecognizer
+ size=8 align=8
+ base size=8 base align=8
+QGestureRecognizer (0x7faaa7656310) 0 nearly-empty
+ vptr=((& QGestureRecognizer::_ZTV18QGestureRecognizer) + 16u)
+
+Vtable for QSessionManager
+QSessionManager::_ZTV15QSessionManager: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QSessionManager)
+16 QSessionManager::metaObject
+24 QSessionManager::qt_metacast
+32 QSessionManager::qt_metacall
+40 QSessionManager::~QSessionManager
+48 QSessionManager::~QSessionManager
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QSessionManager
+ size=16 align=8
+ base size=16 base align=8
+QSessionManager (0x7faaa768c620) 0
+ vptr=((& QSessionManager::_ZTV15QSessionManager) + 16u)
+ QObject (0x7faaa768c690) 0
+ primary-for QSessionManager (0x7faaa768c620)
+
+Vtable for QShortcut
+QShortcut::_ZTV9QShortcut: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QShortcut)
+16 QShortcut::metaObject
+24 QShortcut::qt_metacast
+32 QShortcut::qt_metacall
+40 QShortcut::~QShortcut
+48 QShortcut::~QShortcut
+56 QShortcut::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QShortcut
+ size=16 align=8
+ base size=16 base align=8
+QShortcut (0x7faaa76bcb60) 0
+ vptr=((& QShortcut::_ZTV9QShortcut) + 16u)
+ QObject (0x7faaa76bcbd0) 0
+ primary-for QShortcut (0x7faaa76bcb60)
+
+Vtable for QSound
+QSound::_ZTV6QSound: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI6QSound)
+16 QSound::metaObject
+24 QSound::qt_metacast
+32 QSound::qt_metacall
+40 QSound::~QSound
+48 QSound::~QSound
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QSound
+ size=16 align=8
+ base size=16 base align=8
+QSound (0x7faaa76d9310) 0
+ vptr=((& QSound::_ZTV6QSound) + 16u)
+ QObject (0x7faaa76d9380) 0
+ primary-for QSound (0x7faaa76d9310)
+
+Vtable for QStackedLayout
+QStackedLayout::_ZTV14QStackedLayout: 46u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QStackedLayout)
+16 QStackedLayout::metaObject
+24 QStackedLayout::qt_metacast
+32 QStackedLayout::qt_metacall
+40 QStackedLayout::~QStackedLayout
+48 QStackedLayout::~QStackedLayout
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QLayout::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QLayout::invalidate
+120 QLayout::geometry
+128 QStackedLayout::addItem
+136 QLayout::expandingDirections
+144 QStackedLayout::minimumSize
+152 QLayout::maximumSize
+160 QStackedLayout::setGeometry
+168 QStackedLayout::itemAt
+176 QStackedLayout::takeAt
+184 QLayout::indexOf
+192 QStackedLayout::count
+200 QLayout::isEmpty
+208 QLayout::layout
+216 QStackedLayout::sizeHint
+224 (int (*)(...))-0x00000000000000010
+232 (int (*)(...))(& _ZTI14QStackedLayout)
+240 QStackedLayout::_ZThn16_N14QStackedLayoutD1Ev
+248 QStackedLayout::_ZThn16_N14QStackedLayoutD0Ev
+256 QStackedLayout::_ZThn16_NK14QStackedLayout8sizeHintEv
+264 QStackedLayout::_ZThn16_NK14QStackedLayout11minimumSizeEv
+272 QLayout::_ZThn16_NK7QLayout11maximumSizeEv
+280 QLayout::_ZThn16_NK7QLayout19expandingDirectionsEv
+288 QStackedLayout::_ZThn16_N14QStackedLayout11setGeometryERK5QRect
+296 QLayout::_ZThn16_NK7QLayout8geometryEv
+304 QLayout::_ZThn16_NK7QLayout7isEmptyEv
+312 QLayoutItem::hasHeightForWidth
+320 QLayoutItem::heightForWidth
+328 QLayoutItem::minimumHeightForWidth
+336 QLayout::_ZThn16_N7QLayout10invalidateEv
+344 QLayoutItem::widget
+352 QLayout::_ZThn16_N7QLayout6layoutEv
+360 QLayoutItem::spacerItem
+
+Class QStackedLayout
+ size=32 align=8
+ base size=28 base align=8
+QStackedLayout (0x7faaa74eea80) 0
+ vptr=((& QStackedLayout::_ZTV14QStackedLayout) + 16u)
+ QLayout (0x7faaa74e6880) 0
+ primary-for QStackedLayout (0x7faaa74eea80)
+ QObject (0x7faaa74eeaf0) 0
+ primary-for QLayout (0x7faaa74e6880)
+ QLayoutItem (0x7faaa74eeb60) 16
+ vptr=((& QStackedLayout::_ZTV14QStackedLayout) + 240u)
+
+Class QToolTip
+ size=1 align=1
+ base size=0 base align=1
+QToolTip (0x7faaa750da80) 0 empty
+
+Class QWhatsThis
+ size=1 align=1
+ base size=0 base align=1
+QWhatsThis (0x7faaa751b070) 0 empty
+
+Vtable for QWidgetAction
+QWidgetAction::_ZTV13QWidgetAction: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QWidgetAction)
+16 QWidgetAction::metaObject
+24 QWidgetAction::qt_metacast
+32 QWidgetAction::qt_metacall
+40 QWidgetAction::~QWidgetAction
+48 QWidgetAction::~QWidgetAction
+56 QWidgetAction::event
+64 QWidgetAction::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidgetAction::createWidget
+120 QWidgetAction::deleteWidget
+
+Class QWidgetAction
+ size=16 align=8
+ base size=16 base align=8
+QWidgetAction (0x7faaa751b150) 0
+ vptr=((& QWidgetAction::_ZTV13QWidgetAction) + 16u)
+ QAction (0x7faaa751b1c0) 0
+ primary-for QWidgetAction (0x7faaa751b150)
+ QObject (0x7faaa751b230) 0
+ primary-for QAction (0x7faaa751b1c0)
+
+Class QVector3D
+ size=12 align=4
+ base size=12 base align=4
+QVector3D (0x7faaa73ea1c0) 0
+
+Class QVector4D
+ size=16 align=4
+ base size=16 base align=4
+QVector4D (0x7faaa744ccb0) 0
+
+Class QQuaternion
+ size=32 align=8
+ base size=32 base align=8
+QQuaternion (0x7faaa74c2d20) 0
+
+Class QMatrix4x4
+ size=136 align=8
+ base size=132 base align=8
+QMatrix4x4 (0x7faaa7340b60) 0
+
+Class QVector2D
+ size=8 align=4
+ base size=8 base align=4
+QVector2D (0x7faaa718dd90) 0
+
+Vtable for QCommonStyle
+QCommonStyle::_ZTV12QCommonStyle: 35u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QCommonStyle)
+16 QCommonStyle::metaObject
+24 QCommonStyle::qt_metacast
+32 QCommonStyle::qt_metacall
+40 QCommonStyle::~QCommonStyle
+48 QCommonStyle::~QCommonStyle
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QCommonStyle::polish
+120 QCommonStyle::unpolish
+128 QCommonStyle::polish
+136 QCommonStyle::unpolish
+144 QCommonStyle::polish
+152 QStyle::itemTextRect
+160 QStyle::itemPixmapRect
+168 QStyle::drawItemText
+176 QStyle::drawItemPixmap
+184 QStyle::standardPalette
+192 QCommonStyle::drawPrimitive
+200 QCommonStyle::drawControl
+208 QCommonStyle::subElementRect
+216 QCommonStyle::drawComplexControl
+224 QCommonStyle::hitTestComplexControl
+232 QCommonStyle::subControlRect
+240 QCommonStyle::pixelMetric
+248 QCommonStyle::sizeFromContents
+256 QCommonStyle::styleHint
+264 QCommonStyle::standardPixmap
+272 QCommonStyle::generatedIconPixmap
+
+Class QCommonStyle
+ size=16 align=8
+ base size=16 base align=8
+QCommonStyle (0x7faaa6ff22a0) 0
+ vptr=((& QCommonStyle::_ZTV12QCommonStyle) + 16u)
+ QStyle (0x7faaa6ff2310) 0
+ primary-for QCommonStyle (0x7faaa6ff22a0)
+ QObject (0x7faaa6ff2380) 0
+ primary-for QStyle (0x7faaa6ff2310)
+
+Vtable for QMotifStyle
+QMotifStyle::_ZTV11QMotifStyle: 35u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QMotifStyle)
+16 QMotifStyle::metaObject
+24 QMotifStyle::qt_metacast
+32 QMotifStyle::qt_metacall
+40 QMotifStyle::~QMotifStyle
+48 QMotifStyle::~QMotifStyle
+56 QMotifStyle::event
+64 QMotifStyle::eventFilter
+72 QMotifStyle::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QMotifStyle::polish
+120 QMotifStyle::unpolish
+128 QMotifStyle::polish
+136 QMotifStyle::unpolish
+144 QMotifStyle::polish
+152 QStyle::itemTextRect
+160 QStyle::itemPixmapRect
+168 QStyle::drawItemText
+176 QStyle::drawItemPixmap
+184 QMotifStyle::standardPalette
+192 QMotifStyle::drawPrimitive
+200 QMotifStyle::drawControl
+208 QMotifStyle::subElementRect
+216 QMotifStyle::drawComplexControl
+224 QCommonStyle::hitTestComplexControl
+232 QMotifStyle::subControlRect
+240 QMotifStyle::pixelMetric
+248 QMotifStyle::sizeFromContents
+256 QMotifStyle::styleHint
+264 QMotifStyle::standardPixmap
+272 QCommonStyle::generatedIconPixmap
+
+Class QMotifStyle
+ size=32 align=8
+ base size=25 base align=8
+QMotifStyle (0x7faaa70142a0) 0
+ vptr=((& QMotifStyle::_ZTV11QMotifStyle) + 16u)
+ QCommonStyle (0x7faaa7014310) 0
+ primary-for QMotifStyle (0x7faaa70142a0)
+ QStyle (0x7faaa7014380) 0
+ primary-for QCommonStyle (0x7faaa7014310)
+ QObject (0x7faaa70143f0) 0
+ primary-for QStyle (0x7faaa7014380)
+
+Vtable for QCDEStyle
+QCDEStyle::_ZTV9QCDEStyle: 35u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QCDEStyle)
+16 QCDEStyle::metaObject
+24 QCDEStyle::qt_metacast
+32 QCDEStyle::qt_metacall
+40 QCDEStyle::~QCDEStyle
+48 QCDEStyle::~QCDEStyle
+56 QMotifStyle::event
+64 QMotifStyle::eventFilter
+72 QMotifStyle::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QMotifStyle::polish
+120 QMotifStyle::unpolish
+128 QMotifStyle::polish
+136 QMotifStyle::unpolish
+144 QMotifStyle::polish
+152 QStyle::itemTextRect
+160 QStyle::itemPixmapRect
+168 QStyle::drawItemText
+176 QStyle::drawItemPixmap
+184 QCDEStyle::standardPalette
+192 QCDEStyle::drawPrimitive
+200 QCDEStyle::drawControl
+208 QMotifStyle::subElementRect
+216 QMotifStyle::drawComplexControl
+224 QCommonStyle::hitTestComplexControl
+232 QMotifStyle::subControlRect
+240 QCDEStyle::pixelMetric
+248 QMotifStyle::sizeFromContents
+256 QMotifStyle::styleHint
+264 QMotifStyle::standardPixmap
+272 QCommonStyle::generatedIconPixmap
+
+Class QCDEStyle
+ size=32 align=8
+ base size=25 base align=8
+QCDEStyle (0x7faaa703c1c0) 0
+ vptr=((& QCDEStyle::_ZTV9QCDEStyle) + 16u)
+ QMotifStyle (0x7faaa703c230) 0
+ primary-for QCDEStyle (0x7faaa703c1c0)
+ QCommonStyle (0x7faaa703c2a0) 0
+ primary-for QMotifStyle (0x7faaa703c230)
+ QStyle (0x7faaa703c310) 0
+ primary-for QCommonStyle (0x7faaa703c2a0)
+ QObject (0x7faaa703c380) 0
+ primary-for QStyle (0x7faaa703c310)
+
+Vtable for QWindowsStyle
+QWindowsStyle::_ZTV13QWindowsStyle: 35u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QWindowsStyle)
+16 QWindowsStyle::metaObject
+24 QWindowsStyle::qt_metacast
+32 QWindowsStyle::qt_metacall
+40 QWindowsStyle::~QWindowsStyle
+48 QWindowsStyle::~QWindowsStyle
+56 QObject::event
+64 QWindowsStyle::eventFilter
+72 QWindowsStyle::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWindowsStyle::polish
+120 QWindowsStyle::unpolish
+128 QWindowsStyle::polish
+136 QWindowsStyle::unpolish
+144 QWindowsStyle::polish
+152 QStyle::itemTextRect
+160 QStyle::itemPixmapRect
+168 QStyle::drawItemText
+176 QStyle::drawItemPixmap
+184 QStyle::standardPalette
+192 QWindowsStyle::drawPrimitive
+200 QWindowsStyle::drawControl
+208 QWindowsStyle::subElementRect
+216 QWindowsStyle::drawComplexControl
+224 QCommonStyle::hitTestComplexControl
+232 QCommonStyle::subControlRect
+240 QWindowsStyle::pixelMetric
+248 QWindowsStyle::sizeFromContents
+256 QWindowsStyle::styleHint
+264 QWindowsStyle::standardPixmap
+272 QCommonStyle::generatedIconPixmap
+
+Class QWindowsStyle
+ size=24 align=8
+ base size=24 base align=8
+QWindowsStyle (0x7faaa704f310) 0
+ vptr=((& QWindowsStyle::_ZTV13QWindowsStyle) + 16u)
+ QCommonStyle (0x7faaa704f380) 0
+ primary-for QWindowsStyle (0x7faaa704f310)
+ QStyle (0x7faaa704f3f0) 0
+ primary-for QCommonStyle (0x7faaa704f380)
+ QObject (0x7faaa704f460) 0
+ primary-for QStyle (0x7faaa704f3f0)
+
+Vtable for QCleanlooksStyle
+QCleanlooksStyle::_ZTV16QCleanlooksStyle: 35u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QCleanlooksStyle)
+16 QCleanlooksStyle::metaObject
+24 QCleanlooksStyle::qt_metacast
+32 QCleanlooksStyle::qt_metacall
+40 QCleanlooksStyle::~QCleanlooksStyle
+48 QCleanlooksStyle::~QCleanlooksStyle
+56 QObject::event
+64 QWindowsStyle::eventFilter
+72 QWindowsStyle::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QCleanlooksStyle::polish
+120 QCleanlooksStyle::unpolish
+128 QCleanlooksStyle::polish
+136 QCleanlooksStyle::unpolish
+144 QCleanlooksStyle::polish
+152 QStyle::itemTextRect
+160 QCleanlooksStyle::itemPixmapRect
+168 QCleanlooksStyle::drawItemText
+176 QCleanlooksStyle::drawItemPixmap
+184 QCleanlooksStyle::standardPalette
+192 QCleanlooksStyle::drawPrimitive
+200 QCleanlooksStyle::drawControl
+208 QCleanlooksStyle::subElementRect
+216 QCleanlooksStyle::drawComplexControl
+224 QCleanlooksStyle::hitTestComplexControl
+232 QCleanlooksStyle::subControlRect
+240 QCleanlooksStyle::pixelMetric
+248 QCleanlooksStyle::sizeFromContents
+256 QCleanlooksStyle::styleHint
+264 QCleanlooksStyle::standardPixmap
+272 QCleanlooksStyle::generatedIconPixmap
+
+Class QCleanlooksStyle
+ size=24 align=8
+ base size=24 base align=8
+QCleanlooksStyle (0x7faaa70710e0) 0
+ vptr=((& QCleanlooksStyle::_ZTV16QCleanlooksStyle) + 16u)
+ QWindowsStyle (0x7faaa7071150) 0
+ primary-for QCleanlooksStyle (0x7faaa70710e0)
+ QCommonStyle (0x7faaa70711c0) 0
+ primary-for QWindowsStyle (0x7faaa7071150)
+ QStyle (0x7faaa7071230) 0
+ primary-for QCommonStyle (0x7faaa70711c0)
+ QObject (0x7faaa70712a0) 0
+ primary-for QStyle (0x7faaa7071230)
+
+Vtable for QPlastiqueStyle
+QPlastiqueStyle::_ZTV15QPlastiqueStyle: 35u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QPlastiqueStyle)
+16 QPlastiqueStyle::metaObject
+24 QPlastiqueStyle::qt_metacast
+32 QPlastiqueStyle::qt_metacall
+40 QPlastiqueStyle::~QPlastiqueStyle
+48 QPlastiqueStyle::~QPlastiqueStyle
+56 QObject::event
+64 QPlastiqueStyle::eventFilter
+72 QPlastiqueStyle::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QPlastiqueStyle::polish
+120 QPlastiqueStyle::unpolish
+128 QPlastiqueStyle::polish
+136 QPlastiqueStyle::unpolish
+144 QPlastiqueStyle::polish
+152 QStyle::itemTextRect
+160 QStyle::itemPixmapRect
+168 QStyle::drawItemText
+176 QStyle::drawItemPixmap
+184 QPlastiqueStyle::standardPalette
+192 QPlastiqueStyle::drawPrimitive
+200 QPlastiqueStyle::drawControl
+208 QPlastiqueStyle::subElementRect
+216 QPlastiqueStyle::drawComplexControl
+224 QPlastiqueStyle::hitTestComplexControl
+232 QPlastiqueStyle::subControlRect
+240 QPlastiqueStyle::pixelMetric
+248 QPlastiqueStyle::sizeFromContents
+256 QPlastiqueStyle::styleHint
+264 QPlastiqueStyle::standardPixmap
+272 QCommonStyle::generatedIconPixmap
+
+Class QPlastiqueStyle
+ size=32 align=8
+ base size=32 base align=8
+QPlastiqueStyle (0x7faaa708be70) 0
+ vptr=((& QPlastiqueStyle::_ZTV15QPlastiqueStyle) + 16u)
+ QWindowsStyle (0x7faaa708bee0) 0
+ primary-for QPlastiqueStyle (0x7faaa708be70)
+ QCommonStyle (0x7faaa708bf50) 0
+ primary-for QWindowsStyle (0x7faaa708bee0)
+ QStyle (0x7faaa7092000) 0
+ primary-for QCommonStyle (0x7faaa708bf50)
+ QObject (0x7faaa7092070) 0
+ primary-for QStyle (0x7faaa7092000)
+
+Vtable for QProxyStyle
+QProxyStyle::_ZTV11QProxyStyle: 35u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QProxyStyle)
+16 QProxyStyle::metaObject
+24 QProxyStyle::qt_metacast
+32 QProxyStyle::qt_metacall
+40 QProxyStyle::~QProxyStyle
+48 QProxyStyle::~QProxyStyle
+56 QProxyStyle::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QProxyStyle::polish
+120 QProxyStyle::unpolish
+128 QProxyStyle::polish
+136 QProxyStyle::unpolish
+144 QProxyStyle::polish
+152 QProxyStyle::itemTextRect
+160 QProxyStyle::itemPixmapRect
+168 QProxyStyle::drawItemText
+176 QProxyStyle::drawItemPixmap
+184 QProxyStyle::standardPalette
+192 QProxyStyle::drawPrimitive
+200 QProxyStyle::drawControl
+208 QProxyStyle::subElementRect
+216 QProxyStyle::drawComplexControl
+224 QProxyStyle::hitTestComplexControl
+232 QProxyStyle::subControlRect
+240 QProxyStyle::pixelMetric
+248 QProxyStyle::sizeFromContents
+256 QProxyStyle::styleHint
+264 QProxyStyle::standardPixmap
+272 QProxyStyle::generatedIconPixmap
+
+Class QProxyStyle
+ size=16 align=8
+ base size=16 base align=8
+QProxyStyle (0x7faaa70b5000) 0
+ vptr=((& QProxyStyle::_ZTV11QProxyStyle) + 16u)
+ QCommonStyle (0x7faaa70b5070) 0
+ primary-for QProxyStyle (0x7faaa70b5000)
+ QStyle (0x7faaa70b50e0) 0
+ primary-for QCommonStyle (0x7faaa70b5070)
+ QObject (0x7faaa70b5150) 0
+ primary-for QStyle (0x7faaa70b50e0)
+
+Vtable for QS60Style
+QS60Style::_ZTV9QS60Style: 35u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QS60Style)
+16 QS60Style::metaObject
+24 QS60Style::qt_metacast
+32 QS60Style::qt_metacall
+40 QS60Style::~QS60Style
+48 QS60Style::~QS60Style
+56 QS60Style::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QS60Style::polish
+120 QS60Style::unpolish
+128 QS60Style::polish
+136 QS60Style::unpolish
+144 QCommonStyle::polish
+152 QStyle::itemTextRect
+160 QStyle::itemPixmapRect
+168 QStyle::drawItemText
+176 QStyle::drawItemPixmap
+184 QStyle::standardPalette
+192 QS60Style::drawPrimitive
+200 QS60Style::drawControl
+208 QS60Style::subElementRect
+216 QS60Style::drawComplexControl
+224 QCommonStyle::hitTestComplexControl
+232 QS60Style::subControlRect
+240 QS60Style::pixelMetric
+248 QS60Style::sizeFromContents
+256 QS60Style::styleHint
+264 QCommonStyle::standardPixmap
+272 QCommonStyle::generatedIconPixmap
+
+Class QS60Style
+ size=16 align=8
+ base size=16 base align=8
+QS60Style (0x7faaa70d54d0) 0
+ vptr=((& QS60Style::_ZTV9QS60Style) + 16u)
+ QCommonStyle (0x7faaa70d5540) 0
+ primary-for QS60Style (0x7faaa70d54d0)
+ QStyle (0x7faaa70d55b0) 0
+ primary-for QCommonStyle (0x7faaa70d5540)
+ QObject (0x7faaa70d5620) 0
+ primary-for QStyle (0x7faaa70d55b0)
+
+Class QStyleFactory
+ size=1 align=1
+ base size=0 base align=1
+QStyleFactory (0x7faaa6efa310) 0 empty
+
+Vtable for QStyleFactoryInterface
+QStyleFactoryInterface::_ZTV22QStyleFactoryInterface: 6u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI22QStyleFactoryInterface)
+16 QStyleFactoryInterface::~QStyleFactoryInterface
+24 QStyleFactoryInterface::~QStyleFactoryInterface
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+
+Class QStyleFactoryInterface
+ size=8 align=8
+ base size=8 base align=8
+QStyleFactoryInterface (0x7faaa6efa380) 0 nearly-empty
+ vptr=((& QStyleFactoryInterface::_ZTV22QStyleFactoryInterface) + 16u)
+ QFactoryInterface (0x7faaa6efa3f0) 0 nearly-empty
+ primary-for QStyleFactoryInterface (0x7faaa6efa380)
+
+Vtable for QStylePlugin
+QStylePlugin::_ZTV12QStylePlugin: 22u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QStylePlugin)
+16 QStylePlugin::metaObject
+24 QStylePlugin::qt_metacast
+32 QStylePlugin::qt_metacall
+40 QStylePlugin::~QStylePlugin
+48 QStylePlugin::~QStylePlugin
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 (int (*)(...))-0x00000000000000010
+136 (int (*)(...))(& _ZTI12QStylePlugin)
+144 QStylePlugin::_ZThn16_N12QStylePluginD1Ev
+152 QStylePlugin::_ZThn16_N12QStylePluginD0Ev
+160 __cxa_pure_virtual
+168 __cxa_pure_virtual
+
+Class QStylePlugin
+ size=24 align=8
+ base size=24 base align=8
+QStylePlugin (0x7faaa6f06000) 0
+ vptr=((& QStylePlugin::_ZTV12QStylePlugin) + 16u)
+ QObject (0x7faaa6efae00) 0
+ primary-for QStylePlugin (0x7faaa6f06000)
+ QStyleFactoryInterface (0x7faaa6efae70) 16 nearly-empty
+ vptr=((& QStylePlugin::_ZTV12QStylePlugin) + 144u)
+ QFactoryInterface (0x7faaa6efaee0) 16 nearly-empty
+ primary-for QStyleFactoryInterface (0x7faaa6efae70)
+
+Vtable for QWindowsCEStyle
+QWindowsCEStyle::_ZTV15QWindowsCEStyle: 35u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QWindowsCEStyle)
+16 QWindowsCEStyle::metaObject
+24 QWindowsCEStyle::qt_metacast
+32 QWindowsCEStyle::qt_metacall
+40 QWindowsCEStyle::~QWindowsCEStyle
+48 QWindowsCEStyle::~QWindowsCEStyle
+56 QObject::event
+64 QWindowsStyle::eventFilter
+72 QWindowsStyle::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWindowsCEStyle::polish
+120 QWindowsStyle::unpolish
+128 QWindowsCEStyle::polish
+136 QWindowsStyle::unpolish
+144 QWindowsCEStyle::polish
+152 QStyle::itemTextRect
+160 QStyle::itemPixmapRect
+168 QWindowsCEStyle::drawItemText
+176 QStyle::drawItemPixmap
+184 QWindowsCEStyle::standardPalette
+192 QWindowsCEStyle::drawPrimitive
+200 QWindowsCEStyle::drawControl
+208 QWindowsCEStyle::subElementRect
+216 QWindowsCEStyle::drawComplexControl
+224 QWindowsCEStyle::hitTestComplexControl
+232 QWindowsCEStyle::subControlRect
+240 QWindowsCEStyle::pixelMetric
+248 QWindowsCEStyle::sizeFromContents
+256 QWindowsCEStyle::styleHint
+264 QWindowsCEStyle::standardPixmap
+272 QCommonStyle::generatedIconPixmap
+
+Class QWindowsCEStyle
+ size=24 align=8
+ base size=24 base align=8
+QWindowsCEStyle (0x7faaa6f09d90) 0
+ vptr=((& QWindowsCEStyle::_ZTV15QWindowsCEStyle) + 16u)
+ QWindowsStyle (0x7faaa6f09e00) 0
+ primary-for QWindowsCEStyle (0x7faaa6f09d90)
+ QCommonStyle (0x7faaa6f09e70) 0
+ primary-for QWindowsStyle (0x7faaa6f09e00)
+ QStyle (0x7faaa6f09ee0) 0
+ primary-for QCommonStyle (0x7faaa6f09e70)
+ QObject (0x7faaa6f09f50) 0
+ primary-for QStyle (0x7faaa6f09ee0)
+
+Vtable for QWindowsMobileStyle
+QWindowsMobileStyle::_ZTV19QWindowsMobileStyle: 35u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QWindowsMobileStyle)
+16 QWindowsMobileStyle::metaObject
+24 QWindowsMobileStyle::qt_metacast
+32 QWindowsMobileStyle::qt_metacall
+40 QWindowsMobileStyle::~QWindowsMobileStyle
+48 QWindowsMobileStyle::~QWindowsMobileStyle
+56 QObject::event
+64 QWindowsStyle::eventFilter
+72 QWindowsStyle::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWindowsMobileStyle::polish
+120 QWindowsMobileStyle::unpolish
+128 QWindowsMobileStyle::polish
+136 QWindowsMobileStyle::unpolish
+144 QWindowsMobileStyle::polish
+152 QStyle::itemTextRect
+160 QStyle::itemPixmapRect
+168 QStyle::drawItemText
+176 QStyle::drawItemPixmap
+184 QWindowsMobileStyle::standardPalette
+192 QWindowsMobileStyle::drawPrimitive
+200 QWindowsMobileStyle::drawControl
+208 QWindowsMobileStyle::subElementRect
+216 QWindowsMobileStyle::drawComplexControl
+224 QCommonStyle::hitTestComplexControl
+232 QWindowsMobileStyle::subControlRect
+240 QWindowsMobileStyle::pixelMetric
+248 QWindowsMobileStyle::sizeFromContents
+256 QWindowsMobileStyle::styleHint
+264 QWindowsMobileStyle::standardPixmap
+272 QWindowsMobileStyle::generatedIconPixmap
+
+Class QWindowsMobileStyle
+ size=24 align=8
+ base size=24 base align=8
+QWindowsMobileStyle (0x7faaa6f2e3f0) 0
+ vptr=((& QWindowsMobileStyle::_ZTV19QWindowsMobileStyle) + 16u)
+ QWindowsStyle (0x7faaa6f2e460) 0
+ primary-for QWindowsMobileStyle (0x7faaa6f2e3f0)
+ QCommonStyle (0x7faaa6f2e4d0) 0
+ primary-for QWindowsStyle (0x7faaa6f2e460)
+ QStyle (0x7faaa6f2e540) 0
+ primary-for QCommonStyle (0x7faaa6f2e4d0)
+ QObject (0x7faaa6f2e5b0) 0
+ primary-for QStyle (0x7faaa6f2e540)
+
+Vtable for QWindowsXPStyle
+QWindowsXPStyle::_ZTV15QWindowsXPStyle: 35u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QWindowsXPStyle)
+16 QWindowsXPStyle::metaObject
+24 QWindowsXPStyle::qt_metacast
+32 QWindowsXPStyle::qt_metacall
+40 QWindowsXPStyle::~QWindowsXPStyle
+48 QWindowsXPStyle::~QWindowsXPStyle
+56 QObject::event
+64 QWindowsStyle::eventFilter
+72 QWindowsStyle::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWindowsXPStyle::polish
+120 QWindowsXPStyle::unpolish
+128 QWindowsXPStyle::polish
+136 QWindowsXPStyle::unpolish
+144 QWindowsXPStyle::polish
+152 QStyle::itemTextRect
+160 QStyle::itemPixmapRect
+168 QStyle::drawItemText
+176 QStyle::drawItemPixmap
+184 QWindowsXPStyle::standardPalette
+192 QWindowsXPStyle::drawPrimitive
+200 QWindowsXPStyle::drawControl
+208 QWindowsXPStyle::subElementRect
+216 QWindowsXPStyle::drawComplexControl
+224 QCommonStyle::hitTestComplexControl
+232 QWindowsXPStyle::subControlRect
+240 QWindowsXPStyle::pixelMetric
+248 QWindowsXPStyle::sizeFromContents
+256 QWindowsXPStyle::styleHint
+264 QWindowsXPStyle::standardPixmap
+272 QCommonStyle::generatedIconPixmap
+
+Class QWindowsXPStyle
+ size=32 align=8
+ base size=32 base align=8
+QWindowsXPStyle (0x7faaa6f47d90) 0
+ vptr=((& QWindowsXPStyle::_ZTV15QWindowsXPStyle) + 16u)
+ QWindowsStyle (0x7faaa6f47e00) 0
+ primary-for QWindowsXPStyle (0x7faaa6f47d90)
+ QCommonStyle (0x7faaa6f47e70) 0
+ primary-for QWindowsStyle (0x7faaa6f47e00)
+ QStyle (0x7faaa6f47ee0) 0
+ primary-for QCommonStyle (0x7faaa6f47e70)
+ QObject (0x7faaa6f47f50) 0
+ primary-for QStyle (0x7faaa6f47ee0)
+
+Vtable for QWindowsVistaStyle
+QWindowsVistaStyle::_ZTV18QWindowsVistaStyle: 35u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QWindowsVistaStyle)
+16 QWindowsVistaStyle::metaObject
+24 QWindowsVistaStyle::qt_metacast
+32 QWindowsVistaStyle::qt_metacall
+40 QWindowsVistaStyle::~QWindowsVistaStyle
+48 QWindowsVistaStyle::~QWindowsVistaStyle
+56 QWindowsVistaStyle::event
+64 QWindowsStyle::eventFilter
+72 QWindowsStyle::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWindowsVistaStyle::polish
+120 QWindowsVistaStyle::unpolish
+128 QWindowsVistaStyle::polish
+136 QWindowsVistaStyle::unpolish
+144 QWindowsVistaStyle::polish
+152 QStyle::itemTextRect
+160 QStyle::itemPixmapRect
+168 QStyle::drawItemText
+176 QStyle::drawItemPixmap
+184 QWindowsVistaStyle::standardPalette
+192 QWindowsVistaStyle::drawPrimitive
+200 QWindowsVistaStyle::drawControl
+208 QWindowsVistaStyle::subElementRect
+216 QWindowsVistaStyle::drawComplexControl
+224 QWindowsVistaStyle::hitTestComplexControl
+232 QWindowsVistaStyle::subControlRect
+240 QWindowsVistaStyle::pixelMetric
+248 QWindowsVistaStyle::sizeFromContents
+256 QWindowsVistaStyle::styleHint
+264 QWindowsVistaStyle::standardPixmap
+272 QCommonStyle::generatedIconPixmap
+
+Class QWindowsVistaStyle
+ size=32 align=8
+ base size=32 base align=8
+QWindowsVistaStyle (0x7faaa6f68c40) 0
+ vptr=((& QWindowsVistaStyle::_ZTV18QWindowsVistaStyle) + 16u)
+ QWindowsXPStyle (0x7faaa6f68cb0) 0
+ primary-for QWindowsVistaStyle (0x7faaa6f68c40)
+ QWindowsStyle (0x7faaa6f68d20) 0
+ primary-for QWindowsXPStyle (0x7faaa6f68cb0)
+ QCommonStyle (0x7faaa6f68d90) 0
+ primary-for QWindowsStyle (0x7faaa6f68d20)
+ QStyle (0x7faaa6f68e00) 0
+ primary-for QCommonStyle (0x7faaa6f68d90)
+ QObject (0x7faaa6f68e70) 0
+ primary-for QStyle (0x7faaa6f68e00)
+
+Vtable for QInputContext
+QInputContext::_ZTV13QInputContext: 26u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QInputContext)
+16 QInputContext::metaObject
+24 QInputContext::qt_metacast
+32 QInputContext::qt_metacall
+40 QInputContext::~QInputContext
+48 QInputContext::~QInputContext
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 __cxa_pure_virtual
+136 QInputContext::update
+144 QInputContext::mouseHandler
+152 QInputContext::font
+160 __cxa_pure_virtual
+168 QInputContext::setFocusWidget
+176 QInputContext::widgetDestroyed
+184 QInputContext::actions
+192 QInputContext::x11FilterEvent
+200 QInputContext::filterEvent
+
+Class QInputContext
+ size=16 align=8
+ base size=16 base align=8
+QInputContext (0x7faaa6f88c40) 0
+ vptr=((& QInputContext::_ZTV13QInputContext) + 16u)
+ QObject (0x7faaa6f88cb0) 0
+ primary-for QInputContext (0x7faaa6f88c40)
+
+Class QInputContextFactory
+ size=1 align=1
+ base size=0 base align=1
+QInputContextFactory (0x7faaa6fa95b0) 0 empty
+
+Vtable for QInputContextFactoryInterface
+QInputContextFactoryInterface::_ZTV29QInputContextFactoryInterface: 9u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI29QInputContextFactoryInterface)
+16 QInputContextFactoryInterface::~QInputContextFactoryInterface
+24 QInputContextFactoryInterface::~QInputContextFactoryInterface
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+48 __cxa_pure_virtual
+56 __cxa_pure_virtual
+64 __cxa_pure_virtual
+
+Class QInputContextFactoryInterface
+ size=8 align=8
+ base size=8 base align=8
+QInputContextFactoryInterface (0x7faaa6fa9620) 0 nearly-empty
+ vptr=((& QInputContextFactoryInterface::_ZTV29QInputContextFactoryInterface) + 16u)
+ QFactoryInterface (0x7faaa6fa9690) 0 nearly-empty
+ primary-for QInputContextFactoryInterface (0x7faaa6fa9620)
+
+Vtable for QInputContextPlugin
+QInputContextPlugin::_ZTV19QInputContextPlugin: 28u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QInputContextPlugin)
+16 QInputContextPlugin::metaObject
+24 QInputContextPlugin::qt_metacast
+32 QInputContextPlugin::qt_metacall
+40 QInputContextPlugin::~QInputContextPlugin
+48 QInputContextPlugin::~QInputContextPlugin
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 __cxa_pure_virtual
+136 __cxa_pure_virtual
+144 __cxa_pure_virtual
+152 (int (*)(...))-0x00000000000000010
+160 (int (*)(...))(& _ZTI19QInputContextPlugin)
+168 QInputContextPlugin::_ZThn16_N19QInputContextPluginD1Ev
+176 QInputContextPlugin::_ZThn16_N19QInputContextPluginD0Ev
+184 __cxa_pure_virtual
+192 __cxa_pure_virtual
+200 __cxa_pure_virtual
+208 __cxa_pure_virtual
+216 __cxa_pure_virtual
+
+Class QInputContextPlugin
+ size=24 align=8
+ base size=24 base align=8
+QInputContextPlugin (0x7faaa6fa5e80) 0
+ vptr=((& QInputContextPlugin::_ZTV19QInputContextPlugin) + 16u)
+ QObject (0x7faaa6fb7000) 0
+ primary-for QInputContextPlugin (0x7faaa6fa5e80)
+ QInputContextFactoryInterface (0x7faaa6fb7070) 16 nearly-empty
+ vptr=((& QInputContextPlugin::_ZTV19QInputContextPlugin) + 168u)
+ QFactoryInterface (0x7faaa6fb70e0) 16 nearly-empty
+ primary-for QInputContextFactoryInterface (0x7faaa6fb7070)
+
+Vtable for QGraphicsItem
+QGraphicsItem::_ZTV13QGraphicsItem: 39u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QGraphicsItem)
+16 QGraphicsItem::~QGraphicsItem
+24 QGraphicsItem::~QGraphicsItem
+32 QGraphicsItem::advance
+40 __cxa_pure_virtual
+48 QGraphicsItem::shape
+56 QGraphicsItem::contains
+64 QGraphicsItem::collidesWithItem
+72 QGraphicsItem::collidesWithPath
+80 QGraphicsItem::isObscuredBy
+88 QGraphicsItem::opaqueArea
+96 __cxa_pure_virtual
+104 QGraphicsItem::type
+112 QGraphicsItem::sceneEventFilter
+120 QGraphicsItem::sceneEvent
+128 QGraphicsItem::contextMenuEvent
+136 QGraphicsItem::dragEnterEvent
+144 QGraphicsItem::dragLeaveEvent
+152 QGraphicsItem::dragMoveEvent
+160 QGraphicsItem::dropEvent
+168 QGraphicsItem::focusInEvent
+176 QGraphicsItem::focusOutEvent
+184 QGraphicsItem::hoverEnterEvent
+192 QGraphicsItem::hoverMoveEvent
+200 QGraphicsItem::hoverLeaveEvent
+208 QGraphicsItem::keyPressEvent
+216 QGraphicsItem::keyReleaseEvent
+224 QGraphicsItem::mousePressEvent
+232 QGraphicsItem::mouseMoveEvent
+240 QGraphicsItem::mouseReleaseEvent
+248 QGraphicsItem::mouseDoubleClickEvent
+256 QGraphicsItem::wheelEvent
+264 QGraphicsItem::inputMethodEvent
+272 QGraphicsItem::inputMethodQuery
+280 QGraphicsItem::itemChange
+288 QGraphicsItem::supportsExtension
+296 QGraphicsItem::setExtension
+304 QGraphicsItem::extension
+
+Class QGraphicsItem
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsItem (0x7faaa6fb7380) 0
+ vptr=((& QGraphicsItem::_ZTV13QGraphicsItem) + 16u)
+
+Vtable for QGraphicsObject
+QGraphicsObject::_ZTV15QGraphicsObject: 53u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QGraphicsObject)
+16 QGraphicsObject::metaObject
+24 QGraphicsObject::qt_metacast
+32 QGraphicsObject::qt_metacall
+40 QGraphicsObject::~QGraphicsObject
+48 QGraphicsObject::~QGraphicsObject
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 (int (*)(...))-0x00000000000000010
+120 (int (*)(...))(& _ZTI15QGraphicsObject)
+128 QGraphicsObject::_ZThn16_N15QGraphicsObjectD1Ev
+136 QGraphicsObject::_ZThn16_N15QGraphicsObjectD0Ev
+144 QGraphicsItem::advance
+152 __cxa_pure_virtual
+160 QGraphicsItem::shape
+168 QGraphicsItem::contains
+176 QGraphicsItem::collidesWithItem
+184 QGraphicsItem::collidesWithPath
+192 QGraphicsItem::isObscuredBy
+200 QGraphicsItem::opaqueArea
+208 __cxa_pure_virtual
+216 QGraphicsItem::type
+224 QGraphicsItem::sceneEventFilter
+232 QGraphicsItem::sceneEvent
+240 QGraphicsItem::contextMenuEvent
+248 QGraphicsItem::dragEnterEvent
+256 QGraphicsItem::dragLeaveEvent
+264 QGraphicsItem::dragMoveEvent
+272 QGraphicsItem::dropEvent
+280 QGraphicsItem::focusInEvent
+288 QGraphicsItem::focusOutEvent
+296 QGraphicsItem::hoverEnterEvent
+304 QGraphicsItem::hoverMoveEvent
+312 QGraphicsItem::hoverLeaveEvent
+320 QGraphicsItem::keyPressEvent
+328 QGraphicsItem::keyReleaseEvent
+336 QGraphicsItem::mousePressEvent
+344 QGraphicsItem::mouseMoveEvent
+352 QGraphicsItem::mouseReleaseEvent
+360 QGraphicsItem::mouseDoubleClickEvent
+368 QGraphicsItem::wheelEvent
+376 QGraphicsItem::inputMethodEvent
+384 QGraphicsItem::inputMethodQuery
+392 QGraphicsItem::itemChange
+400 QGraphicsItem::supportsExtension
+408 QGraphicsItem::setExtension
+416 QGraphicsItem::extension
+
+Class QGraphicsObject
+ size=32 align=8
+ base size=32 base align=8
+QGraphicsObject (0x7faaa6eb2c80) 0
+ vptr=((& QGraphicsObject::_ZTV15QGraphicsObject) + 16u)
+ QObject (0x7faaa6eb8f50) 0
+ primary-for QGraphicsObject (0x7faaa6eb2c80)
+ QGraphicsItem (0x7faaa6ec3000) 16
+ vptr=((& QGraphicsObject::_ZTV15QGraphicsObject) + 128u)
+
+Vtable for QAbstractGraphicsShapeItem
+QAbstractGraphicsShapeItem::_ZTV26QAbstractGraphicsShapeItem: 39u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI26QAbstractGraphicsShapeItem)
+16 QAbstractGraphicsShapeItem::~QAbstractGraphicsShapeItem
+24 QAbstractGraphicsShapeItem::~QAbstractGraphicsShapeItem
+32 QGraphicsItem::advance
+40 __cxa_pure_virtual
+48 QGraphicsItem::shape
+56 QGraphicsItem::contains
+64 QGraphicsItem::collidesWithItem
+72 QGraphicsItem::collidesWithPath
+80 QAbstractGraphicsShapeItem::isObscuredBy
+88 QAbstractGraphicsShapeItem::opaqueArea
+96 __cxa_pure_virtual
+104 QGraphicsItem::type
+112 QGraphicsItem::sceneEventFilter
+120 QGraphicsItem::sceneEvent
+128 QGraphicsItem::contextMenuEvent
+136 QGraphicsItem::dragEnterEvent
+144 QGraphicsItem::dragLeaveEvent
+152 QGraphicsItem::dragMoveEvent
+160 QGraphicsItem::dropEvent
+168 QGraphicsItem::focusInEvent
+176 QGraphicsItem::focusOutEvent
+184 QGraphicsItem::hoverEnterEvent
+192 QGraphicsItem::hoverMoveEvent
+200 QGraphicsItem::hoverLeaveEvent
+208 QGraphicsItem::keyPressEvent
+216 QGraphicsItem::keyReleaseEvent
+224 QGraphicsItem::mousePressEvent
+232 QGraphicsItem::mouseMoveEvent
+240 QGraphicsItem::mouseReleaseEvent
+248 QGraphicsItem::mouseDoubleClickEvent
+256 QGraphicsItem::wheelEvent
+264 QGraphicsItem::inputMethodEvent
+272 QGraphicsItem::inputMethodQuery
+280 QGraphicsItem::itemChange
+288 QGraphicsItem::supportsExtension
+296 QGraphicsItem::setExtension
+304 QGraphicsItem::extension
+
+Class QAbstractGraphicsShapeItem
+ size=16 align=8
+ base size=16 base align=8
+QAbstractGraphicsShapeItem (0x7faaa6ed9070) 0
+ vptr=((& QAbstractGraphicsShapeItem::_ZTV26QAbstractGraphicsShapeItem) + 16u)
+ QGraphicsItem (0x7faaa6ed90e0) 0
+ primary-for QAbstractGraphicsShapeItem (0x7faaa6ed9070)
+
+Vtable for QGraphicsPathItem
+QGraphicsPathItem::_ZTV17QGraphicsPathItem: 39u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QGraphicsPathItem)
+16 QGraphicsPathItem::~QGraphicsPathItem
+24 QGraphicsPathItem::~QGraphicsPathItem
+32 QGraphicsItem::advance
+40 QGraphicsPathItem::boundingRect
+48 QGraphicsPathItem::shape
+56 QGraphicsPathItem::contains
+64 QGraphicsItem::collidesWithItem
+72 QGraphicsItem::collidesWithPath
+80 QGraphicsPathItem::isObscuredBy
+88 QGraphicsPathItem::opaqueArea
+96 QGraphicsPathItem::paint
+104 QGraphicsPathItem::type
+112 QGraphicsItem::sceneEventFilter
+120 QGraphicsItem::sceneEvent
+128 QGraphicsItem::contextMenuEvent
+136 QGraphicsItem::dragEnterEvent
+144 QGraphicsItem::dragLeaveEvent
+152 QGraphicsItem::dragMoveEvent
+160 QGraphicsItem::dropEvent
+168 QGraphicsItem::focusInEvent
+176 QGraphicsItem::focusOutEvent
+184 QGraphicsItem::hoverEnterEvent
+192 QGraphicsItem::hoverMoveEvent
+200 QGraphicsItem::hoverLeaveEvent
+208 QGraphicsItem::keyPressEvent
+216 QGraphicsItem::keyReleaseEvent
+224 QGraphicsItem::mousePressEvent
+232 QGraphicsItem::mouseMoveEvent
+240 QGraphicsItem::mouseReleaseEvent
+248 QGraphicsItem::mouseDoubleClickEvent
+256 QGraphicsItem::wheelEvent
+264 QGraphicsItem::inputMethodEvent
+272 QGraphicsItem::inputMethodQuery
+280 QGraphicsItem::itemChange
+288 QGraphicsPathItem::supportsExtension
+296 QGraphicsPathItem::setExtension
+304 QGraphicsPathItem::extension
+
+Class QGraphicsPathItem
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsPathItem (0x7faaa6ed9ee0) 0
+ vptr=((& QGraphicsPathItem::_ZTV17QGraphicsPathItem) + 16u)
+ QAbstractGraphicsShapeItem (0x7faaa6ed9f50) 0
+ primary-for QGraphicsPathItem (0x7faaa6ed9ee0)
+ QGraphicsItem (0x7faaa6ed9930) 0
+ primary-for QAbstractGraphicsShapeItem (0x7faaa6ed9f50)
+
+Vtable for QGraphicsRectItem
+QGraphicsRectItem::_ZTV17QGraphicsRectItem: 39u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QGraphicsRectItem)
+16 QGraphicsRectItem::~QGraphicsRectItem
+24 QGraphicsRectItem::~QGraphicsRectItem
+32 QGraphicsItem::advance
+40 QGraphicsRectItem::boundingRect
+48 QGraphicsRectItem::shape
+56 QGraphicsRectItem::contains
+64 QGraphicsItem::collidesWithItem
+72 QGraphicsItem::collidesWithPath
+80 QGraphicsRectItem::isObscuredBy
+88 QGraphicsRectItem::opaqueArea
+96 QGraphicsRectItem::paint
+104 QGraphicsRectItem::type
+112 QGraphicsItem::sceneEventFilter
+120 QGraphicsItem::sceneEvent
+128 QGraphicsItem::contextMenuEvent
+136 QGraphicsItem::dragEnterEvent
+144 QGraphicsItem::dragLeaveEvent
+152 QGraphicsItem::dragMoveEvent
+160 QGraphicsItem::dropEvent
+168 QGraphicsItem::focusInEvent
+176 QGraphicsItem::focusOutEvent
+184 QGraphicsItem::hoverEnterEvent
+192 QGraphicsItem::hoverMoveEvent
+200 QGraphicsItem::hoverLeaveEvent
+208 QGraphicsItem::keyPressEvent
+216 QGraphicsItem::keyReleaseEvent
+224 QGraphicsItem::mousePressEvent
+232 QGraphicsItem::mouseMoveEvent
+240 QGraphicsItem::mouseReleaseEvent
+248 QGraphicsItem::mouseDoubleClickEvent
+256 QGraphicsItem::wheelEvent
+264 QGraphicsItem::inputMethodEvent
+272 QGraphicsItem::inputMethodQuery
+280 QGraphicsItem::itemChange
+288 QGraphicsRectItem::supportsExtension
+296 QGraphicsRectItem::setExtension
+304 QGraphicsRectItem::extension
+
+Class QGraphicsRectItem
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsRectItem (0x7faaa6cdfe70) 0
+ vptr=((& QGraphicsRectItem::_ZTV17QGraphicsRectItem) + 16u)
+ QAbstractGraphicsShapeItem (0x7faaa6cdfee0) 0
+ primary-for QGraphicsRectItem (0x7faaa6cdfe70)
+ QGraphicsItem (0x7faaa6cdff50) 0
+ primary-for QAbstractGraphicsShapeItem (0x7faaa6cdfee0)
+
+Vtable for QGraphicsEllipseItem
+QGraphicsEllipseItem::_ZTV20QGraphicsEllipseItem: 39u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI20QGraphicsEllipseItem)
+16 QGraphicsEllipseItem::~QGraphicsEllipseItem
+24 QGraphicsEllipseItem::~QGraphicsEllipseItem
+32 QGraphicsItem::advance
+40 QGraphicsEllipseItem::boundingRect
+48 QGraphicsEllipseItem::shape
+56 QGraphicsEllipseItem::contains
+64 QGraphicsItem::collidesWithItem
+72 QGraphicsItem::collidesWithPath
+80 QGraphicsEllipseItem::isObscuredBy
+88 QGraphicsEllipseItem::opaqueArea
+96 QGraphicsEllipseItem::paint
+104 QGraphicsEllipseItem::type
+112 QGraphicsItem::sceneEventFilter
+120 QGraphicsItem::sceneEvent
+128 QGraphicsItem::contextMenuEvent
+136 QGraphicsItem::dragEnterEvent
+144 QGraphicsItem::dragLeaveEvent
+152 QGraphicsItem::dragMoveEvent
+160 QGraphicsItem::dropEvent
+168 QGraphicsItem::focusInEvent
+176 QGraphicsItem::focusOutEvent
+184 QGraphicsItem::hoverEnterEvent
+192 QGraphicsItem::hoverMoveEvent
+200 QGraphicsItem::hoverLeaveEvent
+208 QGraphicsItem::keyPressEvent
+216 QGraphicsItem::keyReleaseEvent
+224 QGraphicsItem::mousePressEvent
+232 QGraphicsItem::mouseMoveEvent
+240 QGraphicsItem::mouseReleaseEvent
+248 QGraphicsItem::mouseDoubleClickEvent
+256 QGraphicsItem::wheelEvent
+264 QGraphicsItem::inputMethodEvent
+272 QGraphicsItem::inputMethodQuery
+280 QGraphicsItem::itemChange
+288 QGraphicsEllipseItem::supportsExtension
+296 QGraphicsEllipseItem::setExtension
+304 QGraphicsEllipseItem::extension
+
+Class QGraphicsEllipseItem
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsEllipseItem (0x7faaa6d04150) 0
+ vptr=((& QGraphicsEllipseItem::_ZTV20QGraphicsEllipseItem) + 16u)
+ QAbstractGraphicsShapeItem (0x7faaa6d041c0) 0
+ primary-for QGraphicsEllipseItem (0x7faaa6d04150)
+ QGraphicsItem (0x7faaa6d04230) 0
+ primary-for QAbstractGraphicsShapeItem (0x7faaa6d041c0)
+
+Vtable for QGraphicsPolygonItem
+QGraphicsPolygonItem::_ZTV20QGraphicsPolygonItem: 39u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI20QGraphicsPolygonItem)
+16 QGraphicsPolygonItem::~QGraphicsPolygonItem
+24 QGraphicsPolygonItem::~QGraphicsPolygonItem
+32 QGraphicsItem::advance
+40 QGraphicsPolygonItem::boundingRect
+48 QGraphicsPolygonItem::shape
+56 QGraphicsPolygonItem::contains
+64 QGraphicsItem::collidesWithItem
+72 QGraphicsItem::collidesWithPath
+80 QGraphicsPolygonItem::isObscuredBy
+88 QGraphicsPolygonItem::opaqueArea
+96 QGraphicsPolygonItem::paint
+104 QGraphicsPolygonItem::type
+112 QGraphicsItem::sceneEventFilter
+120 QGraphicsItem::sceneEvent
+128 QGraphicsItem::contextMenuEvent
+136 QGraphicsItem::dragEnterEvent
+144 QGraphicsItem::dragLeaveEvent
+152 QGraphicsItem::dragMoveEvent
+160 QGraphicsItem::dropEvent
+168 QGraphicsItem::focusInEvent
+176 QGraphicsItem::focusOutEvent
+184 QGraphicsItem::hoverEnterEvent
+192 QGraphicsItem::hoverMoveEvent
+200 QGraphicsItem::hoverLeaveEvent
+208 QGraphicsItem::keyPressEvent
+216 QGraphicsItem::keyReleaseEvent
+224 QGraphicsItem::mousePressEvent
+232 QGraphicsItem::mouseMoveEvent
+240 QGraphicsItem::mouseReleaseEvent
+248 QGraphicsItem::mouseDoubleClickEvent
+256 QGraphicsItem::wheelEvent
+264 QGraphicsItem::inputMethodEvent
+272 QGraphicsItem::inputMethodQuery
+280 QGraphicsItem::itemChange
+288 QGraphicsPolygonItem::supportsExtension
+296 QGraphicsPolygonItem::setExtension
+304 QGraphicsPolygonItem::extension
+
+Class QGraphicsPolygonItem
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsPolygonItem (0x7faaa6d17460) 0
+ vptr=((& QGraphicsPolygonItem::_ZTV20QGraphicsPolygonItem) + 16u)
+ QAbstractGraphicsShapeItem (0x7faaa6d174d0) 0
+ primary-for QGraphicsPolygonItem (0x7faaa6d17460)
+ QGraphicsItem (0x7faaa6d17540) 0
+ primary-for QAbstractGraphicsShapeItem (0x7faaa6d174d0)
+
+Vtable for QGraphicsLineItem
+QGraphicsLineItem::_ZTV17QGraphicsLineItem: 39u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QGraphicsLineItem)
+16 QGraphicsLineItem::~QGraphicsLineItem
+24 QGraphicsLineItem::~QGraphicsLineItem
+32 QGraphicsItem::advance
+40 QGraphicsLineItem::boundingRect
+48 QGraphicsLineItem::shape
+56 QGraphicsLineItem::contains
+64 QGraphicsItem::collidesWithItem
+72 QGraphicsItem::collidesWithPath
+80 QGraphicsLineItem::isObscuredBy
+88 QGraphicsLineItem::opaqueArea
+96 QGraphicsLineItem::paint
+104 QGraphicsLineItem::type
+112 QGraphicsItem::sceneEventFilter
+120 QGraphicsItem::sceneEvent
+128 QGraphicsItem::contextMenuEvent
+136 QGraphicsItem::dragEnterEvent
+144 QGraphicsItem::dragLeaveEvent
+152 QGraphicsItem::dragMoveEvent
+160 QGraphicsItem::dropEvent
+168 QGraphicsItem::focusInEvent
+176 QGraphicsItem::focusOutEvent
+184 QGraphicsItem::hoverEnterEvent
+192 QGraphicsItem::hoverMoveEvent
+200 QGraphicsItem::hoverLeaveEvent
+208 QGraphicsItem::keyPressEvent
+216 QGraphicsItem::keyReleaseEvent
+224 QGraphicsItem::mousePressEvent
+232 QGraphicsItem::mouseMoveEvent
+240 QGraphicsItem::mouseReleaseEvent
+248 QGraphicsItem::mouseDoubleClickEvent
+256 QGraphicsItem::wheelEvent
+264 QGraphicsItem::inputMethodEvent
+272 QGraphicsItem::inputMethodQuery
+280 QGraphicsItem::itemChange
+288 QGraphicsLineItem::supportsExtension
+296 QGraphicsLineItem::setExtension
+304 QGraphicsLineItem::extension
+
+Class QGraphicsLineItem
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsLineItem (0x7faaa6d2b3f0) 0
+ vptr=((& QGraphicsLineItem::_ZTV17QGraphicsLineItem) + 16u)
+ QGraphicsItem (0x7faaa6d2b460) 0
+ primary-for QGraphicsLineItem (0x7faaa6d2b3f0)
+
+Vtable for QGraphicsPixmapItem
+QGraphicsPixmapItem::_ZTV19QGraphicsPixmapItem: 39u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QGraphicsPixmapItem)
+16 QGraphicsPixmapItem::~QGraphicsPixmapItem
+24 QGraphicsPixmapItem::~QGraphicsPixmapItem
+32 QGraphicsItem::advance
+40 QGraphicsPixmapItem::boundingRect
+48 QGraphicsPixmapItem::shape
+56 QGraphicsPixmapItem::contains
+64 QGraphicsItem::collidesWithItem
+72 QGraphicsItem::collidesWithPath
+80 QGraphicsPixmapItem::isObscuredBy
+88 QGraphicsPixmapItem::opaqueArea
+96 QGraphicsPixmapItem::paint
+104 QGraphicsPixmapItem::type
+112 QGraphicsItem::sceneEventFilter
+120 QGraphicsItem::sceneEvent
+128 QGraphicsItem::contextMenuEvent
+136 QGraphicsItem::dragEnterEvent
+144 QGraphicsItem::dragLeaveEvent
+152 QGraphicsItem::dragMoveEvent
+160 QGraphicsItem::dropEvent
+168 QGraphicsItem::focusInEvent
+176 QGraphicsItem::focusOutEvent
+184 QGraphicsItem::hoverEnterEvent
+192 QGraphicsItem::hoverMoveEvent
+200 QGraphicsItem::hoverLeaveEvent
+208 QGraphicsItem::keyPressEvent
+216 QGraphicsItem::keyReleaseEvent
+224 QGraphicsItem::mousePressEvent
+232 QGraphicsItem::mouseMoveEvent
+240 QGraphicsItem::mouseReleaseEvent
+248 QGraphicsItem::mouseDoubleClickEvent
+256 QGraphicsItem::wheelEvent
+264 QGraphicsItem::inputMethodEvent
+272 QGraphicsItem::inputMethodQuery
+280 QGraphicsItem::itemChange
+288 QGraphicsPixmapItem::supportsExtension
+296 QGraphicsPixmapItem::setExtension
+304 QGraphicsPixmapItem::extension
+
+Class QGraphicsPixmapItem
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsPixmapItem (0x7faaa6d3f690) 0
+ vptr=((& QGraphicsPixmapItem::_ZTV19QGraphicsPixmapItem) + 16u)
+ QGraphicsItem (0x7faaa6d3f700) 0
+ primary-for QGraphicsPixmapItem (0x7faaa6d3f690)
+
+Vtable for QGraphicsTextItem
+QGraphicsTextItem::_ZTV17QGraphicsTextItem: 82u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QGraphicsTextItem)
+16 QGraphicsTextItem::metaObject
+24 QGraphicsTextItem::qt_metacast
+32 QGraphicsTextItem::qt_metacall
+40 QGraphicsTextItem::~QGraphicsTextItem
+48 QGraphicsTextItem::~QGraphicsTextItem
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QGraphicsTextItem::boundingRect
+120 QGraphicsTextItem::shape
+128 QGraphicsTextItem::contains
+136 QGraphicsTextItem::paint
+144 QGraphicsTextItem::isObscuredBy
+152 QGraphicsTextItem::opaqueArea
+160 QGraphicsTextItem::type
+168 QGraphicsTextItem::sceneEvent
+176 QGraphicsTextItem::mousePressEvent
+184 QGraphicsTextItem::mouseMoveEvent
+192 QGraphicsTextItem::mouseReleaseEvent
+200 QGraphicsTextItem::mouseDoubleClickEvent
+208 QGraphicsTextItem::contextMenuEvent
+216 QGraphicsTextItem::keyPressEvent
+224 QGraphicsTextItem::keyReleaseEvent
+232 QGraphicsTextItem::focusInEvent
+240 QGraphicsTextItem::focusOutEvent
+248 QGraphicsTextItem::dragEnterEvent
+256 QGraphicsTextItem::dragLeaveEvent
+264 QGraphicsTextItem::dragMoveEvent
+272 QGraphicsTextItem::dropEvent
+280 QGraphicsTextItem::inputMethodEvent
+288 QGraphicsTextItem::hoverEnterEvent
+296 QGraphicsTextItem::hoverMoveEvent
+304 QGraphicsTextItem::hoverLeaveEvent
+312 QGraphicsTextItem::inputMethodQuery
+320 QGraphicsTextItem::supportsExtension
+328 QGraphicsTextItem::setExtension
+336 QGraphicsTextItem::extension
+344 (int (*)(...))-0x00000000000000010
+352 (int (*)(...))(& _ZTI17QGraphicsTextItem)
+360 QGraphicsTextItem::_ZThn16_N17QGraphicsTextItemD1Ev
+368 QGraphicsTextItem::_ZThn16_N17QGraphicsTextItemD0Ev
+376 QGraphicsItem::advance
+384 QGraphicsTextItem::_ZThn16_NK17QGraphicsTextItem12boundingRectEv
+392 QGraphicsTextItem::_ZThn16_NK17QGraphicsTextItem5shapeEv
+400 QGraphicsTextItem::_ZThn16_NK17QGraphicsTextItem8containsERK7QPointF
+408 QGraphicsItem::collidesWithItem
+416 QGraphicsItem::collidesWithPath
+424 QGraphicsTextItem::_ZThn16_NK17QGraphicsTextItem12isObscuredByEPK13QGraphicsItem
+432 QGraphicsTextItem::_ZThn16_NK17QGraphicsTextItem10opaqueAreaEv
+440 QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem5paintEP8QPainterPK24QStyleOptionGraphicsItemP7QWidget
+448 QGraphicsTextItem::_ZThn16_NK17QGraphicsTextItem4typeEv
+456 QGraphicsItem::sceneEventFilter
+464 QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem10sceneEventEP6QEvent
+472 QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem16contextMenuEventEP30QGraphicsSceneContextMenuEvent
+480 QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem14dragEnterEventEP27QGraphicsSceneDragDropEvent
+488 QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem14dragLeaveEventEP27QGraphicsSceneDragDropEvent
+496 QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem13dragMoveEventEP27QGraphicsSceneDragDropEvent
+504 QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem9dropEventEP27QGraphicsSceneDragDropEvent
+512 QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem12focusInEventEP11QFocusEvent
+520 QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem13focusOutEventEP11QFocusEvent
+528 QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem15hoverEnterEventEP24QGraphicsSceneHoverEvent
+536 QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem14hoverMoveEventEP24QGraphicsSceneHoverEvent
+544 QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem15hoverLeaveEventEP24QGraphicsSceneHoverEvent
+552 QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem13keyPressEventEP9QKeyEvent
+560 QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem15keyReleaseEventEP9QKeyEvent
+568 QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem15mousePressEventEP24QGraphicsSceneMouseEvent
+576 QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem14mouseMoveEventEP24QGraphicsSceneMouseEvent
+584 QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem17mouseReleaseEventEP24QGraphicsSceneMouseEvent
+592 QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem21mouseDoubleClickEventEP24QGraphicsSceneMouseEvent
+600 QGraphicsItem::wheelEvent
+608 QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem16inputMethodEventEP17QInputMethodEvent
+616 QGraphicsTextItem::_ZThn16_NK17QGraphicsTextItem16inputMethodQueryEN2Qt16InputMethodQueryE
+624 QGraphicsItem::itemChange
+632 QGraphicsTextItem::_ZThn16_NK17QGraphicsTextItem17supportsExtensionEN13QGraphicsItem9ExtensionE
+640 QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem12setExtensionEN13QGraphicsItem9ExtensionERK8QVariant
+648 QGraphicsTextItem::_ZThn16_NK17QGraphicsTextItem9extensionERK8QVariant
+
+Class QGraphicsTextItem
+ size=40 align=8
+ base size=40 base align=8
+QGraphicsTextItem (0x7faaa6d4f930) 0
+ vptr=((& QGraphicsTextItem::_ZTV17QGraphicsTextItem) + 16u)
+ QGraphicsObject (0x7faaa6d43700) 0
+ primary-for QGraphicsTextItem (0x7faaa6d4f930)
+ QObject (0x7faaa6d4f9a0) 0
+ primary-for QGraphicsObject (0x7faaa6d43700)
+ QGraphicsItem (0x7faaa6d4fa10) 16
+ vptr=((& QGraphicsTextItem::_ZTV17QGraphicsTextItem) + 360u)
+
+Vtable for QGraphicsSimpleTextItem
+QGraphicsSimpleTextItem::_ZTV23QGraphicsSimpleTextItem: 39u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI23QGraphicsSimpleTextItem)
+16 QGraphicsSimpleTextItem::~QGraphicsSimpleTextItem
+24 QGraphicsSimpleTextItem::~QGraphicsSimpleTextItem
+32 QGraphicsItem::advance
+40 QGraphicsSimpleTextItem::boundingRect
+48 QGraphicsSimpleTextItem::shape
+56 QGraphicsSimpleTextItem::contains
+64 QGraphicsItem::collidesWithItem
+72 QGraphicsItem::collidesWithPath
+80 QGraphicsSimpleTextItem::isObscuredBy
+88 QGraphicsSimpleTextItem::opaqueArea
+96 QGraphicsSimpleTextItem::paint
+104 QGraphicsSimpleTextItem::type
+112 QGraphicsItem::sceneEventFilter
+120 QGraphicsItem::sceneEvent
+128 QGraphicsItem::contextMenuEvent
+136 QGraphicsItem::dragEnterEvent
+144 QGraphicsItem::dragLeaveEvent
+152 QGraphicsItem::dragMoveEvent
+160 QGraphicsItem::dropEvent
+168 QGraphicsItem::focusInEvent
+176 QGraphicsItem::focusOutEvent
+184 QGraphicsItem::hoverEnterEvent
+192 QGraphicsItem::hoverMoveEvent
+200 QGraphicsItem::hoverLeaveEvent
+208 QGraphicsItem::keyPressEvent
+216 QGraphicsItem::keyReleaseEvent
+224 QGraphicsItem::mousePressEvent
+232 QGraphicsItem::mouseMoveEvent
+240 QGraphicsItem::mouseReleaseEvent
+248 QGraphicsItem::mouseDoubleClickEvent
+256 QGraphicsItem::wheelEvent
+264 QGraphicsItem::inputMethodEvent
+272 QGraphicsItem::inputMethodQuery
+280 QGraphicsItem::itemChange
+288 QGraphicsSimpleTextItem::supportsExtension
+296 QGraphicsSimpleTextItem::setExtension
+304 QGraphicsSimpleTextItem::extension
+
+Class QGraphicsSimpleTextItem
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsSimpleTextItem (0x7faaa6d6f380) 0
+ vptr=((& QGraphicsSimpleTextItem::_ZTV23QGraphicsSimpleTextItem) + 16u)
+ QAbstractGraphicsShapeItem (0x7faaa6d84000) 0
+ primary-for QGraphicsSimpleTextItem (0x7faaa6d6f380)
+ QGraphicsItem (0x7faaa6d84070) 0
+ primary-for QAbstractGraphicsShapeItem (0x7faaa6d84000)
+
+Vtable for QGraphicsItemGroup
+QGraphicsItemGroup::_ZTV18QGraphicsItemGroup: 39u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QGraphicsItemGroup)
+16 QGraphicsItemGroup::~QGraphicsItemGroup
+24 QGraphicsItemGroup::~QGraphicsItemGroup
+32 QGraphicsItem::advance
+40 QGraphicsItemGroup::boundingRect
+48 QGraphicsItem::shape
+56 QGraphicsItem::contains
+64 QGraphicsItem::collidesWithItem
+72 QGraphicsItem::collidesWithPath
+80 QGraphicsItemGroup::isObscuredBy
+88 QGraphicsItemGroup::opaqueArea
+96 QGraphicsItemGroup::paint
+104 QGraphicsItemGroup::type
+112 QGraphicsItem::sceneEventFilter
+120 QGraphicsItem::sceneEvent
+128 QGraphicsItem::contextMenuEvent
+136 QGraphicsItem::dragEnterEvent
+144 QGraphicsItem::dragLeaveEvent
+152 QGraphicsItem::dragMoveEvent
+160 QGraphicsItem::dropEvent
+168 QGraphicsItem::focusInEvent
+176 QGraphicsItem::focusOutEvent
+184 QGraphicsItem::hoverEnterEvent
+192 QGraphicsItem::hoverMoveEvent
+200 QGraphicsItem::hoverLeaveEvent
+208 QGraphicsItem::keyPressEvent
+216 QGraphicsItem::keyReleaseEvent
+224 QGraphicsItem::mousePressEvent
+232 QGraphicsItem::mouseMoveEvent
+240 QGraphicsItem::mouseReleaseEvent
+248 QGraphicsItem::mouseDoubleClickEvent
+256 QGraphicsItem::wheelEvent
+264 QGraphicsItem::inputMethodEvent
+272 QGraphicsItem::inputMethodQuery
+280 QGraphicsItem::itemChange
+288 QGraphicsItem::supportsExtension
+296 QGraphicsItem::setExtension
+304 QGraphicsItem::extension
+
+Class QGraphicsItemGroup
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsItemGroup (0x7faaa6d84f50) 0
+ vptr=((& QGraphicsItemGroup::_ZTV18QGraphicsItemGroup) + 16u)
+ QGraphicsItem (0x7faaa6d849a0) 0
+ primary-for QGraphicsItemGroup (0x7faaa6d84f50)
+
+Vtable for QGraphicsLayoutItem
+QGraphicsLayoutItem::_ZTV19QGraphicsLayoutItem: 8u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QGraphicsLayoutItem)
+16 QGraphicsLayoutItem::~QGraphicsLayoutItem
+24 QGraphicsLayoutItem::~QGraphicsLayoutItem
+32 QGraphicsLayoutItem::setGeometry
+40 QGraphicsLayoutItem::getContentsMargins
+48 QGraphicsLayoutItem::updateGeometry
+56 __cxa_pure_virtual
+
+Class QGraphicsLayoutItem
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsLayoutItem (0x7faaa6da8850) 0
+ vptr=((& QGraphicsLayoutItem::_ZTV19QGraphicsLayoutItem) + 16u)
+
+Vtable for QGraphicsLayout
+QGraphicsLayout::_ZTV15QGraphicsLayout: 13u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QGraphicsLayout)
+16 QGraphicsLayout::~QGraphicsLayout
+24 QGraphicsLayout::~QGraphicsLayout
+32 QGraphicsLayoutItem::setGeometry
+40 QGraphicsLayout::getContentsMargins
+48 QGraphicsLayout::updateGeometry
+56 __cxa_pure_virtual
+64 QGraphicsLayout::invalidate
+72 QGraphicsLayout::widgetEvent
+80 __cxa_pure_virtual
+88 __cxa_pure_virtual
+96 __cxa_pure_virtual
+
+Class QGraphicsLayout
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsLayout (0x7faaa6beb070) 0
+ vptr=((& QGraphicsLayout::_ZTV15QGraphicsLayout) + 16u)
+ QGraphicsLayoutItem (0x7faaa6beb0e0) 0
+ primary-for QGraphicsLayout (0x7faaa6beb070)
+
+Vtable for QGraphicsAnchor
+QGraphicsAnchor::_ZTV15QGraphicsAnchor: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QGraphicsAnchor)
+16 QGraphicsAnchor::metaObject
+24 QGraphicsAnchor::qt_metacast
+32 QGraphicsAnchor::qt_metacall
+40 QGraphicsAnchor::~QGraphicsAnchor
+48 QGraphicsAnchor::~QGraphicsAnchor
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QGraphicsAnchor
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsAnchor (0x7faaa6bf9850) 0
+ vptr=((& QGraphicsAnchor::_ZTV15QGraphicsAnchor) + 16u)
+ QObject (0x7faaa6bf98c0) 0
+ primary-for QGraphicsAnchor (0x7faaa6bf9850)
+
+Vtable for QGraphicsAnchorLayout
+QGraphicsAnchorLayout::_ZTV21QGraphicsAnchorLayout: 13u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI21QGraphicsAnchorLayout)
+16 QGraphicsAnchorLayout::~QGraphicsAnchorLayout
+24 QGraphicsAnchorLayout::~QGraphicsAnchorLayout
+32 QGraphicsAnchorLayout::setGeometry
+40 QGraphicsLayout::getContentsMargins
+48 QGraphicsLayout::updateGeometry
+56 QGraphicsAnchorLayout::sizeHint
+64 QGraphicsAnchorLayout::invalidate
+72 QGraphicsLayout::widgetEvent
+80 QGraphicsAnchorLayout::count
+88 QGraphicsAnchorLayout::itemAt
+96 QGraphicsAnchorLayout::removeAt
+
+Class QGraphicsAnchorLayout
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsAnchorLayout (0x7faaa6c0cd90) 0
+ vptr=((& QGraphicsAnchorLayout::_ZTV21QGraphicsAnchorLayout) + 16u)
+ QGraphicsLayout (0x7faaa6c0ce00) 0
+ primary-for QGraphicsAnchorLayout (0x7faaa6c0cd90)
+ QGraphicsLayoutItem (0x7faaa6c0ce70) 0
+ primary-for QGraphicsLayout (0x7faaa6c0ce00)
+
+Vtable for QGraphicsGridLayout
+QGraphicsGridLayout::_ZTV19QGraphicsGridLayout: 13u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QGraphicsGridLayout)
+16 QGraphicsGridLayout::~QGraphicsGridLayout
+24 QGraphicsGridLayout::~QGraphicsGridLayout
+32 QGraphicsGridLayout::setGeometry
+40 QGraphicsLayout::getContentsMargins
+48 QGraphicsLayout::updateGeometry
+56 QGraphicsGridLayout::sizeHint
+64 QGraphicsGridLayout::invalidate
+72 QGraphicsLayout::widgetEvent
+80 QGraphicsGridLayout::count
+88 QGraphicsGridLayout::itemAt
+96 QGraphicsGridLayout::removeAt
+
+Class QGraphicsGridLayout
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsGridLayout (0x7faaa6c240e0) 0
+ vptr=((& QGraphicsGridLayout::_ZTV19QGraphicsGridLayout) + 16u)
+ QGraphicsLayout (0x7faaa6c24150) 0
+ primary-for QGraphicsGridLayout (0x7faaa6c240e0)
+ QGraphicsLayoutItem (0x7faaa6c241c0) 0
+ primary-for QGraphicsLayout (0x7faaa6c24150)
+
+Vtable for QGraphicsItemAnimation
+QGraphicsItemAnimation::_ZTV22QGraphicsItemAnimation: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI22QGraphicsItemAnimation)
+16 QGraphicsItemAnimation::metaObject
+24 QGraphicsItemAnimation::qt_metacast
+32 QGraphicsItemAnimation::qt_metacall
+40 QGraphicsItemAnimation::~QGraphicsItemAnimation
+48 QGraphicsItemAnimation::~QGraphicsItemAnimation
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QGraphicsItemAnimation::beforeAnimationStep
+120 QGraphicsItemAnimation::afterAnimationStep
+
+Class QGraphicsItemAnimation
+ size=24 align=8
+ base size=24 base align=8
+QGraphicsItemAnimation (0x7faaa6c414d0) 0
+ vptr=((& QGraphicsItemAnimation::_ZTV22QGraphicsItemAnimation) + 16u)
+ QObject (0x7faaa6c41540) 0
+ primary-for QGraphicsItemAnimation (0x7faaa6c414d0)
+
+Vtable for QGraphicsLinearLayout
+QGraphicsLinearLayout::_ZTV21QGraphicsLinearLayout: 13u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI21QGraphicsLinearLayout)
+16 QGraphicsLinearLayout::~QGraphicsLinearLayout
+24 QGraphicsLinearLayout::~QGraphicsLinearLayout
+32 QGraphicsLinearLayout::setGeometry
+40 QGraphicsLayout::getContentsMargins
+48 QGraphicsLayout::updateGeometry
+56 QGraphicsLinearLayout::sizeHint
+64 QGraphicsLinearLayout::invalidate
+72 QGraphicsLayout::widgetEvent
+80 QGraphicsLinearLayout::count
+88 QGraphicsLinearLayout::itemAt
+96 QGraphicsLinearLayout::removeAt
+
+Class QGraphicsLinearLayout
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsLinearLayout (0x7faaa6c5b850) 0
+ vptr=((& QGraphicsLinearLayout::_ZTV21QGraphicsLinearLayout) + 16u)
+ QGraphicsLayout (0x7faaa6c5b8c0) 0
+ primary-for QGraphicsLinearLayout (0x7faaa6c5b850)
+ QGraphicsLayoutItem (0x7faaa6c5b930) 0
+ primary-for QGraphicsLayout (0x7faaa6c5b8c0)
+
+Vtable for QGraphicsWidget
+QGraphicsWidget::_ZTV15QGraphicsWidget: 92u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QGraphicsWidget)
+16 QGraphicsWidget::metaObject
+24 QGraphicsWidget::qt_metacast
+32 QGraphicsWidget::qt_metacall
+40 QGraphicsWidget::~QGraphicsWidget
+48 QGraphicsWidget::~QGraphicsWidget
+56 QGraphicsWidget::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QGraphicsWidget::setGeometry
+120 QGraphicsWidget::getContentsMargins
+128 QGraphicsWidget::type
+136 QGraphicsWidget::paint
+144 QGraphicsWidget::paintWindowFrame
+152 QGraphicsWidget::boundingRect
+160 QGraphicsWidget::shape
+168 QGraphicsWidget::initStyleOption
+176 QGraphicsWidget::sizeHint
+184 QGraphicsWidget::updateGeometry
+192 QGraphicsWidget::itemChange
+200 QGraphicsWidget::propertyChange
+208 QGraphicsWidget::sceneEvent
+216 QGraphicsWidget::windowFrameEvent
+224 QGraphicsWidget::windowFrameSectionAt
+232 QGraphicsWidget::changeEvent
+240 QGraphicsWidget::closeEvent
+248 QGraphicsWidget::focusInEvent
+256 QGraphicsWidget::focusNextPrevChild
+264 QGraphicsWidget::focusOutEvent
+272 QGraphicsWidget::hideEvent
+280 QGraphicsWidget::moveEvent
+288 QGraphicsWidget::polishEvent
+296 QGraphicsWidget::resizeEvent
+304 QGraphicsWidget::showEvent
+312 QGraphicsWidget::hoverMoveEvent
+320 QGraphicsWidget::hoverLeaveEvent
+328 QGraphicsWidget::grabMouseEvent
+336 QGraphicsWidget::ungrabMouseEvent
+344 QGraphicsWidget::grabKeyboardEvent
+352 QGraphicsWidget::ungrabKeyboardEvent
+360 (int (*)(...))-0x00000000000000010
+368 (int (*)(...))(& _ZTI15QGraphicsWidget)
+376 QGraphicsWidget::_ZThn16_N15QGraphicsWidgetD1Ev
+384 QGraphicsWidget::_ZThn16_N15QGraphicsWidgetD0Ev
+392 QGraphicsItem::advance
+400 QGraphicsWidget::_ZThn16_NK15QGraphicsWidget12boundingRectEv
+408 QGraphicsWidget::_ZThn16_NK15QGraphicsWidget5shapeEv
+416 QGraphicsItem::contains
+424 QGraphicsItem::collidesWithItem
+432 QGraphicsItem::collidesWithPath
+440 QGraphicsItem::isObscuredBy
+448 QGraphicsItem::opaqueArea
+456 QGraphicsWidget::_ZThn16_N15QGraphicsWidget5paintEP8QPainterPK24QStyleOptionGraphicsItemP7QWidget
+464 QGraphicsWidget::_ZThn16_NK15QGraphicsWidget4typeEv
+472 QGraphicsItem::sceneEventFilter
+480 QGraphicsWidget::_ZThn16_N15QGraphicsWidget10sceneEventEP6QEvent
+488 QGraphicsItem::contextMenuEvent
+496 QGraphicsItem::dragEnterEvent
+504 QGraphicsItem::dragLeaveEvent
+512 QGraphicsItem::dragMoveEvent
+520 QGraphicsItem::dropEvent
+528 QGraphicsWidget::_ZThn16_N15QGraphicsWidget12focusInEventEP11QFocusEvent
+536 QGraphicsWidget::_ZThn16_N15QGraphicsWidget13focusOutEventEP11QFocusEvent
+544 QGraphicsItem::hoverEnterEvent
+552 QGraphicsWidget::_ZThn16_N15QGraphicsWidget14hoverMoveEventEP24QGraphicsSceneHoverEvent
+560 QGraphicsWidget::_ZThn16_N15QGraphicsWidget15hoverLeaveEventEP24QGraphicsSceneHoverEvent
+568 QGraphicsItem::keyPressEvent
+576 QGraphicsItem::keyReleaseEvent
+584 QGraphicsItem::mousePressEvent
+592 QGraphicsItem::mouseMoveEvent
+600 QGraphicsItem::mouseReleaseEvent
+608 QGraphicsItem::mouseDoubleClickEvent
+616 QGraphicsItem::wheelEvent
+624 QGraphicsItem::inputMethodEvent
+632 QGraphicsItem::inputMethodQuery
+640 QGraphicsWidget::_ZThn16_N15QGraphicsWidget10itemChangeEN13QGraphicsItem18GraphicsItemChangeERK8QVariant
+648 QGraphicsItem::supportsExtension
+656 QGraphicsItem::setExtension
+664 QGraphicsItem::extension
+672 (int (*)(...))-0x00000000000000020
+680 (int (*)(...))(& _ZTI15QGraphicsWidget)
+688 QGraphicsWidget::_ZThn32_N15QGraphicsWidgetD1Ev
+696 QGraphicsWidget::_ZThn32_N15QGraphicsWidgetD0Ev
+704 QGraphicsWidget::_ZThn32_N15QGraphicsWidget11setGeometryERK6QRectF
+712 QGraphicsWidget::_ZThn32_NK15QGraphicsWidget18getContentsMarginsEPdS0_S0_S0_
+720 QGraphicsWidget::_ZThn32_N15QGraphicsWidget14updateGeometryEv
+728 QGraphicsWidget::_ZThn32_NK15QGraphicsWidget8sizeHintEN2Qt8SizeHintERK6QSizeF
+
+Class QGraphicsWidget
+ size=48 align=8
+ base size=48 base align=8
+QGraphicsWidget (0x7faaa6c78000) 0
+ vptr=((& QGraphicsWidget::_ZTV15QGraphicsWidget) + 16u)
+ QGraphicsObject (0x7faaa6c78080) 0
+ primary-for QGraphicsWidget (0x7faaa6c78000)
+ QObject (0x7faaa6c77070) 0
+ primary-for QGraphicsObject (0x7faaa6c78080)
+ QGraphicsItem (0x7faaa6c770e0) 16
+ vptr=((& QGraphicsWidget::_ZTV15QGraphicsWidget) + 376u)
+ QGraphicsLayoutItem (0x7faaa6c77150) 32
+ vptr=((& QGraphicsWidget::_ZTV15QGraphicsWidget) + 688u)
+
+Vtable for QGraphicsProxyWidget
+QGraphicsProxyWidget::_ZTV20QGraphicsProxyWidget: 105u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI20QGraphicsProxyWidget)
+16 QGraphicsProxyWidget::metaObject
+24 QGraphicsProxyWidget::qt_metacast
+32 QGraphicsProxyWidget::qt_metacall
+40 QGraphicsProxyWidget::~QGraphicsProxyWidget
+48 QGraphicsProxyWidget::~QGraphicsProxyWidget
+56 QGraphicsProxyWidget::event
+64 QGraphicsProxyWidget::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QGraphicsProxyWidget::setGeometry
+120 QGraphicsWidget::getContentsMargins
+128 QGraphicsProxyWidget::type
+136 QGraphicsProxyWidget::paint
+144 QGraphicsWidget::paintWindowFrame
+152 QGraphicsWidget::boundingRect
+160 QGraphicsWidget::shape
+168 QGraphicsWidget::initStyleOption
+176 QGraphicsProxyWidget::sizeHint
+184 QGraphicsWidget::updateGeometry
+192 QGraphicsProxyWidget::itemChange
+200 QGraphicsWidget::propertyChange
+208 QGraphicsWidget::sceneEvent
+216 QGraphicsWidget::windowFrameEvent
+224 QGraphicsWidget::windowFrameSectionAt
+232 QGraphicsWidget::changeEvent
+240 QGraphicsWidget::closeEvent
+248 QGraphicsProxyWidget::focusInEvent
+256 QGraphicsProxyWidget::focusNextPrevChild
+264 QGraphicsProxyWidget::focusOutEvent
+272 QGraphicsProxyWidget::hideEvent
+280 QGraphicsWidget::moveEvent
+288 QGraphicsWidget::polishEvent
+296 QGraphicsProxyWidget::resizeEvent
+304 QGraphicsProxyWidget::showEvent
+312 QGraphicsProxyWidget::hoverMoveEvent
+320 QGraphicsProxyWidget::hoverLeaveEvent
+328 QGraphicsProxyWidget::grabMouseEvent
+336 QGraphicsProxyWidget::ungrabMouseEvent
+344 QGraphicsWidget::grabKeyboardEvent
+352 QGraphicsWidget::ungrabKeyboardEvent
+360 QGraphicsProxyWidget::contextMenuEvent
+368 QGraphicsProxyWidget::dragEnterEvent
+376 QGraphicsProxyWidget::dragLeaveEvent
+384 QGraphicsProxyWidget::dragMoveEvent
+392 QGraphicsProxyWidget::dropEvent
+400 QGraphicsProxyWidget::hoverEnterEvent
+408 QGraphicsProxyWidget::mouseMoveEvent
+416 QGraphicsProxyWidget::mousePressEvent
+424 QGraphicsProxyWidget::mouseReleaseEvent
+432 QGraphicsProxyWidget::mouseDoubleClickEvent
+440 QGraphicsProxyWidget::wheelEvent
+448 QGraphicsProxyWidget::keyPressEvent
+456 QGraphicsProxyWidget::keyReleaseEvent
+464 (int (*)(...))-0x00000000000000010
+472 (int (*)(...))(& _ZTI20QGraphicsProxyWidget)
+480 QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidgetD1Ev
+488 QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidgetD0Ev
+496 QGraphicsItem::advance
+504 QGraphicsWidget::_ZThn16_NK15QGraphicsWidget12boundingRectEv
+512 QGraphicsWidget::_ZThn16_NK15QGraphicsWidget5shapeEv
+520 QGraphicsItem::contains
+528 QGraphicsItem::collidesWithItem
+536 QGraphicsItem::collidesWithPath
+544 QGraphicsItem::isObscuredBy
+552 QGraphicsItem::opaqueArea
+560 QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget5paintEP8QPainterPK24QStyleOptionGraphicsItemP7QWidget
+568 QGraphicsProxyWidget::_ZThn16_NK20QGraphicsProxyWidget4typeEv
+576 QGraphicsItem::sceneEventFilter
+584 QGraphicsWidget::_ZThn16_N15QGraphicsWidget10sceneEventEP6QEvent
+592 QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget16contextMenuEventEP30QGraphicsSceneContextMenuEvent
+600 QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget14dragEnterEventEP27QGraphicsSceneDragDropEvent
+608 QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget14dragLeaveEventEP27QGraphicsSceneDragDropEvent
+616 QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget13dragMoveEventEP27QGraphicsSceneDragDropEvent
+624 QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget9dropEventEP27QGraphicsSceneDragDropEvent
+632 QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget12focusInEventEP11QFocusEvent
+640 QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget13focusOutEventEP11QFocusEvent
+648 QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget15hoverEnterEventEP24QGraphicsSceneHoverEvent
+656 QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget14hoverMoveEventEP24QGraphicsSceneHoverEvent
+664 QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget15hoverLeaveEventEP24QGraphicsSceneHoverEvent
+672 QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget13keyPressEventEP9QKeyEvent
+680 QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget15keyReleaseEventEP9QKeyEvent
+688 QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget15mousePressEventEP24QGraphicsSceneMouseEvent
+696 QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget14mouseMoveEventEP24QGraphicsSceneMouseEvent
+704 QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget17mouseReleaseEventEP24QGraphicsSceneMouseEvent
+712 QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget21mouseDoubleClickEventEP24QGraphicsSceneMouseEvent
+720 QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget10wheelEventEP24QGraphicsSceneWheelEvent
+728 QGraphicsItem::inputMethodEvent
+736 QGraphicsItem::inputMethodQuery
+744 QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget10itemChangeEN13QGraphicsItem18GraphicsItemChangeERK8QVariant
+752 QGraphicsItem::supportsExtension
+760 QGraphicsItem::setExtension
+768 QGraphicsItem::extension
+776 (int (*)(...))-0x00000000000000020
+784 (int (*)(...))(& _ZTI20QGraphicsProxyWidget)
+792 QGraphicsProxyWidget::_ZThn32_N20QGraphicsProxyWidgetD1Ev
+800 QGraphicsProxyWidget::_ZThn32_N20QGraphicsProxyWidgetD0Ev
+808 QGraphicsProxyWidget::_ZThn32_N20QGraphicsProxyWidget11setGeometryERK6QRectF
+816 QGraphicsWidget::_ZThn32_NK15QGraphicsWidget18getContentsMarginsEPdS0_S0_S0_
+824 QGraphicsWidget::_ZThn32_N15QGraphicsWidget14updateGeometryEv
+832 QGraphicsProxyWidget::_ZThn32_NK20QGraphicsProxyWidget8sizeHintEN2Qt8SizeHintERK6QSizeF
+
+Class QGraphicsProxyWidget
+ size=48 align=8
+ base size=48 base align=8
+QGraphicsProxyWidget (0x7faaa6cb08c0) 0
+ vptr=((& QGraphicsProxyWidget::_ZTV20QGraphicsProxyWidget) + 16u)
+ QGraphicsWidget (0x7faaa6cb5000) 0
+ primary-for QGraphicsProxyWidget (0x7faaa6cb08c0)
+ QGraphicsObject (0x7faaa6cb5080) 0
+ primary-for QGraphicsWidget (0x7faaa6cb5000)
+ QObject (0x7faaa6cb0930) 0
+ primary-for QGraphicsObject (0x7faaa6cb5080)
+ QGraphicsItem (0x7faaa6cb09a0) 16
+ vptr=((& QGraphicsProxyWidget::_ZTV20QGraphicsProxyWidget) + 480u)
+ QGraphicsLayoutItem (0x7faaa6cb0a10) 32
+ vptr=((& QGraphicsProxyWidget::_ZTV20QGraphicsProxyWidget) + 792u)
+
+Vtable for QGraphicsScene
+QGraphicsScene::_ZTV14QGraphicsScene: 34u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QGraphicsScene)
+16 QGraphicsScene::metaObject
+24 QGraphicsScene::qt_metacast
+32 QGraphicsScene::qt_metacall
+40 QGraphicsScene::~QGraphicsScene
+48 QGraphicsScene::~QGraphicsScene
+56 QGraphicsScene::event
+64 QGraphicsScene::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QGraphicsScene::inputMethodQuery
+120 QGraphicsScene::contextMenuEvent
+128 QGraphicsScene::dragEnterEvent
+136 QGraphicsScene::dragMoveEvent
+144 QGraphicsScene::dragLeaveEvent
+152 QGraphicsScene::dropEvent
+160 QGraphicsScene::focusInEvent
+168 QGraphicsScene::focusOutEvent
+176 QGraphicsScene::helpEvent
+184 QGraphicsScene::keyPressEvent
+192 QGraphicsScene::keyReleaseEvent
+200 QGraphicsScene::mousePressEvent
+208 QGraphicsScene::mouseMoveEvent
+216 QGraphicsScene::mouseReleaseEvent
+224 QGraphicsScene::mouseDoubleClickEvent
+232 QGraphicsScene::wheelEvent
+240 QGraphicsScene::inputMethodEvent
+248 QGraphicsScene::drawBackground
+256 QGraphicsScene::drawForeground
+264 QGraphicsScene::drawItems
+
+Class QGraphicsScene
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsScene (0x7faaa6adb930) 0
+ vptr=((& QGraphicsScene::_ZTV14QGraphicsScene) + 16u)
+ QObject (0x7faaa6adb9a0) 0
+ primary-for QGraphicsScene (0x7faaa6adb930)
+
+Vtable for QGraphicsSceneEvent
+QGraphicsSceneEvent::_ZTV19QGraphicsSceneEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QGraphicsSceneEvent)
+16 QGraphicsSceneEvent::~QGraphicsSceneEvent
+24 QGraphicsSceneEvent::~QGraphicsSceneEvent
+
+Class QGraphicsSceneEvent
+ size=32 align=8
+ base size=32 base align=8
+QGraphicsSceneEvent (0x7faaa6b8f850) 0
+ vptr=((& QGraphicsSceneEvent::_ZTV19QGraphicsSceneEvent) + 16u)
+ QEvent (0x7faaa6b8f8c0) 0
+ primary-for QGraphicsSceneEvent (0x7faaa6b8f850)
+
+Vtable for QGraphicsSceneMouseEvent
+QGraphicsSceneMouseEvent::_ZTV24QGraphicsSceneMouseEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI24QGraphicsSceneMouseEvent)
+16 QGraphicsSceneMouseEvent::~QGraphicsSceneMouseEvent
+24 QGraphicsSceneMouseEvent::~QGraphicsSceneMouseEvent
+
+Class QGraphicsSceneMouseEvent
+ size=32 align=8
+ base size=32 base align=8
+QGraphicsSceneMouseEvent (0x7faaa6bbd310) 0
+ vptr=((& QGraphicsSceneMouseEvent::_ZTV24QGraphicsSceneMouseEvent) + 16u)
+ QGraphicsSceneEvent (0x7faaa6bbd380) 0
+ primary-for QGraphicsSceneMouseEvent (0x7faaa6bbd310)
+ QEvent (0x7faaa6bbd3f0) 0
+ primary-for QGraphicsSceneEvent (0x7faaa6bbd380)
+
+Vtable for QGraphicsSceneWheelEvent
+QGraphicsSceneWheelEvent::_ZTV24QGraphicsSceneWheelEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI24QGraphicsSceneWheelEvent)
+16 QGraphicsSceneWheelEvent::~QGraphicsSceneWheelEvent
+24 QGraphicsSceneWheelEvent::~QGraphicsSceneWheelEvent
+
+Class QGraphicsSceneWheelEvent
+ size=32 align=8
+ base size=32 base align=8
+QGraphicsSceneWheelEvent (0x7faaa6bbdcb0) 0
+ vptr=((& QGraphicsSceneWheelEvent::_ZTV24QGraphicsSceneWheelEvent) + 16u)
+ QGraphicsSceneEvent (0x7faaa6bbdd20) 0
+ primary-for QGraphicsSceneWheelEvent (0x7faaa6bbdcb0)
+ QEvent (0x7faaa6bbdd90) 0
+ primary-for QGraphicsSceneEvent (0x7faaa6bbdd20)
+
+Vtable for QGraphicsSceneContextMenuEvent
+QGraphicsSceneContextMenuEvent::_ZTV30QGraphicsSceneContextMenuEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI30QGraphicsSceneContextMenuEvent)
+16 QGraphicsSceneContextMenuEvent::~QGraphicsSceneContextMenuEvent
+24 QGraphicsSceneContextMenuEvent::~QGraphicsSceneContextMenuEvent
+
+Class QGraphicsSceneContextMenuEvent
+ size=32 align=8
+ base size=32 base align=8
+QGraphicsSceneContextMenuEvent (0x7faaa69d45b0) 0
+ vptr=((& QGraphicsSceneContextMenuEvent::_ZTV30QGraphicsSceneContextMenuEvent) + 16u)
+ QGraphicsSceneEvent (0x7faaa69d4620) 0
+ primary-for QGraphicsSceneContextMenuEvent (0x7faaa69d45b0)
+ QEvent (0x7faaa69d4690) 0
+ primary-for QGraphicsSceneEvent (0x7faaa69d4620)
+
+Vtable for QGraphicsSceneHoverEvent
+QGraphicsSceneHoverEvent::_ZTV24QGraphicsSceneHoverEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI24QGraphicsSceneHoverEvent)
+16 QGraphicsSceneHoverEvent::~QGraphicsSceneHoverEvent
+24 QGraphicsSceneHoverEvent::~QGraphicsSceneHoverEvent
+
+Class QGraphicsSceneHoverEvent
+ size=32 align=8
+ base size=32 base align=8
+QGraphicsSceneHoverEvent (0x7faaa69e00e0) 0
+ vptr=((& QGraphicsSceneHoverEvent::_ZTV24QGraphicsSceneHoverEvent) + 16u)
+ QGraphicsSceneEvent (0x7faaa69e0150) 0
+ primary-for QGraphicsSceneHoverEvent (0x7faaa69e00e0)
+ QEvent (0x7faaa69e01c0) 0
+ primary-for QGraphicsSceneEvent (0x7faaa69e0150)
+
+Vtable for QGraphicsSceneHelpEvent
+QGraphicsSceneHelpEvent::_ZTV23QGraphicsSceneHelpEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI23QGraphicsSceneHelpEvent)
+16 QGraphicsSceneHelpEvent::~QGraphicsSceneHelpEvent
+24 QGraphicsSceneHelpEvent::~QGraphicsSceneHelpEvent
+
+Class QGraphicsSceneHelpEvent
+ size=32 align=8
+ base size=32 base align=8
+QGraphicsSceneHelpEvent (0x7faaa69e0a80) 0
+ vptr=((& QGraphicsSceneHelpEvent::_ZTV23QGraphicsSceneHelpEvent) + 16u)
+ QGraphicsSceneEvent (0x7faaa69e0af0) 0
+ primary-for QGraphicsSceneHelpEvent (0x7faaa69e0a80)
+ QEvent (0x7faaa69e0b60) 0
+ primary-for QGraphicsSceneEvent (0x7faaa69e0af0)
+
+Vtable for QGraphicsSceneDragDropEvent
+QGraphicsSceneDragDropEvent::_ZTV27QGraphicsSceneDragDropEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI27QGraphicsSceneDragDropEvent)
+16 QGraphicsSceneDragDropEvent::~QGraphicsSceneDragDropEvent
+24 QGraphicsSceneDragDropEvent::~QGraphicsSceneDragDropEvent
+
+Class QGraphicsSceneDragDropEvent
+ size=32 align=8
+ base size=32 base align=8
+QGraphicsSceneDragDropEvent (0x7faaa69f3380) 0
+ vptr=((& QGraphicsSceneDragDropEvent::_ZTV27QGraphicsSceneDragDropEvent) + 16u)
+ QGraphicsSceneEvent (0x7faaa69f33f0) 0
+ primary-for QGraphicsSceneDragDropEvent (0x7faaa69f3380)
+ QEvent (0x7faaa69f3460) 0
+ primary-for QGraphicsSceneEvent (0x7faaa69f33f0)
+
+Vtable for QGraphicsSceneResizeEvent
+QGraphicsSceneResizeEvent::_ZTV25QGraphicsSceneResizeEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI25QGraphicsSceneResizeEvent)
+16 QGraphicsSceneResizeEvent::~QGraphicsSceneResizeEvent
+24 QGraphicsSceneResizeEvent::~QGraphicsSceneResizeEvent
+
+Class QGraphicsSceneResizeEvent
+ size=32 align=8
+ base size=32 base align=8
+QGraphicsSceneResizeEvent (0x7faaa69f3d20) 0
+ vptr=((& QGraphicsSceneResizeEvent::_ZTV25QGraphicsSceneResizeEvent) + 16u)
+ QGraphicsSceneEvent (0x7faaa69f3d90) 0
+ primary-for QGraphicsSceneResizeEvent (0x7faaa69f3d20)
+ QEvent (0x7faaa69f3e00) 0
+ primary-for QGraphicsSceneEvent (0x7faaa69f3d90)
+
+Vtable for QGraphicsSceneMoveEvent
+QGraphicsSceneMoveEvent::_ZTV23QGraphicsSceneMoveEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI23QGraphicsSceneMoveEvent)
+16 QGraphicsSceneMoveEvent::~QGraphicsSceneMoveEvent
+24 QGraphicsSceneMoveEvent::~QGraphicsSceneMoveEvent
+
+Class QGraphicsSceneMoveEvent
+ size=32 align=8
+ base size=32 base align=8
+QGraphicsSceneMoveEvent (0x7faaa6a07460) 0
+ vptr=((& QGraphicsSceneMoveEvent::_ZTV23QGraphicsSceneMoveEvent) + 16u)
+ QGraphicsSceneEvent (0x7faaa6a074d0) 0
+ primary-for QGraphicsSceneMoveEvent (0x7faaa6a07460)
+ QEvent (0x7faaa6a07540) 0
+ primary-for QGraphicsSceneEvent (0x7faaa6a074d0)
+
+Vtable for QGraphicsTransform
+QGraphicsTransform::_ZTV18QGraphicsTransform: 15u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QGraphicsTransform)
+16 QGraphicsTransform::metaObject
+24 QGraphicsTransform::qt_metacast
+32 QGraphicsTransform::qt_metacall
+40 QGraphicsTransform::~QGraphicsTransform
+48 QGraphicsTransform::~QGraphicsTransform
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+
+Class QGraphicsTransform
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsTransform (0x7faaa6a07c40) 0
+ vptr=((& QGraphicsTransform::_ZTV18QGraphicsTransform) + 16u)
+ QObject (0x7faaa6a07cb0) 0
+ primary-for QGraphicsTransform (0x7faaa6a07c40)
+
+Vtable for QGraphicsScale
+QGraphicsScale::_ZTV14QGraphicsScale: 15u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QGraphicsScale)
+16 QGraphicsScale::metaObject
+24 QGraphicsScale::qt_metacast
+32 QGraphicsScale::qt_metacall
+40 QGraphicsScale::~QGraphicsScale
+48 QGraphicsScale::~QGraphicsScale
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QGraphicsScale::applyTo
+
+Class QGraphicsScale
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsScale (0x7faaa6a25150) 0
+ vptr=((& QGraphicsScale::_ZTV14QGraphicsScale) + 16u)
+ QGraphicsTransform (0x7faaa6a251c0) 0
+ primary-for QGraphicsScale (0x7faaa6a25150)
+ QObject (0x7faaa6a25230) 0
+ primary-for QGraphicsTransform (0x7faaa6a251c0)
+
+Vtable for QGraphicsRotation
+QGraphicsRotation::_ZTV17QGraphicsRotation: 15u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QGraphicsRotation)
+16 QGraphicsRotation::metaObject
+24 QGraphicsRotation::qt_metacast
+32 QGraphicsRotation::qt_metacall
+40 QGraphicsRotation::~QGraphicsRotation
+48 QGraphicsRotation::~QGraphicsRotation
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QGraphicsRotation::applyTo
+
+Class QGraphicsRotation
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsRotation (0x7faaa6a39620) 0
+ vptr=((& QGraphicsRotation::_ZTV17QGraphicsRotation) + 16u)
+ QGraphicsTransform (0x7faaa6a39690) 0
+ primary-for QGraphicsRotation (0x7faaa6a39620)
+ QObject (0x7faaa6a39700) 0
+ primary-for QGraphicsTransform (0x7faaa6a39690)
+
+Vtable for QScrollArea
+QScrollArea::_ZTV11QScrollArea: 65u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QScrollArea)
+16 QScrollArea::metaObject
+24 QScrollArea::qt_metacast
+32 QScrollArea::qt_metacall
+40 QScrollArea::~QScrollArea
+48 QScrollArea::~QScrollArea
+56 QScrollArea::event
+64 QScrollArea::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QScrollArea::sizeHint
+136 QAbstractScrollArea::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QAbstractScrollArea::mousePressEvent
+168 QAbstractScrollArea::mouseReleaseEvent
+176 QAbstractScrollArea::mouseDoubleClickEvent
+184 QAbstractScrollArea::mouseMoveEvent
+192 QAbstractScrollArea::wheelEvent
+200 QAbstractScrollArea::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QAbstractScrollArea::paintEvent
+256 QWidget::moveEvent
+264 QScrollArea::resizeEvent
+272 QWidget::closeEvent
+280 QAbstractScrollArea::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QAbstractScrollArea::dragEnterEvent
+312 QAbstractScrollArea::dragMoveEvent
+320 QAbstractScrollArea::dragLeaveEvent
+328 QAbstractScrollArea::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QFrame::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QScrollArea::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QAbstractScrollArea::viewportEvent
+456 QScrollArea::scrollContentsBy
+464 (int (*)(...))-0x00000000000000010
+472 (int (*)(...))(& _ZTI11QScrollArea)
+480 QScrollArea::_ZThn16_N11QScrollAreaD1Ev
+488 QScrollArea::_ZThn16_N11QScrollAreaD0Ev
+496 QWidget::_ZThn16_NK7QWidget7devTypeEv
+504 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+512 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QScrollArea
+ size=40 align=8
+ base size=40 base align=8
+QScrollArea (0x7faaa6a4baf0) 0
+ vptr=((& QScrollArea::_ZTV11QScrollArea) + 16u)
+ QAbstractScrollArea (0x7faaa6a4bb60) 0
+ primary-for QScrollArea (0x7faaa6a4baf0)
+ QFrame (0x7faaa6a4bbd0) 0
+ primary-for QAbstractScrollArea (0x7faaa6a4bb60)
+ QWidget (0x7faaa6a3ac80) 0
+ primary-for QFrame (0x7faaa6a4bbd0)
+ QObject (0x7faaa6a4bc40) 0
+ primary-for QWidget (0x7faaa6a3ac80)
+ QPaintDevice (0x7faaa6a4bcb0) 16
+ vptr=((& QScrollArea::_ZTV11QScrollArea) + 480u)
+
+Vtable for QGraphicsView
+QGraphicsView::_ZTV13QGraphicsView: 68u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QGraphicsView)
+16 QGraphicsView::metaObject
+24 QGraphicsView::qt_metacast
+32 QGraphicsView::qt_metacall
+40 QGraphicsView::~QGraphicsView
+48 QGraphicsView::~QGraphicsView
+56 QGraphicsView::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QGraphicsView::sizeHint
+136 QAbstractScrollArea::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QGraphicsView::mousePressEvent
+168 QGraphicsView::mouseReleaseEvent
+176 QGraphicsView::mouseDoubleClickEvent
+184 QGraphicsView::mouseMoveEvent
+192 QGraphicsView::wheelEvent
+200 QGraphicsView::keyPressEvent
+208 QGraphicsView::keyReleaseEvent
+216 QGraphicsView::focusInEvent
+224 QGraphicsView::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QGraphicsView::paintEvent
+256 QWidget::moveEvent
+264 QGraphicsView::resizeEvent
+272 QWidget::closeEvent
+280 QGraphicsView::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QGraphicsView::dragEnterEvent
+312 QGraphicsView::dragMoveEvent
+320 QGraphicsView::dragLeaveEvent
+328 QGraphicsView::dropEvent
+336 QGraphicsView::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QFrame::changeEvent
+368 QWidget::metric
+376 QGraphicsView::inputMethodEvent
+384 QGraphicsView::inputMethodQuery
+392 QGraphicsView::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QGraphicsView::viewportEvent
+456 QGraphicsView::scrollContentsBy
+464 QGraphicsView::drawBackground
+472 QGraphicsView::drawForeground
+480 QGraphicsView::drawItems
+488 (int (*)(...))-0x00000000000000010
+496 (int (*)(...))(& _ZTI13QGraphicsView)
+504 QGraphicsView::_ZThn16_N13QGraphicsViewD1Ev
+512 QGraphicsView::_ZThn16_N13QGraphicsViewD0Ev
+520 QWidget::_ZThn16_NK7QWidget7devTypeEv
+528 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+536 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QGraphicsView
+ size=40 align=8
+ base size=40 base align=8
+QGraphicsView (0x7faaa6a6da10) 0
+ vptr=((& QGraphicsView::_ZTV13QGraphicsView) + 16u)
+ QAbstractScrollArea (0x7faaa6a6da80) 0
+ primary-for QGraphicsView (0x7faaa6a6da10)
+ QFrame (0x7faaa6a6daf0) 0
+ primary-for QAbstractScrollArea (0x7faaa6a6da80)
+ QWidget (0x7faaa6a68680) 0
+ primary-for QFrame (0x7faaa6a6daf0)
+ QObject (0x7faaa6a6db60) 0
+ primary-for QWidget (0x7faaa6a68680)
+ QPaintDevice (0x7faaa6a6dbd0) 16
+ vptr=((& QGraphicsView::_ZTV13QGraphicsView) + 504u)
+
+Vtable for QAbstractButton
+QAbstractButton::_ZTV15QAbstractButton: 66u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QAbstractButton)
+16 QAbstractButton::metaObject
+24 QAbstractButton::qt_metacast
+32 QAbstractButton::qt_metacall
+40 QAbstractButton::~QAbstractButton
+48 QAbstractButton::~QAbstractButton
+56 QAbstractButton::event
+64 QObject::eventFilter
+72 QAbstractButton::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QWidget::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QAbstractButton::mousePressEvent
+168 QAbstractButton::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QAbstractButton::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QAbstractButton::keyPressEvent
+208 QAbstractButton::keyReleaseEvent
+216 QAbstractButton::focusInEvent
+224 QAbstractButton::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 __cxa_pure_virtual
+256 QWidget::moveEvent
+264 QWidget::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QAbstractButton::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QAbstractButton::hitButton
+456 QAbstractButton::checkStateSet
+464 QAbstractButton::nextCheckState
+472 (int (*)(...))-0x00000000000000010
+480 (int (*)(...))(& _ZTI15QAbstractButton)
+488 QAbstractButton::_ZThn16_N15QAbstractButtonD1Ev
+496 QAbstractButton::_ZThn16_N15QAbstractButtonD0Ev
+504 QWidget::_ZThn16_NK7QWidget7devTypeEv
+512 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+520 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QAbstractButton
+ size=40 align=8
+ base size=40 base align=8
+QAbstractButton (0x7faaa695dee0) 0
+ vptr=((& QAbstractButton::_ZTV15QAbstractButton) + 16u)
+ QWidget (0x7faaa6966380) 0
+ primary-for QAbstractButton (0x7faaa695dee0)
+ QObject (0x7faaa695df50) 0
+ primary-for QWidget (0x7faaa6966380)
+ QPaintDevice (0x7faaa696b000) 16
+ vptr=((& QAbstractButton::_ZTV15QAbstractButton) + 488u)
+
+Vtable for QButtonGroup
+QButtonGroup::_ZTV12QButtonGroup: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QButtonGroup)
+16 QButtonGroup::metaObject
+24 QButtonGroup::qt_metacast
+32 QButtonGroup::qt_metacall
+40 QButtonGroup::~QButtonGroup
+48 QButtonGroup::~QButtonGroup
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QButtonGroup
+ size=16 align=8
+ base size=16 base align=8
+QButtonGroup (0x7faaa699c310) 0
+ vptr=((& QButtonGroup::_ZTV12QButtonGroup) + 16u)
+ QObject (0x7faaa699c380) 0
+ primary-for QButtonGroup (0x7faaa699c310)
+
+Vtable for QCalendarWidget
+QCalendarWidget::_ZTV15QCalendarWidget: 64u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QCalendarWidget)
+16 QCalendarWidget::metaObject
+24 QCalendarWidget::qt_metacast
+32 QCalendarWidget::qt_metacall
+40 QCalendarWidget::~QCalendarWidget
+48 QCalendarWidget::~QCalendarWidget
+56 QCalendarWidget::event
+64 QCalendarWidget::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QCalendarWidget::sizeHint
+136 QCalendarWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QCalendarWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QCalendarWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QWidget::paintEvent
+256 QWidget::moveEvent
+264 QCalendarWidget::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QWidget::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QCalendarWidget::paintCell
+456 (int (*)(...))-0x00000000000000010
+464 (int (*)(...))(& _ZTI15QCalendarWidget)
+472 QCalendarWidget::_ZThn16_N15QCalendarWidgetD1Ev
+480 QCalendarWidget::_ZThn16_N15QCalendarWidgetD0Ev
+488 QWidget::_ZThn16_NK7QWidget7devTypeEv
+496 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+504 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QCalendarWidget
+ size=40 align=8
+ base size=40 base align=8
+QCalendarWidget (0x7faaa69b4f50) 0
+ vptr=((& QCalendarWidget::_ZTV15QCalendarWidget) + 16u)
+ QWidget (0x7faaa69b1900) 0
+ primary-for QCalendarWidget (0x7faaa69b4f50)
+ QObject (0x7faaa69bb000) 0
+ primary-for QWidget (0x7faaa69b1900)
+ QPaintDevice (0x7faaa69bb070) 16
+ vptr=((& QCalendarWidget::_ZTV15QCalendarWidget) + 472u)
+
+Vtable for QCheckBox
+QCheckBox::_ZTV9QCheckBox: 66u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QCheckBox)
+16 QCheckBox::metaObject
+24 QCheckBox::qt_metacast
+32 QCheckBox::qt_metacall
+40 QCheckBox::~QCheckBox
+48 QCheckBox::~QCheckBox
+56 QCheckBox::event
+64 QObject::eventFilter
+72 QAbstractButton::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QCheckBox::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QAbstractButton::mousePressEvent
+168 QAbstractButton::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QCheckBox::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QAbstractButton::keyPressEvent
+208 QAbstractButton::keyReleaseEvent
+216 QAbstractButton::focusInEvent
+224 QAbstractButton::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QCheckBox::paintEvent
+256 QWidget::moveEvent
+264 QWidget::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QAbstractButton::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QCheckBox::hitButton
+456 QCheckBox::checkStateSet
+464 QCheckBox::nextCheckState
+472 (int (*)(...))-0x00000000000000010
+480 (int (*)(...))(& _ZTI9QCheckBox)
+488 QCheckBox::_ZThn16_N9QCheckBoxD1Ev
+496 QCheckBox::_ZThn16_N9QCheckBoxD0Ev
+504 QWidget::_ZThn16_NK7QWidget7devTypeEv
+512 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+520 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QCheckBox
+ size=40 align=8
+ base size=40 base align=8
+QCheckBox (0x7faaa67e80e0) 0
+ vptr=((& QCheckBox::_ZTV9QCheckBox) + 16u)
+ QAbstractButton (0x7faaa67e8150) 0
+ primary-for QCheckBox (0x7faaa67e80e0)
+ QWidget (0x7faaa67da900) 0
+ primary-for QAbstractButton (0x7faaa67e8150)
+ QObject (0x7faaa67e81c0) 0
+ primary-for QWidget (0x7faaa67da900)
+ QPaintDevice (0x7faaa67e8230) 16
+ vptr=((& QCheckBox::_ZTV9QCheckBox) + 488u)
+
+Vtable for QComboBox
+QComboBox::_ZTV9QComboBox: 65u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QComboBox)
+16 QComboBox::metaObject
+24 QComboBox::qt_metacast
+32 QComboBox::qt_metacall
+40 QComboBox::~QComboBox
+48 QComboBox::~QComboBox
+56 QComboBox::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QComboBox::sizeHint
+136 QComboBox::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QComboBox::mousePressEvent
+168 QComboBox::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QComboBox::wheelEvent
+200 QComboBox::keyPressEvent
+208 QComboBox::keyReleaseEvent
+216 QComboBox::focusInEvent
+224 QComboBox::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QComboBox::paintEvent
+256 QWidget::moveEvent
+264 QComboBox::resizeEvent
+272 QWidget::closeEvent
+280 QComboBox::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QComboBox::showEvent
+344 QComboBox::hideEvent
+352 QWidget::x11Event
+360 QComboBox::changeEvent
+368 QWidget::metric
+376 QComboBox::inputMethodEvent
+384 QComboBox::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QComboBox::showPopup
+456 QComboBox::hidePopup
+464 (int (*)(...))-0x00000000000000010
+472 (int (*)(...))(& _ZTI9QComboBox)
+480 QComboBox::_ZThn16_N9QComboBoxD1Ev
+488 QComboBox::_ZThn16_N9QComboBoxD0Ev
+496 QWidget::_ZThn16_NK7QWidget7devTypeEv
+504 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+512 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QComboBox
+ size=40 align=8
+ base size=40 base align=8
+QComboBox (0x7faaa680a8c0) 0
+ vptr=((& QComboBox::_ZTV9QComboBox) + 16u)
+ QWidget (0x7faaa6804900) 0
+ primary-for QComboBox (0x7faaa680a8c0)
+ QObject (0x7faaa680a930) 0
+ primary-for QWidget (0x7faaa6804900)
+ QPaintDevice (0x7faaa680a9a0) 16
+ vptr=((& QComboBox::_ZTV9QComboBox) + 480u)
+
+Vtable for QPushButton
+QPushButton::_ZTV11QPushButton: 66u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QPushButton)
+16 QPushButton::metaObject
+24 QPushButton::qt_metacast
+32 QPushButton::qt_metacall
+40 QPushButton::~QPushButton
+48 QPushButton::~QPushButton
+56 QPushButton::event
+64 QObject::eventFilter
+72 QAbstractButton::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QPushButton::sizeHint
+136 QPushButton::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QAbstractButton::mousePressEvent
+168 QAbstractButton::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QAbstractButton::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QPushButton::keyPressEvent
+208 QAbstractButton::keyReleaseEvent
+216 QPushButton::focusInEvent
+224 QPushButton::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QPushButton::paintEvent
+256 QWidget::moveEvent
+264 QWidget::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QAbstractButton::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QAbstractButton::hitButton
+456 QAbstractButton::checkStateSet
+464 QAbstractButton::nextCheckState
+472 (int (*)(...))-0x00000000000000010
+480 (int (*)(...))(& _ZTI11QPushButton)
+488 QPushButton::_ZThn16_N11QPushButtonD1Ev
+496 QPushButton::_ZThn16_N11QPushButtonD0Ev
+504 QWidget::_ZThn16_NK7QWidget7devTypeEv
+512 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+520 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QPushButton
+ size=40 align=8
+ base size=40 base align=8
+QPushButton (0x7faaa68783f0) 0
+ vptr=((& QPushButton::_ZTV11QPushButton) + 16u)
+ QAbstractButton (0x7faaa6878460) 0
+ primary-for QPushButton (0x7faaa68783f0)
+ QWidget (0x7faaa6874600) 0
+ primary-for QAbstractButton (0x7faaa6878460)
+ QObject (0x7faaa68784d0) 0
+ primary-for QWidget (0x7faaa6874600)
+ QPaintDevice (0x7faaa6878540) 16
+ vptr=((& QPushButton::_ZTV11QPushButton) + 488u)
+
+Vtable for QCommandLinkButton
+QCommandLinkButton::_ZTV18QCommandLinkButton: 66u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QCommandLinkButton)
+16 QCommandLinkButton::metaObject
+24 QCommandLinkButton::qt_metacast
+32 QCommandLinkButton::qt_metacall
+40 QCommandLinkButton::~QCommandLinkButton
+48 QCommandLinkButton::~QCommandLinkButton
+56 QCommandLinkButton::event
+64 QObject::eventFilter
+72 QAbstractButton::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QCommandLinkButton::sizeHint
+136 QCommandLinkButton::minimumSizeHint
+144 QCommandLinkButton::heightForWidth
+152 QWidget::paintEngine
+160 QAbstractButton::mousePressEvent
+168 QAbstractButton::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QAbstractButton::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QPushButton::keyPressEvent
+208 QAbstractButton::keyReleaseEvent
+216 QPushButton::focusInEvent
+224 QPushButton::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QCommandLinkButton::paintEvent
+256 QWidget::moveEvent
+264 QWidget::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QAbstractButton::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QAbstractButton::hitButton
+456 QAbstractButton::checkStateSet
+464 QAbstractButton::nextCheckState
+472 (int (*)(...))-0x00000000000000010
+480 (int (*)(...))(& _ZTI18QCommandLinkButton)
+488 QCommandLinkButton::_ZThn16_N18QCommandLinkButtonD1Ev
+496 QCommandLinkButton::_ZThn16_N18QCommandLinkButtonD0Ev
+504 QWidget::_ZThn16_NK7QWidget7devTypeEv
+512 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+520 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QCommandLinkButton
+ size=40 align=8
+ base size=40 base align=8
+QCommandLinkButton (0x7faaa689dd20) 0
+ vptr=((& QCommandLinkButton::_ZTV18QCommandLinkButton) + 16u)
+ QPushButton (0x7faaa689dd90) 0
+ primary-for QCommandLinkButton (0x7faaa689dd20)
+ QAbstractButton (0x7faaa689de00) 0
+ primary-for QPushButton (0x7faaa689dd90)
+ QWidget (0x7faaa689f600) 0
+ primary-for QAbstractButton (0x7faaa689de00)
+ QObject (0x7faaa689de70) 0
+ primary-for QWidget (0x7faaa689f600)
+ QPaintDevice (0x7faaa689dee0) 16
+ vptr=((& QCommandLinkButton::_ZTV18QCommandLinkButton) + 488u)
+
+Vtable for QDateTimeEdit
+QDateTimeEdit::_ZTV13QDateTimeEdit: 70u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QDateTimeEdit)
+16 QDateTimeEdit::metaObject
+24 QDateTimeEdit::qt_metacast
+32 QDateTimeEdit::qt_metacall
+40 QDateTimeEdit::~QDateTimeEdit
+48 QDateTimeEdit::~QDateTimeEdit
+56 QDateTimeEdit::event
+64 QObject::eventFilter
+72 QAbstractSpinBox::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QDateTimeEdit::sizeHint
+136 QAbstractSpinBox::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QDateTimeEdit::mousePressEvent
+168 QAbstractSpinBox::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QAbstractSpinBox::mouseMoveEvent
+192 QDateTimeEdit::wheelEvent
+200 QDateTimeEdit::keyPressEvent
+208 QAbstractSpinBox::keyReleaseEvent
+216 QDateTimeEdit::focusInEvent
+224 QAbstractSpinBox::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QDateTimeEdit::paintEvent
+256 QWidget::moveEvent
+264 QAbstractSpinBox::resizeEvent
+272 QAbstractSpinBox::closeEvent
+280 QAbstractSpinBox::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QAbstractSpinBox::showEvent
+344 QAbstractSpinBox::hideEvent
+352 QWidget::x11Event
+360 QAbstractSpinBox::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QAbstractSpinBox::inputMethodQuery
+392 QDateTimeEdit::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QDateTimeEdit::validate
+456 QDateTimeEdit::fixup
+464 QDateTimeEdit::stepBy
+472 QDateTimeEdit::clear
+480 QDateTimeEdit::stepEnabled
+488 QDateTimeEdit::dateTimeFromText
+496 QDateTimeEdit::textFromDateTime
+504 (int (*)(...))-0x00000000000000010
+512 (int (*)(...))(& _ZTI13QDateTimeEdit)
+520 QDateTimeEdit::_ZThn16_N13QDateTimeEditD1Ev
+528 QDateTimeEdit::_ZThn16_N13QDateTimeEditD0Ev
+536 QWidget::_ZThn16_NK7QWidget7devTypeEv
+544 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+552 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QDateTimeEdit
+ size=40 align=8
+ base size=40 base align=8
+QDateTimeEdit (0x7faaa68ba8c0) 0
+ vptr=((& QDateTimeEdit::_ZTV13QDateTimeEdit) + 16u)
+ QAbstractSpinBox (0x7faaa68ba930) 0
+ primary-for QDateTimeEdit (0x7faaa68ba8c0)
+ QWidget (0x7faaa68c1000) 0
+ primary-for QAbstractSpinBox (0x7faaa68ba930)
+ QObject (0x7faaa68ba9a0) 0
+ primary-for QWidget (0x7faaa68c1000)
+ QPaintDevice (0x7faaa68baa10) 16
+ vptr=((& QDateTimeEdit::_ZTV13QDateTimeEdit) + 520u)
+
+Vtable for QTimeEdit
+QTimeEdit::_ZTV9QTimeEdit: 70u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QTimeEdit)
+16 QTimeEdit::metaObject
+24 QTimeEdit::qt_metacast
+32 QTimeEdit::qt_metacall
+40 QTimeEdit::~QTimeEdit
+48 QTimeEdit::~QTimeEdit
+56 QDateTimeEdit::event
+64 QObject::eventFilter
+72 QAbstractSpinBox::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QDateTimeEdit::sizeHint
+136 QAbstractSpinBox::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QDateTimeEdit::mousePressEvent
+168 QAbstractSpinBox::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QAbstractSpinBox::mouseMoveEvent
+192 QDateTimeEdit::wheelEvent
+200 QDateTimeEdit::keyPressEvent
+208 QAbstractSpinBox::keyReleaseEvent
+216 QDateTimeEdit::focusInEvent
+224 QAbstractSpinBox::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QDateTimeEdit::paintEvent
+256 QWidget::moveEvent
+264 QAbstractSpinBox::resizeEvent
+272 QAbstractSpinBox::closeEvent
+280 QAbstractSpinBox::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QAbstractSpinBox::showEvent
+344 QAbstractSpinBox::hideEvent
+352 QWidget::x11Event
+360 QAbstractSpinBox::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QAbstractSpinBox::inputMethodQuery
+392 QDateTimeEdit::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QDateTimeEdit::validate
+456 QDateTimeEdit::fixup
+464 QDateTimeEdit::stepBy
+472 QDateTimeEdit::clear
+480 QDateTimeEdit::stepEnabled
+488 QDateTimeEdit::dateTimeFromText
+496 QDateTimeEdit::textFromDateTime
+504 (int (*)(...))-0x00000000000000010
+512 (int (*)(...))(& _ZTI9QTimeEdit)
+520 QTimeEdit::_ZThn16_N9QTimeEditD1Ev
+528 QTimeEdit::_ZThn16_N9QTimeEditD0Ev
+536 QWidget::_ZThn16_NK7QWidget7devTypeEv
+544 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+552 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QTimeEdit
+ size=40 align=8
+ base size=40 base align=8
+QTimeEdit (0x7faaa66ea7e0) 0
+ vptr=((& QTimeEdit::_ZTV9QTimeEdit) + 16u)
+ QDateTimeEdit (0x7faaa66ea850) 0
+ primary-for QTimeEdit (0x7faaa66ea7e0)
+ QAbstractSpinBox (0x7faaa66ea8c0) 0
+ primary-for QDateTimeEdit (0x7faaa66ea850)
+ QWidget (0x7faaa68c1f80) 0
+ primary-for QAbstractSpinBox (0x7faaa66ea8c0)
+ QObject (0x7faaa66ea930) 0
+ primary-for QWidget (0x7faaa68c1f80)
+ QPaintDevice (0x7faaa66ea9a0) 16
+ vptr=((& QTimeEdit::_ZTV9QTimeEdit) + 520u)
+
+Vtable for QDateEdit
+QDateEdit::_ZTV9QDateEdit: 70u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QDateEdit)
+16 QDateEdit::metaObject
+24 QDateEdit::qt_metacast
+32 QDateEdit::qt_metacall
+40 QDateEdit::~QDateEdit
+48 QDateEdit::~QDateEdit
+56 QDateTimeEdit::event
+64 QObject::eventFilter
+72 QAbstractSpinBox::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QDateTimeEdit::sizeHint
+136 QAbstractSpinBox::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QDateTimeEdit::mousePressEvent
+168 QAbstractSpinBox::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QAbstractSpinBox::mouseMoveEvent
+192 QDateTimeEdit::wheelEvent
+200 QDateTimeEdit::keyPressEvent
+208 QAbstractSpinBox::keyReleaseEvent
+216 QDateTimeEdit::focusInEvent
+224 QAbstractSpinBox::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QDateTimeEdit::paintEvent
+256 QWidget::moveEvent
+264 QAbstractSpinBox::resizeEvent
+272 QAbstractSpinBox::closeEvent
+280 QAbstractSpinBox::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QAbstractSpinBox::showEvent
+344 QAbstractSpinBox::hideEvent
+352 QWidget::x11Event
+360 QAbstractSpinBox::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QAbstractSpinBox::inputMethodQuery
+392 QDateTimeEdit::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QDateTimeEdit::validate
+456 QDateTimeEdit::fixup
+464 QDateTimeEdit::stepBy
+472 QDateTimeEdit::clear
+480 QDateTimeEdit::stepEnabled
+488 QDateTimeEdit::dateTimeFromText
+496 QDateTimeEdit::textFromDateTime
+504 (int (*)(...))-0x00000000000000010
+512 (int (*)(...))(& _ZTI9QDateEdit)
+520 QDateEdit::_ZThn16_N9QDateEditD1Ev
+528 QDateEdit::_ZThn16_N9QDateEditD0Ev
+536 QWidget::_ZThn16_NK7QWidget7devTypeEv
+544 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+552 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QDateEdit
+ size=40 align=8
+ base size=40 base align=8
+QDateEdit (0x7faaa67008c0) 0
+ vptr=((& QDateEdit::_ZTV9QDateEdit) + 16u)
+ QDateTimeEdit (0x7faaa6700930) 0
+ primary-for QDateEdit (0x7faaa67008c0)
+ QAbstractSpinBox (0x7faaa67009a0) 0
+ primary-for QDateTimeEdit (0x7faaa6700930)
+ QWidget (0x7faaa66f0680) 0
+ primary-for QAbstractSpinBox (0x7faaa67009a0)
+ QObject (0x7faaa6700a10) 0
+ primary-for QWidget (0x7faaa66f0680)
+ QPaintDevice (0x7faaa6700a80) 16
+ vptr=((& QDateEdit::_ZTV9QDateEdit) + 520u)
+
+Vtable for QDial
+QDial::_ZTV5QDial: 64u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI5QDial)
+16 QDial::metaObject
+24 QDial::qt_metacast
+32 QDial::qt_metacall
+40 QDial::~QDial
+48 QDial::~QDial
+56 QDial::event
+64 QObject::eventFilter
+72 QAbstractSlider::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QDial::sizeHint
+136 QDial::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QDial::mousePressEvent
+168 QDial::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QDial::mouseMoveEvent
+192 QAbstractSlider::wheelEvent
+200 QAbstractSlider::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QDial::paintEvent
+256 QWidget::moveEvent
+264 QDial::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QAbstractSlider::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QDial::sliderChange
+456 (int (*)(...))-0x00000000000000010
+464 (int (*)(...))(& _ZTI5QDial)
+472 QDial::_ZThn16_N5QDialD1Ev
+480 QDial::_ZThn16_N5QDialD0Ev
+488 QWidget::_ZThn16_NK7QWidget7devTypeEv
+496 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+504 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QDial
+ size=40 align=8
+ base size=40 base align=8
+QDial (0x7faaa6747690) 0
+ vptr=((& QDial::_ZTV5QDial) + 16u)
+ QAbstractSlider (0x7faaa6747700) 0
+ primary-for QDial (0x7faaa6747690)
+ QWidget (0x7faaa6748300) 0
+ primary-for QAbstractSlider (0x7faaa6747700)
+ QObject (0x7faaa6747770) 0
+ primary-for QWidget (0x7faaa6748300)
+ QPaintDevice (0x7faaa67477e0) 16
+ vptr=((& QDial::_ZTV5QDial) + 472u)
+
+Vtable for QDialogButtonBox
+QDialogButtonBox::_ZTV16QDialogButtonBox: 63u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QDialogButtonBox)
+16 QDialogButtonBox::metaObject
+24 QDialogButtonBox::qt_metacast
+32 QDialogButtonBox::qt_metacall
+40 QDialogButtonBox::~QDialogButtonBox
+48 QDialogButtonBox::~QDialogButtonBox
+56 QDialogButtonBox::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QWidget::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QWidget::paintEvent
+256 QWidget::moveEvent
+264 QWidget::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QDialogButtonBox::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 (int (*)(...))-0x00000000000000010
+456 (int (*)(...))(& _ZTI16QDialogButtonBox)
+464 QDialogButtonBox::_ZThn16_N16QDialogButtonBoxD1Ev
+472 QDialogButtonBox::_ZThn16_N16QDialogButtonBoxD0Ev
+480 QWidget::_ZThn16_NK7QWidget7devTypeEv
+488 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+496 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QDialogButtonBox
+ size=40 align=8
+ base size=40 base align=8
+QDialogButtonBox (0x7faaa6785310) 0
+ vptr=((& QDialogButtonBox::_ZTV16QDialogButtonBox) + 16u)
+ QWidget (0x7faaa6748d00) 0
+ primary-for QDialogButtonBox (0x7faaa6785310)
+ QObject (0x7faaa6785380) 0
+ primary-for QWidget (0x7faaa6748d00)
+ QPaintDevice (0x7faaa67853f0) 16
+ vptr=((& QDialogButtonBox::_ZTV16QDialogButtonBox) + 464u)
+
+Vtable for QDockWidget
+QDockWidget::_ZTV11QDockWidget: 63u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QDockWidget)
+16 QDockWidget::metaObject
+24 QDockWidget::qt_metacast
+32 QDockWidget::qt_metacall
+40 QDockWidget::~QDockWidget
+48 QDockWidget::~QDockWidget
+56 QDockWidget::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QWidget::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QDockWidget::paintEvent
+256 QWidget::moveEvent
+264 QWidget::resizeEvent
+272 QDockWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QDockWidget::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 (int (*)(...))-0x00000000000000010
+456 (int (*)(...))(& _ZTI11QDockWidget)
+464 QDockWidget::_ZThn16_N11QDockWidgetD1Ev
+472 QDockWidget::_ZThn16_N11QDockWidgetD0Ev
+480 QWidget::_ZThn16_NK7QWidget7devTypeEv
+488 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+496 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QDockWidget
+ size=40 align=8
+ base size=40 base align=8
+QDockWidget (0x7faaa65d87e0) 0
+ vptr=((& QDockWidget::_ZTV11QDockWidget) + 16u)
+ QWidget (0x7faaa6792e80) 0
+ primary-for QDockWidget (0x7faaa65d87e0)
+ QObject (0x7faaa65d8850) 0
+ primary-for QWidget (0x7faaa6792e80)
+ QPaintDevice (0x7faaa65d88c0) 16
+ vptr=((& QDockWidget::_ZTV11QDockWidget) + 464u)
+
+Vtable for QFocusFrame
+QFocusFrame::_ZTV11QFocusFrame: 63u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QFocusFrame)
+16 QFocusFrame::metaObject
+24 QFocusFrame::qt_metacast
+32 QFocusFrame::qt_metacall
+40 QFocusFrame::~QFocusFrame
+48 QFocusFrame::~QFocusFrame
+56 QFocusFrame::event
+64 QFocusFrame::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QWidget::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QFocusFrame::paintEvent
+256 QWidget::moveEvent
+264 QWidget::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QWidget::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 (int (*)(...))-0x00000000000000010
+456 (int (*)(...))(& _ZTI11QFocusFrame)
+464 QFocusFrame::_ZThn16_N11QFocusFrameD1Ev
+472 QFocusFrame::_ZThn16_N11QFocusFrameD0Ev
+480 QWidget::_ZThn16_NK7QWidget7devTypeEv
+488 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+496 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QFocusFrame
+ size=40 align=8
+ base size=40 base align=8
+QFocusFrame (0x7faaa667b230) 0
+ vptr=((& QFocusFrame::_ZTV11QFocusFrame) + 16u)
+ QWidget (0x7faaa662c680) 0
+ primary-for QFocusFrame (0x7faaa667b230)
+ QObject (0x7faaa667b2a0) 0
+ primary-for QWidget (0x7faaa662c680)
+ QPaintDevice (0x7faaa667b310) 16
+ vptr=((& QFocusFrame::_ZTV11QFocusFrame) + 464u)
+
+Vtable for QFontComboBox
+QFontComboBox::_ZTV13QFontComboBox: 65u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QFontComboBox)
+16 QFontComboBox::metaObject
+24 QFontComboBox::qt_metacast
+32 QFontComboBox::qt_metacall
+40 QFontComboBox::~QFontComboBox
+48 QFontComboBox::~QFontComboBox
+56 QFontComboBox::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QFontComboBox::sizeHint
+136 QComboBox::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QComboBox::mousePressEvent
+168 QComboBox::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QComboBox::wheelEvent
+200 QComboBox::keyPressEvent
+208 QComboBox::keyReleaseEvent
+216 QComboBox::focusInEvent
+224 QComboBox::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QComboBox::paintEvent
+256 QWidget::moveEvent
+264 QComboBox::resizeEvent
+272 QWidget::closeEvent
+280 QComboBox::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QComboBox::showEvent
+344 QComboBox::hideEvent
+352 QWidget::x11Event
+360 QComboBox::changeEvent
+368 QWidget::metric
+376 QComboBox::inputMethodEvent
+384 QComboBox::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QComboBox::showPopup
+456 QComboBox::hidePopup
+464 (int (*)(...))-0x00000000000000010
+472 (int (*)(...))(& _ZTI13QFontComboBox)
+480 QFontComboBox::_ZThn16_N13QFontComboBoxD1Ev
+488 QFontComboBox::_ZThn16_N13QFontComboBoxD0Ev
+496 QWidget::_ZThn16_NK7QWidget7devTypeEv
+504 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+512 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QFontComboBox
+ size=40 align=8
+ base size=40 base align=8
+QFontComboBox (0x7faaa668dd90) 0
+ vptr=((& QFontComboBox::_ZTV13QFontComboBox) + 16u)
+ QComboBox (0x7faaa668de00) 0
+ primary-for QFontComboBox (0x7faaa668dd90)
+ QWidget (0x7faaa6695080) 0
+ primary-for QComboBox (0x7faaa668de00)
+ QObject (0x7faaa668de70) 0
+ primary-for QWidget (0x7faaa6695080)
+ QPaintDevice (0x7faaa668dee0) 16
+ vptr=((& QFontComboBox::_ZTV13QFontComboBox) + 480u)
+
+Vtable for QGroupBox
+QGroupBox::_ZTV9QGroupBox: 63u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QGroupBox)
+16 QGroupBox::metaObject
+24 QGroupBox::qt_metacast
+32 QGroupBox::qt_metacall
+40 QGroupBox::~QGroupBox
+48 QGroupBox::~QGroupBox
+56 QGroupBox::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QGroupBox::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QWidget::sizeHint
+136 QGroupBox::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QGroupBox::mousePressEvent
+168 QGroupBox::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QGroupBox::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QGroupBox::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QGroupBox::paintEvent
+256 QWidget::moveEvent
+264 QGroupBox::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QGroupBox::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 (int (*)(...))-0x00000000000000010
+456 (int (*)(...))(& _ZTI9QGroupBox)
+464 QGroupBox::_ZThn16_N9QGroupBoxD1Ev
+472 QGroupBox::_ZThn16_N9QGroupBoxD0Ev
+480 QWidget::_ZThn16_NK7QWidget7devTypeEv
+488 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+496 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QGroupBox
+ size=40 align=8
+ base size=40 base align=8
+QGroupBox (0x7faaa64dda80) 0
+ vptr=((& QGroupBox::_ZTV9QGroupBox) + 16u)
+ QWidget (0x7faaa64df280) 0
+ primary-for QGroupBox (0x7faaa64dda80)
+ QObject (0x7faaa64ddaf0) 0
+ primary-for QWidget (0x7faaa64df280)
+ QPaintDevice (0x7faaa64ddb60) 16
+ vptr=((& QGroupBox::_ZTV9QGroupBox) + 464u)
+
+Vtable for QLabel
+QLabel::_ZTV6QLabel: 63u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI6QLabel)
+16 QLabel::metaObject
+24 QLabel::qt_metacast
+32 QLabel::qt_metacall
+40 QLabel::~QLabel
+48 QLabel::~QLabel
+56 QLabel::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QLabel::sizeHint
+136 QLabel::minimumSizeHint
+144 QLabel::heightForWidth
+152 QWidget::paintEngine
+160 QLabel::mousePressEvent
+168 QLabel::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QLabel::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QLabel::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QLabel::focusInEvent
+224 QLabel::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QLabel::paintEvent
+256 QWidget::moveEvent
+264 QWidget::resizeEvent
+272 QWidget::closeEvent
+280 QLabel::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QLabel::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QLabel::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 (int (*)(...))-0x00000000000000010
+456 (int (*)(...))(& _ZTI6QLabel)
+464 QLabel::_ZThn16_N6QLabelD1Ev
+472 QLabel::_ZThn16_N6QLabelD0Ev
+480 QWidget::_ZThn16_NK7QWidget7devTypeEv
+488 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+496 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QLabel
+ size=40 align=8
+ base size=40 base align=8
+QLabel (0x7faaa651c700) 0
+ vptr=((& QLabel::_ZTV6QLabel) + 16u)
+ QFrame (0x7faaa651c770) 0
+ primary-for QLabel (0x7faaa651c700)
+ QWidget (0x7faaa64dfc80) 0
+ primary-for QFrame (0x7faaa651c770)
+ QObject (0x7faaa651c7e0) 0
+ primary-for QWidget (0x7faaa64dfc80)
+ QPaintDevice (0x7faaa651c850) 16
+ vptr=((& QLabel::_ZTV6QLabel) + 464u)
+
+Vtable for QLCDNumber
+QLCDNumber::_ZTV10QLCDNumber: 63u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QLCDNumber)
+16 QLCDNumber::metaObject
+24 QLCDNumber::qt_metacast
+32 QLCDNumber::qt_metacall
+40 QLCDNumber::~QLCDNumber
+48 QLCDNumber::~QLCDNumber
+56 QLCDNumber::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QLCDNumber::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QLCDNumber::paintEvent
+256 QWidget::moveEvent
+264 QWidget::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QFrame::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 (int (*)(...))-0x00000000000000010
+456 (int (*)(...))(& _ZTI10QLCDNumber)
+464 QLCDNumber::_ZThn16_N10QLCDNumberD1Ev
+472 QLCDNumber::_ZThn16_N10QLCDNumberD0Ev
+480 QWidget::_ZThn16_NK7QWidget7devTypeEv
+488 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+496 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QLCDNumber
+ size=40 align=8
+ base size=40 base align=8
+QLCDNumber (0x7faaa654c850) 0
+ vptr=((& QLCDNumber::_ZTV10QLCDNumber) + 16u)
+ QFrame (0x7faaa654c8c0) 0
+ primary-for QLCDNumber (0x7faaa654c850)
+ QWidget (0x7faaa6545880) 0
+ primary-for QFrame (0x7faaa654c8c0)
+ QObject (0x7faaa654c930) 0
+ primary-for QWidget (0x7faaa6545880)
+ QPaintDevice (0x7faaa654c9a0) 16
+ vptr=((& QLCDNumber::_ZTV10QLCDNumber) + 464u)
+
+Vtable for QMainWindow
+QMainWindow::_ZTV11QMainWindow: 64u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QMainWindow)
+16 QMainWindow::metaObject
+24 QMainWindow::qt_metacast
+32 QMainWindow::qt_metacall
+40 QMainWindow::~QMainWindow
+48 QMainWindow::~QMainWindow
+56 QMainWindow::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QWidget::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QWidget::paintEvent
+256 QWidget::moveEvent
+264 QWidget::resizeEvent
+272 QWidget::closeEvent
+280 QMainWindow::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QWidget::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QMainWindow::createPopupMenu
+456 (int (*)(...))-0x00000000000000010
+464 (int (*)(...))(& _ZTI11QMainWindow)
+472 QMainWindow::_ZThn16_N11QMainWindowD1Ev
+480 QMainWindow::_ZThn16_N11QMainWindowD0Ev
+488 QWidget::_ZThn16_NK7QWidget7devTypeEv
+496 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+504 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QMainWindow
+ size=40 align=8
+ base size=40 base align=8
+QMainWindow (0x7faaa6577230) 0
+ vptr=((& QMainWindow::_ZTV11QMainWindow) + 16u)
+ QWidget (0x7faaa656ba00) 0
+ primary-for QMainWindow (0x7faaa6577230)
+ QObject (0x7faaa65772a0) 0
+ primary-for QWidget (0x7faaa656ba00)
+ QPaintDevice (0x7faaa6577310) 16
+ vptr=((& QMainWindow::_ZTV11QMainWindow) + 472u)
+
+Vtable for QMdiArea
+QMdiArea::_ZTV8QMdiArea: 65u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI8QMdiArea)
+16 QMdiArea::metaObject
+24 QMdiArea::qt_metacast
+32 QMdiArea::qt_metacall
+40 QMdiArea::~QMdiArea
+48 QMdiArea::~QMdiArea
+56 QMdiArea::event
+64 QMdiArea::eventFilter
+72 QMdiArea::timerEvent
+80 QMdiArea::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QMdiArea::sizeHint
+136 QMdiArea::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QAbstractScrollArea::mousePressEvent
+168 QAbstractScrollArea::mouseReleaseEvent
+176 QAbstractScrollArea::mouseDoubleClickEvent
+184 QAbstractScrollArea::mouseMoveEvent
+192 QAbstractScrollArea::wheelEvent
+200 QAbstractScrollArea::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QMdiArea::paintEvent
+256 QWidget::moveEvent
+264 QMdiArea::resizeEvent
+272 QWidget::closeEvent
+280 QAbstractScrollArea::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QAbstractScrollArea::dragEnterEvent
+312 QAbstractScrollArea::dragMoveEvent
+320 QAbstractScrollArea::dragLeaveEvent
+328 QAbstractScrollArea::dropEvent
+336 QMdiArea::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QFrame::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QMdiArea::viewportEvent
+456 QMdiArea::scrollContentsBy
+464 (int (*)(...))-0x00000000000000010
+472 (int (*)(...))(& _ZTI8QMdiArea)
+480 QMdiArea::_ZThn16_N8QMdiAreaD1Ev
+488 QMdiArea::_ZThn16_N8QMdiAreaD0Ev
+496 QWidget::_ZThn16_NK7QWidget7devTypeEv
+504 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+512 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QMdiArea
+ size=40 align=8
+ base size=40 base align=8
+QMdiArea (0x7faaa63f4540) 0
+ vptr=((& QMdiArea::_ZTV8QMdiArea) + 16u)
+ QAbstractScrollArea (0x7faaa63f45b0) 0
+ primary-for QMdiArea (0x7faaa63f4540)
+ QFrame (0x7faaa63f4620) 0
+ primary-for QAbstractScrollArea (0x7faaa63f45b0)
+ QWidget (0x7faaa659dc00) 0
+ primary-for QFrame (0x7faaa63f4620)
+ QObject (0x7faaa63f4690) 0
+ primary-for QWidget (0x7faaa659dc00)
+ QPaintDevice (0x7faaa63f4700) 16
+ vptr=((& QMdiArea::_ZTV8QMdiArea) + 480u)
+
+Vtable for QMdiSubWindow
+QMdiSubWindow::_ZTV13QMdiSubWindow: 63u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QMdiSubWindow)
+16 QMdiSubWindow::metaObject
+24 QMdiSubWindow::qt_metacast
+32 QMdiSubWindow::qt_metacall
+40 QMdiSubWindow::~QMdiSubWindow
+48 QMdiSubWindow::~QMdiSubWindow
+56 QMdiSubWindow::event
+64 QMdiSubWindow::eventFilter
+72 QMdiSubWindow::timerEvent
+80 QMdiSubWindow::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QMdiSubWindow::sizeHint
+136 QMdiSubWindow::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QMdiSubWindow::mousePressEvent
+168 QMdiSubWindow::mouseReleaseEvent
+176 QMdiSubWindow::mouseDoubleClickEvent
+184 QMdiSubWindow::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QMdiSubWindow::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QMdiSubWindow::focusInEvent
+224 QMdiSubWindow::focusOutEvent
+232 QWidget::enterEvent
+240 QMdiSubWindow::leaveEvent
+248 QMdiSubWindow::paintEvent
+256 QMdiSubWindow::moveEvent
+264 QMdiSubWindow::resizeEvent
+272 QMdiSubWindow::closeEvent
+280 QMdiSubWindow::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QMdiSubWindow::showEvent
+344 QMdiSubWindow::hideEvent
+352 QWidget::x11Event
+360 QMdiSubWindow::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 (int (*)(...))-0x00000000000000010
+456 (int (*)(...))(& _ZTI13QMdiSubWindow)
+464 QMdiSubWindow::_ZThn16_N13QMdiSubWindowD1Ev
+472 QMdiSubWindow::_ZThn16_N13QMdiSubWindowD0Ev
+480 QWidget::_ZThn16_NK7QWidget7devTypeEv
+488 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+496 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QMdiSubWindow
+ size=40 align=8
+ base size=40 base align=8
+QMdiSubWindow (0x7faaa644ea80) 0
+ vptr=((& QMdiSubWindow::_ZTV13QMdiSubWindow) + 16u)
+ QWidget (0x7faaa63fef00) 0
+ primary-for QMdiSubWindow (0x7faaa644ea80)
+ QObject (0x7faaa644eaf0) 0
+ primary-for QWidget (0x7faaa63fef00)
+ QPaintDevice (0x7faaa644eb60) 16
+ vptr=((& QMdiSubWindow::_ZTV13QMdiSubWindow) + 464u)
+
+Vtable for QMenu
+QMenu::_ZTV5QMenu: 63u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI5QMenu)
+16 QMenu::metaObject
+24 QMenu::qt_metacast
+32 QMenu::qt_metacall
+40 QMenu::~QMenu
+48 QMenu::~QMenu
+56 QMenu::event
+64 QObject::eventFilter
+72 QMenu::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QMenu::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QMenu::mousePressEvent
+168 QMenu::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QMenu::mouseMoveEvent
+192 QMenu::wheelEvent
+200 QMenu::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QMenu::enterEvent
+240 QMenu::leaveEvent
+248 QMenu::paintEvent
+256 QWidget::moveEvent
+264 QWidget::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QMenu::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QMenu::hideEvent
+352 QWidget::x11Event
+360 QMenu::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QMenu::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 (int (*)(...))-0x00000000000000010
+456 (int (*)(...))(& _ZTI5QMenu)
+464 QMenu::_ZThn16_N5QMenuD1Ev
+472 QMenu::_ZThn16_N5QMenuD0Ev
+480 QWidget::_ZThn16_NK7QWidget7devTypeEv
+488 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+496 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QMenu
+ size=40 align=8
+ base size=40 base align=8
+QMenu (0x7faaa64c6930) 0
+ vptr=((& QMenu::_ZTV5QMenu) + 16u)
+ QWidget (0x7faaa62e9100) 0
+ primary-for QMenu (0x7faaa64c6930)
+ QObject (0x7faaa64c69a0) 0
+ primary-for QWidget (0x7faaa62e9100)
+ QPaintDevice (0x7faaa64c6a10) 16
+ vptr=((& QMenu::_ZTV5QMenu) + 464u)
+
+Vtable for QMenuBar
+QMenuBar::_ZTV8QMenuBar: 63u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI8QMenuBar)
+16 QMenuBar::metaObject
+24 QMenuBar::qt_metacast
+32 QMenuBar::qt_metacall
+40 QMenuBar::~QMenuBar
+48 QMenuBar::~QMenuBar
+56 QMenuBar::event
+64 QMenuBar::eventFilter
+72 QMenuBar::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QMenuBar::setVisible
+128 QMenuBar::sizeHint
+136 QMenuBar::minimumSizeHint
+144 QMenuBar::heightForWidth
+152 QWidget::paintEngine
+160 QMenuBar::mousePressEvent
+168 QMenuBar::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QMenuBar::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QMenuBar::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QMenuBar::focusInEvent
+224 QMenuBar::focusOutEvent
+232 QWidget::enterEvent
+240 QMenuBar::leaveEvent
+248 QMenuBar::paintEvent
+256 QWidget::moveEvent
+264 QMenuBar::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QMenuBar::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QMenuBar::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 (int (*)(...))-0x00000000000000010
+456 (int (*)(...))(& _ZTI8QMenuBar)
+464 QMenuBar::_ZThn16_N8QMenuBarD1Ev
+472 QMenuBar::_ZThn16_N8QMenuBarD0Ev
+480 QWidget::_ZThn16_NK7QWidget7devTypeEv
+488 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+496 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QMenuBar
+ size=40 align=8
+ base size=40 base align=8
+QMenuBar (0x7faaa638e770) 0
+ vptr=((& QMenuBar::_ZTV8QMenuBar) + 16u)
+ QWidget (0x7faaa638c980) 0
+ primary-for QMenuBar (0x7faaa638e770)
+ QObject (0x7faaa638e7e0) 0
+ primary-for QWidget (0x7faaa638c980)
+ QPaintDevice (0x7faaa638e850) 16
+ vptr=((& QMenuBar::_ZTV8QMenuBar) + 464u)
+
+Vtable for QMenuItem
+QMenuItem::_ZTV9QMenuItem: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QMenuItem)
+16 QMenuItem::metaObject
+24 QMenuItem::qt_metacast
+32 QMenuItem::qt_metacall
+40 QMenuItem::~QMenuItem
+48 QMenuItem::~QMenuItem
+56 QAction::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QMenuItem
+ size=16 align=8
+ base size=16 base align=8
+QMenuItem (0x7faaa622f4d0) 0
+ vptr=((& QMenuItem::_ZTV9QMenuItem) + 16u)
+ QAction (0x7faaa622f540) 0
+ primary-for QMenuItem (0x7faaa622f4d0)
+ QObject (0x7faaa622f5b0) 0
+ primary-for QAction (0x7faaa622f540)
+
+Class QTextEdit::ExtraSelection
+ size=24 align=8
+ base size=24 base align=8
+QTextEdit::ExtraSelection (0x7faaa624f700) 0
+
+Vtable for QTextEdit
+QTextEdit::_ZTV9QTextEdit: 69u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QTextEdit)
+16 QTextEdit::metaObject
+24 QTextEdit::qt_metacast
+32 QTextEdit::qt_metacall
+40 QTextEdit::~QTextEdit
+48 QTextEdit::~QTextEdit
+56 QTextEdit::event
+64 QObject::eventFilter
+72 QTextEdit::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QAbstractScrollArea::sizeHint
+136 QAbstractScrollArea::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QTextEdit::mousePressEvent
+168 QTextEdit::mouseReleaseEvent
+176 QTextEdit::mouseDoubleClickEvent
+184 QTextEdit::mouseMoveEvent
+192 QTextEdit::wheelEvent
+200 QTextEdit::keyPressEvent
+208 QTextEdit::keyReleaseEvent
+216 QTextEdit::focusInEvent
+224 QTextEdit::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QTextEdit::paintEvent
+256 QWidget::moveEvent
+264 QTextEdit::resizeEvent
+272 QWidget::closeEvent
+280 QTextEdit::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QTextEdit::dragEnterEvent
+312 QTextEdit::dragMoveEvent
+320 QTextEdit::dragLeaveEvent
+328 QTextEdit::dropEvent
+336 QTextEdit::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QTextEdit::changeEvent
+368 QWidget::metric
+376 QTextEdit::inputMethodEvent
+384 QTextEdit::inputMethodQuery
+392 QTextEdit::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QAbstractScrollArea::viewportEvent
+456 QTextEdit::scrollContentsBy
+464 QTextEdit::loadResource
+472 QTextEdit::createMimeDataFromSelection
+480 QTextEdit::canInsertFromMimeData
+488 QTextEdit::insertFromMimeData
+496 (int (*)(...))-0x00000000000000010
+504 (int (*)(...))(& _ZTI9QTextEdit)
+512 QTextEdit::_ZThn16_N9QTextEditD1Ev
+520 QTextEdit::_ZThn16_N9QTextEditD0Ev
+528 QWidget::_ZThn16_NK7QWidget7devTypeEv
+536 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+544 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QTextEdit
+ size=40 align=8
+ base size=40 base align=8
+QTextEdit (0x7faaa623f770) 0
+ vptr=((& QTextEdit::_ZTV9QTextEdit) + 16u)
+ QAbstractScrollArea (0x7faaa623f7e0) 0
+ primary-for QTextEdit (0x7faaa623f770)
+ QFrame (0x7faaa623f850) 0
+ primary-for QAbstractScrollArea (0x7faaa623f7e0)
+ QWidget (0x7faaa622cb00) 0
+ primary-for QFrame (0x7faaa623f850)
+ QObject (0x7faaa623f8c0) 0
+ primary-for QWidget (0x7faaa622cb00)
+ QPaintDevice (0x7faaa623f930) 16
+ vptr=((& QTextEdit::_ZTV9QTextEdit) + 512u)
+
+Vtable for QPlainTextEdit
+QPlainTextEdit::_ZTV14QPlainTextEdit: 69u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QPlainTextEdit)
+16 QPlainTextEdit::metaObject
+24 QPlainTextEdit::qt_metacast
+32 QPlainTextEdit::qt_metacall
+40 QPlainTextEdit::~QPlainTextEdit
+48 QPlainTextEdit::~QPlainTextEdit
+56 QPlainTextEdit::event
+64 QObject::eventFilter
+72 QPlainTextEdit::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QAbstractScrollArea::sizeHint
+136 QAbstractScrollArea::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QPlainTextEdit::mousePressEvent
+168 QPlainTextEdit::mouseReleaseEvent
+176 QPlainTextEdit::mouseDoubleClickEvent
+184 QPlainTextEdit::mouseMoveEvent
+192 QPlainTextEdit::wheelEvent
+200 QPlainTextEdit::keyPressEvent
+208 QPlainTextEdit::keyReleaseEvent
+216 QPlainTextEdit::focusInEvent
+224 QPlainTextEdit::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QPlainTextEdit::paintEvent
+256 QWidget::moveEvent
+264 QPlainTextEdit::resizeEvent
+272 QWidget::closeEvent
+280 QPlainTextEdit::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QPlainTextEdit::dragEnterEvent
+312 QPlainTextEdit::dragMoveEvent
+320 QPlainTextEdit::dragLeaveEvent
+328 QPlainTextEdit::dropEvent
+336 QPlainTextEdit::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QPlainTextEdit::changeEvent
+368 QWidget::metric
+376 QPlainTextEdit::inputMethodEvent
+384 QPlainTextEdit::inputMethodQuery
+392 QPlainTextEdit::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QAbstractScrollArea::viewportEvent
+456 QPlainTextEdit::scrollContentsBy
+464 QPlainTextEdit::loadResource
+472 QPlainTextEdit::createMimeDataFromSelection
+480 QPlainTextEdit::canInsertFromMimeData
+488 QPlainTextEdit::insertFromMimeData
+496 (int (*)(...))-0x00000000000000010
+504 (int (*)(...))(& _ZTI14QPlainTextEdit)
+512 QPlainTextEdit::_ZThn16_N14QPlainTextEditD1Ev
+520 QPlainTextEdit::_ZThn16_N14QPlainTextEditD0Ev
+528 QWidget::_ZThn16_NK7QWidget7devTypeEv
+536 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+544 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QPlainTextEdit
+ size=40 align=8
+ base size=40 base align=8
+QPlainTextEdit (0x7faaa60e68c0) 0
+ vptr=((& QPlainTextEdit::_ZTV14QPlainTextEdit) + 16u)
+ QAbstractScrollArea (0x7faaa60e6930) 0
+ primary-for QPlainTextEdit (0x7faaa60e68c0)
+ QFrame (0x7faaa60e69a0) 0
+ primary-for QAbstractScrollArea (0x7faaa60e6930)
+ QWidget (0x7faaa60e5400) 0
+ primary-for QFrame (0x7faaa60e69a0)
+ QObject (0x7faaa60e6a10) 0
+ primary-for QWidget (0x7faaa60e5400)
+ QPaintDevice (0x7faaa60e6a80) 16
+ vptr=((& QPlainTextEdit::_ZTV14QPlainTextEdit) + 512u)
+
+Vtable for QPlainTextDocumentLayout
+QPlainTextDocumentLayout::_ZTV24QPlainTextDocumentLayout: 24u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI24QPlainTextDocumentLayout)
+16 QPlainTextDocumentLayout::metaObject
+24 QPlainTextDocumentLayout::qt_metacast
+32 QPlainTextDocumentLayout::qt_metacall
+40 QPlainTextDocumentLayout::~QPlainTextDocumentLayout
+48 QPlainTextDocumentLayout::~QPlainTextDocumentLayout
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QPlainTextDocumentLayout::draw
+120 QPlainTextDocumentLayout::hitTest
+128 QPlainTextDocumentLayout::pageCount
+136 QPlainTextDocumentLayout::documentSize
+144 QPlainTextDocumentLayout::frameBoundingRect
+152 QPlainTextDocumentLayout::blockBoundingRect
+160 QPlainTextDocumentLayout::documentChanged
+168 QAbstractTextDocumentLayout::resizeInlineObject
+176 QAbstractTextDocumentLayout::positionInlineObject
+184 QAbstractTextDocumentLayout::drawInlineObject
+
+Class QPlainTextDocumentLayout
+ size=16 align=8
+ base size=16 base align=8
+QPlainTextDocumentLayout (0x7faaa6148690) 0
+ vptr=((& QPlainTextDocumentLayout::_ZTV24QPlainTextDocumentLayout) + 16u)
+ QAbstractTextDocumentLayout (0x7faaa6148700) 0
+ primary-for QPlainTextDocumentLayout (0x7faaa6148690)
+ QObject (0x7faaa6148770) 0
+ primary-for QAbstractTextDocumentLayout (0x7faaa6148700)
+
+Vtable for QPrintPreviewWidget
+QPrintPreviewWidget::_ZTV19QPrintPreviewWidget: 63u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QPrintPreviewWidget)
+16 QPrintPreviewWidget::metaObject
+24 QPrintPreviewWidget::qt_metacast
+32 QPrintPreviewWidget::qt_metacall
+40 QPrintPreviewWidget::~QPrintPreviewWidget
+48 QPrintPreviewWidget::~QPrintPreviewWidget
+56 QWidget::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QPrintPreviewWidget::setVisible
+128 QWidget::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QWidget::paintEvent
+256 QWidget::moveEvent
+264 QWidget::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QWidget::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 (int (*)(...))-0x00000000000000010
+456 (int (*)(...))(& _ZTI19QPrintPreviewWidget)
+464 QPrintPreviewWidget::_ZThn16_N19QPrintPreviewWidgetD1Ev
+472 QPrintPreviewWidget::_ZThn16_N19QPrintPreviewWidgetD0Ev
+480 QWidget::_ZThn16_NK7QWidget7devTypeEv
+488 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+496 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QPrintPreviewWidget
+ size=48 align=8
+ base size=48 base align=8
+QPrintPreviewWidget (0x7faaa6160b60) 0
+ vptr=((& QPrintPreviewWidget::_ZTV19QPrintPreviewWidget) + 16u)
+ QWidget (0x7faaa615c600) 0
+ primary-for QPrintPreviewWidget (0x7faaa6160b60)
+ QObject (0x7faaa6160bd0) 0
+ primary-for QWidget (0x7faaa615c600)
+ QPaintDevice (0x7faaa6160c40) 16
+ vptr=((& QPrintPreviewWidget::_ZTV19QPrintPreviewWidget) + 464u)
+
+Vtable for QProgressBar
+QProgressBar::_ZTV12QProgressBar: 64u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QProgressBar)
+16 QProgressBar::metaObject
+24 QProgressBar::qt_metacast
+32 QProgressBar::qt_metacall
+40 QProgressBar::~QProgressBar
+48 QProgressBar::~QProgressBar
+56 QProgressBar::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QProgressBar::sizeHint
+136 QProgressBar::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QProgressBar::paintEvent
+256 QWidget::moveEvent
+264 QWidget::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QWidget::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QProgressBar::text
+456 (int (*)(...))-0x00000000000000010
+464 (int (*)(...))(& _ZTI12QProgressBar)
+472 QProgressBar::_ZThn16_N12QProgressBarD1Ev
+480 QProgressBar::_ZThn16_N12QProgressBarD0Ev
+488 QWidget::_ZThn16_NK7QWidget7devTypeEv
+496 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+504 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QProgressBar
+ size=40 align=8
+ base size=40 base align=8
+QProgressBar (0x7faaa6183700) 0
+ vptr=((& QProgressBar::_ZTV12QProgressBar) + 16u)
+ QWidget (0x7faaa6186300) 0
+ primary-for QProgressBar (0x7faaa6183700)
+ QObject (0x7faaa6183770) 0
+ primary-for QWidget (0x7faaa6186300)
+ QPaintDevice (0x7faaa61837e0) 16
+ vptr=((& QProgressBar::_ZTV12QProgressBar) + 472u)
+
+Vtable for QRadioButton
+QRadioButton::_ZTV12QRadioButton: 66u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QRadioButton)
+16 QRadioButton::metaObject
+24 QRadioButton::qt_metacast
+32 QRadioButton::qt_metacall
+40 QRadioButton::~QRadioButton
+48 QRadioButton::~QRadioButton
+56 QRadioButton::event
+64 QObject::eventFilter
+72 QAbstractButton::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QRadioButton::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QAbstractButton::mousePressEvent
+168 QAbstractButton::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QRadioButton::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QAbstractButton::keyPressEvent
+208 QAbstractButton::keyReleaseEvent
+216 QAbstractButton::focusInEvent
+224 QAbstractButton::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QRadioButton::paintEvent
+256 QWidget::moveEvent
+264 QWidget::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QAbstractButton::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QRadioButton::hitButton
+456 QAbstractButton::checkStateSet
+464 QAbstractButton::nextCheckState
+472 (int (*)(...))-0x00000000000000010
+480 (int (*)(...))(& _ZTI12QRadioButton)
+488 QRadioButton::_ZThn16_N12QRadioButtonD1Ev
+496 QRadioButton::_ZThn16_N12QRadioButtonD0Ev
+504 QWidget::_ZThn16_NK7QWidget7devTypeEv
+512 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+520 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QRadioButton
+ size=40 align=8
+ base size=40 base align=8
+QRadioButton (0x7faaa61a7540) 0
+ vptr=((& QRadioButton::_ZTV12QRadioButton) + 16u)
+ QAbstractButton (0x7faaa61a75b0) 0
+ primary-for QRadioButton (0x7faaa61a7540)
+ QWidget (0x7faaa6186e00) 0
+ primary-for QAbstractButton (0x7faaa61a75b0)
+ QObject (0x7faaa61a7620) 0
+ primary-for QWidget (0x7faaa6186e00)
+ QPaintDevice (0x7faaa61a7690) 16
+ vptr=((& QRadioButton::_ZTV12QRadioButton) + 488u)
+
+Vtable for QScrollBar
+QScrollBar::_ZTV10QScrollBar: 64u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QScrollBar)
+16 QScrollBar::metaObject
+24 QScrollBar::qt_metacast
+32 QScrollBar::qt_metacall
+40 QScrollBar::~QScrollBar
+48 QScrollBar::~QScrollBar
+56 QScrollBar::event
+64 QObject::eventFilter
+72 QAbstractSlider::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QScrollBar::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QScrollBar::mousePressEvent
+168 QScrollBar::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QScrollBar::mouseMoveEvent
+192 QAbstractSlider::wheelEvent
+200 QAbstractSlider::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QScrollBar::paintEvent
+256 QWidget::moveEvent
+264 QWidget::resizeEvent
+272 QWidget::closeEvent
+280 QScrollBar::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QScrollBar::hideEvent
+352 QWidget::x11Event
+360 QAbstractSlider::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QScrollBar::sliderChange
+456 (int (*)(...))-0x00000000000000010
+464 (int (*)(...))(& _ZTI10QScrollBar)
+472 QScrollBar::_ZThn16_N10QScrollBarD1Ev
+480 QScrollBar::_ZThn16_N10QScrollBarD0Ev
+488 QWidget::_ZThn16_NK7QWidget7devTypeEv
+496 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+504 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QScrollBar
+ size=40 align=8
+ base size=40 base align=8
+QScrollBar (0x7faaa61c81c0) 0
+ vptr=((& QScrollBar::_ZTV10QScrollBar) + 16u)
+ QAbstractSlider (0x7faaa61c8230) 0
+ primary-for QScrollBar (0x7faaa61c81c0)
+ QWidget (0x7faaa61bd800) 0
+ primary-for QAbstractSlider (0x7faaa61c8230)
+ QObject (0x7faaa61c82a0) 0
+ primary-for QWidget (0x7faaa61bd800)
+ QPaintDevice (0x7faaa61c8310) 16
+ vptr=((& QScrollBar::_ZTV10QScrollBar) + 472u)
+
+Vtable for QSizeGrip
+QSizeGrip::_ZTV9QSizeGrip: 63u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QSizeGrip)
+16 QSizeGrip::metaObject
+24 QSizeGrip::qt_metacast
+32 QSizeGrip::qt_metacall
+40 QSizeGrip::~QSizeGrip
+48 QSizeGrip::~QSizeGrip
+56 QSizeGrip::event
+64 QSizeGrip::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QSizeGrip::setVisible
+128 QSizeGrip::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QSizeGrip::mousePressEvent
+168 QSizeGrip::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QSizeGrip::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QSizeGrip::paintEvent
+256 QSizeGrip::moveEvent
+264 QWidget::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QSizeGrip::showEvent
+344 QSizeGrip::hideEvent
+352 QWidget::x11Event
+360 QWidget::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 (int (*)(...))-0x00000000000000010
+456 (int (*)(...))(& _ZTI9QSizeGrip)
+464 QSizeGrip::_ZThn16_N9QSizeGripD1Ev
+472 QSizeGrip::_ZThn16_N9QSizeGripD0Ev
+480 QWidget::_ZThn16_NK7QWidget7devTypeEv
+488 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+496 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QSizeGrip
+ size=40 align=8
+ base size=40 base align=8
+QSizeGrip (0x7faaa5fe6310) 0
+ vptr=((& QSizeGrip::_ZTV9QSizeGrip) + 16u)
+ QWidget (0x7faaa5fe4380) 0
+ primary-for QSizeGrip (0x7faaa5fe6310)
+ QObject (0x7faaa5fe6380) 0
+ primary-for QWidget (0x7faaa5fe4380)
+ QPaintDevice (0x7faaa5fe63f0) 16
+ vptr=((& QSizeGrip::_ZTV9QSizeGrip) + 464u)
+
+Vtable for QSpinBox
+QSpinBox::_ZTV8QSpinBox: 70u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI8QSpinBox)
+16 QSpinBox::metaObject
+24 QSpinBox::qt_metacast
+32 QSpinBox::qt_metacall
+40 QSpinBox::~QSpinBox
+48 QSpinBox::~QSpinBox
+56 QSpinBox::event
+64 QObject::eventFilter
+72 QAbstractSpinBox::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QAbstractSpinBox::sizeHint
+136 QAbstractSpinBox::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QAbstractSpinBox::mousePressEvent
+168 QAbstractSpinBox::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QAbstractSpinBox::mouseMoveEvent
+192 QAbstractSpinBox::wheelEvent
+200 QAbstractSpinBox::keyPressEvent
+208 QAbstractSpinBox::keyReleaseEvent
+216 QAbstractSpinBox::focusInEvent
+224 QAbstractSpinBox::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QAbstractSpinBox::paintEvent
+256 QWidget::moveEvent
+264 QAbstractSpinBox::resizeEvent
+272 QAbstractSpinBox::closeEvent
+280 QAbstractSpinBox::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QAbstractSpinBox::showEvent
+344 QAbstractSpinBox::hideEvent
+352 QWidget::x11Event
+360 QAbstractSpinBox::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QAbstractSpinBox::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QSpinBox::validate
+456 QSpinBox::fixup
+464 QAbstractSpinBox::stepBy
+472 QAbstractSpinBox::clear
+480 QAbstractSpinBox::stepEnabled
+488 QSpinBox::valueFromText
+496 QSpinBox::textFromValue
+504 (int (*)(...))-0x00000000000000010
+512 (int (*)(...))(& _ZTI8QSpinBox)
+520 QSpinBox::_ZThn16_N8QSpinBoxD1Ev
+528 QSpinBox::_ZThn16_N8QSpinBoxD0Ev
+536 QWidget::_ZThn16_NK7QWidget7devTypeEv
+544 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+552 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QSpinBox
+ size=40 align=8
+ base size=40 base align=8
+QSpinBox (0x7faaa5ffde00) 0
+ vptr=((& QSpinBox::_ZTV8QSpinBox) + 16u)
+ QAbstractSpinBox (0x7faaa5ffde70) 0
+ primary-for QSpinBox (0x7faaa5ffde00)
+ QWidget (0x7faaa5fe4d80) 0
+ primary-for QAbstractSpinBox (0x7faaa5ffde70)
+ QObject (0x7faaa5ffdee0) 0
+ primary-for QWidget (0x7faaa5fe4d80)
+ QPaintDevice (0x7faaa5ffdf50) 16
+ vptr=((& QSpinBox::_ZTV8QSpinBox) + 520u)
+
+Vtable for QDoubleSpinBox
+QDoubleSpinBox::_ZTV14QDoubleSpinBox: 70u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QDoubleSpinBox)
+16 QDoubleSpinBox::metaObject
+24 QDoubleSpinBox::qt_metacast
+32 QDoubleSpinBox::qt_metacall
+40 QDoubleSpinBox::~QDoubleSpinBox
+48 QDoubleSpinBox::~QDoubleSpinBox
+56 QAbstractSpinBox::event
+64 QObject::eventFilter
+72 QAbstractSpinBox::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QAbstractSpinBox::sizeHint
+136 QAbstractSpinBox::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QAbstractSpinBox::mousePressEvent
+168 QAbstractSpinBox::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QAbstractSpinBox::mouseMoveEvent
+192 QAbstractSpinBox::wheelEvent
+200 QAbstractSpinBox::keyPressEvent
+208 QAbstractSpinBox::keyReleaseEvent
+216 QAbstractSpinBox::focusInEvent
+224 QAbstractSpinBox::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QAbstractSpinBox::paintEvent
+256 QWidget::moveEvent
+264 QAbstractSpinBox::resizeEvent
+272 QAbstractSpinBox::closeEvent
+280 QAbstractSpinBox::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QAbstractSpinBox::showEvent
+344 QAbstractSpinBox::hideEvent
+352 QWidget::x11Event
+360 QAbstractSpinBox::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QAbstractSpinBox::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QDoubleSpinBox::validate
+456 QDoubleSpinBox::fixup
+464 QAbstractSpinBox::stepBy
+472 QAbstractSpinBox::clear
+480 QAbstractSpinBox::stepEnabled
+488 QDoubleSpinBox::valueFromText
+496 QDoubleSpinBox::textFromValue
+504 (int (*)(...))-0x00000000000000010
+512 (int (*)(...))(& _ZTI14QDoubleSpinBox)
+520 QDoubleSpinBox::_ZThn16_N14QDoubleSpinBoxD1Ev
+528 QDoubleSpinBox::_ZThn16_N14QDoubleSpinBoxD0Ev
+536 QWidget::_ZThn16_NK7QWidget7devTypeEv
+544 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+552 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QDoubleSpinBox
+ size=40 align=8
+ base size=40 base align=8
+QDoubleSpinBox (0x7faaa6029770) 0
+ vptr=((& QDoubleSpinBox::_ZTV14QDoubleSpinBox) + 16u)
+ QAbstractSpinBox (0x7faaa60297e0) 0
+ primary-for QDoubleSpinBox (0x7faaa6029770)
+ QWidget (0x7faaa601df00) 0
+ primary-for QAbstractSpinBox (0x7faaa60297e0)
+ QObject (0x7faaa6029850) 0
+ primary-for QWidget (0x7faaa601df00)
+ QPaintDevice (0x7faaa60298c0) 16
+ vptr=((& QDoubleSpinBox::_ZTV14QDoubleSpinBox) + 520u)
+
+Vtable for QSplashScreen
+QSplashScreen::_ZTV13QSplashScreen: 64u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QSplashScreen)
+16 QSplashScreen::metaObject
+24 QSplashScreen::qt_metacast
+32 QSplashScreen::qt_metacall
+40 QSplashScreen::~QSplashScreen
+48 QSplashScreen::~QSplashScreen
+56 QSplashScreen::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QWidget::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QSplashScreen::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QWidget::paintEvent
+256 QWidget::moveEvent
+264 QWidget::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QWidget::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QSplashScreen::drawContents
+456 (int (*)(...))-0x00000000000000010
+464 (int (*)(...))(& _ZTI13QSplashScreen)
+472 QSplashScreen::_ZThn16_N13QSplashScreenD1Ev
+480 QSplashScreen::_ZThn16_N13QSplashScreenD0Ev
+488 QWidget::_ZThn16_NK7QWidget7devTypeEv
+496 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+504 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QSplashScreen
+ size=40 align=8
+ base size=40 base align=8
+QSplashScreen (0x7faaa6049230) 0
+ vptr=((& QSplashScreen::_ZTV13QSplashScreen) + 16u)
+ QWidget (0x7faaa602c900) 0
+ primary-for QSplashScreen (0x7faaa6049230)
+ QObject (0x7faaa60492a0) 0
+ primary-for QWidget (0x7faaa602c900)
+ QPaintDevice (0x7faaa6049310) 16
+ vptr=((& QSplashScreen::_ZTV13QSplashScreen) + 472u)
+
+Vtable for QSplitter
+QSplitter::_ZTV9QSplitter: 64u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QSplitter)
+16 QSplitter::metaObject
+24 QSplitter::qt_metacast
+32 QSplitter::qt_metacall
+40 QSplitter::~QSplitter
+48 QSplitter::~QSplitter
+56 QSplitter::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QSplitter::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QSplitter::sizeHint
+136 QSplitter::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QFrame::paintEvent
+256 QWidget::moveEvent
+264 QSplitter::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QSplitter::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QSplitter::createHandle
+456 (int (*)(...))-0x00000000000000010
+464 (int (*)(...))(& _ZTI9QSplitter)
+472 QSplitter::_ZThn16_N9QSplitterD1Ev
+480 QSplitter::_ZThn16_N9QSplitterD0Ev
+488 QWidget::_ZThn16_NK7QWidget7devTypeEv
+496 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+504 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QSplitter
+ size=40 align=8
+ base size=40 base align=8
+QSplitter (0x7faaa606b310) 0
+ vptr=((& QSplitter::_ZTV9QSplitter) + 16u)
+ QFrame (0x7faaa606b380) 0
+ primary-for QSplitter (0x7faaa606b310)
+ QWidget (0x7faaa6066580) 0
+ primary-for QFrame (0x7faaa606b380)
+ QObject (0x7faaa606b3f0) 0
+ primary-for QWidget (0x7faaa6066580)
+ QPaintDevice (0x7faaa606b460) 16
+ vptr=((& QSplitter::_ZTV9QSplitter) + 472u)
+
+Vtable for QSplitterHandle
+QSplitterHandle::_ZTV15QSplitterHandle: 63u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QSplitterHandle)
+16 QSplitterHandle::metaObject
+24 QSplitterHandle::qt_metacast
+32 QSplitterHandle::qt_metacall
+40 QSplitterHandle::~QSplitterHandle
+48 QSplitterHandle::~QSplitterHandle
+56 QSplitterHandle::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QSplitterHandle::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QSplitterHandle::mousePressEvent
+168 QSplitterHandle::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QSplitterHandle::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QSplitterHandle::paintEvent
+256 QWidget::moveEvent
+264 QWidget::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QWidget::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 (int (*)(...))-0x00000000000000010
+456 (int (*)(...))(& _ZTI15QSplitterHandle)
+464 QSplitterHandle::_ZThn16_N15QSplitterHandleD1Ev
+472 QSplitterHandle::_ZThn16_N15QSplitterHandleD0Ev
+480 QWidget::_ZThn16_NK7QWidget7devTypeEv
+488 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+496 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QSplitterHandle
+ size=40 align=8
+ base size=40 base align=8
+QSplitterHandle (0x7faaa6097230) 0
+ vptr=((& QSplitterHandle::_ZTV15QSplitterHandle) + 16u)
+ QWidget (0x7faaa6094780) 0
+ primary-for QSplitterHandle (0x7faaa6097230)
+ QObject (0x7faaa60972a0) 0
+ primary-for QWidget (0x7faaa6094780)
+ QPaintDevice (0x7faaa6097310) 16
+ vptr=((& QSplitterHandle::_ZTV15QSplitterHandle) + 464u)
+
+Vtable for QStackedWidget
+QStackedWidget::_ZTV14QStackedWidget: 63u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QStackedWidget)
+16 QStackedWidget::metaObject
+24 QStackedWidget::qt_metacast
+32 QStackedWidget::qt_metacall
+40 QStackedWidget::~QStackedWidget
+48 QStackedWidget::~QStackedWidget
+56 QStackedWidget::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QFrame::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QFrame::paintEvent
+256 QWidget::moveEvent
+264 QWidget::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QFrame::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 (int (*)(...))-0x00000000000000010
+456 (int (*)(...))(& _ZTI14QStackedWidget)
+464 QStackedWidget::_ZThn16_N14QStackedWidgetD1Ev
+472 QStackedWidget::_ZThn16_N14QStackedWidgetD0Ev
+480 QWidget::_ZThn16_NK7QWidget7devTypeEv
+488 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+496 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QStackedWidget
+ size=40 align=8
+ base size=40 base align=8
+QStackedWidget (0x7faaa60b3a10) 0
+ vptr=((& QStackedWidget::_ZTV14QStackedWidget) + 16u)
+ QFrame (0x7faaa60b3a80) 0
+ primary-for QStackedWidget (0x7faaa60b3a10)
+ QWidget (0x7faaa60b5180) 0
+ primary-for QFrame (0x7faaa60b3a80)
+ QObject (0x7faaa60b3af0) 0
+ primary-for QWidget (0x7faaa60b5180)
+ QPaintDevice (0x7faaa60b3b60) 16
+ vptr=((& QStackedWidget::_ZTV14QStackedWidget) + 464u)
+
+Vtable for QStatusBar
+QStatusBar::_ZTV10QStatusBar: 63u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QStatusBar)
+16 QStatusBar::metaObject
+24 QStatusBar::qt_metacast
+32 QStatusBar::qt_metacall
+40 QStatusBar::~QStatusBar
+48 QStatusBar::~QStatusBar
+56 QStatusBar::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QWidget::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QStatusBar::paintEvent
+256 QWidget::moveEvent
+264 QStatusBar::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QStatusBar::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QWidget::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 (int (*)(...))-0x00000000000000010
+456 (int (*)(...))(& _ZTI10QStatusBar)
+464 QStatusBar::_ZThn16_N10QStatusBarD1Ev
+472 QStatusBar::_ZThn16_N10QStatusBarD0Ev
+480 QWidget::_ZThn16_NK7QWidget7devTypeEv
+488 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+496 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QStatusBar
+ size=40 align=8
+ base size=40 base align=8
+QStatusBar (0x7faaa5ece8c0) 0
+ vptr=((& QStatusBar::_ZTV10QStatusBar) + 16u)
+ QWidget (0x7faaa60b5b80) 0
+ primary-for QStatusBar (0x7faaa5ece8c0)
+ QObject (0x7faaa5ece930) 0
+ primary-for QWidget (0x7faaa60b5b80)
+ QPaintDevice (0x7faaa5ece9a0) 16
+ vptr=((& QStatusBar::_ZTV10QStatusBar) + 464u)
+
+Vtable for QTextBrowser
+QTextBrowser::_ZTV12QTextBrowser: 74u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QTextBrowser)
+16 QTextBrowser::metaObject
+24 QTextBrowser::qt_metacast
+32 QTextBrowser::qt_metacall
+40 QTextBrowser::~QTextBrowser
+48 QTextBrowser::~QTextBrowser
+56 QTextBrowser::event
+64 QObject::eventFilter
+72 QTextEdit::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QAbstractScrollArea::sizeHint
+136 QAbstractScrollArea::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QTextBrowser::mousePressEvent
+168 QTextBrowser::mouseReleaseEvent
+176 QTextEdit::mouseDoubleClickEvent
+184 QTextBrowser::mouseMoveEvent
+192 QTextEdit::wheelEvent
+200 QTextBrowser::keyPressEvent
+208 QTextEdit::keyReleaseEvent
+216 QTextEdit::focusInEvent
+224 QTextBrowser::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QTextBrowser::paintEvent
+256 QWidget::moveEvent
+264 QTextEdit::resizeEvent
+272 QWidget::closeEvent
+280 QTextEdit::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QTextEdit::dragEnterEvent
+312 QTextEdit::dragMoveEvent
+320 QTextEdit::dragLeaveEvent
+328 QTextEdit::dropEvent
+336 QTextEdit::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QTextEdit::changeEvent
+368 QWidget::metric
+376 QTextEdit::inputMethodEvent
+384 QTextEdit::inputMethodQuery
+392 QTextBrowser::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QAbstractScrollArea::viewportEvent
+456 QTextEdit::scrollContentsBy
+464 QTextBrowser::loadResource
+472 QTextEdit::createMimeDataFromSelection
+480 QTextEdit::canInsertFromMimeData
+488 QTextEdit::insertFromMimeData
+496 QTextBrowser::setSource
+504 QTextBrowser::backward
+512 QTextBrowser::forward
+520 QTextBrowser::home
+528 QTextBrowser::reload
+536 (int (*)(...))-0x00000000000000010
+544 (int (*)(...))(& _ZTI12QTextBrowser)
+552 QTextBrowser::_ZThn16_N12QTextBrowserD1Ev
+560 QTextBrowser::_ZThn16_N12QTextBrowserD0Ev
+568 QWidget::_ZThn16_NK7QWidget7devTypeEv
+576 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+584 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QTextBrowser
+ size=40 align=8
+ base size=40 base align=8
+QTextBrowser (0x7faaa5ef0e00) 0
+ vptr=((& QTextBrowser::_ZTV12QTextBrowser) + 16u)
+ QTextEdit (0x7faaa5ef0e70) 0
+ primary-for QTextBrowser (0x7faaa5ef0e00)
+ QAbstractScrollArea (0x7faaa5ef0ee0) 0
+ primary-for QTextEdit (0x7faaa5ef0e70)
+ QFrame (0x7faaa5ef0f50) 0
+ primary-for QAbstractScrollArea (0x7faaa5ef0ee0)
+ QWidget (0x7faaa5eebb80) 0
+ primary-for QFrame (0x7faaa5ef0f50)
+ QObject (0x7faaa5ef5000) 0
+ primary-for QWidget (0x7faaa5eebb80)
+ QPaintDevice (0x7faaa5ef5070) 16
+ vptr=((& QTextBrowser::_ZTV12QTextBrowser) + 552u)
+
+Vtable for QToolBar
+QToolBar::_ZTV8QToolBar: 63u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI8QToolBar)
+16 QToolBar::metaObject
+24 QToolBar::qt_metacast
+32 QToolBar::qt_metacall
+40 QToolBar::~QToolBar
+48 QToolBar::~QToolBar
+56 QToolBar::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QToolBar::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QWidget::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QToolBar::paintEvent
+256 QWidget::moveEvent
+264 QToolBar::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QToolBar::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QToolBar::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 (int (*)(...))-0x00000000000000010
+456 (int (*)(...))(& _ZTI8QToolBar)
+464 QToolBar::_ZThn16_N8QToolBarD1Ev
+472 QToolBar::_ZThn16_N8QToolBarD0Ev
+480 QWidget::_ZThn16_NK7QWidget7devTypeEv
+488 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+496 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QToolBar
+ size=40 align=8
+ base size=40 base align=8
+QToolBar (0x7faaa5f15a10) 0
+ vptr=((& QToolBar::_ZTV8QToolBar) + 16u)
+ QWidget (0x7faaa5f11580) 0
+ primary-for QToolBar (0x7faaa5f15a10)
+ QObject (0x7faaa5f15a80) 0
+ primary-for QWidget (0x7faaa5f11580)
+ QPaintDevice (0x7faaa5f15af0) 16
+ vptr=((& QToolBar::_ZTV8QToolBar) + 464u)
+
+Vtable for QToolBox
+QToolBox::_ZTV8QToolBox: 65u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI8QToolBox)
+16 QToolBox::metaObject
+24 QToolBox::qt_metacast
+32 QToolBox::qt_metacall
+40 QToolBox::~QToolBox
+48 QToolBox::~QToolBox
+56 QToolBox::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QFrame::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QFrame::paintEvent
+256 QWidget::moveEvent
+264 QWidget::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QToolBox::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QToolBox::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QToolBox::itemInserted
+456 QToolBox::itemRemoved
+464 (int (*)(...))-0x00000000000000010
+472 (int (*)(...))(& _ZTI8QToolBox)
+480 QToolBox::_ZThn16_N8QToolBoxD1Ev
+488 QToolBox::_ZThn16_N8QToolBoxD0Ev
+496 QWidget::_ZThn16_NK7QWidget7devTypeEv
+504 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+512 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QToolBox
+ size=40 align=8
+ base size=40 base align=8
+QToolBox (0x7faaa5f51850) 0
+ vptr=((& QToolBox::_ZTV8QToolBox) + 16u)
+ QFrame (0x7faaa5f518c0) 0
+ primary-for QToolBox (0x7faaa5f51850)
+ QWidget (0x7faaa5f4e680) 0
+ primary-for QFrame (0x7faaa5f518c0)
+ QObject (0x7faaa5f51930) 0
+ primary-for QWidget (0x7faaa5f4e680)
+ QPaintDevice (0x7faaa5f519a0) 16
+ vptr=((& QToolBox::_ZTV8QToolBox) + 480u)
+
+Vtable for QToolButton
+QToolButton::_ZTV11QToolButton: 66u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QToolButton)
+16 QToolButton::metaObject
+24 QToolButton::qt_metacast
+32 QToolButton::qt_metacall
+40 QToolButton::~QToolButton
+48 QToolButton::~QToolButton
+56 QToolButton::event
+64 QObject::eventFilter
+72 QToolButton::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QToolButton::sizeHint
+136 QToolButton::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QToolButton::mousePressEvent
+168 QToolButton::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QAbstractButton::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QAbstractButton::keyPressEvent
+208 QAbstractButton::keyReleaseEvent
+216 QAbstractButton::focusInEvent
+224 QAbstractButton::focusOutEvent
+232 QToolButton::enterEvent
+240 QToolButton::leaveEvent
+248 QToolButton::paintEvent
+256 QWidget::moveEvent
+264 QWidget::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QToolButton::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QToolButton::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QToolButton::hitButton
+456 QAbstractButton::checkStateSet
+464 QToolButton::nextCheckState
+472 (int (*)(...))-0x00000000000000010
+480 (int (*)(...))(& _ZTI11QToolButton)
+488 QToolButton::_ZThn16_N11QToolButtonD1Ev
+496 QToolButton::_ZThn16_N11QToolButtonD0Ev
+504 QWidget::_ZThn16_NK7QWidget7devTypeEv
+512 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+520 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QToolButton
+ size=40 align=8
+ base size=40 base align=8
+QToolButton (0x7faaa5f89310) 0
+ vptr=((& QToolButton::_ZTV11QToolButton) + 16u)
+ QAbstractButton (0x7faaa5f89380) 0
+ primary-for QToolButton (0x7faaa5f89310)
+ QWidget (0x7faaa5f86400) 0
+ primary-for QAbstractButton (0x7faaa5f89380)
+ QObject (0x7faaa5f893f0) 0
+ primary-for QWidget (0x7faaa5f86400)
+ QPaintDevice (0x7faaa5f89460) 16
+ vptr=((& QToolButton::_ZTV11QToolButton) + 488u)
+
+Vtable for QWorkspace
+QWorkspace::_ZTV10QWorkspace: 63u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QWorkspace)
+16 QWorkspace::metaObject
+24 QWorkspace::qt_metacast
+32 QWorkspace::qt_metacall
+40 QWorkspace::~QWorkspace
+48 QWorkspace::~QWorkspace
+56 QWorkspace::event
+64 QWorkspace::eventFilter
+72 QObject::timerEvent
+80 QWorkspace::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QWorkspace::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWorkspace::wheelEvent
+200 QWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QWorkspace::paintEvent
+256 QWidget::moveEvent
+264 QWorkspace::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWorkspace::showEvent
+344 QWorkspace::hideEvent
+352 QWidget::x11Event
+360 QWorkspace::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 (int (*)(...))-0x00000000000000010
+456 (int (*)(...))(& _ZTI10QWorkspace)
+464 QWorkspace::_ZThn16_N10QWorkspaceD1Ev
+472 QWorkspace::_ZThn16_N10QWorkspaceD0Ev
+480 QWidget::_ZThn16_NK7QWidget7devTypeEv
+488 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+496 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QWorkspace
+ size=40 align=8
+ base size=40 base align=8
+QWorkspace (0x7faaa5dce620) 0
+ vptr=((& QWorkspace::_ZTV10QWorkspace) + 16u)
+ QWidget (0x7faaa5dd2100) 0
+ primary-for QWorkspace (0x7faaa5dce620)
+ QObject (0x7faaa5dce690) 0
+ primary-for QWidget (0x7faaa5dd2100)
+ QPaintDevice (0x7faaa5dce700) 16
+ vptr=((& QWorkspace::_ZTV10QWorkspace) + 464u)
+
+Class QScriptable
+ size=8 align=8
+ base size=8 base align=8
+QScriptable (0x7faaa5df2700) 0
+
+Class QScriptValue
+ size=8 align=8
+ base size=8 base align=8
+QScriptValue (0x7faaa5e062a0) 0
+
+Vtable for QScriptClass
+QScriptClass::_ZTV12QScriptClass: 13u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QScriptClass)
+16 QScriptClass::~QScriptClass
+24 QScriptClass::~QScriptClass
+32 QScriptClass::queryProperty
+40 QScriptClass::property
+48 QScriptClass::setProperty
+56 QScriptClass::propertyFlags
+64 QScriptClass::newIterator
+72 QScriptClass::prototype
+80 QScriptClass::name
+88 QScriptClass::supportsExtension
+96 QScriptClass::extension
+
+Class QScriptClass
+ size=16 align=8
+ base size=16 base align=8
+QScriptClass (0x7faaa5ce8e00) 0
+ vptr=((& QScriptClass::_ZTV12QScriptClass) + 16u)
+
+Vtable for QScriptClassPropertyIterator
+QScriptClassPropertyIterator::_ZTV28QScriptClassPropertyIterator: 13u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI28QScriptClassPropertyIterator)
+16 QScriptClassPropertyIterator::~QScriptClassPropertyIterator
+24 QScriptClassPropertyIterator::~QScriptClassPropertyIterator
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+48 __cxa_pure_virtual
+56 __cxa_pure_virtual
+64 __cxa_pure_virtual
+72 __cxa_pure_virtual
+80 __cxa_pure_virtual
+88 QScriptClassPropertyIterator::id
+96 QScriptClassPropertyIterator::flags
+
+Class QScriptClassPropertyIterator
+ size=16 align=8
+ base size=16 base align=8
+QScriptClassPropertyIterator (0x7faaa5d58e00) 0
+ vptr=((& QScriptClassPropertyIterator::_ZTV28QScriptClassPropertyIterator) + 16u)
+
+Class QScriptContext
+ size=8 align=8
+ base size=8 base align=8
+QScriptContext (0x7faaa5d7fc40) 0
+
+Class QScriptContextInfo
+ size=8 align=8
+ base size=8 base align=8
+QScriptContextInfo (0x7faaa5d9aa10) 0
+
+Class QScriptString
+ size=8 align=8
+ base size=8 base align=8
+QScriptString (0x7faaa5da2cb0) 0
+
+Class QScriptProgram
+ size=8 align=8
+ base size=8 base align=8
+QScriptProgram (0x7faaa5db8a10) 0
+
+Class QScriptSyntaxCheckResult
+ size=8 align=8
+ base size=8 base align=8
+QScriptSyntaxCheckResult (0x7faaa5bd18c0) 0
+
+Vtable for QScriptEngine
+QScriptEngine::_ZTV13QScriptEngine: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QScriptEngine)
+16 QScriptEngine::metaObject
+24 QScriptEngine::qt_metacast
+32 QScriptEngine::qt_metacall
+40 QScriptEngine::~QScriptEngine
+48 QScriptEngine::~QScriptEngine
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QScriptEngine
+ size=16 align=8
+ base size=16 base align=8
+QScriptEngine (0x7faaa5bf85b0) 0
+ vptr=((& QScriptEngine::_ZTV13QScriptEngine) + 16u)
+ QObject (0x7faaa5bf8620) 0
+ primary-for QScriptEngine (0x7faaa5bf85b0)
+
+Vtable for QScriptEngineAgent
+QScriptEngineAgent::_ZTV18QScriptEngineAgent: 15u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QScriptEngineAgent)
+16 QScriptEngineAgent::~QScriptEngineAgent
+24 QScriptEngineAgent::~QScriptEngineAgent
+32 QScriptEngineAgent::scriptLoad
+40 QScriptEngineAgent::scriptUnload
+48 QScriptEngineAgent::contextPush
+56 QScriptEngineAgent::contextPop
+64 QScriptEngineAgent::functionEntry
+72 QScriptEngineAgent::functionExit
+80 QScriptEngineAgent::positionChange
+88 QScriptEngineAgent::exceptionThrow
+96 QScriptEngineAgent::exceptionCatch
+104 QScriptEngineAgent::supportsExtension
+112 QScriptEngineAgent::extension
+
+Class QScriptEngineAgent
+ size=16 align=8
+ base size=16 base align=8
+QScriptEngineAgent (0x7faaa5c7de00) 0
+ vptr=((& QScriptEngineAgent::_ZTV18QScriptEngineAgent) + 16u)
+
+Vtable for QScriptExtensionInterface
+QScriptExtensionInterface::_ZTV25QScriptExtensionInterface: 6u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI25QScriptExtensionInterface)
+16 QScriptExtensionInterface::~QScriptExtensionInterface
+24 QScriptExtensionInterface::~QScriptExtensionInterface
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+
+Class QScriptExtensionInterface
+ size=8 align=8
+ base size=8 base align=8
+QScriptExtensionInterface (0x7faaa5ca9c40) 0 nearly-empty
+ vptr=((& QScriptExtensionInterface::_ZTV25QScriptExtensionInterface) + 16u)
+ QFactoryInterface (0x7faaa5ca9cb0) 0 nearly-empty
+ primary-for QScriptExtensionInterface (0x7faaa5ca9c40)
+
+Vtable for QScriptExtensionPlugin
+QScriptExtensionPlugin::_ZTV22QScriptExtensionPlugin: 22u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI22QScriptExtensionPlugin)
+16 QScriptExtensionPlugin::metaObject
+24 QScriptExtensionPlugin::qt_metacast
+32 QScriptExtensionPlugin::qt_metacall
+40 QScriptExtensionPlugin::~QScriptExtensionPlugin
+48 QScriptExtensionPlugin::~QScriptExtensionPlugin
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 (int (*)(...))-0x00000000000000010
+136 (int (*)(...))(& _ZTI22QScriptExtensionPlugin)
+144 QScriptExtensionPlugin::_ZThn16_N22QScriptExtensionPluginD1Ev
+152 QScriptExtensionPlugin::_ZThn16_N22QScriptExtensionPluginD0Ev
+160 __cxa_pure_virtual
+168 __cxa_pure_virtual
+
+Class QScriptExtensionPlugin
+ size=24 align=8
+ base size=24 base align=8
+QScriptExtensionPlugin (0x7faaa5cb4d00) 0
+ vptr=((& QScriptExtensionPlugin::_ZTV22QScriptExtensionPlugin) + 16u)
+ QObject (0x7faaa5cc25b0) 0
+ primary-for QScriptExtensionPlugin (0x7faaa5cb4d00)
+ QScriptExtensionInterface (0x7faaa5cc2620) 16 nearly-empty
+ vptr=((& QScriptExtensionPlugin::_ZTV22QScriptExtensionPlugin) + 144u)
+ QFactoryInterface (0x7faaa5cc2690) 16 nearly-empty
+ primary-for QScriptExtensionInterface (0x7faaa5cc2620)
+
+Class QScriptValueIterator
+ size=8 align=8
+ base size=8 base align=8
+QScriptValueIterator (0x7faaa5ad6540) 0
+
+Vtable for QScriptEngineDebugger
+QScriptEngineDebugger::_ZTV21QScriptEngineDebugger: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI21QScriptEngineDebugger)
+16 QScriptEngineDebugger::metaObject
+24 QScriptEngineDebugger::qt_metacast
+32 QScriptEngineDebugger::qt_metacall
+40 QScriptEngineDebugger::~QScriptEngineDebugger
+48 QScriptEngineDebugger::~QScriptEngineDebugger
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QScriptEngineDebugger
+ size=16 align=8
+ base size=16 base align=8
+QScriptEngineDebugger (0x7faaa5ae93f0) 0
+ vptr=((& QScriptEngineDebugger::_ZTV21QScriptEngineDebugger) + 16u)
+ QObject (0x7faaa5ae9460) 0
+ primary-for QScriptEngineDebugger (0x7faaa5ae93f0)
+
diff --git a/tests/auto/bic/data/QtSql.4.5.0.linux-gcc-amd64.txt b/tests/auto/bic/data/QtSql.4.5.0.linux-gcc-amd64.txt
new file mode 100644
index 0000000000..49e295c284
--- /dev/null
+++ b/tests/auto/bic/data/QtSql.4.5.0.linux-gcc-amd64.txt
@@ -0,0 +1,2735 @@
+Class QSysInfo
+ size=1 align=1
+ base size=0 base align=1
+QSysInfo (0x7f5e1d3ed460) 0 empty
+
+Class QBool
+ size=1 align=1
+ base size=1 base align=1
+QBool (0x7f5e1d401150) 0
+
+Class qIsNull(double)::U
+ size=8 align=8
+ base size=8 base align=8
+qIsNull(double)::U (0x7f5e1d418540) 0
+
+Class qIsNull(float)::U
+ size=4 align=4
+ base size=4 base align=4
+qIsNull(float)::U (0x7f5e1d4187e0) 0
+
+Class QFlag
+ size=4 align=4
+ base size=4 base align=4
+QFlag (0x7f5e1d450620) 0
+
+Class QIncompatibleFlag
+ size=4 align=4
+ base size=4 base align=4
+QIncompatibleFlag (0x7f5e1d450e00) 0
+
+Class QInternal
+ size=1 align=1
+ base size=0 base align=1
+QInternal (0x7f5e1ca4b540) 0 empty
+
+Class QGenericArgument
+ size=16 align=8
+ base size=16 base align=8
+QGenericArgument (0x7f5e1ca4b850) 0
+
+Class QGenericReturnArgument
+ size=16 align=8
+ base size=16 base align=8
+QGenericReturnArgument (0x7f5e1ca653f0) 0
+ QGenericArgument (0x7f5e1ca65460) 0
+
+Class QMetaObject
+ size=32 align=8
+ base size=32 base align=8
+QMetaObject (0x7f5e1ca65cb0) 0
+
+Class QMetaObjectExtraData
+ size=16 align=8
+ base size=16 base align=8
+QMetaObjectExtraData (0x7f5e1ca8ecb0) 0
+
+Class QLatin1Char
+ size=1 align=1
+ base size=1 base align=1
+QLatin1Char (0x7f5e1ca98700) 0
+
+Class QChar
+ size=2 align=2
+ base size=2 base align=2
+QChar (0x7f5e1ca9e2a0) 0
+
+Class QBasicAtomicInt
+ size=4 align=4
+ base size=4 base align=4
+QBasicAtomicInt (0x7f5e1c906380) 0
+
+Class QAtomicInt
+ size=4 align=4
+ base size=4 base align=4
+QAtomicInt (0x7f5e1c941d20) 0
+ QBasicAtomicInt (0x7f5e1c941d90) 0
+
+Class __locale_struct
+ size=232 align=8
+ base size=232 base align=8
+__locale_struct (0x7f5e1c9671c0) 0
+
+Class QByteArray::Data
+ size=32 align=8
+ base size=32 base align=8
+QByteArray::Data (0x7f5e1c7e27e0) 0
+
+Class QByteArray
+ size=8 align=8
+ base size=8 base align=8
+QByteArray (0x7f5e1c99f540) 0
+
+Class QByteRef
+ size=16 align=8
+ base size=12 base align=8
+QByteRef (0x7f5e1c839a80) 0
+
+Class QString::Null
+ size=1 align=1
+ base size=0 base align=1
+QString::Null (0x7f5e1c741700) 0 empty
+
+Class QString::Data
+ size=32 align=8
+ base size=32 base align=8
+QString::Data (0x7f5e1c751ee0) 0
+
+Class QString
+ size=8 align=8
+ base size=8 base align=8
+QString (0x7f5e1c6c15b0) 0
+
+Class QLatin1String
+ size=8 align=8
+ base size=8 base align=8
+QLatin1String (0x7f5e1c62a000) 0
+
+Class QCharRef
+ size=16 align=8
+ base size=12 base align=8
+QCharRef (0x7f5e1c4c1620) 0
+
+Class QConstString
+ size=8 align=8
+ base size=8 base align=8
+QConstString (0x7f5e1c40cee0) 0
+ QString (0x7f5e1c40cf50) 0
+
+Class QStringRef
+ size=16 align=8
+ base size=16 base align=8
+QStringRef (0x7f5e1c42cbd0) 0
+
+Vtable for std::exception
+std::exception::_ZTVSt9exception: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt9exception)
+16 std::exception::~exception
+24 std::exception::~exception
+32 std::exception::what
+
+Class std::exception
+ size=8 align=8
+ base size=8 base align=8
+std::exception (0x7f5e1c2e6620) 0 nearly-empty
+ vptr=((& std::exception::_ZTVSt9exception) + 16u)
+
+Vtable for std::bad_exception
+std::bad_exception::_ZTVSt13bad_exception: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt13bad_exception)
+16 std::bad_exception::~bad_exception
+24 std::bad_exception::~bad_exception
+32 std::bad_exception::what
+
+Class std::bad_exception
+ size=8 align=8
+ base size=8 base align=8
+std::bad_exception (0x7f5e1c308000) 0 nearly-empty
+ vptr=((& std::bad_exception::_ZTVSt13bad_exception) + 16u)
+ std::exception (0x7f5e1c308070) 0 nearly-empty
+ primary-for std::bad_exception (0x7f5e1c308000)
+
+Vtable for std::bad_alloc
+std::bad_alloc::_ZTVSt9bad_alloc: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt9bad_alloc)
+16 std::bad_alloc::~bad_alloc
+24 std::bad_alloc::~bad_alloc
+32 std::bad_alloc::what
+
+Class std::bad_alloc
+ size=8 align=8
+ base size=8 base align=8
+std::bad_alloc (0x7f5e1c3088c0) 0 nearly-empty
+ vptr=((& std::bad_alloc::_ZTVSt9bad_alloc) + 16u)
+ std::exception (0x7f5e1c308930) 0 nearly-empty
+ primary-for std::bad_alloc (0x7f5e1c3088c0)
+
+Class std::nothrow_t
+ size=1 align=1
+ base size=0 base align=1
+std::nothrow_t (0x7f5e1c31b0e0) 0 empty
+
+Class QListData::Data
+ size=32 align=8
+ base size=32 base align=8
+QListData::Data (0x7f5e1c31b620) 0
+
+Class QListData
+ size=8 align=8
+ base size=8 base align=8
+QListData (0x7f5e1c31b5b0) 0
+
+Vtable for QObjectData
+QObjectData::_ZTV11QObjectData: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QObjectData)
+16 __cxa_pure_virtual
+24 __cxa_pure_virtual
+
+Class QObjectData
+ size=40 align=8
+ base size=40 base align=8
+QObjectData (0x7f5e1c21dbd0) 0
+ vptr=((& QObjectData::_ZTV11QObjectData) + 16u)
+
+Vtable for QObject
+QObject::_ZTV7QObject: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QObject)
+16 QObject::metaObject
+24 QObject::qt_metacast
+32 QObject::qt_metacall
+40 QObject::~QObject
+48 QObject::~QObject
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QObject
+ size=16 align=8
+ base size=16 base align=8
+QObject (0x7f5e1c21dee0) 0
+ vptr=((& QObject::_ZTV7QObject) + 16u)
+
+Vtable for QObjectUserData
+QObjectUserData::_ZTV15QObjectUserData: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QObjectUserData)
+16 QObjectUserData::~QObjectUserData
+24 QObjectUserData::~QObjectUserData
+
+Class QObjectUserData
+ size=8 align=8
+ base size=8 base align=8
+QObjectUserData (0x7f5e1c09e3f0) 0 nearly-empty
+ vptr=((& QObjectUserData::_ZTV15QObjectUserData) + 16u)
+
+Vtable for QIODevice
+QIODevice::_ZTV9QIODevice: 30u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QIODevice)
+16 QIODevice::metaObject
+24 QIODevice::qt_metacast
+32 QIODevice::qt_metacall
+40 QIODevice::~QIODevice
+48 QIODevice::~QIODevice
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QIODevice::isSequential
+120 QIODevice::open
+128 QIODevice::close
+136 QIODevice::pos
+144 QIODevice::size
+152 QIODevice::seek
+160 QIODevice::atEnd
+168 QIODevice::reset
+176 QIODevice::bytesAvailable
+184 QIODevice::bytesToWrite
+192 QIODevice::canReadLine
+200 QIODevice::waitForReadyRead
+208 QIODevice::waitForBytesWritten
+216 __cxa_pure_virtual
+224 QIODevice::readLineData
+232 __cxa_pure_virtual
+
+Class QIODevice
+ size=16 align=8
+ base size=16 base align=8
+QIODevice (0x7f5e1c09e930) 0
+ vptr=((& QIODevice::_ZTV9QIODevice) + 16u)
+ QObject (0x7f5e1c09e9a0) 0
+ primary-for QIODevice (0x7f5e1c09e930)
+
+Vtable for QDataStream
+QDataStream::_ZTV11QDataStream: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QDataStream)
+16 QDataStream::~QDataStream
+24 QDataStream::~QDataStream
+
+Class QDataStream
+ size=40 align=8
+ base size=40 base align=8
+QDataStream (0x7f5e1c1152a0) 0
+ vptr=((& QDataStream::_ZTV11QDataStream) + 16u)
+
+Class QHashData::Node
+ size=16 align=8
+ base size=16 base align=8
+QHashData::Node (0x7f5e1bf9b150) 0
+
+Class QHashData
+ size=40 align=8
+ base size=40 base align=8
+QHashData (0x7f5e1bf9b0e0) 0
+
+Class QHashDummyValue
+ size=1 align=1
+ base size=0 base align=1
+QHashDummyValue (0x7f5e1bfacee0) 0 empty
+
+Class QMapData::Node
+ size=16 align=8
+ base size=16 base align=8
+QMapData::Node (0x7f5e1bebc690) 0
+
+Class QMapData
+ size=128 align=8
+ base size=128 base align=8
+QMapData (0x7f5e1bebc620) 0
+
+Vtable for QSystemLocale
+QSystemLocale::_ZTV13QSystemLocale: 6u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QSystemLocale)
+16 QSystemLocale::~QSystemLocale
+24 QSystemLocale::~QSystemLocale
+32 QSystemLocale::query
+40 QSystemLocale::fallbackLocale
+
+Class QSystemLocale
+ size=8 align=8
+ base size=8 base align=8
+QSystemLocale (0x7f5e1bdd1e00) 0 nearly-empty
+ vptr=((& QSystemLocale::_ZTV13QSystemLocale) + 16u)
+
+Class QLocale::Data
+ size=4 align=2
+ base size=4 base align=2
+QLocale::Data (0x7f5e1be2f3f0) 0
+
+Class QLocale
+ size=8 align=8
+ base size=8 base align=8
+QLocale (0x7f5e1bdf30e0) 0
+
+Class QTextCodec::ConverterState
+ size=32 align=8
+ base size=32 base align=8
+QTextCodec::ConverterState (0x7f5e1be7ee70) 0
+
+Vtable for QTextCodec
+QTextCodec::_ZTV10QTextCodec: 9u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QTextCodec)
+16 __cxa_pure_virtual
+24 QTextCodec::aliases
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+48 __cxa_pure_virtual
+56 QTextCodec::~QTextCodec
+64 QTextCodec::~QTextCodec
+
+Class QTextCodec
+ size=8 align=8
+ base size=8 base align=8
+QTextCodec (0x7f5e1be68a80) 0 nearly-empty
+ vptr=((& QTextCodec::_ZTV10QTextCodec) + 16u)
+
+Class QTextEncoder
+ size=40 align=8
+ base size=40 base align=8
+QTextEncoder (0x7f5e1bce93f0) 0
+
+Class QTextDecoder
+ size=40 align=8
+ base size=40 base align=8
+QTextDecoder (0x7f5e1bcf4230) 0
+
+Class _IO_marker
+ size=24 align=8
+ base size=24 base align=8
+_IO_marker (0x7f5e1bcfc2a0) 0
+
+Class _IO_FILE
+ size=216 align=8
+ base size=216 base align=8
+_IO_FILE (0x7f5e1bcfc310) 0
+
+Vtable for QTextStream
+QTextStream::_ZTV11QTextStream: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QTextStream)
+16 QTextStream::~QTextStream
+24 QTextStream::~QTextStream
+
+Class QTextStream
+ size=16 align=8
+ base size=16 base align=8
+QTextStream (0x7f5e1bcfc3f0) 0
+ vptr=((& QTextStream::_ZTV11QTextStream) + 16u)
+
+Class QTextStreamManipulator
+ size=40 align=8
+ base size=38 base align=8
+QTextStreamManipulator (0x7f5e1bd93ee0) 0
+
+Vtable for QTextIStream
+QTextIStream::_ZTV12QTextIStream: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QTextIStream)
+16 QTextIStream::~QTextIStream
+24 QTextIStream::~QTextIStream
+
+Class QTextIStream
+ size=16 align=8
+ base size=16 base align=8
+QTextIStream (0x7f5e1bbc01c0) 0
+ vptr=((& QTextIStream::_ZTV12QTextIStream) + 16u)
+ QTextStream (0x7f5e1bbc0230) 0
+ primary-for QTextIStream (0x7f5e1bbc01c0)
+
+Vtable for QTextOStream
+QTextOStream::_ZTV12QTextOStream: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QTextOStream)
+16 QTextOStream::~QTextOStream
+24 QTextOStream::~QTextOStream
+
+Class QTextOStream
+ size=16 align=8
+ base size=16 base align=8
+QTextOStream (0x7f5e1bbd4070) 0
+ vptr=((& QTextOStream::_ZTV12QTextOStream) + 16u)
+ QTextStream (0x7f5e1bbd40e0) 0
+ primary-for QTextOStream (0x7f5e1bbd4070)
+
+Class wait
+ size=4 align=4
+ base size=4 base align=4
+wait (0x7f5e1bbe1ee0) 0
+
+Class timespec
+ size=16 align=8
+ base size=16 base align=8
+timespec (0x7f5e1bbee230) 0
+
+Class timeval
+ size=16 align=8
+ base size=16 base align=8
+timeval (0x7f5e1bbee2a0) 0
+
+Class __pthread_internal_list
+ size=16 align=8
+ base size=16 base align=8
+__pthread_internal_list (0x7f5e1bbee3f0) 0
+
+Class random_data
+ size=48 align=8
+ base size=48 base align=8
+random_data (0x7f5e1bbee9a0) 0
+
+Class drand48_data
+ size=24 align=8
+ base size=24 base align=8
+drand48_data (0x7f5e1bbeea10) 0
+
+Class QVectorData
+ size=16 align=4
+ base size=16 base align=4
+QVectorData (0x7f5e1bbeea80) 0
+
+Class QDebug::Stream
+ size=40 align=8
+ base size=34 base align=8
+QDebug::Stream (0x7f5e1bb6a230) 0
+
+Class QDebug
+ size=8 align=8
+ base size=8 base align=8
+QDebug (0x7f5e1bb6a1c0) 0
+
+Class QNoDebug
+ size=1 align=1
+ base size=0 base align=1
+QNoDebug (0x7f5e1ba07070) 0 empty
+
+Vtable for QFile
+QFile::_ZTV5QFile: 31u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI5QFile)
+16 QFile::metaObject
+24 QFile::qt_metacast
+32 QFile::qt_metacall
+40 QFile::~QFile
+48 QFile::~QFile
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QFile::isSequential
+120 QFile::open
+128 QFile::close
+136 QFile::pos
+144 QFile::size
+152 QFile::seek
+160 QFile::atEnd
+168 QIODevice::reset
+176 QIODevice::bytesAvailable
+184 QIODevice::bytesToWrite
+192 QIODevice::canReadLine
+200 QIODevice::waitForReadyRead
+208 QIODevice::waitForBytesWritten
+216 QFile::readData
+224 QFile::readLineData
+232 QFile::writeData
+240 QFile::fileEngine
+
+Class QFile
+ size=16 align=8
+ base size=16 base align=8
+QFile (0x7f5e1ba18620) 0
+ vptr=((& QFile::_ZTV5QFile) + 16u)
+ QIODevice (0x7f5e1ba18690) 0
+ primary-for QFile (0x7f5e1ba18620)
+ QObject (0x7f5e1ba18700) 0
+ primary-for QIODevice (0x7f5e1ba18690)
+
+Vtable for QTemporaryFile
+QTemporaryFile::_ZTV14QTemporaryFile: 31u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QTemporaryFile)
+16 QTemporaryFile::metaObject
+24 QTemporaryFile::qt_metacast
+32 QTemporaryFile::qt_metacall
+40 QTemporaryFile::~QTemporaryFile
+48 QTemporaryFile::~QTemporaryFile
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QFile::isSequential
+120 QTemporaryFile::open
+128 QFile::close
+136 QFile::pos
+144 QFile::size
+152 QFile::seek
+160 QFile::atEnd
+168 QIODevice::reset
+176 QIODevice::bytesAvailable
+184 QIODevice::bytesToWrite
+192 QIODevice::canReadLine
+200 QIODevice::waitForReadyRead
+208 QIODevice::waitForBytesWritten
+216 QFile::readData
+224 QFile::readLineData
+232 QFile::writeData
+240 QTemporaryFile::fileEngine
+
+Class QTemporaryFile
+ size=16 align=8
+ base size=16 base align=8
+QTemporaryFile (0x7f5e1ba84850) 0
+ vptr=((& QTemporaryFile::_ZTV14QTemporaryFile) + 16u)
+ QFile (0x7f5e1ba848c0) 0
+ primary-for QTemporaryFile (0x7f5e1ba84850)
+ QIODevice (0x7f5e1ba84930) 0
+ primary-for QFile (0x7f5e1ba848c0)
+ QObject (0x7f5e1ba849a0) 0
+ primary-for QIODevice (0x7f5e1ba84930)
+
+Class QFileInfo
+ size=8 align=8
+ base size=8 base align=8
+QFileInfo (0x7f5e1b8a5f50) 0
+
+Class QRegExp
+ size=8 align=8
+ base size=8 base align=8
+QRegExp (0x7f5e1b902770) 0
+
+Class QStringMatcher
+ size=1048 align=8
+ base size=1048 base align=8
+QStringMatcher (0x7f5e1b94e5b0) 0
+
+Class QStringList
+ size=8 align=8
+ base size=8 base align=8
+QStringList (0x7f5e1b961070) 0
+ QList<QString> (0x7f5e1b9610e0) 0
+
+Class QDir
+ size=8 align=8
+ base size=8 base align=8
+QDir (0x7f5e1b7efcb0) 0
+
+Class QAbstractFileEngine::ExtensionOption
+ size=1 align=1
+ base size=0 base align=1
+QAbstractFileEngine::ExtensionOption (0x7f5e1b889e70) 0 empty
+
+Class QAbstractFileEngine::ExtensionReturn
+ size=1 align=1
+ base size=0 base align=1
+QAbstractFileEngine::ExtensionReturn (0x7f5e1b889ee0) 0 empty
+
+Class QAbstractFileEngine::MapExtensionOption
+ size=24 align=8
+ base size=20 base align=8
+QAbstractFileEngine::MapExtensionOption (0x7f5e1b889f50) 0
+ QAbstractFileEngine::ExtensionOption (0x7f5e1b69c000) 0 empty
+
+Class QAbstractFileEngine::MapExtensionReturn
+ size=8 align=8
+ base size=8 base align=8
+QAbstractFileEngine::MapExtensionReturn (0x7f5e1b69c1c0) 0
+ QAbstractFileEngine::ExtensionReturn (0x7f5e1b69c230) 0 empty
+
+Class QAbstractFileEngine::UnMapExtensionOption
+ size=8 align=8
+ base size=8 base align=8
+QAbstractFileEngine::UnMapExtensionOption (0x7f5e1b69c2a0) 0
+ QAbstractFileEngine::ExtensionOption (0x7f5e1b69c310) 0 empty
+
+Vtable for QAbstractFileEngine
+QAbstractFileEngine::_ZTV19QAbstractFileEngine: 36u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QAbstractFileEngine)
+16 QAbstractFileEngine::~QAbstractFileEngine
+24 QAbstractFileEngine::~QAbstractFileEngine
+32 QAbstractFileEngine::open
+40 QAbstractFileEngine::close
+48 QAbstractFileEngine::flush
+56 QAbstractFileEngine::size
+64 QAbstractFileEngine::pos
+72 QAbstractFileEngine::seek
+80 QAbstractFileEngine::isSequential
+88 QAbstractFileEngine::remove
+96 QAbstractFileEngine::copy
+104 QAbstractFileEngine::rename
+112 QAbstractFileEngine::link
+120 QAbstractFileEngine::mkdir
+128 QAbstractFileEngine::rmdir
+136 QAbstractFileEngine::setSize
+144 QAbstractFileEngine::caseSensitive
+152 QAbstractFileEngine::isRelativePath
+160 QAbstractFileEngine::entryList
+168 QAbstractFileEngine::fileFlags
+176 QAbstractFileEngine::setPermissions
+184 QAbstractFileEngine::fileName
+192 QAbstractFileEngine::ownerId
+200 QAbstractFileEngine::owner
+208 QAbstractFileEngine::fileTime
+216 QAbstractFileEngine::setFileName
+224 QAbstractFileEngine::handle
+232 QAbstractFileEngine::beginEntryList
+240 QAbstractFileEngine::endEntryList
+248 QAbstractFileEngine::read
+256 QAbstractFileEngine::readLine
+264 QAbstractFileEngine::write
+272 QAbstractFileEngine::extension
+280 QAbstractFileEngine::supportsExtension
+
+Class QAbstractFileEngine
+ size=16 align=8
+ base size=16 base align=8
+QAbstractFileEngine (0x7f5e1b879e00) 0
+ vptr=((& QAbstractFileEngine::_ZTV19QAbstractFileEngine) + 16u)
+
+Vtable for QAbstractFileEngineHandler
+QAbstractFileEngineHandler::_ZTV26QAbstractFileEngineHandler: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI26QAbstractFileEngineHandler)
+16 QAbstractFileEngineHandler::~QAbstractFileEngineHandler
+24 QAbstractFileEngineHandler::~QAbstractFileEngineHandler
+32 __cxa_pure_virtual
+
+Class QAbstractFileEngineHandler
+ size=8 align=8
+ base size=8 base align=8
+QAbstractFileEngineHandler (0x7f5e1b6ce000) 0 nearly-empty
+ vptr=((& QAbstractFileEngineHandler::_ZTV26QAbstractFileEngineHandler) + 16u)
+
+Vtable for QAbstractFileEngineIterator
+QAbstractFileEngineIterator::_ZTV27QAbstractFileEngineIterator: 9u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI27QAbstractFileEngineIterator)
+16 QAbstractFileEngineIterator::~QAbstractFileEngineIterator
+24 QAbstractFileEngineIterator::~QAbstractFileEngineIterator
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+48 __cxa_pure_virtual
+56 QAbstractFileEngineIterator::currentFileInfo
+64 QAbstractFileEngineIterator::entryInfo
+
+Class QAbstractFileEngineIterator
+ size=16 align=8
+ base size=16 base align=8
+QAbstractFileEngineIterator (0x7f5e1b6ce1c0) 0
+ vptr=((& QAbstractFileEngineIterator::_ZTV27QAbstractFileEngineIterator) + 16u)
+
+Vtable for QFSFileEngine
+QFSFileEngine::_ZTV13QFSFileEngine: 36u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QFSFileEngine)
+16 QFSFileEngine::~QFSFileEngine
+24 QFSFileEngine::~QFSFileEngine
+32 QFSFileEngine::open
+40 QFSFileEngine::close
+48 QFSFileEngine::flush
+56 QFSFileEngine::size
+64 QFSFileEngine::pos
+72 QFSFileEngine::seek
+80 QFSFileEngine::isSequential
+88 QFSFileEngine::remove
+96 QFSFileEngine::copy
+104 QFSFileEngine::rename
+112 QFSFileEngine::link
+120 QFSFileEngine::mkdir
+128 QFSFileEngine::rmdir
+136 QFSFileEngine::setSize
+144 QFSFileEngine::caseSensitive
+152 QFSFileEngine::isRelativePath
+160 QFSFileEngine::entryList
+168 QFSFileEngine::fileFlags
+176 QFSFileEngine::setPermissions
+184 QFSFileEngine::fileName
+192 QFSFileEngine::ownerId
+200 QFSFileEngine::owner
+208 QFSFileEngine::fileTime
+216 QFSFileEngine::setFileName
+224 QFSFileEngine::handle
+232 QFSFileEngine::beginEntryList
+240 QFSFileEngine::endEntryList
+248 QFSFileEngine::read
+256 QFSFileEngine::readLine
+264 QFSFileEngine::write
+272 QFSFileEngine::extension
+280 QFSFileEngine::supportsExtension
+
+Class QFSFileEngine
+ size=16 align=8
+ base size=16 base align=8
+QFSFileEngine (0x7f5e1b6cea10) 0
+ vptr=((& QFSFileEngine::_ZTV13QFSFileEngine) + 16u)
+ QAbstractFileEngine (0x7f5e1b6cea80) 0
+ primary-for QFSFileEngine (0x7f5e1b6cea10)
+
+Vtable for QProcess
+QProcess::_ZTV8QProcess: 31u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI8QProcess)
+16 QProcess::metaObject
+24 QProcess::qt_metacast
+32 QProcess::qt_metacall
+40 QProcess::~QProcess
+48 QProcess::~QProcess
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QProcess::isSequential
+120 QIODevice::open
+128 QProcess::close
+136 QIODevice::pos
+144 QIODevice::size
+152 QIODevice::seek
+160 QProcess::atEnd
+168 QIODevice::reset
+176 QProcess::bytesAvailable
+184 QProcess::bytesToWrite
+192 QProcess::canReadLine
+200 QProcess::waitForReadyRead
+208 QProcess::waitForBytesWritten
+216 QProcess::readData
+224 QIODevice::readLineData
+232 QProcess::writeData
+240 QProcess::setupChildProcess
+
+Class QProcess
+ size=16 align=8
+ base size=16 base align=8
+QProcess (0x7f5e1b6e5d20) 0
+ vptr=((& QProcess::_ZTV8QProcess) + 16u)
+ QIODevice (0x7f5e1b6e5d90) 0
+ primary-for QProcess (0x7f5e1b6e5d20)
+ QObject (0x7f5e1b6e5e00) 0
+ primary-for QIODevice (0x7f5e1b6e5d90)
+
+Class QResource
+ size=8 align=8
+ base size=8 base align=8
+QResource (0x7f5e1b720230) 0
+
+Vtable for QDirIterator
+QDirIterator::_ZTV12QDirIterator: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QDirIterator)
+16 QDirIterator::~QDirIterator
+24 QDirIterator::~QDirIterator
+
+Class QDirIterator
+ size=16 align=8
+ base size=16 base align=8
+QDirIterator (0x7f5e1b720cb0) 0
+ vptr=((& QDirIterator::_ZTV12QDirIterator) + 16u)
+
+Vtable for QBuffer
+QBuffer::_ZTV7QBuffer: 30u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QBuffer)
+16 QBuffer::metaObject
+24 QBuffer::qt_metacast
+32 QBuffer::qt_metacall
+40 QBuffer::~QBuffer
+48 QBuffer::~QBuffer
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QBuffer::connectNotify
+104 QBuffer::disconnectNotify
+112 QIODevice::isSequential
+120 QBuffer::open
+128 QBuffer::close
+136 QBuffer::pos
+144 QBuffer::size
+152 QBuffer::seek
+160 QBuffer::atEnd
+168 QIODevice::reset
+176 QIODevice::bytesAvailable
+184 QIODevice::bytesToWrite
+192 QBuffer::canReadLine
+200 QIODevice::waitForReadyRead
+208 QIODevice::waitForBytesWritten
+216 QBuffer::readData
+224 QIODevice::readLineData
+232 QBuffer::writeData
+
+Class QBuffer
+ size=16 align=8
+ base size=16 base align=8
+QBuffer (0x7f5e1b752a80) 0
+ vptr=((& QBuffer::_ZTV7QBuffer) + 16u)
+ QIODevice (0x7f5e1b752af0) 0
+ primary-for QBuffer (0x7f5e1b752a80)
+ QObject (0x7f5e1b752b60) 0
+ primary-for QIODevice (0x7f5e1b752af0)
+
+Vtable for QFileSystemWatcher
+QFileSystemWatcher::_ZTV18QFileSystemWatcher: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QFileSystemWatcher)
+16 QFileSystemWatcher::metaObject
+24 QFileSystemWatcher::qt_metacast
+32 QFileSystemWatcher::qt_metacall
+40 QFileSystemWatcher::~QFileSystemWatcher
+48 QFileSystemWatcher::~QFileSystemWatcher
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QFileSystemWatcher
+ size=16 align=8
+ base size=16 base align=8
+QFileSystemWatcher (0x7f5e1b779690) 0
+ vptr=((& QFileSystemWatcher::_ZTV18QFileSystemWatcher) + 16u)
+ QObject (0x7f5e1b779700) 0
+ primary-for QFileSystemWatcher (0x7f5e1b779690)
+
+Class QUrl
+ size=8 align=8
+ base size=8 base align=8
+QUrl (0x7f5e1b78cbd0) 0
+
+Class QMetaType
+ size=1 align=1
+ base size=0 base align=1
+QMetaType (0x7f5e1b5f73f0) 0 empty
+
+Class QVariant::PrivateShared
+ size=16 align=8
+ base size=12 base align=8
+QVariant::PrivateShared (0x7f5e1b4ca930) 0
+
+Class QVariant::Private::Data
+ size=8 align=8
+ base size=8 base align=8
+QVariant::Private::Data (0x7f5e1b4cac40) 0
+
+Class QVariant::Private
+ size=16 align=8
+ base size=12 base align=8
+QVariant::Private (0x7f5e1b4caa10) 0
+
+Class QVariant::Handler
+ size=72 align=8
+ base size=72 base align=8
+QVariant::Handler (0x7f5e1b4d8930) 0
+
+Class QVariant
+ size=16 align=8
+ base size=16 base align=8
+QVariant (0x7f5e1b499af0) 0
+
+Class QVariantComparisonHelper
+ size=8 align=8
+ base size=8 base align=8
+QVariantComparisonHelper (0x7f5e1b37ccb0) 0
+
+Vtable for QSettings
+QSettings::_ZTV9QSettings: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QSettings)
+16 QSettings::metaObject
+24 QSettings::qt_metacast
+32 QSettings::qt_metacall
+40 QSettings::~QSettings
+48 QSettings::~QSettings
+56 QSettings::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QSettings
+ size=16 align=8
+ base size=16 base align=8
+QSettings (0x7f5e1b3a2cb0) 0
+ vptr=((& QSettings::_ZTV9QSettings) + 16u)
+ QObject (0x7f5e1b3a2d20) 0
+ primary-for QSettings (0x7f5e1b3a2cb0)
+
+Class QXmlStreamStringRef
+ size=16 align=8
+ base size=16 base align=8
+QXmlStreamStringRef (0x7f5e1b424070) 0
+
+Class QXmlStreamAttribute
+ size=80 align=8
+ base size=73 base align=8
+QXmlStreamAttribute (0x7f5e1b442850) 0
+
+Class QXmlStreamAttributes
+ size=8 align=8
+ base size=8 base align=8
+QXmlStreamAttributes (0x7f5e1b46a380) 0
+ QVector<QXmlStreamAttribute> (0x7f5e1b46a3f0) 0
+
+Class QXmlStreamNamespaceDeclaration
+ size=40 align=8
+ base size=40 base align=8
+QXmlStreamNamespaceDeclaration (0x7f5e1b46a850) 0
+
+Class QXmlStreamNotationDeclaration
+ size=56 align=8
+ base size=56 base align=8
+QXmlStreamNotationDeclaration (0x7f5e1b2ac1c0) 0
+
+Class QXmlStreamEntityDeclaration
+ size=88 align=8
+ base size=88 base align=8
+QXmlStreamEntityDeclaration (0x7f5e1b2cc070) 0
+
+Vtable for QXmlStreamEntityResolver
+QXmlStreamEntityResolver::_ZTV24QXmlStreamEntityResolver: 6u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI24QXmlStreamEntityResolver)
+16 QXmlStreamEntityResolver::~QXmlStreamEntityResolver
+24 QXmlStreamEntityResolver::~QXmlStreamEntityResolver
+32 QXmlStreamEntityResolver::resolveEntity
+40 QXmlStreamEntityResolver::resolveUndeclaredEntity
+
+Class QXmlStreamEntityResolver
+ size=8 align=8
+ base size=8 base align=8
+QXmlStreamEntityResolver (0x7f5e1b2e89a0) 0 nearly-empty
+ vptr=((& QXmlStreamEntityResolver::_ZTV24QXmlStreamEntityResolver) + 16u)
+
+Class QXmlStreamReader
+ size=8 align=8
+ base size=8 base align=8
+QXmlStreamReader (0x7f5e1b2e8b60) 0
+
+Class QXmlStreamWriter
+ size=8 align=8
+ base size=8 base align=8
+QXmlStreamWriter (0x7f5e1b325a10) 0
+
+Class QPoint
+ size=8 align=4
+ base size=8 base align=4
+QPoint (0x7f5e1b361150) 0
+
+Class QPointF
+ size=16 align=8
+ base size=16 base align=8
+QPointF (0x7f5e1b199d90) 0
+
+Class QLine
+ size=16 align=4
+ base size=16 base align=4
+QLine (0x7f5e1b1d7bd0) 0
+
+Class QLineF
+ size=32 align=8
+ base size=32 base align=8
+QLineF (0x7f5e1b211a80) 0
+
+Class QSize
+ size=8 align=4
+ base size=8 base align=4
+QSize (0x7f5e1b06d540) 0
+
+Class QSizeF
+ size=16 align=8
+ base size=16 base align=8
+QSizeF (0x7f5e1b0b8380) 0
+
+Class QRect
+ size=16 align=4
+ base size=16 base align=4
+QRect (0x7f5e1b1059a0) 0
+
+Class QRectF
+ size=32 align=8
+ base size=32 base align=8
+QRectF (0x7f5e1afb5380) 0
+
+Class QSharedData
+ size=4 align=4
+ base size=4 base align=4
+QSharedData (0x7f5e1b060150) 0
+
+Vtable for QtSharedPointer::ExternalRefCountData
+QtSharedPointer::ExternalRefCountData::_ZTVN15QtSharedPointer20ExternalRefCountDataE: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN15QtSharedPointer20ExternalRefCountDataE)
+16 QtSharedPointer::ExternalRefCountData::~ExternalRefCountData
+24 QtSharedPointer::ExternalRefCountData::~ExternalRefCountData
+32 QtSharedPointer::ExternalRefCountData::destroy
+
+Class QtSharedPointer::ExternalRefCountData
+ size=16 align=8
+ base size=16 base align=8
+QtSharedPointer::ExternalRefCountData (0x7f5e1ae90af0) 0
+ vptr=((& QtSharedPointer::ExternalRefCountData::_ZTVN15QtSharedPointer20ExternalRefCountDataE) + 16u)
+
+Class QLinkedListData
+ size=32 align=8
+ base size=32 base align=8
+QLinkedListData (0x7f5e1af16c40) 0
+
+Class QBitArray
+ size=8 align=8
+ base size=8 base align=8
+QBitArray (0x7f5e1ade3b60) 0
+
+Class QBitRef
+ size=16 align=8
+ base size=12 base align=8
+QBitRef (0x7f5e1ae56930) 0
+
+Class QByteArrayMatcher
+ size=1040 align=8
+ base size=1040 base align=8
+QByteArrayMatcher (0x7f5e1ac70310) 0
+
+Class QCryptographicHash
+ size=8 align=8
+ base size=8 base align=8
+QCryptographicHash (0x7f5e1ac81a10) 0
+
+Class QTextBoundaryFinder
+ size=48 align=8
+ base size=48 base align=8
+QTextBoundaryFinder (0x7f5e1acae460) 0
+
+Class QDate
+ size=4 align=4
+ base size=4 base align=4
+QDate (0x7f5e1acc47e0) 0
+
+Class QTime
+ size=4 align=4
+ base size=4 base align=4
+QTime (0x7f5e1aced770) 0
+
+Class QDateTime
+ size=8 align=8
+ base size=8 base align=8
+QDateTime (0x7f5e1ad0bd20) 0
+
+Vtable for QTimeLine
+QTimeLine::_ZTV9QTimeLine: 15u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QTimeLine)
+16 QTimeLine::metaObject
+24 QTimeLine::qt_metacast
+32 QTimeLine::qt_metacall
+40 QTimeLine::~QTimeLine
+48 QTimeLine::~QTimeLine
+56 QObject::event
+64 QObject::eventFilter
+72 QTimeLine::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QTimeLine::valueForTime
+
+Class QTimeLine
+ size=16 align=8
+ base size=16 base align=8
+QTimeLine (0x7f5e1ad3f1c0) 0
+ vptr=((& QTimeLine::_ZTV9QTimeLine) + 16u)
+ QObject (0x7f5e1ad3f230) 0
+ primary-for QTimeLine (0x7f5e1ad3f1c0)
+
+Vtable for QRunnable
+QRunnable::_ZTV9QRunnable: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QRunnable)
+16 __cxa_pure_virtual
+24 QRunnable::~QRunnable
+32 QRunnable::~QRunnable
+
+Class QRunnable
+ size=16 align=8
+ base size=12 base align=8
+QRunnable (0x7f5e1ab67070) 0
+ vptr=((& QRunnable::_ZTV9QRunnable) + 16u)
+
+Class QMutex
+ size=8 align=8
+ base size=8 base align=8
+QMutex (0x7f5e1ab73700) 0
+
+Class QMutexLocker
+ size=8 align=8
+ base size=8 base align=8
+QMutexLocker (0x7f5e1ab822a0) 0
+
+Vtable for QtConcurrent::Exception
+QtConcurrent::Exception::_ZTVN12QtConcurrent9ExceptionE: 7u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN12QtConcurrent9ExceptionE)
+16 QtConcurrent::Exception::~Exception
+24 QtConcurrent::Exception::~Exception
+32 std::exception::what
+40 QtConcurrent::Exception::raise
+48 QtConcurrent::Exception::clone
+
+Class QtConcurrent::Exception
+ size=8 align=8
+ base size=8 base align=8
+QtConcurrent::Exception (0x7f5e1ab985b0) 0 nearly-empty
+ vptr=((& QtConcurrent::Exception::_ZTVN12QtConcurrent9ExceptionE) + 16u)
+ std::exception (0x7f5e1ab98620) 0 nearly-empty
+ primary-for QtConcurrent::Exception (0x7f5e1ab985b0)
+
+Vtable for QtConcurrent::UnhandledException
+QtConcurrent::UnhandledException::_ZTVN12QtConcurrent18UnhandledExceptionE: 7u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN12QtConcurrent18UnhandledExceptionE)
+16 QtConcurrent::UnhandledException::~UnhandledException
+24 QtConcurrent::UnhandledException::~UnhandledException
+32 std::exception::what
+40 QtConcurrent::UnhandledException::raise
+48 QtConcurrent::UnhandledException::clone
+
+Class QtConcurrent::UnhandledException
+ size=8 align=8
+ base size=8 base align=8
+QtConcurrent::UnhandledException (0x7f5e1ab98850) 0 nearly-empty
+ vptr=((& QtConcurrent::UnhandledException::_ZTVN12QtConcurrent18UnhandledExceptionE) + 16u)
+ QtConcurrent::Exception (0x7f5e1ab988c0) 0 nearly-empty
+ primary-for QtConcurrent::UnhandledException (0x7f5e1ab98850)
+ std::exception (0x7f5e1ab98930) 0 nearly-empty
+ primary-for QtConcurrent::Exception (0x7f5e1ab988c0)
+
+Class QtConcurrent::internal::ExceptionHolder
+ size=8 align=8
+ base size=8 base align=8
+QtConcurrent::internal::ExceptionHolder (0x7f5e1ab98b60) 0
+
+Class QtConcurrent::internal::ExceptionStore
+ size=8 align=8
+ base size=8 base align=8
+QtConcurrent::internal::ExceptionStore (0x7f5e1ab98ee0) 0
+
+Class QtConcurrent::ResultItem
+ size=16 align=8
+ base size=16 base align=8
+QtConcurrent::ResultItem (0x7f5e1ab98f50) 0
+
+Class QtConcurrent::ResultIteratorBase
+ size=16 align=8
+ base size=12 base align=8
+QtConcurrent::ResultIteratorBase (0x7f5e1abafe70) 0
+
+Vtable for QtConcurrent::ResultStoreBase
+QtConcurrent::ResultStoreBase::_ZTVN12QtConcurrent15ResultStoreBaseE: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN12QtConcurrent15ResultStoreBaseE)
+16 QtConcurrent::ResultStoreBase::~ResultStoreBase
+24 QtConcurrent::ResultStoreBase::~ResultStoreBase
+
+Class QtConcurrent::ResultStoreBase
+ size=48 align=8
+ base size=44 base align=8
+QtConcurrent::ResultStoreBase (0x7f5e1abb4a10) 0
+ vptr=((& QtConcurrent::ResultStoreBase::_ZTVN12QtConcurrent15ResultStoreBaseE) + 16u)
+
+Vtable for QFutureInterfaceBase
+QFutureInterfaceBase::_ZTV20QFutureInterfaceBase: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI20QFutureInterfaceBase)
+16 QFutureInterfaceBase::~QFutureInterfaceBase
+24 QFutureInterfaceBase::~QFutureInterfaceBase
+
+Class QFutureInterfaceBase
+ size=16 align=8
+ base size=16 base align=8
+QFutureInterfaceBase (0x7f5e1abf4e70) 0
+ vptr=((& QFutureInterfaceBase::_ZTV20QFutureInterfaceBase) + 16u)
+
+Vtable for QThread
+QThread::_ZTV7QThread: 15u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QThread)
+16 QThread::metaObject
+24 QThread::qt_metacast
+32 QThread::qt_metacall
+40 QThread::~QThread
+48 QThread::~QThread
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QThread::run
+
+Class QThread
+ size=16 align=8
+ base size=16 base align=8
+QThread (0x7f5e1aad9e00) 0
+ vptr=((& QThread::_ZTV7QThread) + 16u)
+ QObject (0x7f5e1aad9e70) 0
+ primary-for QThread (0x7f5e1aad9e00)
+
+Vtable for QThreadPool
+QThreadPool::_ZTV11QThreadPool: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QThreadPool)
+16 QThreadPool::metaObject
+24 QThreadPool::qt_metacast
+32 QThreadPool::qt_metacall
+40 QThreadPool::~QThreadPool
+48 QThreadPool::~QThreadPool
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QThreadPool
+ size=16 align=8
+ base size=16 base align=8
+QThreadPool (0x7f5e1ab0bcb0) 0
+ vptr=((& QThreadPool::_ZTV11QThreadPool) + 16u)
+ QObject (0x7f5e1ab0bd20) 0
+ primary-for QThreadPool (0x7f5e1ab0bcb0)
+
+Class QWaitCondition
+ size=8 align=8
+ base size=8 base align=8
+QWaitCondition (0x7f5e1ab23540) 0
+
+Class QtConcurrent::ThreadEngineSemaphore
+ size=24 align=8
+ base size=24 base align=8
+QtConcurrent::ThreadEngineSemaphore (0x7f5e1ab23a80) 0
+
+Vtable for QtConcurrent::ThreadEngineBase
+QtConcurrent::ThreadEngineBase::_ZTVN12QtConcurrent16ThreadEngineBaseE: 11u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN12QtConcurrent16ThreadEngineBaseE)
+16 QtConcurrent::ThreadEngineBase::run
+24 QtConcurrent::ThreadEngineBase::~ThreadEngineBase
+32 QtConcurrent::ThreadEngineBase::~ThreadEngineBase
+40 QtConcurrent::ThreadEngineBase::start
+48 QtConcurrent::ThreadEngineBase::finish
+56 QtConcurrent::ThreadEngineBase::threadFunction
+64 QtConcurrent::ThreadEngineBase::shouldStartThread
+72 QtConcurrent::ThreadEngineBase::shouldThrottleThread
+80 __cxa_pure_virtual
+
+Class QtConcurrent::ThreadEngineBase
+ size=64 align=8
+ base size=64 base align=8
+QtConcurrent::ThreadEngineBase (0x7f5e1ab42460) 0
+ vptr=((& QtConcurrent::ThreadEngineBase::_ZTVN12QtConcurrent16ThreadEngineBaseE) + 16u)
+ QRunnable (0x7f5e1ab424d0) 0
+ primary-for QtConcurrent::ThreadEngineBase (0x7f5e1ab42460)
+
+VTT for QtConcurrent::ThreadEngine<void>
+QtConcurrent::ThreadEngine<void>::_ZTTN12QtConcurrent12ThreadEngineIvEE: 2u entries
+0 ((& QtConcurrent::ThreadEngine<void>::_ZTVN12QtConcurrent12ThreadEngineIvEE) + 24u)
+8 ((& QtConcurrent::ThreadEngine<void>::_ZTVN12QtConcurrent12ThreadEngineIvEE) + 136u)
+
+Class std::input_iterator_tag
+ size=1 align=1
+ base size=0 base align=1
+std::input_iterator_tag (0x7f5e1a986850) 0 empty
+
+Class std::output_iterator_tag
+ size=1 align=1
+ base size=0 base align=1
+std::output_iterator_tag (0x7f5e1a9868c0) 0 empty
+
+Class std::forward_iterator_tag
+ size=1 align=1
+ base size=1 base align=1
+std::forward_iterator_tag (0x7f5e1a986930) 0 empty
+ std::input_iterator_tag (0x7f5e1a9869a0) 0 empty
+
+Class std::bidirectional_iterator_tag
+ size=1 align=1
+ base size=1 base align=1
+std::bidirectional_iterator_tag (0x7f5e1a986a10) 0 empty
+ std::forward_iterator_tag (0x7f5e1a986a80) 0 empty
+ std::input_iterator_tag (0x7f5e1a986af0) 0 empty
+
+Class std::random_access_iterator_tag
+ size=1 align=1
+ base size=1 base align=1
+std::random_access_iterator_tag (0x7f5e1a986b60) 0 empty
+ std::bidirectional_iterator_tag (0x7f5e1a986bd0) 0 empty
+ std::forward_iterator_tag (0x7f5e1a986c40) 0 empty
+ std::input_iterator_tag (0x7f5e1a986cb0) 0 empty
+
+Class std::__true_type
+ size=1 align=1
+ base size=0 base align=1
+std::__true_type (0x7f5e1a9972a0) 0 empty
+
+Class std::__false_type
+ size=1 align=1
+ base size=0 base align=1
+std::__false_type (0x7f5e1a997310) 0 empty
+
+Class lconv
+ size=96 align=8
+ base size=96 base align=8
+lconv (0x7f5e1a773620) 0
+
+Class sched_param
+ size=4 align=4
+ base size=4 base align=4
+sched_param (0x7f5e1a773a80) 0
+
+Class __sched_param
+ size=4 align=4
+ base size=4 base align=4
+__sched_param (0x7f5e1a773af0) 0
+
+Class tm
+ size=56 align=8
+ base size=56 base align=8
+tm (0x7f5e1a773bd0) 0
+
+Class itimerspec
+ size=32 align=8
+ base size=32 base align=8
+itimerspec (0x7f5e1a773cb0) 0
+
+Class _pthread_cleanup_buffer
+ size=32 align=8
+ base size=32 base align=8
+_pthread_cleanup_buffer (0x7f5e1a773d20) 0
+
+Class __pthread_cleanup_frame
+ size=24 align=8
+ base size=24 base align=8
+__pthread_cleanup_frame (0x7f5e1a773e70) 0
+
+Class __pthread_cleanup_class
+ size=24 align=8
+ base size=24 base align=8
+__pthread_cleanup_class (0x7f5e1a773ee0) 0
+
+Vtable for __cxxabiv1::__forced_unwind
+__cxxabiv1::__forced_unwind::_ZTVN10__cxxabiv115__forced_unwindE: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN10__cxxabiv115__forced_unwindE)
+16 __cxxabiv1::__forced_unwind::~__forced_unwind
+24 __cxxabiv1::__forced_unwind::~__forced_unwind
+32 __cxa_pure_virtual
+
+Class __cxxabiv1::__forced_unwind
+ size=8 align=8
+ base size=8 base align=8
+__cxxabiv1::__forced_unwind (0x7f5e1a689a80) 0 nearly-empty
+ vptr=((& __cxxabiv1::__forced_unwind::_ZTVN10__cxxabiv115__forced_unwindE) + 16u)
+
+Class std::locale
+ size=8 align=8
+ base size=8 base align=8
+std::locale (0x7f5e1a5395b0) 0
+
+Vtable for std::locale::facet
+std::locale::facet::_ZTVNSt6locale5facetE: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTINSt6locale5facetE)
+16 std::locale::facet::~facet
+24 std::locale::facet::~facet
+
+Class std::locale::facet
+ size=16 align=8
+ base size=12 base align=8
+std::locale::facet (0x7f5e1a3dccb0) 0
+ vptr=((& std::locale::facet::_ZTVNSt6locale5facetE) + 16u)
+
+Class std::locale::id
+ size=8 align=8
+ base size=8 base align=8
+std::locale::id (0x7f5e1a3f12a0) 0
+
+Class std::locale::_Impl
+ size=40 align=8
+ base size=40 base align=8
+std::locale::_Impl (0x7f5e1a3f18c0) 0
+
+Vtable for std::ios_base::failure
+std::ios_base::failure::_ZTVNSt8ios_base7failureE: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTINSt8ios_base7failureE)
+16 std::ios_base::failure::~failure
+24 std::ios_base::failure::~failure
+32 std::ios_base::failure::what
+
+Class std::ios_base::failure
+ size=16 align=8
+ base size=16 base align=8
+std::ios_base::failure (0x7f5e1a27e070) 0
+ vptr=((& std::ios_base::failure::_ZTVNSt8ios_base7failureE) + 16u)
+ std::exception (0x7f5e1a27e0e0) 0 nearly-empty
+ primary-for std::ios_base::failure (0x7f5e1a27e070)
+
+Class std::ios_base::_Callback_list
+ size=24 align=8
+ base size=24 base align=8
+std::ios_base::_Callback_list (0x7f5e1a28b310) 0
+
+Class std::ios_base::_Words
+ size=16 align=8
+ base size=16 base align=8
+std::ios_base::_Words (0x7f5e1a28bd90) 0
+
+Class std::ios_base::Init
+ size=1 align=1
+ base size=0 base align=1
+std::ios_base::Init (0x7f5e1a2944d0) 0 empty
+
+Vtable for std::ios_base
+std::ios_base::_ZTVSt8ios_base: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt8ios_base)
+16 std::ios_base::~ios_base
+24 std::ios_base::~ios_base
+
+Class std::ios_base
+ size=216 align=8
+ base size=216 base align=8
+std::ios_base (0x7f5e1a27e000) 0
+ vptr=((& std::ios_base::_ZTVSt8ios_base) + 16u)
+
+Class std::ctype_base
+ size=1 align=1
+ base size=0 base align=1
+std::ctype_base (0x7f5e1a30b930) 0 empty
+
+Class std::__num_base
+ size=1 align=1
+ base size=0 base align=1
+std::__num_base (0x7f5e1a2301c0) 0 empty
+
+VTT for std::basic_ostream<char, std::char_traits<char> >
+std::basic_ostream<char, std::char_traits<char> >::_ZTTSo: 2u entries
+0 ((& std::basic_ostream<char, std::char_traits<char> >::_ZTVSo) + 24u)
+8 ((& std::basic_ostream<char, std::char_traits<char> >::_ZTVSo) + 64u)
+
+VTT for std::basic_ostream<wchar_t, std::char_traits<wchar_t> >
+std::basic_ostream<wchar_t, std::char_traits<wchar_t> >::_ZTTSt13basic_ostreamIwSt11char_traitsIwEE: 2u entries
+0 ((& std::basic_ostream<wchar_t, std::char_traits<wchar_t> >::_ZTVSt13basic_ostreamIwSt11char_traitsIwEE) + 24u)
+8 ((& std::basic_ostream<wchar_t, std::char_traits<wchar_t> >::_ZTVSt13basic_ostreamIwSt11char_traitsIwEE) + 64u)
+
+VTT for std::basic_istream<char, std::char_traits<char> >
+std::basic_istream<char, std::char_traits<char> >::_ZTTSi: 2u entries
+0 ((& std::basic_istream<char, std::char_traits<char> >::_ZTVSi) + 24u)
+8 ((& std::basic_istream<char, std::char_traits<char> >::_ZTVSi) + 64u)
+
+VTT for std::basic_istream<wchar_t, std::char_traits<wchar_t> >
+std::basic_istream<wchar_t, std::char_traits<wchar_t> >::_ZTTSt13basic_istreamIwSt11char_traitsIwEE: 2u entries
+0 ((& std::basic_istream<wchar_t, std::char_traits<wchar_t> >::_ZTVSt13basic_istreamIwSt11char_traitsIwEE) + 24u)
+8 ((& std::basic_istream<wchar_t, std::char_traits<wchar_t> >::_ZTVSt13basic_istreamIwSt11char_traitsIwEE) + 64u)
+
+Construction vtable for std::basic_istream<char, std::char_traits<char> > (0x7f5e19d5d310 instance) in std::basic_iostream<char, std::char_traits<char> >
+std::basic_iostream<char, std::char_traits<char> >::_ZTCSd0_Si: 10u entries
+0 24u
+8 (int (*)(...))0
+16 (int (*)(...))(& _ZTISi)
+24 std::basic_istream<_CharT, _Traits>::~basic_istream [with _CharT = char, _Traits = std::char_traits<char>]
+32 std::basic_istream<_CharT, _Traits>::~basic_istream [with _CharT = char, _Traits = std::char_traits<char>]
+40 -24u
+48 (int (*)(...))-0x00000000000000018
+56 (int (*)(...))(& _ZTISi)
+64 std::basic_istream<char, std::char_traits<char> >::_ZTv0_n24_NSiD1Ev
+72 std::basic_istream<char, std::char_traits<char> >::_ZTv0_n24_NSiD0Ev
+
+Construction vtable for std::basic_ostream<char, std::char_traits<char> > (0x7f5e19d5d460 instance) in std::basic_iostream<char, std::char_traits<char> >
+std::basic_iostream<char, std::char_traits<char> >::_ZTCSd16_So: 10u entries
+0 8u
+8 (int (*)(...))0
+16 (int (*)(...))(& _ZTISo)
+24 std::basic_ostream<_CharT, _Traits>::~basic_ostream [with _CharT = char, _Traits = std::char_traits<char>]
+32 std::basic_ostream<_CharT, _Traits>::~basic_ostream [with _CharT = char, _Traits = std::char_traits<char>]
+40 -8u
+48 (int (*)(...))-0x00000000000000008
+56 (int (*)(...))(& _ZTISo)
+64 std::basic_ostream<char, std::char_traits<char> >::_ZTv0_n24_NSoD1Ev
+72 std::basic_ostream<char, std::char_traits<char> >::_ZTv0_n24_NSoD0Ev
+
+VTT for std::basic_iostream<char, std::char_traits<char> >
+std::basic_iostream<char, std::char_traits<char> >::_ZTTSd: 7u entries
+0 ((& std::basic_iostream<char, std::char_traits<char> >::_ZTVSd) + 24u)
+8 ((& std::basic_iostream<char, std::char_traits<char> >::_ZTCSd0_Si) + 24u)
+16 ((& std::basic_iostream<char, std::char_traits<char> >::_ZTCSd0_Si) + 64u)
+24 ((& std::basic_iostream<char, std::char_traits<char> >::_ZTCSd16_So) + 24u)
+32 ((& std::basic_iostream<char, std::char_traits<char> >::_ZTCSd16_So) + 64u)
+40 ((& std::basic_iostream<char, std::char_traits<char> >::_ZTVSd) + 104u)
+48 ((& std::basic_iostream<char, std::char_traits<char> >::_ZTVSd) + 64u)
+
+Construction vtable for std::basic_istream<wchar_t, std::char_traits<wchar_t> > (0x7f5e19d5d620 instance) in std::basic_iostream<wchar_t, std::char_traits<wchar_t> >
+std::basic_iostream<wchar_t, std::char_traits<wchar_t> >::_ZTCSt14basic_iostreamIwSt11char_traitsIwEE0_St13basic_istreamIwS1_E: 10u entries
+0 24u
+8 (int (*)(...))0
+16 (int (*)(...))(& _ZTISt13basic_istreamIwSt11char_traitsIwEE)
+24 std::basic_istream<_CharT, _Traits>::~basic_istream [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
+32 std::basic_istream<_CharT, _Traits>::~basic_istream [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
+40 -24u
+48 (int (*)(...))-0x00000000000000018
+56 (int (*)(...))(& _ZTISt13basic_istreamIwSt11char_traitsIwEE)
+64 std::basic_istream<wchar_t, std::char_traits<wchar_t> >::_ZTv0_n24_NSt13basic_istreamIwSt11char_traitsIwEED1Ev
+72 std::basic_istream<wchar_t, std::char_traits<wchar_t> >::_ZTv0_n24_NSt13basic_istreamIwSt11char_traitsIwEED0Ev
+
+Construction vtable for std::basic_ostream<wchar_t, std::char_traits<wchar_t> > (0x7f5e19d5d770 instance) in std::basic_iostream<wchar_t, std::char_traits<wchar_t> >
+std::basic_iostream<wchar_t, std::char_traits<wchar_t> >::_ZTCSt14basic_iostreamIwSt11char_traitsIwEE16_St13basic_ostreamIwS1_E: 10u entries
+0 8u
+8 (int (*)(...))0
+16 (int (*)(...))(& _ZTISt13basic_ostreamIwSt11char_traitsIwEE)
+24 std::basic_ostream<_CharT, _Traits>::~basic_ostream [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
+32 std::basic_ostream<_CharT, _Traits>::~basic_ostream [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
+40 -8u
+48 (int (*)(...))-0x00000000000000008
+56 (int (*)(...))(& _ZTISt13basic_ostreamIwSt11char_traitsIwEE)
+64 std::basic_ostream<wchar_t, std::char_traits<wchar_t> >::_ZTv0_n24_NSt13basic_ostreamIwSt11char_traitsIwEED1Ev
+72 std::basic_ostream<wchar_t, std::char_traits<wchar_t> >::_ZTv0_n24_NSt13basic_ostreamIwSt11char_traitsIwEED0Ev
+
+VTT for std::basic_iostream<wchar_t, std::char_traits<wchar_t> >
+std::basic_iostream<wchar_t, std::char_traits<wchar_t> >::_ZTTSt14basic_iostreamIwSt11char_traitsIwEE: 7u entries
+0 ((& std::basic_iostream<wchar_t, std::char_traits<wchar_t> >::_ZTVSt14basic_iostreamIwSt11char_traitsIwEE) + 24u)
+8 ((& std::basic_iostream<wchar_t, std::char_traits<wchar_t> >::_ZTCSt14basic_iostreamIwSt11char_traitsIwEE0_St13basic_istreamIwS1_E) + 24u)
+16 ((& std::basic_iostream<wchar_t, std::char_traits<wchar_t> >::_ZTCSt14basic_iostreamIwSt11char_traitsIwEE0_St13basic_istreamIwS1_E) + 64u)
+24 ((& std::basic_iostream<wchar_t, std::char_traits<wchar_t> >::_ZTCSt14basic_iostreamIwSt11char_traitsIwEE16_St13basic_ostreamIwS1_E) + 24u)
+32 ((& std::basic_iostream<wchar_t, std::char_traits<wchar_t> >::_ZTCSt14basic_iostreamIwSt11char_traitsIwEE16_St13basic_ostreamIwS1_E) + 64u)
+40 ((& std::basic_iostream<wchar_t, std::char_traits<wchar_t> >::_ZTVSt14basic_iostreamIwSt11char_traitsIwEE) + 104u)
+48 ((& std::basic_iostream<wchar_t, std::char_traits<wchar_t> >::_ZTVSt14basic_iostreamIwSt11char_traitsIwEE) + 64u)
+
+Class QtConcurrent::BlockSizeManager
+ size=96 align=8
+ base size=92 base align=8
+QtConcurrent::BlockSizeManager (0x7f5e19dc7230) 0
+
+Vtable for QFutureWatcherBase
+QFutureWatcherBase::_ZTV18QFutureWatcherBase: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QFutureWatcherBase)
+16 QFutureWatcherBase::metaObject
+24 QFutureWatcherBase::qt_metacast
+32 QFutureWatcherBase::qt_metacall
+40 QFutureWatcherBase::~QFutureWatcherBase
+48 QFutureWatcherBase::~QFutureWatcherBase
+56 QFutureWatcherBase::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QFutureWatcherBase::connectNotify
+104 QFutureWatcherBase::disconnectNotify
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+
+Class QFutureWatcherBase
+ size=16 align=8
+ base size=16 base align=8
+QFutureWatcherBase (0x7f5e19991bd0) 0
+ vptr=((& QFutureWatcherBase::_ZTV18QFutureWatcherBase) + 16u)
+ QObject (0x7f5e19991c40) 0
+ primary-for QFutureWatcherBase (0x7f5e19991bd0)
+
+Vtable for QFactoryInterface
+QFactoryInterface::_ZTV17QFactoryInterface: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QFactoryInterface)
+16 QFactoryInterface::~QFactoryInterface
+24 QFactoryInterface::~QFactoryInterface
+32 __cxa_pure_virtual
+
+Class QFactoryInterface
+ size=8 align=8
+ base size=8 base align=8
+QFactoryInterface (0x7f5e198a9e00) 0 nearly-empty
+ vptr=((& QFactoryInterface::_ZTV17QFactoryInterface) + 16u)
+
+Vtable for QTextCodecFactoryInterface
+QTextCodecFactoryInterface::_ZTV26QTextCodecFactoryInterface: 6u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI26QTextCodecFactoryInterface)
+16 QTextCodecFactoryInterface::~QTextCodecFactoryInterface
+24 QTextCodecFactoryInterface::~QTextCodecFactoryInterface
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+
+Class QTextCodecFactoryInterface
+ size=8 align=8
+ base size=8 base align=8
+QTextCodecFactoryInterface (0x7f5e198cdee0) 0 nearly-empty
+ vptr=((& QTextCodecFactoryInterface::_ZTV26QTextCodecFactoryInterface) + 16u)
+ QFactoryInterface (0x7f5e198cdf50) 0 nearly-empty
+ primary-for QTextCodecFactoryInterface (0x7f5e198cdee0)
+
+Vtable for QTextCodecPlugin
+QTextCodecPlugin::_ZTV16QTextCodecPlugin: 27u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QTextCodecPlugin)
+16 QTextCodecPlugin::metaObject
+24 QTextCodecPlugin::qt_metacast
+32 QTextCodecPlugin::qt_metacall
+40 QTextCodecPlugin::~QTextCodecPlugin
+48 QTextCodecPlugin::~QTextCodecPlugin
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 __cxa_pure_virtual
+136 __cxa_pure_virtual
+144 __cxa_pure_virtual
+152 QTextCodecPlugin::keys
+160 QTextCodecPlugin::create
+168 (int (*)(...))-0x00000000000000010
+176 (int (*)(...))(& _ZTI16QTextCodecPlugin)
+184 QTextCodecPlugin::_ZThn16_N16QTextCodecPluginD1Ev
+192 QTextCodecPlugin::_ZThn16_N16QTextCodecPluginD0Ev
+200 QTextCodecPlugin::_ZThn16_NK16QTextCodecPlugin4keysEv
+208 QTextCodecPlugin::_ZThn16_N16QTextCodecPlugin6createERK7QString
+
+Class QTextCodecPlugin
+ size=24 align=8
+ base size=24 base align=8
+QTextCodecPlugin (0x7f5e198d0e00) 0
+ vptr=((& QTextCodecPlugin::_ZTV16QTextCodecPlugin) + 16u)
+ QObject (0x7f5e198d87e0) 0
+ primary-for QTextCodecPlugin (0x7f5e198d0e00)
+ QTextCodecFactoryInterface (0x7f5e198d8850) 16 nearly-empty
+ vptr=((& QTextCodecPlugin::_ZTV16QTextCodecPlugin) + 184u)
+ QFactoryInterface (0x7f5e198d88c0) 16 nearly-empty
+ primary-for QTextCodecFactoryInterface (0x7f5e198d8850)
+
+Class QLibraryInfo
+ size=1 align=1
+ base size=0 base align=1
+QLibraryInfo (0x7f5e198ee700) 0 empty
+
+Vtable for QTranslator
+QTranslator::_ZTV11QTranslator: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QTranslator)
+16 QTranslator::metaObject
+24 QTranslator::qt_metacast
+32 QTranslator::qt_metacall
+40 QTranslator::~QTranslator
+48 QTranslator::~QTranslator
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QTranslator::translate
+120 QTranslator::isEmpty
+
+Class QTranslator
+ size=16 align=8
+ base size=16 base align=8
+QTranslator (0x7f5e19933000) 0
+ vptr=((& QTranslator::_ZTV11QTranslator) + 16u)
+ QObject (0x7f5e19933070) 0
+ primary-for QTranslator (0x7f5e19933000)
+
+Class __exception
+ size=40 align=8
+ base size=40 base align=8
+__exception (0x7f5e19943f50) 0
+
+Vtable for QMimeData
+QMimeData::_ZTV9QMimeData: 17u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QMimeData)
+16 QMimeData::metaObject
+24 QMimeData::qt_metacast
+32 QMimeData::qt_metacall
+40 QMimeData::~QMimeData
+48 QMimeData::~QMimeData
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QMimeData::hasFormat
+120 QMimeData::formats
+128 QMimeData::retrieveData
+
+Class QMimeData
+ size=16 align=8
+ base size=16 base align=8
+QMimeData (0x7f5e197b0150) 0
+ vptr=((& QMimeData::_ZTV9QMimeData) + 16u)
+ QObject (0x7f5e197b01c0) 0
+ primary-for QMimeData (0x7f5e197b0150)
+
+Vtable for QEventLoop
+QEventLoop::_ZTV10QEventLoop: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QEventLoop)
+16 QEventLoop::metaObject
+24 QEventLoop::qt_metacast
+32 QEventLoop::qt_metacall
+40 QEventLoop::~QEventLoop
+48 QEventLoop::~QEventLoop
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QEventLoop
+ size=16 align=8
+ base size=16 base align=8
+QEventLoop (0x7f5e197c79a0) 0
+ vptr=((& QEventLoop::_ZTV10QEventLoop) + 16u)
+ QObject (0x7f5e197c7a10) 0
+ primary-for QEventLoop (0x7f5e197c79a0)
+
+Vtable for QEvent
+QEvent::_ZTV6QEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI6QEvent)
+16 QEvent::~QEvent
+24 QEvent::~QEvent
+
+Class QEvent
+ size=24 align=8
+ base size=20 base align=8
+QEvent (0x7f5e1980a310) 0
+ vptr=((& QEvent::_ZTV6QEvent) + 16u)
+
+Vtable for QTimerEvent
+QTimerEvent::_ZTV11QTimerEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QTimerEvent)
+16 QTimerEvent::~QTimerEvent
+24 QTimerEvent::~QTimerEvent
+
+Class QTimerEvent
+ size=24 align=8
+ base size=24 base align=8
+QTimerEvent (0x7f5e19822ee0) 0
+ vptr=((& QTimerEvent::_ZTV11QTimerEvent) + 16u)
+ QEvent (0x7f5e19822f50) 0
+ primary-for QTimerEvent (0x7f5e19822ee0)
+
+Vtable for QChildEvent
+QChildEvent::_ZTV11QChildEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QChildEvent)
+16 QChildEvent::~QChildEvent
+24 QChildEvent::~QChildEvent
+
+Class QChildEvent
+ size=32 align=8
+ base size=32 base align=8
+QChildEvent (0x7f5e19824380) 0
+ vptr=((& QChildEvent::_ZTV11QChildEvent) + 16u)
+ QEvent (0x7f5e198243f0) 0
+ primary-for QChildEvent (0x7f5e19824380)
+
+Vtable for QCustomEvent
+QCustomEvent::_ZTV12QCustomEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QCustomEvent)
+16 QCustomEvent::~QCustomEvent
+24 QCustomEvent::~QCustomEvent
+
+Class QCustomEvent
+ size=24 align=8
+ base size=20 base align=8
+QCustomEvent (0x7f5e19837620) 0
+ vptr=((& QCustomEvent::_ZTV12QCustomEvent) + 16u)
+ QEvent (0x7f5e19837690) 0
+ primary-for QCustomEvent (0x7f5e19837620)
+
+Vtable for QDynamicPropertyChangeEvent
+QDynamicPropertyChangeEvent::_ZTV27QDynamicPropertyChangeEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI27QDynamicPropertyChangeEvent)
+16 QDynamicPropertyChangeEvent::~QDynamicPropertyChangeEvent
+24 QDynamicPropertyChangeEvent::~QDynamicPropertyChangeEvent
+
+Class QDynamicPropertyChangeEvent
+ size=32 align=8
+ base size=32 base align=8
+QDynamicPropertyChangeEvent (0x7f5e19837e00) 0
+ vptr=((& QDynamicPropertyChangeEvent::_ZTV27QDynamicPropertyChangeEvent) + 16u)
+ QEvent (0x7f5e19837e70) 0
+ primary-for QDynamicPropertyChangeEvent (0x7f5e19837e00)
+
+Vtable for QCoreApplication
+QCoreApplication::_ZTV16QCoreApplication: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QCoreApplication)
+16 QCoreApplication::metaObject
+24 QCoreApplication::qt_metacast
+32 QCoreApplication::qt_metacall
+40 QCoreApplication::~QCoreApplication
+48 QCoreApplication::~QCoreApplication
+56 QCoreApplication::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QCoreApplication::notify
+120 QCoreApplication::compressEvent
+
+Class QCoreApplication
+ size=16 align=8
+ base size=16 base align=8
+QCoreApplication (0x7f5e19847230) 0
+ vptr=((& QCoreApplication::_ZTV16QCoreApplication) + 16u)
+ QObject (0x7f5e198472a0) 0
+ primary-for QCoreApplication (0x7f5e19847230)
+
+Vtable for QSharedMemory
+QSharedMemory::_ZTV13QSharedMemory: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QSharedMemory)
+16 QSharedMemory::metaObject
+24 QSharedMemory::qt_metacast
+32 QSharedMemory::qt_metacall
+40 QSharedMemory::~QSharedMemory
+48 QSharedMemory::~QSharedMemory
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QSharedMemory
+ size=16 align=8
+ base size=16 base align=8
+QSharedMemory (0x7f5e19671a80) 0
+ vptr=((& QSharedMemory::_ZTV13QSharedMemory) + 16u)
+ QObject (0x7f5e19671af0) 0
+ primary-for QSharedMemory (0x7f5e19671a80)
+
+Class QModelIndex
+ size=24 align=8
+ base size=24 base align=8
+QModelIndex (0x7f5e19691850) 0
+
+Class QPersistentModelIndex
+ size=8 align=8
+ base size=8 base align=8
+QPersistentModelIndex (0x7f5e196b9310) 0
+
+Vtable for QAbstractItemModel
+QAbstractItemModel::_ZTV18QAbstractItemModel: 42u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QAbstractItemModel)
+16 QAbstractItemModel::metaObject
+24 QAbstractItemModel::qt_metacast
+32 QAbstractItemModel::qt_metacall
+40 QAbstractItemModel::~QAbstractItemModel
+48 QAbstractItemModel::~QAbstractItemModel
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 __cxa_pure_virtual
+136 __cxa_pure_virtual
+144 QAbstractItemModel::hasChildren
+152 __cxa_pure_virtual
+160 QAbstractItemModel::setData
+168 QAbstractItemModel::headerData
+176 QAbstractItemModel::setHeaderData
+184 QAbstractItemModel::itemData
+192 QAbstractItemModel::setItemData
+200 QAbstractItemModel::mimeTypes
+208 QAbstractItemModel::mimeData
+216 QAbstractItemModel::dropMimeData
+224 QAbstractItemModel::supportedDropActions
+232 QAbstractItemModel::insertRows
+240 QAbstractItemModel::insertColumns
+248 QAbstractItemModel::removeRows
+256 QAbstractItemModel::removeColumns
+264 QAbstractItemModel::fetchMore
+272 QAbstractItemModel::canFetchMore
+280 QAbstractItemModel::flags
+288 QAbstractItemModel::sort
+296 QAbstractItemModel::buddy
+304 QAbstractItemModel::match
+312 QAbstractItemModel::span
+320 QAbstractItemModel::submit
+328 QAbstractItemModel::revert
+
+Class QAbstractItemModel
+ size=16 align=8
+ base size=16 base align=8
+QAbstractItemModel (0x7f5e196c85b0) 0
+ vptr=((& QAbstractItemModel::_ZTV18QAbstractItemModel) + 16u)
+ QObject (0x7f5e196c8620) 0
+ primary-for QAbstractItemModel (0x7f5e196c85b0)
+
+Vtable for QAbstractTableModel
+QAbstractTableModel::_ZTV19QAbstractTableModel: 42u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QAbstractTableModel)
+16 QAbstractTableModel::metaObject
+24 QAbstractTableModel::qt_metacast
+32 QAbstractTableModel::qt_metacall
+40 QAbstractTableModel::~QAbstractTableModel
+48 QAbstractTableModel::~QAbstractTableModel
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QAbstractTableModel::index
+120 QAbstractTableModel::parent
+128 __cxa_pure_virtual
+136 __cxa_pure_virtual
+144 QAbstractTableModel::hasChildren
+152 __cxa_pure_virtual
+160 QAbstractItemModel::setData
+168 QAbstractItemModel::headerData
+176 QAbstractItemModel::setHeaderData
+184 QAbstractItemModel::itemData
+192 QAbstractItemModel::setItemData
+200 QAbstractItemModel::mimeTypes
+208 QAbstractItemModel::mimeData
+216 QAbstractTableModel::dropMimeData
+224 QAbstractItemModel::supportedDropActions
+232 QAbstractItemModel::insertRows
+240 QAbstractItemModel::insertColumns
+248 QAbstractItemModel::removeRows
+256 QAbstractItemModel::removeColumns
+264 QAbstractItemModel::fetchMore
+272 QAbstractItemModel::canFetchMore
+280 QAbstractItemModel::flags
+288 QAbstractItemModel::sort
+296 QAbstractItemModel::buddy
+304 QAbstractItemModel::match
+312 QAbstractItemModel::span
+320 QAbstractItemModel::submit
+328 QAbstractItemModel::revert
+
+Class QAbstractTableModel
+ size=16 align=8
+ base size=16 base align=8
+QAbstractTableModel (0x7f5e19719930) 0
+ vptr=((& QAbstractTableModel::_ZTV19QAbstractTableModel) + 16u)
+ QAbstractItemModel (0x7f5e197199a0) 0
+ primary-for QAbstractTableModel (0x7f5e19719930)
+ QObject (0x7f5e19719a10) 0
+ primary-for QAbstractItemModel (0x7f5e197199a0)
+
+Vtable for QAbstractListModel
+QAbstractListModel::_ZTV18QAbstractListModel: 42u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QAbstractListModel)
+16 QAbstractListModel::metaObject
+24 QAbstractListModel::qt_metacast
+32 QAbstractListModel::qt_metacall
+40 QAbstractListModel::~QAbstractListModel
+48 QAbstractListModel::~QAbstractListModel
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QAbstractListModel::index
+120 QAbstractListModel::parent
+128 __cxa_pure_virtual
+136 QAbstractListModel::columnCount
+144 QAbstractListModel::hasChildren
+152 __cxa_pure_virtual
+160 QAbstractItemModel::setData
+168 QAbstractItemModel::headerData
+176 QAbstractItemModel::setHeaderData
+184 QAbstractItemModel::itemData
+192 QAbstractItemModel::setItemData
+200 QAbstractItemModel::mimeTypes
+208 QAbstractItemModel::mimeData
+216 QAbstractListModel::dropMimeData
+224 QAbstractItemModel::supportedDropActions
+232 QAbstractItemModel::insertRows
+240 QAbstractItemModel::insertColumns
+248 QAbstractItemModel::removeRows
+256 QAbstractItemModel::removeColumns
+264 QAbstractItemModel::fetchMore
+272 QAbstractItemModel::canFetchMore
+280 QAbstractItemModel::flags
+288 QAbstractItemModel::sort
+296 QAbstractItemModel::buddy
+304 QAbstractItemModel::match
+312 QAbstractItemModel::span
+320 QAbstractItemModel::submit
+328 QAbstractItemModel::revert
+
+Class QAbstractListModel
+ size=16 align=8
+ base size=16 base align=8
+QAbstractListModel (0x7f5e19726ee0) 0
+ vptr=((& QAbstractListModel::_ZTV18QAbstractListModel) + 16u)
+ QAbstractItemModel (0x7f5e19726f50) 0
+ primary-for QAbstractListModel (0x7f5e19726ee0)
+ QObject (0x7f5e19726230) 0
+ primary-for QAbstractItemModel (0x7f5e19726f50)
+
+Vtable for QSignalMapper
+QSignalMapper::_ZTV13QSignalMapper: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QSignalMapper)
+16 QSignalMapper::metaObject
+24 QSignalMapper::qt_metacast
+32 QSignalMapper::qt_metacall
+40 QSignalMapper::~QSignalMapper
+48 QSignalMapper::~QSignalMapper
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QSignalMapper
+ size=16 align=8
+ base size=16 base align=8
+QSignalMapper (0x7f5e19568000) 0
+ vptr=((& QSignalMapper::_ZTV13QSignalMapper) + 16u)
+ QObject (0x7f5e19568070) 0
+ primary-for QSignalMapper (0x7f5e19568000)
+
+Vtable for QObjectCleanupHandler
+QObjectCleanupHandler::_ZTV21QObjectCleanupHandler: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI21QObjectCleanupHandler)
+16 QObjectCleanupHandler::metaObject
+24 QObjectCleanupHandler::qt_metacast
+32 QObjectCleanupHandler::qt_metacall
+40 QObjectCleanupHandler::~QObjectCleanupHandler
+48 QObjectCleanupHandler::~QObjectCleanupHandler
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QObjectCleanupHandler
+ size=24 align=8
+ base size=24 base align=8
+QObjectCleanupHandler (0x7f5e1957e3f0) 0
+ vptr=((& QObjectCleanupHandler::_ZTV21QObjectCleanupHandler) + 16u)
+ QObject (0x7f5e1957e460) 0
+ primary-for QObjectCleanupHandler (0x7f5e1957e3f0)
+
+Class QBasicTimer
+ size=4 align=4
+ base size=4 base align=4
+QBasicTimer (0x7f5e1958e540) 0
+
+Vtable for QSocketNotifier
+QSocketNotifier::_ZTV15QSocketNotifier: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QSocketNotifier)
+16 QSocketNotifier::metaObject
+24 QSocketNotifier::qt_metacast
+32 QSocketNotifier::qt_metacall
+40 QSocketNotifier::~QSocketNotifier
+48 QSocketNotifier::~QSocketNotifier
+56 QSocketNotifier::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QSocketNotifier
+ size=32 align=8
+ base size=25 base align=8
+QSocketNotifier (0x7f5e19598930) 0
+ vptr=((& QSocketNotifier::_ZTV15QSocketNotifier) + 16u)
+ QObject (0x7f5e195989a0) 0
+ primary-for QSocketNotifier (0x7f5e19598930)
+
+Vtable for QTimer
+QTimer::_ZTV6QTimer: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI6QTimer)
+16 QTimer::metaObject
+24 QTimer::qt_metacast
+32 QTimer::qt_metacall
+40 QTimer::~QTimer
+48 QTimer::~QTimer
+56 QObject::event
+64 QObject::eventFilter
+72 QTimer::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QTimer
+ size=32 align=8
+ base size=29 base align=8
+QTimer (0x7f5e195b7cb0) 0
+ vptr=((& QTimer::_ZTV6QTimer) + 16u)
+ QObject (0x7f5e195b7d20) 0
+ primary-for QTimer (0x7f5e195b7cb0)
+
+Vtable for QAbstractEventDispatcher
+QAbstractEventDispatcher::_ZTV24QAbstractEventDispatcher: 27u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI24QAbstractEventDispatcher)
+16 QAbstractEventDispatcher::metaObject
+24 QAbstractEventDispatcher::qt_metacast
+32 QAbstractEventDispatcher::qt_metacall
+40 QAbstractEventDispatcher::~QAbstractEventDispatcher
+48 QAbstractEventDispatcher::~QAbstractEventDispatcher
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 __cxa_pure_virtual
+136 __cxa_pure_virtual
+144 __cxa_pure_virtual
+152 __cxa_pure_virtual
+160 __cxa_pure_virtual
+168 __cxa_pure_virtual
+176 __cxa_pure_virtual
+184 __cxa_pure_virtual
+192 __cxa_pure_virtual
+200 QAbstractEventDispatcher::startingUp
+208 QAbstractEventDispatcher::closingDown
+
+Class QAbstractEventDispatcher
+ size=16 align=8
+ base size=16 base align=8
+QAbstractEventDispatcher (0x7f5e195da2a0) 0
+ vptr=((& QAbstractEventDispatcher::_ZTV24QAbstractEventDispatcher) + 16u)
+ QObject (0x7f5e195da310) 0
+ primary-for QAbstractEventDispatcher (0x7f5e195da2a0)
+
+Class QMetaMethod
+ size=16 align=8
+ base size=12 base align=8
+QMetaMethod (0x7f5e195f5150) 0
+
+Class QMetaEnum
+ size=16 align=8
+ base size=12 base align=8
+QMetaEnum (0x7f5e196115b0) 0
+
+Class QMetaProperty
+ size=32 align=8
+ base size=32 base align=8
+QMetaProperty (0x7f5e1961b310) 0
+
+Class QMetaClassInfo
+ size=16 align=8
+ base size=12 base align=8
+QMetaClassInfo (0x7f5e1961b9a0) 0
+
+Class QSystemSemaphore
+ size=8 align=8
+ base size=8 base align=8
+QSystemSemaphore (0x7f5e1962f4d0) 0
+
+Vtable for QLibrary
+QLibrary::_ZTV8QLibrary: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI8QLibrary)
+16 QLibrary::metaObject
+24 QLibrary::qt_metacast
+32 QLibrary::qt_metacall
+40 QLibrary::~QLibrary
+48 QLibrary::~QLibrary
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QLibrary
+ size=32 align=8
+ base size=25 base align=8
+QLibrary (0x7f5e1962fe00) 0
+ vptr=((& QLibrary::_ZTV8QLibrary) + 16u)
+ QObject (0x7f5e1962fe70) 0
+ primary-for QLibrary (0x7f5e1962fe00)
+
+Vtable for QPluginLoader
+QPluginLoader::_ZTV13QPluginLoader: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QPluginLoader)
+16 QPluginLoader::metaObject
+24 QPluginLoader::qt_metacast
+32 QPluginLoader::qt_metacall
+40 QPluginLoader::~QPluginLoader
+48 QPluginLoader::~QPluginLoader
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QPluginLoader
+ size=32 align=8
+ base size=25 base align=8
+QPluginLoader (0x7f5e194748c0) 0
+ vptr=((& QPluginLoader::_ZTV13QPluginLoader) + 16u)
+ QObject (0x7f5e19474930) 0
+ primary-for QPluginLoader (0x7f5e194748c0)
+
+Class QUuid
+ size=16 align=4
+ base size=16 base align=4
+QUuid (0x7f5e19498070) 0
+
+Class QSemaphore
+ size=8 align=8
+ base size=8 base align=8
+QSemaphore (0x7f5e194b89a0) 0
+
+Class QThreadStorageData
+ size=4 align=4
+ base size=4 base align=4
+QThreadStorageData (0x7f5e194b8ee0) 0
+
+Class QReadWriteLock
+ size=8 align=8
+ base size=8 base align=8
+QReadWriteLock (0x7f5e194c9690) 0
+
+Class QReadLocker
+ size=8 align=8
+ base size=8 base align=8
+QReadLocker (0x7f5e194c9d20) 0
+
+Class QWriteLocker
+ size=8 align=8
+ base size=8 base align=8
+QWriteLocker (0x7f5e194f70e0) 0
+
+Class QSqlRecord
+ size=8 align=8
+ base size=8 base align=8
+QSqlRecord (0x7f5e1950a460) 0
+
+Class QSqlIndex
+ size=32 align=8
+ base size=32 base align=8
+QSqlIndex (0x7f5e1951d0e0) 0
+ QSqlRecord (0x7f5e1951d150) 0
+
+Vtable for QSqlResult
+QSqlResult::_ZTV10QSqlResult: 29u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QSqlResult)
+16 QSqlResult::~QSqlResult
+24 QSqlResult::~QSqlResult
+32 QSqlResult::handle
+40 QSqlResult::setAt
+48 QSqlResult::setActive
+56 QSqlResult::setLastError
+64 QSqlResult::setQuery
+72 QSqlResult::setSelect
+80 QSqlResult::setForwardOnly
+88 QSqlResult::exec
+96 QSqlResult::prepare
+104 QSqlResult::savePrepare
+112 QSqlResult::bindValue
+120 QSqlResult::bindValue
+128 __cxa_pure_virtual
+136 __cxa_pure_virtual
+144 __cxa_pure_virtual
+152 __cxa_pure_virtual
+160 QSqlResult::fetchNext
+168 QSqlResult::fetchPrevious
+176 __cxa_pure_virtual
+184 __cxa_pure_virtual
+192 __cxa_pure_virtual
+200 __cxa_pure_virtual
+208 QSqlResult::record
+216 QSqlResult::lastInsertId
+224 QSqlResult::virtual_hook
+
+Class QSqlResult
+ size=16 align=8
+ base size=16 base align=8
+QSqlResult (0x7f5e1936f620) 0
+ vptr=((& QSqlResult::_ZTV10QSqlResult) + 16u)
+
+Vtable for QSqlDriverCreatorBase
+QSqlDriverCreatorBase::_ZTV21QSqlDriverCreatorBase: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI21QSqlDriverCreatorBase)
+16 QSqlDriverCreatorBase::~QSqlDriverCreatorBase
+24 QSqlDriverCreatorBase::~QSqlDriverCreatorBase
+32 __cxa_pure_virtual
+
+Class QSqlDriverCreatorBase
+ size=8 align=8
+ base size=8 base align=8
+QSqlDriverCreatorBase (0x7f5e1936fee0) 0 nearly-empty
+ vptr=((& QSqlDriverCreatorBase::_ZTV21QSqlDriverCreatorBase) + 16u)
+
+Class QSqlDatabase
+ size=8 align=8
+ base size=8 base align=8
+QSqlDatabase (0x7f5e1939c9a0) 0
+
+Class QSqlQuery
+ size=8 align=8
+ base size=8 base align=8
+QSqlQuery (0x7f5e193acd90) 0
+
+Vtable for QSqlDriverFactoryInterface
+QSqlDriverFactoryInterface::_ZTV26QSqlDriverFactoryInterface: 6u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI26QSqlDriverFactoryInterface)
+16 QSqlDriverFactoryInterface::~QSqlDriverFactoryInterface
+24 QSqlDriverFactoryInterface::~QSqlDriverFactoryInterface
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+
+Class QSqlDriverFactoryInterface
+ size=8 align=8
+ base size=8 base align=8
+QSqlDriverFactoryInterface (0x7f5e193b8850) 0 nearly-empty
+ vptr=((& QSqlDriverFactoryInterface::_ZTV26QSqlDriverFactoryInterface) + 16u)
+ QFactoryInterface (0x7f5e193b88c0) 0 nearly-empty
+ primary-for QSqlDriverFactoryInterface (0x7f5e193b8850)
+
+Vtable for QSqlDriverPlugin
+QSqlDriverPlugin::_ZTV16QSqlDriverPlugin: 22u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QSqlDriverPlugin)
+16 QSqlDriverPlugin::metaObject
+24 QSqlDriverPlugin::qt_metacast
+32 QSqlDriverPlugin::qt_metacall
+40 QSqlDriverPlugin::~QSqlDriverPlugin
+48 QSqlDriverPlugin::~QSqlDriverPlugin
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 (int (*)(...))-0x00000000000000010
+136 (int (*)(...))(& _ZTI16QSqlDriverPlugin)
+144 QSqlDriverPlugin::_ZThn16_N16QSqlDriverPluginD1Ev
+152 QSqlDriverPlugin::_ZThn16_N16QSqlDriverPluginD0Ev
+160 __cxa_pure_virtual
+168 __cxa_pure_virtual
+
+Class QSqlDriverPlugin
+ size=24 align=8
+ base size=24 base align=8
+QSqlDriverPlugin (0x7f5e193a2c80) 0
+ vptr=((& QSqlDriverPlugin::_ZTV16QSqlDriverPlugin) + 16u)
+ QObject (0x7f5e193d10e0) 0
+ primary-for QSqlDriverPlugin (0x7f5e193a2c80)
+ QSqlDriverFactoryInterface (0x7f5e193d1150) 16 nearly-empty
+ vptr=((& QSqlDriverPlugin::_ZTV16QSqlDriverPlugin) + 144u)
+ QFactoryInterface (0x7f5e193d11c0) 16 nearly-empty
+ primary-for QSqlDriverFactoryInterface (0x7f5e193d1150)
+
+Vtable for QSqlDriver
+QSqlDriver::_ZTV10QSqlDriver: 32u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QSqlDriver)
+16 QSqlDriver::metaObject
+24 QSqlDriver::qt_metacast
+32 QSqlDriver::qt_metacall
+40 QSqlDriver::~QSqlDriver
+48 QSqlDriver::~QSqlDriver
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QSqlDriver::isOpen
+120 QSqlDriver::beginTransaction
+128 QSqlDriver::commitTransaction
+136 QSqlDriver::rollbackTransaction
+144 QSqlDriver::tables
+152 QSqlDriver::primaryIndex
+160 QSqlDriver::record
+168 QSqlDriver::formatValue
+176 QSqlDriver::escapeIdentifier
+184 QSqlDriver::sqlStatement
+192 QSqlDriver::handle
+200 __cxa_pure_virtual
+208 __cxa_pure_virtual
+216 __cxa_pure_virtual
+224 __cxa_pure_virtual
+232 QSqlDriver::setOpen
+240 QSqlDriver::setOpenError
+248 QSqlDriver::setLastError
+
+Class QSqlDriver
+ size=16 align=8
+ base size=16 base align=8
+QSqlDriver (0x7f5e193e3070) 0
+ vptr=((& QSqlDriver::_ZTV10QSqlDriver) + 16u)
+ QObject (0x7f5e193e30e0) 0
+ primary-for QSqlDriver (0x7f5e193e3070)
+
+Class QSqlError
+ size=24 align=8
+ base size=24 base align=8
+QSqlError (0x7f5e1940a700) 0
+
+Class QSqlField
+ size=24 align=8
+ base size=24 base align=8
+QSqlField (0x7f5e19413620) 0
+
+Vtable for QSqlQueryModel
+QSqlQueryModel::_ZTV14QSqlQueryModel: 44u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QSqlQueryModel)
+16 QSqlQueryModel::metaObject
+24 QSqlQueryModel::qt_metacast
+32 QSqlQueryModel::qt_metacall
+40 QSqlQueryModel::~QSqlQueryModel
+48 QSqlQueryModel::~QSqlQueryModel
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QAbstractTableModel::index
+120 QAbstractTableModel::parent
+128 QSqlQueryModel::rowCount
+136 QSqlQueryModel::columnCount
+144 QAbstractTableModel::hasChildren
+152 QSqlQueryModel::data
+160 QAbstractItemModel::setData
+168 QSqlQueryModel::headerData
+176 QSqlQueryModel::setHeaderData
+184 QAbstractItemModel::itemData
+192 QAbstractItemModel::setItemData
+200 QAbstractItemModel::mimeTypes
+208 QAbstractItemModel::mimeData
+216 QAbstractTableModel::dropMimeData
+224 QAbstractItemModel::supportedDropActions
+232 QAbstractItemModel::insertRows
+240 QSqlQueryModel::insertColumns
+248 QAbstractItemModel::removeRows
+256 QSqlQueryModel::removeColumns
+264 QSqlQueryModel::fetchMore
+272 QSqlQueryModel::canFetchMore
+280 QAbstractItemModel::flags
+288 QAbstractItemModel::sort
+296 QAbstractItemModel::buddy
+304 QAbstractItemModel::match
+312 QAbstractItemModel::span
+320 QAbstractItemModel::submit
+328 QAbstractItemModel::revert
+336 QSqlQueryModel::clear
+344 QSqlQueryModel::queryChange
+
+Class QSqlQueryModel
+ size=16 align=8
+ base size=16 base align=8
+QSqlQueryModel (0x7f5e19424ee0) 0
+ vptr=((& QSqlQueryModel::_ZTV14QSqlQueryModel) + 16u)
+ QAbstractTableModel (0x7f5e19424f50) 0
+ primary-for QSqlQueryModel (0x7f5e19424ee0)
+ QAbstractItemModel (0x7f5e1942e000) 0
+ primary-for QAbstractTableModel (0x7f5e19424f50)
+ QObject (0x7f5e1942e070) 0
+ primary-for QAbstractItemModel (0x7f5e1942e000)
+
+Vtable for QSqlTableModel
+QSqlTableModel::_ZTV14QSqlTableModel: 55u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QSqlTableModel)
+16 QSqlTableModel::metaObject
+24 QSqlTableModel::qt_metacast
+32 QSqlTableModel::qt_metacall
+40 QSqlTableModel::~QSqlTableModel
+48 QSqlTableModel::~QSqlTableModel
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QAbstractTableModel::index
+120 QAbstractTableModel::parent
+128 QSqlTableModel::rowCount
+136 QSqlQueryModel::columnCount
+144 QAbstractTableModel::hasChildren
+152 QSqlTableModel::data
+160 QSqlTableModel::setData
+168 QSqlTableModel::headerData
+176 QSqlQueryModel::setHeaderData
+184 QAbstractItemModel::itemData
+192 QAbstractItemModel::setItemData
+200 QAbstractItemModel::mimeTypes
+208 QAbstractItemModel::mimeData
+216 QAbstractTableModel::dropMimeData
+224 QAbstractItemModel::supportedDropActions
+232 QSqlTableModel::insertRows
+240 QSqlQueryModel::insertColumns
+248 QSqlTableModel::removeRows
+256 QSqlTableModel::removeColumns
+264 QSqlQueryModel::fetchMore
+272 QSqlQueryModel::canFetchMore
+280 QSqlTableModel::flags
+288 QSqlTableModel::sort
+296 QAbstractItemModel::buddy
+304 QAbstractItemModel::match
+312 QAbstractItemModel::span
+320 QSqlTableModel::submit
+328 QSqlTableModel::revert
+336 QSqlTableModel::clear
+344 QSqlQueryModel::queryChange
+352 QSqlTableModel::select
+360 QSqlTableModel::setTable
+368 QSqlTableModel::setEditStrategy
+376 QSqlTableModel::setSort
+384 QSqlTableModel::setFilter
+392 QSqlTableModel::revertRow
+400 QSqlTableModel::updateRowInTable
+408 QSqlTableModel::insertRowIntoTable
+416 QSqlTableModel::deleteRowFromTable
+424 QSqlTableModel::orderByClause
+432 QSqlTableModel::selectStatement
+
+Class QSqlTableModel
+ size=16 align=8
+ base size=16 base align=8
+QSqlTableModel (0x7f5e1944c850) 0
+ vptr=((& QSqlTableModel::_ZTV14QSqlTableModel) + 16u)
+ QSqlQueryModel (0x7f5e1944c8c0) 0
+ primary-for QSqlTableModel (0x7f5e1944c850)
+ QAbstractTableModel (0x7f5e1944c930) 0
+ primary-for QSqlQueryModel (0x7f5e1944c8c0)
+ QAbstractItemModel (0x7f5e1944c9a0) 0
+ primary-for QAbstractTableModel (0x7f5e1944c930)
+ QObject (0x7f5e1944ca10) 0
+ primary-for QAbstractItemModel (0x7f5e1944c9a0)
+
+Class QSqlRelation
+ size=24 align=8
+ base size=24 base align=8
+QSqlRelation (0x7f5e19279380) 0
+
+Vtable for QSqlRelationalTableModel
+QSqlRelationalTableModel::_ZTV24QSqlRelationalTableModel: 57u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI24QSqlRelationalTableModel)
+16 QSqlRelationalTableModel::metaObject
+24 QSqlRelationalTableModel::qt_metacast
+32 QSqlRelationalTableModel::qt_metacall
+40 QSqlRelationalTableModel::~QSqlRelationalTableModel
+48 QSqlRelationalTableModel::~QSqlRelationalTableModel
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QAbstractTableModel::index
+120 QAbstractTableModel::parent
+128 QSqlTableModel::rowCount
+136 QSqlQueryModel::columnCount
+144 QAbstractTableModel::hasChildren
+152 QSqlRelationalTableModel::data
+160 QSqlRelationalTableModel::setData
+168 QSqlTableModel::headerData
+176 QSqlQueryModel::setHeaderData
+184 QAbstractItemModel::itemData
+192 QAbstractItemModel::setItemData
+200 QAbstractItemModel::mimeTypes
+208 QAbstractItemModel::mimeData
+216 QAbstractTableModel::dropMimeData
+224 QAbstractItemModel::supportedDropActions
+232 QSqlTableModel::insertRows
+240 QSqlQueryModel::insertColumns
+248 QSqlTableModel::removeRows
+256 QSqlRelationalTableModel::removeColumns
+264 QSqlQueryModel::fetchMore
+272 QSqlQueryModel::canFetchMore
+280 QSqlTableModel::flags
+288 QSqlTableModel::sort
+296 QAbstractItemModel::buddy
+304 QAbstractItemModel::match
+312 QAbstractItemModel::span
+320 QSqlTableModel::submit
+328 QSqlTableModel::revert
+336 QSqlRelationalTableModel::clear
+344 QSqlQueryModel::queryChange
+352 QSqlRelationalTableModel::select
+360 QSqlRelationalTableModel::setTable
+368 QSqlTableModel::setEditStrategy
+376 QSqlTableModel::setSort
+384 QSqlTableModel::setFilter
+392 QSqlRelationalTableModel::revertRow
+400 QSqlRelationalTableModel::updateRowInTable
+408 QSqlRelationalTableModel::insertRowIntoTable
+416 QSqlTableModel::deleteRowFromTable
+424 QSqlRelationalTableModel::orderByClause
+432 QSqlRelationalTableModel::selectStatement
+440 QSqlRelationalTableModel::setRelation
+448 QSqlRelationalTableModel::relationModel
+
+Class QSqlRelationalTableModel
+ size=16 align=8
+ base size=16 base align=8
+QSqlRelationalTableModel (0x7f5e1928ecb0) 0
+ vptr=((& QSqlRelationalTableModel::_ZTV24QSqlRelationalTableModel) + 16u)
+ QSqlTableModel (0x7f5e1928ed20) 0
+ primary-for QSqlRelationalTableModel (0x7f5e1928ecb0)
+ QSqlQueryModel (0x7f5e1928ed90) 0
+ primary-for QSqlTableModel (0x7f5e1928ed20)
+ QAbstractTableModel (0x7f5e1928ee00) 0
+ primary-for QSqlQueryModel (0x7f5e1928ed90)
+ QAbstractItemModel (0x7f5e1928ee70) 0
+ primary-for QAbstractTableModel (0x7f5e1928ee00)
+ QObject (0x7f5e1928eee0) 0
+ primary-for QAbstractItemModel (0x7f5e1928ee70)
+
diff --git a/tests/auto/bic/data/QtSql.4.6.0.linux-gcc-amd64.txt b/tests/auto/bic/data/QtSql.4.6.0.linux-gcc-amd64.txt
new file mode 100644
index 0000000000..2115a2aead
--- /dev/null
+++ b/tests/auto/bic/data/QtSql.4.6.0.linux-gcc-amd64.txt
@@ -0,0 +1,3016 @@
+Class QSysInfo
+ size=1 align=1
+ base size=0 base align=1
+QSysInfo (0x7f2cf04c8230) 0 empty
+
+Class QBool
+ size=1 align=1
+ base size=1 base align=1
+QBool (0x7f2cf04c8e70) 0
+
+Class qIsNull(double)::U
+ size=8 align=8
+ base size=8 base align=8
+qIsNull(double)::U (0x7f2cefcda540) 0
+
+Class qIsNull(float)::U
+ size=4 align=4
+ base size=4 base align=4
+qIsNull(float)::U (0x7f2cefcda7e0) 0
+
+Class QFlag
+ size=4 align=4
+ base size=4 base align=4
+QFlag (0x7f2cefd12690) 0
+
+Class QIncompatibleFlag
+ size=4 align=4
+ base size=4 base align=4
+QIncompatibleFlag (0x7f2cefd12e70) 0
+
+Class QLatin1Char
+ size=1 align=1
+ base size=1 base align=1
+QLatin1Char (0x7f2cefd425b0) 0
+
+Class QChar
+ size=2 align=2
+ base size=2 base align=2
+QChar (0x7f2cefd69150) 0
+
+Class QBasicAtomicInt
+ size=4 align=4
+ base size=4 base align=4
+QBasicAtomicInt (0x7f2cefbd0310) 0
+
+Class QAtomicInt
+ size=4 align=4
+ base size=4 base align=4
+QAtomicInt (0x7f2cefc0ecb0) 0
+ QBasicAtomicInt (0x7f2cefc0ed20) 0
+
+Class QInternal
+ size=1 align=1
+ base size=0 base align=1
+QInternal (0x7f2cefa624d0) 0 empty
+
+Class __locale_struct
+ size=232 align=8
+ base size=232 base align=8
+__locale_struct (0x7f2cefa62700) 0
+
+Class QByteArray::Data
+ size=32 align=8
+ base size=32 base align=8
+QByteArray::Data (0x7f2cefa9daf0) 0
+
+Class QByteArray
+ size=8 align=8
+ base size=8 base align=8
+QByteArray (0x7f2cefa9da80) 0
+
+Class QByteRef
+ size=16 align=8
+ base size=12 base align=8
+QByteRef (0x7f2cef940380) 0
+
+Class QString::Null
+ size=1 align=1
+ base size=0 base align=1
+QString::Null (0x7f2cef7ffd20) 0 empty
+
+Class QString::Data
+ size=32 align=8
+ base size=32 base align=8
+QString::Data (0x7f2cef8185b0) 0
+
+Class QString
+ size=8 align=8
+ base size=8 base align=8
+QString (0x7f2cef779bd0) 0
+
+Class QLatin1String
+ size=8 align=8
+ base size=8 base align=8
+QLatin1String (0x7f2cef6ef9a0) 0
+
+Class QCharRef
+ size=16 align=8
+ base size=12 base align=8
+QCharRef (0x7f2cef58e000) 0
+
+Class QConstString
+ size=8 align=8
+ base size=8 base align=8
+QConstString (0x7f2cef4d88c0) 0
+ QString (0x7f2cef4d8930) 0
+
+Class QStringRef
+ size=16 align=8
+ base size=16 base align=8
+QStringRef (0x7f2cef4fe310) 0
+
+Class QGenericArgument
+ size=16 align=8
+ base size=16 base align=8
+QGenericArgument (0x7f2cef376700) 0
+
+Class QGenericReturnArgument
+ size=16 align=8
+ base size=16 base align=8
+QGenericReturnArgument (0x7f2cef3802a0) 0
+ QGenericArgument (0x7f2cef380310) 0
+
+Class QMetaObject
+ size=32 align=8
+ base size=32 base align=8
+QMetaObject (0x7f2cef380b60) 0
+
+Class QMetaObjectExtraData
+ size=16 align=8
+ base size=16 base align=8
+QMetaObjectExtraData (0x7f2cef3a9bd0) 0
+
+Vtable for std::exception
+std::exception::_ZTVSt9exception: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt9exception)
+16 std::exception::~exception
+24 std::exception::~exception
+32 std::exception::what
+
+Class std::exception
+ size=8 align=8
+ base size=8 base align=8
+std::exception (0x7f2cef3fe1c0) 0 nearly-empty
+ vptr=((& std::exception::_ZTVSt9exception) + 16u)
+
+Vtable for std::bad_exception
+std::bad_exception::_ZTVSt13bad_exception: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt13bad_exception)
+16 std::bad_exception::~bad_exception
+24 std::bad_exception::~bad_exception
+32 std::bad_exception::what
+
+Class std::bad_exception
+ size=8 align=8
+ base size=8 base align=8
+std::bad_exception (0x7f2cef3fe770) 0 nearly-empty
+ vptr=((& std::bad_exception::_ZTVSt13bad_exception) + 16u)
+ std::exception (0x7f2cef3fe7e0) 0 nearly-empty
+ primary-for std::bad_exception (0x7f2cef3fe770)
+
+Vtable for std::bad_alloc
+std::bad_alloc::_ZTVSt9bad_alloc: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt9bad_alloc)
+16 std::bad_alloc::~bad_alloc
+24 std::bad_alloc::~bad_alloc
+32 std::bad_alloc::what
+
+Class std::bad_alloc
+ size=8 align=8
+ base size=8 base align=8
+std::bad_alloc (0x7f2cef3fe930) 0 nearly-empty
+ vptr=((& std::bad_alloc::_ZTVSt9bad_alloc) + 16u)
+ std::exception (0x7f2cef414000) 0 nearly-empty
+ primary-for std::bad_alloc (0x7f2cef3fe930)
+
+Class std::nothrow_t
+ size=1 align=1
+ base size=0 base align=1
+std::nothrow_t (0x7f2cef414850) 0 empty
+
+Class QListData::Data
+ size=32 align=8
+ base size=32 base align=8
+QListData::Data (0x7f2cef414d90) 0
+
+Class QListData
+ size=8 align=8
+ base size=8 base align=8
+QListData (0x7f2cef414d20) 0
+
+Class QScopedPointerPodDeleter
+ size=1 align=1
+ base size=0 base align=1
+QScopedPointerPodDeleter (0x7f2cef33e850) 0 empty
+
+Vtable for QObjectData
+QObjectData::_ZTV11QObjectData: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QObjectData)
+16 __cxa_pure_virtual
+24 __cxa_pure_virtual
+
+Class QObjectData
+ size=48 align=8
+ base size=48 base align=8
+QObjectData (0x7f2cef35f2a0) 0
+ vptr=((& QObjectData::_ZTV11QObjectData) + 16u)
+
+Vtable for QObject
+QObject::_ZTV7QObject: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QObject)
+16 QObject::metaObject
+24 QObject::qt_metacast
+32 QObject::qt_metacall
+40 QObject::~QObject
+48 QObject::~QObject
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QObject
+ size=16 align=8
+ base size=16 base align=8
+QObject (0x7f2cef35f5b0) 0
+ vptr=((& QObject::_ZTV7QObject) + 16u)
+
+Vtable for QObjectUserData
+QObjectUserData::_ZTV15QObjectUserData: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QObjectUserData)
+16 QObjectUserData::~QObjectUserData
+24 QObjectUserData::~QObjectUserData
+
+Class QObjectUserData
+ size=8 align=8
+ base size=8 base align=8
+QObjectUserData (0x7f2cef1d3b60) 0 nearly-empty
+ vptr=((& QObjectUserData::_ZTV15QObjectUserData) + 16u)
+
+Vtable for QIODevice
+QIODevice::_ZTV9QIODevice: 30u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QIODevice)
+16 QIODevice::metaObject
+24 QIODevice::qt_metacast
+32 QIODevice::qt_metacall
+40 QIODevice::~QIODevice
+48 QIODevice::~QIODevice
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QIODevice::isSequential
+120 QIODevice::open
+128 QIODevice::close
+136 QIODevice::pos
+144 QIODevice::size
+152 QIODevice::seek
+160 QIODevice::atEnd
+168 QIODevice::reset
+176 QIODevice::bytesAvailable
+184 QIODevice::bytesToWrite
+192 QIODevice::canReadLine
+200 QIODevice::waitForReadyRead
+208 QIODevice::waitForBytesWritten
+216 __cxa_pure_virtual
+224 QIODevice::readLineData
+232 __cxa_pure_virtual
+
+Class QIODevice
+ size=16 align=8
+ base size=16 base align=8
+QIODevice (0x7f2cef1e3150) 0
+ vptr=((& QIODevice::_ZTV9QIODevice) + 16u)
+ QObject (0x7f2cef1e31c0) 0
+ primary-for QIODevice (0x7f2cef1e3150)
+
+Class _IO_marker
+ size=24 align=8
+ base size=24 base align=8
+_IO_marker (0x7f2cef247cb0) 0
+
+Class _IO_FILE
+ size=216 align=8
+ base size=216 base align=8
+_IO_FILE (0x7f2cef247d20) 0
+
+Vtable for QFile
+QFile::_ZTV5QFile: 31u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI5QFile)
+16 QFile::metaObject
+24 QFile::qt_metacast
+32 QFile::qt_metacall
+40 QFile::~QFile
+48 QFile::~QFile
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QFile::isSequential
+120 QFile::open
+128 QFile::close
+136 QFile::pos
+144 QFile::size
+152 QFile::seek
+160 QFile::atEnd
+168 QIODevice::reset
+176 QIODevice::bytesAvailable
+184 QIODevice::bytesToWrite
+192 QIODevice::canReadLine
+200 QIODevice::waitForReadyRead
+208 QIODevice::waitForBytesWritten
+216 QFile::readData
+224 QFile::readLineData
+232 QFile::writeData
+240 QFile::fileEngine
+
+Class QFile
+ size=16 align=8
+ base size=16 base align=8
+QFile (0x7f2cef247e00) 0
+ vptr=((& QFile::_ZTV5QFile) + 16u)
+ QIODevice (0x7f2cef247e70) 0
+ primary-for QFile (0x7f2cef247e00)
+ QObject (0x7f2cef247ee0) 0
+ primary-for QIODevice (0x7f2cef247e70)
+
+Class QFileInfo
+ size=8 align=8
+ base size=8 base align=8
+QFileInfo (0x7f2cef0e8070) 0
+
+Vtable for QDataStream
+QDataStream::_ZTV11QDataStream: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QDataStream)
+16 QDataStream::~QDataStream
+24 QDataStream::~QDataStream
+
+Class QDataStream
+ size=40 align=8
+ base size=40 base align=8
+QDataStream (0x7f2cef13ca10) 0
+ vptr=((& QDataStream::_ZTV11QDataStream) + 16u)
+
+Class QRegExp
+ size=8 align=8
+ base size=8 base align=8
+QRegExp (0x7f2ceefa5e70) 0
+
+Class QStringMatcher::Data
+ size=272 align=8
+ base size=272 base align=8
+QStringMatcher::Data (0x7f2cef00e2a0) 0
+
+Class QStringMatcher
+ size=1048 align=8
+ base size=1048 base align=8
+QStringMatcher (0x7f2cef001c40) 0
+
+Class QStringList
+ size=8 align=8
+ base size=8 base align=8
+QStringList (0x7f2cef00e850) 0
+ QList<QString> (0x7f2cef00e8c0) 0
+
+Class QDir
+ size=8 align=8
+ base size=8 base align=8
+QDir (0x7f2ceeeac4d0) 0
+
+Class QAbstractFileEngine::ExtensionOption
+ size=1 align=1
+ base size=0 base align=1
+QAbstractFileEngine::ExtensionOption (0x7f2ceef548c0) 0 empty
+
+Class QAbstractFileEngine::ExtensionReturn
+ size=1 align=1
+ base size=0 base align=1
+QAbstractFileEngine::ExtensionReturn (0x7f2ceef54930) 0 empty
+
+Class QAbstractFileEngine::MapExtensionOption
+ size=24 align=8
+ base size=20 base align=8
+QAbstractFileEngine::MapExtensionOption (0x7f2ceef549a0) 0
+ QAbstractFileEngine::ExtensionOption (0x7f2ceef54a10) 0 empty
+
+Class QAbstractFileEngine::MapExtensionReturn
+ size=8 align=8
+ base size=8 base align=8
+QAbstractFileEngine::MapExtensionReturn (0x7f2ceef54bd0) 0
+ QAbstractFileEngine::ExtensionReturn (0x7f2ceef54c40) 0 empty
+
+Class QAbstractFileEngine::UnMapExtensionOption
+ size=8 align=8
+ base size=8 base align=8
+QAbstractFileEngine::UnMapExtensionOption (0x7f2ceef54cb0) 0
+ QAbstractFileEngine::ExtensionOption (0x7f2ceef54d20) 0 empty
+
+Vtable for QAbstractFileEngine
+QAbstractFileEngine::_ZTV19QAbstractFileEngine: 36u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QAbstractFileEngine)
+16 QAbstractFileEngine::~QAbstractFileEngine
+24 QAbstractFileEngine::~QAbstractFileEngine
+32 QAbstractFileEngine::open
+40 QAbstractFileEngine::close
+48 QAbstractFileEngine::flush
+56 QAbstractFileEngine::size
+64 QAbstractFileEngine::pos
+72 QAbstractFileEngine::seek
+80 QAbstractFileEngine::isSequential
+88 QAbstractFileEngine::remove
+96 QAbstractFileEngine::copy
+104 QAbstractFileEngine::rename
+112 QAbstractFileEngine::link
+120 QAbstractFileEngine::mkdir
+128 QAbstractFileEngine::rmdir
+136 QAbstractFileEngine::setSize
+144 QAbstractFileEngine::caseSensitive
+152 QAbstractFileEngine::isRelativePath
+160 QAbstractFileEngine::entryList
+168 QAbstractFileEngine::fileFlags
+176 QAbstractFileEngine::setPermissions
+184 QAbstractFileEngine::fileName
+192 QAbstractFileEngine::ownerId
+200 QAbstractFileEngine::owner
+208 QAbstractFileEngine::fileTime
+216 QAbstractFileEngine::setFileName
+224 QAbstractFileEngine::handle
+232 QAbstractFileEngine::beginEntryList
+240 QAbstractFileEngine::endEntryList
+248 QAbstractFileEngine::read
+256 QAbstractFileEngine::readLine
+264 QAbstractFileEngine::write
+272 QAbstractFileEngine::extension
+280 QAbstractFileEngine::supportsExtension
+
+Class QAbstractFileEngine
+ size=16 align=8
+ base size=16 base align=8
+QAbstractFileEngine (0x7f2ceef38850) 0
+ vptr=((& QAbstractFileEngine::_ZTV19QAbstractFileEngine) + 16u)
+
+Vtable for QAbstractFileEngineHandler
+QAbstractFileEngineHandler::_ZTV26QAbstractFileEngineHandler: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI26QAbstractFileEngineHandler)
+16 QAbstractFileEngineHandler::~QAbstractFileEngineHandler
+24 QAbstractFileEngineHandler::~QAbstractFileEngineHandler
+32 __cxa_pure_virtual
+
+Class QAbstractFileEngineHandler
+ size=8 align=8
+ base size=8 base align=8
+QAbstractFileEngineHandler (0x7f2ceed8abd0) 0 nearly-empty
+ vptr=((& QAbstractFileEngineHandler::_ZTV26QAbstractFileEngineHandler) + 16u)
+
+Vtable for QAbstractFileEngineIterator
+QAbstractFileEngineIterator::_ZTV27QAbstractFileEngineIterator: 9u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI27QAbstractFileEngineIterator)
+16 QAbstractFileEngineIterator::~QAbstractFileEngineIterator
+24 QAbstractFileEngineIterator::~QAbstractFileEngineIterator
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+48 __cxa_pure_virtual
+56 QAbstractFileEngineIterator::currentFileInfo
+64 QAbstractFileEngineIterator::entryInfo
+
+Class QAbstractFileEngineIterator
+ size=16 align=8
+ base size=16 base align=8
+QAbstractFileEngineIterator (0x7f2ceed8ad90) 0
+ vptr=((& QAbstractFileEngineIterator::_ZTV27QAbstractFileEngineIterator) + 16u)
+
+Vtable for QBuffer
+QBuffer::_ZTV7QBuffer: 30u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QBuffer)
+16 QBuffer::metaObject
+24 QBuffer::qt_metacast
+32 QBuffer::qt_metacall
+40 QBuffer::~QBuffer
+48 QBuffer::~QBuffer
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QBuffer::connectNotify
+104 QBuffer::disconnectNotify
+112 QIODevice::isSequential
+120 QBuffer::open
+128 QBuffer::close
+136 QBuffer::pos
+144 QBuffer::size
+152 QBuffer::seek
+160 QBuffer::atEnd
+168 QIODevice::reset
+176 QIODevice::bytesAvailable
+184 QIODevice::bytesToWrite
+192 QBuffer::canReadLine
+200 QIODevice::waitForReadyRead
+208 QIODevice::waitForBytesWritten
+216 QBuffer::readData
+224 QIODevice::readLineData
+232 QBuffer::writeData
+
+Class QBuffer
+ size=16 align=8
+ base size=16 base align=8
+QBuffer (0x7f2ceed9e690) 0
+ vptr=((& QBuffer::_ZTV7QBuffer) + 16u)
+ QIODevice (0x7f2ceed9e700) 0
+ primary-for QBuffer (0x7f2ceed9e690)
+ QObject (0x7f2ceed9e770) 0
+ primary-for QIODevice (0x7f2ceed9e700)
+
+Class QHashData::Node
+ size=16 align=8
+ base size=16 base align=8
+QHashData::Node (0x7f2ceede0e00) 0
+
+Class QHashData
+ size=40 align=8
+ base size=40 base align=8
+QHashData (0x7f2ceede0d90) 0
+
+Class QHashDummyValue
+ size=1 align=1
+ base size=0 base align=1
+QHashDummyValue (0x7f2ceee01150) 0 empty
+
+Class QMapData::Node
+ size=16 align=8
+ base size=16 base align=8
+QMapData::Node (0x7f2ceed01a80) 0
+
+Class QMapData
+ size=128 align=8
+ base size=128 base align=8
+QMapData (0x7f2ceed01a10) 0
+
+Vtable for QSystemLocale
+QSystemLocale::_ZTV13QSystemLocale: 6u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QSystemLocale)
+16 QSystemLocale::~QSystemLocale
+24 QSystemLocale::~QSystemLocale
+32 QSystemLocale::query
+40 QSystemLocale::fallbackLocale
+
+Class QSystemLocale
+ size=8 align=8
+ base size=8 base align=8
+QSystemLocale (0x7f2ceec3f690) 0 nearly-empty
+ vptr=((& QSystemLocale::_ZTV13QSystemLocale) + 16u)
+
+Class QLocale::Data
+ size=4 align=2
+ base size=4 base align=2
+QLocale::Data (0x7f2ceea87d90) 0
+
+Class QLocale
+ size=8 align=8
+ base size=8 base align=8
+QLocale (0x7f2ceec3faf0) 0
+
+Class QTextCodec::ConverterState
+ size=32 align=8
+ base size=32 base align=8
+QTextCodec::ConverterState (0x7f2ceeadebd0) 0
+
+Vtable for QTextCodec
+QTextCodec::_ZTV10QTextCodec: 9u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QTextCodec)
+16 __cxa_pure_virtual
+24 QTextCodec::aliases
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+48 __cxa_pure_virtual
+56 QTextCodec::~QTextCodec
+64 QTextCodec::~QTextCodec
+
+Class QTextCodec
+ size=8 align=8
+ base size=8 base align=8
+QTextCodec (0x7f2ceead0460) 0 nearly-empty
+ vptr=((& QTextCodec::_ZTV10QTextCodec) + 16u)
+
+Class QTextEncoder
+ size=40 align=8
+ base size=40 base align=8
+QTextEncoder (0x7f2ceeb52150) 0
+
+Class QTextDecoder
+ size=40 align=8
+ base size=40 base align=8
+QTextDecoder (0x7f2ceeb52f50) 0
+
+Vtable for QTextStream
+QTextStream::_ZTV11QTextStream: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QTextStream)
+16 QTextStream::~QTextStream
+24 QTextStream::~QTextStream
+
+Class QTextStream
+ size=16 align=8
+ base size=16 base align=8
+QTextStream (0x7f2ceeb59d90) 0
+ vptr=((& QTextStream::_ZTV11QTextStream) + 16u)
+
+Class QTextStreamManipulator
+ size=40 align=8
+ base size=38 base align=8
+QTextStreamManipulator (0x7f2cee9d2a80) 0
+
+Vtable for QTextIStream
+QTextIStream::_ZTV12QTextIStream: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QTextIStream)
+16 QTextIStream::~QTextIStream
+24 QTextIStream::~QTextIStream
+
+Class QTextIStream
+ size=16 align=8
+ base size=16 base align=8
+QTextIStream (0x7f2ceea03070) 0
+ vptr=((& QTextIStream::_ZTV12QTextIStream) + 16u)
+ QTextStream (0x7f2ceea030e0) 0
+ primary-for QTextIStream (0x7f2ceea03070)
+
+Vtable for QTextOStream
+QTextOStream::_ZTV12QTextOStream: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QTextOStream)
+16 QTextOStream::~QTextOStream
+24 QTextOStream::~QTextOStream
+
+Class QTextOStream
+ size=16 align=8
+ base size=16 base align=8
+QTextOStream (0x7f2ceea10ee0) 0
+ vptr=((& QTextOStream::_ZTV12QTextOStream) + 16u)
+ QTextStream (0x7f2ceea10f50) 0
+ primary-for QTextOStream (0x7f2ceea10ee0)
+
+Class wait
+ size=4 align=4
+ base size=4 base align=4
+wait (0x7f2ceea25d90) 0
+
+Class timespec
+ size=16 align=8
+ base size=16 base align=8
+timespec (0x7f2ceea310e0) 0
+
+Class timeval
+ size=16 align=8
+ base size=16 base align=8
+timeval (0x7f2ceea31150) 0
+
+Class __pthread_internal_list
+ size=16 align=8
+ base size=16 base align=8
+__pthread_internal_list (0x7f2ceea312a0) 0
+
+Class random_data
+ size=48 align=8
+ base size=48 base align=8
+random_data (0x7f2ceea31850) 0
+
+Class drand48_data
+ size=24 align=8
+ base size=24 base align=8
+drand48_data (0x7f2ceea318c0) 0
+
+Class QVectorData
+ size=16 align=4
+ base size=16 base align=4
+QVectorData (0x7f2ceea31930) 0
+
+Class QContiguousCacheData
+ size=24 align=4
+ base size=24 base align=4
+QContiguousCacheData (0x7f2cee7ef620) 0
+
+Class QDebug::Stream
+ size=40 align=8
+ base size=34 base align=8
+QDebug::Stream (0x7f2cee64f150) 0
+
+Class QDebug
+ size=8 align=8
+ base size=8 base align=8
+QDebug (0x7f2cee64f0e0) 0
+
+Class QNoDebug
+ size=1 align=1
+ base size=0 base align=1
+QNoDebug (0x7f2cee6fe0e0) 0 empty
+
+Vtable for QDirIterator
+QDirIterator::_ZTV12QDirIterator: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QDirIterator)
+16 QDirIterator::~QDirIterator
+24 QDirIterator::~QDirIterator
+
+Class QDirIterator
+ size=16 align=8
+ base size=16 base align=8
+QDirIterator (0x7f2cee70f700) 0
+ vptr=((& QDirIterator::_ZTV12QDirIterator) + 16u)
+
+Vtable for QFileSystemWatcher
+QFileSystemWatcher::_ZTV18QFileSystemWatcher: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QFileSystemWatcher)
+16 QFileSystemWatcher::metaObject
+24 QFileSystemWatcher::qt_metacast
+32 QFileSystemWatcher::qt_metacall
+40 QFileSystemWatcher::~QFileSystemWatcher
+48 QFileSystemWatcher::~QFileSystemWatcher
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QFileSystemWatcher
+ size=16 align=8
+ base size=16 base align=8
+QFileSystemWatcher (0x7f2cee569540) 0
+ vptr=((& QFileSystemWatcher::_ZTV18QFileSystemWatcher) + 16u)
+ QObject (0x7f2cee5695b0) 0
+ primary-for QFileSystemWatcher (0x7f2cee569540)
+
+Vtable for QFSFileEngine
+QFSFileEngine::_ZTV13QFSFileEngine: 36u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QFSFileEngine)
+16 QFSFileEngine::~QFSFileEngine
+24 QFSFileEngine::~QFSFileEngine
+32 QFSFileEngine::open
+40 QFSFileEngine::close
+48 QFSFileEngine::flush
+56 QFSFileEngine::size
+64 QFSFileEngine::pos
+72 QFSFileEngine::seek
+80 QFSFileEngine::isSequential
+88 QFSFileEngine::remove
+96 QFSFileEngine::copy
+104 QFSFileEngine::rename
+112 QFSFileEngine::link
+120 QFSFileEngine::mkdir
+128 QFSFileEngine::rmdir
+136 QFSFileEngine::setSize
+144 QFSFileEngine::caseSensitive
+152 QFSFileEngine::isRelativePath
+160 QFSFileEngine::entryList
+168 QFSFileEngine::fileFlags
+176 QFSFileEngine::setPermissions
+184 QFSFileEngine::fileName
+192 QFSFileEngine::ownerId
+200 QFSFileEngine::owner
+208 QFSFileEngine::fileTime
+216 QFSFileEngine::setFileName
+224 QFSFileEngine::handle
+232 QFSFileEngine::beginEntryList
+240 QFSFileEngine::endEntryList
+248 QFSFileEngine::read
+256 QFSFileEngine::readLine
+264 QFSFileEngine::write
+272 QFSFileEngine::extension
+280 QFSFileEngine::supportsExtension
+
+Class QFSFileEngine
+ size=16 align=8
+ base size=16 base align=8
+QFSFileEngine (0x7f2cee57ca80) 0
+ vptr=((& QFSFileEngine::_ZTV13QFSFileEngine) + 16u)
+ QAbstractFileEngine (0x7f2cee57caf0) 0
+ primary-for QFSFileEngine (0x7f2cee57ca80)
+
+Class QSharedData
+ size=4 align=4
+ base size=4 base align=4
+QSharedData (0x7f2cee58ce70) 0
+
+Class QProcessEnvironment
+ size=8 align=8
+ base size=8 base align=8
+QProcessEnvironment (0x7f2cee5d71c0) 0
+
+Vtable for QProcess
+QProcess::_ZTV8QProcess: 31u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI8QProcess)
+16 QProcess::metaObject
+24 QProcess::qt_metacast
+32 QProcess::qt_metacall
+40 QProcess::~QProcess
+48 QProcess::~QProcess
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QProcess::isSequential
+120 QIODevice::open
+128 QProcess::close
+136 QIODevice::pos
+144 QIODevice::size
+152 QIODevice::seek
+160 QProcess::atEnd
+168 QIODevice::reset
+176 QProcess::bytesAvailable
+184 QProcess::bytesToWrite
+192 QProcess::canReadLine
+200 QProcess::waitForReadyRead
+208 QProcess::waitForBytesWritten
+216 QProcess::readData
+224 QIODevice::readLineData
+232 QProcess::writeData
+240 QProcess::setupChildProcess
+
+Class QProcess
+ size=16 align=8
+ base size=16 base align=8
+QProcess (0x7f2cee5d7cb0) 0
+ vptr=((& QProcess::_ZTV8QProcess) + 16u)
+ QIODevice (0x7f2cee5d7d20) 0
+ primary-for QProcess (0x7f2cee5d7cb0)
+ QObject (0x7f2cee5d7d90) 0
+ primary-for QIODevice (0x7f2cee5d7d20)
+
+Class QResource
+ size=8 align=8
+ base size=8 base align=8
+QResource (0x7f2cee61b1c0) 0
+
+Class QMetaType
+ size=1 align=1
+ base size=0 base align=1
+QMetaType (0x7f2cee61be70) 0 empty
+
+Class QVariant::PrivateShared
+ size=16 align=8
+ base size=12 base align=8
+QVariant::PrivateShared (0x7f2cee51a700) 0
+
+Class QVariant::Private::Data
+ size=8 align=8
+ base size=8 base align=8
+QVariant::Private::Data (0x7f2cee51aa10) 0
+
+Class QVariant::Private
+ size=16 align=8
+ base size=12 base align=8
+QVariant::Private (0x7f2cee51a7e0) 0
+
+Class QVariant::Handler
+ size=72 align=8
+ base size=72 base align=8
+QVariant::Handler (0x7f2cee529700) 0
+
+Class QVariant
+ size=16 align=8
+ base size=16 base align=8
+QVariant (0x7f2cee4ea7e0) 0
+
+Class QVariantComparisonHelper
+ size=8 align=8
+ base size=8 base align=8
+QVariantComparisonHelper (0x7f2cee3db9a0) 0
+
+Vtable for QSettings
+QSettings::_ZTV9QSettings: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QSettings)
+16 QSettings::metaObject
+24 QSettings::qt_metacast
+32 QSettings::qt_metacall
+40 QSettings::~QSettings
+48 QSettings::~QSettings
+56 QSettings::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QSettings
+ size=16 align=8
+ base size=16 base align=8
+QSettings (0x7f2cee400ee0) 0
+ vptr=((& QSettings::_ZTV9QSettings) + 16u)
+ QObject (0x7f2cee400f50) 0
+ primary-for QSettings (0x7f2cee400ee0)
+
+Vtable for QTemporaryFile
+QTemporaryFile::_ZTV14QTemporaryFile: 31u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QTemporaryFile)
+16 QTemporaryFile::metaObject
+24 QTemporaryFile::qt_metacast
+32 QTemporaryFile::qt_metacall
+40 QTemporaryFile::~QTemporaryFile
+48 QTemporaryFile::~QTemporaryFile
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QFile::isSequential
+120 QTemporaryFile::open
+128 QFile::close
+136 QFile::pos
+144 QFile::size
+152 QFile::seek
+160 QFile::atEnd
+168 QIODevice::reset
+176 QIODevice::bytesAvailable
+184 QIODevice::bytesToWrite
+192 QIODevice::canReadLine
+200 QIODevice::waitForReadyRead
+208 QIODevice::waitForBytesWritten
+216 QFile::readData
+224 QFile::readLineData
+232 QFile::writeData
+240 QTemporaryFile::fileEngine
+
+Class QTemporaryFile
+ size=16 align=8
+ base size=16 base align=8
+QTemporaryFile (0x7f2cee2832a0) 0
+ vptr=((& QTemporaryFile::_ZTV14QTemporaryFile) + 16u)
+ QFile (0x7f2cee283310) 0
+ primary-for QTemporaryFile (0x7f2cee2832a0)
+ QIODevice (0x7f2cee283380) 0
+ primary-for QFile (0x7f2cee283310)
+ QObject (0x7f2cee2833f0) 0
+ primary-for QIODevice (0x7f2cee283380)
+
+Class QUrl
+ size=8 align=8
+ base size=8 base align=8
+QUrl (0x7f2cee29e9a0) 0
+
+Class QXmlStreamStringRef
+ size=16 align=8
+ base size=16 base align=8
+QXmlStreamStringRef (0x7f2cee32c070) 0
+
+Class QXmlStreamAttribute
+ size=80 align=8
+ base size=73 base align=8
+QXmlStreamAttribute (0x7f2cee146850) 0
+
+Class QXmlStreamAttributes
+ size=8 align=8
+ base size=8 base align=8
+QXmlStreamAttributes (0x7f2cee16f310) 0
+ QVector<QXmlStreamAttribute> (0x7f2cee16f380) 0
+
+Class QXmlStreamNamespaceDeclaration
+ size=40 align=8
+ base size=40 base align=8
+QXmlStreamNamespaceDeclaration (0x7f2cee16f7e0) 0
+
+Class QXmlStreamNotationDeclaration
+ size=56 align=8
+ base size=56 base align=8
+QXmlStreamNotationDeclaration (0x7f2cee1b11c0) 0
+
+Class QXmlStreamEntityDeclaration
+ size=88 align=8
+ base size=88 base align=8
+QXmlStreamEntityDeclaration (0x7f2cee1cf070) 0
+
+Vtable for QXmlStreamEntityResolver
+QXmlStreamEntityResolver::_ZTV24QXmlStreamEntityResolver: 6u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI24QXmlStreamEntityResolver)
+16 QXmlStreamEntityResolver::~QXmlStreamEntityResolver
+24 QXmlStreamEntityResolver::~QXmlStreamEntityResolver
+32 QXmlStreamEntityResolver::resolveEntity
+40 QXmlStreamEntityResolver::resolveUndeclaredEntity
+
+Class QXmlStreamEntityResolver
+ size=8 align=8
+ base size=8 base align=8
+QXmlStreamEntityResolver (0x7f2cee1ec9a0) 0 nearly-empty
+ vptr=((& QXmlStreamEntityResolver::_ZTV24QXmlStreamEntityResolver) + 16u)
+
+Class QXmlStreamReader
+ size=8 align=8
+ base size=8 base align=8
+QXmlStreamReader (0x7f2cee1ecb60) 0
+
+Class QXmlStreamWriter
+ size=8 align=8
+ base size=8 base align=8
+QXmlStreamWriter (0x7f2cee034c40) 0
+
+Vtable for QAbstractState
+QAbstractState::_ZTV14QAbstractState: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QAbstractState)
+16 QAbstractState::metaObject
+24 QAbstractState::qt_metacast
+32 QAbstractState::qt_metacall
+40 QAbstractState::~QAbstractState
+48 QAbstractState::~QAbstractState
+56 QAbstractState::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+
+Class QAbstractState
+ size=16 align=8
+ base size=16 base align=8
+QAbstractState (0x7f2cee049a80) 0
+ vptr=((& QAbstractState::_ZTV14QAbstractState) + 16u)
+ QObject (0x7f2cee049af0) 0
+ primary-for QAbstractState (0x7f2cee049a80)
+
+Vtable for QAbstractTransition
+QAbstractTransition::_ZTV19QAbstractTransition: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QAbstractTransition)
+16 QAbstractTransition::metaObject
+24 QAbstractTransition::qt_metacast
+32 QAbstractTransition::qt_metacall
+40 QAbstractTransition::~QAbstractTransition
+48 QAbstractTransition::~QAbstractTransition
+56 QAbstractTransition::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+
+Class QAbstractTransition
+ size=16 align=8
+ base size=16 base align=8
+QAbstractTransition (0x7f2cee06f2a0) 0
+ vptr=((& QAbstractTransition::_ZTV19QAbstractTransition) + 16u)
+ QObject (0x7f2cee06f310) 0
+ primary-for QAbstractTransition (0x7f2cee06f2a0)
+
+Vtable for QEvent
+QEvent::_ZTV6QEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI6QEvent)
+16 QEvent::~QEvent
+24 QEvent::~QEvent
+
+Class QEvent
+ size=24 align=8
+ base size=20 base align=8
+QEvent (0x7f2cee083af0) 0
+ vptr=((& QEvent::_ZTV6QEvent) + 16u)
+
+Vtable for QTimerEvent
+QTimerEvent::_ZTV11QTimerEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QTimerEvent)
+16 QTimerEvent::~QTimerEvent
+24 QTimerEvent::~QTimerEvent
+
+Class QTimerEvent
+ size=24 align=8
+ base size=24 base align=8
+QTimerEvent (0x7f2cee0a5700) 0
+ vptr=((& QTimerEvent::_ZTV11QTimerEvent) + 16u)
+ QEvent (0x7f2cee0a5770) 0
+ primary-for QTimerEvent (0x7f2cee0a5700)
+
+Vtable for QChildEvent
+QChildEvent::_ZTV11QChildEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QChildEvent)
+16 QChildEvent::~QChildEvent
+24 QChildEvent::~QChildEvent
+
+Class QChildEvent
+ size=32 align=8
+ base size=32 base align=8
+QChildEvent (0x7f2cee0a5b60) 0
+ vptr=((& QChildEvent::_ZTV11QChildEvent) + 16u)
+ QEvent (0x7f2cee0a5bd0) 0
+ primary-for QChildEvent (0x7f2cee0a5b60)
+
+Vtable for QCustomEvent
+QCustomEvent::_ZTV12QCustomEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QCustomEvent)
+16 QCustomEvent::~QCustomEvent
+24 QCustomEvent::~QCustomEvent
+
+Class QCustomEvent
+ size=24 align=8
+ base size=20 base align=8
+QCustomEvent (0x7f2cee0b0e00) 0
+ vptr=((& QCustomEvent::_ZTV12QCustomEvent) + 16u)
+ QEvent (0x7f2cee0b0e70) 0
+ primary-for QCustomEvent (0x7f2cee0b0e00)
+
+Vtable for QDynamicPropertyChangeEvent
+QDynamicPropertyChangeEvent::_ZTV27QDynamicPropertyChangeEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI27QDynamicPropertyChangeEvent)
+16 QDynamicPropertyChangeEvent::~QDynamicPropertyChangeEvent
+24 QDynamicPropertyChangeEvent::~QDynamicPropertyChangeEvent
+
+Class QDynamicPropertyChangeEvent
+ size=32 align=8
+ base size=32 base align=8
+QDynamicPropertyChangeEvent (0x7f2cee0c1620) 0
+ vptr=((& QDynamicPropertyChangeEvent::_ZTV27QDynamicPropertyChangeEvent) + 16u)
+ QEvent (0x7f2cee0c1690) 0
+ primary-for QDynamicPropertyChangeEvent (0x7f2cee0c1620)
+
+Vtable for QEventTransition
+QEventTransition::_ZTV16QEventTransition: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QEventTransition)
+16 QEventTransition::metaObject
+24 QEventTransition::qt_metacast
+32 QEventTransition::qt_metacall
+40 QEventTransition::~QEventTransition
+48 QEventTransition::~QEventTransition
+56 QEventTransition::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QEventTransition::eventTest
+120 QEventTransition::onTransition
+
+Class QEventTransition
+ size=16 align=8
+ base size=16 base align=8
+QEventTransition (0x7f2cee0c1af0) 0
+ vptr=((& QEventTransition::_ZTV16QEventTransition) + 16u)
+ QAbstractTransition (0x7f2cee0c1b60) 0
+ primary-for QEventTransition (0x7f2cee0c1af0)
+ QObject (0x7f2cee0c1bd0) 0
+ primary-for QAbstractTransition (0x7f2cee0c1b60)
+
+Vtable for QFinalState
+QFinalState::_ZTV11QFinalState: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QFinalState)
+16 QFinalState::metaObject
+24 QFinalState::qt_metacast
+32 QFinalState::qt_metacall
+40 QFinalState::~QFinalState
+48 QFinalState::~QFinalState
+56 QFinalState::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QFinalState::onEntry
+120 QFinalState::onExit
+
+Class QFinalState
+ size=16 align=8
+ base size=16 base align=8
+QFinalState (0x7f2cee0dc9a0) 0
+ vptr=((& QFinalState::_ZTV11QFinalState) + 16u)
+ QAbstractState (0x7f2cee0dca10) 0
+ primary-for QFinalState (0x7f2cee0dc9a0)
+ QObject (0x7f2cee0dca80) 0
+ primary-for QAbstractState (0x7f2cee0dca10)
+
+Vtable for QHistoryState
+QHistoryState::_ZTV13QHistoryState: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QHistoryState)
+16 QHistoryState::metaObject
+24 QHistoryState::qt_metacast
+32 QHistoryState::qt_metacall
+40 QHistoryState::~QHistoryState
+48 QHistoryState::~QHistoryState
+56 QHistoryState::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QHistoryState::onEntry
+120 QHistoryState::onExit
+
+Class QHistoryState
+ size=16 align=8
+ base size=16 base align=8
+QHistoryState (0x7f2cee0f5230) 0
+ vptr=((& QHistoryState::_ZTV13QHistoryState) + 16u)
+ QAbstractState (0x7f2cee0f52a0) 0
+ primary-for QHistoryState (0x7f2cee0f5230)
+ QObject (0x7f2cee0f5310) 0
+ primary-for QAbstractState (0x7f2cee0f52a0)
+
+Vtable for QSignalTransition
+QSignalTransition::_ZTV17QSignalTransition: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QSignalTransition)
+16 QSignalTransition::metaObject
+24 QSignalTransition::qt_metacast
+32 QSignalTransition::qt_metacall
+40 QSignalTransition::~QSignalTransition
+48 QSignalTransition::~QSignalTransition
+56 QSignalTransition::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QSignalTransition::eventTest
+120 QSignalTransition::onTransition
+
+Class QSignalTransition
+ size=16 align=8
+ base size=16 base align=8
+QSignalTransition (0x7f2cee105f50) 0
+ vptr=((& QSignalTransition::_ZTV17QSignalTransition) + 16u)
+ QAbstractTransition (0x7f2cee10e000) 0
+ primary-for QSignalTransition (0x7f2cee105f50)
+ QObject (0x7f2cee10e070) 0
+ primary-for QAbstractTransition (0x7f2cee10e000)
+
+Vtable for QState
+QState::_ZTV6QState: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI6QState)
+16 QState::metaObject
+24 QState::qt_metacast
+32 QState::qt_metacall
+40 QState::~QState
+48 QState::~QState
+56 QState::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QState::onEntry
+120 QState::onExit
+
+Class QState
+ size=16 align=8
+ base size=16 base align=8
+QState (0x7f2cee121af0) 0
+ vptr=((& QState::_ZTV6QState) + 16u)
+ QAbstractState (0x7f2cee121b60) 0
+ primary-for QState (0x7f2cee121af0)
+ QObject (0x7f2cee121bd0) 0
+ primary-for QAbstractState (0x7f2cee121b60)
+
+Vtable for QStateMachine::SignalEvent
+QStateMachine::SignalEvent::_ZTVN13QStateMachine11SignalEventE: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN13QStateMachine11SignalEventE)
+16 QStateMachine::SignalEvent::~SignalEvent
+24 QStateMachine::SignalEvent::~SignalEvent
+
+Class QStateMachine::SignalEvent
+ size=48 align=8
+ base size=48 base align=8
+QStateMachine::SignalEvent (0x7f2cedf45150) 0
+ vptr=((& QStateMachine::SignalEvent::_ZTVN13QStateMachine11SignalEventE) + 16u)
+ QEvent (0x7f2cedf451c0) 0
+ primary-for QStateMachine::SignalEvent (0x7f2cedf45150)
+
+Vtable for QStateMachine::WrappedEvent
+QStateMachine::WrappedEvent::_ZTVN13QStateMachine12WrappedEventE: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN13QStateMachine12WrappedEventE)
+16 QStateMachine::WrappedEvent::~WrappedEvent
+24 QStateMachine::WrappedEvent::~WrappedEvent
+
+Class QStateMachine::WrappedEvent
+ size=40 align=8
+ base size=40 base align=8
+QStateMachine::WrappedEvent (0x7f2cedf45700) 0
+ vptr=((& QStateMachine::WrappedEvent::_ZTVN13QStateMachine12WrappedEventE) + 16u)
+ QEvent (0x7f2cedf45770) 0
+ primary-for QStateMachine::WrappedEvent (0x7f2cedf45700)
+
+Vtable for QStateMachine
+QStateMachine::_ZTV13QStateMachine: 20u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QStateMachine)
+16 QStateMachine::metaObject
+24 QStateMachine::qt_metacast
+32 QStateMachine::qt_metacall
+40 QStateMachine::~QStateMachine
+48 QStateMachine::~QStateMachine
+56 QStateMachine::event
+64 QStateMachine::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QStateMachine::onEntry
+120 QStateMachine::onExit
+128 QStateMachine::beginSelectTransitions
+136 QStateMachine::endSelectTransitions
+144 QStateMachine::beginMicrostep
+152 QStateMachine::endMicrostep
+
+Class QStateMachine
+ size=16 align=8
+ base size=16 base align=8
+QStateMachine (0x7f2cedf3cee0) 0
+ vptr=((& QStateMachine::_ZTV13QStateMachine) + 16u)
+ QState (0x7f2cedf3cf50) 0
+ primary-for QStateMachine (0x7f2cedf3cee0)
+ QAbstractState (0x7f2cedf45000) 0
+ primary-for QState (0x7f2cedf3cf50)
+ QObject (0x7f2cedf45070) 0
+ primary-for QAbstractState (0x7f2cedf45000)
+
+Class QBitArray
+ size=8 align=8
+ base size=8 base align=8
+QBitArray (0x7f2cedf76150) 0
+
+Class QBitRef
+ size=16 align=8
+ base size=12 base align=8
+QBitRef (0x7f2cedfcce00) 0
+
+Class QByteArrayMatcher::Data
+ size=272 align=8
+ base size=272 base align=8
+QByteArrayMatcher::Data (0x7f2cedfdfaf0) 0
+
+Class QByteArrayMatcher
+ size=1040 align=8
+ base size=1040 base align=8
+QByteArrayMatcher (0x7f2cedfdf4d0) 0
+
+Class QCryptographicHash
+ size=8 align=8
+ base size=8 base align=8
+QCryptographicHash (0x7f2cee015150) 0
+
+Vtable for QtSharedPointer::ExternalRefCountData
+QtSharedPointer::ExternalRefCountData::_ZTVN15QtSharedPointer20ExternalRefCountDataE: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN15QtSharedPointer20ExternalRefCountDataE)
+16 QtSharedPointer::ExternalRefCountData::~ExternalRefCountData
+24 QtSharedPointer::ExternalRefCountData::~ExternalRefCountData
+32 QtSharedPointer::ExternalRefCountData::destroy
+
+Class QtSharedPointer::ExternalRefCountData
+ size=16 align=8
+ base size=16 base align=8
+QtSharedPointer::ExternalRefCountData (0x7f2cede42070) 0
+ vptr=((& QtSharedPointer::ExternalRefCountData::_ZTVN15QtSharedPointer20ExternalRefCountDataE) + 16u)
+
+Vtable for QtSharedPointer::ExternalRefCountWithDestroyFn
+QtSharedPointer::ExternalRefCountWithDestroyFn::_ZTVN15QtSharedPointer29ExternalRefCountWithDestroyFnE: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN15QtSharedPointer29ExternalRefCountWithDestroyFnE)
+16 QtSharedPointer::ExternalRefCountWithDestroyFn::~ExternalRefCountWithDestroyFn
+24 QtSharedPointer::ExternalRefCountWithDestroyFn::~ExternalRefCountWithDestroyFn
+32 QtSharedPointer::ExternalRefCountWithDestroyFn::destroy
+
+Class QtSharedPointer::ExternalRefCountWithDestroyFn
+ size=24 align=8
+ base size=24 base align=8
+QtSharedPointer::ExternalRefCountWithDestroyFn (0x7f2cede5a930) 0
+ vptr=((& QtSharedPointer::ExternalRefCountWithDestroyFn::_ZTVN15QtSharedPointer29ExternalRefCountWithDestroyFnE) + 16u)
+ QtSharedPointer::ExternalRefCountData (0x7f2cede5a9a0) 0
+ primary-for QtSharedPointer::ExternalRefCountWithDestroyFn (0x7f2cede5a930)
+
+Class QDate
+ size=4 align=4
+ base size=4 base align=4
+QDate (0x7f2cedee05b0) 0
+
+Class QTime
+ size=4 align=4
+ base size=4 base align=4
+QTime (0x7f2cedf10540) 0
+
+Class QDateTime
+ size=8 align=8
+ base size=8 base align=8
+QDateTime (0x7f2cedf2caf0) 0
+
+Class QEasingCurve
+ size=8 align=8
+ base size=8 base align=8
+QEasingCurve (0x7f2cedd72000) 0
+
+Class QPoint
+ size=8 align=4
+ base size=8 base align=4
+QPoint (0x7f2cedd72ee0) 0
+
+Class QPointF
+ size=16 align=8
+ base size=16 base align=8
+QPointF (0x7f2ceddb5af0) 0
+
+Class QLine
+ size=16 align=4
+ base size=16 base align=4
+QLine (0x7f2ceddf3af0) 0
+
+Class QLineF
+ size=32 align=8
+ base size=32 base align=8
+QLineF (0x7f2cede2e9a0) 0
+
+Class QLinkedListData
+ size=32 align=8
+ base size=32 base align=8
+QLinkedListData (0x7f2cedc83460) 0
+
+Class QMargins
+ size=16 align=4
+ base size=16 base align=4
+QMargins (0x7f2cedb42380) 0
+
+Class QSize
+ size=8 align=4
+ base size=8 base align=4
+QSize (0x7f2cedb70150) 0
+
+Class QSizeF
+ size=16 align=8
+ base size=16 base align=8
+QSizeF (0x7f2cedbb0e00) 0
+
+Class QRect
+ size=16 align=4
+ base size=16 base align=4
+QRect (0x7f2cedc06380) 0
+
+Class QRectF
+ size=32 align=8
+ base size=32 base align=8
+QRectF (0x7f2cedab0d20) 0
+
+Class QLatin1Literal
+ size=16 align=8
+ base size=16 base align=8
+QLatin1Literal (0x7f2ced95fee0) 0
+
+Class QAbstractConcatenable
+ size=1 align=1
+ base size=0 base align=1
+QAbstractConcatenable (0x7f2ced9723f0) 0 empty
+
+Class QTextBoundaryFinder
+ size=48 align=8
+ base size=48 base align=8
+QTextBoundaryFinder (0x7f2ced9a9380) 0
+
+Vtable for QTimeLine
+QTimeLine::_ZTV9QTimeLine: 15u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QTimeLine)
+16 QTimeLine::metaObject
+24 QTimeLine::qt_metacast
+32 QTimeLine::qt_metacall
+40 QTimeLine::~QTimeLine
+48 QTimeLine::~QTimeLine
+56 QObject::event
+64 QObject::eventFilter
+72 QTimeLine::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QTimeLine::valueForTime
+
+Class QTimeLine
+ size=16 align=8
+ base size=16 base align=8
+QTimeLine (0x7f2ced9b9700) 0
+ vptr=((& QTimeLine::_ZTV9QTimeLine) + 16u)
+ QObject (0x7f2ced9b9770) 0
+ primary-for QTimeLine (0x7f2ced9b9700)
+
+Vtable for QRunnable
+QRunnable::_ZTV9QRunnable: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QRunnable)
+16 __cxa_pure_virtual
+24 QRunnable::~QRunnable
+32 QRunnable::~QRunnable
+
+Class QRunnable
+ size=16 align=8
+ base size=12 base align=8
+QRunnable (0x7f2ced9e0f50) 0
+ vptr=((& QRunnable::_ZTV9QRunnable) + 16u)
+
+Class QMutex
+ size=8 align=8
+ base size=8 base align=8
+QMutex (0x7f2ceda17620) 0
+
+Class QMutexLocker
+ size=8 align=8
+ base size=8 base align=8
+QMutexLocker (0x7f2ceda261c0) 0
+
+Vtable for QtConcurrent::Exception
+QtConcurrent::Exception::_ZTVN12QtConcurrent9ExceptionE: 7u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN12QtConcurrent9ExceptionE)
+16 QtConcurrent::Exception::~Exception
+24 QtConcurrent::Exception::~Exception
+32 std::exception::what
+40 QtConcurrent::Exception::raise
+48 QtConcurrent::Exception::clone
+
+Class QtConcurrent::Exception
+ size=8 align=8
+ base size=8 base align=8
+QtConcurrent::Exception (0x7f2ced83d4d0) 0 nearly-empty
+ vptr=((& QtConcurrent::Exception::_ZTVN12QtConcurrent9ExceptionE) + 16u)
+ std::exception (0x7f2ced83d540) 0 nearly-empty
+ primary-for QtConcurrent::Exception (0x7f2ced83d4d0)
+
+Vtable for QtConcurrent::UnhandledException
+QtConcurrent::UnhandledException::_ZTVN12QtConcurrent18UnhandledExceptionE: 7u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN12QtConcurrent18UnhandledExceptionE)
+16 QtConcurrent::UnhandledException::~UnhandledException
+24 QtConcurrent::UnhandledException::~UnhandledException
+32 std::exception::what
+40 QtConcurrent::UnhandledException::raise
+48 QtConcurrent::UnhandledException::clone
+
+Class QtConcurrent::UnhandledException
+ size=8 align=8
+ base size=8 base align=8
+QtConcurrent::UnhandledException (0x7f2ced83d770) 0 nearly-empty
+ vptr=((& QtConcurrent::UnhandledException::_ZTVN12QtConcurrent18UnhandledExceptionE) + 16u)
+ QtConcurrent::Exception (0x7f2ced83d7e0) 0 nearly-empty
+ primary-for QtConcurrent::UnhandledException (0x7f2ced83d770)
+ std::exception (0x7f2ced83d850) 0 nearly-empty
+ primary-for QtConcurrent::Exception (0x7f2ced83d7e0)
+
+Class QtConcurrent::internal::ExceptionHolder
+ size=8 align=8
+ base size=8 base align=8
+QtConcurrent::internal::ExceptionHolder (0x7f2ced83da80) 0
+
+Class QtConcurrent::internal::ExceptionStore
+ size=8 align=8
+ base size=8 base align=8
+QtConcurrent::internal::ExceptionStore (0x7f2ced83de00) 0
+
+Class QtConcurrent::ResultItem
+ size=16 align=8
+ base size=16 base align=8
+QtConcurrent::ResultItem (0x7f2ced83de70) 0
+
+Class QtConcurrent::ResultIteratorBase
+ size=16 align=8
+ base size=12 base align=8
+QtConcurrent::ResultIteratorBase (0x7f2ced855d90) 0
+
+Vtable for QtConcurrent::ResultStoreBase
+QtConcurrent::ResultStoreBase::_ZTVN12QtConcurrent15ResultStoreBaseE: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN12QtConcurrent15ResultStoreBaseE)
+16 QtConcurrent::ResultStoreBase::~ResultStoreBase
+24 QtConcurrent::ResultStoreBase::~ResultStoreBase
+
+Class QtConcurrent::ResultStoreBase
+ size=48 align=8
+ base size=44 base align=8
+QtConcurrent::ResultStoreBase (0x7f2ced85a930) 0
+ vptr=((& QtConcurrent::ResultStoreBase::_ZTVN12QtConcurrent15ResultStoreBaseE) + 16u)
+
+Vtable for QFutureInterfaceBase
+QFutureInterfaceBase::_ZTV20QFutureInterfaceBase: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI20QFutureInterfaceBase)
+16 QFutureInterfaceBase::~QFutureInterfaceBase
+24 QFutureInterfaceBase::~QFutureInterfaceBase
+
+Class QFutureInterfaceBase
+ size=16 align=8
+ base size=16 base align=8
+QFutureInterfaceBase (0x7f2ced897d90) 0
+ vptr=((& QFutureInterfaceBase::_ZTV20QFutureInterfaceBase) + 16u)
+
+Vtable for QFutureWatcherBase
+QFutureWatcherBase::_ZTV18QFutureWatcherBase: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QFutureWatcherBase)
+16 QFutureWatcherBase::metaObject
+24 QFutureWatcherBase::qt_metacast
+32 QFutureWatcherBase::qt_metacall
+40 QFutureWatcherBase::~QFutureWatcherBase
+48 QFutureWatcherBase::~QFutureWatcherBase
+56 QFutureWatcherBase::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QFutureWatcherBase::connectNotify
+104 QFutureWatcherBase::disconnectNotify
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+
+Class QFutureWatcherBase
+ size=16 align=8
+ base size=16 base align=8
+QFutureWatcherBase (0x7f2ced77c690) 0
+ vptr=((& QFutureWatcherBase::_ZTV18QFutureWatcherBase) + 16u)
+ QObject (0x7f2ced77c700) 0
+ primary-for QFutureWatcherBase (0x7f2ced77c690)
+
+Vtable for QThread
+QThread::_ZTV7QThread: 15u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QThread)
+16 QThread::metaObject
+24 QThread::qt_metacast
+32 QThread::qt_metacall
+40 QThread::~QThread
+48 QThread::~QThread
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QThread::run
+
+Class QThread
+ size=16 align=8
+ base size=16 base align=8
+QThread (0x7f2ced7cfa80) 0
+ vptr=((& QThread::_ZTV7QThread) + 16u)
+ QObject (0x7f2ced7cfaf0) 0
+ primary-for QThread (0x7f2ced7cfa80)
+
+Vtable for QThreadPool
+QThreadPool::_ZTV11QThreadPool: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QThreadPool)
+16 QThreadPool::metaObject
+24 QThreadPool::qt_metacast
+32 QThreadPool::qt_metacall
+40 QThreadPool::~QThreadPool
+48 QThreadPool::~QThreadPool
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QThreadPool
+ size=16 align=8
+ base size=16 base align=8
+QThreadPool (0x7f2ced7f5930) 0
+ vptr=((& QThreadPool::_ZTV11QThreadPool) + 16u)
+ QObject (0x7f2ced7f59a0) 0
+ primary-for QThreadPool (0x7f2ced7f5930)
+
+Class QWaitCondition
+ size=8 align=8
+ base size=8 base align=8
+QWaitCondition (0x7f2ced807ee0) 0
+
+Class QSemaphore
+ size=8 align=8
+ base size=8 base align=8
+QSemaphore (0x7f2ced80e460) 0
+
+Class QtConcurrent::ThreadEngineBarrier
+ size=24 align=8
+ base size=24 base align=8
+QtConcurrent::ThreadEngineBarrier (0x7f2ced80e9a0) 0
+
+Vtable for QtConcurrent::ThreadEngineBase
+QtConcurrent::ThreadEngineBase::_ZTVN12QtConcurrent16ThreadEngineBaseE: 11u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN12QtConcurrent16ThreadEngineBaseE)
+16 QtConcurrent::ThreadEngineBase::run
+24 QtConcurrent::ThreadEngineBase::~ThreadEngineBase
+32 QtConcurrent::ThreadEngineBase::~ThreadEngineBase
+40 QtConcurrent::ThreadEngineBase::start
+48 QtConcurrent::ThreadEngineBase::finish
+56 QtConcurrent::ThreadEngineBase::threadFunction
+64 QtConcurrent::ThreadEngineBase::shouldStartThread
+72 QtConcurrent::ThreadEngineBase::shouldThrottleThread
+80 __cxa_pure_virtual
+
+Class QtConcurrent::ThreadEngineBase
+ size=64 align=8
+ base size=64 base align=8
+QtConcurrent::ThreadEngineBase (0x7f2ced80ea80) 0
+ vptr=((& QtConcurrent::ThreadEngineBase::_ZTVN12QtConcurrent16ThreadEngineBaseE) + 16u)
+ QRunnable (0x7f2ced80eaf0) 0
+ primary-for QtConcurrent::ThreadEngineBase (0x7f2ced80ea80)
+
+VTT for QtConcurrent::ThreadEngine<void>
+QtConcurrent::ThreadEngine<void>::_ZTTN12QtConcurrent12ThreadEngineIvEE: 2u entries
+0 ((& QtConcurrent::ThreadEngine<void>::_ZTVN12QtConcurrent12ThreadEngineIvEE) + 24u)
+8 ((& QtConcurrent::ThreadEngine<void>::_ZTVN12QtConcurrent12ThreadEngineIvEE) + 136u)
+
+Class QtConcurrent::BlockSizeManager
+ size=96 align=8
+ base size=92 base align=8
+QtConcurrent::BlockSizeManager (0x7f2ced65cee0) 0
+
+Vtable for QFactoryInterface
+QFactoryInterface::_ZTV17QFactoryInterface: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QFactoryInterface)
+16 QFactoryInterface::~QFactoryInterface
+24 QFactoryInterface::~QFactoryInterface
+32 __cxa_pure_virtual
+
+Class QFactoryInterface
+ size=8 align=8
+ base size=8 base align=8
+QFactoryInterface (0x7f2ced2ffd20) 0 nearly-empty
+ vptr=((& QFactoryInterface::_ZTV17QFactoryInterface) + 16u)
+
+Vtable for QTextCodecFactoryInterface
+QTextCodecFactoryInterface::_ZTV26QTextCodecFactoryInterface: 6u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI26QTextCodecFactoryInterface)
+16 QTextCodecFactoryInterface::~QTextCodecFactoryInterface
+24 QTextCodecFactoryInterface::~QTextCodecFactoryInterface
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+
+Class QTextCodecFactoryInterface
+ size=8 align=8
+ base size=8 base align=8
+QTextCodecFactoryInterface (0x7f2ced132000) 0 nearly-empty
+ vptr=((& QTextCodecFactoryInterface::_ZTV26QTextCodecFactoryInterface) + 16u)
+ QFactoryInterface (0x7f2ced132070) 0 nearly-empty
+ primary-for QTextCodecFactoryInterface (0x7f2ced132000)
+
+Vtable for QTextCodecPlugin
+QTextCodecPlugin::_ZTV16QTextCodecPlugin: 27u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QTextCodecPlugin)
+16 QTextCodecPlugin::metaObject
+24 QTextCodecPlugin::qt_metacast
+32 QTextCodecPlugin::qt_metacall
+40 QTextCodecPlugin::~QTextCodecPlugin
+48 QTextCodecPlugin::~QTextCodecPlugin
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 __cxa_pure_virtual
+136 __cxa_pure_virtual
+144 __cxa_pure_virtual
+152 QTextCodecPlugin::keys
+160 QTextCodecPlugin::create
+168 (int (*)(...))-0x00000000000000010
+176 (int (*)(...))(& _ZTI16QTextCodecPlugin)
+184 QTextCodecPlugin::_ZThn16_N16QTextCodecPluginD1Ev
+192 QTextCodecPlugin::_ZThn16_N16QTextCodecPluginD0Ev
+200 QTextCodecPlugin::_ZThn16_NK16QTextCodecPlugin4keysEv
+208 QTextCodecPlugin::_ZThn16_N16QTextCodecPlugin6createERK7QString
+
+Class QTextCodecPlugin
+ size=24 align=8
+ base size=24 base align=8
+QTextCodecPlugin (0x7f2ced13b580) 0
+ vptr=((& QTextCodecPlugin::_ZTV16QTextCodecPlugin) + 16u)
+ QObject (0x7f2ced132a80) 0
+ primary-for QTextCodecPlugin (0x7f2ced13b580)
+ QTextCodecFactoryInterface (0x7f2ced132af0) 16 nearly-empty
+ vptr=((& QTextCodecPlugin::_ZTV16QTextCodecPlugin) + 184u)
+ QFactoryInterface (0x7f2ced132b60) 16 nearly-empty
+ primary-for QTextCodecFactoryInterface (0x7f2ced132af0)
+
+Class QLibraryInfo
+ size=1 align=1
+ base size=0 base align=1
+QLibraryInfo (0x7f2ced188150) 0 empty
+
+Vtable for QEventLoop
+QEventLoop::_ZTV10QEventLoop: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QEventLoop)
+16 QEventLoop::metaObject
+24 QEventLoop::qt_metacast
+32 QEventLoop::qt_metacall
+40 QEventLoop::~QEventLoop
+48 QEventLoop::~QEventLoop
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QEventLoop
+ size=16 align=8
+ base size=16 base align=8
+QEventLoop (0x7f2ced1882a0) 0
+ vptr=((& QEventLoop::_ZTV10QEventLoop) + 16u)
+ QObject (0x7f2ced188310) 0
+ primary-for QEventLoop (0x7f2ced1882a0)
+
+Vtable for QAbstractEventDispatcher
+QAbstractEventDispatcher::_ZTV24QAbstractEventDispatcher: 27u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI24QAbstractEventDispatcher)
+16 QAbstractEventDispatcher::metaObject
+24 QAbstractEventDispatcher::qt_metacast
+32 QAbstractEventDispatcher::qt_metacall
+40 QAbstractEventDispatcher::~QAbstractEventDispatcher
+48 QAbstractEventDispatcher::~QAbstractEventDispatcher
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 __cxa_pure_virtual
+136 __cxa_pure_virtual
+144 __cxa_pure_virtual
+152 __cxa_pure_virtual
+160 __cxa_pure_virtual
+168 __cxa_pure_virtual
+176 __cxa_pure_virtual
+184 __cxa_pure_virtual
+192 __cxa_pure_virtual
+200 QAbstractEventDispatcher::startingUp
+208 QAbstractEventDispatcher::closingDown
+
+Class QAbstractEventDispatcher
+ size=16 align=8
+ base size=16 base align=8
+QAbstractEventDispatcher (0x7f2ced1c3bd0) 0
+ vptr=((& QAbstractEventDispatcher::_ZTV24QAbstractEventDispatcher) + 16u)
+ QObject (0x7f2ced1c3c40) 0
+ primary-for QAbstractEventDispatcher (0x7f2ced1c3bd0)
+
+Class QModelIndex
+ size=24 align=8
+ base size=24 base align=8
+QModelIndex (0x7f2ced1eaa80) 0
+
+Class QPersistentModelIndex
+ size=8 align=8
+ base size=8 base align=8
+QPersistentModelIndex (0x7f2ced214540) 0
+
+Vtable for QAbstractItemModel
+QAbstractItemModel::_ZTV18QAbstractItemModel: 42u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QAbstractItemModel)
+16 QAbstractItemModel::metaObject
+24 QAbstractItemModel::qt_metacast
+32 QAbstractItemModel::qt_metacall
+40 QAbstractItemModel::~QAbstractItemModel
+48 QAbstractItemModel::~QAbstractItemModel
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 __cxa_pure_virtual
+136 __cxa_pure_virtual
+144 QAbstractItemModel::hasChildren
+152 __cxa_pure_virtual
+160 QAbstractItemModel::setData
+168 QAbstractItemModel::headerData
+176 QAbstractItemModel::setHeaderData
+184 QAbstractItemModel::itemData
+192 QAbstractItemModel::setItemData
+200 QAbstractItemModel::mimeTypes
+208 QAbstractItemModel::mimeData
+216 QAbstractItemModel::dropMimeData
+224 QAbstractItemModel::supportedDropActions
+232 QAbstractItemModel::insertRows
+240 QAbstractItemModel::insertColumns
+248 QAbstractItemModel::removeRows
+256 QAbstractItemModel::removeColumns
+264 QAbstractItemModel::fetchMore
+272 QAbstractItemModel::canFetchMore
+280 QAbstractItemModel::flags
+288 QAbstractItemModel::sort
+296 QAbstractItemModel::buddy
+304 QAbstractItemModel::match
+312 QAbstractItemModel::span
+320 QAbstractItemModel::submit
+328 QAbstractItemModel::revert
+
+Class QAbstractItemModel
+ size=16 align=8
+ base size=16 base align=8
+QAbstractItemModel (0x7f2ced21c850) 0
+ vptr=((& QAbstractItemModel::_ZTV18QAbstractItemModel) + 16u)
+ QObject (0x7f2ced21c8c0) 0
+ primary-for QAbstractItemModel (0x7f2ced21c850)
+
+Vtable for QAbstractTableModel
+QAbstractTableModel::_ZTV19QAbstractTableModel: 42u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QAbstractTableModel)
+16 QAbstractTableModel::metaObject
+24 QAbstractTableModel::qt_metacast
+32 QAbstractTableModel::qt_metacall
+40 QAbstractTableModel::~QAbstractTableModel
+48 QAbstractTableModel::~QAbstractTableModel
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QAbstractTableModel::index
+120 QAbstractTableModel::parent
+128 __cxa_pure_virtual
+136 __cxa_pure_virtual
+144 QAbstractTableModel::hasChildren
+152 __cxa_pure_virtual
+160 QAbstractItemModel::setData
+168 QAbstractItemModel::headerData
+176 QAbstractItemModel::setHeaderData
+184 QAbstractItemModel::itemData
+192 QAbstractItemModel::setItemData
+200 QAbstractItemModel::mimeTypes
+208 QAbstractItemModel::mimeData
+216 QAbstractTableModel::dropMimeData
+224 QAbstractItemModel::supportedDropActions
+232 QAbstractItemModel::insertRows
+240 QAbstractItemModel::insertColumns
+248 QAbstractItemModel::removeRows
+256 QAbstractItemModel::removeColumns
+264 QAbstractItemModel::fetchMore
+272 QAbstractItemModel::canFetchMore
+280 QAbstractItemModel::flags
+288 QAbstractItemModel::sort
+296 QAbstractItemModel::buddy
+304 QAbstractItemModel::match
+312 QAbstractItemModel::span
+320 QAbstractItemModel::submit
+328 QAbstractItemModel::revert
+
+Class QAbstractTableModel
+ size=16 align=8
+ base size=16 base align=8
+QAbstractTableModel (0x7f2ced078b60) 0
+ vptr=((& QAbstractTableModel::_ZTV19QAbstractTableModel) + 16u)
+ QAbstractItemModel (0x7f2ced078bd0) 0
+ primary-for QAbstractTableModel (0x7f2ced078b60)
+ QObject (0x7f2ced078c40) 0
+ primary-for QAbstractItemModel (0x7f2ced078bd0)
+
+Vtable for QAbstractListModel
+QAbstractListModel::_ZTV18QAbstractListModel: 42u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QAbstractListModel)
+16 QAbstractListModel::metaObject
+24 QAbstractListModel::qt_metacast
+32 QAbstractListModel::qt_metacall
+40 QAbstractListModel::~QAbstractListModel
+48 QAbstractListModel::~QAbstractListModel
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QAbstractListModel::index
+120 QAbstractListModel::parent
+128 __cxa_pure_virtual
+136 QAbstractListModel::columnCount
+144 QAbstractListModel::hasChildren
+152 __cxa_pure_virtual
+160 QAbstractItemModel::setData
+168 QAbstractItemModel::headerData
+176 QAbstractItemModel::setHeaderData
+184 QAbstractItemModel::itemData
+192 QAbstractItemModel::setItemData
+200 QAbstractItemModel::mimeTypes
+208 QAbstractItemModel::mimeData
+216 QAbstractListModel::dropMimeData
+224 QAbstractItemModel::supportedDropActions
+232 QAbstractItemModel::insertRows
+240 QAbstractItemModel::insertColumns
+248 QAbstractItemModel::removeRows
+256 QAbstractItemModel::removeColumns
+264 QAbstractItemModel::fetchMore
+272 QAbstractItemModel::canFetchMore
+280 QAbstractItemModel::flags
+288 QAbstractItemModel::sort
+296 QAbstractItemModel::buddy
+304 QAbstractItemModel::match
+312 QAbstractItemModel::span
+320 QAbstractItemModel::submit
+328 QAbstractItemModel::revert
+
+Class QAbstractListModel
+ size=16 align=8
+ base size=16 base align=8
+QAbstractListModel (0x7f2ced0950e0) 0
+ vptr=((& QAbstractListModel::_ZTV18QAbstractListModel) + 16u)
+ QAbstractItemModel (0x7f2ced095150) 0
+ primary-for QAbstractListModel (0x7f2ced0950e0)
+ QObject (0x7f2ced0951c0) 0
+ primary-for QAbstractItemModel (0x7f2ced095150)
+
+Class QBasicTimer
+ size=4 align=4
+ base size=4 base align=4
+QBasicTimer (0x7f2ced0c6230) 0
+
+Vtable for QCoreApplication
+QCoreApplication::_ZTV16QCoreApplication: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QCoreApplication)
+16 QCoreApplication::metaObject
+24 QCoreApplication::qt_metacast
+32 QCoreApplication::qt_metacall
+40 QCoreApplication::~QCoreApplication
+48 QCoreApplication::~QCoreApplication
+56 QCoreApplication::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QCoreApplication::notify
+120 QCoreApplication::compressEvent
+
+Class QCoreApplication
+ size=16 align=8
+ base size=16 base align=8
+QCoreApplication (0x7f2ced0d2620) 0
+ vptr=((& QCoreApplication::_ZTV16QCoreApplication) + 16u)
+ QObject (0x7f2ced0d2690) 0
+ primary-for QCoreApplication (0x7f2ced0d2620)
+
+Class __exception
+ size=40 align=8
+ base size=40 base align=8
+__exception (0x7f2ced105310) 0
+
+Class QMetaMethod
+ size=16 align=8
+ base size=12 base align=8
+QMetaMethod (0x7f2cecf72770) 0
+
+Class QMetaEnum
+ size=16 align=8
+ base size=12 base align=8
+QMetaEnum (0x7f2cecf8fbd0) 0
+
+Class QMetaProperty
+ size=32 align=8
+ base size=32 base align=8
+QMetaProperty (0x7f2cecf9e930) 0
+
+Class QMetaClassInfo
+ size=16 align=8
+ base size=12 base align=8
+QMetaClassInfo (0x7f2cecfae000) 0
+
+Vtable for QMimeData
+QMimeData::_ZTV9QMimeData: 17u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QMimeData)
+16 QMimeData::metaObject
+24 QMimeData::qt_metacast
+32 QMimeData::qt_metacall
+40 QMimeData::~QMimeData
+48 QMimeData::~QMimeData
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QMimeData::hasFormat
+120 QMimeData::formats
+128 QMimeData::retrieveData
+
+Class QMimeData
+ size=16 align=8
+ base size=16 base align=8
+QMimeData (0x7f2cecfaeaf0) 0
+ vptr=((& QMimeData::_ZTV9QMimeData) + 16u)
+ QObject (0x7f2cecfaeb60) 0
+ primary-for QMimeData (0x7f2cecfaeaf0)
+
+Vtable for QObjectCleanupHandler
+QObjectCleanupHandler::_ZTV21QObjectCleanupHandler: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI21QObjectCleanupHandler)
+16 QObjectCleanupHandler::metaObject
+24 QObjectCleanupHandler::qt_metacast
+32 QObjectCleanupHandler::qt_metacall
+40 QObjectCleanupHandler::~QObjectCleanupHandler
+48 QObjectCleanupHandler::~QObjectCleanupHandler
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QObjectCleanupHandler
+ size=24 align=8
+ base size=24 base align=8
+QObjectCleanupHandler (0x7f2cecfd1380) 0
+ vptr=((& QObjectCleanupHandler::_ZTV21QObjectCleanupHandler) + 16u)
+ QObject (0x7f2cecfd13f0) 0
+ primary-for QObjectCleanupHandler (0x7f2cecfd1380)
+
+Vtable for QSharedMemory
+QSharedMemory::_ZTV13QSharedMemory: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QSharedMemory)
+16 QSharedMemory::metaObject
+24 QSharedMemory::qt_metacast
+32 QSharedMemory::qt_metacall
+40 QSharedMemory::~QSharedMemory
+48 QSharedMemory::~QSharedMemory
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QSharedMemory
+ size=16 align=8
+ base size=16 base align=8
+QSharedMemory (0x7f2cecfe24d0) 0
+ vptr=((& QSharedMemory::_ZTV13QSharedMemory) + 16u)
+ QObject (0x7f2cecfe2540) 0
+ primary-for QSharedMemory (0x7f2cecfe24d0)
+
+Vtable for QSignalMapper
+QSignalMapper::_ZTV13QSignalMapper: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QSignalMapper)
+16 QSignalMapper::metaObject
+24 QSignalMapper::qt_metacast
+32 QSignalMapper::qt_metacall
+40 QSignalMapper::~QSignalMapper
+48 QSignalMapper::~QSignalMapper
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QSignalMapper
+ size=16 align=8
+ base size=16 base align=8
+QSignalMapper (0x7f2cecffe2a0) 0
+ vptr=((& QSignalMapper::_ZTV13QSignalMapper) + 16u)
+ QObject (0x7f2cecffe310) 0
+ primary-for QSignalMapper (0x7f2cecffe2a0)
+
+Vtable for QSocketNotifier
+QSocketNotifier::_ZTV15QSocketNotifier: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QSocketNotifier)
+16 QSocketNotifier::metaObject
+24 QSocketNotifier::qt_metacast
+32 QSocketNotifier::qt_metacall
+40 QSocketNotifier::~QSocketNotifier
+48 QSocketNotifier::~QSocketNotifier
+56 QSocketNotifier::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QSocketNotifier
+ size=32 align=8
+ base size=25 base align=8
+QSocketNotifier (0x7f2ced019690) 0
+ vptr=((& QSocketNotifier::_ZTV15QSocketNotifier) + 16u)
+ QObject (0x7f2ced019700) 0
+ primary-for QSocketNotifier (0x7f2ced019690)
+
+Class QSystemSemaphore
+ size=8 align=8
+ base size=8 base align=8
+QSystemSemaphore (0x7f2cece33a10) 0
+
+Vtable for QTimer
+QTimer::_ZTV6QTimer: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI6QTimer)
+16 QTimer::metaObject
+24 QTimer::qt_metacast
+32 QTimer::qt_metacall
+40 QTimer::~QTimer
+48 QTimer::~QTimer
+56 QObject::event
+64 QObject::eventFilter
+72 QTimer::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QTimer
+ size=32 align=8
+ base size=29 base align=8
+QTimer (0x7f2cece3d460) 0
+ vptr=((& QTimer::_ZTV6QTimer) + 16u)
+ QObject (0x7f2cece3d4d0) 0
+ primary-for QTimer (0x7f2cece3d460)
+
+Vtable for QTranslator
+QTranslator::_ZTV11QTranslator: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QTranslator)
+16 QTranslator::metaObject
+24 QTranslator::qt_metacast
+32 QTranslator::qt_metacall
+40 QTranslator::~QTranslator
+48 QTranslator::~QTranslator
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QTranslator::translate
+120 QTranslator::isEmpty
+
+Class QTranslator
+ size=16 align=8
+ base size=16 base align=8
+QTranslator (0x7f2cece629a0) 0
+ vptr=((& QTranslator::_ZTV11QTranslator) + 16u)
+ QObject (0x7f2cece62a10) 0
+ primary-for QTranslator (0x7f2cece629a0)
+
+Vtable for QLibrary
+QLibrary::_ZTV8QLibrary: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI8QLibrary)
+16 QLibrary::metaObject
+24 QLibrary::qt_metacast
+32 QLibrary::qt_metacall
+40 QLibrary::~QLibrary
+48 QLibrary::~QLibrary
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QLibrary
+ size=32 align=8
+ base size=25 base align=8
+QLibrary (0x7f2cece7d930) 0
+ vptr=((& QLibrary::_ZTV8QLibrary) + 16u)
+ QObject (0x7f2cece7d9a0) 0
+ primary-for QLibrary (0x7f2cece7d930)
+
+Vtable for QPluginLoader
+QPluginLoader::_ZTV13QPluginLoader: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QPluginLoader)
+16 QPluginLoader::metaObject
+24 QPluginLoader::qt_metacast
+32 QPluginLoader::qt_metacall
+40 QPluginLoader::~QPluginLoader
+48 QPluginLoader::~QPluginLoader
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QPluginLoader
+ size=32 align=8
+ base size=25 base align=8
+QPluginLoader (0x7f2cececa3f0) 0
+ vptr=((& QPluginLoader::_ZTV13QPluginLoader) + 16u)
+ QObject (0x7f2cececa460) 0
+ primary-for QPluginLoader (0x7f2cececa3f0)
+
+Class QUuid
+ size=16 align=4
+ base size=16 base align=4
+QUuid (0x7f2ceced9b60) 0
+
+Class QReadWriteLock
+ size=8 align=8
+ base size=8 base align=8
+QReadWriteLock (0x7f2cecf004d0) 0
+
+Class QReadLocker
+ size=8 align=8
+ base size=8 base align=8
+QReadLocker (0x7f2cecf00b60) 0
+
+Class QWriteLocker
+ size=8 align=8
+ base size=8 base align=8
+QWriteLocker (0x7f2cecf1eee0) 0
+
+Class QThreadStorageData
+ size=4 align=4
+ base size=4 base align=4
+QThreadStorageData (0x7f2cecd372a0) 0
+
+Vtable for QAbstractAnimation
+QAbstractAnimation::_ZTV18QAbstractAnimation: 18u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QAbstractAnimation)
+16 QAbstractAnimation::metaObject
+24 QAbstractAnimation::qt_metacast
+32 QAbstractAnimation::qt_metacall
+40 QAbstractAnimation::~QAbstractAnimation
+48 QAbstractAnimation::~QAbstractAnimation
+56 QAbstractAnimation::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 QAbstractAnimation::updateState
+136 QAbstractAnimation::updateDirection
+
+Class QAbstractAnimation
+ size=16 align=8
+ base size=16 base align=8
+QAbstractAnimation (0x7f2cecd37a10) 0
+ vptr=((& QAbstractAnimation::_ZTV18QAbstractAnimation) + 16u)
+ QObject (0x7f2cecd37a80) 0
+ primary-for QAbstractAnimation (0x7f2cecd37a10)
+
+Vtable for QAnimationGroup
+QAnimationGroup::_ZTV15QAnimationGroup: 18u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QAnimationGroup)
+16 QAnimationGroup::metaObject
+24 QAnimationGroup::qt_metacast
+32 QAnimationGroup::qt_metacall
+40 QAnimationGroup::~QAnimationGroup
+48 QAnimationGroup::~QAnimationGroup
+56 QAnimationGroup::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 QAbstractAnimation::updateState
+136 QAbstractAnimation::updateDirection
+
+Class QAnimationGroup
+ size=16 align=8
+ base size=16 base align=8
+QAnimationGroup (0x7f2cecd6f150) 0
+ vptr=((& QAnimationGroup::_ZTV15QAnimationGroup) + 16u)
+ QAbstractAnimation (0x7f2cecd6f1c0) 0
+ primary-for QAnimationGroup (0x7f2cecd6f150)
+ QObject (0x7f2cecd6f230) 0
+ primary-for QAbstractAnimation (0x7f2cecd6f1c0)
+
+Vtable for QParallelAnimationGroup
+QParallelAnimationGroup::_ZTV23QParallelAnimationGroup: 18u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI23QParallelAnimationGroup)
+16 QParallelAnimationGroup::metaObject
+24 QParallelAnimationGroup::qt_metacast
+32 QParallelAnimationGroup::qt_metacall
+40 QParallelAnimationGroup::~QParallelAnimationGroup
+48 QParallelAnimationGroup::~QParallelAnimationGroup
+56 QParallelAnimationGroup::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QParallelAnimationGroup::duration
+120 QParallelAnimationGroup::updateCurrentTime
+128 QParallelAnimationGroup::updateState
+136 QParallelAnimationGroup::updateDirection
+
+Class QParallelAnimationGroup
+ size=16 align=8
+ base size=16 base align=8
+QParallelAnimationGroup (0x7f2cecd8a000) 0
+ vptr=((& QParallelAnimationGroup::_ZTV23QParallelAnimationGroup) + 16u)
+ QAnimationGroup (0x7f2cecd8a070) 0
+ primary-for QParallelAnimationGroup (0x7f2cecd8a000)
+ QAbstractAnimation (0x7f2cecd8a0e0) 0
+ primary-for QAnimationGroup (0x7f2cecd8a070)
+ QObject (0x7f2cecd8a150) 0
+ primary-for QAbstractAnimation (0x7f2cecd8a0e0)
+
+Vtable for QPauseAnimation
+QPauseAnimation::_ZTV15QPauseAnimation: 18u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QPauseAnimation)
+16 QPauseAnimation::metaObject
+24 QPauseAnimation::qt_metacast
+32 QPauseAnimation::qt_metacall
+40 QPauseAnimation::~QPauseAnimation
+48 QPauseAnimation::~QPauseAnimation
+56 QPauseAnimation::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QPauseAnimation::duration
+120 QPauseAnimation::updateCurrentTime
+128 QAbstractAnimation::updateState
+136 QAbstractAnimation::updateDirection
+
+Class QPauseAnimation
+ size=16 align=8
+ base size=16 base align=8
+QPauseAnimation (0x7f2cecd97e70) 0
+ vptr=((& QPauseAnimation::_ZTV15QPauseAnimation) + 16u)
+ QAbstractAnimation (0x7f2cecd97ee0) 0
+ primary-for QPauseAnimation (0x7f2cecd97e70)
+ QObject (0x7f2cecd97f50) 0
+ primary-for QAbstractAnimation (0x7f2cecd97ee0)
+
+Vtable for QVariantAnimation
+QVariantAnimation::_ZTV17QVariantAnimation: 20u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QVariantAnimation)
+16 QVariantAnimation::metaObject
+24 QVariantAnimation::qt_metacast
+32 QVariantAnimation::qt_metacall
+40 QVariantAnimation::~QVariantAnimation
+48 QVariantAnimation::~QVariantAnimation
+56 QVariantAnimation::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QVariantAnimation::duration
+120 QVariantAnimation::updateCurrentTime
+128 QVariantAnimation::updateState
+136 QAbstractAnimation::updateDirection
+144 __cxa_pure_virtual
+152 QVariantAnimation::interpolated
+
+Class QVariantAnimation
+ size=16 align=8
+ base size=16 base align=8
+QVariantAnimation (0x7f2cecdb58c0) 0
+ vptr=((& QVariantAnimation::_ZTV17QVariantAnimation) + 16u)
+ QAbstractAnimation (0x7f2cecdb5930) 0
+ primary-for QVariantAnimation (0x7f2cecdb58c0)
+ QObject (0x7f2cecdb59a0) 0
+ primary-for QAbstractAnimation (0x7f2cecdb5930)
+
+Vtable for QPropertyAnimation
+QPropertyAnimation::_ZTV18QPropertyAnimation: 20u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QPropertyAnimation)
+16 QPropertyAnimation::metaObject
+24 QPropertyAnimation::qt_metacast
+32 QPropertyAnimation::qt_metacall
+40 QPropertyAnimation::~QPropertyAnimation
+48 QPropertyAnimation::~QPropertyAnimation
+56 QPropertyAnimation::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QVariantAnimation::duration
+120 QVariantAnimation::updateCurrentTime
+128 QPropertyAnimation::updateState
+136 QAbstractAnimation::updateDirection
+144 QPropertyAnimation::updateCurrentValue
+152 QVariantAnimation::interpolated
+
+Class QPropertyAnimation
+ size=16 align=8
+ base size=16 base align=8
+QPropertyAnimation (0x7f2cecdd2b60) 0
+ vptr=((& QPropertyAnimation::_ZTV18QPropertyAnimation) + 16u)
+ QVariantAnimation (0x7f2cecdd2bd0) 0
+ primary-for QPropertyAnimation (0x7f2cecdd2b60)
+ QAbstractAnimation (0x7f2cecdd2c40) 0
+ primary-for QVariantAnimation (0x7f2cecdd2bd0)
+ QObject (0x7f2cecdd2cb0) 0
+ primary-for QAbstractAnimation (0x7f2cecdd2c40)
+
+Vtable for QSequentialAnimationGroup
+QSequentialAnimationGroup::_ZTV25QSequentialAnimationGroup: 18u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI25QSequentialAnimationGroup)
+16 QSequentialAnimationGroup::metaObject
+24 QSequentialAnimationGroup::qt_metacast
+32 QSequentialAnimationGroup::qt_metacall
+40 QSequentialAnimationGroup::~QSequentialAnimationGroup
+48 QSequentialAnimationGroup::~QSequentialAnimationGroup
+56 QSequentialAnimationGroup::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QSequentialAnimationGroup::duration
+120 QSequentialAnimationGroup::updateCurrentTime
+128 QSequentialAnimationGroup::updateState
+136 QSequentialAnimationGroup::updateDirection
+
+Class QSequentialAnimationGroup
+ size=16 align=8
+ base size=16 base align=8
+QSequentialAnimationGroup (0x7f2cecdecb60) 0
+ vptr=((& QSequentialAnimationGroup::_ZTV25QSequentialAnimationGroup) + 16u)
+ QAnimationGroup (0x7f2cecdecbd0) 0
+ primary-for QSequentialAnimationGroup (0x7f2cecdecb60)
+ QAbstractAnimation (0x7f2cecdecc40) 0
+ primary-for QAnimationGroup (0x7f2cecdecbd0)
+ QObject (0x7f2cecdeccb0) 0
+ primary-for QAbstractAnimation (0x7f2cecdecc40)
+
+Class QSqlRecord
+ size=8 align=8
+ base size=8 base align=8
+QSqlRecord (0x7f2cecc3f230) 0
+
+Vtable for QSqlDriverCreatorBase
+QSqlDriverCreatorBase::_ZTV21QSqlDriverCreatorBase: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI21QSqlDriverCreatorBase)
+16 QSqlDriverCreatorBase::~QSqlDriverCreatorBase
+24 QSqlDriverCreatorBase::~QSqlDriverCreatorBase
+32 __cxa_pure_virtual
+
+Class QSqlDriverCreatorBase
+ size=8 align=8
+ base size=8 base align=8
+QSqlDriverCreatorBase (0x7f2cecc3fe70) 0 nearly-empty
+ vptr=((& QSqlDriverCreatorBase::_ZTV21QSqlDriverCreatorBase) + 16u)
+
+Class QSqlDatabase
+ size=8 align=8
+ base size=8 base align=8
+QSqlDatabase (0x7f2cecc569a0) 0
+
+Class QSqlQuery
+ size=8 align=8
+ base size=8 base align=8
+QSqlQuery (0x7f2cecc67d90) 0
+
+Vtable for QSqlDriver
+QSqlDriver::_ZTV10QSqlDriver: 32u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QSqlDriver)
+16 QSqlDriver::metaObject
+24 QSqlDriver::qt_metacast
+32 QSqlDriver::qt_metacall
+40 QSqlDriver::~QSqlDriver
+48 QSqlDriver::~QSqlDriver
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QSqlDriver::isOpen
+120 QSqlDriver::beginTransaction
+128 QSqlDriver::commitTransaction
+136 QSqlDriver::rollbackTransaction
+144 QSqlDriver::tables
+152 QSqlDriver::primaryIndex
+160 QSqlDriver::record
+168 QSqlDriver::formatValue
+176 QSqlDriver::escapeIdentifier
+184 QSqlDriver::sqlStatement
+192 QSqlDriver::handle
+200 __cxa_pure_virtual
+208 __cxa_pure_virtual
+216 __cxa_pure_virtual
+224 __cxa_pure_virtual
+232 QSqlDriver::setOpen
+240 QSqlDriver::setOpenError
+248 QSqlDriver::setLastError
+
+Class QSqlDriver
+ size=16 align=8
+ base size=16 base align=8
+QSqlDriver (0x7f2cecc73850) 0
+ vptr=((& QSqlDriver::_ZTV10QSqlDriver) + 16u)
+ QObject (0x7f2cecc738c0) 0
+ primary-for QSqlDriver (0x7f2cecc73850)
+
+Vtable for QSqlDriverFactoryInterface
+QSqlDriverFactoryInterface::_ZTV26QSqlDriverFactoryInterface: 6u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI26QSqlDriverFactoryInterface)
+16 QSqlDriverFactoryInterface::~QSqlDriverFactoryInterface
+24 QSqlDriverFactoryInterface::~QSqlDriverFactoryInterface
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+
+Class QSqlDriverFactoryInterface
+ size=8 align=8
+ base size=8 base align=8
+QSqlDriverFactoryInterface (0x7f2ceccb70e0) 0 nearly-empty
+ vptr=((& QSqlDriverFactoryInterface::_ZTV26QSqlDriverFactoryInterface) + 16u)
+ QFactoryInterface (0x7f2ceccb7150) 0 nearly-empty
+ primary-for QSqlDriverFactoryInterface (0x7f2ceccb70e0)
+
+Vtable for QSqlDriverPlugin
+QSqlDriverPlugin::_ZTV16QSqlDriverPlugin: 22u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QSqlDriverPlugin)
+16 QSqlDriverPlugin::metaObject
+24 QSqlDriverPlugin::qt_metacast
+32 QSqlDriverPlugin::qt_metacall
+40 QSqlDriverPlugin::~QSqlDriverPlugin
+48 QSqlDriverPlugin::~QSqlDriverPlugin
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 (int (*)(...))-0x00000000000000010
+136 (int (*)(...))(& _ZTI16QSqlDriverPlugin)
+144 QSqlDriverPlugin::_ZThn16_N16QSqlDriverPluginD1Ev
+152 QSqlDriverPlugin::_ZThn16_N16QSqlDriverPluginD0Ev
+160 __cxa_pure_virtual
+168 __cxa_pure_virtual
+
+Class QSqlDriverPlugin
+ size=24 align=8
+ base size=24 base align=8
+QSqlDriverPlugin (0x7f2ceccb2c00) 0
+ vptr=((& QSqlDriverPlugin::_ZTV16QSqlDriverPlugin) + 16u)
+ QObject (0x7f2ceccb7b60) 0
+ primary-for QSqlDriverPlugin (0x7f2ceccb2c00)
+ QSqlDriverFactoryInterface (0x7f2ceccb7bd0) 16 nearly-empty
+ vptr=((& QSqlDriverPlugin::_ZTV16QSqlDriverPlugin) + 144u)
+ QFactoryInterface (0x7f2ceccb7c40) 16 nearly-empty
+ primary-for QSqlDriverFactoryInterface (0x7f2ceccb7bd0)
+
+Class QSqlError
+ size=24 align=8
+ base size=24 base align=8
+QSqlError (0x7f2cecccaa80) 0
+
+Class QSqlField
+ size=24 align=8
+ base size=24 base align=8
+QSqlField (0x7f2ceccd29a0) 0
+
+Class QSqlIndex
+ size=32 align=8
+ base size=32 base align=8
+QSqlIndex (0x7f2cecced2a0) 0
+ QSqlRecord (0x7f2cecced310) 0
+
+Vtable for QSqlResult
+QSqlResult::_ZTV10QSqlResult: 29u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QSqlResult)
+16 QSqlResult::~QSqlResult
+24 QSqlResult::~QSqlResult
+32 QSqlResult::handle
+40 QSqlResult::setAt
+48 QSqlResult::setActive
+56 QSqlResult::setLastError
+64 QSqlResult::setQuery
+72 QSqlResult::setSelect
+80 QSqlResult::setForwardOnly
+88 QSqlResult::exec
+96 QSqlResult::prepare
+104 QSqlResult::savePrepare
+112 QSqlResult::bindValue
+120 QSqlResult::bindValue
+128 __cxa_pure_virtual
+136 __cxa_pure_virtual
+144 __cxa_pure_virtual
+152 __cxa_pure_virtual
+160 QSqlResult::fetchNext
+168 QSqlResult::fetchPrevious
+176 __cxa_pure_virtual
+184 __cxa_pure_virtual
+192 __cxa_pure_virtual
+200 __cxa_pure_virtual
+208 QSqlResult::record
+216 QSqlResult::lastInsertId
+224 QSqlResult::virtual_hook
+
+Class QSqlResult
+ size=16 align=8
+ base size=16 base align=8
+QSqlResult (0x7f2cecd201c0) 0
+ vptr=((& QSqlResult::_ZTV10QSqlResult) + 16u)
+
+Vtable for QSqlQueryModel
+QSqlQueryModel::_ZTV14QSqlQueryModel: 44u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QSqlQueryModel)
+16 QSqlQueryModel::metaObject
+24 QSqlQueryModel::qt_metacast
+32 QSqlQueryModel::qt_metacall
+40 QSqlQueryModel::~QSqlQueryModel
+48 QSqlQueryModel::~QSqlQueryModel
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QAbstractTableModel::index
+120 QAbstractTableModel::parent
+128 QSqlQueryModel::rowCount
+136 QSqlQueryModel::columnCount
+144 QAbstractTableModel::hasChildren
+152 QSqlQueryModel::data
+160 QAbstractItemModel::setData
+168 QSqlQueryModel::headerData
+176 QSqlQueryModel::setHeaderData
+184 QAbstractItemModel::itemData
+192 QAbstractItemModel::setItemData
+200 QAbstractItemModel::mimeTypes
+208 QAbstractItemModel::mimeData
+216 QAbstractTableModel::dropMimeData
+224 QAbstractItemModel::supportedDropActions
+232 QAbstractItemModel::insertRows
+240 QSqlQueryModel::insertColumns
+248 QAbstractItemModel::removeRows
+256 QSqlQueryModel::removeColumns
+264 QSqlQueryModel::fetchMore
+272 QSqlQueryModel::canFetchMore
+280 QAbstractItemModel::flags
+288 QAbstractItemModel::sort
+296 QAbstractItemModel::buddy
+304 QAbstractItemModel::match
+312 QAbstractItemModel::span
+320 QAbstractItemModel::submit
+328 QAbstractItemModel::revert
+336 QSqlQueryModel::clear
+344 QSqlQueryModel::queryChange
+
+Class QSqlQueryModel
+ size=16 align=8
+ base size=16 base align=8
+QSqlQueryModel (0x7f2cecd20a80) 0
+ vptr=((& QSqlQueryModel::_ZTV14QSqlQueryModel) + 16u)
+ QAbstractTableModel (0x7f2cecd20af0) 0
+ primary-for QSqlQueryModel (0x7f2cecd20a80)
+ QAbstractItemModel (0x7f2cecd20b60) 0
+ primary-for QAbstractTableModel (0x7f2cecd20af0)
+ QObject (0x7f2cecd20bd0) 0
+ primary-for QAbstractItemModel (0x7f2cecd20b60)
+
+Vtable for QSqlTableModel
+QSqlTableModel::_ZTV14QSqlTableModel: 55u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QSqlTableModel)
+16 QSqlTableModel::metaObject
+24 QSqlTableModel::qt_metacast
+32 QSqlTableModel::qt_metacall
+40 QSqlTableModel::~QSqlTableModel
+48 QSqlTableModel::~QSqlTableModel
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QAbstractTableModel::index
+120 QAbstractTableModel::parent
+128 QSqlTableModel::rowCount
+136 QSqlQueryModel::columnCount
+144 QAbstractTableModel::hasChildren
+152 QSqlTableModel::data
+160 QSqlTableModel::setData
+168 QSqlTableModel::headerData
+176 QSqlQueryModel::setHeaderData
+184 QAbstractItemModel::itemData
+192 QAbstractItemModel::setItemData
+200 QAbstractItemModel::mimeTypes
+208 QAbstractItemModel::mimeData
+216 QAbstractTableModel::dropMimeData
+224 QAbstractItemModel::supportedDropActions
+232 QSqlTableModel::insertRows
+240 QSqlQueryModel::insertColumns
+248 QSqlTableModel::removeRows
+256 QSqlTableModel::removeColumns
+264 QSqlQueryModel::fetchMore
+272 QSqlQueryModel::canFetchMore
+280 QSqlTableModel::flags
+288 QSqlTableModel::sort
+296 QAbstractItemModel::buddy
+304 QAbstractItemModel::match
+312 QAbstractItemModel::span
+320 QSqlTableModel::submit
+328 QSqlTableModel::revert
+336 QSqlTableModel::clear
+344 QSqlQueryModel::queryChange
+352 QSqlTableModel::select
+360 QSqlTableModel::setTable
+368 QSqlTableModel::setEditStrategy
+376 QSqlTableModel::setSort
+384 QSqlTableModel::setFilter
+392 QSqlTableModel::revertRow
+400 QSqlTableModel::updateRowInTable
+408 QSqlTableModel::insertRowIntoTable
+416 QSqlTableModel::deleteRowFromTable
+424 QSqlTableModel::orderByClause
+432 QSqlTableModel::selectStatement
+
+Class QSqlTableModel
+ size=16 align=8
+ base size=16 base align=8
+QSqlTableModel (0x7f2cecb57380) 0
+ vptr=((& QSqlTableModel::_ZTV14QSqlTableModel) + 16u)
+ QSqlQueryModel (0x7f2cecb573f0) 0
+ primary-for QSqlTableModel (0x7f2cecb57380)
+ QAbstractTableModel (0x7f2cecb57460) 0
+ primary-for QSqlQueryModel (0x7f2cecb573f0)
+ QAbstractItemModel (0x7f2cecb574d0) 0
+ primary-for QAbstractTableModel (0x7f2cecb57460)
+ QObject (0x7f2cecb57540) 0
+ primary-for QAbstractItemModel (0x7f2cecb574d0)
+
+Class QSqlRelation
+ size=24 align=8
+ base size=24 base align=8
+QSqlRelation (0x7f2cecb7ae70) 0
+
+Vtable for QSqlRelationalTableModel
+QSqlRelationalTableModel::_ZTV24QSqlRelationalTableModel: 57u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI24QSqlRelationalTableModel)
+16 QSqlRelationalTableModel::metaObject
+24 QSqlRelationalTableModel::qt_metacast
+32 QSqlRelationalTableModel::qt_metacall
+40 QSqlRelationalTableModel::~QSqlRelationalTableModel
+48 QSqlRelationalTableModel::~QSqlRelationalTableModel
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QAbstractTableModel::index
+120 QAbstractTableModel::parent
+128 QSqlTableModel::rowCount
+136 QSqlQueryModel::columnCount
+144 QAbstractTableModel::hasChildren
+152 QSqlRelationalTableModel::data
+160 QSqlRelationalTableModel::setData
+168 QSqlTableModel::headerData
+176 QSqlQueryModel::setHeaderData
+184 QAbstractItemModel::itemData
+192 QAbstractItemModel::setItemData
+200 QAbstractItemModel::mimeTypes
+208 QAbstractItemModel::mimeData
+216 QAbstractTableModel::dropMimeData
+224 QAbstractItemModel::supportedDropActions
+232 QSqlTableModel::insertRows
+240 QSqlQueryModel::insertColumns
+248 QSqlTableModel::removeRows
+256 QSqlRelationalTableModel::removeColumns
+264 QSqlQueryModel::fetchMore
+272 QSqlQueryModel::canFetchMore
+280 QSqlTableModel::flags
+288 QSqlTableModel::sort
+296 QAbstractItemModel::buddy
+304 QAbstractItemModel::match
+312 QAbstractItemModel::span
+320 QSqlTableModel::submit
+328 QSqlTableModel::revert
+336 QSqlRelationalTableModel::clear
+344 QSqlQueryModel::queryChange
+352 QSqlRelationalTableModel::select
+360 QSqlRelationalTableModel::setTable
+368 QSqlTableModel::setEditStrategy
+376 QSqlTableModel::setSort
+384 QSqlTableModel::setFilter
+392 QSqlRelationalTableModel::revertRow
+400 QSqlRelationalTableModel::updateRowInTable
+408 QSqlRelationalTableModel::insertRowIntoTable
+416 QSqlTableModel::deleteRowFromTable
+424 QSqlRelationalTableModel::orderByClause
+432 QSqlRelationalTableModel::selectStatement
+440 QSqlRelationalTableModel::setRelation
+448 QSqlRelationalTableModel::relationModel
+
+Class QSqlRelationalTableModel
+ size=16 align=8
+ base size=16 base align=8
+QSqlRelationalTableModel (0x7f2cecb9e7e0) 0
+ vptr=((& QSqlRelationalTableModel::_ZTV24QSqlRelationalTableModel) + 16u)
+ QSqlTableModel (0x7f2cecb9e850) 0
+ primary-for QSqlRelationalTableModel (0x7f2cecb9e7e0)
+ QSqlQueryModel (0x7f2cecb9e8c0) 0
+ primary-for QSqlTableModel (0x7f2cecb9e850)
+ QAbstractTableModel (0x7f2cecb9e930) 0
+ primary-for QSqlQueryModel (0x7f2cecb9e8c0)
+ QAbstractItemModel (0x7f2cecb9e9a0) 0
+ primary-for QAbstractTableModel (0x7f2cecb9e930)
+ QObject (0x7f2cecb9ea10) 0
+ primary-for QAbstractItemModel (0x7f2cecb9e9a0)
+
diff --git a/tests/auto/bic/data/QtSvg.4.5.0.linux-gcc-amd64.txt b/tests/auto/bic/data/QtSvg.4.5.0.linux-gcc-amd64.txt
new file mode 100644
index 0000000000..e9a7947903
--- /dev/null
+++ b/tests/auto/bic/data/QtSvg.4.5.0.linux-gcc-amd64.txt
@@ -0,0 +1,15808 @@
+Class QSysInfo
+ size=1 align=1
+ base size=0 base align=1
+QSysInfo (0x7f96e4940460) 0 empty
+
+Class QBool
+ size=1 align=1
+ base size=1 base align=1
+QBool (0x7f96e4956150) 0
+
+Class qIsNull(double)::U
+ size=8 align=8
+ base size=8 base align=8
+qIsNull(double)::U (0x7f96e496d540) 0
+
+Class qIsNull(float)::U
+ size=4 align=4
+ base size=4 base align=4
+qIsNull(float)::U (0x7f96e496d7e0) 0
+
+Class QFlag
+ size=4 align=4
+ base size=4 base align=4
+QFlag (0x7f96e49a6620) 0
+
+Class QIncompatibleFlag
+ size=4 align=4
+ base size=4 base align=4
+QIncompatibleFlag (0x7f96e49a6e00) 0
+
+Class QInternal
+ size=1 align=1
+ base size=0 base align=1
+QInternal (0x7f96e479e540) 0 empty
+
+Class QGenericArgument
+ size=16 align=8
+ base size=16 base align=8
+QGenericArgument (0x7f96e479e850) 0
+
+Class QGenericReturnArgument
+ size=16 align=8
+ base size=16 base align=8
+QGenericReturnArgument (0x7f96e47bb3f0) 0
+ QGenericArgument (0x7f96e47bb460) 0
+
+Class QMetaObject
+ size=32 align=8
+ base size=32 base align=8
+QMetaObject (0x7f96e47bbcb0) 0
+
+Class QMetaObjectExtraData
+ size=16 align=8
+ base size=16 base align=8
+QMetaObjectExtraData (0x7f96e47e2cb0) 0
+
+Class QLatin1Char
+ size=1 align=1
+ base size=1 base align=1
+QLatin1Char (0x7f96e47ec700) 0
+
+Class QChar
+ size=2 align=2
+ base size=2 base align=2
+QChar (0x7f96e47f22a0) 0
+
+Class QBasicAtomicInt
+ size=4 align=4
+ base size=4 base align=4
+QBasicAtomicInt (0x7f96e465a380) 0
+
+Class QAtomicInt
+ size=4 align=4
+ base size=4 base align=4
+QAtomicInt (0x7f96e4698d20) 0
+ QBasicAtomicInt (0x7f96e4698d90) 0
+
+Class __locale_struct
+ size=232 align=8
+ base size=232 base align=8
+__locale_struct (0x7f96e46bb1c0) 0
+
+Class QByteArray::Data
+ size=32 align=8
+ base size=32 base align=8
+QByteArray::Data (0x7f96e45387e0) 0
+
+Class QByteArray
+ size=8 align=8
+ base size=8 base align=8
+QByteArray (0x7f96e46f4540) 0
+
+Class QByteRef
+ size=16 align=8
+ base size=12 base align=8
+QByteRef (0x7f96e458fa80) 0
+
+Class QString::Null
+ size=1 align=1
+ base size=0 base align=1
+QString::Null (0x7f96e4497700) 0 empty
+
+Class QString::Data
+ size=32 align=8
+ base size=32 base align=8
+QString::Data (0x7f96e44a7ee0) 0
+
+Class QString
+ size=8 align=8
+ base size=8 base align=8
+QString (0x7f96e46165b0) 0
+
+Class QLatin1String
+ size=8 align=8
+ base size=8 base align=8
+QLatin1String (0x7f96e4380000) 0
+
+Class QCharRef
+ size=16 align=8
+ base size=12 base align=8
+QCharRef (0x7f96e4418620) 0
+
+Class QConstString
+ size=8 align=8
+ base size=8 base align=8
+QConstString (0x7f96e415eee0) 0
+ QString (0x7f96e415ef50) 0
+
+Class QStringRef
+ size=16 align=8
+ base size=16 base align=8
+QStringRef (0x7f96e417fbd0) 0
+
+Vtable for std::exception
+std::exception::_ZTVSt9exception: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt9exception)
+16 std::exception::~exception
+24 std::exception::~exception
+32 std::exception::what
+
+Class std::exception
+ size=8 align=8
+ base size=8 base align=8
+std::exception (0x7f96e4039620) 0 nearly-empty
+ vptr=((& std::exception::_ZTVSt9exception) + 16u)
+
+Vtable for std::bad_exception
+std::bad_exception::_ZTVSt13bad_exception: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt13bad_exception)
+16 std::bad_exception::~bad_exception
+24 std::bad_exception::~bad_exception
+32 std::bad_exception::what
+
+Class std::bad_exception
+ size=8 align=8
+ base size=8 base align=8
+std::bad_exception (0x7f96e405c000) 0 nearly-empty
+ vptr=((& std::bad_exception::_ZTVSt13bad_exception) + 16u)
+ std::exception (0x7f96e405c070) 0 nearly-empty
+ primary-for std::bad_exception (0x7f96e405c000)
+
+Vtable for std::bad_alloc
+std::bad_alloc::_ZTVSt9bad_alloc: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt9bad_alloc)
+16 std::bad_alloc::~bad_alloc
+24 std::bad_alloc::~bad_alloc
+32 std::bad_alloc::what
+
+Class std::bad_alloc
+ size=8 align=8
+ base size=8 base align=8
+std::bad_alloc (0x7f96e405c8c0) 0 nearly-empty
+ vptr=((& std::bad_alloc::_ZTVSt9bad_alloc) + 16u)
+ std::exception (0x7f96e405c930) 0 nearly-empty
+ primary-for std::bad_alloc (0x7f96e405c8c0)
+
+Class std::nothrow_t
+ size=1 align=1
+ base size=0 base align=1
+std::nothrow_t (0x7f96e406d0e0) 0 empty
+
+Class QListData::Data
+ size=32 align=8
+ base size=32 base align=8
+QListData::Data (0x7f96e406d620) 0
+
+Class QListData
+ size=8 align=8
+ base size=8 base align=8
+QListData (0x7f96e406d5b0) 0
+
+Vtable for QObjectData
+QObjectData::_ZTV11QObjectData: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QObjectData)
+16 __cxa_pure_virtual
+24 __cxa_pure_virtual
+
+Class QObjectData
+ size=40 align=8
+ base size=40 base align=8
+QObjectData (0x7f96e3f73bd0) 0
+ vptr=((& QObjectData::_ZTV11QObjectData) + 16u)
+
+Vtable for QObject
+QObject::_ZTV7QObject: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QObject)
+16 QObject::metaObject
+24 QObject::qt_metacast
+32 QObject::qt_metacall
+40 QObject::~QObject
+48 QObject::~QObject
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QObject
+ size=16 align=8
+ base size=16 base align=8
+QObject (0x7f96e3f73ee0) 0
+ vptr=((& QObject::_ZTV7QObject) + 16u)
+
+Vtable for QObjectUserData
+QObjectUserData::_ZTV15QObjectUserData: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QObjectUserData)
+16 QObjectUserData::~QObjectUserData
+24 QObjectUserData::~QObjectUserData
+
+Class QObjectUserData
+ size=8 align=8
+ base size=8 base align=8
+QObjectUserData (0x7f96e40033f0) 0 nearly-empty
+ vptr=((& QObjectUserData::_ZTV15QObjectUserData) + 16u)
+
+Vtable for QIODevice
+QIODevice::_ZTV9QIODevice: 30u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QIODevice)
+16 QIODevice::metaObject
+24 QIODevice::qt_metacast
+32 QIODevice::qt_metacall
+40 QIODevice::~QIODevice
+48 QIODevice::~QIODevice
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QIODevice::isSequential
+120 QIODevice::open
+128 QIODevice::close
+136 QIODevice::pos
+144 QIODevice::size
+152 QIODevice::seek
+160 QIODevice::atEnd
+168 QIODevice::reset
+176 QIODevice::bytesAvailable
+184 QIODevice::bytesToWrite
+192 QIODevice::canReadLine
+200 QIODevice::waitForReadyRead
+208 QIODevice::waitForBytesWritten
+216 __cxa_pure_virtual
+224 QIODevice::readLineData
+232 __cxa_pure_virtual
+
+Class QIODevice
+ size=16 align=8
+ base size=16 base align=8
+QIODevice (0x7f96e4003930) 0
+ vptr=((& QIODevice::_ZTV9QIODevice) + 16u)
+ QObject (0x7f96e40039a0) 0
+ primary-for QIODevice (0x7f96e4003930)
+
+Vtable for QDataStream
+QDataStream::_ZTV11QDataStream: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QDataStream)
+16 QDataStream::~QDataStream
+24 QDataStream::~QDataStream
+
+Class QDataStream
+ size=40 align=8
+ base size=40 base align=8
+QDataStream (0x7f96e3e782a0) 0
+ vptr=((& QDataStream::_ZTV11QDataStream) + 16u)
+
+Class QHashData::Node
+ size=16 align=8
+ base size=16 base align=8
+QHashData::Node (0x7f96e3f00150) 0
+
+Class QHashData
+ size=40 align=8
+ base size=40 base align=8
+QHashData (0x7f96e3f000e0) 0
+
+Class QHashDummyValue
+ size=1 align=1
+ base size=0 base align=1
+QHashDummyValue (0x7f96e3f0fee0) 0 empty
+
+Class QMapData::Node
+ size=16 align=8
+ base size=16 base align=8
+QMapData::Node (0x7f96e3c22690) 0
+
+Class QMapData
+ size=128 align=8
+ base size=128 base align=8
+QMapData (0x7f96e3c22620) 0
+
+Vtable for QSystemLocale
+QSystemLocale::_ZTV13QSystemLocale: 6u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QSystemLocale)
+16 QSystemLocale::~QSystemLocale
+24 QSystemLocale::~QSystemLocale
+32 QSystemLocale::query
+40 QSystemLocale::fallbackLocale
+
+Class QSystemLocale
+ size=8 align=8
+ base size=8 base align=8
+QSystemLocale (0x7f96e3b35e00) 0 nearly-empty
+ vptr=((& QSystemLocale::_ZTV13QSystemLocale) + 16u)
+
+Class QLocale::Data
+ size=4 align=2
+ base size=4 base align=2
+QLocale::Data (0x7f96e3b943f0) 0
+
+Class QLocale
+ size=8 align=8
+ base size=8 base align=8
+QLocale (0x7f96e3b580e0) 0
+
+Class QTextCodec::ConverterState
+ size=32 align=8
+ base size=32 base align=8
+QTextCodec::ConverterState (0x7f96e3be2e70) 0
+
+Vtable for QTextCodec
+QTextCodec::_ZTV10QTextCodec: 9u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QTextCodec)
+16 __cxa_pure_virtual
+24 QTextCodec::aliases
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+48 __cxa_pure_virtual
+56 QTextCodec::~QTextCodec
+64 QTextCodec::~QTextCodec
+
+Class QTextCodec
+ size=8 align=8
+ base size=8 base align=8
+QTextCodec (0x7f96e3bcaa80) 0 nearly-empty
+ vptr=((& QTextCodec::_ZTV10QTextCodec) + 16u)
+
+Class QTextEncoder
+ size=40 align=8
+ base size=40 base align=8
+QTextEncoder (0x7f96e3a4d3f0) 0
+
+Class QTextDecoder
+ size=40 align=8
+ base size=40 base align=8
+QTextDecoder (0x7f96e3a56230) 0
+
+Class _IO_marker
+ size=24 align=8
+ base size=24 base align=8
+_IO_marker (0x7f96e3a612a0) 0
+
+Class _IO_FILE
+ size=216 align=8
+ base size=216 base align=8
+_IO_FILE (0x7f96e3a61310) 0
+
+Vtable for QTextStream
+QTextStream::_ZTV11QTextStream: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QTextStream)
+16 QTextStream::~QTextStream
+24 QTextStream::~QTextStream
+
+Class QTextStream
+ size=16 align=8
+ base size=16 base align=8
+QTextStream (0x7f96e3a613f0) 0
+ vptr=((& QTextStream::_ZTV11QTextStream) + 16u)
+
+Class QTextStreamManipulator
+ size=40 align=8
+ base size=38 base align=8
+QTextStreamManipulator (0x7f96e3af8ee0) 0
+
+Vtable for QTextIStream
+QTextIStream::_ZTV12QTextIStream: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QTextIStream)
+16 QTextIStream::~QTextIStream
+24 QTextIStream::~QTextIStream
+
+Class QTextIStream
+ size=16 align=8
+ base size=16 base align=8
+QTextIStream (0x7f96e39231c0) 0
+ vptr=((& QTextIStream::_ZTV12QTextIStream) + 16u)
+ QTextStream (0x7f96e3923230) 0
+ primary-for QTextIStream (0x7f96e39231c0)
+
+Vtable for QTextOStream
+QTextOStream::_ZTV12QTextOStream: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QTextOStream)
+16 QTextOStream::~QTextOStream
+24 QTextOStream::~QTextOStream
+
+Class QTextOStream
+ size=16 align=8
+ base size=16 base align=8
+QTextOStream (0x7f96e3939070) 0
+ vptr=((& QTextOStream::_ZTV12QTextOStream) + 16u)
+ QTextStream (0x7f96e39390e0) 0
+ primary-for QTextOStream (0x7f96e3939070)
+
+Class wait
+ size=4 align=4
+ base size=4 base align=4
+wait (0x7f96e3944ee0) 0
+
+Class timespec
+ size=16 align=8
+ base size=16 base align=8
+timespec (0x7f96e3952230) 0
+
+Class timeval
+ size=16 align=8
+ base size=16 base align=8
+timeval (0x7f96e39522a0) 0
+
+Class __pthread_internal_list
+ size=16 align=8
+ base size=16 base align=8
+__pthread_internal_list (0x7f96e39523f0) 0
+
+Class random_data
+ size=48 align=8
+ base size=48 base align=8
+random_data (0x7f96e39529a0) 0
+
+Class drand48_data
+ size=24 align=8
+ base size=24 base align=8
+drand48_data (0x7f96e3952a10) 0
+
+Class QVectorData
+ size=16 align=4
+ base size=16 base align=4
+QVectorData (0x7f96e3952a80) 0
+
+Class QDebug::Stream
+ size=40 align=8
+ base size=34 base align=8
+QDebug::Stream (0x7f96e38cf230) 0
+
+Class QDebug
+ size=8 align=8
+ base size=8 base align=8
+QDebug (0x7f96e38cf1c0) 0
+
+Class QNoDebug
+ size=1 align=1
+ base size=0 base align=1
+QNoDebug (0x7f96e376c070) 0 empty
+
+Vtable for QFile
+QFile::_ZTV5QFile: 31u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI5QFile)
+16 QFile::metaObject
+24 QFile::qt_metacast
+32 QFile::qt_metacall
+40 QFile::~QFile
+48 QFile::~QFile
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QFile::isSequential
+120 QFile::open
+128 QFile::close
+136 QFile::pos
+144 QFile::size
+152 QFile::seek
+160 QFile::atEnd
+168 QIODevice::reset
+176 QIODevice::bytesAvailable
+184 QIODevice::bytesToWrite
+192 QIODevice::canReadLine
+200 QIODevice::waitForReadyRead
+208 QIODevice::waitForBytesWritten
+216 QFile::readData
+224 QFile::readLineData
+232 QFile::writeData
+240 QFile::fileEngine
+
+Class QFile
+ size=16 align=8
+ base size=16 base align=8
+QFile (0x7f96e377d620) 0
+ vptr=((& QFile::_ZTV5QFile) + 16u)
+ QIODevice (0x7f96e377d690) 0
+ primary-for QFile (0x7f96e377d620)
+ QObject (0x7f96e377d700) 0
+ primary-for QIODevice (0x7f96e377d690)
+
+Vtable for QTemporaryFile
+QTemporaryFile::_ZTV14QTemporaryFile: 31u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QTemporaryFile)
+16 QTemporaryFile::metaObject
+24 QTemporaryFile::qt_metacast
+32 QTemporaryFile::qt_metacall
+40 QTemporaryFile::~QTemporaryFile
+48 QTemporaryFile::~QTemporaryFile
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QFile::isSequential
+120 QTemporaryFile::open
+128 QFile::close
+136 QFile::pos
+144 QFile::size
+152 QFile::seek
+160 QFile::atEnd
+168 QIODevice::reset
+176 QIODevice::bytesAvailable
+184 QIODevice::bytesToWrite
+192 QIODevice::canReadLine
+200 QIODevice::waitForReadyRead
+208 QIODevice::waitForBytesWritten
+216 QFile::readData
+224 QFile::readLineData
+232 QFile::writeData
+240 QTemporaryFile::fileEngine
+
+Class QTemporaryFile
+ size=16 align=8
+ base size=16 base align=8
+QTemporaryFile (0x7f96e37e7850) 0
+ vptr=((& QTemporaryFile::_ZTV14QTemporaryFile) + 16u)
+ QFile (0x7f96e37e78c0) 0
+ primary-for QTemporaryFile (0x7f96e37e7850)
+ QIODevice (0x7f96e37e7930) 0
+ primary-for QFile (0x7f96e37e78c0)
+ QObject (0x7f96e37e79a0) 0
+ primary-for QIODevice (0x7f96e37e7930)
+
+Class QFileInfo
+ size=8 align=8
+ base size=8 base align=8
+QFileInfo (0x7f96e380af50) 0
+
+Class QRegExp
+ size=8 align=8
+ base size=8 base align=8
+QRegExp (0x7f96e3665770) 0
+
+Class QStringMatcher
+ size=1048 align=8
+ base size=1048 base align=8
+QStringMatcher (0x7f96e36b35b0) 0
+
+Class QStringList
+ size=8 align=8
+ base size=8 base align=8
+QStringList (0x7f96e36c5070) 0
+ QList<QString> (0x7f96e36c50e0) 0
+
+Class QDir
+ size=8 align=8
+ base size=8 base align=8
+QDir (0x7f96e3554cb0) 0
+
+Class QAbstractFileEngine::ExtensionOption
+ size=1 align=1
+ base size=0 base align=1
+QAbstractFileEngine::ExtensionOption (0x7f96e35ece70) 0 empty
+
+Class QAbstractFileEngine::ExtensionReturn
+ size=1 align=1
+ base size=0 base align=1
+QAbstractFileEngine::ExtensionReturn (0x7f96e35ecee0) 0 empty
+
+Class QAbstractFileEngine::MapExtensionOption
+ size=24 align=8
+ base size=20 base align=8
+QAbstractFileEngine::MapExtensionOption (0x7f96e35ecf50) 0
+ QAbstractFileEngine::ExtensionOption (0x7f96e3601000) 0 empty
+
+Class QAbstractFileEngine::MapExtensionReturn
+ size=8 align=8
+ base size=8 base align=8
+QAbstractFileEngine::MapExtensionReturn (0x7f96e36011c0) 0
+ QAbstractFileEngine::ExtensionReturn (0x7f96e3601230) 0 empty
+
+Class QAbstractFileEngine::UnMapExtensionOption
+ size=8 align=8
+ base size=8 base align=8
+QAbstractFileEngine::UnMapExtensionOption (0x7f96e36012a0) 0
+ QAbstractFileEngine::ExtensionOption (0x7f96e3601310) 0 empty
+
+Vtable for QAbstractFileEngine
+QAbstractFileEngine::_ZTV19QAbstractFileEngine: 36u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QAbstractFileEngine)
+16 QAbstractFileEngine::~QAbstractFileEngine
+24 QAbstractFileEngine::~QAbstractFileEngine
+32 QAbstractFileEngine::open
+40 QAbstractFileEngine::close
+48 QAbstractFileEngine::flush
+56 QAbstractFileEngine::size
+64 QAbstractFileEngine::pos
+72 QAbstractFileEngine::seek
+80 QAbstractFileEngine::isSequential
+88 QAbstractFileEngine::remove
+96 QAbstractFileEngine::copy
+104 QAbstractFileEngine::rename
+112 QAbstractFileEngine::link
+120 QAbstractFileEngine::mkdir
+128 QAbstractFileEngine::rmdir
+136 QAbstractFileEngine::setSize
+144 QAbstractFileEngine::caseSensitive
+152 QAbstractFileEngine::isRelativePath
+160 QAbstractFileEngine::entryList
+168 QAbstractFileEngine::fileFlags
+176 QAbstractFileEngine::setPermissions
+184 QAbstractFileEngine::fileName
+192 QAbstractFileEngine::ownerId
+200 QAbstractFileEngine::owner
+208 QAbstractFileEngine::fileTime
+216 QAbstractFileEngine::setFileName
+224 QAbstractFileEngine::handle
+232 QAbstractFileEngine::beginEntryList
+240 QAbstractFileEngine::endEntryList
+248 QAbstractFileEngine::read
+256 QAbstractFileEngine::readLine
+264 QAbstractFileEngine::write
+272 QAbstractFileEngine::extension
+280 QAbstractFileEngine::supportsExtension
+
+Class QAbstractFileEngine
+ size=16 align=8
+ base size=16 base align=8
+QAbstractFileEngine (0x7f96e35dde00) 0
+ vptr=((& QAbstractFileEngine::_ZTV19QAbstractFileEngine) + 16u)
+
+Vtable for QAbstractFileEngineHandler
+QAbstractFileEngineHandler::_ZTV26QAbstractFileEngineHandler: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI26QAbstractFileEngineHandler)
+16 QAbstractFileEngineHandler::~QAbstractFileEngineHandler
+24 QAbstractFileEngineHandler::~QAbstractFileEngineHandler
+32 __cxa_pure_virtual
+
+Class QAbstractFileEngineHandler
+ size=8 align=8
+ base size=8 base align=8
+QAbstractFileEngineHandler (0x7f96e3431000) 0 nearly-empty
+ vptr=((& QAbstractFileEngineHandler::_ZTV26QAbstractFileEngineHandler) + 16u)
+
+Vtable for QAbstractFileEngineIterator
+QAbstractFileEngineIterator::_ZTV27QAbstractFileEngineIterator: 9u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI27QAbstractFileEngineIterator)
+16 QAbstractFileEngineIterator::~QAbstractFileEngineIterator
+24 QAbstractFileEngineIterator::~QAbstractFileEngineIterator
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+48 __cxa_pure_virtual
+56 QAbstractFileEngineIterator::currentFileInfo
+64 QAbstractFileEngineIterator::entryInfo
+
+Class QAbstractFileEngineIterator
+ size=16 align=8
+ base size=16 base align=8
+QAbstractFileEngineIterator (0x7f96e34311c0) 0
+ vptr=((& QAbstractFileEngineIterator::_ZTV27QAbstractFileEngineIterator) + 16u)
+
+Vtable for QFSFileEngine
+QFSFileEngine::_ZTV13QFSFileEngine: 36u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QFSFileEngine)
+16 QFSFileEngine::~QFSFileEngine
+24 QFSFileEngine::~QFSFileEngine
+32 QFSFileEngine::open
+40 QFSFileEngine::close
+48 QFSFileEngine::flush
+56 QFSFileEngine::size
+64 QFSFileEngine::pos
+72 QFSFileEngine::seek
+80 QFSFileEngine::isSequential
+88 QFSFileEngine::remove
+96 QFSFileEngine::copy
+104 QFSFileEngine::rename
+112 QFSFileEngine::link
+120 QFSFileEngine::mkdir
+128 QFSFileEngine::rmdir
+136 QFSFileEngine::setSize
+144 QFSFileEngine::caseSensitive
+152 QFSFileEngine::isRelativePath
+160 QFSFileEngine::entryList
+168 QFSFileEngine::fileFlags
+176 QFSFileEngine::setPermissions
+184 QFSFileEngine::fileName
+192 QFSFileEngine::ownerId
+200 QFSFileEngine::owner
+208 QFSFileEngine::fileTime
+216 QFSFileEngine::setFileName
+224 QFSFileEngine::handle
+232 QFSFileEngine::beginEntryList
+240 QFSFileEngine::endEntryList
+248 QFSFileEngine::read
+256 QFSFileEngine::readLine
+264 QFSFileEngine::write
+272 QFSFileEngine::extension
+280 QFSFileEngine::supportsExtension
+
+Class QFSFileEngine
+ size=16 align=8
+ base size=16 base align=8
+QFSFileEngine (0x7f96e3431a10) 0
+ vptr=((& QFSFileEngine::_ZTV13QFSFileEngine) + 16u)
+ QAbstractFileEngine (0x7f96e3431a80) 0
+ primary-for QFSFileEngine (0x7f96e3431a10)
+
+Vtable for QProcess
+QProcess::_ZTV8QProcess: 31u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI8QProcess)
+16 QProcess::metaObject
+24 QProcess::qt_metacast
+32 QProcess::qt_metacall
+40 QProcess::~QProcess
+48 QProcess::~QProcess
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QProcess::isSequential
+120 QIODevice::open
+128 QProcess::close
+136 QIODevice::pos
+144 QIODevice::size
+152 QIODevice::seek
+160 QProcess::atEnd
+168 QIODevice::reset
+176 QProcess::bytesAvailable
+184 QProcess::bytesToWrite
+192 QProcess::canReadLine
+200 QProcess::waitForReadyRead
+208 QProcess::waitForBytesWritten
+216 QProcess::readData
+224 QIODevice::readLineData
+232 QProcess::writeData
+240 QProcess::setupChildProcess
+
+Class QProcess
+ size=16 align=8
+ base size=16 base align=8
+QProcess (0x7f96e3449d20) 0
+ vptr=((& QProcess::_ZTV8QProcess) + 16u)
+ QIODevice (0x7f96e3449d90) 0
+ primary-for QProcess (0x7f96e3449d20)
+ QObject (0x7f96e3449e00) 0
+ primary-for QIODevice (0x7f96e3449d90)
+
+Class QResource
+ size=8 align=8
+ base size=8 base align=8
+QResource (0x7f96e3484230) 0
+
+Vtable for QDirIterator
+QDirIterator::_ZTV12QDirIterator: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QDirIterator)
+16 QDirIterator::~QDirIterator
+24 QDirIterator::~QDirIterator
+
+Class QDirIterator
+ size=16 align=8
+ base size=16 base align=8
+QDirIterator (0x7f96e3484cb0) 0
+ vptr=((& QDirIterator::_ZTV12QDirIterator) + 16u)
+
+Vtable for QBuffer
+QBuffer::_ZTV7QBuffer: 30u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QBuffer)
+16 QBuffer::metaObject
+24 QBuffer::qt_metacast
+32 QBuffer::qt_metacall
+40 QBuffer::~QBuffer
+48 QBuffer::~QBuffer
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QBuffer::connectNotify
+104 QBuffer::disconnectNotify
+112 QIODevice::isSequential
+120 QBuffer::open
+128 QBuffer::close
+136 QBuffer::pos
+144 QBuffer::size
+152 QBuffer::seek
+160 QBuffer::atEnd
+168 QIODevice::reset
+176 QIODevice::bytesAvailable
+184 QIODevice::bytesToWrite
+192 QBuffer::canReadLine
+200 QIODevice::waitForReadyRead
+208 QIODevice::waitForBytesWritten
+216 QBuffer::readData
+224 QIODevice::readLineData
+232 QBuffer::writeData
+
+Class QBuffer
+ size=16 align=8
+ base size=16 base align=8
+QBuffer (0x7f96e34b7a80) 0
+ vptr=((& QBuffer::_ZTV7QBuffer) + 16u)
+ QIODevice (0x7f96e34b7af0) 0
+ primary-for QBuffer (0x7f96e34b7a80)
+ QObject (0x7f96e34b7b60) 0
+ primary-for QIODevice (0x7f96e34b7af0)
+
+Vtable for QFileSystemWatcher
+QFileSystemWatcher::_ZTV18QFileSystemWatcher: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QFileSystemWatcher)
+16 QFileSystemWatcher::metaObject
+24 QFileSystemWatcher::qt_metacast
+32 QFileSystemWatcher::qt_metacall
+40 QFileSystemWatcher::~QFileSystemWatcher
+48 QFileSystemWatcher::~QFileSystemWatcher
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QFileSystemWatcher
+ size=16 align=8
+ base size=16 base align=8
+QFileSystemWatcher (0x7f96e34de690) 0
+ vptr=((& QFileSystemWatcher::_ZTV18QFileSystemWatcher) + 16u)
+ QObject (0x7f96e34de700) 0
+ primary-for QFileSystemWatcher (0x7f96e34de690)
+
+Class QUrl
+ size=8 align=8
+ base size=8 base align=8
+QUrl (0x7f96e34efbd0) 0
+
+Class QMetaType
+ size=1 align=1
+ base size=0 base align=1
+QMetaType (0x7f96e33593f0) 0 empty
+
+Class QVariant::PrivateShared
+ size=16 align=8
+ base size=12 base align=8
+QVariant::PrivateShared (0x7f96e322c930) 0
+
+Class QVariant::Private::Data
+ size=8 align=8
+ base size=8 base align=8
+QVariant::Private::Data (0x7f96e322cc40) 0
+
+Class QVariant::Private
+ size=16 align=8
+ base size=12 base align=8
+QVariant::Private (0x7f96e322ca10) 0
+
+Class QVariant::Handler
+ size=72 align=8
+ base size=72 base align=8
+QVariant::Handler (0x7f96e323d930) 0
+
+Class QVariant
+ size=16 align=8
+ base size=16 base align=8
+QVariant (0x7f96e31fcaf0) 0
+
+Class QVariantComparisonHelper
+ size=8 align=8
+ base size=8 base align=8
+QVariantComparisonHelper (0x7f96e32e8cb0) 0
+
+Vtable for QSettings
+QSettings::_ZTV9QSettings: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QSettings)
+16 QSettings::metaObject
+24 QSettings::qt_metacast
+32 QSettings::qt_metacall
+40 QSettings::~QSettings
+48 QSettings::~QSettings
+56 QSettings::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QSettings
+ size=16 align=8
+ base size=16 base align=8
+QSettings (0x7f96e3105cb0) 0
+ vptr=((& QSettings::_ZTV9QSettings) + 16u)
+ QObject (0x7f96e3105d20) 0
+ primary-for QSettings (0x7f96e3105cb0)
+
+Class QXmlStreamStringRef
+ size=16 align=8
+ base size=16 base align=8
+QXmlStreamStringRef (0x7f96e3189070) 0
+
+Class QXmlStreamAttribute
+ size=80 align=8
+ base size=73 base align=8
+QXmlStreamAttribute (0x7f96e31a6850) 0
+
+Class QXmlStreamAttributes
+ size=8 align=8
+ base size=8 base align=8
+QXmlStreamAttributes (0x7f96e31cf380) 0
+ QVector<QXmlStreamAttribute> (0x7f96e31cf3f0) 0
+
+Class QXmlStreamNamespaceDeclaration
+ size=40 align=8
+ base size=40 base align=8
+QXmlStreamNamespaceDeclaration (0x7f96e31cf850) 0
+
+Class QXmlStreamNotationDeclaration
+ size=56 align=8
+ base size=56 base align=8
+QXmlStreamNotationDeclaration (0x7f96e300e1c0) 0
+
+Class QXmlStreamEntityDeclaration
+ size=88 align=8
+ base size=88 base align=8
+QXmlStreamEntityDeclaration (0x7f96e302e070) 0
+
+Vtable for QXmlStreamEntityResolver
+QXmlStreamEntityResolver::_ZTV24QXmlStreamEntityResolver: 6u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI24QXmlStreamEntityResolver)
+16 QXmlStreamEntityResolver::~QXmlStreamEntityResolver
+24 QXmlStreamEntityResolver::~QXmlStreamEntityResolver
+32 QXmlStreamEntityResolver::resolveEntity
+40 QXmlStreamEntityResolver::resolveUndeclaredEntity
+
+Class QXmlStreamEntityResolver
+ size=8 align=8
+ base size=8 base align=8
+QXmlStreamEntityResolver (0x7f96e304a9a0) 0 nearly-empty
+ vptr=((& QXmlStreamEntityResolver::_ZTV24QXmlStreamEntityResolver) + 16u)
+
+Class QXmlStreamReader
+ size=8 align=8
+ base size=8 base align=8
+QXmlStreamReader (0x7f96e304ab60) 0
+
+Class QXmlStreamWriter
+ size=8 align=8
+ base size=8 base align=8
+QXmlStreamWriter (0x7f96e3087a10) 0
+
+Class QPoint
+ size=8 align=4
+ base size=8 base align=4
+QPoint (0x7f96e30c4150) 0
+
+Class QPointF
+ size=16 align=8
+ base size=16 base align=8
+QPointF (0x7f96e2efbd90) 0
+
+Class QLine
+ size=16 align=4
+ base size=16 base align=4
+QLine (0x7f96e2f38bd0) 0
+
+Class QLineF
+ size=32 align=8
+ base size=32 base align=8
+QLineF (0x7f96e2f73a80) 0
+
+Class QSize
+ size=8 align=4
+ base size=8 base align=4
+QSize (0x7f96e2fcd540) 0
+
+Class QSizeF
+ size=16 align=8
+ base size=16 base align=8
+QSizeF (0x7f96e2e1a380) 0
+
+Class QRect
+ size=16 align=4
+ base size=16 base align=4
+QRect (0x7f96e2e659a0) 0
+
+Class QRectF
+ size=32 align=8
+ base size=32 base align=8
+QRectF (0x7f96e2d16380) 0
+
+Class QSharedData
+ size=4 align=4
+ base size=4 base align=4
+QSharedData (0x7f96e2dc0150) 0
+
+Vtable for QtSharedPointer::ExternalRefCountData
+QtSharedPointer::ExternalRefCountData::_ZTVN15QtSharedPointer20ExternalRefCountDataE: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN15QtSharedPointer20ExternalRefCountDataE)
+16 QtSharedPointer::ExternalRefCountData::~ExternalRefCountData
+24 QtSharedPointer::ExternalRefCountData::~ExternalRefCountData
+32 QtSharedPointer::ExternalRefCountData::destroy
+
+Class QtSharedPointer::ExternalRefCountData
+ size=16 align=8
+ base size=16 base align=8
+QtSharedPointer::ExternalRefCountData (0x7f96e2bf1af0) 0
+ vptr=((& QtSharedPointer::ExternalRefCountData::_ZTVN15QtSharedPointer20ExternalRefCountDataE) + 16u)
+
+Class QLinkedListData
+ size=32 align=8
+ base size=32 base align=8
+QLinkedListData (0x7f96e2c77c40) 0
+
+Class QBitArray
+ size=8 align=8
+ base size=8 base align=8
+QBitArray (0x7f96e2b43b60) 0
+
+Class QBitRef
+ size=16 align=8
+ base size=12 base align=8
+QBitRef (0x7f96e2bb7930) 0
+
+Class QByteArrayMatcher
+ size=1040 align=8
+ base size=1040 base align=8
+QByteArrayMatcher (0x7f96e2bd1310) 0
+
+Class QCryptographicHash
+ size=8 align=8
+ base size=8 base align=8
+QCryptographicHash (0x7f96e2be4a10) 0
+
+Class QTextBoundaryFinder
+ size=48 align=8
+ base size=48 base align=8
+QTextBoundaryFinder (0x7f96e2a11460) 0
+
+Class QDate
+ size=4 align=4
+ base size=4 base align=4
+QDate (0x7f96e2a287e0) 0
+
+Class QTime
+ size=4 align=4
+ base size=4 base align=4
+QTime (0x7f96e2a50770) 0
+
+Class QDateTime
+ size=8 align=8
+ base size=8 base align=8
+QDateTime (0x7f96e2a6ed20) 0
+
+Vtable for QTimeLine
+QTimeLine::_ZTV9QTimeLine: 15u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QTimeLine)
+16 QTimeLine::metaObject
+24 QTimeLine::qt_metacast
+32 QTimeLine::qt_metacall
+40 QTimeLine::~QTimeLine
+48 QTimeLine::~QTimeLine
+56 QObject::event
+64 QObject::eventFilter
+72 QTimeLine::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QTimeLine::valueForTime
+
+Class QTimeLine
+ size=16 align=8
+ base size=16 base align=8
+QTimeLine (0x7f96e2aa11c0) 0
+ vptr=((& QTimeLine::_ZTV9QTimeLine) + 16u)
+ QObject (0x7f96e2aa1230) 0
+ primary-for QTimeLine (0x7f96e2aa11c0)
+
+Vtable for QRunnable
+QRunnable::_ZTV9QRunnable: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QRunnable)
+16 __cxa_pure_virtual
+24 QRunnable::~QRunnable
+32 QRunnable::~QRunnable
+
+Class QRunnable
+ size=16 align=8
+ base size=12 base align=8
+QRunnable (0x7f96e2aca070) 0
+ vptr=((& QRunnable::_ZTV9QRunnable) + 16u)
+
+Class QMutex
+ size=8 align=8
+ base size=8 base align=8
+QMutex (0x7f96e2ad6700) 0
+
+Class QMutexLocker
+ size=8 align=8
+ base size=8 base align=8
+QMutexLocker (0x7f96e2ae52a0) 0
+
+Vtable for QtConcurrent::Exception
+QtConcurrent::Exception::_ZTVN12QtConcurrent9ExceptionE: 7u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN12QtConcurrent9ExceptionE)
+16 QtConcurrent::Exception::~Exception
+24 QtConcurrent::Exception::~Exception
+32 std::exception::what
+40 QtConcurrent::Exception::raise
+48 QtConcurrent::Exception::clone
+
+Class QtConcurrent::Exception
+ size=8 align=8
+ base size=8 base align=8
+QtConcurrent::Exception (0x7f96e28fc5b0) 0 nearly-empty
+ vptr=((& QtConcurrent::Exception::_ZTVN12QtConcurrent9ExceptionE) + 16u)
+ std::exception (0x7f96e28fc620) 0 nearly-empty
+ primary-for QtConcurrent::Exception (0x7f96e28fc5b0)
+
+Vtable for QtConcurrent::UnhandledException
+QtConcurrent::UnhandledException::_ZTVN12QtConcurrent18UnhandledExceptionE: 7u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN12QtConcurrent18UnhandledExceptionE)
+16 QtConcurrent::UnhandledException::~UnhandledException
+24 QtConcurrent::UnhandledException::~UnhandledException
+32 std::exception::what
+40 QtConcurrent::UnhandledException::raise
+48 QtConcurrent::UnhandledException::clone
+
+Class QtConcurrent::UnhandledException
+ size=8 align=8
+ base size=8 base align=8
+QtConcurrent::UnhandledException (0x7f96e28fc850) 0 nearly-empty
+ vptr=((& QtConcurrent::UnhandledException::_ZTVN12QtConcurrent18UnhandledExceptionE) + 16u)
+ QtConcurrent::Exception (0x7f96e28fc8c0) 0 nearly-empty
+ primary-for QtConcurrent::UnhandledException (0x7f96e28fc850)
+ std::exception (0x7f96e28fc930) 0 nearly-empty
+ primary-for QtConcurrent::Exception (0x7f96e28fc8c0)
+
+Class QtConcurrent::internal::ExceptionHolder
+ size=8 align=8
+ base size=8 base align=8
+QtConcurrent::internal::ExceptionHolder (0x7f96e28fcb60) 0
+
+Class QtConcurrent::internal::ExceptionStore
+ size=8 align=8
+ base size=8 base align=8
+QtConcurrent::internal::ExceptionStore (0x7f96e28fcee0) 0
+
+Class QtConcurrent::ResultItem
+ size=16 align=8
+ base size=16 base align=8
+QtConcurrent::ResultItem (0x7f96e28fcf50) 0
+
+Class QtConcurrent::ResultIteratorBase
+ size=16 align=8
+ base size=12 base align=8
+QtConcurrent::ResultIteratorBase (0x7f96e2912e70) 0
+
+Vtable for QtConcurrent::ResultStoreBase
+QtConcurrent::ResultStoreBase::_ZTVN12QtConcurrent15ResultStoreBaseE: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN12QtConcurrent15ResultStoreBaseE)
+16 QtConcurrent::ResultStoreBase::~ResultStoreBase
+24 QtConcurrent::ResultStoreBase::~ResultStoreBase
+
+Class QtConcurrent::ResultStoreBase
+ size=48 align=8
+ base size=44 base align=8
+QtConcurrent::ResultStoreBase (0x7f96e2915a10) 0
+ vptr=((& QtConcurrent::ResultStoreBase::_ZTVN12QtConcurrent15ResultStoreBaseE) + 16u)
+
+Vtable for QFutureInterfaceBase
+QFutureInterfaceBase::_ZTV20QFutureInterfaceBase: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI20QFutureInterfaceBase)
+16 QFutureInterfaceBase::~QFutureInterfaceBase
+24 QFutureInterfaceBase::~QFutureInterfaceBase
+
+Class QFutureInterfaceBase
+ size=16 align=8
+ base size=16 base align=8
+QFutureInterfaceBase (0x7f96e2956e70) 0
+ vptr=((& QFutureInterfaceBase::_ZTV20QFutureInterfaceBase) + 16u)
+
+Vtable for QThread
+QThread::_ZTV7QThread: 15u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QThread)
+16 QThread::metaObject
+24 QThread::qt_metacast
+32 QThread::qt_metacall
+40 QThread::~QThread
+48 QThread::~QThread
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QThread::run
+
+Class QThread
+ size=16 align=8
+ base size=16 base align=8
+QThread (0x7f96e283ae00) 0
+ vptr=((& QThread::_ZTV7QThread) + 16u)
+ QObject (0x7f96e283ae70) 0
+ primary-for QThread (0x7f96e283ae00)
+
+Vtable for QThreadPool
+QThreadPool::_ZTV11QThreadPool: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QThreadPool)
+16 QThreadPool::metaObject
+24 QThreadPool::qt_metacast
+32 QThreadPool::qt_metacall
+40 QThreadPool::~QThreadPool
+48 QThreadPool::~QThreadPool
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QThreadPool
+ size=16 align=8
+ base size=16 base align=8
+QThreadPool (0x7f96e286ccb0) 0
+ vptr=((& QThreadPool::_ZTV11QThreadPool) + 16u)
+ QObject (0x7f96e286cd20) 0
+ primary-for QThreadPool (0x7f96e286ccb0)
+
+Class QWaitCondition
+ size=8 align=8
+ base size=8 base align=8
+QWaitCondition (0x7f96e2887540) 0
+
+Class QtConcurrent::ThreadEngineSemaphore
+ size=24 align=8
+ base size=24 base align=8
+QtConcurrent::ThreadEngineSemaphore (0x7f96e2887a80) 0
+
+Vtable for QtConcurrent::ThreadEngineBase
+QtConcurrent::ThreadEngineBase::_ZTVN12QtConcurrent16ThreadEngineBaseE: 11u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN12QtConcurrent16ThreadEngineBaseE)
+16 QtConcurrent::ThreadEngineBase::run
+24 QtConcurrent::ThreadEngineBase::~ThreadEngineBase
+32 QtConcurrent::ThreadEngineBase::~ThreadEngineBase
+40 QtConcurrent::ThreadEngineBase::start
+48 QtConcurrent::ThreadEngineBase::finish
+56 QtConcurrent::ThreadEngineBase::threadFunction
+64 QtConcurrent::ThreadEngineBase::shouldStartThread
+72 QtConcurrent::ThreadEngineBase::shouldThrottleThread
+80 __cxa_pure_virtual
+
+Class QtConcurrent::ThreadEngineBase
+ size=64 align=8
+ base size=64 base align=8
+QtConcurrent::ThreadEngineBase (0x7f96e28a4460) 0
+ vptr=((& QtConcurrent::ThreadEngineBase::_ZTVN12QtConcurrent16ThreadEngineBaseE) + 16u)
+ QRunnable (0x7f96e28a44d0) 0
+ primary-for QtConcurrent::ThreadEngineBase (0x7f96e28a4460)
+
+VTT for QtConcurrent::ThreadEngine<void>
+QtConcurrent::ThreadEngine<void>::_ZTTN12QtConcurrent12ThreadEngineIvEE: 2u entries
+0 ((& QtConcurrent::ThreadEngine<void>::_ZTVN12QtConcurrent12ThreadEngineIvEE) + 24u)
+8 ((& QtConcurrent::ThreadEngine<void>::_ZTVN12QtConcurrent12ThreadEngineIvEE) + 136u)
+
+Class std::input_iterator_tag
+ size=1 align=1
+ base size=0 base align=1
+std::input_iterator_tag (0x7f96e28e7850) 0 empty
+
+Class std::output_iterator_tag
+ size=1 align=1
+ base size=0 base align=1
+std::output_iterator_tag (0x7f96e28e78c0) 0 empty
+
+Class std::forward_iterator_tag
+ size=1 align=1
+ base size=1 base align=1
+std::forward_iterator_tag (0x7f96e28e7930) 0 empty
+ std::input_iterator_tag (0x7f96e28e79a0) 0 empty
+
+Class std::bidirectional_iterator_tag
+ size=1 align=1
+ base size=1 base align=1
+std::bidirectional_iterator_tag (0x7f96e28e7a10) 0 empty
+ std::forward_iterator_tag (0x7f96e28e7a80) 0 empty
+ std::input_iterator_tag (0x7f96e28e7af0) 0 empty
+
+Class std::random_access_iterator_tag
+ size=1 align=1
+ base size=1 base align=1
+std::random_access_iterator_tag (0x7f96e28e7b60) 0 empty
+ std::bidirectional_iterator_tag (0x7f96e28e7bd0) 0 empty
+ std::forward_iterator_tag (0x7f96e28e7c40) 0 empty
+ std::input_iterator_tag (0x7f96e28e7cb0) 0 empty
+
+Class std::__true_type
+ size=1 align=1
+ base size=0 base align=1
+std::__true_type (0x7f96e26fb2a0) 0 empty
+
+Class std::__false_type
+ size=1 align=1
+ base size=0 base align=1
+std::__false_type (0x7f96e26fb310) 0 empty
+
+Class lconv
+ size=96 align=8
+ base size=96 base align=8
+lconv (0x7f96e26d6620) 0
+
+Class sched_param
+ size=4 align=4
+ base size=4 base align=4
+sched_param (0x7f96e26d6a80) 0
+
+Class __sched_param
+ size=4 align=4
+ base size=4 base align=4
+__sched_param (0x7f96e26d6af0) 0
+
+Class tm
+ size=56 align=8
+ base size=56 base align=8
+tm (0x7f96e26d6bd0) 0
+
+Class itimerspec
+ size=32 align=8
+ base size=32 base align=8
+itimerspec (0x7f96e26d6cb0) 0
+
+Class _pthread_cleanup_buffer
+ size=32 align=8
+ base size=32 base align=8
+_pthread_cleanup_buffer (0x7f96e26d6d20) 0
+
+Class __pthread_cleanup_frame
+ size=24 align=8
+ base size=24 base align=8
+__pthread_cleanup_frame (0x7f96e26d6e70) 0
+
+Class __pthread_cleanup_class
+ size=24 align=8
+ base size=24 base align=8
+__pthread_cleanup_class (0x7f96e26d6ee0) 0
+
+Vtable for __cxxabiv1::__forced_unwind
+__cxxabiv1::__forced_unwind::_ZTVN10__cxxabiv115__forced_unwindE: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN10__cxxabiv115__forced_unwindE)
+16 __cxxabiv1::__forced_unwind::~__forced_unwind
+24 __cxxabiv1::__forced_unwind::~__forced_unwind
+32 __cxa_pure_virtual
+
+Class __cxxabiv1::__forced_unwind
+ size=8 align=8
+ base size=8 base align=8
+__cxxabiv1::__forced_unwind (0x7f96e23e2a80) 0 nearly-empty
+ vptr=((& __cxxabiv1::__forced_unwind::_ZTVN10__cxxabiv115__forced_unwindE) + 16u)
+
+Class std::locale
+ size=8 align=8
+ base size=8 base align=8
+std::locale (0x7f96e22935b0) 0
+
+Vtable for std::locale::facet
+std::locale::facet::_ZTVNSt6locale5facetE: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTINSt6locale5facetE)
+16 std::locale::facet::~facet
+24 std::locale::facet::~facet
+
+Class std::locale::facet
+ size=16 align=8
+ base size=12 base align=8
+std::locale::facet (0x7f96e2136cb0) 0
+ vptr=((& std::locale::facet::_ZTVNSt6locale5facetE) + 16u)
+
+Class std::locale::id
+ size=8 align=8
+ base size=8 base align=8
+std::locale::id (0x7f96e214b2a0) 0
+
+Class std::locale::_Impl
+ size=40 align=8
+ base size=40 base align=8
+std::locale::_Impl (0x7f96e214b8c0) 0
+
+Vtable for std::ios_base::failure
+std::ios_base::failure::_ZTVNSt8ios_base7failureE: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTINSt8ios_base7failureE)
+16 std::ios_base::failure::~failure
+24 std::ios_base::failure::~failure
+32 std::ios_base::failure::what
+
+Class std::ios_base::failure
+ size=16 align=8
+ base size=16 base align=8
+std::ios_base::failure (0x7f96e21d8070) 0
+ vptr=((& std::ios_base::failure::_ZTVNSt8ios_base7failureE) + 16u)
+ std::exception (0x7f96e21d80e0) 0 nearly-empty
+ primary-for std::ios_base::failure (0x7f96e21d8070)
+
+Class std::ios_base::_Callback_list
+ size=24 align=8
+ base size=24 base align=8
+std::ios_base::_Callback_list (0x7f96e1fe6310) 0
+
+Class std::ios_base::_Words
+ size=16 align=8
+ base size=16 base align=8
+std::ios_base::_Words (0x7f96e1fe6d90) 0
+
+Class std::ios_base::Init
+ size=1 align=1
+ base size=0 base align=1
+std::ios_base::Init (0x7f96e1fee4d0) 0 empty
+
+Vtable for std::ios_base
+std::ios_base::_ZTVSt8ios_base: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt8ios_base)
+16 std::ios_base::~ios_base
+24 std::ios_base::~ios_base
+
+Class std::ios_base
+ size=216 align=8
+ base size=216 base align=8
+std::ios_base (0x7f96e21d8000) 0
+ vptr=((& std::ios_base::_ZTVSt8ios_base) + 16u)
+
+Class std::ctype_base
+ size=1 align=1
+ base size=0 base align=1
+std::ctype_base (0x7f96e2065930) 0 empty
+
+Class std::__num_base
+ size=1 align=1
+ base size=0 base align=1
+std::__num_base (0x7f96e1f8b1c0) 0 empty
+
+VTT for std::basic_ostream<char, std::char_traits<char> >
+std::basic_ostream<char, std::char_traits<char> >::_ZTTSo: 2u entries
+0 ((& std::basic_ostream<char, std::char_traits<char> >::_ZTVSo) + 24u)
+8 ((& std::basic_ostream<char, std::char_traits<char> >::_ZTVSo) + 64u)
+
+VTT for std::basic_ostream<wchar_t, std::char_traits<wchar_t> >
+std::basic_ostream<wchar_t, std::char_traits<wchar_t> >::_ZTTSt13basic_ostreamIwSt11char_traitsIwEE: 2u entries
+0 ((& std::basic_ostream<wchar_t, std::char_traits<wchar_t> >::_ZTVSt13basic_ostreamIwSt11char_traitsIwEE) + 24u)
+8 ((& std::basic_ostream<wchar_t, std::char_traits<wchar_t> >::_ZTVSt13basic_ostreamIwSt11char_traitsIwEE) + 64u)
+
+VTT for std::basic_istream<char, std::char_traits<char> >
+std::basic_istream<char, std::char_traits<char> >::_ZTTSi: 2u entries
+0 ((& std::basic_istream<char, std::char_traits<char> >::_ZTVSi) + 24u)
+8 ((& std::basic_istream<char, std::char_traits<char> >::_ZTVSi) + 64u)
+
+VTT for std::basic_istream<wchar_t, std::char_traits<wchar_t> >
+std::basic_istream<wchar_t, std::char_traits<wchar_t> >::_ZTTSt13basic_istreamIwSt11char_traitsIwEE: 2u entries
+0 ((& std::basic_istream<wchar_t, std::char_traits<wchar_t> >::_ZTVSt13basic_istreamIwSt11char_traitsIwEE) + 24u)
+8 ((& std::basic_istream<wchar_t, std::char_traits<wchar_t> >::_ZTVSt13basic_istreamIwSt11char_traitsIwEE) + 64u)
+
+Construction vtable for std::basic_istream<char, std::char_traits<char> > (0x7f96e1cbe310 instance) in std::basic_iostream<char, std::char_traits<char> >
+std::basic_iostream<char, std::char_traits<char> >::_ZTCSd0_Si: 10u entries
+0 24u
+8 (int (*)(...))0
+16 (int (*)(...))(& _ZTISi)
+24 std::basic_istream<_CharT, _Traits>::~basic_istream [with _CharT = char, _Traits = std::char_traits<char>]
+32 std::basic_istream<_CharT, _Traits>::~basic_istream [with _CharT = char, _Traits = std::char_traits<char>]
+40 -24u
+48 (int (*)(...))-0x00000000000000018
+56 (int (*)(...))(& _ZTISi)
+64 std::basic_istream<char, std::char_traits<char> >::_ZTv0_n24_NSiD1Ev
+72 std::basic_istream<char, std::char_traits<char> >::_ZTv0_n24_NSiD0Ev
+
+Construction vtable for std::basic_ostream<char, std::char_traits<char> > (0x7f96e1cbe460 instance) in std::basic_iostream<char, std::char_traits<char> >
+std::basic_iostream<char, std::char_traits<char> >::_ZTCSd16_So: 10u entries
+0 8u
+8 (int (*)(...))0
+16 (int (*)(...))(& _ZTISo)
+24 std::basic_ostream<_CharT, _Traits>::~basic_ostream [with _CharT = char, _Traits = std::char_traits<char>]
+32 std::basic_ostream<_CharT, _Traits>::~basic_ostream [with _CharT = char, _Traits = std::char_traits<char>]
+40 -8u
+48 (int (*)(...))-0x00000000000000008
+56 (int (*)(...))(& _ZTISo)
+64 std::basic_ostream<char, std::char_traits<char> >::_ZTv0_n24_NSoD1Ev
+72 std::basic_ostream<char, std::char_traits<char> >::_ZTv0_n24_NSoD0Ev
+
+VTT for std::basic_iostream<char, std::char_traits<char> >
+std::basic_iostream<char, std::char_traits<char> >::_ZTTSd: 7u entries
+0 ((& std::basic_iostream<char, std::char_traits<char> >::_ZTVSd) + 24u)
+8 ((& std::basic_iostream<char, std::char_traits<char> >::_ZTCSd0_Si) + 24u)
+16 ((& std::basic_iostream<char, std::char_traits<char> >::_ZTCSd0_Si) + 64u)
+24 ((& std::basic_iostream<char, std::char_traits<char> >::_ZTCSd16_So) + 24u)
+32 ((& std::basic_iostream<char, std::char_traits<char> >::_ZTCSd16_So) + 64u)
+40 ((& std::basic_iostream<char, std::char_traits<char> >::_ZTVSd) + 104u)
+48 ((& std::basic_iostream<char, std::char_traits<char> >::_ZTVSd) + 64u)
+
+Construction vtable for std::basic_istream<wchar_t, std::char_traits<wchar_t> > (0x7f96e1cbe620 instance) in std::basic_iostream<wchar_t, std::char_traits<wchar_t> >
+std::basic_iostream<wchar_t, std::char_traits<wchar_t> >::_ZTCSt14basic_iostreamIwSt11char_traitsIwEE0_St13basic_istreamIwS1_E: 10u entries
+0 24u
+8 (int (*)(...))0
+16 (int (*)(...))(& _ZTISt13basic_istreamIwSt11char_traitsIwEE)
+24 std::basic_istream<_CharT, _Traits>::~basic_istream [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
+32 std::basic_istream<_CharT, _Traits>::~basic_istream [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
+40 -24u
+48 (int (*)(...))-0x00000000000000018
+56 (int (*)(...))(& _ZTISt13basic_istreamIwSt11char_traitsIwEE)
+64 std::basic_istream<wchar_t, std::char_traits<wchar_t> >::_ZTv0_n24_NSt13basic_istreamIwSt11char_traitsIwEED1Ev
+72 std::basic_istream<wchar_t, std::char_traits<wchar_t> >::_ZTv0_n24_NSt13basic_istreamIwSt11char_traitsIwEED0Ev
+
+Construction vtable for std::basic_ostream<wchar_t, std::char_traits<wchar_t> > (0x7f96e1cbe770 instance) in std::basic_iostream<wchar_t, std::char_traits<wchar_t> >
+std::basic_iostream<wchar_t, std::char_traits<wchar_t> >::_ZTCSt14basic_iostreamIwSt11char_traitsIwEE16_St13basic_ostreamIwS1_E: 10u entries
+0 8u
+8 (int (*)(...))0
+16 (int (*)(...))(& _ZTISt13basic_ostreamIwSt11char_traitsIwEE)
+24 std::basic_ostream<_CharT, _Traits>::~basic_ostream [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
+32 std::basic_ostream<_CharT, _Traits>::~basic_ostream [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
+40 -8u
+48 (int (*)(...))-0x00000000000000008
+56 (int (*)(...))(& _ZTISt13basic_ostreamIwSt11char_traitsIwEE)
+64 std::basic_ostream<wchar_t, std::char_traits<wchar_t> >::_ZTv0_n24_NSt13basic_ostreamIwSt11char_traitsIwEED1Ev
+72 std::basic_ostream<wchar_t, std::char_traits<wchar_t> >::_ZTv0_n24_NSt13basic_ostreamIwSt11char_traitsIwEED0Ev
+
+VTT for std::basic_iostream<wchar_t, std::char_traits<wchar_t> >
+std::basic_iostream<wchar_t, std::char_traits<wchar_t> >::_ZTTSt14basic_iostreamIwSt11char_traitsIwEE: 7u entries
+0 ((& std::basic_iostream<wchar_t, std::char_traits<wchar_t> >::_ZTVSt14basic_iostreamIwSt11char_traitsIwEE) + 24u)
+8 ((& std::basic_iostream<wchar_t, std::char_traits<wchar_t> >::_ZTCSt14basic_iostreamIwSt11char_traitsIwEE0_St13basic_istreamIwS1_E) + 24u)
+16 ((& std::basic_iostream<wchar_t, std::char_traits<wchar_t> >::_ZTCSt14basic_iostreamIwSt11char_traitsIwEE0_St13basic_istreamIwS1_E) + 64u)
+24 ((& std::basic_iostream<wchar_t, std::char_traits<wchar_t> >::_ZTCSt14basic_iostreamIwSt11char_traitsIwEE16_St13basic_ostreamIwS1_E) + 24u)
+32 ((& std::basic_iostream<wchar_t, std::char_traits<wchar_t> >::_ZTCSt14basic_iostreamIwSt11char_traitsIwEE16_St13basic_ostreamIwS1_E) + 64u)
+40 ((& std::basic_iostream<wchar_t, std::char_traits<wchar_t> >::_ZTVSt14basic_iostreamIwSt11char_traitsIwEE) + 104u)
+48 ((& std::basic_iostream<wchar_t, std::char_traits<wchar_t> >::_ZTVSt14basic_iostreamIwSt11char_traitsIwEE) + 64u)
+
+Class QtConcurrent::BlockSizeManager
+ size=96 align=8
+ base size=92 base align=8
+QtConcurrent::BlockSizeManager (0x7f96e1b29230) 0
+
+Vtable for QFutureWatcherBase
+QFutureWatcherBase::_ZTV18QFutureWatcherBase: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QFutureWatcherBase)
+16 QFutureWatcherBase::metaObject
+24 QFutureWatcherBase::qt_metacast
+32 QFutureWatcherBase::qt_metacall
+40 QFutureWatcherBase::~QFutureWatcherBase
+48 QFutureWatcherBase::~QFutureWatcherBase
+56 QFutureWatcherBase::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QFutureWatcherBase::connectNotify
+104 QFutureWatcherBase::disconnectNotify
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+
+Class QFutureWatcherBase
+ size=16 align=8
+ base size=16 base align=8
+QFutureWatcherBase (0x7f96e16f5bd0) 0
+ vptr=((& QFutureWatcherBase::_ZTV18QFutureWatcherBase) + 16u)
+ QObject (0x7f96e16f5c40) 0
+ primary-for QFutureWatcherBase (0x7f96e16f5bd0)
+
+Vtable for QFactoryInterface
+QFactoryInterface::_ZTV17QFactoryInterface: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QFactoryInterface)
+16 QFactoryInterface::~QFactoryInterface
+24 QFactoryInterface::~QFactoryInterface
+32 __cxa_pure_virtual
+
+Class QFactoryInterface
+ size=8 align=8
+ base size=8 base align=8
+QFactoryInterface (0x7f96e160de00) 0 nearly-empty
+ vptr=((& QFactoryInterface::_ZTV17QFactoryInterface) + 16u)
+
+Vtable for QTextCodecFactoryInterface
+QTextCodecFactoryInterface::_ZTV26QTextCodecFactoryInterface: 6u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI26QTextCodecFactoryInterface)
+16 QTextCodecFactoryInterface::~QTextCodecFactoryInterface
+24 QTextCodecFactoryInterface::~QTextCodecFactoryInterface
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+
+Class QTextCodecFactoryInterface
+ size=8 align=8
+ base size=8 base align=8
+QTextCodecFactoryInterface (0x7f96e162dee0) 0 nearly-empty
+ vptr=((& QTextCodecFactoryInterface::_ZTV26QTextCodecFactoryInterface) + 16u)
+ QFactoryInterface (0x7f96e162df50) 0 nearly-empty
+ primary-for QTextCodecFactoryInterface (0x7f96e162dee0)
+
+Vtable for QTextCodecPlugin
+QTextCodecPlugin::_ZTV16QTextCodecPlugin: 27u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QTextCodecPlugin)
+16 QTextCodecPlugin::metaObject
+24 QTextCodecPlugin::qt_metacast
+32 QTextCodecPlugin::qt_metacall
+40 QTextCodecPlugin::~QTextCodecPlugin
+48 QTextCodecPlugin::~QTextCodecPlugin
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 __cxa_pure_virtual
+136 __cxa_pure_virtual
+144 __cxa_pure_virtual
+152 QTextCodecPlugin::keys
+160 QTextCodecPlugin::create
+168 (int (*)(...))-0x00000000000000010
+176 (int (*)(...))(& _ZTI16QTextCodecPlugin)
+184 QTextCodecPlugin::_ZThn16_N16QTextCodecPluginD1Ev
+192 QTextCodecPlugin::_ZThn16_N16QTextCodecPluginD0Ev
+200 QTextCodecPlugin::_ZThn16_NK16QTextCodecPlugin4keysEv
+208 QTextCodecPlugin::_ZThn16_N16QTextCodecPlugin6createERK7QString
+
+Class QTextCodecPlugin
+ size=24 align=8
+ base size=24 base align=8
+QTextCodecPlugin (0x7f96e1633e00) 0
+ vptr=((& QTextCodecPlugin::_ZTV16QTextCodecPlugin) + 16u)
+ QObject (0x7f96e16397e0) 0
+ primary-for QTextCodecPlugin (0x7f96e1633e00)
+ QTextCodecFactoryInterface (0x7f96e1639850) 16 nearly-empty
+ vptr=((& QTextCodecPlugin::_ZTV16QTextCodecPlugin) + 184u)
+ QFactoryInterface (0x7f96e16398c0) 16 nearly-empty
+ primary-for QTextCodecFactoryInterface (0x7f96e1639850)
+
+Class QLibraryInfo
+ size=1 align=1
+ base size=0 base align=1
+QLibraryInfo (0x7f96e1651700) 0 empty
+
+Vtable for QTranslator
+QTranslator::_ZTV11QTranslator: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QTranslator)
+16 QTranslator::metaObject
+24 QTranslator::qt_metacast
+32 QTranslator::qt_metacall
+40 QTranslator::~QTranslator
+48 QTranslator::~QTranslator
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QTranslator::translate
+120 QTranslator::isEmpty
+
+Class QTranslator
+ size=16 align=8
+ base size=16 base align=8
+QTranslator (0x7f96e1694000) 0
+ vptr=((& QTranslator::_ZTV11QTranslator) + 16u)
+ QObject (0x7f96e1694070) 0
+ primary-for QTranslator (0x7f96e1694000)
+
+Class __exception
+ size=40 align=8
+ base size=40 base align=8
+__exception (0x7f96e16a7f50) 0
+
+Vtable for QMimeData
+QMimeData::_ZTV9QMimeData: 17u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QMimeData)
+16 QMimeData::metaObject
+24 QMimeData::qt_metacast
+32 QMimeData::qt_metacall
+40 QMimeData::~QMimeData
+48 QMimeData::~QMimeData
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QMimeData::hasFormat
+120 QMimeData::formats
+128 QMimeData::retrieveData
+
+Class QMimeData
+ size=16 align=8
+ base size=16 base align=8
+QMimeData (0x7f96e1513150) 0
+ vptr=((& QMimeData::_ZTV9QMimeData) + 16u)
+ QObject (0x7f96e15131c0) 0
+ primary-for QMimeData (0x7f96e1513150)
+
+Vtable for QEventLoop
+QEventLoop::_ZTV10QEventLoop: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QEventLoop)
+16 QEventLoop::metaObject
+24 QEventLoop::qt_metacast
+32 QEventLoop::qt_metacall
+40 QEventLoop::~QEventLoop
+48 QEventLoop::~QEventLoop
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QEventLoop
+ size=16 align=8
+ base size=16 base align=8
+QEventLoop (0x7f96e152b9a0) 0
+ vptr=((& QEventLoop::_ZTV10QEventLoop) + 16u)
+ QObject (0x7f96e152ba10) 0
+ primary-for QEventLoop (0x7f96e152b9a0)
+
+Vtable for QEvent
+QEvent::_ZTV6QEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI6QEvent)
+16 QEvent::~QEvent
+24 QEvent::~QEvent
+
+Class QEvent
+ size=24 align=8
+ base size=20 base align=8
+QEvent (0x7f96e156b310) 0
+ vptr=((& QEvent::_ZTV6QEvent) + 16u)
+
+Vtable for QTimerEvent
+QTimerEvent::_ZTV11QTimerEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QTimerEvent)
+16 QTimerEvent::~QTimerEvent
+24 QTimerEvent::~QTimerEvent
+
+Class QTimerEvent
+ size=24 align=8
+ base size=24 base align=8
+QTimerEvent (0x7f96e1584ee0) 0
+ vptr=((& QTimerEvent::_ZTV11QTimerEvent) + 16u)
+ QEvent (0x7f96e1584f50) 0
+ primary-for QTimerEvent (0x7f96e1584ee0)
+
+Vtable for QChildEvent
+QChildEvent::_ZTV11QChildEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QChildEvent)
+16 QChildEvent::~QChildEvent
+24 QChildEvent::~QChildEvent
+
+Class QChildEvent
+ size=32 align=8
+ base size=32 base align=8
+QChildEvent (0x7f96e1588380) 0
+ vptr=((& QChildEvent::_ZTV11QChildEvent) + 16u)
+ QEvent (0x7f96e15883f0) 0
+ primary-for QChildEvent (0x7f96e1588380)
+
+Vtable for QCustomEvent
+QCustomEvent::_ZTV12QCustomEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QCustomEvent)
+16 QCustomEvent::~QCustomEvent
+24 QCustomEvent::~QCustomEvent
+
+Class QCustomEvent
+ size=24 align=8
+ base size=20 base align=8
+QCustomEvent (0x7f96e159a620) 0
+ vptr=((& QCustomEvent::_ZTV12QCustomEvent) + 16u)
+ QEvent (0x7f96e159a690) 0
+ primary-for QCustomEvent (0x7f96e159a620)
+
+Vtable for QDynamicPropertyChangeEvent
+QDynamicPropertyChangeEvent::_ZTV27QDynamicPropertyChangeEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI27QDynamicPropertyChangeEvent)
+16 QDynamicPropertyChangeEvent::~QDynamicPropertyChangeEvent
+24 QDynamicPropertyChangeEvent::~QDynamicPropertyChangeEvent
+
+Class QDynamicPropertyChangeEvent
+ size=32 align=8
+ base size=32 base align=8
+QDynamicPropertyChangeEvent (0x7f96e159ae00) 0
+ vptr=((& QDynamicPropertyChangeEvent::_ZTV27QDynamicPropertyChangeEvent) + 16u)
+ QEvent (0x7f96e159ae70) 0
+ primary-for QDynamicPropertyChangeEvent (0x7f96e159ae00)
+
+Vtable for QCoreApplication
+QCoreApplication::_ZTV16QCoreApplication: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QCoreApplication)
+16 QCoreApplication::metaObject
+24 QCoreApplication::qt_metacast
+32 QCoreApplication::qt_metacall
+40 QCoreApplication::~QCoreApplication
+48 QCoreApplication::~QCoreApplication
+56 QCoreApplication::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QCoreApplication::notify
+120 QCoreApplication::compressEvent
+
+Class QCoreApplication
+ size=16 align=8
+ base size=16 base align=8
+QCoreApplication (0x7f96e15a9230) 0
+ vptr=((& QCoreApplication::_ZTV16QCoreApplication) + 16u)
+ QObject (0x7f96e15a92a0) 0
+ primary-for QCoreApplication (0x7f96e15a9230)
+
+Vtable for QSharedMemory
+QSharedMemory::_ZTV13QSharedMemory: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QSharedMemory)
+16 QSharedMemory::metaObject
+24 QSharedMemory::qt_metacast
+32 QSharedMemory::qt_metacall
+40 QSharedMemory::~QSharedMemory
+48 QSharedMemory::~QSharedMemory
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QSharedMemory
+ size=16 align=8
+ base size=16 base align=8
+QSharedMemory (0x7f96e15d5a80) 0
+ vptr=((& QSharedMemory::_ZTV13QSharedMemory) + 16u)
+ QObject (0x7f96e15d5af0) 0
+ primary-for QSharedMemory (0x7f96e15d5a80)
+
+Class QModelIndex
+ size=24 align=8
+ base size=24 base align=8
+QModelIndex (0x7f96e13f3850) 0
+
+Class QPersistentModelIndex
+ size=8 align=8
+ base size=8 base align=8
+QPersistentModelIndex (0x7f96e141b310) 0
+
+Vtable for QAbstractItemModel
+QAbstractItemModel::_ZTV18QAbstractItemModel: 42u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QAbstractItemModel)
+16 QAbstractItemModel::metaObject
+24 QAbstractItemModel::qt_metacast
+32 QAbstractItemModel::qt_metacall
+40 QAbstractItemModel::~QAbstractItemModel
+48 QAbstractItemModel::~QAbstractItemModel
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 __cxa_pure_virtual
+136 __cxa_pure_virtual
+144 QAbstractItemModel::hasChildren
+152 __cxa_pure_virtual
+160 QAbstractItemModel::setData
+168 QAbstractItemModel::headerData
+176 QAbstractItemModel::setHeaderData
+184 QAbstractItemModel::itemData
+192 QAbstractItemModel::setItemData
+200 QAbstractItemModel::mimeTypes
+208 QAbstractItemModel::mimeData
+216 QAbstractItemModel::dropMimeData
+224 QAbstractItemModel::supportedDropActions
+232 QAbstractItemModel::insertRows
+240 QAbstractItemModel::insertColumns
+248 QAbstractItemModel::removeRows
+256 QAbstractItemModel::removeColumns
+264 QAbstractItemModel::fetchMore
+272 QAbstractItemModel::canFetchMore
+280 QAbstractItemModel::flags
+288 QAbstractItemModel::sort
+296 QAbstractItemModel::buddy
+304 QAbstractItemModel::match
+312 QAbstractItemModel::span
+320 QAbstractItemModel::submit
+328 QAbstractItemModel::revert
+
+Class QAbstractItemModel
+ size=16 align=8
+ base size=16 base align=8
+QAbstractItemModel (0x7f96e142a5b0) 0
+ vptr=((& QAbstractItemModel::_ZTV18QAbstractItemModel) + 16u)
+ QObject (0x7f96e142a620) 0
+ primary-for QAbstractItemModel (0x7f96e142a5b0)
+
+Vtable for QAbstractTableModel
+QAbstractTableModel::_ZTV19QAbstractTableModel: 42u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QAbstractTableModel)
+16 QAbstractTableModel::metaObject
+24 QAbstractTableModel::qt_metacast
+32 QAbstractTableModel::qt_metacall
+40 QAbstractTableModel::~QAbstractTableModel
+48 QAbstractTableModel::~QAbstractTableModel
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QAbstractTableModel::index
+120 QAbstractTableModel::parent
+128 __cxa_pure_virtual
+136 __cxa_pure_virtual
+144 QAbstractTableModel::hasChildren
+152 __cxa_pure_virtual
+160 QAbstractItemModel::setData
+168 QAbstractItemModel::headerData
+176 QAbstractItemModel::setHeaderData
+184 QAbstractItemModel::itemData
+192 QAbstractItemModel::setItemData
+200 QAbstractItemModel::mimeTypes
+208 QAbstractItemModel::mimeData
+216 QAbstractTableModel::dropMimeData
+224 QAbstractItemModel::supportedDropActions
+232 QAbstractItemModel::insertRows
+240 QAbstractItemModel::insertColumns
+248 QAbstractItemModel::removeRows
+256 QAbstractItemModel::removeColumns
+264 QAbstractItemModel::fetchMore
+272 QAbstractItemModel::canFetchMore
+280 QAbstractItemModel::flags
+288 QAbstractItemModel::sort
+296 QAbstractItemModel::buddy
+304 QAbstractItemModel::match
+312 QAbstractItemModel::span
+320 QAbstractItemModel::submit
+328 QAbstractItemModel::revert
+
+Class QAbstractTableModel
+ size=16 align=8
+ base size=16 base align=8
+QAbstractTableModel (0x7f96e147d930) 0
+ vptr=((& QAbstractTableModel::_ZTV19QAbstractTableModel) + 16u)
+ QAbstractItemModel (0x7f96e147d9a0) 0
+ primary-for QAbstractTableModel (0x7f96e147d930)
+ QObject (0x7f96e147da10) 0
+ primary-for QAbstractItemModel (0x7f96e147d9a0)
+
+Vtable for QAbstractListModel
+QAbstractListModel::_ZTV18QAbstractListModel: 42u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QAbstractListModel)
+16 QAbstractListModel::metaObject
+24 QAbstractListModel::qt_metacast
+32 QAbstractListModel::qt_metacall
+40 QAbstractListModel::~QAbstractListModel
+48 QAbstractListModel::~QAbstractListModel
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QAbstractListModel::index
+120 QAbstractListModel::parent
+128 __cxa_pure_virtual
+136 QAbstractListModel::columnCount
+144 QAbstractListModel::hasChildren
+152 __cxa_pure_virtual
+160 QAbstractItemModel::setData
+168 QAbstractItemModel::headerData
+176 QAbstractItemModel::setHeaderData
+184 QAbstractItemModel::itemData
+192 QAbstractItemModel::setItemData
+200 QAbstractItemModel::mimeTypes
+208 QAbstractItemModel::mimeData
+216 QAbstractListModel::dropMimeData
+224 QAbstractItemModel::supportedDropActions
+232 QAbstractItemModel::insertRows
+240 QAbstractItemModel::insertColumns
+248 QAbstractItemModel::removeRows
+256 QAbstractItemModel::removeColumns
+264 QAbstractItemModel::fetchMore
+272 QAbstractItemModel::canFetchMore
+280 QAbstractItemModel::flags
+288 QAbstractItemModel::sort
+296 QAbstractItemModel::buddy
+304 QAbstractItemModel::match
+312 QAbstractItemModel::span
+320 QAbstractItemModel::submit
+328 QAbstractItemModel::revert
+
+Class QAbstractListModel
+ size=16 align=8
+ base size=16 base align=8
+QAbstractListModel (0x7f96e1488ee0) 0
+ vptr=((& QAbstractListModel::_ZTV18QAbstractListModel) + 16u)
+ QAbstractItemModel (0x7f96e1488f50) 0
+ primary-for QAbstractListModel (0x7f96e1488ee0)
+ QObject (0x7f96e1488230) 0
+ primary-for QAbstractItemModel (0x7f96e1488f50)
+
+Vtable for QSignalMapper
+QSignalMapper::_ZTV13QSignalMapper: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QSignalMapper)
+16 QSignalMapper::metaObject
+24 QSignalMapper::qt_metacast
+32 QSignalMapper::qt_metacall
+40 QSignalMapper::~QSignalMapper
+48 QSignalMapper::~QSignalMapper
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QSignalMapper
+ size=16 align=8
+ base size=16 base align=8
+QSignalMapper (0x7f96e14ca000) 0
+ vptr=((& QSignalMapper::_ZTV13QSignalMapper) + 16u)
+ QObject (0x7f96e14ca070) 0
+ primary-for QSignalMapper (0x7f96e14ca000)
+
+Vtable for QObjectCleanupHandler
+QObjectCleanupHandler::_ZTV21QObjectCleanupHandler: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI21QObjectCleanupHandler)
+16 QObjectCleanupHandler::metaObject
+24 QObjectCleanupHandler::qt_metacast
+32 QObjectCleanupHandler::qt_metacall
+40 QObjectCleanupHandler::~QObjectCleanupHandler
+48 QObjectCleanupHandler::~QObjectCleanupHandler
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QObjectCleanupHandler
+ size=24 align=8
+ base size=24 base align=8
+QObjectCleanupHandler (0x7f96e12e43f0) 0
+ vptr=((& QObjectCleanupHandler::_ZTV21QObjectCleanupHandler) + 16u)
+ QObject (0x7f96e12e4460) 0
+ primary-for QObjectCleanupHandler (0x7f96e12e43f0)
+
+Class QBasicTimer
+ size=4 align=4
+ base size=4 base align=4
+QBasicTimer (0x7f96e12f2540) 0
+
+Vtable for QSocketNotifier
+QSocketNotifier::_ZTV15QSocketNotifier: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QSocketNotifier)
+16 QSocketNotifier::metaObject
+24 QSocketNotifier::qt_metacast
+32 QSocketNotifier::qt_metacall
+40 QSocketNotifier::~QSocketNotifier
+48 QSocketNotifier::~QSocketNotifier
+56 QSocketNotifier::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QSocketNotifier
+ size=32 align=8
+ base size=25 base align=8
+QSocketNotifier (0x7f96e12fc930) 0
+ vptr=((& QSocketNotifier::_ZTV15QSocketNotifier) + 16u)
+ QObject (0x7f96e12fc9a0) 0
+ primary-for QSocketNotifier (0x7f96e12fc930)
+
+Vtable for QTimer
+QTimer::_ZTV6QTimer: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI6QTimer)
+16 QTimer::metaObject
+24 QTimer::qt_metacast
+32 QTimer::qt_metacall
+40 QTimer::~QTimer
+48 QTimer::~QTimer
+56 QObject::event
+64 QObject::eventFilter
+72 QTimer::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QTimer
+ size=32 align=8
+ base size=29 base align=8
+QTimer (0x7f96e1318cb0) 0
+ vptr=((& QTimer::_ZTV6QTimer) + 16u)
+ QObject (0x7f96e1318d20) 0
+ primary-for QTimer (0x7f96e1318cb0)
+
+Vtable for QAbstractEventDispatcher
+QAbstractEventDispatcher::_ZTV24QAbstractEventDispatcher: 27u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI24QAbstractEventDispatcher)
+16 QAbstractEventDispatcher::metaObject
+24 QAbstractEventDispatcher::qt_metacast
+32 QAbstractEventDispatcher::qt_metacall
+40 QAbstractEventDispatcher::~QAbstractEventDispatcher
+48 QAbstractEventDispatcher::~QAbstractEventDispatcher
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 __cxa_pure_virtual
+136 __cxa_pure_virtual
+144 __cxa_pure_virtual
+152 __cxa_pure_virtual
+160 __cxa_pure_virtual
+168 __cxa_pure_virtual
+176 __cxa_pure_virtual
+184 __cxa_pure_virtual
+192 __cxa_pure_virtual
+200 QAbstractEventDispatcher::startingUp
+208 QAbstractEventDispatcher::closingDown
+
+Class QAbstractEventDispatcher
+ size=16 align=8
+ base size=16 base align=8
+QAbstractEventDispatcher (0x7f96e133c2a0) 0
+ vptr=((& QAbstractEventDispatcher::_ZTV24QAbstractEventDispatcher) + 16u)
+ QObject (0x7f96e133c310) 0
+ primary-for QAbstractEventDispatcher (0x7f96e133c2a0)
+
+Class QMetaMethod
+ size=16 align=8
+ base size=12 base align=8
+QMetaMethod (0x7f96e1356150) 0
+
+Class QMetaEnum
+ size=16 align=8
+ base size=12 base align=8
+QMetaEnum (0x7f96e13725b0) 0
+
+Class QMetaProperty
+ size=32 align=8
+ base size=32 base align=8
+QMetaProperty (0x7f96e137e310) 0
+
+Class QMetaClassInfo
+ size=16 align=8
+ base size=12 base align=8
+QMetaClassInfo (0x7f96e137e9a0) 0
+
+Class QSystemSemaphore
+ size=8 align=8
+ base size=8 base align=8
+QSystemSemaphore (0x7f96e13914d0) 0
+
+Vtable for QLibrary
+QLibrary::_ZTV8QLibrary: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI8QLibrary)
+16 QLibrary::metaObject
+24 QLibrary::qt_metacast
+32 QLibrary::qt_metacall
+40 QLibrary::~QLibrary
+48 QLibrary::~QLibrary
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QLibrary
+ size=32 align=8
+ base size=25 base align=8
+QLibrary (0x7f96e1391e00) 0
+ vptr=((& QLibrary::_ZTV8QLibrary) + 16u)
+ QObject (0x7f96e1391e70) 0
+ primary-for QLibrary (0x7f96e1391e00)
+
+Vtable for QPluginLoader
+QPluginLoader::_ZTV13QPluginLoader: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QPluginLoader)
+16 QPluginLoader::metaObject
+24 QPluginLoader::qt_metacast
+32 QPluginLoader::qt_metacall
+40 QPluginLoader::~QPluginLoader
+48 QPluginLoader::~QPluginLoader
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QPluginLoader
+ size=32 align=8
+ base size=25 base align=8
+QPluginLoader (0x7f96e11d88c0) 0
+ vptr=((& QPluginLoader::_ZTV13QPluginLoader) + 16u)
+ QObject (0x7f96e11d8930) 0
+ primary-for QPluginLoader (0x7f96e11d88c0)
+
+Class QUuid
+ size=16 align=4
+ base size=16 base align=4
+QUuid (0x7f96e11f9070) 0
+
+Class QSemaphore
+ size=8 align=8
+ base size=8 base align=8
+QSemaphore (0x7f96e121a9a0) 0
+
+Class QThreadStorageData
+ size=4 align=4
+ base size=4 base align=4
+QThreadStorageData (0x7f96e121aee0) 0
+
+Class QReadWriteLock
+ size=8 align=8
+ base size=8 base align=8
+QReadWriteLock (0x7f96e122b690) 0
+
+Class QReadLocker
+ size=8 align=8
+ base size=8 base align=8
+QReadLocker (0x7f96e122bd20) 0
+
+Class QWriteLocker
+ size=8 align=8
+ base size=8 base align=8
+QWriteLocker (0x7f96e125b0e0) 0
+
+Class QColor
+ size=16 align=4
+ base size=14 base align=4
+QColor (0x7f96e1275e70) 0
+
+Class QFont
+ size=16 align=8
+ base size=12 base align=8
+QFont (0x7f96e12cd0e0) 0
+
+Class QPolygon
+ size=8 align=8
+ base size=8 base align=8
+QPolygon (0x7f96e1105ee0) 0
+ QVector<QPoint> (0x7f96e1105f50) 0
+
+Class QPolygonF
+ size=8 align=8
+ base size=8 base align=8
+QPolygonF (0x7f96e116d070) 0
+ QVector<QPointF> (0x7f96e116d0e0) 0
+
+Class QRegion::QRegionData
+ size=32 align=8
+ base size=32 base align=8
+QRegion::QRegionData (0x7f96e11a65b0) 0
+
+Class QRegion
+ size=8 align=8
+ base size=8 base align=8
+QRegion (0x7f96e1184cb0) 0
+
+Class QMatrix
+ size=48 align=8
+ base size=48 base align=8
+QMatrix (0x7f96e11b9e00) 0
+
+Class QPainterPath::Element
+ size=24 align=8
+ base size=24 base align=8
+QPainterPath::Element (0x7f96e0fef850) 0
+
+Class QPainterPath
+ size=8 align=8
+ base size=8 base align=8
+QPainterPath (0x7f96e0fef7e0) 0
+
+Class QPainterPathPrivate
+ size=16 align=8
+ base size=16 base align=8
+QPainterPathPrivate (0x7f96e1034bd0) 0
+
+Class QPainterPathStroker
+ size=8 align=8
+ base size=8 base align=8
+QPainterPathStroker (0x7f96e103c770) 0
+
+Class QTransform
+ size=88 align=8
+ base size=88 base align=8
+QTransform (0x7f96e10a0310) 0
+
+Vtable for QPaintDevice
+QPaintDevice::_ZTV12QPaintDevice: 7u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QPaintDevice)
+16 QPaintDevice::~QPaintDevice
+24 QPaintDevice::~QPaintDevice
+32 QPaintDevice::devType
+40 __cxa_pure_virtual
+48 QPaintDevice::metric
+
+Class QPaintDevice
+ size=16 align=8
+ base size=10 base align=8
+QPaintDevice (0x7f96e0f17620) 0
+ vptr=((& QPaintDevice::_ZTV12QPaintDevice) + 16u)
+
+Class QImageTextKeyLang
+ size=16 align=8
+ base size=16 base align=8
+QImageTextKeyLang (0x7f96e0f3cf50) 0
+
+Vtable for QImage
+QImage::_ZTV6QImage: 7u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI6QImage)
+16 QImage::~QImage
+24 QImage::~QImage
+32 QImage::devType
+40 QImage::paintEngine
+48 QImage::metric
+
+Class QImage
+ size=24 align=8
+ base size=24 base align=8
+QImage (0x7f96e0f6b7e0) 0
+ vptr=((& QImage::_ZTV6QImage) + 16u)
+ QPaintDevice (0x7f96e0f6b850) 0
+ primary-for QImage (0x7f96e0f6b7e0)
+
+Vtable for QPixmap
+QPixmap::_ZTV7QPixmap: 7u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QPixmap)
+16 QPixmap::~QPixmap
+24 QPixmap::~QPixmap
+32 QPixmap::devType
+40 QPixmap::paintEngine
+48 QPixmap::metric
+
+Class QPixmap
+ size=24 align=8
+ base size=24 base align=8
+QPixmap (0x7f96e0e0b230) 0
+ vptr=((& QPixmap::_ZTV7QPixmap) + 16u)
+ QPaintDevice (0x7f96e0e0b2a0) 0
+ primary-for QPixmap (0x7f96e0e0b230)
+
+Class QBrush
+ size=8 align=8
+ base size=8 base align=8
+QBrush (0x7f96e0e583f0) 0
+
+Class QBrushData
+ size=112 align=8
+ base size=112 base align=8
+QBrushData (0x7f96e0e7b000) 0
+
+Class QGradient
+ size=64 align=8
+ base size=64 base align=8
+QGradient (0x7f96e0e8c1c0) 0
+
+Class QLinearGradient
+ size=64 align=8
+ base size=64 base align=8
+QLinearGradient (0x7f96e0e9ccb0) 0
+ QGradient (0x7f96e0e9cd20) 0
+
+Class QRadialGradient
+ size=64 align=8
+ base size=64 base align=8
+QRadialGradient (0x7f96e0ec8150) 0
+ QGradient (0x7f96e0ec81c0) 0
+
+Class QConicalGradient
+ size=64 align=8
+ base size=64 base align=8
+QConicalGradient (0x7f96e0ec8700) 0
+ QGradient (0x7f96e0ec8770) 0
+
+Class QPen
+ size=8 align=8
+ base size=8 base align=8
+QPen (0x7f96e0ec8a80) 0
+
+Class QTextOption::Tab
+ size=16 align=8
+ base size=14 base align=8
+QTextOption::Tab (0x7f96e0c71230) 0
+
+Class QTextOption
+ size=32 align=8
+ base size=32 base align=8
+QTextOption (0x7f96e0c711c0) 0
+
+Class QTextLength
+ size=16 align=8
+ base size=16 base align=8
+QTextLength (0x7f96e0ccd620) 0
+
+Class QTextFormat
+ size=16 align=8
+ base size=12 base align=8
+QTextFormat (0x7f96e0ce89a0) 0
+
+Class QTextCharFormat
+ size=16 align=8
+ base size=12 base align=8
+QTextCharFormat (0x7f96e0b91a10) 0
+ QTextFormat (0x7f96e0b91a80) 0
+
+Class QTextBlockFormat
+ size=16 align=8
+ base size=12 base align=8
+QTextBlockFormat (0x7f96e0bfd690) 0
+ QTextFormat (0x7f96e0bfd700) 0
+
+Class QTextListFormat
+ size=16 align=8
+ base size=12 base align=8
+QTextListFormat (0x7f96e0c1ecb0) 0
+ QTextFormat (0x7f96e0c1ed20) 0
+
+Class QTextImageFormat
+ size=16 align=8
+ base size=12 base align=8
+QTextImageFormat (0x7f96e0c2f1c0) 0
+ QTextCharFormat (0x7f96e0c2f230) 0
+ QTextFormat (0x7f96e0c2f2a0) 0
+
+Class QTextFrameFormat
+ size=16 align=8
+ base size=12 base align=8
+QTextFrameFormat (0x7f96e0c3b8c0) 0
+ QTextFormat (0x7f96e0c3b930) 0
+
+Class QTextTableFormat
+ size=16 align=8
+ base size=12 base align=8
+QTextTableFormat (0x7f96e0a717e0) 0
+ QTextFrameFormat (0x7f96e0a71850) 0
+ QTextFormat (0x7f96e0a718c0) 0
+
+Class QTextTableCellFormat
+ size=16 align=8
+ base size=12 base align=8
+QTextTableCellFormat (0x7f96e0a8b690) 0
+ QTextCharFormat (0x7f96e0a8b700) 0
+ QTextFormat (0x7f96e0a8b770) 0
+
+Vtable for QTextObject
+QTextObject::_ZTV11QTextObject: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QTextObject)
+16 QTextObject::metaObject
+24 QTextObject::qt_metacast
+32 QTextObject::qt_metacall
+40 QTextObject::~QTextObject
+48 QTextObject::~QTextObject
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QTextObject
+ size=16 align=8
+ base size=16 base align=8
+QTextObject (0x7f96e0aa1b60) 0
+ vptr=((& QTextObject::_ZTV11QTextObject) + 16u)
+ QObject (0x7f96e0aa1bd0) 0
+ primary-for QTextObject (0x7f96e0aa1b60)
+
+Vtable for QTextBlockGroup
+QTextBlockGroup::_ZTV15QTextBlockGroup: 17u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QTextBlockGroup)
+16 QTextBlockGroup::metaObject
+24 QTextBlockGroup::qt_metacast
+32 QTextBlockGroup::qt_metacall
+40 QTextBlockGroup::~QTextBlockGroup
+48 QTextBlockGroup::~QTextBlockGroup
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QTextBlockGroup::blockInserted
+120 QTextBlockGroup::blockRemoved
+128 QTextBlockGroup::blockFormatChanged
+
+Class QTextBlockGroup
+ size=16 align=8
+ base size=16 base align=8
+QTextBlockGroup (0x7f96e0aba3f0) 0
+ vptr=((& QTextBlockGroup::_ZTV15QTextBlockGroup) + 16u)
+ QTextObject (0x7f96e0aba460) 0
+ primary-for QTextBlockGroup (0x7f96e0aba3f0)
+ QObject (0x7f96e0aba4d0) 0
+ primary-for QTextObject (0x7f96e0aba460)
+
+Vtable for QTextFrameLayoutData
+QTextFrameLayoutData::_ZTV20QTextFrameLayoutData: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI20QTextFrameLayoutData)
+16 QTextFrameLayoutData::~QTextFrameLayoutData
+24 QTextFrameLayoutData::~QTextFrameLayoutData
+
+Class QTextFrameLayoutData
+ size=8 align=8
+ base size=8 base align=8
+QTextFrameLayoutData (0x7f96e0acbcb0) 0 nearly-empty
+ vptr=((& QTextFrameLayoutData::_ZTV20QTextFrameLayoutData) + 16u)
+
+Class QTextFrame::iterator
+ size=32 align=8
+ base size=28 base align=8
+QTextFrame::iterator (0x7f96e0ad6700) 0
+
+Vtable for QTextFrame
+QTextFrame::_ZTV10QTextFrame: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QTextFrame)
+16 QTextFrame::metaObject
+24 QTextFrame::qt_metacast
+32 QTextFrame::qt_metacall
+40 QTextFrame::~QTextFrame
+48 QTextFrame::~QTextFrame
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QTextFrame
+ size=16 align=8
+ base size=16 base align=8
+QTextFrame (0x7f96e0acbe00) 0
+ vptr=((& QTextFrame::_ZTV10QTextFrame) + 16u)
+ QTextObject (0x7f96e0acbe70) 0
+ primary-for QTextFrame (0x7f96e0acbe00)
+ QObject (0x7f96e0acbee0) 0
+ primary-for QTextObject (0x7f96e0acbe70)
+
+Vtable for QTextBlockUserData
+QTextBlockUserData::_ZTV18QTextBlockUserData: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QTextBlockUserData)
+16 QTextBlockUserData::~QTextBlockUserData
+24 QTextBlockUserData::~QTextBlockUserData
+
+Class QTextBlockUserData
+ size=8 align=8
+ base size=8 base align=8
+QTextBlockUserData (0x7f96e0b08850) 0 nearly-empty
+ vptr=((& QTextBlockUserData::_ZTV18QTextBlockUserData) + 16u)
+
+Class QTextBlock::iterator
+ size=24 align=8
+ base size=20 base align=8
+QTextBlock::iterator (0x7f96e0b141c0) 0
+
+Class QTextBlock
+ size=16 align=8
+ base size=12 base align=8
+QTextBlock (0x7f96e0b089a0) 0
+
+Class QTextFragment
+ size=16 align=8
+ base size=16 base align=8
+QTextFragment (0x7f96e094c310) 0
+
+Class QFontMetrics
+ size=8 align=8
+ base size=8 base align=8
+QFontMetrics (0x7f96e09684d0) 0
+
+Class QFontMetricsF
+ size=8 align=8
+ base size=8 base align=8
+QFontMetricsF (0x7f96e0980930) 0
+
+Class QFontDatabase
+ size=8 align=8
+ base size=8 base align=8
+QFontDatabase (0x7f96e098c850) 0
+
+Vtable for QAbstractUndoItem
+QAbstractUndoItem::_ZTV17QAbstractUndoItem: 6u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QAbstractUndoItem)
+16 __cxa_pure_virtual
+24 __cxa_pure_virtual
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+
+Class QAbstractUndoItem
+ size=8 align=8
+ base size=8 base align=8
+QAbstractUndoItem (0x7f96e09a2850) 0 nearly-empty
+ vptr=((& QAbstractUndoItem::_ZTV17QAbstractUndoItem) + 16u)
+
+Vtable for QTextDocument
+QTextDocument::_ZTV13QTextDocument: 17u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QTextDocument)
+16 QTextDocument::metaObject
+24 QTextDocument::qt_metacast
+32 QTextDocument::qt_metacall
+40 QTextDocument::~QTextDocument
+48 QTextDocument::~QTextDocument
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QTextDocument::clear
+120 QTextDocument::createObject
+128 QTextDocument::loadResource
+
+Class QTextDocument
+ size=16 align=8
+ base size=16 base align=8
+QTextDocument (0x7f96e09b72a0) 0
+ vptr=((& QTextDocument::_ZTV13QTextDocument) + 16u)
+ QObject (0x7f96e09b7310) 0
+ primary-for QTextDocument (0x7f96e09b72a0)
+
+Class QTextTableCell
+ size=16 align=8
+ base size=12 base align=8
+QTextTableCell (0x7f96e0a172a0) 0
+
+Vtable for QTextTable
+QTextTable::_ZTV10QTextTable: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QTextTable)
+16 QTextTable::metaObject
+24 QTextTable::qt_metacast
+32 QTextTable::qt_metacall
+40 QTextTable::~QTextTable
+48 QTextTable::~QTextTable
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QTextTable
+ size=16 align=8
+ base size=16 base align=8
+QTextTable (0x7f96e0a303f0) 0
+ vptr=((& QTextTable::_ZTV10QTextTable) + 16u)
+ QTextFrame (0x7f96e0a30460) 0
+ primary-for QTextTable (0x7f96e0a303f0)
+ QTextObject (0x7f96e0a304d0) 0
+ primary-for QTextFrame (0x7f96e0a30460)
+ QObject (0x7f96e0a30540) 0
+ primary-for QTextObject (0x7f96e0a304d0)
+
+Class QTextDocumentWriter
+ size=8 align=8
+ base size=8 base align=8
+QTextDocumentWriter (0x7f96e084abd0) 0
+
+Class QKeySequence
+ size=8 align=8
+ base size=8 base align=8
+QKeySequence (0x7f96e08552a0) 0
+
+Vtable for QMimeSource
+QMimeSource::_ZTV11QMimeSource: 7u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QMimeSource)
+16 QMimeSource::~QMimeSource
+24 QMimeSource::~QMimeSource
+32 __cxa_pure_virtual
+40 QMimeSource::provides
+48 __cxa_pure_virtual
+
+Class QMimeSource
+ size=8 align=8
+ base size=8 base align=8
+QMimeSource (0x7f96e0873e70) 0 nearly-empty
+ vptr=((& QMimeSource::_ZTV11QMimeSource) + 16u)
+
+Vtable for QDrag
+QDrag::_ZTV5QDrag: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI5QDrag)
+16 QDrag::metaObject
+24 QDrag::qt_metacast
+32 QDrag::qt_metacall
+40 QDrag::~QDrag
+48 QDrag::~QDrag
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QDrag
+ size=16 align=8
+ base size=16 base align=8
+QDrag (0x7f96e0873f50) 0
+ vptr=((& QDrag::_ZTV5QDrag) + 16u)
+ QObject (0x7f96e089f000) 0
+ primary-for QDrag (0x7f96e0873f50)
+
+Vtable for QInputEvent
+QInputEvent::_ZTV11QInputEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QInputEvent)
+16 QInputEvent::~QInputEvent
+24 QInputEvent::~QInputEvent
+
+Class QInputEvent
+ size=24 align=8
+ base size=24 base align=8
+QInputEvent (0x7f96e08b3770) 0
+ vptr=((& QInputEvent::_ZTV11QInputEvent) + 16u)
+ QEvent (0x7f96e08b37e0) 0
+ primary-for QInputEvent (0x7f96e08b3770)
+
+Vtable for QMouseEvent
+QMouseEvent::_ZTV11QMouseEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QMouseEvent)
+16 QMouseEvent::~QMouseEvent
+24 QMouseEvent::~QMouseEvent
+
+Class QMouseEvent
+ size=48 align=8
+ base size=48 base align=8
+QMouseEvent (0x7f96e08b3d20) 0
+ vptr=((& QMouseEvent::_ZTV11QMouseEvent) + 16u)
+ QInputEvent (0x7f96e08b3d90) 0
+ primary-for QMouseEvent (0x7f96e08b3d20)
+ QEvent (0x7f96e08b3e00) 0
+ primary-for QInputEvent (0x7f96e08b3d90)
+
+Vtable for QHoverEvent
+QHoverEvent::_ZTV11QHoverEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QHoverEvent)
+16 QHoverEvent::~QHoverEvent
+24 QHoverEvent::~QHoverEvent
+
+Class QHoverEvent
+ size=40 align=8
+ base size=36 base align=8
+QHoverEvent (0x7f96e08d2b60) 0
+ vptr=((& QHoverEvent::_ZTV11QHoverEvent) + 16u)
+ QEvent (0x7f96e08d2bd0) 0
+ primary-for QHoverEvent (0x7f96e08d2b60)
+
+Vtable for QWheelEvent
+QWheelEvent::_ZTV11QWheelEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QWheelEvent)
+16 QWheelEvent::~QWheelEvent
+24 QWheelEvent::~QWheelEvent
+
+Class QWheelEvent
+ size=56 align=8
+ base size=52 base align=8
+QWheelEvent (0x7f96e08ea230) 0
+ vptr=((& QWheelEvent::_ZTV11QWheelEvent) + 16u)
+ QInputEvent (0x7f96e08ea2a0) 0
+ primary-for QWheelEvent (0x7f96e08ea230)
+ QEvent (0x7f96e08ea310) 0
+ primary-for QInputEvent (0x7f96e08ea2a0)
+
+Vtable for QTabletEvent
+QTabletEvent::_ZTV12QTabletEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QTabletEvent)
+16 QTabletEvent::~QTabletEvent
+24 QTabletEvent::~QTabletEvent
+
+Class QTabletEvent
+ size=120 align=8
+ base size=120 base align=8
+QTabletEvent (0x7f96e0900070) 0
+ vptr=((& QTabletEvent::_ZTV12QTabletEvent) + 16u)
+ QInputEvent (0x7f96e09000e0) 0
+ primary-for QTabletEvent (0x7f96e0900070)
+ QEvent (0x7f96e0900150) 0
+ primary-for QInputEvent (0x7f96e09000e0)
+
+Vtable for QKeyEvent
+QKeyEvent::_ZTV9QKeyEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QKeyEvent)
+16 QKeyEvent::~QKeyEvent
+24 QKeyEvent::~QKeyEvent
+
+Class QKeyEvent
+ size=40 align=8
+ base size=39 base align=8
+QKeyEvent (0x7f96e091c380) 0
+ vptr=((& QKeyEvent::_ZTV9QKeyEvent) + 16u)
+ QInputEvent (0x7f96e091c3f0) 0
+ primary-for QKeyEvent (0x7f96e091c380)
+ QEvent (0x7f96e091c460) 0
+ primary-for QInputEvent (0x7f96e091c3f0)
+
+Vtable for QFocusEvent
+QFocusEvent::_ZTV11QFocusEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QFocusEvent)
+16 QFocusEvent::~QFocusEvent
+24 QFocusEvent::~QFocusEvent
+
+Class QFocusEvent
+ size=24 align=8
+ base size=24 base align=8
+QFocusEvent (0x7f96e0940cb0) 0
+ vptr=((& QFocusEvent::_ZTV11QFocusEvent) + 16u)
+ QEvent (0x7f96e0940d20) 0
+ primary-for QFocusEvent (0x7f96e0940cb0)
+
+Vtable for QPaintEvent
+QPaintEvent::_ZTV11QPaintEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QPaintEvent)
+16 QPaintEvent::~QPaintEvent
+24 QPaintEvent::~QPaintEvent
+
+Class QPaintEvent
+ size=56 align=8
+ base size=49 base align=8
+QPaintEvent (0x7f96e074c770) 0
+ vptr=((& QPaintEvent::_ZTV11QPaintEvent) + 16u)
+ QEvent (0x7f96e074c7e0) 0
+ primary-for QPaintEvent (0x7f96e074c770)
+
+Vtable for QUpdateLaterEvent
+QUpdateLaterEvent::_ZTV17QUpdateLaterEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QUpdateLaterEvent)
+16 QUpdateLaterEvent::~QUpdateLaterEvent
+24 QUpdateLaterEvent::~QUpdateLaterEvent
+
+Class QUpdateLaterEvent
+ size=32 align=8
+ base size=32 base align=8
+QUpdateLaterEvent (0x7f96e075a380) 0
+ vptr=((& QUpdateLaterEvent::_ZTV17QUpdateLaterEvent) + 16u)
+ QEvent (0x7f96e075a3f0) 0
+ primary-for QUpdateLaterEvent (0x7f96e075a380)
+
+Vtable for QMoveEvent
+QMoveEvent::_ZTV10QMoveEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QMoveEvent)
+16 QMoveEvent::~QMoveEvent
+24 QMoveEvent::~QMoveEvent
+
+Class QMoveEvent
+ size=40 align=8
+ base size=36 base align=8
+QMoveEvent (0x7f96e075a7e0) 0
+ vptr=((& QMoveEvent::_ZTV10QMoveEvent) + 16u)
+ QEvent (0x7f96e075a850) 0
+ primary-for QMoveEvent (0x7f96e075a7e0)
+
+Vtable for QResizeEvent
+QResizeEvent::_ZTV12QResizeEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QResizeEvent)
+16 QResizeEvent::~QResizeEvent
+24 QResizeEvent::~QResizeEvent
+
+Class QResizeEvent
+ size=40 align=8
+ base size=36 base align=8
+QResizeEvent (0x7f96e075ae70) 0
+ vptr=((& QResizeEvent::_ZTV12QResizeEvent) + 16u)
+ QEvent (0x7f96e075aee0) 0
+ primary-for QResizeEvent (0x7f96e075ae70)
+
+Vtable for QCloseEvent
+QCloseEvent::_ZTV11QCloseEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QCloseEvent)
+16 QCloseEvent::~QCloseEvent
+24 QCloseEvent::~QCloseEvent
+
+Class QCloseEvent
+ size=24 align=8
+ base size=20 base align=8
+QCloseEvent (0x7f96e076b3f0) 0
+ vptr=((& QCloseEvent::_ZTV11QCloseEvent) + 16u)
+ QEvent (0x7f96e076b460) 0
+ primary-for QCloseEvent (0x7f96e076b3f0)
+
+Vtable for QIconDragEvent
+QIconDragEvent::_ZTV14QIconDragEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QIconDragEvent)
+16 QIconDragEvent::~QIconDragEvent
+24 QIconDragEvent::~QIconDragEvent
+
+Class QIconDragEvent
+ size=24 align=8
+ base size=20 base align=8
+QIconDragEvent (0x7f96e076b620) 0
+ vptr=((& QIconDragEvent::_ZTV14QIconDragEvent) + 16u)
+ QEvent (0x7f96e076b690) 0
+ primary-for QIconDragEvent (0x7f96e076b620)
+
+Vtable for QShowEvent
+QShowEvent::_ZTV10QShowEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QShowEvent)
+16 QShowEvent::~QShowEvent
+24 QShowEvent::~QShowEvent
+
+Class QShowEvent
+ size=24 align=8
+ base size=20 base align=8
+QShowEvent (0x7f96e076b850) 0
+ vptr=((& QShowEvent::_ZTV10QShowEvent) + 16u)
+ QEvent (0x7f96e076b8c0) 0
+ primary-for QShowEvent (0x7f96e076b850)
+
+Vtable for QHideEvent
+QHideEvent::_ZTV10QHideEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QHideEvent)
+16 QHideEvent::~QHideEvent
+24 QHideEvent::~QHideEvent
+
+Class QHideEvent
+ size=24 align=8
+ base size=20 base align=8
+QHideEvent (0x7f96e076ba80) 0
+ vptr=((& QHideEvent::_ZTV10QHideEvent) + 16u)
+ QEvent (0x7f96e076baf0) 0
+ primary-for QHideEvent (0x7f96e076ba80)
+
+Vtable for QContextMenuEvent
+QContextMenuEvent::_ZTV17QContextMenuEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QContextMenuEvent)
+16 QContextMenuEvent::~QContextMenuEvent
+24 QContextMenuEvent::~QContextMenuEvent
+
+Class QContextMenuEvent
+ size=48 align=8
+ base size=41 base align=8
+QContextMenuEvent (0x7f96e076bcb0) 0
+ vptr=((& QContextMenuEvent::_ZTV17QContextMenuEvent) + 16u)
+ QInputEvent (0x7f96e076bd20) 0
+ primary-for QContextMenuEvent (0x7f96e076bcb0)
+ QEvent (0x7f96e076bd90) 0
+ primary-for QInputEvent (0x7f96e076bd20)
+
+Class QInputMethodEvent::Attribute
+ size=32 align=8
+ base size=32 base align=8
+QInputMethodEvent::Attribute (0x7f96e0786850) 0
+
+Vtable for QInputMethodEvent
+QInputMethodEvent::_ZTV17QInputMethodEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QInputMethodEvent)
+16 QInputMethodEvent::~QInputMethodEvent
+24 QInputMethodEvent::~QInputMethodEvent
+
+Class QInputMethodEvent
+ size=56 align=8
+ base size=56 base align=8
+QInputMethodEvent (0x7f96e0786770) 0
+ vptr=((& QInputMethodEvent::_ZTV17QInputMethodEvent) + 16u)
+ QEvent (0x7f96e07867e0) 0
+ primary-for QInputMethodEvent (0x7f96e0786770)
+
+Vtable for QDropEvent
+QDropEvent::_ZTV10QDropEvent: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QDropEvent)
+16 QDropEvent::~QDropEvent
+24 QDropEvent::~QDropEvent
+32 QDropEvent::format
+40 QDropEvent::encodedData
+48 QDropEvent::provides
+56 (int (*)(...))-0x00000000000000018
+64 (int (*)(...))(& _ZTI10QDropEvent)
+72 QDropEvent::_ZThn24_N10QDropEventD1Ev
+80 QDropEvent::_ZThn24_N10QDropEventD0Ev
+88 QDropEvent::_ZThn24_NK10QDropEvent6formatEi
+96 QDropEvent::_ZThn24_NK10QDropEvent8providesEPKc
+104 QDropEvent::_ZThn24_NK10QDropEvent11encodedDataEPKc
+
+Class QDropEvent
+ size=80 align=8
+ base size=80 base align=8
+QDropEvent (0x7f96e07be200) 0
+ vptr=((& QDropEvent::_ZTV10QDropEvent) + 16u)
+ QEvent (0x7f96e07bbf50) 0
+ primary-for QDropEvent (0x7f96e07be200)
+ QMimeSource (0x7f96e07bf000) 24 nearly-empty
+ vptr=((& QDropEvent::_ZTV10QDropEvent) + 72u)
+
+Vtable for QDragMoveEvent
+QDragMoveEvent::_ZTV14QDragMoveEvent: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QDragMoveEvent)
+16 QDragMoveEvent::~QDragMoveEvent
+24 QDragMoveEvent::~QDragMoveEvent
+32 QDropEvent::format
+40 QDropEvent::encodedData
+48 QDropEvent::provides
+56 (int (*)(...))-0x00000000000000018
+64 (int (*)(...))(& _ZTI14QDragMoveEvent)
+72 QDragMoveEvent::_ZThn24_N14QDragMoveEventD1Ev
+80 QDragMoveEvent::_ZThn24_N14QDragMoveEventD0Ev
+88 QDropEvent::_ZThn24_NK10QDropEvent6formatEi
+96 QDropEvent::_ZThn24_NK10QDropEvent8providesEPKc
+104 QDropEvent::_ZThn24_NK10QDropEvent11encodedDataEPKc
+
+Class QDragMoveEvent
+ size=96 align=8
+ base size=96 base align=8
+QDragMoveEvent (0x7f96e07d8cb0) 0
+ vptr=((& QDragMoveEvent::_ZTV14QDragMoveEvent) + 16u)
+ QDropEvent (0x7f96e07d7900) 0
+ primary-for QDragMoveEvent (0x7f96e07d8cb0)
+ QEvent (0x7f96e07d8d20) 0
+ primary-for QDropEvent (0x7f96e07d7900)
+ QMimeSource (0x7f96e07d8d90) 24 nearly-empty
+ vptr=((& QDragMoveEvent::_ZTV14QDragMoveEvent) + 72u)
+
+Vtable for QDragEnterEvent
+QDragEnterEvent::_ZTV15QDragEnterEvent: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QDragEnterEvent)
+16 QDragEnterEvent::~QDragEnterEvent
+24 QDragEnterEvent::~QDragEnterEvent
+32 QDropEvent::format
+40 QDropEvent::encodedData
+48 QDropEvent::provides
+56 (int (*)(...))-0x00000000000000018
+64 (int (*)(...))(& _ZTI15QDragEnterEvent)
+72 QDragEnterEvent::_ZThn24_N15QDragEnterEventD1Ev
+80 QDragEnterEvent::_ZThn24_N15QDragEnterEventD0Ev
+88 QDropEvent::_ZThn24_NK10QDropEvent6formatEi
+96 QDropEvent::_ZThn24_NK10QDropEvent8providesEPKc
+104 QDropEvent::_ZThn24_NK10QDropEvent11encodedDataEPKc
+
+Class QDragEnterEvent
+ size=96 align=8
+ base size=96 base align=8
+QDragEnterEvent (0x7f96e07ea460) 0
+ vptr=((& QDragEnterEvent::_ZTV15QDragEnterEvent) + 16u)
+ QDragMoveEvent (0x7f96e07ea4d0) 0
+ primary-for QDragEnterEvent (0x7f96e07ea460)
+ QDropEvent (0x7f96e07e8280) 0
+ primary-for QDragMoveEvent (0x7f96e07ea4d0)
+ QEvent (0x7f96e07ea540) 0
+ primary-for QDropEvent (0x7f96e07e8280)
+ QMimeSource (0x7f96e07ea5b0) 24 nearly-empty
+ vptr=((& QDragEnterEvent::_ZTV15QDragEnterEvent) + 72u)
+
+Vtable for QDragResponseEvent
+QDragResponseEvent::_ZTV18QDragResponseEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QDragResponseEvent)
+16 QDragResponseEvent::~QDragResponseEvent
+24 QDragResponseEvent::~QDragResponseEvent
+
+Class QDragResponseEvent
+ size=24 align=8
+ base size=21 base align=8
+QDragResponseEvent (0x7f96e07ea770) 0
+ vptr=((& QDragResponseEvent::_ZTV18QDragResponseEvent) + 16u)
+ QEvent (0x7f96e07ea7e0) 0
+ primary-for QDragResponseEvent (0x7f96e07ea770)
+
+Vtable for QDragLeaveEvent
+QDragLeaveEvent::_ZTV15QDragLeaveEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QDragLeaveEvent)
+16 QDragLeaveEvent::~QDragLeaveEvent
+24 QDragLeaveEvent::~QDragLeaveEvent
+
+Class QDragLeaveEvent
+ size=24 align=8
+ base size=20 base align=8
+QDragLeaveEvent (0x7f96e07eabd0) 0
+ vptr=((& QDragLeaveEvent::_ZTV15QDragLeaveEvent) + 16u)
+ QEvent (0x7f96e07eac40) 0
+ primary-for QDragLeaveEvent (0x7f96e07eabd0)
+
+Vtable for QHelpEvent
+QHelpEvent::_ZTV10QHelpEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QHelpEvent)
+16 QHelpEvent::~QHelpEvent
+24 QHelpEvent::~QHelpEvent
+
+Class QHelpEvent
+ size=40 align=8
+ base size=36 base align=8
+QHelpEvent (0x7f96e07eae00) 0
+ vptr=((& QHelpEvent::_ZTV10QHelpEvent) + 16u)
+ QEvent (0x7f96e07eae70) 0
+ primary-for QHelpEvent (0x7f96e07eae00)
+
+Vtable for QStatusTipEvent
+QStatusTipEvent::_ZTV15QStatusTipEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QStatusTipEvent)
+16 QStatusTipEvent::~QStatusTipEvent
+24 QStatusTipEvent::~QStatusTipEvent
+
+Class QStatusTipEvent
+ size=32 align=8
+ base size=32 base align=8
+QStatusTipEvent (0x7f96e07fbe70) 0
+ vptr=((& QStatusTipEvent::_ZTV15QStatusTipEvent) + 16u)
+ QEvent (0x7f96e07fbee0) 0
+ primary-for QStatusTipEvent (0x7f96e07fbe70)
+
+Vtable for QWhatsThisClickedEvent
+QWhatsThisClickedEvent::_ZTV22QWhatsThisClickedEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI22QWhatsThisClickedEvent)
+16 QWhatsThisClickedEvent::~QWhatsThisClickedEvent
+24 QWhatsThisClickedEvent::~QWhatsThisClickedEvent
+
+Class QWhatsThisClickedEvent
+ size=32 align=8
+ base size=32 base align=8
+QWhatsThisClickedEvent (0x7f96e0800380) 0
+ vptr=((& QWhatsThisClickedEvent::_ZTV22QWhatsThisClickedEvent) + 16u)
+ QEvent (0x7f96e08003f0) 0
+ primary-for QWhatsThisClickedEvent (0x7f96e0800380)
+
+Vtable for QActionEvent
+QActionEvent::_ZTV12QActionEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QActionEvent)
+16 QActionEvent::~QActionEvent
+24 QActionEvent::~QActionEvent
+
+Class QActionEvent
+ size=40 align=8
+ base size=40 base align=8
+QActionEvent (0x7f96e0800850) 0
+ vptr=((& QActionEvent::_ZTV12QActionEvent) + 16u)
+ QEvent (0x7f96e08008c0) 0
+ primary-for QActionEvent (0x7f96e0800850)
+
+Vtable for QFileOpenEvent
+QFileOpenEvent::_ZTV14QFileOpenEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QFileOpenEvent)
+16 QFileOpenEvent::~QFileOpenEvent
+24 QFileOpenEvent::~QFileOpenEvent
+
+Class QFileOpenEvent
+ size=32 align=8
+ base size=32 base align=8
+QFileOpenEvent (0x7f96e0800ee0) 0
+ vptr=((& QFileOpenEvent::_ZTV14QFileOpenEvent) + 16u)
+ QEvent (0x7f96e0800f50) 0
+ primary-for QFileOpenEvent (0x7f96e0800ee0)
+
+Vtable for QToolBarChangeEvent
+QToolBarChangeEvent::_ZTV19QToolBarChangeEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QToolBarChangeEvent)
+16 QToolBarChangeEvent::~QToolBarChangeEvent
+24 QToolBarChangeEvent::~QToolBarChangeEvent
+
+Class QToolBarChangeEvent
+ size=24 align=8
+ base size=21 base align=8
+QToolBarChangeEvent (0x7f96e0814230) 0
+ vptr=((& QToolBarChangeEvent::_ZTV19QToolBarChangeEvent) + 16u)
+ QEvent (0x7f96e08142a0) 0
+ primary-for QToolBarChangeEvent (0x7f96e0814230)
+
+Vtable for QShortcutEvent
+QShortcutEvent::_ZTV14QShortcutEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QShortcutEvent)
+16 QShortcutEvent::~QShortcutEvent
+24 QShortcutEvent::~QShortcutEvent
+
+Class QShortcutEvent
+ size=40 align=8
+ base size=40 base align=8
+QShortcutEvent (0x7f96e0814770) 0
+ vptr=((& QShortcutEvent::_ZTV14QShortcutEvent) + 16u)
+ QEvent (0x7f96e08147e0) 0
+ primary-for QShortcutEvent (0x7f96e0814770)
+
+Vtable for QClipboardEvent
+QClipboardEvent::_ZTV15QClipboardEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QClipboardEvent)
+16 QClipboardEvent::~QClipboardEvent
+24 QClipboardEvent::~QClipboardEvent
+
+Class QClipboardEvent
+ size=24 align=8
+ base size=20 base align=8
+QClipboardEvent (0x7f96e0821620) 0
+ vptr=((& QClipboardEvent::_ZTV15QClipboardEvent) + 16u)
+ QEvent (0x7f96e0821690) 0
+ primary-for QClipboardEvent (0x7f96e0821620)
+
+Vtable for QWindowStateChangeEvent
+QWindowStateChangeEvent::_ZTV23QWindowStateChangeEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI23QWindowStateChangeEvent)
+16 QWindowStateChangeEvent::~QWindowStateChangeEvent
+24 QWindowStateChangeEvent::~QWindowStateChangeEvent
+
+Class QWindowStateChangeEvent
+ size=24 align=8
+ base size=24 base align=8
+QWindowStateChangeEvent (0x7f96e0821a80) 0
+ vptr=((& QWindowStateChangeEvent::_ZTV23QWindowStateChangeEvent) + 16u)
+ QEvent (0x7f96e0821af0) 0
+ primary-for QWindowStateChangeEvent (0x7f96e0821a80)
+
+Vtable for QMenubarUpdatedEvent
+QMenubarUpdatedEvent::_ZTV20QMenubarUpdatedEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI20QMenubarUpdatedEvent)
+16 QMenubarUpdatedEvent::~QMenubarUpdatedEvent
+24 QMenubarUpdatedEvent::~QMenubarUpdatedEvent
+
+Class QMenubarUpdatedEvent
+ size=32 align=8
+ base size=32 base align=8
+QMenubarUpdatedEvent (0x7f96e08217e0) 0
+ vptr=((& QMenubarUpdatedEvent::_ZTV20QMenubarUpdatedEvent) + 16u)
+ QEvent (0x7f96e0821cb0) 0
+ primary-for QMenubarUpdatedEvent (0x7f96e08217e0)
+
+Class QTextInlineObject
+ size=16 align=8
+ base size=16 base align=8
+QTextInlineObject (0x7f96e082ea10) 0
+
+Class QTextLayout::FormatRange
+ size=24 align=8
+ base size=24 base align=8
+QTextLayout::FormatRange (0x7f96e083ecb0) 0
+
+Class QTextLayout
+ size=8 align=8
+ base size=8 base align=8
+QTextLayout (0x7f96e083ea10) 0
+
+Class QTextLine
+ size=16 align=8
+ base size=16 base align=8
+QTextLine (0x7f96e0658a80) 0
+
+Vtable for QTextList
+QTextList::_ZTV9QTextList: 17u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QTextList)
+16 QTextList::metaObject
+24 QTextList::qt_metacast
+32 QTextList::qt_metacall
+40 QTextList::~QTextList
+48 QTextList::~QTextList
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QTextBlockGroup::blockInserted
+120 QTextBlockGroup::blockRemoved
+128 QTextBlockGroup::blockFormatChanged
+
+Class QTextList
+ size=16 align=8
+ base size=16 base align=8
+QTextList (0x7f96e068b310) 0
+ vptr=((& QTextList::_ZTV9QTextList) + 16u)
+ QTextBlockGroup (0x7f96e068b380) 0
+ primary-for QTextList (0x7f96e068b310)
+ QTextObject (0x7f96e068b3f0) 0
+ primary-for QTextBlockGroup (0x7f96e068b380)
+ QObject (0x7f96e068b460) 0
+ primary-for QTextObject (0x7f96e068b3f0)
+
+Class QFontInfo
+ size=8 align=8
+ base size=8 base align=8
+QFontInfo (0x7f96e06b11c0) 0
+
+Class QTextDocumentFragment
+ size=8 align=8
+ base size=8 base align=8
+QTextDocumentFragment (0x7f96e06b1cb0) 0
+
+Class QTextCursor
+ size=8 align=8
+ base size=8 base align=8
+QTextCursor (0x7f96e06bb700) 0
+
+Class QPalette
+ size=16 align=8
+ base size=12 base align=8
+QPalette (0x7f96e06cebd0) 0
+
+Class QColorGroup
+ size=16 align=8
+ base size=12 base align=8
+QColorGroup (0x7f96e07354d0) 0
+ QPalette (0x7f96e0735540) 0
+
+Class QAbstractTextDocumentLayout::Selection
+ size=24 align=8
+ base size=24 base align=8
+QAbstractTextDocumentLayout::Selection (0x7f96e056ca10) 0
+
+Class QAbstractTextDocumentLayout::PaintContext
+ size=64 align=8
+ base size=64 base align=8
+QAbstractTextDocumentLayout::PaintContext (0x7f96e056ca80) 0
+
+Vtable for QAbstractTextDocumentLayout
+QAbstractTextDocumentLayout::_ZTV27QAbstractTextDocumentLayout: 24u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI27QAbstractTextDocumentLayout)
+16 QAbstractTextDocumentLayout::metaObject
+24 QAbstractTextDocumentLayout::qt_metacast
+32 QAbstractTextDocumentLayout::qt_metacall
+40 QAbstractTextDocumentLayout::~QAbstractTextDocumentLayout
+48 QAbstractTextDocumentLayout::~QAbstractTextDocumentLayout
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 __cxa_pure_virtual
+136 __cxa_pure_virtual
+144 __cxa_pure_virtual
+152 __cxa_pure_virtual
+160 __cxa_pure_virtual
+168 QAbstractTextDocumentLayout::resizeInlineObject
+176 QAbstractTextDocumentLayout::positionInlineObject
+184 QAbstractTextDocumentLayout::drawInlineObject
+
+Class QAbstractTextDocumentLayout
+ size=16 align=8
+ base size=16 base align=8
+QAbstractTextDocumentLayout (0x7f96e056c7e0) 0
+ vptr=((& QAbstractTextDocumentLayout::_ZTV27QAbstractTextDocumentLayout) + 16u)
+ QObject (0x7f96e056c850) 0
+ primary-for QAbstractTextDocumentLayout (0x7f96e056c7e0)
+
+Vtable for QTextObjectInterface
+QTextObjectInterface::_ZTV20QTextObjectInterface: 6u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI20QTextObjectInterface)
+16 QTextObjectInterface::~QTextObjectInterface
+24 QTextObjectInterface::~QTextObjectInterface
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+
+Class QTextObjectInterface
+ size=8 align=8
+ base size=8 base align=8
+QTextObjectInterface (0x7f96e05b4150) 0 nearly-empty
+ vptr=((& QTextObjectInterface::_ZTV20QTextObjectInterface) + 16u)
+
+Vtable for QSyntaxHighlighter
+QSyntaxHighlighter::_ZTV18QSyntaxHighlighter: 15u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QSyntaxHighlighter)
+16 QSyntaxHighlighter::metaObject
+24 QSyntaxHighlighter::qt_metacast
+32 QSyntaxHighlighter::qt_metacall
+40 QSyntaxHighlighter::~QSyntaxHighlighter
+48 QSyntaxHighlighter::~QSyntaxHighlighter
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+
+Class QSyntaxHighlighter
+ size=16 align=8
+ base size=16 base align=8
+QSyntaxHighlighter (0x7f96e05c12a0) 0
+ vptr=((& QSyntaxHighlighter::_ZTV18QSyntaxHighlighter) + 16u)
+ QObject (0x7f96e05c1310) 0
+ primary-for QSyntaxHighlighter (0x7f96e05c12a0)
+
+Vtable for QUndoGroup
+QUndoGroup::_ZTV10QUndoGroup: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QUndoGroup)
+16 QUndoGroup::metaObject
+24 QUndoGroup::qt_metacast
+32 QUndoGroup::qt_metacall
+40 QUndoGroup::~QUndoGroup
+48 QUndoGroup::~QUndoGroup
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QUndoGroup
+ size=16 align=8
+ base size=16 base align=8
+QUndoGroup (0x7f96e05d6c40) 0
+ vptr=((& QUndoGroup::_ZTV10QUndoGroup) + 16u)
+ QObject (0x7f96e05d6cb0) 0
+ primary-for QUndoGroup (0x7f96e05d6c40)
+
+Class QDesktopServices
+ size=1 align=1
+ base size=0 base align=1
+QDesktopServices (0x7f96e05f47e0) 0 empty
+
+Class QSizePolicy
+ size=4 align=4
+ base size=4 base align=4
+QSizePolicy (0x7f96e05f4930) 0
+
+Class QCursor
+ size=8 align=8
+ base size=8 base align=8
+QCursor (0x7f96e04b0690) 0
+
+Class QWidgetData
+ size=88 align=8
+ base size=88 base align=8
+QWidgetData (0x7f96e04b0e70) 0
+
+Vtable for QWidget
+QWidget::_ZTV7QWidget: 63u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QWidget)
+16 QWidget::metaObject
+24 QWidget::qt_metacast
+32 QWidget::qt_metacall
+40 QWidget::~QWidget
+48 QWidget::~QWidget
+56 QWidget::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QWidget::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QWidget::paintEvent
+256 QWidget::moveEvent
+264 QWidget::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QWidget::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 (int (*)(...))-0x00000000000000010
+456 (int (*)(...))(& _ZTI7QWidget)
+464 QWidget::_ZThn16_N7QWidgetD1Ev
+472 QWidget::_ZThn16_N7QWidgetD0Ev
+480 QWidget::_ZThn16_NK7QWidget7devTypeEv
+488 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+496 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QWidget
+ size=40 align=8
+ base size=40 base align=8
+QWidget (0x7f96e04aba00) 0
+ vptr=((& QWidget::_ZTV7QWidget) + 16u)
+ QObject (0x7f96e04b0ee0) 0
+ primary-for QWidget (0x7f96e04aba00)
+ QPaintDevice (0x7f96e04b0f50) 16
+ vptr=((& QWidget::_ZTV7QWidget) + 464u)
+
+Vtable for QFrame
+QFrame::_ZTV6QFrame: 63u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI6QFrame)
+16 QFrame::metaObject
+24 QFrame::qt_metacast
+32 QFrame::qt_metacall
+40 QFrame::~QFrame
+48 QFrame::~QFrame
+56 QFrame::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QFrame::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QFrame::paintEvent
+256 QWidget::moveEvent
+264 QWidget::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QFrame::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 (int (*)(...))-0x00000000000000010
+456 (int (*)(...))(& _ZTI6QFrame)
+464 QFrame::_ZThn16_N6QFrameD1Ev
+472 QFrame::_ZThn16_N6QFrameD0Ev
+480 QWidget::_ZThn16_NK7QWidget7devTypeEv
+488 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+496 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QFrame
+ size=40 align=8
+ base size=40 base align=8
+QFrame (0x7f96e042fcb0) 0
+ vptr=((& QFrame::_ZTV6QFrame) + 16u)
+ QWidget (0x7f96e0434400) 0
+ primary-for QFrame (0x7f96e042fcb0)
+ QObject (0x7f96e042fd20) 0
+ primary-for QWidget (0x7f96e0434400)
+ QPaintDevice (0x7f96e042fd90) 16
+ vptr=((& QFrame::_ZTV6QFrame) + 464u)
+
+Vtable for QAbstractScrollArea
+QAbstractScrollArea::_ZTV19QAbstractScrollArea: 65u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QAbstractScrollArea)
+16 QAbstractScrollArea::metaObject
+24 QAbstractScrollArea::qt_metacast
+32 QAbstractScrollArea::qt_metacall
+40 QAbstractScrollArea::~QAbstractScrollArea
+48 QAbstractScrollArea::~QAbstractScrollArea
+56 QAbstractScrollArea::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QAbstractScrollArea::sizeHint
+136 QAbstractScrollArea::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QAbstractScrollArea::mousePressEvent
+168 QAbstractScrollArea::mouseReleaseEvent
+176 QAbstractScrollArea::mouseDoubleClickEvent
+184 QAbstractScrollArea::mouseMoveEvent
+192 QAbstractScrollArea::wheelEvent
+200 QAbstractScrollArea::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QAbstractScrollArea::paintEvent
+256 QWidget::moveEvent
+264 QAbstractScrollArea::resizeEvent
+272 QWidget::closeEvent
+280 QAbstractScrollArea::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QAbstractScrollArea::dragEnterEvent
+312 QAbstractScrollArea::dragMoveEvent
+320 QAbstractScrollArea::dragLeaveEvent
+328 QAbstractScrollArea::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QFrame::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QAbstractScrollArea::viewportEvent
+456 QAbstractScrollArea::scrollContentsBy
+464 (int (*)(...))-0x00000000000000010
+472 (int (*)(...))(& _ZTI19QAbstractScrollArea)
+480 QAbstractScrollArea::_ZThn16_N19QAbstractScrollAreaD1Ev
+488 QAbstractScrollArea::_ZThn16_N19QAbstractScrollAreaD0Ev
+496 QWidget::_ZThn16_NK7QWidget7devTypeEv
+504 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+512 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QAbstractScrollArea
+ size=40 align=8
+ base size=40 base align=8
+QAbstractScrollArea (0x7f96e0257310) 0
+ vptr=((& QAbstractScrollArea::_ZTV19QAbstractScrollArea) + 16u)
+ QFrame (0x7f96e0257380) 0
+ primary-for QAbstractScrollArea (0x7f96e0257310)
+ QWidget (0x7f96e024d700) 0
+ primary-for QFrame (0x7f96e0257380)
+ QObject (0x7f96e02573f0) 0
+ primary-for QWidget (0x7f96e024d700)
+ QPaintDevice (0x7f96e0257460) 16
+ vptr=((& QAbstractScrollArea::_ZTV19QAbstractScrollArea) + 480u)
+
+Class QItemSelectionRange
+ size=16 align=8
+ base size=16 base align=8
+QItemSelectionRange (0x7f96e027b230) 0
+
+Vtable for QItemSelectionModel
+QItemSelectionModel::_ZTV19QItemSelectionModel: 18u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QItemSelectionModel)
+16 QItemSelectionModel::metaObject
+24 QItemSelectionModel::qt_metacast
+32 QItemSelectionModel::qt_metacall
+40 QItemSelectionModel::~QItemSelectionModel
+48 QItemSelectionModel::~QItemSelectionModel
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QItemSelectionModel::select
+120 QItemSelectionModel::select
+128 QItemSelectionModel::clear
+136 QItemSelectionModel::reset
+
+Class QItemSelectionModel
+ size=16 align=8
+ base size=16 base align=8
+QItemSelectionModel (0x7f96e02e0700) 0
+ vptr=((& QItemSelectionModel::_ZTV19QItemSelectionModel) + 16u)
+ QObject (0x7f96e02e0770) 0
+ primary-for QItemSelectionModel (0x7f96e02e0700)
+
+Class QItemSelection
+ size=8 align=8
+ base size=8 base align=8
+QItemSelection (0x7f96e0321bd0) 0
+ QList<QItemSelectionRange> (0x7f96e0321c40) 0
+
+Vtable for QValidator
+QValidator::_ZTV10QValidator: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QValidator)
+16 QValidator::metaObject
+24 QValidator::qt_metacast
+32 QValidator::qt_metacall
+40 QValidator::~QValidator
+48 QValidator::~QValidator
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+120 QValidator::fixup
+
+Class QValidator
+ size=16 align=8
+ base size=16 base align=8
+QValidator (0x7f96e015c4d0) 0
+ vptr=((& QValidator::_ZTV10QValidator) + 16u)
+ QObject (0x7f96e015c540) 0
+ primary-for QValidator (0x7f96e015c4d0)
+
+Vtable for QIntValidator
+QIntValidator::_ZTV13QIntValidator: 17u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QIntValidator)
+16 QIntValidator::metaObject
+24 QIntValidator::qt_metacast
+32 QIntValidator::qt_metacall
+40 QIntValidator::~QIntValidator
+48 QIntValidator::~QIntValidator
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QIntValidator::validate
+120 QValidator::fixup
+128 QIntValidator::setRange
+
+Class QIntValidator
+ size=24 align=8
+ base size=24 base align=8
+QIntValidator (0x7f96e0175310) 0
+ vptr=((& QIntValidator::_ZTV13QIntValidator) + 16u)
+ QValidator (0x7f96e0175380) 0
+ primary-for QIntValidator (0x7f96e0175310)
+ QObject (0x7f96e01753f0) 0
+ primary-for QValidator (0x7f96e0175380)
+
+Vtable for QDoubleValidator
+QDoubleValidator::_ZTV16QDoubleValidator: 17u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QDoubleValidator)
+16 QDoubleValidator::metaObject
+24 QDoubleValidator::qt_metacast
+32 QDoubleValidator::qt_metacall
+40 QDoubleValidator::~QDoubleValidator
+48 QDoubleValidator::~QDoubleValidator
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QDoubleValidator::validate
+120 QValidator::fixup
+128 QDoubleValidator::setRange
+
+Class QDoubleValidator
+ size=40 align=8
+ base size=36 base align=8
+QDoubleValidator (0x7f96e018f2a0) 0
+ vptr=((& QDoubleValidator::_ZTV16QDoubleValidator) + 16u)
+ QValidator (0x7f96e018f310) 0
+ primary-for QDoubleValidator (0x7f96e018f2a0)
+ QObject (0x7f96e018f380) 0
+ primary-for QValidator (0x7f96e018f310)
+
+Vtable for QRegExpValidator
+QRegExpValidator::_ZTV16QRegExpValidator: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QRegExpValidator)
+16 QRegExpValidator::metaObject
+24 QRegExpValidator::qt_metacast
+32 QRegExpValidator::qt_metacall
+40 QRegExpValidator::~QRegExpValidator
+48 QRegExpValidator::~QRegExpValidator
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QRegExpValidator::validate
+120 QValidator::fixup
+
+Class QRegExpValidator
+ size=24 align=8
+ base size=24 base align=8
+QRegExpValidator (0x7f96e01abb60) 0
+ vptr=((& QRegExpValidator::_ZTV16QRegExpValidator) + 16u)
+ QValidator (0x7f96e01abbd0) 0
+ primary-for QRegExpValidator (0x7f96e01abb60)
+ QObject (0x7f96e01abc40) 0
+ primary-for QValidator (0x7f96e01abbd0)
+
+Vtable for QAbstractSpinBox
+QAbstractSpinBox::_ZTV16QAbstractSpinBox: 68u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QAbstractSpinBox)
+16 QAbstractSpinBox::metaObject
+24 QAbstractSpinBox::qt_metacast
+32 QAbstractSpinBox::qt_metacall
+40 QAbstractSpinBox::~QAbstractSpinBox
+48 QAbstractSpinBox::~QAbstractSpinBox
+56 QAbstractSpinBox::event
+64 QObject::eventFilter
+72 QAbstractSpinBox::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QAbstractSpinBox::sizeHint
+136 QAbstractSpinBox::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QAbstractSpinBox::mousePressEvent
+168 QAbstractSpinBox::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QAbstractSpinBox::mouseMoveEvent
+192 QAbstractSpinBox::wheelEvent
+200 QAbstractSpinBox::keyPressEvent
+208 QAbstractSpinBox::keyReleaseEvent
+216 QAbstractSpinBox::focusInEvent
+224 QAbstractSpinBox::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QAbstractSpinBox::paintEvent
+256 QWidget::moveEvent
+264 QAbstractSpinBox::resizeEvent
+272 QAbstractSpinBox::closeEvent
+280 QAbstractSpinBox::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QAbstractSpinBox::showEvent
+344 QAbstractSpinBox::hideEvent
+352 QWidget::x11Event
+360 QAbstractSpinBox::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QAbstractSpinBox::validate
+456 QAbstractSpinBox::fixup
+464 QAbstractSpinBox::stepBy
+472 QAbstractSpinBox::clear
+480 QAbstractSpinBox::stepEnabled
+488 (int (*)(...))-0x00000000000000010
+496 (int (*)(...))(& _ZTI16QAbstractSpinBox)
+504 QAbstractSpinBox::_ZThn16_N16QAbstractSpinBoxD1Ev
+512 QAbstractSpinBox::_ZThn16_N16QAbstractSpinBoxD0Ev
+520 QWidget::_ZThn16_NK7QWidget7devTypeEv
+528 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+536 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QAbstractSpinBox
+ size=40 align=8
+ base size=40 base align=8
+QAbstractSpinBox (0x7f96e01bf7e0) 0
+ vptr=((& QAbstractSpinBox::_ZTV16QAbstractSpinBox) + 16u)
+ QWidget (0x7f96e01af700) 0
+ primary-for QAbstractSpinBox (0x7f96e01bf7e0)
+ QObject (0x7f96e01bf850) 0
+ primary-for QWidget (0x7f96e01af700)
+ QPaintDevice (0x7f96e01bf8c0) 16
+ vptr=((& QAbstractSpinBox::_ZTV16QAbstractSpinBox) + 504u)
+
+Class QIcon
+ size=8 align=8
+ base size=8 base align=8
+QIcon (0x7f96e020d7e0) 0
+
+Vtable for QAbstractSlider
+QAbstractSlider::_ZTV15QAbstractSlider: 64u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QAbstractSlider)
+16 QAbstractSlider::metaObject
+24 QAbstractSlider::qt_metacast
+32 QAbstractSlider::qt_metacall
+40 QAbstractSlider::~QAbstractSlider
+48 QAbstractSlider::~QAbstractSlider
+56 QAbstractSlider::event
+64 QObject::eventFilter
+72 QAbstractSlider::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QWidget::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QAbstractSlider::wheelEvent
+200 QAbstractSlider::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QWidget::paintEvent
+256 QWidget::moveEvent
+264 QWidget::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QAbstractSlider::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QAbstractSlider::sliderChange
+456 (int (*)(...))-0x00000000000000010
+464 (int (*)(...))(& _ZTI15QAbstractSlider)
+472 QAbstractSlider::_ZThn16_N15QAbstractSliderD1Ev
+480 QAbstractSlider::_ZThn16_N15QAbstractSliderD0Ev
+488 QWidget::_ZThn16_NK7QWidget7devTypeEv
+496 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+504 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QAbstractSlider
+ size=40 align=8
+ base size=40 base align=8
+QAbstractSlider (0x7f96e004b380) 0
+ vptr=((& QAbstractSlider::_ZTV15QAbstractSlider) + 16u)
+ QWidget (0x7f96e004e380) 0
+ primary-for QAbstractSlider (0x7f96e004b380)
+ QObject (0x7f96e004b3f0) 0
+ primary-for QWidget (0x7f96e004e380)
+ QPaintDevice (0x7f96e004b460) 16
+ vptr=((& QAbstractSlider::_ZTV15QAbstractSlider) + 472u)
+
+Vtable for QSlider
+QSlider::_ZTV7QSlider: 64u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QSlider)
+16 QSlider::metaObject
+24 QSlider::qt_metacast
+32 QSlider::qt_metacall
+40 QSlider::~QSlider
+48 QSlider::~QSlider
+56 QSlider::event
+64 QObject::eventFilter
+72 QAbstractSlider::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QSlider::sizeHint
+136 QSlider::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QSlider::mousePressEvent
+168 QSlider::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QSlider::mouseMoveEvent
+192 QAbstractSlider::wheelEvent
+200 QAbstractSlider::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QSlider::paintEvent
+256 QWidget::moveEvent
+264 QWidget::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QAbstractSlider::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QAbstractSlider::sliderChange
+456 (int (*)(...))-0x00000000000000010
+464 (int (*)(...))(& _ZTI7QSlider)
+472 QSlider::_ZThn16_N7QSliderD1Ev
+480 QSlider::_ZThn16_N7QSliderD0Ev
+488 QWidget::_ZThn16_NK7QWidget7devTypeEv
+496 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+504 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QSlider
+ size=40 align=8
+ base size=40 base align=8
+QSlider (0x7f96e00821c0) 0
+ vptr=((& QSlider::_ZTV7QSlider) + 16u)
+ QAbstractSlider (0x7f96e0082230) 0
+ primary-for QSlider (0x7f96e00821c0)
+ QWidget (0x7f96e007f380) 0
+ primary-for QAbstractSlider (0x7f96e0082230)
+ QObject (0x7f96e00822a0) 0
+ primary-for QWidget (0x7f96e007f380)
+ QPaintDevice (0x7f96e0082310) 16
+ vptr=((& QSlider::_ZTV7QSlider) + 472u)
+
+Vtable for QStyle
+QStyle::_ZTV6QStyle: 35u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI6QStyle)
+16 QStyle::metaObject
+24 QStyle::qt_metacast
+32 QStyle::qt_metacall
+40 QStyle::~QStyle
+48 QStyle::~QStyle
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QStyle::polish
+120 QStyle::unpolish
+128 QStyle::polish
+136 QStyle::unpolish
+144 QStyle::polish
+152 QStyle::itemTextRect
+160 QStyle::itemPixmapRect
+168 QStyle::drawItemText
+176 QStyle::drawItemPixmap
+184 QStyle::standardPalette
+192 __cxa_pure_virtual
+200 __cxa_pure_virtual
+208 __cxa_pure_virtual
+216 __cxa_pure_virtual
+224 __cxa_pure_virtual
+232 __cxa_pure_virtual
+240 __cxa_pure_virtual
+248 __cxa_pure_virtual
+256 __cxa_pure_virtual
+264 __cxa_pure_virtual
+272 __cxa_pure_virtual
+
+Class QStyle
+ size=16 align=8
+ base size=16 base align=8
+QStyle (0x7f96e00a8770) 0
+ vptr=((& QStyle::_ZTV6QStyle) + 16u)
+ QObject (0x7f96e00a87e0) 0
+ primary-for QStyle (0x7f96e00a8770)
+
+Vtable for QTabBar
+QTabBar::_ZTV7QTabBar: 67u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QTabBar)
+16 QTabBar::metaObject
+24 QTabBar::qt_metacast
+32 QTabBar::qt_metacall
+40 QTabBar::~QTabBar
+48 QTabBar::~QTabBar
+56 QTabBar::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QTabBar::sizeHint
+136 QTabBar::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QTabBar::mousePressEvent
+168 QTabBar::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QTabBar::mouseMoveEvent
+192 QTabBar::wheelEvent
+200 QTabBar::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QTabBar::paintEvent
+256 QWidget::moveEvent
+264 QTabBar::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QTabBar::showEvent
+344 QTabBar::hideEvent
+352 QWidget::x11Event
+360 QTabBar::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QTabBar::tabSizeHint
+456 QTabBar::tabInserted
+464 QTabBar::tabRemoved
+472 QTabBar::tabLayoutChange
+480 (int (*)(...))-0x00000000000000010
+488 (int (*)(...))(& _ZTI7QTabBar)
+496 QTabBar::_ZThn16_N7QTabBarD1Ev
+504 QTabBar::_ZThn16_N7QTabBarD0Ev
+512 QWidget::_ZThn16_NK7QWidget7devTypeEv
+520 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+528 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QTabBar
+ size=40 align=8
+ base size=40 base align=8
+QTabBar (0x7f96dff594d0) 0
+ vptr=((& QTabBar::_ZTV7QTabBar) + 16u)
+ QWidget (0x7f96e00fde80) 0
+ primary-for QTabBar (0x7f96dff594d0)
+ QObject (0x7f96dff59540) 0
+ primary-for QWidget (0x7f96e00fde80)
+ QPaintDevice (0x7f96dff595b0) 16
+ vptr=((& QTabBar::_ZTV7QTabBar) + 496u)
+
+Vtable for QTabWidget
+QTabWidget::_ZTV10QTabWidget: 65u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QTabWidget)
+16 QTabWidget::metaObject
+24 QTabWidget::qt_metacast
+32 QTabWidget::qt_metacall
+40 QTabWidget::~QTabWidget
+48 QTabWidget::~QTabWidget
+56 QTabWidget::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QTabWidget::sizeHint
+136 QTabWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QTabWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QTabWidget::paintEvent
+256 QWidget::moveEvent
+264 QTabWidget::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QTabWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QTabWidget::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QTabWidget::tabInserted
+456 QTabWidget::tabRemoved
+464 (int (*)(...))-0x00000000000000010
+472 (int (*)(...))(& _ZTI10QTabWidget)
+480 QTabWidget::_ZThn16_N10QTabWidgetD1Ev
+488 QTabWidget::_ZThn16_N10QTabWidgetD0Ev
+496 QWidget::_ZThn16_NK7QWidget7devTypeEv
+504 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+512 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QTabWidget
+ size=40 align=8
+ base size=40 base align=8
+QTabWidget (0x7f96dff8baf0) 0
+ vptr=((& QTabWidget::_ZTV10QTabWidget) + 16u)
+ QWidget (0x7f96dff8e180) 0
+ primary-for QTabWidget (0x7f96dff8baf0)
+ QObject (0x7f96dff8bb60) 0
+ primary-for QWidget (0x7f96dff8e180)
+ QPaintDevice (0x7f96dff8bbd0) 16
+ vptr=((& QTabWidget::_ZTV10QTabWidget) + 480u)
+
+Vtable for QRubberBand
+QRubberBand::_ZTV11QRubberBand: 63u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QRubberBand)
+16 QRubberBand::metaObject
+24 QRubberBand::qt_metacast
+32 QRubberBand::qt_metacall
+40 QRubberBand::~QRubberBand
+48 QRubberBand::~QRubberBand
+56 QRubberBand::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QWidget::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QRubberBand::paintEvent
+256 QRubberBand::moveEvent
+264 QRubberBand::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QRubberBand::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QRubberBand::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 (int (*)(...))-0x00000000000000010
+456 (int (*)(...))(& _ZTI11QRubberBand)
+464 QRubberBand::_ZThn16_N11QRubberBandD1Ev
+472 QRubberBand::_ZThn16_N11QRubberBandD0Ev
+480 QWidget::_ZThn16_NK7QWidget7devTypeEv
+488 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+496 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QRubberBand
+ size=40 align=8
+ base size=40 base align=8
+QRubberBand (0x7f96dffe34d0) 0
+ vptr=((& QRubberBand::_ZTV11QRubberBand) + 16u)
+ QWidget (0x7f96dffe2200) 0
+ primary-for QRubberBand (0x7f96dffe34d0)
+ QObject (0x7f96dffe3540) 0
+ primary-for QWidget (0x7f96dffe2200)
+ QPaintDevice (0x7f96dffe35b0) 16
+ vptr=((& QRubberBand::_ZTV11QRubberBand) + 464u)
+
+Class QStyleOption
+ size=56 align=8
+ base size=56 base align=8
+QStyleOption (0x7f96e00047e0) 0
+
+Class QStyleOptionFocusRect
+ size=72 align=8
+ base size=72 base align=8
+QStyleOptionFocusRect (0x7f96e0012540) 0
+ QStyleOption (0x7f96e00125b0) 0
+
+Class QStyleOptionFrame
+ size=64 align=8
+ base size=64 base align=8
+QStyleOptionFrame (0x7f96e001c540) 0
+ QStyleOption (0x7f96e001c5b0) 0
+
+Class QStyleOptionFrameV2
+ size=72 align=8
+ base size=68 base align=8
+QStyleOptionFrameV2 (0x7f96e00284d0) 0
+ QStyleOptionFrame (0x7f96e0028540) 0
+ QStyleOption (0x7f96e00285b0) 0
+
+Class QStyleOptionFrameV3
+ size=72 align=8
+ base size=72 base align=8
+QStyleOptionFrameV3 (0x7f96dfe59d90) 0
+ QStyleOptionFrameV2 (0x7f96dfe59e00) 0
+ QStyleOptionFrame (0x7f96dfe59e70) 0
+ QStyleOption (0x7f96dfe59ee0) 0
+
+Class QStyleOptionTabWidgetFrame
+ size=96 align=8
+ base size=92 base align=8
+QStyleOptionTabWidgetFrame (0x7f96dfe79690) 0
+ QStyleOption (0x7f96dfe79700) 0
+
+Class QStyleOptionTabBarBase
+ size=96 align=8
+ base size=92 base align=8
+QStyleOptionTabBarBase (0x7f96dfe88e00) 0
+ QStyleOption (0x7f96dfe88e70) 0
+
+Class QStyleOptionTabBarBaseV2
+ size=96 align=8
+ base size=93 base align=8
+QStyleOptionTabBarBaseV2 (0x7f96dfe9b1c0) 0
+ QStyleOptionTabBarBase (0x7f96dfe9b230) 0
+ QStyleOption (0x7f96dfe9b2a0) 0
+
+Class QStyleOptionHeader
+ size=112 align=8
+ base size=108 base align=8
+QStyleOptionHeader (0x7f96dfea4850) 0
+ QStyleOption (0x7f96dfea48c0) 0
+
+Class QStyleOptionButton
+ size=88 align=8
+ base size=88 base align=8
+QStyleOptionButton (0x7f96dfebea10) 0
+ QStyleOption (0x7f96dfebea80) 0
+
+Class QStyleOptionTab
+ size=96 align=8
+ base size=96 base align=8
+QStyleOptionTab (0x7f96dff0c3f0) 0
+ QStyleOption (0x7f96dff0c460) 0
+
+Class QStyleOptionTabV2
+ size=104 align=8
+ base size=104 base align=8
+QStyleOptionTabV2 (0x7f96dfd56380) 0
+ QStyleOptionTab (0x7f96dfd563f0) 0
+ QStyleOption (0x7f96dfd56460) 0
+
+Class QStyleOptionTabV3
+ size=128 align=8
+ base size=124 base align=8
+QStyleOptionTabV3 (0x7f96dfd60d90) 0
+ QStyleOptionTabV2 (0x7f96dfd60e00) 0
+ QStyleOptionTab (0x7f96dfd60e70) 0
+ QStyleOption (0x7f96dfd60ee0) 0
+
+Class QStyleOptionToolBar
+ size=80 align=8
+ base size=80 base align=8
+QStyleOptionToolBar (0x7f96dfd7e3f0) 0
+ QStyleOption (0x7f96dfd7e460) 0
+
+Class QStyleOptionProgressBar
+ size=88 align=8
+ base size=85 base align=8
+QStyleOptionProgressBar (0x7f96dfdb2bd0) 0
+ QStyleOption (0x7f96dfdb2c40) 0
+
+Class QStyleOptionProgressBarV2
+ size=96 align=8
+ base size=94 base align=8
+QStyleOptionProgressBarV2 (0x7f96dfdd6380) 0
+ QStyleOptionProgressBar (0x7f96dfdd63f0) 0
+ QStyleOption (0x7f96dfdd6460) 0
+
+Class QStyleOptionMenuItem
+ size=128 align=8
+ base size=128 base align=8
+QStyleOptionMenuItem (0x7f96dfdd6c40) 0
+ QStyleOption (0x7f96dfdd6cb0) 0
+
+Class QStyleOptionQ3ListViewItem
+ size=80 align=8
+ base size=76 base align=8
+QStyleOptionQ3ListViewItem (0x7f96dfdf0e70) 0
+ QStyleOption (0x7f96dfdf0ee0) 0
+
+Class QStyleOptionQ3DockWindow
+ size=64 align=8
+ base size=58 base align=8
+QStyleOptionQ3DockWindow (0x7f96dfc3c310) 0
+ QStyleOption (0x7f96dfc3c380) 0
+
+Class QStyleOptionDockWidget
+ size=72 align=8
+ base size=67 base align=8
+QStyleOptionDockWidget (0x7f96dfc482a0) 0
+ QStyleOption (0x7f96dfc48310) 0
+
+Class QStyleOptionDockWidgetV2
+ size=72 align=8
+ base size=68 base align=8
+QStyleOptionDockWidgetV2 (0x7f96dfc57690) 0
+ QStyleOptionDockWidget (0x7f96dfc57700) 0
+ QStyleOption (0x7f96dfc57770) 0
+
+Class QStyleOptionViewItem
+ size=104 align=8
+ base size=97 base align=8
+QStyleOptionViewItem (0x7f96dfc5fe70) 0
+ QStyleOption (0x7f96dfc5fee0) 0
+
+Class QStyleOptionViewItemV2
+ size=104 align=8
+ base size=104 base align=8
+QStyleOptionViewItemV2 (0x7f96dfc79a10) 0
+ QStyleOptionViewItem (0x7f96dfc79a80) 0
+ QStyleOption (0x7f96dfc79af0) 0
+
+Class QStyleOptionViewItemV3
+ size=120 align=8
+ base size=120 base align=8
+QStyleOptionViewItemV3 (0x7f96dfcc2460) 0
+ QStyleOptionViewItemV2 (0x7f96dfcc24d0) 0
+ QStyleOptionViewItem (0x7f96dfcc2540) 0
+ QStyleOption (0x7f96dfcc25b0) 0
+
+Class QStyleOptionViewItemV4
+ size=184 align=8
+ base size=184 base align=8
+QStyleOptionViewItemV4 (0x7f96dfcccd20) 0
+ QStyleOptionViewItemV3 (0x7f96dfcccd90) 0
+ QStyleOptionViewItemV2 (0x7f96dfccce00) 0
+ QStyleOptionViewItem (0x7f96dfccce70) 0
+ QStyleOption (0x7f96dfcccee0) 0
+
+Class QStyleOptionToolBox
+ size=72 align=8
+ base size=72 base align=8
+QStyleOptionToolBox (0x7f96dfcee460) 0
+ QStyleOption (0x7f96dfcee4d0) 0
+
+Class QStyleOptionToolBoxV2
+ size=80 align=8
+ base size=80 base align=8
+QStyleOptionToolBoxV2 (0x7f96dfcfd930) 0
+ QStyleOptionToolBox (0x7f96dfcfd9a0) 0
+ QStyleOption (0x7f96dfcfda10) 0
+
+Class QStyleOptionRubberBand
+ size=64 align=8
+ base size=61 base align=8
+QStyleOptionRubberBand (0x7f96dfd13620) 0
+ QStyleOption (0x7f96dfd13690) 0
+
+Class QStyleOptionComplex
+ size=64 align=8
+ base size=64 base align=8
+QStyleOptionComplex (0x7f96dfd1f700) 0
+ QStyleOption (0x7f96dfd1f770) 0
+
+Class QStyleOptionSlider
+ size=120 align=8
+ base size=113 base align=8
+QStyleOptionSlider (0x7f96dfd25ee0) 0
+ QStyleOptionComplex (0x7f96dfd25f50) 0
+ QStyleOption (0x7f96dfd25310) 0
+
+Class QStyleOptionSpinBox
+ size=80 align=8
+ base size=73 base align=8
+QStyleOptionSpinBox (0x7f96dfb3ecb0) 0
+ QStyleOptionComplex (0x7f96dfb3ed20) 0
+ QStyleOption (0x7f96dfb3ed90) 0
+
+Class QStyleOptionQ3ListView
+ size=112 align=8
+ base size=105 base align=8
+QStyleOptionQ3ListView (0x7f96dfb4e1c0) 0
+ QStyleOptionComplex (0x7f96dfb4e230) 0
+ QStyleOption (0x7f96dfb4e2a0) 0
+
+Class QStyleOptionToolButton
+ size=128 align=8
+ base size=128 base align=8
+QStyleOptionToolButton (0x7f96dfb81e00) 0
+ QStyleOptionComplex (0x7f96dfb81e70) 0
+ QStyleOption (0x7f96dfb81ee0) 0
+
+Class QStyleOptionComboBox
+ size=112 align=8
+ base size=112 base align=8
+QStyleOptionComboBox (0x7f96dfbd7070) 0
+ QStyleOptionComplex (0x7f96dfbd70e0) 0
+ QStyleOption (0x7f96dfbd7150) 0
+
+Class QStyleOptionTitleBar
+ size=88 align=8
+ base size=88 base align=8
+QStyleOptionTitleBar (0x7f96dfbe5b60) 0
+ QStyleOptionComplex (0x7f96dfbe5bd0) 0
+ QStyleOption (0x7f96dfbe5c40) 0
+
+Class QStyleOptionGroupBox
+ size=112 align=8
+ base size=108 base align=8
+QStyleOptionGroupBox (0x7f96dfbfc3f0) 0
+ QStyleOptionComplex (0x7f96dfbfc460) 0
+ QStyleOption (0x7f96dfbfc4d0) 0
+
+Class QStyleOptionSizeGrip
+ size=72 align=8
+ base size=68 base align=8
+QStyleOptionSizeGrip (0x7f96dfc12000) 0
+ QStyleOptionComplex (0x7f96dfc12070) 0
+ QStyleOption (0x7f96dfc120e0) 0
+
+Class QStyleOptionGraphicsItem
+ size=144 align=8
+ base size=144 base align=8
+QStyleOptionGraphicsItem (0x7f96dfc12f50) 0
+ QStyleOption (0x7f96dfc12700) 0
+
+Class QStyleHintReturn
+ size=8 align=4
+ base size=8 base align=4
+QStyleHintReturn (0x7f96dfc2a2a0) 0
+
+Class QStyleHintReturnMask
+ size=16 align=8
+ base size=16 base align=8
+QStyleHintReturnMask (0x7f96dfc2a700) 0
+ QStyleHintReturn (0x7f96dfc2a770) 0
+
+Class QStyleHintReturnVariant
+ size=24 align=8
+ base size=24 base align=8
+QStyleHintReturnVariant (0x7f96dfc2a930) 0
+ QStyleHintReturn (0x7f96dfc2a9a0) 0
+
+Vtable for QAbstractItemDelegate
+QAbstractItemDelegate::_ZTV21QAbstractItemDelegate: 21u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI21QAbstractItemDelegate)
+16 QAbstractItemDelegate::metaObject
+24 QAbstractItemDelegate::qt_metacast
+32 QAbstractItemDelegate::qt_metacall
+40 QAbstractItemDelegate::~QAbstractItemDelegate
+48 QAbstractItemDelegate::~QAbstractItemDelegate
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 QAbstractItemDelegate::createEditor
+136 QAbstractItemDelegate::setEditorData
+144 QAbstractItemDelegate::setModelData
+152 QAbstractItemDelegate::updateEditorGeometry
+160 QAbstractItemDelegate::editorEvent
+
+Class QAbstractItemDelegate
+ size=16 align=8
+ base size=16 base align=8
+QAbstractItemDelegate (0x7f96dfc2ae00) 0
+ vptr=((& QAbstractItemDelegate::_ZTV21QAbstractItemDelegate) + 16u)
+ QObject (0x7f96dfc2ae70) 0
+ primary-for QAbstractItemDelegate (0x7f96dfc2ae00)
+
+Vtable for QAbstractItemView
+QAbstractItemView::_ZTV17QAbstractItemView: 103u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QAbstractItemView)
+16 QAbstractItemView::metaObject
+24 QAbstractItemView::qt_metacast
+32 QAbstractItemView::qt_metacall
+40 QAbstractItemView::~QAbstractItemView
+48 QAbstractItemView::~QAbstractItemView
+56 QAbstractItemView::event
+64 QObject::eventFilter
+72 QAbstractItemView::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QAbstractScrollArea::sizeHint
+136 QAbstractScrollArea::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QAbstractItemView::mousePressEvent
+168 QAbstractItemView::mouseReleaseEvent
+176 QAbstractItemView::mouseDoubleClickEvent
+184 QAbstractItemView::mouseMoveEvent
+192 QAbstractScrollArea::wheelEvent
+200 QAbstractItemView::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QAbstractItemView::focusInEvent
+224 QAbstractItemView::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QAbstractScrollArea::paintEvent
+256 QWidget::moveEvent
+264 QAbstractItemView::resizeEvent
+272 QWidget::closeEvent
+280 QAbstractScrollArea::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QAbstractItemView::dragEnterEvent
+312 QAbstractItemView::dragMoveEvent
+320 QAbstractItemView::dragLeaveEvent
+328 QAbstractItemView::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QFrame::changeEvent
+368 QWidget::metric
+376 QAbstractItemView::inputMethodEvent
+384 QAbstractItemView::inputMethodQuery
+392 QAbstractItemView::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QAbstractItemView::viewportEvent
+456 QAbstractScrollArea::scrollContentsBy
+464 QAbstractItemView::setModel
+472 QAbstractItemView::setSelectionModel
+480 QAbstractItemView::keyboardSearch
+488 __cxa_pure_virtual
+496 __cxa_pure_virtual
+504 __cxa_pure_virtual
+512 QAbstractItemView::sizeHintForRow
+520 QAbstractItemView::sizeHintForColumn
+528 QAbstractItemView::reset
+536 QAbstractItemView::setRootIndex
+544 QAbstractItemView::doItemsLayout
+552 QAbstractItemView::selectAll
+560 QAbstractItemView::dataChanged
+568 QAbstractItemView::rowsInserted
+576 QAbstractItemView::rowsAboutToBeRemoved
+584 QAbstractItemView::selectionChanged
+592 QAbstractItemView::currentChanged
+600 QAbstractItemView::updateEditorData
+608 QAbstractItemView::updateEditorGeometries
+616 QAbstractItemView::updateGeometries
+624 QAbstractItemView::verticalScrollbarAction
+632 QAbstractItemView::horizontalScrollbarAction
+640 QAbstractItemView::verticalScrollbarValueChanged
+648 QAbstractItemView::horizontalScrollbarValueChanged
+656 QAbstractItemView::closeEditor
+664 QAbstractItemView::commitData
+672 QAbstractItemView::editorDestroyed
+680 __cxa_pure_virtual
+688 __cxa_pure_virtual
+696 __cxa_pure_virtual
+704 __cxa_pure_virtual
+712 __cxa_pure_virtual
+720 __cxa_pure_virtual
+728 QAbstractItemView::selectedIndexes
+736 QAbstractItemView::edit
+744 QAbstractItemView::selectionCommand
+752 QAbstractItemView::startDrag
+760 QAbstractItemView::viewOptions
+768 (int (*)(...))-0x00000000000000010
+776 (int (*)(...))(& _ZTI17QAbstractItemView)
+784 QAbstractItemView::_ZThn16_N17QAbstractItemViewD1Ev
+792 QAbstractItemView::_ZThn16_N17QAbstractItemViewD0Ev
+800 QWidget::_ZThn16_NK7QWidget7devTypeEv
+808 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+816 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QAbstractItemView
+ size=40 align=8
+ base size=40 base align=8
+QAbstractItemView (0x7f96dfa6f4d0) 0
+ vptr=((& QAbstractItemView::_ZTV17QAbstractItemView) + 16u)
+ QAbstractScrollArea (0x7f96dfa6f540) 0
+ primary-for QAbstractItemView (0x7f96dfa6f4d0)
+ QFrame (0x7f96dfa6f5b0) 0
+ primary-for QAbstractScrollArea (0x7f96dfa6f540)
+ QWidget (0x7f96dfa71000) 0
+ primary-for QFrame (0x7f96dfa6f5b0)
+ QObject (0x7f96dfa6f620) 0
+ primary-for QWidget (0x7f96dfa71000)
+ QPaintDevice (0x7f96dfa6f690) 16
+ vptr=((& QAbstractItemView::_ZTV17QAbstractItemView) + 784u)
+
+Vtable for QListView
+QListView::_ZTV9QListView: 103u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QListView)
+16 QListView::metaObject
+24 QListView::qt_metacast
+32 QListView::qt_metacall
+40 QListView::~QListView
+48 QListView::~QListView
+56 QListView::event
+64 QObject::eventFilter
+72 QListView::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QAbstractScrollArea::sizeHint
+136 QAbstractScrollArea::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QAbstractItemView::mousePressEvent
+168 QListView::mouseReleaseEvent
+176 QAbstractItemView::mouseDoubleClickEvent
+184 QListView::mouseMoveEvent
+192 QAbstractScrollArea::wheelEvent
+200 QAbstractItemView::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QAbstractItemView::focusInEvent
+224 QAbstractItemView::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QListView::paintEvent
+256 QWidget::moveEvent
+264 QListView::resizeEvent
+272 QWidget::closeEvent
+280 QAbstractScrollArea::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QAbstractItemView::dragEnterEvent
+312 QListView::dragMoveEvent
+320 QListView::dragLeaveEvent
+328 QListView::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QFrame::changeEvent
+368 QWidget::metric
+376 QAbstractItemView::inputMethodEvent
+384 QAbstractItemView::inputMethodQuery
+392 QAbstractItemView::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QAbstractItemView::viewportEvent
+456 QListView::scrollContentsBy
+464 QAbstractItemView::setModel
+472 QAbstractItemView::setSelectionModel
+480 QAbstractItemView::keyboardSearch
+488 QListView::visualRect
+496 QListView::scrollTo
+504 QListView::indexAt
+512 QAbstractItemView::sizeHintForRow
+520 QAbstractItemView::sizeHintForColumn
+528 QListView::reset
+536 QListView::setRootIndex
+544 QListView::doItemsLayout
+552 QAbstractItemView::selectAll
+560 QListView::dataChanged
+568 QListView::rowsInserted
+576 QListView::rowsAboutToBeRemoved
+584 QListView::selectionChanged
+592 QListView::currentChanged
+600 QAbstractItemView::updateEditorData
+608 QAbstractItemView::updateEditorGeometries
+616 QListView::updateGeometries
+624 QAbstractItemView::verticalScrollbarAction
+632 QAbstractItemView::horizontalScrollbarAction
+640 QAbstractItemView::verticalScrollbarValueChanged
+648 QAbstractItemView::horizontalScrollbarValueChanged
+656 QAbstractItemView::closeEditor
+664 QAbstractItemView::commitData
+672 QAbstractItemView::editorDestroyed
+680 QListView::moveCursor
+688 QListView::horizontalOffset
+696 QListView::verticalOffset
+704 QListView::isIndexHidden
+712 QListView::setSelection
+720 QListView::visualRegionForSelection
+728 QListView::selectedIndexes
+736 QAbstractItemView::edit
+744 QAbstractItemView::selectionCommand
+752 QListView::startDrag
+760 QListView::viewOptions
+768 (int (*)(...))-0x00000000000000010
+776 (int (*)(...))(& _ZTI9QListView)
+784 QListView::_ZThn16_N9QListViewD1Ev
+792 QListView::_ZThn16_N9QListViewD0Ev
+800 QWidget::_ZThn16_NK7QWidget7devTypeEv
+808 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+816 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QListView
+ size=40 align=8
+ base size=40 base align=8
+QListView (0x7f96dfae2cb0) 0
+ vptr=((& QListView::_ZTV9QListView) + 16u)
+ QAbstractItemView (0x7f96dfae2d20) 0
+ primary-for QListView (0x7f96dfae2cb0)
+ QAbstractScrollArea (0x7f96dfae2d90) 0
+ primary-for QAbstractItemView (0x7f96dfae2d20)
+ QFrame (0x7f96dfae2e00) 0
+ primary-for QAbstractScrollArea (0x7f96dfae2d90)
+ QWidget (0x7f96dfac2680) 0
+ primary-for QFrame (0x7f96dfae2e00)
+ QObject (0x7f96dfae2e70) 0
+ primary-for QWidget (0x7f96dfac2680)
+ QPaintDevice (0x7f96dfae2ee0) 16
+ vptr=((& QListView::_ZTV9QListView) + 784u)
+
+Vtable for QUndoView
+QUndoView::_ZTV9QUndoView: 103u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QUndoView)
+16 QUndoView::metaObject
+24 QUndoView::qt_metacast
+32 QUndoView::qt_metacall
+40 QUndoView::~QUndoView
+48 QUndoView::~QUndoView
+56 QListView::event
+64 QObject::eventFilter
+72 QListView::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QAbstractScrollArea::sizeHint
+136 QAbstractScrollArea::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QAbstractItemView::mousePressEvent
+168 QListView::mouseReleaseEvent
+176 QAbstractItemView::mouseDoubleClickEvent
+184 QListView::mouseMoveEvent
+192 QAbstractScrollArea::wheelEvent
+200 QAbstractItemView::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QAbstractItemView::focusInEvent
+224 QAbstractItemView::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QListView::paintEvent
+256 QWidget::moveEvent
+264 QListView::resizeEvent
+272 QWidget::closeEvent
+280 QAbstractScrollArea::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QAbstractItemView::dragEnterEvent
+312 QListView::dragMoveEvent
+320 QListView::dragLeaveEvent
+328 QListView::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QFrame::changeEvent
+368 QWidget::metric
+376 QAbstractItemView::inputMethodEvent
+384 QAbstractItemView::inputMethodQuery
+392 QAbstractItemView::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QAbstractItemView::viewportEvent
+456 QListView::scrollContentsBy
+464 QAbstractItemView::setModel
+472 QAbstractItemView::setSelectionModel
+480 QAbstractItemView::keyboardSearch
+488 QListView::visualRect
+496 QListView::scrollTo
+504 QListView::indexAt
+512 QAbstractItemView::sizeHintForRow
+520 QAbstractItemView::sizeHintForColumn
+528 QListView::reset
+536 QListView::setRootIndex
+544 QListView::doItemsLayout
+552 QAbstractItemView::selectAll
+560 QListView::dataChanged
+568 QListView::rowsInserted
+576 QListView::rowsAboutToBeRemoved
+584 QListView::selectionChanged
+592 QListView::currentChanged
+600 QAbstractItemView::updateEditorData
+608 QAbstractItemView::updateEditorGeometries
+616 QListView::updateGeometries
+624 QAbstractItemView::verticalScrollbarAction
+632 QAbstractItemView::horizontalScrollbarAction
+640 QAbstractItemView::verticalScrollbarValueChanged
+648 QAbstractItemView::horizontalScrollbarValueChanged
+656 QAbstractItemView::closeEditor
+664 QAbstractItemView::commitData
+672 QAbstractItemView::editorDestroyed
+680 QListView::moveCursor
+688 QListView::horizontalOffset
+696 QListView::verticalOffset
+704 QListView::isIndexHidden
+712 QListView::setSelection
+720 QListView::visualRegionForSelection
+728 QListView::selectedIndexes
+736 QAbstractItemView::edit
+744 QAbstractItemView::selectionCommand
+752 QListView::startDrag
+760 QListView::viewOptions
+768 (int (*)(...))-0x00000000000000010
+776 (int (*)(...))(& _ZTI9QUndoView)
+784 QUndoView::_ZThn16_N9QUndoViewD1Ev
+792 QUndoView::_ZThn16_N9QUndoViewD0Ev
+800 QWidget::_ZThn16_NK7QWidget7devTypeEv
+808 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+816 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QUndoView
+ size=40 align=8
+ base size=40 base align=8
+QUndoView (0x7f96df92a380) 0
+ vptr=((& QUndoView::_ZTV9QUndoView) + 16u)
+ QListView (0x7f96df92a3f0) 0
+ primary-for QUndoView (0x7f96df92a380)
+ QAbstractItemView (0x7f96df92a460) 0
+ primary-for QListView (0x7f96df92a3f0)
+ QAbstractScrollArea (0x7f96df92a4d0) 0
+ primary-for QAbstractItemView (0x7f96df92a460)
+ QFrame (0x7f96df92a540) 0
+ primary-for QAbstractScrollArea (0x7f96df92a4d0)
+ QWidget (0x7f96dfb28580) 0
+ primary-for QFrame (0x7f96df92a540)
+ QObject (0x7f96df92a5b0) 0
+ primary-for QWidget (0x7f96dfb28580)
+ QPaintDevice (0x7f96df92a620) 16
+ vptr=((& QUndoView::_ZTV9QUndoView) + 784u)
+
+Vtable for QCompleter
+QCompleter::_ZTV10QCompleter: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QCompleter)
+16 QCompleter::metaObject
+24 QCompleter::qt_metacast
+32 QCompleter::qt_metacall
+40 QCompleter::~QCompleter
+48 QCompleter::~QCompleter
+56 QCompleter::event
+64 QCompleter::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QCompleter::pathFromIndex
+120 QCompleter::splitPath
+
+Class QCompleter
+ size=16 align=8
+ base size=16 base align=8
+QCompleter (0x7f96df949070) 0
+ vptr=((& QCompleter::_ZTV10QCompleter) + 16u)
+ QObject (0x7f96df9490e0) 0
+ primary-for QCompleter (0x7f96df949070)
+
+Vtable for QUndoCommand
+QUndoCommand::_ZTV12QUndoCommand: 8u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QUndoCommand)
+16 QUndoCommand::~QUndoCommand
+24 QUndoCommand::~QUndoCommand
+32 QUndoCommand::undo
+40 QUndoCommand::redo
+48 QUndoCommand::id
+56 QUndoCommand::mergeWith
+
+Class QUndoCommand
+ size=16 align=8
+ base size=16 base align=8
+QUndoCommand (0x7f96df96e000) 0
+ vptr=((& QUndoCommand::_ZTV12QUndoCommand) + 16u)
+
+Vtable for QUndoStack
+QUndoStack::_ZTV10QUndoStack: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QUndoStack)
+16 QUndoStack::metaObject
+24 QUndoStack::qt_metacast
+32 QUndoStack::qt_metacall
+40 QUndoStack::~QUndoStack
+48 QUndoStack::~QUndoStack
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QUndoStack
+ size=16 align=8
+ base size=16 base align=8
+QUndoStack (0x7f96df96e930) 0
+ vptr=((& QUndoStack::_ZTV10QUndoStack) + 16u)
+ QObject (0x7f96df96e9a0) 0
+ primary-for QUndoStack (0x7f96df96e930)
+
+Vtable for QSystemTrayIcon
+QSystemTrayIcon::_ZTV15QSystemTrayIcon: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QSystemTrayIcon)
+16 QSystemTrayIcon::metaObject
+24 QSystemTrayIcon::qt_metacast
+32 QSystemTrayIcon::qt_metacall
+40 QSystemTrayIcon::~QSystemTrayIcon
+48 QSystemTrayIcon::~QSystemTrayIcon
+56 QSystemTrayIcon::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QSystemTrayIcon
+ size=16 align=8
+ base size=16 base align=8
+QSystemTrayIcon (0x7f96df991460) 0
+ vptr=((& QSystemTrayIcon::_ZTV15QSystemTrayIcon) + 16u)
+ QObject (0x7f96df9914d0) 0
+ primary-for QSystemTrayIcon (0x7f96df991460)
+
+Vtable for QDialog
+QDialog::_ZTV7QDialog: 66u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QDialog)
+16 QDialog::metaObject
+24 QDialog::qt_metacast
+32 QDialog::qt_metacall
+40 QDialog::~QDialog
+48 QDialog::~QDialog
+56 QWidget::event
+64 QDialog::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QDialog::setVisible
+128 QDialog::sizeHint
+136 QDialog::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QDialog::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QWidget::paintEvent
+256 QWidget::moveEvent
+264 QDialog::resizeEvent
+272 QDialog::closeEvent
+280 QDialog::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QDialog::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QWidget::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QDialog::done
+456 QDialog::accept
+464 QDialog::reject
+472 (int (*)(...))-0x00000000000000010
+480 (int (*)(...))(& _ZTI7QDialog)
+488 QDialog::_ZThn16_N7QDialogD1Ev
+496 QDialog::_ZThn16_N7QDialogD0Ev
+504 QWidget::_ZThn16_NK7QWidget7devTypeEv
+512 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+520 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QDialog
+ size=40 align=8
+ base size=40 base align=8
+QDialog (0x7f96df9b0690) 0
+ vptr=((& QDialog::_ZTV7QDialog) + 16u)
+ QWidget (0x7f96df9af380) 0
+ primary-for QDialog (0x7f96df9b0690)
+ QObject (0x7f96df9b0700) 0
+ primary-for QWidget (0x7f96df9af380)
+ QPaintDevice (0x7f96df9b0770) 16
+ vptr=((& QDialog::_ZTV7QDialog) + 488u)
+
+Vtable for QAbstractPageSetupDialog
+QAbstractPageSetupDialog::_ZTV24QAbstractPageSetupDialog: 67u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI24QAbstractPageSetupDialog)
+16 QAbstractPageSetupDialog::metaObject
+24 QAbstractPageSetupDialog::qt_metacast
+32 QAbstractPageSetupDialog::qt_metacall
+40 QAbstractPageSetupDialog::~QAbstractPageSetupDialog
+48 QAbstractPageSetupDialog::~QAbstractPageSetupDialog
+56 QWidget::event
+64 QDialog::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QDialog::setVisible
+128 QDialog::sizeHint
+136 QDialog::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QDialog::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QWidget::paintEvent
+256 QWidget::moveEvent
+264 QDialog::resizeEvent
+272 QDialog::closeEvent
+280 QDialog::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QDialog::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QWidget::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QAbstractPageSetupDialog::done
+456 QDialog::accept
+464 QDialog::reject
+472 __cxa_pure_virtual
+480 (int (*)(...))-0x00000000000000010
+488 (int (*)(...))(& _ZTI24QAbstractPageSetupDialog)
+496 QAbstractPageSetupDialog::_ZThn16_N24QAbstractPageSetupDialogD1Ev
+504 QAbstractPageSetupDialog::_ZThn16_N24QAbstractPageSetupDialogD0Ev
+512 QWidget::_ZThn16_NK7QWidget7devTypeEv
+520 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+528 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QAbstractPageSetupDialog
+ size=40 align=8
+ base size=40 base align=8
+QAbstractPageSetupDialog (0x7f96df9d44d0) 0
+ vptr=((& QAbstractPageSetupDialog::_ZTV24QAbstractPageSetupDialog) + 16u)
+ QDialog (0x7f96df9d4540) 0
+ primary-for QAbstractPageSetupDialog (0x7f96df9d44d0)
+ QWidget (0x7f96df9afd80) 0
+ primary-for QDialog (0x7f96df9d4540)
+ QObject (0x7f96df9d45b0) 0
+ primary-for QWidget (0x7f96df9afd80)
+ QPaintDevice (0x7f96df9d4620) 16
+ vptr=((& QAbstractPageSetupDialog::_ZTV24QAbstractPageSetupDialog) + 496u)
+
+Vtable for QColorDialog
+QColorDialog::_ZTV12QColorDialog: 66u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QColorDialog)
+16 QColorDialog::metaObject
+24 QColorDialog::qt_metacast
+32 QColorDialog::qt_metacall
+40 QColorDialog::~QColorDialog
+48 QColorDialog::~QColorDialog
+56 QWidget::event
+64 QDialog::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QColorDialog::setVisible
+128 QDialog::sizeHint
+136 QDialog::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QDialog::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QWidget::paintEvent
+256 QWidget::moveEvent
+264 QDialog::resizeEvent
+272 QDialog::closeEvent
+280 QDialog::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QDialog::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QColorDialog::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QColorDialog::done
+456 QDialog::accept
+464 QDialog::reject
+472 (int (*)(...))-0x00000000000000010
+480 (int (*)(...))(& _ZTI12QColorDialog)
+488 QColorDialog::_ZThn16_N12QColorDialogD1Ev
+496 QColorDialog::_ZThn16_N12QColorDialogD0Ev
+504 QWidget::_ZThn16_NK7QWidget7devTypeEv
+512 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+520 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QColorDialog
+ size=40 align=8
+ base size=40 base align=8
+QColorDialog (0x7f96df9e9a80) 0
+ vptr=((& QColorDialog::_ZTV12QColorDialog) + 16u)
+ QDialog (0x7f96df9e9af0) 0
+ primary-for QColorDialog (0x7f96df9e9a80)
+ QWidget (0x7f96df9e7680) 0
+ primary-for QDialog (0x7f96df9e9af0)
+ QObject (0x7f96df9e9b60) 0
+ primary-for QWidget (0x7f96df9e7680)
+ QPaintDevice (0x7f96df9e9bd0) 16
+ vptr=((& QColorDialog::_ZTV12QColorDialog) + 488u)
+
+Vtable for QFontDialog
+QFontDialog::_ZTV11QFontDialog: 66u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QFontDialog)
+16 QFontDialog::metaObject
+24 QFontDialog::qt_metacast
+32 QFontDialog::qt_metacall
+40 QFontDialog::~QFontDialog
+48 QFontDialog::~QFontDialog
+56 QWidget::event
+64 QFontDialog::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QFontDialog::setVisible
+128 QDialog::sizeHint
+136 QDialog::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QDialog::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QWidget::paintEvent
+256 QWidget::moveEvent
+264 QDialog::resizeEvent
+272 QDialog::closeEvent
+280 QDialog::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QDialog::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QFontDialog::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QFontDialog::done
+456 QDialog::accept
+464 QDialog::reject
+472 (int (*)(...))-0x00000000000000010
+480 (int (*)(...))(& _ZTI11QFontDialog)
+488 QFontDialog::_ZThn16_N11QFontDialogD1Ev
+496 QFontDialog::_ZThn16_N11QFontDialogD0Ev
+504 QWidget::_ZThn16_NK7QWidget7devTypeEv
+512 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+520 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QFontDialog
+ size=40 align=8
+ base size=40 base align=8
+QFontDialog (0x7f96df835e00) 0
+ vptr=((& QFontDialog::_ZTV11QFontDialog) + 16u)
+ QDialog (0x7f96df835e70) 0
+ primary-for QFontDialog (0x7f96df835e00)
+ QWidget (0x7f96dfa1c900) 0
+ primary-for QDialog (0x7f96df835e70)
+ QObject (0x7f96df835ee0) 0
+ primary-for QWidget (0x7f96dfa1c900)
+ QPaintDevice (0x7f96df835f50) 16
+ vptr=((& QFontDialog::_ZTV11QFontDialog) + 488u)
+
+Vtable for QMessageBox
+QMessageBox::_ZTV11QMessageBox: 66u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QMessageBox)
+16 QMessageBox::metaObject
+24 QMessageBox::qt_metacast
+32 QMessageBox::qt_metacall
+40 QMessageBox::~QMessageBox
+48 QMessageBox::~QMessageBox
+56 QMessageBox::event
+64 QDialog::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QDialog::setVisible
+128 QMessageBox::sizeHint
+136 QDialog::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QMessageBox::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QWidget::paintEvent
+256 QWidget::moveEvent
+264 QMessageBox::resizeEvent
+272 QMessageBox::closeEvent
+280 QDialog::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QMessageBox::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QMessageBox::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QDialog::done
+456 QDialog::accept
+464 QDialog::reject
+472 (int (*)(...))-0x00000000000000010
+480 (int (*)(...))(& _ZTI11QMessageBox)
+488 QMessageBox::_ZThn16_N11QMessageBoxD1Ev
+496 QMessageBox::_ZThn16_N11QMessageBoxD0Ev
+504 QWidget::_ZThn16_NK7QWidget7devTypeEv
+512 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+520 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QMessageBox
+ size=40 align=8
+ base size=40 base align=8
+QMessageBox (0x7f96df8a92a0) 0
+ vptr=((& QMessageBox::_ZTV11QMessageBox) + 16u)
+ QDialog (0x7f96df8a9310) 0
+ primary-for QMessageBox (0x7f96df8a92a0)
+ QWidget (0x7f96df86bb00) 0
+ primary-for QDialog (0x7f96df8a9310)
+ QObject (0x7f96df8a9380) 0
+ primary-for QWidget (0x7f96df86bb00)
+ QPaintDevice (0x7f96df8a93f0) 16
+ vptr=((& QMessageBox::_ZTV11QMessageBox) + 488u)
+
+Vtable for QProgressDialog
+QProgressDialog::_ZTV15QProgressDialog: 66u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QProgressDialog)
+16 QProgressDialog::metaObject
+24 QProgressDialog::qt_metacast
+32 QProgressDialog::qt_metacall
+40 QProgressDialog::~QProgressDialog
+48 QProgressDialog::~QProgressDialog
+56 QWidget::event
+64 QDialog::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QDialog::setVisible
+128 QProgressDialog::sizeHint
+136 QDialog::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QDialog::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QWidget::paintEvent
+256 QWidget::moveEvent
+264 QProgressDialog::resizeEvent
+272 QProgressDialog::closeEvent
+280 QDialog::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QProgressDialog::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QProgressDialog::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QDialog::done
+456 QDialog::accept
+464 QDialog::reject
+472 (int (*)(...))-0x00000000000000010
+480 (int (*)(...))(& _ZTI15QProgressDialog)
+488 QProgressDialog::_ZThn16_N15QProgressDialogD1Ev
+496 QProgressDialog::_ZThn16_N15QProgressDialogD0Ev
+504 QWidget::_ZThn16_NK7QWidget7devTypeEv
+512 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+520 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QProgressDialog
+ size=40 align=8
+ base size=40 base align=8
+QProgressDialog (0x7f96df925bd0) 0
+ vptr=((& QProgressDialog::_ZTV15QProgressDialog) + 16u)
+ QDialog (0x7f96df925c40) 0
+ primary-for QProgressDialog (0x7f96df925bd0)
+ QWidget (0x7f96df73a100) 0
+ primary-for QDialog (0x7f96df925c40)
+ QObject (0x7f96df925cb0) 0
+ primary-for QWidget (0x7f96df73a100)
+ QPaintDevice (0x7f96df925d20) 16
+ vptr=((& QProgressDialog::_ZTV15QProgressDialog) + 488u)
+
+Vtable for QErrorMessage
+QErrorMessage::_ZTV13QErrorMessage: 66u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QErrorMessage)
+16 QErrorMessage::metaObject
+24 QErrorMessage::qt_metacast
+32 QErrorMessage::qt_metacall
+40 QErrorMessage::~QErrorMessage
+48 QErrorMessage::~QErrorMessage
+56 QWidget::event
+64 QDialog::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QDialog::setVisible
+128 QDialog::sizeHint
+136 QDialog::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QDialog::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QWidget::paintEvent
+256 QWidget::moveEvent
+264 QDialog::resizeEvent
+272 QDialog::closeEvent
+280 QDialog::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QDialog::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QErrorMessage::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QErrorMessage::done
+456 QDialog::accept
+464 QDialog::reject
+472 (int (*)(...))-0x00000000000000010
+480 (int (*)(...))(& _ZTI13QErrorMessage)
+488 QErrorMessage::_ZThn16_N13QErrorMessageD1Ev
+496 QErrorMessage::_ZThn16_N13QErrorMessageD0Ev
+504 QWidget::_ZThn16_NK7QWidget7devTypeEv
+512 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+520 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QErrorMessage
+ size=40 align=8
+ base size=40 base align=8
+QErrorMessage (0x7f96df75d7e0) 0
+ vptr=((& QErrorMessage::_ZTV13QErrorMessage) + 16u)
+ QDialog (0x7f96df75d850) 0
+ primary-for QErrorMessage (0x7f96df75d7e0)
+ QWidget (0x7f96df73aa00) 0
+ primary-for QDialog (0x7f96df75d850)
+ QObject (0x7f96df75d8c0) 0
+ primary-for QWidget (0x7f96df73aa00)
+ QPaintDevice (0x7f96df75d930) 16
+ vptr=((& QErrorMessage::_ZTV13QErrorMessage) + 488u)
+
+Vtable for QPrintPreviewDialog
+QPrintPreviewDialog::_ZTV19QPrintPreviewDialog: 66u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QPrintPreviewDialog)
+16 QPrintPreviewDialog::metaObject
+24 QPrintPreviewDialog::qt_metacast
+32 QPrintPreviewDialog::qt_metacall
+40 QPrintPreviewDialog::~QPrintPreviewDialog
+48 QPrintPreviewDialog::~QPrintPreviewDialog
+56 QWidget::event
+64 QDialog::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QPrintPreviewDialog::setVisible
+128 QDialog::sizeHint
+136 QDialog::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QDialog::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QWidget::paintEvent
+256 QWidget::moveEvent
+264 QDialog::resizeEvent
+272 QDialog::closeEvent
+280 QDialog::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QDialog::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QWidget::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QPrintPreviewDialog::done
+456 QDialog::accept
+464 QDialog::reject
+472 (int (*)(...))-0x00000000000000010
+480 (int (*)(...))(& _ZTI19QPrintPreviewDialog)
+488 QPrintPreviewDialog::_ZThn16_N19QPrintPreviewDialogD1Ev
+496 QPrintPreviewDialog::_ZThn16_N19QPrintPreviewDialogD0Ev
+504 QWidget::_ZThn16_NK7QWidget7devTypeEv
+512 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+520 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QPrintPreviewDialog
+ size=48 align=8
+ base size=48 base align=8
+QPrintPreviewDialog (0x7f96df77a3f0) 0
+ vptr=((& QPrintPreviewDialog::_ZTV19QPrintPreviewDialog) + 16u)
+ QDialog (0x7f96df77a460) 0
+ primary-for QPrintPreviewDialog (0x7f96df77a3f0)
+ QWidget (0x7f96df776480) 0
+ primary-for QDialog (0x7f96df77a460)
+ QObject (0x7f96df77a4d0) 0
+ primary-for QWidget (0x7f96df776480)
+ QPaintDevice (0x7f96df77a540) 16
+ vptr=((& QPrintPreviewDialog::_ZTV19QPrintPreviewDialog) + 488u)
+
+Vtable for QFileDialog
+QFileDialog::_ZTV11QFileDialog: 66u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QFileDialog)
+16 QFileDialog::metaObject
+24 QFileDialog::qt_metacast
+32 QFileDialog::qt_metacall
+40 QFileDialog::~QFileDialog
+48 QFileDialog::~QFileDialog
+56 QWidget::event
+64 QDialog::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QFileDialog::setVisible
+128 QDialog::sizeHint
+136 QDialog::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QDialog::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QWidget::paintEvent
+256 QWidget::moveEvent
+264 QDialog::resizeEvent
+272 QDialog::closeEvent
+280 QDialog::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QDialog::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QFileDialog::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QFileDialog::done
+456 QFileDialog::accept
+464 QDialog::reject
+472 (int (*)(...))-0x00000000000000010
+480 (int (*)(...))(& _ZTI11QFileDialog)
+488 QFileDialog::_ZThn16_N11QFileDialogD1Ev
+496 QFileDialog::_ZThn16_N11QFileDialogD0Ev
+504 QWidget::_ZThn16_NK7QWidget7devTypeEv
+512 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+520 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QFileDialog
+ size=40 align=8
+ base size=40 base align=8
+QFileDialog (0x7f96df791a80) 0
+ vptr=((& QFileDialog::_ZTV11QFileDialog) + 16u)
+ QDialog (0x7f96df791af0) 0
+ primary-for QFileDialog (0x7f96df791a80)
+ QWidget (0x7f96df776d80) 0
+ primary-for QDialog (0x7f96df791af0)
+ QObject (0x7f96df791b60) 0
+ primary-for QWidget (0x7f96df776d80)
+ QPaintDevice (0x7f96df791bd0) 16
+ vptr=((& QFileDialog::_ZTV11QFileDialog) + 488u)
+
+Vtable for QAbstractPrintDialog
+QAbstractPrintDialog::_ZTV20QAbstractPrintDialog: 67u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI20QAbstractPrintDialog)
+16 QAbstractPrintDialog::metaObject
+24 QAbstractPrintDialog::qt_metacast
+32 QAbstractPrintDialog::qt_metacall
+40 QAbstractPrintDialog::~QAbstractPrintDialog
+48 QAbstractPrintDialog::~QAbstractPrintDialog
+56 QWidget::event
+64 QDialog::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QDialog::setVisible
+128 QDialog::sizeHint
+136 QDialog::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QDialog::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QWidget::paintEvent
+256 QWidget::moveEvent
+264 QDialog::resizeEvent
+272 QDialog::closeEvent
+280 QDialog::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QDialog::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QWidget::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QDialog::done
+456 QDialog::accept
+464 QDialog::reject
+472 __cxa_pure_virtual
+480 (int (*)(...))-0x00000000000000010
+488 (int (*)(...))(& _ZTI20QAbstractPrintDialog)
+496 QAbstractPrintDialog::_ZThn16_N20QAbstractPrintDialogD1Ev
+504 QAbstractPrintDialog::_ZThn16_N20QAbstractPrintDialogD0Ev
+512 QWidget::_ZThn16_NK7QWidget7devTypeEv
+520 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+528 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QAbstractPrintDialog
+ size=40 align=8
+ base size=40 base align=8
+QAbstractPrintDialog (0x7f96df826070) 0
+ vptr=((& QAbstractPrintDialog::_ZTV20QAbstractPrintDialog) + 16u)
+ QDialog (0x7f96df8260e0) 0
+ primary-for QAbstractPrintDialog (0x7f96df826070)
+ QWidget (0x7f96df824200) 0
+ primary-for QDialog (0x7f96df8260e0)
+ QObject (0x7f96df826150) 0
+ primary-for QWidget (0x7f96df824200)
+ QPaintDevice (0x7f96df8261c0) 16
+ vptr=((& QAbstractPrintDialog::_ZTV20QAbstractPrintDialog) + 496u)
+
+Vtable for QUnixPrintWidget
+QUnixPrintWidget::_ZTV16QUnixPrintWidget: 63u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QUnixPrintWidget)
+16 QUnixPrintWidget::metaObject
+24 QUnixPrintWidget::qt_metacast
+32 QUnixPrintWidget::qt_metacall
+40 QUnixPrintWidget::~QUnixPrintWidget
+48 QUnixPrintWidget::~QUnixPrintWidget
+56 QWidget::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QWidget::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QWidget::paintEvent
+256 QWidget::moveEvent
+264 QWidget::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QWidget::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 (int (*)(...))-0x00000000000000010
+456 (int (*)(...))(& _ZTI16QUnixPrintWidget)
+464 QUnixPrintWidget::_ZThn16_N16QUnixPrintWidgetD1Ev
+472 QUnixPrintWidget::_ZThn16_N16QUnixPrintWidgetD0Ev
+480 QWidget::_ZThn16_NK7QWidget7devTypeEv
+488 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+496 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QUnixPrintWidget
+ size=48 align=8
+ base size=48 base align=8
+QUnixPrintWidget (0x7f96df681150) 0
+ vptr=((& QUnixPrintWidget::_ZTV16QUnixPrintWidget) + 16u)
+ QWidget (0x7f96df650580) 0
+ primary-for QUnixPrintWidget (0x7f96df681150)
+ QObject (0x7f96df6811c0) 0
+ primary-for QWidget (0x7f96df650580)
+ QPaintDevice (0x7f96df681230) 16
+ vptr=((& QUnixPrintWidget::_ZTV16QUnixPrintWidget) + 464u)
+
+Vtable for QPrintDialog
+QPrintDialog::_ZTV12QPrintDialog: 67u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QPrintDialog)
+16 QPrintDialog::metaObject
+24 QPrintDialog::qt_metacast
+32 QPrintDialog::qt_metacall
+40 QPrintDialog::~QPrintDialog
+48 QPrintDialog::~QPrintDialog
+56 QWidget::event
+64 QDialog::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QPrintDialog::setVisible
+128 QDialog::sizeHint
+136 QDialog::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QDialog::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QWidget::paintEvent
+256 QWidget::moveEvent
+264 QDialog::resizeEvent
+272 QDialog::closeEvent
+280 QDialog::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QDialog::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QWidget::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QPrintDialog::done
+456 QPrintDialog::accept
+464 QDialog::reject
+472 QPrintDialog::exec
+480 (int (*)(...))-0x00000000000000010
+488 (int (*)(...))(& _ZTI12QPrintDialog)
+496 QPrintDialog::_ZThn16_N12QPrintDialogD1Ev
+504 QPrintDialog::_ZThn16_N12QPrintDialogD0Ev
+512 QWidget::_ZThn16_NK7QWidget7devTypeEv
+520 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+528 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QPrintDialog
+ size=40 align=8
+ base size=40 base align=8
+QPrintDialog (0x7f96df696070) 0
+ vptr=((& QPrintDialog::_ZTV12QPrintDialog) + 16u)
+ QAbstractPrintDialog (0x7f96df6960e0) 0
+ primary-for QPrintDialog (0x7f96df696070)
+ QDialog (0x7f96df696150) 0
+ primary-for QAbstractPrintDialog (0x7f96df6960e0)
+ QWidget (0x7f96df650c80) 0
+ primary-for QDialog (0x7f96df696150)
+ QObject (0x7f96df6961c0) 0
+ primary-for QWidget (0x7f96df650c80)
+ QPaintDevice (0x7f96df696230) 16
+ vptr=((& QPrintDialog::_ZTV12QPrintDialog) + 496u)
+
+Vtable for QWizard
+QWizard::_ZTV7QWizard: 70u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QWizard)
+16 QWizard::metaObject
+24 QWizard::qt_metacast
+32 QWizard::qt_metacall
+40 QWizard::~QWizard
+48 QWizard::~QWizard
+56 QWizard::event
+64 QDialog::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWizard::setVisible
+128 QWizard::sizeHint
+136 QDialog::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QDialog::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QWizard::paintEvent
+256 QWidget::moveEvent
+264 QWizard::resizeEvent
+272 QDialog::closeEvent
+280 QDialog::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QDialog::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QWidget::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QWizard::done
+456 QDialog::accept
+464 QDialog::reject
+472 QWizard::validateCurrentPage
+480 QWizard::nextId
+488 QWizard::initializePage
+496 QWizard::cleanupPage
+504 (int (*)(...))-0x00000000000000010
+512 (int (*)(...))(& _ZTI7QWizard)
+520 QWizard::_ZThn16_N7QWizardD1Ev
+528 QWizard::_ZThn16_N7QWizardD0Ev
+536 QWidget::_ZThn16_NK7QWidget7devTypeEv
+544 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+552 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QWizard
+ size=40 align=8
+ base size=40 base align=8
+QWizard (0x7f96df6aebd0) 0
+ vptr=((& QWizard::_ZTV7QWizard) + 16u)
+ QDialog (0x7f96df6aec40) 0
+ primary-for QWizard (0x7f96df6aebd0)
+ QWidget (0x7f96df6a9580) 0
+ primary-for QDialog (0x7f96df6aec40)
+ QObject (0x7f96df6aecb0) 0
+ primary-for QWidget (0x7f96df6a9580)
+ QPaintDevice (0x7f96df6aed20) 16
+ vptr=((& QWizard::_ZTV7QWizard) + 520u)
+
+Vtable for QWizardPage
+QWizardPage::_ZTV11QWizardPage: 68u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QWizardPage)
+16 QWizardPage::metaObject
+24 QWizardPage::qt_metacast
+32 QWizardPage::qt_metacall
+40 QWizardPage::~QWizardPage
+48 QWizardPage::~QWizardPage
+56 QWidget::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QWidget::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QWidget::paintEvent
+256 QWidget::moveEvent
+264 QWidget::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QWidget::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QWizardPage::initializePage
+456 QWizardPage::cleanupPage
+464 QWizardPage::validatePage
+472 QWizardPage::isComplete
+480 QWizardPage::nextId
+488 (int (*)(...))-0x00000000000000010
+496 (int (*)(...))(& _ZTI11QWizardPage)
+504 QWizardPage::_ZThn16_N11QWizardPageD1Ev
+512 QWizardPage::_ZThn16_N11QWizardPageD0Ev
+520 QWidget::_ZThn16_NK7QWidget7devTypeEv
+528 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+536 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QWizardPage
+ size=40 align=8
+ base size=40 base align=8
+QWizardPage (0x7f96df704f50) 0
+ vptr=((& QWizardPage::_ZTV11QWizardPage) + 16u)
+ QWidget (0x7f96df6e2780) 0
+ primary-for QWizardPage (0x7f96df704f50)
+ QObject (0x7f96df71f000) 0
+ primary-for QWidget (0x7f96df6e2780)
+ QPaintDevice (0x7f96df71f070) 16
+ vptr=((& QWizardPage::_ZTV11QWizardPage) + 504u)
+
+Vtable for QPageSetupDialog
+QPageSetupDialog::_ZTV16QPageSetupDialog: 67u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QPageSetupDialog)
+16 QPageSetupDialog::metaObject
+24 QPageSetupDialog::qt_metacast
+32 QPageSetupDialog::qt_metacall
+40 QPageSetupDialog::~QPageSetupDialog
+48 QPageSetupDialog::~QPageSetupDialog
+56 QWidget::event
+64 QDialog::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QDialog::setVisible
+128 QDialog::sizeHint
+136 QDialog::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QDialog::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QWidget::paintEvent
+256 QWidget::moveEvent
+264 QDialog::resizeEvent
+272 QDialog::closeEvent
+280 QDialog::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QDialog::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QWidget::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QAbstractPageSetupDialog::done
+456 QDialog::accept
+464 QDialog::reject
+472 QPageSetupDialog::exec
+480 (int (*)(...))-0x00000000000000010
+488 (int (*)(...))(& _ZTI16QPageSetupDialog)
+496 QPageSetupDialog::_ZThn16_N16QPageSetupDialogD1Ev
+504 QPageSetupDialog::_ZThn16_N16QPageSetupDialogD0Ev
+512 QWidget::_ZThn16_NK7QWidget7devTypeEv
+520 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+528 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QPageSetupDialog
+ size=40 align=8
+ base size=40 base align=8
+QPageSetupDialog (0x7f96df537a80) 0
+ vptr=((& QPageSetupDialog::_ZTV16QPageSetupDialog) + 16u)
+ QAbstractPageSetupDialog (0x7f96df537af0) 0
+ primary-for QPageSetupDialog (0x7f96df537a80)
+ QDialog (0x7f96df537b60) 0
+ primary-for QAbstractPageSetupDialog (0x7f96df537af0)
+ QWidget (0x7f96df53c080) 0
+ primary-for QDialog (0x7f96df537b60)
+ QObject (0x7f96df537bd0) 0
+ primary-for QWidget (0x7f96df53c080)
+ QPaintDevice (0x7f96df537c40) 16
+ vptr=((& QPageSetupDialog::_ZTV16QPageSetupDialog) + 496u)
+
+Vtable for QLineEdit
+QLineEdit::_ZTV9QLineEdit: 63u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QLineEdit)
+16 QLineEdit::metaObject
+24 QLineEdit::qt_metacast
+32 QLineEdit::qt_metacall
+40 QLineEdit::~QLineEdit
+48 QLineEdit::~QLineEdit
+56 QLineEdit::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QLineEdit::sizeHint
+136 QLineEdit::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QLineEdit::mousePressEvent
+168 QLineEdit::mouseReleaseEvent
+176 QLineEdit::mouseDoubleClickEvent
+184 QLineEdit::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QLineEdit::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QLineEdit::focusInEvent
+224 QLineEdit::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QLineEdit::paintEvent
+256 QWidget::moveEvent
+264 QWidget::resizeEvent
+272 QWidget::closeEvent
+280 QLineEdit::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QLineEdit::dragEnterEvent
+312 QLineEdit::dragMoveEvent
+320 QLineEdit::dragLeaveEvent
+328 QLineEdit::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QLineEdit::changeEvent
+368 QWidget::metric
+376 QLineEdit::inputMethodEvent
+384 QLineEdit::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 (int (*)(...))-0x00000000000000010
+456 (int (*)(...))(& _ZTI9QLineEdit)
+464 QLineEdit::_ZThn16_N9QLineEditD1Ev
+472 QLineEdit::_ZThn16_N9QLineEditD0Ev
+480 QWidget::_ZThn16_NK7QWidget7devTypeEv
+488 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+496 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QLineEdit
+ size=40 align=8
+ base size=40 base align=8
+QLineEdit (0x7f96df555a10) 0
+ vptr=((& QLineEdit::_ZTV9QLineEdit) + 16u)
+ QWidget (0x7f96df53cb00) 0
+ primary-for QLineEdit (0x7f96df555a10)
+ QObject (0x7f96df555a80) 0
+ primary-for QWidget (0x7f96df53cb00)
+ QPaintDevice (0x7f96df555af0) 16
+ vptr=((& QLineEdit::_ZTV9QLineEdit) + 464u)
+
+Vtable for QInputDialog
+QInputDialog::_ZTV12QInputDialog: 66u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QInputDialog)
+16 QInputDialog::metaObject
+24 QInputDialog::qt_metacast
+32 QInputDialog::qt_metacall
+40 QInputDialog::~QInputDialog
+48 QInputDialog::~QInputDialog
+56 QWidget::event
+64 QDialog::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QInputDialog::setVisible
+128 QInputDialog::sizeHint
+136 QInputDialog::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QDialog::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QWidget::paintEvent
+256 QWidget::moveEvent
+264 QDialog::resizeEvent
+272 QDialog::closeEvent
+280 QDialog::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QDialog::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QWidget::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QInputDialog::done
+456 QDialog::accept
+464 QDialog::reject
+472 (int (*)(...))-0x00000000000000010
+480 (int (*)(...))(& _ZTI12QInputDialog)
+488 QInputDialog::_ZThn16_N12QInputDialogD1Ev
+496 QInputDialog::_ZThn16_N12QInputDialogD0Ev
+504 QWidget::_ZThn16_NK7QWidget7devTypeEv
+512 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+520 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QInputDialog
+ size=40 align=8
+ base size=40 base align=8
+QInputDialog (0x7f96df5a6930) 0
+ vptr=((& QInputDialog::_ZTV12QInputDialog) + 16u)
+ QDialog (0x7f96df5a69a0) 0
+ primary-for QInputDialog (0x7f96df5a6930)
+ QWidget (0x7f96df5a3980) 0
+ primary-for QDialog (0x7f96df5a69a0)
+ QObject (0x7f96df5a6a10) 0
+ primary-for QWidget (0x7f96df5a3980)
+ QPaintDevice (0x7f96df5a6a80) 16
+ vptr=((& QInputDialog::_ZTV12QInputDialog) + 488u)
+
+Vtable for QFileSystemModel
+QFileSystemModel::_ZTV16QFileSystemModel: 42u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QFileSystemModel)
+16 QFileSystemModel::metaObject
+24 QFileSystemModel::qt_metacast
+32 QFileSystemModel::qt_metacall
+40 QFileSystemModel::~QFileSystemModel
+48 QFileSystemModel::~QFileSystemModel
+56 QFileSystemModel::event
+64 QObject::eventFilter
+72 QFileSystemModel::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QFileSystemModel::index
+120 QFileSystemModel::parent
+128 QFileSystemModel::rowCount
+136 QFileSystemModel::columnCount
+144 QFileSystemModel::hasChildren
+152 QFileSystemModel::data
+160 QFileSystemModel::setData
+168 QFileSystemModel::headerData
+176 QAbstractItemModel::setHeaderData
+184 QAbstractItemModel::itemData
+192 QAbstractItemModel::setItemData
+200 QFileSystemModel::mimeTypes
+208 QFileSystemModel::mimeData
+216 QFileSystemModel::dropMimeData
+224 QFileSystemModel::supportedDropActions
+232 QAbstractItemModel::insertRows
+240 QAbstractItemModel::insertColumns
+248 QAbstractItemModel::removeRows
+256 QAbstractItemModel::removeColumns
+264 QFileSystemModel::fetchMore
+272 QFileSystemModel::canFetchMore
+280 QFileSystemModel::flags
+288 QFileSystemModel::sort
+296 QAbstractItemModel::buddy
+304 QAbstractItemModel::match
+312 QAbstractItemModel::span
+320 QAbstractItemModel::submit
+328 QAbstractItemModel::revert
+
+Class QFileSystemModel
+ size=16 align=8
+ base size=16 base align=8
+QFileSystemModel (0x7f96df6087e0) 0
+ vptr=((& QFileSystemModel::_ZTV16QFileSystemModel) + 16u)
+ QAbstractItemModel (0x7f96df608850) 0
+ primary-for QFileSystemModel (0x7f96df6087e0)
+ QObject (0x7f96df6088c0) 0
+ primary-for QAbstractItemModel (0x7f96df608850)
+
+Class QPixmapCache
+ size=1 align=1
+ base size=0 base align=1
+QPixmapCache (0x7f96df44dee0) 0 empty
+
+Vtable for QImageIOHandler
+QImageIOHandler::_ZTV15QImageIOHandler: 18u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QImageIOHandler)
+16 QImageIOHandler::~QImageIOHandler
+24 QImageIOHandler::~QImageIOHandler
+32 QImageIOHandler::name
+40 __cxa_pure_virtual
+48 __cxa_pure_virtual
+56 QImageIOHandler::write
+64 QImageIOHandler::option
+72 QImageIOHandler::setOption
+80 QImageIOHandler::supportsOption
+88 QImageIOHandler::jumpToNextImage
+96 QImageIOHandler::jumpToImage
+104 QImageIOHandler::loopCount
+112 QImageIOHandler::imageCount
+120 QImageIOHandler::nextImageDelay
+128 QImageIOHandler::currentImageNumber
+136 QImageIOHandler::currentImageRect
+
+Class QImageIOHandler
+ size=16 align=8
+ base size=16 base align=8
+QImageIOHandler (0x7f96df44df50) 0
+ vptr=((& QImageIOHandler::_ZTV15QImageIOHandler) + 16u)
+
+Vtable for QImageIOHandlerFactoryInterface
+QImageIOHandlerFactoryInterface::_ZTV31QImageIOHandlerFactoryInterface: 6u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI31QImageIOHandlerFactoryInterface)
+16 QImageIOHandlerFactoryInterface::~QImageIOHandlerFactoryInterface
+24 QImageIOHandlerFactoryInterface::~QImageIOHandlerFactoryInterface
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+
+Class QImageIOHandlerFactoryInterface
+ size=8 align=8
+ base size=8 base align=8
+QImageIOHandlerFactoryInterface (0x7f96df45eb60) 0 nearly-empty
+ vptr=((& QImageIOHandlerFactoryInterface::_ZTV31QImageIOHandlerFactoryInterface) + 16u)
+ QFactoryInterface (0x7f96df45ebd0) 0 nearly-empty
+ primary-for QImageIOHandlerFactoryInterface (0x7f96df45eb60)
+
+Vtable for QImageIOPlugin
+QImageIOPlugin::_ZTV14QImageIOPlugin: 23u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QImageIOPlugin)
+16 QImageIOPlugin::metaObject
+24 QImageIOPlugin::qt_metacast
+32 QImageIOPlugin::qt_metacall
+40 QImageIOPlugin::~QImageIOPlugin
+48 QImageIOPlugin::~QImageIOPlugin
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 __cxa_pure_virtual
+136 (int (*)(...))-0x00000000000000010
+144 (int (*)(...))(& _ZTI14QImageIOPlugin)
+152 QImageIOPlugin::_ZThn16_N14QImageIOPluginD1Ev
+160 QImageIOPlugin::_ZThn16_N14QImageIOPluginD0Ev
+168 __cxa_pure_virtual
+176 __cxa_pure_virtual
+
+Class QImageIOPlugin
+ size=24 align=8
+ base size=24 base align=8
+QImageIOPlugin (0x7f96df462b00) 0
+ vptr=((& QImageIOPlugin::_ZTV14QImageIOPlugin) + 16u)
+ QObject (0x7f96df4723f0) 0
+ primary-for QImageIOPlugin (0x7f96df462b00)
+ QImageIOHandlerFactoryInterface (0x7f96df472460) 16 nearly-empty
+ vptr=((& QImageIOPlugin::_ZTV14QImageIOPlugin) + 152u)
+ QFactoryInterface (0x7f96df4724d0) 16 nearly-empty
+ primary-for QImageIOHandlerFactoryInterface (0x7f96df472460)
+
+Vtable for QPicture
+QPicture::_ZTV8QPicture: 8u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI8QPicture)
+16 QPicture::~QPicture
+24 QPicture::~QPicture
+32 QPicture::devType
+40 QPicture::paintEngine
+48 QPicture::metric
+56 QPicture::setData
+
+Class QPicture
+ size=24 align=8
+ base size=24 base align=8
+QPicture (0x7f96df4c54d0) 0
+ vptr=((& QPicture::_ZTV8QPicture) + 16u)
+ QPaintDevice (0x7f96df4c5540) 0
+ primary-for QPicture (0x7f96df4c54d0)
+
+Class QPictureIO
+ size=8 align=8
+ base size=8 base align=8
+QPictureIO (0x7f96df4de070) 0
+
+Class QImageReader
+ size=8 align=8
+ base size=8 base align=8
+QImageReader (0x7f96df4de690) 0
+
+Class QImageWriter
+ size=8 align=8
+ base size=8 base align=8
+QImageWriter (0x7f96df4fb0e0) 0
+
+Vtable for QMovie
+QMovie::_ZTV6QMovie: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI6QMovie)
+16 QMovie::metaObject
+24 QMovie::qt_metacast
+32 QMovie::qt_metacall
+40 QMovie::~QMovie
+48 QMovie::~QMovie
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QMovie
+ size=16 align=8
+ base size=16 base align=8
+QMovie (0x7f96df4fb930) 0
+ vptr=((& QMovie::_ZTV6QMovie) + 16u)
+ QObject (0x7f96df4fb9a0) 0
+ primary-for QMovie (0x7f96df4fb930)
+
+Vtable for QIconEngineFactoryInterface
+QIconEngineFactoryInterface::_ZTV27QIconEngineFactoryInterface: 6u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI27QIconEngineFactoryInterface)
+16 QIconEngineFactoryInterface::~QIconEngineFactoryInterface
+24 QIconEngineFactoryInterface::~QIconEngineFactoryInterface
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+
+Class QIconEngineFactoryInterface
+ size=8 align=8
+ base size=8 base align=8
+QIconEngineFactoryInterface (0x7f96df3419a0) 0 nearly-empty
+ vptr=((& QIconEngineFactoryInterface::_ZTV27QIconEngineFactoryInterface) + 16u)
+ QFactoryInterface (0x7f96df341a10) 0 nearly-empty
+ primary-for QIconEngineFactoryInterface (0x7f96df3419a0)
+
+Vtable for QIconEnginePlugin
+QIconEnginePlugin::_ZTV17QIconEnginePlugin: 22u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QIconEnginePlugin)
+16 QIconEnginePlugin::metaObject
+24 QIconEnginePlugin::qt_metacast
+32 QIconEnginePlugin::qt_metacall
+40 QIconEnginePlugin::~QIconEnginePlugin
+48 QIconEnginePlugin::~QIconEnginePlugin
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 (int (*)(...))-0x00000000000000010
+136 (int (*)(...))(& _ZTI17QIconEnginePlugin)
+144 QIconEnginePlugin::_ZThn16_N17QIconEnginePluginD1Ev
+152 QIconEnginePlugin::_ZThn16_N17QIconEnginePluginD0Ev
+160 __cxa_pure_virtual
+168 __cxa_pure_virtual
+
+Class QIconEnginePlugin
+ size=24 align=8
+ base size=24 base align=8
+QIconEnginePlugin (0x7f96df33fe80) 0
+ vptr=((& QIconEnginePlugin::_ZTV17QIconEnginePlugin) + 16u)
+ QObject (0x7f96df349230) 0
+ primary-for QIconEnginePlugin (0x7f96df33fe80)
+ QIconEngineFactoryInterface (0x7f96df3492a0) 16 nearly-empty
+ vptr=((& QIconEnginePlugin::_ZTV17QIconEnginePlugin) + 144u)
+ QFactoryInterface (0x7f96df349310) 16 nearly-empty
+ primary-for QIconEngineFactoryInterface (0x7f96df3492a0)
+
+Vtable for QIconEngineFactoryInterfaceV2
+QIconEngineFactoryInterfaceV2::_ZTV29QIconEngineFactoryInterfaceV2: 6u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI29QIconEngineFactoryInterfaceV2)
+16 QIconEngineFactoryInterfaceV2::~QIconEngineFactoryInterfaceV2
+24 QIconEngineFactoryInterfaceV2::~QIconEngineFactoryInterfaceV2
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+
+Class QIconEngineFactoryInterfaceV2
+ size=8 align=8
+ base size=8 base align=8
+QIconEngineFactoryInterfaceV2 (0x7f96df35a1c0) 0 nearly-empty
+ vptr=((& QIconEngineFactoryInterfaceV2::_ZTV29QIconEngineFactoryInterfaceV2) + 16u)
+ QFactoryInterface (0x7f96df35a230) 0 nearly-empty
+ primary-for QIconEngineFactoryInterfaceV2 (0x7f96df35a1c0)
+
+Vtable for QIconEnginePluginV2
+QIconEnginePluginV2::_ZTV19QIconEnginePluginV2: 22u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QIconEnginePluginV2)
+16 QIconEnginePluginV2::metaObject
+24 QIconEnginePluginV2::qt_metacast
+32 QIconEnginePluginV2::qt_metacall
+40 QIconEnginePluginV2::~QIconEnginePluginV2
+48 QIconEnginePluginV2::~QIconEnginePluginV2
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 (int (*)(...))-0x00000000000000010
+136 (int (*)(...))(& _ZTI19QIconEnginePluginV2)
+144 QIconEnginePluginV2::_ZThn16_N19QIconEnginePluginV2D1Ev
+152 QIconEnginePluginV2::_ZThn16_N19QIconEnginePluginV2D0Ev
+160 __cxa_pure_virtual
+168 __cxa_pure_virtual
+
+Class QIconEnginePluginV2
+ size=24 align=8
+ base size=24 base align=8
+QIconEnginePluginV2 (0x7f96df353d00) 0
+ vptr=((& QIconEnginePluginV2::_ZTV19QIconEnginePluginV2) + 16u)
+ QObject (0x7f96df35aaf0) 0
+ primary-for QIconEnginePluginV2 (0x7f96df353d00)
+ QIconEngineFactoryInterfaceV2 (0x7f96df35ab60) 16 nearly-empty
+ vptr=((& QIconEnginePluginV2::_ZTV19QIconEnginePluginV2) + 144u)
+ QFactoryInterface (0x7f96df35abd0) 16 nearly-empty
+ primary-for QIconEngineFactoryInterfaceV2 (0x7f96df35ab60)
+
+Vtable for QIconEngine
+QIconEngine::_ZTV11QIconEngine: 9u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QIconEngine)
+16 QIconEngine::~QIconEngine
+24 QIconEngine::~QIconEngine
+32 __cxa_pure_virtual
+40 QIconEngine::actualSize
+48 QIconEngine::pixmap
+56 QIconEngine::addPixmap
+64 QIconEngine::addFile
+
+Class QIconEngine
+ size=8 align=8
+ base size=8 base align=8
+QIconEngine (0x7f96df370a80) 0 nearly-empty
+ vptr=((& QIconEngine::_ZTV11QIconEngine) + 16u)
+
+Class QIconEngineV2::AvailableSizesArgument
+ size=16 align=8
+ base size=16 base align=8
+QIconEngineV2::AvailableSizesArgument (0x7f96df37b2a0) 0
+
+Vtable for QIconEngineV2
+QIconEngineV2::_ZTV13QIconEngineV2: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QIconEngineV2)
+16 QIconEngineV2::~QIconEngineV2
+24 QIconEngineV2::~QIconEngineV2
+32 __cxa_pure_virtual
+40 QIconEngine::actualSize
+48 QIconEngine::pixmap
+56 QIconEngine::addPixmap
+64 QIconEngine::addFile
+72 QIconEngineV2::key
+80 QIconEngineV2::clone
+88 QIconEngineV2::read
+96 QIconEngineV2::write
+104 QIconEngineV2::virtual_hook
+
+Class QIconEngineV2
+ size=8 align=8
+ base size=8 base align=8
+QIconEngineV2 (0x7f96df37b070) 0 nearly-empty
+ vptr=((& QIconEngineV2::_ZTV13QIconEngineV2) + 16u)
+ QIconEngine (0x7f96df37b0e0) 0 nearly-empty
+ primary-for QIconEngineV2 (0x7f96df37b070)
+
+Vtable for QBitmap
+QBitmap::_ZTV7QBitmap: 7u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QBitmap)
+16 QBitmap::~QBitmap
+24 QBitmap::~QBitmap
+32 QPixmap::devType
+40 QPixmap::paintEngine
+48 QPixmap::metric
+
+Class QBitmap
+ size=24 align=8
+ base size=24 base align=8
+QBitmap (0x7f96df37ba80) 0
+ vptr=((& QBitmap::_ZTV7QBitmap) + 16u)
+ QPixmap (0x7f96df37baf0) 0
+ primary-for QBitmap (0x7f96df37ba80)
+ QPaintDevice (0x7f96df37bb60) 0
+ primary-for QPixmap (0x7f96df37baf0)
+
+Vtable for QPictureFormatInterface
+QPictureFormatInterface::_ZTV23QPictureFormatInterface: 8u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI23QPictureFormatInterface)
+16 QPictureFormatInterface::~QPictureFormatInterface
+24 QPictureFormatInterface::~QPictureFormatInterface
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+48 __cxa_pure_virtual
+56 __cxa_pure_virtual
+
+Class QPictureFormatInterface
+ size=8 align=8
+ base size=8 base align=8
+QPictureFormatInterface (0x7f96df3d5bd0) 0 nearly-empty
+ vptr=((& QPictureFormatInterface::_ZTV23QPictureFormatInterface) + 16u)
+ QFactoryInterface (0x7f96df3d5c40) 0 nearly-empty
+ primary-for QPictureFormatInterface (0x7f96df3d5bd0)
+
+Vtable for QPictureFormatPlugin
+QPictureFormatPlugin::_ZTV20QPictureFormatPlugin: 26u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI20QPictureFormatPlugin)
+16 QPictureFormatPlugin::metaObject
+24 QPictureFormatPlugin::qt_metacast
+32 QPictureFormatPlugin::qt_metacall
+40 QPictureFormatPlugin::~QPictureFormatPlugin
+48 QPictureFormatPlugin::~QPictureFormatPlugin
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+120 QPictureFormatPlugin::loadPicture
+128 QPictureFormatPlugin::savePicture
+136 __cxa_pure_virtual
+144 (int (*)(...))-0x00000000000000010
+152 (int (*)(...))(& _ZTI20QPictureFormatPlugin)
+160 QPictureFormatPlugin::_ZThn16_N20QPictureFormatPluginD1Ev
+168 QPictureFormatPlugin::_ZThn16_N20QPictureFormatPluginD0Ev
+176 __cxa_pure_virtual
+184 QPictureFormatPlugin::_ZThn16_N20QPictureFormatPlugin11loadPictureERK7QStringS2_P8QPicture
+192 QPictureFormatPlugin::_ZThn16_N20QPictureFormatPlugin11savePictureERK7QStringS2_RK8QPicture
+200 __cxa_pure_virtual
+
+Class QPictureFormatPlugin
+ size=24 align=8
+ base size=24 base align=8
+QPictureFormatPlugin (0x7f96df3daa00) 0
+ vptr=((& QPictureFormatPlugin::_ZTV20QPictureFormatPlugin) + 16u)
+ QObject (0x7f96df3e33f0) 0
+ primary-for QPictureFormatPlugin (0x7f96df3daa00)
+ QPictureFormatInterface (0x7f96df3e3460) 16 nearly-empty
+ vptr=((& QPictureFormatPlugin::_ZTV20QPictureFormatPlugin) + 160u)
+ QFactoryInterface (0x7f96df3e34d0) 16 nearly-empty
+ primary-for QPictureFormatInterface (0x7f96df3e3460)
+
+Class QVFbHeader
+ size=1088 align=8
+ base size=1088 base align=8
+QVFbHeader (0x7f96df3f7380) 0
+
+Class QVFbKeyData
+ size=12 align=4
+ base size=12 base align=4
+QVFbKeyData (0x7f96df3f73f0) 0
+
+Vtable for QWSEmbedWidget
+QWSEmbedWidget::_ZTV14QWSEmbedWidget: 63u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QWSEmbedWidget)
+16 QWSEmbedWidget::metaObject
+24 QWSEmbedWidget::qt_metacast
+32 QWSEmbedWidget::qt_metacall
+40 QWSEmbedWidget::~QWSEmbedWidget
+48 QWSEmbedWidget::~QWSEmbedWidget
+56 QWidget::event
+64 QWSEmbedWidget::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QWidget::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QWidget::paintEvent
+256 QWSEmbedWidget::moveEvent
+264 QWSEmbedWidget::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWSEmbedWidget::showEvent
+344 QWSEmbedWidget::hideEvent
+352 QWidget::x11Event
+360 QWSEmbedWidget::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 (int (*)(...))-0x00000000000000010
+456 (int (*)(...))(& _ZTI14QWSEmbedWidget)
+464 QWSEmbedWidget::_ZThn16_N14QWSEmbedWidgetD1Ev
+472 QWSEmbedWidget::_ZThn16_N14QWSEmbedWidgetD0Ev
+480 QWidget::_ZThn16_NK7QWidget7devTypeEv
+488 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+496 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QWSEmbedWidget
+ size=40 align=8
+ base size=40 base align=8
+QWSEmbedWidget (0x7f96df3f7460) 0
+ vptr=((& QWSEmbedWidget::_ZTV14QWSEmbedWidget) + 16u)
+ QWidget (0x7f96df3f6200) 0
+ primary-for QWSEmbedWidget (0x7f96df3f7460)
+ QObject (0x7f96df3f74d0) 0
+ primary-for QWidget (0x7f96df3f6200)
+ QPaintDevice (0x7f96df3f7540) 16
+ vptr=((& QWSEmbedWidget::_ZTV14QWSEmbedWidget) + 464u)
+
+Class QColormap
+ size=8 align=8
+ base size=8 base align=8
+QColormap (0x7f96df40f930) 0
+
+Vtable for QPrinter
+QPrinter::_ZTV8QPrinter: 7u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI8QPrinter)
+16 QPrinter::~QPrinter
+24 QPrinter::~QPrinter
+32 QPrinter::devType
+40 QPrinter::paintEngine
+48 QPrinter::metric
+
+Class QPrinter
+ size=24 align=8
+ base size=24 base align=8
+QPrinter (0x7f96df417150) 0
+ vptr=((& QPrinter::_ZTV8QPrinter) + 16u)
+ QPaintDevice (0x7f96df4171c0) 0
+ primary-for QPrinter (0x7f96df417150)
+
+Vtable for QPrintEngine
+QPrintEngine::_ZTV12QPrintEngine: 10u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QPrintEngine)
+16 QPrintEngine::~QPrintEngine
+24 QPrintEngine::~QPrintEngine
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+48 __cxa_pure_virtual
+56 __cxa_pure_virtual
+64 __cxa_pure_virtual
+72 __cxa_pure_virtual
+
+Class QPrintEngine
+ size=8 align=8
+ base size=8 base align=8
+QPrintEngine (0x7f96df25a620) 0 nearly-empty
+ vptr=((& QPrintEngine::_ZTV12QPrintEngine) + 16u)
+
+Class QPainter
+ size=8 align=8
+ base size=8 base align=8
+QPainter (0x7f96df268380) 0
+
+Class QStylePainter
+ size=24 align=8
+ base size=24 base align=8
+QStylePainter (0x7f96df06cc40) 0
+ QPainter (0x7f96df06ccb0) 0
+
+Class QPrinterInfo
+ size=8 align=8
+ base size=8 base align=8
+QPrinterInfo (0x7f96df09f230) 0
+
+Class QTextItem
+ size=1 align=1
+ base size=0 base align=1
+QTextItem (0x7f96df0a2700) 0 empty
+
+Vtable for QPaintEngine
+QPaintEngine::_ZTV12QPaintEngine: 24u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QPaintEngine)
+16 QPaintEngine::~QPaintEngine
+24 QPaintEngine::~QPaintEngine
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+48 __cxa_pure_virtual
+56 QPaintEngine::drawRects
+64 QPaintEngine::drawRects
+72 QPaintEngine::drawLines
+80 QPaintEngine::drawLines
+88 QPaintEngine::drawEllipse
+96 QPaintEngine::drawEllipse
+104 QPaintEngine::drawPath
+112 QPaintEngine::drawPoints
+120 QPaintEngine::drawPoints
+128 QPaintEngine::drawPolygon
+136 QPaintEngine::drawPolygon
+144 __cxa_pure_virtual
+152 QPaintEngine::drawTextItem
+160 QPaintEngine::drawTiledPixmap
+168 QPaintEngine::drawImage
+176 QPaintEngine::coordinateOffset
+184 __cxa_pure_virtual
+
+Class QPaintEngine
+ size=32 align=8
+ base size=32 base align=8
+QPaintEngine (0x7f96df0a2d20) 0
+ vptr=((& QPaintEngine::_ZTV12QPaintEngine) + 16u)
+
+Class QPaintEngineState
+ size=4 align=4
+ base size=4 base align=4
+QPaintEngineState (0x7f96df0ec7e0) 0
+
+Class QTreeWidgetItemIterator
+ size=24 align=8
+ base size=20 base align=8
+QTreeWidgetItemIterator (0x7f96defa6af0) 0
+
+Vtable for QDataWidgetMapper
+QDataWidgetMapper::_ZTV17QDataWidgetMapper: 15u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QDataWidgetMapper)
+16 QDataWidgetMapper::metaObject
+24 QDataWidgetMapper::qt_metacast
+32 QDataWidgetMapper::qt_metacall
+40 QDataWidgetMapper::~QDataWidgetMapper
+48 QDataWidgetMapper::~QDataWidgetMapper
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QDataWidgetMapper::setCurrentIndex
+
+Class QDataWidgetMapper
+ size=16 align=8
+ base size=16 base align=8
+QDataWidgetMapper (0x7f96df002690) 0
+ vptr=((& QDataWidgetMapper::_ZTV17QDataWidgetMapper) + 16u)
+ QObject (0x7f96df002700) 0
+ primary-for QDataWidgetMapper (0x7f96df002690)
+
+Vtable for QFileIconProvider
+QFileIconProvider::_ZTV17QFileIconProvider: 7u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QFileIconProvider)
+16 QFileIconProvider::~QFileIconProvider
+24 QFileIconProvider::~QFileIconProvider
+32 QFileIconProvider::icon
+40 QFileIconProvider::icon
+48 QFileIconProvider::type
+
+Class QFileIconProvider
+ size=16 align=8
+ base size=16 base align=8
+QFileIconProvider (0x7f96dee3b150) 0
+ vptr=((& QFileIconProvider::_ZTV17QFileIconProvider) + 16u)
+
+Vtable for QStringListModel
+QStringListModel::_ZTV16QStringListModel: 42u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QStringListModel)
+16 QStringListModel::metaObject
+24 QStringListModel::qt_metacast
+32 QStringListModel::qt_metacall
+40 QStringListModel::~QStringListModel
+48 QStringListModel::~QStringListModel
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QAbstractListModel::index
+120 QAbstractListModel::parent
+128 QStringListModel::rowCount
+136 QAbstractListModel::columnCount
+144 QAbstractListModel::hasChildren
+152 QStringListModel::data
+160 QStringListModel::setData
+168 QAbstractItemModel::headerData
+176 QAbstractItemModel::setHeaderData
+184 QAbstractItemModel::itemData
+192 QAbstractItemModel::setItemData
+200 QAbstractItemModel::mimeTypes
+208 QAbstractItemModel::mimeData
+216 QAbstractListModel::dropMimeData
+224 QStringListModel::supportedDropActions
+232 QStringListModel::insertRows
+240 QAbstractItemModel::insertColumns
+248 QStringListModel::removeRows
+256 QAbstractItemModel::removeColumns
+264 QAbstractItemModel::fetchMore
+272 QAbstractItemModel::canFetchMore
+280 QStringListModel::flags
+288 QStringListModel::sort
+296 QAbstractItemModel::buddy
+304 QAbstractItemModel::match
+312 QAbstractItemModel::span
+320 QAbstractItemModel::submit
+328 QAbstractItemModel::revert
+
+Class QStringListModel
+ size=24 align=8
+ base size=24 base align=8
+QStringListModel (0x7f96dee3bc40) 0
+ vptr=((& QStringListModel::_ZTV16QStringListModel) + 16u)
+ QAbstractListModel (0x7f96dee3bcb0) 0
+ primary-for QStringListModel (0x7f96dee3bc40)
+ QAbstractItemModel (0x7f96dee3bd20) 0
+ primary-for QAbstractListModel (0x7f96dee3bcb0)
+ QObject (0x7f96dee3bd90) 0
+ primary-for QAbstractItemModel (0x7f96dee3bd20)
+
+Vtable for QListWidgetItem
+QListWidgetItem::_ZTV15QListWidgetItem: 11u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QListWidgetItem)
+16 QListWidgetItem::~QListWidgetItem
+24 QListWidgetItem::~QListWidgetItem
+32 QListWidgetItem::clone
+40 QListWidgetItem::setBackgroundColor
+48 QListWidgetItem::data
+56 QListWidgetItem::setData
+64 QListWidgetItem::operator<
+72 QListWidgetItem::read
+80 QListWidgetItem::write
+
+Class QListWidgetItem
+ size=48 align=8
+ base size=44 base align=8
+QListWidgetItem (0x7f96dee5b230) 0
+ vptr=((& QListWidgetItem::_ZTV15QListWidgetItem) + 16u)
+
+Vtable for QListWidget
+QListWidget::_ZTV11QListWidget: 107u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QListWidget)
+16 QListWidget::metaObject
+24 QListWidget::qt_metacast
+32 QListWidget::qt_metacall
+40 QListWidget::~QListWidget
+48 QListWidget::~QListWidget
+56 QListWidget::event
+64 QObject::eventFilter
+72 QListView::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QAbstractScrollArea::sizeHint
+136 QAbstractScrollArea::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QAbstractItemView::mousePressEvent
+168 QListView::mouseReleaseEvent
+176 QAbstractItemView::mouseDoubleClickEvent
+184 QListView::mouseMoveEvent
+192 QAbstractScrollArea::wheelEvent
+200 QAbstractItemView::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QAbstractItemView::focusInEvent
+224 QAbstractItemView::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QListView::paintEvent
+256 QWidget::moveEvent
+264 QListView::resizeEvent
+272 QWidget::closeEvent
+280 QAbstractScrollArea::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QAbstractItemView::dragEnterEvent
+312 QListView::dragMoveEvent
+320 QListView::dragLeaveEvent
+328 QListWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QFrame::changeEvent
+368 QWidget::metric
+376 QAbstractItemView::inputMethodEvent
+384 QAbstractItemView::inputMethodQuery
+392 QAbstractItemView::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QAbstractItemView::viewportEvent
+456 QListView::scrollContentsBy
+464 QListWidget::setModel
+472 QAbstractItemView::setSelectionModel
+480 QAbstractItemView::keyboardSearch
+488 QListView::visualRect
+496 QListView::scrollTo
+504 QListView::indexAt
+512 QAbstractItemView::sizeHintForRow
+520 QAbstractItemView::sizeHintForColumn
+528 QListView::reset
+536 QListView::setRootIndex
+544 QListView::doItemsLayout
+552 QAbstractItemView::selectAll
+560 QListView::dataChanged
+568 QListView::rowsInserted
+576 QListView::rowsAboutToBeRemoved
+584 QListView::selectionChanged
+592 QListView::currentChanged
+600 QAbstractItemView::updateEditorData
+608 QAbstractItemView::updateEditorGeometries
+616 QListView::updateGeometries
+624 QAbstractItemView::verticalScrollbarAction
+632 QAbstractItemView::horizontalScrollbarAction
+640 QAbstractItemView::verticalScrollbarValueChanged
+648 QAbstractItemView::horizontalScrollbarValueChanged
+656 QAbstractItemView::closeEditor
+664 QAbstractItemView::commitData
+672 QAbstractItemView::editorDestroyed
+680 QListView::moveCursor
+688 QListView::horizontalOffset
+696 QListView::verticalOffset
+704 QListView::isIndexHidden
+712 QListView::setSelection
+720 QListView::visualRegionForSelection
+728 QListView::selectedIndexes
+736 QAbstractItemView::edit
+744 QAbstractItemView::selectionCommand
+752 QListView::startDrag
+760 QListView::viewOptions
+768 QListWidget::mimeTypes
+776 QListWidget::mimeData
+784 QListWidget::dropMimeData
+792 QListWidget::supportedDropActions
+800 (int (*)(...))-0x00000000000000010
+808 (int (*)(...))(& _ZTI11QListWidget)
+816 QListWidget::_ZThn16_N11QListWidgetD1Ev
+824 QListWidget::_ZThn16_N11QListWidgetD0Ev
+832 QWidget::_ZThn16_NK7QWidget7devTypeEv
+840 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+848 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QListWidget
+ size=40 align=8
+ base size=40 base align=8
+QListWidget (0x7f96deed09a0) 0
+ vptr=((& QListWidget::_ZTV11QListWidget) + 16u)
+ QListView (0x7f96deed0a10) 0
+ primary-for QListWidget (0x7f96deed09a0)
+ QAbstractItemView (0x7f96deed0a80) 0
+ primary-for QListView (0x7f96deed0a10)
+ QAbstractScrollArea (0x7f96deed0af0) 0
+ primary-for QAbstractItemView (0x7f96deed0a80)
+ QFrame (0x7f96deed0b60) 0
+ primary-for QAbstractScrollArea (0x7f96deed0af0)
+ QWidget (0x7f96deecd580) 0
+ primary-for QFrame (0x7f96deed0b60)
+ QObject (0x7f96deed0bd0) 0
+ primary-for QWidget (0x7f96deecd580)
+ QPaintDevice (0x7f96deed0c40) 16
+ vptr=((& QListWidget::_ZTV11QListWidget) + 816u)
+
+Vtable for QDirModel
+QDirModel::_ZTV9QDirModel: 42u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QDirModel)
+16 QDirModel::metaObject
+24 QDirModel::qt_metacast
+32 QDirModel::qt_metacall
+40 QDirModel::~QDirModel
+48 QDirModel::~QDirModel
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QDirModel::index
+120 QDirModel::parent
+128 QDirModel::rowCount
+136 QDirModel::columnCount
+144 QDirModel::hasChildren
+152 QDirModel::data
+160 QDirModel::setData
+168 QDirModel::headerData
+176 QAbstractItemModel::setHeaderData
+184 QAbstractItemModel::itemData
+192 QAbstractItemModel::setItemData
+200 QDirModel::mimeTypes
+208 QDirModel::mimeData
+216 QDirModel::dropMimeData
+224 QDirModel::supportedDropActions
+232 QAbstractItemModel::insertRows
+240 QAbstractItemModel::insertColumns
+248 QAbstractItemModel::removeRows
+256 QAbstractItemModel::removeColumns
+264 QAbstractItemModel::fetchMore
+272 QAbstractItemModel::canFetchMore
+280 QDirModel::flags
+288 QDirModel::sort
+296 QAbstractItemModel::buddy
+304 QAbstractItemModel::match
+312 QAbstractItemModel::span
+320 QAbstractItemModel::submit
+328 QAbstractItemModel::revert
+
+Class QDirModel
+ size=16 align=8
+ base size=16 base align=8
+QDirModel (0x7f96def09e00) 0
+ vptr=((& QDirModel::_ZTV9QDirModel) + 16u)
+ QAbstractItemModel (0x7f96def09e70) 0
+ primary-for QDirModel (0x7f96def09e00)
+ QObject (0x7f96def09ee0) 0
+ primary-for QAbstractItemModel (0x7f96def09e70)
+
+Vtable for QColumnView
+QColumnView::_ZTV11QColumnView: 104u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QColumnView)
+16 QColumnView::metaObject
+24 QColumnView::qt_metacast
+32 QColumnView::qt_metacall
+40 QColumnView::~QColumnView
+48 QColumnView::~QColumnView
+56 QAbstractItemView::event
+64 QObject::eventFilter
+72 QAbstractItemView::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QColumnView::sizeHint
+136 QAbstractScrollArea::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QAbstractItemView::mousePressEvent
+168 QAbstractItemView::mouseReleaseEvent
+176 QAbstractItemView::mouseDoubleClickEvent
+184 QAbstractItemView::mouseMoveEvent
+192 QAbstractScrollArea::wheelEvent
+200 QAbstractItemView::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QAbstractItemView::focusInEvent
+224 QAbstractItemView::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QAbstractScrollArea::paintEvent
+256 QWidget::moveEvent
+264 QColumnView::resizeEvent
+272 QWidget::closeEvent
+280 QAbstractScrollArea::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QAbstractItemView::dragEnterEvent
+312 QAbstractItemView::dragMoveEvent
+320 QAbstractItemView::dragLeaveEvent
+328 QAbstractItemView::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QFrame::changeEvent
+368 QWidget::metric
+376 QAbstractItemView::inputMethodEvent
+384 QAbstractItemView::inputMethodQuery
+392 QAbstractItemView::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QAbstractItemView::viewportEvent
+456 QColumnView::scrollContentsBy
+464 QColumnView::setModel
+472 QColumnView::setSelectionModel
+480 QAbstractItemView::keyboardSearch
+488 QColumnView::visualRect
+496 QColumnView::scrollTo
+504 QColumnView::indexAt
+512 QAbstractItemView::sizeHintForRow
+520 QAbstractItemView::sizeHintForColumn
+528 QAbstractItemView::reset
+536 QColumnView::setRootIndex
+544 QAbstractItemView::doItemsLayout
+552 QColumnView::selectAll
+560 QAbstractItemView::dataChanged
+568 QAbstractItemView::rowsInserted
+576 QAbstractItemView::rowsAboutToBeRemoved
+584 QAbstractItemView::selectionChanged
+592 QColumnView::currentChanged
+600 QAbstractItemView::updateEditorData
+608 QAbstractItemView::updateEditorGeometries
+616 QAbstractItemView::updateGeometries
+624 QAbstractItemView::verticalScrollbarAction
+632 QAbstractItemView::horizontalScrollbarAction
+640 QAbstractItemView::verticalScrollbarValueChanged
+648 QAbstractItemView::horizontalScrollbarValueChanged
+656 QAbstractItemView::closeEditor
+664 QAbstractItemView::commitData
+672 QAbstractItemView::editorDestroyed
+680 QColumnView::moveCursor
+688 QColumnView::horizontalOffset
+696 QColumnView::verticalOffset
+704 QColumnView::isIndexHidden
+712 QColumnView::setSelection
+720 QColumnView::visualRegionForSelection
+728 QAbstractItemView::selectedIndexes
+736 QAbstractItemView::edit
+744 QAbstractItemView::selectionCommand
+752 QAbstractItemView::startDrag
+760 QAbstractItemView::viewOptions
+768 QColumnView::createColumn
+776 (int (*)(...))-0x00000000000000010
+784 (int (*)(...))(& _ZTI11QColumnView)
+792 QColumnView::_ZThn16_N11QColumnViewD1Ev
+800 QColumnView::_ZThn16_N11QColumnViewD0Ev
+808 QWidget::_ZThn16_NK7QWidget7devTypeEv
+816 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+824 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QColumnView
+ size=40 align=8
+ base size=40 base align=8
+QColumnView (0x7f96ded380e0) 0
+ vptr=((& QColumnView::_ZTV11QColumnView) + 16u)
+ QAbstractItemView (0x7f96ded38150) 0
+ primary-for QColumnView (0x7f96ded380e0)
+ QAbstractScrollArea (0x7f96ded381c0) 0
+ primary-for QAbstractItemView (0x7f96ded38150)
+ QFrame (0x7f96ded38230) 0
+ primary-for QAbstractScrollArea (0x7f96ded381c0)
+ QWidget (0x7f96def0cd00) 0
+ primary-for QFrame (0x7f96ded38230)
+ QObject (0x7f96ded382a0) 0
+ primary-for QWidget (0x7f96def0cd00)
+ QPaintDevice (0x7f96ded38310) 16
+ vptr=((& QColumnView::_ZTV11QColumnView) + 792u)
+
+Vtable for QStandardItem
+QStandardItem::_ZTV13QStandardItem: 11u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QStandardItem)
+16 QStandardItem::~QStandardItem
+24 QStandardItem::~QStandardItem
+32 QStandardItem::data
+40 QStandardItem::setData
+48 QStandardItem::clone
+56 QStandardItem::type
+64 QStandardItem::read
+72 QStandardItem::write
+80 QStandardItem::operator<
+
+Class QStandardItem
+ size=16 align=8
+ base size=16 base align=8
+QStandardItem (0x7f96ded5d230) 0
+ vptr=((& QStandardItem::_ZTV13QStandardItem) + 16u)
+
+Vtable for QStandardItemModel
+QStandardItemModel::_ZTV18QStandardItemModel: 42u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QStandardItemModel)
+16 QStandardItemModel::metaObject
+24 QStandardItemModel::qt_metacast
+32 QStandardItemModel::qt_metacall
+40 QStandardItemModel::~QStandardItemModel
+48 QStandardItemModel::~QStandardItemModel
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QStandardItemModel::index
+120 QStandardItemModel::parent
+128 QStandardItemModel::rowCount
+136 QStandardItemModel::columnCount
+144 QStandardItemModel::hasChildren
+152 QStandardItemModel::data
+160 QStandardItemModel::setData
+168 QStandardItemModel::headerData
+176 QStandardItemModel::setHeaderData
+184 QStandardItemModel::itemData
+192 QStandardItemModel::setItemData
+200 QStandardItemModel::mimeTypes
+208 QStandardItemModel::mimeData
+216 QStandardItemModel::dropMimeData
+224 QStandardItemModel::supportedDropActions
+232 QStandardItemModel::insertRows
+240 QStandardItemModel::insertColumns
+248 QStandardItemModel::removeRows
+256 QStandardItemModel::removeColumns
+264 QAbstractItemModel::fetchMore
+272 QAbstractItemModel::canFetchMore
+280 QStandardItemModel::flags
+288 QStandardItemModel::sort
+296 QAbstractItemModel::buddy
+304 QAbstractItemModel::match
+312 QAbstractItemModel::span
+320 QAbstractItemModel::submit
+328 QAbstractItemModel::revert
+
+Class QStandardItemModel
+ size=16 align=8
+ base size=16 base align=8
+QStandardItemModel (0x7f96dec38e00) 0
+ vptr=((& QStandardItemModel::_ZTV18QStandardItemModel) + 16u)
+ QAbstractItemModel (0x7f96dec38e70) 0
+ primary-for QStandardItemModel (0x7f96dec38e00)
+ QObject (0x7f96dec38ee0) 0
+ primary-for QAbstractItemModel (0x7f96dec38e70)
+
+Vtable for QAbstractProxyModel
+QAbstractProxyModel::_ZTV19QAbstractProxyModel: 47u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QAbstractProxyModel)
+16 QAbstractProxyModel::metaObject
+24 QAbstractProxyModel::qt_metacast
+32 QAbstractProxyModel::qt_metacall
+40 QAbstractProxyModel::~QAbstractProxyModel
+48 QAbstractProxyModel::~QAbstractProxyModel
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 __cxa_pure_virtual
+136 __cxa_pure_virtual
+144 QAbstractItemModel::hasChildren
+152 QAbstractProxyModel::data
+160 QAbstractProxyModel::setData
+168 QAbstractProxyModel::headerData
+176 QAbstractProxyModel::setHeaderData
+184 QAbstractProxyModel::itemData
+192 QAbstractItemModel::setItemData
+200 QAbstractItemModel::mimeTypes
+208 QAbstractItemModel::mimeData
+216 QAbstractItemModel::dropMimeData
+224 QAbstractItemModel::supportedDropActions
+232 QAbstractItemModel::insertRows
+240 QAbstractItemModel::insertColumns
+248 QAbstractItemModel::removeRows
+256 QAbstractItemModel::removeColumns
+264 QAbstractItemModel::fetchMore
+272 QAbstractItemModel::canFetchMore
+280 QAbstractProxyModel::flags
+288 QAbstractItemModel::sort
+296 QAbstractItemModel::buddy
+304 QAbstractItemModel::match
+312 QAbstractItemModel::span
+320 QAbstractProxyModel::submit
+328 QAbstractProxyModel::revert
+336 QAbstractProxyModel::setSourceModel
+344 __cxa_pure_virtual
+352 __cxa_pure_virtual
+360 QAbstractProxyModel::mapSelectionToSource
+368 QAbstractProxyModel::mapSelectionFromSource
+
+Class QAbstractProxyModel
+ size=16 align=8
+ base size=16 base align=8
+QAbstractProxyModel (0x7f96dec769a0) 0
+ vptr=((& QAbstractProxyModel::_ZTV19QAbstractProxyModel) + 16u)
+ QAbstractItemModel (0x7f96dec76a10) 0
+ primary-for QAbstractProxyModel (0x7f96dec769a0)
+ QObject (0x7f96dec76a80) 0
+ primary-for QAbstractItemModel (0x7f96dec76a10)
+
+Vtable for QSortFilterProxyModel
+QSortFilterProxyModel::_ZTV21QSortFilterProxyModel: 50u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI21QSortFilterProxyModel)
+16 QSortFilterProxyModel::metaObject
+24 QSortFilterProxyModel::qt_metacast
+32 QSortFilterProxyModel::qt_metacall
+40 QSortFilterProxyModel::~QSortFilterProxyModel
+48 QSortFilterProxyModel::~QSortFilterProxyModel
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QSortFilterProxyModel::index
+120 QSortFilterProxyModel::parent
+128 QSortFilterProxyModel::rowCount
+136 QSortFilterProxyModel::columnCount
+144 QSortFilterProxyModel::hasChildren
+152 QSortFilterProxyModel::data
+160 QSortFilterProxyModel::setData
+168 QSortFilterProxyModel::headerData
+176 QSortFilterProxyModel::setHeaderData
+184 QAbstractProxyModel::itemData
+192 QAbstractItemModel::setItemData
+200 QSortFilterProxyModel::mimeTypes
+208 QSortFilterProxyModel::mimeData
+216 QSortFilterProxyModel::dropMimeData
+224 QSortFilterProxyModel::supportedDropActions
+232 QSortFilterProxyModel::insertRows
+240 QSortFilterProxyModel::insertColumns
+248 QSortFilterProxyModel::removeRows
+256 QSortFilterProxyModel::removeColumns
+264 QSortFilterProxyModel::fetchMore
+272 QSortFilterProxyModel::canFetchMore
+280 QSortFilterProxyModel::flags
+288 QSortFilterProxyModel::sort
+296 QSortFilterProxyModel::buddy
+304 QSortFilterProxyModel::match
+312 QSortFilterProxyModel::span
+320 QAbstractProxyModel::submit
+328 QAbstractProxyModel::revert
+336 QSortFilterProxyModel::setSourceModel
+344 QSortFilterProxyModel::mapToSource
+352 QSortFilterProxyModel::mapFromSource
+360 QSortFilterProxyModel::mapSelectionToSource
+368 QSortFilterProxyModel::mapSelectionFromSource
+376 QSortFilterProxyModel::filterAcceptsRow
+384 QSortFilterProxyModel::filterAcceptsColumn
+392 QSortFilterProxyModel::lessThan
+
+Class QSortFilterProxyModel
+ size=16 align=8
+ base size=16 base align=8
+QSortFilterProxyModel (0x7f96deca05b0) 0
+ vptr=((& QSortFilterProxyModel::_ZTV21QSortFilterProxyModel) + 16u)
+ QAbstractProxyModel (0x7f96deca0620) 0
+ primary-for QSortFilterProxyModel (0x7f96deca05b0)
+ QAbstractItemModel (0x7f96deca0690) 0
+ primary-for QAbstractProxyModel (0x7f96deca0620)
+ QObject (0x7f96deca0700) 0
+ primary-for QAbstractItemModel (0x7f96deca0690)
+
+Vtable for QStyledItemDelegate
+QStyledItemDelegate::_ZTV19QStyledItemDelegate: 23u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QStyledItemDelegate)
+16 QStyledItemDelegate::metaObject
+24 QStyledItemDelegate::qt_metacast
+32 QStyledItemDelegate::qt_metacall
+40 QStyledItemDelegate::~QStyledItemDelegate
+48 QStyledItemDelegate::~QStyledItemDelegate
+56 QObject::event
+64 QStyledItemDelegate::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QStyledItemDelegate::paint
+120 QStyledItemDelegate::sizeHint
+128 QStyledItemDelegate::createEditor
+136 QStyledItemDelegate::setEditorData
+144 QStyledItemDelegate::setModelData
+152 QStyledItemDelegate::updateEditorGeometry
+160 QStyledItemDelegate::editorEvent
+168 QStyledItemDelegate::displayText
+176 QStyledItemDelegate::initStyleOption
+
+Class QStyledItemDelegate
+ size=16 align=8
+ base size=16 base align=8
+QStyledItemDelegate (0x7f96decd24d0) 0
+ vptr=((& QStyledItemDelegate::_ZTV19QStyledItemDelegate) + 16u)
+ QAbstractItemDelegate (0x7f96decd2540) 0
+ primary-for QStyledItemDelegate (0x7f96decd24d0)
+ QObject (0x7f96decd25b0) 0
+ primary-for QAbstractItemDelegate (0x7f96decd2540)
+
+Vtable for QItemDelegate
+QItemDelegate::_ZTV13QItemDelegate: 25u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QItemDelegate)
+16 QItemDelegate::metaObject
+24 QItemDelegate::qt_metacast
+32 QItemDelegate::qt_metacall
+40 QItemDelegate::~QItemDelegate
+48 QItemDelegate::~QItemDelegate
+56 QObject::event
+64 QItemDelegate::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QItemDelegate::paint
+120 QItemDelegate::sizeHint
+128 QItemDelegate::createEditor
+136 QItemDelegate::setEditorData
+144 QItemDelegate::setModelData
+152 QItemDelegate::updateEditorGeometry
+160 QItemDelegate::editorEvent
+168 QItemDelegate::drawDisplay
+176 QItemDelegate::drawDecoration
+184 QItemDelegate::drawFocus
+192 QItemDelegate::drawCheck
+
+Class QItemDelegate
+ size=16 align=8
+ base size=16 base align=8
+QItemDelegate (0x7f96dece4e70) 0
+ vptr=((& QItemDelegate::_ZTV13QItemDelegate) + 16u)
+ QAbstractItemDelegate (0x7f96dece4ee0) 0
+ primary-for QItemDelegate (0x7f96dece4e70)
+ QObject (0x7f96dece4f50) 0
+ primary-for QAbstractItemDelegate (0x7f96dece4ee0)
+
+Vtable for QTableView
+QTableView::_ZTV10QTableView: 103u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QTableView)
+16 QTableView::metaObject
+24 QTableView::qt_metacast
+32 QTableView::qt_metacall
+40 QTableView::~QTableView
+48 QTableView::~QTableView
+56 QAbstractItemView::event
+64 QObject::eventFilter
+72 QTableView::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QAbstractScrollArea::sizeHint
+136 QAbstractScrollArea::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QAbstractItemView::mousePressEvent
+168 QAbstractItemView::mouseReleaseEvent
+176 QAbstractItemView::mouseDoubleClickEvent
+184 QAbstractItemView::mouseMoveEvent
+192 QAbstractScrollArea::wheelEvent
+200 QAbstractItemView::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QAbstractItemView::focusInEvent
+224 QAbstractItemView::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QTableView::paintEvent
+256 QWidget::moveEvent
+264 QAbstractItemView::resizeEvent
+272 QWidget::closeEvent
+280 QAbstractScrollArea::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QAbstractItemView::dragEnterEvent
+312 QAbstractItemView::dragMoveEvent
+320 QAbstractItemView::dragLeaveEvent
+328 QAbstractItemView::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QFrame::changeEvent
+368 QWidget::metric
+376 QAbstractItemView::inputMethodEvent
+384 QAbstractItemView::inputMethodQuery
+392 QAbstractItemView::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QAbstractItemView::viewportEvent
+456 QTableView::scrollContentsBy
+464 QTableView::setModel
+472 QTableView::setSelectionModel
+480 QAbstractItemView::keyboardSearch
+488 QTableView::visualRect
+496 QTableView::scrollTo
+504 QTableView::indexAt
+512 QTableView::sizeHintForRow
+520 QTableView::sizeHintForColumn
+528 QAbstractItemView::reset
+536 QTableView::setRootIndex
+544 QAbstractItemView::doItemsLayout
+552 QAbstractItemView::selectAll
+560 QAbstractItemView::dataChanged
+568 QAbstractItemView::rowsInserted
+576 QAbstractItemView::rowsAboutToBeRemoved
+584 QTableView::selectionChanged
+592 QTableView::currentChanged
+600 QAbstractItemView::updateEditorData
+608 QAbstractItemView::updateEditorGeometries
+616 QTableView::updateGeometries
+624 QTableView::verticalScrollbarAction
+632 QTableView::horizontalScrollbarAction
+640 QAbstractItemView::verticalScrollbarValueChanged
+648 QAbstractItemView::horizontalScrollbarValueChanged
+656 QAbstractItemView::closeEditor
+664 QAbstractItemView::commitData
+672 QAbstractItemView::editorDestroyed
+680 QTableView::moveCursor
+688 QTableView::horizontalOffset
+696 QTableView::verticalOffset
+704 QTableView::isIndexHidden
+712 QTableView::setSelection
+720 QTableView::visualRegionForSelection
+728 QTableView::selectedIndexes
+736 QAbstractItemView::edit
+744 QAbstractItemView::selectionCommand
+752 QAbstractItemView::startDrag
+760 QTableView::viewOptions
+768 (int (*)(...))-0x00000000000000010
+776 (int (*)(...))(& _ZTI10QTableView)
+784 QTableView::_ZThn16_N10QTableViewD1Ev
+792 QTableView::_ZThn16_N10QTableViewD0Ev
+800 QWidget::_ZThn16_NK7QWidget7devTypeEv
+808 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+816 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QTableView
+ size=40 align=8
+ base size=40 base align=8
+QTableView (0x7f96ded09850) 0
+ vptr=((& QTableView::_ZTV10QTableView) + 16u)
+ QAbstractItemView (0x7f96ded098c0) 0
+ primary-for QTableView (0x7f96ded09850)
+ QAbstractScrollArea (0x7f96ded09930) 0
+ primary-for QAbstractItemView (0x7f96ded098c0)
+ QFrame (0x7f96ded099a0) 0
+ primary-for QAbstractScrollArea (0x7f96ded09930)
+ QWidget (0x7f96ded05500) 0
+ primary-for QFrame (0x7f96ded099a0)
+ QObject (0x7f96ded09a10) 0
+ primary-for QWidget (0x7f96ded05500)
+ QPaintDevice (0x7f96ded09a80) 16
+ vptr=((& QTableView::_ZTV10QTableView) + 784u)
+
+Class QTableWidgetSelectionRange
+ size=16 align=4
+ base size=16 base align=4
+QTableWidgetSelectionRange (0x7f96deb3c620) 0
+
+Vtable for QTableWidgetItem
+QTableWidgetItem::_ZTV16QTableWidgetItem: 10u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QTableWidgetItem)
+16 QTableWidgetItem::~QTableWidgetItem
+24 QTableWidgetItem::~QTableWidgetItem
+32 QTableWidgetItem::clone
+40 QTableWidgetItem::data
+48 QTableWidgetItem::setData
+56 QTableWidgetItem::operator<
+64 QTableWidgetItem::read
+72 QTableWidgetItem::write
+
+Class QTableWidgetItem
+ size=48 align=8
+ base size=44 base align=8
+QTableWidgetItem (0x7f96deb44af0) 0
+ vptr=((& QTableWidgetItem::_ZTV16QTableWidgetItem) + 16u)
+
+Vtable for QTableWidget
+QTableWidget::_ZTV12QTableWidget: 107u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QTableWidget)
+16 QTableWidget::metaObject
+24 QTableWidget::qt_metacast
+32 QTableWidget::qt_metacall
+40 QTableWidget::~QTableWidget
+48 QTableWidget::~QTableWidget
+56 QTableWidget::event
+64 QObject::eventFilter
+72 QTableView::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QAbstractScrollArea::sizeHint
+136 QAbstractScrollArea::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QAbstractItemView::mousePressEvent
+168 QAbstractItemView::mouseReleaseEvent
+176 QAbstractItemView::mouseDoubleClickEvent
+184 QAbstractItemView::mouseMoveEvent
+192 QAbstractScrollArea::wheelEvent
+200 QAbstractItemView::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QAbstractItemView::focusInEvent
+224 QAbstractItemView::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QTableView::paintEvent
+256 QWidget::moveEvent
+264 QAbstractItemView::resizeEvent
+272 QWidget::closeEvent
+280 QAbstractScrollArea::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QAbstractItemView::dragEnterEvent
+312 QAbstractItemView::dragMoveEvent
+320 QAbstractItemView::dragLeaveEvent
+328 QTableWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QFrame::changeEvent
+368 QWidget::metric
+376 QAbstractItemView::inputMethodEvent
+384 QAbstractItemView::inputMethodQuery
+392 QAbstractItemView::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QAbstractItemView::viewportEvent
+456 QTableView::scrollContentsBy
+464 QTableWidget::setModel
+472 QTableView::setSelectionModel
+480 QAbstractItemView::keyboardSearch
+488 QTableView::visualRect
+496 QTableView::scrollTo
+504 QTableView::indexAt
+512 QTableView::sizeHintForRow
+520 QTableView::sizeHintForColumn
+528 QAbstractItemView::reset
+536 QTableView::setRootIndex
+544 QAbstractItemView::doItemsLayout
+552 QAbstractItemView::selectAll
+560 QAbstractItemView::dataChanged
+568 QAbstractItemView::rowsInserted
+576 QAbstractItemView::rowsAboutToBeRemoved
+584 QTableView::selectionChanged
+592 QTableView::currentChanged
+600 QAbstractItemView::updateEditorData
+608 QAbstractItemView::updateEditorGeometries
+616 QTableView::updateGeometries
+624 QTableView::verticalScrollbarAction
+632 QTableView::horizontalScrollbarAction
+640 QAbstractItemView::verticalScrollbarValueChanged
+648 QAbstractItemView::horizontalScrollbarValueChanged
+656 QAbstractItemView::closeEditor
+664 QAbstractItemView::commitData
+672 QAbstractItemView::editorDestroyed
+680 QTableView::moveCursor
+688 QTableView::horizontalOffset
+696 QTableView::verticalOffset
+704 QTableView::isIndexHidden
+712 QTableView::setSelection
+720 QTableView::visualRegionForSelection
+728 QTableView::selectedIndexes
+736 QAbstractItemView::edit
+744 QAbstractItemView::selectionCommand
+752 QAbstractItemView::startDrag
+760 QTableView::viewOptions
+768 QTableWidget::mimeTypes
+776 QTableWidget::mimeData
+784 QTableWidget::dropMimeData
+792 QTableWidget::supportedDropActions
+800 (int (*)(...))-0x00000000000000010
+808 (int (*)(...))(& _ZTI12QTableWidget)
+816 QTableWidget::_ZThn16_N12QTableWidgetD1Ev
+824 QTableWidget::_ZThn16_N12QTableWidgetD0Ev
+832 QWidget::_ZThn16_NK7QWidget7devTypeEv
+840 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+848 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QTableWidget
+ size=40 align=8
+ base size=40 base align=8
+QTableWidget (0x7f96debbc0e0) 0
+ vptr=((& QTableWidget::_ZTV12QTableWidget) + 16u)
+ QTableView (0x7f96debbc150) 0
+ primary-for QTableWidget (0x7f96debbc0e0)
+ QAbstractItemView (0x7f96debbc1c0) 0
+ primary-for QTableView (0x7f96debbc150)
+ QAbstractScrollArea (0x7f96debbc230) 0
+ primary-for QAbstractItemView (0x7f96debbc1c0)
+ QFrame (0x7f96debbc2a0) 0
+ primary-for QAbstractScrollArea (0x7f96debbc230)
+ QWidget (0x7f96debb6580) 0
+ primary-for QFrame (0x7f96debbc2a0)
+ QObject (0x7f96debbc310) 0
+ primary-for QWidget (0x7f96debb6580)
+ QPaintDevice (0x7f96debbc380) 16
+ vptr=((& QTableWidget::_ZTV12QTableWidget) + 816u)
+
+Vtable for QTreeView
+QTreeView::_ZTV9QTreeView: 105u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QTreeView)
+16 QTreeView::metaObject
+24 QTreeView::qt_metacast
+32 QTreeView::qt_metacall
+40 QTreeView::~QTreeView
+48 QTreeView::~QTreeView
+56 QAbstractItemView::event
+64 QObject::eventFilter
+72 QTreeView::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QAbstractScrollArea::sizeHint
+136 QAbstractScrollArea::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QTreeView::mousePressEvent
+168 QTreeView::mouseReleaseEvent
+176 QTreeView::mouseDoubleClickEvent
+184 QTreeView::mouseMoveEvent
+192 QAbstractScrollArea::wheelEvent
+200 QTreeView::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QAbstractItemView::focusInEvent
+224 QAbstractItemView::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QTreeView::paintEvent
+256 QWidget::moveEvent
+264 QAbstractItemView::resizeEvent
+272 QWidget::closeEvent
+280 QAbstractScrollArea::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QAbstractItemView::dragEnterEvent
+312 QTreeView::dragMoveEvent
+320 QAbstractItemView::dragLeaveEvent
+328 QAbstractItemView::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QFrame::changeEvent
+368 QWidget::metric
+376 QAbstractItemView::inputMethodEvent
+384 QAbstractItemView::inputMethodQuery
+392 QAbstractItemView::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QTreeView::viewportEvent
+456 QTreeView::scrollContentsBy
+464 QTreeView::setModel
+472 QTreeView::setSelectionModel
+480 QTreeView::keyboardSearch
+488 QTreeView::visualRect
+496 QTreeView::scrollTo
+504 QTreeView::indexAt
+512 QAbstractItemView::sizeHintForRow
+520 QTreeView::sizeHintForColumn
+528 QTreeView::reset
+536 QTreeView::setRootIndex
+544 QTreeView::doItemsLayout
+552 QTreeView::selectAll
+560 QTreeView::dataChanged
+568 QTreeView::rowsInserted
+576 QTreeView::rowsAboutToBeRemoved
+584 QTreeView::selectionChanged
+592 QTreeView::currentChanged
+600 QAbstractItemView::updateEditorData
+608 QAbstractItemView::updateEditorGeometries
+616 QTreeView::updateGeometries
+624 QAbstractItemView::verticalScrollbarAction
+632 QTreeView::horizontalScrollbarAction
+640 QAbstractItemView::verticalScrollbarValueChanged
+648 QAbstractItemView::horizontalScrollbarValueChanged
+656 QAbstractItemView::closeEditor
+664 QAbstractItemView::commitData
+672 QAbstractItemView::editorDestroyed
+680 QTreeView::moveCursor
+688 QTreeView::horizontalOffset
+696 QTreeView::verticalOffset
+704 QTreeView::isIndexHidden
+712 QTreeView::setSelection
+720 QTreeView::visualRegionForSelection
+728 QTreeView::selectedIndexes
+736 QAbstractItemView::edit
+744 QAbstractItemView::selectionCommand
+752 QAbstractItemView::startDrag
+760 QAbstractItemView::viewOptions
+768 QTreeView::drawRow
+776 QTreeView::drawBranches
+784 (int (*)(...))-0x00000000000000010
+792 (int (*)(...))(& _ZTI9QTreeView)
+800 QTreeView::_ZThn16_N9QTreeViewD1Ev
+808 QTreeView::_ZThn16_N9QTreeViewD0Ev
+816 QWidget::_ZThn16_NK7QWidget7devTypeEv
+824 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+832 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QTreeView
+ size=40 align=8
+ base size=40 base align=8
+QTreeView (0x7f96debf9070) 0
+ vptr=((& QTreeView::_ZTV9QTreeView) + 16u)
+ QAbstractItemView (0x7f96debf90e0) 0
+ primary-for QTreeView (0x7f96debf9070)
+ QAbstractScrollArea (0x7f96debf9150) 0
+ primary-for QAbstractItemView (0x7f96debf90e0)
+ QFrame (0x7f96debf91c0) 0
+ primary-for QAbstractScrollArea (0x7f96debf9150)
+ QWidget (0x7f96debf3e00) 0
+ primary-for QFrame (0x7f96debf91c0)
+ QObject (0x7f96debf9230) 0
+ primary-for QWidget (0x7f96debf3e00)
+ QPaintDevice (0x7f96debf92a0) 16
+ vptr=((& QTreeView::_ZTV9QTreeView) + 800u)
+
+Vtable for QProxyModel
+QProxyModel::_ZTV11QProxyModel: 43u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QProxyModel)
+16 QProxyModel::metaObject
+24 QProxyModel::qt_metacast
+32 QProxyModel::qt_metacall
+40 QProxyModel::~QProxyModel
+48 QProxyModel::~QProxyModel
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QProxyModel::index
+120 QProxyModel::parent
+128 QProxyModel::rowCount
+136 QProxyModel::columnCount
+144 QProxyModel::hasChildren
+152 QProxyModel::data
+160 QProxyModel::setData
+168 QProxyModel::headerData
+176 QProxyModel::setHeaderData
+184 QAbstractItemModel::itemData
+192 QAbstractItemModel::setItemData
+200 QProxyModel::mimeTypes
+208 QProxyModel::mimeData
+216 QProxyModel::dropMimeData
+224 QProxyModel::supportedDropActions
+232 QProxyModel::insertRows
+240 QProxyModel::insertColumns
+248 QAbstractItemModel::removeRows
+256 QAbstractItemModel::removeColumns
+264 QProxyModel::fetchMore
+272 QAbstractItemModel::canFetchMore
+280 QProxyModel::flags
+288 QProxyModel::sort
+296 QAbstractItemModel::buddy
+304 QProxyModel::match
+312 QProxyModel::span
+320 QProxyModel::submit
+328 QProxyModel::revert
+336 QProxyModel::setModel
+
+Class QProxyModel
+ size=16 align=8
+ base size=16 base align=8
+QProxyModel (0x7f96dea1de00) 0
+ vptr=((& QProxyModel::_ZTV11QProxyModel) + 16u)
+ QAbstractItemModel (0x7f96dea1de70) 0
+ primary-for QProxyModel (0x7f96dea1de00)
+ QObject (0x7f96dea1dee0) 0
+ primary-for QAbstractItemModel (0x7f96dea1de70)
+
+Vtable for QHeaderView
+QHeaderView::_ZTV11QHeaderView: 105u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QHeaderView)
+16 QHeaderView::metaObject
+24 QHeaderView::qt_metacast
+32 QHeaderView::qt_metacall
+40 QHeaderView::~QHeaderView
+48 QHeaderView::~QHeaderView
+56 QHeaderView::event
+64 QObject::eventFilter
+72 QAbstractItemView::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QHeaderView::sizeHint
+136 QAbstractScrollArea::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QHeaderView::mousePressEvent
+168 QHeaderView::mouseReleaseEvent
+176 QHeaderView::mouseDoubleClickEvent
+184 QHeaderView::mouseMoveEvent
+192 QAbstractScrollArea::wheelEvent
+200 QAbstractItemView::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QAbstractItemView::focusInEvent
+224 QAbstractItemView::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QHeaderView::paintEvent
+256 QWidget::moveEvent
+264 QAbstractItemView::resizeEvent
+272 QWidget::closeEvent
+280 QAbstractScrollArea::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QAbstractItemView::dragEnterEvent
+312 QAbstractItemView::dragMoveEvent
+320 QAbstractItemView::dragLeaveEvent
+328 QAbstractItemView::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QFrame::changeEvent
+368 QWidget::metric
+376 QAbstractItemView::inputMethodEvent
+384 QAbstractItemView::inputMethodQuery
+392 QAbstractItemView::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QHeaderView::viewportEvent
+456 QHeaderView::scrollContentsBy
+464 QHeaderView::setModel
+472 QAbstractItemView::setSelectionModel
+480 QAbstractItemView::keyboardSearch
+488 QHeaderView::visualRect
+496 QHeaderView::scrollTo
+504 QHeaderView::indexAt
+512 QAbstractItemView::sizeHintForRow
+520 QAbstractItemView::sizeHintForColumn
+528 QHeaderView::reset
+536 QAbstractItemView::setRootIndex
+544 QHeaderView::doItemsLayout
+552 QAbstractItemView::selectAll
+560 QHeaderView::dataChanged
+568 QHeaderView::rowsInserted
+576 QAbstractItemView::rowsAboutToBeRemoved
+584 QAbstractItemView::selectionChanged
+592 QHeaderView::currentChanged
+600 QAbstractItemView::updateEditorData
+608 QAbstractItemView::updateEditorGeometries
+616 QHeaderView::updateGeometries
+624 QAbstractItemView::verticalScrollbarAction
+632 QAbstractItemView::horizontalScrollbarAction
+640 QAbstractItemView::verticalScrollbarValueChanged
+648 QAbstractItemView::horizontalScrollbarValueChanged
+656 QAbstractItemView::closeEditor
+664 QAbstractItemView::commitData
+672 QAbstractItemView::editorDestroyed
+680 QHeaderView::moveCursor
+688 QHeaderView::horizontalOffset
+696 QHeaderView::verticalOffset
+704 QHeaderView::isIndexHidden
+712 QHeaderView::setSelection
+720 QHeaderView::visualRegionForSelection
+728 QAbstractItemView::selectedIndexes
+736 QAbstractItemView::edit
+744 QAbstractItemView::selectionCommand
+752 QAbstractItemView::startDrag
+760 QAbstractItemView::viewOptions
+768 QHeaderView::paintSection
+776 QHeaderView::sectionSizeFromContents
+784 (int (*)(...))-0x00000000000000010
+792 (int (*)(...))(& _ZTI11QHeaderView)
+800 QHeaderView::_ZThn16_N11QHeaderViewD1Ev
+808 QHeaderView::_ZThn16_N11QHeaderViewD0Ev
+816 QWidget::_ZThn16_NK7QWidget7devTypeEv
+824 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+832 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QHeaderView
+ size=40 align=8
+ base size=40 base align=8
+QHeaderView (0x7f96dea41cb0) 0
+ vptr=((& QHeaderView::_ZTV11QHeaderView) + 16u)
+ QAbstractItemView (0x7f96dea41d20) 0
+ primary-for QHeaderView (0x7f96dea41cb0)
+ QAbstractScrollArea (0x7f96dea41d90) 0
+ primary-for QAbstractItemView (0x7f96dea41d20)
+ QFrame (0x7f96dea41e00) 0
+ primary-for QAbstractScrollArea (0x7f96dea41d90)
+ QWidget (0x7f96dea19f80) 0
+ primary-for QFrame (0x7f96dea41e00)
+ QObject (0x7f96dea41e70) 0
+ primary-for QWidget (0x7f96dea19f80)
+ QPaintDevice (0x7f96dea41ee0) 16
+ vptr=((& QHeaderView::_ZTV11QHeaderView) + 800u)
+
+Vtable for QItemEditorCreatorBase
+QItemEditorCreatorBase::_ZTV22QItemEditorCreatorBase: 6u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI22QItemEditorCreatorBase)
+16 QItemEditorCreatorBase::~QItemEditorCreatorBase
+24 QItemEditorCreatorBase::~QItemEditorCreatorBase
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+
+Class QItemEditorCreatorBase
+ size=8 align=8
+ base size=8 base align=8
+QItemEditorCreatorBase (0x7f96dea838c0) 0 nearly-empty
+ vptr=((& QItemEditorCreatorBase::_ZTV22QItemEditorCreatorBase) + 16u)
+
+Vtable for QItemEditorFactory
+QItemEditorFactory::_ZTV18QItemEditorFactory: 6u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QItemEditorFactory)
+16 QItemEditorFactory::~QItemEditorFactory
+24 QItemEditorFactory::~QItemEditorFactory
+32 QItemEditorFactory::createEditor
+40 QItemEditorFactory::valuePropertyName
+
+Class QItemEditorFactory
+ size=16 align=8
+ base size=16 base align=8
+QItemEditorFactory (0x7f96dea8e770) 0
+ vptr=((& QItemEditorFactory::_ZTV18QItemEditorFactory) + 16u)
+
+Vtable for QTreeWidgetItem
+QTreeWidgetItem::_ZTV15QTreeWidgetItem: 10u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QTreeWidgetItem)
+16 QTreeWidgetItem::~QTreeWidgetItem
+24 QTreeWidgetItem::~QTreeWidgetItem
+32 QTreeWidgetItem::clone
+40 QTreeWidgetItem::data
+48 QTreeWidgetItem::setData
+56 QTreeWidgetItem::operator<
+64 QTreeWidgetItem::read
+72 QTreeWidgetItem::write
+
+Class QTreeWidgetItem
+ size=64 align=8
+ base size=60 base align=8
+QTreeWidgetItem (0x7f96dea9aa10) 0
+ vptr=((& QTreeWidgetItem::_ZTV15QTreeWidgetItem) + 16u)
+
+Vtable for QTreeWidget
+QTreeWidget::_ZTV11QTreeWidget: 109u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QTreeWidget)
+16 QTreeWidget::metaObject
+24 QTreeWidget::qt_metacast
+32 QTreeWidget::qt_metacall
+40 QTreeWidget::~QTreeWidget
+48 QTreeWidget::~QTreeWidget
+56 QTreeWidget::event
+64 QObject::eventFilter
+72 QTreeView::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QAbstractScrollArea::sizeHint
+136 QAbstractScrollArea::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QTreeView::mousePressEvent
+168 QTreeView::mouseReleaseEvent
+176 QTreeView::mouseDoubleClickEvent
+184 QTreeView::mouseMoveEvent
+192 QAbstractScrollArea::wheelEvent
+200 QTreeView::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QAbstractItemView::focusInEvent
+224 QAbstractItemView::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QTreeView::paintEvent
+256 QWidget::moveEvent
+264 QAbstractItemView::resizeEvent
+272 QWidget::closeEvent
+280 QAbstractScrollArea::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QAbstractItemView::dragEnterEvent
+312 QTreeView::dragMoveEvent
+320 QAbstractItemView::dragLeaveEvent
+328 QTreeWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QFrame::changeEvent
+368 QWidget::metric
+376 QAbstractItemView::inputMethodEvent
+384 QAbstractItemView::inputMethodQuery
+392 QAbstractItemView::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QTreeView::viewportEvent
+456 QTreeView::scrollContentsBy
+464 QTreeWidget::setModel
+472 QTreeWidget::setSelectionModel
+480 QTreeView::keyboardSearch
+488 QTreeView::visualRect
+496 QTreeView::scrollTo
+504 QTreeView::indexAt
+512 QAbstractItemView::sizeHintForRow
+520 QTreeView::sizeHintForColumn
+528 QTreeView::reset
+536 QTreeView::setRootIndex
+544 QTreeView::doItemsLayout
+552 QTreeView::selectAll
+560 QTreeView::dataChanged
+568 QTreeView::rowsInserted
+576 QTreeView::rowsAboutToBeRemoved
+584 QTreeView::selectionChanged
+592 QTreeView::currentChanged
+600 QAbstractItemView::updateEditorData
+608 QAbstractItemView::updateEditorGeometries
+616 QTreeView::updateGeometries
+624 QAbstractItemView::verticalScrollbarAction
+632 QTreeView::horizontalScrollbarAction
+640 QAbstractItemView::verticalScrollbarValueChanged
+648 QAbstractItemView::horizontalScrollbarValueChanged
+656 QAbstractItemView::closeEditor
+664 QAbstractItemView::commitData
+672 QAbstractItemView::editorDestroyed
+680 QTreeView::moveCursor
+688 QTreeView::horizontalOffset
+696 QTreeView::verticalOffset
+704 QTreeView::isIndexHidden
+712 QTreeView::setSelection
+720 QTreeView::visualRegionForSelection
+728 QTreeView::selectedIndexes
+736 QAbstractItemView::edit
+744 QAbstractItemView::selectionCommand
+752 QAbstractItemView::startDrag
+760 QAbstractItemView::viewOptions
+768 QTreeView::drawRow
+776 QTreeView::drawBranches
+784 QTreeWidget::mimeTypes
+792 QTreeWidget::mimeData
+800 QTreeWidget::dropMimeData
+808 QTreeWidget::supportedDropActions
+816 (int (*)(...))-0x00000000000000010
+824 (int (*)(...))(& _ZTI11QTreeWidget)
+832 QTreeWidget::_ZThn16_N11QTreeWidgetD1Ev
+840 QTreeWidget::_ZThn16_N11QTreeWidgetD0Ev
+848 QWidget::_ZThn16_NK7QWidget7devTypeEv
+856 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+864 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QTreeWidget
+ size=40 align=8
+ base size=40 base align=8
+QTreeWidget (0x7f96de963f50) 0
+ vptr=((& QTreeWidget::_ZTV11QTreeWidget) + 16u)
+ QTreeView (0x7f96de96a000) 0
+ primary-for QTreeWidget (0x7f96de963f50)
+ QAbstractItemView (0x7f96de96a070) 0
+ primary-for QTreeView (0x7f96de96a000)
+ QAbstractScrollArea (0x7f96de96a0e0) 0
+ primary-for QAbstractItemView (0x7f96de96a070)
+ QFrame (0x7f96de96a150) 0
+ primary-for QAbstractScrollArea (0x7f96de96a0e0)
+ QWidget (0x7f96de95be00) 0
+ primary-for QFrame (0x7f96de96a150)
+ QObject (0x7f96de96a1c0) 0
+ primary-for QWidget (0x7f96de95be00)
+ QPaintDevice (0x7f96de96a230) 16
+ vptr=((& QTreeWidget::_ZTV11QTreeWidget) + 832u)
+
+Vtable for QAccessibleBridge
+QAccessibleBridge::_ZTV17QAccessibleBridge: 6u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QAccessibleBridge)
+16 QAccessibleBridge::~QAccessibleBridge
+24 QAccessibleBridge::~QAccessibleBridge
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+
+Class QAccessibleBridge
+ size=8 align=8
+ base size=8 base align=8
+QAccessibleBridge (0x7f96de9cc310) 0 nearly-empty
+ vptr=((& QAccessibleBridge::_ZTV17QAccessibleBridge) + 16u)
+
+Vtable for QAccessibleBridgeFactoryInterface
+QAccessibleBridgeFactoryInterface::_ZTV33QAccessibleBridgeFactoryInterface: 6u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI33QAccessibleBridgeFactoryInterface)
+16 QAccessibleBridgeFactoryInterface::~QAccessibleBridgeFactoryInterface
+24 QAccessibleBridgeFactoryInterface::~QAccessibleBridgeFactoryInterface
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+
+Class QAccessibleBridgeFactoryInterface
+ size=8 align=8
+ base size=8 base align=8
+QAccessibleBridgeFactoryInterface (0x7f96de9ccd90) 0 nearly-empty
+ vptr=((& QAccessibleBridgeFactoryInterface::_ZTV33QAccessibleBridgeFactoryInterface) + 16u)
+ QFactoryInterface (0x7f96de9cce00) 0 nearly-empty
+ primary-for QAccessibleBridgeFactoryInterface (0x7f96de9ccd90)
+
+Vtable for QAccessibleBridgePlugin
+QAccessibleBridgePlugin::_ZTV23QAccessibleBridgePlugin: 22u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI23QAccessibleBridgePlugin)
+16 QAccessibleBridgePlugin::metaObject
+24 QAccessibleBridgePlugin::qt_metacast
+32 QAccessibleBridgePlugin::qt_metacall
+40 QAccessibleBridgePlugin::~QAccessibleBridgePlugin
+48 QAccessibleBridgePlugin::~QAccessibleBridgePlugin
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 (int (*)(...))-0x00000000000000010
+136 (int (*)(...))(& _ZTI23QAccessibleBridgePlugin)
+144 QAccessibleBridgePlugin::_ZThn16_N23QAccessibleBridgePluginD1Ev
+152 QAccessibleBridgePlugin::_ZThn16_N23QAccessibleBridgePluginD0Ev
+160 __cxa_pure_virtual
+168 __cxa_pure_virtual
+
+Class QAccessibleBridgePlugin
+ size=24 align=8
+ base size=24 base align=8
+QAccessibleBridgePlugin (0x7f96de9da500) 0
+ vptr=((& QAccessibleBridgePlugin::_ZTV23QAccessibleBridgePlugin) + 16u)
+ QObject (0x7f96de9db5b0) 0
+ primary-for QAccessibleBridgePlugin (0x7f96de9da500)
+ QAccessibleBridgeFactoryInterface (0x7f96de9db620) 16 nearly-empty
+ vptr=((& QAccessibleBridgePlugin::_ZTV23QAccessibleBridgePlugin) + 144u)
+ QFactoryInterface (0x7f96de9db690) 16 nearly-empty
+ primary-for QAccessibleBridgeFactoryInterface (0x7f96de9db620)
+
+Class QAccessible
+ size=1 align=1
+ base size=0 base align=1
+QAccessible (0x7f96de9ed540) 0 empty
+
+Vtable for QAccessibleInterface
+QAccessibleInterface::_ZTV20QAccessibleInterface: 19u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI20QAccessibleInterface)
+16 QAccessibleInterface::~QAccessibleInterface
+24 QAccessibleInterface::~QAccessibleInterface
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+48 __cxa_pure_virtual
+56 __cxa_pure_virtual
+64 __cxa_pure_virtual
+72 __cxa_pure_virtual
+80 __cxa_pure_virtual
+88 __cxa_pure_virtual
+96 __cxa_pure_virtual
+104 __cxa_pure_virtual
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 __cxa_pure_virtual
+136 __cxa_pure_virtual
+144 __cxa_pure_virtual
+
+Class QAccessibleInterface
+ size=8 align=8
+ base size=8 base align=8
+QAccessibleInterface (0x7f96de88e700) 0 nearly-empty
+ vptr=((& QAccessibleInterface::_ZTV20QAccessibleInterface) + 16u)
+ QAccessible (0x7f96de88e770) 0 empty
+
+Vtable for QAccessibleInterfaceEx
+QAccessibleInterfaceEx::_ZTV22QAccessibleInterfaceEx: 22u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI22QAccessibleInterfaceEx)
+16 QAccessibleInterfaceEx::~QAccessibleInterfaceEx
+24 QAccessibleInterfaceEx::~QAccessibleInterfaceEx
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+48 __cxa_pure_virtual
+56 __cxa_pure_virtual
+64 __cxa_pure_virtual
+72 __cxa_pure_virtual
+80 __cxa_pure_virtual
+88 __cxa_pure_virtual
+96 __cxa_pure_virtual
+104 __cxa_pure_virtual
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 __cxa_pure_virtual
+136 __cxa_pure_virtual
+144 __cxa_pure_virtual
+152 __cxa_pure_virtual
+160 QAccessibleInterfaceEx::virtual_hook
+168 QAccessibleInterfaceEx::interface_cast
+
+Class QAccessibleInterfaceEx
+ size=8 align=8
+ base size=8 base align=8
+QAccessibleInterfaceEx (0x7f96de8ed000) 0 nearly-empty
+ vptr=((& QAccessibleInterfaceEx::_ZTV22QAccessibleInterfaceEx) + 16u)
+ QAccessibleInterface (0x7f96de8ed070) 0 nearly-empty
+ primary-for QAccessibleInterfaceEx (0x7f96de8ed000)
+ QAccessible (0x7f96de8ed0e0) 0 empty
+
+Vtable for QAccessibleEvent
+QAccessibleEvent::_ZTV16QAccessibleEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QAccessibleEvent)
+16 QAccessibleEvent::~QAccessibleEvent
+24 QAccessibleEvent::~QAccessibleEvent
+
+Class QAccessibleEvent
+ size=32 align=8
+ base size=32 base align=8
+QAccessibleEvent (0x7f96de8ed380) 0
+ vptr=((& QAccessibleEvent::_ZTV16QAccessibleEvent) + 16u)
+ QEvent (0x7f96de8ed3f0) 0
+ primary-for QAccessibleEvent (0x7f96de8ed380)
+
+Vtable for QAccessibleObject
+QAccessibleObject::_ZTV17QAccessibleObject: 19u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QAccessibleObject)
+16 QAccessibleObject::~QAccessibleObject
+24 QAccessibleObject::~QAccessibleObject
+32 QAccessibleObject::isValid
+40 QAccessibleObject::object
+48 __cxa_pure_virtual
+56 __cxa_pure_virtual
+64 __cxa_pure_virtual
+72 __cxa_pure_virtual
+80 __cxa_pure_virtual
+88 __cxa_pure_virtual
+96 QAccessibleObject::setText
+104 QAccessibleObject::rect
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 QAccessibleObject::userActionCount
+136 QAccessibleObject::actionText
+144 QAccessibleObject::doAction
+
+Class QAccessibleObject
+ size=16 align=8
+ base size=16 base align=8
+QAccessibleObject (0x7f96de905230) 0
+ vptr=((& QAccessibleObject::_ZTV17QAccessibleObject) + 16u)
+ QAccessibleInterface (0x7f96de9052a0) 0 nearly-empty
+ primary-for QAccessibleObject (0x7f96de905230)
+ QAccessible (0x7f96de905310) 0 empty
+
+Vtable for QAccessibleObjectEx
+QAccessibleObjectEx::_ZTV19QAccessibleObjectEx: 22u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QAccessibleObjectEx)
+16 QAccessibleObjectEx::~QAccessibleObjectEx
+24 QAccessibleObjectEx::~QAccessibleObjectEx
+32 QAccessibleObjectEx::isValid
+40 QAccessibleObjectEx::object
+48 __cxa_pure_virtual
+56 __cxa_pure_virtual
+64 __cxa_pure_virtual
+72 __cxa_pure_virtual
+80 __cxa_pure_virtual
+88 __cxa_pure_virtual
+96 QAccessibleObjectEx::setText
+104 QAccessibleObjectEx::rect
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 QAccessibleObjectEx::userActionCount
+136 QAccessibleObjectEx::actionText
+144 QAccessibleObjectEx::doAction
+152 __cxa_pure_virtual
+160 QAccessibleInterfaceEx::virtual_hook
+168 QAccessibleInterfaceEx::interface_cast
+
+Class QAccessibleObjectEx
+ size=16 align=8
+ base size=16 base align=8
+QAccessibleObjectEx (0x7f96de905a10) 0
+ vptr=((& QAccessibleObjectEx::_ZTV19QAccessibleObjectEx) + 16u)
+ QAccessibleInterfaceEx (0x7f96de905a80) 0 nearly-empty
+ primary-for QAccessibleObjectEx (0x7f96de905a10)
+ QAccessibleInterface (0x7f96de905af0) 0 nearly-empty
+ primary-for QAccessibleInterfaceEx (0x7f96de905a80)
+ QAccessible (0x7f96de905b60) 0 empty
+
+Vtable for QAccessibleApplication
+QAccessibleApplication::_ZTV22QAccessibleApplication: 19u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI22QAccessibleApplication)
+16 QAccessibleApplication::~QAccessibleApplication
+24 QAccessibleApplication::~QAccessibleApplication
+32 QAccessibleObject::isValid
+40 QAccessibleObject::object
+48 QAccessibleApplication::childCount
+56 QAccessibleApplication::indexOfChild
+64 QAccessibleApplication::relationTo
+72 QAccessibleApplication::childAt
+80 QAccessibleApplication::navigate
+88 QAccessibleApplication::text
+96 QAccessibleObject::setText
+104 QAccessibleObject::rect
+112 QAccessibleApplication::role
+120 QAccessibleApplication::state
+128 QAccessibleApplication::userActionCount
+136 QAccessibleApplication::actionText
+144 QAccessibleApplication::doAction
+
+Class QAccessibleApplication
+ size=16 align=8
+ base size=16 base align=8
+QAccessibleApplication (0x7f96de715230) 0
+ vptr=((& QAccessibleApplication::_ZTV22QAccessibleApplication) + 16u)
+ QAccessibleObject (0x7f96de7152a0) 0
+ primary-for QAccessibleApplication (0x7f96de715230)
+ QAccessibleInterface (0x7f96de715310) 0 nearly-empty
+ primary-for QAccessibleObject (0x7f96de7152a0)
+ QAccessible (0x7f96de715380) 0 empty
+
+Vtable for QAccessibleWidget
+QAccessibleWidget::_ZTV17QAccessibleWidget: 19u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QAccessibleWidget)
+16 QAccessibleWidget::~QAccessibleWidget
+24 QAccessibleWidget::~QAccessibleWidget
+32 QAccessibleObject::isValid
+40 QAccessibleObject::object
+48 QAccessibleWidget::childCount
+56 QAccessibleWidget::indexOfChild
+64 QAccessibleWidget::relationTo
+72 QAccessibleWidget::childAt
+80 QAccessibleWidget::navigate
+88 QAccessibleWidget::text
+96 QAccessibleObject::setText
+104 QAccessibleWidget::rect
+112 QAccessibleWidget::role
+120 QAccessibleWidget::state
+128 QAccessibleWidget::userActionCount
+136 QAccessibleWidget::actionText
+144 QAccessibleWidget::doAction
+
+Class QAccessibleWidget
+ size=24 align=8
+ base size=24 base align=8
+QAccessibleWidget (0x7f96de715c40) 0
+ vptr=((& QAccessibleWidget::_ZTV17QAccessibleWidget) + 16u)
+ QAccessibleObject (0x7f96de715cb0) 0
+ primary-for QAccessibleWidget (0x7f96de715c40)
+ QAccessibleInterface (0x7f96de715d20) 0 nearly-empty
+ primary-for QAccessibleObject (0x7f96de715cb0)
+ QAccessible (0x7f96de715d90) 0 empty
+
+Vtable for QAccessibleWidgetEx
+QAccessibleWidgetEx::_ZTV19QAccessibleWidgetEx: 22u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QAccessibleWidgetEx)
+16 QAccessibleWidgetEx::~QAccessibleWidgetEx
+24 QAccessibleWidgetEx::~QAccessibleWidgetEx
+32 QAccessibleObjectEx::isValid
+40 QAccessibleObjectEx::object
+48 QAccessibleWidgetEx::childCount
+56 QAccessibleWidgetEx::indexOfChild
+64 QAccessibleWidgetEx::relationTo
+72 QAccessibleWidgetEx::childAt
+80 QAccessibleWidgetEx::navigate
+88 QAccessibleWidgetEx::text
+96 QAccessibleObjectEx::setText
+104 QAccessibleWidgetEx::rect
+112 QAccessibleWidgetEx::role
+120 QAccessibleWidgetEx::state
+128 QAccessibleObjectEx::userActionCount
+136 QAccessibleWidgetEx::actionText
+144 QAccessibleWidgetEx::doAction
+152 QAccessibleWidgetEx::invokeMethodEx
+160 QAccessibleInterfaceEx::virtual_hook
+168 QAccessibleInterfaceEx::interface_cast
+
+Class QAccessibleWidgetEx
+ size=24 align=8
+ base size=24 base align=8
+QAccessibleWidgetEx (0x7f96de723c40) 0
+ vptr=((& QAccessibleWidgetEx::_ZTV19QAccessibleWidgetEx) + 16u)
+ QAccessibleObjectEx (0x7f96de723cb0) 0
+ primary-for QAccessibleWidgetEx (0x7f96de723c40)
+ QAccessibleInterfaceEx (0x7f96de723d20) 0 nearly-empty
+ primary-for QAccessibleObjectEx (0x7f96de723cb0)
+ QAccessibleInterface (0x7f96de723d90) 0 nearly-empty
+ primary-for QAccessibleInterfaceEx (0x7f96de723d20)
+ QAccessible (0x7f96de723e00) 0 empty
+
+Vtable for QAccessible2Interface
+QAccessible2Interface::_ZTV21QAccessible2Interface: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI21QAccessible2Interface)
+16 QAccessible2Interface::~QAccessible2Interface
+24 QAccessible2Interface::~QAccessible2Interface
+
+Class QAccessible2Interface
+ size=8 align=8
+ base size=8 base align=8
+QAccessible2Interface (0x7f96de730d90) 0 nearly-empty
+ vptr=((& QAccessible2Interface::_ZTV21QAccessible2Interface) + 16u)
+
+Vtable for QAccessibleTextInterface
+QAccessibleTextInterface::_ZTV24QAccessibleTextInterface: 20u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI24QAccessibleTextInterface)
+16 QAccessibleTextInterface::~QAccessibleTextInterface
+24 QAccessibleTextInterface::~QAccessibleTextInterface
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+48 __cxa_pure_virtual
+56 __cxa_pure_virtual
+64 __cxa_pure_virtual
+72 __cxa_pure_virtual
+80 __cxa_pure_virtual
+88 __cxa_pure_virtual
+96 __cxa_pure_virtual
+104 __cxa_pure_virtual
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 __cxa_pure_virtual
+136 __cxa_pure_virtual
+144 __cxa_pure_virtual
+152 __cxa_pure_virtual
+
+Class QAccessibleTextInterface
+ size=8 align=8
+ base size=8 base align=8
+QAccessibleTextInterface (0x7f96de740cb0) 0 nearly-empty
+ vptr=((& QAccessibleTextInterface::_ZTV24QAccessibleTextInterface) + 16u)
+ QAccessible2Interface (0x7f96de740d20) 0 nearly-empty
+ primary-for QAccessibleTextInterface (0x7f96de740cb0)
+
+Vtable for QAccessibleEditableTextInterface
+QAccessibleEditableTextInterface::_ZTV32QAccessibleEditableTextInterface: 11u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI32QAccessibleEditableTextInterface)
+16 QAccessibleEditableTextInterface::~QAccessibleEditableTextInterface
+24 QAccessibleEditableTextInterface::~QAccessibleEditableTextInterface
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+48 __cxa_pure_virtual
+56 __cxa_pure_virtual
+64 __cxa_pure_virtual
+72 __cxa_pure_virtual
+80 __cxa_pure_virtual
+
+Class QAccessibleEditableTextInterface
+ size=8 align=8
+ base size=8 base align=8
+QAccessibleEditableTextInterface (0x7f96de750b60) 0 nearly-empty
+ vptr=((& QAccessibleEditableTextInterface::_ZTV32QAccessibleEditableTextInterface) + 16u)
+ QAccessible2Interface (0x7f96de750bd0) 0 nearly-empty
+ primary-for QAccessibleEditableTextInterface (0x7f96de750b60)
+
+Vtable for QAccessibleSimpleEditableTextInterface
+QAccessibleSimpleEditableTextInterface::_ZTV38QAccessibleSimpleEditableTextInterface: 11u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI38QAccessibleSimpleEditableTextInterface)
+16 QAccessibleSimpleEditableTextInterface::~QAccessibleSimpleEditableTextInterface
+24 QAccessibleSimpleEditableTextInterface::~QAccessibleSimpleEditableTextInterface
+32 QAccessibleSimpleEditableTextInterface::copyText
+40 QAccessibleSimpleEditableTextInterface::deleteText
+48 QAccessibleSimpleEditableTextInterface::insertText
+56 QAccessibleSimpleEditableTextInterface::cutText
+64 QAccessibleSimpleEditableTextInterface::pasteText
+72 QAccessibleSimpleEditableTextInterface::replaceText
+80 QAccessibleSimpleEditableTextInterface::setAttributes
+
+Class QAccessibleSimpleEditableTextInterface
+ size=16 align=8
+ base size=16 base align=8
+QAccessibleSimpleEditableTextInterface (0x7f96de75ea10) 0
+ vptr=((& QAccessibleSimpleEditableTextInterface::_ZTV38QAccessibleSimpleEditableTextInterface) + 16u)
+ QAccessibleEditableTextInterface (0x7f96de75ea80) 0 nearly-empty
+ primary-for QAccessibleSimpleEditableTextInterface (0x7f96de75ea10)
+ QAccessible2Interface (0x7f96de75eaf0) 0 nearly-empty
+ primary-for QAccessibleEditableTextInterface (0x7f96de75ea80)
+
+Vtable for QAccessibleValueInterface
+QAccessibleValueInterface::_ZTV25QAccessibleValueInterface: 8u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI25QAccessibleValueInterface)
+16 QAccessibleValueInterface::~QAccessibleValueInterface
+24 QAccessibleValueInterface::~QAccessibleValueInterface
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+48 __cxa_pure_virtual
+56 __cxa_pure_virtual
+
+Class QAccessibleValueInterface
+ size=8 align=8
+ base size=8 base align=8
+QAccessibleValueInterface (0x7f96de75ed20) 0 nearly-empty
+ vptr=((& QAccessibleValueInterface::_ZTV25QAccessibleValueInterface) + 16u)
+ QAccessible2Interface (0x7f96de75ed90) 0 nearly-empty
+ primary-for QAccessibleValueInterface (0x7f96de75ed20)
+
+Vtable for QAccessibleTableInterface
+QAccessibleTableInterface::_ZTV25QAccessibleTableInterface: 30u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI25QAccessibleTableInterface)
+16 QAccessibleTableInterface::~QAccessibleTableInterface
+24 QAccessibleTableInterface::~QAccessibleTableInterface
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+48 __cxa_pure_virtual
+56 __cxa_pure_virtual
+64 __cxa_pure_virtual
+72 __cxa_pure_virtual
+80 __cxa_pure_virtual
+88 __cxa_pure_virtual
+96 __cxa_pure_virtual
+104 __cxa_pure_virtual
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 __cxa_pure_virtual
+136 __cxa_pure_virtual
+144 __cxa_pure_virtual
+152 __cxa_pure_virtual
+160 __cxa_pure_virtual
+168 __cxa_pure_virtual
+176 __cxa_pure_virtual
+184 __cxa_pure_virtual
+192 __cxa_pure_virtual
+200 __cxa_pure_virtual
+208 __cxa_pure_virtual
+216 __cxa_pure_virtual
+224 __cxa_pure_virtual
+232 __cxa_pure_virtual
+
+Class QAccessibleTableInterface
+ size=8 align=8
+ base size=8 base align=8
+QAccessibleTableInterface (0x7f96de76eb60) 0 nearly-empty
+ vptr=((& QAccessibleTableInterface::_ZTV25QAccessibleTableInterface) + 16u)
+ QAccessible2Interface (0x7f96de76ebd0) 0 nearly-empty
+ primary-for QAccessibleTableInterface (0x7f96de76eb60)
+
+Vtable for QAccessibleFactoryInterface
+QAccessibleFactoryInterface::_ZTV27QAccessibleFactoryInterface: 6u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI27QAccessibleFactoryInterface)
+16 QAccessibleFactoryInterface::~QAccessibleFactoryInterface
+24 QAccessibleFactoryInterface::~QAccessibleFactoryInterface
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+
+Class QAccessibleFactoryInterface
+ size=8 align=8
+ base size=8 base align=8
+QAccessibleFactoryInterface (0x7f96de772c80) 0 nearly-empty
+ vptr=((& QAccessibleFactoryInterface::_ZTV27QAccessibleFactoryInterface) + 16u)
+ QAccessible (0x7f96de76ef50) 0 empty
+ QFactoryInterface (0x7f96de76ed90) 0 nearly-empty
+ primary-for QAccessibleFactoryInterface (0x7f96de772c80)
+
+Vtable for QAccessiblePlugin
+QAccessiblePlugin::_ZTV17QAccessiblePlugin: 22u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QAccessiblePlugin)
+16 QAccessiblePlugin::metaObject
+24 QAccessiblePlugin::qt_metacast
+32 QAccessiblePlugin::qt_metacall
+40 QAccessiblePlugin::~QAccessiblePlugin
+48 QAccessiblePlugin::~QAccessiblePlugin
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 (int (*)(...))-0x00000000000000010
+136 (int (*)(...))(& _ZTI17QAccessiblePlugin)
+144 QAccessiblePlugin::_ZThn16_N17QAccessiblePluginD1Ev
+152 QAccessiblePlugin::_ZThn16_N17QAccessiblePluginD0Ev
+160 __cxa_pure_virtual
+168 __cxa_pure_virtual
+
+Class QAccessiblePlugin
+ size=24 align=8
+ base size=24 base align=8
+QAccessiblePlugin (0x7f96de786480) 0
+ vptr=((& QAccessiblePlugin::_ZTV17QAccessiblePlugin) + 16u)
+ QObject (0x7f96de7837e0) 0
+ primary-for QAccessiblePlugin (0x7f96de786480)
+ QAccessibleFactoryInterface (0x7f96de786500) 16 nearly-empty
+ vptr=((& QAccessiblePlugin::_ZTV17QAccessiblePlugin) + 144u)
+ QAccessible (0x7f96de783850) 16 empty
+ QFactoryInterface (0x7f96de7838c0) 16 nearly-empty
+ primary-for QAccessibleFactoryInterface (0x7f96de786500)
+
+Vtable for QLayoutItem
+QLayoutItem::_ZTV11QLayoutItem: 18u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QLayoutItem)
+16 QLayoutItem::~QLayoutItem
+24 QLayoutItem::~QLayoutItem
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+48 __cxa_pure_virtual
+56 __cxa_pure_virtual
+64 __cxa_pure_virtual
+72 __cxa_pure_virtual
+80 __cxa_pure_virtual
+88 QLayoutItem::hasHeightForWidth
+96 QLayoutItem::heightForWidth
+104 QLayoutItem::minimumHeightForWidth
+112 QLayoutItem::invalidate
+120 QLayoutItem::widget
+128 QLayoutItem::layout
+136 QLayoutItem::spacerItem
+
+Class QLayoutItem
+ size=16 align=8
+ base size=12 base align=8
+QLayoutItem (0x7f96de7957e0) 0
+ vptr=((& QLayoutItem::_ZTV11QLayoutItem) + 16u)
+
+Vtable for QSpacerItem
+QSpacerItem::_ZTV11QSpacerItem: 18u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QSpacerItem)
+16 QSpacerItem::~QSpacerItem
+24 QSpacerItem::~QSpacerItem
+32 QSpacerItem::sizeHint
+40 QSpacerItem::minimumSize
+48 QSpacerItem::maximumSize
+56 QSpacerItem::expandingDirections
+64 QSpacerItem::setGeometry
+72 QSpacerItem::geometry
+80 QSpacerItem::isEmpty
+88 QLayoutItem::hasHeightForWidth
+96 QLayoutItem::heightForWidth
+104 QLayoutItem::minimumHeightForWidth
+112 QLayoutItem::invalidate
+120 QLayoutItem::widget
+128 QLayoutItem::layout
+136 QSpacerItem::spacerItem
+
+Class QSpacerItem
+ size=40 align=8
+ base size=40 base align=8
+QSpacerItem (0x7f96de7a7380) 0
+ vptr=((& QSpacerItem::_ZTV11QSpacerItem) + 16u)
+ QLayoutItem (0x7f96de7a73f0) 0
+ primary-for QSpacerItem (0x7f96de7a7380)
+
+Vtable for QWidgetItem
+QWidgetItem::_ZTV11QWidgetItem: 18u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QWidgetItem)
+16 QWidgetItem::~QWidgetItem
+24 QWidgetItem::~QWidgetItem
+32 QWidgetItem::sizeHint
+40 QWidgetItem::minimumSize
+48 QWidgetItem::maximumSize
+56 QWidgetItem::expandingDirections
+64 QWidgetItem::setGeometry
+72 QWidgetItem::geometry
+80 QWidgetItem::isEmpty
+88 QWidgetItem::hasHeightForWidth
+96 QWidgetItem::heightForWidth
+104 QLayoutItem::minimumHeightForWidth
+112 QLayoutItem::invalidate
+120 QWidgetItem::widget
+128 QLayoutItem::layout
+136 QLayoutItem::spacerItem
+
+Class QWidgetItem
+ size=24 align=8
+ base size=24 base align=8
+QWidgetItem (0x7f96de7b68c0) 0
+ vptr=((& QWidgetItem::_ZTV11QWidgetItem) + 16u)
+ QLayoutItem (0x7f96de7b6930) 0
+ primary-for QWidgetItem (0x7f96de7b68c0)
+
+Vtable for QWidgetItemV2
+QWidgetItemV2::_ZTV13QWidgetItemV2: 18u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QWidgetItemV2)
+16 QWidgetItemV2::~QWidgetItemV2
+24 QWidgetItemV2::~QWidgetItemV2
+32 QWidgetItemV2::sizeHint
+40 QWidgetItemV2::minimumSize
+48 QWidgetItemV2::maximumSize
+56 QWidgetItem::expandingDirections
+64 QWidgetItem::setGeometry
+72 QWidgetItem::geometry
+80 QWidgetItem::isEmpty
+88 QWidgetItem::hasHeightForWidth
+96 QWidgetItemV2::heightForWidth
+104 QLayoutItem::minimumHeightForWidth
+112 QLayoutItem::invalidate
+120 QWidgetItem::widget
+128 QLayoutItem::layout
+136 QLayoutItem::spacerItem
+
+Class QWidgetItemV2
+ size=88 align=8
+ base size=88 base align=8
+QWidgetItemV2 (0x7f96de7c2700) 0
+ vptr=((& QWidgetItemV2::_ZTV13QWidgetItemV2) + 16u)
+ QWidgetItem (0x7f96de7c2770) 0
+ primary-for QWidgetItemV2 (0x7f96de7c2700)
+ QLayoutItem (0x7f96de7c27e0) 0
+ primary-for QWidgetItem (0x7f96de7c2770)
+
+Class QLayoutIterator
+ size=16 align=8
+ base size=12 base align=8
+QLayoutIterator (0x7f96de7d1540) 0
+
+Vtable for QLayout
+QLayout::_ZTV7QLayout: 45u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QLayout)
+16 QLayout::metaObject
+24 QLayout::qt_metacast
+32 QLayout::qt_metacall
+40 QLayout::~QLayout
+48 QLayout::~QLayout
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QLayout::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QLayout::invalidate
+120 QLayout::geometry
+128 __cxa_pure_virtual
+136 QLayout::expandingDirections
+144 QLayout::minimumSize
+152 QLayout::maximumSize
+160 QLayout::setGeometry
+168 __cxa_pure_virtual
+176 __cxa_pure_virtual
+184 QLayout::indexOf
+192 __cxa_pure_virtual
+200 QLayout::isEmpty
+208 QLayout::layout
+216 (int (*)(...))-0x00000000000000010
+224 (int (*)(...))(& _ZTI7QLayout)
+232 QLayout::_ZThn16_N7QLayoutD1Ev
+240 QLayout::_ZThn16_N7QLayoutD0Ev
+248 __cxa_pure_virtual
+256 QLayout::_ZThn16_NK7QLayout11minimumSizeEv
+264 QLayout::_ZThn16_NK7QLayout11maximumSizeEv
+272 QLayout::_ZThn16_NK7QLayout19expandingDirectionsEv
+280 QLayout::_ZThn16_N7QLayout11setGeometryERK5QRect
+288 QLayout::_ZThn16_NK7QLayout8geometryEv
+296 QLayout::_ZThn16_NK7QLayout7isEmptyEv
+304 QLayoutItem::hasHeightForWidth
+312 QLayoutItem::heightForWidth
+320 QLayoutItem::minimumHeightForWidth
+328 QLayout::_ZThn16_N7QLayout10invalidateEv
+336 QLayoutItem::widget
+344 QLayout::_ZThn16_N7QLayout6layoutEv
+352 QLayoutItem::spacerItem
+
+Class QLayout
+ size=32 align=8
+ base size=28 base align=8
+QLayout (0x7f96de7df180) 0
+ vptr=((& QLayout::_ZTV7QLayout) + 16u)
+ QObject (0x7f96de7de690) 0
+ primary-for QLayout (0x7f96de7df180)
+ QLayoutItem (0x7f96de7de700) 16
+ vptr=((& QLayout::_ZTV7QLayout) + 232u)
+
+Vtable for QBoxLayout
+QBoxLayout::_ZTV10QBoxLayout: 49u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QBoxLayout)
+16 QBoxLayout::metaObject
+24 QBoxLayout::qt_metacast
+32 QBoxLayout::qt_metacall
+40 QBoxLayout::~QBoxLayout
+48 QBoxLayout::~QBoxLayout
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QLayout::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QBoxLayout::invalidate
+120 QLayout::geometry
+128 QBoxLayout::addItem
+136 QBoxLayout::expandingDirections
+144 QBoxLayout::minimumSize
+152 QBoxLayout::maximumSize
+160 QBoxLayout::setGeometry
+168 QBoxLayout::itemAt
+176 QBoxLayout::takeAt
+184 QLayout::indexOf
+192 QBoxLayout::count
+200 QLayout::isEmpty
+208 QLayout::layout
+216 QBoxLayout::sizeHint
+224 QBoxLayout::hasHeightForWidth
+232 QBoxLayout::heightForWidth
+240 QBoxLayout::minimumHeightForWidth
+248 (int (*)(...))-0x00000000000000010
+256 (int (*)(...))(& _ZTI10QBoxLayout)
+264 QBoxLayout::_ZThn16_N10QBoxLayoutD1Ev
+272 QBoxLayout::_ZThn16_N10QBoxLayoutD0Ev
+280 QBoxLayout::_ZThn16_NK10QBoxLayout8sizeHintEv
+288 QBoxLayout::_ZThn16_NK10QBoxLayout11minimumSizeEv
+296 QBoxLayout::_ZThn16_NK10QBoxLayout11maximumSizeEv
+304 QBoxLayout::_ZThn16_NK10QBoxLayout19expandingDirectionsEv
+312 QBoxLayout::_ZThn16_N10QBoxLayout11setGeometryERK5QRect
+320 QLayout::_ZThn16_NK7QLayout8geometryEv
+328 QLayout::_ZThn16_NK7QLayout7isEmptyEv
+336 QBoxLayout::_ZThn16_NK10QBoxLayout17hasHeightForWidthEv
+344 QBoxLayout::_ZThn16_NK10QBoxLayout14heightForWidthEi
+352 QBoxLayout::_ZThn16_NK10QBoxLayout21minimumHeightForWidthEi
+360 QBoxLayout::_ZThn16_N10QBoxLayout10invalidateEv
+368 QLayoutItem::widget
+376 QLayout::_ZThn16_N7QLayout6layoutEv
+384 QLayoutItem::spacerItem
+
+Class QBoxLayout
+ size=32 align=8
+ base size=28 base align=8
+QBoxLayout (0x7f96de618bd0) 0
+ vptr=((& QBoxLayout::_ZTV10QBoxLayout) + 16u)
+ QLayout (0x7f96de61c200) 0
+ primary-for QBoxLayout (0x7f96de618bd0)
+ QObject (0x7f96de618c40) 0
+ primary-for QLayout (0x7f96de61c200)
+ QLayoutItem (0x7f96de618cb0) 16
+ vptr=((& QBoxLayout::_ZTV10QBoxLayout) + 264u)
+
+Vtable for QHBoxLayout
+QHBoxLayout::_ZTV11QHBoxLayout: 49u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QHBoxLayout)
+16 QHBoxLayout::metaObject
+24 QHBoxLayout::qt_metacast
+32 QHBoxLayout::qt_metacall
+40 QHBoxLayout::~QHBoxLayout
+48 QHBoxLayout::~QHBoxLayout
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QLayout::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QBoxLayout::invalidate
+120 QLayout::geometry
+128 QBoxLayout::addItem
+136 QBoxLayout::expandingDirections
+144 QBoxLayout::minimumSize
+152 QBoxLayout::maximumSize
+160 QBoxLayout::setGeometry
+168 QBoxLayout::itemAt
+176 QBoxLayout::takeAt
+184 QLayout::indexOf
+192 QBoxLayout::count
+200 QLayout::isEmpty
+208 QLayout::layout
+216 QBoxLayout::sizeHint
+224 QBoxLayout::hasHeightForWidth
+232 QBoxLayout::heightForWidth
+240 QBoxLayout::minimumHeightForWidth
+248 (int (*)(...))-0x00000000000000010
+256 (int (*)(...))(& _ZTI11QHBoxLayout)
+264 QHBoxLayout::_ZThn16_N11QHBoxLayoutD1Ev
+272 QHBoxLayout::_ZThn16_N11QHBoxLayoutD0Ev
+280 QBoxLayout::_ZThn16_NK10QBoxLayout8sizeHintEv
+288 QBoxLayout::_ZThn16_NK10QBoxLayout11minimumSizeEv
+296 QBoxLayout::_ZThn16_NK10QBoxLayout11maximumSizeEv
+304 QBoxLayout::_ZThn16_NK10QBoxLayout19expandingDirectionsEv
+312 QBoxLayout::_ZThn16_N10QBoxLayout11setGeometryERK5QRect
+320 QLayout::_ZThn16_NK7QLayout8geometryEv
+328 QLayout::_ZThn16_NK7QLayout7isEmptyEv
+336 QBoxLayout::_ZThn16_NK10QBoxLayout17hasHeightForWidthEv
+344 QBoxLayout::_ZThn16_NK10QBoxLayout14heightForWidthEi
+352 QBoxLayout::_ZThn16_NK10QBoxLayout21minimumHeightForWidthEi
+360 QBoxLayout::_ZThn16_N10QBoxLayout10invalidateEv
+368 QLayoutItem::widget
+376 QLayout::_ZThn16_N7QLayout6layoutEv
+384 QLayoutItem::spacerItem
+
+Class QHBoxLayout
+ size=32 align=8
+ base size=28 base align=8
+QHBoxLayout (0x7f96de646620) 0
+ vptr=((& QHBoxLayout::_ZTV11QHBoxLayout) + 16u)
+ QBoxLayout (0x7f96de646690) 0
+ primary-for QHBoxLayout (0x7f96de646620)
+ QLayout (0x7f96de61cf80) 0
+ primary-for QBoxLayout (0x7f96de646690)
+ QObject (0x7f96de646700) 0
+ primary-for QLayout (0x7f96de61cf80)
+ QLayoutItem (0x7f96de646770) 16
+ vptr=((& QHBoxLayout::_ZTV11QHBoxLayout) + 264u)
+
+Vtable for QVBoxLayout
+QVBoxLayout::_ZTV11QVBoxLayout: 49u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QVBoxLayout)
+16 QVBoxLayout::metaObject
+24 QVBoxLayout::qt_metacast
+32 QVBoxLayout::qt_metacall
+40 QVBoxLayout::~QVBoxLayout
+48 QVBoxLayout::~QVBoxLayout
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QLayout::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QBoxLayout::invalidate
+120 QLayout::geometry
+128 QBoxLayout::addItem
+136 QBoxLayout::expandingDirections
+144 QBoxLayout::minimumSize
+152 QBoxLayout::maximumSize
+160 QBoxLayout::setGeometry
+168 QBoxLayout::itemAt
+176 QBoxLayout::takeAt
+184 QLayout::indexOf
+192 QBoxLayout::count
+200 QLayout::isEmpty
+208 QLayout::layout
+216 QBoxLayout::sizeHint
+224 QBoxLayout::hasHeightForWidth
+232 QBoxLayout::heightForWidth
+240 QBoxLayout::minimumHeightForWidth
+248 (int (*)(...))-0x00000000000000010
+256 (int (*)(...))(& _ZTI11QVBoxLayout)
+264 QVBoxLayout::_ZThn16_N11QVBoxLayoutD1Ev
+272 QVBoxLayout::_ZThn16_N11QVBoxLayoutD0Ev
+280 QBoxLayout::_ZThn16_NK10QBoxLayout8sizeHintEv
+288 QBoxLayout::_ZThn16_NK10QBoxLayout11minimumSizeEv
+296 QBoxLayout::_ZThn16_NK10QBoxLayout11maximumSizeEv
+304 QBoxLayout::_ZThn16_NK10QBoxLayout19expandingDirectionsEv
+312 QBoxLayout::_ZThn16_N10QBoxLayout11setGeometryERK5QRect
+320 QLayout::_ZThn16_NK7QLayout8geometryEv
+328 QLayout::_ZThn16_NK7QLayout7isEmptyEv
+336 QBoxLayout::_ZThn16_NK10QBoxLayout17hasHeightForWidthEv
+344 QBoxLayout::_ZThn16_NK10QBoxLayout14heightForWidthEi
+352 QBoxLayout::_ZThn16_NK10QBoxLayout21minimumHeightForWidthEi
+360 QBoxLayout::_ZThn16_N10QBoxLayout10invalidateEv
+368 QLayoutItem::widget
+376 QLayout::_ZThn16_N7QLayout6layoutEv
+384 QLayoutItem::spacerItem
+
+Class QVBoxLayout
+ size=32 align=8
+ base size=28 base align=8
+QVBoxLayout (0x7f96de652cb0) 0
+ vptr=((& QVBoxLayout::_ZTV11QVBoxLayout) + 16u)
+ QBoxLayout (0x7f96de652d20) 0
+ primary-for QVBoxLayout (0x7f96de652cb0)
+ QLayout (0x7f96de64b680) 0
+ primary-for QBoxLayout (0x7f96de652d20)
+ QObject (0x7f96de652d90) 0
+ primary-for QLayout (0x7f96de64b680)
+ QLayoutItem (0x7f96de652e00) 16
+ vptr=((& QVBoxLayout::_ZTV11QVBoxLayout) + 264u)
+
+Vtable for QGridLayout
+QGridLayout::_ZTV11QGridLayout: 49u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QGridLayout)
+16 QGridLayout::metaObject
+24 QGridLayout::qt_metacast
+32 QGridLayout::qt_metacall
+40 QGridLayout::~QGridLayout
+48 QGridLayout::~QGridLayout
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QLayout::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QGridLayout::invalidate
+120 QLayout::geometry
+128 QGridLayout::addItem
+136 QGridLayout::expandingDirections
+144 QGridLayout::minimumSize
+152 QGridLayout::maximumSize
+160 QGridLayout::setGeometry
+168 QGridLayout::itemAt
+176 QGridLayout::takeAt
+184 QLayout::indexOf
+192 QGridLayout::count
+200 QLayout::isEmpty
+208 QLayout::layout
+216 QGridLayout::sizeHint
+224 QGridLayout::hasHeightForWidth
+232 QGridLayout::heightForWidth
+240 QGridLayout::minimumHeightForWidth
+248 (int (*)(...))-0x00000000000000010
+256 (int (*)(...))(& _ZTI11QGridLayout)
+264 QGridLayout::_ZThn16_N11QGridLayoutD1Ev
+272 QGridLayout::_ZThn16_N11QGridLayoutD0Ev
+280 QGridLayout::_ZThn16_NK11QGridLayout8sizeHintEv
+288 QGridLayout::_ZThn16_NK11QGridLayout11minimumSizeEv
+296 QGridLayout::_ZThn16_NK11QGridLayout11maximumSizeEv
+304 QGridLayout::_ZThn16_NK11QGridLayout19expandingDirectionsEv
+312 QGridLayout::_ZThn16_N11QGridLayout11setGeometryERK5QRect
+320 QLayout::_ZThn16_NK7QLayout8geometryEv
+328 QLayout::_ZThn16_NK7QLayout7isEmptyEv
+336 QGridLayout::_ZThn16_NK11QGridLayout17hasHeightForWidthEv
+344 QGridLayout::_ZThn16_NK11QGridLayout14heightForWidthEi
+352 QGridLayout::_ZThn16_NK11QGridLayout21minimumHeightForWidthEi
+360 QGridLayout::_ZThn16_N11QGridLayout10invalidateEv
+368 QLayoutItem::widget
+376 QLayout::_ZThn16_N7QLayout6layoutEv
+384 QLayoutItem::spacerItem
+
+Class QGridLayout
+ size=32 align=8
+ base size=28 base align=8
+QGridLayout (0x7f96de6762a0) 0
+ vptr=((& QGridLayout::_ZTV11QGridLayout) + 16u)
+ QLayout (0x7f96de64bd80) 0
+ primary-for QGridLayout (0x7f96de6762a0)
+ QObject (0x7f96de676310) 0
+ primary-for QLayout (0x7f96de64bd80)
+ QLayoutItem (0x7f96de676380) 16
+ vptr=((& QGridLayout::_ZTV11QGridLayout) + 264u)
+
+Vtable for QFormLayout
+QFormLayout::_ZTV11QFormLayout: 48u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QFormLayout)
+16 QFormLayout::metaObject
+24 QFormLayout::qt_metacast
+32 QFormLayout::qt_metacall
+40 QFormLayout::~QFormLayout
+48 QFormLayout::~QFormLayout
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QLayout::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QFormLayout::invalidate
+120 QLayout::geometry
+128 QFormLayout::addItem
+136 QFormLayout::expandingDirections
+144 QFormLayout::minimumSize
+152 QLayout::maximumSize
+160 QFormLayout::setGeometry
+168 QFormLayout::itemAt
+176 QFormLayout::takeAt
+184 QLayout::indexOf
+192 QFormLayout::count
+200 QLayout::isEmpty
+208 QLayout::layout
+216 QFormLayout::sizeHint
+224 QFormLayout::hasHeightForWidth
+232 QFormLayout::heightForWidth
+240 (int (*)(...))-0x00000000000000010
+248 (int (*)(...))(& _ZTI11QFormLayout)
+256 QFormLayout::_ZThn16_N11QFormLayoutD1Ev
+264 QFormLayout::_ZThn16_N11QFormLayoutD0Ev
+272 QFormLayout::_ZThn16_NK11QFormLayout8sizeHintEv
+280 QFormLayout::_ZThn16_NK11QFormLayout11minimumSizeEv
+288 QLayout::_ZThn16_NK7QLayout11maximumSizeEv
+296 QFormLayout::_ZThn16_NK11QFormLayout19expandingDirectionsEv
+304 QFormLayout::_ZThn16_N11QFormLayout11setGeometryERK5QRect
+312 QLayout::_ZThn16_NK7QLayout8geometryEv
+320 QLayout::_ZThn16_NK7QLayout7isEmptyEv
+328 QFormLayout::_ZThn16_NK11QFormLayout17hasHeightForWidthEv
+336 QFormLayout::_ZThn16_NK11QFormLayout14heightForWidthEi
+344 QLayoutItem::minimumHeightForWidth
+352 QFormLayout::_ZThn16_N11QFormLayout10invalidateEv
+360 QLayoutItem::widget
+368 QLayout::_ZThn16_N7QLayout6layoutEv
+376 QLayoutItem::spacerItem
+
+Class QFormLayout
+ size=32 align=8
+ base size=28 base align=8
+QFormLayout (0x7f96de6c3310) 0
+ vptr=((& QFormLayout::_ZTV11QFormLayout) + 16u)
+ QLayout (0x7f96de6bdb80) 0
+ primary-for QFormLayout (0x7f96de6c3310)
+ QObject (0x7f96de6c3380) 0
+ primary-for QLayout (0x7f96de6bdb80)
+ QLayoutItem (0x7f96de6c33f0) 16
+ vptr=((& QFormLayout::_ZTV11QFormLayout) + 256u)
+
+Vtable for QClipboard
+QClipboard::_ZTV10QClipboard: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QClipboard)
+16 QClipboard::metaObject
+24 QClipboard::qt_metacast
+32 QClipboard::qt_metacall
+40 QClipboard::~QClipboard
+48 QClipboard::~QClipboard
+56 QClipboard::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QClipboard::connectNotify
+104 QObject::disconnectNotify
+
+Class QClipboard
+ size=16 align=8
+ base size=16 base align=8
+QClipboard (0x7f96de6ed770) 0
+ vptr=((& QClipboard::_ZTV10QClipboard) + 16u)
+ QObject (0x7f96de6ed7e0) 0
+ primary-for QClipboard (0x7f96de6ed770)
+
+Class QWhatsThis
+ size=1 align=1
+ base size=0 base align=1
+QWhatsThis (0x7f96de70f4d0) 0 empty
+
+Vtable for QDesktopWidget
+QDesktopWidget::_ZTV14QDesktopWidget: 63u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QDesktopWidget)
+16 QDesktopWidget::metaObject
+24 QDesktopWidget::qt_metacast
+32 QDesktopWidget::qt_metacall
+40 QDesktopWidget::~QDesktopWidget
+48 QDesktopWidget::~QDesktopWidget
+56 QWidget::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QWidget::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QWidget::paintEvent
+256 QWidget::moveEvent
+264 QDesktopWidget::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QWidget::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 (int (*)(...))-0x00000000000000010
+456 (int (*)(...))(& _ZTI14QDesktopWidget)
+464 QDesktopWidget::_ZThn16_N14QDesktopWidgetD1Ev
+472 QDesktopWidget::_ZThn16_N14QDesktopWidgetD0Ev
+480 QWidget::_ZThn16_NK7QWidget7devTypeEv
+488 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+496 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QDesktopWidget
+ size=40 align=8
+ base size=40 base align=8
+QDesktopWidget (0x7f96de70f5b0) 0
+ vptr=((& QDesktopWidget::_ZTV14QDesktopWidget) + 16u)
+ QWidget (0x7f96de70b400) 0
+ primary-for QDesktopWidget (0x7f96de70f5b0)
+ QObject (0x7f96de70f620) 0
+ primary-for QWidget (0x7f96de70b400)
+ QPaintDevice (0x7f96de70f690) 16
+ vptr=((& QDesktopWidget::_ZTV14QDesktopWidget) + 464u)
+
+Vtable for QShortcut
+QShortcut::_ZTV9QShortcut: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QShortcut)
+16 QShortcut::metaObject
+24 QShortcut::qt_metacast
+32 QShortcut::qt_metacall
+40 QShortcut::~QShortcut
+48 QShortcut::~QShortcut
+56 QShortcut::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QShortcut
+ size=16 align=8
+ base size=16 base align=8
+QShortcut (0x7f96de5355b0) 0
+ vptr=((& QShortcut::_ZTV9QShortcut) + 16u)
+ QObject (0x7f96de535620) 0
+ primary-for QShortcut (0x7f96de5355b0)
+
+Vtable for QSessionManager
+QSessionManager::_ZTV15QSessionManager: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QSessionManager)
+16 QSessionManager::metaObject
+24 QSessionManager::qt_metacast
+32 QSessionManager::qt_metacall
+40 QSessionManager::~QSessionManager
+48 QSessionManager::~QSessionManager
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QSessionManager
+ size=16 align=8
+ base size=16 base align=8
+QSessionManager (0x7f96de548d20) 0
+ vptr=((& QSessionManager::_ZTV15QSessionManager) + 16u)
+ QObject (0x7f96de548d90) 0
+ primary-for QSessionManager (0x7f96de548d20)
+
+Vtable for QApplication
+QApplication::_ZTV12QApplication: 20u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QApplication)
+16 QApplication::metaObject
+24 QApplication::qt_metacast
+32 QApplication::qt_metacall
+40 QApplication::~QApplication
+48 QApplication::~QApplication
+56 QApplication::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QApplication::notify
+120 QApplication::compressEvent
+128 QApplication::x11EventFilter
+136 QApplication::x11ClientMessage
+144 QApplication::commitData
+152 QApplication::saveState
+
+Class QApplication
+ size=16 align=8
+ base size=16 base align=8
+QApplication (0x7f96de5662a0) 0
+ vptr=((& QApplication::_ZTV12QApplication) + 16u)
+ QCoreApplication (0x7f96de566310) 0
+ primary-for QApplication (0x7f96de5662a0)
+ QObject (0x7f96de566380) 0
+ primary-for QCoreApplication (0x7f96de566310)
+
+Vtable for QAction
+QAction::_ZTV7QAction: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QAction)
+16 QAction::metaObject
+24 QAction::qt_metacast
+32 QAction::qt_metacall
+40 QAction::~QAction
+48 QAction::~QAction
+56 QAction::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QAction
+ size=16 align=8
+ base size=16 base align=8
+QAction (0x7f96de5aeee0) 0
+ vptr=((& QAction::_ZTV7QAction) + 16u)
+ QObject (0x7f96de5aef50) 0
+ primary-for QAction (0x7f96de5aeee0)
+
+Vtable for QActionGroup
+QActionGroup::_ZTV12QActionGroup: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QActionGroup)
+16 QActionGroup::metaObject
+24 QActionGroup::qt_metacast
+32 QActionGroup::qt_metacall
+40 QActionGroup::~QActionGroup
+48 QActionGroup::~QActionGroup
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QActionGroup
+ size=16 align=8
+ base size=16 base align=8
+QActionGroup (0x7f96de5f1700) 0
+ vptr=((& QActionGroup::_ZTV12QActionGroup) + 16u)
+ QObject (0x7f96de5f1770) 0
+ primary-for QActionGroup (0x7f96de5f1700)
+
+Vtable for QSound
+QSound::_ZTV6QSound: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI6QSound)
+16 QSound::metaObject
+24 QSound::qt_metacast
+32 QSound::qt_metacall
+40 QSound::~QSound
+48 QSound::~QSound
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QSound
+ size=16 align=8
+ base size=16 base align=8
+QSound (0x7f96de60eaf0) 0
+ vptr=((& QSound::_ZTV6QSound) + 16u)
+ QObject (0x7f96de60eb60) 0
+ primary-for QSound (0x7f96de60eaf0)
+
+Vtable for QStackedLayout
+QStackedLayout::_ZTV14QStackedLayout: 46u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QStackedLayout)
+16 QStackedLayout::metaObject
+24 QStackedLayout::qt_metacast
+32 QStackedLayout::qt_metacall
+40 QStackedLayout::~QStackedLayout
+48 QStackedLayout::~QStackedLayout
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QLayout::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QLayout::invalidate
+120 QLayout::geometry
+128 QStackedLayout::addItem
+136 QLayout::expandingDirections
+144 QStackedLayout::minimumSize
+152 QLayout::maximumSize
+160 QStackedLayout::setGeometry
+168 QStackedLayout::itemAt
+176 QStackedLayout::takeAt
+184 QLayout::indexOf
+192 QStackedLayout::count
+200 QLayout::isEmpty
+208 QLayout::layout
+216 QStackedLayout::sizeHint
+224 (int (*)(...))-0x00000000000000010
+232 (int (*)(...))(& _ZTI14QStackedLayout)
+240 QStackedLayout::_ZThn16_N14QStackedLayoutD1Ev
+248 QStackedLayout::_ZThn16_N14QStackedLayoutD0Ev
+256 QStackedLayout::_ZThn16_NK14QStackedLayout8sizeHintEv
+264 QStackedLayout::_ZThn16_NK14QStackedLayout11minimumSizeEv
+272 QLayout::_ZThn16_NK7QLayout11maximumSizeEv
+280 QLayout::_ZThn16_NK7QLayout19expandingDirectionsEv
+288 QStackedLayout::_ZThn16_N14QStackedLayout11setGeometryERK5QRect
+296 QLayout::_ZThn16_NK7QLayout8geometryEv
+304 QLayout::_ZThn16_NK7QLayout7isEmptyEv
+312 QLayoutItem::hasHeightForWidth
+320 QLayoutItem::heightForWidth
+328 QLayoutItem::minimumHeightForWidth
+336 QLayout::_ZThn16_N7QLayout10invalidateEv
+344 QLayoutItem::widget
+352 QLayout::_ZThn16_N7QLayout6layoutEv
+360 QLayoutItem::spacerItem
+
+Class QStackedLayout
+ size=32 align=8
+ base size=28 base align=8
+QStackedLayout (0x7f96de44d2a0) 0
+ vptr=((& QStackedLayout::_ZTV14QStackedLayout) + 16u)
+ QLayout (0x7f96de434a80) 0
+ primary-for QStackedLayout (0x7f96de44d2a0)
+ QObject (0x7f96de44d310) 0
+ primary-for QLayout (0x7f96de434a80)
+ QLayoutItem (0x7f96de44d380) 16
+ vptr=((& QStackedLayout::_ZTV14QStackedLayout) + 240u)
+
+Vtable for QWidgetAction
+QWidgetAction::_ZTV13QWidgetAction: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QWidgetAction)
+16 QWidgetAction::metaObject
+24 QWidgetAction::qt_metacast
+32 QWidgetAction::qt_metacall
+40 QWidgetAction::~QWidgetAction
+48 QWidgetAction::~QWidgetAction
+56 QWidgetAction::event
+64 QWidgetAction::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidgetAction::createWidget
+120 QWidgetAction::deleteWidget
+
+Class QWidgetAction
+ size=16 align=8
+ base size=16 base align=8
+QWidgetAction (0x7f96de46a2a0) 0
+ vptr=((& QWidgetAction::_ZTV13QWidgetAction) + 16u)
+ QAction (0x7f96de46a310) 0
+ primary-for QWidgetAction (0x7f96de46a2a0)
+ QObject (0x7f96de46a380) 0
+ primary-for QAction (0x7f96de46a310)
+
+Class QToolTip
+ size=1 align=1
+ base size=0 base align=1
+QToolTip (0x7f96de47dc40) 0 empty
+
+Vtable for QCommonStyle
+QCommonStyle::_ZTV12QCommonStyle: 35u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QCommonStyle)
+16 QCommonStyle::metaObject
+24 QCommonStyle::qt_metacast
+32 QCommonStyle::qt_metacall
+40 QCommonStyle::~QCommonStyle
+48 QCommonStyle::~QCommonStyle
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QCommonStyle::polish
+120 QCommonStyle::unpolish
+128 QCommonStyle::polish
+136 QCommonStyle::unpolish
+144 QCommonStyle::polish
+152 QStyle::itemTextRect
+160 QStyle::itemPixmapRect
+168 QStyle::drawItemText
+176 QStyle::drawItemPixmap
+184 QStyle::standardPalette
+192 QCommonStyle::drawPrimitive
+200 QCommonStyle::drawControl
+208 QCommonStyle::subElementRect
+216 QCommonStyle::drawComplexControl
+224 QCommonStyle::hitTestComplexControl
+232 QCommonStyle::subControlRect
+240 QCommonStyle::pixelMetric
+248 QCommonStyle::sizeFromContents
+256 QCommonStyle::styleHint
+264 QCommonStyle::standardPixmap
+272 QCommonStyle::generatedIconPixmap
+
+Class QCommonStyle
+ size=16 align=8
+ base size=16 base align=8
+QCommonStyle (0x7f96de489230) 0
+ vptr=((& QCommonStyle::_ZTV12QCommonStyle) + 16u)
+ QStyle (0x7f96de4892a0) 0
+ primary-for QCommonStyle (0x7f96de489230)
+ QObject (0x7f96de489310) 0
+ primary-for QStyle (0x7f96de4892a0)
+
+Vtable for QMotifStyle
+QMotifStyle::_ZTV11QMotifStyle: 35u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QMotifStyle)
+16 QMotifStyle::metaObject
+24 QMotifStyle::qt_metacast
+32 QMotifStyle::qt_metacall
+40 QMotifStyle::~QMotifStyle
+48 QMotifStyle::~QMotifStyle
+56 QMotifStyle::event
+64 QMotifStyle::eventFilter
+72 QMotifStyle::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QMotifStyle::polish
+120 QMotifStyle::unpolish
+128 QMotifStyle::polish
+136 QMotifStyle::unpolish
+144 QMotifStyle::polish
+152 QStyle::itemTextRect
+160 QStyle::itemPixmapRect
+168 QStyle::drawItemText
+176 QStyle::drawItemPixmap
+184 QMotifStyle::standardPalette
+192 QMotifStyle::drawPrimitive
+200 QMotifStyle::drawControl
+208 QMotifStyle::subElementRect
+216 QMotifStyle::drawComplexControl
+224 QCommonStyle::hitTestComplexControl
+232 QMotifStyle::subControlRect
+240 QMotifStyle::pixelMetric
+248 QMotifStyle::sizeFromContents
+256 QMotifStyle::styleHint
+264 QMotifStyle::standardPixmap
+272 QCommonStyle::generatedIconPixmap
+
+Class QMotifStyle
+ size=32 align=8
+ base size=25 base align=8
+QMotifStyle (0x7f96de4a8230) 0
+ vptr=((& QMotifStyle::_ZTV11QMotifStyle) + 16u)
+ QCommonStyle (0x7f96de4a82a0) 0
+ primary-for QMotifStyle (0x7f96de4a8230)
+ QStyle (0x7f96de4a8310) 0
+ primary-for QCommonStyle (0x7f96de4a82a0)
+ QObject (0x7f96de4a8380) 0
+ primary-for QStyle (0x7f96de4a8310)
+
+Vtable for QWindowsStyle
+QWindowsStyle::_ZTV13QWindowsStyle: 35u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QWindowsStyle)
+16 QWindowsStyle::metaObject
+24 QWindowsStyle::qt_metacast
+32 QWindowsStyle::qt_metacall
+40 QWindowsStyle::~QWindowsStyle
+48 QWindowsStyle::~QWindowsStyle
+56 QObject::event
+64 QWindowsStyle::eventFilter
+72 QWindowsStyle::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWindowsStyle::polish
+120 QWindowsStyle::unpolish
+128 QWindowsStyle::polish
+136 QWindowsStyle::unpolish
+144 QWindowsStyle::polish
+152 QStyle::itemTextRect
+160 QStyle::itemPixmapRect
+168 QStyle::drawItemText
+176 QStyle::drawItemPixmap
+184 QStyle::standardPalette
+192 QWindowsStyle::drawPrimitive
+200 QWindowsStyle::drawControl
+208 QWindowsStyle::subElementRect
+216 QWindowsStyle::drawComplexControl
+224 QCommonStyle::hitTestComplexControl
+232 QCommonStyle::subControlRect
+240 QWindowsStyle::pixelMetric
+248 QWindowsStyle::sizeFromContents
+256 QWindowsStyle::styleHint
+264 QWindowsStyle::standardPixmap
+272 QCommonStyle::generatedIconPixmap
+
+Class QWindowsStyle
+ size=24 align=8
+ base size=24 base align=8
+QWindowsStyle (0x7f96de4d1150) 0
+ vptr=((& QWindowsStyle::_ZTV13QWindowsStyle) + 16u)
+ QCommonStyle (0x7f96de4d11c0) 0
+ primary-for QWindowsStyle (0x7f96de4d1150)
+ QStyle (0x7f96de4d1230) 0
+ primary-for QCommonStyle (0x7f96de4d11c0)
+ QObject (0x7f96de4d12a0) 0
+ primary-for QStyle (0x7f96de4d1230)
+
+Vtable for QCleanlooksStyle
+QCleanlooksStyle::_ZTV16QCleanlooksStyle: 35u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QCleanlooksStyle)
+16 QCleanlooksStyle::metaObject
+24 QCleanlooksStyle::qt_metacast
+32 QCleanlooksStyle::qt_metacall
+40 QCleanlooksStyle::~QCleanlooksStyle
+48 QCleanlooksStyle::~QCleanlooksStyle
+56 QObject::event
+64 QWindowsStyle::eventFilter
+72 QWindowsStyle::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QCleanlooksStyle::polish
+120 QCleanlooksStyle::unpolish
+128 QCleanlooksStyle::polish
+136 QCleanlooksStyle::unpolish
+144 QCleanlooksStyle::polish
+152 QStyle::itemTextRect
+160 QCleanlooksStyle::itemPixmapRect
+168 QCleanlooksStyle::drawItemText
+176 QCleanlooksStyle::drawItemPixmap
+184 QCleanlooksStyle::standardPalette
+192 QCleanlooksStyle::drawPrimitive
+200 QCleanlooksStyle::drawControl
+208 QCleanlooksStyle::subElementRect
+216 QCleanlooksStyle::drawComplexControl
+224 QCleanlooksStyle::hitTestComplexControl
+232 QCleanlooksStyle::subControlRect
+240 QCleanlooksStyle::pixelMetric
+248 QCleanlooksStyle::sizeFromContents
+256 QCleanlooksStyle::styleHint
+264 QCleanlooksStyle::standardPixmap
+272 QCleanlooksStyle::generatedIconPixmap
+
+Class QCleanlooksStyle
+ size=24 align=8
+ base size=24 base align=8
+QCleanlooksStyle (0x7f96de4e9ee0) 0
+ vptr=((& QCleanlooksStyle::_ZTV16QCleanlooksStyle) + 16u)
+ QWindowsStyle (0x7f96de4e9f50) 0
+ primary-for QCleanlooksStyle (0x7f96de4e9ee0)
+ QCommonStyle (0x7f96de4f0000) 0
+ primary-for QWindowsStyle (0x7f96de4e9f50)
+ QStyle (0x7f96de4f0070) 0
+ primary-for QCommonStyle (0x7f96de4f0000)
+ QObject (0x7f96de4f00e0) 0
+ primary-for QStyle (0x7f96de4f0070)
+
+Vtable for QStyleFactoryInterface
+QStyleFactoryInterface::_ZTV22QStyleFactoryInterface: 6u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI22QStyleFactoryInterface)
+16 QStyleFactoryInterface::~QStyleFactoryInterface
+24 QStyleFactoryInterface::~QStyleFactoryInterface
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+
+Class QStyleFactoryInterface
+ size=8 align=8
+ base size=8 base align=8
+QStyleFactoryInterface (0x7f96de50ccb0) 0 nearly-empty
+ vptr=((& QStyleFactoryInterface::_ZTV22QStyleFactoryInterface) + 16u)
+ QFactoryInterface (0x7f96de50cd20) 0 nearly-empty
+ primary-for QStyleFactoryInterface (0x7f96de50ccb0)
+
+Vtable for QStylePlugin
+QStylePlugin::_ZTV12QStylePlugin: 22u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QStylePlugin)
+16 QStylePlugin::metaObject
+24 QStylePlugin::qt_metacast
+32 QStylePlugin::qt_metacall
+40 QStylePlugin::~QStylePlugin
+48 QStylePlugin::~QStylePlugin
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 (int (*)(...))-0x00000000000000010
+136 (int (*)(...))(& _ZTI12QStylePlugin)
+144 QStylePlugin::_ZThn16_N12QStylePluginD1Ev
+152 QStylePlugin::_ZThn16_N12QStylePluginD0Ev
+160 __cxa_pure_virtual
+168 __cxa_pure_virtual
+
+Class QStylePlugin
+ size=24 align=8
+ base size=24 base align=8
+QStylePlugin (0x7f96de4f1f80) 0
+ vptr=((& QStylePlugin::_ZTV12QStylePlugin) + 16u)
+ QObject (0x7f96de316540) 0
+ primary-for QStylePlugin (0x7f96de4f1f80)
+ QStyleFactoryInterface (0x7f96de3165b0) 16 nearly-empty
+ vptr=((& QStylePlugin::_ZTV12QStylePlugin) + 144u)
+ QFactoryInterface (0x7f96de316620) 16 nearly-empty
+ primary-for QStyleFactoryInterface (0x7f96de3165b0)
+
+Vtable for QWindowsXPStyle
+QWindowsXPStyle::_ZTV15QWindowsXPStyle: 35u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QWindowsXPStyle)
+16 QWindowsXPStyle::metaObject
+24 QWindowsXPStyle::qt_metacast
+32 QWindowsXPStyle::qt_metacall
+40 QWindowsXPStyle::~QWindowsXPStyle
+48 QWindowsXPStyle::~QWindowsXPStyle
+56 QObject::event
+64 QWindowsStyle::eventFilter
+72 QWindowsStyle::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWindowsXPStyle::polish
+120 QWindowsXPStyle::unpolish
+128 QWindowsXPStyle::polish
+136 QWindowsXPStyle::unpolish
+144 QWindowsXPStyle::polish
+152 QStyle::itemTextRect
+160 QStyle::itemPixmapRect
+168 QStyle::drawItemText
+176 QStyle::drawItemPixmap
+184 QWindowsXPStyle::standardPalette
+192 QWindowsXPStyle::drawPrimitive
+200 QWindowsXPStyle::drawControl
+208 QWindowsXPStyle::subElementRect
+216 QWindowsXPStyle::drawComplexControl
+224 QCommonStyle::hitTestComplexControl
+232 QWindowsXPStyle::subControlRect
+240 QWindowsXPStyle::pixelMetric
+248 QWindowsXPStyle::sizeFromContents
+256 QWindowsXPStyle::styleHint
+264 QWindowsXPStyle::standardPixmap
+272 QCommonStyle::generatedIconPixmap
+
+Class QWindowsXPStyle
+ size=32 align=8
+ base size=32 base align=8
+QWindowsXPStyle (0x7f96de3274d0) 0
+ vptr=((& QWindowsXPStyle::_ZTV15QWindowsXPStyle) + 16u)
+ QWindowsStyle (0x7f96de327540) 0
+ primary-for QWindowsXPStyle (0x7f96de3274d0)
+ QCommonStyle (0x7f96de3275b0) 0
+ primary-for QWindowsStyle (0x7f96de327540)
+ QStyle (0x7f96de327620) 0
+ primary-for QCommonStyle (0x7f96de3275b0)
+ QObject (0x7f96de327690) 0
+ primary-for QStyle (0x7f96de327620)
+
+Vtable for QCDEStyle
+QCDEStyle::_ZTV9QCDEStyle: 35u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QCDEStyle)
+16 QCDEStyle::metaObject
+24 QCDEStyle::qt_metacast
+32 QCDEStyle::qt_metacall
+40 QCDEStyle::~QCDEStyle
+48 QCDEStyle::~QCDEStyle
+56 QMotifStyle::event
+64 QMotifStyle::eventFilter
+72 QMotifStyle::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QMotifStyle::polish
+120 QMotifStyle::unpolish
+128 QMotifStyle::polish
+136 QMotifStyle::unpolish
+144 QMotifStyle::polish
+152 QStyle::itemTextRect
+160 QStyle::itemPixmapRect
+168 QStyle::drawItemText
+176 QStyle::drawItemPixmap
+184 QCDEStyle::standardPalette
+192 QCDEStyle::drawPrimitive
+200 QCDEStyle::drawControl
+208 QMotifStyle::subElementRect
+216 QMotifStyle::drawComplexControl
+224 QCommonStyle::hitTestComplexControl
+232 QMotifStyle::subControlRect
+240 QCDEStyle::pixelMetric
+248 QMotifStyle::sizeFromContents
+256 QMotifStyle::styleHint
+264 QMotifStyle::standardPixmap
+272 QCommonStyle::generatedIconPixmap
+
+Class QCDEStyle
+ size=32 align=8
+ base size=25 base align=8
+QCDEStyle (0x7f96de34a380) 0
+ vptr=((& QCDEStyle::_ZTV9QCDEStyle) + 16u)
+ QMotifStyle (0x7f96de34a3f0) 0
+ primary-for QCDEStyle (0x7f96de34a380)
+ QCommonStyle (0x7f96de34a460) 0
+ primary-for QMotifStyle (0x7f96de34a3f0)
+ QStyle (0x7f96de34a4d0) 0
+ primary-for QCommonStyle (0x7f96de34a460)
+ QObject (0x7f96de34a540) 0
+ primary-for QStyle (0x7f96de34a4d0)
+
+Vtable for QPlastiqueStyle
+QPlastiqueStyle::_ZTV15QPlastiqueStyle: 35u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QPlastiqueStyle)
+16 QPlastiqueStyle::metaObject
+24 QPlastiqueStyle::qt_metacast
+32 QPlastiqueStyle::qt_metacall
+40 QPlastiqueStyle::~QPlastiqueStyle
+48 QPlastiqueStyle::~QPlastiqueStyle
+56 QObject::event
+64 QPlastiqueStyle::eventFilter
+72 QPlastiqueStyle::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QPlastiqueStyle::polish
+120 QPlastiqueStyle::unpolish
+128 QPlastiqueStyle::polish
+136 QPlastiqueStyle::unpolish
+144 QPlastiqueStyle::polish
+152 QStyle::itemTextRect
+160 QStyle::itemPixmapRect
+168 QStyle::drawItemText
+176 QStyle::drawItemPixmap
+184 QPlastiqueStyle::standardPalette
+192 QPlastiqueStyle::drawPrimitive
+200 QPlastiqueStyle::drawControl
+208 QPlastiqueStyle::subElementRect
+216 QPlastiqueStyle::drawComplexControl
+224 QPlastiqueStyle::hitTestComplexControl
+232 QPlastiqueStyle::subControlRect
+240 QPlastiqueStyle::pixelMetric
+248 QPlastiqueStyle::sizeFromContents
+256 QPlastiqueStyle::styleHint
+264 QPlastiqueStyle::standardPixmap
+272 QCommonStyle::generatedIconPixmap
+
+Class QPlastiqueStyle
+ size=32 align=8
+ base size=32 base align=8
+QPlastiqueStyle (0x7f96de35d4d0) 0
+ vptr=((& QPlastiqueStyle::_ZTV15QPlastiqueStyle) + 16u)
+ QWindowsStyle (0x7f96de35d540) 0
+ primary-for QPlastiqueStyle (0x7f96de35d4d0)
+ QCommonStyle (0x7f96de35d5b0) 0
+ primary-for QWindowsStyle (0x7f96de35d540)
+ QStyle (0x7f96de35d620) 0
+ primary-for QCommonStyle (0x7f96de35d5b0)
+ QObject (0x7f96de35d690) 0
+ primary-for QStyle (0x7f96de35d620)
+
+Vtable for QWindowsVistaStyle
+QWindowsVistaStyle::_ZTV18QWindowsVistaStyle: 35u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QWindowsVistaStyle)
+16 QWindowsVistaStyle::metaObject
+24 QWindowsVistaStyle::qt_metacast
+32 QWindowsVistaStyle::qt_metacall
+40 QWindowsVistaStyle::~QWindowsVistaStyle
+48 QWindowsVistaStyle::~QWindowsVistaStyle
+56 QWindowsVistaStyle::event
+64 QWindowsStyle::eventFilter
+72 QWindowsStyle::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWindowsVistaStyle::polish
+120 QWindowsVistaStyle::unpolish
+128 QWindowsVistaStyle::polish
+136 QWindowsVistaStyle::unpolish
+144 QWindowsVistaStyle::polish
+152 QStyle::itemTextRect
+160 QStyle::itemPixmapRect
+168 QStyle::drawItemText
+176 QStyle::drawItemPixmap
+184 QWindowsVistaStyle::standardPalette
+192 QWindowsVistaStyle::drawPrimitive
+200 QWindowsVistaStyle::drawControl
+208 QWindowsVistaStyle::subElementRect
+216 QWindowsVistaStyle::drawComplexControl
+224 QWindowsVistaStyle::hitTestComplexControl
+232 QWindowsVistaStyle::subControlRect
+240 QWindowsVistaStyle::pixelMetric
+248 QWindowsVistaStyle::sizeFromContents
+256 QWindowsVistaStyle::styleHint
+264 QWindowsVistaStyle::standardPixmap
+272 QCommonStyle::generatedIconPixmap
+
+Class QWindowsVistaStyle
+ size=32 align=8
+ base size=32 base align=8
+QWindowsVistaStyle (0x7f96de37e620) 0
+ vptr=((& QWindowsVistaStyle::_ZTV18QWindowsVistaStyle) + 16u)
+ QWindowsXPStyle (0x7f96de37e690) 0
+ primary-for QWindowsVistaStyle (0x7f96de37e620)
+ QWindowsStyle (0x7f96de37e700) 0
+ primary-for QWindowsXPStyle (0x7f96de37e690)
+ QCommonStyle (0x7f96de37e770) 0
+ primary-for QWindowsStyle (0x7f96de37e700)
+ QStyle (0x7f96de37e7e0) 0
+ primary-for QCommonStyle (0x7f96de37e770)
+ QObject (0x7f96de37e850) 0
+ primary-for QStyle (0x7f96de37e7e0)
+
+Vtable for QWindowsCEStyle
+QWindowsCEStyle::_ZTV15QWindowsCEStyle: 35u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QWindowsCEStyle)
+16 QWindowsCEStyle::metaObject
+24 QWindowsCEStyle::qt_metacast
+32 QWindowsCEStyle::qt_metacall
+40 QWindowsCEStyle::~QWindowsCEStyle
+48 QWindowsCEStyle::~QWindowsCEStyle
+56 QObject::event
+64 QWindowsStyle::eventFilter
+72 QWindowsStyle::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWindowsCEStyle::polish
+120 QWindowsStyle::unpolish
+128 QWindowsCEStyle::polish
+136 QWindowsStyle::unpolish
+144 QWindowsCEStyle::polish
+152 QStyle::itemTextRect
+160 QStyle::itemPixmapRect
+168 QWindowsCEStyle::drawItemText
+176 QStyle::drawItemPixmap
+184 QWindowsCEStyle::standardPalette
+192 QWindowsCEStyle::drawPrimitive
+200 QWindowsCEStyle::drawControl
+208 QWindowsCEStyle::subElementRect
+216 QWindowsCEStyle::drawComplexControl
+224 QWindowsCEStyle::hitTestComplexControl
+232 QWindowsCEStyle::subControlRect
+240 QWindowsCEStyle::pixelMetric
+248 QWindowsCEStyle::sizeFromContents
+256 QWindowsCEStyle::styleHint
+264 QWindowsCEStyle::standardPixmap
+272 QCommonStyle::generatedIconPixmap
+
+Class QWindowsCEStyle
+ size=24 align=8
+ base size=24 base align=8
+QWindowsCEStyle (0x7f96de39b620) 0
+ vptr=((& QWindowsCEStyle::_ZTV15QWindowsCEStyle) + 16u)
+ QWindowsStyle (0x7f96de39b690) 0
+ primary-for QWindowsCEStyle (0x7f96de39b620)
+ QCommonStyle (0x7f96de39b700) 0
+ primary-for QWindowsStyle (0x7f96de39b690)
+ QStyle (0x7f96de39b770) 0
+ primary-for QCommonStyle (0x7f96de39b700)
+ QObject (0x7f96de39b7e0) 0
+ primary-for QStyle (0x7f96de39b770)
+
+Vtable for QWindowsMobileStyle
+QWindowsMobileStyle::_ZTV19QWindowsMobileStyle: 35u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QWindowsMobileStyle)
+16 QWindowsMobileStyle::metaObject
+24 QWindowsMobileStyle::qt_metacast
+32 QWindowsMobileStyle::qt_metacall
+40 QWindowsMobileStyle::~QWindowsMobileStyle
+48 QWindowsMobileStyle::~QWindowsMobileStyle
+56 QObject::event
+64 QWindowsStyle::eventFilter
+72 QWindowsStyle::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWindowsMobileStyle::polish
+120 QWindowsMobileStyle::unpolish
+128 QWindowsMobileStyle::polish
+136 QWindowsMobileStyle::unpolish
+144 QWindowsMobileStyle::polish
+152 QStyle::itemTextRect
+160 QStyle::itemPixmapRect
+168 QStyle::drawItemText
+176 QStyle::drawItemPixmap
+184 QWindowsMobileStyle::standardPalette
+192 QWindowsMobileStyle::drawPrimitive
+200 QWindowsMobileStyle::drawControl
+208 QWindowsMobileStyle::subElementRect
+216 QWindowsMobileStyle::drawComplexControl
+224 QCommonStyle::hitTestComplexControl
+232 QWindowsMobileStyle::subControlRect
+240 QWindowsMobileStyle::pixelMetric
+248 QWindowsMobileStyle::sizeFromContents
+256 QWindowsMobileStyle::styleHint
+264 QWindowsMobileStyle::standardPixmap
+272 QWindowsMobileStyle::generatedIconPixmap
+
+Class QWindowsMobileStyle
+ size=24 align=8
+ base size=24 base align=8
+QWindowsMobileStyle (0x7f96de3aed20) 0
+ vptr=((& QWindowsMobileStyle::_ZTV19QWindowsMobileStyle) + 16u)
+ QWindowsStyle (0x7f96de3aed90) 0
+ primary-for QWindowsMobileStyle (0x7f96de3aed20)
+ QCommonStyle (0x7f96de3aee00) 0
+ primary-for QWindowsStyle (0x7f96de3aed90)
+ QStyle (0x7f96de3aee70) 0
+ primary-for QCommonStyle (0x7f96de3aee00)
+ QObject (0x7f96de3aeee0) 0
+ primary-for QStyle (0x7f96de3aee70)
+
+Class QStyleFactory
+ size=1 align=1
+ base size=0 base align=1
+QStyleFactory (0x7f96de3d5690) 0 empty
+
+Vtable for QInputContextFactoryInterface
+QInputContextFactoryInterface::_ZTV29QInputContextFactoryInterface: 9u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI29QInputContextFactoryInterface)
+16 QInputContextFactoryInterface::~QInputContextFactoryInterface
+24 QInputContextFactoryInterface::~QInputContextFactoryInterface
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+48 __cxa_pure_virtual
+56 __cxa_pure_virtual
+64 __cxa_pure_virtual
+
+Class QInputContextFactoryInterface
+ size=8 align=8
+ base size=8 base align=8
+QInputContextFactoryInterface (0x7f96de3d5700) 0 nearly-empty
+ vptr=((& QInputContextFactoryInterface::_ZTV29QInputContextFactoryInterface) + 16u)
+ QFactoryInterface (0x7f96de3d5770) 0 nearly-empty
+ primary-for QInputContextFactoryInterface (0x7f96de3d5700)
+
+Vtable for QInputContextPlugin
+QInputContextPlugin::_ZTV19QInputContextPlugin: 28u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QInputContextPlugin)
+16 QInputContextPlugin::metaObject
+24 QInputContextPlugin::qt_metacast
+32 QInputContextPlugin::qt_metacall
+40 QInputContextPlugin::~QInputContextPlugin
+48 QInputContextPlugin::~QInputContextPlugin
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 __cxa_pure_virtual
+136 __cxa_pure_virtual
+144 __cxa_pure_virtual
+152 (int (*)(...))-0x00000000000000010
+160 (int (*)(...))(& _ZTI19QInputContextPlugin)
+168 QInputContextPlugin::_ZThn16_N19QInputContextPluginD1Ev
+176 QInputContextPlugin::_ZThn16_N19QInputContextPluginD0Ev
+184 __cxa_pure_virtual
+192 __cxa_pure_virtual
+200 __cxa_pure_virtual
+208 __cxa_pure_virtual
+216 __cxa_pure_virtual
+
+Class QInputContextPlugin
+ size=24 align=8
+ base size=24 base align=8
+QInputContextPlugin (0x7f96de3cfd80) 0
+ vptr=((& QInputContextPlugin::_ZTV19QInputContextPlugin) + 16u)
+ QObject (0x7f96de3d5f50) 0
+ primary-for QInputContextPlugin (0x7f96de3cfd80)
+ QInputContextFactoryInterface (0x7f96de3d57e0) 16 nearly-empty
+ vptr=((& QInputContextPlugin::_ZTV19QInputContextPlugin) + 168u)
+ QFactoryInterface (0x7f96de3e0000) 16 nearly-empty
+ primary-for QInputContextFactoryInterface (0x7f96de3d57e0)
+
+Class QInputContextFactory
+ size=1 align=1
+ base size=0 base align=1
+QInputContextFactory (0x7f96de3e0ee0) 0 empty
+
+Vtable for QInputContext
+QInputContext::_ZTV13QInputContext: 26u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QInputContext)
+16 QInputContext::metaObject
+24 QInputContext::qt_metacast
+32 QInputContext::qt_metacall
+40 QInputContext::~QInputContext
+48 QInputContext::~QInputContext
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 __cxa_pure_virtual
+136 QInputContext::update
+144 QInputContext::mouseHandler
+152 QInputContext::font
+160 __cxa_pure_virtual
+168 QInputContext::setFocusWidget
+176 QInputContext::widgetDestroyed
+184 QInputContext::actions
+192 QInputContext::x11FilterEvent
+200 QInputContext::filterEvent
+
+Class QInputContext
+ size=16 align=8
+ base size=16 base align=8
+QInputContext (0x7f96de3e0f50) 0
+ vptr=((& QInputContext::_ZTV13QInputContext) + 16u)
+ QObject (0x7f96de3e02a0) 0
+ primary-for QInputContext (0x7f96de3e0f50)
+
+Vtable for QGraphicsItem
+QGraphicsItem::_ZTV13QGraphicsItem: 39u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QGraphicsItem)
+16 QGraphicsItem::~QGraphicsItem
+24 QGraphicsItem::~QGraphicsItem
+32 QGraphicsItem::advance
+40 __cxa_pure_virtual
+48 QGraphicsItem::shape
+56 QGraphicsItem::contains
+64 QGraphicsItem::collidesWithItem
+72 QGraphicsItem::collidesWithPath
+80 QGraphicsItem::isObscuredBy
+88 QGraphicsItem::opaqueArea
+96 __cxa_pure_virtual
+104 QGraphicsItem::type
+112 QGraphicsItem::sceneEventFilter
+120 QGraphicsItem::sceneEvent
+128 QGraphicsItem::contextMenuEvent
+136 QGraphicsItem::dragEnterEvent
+144 QGraphicsItem::dragLeaveEvent
+152 QGraphicsItem::dragMoveEvent
+160 QGraphicsItem::dropEvent
+168 QGraphicsItem::focusInEvent
+176 QGraphicsItem::focusOutEvent
+184 QGraphicsItem::hoverEnterEvent
+192 QGraphicsItem::hoverMoveEvent
+200 QGraphicsItem::hoverLeaveEvent
+208 QGraphicsItem::keyPressEvent
+216 QGraphicsItem::keyReleaseEvent
+224 QGraphicsItem::mousePressEvent
+232 QGraphicsItem::mouseMoveEvent
+240 QGraphicsItem::mouseReleaseEvent
+248 QGraphicsItem::mouseDoubleClickEvent
+256 QGraphicsItem::wheelEvent
+264 QGraphicsItem::inputMethodEvent
+272 QGraphicsItem::inputMethodQuery
+280 QGraphicsItem::itemChange
+288 QGraphicsItem::supportsExtension
+296 QGraphicsItem::setExtension
+304 QGraphicsItem::extension
+
+Class QGraphicsItem
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsItem (0x7f96de407850) 0
+ vptr=((& QGraphicsItem::_ZTV13QGraphicsItem) + 16u)
+
+Vtable for QAbstractGraphicsShapeItem
+QAbstractGraphicsShapeItem::_ZTV26QAbstractGraphicsShapeItem: 39u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI26QAbstractGraphicsShapeItem)
+16 QAbstractGraphicsShapeItem::~QAbstractGraphicsShapeItem
+24 QAbstractGraphicsShapeItem::~QAbstractGraphicsShapeItem
+32 QGraphicsItem::advance
+40 __cxa_pure_virtual
+48 QGraphicsItem::shape
+56 QGraphicsItem::contains
+64 QGraphicsItem::collidesWithItem
+72 QGraphicsItem::collidesWithPath
+80 QAbstractGraphicsShapeItem::isObscuredBy
+88 QAbstractGraphicsShapeItem::opaqueArea
+96 __cxa_pure_virtual
+104 QGraphicsItem::type
+112 QGraphicsItem::sceneEventFilter
+120 QGraphicsItem::sceneEvent
+128 QGraphicsItem::contextMenuEvent
+136 QGraphicsItem::dragEnterEvent
+144 QGraphicsItem::dragLeaveEvent
+152 QGraphicsItem::dragMoveEvent
+160 QGraphicsItem::dropEvent
+168 QGraphicsItem::focusInEvent
+176 QGraphicsItem::focusOutEvent
+184 QGraphicsItem::hoverEnterEvent
+192 QGraphicsItem::hoverMoveEvent
+200 QGraphicsItem::hoverLeaveEvent
+208 QGraphicsItem::keyPressEvent
+216 QGraphicsItem::keyReleaseEvent
+224 QGraphicsItem::mousePressEvent
+232 QGraphicsItem::mouseMoveEvent
+240 QGraphicsItem::mouseReleaseEvent
+248 QGraphicsItem::mouseDoubleClickEvent
+256 QGraphicsItem::wheelEvent
+264 QGraphicsItem::inputMethodEvent
+272 QGraphicsItem::inputMethodQuery
+280 QGraphicsItem::itemChange
+288 QGraphicsItem::supportsExtension
+296 QGraphicsItem::setExtension
+304 QGraphicsItem::extension
+
+Class QAbstractGraphicsShapeItem
+ size=16 align=8
+ base size=16 base align=8
+QAbstractGraphicsShapeItem (0x7f96de2de380) 0
+ vptr=((& QAbstractGraphicsShapeItem::_ZTV26QAbstractGraphicsShapeItem) + 16u)
+ QGraphicsItem (0x7f96de2de3f0) 0
+ primary-for QAbstractGraphicsShapeItem (0x7f96de2de380)
+
+Vtable for QGraphicsPathItem
+QGraphicsPathItem::_ZTV17QGraphicsPathItem: 39u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QGraphicsPathItem)
+16 QGraphicsPathItem::~QGraphicsPathItem
+24 QGraphicsPathItem::~QGraphicsPathItem
+32 QGraphicsItem::advance
+40 QGraphicsPathItem::boundingRect
+48 QGraphicsPathItem::shape
+56 QGraphicsPathItem::contains
+64 QGraphicsItem::collidesWithItem
+72 QGraphicsItem::collidesWithPath
+80 QGraphicsPathItem::isObscuredBy
+88 QGraphicsPathItem::opaqueArea
+96 QGraphicsPathItem::paint
+104 QGraphicsPathItem::type
+112 QGraphicsItem::sceneEventFilter
+120 QGraphicsItem::sceneEvent
+128 QGraphicsItem::contextMenuEvent
+136 QGraphicsItem::dragEnterEvent
+144 QGraphicsItem::dragLeaveEvent
+152 QGraphicsItem::dragMoveEvent
+160 QGraphicsItem::dropEvent
+168 QGraphicsItem::focusInEvent
+176 QGraphicsItem::focusOutEvent
+184 QGraphicsItem::hoverEnterEvent
+192 QGraphicsItem::hoverMoveEvent
+200 QGraphicsItem::hoverLeaveEvent
+208 QGraphicsItem::keyPressEvent
+216 QGraphicsItem::keyReleaseEvent
+224 QGraphicsItem::mousePressEvent
+232 QGraphicsItem::mouseMoveEvent
+240 QGraphicsItem::mouseReleaseEvent
+248 QGraphicsItem::mouseDoubleClickEvent
+256 QGraphicsItem::wheelEvent
+264 QGraphicsItem::inputMethodEvent
+272 QGraphicsItem::inputMethodQuery
+280 QGraphicsItem::itemChange
+288 QGraphicsPathItem::supportsExtension
+296 QGraphicsPathItem::setExtension
+304 QGraphicsPathItem::extension
+
+Class QGraphicsPathItem
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsPathItem (0x7f96de2ea1c0) 0
+ vptr=((& QGraphicsPathItem::_ZTV17QGraphicsPathItem) + 16u)
+ QAbstractGraphicsShapeItem (0x7f96de2ea230) 0
+ primary-for QGraphicsPathItem (0x7f96de2ea1c0)
+ QGraphicsItem (0x7f96de2ea2a0) 0
+ primary-for QAbstractGraphicsShapeItem (0x7f96de2ea230)
+
+Vtable for QGraphicsRectItem
+QGraphicsRectItem::_ZTV17QGraphicsRectItem: 39u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QGraphicsRectItem)
+16 QGraphicsRectItem::~QGraphicsRectItem
+24 QGraphicsRectItem::~QGraphicsRectItem
+32 QGraphicsItem::advance
+40 QGraphicsRectItem::boundingRect
+48 QGraphicsRectItem::shape
+56 QGraphicsRectItem::contains
+64 QGraphicsItem::collidesWithItem
+72 QGraphicsItem::collidesWithPath
+80 QGraphicsRectItem::isObscuredBy
+88 QGraphicsRectItem::opaqueArea
+96 QGraphicsRectItem::paint
+104 QGraphicsRectItem::type
+112 QGraphicsItem::sceneEventFilter
+120 QGraphicsItem::sceneEvent
+128 QGraphicsItem::contextMenuEvent
+136 QGraphicsItem::dragEnterEvent
+144 QGraphicsItem::dragLeaveEvent
+152 QGraphicsItem::dragMoveEvent
+160 QGraphicsItem::dropEvent
+168 QGraphicsItem::focusInEvent
+176 QGraphicsItem::focusOutEvent
+184 QGraphicsItem::hoverEnterEvent
+192 QGraphicsItem::hoverMoveEvent
+200 QGraphicsItem::hoverLeaveEvent
+208 QGraphicsItem::keyPressEvent
+216 QGraphicsItem::keyReleaseEvent
+224 QGraphicsItem::mousePressEvent
+232 QGraphicsItem::mouseMoveEvent
+240 QGraphicsItem::mouseReleaseEvent
+248 QGraphicsItem::mouseDoubleClickEvent
+256 QGraphicsItem::wheelEvent
+264 QGraphicsItem::inputMethodEvent
+272 QGraphicsItem::inputMethodQuery
+280 QGraphicsItem::itemChange
+288 QGraphicsRectItem::supportsExtension
+296 QGraphicsRectItem::setExtension
+304 QGraphicsRectItem::extension
+
+Class QGraphicsRectItem
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsRectItem (0x7f96de2fb150) 0
+ vptr=((& QGraphicsRectItem::_ZTV17QGraphicsRectItem) + 16u)
+ QAbstractGraphicsShapeItem (0x7f96de2fb1c0) 0
+ primary-for QGraphicsRectItem (0x7f96de2fb150)
+ QGraphicsItem (0x7f96de2fb230) 0
+ primary-for QAbstractGraphicsShapeItem (0x7f96de2fb1c0)
+
+Vtable for QGraphicsEllipseItem
+QGraphicsEllipseItem::_ZTV20QGraphicsEllipseItem: 39u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI20QGraphicsEllipseItem)
+16 QGraphicsEllipseItem::~QGraphicsEllipseItem
+24 QGraphicsEllipseItem::~QGraphicsEllipseItem
+32 QGraphicsItem::advance
+40 QGraphicsEllipseItem::boundingRect
+48 QGraphicsEllipseItem::shape
+56 QGraphicsEllipseItem::contains
+64 QGraphicsItem::collidesWithItem
+72 QGraphicsItem::collidesWithPath
+80 QGraphicsEllipseItem::isObscuredBy
+88 QGraphicsEllipseItem::opaqueArea
+96 QGraphicsEllipseItem::paint
+104 QGraphicsEllipseItem::type
+112 QGraphicsItem::sceneEventFilter
+120 QGraphicsItem::sceneEvent
+128 QGraphicsItem::contextMenuEvent
+136 QGraphicsItem::dragEnterEvent
+144 QGraphicsItem::dragLeaveEvent
+152 QGraphicsItem::dragMoveEvent
+160 QGraphicsItem::dropEvent
+168 QGraphicsItem::focusInEvent
+176 QGraphicsItem::focusOutEvent
+184 QGraphicsItem::hoverEnterEvent
+192 QGraphicsItem::hoverMoveEvent
+200 QGraphicsItem::hoverLeaveEvent
+208 QGraphicsItem::keyPressEvent
+216 QGraphicsItem::keyReleaseEvent
+224 QGraphicsItem::mousePressEvent
+232 QGraphicsItem::mouseMoveEvent
+240 QGraphicsItem::mouseReleaseEvent
+248 QGraphicsItem::mouseDoubleClickEvent
+256 QGraphicsItem::wheelEvent
+264 QGraphicsItem::inputMethodEvent
+272 QGraphicsItem::inputMethodQuery
+280 QGraphicsItem::itemChange
+288 QGraphicsEllipseItem::supportsExtension
+296 QGraphicsEllipseItem::setExtension
+304 QGraphicsEllipseItem::extension
+
+Class QGraphicsEllipseItem
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsEllipseItem (0x7f96de30b460) 0
+ vptr=((& QGraphicsEllipseItem::_ZTV20QGraphicsEllipseItem) + 16u)
+ QAbstractGraphicsShapeItem (0x7f96de30b4d0) 0
+ primary-for QGraphicsEllipseItem (0x7f96de30b460)
+ QGraphicsItem (0x7f96de30b540) 0
+ primary-for QAbstractGraphicsShapeItem (0x7f96de30b4d0)
+
+Vtable for QGraphicsPolygonItem
+QGraphicsPolygonItem::_ZTV20QGraphicsPolygonItem: 39u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI20QGraphicsPolygonItem)
+16 QGraphicsPolygonItem::~QGraphicsPolygonItem
+24 QGraphicsPolygonItem::~QGraphicsPolygonItem
+32 QGraphicsItem::advance
+40 QGraphicsPolygonItem::boundingRect
+48 QGraphicsPolygonItem::shape
+56 QGraphicsPolygonItem::contains
+64 QGraphicsItem::collidesWithItem
+72 QGraphicsItem::collidesWithPath
+80 QGraphicsPolygonItem::isObscuredBy
+88 QGraphicsPolygonItem::opaqueArea
+96 QGraphicsPolygonItem::paint
+104 QGraphicsPolygonItem::type
+112 QGraphicsItem::sceneEventFilter
+120 QGraphicsItem::sceneEvent
+128 QGraphicsItem::contextMenuEvent
+136 QGraphicsItem::dragEnterEvent
+144 QGraphicsItem::dragLeaveEvent
+152 QGraphicsItem::dragMoveEvent
+160 QGraphicsItem::dropEvent
+168 QGraphicsItem::focusInEvent
+176 QGraphicsItem::focusOutEvent
+184 QGraphicsItem::hoverEnterEvent
+192 QGraphicsItem::hoverMoveEvent
+200 QGraphicsItem::hoverLeaveEvent
+208 QGraphicsItem::keyPressEvent
+216 QGraphicsItem::keyReleaseEvent
+224 QGraphicsItem::mousePressEvent
+232 QGraphicsItem::mouseMoveEvent
+240 QGraphicsItem::mouseReleaseEvent
+248 QGraphicsItem::mouseDoubleClickEvent
+256 QGraphicsItem::wheelEvent
+264 QGraphicsItem::inputMethodEvent
+272 QGraphicsItem::inputMethodQuery
+280 QGraphicsItem::itemChange
+288 QGraphicsPolygonItem::supportsExtension
+296 QGraphicsPolygonItem::setExtension
+304 QGraphicsPolygonItem::extension
+
+Class QGraphicsPolygonItem
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsPolygonItem (0x7f96de11c770) 0
+ vptr=((& QGraphicsPolygonItem::_ZTV20QGraphicsPolygonItem) + 16u)
+ QAbstractGraphicsShapeItem (0x7f96de11c7e0) 0
+ primary-for QGraphicsPolygonItem (0x7f96de11c770)
+ QGraphicsItem (0x7f96de11c850) 0
+ primary-for QAbstractGraphicsShapeItem (0x7f96de11c7e0)
+
+Vtable for QGraphicsLineItem
+QGraphicsLineItem::_ZTV17QGraphicsLineItem: 39u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QGraphicsLineItem)
+16 QGraphicsLineItem::~QGraphicsLineItem
+24 QGraphicsLineItem::~QGraphicsLineItem
+32 QGraphicsItem::advance
+40 QGraphicsLineItem::boundingRect
+48 QGraphicsLineItem::shape
+56 QGraphicsLineItem::contains
+64 QGraphicsItem::collidesWithItem
+72 QGraphicsItem::collidesWithPath
+80 QGraphicsLineItem::isObscuredBy
+88 QGraphicsLineItem::opaqueArea
+96 QGraphicsLineItem::paint
+104 QGraphicsLineItem::type
+112 QGraphicsItem::sceneEventFilter
+120 QGraphicsItem::sceneEvent
+128 QGraphicsItem::contextMenuEvent
+136 QGraphicsItem::dragEnterEvent
+144 QGraphicsItem::dragLeaveEvent
+152 QGraphicsItem::dragMoveEvent
+160 QGraphicsItem::dropEvent
+168 QGraphicsItem::focusInEvent
+176 QGraphicsItem::focusOutEvent
+184 QGraphicsItem::hoverEnterEvent
+192 QGraphicsItem::hoverMoveEvent
+200 QGraphicsItem::hoverLeaveEvent
+208 QGraphicsItem::keyPressEvent
+216 QGraphicsItem::keyReleaseEvent
+224 QGraphicsItem::mousePressEvent
+232 QGraphicsItem::mouseMoveEvent
+240 QGraphicsItem::mouseReleaseEvent
+248 QGraphicsItem::mouseDoubleClickEvent
+256 QGraphicsItem::wheelEvent
+264 QGraphicsItem::inputMethodEvent
+272 QGraphicsItem::inputMethodQuery
+280 QGraphicsItem::itemChange
+288 QGraphicsLineItem::supportsExtension
+296 QGraphicsLineItem::setExtension
+304 QGraphicsLineItem::extension
+
+Class QGraphicsLineItem
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsLineItem (0x7f96de12d770) 0
+ vptr=((& QGraphicsLineItem::_ZTV17QGraphicsLineItem) + 16u)
+ QGraphicsItem (0x7f96de12d7e0) 0
+ primary-for QGraphicsLineItem (0x7f96de12d770)
+
+Vtable for QGraphicsPixmapItem
+QGraphicsPixmapItem::_ZTV19QGraphicsPixmapItem: 39u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QGraphicsPixmapItem)
+16 QGraphicsPixmapItem::~QGraphicsPixmapItem
+24 QGraphicsPixmapItem::~QGraphicsPixmapItem
+32 QGraphicsItem::advance
+40 QGraphicsPixmapItem::boundingRect
+48 QGraphicsPixmapItem::shape
+56 QGraphicsPixmapItem::contains
+64 QGraphicsItem::collidesWithItem
+72 QGraphicsItem::collidesWithPath
+80 QGraphicsPixmapItem::isObscuredBy
+88 QGraphicsPixmapItem::opaqueArea
+96 QGraphicsPixmapItem::paint
+104 QGraphicsPixmapItem::type
+112 QGraphicsItem::sceneEventFilter
+120 QGraphicsItem::sceneEvent
+128 QGraphicsItem::contextMenuEvent
+136 QGraphicsItem::dragEnterEvent
+144 QGraphicsItem::dragLeaveEvent
+152 QGraphicsItem::dragMoveEvent
+160 QGraphicsItem::dropEvent
+168 QGraphicsItem::focusInEvent
+176 QGraphicsItem::focusOutEvent
+184 QGraphicsItem::hoverEnterEvent
+192 QGraphicsItem::hoverMoveEvent
+200 QGraphicsItem::hoverLeaveEvent
+208 QGraphicsItem::keyPressEvent
+216 QGraphicsItem::keyReleaseEvent
+224 QGraphicsItem::mousePressEvent
+232 QGraphicsItem::mouseMoveEvent
+240 QGraphicsItem::mouseReleaseEvent
+248 QGraphicsItem::mouseDoubleClickEvent
+256 QGraphicsItem::wheelEvent
+264 QGraphicsItem::inputMethodEvent
+272 QGraphicsItem::inputMethodQuery
+280 QGraphicsItem::itemChange
+288 QGraphicsPixmapItem::supportsExtension
+296 QGraphicsPixmapItem::setExtension
+304 QGraphicsPixmapItem::extension
+
+Class QGraphicsPixmapItem
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsPixmapItem (0x7f96de13ba10) 0
+ vptr=((& QGraphicsPixmapItem::_ZTV19QGraphicsPixmapItem) + 16u)
+ QGraphicsItem (0x7f96de13ba80) 0
+ primary-for QGraphicsPixmapItem (0x7f96de13ba10)
+
+Vtable for QGraphicsTextItem
+QGraphicsTextItem::_ZTV17QGraphicsTextItem: 82u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QGraphicsTextItem)
+16 QGraphicsTextItem::metaObject
+24 QGraphicsTextItem::qt_metacast
+32 QGraphicsTextItem::qt_metacall
+40 QGraphicsTextItem::~QGraphicsTextItem
+48 QGraphicsTextItem::~QGraphicsTextItem
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QGraphicsTextItem::boundingRect
+120 QGraphicsTextItem::shape
+128 QGraphicsTextItem::contains
+136 QGraphicsTextItem::paint
+144 QGraphicsTextItem::isObscuredBy
+152 QGraphicsTextItem::opaqueArea
+160 QGraphicsTextItem::type
+168 QGraphicsTextItem::sceneEvent
+176 QGraphicsTextItem::mousePressEvent
+184 QGraphicsTextItem::mouseMoveEvent
+192 QGraphicsTextItem::mouseReleaseEvent
+200 QGraphicsTextItem::mouseDoubleClickEvent
+208 QGraphicsTextItem::contextMenuEvent
+216 QGraphicsTextItem::keyPressEvent
+224 QGraphicsTextItem::keyReleaseEvent
+232 QGraphicsTextItem::focusInEvent
+240 QGraphicsTextItem::focusOutEvent
+248 QGraphicsTextItem::dragEnterEvent
+256 QGraphicsTextItem::dragLeaveEvent
+264 QGraphicsTextItem::dragMoveEvent
+272 QGraphicsTextItem::dropEvent
+280 QGraphicsTextItem::inputMethodEvent
+288 QGraphicsTextItem::hoverEnterEvent
+296 QGraphicsTextItem::hoverMoveEvent
+304 QGraphicsTextItem::hoverLeaveEvent
+312 QGraphicsTextItem::inputMethodQuery
+320 QGraphicsTextItem::supportsExtension
+328 QGraphicsTextItem::setExtension
+336 QGraphicsTextItem::extension
+344 (int (*)(...))-0x00000000000000010
+352 (int (*)(...))(& _ZTI17QGraphicsTextItem)
+360 QGraphicsTextItem::_ZThn16_N17QGraphicsTextItemD1Ev
+368 QGraphicsTextItem::_ZThn16_N17QGraphicsTextItemD0Ev
+376 QGraphicsItem::advance
+384 QGraphicsTextItem::_ZThn16_NK17QGraphicsTextItem12boundingRectEv
+392 QGraphicsTextItem::_ZThn16_NK17QGraphicsTextItem5shapeEv
+400 QGraphicsTextItem::_ZThn16_NK17QGraphicsTextItem8containsERK7QPointF
+408 QGraphicsItem::collidesWithItem
+416 QGraphicsItem::collidesWithPath
+424 QGraphicsTextItem::_ZThn16_NK17QGraphicsTextItem12isObscuredByEPK13QGraphicsItem
+432 QGraphicsTextItem::_ZThn16_NK17QGraphicsTextItem10opaqueAreaEv
+440 QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem5paintEP8QPainterPK24QStyleOptionGraphicsItemP7QWidget
+448 QGraphicsTextItem::_ZThn16_NK17QGraphicsTextItem4typeEv
+456 QGraphicsItem::sceneEventFilter
+464 QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem10sceneEventEP6QEvent
+472 QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem16contextMenuEventEP30QGraphicsSceneContextMenuEvent
+480 QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem14dragEnterEventEP27QGraphicsSceneDragDropEvent
+488 QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem14dragLeaveEventEP27QGraphicsSceneDragDropEvent
+496 QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem13dragMoveEventEP27QGraphicsSceneDragDropEvent
+504 QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem9dropEventEP27QGraphicsSceneDragDropEvent
+512 QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem12focusInEventEP11QFocusEvent
+520 QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem13focusOutEventEP11QFocusEvent
+528 QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem15hoverEnterEventEP24QGraphicsSceneHoverEvent
+536 QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem14hoverMoveEventEP24QGraphicsSceneHoverEvent
+544 QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem15hoverLeaveEventEP24QGraphicsSceneHoverEvent
+552 QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem13keyPressEventEP9QKeyEvent
+560 QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem15keyReleaseEventEP9QKeyEvent
+568 QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem15mousePressEventEP24QGraphicsSceneMouseEvent
+576 QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem14mouseMoveEventEP24QGraphicsSceneMouseEvent
+584 QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem17mouseReleaseEventEP24QGraphicsSceneMouseEvent
+592 QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem21mouseDoubleClickEventEP24QGraphicsSceneMouseEvent
+600 QGraphicsItem::wheelEvent
+608 QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem16inputMethodEventEP17QInputMethodEvent
+616 QGraphicsTextItem::_ZThn16_NK17QGraphicsTextItem16inputMethodQueryEN2Qt16InputMethodQueryE
+624 QGraphicsItem::itemChange
+632 QGraphicsTextItem::_ZThn16_NK17QGraphicsTextItem17supportsExtensionEN13QGraphicsItem9ExtensionE
+640 QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem12setExtensionEN13QGraphicsItem9ExtensionERK8QVariant
+648 QGraphicsTextItem::_ZThn16_NK17QGraphicsTextItem9extensionERK8QVariant
+
+Class QGraphicsTextItem
+ size=40 align=8
+ base size=40 base align=8
+QGraphicsTextItem (0x7f96de11ef80) 0
+ vptr=((& QGraphicsTextItem::_ZTV17QGraphicsTextItem) + 16u)
+ QObject (0x7f96de14cc40) 0
+ primary-for QGraphicsTextItem (0x7f96de11ef80)
+ QGraphicsItem (0x7f96de14ccb0) 16
+ vptr=((& QGraphicsTextItem::_ZTV17QGraphicsTextItem) + 360u)
+
+Vtable for QGraphicsSimpleTextItem
+QGraphicsSimpleTextItem::_ZTV23QGraphicsSimpleTextItem: 39u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI23QGraphicsSimpleTextItem)
+16 QGraphicsSimpleTextItem::~QGraphicsSimpleTextItem
+24 QGraphicsSimpleTextItem::~QGraphicsSimpleTextItem
+32 QGraphicsItem::advance
+40 QGraphicsSimpleTextItem::boundingRect
+48 QGraphicsSimpleTextItem::shape
+56 QGraphicsSimpleTextItem::contains
+64 QGraphicsItem::collidesWithItem
+72 QGraphicsItem::collidesWithPath
+80 QGraphicsSimpleTextItem::isObscuredBy
+88 QGraphicsSimpleTextItem::opaqueArea
+96 QGraphicsSimpleTextItem::paint
+104 QGraphicsSimpleTextItem::type
+112 QGraphicsItem::sceneEventFilter
+120 QGraphicsItem::sceneEvent
+128 QGraphicsItem::contextMenuEvent
+136 QGraphicsItem::dragEnterEvent
+144 QGraphicsItem::dragLeaveEvent
+152 QGraphicsItem::dragMoveEvent
+160 QGraphicsItem::dropEvent
+168 QGraphicsItem::focusInEvent
+176 QGraphicsItem::focusOutEvent
+184 QGraphicsItem::hoverEnterEvent
+192 QGraphicsItem::hoverMoveEvent
+200 QGraphicsItem::hoverLeaveEvent
+208 QGraphicsItem::keyPressEvent
+216 QGraphicsItem::keyReleaseEvent
+224 QGraphicsItem::mousePressEvent
+232 QGraphicsItem::mouseMoveEvent
+240 QGraphicsItem::mouseReleaseEvent
+248 QGraphicsItem::mouseDoubleClickEvent
+256 QGraphicsItem::wheelEvent
+264 QGraphicsItem::inputMethodEvent
+272 QGraphicsItem::inputMethodQuery
+280 QGraphicsItem::itemChange
+288 QGraphicsSimpleTextItem::supportsExtension
+296 QGraphicsSimpleTextItem::setExtension
+304 QGraphicsSimpleTextItem::extension
+
+Class QGraphicsSimpleTextItem
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsSimpleTextItem (0x7f96de1871c0) 0
+ vptr=((& QGraphicsSimpleTextItem::_ZTV23QGraphicsSimpleTextItem) + 16u)
+ QAbstractGraphicsShapeItem (0x7f96de187230) 0
+ primary-for QGraphicsSimpleTextItem (0x7f96de1871c0)
+ QGraphicsItem (0x7f96de1872a0) 0
+ primary-for QAbstractGraphicsShapeItem (0x7f96de187230)
+
+Vtable for QGraphicsItemGroup
+QGraphicsItemGroup::_ZTV18QGraphicsItemGroup: 39u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QGraphicsItemGroup)
+16 QGraphicsItemGroup::~QGraphicsItemGroup
+24 QGraphicsItemGroup::~QGraphicsItemGroup
+32 QGraphicsItem::advance
+40 QGraphicsItemGroup::boundingRect
+48 QGraphicsItem::shape
+56 QGraphicsItem::contains
+64 QGraphicsItem::collidesWithItem
+72 QGraphicsItem::collidesWithPath
+80 QGraphicsItemGroup::isObscuredBy
+88 QGraphicsItemGroup::opaqueArea
+96 QGraphicsItemGroup::paint
+104 QGraphicsItemGroup::type
+112 QGraphicsItem::sceneEventFilter
+120 QGraphicsItem::sceneEvent
+128 QGraphicsItem::contextMenuEvent
+136 QGraphicsItem::dragEnterEvent
+144 QGraphicsItem::dragLeaveEvent
+152 QGraphicsItem::dragMoveEvent
+160 QGraphicsItem::dropEvent
+168 QGraphicsItem::focusInEvent
+176 QGraphicsItem::focusOutEvent
+184 QGraphicsItem::hoverEnterEvent
+192 QGraphicsItem::hoverMoveEvent
+200 QGraphicsItem::hoverLeaveEvent
+208 QGraphicsItem::keyPressEvent
+216 QGraphicsItem::keyReleaseEvent
+224 QGraphicsItem::mousePressEvent
+232 QGraphicsItem::mouseMoveEvent
+240 QGraphicsItem::mouseReleaseEvent
+248 QGraphicsItem::mouseDoubleClickEvent
+256 QGraphicsItem::wheelEvent
+264 QGraphicsItem::inputMethodEvent
+272 QGraphicsItem::inputMethodQuery
+280 QGraphicsItem::itemChange
+288 QGraphicsItem::supportsExtension
+296 QGraphicsItem::setExtension
+304 QGraphicsItem::extension
+
+Class QGraphicsItemGroup
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsItemGroup (0x7f96de196150) 0
+ vptr=((& QGraphicsItemGroup::_ZTV18QGraphicsItemGroup) + 16u)
+ QGraphicsItem (0x7f96de1961c0) 0
+ primary-for QGraphicsItemGroup (0x7f96de196150)
+
+Vtable for QGraphicsLayoutItem
+QGraphicsLayoutItem::_ZTV19QGraphicsLayoutItem: 8u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QGraphicsLayoutItem)
+16 QGraphicsLayoutItem::~QGraphicsLayoutItem
+24 QGraphicsLayoutItem::~QGraphicsLayoutItem
+32 QGraphicsLayoutItem::setGeometry
+40 QGraphicsLayoutItem::getContentsMargins
+48 QGraphicsLayoutItem::updateGeometry
+56 __cxa_pure_virtual
+
+Class QGraphicsLayoutItem
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsLayoutItem (0x7f96de1a5a80) 0
+ vptr=((& QGraphicsLayoutItem::_ZTV19QGraphicsLayoutItem) + 16u)
+
+Vtable for QGraphicsLayout
+QGraphicsLayout::_ZTV15QGraphicsLayout: 13u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QGraphicsLayout)
+16 QGraphicsLayout::~QGraphicsLayout
+24 QGraphicsLayout::~QGraphicsLayout
+32 QGraphicsLayoutItem::setGeometry
+40 QGraphicsLayout::getContentsMargins
+48 QGraphicsLayout::updateGeometry
+56 __cxa_pure_virtual
+64 QGraphicsLayout::invalidate
+72 QGraphicsLayout::widgetEvent
+80 __cxa_pure_virtual
+88 __cxa_pure_virtual
+96 __cxa_pure_virtual
+
+Class QGraphicsLayout
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsLayout (0x7f96de1d27e0) 0
+ vptr=((& QGraphicsLayout::_ZTV15QGraphicsLayout) + 16u)
+ QGraphicsLayoutItem (0x7f96de1d2850) 0
+ primary-for QGraphicsLayout (0x7f96de1d27e0)
+
+Vtable for QGraphicsScene
+QGraphicsScene::_ZTV14QGraphicsScene: 34u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QGraphicsScene)
+16 QGraphicsScene::metaObject
+24 QGraphicsScene::qt_metacast
+32 QGraphicsScene::qt_metacall
+40 QGraphicsScene::~QGraphicsScene
+48 QGraphicsScene::~QGraphicsScene
+56 QGraphicsScene::event
+64 QGraphicsScene::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QGraphicsScene::inputMethodQuery
+120 QGraphicsScene::contextMenuEvent
+128 QGraphicsScene::dragEnterEvent
+136 QGraphicsScene::dragMoveEvent
+144 QGraphicsScene::dragLeaveEvent
+152 QGraphicsScene::dropEvent
+160 QGraphicsScene::focusInEvent
+168 QGraphicsScene::focusOutEvent
+176 QGraphicsScene::helpEvent
+184 QGraphicsScene::keyPressEvent
+192 QGraphicsScene::keyReleaseEvent
+200 QGraphicsScene::mousePressEvent
+208 QGraphicsScene::mouseMoveEvent
+216 QGraphicsScene::mouseReleaseEvent
+224 QGraphicsScene::mouseDoubleClickEvent
+232 QGraphicsScene::wheelEvent
+240 QGraphicsScene::inputMethodEvent
+248 QGraphicsScene::drawBackground
+256 QGraphicsScene::drawForeground
+264 QGraphicsScene::drawItems
+
+Class QGraphicsScene
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsScene (0x7f96de1df700) 0
+ vptr=((& QGraphicsScene::_ZTV14QGraphicsScene) + 16u)
+ QObject (0x7f96de1df770) 0
+ primary-for QGraphicsScene (0x7f96de1df700)
+
+Vtable for QGraphicsLinearLayout
+QGraphicsLinearLayout::_ZTV21QGraphicsLinearLayout: 13u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI21QGraphicsLinearLayout)
+16 QGraphicsLinearLayout::~QGraphicsLinearLayout
+24 QGraphicsLinearLayout::~QGraphicsLinearLayout
+32 QGraphicsLinearLayout::setGeometry
+40 QGraphicsLayout::getContentsMargins
+48 QGraphicsLayout::updateGeometry
+56 QGraphicsLinearLayout::sizeHint
+64 QGraphicsLinearLayout::invalidate
+72 QGraphicsLayout::widgetEvent
+80 QGraphicsLinearLayout::count
+88 QGraphicsLinearLayout::itemAt
+96 QGraphicsLinearLayout::removeAt
+
+Class QGraphicsLinearLayout
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsLinearLayout (0x7f96de085d20) 0
+ vptr=((& QGraphicsLinearLayout::_ZTV21QGraphicsLinearLayout) + 16u)
+ QGraphicsLayout (0x7f96de085d90) 0
+ primary-for QGraphicsLinearLayout (0x7f96de085d20)
+ QGraphicsLayoutItem (0x7f96de085e00) 0
+ primary-for QGraphicsLayout (0x7f96de085d90)
+
+Vtable for QScrollArea
+QScrollArea::_ZTV11QScrollArea: 65u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QScrollArea)
+16 QScrollArea::metaObject
+24 QScrollArea::qt_metacast
+32 QScrollArea::qt_metacall
+40 QScrollArea::~QScrollArea
+48 QScrollArea::~QScrollArea
+56 QScrollArea::event
+64 QScrollArea::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QScrollArea::sizeHint
+136 QAbstractScrollArea::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QAbstractScrollArea::mousePressEvent
+168 QAbstractScrollArea::mouseReleaseEvent
+176 QAbstractScrollArea::mouseDoubleClickEvent
+184 QAbstractScrollArea::mouseMoveEvent
+192 QAbstractScrollArea::wheelEvent
+200 QAbstractScrollArea::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QAbstractScrollArea::paintEvent
+256 QWidget::moveEvent
+264 QScrollArea::resizeEvent
+272 QWidget::closeEvent
+280 QAbstractScrollArea::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QAbstractScrollArea::dragEnterEvent
+312 QAbstractScrollArea::dragMoveEvent
+320 QAbstractScrollArea::dragLeaveEvent
+328 QAbstractScrollArea::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QFrame::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QScrollArea::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QAbstractScrollArea::viewportEvent
+456 QScrollArea::scrollContentsBy
+464 (int (*)(...))-0x00000000000000010
+472 (int (*)(...))(& _ZTI11QScrollArea)
+480 QScrollArea::_ZThn16_N11QScrollAreaD1Ev
+488 QScrollArea::_ZThn16_N11QScrollAreaD0Ev
+496 QWidget::_ZThn16_NK7QWidget7devTypeEv
+504 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+512 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QScrollArea
+ size=40 align=8
+ base size=40 base align=8
+QScrollArea (0x7f96de0b5540) 0
+ vptr=((& QScrollArea::_ZTV11QScrollArea) + 16u)
+ QAbstractScrollArea (0x7f96de0b55b0) 0
+ primary-for QScrollArea (0x7f96de0b5540)
+ QFrame (0x7f96de0b5620) 0
+ primary-for QAbstractScrollArea (0x7f96de0b55b0)
+ QWidget (0x7f96de084880) 0
+ primary-for QFrame (0x7f96de0b5620)
+ QObject (0x7f96de0b5690) 0
+ primary-for QWidget (0x7f96de084880)
+ QPaintDevice (0x7f96de0b5700) 16
+ vptr=((& QScrollArea::_ZTV11QScrollArea) + 480u)
+
+Vtable for QGraphicsView
+QGraphicsView::_ZTV13QGraphicsView: 68u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QGraphicsView)
+16 QGraphicsView::metaObject
+24 QGraphicsView::qt_metacast
+32 QGraphicsView::qt_metacall
+40 QGraphicsView::~QGraphicsView
+48 QGraphicsView::~QGraphicsView
+56 QGraphicsView::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QGraphicsView::sizeHint
+136 QAbstractScrollArea::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QGraphicsView::mousePressEvent
+168 QGraphicsView::mouseReleaseEvent
+176 QGraphicsView::mouseDoubleClickEvent
+184 QGraphicsView::mouseMoveEvent
+192 QGraphicsView::wheelEvent
+200 QGraphicsView::keyPressEvent
+208 QGraphicsView::keyReleaseEvent
+216 QGraphicsView::focusInEvent
+224 QGraphicsView::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QGraphicsView::paintEvent
+256 QWidget::moveEvent
+264 QGraphicsView::resizeEvent
+272 QWidget::closeEvent
+280 QGraphicsView::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QGraphicsView::dragEnterEvent
+312 QGraphicsView::dragMoveEvent
+320 QGraphicsView::dragLeaveEvent
+328 QGraphicsView::dropEvent
+336 QGraphicsView::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QFrame::changeEvent
+368 QWidget::metric
+376 QGraphicsView::inputMethodEvent
+384 QGraphicsView::inputMethodQuery
+392 QGraphicsView::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QGraphicsView::viewportEvent
+456 QGraphicsView::scrollContentsBy
+464 QGraphicsView::drawBackground
+472 QGraphicsView::drawForeground
+480 QGraphicsView::drawItems
+488 (int (*)(...))-0x00000000000000010
+496 (int (*)(...))(& _ZTI13QGraphicsView)
+504 QGraphicsView::_ZThn16_N13QGraphicsViewD1Ev
+512 QGraphicsView::_ZThn16_N13QGraphicsViewD0Ev
+520 QWidget::_ZThn16_NK7QWidget7devTypeEv
+528 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+536 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QGraphicsView
+ size=40 align=8
+ base size=40 base align=8
+QGraphicsView (0x7f96de0d3460) 0
+ vptr=((& QGraphicsView::_ZTV13QGraphicsView) + 16u)
+ QAbstractScrollArea (0x7f96de0d34d0) 0
+ primary-for QGraphicsView (0x7f96de0d3460)
+ QFrame (0x7f96de0d3540) 0
+ primary-for QAbstractScrollArea (0x7f96de0d34d0)
+ QWidget (0x7f96de0d2180) 0
+ primary-for QFrame (0x7f96de0d3540)
+ QObject (0x7f96de0d35b0) 0
+ primary-for QWidget (0x7f96de0d2180)
+ QPaintDevice (0x7f96de0d3620) 16
+ vptr=((& QGraphicsView::_ZTV13QGraphicsView) + 504u)
+
+Vtable for QGraphicsWidget
+QGraphicsWidget::_ZTV15QGraphicsWidget: 92u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QGraphicsWidget)
+16 QGraphicsWidget::metaObject
+24 QGraphicsWidget::qt_metacast
+32 QGraphicsWidget::qt_metacall
+40 QGraphicsWidget::~QGraphicsWidget
+48 QGraphicsWidget::~QGraphicsWidget
+56 QGraphicsWidget::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QGraphicsWidget::setGeometry
+120 QGraphicsWidget::getContentsMargins
+128 QGraphicsWidget::type
+136 QGraphicsWidget::paint
+144 QGraphicsWidget::paintWindowFrame
+152 QGraphicsWidget::boundingRect
+160 QGraphicsWidget::shape
+168 QGraphicsWidget::initStyleOption
+176 QGraphicsWidget::sizeHint
+184 QGraphicsWidget::updateGeometry
+192 QGraphicsWidget::itemChange
+200 QGraphicsWidget::propertyChange
+208 QGraphicsWidget::sceneEvent
+216 QGraphicsWidget::windowFrameEvent
+224 QGraphicsWidget::windowFrameSectionAt
+232 QGraphicsWidget::changeEvent
+240 QGraphicsWidget::closeEvent
+248 QGraphicsWidget::focusInEvent
+256 QGraphicsWidget::focusNextPrevChild
+264 QGraphicsWidget::focusOutEvent
+272 QGraphicsWidget::hideEvent
+280 QGraphicsWidget::moveEvent
+288 QGraphicsWidget::polishEvent
+296 QGraphicsWidget::resizeEvent
+304 QGraphicsWidget::showEvent
+312 QGraphicsWidget::hoverMoveEvent
+320 QGraphicsWidget::hoverLeaveEvent
+328 QGraphicsWidget::grabMouseEvent
+336 QGraphicsWidget::ungrabMouseEvent
+344 QGraphicsWidget::grabKeyboardEvent
+352 QGraphicsWidget::ungrabKeyboardEvent
+360 (int (*)(...))-0x00000000000000010
+368 (int (*)(...))(& _ZTI15QGraphicsWidget)
+376 QGraphicsWidget::_ZThn16_N15QGraphicsWidgetD1Ev
+384 QGraphicsWidget::_ZThn16_N15QGraphicsWidgetD0Ev
+392 QGraphicsItem::advance
+400 QGraphicsWidget::_ZThn16_NK15QGraphicsWidget12boundingRectEv
+408 QGraphicsWidget::_ZThn16_NK15QGraphicsWidget5shapeEv
+416 QGraphicsItem::contains
+424 QGraphicsItem::collidesWithItem
+432 QGraphicsItem::collidesWithPath
+440 QGraphicsItem::isObscuredBy
+448 QGraphicsItem::opaqueArea
+456 QGraphicsWidget::_ZThn16_N15QGraphicsWidget5paintEP8QPainterPK24QStyleOptionGraphicsItemP7QWidget
+464 QGraphicsWidget::_ZThn16_NK15QGraphicsWidget4typeEv
+472 QGraphicsItem::sceneEventFilter
+480 QGraphicsWidget::_ZThn16_N15QGraphicsWidget10sceneEventEP6QEvent
+488 QGraphicsItem::contextMenuEvent
+496 QGraphicsItem::dragEnterEvent
+504 QGraphicsItem::dragLeaveEvent
+512 QGraphicsItem::dragMoveEvent
+520 QGraphicsItem::dropEvent
+528 QGraphicsWidget::_ZThn16_N15QGraphicsWidget12focusInEventEP11QFocusEvent
+536 QGraphicsWidget::_ZThn16_N15QGraphicsWidget13focusOutEventEP11QFocusEvent
+544 QGraphicsItem::hoverEnterEvent
+552 QGraphicsWidget::_ZThn16_N15QGraphicsWidget14hoverMoveEventEP24QGraphicsSceneHoverEvent
+560 QGraphicsWidget::_ZThn16_N15QGraphicsWidget15hoverLeaveEventEP24QGraphicsSceneHoverEvent
+568 QGraphicsItem::keyPressEvent
+576 QGraphicsItem::keyReleaseEvent
+584 QGraphicsItem::mousePressEvent
+592 QGraphicsItem::mouseMoveEvent
+600 QGraphicsItem::mouseReleaseEvent
+608 QGraphicsItem::mouseDoubleClickEvent
+616 QGraphicsItem::wheelEvent
+624 QGraphicsItem::inputMethodEvent
+632 QGraphicsItem::inputMethodQuery
+640 QGraphicsWidget::_ZThn16_N15QGraphicsWidget10itemChangeEN13QGraphicsItem18GraphicsItemChangeERK8QVariant
+648 QGraphicsItem::supportsExtension
+656 QGraphicsItem::setExtension
+664 QGraphicsItem::extension
+672 (int (*)(...))-0x00000000000000020
+680 (int (*)(...))(& _ZTI15QGraphicsWidget)
+688 QGraphicsWidget::_ZThn32_N15QGraphicsWidgetD1Ev
+696 QGraphicsWidget::_ZThn32_N15QGraphicsWidgetD0Ev
+704 QGraphicsWidget::_ZThn32_N15QGraphicsWidget11setGeometryERK6QRectF
+712 QGraphicsWidget::_ZThn32_NK15QGraphicsWidget18getContentsMarginsEPdS0_S0_S0_
+720 QGraphicsWidget::_ZThn32_N15QGraphicsWidget14updateGeometryEv
+728 QGraphicsWidget::_ZThn32_NK15QGraphicsWidget8sizeHintEN2Qt8SizeHintERK6QSizeF
+
+Class QGraphicsWidget
+ size=48 align=8
+ base size=48 base align=8
+QGraphicsWidget (0x7f96ddfaad00) 0
+ vptr=((& QGraphicsWidget::_ZTV15QGraphicsWidget) + 16u)
+ QObject (0x7f96ddfb6930) 0
+ primary-for QGraphicsWidget (0x7f96ddfaad00)
+ QGraphicsItem (0x7f96ddfb69a0) 16
+ vptr=((& QGraphicsWidget::_ZTV15QGraphicsWidget) + 376u)
+ QGraphicsLayoutItem (0x7f96ddfb6a10) 32
+ vptr=((& QGraphicsWidget::_ZTV15QGraphicsWidget) + 688u)
+
+Vtable for QGraphicsProxyWidget
+QGraphicsProxyWidget::_ZTV20QGraphicsProxyWidget: 105u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI20QGraphicsProxyWidget)
+16 QGraphicsProxyWidget::metaObject
+24 QGraphicsProxyWidget::qt_metacast
+32 QGraphicsProxyWidget::qt_metacall
+40 QGraphicsProxyWidget::~QGraphicsProxyWidget
+48 QGraphicsProxyWidget::~QGraphicsProxyWidget
+56 QGraphicsProxyWidget::event
+64 QGraphicsProxyWidget::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QGraphicsProxyWidget::setGeometry
+120 QGraphicsWidget::getContentsMargins
+128 QGraphicsProxyWidget::type
+136 QGraphicsProxyWidget::paint
+144 QGraphicsWidget::paintWindowFrame
+152 QGraphicsWidget::boundingRect
+160 QGraphicsWidget::shape
+168 QGraphicsWidget::initStyleOption
+176 QGraphicsProxyWidget::sizeHint
+184 QGraphicsWidget::updateGeometry
+192 QGraphicsProxyWidget::itemChange
+200 QGraphicsWidget::propertyChange
+208 QGraphicsWidget::sceneEvent
+216 QGraphicsWidget::windowFrameEvent
+224 QGraphicsWidget::windowFrameSectionAt
+232 QGraphicsWidget::changeEvent
+240 QGraphicsWidget::closeEvent
+248 QGraphicsProxyWidget::focusInEvent
+256 QGraphicsProxyWidget::focusNextPrevChild
+264 QGraphicsProxyWidget::focusOutEvent
+272 QGraphicsProxyWidget::hideEvent
+280 QGraphicsWidget::moveEvent
+288 QGraphicsWidget::polishEvent
+296 QGraphicsProxyWidget::resizeEvent
+304 QGraphicsProxyWidget::showEvent
+312 QGraphicsProxyWidget::hoverMoveEvent
+320 QGraphicsProxyWidget::hoverLeaveEvent
+328 QGraphicsProxyWidget::grabMouseEvent
+336 QGraphicsProxyWidget::ungrabMouseEvent
+344 QGraphicsWidget::grabKeyboardEvent
+352 QGraphicsWidget::ungrabKeyboardEvent
+360 QGraphicsProxyWidget::contextMenuEvent
+368 QGraphicsProxyWidget::dragEnterEvent
+376 QGraphicsProxyWidget::dragLeaveEvent
+384 QGraphicsProxyWidget::dragMoveEvent
+392 QGraphicsProxyWidget::dropEvent
+400 QGraphicsProxyWidget::hoverEnterEvent
+408 QGraphicsProxyWidget::mouseMoveEvent
+416 QGraphicsProxyWidget::mousePressEvent
+424 QGraphicsProxyWidget::mouseReleaseEvent
+432 QGraphicsProxyWidget::mouseDoubleClickEvent
+440 QGraphicsProxyWidget::wheelEvent
+448 QGraphicsProxyWidget::keyPressEvent
+456 QGraphicsProxyWidget::keyReleaseEvent
+464 (int (*)(...))-0x00000000000000010
+472 (int (*)(...))(& _ZTI20QGraphicsProxyWidget)
+480 QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidgetD1Ev
+488 QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidgetD0Ev
+496 QGraphicsItem::advance
+504 QGraphicsWidget::_ZThn16_NK15QGraphicsWidget12boundingRectEv
+512 QGraphicsWidget::_ZThn16_NK15QGraphicsWidget5shapeEv
+520 QGraphicsItem::contains
+528 QGraphicsItem::collidesWithItem
+536 QGraphicsItem::collidesWithPath
+544 QGraphicsItem::isObscuredBy
+552 QGraphicsItem::opaqueArea
+560 QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget5paintEP8QPainterPK24QStyleOptionGraphicsItemP7QWidget
+568 QGraphicsProxyWidget::_ZThn16_NK20QGraphicsProxyWidget4typeEv
+576 QGraphicsItem::sceneEventFilter
+584 QGraphicsWidget::_ZThn16_N15QGraphicsWidget10sceneEventEP6QEvent
+592 QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget16contextMenuEventEP30QGraphicsSceneContextMenuEvent
+600 QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget14dragEnterEventEP27QGraphicsSceneDragDropEvent
+608 QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget14dragLeaveEventEP27QGraphicsSceneDragDropEvent
+616 QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget13dragMoveEventEP27QGraphicsSceneDragDropEvent
+624 QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget9dropEventEP27QGraphicsSceneDragDropEvent
+632 QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget12focusInEventEP11QFocusEvent
+640 QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget13focusOutEventEP11QFocusEvent
+648 QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget15hoverEnterEventEP24QGraphicsSceneHoverEvent
+656 QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget14hoverMoveEventEP24QGraphicsSceneHoverEvent
+664 QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget15hoverLeaveEventEP24QGraphicsSceneHoverEvent
+672 QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget13keyPressEventEP9QKeyEvent
+680 QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget15keyReleaseEventEP9QKeyEvent
+688 QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget15mousePressEventEP24QGraphicsSceneMouseEvent
+696 QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget14mouseMoveEventEP24QGraphicsSceneMouseEvent
+704 QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget17mouseReleaseEventEP24QGraphicsSceneMouseEvent
+712 QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget21mouseDoubleClickEventEP24QGraphicsSceneMouseEvent
+720 QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget10wheelEventEP24QGraphicsSceneWheelEvent
+728 QGraphicsItem::inputMethodEvent
+736 QGraphicsItem::inputMethodQuery
+744 QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget10itemChangeEN13QGraphicsItem18GraphicsItemChangeERK8QVariant
+752 QGraphicsItem::supportsExtension
+760 QGraphicsItem::setExtension
+768 QGraphicsItem::extension
+776 (int (*)(...))-0x00000000000000020
+784 (int (*)(...))(& _ZTI20QGraphicsProxyWidget)
+792 QGraphicsProxyWidget::_ZThn32_N20QGraphicsProxyWidgetD1Ev
+800 QGraphicsProxyWidget::_ZThn32_N20QGraphicsProxyWidgetD0Ev
+808 QGraphicsProxyWidget::_ZThn32_N20QGraphicsProxyWidget11setGeometryERK6QRectF
+816 QGraphicsWidget::_ZThn32_NK15QGraphicsWidget18getContentsMarginsEPdS0_S0_S0_
+824 QGraphicsWidget::_ZThn32_N15QGraphicsWidget14updateGeometryEv
+832 QGraphicsProxyWidget::_ZThn32_NK20QGraphicsProxyWidget8sizeHintEN2Qt8SizeHintERK6QSizeF
+
+Class QGraphicsProxyWidget
+ size=48 align=8
+ base size=48 base align=8
+QGraphicsProxyWidget (0x7f96ddfff1c0) 0
+ vptr=((& QGraphicsProxyWidget::_ZTV20QGraphicsProxyWidget) + 16u)
+ QGraphicsWidget (0x7f96ddff0b80) 0
+ primary-for QGraphicsProxyWidget (0x7f96ddfff1c0)
+ QObject (0x7f96ddfff230) 0
+ primary-for QGraphicsWidget (0x7f96ddff0b80)
+ QGraphicsItem (0x7f96ddfff2a0) 16
+ vptr=((& QGraphicsProxyWidget::_ZTV20QGraphicsProxyWidget) + 480u)
+ QGraphicsLayoutItem (0x7f96ddfff310) 32
+ vptr=((& QGraphicsProxyWidget::_ZTV20QGraphicsProxyWidget) + 792u)
+
+Vtable for QGraphicsSceneEvent
+QGraphicsSceneEvent::_ZTV19QGraphicsSceneEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QGraphicsSceneEvent)
+16 QGraphicsSceneEvent::~QGraphicsSceneEvent
+24 QGraphicsSceneEvent::~QGraphicsSceneEvent
+
+Class QGraphicsSceneEvent
+ size=32 align=8
+ base size=32 base align=8
+QGraphicsSceneEvent (0x7f96dde29230) 0
+ vptr=((& QGraphicsSceneEvent::_ZTV19QGraphicsSceneEvent) + 16u)
+ QEvent (0x7f96dde292a0) 0
+ primary-for QGraphicsSceneEvent (0x7f96dde29230)
+
+Vtable for QGraphicsSceneMouseEvent
+QGraphicsSceneMouseEvent::_ZTV24QGraphicsSceneMouseEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI24QGraphicsSceneMouseEvent)
+16 QGraphicsSceneMouseEvent::~QGraphicsSceneMouseEvent
+24 QGraphicsSceneMouseEvent::~QGraphicsSceneMouseEvent
+
+Class QGraphicsSceneMouseEvent
+ size=32 align=8
+ base size=32 base align=8
+QGraphicsSceneMouseEvent (0x7f96dde29b60) 0
+ vptr=((& QGraphicsSceneMouseEvent::_ZTV24QGraphicsSceneMouseEvent) + 16u)
+ QGraphicsSceneEvent (0x7f96dde29bd0) 0
+ primary-for QGraphicsSceneMouseEvent (0x7f96dde29b60)
+ QEvent (0x7f96dde29c40) 0
+ primary-for QGraphicsSceneEvent (0x7f96dde29bd0)
+
+Vtable for QGraphicsSceneWheelEvent
+QGraphicsSceneWheelEvent::_ZTV24QGraphicsSceneWheelEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI24QGraphicsSceneWheelEvent)
+16 QGraphicsSceneWheelEvent::~QGraphicsSceneWheelEvent
+24 QGraphicsSceneWheelEvent::~QGraphicsSceneWheelEvent
+
+Class QGraphicsSceneWheelEvent
+ size=32 align=8
+ base size=32 base align=8
+QGraphicsSceneWheelEvent (0x7f96dde3a460) 0
+ vptr=((& QGraphicsSceneWheelEvent::_ZTV24QGraphicsSceneWheelEvent) + 16u)
+ QGraphicsSceneEvent (0x7f96dde3a4d0) 0
+ primary-for QGraphicsSceneWheelEvent (0x7f96dde3a460)
+ QEvent (0x7f96dde3a540) 0
+ primary-for QGraphicsSceneEvent (0x7f96dde3a4d0)
+
+Vtable for QGraphicsSceneContextMenuEvent
+QGraphicsSceneContextMenuEvent::_ZTV30QGraphicsSceneContextMenuEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI30QGraphicsSceneContextMenuEvent)
+16 QGraphicsSceneContextMenuEvent::~QGraphicsSceneContextMenuEvent
+24 QGraphicsSceneContextMenuEvent::~QGraphicsSceneContextMenuEvent
+
+Class QGraphicsSceneContextMenuEvent
+ size=32 align=8
+ base size=32 base align=8
+QGraphicsSceneContextMenuEvent (0x7f96dde3ae00) 0
+ vptr=((& QGraphicsSceneContextMenuEvent::_ZTV30QGraphicsSceneContextMenuEvent) + 16u)
+ QGraphicsSceneEvent (0x7f96dde3ae70) 0
+ primary-for QGraphicsSceneContextMenuEvent (0x7f96dde3ae00)
+ QEvent (0x7f96dde3aee0) 0
+ primary-for QGraphicsSceneEvent (0x7f96dde3ae70)
+
+Vtable for QGraphicsSceneHoverEvent
+QGraphicsSceneHoverEvent::_ZTV24QGraphicsSceneHoverEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI24QGraphicsSceneHoverEvent)
+16 QGraphicsSceneHoverEvent::~QGraphicsSceneHoverEvent
+24 QGraphicsSceneHoverEvent::~QGraphicsSceneHoverEvent
+
+Class QGraphicsSceneHoverEvent
+ size=32 align=8
+ base size=32 base align=8
+QGraphicsSceneHoverEvent (0x7f96dde48930) 0
+ vptr=((& QGraphicsSceneHoverEvent::_ZTV24QGraphicsSceneHoverEvent) + 16u)
+ QGraphicsSceneEvent (0x7f96dde489a0) 0
+ primary-for QGraphicsSceneHoverEvent (0x7f96dde48930)
+ QEvent (0x7f96dde48a10) 0
+ primary-for QGraphicsSceneEvent (0x7f96dde489a0)
+
+Vtable for QGraphicsSceneHelpEvent
+QGraphicsSceneHelpEvent::_ZTV23QGraphicsSceneHelpEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI23QGraphicsSceneHelpEvent)
+16 QGraphicsSceneHelpEvent::~QGraphicsSceneHelpEvent
+24 QGraphicsSceneHelpEvent::~QGraphicsSceneHelpEvent
+
+Class QGraphicsSceneHelpEvent
+ size=32 align=8
+ base size=32 base align=8
+QGraphicsSceneHelpEvent (0x7f96dde59230) 0
+ vptr=((& QGraphicsSceneHelpEvent::_ZTV23QGraphicsSceneHelpEvent) + 16u)
+ QGraphicsSceneEvent (0x7f96dde592a0) 0
+ primary-for QGraphicsSceneHelpEvent (0x7f96dde59230)
+ QEvent (0x7f96dde59310) 0
+ primary-for QGraphicsSceneEvent (0x7f96dde592a0)
+
+Vtable for QGraphicsSceneDragDropEvent
+QGraphicsSceneDragDropEvent::_ZTV27QGraphicsSceneDragDropEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI27QGraphicsSceneDragDropEvent)
+16 QGraphicsSceneDragDropEvent::~QGraphicsSceneDragDropEvent
+24 QGraphicsSceneDragDropEvent::~QGraphicsSceneDragDropEvent
+
+Class QGraphicsSceneDragDropEvent
+ size=32 align=8
+ base size=32 base align=8
+QGraphicsSceneDragDropEvent (0x7f96dde59bd0) 0
+ vptr=((& QGraphicsSceneDragDropEvent::_ZTV27QGraphicsSceneDragDropEvent) + 16u)
+ QGraphicsSceneEvent (0x7f96dde59c40) 0
+ primary-for QGraphicsSceneDragDropEvent (0x7f96dde59bd0)
+ QEvent (0x7f96dde59cb0) 0
+ primary-for QGraphicsSceneEvent (0x7f96dde59c40)
+
+Vtable for QGraphicsSceneResizeEvent
+QGraphicsSceneResizeEvent::_ZTV25QGraphicsSceneResizeEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI25QGraphicsSceneResizeEvent)
+16 QGraphicsSceneResizeEvent::~QGraphicsSceneResizeEvent
+24 QGraphicsSceneResizeEvent::~QGraphicsSceneResizeEvent
+
+Class QGraphicsSceneResizeEvent
+ size=32 align=8
+ base size=32 base align=8
+QGraphicsSceneResizeEvent (0x7f96dde6c4d0) 0
+ vptr=((& QGraphicsSceneResizeEvent::_ZTV25QGraphicsSceneResizeEvent) + 16u)
+ QGraphicsSceneEvent (0x7f96dde6c540) 0
+ primary-for QGraphicsSceneResizeEvent (0x7f96dde6c4d0)
+ QEvent (0x7f96dde6c5b0) 0
+ primary-for QGraphicsSceneEvent (0x7f96dde6c540)
+
+Vtable for QGraphicsSceneMoveEvent
+QGraphicsSceneMoveEvent::_ZTV23QGraphicsSceneMoveEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI23QGraphicsSceneMoveEvent)
+16 QGraphicsSceneMoveEvent::~QGraphicsSceneMoveEvent
+24 QGraphicsSceneMoveEvent::~QGraphicsSceneMoveEvent
+
+Class QGraphicsSceneMoveEvent
+ size=32 align=8
+ base size=32 base align=8
+QGraphicsSceneMoveEvent (0x7f96dde6ccb0) 0
+ vptr=((& QGraphicsSceneMoveEvent::_ZTV23QGraphicsSceneMoveEvent) + 16u)
+ QGraphicsSceneEvent (0x7f96dde6cd20) 0
+ primary-for QGraphicsSceneMoveEvent (0x7f96dde6ccb0)
+ QEvent (0x7f96dde6cd90) 0
+ primary-for QGraphicsSceneEvent (0x7f96dde6cd20)
+
+Vtable for QGraphicsItemAnimation
+QGraphicsItemAnimation::_ZTV22QGraphicsItemAnimation: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI22QGraphicsItemAnimation)
+16 QGraphicsItemAnimation::metaObject
+24 QGraphicsItemAnimation::qt_metacast
+32 QGraphicsItemAnimation::qt_metacall
+40 QGraphicsItemAnimation::~QGraphicsItemAnimation
+48 QGraphicsItemAnimation::~QGraphicsItemAnimation
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QGraphicsItemAnimation::beforeAnimationStep
+120 QGraphicsItemAnimation::afterAnimationStep
+
+Class QGraphicsItemAnimation
+ size=24 align=8
+ base size=24 base align=8
+QGraphicsItemAnimation (0x7f96dde7b3f0) 0
+ vptr=((& QGraphicsItemAnimation::_ZTV22QGraphicsItemAnimation) + 16u)
+ QObject (0x7f96dde7b460) 0
+ primary-for QGraphicsItemAnimation (0x7f96dde7b3f0)
+
+Vtable for QGraphicsGridLayout
+QGraphicsGridLayout::_ZTV19QGraphicsGridLayout: 13u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QGraphicsGridLayout)
+16 QGraphicsGridLayout::~QGraphicsGridLayout
+24 QGraphicsGridLayout::~QGraphicsGridLayout
+32 QGraphicsGridLayout::setGeometry
+40 QGraphicsLayout::getContentsMargins
+48 QGraphicsLayout::updateGeometry
+56 QGraphicsGridLayout::sizeHint
+64 QGraphicsGridLayout::invalidate
+72 QGraphicsLayout::widgetEvent
+80 QGraphicsGridLayout::count
+88 QGraphicsGridLayout::itemAt
+96 QGraphicsGridLayout::removeAt
+
+Class QGraphicsGridLayout
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsGridLayout (0x7f96dde95770) 0
+ vptr=((& QGraphicsGridLayout::_ZTV19QGraphicsGridLayout) + 16u)
+ QGraphicsLayout (0x7f96dde957e0) 0
+ primary-for QGraphicsGridLayout (0x7f96dde95770)
+ QGraphicsLayoutItem (0x7f96dde95850) 0
+ primary-for QGraphicsLayout (0x7f96dde957e0)
+
+Vtable for QAbstractButton
+QAbstractButton::_ZTV15QAbstractButton: 66u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QAbstractButton)
+16 QAbstractButton::metaObject
+24 QAbstractButton::qt_metacast
+32 QAbstractButton::qt_metacall
+40 QAbstractButton::~QAbstractButton
+48 QAbstractButton::~QAbstractButton
+56 QAbstractButton::event
+64 QObject::eventFilter
+72 QAbstractButton::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QWidget::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QAbstractButton::mousePressEvent
+168 QAbstractButton::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QAbstractButton::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QAbstractButton::keyPressEvent
+208 QAbstractButton::keyReleaseEvent
+216 QAbstractButton::focusInEvent
+224 QAbstractButton::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 __cxa_pure_virtual
+256 QWidget::moveEvent
+264 QWidget::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QAbstractButton::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QAbstractButton::hitButton
+456 QAbstractButton::checkStateSet
+464 QAbstractButton::nextCheckState
+472 (int (*)(...))-0x00000000000000010
+480 (int (*)(...))(& _ZTI15QAbstractButton)
+488 QAbstractButton::_ZThn16_N15QAbstractButtonD1Ev
+496 QAbstractButton::_ZThn16_N15QAbstractButtonD0Ev
+504 QWidget::_ZThn16_NK7QWidget7devTypeEv
+512 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+520 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QAbstractButton
+ size=40 align=8
+ base size=40 base align=8
+QAbstractButton (0x7f96ddeaebd0) 0
+ vptr=((& QAbstractButton::_ZTV15QAbstractButton) + 16u)
+ QWidget (0x7f96dde91800) 0
+ primary-for QAbstractButton (0x7f96ddeaebd0)
+ QObject (0x7f96ddeaec40) 0
+ primary-for QWidget (0x7f96dde91800)
+ QPaintDevice (0x7f96ddeaecb0) 16
+ vptr=((& QAbstractButton::_ZTV15QAbstractButton) + 488u)
+
+Vtable for QCheckBox
+QCheckBox::_ZTV9QCheckBox: 66u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QCheckBox)
+16 QCheckBox::metaObject
+24 QCheckBox::qt_metacast
+32 QCheckBox::qt_metacall
+40 QCheckBox::~QCheckBox
+48 QCheckBox::~QCheckBox
+56 QCheckBox::event
+64 QObject::eventFilter
+72 QAbstractButton::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QCheckBox::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QAbstractButton::mousePressEvent
+168 QAbstractButton::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QCheckBox::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QAbstractButton::keyPressEvent
+208 QAbstractButton::keyReleaseEvent
+216 QAbstractButton::focusInEvent
+224 QAbstractButton::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QCheckBox::paintEvent
+256 QWidget::moveEvent
+264 QWidget::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QAbstractButton::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QCheckBox::hitButton
+456 QCheckBox::checkStateSet
+464 QCheckBox::nextCheckState
+472 (int (*)(...))-0x00000000000000010
+480 (int (*)(...))(& _ZTI9QCheckBox)
+488 QCheckBox::_ZThn16_N9QCheckBoxD1Ev
+496 QCheckBox::_ZThn16_N9QCheckBoxD0Ev
+504 QWidget::_ZThn16_NK7QWidget7devTypeEv
+512 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+520 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QCheckBox
+ size=40 align=8
+ base size=40 base align=8
+QCheckBox (0x7f96ddee2f50) 0
+ vptr=((& QCheckBox::_ZTV9QCheckBox) + 16u)
+ QAbstractButton (0x7f96ddee9000) 0
+ primary-for QCheckBox (0x7f96ddee2f50)
+ QWidget (0x7f96ddeea000) 0
+ primary-for QAbstractButton (0x7f96ddee9000)
+ QObject (0x7f96ddee9070) 0
+ primary-for QWidget (0x7f96ddeea000)
+ QPaintDevice (0x7f96ddee90e0) 16
+ vptr=((& QCheckBox::_ZTV9QCheckBox) + 488u)
+
+Vtable for QMenu
+QMenu::_ZTV5QMenu: 63u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI5QMenu)
+16 QMenu::metaObject
+24 QMenu::qt_metacast
+32 QMenu::qt_metacall
+40 QMenu::~QMenu
+48 QMenu::~QMenu
+56 QMenu::event
+64 QObject::eventFilter
+72 QMenu::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QMenu::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QMenu::mousePressEvent
+168 QMenu::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QMenu::mouseMoveEvent
+192 QMenu::wheelEvent
+200 QMenu::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QMenu::enterEvent
+240 QMenu::leaveEvent
+248 QMenu::paintEvent
+256 QWidget::moveEvent
+264 QWidget::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QMenu::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QMenu::hideEvent
+352 QWidget::x11Event
+360 QMenu::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QMenu::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 (int (*)(...))-0x00000000000000010
+456 (int (*)(...))(& _ZTI5QMenu)
+464 QMenu::_ZThn16_N5QMenuD1Ev
+472 QMenu::_ZThn16_N5QMenuD0Ev
+480 QWidget::_ZThn16_NK7QWidget7devTypeEv
+488 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+496 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QMenu
+ size=40 align=8
+ base size=40 base align=8
+QMenu (0x7f96ddd0a770) 0
+ vptr=((& QMenu::_ZTV5QMenu) + 16u)
+ QWidget (0x7f96ddeeaf00) 0
+ primary-for QMenu (0x7f96ddd0a770)
+ QObject (0x7f96ddd0a7e0) 0
+ primary-for QWidget (0x7f96ddeeaf00)
+ QPaintDevice (0x7f96ddd0a850) 16
+ vptr=((& QMenu::_ZTV5QMenu) + 464u)
+
+Vtable for QPrintPreviewWidget
+QPrintPreviewWidget::_ZTV19QPrintPreviewWidget: 63u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QPrintPreviewWidget)
+16 QPrintPreviewWidget::metaObject
+24 QPrintPreviewWidget::qt_metacast
+32 QPrintPreviewWidget::qt_metacall
+40 QPrintPreviewWidget::~QPrintPreviewWidget
+48 QPrintPreviewWidget::~QPrintPreviewWidget
+56 QWidget::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QPrintPreviewWidget::setVisible
+128 QWidget::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QWidget::paintEvent
+256 QWidget::moveEvent
+264 QWidget::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QWidget::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 (int (*)(...))-0x00000000000000010
+456 (int (*)(...))(& _ZTI19QPrintPreviewWidget)
+464 QPrintPreviewWidget::_ZThn16_N19QPrintPreviewWidgetD1Ev
+472 QPrintPreviewWidget::_ZThn16_N19QPrintPreviewWidgetD0Ev
+480 QWidget::_ZThn16_NK7QWidget7devTypeEv
+488 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+496 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QPrintPreviewWidget
+ size=48 align=8
+ base size=48 base align=8
+QPrintPreviewWidget (0x7f96dddb25b0) 0
+ vptr=((& QPrintPreviewWidget::_ZTV19QPrintPreviewWidget) + 16u)
+ QWidget (0x7f96dddb0680) 0
+ primary-for QPrintPreviewWidget (0x7f96dddb25b0)
+ QObject (0x7f96dddb2620) 0
+ primary-for QWidget (0x7f96dddb0680)
+ QPaintDevice (0x7f96dddb2690) 16
+ vptr=((& QPrintPreviewWidget::_ZTV19QPrintPreviewWidget) + 464u)
+
+Vtable for QWorkspace
+QWorkspace::_ZTV10QWorkspace: 63u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QWorkspace)
+16 QWorkspace::metaObject
+24 QWorkspace::qt_metacast
+32 QWorkspace::qt_metacall
+40 QWorkspace::~QWorkspace
+48 QWorkspace::~QWorkspace
+56 QWorkspace::event
+64 QWorkspace::eventFilter
+72 QObject::timerEvent
+80 QWorkspace::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QWorkspace::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWorkspace::wheelEvent
+200 QWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QWorkspace::paintEvent
+256 QWidget::moveEvent
+264 QWorkspace::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWorkspace::showEvent
+344 QWorkspace::hideEvent
+352 QWidget::x11Event
+360 QWorkspace::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 (int (*)(...))-0x00000000000000010
+456 (int (*)(...))(& _ZTI10QWorkspace)
+464 QWorkspace::_ZThn16_N10QWorkspaceD1Ev
+472 QWorkspace::_ZThn16_N10QWorkspaceD0Ev
+480 QWidget::_ZThn16_NK7QWidget7devTypeEv
+488 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+496 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QWorkspace
+ size=40 align=8
+ base size=40 base align=8
+QWorkspace (0x7f96dddd6070) 0
+ vptr=((& QWorkspace::_ZTV10QWorkspace) + 16u)
+ QWidget (0x7f96dddd2280) 0
+ primary-for QWorkspace (0x7f96dddd6070)
+ QObject (0x7f96dddd60e0) 0
+ primary-for QWidget (0x7f96dddd2280)
+ QPaintDevice (0x7f96dddd6150) 16
+ vptr=((& QWorkspace::_ZTV10QWorkspace) + 464u)
+
+Vtable for QButtonGroup
+QButtonGroup::_ZTV12QButtonGroup: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QButtonGroup)
+16 QButtonGroup::metaObject
+24 QButtonGroup::qt_metacast
+32 QButtonGroup::qt_metacall
+40 QButtonGroup::~QButtonGroup
+48 QButtonGroup::~QButtonGroup
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QButtonGroup
+ size=16 align=8
+ base size=16 base align=8
+QButtonGroup (0x7f96dddf8150) 0
+ vptr=((& QButtonGroup::_ZTV12QButtonGroup) + 16u)
+ QObject (0x7f96dddf81c0) 0
+ primary-for QButtonGroup (0x7f96dddf8150)
+
+Vtable for QSpinBox
+QSpinBox::_ZTV8QSpinBox: 70u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI8QSpinBox)
+16 QSpinBox::metaObject
+24 QSpinBox::qt_metacast
+32 QSpinBox::qt_metacall
+40 QSpinBox::~QSpinBox
+48 QSpinBox::~QSpinBox
+56 QSpinBox::event
+64 QObject::eventFilter
+72 QAbstractSpinBox::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QAbstractSpinBox::sizeHint
+136 QAbstractSpinBox::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QAbstractSpinBox::mousePressEvent
+168 QAbstractSpinBox::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QAbstractSpinBox::mouseMoveEvent
+192 QAbstractSpinBox::wheelEvent
+200 QAbstractSpinBox::keyPressEvent
+208 QAbstractSpinBox::keyReleaseEvent
+216 QAbstractSpinBox::focusInEvent
+224 QAbstractSpinBox::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QAbstractSpinBox::paintEvent
+256 QWidget::moveEvent
+264 QAbstractSpinBox::resizeEvent
+272 QAbstractSpinBox::closeEvent
+280 QAbstractSpinBox::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QAbstractSpinBox::showEvent
+344 QAbstractSpinBox::hideEvent
+352 QWidget::x11Event
+360 QAbstractSpinBox::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QSpinBox::validate
+456 QSpinBox::fixup
+464 QAbstractSpinBox::stepBy
+472 QAbstractSpinBox::clear
+480 QAbstractSpinBox::stepEnabled
+488 QSpinBox::valueFromText
+496 QSpinBox::textFromValue
+504 (int (*)(...))-0x00000000000000010
+512 (int (*)(...))(& _ZTI8QSpinBox)
+520 QSpinBox::_ZThn16_N8QSpinBoxD1Ev
+528 QSpinBox::_ZThn16_N8QSpinBoxD0Ev
+536 QWidget::_ZThn16_NK7QWidget7devTypeEv
+544 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+552 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QSpinBox
+ size=40 align=8
+ base size=40 base align=8
+QSpinBox (0x7f96ddc0ed90) 0
+ vptr=((& QSpinBox::_ZTV8QSpinBox) + 16u)
+ QAbstractSpinBox (0x7f96ddc0ee00) 0
+ primary-for QSpinBox (0x7f96ddc0ed90)
+ QWidget (0x7f96ddc0a800) 0
+ primary-for QAbstractSpinBox (0x7f96ddc0ee00)
+ QObject (0x7f96ddc0ee70) 0
+ primary-for QWidget (0x7f96ddc0a800)
+ QPaintDevice (0x7f96ddc0eee0) 16
+ vptr=((& QSpinBox::_ZTV8QSpinBox) + 520u)
+
+Vtable for QDoubleSpinBox
+QDoubleSpinBox::_ZTV14QDoubleSpinBox: 70u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QDoubleSpinBox)
+16 QDoubleSpinBox::metaObject
+24 QDoubleSpinBox::qt_metacast
+32 QDoubleSpinBox::qt_metacall
+40 QDoubleSpinBox::~QDoubleSpinBox
+48 QDoubleSpinBox::~QDoubleSpinBox
+56 QAbstractSpinBox::event
+64 QObject::eventFilter
+72 QAbstractSpinBox::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QAbstractSpinBox::sizeHint
+136 QAbstractSpinBox::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QAbstractSpinBox::mousePressEvent
+168 QAbstractSpinBox::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QAbstractSpinBox::mouseMoveEvent
+192 QAbstractSpinBox::wheelEvent
+200 QAbstractSpinBox::keyPressEvent
+208 QAbstractSpinBox::keyReleaseEvent
+216 QAbstractSpinBox::focusInEvent
+224 QAbstractSpinBox::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QAbstractSpinBox::paintEvent
+256 QWidget::moveEvent
+264 QAbstractSpinBox::resizeEvent
+272 QAbstractSpinBox::closeEvent
+280 QAbstractSpinBox::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QAbstractSpinBox::showEvent
+344 QAbstractSpinBox::hideEvent
+352 QWidget::x11Event
+360 QAbstractSpinBox::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QDoubleSpinBox::validate
+456 QDoubleSpinBox::fixup
+464 QAbstractSpinBox::stepBy
+472 QAbstractSpinBox::clear
+480 QAbstractSpinBox::stepEnabled
+488 QDoubleSpinBox::valueFromText
+496 QDoubleSpinBox::textFromValue
+504 (int (*)(...))-0x00000000000000010
+512 (int (*)(...))(& _ZTI14QDoubleSpinBox)
+520 QDoubleSpinBox::_ZThn16_N14QDoubleSpinBoxD1Ev
+528 QDoubleSpinBox::_ZThn16_N14QDoubleSpinBoxD0Ev
+536 QWidget::_ZThn16_NK7QWidget7devTypeEv
+544 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+552 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QDoubleSpinBox
+ size=40 align=8
+ base size=40 base align=8
+QDoubleSpinBox (0x7f96ddc37700) 0
+ vptr=((& QDoubleSpinBox::_ZTV14QDoubleSpinBox) + 16u)
+ QAbstractSpinBox (0x7f96ddc37770) 0
+ primary-for QDoubleSpinBox (0x7f96ddc37700)
+ QWidget (0x7f96ddc34880) 0
+ primary-for QAbstractSpinBox (0x7f96ddc37770)
+ QObject (0x7f96ddc377e0) 0
+ primary-for QWidget (0x7f96ddc34880)
+ QPaintDevice (0x7f96ddc37850) 16
+ vptr=((& QDoubleSpinBox::_ZTV14QDoubleSpinBox) + 520u)
+
+Vtable for QLCDNumber
+QLCDNumber::_ZTV10QLCDNumber: 63u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QLCDNumber)
+16 QLCDNumber::metaObject
+24 QLCDNumber::qt_metacast
+32 QLCDNumber::qt_metacall
+40 QLCDNumber::~QLCDNumber
+48 QLCDNumber::~QLCDNumber
+56 QLCDNumber::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QLCDNumber::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QLCDNumber::paintEvent
+256 QWidget::moveEvent
+264 QWidget::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QFrame::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 (int (*)(...))-0x00000000000000010
+456 (int (*)(...))(& _ZTI10QLCDNumber)
+464 QLCDNumber::_ZThn16_N10QLCDNumberD1Ev
+472 QLCDNumber::_ZThn16_N10QLCDNumberD0Ev
+480 QWidget::_ZThn16_NK7QWidget7devTypeEv
+488 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+496 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QLCDNumber
+ size=40 align=8
+ base size=40 base align=8
+QLCDNumber (0x7f96ddc581c0) 0
+ vptr=((& QLCDNumber::_ZTV10QLCDNumber) + 16u)
+ QFrame (0x7f96ddc58230) 0
+ primary-for QLCDNumber (0x7f96ddc581c0)
+ QWidget (0x7f96ddc57180) 0
+ primary-for QFrame (0x7f96ddc58230)
+ QObject (0x7f96ddc582a0) 0
+ primary-for QWidget (0x7f96ddc57180)
+ QPaintDevice (0x7f96ddc58310) 16
+ vptr=((& QLCDNumber::_ZTV10QLCDNumber) + 464u)
+
+Vtable for QStackedWidget
+QStackedWidget::_ZTV14QStackedWidget: 63u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QStackedWidget)
+16 QStackedWidget::metaObject
+24 QStackedWidget::qt_metacast
+32 QStackedWidget::qt_metacall
+40 QStackedWidget::~QStackedWidget
+48 QStackedWidget::~QStackedWidget
+56 QStackedWidget::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QFrame::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QFrame::paintEvent
+256 QWidget::moveEvent
+264 QWidget::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QFrame::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 (int (*)(...))-0x00000000000000010
+456 (int (*)(...))(& _ZTI14QStackedWidget)
+464 QStackedWidget::_ZThn16_N14QStackedWidgetD1Ev
+472 QStackedWidget::_ZThn16_N14QStackedWidgetD0Ev
+480 QWidget::_ZThn16_NK7QWidget7devTypeEv
+488 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+496 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QStackedWidget
+ size=40 align=8
+ base size=40 base align=8
+QStackedWidget (0x7f96ddc7ad20) 0
+ vptr=((& QStackedWidget::_ZTV14QStackedWidget) + 16u)
+ QFrame (0x7f96ddc7ad90) 0
+ primary-for QStackedWidget (0x7f96ddc7ad20)
+ QWidget (0x7f96ddc7e200) 0
+ primary-for QFrame (0x7f96ddc7ad90)
+ QObject (0x7f96ddc7ae00) 0
+ primary-for QWidget (0x7f96ddc7e200)
+ QPaintDevice (0x7f96ddc7ae70) 16
+ vptr=((& QStackedWidget::_ZTV14QStackedWidget) + 464u)
+
+Vtable for QMdiArea
+QMdiArea::_ZTV8QMdiArea: 65u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI8QMdiArea)
+16 QMdiArea::metaObject
+24 QMdiArea::qt_metacast
+32 QMdiArea::qt_metacall
+40 QMdiArea::~QMdiArea
+48 QMdiArea::~QMdiArea
+56 QMdiArea::event
+64 QMdiArea::eventFilter
+72 QMdiArea::timerEvent
+80 QMdiArea::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QMdiArea::sizeHint
+136 QMdiArea::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QAbstractScrollArea::mousePressEvent
+168 QAbstractScrollArea::mouseReleaseEvent
+176 QAbstractScrollArea::mouseDoubleClickEvent
+184 QAbstractScrollArea::mouseMoveEvent
+192 QAbstractScrollArea::wheelEvent
+200 QAbstractScrollArea::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QMdiArea::paintEvent
+256 QWidget::moveEvent
+264 QMdiArea::resizeEvent
+272 QWidget::closeEvent
+280 QAbstractScrollArea::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QAbstractScrollArea::dragEnterEvent
+312 QAbstractScrollArea::dragMoveEvent
+320 QAbstractScrollArea::dragLeaveEvent
+328 QAbstractScrollArea::dropEvent
+336 QMdiArea::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QFrame::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QMdiArea::viewportEvent
+456 QMdiArea::scrollContentsBy
+464 (int (*)(...))-0x00000000000000010
+472 (int (*)(...))(& _ZTI8QMdiArea)
+480 QMdiArea::_ZThn16_N8QMdiAreaD1Ev
+488 QMdiArea::_ZThn16_N8QMdiAreaD0Ev
+496 QWidget::_ZThn16_NK7QWidget7devTypeEv
+504 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+512 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QMdiArea
+ size=40 align=8
+ base size=40 base align=8
+QMdiArea (0x7f96ddc95bd0) 0
+ vptr=((& QMdiArea::_ZTV8QMdiArea) + 16u)
+ QAbstractScrollArea (0x7f96ddc95c40) 0
+ primary-for QMdiArea (0x7f96ddc95bd0)
+ QFrame (0x7f96ddc95cb0) 0
+ primary-for QAbstractScrollArea (0x7f96ddc95c40)
+ QWidget (0x7f96ddc7eb00) 0
+ primary-for QFrame (0x7f96ddc95cb0)
+ QObject (0x7f96ddc95d20) 0
+ primary-for QWidget (0x7f96ddc7eb00)
+ QPaintDevice (0x7f96ddc95d90) 16
+ vptr=((& QMdiArea::_ZTV8QMdiArea) + 480u)
+
+Vtable for QPushButton
+QPushButton::_ZTV11QPushButton: 66u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QPushButton)
+16 QPushButton::metaObject
+24 QPushButton::qt_metacast
+32 QPushButton::qt_metacall
+40 QPushButton::~QPushButton
+48 QPushButton::~QPushButton
+56 QPushButton::event
+64 QObject::eventFilter
+72 QAbstractButton::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QPushButton::sizeHint
+136 QPushButton::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QAbstractButton::mousePressEvent
+168 QAbstractButton::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QAbstractButton::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QPushButton::keyPressEvent
+208 QAbstractButton::keyReleaseEvent
+216 QPushButton::focusInEvent
+224 QPushButton::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QPushButton::paintEvent
+256 QWidget::moveEvent
+264 QWidget::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QAbstractButton::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QAbstractButton::hitButton
+456 QAbstractButton::checkStateSet
+464 QAbstractButton::nextCheckState
+472 (int (*)(...))-0x00000000000000010
+480 (int (*)(...))(& _ZTI11QPushButton)
+488 QPushButton::_ZThn16_N11QPushButtonD1Ev
+496 QPushButton::_ZThn16_N11QPushButtonD0Ev
+504 QWidget::_ZThn16_NK7QWidget7devTypeEv
+512 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+520 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QPushButton
+ size=40 align=8
+ base size=40 base align=8
+QPushButton (0x7f96ddb0b150) 0
+ vptr=((& QPushButton::_ZTV11QPushButton) + 16u)
+ QAbstractButton (0x7f96ddb0b1c0) 0
+ primary-for QPushButton (0x7f96ddb0b150)
+ QWidget (0x7f96ddcbad00) 0
+ primary-for QAbstractButton (0x7f96ddb0b1c0)
+ QObject (0x7f96ddb0b230) 0
+ primary-for QWidget (0x7f96ddcbad00)
+ QPaintDevice (0x7f96ddb0b2a0) 16
+ vptr=((& QPushButton::_ZTV11QPushButton) + 488u)
+
+Vtable for QMdiSubWindow
+QMdiSubWindow::_ZTV13QMdiSubWindow: 63u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QMdiSubWindow)
+16 QMdiSubWindow::metaObject
+24 QMdiSubWindow::qt_metacast
+32 QMdiSubWindow::qt_metacall
+40 QMdiSubWindow::~QMdiSubWindow
+48 QMdiSubWindow::~QMdiSubWindow
+56 QMdiSubWindow::event
+64 QMdiSubWindow::eventFilter
+72 QMdiSubWindow::timerEvent
+80 QMdiSubWindow::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QMdiSubWindow::sizeHint
+136 QMdiSubWindow::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QMdiSubWindow::mousePressEvent
+168 QMdiSubWindow::mouseReleaseEvent
+176 QMdiSubWindow::mouseDoubleClickEvent
+184 QMdiSubWindow::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QMdiSubWindow::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QMdiSubWindow::focusInEvent
+224 QMdiSubWindow::focusOutEvent
+232 QWidget::enterEvent
+240 QMdiSubWindow::leaveEvent
+248 QMdiSubWindow::paintEvent
+256 QMdiSubWindow::moveEvent
+264 QMdiSubWindow::resizeEvent
+272 QMdiSubWindow::closeEvent
+280 QMdiSubWindow::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QMdiSubWindow::showEvent
+344 QMdiSubWindow::hideEvent
+352 QWidget::x11Event
+360 QMdiSubWindow::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 (int (*)(...))-0x00000000000000010
+456 (int (*)(...))(& _ZTI13QMdiSubWindow)
+464 QMdiSubWindow::_ZThn16_N13QMdiSubWindowD1Ev
+472 QMdiSubWindow::_ZThn16_N13QMdiSubWindowD0Ev
+480 QWidget::_ZThn16_NK7QWidget7devTypeEv
+488 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+496 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QMdiSubWindow
+ size=40 align=8
+ base size=40 base align=8
+QMdiSubWindow (0x7f96ddb2ea80) 0
+ vptr=((& QMdiSubWindow::_ZTV13QMdiSubWindow) + 16u)
+ QWidget (0x7f96ddb25c00) 0
+ primary-for QMdiSubWindow (0x7f96ddb2ea80)
+ QObject (0x7f96ddb2eaf0) 0
+ primary-for QWidget (0x7f96ddb25c00)
+ QPaintDevice (0x7f96ddb2eb60) 16
+ vptr=((& QMdiSubWindow::_ZTV13QMdiSubWindow) + 464u)
+
+Vtable for QSplashScreen
+QSplashScreen::_ZTV13QSplashScreen: 64u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QSplashScreen)
+16 QSplashScreen::metaObject
+24 QSplashScreen::qt_metacast
+32 QSplashScreen::qt_metacall
+40 QSplashScreen::~QSplashScreen
+48 QSplashScreen::~QSplashScreen
+56 QSplashScreen::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QWidget::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QSplashScreen::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QWidget::paintEvent
+256 QWidget::moveEvent
+264 QWidget::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QWidget::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QSplashScreen::drawContents
+456 (int (*)(...))-0x00000000000000010
+464 (int (*)(...))(& _ZTI13QSplashScreen)
+472 QSplashScreen::_ZThn16_N13QSplashScreenD1Ev
+480 QSplashScreen::_ZThn16_N13QSplashScreenD0Ev
+488 QWidget::_ZThn16_NK7QWidget7devTypeEv
+496 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+504 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QSplashScreen
+ size=40 align=8
+ base size=40 base align=8
+QSplashScreen (0x7f96ddb81930) 0
+ vptr=((& QSplashScreen::_ZTV13QSplashScreen) + 16u)
+ QWidget (0x7f96ddb4fd00) 0
+ primary-for QSplashScreen (0x7f96ddb81930)
+ QObject (0x7f96ddb819a0) 0
+ primary-for QWidget (0x7f96ddb4fd00)
+ QPaintDevice (0x7f96ddb81a10) 16
+ vptr=((& QSplashScreen::_ZTV13QSplashScreen) + 472u)
+
+Vtable for QDateTimeEdit
+QDateTimeEdit::_ZTV13QDateTimeEdit: 70u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QDateTimeEdit)
+16 QDateTimeEdit::metaObject
+24 QDateTimeEdit::qt_metacast
+32 QDateTimeEdit::qt_metacall
+40 QDateTimeEdit::~QDateTimeEdit
+48 QDateTimeEdit::~QDateTimeEdit
+56 QDateTimeEdit::event
+64 QObject::eventFilter
+72 QAbstractSpinBox::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QDateTimeEdit::sizeHint
+136 QAbstractSpinBox::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QDateTimeEdit::mousePressEvent
+168 QAbstractSpinBox::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QAbstractSpinBox::mouseMoveEvent
+192 QDateTimeEdit::wheelEvent
+200 QDateTimeEdit::keyPressEvent
+208 QAbstractSpinBox::keyReleaseEvent
+216 QDateTimeEdit::focusInEvent
+224 QAbstractSpinBox::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QDateTimeEdit::paintEvent
+256 QWidget::moveEvent
+264 QAbstractSpinBox::resizeEvent
+272 QAbstractSpinBox::closeEvent
+280 QAbstractSpinBox::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QAbstractSpinBox::showEvent
+344 QAbstractSpinBox::hideEvent
+352 QWidget::x11Event
+360 QAbstractSpinBox::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QDateTimeEdit::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QDateTimeEdit::validate
+456 QDateTimeEdit::fixup
+464 QDateTimeEdit::stepBy
+472 QDateTimeEdit::clear
+480 QDateTimeEdit::stepEnabled
+488 QDateTimeEdit::dateTimeFromText
+496 QDateTimeEdit::textFromDateTime
+504 (int (*)(...))-0x00000000000000010
+512 (int (*)(...))(& _ZTI13QDateTimeEdit)
+520 QDateTimeEdit::_ZThn16_N13QDateTimeEditD1Ev
+528 QDateTimeEdit::_ZThn16_N13QDateTimeEditD0Ev
+536 QWidget::_ZThn16_NK7QWidget7devTypeEv
+544 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+552 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QDateTimeEdit
+ size=40 align=8
+ base size=40 base align=8
+QDateTimeEdit (0x7f96ddbbca10) 0
+ vptr=((& QDateTimeEdit::_ZTV13QDateTimeEdit) + 16u)
+ QAbstractSpinBox (0x7f96ddbbca80) 0
+ primary-for QDateTimeEdit (0x7f96ddbbca10)
+ QWidget (0x7f96ddbb5880) 0
+ primary-for QAbstractSpinBox (0x7f96ddbbca80)
+ QObject (0x7f96ddbbcaf0) 0
+ primary-for QWidget (0x7f96ddbb5880)
+ QPaintDevice (0x7f96ddbbcb60) 16
+ vptr=((& QDateTimeEdit::_ZTV13QDateTimeEdit) + 520u)
+
+Vtable for QTimeEdit
+QTimeEdit::_ZTV9QTimeEdit: 70u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QTimeEdit)
+16 QTimeEdit::metaObject
+24 QTimeEdit::qt_metacast
+32 QTimeEdit::qt_metacall
+40 QTimeEdit::~QTimeEdit
+48 QTimeEdit::~QTimeEdit
+56 QDateTimeEdit::event
+64 QObject::eventFilter
+72 QAbstractSpinBox::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QDateTimeEdit::sizeHint
+136 QAbstractSpinBox::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QDateTimeEdit::mousePressEvent
+168 QAbstractSpinBox::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QAbstractSpinBox::mouseMoveEvent
+192 QDateTimeEdit::wheelEvent
+200 QDateTimeEdit::keyPressEvent
+208 QAbstractSpinBox::keyReleaseEvent
+216 QDateTimeEdit::focusInEvent
+224 QAbstractSpinBox::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QDateTimeEdit::paintEvent
+256 QWidget::moveEvent
+264 QAbstractSpinBox::resizeEvent
+272 QAbstractSpinBox::closeEvent
+280 QAbstractSpinBox::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QAbstractSpinBox::showEvent
+344 QAbstractSpinBox::hideEvent
+352 QWidget::x11Event
+360 QAbstractSpinBox::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QDateTimeEdit::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QDateTimeEdit::validate
+456 QDateTimeEdit::fixup
+464 QDateTimeEdit::stepBy
+472 QDateTimeEdit::clear
+480 QDateTimeEdit::stepEnabled
+488 QDateTimeEdit::dateTimeFromText
+496 QDateTimeEdit::textFromDateTime
+504 (int (*)(...))-0x00000000000000010
+512 (int (*)(...))(& _ZTI9QTimeEdit)
+520 QTimeEdit::_ZThn16_N9QTimeEditD1Ev
+528 QTimeEdit::_ZThn16_N9QTimeEditD0Ev
+536 QWidget::_ZThn16_NK7QWidget7devTypeEv
+544 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+552 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QTimeEdit
+ size=40 align=8
+ base size=40 base align=8
+QTimeEdit (0x7f96ddbec930) 0
+ vptr=((& QTimeEdit::_ZTV9QTimeEdit) + 16u)
+ QDateTimeEdit (0x7f96ddbec9a0) 0
+ primary-for QTimeEdit (0x7f96ddbec930)
+ QAbstractSpinBox (0x7f96ddbeca10) 0
+ primary-for QDateTimeEdit (0x7f96ddbec9a0)
+ QWidget (0x7f96ddbe4700) 0
+ primary-for QAbstractSpinBox (0x7f96ddbeca10)
+ QObject (0x7f96ddbeca80) 0
+ primary-for QWidget (0x7f96ddbe4700)
+ QPaintDevice (0x7f96ddbecaf0) 16
+ vptr=((& QTimeEdit::_ZTV9QTimeEdit) + 520u)
+
+Vtable for QDateEdit
+QDateEdit::_ZTV9QDateEdit: 70u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QDateEdit)
+16 QDateEdit::metaObject
+24 QDateEdit::qt_metacast
+32 QDateEdit::qt_metacall
+40 QDateEdit::~QDateEdit
+48 QDateEdit::~QDateEdit
+56 QDateTimeEdit::event
+64 QObject::eventFilter
+72 QAbstractSpinBox::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QDateTimeEdit::sizeHint
+136 QAbstractSpinBox::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QDateTimeEdit::mousePressEvent
+168 QAbstractSpinBox::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QAbstractSpinBox::mouseMoveEvent
+192 QDateTimeEdit::wheelEvent
+200 QDateTimeEdit::keyPressEvent
+208 QAbstractSpinBox::keyReleaseEvent
+216 QDateTimeEdit::focusInEvent
+224 QAbstractSpinBox::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QDateTimeEdit::paintEvent
+256 QWidget::moveEvent
+264 QAbstractSpinBox::resizeEvent
+272 QAbstractSpinBox::closeEvent
+280 QAbstractSpinBox::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QAbstractSpinBox::showEvent
+344 QAbstractSpinBox::hideEvent
+352 QWidget::x11Event
+360 QAbstractSpinBox::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QDateTimeEdit::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QDateTimeEdit::validate
+456 QDateTimeEdit::fixup
+464 QDateTimeEdit::stepBy
+472 QDateTimeEdit::clear
+480 QDateTimeEdit::stepEnabled
+488 QDateTimeEdit::dateTimeFromText
+496 QDateTimeEdit::textFromDateTime
+504 (int (*)(...))-0x00000000000000010
+512 (int (*)(...))(& _ZTI9QDateEdit)
+520 QDateEdit::_ZThn16_N9QDateEditD1Ev
+528 QDateEdit::_ZThn16_N9QDateEditD0Ev
+536 QWidget::_ZThn16_NK7QWidget7devTypeEv
+544 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+552 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QDateEdit
+ size=40 align=8
+ base size=40 base align=8
+QDateEdit (0x7f96ddbfea10) 0
+ vptr=((& QDateEdit::_ZTV9QDateEdit) + 16u)
+ QDateTimeEdit (0x7f96ddbfea80) 0
+ primary-for QDateEdit (0x7f96ddbfea10)
+ QAbstractSpinBox (0x7f96ddbfeaf0) 0
+ primary-for QDateTimeEdit (0x7f96ddbfea80)
+ QWidget (0x7f96ddbe4e00) 0
+ primary-for QAbstractSpinBox (0x7f96ddbfeaf0)
+ QObject (0x7f96ddbfeb60) 0
+ primary-for QWidget (0x7f96ddbe4e00)
+ QPaintDevice (0x7f96ddbfebd0) 16
+ vptr=((& QDateEdit::_ZTV9QDateEdit) + 520u)
+
+Vtable for QLabel
+QLabel::_ZTV6QLabel: 63u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI6QLabel)
+16 QLabel::metaObject
+24 QLabel::qt_metacast
+32 QLabel::qt_metacall
+40 QLabel::~QLabel
+48 QLabel::~QLabel
+56 QLabel::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QLabel::sizeHint
+136 QLabel::minimumSizeHint
+144 QLabel::heightForWidth
+152 QWidget::paintEngine
+160 QLabel::mousePressEvent
+168 QLabel::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QLabel::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QLabel::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QLabel::focusInEvent
+224 QLabel::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QLabel::paintEvent
+256 QWidget::moveEvent
+264 QWidget::resizeEvent
+272 QWidget::closeEvent
+280 QLabel::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QLabel::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QLabel::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 (int (*)(...))-0x00000000000000010
+456 (int (*)(...))(& _ZTI6QLabel)
+464 QLabel::_ZThn16_N6QLabelD1Ev
+472 QLabel::_ZThn16_N6QLabelD0Ev
+480 QWidget::_ZThn16_NK7QWidget7devTypeEv
+488 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+496 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QLabel
+ size=40 align=8
+ base size=40 base align=8
+QLabel (0x7f96dda447e0) 0
+ vptr=((& QLabel::_ZTV6QLabel) + 16u)
+ QFrame (0x7f96dda44850) 0
+ primary-for QLabel (0x7f96dda447e0)
+ QWidget (0x7f96dda13a80) 0
+ primary-for QFrame (0x7f96dda44850)
+ QObject (0x7f96dda448c0) 0
+ primary-for QWidget (0x7f96dda13a80)
+ QPaintDevice (0x7f96dda44930) 16
+ vptr=((& QLabel::_ZTV6QLabel) + 464u)
+
+Vtable for QDockWidget
+QDockWidget::_ZTV11QDockWidget: 63u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QDockWidget)
+16 QDockWidget::metaObject
+24 QDockWidget::qt_metacast
+32 QDockWidget::qt_metacall
+40 QDockWidget::~QDockWidget
+48 QDockWidget::~QDockWidget
+56 QDockWidget::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QWidget::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QDockWidget::paintEvent
+256 QWidget::moveEvent
+264 QWidget::resizeEvent
+272 QDockWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QDockWidget::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 (int (*)(...))-0x00000000000000010
+456 (int (*)(...))(& _ZTI11QDockWidget)
+464 QDockWidget::_ZThn16_N11QDockWidgetD1Ev
+472 QDockWidget::_ZThn16_N11QDockWidgetD0Ev
+480 QWidget::_ZThn16_NK7QWidget7devTypeEv
+488 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+496 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QDockWidget
+ size=40 align=8
+ base size=40 base align=8
+QDockWidget (0x7f96dda8e930) 0
+ vptr=((& QDockWidget::_ZTV11QDockWidget) + 16u)
+ QWidget (0x7f96dda8a580) 0
+ primary-for QDockWidget (0x7f96dda8e930)
+ QObject (0x7f96dda8e9a0) 0
+ primary-for QWidget (0x7f96dda8a580)
+ QPaintDevice (0x7f96dda8ea10) 16
+ vptr=((& QDockWidget::_ZTV11QDockWidget) + 464u)
+
+Vtable for QGroupBox
+QGroupBox::_ZTV9QGroupBox: 63u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QGroupBox)
+16 QGroupBox::metaObject
+24 QGroupBox::qt_metacast
+32 QGroupBox::qt_metacall
+40 QGroupBox::~QGroupBox
+48 QGroupBox::~QGroupBox
+56 QGroupBox::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QGroupBox::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QWidget::sizeHint
+136 QGroupBox::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QGroupBox::mousePressEvent
+168 QGroupBox::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QGroupBox::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QGroupBox::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QGroupBox::paintEvent
+256 QWidget::moveEvent
+264 QGroupBox::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QGroupBox::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 (int (*)(...))-0x00000000000000010
+456 (int (*)(...))(& _ZTI9QGroupBox)
+464 QGroupBox::_ZThn16_N9QGroupBoxD1Ev
+472 QGroupBox::_ZThn16_N9QGroupBoxD0Ev
+480 QWidget::_ZThn16_NK7QWidget7devTypeEv
+488 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+496 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QGroupBox
+ size=40 align=8
+ base size=40 base align=8
+QGroupBox (0x7f96dd909380) 0
+ vptr=((& QGroupBox::_ZTV9QGroupBox) + 16u)
+ QWidget (0x7f96ddab1c80) 0
+ primary-for QGroupBox (0x7f96dd909380)
+ QObject (0x7f96dd9093f0) 0
+ primary-for QWidget (0x7f96ddab1c80)
+ QPaintDevice (0x7f96dd909460) 16
+ vptr=((& QGroupBox::_ZTV9QGroupBox) + 464u)
+
+Vtable for QDialogButtonBox
+QDialogButtonBox::_ZTV16QDialogButtonBox: 63u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QDialogButtonBox)
+16 QDialogButtonBox::metaObject
+24 QDialogButtonBox::qt_metacast
+32 QDialogButtonBox::qt_metacall
+40 QDialogButtonBox::~QDialogButtonBox
+48 QDialogButtonBox::~QDialogButtonBox
+56 QDialogButtonBox::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QWidget::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QWidget::paintEvent
+256 QWidget::moveEvent
+264 QWidget::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QDialogButtonBox::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 (int (*)(...))-0x00000000000000010
+456 (int (*)(...))(& _ZTI16QDialogButtonBox)
+464 QDialogButtonBox::_ZThn16_N16QDialogButtonBoxD1Ev
+472 QDialogButtonBox::_ZThn16_N16QDialogButtonBoxD0Ev
+480 QWidget::_ZThn16_NK7QWidget7devTypeEv
+488 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+496 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QDialogButtonBox
+ size=40 align=8
+ base size=40 base align=8
+QDialogButtonBox (0x7f96dd92b000) 0
+ vptr=((& QDialogButtonBox::_ZTV16QDialogButtonBox) + 16u)
+ QWidget (0x7f96dd922580) 0
+ primary-for QDialogButtonBox (0x7f96dd92b000)
+ QObject (0x7f96dd92b070) 0
+ primary-for QWidget (0x7f96dd922580)
+ QPaintDevice (0x7f96dd92b0e0) 16
+ vptr=((& QDialogButtonBox::_ZTV16QDialogButtonBox) + 464u)
+
+Vtable for QMainWindow
+QMainWindow::_ZTV11QMainWindow: 64u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QMainWindow)
+16 QMainWindow::metaObject
+24 QMainWindow::qt_metacast
+32 QMainWindow::qt_metacall
+40 QMainWindow::~QMainWindow
+48 QMainWindow::~QMainWindow
+56 QMainWindow::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QWidget::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QWidget::paintEvent
+256 QWidget::moveEvent
+264 QWidget::resizeEvent
+272 QWidget::closeEvent
+280 QMainWindow::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QWidget::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QMainWindow::createPopupMenu
+456 (int (*)(...))-0x00000000000000010
+464 (int (*)(...))(& _ZTI11QMainWindow)
+472 QMainWindow::_ZThn16_N11QMainWindowD1Ev
+480 QMainWindow::_ZThn16_N11QMainWindowD0Ev
+488 QWidget::_ZThn16_NK7QWidget7devTypeEv
+496 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+504 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QMainWindow
+ size=40 align=8
+ base size=40 base align=8
+QMainWindow (0x7f96dd99b4d0) 0
+ vptr=((& QMainWindow::_ZTV11QMainWindow) + 16u)
+ QWidget (0x7f96dd952600) 0
+ primary-for QMainWindow (0x7f96dd99b4d0)
+ QObject (0x7f96dd99b540) 0
+ primary-for QWidget (0x7f96dd952600)
+ QPaintDevice (0x7f96dd99b5b0) 16
+ vptr=((& QMainWindow::_ZTV11QMainWindow) + 472u)
+
+Class QTextEdit::ExtraSelection
+ size=24 align=8
+ base size=24 base align=8
+QTextEdit::ExtraSelection (0x7f96dd81e770) 0
+
+Vtable for QTextEdit
+QTextEdit::_ZTV9QTextEdit: 69u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QTextEdit)
+16 QTextEdit::metaObject
+24 QTextEdit::qt_metacast
+32 QTextEdit::qt_metacall
+40 QTextEdit::~QTextEdit
+48 QTextEdit::~QTextEdit
+56 QTextEdit::event
+64 QObject::eventFilter
+72 QTextEdit::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QAbstractScrollArea::sizeHint
+136 QAbstractScrollArea::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QTextEdit::mousePressEvent
+168 QTextEdit::mouseReleaseEvent
+176 QTextEdit::mouseDoubleClickEvent
+184 QTextEdit::mouseMoveEvent
+192 QTextEdit::wheelEvent
+200 QTextEdit::keyPressEvent
+208 QTextEdit::keyReleaseEvent
+216 QTextEdit::focusInEvent
+224 QTextEdit::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QTextEdit::paintEvent
+256 QWidget::moveEvent
+264 QTextEdit::resizeEvent
+272 QWidget::closeEvent
+280 QTextEdit::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QTextEdit::dragEnterEvent
+312 QTextEdit::dragMoveEvent
+320 QTextEdit::dragLeaveEvent
+328 QTextEdit::dropEvent
+336 QTextEdit::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QTextEdit::changeEvent
+368 QWidget::metric
+376 QTextEdit::inputMethodEvent
+384 QTextEdit::inputMethodQuery
+392 QTextEdit::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QAbstractScrollArea::viewportEvent
+456 QTextEdit::scrollContentsBy
+464 QTextEdit::loadResource
+472 QTextEdit::createMimeDataFromSelection
+480 QTextEdit::canInsertFromMimeData
+488 QTextEdit::insertFromMimeData
+496 (int (*)(...))-0x00000000000000010
+504 (int (*)(...))(& _ZTI9QTextEdit)
+512 QTextEdit::_ZThn16_N9QTextEditD1Ev
+520 QTextEdit::_ZThn16_N9QTextEditD0Ev
+528 QWidget::_ZThn16_NK7QWidget7devTypeEv
+536 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+544 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QTextEdit
+ size=40 align=8
+ base size=40 base align=8
+QTextEdit (0x7f96dd9f57e0) 0
+ vptr=((& QTextEdit::_ZTV9QTextEdit) + 16u)
+ QAbstractScrollArea (0x7f96dd9f5850) 0
+ primary-for QTextEdit (0x7f96dd9f57e0)
+ QFrame (0x7f96dd9f58c0) 0
+ primary-for QAbstractScrollArea (0x7f96dd9f5850)
+ QWidget (0x7f96dd9c9700) 0
+ primary-for QFrame (0x7f96dd9f58c0)
+ QObject (0x7f96dd9f5930) 0
+ primary-for QWidget (0x7f96dd9c9700)
+ QPaintDevice (0x7f96dd9f59a0) 16
+ vptr=((& QTextEdit::_ZTV9QTextEdit) + 512u)
+
+Vtable for QPlainTextEdit
+QPlainTextEdit::_ZTV14QPlainTextEdit: 69u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QPlainTextEdit)
+16 QPlainTextEdit::metaObject
+24 QPlainTextEdit::qt_metacast
+32 QPlainTextEdit::qt_metacall
+40 QPlainTextEdit::~QPlainTextEdit
+48 QPlainTextEdit::~QPlainTextEdit
+56 QPlainTextEdit::event
+64 QObject::eventFilter
+72 QPlainTextEdit::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QAbstractScrollArea::sizeHint
+136 QAbstractScrollArea::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QPlainTextEdit::mousePressEvent
+168 QPlainTextEdit::mouseReleaseEvent
+176 QPlainTextEdit::mouseDoubleClickEvent
+184 QPlainTextEdit::mouseMoveEvent
+192 QPlainTextEdit::wheelEvent
+200 QPlainTextEdit::keyPressEvent
+208 QPlainTextEdit::keyReleaseEvent
+216 QPlainTextEdit::focusInEvent
+224 QPlainTextEdit::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QPlainTextEdit::paintEvent
+256 QWidget::moveEvent
+264 QPlainTextEdit::resizeEvent
+272 QWidget::closeEvent
+280 QPlainTextEdit::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QPlainTextEdit::dragEnterEvent
+312 QPlainTextEdit::dragMoveEvent
+320 QPlainTextEdit::dragLeaveEvent
+328 QPlainTextEdit::dropEvent
+336 QPlainTextEdit::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QPlainTextEdit::changeEvent
+368 QWidget::metric
+376 QPlainTextEdit::inputMethodEvent
+384 QPlainTextEdit::inputMethodQuery
+392 QPlainTextEdit::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QAbstractScrollArea::viewportEvent
+456 QPlainTextEdit::scrollContentsBy
+464 QPlainTextEdit::loadResource
+472 QPlainTextEdit::createMimeDataFromSelection
+480 QPlainTextEdit::canInsertFromMimeData
+488 QPlainTextEdit::insertFromMimeData
+496 (int (*)(...))-0x00000000000000010
+504 (int (*)(...))(& _ZTI14QPlainTextEdit)
+512 QPlainTextEdit::_ZThn16_N14QPlainTextEditD1Ev
+520 QPlainTextEdit::_ZThn16_N14QPlainTextEditD0Ev
+528 QWidget::_ZThn16_NK7QWidget7devTypeEv
+536 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+544 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QPlainTextEdit
+ size=40 align=8
+ base size=40 base align=8
+QPlainTextEdit (0x7f96dd8b5930) 0
+ vptr=((& QPlainTextEdit::_ZTV14QPlainTextEdit) + 16u)
+ QAbstractScrollArea (0x7f96dd8b59a0) 0
+ primary-for QPlainTextEdit (0x7f96dd8b5930)
+ QFrame (0x7f96dd8b5a10) 0
+ primary-for QAbstractScrollArea (0x7f96dd8b59a0)
+ QWidget (0x7f96dd887f00) 0
+ primary-for QFrame (0x7f96dd8b5a10)
+ QObject (0x7f96dd8b5a80) 0
+ primary-for QWidget (0x7f96dd887f00)
+ QPaintDevice (0x7f96dd8b5af0) 16
+ vptr=((& QPlainTextEdit::_ZTV14QPlainTextEdit) + 512u)
+
+Vtable for QPlainTextDocumentLayout
+QPlainTextDocumentLayout::_ZTV24QPlainTextDocumentLayout: 24u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI24QPlainTextDocumentLayout)
+16 QPlainTextDocumentLayout::metaObject
+24 QPlainTextDocumentLayout::qt_metacast
+32 QPlainTextDocumentLayout::qt_metacall
+40 QPlainTextDocumentLayout::~QPlainTextDocumentLayout
+48 QPlainTextDocumentLayout::~QPlainTextDocumentLayout
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QPlainTextDocumentLayout::draw
+120 QPlainTextDocumentLayout::hitTest
+128 QPlainTextDocumentLayout::pageCount
+136 QPlainTextDocumentLayout::documentSize
+144 QPlainTextDocumentLayout::frameBoundingRect
+152 QPlainTextDocumentLayout::blockBoundingRect
+160 QPlainTextDocumentLayout::documentChanged
+168 QAbstractTextDocumentLayout::resizeInlineObject
+176 QAbstractTextDocumentLayout::positionInlineObject
+184 QAbstractTextDocumentLayout::drawInlineObject
+
+Class QPlainTextDocumentLayout
+ size=16 align=8
+ base size=16 base align=8
+QPlainTextDocumentLayout (0x7f96dd715700) 0
+ vptr=((& QPlainTextDocumentLayout::_ZTV24QPlainTextDocumentLayout) + 16u)
+ QAbstractTextDocumentLayout (0x7f96dd715770) 0
+ primary-for QPlainTextDocumentLayout (0x7f96dd715700)
+ QObject (0x7f96dd7157e0) 0
+ primary-for QAbstractTextDocumentLayout (0x7f96dd715770)
+
+Vtable for QProgressBar
+QProgressBar::_ZTV12QProgressBar: 64u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QProgressBar)
+16 QProgressBar::metaObject
+24 QProgressBar::qt_metacast
+32 QProgressBar::qt_metacall
+40 QProgressBar::~QProgressBar
+48 QProgressBar::~QProgressBar
+56 QProgressBar::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QProgressBar::sizeHint
+136 QProgressBar::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QProgressBar::paintEvent
+256 QWidget::moveEvent
+264 QWidget::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QWidget::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QProgressBar::text
+456 (int (*)(...))-0x00000000000000010
+464 (int (*)(...))(& _ZTI12QProgressBar)
+472 QProgressBar::_ZThn16_N12QProgressBarD1Ev
+480 QProgressBar::_ZThn16_N12QProgressBarD0Ev
+488 QWidget::_ZThn16_NK7QWidget7devTypeEv
+496 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+504 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QProgressBar
+ size=40 align=8
+ base size=40 base align=8
+QProgressBar (0x7f96dd728bd0) 0
+ vptr=((& QProgressBar::_ZTV12QProgressBar) + 16u)
+ QWidget (0x7f96dd714f00) 0
+ primary-for QProgressBar (0x7f96dd728bd0)
+ QObject (0x7f96dd728c40) 0
+ primary-for QWidget (0x7f96dd714f00)
+ QPaintDevice (0x7f96dd728cb0) 16
+ vptr=((& QProgressBar::_ZTV12QProgressBar) + 472u)
+
+Vtable for QScrollBar
+QScrollBar::_ZTV10QScrollBar: 64u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QScrollBar)
+16 QScrollBar::metaObject
+24 QScrollBar::qt_metacast
+32 QScrollBar::qt_metacall
+40 QScrollBar::~QScrollBar
+48 QScrollBar::~QScrollBar
+56 QScrollBar::event
+64 QObject::eventFilter
+72 QAbstractSlider::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QScrollBar::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QScrollBar::mousePressEvent
+168 QScrollBar::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QScrollBar::mouseMoveEvent
+192 QAbstractSlider::wheelEvent
+200 QAbstractSlider::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QScrollBar::paintEvent
+256 QWidget::moveEvent
+264 QWidget::resizeEvent
+272 QWidget::closeEvent
+280 QScrollBar::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QScrollBar::hideEvent
+352 QWidget::x11Event
+360 QAbstractSlider::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QScrollBar::sliderChange
+456 (int (*)(...))-0x00000000000000010
+464 (int (*)(...))(& _ZTI10QScrollBar)
+472 QScrollBar::_ZThn16_N10QScrollBarD1Ev
+480 QScrollBar::_ZThn16_N10QScrollBarD0Ev
+488 QWidget::_ZThn16_NK7QWidget7devTypeEv
+496 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+504 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QScrollBar
+ size=40 align=8
+ base size=40 base align=8
+QScrollBar (0x7f96dd74da10) 0
+ vptr=((& QScrollBar::_ZTV10QScrollBar) + 16u)
+ QAbstractSlider (0x7f96dd74da80) 0
+ primary-for QScrollBar (0x7f96dd74da10)
+ QWidget (0x7f96dd730900) 0
+ primary-for QAbstractSlider (0x7f96dd74da80)
+ QObject (0x7f96dd74daf0) 0
+ primary-for QWidget (0x7f96dd730900)
+ QPaintDevice (0x7f96dd74db60) 16
+ vptr=((& QScrollBar::_ZTV10QScrollBar) + 472u)
+
+Vtable for QSizeGrip
+QSizeGrip::_ZTV9QSizeGrip: 63u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QSizeGrip)
+16 QSizeGrip::metaObject
+24 QSizeGrip::qt_metacast
+32 QSizeGrip::qt_metacall
+40 QSizeGrip::~QSizeGrip
+48 QSizeGrip::~QSizeGrip
+56 QSizeGrip::event
+64 QSizeGrip::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QSizeGrip::setVisible
+128 QSizeGrip::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QSizeGrip::mousePressEvent
+168 QSizeGrip::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QSizeGrip::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QSizeGrip::paintEvent
+256 QSizeGrip::moveEvent
+264 QWidget::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QSizeGrip::showEvent
+344 QSizeGrip::hideEvent
+352 QWidget::x11Event
+360 QWidget::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 (int (*)(...))-0x00000000000000010
+456 (int (*)(...))(& _ZTI9QSizeGrip)
+464 QSizeGrip::_ZThn16_N9QSizeGripD1Ev
+472 QSizeGrip::_ZThn16_N9QSizeGripD0Ev
+480 QWidget::_ZThn16_NK7QWidget7devTypeEv
+488 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+496 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QSizeGrip
+ size=40 align=8
+ base size=40 base align=8
+QSizeGrip (0x7f96dd76db60) 0
+ vptr=((& QSizeGrip::_ZTV9QSizeGrip) + 16u)
+ QWidget (0x7f96dd771380) 0
+ primary-for QSizeGrip (0x7f96dd76db60)
+ QObject (0x7f96dd76dbd0) 0
+ primary-for QWidget (0x7f96dd771380)
+ QPaintDevice (0x7f96dd76dc40) 16
+ vptr=((& QSizeGrip::_ZTV9QSizeGrip) + 464u)
+
+Vtable for QTextBrowser
+QTextBrowser::_ZTV12QTextBrowser: 74u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QTextBrowser)
+16 QTextBrowser::metaObject
+24 QTextBrowser::qt_metacast
+32 QTextBrowser::qt_metacall
+40 QTextBrowser::~QTextBrowser
+48 QTextBrowser::~QTextBrowser
+56 QTextBrowser::event
+64 QObject::eventFilter
+72 QTextEdit::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QAbstractScrollArea::sizeHint
+136 QAbstractScrollArea::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QTextBrowser::mousePressEvent
+168 QTextBrowser::mouseReleaseEvent
+176 QTextEdit::mouseDoubleClickEvent
+184 QTextBrowser::mouseMoveEvent
+192 QTextEdit::wheelEvent
+200 QTextBrowser::keyPressEvent
+208 QTextEdit::keyReleaseEvent
+216 QTextEdit::focusInEvent
+224 QTextBrowser::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QTextBrowser::paintEvent
+256 QWidget::moveEvent
+264 QTextEdit::resizeEvent
+272 QWidget::closeEvent
+280 QTextEdit::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QTextEdit::dragEnterEvent
+312 QTextEdit::dragMoveEvent
+320 QTextEdit::dragLeaveEvent
+328 QTextEdit::dropEvent
+336 QTextEdit::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QTextEdit::changeEvent
+368 QWidget::metric
+376 QTextEdit::inputMethodEvent
+384 QTextEdit::inputMethodQuery
+392 QTextBrowser::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QAbstractScrollArea::viewportEvent
+456 QTextEdit::scrollContentsBy
+464 QTextBrowser::loadResource
+472 QTextEdit::createMimeDataFromSelection
+480 QTextEdit::canInsertFromMimeData
+488 QTextEdit::insertFromMimeData
+496 QTextBrowser::setSource
+504 QTextBrowser::backward
+512 QTextBrowser::forward
+520 QTextBrowser::home
+528 QTextBrowser::reload
+536 (int (*)(...))-0x00000000000000010
+544 (int (*)(...))(& _ZTI12QTextBrowser)
+552 QTextBrowser::_ZThn16_N12QTextBrowserD1Ev
+560 QTextBrowser::_ZThn16_N12QTextBrowserD0Ev
+568 QWidget::_ZThn16_NK7QWidget7devTypeEv
+576 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+584 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QTextBrowser
+ size=40 align=8
+ base size=40 base align=8
+QTextBrowser (0x7f96dd78b690) 0
+ vptr=((& QTextBrowser::_ZTV12QTextBrowser) + 16u)
+ QTextEdit (0x7f96dd78b700) 0
+ primary-for QTextBrowser (0x7f96dd78b690)
+ QAbstractScrollArea (0x7f96dd78b770) 0
+ primary-for QTextEdit (0x7f96dd78b700)
+ QFrame (0x7f96dd78b7e0) 0
+ primary-for QAbstractScrollArea (0x7f96dd78b770)
+ QWidget (0x7f96dd771c80) 0
+ primary-for QFrame (0x7f96dd78b7e0)
+ QObject (0x7f96dd78b850) 0
+ primary-for QWidget (0x7f96dd771c80)
+ QPaintDevice (0x7f96dd78b8c0) 16
+ vptr=((& QTextBrowser::_ZTV12QTextBrowser) + 552u)
+
+Vtable for QStatusBar
+QStatusBar::_ZTV10QStatusBar: 63u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QStatusBar)
+16 QStatusBar::metaObject
+24 QStatusBar::qt_metacast
+32 QStatusBar::qt_metacall
+40 QStatusBar::~QStatusBar
+48 QStatusBar::~QStatusBar
+56 QStatusBar::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QWidget::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QStatusBar::paintEvent
+256 QWidget::moveEvent
+264 QStatusBar::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QStatusBar::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QWidget::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 (int (*)(...))-0x00000000000000010
+456 (int (*)(...))(& _ZTI10QStatusBar)
+464 QStatusBar::_ZThn16_N10QStatusBarD1Ev
+472 QStatusBar::_ZThn16_N10QStatusBarD0Ev
+480 QWidget::_ZThn16_NK7QWidget7devTypeEv
+488 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+496 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QStatusBar
+ size=40 align=8
+ base size=40 base align=8
+QStatusBar (0x7f96dd7b12a0) 0
+ vptr=((& QStatusBar::_ZTV10QStatusBar) + 16u)
+ QWidget (0x7f96dd7a8580) 0
+ primary-for QStatusBar (0x7f96dd7b12a0)
+ QObject (0x7f96dd7b1310) 0
+ primary-for QWidget (0x7f96dd7a8580)
+ QPaintDevice (0x7f96dd7b1380) 16
+ vptr=((& QStatusBar::_ZTV10QStatusBar) + 464u)
+
+Vtable for QToolButton
+QToolButton::_ZTV11QToolButton: 66u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QToolButton)
+16 QToolButton::metaObject
+24 QToolButton::qt_metacast
+32 QToolButton::qt_metacall
+40 QToolButton::~QToolButton
+48 QToolButton::~QToolButton
+56 QToolButton::event
+64 QObject::eventFilter
+72 QToolButton::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QToolButton::sizeHint
+136 QToolButton::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QToolButton::mousePressEvent
+168 QToolButton::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QAbstractButton::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QAbstractButton::keyPressEvent
+208 QAbstractButton::keyReleaseEvent
+216 QAbstractButton::focusInEvent
+224 QAbstractButton::focusOutEvent
+232 QToolButton::enterEvent
+240 QToolButton::leaveEvent
+248 QToolButton::paintEvent
+256 QWidget::moveEvent
+264 QWidget::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QToolButton::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QToolButton::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QToolButton::hitButton
+456 QAbstractButton::checkStateSet
+464 QToolButton::nextCheckState
+472 (int (*)(...))-0x00000000000000010
+480 (int (*)(...))(& _ZTI11QToolButton)
+488 QToolButton::_ZThn16_N11QToolButtonD1Ev
+496 QToolButton::_ZThn16_N11QToolButtonD0Ev
+504 QWidget::_ZThn16_NK7QWidget7devTypeEv
+512 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+520 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QToolButton
+ size=40 align=8
+ base size=40 base align=8
+QToolButton (0x7f96dd7d27e0) 0
+ vptr=((& QToolButton::_ZTV11QToolButton) + 16u)
+ QAbstractButton (0x7f96dd7d2850) 0
+ primary-for QToolButton (0x7f96dd7d27e0)
+ QWidget (0x7f96dd7d0480) 0
+ primary-for QAbstractButton (0x7f96dd7d2850)
+ QObject (0x7f96dd7d28c0) 0
+ primary-for QWidget (0x7f96dd7d0480)
+ QPaintDevice (0x7f96dd7d2930) 16
+ vptr=((& QToolButton::_ZTV11QToolButton) + 488u)
+
+Vtable for QComboBox
+QComboBox::_ZTV9QComboBox: 65u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QComboBox)
+16 QComboBox::metaObject
+24 QComboBox::qt_metacast
+32 QComboBox::qt_metacall
+40 QComboBox::~QComboBox
+48 QComboBox::~QComboBox
+56 QComboBox::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QComboBox::sizeHint
+136 QComboBox::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QComboBox::mousePressEvent
+168 QComboBox::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QComboBox::wheelEvent
+200 QComboBox::keyPressEvent
+208 QComboBox::keyReleaseEvent
+216 QComboBox::focusInEvent
+224 QComboBox::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QComboBox::paintEvent
+256 QWidget::moveEvent
+264 QComboBox::resizeEvent
+272 QWidget::closeEvent
+280 QComboBox::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QComboBox::showEvent
+344 QComboBox::hideEvent
+352 QWidget::x11Event
+360 QComboBox::changeEvent
+368 QWidget::metric
+376 QComboBox::inputMethodEvent
+384 QComboBox::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QComboBox::showPopup
+456 QComboBox::hidePopup
+464 (int (*)(...))-0x00000000000000010
+472 (int (*)(...))(& _ZTI9QComboBox)
+480 QComboBox::_ZThn16_N9QComboBoxD1Ev
+488 QComboBox::_ZThn16_N9QComboBoxD0Ev
+496 QWidget::_ZThn16_NK7QWidget7devTypeEv
+504 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+512 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QComboBox
+ size=40 align=8
+ base size=40 base align=8
+QComboBox (0x7f96dd613af0) 0
+ vptr=((& QComboBox::_ZTV9QComboBox) + 16u)
+ QWidget (0x7f96dd61a080) 0
+ primary-for QComboBox (0x7f96dd613af0)
+ QObject (0x7f96dd613b60) 0
+ primary-for QWidget (0x7f96dd61a080)
+ QPaintDevice (0x7f96dd613bd0) 16
+ vptr=((& QComboBox::_ZTV9QComboBox) + 480u)
+
+Vtable for QCommandLinkButton
+QCommandLinkButton::_ZTV18QCommandLinkButton: 66u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QCommandLinkButton)
+16 QCommandLinkButton::metaObject
+24 QCommandLinkButton::qt_metacast
+32 QCommandLinkButton::qt_metacall
+40 QCommandLinkButton::~QCommandLinkButton
+48 QCommandLinkButton::~QCommandLinkButton
+56 QCommandLinkButton::event
+64 QObject::eventFilter
+72 QAbstractButton::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QCommandLinkButton::sizeHint
+136 QCommandLinkButton::minimumSizeHint
+144 QCommandLinkButton::heightForWidth
+152 QWidget::paintEngine
+160 QAbstractButton::mousePressEvent
+168 QAbstractButton::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QAbstractButton::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QPushButton::keyPressEvent
+208 QAbstractButton::keyReleaseEvent
+216 QPushButton::focusInEvent
+224 QPushButton::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QCommandLinkButton::paintEvent
+256 QWidget::moveEvent
+264 QWidget::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QAbstractButton::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QAbstractButton::hitButton
+456 QAbstractButton::checkStateSet
+464 QAbstractButton::nextCheckState
+472 (int (*)(...))-0x00000000000000010
+480 (int (*)(...))(& _ZTI18QCommandLinkButton)
+488 QCommandLinkButton::_ZThn16_N18QCommandLinkButtonD1Ev
+496 QCommandLinkButton::_ZThn16_N18QCommandLinkButtonD0Ev
+504 QWidget::_ZThn16_NK7QWidget7devTypeEv
+512 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+520 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QCommandLinkButton
+ size=40 align=8
+ base size=40 base align=8
+QCommandLinkButton (0x7f96dd683620) 0
+ vptr=((& QCommandLinkButton::_ZTV18QCommandLinkButton) + 16u)
+ QPushButton (0x7f96dd683690) 0
+ primary-for QCommandLinkButton (0x7f96dd683620)
+ QAbstractButton (0x7f96dd683700) 0
+ primary-for QPushButton (0x7f96dd683690)
+ QWidget (0x7f96dd67ec80) 0
+ primary-for QAbstractButton (0x7f96dd683700)
+ QObject (0x7f96dd683770) 0
+ primary-for QWidget (0x7f96dd67ec80)
+ QPaintDevice (0x7f96dd6837e0) 16
+ vptr=((& QCommandLinkButton::_ZTV18QCommandLinkButton) + 488u)
+
+Vtable for QMenuItem
+QMenuItem::_ZTV9QMenuItem: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QMenuItem)
+16 QMenuItem::metaObject
+24 QMenuItem::qt_metacast
+32 QMenuItem::qt_metacall
+40 QMenuItem::~QMenuItem
+48 QMenuItem::~QMenuItem
+56 QAction::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QMenuItem
+ size=16 align=8
+ base size=16 base align=8
+QMenuItem (0x7f96dd6a31c0) 0
+ vptr=((& QMenuItem::_ZTV9QMenuItem) + 16u)
+ QAction (0x7f96dd6a3230) 0
+ primary-for QMenuItem (0x7f96dd6a31c0)
+ QObject (0x7f96dd6a32a0) 0
+ primary-for QAction (0x7f96dd6a3230)
+
+Vtable for QCalendarWidget
+QCalendarWidget::_ZTV15QCalendarWidget: 64u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QCalendarWidget)
+16 QCalendarWidget::metaObject
+24 QCalendarWidget::qt_metacast
+32 QCalendarWidget::qt_metacall
+40 QCalendarWidget::~QCalendarWidget
+48 QCalendarWidget::~QCalendarWidget
+56 QCalendarWidget::event
+64 QCalendarWidget::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QCalendarWidget::sizeHint
+136 QCalendarWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QCalendarWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QCalendarWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QWidget::paintEvent
+256 QWidget::moveEvent
+264 QCalendarWidget::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QWidget::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QCalendarWidget::paintCell
+456 (int (*)(...))-0x00000000000000010
+464 (int (*)(...))(& _ZTI15QCalendarWidget)
+472 QCalendarWidget::_ZThn16_N15QCalendarWidgetD1Ev
+480 QCalendarWidget::_ZThn16_N15QCalendarWidgetD0Ev
+488 QWidget::_ZThn16_NK7QWidget7devTypeEv
+496 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+504 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QCalendarWidget
+ size=40 align=8
+ base size=40 base align=8
+QCalendarWidget (0x7f96dd6b2000) 0
+ vptr=((& QCalendarWidget::_ZTV15QCalendarWidget) + 16u)
+ QWidget (0x7f96dd69bc00) 0
+ primary-for QCalendarWidget (0x7f96dd6b2000)
+ QObject (0x7f96dd6b2070) 0
+ primary-for QWidget (0x7f96dd69bc00)
+ QPaintDevice (0x7f96dd6b20e0) 16
+ vptr=((& QCalendarWidget::_ZTV15QCalendarWidget) + 472u)
+
+Vtable for QRadioButton
+QRadioButton::_ZTV12QRadioButton: 66u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QRadioButton)
+16 QRadioButton::metaObject
+24 QRadioButton::qt_metacast
+32 QRadioButton::qt_metacall
+40 QRadioButton::~QRadioButton
+48 QRadioButton::~QRadioButton
+56 QRadioButton::event
+64 QObject::eventFilter
+72 QAbstractButton::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QRadioButton::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QAbstractButton::mousePressEvent
+168 QAbstractButton::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QRadioButton::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QAbstractButton::keyPressEvent
+208 QAbstractButton::keyReleaseEvent
+216 QAbstractButton::focusInEvent
+224 QAbstractButton::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QRadioButton::paintEvent
+256 QWidget::moveEvent
+264 QWidget::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QAbstractButton::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QRadioButton::hitButton
+456 QAbstractButton::checkStateSet
+464 QAbstractButton::nextCheckState
+472 (int (*)(...))-0x00000000000000010
+480 (int (*)(...))(& _ZTI12QRadioButton)
+488 QRadioButton::_ZThn16_N12QRadioButtonD1Ev
+496 QRadioButton::_ZThn16_N12QRadioButtonD0Ev
+504 QWidget::_ZThn16_NK7QWidget7devTypeEv
+512 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+520 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QRadioButton
+ size=40 align=8
+ base size=40 base align=8
+QRadioButton (0x7f96dd6de150) 0
+ vptr=((& QRadioButton::_ZTV12QRadioButton) + 16u)
+ QAbstractButton (0x7f96dd6de1c0) 0
+ primary-for QRadioButton (0x7f96dd6de150)
+ QWidget (0x7f96dd6b8b00) 0
+ primary-for QAbstractButton (0x7f96dd6de1c0)
+ QObject (0x7f96dd6de230) 0
+ primary-for QWidget (0x7f96dd6b8b00)
+ QPaintDevice (0x7f96dd6de2a0) 16
+ vptr=((& QRadioButton::_ZTV12QRadioButton) + 488u)
+
+Vtable for QMenuBar
+QMenuBar::_ZTV8QMenuBar: 63u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI8QMenuBar)
+16 QMenuBar::metaObject
+24 QMenuBar::qt_metacast
+32 QMenuBar::qt_metacall
+40 QMenuBar::~QMenuBar
+48 QMenuBar::~QMenuBar
+56 QMenuBar::event
+64 QMenuBar::eventFilter
+72 QMenuBar::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QMenuBar::setVisible
+128 QMenuBar::sizeHint
+136 QMenuBar::minimumSizeHint
+144 QMenuBar::heightForWidth
+152 QWidget::paintEngine
+160 QMenuBar::mousePressEvent
+168 QMenuBar::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QMenuBar::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QMenuBar::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QMenuBar::focusInEvent
+224 QMenuBar::focusOutEvent
+232 QWidget::enterEvent
+240 QMenuBar::leaveEvent
+248 QMenuBar::paintEvent
+256 QWidget::moveEvent
+264 QMenuBar::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QMenuBar::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QMenuBar::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 (int (*)(...))-0x00000000000000010
+456 (int (*)(...))(& _ZTI8QMenuBar)
+464 QMenuBar::_ZThn16_N8QMenuBarD1Ev
+472 QMenuBar::_ZThn16_N8QMenuBarD0Ev
+480 QWidget::_ZThn16_NK7QWidget7devTypeEv
+488 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+496 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QMenuBar
+ size=40 align=8
+ base size=40 base align=8
+QMenuBar (0x7f96dd6f4d90) 0
+ vptr=((& QMenuBar::_ZTV8QMenuBar) + 16u)
+ QWidget (0x7f96dd6f7400) 0
+ primary-for QMenuBar (0x7f96dd6f4d90)
+ QObject (0x7f96dd6f4e00) 0
+ primary-for QWidget (0x7f96dd6f7400)
+ QPaintDevice (0x7f96dd6f4e70) 16
+ vptr=((& QMenuBar::_ZTV8QMenuBar) + 464u)
+
+Vtable for QFocusFrame
+QFocusFrame::_ZTV11QFocusFrame: 63u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QFocusFrame)
+16 QFocusFrame::metaObject
+24 QFocusFrame::qt_metacast
+32 QFocusFrame::qt_metacall
+40 QFocusFrame::~QFocusFrame
+48 QFocusFrame::~QFocusFrame
+56 QFocusFrame::event
+64 QFocusFrame::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QWidget::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QFocusFrame::paintEvent
+256 QWidget::moveEvent
+264 QWidget::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QWidget::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 (int (*)(...))-0x00000000000000010
+456 (int (*)(...))(& _ZTI11QFocusFrame)
+464 QFocusFrame::_ZThn16_N11QFocusFrameD1Ev
+472 QFocusFrame::_ZThn16_N11QFocusFrameD0Ev
+480 QWidget::_ZThn16_NK7QWidget7devTypeEv
+488 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+496 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QFocusFrame
+ size=40 align=8
+ base size=40 base align=8
+QFocusFrame (0x7f96dd58ecb0) 0
+ vptr=((& QFocusFrame::_ZTV11QFocusFrame) + 16u)
+ QWidget (0x7f96dd58de00) 0
+ primary-for QFocusFrame (0x7f96dd58ecb0)
+ QObject (0x7f96dd58ed20) 0
+ primary-for QWidget (0x7f96dd58de00)
+ QPaintDevice (0x7f96dd58ed90) 16
+ vptr=((& QFocusFrame::_ZTV11QFocusFrame) + 464u)
+
+Vtable for QFontComboBox
+QFontComboBox::_ZTV13QFontComboBox: 65u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QFontComboBox)
+16 QFontComboBox::metaObject
+24 QFontComboBox::qt_metacast
+32 QFontComboBox::qt_metacall
+40 QFontComboBox::~QFontComboBox
+48 QFontComboBox::~QFontComboBox
+56 QFontComboBox::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QFontComboBox::sizeHint
+136 QComboBox::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QComboBox::mousePressEvent
+168 QComboBox::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QComboBox::wheelEvent
+200 QComboBox::keyPressEvent
+208 QComboBox::keyReleaseEvent
+216 QComboBox::focusInEvent
+224 QComboBox::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QComboBox::paintEvent
+256 QWidget::moveEvent
+264 QComboBox::resizeEvent
+272 QWidget::closeEvent
+280 QComboBox::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QComboBox::showEvent
+344 QComboBox::hideEvent
+352 QWidget::x11Event
+360 QComboBox::changeEvent
+368 QWidget::metric
+376 QComboBox::inputMethodEvent
+384 QComboBox::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QComboBox::showPopup
+456 QComboBox::hidePopup
+464 (int (*)(...))-0x00000000000000010
+472 (int (*)(...))(& _ZTI13QFontComboBox)
+480 QFontComboBox::_ZThn16_N13QFontComboBoxD1Ev
+488 QFontComboBox::_ZThn16_N13QFontComboBoxD0Ev
+496 QWidget::_ZThn16_NK7QWidget7devTypeEv
+504 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+512 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QFontComboBox
+ size=40 align=8
+ base size=40 base align=8
+QFontComboBox (0x7f96dd5aa850) 0
+ vptr=((& QFontComboBox::_ZTV13QFontComboBox) + 16u)
+ QComboBox (0x7f96dd5aa8c0) 0
+ primary-for QFontComboBox (0x7f96dd5aa850)
+ QWidget (0x7f96dd5a3700) 0
+ primary-for QComboBox (0x7f96dd5aa8c0)
+ QObject (0x7f96dd5aa930) 0
+ primary-for QWidget (0x7f96dd5a3700)
+ QPaintDevice (0x7f96dd5aa9a0) 16
+ vptr=((& QFontComboBox::_ZTV13QFontComboBox) + 480u)
+
+Vtable for QToolBar
+QToolBar::_ZTV8QToolBar: 63u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI8QToolBar)
+16 QToolBar::metaObject
+24 QToolBar::qt_metacast
+32 QToolBar::qt_metacall
+40 QToolBar::~QToolBar
+48 QToolBar::~QToolBar
+56 QToolBar::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QToolBar::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QWidget::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QToolBar::paintEvent
+256 QWidget::moveEvent
+264 QToolBar::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QToolBar::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QToolBar::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 (int (*)(...))-0x00000000000000010
+456 (int (*)(...))(& _ZTI8QToolBar)
+464 QToolBar::_ZThn16_N8QToolBarD1Ev
+472 QToolBar::_ZThn16_N8QToolBarD0Ev
+480 QWidget::_ZThn16_NK7QWidget7devTypeEv
+488 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+496 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QToolBar
+ size=40 align=8
+ base size=40 base align=8
+QToolBar (0x7f96dd417540) 0
+ vptr=((& QToolBar::_ZTV8QToolBar) + 16u)
+ QWidget (0x7f96dd5c5800) 0
+ primary-for QToolBar (0x7f96dd417540)
+ QObject (0x7f96dd4175b0) 0
+ primary-for QWidget (0x7f96dd5c5800)
+ QPaintDevice (0x7f96dd417620) 16
+ vptr=((& QToolBar::_ZTV8QToolBar) + 464u)
+
+Vtable for QToolBox
+QToolBox::_ZTV8QToolBox: 65u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI8QToolBox)
+16 QToolBox::metaObject
+24 QToolBox::qt_metacast
+32 QToolBox::qt_metacall
+40 QToolBox::~QToolBox
+48 QToolBox::~QToolBox
+56 QToolBox::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QFrame::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QFrame::paintEvent
+256 QWidget::moveEvent
+264 QWidget::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QToolBox::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QToolBox::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QToolBox::itemInserted
+456 QToolBox::itemRemoved
+464 (int (*)(...))-0x00000000000000010
+472 (int (*)(...))(& _ZTI8QToolBox)
+480 QToolBox::_ZThn16_N8QToolBoxD1Ev
+488 QToolBox::_ZThn16_N8QToolBoxD0Ev
+496 QWidget::_ZThn16_NK7QWidget7devTypeEv
+504 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+512 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QToolBox
+ size=40 align=8
+ base size=40 base align=8
+QToolBox (0x7f96dd44d380) 0
+ vptr=((& QToolBox::_ZTV8QToolBox) + 16u)
+ QFrame (0x7f96dd44d3f0) 0
+ primary-for QToolBox (0x7f96dd44d380)
+ QWidget (0x7f96dd449800) 0
+ primary-for QFrame (0x7f96dd44d3f0)
+ QObject (0x7f96dd44d460) 0
+ primary-for QWidget (0x7f96dd449800)
+ QPaintDevice (0x7f96dd44d4d0) 16
+ vptr=((& QToolBox::_ZTV8QToolBox) + 480u)
+
+Vtable for QSplitter
+QSplitter::_ZTV9QSplitter: 64u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QSplitter)
+16 QSplitter::metaObject
+24 QSplitter::qt_metacast
+32 QSplitter::qt_metacall
+40 QSplitter::~QSplitter
+48 QSplitter::~QSplitter
+56 QSplitter::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QSplitter::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QSplitter::sizeHint
+136 QSplitter::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QFrame::paintEvent
+256 QWidget::moveEvent
+264 QSplitter::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QSplitter::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QSplitter::createHandle
+456 (int (*)(...))-0x00000000000000010
+464 (int (*)(...))(& _ZTI9QSplitter)
+472 QSplitter::_ZThn16_N9QSplitterD1Ev
+480 QSplitter::_ZThn16_N9QSplitterD0Ev
+488 QWidget::_ZThn16_NK7QWidget7devTypeEv
+496 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+504 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QSplitter
+ size=40 align=8
+ base size=40 base align=8
+QSplitter (0x7f96dd485000) 0
+ vptr=((& QSplitter::_ZTV9QSplitter) + 16u)
+ QFrame (0x7f96dd485070) 0
+ primary-for QSplitter (0x7f96dd485000)
+ QWidget (0x7f96dd481480) 0
+ primary-for QFrame (0x7f96dd485070)
+ QObject (0x7f96dd4850e0) 0
+ primary-for QWidget (0x7f96dd481480)
+ QPaintDevice (0x7f96dd485150) 16
+ vptr=((& QSplitter::_ZTV9QSplitter) + 472u)
+
+Vtable for QSplitterHandle
+QSplitterHandle::_ZTV15QSplitterHandle: 63u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QSplitterHandle)
+16 QSplitterHandle::metaObject
+24 QSplitterHandle::qt_metacast
+32 QSplitterHandle::qt_metacall
+40 QSplitterHandle::~QSplitterHandle
+48 QSplitterHandle::~QSplitterHandle
+56 QSplitterHandle::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QSplitterHandle::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QSplitterHandle::mousePressEvent
+168 QSplitterHandle::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QSplitterHandle::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QSplitterHandle::paintEvent
+256 QWidget::moveEvent
+264 QWidget::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QWidget::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 (int (*)(...))-0x00000000000000010
+456 (int (*)(...))(& _ZTI15QSplitterHandle)
+464 QSplitterHandle::_ZThn16_N15QSplitterHandleD1Ev
+472 QSplitterHandle::_ZThn16_N15QSplitterHandleD0Ev
+480 QWidget::_ZThn16_NK7QWidget7devTypeEv
+488 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+496 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QSplitterHandle
+ size=40 align=8
+ base size=40 base align=8
+QSplitterHandle (0x7f96dd4b30e0) 0
+ vptr=((& QSplitterHandle::_ZTV15QSplitterHandle) + 16u)
+ QWidget (0x7f96dd4ad580) 0
+ primary-for QSplitterHandle (0x7f96dd4b30e0)
+ QObject (0x7f96dd4b3150) 0
+ primary-for QWidget (0x7f96dd4ad580)
+ QPaintDevice (0x7f96dd4b31c0) 16
+ vptr=((& QSplitterHandle::_ZTV15QSplitterHandle) + 464u)
+
+Vtable for QDial
+QDial::_ZTV5QDial: 64u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI5QDial)
+16 QDial::metaObject
+24 QDial::qt_metacast
+32 QDial::qt_metacall
+40 QDial::~QDial
+48 QDial::~QDial
+56 QDial::event
+64 QObject::eventFilter
+72 QAbstractSlider::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QDial::sizeHint
+136 QDial::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QDial::mousePressEvent
+168 QDial::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QDial::mouseMoveEvent
+192 QAbstractSlider::wheelEvent
+200 QAbstractSlider::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QDial::paintEvent
+256 QWidget::moveEvent
+264 QDial::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QAbstractSlider::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QDial::sliderChange
+456 (int (*)(...))-0x00000000000000010
+464 (int (*)(...))(& _ZTI5QDial)
+472 QDial::_ZThn16_N5QDialD1Ev
+480 QDial::_ZThn16_N5QDialD0Ev
+488 QWidget::_ZThn16_NK7QWidget7devTypeEv
+496 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+504 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QDial
+ size=40 align=8
+ base size=40 base align=8
+QDial (0x7f96dd4cb8c0) 0
+ vptr=((& QDial::_ZTV5QDial) + 16u)
+ QAbstractSlider (0x7f96dd4cb930) 0
+ primary-for QDial (0x7f96dd4cb8c0)
+ QWidget (0x7f96dd4ade80) 0
+ primary-for QAbstractSlider (0x7f96dd4cb930)
+ QObject (0x7f96dd4cb9a0) 0
+ primary-for QWidget (0x7f96dd4ade80)
+ QPaintDevice (0x7f96dd4cba10) 16
+ vptr=((& QDial::_ZTV5QDial) + 472u)
+
+Vtable for QSvgGenerator
+QSvgGenerator::_ZTV13QSvgGenerator: 7u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QSvgGenerator)
+16 QSvgGenerator::~QSvgGenerator
+24 QSvgGenerator::~QSvgGenerator
+32 QPaintDevice::devType
+40 QSvgGenerator::paintEngine
+48 QSvgGenerator::metric
+
+Class QSvgGenerator
+ size=24 align=8
+ base size=24 base align=8
+QSvgGenerator (0x7f96dd4eb540) 0
+ vptr=((& QSvgGenerator::_ZTV13QSvgGenerator) + 16u)
+ QPaintDevice (0x7f96dd4eb5b0) 0
+ primary-for QSvgGenerator (0x7f96dd4eb540)
+
+Vtable for QSvgRenderer
+QSvgRenderer::_ZTV12QSvgRenderer: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QSvgRenderer)
+16 QSvgRenderer::metaObject
+24 QSvgRenderer::qt_metacast
+32 QSvgRenderer::qt_metacall
+40 QSvgRenderer::~QSvgRenderer
+48 QSvgRenderer::~QSvgRenderer
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QSvgRenderer
+ size=16 align=8
+ base size=16 base align=8
+QSvgRenderer (0x7f96dd4ebd20) 0
+ vptr=((& QSvgRenderer::_ZTV12QSvgRenderer) + 16u)
+ QObject (0x7f96dd4ebd90) 0
+ primary-for QSvgRenderer (0x7f96dd4ebd20)
+
+Vtable for QSvgWidget
+QSvgWidget::_ZTV10QSvgWidget: 63u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QSvgWidget)
+16 QSvgWidget::metaObject
+24 QSvgWidget::qt_metacast
+32 QSvgWidget::qt_metacall
+40 QSvgWidget::~QSvgWidget
+48 QSvgWidget::~QSvgWidget
+56 QWidget::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QSvgWidget::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QSvgWidget::paintEvent
+256 QWidget::moveEvent
+264 QWidget::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QWidget::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 (int (*)(...))-0x00000000000000010
+456 (int (*)(...))(& _ZTI10QSvgWidget)
+464 QSvgWidget::_ZThn16_N10QSvgWidgetD1Ev
+472 QSvgWidget::_ZThn16_N10QSvgWidgetD0Ev
+480 QWidget::_ZThn16_NK7QWidget7devTypeEv
+488 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+496 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QSvgWidget
+ size=40 align=8
+ base size=40 base align=8
+QSvgWidget (0x7f96dd314460) 0
+ vptr=((& QSvgWidget::_ZTV10QSvgWidget) + 16u)
+ QWidget (0x7f96dd311300) 0
+ primary-for QSvgWidget (0x7f96dd314460)
+ QObject (0x7f96dd3144d0) 0
+ primary-for QWidget (0x7f96dd311300)
+ QPaintDevice (0x7f96dd314540) 16
+ vptr=((& QSvgWidget::_ZTV10QSvgWidget) + 464u)
+
+Vtable for QGraphicsSvgItem
+QGraphicsSvgItem::_ZTV16QGraphicsSvgItem: 56u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QGraphicsSvgItem)
+16 QGraphicsSvgItem::metaObject
+24 QGraphicsSvgItem::qt_metacast
+32 QGraphicsSvgItem::qt_metacall
+40 QGraphicsSvgItem::~QGraphicsSvgItem
+48 QGraphicsSvgItem::~QGraphicsSvgItem
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QGraphicsSvgItem::boundingRect
+120 QGraphicsSvgItem::paint
+128 QGraphicsSvgItem::type
+136 (int (*)(...))-0x00000000000000010
+144 (int (*)(...))(& _ZTI16QGraphicsSvgItem)
+152 QGraphicsSvgItem::_ZThn16_N16QGraphicsSvgItemD1Ev
+160 QGraphicsSvgItem::_ZThn16_N16QGraphicsSvgItemD0Ev
+168 QGraphicsItem::advance
+176 QGraphicsSvgItem::_ZThn16_NK16QGraphicsSvgItem12boundingRectEv
+184 QGraphicsItem::shape
+192 QGraphicsItem::contains
+200 QGraphicsItem::collidesWithItem
+208 QGraphicsItem::collidesWithPath
+216 QGraphicsItem::isObscuredBy
+224 QGraphicsItem::opaqueArea
+232 QGraphicsSvgItem::_ZThn16_N16QGraphicsSvgItem5paintEP8QPainterPK24QStyleOptionGraphicsItemP7QWidget
+240 QGraphicsSvgItem::_ZThn16_NK16QGraphicsSvgItem4typeEv
+248 QGraphicsItem::sceneEventFilter
+256 QGraphicsItem::sceneEvent
+264 QGraphicsItem::contextMenuEvent
+272 QGraphicsItem::dragEnterEvent
+280 QGraphicsItem::dragLeaveEvent
+288 QGraphicsItem::dragMoveEvent
+296 QGraphicsItem::dropEvent
+304 QGraphicsItem::focusInEvent
+312 QGraphicsItem::focusOutEvent
+320 QGraphicsItem::hoverEnterEvent
+328 QGraphicsItem::hoverMoveEvent
+336 QGraphicsItem::hoverLeaveEvent
+344 QGraphicsItem::keyPressEvent
+352 QGraphicsItem::keyReleaseEvent
+360 QGraphicsItem::mousePressEvent
+368 QGraphicsItem::mouseMoveEvent
+376 QGraphicsItem::mouseReleaseEvent
+384 QGraphicsItem::mouseDoubleClickEvent
+392 QGraphicsItem::wheelEvent
+400 QGraphicsItem::inputMethodEvent
+408 QGraphicsItem::inputMethodQuery
+416 QGraphicsItem::itemChange
+424 QGraphicsItem::supportsExtension
+432 QGraphicsItem::setExtension
+440 QGraphicsItem::extension
+
+Class QGraphicsSvgItem
+ size=32 align=8
+ base size=32 base align=8
+QGraphicsSvgItem (0x7f96dd311c00) 0
+ vptr=((& QGraphicsSvgItem::_ZTV16QGraphicsSvgItem) + 16u)
+ QObject (0x7f96dd326e70) 0
+ primary-for QGraphicsSvgItem (0x7f96dd311c00)
+ QGraphicsItem (0x7f96dd326ee0) 16
+ vptr=((& QGraphicsSvgItem::_ZTV16QGraphicsSvgItem) + 152u)
+
diff --git a/tests/auto/bic/data/QtSvg.4.6.0.linux-gcc-amd64.txt b/tests/auto/bic/data/QtSvg.4.6.0.linux-gcc-amd64.txt
new file mode 100644
index 0000000000..11bb2fd489
--- /dev/null
+++ b/tests/auto/bic/data/QtSvg.4.6.0.linux-gcc-amd64.txt
@@ -0,0 +1,16905 @@
+Class QSysInfo
+ size=1 align=1
+ base size=0 base align=1
+QSysInfo (0x7fb2a4362230) 0 empty
+
+Class QBool
+ size=1 align=1
+ base size=1 base align=1
+QBool (0x7fb2a4362e70) 0
+
+Class qIsNull(double)::U
+ size=8 align=8
+ base size=8 base align=8
+qIsNull(double)::U (0x7fb2a3968540) 0
+
+Class qIsNull(float)::U
+ size=4 align=4
+ base size=4 base align=4
+qIsNull(float)::U (0x7fb2a39687e0) 0
+
+Class QFlag
+ size=4 align=4
+ base size=4 base align=4
+QFlag (0x7fb2a39a4690) 0
+
+Class QIncompatibleFlag
+ size=4 align=4
+ base size=4 base align=4
+QIncompatibleFlag (0x7fb2a39a4e70) 0
+
+Class QLatin1Char
+ size=1 align=1
+ base size=1 base align=1
+QLatin1Char (0x7fb2a39d25b0) 0
+
+Class QChar
+ size=2 align=2
+ base size=2 base align=2
+QChar (0x7fb2a39f7150) 0
+
+Class QBasicAtomicInt
+ size=4 align=4
+ base size=4 base align=4
+QBasicAtomicInt (0x7fb2a385f310) 0
+
+Class QAtomicInt
+ size=4 align=4
+ base size=4 base align=4
+QAtomicInt (0x7fb2a389ccb0) 0
+ QBasicAtomicInt (0x7fb2a389cd20) 0
+
+Class QInternal
+ size=1 align=1
+ base size=0 base align=1
+QInternal (0x7fb2a36f54d0) 0 empty
+
+Class __locale_struct
+ size=232 align=8
+ base size=232 base align=8
+__locale_struct (0x7fb2a36f5700) 0
+
+Class QByteArray::Data
+ size=32 align=8
+ base size=32 base align=8
+QByteArray::Data (0x7fb2a372eaf0) 0
+
+Class QByteArray
+ size=8 align=8
+ base size=8 base align=8
+QByteArray (0x7fb2a372ea80) 0
+
+Class QByteRef
+ size=16 align=8
+ base size=12 base align=8
+QByteRef (0x7fb2a35d0380) 0
+
+Class QString::Null
+ size=1 align=1
+ base size=0 base align=1
+QString::Null (0x7fb2a34d1d20) 0 empty
+
+Class QString::Data
+ size=32 align=8
+ base size=32 base align=8
+QString::Data (0x7fb2a34e95b0) 0
+
+Class QString
+ size=8 align=8
+ base size=8 base align=8
+QString (0x7fb2a364cbd0) 0
+
+Class QLatin1String
+ size=8 align=8
+ base size=8 base align=8
+QLatin1String (0x7fb2a33be9a0) 0
+
+Class QCharRef
+ size=16 align=8
+ base size=12 base align=8
+QCharRef (0x7fb2a3260000) 0
+
+Class QConstString
+ size=8 align=8
+ base size=8 base align=8
+QConstString (0x7fb2a31a88c0) 0
+ QString (0x7fb2a31a8930) 0
+
+Class QStringRef
+ size=16 align=8
+ base size=16 base align=8
+QStringRef (0x7fb2a31cc310) 0
+
+Class QGenericArgument
+ size=16 align=8
+ base size=16 base align=8
+QGenericArgument (0x7fb2a3247700) 0
+
+Class QGenericReturnArgument
+ size=16 align=8
+ base size=16 base align=8
+QGenericReturnArgument (0x7fb2a30522a0) 0
+ QGenericArgument (0x7fb2a3052310) 0
+
+Class QMetaObject
+ size=32 align=8
+ base size=32 base align=8
+QMetaObject (0x7fb2a3052b60) 0
+
+Class QMetaObjectExtraData
+ size=16 align=8
+ base size=16 base align=8
+QMetaObjectExtraData (0x7fb2a3078bd0) 0
+
+Vtable for std::exception
+std::exception::_ZTVSt9exception: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt9exception)
+16 std::exception::~exception
+24 std::exception::~exception
+32 std::exception::what
+
+Class std::exception
+ size=8 align=8
+ base size=8 base align=8
+std::exception (0x7fb2a30cc1c0) 0 nearly-empty
+ vptr=((& std::exception::_ZTVSt9exception) + 16u)
+
+Vtable for std::bad_exception
+std::bad_exception::_ZTVSt13bad_exception: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt13bad_exception)
+16 std::bad_exception::~bad_exception
+24 std::bad_exception::~bad_exception
+32 std::bad_exception::what
+
+Class std::bad_exception
+ size=8 align=8
+ base size=8 base align=8
+std::bad_exception (0x7fb2a30cc770) 0 nearly-empty
+ vptr=((& std::bad_exception::_ZTVSt13bad_exception) + 16u)
+ std::exception (0x7fb2a30cc7e0) 0 nearly-empty
+ primary-for std::bad_exception (0x7fb2a30cc770)
+
+Vtable for std::bad_alloc
+std::bad_alloc::_ZTVSt9bad_alloc: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt9bad_alloc)
+16 std::bad_alloc::~bad_alloc
+24 std::bad_alloc::~bad_alloc
+32 std::bad_alloc::what
+
+Class std::bad_alloc
+ size=8 align=8
+ base size=8 base align=8
+std::bad_alloc (0x7fb2a30cc930) 0 nearly-empty
+ vptr=((& std::bad_alloc::_ZTVSt9bad_alloc) + 16u)
+ std::exception (0x7fb2a30e3000) 0 nearly-empty
+ primary-for std::bad_alloc (0x7fb2a30cc930)
+
+Class std::nothrow_t
+ size=1 align=1
+ base size=0 base align=1
+std::nothrow_t (0x7fb2a30e3850) 0 empty
+
+Class QListData::Data
+ size=32 align=8
+ base size=32 base align=8
+QListData::Data (0x7fb2a30e3d90) 0
+
+Class QListData
+ size=8 align=8
+ base size=8 base align=8
+QListData (0x7fb2a30e3d20) 0
+
+Class QScopedPointerPodDeleter
+ size=1 align=1
+ base size=0 base align=1
+QScopedPointerPodDeleter (0x7fb2a300e850) 0 empty
+
+Vtable for QObjectData
+QObjectData::_ZTV11QObjectData: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QObjectData)
+16 __cxa_pure_virtual
+24 __cxa_pure_virtual
+
+Class QObjectData
+ size=48 align=8
+ base size=48 base align=8
+QObjectData (0x7fb2a302f2a0) 0
+ vptr=((& QObjectData::_ZTV11QObjectData) + 16u)
+
+Vtable for QObject
+QObject::_ZTV7QObject: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QObject)
+16 QObject::metaObject
+24 QObject::qt_metacast
+32 QObject::qt_metacall
+40 QObject::~QObject
+48 QObject::~QObject
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QObject
+ size=16 align=8
+ base size=16 base align=8
+QObject (0x7fb2a302f5b0) 0
+ vptr=((& QObject::_ZTV7QObject) + 16u)
+
+Vtable for QObjectUserData
+QObjectUserData::_ZTV15QObjectUserData: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QObjectUserData)
+16 QObjectUserData::~QObjectUserData
+24 QObjectUserData::~QObjectUserData
+
+Class QObjectUserData
+ size=8 align=8
+ base size=8 base align=8
+QObjectUserData (0x7fb2a2eb3b60) 0 nearly-empty
+ vptr=((& QObjectUserData::_ZTV15QObjectUserData) + 16u)
+
+Vtable for QIODevice
+QIODevice::_ZTV9QIODevice: 30u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QIODevice)
+16 QIODevice::metaObject
+24 QIODevice::qt_metacast
+32 QIODevice::qt_metacall
+40 QIODevice::~QIODevice
+48 QIODevice::~QIODevice
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QIODevice::isSequential
+120 QIODevice::open
+128 QIODevice::close
+136 QIODevice::pos
+144 QIODevice::size
+152 QIODevice::seek
+160 QIODevice::atEnd
+168 QIODevice::reset
+176 QIODevice::bytesAvailable
+184 QIODevice::bytesToWrite
+192 QIODevice::canReadLine
+200 QIODevice::waitForReadyRead
+208 QIODevice::waitForBytesWritten
+216 __cxa_pure_virtual
+224 QIODevice::readLineData
+232 __cxa_pure_virtual
+
+Class QIODevice
+ size=16 align=8
+ base size=16 base align=8
+QIODevice (0x7fb2a2ec2150) 0
+ vptr=((& QIODevice::_ZTV9QIODevice) + 16u)
+ QObject (0x7fb2a2ec21c0) 0
+ primary-for QIODevice (0x7fb2a2ec2150)
+
+Class _IO_marker
+ size=24 align=8
+ base size=24 base align=8
+_IO_marker (0x7fb2a2f25cb0) 0
+
+Class _IO_FILE
+ size=216 align=8
+ base size=216 base align=8
+_IO_FILE (0x7fb2a2f25d20) 0
+
+Vtable for QFile
+QFile::_ZTV5QFile: 31u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI5QFile)
+16 QFile::metaObject
+24 QFile::qt_metacast
+32 QFile::qt_metacall
+40 QFile::~QFile
+48 QFile::~QFile
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QFile::isSequential
+120 QFile::open
+128 QFile::close
+136 QFile::pos
+144 QFile::size
+152 QFile::seek
+160 QFile::atEnd
+168 QIODevice::reset
+176 QIODevice::bytesAvailable
+184 QIODevice::bytesToWrite
+192 QIODevice::canReadLine
+200 QIODevice::waitForReadyRead
+208 QIODevice::waitForBytesWritten
+216 QFile::readData
+224 QFile::readLineData
+232 QFile::writeData
+240 QFile::fileEngine
+
+Class QFile
+ size=16 align=8
+ base size=16 base align=8
+QFile (0x7fb2a2f25e00) 0
+ vptr=((& QFile::_ZTV5QFile) + 16u)
+ QIODevice (0x7fb2a2f25e70) 0
+ primary-for QFile (0x7fb2a2f25e00)
+ QObject (0x7fb2a2f25ee0) 0
+ primary-for QIODevice (0x7fb2a2f25e70)
+
+Class QFileInfo
+ size=8 align=8
+ base size=8 base align=8
+QFileInfo (0x7fb2a2dc8070) 0
+
+Vtable for QDataStream
+QDataStream::_ZTV11QDataStream: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QDataStream)
+16 QDataStream::~QDataStream
+24 QDataStream::~QDataStream
+
+Class QDataStream
+ size=40 align=8
+ base size=40 base align=8
+QDataStream (0x7fb2a2e18a10) 0
+ vptr=((& QDataStream::_ZTV11QDataStream) + 16u)
+
+Class QRegExp
+ size=8 align=8
+ base size=8 base align=8
+QRegExp (0x7fb2a2c85e70) 0
+
+Class QStringMatcher::Data
+ size=272 align=8
+ base size=272 base align=8
+QStringMatcher::Data (0x7fb2a2cec2a0) 0
+
+Class QStringMatcher
+ size=1048 align=8
+ base size=1048 base align=8
+QStringMatcher (0x7fb2a2cdfc40) 0
+
+Class QStringList
+ size=8 align=8
+ base size=8 base align=8
+QStringList (0x7fb2a2cec850) 0
+ QList<QString> (0x7fb2a2cec8c0) 0
+
+Class QDir
+ size=8 align=8
+ base size=8 base align=8
+QDir (0x7fb2a2b8b4d0) 0
+
+Class QAbstractFileEngine::ExtensionOption
+ size=1 align=1
+ base size=0 base align=1
+QAbstractFileEngine::ExtensionOption (0x7fb2a2c338c0) 0 empty
+
+Class QAbstractFileEngine::ExtensionReturn
+ size=1 align=1
+ base size=0 base align=1
+QAbstractFileEngine::ExtensionReturn (0x7fb2a2c33930) 0 empty
+
+Class QAbstractFileEngine::MapExtensionOption
+ size=24 align=8
+ base size=20 base align=8
+QAbstractFileEngine::MapExtensionOption (0x7fb2a2c339a0) 0
+ QAbstractFileEngine::ExtensionOption (0x7fb2a2c33a10) 0 empty
+
+Class QAbstractFileEngine::MapExtensionReturn
+ size=8 align=8
+ base size=8 base align=8
+QAbstractFileEngine::MapExtensionReturn (0x7fb2a2c33bd0) 0
+ QAbstractFileEngine::ExtensionReturn (0x7fb2a2c33c40) 0 empty
+
+Class QAbstractFileEngine::UnMapExtensionOption
+ size=8 align=8
+ base size=8 base align=8
+QAbstractFileEngine::UnMapExtensionOption (0x7fb2a2c33cb0) 0
+ QAbstractFileEngine::ExtensionOption (0x7fb2a2c33d20) 0 empty
+
+Vtable for QAbstractFileEngine
+QAbstractFileEngine::_ZTV19QAbstractFileEngine: 36u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QAbstractFileEngine)
+16 QAbstractFileEngine::~QAbstractFileEngine
+24 QAbstractFileEngine::~QAbstractFileEngine
+32 QAbstractFileEngine::open
+40 QAbstractFileEngine::close
+48 QAbstractFileEngine::flush
+56 QAbstractFileEngine::size
+64 QAbstractFileEngine::pos
+72 QAbstractFileEngine::seek
+80 QAbstractFileEngine::isSequential
+88 QAbstractFileEngine::remove
+96 QAbstractFileEngine::copy
+104 QAbstractFileEngine::rename
+112 QAbstractFileEngine::link
+120 QAbstractFileEngine::mkdir
+128 QAbstractFileEngine::rmdir
+136 QAbstractFileEngine::setSize
+144 QAbstractFileEngine::caseSensitive
+152 QAbstractFileEngine::isRelativePath
+160 QAbstractFileEngine::entryList
+168 QAbstractFileEngine::fileFlags
+176 QAbstractFileEngine::setPermissions
+184 QAbstractFileEngine::fileName
+192 QAbstractFileEngine::ownerId
+200 QAbstractFileEngine::owner
+208 QAbstractFileEngine::fileTime
+216 QAbstractFileEngine::setFileName
+224 QAbstractFileEngine::handle
+232 QAbstractFileEngine::beginEntryList
+240 QAbstractFileEngine::endEntryList
+248 QAbstractFileEngine::read
+256 QAbstractFileEngine::readLine
+264 QAbstractFileEngine::write
+272 QAbstractFileEngine::extension
+280 QAbstractFileEngine::supportsExtension
+
+Class QAbstractFileEngine
+ size=16 align=8
+ base size=16 base align=8
+QAbstractFileEngine (0x7fb2a2c16850) 0
+ vptr=((& QAbstractFileEngine::_ZTV19QAbstractFileEngine) + 16u)
+
+Vtable for QAbstractFileEngineHandler
+QAbstractFileEngineHandler::_ZTV26QAbstractFileEngineHandler: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI26QAbstractFileEngineHandler)
+16 QAbstractFileEngineHandler::~QAbstractFileEngineHandler
+24 QAbstractFileEngineHandler::~QAbstractFileEngineHandler
+32 __cxa_pure_virtual
+
+Class QAbstractFileEngineHandler
+ size=8 align=8
+ base size=8 base align=8
+QAbstractFileEngineHandler (0x7fb2a2a67bd0) 0 nearly-empty
+ vptr=((& QAbstractFileEngineHandler::_ZTV26QAbstractFileEngineHandler) + 16u)
+
+Vtable for QAbstractFileEngineIterator
+QAbstractFileEngineIterator::_ZTV27QAbstractFileEngineIterator: 9u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI27QAbstractFileEngineIterator)
+16 QAbstractFileEngineIterator::~QAbstractFileEngineIterator
+24 QAbstractFileEngineIterator::~QAbstractFileEngineIterator
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+48 __cxa_pure_virtual
+56 QAbstractFileEngineIterator::currentFileInfo
+64 QAbstractFileEngineIterator::entryInfo
+
+Class QAbstractFileEngineIterator
+ size=16 align=8
+ base size=16 base align=8
+QAbstractFileEngineIterator (0x7fb2a2a67d90) 0
+ vptr=((& QAbstractFileEngineIterator::_ZTV27QAbstractFileEngineIterator) + 16u)
+
+Vtable for QBuffer
+QBuffer::_ZTV7QBuffer: 30u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QBuffer)
+16 QBuffer::metaObject
+24 QBuffer::qt_metacast
+32 QBuffer::qt_metacall
+40 QBuffer::~QBuffer
+48 QBuffer::~QBuffer
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QBuffer::connectNotify
+104 QBuffer::disconnectNotify
+112 QIODevice::isSequential
+120 QBuffer::open
+128 QBuffer::close
+136 QBuffer::pos
+144 QBuffer::size
+152 QBuffer::seek
+160 QBuffer::atEnd
+168 QIODevice::reset
+176 QIODevice::bytesAvailable
+184 QIODevice::bytesToWrite
+192 QBuffer::canReadLine
+200 QIODevice::waitForReadyRead
+208 QIODevice::waitForBytesWritten
+216 QBuffer::readData
+224 QIODevice::readLineData
+232 QBuffer::writeData
+
+Class QBuffer
+ size=16 align=8
+ base size=16 base align=8
+QBuffer (0x7fb2a2a7b690) 0
+ vptr=((& QBuffer::_ZTV7QBuffer) + 16u)
+ QIODevice (0x7fb2a2a7b700) 0
+ primary-for QBuffer (0x7fb2a2a7b690)
+ QObject (0x7fb2a2a7b770) 0
+ primary-for QIODevice (0x7fb2a2a7b700)
+
+Class QHashData::Node
+ size=16 align=8
+ base size=16 base align=8
+QHashData::Node (0x7fb2a2abee00) 0
+
+Class QHashData
+ size=40 align=8
+ base size=40 base align=8
+QHashData (0x7fb2a2abed90) 0
+
+Class QHashDummyValue
+ size=1 align=1
+ base size=0 base align=1
+QHashDummyValue (0x7fb2a2ae1150) 0 empty
+
+Class QMapData::Node
+ size=16 align=8
+ base size=16 base align=8
+QMapData::Node (0x7fb2a29e3a80) 0
+
+Class QMapData
+ size=128 align=8
+ base size=128 base align=8
+QMapData (0x7fb2a29e3a10) 0
+
+Vtable for QSystemLocale
+QSystemLocale::_ZTV13QSystemLocale: 6u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QSystemLocale)
+16 QSystemLocale::~QSystemLocale
+24 QSystemLocale::~QSystemLocale
+32 QSystemLocale::query
+40 QSystemLocale::fallbackLocale
+
+Class QSystemLocale
+ size=8 align=8
+ base size=8 base align=8
+QSystemLocale (0x7fb2a291e690) 0 nearly-empty
+ vptr=((& QSystemLocale::_ZTV13QSystemLocale) + 16u)
+
+Class QLocale::Data
+ size=4 align=2
+ base size=4 base align=2
+QLocale::Data (0x7fb2a2767d90) 0
+
+Class QLocale
+ size=8 align=8
+ base size=8 base align=8
+QLocale (0x7fb2a291eaf0) 0
+
+Class QTextCodec::ConverterState
+ size=32 align=8
+ base size=32 base align=8
+QTextCodec::ConverterState (0x7fb2a27bdbd0) 0
+
+Vtable for QTextCodec
+QTextCodec::_ZTV10QTextCodec: 9u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QTextCodec)
+16 __cxa_pure_virtual
+24 QTextCodec::aliases
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+48 __cxa_pure_virtual
+56 QTextCodec::~QTextCodec
+64 QTextCodec::~QTextCodec
+
+Class QTextCodec
+ size=8 align=8
+ base size=8 base align=8
+QTextCodec (0x7fb2a27b0460) 0 nearly-empty
+ vptr=((& QTextCodec::_ZTV10QTextCodec) + 16u)
+
+Class QTextEncoder
+ size=40 align=8
+ base size=40 base align=8
+QTextEncoder (0x7fb2a2830150) 0
+
+Class QTextDecoder
+ size=40 align=8
+ base size=40 base align=8
+QTextDecoder (0x7fb2a2830f50) 0
+
+Vtable for QTextStream
+QTextStream::_ZTV11QTextStream: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QTextStream)
+16 QTextStream::~QTextStream
+24 QTextStream::~QTextStream
+
+Class QTextStream
+ size=16 align=8
+ base size=16 base align=8
+QTextStream (0x7fb2a2838d90) 0
+ vptr=((& QTextStream::_ZTV11QTextStream) + 16u)
+
+Class QTextStreamManipulator
+ size=40 align=8
+ base size=38 base align=8
+QTextStreamManipulator (0x7fb2a26b2a80) 0
+
+Vtable for QTextIStream
+QTextIStream::_ZTV12QTextIStream: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QTextIStream)
+16 QTextIStream::~QTextIStream
+24 QTextIStream::~QTextIStream
+
+Class QTextIStream
+ size=16 align=8
+ base size=16 base align=8
+QTextIStream (0x7fb2a26e4070) 0
+ vptr=((& QTextIStream::_ZTV12QTextIStream) + 16u)
+ QTextStream (0x7fb2a26e40e0) 0
+ primary-for QTextIStream (0x7fb2a26e4070)
+
+Vtable for QTextOStream
+QTextOStream::_ZTV12QTextOStream: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QTextOStream)
+16 QTextOStream::~QTextOStream
+24 QTextOStream::~QTextOStream
+
+Class QTextOStream
+ size=16 align=8
+ base size=16 base align=8
+QTextOStream (0x7fb2a26f0ee0) 0
+ vptr=((& QTextOStream::_ZTV12QTextOStream) + 16u)
+ QTextStream (0x7fb2a26f0f50) 0
+ primary-for QTextOStream (0x7fb2a26f0ee0)
+
+Class wait
+ size=4 align=4
+ base size=4 base align=4
+wait (0x7fb2a2704d90) 0
+
+Class timespec
+ size=16 align=8
+ base size=16 base align=8
+timespec (0x7fb2a27100e0) 0
+
+Class timeval
+ size=16 align=8
+ base size=16 base align=8
+timeval (0x7fb2a2710150) 0
+
+Class __pthread_internal_list
+ size=16 align=8
+ base size=16 base align=8
+__pthread_internal_list (0x7fb2a27102a0) 0
+
+Class random_data
+ size=48 align=8
+ base size=48 base align=8
+random_data (0x7fb2a2710850) 0
+
+Class drand48_data
+ size=24 align=8
+ base size=24 base align=8
+drand48_data (0x7fb2a27108c0) 0
+
+Class QVectorData
+ size=16 align=4
+ base size=16 base align=4
+QVectorData (0x7fb2a2710930) 0
+
+Class QContiguousCacheData
+ size=24 align=4
+ base size=24 base align=4
+QContiguousCacheData (0x7fb2a24ce620) 0
+
+Class QDebug::Stream
+ size=40 align=8
+ base size=34 base align=8
+QDebug::Stream (0x7fb2a232e150) 0
+
+Class QDebug
+ size=8 align=8
+ base size=8 base align=8
+QDebug (0x7fb2a232e0e0) 0
+
+Class QNoDebug
+ size=1 align=1
+ base size=0 base align=1
+QNoDebug (0x7fb2a23dd0e0) 0 empty
+
+Vtable for QDirIterator
+QDirIterator::_ZTV12QDirIterator: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QDirIterator)
+16 QDirIterator::~QDirIterator
+24 QDirIterator::~QDirIterator
+
+Class QDirIterator
+ size=16 align=8
+ base size=16 base align=8
+QDirIterator (0x7fb2a23ec700) 0
+ vptr=((& QDirIterator::_ZTV12QDirIterator) + 16u)
+
+Vtable for QFileSystemWatcher
+QFileSystemWatcher::_ZTV18QFileSystemWatcher: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QFileSystemWatcher)
+16 QFileSystemWatcher::metaObject
+24 QFileSystemWatcher::qt_metacast
+32 QFileSystemWatcher::qt_metacall
+40 QFileSystemWatcher::~QFileSystemWatcher
+48 QFileSystemWatcher::~QFileSystemWatcher
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QFileSystemWatcher
+ size=16 align=8
+ base size=16 base align=8
+QFileSystemWatcher (0x7fb2a2249540) 0
+ vptr=((& QFileSystemWatcher::_ZTV18QFileSystemWatcher) + 16u)
+ QObject (0x7fb2a22495b0) 0
+ primary-for QFileSystemWatcher (0x7fb2a2249540)
+
+Vtable for QFSFileEngine
+QFSFileEngine::_ZTV13QFSFileEngine: 36u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QFSFileEngine)
+16 QFSFileEngine::~QFSFileEngine
+24 QFSFileEngine::~QFSFileEngine
+32 QFSFileEngine::open
+40 QFSFileEngine::close
+48 QFSFileEngine::flush
+56 QFSFileEngine::size
+64 QFSFileEngine::pos
+72 QFSFileEngine::seek
+80 QFSFileEngine::isSequential
+88 QFSFileEngine::remove
+96 QFSFileEngine::copy
+104 QFSFileEngine::rename
+112 QFSFileEngine::link
+120 QFSFileEngine::mkdir
+128 QFSFileEngine::rmdir
+136 QFSFileEngine::setSize
+144 QFSFileEngine::caseSensitive
+152 QFSFileEngine::isRelativePath
+160 QFSFileEngine::entryList
+168 QFSFileEngine::fileFlags
+176 QFSFileEngine::setPermissions
+184 QFSFileEngine::fileName
+192 QFSFileEngine::ownerId
+200 QFSFileEngine::owner
+208 QFSFileEngine::fileTime
+216 QFSFileEngine::setFileName
+224 QFSFileEngine::handle
+232 QFSFileEngine::beginEntryList
+240 QFSFileEngine::endEntryList
+248 QFSFileEngine::read
+256 QFSFileEngine::readLine
+264 QFSFileEngine::write
+272 QFSFileEngine::extension
+280 QFSFileEngine::supportsExtension
+
+Class QFSFileEngine
+ size=16 align=8
+ base size=16 base align=8
+QFSFileEngine (0x7fb2a225ba80) 0
+ vptr=((& QFSFileEngine::_ZTV13QFSFileEngine) + 16u)
+ QAbstractFileEngine (0x7fb2a225baf0) 0
+ primary-for QFSFileEngine (0x7fb2a225ba80)
+
+Class QSharedData
+ size=4 align=4
+ base size=4 base align=4
+QSharedData (0x7fb2a226ce70) 0
+
+Class QProcessEnvironment
+ size=8 align=8
+ base size=8 base align=8
+QProcessEnvironment (0x7fb2a22b31c0) 0
+
+Vtable for QProcess
+QProcess::_ZTV8QProcess: 31u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI8QProcess)
+16 QProcess::metaObject
+24 QProcess::qt_metacast
+32 QProcess::qt_metacall
+40 QProcess::~QProcess
+48 QProcess::~QProcess
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QProcess::isSequential
+120 QIODevice::open
+128 QProcess::close
+136 QIODevice::pos
+144 QIODevice::size
+152 QIODevice::seek
+160 QProcess::atEnd
+168 QIODevice::reset
+176 QProcess::bytesAvailable
+184 QProcess::bytesToWrite
+192 QProcess::canReadLine
+200 QProcess::waitForReadyRead
+208 QProcess::waitForBytesWritten
+216 QProcess::readData
+224 QIODevice::readLineData
+232 QProcess::writeData
+240 QProcess::setupChildProcess
+
+Class QProcess
+ size=16 align=8
+ base size=16 base align=8
+QProcess (0x7fb2a22b3cb0) 0
+ vptr=((& QProcess::_ZTV8QProcess) + 16u)
+ QIODevice (0x7fb2a22b3d20) 0
+ primary-for QProcess (0x7fb2a22b3cb0)
+ QObject (0x7fb2a22b3d90) 0
+ primary-for QIODevice (0x7fb2a22b3d20)
+
+Class QResource
+ size=8 align=8
+ base size=8 base align=8
+QResource (0x7fb2a22fc1c0) 0
+
+Class QMetaType
+ size=1 align=1
+ base size=0 base align=1
+QMetaType (0x7fb2a22fce70) 0 empty
+
+Class QVariant::PrivateShared
+ size=16 align=8
+ base size=12 base align=8
+QVariant::PrivateShared (0x7fb2a21fa700) 0
+
+Class QVariant::Private::Data
+ size=8 align=8
+ base size=8 base align=8
+QVariant::Private::Data (0x7fb2a21faa10) 0
+
+Class QVariant::Private
+ size=16 align=8
+ base size=12 base align=8
+QVariant::Private (0x7fb2a21fa7e0) 0
+
+Class QVariant::Handler
+ size=72 align=8
+ base size=72 base align=8
+QVariant::Handler (0x7fb2a2208700) 0
+
+Class QVariant
+ size=16 align=8
+ base size=16 base align=8
+QVariant (0x7fb2a21c97e0) 0
+
+Class QVariantComparisonHelper
+ size=8 align=8
+ base size=8 base align=8
+QVariantComparisonHelper (0x7fb2a20ba9a0) 0
+
+Vtable for QSettings
+QSettings::_ZTV9QSettings: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QSettings)
+16 QSettings::metaObject
+24 QSettings::qt_metacast
+32 QSettings::qt_metacall
+40 QSettings::~QSettings
+48 QSettings::~QSettings
+56 QSettings::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QSettings
+ size=16 align=8
+ base size=16 base align=8
+QSettings (0x7fb2a20e0ee0) 0
+ vptr=((& QSettings::_ZTV9QSettings) + 16u)
+ QObject (0x7fb2a20e0f50) 0
+ primary-for QSettings (0x7fb2a20e0ee0)
+
+Vtable for QTemporaryFile
+QTemporaryFile::_ZTV14QTemporaryFile: 31u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QTemporaryFile)
+16 QTemporaryFile::metaObject
+24 QTemporaryFile::qt_metacast
+32 QTemporaryFile::qt_metacall
+40 QTemporaryFile::~QTemporaryFile
+48 QTemporaryFile::~QTemporaryFile
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QFile::isSequential
+120 QTemporaryFile::open
+128 QFile::close
+136 QFile::pos
+144 QFile::size
+152 QFile::seek
+160 QFile::atEnd
+168 QIODevice::reset
+176 QIODevice::bytesAvailable
+184 QIODevice::bytesToWrite
+192 QIODevice::canReadLine
+200 QIODevice::waitForReadyRead
+208 QIODevice::waitForBytesWritten
+216 QFile::readData
+224 QFile::readLineData
+232 QFile::writeData
+240 QTemporaryFile::fileEngine
+
+Class QTemporaryFile
+ size=16 align=8
+ base size=16 base align=8
+QTemporaryFile (0x7fb2a1f622a0) 0
+ vptr=((& QTemporaryFile::_ZTV14QTemporaryFile) + 16u)
+ QFile (0x7fb2a1f62310) 0
+ primary-for QTemporaryFile (0x7fb2a1f622a0)
+ QIODevice (0x7fb2a1f62380) 0
+ primary-for QFile (0x7fb2a1f62310)
+ QObject (0x7fb2a1f623f0) 0
+ primary-for QIODevice (0x7fb2a1f62380)
+
+Class QUrl
+ size=8 align=8
+ base size=8 base align=8
+QUrl (0x7fb2a1f7f9a0) 0
+
+Class QXmlStreamStringRef
+ size=16 align=8
+ base size=16 base align=8
+QXmlStreamStringRef (0x7fb2a200c070) 0
+
+Class QXmlStreamAttribute
+ size=80 align=8
+ base size=73 base align=8
+QXmlStreamAttribute (0x7fb2a1e25850) 0
+
+Class QXmlStreamAttributes
+ size=8 align=8
+ base size=8 base align=8
+QXmlStreamAttributes (0x7fb2a1e4d310) 0
+ QVector<QXmlStreamAttribute> (0x7fb2a1e4d380) 0
+
+Class QXmlStreamNamespaceDeclaration
+ size=40 align=8
+ base size=40 base align=8
+QXmlStreamNamespaceDeclaration (0x7fb2a1e4d7e0) 0
+
+Class QXmlStreamNotationDeclaration
+ size=56 align=8
+ base size=56 base align=8
+QXmlStreamNotationDeclaration (0x7fb2a1e8f1c0) 0
+
+Class QXmlStreamEntityDeclaration
+ size=88 align=8
+ base size=88 base align=8
+QXmlStreamEntityDeclaration (0x7fb2a1eb2070) 0
+
+Vtable for QXmlStreamEntityResolver
+QXmlStreamEntityResolver::_ZTV24QXmlStreamEntityResolver: 6u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI24QXmlStreamEntityResolver)
+16 QXmlStreamEntityResolver::~QXmlStreamEntityResolver
+24 QXmlStreamEntityResolver::~QXmlStreamEntityResolver
+32 QXmlStreamEntityResolver::resolveEntity
+40 QXmlStreamEntityResolver::resolveUndeclaredEntity
+
+Class QXmlStreamEntityResolver
+ size=8 align=8
+ base size=8 base align=8
+QXmlStreamEntityResolver (0x7fb2a1eca9a0) 0 nearly-empty
+ vptr=((& QXmlStreamEntityResolver::_ZTV24QXmlStreamEntityResolver) + 16u)
+
+Class QXmlStreamReader
+ size=8 align=8
+ base size=8 base align=8
+QXmlStreamReader (0x7fb2a1ecab60) 0
+
+Class QXmlStreamWriter
+ size=8 align=8
+ base size=8 base align=8
+QXmlStreamWriter (0x7fb2a1f13c40) 0
+
+Vtable for QAbstractState
+QAbstractState::_ZTV14QAbstractState: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QAbstractState)
+16 QAbstractState::metaObject
+24 QAbstractState::qt_metacast
+32 QAbstractState::qt_metacall
+40 QAbstractState::~QAbstractState
+48 QAbstractState::~QAbstractState
+56 QAbstractState::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+
+Class QAbstractState
+ size=16 align=8
+ base size=16 base align=8
+QAbstractState (0x7fb2a1d20a80) 0
+ vptr=((& QAbstractState::_ZTV14QAbstractState) + 16u)
+ QObject (0x7fb2a1d20af0) 0
+ primary-for QAbstractState (0x7fb2a1d20a80)
+
+Vtable for QAbstractTransition
+QAbstractTransition::_ZTV19QAbstractTransition: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QAbstractTransition)
+16 QAbstractTransition::metaObject
+24 QAbstractTransition::qt_metacast
+32 QAbstractTransition::qt_metacall
+40 QAbstractTransition::~QAbstractTransition
+48 QAbstractTransition::~QAbstractTransition
+56 QAbstractTransition::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+
+Class QAbstractTransition
+ size=16 align=8
+ base size=16 base align=8
+QAbstractTransition (0x7fb2a1d462a0) 0
+ vptr=((& QAbstractTransition::_ZTV19QAbstractTransition) + 16u)
+ QObject (0x7fb2a1d46310) 0
+ primary-for QAbstractTransition (0x7fb2a1d462a0)
+
+Vtable for QEvent
+QEvent::_ZTV6QEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI6QEvent)
+16 QEvent::~QEvent
+24 QEvent::~QEvent
+
+Class QEvent
+ size=24 align=8
+ base size=20 base align=8
+QEvent (0x7fb2a1d5aaf0) 0
+ vptr=((& QEvent::_ZTV6QEvent) + 16u)
+
+Vtable for QTimerEvent
+QTimerEvent::_ZTV11QTimerEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QTimerEvent)
+16 QTimerEvent::~QTimerEvent
+24 QTimerEvent::~QTimerEvent
+
+Class QTimerEvent
+ size=24 align=8
+ base size=24 base align=8
+QTimerEvent (0x7fb2a1d7b700) 0
+ vptr=((& QTimerEvent::_ZTV11QTimerEvent) + 16u)
+ QEvent (0x7fb2a1d7b770) 0
+ primary-for QTimerEvent (0x7fb2a1d7b700)
+
+Vtable for QChildEvent
+QChildEvent::_ZTV11QChildEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QChildEvent)
+16 QChildEvent::~QChildEvent
+24 QChildEvent::~QChildEvent
+
+Class QChildEvent
+ size=32 align=8
+ base size=32 base align=8
+QChildEvent (0x7fb2a1d7bb60) 0
+ vptr=((& QChildEvent::_ZTV11QChildEvent) + 16u)
+ QEvent (0x7fb2a1d7bbd0) 0
+ primary-for QChildEvent (0x7fb2a1d7bb60)
+
+Vtable for QCustomEvent
+QCustomEvent::_ZTV12QCustomEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QCustomEvent)
+16 QCustomEvent::~QCustomEvent
+24 QCustomEvent::~QCustomEvent
+
+Class QCustomEvent
+ size=24 align=8
+ base size=20 base align=8
+QCustomEvent (0x7fb2a1d85e00) 0
+ vptr=((& QCustomEvent::_ZTV12QCustomEvent) + 16u)
+ QEvent (0x7fb2a1d85e70) 0
+ primary-for QCustomEvent (0x7fb2a1d85e00)
+
+Vtable for QDynamicPropertyChangeEvent
+QDynamicPropertyChangeEvent::_ZTV27QDynamicPropertyChangeEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI27QDynamicPropertyChangeEvent)
+16 QDynamicPropertyChangeEvent::~QDynamicPropertyChangeEvent
+24 QDynamicPropertyChangeEvent::~QDynamicPropertyChangeEvent
+
+Class QDynamicPropertyChangeEvent
+ size=32 align=8
+ base size=32 base align=8
+QDynamicPropertyChangeEvent (0x7fb2a1d97620) 0
+ vptr=((& QDynamicPropertyChangeEvent::_ZTV27QDynamicPropertyChangeEvent) + 16u)
+ QEvent (0x7fb2a1d97690) 0
+ primary-for QDynamicPropertyChangeEvent (0x7fb2a1d97620)
+
+Vtable for QEventTransition
+QEventTransition::_ZTV16QEventTransition: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QEventTransition)
+16 QEventTransition::metaObject
+24 QEventTransition::qt_metacast
+32 QEventTransition::qt_metacall
+40 QEventTransition::~QEventTransition
+48 QEventTransition::~QEventTransition
+56 QEventTransition::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QEventTransition::eventTest
+120 QEventTransition::onTransition
+
+Class QEventTransition
+ size=16 align=8
+ base size=16 base align=8
+QEventTransition (0x7fb2a1d97af0) 0
+ vptr=((& QEventTransition::_ZTV16QEventTransition) + 16u)
+ QAbstractTransition (0x7fb2a1d97b60) 0
+ primary-for QEventTransition (0x7fb2a1d97af0)
+ QObject (0x7fb2a1d97bd0) 0
+ primary-for QAbstractTransition (0x7fb2a1d97b60)
+
+Vtable for QFinalState
+QFinalState::_ZTV11QFinalState: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QFinalState)
+16 QFinalState::metaObject
+24 QFinalState::qt_metacast
+32 QFinalState::qt_metacall
+40 QFinalState::~QFinalState
+48 QFinalState::~QFinalState
+56 QFinalState::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QFinalState::onEntry
+120 QFinalState::onExit
+
+Class QFinalState
+ size=16 align=8
+ base size=16 base align=8
+QFinalState (0x7fb2a1db29a0) 0
+ vptr=((& QFinalState::_ZTV11QFinalState) + 16u)
+ QAbstractState (0x7fb2a1db2a10) 0
+ primary-for QFinalState (0x7fb2a1db29a0)
+ QObject (0x7fb2a1db2a80) 0
+ primary-for QAbstractState (0x7fb2a1db2a10)
+
+Vtable for QHistoryState
+QHistoryState::_ZTV13QHistoryState: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QHistoryState)
+16 QHistoryState::metaObject
+24 QHistoryState::qt_metacast
+32 QHistoryState::qt_metacall
+40 QHistoryState::~QHistoryState
+48 QHistoryState::~QHistoryState
+56 QHistoryState::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QHistoryState::onEntry
+120 QHistoryState::onExit
+
+Class QHistoryState
+ size=16 align=8
+ base size=16 base align=8
+QHistoryState (0x7fb2a1dcb230) 0
+ vptr=((& QHistoryState::_ZTV13QHistoryState) + 16u)
+ QAbstractState (0x7fb2a1dcb2a0) 0
+ primary-for QHistoryState (0x7fb2a1dcb230)
+ QObject (0x7fb2a1dcb310) 0
+ primary-for QAbstractState (0x7fb2a1dcb2a0)
+
+Vtable for QSignalTransition
+QSignalTransition::_ZTV17QSignalTransition: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QSignalTransition)
+16 QSignalTransition::metaObject
+24 QSignalTransition::qt_metacast
+32 QSignalTransition::qt_metacall
+40 QSignalTransition::~QSignalTransition
+48 QSignalTransition::~QSignalTransition
+56 QSignalTransition::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QSignalTransition::eventTest
+120 QSignalTransition::onTransition
+
+Class QSignalTransition
+ size=16 align=8
+ base size=16 base align=8
+QSignalTransition (0x7fb2a1dddf50) 0
+ vptr=((& QSignalTransition::_ZTV17QSignalTransition) + 16u)
+ QAbstractTransition (0x7fb2a1de6000) 0
+ primary-for QSignalTransition (0x7fb2a1dddf50)
+ QObject (0x7fb2a1de6070) 0
+ primary-for QAbstractTransition (0x7fb2a1de6000)
+
+Vtable for QState
+QState::_ZTV6QState: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI6QState)
+16 QState::metaObject
+24 QState::qt_metacast
+32 QState::qt_metacall
+40 QState::~QState
+48 QState::~QState
+56 QState::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QState::onEntry
+120 QState::onExit
+
+Class QState
+ size=16 align=8
+ base size=16 base align=8
+QState (0x7fb2a1df6af0) 0
+ vptr=((& QState::_ZTV6QState) + 16u)
+ QAbstractState (0x7fb2a1df6b60) 0
+ primary-for QState (0x7fb2a1df6af0)
+ QObject (0x7fb2a1df6bd0) 0
+ primary-for QAbstractState (0x7fb2a1df6b60)
+
+Vtable for QStateMachine::SignalEvent
+QStateMachine::SignalEvent::_ZTVN13QStateMachine11SignalEventE: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN13QStateMachine11SignalEventE)
+16 QStateMachine::SignalEvent::~SignalEvent
+24 QStateMachine::SignalEvent::~SignalEvent
+
+Class QStateMachine::SignalEvent
+ size=48 align=8
+ base size=48 base align=8
+QStateMachine::SignalEvent (0x7fb2a1c1d150) 0
+ vptr=((& QStateMachine::SignalEvent::_ZTVN13QStateMachine11SignalEventE) + 16u)
+ QEvent (0x7fb2a1c1d1c0) 0
+ primary-for QStateMachine::SignalEvent (0x7fb2a1c1d150)
+
+Vtable for QStateMachine::WrappedEvent
+QStateMachine::WrappedEvent::_ZTVN13QStateMachine12WrappedEventE: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN13QStateMachine12WrappedEventE)
+16 QStateMachine::WrappedEvent::~WrappedEvent
+24 QStateMachine::WrappedEvent::~WrappedEvent
+
+Class QStateMachine::WrappedEvent
+ size=40 align=8
+ base size=40 base align=8
+QStateMachine::WrappedEvent (0x7fb2a1c1d700) 0
+ vptr=((& QStateMachine::WrappedEvent::_ZTVN13QStateMachine12WrappedEventE) + 16u)
+ QEvent (0x7fb2a1c1d770) 0
+ primary-for QStateMachine::WrappedEvent (0x7fb2a1c1d700)
+
+Vtable for QStateMachine
+QStateMachine::_ZTV13QStateMachine: 20u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QStateMachine)
+16 QStateMachine::metaObject
+24 QStateMachine::qt_metacast
+32 QStateMachine::qt_metacall
+40 QStateMachine::~QStateMachine
+48 QStateMachine::~QStateMachine
+56 QStateMachine::event
+64 QStateMachine::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QStateMachine::onEntry
+120 QStateMachine::onExit
+128 QStateMachine::beginSelectTransitions
+136 QStateMachine::endSelectTransitions
+144 QStateMachine::beginMicrostep
+152 QStateMachine::endMicrostep
+
+Class QStateMachine
+ size=16 align=8
+ base size=16 base align=8
+QStateMachine (0x7fb2a1e13ee0) 0
+ vptr=((& QStateMachine::_ZTV13QStateMachine) + 16u)
+ QState (0x7fb2a1e13f50) 0
+ primary-for QStateMachine (0x7fb2a1e13ee0)
+ QAbstractState (0x7fb2a1c1d000) 0
+ primary-for QState (0x7fb2a1e13f50)
+ QObject (0x7fb2a1c1d070) 0
+ primary-for QAbstractState (0x7fb2a1c1d000)
+
+Class QBitArray
+ size=8 align=8
+ base size=8 base align=8
+QBitArray (0x7fb2a1c4d150) 0
+
+Class QBitRef
+ size=16 align=8
+ base size=12 base align=8
+QBitRef (0x7fb2a1ca1e00) 0
+
+Class QByteArrayMatcher::Data
+ size=272 align=8
+ base size=272 base align=8
+QByteArrayMatcher::Data (0x7fb2a1cb4af0) 0
+
+Class QByteArrayMatcher
+ size=1040 align=8
+ base size=1040 base align=8
+QByteArrayMatcher (0x7fb2a1cb44d0) 0
+
+Class QCryptographicHash
+ size=8 align=8
+ base size=8 base align=8
+QCryptographicHash (0x7fb2a1cee150) 0
+
+Vtable for QtSharedPointer::ExternalRefCountData
+QtSharedPointer::ExternalRefCountData::_ZTVN15QtSharedPointer20ExternalRefCountDataE: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN15QtSharedPointer20ExternalRefCountDataE)
+16 QtSharedPointer::ExternalRefCountData::~ExternalRefCountData
+24 QtSharedPointer::ExternalRefCountData::~ExternalRefCountData
+32 QtSharedPointer::ExternalRefCountData::destroy
+
+Class QtSharedPointer::ExternalRefCountData
+ size=16 align=8
+ base size=16 base align=8
+QtSharedPointer::ExternalRefCountData (0x7fb2a1b17070) 0
+ vptr=((& QtSharedPointer::ExternalRefCountData::_ZTVN15QtSharedPointer20ExternalRefCountDataE) + 16u)
+
+Vtable for QtSharedPointer::ExternalRefCountWithDestroyFn
+QtSharedPointer::ExternalRefCountWithDestroyFn::_ZTVN15QtSharedPointer29ExternalRefCountWithDestroyFnE: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN15QtSharedPointer29ExternalRefCountWithDestroyFnE)
+16 QtSharedPointer::ExternalRefCountWithDestroyFn::~ExternalRefCountWithDestroyFn
+24 QtSharedPointer::ExternalRefCountWithDestroyFn::~ExternalRefCountWithDestroyFn
+32 QtSharedPointer::ExternalRefCountWithDestroyFn::destroy
+
+Class QtSharedPointer::ExternalRefCountWithDestroyFn
+ size=24 align=8
+ base size=24 base align=8
+QtSharedPointer::ExternalRefCountWithDestroyFn (0x7fb2a1b30930) 0
+ vptr=((& QtSharedPointer::ExternalRefCountWithDestroyFn::_ZTVN15QtSharedPointer29ExternalRefCountWithDestroyFnE) + 16u)
+ QtSharedPointer::ExternalRefCountData (0x7fb2a1b309a0) 0
+ primary-for QtSharedPointer::ExternalRefCountWithDestroyFn (0x7fb2a1b30930)
+
+Class QDate
+ size=4 align=4
+ base size=4 base align=4
+QDate (0x7fb2a1bb75b0) 0
+
+Class QTime
+ size=4 align=4
+ base size=4 base align=4
+QTime (0x7fb2a1be7540) 0
+
+Class QDateTime
+ size=8 align=8
+ base size=8 base align=8
+QDateTime (0x7fb2a1c04af0) 0
+
+Class QEasingCurve
+ size=8 align=8
+ base size=8 base align=8
+QEasingCurve (0x7fb2a1a4a000) 0
+
+Class QPoint
+ size=8 align=4
+ base size=8 base align=4
+QPoint (0x7fb2a1a4aee0) 0
+
+Class QPointF
+ size=16 align=8
+ base size=16 base align=8
+QPointF (0x7fb2a1a8aaf0) 0
+
+Class QLine
+ size=16 align=4
+ base size=16 base align=4
+QLine (0x7fb2a1acaaf0) 0
+
+Class QLineF
+ size=32 align=8
+ base size=32 base align=8
+QLineF (0x7fb2a1b059a0) 0
+
+Class QLinkedListData
+ size=32 align=8
+ base size=32 base align=8
+QLinkedListData (0x7fb2a195b460) 0
+
+Class QMargins
+ size=16 align=4
+ base size=16 base align=4
+QMargins (0x7fb2a1819380) 0
+
+Class QSize
+ size=8 align=4
+ base size=8 base align=4
+QSize (0x7fb2a1847150) 0
+
+Class QSizeF
+ size=16 align=8
+ base size=16 base align=8
+QSizeF (0x7fb2a1888e00) 0
+
+Class QRect
+ size=16 align=4
+ base size=16 base align=4
+QRect (0x7fb2a18da380) 0
+
+Class QRectF
+ size=32 align=8
+ base size=32 base align=8
+QRectF (0x7fb2a1787d20) 0
+
+Class QLatin1Literal
+ size=16 align=8
+ base size=16 base align=8
+QLatin1Literal (0x7fb2a1636ee0) 0
+
+Class QAbstractConcatenable
+ size=1 align=1
+ base size=0 base align=1
+QAbstractConcatenable (0x7fb2a16483f0) 0 empty
+
+Class QTextBoundaryFinder
+ size=48 align=8
+ base size=48 base align=8
+QTextBoundaryFinder (0x7fb2a167f380) 0
+
+Vtable for QTimeLine
+QTimeLine::_ZTV9QTimeLine: 15u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QTimeLine)
+16 QTimeLine::metaObject
+24 QTimeLine::qt_metacast
+32 QTimeLine::qt_metacall
+40 QTimeLine::~QTimeLine
+48 QTimeLine::~QTimeLine
+56 QObject::event
+64 QObject::eventFilter
+72 QTimeLine::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QTimeLine::valueForTime
+
+Class QTimeLine
+ size=16 align=8
+ base size=16 base align=8
+QTimeLine (0x7fb2a168e700) 0
+ vptr=((& QTimeLine::_ZTV9QTimeLine) + 16u)
+ QObject (0x7fb2a168e770) 0
+ primary-for QTimeLine (0x7fb2a168e700)
+
+Vtable for QRunnable
+QRunnable::_ZTV9QRunnable: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QRunnable)
+16 __cxa_pure_virtual
+24 QRunnable::~QRunnable
+32 QRunnable::~QRunnable
+
+Class QRunnable
+ size=16 align=8
+ base size=12 base align=8
+QRunnable (0x7fb2a16b7f50) 0
+ vptr=((& QRunnable::_ZTV9QRunnable) + 16u)
+
+Class QMutex
+ size=8 align=8
+ base size=8 base align=8
+QMutex (0x7fb2a16ef620) 0
+
+Class QMutexLocker
+ size=8 align=8
+ base size=8 base align=8
+QMutexLocker (0x7fb2a16fe1c0) 0
+
+Vtable for QtConcurrent::Exception
+QtConcurrent::Exception::_ZTVN12QtConcurrent9ExceptionE: 7u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN12QtConcurrent9ExceptionE)
+16 QtConcurrent::Exception::~Exception
+24 QtConcurrent::Exception::~Exception
+32 std::exception::what
+40 QtConcurrent::Exception::raise
+48 QtConcurrent::Exception::clone
+
+Class QtConcurrent::Exception
+ size=8 align=8
+ base size=8 base align=8
+QtConcurrent::Exception (0x7fb2a15134d0) 0 nearly-empty
+ vptr=((& QtConcurrent::Exception::_ZTVN12QtConcurrent9ExceptionE) + 16u)
+ std::exception (0x7fb2a1513540) 0 nearly-empty
+ primary-for QtConcurrent::Exception (0x7fb2a15134d0)
+
+Vtable for QtConcurrent::UnhandledException
+QtConcurrent::UnhandledException::_ZTVN12QtConcurrent18UnhandledExceptionE: 7u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN12QtConcurrent18UnhandledExceptionE)
+16 QtConcurrent::UnhandledException::~UnhandledException
+24 QtConcurrent::UnhandledException::~UnhandledException
+32 std::exception::what
+40 QtConcurrent::UnhandledException::raise
+48 QtConcurrent::UnhandledException::clone
+
+Class QtConcurrent::UnhandledException
+ size=8 align=8
+ base size=8 base align=8
+QtConcurrent::UnhandledException (0x7fb2a1513770) 0 nearly-empty
+ vptr=((& QtConcurrent::UnhandledException::_ZTVN12QtConcurrent18UnhandledExceptionE) + 16u)
+ QtConcurrent::Exception (0x7fb2a15137e0) 0 nearly-empty
+ primary-for QtConcurrent::UnhandledException (0x7fb2a1513770)
+ std::exception (0x7fb2a1513850) 0 nearly-empty
+ primary-for QtConcurrent::Exception (0x7fb2a15137e0)
+
+Class QtConcurrent::internal::ExceptionHolder
+ size=8 align=8
+ base size=8 base align=8
+QtConcurrent::internal::ExceptionHolder (0x7fb2a1513a80) 0
+
+Class QtConcurrent::internal::ExceptionStore
+ size=8 align=8
+ base size=8 base align=8
+QtConcurrent::internal::ExceptionStore (0x7fb2a1513e00) 0
+
+Class QtConcurrent::ResultItem
+ size=16 align=8
+ base size=16 base align=8
+QtConcurrent::ResultItem (0x7fb2a1513e70) 0
+
+Class QtConcurrent::ResultIteratorBase
+ size=16 align=8
+ base size=12 base align=8
+QtConcurrent::ResultIteratorBase (0x7fb2a152bd90) 0
+
+Vtable for QtConcurrent::ResultStoreBase
+QtConcurrent::ResultStoreBase::_ZTVN12QtConcurrent15ResultStoreBaseE: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN12QtConcurrent15ResultStoreBaseE)
+16 QtConcurrent::ResultStoreBase::~ResultStoreBase
+24 QtConcurrent::ResultStoreBase::~ResultStoreBase
+
+Class QtConcurrent::ResultStoreBase
+ size=48 align=8
+ base size=44 base align=8
+QtConcurrent::ResultStoreBase (0x7fb2a1530930) 0
+ vptr=((& QtConcurrent::ResultStoreBase::_ZTVN12QtConcurrent15ResultStoreBaseE) + 16u)
+
+Vtable for QFutureInterfaceBase
+QFutureInterfaceBase::_ZTV20QFutureInterfaceBase: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI20QFutureInterfaceBase)
+16 QFutureInterfaceBase::~QFutureInterfaceBase
+24 QFutureInterfaceBase::~QFutureInterfaceBase
+
+Class QFutureInterfaceBase
+ size=16 align=8
+ base size=16 base align=8
+QFutureInterfaceBase (0x7fb2a156ed90) 0
+ vptr=((& QFutureInterfaceBase::_ZTV20QFutureInterfaceBase) + 16u)
+
+Vtable for QFutureWatcherBase
+QFutureWatcherBase::_ZTV18QFutureWatcherBase: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QFutureWatcherBase)
+16 QFutureWatcherBase::metaObject
+24 QFutureWatcherBase::qt_metacast
+32 QFutureWatcherBase::qt_metacall
+40 QFutureWatcherBase::~QFutureWatcherBase
+48 QFutureWatcherBase::~QFutureWatcherBase
+56 QFutureWatcherBase::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QFutureWatcherBase::connectNotify
+104 QFutureWatcherBase::disconnectNotify
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+
+Class QFutureWatcherBase
+ size=16 align=8
+ base size=16 base align=8
+QFutureWatcherBase (0x7fb2a1454690) 0
+ vptr=((& QFutureWatcherBase::_ZTV18QFutureWatcherBase) + 16u)
+ QObject (0x7fb2a1454700) 0
+ primary-for QFutureWatcherBase (0x7fb2a1454690)
+
+Vtable for QThread
+QThread::_ZTV7QThread: 15u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QThread)
+16 QThread::metaObject
+24 QThread::qt_metacast
+32 QThread::qt_metacall
+40 QThread::~QThread
+48 QThread::~QThread
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QThread::run
+
+Class QThread
+ size=16 align=8
+ base size=16 base align=8
+QThread (0x7fb2a14a6a80) 0
+ vptr=((& QThread::_ZTV7QThread) + 16u)
+ QObject (0x7fb2a14a6af0) 0
+ primary-for QThread (0x7fb2a14a6a80)
+
+Vtable for QThreadPool
+QThreadPool::_ZTV11QThreadPool: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QThreadPool)
+16 QThreadPool::metaObject
+24 QThreadPool::qt_metacast
+32 QThreadPool::qt_metacall
+40 QThreadPool::~QThreadPool
+48 QThreadPool::~QThreadPool
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QThreadPool
+ size=16 align=8
+ base size=16 base align=8
+QThreadPool (0x7fb2a14cc930) 0
+ vptr=((& QThreadPool::_ZTV11QThreadPool) + 16u)
+ QObject (0x7fb2a14cc9a0) 0
+ primary-for QThreadPool (0x7fb2a14cc930)
+
+Class QWaitCondition
+ size=8 align=8
+ base size=8 base align=8
+QWaitCondition (0x7fb2a14ddee0) 0
+
+Class QSemaphore
+ size=8 align=8
+ base size=8 base align=8
+QSemaphore (0x7fb2a14e8460) 0
+
+Class QtConcurrent::ThreadEngineBarrier
+ size=24 align=8
+ base size=24 base align=8
+QtConcurrent::ThreadEngineBarrier (0x7fb2a14e89a0) 0
+
+Vtable for QtConcurrent::ThreadEngineBase
+QtConcurrent::ThreadEngineBase::_ZTVN12QtConcurrent16ThreadEngineBaseE: 11u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN12QtConcurrent16ThreadEngineBaseE)
+16 QtConcurrent::ThreadEngineBase::run
+24 QtConcurrent::ThreadEngineBase::~ThreadEngineBase
+32 QtConcurrent::ThreadEngineBase::~ThreadEngineBase
+40 QtConcurrent::ThreadEngineBase::start
+48 QtConcurrent::ThreadEngineBase::finish
+56 QtConcurrent::ThreadEngineBase::threadFunction
+64 QtConcurrent::ThreadEngineBase::shouldStartThread
+72 QtConcurrent::ThreadEngineBase::shouldThrottleThread
+80 __cxa_pure_virtual
+
+Class QtConcurrent::ThreadEngineBase
+ size=64 align=8
+ base size=64 base align=8
+QtConcurrent::ThreadEngineBase (0x7fb2a14e8a80) 0
+ vptr=((& QtConcurrent::ThreadEngineBase::_ZTVN12QtConcurrent16ThreadEngineBaseE) + 16u)
+ QRunnable (0x7fb2a14e8af0) 0
+ primary-for QtConcurrent::ThreadEngineBase (0x7fb2a14e8a80)
+
+VTT for QtConcurrent::ThreadEngine<void>
+QtConcurrent::ThreadEngine<void>::_ZTTN12QtConcurrent12ThreadEngineIvEE: 2u entries
+0 ((& QtConcurrent::ThreadEngine<void>::_ZTVN12QtConcurrent12ThreadEngineIvEE) + 24u)
+8 ((& QtConcurrent::ThreadEngine<void>::_ZTVN12QtConcurrent12ThreadEngineIvEE) + 136u)
+
+Class QtConcurrent::BlockSizeManager
+ size=96 align=8
+ base size=92 base align=8
+QtConcurrent::BlockSizeManager (0x7fb2a1333ee0) 0
+
+Vtable for QFactoryInterface
+QFactoryInterface::_ZTV17QFactoryInterface: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QFactoryInterface)
+16 QFactoryInterface::~QFactoryInterface
+24 QFactoryInterface::~QFactoryInterface
+32 __cxa_pure_virtual
+
+Class QFactoryInterface
+ size=8 align=8
+ base size=8 base align=8
+QFactoryInterface (0x7fb2a0fddd20) 0 nearly-empty
+ vptr=((& QFactoryInterface::_ZTV17QFactoryInterface) + 16u)
+
+Vtable for QTextCodecFactoryInterface
+QTextCodecFactoryInterface::_ZTV26QTextCodecFactoryInterface: 6u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI26QTextCodecFactoryInterface)
+16 QTextCodecFactoryInterface::~QTextCodecFactoryInterface
+24 QTextCodecFactoryInterface::~QTextCodecFactoryInterface
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+
+Class QTextCodecFactoryInterface
+ size=8 align=8
+ base size=8 base align=8
+QTextCodecFactoryInterface (0x7fb2a0e10000) 0 nearly-empty
+ vptr=((& QTextCodecFactoryInterface::_ZTV26QTextCodecFactoryInterface) + 16u)
+ QFactoryInterface (0x7fb2a0e10070) 0 nearly-empty
+ primary-for QTextCodecFactoryInterface (0x7fb2a0e10000)
+
+Vtable for QTextCodecPlugin
+QTextCodecPlugin::_ZTV16QTextCodecPlugin: 27u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QTextCodecPlugin)
+16 QTextCodecPlugin::metaObject
+24 QTextCodecPlugin::qt_metacast
+32 QTextCodecPlugin::qt_metacall
+40 QTextCodecPlugin::~QTextCodecPlugin
+48 QTextCodecPlugin::~QTextCodecPlugin
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 __cxa_pure_virtual
+136 __cxa_pure_virtual
+144 __cxa_pure_virtual
+152 QTextCodecPlugin::keys
+160 QTextCodecPlugin::create
+168 (int (*)(...))-0x00000000000000010
+176 (int (*)(...))(& _ZTI16QTextCodecPlugin)
+184 QTextCodecPlugin::_ZThn16_N16QTextCodecPluginD1Ev
+192 QTextCodecPlugin::_ZThn16_N16QTextCodecPluginD0Ev
+200 QTextCodecPlugin::_ZThn16_NK16QTextCodecPlugin4keysEv
+208 QTextCodecPlugin::_ZThn16_N16QTextCodecPlugin6createERK7QString
+
+Class QTextCodecPlugin
+ size=24 align=8
+ base size=24 base align=8
+QTextCodecPlugin (0x7fb2a0e19580) 0
+ vptr=((& QTextCodecPlugin::_ZTV16QTextCodecPlugin) + 16u)
+ QObject (0x7fb2a0e10a80) 0
+ primary-for QTextCodecPlugin (0x7fb2a0e19580)
+ QTextCodecFactoryInterface (0x7fb2a0e10af0) 16 nearly-empty
+ vptr=((& QTextCodecPlugin::_ZTV16QTextCodecPlugin) + 184u)
+ QFactoryInterface (0x7fb2a0e10b60) 16 nearly-empty
+ primary-for QTextCodecFactoryInterface (0x7fb2a0e10af0)
+
+Class QLibraryInfo
+ size=1 align=1
+ base size=0 base align=1
+QLibraryInfo (0x7fb2a0e67150) 0 empty
+
+Vtable for QEventLoop
+QEventLoop::_ZTV10QEventLoop: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QEventLoop)
+16 QEventLoop::metaObject
+24 QEventLoop::qt_metacast
+32 QEventLoop::qt_metacall
+40 QEventLoop::~QEventLoop
+48 QEventLoop::~QEventLoop
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QEventLoop
+ size=16 align=8
+ base size=16 base align=8
+QEventLoop (0x7fb2a0e672a0) 0
+ vptr=((& QEventLoop::_ZTV10QEventLoop) + 16u)
+ QObject (0x7fb2a0e67310) 0
+ primary-for QEventLoop (0x7fb2a0e672a0)
+
+Vtable for QAbstractEventDispatcher
+QAbstractEventDispatcher::_ZTV24QAbstractEventDispatcher: 27u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI24QAbstractEventDispatcher)
+16 QAbstractEventDispatcher::metaObject
+24 QAbstractEventDispatcher::qt_metacast
+32 QAbstractEventDispatcher::qt_metacall
+40 QAbstractEventDispatcher::~QAbstractEventDispatcher
+48 QAbstractEventDispatcher::~QAbstractEventDispatcher
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 __cxa_pure_virtual
+136 __cxa_pure_virtual
+144 __cxa_pure_virtual
+152 __cxa_pure_virtual
+160 __cxa_pure_virtual
+168 __cxa_pure_virtual
+176 __cxa_pure_virtual
+184 __cxa_pure_virtual
+192 __cxa_pure_virtual
+200 QAbstractEventDispatcher::startingUp
+208 QAbstractEventDispatcher::closingDown
+
+Class QAbstractEventDispatcher
+ size=16 align=8
+ base size=16 base align=8
+QAbstractEventDispatcher (0x7fb2a0e9fbd0) 0
+ vptr=((& QAbstractEventDispatcher::_ZTV24QAbstractEventDispatcher) + 16u)
+ QObject (0x7fb2a0e9fc40) 0
+ primary-for QAbstractEventDispatcher (0x7fb2a0e9fbd0)
+
+Class QModelIndex
+ size=24 align=8
+ base size=24 base align=8
+QModelIndex (0x7fb2a0ec9a80) 0
+
+Class QPersistentModelIndex
+ size=8 align=8
+ base size=8 base align=8
+QPersistentModelIndex (0x7fb2a0ef4540) 0
+
+Vtable for QAbstractItemModel
+QAbstractItemModel::_ZTV18QAbstractItemModel: 42u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QAbstractItemModel)
+16 QAbstractItemModel::metaObject
+24 QAbstractItemModel::qt_metacast
+32 QAbstractItemModel::qt_metacall
+40 QAbstractItemModel::~QAbstractItemModel
+48 QAbstractItemModel::~QAbstractItemModel
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 __cxa_pure_virtual
+136 __cxa_pure_virtual
+144 QAbstractItemModel::hasChildren
+152 __cxa_pure_virtual
+160 QAbstractItemModel::setData
+168 QAbstractItemModel::headerData
+176 QAbstractItemModel::setHeaderData
+184 QAbstractItemModel::itemData
+192 QAbstractItemModel::setItemData
+200 QAbstractItemModel::mimeTypes
+208 QAbstractItemModel::mimeData
+216 QAbstractItemModel::dropMimeData
+224 QAbstractItemModel::supportedDropActions
+232 QAbstractItemModel::insertRows
+240 QAbstractItemModel::insertColumns
+248 QAbstractItemModel::removeRows
+256 QAbstractItemModel::removeColumns
+264 QAbstractItemModel::fetchMore
+272 QAbstractItemModel::canFetchMore
+280 QAbstractItemModel::flags
+288 QAbstractItemModel::sort
+296 QAbstractItemModel::buddy
+304 QAbstractItemModel::match
+312 QAbstractItemModel::span
+320 QAbstractItemModel::submit
+328 QAbstractItemModel::revert
+
+Class QAbstractItemModel
+ size=16 align=8
+ base size=16 base align=8
+QAbstractItemModel (0x7fb2a0efd850) 0
+ vptr=((& QAbstractItemModel::_ZTV18QAbstractItemModel) + 16u)
+ QObject (0x7fb2a0efd8c0) 0
+ primary-for QAbstractItemModel (0x7fb2a0efd850)
+
+Vtable for QAbstractTableModel
+QAbstractTableModel::_ZTV19QAbstractTableModel: 42u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QAbstractTableModel)
+16 QAbstractTableModel::metaObject
+24 QAbstractTableModel::qt_metacast
+32 QAbstractTableModel::qt_metacall
+40 QAbstractTableModel::~QAbstractTableModel
+48 QAbstractTableModel::~QAbstractTableModel
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QAbstractTableModel::index
+120 QAbstractTableModel::parent
+128 __cxa_pure_virtual
+136 __cxa_pure_virtual
+144 QAbstractTableModel::hasChildren
+152 __cxa_pure_virtual
+160 QAbstractItemModel::setData
+168 QAbstractItemModel::headerData
+176 QAbstractItemModel::setHeaderData
+184 QAbstractItemModel::itemData
+192 QAbstractItemModel::setItemData
+200 QAbstractItemModel::mimeTypes
+208 QAbstractItemModel::mimeData
+216 QAbstractTableModel::dropMimeData
+224 QAbstractItemModel::supportedDropActions
+232 QAbstractItemModel::insertRows
+240 QAbstractItemModel::insertColumns
+248 QAbstractItemModel::removeRows
+256 QAbstractItemModel::removeColumns
+264 QAbstractItemModel::fetchMore
+272 QAbstractItemModel::canFetchMore
+280 QAbstractItemModel::flags
+288 QAbstractItemModel::sort
+296 QAbstractItemModel::buddy
+304 QAbstractItemModel::match
+312 QAbstractItemModel::span
+320 QAbstractItemModel::submit
+328 QAbstractItemModel::revert
+
+Class QAbstractTableModel
+ size=16 align=8
+ base size=16 base align=8
+QAbstractTableModel (0x7fb2a0d5ab60) 0
+ vptr=((& QAbstractTableModel::_ZTV19QAbstractTableModel) + 16u)
+ QAbstractItemModel (0x7fb2a0d5abd0) 0
+ primary-for QAbstractTableModel (0x7fb2a0d5ab60)
+ QObject (0x7fb2a0d5ac40) 0
+ primary-for QAbstractItemModel (0x7fb2a0d5abd0)
+
+Vtable for QAbstractListModel
+QAbstractListModel::_ZTV18QAbstractListModel: 42u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QAbstractListModel)
+16 QAbstractListModel::metaObject
+24 QAbstractListModel::qt_metacast
+32 QAbstractListModel::qt_metacall
+40 QAbstractListModel::~QAbstractListModel
+48 QAbstractListModel::~QAbstractListModel
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QAbstractListModel::index
+120 QAbstractListModel::parent
+128 __cxa_pure_virtual
+136 QAbstractListModel::columnCount
+144 QAbstractListModel::hasChildren
+152 __cxa_pure_virtual
+160 QAbstractItemModel::setData
+168 QAbstractItemModel::headerData
+176 QAbstractItemModel::setHeaderData
+184 QAbstractItemModel::itemData
+192 QAbstractItemModel::setItemData
+200 QAbstractItemModel::mimeTypes
+208 QAbstractItemModel::mimeData
+216 QAbstractListModel::dropMimeData
+224 QAbstractItemModel::supportedDropActions
+232 QAbstractItemModel::insertRows
+240 QAbstractItemModel::insertColumns
+248 QAbstractItemModel::removeRows
+256 QAbstractItemModel::removeColumns
+264 QAbstractItemModel::fetchMore
+272 QAbstractItemModel::canFetchMore
+280 QAbstractItemModel::flags
+288 QAbstractItemModel::sort
+296 QAbstractItemModel::buddy
+304 QAbstractItemModel::match
+312 QAbstractItemModel::span
+320 QAbstractItemModel::submit
+328 QAbstractItemModel::revert
+
+Class QAbstractListModel
+ size=16 align=8
+ base size=16 base align=8
+QAbstractListModel (0x7fb2a0d740e0) 0
+ vptr=((& QAbstractListModel::_ZTV18QAbstractListModel) + 16u)
+ QAbstractItemModel (0x7fb2a0d74150) 0
+ primary-for QAbstractListModel (0x7fb2a0d740e0)
+ QObject (0x7fb2a0d741c0) 0
+ primary-for QAbstractItemModel (0x7fb2a0d74150)
+
+Class QBasicTimer
+ size=4 align=4
+ base size=4 base align=4
+QBasicTimer (0x7fb2a0da6230) 0
+
+Vtable for QCoreApplication
+QCoreApplication::_ZTV16QCoreApplication: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QCoreApplication)
+16 QCoreApplication::metaObject
+24 QCoreApplication::qt_metacast
+32 QCoreApplication::qt_metacall
+40 QCoreApplication::~QCoreApplication
+48 QCoreApplication::~QCoreApplication
+56 QCoreApplication::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QCoreApplication::notify
+120 QCoreApplication::compressEvent
+
+Class QCoreApplication
+ size=16 align=8
+ base size=16 base align=8
+QCoreApplication (0x7fb2a0db0620) 0
+ vptr=((& QCoreApplication::_ZTV16QCoreApplication) + 16u)
+ QObject (0x7fb2a0db0690) 0
+ primary-for QCoreApplication (0x7fb2a0db0620)
+
+Class __exception
+ size=40 align=8
+ base size=40 base align=8
+__exception (0x7fb2a0de5310) 0
+
+Class QMetaMethod
+ size=16 align=8
+ base size=12 base align=8
+QMetaMethod (0x7fb2a0c52770) 0
+
+Class QMetaEnum
+ size=16 align=8
+ base size=12 base align=8
+QMetaEnum (0x7fb2a0c6bbd0) 0
+
+Class QMetaProperty
+ size=32 align=8
+ base size=32 base align=8
+QMetaProperty (0x7fb2a0c7b930) 0
+
+Class QMetaClassInfo
+ size=16 align=8
+ base size=12 base align=8
+QMetaClassInfo (0x7fb2a0c8b000) 0
+
+Vtable for QMimeData
+QMimeData::_ZTV9QMimeData: 17u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QMimeData)
+16 QMimeData::metaObject
+24 QMimeData::qt_metacast
+32 QMimeData::qt_metacall
+40 QMimeData::~QMimeData
+48 QMimeData::~QMimeData
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QMimeData::hasFormat
+120 QMimeData::formats
+128 QMimeData::retrieveData
+
+Class QMimeData
+ size=16 align=8
+ base size=16 base align=8
+QMimeData (0x7fb2a0c8baf0) 0
+ vptr=((& QMimeData::_ZTV9QMimeData) + 16u)
+ QObject (0x7fb2a0c8bb60) 0
+ primary-for QMimeData (0x7fb2a0c8baf0)
+
+Vtable for QObjectCleanupHandler
+QObjectCleanupHandler::_ZTV21QObjectCleanupHandler: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI21QObjectCleanupHandler)
+16 QObjectCleanupHandler::metaObject
+24 QObjectCleanupHandler::qt_metacast
+32 QObjectCleanupHandler::qt_metacall
+40 QObjectCleanupHandler::~QObjectCleanupHandler
+48 QObjectCleanupHandler::~QObjectCleanupHandler
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QObjectCleanupHandler
+ size=24 align=8
+ base size=24 base align=8
+QObjectCleanupHandler (0x7fb2a0cae380) 0
+ vptr=((& QObjectCleanupHandler::_ZTV21QObjectCleanupHandler) + 16u)
+ QObject (0x7fb2a0cae3f0) 0
+ primary-for QObjectCleanupHandler (0x7fb2a0cae380)
+
+Vtable for QSharedMemory
+QSharedMemory::_ZTV13QSharedMemory: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QSharedMemory)
+16 QSharedMemory::metaObject
+24 QSharedMemory::qt_metacast
+32 QSharedMemory::qt_metacall
+40 QSharedMemory::~QSharedMemory
+48 QSharedMemory::~QSharedMemory
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QSharedMemory
+ size=16 align=8
+ base size=16 base align=8
+QSharedMemory (0x7fb2a0cc14d0) 0
+ vptr=((& QSharedMemory::_ZTV13QSharedMemory) + 16u)
+ QObject (0x7fb2a0cc1540) 0
+ primary-for QSharedMemory (0x7fb2a0cc14d0)
+
+Vtable for QSignalMapper
+QSignalMapper::_ZTV13QSignalMapper: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QSignalMapper)
+16 QSignalMapper::metaObject
+24 QSignalMapper::qt_metacast
+32 QSignalMapper::qt_metacall
+40 QSignalMapper::~QSignalMapper
+48 QSignalMapper::~QSignalMapper
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QSignalMapper
+ size=16 align=8
+ base size=16 base align=8
+QSignalMapper (0x7fb2a0cde2a0) 0
+ vptr=((& QSignalMapper::_ZTV13QSignalMapper) + 16u)
+ QObject (0x7fb2a0cde310) 0
+ primary-for QSignalMapper (0x7fb2a0cde2a0)
+
+Vtable for QSocketNotifier
+QSocketNotifier::_ZTV15QSocketNotifier: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QSocketNotifier)
+16 QSocketNotifier::metaObject
+24 QSocketNotifier::qt_metacast
+32 QSocketNotifier::qt_metacall
+40 QSocketNotifier::~QSocketNotifier
+48 QSocketNotifier::~QSocketNotifier
+56 QSocketNotifier::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QSocketNotifier
+ size=32 align=8
+ base size=25 base align=8
+QSocketNotifier (0x7fb2a0cf7690) 0
+ vptr=((& QSocketNotifier::_ZTV15QSocketNotifier) + 16u)
+ QObject (0x7fb2a0cf7700) 0
+ primary-for QSocketNotifier (0x7fb2a0cf7690)
+
+Class QSystemSemaphore
+ size=8 align=8
+ base size=8 base align=8
+QSystemSemaphore (0x7fb2a0b10a10) 0
+
+Vtable for QTimer
+QTimer::_ZTV6QTimer: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI6QTimer)
+16 QTimer::metaObject
+24 QTimer::qt_metacast
+32 QTimer::qt_metacall
+40 QTimer::~QTimer
+48 QTimer::~QTimer
+56 QObject::event
+64 QObject::eventFilter
+72 QTimer::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QTimer
+ size=32 align=8
+ base size=29 base align=8
+QTimer (0x7fb2a0b1b460) 0
+ vptr=((& QTimer::_ZTV6QTimer) + 16u)
+ QObject (0x7fb2a0b1b4d0) 0
+ primary-for QTimer (0x7fb2a0b1b460)
+
+Vtable for QTranslator
+QTranslator::_ZTV11QTranslator: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QTranslator)
+16 QTranslator::metaObject
+24 QTranslator::qt_metacast
+32 QTranslator::qt_metacall
+40 QTranslator::~QTranslator
+48 QTranslator::~QTranslator
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QTranslator::translate
+120 QTranslator::isEmpty
+
+Class QTranslator
+ size=16 align=8
+ base size=16 base align=8
+QTranslator (0x7fb2a0b409a0) 0
+ vptr=((& QTranslator::_ZTV11QTranslator) + 16u)
+ QObject (0x7fb2a0b40a10) 0
+ primary-for QTranslator (0x7fb2a0b409a0)
+
+Vtable for QLibrary
+QLibrary::_ZTV8QLibrary: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI8QLibrary)
+16 QLibrary::metaObject
+24 QLibrary::qt_metacast
+32 QLibrary::qt_metacall
+40 QLibrary::~QLibrary
+48 QLibrary::~QLibrary
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QLibrary
+ size=32 align=8
+ base size=25 base align=8
+QLibrary (0x7fb2a0b5a930) 0
+ vptr=((& QLibrary::_ZTV8QLibrary) + 16u)
+ QObject (0x7fb2a0b5a9a0) 0
+ primary-for QLibrary (0x7fb2a0b5a930)
+
+Vtable for QPluginLoader
+QPluginLoader::_ZTV13QPluginLoader: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QPluginLoader)
+16 QPluginLoader::metaObject
+24 QPluginLoader::qt_metacast
+32 QPluginLoader::qt_metacall
+40 QPluginLoader::~QPluginLoader
+48 QPluginLoader::~QPluginLoader
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QPluginLoader
+ size=32 align=8
+ base size=25 base align=8
+QPluginLoader (0x7fb2a0ba73f0) 0
+ vptr=((& QPluginLoader::_ZTV13QPluginLoader) + 16u)
+ QObject (0x7fb2a0ba7460) 0
+ primary-for QPluginLoader (0x7fb2a0ba73f0)
+
+Class QUuid
+ size=16 align=4
+ base size=16 base align=4
+QUuid (0x7fb2a0bb7b60) 0
+
+Class QReadWriteLock
+ size=8 align=8
+ base size=8 base align=8
+QReadWriteLock (0x7fb2a0bdf4d0) 0
+
+Class QReadLocker
+ size=8 align=8
+ base size=8 base align=8
+QReadLocker (0x7fb2a0bdfb60) 0
+
+Class QWriteLocker
+ size=8 align=8
+ base size=8 base align=8
+QWriteLocker (0x7fb2a0bfdee0) 0
+
+Class QThreadStorageData
+ size=4 align=4
+ base size=4 base align=4
+QThreadStorageData (0x7fb2a0a172a0) 0
+
+Vtable for QAbstractAnimation
+QAbstractAnimation::_ZTV18QAbstractAnimation: 18u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QAbstractAnimation)
+16 QAbstractAnimation::metaObject
+24 QAbstractAnimation::qt_metacast
+32 QAbstractAnimation::qt_metacall
+40 QAbstractAnimation::~QAbstractAnimation
+48 QAbstractAnimation::~QAbstractAnimation
+56 QAbstractAnimation::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 QAbstractAnimation::updateState
+136 QAbstractAnimation::updateDirection
+
+Class QAbstractAnimation
+ size=16 align=8
+ base size=16 base align=8
+QAbstractAnimation (0x7fb2a0a17a10) 0
+ vptr=((& QAbstractAnimation::_ZTV18QAbstractAnimation) + 16u)
+ QObject (0x7fb2a0a17a80) 0
+ primary-for QAbstractAnimation (0x7fb2a0a17a10)
+
+Vtable for QAnimationGroup
+QAnimationGroup::_ZTV15QAnimationGroup: 18u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QAnimationGroup)
+16 QAnimationGroup::metaObject
+24 QAnimationGroup::qt_metacast
+32 QAnimationGroup::qt_metacall
+40 QAnimationGroup::~QAnimationGroup
+48 QAnimationGroup::~QAnimationGroup
+56 QAnimationGroup::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 QAbstractAnimation::updateState
+136 QAbstractAnimation::updateDirection
+
+Class QAnimationGroup
+ size=16 align=8
+ base size=16 base align=8
+QAnimationGroup (0x7fb2a0a4f150) 0
+ vptr=((& QAnimationGroup::_ZTV15QAnimationGroup) + 16u)
+ QAbstractAnimation (0x7fb2a0a4f1c0) 0
+ primary-for QAnimationGroup (0x7fb2a0a4f150)
+ QObject (0x7fb2a0a4f230) 0
+ primary-for QAbstractAnimation (0x7fb2a0a4f1c0)
+
+Vtable for QParallelAnimationGroup
+QParallelAnimationGroup::_ZTV23QParallelAnimationGroup: 18u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI23QParallelAnimationGroup)
+16 QParallelAnimationGroup::metaObject
+24 QParallelAnimationGroup::qt_metacast
+32 QParallelAnimationGroup::qt_metacall
+40 QParallelAnimationGroup::~QParallelAnimationGroup
+48 QParallelAnimationGroup::~QParallelAnimationGroup
+56 QParallelAnimationGroup::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QParallelAnimationGroup::duration
+120 QParallelAnimationGroup::updateCurrentTime
+128 QParallelAnimationGroup::updateState
+136 QParallelAnimationGroup::updateDirection
+
+Class QParallelAnimationGroup
+ size=16 align=8
+ base size=16 base align=8
+QParallelAnimationGroup (0x7fb2a0a68000) 0
+ vptr=((& QParallelAnimationGroup::_ZTV23QParallelAnimationGroup) + 16u)
+ QAnimationGroup (0x7fb2a0a68070) 0
+ primary-for QParallelAnimationGroup (0x7fb2a0a68000)
+ QAbstractAnimation (0x7fb2a0a680e0) 0
+ primary-for QAnimationGroup (0x7fb2a0a68070)
+ QObject (0x7fb2a0a68150) 0
+ primary-for QAbstractAnimation (0x7fb2a0a680e0)
+
+Vtable for QPauseAnimation
+QPauseAnimation::_ZTV15QPauseAnimation: 18u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QPauseAnimation)
+16 QPauseAnimation::metaObject
+24 QPauseAnimation::qt_metacast
+32 QPauseAnimation::qt_metacall
+40 QPauseAnimation::~QPauseAnimation
+48 QPauseAnimation::~QPauseAnimation
+56 QPauseAnimation::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QPauseAnimation::duration
+120 QPauseAnimation::updateCurrentTime
+128 QAbstractAnimation::updateState
+136 QAbstractAnimation::updateDirection
+
+Class QPauseAnimation
+ size=16 align=8
+ base size=16 base align=8
+QPauseAnimation (0x7fb2a0a76e70) 0
+ vptr=((& QPauseAnimation::_ZTV15QPauseAnimation) + 16u)
+ QAbstractAnimation (0x7fb2a0a76ee0) 0
+ primary-for QPauseAnimation (0x7fb2a0a76e70)
+ QObject (0x7fb2a0a76f50) 0
+ primary-for QAbstractAnimation (0x7fb2a0a76ee0)
+
+Vtable for QVariantAnimation
+QVariantAnimation::_ZTV17QVariantAnimation: 20u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QVariantAnimation)
+16 QVariantAnimation::metaObject
+24 QVariantAnimation::qt_metacast
+32 QVariantAnimation::qt_metacall
+40 QVariantAnimation::~QVariantAnimation
+48 QVariantAnimation::~QVariantAnimation
+56 QVariantAnimation::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QVariantAnimation::duration
+120 QVariantAnimation::updateCurrentTime
+128 QVariantAnimation::updateState
+136 QAbstractAnimation::updateDirection
+144 __cxa_pure_virtual
+152 QVariantAnimation::interpolated
+
+Class QVariantAnimation
+ size=16 align=8
+ base size=16 base align=8
+QVariantAnimation (0x7fb2a0a938c0) 0
+ vptr=((& QVariantAnimation::_ZTV17QVariantAnimation) + 16u)
+ QAbstractAnimation (0x7fb2a0a93930) 0
+ primary-for QVariantAnimation (0x7fb2a0a938c0)
+ QObject (0x7fb2a0a939a0) 0
+ primary-for QAbstractAnimation (0x7fb2a0a93930)
+
+Vtable for QPropertyAnimation
+QPropertyAnimation::_ZTV18QPropertyAnimation: 20u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QPropertyAnimation)
+16 QPropertyAnimation::metaObject
+24 QPropertyAnimation::qt_metacast
+32 QPropertyAnimation::qt_metacall
+40 QPropertyAnimation::~QPropertyAnimation
+48 QPropertyAnimation::~QPropertyAnimation
+56 QPropertyAnimation::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QVariantAnimation::duration
+120 QVariantAnimation::updateCurrentTime
+128 QPropertyAnimation::updateState
+136 QAbstractAnimation::updateDirection
+144 QPropertyAnimation::updateCurrentValue
+152 QVariantAnimation::interpolated
+
+Class QPropertyAnimation
+ size=16 align=8
+ base size=16 base align=8
+QPropertyAnimation (0x7fb2a0ab1b60) 0
+ vptr=((& QPropertyAnimation::_ZTV18QPropertyAnimation) + 16u)
+ QVariantAnimation (0x7fb2a0ab1bd0) 0
+ primary-for QPropertyAnimation (0x7fb2a0ab1b60)
+ QAbstractAnimation (0x7fb2a0ab1c40) 0
+ primary-for QVariantAnimation (0x7fb2a0ab1bd0)
+ QObject (0x7fb2a0ab1cb0) 0
+ primary-for QAbstractAnimation (0x7fb2a0ab1c40)
+
+Vtable for QSequentialAnimationGroup
+QSequentialAnimationGroup::_ZTV25QSequentialAnimationGroup: 18u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI25QSequentialAnimationGroup)
+16 QSequentialAnimationGroup::metaObject
+24 QSequentialAnimationGroup::qt_metacast
+32 QSequentialAnimationGroup::qt_metacall
+40 QSequentialAnimationGroup::~QSequentialAnimationGroup
+48 QSequentialAnimationGroup::~QSequentialAnimationGroup
+56 QSequentialAnimationGroup::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QSequentialAnimationGroup::duration
+120 QSequentialAnimationGroup::updateCurrentTime
+128 QSequentialAnimationGroup::updateState
+136 QSequentialAnimationGroup::updateDirection
+
+Class QSequentialAnimationGroup
+ size=16 align=8
+ base size=16 base align=8
+QSequentialAnimationGroup (0x7fb2a0acab60) 0
+ vptr=((& QSequentialAnimationGroup::_ZTV25QSequentialAnimationGroup) + 16u)
+ QAnimationGroup (0x7fb2a0acabd0) 0
+ primary-for QSequentialAnimationGroup (0x7fb2a0acab60)
+ QAbstractAnimation (0x7fb2a0acac40) 0
+ primary-for QAnimationGroup (0x7fb2a0acabd0)
+ QObject (0x7fb2a0acacb0) 0
+ primary-for QAbstractAnimation (0x7fb2a0acac40)
+
+Class QColor
+ size=16 align=4
+ base size=14 base align=4
+QColor (0x7fb2a0af4620) 0
+
+Class QRegion::QRegionData
+ size=32 align=8
+ base size=32 base align=8
+QRegion::QRegionData (0x7fb2a096c5b0) 0
+
+Class QRegion
+ size=8 align=8
+ base size=8 base align=8
+QRegion (0x7fb2a0947cb0) 0
+
+Class QKeySequence
+ size=8 align=8
+ base size=8 base align=8
+QKeySequence (0x7fb2a0981e00) 0
+
+Vtable for QMimeSource
+QMimeSource::_ZTV11QMimeSource: 7u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QMimeSource)
+16 QMimeSource::~QMimeSource
+24 QMimeSource::~QMimeSource
+32 __cxa_pure_virtual
+40 QMimeSource::provides
+48 __cxa_pure_virtual
+
+Class QMimeSource
+ size=8 align=8
+ base size=8 base align=8
+QMimeSource (0x7fb2a09c0770) 0 nearly-empty
+ vptr=((& QMimeSource::_ZTV11QMimeSource) + 16u)
+
+Vtable for QDrag
+QDrag::_ZTV5QDrag: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI5QDrag)
+16 QDrag::metaObject
+24 QDrag::qt_metacast
+32 QDrag::qt_metacall
+40 QDrag::~QDrag
+48 QDrag::~QDrag
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QDrag
+ size=16 align=8
+ base size=16 base align=8
+QDrag (0x7fb2a09c08c0) 0
+ vptr=((& QDrag::_ZTV5QDrag) + 16u)
+ QObject (0x7fb2a09c0930) 0
+ primary-for QDrag (0x7fb2a09c08c0)
+
+Vtable for QInputEvent
+QInputEvent::_ZTV11QInputEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QInputEvent)
+16 QInputEvent::~QInputEvent
+24 QInputEvent::~QInputEvent
+
+Class QInputEvent
+ size=24 align=8
+ base size=24 base align=8
+QInputEvent (0x7fb2a09e6070) 0
+ vptr=((& QInputEvent::_ZTV11QInputEvent) + 16u)
+ QEvent (0x7fb2a09e60e0) 0
+ primary-for QInputEvent (0x7fb2a09e6070)
+
+Vtable for QMouseEvent
+QMouseEvent::_ZTV11QMouseEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QMouseEvent)
+16 QMouseEvent::~QMouseEvent
+24 QMouseEvent::~QMouseEvent
+
+Class QMouseEvent
+ size=48 align=8
+ base size=48 base align=8
+QMouseEvent (0x7fb2a09e6930) 0
+ vptr=((& QMouseEvent::_ZTV11QMouseEvent) + 16u)
+ QInputEvent (0x7fb2a09e69a0) 0
+ primary-for QMouseEvent (0x7fb2a09e6930)
+ QEvent (0x7fb2a09e6a10) 0
+ primary-for QInputEvent (0x7fb2a09e69a0)
+
+Vtable for QHoverEvent
+QHoverEvent::_ZTV11QHoverEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QHoverEvent)
+16 QHoverEvent::~QHoverEvent
+24 QHoverEvent::~QHoverEvent
+
+Class QHoverEvent
+ size=40 align=8
+ base size=36 base align=8
+QHoverEvent (0x7fb2a0813700) 0
+ vptr=((& QHoverEvent::_ZTV11QHoverEvent) + 16u)
+ QEvent (0x7fb2a0813770) 0
+ primary-for QHoverEvent (0x7fb2a0813700)
+
+Vtable for QWheelEvent
+QWheelEvent::_ZTV11QWheelEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QWheelEvent)
+16 QWheelEvent::~QWheelEvent
+24 QWheelEvent::~QWheelEvent
+
+Class QWheelEvent
+ size=56 align=8
+ base size=52 base align=8
+QWheelEvent (0x7fb2a0813e70) 0
+ vptr=((& QWheelEvent::_ZTV11QWheelEvent) + 16u)
+ QInputEvent (0x7fb2a0813ee0) 0
+ primary-for QWheelEvent (0x7fb2a0813e70)
+ QEvent (0x7fb2a0813f50) 0
+ primary-for QInputEvent (0x7fb2a0813ee0)
+
+Vtable for QTabletEvent
+QTabletEvent::_ZTV12QTabletEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QTabletEvent)
+16 QTabletEvent::~QTabletEvent
+24 QTabletEvent::~QTabletEvent
+
+Class QTabletEvent
+ size=120 align=8
+ base size=120 base align=8
+QTabletEvent (0x7fb2a082ec40) 0
+ vptr=((& QTabletEvent::_ZTV12QTabletEvent) + 16u)
+ QInputEvent (0x7fb2a082ecb0) 0
+ primary-for QTabletEvent (0x7fb2a082ec40)
+ QEvent (0x7fb2a082ed20) 0
+ primary-for QInputEvent (0x7fb2a082ecb0)
+
+Vtable for QKeyEvent
+QKeyEvent::_ZTV9QKeyEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QKeyEvent)
+16 QKeyEvent::~QKeyEvent
+24 QKeyEvent::~QKeyEvent
+
+Class QKeyEvent
+ size=40 align=8
+ base size=39 base align=8
+QKeyEvent (0x7fb2a084cf50) 0
+ vptr=((& QKeyEvent::_ZTV9QKeyEvent) + 16u)
+ QInputEvent (0x7fb2a0852000) 0
+ primary-for QKeyEvent (0x7fb2a084cf50)
+ QEvent (0x7fb2a0852070) 0
+ primary-for QInputEvent (0x7fb2a0852000)
+
+Vtable for QFocusEvent
+QFocusEvent::_ZTV11QFocusEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QFocusEvent)
+16 QFocusEvent::~QFocusEvent
+24 QFocusEvent::~QFocusEvent
+
+Class QFocusEvent
+ size=24 align=8
+ base size=24 base align=8
+QFocusEvent (0x7fb2a0875930) 0
+ vptr=((& QFocusEvent::_ZTV11QFocusEvent) + 16u)
+ QEvent (0x7fb2a08759a0) 0
+ primary-for QFocusEvent (0x7fb2a0875930)
+
+Vtable for QPaintEvent
+QPaintEvent::_ZTV11QPaintEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QPaintEvent)
+16 QPaintEvent::~QPaintEvent
+24 QPaintEvent::~QPaintEvent
+
+Class QPaintEvent
+ size=56 align=8
+ base size=49 base align=8
+QPaintEvent (0x7fb2a0883380) 0
+ vptr=((& QPaintEvent::_ZTV11QPaintEvent) + 16u)
+ QEvent (0x7fb2a08833f0) 0
+ primary-for QPaintEvent (0x7fb2a0883380)
+
+Vtable for QUpdateLaterEvent
+QUpdateLaterEvent::_ZTV17QUpdateLaterEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QUpdateLaterEvent)
+16 QUpdateLaterEvent::~QUpdateLaterEvent
+24 QUpdateLaterEvent::~QUpdateLaterEvent
+
+Class QUpdateLaterEvent
+ size=32 align=8
+ base size=32 base align=8
+QUpdateLaterEvent (0x7fb2a088e000) 0
+ vptr=((& QUpdateLaterEvent::_ZTV17QUpdateLaterEvent) + 16u)
+ QEvent (0x7fb2a088e070) 0
+ primary-for QUpdateLaterEvent (0x7fb2a088e000)
+
+Vtable for QMoveEvent
+QMoveEvent::_ZTV10QMoveEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QMoveEvent)
+16 QMoveEvent::~QMoveEvent
+24 QMoveEvent::~QMoveEvent
+
+Class QMoveEvent
+ size=40 align=8
+ base size=36 base align=8
+QMoveEvent (0x7fb2a088e460) 0
+ vptr=((& QMoveEvent::_ZTV10QMoveEvent) + 16u)
+ QEvent (0x7fb2a088e4d0) 0
+ primary-for QMoveEvent (0x7fb2a088e460)
+
+Vtable for QResizeEvent
+QResizeEvent::_ZTV12QResizeEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QResizeEvent)
+16 QResizeEvent::~QResizeEvent
+24 QResizeEvent::~QResizeEvent
+
+Class QResizeEvent
+ size=40 align=8
+ base size=36 base align=8
+QResizeEvent (0x7fb2a088eaf0) 0
+ vptr=((& QResizeEvent::_ZTV12QResizeEvent) + 16u)
+ QEvent (0x7fb2a088eb60) 0
+ primary-for QResizeEvent (0x7fb2a088eaf0)
+
+Vtable for QCloseEvent
+QCloseEvent::_ZTV11QCloseEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QCloseEvent)
+16 QCloseEvent::~QCloseEvent
+24 QCloseEvent::~QCloseEvent
+
+Class QCloseEvent
+ size=24 align=8
+ base size=20 base align=8
+QCloseEvent (0x7fb2a089f070) 0
+ vptr=((& QCloseEvent::_ZTV11QCloseEvent) + 16u)
+ QEvent (0x7fb2a089f0e0) 0
+ primary-for QCloseEvent (0x7fb2a089f070)
+
+Vtable for QIconDragEvent
+QIconDragEvent::_ZTV14QIconDragEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QIconDragEvent)
+16 QIconDragEvent::~QIconDragEvent
+24 QIconDragEvent::~QIconDragEvent
+
+Class QIconDragEvent
+ size=24 align=8
+ base size=20 base align=8
+QIconDragEvent (0x7fb2a089f2a0) 0
+ vptr=((& QIconDragEvent::_ZTV14QIconDragEvent) + 16u)
+ QEvent (0x7fb2a089f310) 0
+ primary-for QIconDragEvent (0x7fb2a089f2a0)
+
+Vtable for QShowEvent
+QShowEvent::_ZTV10QShowEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QShowEvent)
+16 QShowEvent::~QShowEvent
+24 QShowEvent::~QShowEvent
+
+Class QShowEvent
+ size=24 align=8
+ base size=20 base align=8
+QShowEvent (0x7fb2a089f4d0) 0
+ vptr=((& QShowEvent::_ZTV10QShowEvent) + 16u)
+ QEvent (0x7fb2a089f540) 0
+ primary-for QShowEvent (0x7fb2a089f4d0)
+
+Vtable for QHideEvent
+QHideEvent::_ZTV10QHideEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QHideEvent)
+16 QHideEvent::~QHideEvent
+24 QHideEvent::~QHideEvent
+
+Class QHideEvent
+ size=24 align=8
+ base size=20 base align=8
+QHideEvent (0x7fb2a089f700) 0
+ vptr=((& QHideEvent::_ZTV10QHideEvent) + 16u)
+ QEvent (0x7fb2a089f770) 0
+ primary-for QHideEvent (0x7fb2a089f700)
+
+Vtable for QContextMenuEvent
+QContextMenuEvent::_ZTV17QContextMenuEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QContextMenuEvent)
+16 QContextMenuEvent::~QContextMenuEvent
+24 QContextMenuEvent::~QContextMenuEvent
+
+Class QContextMenuEvent
+ size=48 align=8
+ base size=41 base align=8
+QContextMenuEvent (0x7fb2a089f930) 0
+ vptr=((& QContextMenuEvent::_ZTV17QContextMenuEvent) + 16u)
+ QInputEvent (0x7fb2a089f9a0) 0
+ primary-for QContextMenuEvent (0x7fb2a089f930)
+ QEvent (0x7fb2a089fa10) 0
+ primary-for QInputEvent (0x7fb2a089f9a0)
+
+Class QInputMethodEvent::Attribute
+ size=32 align=8
+ base size=32 base align=8
+QInputMethodEvent::Attribute (0x7fb2a08b94d0) 0
+
+Vtable for QInputMethodEvent
+QInputMethodEvent::_ZTV17QInputMethodEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QInputMethodEvent)
+16 QInputMethodEvent::~QInputMethodEvent
+24 QInputMethodEvent::~QInputMethodEvent
+
+Class QInputMethodEvent
+ size=56 align=8
+ base size=56 base align=8
+QInputMethodEvent (0x7fb2a08b93f0) 0
+ vptr=((& QInputMethodEvent::_ZTV17QInputMethodEvent) + 16u)
+ QEvent (0x7fb2a08b9460) 0
+ primary-for QInputMethodEvent (0x7fb2a08b93f0)
+
+Vtable for QDropEvent
+QDropEvent::_ZTV10QDropEvent: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QDropEvent)
+16 QDropEvent::~QDropEvent
+24 QDropEvent::~QDropEvent
+32 QDropEvent::format
+40 QDropEvent::encodedData
+48 QDropEvent::provides
+56 (int (*)(...))-0x00000000000000018
+64 (int (*)(...))(& _ZTI10QDropEvent)
+72 QDropEvent::_ZThn24_N10QDropEventD1Ev
+80 QDropEvent::_ZThn24_N10QDropEventD0Ev
+88 QDropEvent::_ZThn24_NK10QDropEvent6formatEi
+96 QDropEvent::_ZThn24_NK10QDropEvent8providesEPKc
+104 QDropEvent::_ZThn24_NK10QDropEvent11encodedDataEPKc
+
+Class QDropEvent
+ size=80 align=8
+ base size=80 base align=8
+QDropEvent (0x7fb2a08f3200) 0
+ vptr=((& QDropEvent::_ZTV10QDropEvent) + 16u)
+ QEvent (0x7fb2a08f2bd0) 0
+ primary-for QDropEvent (0x7fb2a08f3200)
+ QMimeSource (0x7fb2a08f2c40) 24 nearly-empty
+ vptr=((& QDropEvent::_ZTV10QDropEvent) + 72u)
+
+Vtable for QDragMoveEvent
+QDragMoveEvent::_ZTV14QDragMoveEvent: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QDragMoveEvent)
+16 QDragMoveEvent::~QDragMoveEvent
+24 QDragMoveEvent::~QDragMoveEvent
+32 QDropEvent::format
+40 QDropEvent::encodedData
+48 QDropEvent::provides
+56 (int (*)(...))-0x00000000000000018
+64 (int (*)(...))(& _ZTI14QDragMoveEvent)
+72 QDragMoveEvent::_ZThn24_N14QDragMoveEventD1Ev
+80 QDragMoveEvent::_ZThn24_N14QDragMoveEventD0Ev
+88 QDropEvent::_ZThn24_NK10QDropEvent6formatEi
+96 QDropEvent::_ZThn24_NK10QDropEvent8providesEPKc
+104 QDropEvent::_ZThn24_NK10QDropEvent11encodedDataEPKc
+
+Class QDragMoveEvent
+ size=96 align=8
+ base size=96 base align=8
+QDragMoveEvent (0x7fb2a070e930) 0
+ vptr=((& QDragMoveEvent::_ZTV14QDragMoveEvent) + 16u)
+ QDropEvent (0x7fb2a090a900) 0
+ primary-for QDragMoveEvent (0x7fb2a070e930)
+ QEvent (0x7fb2a070e9a0) 0
+ primary-for QDropEvent (0x7fb2a090a900)
+ QMimeSource (0x7fb2a070ea10) 24 nearly-empty
+ vptr=((& QDragMoveEvent::_ZTV14QDragMoveEvent) + 72u)
+
+Vtable for QDragEnterEvent
+QDragEnterEvent::_ZTV15QDragEnterEvent: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QDragEnterEvent)
+16 QDragEnterEvent::~QDragEnterEvent
+24 QDragEnterEvent::~QDragEnterEvent
+32 QDropEvent::format
+40 QDropEvent::encodedData
+48 QDropEvent::provides
+56 (int (*)(...))-0x00000000000000018
+64 (int (*)(...))(& _ZTI15QDragEnterEvent)
+72 QDragEnterEvent::_ZThn24_N15QDragEnterEventD1Ev
+80 QDragEnterEvent::_ZThn24_N15QDragEnterEventD0Ev
+88 QDropEvent::_ZThn24_NK10QDropEvent6formatEi
+96 QDropEvent::_ZThn24_NK10QDropEvent8providesEPKc
+104 QDropEvent::_ZThn24_NK10QDropEvent11encodedDataEPKc
+
+Class QDragEnterEvent
+ size=96 align=8
+ base size=96 base align=8
+QDragEnterEvent (0x7fb2a071d0e0) 0
+ vptr=((& QDragEnterEvent::_ZTV15QDragEnterEvent) + 16u)
+ QDragMoveEvent (0x7fb2a071d150) 0
+ primary-for QDragEnterEvent (0x7fb2a071d0e0)
+ QDropEvent (0x7fb2a071b280) 0
+ primary-for QDragMoveEvent (0x7fb2a071d150)
+ QEvent (0x7fb2a071d1c0) 0
+ primary-for QDropEvent (0x7fb2a071b280)
+ QMimeSource (0x7fb2a071d230) 24 nearly-empty
+ vptr=((& QDragEnterEvent::_ZTV15QDragEnterEvent) + 72u)
+
+Vtable for QDragResponseEvent
+QDragResponseEvent::_ZTV18QDragResponseEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QDragResponseEvent)
+16 QDragResponseEvent::~QDragResponseEvent
+24 QDragResponseEvent::~QDragResponseEvent
+
+Class QDragResponseEvent
+ size=24 align=8
+ base size=21 base align=8
+QDragResponseEvent (0x7fb2a071d3f0) 0
+ vptr=((& QDragResponseEvent::_ZTV18QDragResponseEvent) + 16u)
+ QEvent (0x7fb2a071d460) 0
+ primary-for QDragResponseEvent (0x7fb2a071d3f0)
+
+Vtable for QDragLeaveEvent
+QDragLeaveEvent::_ZTV15QDragLeaveEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QDragLeaveEvent)
+16 QDragLeaveEvent::~QDragLeaveEvent
+24 QDragLeaveEvent::~QDragLeaveEvent
+
+Class QDragLeaveEvent
+ size=24 align=8
+ base size=20 base align=8
+QDragLeaveEvent (0x7fb2a071d850) 0
+ vptr=((& QDragLeaveEvent::_ZTV15QDragLeaveEvent) + 16u)
+ QEvent (0x7fb2a071d8c0) 0
+ primary-for QDragLeaveEvent (0x7fb2a071d850)
+
+Vtable for QHelpEvent
+QHelpEvent::_ZTV10QHelpEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QHelpEvent)
+16 QHelpEvent::~QHelpEvent
+24 QHelpEvent::~QHelpEvent
+
+Class QHelpEvent
+ size=40 align=8
+ base size=36 base align=8
+QHelpEvent (0x7fb2a071da80) 0
+ vptr=((& QHelpEvent::_ZTV10QHelpEvent) + 16u)
+ QEvent (0x7fb2a071daf0) 0
+ primary-for QHelpEvent (0x7fb2a071da80)
+
+Vtable for QStatusTipEvent
+QStatusTipEvent::_ZTV15QStatusTipEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QStatusTipEvent)
+16 QStatusTipEvent::~QStatusTipEvent
+24 QStatusTipEvent::~QStatusTipEvent
+
+Class QStatusTipEvent
+ size=32 align=8
+ base size=32 base align=8
+QStatusTipEvent (0x7fb2a072faf0) 0
+ vptr=((& QStatusTipEvent::_ZTV15QStatusTipEvent) + 16u)
+ QEvent (0x7fb2a072fb60) 0
+ primary-for QStatusTipEvent (0x7fb2a072faf0)
+
+Vtable for QWhatsThisClickedEvent
+QWhatsThisClickedEvent::_ZTV22QWhatsThisClickedEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI22QWhatsThisClickedEvent)
+16 QWhatsThisClickedEvent::~QWhatsThisClickedEvent
+24 QWhatsThisClickedEvent::~QWhatsThisClickedEvent
+
+Class QWhatsThisClickedEvent
+ size=32 align=8
+ base size=32 base align=8
+QWhatsThisClickedEvent (0x7fb2a072fcb0) 0
+ vptr=((& QWhatsThisClickedEvent::_ZTV22QWhatsThisClickedEvent) + 16u)
+ QEvent (0x7fb2a0738000) 0
+ primary-for QWhatsThisClickedEvent (0x7fb2a072fcb0)
+
+Vtable for QActionEvent
+QActionEvent::_ZTV12QActionEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QActionEvent)
+16 QActionEvent::~QActionEvent
+24 QActionEvent::~QActionEvent
+
+Class QActionEvent
+ size=40 align=8
+ base size=40 base align=8
+QActionEvent (0x7fb2a0738460) 0
+ vptr=((& QActionEvent::_ZTV12QActionEvent) + 16u)
+ QEvent (0x7fb2a07384d0) 0
+ primary-for QActionEvent (0x7fb2a0738460)
+
+Vtable for QFileOpenEvent
+QFileOpenEvent::_ZTV14QFileOpenEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QFileOpenEvent)
+16 QFileOpenEvent::~QFileOpenEvent
+24 QFileOpenEvent::~QFileOpenEvent
+
+Class QFileOpenEvent
+ size=32 align=8
+ base size=32 base align=8
+QFileOpenEvent (0x7fb2a0738af0) 0
+ vptr=((& QFileOpenEvent::_ZTV14QFileOpenEvent) + 16u)
+ QEvent (0x7fb2a0738b60) 0
+ primary-for QFileOpenEvent (0x7fb2a0738af0)
+
+Vtable for QToolBarChangeEvent
+QToolBarChangeEvent::_ZTV19QToolBarChangeEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QToolBarChangeEvent)
+16 QToolBarChangeEvent::~QToolBarChangeEvent
+24 QToolBarChangeEvent::~QToolBarChangeEvent
+
+Class QToolBarChangeEvent
+ size=24 align=8
+ base size=21 base align=8
+QToolBarChangeEvent (0x7fb2a0738620) 0
+ vptr=((& QToolBarChangeEvent::_ZTV19QToolBarChangeEvent) + 16u)
+ QEvent (0x7fb2a0738d20) 0
+ primary-for QToolBarChangeEvent (0x7fb2a0738620)
+
+Vtable for QShortcutEvent
+QShortcutEvent::_ZTV14QShortcutEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QShortcutEvent)
+16 QShortcutEvent::~QShortcutEvent
+24 QShortcutEvent::~QShortcutEvent
+
+Class QShortcutEvent
+ size=40 align=8
+ base size=40 base align=8
+QShortcutEvent (0x7fb2a074b460) 0
+ vptr=((& QShortcutEvent::_ZTV14QShortcutEvent) + 16u)
+ QEvent (0x7fb2a074b4d0) 0
+ primary-for QShortcutEvent (0x7fb2a074b460)
+
+Vtable for QClipboardEvent
+QClipboardEvent::_ZTV15QClipboardEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QClipboardEvent)
+16 QClipboardEvent::~QClipboardEvent
+24 QClipboardEvent::~QClipboardEvent
+
+Class QClipboardEvent
+ size=24 align=8
+ base size=20 base align=8
+QClipboardEvent (0x7fb2a0756310) 0
+ vptr=((& QClipboardEvent::_ZTV15QClipboardEvent) + 16u)
+ QEvent (0x7fb2a0756380) 0
+ primary-for QClipboardEvent (0x7fb2a0756310)
+
+Vtable for QWindowStateChangeEvent
+QWindowStateChangeEvent::_ZTV23QWindowStateChangeEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI23QWindowStateChangeEvent)
+16 QWindowStateChangeEvent::~QWindowStateChangeEvent
+24 QWindowStateChangeEvent::~QWindowStateChangeEvent
+
+Class QWindowStateChangeEvent
+ size=24 align=8
+ base size=24 base align=8
+QWindowStateChangeEvent (0x7fb2a0756770) 0
+ vptr=((& QWindowStateChangeEvent::_ZTV23QWindowStateChangeEvent) + 16u)
+ QEvent (0x7fb2a07567e0) 0
+ primary-for QWindowStateChangeEvent (0x7fb2a0756770)
+
+Vtable for QMenubarUpdatedEvent
+QMenubarUpdatedEvent::_ZTV20QMenubarUpdatedEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI20QMenubarUpdatedEvent)
+16 QMenubarUpdatedEvent::~QMenubarUpdatedEvent
+24 QMenubarUpdatedEvent::~QMenubarUpdatedEvent
+
+Class QMenubarUpdatedEvent
+ size=32 align=8
+ base size=32 base align=8
+QMenubarUpdatedEvent (0x7fb2a0756cb0) 0
+ vptr=((& QMenubarUpdatedEvent::_ZTV20QMenubarUpdatedEvent) + 16u)
+ QEvent (0x7fb2a0756d20) 0
+ primary-for QMenubarUpdatedEvent (0x7fb2a0756cb0)
+
+Class QTouchEvent::TouchPoint
+ size=8 align=8
+ base size=8 base align=8
+QTouchEvent::TouchPoint (0x7fb2a07677e0) 0
+
+Vtable for QTouchEvent
+QTouchEvent::_ZTV11QTouchEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QTouchEvent)
+16 QTouchEvent::~QTouchEvent
+24 QTouchEvent::~QTouchEvent
+
+Class QTouchEvent
+ size=48 align=8
+ base size=48 base align=8
+QTouchEvent (0x7fb2a0767690) 0
+ vptr=((& QTouchEvent::_ZTV11QTouchEvent) + 16u)
+ QInputEvent (0x7fb2a0767700) 0
+ primary-for QTouchEvent (0x7fb2a0767690)
+ QEvent (0x7fb2a0767770) 0
+ primary-for QInputEvent (0x7fb2a0767700)
+
+Vtable for QGestureEvent
+QGestureEvent::_ZTV13QGestureEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QGestureEvent)
+16 QGestureEvent::~QGestureEvent
+24 QGestureEvent::~QGestureEvent
+
+Class QGestureEvent
+ size=24 align=8
+ base size=20 base align=8
+QGestureEvent (0x7fb2a07aed20) 0
+ vptr=((& QGestureEvent::_ZTV13QGestureEvent) + 16u)
+ QEvent (0x7fb2a07aed90) 0
+ primary-for QGestureEvent (0x7fb2a07aed20)
+
+Class QFont
+ size=16 align=8
+ base size=12 base align=8
+QFont (0x7fb2a07b3310) 0
+
+Class QPolygon
+ size=8 align=8
+ base size=8 base align=8
+QPolygon (0x7fb2a08040e0) 0
+ QVector<QPoint> (0x7fb2a0804150) 0
+
+Class QPolygonF
+ size=8 align=8
+ base size=8 base align=8
+QPolygonF (0x7fb2a0642620) 0
+ QVector<QPointF> (0x7fb2a0642690) 0
+
+Class QMatrix
+ size=48 align=8
+ base size=48 base align=8
+QMatrix (0x7fb2a0684770) 0
+
+Class QPainterPath::Element
+ size=24 align=8
+ base size=24 base align=8
+QPainterPath::Element (0x7fb2a06c88c0) 0
+
+Class QPainterPath
+ size=8 align=8
+ base size=8 base align=8
+QPainterPath (0x7fb2a06c8850) 0
+
+Class QPainterPathPrivate
+ size=16 align=8
+ base size=16 base align=8
+QPainterPathPrivate (0x7fb2a0523000) 0
+
+Class QPainterPathStroker
+ size=8 align=8
+ base size=8 base align=8
+QPainterPathStroker (0x7fb2a0523af0) 0
+
+Class QTransform
+ size=88 align=8
+ base size=88 base align=8
+QTransform (0x7fb2a058eaf0) 0
+
+Vtable for QPaintDevice
+QPaintDevice::_ZTV12QPaintDevice: 7u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QPaintDevice)
+16 QPaintDevice::~QPaintDevice
+24 QPaintDevice::~QPaintDevice
+32 QPaintDevice::devType
+40 __cxa_pure_virtual
+48 QPaintDevice::metric
+
+Class QPaintDevice
+ size=16 align=8
+ base size=10 base align=8
+QPaintDevice (0x7fb2a043b150) 0
+ vptr=((& QPaintDevice::_ZTV12QPaintDevice) + 16u)
+
+Class QImageTextKeyLang
+ size=16 align=8
+ base size=16 base align=8
+QImageTextKeyLang (0x7fb2a0460070) 0
+
+Vtable for QImage
+QImage::_ZTV6QImage: 7u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI6QImage)
+16 QImage::~QImage
+24 QImage::~QImage
+32 QImage::devType
+40 QImage::paintEngine
+48 QImage::metric
+
+Class QImage
+ size=24 align=8
+ base size=24 base align=8
+QImage (0x7fb2a048a8c0) 0
+ vptr=((& QImage::_ZTV6QImage) + 16u)
+ QPaintDevice (0x7fb2a048a930) 0
+ primary-for QImage (0x7fb2a048a8c0)
+
+Vtable for QPixmap
+QPixmap::_ZTV7QPixmap: 7u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QPixmap)
+16 QPixmap::~QPixmap
+24 QPixmap::~QPixmap
+32 QPixmap::devType
+40 QPixmap::paintEngine
+48 QPixmap::metric
+
+Class QPixmap
+ size=24 align=8
+ base size=24 base align=8
+QPixmap (0x7fb2a032d070) 0
+ vptr=((& QPixmap::_ZTV7QPixmap) + 16u)
+ QPaintDevice (0x7fb2a032d0e0) 0
+ primary-for QPixmap (0x7fb2a032d070)
+
+Class QBrush
+ size=8 align=8
+ base size=8 base align=8
+QBrush (0x7fb2a038b380) 0
+
+Class QBrushData
+ size=112 align=8
+ base size=112 base align=8
+QBrushData (0x7fb2a03a6d90) 0
+
+Class QGradient
+ size=64 align=8
+ base size=64 base align=8
+QGradient (0x7fb2a03bbf50) 0
+
+Class QLinearGradient
+ size=64 align=8
+ base size=64 base align=8
+QLinearGradient (0x7fb2a03fda10) 0
+ QGradient (0x7fb2a03fda80) 0
+
+Class QRadialGradient
+ size=64 align=8
+ base size=64 base align=8
+QRadialGradient (0x7fb2a03fdee0) 0
+ QGradient (0x7fb2a03fdf50) 0
+
+Class QConicalGradient
+ size=64 align=8
+ base size=64 base align=8
+QConicalGradient (0x7fb2a02084d0) 0
+ QGradient (0x7fb2a0208540) 0
+
+Class QPen
+ size=8 align=8
+ base size=8 base align=8
+QPen (0x7fb2a0208850) 0
+
+Class QTextOption::Tab
+ size=16 align=8
+ base size=14 base align=8
+QTextOption::Tab (0x7fb2a0223e00) 0
+
+Class QTextOption
+ size=32 align=8
+ base size=32 base align=8
+QTextOption (0x7fb2a0223d90) 0
+
+Class QTextLength
+ size=16 align=8
+ base size=16 base align=8
+QTextLength (0x7fb2a0295150) 0
+
+Class QTextFormat
+ size=16 align=8
+ base size=12 base align=8
+QTextFormat (0x7fb2a02b04d0) 0
+
+Class QTextCharFormat
+ size=16 align=8
+ base size=12 base align=8
+QTextCharFormat (0x7fb2a0166540) 0
+ QTextFormat (0x7fb2a01665b0) 0
+
+Class QTextBlockFormat
+ size=16 align=8
+ base size=12 base align=8
+QTextBlockFormat (0x7fb2a01c91c0) 0
+ QTextFormat (0x7fb2a01c9230) 0
+
+Class QTextListFormat
+ size=16 align=8
+ base size=12 base align=8
+QTextListFormat (0x7fb2a01e87e0) 0
+ QTextFormat (0x7fb2a01e8850) 0
+
+Class QTextImageFormat
+ size=16 align=8
+ base size=12 base align=8
+QTextImageFormat (0x7fb2a01f4d20) 0
+ QTextCharFormat (0x7fb2a01f4d90) 0
+ QTextFormat (0x7fb2a01f4e00) 0
+
+Class QTextFrameFormat
+ size=16 align=8
+ base size=12 base align=8
+QTextFrameFormat (0x7fb2a0005460) 0
+ QTextFormat (0x7fb2a00054d0) 0
+
+Class QTextTableFormat
+ size=16 align=8
+ base size=12 base align=8
+QTextTableFormat (0x7fb2a003b380) 0
+ QTextFrameFormat (0x7fb2a003b3f0) 0
+ QTextFormat (0x7fb2a003b460) 0
+
+Class QTextTableCellFormat
+ size=16 align=8
+ base size=12 base align=8
+QTextTableCellFormat (0x7fb2a0056230) 0
+ QTextCharFormat (0x7fb2a00562a0) 0
+ QTextFormat (0x7fb2a0056310) 0
+
+Class QTextInlineObject
+ size=16 align=8
+ base size=16 base align=8
+QTextInlineObject (0x7fb2a006a700) 0
+
+Class QTextLayout::FormatRange
+ size=24 align=8
+ base size=24 base align=8
+QTextLayout::FormatRange (0x7fb2a0076a10) 0
+
+Class QTextLayout
+ size=8 align=8
+ base size=8 base align=8
+QTextLayout (0x7fb2a0076770) 0
+
+Class QTextLine
+ size=16 align=8
+ base size=16 base align=8
+QTextLine (0x7fb2a0090770) 0
+
+Vtable for QAbstractUndoItem
+QAbstractUndoItem::_ZTV17QAbstractUndoItem: 6u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QAbstractUndoItem)
+16 __cxa_pure_virtual
+24 __cxa_pure_virtual
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+
+Class QAbstractUndoItem
+ size=8 align=8
+ base size=8 base align=8
+QAbstractUndoItem (0x7fb2a00c5070) 0 nearly-empty
+ vptr=((& QAbstractUndoItem::_ZTV17QAbstractUndoItem) + 16u)
+
+Vtable for QTextDocument
+QTextDocument::_ZTV13QTextDocument: 17u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QTextDocument)
+16 QTextDocument::metaObject
+24 QTextDocument::qt_metacast
+32 QTextDocument::qt_metacall
+40 QTextDocument::~QTextDocument
+48 QTextDocument::~QTextDocument
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QTextDocument::clear
+120 QTextDocument::createObject
+128 QTextDocument::loadResource
+
+Class QTextDocument
+ size=16 align=8
+ base size=16 base align=8
+QTextDocument (0x7fb2a00c5af0) 0
+ vptr=((& QTextDocument::_ZTV13QTextDocument) + 16u)
+ QObject (0x7fb2a00c5b60) 0
+ primary-for QTextDocument (0x7fb2a00c5af0)
+
+Class QTextCursor
+ size=8 align=8
+ base size=8 base align=8
+QTextCursor (0x7fb29ff22a80) 0
+
+Class QPalette
+ size=16 align=8
+ base size=12 base align=8
+QPalette (0x7fb29ff36f50) 0
+
+Class QColorGroup
+ size=16 align=8
+ base size=12 base align=8
+QColorGroup (0x7fb29ffa7850) 0
+ QPalette (0x7fb29ffa78c0) 0
+
+Class QAbstractTextDocumentLayout::Selection
+ size=24 align=8
+ base size=24 base align=8
+QAbstractTextDocumentLayout::Selection (0x7fb29ffdfd90) 0
+
+Class QAbstractTextDocumentLayout::PaintContext
+ size=64 align=8
+ base size=64 base align=8
+QAbstractTextDocumentLayout::PaintContext (0x7fb29ffdfe00) 0
+
+Vtable for QAbstractTextDocumentLayout
+QAbstractTextDocumentLayout::_ZTV27QAbstractTextDocumentLayout: 24u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI27QAbstractTextDocumentLayout)
+16 QAbstractTextDocumentLayout::metaObject
+24 QAbstractTextDocumentLayout::qt_metacast
+32 QAbstractTextDocumentLayout::qt_metacall
+40 QAbstractTextDocumentLayout::~QAbstractTextDocumentLayout
+48 QAbstractTextDocumentLayout::~QAbstractTextDocumentLayout
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 __cxa_pure_virtual
+136 __cxa_pure_virtual
+144 __cxa_pure_virtual
+152 __cxa_pure_virtual
+160 __cxa_pure_virtual
+168 QAbstractTextDocumentLayout::resizeInlineObject
+176 QAbstractTextDocumentLayout::positionInlineObject
+184 QAbstractTextDocumentLayout::drawInlineObject
+
+Class QAbstractTextDocumentLayout
+ size=16 align=8
+ base size=16 base align=8
+QAbstractTextDocumentLayout (0x7fb29ffdfb60) 0
+ vptr=((& QAbstractTextDocumentLayout::_ZTV27QAbstractTextDocumentLayout) + 16u)
+ QObject (0x7fb29ffdfbd0) 0
+ primary-for QAbstractTextDocumentLayout (0x7fb29ffdfb60)
+
+Vtable for QTextObjectInterface
+QTextObjectInterface::_ZTV20QTextObjectInterface: 6u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI20QTextObjectInterface)
+16 QTextObjectInterface::~QTextObjectInterface
+24 QTextObjectInterface::~QTextObjectInterface
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+
+Class QTextObjectInterface
+ size=8 align=8
+ base size=8 base align=8
+QTextObjectInterface (0x7fb29fe184d0) 0 nearly-empty
+ vptr=((& QTextObjectInterface::_ZTV20QTextObjectInterface) + 16u)
+
+Class QFontDatabase
+ size=8 align=8
+ base size=8 base align=8
+QFontDatabase (0x7fb29fe237e0) 0
+
+Class QFontInfo
+ size=8 align=8
+ base size=8 base align=8
+QFontInfo (0x7fb29fe337e0) 0
+
+Class QFontMetrics
+ size=8 align=8
+ base size=8 base align=8
+QFontMetrics (0x7fb29fe45310) 0
+
+Class QFontMetricsF
+ size=8 align=8
+ base size=8 base align=8
+QFontMetricsF (0x7fb29fe59770) 0
+
+Vtable for QTextObject
+QTextObject::_ZTV11QTextObject: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QTextObject)
+16 QTextObject::metaObject
+24 QTextObject::qt_metacast
+32 QTextObject::qt_metacall
+40 QTextObject::~QTextObject
+48 QTextObject::~QTextObject
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QTextObject
+ size=16 align=8
+ base size=16 base align=8
+QTextObject (0x7fb29fe70690) 0
+ vptr=((& QTextObject::_ZTV11QTextObject) + 16u)
+ QObject (0x7fb29fe70700) 0
+ primary-for QTextObject (0x7fb29fe70690)
+
+Vtable for QTextBlockGroup
+QTextBlockGroup::_ZTV15QTextBlockGroup: 17u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QTextBlockGroup)
+16 QTextBlockGroup::metaObject
+24 QTextBlockGroup::qt_metacast
+32 QTextBlockGroup::qt_metacall
+40 QTextBlockGroup::~QTextBlockGroup
+48 QTextBlockGroup::~QTextBlockGroup
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QTextBlockGroup::blockInserted
+120 QTextBlockGroup::blockRemoved
+128 QTextBlockGroup::blockFormatChanged
+
+Class QTextBlockGroup
+ size=16 align=8
+ base size=16 base align=8
+QTextBlockGroup (0x7fb29fe81ee0) 0
+ vptr=((& QTextBlockGroup::_ZTV15QTextBlockGroup) + 16u)
+ QTextObject (0x7fb29fe81f50) 0
+ primary-for QTextBlockGroup (0x7fb29fe81ee0)
+ QObject (0x7fb29fe89000) 0
+ primary-for QTextObject (0x7fb29fe81f50)
+
+Vtable for QTextFrameLayoutData
+QTextFrameLayoutData::_ZTV20QTextFrameLayoutData: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI20QTextFrameLayoutData)
+16 QTextFrameLayoutData::~QTextFrameLayoutData
+24 QTextFrameLayoutData::~QTextFrameLayoutData
+
+Class QTextFrameLayoutData
+ size=8 align=8
+ base size=8 base align=8
+QTextFrameLayoutData (0x7fb29fe9e7e0) 0 nearly-empty
+ vptr=((& QTextFrameLayoutData::_ZTV20QTextFrameLayoutData) + 16u)
+
+Class QTextFrame::iterator
+ size=32 align=8
+ base size=28 base align=8
+QTextFrame::iterator (0x7fb29fea8230) 0
+
+Vtable for QTextFrame
+QTextFrame::_ZTV10QTextFrame: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QTextFrame)
+16 QTextFrame::metaObject
+24 QTextFrame::qt_metacast
+32 QTextFrame::qt_metacall
+40 QTextFrame::~QTextFrame
+48 QTextFrame::~QTextFrame
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QTextFrame
+ size=16 align=8
+ base size=16 base align=8
+QTextFrame (0x7fb29fe9e930) 0
+ vptr=((& QTextFrame::_ZTV10QTextFrame) + 16u)
+ QTextObject (0x7fb29fe9e9a0) 0
+ primary-for QTextFrame (0x7fb29fe9e930)
+ QObject (0x7fb29fe9ea10) 0
+ primary-for QTextObject (0x7fb29fe9e9a0)
+
+Vtable for QTextBlockUserData
+QTextBlockUserData::_ZTV18QTextBlockUserData: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QTextBlockUserData)
+16 QTextBlockUserData::~QTextBlockUserData
+24 QTextBlockUserData::~QTextBlockUserData
+
+Class QTextBlockUserData
+ size=8 align=8
+ base size=8 base align=8
+QTextBlockUserData (0x7fb29fedc380) 0 nearly-empty
+ vptr=((& QTextBlockUserData::_ZTV18QTextBlockUserData) + 16u)
+
+Class QTextBlock::iterator
+ size=24 align=8
+ base size=20 base align=8
+QTextBlock::iterator (0x7fb29fedccb0) 0
+
+Class QTextBlock
+ size=16 align=8
+ base size=12 base align=8
+QTextBlock (0x7fb29fedc4d0) 0
+
+Class QTextFragment
+ size=16 align=8
+ base size=16 base align=8
+QTextFragment (0x7fb29fc93e00) 0
+
+Vtable for QSyntaxHighlighter
+QSyntaxHighlighter::_ZTV18QSyntaxHighlighter: 15u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QSyntaxHighlighter)
+16 QSyntaxHighlighter::metaObject
+24 QSyntaxHighlighter::qt_metacast
+32 QSyntaxHighlighter::qt_metacall
+40 QSyntaxHighlighter::~QSyntaxHighlighter
+48 QSyntaxHighlighter::~QSyntaxHighlighter
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+
+Class QSyntaxHighlighter
+ size=16 align=8
+ base size=16 base align=8
+QSyntaxHighlighter (0x7fb29fcbe000) 0
+ vptr=((& QSyntaxHighlighter::_ZTV18QSyntaxHighlighter) + 16u)
+ QObject (0x7fb29fcbe070) 0
+ primary-for QSyntaxHighlighter (0x7fb29fcbe000)
+
+Class QTextDocumentFragment
+ size=8 align=8
+ base size=8 base align=8
+QTextDocumentFragment (0x7fb29fcd59a0) 0
+
+Class QTextDocumentWriter
+ size=8 align=8
+ base size=8 base align=8
+QTextDocumentWriter (0x7fb29fcdc3f0) 0
+
+Vtable for QTextList
+QTextList::_ZTV9QTextList: 17u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QTextList)
+16 QTextList::metaObject
+24 QTextList::qt_metacast
+32 QTextList::qt_metacall
+40 QTextList::~QTextList
+48 QTextList::~QTextList
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QTextBlockGroup::blockInserted
+120 QTextBlockGroup::blockRemoved
+128 QTextBlockGroup::blockFormatChanged
+
+Class QTextList
+ size=16 align=8
+ base size=16 base align=8
+QTextList (0x7fb29fcdca80) 0
+ vptr=((& QTextList::_ZTV9QTextList) + 16u)
+ QTextBlockGroup (0x7fb29fcdcaf0) 0
+ primary-for QTextList (0x7fb29fcdca80)
+ QTextObject (0x7fb29fcdcb60) 0
+ primary-for QTextBlockGroup (0x7fb29fcdcaf0)
+ QObject (0x7fb29fcdcbd0) 0
+ primary-for QTextObject (0x7fb29fcdcb60)
+
+Class QTextTableCell
+ size=16 align=8
+ base size=12 base align=8
+QTextTableCell (0x7fb29fd06930) 0
+
+Vtable for QTextTable
+QTextTable::_ZTV10QTextTable: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QTextTable)
+16 QTextTable::metaObject
+24 QTextTable::qt_metacast
+32 QTextTable::qt_metacall
+40 QTextTable::~QTextTable
+48 QTextTable::~QTextTable
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QTextTable
+ size=16 align=8
+ base size=16 base align=8
+QTextTable (0x7fb29fd1ca80) 0
+ vptr=((& QTextTable::_ZTV10QTextTable) + 16u)
+ QTextFrame (0x7fb29fd1caf0) 0
+ primary-for QTextTable (0x7fb29fd1ca80)
+ QTextObject (0x7fb29fd1cb60) 0
+ primary-for QTextFrame (0x7fb29fd1caf0)
+ QObject (0x7fb29fd1cbd0) 0
+ primary-for QTextObject (0x7fb29fd1cb60)
+
+Vtable for QCompleter
+QCompleter::_ZTV10QCompleter: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QCompleter)
+16 QCompleter::metaObject
+24 QCompleter::qt_metacast
+32 QCompleter::qt_metacall
+40 QCompleter::~QCompleter
+48 QCompleter::~QCompleter
+56 QCompleter::event
+64 QCompleter::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QCompleter::pathFromIndex
+120 QCompleter::splitPath
+
+Class QCompleter
+ size=16 align=8
+ base size=16 base align=8
+QCompleter (0x7fb29fd432a0) 0
+ vptr=((& QCompleter::_ZTV10QCompleter) + 16u)
+ QObject (0x7fb29fd43310) 0
+ primary-for QCompleter (0x7fb29fd432a0)
+
+Class QDesktopServices
+ size=1 align=1
+ base size=0 base align=1
+QDesktopServices (0x7fb29fd67230) 0 empty
+
+Class QIcon
+ size=8 align=8
+ base size=8 base align=8
+QIcon (0x7fb29fd67380) 0
+
+Vtable for QSystemTrayIcon
+QSystemTrayIcon::_ZTV15QSystemTrayIcon: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QSystemTrayIcon)
+16 QSystemTrayIcon::metaObject
+24 QSystemTrayIcon::qt_metacast
+32 QSystemTrayIcon::qt_metacall
+40 QSystemTrayIcon::~QSystemTrayIcon
+48 QSystemTrayIcon::~QSystemTrayIcon
+56 QSystemTrayIcon::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QSystemTrayIcon
+ size=16 align=8
+ base size=16 base align=8
+QSystemTrayIcon (0x7fb29fb8ff50) 0
+ vptr=((& QSystemTrayIcon::_ZTV15QSystemTrayIcon) + 16u)
+ QObject (0x7fb29fba0000) 0
+ primary-for QSystemTrayIcon (0x7fb29fb8ff50)
+
+Vtable for QUndoGroup
+QUndoGroup::_ZTV10QUndoGroup: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QUndoGroup)
+16 QUndoGroup::metaObject
+24 QUndoGroup::qt_metacast
+32 QUndoGroup::qt_metacall
+40 QUndoGroup::~QUndoGroup
+48 QUndoGroup::~QUndoGroup
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QUndoGroup
+ size=16 align=8
+ base size=16 base align=8
+QUndoGroup (0x7fb29fbbe1c0) 0
+ vptr=((& QUndoGroup::_ZTV10QUndoGroup) + 16u)
+ QObject (0x7fb29fbbe230) 0
+ primary-for QUndoGroup (0x7fb29fbbe1c0)
+
+Vtable for QUndoCommand
+QUndoCommand::_ZTV12QUndoCommand: 8u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QUndoCommand)
+16 QUndoCommand::~QUndoCommand
+24 QUndoCommand::~QUndoCommand
+32 QUndoCommand::undo
+40 QUndoCommand::redo
+48 QUndoCommand::id
+56 QUndoCommand::mergeWith
+
+Class QUndoCommand
+ size=16 align=8
+ base size=16 base align=8
+QUndoCommand (0x7fb29fbd4d20) 0
+ vptr=((& QUndoCommand::_ZTV12QUndoCommand) + 16u)
+
+Vtable for QUndoStack
+QUndoStack::_ZTV10QUndoStack: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QUndoStack)
+16 QUndoStack::metaObject
+24 QUndoStack::qt_metacast
+32 QUndoStack::qt_metacall
+40 QUndoStack::~QUndoStack
+48 QUndoStack::~QUndoStack
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QUndoStack
+ size=16 align=8
+ base size=16 base align=8
+QUndoStack (0x7fb29fbdd690) 0
+ vptr=((& QUndoStack::_ZTV10QUndoStack) + 16u)
+ QObject (0x7fb29fbdd700) 0
+ primary-for QUndoStack (0x7fb29fbdd690)
+
+Class QSizePolicy
+ size=4 align=4
+ base size=4 base align=4
+QSizePolicy (0x7fb29fc021c0) 0
+
+Class QCursor
+ size=8 align=8
+ base size=8 base align=8
+QCursor (0x7fb29fad01c0) 0
+
+Class QWidgetData
+ size=88 align=8
+ base size=88 base align=8
+QWidgetData (0x7fb29fad09a0) 0
+
+Vtable for QWidget
+QWidget::_ZTV7QWidget: 63u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QWidget)
+16 QWidget::metaObject
+24 QWidget::qt_metacast
+32 QWidget::qt_metacall
+40 QWidget::~QWidget
+48 QWidget::~QWidget
+56 QWidget::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QWidget::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QWidget::paintEvent
+256 QWidget::moveEvent
+264 QWidget::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QWidget::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 (int (*)(...))-0x00000000000000010
+456 (int (*)(...))(& _ZTI7QWidget)
+464 QWidget::_ZThn16_N7QWidgetD1Ev
+472 QWidget::_ZThn16_N7QWidgetD0Ev
+480 QWidget::_ZThn16_NK7QWidget7devTypeEv
+488 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+496 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QWidget
+ size=40 align=8
+ base size=40 base align=8
+QWidget (0x7fb29fac9a00) 0
+ vptr=((& QWidget::_ZTV7QWidget) + 16u)
+ QObject (0x7fb29fad0a10) 0
+ primary-for QWidget (0x7fb29fac9a00)
+ QPaintDevice (0x7fb29fad0a80) 16
+ vptr=((& QWidget::_ZTV7QWidget) + 464u)
+
+Vtable for QFrame
+QFrame::_ZTV6QFrame: 63u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI6QFrame)
+16 QFrame::metaObject
+24 QFrame::qt_metacast
+32 QFrame::qt_metacall
+40 QFrame::~QFrame
+48 QFrame::~QFrame
+56 QFrame::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QFrame::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QFrame::paintEvent
+256 QWidget::moveEvent
+264 QWidget::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QFrame::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 (int (*)(...))-0x00000000000000010
+456 (int (*)(...))(& _ZTI6QFrame)
+464 QFrame::_ZThn16_N6QFrameD1Ev
+472 QFrame::_ZThn16_N6QFrameD0Ev
+480 QWidget::_ZThn16_NK7QWidget7devTypeEv
+488 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+496 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QFrame
+ size=40 align=8
+ base size=40 base align=8
+QFrame (0x7fb29fa58a80) 0
+ vptr=((& QFrame::_ZTV6QFrame) + 16u)
+ QWidget (0x7fb29fa5b680) 0
+ primary-for QFrame (0x7fb29fa58a80)
+ QObject (0x7fb29fa58af0) 0
+ primary-for QWidget (0x7fb29fa5b680)
+ QPaintDevice (0x7fb29fa58b60) 16
+ vptr=((& QFrame::_ZTV6QFrame) + 464u)
+
+Vtable for QAbstractScrollArea
+QAbstractScrollArea::_ZTV19QAbstractScrollArea: 65u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QAbstractScrollArea)
+16 QAbstractScrollArea::metaObject
+24 QAbstractScrollArea::qt_metacast
+32 QAbstractScrollArea::qt_metacall
+40 QAbstractScrollArea::~QAbstractScrollArea
+48 QAbstractScrollArea::~QAbstractScrollArea
+56 QAbstractScrollArea::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QAbstractScrollArea::sizeHint
+136 QAbstractScrollArea::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QAbstractScrollArea::mousePressEvent
+168 QAbstractScrollArea::mouseReleaseEvent
+176 QAbstractScrollArea::mouseDoubleClickEvent
+184 QAbstractScrollArea::mouseMoveEvent
+192 QAbstractScrollArea::wheelEvent
+200 QAbstractScrollArea::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QAbstractScrollArea::paintEvent
+256 QWidget::moveEvent
+264 QAbstractScrollArea::resizeEvent
+272 QWidget::closeEvent
+280 QAbstractScrollArea::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QAbstractScrollArea::dragEnterEvent
+312 QAbstractScrollArea::dragMoveEvent
+320 QAbstractScrollArea::dragLeaveEvent
+328 QAbstractScrollArea::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QFrame::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QAbstractScrollArea::viewportEvent
+456 QAbstractScrollArea::scrollContentsBy
+464 (int (*)(...))-0x00000000000000010
+472 (int (*)(...))(& _ZTI19QAbstractScrollArea)
+480 QAbstractScrollArea::_ZThn16_N19QAbstractScrollAreaD1Ev
+488 QAbstractScrollArea::_ZThn16_N19QAbstractScrollAreaD0Ev
+496 QWidget::_ZThn16_NK7QWidget7devTypeEv
+504 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+512 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QAbstractScrollArea
+ size=40 align=8
+ base size=40 base align=8
+QAbstractScrollArea (0x7fb29f8840e0) 0
+ vptr=((& QAbstractScrollArea::_ZTV19QAbstractScrollArea) + 16u)
+ QFrame (0x7fb29f884150) 0
+ primary-for QAbstractScrollArea (0x7fb29f8840e0)
+ QWidget (0x7fb29fa69a80) 0
+ primary-for QFrame (0x7fb29f884150)
+ QObject (0x7fb29f8841c0) 0
+ primary-for QWidget (0x7fb29fa69a80)
+ QPaintDevice (0x7fb29f884230) 16
+ vptr=((& QAbstractScrollArea::_ZTV19QAbstractScrollArea) + 480u)
+
+Class QItemSelectionRange
+ size=16 align=8
+ base size=16 base align=8
+QItemSelectionRange (0x7fb29f8ac000) 0
+
+Vtable for QItemSelectionModel
+QItemSelectionModel::_ZTV19QItemSelectionModel: 18u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QItemSelectionModel)
+16 QItemSelectionModel::metaObject
+24 QItemSelectionModel::qt_metacast
+32 QItemSelectionModel::qt_metacall
+40 QItemSelectionModel::~QItemSelectionModel
+48 QItemSelectionModel::~QItemSelectionModel
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QItemSelectionModel::select
+120 QItemSelectionModel::select
+128 QItemSelectionModel::clear
+136 QItemSelectionModel::reset
+
+Class QItemSelectionModel
+ size=16 align=8
+ base size=16 base align=8
+QItemSelectionModel (0x7fb29f9134d0) 0
+ vptr=((& QItemSelectionModel::_ZTV19QItemSelectionModel) + 16u)
+ QObject (0x7fb29f913540) 0
+ primary-for QItemSelectionModel (0x7fb29f9134d0)
+
+Class QItemSelection
+ size=8 align=8
+ base size=8 base align=8
+QItemSelection (0x7fb29f9549a0) 0
+ QList<QItemSelectionRange> (0x7fb29f954a10) 0
+
+Vtable for QValidator
+QValidator::_ZTV10QValidator: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QValidator)
+16 QValidator::metaObject
+24 QValidator::qt_metacast
+32 QValidator::qt_metacall
+40 QValidator::~QValidator
+48 QValidator::~QValidator
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+120 QValidator::fixup
+
+Class QValidator
+ size=16 align=8
+ base size=16 base align=8
+QValidator (0x7fb29f7942a0) 0
+ vptr=((& QValidator::_ZTV10QValidator) + 16u)
+ QObject (0x7fb29f794310) 0
+ primary-for QValidator (0x7fb29f7942a0)
+
+Vtable for QIntValidator
+QIntValidator::_ZTV13QIntValidator: 17u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QIntValidator)
+16 QIntValidator::metaObject
+24 QIntValidator::qt_metacast
+32 QIntValidator::qt_metacall
+40 QIntValidator::~QIntValidator
+48 QIntValidator::~QIntValidator
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QIntValidator::validate
+120 QValidator::fixup
+128 QIntValidator::setRange
+
+Class QIntValidator
+ size=24 align=8
+ base size=24 base align=8
+QIntValidator (0x7fb29f7b00e0) 0
+ vptr=((& QIntValidator::_ZTV13QIntValidator) + 16u)
+ QValidator (0x7fb29f7b0150) 0
+ primary-for QIntValidator (0x7fb29f7b00e0)
+ QObject (0x7fb29f7b01c0) 0
+ primary-for QValidator (0x7fb29f7b0150)
+
+Vtable for QDoubleValidator
+QDoubleValidator::_ZTV16QDoubleValidator: 17u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QDoubleValidator)
+16 QDoubleValidator::metaObject
+24 QDoubleValidator::qt_metacast
+32 QDoubleValidator::qt_metacall
+40 QDoubleValidator::~QDoubleValidator
+48 QDoubleValidator::~QDoubleValidator
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QDoubleValidator::validate
+120 QValidator::fixup
+128 QDoubleValidator::setRange
+
+Class QDoubleValidator
+ size=40 align=8
+ base size=36 base align=8
+QDoubleValidator (0x7fb29f7c4070) 0
+ vptr=((& QDoubleValidator::_ZTV16QDoubleValidator) + 16u)
+ QValidator (0x7fb29f7c40e0) 0
+ primary-for QDoubleValidator (0x7fb29f7c4070)
+ QObject (0x7fb29f7c4150) 0
+ primary-for QValidator (0x7fb29f7c40e0)
+
+Vtable for QRegExpValidator
+QRegExpValidator::_ZTV16QRegExpValidator: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QRegExpValidator)
+16 QRegExpValidator::metaObject
+24 QRegExpValidator::qt_metacast
+32 QRegExpValidator::qt_metacall
+40 QRegExpValidator::~QRegExpValidator
+48 QRegExpValidator::~QRegExpValidator
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QRegExpValidator::validate
+120 QValidator::fixup
+
+Class QRegExpValidator
+ size=24 align=8
+ base size=24 base align=8
+QRegExpValidator (0x7fb29f7e0930) 0
+ vptr=((& QRegExpValidator::_ZTV16QRegExpValidator) + 16u)
+ QValidator (0x7fb29f7e09a0) 0
+ primary-for QRegExpValidator (0x7fb29f7e0930)
+ QObject (0x7fb29f7e0a10) 0
+ primary-for QValidator (0x7fb29f7e09a0)
+
+Vtable for QAbstractSpinBox
+QAbstractSpinBox::_ZTV16QAbstractSpinBox: 68u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QAbstractSpinBox)
+16 QAbstractSpinBox::metaObject
+24 QAbstractSpinBox::qt_metacast
+32 QAbstractSpinBox::qt_metacall
+40 QAbstractSpinBox::~QAbstractSpinBox
+48 QAbstractSpinBox::~QAbstractSpinBox
+56 QAbstractSpinBox::event
+64 QObject::eventFilter
+72 QAbstractSpinBox::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QAbstractSpinBox::sizeHint
+136 QAbstractSpinBox::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QAbstractSpinBox::mousePressEvent
+168 QAbstractSpinBox::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QAbstractSpinBox::mouseMoveEvent
+192 QAbstractSpinBox::wheelEvent
+200 QAbstractSpinBox::keyPressEvent
+208 QAbstractSpinBox::keyReleaseEvent
+216 QAbstractSpinBox::focusInEvent
+224 QAbstractSpinBox::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QAbstractSpinBox::paintEvent
+256 QWidget::moveEvent
+264 QAbstractSpinBox::resizeEvent
+272 QAbstractSpinBox::closeEvent
+280 QAbstractSpinBox::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QAbstractSpinBox::showEvent
+344 QAbstractSpinBox::hideEvent
+352 QWidget::x11Event
+360 QAbstractSpinBox::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QAbstractSpinBox::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QAbstractSpinBox::validate
+456 QAbstractSpinBox::fixup
+464 QAbstractSpinBox::stepBy
+472 QAbstractSpinBox::clear
+480 QAbstractSpinBox::stepEnabled
+488 (int (*)(...))-0x00000000000000010
+496 (int (*)(...))(& _ZTI16QAbstractSpinBox)
+504 QAbstractSpinBox::_ZThn16_N16QAbstractSpinBoxD1Ev
+512 QAbstractSpinBox::_ZThn16_N16QAbstractSpinBoxD0Ev
+520 QWidget::_ZThn16_NK7QWidget7devTypeEv
+528 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+536 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QAbstractSpinBox
+ size=40 align=8
+ base size=40 base align=8
+QAbstractSpinBox (0x7fb29f7f75b0) 0
+ vptr=((& QAbstractSpinBox::_ZTV16QAbstractSpinBox) + 16u)
+ QWidget (0x7fb29f7dee80) 0
+ primary-for QAbstractSpinBox (0x7fb29f7f75b0)
+ QObject (0x7fb29f7f7620) 0
+ primary-for QWidget (0x7fb29f7dee80)
+ QPaintDevice (0x7fb29f7f7690) 16
+ vptr=((& QAbstractSpinBox::_ZTV16QAbstractSpinBox) + 504u)
+
+Vtable for QAbstractSlider
+QAbstractSlider::_ZTV15QAbstractSlider: 64u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QAbstractSlider)
+16 QAbstractSlider::metaObject
+24 QAbstractSlider::qt_metacast
+32 QAbstractSlider::qt_metacall
+40 QAbstractSlider::~QAbstractSlider
+48 QAbstractSlider::~QAbstractSlider
+56 QAbstractSlider::event
+64 QObject::eventFilter
+72 QAbstractSlider::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QWidget::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QAbstractSlider::wheelEvent
+200 QAbstractSlider::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QWidget::paintEvent
+256 QWidget::moveEvent
+264 QWidget::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QAbstractSlider::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QAbstractSlider::sliderChange
+456 (int (*)(...))-0x00000000000000010
+464 (int (*)(...))(& _ZTI15QAbstractSlider)
+472 QAbstractSlider::_ZThn16_N15QAbstractSliderD1Ev
+480 QAbstractSlider::_ZThn16_N15QAbstractSliderD0Ev
+488 QWidget::_ZThn16_NK7QWidget7devTypeEv
+496 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+504 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QAbstractSlider
+ size=40 align=8
+ base size=40 base align=8
+QAbstractSlider (0x7fb29f8555b0) 0
+ vptr=((& QAbstractSlider::_ZTV15QAbstractSlider) + 16u)
+ QWidget (0x7fb29f856200) 0
+ primary-for QAbstractSlider (0x7fb29f8555b0)
+ QObject (0x7fb29f855620) 0
+ primary-for QWidget (0x7fb29f856200)
+ QPaintDevice (0x7fb29f855690) 16
+ vptr=((& QAbstractSlider::_ZTV15QAbstractSlider) + 472u)
+
+Vtable for QSlider
+QSlider::_ZTV7QSlider: 64u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QSlider)
+16 QSlider::metaObject
+24 QSlider::qt_metacast
+32 QSlider::qt_metacall
+40 QSlider::~QSlider
+48 QSlider::~QSlider
+56 QSlider::event
+64 QObject::eventFilter
+72 QAbstractSlider::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QSlider::sizeHint
+136 QSlider::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QSlider::mousePressEvent
+168 QSlider::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QSlider::mouseMoveEvent
+192 QAbstractSlider::wheelEvent
+200 QAbstractSlider::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QSlider::paintEvent
+256 QWidget::moveEvent
+264 QWidget::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QAbstractSlider::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QAbstractSlider::sliderChange
+456 (int (*)(...))-0x00000000000000010
+464 (int (*)(...))(& _ZTI7QSlider)
+472 QSlider::_ZThn16_N7QSliderD1Ev
+480 QSlider::_ZThn16_N7QSliderD0Ev
+488 QWidget::_ZThn16_NK7QWidget7devTypeEv
+496 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+504 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QSlider
+ size=40 align=8
+ base size=40 base align=8
+QSlider (0x7fb29f68d3f0) 0
+ vptr=((& QSlider::_ZTV7QSlider) + 16u)
+ QAbstractSlider (0x7fb29f68d460) 0
+ primary-for QSlider (0x7fb29f68d3f0)
+ QWidget (0x7fb29f68b300) 0
+ primary-for QAbstractSlider (0x7fb29f68d460)
+ QObject (0x7fb29f68d4d0) 0
+ primary-for QWidget (0x7fb29f68b300)
+ QPaintDevice (0x7fb29f68d540) 16
+ vptr=((& QSlider::_ZTV7QSlider) + 472u)
+
+Vtable for QStyle
+QStyle::_ZTV6QStyle: 35u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI6QStyle)
+16 QStyle::metaObject
+24 QStyle::qt_metacast
+32 QStyle::qt_metacall
+40 QStyle::~QStyle
+48 QStyle::~QStyle
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QStyle::polish
+120 QStyle::unpolish
+128 QStyle::polish
+136 QStyle::unpolish
+144 QStyle::polish
+152 QStyle::itemTextRect
+160 QStyle::itemPixmapRect
+168 QStyle::drawItemText
+176 QStyle::drawItemPixmap
+184 QStyle::standardPalette
+192 __cxa_pure_virtual
+200 __cxa_pure_virtual
+208 __cxa_pure_virtual
+216 __cxa_pure_virtual
+224 __cxa_pure_virtual
+232 __cxa_pure_virtual
+240 __cxa_pure_virtual
+248 __cxa_pure_virtual
+256 __cxa_pure_virtual
+264 __cxa_pure_virtual
+272 __cxa_pure_virtual
+
+Class QStyle
+ size=16 align=8
+ base size=16 base align=8
+QStyle (0x7fb29f6b29a0) 0
+ vptr=((& QStyle::_ZTV6QStyle) + 16u)
+ QObject (0x7fb29f6b2a10) 0
+ primary-for QStyle (0x7fb29f6b29a0)
+
+Vtable for QTabBar
+QTabBar::_ZTV7QTabBar: 67u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QTabBar)
+16 QTabBar::metaObject
+24 QTabBar::qt_metacast
+32 QTabBar::qt_metacall
+40 QTabBar::~QTabBar
+48 QTabBar::~QTabBar
+56 QTabBar::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QTabBar::sizeHint
+136 QTabBar::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QTabBar::mousePressEvent
+168 QTabBar::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QTabBar::mouseMoveEvent
+192 QTabBar::wheelEvent
+200 QTabBar::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QTabBar::paintEvent
+256 QWidget::moveEvent
+264 QTabBar::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QTabBar::showEvent
+344 QTabBar::hideEvent
+352 QWidget::x11Event
+360 QTabBar::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QTabBar::tabSizeHint
+456 QTabBar::tabInserted
+464 QTabBar::tabRemoved
+472 QTabBar::tabLayoutChange
+480 (int (*)(...))-0x00000000000000010
+488 (int (*)(...))(& _ZTI7QTabBar)
+496 QTabBar::_ZThn16_N7QTabBarD1Ev
+504 QTabBar::_ZThn16_N7QTabBarD0Ev
+512 QWidget::_ZThn16_NK7QWidget7devTypeEv
+520 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+528 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QTabBar
+ size=40 align=8
+ base size=40 base align=8
+QTabBar (0x7fb29f763850) 0
+ vptr=((& QTabBar::_ZTV7QTabBar) + 16u)
+ QWidget (0x7fb29f764300) 0
+ primary-for QTabBar (0x7fb29f763850)
+ QObject (0x7fb29f7638c0) 0
+ primary-for QWidget (0x7fb29f764300)
+ QPaintDevice (0x7fb29f763930) 16
+ vptr=((& QTabBar::_ZTV7QTabBar) + 496u)
+
+Vtable for QTabWidget
+QTabWidget::_ZTV10QTabWidget: 65u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QTabWidget)
+16 QTabWidget::metaObject
+24 QTabWidget::qt_metacast
+32 QTabWidget::qt_metacall
+40 QTabWidget::~QTabWidget
+48 QTabWidget::~QTabWidget
+56 QTabWidget::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QTabWidget::sizeHint
+136 QTabWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QTabWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QTabWidget::paintEvent
+256 QWidget::moveEvent
+264 QTabWidget::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QTabWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QTabWidget::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QTabWidget::tabInserted
+456 QTabWidget::tabRemoved
+464 (int (*)(...))-0x00000000000000010
+472 (int (*)(...))(& _ZTI10QTabWidget)
+480 QTabWidget::_ZThn16_N10QTabWidgetD1Ev
+488 QTabWidget::_ZThn16_N10QTabWidgetD0Ev
+496 QWidget::_ZThn16_NK7QWidget7devTypeEv
+504 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+512 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QTabWidget
+ size=40 align=8
+ base size=40 base align=8
+QTabWidget (0x7fb29f58ee70) 0
+ vptr=((& QTabWidget::_ZTV10QTabWidget) + 16u)
+ QWidget (0x7fb29f58b700) 0
+ primary-for QTabWidget (0x7fb29f58ee70)
+ QObject (0x7fb29f58eee0) 0
+ primary-for QWidget (0x7fb29f58b700)
+ QPaintDevice (0x7fb29f58ef50) 16
+ vptr=((& QTabWidget::_ZTV10QTabWidget) + 480u)
+
+Vtable for QRubberBand
+QRubberBand::_ZTV11QRubberBand: 63u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QRubberBand)
+16 QRubberBand::metaObject
+24 QRubberBand::qt_metacast
+32 QRubberBand::qt_metacall
+40 QRubberBand::~QRubberBand
+48 QRubberBand::~QRubberBand
+56 QRubberBand::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QWidget::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QRubberBand::paintEvent
+256 QRubberBand::moveEvent
+264 QRubberBand::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QRubberBand::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QRubberBand::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 (int (*)(...))-0x00000000000000010
+456 (int (*)(...))(& _ZTI11QRubberBand)
+464 QRubberBand::_ZThn16_N11QRubberBandD1Ev
+472 QRubberBand::_ZThn16_N11QRubberBandD0Ev
+480 QWidget::_ZThn16_NK7QWidget7devTypeEv
+488 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+496 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QRubberBand
+ size=40 align=8
+ base size=40 base align=8
+QRubberBand (0x7fb29f5e3850) 0
+ vptr=((& QRubberBand::_ZTV11QRubberBand) + 16u)
+ QWidget (0x7fb29f5e2880) 0
+ primary-for QRubberBand (0x7fb29f5e3850)
+ QObject (0x7fb29f5e38c0) 0
+ primary-for QWidget (0x7fb29f5e2880)
+ QPaintDevice (0x7fb29f5e3930) 16
+ vptr=((& QRubberBand::_ZTV11QRubberBand) + 464u)
+
+Class QStyleOption
+ size=56 align=8
+ base size=56 base align=8
+QStyleOption (0x7fb29f607b60) 0
+
+Class QStyleOptionFocusRect
+ size=72 align=8
+ base size=72 base align=8
+QStyleOptionFocusRect (0x7fb29f6148c0) 0
+ QStyleOption (0x7fb29f614930) 0
+
+Class QStyleOptionFrame
+ size=64 align=8
+ base size=64 base align=8
+QStyleOptionFrame (0x7fb29f61f8c0) 0
+ QStyleOption (0x7fb29f61f930) 0
+
+Class QStyleOptionFrameV2
+ size=72 align=8
+ base size=68 base align=8
+QStyleOptionFrameV2 (0x7fb29f62d850) 0
+ QStyleOptionFrame (0x7fb29f62d8c0) 0
+ QStyleOption (0x7fb29f62d930) 0
+
+Class QStyleOptionFrameV3
+ size=72 align=8
+ base size=72 base align=8
+QStyleOptionFrameV3 (0x7fb29f474150) 0
+ QStyleOptionFrameV2 (0x7fb29f4741c0) 0
+ QStyleOptionFrame (0x7fb29f474230) 0
+ QStyleOption (0x7fb29f4742a0) 0
+
+Class QStyleOptionTabWidgetFrame
+ size=96 align=8
+ base size=92 base align=8
+QStyleOptionTabWidgetFrame (0x7fb29f480a10) 0
+ QStyleOption (0x7fb29f480a80) 0
+
+Class QStyleOptionTabWidgetFrameV2
+ size=128 align=8
+ base size=124 base align=8
+QStyleOptionTabWidgetFrameV2 (0x7fb29f4961c0) 0
+ QStyleOptionTabWidgetFrame (0x7fb29f496230) 0
+ QStyleOption (0x7fb29f4962a0) 0
+
+Class QStyleOptionTabBarBase
+ size=96 align=8
+ base size=92 base align=8
+QStyleOptionTabBarBase (0x7fb29f49faf0) 0
+ QStyleOption (0x7fb29f49fb60) 0
+
+Class QStyleOptionTabBarBaseV2
+ size=96 align=8
+ base size=93 base align=8
+QStyleOptionTabBarBaseV2 (0x7fb29f4aaee0) 0
+ QStyleOptionTabBarBase (0x7fb29f4aaf50) 0
+ QStyleOption (0x7fb29f4aa310) 0
+
+Class QStyleOptionHeader
+ size=112 align=8
+ base size=108 base align=8
+QStyleOptionHeader (0x7fb29f4c0540) 0
+ QStyleOption (0x7fb29f4c05b0) 0
+
+Class QStyleOptionButton
+ size=88 align=8
+ base size=88 base align=8
+QStyleOptionButton (0x7fb29f4d9700) 0
+ QStyleOption (0x7fb29f4d9770) 0
+
+Class QStyleOptionTab
+ size=96 align=8
+ base size=96 base align=8
+QStyleOptionTab (0x7fb29f5280e0) 0
+ QStyleOption (0x7fb29f528150) 0
+
+Class QStyleOptionTabV2
+ size=104 align=8
+ base size=104 base align=8
+QStyleOptionTabV2 (0x7fb29f375070) 0
+ QStyleOptionTab (0x7fb29f3750e0) 0
+ QStyleOption (0x7fb29f375150) 0
+
+Class QStyleOptionTabV3
+ size=128 align=8
+ base size=124 base align=8
+QStyleOptionTabV3 (0x7fb29f37fa80) 0
+ QStyleOptionTabV2 (0x7fb29f37faf0) 0
+ QStyleOptionTab (0x7fb29f37fb60) 0
+ QStyleOption (0x7fb29f37fbd0) 0
+
+Class QStyleOptionToolBar
+ size=80 align=8
+ base size=80 base align=8
+QStyleOptionToolBar (0x7fb29f39e0e0) 0
+ QStyleOption (0x7fb29f39e150) 0
+
+Class QStyleOptionProgressBar
+ size=88 align=8
+ base size=85 base align=8
+QStyleOptionProgressBar (0x7fb29f3d28c0) 0
+ QStyleOption (0x7fb29f3d2930) 0
+
+Class QStyleOptionProgressBarV2
+ size=96 align=8
+ base size=94 base align=8
+QStyleOptionProgressBarV2 (0x7fb29f3f9070) 0
+ QStyleOptionProgressBar (0x7fb29f3f90e0) 0
+ QStyleOption (0x7fb29f3f9150) 0
+
+Class QStyleOptionMenuItem
+ size=128 align=8
+ base size=128 base align=8
+QStyleOptionMenuItem (0x7fb29f3f9930) 0
+ QStyleOption (0x7fb29f3f99a0) 0
+
+Class QStyleOptionQ3ListViewItem
+ size=80 align=8
+ base size=76 base align=8
+QStyleOptionQ3ListViewItem (0x7fb29f413b60) 0
+ QStyleOption (0x7fb29f413bd0) 0
+
+Class QStyleOptionQ3DockWindow
+ size=64 align=8
+ base size=58 base align=8
+QStyleOptionQ3DockWindow (0x7fb29f262000) 0
+ QStyleOption (0x7fb29f262070) 0
+
+Class QStyleOptionDockWidget
+ size=72 align=8
+ base size=67 base align=8
+QStyleOptionDockWidget (0x7fb29f262690) 0
+ QStyleOption (0x7fb29f26e000) 0
+
+Class QStyleOptionDockWidgetV2
+ size=72 align=8
+ base size=68 base align=8
+QStyleOptionDockWidgetV2 (0x7fb29f27c380) 0
+ QStyleOptionDockWidget (0x7fb29f27c3f0) 0
+ QStyleOption (0x7fb29f27c460) 0
+
+Class QStyleOptionViewItem
+ size=104 align=8
+ base size=97 base align=8
+QStyleOptionViewItem (0x7fb29f284b60) 0
+ QStyleOption (0x7fb29f284bd0) 0
+
+Class QStyleOptionViewItemV2
+ size=104 align=8
+ base size=104 base align=8
+QStyleOptionViewItemV2 (0x7fb29f29d700) 0
+ QStyleOptionViewItem (0x7fb29f29d770) 0
+ QStyleOption (0x7fb29f29d7e0) 0
+
+Class QStyleOptionViewItemV3
+ size=120 align=8
+ base size=120 base align=8
+QStyleOptionViewItemV3 (0x7fb29f2eb150) 0
+ QStyleOptionViewItemV2 (0x7fb29f2eb1c0) 0
+ QStyleOptionViewItem (0x7fb29f2eb230) 0
+ QStyleOption (0x7fb29f2eb2a0) 0
+
+Class QStyleOptionViewItemV4
+ size=184 align=8
+ base size=184 base align=8
+QStyleOptionViewItemV4 (0x7fb29f2f5a10) 0
+ QStyleOptionViewItemV3 (0x7fb29f2f5a80) 0
+ QStyleOptionViewItemV2 (0x7fb29f2f5af0) 0
+ QStyleOptionViewItem (0x7fb29f2f5b60) 0
+ QStyleOption (0x7fb29f2f5bd0) 0
+
+Class QStyleOptionToolBox
+ size=72 align=8
+ base size=72 base align=8
+QStyleOptionToolBox (0x7fb29f317150) 0
+ QStyleOption (0x7fb29f3171c0) 0
+
+Class QStyleOptionToolBoxV2
+ size=80 align=8
+ base size=80 base align=8
+QStyleOptionToolBoxV2 (0x7fb29f323620) 0
+ QStyleOptionToolBox (0x7fb29f323690) 0
+ QStyleOption (0x7fb29f323700) 0
+
+Class QStyleOptionRubberBand
+ size=64 align=8
+ base size=61 base align=8
+QStyleOptionRubberBand (0x7fb29f33b310) 0
+ QStyleOption (0x7fb29f33b380) 0
+
+Class QStyleOptionComplex
+ size=64 align=8
+ base size=64 base align=8
+QStyleOptionComplex (0x7fb29f3443f0) 0
+ QStyleOption (0x7fb29f344460) 0
+
+Class QStyleOptionSlider
+ size=120 align=8
+ base size=113 base align=8
+QStyleOptionSlider (0x7fb29f34fbd0) 0
+ QStyleOptionComplex (0x7fb29f34fc40) 0
+ QStyleOption (0x7fb29f34fcb0) 0
+
+Class QStyleOptionSpinBox
+ size=80 align=8
+ base size=73 base align=8
+QStyleOptionSpinBox (0x7fb29f1649a0) 0
+ QStyleOptionComplex (0x7fb29f164a10) 0
+ QStyleOption (0x7fb29f164a80) 0
+
+Class QStyleOptionQ3ListView
+ size=112 align=8
+ base size=105 base align=8
+QStyleOptionQ3ListView (0x7fb29f16dee0) 0
+ QStyleOptionComplex (0x7fb29f16df50) 0
+ QStyleOption (0x7fb29f16d380) 0
+
+Class QStyleOptionToolButton
+ size=128 align=8
+ base size=128 base align=8
+QStyleOptionToolButton (0x7fb29f1a6af0) 0
+ QStyleOptionComplex (0x7fb29f1a6b60) 0
+ QStyleOption (0x7fb29f1a6bd0) 0
+
+Class QStyleOptionComboBox
+ size=112 align=8
+ base size=112 base align=8
+QStyleOptionComboBox (0x7fb29f1e6d20) 0
+ QStyleOptionComplex (0x7fb29f1e6d90) 0
+ QStyleOption (0x7fb29f1e6e00) 0
+
+Class QStyleOptionTitleBar
+ size=88 align=8
+ base size=88 base align=8
+QStyleOptionTitleBar (0x7fb29f20d850) 0
+ QStyleOptionComplex (0x7fb29f20d8c0) 0
+ QStyleOption (0x7fb29f20d930) 0
+
+Class QStyleOptionGroupBox
+ size=112 align=8
+ base size=108 base align=8
+QStyleOptionGroupBox (0x7fb29f2260e0) 0
+ QStyleOptionComplex (0x7fb29f226150) 0
+ QStyleOption (0x7fb29f2261c0) 0
+
+Class QStyleOptionSizeGrip
+ size=72 align=8
+ base size=68 base align=8
+QStyleOptionSizeGrip (0x7fb29f234cb0) 0
+ QStyleOptionComplex (0x7fb29f234d20) 0
+ QStyleOption (0x7fb29f234d90) 0
+
+Class QStyleOptionGraphicsItem
+ size=144 align=8
+ base size=144 base align=8
+QStyleOptionGraphicsItem (0x7fb29f23ec40) 0
+ QStyleOption (0x7fb29f23ecb0) 0
+
+Class QStyleHintReturn
+ size=8 align=4
+ base size=8 base align=4
+QStyleHintReturn (0x7fb29f24b2a0) 0
+
+Class QStyleHintReturnMask
+ size=16 align=8
+ base size=16 base align=8
+QStyleHintReturnMask (0x7fb29f06a3f0) 0
+ QStyleHintReturn (0x7fb29f06a460) 0
+
+Class QStyleHintReturnVariant
+ size=24 align=8
+ base size=24 base align=8
+QStyleHintReturnVariant (0x7fb29f06a620) 0
+ QStyleHintReturn (0x7fb29f06a690) 0
+
+Vtable for QAbstractItemDelegate
+QAbstractItemDelegate::_ZTV21QAbstractItemDelegate: 21u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI21QAbstractItemDelegate)
+16 QAbstractItemDelegate::metaObject
+24 QAbstractItemDelegate::qt_metacast
+32 QAbstractItemDelegate::qt_metacall
+40 QAbstractItemDelegate::~QAbstractItemDelegate
+48 QAbstractItemDelegate::~QAbstractItemDelegate
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 QAbstractItemDelegate::createEditor
+136 QAbstractItemDelegate::setEditorData
+144 QAbstractItemDelegate::setModelData
+152 QAbstractItemDelegate::updateEditorGeometry
+160 QAbstractItemDelegate::editorEvent
+
+Class QAbstractItemDelegate
+ size=16 align=8
+ base size=16 base align=8
+QAbstractItemDelegate (0x7fb29f06aaf0) 0
+ vptr=((& QAbstractItemDelegate::_ZTV21QAbstractItemDelegate) + 16u)
+ QObject (0x7fb29f06ab60) 0
+ primary-for QAbstractItemDelegate (0x7fb29f06aaf0)
+
+Vtable for QAbstractItemView
+QAbstractItemView::_ZTV17QAbstractItemView: 103u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QAbstractItemView)
+16 QAbstractItemView::metaObject
+24 QAbstractItemView::qt_metacast
+32 QAbstractItemView::qt_metacall
+40 QAbstractItemView::~QAbstractItemView
+48 QAbstractItemView::~QAbstractItemView
+56 QAbstractItemView::event
+64 QObject::eventFilter
+72 QAbstractItemView::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QAbstractScrollArea::sizeHint
+136 QAbstractScrollArea::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QAbstractItemView::mousePressEvent
+168 QAbstractItemView::mouseReleaseEvent
+176 QAbstractItemView::mouseDoubleClickEvent
+184 QAbstractItemView::mouseMoveEvent
+192 QAbstractScrollArea::wheelEvent
+200 QAbstractItemView::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QAbstractItemView::focusInEvent
+224 QAbstractItemView::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QAbstractScrollArea::paintEvent
+256 QWidget::moveEvent
+264 QAbstractItemView::resizeEvent
+272 QWidget::closeEvent
+280 QAbstractScrollArea::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QAbstractItemView::dragEnterEvent
+312 QAbstractItemView::dragMoveEvent
+320 QAbstractItemView::dragLeaveEvent
+328 QAbstractItemView::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QFrame::changeEvent
+368 QWidget::metric
+376 QAbstractItemView::inputMethodEvent
+384 QAbstractItemView::inputMethodQuery
+392 QAbstractItemView::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QAbstractItemView::viewportEvent
+456 QAbstractScrollArea::scrollContentsBy
+464 QAbstractItemView::setModel
+472 QAbstractItemView::setSelectionModel
+480 QAbstractItemView::keyboardSearch
+488 __cxa_pure_virtual
+496 __cxa_pure_virtual
+504 __cxa_pure_virtual
+512 QAbstractItemView::sizeHintForRow
+520 QAbstractItemView::sizeHintForColumn
+528 QAbstractItemView::reset
+536 QAbstractItemView::setRootIndex
+544 QAbstractItemView::doItemsLayout
+552 QAbstractItemView::selectAll
+560 QAbstractItemView::dataChanged
+568 QAbstractItemView::rowsInserted
+576 QAbstractItemView::rowsAboutToBeRemoved
+584 QAbstractItemView::selectionChanged
+592 QAbstractItemView::currentChanged
+600 QAbstractItemView::updateEditorData
+608 QAbstractItemView::updateEditorGeometries
+616 QAbstractItemView::updateGeometries
+624 QAbstractItemView::verticalScrollbarAction
+632 QAbstractItemView::horizontalScrollbarAction
+640 QAbstractItemView::verticalScrollbarValueChanged
+648 QAbstractItemView::horizontalScrollbarValueChanged
+656 QAbstractItemView::closeEditor
+664 QAbstractItemView::commitData
+672 QAbstractItemView::editorDestroyed
+680 __cxa_pure_virtual
+688 __cxa_pure_virtual
+696 __cxa_pure_virtual
+704 __cxa_pure_virtual
+712 __cxa_pure_virtual
+720 __cxa_pure_virtual
+728 QAbstractItemView::selectedIndexes
+736 QAbstractItemView::edit
+744 QAbstractItemView::selectionCommand
+752 QAbstractItemView::startDrag
+760 QAbstractItemView::viewOptions
+768 (int (*)(...))-0x00000000000000010
+776 (int (*)(...))(& _ZTI17QAbstractItemView)
+784 QAbstractItemView::_ZThn16_N17QAbstractItemViewD1Ev
+792 QAbstractItemView::_ZThn16_N17QAbstractItemViewD0Ev
+800 QWidget::_ZThn16_NK7QWidget7devTypeEv
+808 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+816 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QAbstractItemView
+ size=40 align=8
+ base size=40 base align=8
+QAbstractItemView (0x7fb29f09a1c0) 0
+ vptr=((& QAbstractItemView::_ZTV17QAbstractItemView) + 16u)
+ QAbstractScrollArea (0x7fb29f09a230) 0
+ primary-for QAbstractItemView (0x7fb29f09a1c0)
+ QFrame (0x7fb29f09a2a0) 0
+ primary-for QAbstractScrollArea (0x7fb29f09a230)
+ QWidget (0x7fb29f078d80) 0
+ primary-for QFrame (0x7fb29f09a2a0)
+ QObject (0x7fb29f09a310) 0
+ primary-for QWidget (0x7fb29f078d80)
+ QPaintDevice (0x7fb29f09a380) 16
+ vptr=((& QAbstractItemView::_ZTV17QAbstractItemView) + 784u)
+
+Vtable for QListView
+QListView::_ZTV9QListView: 103u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QListView)
+16 QListView::metaObject
+24 QListView::qt_metacast
+32 QListView::qt_metacall
+40 QListView::~QListView
+48 QListView::~QListView
+56 QListView::event
+64 QObject::eventFilter
+72 QListView::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QAbstractScrollArea::sizeHint
+136 QAbstractScrollArea::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QAbstractItemView::mousePressEvent
+168 QListView::mouseReleaseEvent
+176 QAbstractItemView::mouseDoubleClickEvent
+184 QListView::mouseMoveEvent
+192 QAbstractScrollArea::wheelEvent
+200 QAbstractItemView::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QAbstractItemView::focusInEvent
+224 QAbstractItemView::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QListView::paintEvent
+256 QWidget::moveEvent
+264 QListView::resizeEvent
+272 QWidget::closeEvent
+280 QAbstractScrollArea::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QAbstractItemView::dragEnterEvent
+312 QListView::dragMoveEvent
+320 QListView::dragLeaveEvent
+328 QListView::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QFrame::changeEvent
+368 QWidget::metric
+376 QAbstractItemView::inputMethodEvent
+384 QAbstractItemView::inputMethodQuery
+392 QAbstractItemView::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QAbstractItemView::viewportEvent
+456 QListView::scrollContentsBy
+464 QAbstractItemView::setModel
+472 QAbstractItemView::setSelectionModel
+480 QAbstractItemView::keyboardSearch
+488 QListView::visualRect
+496 QListView::scrollTo
+504 QListView::indexAt
+512 QAbstractItemView::sizeHintForRow
+520 QAbstractItemView::sizeHintForColumn
+528 QListView::reset
+536 QListView::setRootIndex
+544 QListView::doItemsLayout
+552 QAbstractItemView::selectAll
+560 QListView::dataChanged
+568 QListView::rowsInserted
+576 QListView::rowsAboutToBeRemoved
+584 QListView::selectionChanged
+592 QListView::currentChanged
+600 QAbstractItemView::updateEditorData
+608 QAbstractItemView::updateEditorGeometries
+616 QListView::updateGeometries
+624 QAbstractItemView::verticalScrollbarAction
+632 QAbstractItemView::horizontalScrollbarAction
+640 QAbstractItemView::verticalScrollbarValueChanged
+648 QAbstractItemView::horizontalScrollbarValueChanged
+656 QAbstractItemView::closeEditor
+664 QAbstractItemView::commitData
+672 QAbstractItemView::editorDestroyed
+680 QListView::moveCursor
+688 QListView::horizontalOffset
+696 QListView::verticalOffset
+704 QListView::isIndexHidden
+712 QListView::setSelection
+720 QListView::visualRegionForSelection
+728 QListView::selectedIndexes
+736 QAbstractItemView::edit
+744 QAbstractItemView::selectionCommand
+752 QListView::startDrag
+760 QListView::viewOptions
+768 (int (*)(...))-0x00000000000000010
+776 (int (*)(...))(& _ZTI9QListView)
+784 QListView::_ZThn16_N9QListViewD1Ev
+792 QListView::_ZThn16_N9QListViewD0Ev
+800 QWidget::_ZThn16_NK7QWidget7devTypeEv
+808 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+816 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QListView
+ size=40 align=8
+ base size=40 base align=8
+QListView (0x7fb29f10f9a0) 0
+ vptr=((& QListView::_ZTV9QListView) + 16u)
+ QAbstractItemView (0x7fb29f10fa10) 0
+ primary-for QListView (0x7fb29f10f9a0)
+ QAbstractScrollArea (0x7fb29f10fa80) 0
+ primary-for QAbstractItemView (0x7fb29f10fa10)
+ QFrame (0x7fb29f10faf0) 0
+ primary-for QAbstractScrollArea (0x7fb29f10fa80)
+ QWidget (0x7fb29f0fa500) 0
+ primary-for QFrame (0x7fb29f10faf0)
+ QObject (0x7fb29f10fb60) 0
+ primary-for QWidget (0x7fb29f0fa500)
+ QPaintDevice (0x7fb29f10fbd0) 16
+ vptr=((& QListView::_ZTV9QListView) + 784u)
+
+Vtable for QUndoView
+QUndoView::_ZTV9QUndoView: 103u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QUndoView)
+16 QUndoView::metaObject
+24 QUndoView::qt_metacast
+32 QUndoView::qt_metacall
+40 QUndoView::~QUndoView
+48 QUndoView::~QUndoView
+56 QListView::event
+64 QObject::eventFilter
+72 QListView::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QAbstractScrollArea::sizeHint
+136 QAbstractScrollArea::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QAbstractItemView::mousePressEvent
+168 QListView::mouseReleaseEvent
+176 QAbstractItemView::mouseDoubleClickEvent
+184 QListView::mouseMoveEvent
+192 QAbstractScrollArea::wheelEvent
+200 QAbstractItemView::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QAbstractItemView::focusInEvent
+224 QAbstractItemView::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QListView::paintEvent
+256 QWidget::moveEvent
+264 QListView::resizeEvent
+272 QWidget::closeEvent
+280 QAbstractScrollArea::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QAbstractItemView::dragEnterEvent
+312 QListView::dragMoveEvent
+320 QListView::dragLeaveEvent
+328 QListView::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QFrame::changeEvent
+368 QWidget::metric
+376 QAbstractItemView::inputMethodEvent
+384 QAbstractItemView::inputMethodQuery
+392 QAbstractItemView::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QAbstractItemView::viewportEvent
+456 QListView::scrollContentsBy
+464 QAbstractItemView::setModel
+472 QAbstractItemView::setSelectionModel
+480 QAbstractItemView::keyboardSearch
+488 QListView::visualRect
+496 QListView::scrollTo
+504 QListView::indexAt
+512 QAbstractItemView::sizeHintForRow
+520 QAbstractItemView::sizeHintForColumn
+528 QListView::reset
+536 QListView::setRootIndex
+544 QListView::doItemsLayout
+552 QAbstractItemView::selectAll
+560 QListView::dataChanged
+568 QListView::rowsInserted
+576 QListView::rowsAboutToBeRemoved
+584 QListView::selectionChanged
+592 QListView::currentChanged
+600 QAbstractItemView::updateEditorData
+608 QAbstractItemView::updateEditorGeometries
+616 QListView::updateGeometries
+624 QAbstractItemView::verticalScrollbarAction
+632 QAbstractItemView::horizontalScrollbarAction
+640 QAbstractItemView::verticalScrollbarValueChanged
+648 QAbstractItemView::horizontalScrollbarValueChanged
+656 QAbstractItemView::closeEditor
+664 QAbstractItemView::commitData
+672 QAbstractItemView::editorDestroyed
+680 QListView::moveCursor
+688 QListView::horizontalOffset
+696 QListView::verticalOffset
+704 QListView::isIndexHidden
+712 QListView::setSelection
+720 QListView::visualRegionForSelection
+728 QListView::selectedIndexes
+736 QAbstractItemView::edit
+744 QAbstractItemView::selectionCommand
+752 QListView::startDrag
+760 QListView::viewOptions
+768 (int (*)(...))-0x00000000000000010
+776 (int (*)(...))(& _ZTI9QUndoView)
+784 QUndoView::_ZThn16_N9QUndoViewD1Ev
+792 QUndoView::_ZThn16_N9QUndoViewD0Ev
+800 QWidget::_ZThn16_NK7QWidget7devTypeEv
+808 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+816 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QUndoView
+ size=40 align=8
+ base size=40 base align=8
+QUndoView (0x7fb29ef5e070) 0
+ vptr=((& QUndoView::_ZTV9QUndoView) + 16u)
+ QListView (0x7fb29ef5e0e0) 0
+ primary-for QUndoView (0x7fb29ef5e070)
+ QAbstractItemView (0x7fb29ef5e150) 0
+ primary-for QListView (0x7fb29ef5e0e0)
+ QAbstractScrollArea (0x7fb29ef5e1c0) 0
+ primary-for QAbstractItemView (0x7fb29ef5e150)
+ QFrame (0x7fb29ef5e230) 0
+ primary-for QAbstractScrollArea (0x7fb29ef5e1c0)
+ QWidget (0x7fb29ef57500) 0
+ primary-for QFrame (0x7fb29ef5e230)
+ QObject (0x7fb29ef5e2a0) 0
+ primary-for QWidget (0x7fb29ef57500)
+ QPaintDevice (0x7fb29ef5e310) 16
+ vptr=((& QUndoView::_ZTV9QUndoView) + 784u)
+
+Vtable for QDialog
+QDialog::_ZTV7QDialog: 66u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QDialog)
+16 QDialog::metaObject
+24 QDialog::qt_metacast
+32 QDialog::qt_metacall
+40 QDialog::~QDialog
+48 QDialog::~QDialog
+56 QWidget::event
+64 QDialog::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QDialog::setVisible
+128 QDialog::sizeHint
+136 QDialog::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QDialog::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QWidget::paintEvent
+256 QWidget::moveEvent
+264 QDialog::resizeEvent
+272 QDialog::closeEvent
+280 QDialog::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QDialog::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QWidget::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QDialog::done
+456 QDialog::accept
+464 QDialog::reject
+472 (int (*)(...))-0x00000000000000010
+480 (int (*)(...))(& _ZTI7QDialog)
+488 QDialog::_ZThn16_N7QDialogD1Ev
+496 QDialog::_ZThn16_N7QDialogD0Ev
+504 QWidget::_ZThn16_NK7QWidget7devTypeEv
+512 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+520 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QDialog
+ size=40 align=8
+ base size=40 base align=8
+QDialog (0x7fb29ef76d20) 0
+ vptr=((& QDialog::_ZTV7QDialog) + 16u)
+ QWidget (0x7fb29ef57f00) 0
+ primary-for QDialog (0x7fb29ef76d20)
+ QObject (0x7fb29ef76d90) 0
+ primary-for QWidget (0x7fb29ef57f00)
+ QPaintDevice (0x7fb29ef76e00) 16
+ vptr=((& QDialog::_ZTV7QDialog) + 488u)
+
+Vtable for QAbstractPageSetupDialog
+QAbstractPageSetupDialog::_ZTV24QAbstractPageSetupDialog: 67u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI24QAbstractPageSetupDialog)
+16 QAbstractPageSetupDialog::metaObject
+24 QAbstractPageSetupDialog::qt_metacast
+32 QAbstractPageSetupDialog::qt_metacall
+40 QAbstractPageSetupDialog::~QAbstractPageSetupDialog
+48 QAbstractPageSetupDialog::~QAbstractPageSetupDialog
+56 QWidget::event
+64 QDialog::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QDialog::setVisible
+128 QDialog::sizeHint
+136 QDialog::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QDialog::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QWidget::paintEvent
+256 QWidget::moveEvent
+264 QDialog::resizeEvent
+272 QDialog::closeEvent
+280 QDialog::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QDialog::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QWidget::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QAbstractPageSetupDialog::done
+456 QDialog::accept
+464 QDialog::reject
+472 __cxa_pure_virtual
+480 (int (*)(...))-0x00000000000000010
+488 (int (*)(...))(& _ZTI24QAbstractPageSetupDialog)
+496 QAbstractPageSetupDialog::_ZThn16_N24QAbstractPageSetupDialogD1Ev
+504 QAbstractPageSetupDialog::_ZThn16_N24QAbstractPageSetupDialogD0Ev
+512 QWidget::_ZThn16_NK7QWidget7devTypeEv
+520 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+528 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QAbstractPageSetupDialog
+ size=40 align=8
+ base size=40 base align=8
+QAbstractPageSetupDialog (0x7fb29ef9db60) 0
+ vptr=((& QAbstractPageSetupDialog::_ZTV24QAbstractPageSetupDialog) + 16u)
+ QDialog (0x7fb29ef9dbd0) 0
+ primary-for QAbstractPageSetupDialog (0x7fb29ef9db60)
+ QWidget (0x7fb29ef7ea00) 0
+ primary-for QDialog (0x7fb29ef9dbd0)
+ QObject (0x7fb29ef9dc40) 0
+ primary-for QWidget (0x7fb29ef7ea00)
+ QPaintDevice (0x7fb29ef9dcb0) 16
+ vptr=((& QAbstractPageSetupDialog::_ZTV24QAbstractPageSetupDialog) + 496u)
+
+Vtable for QAbstractPrintDialog
+QAbstractPrintDialog::_ZTV20QAbstractPrintDialog: 67u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI20QAbstractPrintDialog)
+16 QAbstractPrintDialog::metaObject
+24 QAbstractPrintDialog::qt_metacast
+32 QAbstractPrintDialog::qt_metacall
+40 QAbstractPrintDialog::~QAbstractPrintDialog
+48 QAbstractPrintDialog::~QAbstractPrintDialog
+56 QWidget::event
+64 QDialog::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QDialog::setVisible
+128 QDialog::sizeHint
+136 QDialog::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QDialog::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QWidget::paintEvent
+256 QWidget::moveEvent
+264 QDialog::resizeEvent
+272 QDialog::closeEvent
+280 QDialog::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QDialog::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QWidget::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QDialog::done
+456 QDialog::accept
+464 QDialog::reject
+472 __cxa_pure_virtual
+480 (int (*)(...))-0x00000000000000010
+488 (int (*)(...))(& _ZTI20QAbstractPrintDialog)
+496 QAbstractPrintDialog::_ZThn16_N20QAbstractPrintDialogD1Ev
+504 QAbstractPrintDialog::_ZThn16_N20QAbstractPrintDialogD0Ev
+512 QWidget::_ZThn16_NK7QWidget7devTypeEv
+520 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+528 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QAbstractPrintDialog
+ size=40 align=8
+ base size=40 base align=8
+QAbstractPrintDialog (0x7fb29efbc150) 0
+ vptr=((& QAbstractPrintDialog::_ZTV20QAbstractPrintDialog) + 16u)
+ QDialog (0x7fb29efbc1c0) 0
+ primary-for QAbstractPrintDialog (0x7fb29efbc150)
+ QWidget (0x7fb29efb4400) 0
+ primary-for QDialog (0x7fb29efbc1c0)
+ QObject (0x7fb29efbc230) 0
+ primary-for QWidget (0x7fb29efb4400)
+ QPaintDevice (0x7fb29efbc2a0) 16
+ vptr=((& QAbstractPrintDialog::_ZTV20QAbstractPrintDialog) + 496u)
+
+Vtable for QColorDialog
+QColorDialog::_ZTV12QColorDialog: 66u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QColorDialog)
+16 QColorDialog::metaObject
+24 QColorDialog::qt_metacast
+32 QColorDialog::qt_metacall
+40 QColorDialog::~QColorDialog
+48 QColorDialog::~QColorDialog
+56 QWidget::event
+64 QDialog::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QColorDialog::setVisible
+128 QDialog::sizeHint
+136 QDialog::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QDialog::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QWidget::paintEvent
+256 QWidget::moveEvent
+264 QDialog::resizeEvent
+272 QDialog::closeEvent
+280 QDialog::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QDialog::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QColorDialog::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QColorDialog::done
+456 QDialog::accept
+464 QDialog::reject
+472 (int (*)(...))-0x00000000000000010
+480 (int (*)(...))(& _ZTI12QColorDialog)
+488 QColorDialog::_ZThn16_N12QColorDialogD1Ev
+496 QColorDialog::_ZThn16_N12QColorDialogD0Ev
+504 QWidget::_ZThn16_NK7QWidget7devTypeEv
+512 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+520 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QColorDialog
+ size=40 align=8
+ base size=40 base align=8
+QColorDialog (0x7fb29f017230) 0
+ vptr=((& QColorDialog::_ZTV12QColorDialog) + 16u)
+ QDialog (0x7fb29f0172a0) 0
+ primary-for QColorDialog (0x7fb29f017230)
+ QWidget (0x7fb29efd8880) 0
+ primary-for QDialog (0x7fb29f0172a0)
+ QObject (0x7fb29f017310) 0
+ primary-for QWidget (0x7fb29efd8880)
+ QPaintDevice (0x7fb29f017380) 16
+ vptr=((& QColorDialog::_ZTV12QColorDialog) + 488u)
+
+Vtable for QErrorMessage
+QErrorMessage::_ZTV13QErrorMessage: 66u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QErrorMessage)
+16 QErrorMessage::metaObject
+24 QErrorMessage::qt_metacast
+32 QErrorMessage::qt_metacall
+40 QErrorMessage::~QErrorMessage
+48 QErrorMessage::~QErrorMessage
+56 QWidget::event
+64 QDialog::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QDialog::setVisible
+128 QDialog::sizeHint
+136 QDialog::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QDialog::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QWidget::paintEvent
+256 QWidget::moveEvent
+264 QDialog::resizeEvent
+272 QDialog::closeEvent
+280 QDialog::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QDialog::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QErrorMessage::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QErrorMessage::done
+456 QDialog::accept
+464 QDialog::reject
+472 (int (*)(...))-0x00000000000000010
+480 (int (*)(...))(& _ZTI13QErrorMessage)
+488 QErrorMessage::_ZThn16_N13QErrorMessageD1Ev
+496 QErrorMessage::_ZThn16_N13QErrorMessageD0Ev
+504 QWidget::_ZThn16_NK7QWidget7devTypeEv
+512 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+520 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QErrorMessage
+ size=40 align=8
+ base size=40 base align=8
+QErrorMessage (0x7fb29ee795b0) 0
+ vptr=((& QErrorMessage::_ZTV13QErrorMessage) + 16u)
+ QDialog (0x7fb29ee79620) 0
+ primary-for QErrorMessage (0x7fb29ee795b0)
+ QWidget (0x7fb29f041c00) 0
+ primary-for QDialog (0x7fb29ee79620)
+ QObject (0x7fb29ee79690) 0
+ primary-for QWidget (0x7fb29f041c00)
+ QPaintDevice (0x7fb29ee79700) 16
+ vptr=((& QErrorMessage::_ZTV13QErrorMessage) + 488u)
+
+Vtable for QFileDialog
+QFileDialog::_ZTV11QFileDialog: 66u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QFileDialog)
+16 QFileDialog::metaObject
+24 QFileDialog::qt_metacast
+32 QFileDialog::qt_metacall
+40 QFileDialog::~QFileDialog
+48 QFileDialog::~QFileDialog
+56 QWidget::event
+64 QDialog::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QFileDialog::setVisible
+128 QDialog::sizeHint
+136 QDialog::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QDialog::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QWidget::paintEvent
+256 QWidget::moveEvent
+264 QDialog::resizeEvent
+272 QDialog::closeEvent
+280 QDialog::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QDialog::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QFileDialog::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QFileDialog::done
+456 QFileDialog::accept
+464 QDialog::reject
+472 (int (*)(...))-0x00000000000000010
+480 (int (*)(...))(& _ZTI11QFileDialog)
+488 QFileDialog::_ZThn16_N11QFileDialogD1Ev
+496 QFileDialog::_ZThn16_N11QFileDialogD0Ev
+504 QWidget::_ZThn16_NK7QWidget7devTypeEv
+512 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+520 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QFileDialog
+ size=40 align=8
+ base size=40 base align=8
+QFileDialog (0x7fb29ee951c0) 0
+ vptr=((& QFileDialog::_ZTV11QFileDialog) + 16u)
+ QDialog (0x7fb29ee95230) 0
+ primary-for QFileDialog (0x7fb29ee951c0)
+ QWidget (0x7fb29ee8d780) 0
+ primary-for QDialog (0x7fb29ee95230)
+ QObject (0x7fb29ee952a0) 0
+ primary-for QWidget (0x7fb29ee8d780)
+ QPaintDevice (0x7fb29ee95310) 16
+ vptr=((& QFileDialog::_ZTV11QFileDialog) + 488u)
+
+Vtable for QFileSystemModel
+QFileSystemModel::_ZTV16QFileSystemModel: 42u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QFileSystemModel)
+16 QFileSystemModel::metaObject
+24 QFileSystemModel::qt_metacast
+32 QFileSystemModel::qt_metacall
+40 QFileSystemModel::~QFileSystemModel
+48 QFileSystemModel::~QFileSystemModel
+56 QFileSystemModel::event
+64 QObject::eventFilter
+72 QFileSystemModel::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QFileSystemModel::index
+120 QFileSystemModel::parent
+128 QFileSystemModel::rowCount
+136 QFileSystemModel::columnCount
+144 QFileSystemModel::hasChildren
+152 QFileSystemModel::data
+160 QFileSystemModel::setData
+168 QFileSystemModel::headerData
+176 QAbstractItemModel::setHeaderData
+184 QAbstractItemModel::itemData
+192 QAbstractItemModel::setItemData
+200 QFileSystemModel::mimeTypes
+208 QFileSystemModel::mimeData
+216 QFileSystemModel::dropMimeData
+224 QFileSystemModel::supportedDropActions
+232 QAbstractItemModel::insertRows
+240 QAbstractItemModel::insertColumns
+248 QAbstractItemModel::removeRows
+256 QAbstractItemModel::removeColumns
+264 QFileSystemModel::fetchMore
+272 QFileSystemModel::canFetchMore
+280 QFileSystemModel::flags
+288 QFileSystemModel::sort
+296 QAbstractItemModel::buddy
+304 QAbstractItemModel::match
+312 QAbstractItemModel::span
+320 QAbstractItemModel::submit
+328 QAbstractItemModel::revert
+
+Class QFileSystemModel
+ size=16 align=8
+ base size=16 base align=8
+QFileSystemModel (0x7fb29ef12770) 0
+ vptr=((& QFileSystemModel::_ZTV16QFileSystemModel) + 16u)
+ QAbstractItemModel (0x7fb29ef127e0) 0
+ primary-for QFileSystemModel (0x7fb29ef12770)
+ QObject (0x7fb29ef12850) 0
+ primary-for QAbstractItemModel (0x7fb29ef127e0)
+
+Vtable for QFontDialog
+QFontDialog::_ZTV11QFontDialog: 66u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QFontDialog)
+16 QFontDialog::metaObject
+24 QFontDialog::qt_metacast
+32 QFontDialog::qt_metacall
+40 QFontDialog::~QFontDialog
+48 QFontDialog::~QFontDialog
+56 QWidget::event
+64 QFontDialog::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QFontDialog::setVisible
+128 QDialog::sizeHint
+136 QDialog::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QDialog::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QWidget::paintEvent
+256 QWidget::moveEvent
+264 QDialog::resizeEvent
+272 QDialog::closeEvent
+280 QDialog::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QDialog::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QFontDialog::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QFontDialog::done
+456 QDialog::accept
+464 QDialog::reject
+472 (int (*)(...))-0x00000000000000010
+480 (int (*)(...))(& _ZTI11QFontDialog)
+488 QFontDialog::_ZThn16_N11QFontDialogD1Ev
+496 QFontDialog::_ZThn16_N11QFontDialogD0Ev
+504 QWidget::_ZThn16_NK7QWidget7devTypeEv
+512 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+520 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QFontDialog
+ size=40 align=8
+ base size=40 base align=8
+QFontDialog (0x7fb29ef55e70) 0
+ vptr=((& QFontDialog::_ZTV11QFontDialog) + 16u)
+ QDialog (0x7fb29ef55ee0) 0
+ primary-for QFontDialog (0x7fb29ef55e70)
+ QWidget (0x7fb29ed5f500) 0
+ primary-for QDialog (0x7fb29ef55ee0)
+ QObject (0x7fb29ef55f50) 0
+ primary-for QWidget (0x7fb29ed5f500)
+ QPaintDevice (0x7fb29ed64000) 16
+ vptr=((& QFontDialog::_ZTV11QFontDialog) + 488u)
+
+Vtable for QLineEdit
+QLineEdit::_ZTV9QLineEdit: 63u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QLineEdit)
+16 QLineEdit::metaObject
+24 QLineEdit::qt_metacast
+32 QLineEdit::qt_metacall
+40 QLineEdit::~QLineEdit
+48 QLineEdit::~QLineEdit
+56 QLineEdit::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QLineEdit::sizeHint
+136 QLineEdit::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QLineEdit::mousePressEvent
+168 QLineEdit::mouseReleaseEvent
+176 QLineEdit::mouseDoubleClickEvent
+184 QLineEdit::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QLineEdit::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QLineEdit::focusInEvent
+224 QLineEdit::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QLineEdit::paintEvent
+256 QWidget::moveEvent
+264 QWidget::resizeEvent
+272 QWidget::closeEvent
+280 QLineEdit::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QLineEdit::dragEnterEvent
+312 QLineEdit::dragMoveEvent
+320 QLineEdit::dragLeaveEvent
+328 QLineEdit::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QLineEdit::changeEvent
+368 QWidget::metric
+376 QLineEdit::inputMethodEvent
+384 QLineEdit::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 (int (*)(...))-0x00000000000000010
+456 (int (*)(...))(& _ZTI9QLineEdit)
+464 QLineEdit::_ZThn16_N9QLineEditD1Ev
+472 QLineEdit::_ZThn16_N9QLineEditD0Ev
+480 QWidget::_ZThn16_NK7QWidget7devTypeEv
+488 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+496 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QLineEdit
+ size=40 align=8
+ base size=40 base align=8
+QLineEdit (0x7fb29edc6310) 0
+ vptr=((& QLineEdit::_ZTV9QLineEdit) + 16u)
+ QWidget (0x7fb29ed87800) 0
+ primary-for QLineEdit (0x7fb29edc6310)
+ QObject (0x7fb29edc6380) 0
+ primary-for QWidget (0x7fb29ed87800)
+ QPaintDevice (0x7fb29edc63f0) 16
+ vptr=((& QLineEdit::_ZTV9QLineEdit) + 464u)
+
+Vtable for QInputDialog
+QInputDialog::_ZTV12QInputDialog: 66u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QInputDialog)
+16 QInputDialog::metaObject
+24 QInputDialog::qt_metacast
+32 QInputDialog::qt_metacall
+40 QInputDialog::~QInputDialog
+48 QInputDialog::~QInputDialog
+56 QWidget::event
+64 QDialog::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QInputDialog::setVisible
+128 QInputDialog::sizeHint
+136 QInputDialog::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QDialog::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QWidget::paintEvent
+256 QWidget::moveEvent
+264 QDialog::resizeEvent
+272 QDialog::closeEvent
+280 QDialog::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QDialog::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QWidget::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QInputDialog::done
+456 QDialog::accept
+464 QDialog::reject
+472 (int (*)(...))-0x00000000000000010
+480 (int (*)(...))(& _ZTI12QInputDialog)
+488 QInputDialog::_ZThn16_N12QInputDialogD1Ev
+496 QInputDialog::_ZThn16_N12QInputDialogD0Ev
+504 QWidget::_ZThn16_NK7QWidget7devTypeEv
+512 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+520 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QInputDialog
+ size=40 align=8
+ base size=40 base align=8
+QInputDialog (0x7fb29ee17070) 0
+ vptr=((& QInputDialog::_ZTV12QInputDialog) + 16u)
+ QDialog (0x7fb29ee170e0) 0
+ primary-for QInputDialog (0x7fb29ee17070)
+ QWidget (0x7fb29ee11780) 0
+ primary-for QDialog (0x7fb29ee170e0)
+ QObject (0x7fb29ee17150) 0
+ primary-for QWidget (0x7fb29ee11780)
+ QPaintDevice (0x7fb29ee171c0) 16
+ vptr=((& QInputDialog::_ZTV12QInputDialog) + 488u)
+
+Vtable for QMessageBox
+QMessageBox::_ZTV11QMessageBox: 66u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QMessageBox)
+16 QMessageBox::metaObject
+24 QMessageBox::qt_metacast
+32 QMessageBox::qt_metacall
+40 QMessageBox::~QMessageBox
+48 QMessageBox::~QMessageBox
+56 QMessageBox::event
+64 QDialog::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QDialog::setVisible
+128 QMessageBox::sizeHint
+136 QDialog::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QMessageBox::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QWidget::paintEvent
+256 QWidget::moveEvent
+264 QMessageBox::resizeEvent
+272 QMessageBox::closeEvent
+280 QDialog::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QMessageBox::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QMessageBox::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QDialog::done
+456 QDialog::accept
+464 QDialog::reject
+472 (int (*)(...))-0x00000000000000010
+480 (int (*)(...))(& _ZTI11QMessageBox)
+488 QMessageBox::_ZThn16_N11QMessageBoxD1Ev
+496 QMessageBox::_ZThn16_N11QMessageBoxD0Ev
+504 QWidget::_ZThn16_NK7QWidget7devTypeEv
+512 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+520 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QMessageBox
+ size=40 align=8
+ base size=40 base align=8
+QMessageBox (0x7fb29ec75ee0) 0
+ vptr=((& QMessageBox::_ZTV11QMessageBox) + 16u)
+ QDialog (0x7fb29ec75f50) 0
+ primary-for QMessageBox (0x7fb29ec75ee0)
+ QWidget (0x7fb29ec8e100) 0
+ primary-for QDialog (0x7fb29ec75f50)
+ QObject (0x7fb29ec8f000) 0
+ primary-for QWidget (0x7fb29ec8e100)
+ QPaintDevice (0x7fb29ec8f070) 16
+ vptr=((& QMessageBox::_ZTV11QMessageBox) + 488u)
+
+Vtable for QPageSetupDialog
+QPageSetupDialog::_ZTV16QPageSetupDialog: 67u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QPageSetupDialog)
+16 QPageSetupDialog::metaObject
+24 QPageSetupDialog::qt_metacast
+32 QPageSetupDialog::qt_metacall
+40 QPageSetupDialog::~QPageSetupDialog
+48 QPageSetupDialog::~QPageSetupDialog
+56 QWidget::event
+64 QDialog::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QDialog::setVisible
+128 QDialog::sizeHint
+136 QDialog::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QDialog::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QWidget::paintEvent
+256 QWidget::moveEvent
+264 QDialog::resizeEvent
+272 QDialog::closeEvent
+280 QDialog::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QDialog::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QWidget::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QAbstractPageSetupDialog::done
+456 QDialog::accept
+464 QDialog::reject
+472 QPageSetupDialog::exec
+480 (int (*)(...))-0x00000000000000010
+488 (int (*)(...))(& _ZTI16QPageSetupDialog)
+496 QPageSetupDialog::_ZThn16_N16QPageSetupDialogD1Ev
+504 QPageSetupDialog::_ZThn16_N16QPageSetupDialogD0Ev
+512 QWidget::_ZThn16_NK7QWidget7devTypeEv
+520 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+528 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QPageSetupDialog
+ size=40 align=8
+ base size=40 base align=8
+QPageSetupDialog (0x7fb29ed0e850) 0
+ vptr=((& QPageSetupDialog::_ZTV16QPageSetupDialog) + 16u)
+ QAbstractPageSetupDialog (0x7fb29ed0e8c0) 0
+ primary-for QPageSetupDialog (0x7fb29ed0e850)
+ QDialog (0x7fb29ed0e930) 0
+ primary-for QAbstractPageSetupDialog (0x7fb29ed0e8c0)
+ QWidget (0x7fb29ecf3800) 0
+ primary-for QDialog (0x7fb29ed0e930)
+ QObject (0x7fb29ed0e9a0) 0
+ primary-for QWidget (0x7fb29ecf3800)
+ QPaintDevice (0x7fb29ed0ea10) 16
+ vptr=((& QPageSetupDialog::_ZTV16QPageSetupDialog) + 496u)
+
+Vtable for QUnixPrintWidget
+QUnixPrintWidget::_ZTV16QUnixPrintWidget: 63u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QUnixPrintWidget)
+16 QUnixPrintWidget::metaObject
+24 QUnixPrintWidget::qt_metacast
+32 QUnixPrintWidget::qt_metacall
+40 QUnixPrintWidget::~QUnixPrintWidget
+48 QUnixPrintWidget::~QUnixPrintWidget
+56 QWidget::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QWidget::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QWidget::paintEvent
+256 QWidget::moveEvent
+264 QWidget::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QWidget::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 (int (*)(...))-0x00000000000000010
+456 (int (*)(...))(& _ZTI16QUnixPrintWidget)
+464 QUnixPrintWidget::_ZThn16_N16QUnixPrintWidgetD1Ev
+472 QUnixPrintWidget::_ZThn16_N16QUnixPrintWidgetD0Ev
+480 QWidget::_ZThn16_NK7QWidget7devTypeEv
+488 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+496 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QUnixPrintWidget
+ size=48 align=8
+ base size=48 base align=8
+QUnixPrintWidget (0x7fb29ed447e0) 0
+ vptr=((& QUnixPrintWidget::_ZTV16QUnixPrintWidget) + 16u)
+ QWidget (0x7fb29ed43380) 0
+ primary-for QUnixPrintWidget (0x7fb29ed447e0)
+ QObject (0x7fb29ed44850) 0
+ primary-for QWidget (0x7fb29ed43380)
+ QPaintDevice (0x7fb29ed448c0) 16
+ vptr=((& QUnixPrintWidget::_ZTV16QUnixPrintWidget) + 464u)
+
+Vtable for QPrintDialog
+QPrintDialog::_ZTV12QPrintDialog: 67u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QPrintDialog)
+16 QPrintDialog::metaObject
+24 QPrintDialog::qt_metacast
+32 QPrintDialog::qt_metacall
+40 QPrintDialog::~QPrintDialog
+48 QPrintDialog::~QPrintDialog
+56 QWidget::event
+64 QDialog::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QPrintDialog::setVisible
+128 QDialog::sizeHint
+136 QDialog::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QDialog::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QWidget::paintEvent
+256 QWidget::moveEvent
+264 QDialog::resizeEvent
+272 QDialog::closeEvent
+280 QDialog::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QDialog::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QWidget::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QPrintDialog::done
+456 QPrintDialog::accept
+464 QDialog::reject
+472 QPrintDialog::exec
+480 (int (*)(...))-0x00000000000000010
+488 (int (*)(...))(& _ZTI12QPrintDialog)
+496 QPrintDialog::_ZThn16_N12QPrintDialogD1Ev
+504 QPrintDialog::_ZThn16_N12QPrintDialogD0Ev
+512 QWidget::_ZThn16_NK7QWidget7devTypeEv
+520 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+528 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QPrintDialog
+ size=40 align=8
+ base size=40 base align=8
+QPrintDialog (0x7fb29eb5b700) 0
+ vptr=((& QPrintDialog::_ZTV12QPrintDialog) + 16u)
+ QAbstractPrintDialog (0x7fb29eb5b770) 0
+ primary-for QPrintDialog (0x7fb29eb5b700)
+ QDialog (0x7fb29eb5b7e0) 0
+ primary-for QAbstractPrintDialog (0x7fb29eb5b770)
+ QWidget (0x7fb29ed43a80) 0
+ primary-for QDialog (0x7fb29eb5b7e0)
+ QObject (0x7fb29eb5b850) 0
+ primary-for QWidget (0x7fb29ed43a80)
+ QPaintDevice (0x7fb29eb5b8c0) 16
+ vptr=((& QPrintDialog::_ZTV12QPrintDialog) + 496u)
+
+Vtable for QPrintPreviewDialog
+QPrintPreviewDialog::_ZTV19QPrintPreviewDialog: 66u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QPrintPreviewDialog)
+16 QPrintPreviewDialog::metaObject
+24 QPrintPreviewDialog::qt_metacast
+32 QPrintPreviewDialog::qt_metacall
+40 QPrintPreviewDialog::~QPrintPreviewDialog
+48 QPrintPreviewDialog::~QPrintPreviewDialog
+56 QWidget::event
+64 QDialog::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QPrintPreviewDialog::setVisible
+128 QDialog::sizeHint
+136 QDialog::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QDialog::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QWidget::paintEvent
+256 QWidget::moveEvent
+264 QDialog::resizeEvent
+272 QDialog::closeEvent
+280 QDialog::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QDialog::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QWidget::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QPrintPreviewDialog::done
+456 QDialog::accept
+464 QDialog::reject
+472 (int (*)(...))-0x00000000000000010
+480 (int (*)(...))(& _ZTI19QPrintPreviewDialog)
+488 QPrintPreviewDialog::_ZThn16_N19QPrintPreviewDialogD1Ev
+496 QPrintPreviewDialog::_ZThn16_N19QPrintPreviewDialogD0Ev
+504 QWidget::_ZThn16_NK7QWidget7devTypeEv
+512 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+520 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QPrintPreviewDialog
+ size=48 align=8
+ base size=48 base align=8
+QPrintPreviewDialog (0x7fb29eb772a0) 0
+ vptr=((& QPrintPreviewDialog::_ZTV19QPrintPreviewDialog) + 16u)
+ QDialog (0x7fb29eb77310) 0
+ primary-for QPrintPreviewDialog (0x7fb29eb772a0)
+ QWidget (0x7fb29eb72480) 0
+ primary-for QDialog (0x7fb29eb77310)
+ QObject (0x7fb29eb77380) 0
+ primary-for QWidget (0x7fb29eb72480)
+ QPaintDevice (0x7fb29eb773f0) 16
+ vptr=((& QPrintPreviewDialog::_ZTV19QPrintPreviewDialog) + 488u)
+
+Vtable for QProgressDialog
+QProgressDialog::_ZTV15QProgressDialog: 66u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QProgressDialog)
+16 QProgressDialog::metaObject
+24 QProgressDialog::qt_metacast
+32 QProgressDialog::qt_metacall
+40 QProgressDialog::~QProgressDialog
+48 QProgressDialog::~QProgressDialog
+56 QWidget::event
+64 QDialog::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QDialog::setVisible
+128 QProgressDialog::sizeHint
+136 QDialog::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QDialog::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QWidget::paintEvent
+256 QWidget::moveEvent
+264 QProgressDialog::resizeEvent
+272 QProgressDialog::closeEvent
+280 QDialog::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QProgressDialog::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QProgressDialog::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QDialog::done
+456 QDialog::accept
+464 QDialog::reject
+472 (int (*)(...))-0x00000000000000010
+480 (int (*)(...))(& _ZTI15QProgressDialog)
+488 QProgressDialog::_ZThn16_N15QProgressDialogD1Ev
+496 QProgressDialog::_ZThn16_N15QProgressDialogD0Ev
+504 QWidget::_ZThn16_NK7QWidget7devTypeEv
+512 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+520 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QProgressDialog
+ size=40 align=8
+ base size=40 base align=8
+QProgressDialog (0x7fb29eb8fa10) 0
+ vptr=((& QProgressDialog::_ZTV15QProgressDialog) + 16u)
+ QDialog (0x7fb29eb8fa80) 0
+ primary-for QProgressDialog (0x7fb29eb8fa10)
+ QWidget (0x7fb29eb72e80) 0
+ primary-for QDialog (0x7fb29eb8fa80)
+ QObject (0x7fb29eb8faf0) 0
+ primary-for QWidget (0x7fb29eb72e80)
+ QPaintDevice (0x7fb29eb8fb60) 16
+ vptr=((& QProgressDialog::_ZTV15QProgressDialog) + 488u)
+
+Vtable for QWizard
+QWizard::_ZTV7QWizard: 70u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QWizard)
+16 QWizard::metaObject
+24 QWizard::qt_metacast
+32 QWizard::qt_metacall
+40 QWizard::~QWizard
+48 QWizard::~QWizard
+56 QWizard::event
+64 QDialog::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWizard::setVisible
+128 QWizard::sizeHint
+136 QDialog::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QDialog::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QWizard::paintEvent
+256 QWidget::moveEvent
+264 QWizard::resizeEvent
+272 QDialog::closeEvent
+280 QDialog::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QDialog::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QWidget::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QWizard::done
+456 QDialog::accept
+464 QDialog::reject
+472 QWizard::validateCurrentPage
+480 QWizard::nextId
+488 QWizard::initializePage
+496 QWizard::cleanupPage
+504 (int (*)(...))-0x00000000000000010
+512 (int (*)(...))(& _ZTI7QWizard)
+520 QWizard::_ZThn16_N7QWizardD1Ev
+528 QWizard::_ZThn16_N7QWizardD0Ev
+536 QWidget::_ZThn16_NK7QWidget7devTypeEv
+544 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+552 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QWizard
+ size=40 align=8
+ base size=40 base align=8
+QWizard (0x7fb29ebb4620) 0
+ vptr=((& QWizard::_ZTV7QWizard) + 16u)
+ QDialog (0x7fb29ebb4690) 0
+ primary-for QWizard (0x7fb29ebb4620)
+ QWidget (0x7fb29ebae880) 0
+ primary-for QDialog (0x7fb29ebb4690)
+ QObject (0x7fb29ebb4700) 0
+ primary-for QWidget (0x7fb29ebae880)
+ QPaintDevice (0x7fb29ebb4770) 16
+ vptr=((& QWizard::_ZTV7QWizard) + 520u)
+
+Vtable for QWizardPage
+QWizardPage::_ZTV11QWizardPage: 68u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QWizardPage)
+16 QWizardPage::metaObject
+24 QWizardPage::qt_metacast
+32 QWizardPage::qt_metacall
+40 QWizardPage::~QWizardPage
+48 QWizardPage::~QWizardPage
+56 QWidget::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QWidget::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QWidget::paintEvent
+256 QWidget::moveEvent
+264 QWidget::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QWidget::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QWizardPage::initializePage
+456 QWizardPage::cleanupPage
+464 QWizardPage::validatePage
+472 QWizardPage::isComplete
+480 QWizardPage::nextId
+488 (int (*)(...))-0x00000000000000010
+496 (int (*)(...))(& _ZTI11QWizardPage)
+504 QWizardPage::_ZThn16_N11QWizardPageD1Ev
+512 QWizardPage::_ZThn16_N11QWizardPageD0Ev
+520 QWidget::_ZThn16_NK7QWidget7devTypeEv
+528 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+536 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QWizardPage
+ size=40 align=8
+ base size=40 base align=8
+QWizardPage (0x7fb29ec0d9a0) 0
+ vptr=((& QWizardPage::_ZTV11QWizardPage) + 16u)
+ QWidget (0x7fb29ebe2b80) 0
+ primary-for QWizardPage (0x7fb29ec0d9a0)
+ QObject (0x7fb29ec0da10) 0
+ primary-for QWidget (0x7fb29ebe2b80)
+ QPaintDevice (0x7fb29ec0da80) 16
+ vptr=((& QWizardPage::_ZTV11QWizardPage) + 504u)
+
+Vtable for QKeyEventTransition
+QKeyEventTransition::_ZTV19QKeyEventTransition: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QKeyEventTransition)
+16 QKeyEventTransition::metaObject
+24 QKeyEventTransition::qt_metacast
+32 QKeyEventTransition::qt_metacall
+40 QKeyEventTransition::~QKeyEventTransition
+48 QKeyEventTransition::~QKeyEventTransition
+56 QEventTransition::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QKeyEventTransition::eventTest
+120 QKeyEventTransition::onTransition
+
+Class QKeyEventTransition
+ size=16 align=8
+ base size=16 base align=8
+QKeyEventTransition (0x7fb29ec454d0) 0
+ vptr=((& QKeyEventTransition::_ZTV19QKeyEventTransition) + 16u)
+ QEventTransition (0x7fb29ec45540) 0
+ primary-for QKeyEventTransition (0x7fb29ec454d0)
+ QAbstractTransition (0x7fb29ec455b0) 0
+ primary-for QEventTransition (0x7fb29ec45540)
+ QObject (0x7fb29ec45620) 0
+ primary-for QAbstractTransition (0x7fb29ec455b0)
+
+Vtable for QMouseEventTransition
+QMouseEventTransition::_ZTV21QMouseEventTransition: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI21QMouseEventTransition)
+16 QMouseEventTransition::metaObject
+24 QMouseEventTransition::qt_metacast
+32 QMouseEventTransition::qt_metacall
+40 QMouseEventTransition::~QMouseEventTransition
+48 QMouseEventTransition::~QMouseEventTransition
+56 QEventTransition::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QMouseEventTransition::eventTest
+120 QMouseEventTransition::onTransition
+
+Class QMouseEventTransition
+ size=16 align=8
+ base size=16 base align=8
+QMouseEventTransition (0x7fb29ea57f50) 0
+ vptr=((& QMouseEventTransition::_ZTV21QMouseEventTransition) + 16u)
+ QEventTransition (0x7fb29ea60000) 0
+ primary-for QMouseEventTransition (0x7fb29ea57f50)
+ QAbstractTransition (0x7fb29ea60070) 0
+ primary-for QEventTransition (0x7fb29ea60000)
+ QObject (0x7fb29ea600e0) 0
+ primary-for QAbstractTransition (0x7fb29ea60070)
+
+Vtable for QBitmap
+QBitmap::_ZTV7QBitmap: 7u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QBitmap)
+16 QBitmap::~QBitmap
+24 QBitmap::~QBitmap
+32 QPixmap::devType
+40 QPixmap::paintEngine
+48 QPixmap::metric
+
+Class QBitmap
+ size=24 align=8
+ base size=24 base align=8
+QBitmap (0x7fb29ea74a10) 0
+ vptr=((& QBitmap::_ZTV7QBitmap) + 16u)
+ QPixmap (0x7fb29ea74a80) 0
+ primary-for QBitmap (0x7fb29ea74a10)
+ QPaintDevice (0x7fb29ea74af0) 0
+ primary-for QPixmap (0x7fb29ea74a80)
+
+Vtable for QIconEngine
+QIconEngine::_ZTV11QIconEngine: 9u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QIconEngine)
+16 QIconEngine::~QIconEngine
+24 QIconEngine::~QIconEngine
+32 __cxa_pure_virtual
+40 QIconEngine::actualSize
+48 QIconEngine::pixmap
+56 QIconEngine::addPixmap
+64 QIconEngine::addFile
+
+Class QIconEngine
+ size=8 align=8
+ base size=8 base align=8
+QIconEngine (0x7fb29eaa68c0) 0 nearly-empty
+ vptr=((& QIconEngine::_ZTV11QIconEngine) + 16u)
+
+Class QIconEngineV2::AvailableSizesArgument
+ size=16 align=8
+ base size=16 base align=8
+QIconEngineV2::AvailableSizesArgument (0x7fb29eab2070) 0
+
+Vtable for QIconEngineV2
+QIconEngineV2::_ZTV13QIconEngineV2: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QIconEngineV2)
+16 QIconEngineV2::~QIconEngineV2
+24 QIconEngineV2::~QIconEngineV2
+32 __cxa_pure_virtual
+40 QIconEngine::actualSize
+48 QIconEngine::pixmap
+56 QIconEngine::addPixmap
+64 QIconEngine::addFile
+72 QIconEngineV2::key
+80 QIconEngineV2::clone
+88 QIconEngineV2::read
+96 QIconEngineV2::write
+104 QIconEngineV2::virtual_hook
+
+Class QIconEngineV2
+ size=8 align=8
+ base size=8 base align=8
+QIconEngineV2 (0x7fb29eaa6e70) 0 nearly-empty
+ vptr=((& QIconEngineV2::_ZTV13QIconEngineV2) + 16u)
+ QIconEngine (0x7fb29eaa6ee0) 0 nearly-empty
+ primary-for QIconEngineV2 (0x7fb29eaa6e70)
+
+Vtable for QIconEngineFactoryInterface
+QIconEngineFactoryInterface::_ZTV27QIconEngineFactoryInterface: 6u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI27QIconEngineFactoryInterface)
+16 QIconEngineFactoryInterface::~QIconEngineFactoryInterface
+24 QIconEngineFactoryInterface::~QIconEngineFactoryInterface
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+
+Class QIconEngineFactoryInterface
+ size=8 align=8
+ base size=8 base align=8
+QIconEngineFactoryInterface (0x7fb29eab2850) 0 nearly-empty
+ vptr=((& QIconEngineFactoryInterface::_ZTV27QIconEngineFactoryInterface) + 16u)
+ QFactoryInterface (0x7fb29eab28c0) 0 nearly-empty
+ primary-for QIconEngineFactoryInterface (0x7fb29eab2850)
+
+Vtable for QIconEnginePlugin
+QIconEnginePlugin::_ZTV17QIconEnginePlugin: 22u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QIconEnginePlugin)
+16 QIconEnginePlugin::metaObject
+24 QIconEnginePlugin::qt_metacast
+32 QIconEnginePlugin::qt_metacall
+40 QIconEnginePlugin::~QIconEnginePlugin
+48 QIconEnginePlugin::~QIconEnginePlugin
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 (int (*)(...))-0x00000000000000010
+136 (int (*)(...))(& _ZTI17QIconEnginePlugin)
+144 QIconEnginePlugin::_ZThn16_N17QIconEnginePluginD1Ev
+152 QIconEnginePlugin::_ZThn16_N17QIconEnginePluginD0Ev
+160 __cxa_pure_virtual
+168 __cxa_pure_virtual
+
+Class QIconEnginePlugin
+ size=24 align=8
+ base size=24 base align=8
+QIconEnginePlugin (0x7fb29eaacf80) 0
+ vptr=((& QIconEnginePlugin::_ZTV17QIconEnginePlugin) + 16u)
+ QObject (0x7fb29eae81c0) 0
+ primary-for QIconEnginePlugin (0x7fb29eaacf80)
+ QIconEngineFactoryInterface (0x7fb29eae8230) 16 nearly-empty
+ vptr=((& QIconEnginePlugin::_ZTV17QIconEnginePlugin) + 144u)
+ QFactoryInterface (0x7fb29eae82a0) 16 nearly-empty
+ primary-for QIconEngineFactoryInterface (0x7fb29eae8230)
+
+Vtable for QIconEngineFactoryInterfaceV2
+QIconEngineFactoryInterfaceV2::_ZTV29QIconEngineFactoryInterfaceV2: 6u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI29QIconEngineFactoryInterfaceV2)
+16 QIconEngineFactoryInterfaceV2::~QIconEngineFactoryInterfaceV2
+24 QIconEngineFactoryInterfaceV2::~QIconEngineFactoryInterfaceV2
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+
+Class QIconEngineFactoryInterfaceV2
+ size=8 align=8
+ base size=8 base align=8
+QIconEngineFactoryInterfaceV2 (0x7fb29eafa150) 0 nearly-empty
+ vptr=((& QIconEngineFactoryInterfaceV2::_ZTV29QIconEngineFactoryInterfaceV2) + 16u)
+ QFactoryInterface (0x7fb29eafa1c0) 0 nearly-empty
+ primary-for QIconEngineFactoryInterfaceV2 (0x7fb29eafa150)
+
+Vtable for QIconEnginePluginV2
+QIconEnginePluginV2::_ZTV19QIconEnginePluginV2: 22u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QIconEnginePluginV2)
+16 QIconEnginePluginV2::metaObject
+24 QIconEnginePluginV2::qt_metacast
+32 QIconEnginePluginV2::qt_metacall
+40 QIconEnginePluginV2::~QIconEnginePluginV2
+48 QIconEnginePluginV2::~QIconEnginePluginV2
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 (int (*)(...))-0x00000000000000010
+136 (int (*)(...))(& _ZTI19QIconEnginePluginV2)
+144 QIconEnginePluginV2::_ZThn16_N19QIconEnginePluginV2D1Ev
+152 QIconEnginePluginV2::_ZThn16_N19QIconEnginePluginV2D0Ev
+160 __cxa_pure_virtual
+168 __cxa_pure_virtual
+
+Class QIconEnginePluginV2
+ size=24 align=8
+ base size=24 base align=8
+QIconEnginePluginV2 (0x7fb29eb06000) 0
+ vptr=((& QIconEnginePluginV2::_ZTV19QIconEnginePluginV2) + 16u)
+ QObject (0x7fb29eafac40) 0
+ primary-for QIconEnginePluginV2 (0x7fb29eb06000)
+ QIconEngineFactoryInterfaceV2 (0x7fb29eafacb0) 16 nearly-empty
+ vptr=((& QIconEnginePluginV2::_ZTV19QIconEnginePluginV2) + 144u)
+ QFactoryInterface (0x7fb29eafad20) 16 nearly-empty
+ primary-for QIconEngineFactoryInterfaceV2 (0x7fb29eafacb0)
+
+Vtable for QImageIOHandler
+QImageIOHandler::_ZTV15QImageIOHandler: 18u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QImageIOHandler)
+16 QImageIOHandler::~QImageIOHandler
+24 QImageIOHandler::~QImageIOHandler
+32 QImageIOHandler::name
+40 __cxa_pure_virtual
+48 __cxa_pure_virtual
+56 QImageIOHandler::write
+64 QImageIOHandler::option
+72 QImageIOHandler::setOption
+80 QImageIOHandler::supportsOption
+88 QImageIOHandler::jumpToNextImage
+96 QImageIOHandler::jumpToImage
+104 QImageIOHandler::loopCount
+112 QImageIOHandler::imageCount
+120 QImageIOHandler::nextImageDelay
+128 QImageIOHandler::currentImageNumber
+136 QImageIOHandler::currentImageRect
+
+Class QImageIOHandler
+ size=16 align=8
+ base size=16 base align=8
+QImageIOHandler (0x7fb29eb0ebd0) 0
+ vptr=((& QImageIOHandler::_ZTV15QImageIOHandler) + 16u)
+
+Vtable for QImageIOHandlerFactoryInterface
+QImageIOHandlerFactoryInterface::_ZTV31QImageIOHandlerFactoryInterface: 6u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI31QImageIOHandlerFactoryInterface)
+16 QImageIOHandlerFactoryInterface::~QImageIOHandlerFactoryInterface
+24 QImageIOHandlerFactoryInterface::~QImageIOHandlerFactoryInterface
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+
+Class QImageIOHandlerFactoryInterface
+ size=8 align=8
+ base size=8 base align=8
+QImageIOHandlerFactoryInterface (0x7fb29eb2a9a0) 0 nearly-empty
+ vptr=((& QImageIOHandlerFactoryInterface::_ZTV31QImageIOHandlerFactoryInterface) + 16u)
+ QFactoryInterface (0x7fb29eb2aa10) 0 nearly-empty
+ primary-for QImageIOHandlerFactoryInterface (0x7fb29eb2a9a0)
+
+Vtable for QImageIOPlugin
+QImageIOPlugin::_ZTV14QImageIOPlugin: 23u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QImageIOPlugin)
+16 QImageIOPlugin::metaObject
+24 QImageIOPlugin::qt_metacast
+32 QImageIOPlugin::qt_metacall
+40 QImageIOPlugin::~QImageIOPlugin
+48 QImageIOPlugin::~QImageIOPlugin
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 __cxa_pure_virtual
+136 (int (*)(...))-0x00000000000000010
+144 (int (*)(...))(& _ZTI14QImageIOPlugin)
+152 QImageIOPlugin::_ZThn16_N14QImageIOPluginD1Ev
+160 QImageIOPlugin::_ZThn16_N14QImageIOPluginD0Ev
+168 __cxa_pure_virtual
+176 __cxa_pure_virtual
+
+Class QImageIOPlugin
+ size=24 align=8
+ base size=24 base align=8
+QImageIOPlugin (0x7fb29eb30c00) 0
+ vptr=((& QImageIOPlugin::_ZTV14QImageIOPlugin) + 16u)
+ QObject (0x7fb29eb3a3f0) 0
+ primary-for QImageIOPlugin (0x7fb29eb30c00)
+ QImageIOHandlerFactoryInterface (0x7fb29eb3a460) 16 nearly-empty
+ vptr=((& QImageIOPlugin::_ZTV14QImageIOPlugin) + 152u)
+ QFactoryInterface (0x7fb29eb3a4d0) 16 nearly-empty
+ primary-for QImageIOHandlerFactoryInterface (0x7fb29eb3a460)
+
+Class QImageReader
+ size=8 align=8
+ base size=8 base align=8
+QImageReader (0x7fb29e98f4d0) 0
+
+Class QImageWriter
+ size=8 align=8
+ base size=8 base align=8
+QImageWriter (0x7fb29e98fee0) 0
+
+Vtable for QMovie
+QMovie::_ZTV6QMovie: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI6QMovie)
+16 QMovie::metaObject
+24 QMovie::qt_metacast
+32 QMovie::qt_metacall
+40 QMovie::~QMovie
+48 QMovie::~QMovie
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QMovie
+ size=16 align=8
+ base size=16 base align=8
+QMovie (0x7fb29e9a5770) 0
+ vptr=((& QMovie::_ZTV6QMovie) + 16u)
+ QObject (0x7fb29e9a57e0) 0
+ primary-for QMovie (0x7fb29e9a5770)
+
+Vtable for QPicture
+QPicture::_ZTV8QPicture: 8u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI8QPicture)
+16 QPicture::~QPicture
+24 QPicture::~QPicture
+32 QPicture::devType
+40 QPicture::paintEngine
+48 QPicture::metric
+56 QPicture::setData
+
+Class QPicture
+ size=24 align=8
+ base size=24 base align=8
+QPicture (0x7fb29e9ea7e0) 0
+ vptr=((& QPicture::_ZTV8QPicture) + 16u)
+ QPaintDevice (0x7fb29e9ea850) 0
+ primary-for QPicture (0x7fb29e9ea7e0)
+
+Class QPictureIO
+ size=8 align=8
+ base size=8 base align=8
+QPictureIO (0x7fb29ea0c310) 0
+
+Vtable for QPictureFormatInterface
+QPictureFormatInterface::_ZTV23QPictureFormatInterface: 8u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI23QPictureFormatInterface)
+16 QPictureFormatInterface::~QPictureFormatInterface
+24 QPictureFormatInterface::~QPictureFormatInterface
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+48 __cxa_pure_virtual
+56 __cxa_pure_virtual
+
+Class QPictureFormatInterface
+ size=8 align=8
+ base size=8 base align=8
+QPictureFormatInterface (0x7fb29ea0c930) 0 nearly-empty
+ vptr=((& QPictureFormatInterface::_ZTV23QPictureFormatInterface) + 16u)
+ QFactoryInterface (0x7fb29ea0c9a0) 0 nearly-empty
+ primary-for QPictureFormatInterface (0x7fb29ea0c930)
+
+Vtable for QPictureFormatPlugin
+QPictureFormatPlugin::_ZTV20QPictureFormatPlugin: 26u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI20QPictureFormatPlugin)
+16 QPictureFormatPlugin::metaObject
+24 QPictureFormatPlugin::qt_metacast
+32 QPictureFormatPlugin::qt_metacall
+40 QPictureFormatPlugin::~QPictureFormatPlugin
+48 QPictureFormatPlugin::~QPictureFormatPlugin
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+120 QPictureFormatPlugin::loadPicture
+128 QPictureFormatPlugin::savePicture
+136 __cxa_pure_virtual
+144 (int (*)(...))-0x00000000000000010
+152 (int (*)(...))(& _ZTI20QPictureFormatPlugin)
+160 QPictureFormatPlugin::_ZThn16_N20QPictureFormatPluginD1Ev
+168 QPictureFormatPlugin::_ZThn16_N20QPictureFormatPluginD0Ev
+176 __cxa_pure_virtual
+184 QPictureFormatPlugin::_ZThn16_N20QPictureFormatPlugin11loadPictureERK7QStringS2_P8QPicture
+192 QPictureFormatPlugin::_ZThn16_N20QPictureFormatPlugin11savePictureERK7QStringS2_RK8QPicture
+200 __cxa_pure_virtual
+
+Class QPictureFormatPlugin
+ size=24 align=8
+ base size=24 base align=8
+QPictureFormatPlugin (0x7fb29ea29300) 0
+ vptr=((& QPictureFormatPlugin::_ZTV20QPictureFormatPlugin) + 16u)
+ QObject (0x7fb29ea2a310) 0
+ primary-for QPictureFormatPlugin (0x7fb29ea29300)
+ QPictureFormatInterface (0x7fb29ea2a380) 16 nearly-empty
+ vptr=((& QPictureFormatPlugin::_ZTV20QPictureFormatPlugin) + 160u)
+ QFactoryInterface (0x7fb29ea2a3f0) 16 nearly-empty
+ primary-for QPictureFormatInterface (0x7fb29ea2a380)
+
+Class QPixmapCache::Key
+ size=8 align=8
+ base size=8 base align=8
+QPixmapCache::Key (0x7fb29ea3b310) 0
+
+Class QPixmapCache
+ size=1 align=1
+ base size=0 base align=1
+QPixmapCache (0x7fb29ea3b2a0) 0 empty
+
+Vtable for QGraphicsEffect
+QGraphicsEffect::_ZTV15QGraphicsEffect: 17u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QGraphicsEffect)
+16 QGraphicsEffect::metaObject
+24 QGraphicsEffect::qt_metacast
+32 QGraphicsEffect::qt_metacall
+40 QGraphicsEffect::~QGraphicsEffect
+48 QGraphicsEffect::~QGraphicsEffect
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QGraphicsEffect::boundingRectFor
+120 __cxa_pure_virtual
+128 QGraphicsEffect::sourceChanged
+
+Class QGraphicsEffect
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsEffect (0x7fb29ea43150) 0
+ vptr=((& QGraphicsEffect::_ZTV15QGraphicsEffect) + 16u)
+ QObject (0x7fb29ea431c0) 0
+ primary-for QGraphicsEffect (0x7fb29ea43150)
+
+Vtable for QGraphicsColorizeEffect
+QGraphicsColorizeEffect::_ZTV23QGraphicsColorizeEffect: 17u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI23QGraphicsColorizeEffect)
+16 QGraphicsColorizeEffect::metaObject
+24 QGraphicsColorizeEffect::qt_metacast
+32 QGraphicsColorizeEffect::qt_metacall
+40 QGraphicsColorizeEffect::~QGraphicsColorizeEffect
+48 QGraphicsColorizeEffect::~QGraphicsColorizeEffect
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QGraphicsEffect::boundingRectFor
+120 QGraphicsColorizeEffect::draw
+128 QGraphicsEffect::sourceChanged
+
+Class QGraphicsColorizeEffect
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsColorizeEffect (0x7fb29e88ac40) 0
+ vptr=((& QGraphicsColorizeEffect::_ZTV23QGraphicsColorizeEffect) + 16u)
+ QGraphicsEffect (0x7fb29e88acb0) 0
+ primary-for QGraphicsColorizeEffect (0x7fb29e88ac40)
+ QObject (0x7fb29e88ad20) 0
+ primary-for QGraphicsEffect (0x7fb29e88acb0)
+
+Vtable for QGraphicsBlurEffect
+QGraphicsBlurEffect::_ZTV19QGraphicsBlurEffect: 17u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QGraphicsBlurEffect)
+16 QGraphicsBlurEffect::metaObject
+24 QGraphicsBlurEffect::qt_metacast
+32 QGraphicsBlurEffect::qt_metacall
+40 QGraphicsBlurEffect::~QGraphicsBlurEffect
+48 QGraphicsBlurEffect::~QGraphicsBlurEffect
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QGraphicsBlurEffect::boundingRectFor
+120 QGraphicsBlurEffect::draw
+128 QGraphicsEffect::sourceChanged
+
+Class QGraphicsBlurEffect
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsBlurEffect (0x7fb29e8b85b0) 0
+ vptr=((& QGraphicsBlurEffect::_ZTV19QGraphicsBlurEffect) + 16u)
+ QGraphicsEffect (0x7fb29e8b8620) 0
+ primary-for QGraphicsBlurEffect (0x7fb29e8b85b0)
+ QObject (0x7fb29e8b8690) 0
+ primary-for QGraphicsEffect (0x7fb29e8b8620)
+
+Vtable for QGraphicsDropShadowEffect
+QGraphicsDropShadowEffect::_ZTV25QGraphicsDropShadowEffect: 17u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI25QGraphicsDropShadowEffect)
+16 QGraphicsDropShadowEffect::metaObject
+24 QGraphicsDropShadowEffect::qt_metacast
+32 QGraphicsDropShadowEffect::qt_metacall
+40 QGraphicsDropShadowEffect::~QGraphicsDropShadowEffect
+48 QGraphicsDropShadowEffect::~QGraphicsDropShadowEffect
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QGraphicsDropShadowEffect::boundingRectFor
+120 QGraphicsDropShadowEffect::draw
+128 QGraphicsEffect::sourceChanged
+
+Class QGraphicsDropShadowEffect
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsDropShadowEffect (0x7fb29e9170e0) 0
+ vptr=((& QGraphicsDropShadowEffect::_ZTV25QGraphicsDropShadowEffect) + 16u)
+ QGraphicsEffect (0x7fb29e917150) 0
+ primary-for QGraphicsDropShadowEffect (0x7fb29e9170e0)
+ QObject (0x7fb29e9171c0) 0
+ primary-for QGraphicsEffect (0x7fb29e917150)
+
+Vtable for QGraphicsOpacityEffect
+QGraphicsOpacityEffect::_ZTV22QGraphicsOpacityEffect: 17u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI22QGraphicsOpacityEffect)
+16 QGraphicsOpacityEffect::metaObject
+24 QGraphicsOpacityEffect::qt_metacast
+32 QGraphicsOpacityEffect::qt_metacall
+40 QGraphicsOpacityEffect::~QGraphicsOpacityEffect
+48 QGraphicsOpacityEffect::~QGraphicsOpacityEffect
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QGraphicsEffect::boundingRectFor
+120 QGraphicsOpacityEffect::draw
+128 QGraphicsEffect::sourceChanged
+
+Class QGraphicsOpacityEffect
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsOpacityEffect (0x7fb29e9365b0) 0
+ vptr=((& QGraphicsOpacityEffect::_ZTV22QGraphicsOpacityEffect) + 16u)
+ QGraphicsEffect (0x7fb29e936620) 0
+ primary-for QGraphicsOpacityEffect (0x7fb29e9365b0)
+ QObject (0x7fb29e936690) 0
+ primary-for QGraphicsEffect (0x7fb29e936620)
+
+Class QVFbHeader
+ size=1088 align=8
+ base size=1088 base align=8
+QVFbHeader (0x7fb29e947ee0) 0
+
+Class QVFbKeyData
+ size=12 align=4
+ base size=12 base align=4
+QVFbKeyData (0x7fb29e947f50) 0
+
+Vtable for QWSEmbedWidget
+QWSEmbedWidget::_ZTV14QWSEmbedWidget: 63u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QWSEmbedWidget)
+16 QWSEmbedWidget::metaObject
+24 QWSEmbedWidget::qt_metacast
+32 QWSEmbedWidget::qt_metacall
+40 QWSEmbedWidget::~QWSEmbedWidget
+48 QWSEmbedWidget::~QWSEmbedWidget
+56 QWidget::event
+64 QWSEmbedWidget::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QWidget::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QWidget::paintEvent
+256 QWSEmbedWidget::moveEvent
+264 QWSEmbedWidget::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWSEmbedWidget::showEvent
+344 QWSEmbedWidget::hideEvent
+352 QWidget::x11Event
+360 QWSEmbedWidget::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 (int (*)(...))-0x00000000000000010
+456 (int (*)(...))(& _ZTI14QWSEmbedWidget)
+464 QWSEmbedWidget::_ZThn16_N14QWSEmbedWidgetD1Ev
+472 QWSEmbedWidget::_ZThn16_N14QWSEmbedWidgetD0Ev
+480 QWidget::_ZThn16_NK7QWidget7devTypeEv
+488 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+496 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QWSEmbedWidget
+ size=40 align=8
+ base size=40 base align=8
+QWSEmbedWidget (0x7fb29e951000) 0
+ vptr=((& QWSEmbedWidget::_ZTV14QWSEmbedWidget) + 16u)
+ QWidget (0x7fb29e944900) 0
+ primary-for QWSEmbedWidget (0x7fb29e951000)
+ QObject (0x7fb29e951070) 0
+ primary-for QWidget (0x7fb29e944900)
+ QPaintDevice (0x7fb29e9510e0) 16
+ vptr=((& QWSEmbedWidget::_ZTV14QWSEmbedWidget) + 464u)
+
+Class QColormap
+ size=8 align=8
+ base size=8 base align=8
+QColormap (0x7fb29e7694d0) 0
+
+Class QTileRules
+ size=8 align=4
+ base size=8 base align=4
+QTileRules (0x7fb29e769cb0) 0
+
+Class QDrawPixmaps::Data
+ size=80 align=8
+ base size=80 base align=8
+QDrawPixmaps::Data (0x7fb29e780d20) 0
+
+Class QPainter
+ size=8 align=8
+ base size=8 base align=8
+QPainter (0x7fb29e780e00) 0
+
+Class QTextItem
+ size=1 align=1
+ base size=0 base align=1
+QTextItem (0x7fb29e5ae8c0) 0 empty
+
+Vtable for QPaintEngine
+QPaintEngine::_ZTV12QPaintEngine: 24u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QPaintEngine)
+16 QPaintEngine::~QPaintEngine
+24 QPaintEngine::~QPaintEngine
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+48 __cxa_pure_virtual
+56 QPaintEngine::drawRects
+64 QPaintEngine::drawRects
+72 QPaintEngine::drawLines
+80 QPaintEngine::drawLines
+88 QPaintEngine::drawEllipse
+96 QPaintEngine::drawEllipse
+104 QPaintEngine::drawPath
+112 QPaintEngine::drawPoints
+120 QPaintEngine::drawPoints
+128 QPaintEngine::drawPolygon
+136 QPaintEngine::drawPolygon
+144 __cxa_pure_virtual
+152 QPaintEngine::drawTextItem
+160 QPaintEngine::drawTiledPixmap
+168 QPaintEngine::drawImage
+176 QPaintEngine::coordinateOffset
+184 __cxa_pure_virtual
+
+Class QPaintEngine
+ size=32 align=8
+ base size=32 base align=8
+QPaintEngine (0x7fb29e5aeee0) 0
+ vptr=((& QPaintEngine::_ZTV12QPaintEngine) + 16u)
+
+Class QPaintEngineState
+ size=4 align=4
+ base size=4 base align=4
+QPaintEngineState (0x7fb29e5fab60) 0
+
+Vtable for QPrinter
+QPrinter::_ZTV8QPrinter: 7u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI8QPrinter)
+16 QPrinter::~QPrinter
+24 QPrinter::~QPrinter
+32 QPrinter::devType
+40 QPrinter::paintEngine
+48 QPrinter::metric
+
+Class QPrinter
+ size=24 align=8
+ base size=24 base align=8
+QPrinter (0x7fb29e4c7e70) 0
+ vptr=((& QPrinter::_ZTV8QPrinter) + 16u)
+ QPaintDevice (0x7fb29e4c7ee0) 0
+ primary-for QPrinter (0x7fb29e4c7e70)
+
+Vtable for QPrintEngine
+QPrintEngine::_ZTV12QPrintEngine: 10u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QPrintEngine)
+16 QPrintEngine::~QPrintEngine
+24 QPrintEngine::~QPrintEngine
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+48 __cxa_pure_virtual
+56 __cxa_pure_virtual
+64 __cxa_pure_virtual
+72 __cxa_pure_virtual
+
+Class QPrintEngine
+ size=8 align=8
+ base size=8 base align=8
+QPrintEngine (0x7fb29e52e540) 0 nearly-empty
+ vptr=((& QPrintEngine::_ZTV12QPrintEngine) + 16u)
+
+Class QPrinterInfo
+ size=8 align=8
+ base size=8 base align=8
+QPrinterInfo (0x7fb29e53d2a0) 0
+
+Class QStylePainter
+ size=24 align=8
+ base size=24 base align=8
+QStylePainter (0x7fb29e5439a0) 0
+ QPainter (0x7fb29e543a10) 0
+
+Vtable for QAbstractProxyModel
+QAbstractProxyModel::_ZTV19QAbstractProxyModel: 47u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QAbstractProxyModel)
+16 QAbstractProxyModel::metaObject
+24 QAbstractProxyModel::qt_metacast
+32 QAbstractProxyModel::qt_metacall
+40 QAbstractProxyModel::~QAbstractProxyModel
+48 QAbstractProxyModel::~QAbstractProxyModel
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 __cxa_pure_virtual
+136 __cxa_pure_virtual
+144 QAbstractItemModel::hasChildren
+152 QAbstractProxyModel::data
+160 QAbstractProxyModel::setData
+168 QAbstractProxyModel::headerData
+176 QAbstractProxyModel::setHeaderData
+184 QAbstractProxyModel::itemData
+192 QAbstractItemModel::setItemData
+200 QAbstractItemModel::mimeTypes
+208 QAbstractItemModel::mimeData
+216 QAbstractItemModel::dropMimeData
+224 QAbstractItemModel::supportedDropActions
+232 QAbstractItemModel::insertRows
+240 QAbstractItemModel::insertColumns
+248 QAbstractItemModel::removeRows
+256 QAbstractItemModel::removeColumns
+264 QAbstractItemModel::fetchMore
+272 QAbstractItemModel::canFetchMore
+280 QAbstractProxyModel::flags
+288 QAbstractItemModel::sort
+296 QAbstractItemModel::buddy
+304 QAbstractItemModel::match
+312 QAbstractItemModel::span
+320 QAbstractProxyModel::submit
+328 QAbstractProxyModel::revert
+336 QAbstractProxyModel::setSourceModel
+344 __cxa_pure_virtual
+352 __cxa_pure_virtual
+360 QAbstractProxyModel::mapSelectionToSource
+368 QAbstractProxyModel::mapSelectionFromSource
+
+Class QAbstractProxyModel
+ size=16 align=8
+ base size=16 base align=8
+QAbstractProxyModel (0x7fb29e371ee0) 0
+ vptr=((& QAbstractProxyModel::_ZTV19QAbstractProxyModel) + 16u)
+ QAbstractItemModel (0x7fb29e371f50) 0
+ primary-for QAbstractProxyModel (0x7fb29e371ee0)
+ QObject (0x7fb29e377000) 0
+ primary-for QAbstractItemModel (0x7fb29e371f50)
+
+Vtable for QColumnView
+QColumnView::_ZTV11QColumnView: 104u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QColumnView)
+16 QColumnView::metaObject
+24 QColumnView::qt_metacast
+32 QColumnView::qt_metacall
+40 QColumnView::~QColumnView
+48 QColumnView::~QColumnView
+56 QAbstractItemView::event
+64 QObject::eventFilter
+72 QAbstractItemView::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QColumnView::sizeHint
+136 QAbstractScrollArea::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QAbstractItemView::mousePressEvent
+168 QAbstractItemView::mouseReleaseEvent
+176 QAbstractItemView::mouseDoubleClickEvent
+184 QAbstractItemView::mouseMoveEvent
+192 QAbstractScrollArea::wheelEvent
+200 QAbstractItemView::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QAbstractItemView::focusInEvent
+224 QAbstractItemView::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QAbstractScrollArea::paintEvent
+256 QWidget::moveEvent
+264 QColumnView::resizeEvent
+272 QWidget::closeEvent
+280 QAbstractScrollArea::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QAbstractItemView::dragEnterEvent
+312 QAbstractItemView::dragMoveEvent
+320 QAbstractItemView::dragLeaveEvent
+328 QAbstractItemView::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QFrame::changeEvent
+368 QWidget::metric
+376 QAbstractItemView::inputMethodEvent
+384 QAbstractItemView::inputMethodQuery
+392 QAbstractItemView::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QAbstractItemView::viewportEvent
+456 QColumnView::scrollContentsBy
+464 QColumnView::setModel
+472 QColumnView::setSelectionModel
+480 QAbstractItemView::keyboardSearch
+488 QColumnView::visualRect
+496 QColumnView::scrollTo
+504 QColumnView::indexAt
+512 QAbstractItemView::sizeHintForRow
+520 QAbstractItemView::sizeHintForColumn
+528 QAbstractItemView::reset
+536 QColumnView::setRootIndex
+544 QAbstractItemView::doItemsLayout
+552 QColumnView::selectAll
+560 QAbstractItemView::dataChanged
+568 QColumnView::rowsInserted
+576 QAbstractItemView::rowsAboutToBeRemoved
+584 QAbstractItemView::selectionChanged
+592 QColumnView::currentChanged
+600 QAbstractItemView::updateEditorData
+608 QAbstractItemView::updateEditorGeometries
+616 QAbstractItemView::updateGeometries
+624 QAbstractItemView::verticalScrollbarAction
+632 QAbstractItemView::horizontalScrollbarAction
+640 QAbstractItemView::verticalScrollbarValueChanged
+648 QAbstractItemView::horizontalScrollbarValueChanged
+656 QAbstractItemView::closeEditor
+664 QAbstractItemView::commitData
+672 QAbstractItemView::editorDestroyed
+680 QColumnView::moveCursor
+688 QColumnView::horizontalOffset
+696 QColumnView::verticalOffset
+704 QColumnView::isIndexHidden
+712 QColumnView::setSelection
+720 QColumnView::visualRegionForSelection
+728 QAbstractItemView::selectedIndexes
+736 QAbstractItemView::edit
+744 QAbstractItemView::selectionCommand
+752 QAbstractItemView::startDrag
+760 QAbstractItemView::viewOptions
+768 QColumnView::createColumn
+776 (int (*)(...))-0x00000000000000010
+784 (int (*)(...))(& _ZTI11QColumnView)
+792 QColumnView::_ZThn16_N11QColumnViewD1Ev
+800 QColumnView::_ZThn16_N11QColumnViewD0Ev
+808 QWidget::_ZThn16_NK7QWidget7devTypeEv
+816 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+824 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QColumnView
+ size=40 align=8
+ base size=40 base align=8
+QColumnView (0x7fb29e38daf0) 0
+ vptr=((& QColumnView::_ZTV11QColumnView) + 16u)
+ QAbstractItemView (0x7fb29e38db60) 0
+ primary-for QColumnView (0x7fb29e38daf0)
+ QAbstractScrollArea (0x7fb29e38dbd0) 0
+ primary-for QAbstractItemView (0x7fb29e38db60)
+ QFrame (0x7fb29e38dc40) 0
+ primary-for QAbstractScrollArea (0x7fb29e38dbd0)
+ QWidget (0x7fb29e393200) 0
+ primary-for QFrame (0x7fb29e38dc40)
+ QObject (0x7fb29e38dcb0) 0
+ primary-for QWidget (0x7fb29e393200)
+ QPaintDevice (0x7fb29e38dd20) 16
+ vptr=((& QColumnView::_ZTV11QColumnView) + 792u)
+
+Vtable for QDataWidgetMapper
+QDataWidgetMapper::_ZTV17QDataWidgetMapper: 15u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QDataWidgetMapper)
+16 QDataWidgetMapper::metaObject
+24 QDataWidgetMapper::qt_metacast
+32 QDataWidgetMapper::qt_metacall
+40 QDataWidgetMapper::~QDataWidgetMapper
+48 QDataWidgetMapper::~QDataWidgetMapper
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QDataWidgetMapper::setCurrentIndex
+
+Class QDataWidgetMapper
+ size=16 align=8
+ base size=16 base align=8
+QDataWidgetMapper (0x7fb29e3b2c40) 0
+ vptr=((& QDataWidgetMapper::_ZTV17QDataWidgetMapper) + 16u)
+ QObject (0x7fb29e3b2cb0) 0
+ primary-for QDataWidgetMapper (0x7fb29e3b2c40)
+
+Vtable for QFileIconProvider
+QFileIconProvider::_ZTV17QFileIconProvider: 7u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QFileIconProvider)
+16 QFileIconProvider::~QFileIconProvider
+24 QFileIconProvider::~QFileIconProvider
+32 QFileIconProvider::icon
+40 QFileIconProvider::icon
+48 QFileIconProvider::type
+
+Class QFileIconProvider
+ size=16 align=8
+ base size=16 base align=8
+QFileIconProvider (0x7fb29e3d2700) 0
+ vptr=((& QFileIconProvider::_ZTV17QFileIconProvider) + 16u)
+
+Vtable for QDirModel
+QDirModel::_ZTV9QDirModel: 42u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QDirModel)
+16 QDirModel::metaObject
+24 QDirModel::qt_metacast
+32 QDirModel::qt_metacall
+40 QDirModel::~QDirModel
+48 QDirModel::~QDirModel
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QDirModel::index
+120 QDirModel::parent
+128 QDirModel::rowCount
+136 QDirModel::columnCount
+144 QDirModel::hasChildren
+152 QDirModel::data
+160 QDirModel::setData
+168 QDirModel::headerData
+176 QAbstractItemModel::setHeaderData
+184 QAbstractItemModel::itemData
+192 QAbstractItemModel::setItemData
+200 QDirModel::mimeTypes
+208 QDirModel::mimeData
+216 QDirModel::dropMimeData
+224 QDirModel::supportedDropActions
+232 QAbstractItemModel::insertRows
+240 QAbstractItemModel::insertColumns
+248 QAbstractItemModel::removeRows
+256 QAbstractItemModel::removeColumns
+264 QAbstractItemModel::fetchMore
+272 QAbstractItemModel::canFetchMore
+280 QDirModel::flags
+288 QDirModel::sort
+296 QAbstractItemModel::buddy
+304 QAbstractItemModel::match
+312 QAbstractItemModel::span
+320 QAbstractItemModel::submit
+328 QAbstractItemModel::revert
+
+Class QDirModel
+ size=16 align=8
+ base size=16 base align=8
+QDirModel (0x7fb29e3e7380) 0
+ vptr=((& QDirModel::_ZTV9QDirModel) + 16u)
+ QAbstractItemModel (0x7fb29e3e73f0) 0
+ primary-for QDirModel (0x7fb29e3e7380)
+ QObject (0x7fb29e3e7460) 0
+ primary-for QAbstractItemModel (0x7fb29e3e73f0)
+
+Vtable for QHeaderView
+QHeaderView::_ZTV11QHeaderView: 105u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QHeaderView)
+16 QHeaderView::metaObject
+24 QHeaderView::qt_metacast
+32 QHeaderView::qt_metacall
+40 QHeaderView::~QHeaderView
+48 QHeaderView::~QHeaderView
+56 QHeaderView::event
+64 QObject::eventFilter
+72 QAbstractItemView::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QHeaderView::sizeHint
+136 QAbstractScrollArea::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QHeaderView::mousePressEvent
+168 QHeaderView::mouseReleaseEvent
+176 QHeaderView::mouseDoubleClickEvent
+184 QHeaderView::mouseMoveEvent
+192 QAbstractScrollArea::wheelEvent
+200 QAbstractItemView::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QAbstractItemView::focusInEvent
+224 QAbstractItemView::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QHeaderView::paintEvent
+256 QWidget::moveEvent
+264 QAbstractItemView::resizeEvent
+272 QWidget::closeEvent
+280 QAbstractScrollArea::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QAbstractItemView::dragEnterEvent
+312 QAbstractItemView::dragMoveEvent
+320 QAbstractItemView::dragLeaveEvent
+328 QAbstractItemView::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QFrame::changeEvent
+368 QWidget::metric
+376 QAbstractItemView::inputMethodEvent
+384 QAbstractItemView::inputMethodQuery
+392 QAbstractItemView::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QHeaderView::viewportEvent
+456 QHeaderView::scrollContentsBy
+464 QHeaderView::setModel
+472 QAbstractItemView::setSelectionModel
+480 QAbstractItemView::keyboardSearch
+488 QHeaderView::visualRect
+496 QHeaderView::scrollTo
+504 QHeaderView::indexAt
+512 QAbstractItemView::sizeHintForRow
+520 QAbstractItemView::sizeHintForColumn
+528 QHeaderView::reset
+536 QAbstractItemView::setRootIndex
+544 QHeaderView::doItemsLayout
+552 QAbstractItemView::selectAll
+560 QHeaderView::dataChanged
+568 QHeaderView::rowsInserted
+576 QAbstractItemView::rowsAboutToBeRemoved
+584 QAbstractItemView::selectionChanged
+592 QHeaderView::currentChanged
+600 QAbstractItemView::updateEditorData
+608 QAbstractItemView::updateEditorGeometries
+616 QHeaderView::updateGeometries
+624 QAbstractItemView::verticalScrollbarAction
+632 QAbstractItemView::horizontalScrollbarAction
+640 QAbstractItemView::verticalScrollbarValueChanged
+648 QAbstractItemView::horizontalScrollbarValueChanged
+656 QAbstractItemView::closeEditor
+664 QAbstractItemView::commitData
+672 QAbstractItemView::editorDestroyed
+680 QHeaderView::moveCursor
+688 QHeaderView::horizontalOffset
+696 QHeaderView::verticalOffset
+704 QHeaderView::isIndexHidden
+712 QHeaderView::setSelection
+720 QHeaderView::visualRegionForSelection
+728 QAbstractItemView::selectedIndexes
+736 QAbstractItemView::edit
+744 QAbstractItemView::selectionCommand
+752 QAbstractItemView::startDrag
+760 QAbstractItemView::viewOptions
+768 QHeaderView::paintSection
+776 QHeaderView::sectionSizeFromContents
+784 (int (*)(...))-0x00000000000000010
+792 (int (*)(...))(& _ZTI11QHeaderView)
+800 QHeaderView::_ZThn16_N11QHeaderViewD1Ev
+808 QHeaderView::_ZThn16_N11QHeaderViewD0Ev
+816 QWidget::_ZThn16_NK7QWidget7devTypeEv
+824 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+832 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QHeaderView
+ size=40 align=8
+ base size=40 base align=8
+QHeaderView (0x7fb29e412620) 0
+ vptr=((& QHeaderView::_ZTV11QHeaderView) + 16u)
+ QAbstractItemView (0x7fb29e412690) 0
+ primary-for QHeaderView (0x7fb29e412620)
+ QAbstractScrollArea (0x7fb29e412700) 0
+ primary-for QAbstractItemView (0x7fb29e412690)
+ QFrame (0x7fb29e412770) 0
+ primary-for QAbstractScrollArea (0x7fb29e412700)
+ QWidget (0x7fb29e3ef980) 0
+ primary-for QFrame (0x7fb29e412770)
+ QObject (0x7fb29e4127e0) 0
+ primary-for QWidget (0x7fb29e3ef980)
+ QPaintDevice (0x7fb29e412850) 16
+ vptr=((& QHeaderView::_ZTV11QHeaderView) + 800u)
+
+Vtable for QItemDelegate
+QItemDelegate::_ZTV13QItemDelegate: 25u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QItemDelegate)
+16 QItemDelegate::metaObject
+24 QItemDelegate::qt_metacast
+32 QItemDelegate::qt_metacall
+40 QItemDelegate::~QItemDelegate
+48 QItemDelegate::~QItemDelegate
+56 QObject::event
+64 QItemDelegate::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QItemDelegate::paint
+120 QItemDelegate::sizeHint
+128 QItemDelegate::createEditor
+136 QItemDelegate::setEditorData
+144 QItemDelegate::setModelData
+152 QItemDelegate::updateEditorGeometry
+160 QItemDelegate::editorEvent
+168 QItemDelegate::drawDisplay
+176 QItemDelegate::drawDecoration
+184 QItemDelegate::drawFocus
+192 QItemDelegate::drawCheck
+
+Class QItemDelegate
+ size=16 align=8
+ base size=16 base align=8
+QItemDelegate (0x7fb29e257230) 0
+ vptr=((& QItemDelegate::_ZTV13QItemDelegate) + 16u)
+ QAbstractItemDelegate (0x7fb29e2572a0) 0
+ primary-for QItemDelegate (0x7fb29e257230)
+ QObject (0x7fb29e257310) 0
+ primary-for QAbstractItemDelegate (0x7fb29e2572a0)
+
+Vtable for QItemEditorCreatorBase
+QItemEditorCreatorBase::_ZTV22QItemEditorCreatorBase: 6u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI22QItemEditorCreatorBase)
+16 QItemEditorCreatorBase::~QItemEditorCreatorBase
+24 QItemEditorCreatorBase::~QItemEditorCreatorBase
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+
+Class QItemEditorCreatorBase
+ size=8 align=8
+ base size=8 base align=8
+QItemEditorCreatorBase (0x7fb29e273bd0) 0 nearly-empty
+ vptr=((& QItemEditorCreatorBase::_ZTV22QItemEditorCreatorBase) + 16u)
+
+Vtable for QItemEditorFactory
+QItemEditorFactory::_ZTV18QItemEditorFactory: 6u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QItemEditorFactory)
+16 QItemEditorFactory::~QItemEditorFactory
+24 QItemEditorFactory::~QItemEditorFactory
+32 QItemEditorFactory::createEditor
+40 QItemEditorFactory::valuePropertyName
+
+Class QItemEditorFactory
+ size=16 align=8
+ base size=16 base align=8
+QItemEditorFactory (0x7fb29e27ea80) 0
+ vptr=((& QItemEditorFactory::_ZTV18QItemEditorFactory) + 16u)
+
+Vtable for QListWidgetItem
+QListWidgetItem::_ZTV15QListWidgetItem: 11u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QListWidgetItem)
+16 QListWidgetItem::~QListWidgetItem
+24 QListWidgetItem::~QListWidgetItem
+32 QListWidgetItem::clone
+40 QListWidgetItem::setBackgroundColor
+48 QListWidgetItem::data
+56 QListWidgetItem::setData
+64 QListWidgetItem::operator<
+72 QListWidgetItem::read
+80 QListWidgetItem::write
+
+Class QListWidgetItem
+ size=48 align=8
+ base size=44 base align=8
+QListWidgetItem (0x7fb29e28bd20) 0
+ vptr=((& QListWidgetItem::_ZTV15QListWidgetItem) + 16u)
+
+Vtable for QListWidget
+QListWidget::_ZTV11QListWidget: 107u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QListWidget)
+16 QListWidget::metaObject
+24 QListWidget::qt_metacast
+32 QListWidget::qt_metacall
+40 QListWidget::~QListWidget
+48 QListWidget::~QListWidget
+56 QListWidget::event
+64 QObject::eventFilter
+72 QListView::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QAbstractScrollArea::sizeHint
+136 QAbstractScrollArea::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QAbstractItemView::mousePressEvent
+168 QListView::mouseReleaseEvent
+176 QAbstractItemView::mouseDoubleClickEvent
+184 QListView::mouseMoveEvent
+192 QAbstractScrollArea::wheelEvent
+200 QAbstractItemView::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QAbstractItemView::focusInEvent
+224 QAbstractItemView::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QListView::paintEvent
+256 QWidget::moveEvent
+264 QListView::resizeEvent
+272 QWidget::closeEvent
+280 QAbstractScrollArea::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QAbstractItemView::dragEnterEvent
+312 QListView::dragMoveEvent
+320 QListView::dragLeaveEvent
+328 QListWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QFrame::changeEvent
+368 QWidget::metric
+376 QAbstractItemView::inputMethodEvent
+384 QAbstractItemView::inputMethodQuery
+392 QAbstractItemView::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QAbstractItemView::viewportEvent
+456 QListView::scrollContentsBy
+464 QListWidget::setModel
+472 QAbstractItemView::setSelectionModel
+480 QAbstractItemView::keyboardSearch
+488 QListView::visualRect
+496 QListView::scrollTo
+504 QListView::indexAt
+512 QAbstractItemView::sizeHintForRow
+520 QAbstractItemView::sizeHintForColumn
+528 QListView::reset
+536 QListView::setRootIndex
+544 QListView::doItemsLayout
+552 QAbstractItemView::selectAll
+560 QListView::dataChanged
+568 QListView::rowsInserted
+576 QListView::rowsAboutToBeRemoved
+584 QListView::selectionChanged
+592 QListView::currentChanged
+600 QAbstractItemView::updateEditorData
+608 QAbstractItemView::updateEditorGeometries
+616 QListView::updateGeometries
+624 QAbstractItemView::verticalScrollbarAction
+632 QAbstractItemView::horizontalScrollbarAction
+640 QAbstractItemView::verticalScrollbarValueChanged
+648 QAbstractItemView::horizontalScrollbarValueChanged
+656 QAbstractItemView::closeEditor
+664 QAbstractItemView::commitData
+672 QAbstractItemView::editorDestroyed
+680 QListView::moveCursor
+688 QListView::horizontalOffset
+696 QListView::verticalOffset
+704 QListView::isIndexHidden
+712 QListView::setSelection
+720 QListView::visualRegionForSelection
+728 QListView::selectedIndexes
+736 QAbstractItemView::edit
+744 QAbstractItemView::selectionCommand
+752 QListView::startDrag
+760 QListView::viewOptions
+768 QListWidget::mimeTypes
+776 QListWidget::mimeData
+784 QListWidget::dropMimeData
+792 QListWidget::supportedDropActions
+800 (int (*)(...))-0x00000000000000010
+808 (int (*)(...))(& _ZTI11QListWidget)
+816 QListWidget::_ZThn16_N11QListWidgetD1Ev
+824 QListWidget::_ZThn16_N11QListWidgetD0Ev
+832 QWidget::_ZThn16_NK7QWidget7devTypeEv
+840 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+848 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QListWidget
+ size=40 align=8
+ base size=40 base align=8
+QListWidget (0x7fb29e31d3f0) 0
+ vptr=((& QListWidget::_ZTV11QListWidget) + 16u)
+ QListView (0x7fb29e31d460) 0
+ primary-for QListWidget (0x7fb29e31d3f0)
+ QAbstractItemView (0x7fb29e31d4d0) 0
+ primary-for QListView (0x7fb29e31d460)
+ QAbstractScrollArea (0x7fb29e31d540) 0
+ primary-for QAbstractItemView (0x7fb29e31d4d0)
+ QFrame (0x7fb29e31d5b0) 0
+ primary-for QAbstractScrollArea (0x7fb29e31d540)
+ QWidget (0x7fb29e315a00) 0
+ primary-for QFrame (0x7fb29e31d5b0)
+ QObject (0x7fb29e31d620) 0
+ primary-for QWidget (0x7fb29e315a00)
+ QPaintDevice (0x7fb29e31d690) 16
+ vptr=((& QListWidget::_ZTV11QListWidget) + 816u)
+
+Vtable for QProxyModel
+QProxyModel::_ZTV11QProxyModel: 43u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QProxyModel)
+16 QProxyModel::metaObject
+24 QProxyModel::qt_metacast
+32 QProxyModel::qt_metacall
+40 QProxyModel::~QProxyModel
+48 QProxyModel::~QProxyModel
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QProxyModel::index
+120 QProxyModel::parent
+128 QProxyModel::rowCount
+136 QProxyModel::columnCount
+144 QProxyModel::hasChildren
+152 QProxyModel::data
+160 QProxyModel::setData
+168 QProxyModel::headerData
+176 QProxyModel::setHeaderData
+184 QAbstractItemModel::itemData
+192 QAbstractItemModel::setItemData
+200 QProxyModel::mimeTypes
+208 QProxyModel::mimeData
+216 QProxyModel::dropMimeData
+224 QProxyModel::supportedDropActions
+232 QProxyModel::insertRows
+240 QProxyModel::insertColumns
+248 QAbstractItemModel::removeRows
+256 QAbstractItemModel::removeColumns
+264 QProxyModel::fetchMore
+272 QAbstractItemModel::canFetchMore
+280 QProxyModel::flags
+288 QProxyModel::sort
+296 QAbstractItemModel::buddy
+304 QProxyModel::match
+312 QProxyModel::span
+320 QProxyModel::submit
+328 QProxyModel::revert
+336 QProxyModel::setModel
+
+Class QProxyModel
+ size=16 align=8
+ base size=16 base align=8
+QProxyModel (0x7fb29e157850) 0
+ vptr=((& QProxyModel::_ZTV11QProxyModel) + 16u)
+ QAbstractItemModel (0x7fb29e1578c0) 0
+ primary-for QProxyModel (0x7fb29e157850)
+ QObject (0x7fb29e157930) 0
+ primary-for QAbstractItemModel (0x7fb29e1578c0)
+
+Vtable for QSortFilterProxyModel
+QSortFilterProxyModel::_ZTV21QSortFilterProxyModel: 50u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI21QSortFilterProxyModel)
+16 QSortFilterProxyModel::metaObject
+24 QSortFilterProxyModel::qt_metacast
+32 QSortFilterProxyModel::qt_metacall
+40 QSortFilterProxyModel::~QSortFilterProxyModel
+48 QSortFilterProxyModel::~QSortFilterProxyModel
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QSortFilterProxyModel::index
+120 QSortFilterProxyModel::parent
+128 QSortFilterProxyModel::rowCount
+136 QSortFilterProxyModel::columnCount
+144 QSortFilterProxyModel::hasChildren
+152 QSortFilterProxyModel::data
+160 QSortFilterProxyModel::setData
+168 QSortFilterProxyModel::headerData
+176 QSortFilterProxyModel::setHeaderData
+184 QAbstractProxyModel::itemData
+192 QAbstractItemModel::setItemData
+200 QSortFilterProxyModel::mimeTypes
+208 QSortFilterProxyModel::mimeData
+216 QSortFilterProxyModel::dropMimeData
+224 QSortFilterProxyModel::supportedDropActions
+232 QSortFilterProxyModel::insertRows
+240 QSortFilterProxyModel::insertColumns
+248 QSortFilterProxyModel::removeRows
+256 QSortFilterProxyModel::removeColumns
+264 QSortFilterProxyModel::fetchMore
+272 QSortFilterProxyModel::canFetchMore
+280 QSortFilterProxyModel::flags
+288 QSortFilterProxyModel::sort
+296 QSortFilterProxyModel::buddy
+304 QSortFilterProxyModel::match
+312 QSortFilterProxyModel::span
+320 QAbstractProxyModel::submit
+328 QAbstractProxyModel::revert
+336 QSortFilterProxyModel::setSourceModel
+344 QSortFilterProxyModel::mapToSource
+352 QSortFilterProxyModel::mapFromSource
+360 QSortFilterProxyModel::mapSelectionToSource
+368 QSortFilterProxyModel::mapSelectionFromSource
+376 QSortFilterProxyModel::filterAcceptsRow
+384 QSortFilterProxyModel::filterAcceptsColumn
+392 QSortFilterProxyModel::lessThan
+
+Class QSortFilterProxyModel
+ size=16 align=8
+ base size=16 base align=8
+QSortFilterProxyModel (0x7fb29e17a700) 0
+ vptr=((& QSortFilterProxyModel::_ZTV21QSortFilterProxyModel) + 16u)
+ QAbstractProxyModel (0x7fb29e17a770) 0
+ primary-for QSortFilterProxyModel (0x7fb29e17a700)
+ QAbstractItemModel (0x7fb29e17a7e0) 0
+ primary-for QAbstractProxyModel (0x7fb29e17a770)
+ QObject (0x7fb29e17a850) 0
+ primary-for QAbstractItemModel (0x7fb29e17a7e0)
+
+Vtable for QStandardItem
+QStandardItem::_ZTV13QStandardItem: 11u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QStandardItem)
+16 QStandardItem::~QStandardItem
+24 QStandardItem::~QStandardItem
+32 QStandardItem::data
+40 QStandardItem::setData
+48 QStandardItem::clone
+56 QStandardItem::type
+64 QStandardItem::read
+72 QStandardItem::write
+80 QStandardItem::operator<
+
+Class QStandardItem
+ size=16 align=8
+ base size=16 base align=8
+QStandardItem (0x7fb29e1ab620) 0
+ vptr=((& QStandardItem::_ZTV13QStandardItem) + 16u)
+
+Vtable for QStandardItemModel
+QStandardItemModel::_ZTV18QStandardItemModel: 42u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QStandardItemModel)
+16 QStandardItemModel::metaObject
+24 QStandardItemModel::qt_metacast
+32 QStandardItemModel::qt_metacall
+40 QStandardItemModel::~QStandardItemModel
+48 QStandardItemModel::~QStandardItemModel
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QStandardItemModel::index
+120 QStandardItemModel::parent
+128 QStandardItemModel::rowCount
+136 QStandardItemModel::columnCount
+144 QStandardItemModel::hasChildren
+152 QStandardItemModel::data
+160 QStandardItemModel::setData
+168 QStandardItemModel::headerData
+176 QStandardItemModel::setHeaderData
+184 QStandardItemModel::itemData
+192 QStandardItemModel::setItemData
+200 QStandardItemModel::mimeTypes
+208 QStandardItemModel::mimeData
+216 QStandardItemModel::dropMimeData
+224 QStandardItemModel::supportedDropActions
+232 QStandardItemModel::insertRows
+240 QStandardItemModel::insertColumns
+248 QStandardItemModel::removeRows
+256 QStandardItemModel::removeColumns
+264 QAbstractItemModel::fetchMore
+272 QAbstractItemModel::canFetchMore
+280 QStandardItemModel::flags
+288 QStandardItemModel::sort
+296 QAbstractItemModel::buddy
+304 QAbstractItemModel::match
+312 QAbstractItemModel::span
+320 QAbstractItemModel::submit
+328 QAbstractItemModel::revert
+
+Class QStandardItemModel
+ size=16 align=8
+ base size=16 base align=8
+QStandardItemModel (0x7fb29e0953f0) 0
+ vptr=((& QStandardItemModel::_ZTV18QStandardItemModel) + 16u)
+ QAbstractItemModel (0x7fb29e095460) 0
+ primary-for QStandardItemModel (0x7fb29e0953f0)
+ QObject (0x7fb29e0954d0) 0
+ primary-for QAbstractItemModel (0x7fb29e095460)
+
+Vtable for QStringListModel
+QStringListModel::_ZTV16QStringListModel: 42u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QStringListModel)
+16 QStringListModel::metaObject
+24 QStringListModel::qt_metacast
+32 QStringListModel::qt_metacall
+40 QStringListModel::~QStringListModel
+48 QStringListModel::~QStringListModel
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QAbstractListModel::index
+120 QAbstractListModel::parent
+128 QStringListModel::rowCount
+136 QAbstractListModel::columnCount
+144 QAbstractListModel::hasChildren
+152 QStringListModel::data
+160 QStringListModel::setData
+168 QAbstractItemModel::headerData
+176 QAbstractItemModel::setHeaderData
+184 QAbstractItemModel::itemData
+192 QAbstractItemModel::setItemData
+200 QAbstractItemModel::mimeTypes
+208 QAbstractItemModel::mimeData
+216 QAbstractListModel::dropMimeData
+224 QStringListModel::supportedDropActions
+232 QStringListModel::insertRows
+240 QAbstractItemModel::insertColumns
+248 QStringListModel::removeRows
+256 QAbstractItemModel::removeColumns
+264 QAbstractItemModel::fetchMore
+272 QAbstractItemModel::canFetchMore
+280 QStringListModel::flags
+288 QStringListModel::sort
+296 QAbstractItemModel::buddy
+304 QAbstractItemModel::match
+312 QAbstractItemModel::span
+320 QAbstractItemModel::submit
+328 QAbstractItemModel::revert
+
+Class QStringListModel
+ size=24 align=8
+ base size=24 base align=8
+QStringListModel (0x7fb29e0cff50) 0
+ vptr=((& QStringListModel::_ZTV16QStringListModel) + 16u)
+ QAbstractListModel (0x7fb29e0e3000) 0
+ primary-for QStringListModel (0x7fb29e0cff50)
+ QAbstractItemModel (0x7fb29e0e3070) 0
+ primary-for QAbstractListModel (0x7fb29e0e3000)
+ QObject (0x7fb29e0e30e0) 0
+ primary-for QAbstractItemModel (0x7fb29e0e3070)
+
+Vtable for QStyledItemDelegate
+QStyledItemDelegate::_ZTV19QStyledItemDelegate: 23u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QStyledItemDelegate)
+16 QStyledItemDelegate::metaObject
+24 QStyledItemDelegate::qt_metacast
+32 QStyledItemDelegate::qt_metacall
+40 QStyledItemDelegate::~QStyledItemDelegate
+48 QStyledItemDelegate::~QStyledItemDelegate
+56 QObject::event
+64 QStyledItemDelegate::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QStyledItemDelegate::paint
+120 QStyledItemDelegate::sizeHint
+128 QStyledItemDelegate::createEditor
+136 QStyledItemDelegate::setEditorData
+144 QStyledItemDelegate::setModelData
+152 QStyledItemDelegate::updateEditorGeometry
+160 QStyledItemDelegate::editorEvent
+168 QStyledItemDelegate::displayText
+176 QStyledItemDelegate::initStyleOption
+
+Class QStyledItemDelegate
+ size=16 align=8
+ base size=16 base align=8
+QStyledItemDelegate (0x7fb29e0fa5b0) 0
+ vptr=((& QStyledItemDelegate::_ZTV19QStyledItemDelegate) + 16u)
+ QAbstractItemDelegate (0x7fb29e0fa620) 0
+ primary-for QStyledItemDelegate (0x7fb29e0fa5b0)
+ QObject (0x7fb29e0fa690) 0
+ primary-for QAbstractItemDelegate (0x7fb29e0fa620)
+
+Vtable for QTableView
+QTableView::_ZTV10QTableView: 103u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QTableView)
+16 QTableView::metaObject
+24 QTableView::qt_metacast
+32 QTableView::qt_metacall
+40 QTableView::~QTableView
+48 QTableView::~QTableView
+56 QAbstractItemView::event
+64 QObject::eventFilter
+72 QTableView::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QAbstractScrollArea::sizeHint
+136 QAbstractScrollArea::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QAbstractItemView::mousePressEvent
+168 QAbstractItemView::mouseReleaseEvent
+176 QAbstractItemView::mouseDoubleClickEvent
+184 QAbstractItemView::mouseMoveEvent
+192 QAbstractScrollArea::wheelEvent
+200 QAbstractItemView::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QAbstractItemView::focusInEvent
+224 QAbstractItemView::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QTableView::paintEvent
+256 QWidget::moveEvent
+264 QAbstractItemView::resizeEvent
+272 QWidget::closeEvent
+280 QAbstractScrollArea::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QAbstractItemView::dragEnterEvent
+312 QAbstractItemView::dragMoveEvent
+320 QAbstractItemView::dragLeaveEvent
+328 QAbstractItemView::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QFrame::changeEvent
+368 QWidget::metric
+376 QAbstractItemView::inputMethodEvent
+384 QAbstractItemView::inputMethodQuery
+392 QAbstractItemView::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QAbstractItemView::viewportEvent
+456 QTableView::scrollContentsBy
+464 QTableView::setModel
+472 QTableView::setSelectionModel
+480 QAbstractItemView::keyboardSearch
+488 QTableView::visualRect
+496 QTableView::scrollTo
+504 QTableView::indexAt
+512 QTableView::sizeHintForRow
+520 QTableView::sizeHintForColumn
+528 QAbstractItemView::reset
+536 QTableView::setRootIndex
+544 QAbstractItemView::doItemsLayout
+552 QAbstractItemView::selectAll
+560 QAbstractItemView::dataChanged
+568 QAbstractItemView::rowsInserted
+576 QAbstractItemView::rowsAboutToBeRemoved
+584 QTableView::selectionChanged
+592 QTableView::currentChanged
+600 QAbstractItemView::updateEditorData
+608 QAbstractItemView::updateEditorGeometries
+616 QTableView::updateGeometries
+624 QTableView::verticalScrollbarAction
+632 QTableView::horizontalScrollbarAction
+640 QAbstractItemView::verticalScrollbarValueChanged
+648 QAbstractItemView::horizontalScrollbarValueChanged
+656 QAbstractItemView::closeEditor
+664 QAbstractItemView::commitData
+672 QAbstractItemView::editorDestroyed
+680 QTableView::moveCursor
+688 QTableView::horizontalOffset
+696 QTableView::verticalOffset
+704 QTableView::isIndexHidden
+712 QTableView::setSelection
+720 QTableView::visualRegionForSelection
+728 QTableView::selectedIndexes
+736 QAbstractItemView::edit
+744 QAbstractItemView::selectionCommand
+752 QAbstractItemView::startDrag
+760 QTableView::viewOptions
+768 (int (*)(...))-0x00000000000000010
+776 (int (*)(...))(& _ZTI10QTableView)
+784 QTableView::_ZThn16_N10QTableViewD1Ev
+792 QTableView::_ZThn16_N10QTableViewD0Ev
+800 QWidget::_ZThn16_NK7QWidget7devTypeEv
+808 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+816 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QTableView
+ size=40 align=8
+ base size=40 base align=8
+QTableView (0x7fb29e111f50) 0
+ vptr=((& QTableView::_ZTV10QTableView) + 16u)
+ QAbstractItemView (0x7fb29e118000) 0
+ primary-for QTableView (0x7fb29e111f50)
+ QAbstractScrollArea (0x7fb29e118070) 0
+ primary-for QAbstractItemView (0x7fb29e118000)
+ QFrame (0x7fb29e1180e0) 0
+ primary-for QAbstractScrollArea (0x7fb29e118070)
+ QWidget (0x7fb29e0f9b00) 0
+ primary-for QFrame (0x7fb29e1180e0)
+ QObject (0x7fb29e118150) 0
+ primary-for QWidget (0x7fb29e0f9b00)
+ QPaintDevice (0x7fb29e1181c0) 16
+ vptr=((& QTableView::_ZTV10QTableView) + 784u)
+
+Class QTableWidgetSelectionRange
+ size=16 align=4
+ base size=16 base align=4
+QTableWidgetSelectionRange (0x7fb29e143d20) 0
+
+Vtable for QTableWidgetItem
+QTableWidgetItem::_ZTV16QTableWidgetItem: 10u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QTableWidgetItem)
+16 QTableWidgetItem::~QTableWidgetItem
+24 QTableWidgetItem::~QTableWidgetItem
+32 QTableWidgetItem::clone
+40 QTableWidgetItem::data
+48 QTableWidgetItem::setData
+56 QTableWidgetItem::operator<
+64 QTableWidgetItem::read
+72 QTableWidgetItem::write
+
+Class QTableWidgetItem
+ size=48 align=8
+ base size=44 base align=8
+QTableWidgetItem (0x7fb29df54230) 0
+ vptr=((& QTableWidgetItem::_ZTV16QTableWidgetItem) + 16u)
+
+Vtable for QTableWidget
+QTableWidget::_ZTV12QTableWidget: 107u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QTableWidget)
+16 QTableWidget::metaObject
+24 QTableWidget::qt_metacast
+32 QTableWidget::qt_metacall
+40 QTableWidget::~QTableWidget
+48 QTableWidget::~QTableWidget
+56 QTableWidget::event
+64 QObject::eventFilter
+72 QTableView::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QAbstractScrollArea::sizeHint
+136 QAbstractScrollArea::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QAbstractItemView::mousePressEvent
+168 QAbstractItemView::mouseReleaseEvent
+176 QAbstractItemView::mouseDoubleClickEvent
+184 QAbstractItemView::mouseMoveEvent
+192 QAbstractScrollArea::wheelEvent
+200 QAbstractItemView::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QAbstractItemView::focusInEvent
+224 QAbstractItemView::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QTableView::paintEvent
+256 QWidget::moveEvent
+264 QAbstractItemView::resizeEvent
+272 QWidget::closeEvent
+280 QAbstractScrollArea::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QAbstractItemView::dragEnterEvent
+312 QAbstractItemView::dragMoveEvent
+320 QAbstractItemView::dragLeaveEvent
+328 QTableWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QFrame::changeEvent
+368 QWidget::metric
+376 QAbstractItemView::inputMethodEvent
+384 QAbstractItemView::inputMethodQuery
+392 QAbstractItemView::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QAbstractItemView::viewportEvent
+456 QTableView::scrollContentsBy
+464 QTableWidget::setModel
+472 QTableView::setSelectionModel
+480 QAbstractItemView::keyboardSearch
+488 QTableView::visualRect
+496 QTableView::scrollTo
+504 QTableView::indexAt
+512 QTableView::sizeHintForRow
+520 QTableView::sizeHintForColumn
+528 QAbstractItemView::reset
+536 QTableView::setRootIndex
+544 QAbstractItemView::doItemsLayout
+552 QAbstractItemView::selectAll
+560 QAbstractItemView::dataChanged
+568 QAbstractItemView::rowsInserted
+576 QAbstractItemView::rowsAboutToBeRemoved
+584 QTableView::selectionChanged
+592 QTableView::currentChanged
+600 QAbstractItemView::updateEditorData
+608 QAbstractItemView::updateEditorGeometries
+616 QTableView::updateGeometries
+624 QTableView::verticalScrollbarAction
+632 QTableView::horizontalScrollbarAction
+640 QAbstractItemView::verticalScrollbarValueChanged
+648 QAbstractItemView::horizontalScrollbarValueChanged
+656 QAbstractItemView::closeEditor
+664 QAbstractItemView::commitData
+672 QAbstractItemView::editorDestroyed
+680 QTableView::moveCursor
+688 QTableView::horizontalOffset
+696 QTableView::verticalOffset
+704 QTableView::isIndexHidden
+712 QTableView::setSelection
+720 QTableView::visualRegionForSelection
+728 QTableView::selectedIndexes
+736 QAbstractItemView::edit
+744 QAbstractItemView::selectionCommand
+752 QAbstractItemView::startDrag
+760 QTableView::viewOptions
+768 QTableWidget::mimeTypes
+776 QTableWidget::mimeData
+784 QTableWidget::dropMimeData
+792 QTableWidget::supportedDropActions
+800 (int (*)(...))-0x00000000000000010
+808 (int (*)(...))(& _ZTI12QTableWidget)
+816 QTableWidget::_ZThn16_N12QTableWidgetD1Ev
+824 QTableWidget::_ZThn16_N12QTableWidgetD0Ev
+832 QWidget::_ZThn16_NK7QWidget7devTypeEv
+840 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+848 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QTableWidget
+ size=40 align=8
+ base size=40 base align=8
+QTableWidget (0x7fb29dfc77e0) 0
+ vptr=((& QTableWidget::_ZTV12QTableWidget) + 16u)
+ QTableView (0x7fb29dfc7850) 0
+ primary-for QTableWidget (0x7fb29dfc77e0)
+ QAbstractItemView (0x7fb29dfc78c0) 0
+ primary-for QTableView (0x7fb29dfc7850)
+ QAbstractScrollArea (0x7fb29dfc7930) 0
+ primary-for QAbstractItemView (0x7fb29dfc78c0)
+ QFrame (0x7fb29dfc79a0) 0
+ primary-for QAbstractScrollArea (0x7fb29dfc7930)
+ QWidget (0x7fb29dfbdc80) 0
+ primary-for QFrame (0x7fb29dfc79a0)
+ QObject (0x7fb29dfc7a10) 0
+ primary-for QWidget (0x7fb29dfbdc80)
+ QPaintDevice (0x7fb29dfc7a80) 16
+ vptr=((& QTableWidget::_ZTV12QTableWidget) + 816u)
+
+Vtable for QTreeView
+QTreeView::_ZTV9QTreeView: 105u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QTreeView)
+16 QTreeView::metaObject
+24 QTreeView::qt_metacast
+32 QTreeView::qt_metacall
+40 QTreeView::~QTreeView
+48 QTreeView::~QTreeView
+56 QAbstractItemView::event
+64 QObject::eventFilter
+72 QTreeView::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QAbstractScrollArea::sizeHint
+136 QAbstractScrollArea::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QTreeView::mousePressEvent
+168 QTreeView::mouseReleaseEvent
+176 QTreeView::mouseDoubleClickEvent
+184 QTreeView::mouseMoveEvent
+192 QAbstractScrollArea::wheelEvent
+200 QTreeView::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QAbstractItemView::focusInEvent
+224 QAbstractItemView::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QTreeView::paintEvent
+256 QWidget::moveEvent
+264 QAbstractItemView::resizeEvent
+272 QWidget::closeEvent
+280 QAbstractScrollArea::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QAbstractItemView::dragEnterEvent
+312 QTreeView::dragMoveEvent
+320 QAbstractItemView::dragLeaveEvent
+328 QAbstractItemView::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QFrame::changeEvent
+368 QWidget::metric
+376 QAbstractItemView::inputMethodEvent
+384 QAbstractItemView::inputMethodQuery
+392 QAbstractItemView::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QTreeView::viewportEvent
+456 QTreeView::scrollContentsBy
+464 QTreeView::setModel
+472 QTreeView::setSelectionModel
+480 QTreeView::keyboardSearch
+488 QTreeView::visualRect
+496 QTreeView::scrollTo
+504 QTreeView::indexAt
+512 QAbstractItemView::sizeHintForRow
+520 QTreeView::sizeHintForColumn
+528 QTreeView::reset
+536 QTreeView::setRootIndex
+544 QTreeView::doItemsLayout
+552 QTreeView::selectAll
+560 QTreeView::dataChanged
+568 QTreeView::rowsInserted
+576 QTreeView::rowsAboutToBeRemoved
+584 QTreeView::selectionChanged
+592 QTreeView::currentChanged
+600 QAbstractItemView::updateEditorData
+608 QAbstractItemView::updateEditorGeometries
+616 QTreeView::updateGeometries
+624 QAbstractItemView::verticalScrollbarAction
+632 QTreeView::horizontalScrollbarAction
+640 QAbstractItemView::verticalScrollbarValueChanged
+648 QAbstractItemView::horizontalScrollbarValueChanged
+656 QAbstractItemView::closeEditor
+664 QAbstractItemView::commitData
+672 QAbstractItemView::editorDestroyed
+680 QTreeView::moveCursor
+688 QTreeView::horizontalOffset
+696 QTreeView::verticalOffset
+704 QTreeView::isIndexHidden
+712 QTreeView::setSelection
+720 QTreeView::visualRegionForSelection
+728 QTreeView::selectedIndexes
+736 QAbstractItemView::edit
+744 QAbstractItemView::selectionCommand
+752 QAbstractItemView::startDrag
+760 QAbstractItemView::viewOptions
+768 QTreeView::drawRow
+776 QTreeView::drawBranches
+784 (int (*)(...))-0x00000000000000010
+792 (int (*)(...))(& _ZTI9QTreeView)
+800 QTreeView::_ZThn16_N9QTreeViewD1Ev
+808 QTreeView::_ZThn16_N9QTreeViewD0Ev
+816 QWidget::_ZThn16_NK7QWidget7devTypeEv
+824 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+832 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QTreeView
+ size=40 align=8
+ base size=40 base align=8
+QTreeView (0x7fb29e005770) 0
+ vptr=((& QTreeView::_ZTV9QTreeView) + 16u)
+ QAbstractItemView (0x7fb29e0057e0) 0
+ primary-for QTreeView (0x7fb29e005770)
+ QAbstractScrollArea (0x7fb29e005850) 0
+ primary-for QAbstractItemView (0x7fb29e0057e0)
+ QFrame (0x7fb29e0058c0) 0
+ primary-for QAbstractScrollArea (0x7fb29e005850)
+ QWidget (0x7fb29e004600) 0
+ primary-for QFrame (0x7fb29e0058c0)
+ QObject (0x7fb29e005930) 0
+ primary-for QWidget (0x7fb29e004600)
+ QPaintDevice (0x7fb29e0059a0) 16
+ vptr=((& QTreeView::_ZTV9QTreeView) + 800u)
+
+Class QTreeWidgetItemIterator
+ size=24 align=8
+ base size=20 base align=8
+QTreeWidgetItemIterator (0x7fb29e040540) 0
+
+Vtable for QTreeWidgetItem
+QTreeWidgetItem::_ZTV15QTreeWidgetItem: 10u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QTreeWidgetItem)
+16 QTreeWidgetItem::~QTreeWidgetItem
+24 QTreeWidgetItem::~QTreeWidgetItem
+32 QTreeWidgetItem::clone
+40 QTreeWidgetItem::data
+48 QTreeWidgetItem::setData
+56 QTreeWidgetItem::operator<
+64 QTreeWidgetItem::read
+72 QTreeWidgetItem::write
+
+Class QTreeWidgetItem
+ size=64 align=8
+ base size=60 base align=8
+QTreeWidgetItem (0x7fb29deac2a0) 0
+ vptr=((& QTreeWidgetItem::_ZTV15QTreeWidgetItem) + 16u)
+
+Vtable for QTreeWidget
+QTreeWidget::_ZTV11QTreeWidget: 109u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QTreeWidget)
+16 QTreeWidget::metaObject
+24 QTreeWidget::qt_metacast
+32 QTreeWidget::qt_metacall
+40 QTreeWidget::~QTreeWidget
+48 QTreeWidget::~QTreeWidget
+56 QTreeWidget::event
+64 QObject::eventFilter
+72 QTreeView::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QAbstractScrollArea::sizeHint
+136 QAbstractScrollArea::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QTreeView::mousePressEvent
+168 QTreeView::mouseReleaseEvent
+176 QTreeView::mouseDoubleClickEvent
+184 QTreeView::mouseMoveEvent
+192 QAbstractScrollArea::wheelEvent
+200 QTreeView::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QAbstractItemView::focusInEvent
+224 QAbstractItemView::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QTreeView::paintEvent
+256 QWidget::moveEvent
+264 QAbstractItemView::resizeEvent
+272 QWidget::closeEvent
+280 QAbstractScrollArea::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QAbstractItemView::dragEnterEvent
+312 QTreeView::dragMoveEvent
+320 QAbstractItemView::dragLeaveEvent
+328 QTreeWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QFrame::changeEvent
+368 QWidget::metric
+376 QAbstractItemView::inputMethodEvent
+384 QAbstractItemView::inputMethodQuery
+392 QAbstractItemView::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QTreeView::viewportEvent
+456 QTreeView::scrollContentsBy
+464 QTreeWidget::setModel
+472 QTreeWidget::setSelectionModel
+480 QTreeView::keyboardSearch
+488 QTreeView::visualRect
+496 QTreeView::scrollTo
+504 QTreeView::indexAt
+512 QAbstractItemView::sizeHintForRow
+520 QTreeView::sizeHintForColumn
+528 QTreeView::reset
+536 QTreeView::setRootIndex
+544 QTreeView::doItemsLayout
+552 QTreeView::selectAll
+560 QTreeView::dataChanged
+568 QTreeView::rowsInserted
+576 QTreeView::rowsAboutToBeRemoved
+584 QTreeView::selectionChanged
+592 QTreeView::currentChanged
+600 QAbstractItemView::updateEditorData
+608 QAbstractItemView::updateEditorGeometries
+616 QTreeView::updateGeometries
+624 QAbstractItemView::verticalScrollbarAction
+632 QTreeView::horizontalScrollbarAction
+640 QAbstractItemView::verticalScrollbarValueChanged
+648 QAbstractItemView::horizontalScrollbarValueChanged
+656 QAbstractItemView::closeEditor
+664 QAbstractItemView::commitData
+672 QAbstractItemView::editorDestroyed
+680 QTreeView::moveCursor
+688 QTreeView::horizontalOffset
+696 QTreeView::verticalOffset
+704 QTreeView::isIndexHidden
+712 QTreeView::setSelection
+720 QTreeView::visualRegionForSelection
+728 QTreeView::selectedIndexes
+736 QAbstractItemView::edit
+744 QAbstractItemView::selectionCommand
+752 QAbstractItemView::startDrag
+760 QAbstractItemView::viewOptions
+768 QTreeView::drawRow
+776 QTreeView::drawBranches
+784 QTreeWidget::mimeTypes
+792 QTreeWidget::mimeData
+800 QTreeWidget::dropMimeData
+808 QTreeWidget::supportedDropActions
+816 (int (*)(...))-0x00000000000000010
+824 (int (*)(...))(& _ZTI11QTreeWidget)
+832 QTreeWidget::_ZThn16_N11QTreeWidgetD1Ev
+840 QTreeWidget::_ZThn16_N11QTreeWidgetD0Ev
+848 QWidget::_ZThn16_NK7QWidget7devTypeEv
+856 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+864 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QTreeWidget
+ size=40 align=8
+ base size=40 base align=8
+QTreeWidget (0x7fb29dd5a8c0) 0
+ vptr=((& QTreeWidget::_ZTV11QTreeWidget) + 16u)
+ QTreeView (0x7fb29dd5a930) 0
+ primary-for QTreeWidget (0x7fb29dd5a8c0)
+ QAbstractItemView (0x7fb29dd5a9a0) 0
+ primary-for QTreeView (0x7fb29dd5a930)
+ QAbstractScrollArea (0x7fb29dd5aa10) 0
+ primary-for QAbstractItemView (0x7fb29dd5a9a0)
+ QFrame (0x7fb29dd5aa80) 0
+ primary-for QAbstractScrollArea (0x7fb29dd5aa10)
+ QWidget (0x7fb29dd5b200) 0
+ primary-for QFrame (0x7fb29dd5aa80)
+ QObject (0x7fb29dd5aaf0) 0
+ primary-for QWidget (0x7fb29dd5b200)
+ QPaintDevice (0x7fb29dd5ab60) 16
+ vptr=((& QTreeWidget::_ZTV11QTreeWidget) + 832u)
+
+Class QAccessible
+ size=1 align=1
+ base size=0 base align=1
+QAccessible (0x7fb29dda1c40) 0 empty
+
+Vtable for QAccessibleInterface
+QAccessibleInterface::_ZTV20QAccessibleInterface: 19u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI20QAccessibleInterface)
+16 QAccessibleInterface::~QAccessibleInterface
+24 QAccessibleInterface::~QAccessibleInterface
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+48 __cxa_pure_virtual
+56 __cxa_pure_virtual
+64 __cxa_pure_virtual
+72 __cxa_pure_virtual
+80 __cxa_pure_virtual
+88 __cxa_pure_virtual
+96 __cxa_pure_virtual
+104 __cxa_pure_virtual
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 __cxa_pure_virtual
+136 __cxa_pure_virtual
+144 __cxa_pure_virtual
+
+Class QAccessibleInterface
+ size=8 align=8
+ base size=8 base align=8
+QAccessibleInterface (0x7fb29dc4ce00) 0 nearly-empty
+ vptr=((& QAccessibleInterface::_ZTV20QAccessibleInterface) + 16u)
+ QAccessible (0x7fb29dc4ce70) 0 empty
+
+Vtable for QAccessibleInterfaceEx
+QAccessibleInterfaceEx::_ZTV22QAccessibleInterfaceEx: 22u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI22QAccessibleInterfaceEx)
+16 QAccessibleInterfaceEx::~QAccessibleInterfaceEx
+24 QAccessibleInterfaceEx::~QAccessibleInterfaceEx
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+48 __cxa_pure_virtual
+56 __cxa_pure_virtual
+64 __cxa_pure_virtual
+72 __cxa_pure_virtual
+80 __cxa_pure_virtual
+88 __cxa_pure_virtual
+96 __cxa_pure_virtual
+104 __cxa_pure_virtual
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 __cxa_pure_virtual
+136 __cxa_pure_virtual
+144 __cxa_pure_virtual
+152 __cxa_pure_virtual
+160 QAccessibleInterfaceEx::virtual_hook
+168 QAccessibleInterfaceEx::interface_cast
+
+Class QAccessibleInterfaceEx
+ size=8 align=8
+ base size=8 base align=8
+QAccessibleInterfaceEx (0x7fb29dcc8b60) 0 nearly-empty
+ vptr=((& QAccessibleInterfaceEx::_ZTV22QAccessibleInterfaceEx) + 16u)
+ QAccessibleInterface (0x7fb29dcc8bd0) 0 nearly-empty
+ primary-for QAccessibleInterfaceEx (0x7fb29dcc8b60)
+ QAccessible (0x7fb29dcc8c40) 0 empty
+
+Vtable for QAccessibleEvent
+QAccessibleEvent::_ZTV16QAccessibleEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QAccessibleEvent)
+16 QAccessibleEvent::~QAccessibleEvent
+24 QAccessibleEvent::~QAccessibleEvent
+
+Class QAccessibleEvent
+ size=32 align=8
+ base size=32 base align=8
+QAccessibleEvent (0x7fb29dcc8ee0) 0
+ vptr=((& QAccessibleEvent::_ZTV16QAccessibleEvent) + 16u)
+ QEvent (0x7fb29dcc8f50) 0
+ primary-for QAccessibleEvent (0x7fb29dcc8ee0)
+
+Vtable for QAccessible2Interface
+QAccessible2Interface::_ZTV21QAccessible2Interface: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI21QAccessible2Interface)
+16 QAccessible2Interface::~QAccessible2Interface
+24 QAccessible2Interface::~QAccessible2Interface
+
+Class QAccessible2Interface
+ size=8 align=8
+ base size=8 base align=8
+QAccessible2Interface (0x7fb29dcddf50) 0 nearly-empty
+ vptr=((& QAccessible2Interface::_ZTV21QAccessible2Interface) + 16u)
+
+Vtable for QAccessibleTextInterface
+QAccessibleTextInterface::_ZTV24QAccessibleTextInterface: 20u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI24QAccessibleTextInterface)
+16 QAccessibleTextInterface::~QAccessibleTextInterface
+24 QAccessibleTextInterface::~QAccessibleTextInterface
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+48 __cxa_pure_virtual
+56 __cxa_pure_virtual
+64 __cxa_pure_virtual
+72 __cxa_pure_virtual
+80 __cxa_pure_virtual
+88 __cxa_pure_virtual
+96 __cxa_pure_virtual
+104 __cxa_pure_virtual
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 __cxa_pure_virtual
+136 __cxa_pure_virtual
+144 __cxa_pure_virtual
+152 __cxa_pure_virtual
+
+Class QAccessibleTextInterface
+ size=8 align=8
+ base size=8 base align=8
+QAccessibleTextInterface (0x7fb29dcf41c0) 0 nearly-empty
+ vptr=((& QAccessibleTextInterface::_ZTV24QAccessibleTextInterface) + 16u)
+ QAccessible2Interface (0x7fb29dcf4230) 0 nearly-empty
+ primary-for QAccessibleTextInterface (0x7fb29dcf41c0)
+
+Vtable for QAccessibleEditableTextInterface
+QAccessibleEditableTextInterface::_ZTV32QAccessibleEditableTextInterface: 11u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI32QAccessibleEditableTextInterface)
+16 QAccessibleEditableTextInterface::~QAccessibleEditableTextInterface
+24 QAccessibleEditableTextInterface::~QAccessibleEditableTextInterface
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+48 __cxa_pure_virtual
+56 __cxa_pure_virtual
+64 __cxa_pure_virtual
+72 __cxa_pure_virtual
+80 __cxa_pure_virtual
+
+Class QAccessibleEditableTextInterface
+ size=8 align=8
+ base size=8 base align=8
+QAccessibleEditableTextInterface (0x7fb29dd06070) 0 nearly-empty
+ vptr=((& QAccessibleEditableTextInterface::_ZTV32QAccessibleEditableTextInterface) + 16u)
+ QAccessible2Interface (0x7fb29dd060e0) 0 nearly-empty
+ primary-for QAccessibleEditableTextInterface (0x7fb29dd06070)
+
+Vtable for QAccessibleSimpleEditableTextInterface
+QAccessibleSimpleEditableTextInterface::_ZTV38QAccessibleSimpleEditableTextInterface: 11u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI38QAccessibleSimpleEditableTextInterface)
+16 QAccessibleSimpleEditableTextInterface::~QAccessibleSimpleEditableTextInterface
+24 QAccessibleSimpleEditableTextInterface::~QAccessibleSimpleEditableTextInterface
+32 QAccessibleSimpleEditableTextInterface::copyText
+40 QAccessibleSimpleEditableTextInterface::deleteText
+48 QAccessibleSimpleEditableTextInterface::insertText
+56 QAccessibleSimpleEditableTextInterface::cutText
+64 QAccessibleSimpleEditableTextInterface::pasteText
+72 QAccessibleSimpleEditableTextInterface::replaceText
+80 QAccessibleSimpleEditableTextInterface::setAttributes
+
+Class QAccessibleSimpleEditableTextInterface
+ size=16 align=8
+ base size=16 base align=8
+QAccessibleSimpleEditableTextInterface (0x7fb29dd06f50) 0
+ vptr=((& QAccessibleSimpleEditableTextInterface::_ZTV38QAccessibleSimpleEditableTextInterface) + 16u)
+ QAccessibleEditableTextInterface (0x7fb29dd06310) 0 nearly-empty
+ primary-for QAccessibleSimpleEditableTextInterface (0x7fb29dd06f50)
+ QAccessible2Interface (0x7fb29dd11000) 0 nearly-empty
+ primary-for QAccessibleEditableTextInterface (0x7fb29dd06310)
+
+Vtable for QAccessibleValueInterface
+QAccessibleValueInterface::_ZTV25QAccessibleValueInterface: 8u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI25QAccessibleValueInterface)
+16 QAccessibleValueInterface::~QAccessibleValueInterface
+24 QAccessibleValueInterface::~QAccessibleValueInterface
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+48 __cxa_pure_virtual
+56 __cxa_pure_virtual
+
+Class QAccessibleValueInterface
+ size=8 align=8
+ base size=8 base align=8
+QAccessibleValueInterface (0x7fb29dd11230) 0 nearly-empty
+ vptr=((& QAccessibleValueInterface::_ZTV25QAccessibleValueInterface) + 16u)
+ QAccessible2Interface (0x7fb29dd112a0) 0 nearly-empty
+ primary-for QAccessibleValueInterface (0x7fb29dd11230)
+
+Vtable for QAccessibleTableInterface
+QAccessibleTableInterface::_ZTV25QAccessibleTableInterface: 30u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI25QAccessibleTableInterface)
+16 QAccessibleTableInterface::~QAccessibleTableInterface
+24 QAccessibleTableInterface::~QAccessibleTableInterface
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+48 __cxa_pure_virtual
+56 __cxa_pure_virtual
+64 __cxa_pure_virtual
+72 __cxa_pure_virtual
+80 __cxa_pure_virtual
+88 __cxa_pure_virtual
+96 __cxa_pure_virtual
+104 __cxa_pure_virtual
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 __cxa_pure_virtual
+136 __cxa_pure_virtual
+144 __cxa_pure_virtual
+152 __cxa_pure_virtual
+160 __cxa_pure_virtual
+168 __cxa_pure_virtual
+176 __cxa_pure_virtual
+184 __cxa_pure_virtual
+192 __cxa_pure_virtual
+200 __cxa_pure_virtual
+208 __cxa_pure_virtual
+216 __cxa_pure_virtual
+224 __cxa_pure_virtual
+232 __cxa_pure_virtual
+
+Class QAccessibleTableInterface
+ size=8 align=8
+ base size=8 base align=8
+QAccessibleTableInterface (0x7fb29dd22070) 0 nearly-empty
+ vptr=((& QAccessibleTableInterface::_ZTV25QAccessibleTableInterface) + 16u)
+ QAccessible2Interface (0x7fb29dd220e0) 0 nearly-empty
+ primary-for QAccessibleTableInterface (0x7fb29dd22070)
+
+Vtable for QAccessibleActionInterface
+QAccessibleActionInterface::_ZTV26QAccessibleActionInterface: 10u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI26QAccessibleActionInterface)
+16 QAccessibleActionInterface::~QAccessibleActionInterface
+24 QAccessibleActionInterface::~QAccessibleActionInterface
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+48 __cxa_pure_virtual
+56 __cxa_pure_virtual
+64 __cxa_pure_virtual
+72 __cxa_pure_virtual
+
+Class QAccessibleActionInterface
+ size=8 align=8
+ base size=8 base align=8
+QAccessibleActionInterface (0x7fb29dd22460) 0 nearly-empty
+ vptr=((& QAccessibleActionInterface::_ZTV26QAccessibleActionInterface) + 16u)
+ QAccessible2Interface (0x7fb29dd224d0) 0 nearly-empty
+ primary-for QAccessibleActionInterface (0x7fb29dd22460)
+
+Vtable for QAccessibleImageInterface
+QAccessibleImageInterface::_ZTV25QAccessibleImageInterface: 7u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI25QAccessibleImageInterface)
+16 QAccessibleImageInterface::~QAccessibleImageInterface
+24 QAccessibleImageInterface::~QAccessibleImageInterface
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+48 __cxa_pure_virtual
+
+Class QAccessibleImageInterface
+ size=8 align=8
+ base size=8 base align=8
+QAccessibleImageInterface (0x7fb29dd22850) 0 nearly-empty
+ vptr=((& QAccessibleImageInterface::_ZTV25QAccessibleImageInterface) + 16u)
+ QAccessible2Interface (0x7fb29dd228c0) 0 nearly-empty
+ primary-for QAccessibleImageInterface (0x7fb29dd22850)
+
+Vtable for QAccessibleBridge
+QAccessibleBridge::_ZTV17QAccessibleBridge: 6u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QAccessibleBridge)
+16 QAccessibleBridge::~QAccessibleBridge
+24 QAccessibleBridge::~QAccessibleBridge
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+
+Class QAccessibleBridge
+ size=8 align=8
+ base size=8 base align=8
+QAccessibleBridge (0x7fb29dd22c40) 0 nearly-empty
+ vptr=((& QAccessibleBridge::_ZTV17QAccessibleBridge) + 16u)
+
+Vtable for QAccessibleBridgeFactoryInterface
+QAccessibleBridgeFactoryInterface::_ZTV33QAccessibleBridgeFactoryInterface: 6u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI33QAccessibleBridgeFactoryInterface)
+16 QAccessibleBridgeFactoryInterface::~QAccessibleBridgeFactoryInterface
+24 QAccessibleBridgeFactoryInterface::~QAccessibleBridgeFactoryInterface
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+
+Class QAccessibleBridgeFactoryInterface
+ size=8 align=8
+ base size=8 base align=8
+QAccessibleBridgeFactoryInterface (0x7fb29dd3b540) 0 nearly-empty
+ vptr=((& QAccessibleBridgeFactoryInterface::_ZTV33QAccessibleBridgeFactoryInterface) + 16u)
+ QFactoryInterface (0x7fb29dd3b5b0) 0 nearly-empty
+ primary-for QAccessibleBridgeFactoryInterface (0x7fb29dd3b540)
+
+Vtable for QAccessibleBridgePlugin
+QAccessibleBridgePlugin::_ZTV23QAccessibleBridgePlugin: 22u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI23QAccessibleBridgePlugin)
+16 QAccessibleBridgePlugin::metaObject
+24 QAccessibleBridgePlugin::qt_metacast
+32 QAccessibleBridgePlugin::qt_metacall
+40 QAccessibleBridgePlugin::~QAccessibleBridgePlugin
+48 QAccessibleBridgePlugin::~QAccessibleBridgePlugin
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 (int (*)(...))-0x00000000000000010
+136 (int (*)(...))(& _ZTI23QAccessibleBridgePlugin)
+144 QAccessibleBridgePlugin::_ZThn16_N23QAccessibleBridgePluginD1Ev
+152 QAccessibleBridgePlugin::_ZThn16_N23QAccessibleBridgePluginD0Ev
+160 __cxa_pure_virtual
+168 __cxa_pure_virtual
+
+Class QAccessibleBridgePlugin
+ size=24 align=8
+ base size=24 base align=8
+QAccessibleBridgePlugin (0x7fb29dd47580) 0
+ vptr=((& QAccessibleBridgePlugin::_ZTV23QAccessibleBridgePlugin) + 16u)
+ QObject (0x7fb29dd3b620) 0
+ primary-for QAccessibleBridgePlugin (0x7fb29dd47580)
+ QAccessibleBridgeFactoryInterface (0x7fb29db4b000) 16 nearly-empty
+ vptr=((& QAccessibleBridgePlugin::_ZTV23QAccessibleBridgePlugin) + 144u)
+ QFactoryInterface (0x7fb29db4b070) 16 nearly-empty
+ primary-for QAccessibleBridgeFactoryInterface (0x7fb29db4b000)
+
+Vtable for QAccessibleObject
+QAccessibleObject::_ZTV17QAccessibleObject: 19u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QAccessibleObject)
+16 QAccessibleObject::~QAccessibleObject
+24 QAccessibleObject::~QAccessibleObject
+32 QAccessibleObject::isValid
+40 QAccessibleObject::object
+48 __cxa_pure_virtual
+56 __cxa_pure_virtual
+64 __cxa_pure_virtual
+72 __cxa_pure_virtual
+80 __cxa_pure_virtual
+88 __cxa_pure_virtual
+96 QAccessibleObject::setText
+104 QAccessibleObject::rect
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 QAccessibleObject::userActionCount
+136 QAccessibleObject::actionText
+144 QAccessibleObject::doAction
+
+Class QAccessibleObject
+ size=16 align=8
+ base size=16 base align=8
+QAccessibleObject (0x7fb29db4bf50) 0
+ vptr=((& QAccessibleObject::_ZTV17QAccessibleObject) + 16u)
+ QAccessibleInterface (0x7fb29db4b310) 0 nearly-empty
+ primary-for QAccessibleObject (0x7fb29db4bf50)
+ QAccessible (0x7fb29db5c000) 0 empty
+
+Vtable for QAccessibleObjectEx
+QAccessibleObjectEx::_ZTV19QAccessibleObjectEx: 22u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QAccessibleObjectEx)
+16 QAccessibleObjectEx::~QAccessibleObjectEx
+24 QAccessibleObjectEx::~QAccessibleObjectEx
+32 QAccessibleObjectEx::isValid
+40 QAccessibleObjectEx::object
+48 __cxa_pure_virtual
+56 __cxa_pure_virtual
+64 __cxa_pure_virtual
+72 __cxa_pure_virtual
+80 __cxa_pure_virtual
+88 __cxa_pure_virtual
+96 QAccessibleObjectEx::setText
+104 QAccessibleObjectEx::rect
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 QAccessibleObjectEx::userActionCount
+136 QAccessibleObjectEx::actionText
+144 QAccessibleObjectEx::doAction
+152 __cxa_pure_virtual
+160 QAccessibleInterfaceEx::virtual_hook
+168 QAccessibleInterfaceEx::interface_cast
+
+Class QAccessibleObjectEx
+ size=16 align=8
+ base size=16 base align=8
+QAccessibleObjectEx (0x7fb29db5c700) 0
+ vptr=((& QAccessibleObjectEx::_ZTV19QAccessibleObjectEx) + 16u)
+ QAccessibleInterfaceEx (0x7fb29db5c770) 0 nearly-empty
+ primary-for QAccessibleObjectEx (0x7fb29db5c700)
+ QAccessibleInterface (0x7fb29db5c7e0) 0 nearly-empty
+ primary-for QAccessibleInterfaceEx (0x7fb29db5c770)
+ QAccessible (0x7fb29db5c850) 0 empty
+
+Vtable for QAccessibleApplication
+QAccessibleApplication::_ZTV22QAccessibleApplication: 19u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI22QAccessibleApplication)
+16 QAccessibleApplication::~QAccessibleApplication
+24 QAccessibleApplication::~QAccessibleApplication
+32 QAccessibleObject::isValid
+40 QAccessibleObject::object
+48 QAccessibleApplication::childCount
+56 QAccessibleApplication::indexOfChild
+64 QAccessibleApplication::relationTo
+72 QAccessibleApplication::childAt
+80 QAccessibleApplication::navigate
+88 QAccessibleApplication::text
+96 QAccessibleObject::setText
+104 QAccessibleObject::rect
+112 QAccessibleApplication::role
+120 QAccessibleApplication::state
+128 QAccessibleApplication::userActionCount
+136 QAccessibleApplication::actionText
+144 QAccessibleApplication::doAction
+
+Class QAccessibleApplication
+ size=16 align=8
+ base size=16 base align=8
+QAccessibleApplication (0x7fb29db5cf50) 0
+ vptr=((& QAccessibleApplication::_ZTV22QAccessibleApplication) + 16u)
+ QAccessibleObject (0x7fb29db5c690) 0
+ primary-for QAccessibleApplication (0x7fb29db5cf50)
+ QAccessibleInterface (0x7fb29db5cee0) 0 nearly-empty
+ primary-for QAccessibleObject (0x7fb29db5c690)
+ QAccessible (0x7fb29db6e000) 0 empty
+
+Vtable for QAccessibleFactoryInterface
+QAccessibleFactoryInterface::_ZTV27QAccessibleFactoryInterface: 6u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI27QAccessibleFactoryInterface)
+16 QAccessibleFactoryInterface::~QAccessibleFactoryInterface
+24 QAccessibleFactoryInterface::~QAccessibleFactoryInterface
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+
+Class QAccessibleFactoryInterface
+ size=8 align=8
+ base size=8 base align=8
+QAccessibleFactoryInterface (0x7fb29dd47e00) 0 nearly-empty
+ vptr=((& QAccessibleFactoryInterface::_ZTV27QAccessibleFactoryInterface) + 16u)
+ QAccessible (0x7fb29db6e8c0) 0 empty
+ QFactoryInterface (0x7fb29db6e930) 0 nearly-empty
+ primary-for QAccessibleFactoryInterface (0x7fb29dd47e00)
+
+Vtable for QAccessiblePlugin
+QAccessiblePlugin::_ZTV17QAccessiblePlugin: 22u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QAccessiblePlugin)
+16 QAccessiblePlugin::metaObject
+24 QAccessiblePlugin::qt_metacast
+32 QAccessiblePlugin::qt_metacall
+40 QAccessiblePlugin::~QAccessiblePlugin
+48 QAccessiblePlugin::~QAccessiblePlugin
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 (int (*)(...))-0x00000000000000010
+136 (int (*)(...))(& _ZTI17QAccessiblePlugin)
+144 QAccessiblePlugin::_ZThn16_N17QAccessiblePluginD1Ev
+152 QAccessiblePlugin::_ZThn16_N17QAccessiblePluginD0Ev
+160 __cxa_pure_virtual
+168 __cxa_pure_virtual
+
+Class QAccessiblePlugin
+ size=24 align=8
+ base size=24 base align=8
+QAccessiblePlugin (0x7fb29db79800) 0
+ vptr=((& QAccessiblePlugin::_ZTV17QAccessiblePlugin) + 16u)
+ QObject (0x7fb29db802a0) 0
+ primary-for QAccessiblePlugin (0x7fb29db79800)
+ QAccessibleFactoryInterface (0x7fb29db79880) 16 nearly-empty
+ vptr=((& QAccessiblePlugin::_ZTV17QAccessiblePlugin) + 144u)
+ QAccessible (0x7fb29db80310) 16 empty
+ QFactoryInterface (0x7fb29db80380) 16 nearly-empty
+ primary-for QAccessibleFactoryInterface (0x7fb29db79880)
+
+Vtable for QAccessibleWidget
+QAccessibleWidget::_ZTV17QAccessibleWidget: 19u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QAccessibleWidget)
+16 QAccessibleWidget::~QAccessibleWidget
+24 QAccessibleWidget::~QAccessibleWidget
+32 QAccessibleObject::isValid
+40 QAccessibleObject::object
+48 QAccessibleWidget::childCount
+56 QAccessibleWidget::indexOfChild
+64 QAccessibleWidget::relationTo
+72 QAccessibleWidget::childAt
+80 QAccessibleWidget::navigate
+88 QAccessibleWidget::text
+96 QAccessibleObject::setText
+104 QAccessibleWidget::rect
+112 QAccessibleWidget::role
+120 QAccessibleWidget::state
+128 QAccessibleWidget::userActionCount
+136 QAccessibleWidget::actionText
+144 QAccessibleWidget::doAction
+
+Class QAccessibleWidget
+ size=24 align=8
+ base size=24 base align=8
+QAccessibleWidget (0x7fb29db90310) 0
+ vptr=((& QAccessibleWidget::_ZTV17QAccessibleWidget) + 16u)
+ QAccessibleObject (0x7fb29db90380) 0
+ primary-for QAccessibleWidget (0x7fb29db90310)
+ QAccessibleInterface (0x7fb29db903f0) 0 nearly-empty
+ primary-for QAccessibleObject (0x7fb29db90380)
+ QAccessible (0x7fb29db90460) 0 empty
+
+Vtable for QAccessibleWidgetEx
+QAccessibleWidgetEx::_ZTV19QAccessibleWidgetEx: 22u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QAccessibleWidgetEx)
+16 QAccessibleWidgetEx::~QAccessibleWidgetEx
+24 QAccessibleWidgetEx::~QAccessibleWidgetEx
+32 QAccessibleObjectEx::isValid
+40 QAccessibleObjectEx::object
+48 QAccessibleWidgetEx::childCount
+56 QAccessibleWidgetEx::indexOfChild
+64 QAccessibleWidgetEx::relationTo
+72 QAccessibleWidgetEx::childAt
+80 QAccessibleWidgetEx::navigate
+88 QAccessibleWidgetEx::text
+96 QAccessibleObjectEx::setText
+104 QAccessibleWidgetEx::rect
+112 QAccessibleWidgetEx::role
+120 QAccessibleWidgetEx::state
+128 QAccessibleObjectEx::userActionCount
+136 QAccessibleWidgetEx::actionText
+144 QAccessibleWidgetEx::doAction
+152 QAccessibleWidgetEx::invokeMethodEx
+160 QAccessibleInterfaceEx::virtual_hook
+168 QAccessibleInterfaceEx::interface_cast
+
+Class QAccessibleWidgetEx
+ size=24 align=8
+ base size=24 base align=8
+QAccessibleWidgetEx (0x7fb29db9c3f0) 0
+ vptr=((& QAccessibleWidgetEx::_ZTV19QAccessibleWidgetEx) + 16u)
+ QAccessibleObjectEx (0x7fb29db9c460) 0
+ primary-for QAccessibleWidgetEx (0x7fb29db9c3f0)
+ QAccessibleInterfaceEx (0x7fb29db9c4d0) 0 nearly-empty
+ primary-for QAccessibleObjectEx (0x7fb29db9c460)
+ QAccessibleInterface (0x7fb29db9c540) 0 nearly-empty
+ primary-for QAccessibleInterfaceEx (0x7fb29db9c4d0)
+ QAccessible (0x7fb29db9c5b0) 0 empty
+
+Vtable for QAction
+QAction::_ZTV7QAction: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QAction)
+16 QAction::metaObject
+24 QAction::qt_metacast
+32 QAction::qt_metacall
+40 QAction::~QAction
+48 QAction::~QAction
+56 QAction::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QAction
+ size=16 align=8
+ base size=16 base align=8
+QAction (0x7fb29dbaa540) 0
+ vptr=((& QAction::_ZTV7QAction) + 16u)
+ QObject (0x7fb29dbaa5b0) 0
+ primary-for QAction (0x7fb29dbaa540)
+
+Vtable for QActionGroup
+QActionGroup::_ZTV12QActionGroup: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QActionGroup)
+16 QActionGroup::metaObject
+24 QActionGroup::qt_metacast
+32 QActionGroup::qt_metacall
+40 QActionGroup::~QActionGroup
+48 QActionGroup::~QActionGroup
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QActionGroup
+ size=16 align=8
+ base size=16 base align=8
+QActionGroup (0x7fb29dbf3070) 0
+ vptr=((& QActionGroup::_ZTV12QActionGroup) + 16u)
+ QObject (0x7fb29dbf30e0) 0
+ primary-for QActionGroup (0x7fb29dbf3070)
+
+Vtable for QApplication
+QApplication::_ZTV12QApplication: 20u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QApplication)
+16 QApplication::metaObject
+24 QApplication::qt_metacast
+32 QApplication::qt_metacall
+40 QApplication::~QApplication
+48 QApplication::~QApplication
+56 QApplication::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QApplication::notify
+120 QApplication::compressEvent
+128 QApplication::x11EventFilter
+136 QApplication::x11ClientMessage
+144 QApplication::commitData
+152 QApplication::saveState
+
+Class QApplication
+ size=16 align=8
+ base size=16 base align=8
+QApplication (0x7fb29dc36460) 0
+ vptr=((& QApplication::_ZTV12QApplication) + 16u)
+ QCoreApplication (0x7fb29dc364d0) 0
+ primary-for QApplication (0x7fb29dc36460)
+ QObject (0x7fb29dc36540) 0
+ primary-for QCoreApplication (0x7fb29dc364d0)
+
+Vtable for QLayoutItem
+QLayoutItem::_ZTV11QLayoutItem: 18u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QLayoutItem)
+16 QLayoutItem::~QLayoutItem
+24 QLayoutItem::~QLayoutItem
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+48 __cxa_pure_virtual
+56 __cxa_pure_virtual
+64 __cxa_pure_virtual
+72 __cxa_pure_virtual
+80 __cxa_pure_virtual
+88 QLayoutItem::hasHeightForWidth
+96 QLayoutItem::heightForWidth
+104 QLayoutItem::minimumHeightForWidth
+112 QLayoutItem::invalidate
+120 QLayoutItem::widget
+128 QLayoutItem::layout
+136 QLayoutItem::spacerItem
+
+Class QLayoutItem
+ size=16 align=8
+ base size=12 base align=8
+QLayoutItem (0x7fb29da880e0) 0
+ vptr=((& QLayoutItem::_ZTV11QLayoutItem) + 16u)
+
+Vtable for QSpacerItem
+QSpacerItem::_ZTV11QSpacerItem: 18u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QSpacerItem)
+16 QSpacerItem::~QSpacerItem
+24 QSpacerItem::~QSpacerItem
+32 QSpacerItem::sizeHint
+40 QSpacerItem::minimumSize
+48 QSpacerItem::maximumSize
+56 QSpacerItem::expandingDirections
+64 QSpacerItem::setGeometry
+72 QSpacerItem::geometry
+80 QSpacerItem::isEmpty
+88 QLayoutItem::hasHeightForWidth
+96 QLayoutItem::heightForWidth
+104 QLayoutItem::minimumHeightForWidth
+112 QLayoutItem::invalidate
+120 QLayoutItem::widget
+128 QLayoutItem::layout
+136 QSpacerItem::spacerItem
+
+Class QSpacerItem
+ size=40 align=8
+ base size=40 base align=8
+QSpacerItem (0x7fb29da88cb0) 0
+ vptr=((& QSpacerItem::_ZTV11QSpacerItem) + 16u)
+ QLayoutItem (0x7fb29da88d20) 0
+ primary-for QSpacerItem (0x7fb29da88cb0)
+
+Vtable for QWidgetItem
+QWidgetItem::_ZTV11QWidgetItem: 18u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QWidgetItem)
+16 QWidgetItem::~QWidgetItem
+24 QWidgetItem::~QWidgetItem
+32 QWidgetItem::sizeHint
+40 QWidgetItem::minimumSize
+48 QWidgetItem::maximumSize
+56 QWidgetItem::expandingDirections
+64 QWidgetItem::setGeometry
+72 QWidgetItem::geometry
+80 QWidgetItem::isEmpty
+88 QWidgetItem::hasHeightForWidth
+96 QWidgetItem::heightForWidth
+104 QLayoutItem::minimumHeightForWidth
+112 QLayoutItem::invalidate
+120 QWidgetItem::widget
+128 QLayoutItem::layout
+136 QLayoutItem::spacerItem
+
+Class QWidgetItem
+ size=24 align=8
+ base size=24 base align=8
+QWidgetItem (0x7fb29daa41c0) 0
+ vptr=((& QWidgetItem::_ZTV11QWidgetItem) + 16u)
+ QLayoutItem (0x7fb29daa4230) 0
+ primary-for QWidgetItem (0x7fb29daa41c0)
+
+Vtable for QWidgetItemV2
+QWidgetItemV2::_ZTV13QWidgetItemV2: 18u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QWidgetItemV2)
+16 QWidgetItemV2::~QWidgetItemV2
+24 QWidgetItemV2::~QWidgetItemV2
+32 QWidgetItemV2::sizeHint
+40 QWidgetItemV2::minimumSize
+48 QWidgetItemV2::maximumSize
+56 QWidgetItem::expandingDirections
+64 QWidgetItem::setGeometry
+72 QWidgetItem::geometry
+80 QWidgetItem::isEmpty
+88 QWidgetItem::hasHeightForWidth
+96 QWidgetItemV2::heightForWidth
+104 QLayoutItem::minimumHeightForWidth
+112 QLayoutItem::invalidate
+120 QWidgetItem::widget
+128 QLayoutItem::layout
+136 QLayoutItem::spacerItem
+
+Class QWidgetItemV2
+ size=88 align=8
+ base size=88 base align=8
+QWidgetItemV2 (0x7fb29dab6000) 0
+ vptr=((& QWidgetItemV2::_ZTV13QWidgetItemV2) + 16u)
+ QWidgetItem (0x7fb29dab6070) 0
+ primary-for QWidgetItemV2 (0x7fb29dab6000)
+ QLayoutItem (0x7fb29dab60e0) 0
+ primary-for QWidgetItem (0x7fb29dab6070)
+
+Class QLayoutIterator
+ size=16 align=8
+ base size=12 base align=8
+QLayoutIterator (0x7fb29dab6e70) 0
+
+Vtable for QLayout
+QLayout::_ZTV7QLayout: 45u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QLayout)
+16 QLayout::metaObject
+24 QLayout::qt_metacast
+32 QLayout::qt_metacall
+40 QLayout::~QLayout
+48 QLayout::~QLayout
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QLayout::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QLayout::invalidate
+120 QLayout::geometry
+128 __cxa_pure_virtual
+136 QLayout::expandingDirections
+144 QLayout::minimumSize
+152 QLayout::maximumSize
+160 QLayout::setGeometry
+168 __cxa_pure_virtual
+176 __cxa_pure_virtual
+184 QLayout::indexOf
+192 __cxa_pure_virtual
+200 QLayout::isEmpty
+208 QLayout::layout
+216 (int (*)(...))-0x00000000000000010
+224 (int (*)(...))(& _ZTI7QLayout)
+232 QLayout::_ZThn16_N7QLayoutD1Ev
+240 QLayout::_ZThn16_N7QLayoutD0Ev
+248 __cxa_pure_virtual
+256 QLayout::_ZThn16_NK7QLayout11minimumSizeEv
+264 QLayout::_ZThn16_NK7QLayout11maximumSizeEv
+272 QLayout::_ZThn16_NK7QLayout19expandingDirectionsEv
+280 QLayout::_ZThn16_N7QLayout11setGeometryERK5QRect
+288 QLayout::_ZThn16_NK7QLayout8geometryEv
+296 QLayout::_ZThn16_NK7QLayout7isEmptyEv
+304 QLayoutItem::hasHeightForWidth
+312 QLayoutItem::heightForWidth
+320 QLayoutItem::minimumHeightForWidth
+328 QLayout::_ZThn16_N7QLayout10invalidateEv
+336 QLayoutItem::widget
+344 QLayout::_ZThn16_N7QLayout6layoutEv
+352 QLayoutItem::spacerItem
+
+Class QLayout
+ size=32 align=8
+ base size=28 base align=8
+QLayout (0x7fb29daca380) 0
+ vptr=((& QLayout::_ZTV7QLayout) + 16u)
+ QObject (0x7fb29dac8f50) 0
+ primary-for QLayout (0x7fb29daca380)
+ QLayoutItem (0x7fb29dacc000) 16
+ vptr=((& QLayout::_ZTV7QLayout) + 232u)
+
+Vtable for QGridLayout
+QGridLayout::_ZTV11QGridLayout: 49u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QGridLayout)
+16 QGridLayout::metaObject
+24 QGridLayout::qt_metacast
+32 QGridLayout::qt_metacall
+40 QGridLayout::~QGridLayout
+48 QGridLayout::~QGridLayout
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QLayout::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QGridLayout::invalidate
+120 QLayout::geometry
+128 QGridLayout::addItem
+136 QGridLayout::expandingDirections
+144 QGridLayout::minimumSize
+152 QGridLayout::maximumSize
+160 QGridLayout::setGeometry
+168 QGridLayout::itemAt
+176 QGridLayout::takeAt
+184 QLayout::indexOf
+192 QGridLayout::count
+200 QLayout::isEmpty
+208 QLayout::layout
+216 QGridLayout::sizeHint
+224 QGridLayout::hasHeightForWidth
+232 QGridLayout::heightForWidth
+240 QGridLayout::minimumHeightForWidth
+248 (int (*)(...))-0x00000000000000010
+256 (int (*)(...))(& _ZTI11QGridLayout)
+264 QGridLayout::_ZThn16_N11QGridLayoutD1Ev
+272 QGridLayout::_ZThn16_N11QGridLayoutD0Ev
+280 QGridLayout::_ZThn16_NK11QGridLayout8sizeHintEv
+288 QGridLayout::_ZThn16_NK11QGridLayout11minimumSizeEv
+296 QGridLayout::_ZThn16_NK11QGridLayout11maximumSizeEv
+304 QGridLayout::_ZThn16_NK11QGridLayout19expandingDirectionsEv
+312 QGridLayout::_ZThn16_N11QGridLayout11setGeometryERK5QRect
+320 QLayout::_ZThn16_NK7QLayout8geometryEv
+328 QLayout::_ZThn16_NK7QLayout7isEmptyEv
+336 QGridLayout::_ZThn16_NK11QGridLayout17hasHeightForWidthEv
+344 QGridLayout::_ZThn16_NK11QGridLayout14heightForWidthEi
+352 QGridLayout::_ZThn16_NK11QGridLayout21minimumHeightForWidthEi
+360 QGridLayout::_ZThn16_N11QGridLayout10invalidateEv
+368 QLayoutItem::widget
+376 QLayout::_ZThn16_N7QLayout6layoutEv
+384 QLayoutItem::spacerItem
+
+Class QGridLayout
+ size=32 align=8
+ base size=28 base align=8
+QGridLayout (0x7fb29db0b4d0) 0
+ vptr=((& QGridLayout::_ZTV11QGridLayout) + 16u)
+ QLayout (0x7fb29db08500) 0
+ primary-for QGridLayout (0x7fb29db0b4d0)
+ QObject (0x7fb29db0b540) 0
+ primary-for QLayout (0x7fb29db08500)
+ QLayoutItem (0x7fb29db0b5b0) 16
+ vptr=((& QGridLayout::_ZTV11QGridLayout) + 264u)
+
+Vtable for QBoxLayout
+QBoxLayout::_ZTV10QBoxLayout: 49u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QBoxLayout)
+16 QBoxLayout::metaObject
+24 QBoxLayout::qt_metacast
+32 QBoxLayout::qt_metacall
+40 QBoxLayout::~QBoxLayout
+48 QBoxLayout::~QBoxLayout
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QLayout::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QBoxLayout::invalidate
+120 QLayout::geometry
+128 QBoxLayout::addItem
+136 QBoxLayout::expandingDirections
+144 QBoxLayout::minimumSize
+152 QBoxLayout::maximumSize
+160 QBoxLayout::setGeometry
+168 QBoxLayout::itemAt
+176 QBoxLayout::takeAt
+184 QLayout::indexOf
+192 QBoxLayout::count
+200 QLayout::isEmpty
+208 QLayout::layout
+216 QBoxLayout::sizeHint
+224 QBoxLayout::hasHeightForWidth
+232 QBoxLayout::heightForWidth
+240 QBoxLayout::minimumHeightForWidth
+248 (int (*)(...))-0x00000000000000010
+256 (int (*)(...))(& _ZTI10QBoxLayout)
+264 QBoxLayout::_ZThn16_N10QBoxLayoutD1Ev
+272 QBoxLayout::_ZThn16_N10QBoxLayoutD0Ev
+280 QBoxLayout::_ZThn16_NK10QBoxLayout8sizeHintEv
+288 QBoxLayout::_ZThn16_NK10QBoxLayout11minimumSizeEv
+296 QBoxLayout::_ZThn16_NK10QBoxLayout11maximumSizeEv
+304 QBoxLayout::_ZThn16_NK10QBoxLayout19expandingDirectionsEv
+312 QBoxLayout::_ZThn16_N10QBoxLayout11setGeometryERK5QRect
+320 QLayout::_ZThn16_NK7QLayout8geometryEv
+328 QLayout::_ZThn16_NK7QLayout7isEmptyEv
+336 QBoxLayout::_ZThn16_NK10QBoxLayout17hasHeightForWidthEv
+344 QBoxLayout::_ZThn16_NK10QBoxLayout14heightForWidthEi
+352 QBoxLayout::_ZThn16_NK10QBoxLayout21minimumHeightForWidthEi
+360 QBoxLayout::_ZThn16_N10QBoxLayout10invalidateEv
+368 QLayoutItem::widget
+376 QLayout::_ZThn16_N7QLayout6layoutEv
+384 QLayoutItem::spacerItem
+
+Class QBoxLayout
+ size=32 align=8
+ base size=28 base align=8
+QBoxLayout (0x7fb29d957540) 0
+ vptr=((& QBoxLayout::_ZTV10QBoxLayout) + 16u)
+ QLayout (0x7fb29d955400) 0
+ primary-for QBoxLayout (0x7fb29d957540)
+ QObject (0x7fb29d9575b0) 0
+ primary-for QLayout (0x7fb29d955400)
+ QLayoutItem (0x7fb29d957620) 16
+ vptr=((& QBoxLayout::_ZTV10QBoxLayout) + 264u)
+
+Vtable for QHBoxLayout
+QHBoxLayout::_ZTV11QHBoxLayout: 49u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QHBoxLayout)
+16 QHBoxLayout::metaObject
+24 QHBoxLayout::qt_metacast
+32 QHBoxLayout::qt_metacall
+40 QHBoxLayout::~QHBoxLayout
+48 QHBoxLayout::~QHBoxLayout
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QLayout::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QBoxLayout::invalidate
+120 QLayout::geometry
+128 QBoxLayout::addItem
+136 QBoxLayout::expandingDirections
+144 QBoxLayout::minimumSize
+152 QBoxLayout::maximumSize
+160 QBoxLayout::setGeometry
+168 QBoxLayout::itemAt
+176 QBoxLayout::takeAt
+184 QLayout::indexOf
+192 QBoxLayout::count
+200 QLayout::isEmpty
+208 QLayout::layout
+216 QBoxLayout::sizeHint
+224 QBoxLayout::hasHeightForWidth
+232 QBoxLayout::heightForWidth
+240 QBoxLayout::minimumHeightForWidth
+248 (int (*)(...))-0x00000000000000010
+256 (int (*)(...))(& _ZTI11QHBoxLayout)
+264 QHBoxLayout::_ZThn16_N11QHBoxLayoutD1Ev
+272 QHBoxLayout::_ZThn16_N11QHBoxLayoutD0Ev
+280 QBoxLayout::_ZThn16_NK10QBoxLayout8sizeHintEv
+288 QBoxLayout::_ZThn16_NK10QBoxLayout11minimumSizeEv
+296 QBoxLayout::_ZThn16_NK10QBoxLayout11maximumSizeEv
+304 QBoxLayout::_ZThn16_NK10QBoxLayout19expandingDirectionsEv
+312 QBoxLayout::_ZThn16_N10QBoxLayout11setGeometryERK5QRect
+320 QLayout::_ZThn16_NK7QLayout8geometryEv
+328 QLayout::_ZThn16_NK7QLayout7isEmptyEv
+336 QBoxLayout::_ZThn16_NK10QBoxLayout17hasHeightForWidthEv
+344 QBoxLayout::_ZThn16_NK10QBoxLayout14heightForWidthEi
+352 QBoxLayout::_ZThn16_NK10QBoxLayout21minimumHeightForWidthEi
+360 QBoxLayout::_ZThn16_N10QBoxLayout10invalidateEv
+368 QLayoutItem::widget
+376 QLayout::_ZThn16_N7QLayout6layoutEv
+384 QLayoutItem::spacerItem
+
+Class QHBoxLayout
+ size=32 align=8
+ base size=28 base align=8
+QHBoxLayout (0x7fb29d97af50) 0
+ vptr=((& QHBoxLayout::_ZTV11QHBoxLayout) + 16u)
+ QBoxLayout (0x7fb29d985000) 0
+ primary-for QHBoxLayout (0x7fb29d97af50)
+ QLayout (0x7fb29d982280) 0
+ primary-for QBoxLayout (0x7fb29d985000)
+ QObject (0x7fb29d985070) 0
+ primary-for QLayout (0x7fb29d982280)
+ QLayoutItem (0x7fb29d9850e0) 16
+ vptr=((& QHBoxLayout::_ZTV11QHBoxLayout) + 264u)
+
+Vtable for QVBoxLayout
+QVBoxLayout::_ZTV11QVBoxLayout: 49u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QVBoxLayout)
+16 QVBoxLayout::metaObject
+24 QVBoxLayout::qt_metacast
+32 QVBoxLayout::qt_metacall
+40 QVBoxLayout::~QVBoxLayout
+48 QVBoxLayout::~QVBoxLayout
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QLayout::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QBoxLayout::invalidate
+120 QLayout::geometry
+128 QBoxLayout::addItem
+136 QBoxLayout::expandingDirections
+144 QBoxLayout::minimumSize
+152 QBoxLayout::maximumSize
+160 QBoxLayout::setGeometry
+168 QBoxLayout::itemAt
+176 QBoxLayout::takeAt
+184 QLayout::indexOf
+192 QBoxLayout::count
+200 QLayout::isEmpty
+208 QLayout::layout
+216 QBoxLayout::sizeHint
+224 QBoxLayout::hasHeightForWidth
+232 QBoxLayout::heightForWidth
+240 QBoxLayout::minimumHeightForWidth
+248 (int (*)(...))-0x00000000000000010
+256 (int (*)(...))(& _ZTI11QVBoxLayout)
+264 QVBoxLayout::_ZThn16_N11QVBoxLayoutD1Ev
+272 QVBoxLayout::_ZThn16_N11QVBoxLayoutD0Ev
+280 QBoxLayout::_ZThn16_NK10QBoxLayout8sizeHintEv
+288 QBoxLayout::_ZThn16_NK10QBoxLayout11minimumSizeEv
+296 QBoxLayout::_ZThn16_NK10QBoxLayout11maximumSizeEv
+304 QBoxLayout::_ZThn16_NK10QBoxLayout19expandingDirectionsEv
+312 QBoxLayout::_ZThn16_N10QBoxLayout11setGeometryERK5QRect
+320 QLayout::_ZThn16_NK7QLayout8geometryEv
+328 QLayout::_ZThn16_NK7QLayout7isEmptyEv
+336 QBoxLayout::_ZThn16_NK10QBoxLayout17hasHeightForWidthEv
+344 QBoxLayout::_ZThn16_NK10QBoxLayout14heightForWidthEi
+352 QBoxLayout::_ZThn16_NK10QBoxLayout21minimumHeightForWidthEi
+360 QBoxLayout::_ZThn16_N10QBoxLayout10invalidateEv
+368 QLayoutItem::widget
+376 QLayout::_ZThn16_N7QLayout6layoutEv
+384 QLayoutItem::spacerItem
+
+Class QVBoxLayout
+ size=32 align=8
+ base size=28 base align=8
+QVBoxLayout (0x7fb29d9995b0) 0
+ vptr=((& QVBoxLayout::_ZTV11QVBoxLayout) + 16u)
+ QBoxLayout (0x7fb29d999620) 0
+ primary-for QVBoxLayout (0x7fb29d9995b0)
+ QLayout (0x7fb29d982980) 0
+ primary-for QBoxLayout (0x7fb29d999620)
+ QObject (0x7fb29d999690) 0
+ primary-for QLayout (0x7fb29d982980)
+ QLayoutItem (0x7fb29d999700) 16
+ vptr=((& QVBoxLayout::_ZTV11QVBoxLayout) + 264u)
+
+Vtable for QClipboard
+QClipboard::_ZTV10QClipboard: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QClipboard)
+16 QClipboard::metaObject
+24 QClipboard::qt_metacast
+32 QClipboard::qt_metacall
+40 QClipboard::~QClipboard
+48 QClipboard::~QClipboard
+56 QClipboard::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QClipboard::connectNotify
+104 QObject::disconnectNotify
+
+Class QClipboard
+ size=16 align=8
+ base size=16 base align=8
+QClipboard (0x7fb29d9a9c40) 0
+ vptr=((& QClipboard::_ZTV10QClipboard) + 16u)
+ QObject (0x7fb29d9a9cb0) 0
+ primary-for QClipboard (0x7fb29d9a9c40)
+
+Vtable for QDesktopWidget
+QDesktopWidget::_ZTV14QDesktopWidget: 63u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QDesktopWidget)
+16 QDesktopWidget::metaObject
+24 QDesktopWidget::qt_metacast
+32 QDesktopWidget::qt_metacall
+40 QDesktopWidget::~QDesktopWidget
+48 QDesktopWidget::~QDesktopWidget
+56 QWidget::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QWidget::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QWidget::paintEvent
+256 QWidget::moveEvent
+264 QDesktopWidget::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QWidget::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 (int (*)(...))-0x00000000000000010
+456 (int (*)(...))(& _ZTI14QDesktopWidget)
+464 QDesktopWidget::_ZThn16_N14QDesktopWidgetD1Ev
+472 QDesktopWidget::_ZThn16_N14QDesktopWidgetD0Ev
+480 QWidget::_ZThn16_NK7QWidget7devTypeEv
+488 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+496 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QDesktopWidget
+ size=40 align=8
+ base size=40 base align=8
+QDesktopWidget (0x7fb29d9d2930) 0
+ vptr=((& QDesktopWidget::_ZTV14QDesktopWidget) + 16u)
+ QWidget (0x7fb29d9b2c00) 0
+ primary-for QDesktopWidget (0x7fb29d9d2930)
+ QObject (0x7fb29d9d29a0) 0
+ primary-for QWidget (0x7fb29d9b2c00)
+ QPaintDevice (0x7fb29d9d2a10) 16
+ vptr=((& QDesktopWidget::_ZTV14QDesktopWidget) + 464u)
+
+Vtable for QFormLayout
+QFormLayout::_ZTV11QFormLayout: 48u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QFormLayout)
+16 QFormLayout::metaObject
+24 QFormLayout::qt_metacast
+32 QFormLayout::qt_metacall
+40 QFormLayout::~QFormLayout
+48 QFormLayout::~QFormLayout
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QLayout::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QFormLayout::invalidate
+120 QLayout::geometry
+128 QFormLayout::addItem
+136 QFormLayout::expandingDirections
+144 QFormLayout::minimumSize
+152 QLayout::maximumSize
+160 QFormLayout::setGeometry
+168 QFormLayout::itemAt
+176 QFormLayout::takeAt
+184 QLayout::indexOf
+192 QFormLayout::count
+200 QLayout::isEmpty
+208 QLayout::layout
+216 QFormLayout::sizeHint
+224 QFormLayout::hasHeightForWidth
+232 QFormLayout::heightForWidth
+240 (int (*)(...))-0x00000000000000010
+248 (int (*)(...))(& _ZTI11QFormLayout)
+256 QFormLayout::_ZThn16_N11QFormLayoutD1Ev
+264 QFormLayout::_ZThn16_N11QFormLayoutD0Ev
+272 QFormLayout::_ZThn16_NK11QFormLayout8sizeHintEv
+280 QFormLayout::_ZThn16_NK11QFormLayout11minimumSizeEv
+288 QLayout::_ZThn16_NK7QLayout11maximumSizeEv
+296 QFormLayout::_ZThn16_NK11QFormLayout19expandingDirectionsEv
+304 QFormLayout::_ZThn16_N11QFormLayout11setGeometryERK5QRect
+312 QLayout::_ZThn16_NK7QLayout8geometryEv
+320 QLayout::_ZThn16_NK7QLayout7isEmptyEv
+328 QFormLayout::_ZThn16_NK11QFormLayout17hasHeightForWidthEv
+336 QFormLayout::_ZThn16_NK11QFormLayout14heightForWidthEi
+344 QLayoutItem::minimumHeightForWidth
+352 QFormLayout::_ZThn16_N11QFormLayout10invalidateEv
+360 QLayoutItem::widget
+368 QLayout::_ZThn16_N7QLayout6layoutEv
+376 QLayoutItem::spacerItem
+
+Class QFormLayout
+ size=32 align=8
+ base size=28 base align=8
+QFormLayout (0x7fb29d9f09a0) 0
+ vptr=((& QFormLayout::_ZTV11QFormLayout) + 16u)
+ QLayout (0x7fb29d9ebb80) 0
+ primary-for QFormLayout (0x7fb29d9f09a0)
+ QObject (0x7fb29d9f0a10) 0
+ primary-for QLayout (0x7fb29d9ebb80)
+ QLayoutItem (0x7fb29d9f0a80) 16
+ vptr=((& QFormLayout::_ZTV11QFormLayout) + 256u)
+
+Vtable for QGesture
+QGesture::_ZTV8QGesture: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI8QGesture)
+16 QGesture::metaObject
+24 QGesture::qt_metacast
+32 QGesture::qt_metacall
+40 QGesture::~QGesture
+48 QGesture::~QGesture
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QGesture
+ size=16 align=8
+ base size=16 base align=8
+QGesture (0x7fb29da26150) 0
+ vptr=((& QGesture::_ZTV8QGesture) + 16u)
+ QObject (0x7fb29da261c0) 0
+ primary-for QGesture (0x7fb29da26150)
+
+Vtable for QPanGesture
+QPanGesture::_ZTV11QPanGesture: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QPanGesture)
+16 QPanGesture::metaObject
+24 QPanGesture::qt_metacast
+32 QPanGesture::qt_metacall
+40 QPanGesture::~QPanGesture
+48 QPanGesture::~QPanGesture
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QPanGesture
+ size=16 align=8
+ base size=16 base align=8
+QPanGesture (0x7fb29da3f850) 0
+ vptr=((& QPanGesture::_ZTV11QPanGesture) + 16u)
+ QGesture (0x7fb29da3f8c0) 0
+ primary-for QPanGesture (0x7fb29da3f850)
+ QObject (0x7fb29da3f930) 0
+ primary-for QGesture (0x7fb29da3f8c0)
+
+Vtable for QPinchGesture
+QPinchGesture::_ZTV13QPinchGesture: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QPinchGesture)
+16 QPinchGesture::metaObject
+24 QPinchGesture::qt_metacast
+32 QPinchGesture::qt_metacall
+40 QPinchGesture::~QPinchGesture
+48 QPinchGesture::~QPinchGesture
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QPinchGesture
+ size=16 align=8
+ base size=16 base align=8
+QPinchGesture (0x7fb29d850cb0) 0
+ vptr=((& QPinchGesture::_ZTV13QPinchGesture) + 16u)
+ QGesture (0x7fb29d850d20) 0
+ primary-for QPinchGesture (0x7fb29d850cb0)
+ QObject (0x7fb29d850d90) 0
+ primary-for QGesture (0x7fb29d850d20)
+
+Vtable for QSwipeGesture
+QSwipeGesture::_ZTV13QSwipeGesture: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QSwipeGesture)
+16 QSwipeGesture::metaObject
+24 QSwipeGesture::qt_metacast
+32 QSwipeGesture::qt_metacall
+40 QSwipeGesture::~QSwipeGesture
+48 QSwipeGesture::~QSwipeGesture
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QSwipeGesture
+ size=16 align=8
+ base size=16 base align=8
+QSwipeGesture (0x7fb29d871d20) 0
+ vptr=((& QSwipeGesture::_ZTV13QSwipeGesture) + 16u)
+ QGesture (0x7fb29d871d90) 0
+ primary-for QSwipeGesture (0x7fb29d871d20)
+ QObject (0x7fb29d871e00) 0
+ primary-for QGesture (0x7fb29d871d90)
+
+Vtable for QTapGesture
+QTapGesture::_ZTV11QTapGesture: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QTapGesture)
+16 QTapGesture::metaObject
+24 QTapGesture::qt_metacast
+32 QTapGesture::qt_metacall
+40 QTapGesture::~QTapGesture
+48 QTapGesture::~QTapGesture
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QTapGesture
+ size=16 align=8
+ base size=16 base align=8
+QTapGesture (0x7fb29d890460) 0
+ vptr=((& QTapGesture::_ZTV11QTapGesture) + 16u)
+ QGesture (0x7fb29d8904d0) 0
+ primary-for QTapGesture (0x7fb29d890460)
+ QObject (0x7fb29d890540) 0
+ primary-for QGesture (0x7fb29d8904d0)
+
+Vtable for QTapAndHoldGesture
+QTapAndHoldGesture::_ZTV18QTapAndHoldGesture: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QTapAndHoldGesture)
+16 QTapAndHoldGesture::metaObject
+24 QTapAndHoldGesture::qt_metacast
+32 QTapAndHoldGesture::qt_metacall
+40 QTapAndHoldGesture::~QTapAndHoldGesture
+48 QTapAndHoldGesture::~QTapAndHoldGesture
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QTapAndHoldGesture
+ size=16 align=8
+ base size=16 base align=8
+QTapAndHoldGesture (0x7fb29d8a08c0) 0
+ vptr=((& QTapAndHoldGesture::_ZTV18QTapAndHoldGesture) + 16u)
+ QGesture (0x7fb29d8a0930) 0
+ primary-for QTapAndHoldGesture (0x7fb29d8a08c0)
+ QObject (0x7fb29d8a09a0) 0
+ primary-for QGesture (0x7fb29d8a0930)
+
+Vtable for QGestureRecognizer
+QGestureRecognizer::_ZTV18QGestureRecognizer: 7u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QGestureRecognizer)
+16 QGestureRecognizer::~QGestureRecognizer
+24 QGestureRecognizer::~QGestureRecognizer
+32 QGestureRecognizer::create
+40 __cxa_pure_virtual
+48 QGestureRecognizer::reset
+
+Class QGestureRecognizer
+ size=8 align=8
+ base size=8 base align=8
+QGestureRecognizer (0x7fb29d8bd310) 0 nearly-empty
+ vptr=((& QGestureRecognizer::_ZTV18QGestureRecognizer) + 16u)
+
+Vtable for QSessionManager
+QSessionManager::_ZTV15QSessionManager: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QSessionManager)
+16 QSessionManager::metaObject
+24 QSessionManager::qt_metacast
+32 QSessionManager::qt_metacall
+40 QSessionManager::~QSessionManager
+48 QSessionManager::~QSessionManager
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QSessionManager
+ size=16 align=8
+ base size=16 base align=8
+QSessionManager (0x7fb29d8f2620) 0
+ vptr=((& QSessionManager::_ZTV15QSessionManager) + 16u)
+ QObject (0x7fb29d8f2690) 0
+ primary-for QSessionManager (0x7fb29d8f2620)
+
+Vtable for QShortcut
+QShortcut::_ZTV9QShortcut: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QShortcut)
+16 QShortcut::metaObject
+24 QShortcut::qt_metacast
+32 QShortcut::qt_metacall
+40 QShortcut::~QShortcut
+48 QShortcut::~QShortcut
+56 QShortcut::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QShortcut
+ size=16 align=8
+ base size=16 base align=8
+QShortcut (0x7fb29d923b60) 0
+ vptr=((& QShortcut::_ZTV9QShortcut) + 16u)
+ QObject (0x7fb29d923bd0) 0
+ primary-for QShortcut (0x7fb29d923b60)
+
+Vtable for QSound
+QSound::_ZTV6QSound: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI6QSound)
+16 QSound::metaObject
+24 QSound::qt_metacast
+32 QSound::qt_metacall
+40 QSound::~QSound
+48 QSound::~QSound
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QSound
+ size=16 align=8
+ base size=16 base align=8
+QSound (0x7fb29d93f310) 0
+ vptr=((& QSound::_ZTV6QSound) + 16u)
+ QObject (0x7fb29d93f380) 0
+ primary-for QSound (0x7fb29d93f310)
+
+Vtable for QStackedLayout
+QStackedLayout::_ZTV14QStackedLayout: 46u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QStackedLayout)
+16 QStackedLayout::metaObject
+24 QStackedLayout::qt_metacast
+32 QStackedLayout::qt_metacall
+40 QStackedLayout::~QStackedLayout
+48 QStackedLayout::~QStackedLayout
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QLayout::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QLayout::invalidate
+120 QLayout::geometry
+128 QStackedLayout::addItem
+136 QLayout::expandingDirections
+144 QStackedLayout::minimumSize
+152 QLayout::maximumSize
+160 QStackedLayout::setGeometry
+168 QStackedLayout::itemAt
+176 QStackedLayout::takeAt
+184 QLayout::indexOf
+192 QStackedLayout::count
+200 QLayout::isEmpty
+208 QLayout::layout
+216 QStackedLayout::sizeHint
+224 (int (*)(...))-0x00000000000000010
+232 (int (*)(...))(& _ZTI14QStackedLayout)
+240 QStackedLayout::_ZThn16_N14QStackedLayoutD1Ev
+248 QStackedLayout::_ZThn16_N14QStackedLayoutD0Ev
+256 QStackedLayout::_ZThn16_NK14QStackedLayout8sizeHintEv
+264 QStackedLayout::_ZThn16_NK14QStackedLayout11minimumSizeEv
+272 QLayout::_ZThn16_NK7QLayout11maximumSizeEv
+280 QLayout::_ZThn16_NK7QLayout19expandingDirectionsEv
+288 QStackedLayout::_ZThn16_N14QStackedLayout11setGeometryERK5QRect
+296 QLayout::_ZThn16_NK7QLayout8geometryEv
+304 QLayout::_ZThn16_NK7QLayout7isEmptyEv
+312 QLayoutItem::hasHeightForWidth
+320 QLayoutItem::heightForWidth
+328 QLayoutItem::minimumHeightForWidth
+336 QLayout::_ZThn16_N7QLayout10invalidateEv
+344 QLayoutItem::widget
+352 QLayout::_ZThn16_N7QLayout6layoutEv
+360 QLayoutItem::spacerItem
+
+Class QStackedLayout
+ size=32 align=8
+ base size=28 base align=8
+QStackedLayout (0x7fb29d753a80) 0
+ vptr=((& QStackedLayout::_ZTV14QStackedLayout) + 16u)
+ QLayout (0x7fb29d74b880) 0
+ primary-for QStackedLayout (0x7fb29d753a80)
+ QObject (0x7fb29d753af0) 0
+ primary-for QLayout (0x7fb29d74b880)
+ QLayoutItem (0x7fb29d753b60) 16
+ vptr=((& QStackedLayout::_ZTV14QStackedLayout) + 240u)
+
+Class QToolTip
+ size=1 align=1
+ base size=0 base align=1
+QToolTip (0x7fb29d773a80) 0 empty
+
+Class QWhatsThis
+ size=1 align=1
+ base size=0 base align=1
+QWhatsThis (0x7fb29d780070) 0 empty
+
+Vtable for QWidgetAction
+QWidgetAction::_ZTV13QWidgetAction: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QWidgetAction)
+16 QWidgetAction::metaObject
+24 QWidgetAction::qt_metacast
+32 QWidgetAction::qt_metacall
+40 QWidgetAction::~QWidgetAction
+48 QWidgetAction::~QWidgetAction
+56 QWidgetAction::event
+64 QWidgetAction::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidgetAction::createWidget
+120 QWidgetAction::deleteWidget
+
+Class QWidgetAction
+ size=16 align=8
+ base size=16 base align=8
+QWidgetAction (0x7fb29d780150) 0
+ vptr=((& QWidgetAction::_ZTV13QWidgetAction) + 16u)
+ QAction (0x7fb29d7801c0) 0
+ primary-for QWidgetAction (0x7fb29d780150)
+ QObject (0x7fb29d780230) 0
+ primary-for QAction (0x7fb29d7801c0)
+
+Class QVector3D
+ size=12 align=4
+ base size=12 base align=4
+QVector3D (0x7fb29d64f1c0) 0
+
+Class QVector4D
+ size=16 align=4
+ base size=16 base align=4
+QVector4D (0x7fb29d6b2cb0) 0
+
+Class QQuaternion
+ size=32 align=8
+ base size=32 base align=8
+QQuaternion (0x7fb29d728d20) 0
+
+Class QMatrix4x4
+ size=136 align=8
+ base size=132 base align=8
+QMatrix4x4 (0x7fb29d5a7b60) 0
+
+Class QVector2D
+ size=8 align=4
+ base size=8 base align=4
+QVector2D (0x7fb29d3f3d90) 0
+
+Vtable for QCommonStyle
+QCommonStyle::_ZTV12QCommonStyle: 35u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QCommonStyle)
+16 QCommonStyle::metaObject
+24 QCommonStyle::qt_metacast
+32 QCommonStyle::qt_metacall
+40 QCommonStyle::~QCommonStyle
+48 QCommonStyle::~QCommonStyle
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QCommonStyle::polish
+120 QCommonStyle::unpolish
+128 QCommonStyle::polish
+136 QCommonStyle::unpolish
+144 QCommonStyle::polish
+152 QStyle::itemTextRect
+160 QStyle::itemPixmapRect
+168 QStyle::drawItemText
+176 QStyle::drawItemPixmap
+184 QStyle::standardPalette
+192 QCommonStyle::drawPrimitive
+200 QCommonStyle::drawControl
+208 QCommonStyle::subElementRect
+216 QCommonStyle::drawComplexControl
+224 QCommonStyle::hitTestComplexControl
+232 QCommonStyle::subControlRect
+240 QCommonStyle::pixelMetric
+248 QCommonStyle::sizeFromContents
+256 QCommonStyle::styleHint
+264 QCommonStyle::standardPixmap
+272 QCommonStyle::generatedIconPixmap
+
+Class QCommonStyle
+ size=16 align=8
+ base size=16 base align=8
+QCommonStyle (0x7fb29d2562a0) 0
+ vptr=((& QCommonStyle::_ZTV12QCommonStyle) + 16u)
+ QStyle (0x7fb29d256310) 0
+ primary-for QCommonStyle (0x7fb29d2562a0)
+ QObject (0x7fb29d256380) 0
+ primary-for QStyle (0x7fb29d256310)
+
+Vtable for QMotifStyle
+QMotifStyle::_ZTV11QMotifStyle: 35u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QMotifStyle)
+16 QMotifStyle::metaObject
+24 QMotifStyle::qt_metacast
+32 QMotifStyle::qt_metacall
+40 QMotifStyle::~QMotifStyle
+48 QMotifStyle::~QMotifStyle
+56 QMotifStyle::event
+64 QMotifStyle::eventFilter
+72 QMotifStyle::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QMotifStyle::polish
+120 QMotifStyle::unpolish
+128 QMotifStyle::polish
+136 QMotifStyle::unpolish
+144 QMotifStyle::polish
+152 QStyle::itemTextRect
+160 QStyle::itemPixmapRect
+168 QStyle::drawItemText
+176 QStyle::drawItemPixmap
+184 QMotifStyle::standardPalette
+192 QMotifStyle::drawPrimitive
+200 QMotifStyle::drawControl
+208 QMotifStyle::subElementRect
+216 QMotifStyle::drawComplexControl
+224 QCommonStyle::hitTestComplexControl
+232 QMotifStyle::subControlRect
+240 QMotifStyle::pixelMetric
+248 QMotifStyle::sizeFromContents
+256 QMotifStyle::styleHint
+264 QMotifStyle::standardPixmap
+272 QCommonStyle::generatedIconPixmap
+
+Class QMotifStyle
+ size=32 align=8
+ base size=25 base align=8
+QMotifStyle (0x7fb29d2792a0) 0
+ vptr=((& QMotifStyle::_ZTV11QMotifStyle) + 16u)
+ QCommonStyle (0x7fb29d279310) 0
+ primary-for QMotifStyle (0x7fb29d2792a0)
+ QStyle (0x7fb29d279380) 0
+ primary-for QCommonStyle (0x7fb29d279310)
+ QObject (0x7fb29d2793f0) 0
+ primary-for QStyle (0x7fb29d279380)
+
+Vtable for QCDEStyle
+QCDEStyle::_ZTV9QCDEStyle: 35u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QCDEStyle)
+16 QCDEStyle::metaObject
+24 QCDEStyle::qt_metacast
+32 QCDEStyle::qt_metacall
+40 QCDEStyle::~QCDEStyle
+48 QCDEStyle::~QCDEStyle
+56 QMotifStyle::event
+64 QMotifStyle::eventFilter
+72 QMotifStyle::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QMotifStyle::polish
+120 QMotifStyle::unpolish
+128 QMotifStyle::polish
+136 QMotifStyle::unpolish
+144 QMotifStyle::polish
+152 QStyle::itemTextRect
+160 QStyle::itemPixmapRect
+168 QStyle::drawItemText
+176 QStyle::drawItemPixmap
+184 QCDEStyle::standardPalette
+192 QCDEStyle::drawPrimitive
+200 QCDEStyle::drawControl
+208 QMotifStyle::subElementRect
+216 QMotifStyle::drawComplexControl
+224 QCommonStyle::hitTestComplexControl
+232 QMotifStyle::subControlRect
+240 QCDEStyle::pixelMetric
+248 QMotifStyle::sizeFromContents
+256 QMotifStyle::styleHint
+264 QMotifStyle::standardPixmap
+272 QCommonStyle::generatedIconPixmap
+
+Class QCDEStyle
+ size=32 align=8
+ base size=25 base align=8
+QCDEStyle (0x7fb29d2a21c0) 0
+ vptr=((& QCDEStyle::_ZTV9QCDEStyle) + 16u)
+ QMotifStyle (0x7fb29d2a2230) 0
+ primary-for QCDEStyle (0x7fb29d2a21c0)
+ QCommonStyle (0x7fb29d2a22a0) 0
+ primary-for QMotifStyle (0x7fb29d2a2230)
+ QStyle (0x7fb29d2a2310) 0
+ primary-for QCommonStyle (0x7fb29d2a22a0)
+ QObject (0x7fb29d2a2380) 0
+ primary-for QStyle (0x7fb29d2a2310)
+
+Vtable for QWindowsStyle
+QWindowsStyle::_ZTV13QWindowsStyle: 35u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QWindowsStyle)
+16 QWindowsStyle::metaObject
+24 QWindowsStyle::qt_metacast
+32 QWindowsStyle::qt_metacall
+40 QWindowsStyle::~QWindowsStyle
+48 QWindowsStyle::~QWindowsStyle
+56 QObject::event
+64 QWindowsStyle::eventFilter
+72 QWindowsStyle::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWindowsStyle::polish
+120 QWindowsStyle::unpolish
+128 QWindowsStyle::polish
+136 QWindowsStyle::unpolish
+144 QWindowsStyle::polish
+152 QStyle::itemTextRect
+160 QStyle::itemPixmapRect
+168 QStyle::drawItemText
+176 QStyle::drawItemPixmap
+184 QStyle::standardPalette
+192 QWindowsStyle::drawPrimitive
+200 QWindowsStyle::drawControl
+208 QWindowsStyle::subElementRect
+216 QWindowsStyle::drawComplexControl
+224 QCommonStyle::hitTestComplexControl
+232 QCommonStyle::subControlRect
+240 QWindowsStyle::pixelMetric
+248 QWindowsStyle::sizeFromContents
+256 QWindowsStyle::styleHint
+264 QWindowsStyle::standardPixmap
+272 QCommonStyle::generatedIconPixmap
+
+Class QWindowsStyle
+ size=24 align=8
+ base size=24 base align=8
+QWindowsStyle (0x7fb29d2b5310) 0
+ vptr=((& QWindowsStyle::_ZTV13QWindowsStyle) + 16u)
+ QCommonStyle (0x7fb29d2b5380) 0
+ primary-for QWindowsStyle (0x7fb29d2b5310)
+ QStyle (0x7fb29d2b53f0) 0
+ primary-for QCommonStyle (0x7fb29d2b5380)
+ QObject (0x7fb29d2b5460) 0
+ primary-for QStyle (0x7fb29d2b53f0)
+
+Vtable for QCleanlooksStyle
+QCleanlooksStyle::_ZTV16QCleanlooksStyle: 35u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QCleanlooksStyle)
+16 QCleanlooksStyle::metaObject
+24 QCleanlooksStyle::qt_metacast
+32 QCleanlooksStyle::qt_metacall
+40 QCleanlooksStyle::~QCleanlooksStyle
+48 QCleanlooksStyle::~QCleanlooksStyle
+56 QObject::event
+64 QWindowsStyle::eventFilter
+72 QWindowsStyle::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QCleanlooksStyle::polish
+120 QCleanlooksStyle::unpolish
+128 QCleanlooksStyle::polish
+136 QCleanlooksStyle::unpolish
+144 QCleanlooksStyle::polish
+152 QStyle::itemTextRect
+160 QCleanlooksStyle::itemPixmapRect
+168 QCleanlooksStyle::drawItemText
+176 QCleanlooksStyle::drawItemPixmap
+184 QCleanlooksStyle::standardPalette
+192 QCleanlooksStyle::drawPrimitive
+200 QCleanlooksStyle::drawControl
+208 QCleanlooksStyle::subElementRect
+216 QCleanlooksStyle::drawComplexControl
+224 QCleanlooksStyle::hitTestComplexControl
+232 QCleanlooksStyle::subControlRect
+240 QCleanlooksStyle::pixelMetric
+248 QCleanlooksStyle::sizeFromContents
+256 QCleanlooksStyle::styleHint
+264 QCleanlooksStyle::standardPixmap
+272 QCleanlooksStyle::generatedIconPixmap
+
+Class QCleanlooksStyle
+ size=24 align=8
+ base size=24 base align=8
+QCleanlooksStyle (0x7fb29d2d60e0) 0
+ vptr=((& QCleanlooksStyle::_ZTV16QCleanlooksStyle) + 16u)
+ QWindowsStyle (0x7fb29d2d6150) 0
+ primary-for QCleanlooksStyle (0x7fb29d2d60e0)
+ QCommonStyle (0x7fb29d2d61c0) 0
+ primary-for QWindowsStyle (0x7fb29d2d6150)
+ QStyle (0x7fb29d2d6230) 0
+ primary-for QCommonStyle (0x7fb29d2d61c0)
+ QObject (0x7fb29d2d62a0) 0
+ primary-for QStyle (0x7fb29d2d6230)
+
+Vtable for QPlastiqueStyle
+QPlastiqueStyle::_ZTV15QPlastiqueStyle: 35u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QPlastiqueStyle)
+16 QPlastiqueStyle::metaObject
+24 QPlastiqueStyle::qt_metacast
+32 QPlastiqueStyle::qt_metacall
+40 QPlastiqueStyle::~QPlastiqueStyle
+48 QPlastiqueStyle::~QPlastiqueStyle
+56 QObject::event
+64 QPlastiqueStyle::eventFilter
+72 QPlastiqueStyle::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QPlastiqueStyle::polish
+120 QPlastiqueStyle::unpolish
+128 QPlastiqueStyle::polish
+136 QPlastiqueStyle::unpolish
+144 QPlastiqueStyle::polish
+152 QStyle::itemTextRect
+160 QStyle::itemPixmapRect
+168 QStyle::drawItemText
+176 QStyle::drawItemPixmap
+184 QPlastiqueStyle::standardPalette
+192 QPlastiqueStyle::drawPrimitive
+200 QPlastiqueStyle::drawControl
+208 QPlastiqueStyle::subElementRect
+216 QPlastiqueStyle::drawComplexControl
+224 QPlastiqueStyle::hitTestComplexControl
+232 QPlastiqueStyle::subControlRect
+240 QPlastiqueStyle::pixelMetric
+248 QPlastiqueStyle::sizeFromContents
+256 QPlastiqueStyle::styleHint
+264 QPlastiqueStyle::standardPixmap
+272 QCommonStyle::generatedIconPixmap
+
+Class QPlastiqueStyle
+ size=32 align=8
+ base size=32 base align=8
+QPlastiqueStyle (0x7fb29d2f1e70) 0
+ vptr=((& QPlastiqueStyle::_ZTV15QPlastiqueStyle) + 16u)
+ QWindowsStyle (0x7fb29d2f1ee0) 0
+ primary-for QPlastiqueStyle (0x7fb29d2f1e70)
+ QCommonStyle (0x7fb29d2f1f50) 0
+ primary-for QWindowsStyle (0x7fb29d2f1ee0)
+ QStyle (0x7fb29d2f7000) 0
+ primary-for QCommonStyle (0x7fb29d2f1f50)
+ QObject (0x7fb29d2f7070) 0
+ primary-for QStyle (0x7fb29d2f7000)
+
+Vtable for QProxyStyle
+QProxyStyle::_ZTV11QProxyStyle: 35u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QProxyStyle)
+16 QProxyStyle::metaObject
+24 QProxyStyle::qt_metacast
+32 QProxyStyle::qt_metacall
+40 QProxyStyle::~QProxyStyle
+48 QProxyStyle::~QProxyStyle
+56 QProxyStyle::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QProxyStyle::polish
+120 QProxyStyle::unpolish
+128 QProxyStyle::polish
+136 QProxyStyle::unpolish
+144 QProxyStyle::polish
+152 QProxyStyle::itemTextRect
+160 QProxyStyle::itemPixmapRect
+168 QProxyStyle::drawItemText
+176 QProxyStyle::drawItemPixmap
+184 QProxyStyle::standardPalette
+192 QProxyStyle::drawPrimitive
+200 QProxyStyle::drawControl
+208 QProxyStyle::subElementRect
+216 QProxyStyle::drawComplexControl
+224 QProxyStyle::hitTestComplexControl
+232 QProxyStyle::subControlRect
+240 QProxyStyle::pixelMetric
+248 QProxyStyle::sizeFromContents
+256 QProxyStyle::styleHint
+264 QProxyStyle::standardPixmap
+272 QProxyStyle::generatedIconPixmap
+
+Class QProxyStyle
+ size=16 align=8
+ base size=16 base align=8
+QProxyStyle (0x7fb29d31c000) 0
+ vptr=((& QProxyStyle::_ZTV11QProxyStyle) + 16u)
+ QCommonStyle (0x7fb29d31c070) 0
+ primary-for QProxyStyle (0x7fb29d31c000)
+ QStyle (0x7fb29d31c0e0) 0
+ primary-for QCommonStyle (0x7fb29d31c070)
+ QObject (0x7fb29d31c150) 0
+ primary-for QStyle (0x7fb29d31c0e0)
+
+Vtable for QS60Style
+QS60Style::_ZTV9QS60Style: 35u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QS60Style)
+16 QS60Style::metaObject
+24 QS60Style::qt_metacast
+32 QS60Style::qt_metacall
+40 QS60Style::~QS60Style
+48 QS60Style::~QS60Style
+56 QS60Style::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QS60Style::polish
+120 QS60Style::unpolish
+128 QS60Style::polish
+136 QS60Style::unpolish
+144 QCommonStyle::polish
+152 QStyle::itemTextRect
+160 QStyle::itemPixmapRect
+168 QStyle::drawItemText
+176 QStyle::drawItemPixmap
+184 QStyle::standardPalette
+192 QS60Style::drawPrimitive
+200 QS60Style::drawControl
+208 QS60Style::subElementRect
+216 QS60Style::drawComplexControl
+224 QCommonStyle::hitTestComplexControl
+232 QS60Style::subControlRect
+240 QS60Style::pixelMetric
+248 QS60Style::sizeFromContents
+256 QS60Style::styleHint
+264 QCommonStyle::standardPixmap
+272 QCommonStyle::generatedIconPixmap
+
+Class QS60Style
+ size=16 align=8
+ base size=16 base align=8
+QS60Style (0x7fb29d33a4d0) 0
+ vptr=((& QS60Style::_ZTV9QS60Style) + 16u)
+ QCommonStyle (0x7fb29d33a540) 0
+ primary-for QS60Style (0x7fb29d33a4d0)
+ QStyle (0x7fb29d33a5b0) 0
+ primary-for QCommonStyle (0x7fb29d33a540)
+ QObject (0x7fb29d33a620) 0
+ primary-for QStyle (0x7fb29d33a5b0)
+
+Class QStyleFactory
+ size=1 align=1
+ base size=0 base align=1
+QStyleFactory (0x7fb29d160310) 0 empty
+
+Vtable for QStyleFactoryInterface
+QStyleFactoryInterface::_ZTV22QStyleFactoryInterface: 6u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI22QStyleFactoryInterface)
+16 QStyleFactoryInterface::~QStyleFactoryInterface
+24 QStyleFactoryInterface::~QStyleFactoryInterface
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+
+Class QStyleFactoryInterface
+ size=8 align=8
+ base size=8 base align=8
+QStyleFactoryInterface (0x7fb29d160380) 0 nearly-empty
+ vptr=((& QStyleFactoryInterface::_ZTV22QStyleFactoryInterface) + 16u)
+ QFactoryInterface (0x7fb29d1603f0) 0 nearly-empty
+ primary-for QStyleFactoryInterface (0x7fb29d160380)
+
+Vtable for QStylePlugin
+QStylePlugin::_ZTV12QStylePlugin: 22u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QStylePlugin)
+16 QStylePlugin::metaObject
+24 QStylePlugin::qt_metacast
+32 QStylePlugin::qt_metacall
+40 QStylePlugin::~QStylePlugin
+48 QStylePlugin::~QStylePlugin
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 (int (*)(...))-0x00000000000000010
+136 (int (*)(...))(& _ZTI12QStylePlugin)
+144 QStylePlugin::_ZThn16_N12QStylePluginD1Ev
+152 QStylePlugin::_ZThn16_N12QStylePluginD0Ev
+160 __cxa_pure_virtual
+168 __cxa_pure_virtual
+
+Class QStylePlugin
+ size=24 align=8
+ base size=24 base align=8
+QStylePlugin (0x7fb29d16a000) 0
+ vptr=((& QStylePlugin::_ZTV12QStylePlugin) + 16u)
+ QObject (0x7fb29d160e00) 0
+ primary-for QStylePlugin (0x7fb29d16a000)
+ QStyleFactoryInterface (0x7fb29d160e70) 16 nearly-empty
+ vptr=((& QStylePlugin::_ZTV12QStylePlugin) + 144u)
+ QFactoryInterface (0x7fb29d160ee0) 16 nearly-empty
+ primary-for QStyleFactoryInterface (0x7fb29d160e70)
+
+Vtable for QWindowsCEStyle
+QWindowsCEStyle::_ZTV15QWindowsCEStyle: 35u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QWindowsCEStyle)
+16 QWindowsCEStyle::metaObject
+24 QWindowsCEStyle::qt_metacast
+32 QWindowsCEStyle::qt_metacall
+40 QWindowsCEStyle::~QWindowsCEStyle
+48 QWindowsCEStyle::~QWindowsCEStyle
+56 QObject::event
+64 QWindowsStyle::eventFilter
+72 QWindowsStyle::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWindowsCEStyle::polish
+120 QWindowsStyle::unpolish
+128 QWindowsCEStyle::polish
+136 QWindowsStyle::unpolish
+144 QWindowsCEStyle::polish
+152 QStyle::itemTextRect
+160 QStyle::itemPixmapRect
+168 QWindowsCEStyle::drawItemText
+176 QStyle::drawItemPixmap
+184 QWindowsCEStyle::standardPalette
+192 QWindowsCEStyle::drawPrimitive
+200 QWindowsCEStyle::drawControl
+208 QWindowsCEStyle::subElementRect
+216 QWindowsCEStyle::drawComplexControl
+224 QWindowsCEStyle::hitTestComplexControl
+232 QWindowsCEStyle::subControlRect
+240 QWindowsCEStyle::pixelMetric
+248 QWindowsCEStyle::sizeFromContents
+256 QWindowsCEStyle::styleHint
+264 QWindowsCEStyle::standardPixmap
+272 QCommonStyle::generatedIconPixmap
+
+Class QWindowsCEStyle
+ size=24 align=8
+ base size=24 base align=8
+QWindowsCEStyle (0x7fb29d16dd90) 0
+ vptr=((& QWindowsCEStyle::_ZTV15QWindowsCEStyle) + 16u)
+ QWindowsStyle (0x7fb29d16de00) 0
+ primary-for QWindowsCEStyle (0x7fb29d16dd90)
+ QCommonStyle (0x7fb29d16de70) 0
+ primary-for QWindowsStyle (0x7fb29d16de00)
+ QStyle (0x7fb29d16dee0) 0
+ primary-for QCommonStyle (0x7fb29d16de70)
+ QObject (0x7fb29d16df50) 0
+ primary-for QStyle (0x7fb29d16dee0)
+
+Vtable for QWindowsMobileStyle
+QWindowsMobileStyle::_ZTV19QWindowsMobileStyle: 35u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QWindowsMobileStyle)
+16 QWindowsMobileStyle::metaObject
+24 QWindowsMobileStyle::qt_metacast
+32 QWindowsMobileStyle::qt_metacall
+40 QWindowsMobileStyle::~QWindowsMobileStyle
+48 QWindowsMobileStyle::~QWindowsMobileStyle
+56 QObject::event
+64 QWindowsStyle::eventFilter
+72 QWindowsStyle::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWindowsMobileStyle::polish
+120 QWindowsMobileStyle::unpolish
+128 QWindowsMobileStyle::polish
+136 QWindowsMobileStyle::unpolish
+144 QWindowsMobileStyle::polish
+152 QStyle::itemTextRect
+160 QStyle::itemPixmapRect
+168 QStyle::drawItemText
+176 QStyle::drawItemPixmap
+184 QWindowsMobileStyle::standardPalette
+192 QWindowsMobileStyle::drawPrimitive
+200 QWindowsMobileStyle::drawControl
+208 QWindowsMobileStyle::subElementRect
+216 QWindowsMobileStyle::drawComplexControl
+224 QCommonStyle::hitTestComplexControl
+232 QWindowsMobileStyle::subControlRect
+240 QWindowsMobileStyle::pixelMetric
+248 QWindowsMobileStyle::sizeFromContents
+256 QWindowsMobileStyle::styleHint
+264 QWindowsMobileStyle::standardPixmap
+272 QWindowsMobileStyle::generatedIconPixmap
+
+Class QWindowsMobileStyle
+ size=24 align=8
+ base size=24 base align=8
+QWindowsMobileStyle (0x7fb29d1943f0) 0
+ vptr=((& QWindowsMobileStyle::_ZTV19QWindowsMobileStyle) + 16u)
+ QWindowsStyle (0x7fb29d194460) 0
+ primary-for QWindowsMobileStyle (0x7fb29d1943f0)
+ QCommonStyle (0x7fb29d1944d0) 0
+ primary-for QWindowsStyle (0x7fb29d194460)
+ QStyle (0x7fb29d194540) 0
+ primary-for QCommonStyle (0x7fb29d1944d0)
+ QObject (0x7fb29d1945b0) 0
+ primary-for QStyle (0x7fb29d194540)
+
+Vtable for QWindowsXPStyle
+QWindowsXPStyle::_ZTV15QWindowsXPStyle: 35u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QWindowsXPStyle)
+16 QWindowsXPStyle::metaObject
+24 QWindowsXPStyle::qt_metacast
+32 QWindowsXPStyle::qt_metacall
+40 QWindowsXPStyle::~QWindowsXPStyle
+48 QWindowsXPStyle::~QWindowsXPStyle
+56 QObject::event
+64 QWindowsStyle::eventFilter
+72 QWindowsStyle::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWindowsXPStyle::polish
+120 QWindowsXPStyle::unpolish
+128 QWindowsXPStyle::polish
+136 QWindowsXPStyle::unpolish
+144 QWindowsXPStyle::polish
+152 QStyle::itemTextRect
+160 QStyle::itemPixmapRect
+168 QStyle::drawItemText
+176 QStyle::drawItemPixmap
+184 QWindowsXPStyle::standardPalette
+192 QWindowsXPStyle::drawPrimitive
+200 QWindowsXPStyle::drawControl
+208 QWindowsXPStyle::subElementRect
+216 QWindowsXPStyle::drawComplexControl
+224 QCommonStyle::hitTestComplexControl
+232 QWindowsXPStyle::subControlRect
+240 QWindowsXPStyle::pixelMetric
+248 QWindowsXPStyle::sizeFromContents
+256 QWindowsXPStyle::styleHint
+264 QWindowsXPStyle::standardPixmap
+272 QCommonStyle::generatedIconPixmap
+
+Class QWindowsXPStyle
+ size=32 align=8
+ base size=32 base align=8
+QWindowsXPStyle (0x7fb29d1add90) 0
+ vptr=((& QWindowsXPStyle::_ZTV15QWindowsXPStyle) + 16u)
+ QWindowsStyle (0x7fb29d1ade00) 0
+ primary-for QWindowsXPStyle (0x7fb29d1add90)
+ QCommonStyle (0x7fb29d1ade70) 0
+ primary-for QWindowsStyle (0x7fb29d1ade00)
+ QStyle (0x7fb29d1adee0) 0
+ primary-for QCommonStyle (0x7fb29d1ade70)
+ QObject (0x7fb29d1adf50) 0
+ primary-for QStyle (0x7fb29d1adee0)
+
+Vtable for QWindowsVistaStyle
+QWindowsVistaStyle::_ZTV18QWindowsVistaStyle: 35u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QWindowsVistaStyle)
+16 QWindowsVistaStyle::metaObject
+24 QWindowsVistaStyle::qt_metacast
+32 QWindowsVistaStyle::qt_metacall
+40 QWindowsVistaStyle::~QWindowsVistaStyle
+48 QWindowsVistaStyle::~QWindowsVistaStyle
+56 QWindowsVistaStyle::event
+64 QWindowsStyle::eventFilter
+72 QWindowsStyle::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWindowsVistaStyle::polish
+120 QWindowsVistaStyle::unpolish
+128 QWindowsVistaStyle::polish
+136 QWindowsVistaStyle::unpolish
+144 QWindowsVistaStyle::polish
+152 QStyle::itemTextRect
+160 QStyle::itemPixmapRect
+168 QStyle::drawItemText
+176 QStyle::drawItemPixmap
+184 QWindowsVistaStyle::standardPalette
+192 QWindowsVistaStyle::drawPrimitive
+200 QWindowsVistaStyle::drawControl
+208 QWindowsVistaStyle::subElementRect
+216 QWindowsVistaStyle::drawComplexControl
+224 QWindowsVistaStyle::hitTestComplexControl
+232 QWindowsVistaStyle::subControlRect
+240 QWindowsVistaStyle::pixelMetric
+248 QWindowsVistaStyle::sizeFromContents
+256 QWindowsVistaStyle::styleHint
+264 QWindowsVistaStyle::standardPixmap
+272 QCommonStyle::generatedIconPixmap
+
+Class QWindowsVistaStyle
+ size=32 align=8
+ base size=32 base align=8
+QWindowsVistaStyle (0x7fb29d1cdc40) 0
+ vptr=((& QWindowsVistaStyle::_ZTV18QWindowsVistaStyle) + 16u)
+ QWindowsXPStyle (0x7fb29d1cdcb0) 0
+ primary-for QWindowsVistaStyle (0x7fb29d1cdc40)
+ QWindowsStyle (0x7fb29d1cdd20) 0
+ primary-for QWindowsXPStyle (0x7fb29d1cdcb0)
+ QCommonStyle (0x7fb29d1cdd90) 0
+ primary-for QWindowsStyle (0x7fb29d1cdd20)
+ QStyle (0x7fb29d1cde00) 0
+ primary-for QCommonStyle (0x7fb29d1cdd90)
+ QObject (0x7fb29d1cde70) 0
+ primary-for QStyle (0x7fb29d1cde00)
+
+Vtable for QInputContext
+QInputContext::_ZTV13QInputContext: 26u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QInputContext)
+16 QInputContext::metaObject
+24 QInputContext::qt_metacast
+32 QInputContext::qt_metacall
+40 QInputContext::~QInputContext
+48 QInputContext::~QInputContext
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 __cxa_pure_virtual
+136 QInputContext::update
+144 QInputContext::mouseHandler
+152 QInputContext::font
+160 __cxa_pure_virtual
+168 QInputContext::setFocusWidget
+176 QInputContext::widgetDestroyed
+184 QInputContext::actions
+192 QInputContext::x11FilterEvent
+200 QInputContext::filterEvent
+
+Class QInputContext
+ size=16 align=8
+ base size=16 base align=8
+QInputContext (0x7fb29d1edc40) 0
+ vptr=((& QInputContext::_ZTV13QInputContext) + 16u)
+ QObject (0x7fb29d1edcb0) 0
+ primary-for QInputContext (0x7fb29d1edc40)
+
+Class QInputContextFactory
+ size=1 align=1
+ base size=0 base align=1
+QInputContextFactory (0x7fb29d20f5b0) 0 empty
+
+Vtable for QInputContextFactoryInterface
+QInputContextFactoryInterface::_ZTV29QInputContextFactoryInterface: 9u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI29QInputContextFactoryInterface)
+16 QInputContextFactoryInterface::~QInputContextFactoryInterface
+24 QInputContextFactoryInterface::~QInputContextFactoryInterface
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+48 __cxa_pure_virtual
+56 __cxa_pure_virtual
+64 __cxa_pure_virtual
+
+Class QInputContextFactoryInterface
+ size=8 align=8
+ base size=8 base align=8
+QInputContextFactoryInterface (0x7fb29d20f620) 0 nearly-empty
+ vptr=((& QInputContextFactoryInterface::_ZTV29QInputContextFactoryInterface) + 16u)
+ QFactoryInterface (0x7fb29d20f690) 0 nearly-empty
+ primary-for QInputContextFactoryInterface (0x7fb29d20f620)
+
+Vtable for QInputContextPlugin
+QInputContextPlugin::_ZTV19QInputContextPlugin: 28u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QInputContextPlugin)
+16 QInputContextPlugin::metaObject
+24 QInputContextPlugin::qt_metacast
+32 QInputContextPlugin::qt_metacall
+40 QInputContextPlugin::~QInputContextPlugin
+48 QInputContextPlugin::~QInputContextPlugin
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 __cxa_pure_virtual
+136 __cxa_pure_virtual
+144 __cxa_pure_virtual
+152 (int (*)(...))-0x00000000000000010
+160 (int (*)(...))(& _ZTI19QInputContextPlugin)
+168 QInputContextPlugin::_ZThn16_N19QInputContextPluginD1Ev
+176 QInputContextPlugin::_ZThn16_N19QInputContextPluginD0Ev
+184 __cxa_pure_virtual
+192 __cxa_pure_virtual
+200 __cxa_pure_virtual
+208 __cxa_pure_virtual
+216 __cxa_pure_virtual
+
+Class QInputContextPlugin
+ size=24 align=8
+ base size=24 base align=8
+QInputContextPlugin (0x7fb29d20ae80) 0
+ vptr=((& QInputContextPlugin::_ZTV19QInputContextPlugin) + 16u)
+ QObject (0x7fb29d21d000) 0
+ primary-for QInputContextPlugin (0x7fb29d20ae80)
+ QInputContextFactoryInterface (0x7fb29d21d070) 16 nearly-empty
+ vptr=((& QInputContextPlugin::_ZTV19QInputContextPlugin) + 168u)
+ QFactoryInterface (0x7fb29d21d0e0) 16 nearly-empty
+ primary-for QInputContextFactoryInterface (0x7fb29d21d070)
+
+Vtable for QGraphicsItem
+QGraphicsItem::_ZTV13QGraphicsItem: 39u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QGraphicsItem)
+16 QGraphicsItem::~QGraphicsItem
+24 QGraphicsItem::~QGraphicsItem
+32 QGraphicsItem::advance
+40 __cxa_pure_virtual
+48 QGraphicsItem::shape
+56 QGraphicsItem::contains
+64 QGraphicsItem::collidesWithItem
+72 QGraphicsItem::collidesWithPath
+80 QGraphicsItem::isObscuredBy
+88 QGraphicsItem::opaqueArea
+96 __cxa_pure_virtual
+104 QGraphicsItem::type
+112 QGraphicsItem::sceneEventFilter
+120 QGraphicsItem::sceneEvent
+128 QGraphicsItem::contextMenuEvent
+136 QGraphicsItem::dragEnterEvent
+144 QGraphicsItem::dragLeaveEvent
+152 QGraphicsItem::dragMoveEvent
+160 QGraphicsItem::dropEvent
+168 QGraphicsItem::focusInEvent
+176 QGraphicsItem::focusOutEvent
+184 QGraphicsItem::hoverEnterEvent
+192 QGraphicsItem::hoverMoveEvent
+200 QGraphicsItem::hoverLeaveEvent
+208 QGraphicsItem::keyPressEvent
+216 QGraphicsItem::keyReleaseEvent
+224 QGraphicsItem::mousePressEvent
+232 QGraphicsItem::mouseMoveEvent
+240 QGraphicsItem::mouseReleaseEvent
+248 QGraphicsItem::mouseDoubleClickEvent
+256 QGraphicsItem::wheelEvent
+264 QGraphicsItem::inputMethodEvent
+272 QGraphicsItem::inputMethodQuery
+280 QGraphicsItem::itemChange
+288 QGraphicsItem::supportsExtension
+296 QGraphicsItem::setExtension
+304 QGraphicsItem::extension
+
+Class QGraphicsItem
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsItem (0x7fb29d21d380) 0
+ vptr=((& QGraphicsItem::_ZTV13QGraphicsItem) + 16u)
+
+Vtable for QGraphicsObject
+QGraphicsObject::_ZTV15QGraphicsObject: 53u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QGraphicsObject)
+16 QGraphicsObject::metaObject
+24 QGraphicsObject::qt_metacast
+32 QGraphicsObject::qt_metacall
+40 QGraphicsObject::~QGraphicsObject
+48 QGraphicsObject::~QGraphicsObject
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 (int (*)(...))-0x00000000000000010
+120 (int (*)(...))(& _ZTI15QGraphicsObject)
+128 QGraphicsObject::_ZThn16_N15QGraphicsObjectD1Ev
+136 QGraphicsObject::_ZThn16_N15QGraphicsObjectD0Ev
+144 QGraphicsItem::advance
+152 __cxa_pure_virtual
+160 QGraphicsItem::shape
+168 QGraphicsItem::contains
+176 QGraphicsItem::collidesWithItem
+184 QGraphicsItem::collidesWithPath
+192 QGraphicsItem::isObscuredBy
+200 QGraphicsItem::opaqueArea
+208 __cxa_pure_virtual
+216 QGraphicsItem::type
+224 QGraphicsItem::sceneEventFilter
+232 QGraphicsItem::sceneEvent
+240 QGraphicsItem::contextMenuEvent
+248 QGraphicsItem::dragEnterEvent
+256 QGraphicsItem::dragLeaveEvent
+264 QGraphicsItem::dragMoveEvent
+272 QGraphicsItem::dropEvent
+280 QGraphicsItem::focusInEvent
+288 QGraphicsItem::focusOutEvent
+296 QGraphicsItem::hoverEnterEvent
+304 QGraphicsItem::hoverMoveEvent
+312 QGraphicsItem::hoverLeaveEvent
+320 QGraphicsItem::keyPressEvent
+328 QGraphicsItem::keyReleaseEvent
+336 QGraphicsItem::mousePressEvent
+344 QGraphicsItem::mouseMoveEvent
+352 QGraphicsItem::mouseReleaseEvent
+360 QGraphicsItem::mouseDoubleClickEvent
+368 QGraphicsItem::wheelEvent
+376 QGraphicsItem::inputMethodEvent
+384 QGraphicsItem::inputMethodQuery
+392 QGraphicsItem::itemChange
+400 QGraphicsItem::supportsExtension
+408 QGraphicsItem::setExtension
+416 QGraphicsItem::extension
+
+Class QGraphicsObject
+ size=32 align=8
+ base size=32 base align=8
+QGraphicsObject (0x7fb29d117c80) 0
+ vptr=((& QGraphicsObject::_ZTV15QGraphicsObject) + 16u)
+ QObject (0x7fb29d11ef50) 0
+ primary-for QGraphicsObject (0x7fb29d117c80)
+ QGraphicsItem (0x7fb29d128000) 16
+ vptr=((& QGraphicsObject::_ZTV15QGraphicsObject) + 128u)
+
+Vtable for QAbstractGraphicsShapeItem
+QAbstractGraphicsShapeItem::_ZTV26QAbstractGraphicsShapeItem: 39u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI26QAbstractGraphicsShapeItem)
+16 QAbstractGraphicsShapeItem::~QAbstractGraphicsShapeItem
+24 QAbstractGraphicsShapeItem::~QAbstractGraphicsShapeItem
+32 QGraphicsItem::advance
+40 __cxa_pure_virtual
+48 QGraphicsItem::shape
+56 QGraphicsItem::contains
+64 QGraphicsItem::collidesWithItem
+72 QGraphicsItem::collidesWithPath
+80 QAbstractGraphicsShapeItem::isObscuredBy
+88 QAbstractGraphicsShapeItem::opaqueArea
+96 __cxa_pure_virtual
+104 QGraphicsItem::type
+112 QGraphicsItem::sceneEventFilter
+120 QGraphicsItem::sceneEvent
+128 QGraphicsItem::contextMenuEvent
+136 QGraphicsItem::dragEnterEvent
+144 QGraphicsItem::dragLeaveEvent
+152 QGraphicsItem::dragMoveEvent
+160 QGraphicsItem::dropEvent
+168 QGraphicsItem::focusInEvent
+176 QGraphicsItem::focusOutEvent
+184 QGraphicsItem::hoverEnterEvent
+192 QGraphicsItem::hoverMoveEvent
+200 QGraphicsItem::hoverLeaveEvent
+208 QGraphicsItem::keyPressEvent
+216 QGraphicsItem::keyReleaseEvent
+224 QGraphicsItem::mousePressEvent
+232 QGraphicsItem::mouseMoveEvent
+240 QGraphicsItem::mouseReleaseEvent
+248 QGraphicsItem::mouseDoubleClickEvent
+256 QGraphicsItem::wheelEvent
+264 QGraphicsItem::inputMethodEvent
+272 QGraphicsItem::inputMethodQuery
+280 QGraphicsItem::itemChange
+288 QGraphicsItem::supportsExtension
+296 QGraphicsItem::setExtension
+304 QGraphicsItem::extension
+
+Class QAbstractGraphicsShapeItem
+ size=16 align=8
+ base size=16 base align=8
+QAbstractGraphicsShapeItem (0x7fb29d13e070) 0
+ vptr=((& QAbstractGraphicsShapeItem::_ZTV26QAbstractGraphicsShapeItem) + 16u)
+ QGraphicsItem (0x7fb29d13e0e0) 0
+ primary-for QAbstractGraphicsShapeItem (0x7fb29d13e070)
+
+Vtable for QGraphicsPathItem
+QGraphicsPathItem::_ZTV17QGraphicsPathItem: 39u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QGraphicsPathItem)
+16 QGraphicsPathItem::~QGraphicsPathItem
+24 QGraphicsPathItem::~QGraphicsPathItem
+32 QGraphicsItem::advance
+40 QGraphicsPathItem::boundingRect
+48 QGraphicsPathItem::shape
+56 QGraphicsPathItem::contains
+64 QGraphicsItem::collidesWithItem
+72 QGraphicsItem::collidesWithPath
+80 QGraphicsPathItem::isObscuredBy
+88 QGraphicsPathItem::opaqueArea
+96 QGraphicsPathItem::paint
+104 QGraphicsPathItem::type
+112 QGraphicsItem::sceneEventFilter
+120 QGraphicsItem::sceneEvent
+128 QGraphicsItem::contextMenuEvent
+136 QGraphicsItem::dragEnterEvent
+144 QGraphicsItem::dragLeaveEvent
+152 QGraphicsItem::dragMoveEvent
+160 QGraphicsItem::dropEvent
+168 QGraphicsItem::focusInEvent
+176 QGraphicsItem::focusOutEvent
+184 QGraphicsItem::hoverEnterEvent
+192 QGraphicsItem::hoverMoveEvent
+200 QGraphicsItem::hoverLeaveEvent
+208 QGraphicsItem::keyPressEvent
+216 QGraphicsItem::keyReleaseEvent
+224 QGraphicsItem::mousePressEvent
+232 QGraphicsItem::mouseMoveEvent
+240 QGraphicsItem::mouseReleaseEvent
+248 QGraphicsItem::mouseDoubleClickEvent
+256 QGraphicsItem::wheelEvent
+264 QGraphicsItem::inputMethodEvent
+272 QGraphicsItem::inputMethodQuery
+280 QGraphicsItem::itemChange
+288 QGraphicsPathItem::supportsExtension
+296 QGraphicsPathItem::setExtension
+304 QGraphicsPathItem::extension
+
+Class QGraphicsPathItem
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsPathItem (0x7fb29d13eee0) 0
+ vptr=((& QGraphicsPathItem::_ZTV17QGraphicsPathItem) + 16u)
+ QAbstractGraphicsShapeItem (0x7fb29d13ef50) 0
+ primary-for QGraphicsPathItem (0x7fb29d13eee0)
+ QGraphicsItem (0x7fb29d13e930) 0
+ primary-for QAbstractGraphicsShapeItem (0x7fb29d13ef50)
+
+Vtable for QGraphicsRectItem
+QGraphicsRectItem::_ZTV17QGraphicsRectItem: 39u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QGraphicsRectItem)
+16 QGraphicsRectItem::~QGraphicsRectItem
+24 QGraphicsRectItem::~QGraphicsRectItem
+32 QGraphicsItem::advance
+40 QGraphicsRectItem::boundingRect
+48 QGraphicsRectItem::shape
+56 QGraphicsRectItem::contains
+64 QGraphicsItem::collidesWithItem
+72 QGraphicsItem::collidesWithPath
+80 QGraphicsRectItem::isObscuredBy
+88 QGraphicsRectItem::opaqueArea
+96 QGraphicsRectItem::paint
+104 QGraphicsRectItem::type
+112 QGraphicsItem::sceneEventFilter
+120 QGraphicsItem::sceneEvent
+128 QGraphicsItem::contextMenuEvent
+136 QGraphicsItem::dragEnterEvent
+144 QGraphicsItem::dragLeaveEvent
+152 QGraphicsItem::dragMoveEvent
+160 QGraphicsItem::dropEvent
+168 QGraphicsItem::focusInEvent
+176 QGraphicsItem::focusOutEvent
+184 QGraphicsItem::hoverEnterEvent
+192 QGraphicsItem::hoverMoveEvent
+200 QGraphicsItem::hoverLeaveEvent
+208 QGraphicsItem::keyPressEvent
+216 QGraphicsItem::keyReleaseEvent
+224 QGraphicsItem::mousePressEvent
+232 QGraphicsItem::mouseMoveEvent
+240 QGraphicsItem::mouseReleaseEvent
+248 QGraphicsItem::mouseDoubleClickEvent
+256 QGraphicsItem::wheelEvent
+264 QGraphicsItem::inputMethodEvent
+272 QGraphicsItem::inputMethodQuery
+280 QGraphicsItem::itemChange
+288 QGraphicsRectItem::supportsExtension
+296 QGraphicsRectItem::setExtension
+304 QGraphicsRectItem::extension
+
+Class QGraphicsRectItem
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsRectItem (0x7fb29cf45e70) 0
+ vptr=((& QGraphicsRectItem::_ZTV17QGraphicsRectItem) + 16u)
+ QAbstractGraphicsShapeItem (0x7fb29cf45ee0) 0
+ primary-for QGraphicsRectItem (0x7fb29cf45e70)
+ QGraphicsItem (0x7fb29cf45f50) 0
+ primary-for QAbstractGraphicsShapeItem (0x7fb29cf45ee0)
+
+Vtable for QGraphicsEllipseItem
+QGraphicsEllipseItem::_ZTV20QGraphicsEllipseItem: 39u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI20QGraphicsEllipseItem)
+16 QGraphicsEllipseItem::~QGraphicsEllipseItem
+24 QGraphicsEllipseItem::~QGraphicsEllipseItem
+32 QGraphicsItem::advance
+40 QGraphicsEllipseItem::boundingRect
+48 QGraphicsEllipseItem::shape
+56 QGraphicsEllipseItem::contains
+64 QGraphicsItem::collidesWithItem
+72 QGraphicsItem::collidesWithPath
+80 QGraphicsEllipseItem::isObscuredBy
+88 QGraphicsEllipseItem::opaqueArea
+96 QGraphicsEllipseItem::paint
+104 QGraphicsEllipseItem::type
+112 QGraphicsItem::sceneEventFilter
+120 QGraphicsItem::sceneEvent
+128 QGraphicsItem::contextMenuEvent
+136 QGraphicsItem::dragEnterEvent
+144 QGraphicsItem::dragLeaveEvent
+152 QGraphicsItem::dragMoveEvent
+160 QGraphicsItem::dropEvent
+168 QGraphicsItem::focusInEvent
+176 QGraphicsItem::focusOutEvent
+184 QGraphicsItem::hoverEnterEvent
+192 QGraphicsItem::hoverMoveEvent
+200 QGraphicsItem::hoverLeaveEvent
+208 QGraphicsItem::keyPressEvent
+216 QGraphicsItem::keyReleaseEvent
+224 QGraphicsItem::mousePressEvent
+232 QGraphicsItem::mouseMoveEvent
+240 QGraphicsItem::mouseReleaseEvent
+248 QGraphicsItem::mouseDoubleClickEvent
+256 QGraphicsItem::wheelEvent
+264 QGraphicsItem::inputMethodEvent
+272 QGraphicsItem::inputMethodQuery
+280 QGraphicsItem::itemChange
+288 QGraphicsEllipseItem::supportsExtension
+296 QGraphicsEllipseItem::setExtension
+304 QGraphicsEllipseItem::extension
+
+Class QGraphicsEllipseItem
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsEllipseItem (0x7fb29cf6a150) 0
+ vptr=((& QGraphicsEllipseItem::_ZTV20QGraphicsEllipseItem) + 16u)
+ QAbstractGraphicsShapeItem (0x7fb29cf6a1c0) 0
+ primary-for QGraphicsEllipseItem (0x7fb29cf6a150)
+ QGraphicsItem (0x7fb29cf6a230) 0
+ primary-for QAbstractGraphicsShapeItem (0x7fb29cf6a1c0)
+
+Vtable for QGraphicsPolygonItem
+QGraphicsPolygonItem::_ZTV20QGraphicsPolygonItem: 39u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI20QGraphicsPolygonItem)
+16 QGraphicsPolygonItem::~QGraphicsPolygonItem
+24 QGraphicsPolygonItem::~QGraphicsPolygonItem
+32 QGraphicsItem::advance
+40 QGraphicsPolygonItem::boundingRect
+48 QGraphicsPolygonItem::shape
+56 QGraphicsPolygonItem::contains
+64 QGraphicsItem::collidesWithItem
+72 QGraphicsItem::collidesWithPath
+80 QGraphicsPolygonItem::isObscuredBy
+88 QGraphicsPolygonItem::opaqueArea
+96 QGraphicsPolygonItem::paint
+104 QGraphicsPolygonItem::type
+112 QGraphicsItem::sceneEventFilter
+120 QGraphicsItem::sceneEvent
+128 QGraphicsItem::contextMenuEvent
+136 QGraphicsItem::dragEnterEvent
+144 QGraphicsItem::dragLeaveEvent
+152 QGraphicsItem::dragMoveEvent
+160 QGraphicsItem::dropEvent
+168 QGraphicsItem::focusInEvent
+176 QGraphicsItem::focusOutEvent
+184 QGraphicsItem::hoverEnterEvent
+192 QGraphicsItem::hoverMoveEvent
+200 QGraphicsItem::hoverLeaveEvent
+208 QGraphicsItem::keyPressEvent
+216 QGraphicsItem::keyReleaseEvent
+224 QGraphicsItem::mousePressEvent
+232 QGraphicsItem::mouseMoveEvent
+240 QGraphicsItem::mouseReleaseEvent
+248 QGraphicsItem::mouseDoubleClickEvent
+256 QGraphicsItem::wheelEvent
+264 QGraphicsItem::inputMethodEvent
+272 QGraphicsItem::inputMethodQuery
+280 QGraphicsItem::itemChange
+288 QGraphicsPolygonItem::supportsExtension
+296 QGraphicsPolygonItem::setExtension
+304 QGraphicsPolygonItem::extension
+
+Class QGraphicsPolygonItem
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsPolygonItem (0x7fb29cf7d460) 0
+ vptr=((& QGraphicsPolygonItem::_ZTV20QGraphicsPolygonItem) + 16u)
+ QAbstractGraphicsShapeItem (0x7fb29cf7d4d0) 0
+ primary-for QGraphicsPolygonItem (0x7fb29cf7d460)
+ QGraphicsItem (0x7fb29cf7d540) 0
+ primary-for QAbstractGraphicsShapeItem (0x7fb29cf7d4d0)
+
+Vtable for QGraphicsLineItem
+QGraphicsLineItem::_ZTV17QGraphicsLineItem: 39u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QGraphicsLineItem)
+16 QGraphicsLineItem::~QGraphicsLineItem
+24 QGraphicsLineItem::~QGraphicsLineItem
+32 QGraphicsItem::advance
+40 QGraphicsLineItem::boundingRect
+48 QGraphicsLineItem::shape
+56 QGraphicsLineItem::contains
+64 QGraphicsItem::collidesWithItem
+72 QGraphicsItem::collidesWithPath
+80 QGraphicsLineItem::isObscuredBy
+88 QGraphicsLineItem::opaqueArea
+96 QGraphicsLineItem::paint
+104 QGraphicsLineItem::type
+112 QGraphicsItem::sceneEventFilter
+120 QGraphicsItem::sceneEvent
+128 QGraphicsItem::contextMenuEvent
+136 QGraphicsItem::dragEnterEvent
+144 QGraphicsItem::dragLeaveEvent
+152 QGraphicsItem::dragMoveEvent
+160 QGraphicsItem::dropEvent
+168 QGraphicsItem::focusInEvent
+176 QGraphicsItem::focusOutEvent
+184 QGraphicsItem::hoverEnterEvent
+192 QGraphicsItem::hoverMoveEvent
+200 QGraphicsItem::hoverLeaveEvent
+208 QGraphicsItem::keyPressEvent
+216 QGraphicsItem::keyReleaseEvent
+224 QGraphicsItem::mousePressEvent
+232 QGraphicsItem::mouseMoveEvent
+240 QGraphicsItem::mouseReleaseEvent
+248 QGraphicsItem::mouseDoubleClickEvent
+256 QGraphicsItem::wheelEvent
+264 QGraphicsItem::inputMethodEvent
+272 QGraphicsItem::inputMethodQuery
+280 QGraphicsItem::itemChange
+288 QGraphicsLineItem::supportsExtension
+296 QGraphicsLineItem::setExtension
+304 QGraphicsLineItem::extension
+
+Class QGraphicsLineItem
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsLineItem (0x7fb29cf903f0) 0
+ vptr=((& QGraphicsLineItem::_ZTV17QGraphicsLineItem) + 16u)
+ QGraphicsItem (0x7fb29cf90460) 0
+ primary-for QGraphicsLineItem (0x7fb29cf903f0)
+
+Vtable for QGraphicsPixmapItem
+QGraphicsPixmapItem::_ZTV19QGraphicsPixmapItem: 39u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QGraphicsPixmapItem)
+16 QGraphicsPixmapItem::~QGraphicsPixmapItem
+24 QGraphicsPixmapItem::~QGraphicsPixmapItem
+32 QGraphicsItem::advance
+40 QGraphicsPixmapItem::boundingRect
+48 QGraphicsPixmapItem::shape
+56 QGraphicsPixmapItem::contains
+64 QGraphicsItem::collidesWithItem
+72 QGraphicsItem::collidesWithPath
+80 QGraphicsPixmapItem::isObscuredBy
+88 QGraphicsPixmapItem::opaqueArea
+96 QGraphicsPixmapItem::paint
+104 QGraphicsPixmapItem::type
+112 QGraphicsItem::sceneEventFilter
+120 QGraphicsItem::sceneEvent
+128 QGraphicsItem::contextMenuEvent
+136 QGraphicsItem::dragEnterEvent
+144 QGraphicsItem::dragLeaveEvent
+152 QGraphicsItem::dragMoveEvent
+160 QGraphicsItem::dropEvent
+168 QGraphicsItem::focusInEvent
+176 QGraphicsItem::focusOutEvent
+184 QGraphicsItem::hoverEnterEvent
+192 QGraphicsItem::hoverMoveEvent
+200 QGraphicsItem::hoverLeaveEvent
+208 QGraphicsItem::keyPressEvent
+216 QGraphicsItem::keyReleaseEvent
+224 QGraphicsItem::mousePressEvent
+232 QGraphicsItem::mouseMoveEvent
+240 QGraphicsItem::mouseReleaseEvent
+248 QGraphicsItem::mouseDoubleClickEvent
+256 QGraphicsItem::wheelEvent
+264 QGraphicsItem::inputMethodEvent
+272 QGraphicsItem::inputMethodQuery
+280 QGraphicsItem::itemChange
+288 QGraphicsPixmapItem::supportsExtension
+296 QGraphicsPixmapItem::setExtension
+304 QGraphicsPixmapItem::extension
+
+Class QGraphicsPixmapItem
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsPixmapItem (0x7fb29cfa4690) 0
+ vptr=((& QGraphicsPixmapItem::_ZTV19QGraphicsPixmapItem) + 16u)
+ QGraphicsItem (0x7fb29cfa4700) 0
+ primary-for QGraphicsPixmapItem (0x7fb29cfa4690)
+
+Vtable for QGraphicsTextItem
+QGraphicsTextItem::_ZTV17QGraphicsTextItem: 82u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QGraphicsTextItem)
+16 QGraphicsTextItem::metaObject
+24 QGraphicsTextItem::qt_metacast
+32 QGraphicsTextItem::qt_metacall
+40 QGraphicsTextItem::~QGraphicsTextItem
+48 QGraphicsTextItem::~QGraphicsTextItem
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QGraphicsTextItem::boundingRect
+120 QGraphicsTextItem::shape
+128 QGraphicsTextItem::contains
+136 QGraphicsTextItem::paint
+144 QGraphicsTextItem::isObscuredBy
+152 QGraphicsTextItem::opaqueArea
+160 QGraphicsTextItem::type
+168 QGraphicsTextItem::sceneEvent
+176 QGraphicsTextItem::mousePressEvent
+184 QGraphicsTextItem::mouseMoveEvent
+192 QGraphicsTextItem::mouseReleaseEvent
+200 QGraphicsTextItem::mouseDoubleClickEvent
+208 QGraphicsTextItem::contextMenuEvent
+216 QGraphicsTextItem::keyPressEvent
+224 QGraphicsTextItem::keyReleaseEvent
+232 QGraphicsTextItem::focusInEvent
+240 QGraphicsTextItem::focusOutEvent
+248 QGraphicsTextItem::dragEnterEvent
+256 QGraphicsTextItem::dragLeaveEvent
+264 QGraphicsTextItem::dragMoveEvent
+272 QGraphicsTextItem::dropEvent
+280 QGraphicsTextItem::inputMethodEvent
+288 QGraphicsTextItem::hoverEnterEvent
+296 QGraphicsTextItem::hoverMoveEvent
+304 QGraphicsTextItem::hoverLeaveEvent
+312 QGraphicsTextItem::inputMethodQuery
+320 QGraphicsTextItem::supportsExtension
+328 QGraphicsTextItem::setExtension
+336 QGraphicsTextItem::extension
+344 (int (*)(...))-0x00000000000000010
+352 (int (*)(...))(& _ZTI17QGraphicsTextItem)
+360 QGraphicsTextItem::_ZThn16_N17QGraphicsTextItemD1Ev
+368 QGraphicsTextItem::_ZThn16_N17QGraphicsTextItemD0Ev
+376 QGraphicsItem::advance
+384 QGraphicsTextItem::_ZThn16_NK17QGraphicsTextItem12boundingRectEv
+392 QGraphicsTextItem::_ZThn16_NK17QGraphicsTextItem5shapeEv
+400 QGraphicsTextItem::_ZThn16_NK17QGraphicsTextItem8containsERK7QPointF
+408 QGraphicsItem::collidesWithItem
+416 QGraphicsItem::collidesWithPath
+424 QGraphicsTextItem::_ZThn16_NK17QGraphicsTextItem12isObscuredByEPK13QGraphicsItem
+432 QGraphicsTextItem::_ZThn16_NK17QGraphicsTextItem10opaqueAreaEv
+440 QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem5paintEP8QPainterPK24QStyleOptionGraphicsItemP7QWidget
+448 QGraphicsTextItem::_ZThn16_NK17QGraphicsTextItem4typeEv
+456 QGraphicsItem::sceneEventFilter
+464 QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem10sceneEventEP6QEvent
+472 QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem16contextMenuEventEP30QGraphicsSceneContextMenuEvent
+480 QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem14dragEnterEventEP27QGraphicsSceneDragDropEvent
+488 QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem14dragLeaveEventEP27QGraphicsSceneDragDropEvent
+496 QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem13dragMoveEventEP27QGraphicsSceneDragDropEvent
+504 QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem9dropEventEP27QGraphicsSceneDragDropEvent
+512 QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem12focusInEventEP11QFocusEvent
+520 QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem13focusOutEventEP11QFocusEvent
+528 QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem15hoverEnterEventEP24QGraphicsSceneHoverEvent
+536 QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem14hoverMoveEventEP24QGraphicsSceneHoverEvent
+544 QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem15hoverLeaveEventEP24QGraphicsSceneHoverEvent
+552 QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem13keyPressEventEP9QKeyEvent
+560 QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem15keyReleaseEventEP9QKeyEvent
+568 QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem15mousePressEventEP24QGraphicsSceneMouseEvent
+576 QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem14mouseMoveEventEP24QGraphicsSceneMouseEvent
+584 QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem17mouseReleaseEventEP24QGraphicsSceneMouseEvent
+592 QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem21mouseDoubleClickEventEP24QGraphicsSceneMouseEvent
+600 QGraphicsItem::wheelEvent
+608 QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem16inputMethodEventEP17QInputMethodEvent
+616 QGraphicsTextItem::_ZThn16_NK17QGraphicsTextItem16inputMethodQueryEN2Qt16InputMethodQueryE
+624 QGraphicsItem::itemChange
+632 QGraphicsTextItem::_ZThn16_NK17QGraphicsTextItem17supportsExtensionEN13QGraphicsItem9ExtensionE
+640 QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem12setExtensionEN13QGraphicsItem9ExtensionERK8QVariant
+648 QGraphicsTextItem::_ZThn16_NK17QGraphicsTextItem9extensionERK8QVariant
+
+Class QGraphicsTextItem
+ size=40 align=8
+ base size=40 base align=8
+QGraphicsTextItem (0x7fb29cfb3930) 0
+ vptr=((& QGraphicsTextItem::_ZTV17QGraphicsTextItem) + 16u)
+ QGraphicsObject (0x7fb29cfa8700) 0
+ primary-for QGraphicsTextItem (0x7fb29cfb3930)
+ QObject (0x7fb29cfb39a0) 0
+ primary-for QGraphicsObject (0x7fb29cfa8700)
+ QGraphicsItem (0x7fb29cfb3a10) 16
+ vptr=((& QGraphicsTextItem::_ZTV17QGraphicsTextItem) + 360u)
+
+Vtable for QGraphicsSimpleTextItem
+QGraphicsSimpleTextItem::_ZTV23QGraphicsSimpleTextItem: 39u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI23QGraphicsSimpleTextItem)
+16 QGraphicsSimpleTextItem::~QGraphicsSimpleTextItem
+24 QGraphicsSimpleTextItem::~QGraphicsSimpleTextItem
+32 QGraphicsItem::advance
+40 QGraphicsSimpleTextItem::boundingRect
+48 QGraphicsSimpleTextItem::shape
+56 QGraphicsSimpleTextItem::contains
+64 QGraphicsItem::collidesWithItem
+72 QGraphicsItem::collidesWithPath
+80 QGraphicsSimpleTextItem::isObscuredBy
+88 QGraphicsSimpleTextItem::opaqueArea
+96 QGraphicsSimpleTextItem::paint
+104 QGraphicsSimpleTextItem::type
+112 QGraphicsItem::sceneEventFilter
+120 QGraphicsItem::sceneEvent
+128 QGraphicsItem::contextMenuEvent
+136 QGraphicsItem::dragEnterEvent
+144 QGraphicsItem::dragLeaveEvent
+152 QGraphicsItem::dragMoveEvent
+160 QGraphicsItem::dropEvent
+168 QGraphicsItem::focusInEvent
+176 QGraphicsItem::focusOutEvent
+184 QGraphicsItem::hoverEnterEvent
+192 QGraphicsItem::hoverMoveEvent
+200 QGraphicsItem::hoverLeaveEvent
+208 QGraphicsItem::keyPressEvent
+216 QGraphicsItem::keyReleaseEvent
+224 QGraphicsItem::mousePressEvent
+232 QGraphicsItem::mouseMoveEvent
+240 QGraphicsItem::mouseReleaseEvent
+248 QGraphicsItem::mouseDoubleClickEvent
+256 QGraphicsItem::wheelEvent
+264 QGraphicsItem::inputMethodEvent
+272 QGraphicsItem::inputMethodQuery
+280 QGraphicsItem::itemChange
+288 QGraphicsSimpleTextItem::supportsExtension
+296 QGraphicsSimpleTextItem::setExtension
+304 QGraphicsSimpleTextItem::extension
+
+Class QGraphicsSimpleTextItem
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsSimpleTextItem (0x7fb29cfd5380) 0
+ vptr=((& QGraphicsSimpleTextItem::_ZTV23QGraphicsSimpleTextItem) + 16u)
+ QAbstractGraphicsShapeItem (0x7fb29cfea000) 0
+ primary-for QGraphicsSimpleTextItem (0x7fb29cfd5380)
+ QGraphicsItem (0x7fb29cfea070) 0
+ primary-for QAbstractGraphicsShapeItem (0x7fb29cfea000)
+
+Vtable for QGraphicsItemGroup
+QGraphicsItemGroup::_ZTV18QGraphicsItemGroup: 39u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QGraphicsItemGroup)
+16 QGraphicsItemGroup::~QGraphicsItemGroup
+24 QGraphicsItemGroup::~QGraphicsItemGroup
+32 QGraphicsItem::advance
+40 QGraphicsItemGroup::boundingRect
+48 QGraphicsItem::shape
+56 QGraphicsItem::contains
+64 QGraphicsItem::collidesWithItem
+72 QGraphicsItem::collidesWithPath
+80 QGraphicsItemGroup::isObscuredBy
+88 QGraphicsItemGroup::opaqueArea
+96 QGraphicsItemGroup::paint
+104 QGraphicsItemGroup::type
+112 QGraphicsItem::sceneEventFilter
+120 QGraphicsItem::sceneEvent
+128 QGraphicsItem::contextMenuEvent
+136 QGraphicsItem::dragEnterEvent
+144 QGraphicsItem::dragLeaveEvent
+152 QGraphicsItem::dragMoveEvent
+160 QGraphicsItem::dropEvent
+168 QGraphicsItem::focusInEvent
+176 QGraphicsItem::focusOutEvent
+184 QGraphicsItem::hoverEnterEvent
+192 QGraphicsItem::hoverMoveEvent
+200 QGraphicsItem::hoverLeaveEvent
+208 QGraphicsItem::keyPressEvent
+216 QGraphicsItem::keyReleaseEvent
+224 QGraphicsItem::mousePressEvent
+232 QGraphicsItem::mouseMoveEvent
+240 QGraphicsItem::mouseReleaseEvent
+248 QGraphicsItem::mouseDoubleClickEvent
+256 QGraphicsItem::wheelEvent
+264 QGraphicsItem::inputMethodEvent
+272 QGraphicsItem::inputMethodQuery
+280 QGraphicsItem::itemChange
+288 QGraphicsItem::supportsExtension
+296 QGraphicsItem::setExtension
+304 QGraphicsItem::extension
+
+Class QGraphicsItemGroup
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsItemGroup (0x7fb29cfeaf50) 0
+ vptr=((& QGraphicsItemGroup::_ZTV18QGraphicsItemGroup) + 16u)
+ QGraphicsItem (0x7fb29cfea9a0) 0
+ primary-for QGraphicsItemGroup (0x7fb29cfeaf50)
+
+Vtable for QGraphicsLayoutItem
+QGraphicsLayoutItem::_ZTV19QGraphicsLayoutItem: 8u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QGraphicsLayoutItem)
+16 QGraphicsLayoutItem::~QGraphicsLayoutItem
+24 QGraphicsLayoutItem::~QGraphicsLayoutItem
+32 QGraphicsLayoutItem::setGeometry
+40 QGraphicsLayoutItem::getContentsMargins
+48 QGraphicsLayoutItem::updateGeometry
+56 __cxa_pure_virtual
+
+Class QGraphicsLayoutItem
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsLayoutItem (0x7fb29d00d850) 0
+ vptr=((& QGraphicsLayoutItem::_ZTV19QGraphicsLayoutItem) + 16u)
+
+Vtable for QGraphicsLayout
+QGraphicsLayout::_ZTV15QGraphicsLayout: 13u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QGraphicsLayout)
+16 QGraphicsLayout::~QGraphicsLayout
+24 QGraphicsLayout::~QGraphicsLayout
+32 QGraphicsLayoutItem::setGeometry
+40 QGraphicsLayout::getContentsMargins
+48 QGraphicsLayout::updateGeometry
+56 __cxa_pure_virtual
+64 QGraphicsLayout::invalidate
+72 QGraphicsLayout::widgetEvent
+80 __cxa_pure_virtual
+88 __cxa_pure_virtual
+96 __cxa_pure_virtual
+
+Class QGraphicsLayout
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsLayout (0x7fb29ce50070) 0
+ vptr=((& QGraphicsLayout::_ZTV15QGraphicsLayout) + 16u)
+ QGraphicsLayoutItem (0x7fb29ce500e0) 0
+ primary-for QGraphicsLayout (0x7fb29ce50070)
+
+Vtable for QGraphicsAnchor
+QGraphicsAnchor::_ZTV15QGraphicsAnchor: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QGraphicsAnchor)
+16 QGraphicsAnchor::metaObject
+24 QGraphicsAnchor::qt_metacast
+32 QGraphicsAnchor::qt_metacall
+40 QGraphicsAnchor::~QGraphicsAnchor
+48 QGraphicsAnchor::~QGraphicsAnchor
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QGraphicsAnchor
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsAnchor (0x7fb29ce5e850) 0
+ vptr=((& QGraphicsAnchor::_ZTV15QGraphicsAnchor) + 16u)
+ QObject (0x7fb29ce5e8c0) 0
+ primary-for QGraphicsAnchor (0x7fb29ce5e850)
+
+Vtable for QGraphicsAnchorLayout
+QGraphicsAnchorLayout::_ZTV21QGraphicsAnchorLayout: 13u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI21QGraphicsAnchorLayout)
+16 QGraphicsAnchorLayout::~QGraphicsAnchorLayout
+24 QGraphicsAnchorLayout::~QGraphicsAnchorLayout
+32 QGraphicsAnchorLayout::setGeometry
+40 QGraphicsLayout::getContentsMargins
+48 QGraphicsLayout::updateGeometry
+56 QGraphicsAnchorLayout::sizeHint
+64 QGraphicsAnchorLayout::invalidate
+72 QGraphicsLayout::widgetEvent
+80 QGraphicsAnchorLayout::count
+88 QGraphicsAnchorLayout::itemAt
+96 QGraphicsAnchorLayout::removeAt
+
+Class QGraphicsAnchorLayout
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsAnchorLayout (0x7fb29ce72d90) 0
+ vptr=((& QGraphicsAnchorLayout::_ZTV21QGraphicsAnchorLayout) + 16u)
+ QGraphicsLayout (0x7fb29ce72e00) 0
+ primary-for QGraphicsAnchorLayout (0x7fb29ce72d90)
+ QGraphicsLayoutItem (0x7fb29ce72e70) 0
+ primary-for QGraphicsLayout (0x7fb29ce72e00)
+
+Vtable for QGraphicsGridLayout
+QGraphicsGridLayout::_ZTV19QGraphicsGridLayout: 13u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QGraphicsGridLayout)
+16 QGraphicsGridLayout::~QGraphicsGridLayout
+24 QGraphicsGridLayout::~QGraphicsGridLayout
+32 QGraphicsGridLayout::setGeometry
+40 QGraphicsLayout::getContentsMargins
+48 QGraphicsLayout::updateGeometry
+56 QGraphicsGridLayout::sizeHint
+64 QGraphicsGridLayout::invalidate
+72 QGraphicsLayout::widgetEvent
+80 QGraphicsGridLayout::count
+88 QGraphicsGridLayout::itemAt
+96 QGraphicsGridLayout::removeAt
+
+Class QGraphicsGridLayout
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsGridLayout (0x7fb29ce8a0e0) 0
+ vptr=((& QGraphicsGridLayout::_ZTV19QGraphicsGridLayout) + 16u)
+ QGraphicsLayout (0x7fb29ce8a150) 0
+ primary-for QGraphicsGridLayout (0x7fb29ce8a0e0)
+ QGraphicsLayoutItem (0x7fb29ce8a1c0) 0
+ primary-for QGraphicsLayout (0x7fb29ce8a150)
+
+Vtable for QGraphicsItemAnimation
+QGraphicsItemAnimation::_ZTV22QGraphicsItemAnimation: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI22QGraphicsItemAnimation)
+16 QGraphicsItemAnimation::metaObject
+24 QGraphicsItemAnimation::qt_metacast
+32 QGraphicsItemAnimation::qt_metacall
+40 QGraphicsItemAnimation::~QGraphicsItemAnimation
+48 QGraphicsItemAnimation::~QGraphicsItemAnimation
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QGraphicsItemAnimation::beforeAnimationStep
+120 QGraphicsItemAnimation::afterAnimationStep
+
+Class QGraphicsItemAnimation
+ size=24 align=8
+ base size=24 base align=8
+QGraphicsItemAnimation (0x7fb29cea74d0) 0
+ vptr=((& QGraphicsItemAnimation::_ZTV22QGraphicsItemAnimation) + 16u)
+ QObject (0x7fb29cea7540) 0
+ primary-for QGraphicsItemAnimation (0x7fb29cea74d0)
+
+Vtable for QGraphicsLinearLayout
+QGraphicsLinearLayout::_ZTV21QGraphicsLinearLayout: 13u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI21QGraphicsLinearLayout)
+16 QGraphicsLinearLayout::~QGraphicsLinearLayout
+24 QGraphicsLinearLayout::~QGraphicsLinearLayout
+32 QGraphicsLinearLayout::setGeometry
+40 QGraphicsLayout::getContentsMargins
+48 QGraphicsLayout::updateGeometry
+56 QGraphicsLinearLayout::sizeHint
+64 QGraphicsLinearLayout::invalidate
+72 QGraphicsLayout::widgetEvent
+80 QGraphicsLinearLayout::count
+88 QGraphicsLinearLayout::itemAt
+96 QGraphicsLinearLayout::removeAt
+
+Class QGraphicsLinearLayout
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsLinearLayout (0x7fb29cec0850) 0
+ vptr=((& QGraphicsLinearLayout::_ZTV21QGraphicsLinearLayout) + 16u)
+ QGraphicsLayout (0x7fb29cec08c0) 0
+ primary-for QGraphicsLinearLayout (0x7fb29cec0850)
+ QGraphicsLayoutItem (0x7fb29cec0930) 0
+ primary-for QGraphicsLayout (0x7fb29cec08c0)
+
+Vtable for QGraphicsWidget
+QGraphicsWidget::_ZTV15QGraphicsWidget: 92u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QGraphicsWidget)
+16 QGraphicsWidget::metaObject
+24 QGraphicsWidget::qt_metacast
+32 QGraphicsWidget::qt_metacall
+40 QGraphicsWidget::~QGraphicsWidget
+48 QGraphicsWidget::~QGraphicsWidget
+56 QGraphicsWidget::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QGraphicsWidget::setGeometry
+120 QGraphicsWidget::getContentsMargins
+128 QGraphicsWidget::type
+136 QGraphicsWidget::paint
+144 QGraphicsWidget::paintWindowFrame
+152 QGraphicsWidget::boundingRect
+160 QGraphicsWidget::shape
+168 QGraphicsWidget::initStyleOption
+176 QGraphicsWidget::sizeHint
+184 QGraphicsWidget::updateGeometry
+192 QGraphicsWidget::itemChange
+200 QGraphicsWidget::propertyChange
+208 QGraphicsWidget::sceneEvent
+216 QGraphicsWidget::windowFrameEvent
+224 QGraphicsWidget::windowFrameSectionAt
+232 QGraphicsWidget::changeEvent
+240 QGraphicsWidget::closeEvent
+248 QGraphicsWidget::focusInEvent
+256 QGraphicsWidget::focusNextPrevChild
+264 QGraphicsWidget::focusOutEvent
+272 QGraphicsWidget::hideEvent
+280 QGraphicsWidget::moveEvent
+288 QGraphicsWidget::polishEvent
+296 QGraphicsWidget::resizeEvent
+304 QGraphicsWidget::showEvent
+312 QGraphicsWidget::hoverMoveEvent
+320 QGraphicsWidget::hoverLeaveEvent
+328 QGraphicsWidget::grabMouseEvent
+336 QGraphicsWidget::ungrabMouseEvent
+344 QGraphicsWidget::grabKeyboardEvent
+352 QGraphicsWidget::ungrabKeyboardEvent
+360 (int (*)(...))-0x00000000000000010
+368 (int (*)(...))(& _ZTI15QGraphicsWidget)
+376 QGraphicsWidget::_ZThn16_N15QGraphicsWidgetD1Ev
+384 QGraphicsWidget::_ZThn16_N15QGraphicsWidgetD0Ev
+392 QGraphicsItem::advance
+400 QGraphicsWidget::_ZThn16_NK15QGraphicsWidget12boundingRectEv
+408 QGraphicsWidget::_ZThn16_NK15QGraphicsWidget5shapeEv
+416 QGraphicsItem::contains
+424 QGraphicsItem::collidesWithItem
+432 QGraphicsItem::collidesWithPath
+440 QGraphicsItem::isObscuredBy
+448 QGraphicsItem::opaqueArea
+456 QGraphicsWidget::_ZThn16_N15QGraphicsWidget5paintEP8QPainterPK24QStyleOptionGraphicsItemP7QWidget
+464 QGraphicsWidget::_ZThn16_NK15QGraphicsWidget4typeEv
+472 QGraphicsItem::sceneEventFilter
+480 QGraphicsWidget::_ZThn16_N15QGraphicsWidget10sceneEventEP6QEvent
+488 QGraphicsItem::contextMenuEvent
+496 QGraphicsItem::dragEnterEvent
+504 QGraphicsItem::dragLeaveEvent
+512 QGraphicsItem::dragMoveEvent
+520 QGraphicsItem::dropEvent
+528 QGraphicsWidget::_ZThn16_N15QGraphicsWidget12focusInEventEP11QFocusEvent
+536 QGraphicsWidget::_ZThn16_N15QGraphicsWidget13focusOutEventEP11QFocusEvent
+544 QGraphicsItem::hoverEnterEvent
+552 QGraphicsWidget::_ZThn16_N15QGraphicsWidget14hoverMoveEventEP24QGraphicsSceneHoverEvent
+560 QGraphicsWidget::_ZThn16_N15QGraphicsWidget15hoverLeaveEventEP24QGraphicsSceneHoverEvent
+568 QGraphicsItem::keyPressEvent
+576 QGraphicsItem::keyReleaseEvent
+584 QGraphicsItem::mousePressEvent
+592 QGraphicsItem::mouseMoveEvent
+600 QGraphicsItem::mouseReleaseEvent
+608 QGraphicsItem::mouseDoubleClickEvent
+616 QGraphicsItem::wheelEvent
+624 QGraphicsItem::inputMethodEvent
+632 QGraphicsItem::inputMethodQuery
+640 QGraphicsWidget::_ZThn16_N15QGraphicsWidget10itemChangeEN13QGraphicsItem18GraphicsItemChangeERK8QVariant
+648 QGraphicsItem::supportsExtension
+656 QGraphicsItem::setExtension
+664 QGraphicsItem::extension
+672 (int (*)(...))-0x00000000000000020
+680 (int (*)(...))(& _ZTI15QGraphicsWidget)
+688 QGraphicsWidget::_ZThn32_N15QGraphicsWidgetD1Ev
+696 QGraphicsWidget::_ZThn32_N15QGraphicsWidgetD0Ev
+704 QGraphicsWidget::_ZThn32_N15QGraphicsWidget11setGeometryERK6QRectF
+712 QGraphicsWidget::_ZThn32_NK15QGraphicsWidget18getContentsMarginsEPdS0_S0_S0_
+720 QGraphicsWidget::_ZThn32_N15QGraphicsWidget14updateGeometryEv
+728 QGraphicsWidget::_ZThn32_NK15QGraphicsWidget8sizeHintEN2Qt8SizeHintERK6QSizeF
+
+Class QGraphicsWidget
+ size=48 align=8
+ base size=48 base align=8
+QGraphicsWidget (0x7fb29cedd000) 0
+ vptr=((& QGraphicsWidget::_ZTV15QGraphicsWidget) + 16u)
+ QGraphicsObject (0x7fb29cedd080) 0
+ primary-for QGraphicsWidget (0x7fb29cedd000)
+ QObject (0x7fb29cedc070) 0
+ primary-for QGraphicsObject (0x7fb29cedd080)
+ QGraphicsItem (0x7fb29cedc0e0) 16
+ vptr=((& QGraphicsWidget::_ZTV15QGraphicsWidget) + 376u)
+ QGraphicsLayoutItem (0x7fb29cedc150) 32
+ vptr=((& QGraphicsWidget::_ZTV15QGraphicsWidget) + 688u)
+
+Vtable for QGraphicsProxyWidget
+QGraphicsProxyWidget::_ZTV20QGraphicsProxyWidget: 105u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI20QGraphicsProxyWidget)
+16 QGraphicsProxyWidget::metaObject
+24 QGraphicsProxyWidget::qt_metacast
+32 QGraphicsProxyWidget::qt_metacall
+40 QGraphicsProxyWidget::~QGraphicsProxyWidget
+48 QGraphicsProxyWidget::~QGraphicsProxyWidget
+56 QGraphicsProxyWidget::event
+64 QGraphicsProxyWidget::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QGraphicsProxyWidget::setGeometry
+120 QGraphicsWidget::getContentsMargins
+128 QGraphicsProxyWidget::type
+136 QGraphicsProxyWidget::paint
+144 QGraphicsWidget::paintWindowFrame
+152 QGraphicsWidget::boundingRect
+160 QGraphicsWidget::shape
+168 QGraphicsWidget::initStyleOption
+176 QGraphicsProxyWidget::sizeHint
+184 QGraphicsWidget::updateGeometry
+192 QGraphicsProxyWidget::itemChange
+200 QGraphicsWidget::propertyChange
+208 QGraphicsWidget::sceneEvent
+216 QGraphicsWidget::windowFrameEvent
+224 QGraphicsWidget::windowFrameSectionAt
+232 QGraphicsWidget::changeEvent
+240 QGraphicsWidget::closeEvent
+248 QGraphicsProxyWidget::focusInEvent
+256 QGraphicsProxyWidget::focusNextPrevChild
+264 QGraphicsProxyWidget::focusOutEvent
+272 QGraphicsProxyWidget::hideEvent
+280 QGraphicsWidget::moveEvent
+288 QGraphicsWidget::polishEvent
+296 QGraphicsProxyWidget::resizeEvent
+304 QGraphicsProxyWidget::showEvent
+312 QGraphicsProxyWidget::hoverMoveEvent
+320 QGraphicsProxyWidget::hoverLeaveEvent
+328 QGraphicsProxyWidget::grabMouseEvent
+336 QGraphicsProxyWidget::ungrabMouseEvent
+344 QGraphicsWidget::grabKeyboardEvent
+352 QGraphicsWidget::ungrabKeyboardEvent
+360 QGraphicsProxyWidget::contextMenuEvent
+368 QGraphicsProxyWidget::dragEnterEvent
+376 QGraphicsProxyWidget::dragLeaveEvent
+384 QGraphicsProxyWidget::dragMoveEvent
+392 QGraphicsProxyWidget::dropEvent
+400 QGraphicsProxyWidget::hoverEnterEvent
+408 QGraphicsProxyWidget::mouseMoveEvent
+416 QGraphicsProxyWidget::mousePressEvent
+424 QGraphicsProxyWidget::mouseReleaseEvent
+432 QGraphicsProxyWidget::mouseDoubleClickEvent
+440 QGraphicsProxyWidget::wheelEvent
+448 QGraphicsProxyWidget::keyPressEvent
+456 QGraphicsProxyWidget::keyReleaseEvent
+464 (int (*)(...))-0x00000000000000010
+472 (int (*)(...))(& _ZTI20QGraphicsProxyWidget)
+480 QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidgetD1Ev
+488 QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidgetD0Ev
+496 QGraphicsItem::advance
+504 QGraphicsWidget::_ZThn16_NK15QGraphicsWidget12boundingRectEv
+512 QGraphicsWidget::_ZThn16_NK15QGraphicsWidget5shapeEv
+520 QGraphicsItem::contains
+528 QGraphicsItem::collidesWithItem
+536 QGraphicsItem::collidesWithPath
+544 QGraphicsItem::isObscuredBy
+552 QGraphicsItem::opaqueArea
+560 QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget5paintEP8QPainterPK24QStyleOptionGraphicsItemP7QWidget
+568 QGraphicsProxyWidget::_ZThn16_NK20QGraphicsProxyWidget4typeEv
+576 QGraphicsItem::sceneEventFilter
+584 QGraphicsWidget::_ZThn16_N15QGraphicsWidget10sceneEventEP6QEvent
+592 QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget16contextMenuEventEP30QGraphicsSceneContextMenuEvent
+600 QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget14dragEnterEventEP27QGraphicsSceneDragDropEvent
+608 QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget14dragLeaveEventEP27QGraphicsSceneDragDropEvent
+616 QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget13dragMoveEventEP27QGraphicsSceneDragDropEvent
+624 QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget9dropEventEP27QGraphicsSceneDragDropEvent
+632 QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget12focusInEventEP11QFocusEvent
+640 QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget13focusOutEventEP11QFocusEvent
+648 QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget15hoverEnterEventEP24QGraphicsSceneHoverEvent
+656 QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget14hoverMoveEventEP24QGraphicsSceneHoverEvent
+664 QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget15hoverLeaveEventEP24QGraphicsSceneHoverEvent
+672 QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget13keyPressEventEP9QKeyEvent
+680 QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget15keyReleaseEventEP9QKeyEvent
+688 QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget15mousePressEventEP24QGraphicsSceneMouseEvent
+696 QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget14mouseMoveEventEP24QGraphicsSceneMouseEvent
+704 QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget17mouseReleaseEventEP24QGraphicsSceneMouseEvent
+712 QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget21mouseDoubleClickEventEP24QGraphicsSceneMouseEvent
+720 QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget10wheelEventEP24QGraphicsSceneWheelEvent
+728 QGraphicsItem::inputMethodEvent
+736 QGraphicsItem::inputMethodQuery
+744 QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget10itemChangeEN13QGraphicsItem18GraphicsItemChangeERK8QVariant
+752 QGraphicsItem::supportsExtension
+760 QGraphicsItem::setExtension
+768 QGraphicsItem::extension
+776 (int (*)(...))-0x00000000000000020
+784 (int (*)(...))(& _ZTI20QGraphicsProxyWidget)
+792 QGraphicsProxyWidget::_ZThn32_N20QGraphicsProxyWidgetD1Ev
+800 QGraphicsProxyWidget::_ZThn32_N20QGraphicsProxyWidgetD0Ev
+808 QGraphicsProxyWidget::_ZThn32_N20QGraphicsProxyWidget11setGeometryERK6QRectF
+816 QGraphicsWidget::_ZThn32_NK15QGraphicsWidget18getContentsMarginsEPdS0_S0_S0_
+824 QGraphicsWidget::_ZThn32_N15QGraphicsWidget14updateGeometryEv
+832 QGraphicsProxyWidget::_ZThn32_NK20QGraphicsProxyWidget8sizeHintEN2Qt8SizeHintERK6QSizeF
+
+Class QGraphicsProxyWidget
+ size=48 align=8
+ base size=48 base align=8
+QGraphicsProxyWidget (0x7fb29cf168c0) 0
+ vptr=((& QGraphicsProxyWidget::_ZTV20QGraphicsProxyWidget) + 16u)
+ QGraphicsWidget (0x7fb29cf1a000) 0
+ primary-for QGraphicsProxyWidget (0x7fb29cf168c0)
+ QGraphicsObject (0x7fb29cf1a080) 0
+ primary-for QGraphicsWidget (0x7fb29cf1a000)
+ QObject (0x7fb29cf16930) 0
+ primary-for QGraphicsObject (0x7fb29cf1a080)
+ QGraphicsItem (0x7fb29cf169a0) 16
+ vptr=((& QGraphicsProxyWidget::_ZTV20QGraphicsProxyWidget) + 480u)
+ QGraphicsLayoutItem (0x7fb29cf16a10) 32
+ vptr=((& QGraphicsProxyWidget::_ZTV20QGraphicsProxyWidget) + 792u)
+
+Vtable for QGraphicsScene
+QGraphicsScene::_ZTV14QGraphicsScene: 34u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QGraphicsScene)
+16 QGraphicsScene::metaObject
+24 QGraphicsScene::qt_metacast
+32 QGraphicsScene::qt_metacall
+40 QGraphicsScene::~QGraphicsScene
+48 QGraphicsScene::~QGraphicsScene
+56 QGraphicsScene::event
+64 QGraphicsScene::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QGraphicsScene::inputMethodQuery
+120 QGraphicsScene::contextMenuEvent
+128 QGraphicsScene::dragEnterEvent
+136 QGraphicsScene::dragMoveEvent
+144 QGraphicsScene::dragLeaveEvent
+152 QGraphicsScene::dropEvent
+160 QGraphicsScene::focusInEvent
+168 QGraphicsScene::focusOutEvent
+176 QGraphicsScene::helpEvent
+184 QGraphicsScene::keyPressEvent
+192 QGraphicsScene::keyReleaseEvent
+200 QGraphicsScene::mousePressEvent
+208 QGraphicsScene::mouseMoveEvent
+216 QGraphicsScene::mouseReleaseEvent
+224 QGraphicsScene::mouseDoubleClickEvent
+232 QGraphicsScene::wheelEvent
+240 QGraphicsScene::inputMethodEvent
+248 QGraphicsScene::drawBackground
+256 QGraphicsScene::drawForeground
+264 QGraphicsScene::drawItems
+
+Class QGraphicsScene
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsScene (0x7fb29cd40930) 0
+ vptr=((& QGraphicsScene::_ZTV14QGraphicsScene) + 16u)
+ QObject (0x7fb29cd409a0) 0
+ primary-for QGraphicsScene (0x7fb29cd40930)
+
+Vtable for QGraphicsSceneEvent
+QGraphicsSceneEvent::_ZTV19QGraphicsSceneEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QGraphicsSceneEvent)
+16 QGraphicsSceneEvent::~QGraphicsSceneEvent
+24 QGraphicsSceneEvent::~QGraphicsSceneEvent
+
+Class QGraphicsSceneEvent
+ size=32 align=8
+ base size=32 base align=8
+QGraphicsSceneEvent (0x7fb29cdf5850) 0
+ vptr=((& QGraphicsSceneEvent::_ZTV19QGraphicsSceneEvent) + 16u)
+ QEvent (0x7fb29cdf58c0) 0
+ primary-for QGraphicsSceneEvent (0x7fb29cdf5850)
+
+Vtable for QGraphicsSceneMouseEvent
+QGraphicsSceneMouseEvent::_ZTV24QGraphicsSceneMouseEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI24QGraphicsSceneMouseEvent)
+16 QGraphicsSceneMouseEvent::~QGraphicsSceneMouseEvent
+24 QGraphicsSceneMouseEvent::~QGraphicsSceneMouseEvent
+
+Class QGraphicsSceneMouseEvent
+ size=32 align=8
+ base size=32 base align=8
+QGraphicsSceneMouseEvent (0x7fb29ce23310) 0
+ vptr=((& QGraphicsSceneMouseEvent::_ZTV24QGraphicsSceneMouseEvent) + 16u)
+ QGraphicsSceneEvent (0x7fb29ce23380) 0
+ primary-for QGraphicsSceneMouseEvent (0x7fb29ce23310)
+ QEvent (0x7fb29ce233f0) 0
+ primary-for QGraphicsSceneEvent (0x7fb29ce23380)
+
+Vtable for QGraphicsSceneWheelEvent
+QGraphicsSceneWheelEvent::_ZTV24QGraphicsSceneWheelEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI24QGraphicsSceneWheelEvent)
+16 QGraphicsSceneWheelEvent::~QGraphicsSceneWheelEvent
+24 QGraphicsSceneWheelEvent::~QGraphicsSceneWheelEvent
+
+Class QGraphicsSceneWheelEvent
+ size=32 align=8
+ base size=32 base align=8
+QGraphicsSceneWheelEvent (0x7fb29ce23cb0) 0
+ vptr=((& QGraphicsSceneWheelEvent::_ZTV24QGraphicsSceneWheelEvent) + 16u)
+ QGraphicsSceneEvent (0x7fb29ce23d20) 0
+ primary-for QGraphicsSceneWheelEvent (0x7fb29ce23cb0)
+ QEvent (0x7fb29ce23d90) 0
+ primary-for QGraphicsSceneEvent (0x7fb29ce23d20)
+
+Vtable for QGraphicsSceneContextMenuEvent
+QGraphicsSceneContextMenuEvent::_ZTV30QGraphicsSceneContextMenuEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI30QGraphicsSceneContextMenuEvent)
+16 QGraphicsSceneContextMenuEvent::~QGraphicsSceneContextMenuEvent
+24 QGraphicsSceneContextMenuEvent::~QGraphicsSceneContextMenuEvent
+
+Class QGraphicsSceneContextMenuEvent
+ size=32 align=8
+ base size=32 base align=8
+QGraphicsSceneContextMenuEvent (0x7fb29ce395b0) 0
+ vptr=((& QGraphicsSceneContextMenuEvent::_ZTV30QGraphicsSceneContextMenuEvent) + 16u)
+ QGraphicsSceneEvent (0x7fb29ce39620) 0
+ primary-for QGraphicsSceneContextMenuEvent (0x7fb29ce395b0)
+ QEvent (0x7fb29ce39690) 0
+ primary-for QGraphicsSceneEvent (0x7fb29ce39620)
+
+Vtable for QGraphicsSceneHoverEvent
+QGraphicsSceneHoverEvent::_ZTV24QGraphicsSceneHoverEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI24QGraphicsSceneHoverEvent)
+16 QGraphicsSceneHoverEvent::~QGraphicsSceneHoverEvent
+24 QGraphicsSceneHoverEvent::~QGraphicsSceneHoverEvent
+
+Class QGraphicsSceneHoverEvent
+ size=32 align=8
+ base size=32 base align=8
+QGraphicsSceneHoverEvent (0x7fb29cc450e0) 0
+ vptr=((& QGraphicsSceneHoverEvent::_ZTV24QGraphicsSceneHoverEvent) + 16u)
+ QGraphicsSceneEvent (0x7fb29cc45150) 0
+ primary-for QGraphicsSceneHoverEvent (0x7fb29cc450e0)
+ QEvent (0x7fb29cc451c0) 0
+ primary-for QGraphicsSceneEvent (0x7fb29cc45150)
+
+Vtable for QGraphicsSceneHelpEvent
+QGraphicsSceneHelpEvent::_ZTV23QGraphicsSceneHelpEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI23QGraphicsSceneHelpEvent)
+16 QGraphicsSceneHelpEvent::~QGraphicsSceneHelpEvent
+24 QGraphicsSceneHelpEvent::~QGraphicsSceneHelpEvent
+
+Class QGraphicsSceneHelpEvent
+ size=32 align=8
+ base size=32 base align=8
+QGraphicsSceneHelpEvent (0x7fb29cc45a80) 0
+ vptr=((& QGraphicsSceneHelpEvent::_ZTV23QGraphicsSceneHelpEvent) + 16u)
+ QGraphicsSceneEvent (0x7fb29cc45af0) 0
+ primary-for QGraphicsSceneHelpEvent (0x7fb29cc45a80)
+ QEvent (0x7fb29cc45b60) 0
+ primary-for QGraphicsSceneEvent (0x7fb29cc45af0)
+
+Vtable for QGraphicsSceneDragDropEvent
+QGraphicsSceneDragDropEvent::_ZTV27QGraphicsSceneDragDropEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI27QGraphicsSceneDragDropEvent)
+16 QGraphicsSceneDragDropEvent::~QGraphicsSceneDragDropEvent
+24 QGraphicsSceneDragDropEvent::~QGraphicsSceneDragDropEvent
+
+Class QGraphicsSceneDragDropEvent
+ size=32 align=8
+ base size=32 base align=8
+QGraphicsSceneDragDropEvent (0x7fb29cc57380) 0
+ vptr=((& QGraphicsSceneDragDropEvent::_ZTV27QGraphicsSceneDragDropEvent) + 16u)
+ QGraphicsSceneEvent (0x7fb29cc573f0) 0
+ primary-for QGraphicsSceneDragDropEvent (0x7fb29cc57380)
+ QEvent (0x7fb29cc57460) 0
+ primary-for QGraphicsSceneEvent (0x7fb29cc573f0)
+
+Vtable for QGraphicsSceneResizeEvent
+QGraphicsSceneResizeEvent::_ZTV25QGraphicsSceneResizeEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI25QGraphicsSceneResizeEvent)
+16 QGraphicsSceneResizeEvent::~QGraphicsSceneResizeEvent
+24 QGraphicsSceneResizeEvent::~QGraphicsSceneResizeEvent
+
+Class QGraphicsSceneResizeEvent
+ size=32 align=8
+ base size=32 base align=8
+QGraphicsSceneResizeEvent (0x7fb29cc57d20) 0
+ vptr=((& QGraphicsSceneResizeEvent::_ZTV25QGraphicsSceneResizeEvent) + 16u)
+ QGraphicsSceneEvent (0x7fb29cc57d90) 0
+ primary-for QGraphicsSceneResizeEvent (0x7fb29cc57d20)
+ QEvent (0x7fb29cc57e00) 0
+ primary-for QGraphicsSceneEvent (0x7fb29cc57d90)
+
+Vtable for QGraphicsSceneMoveEvent
+QGraphicsSceneMoveEvent::_ZTV23QGraphicsSceneMoveEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI23QGraphicsSceneMoveEvent)
+16 QGraphicsSceneMoveEvent::~QGraphicsSceneMoveEvent
+24 QGraphicsSceneMoveEvent::~QGraphicsSceneMoveEvent
+
+Class QGraphicsSceneMoveEvent
+ size=32 align=8
+ base size=32 base align=8
+QGraphicsSceneMoveEvent (0x7fb29cc6c460) 0
+ vptr=((& QGraphicsSceneMoveEvent::_ZTV23QGraphicsSceneMoveEvent) + 16u)
+ QGraphicsSceneEvent (0x7fb29cc6c4d0) 0
+ primary-for QGraphicsSceneMoveEvent (0x7fb29cc6c460)
+ QEvent (0x7fb29cc6c540) 0
+ primary-for QGraphicsSceneEvent (0x7fb29cc6c4d0)
+
+Vtable for QGraphicsTransform
+QGraphicsTransform::_ZTV18QGraphicsTransform: 15u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QGraphicsTransform)
+16 QGraphicsTransform::metaObject
+24 QGraphicsTransform::qt_metacast
+32 QGraphicsTransform::qt_metacall
+40 QGraphicsTransform::~QGraphicsTransform
+48 QGraphicsTransform::~QGraphicsTransform
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+
+Class QGraphicsTransform
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsTransform (0x7fb29cc6cc40) 0
+ vptr=((& QGraphicsTransform::_ZTV18QGraphicsTransform) + 16u)
+ QObject (0x7fb29cc6ccb0) 0
+ primary-for QGraphicsTransform (0x7fb29cc6cc40)
+
+Vtable for QGraphicsScale
+QGraphicsScale::_ZTV14QGraphicsScale: 15u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QGraphicsScale)
+16 QGraphicsScale::metaObject
+24 QGraphicsScale::qt_metacast
+32 QGraphicsScale::qt_metacall
+40 QGraphicsScale::~QGraphicsScale
+48 QGraphicsScale::~QGraphicsScale
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QGraphicsScale::applyTo
+
+Class QGraphicsScale
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsScale (0x7fb29cc8b150) 0
+ vptr=((& QGraphicsScale::_ZTV14QGraphicsScale) + 16u)
+ QGraphicsTransform (0x7fb29cc8b1c0) 0
+ primary-for QGraphicsScale (0x7fb29cc8b150)
+ QObject (0x7fb29cc8b230) 0
+ primary-for QGraphicsTransform (0x7fb29cc8b1c0)
+
+Vtable for QGraphicsRotation
+QGraphicsRotation::_ZTV17QGraphicsRotation: 15u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QGraphicsRotation)
+16 QGraphicsRotation::metaObject
+24 QGraphicsRotation::qt_metacast
+32 QGraphicsRotation::qt_metacall
+40 QGraphicsRotation::~QGraphicsRotation
+48 QGraphicsRotation::~QGraphicsRotation
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QGraphicsRotation::applyTo
+
+Class QGraphicsRotation
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsRotation (0x7fb29cc9f620) 0
+ vptr=((& QGraphicsRotation::_ZTV17QGraphicsRotation) + 16u)
+ QGraphicsTransform (0x7fb29cc9f690) 0
+ primary-for QGraphicsRotation (0x7fb29cc9f620)
+ QObject (0x7fb29cc9f700) 0
+ primary-for QGraphicsTransform (0x7fb29cc9f690)
+
+Vtable for QScrollArea
+QScrollArea::_ZTV11QScrollArea: 65u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QScrollArea)
+16 QScrollArea::metaObject
+24 QScrollArea::qt_metacast
+32 QScrollArea::qt_metacall
+40 QScrollArea::~QScrollArea
+48 QScrollArea::~QScrollArea
+56 QScrollArea::event
+64 QScrollArea::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QScrollArea::sizeHint
+136 QAbstractScrollArea::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QAbstractScrollArea::mousePressEvent
+168 QAbstractScrollArea::mouseReleaseEvent
+176 QAbstractScrollArea::mouseDoubleClickEvent
+184 QAbstractScrollArea::mouseMoveEvent
+192 QAbstractScrollArea::wheelEvent
+200 QAbstractScrollArea::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QAbstractScrollArea::paintEvent
+256 QWidget::moveEvent
+264 QScrollArea::resizeEvent
+272 QWidget::closeEvent
+280 QAbstractScrollArea::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QAbstractScrollArea::dragEnterEvent
+312 QAbstractScrollArea::dragMoveEvent
+320 QAbstractScrollArea::dragLeaveEvent
+328 QAbstractScrollArea::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QFrame::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QScrollArea::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QAbstractScrollArea::viewportEvent
+456 QScrollArea::scrollContentsBy
+464 (int (*)(...))-0x00000000000000010
+472 (int (*)(...))(& _ZTI11QScrollArea)
+480 QScrollArea::_ZThn16_N11QScrollAreaD1Ev
+488 QScrollArea::_ZThn16_N11QScrollAreaD0Ev
+496 QWidget::_ZThn16_NK7QWidget7devTypeEv
+504 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+512 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QScrollArea
+ size=40 align=8
+ base size=40 base align=8
+QScrollArea (0x7fb29ccb0af0) 0
+ vptr=((& QScrollArea::_ZTV11QScrollArea) + 16u)
+ QAbstractScrollArea (0x7fb29ccb0b60) 0
+ primary-for QScrollArea (0x7fb29ccb0af0)
+ QFrame (0x7fb29ccb0bd0) 0
+ primary-for QAbstractScrollArea (0x7fb29ccb0b60)
+ QWidget (0x7fb29cca0c80) 0
+ primary-for QFrame (0x7fb29ccb0bd0)
+ QObject (0x7fb29ccb0c40) 0
+ primary-for QWidget (0x7fb29cca0c80)
+ QPaintDevice (0x7fb29ccb0cb0) 16
+ vptr=((& QScrollArea::_ZTV11QScrollArea) + 480u)
+
+Vtable for QGraphicsView
+QGraphicsView::_ZTV13QGraphicsView: 68u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QGraphicsView)
+16 QGraphicsView::metaObject
+24 QGraphicsView::qt_metacast
+32 QGraphicsView::qt_metacall
+40 QGraphicsView::~QGraphicsView
+48 QGraphicsView::~QGraphicsView
+56 QGraphicsView::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QGraphicsView::sizeHint
+136 QAbstractScrollArea::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QGraphicsView::mousePressEvent
+168 QGraphicsView::mouseReleaseEvent
+176 QGraphicsView::mouseDoubleClickEvent
+184 QGraphicsView::mouseMoveEvent
+192 QGraphicsView::wheelEvent
+200 QGraphicsView::keyPressEvent
+208 QGraphicsView::keyReleaseEvent
+216 QGraphicsView::focusInEvent
+224 QGraphicsView::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QGraphicsView::paintEvent
+256 QWidget::moveEvent
+264 QGraphicsView::resizeEvent
+272 QWidget::closeEvent
+280 QGraphicsView::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QGraphicsView::dragEnterEvent
+312 QGraphicsView::dragMoveEvent
+320 QGraphicsView::dragLeaveEvent
+328 QGraphicsView::dropEvent
+336 QGraphicsView::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QFrame::changeEvent
+368 QWidget::metric
+376 QGraphicsView::inputMethodEvent
+384 QGraphicsView::inputMethodQuery
+392 QGraphicsView::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QGraphicsView::viewportEvent
+456 QGraphicsView::scrollContentsBy
+464 QGraphicsView::drawBackground
+472 QGraphicsView::drawForeground
+480 QGraphicsView::drawItems
+488 (int (*)(...))-0x00000000000000010
+496 (int (*)(...))(& _ZTI13QGraphicsView)
+504 QGraphicsView::_ZThn16_N13QGraphicsViewD1Ev
+512 QGraphicsView::_ZThn16_N13QGraphicsViewD0Ev
+520 QWidget::_ZThn16_NK7QWidget7devTypeEv
+528 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+536 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QGraphicsView
+ size=40 align=8
+ base size=40 base align=8
+QGraphicsView (0x7fb29ccd2a10) 0
+ vptr=((& QGraphicsView::_ZTV13QGraphicsView) + 16u)
+ QAbstractScrollArea (0x7fb29ccd2a80) 0
+ primary-for QGraphicsView (0x7fb29ccd2a10)
+ QFrame (0x7fb29ccd2af0) 0
+ primary-for QAbstractScrollArea (0x7fb29ccd2a80)
+ QWidget (0x7fb29cccd680) 0
+ primary-for QFrame (0x7fb29ccd2af0)
+ QObject (0x7fb29ccd2b60) 0
+ primary-for QWidget (0x7fb29cccd680)
+ QPaintDevice (0x7fb29ccd2bd0) 16
+ vptr=((& QGraphicsView::_ZTV13QGraphicsView) + 504u)
+
+Vtable for QAbstractButton
+QAbstractButton::_ZTV15QAbstractButton: 66u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QAbstractButton)
+16 QAbstractButton::metaObject
+24 QAbstractButton::qt_metacast
+32 QAbstractButton::qt_metacall
+40 QAbstractButton::~QAbstractButton
+48 QAbstractButton::~QAbstractButton
+56 QAbstractButton::event
+64 QObject::eventFilter
+72 QAbstractButton::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QWidget::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QAbstractButton::mousePressEvent
+168 QAbstractButton::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QAbstractButton::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QAbstractButton::keyPressEvent
+208 QAbstractButton::keyReleaseEvent
+216 QAbstractButton::focusInEvent
+224 QAbstractButton::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 __cxa_pure_virtual
+256 QWidget::moveEvent
+264 QWidget::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QAbstractButton::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QAbstractButton::hitButton
+456 QAbstractButton::checkStateSet
+464 QAbstractButton::nextCheckState
+472 (int (*)(...))-0x00000000000000010
+480 (int (*)(...))(& _ZTI15QAbstractButton)
+488 QAbstractButton::_ZThn16_N15QAbstractButtonD1Ev
+496 QAbstractButton::_ZThn16_N15QAbstractButtonD0Ev
+504 QWidget::_ZThn16_NK7QWidget7devTypeEv
+512 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+520 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QAbstractButton
+ size=40 align=8
+ base size=40 base align=8
+QAbstractButton (0x7fb29cbc1ee0) 0
+ vptr=((& QAbstractButton::_ZTV15QAbstractButton) + 16u)
+ QWidget (0x7fb29cbcb380) 0
+ primary-for QAbstractButton (0x7fb29cbc1ee0)
+ QObject (0x7fb29cbc1f50) 0
+ primary-for QWidget (0x7fb29cbcb380)
+ QPaintDevice (0x7fb29cbd0000) 16
+ vptr=((& QAbstractButton::_ZTV15QAbstractButton) + 488u)
+
+Vtable for QButtonGroup
+QButtonGroup::_ZTV12QButtonGroup: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QButtonGroup)
+16 QButtonGroup::metaObject
+24 QButtonGroup::qt_metacast
+32 QButtonGroup::qt_metacall
+40 QButtonGroup::~QButtonGroup
+48 QButtonGroup::~QButtonGroup
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QButtonGroup
+ size=16 align=8
+ base size=16 base align=8
+QButtonGroup (0x7fb29cc01310) 0
+ vptr=((& QButtonGroup::_ZTV12QButtonGroup) + 16u)
+ QObject (0x7fb29cc01380) 0
+ primary-for QButtonGroup (0x7fb29cc01310)
+
+Vtable for QCalendarWidget
+QCalendarWidget::_ZTV15QCalendarWidget: 64u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QCalendarWidget)
+16 QCalendarWidget::metaObject
+24 QCalendarWidget::qt_metacast
+32 QCalendarWidget::qt_metacall
+40 QCalendarWidget::~QCalendarWidget
+48 QCalendarWidget::~QCalendarWidget
+56 QCalendarWidget::event
+64 QCalendarWidget::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QCalendarWidget::sizeHint
+136 QCalendarWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QCalendarWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QCalendarWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QWidget::paintEvent
+256 QWidget::moveEvent
+264 QCalendarWidget::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QWidget::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QCalendarWidget::paintCell
+456 (int (*)(...))-0x00000000000000010
+464 (int (*)(...))(& _ZTI15QCalendarWidget)
+472 QCalendarWidget::_ZThn16_N15QCalendarWidgetD1Ev
+480 QCalendarWidget::_ZThn16_N15QCalendarWidgetD0Ev
+488 QWidget::_ZThn16_NK7QWidget7devTypeEv
+496 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+504 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QCalendarWidget
+ size=40 align=8
+ base size=40 base align=8
+QCalendarWidget (0x7fb29cc1af50) 0
+ vptr=((& QCalendarWidget::_ZTV15QCalendarWidget) + 16u)
+ QWidget (0x7fb29cc17900) 0
+ primary-for QCalendarWidget (0x7fb29cc1af50)
+ QObject (0x7fb29cc21000) 0
+ primary-for QWidget (0x7fb29cc17900)
+ QPaintDevice (0x7fb29cc21070) 16
+ vptr=((& QCalendarWidget::_ZTV15QCalendarWidget) + 472u)
+
+Vtable for QCheckBox
+QCheckBox::_ZTV9QCheckBox: 66u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QCheckBox)
+16 QCheckBox::metaObject
+24 QCheckBox::qt_metacast
+32 QCheckBox::qt_metacall
+40 QCheckBox::~QCheckBox
+48 QCheckBox::~QCheckBox
+56 QCheckBox::event
+64 QObject::eventFilter
+72 QAbstractButton::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QCheckBox::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QAbstractButton::mousePressEvent
+168 QAbstractButton::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QCheckBox::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QAbstractButton::keyPressEvent
+208 QAbstractButton::keyReleaseEvent
+216 QAbstractButton::focusInEvent
+224 QAbstractButton::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QCheckBox::paintEvent
+256 QWidget::moveEvent
+264 QWidget::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QAbstractButton::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QCheckBox::hitButton
+456 QCheckBox::checkStateSet
+464 QCheckBox::nextCheckState
+472 (int (*)(...))-0x00000000000000010
+480 (int (*)(...))(& _ZTI9QCheckBox)
+488 QCheckBox::_ZThn16_N9QCheckBoxD1Ev
+496 QCheckBox::_ZThn16_N9QCheckBoxD0Ev
+504 QWidget::_ZThn16_NK7QWidget7devTypeEv
+512 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+520 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QCheckBox
+ size=40 align=8
+ base size=40 base align=8
+QCheckBox (0x7fb29ca4b0e0) 0
+ vptr=((& QCheckBox::_ZTV9QCheckBox) + 16u)
+ QAbstractButton (0x7fb29ca4b150) 0
+ primary-for QCheckBox (0x7fb29ca4b0e0)
+ QWidget (0x7fb29cc3f900) 0
+ primary-for QAbstractButton (0x7fb29ca4b150)
+ QObject (0x7fb29ca4b1c0) 0
+ primary-for QWidget (0x7fb29cc3f900)
+ QPaintDevice (0x7fb29ca4b230) 16
+ vptr=((& QCheckBox::_ZTV9QCheckBox) + 488u)
+
+Vtable for QComboBox
+QComboBox::_ZTV9QComboBox: 65u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QComboBox)
+16 QComboBox::metaObject
+24 QComboBox::qt_metacast
+32 QComboBox::qt_metacall
+40 QComboBox::~QComboBox
+48 QComboBox::~QComboBox
+56 QComboBox::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QComboBox::sizeHint
+136 QComboBox::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QComboBox::mousePressEvent
+168 QComboBox::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QComboBox::wheelEvent
+200 QComboBox::keyPressEvent
+208 QComboBox::keyReleaseEvent
+216 QComboBox::focusInEvent
+224 QComboBox::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QComboBox::paintEvent
+256 QWidget::moveEvent
+264 QComboBox::resizeEvent
+272 QWidget::closeEvent
+280 QComboBox::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QComboBox::showEvent
+344 QComboBox::hideEvent
+352 QWidget::x11Event
+360 QComboBox::changeEvent
+368 QWidget::metric
+376 QComboBox::inputMethodEvent
+384 QComboBox::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QComboBox::showPopup
+456 QComboBox::hidePopup
+464 (int (*)(...))-0x00000000000000010
+472 (int (*)(...))(& _ZTI9QComboBox)
+480 QComboBox::_ZThn16_N9QComboBoxD1Ev
+488 QComboBox::_ZThn16_N9QComboBoxD0Ev
+496 QWidget::_ZThn16_NK7QWidget7devTypeEv
+504 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+512 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QComboBox
+ size=40 align=8
+ base size=40 base align=8
+QComboBox (0x7fb29ca6d8c0) 0
+ vptr=((& QComboBox::_ZTV9QComboBox) + 16u)
+ QWidget (0x7fb29ca67900) 0
+ primary-for QComboBox (0x7fb29ca6d8c0)
+ QObject (0x7fb29ca6d930) 0
+ primary-for QWidget (0x7fb29ca67900)
+ QPaintDevice (0x7fb29ca6d9a0) 16
+ vptr=((& QComboBox::_ZTV9QComboBox) + 480u)
+
+Vtable for QPushButton
+QPushButton::_ZTV11QPushButton: 66u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QPushButton)
+16 QPushButton::metaObject
+24 QPushButton::qt_metacast
+32 QPushButton::qt_metacall
+40 QPushButton::~QPushButton
+48 QPushButton::~QPushButton
+56 QPushButton::event
+64 QObject::eventFilter
+72 QAbstractButton::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QPushButton::sizeHint
+136 QPushButton::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QAbstractButton::mousePressEvent
+168 QAbstractButton::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QAbstractButton::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QPushButton::keyPressEvent
+208 QAbstractButton::keyReleaseEvent
+216 QPushButton::focusInEvent
+224 QPushButton::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QPushButton::paintEvent
+256 QWidget::moveEvent
+264 QWidget::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QAbstractButton::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QAbstractButton::hitButton
+456 QAbstractButton::checkStateSet
+464 QAbstractButton::nextCheckState
+472 (int (*)(...))-0x00000000000000010
+480 (int (*)(...))(& _ZTI11QPushButton)
+488 QPushButton::_ZThn16_N11QPushButtonD1Ev
+496 QPushButton::_ZThn16_N11QPushButtonD0Ev
+504 QWidget::_ZThn16_NK7QWidget7devTypeEv
+512 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+520 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QPushButton
+ size=40 align=8
+ base size=40 base align=8
+QPushButton (0x7fb29cadd3f0) 0
+ vptr=((& QPushButton::_ZTV11QPushButton) + 16u)
+ QAbstractButton (0x7fb29cadd460) 0
+ primary-for QPushButton (0x7fb29cadd3f0)
+ QWidget (0x7fb29cad8600) 0
+ primary-for QAbstractButton (0x7fb29cadd460)
+ QObject (0x7fb29cadd4d0) 0
+ primary-for QWidget (0x7fb29cad8600)
+ QPaintDevice (0x7fb29cadd540) 16
+ vptr=((& QPushButton::_ZTV11QPushButton) + 488u)
+
+Vtable for QCommandLinkButton
+QCommandLinkButton::_ZTV18QCommandLinkButton: 66u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QCommandLinkButton)
+16 QCommandLinkButton::metaObject
+24 QCommandLinkButton::qt_metacast
+32 QCommandLinkButton::qt_metacall
+40 QCommandLinkButton::~QCommandLinkButton
+48 QCommandLinkButton::~QCommandLinkButton
+56 QCommandLinkButton::event
+64 QObject::eventFilter
+72 QAbstractButton::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QCommandLinkButton::sizeHint
+136 QCommandLinkButton::minimumSizeHint
+144 QCommandLinkButton::heightForWidth
+152 QWidget::paintEngine
+160 QAbstractButton::mousePressEvent
+168 QAbstractButton::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QAbstractButton::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QPushButton::keyPressEvent
+208 QAbstractButton::keyReleaseEvent
+216 QPushButton::focusInEvent
+224 QPushButton::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QCommandLinkButton::paintEvent
+256 QWidget::moveEvent
+264 QWidget::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QAbstractButton::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QAbstractButton::hitButton
+456 QAbstractButton::checkStateSet
+464 QAbstractButton::nextCheckState
+472 (int (*)(...))-0x00000000000000010
+480 (int (*)(...))(& _ZTI18QCommandLinkButton)
+488 QCommandLinkButton::_ZThn16_N18QCommandLinkButtonD1Ev
+496 QCommandLinkButton::_ZThn16_N18QCommandLinkButtonD0Ev
+504 QWidget::_ZThn16_NK7QWidget7devTypeEv
+512 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+520 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QCommandLinkButton
+ size=40 align=8
+ base size=40 base align=8
+QCommandLinkButton (0x7fb29cb00d20) 0
+ vptr=((& QCommandLinkButton::_ZTV18QCommandLinkButton) + 16u)
+ QPushButton (0x7fb29cb00d90) 0
+ primary-for QCommandLinkButton (0x7fb29cb00d20)
+ QAbstractButton (0x7fb29cb00e00) 0
+ primary-for QPushButton (0x7fb29cb00d90)
+ QWidget (0x7fb29cb02600) 0
+ primary-for QAbstractButton (0x7fb29cb00e00)
+ QObject (0x7fb29cb00e70) 0
+ primary-for QWidget (0x7fb29cb02600)
+ QPaintDevice (0x7fb29cb00ee0) 16
+ vptr=((& QCommandLinkButton::_ZTV18QCommandLinkButton) + 488u)
+
+Vtable for QDateTimeEdit
+QDateTimeEdit::_ZTV13QDateTimeEdit: 70u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QDateTimeEdit)
+16 QDateTimeEdit::metaObject
+24 QDateTimeEdit::qt_metacast
+32 QDateTimeEdit::qt_metacall
+40 QDateTimeEdit::~QDateTimeEdit
+48 QDateTimeEdit::~QDateTimeEdit
+56 QDateTimeEdit::event
+64 QObject::eventFilter
+72 QAbstractSpinBox::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QDateTimeEdit::sizeHint
+136 QAbstractSpinBox::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QDateTimeEdit::mousePressEvent
+168 QAbstractSpinBox::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QAbstractSpinBox::mouseMoveEvent
+192 QDateTimeEdit::wheelEvent
+200 QDateTimeEdit::keyPressEvent
+208 QAbstractSpinBox::keyReleaseEvent
+216 QDateTimeEdit::focusInEvent
+224 QAbstractSpinBox::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QDateTimeEdit::paintEvent
+256 QWidget::moveEvent
+264 QAbstractSpinBox::resizeEvent
+272 QAbstractSpinBox::closeEvent
+280 QAbstractSpinBox::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QAbstractSpinBox::showEvent
+344 QAbstractSpinBox::hideEvent
+352 QWidget::x11Event
+360 QAbstractSpinBox::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QAbstractSpinBox::inputMethodQuery
+392 QDateTimeEdit::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QDateTimeEdit::validate
+456 QDateTimeEdit::fixup
+464 QDateTimeEdit::stepBy
+472 QDateTimeEdit::clear
+480 QDateTimeEdit::stepEnabled
+488 QDateTimeEdit::dateTimeFromText
+496 QDateTimeEdit::textFromDateTime
+504 (int (*)(...))-0x00000000000000010
+512 (int (*)(...))(& _ZTI13QDateTimeEdit)
+520 QDateTimeEdit::_ZThn16_N13QDateTimeEditD1Ev
+528 QDateTimeEdit::_ZThn16_N13QDateTimeEditD0Ev
+536 QWidget::_ZThn16_NK7QWidget7devTypeEv
+544 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+552 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QDateTimeEdit
+ size=40 align=8
+ base size=40 base align=8
+QDateTimeEdit (0x7fb29cb1c8c0) 0
+ vptr=((& QDateTimeEdit::_ZTV13QDateTimeEdit) + 16u)
+ QAbstractSpinBox (0x7fb29cb1c930) 0
+ primary-for QDateTimeEdit (0x7fb29cb1c8c0)
+ QWidget (0x7fb29cb22000) 0
+ primary-for QAbstractSpinBox (0x7fb29cb1c930)
+ QObject (0x7fb29cb1c9a0) 0
+ primary-for QWidget (0x7fb29cb22000)
+ QPaintDevice (0x7fb29cb1ca10) 16
+ vptr=((& QDateTimeEdit::_ZTV13QDateTimeEdit) + 520u)
+
+Vtable for QTimeEdit
+QTimeEdit::_ZTV9QTimeEdit: 70u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QTimeEdit)
+16 QTimeEdit::metaObject
+24 QTimeEdit::qt_metacast
+32 QTimeEdit::qt_metacall
+40 QTimeEdit::~QTimeEdit
+48 QTimeEdit::~QTimeEdit
+56 QDateTimeEdit::event
+64 QObject::eventFilter
+72 QAbstractSpinBox::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QDateTimeEdit::sizeHint
+136 QAbstractSpinBox::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QDateTimeEdit::mousePressEvent
+168 QAbstractSpinBox::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QAbstractSpinBox::mouseMoveEvent
+192 QDateTimeEdit::wheelEvent
+200 QDateTimeEdit::keyPressEvent
+208 QAbstractSpinBox::keyReleaseEvent
+216 QDateTimeEdit::focusInEvent
+224 QAbstractSpinBox::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QDateTimeEdit::paintEvent
+256 QWidget::moveEvent
+264 QAbstractSpinBox::resizeEvent
+272 QAbstractSpinBox::closeEvent
+280 QAbstractSpinBox::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QAbstractSpinBox::showEvent
+344 QAbstractSpinBox::hideEvent
+352 QWidget::x11Event
+360 QAbstractSpinBox::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QAbstractSpinBox::inputMethodQuery
+392 QDateTimeEdit::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QDateTimeEdit::validate
+456 QDateTimeEdit::fixup
+464 QDateTimeEdit::stepBy
+472 QDateTimeEdit::clear
+480 QDateTimeEdit::stepEnabled
+488 QDateTimeEdit::dateTimeFromText
+496 QDateTimeEdit::textFromDateTime
+504 (int (*)(...))-0x00000000000000010
+512 (int (*)(...))(& _ZTI9QTimeEdit)
+520 QTimeEdit::_ZThn16_N9QTimeEditD1Ev
+528 QTimeEdit::_ZThn16_N9QTimeEditD0Ev
+536 QWidget::_ZThn16_NK7QWidget7devTypeEv
+544 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+552 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QTimeEdit
+ size=40 align=8
+ base size=40 base align=8
+QTimeEdit (0x7fb29c94e7e0) 0
+ vptr=((& QTimeEdit::_ZTV9QTimeEdit) + 16u)
+ QDateTimeEdit (0x7fb29c94e850) 0
+ primary-for QTimeEdit (0x7fb29c94e7e0)
+ QAbstractSpinBox (0x7fb29c94e8c0) 0
+ primary-for QDateTimeEdit (0x7fb29c94e850)
+ QWidget (0x7fb29cb22f80) 0
+ primary-for QAbstractSpinBox (0x7fb29c94e8c0)
+ QObject (0x7fb29c94e930) 0
+ primary-for QWidget (0x7fb29cb22f80)
+ QPaintDevice (0x7fb29c94e9a0) 16
+ vptr=((& QTimeEdit::_ZTV9QTimeEdit) + 520u)
+
+Vtable for QDateEdit
+QDateEdit::_ZTV9QDateEdit: 70u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QDateEdit)
+16 QDateEdit::metaObject
+24 QDateEdit::qt_metacast
+32 QDateEdit::qt_metacall
+40 QDateEdit::~QDateEdit
+48 QDateEdit::~QDateEdit
+56 QDateTimeEdit::event
+64 QObject::eventFilter
+72 QAbstractSpinBox::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QDateTimeEdit::sizeHint
+136 QAbstractSpinBox::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QDateTimeEdit::mousePressEvent
+168 QAbstractSpinBox::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QAbstractSpinBox::mouseMoveEvent
+192 QDateTimeEdit::wheelEvent
+200 QDateTimeEdit::keyPressEvent
+208 QAbstractSpinBox::keyReleaseEvent
+216 QDateTimeEdit::focusInEvent
+224 QAbstractSpinBox::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QDateTimeEdit::paintEvent
+256 QWidget::moveEvent
+264 QAbstractSpinBox::resizeEvent
+272 QAbstractSpinBox::closeEvent
+280 QAbstractSpinBox::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QAbstractSpinBox::showEvent
+344 QAbstractSpinBox::hideEvent
+352 QWidget::x11Event
+360 QAbstractSpinBox::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QAbstractSpinBox::inputMethodQuery
+392 QDateTimeEdit::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QDateTimeEdit::validate
+456 QDateTimeEdit::fixup
+464 QDateTimeEdit::stepBy
+472 QDateTimeEdit::clear
+480 QDateTimeEdit::stepEnabled
+488 QDateTimeEdit::dateTimeFromText
+496 QDateTimeEdit::textFromDateTime
+504 (int (*)(...))-0x00000000000000010
+512 (int (*)(...))(& _ZTI9QDateEdit)
+520 QDateEdit::_ZThn16_N9QDateEditD1Ev
+528 QDateEdit::_ZThn16_N9QDateEditD0Ev
+536 QWidget::_ZThn16_NK7QWidget7devTypeEv
+544 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+552 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QDateEdit
+ size=40 align=8
+ base size=40 base align=8
+QDateEdit (0x7fb29c9638c0) 0
+ vptr=((& QDateEdit::_ZTV9QDateEdit) + 16u)
+ QDateTimeEdit (0x7fb29c963930) 0
+ primary-for QDateEdit (0x7fb29c9638c0)
+ QAbstractSpinBox (0x7fb29c9639a0) 0
+ primary-for QDateTimeEdit (0x7fb29c963930)
+ QWidget (0x7fb29c954680) 0
+ primary-for QAbstractSpinBox (0x7fb29c9639a0)
+ QObject (0x7fb29c963a10) 0
+ primary-for QWidget (0x7fb29c954680)
+ QPaintDevice (0x7fb29c963a80) 16
+ vptr=((& QDateEdit::_ZTV9QDateEdit) + 520u)
+
+Vtable for QDial
+QDial::_ZTV5QDial: 64u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI5QDial)
+16 QDial::metaObject
+24 QDial::qt_metacast
+32 QDial::qt_metacall
+40 QDial::~QDial
+48 QDial::~QDial
+56 QDial::event
+64 QObject::eventFilter
+72 QAbstractSlider::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QDial::sizeHint
+136 QDial::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QDial::mousePressEvent
+168 QDial::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QDial::mouseMoveEvent
+192 QAbstractSlider::wheelEvent
+200 QAbstractSlider::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QDial::paintEvent
+256 QWidget::moveEvent
+264 QDial::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QAbstractSlider::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QDial::sliderChange
+456 (int (*)(...))-0x00000000000000010
+464 (int (*)(...))(& _ZTI5QDial)
+472 QDial::_ZThn16_N5QDialD1Ev
+480 QDial::_ZThn16_N5QDialD0Ev
+488 QWidget::_ZThn16_NK7QWidget7devTypeEv
+496 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+504 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QDial
+ size=40 align=8
+ base size=40 base align=8
+QDial (0x7fb29c9a9690) 0
+ vptr=((& QDial::_ZTV5QDial) + 16u)
+ QAbstractSlider (0x7fb29c9a9700) 0
+ primary-for QDial (0x7fb29c9a9690)
+ QWidget (0x7fb29c9aa300) 0
+ primary-for QAbstractSlider (0x7fb29c9a9700)
+ QObject (0x7fb29c9a9770) 0
+ primary-for QWidget (0x7fb29c9aa300)
+ QPaintDevice (0x7fb29c9a97e0) 16
+ vptr=((& QDial::_ZTV5QDial) + 472u)
+
+Vtable for QDialogButtonBox
+QDialogButtonBox::_ZTV16QDialogButtonBox: 63u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QDialogButtonBox)
+16 QDialogButtonBox::metaObject
+24 QDialogButtonBox::qt_metacast
+32 QDialogButtonBox::qt_metacall
+40 QDialogButtonBox::~QDialogButtonBox
+48 QDialogButtonBox::~QDialogButtonBox
+56 QDialogButtonBox::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QWidget::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QWidget::paintEvent
+256 QWidget::moveEvent
+264 QWidget::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QDialogButtonBox::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 (int (*)(...))-0x00000000000000010
+456 (int (*)(...))(& _ZTI16QDialogButtonBox)
+464 QDialogButtonBox::_ZThn16_N16QDialogButtonBoxD1Ev
+472 QDialogButtonBox::_ZThn16_N16QDialogButtonBoxD0Ev
+480 QWidget::_ZThn16_NK7QWidget7devTypeEv
+488 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+496 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QDialogButtonBox
+ size=40 align=8
+ base size=40 base align=8
+QDialogButtonBox (0x7fb29c9e9310) 0
+ vptr=((& QDialogButtonBox::_ZTV16QDialogButtonBox) + 16u)
+ QWidget (0x7fb29c9aad00) 0
+ primary-for QDialogButtonBox (0x7fb29c9e9310)
+ QObject (0x7fb29c9e9380) 0
+ primary-for QWidget (0x7fb29c9aad00)
+ QPaintDevice (0x7fb29c9e93f0) 16
+ vptr=((& QDialogButtonBox::_ZTV16QDialogButtonBox) + 464u)
+
+Vtable for QDockWidget
+QDockWidget::_ZTV11QDockWidget: 63u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QDockWidget)
+16 QDockWidget::metaObject
+24 QDockWidget::qt_metacast
+32 QDockWidget::qt_metacall
+40 QDockWidget::~QDockWidget
+48 QDockWidget::~QDockWidget
+56 QDockWidget::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QWidget::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QDockWidget::paintEvent
+256 QWidget::moveEvent
+264 QWidget::resizeEvent
+272 QDockWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QDockWidget::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 (int (*)(...))-0x00000000000000010
+456 (int (*)(...))(& _ZTI11QDockWidget)
+464 QDockWidget::_ZThn16_N11QDockWidgetD1Ev
+472 QDockWidget::_ZThn16_N11QDockWidgetD0Ev
+480 QWidget::_ZThn16_NK7QWidget7devTypeEv
+488 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+496 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QDockWidget
+ size=40 align=8
+ base size=40 base align=8
+QDockWidget (0x7fb29c83e7e0) 0
+ vptr=((& QDockWidget::_ZTV11QDockWidget) + 16u)
+ QWidget (0x7fb29c9f5e80) 0
+ primary-for QDockWidget (0x7fb29c83e7e0)
+ QObject (0x7fb29c83e850) 0
+ primary-for QWidget (0x7fb29c9f5e80)
+ QPaintDevice (0x7fb29c83e8c0) 16
+ vptr=((& QDockWidget::_ZTV11QDockWidget) + 464u)
+
+Vtable for QFocusFrame
+QFocusFrame::_ZTV11QFocusFrame: 63u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QFocusFrame)
+16 QFocusFrame::metaObject
+24 QFocusFrame::qt_metacast
+32 QFocusFrame::qt_metacall
+40 QFocusFrame::~QFocusFrame
+48 QFocusFrame::~QFocusFrame
+56 QFocusFrame::event
+64 QFocusFrame::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QWidget::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QFocusFrame::paintEvent
+256 QWidget::moveEvent
+264 QWidget::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QWidget::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 (int (*)(...))-0x00000000000000010
+456 (int (*)(...))(& _ZTI11QFocusFrame)
+464 QFocusFrame::_ZThn16_N11QFocusFrameD1Ev
+472 QFocusFrame::_ZThn16_N11QFocusFrameD0Ev
+480 QWidget::_ZThn16_NK7QWidget7devTypeEv
+488 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+496 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QFocusFrame
+ size=40 align=8
+ base size=40 base align=8
+QFocusFrame (0x7fb29c8df230) 0
+ vptr=((& QFocusFrame::_ZTV11QFocusFrame) + 16u)
+ QWidget (0x7fb29c892680) 0
+ primary-for QFocusFrame (0x7fb29c8df230)
+ QObject (0x7fb29c8df2a0) 0
+ primary-for QWidget (0x7fb29c892680)
+ QPaintDevice (0x7fb29c8df310) 16
+ vptr=((& QFocusFrame::_ZTV11QFocusFrame) + 464u)
+
+Vtable for QFontComboBox
+QFontComboBox::_ZTV13QFontComboBox: 65u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QFontComboBox)
+16 QFontComboBox::metaObject
+24 QFontComboBox::qt_metacast
+32 QFontComboBox::qt_metacall
+40 QFontComboBox::~QFontComboBox
+48 QFontComboBox::~QFontComboBox
+56 QFontComboBox::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QFontComboBox::sizeHint
+136 QComboBox::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QComboBox::mousePressEvent
+168 QComboBox::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QComboBox::wheelEvent
+200 QComboBox::keyPressEvent
+208 QComboBox::keyReleaseEvent
+216 QComboBox::focusInEvent
+224 QComboBox::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QComboBox::paintEvent
+256 QWidget::moveEvent
+264 QComboBox::resizeEvent
+272 QWidget::closeEvent
+280 QComboBox::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QComboBox::showEvent
+344 QComboBox::hideEvent
+352 QWidget::x11Event
+360 QComboBox::changeEvent
+368 QWidget::metric
+376 QComboBox::inputMethodEvent
+384 QComboBox::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QComboBox::showPopup
+456 QComboBox::hidePopup
+464 (int (*)(...))-0x00000000000000010
+472 (int (*)(...))(& _ZTI13QFontComboBox)
+480 QFontComboBox::_ZThn16_N13QFontComboBoxD1Ev
+488 QFontComboBox::_ZThn16_N13QFontComboBoxD0Ev
+496 QWidget::_ZThn16_NK7QWidget7devTypeEv
+504 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+512 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QFontComboBox
+ size=40 align=8
+ base size=40 base align=8
+QFontComboBox (0x7fb29c8f3d90) 0
+ vptr=((& QFontComboBox::_ZTV13QFontComboBox) + 16u)
+ QComboBox (0x7fb29c8f3e00) 0
+ primary-for QFontComboBox (0x7fb29c8f3d90)
+ QWidget (0x7fb29c8fa080) 0
+ primary-for QComboBox (0x7fb29c8f3e00)
+ QObject (0x7fb29c8f3e70) 0
+ primary-for QWidget (0x7fb29c8fa080)
+ QPaintDevice (0x7fb29c8f3ee0) 16
+ vptr=((& QFontComboBox::_ZTV13QFontComboBox) + 480u)
+
+Vtable for QGroupBox
+QGroupBox::_ZTV9QGroupBox: 63u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QGroupBox)
+16 QGroupBox::metaObject
+24 QGroupBox::qt_metacast
+32 QGroupBox::qt_metacall
+40 QGroupBox::~QGroupBox
+48 QGroupBox::~QGroupBox
+56 QGroupBox::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QGroupBox::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QWidget::sizeHint
+136 QGroupBox::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QGroupBox::mousePressEvent
+168 QGroupBox::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QGroupBox::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QGroupBox::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QGroupBox::paintEvent
+256 QWidget::moveEvent
+264 QGroupBox::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QGroupBox::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 (int (*)(...))-0x00000000000000010
+456 (int (*)(...))(& _ZTI9QGroupBox)
+464 QGroupBox::_ZThn16_N9QGroupBoxD1Ev
+472 QGroupBox::_ZThn16_N9QGroupBoxD0Ev
+480 QWidget::_ZThn16_NK7QWidget7devTypeEv
+488 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+496 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QGroupBox
+ size=40 align=8
+ base size=40 base align=8
+QGroupBox (0x7fb29c742a80) 0
+ vptr=((& QGroupBox::_ZTV9QGroupBox) + 16u)
+ QWidget (0x7fb29c744280) 0
+ primary-for QGroupBox (0x7fb29c742a80)
+ QObject (0x7fb29c742af0) 0
+ primary-for QWidget (0x7fb29c744280)
+ QPaintDevice (0x7fb29c742b60) 16
+ vptr=((& QGroupBox::_ZTV9QGroupBox) + 464u)
+
+Vtable for QLabel
+QLabel::_ZTV6QLabel: 63u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI6QLabel)
+16 QLabel::metaObject
+24 QLabel::qt_metacast
+32 QLabel::qt_metacall
+40 QLabel::~QLabel
+48 QLabel::~QLabel
+56 QLabel::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QLabel::sizeHint
+136 QLabel::minimumSizeHint
+144 QLabel::heightForWidth
+152 QWidget::paintEngine
+160 QLabel::mousePressEvent
+168 QLabel::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QLabel::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QLabel::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QLabel::focusInEvent
+224 QLabel::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QLabel::paintEvent
+256 QWidget::moveEvent
+264 QWidget::resizeEvent
+272 QWidget::closeEvent
+280 QLabel::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QLabel::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QLabel::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 (int (*)(...))-0x00000000000000010
+456 (int (*)(...))(& _ZTI6QLabel)
+464 QLabel::_ZThn16_N6QLabelD1Ev
+472 QLabel::_ZThn16_N6QLabelD0Ev
+480 QWidget::_ZThn16_NK7QWidget7devTypeEv
+488 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+496 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QLabel
+ size=40 align=8
+ base size=40 base align=8
+QLabel (0x7fb29c782700) 0
+ vptr=((& QLabel::_ZTV6QLabel) + 16u)
+ QFrame (0x7fb29c782770) 0
+ primary-for QLabel (0x7fb29c782700)
+ QWidget (0x7fb29c744c80) 0
+ primary-for QFrame (0x7fb29c782770)
+ QObject (0x7fb29c7827e0) 0
+ primary-for QWidget (0x7fb29c744c80)
+ QPaintDevice (0x7fb29c782850) 16
+ vptr=((& QLabel::_ZTV6QLabel) + 464u)
+
+Vtable for QLCDNumber
+QLCDNumber::_ZTV10QLCDNumber: 63u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QLCDNumber)
+16 QLCDNumber::metaObject
+24 QLCDNumber::qt_metacast
+32 QLCDNumber::qt_metacall
+40 QLCDNumber::~QLCDNumber
+48 QLCDNumber::~QLCDNumber
+56 QLCDNumber::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QLCDNumber::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QLCDNumber::paintEvent
+256 QWidget::moveEvent
+264 QWidget::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QFrame::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 (int (*)(...))-0x00000000000000010
+456 (int (*)(...))(& _ZTI10QLCDNumber)
+464 QLCDNumber::_ZThn16_N10QLCDNumberD1Ev
+472 QLCDNumber::_ZThn16_N10QLCDNumberD0Ev
+480 QWidget::_ZThn16_NK7QWidget7devTypeEv
+488 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+496 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QLCDNumber
+ size=40 align=8
+ base size=40 base align=8
+QLCDNumber (0x7fb29c7b0850) 0
+ vptr=((& QLCDNumber::_ZTV10QLCDNumber) + 16u)
+ QFrame (0x7fb29c7b08c0) 0
+ primary-for QLCDNumber (0x7fb29c7b0850)
+ QWidget (0x7fb29c7aa880) 0
+ primary-for QFrame (0x7fb29c7b08c0)
+ QObject (0x7fb29c7b0930) 0
+ primary-for QWidget (0x7fb29c7aa880)
+ QPaintDevice (0x7fb29c7b09a0) 16
+ vptr=((& QLCDNumber::_ZTV10QLCDNumber) + 464u)
+
+Vtable for QMainWindow
+QMainWindow::_ZTV11QMainWindow: 64u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QMainWindow)
+16 QMainWindow::metaObject
+24 QMainWindow::qt_metacast
+32 QMainWindow::qt_metacall
+40 QMainWindow::~QMainWindow
+48 QMainWindow::~QMainWindow
+56 QMainWindow::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QWidget::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QWidget::paintEvent
+256 QWidget::moveEvent
+264 QWidget::resizeEvent
+272 QWidget::closeEvent
+280 QMainWindow::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QWidget::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QMainWindow::createPopupMenu
+456 (int (*)(...))-0x00000000000000010
+464 (int (*)(...))(& _ZTI11QMainWindow)
+472 QMainWindow::_ZThn16_N11QMainWindowD1Ev
+480 QMainWindow::_ZThn16_N11QMainWindowD0Ev
+488 QWidget::_ZThn16_NK7QWidget7devTypeEv
+496 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+504 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QMainWindow
+ size=40 align=8
+ base size=40 base align=8
+QMainWindow (0x7fb29c7da230) 0
+ vptr=((& QMainWindow::_ZTV11QMainWindow) + 16u)
+ QWidget (0x7fb29c7d1a00) 0
+ primary-for QMainWindow (0x7fb29c7da230)
+ QObject (0x7fb29c7da2a0) 0
+ primary-for QWidget (0x7fb29c7d1a00)
+ QPaintDevice (0x7fb29c7da310) 16
+ vptr=((& QMainWindow::_ZTV11QMainWindow) + 472u)
+
+Vtable for QMdiArea
+QMdiArea::_ZTV8QMdiArea: 65u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI8QMdiArea)
+16 QMdiArea::metaObject
+24 QMdiArea::qt_metacast
+32 QMdiArea::qt_metacall
+40 QMdiArea::~QMdiArea
+48 QMdiArea::~QMdiArea
+56 QMdiArea::event
+64 QMdiArea::eventFilter
+72 QMdiArea::timerEvent
+80 QMdiArea::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QMdiArea::sizeHint
+136 QMdiArea::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QAbstractScrollArea::mousePressEvent
+168 QAbstractScrollArea::mouseReleaseEvent
+176 QAbstractScrollArea::mouseDoubleClickEvent
+184 QAbstractScrollArea::mouseMoveEvent
+192 QAbstractScrollArea::wheelEvent
+200 QAbstractScrollArea::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QMdiArea::paintEvent
+256 QWidget::moveEvent
+264 QMdiArea::resizeEvent
+272 QWidget::closeEvent
+280 QAbstractScrollArea::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QAbstractScrollArea::dragEnterEvent
+312 QAbstractScrollArea::dragMoveEvent
+320 QAbstractScrollArea::dragLeaveEvent
+328 QAbstractScrollArea::dropEvent
+336 QMdiArea::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QFrame::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QMdiArea::viewportEvent
+456 QMdiArea::scrollContentsBy
+464 (int (*)(...))-0x00000000000000010
+472 (int (*)(...))(& _ZTI8QMdiArea)
+480 QMdiArea::_ZThn16_N8QMdiAreaD1Ev
+488 QMdiArea::_ZThn16_N8QMdiAreaD0Ev
+496 QWidget::_ZThn16_NK7QWidget7devTypeEv
+504 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+512 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QMdiArea
+ size=40 align=8
+ base size=40 base align=8
+QMdiArea (0x7fb29c658540) 0
+ vptr=((& QMdiArea::_ZTV8QMdiArea) + 16u)
+ QAbstractScrollArea (0x7fb29c6585b0) 0
+ primary-for QMdiArea (0x7fb29c658540)
+ QFrame (0x7fb29c658620) 0
+ primary-for QAbstractScrollArea (0x7fb29c6585b0)
+ QWidget (0x7fb29c803c00) 0
+ primary-for QFrame (0x7fb29c658620)
+ QObject (0x7fb29c658690) 0
+ primary-for QWidget (0x7fb29c803c00)
+ QPaintDevice (0x7fb29c658700) 16
+ vptr=((& QMdiArea::_ZTV8QMdiArea) + 480u)
+
+Vtable for QMdiSubWindow
+QMdiSubWindow::_ZTV13QMdiSubWindow: 63u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QMdiSubWindow)
+16 QMdiSubWindow::metaObject
+24 QMdiSubWindow::qt_metacast
+32 QMdiSubWindow::qt_metacall
+40 QMdiSubWindow::~QMdiSubWindow
+48 QMdiSubWindow::~QMdiSubWindow
+56 QMdiSubWindow::event
+64 QMdiSubWindow::eventFilter
+72 QMdiSubWindow::timerEvent
+80 QMdiSubWindow::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QMdiSubWindow::sizeHint
+136 QMdiSubWindow::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QMdiSubWindow::mousePressEvent
+168 QMdiSubWindow::mouseReleaseEvent
+176 QMdiSubWindow::mouseDoubleClickEvent
+184 QMdiSubWindow::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QMdiSubWindow::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QMdiSubWindow::focusInEvent
+224 QMdiSubWindow::focusOutEvent
+232 QWidget::enterEvent
+240 QMdiSubWindow::leaveEvent
+248 QMdiSubWindow::paintEvent
+256 QMdiSubWindow::moveEvent
+264 QMdiSubWindow::resizeEvent
+272 QMdiSubWindow::closeEvent
+280 QMdiSubWindow::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QMdiSubWindow::showEvent
+344 QMdiSubWindow::hideEvent
+352 QWidget::x11Event
+360 QMdiSubWindow::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 (int (*)(...))-0x00000000000000010
+456 (int (*)(...))(& _ZTI13QMdiSubWindow)
+464 QMdiSubWindow::_ZThn16_N13QMdiSubWindowD1Ev
+472 QMdiSubWindow::_ZThn16_N13QMdiSubWindowD0Ev
+480 QWidget::_ZThn16_NK7QWidget7devTypeEv
+488 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+496 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QMdiSubWindow
+ size=40 align=8
+ base size=40 base align=8
+QMdiSubWindow (0x7fb29c6b3a80) 0
+ vptr=((& QMdiSubWindow::_ZTV13QMdiSubWindow) + 16u)
+ QWidget (0x7fb29c664f00) 0
+ primary-for QMdiSubWindow (0x7fb29c6b3a80)
+ QObject (0x7fb29c6b3af0) 0
+ primary-for QWidget (0x7fb29c664f00)
+ QPaintDevice (0x7fb29c6b3b60) 16
+ vptr=((& QMdiSubWindow::_ZTV13QMdiSubWindow) + 464u)
+
+Vtable for QMenu
+QMenu::_ZTV5QMenu: 63u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI5QMenu)
+16 QMenu::metaObject
+24 QMenu::qt_metacast
+32 QMenu::qt_metacall
+40 QMenu::~QMenu
+48 QMenu::~QMenu
+56 QMenu::event
+64 QObject::eventFilter
+72 QMenu::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QMenu::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QMenu::mousePressEvent
+168 QMenu::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QMenu::mouseMoveEvent
+192 QMenu::wheelEvent
+200 QMenu::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QMenu::enterEvent
+240 QMenu::leaveEvent
+248 QMenu::paintEvent
+256 QWidget::moveEvent
+264 QWidget::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QMenu::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QMenu::hideEvent
+352 QWidget::x11Event
+360 QMenu::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QMenu::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 (int (*)(...))-0x00000000000000010
+456 (int (*)(...))(& _ZTI5QMenu)
+464 QMenu::_ZThn16_N5QMenuD1Ev
+472 QMenu::_ZThn16_N5QMenuD0Ev
+480 QWidget::_ZThn16_NK7QWidget7devTypeEv
+488 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+496 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QMenu
+ size=40 align=8
+ base size=40 base align=8
+QMenu (0x7fb29c72d930) 0
+ vptr=((& QMenu::_ZTV5QMenu) + 16u)
+ QWidget (0x7fb29c54f100) 0
+ primary-for QMenu (0x7fb29c72d930)
+ QObject (0x7fb29c72d9a0) 0
+ primary-for QWidget (0x7fb29c54f100)
+ QPaintDevice (0x7fb29c72da10) 16
+ vptr=((& QMenu::_ZTV5QMenu) + 464u)
+
+Vtable for QMenuBar
+QMenuBar::_ZTV8QMenuBar: 63u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI8QMenuBar)
+16 QMenuBar::metaObject
+24 QMenuBar::qt_metacast
+32 QMenuBar::qt_metacall
+40 QMenuBar::~QMenuBar
+48 QMenuBar::~QMenuBar
+56 QMenuBar::event
+64 QMenuBar::eventFilter
+72 QMenuBar::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QMenuBar::setVisible
+128 QMenuBar::sizeHint
+136 QMenuBar::minimumSizeHint
+144 QMenuBar::heightForWidth
+152 QWidget::paintEngine
+160 QMenuBar::mousePressEvent
+168 QMenuBar::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QMenuBar::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QMenuBar::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QMenuBar::focusInEvent
+224 QMenuBar::focusOutEvent
+232 QWidget::enterEvent
+240 QMenuBar::leaveEvent
+248 QMenuBar::paintEvent
+256 QWidget::moveEvent
+264 QMenuBar::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QMenuBar::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QMenuBar::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 (int (*)(...))-0x00000000000000010
+456 (int (*)(...))(& _ZTI8QMenuBar)
+464 QMenuBar::_ZThn16_N8QMenuBarD1Ev
+472 QMenuBar::_ZThn16_N8QMenuBarD0Ev
+480 QWidget::_ZThn16_NK7QWidget7devTypeEv
+488 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+496 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QMenuBar
+ size=40 align=8
+ base size=40 base align=8
+QMenuBar (0x7fb29c5f3770) 0
+ vptr=((& QMenuBar::_ZTV8QMenuBar) + 16u)
+ QWidget (0x7fb29c5f2980) 0
+ primary-for QMenuBar (0x7fb29c5f3770)
+ QObject (0x7fb29c5f37e0) 0
+ primary-for QWidget (0x7fb29c5f2980)
+ QPaintDevice (0x7fb29c5f3850) 16
+ vptr=((& QMenuBar::_ZTV8QMenuBar) + 464u)
+
+Vtable for QMenuItem
+QMenuItem::_ZTV9QMenuItem: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QMenuItem)
+16 QMenuItem::metaObject
+24 QMenuItem::qt_metacast
+32 QMenuItem::qt_metacall
+40 QMenuItem::~QMenuItem
+48 QMenuItem::~QMenuItem
+56 QAction::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QMenuItem
+ size=16 align=8
+ base size=16 base align=8
+QMenuItem (0x7fb29c4964d0) 0
+ vptr=((& QMenuItem::_ZTV9QMenuItem) + 16u)
+ QAction (0x7fb29c496540) 0
+ primary-for QMenuItem (0x7fb29c4964d0)
+ QObject (0x7fb29c4965b0) 0
+ primary-for QAction (0x7fb29c496540)
+
+Class QTextEdit::ExtraSelection
+ size=24 align=8
+ base size=24 base align=8
+QTextEdit::ExtraSelection (0x7fb29c4b5700) 0
+
+Vtable for QTextEdit
+QTextEdit::_ZTV9QTextEdit: 69u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QTextEdit)
+16 QTextEdit::metaObject
+24 QTextEdit::qt_metacast
+32 QTextEdit::qt_metacall
+40 QTextEdit::~QTextEdit
+48 QTextEdit::~QTextEdit
+56 QTextEdit::event
+64 QObject::eventFilter
+72 QTextEdit::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QAbstractScrollArea::sizeHint
+136 QAbstractScrollArea::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QTextEdit::mousePressEvent
+168 QTextEdit::mouseReleaseEvent
+176 QTextEdit::mouseDoubleClickEvent
+184 QTextEdit::mouseMoveEvent
+192 QTextEdit::wheelEvent
+200 QTextEdit::keyPressEvent
+208 QTextEdit::keyReleaseEvent
+216 QTextEdit::focusInEvent
+224 QTextEdit::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QTextEdit::paintEvent
+256 QWidget::moveEvent
+264 QTextEdit::resizeEvent
+272 QWidget::closeEvent
+280 QTextEdit::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QTextEdit::dragEnterEvent
+312 QTextEdit::dragMoveEvent
+320 QTextEdit::dragLeaveEvent
+328 QTextEdit::dropEvent
+336 QTextEdit::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QTextEdit::changeEvent
+368 QWidget::metric
+376 QTextEdit::inputMethodEvent
+384 QTextEdit::inputMethodQuery
+392 QTextEdit::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QAbstractScrollArea::viewportEvent
+456 QTextEdit::scrollContentsBy
+464 QTextEdit::loadResource
+472 QTextEdit::createMimeDataFromSelection
+480 QTextEdit::canInsertFromMimeData
+488 QTextEdit::insertFromMimeData
+496 (int (*)(...))-0x00000000000000010
+504 (int (*)(...))(& _ZTI9QTextEdit)
+512 QTextEdit::_ZThn16_N9QTextEditD1Ev
+520 QTextEdit::_ZThn16_N9QTextEditD0Ev
+528 QWidget::_ZThn16_NK7QWidget7devTypeEv
+536 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+544 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QTextEdit
+ size=40 align=8
+ base size=40 base align=8
+QTextEdit (0x7fb29c4a5770) 0
+ vptr=((& QTextEdit::_ZTV9QTextEdit) + 16u)
+ QAbstractScrollArea (0x7fb29c4a57e0) 0
+ primary-for QTextEdit (0x7fb29c4a5770)
+ QFrame (0x7fb29c4a5850) 0
+ primary-for QAbstractScrollArea (0x7fb29c4a57e0)
+ QWidget (0x7fb29c492b00) 0
+ primary-for QFrame (0x7fb29c4a5850)
+ QObject (0x7fb29c4a58c0) 0
+ primary-for QWidget (0x7fb29c492b00)
+ QPaintDevice (0x7fb29c4a5930) 16
+ vptr=((& QTextEdit::_ZTV9QTextEdit) + 512u)
+
+Vtable for QPlainTextEdit
+QPlainTextEdit::_ZTV14QPlainTextEdit: 69u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QPlainTextEdit)
+16 QPlainTextEdit::metaObject
+24 QPlainTextEdit::qt_metacast
+32 QPlainTextEdit::qt_metacall
+40 QPlainTextEdit::~QPlainTextEdit
+48 QPlainTextEdit::~QPlainTextEdit
+56 QPlainTextEdit::event
+64 QObject::eventFilter
+72 QPlainTextEdit::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QAbstractScrollArea::sizeHint
+136 QAbstractScrollArea::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QPlainTextEdit::mousePressEvent
+168 QPlainTextEdit::mouseReleaseEvent
+176 QPlainTextEdit::mouseDoubleClickEvent
+184 QPlainTextEdit::mouseMoveEvent
+192 QPlainTextEdit::wheelEvent
+200 QPlainTextEdit::keyPressEvent
+208 QPlainTextEdit::keyReleaseEvent
+216 QPlainTextEdit::focusInEvent
+224 QPlainTextEdit::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QPlainTextEdit::paintEvent
+256 QWidget::moveEvent
+264 QPlainTextEdit::resizeEvent
+272 QWidget::closeEvent
+280 QPlainTextEdit::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QPlainTextEdit::dragEnterEvent
+312 QPlainTextEdit::dragMoveEvent
+320 QPlainTextEdit::dragLeaveEvent
+328 QPlainTextEdit::dropEvent
+336 QPlainTextEdit::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QPlainTextEdit::changeEvent
+368 QWidget::metric
+376 QPlainTextEdit::inputMethodEvent
+384 QPlainTextEdit::inputMethodQuery
+392 QPlainTextEdit::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QAbstractScrollArea::viewportEvent
+456 QPlainTextEdit::scrollContentsBy
+464 QPlainTextEdit::loadResource
+472 QPlainTextEdit::createMimeDataFromSelection
+480 QPlainTextEdit::canInsertFromMimeData
+488 QPlainTextEdit::insertFromMimeData
+496 (int (*)(...))-0x00000000000000010
+504 (int (*)(...))(& _ZTI14QPlainTextEdit)
+512 QPlainTextEdit::_ZThn16_N14QPlainTextEditD1Ev
+520 QPlainTextEdit::_ZThn16_N14QPlainTextEditD0Ev
+528 QWidget::_ZThn16_NK7QWidget7devTypeEv
+536 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+544 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QPlainTextEdit
+ size=40 align=8
+ base size=40 base align=8
+QPlainTextEdit (0x7fb29c34b8c0) 0
+ vptr=((& QPlainTextEdit::_ZTV14QPlainTextEdit) + 16u)
+ QAbstractScrollArea (0x7fb29c34b930) 0
+ primary-for QPlainTextEdit (0x7fb29c34b8c0)
+ QFrame (0x7fb29c34b9a0) 0
+ primary-for QAbstractScrollArea (0x7fb29c34b930)
+ QWidget (0x7fb29c34a400) 0
+ primary-for QFrame (0x7fb29c34b9a0)
+ QObject (0x7fb29c34ba10) 0
+ primary-for QWidget (0x7fb29c34a400)
+ QPaintDevice (0x7fb29c34ba80) 16
+ vptr=((& QPlainTextEdit::_ZTV14QPlainTextEdit) + 512u)
+
+Vtable for QPlainTextDocumentLayout
+QPlainTextDocumentLayout::_ZTV24QPlainTextDocumentLayout: 24u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI24QPlainTextDocumentLayout)
+16 QPlainTextDocumentLayout::metaObject
+24 QPlainTextDocumentLayout::qt_metacast
+32 QPlainTextDocumentLayout::qt_metacall
+40 QPlainTextDocumentLayout::~QPlainTextDocumentLayout
+48 QPlainTextDocumentLayout::~QPlainTextDocumentLayout
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QPlainTextDocumentLayout::draw
+120 QPlainTextDocumentLayout::hitTest
+128 QPlainTextDocumentLayout::pageCount
+136 QPlainTextDocumentLayout::documentSize
+144 QPlainTextDocumentLayout::frameBoundingRect
+152 QPlainTextDocumentLayout::blockBoundingRect
+160 QPlainTextDocumentLayout::documentChanged
+168 QAbstractTextDocumentLayout::resizeInlineObject
+176 QAbstractTextDocumentLayout::positionInlineObject
+184 QAbstractTextDocumentLayout::drawInlineObject
+
+Class QPlainTextDocumentLayout
+ size=16 align=8
+ base size=16 base align=8
+QPlainTextDocumentLayout (0x7fb29c3ae690) 0
+ vptr=((& QPlainTextDocumentLayout::_ZTV24QPlainTextDocumentLayout) + 16u)
+ QAbstractTextDocumentLayout (0x7fb29c3ae700) 0
+ primary-for QPlainTextDocumentLayout (0x7fb29c3ae690)
+ QObject (0x7fb29c3ae770) 0
+ primary-for QAbstractTextDocumentLayout (0x7fb29c3ae700)
+
+Vtable for QPrintPreviewWidget
+QPrintPreviewWidget::_ZTV19QPrintPreviewWidget: 63u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QPrintPreviewWidget)
+16 QPrintPreviewWidget::metaObject
+24 QPrintPreviewWidget::qt_metacast
+32 QPrintPreviewWidget::qt_metacall
+40 QPrintPreviewWidget::~QPrintPreviewWidget
+48 QPrintPreviewWidget::~QPrintPreviewWidget
+56 QWidget::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QPrintPreviewWidget::setVisible
+128 QWidget::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QWidget::paintEvent
+256 QWidget::moveEvent
+264 QWidget::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QWidget::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 (int (*)(...))-0x00000000000000010
+456 (int (*)(...))(& _ZTI19QPrintPreviewWidget)
+464 QPrintPreviewWidget::_ZThn16_N19QPrintPreviewWidgetD1Ev
+472 QPrintPreviewWidget::_ZThn16_N19QPrintPreviewWidgetD0Ev
+480 QWidget::_ZThn16_NK7QWidget7devTypeEv
+488 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+496 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QPrintPreviewWidget
+ size=48 align=8
+ base size=48 base align=8
+QPrintPreviewWidget (0x7fb29c3c5b60) 0
+ vptr=((& QPrintPreviewWidget::_ZTV19QPrintPreviewWidget) + 16u)
+ QWidget (0x7fb29c3c0600) 0
+ primary-for QPrintPreviewWidget (0x7fb29c3c5b60)
+ QObject (0x7fb29c3c5bd0) 0
+ primary-for QWidget (0x7fb29c3c0600)
+ QPaintDevice (0x7fb29c3c5c40) 16
+ vptr=((& QPrintPreviewWidget::_ZTV19QPrintPreviewWidget) + 464u)
+
+Vtable for QProgressBar
+QProgressBar::_ZTV12QProgressBar: 64u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QProgressBar)
+16 QProgressBar::metaObject
+24 QProgressBar::qt_metacast
+32 QProgressBar::qt_metacall
+40 QProgressBar::~QProgressBar
+48 QProgressBar::~QProgressBar
+56 QProgressBar::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QProgressBar::sizeHint
+136 QProgressBar::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QProgressBar::paintEvent
+256 QWidget::moveEvent
+264 QWidget::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QWidget::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QProgressBar::text
+456 (int (*)(...))-0x00000000000000010
+464 (int (*)(...))(& _ZTI12QProgressBar)
+472 QProgressBar::_ZThn16_N12QProgressBarD1Ev
+480 QProgressBar::_ZThn16_N12QProgressBarD0Ev
+488 QWidget::_ZThn16_NK7QWidget7devTypeEv
+496 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+504 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QProgressBar
+ size=40 align=8
+ base size=40 base align=8
+QProgressBar (0x7fb29c3e8700) 0
+ vptr=((& QProgressBar::_ZTV12QProgressBar) + 16u)
+ QWidget (0x7fb29c3ea300) 0
+ primary-for QProgressBar (0x7fb29c3e8700)
+ QObject (0x7fb29c3e8770) 0
+ primary-for QWidget (0x7fb29c3ea300)
+ QPaintDevice (0x7fb29c3e87e0) 16
+ vptr=((& QProgressBar::_ZTV12QProgressBar) + 472u)
+
+Vtable for QRadioButton
+QRadioButton::_ZTV12QRadioButton: 66u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QRadioButton)
+16 QRadioButton::metaObject
+24 QRadioButton::qt_metacast
+32 QRadioButton::qt_metacall
+40 QRadioButton::~QRadioButton
+48 QRadioButton::~QRadioButton
+56 QRadioButton::event
+64 QObject::eventFilter
+72 QAbstractButton::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QRadioButton::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QAbstractButton::mousePressEvent
+168 QAbstractButton::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QRadioButton::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QAbstractButton::keyPressEvent
+208 QAbstractButton::keyReleaseEvent
+216 QAbstractButton::focusInEvent
+224 QAbstractButton::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QRadioButton::paintEvent
+256 QWidget::moveEvent
+264 QWidget::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QAbstractButton::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QRadioButton::hitButton
+456 QAbstractButton::checkStateSet
+464 QAbstractButton::nextCheckState
+472 (int (*)(...))-0x00000000000000010
+480 (int (*)(...))(& _ZTI12QRadioButton)
+488 QRadioButton::_ZThn16_N12QRadioButtonD1Ev
+496 QRadioButton::_ZThn16_N12QRadioButtonD0Ev
+504 QWidget::_ZThn16_NK7QWidget7devTypeEv
+512 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+520 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QRadioButton
+ size=40 align=8
+ base size=40 base align=8
+QRadioButton (0x7fb29c40c540) 0
+ vptr=((& QRadioButton::_ZTV12QRadioButton) + 16u)
+ QAbstractButton (0x7fb29c40c5b0) 0
+ primary-for QRadioButton (0x7fb29c40c540)
+ QWidget (0x7fb29c3eae00) 0
+ primary-for QAbstractButton (0x7fb29c40c5b0)
+ QObject (0x7fb29c40c620) 0
+ primary-for QWidget (0x7fb29c3eae00)
+ QPaintDevice (0x7fb29c40c690) 16
+ vptr=((& QRadioButton::_ZTV12QRadioButton) + 488u)
+
+Vtable for QScrollBar
+QScrollBar::_ZTV10QScrollBar: 64u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QScrollBar)
+16 QScrollBar::metaObject
+24 QScrollBar::qt_metacast
+32 QScrollBar::qt_metacall
+40 QScrollBar::~QScrollBar
+48 QScrollBar::~QScrollBar
+56 QScrollBar::event
+64 QObject::eventFilter
+72 QAbstractSlider::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QScrollBar::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QScrollBar::mousePressEvent
+168 QScrollBar::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QScrollBar::mouseMoveEvent
+192 QAbstractSlider::wheelEvent
+200 QAbstractSlider::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QScrollBar::paintEvent
+256 QWidget::moveEvent
+264 QWidget::resizeEvent
+272 QWidget::closeEvent
+280 QScrollBar::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QScrollBar::hideEvent
+352 QWidget::x11Event
+360 QAbstractSlider::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QScrollBar::sliderChange
+456 (int (*)(...))-0x00000000000000010
+464 (int (*)(...))(& _ZTI10QScrollBar)
+472 QScrollBar::_ZThn16_N10QScrollBarD1Ev
+480 QScrollBar::_ZThn16_N10QScrollBarD0Ev
+488 QWidget::_ZThn16_NK7QWidget7devTypeEv
+496 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+504 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QScrollBar
+ size=40 align=8
+ base size=40 base align=8
+QScrollBar (0x7fb29c42f1c0) 0
+ vptr=((& QScrollBar::_ZTV10QScrollBar) + 16u)
+ QAbstractSlider (0x7fb29c42f230) 0
+ primary-for QScrollBar (0x7fb29c42f1c0)
+ QWidget (0x7fb29c423800) 0
+ primary-for QAbstractSlider (0x7fb29c42f230)
+ QObject (0x7fb29c42f2a0) 0
+ primary-for QWidget (0x7fb29c423800)
+ QPaintDevice (0x7fb29c42f310) 16
+ vptr=((& QScrollBar::_ZTV10QScrollBar) + 472u)
+
+Vtable for QSizeGrip
+QSizeGrip::_ZTV9QSizeGrip: 63u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QSizeGrip)
+16 QSizeGrip::metaObject
+24 QSizeGrip::qt_metacast
+32 QSizeGrip::qt_metacall
+40 QSizeGrip::~QSizeGrip
+48 QSizeGrip::~QSizeGrip
+56 QSizeGrip::event
+64 QSizeGrip::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QSizeGrip::setVisible
+128 QSizeGrip::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QSizeGrip::mousePressEvent
+168 QSizeGrip::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QSizeGrip::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QSizeGrip::paintEvent
+256 QSizeGrip::moveEvent
+264 QWidget::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QSizeGrip::showEvent
+344 QSizeGrip::hideEvent
+352 QWidget::x11Event
+360 QWidget::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 (int (*)(...))-0x00000000000000010
+456 (int (*)(...))(& _ZTI9QSizeGrip)
+464 QSizeGrip::_ZThn16_N9QSizeGripD1Ev
+472 QSizeGrip::_ZThn16_N9QSizeGripD0Ev
+480 QWidget::_ZThn16_NK7QWidget7devTypeEv
+488 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+496 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QSizeGrip
+ size=40 align=8
+ base size=40 base align=8
+QSizeGrip (0x7fb29c24c310) 0
+ vptr=((& QSizeGrip::_ZTV9QSizeGrip) + 16u)
+ QWidget (0x7fb29c24a380) 0
+ primary-for QSizeGrip (0x7fb29c24c310)
+ QObject (0x7fb29c24c380) 0
+ primary-for QWidget (0x7fb29c24a380)
+ QPaintDevice (0x7fb29c24c3f0) 16
+ vptr=((& QSizeGrip::_ZTV9QSizeGrip) + 464u)
+
+Vtable for QSpinBox
+QSpinBox::_ZTV8QSpinBox: 70u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI8QSpinBox)
+16 QSpinBox::metaObject
+24 QSpinBox::qt_metacast
+32 QSpinBox::qt_metacall
+40 QSpinBox::~QSpinBox
+48 QSpinBox::~QSpinBox
+56 QSpinBox::event
+64 QObject::eventFilter
+72 QAbstractSpinBox::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QAbstractSpinBox::sizeHint
+136 QAbstractSpinBox::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QAbstractSpinBox::mousePressEvent
+168 QAbstractSpinBox::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QAbstractSpinBox::mouseMoveEvent
+192 QAbstractSpinBox::wheelEvent
+200 QAbstractSpinBox::keyPressEvent
+208 QAbstractSpinBox::keyReleaseEvent
+216 QAbstractSpinBox::focusInEvent
+224 QAbstractSpinBox::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QAbstractSpinBox::paintEvent
+256 QWidget::moveEvent
+264 QAbstractSpinBox::resizeEvent
+272 QAbstractSpinBox::closeEvent
+280 QAbstractSpinBox::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QAbstractSpinBox::showEvent
+344 QAbstractSpinBox::hideEvent
+352 QWidget::x11Event
+360 QAbstractSpinBox::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QAbstractSpinBox::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QSpinBox::validate
+456 QSpinBox::fixup
+464 QAbstractSpinBox::stepBy
+472 QAbstractSpinBox::clear
+480 QAbstractSpinBox::stepEnabled
+488 QSpinBox::valueFromText
+496 QSpinBox::textFromValue
+504 (int (*)(...))-0x00000000000000010
+512 (int (*)(...))(& _ZTI8QSpinBox)
+520 QSpinBox::_ZThn16_N8QSpinBoxD1Ev
+528 QSpinBox::_ZThn16_N8QSpinBoxD0Ev
+536 QWidget::_ZThn16_NK7QWidget7devTypeEv
+544 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+552 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QSpinBox
+ size=40 align=8
+ base size=40 base align=8
+QSpinBox (0x7fb29c263e00) 0
+ vptr=((& QSpinBox::_ZTV8QSpinBox) + 16u)
+ QAbstractSpinBox (0x7fb29c263e70) 0
+ primary-for QSpinBox (0x7fb29c263e00)
+ QWidget (0x7fb29c24ad80) 0
+ primary-for QAbstractSpinBox (0x7fb29c263e70)
+ QObject (0x7fb29c263ee0) 0
+ primary-for QWidget (0x7fb29c24ad80)
+ QPaintDevice (0x7fb29c263f50) 16
+ vptr=((& QSpinBox::_ZTV8QSpinBox) + 520u)
+
+Vtable for QDoubleSpinBox
+QDoubleSpinBox::_ZTV14QDoubleSpinBox: 70u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QDoubleSpinBox)
+16 QDoubleSpinBox::metaObject
+24 QDoubleSpinBox::qt_metacast
+32 QDoubleSpinBox::qt_metacall
+40 QDoubleSpinBox::~QDoubleSpinBox
+48 QDoubleSpinBox::~QDoubleSpinBox
+56 QAbstractSpinBox::event
+64 QObject::eventFilter
+72 QAbstractSpinBox::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QAbstractSpinBox::sizeHint
+136 QAbstractSpinBox::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QAbstractSpinBox::mousePressEvent
+168 QAbstractSpinBox::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QAbstractSpinBox::mouseMoveEvent
+192 QAbstractSpinBox::wheelEvent
+200 QAbstractSpinBox::keyPressEvent
+208 QAbstractSpinBox::keyReleaseEvent
+216 QAbstractSpinBox::focusInEvent
+224 QAbstractSpinBox::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QAbstractSpinBox::paintEvent
+256 QWidget::moveEvent
+264 QAbstractSpinBox::resizeEvent
+272 QAbstractSpinBox::closeEvent
+280 QAbstractSpinBox::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QAbstractSpinBox::showEvent
+344 QAbstractSpinBox::hideEvent
+352 QWidget::x11Event
+360 QAbstractSpinBox::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QAbstractSpinBox::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QDoubleSpinBox::validate
+456 QDoubleSpinBox::fixup
+464 QAbstractSpinBox::stepBy
+472 QAbstractSpinBox::clear
+480 QAbstractSpinBox::stepEnabled
+488 QDoubleSpinBox::valueFromText
+496 QDoubleSpinBox::textFromValue
+504 (int (*)(...))-0x00000000000000010
+512 (int (*)(...))(& _ZTI14QDoubleSpinBox)
+520 QDoubleSpinBox::_ZThn16_N14QDoubleSpinBoxD1Ev
+528 QDoubleSpinBox::_ZThn16_N14QDoubleSpinBoxD0Ev
+536 QWidget::_ZThn16_NK7QWidget7devTypeEv
+544 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+552 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QDoubleSpinBox
+ size=40 align=8
+ base size=40 base align=8
+QDoubleSpinBox (0x7fb29c28f770) 0
+ vptr=((& QDoubleSpinBox::_ZTV14QDoubleSpinBox) + 16u)
+ QAbstractSpinBox (0x7fb29c28f7e0) 0
+ primary-for QDoubleSpinBox (0x7fb29c28f770)
+ QWidget (0x7fb29c282f00) 0
+ primary-for QAbstractSpinBox (0x7fb29c28f7e0)
+ QObject (0x7fb29c28f850) 0
+ primary-for QWidget (0x7fb29c282f00)
+ QPaintDevice (0x7fb29c28f8c0) 16
+ vptr=((& QDoubleSpinBox::_ZTV14QDoubleSpinBox) + 520u)
+
+Vtable for QSplashScreen
+QSplashScreen::_ZTV13QSplashScreen: 64u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QSplashScreen)
+16 QSplashScreen::metaObject
+24 QSplashScreen::qt_metacast
+32 QSplashScreen::qt_metacall
+40 QSplashScreen::~QSplashScreen
+48 QSplashScreen::~QSplashScreen
+56 QSplashScreen::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QWidget::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QSplashScreen::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QWidget::paintEvent
+256 QWidget::moveEvent
+264 QWidget::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QWidget::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QSplashScreen::drawContents
+456 (int (*)(...))-0x00000000000000010
+464 (int (*)(...))(& _ZTI13QSplashScreen)
+472 QSplashScreen::_ZThn16_N13QSplashScreenD1Ev
+480 QSplashScreen::_ZThn16_N13QSplashScreenD0Ev
+488 QWidget::_ZThn16_NK7QWidget7devTypeEv
+496 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+504 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QSplashScreen
+ size=40 align=8
+ base size=40 base align=8
+QSplashScreen (0x7fb29c2ad230) 0
+ vptr=((& QSplashScreen::_ZTV13QSplashScreen) + 16u)
+ QWidget (0x7fb29c291900) 0
+ primary-for QSplashScreen (0x7fb29c2ad230)
+ QObject (0x7fb29c2ad2a0) 0
+ primary-for QWidget (0x7fb29c291900)
+ QPaintDevice (0x7fb29c2ad310) 16
+ vptr=((& QSplashScreen::_ZTV13QSplashScreen) + 472u)
+
+Vtable for QSplitter
+QSplitter::_ZTV9QSplitter: 64u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QSplitter)
+16 QSplitter::metaObject
+24 QSplitter::qt_metacast
+32 QSplitter::qt_metacall
+40 QSplitter::~QSplitter
+48 QSplitter::~QSplitter
+56 QSplitter::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QSplitter::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QSplitter::sizeHint
+136 QSplitter::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QFrame::paintEvent
+256 QWidget::moveEvent
+264 QSplitter::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QSplitter::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QSplitter::createHandle
+456 (int (*)(...))-0x00000000000000010
+464 (int (*)(...))(& _ZTI9QSplitter)
+472 QSplitter::_ZThn16_N9QSplitterD1Ev
+480 QSplitter::_ZThn16_N9QSplitterD0Ev
+488 QWidget::_ZThn16_NK7QWidget7devTypeEv
+496 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+504 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QSplitter
+ size=40 align=8
+ base size=40 base align=8
+QSplitter (0x7fb29c2d1310) 0
+ vptr=((& QSplitter::_ZTV9QSplitter) + 16u)
+ QFrame (0x7fb29c2d1380) 0
+ primary-for QSplitter (0x7fb29c2d1310)
+ QWidget (0x7fb29c2cc580) 0
+ primary-for QFrame (0x7fb29c2d1380)
+ QObject (0x7fb29c2d13f0) 0
+ primary-for QWidget (0x7fb29c2cc580)
+ QPaintDevice (0x7fb29c2d1460) 16
+ vptr=((& QSplitter::_ZTV9QSplitter) + 472u)
+
+Vtable for QSplitterHandle
+QSplitterHandle::_ZTV15QSplitterHandle: 63u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QSplitterHandle)
+16 QSplitterHandle::metaObject
+24 QSplitterHandle::qt_metacast
+32 QSplitterHandle::qt_metacall
+40 QSplitterHandle::~QSplitterHandle
+48 QSplitterHandle::~QSplitterHandle
+56 QSplitterHandle::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QSplitterHandle::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QSplitterHandle::mousePressEvent
+168 QSplitterHandle::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QSplitterHandle::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QSplitterHandle::paintEvent
+256 QWidget::moveEvent
+264 QWidget::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QWidget::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 (int (*)(...))-0x00000000000000010
+456 (int (*)(...))(& _ZTI15QSplitterHandle)
+464 QSplitterHandle::_ZThn16_N15QSplitterHandleD1Ev
+472 QSplitterHandle::_ZThn16_N15QSplitterHandleD0Ev
+480 QWidget::_ZThn16_NK7QWidget7devTypeEv
+488 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+496 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QSplitterHandle
+ size=40 align=8
+ base size=40 base align=8
+QSplitterHandle (0x7fb29c2fd230) 0
+ vptr=((& QSplitterHandle::_ZTV15QSplitterHandle) + 16u)
+ QWidget (0x7fb29c2fa780) 0
+ primary-for QSplitterHandle (0x7fb29c2fd230)
+ QObject (0x7fb29c2fd2a0) 0
+ primary-for QWidget (0x7fb29c2fa780)
+ QPaintDevice (0x7fb29c2fd310) 16
+ vptr=((& QSplitterHandle::_ZTV15QSplitterHandle) + 464u)
+
+Vtable for QStackedWidget
+QStackedWidget::_ZTV14QStackedWidget: 63u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QStackedWidget)
+16 QStackedWidget::metaObject
+24 QStackedWidget::qt_metacast
+32 QStackedWidget::qt_metacall
+40 QStackedWidget::~QStackedWidget
+48 QStackedWidget::~QStackedWidget
+56 QStackedWidget::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QFrame::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QFrame::paintEvent
+256 QWidget::moveEvent
+264 QWidget::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QFrame::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 (int (*)(...))-0x00000000000000010
+456 (int (*)(...))(& _ZTI14QStackedWidget)
+464 QStackedWidget::_ZThn16_N14QStackedWidgetD1Ev
+472 QStackedWidget::_ZThn16_N14QStackedWidgetD0Ev
+480 QWidget::_ZThn16_NK7QWidget7devTypeEv
+488 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+496 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QStackedWidget
+ size=40 align=8
+ base size=40 base align=8
+QStackedWidget (0x7fb29c317a10) 0
+ vptr=((& QStackedWidget::_ZTV14QStackedWidget) + 16u)
+ QFrame (0x7fb29c317a80) 0
+ primary-for QStackedWidget (0x7fb29c317a10)
+ QWidget (0x7fb29c31a180) 0
+ primary-for QFrame (0x7fb29c317a80)
+ QObject (0x7fb29c317af0) 0
+ primary-for QWidget (0x7fb29c31a180)
+ QPaintDevice (0x7fb29c317b60) 16
+ vptr=((& QStackedWidget::_ZTV14QStackedWidget) + 464u)
+
+Vtable for QStatusBar
+QStatusBar::_ZTV10QStatusBar: 63u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QStatusBar)
+16 QStatusBar::metaObject
+24 QStatusBar::qt_metacast
+32 QStatusBar::qt_metacall
+40 QStatusBar::~QStatusBar
+48 QStatusBar::~QStatusBar
+56 QStatusBar::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QWidget::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QStatusBar::paintEvent
+256 QWidget::moveEvent
+264 QStatusBar::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QStatusBar::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QWidget::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 (int (*)(...))-0x00000000000000010
+456 (int (*)(...))(& _ZTI10QStatusBar)
+464 QStatusBar::_ZThn16_N10QStatusBarD1Ev
+472 QStatusBar::_ZThn16_N10QStatusBarD0Ev
+480 QWidget::_ZThn16_NK7QWidget7devTypeEv
+488 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+496 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QStatusBar
+ size=40 align=8
+ base size=40 base align=8
+QStatusBar (0x7fb29c3338c0) 0
+ vptr=((& QStatusBar::_ZTV10QStatusBar) + 16u)
+ QWidget (0x7fb29c31ab80) 0
+ primary-for QStatusBar (0x7fb29c3338c0)
+ QObject (0x7fb29c333930) 0
+ primary-for QWidget (0x7fb29c31ab80)
+ QPaintDevice (0x7fb29c3339a0) 16
+ vptr=((& QStatusBar::_ZTV10QStatusBar) + 464u)
+
+Vtable for QTextBrowser
+QTextBrowser::_ZTV12QTextBrowser: 74u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QTextBrowser)
+16 QTextBrowser::metaObject
+24 QTextBrowser::qt_metacast
+32 QTextBrowser::qt_metacall
+40 QTextBrowser::~QTextBrowser
+48 QTextBrowser::~QTextBrowser
+56 QTextBrowser::event
+64 QObject::eventFilter
+72 QTextEdit::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QAbstractScrollArea::sizeHint
+136 QAbstractScrollArea::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QTextBrowser::mousePressEvent
+168 QTextBrowser::mouseReleaseEvent
+176 QTextEdit::mouseDoubleClickEvent
+184 QTextBrowser::mouseMoveEvent
+192 QTextEdit::wheelEvent
+200 QTextBrowser::keyPressEvent
+208 QTextEdit::keyReleaseEvent
+216 QTextEdit::focusInEvent
+224 QTextBrowser::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QTextBrowser::paintEvent
+256 QWidget::moveEvent
+264 QTextEdit::resizeEvent
+272 QWidget::closeEvent
+280 QTextEdit::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QTextEdit::dragEnterEvent
+312 QTextEdit::dragMoveEvent
+320 QTextEdit::dragLeaveEvent
+328 QTextEdit::dropEvent
+336 QTextEdit::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QTextEdit::changeEvent
+368 QWidget::metric
+376 QTextEdit::inputMethodEvent
+384 QTextEdit::inputMethodQuery
+392 QTextBrowser::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QAbstractScrollArea::viewportEvent
+456 QTextEdit::scrollContentsBy
+464 QTextBrowser::loadResource
+472 QTextEdit::createMimeDataFromSelection
+480 QTextEdit::canInsertFromMimeData
+488 QTextEdit::insertFromMimeData
+496 QTextBrowser::setSource
+504 QTextBrowser::backward
+512 QTextBrowser::forward
+520 QTextBrowser::home
+528 QTextBrowser::reload
+536 (int (*)(...))-0x00000000000000010
+544 (int (*)(...))(& _ZTI12QTextBrowser)
+552 QTextBrowser::_ZThn16_N12QTextBrowserD1Ev
+560 QTextBrowser::_ZThn16_N12QTextBrowserD0Ev
+568 QWidget::_ZThn16_NK7QWidget7devTypeEv
+576 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+584 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QTextBrowser
+ size=40 align=8
+ base size=40 base align=8
+QTextBrowser (0x7fb29c155e00) 0
+ vptr=((& QTextBrowser::_ZTV12QTextBrowser) + 16u)
+ QTextEdit (0x7fb29c155e70) 0
+ primary-for QTextBrowser (0x7fb29c155e00)
+ QAbstractScrollArea (0x7fb29c155ee0) 0
+ primary-for QTextEdit (0x7fb29c155e70)
+ QFrame (0x7fb29c155f50) 0
+ primary-for QAbstractScrollArea (0x7fb29c155ee0)
+ QWidget (0x7fb29c150b80) 0
+ primary-for QFrame (0x7fb29c155f50)
+ QObject (0x7fb29c15b000) 0
+ primary-for QWidget (0x7fb29c150b80)
+ QPaintDevice (0x7fb29c15b070) 16
+ vptr=((& QTextBrowser::_ZTV12QTextBrowser) + 552u)
+
+Vtable for QToolBar
+QToolBar::_ZTV8QToolBar: 63u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI8QToolBar)
+16 QToolBar::metaObject
+24 QToolBar::qt_metacast
+32 QToolBar::qt_metacall
+40 QToolBar::~QToolBar
+48 QToolBar::~QToolBar
+56 QToolBar::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QToolBar::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QWidget::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QToolBar::paintEvent
+256 QWidget::moveEvent
+264 QToolBar::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QToolBar::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QToolBar::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 (int (*)(...))-0x00000000000000010
+456 (int (*)(...))(& _ZTI8QToolBar)
+464 QToolBar::_ZThn16_N8QToolBarD1Ev
+472 QToolBar::_ZThn16_N8QToolBarD0Ev
+480 QWidget::_ZThn16_NK7QWidget7devTypeEv
+488 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+496 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QToolBar
+ size=40 align=8
+ base size=40 base align=8
+QToolBar (0x7fb29c17aa10) 0
+ vptr=((& QToolBar::_ZTV8QToolBar) + 16u)
+ QWidget (0x7fb29c177580) 0
+ primary-for QToolBar (0x7fb29c17aa10)
+ QObject (0x7fb29c17aa80) 0
+ primary-for QWidget (0x7fb29c177580)
+ QPaintDevice (0x7fb29c17aaf0) 16
+ vptr=((& QToolBar::_ZTV8QToolBar) + 464u)
+
+Vtable for QToolBox
+QToolBox::_ZTV8QToolBox: 65u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI8QToolBox)
+16 QToolBox::metaObject
+24 QToolBox::qt_metacast
+32 QToolBox::qt_metacall
+40 QToolBox::~QToolBox
+48 QToolBox::~QToolBox
+56 QToolBox::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QFrame::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QFrame::paintEvent
+256 QWidget::moveEvent
+264 QWidget::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QToolBox::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QToolBox::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QToolBox::itemInserted
+456 QToolBox::itemRemoved
+464 (int (*)(...))-0x00000000000000010
+472 (int (*)(...))(& _ZTI8QToolBox)
+480 QToolBox::_ZThn16_N8QToolBoxD1Ev
+488 QToolBox::_ZThn16_N8QToolBoxD0Ev
+496 QWidget::_ZThn16_NK7QWidget7devTypeEv
+504 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+512 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QToolBox
+ size=40 align=8
+ base size=40 base align=8
+QToolBox (0x7fb29c1b5850) 0
+ vptr=((& QToolBox::_ZTV8QToolBox) + 16u)
+ QFrame (0x7fb29c1b58c0) 0
+ primary-for QToolBox (0x7fb29c1b5850)
+ QWidget (0x7fb29c1b3680) 0
+ primary-for QFrame (0x7fb29c1b58c0)
+ QObject (0x7fb29c1b5930) 0
+ primary-for QWidget (0x7fb29c1b3680)
+ QPaintDevice (0x7fb29c1b59a0) 16
+ vptr=((& QToolBox::_ZTV8QToolBox) + 480u)
+
+Vtable for QToolButton
+QToolButton::_ZTV11QToolButton: 66u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QToolButton)
+16 QToolButton::metaObject
+24 QToolButton::qt_metacast
+32 QToolButton::qt_metacall
+40 QToolButton::~QToolButton
+48 QToolButton::~QToolButton
+56 QToolButton::event
+64 QObject::eventFilter
+72 QToolButton::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QToolButton::sizeHint
+136 QToolButton::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QToolButton::mousePressEvent
+168 QToolButton::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QAbstractButton::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QAbstractButton::keyPressEvent
+208 QAbstractButton::keyReleaseEvent
+216 QAbstractButton::focusInEvent
+224 QAbstractButton::focusOutEvent
+232 QToolButton::enterEvent
+240 QToolButton::leaveEvent
+248 QToolButton::paintEvent
+256 QWidget::moveEvent
+264 QWidget::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QToolButton::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QToolButton::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QToolButton::hitButton
+456 QAbstractButton::checkStateSet
+464 QToolButton::nextCheckState
+472 (int (*)(...))-0x00000000000000010
+480 (int (*)(...))(& _ZTI11QToolButton)
+488 QToolButton::_ZThn16_N11QToolButtonD1Ev
+496 QToolButton::_ZThn16_N11QToolButtonD0Ev
+504 QWidget::_ZThn16_NK7QWidget7devTypeEv
+512 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+520 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QToolButton
+ size=40 align=8
+ base size=40 base align=8
+QToolButton (0x7fb29c1ee310) 0
+ vptr=((& QToolButton::_ZTV11QToolButton) + 16u)
+ QAbstractButton (0x7fb29c1ee380) 0
+ primary-for QToolButton (0x7fb29c1ee310)
+ QWidget (0x7fb29c1eb400) 0
+ primary-for QAbstractButton (0x7fb29c1ee380)
+ QObject (0x7fb29c1ee3f0) 0
+ primary-for QWidget (0x7fb29c1eb400)
+ QPaintDevice (0x7fb29c1ee460) 16
+ vptr=((& QToolButton::_ZTV11QToolButton) + 488u)
+
+Vtable for QWorkspace
+QWorkspace::_ZTV10QWorkspace: 63u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QWorkspace)
+16 QWorkspace::metaObject
+24 QWorkspace::qt_metacast
+32 QWorkspace::qt_metacall
+40 QWorkspace::~QWorkspace
+48 QWorkspace::~QWorkspace
+56 QWorkspace::event
+64 QWorkspace::eventFilter
+72 QObject::timerEvent
+80 QWorkspace::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QWorkspace::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWorkspace::wheelEvent
+200 QWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QWorkspace::paintEvent
+256 QWidget::moveEvent
+264 QWorkspace::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWorkspace::showEvent
+344 QWorkspace::hideEvent
+352 QWidget::x11Event
+360 QWorkspace::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 (int (*)(...))-0x00000000000000010
+456 (int (*)(...))(& _ZTI10QWorkspace)
+464 QWorkspace::_ZThn16_N10QWorkspaceD1Ev
+472 QWorkspace::_ZThn16_N10QWorkspaceD0Ev
+480 QWidget::_ZThn16_NK7QWidget7devTypeEv
+488 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+496 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QWorkspace
+ size=40 align=8
+ base size=40 base align=8
+QWorkspace (0x7fb29c234620) 0
+ vptr=((& QWorkspace::_ZTV10QWorkspace) + 16u)
+ QWidget (0x7fb29c038100) 0
+ primary-for QWorkspace (0x7fb29c234620)
+ QObject (0x7fb29c234690) 0
+ primary-for QWidget (0x7fb29c038100)
+ QPaintDevice (0x7fb29c234700) 16
+ vptr=((& QWorkspace::_ZTV10QWorkspace) + 464u)
+
+Vtable for QGraphicsSvgItem
+QGraphicsSvgItem::_ZTV16QGraphicsSvgItem: 56u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QGraphicsSvgItem)
+16 QGraphicsSvgItem::metaObject
+24 QGraphicsSvgItem::qt_metacast
+32 QGraphicsSvgItem::qt_metacall
+40 QGraphicsSvgItem::~QGraphicsSvgItem
+48 QGraphicsSvgItem::~QGraphicsSvgItem
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QGraphicsSvgItem::boundingRect
+120 QGraphicsSvgItem::paint
+128 QGraphicsSvgItem::type
+136 (int (*)(...))-0x00000000000000010
+144 (int (*)(...))(& _ZTI16QGraphicsSvgItem)
+152 QGraphicsSvgItem::_ZThn16_N16QGraphicsSvgItemD1Ev
+160 QGraphicsSvgItem::_ZThn16_N16QGraphicsSvgItemD0Ev
+168 QGraphicsItem::advance
+176 QGraphicsSvgItem::_ZThn16_NK16QGraphicsSvgItem12boundingRectEv
+184 QGraphicsItem::shape
+192 QGraphicsItem::contains
+200 QGraphicsItem::collidesWithItem
+208 QGraphicsItem::collidesWithPath
+216 QGraphicsItem::isObscuredBy
+224 QGraphicsItem::opaqueArea
+232 QGraphicsSvgItem::_ZThn16_N16QGraphicsSvgItem5paintEP8QPainterPK24QStyleOptionGraphicsItemP7QWidget
+240 QGraphicsSvgItem::_ZThn16_NK16QGraphicsSvgItem4typeEv
+248 QGraphicsItem::sceneEventFilter
+256 QGraphicsItem::sceneEvent
+264 QGraphicsItem::contextMenuEvent
+272 QGraphicsItem::dragEnterEvent
+280 QGraphicsItem::dragLeaveEvent
+288 QGraphicsItem::dragMoveEvent
+296 QGraphicsItem::dropEvent
+304 QGraphicsItem::focusInEvent
+312 QGraphicsItem::focusOutEvent
+320 QGraphicsItem::hoverEnterEvent
+328 QGraphicsItem::hoverMoveEvent
+336 QGraphicsItem::hoverLeaveEvent
+344 QGraphicsItem::keyPressEvent
+352 QGraphicsItem::keyReleaseEvent
+360 QGraphicsItem::mousePressEvent
+368 QGraphicsItem::mouseMoveEvent
+376 QGraphicsItem::mouseReleaseEvent
+384 QGraphicsItem::mouseDoubleClickEvent
+392 QGraphicsItem::wheelEvent
+400 QGraphicsItem::inputMethodEvent
+408 QGraphicsItem::inputMethodQuery
+416 QGraphicsItem::itemChange
+424 QGraphicsItem::supportsExtension
+432 QGraphicsItem::setExtension
+440 QGraphicsItem::extension
+
+Class QGraphicsSvgItem
+ size=32 align=8
+ base size=32 base align=8
+QGraphicsSvgItem (0x7fb29c056700) 0
+ vptr=((& QGraphicsSvgItem::_ZTV16QGraphicsSvgItem) + 16u)
+ QGraphicsObject (0x7fb29c038c00) 0
+ primary-for QGraphicsSvgItem (0x7fb29c056700)
+ QObject (0x7fb29c056770) 0
+ primary-for QGraphicsObject (0x7fb29c038c00)
+ QGraphicsItem (0x7fb29c0567e0) 16
+ vptr=((& QGraphicsSvgItem::_ZTV16QGraphicsSvgItem) + 152u)
+
+Vtable for QSvgGenerator
+QSvgGenerator::_ZTV13QSvgGenerator: 7u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QSvgGenerator)
+16 QSvgGenerator::~QSvgGenerator
+24 QSvgGenerator::~QSvgGenerator
+32 QPaintDevice::devType
+40 QSvgGenerator::paintEngine
+48 QSvgGenerator::metric
+
+Class QSvgGenerator
+ size=24 align=8
+ base size=24 base align=8
+QSvgGenerator (0x7fb29c079380) 0
+ vptr=((& QSvgGenerator::_ZTV13QSvgGenerator) + 16u)
+ QPaintDevice (0x7fb29c0793f0) 0
+ primary-for QSvgGenerator (0x7fb29c079380)
+
+Vtable for QSvgRenderer
+QSvgRenderer::_ZTV12QSvgRenderer: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QSvgRenderer)
+16 QSvgRenderer::metaObject
+24 QSvgRenderer::qt_metacast
+32 QSvgRenderer::qt_metacall
+40 QSvgRenderer::~QSvgRenderer
+48 QSvgRenderer::~QSvgRenderer
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QSvgRenderer
+ size=16 align=8
+ base size=16 base align=8
+QSvgRenderer (0x7fb29c079d90) 0
+ vptr=((& QSvgRenderer::_ZTV12QSvgRenderer) + 16u)
+ QObject (0x7fb29c079e00) 0
+ primary-for QSvgRenderer (0x7fb29c079d90)
+
+Vtable for QSvgWidget
+QSvgWidget::_ZTV10QSvgWidget: 63u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QSvgWidget)
+16 QSvgWidget::metaObject
+24 QSvgWidget::qt_metacast
+32 QSvgWidget::qt_metacall
+40 QSvgWidget::~QSvgWidget
+48 QSvgWidget::~QSvgWidget
+56 QWidget::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QSvgWidget::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QSvgWidget::paintEvent
+256 QWidget::moveEvent
+264 QWidget::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QWidget::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 (int (*)(...))-0x00000000000000010
+456 (int (*)(...))(& _ZTI10QSvgWidget)
+464 QSvgWidget::_ZThn16_N10QSvgWidgetD1Ev
+472 QSvgWidget::_ZThn16_N10QSvgWidgetD0Ev
+480 QWidget::_ZThn16_NK7QWidget7devTypeEv
+488 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+496 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QSvgWidget
+ size=40 align=8
+ base size=40 base align=8
+QSvgWidget (0x7fb29c0a9460) 0
+ vptr=((& QSvgWidget::_ZTV10QSvgWidget) + 16u)
+ QWidget (0x7fb29c0a4480) 0
+ primary-for QSvgWidget (0x7fb29c0a9460)
+ QObject (0x7fb29c0a94d0) 0
+ primary-for QWidget (0x7fb29c0a4480)
+ QPaintDevice (0x7fb29c0a9540) 16
+ vptr=((& QSvgWidget::_ZTV10QSvgWidget) + 464u)
+
diff --git a/tests/auto/bic/data/QtTest.4.5.0.linux-gcc-amd64.txt b/tests/auto/bic/data/QtTest.4.5.0.linux-gcc-amd64.txt
new file mode 100644
index 0000000000..43c65197e8
--- /dev/null
+++ b/tests/auto/bic/data/QtTest.4.5.0.linux-gcc-amd64.txt
@@ -0,0 +1,2404 @@
+Class QSysInfo
+ size=1 align=1
+ base size=0 base align=1
+QSysInfo (0x7fa41aaa6540) 0 empty
+
+Class QBool
+ size=1 align=1
+ base size=1 base align=1
+QBool (0x7fa41aabb230) 0
+
+Class qIsNull(double)::U
+ size=8 align=8
+ base size=8 base align=8
+qIsNull(double)::U (0x7fa41aad0620) 0
+
+Class qIsNull(float)::U
+ size=4 align=4
+ base size=4 base align=4
+qIsNull(float)::U (0x7fa41aad08c0) 0
+
+Class QFlag
+ size=4 align=4
+ base size=4 base align=4
+QFlag (0x7fa41ab07700) 0
+
+Class QIncompatibleFlag
+ size=4 align=4
+ base size=4 base align=4
+QIncompatibleFlag (0x7fa41ab07ee0) 0
+
+Class QInternal
+ size=1 align=1
+ base size=0 base align=1
+QInternal (0x7fa41a105620) 0 empty
+
+Class QGenericArgument
+ size=16 align=8
+ base size=16 base align=8
+QGenericArgument (0x7fa41a105930) 0
+
+Class QGenericReturnArgument
+ size=16 align=8
+ base size=16 base align=8
+QGenericReturnArgument (0x7fa41a1214d0) 0
+ QGenericArgument (0x7fa41a121540) 0
+
+Class QMetaObject
+ size=32 align=8
+ base size=32 base align=8
+QMetaObject (0x7fa41a121d90) 0
+
+Class QMetaObjectExtraData
+ size=16 align=8
+ base size=16 base align=8
+QMetaObjectExtraData (0x7fa41a147d90) 0
+
+Class QLatin1Char
+ size=1 align=1
+ base size=1 base align=1
+QLatin1Char (0x7fa41a1527e0) 0
+
+Class QChar
+ size=2 align=2
+ base size=2 base align=2
+QChar (0x7fa41a157380) 0
+
+Class QBasicAtomicInt
+ size=4 align=4
+ base size=4 base align=4
+QBasicAtomicInt (0x7fa419fc1460) 0
+
+Class QAtomicInt
+ size=4 align=4
+ base size=4 base align=4
+QAtomicInt (0x7fa419ffae00) 0
+ QBasicAtomicInt (0x7fa419ffae70) 0
+
+Class __locale_struct
+ size=232 align=8
+ base size=232 base align=8
+__locale_struct (0x7fa41a0212a0) 0
+
+Class QByteArray::Data
+ size=32 align=8
+ base size=32 base align=8
+QByteArray::Data (0x7fa419e9d8c0) 0
+
+Class QByteArray
+ size=8 align=8
+ base size=8 base align=8
+QByteArray (0x7fa41a059620) 0
+
+Class QByteRef
+ size=16 align=8
+ base size=12 base align=8
+QByteRef (0x7fa419ef2b60) 0
+
+Class QString::Null
+ size=1 align=1
+ base size=0 base align=1
+QString::Null (0x7fa419dfb7e0) 0 empty
+
+Class QString::Data
+ size=32 align=8
+ base size=32 base align=8
+QString::Data (0x7fa419e14000) 0
+
+Class QString
+ size=8 align=8
+ base size=8 base align=8
+QString (0x7fa419d78690) 0
+
+Class QLatin1String
+ size=8 align=8
+ base size=8 base align=8
+QLatin1String (0x7fa419ce50e0) 0
+
+Class QCharRef
+ size=16 align=8
+ base size=12 base align=8
+QCharRef (0x7fa419b7a700) 0
+
+Class QConstString
+ size=8 align=8
+ base size=8 base align=8
+QConstString (0x7fa419acf000) 0
+ QString (0x7fa419acf070) 0
+
+Class QStringRef
+ size=16 align=8
+ base size=16 base align=8
+QStringRef (0x7fa419ae5cb0) 0
+
+Vtable for std::exception
+std::exception::_ZTVSt9exception: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt9exception)
+16 std::exception::~exception
+24 std::exception::~exception
+32 std::exception::what
+
+Class std::exception
+ size=8 align=8
+ base size=8 base align=8
+std::exception (0x7fa41999f7e0) 0 nearly-empty
+ vptr=((& std::exception::_ZTVSt9exception) + 16u)
+
+Vtable for std::bad_exception
+std::bad_exception::_ZTVSt13bad_exception: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt13bad_exception)
+16 std::bad_exception::~bad_exception
+24 std::bad_exception::~bad_exception
+32 std::bad_exception::what
+
+Class std::bad_exception
+ size=8 align=8
+ base size=8 base align=8
+std::bad_exception (0x7fa4199c20e0) 0 nearly-empty
+ vptr=((& std::bad_exception::_ZTVSt13bad_exception) + 16u)
+ std::exception (0x7fa4199c2150) 0 nearly-empty
+ primary-for std::bad_exception (0x7fa4199c20e0)
+
+Vtable for std::bad_alloc
+std::bad_alloc::_ZTVSt9bad_alloc: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt9bad_alloc)
+16 std::bad_alloc::~bad_alloc
+24 std::bad_alloc::~bad_alloc
+32 std::bad_alloc::what
+
+Class std::bad_alloc
+ size=8 align=8
+ base size=8 base align=8
+std::bad_alloc (0x7fa4199c29a0) 0 nearly-empty
+ vptr=((& std::bad_alloc::_ZTVSt9bad_alloc) + 16u)
+ std::exception (0x7fa4199c2a10) 0 nearly-empty
+ primary-for std::bad_alloc (0x7fa4199c29a0)
+
+Class std::nothrow_t
+ size=1 align=1
+ base size=0 base align=1
+std::nothrow_t (0x7fa4199d51c0) 0 empty
+
+Class QListData::Data
+ size=32 align=8
+ base size=32 base align=8
+QListData::Data (0x7fa4199d5700) 0
+
+Class QListData
+ size=8 align=8
+ base size=8 base align=8
+QListData (0x7fa4199d5690) 0
+
+Vtable for QObjectData
+QObjectData::_ZTV11QObjectData: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QObjectData)
+16 __cxa_pure_virtual
+24 __cxa_pure_virtual
+
+Class QObjectData
+ size=40 align=8
+ base size=40 base align=8
+QObjectData (0x7fa4198d7cb0) 0
+ vptr=((& QObjectData::_ZTV11QObjectData) + 16u)
+
+Vtable for QObject
+QObject::_ZTV7QObject: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QObject)
+16 QObject::metaObject
+24 QObject::qt_metacast
+32 QObject::qt_metacall
+40 QObject::~QObject
+48 QObject::~QObject
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QObject
+ size=16 align=8
+ base size=16 base align=8
+QObject (0x7fa4198d7f50) 0
+ vptr=((& QObject::_ZTV7QObject) + 16u)
+
+Vtable for QObjectUserData
+QObjectUserData::_ZTV15QObjectUserData: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QObjectUserData)
+16 QObjectUserData::~QObjectUserData
+24 QObjectUserData::~QObjectUserData
+
+Class QObjectUserData
+ size=8 align=8
+ base size=8 base align=8
+QObjectUserData (0x7fa4197594d0) 0 nearly-empty
+ vptr=((& QObjectUserData::_ZTV15QObjectUserData) + 16u)
+
+Vtable for QIODevice
+QIODevice::_ZTV9QIODevice: 30u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QIODevice)
+16 QIODevice::metaObject
+24 QIODevice::qt_metacast
+32 QIODevice::qt_metacall
+40 QIODevice::~QIODevice
+48 QIODevice::~QIODevice
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QIODevice::isSequential
+120 QIODevice::open
+128 QIODevice::close
+136 QIODevice::pos
+144 QIODevice::size
+152 QIODevice::seek
+160 QIODevice::atEnd
+168 QIODevice::reset
+176 QIODevice::bytesAvailable
+184 QIODevice::bytesToWrite
+192 QIODevice::canReadLine
+200 QIODevice::waitForReadyRead
+208 QIODevice::waitForBytesWritten
+216 __cxa_pure_virtual
+224 QIODevice::readLineData
+232 __cxa_pure_virtual
+
+Class QIODevice
+ size=16 align=8
+ base size=16 base align=8
+QIODevice (0x7fa419759a10) 0
+ vptr=((& QIODevice::_ZTV9QIODevice) + 16u)
+ QObject (0x7fa419759a80) 0
+ primary-for QIODevice (0x7fa419759a10)
+
+Vtable for QDataStream
+QDataStream::_ZTV11QDataStream: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QDataStream)
+16 QDataStream::~QDataStream
+24 QDataStream::~QDataStream
+
+Class QDataStream
+ size=40 align=8
+ base size=40 base align=8
+QDataStream (0x7fa4197cc380) 0
+ vptr=((& QDataStream::_ZTV11QDataStream) + 16u)
+
+Class QHashData::Node
+ size=16 align=8
+ base size=16 base align=8
+QHashData::Node (0x7fa419655230) 0
+
+Class QHashData
+ size=40 align=8
+ base size=40 base align=8
+QHashData (0x7fa4196551c0) 0
+
+Class QHashDummyValue
+ size=1 align=1
+ base size=0 base align=1
+QHashDummyValue (0x7fa419669000) 0 empty
+
+Class QMapData::Node
+ size=16 align=8
+ base size=16 base align=8
+QMapData::Node (0x7fa419577770) 0
+
+Class QMapData
+ size=128 align=8
+ base size=128 base align=8
+QMapData (0x7fa419577700) 0
+
+Vtable for QSystemLocale
+QSystemLocale::_ZTV13QSystemLocale: 6u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QSystemLocale)
+16 QSystemLocale::~QSystemLocale
+24 QSystemLocale::~QSystemLocale
+32 QSystemLocale::query
+40 QSystemLocale::fallbackLocale
+
+Class QSystemLocale
+ size=8 align=8
+ base size=8 base align=8
+QSystemLocale (0x7fa41948aee0) 0 nearly-empty
+ vptr=((& QSystemLocale::_ZTV13QSystemLocale) + 16u)
+
+Class QLocale::Data
+ size=4 align=2
+ base size=4 base align=2
+QLocale::Data (0x7fa4194eb4d0) 0
+
+Class QLocale
+ size=8 align=8
+ base size=8 base align=8
+QLocale (0x7fa4194a91c0) 0
+
+Class QTextCodec::ConverterState
+ size=32 align=8
+ base size=32 base align=8
+QTextCodec::ConverterState (0x7fa419539f50) 0
+
+Vtable for QTextCodec
+QTextCodec::_ZTV10QTextCodec: 9u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QTextCodec)
+16 __cxa_pure_virtual
+24 QTextCodec::aliases
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+48 __cxa_pure_virtual
+56 QTextCodec::~QTextCodec
+64 QTextCodec::~QTextCodec
+
+Class QTextCodec
+ size=8 align=8
+ base size=8 base align=8
+QTextCodec (0x7fa419521b60) 0 nearly-empty
+ vptr=((& QTextCodec::_ZTV10QTextCodec) + 16u)
+
+Class QTextEncoder
+ size=40 align=8
+ base size=40 base align=8
+QTextEncoder (0x7fa4193a54d0) 0
+
+Class QTextDecoder
+ size=40 align=8
+ base size=40 base align=8
+QTextDecoder (0x7fa4193ad310) 0
+
+Class _IO_marker
+ size=24 align=8
+ base size=24 base align=8
+_IO_marker (0x7fa4193b5380) 0
+
+Class _IO_FILE
+ size=216 align=8
+ base size=216 base align=8
+_IO_FILE (0x7fa4193b53f0) 0
+
+Vtable for QTextStream
+QTextStream::_ZTV11QTextStream: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QTextStream)
+16 QTextStream::~QTextStream
+24 QTextStream::~QTextStream
+
+Class QTextStream
+ size=16 align=8
+ base size=16 base align=8
+QTextStream (0x7fa4193b54d0) 0
+ vptr=((& QTextStream::_ZTV11QTextStream) + 16u)
+
+Class QTextStreamManipulator
+ size=40 align=8
+ base size=38 base align=8
+QTextStreamManipulator (0x7fa41925a000) 0
+
+Vtable for QTextIStream
+QTextIStream::_ZTV12QTextIStream: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QTextIStream)
+16 QTextIStream::~QTextIStream
+24 QTextIStream::~QTextIStream
+
+Class QTextIStream
+ size=16 align=8
+ base size=16 base align=8
+QTextIStream (0x7fa41927b2a0) 0
+ vptr=((& QTextIStream::_ZTV12QTextIStream) + 16u)
+ QTextStream (0x7fa41927b310) 0
+ primary-for QTextIStream (0x7fa41927b2a0)
+
+Vtable for QTextOStream
+QTextOStream::_ZTV12QTextOStream: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QTextOStream)
+16 QTextOStream::~QTextOStream
+24 QTextOStream::~QTextOStream
+
+Class QTextOStream
+ size=16 align=8
+ base size=16 base align=8
+QTextOStream (0x7fa41928e150) 0
+ vptr=((& QTextOStream::_ZTV12QTextOStream) + 16u)
+ QTextStream (0x7fa41928e1c0) 0
+ primary-for QTextOStream (0x7fa41928e150)
+
+Class wait
+ size=4 align=4
+ base size=4 base align=4
+wait (0x7fa4192a5000) 0
+
+Class timespec
+ size=16 align=8
+ base size=16 base align=8
+timespec (0x7fa4192a5310) 0
+
+Class timeval
+ size=16 align=8
+ base size=16 base align=8
+timeval (0x7fa4192a5380) 0
+
+Class __pthread_internal_list
+ size=16 align=8
+ base size=16 base align=8
+__pthread_internal_list (0x7fa4192a54d0) 0
+
+Class random_data
+ size=48 align=8
+ base size=48 base align=8
+random_data (0x7fa4192a5a80) 0
+
+Class drand48_data
+ size=24 align=8
+ base size=24 base align=8
+drand48_data (0x7fa4192a5af0) 0
+
+Class QVectorData
+ size=16 align=4
+ base size=16 base align=4
+QVectorData (0x7fa4192a5b60) 0
+
+Class QDebug::Stream
+ size=40 align=8
+ base size=34 base align=8
+QDebug::Stream (0x7fa419223310) 0
+
+Class QDebug
+ size=8 align=8
+ base size=8 base align=8
+QDebug (0x7fa4192232a0) 0
+
+Class QNoDebug
+ size=1 align=1
+ base size=0 base align=1
+QNoDebug (0x7fa4190c2150) 0 empty
+
+Vtable for QFile
+QFile::_ZTV5QFile: 31u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI5QFile)
+16 QFile::metaObject
+24 QFile::qt_metacast
+32 QFile::qt_metacall
+40 QFile::~QFile
+48 QFile::~QFile
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QFile::isSequential
+120 QFile::open
+128 QFile::close
+136 QFile::pos
+144 QFile::size
+152 QFile::seek
+160 QFile::atEnd
+168 QIODevice::reset
+176 QIODevice::bytesAvailable
+184 QIODevice::bytesToWrite
+192 QIODevice::canReadLine
+200 QIODevice::waitForReadyRead
+208 QIODevice::waitForBytesWritten
+216 QFile::readData
+224 QFile::readLineData
+232 QFile::writeData
+240 QFile::fileEngine
+
+Class QFile
+ size=16 align=8
+ base size=16 base align=8
+QFile (0x7fa4190d3700) 0
+ vptr=((& QFile::_ZTV5QFile) + 16u)
+ QIODevice (0x7fa4190d3770) 0
+ primary-for QFile (0x7fa4190d3700)
+ QObject (0x7fa4190d37e0) 0
+ primary-for QIODevice (0x7fa4190d3770)
+
+Vtable for QTemporaryFile
+QTemporaryFile::_ZTV14QTemporaryFile: 31u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QTemporaryFile)
+16 QTemporaryFile::metaObject
+24 QTemporaryFile::qt_metacast
+32 QTemporaryFile::qt_metacall
+40 QTemporaryFile::~QTemporaryFile
+48 QTemporaryFile::~QTemporaryFile
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QFile::isSequential
+120 QTemporaryFile::open
+128 QFile::close
+136 QFile::pos
+144 QFile::size
+152 QFile::seek
+160 QFile::atEnd
+168 QIODevice::reset
+176 QIODevice::bytesAvailable
+184 QIODevice::bytesToWrite
+192 QIODevice::canReadLine
+200 QIODevice::waitForReadyRead
+208 QIODevice::waitForBytesWritten
+216 QFile::readData
+224 QFile::readLineData
+232 QFile::writeData
+240 QTemporaryFile::fileEngine
+
+Class QTemporaryFile
+ size=16 align=8
+ base size=16 base align=8
+QTemporaryFile (0x7fa41913d930) 0
+ vptr=((& QTemporaryFile::_ZTV14QTemporaryFile) + 16u)
+ QFile (0x7fa41913d9a0) 0
+ primary-for QTemporaryFile (0x7fa41913d930)
+ QIODevice (0x7fa41913da10) 0
+ primary-for QFile (0x7fa41913d9a0)
+ QObject (0x7fa41913da80) 0
+ primary-for QIODevice (0x7fa41913da10)
+
+Class QFileInfo
+ size=8 align=8
+ base size=8 base align=8
+QFileInfo (0x7fa418f68070) 0
+
+Class QRegExp
+ size=8 align=8
+ base size=8 base align=8
+QRegExp (0x7fa418fbc850) 0
+
+Class QStringMatcher
+ size=1048 align=8
+ base size=1048 base align=8
+QStringMatcher (0x7fa419008690) 0
+
+Class QStringList
+ size=8 align=8
+ base size=8 base align=8
+QStringList (0x7fa419019150) 0
+ QList<QString> (0x7fa4190191c0) 0
+
+Class QDir
+ size=8 align=8
+ base size=8 base align=8
+QDir (0x7fa418ea9d90) 0
+
+Class QAbstractFileEngine::ExtensionOption
+ size=1 align=1
+ base size=0 base align=1
+QAbstractFileEngine::ExtensionOption (0x7fa418f43f50) 0 empty
+
+Class QAbstractFileEngine::ExtensionReturn
+ size=1 align=1
+ base size=0 base align=1
+QAbstractFileEngine::ExtensionReturn (0x7fa418d58000) 0 empty
+
+Class QAbstractFileEngine::MapExtensionOption
+ size=24 align=8
+ base size=20 base align=8
+QAbstractFileEngine::MapExtensionOption (0x7fa418d58070) 0
+ QAbstractFileEngine::ExtensionOption (0x7fa418d580e0) 0 empty
+
+Class QAbstractFileEngine::MapExtensionReturn
+ size=8 align=8
+ base size=8 base align=8
+QAbstractFileEngine::MapExtensionReturn (0x7fa418d582a0) 0
+ QAbstractFileEngine::ExtensionReturn (0x7fa418d58310) 0 empty
+
+Class QAbstractFileEngine::UnMapExtensionOption
+ size=8 align=8
+ base size=8 base align=8
+QAbstractFileEngine::UnMapExtensionOption (0x7fa418d58380) 0
+ QAbstractFileEngine::ExtensionOption (0x7fa418d583f0) 0 empty
+
+Vtable for QAbstractFileEngine
+QAbstractFileEngine::_ZTV19QAbstractFileEngine: 36u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QAbstractFileEngine)
+16 QAbstractFileEngine::~QAbstractFileEngine
+24 QAbstractFileEngine::~QAbstractFileEngine
+32 QAbstractFileEngine::open
+40 QAbstractFileEngine::close
+48 QAbstractFileEngine::flush
+56 QAbstractFileEngine::size
+64 QAbstractFileEngine::pos
+72 QAbstractFileEngine::seek
+80 QAbstractFileEngine::isSequential
+88 QAbstractFileEngine::remove
+96 QAbstractFileEngine::copy
+104 QAbstractFileEngine::rename
+112 QAbstractFileEngine::link
+120 QAbstractFileEngine::mkdir
+128 QAbstractFileEngine::rmdir
+136 QAbstractFileEngine::setSize
+144 QAbstractFileEngine::caseSensitive
+152 QAbstractFileEngine::isRelativePath
+160 QAbstractFileEngine::entryList
+168 QAbstractFileEngine::fileFlags
+176 QAbstractFileEngine::setPermissions
+184 QAbstractFileEngine::fileName
+192 QAbstractFileEngine::ownerId
+200 QAbstractFileEngine::owner
+208 QAbstractFileEngine::fileTime
+216 QAbstractFileEngine::setFileName
+224 QAbstractFileEngine::handle
+232 QAbstractFileEngine::beginEntryList
+240 QAbstractFileEngine::endEntryList
+248 QAbstractFileEngine::read
+256 QAbstractFileEngine::readLine
+264 QAbstractFileEngine::write
+272 QAbstractFileEngine::extension
+280 QAbstractFileEngine::supportsExtension
+
+Class QAbstractFileEngine
+ size=16 align=8
+ base size=16 base align=8
+QAbstractFileEngine (0x7fa418f33ee0) 0
+ vptr=((& QAbstractFileEngine::_ZTV19QAbstractFileEngine) + 16u)
+
+Vtable for QAbstractFileEngineHandler
+QAbstractFileEngineHandler::_ZTV26QAbstractFileEngineHandler: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI26QAbstractFileEngineHandler)
+16 QAbstractFileEngineHandler::~QAbstractFileEngineHandler
+24 QAbstractFileEngineHandler::~QAbstractFileEngineHandler
+32 __cxa_pure_virtual
+
+Class QAbstractFileEngineHandler
+ size=8 align=8
+ base size=8 base align=8
+QAbstractFileEngineHandler (0x7fa418d880e0) 0 nearly-empty
+ vptr=((& QAbstractFileEngineHandler::_ZTV26QAbstractFileEngineHandler) + 16u)
+
+Vtable for QAbstractFileEngineIterator
+QAbstractFileEngineIterator::_ZTV27QAbstractFileEngineIterator: 9u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI27QAbstractFileEngineIterator)
+16 QAbstractFileEngineIterator::~QAbstractFileEngineIterator
+24 QAbstractFileEngineIterator::~QAbstractFileEngineIterator
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+48 __cxa_pure_virtual
+56 QAbstractFileEngineIterator::currentFileInfo
+64 QAbstractFileEngineIterator::entryInfo
+
+Class QAbstractFileEngineIterator
+ size=16 align=8
+ base size=16 base align=8
+QAbstractFileEngineIterator (0x7fa418d882a0) 0
+ vptr=((& QAbstractFileEngineIterator::_ZTV27QAbstractFileEngineIterator) + 16u)
+
+Vtable for QFSFileEngine
+QFSFileEngine::_ZTV13QFSFileEngine: 36u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QFSFileEngine)
+16 QFSFileEngine::~QFSFileEngine
+24 QFSFileEngine::~QFSFileEngine
+32 QFSFileEngine::open
+40 QFSFileEngine::close
+48 QFSFileEngine::flush
+56 QFSFileEngine::size
+64 QFSFileEngine::pos
+72 QFSFileEngine::seek
+80 QFSFileEngine::isSequential
+88 QFSFileEngine::remove
+96 QFSFileEngine::copy
+104 QFSFileEngine::rename
+112 QFSFileEngine::link
+120 QFSFileEngine::mkdir
+128 QFSFileEngine::rmdir
+136 QFSFileEngine::setSize
+144 QFSFileEngine::caseSensitive
+152 QFSFileEngine::isRelativePath
+160 QFSFileEngine::entryList
+168 QFSFileEngine::fileFlags
+176 QFSFileEngine::setPermissions
+184 QFSFileEngine::fileName
+192 QFSFileEngine::ownerId
+200 QFSFileEngine::owner
+208 QFSFileEngine::fileTime
+216 QFSFileEngine::setFileName
+224 QFSFileEngine::handle
+232 QFSFileEngine::beginEntryList
+240 QFSFileEngine::endEntryList
+248 QFSFileEngine::read
+256 QFSFileEngine::readLine
+264 QFSFileEngine::write
+272 QFSFileEngine::extension
+280 QFSFileEngine::supportsExtension
+
+Class QFSFileEngine
+ size=16 align=8
+ base size=16 base align=8
+QFSFileEngine (0x7fa418d88af0) 0
+ vptr=((& QFSFileEngine::_ZTV13QFSFileEngine) + 16u)
+ QAbstractFileEngine (0x7fa418d88b60) 0
+ primary-for QFSFileEngine (0x7fa418d88af0)
+
+Vtable for QProcess
+QProcess::_ZTV8QProcess: 31u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI8QProcess)
+16 QProcess::metaObject
+24 QProcess::qt_metacast
+32 QProcess::qt_metacall
+40 QProcess::~QProcess
+48 QProcess::~QProcess
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QProcess::isSequential
+120 QIODevice::open
+128 QProcess::close
+136 QIODevice::pos
+144 QIODevice::size
+152 QIODevice::seek
+160 QProcess::atEnd
+168 QIODevice::reset
+176 QProcess::bytesAvailable
+184 QProcess::bytesToWrite
+192 QProcess::canReadLine
+200 QProcess::waitForReadyRead
+208 QProcess::waitForBytesWritten
+216 QProcess::readData
+224 QIODevice::readLineData
+232 QProcess::writeData
+240 QProcess::setupChildProcess
+
+Class QProcess
+ size=16 align=8
+ base size=16 base align=8
+QProcess (0x7fa418d9de00) 0
+ vptr=((& QProcess::_ZTV8QProcess) + 16u)
+ QIODevice (0x7fa418d9de70) 0
+ primary-for QProcess (0x7fa418d9de00)
+ QObject (0x7fa418d9dee0) 0
+ primary-for QIODevice (0x7fa418d9de70)
+
+Class QResource
+ size=8 align=8
+ base size=8 base align=8
+QResource (0x7fa418ddb310) 0
+
+Vtable for QDirIterator
+QDirIterator::_ZTV12QDirIterator: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QDirIterator)
+16 QDirIterator::~QDirIterator
+24 QDirIterator::~QDirIterator
+
+Class QDirIterator
+ size=16 align=8
+ base size=16 base align=8
+QDirIterator (0x7fa418ddbd90) 0
+ vptr=((& QDirIterator::_ZTV12QDirIterator) + 16u)
+
+Vtable for QBuffer
+QBuffer::_ZTV7QBuffer: 30u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QBuffer)
+16 QBuffer::metaObject
+24 QBuffer::qt_metacast
+32 QBuffer::qt_metacall
+40 QBuffer::~QBuffer
+48 QBuffer::~QBuffer
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QBuffer::connectNotify
+104 QBuffer::disconnectNotify
+112 QIODevice::isSequential
+120 QBuffer::open
+128 QBuffer::close
+136 QBuffer::pos
+144 QBuffer::size
+152 QBuffer::seek
+160 QBuffer::atEnd
+168 QIODevice::reset
+176 QIODevice::bytesAvailable
+184 QIODevice::bytesToWrite
+192 QBuffer::canReadLine
+200 QIODevice::waitForReadyRead
+208 QIODevice::waitForBytesWritten
+216 QBuffer::readData
+224 QIODevice::readLineData
+232 QBuffer::writeData
+
+Class QBuffer
+ size=16 align=8
+ base size=16 base align=8
+QBuffer (0x7fa418e0db60) 0
+ vptr=((& QBuffer::_ZTV7QBuffer) + 16u)
+ QIODevice (0x7fa418e0dbd0) 0
+ primary-for QBuffer (0x7fa418e0db60)
+ QObject (0x7fa418e0dc40) 0
+ primary-for QIODevice (0x7fa418e0dbd0)
+
+Vtable for QFileSystemWatcher
+QFileSystemWatcher::_ZTV18QFileSystemWatcher: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QFileSystemWatcher)
+16 QFileSystemWatcher::metaObject
+24 QFileSystemWatcher::qt_metacast
+32 QFileSystemWatcher::qt_metacall
+40 QFileSystemWatcher::~QFileSystemWatcher
+48 QFileSystemWatcher::~QFileSystemWatcher
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QFileSystemWatcher
+ size=16 align=8
+ base size=16 base align=8
+QFileSystemWatcher (0x7fa418e33770) 0
+ vptr=((& QFileSystemWatcher::_ZTV18QFileSystemWatcher) + 16u)
+ QObject (0x7fa418e337e0) 0
+ primary-for QFileSystemWatcher (0x7fa418e33770)
+
+Class QUrl
+ size=8 align=8
+ base size=8 base align=8
+QUrl (0x7fa418e44cb0) 0
+
+Class QMetaType
+ size=1 align=1
+ base size=0 base align=1
+QMetaType (0x7fa418cb14d0) 0 empty
+
+Class QVariant::PrivateShared
+ size=16 align=8
+ base size=12 base align=8
+QVariant::PrivateShared (0x7fa418b84a10) 0
+
+Class QVariant::Private::Data
+ size=8 align=8
+ base size=8 base align=8
+QVariant::Private::Data (0x7fa418b84d20) 0
+
+Class QVariant::Private
+ size=16 align=8
+ base size=12 base align=8
+QVariant::Private (0x7fa418b84af0) 0
+
+Class QVariant::Handler
+ size=72 align=8
+ base size=72 base align=8
+QVariant::Handler (0x7fa418b91a10) 0
+
+Class QVariant
+ size=16 align=8
+ base size=16 base align=8
+QVariant (0x7fa418b53bd0) 0
+
+Class QVariantComparisonHelper
+ size=8 align=8
+ base size=8 base align=8
+QVariantComparisonHelper (0x7fa418a37d90) 0
+
+Vtable for QSettings
+QSettings::_ZTV9QSettings: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QSettings)
+16 QSettings::metaObject
+24 QSettings::qt_metacast
+32 QSettings::qt_metacall
+40 QSettings::~QSettings
+48 QSettings::~QSettings
+56 QSettings::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QSettings
+ size=16 align=8
+ base size=16 base align=8
+QSettings (0x7fa418a5dd90) 0
+ vptr=((& QSettings::_ZTV9QSettings) + 16u)
+ QObject (0x7fa418a5de00) 0
+ primary-for QSettings (0x7fa418a5dd90)
+
+Class QXmlStreamStringRef
+ size=16 align=8
+ base size=16 base align=8
+QXmlStreamStringRef (0x7fa418add150) 0
+
+Class QXmlStreamAttribute
+ size=80 align=8
+ base size=73 base align=8
+QXmlStreamAttribute (0x7fa418afa9a0) 0
+
+Class QXmlStreamAttributes
+ size=8 align=8
+ base size=8 base align=8
+QXmlStreamAttributes (0x7fa418b24460) 0
+ QVector<QXmlStreamAttribute> (0x7fa418b244d0) 0
+
+Class QXmlStreamNamespaceDeclaration
+ size=40 align=8
+ base size=40 base align=8
+QXmlStreamNamespaceDeclaration (0x7fa418b24930) 0
+
+Class QXmlStreamNotationDeclaration
+ size=56 align=8
+ base size=56 base align=8
+QXmlStreamNotationDeclaration (0x7fa4189642a0) 0
+
+Class QXmlStreamEntityDeclaration
+ size=88 align=8
+ base size=88 base align=8
+QXmlStreamEntityDeclaration (0x7fa418982150) 0
+
+Vtable for QXmlStreamEntityResolver
+QXmlStreamEntityResolver::_ZTV24QXmlStreamEntityResolver: 6u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI24QXmlStreamEntityResolver)
+16 QXmlStreamEntityResolver::~QXmlStreamEntityResolver
+24 QXmlStreamEntityResolver::~QXmlStreamEntityResolver
+32 QXmlStreamEntityResolver::resolveEntity
+40 QXmlStreamEntityResolver::resolveUndeclaredEntity
+
+Class QXmlStreamEntityResolver
+ size=8 align=8
+ base size=8 base align=8
+QXmlStreamEntityResolver (0x7fa41899fa80) 0 nearly-empty
+ vptr=((& QXmlStreamEntityResolver::_ZTV24QXmlStreamEntityResolver) + 16u)
+
+Class QXmlStreamReader
+ size=8 align=8
+ base size=8 base align=8
+QXmlStreamReader (0x7fa41899fc40) 0
+
+Class QXmlStreamWriter
+ size=8 align=8
+ base size=8 base align=8
+QXmlStreamWriter (0x7fa4189dcaf0) 0
+
+Class QPoint
+ size=8 align=4
+ base size=8 base align=4
+QPoint (0x7fa418a14230) 0
+
+Class QPointF
+ size=16 align=8
+ base size=16 base align=8
+QPointF (0x7fa418851e70) 0
+
+Class QLine
+ size=16 align=4
+ base size=16 base align=4
+QLine (0x7fa41888ecb0) 0
+
+Class QLineF
+ size=32 align=8
+ base size=32 base align=8
+QLineF (0x7fa4188c8b60) 0
+
+Class QSize
+ size=8 align=4
+ base size=8 base align=4
+QSize (0x7fa418924620) 0
+
+Class QSizeF
+ size=16 align=8
+ base size=16 base align=8
+QSizeF (0x7fa418770460) 0
+
+Class QRect
+ size=16 align=4
+ base size=16 base align=4
+QRect (0x7fa4187bda80) 0
+
+Class QRectF
+ size=32 align=8
+ base size=32 base align=8
+QRectF (0x7fa41866c460) 0
+
+Class QSharedData
+ size=4 align=4
+ base size=4 base align=4
+QSharedData (0x7fa418718230) 0
+
+Vtable for QtSharedPointer::ExternalRefCountData
+QtSharedPointer::ExternalRefCountData::_ZTVN15QtSharedPointer20ExternalRefCountDataE: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN15QtSharedPointer20ExternalRefCountDataE)
+16 QtSharedPointer::ExternalRefCountData::~ExternalRefCountData
+24 QtSharedPointer::ExternalRefCountData::~ExternalRefCountData
+32 QtSharedPointer::ExternalRefCountData::destroy
+
+Class QtSharedPointer::ExternalRefCountData
+ size=16 align=8
+ base size=16 base align=8
+QtSharedPointer::ExternalRefCountData (0x7fa418546bd0) 0
+ vptr=((& QtSharedPointer::ExternalRefCountData::_ZTVN15QtSharedPointer20ExternalRefCountDataE) + 16u)
+
+Class QLinkedListData
+ size=32 align=8
+ base size=32 base align=8
+QLinkedListData (0x7fa4185ced20) 0
+
+Class QBitArray
+ size=8 align=8
+ base size=8 base align=8
+QBitArray (0x7fa41849bc40) 0
+
+Class QBitRef
+ size=16 align=8
+ base size=12 base align=8
+QBitRef (0x7fa418510a10) 0
+
+Class QByteArrayMatcher
+ size=1040 align=8
+ base size=1040 base align=8
+QByteArrayMatcher (0x7fa41832a3f0) 0
+
+Class QCryptographicHash
+ size=8 align=8
+ base size=8 base align=8
+QCryptographicHash (0x7fa41833aaf0) 0
+
+Class QTextBoundaryFinder
+ size=48 align=8
+ base size=48 base align=8
+QTextBoundaryFinder (0x7fa418369540) 0
+
+Class QDate
+ size=4 align=4
+ base size=4 base align=4
+QDate (0x7fa41837f8c0) 0
+
+Class QTime
+ size=4 align=4
+ base size=4 base align=4
+QTime (0x7fa4183a7850) 0
+
+Class QDateTime
+ size=8 align=8
+ base size=8 base align=8
+QDateTime (0x7fa4183c5e00) 0
+
+Vtable for QTimeLine
+QTimeLine::_ZTV9QTimeLine: 15u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QTimeLine)
+16 QTimeLine::metaObject
+24 QTimeLine::qt_metacast
+32 QTimeLine::qt_metacall
+40 QTimeLine::~QTimeLine
+48 QTimeLine::~QTimeLine
+56 QObject::event
+64 QObject::eventFilter
+72 QTimeLine::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QTimeLine::valueForTime
+
+Class QTimeLine
+ size=16 align=8
+ base size=16 base align=8
+QTimeLine (0x7fa4183f92a0) 0
+ vptr=((& QTimeLine::_ZTV9QTimeLine) + 16u)
+ QObject (0x7fa4183f9310) 0
+ primary-for QTimeLine (0x7fa4183f92a0)
+
+Vtable for QRunnable
+QRunnable::_ZTV9QRunnable: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QRunnable)
+16 __cxa_pure_virtual
+24 QRunnable::~QRunnable
+32 QRunnable::~QRunnable
+
+Class QRunnable
+ size=16 align=8
+ base size=12 base align=8
+QRunnable (0x7fa418220150) 0
+ vptr=((& QRunnable::_ZTV9QRunnable) + 16u)
+
+Class QMutex
+ size=8 align=8
+ base size=8 base align=8
+QMutex (0x7fa41822f7e0) 0
+
+Class QMutexLocker
+ size=8 align=8
+ base size=8 base align=8
+QMutexLocker (0x7fa41823c380) 0
+
+Vtable for QtConcurrent::Exception
+QtConcurrent::Exception::_ZTVN12QtConcurrent9ExceptionE: 7u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN12QtConcurrent9ExceptionE)
+16 QtConcurrent::Exception::~Exception
+24 QtConcurrent::Exception::~Exception
+32 std::exception::what
+40 QtConcurrent::Exception::raise
+48 QtConcurrent::Exception::clone
+
+Class QtConcurrent::Exception
+ size=8 align=8
+ base size=8 base align=8
+QtConcurrent::Exception (0x7fa418253690) 0 nearly-empty
+ vptr=((& QtConcurrent::Exception::_ZTVN12QtConcurrent9ExceptionE) + 16u)
+ std::exception (0x7fa418253700) 0 nearly-empty
+ primary-for QtConcurrent::Exception (0x7fa418253690)
+
+Vtable for QtConcurrent::UnhandledException
+QtConcurrent::UnhandledException::_ZTVN12QtConcurrent18UnhandledExceptionE: 7u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN12QtConcurrent18UnhandledExceptionE)
+16 QtConcurrent::UnhandledException::~UnhandledException
+24 QtConcurrent::UnhandledException::~UnhandledException
+32 std::exception::what
+40 QtConcurrent::UnhandledException::raise
+48 QtConcurrent::UnhandledException::clone
+
+Class QtConcurrent::UnhandledException
+ size=8 align=8
+ base size=8 base align=8
+QtConcurrent::UnhandledException (0x7fa418253930) 0 nearly-empty
+ vptr=((& QtConcurrent::UnhandledException::_ZTVN12QtConcurrent18UnhandledExceptionE) + 16u)
+ QtConcurrent::Exception (0x7fa4182539a0) 0 nearly-empty
+ primary-for QtConcurrent::UnhandledException (0x7fa418253930)
+ std::exception (0x7fa418253a10) 0 nearly-empty
+ primary-for QtConcurrent::Exception (0x7fa4182539a0)
+
+Class QtConcurrent::internal::ExceptionHolder
+ size=8 align=8
+ base size=8 base align=8
+QtConcurrent::internal::ExceptionHolder (0x7fa418253c40) 0
+
+Class QtConcurrent::internal::ExceptionStore
+ size=8 align=8
+ base size=8 base align=8
+QtConcurrent::internal::ExceptionStore (0x7fa4182538c0) 0
+
+Class QtConcurrent::ResultItem
+ size=16 align=8
+ base size=16 base align=8
+QtConcurrent::ResultItem (0x7fa418253bd0) 0
+
+Class QtConcurrent::ResultIteratorBase
+ size=16 align=8
+ base size=12 base align=8
+QtConcurrent::ResultIteratorBase (0x7fa418269f50) 0
+
+Vtable for QtConcurrent::ResultStoreBase
+QtConcurrent::ResultStoreBase::_ZTVN12QtConcurrent15ResultStoreBaseE: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN12QtConcurrent15ResultStoreBaseE)
+16 QtConcurrent::ResultStoreBase::~ResultStoreBase
+24 QtConcurrent::ResultStoreBase::~ResultStoreBase
+
+Class QtConcurrent::ResultStoreBase
+ size=48 align=8
+ base size=44 base align=8
+QtConcurrent::ResultStoreBase (0x7fa41826daf0) 0
+ vptr=((& QtConcurrent::ResultStoreBase::_ZTVN12QtConcurrent15ResultStoreBaseE) + 16u)
+
+Vtable for QFutureInterfaceBase
+QFutureInterfaceBase::_ZTV20QFutureInterfaceBase: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI20QFutureInterfaceBase)
+16 QFutureInterfaceBase::~QFutureInterfaceBase
+24 QFutureInterfaceBase::~QFutureInterfaceBase
+
+Class QFutureInterfaceBase
+ size=16 align=8
+ base size=16 base align=8
+QFutureInterfaceBase (0x7fa4182aef50) 0
+ vptr=((& QFutureInterfaceBase::_ZTV20QFutureInterfaceBase) + 16u)
+
+Vtable for QThread
+QThread::_ZTV7QThread: 15u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QThread)
+16 QThread::metaObject
+24 QThread::qt_metacast
+32 QThread::qt_metacall
+40 QThread::~QThread
+48 QThread::~QThread
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QThread::run
+
+Class QThread
+ size=16 align=8
+ base size=16 base align=8
+QThread (0x7fa418190ee0) 0
+ vptr=((& QThread::_ZTV7QThread) + 16u)
+ QObject (0x7fa418190f50) 0
+ primary-for QThread (0x7fa418190ee0)
+
+Vtable for QThreadPool
+QThreadPool::_ZTV11QThreadPool: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QThreadPool)
+16 QThreadPool::metaObject
+24 QThreadPool::qt_metacast
+32 QThreadPool::qt_metacall
+40 QThreadPool::~QThreadPool
+48 QThreadPool::~QThreadPool
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QThreadPool
+ size=16 align=8
+ base size=16 base align=8
+QThreadPool (0x7fa4181c3d90) 0
+ vptr=((& QThreadPool::_ZTV11QThreadPool) + 16u)
+ QObject (0x7fa4181c3e00) 0
+ primary-for QThreadPool (0x7fa4181c3d90)
+
+Class QWaitCondition
+ size=8 align=8
+ base size=8 base align=8
+QWaitCondition (0x7fa4181de620) 0
+
+Class QtConcurrent::ThreadEngineSemaphore
+ size=24 align=8
+ base size=24 base align=8
+QtConcurrent::ThreadEngineSemaphore (0x7fa4181deb60) 0
+
+Vtable for QtConcurrent::ThreadEngineBase
+QtConcurrent::ThreadEngineBase::_ZTVN12QtConcurrent16ThreadEngineBaseE: 11u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN12QtConcurrent16ThreadEngineBaseE)
+16 QtConcurrent::ThreadEngineBase::run
+24 QtConcurrent::ThreadEngineBase::~ThreadEngineBase
+32 QtConcurrent::ThreadEngineBase::~ThreadEngineBase
+40 QtConcurrent::ThreadEngineBase::start
+48 QtConcurrent::ThreadEngineBase::finish
+56 QtConcurrent::ThreadEngineBase::threadFunction
+64 QtConcurrent::ThreadEngineBase::shouldStartThread
+72 QtConcurrent::ThreadEngineBase::shouldThrottleThread
+80 __cxa_pure_virtual
+
+Class QtConcurrent::ThreadEngineBase
+ size=64 align=8
+ base size=64 base align=8
+QtConcurrent::ThreadEngineBase (0x7fa4181fd540) 0
+ vptr=((& QtConcurrent::ThreadEngineBase::_ZTVN12QtConcurrent16ThreadEngineBaseE) + 16u)
+ QRunnable (0x7fa4181fd5b0) 0
+ primary-for QtConcurrent::ThreadEngineBase (0x7fa4181fd540)
+
+VTT for QtConcurrent::ThreadEngine<void>
+QtConcurrent::ThreadEngine<void>::_ZTTN12QtConcurrent12ThreadEngineIvEE: 2u entries
+0 ((& QtConcurrent::ThreadEngine<void>::_ZTVN12QtConcurrent12ThreadEngineIvEE) + 24u)
+8 ((& QtConcurrent::ThreadEngine<void>::_ZTVN12QtConcurrent12ThreadEngineIvEE) + 136u)
+
+Class std::input_iterator_tag
+ size=1 align=1
+ base size=0 base align=1
+std::input_iterator_tag (0x7fa41803e930) 0 empty
+
+Class std::output_iterator_tag
+ size=1 align=1
+ base size=0 base align=1
+std::output_iterator_tag (0x7fa41803e9a0) 0 empty
+
+Class std::forward_iterator_tag
+ size=1 align=1
+ base size=1 base align=1
+std::forward_iterator_tag (0x7fa41803ea10) 0 empty
+ std::input_iterator_tag (0x7fa41803ea80) 0 empty
+
+Class std::bidirectional_iterator_tag
+ size=1 align=1
+ base size=1 base align=1
+std::bidirectional_iterator_tag (0x7fa41803eaf0) 0 empty
+ std::forward_iterator_tag (0x7fa41803eb60) 0 empty
+ std::input_iterator_tag (0x7fa41803ebd0) 0 empty
+
+Class std::random_access_iterator_tag
+ size=1 align=1
+ base size=1 base align=1
+std::random_access_iterator_tag (0x7fa41803ec40) 0 empty
+ std::bidirectional_iterator_tag (0x7fa41803ecb0) 0 empty
+ std::forward_iterator_tag (0x7fa41803ed20) 0 empty
+ std::input_iterator_tag (0x7fa41803ed90) 0 empty
+
+Class std::__true_type
+ size=1 align=1
+ base size=0 base align=1
+std::__true_type (0x7fa41804c380) 0 empty
+
+Class std::__false_type
+ size=1 align=1
+ base size=0 base align=1
+std::__false_type (0x7fa41804c3f0) 0 empty
+
+Class lconv
+ size=96 align=8
+ base size=96 base align=8
+lconv (0x7fa417e2d700) 0
+
+Class sched_param
+ size=4 align=4
+ base size=4 base align=4
+sched_param (0x7fa417e2db60) 0
+
+Class __sched_param
+ size=4 align=4
+ base size=4 base align=4
+__sched_param (0x7fa417e2dbd0) 0
+
+Class tm
+ size=56 align=8
+ base size=56 base align=8
+tm (0x7fa417e2dcb0) 0
+
+Class itimerspec
+ size=32 align=8
+ base size=32 base align=8
+itimerspec (0x7fa417e2dd90) 0
+
+Class _pthread_cleanup_buffer
+ size=32 align=8
+ base size=32 base align=8
+_pthread_cleanup_buffer (0x7fa417e2de00) 0
+
+Class __pthread_cleanup_frame
+ size=24 align=8
+ base size=24 base align=8
+__pthread_cleanup_frame (0x7fa417e2df50) 0
+
+Class __pthread_cleanup_class
+ size=24 align=8
+ base size=24 base align=8
+__pthread_cleanup_class (0x7fa417e8a000) 0
+
+Vtable for __cxxabiv1::__forced_unwind
+__cxxabiv1::__forced_unwind::_ZTVN10__cxxabiv115__forced_unwindE: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN10__cxxabiv115__forced_unwindE)
+16 __cxxabiv1::__forced_unwind::~__forced_unwind
+24 __cxxabiv1::__forced_unwind::~__forced_unwind
+32 __cxa_pure_virtual
+
+Class __cxxabiv1::__forced_unwind
+ size=8 align=8
+ base size=8 base align=8
+__cxxabiv1::__forced_unwind (0x7fa417d41b60) 0 nearly-empty
+ vptr=((& __cxxabiv1::__forced_unwind::_ZTVN10__cxxabiv115__forced_unwindE) + 16u)
+
+Class std::locale
+ size=8 align=8
+ base size=8 base align=8
+std::locale (0x7fa417bf1690) 0
+
+Vtable for std::locale::facet
+std::locale::facet::_ZTVNSt6locale5facetE: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTINSt6locale5facetE)
+16 std::locale::facet::~facet
+24 std::locale::facet::~facet
+
+Class std::locale::facet
+ size=16 align=8
+ base size=12 base align=8
+std::locale::facet (0x7fa417a96d90) 0
+ vptr=((& std::locale::facet::_ZTVNSt6locale5facetE) + 16u)
+
+Class std::locale::id
+ size=8 align=8
+ base size=8 base align=8
+std::locale::id (0x7fa417aaa380) 0
+
+Class std::locale::_Impl
+ size=40 align=8
+ base size=40 base align=8
+std::locale::_Impl (0x7fa417aaa9a0) 0
+
+Vtable for std::ios_base::failure
+std::ios_base::failure::_ZTVNSt8ios_base7failureE: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTINSt8ios_base7failureE)
+16 std::ios_base::failure::~failure
+24 std::ios_base::failure::~failure
+32 std::ios_base::failure::what
+
+Class std::ios_base::failure
+ size=16 align=8
+ base size=16 base align=8
+std::ios_base::failure (0x7fa417938150) 0
+ vptr=((& std::ios_base::failure::_ZTVNSt8ios_base7failureE) + 16u)
+ std::exception (0x7fa4179381c0) 0 nearly-empty
+ primary-for std::ios_base::failure (0x7fa417938150)
+
+Class std::ios_base::_Callback_list
+ size=24 align=8
+ base size=24 base align=8
+std::ios_base::_Callback_list (0x7fa4179453f0) 0
+
+Class std::ios_base::_Words
+ size=16 align=8
+ base size=16 base align=8
+std::ios_base::_Words (0x7fa417945e70) 0
+
+Class std::ios_base::Init
+ size=1 align=1
+ base size=0 base align=1
+std::ios_base::Init (0x7fa41794c5b0) 0 empty
+
+Vtable for std::ios_base
+std::ios_base::_ZTVSt8ios_base: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt8ios_base)
+16 std::ios_base::~ios_base
+24 std::ios_base::~ios_base
+
+Class std::ios_base
+ size=216 align=8
+ base size=216 base align=8
+std::ios_base (0x7fa4179380e0) 0
+ vptr=((& std::ios_base::_ZTVSt8ios_base) + 16u)
+
+Class std::ctype_base
+ size=1 align=1
+ base size=0 base align=1
+std::ctype_base (0x7fa4179c2a10) 0 empty
+
+Class std::__num_base
+ size=1 align=1
+ base size=0 base align=1
+std::__num_base (0x7fa4178e92a0) 0 empty
+
+VTT for std::basic_ostream<char, std::char_traits<char> >
+std::basic_ostream<char, std::char_traits<char> >::_ZTTSo: 2u entries
+0 ((& std::basic_ostream<char, std::char_traits<char> >::_ZTVSo) + 24u)
+8 ((& std::basic_ostream<char, std::char_traits<char> >::_ZTVSo) + 64u)
+
+VTT for std::basic_ostream<wchar_t, std::char_traits<wchar_t> >
+std::basic_ostream<wchar_t, std::char_traits<wchar_t> >::_ZTTSt13basic_ostreamIwSt11char_traitsIwEE: 2u entries
+0 ((& std::basic_ostream<wchar_t, std::char_traits<wchar_t> >::_ZTVSt13basic_ostreamIwSt11char_traitsIwEE) + 24u)
+8 ((& std::basic_ostream<wchar_t, std::char_traits<wchar_t> >::_ZTVSt13basic_ostreamIwSt11char_traitsIwEE) + 64u)
+
+VTT for std::basic_istream<char, std::char_traits<char> >
+std::basic_istream<char, std::char_traits<char> >::_ZTTSi: 2u entries
+0 ((& std::basic_istream<char, std::char_traits<char> >::_ZTVSi) + 24u)
+8 ((& std::basic_istream<char, std::char_traits<char> >::_ZTVSi) + 64u)
+
+VTT for std::basic_istream<wchar_t, std::char_traits<wchar_t> >
+std::basic_istream<wchar_t, std::char_traits<wchar_t> >::_ZTTSt13basic_istreamIwSt11char_traitsIwEE: 2u entries
+0 ((& std::basic_istream<wchar_t, std::char_traits<wchar_t> >::_ZTVSt13basic_istreamIwSt11char_traitsIwEE) + 24u)
+8 ((& std::basic_istream<wchar_t, std::char_traits<wchar_t> >::_ZTVSt13basic_istreamIwSt11char_traitsIwEE) + 64u)
+
+Construction vtable for std::basic_istream<char, std::char_traits<char> > (0x7fa41740e3f0 instance) in std::basic_iostream<char, std::char_traits<char> >
+std::basic_iostream<char, std::char_traits<char> >::_ZTCSd0_Si: 10u entries
+0 24u
+8 (int (*)(...))0
+16 (int (*)(...))(& _ZTISi)
+24 std::basic_istream<_CharT, _Traits>::~basic_istream [with _CharT = char, _Traits = std::char_traits<char>]
+32 std::basic_istream<_CharT, _Traits>::~basic_istream [with _CharT = char, _Traits = std::char_traits<char>]
+40 -24u
+48 (int (*)(...))-0x00000000000000018
+56 (int (*)(...))(& _ZTISi)
+64 std::basic_istream<char, std::char_traits<char> >::_ZTv0_n24_NSiD1Ev
+72 std::basic_istream<char, std::char_traits<char> >::_ZTv0_n24_NSiD0Ev
+
+Construction vtable for std::basic_ostream<char, std::char_traits<char> > (0x7fa41740e540 instance) in std::basic_iostream<char, std::char_traits<char> >
+std::basic_iostream<char, std::char_traits<char> >::_ZTCSd16_So: 10u entries
+0 8u
+8 (int (*)(...))0
+16 (int (*)(...))(& _ZTISo)
+24 std::basic_ostream<_CharT, _Traits>::~basic_ostream [with _CharT = char, _Traits = std::char_traits<char>]
+32 std::basic_ostream<_CharT, _Traits>::~basic_ostream [with _CharT = char, _Traits = std::char_traits<char>]
+40 -8u
+48 (int (*)(...))-0x00000000000000008
+56 (int (*)(...))(& _ZTISo)
+64 std::basic_ostream<char, std::char_traits<char> >::_ZTv0_n24_NSoD1Ev
+72 std::basic_ostream<char, std::char_traits<char> >::_ZTv0_n24_NSoD0Ev
+
+VTT for std::basic_iostream<char, std::char_traits<char> >
+std::basic_iostream<char, std::char_traits<char> >::_ZTTSd: 7u entries
+0 ((& std::basic_iostream<char, std::char_traits<char> >::_ZTVSd) + 24u)
+8 ((& std::basic_iostream<char, std::char_traits<char> >::_ZTCSd0_Si) + 24u)
+16 ((& std::basic_iostream<char, std::char_traits<char> >::_ZTCSd0_Si) + 64u)
+24 ((& std::basic_iostream<char, std::char_traits<char> >::_ZTCSd16_So) + 24u)
+32 ((& std::basic_iostream<char, std::char_traits<char> >::_ZTCSd16_So) + 64u)
+40 ((& std::basic_iostream<char, std::char_traits<char> >::_ZTVSd) + 104u)
+48 ((& std::basic_iostream<char, std::char_traits<char> >::_ZTVSd) + 64u)
+
+Construction vtable for std::basic_istream<wchar_t, std::char_traits<wchar_t> > (0x7fa41740e700 instance) in std::basic_iostream<wchar_t, std::char_traits<wchar_t> >
+std::basic_iostream<wchar_t, std::char_traits<wchar_t> >::_ZTCSt14basic_iostreamIwSt11char_traitsIwEE0_St13basic_istreamIwS1_E: 10u entries
+0 24u
+8 (int (*)(...))0
+16 (int (*)(...))(& _ZTISt13basic_istreamIwSt11char_traitsIwEE)
+24 std::basic_istream<_CharT, _Traits>::~basic_istream [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
+32 std::basic_istream<_CharT, _Traits>::~basic_istream [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
+40 -24u
+48 (int (*)(...))-0x00000000000000018
+56 (int (*)(...))(& _ZTISt13basic_istreamIwSt11char_traitsIwEE)
+64 std::basic_istream<wchar_t, std::char_traits<wchar_t> >::_ZTv0_n24_NSt13basic_istreamIwSt11char_traitsIwEED1Ev
+72 std::basic_istream<wchar_t, std::char_traits<wchar_t> >::_ZTv0_n24_NSt13basic_istreamIwSt11char_traitsIwEED0Ev
+
+Construction vtable for std::basic_ostream<wchar_t, std::char_traits<wchar_t> > (0x7fa41740e850 instance) in std::basic_iostream<wchar_t, std::char_traits<wchar_t> >
+std::basic_iostream<wchar_t, std::char_traits<wchar_t> >::_ZTCSt14basic_iostreamIwSt11char_traitsIwEE16_St13basic_ostreamIwS1_E: 10u entries
+0 8u
+8 (int (*)(...))0
+16 (int (*)(...))(& _ZTISt13basic_ostreamIwSt11char_traitsIwEE)
+24 std::basic_ostream<_CharT, _Traits>::~basic_ostream [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
+32 std::basic_ostream<_CharT, _Traits>::~basic_ostream [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
+40 -8u
+48 (int (*)(...))-0x00000000000000008
+56 (int (*)(...))(& _ZTISt13basic_ostreamIwSt11char_traitsIwEE)
+64 std::basic_ostream<wchar_t, std::char_traits<wchar_t> >::_ZTv0_n24_NSt13basic_ostreamIwSt11char_traitsIwEED1Ev
+72 std::basic_ostream<wchar_t, std::char_traits<wchar_t> >::_ZTv0_n24_NSt13basic_ostreamIwSt11char_traitsIwEED0Ev
+
+VTT for std::basic_iostream<wchar_t, std::char_traits<wchar_t> >
+std::basic_iostream<wchar_t, std::char_traits<wchar_t> >::_ZTTSt14basic_iostreamIwSt11char_traitsIwEE: 7u entries
+0 ((& std::basic_iostream<wchar_t, std::char_traits<wchar_t> >::_ZTVSt14basic_iostreamIwSt11char_traitsIwEE) + 24u)
+8 ((& std::basic_iostream<wchar_t, std::char_traits<wchar_t> >::_ZTCSt14basic_iostreamIwSt11char_traitsIwEE0_St13basic_istreamIwS1_E) + 24u)
+16 ((& std::basic_iostream<wchar_t, std::char_traits<wchar_t> >::_ZTCSt14basic_iostreamIwSt11char_traitsIwEE0_St13basic_istreamIwS1_E) + 64u)
+24 ((& std::basic_iostream<wchar_t, std::char_traits<wchar_t> >::_ZTCSt14basic_iostreamIwSt11char_traitsIwEE16_St13basic_ostreamIwS1_E) + 24u)
+32 ((& std::basic_iostream<wchar_t, std::char_traits<wchar_t> >::_ZTCSt14basic_iostreamIwSt11char_traitsIwEE16_St13basic_ostreamIwS1_E) + 64u)
+40 ((& std::basic_iostream<wchar_t, std::char_traits<wchar_t> >::_ZTVSt14basic_iostreamIwSt11char_traitsIwEE) + 104u)
+48 ((& std::basic_iostream<wchar_t, std::char_traits<wchar_t> >::_ZTVSt14basic_iostreamIwSt11char_traitsIwEE) + 64u)
+
+Class QtConcurrent::BlockSizeManager
+ size=96 align=8
+ base size=92 base align=8
+QtConcurrent::BlockSizeManager (0x7fa417480310) 0
+
+Vtable for QFutureWatcherBase
+QFutureWatcherBase::_ZTV18QFutureWatcherBase: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QFutureWatcherBase)
+16 QFutureWatcherBase::metaObject
+24 QFutureWatcherBase::qt_metacast
+32 QFutureWatcherBase::qt_metacall
+40 QFutureWatcherBase::~QFutureWatcherBase
+48 QFutureWatcherBase::~QFutureWatcherBase
+56 QFutureWatcherBase::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QFutureWatcherBase::connectNotify
+104 QFutureWatcherBase::disconnectNotify
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+
+Class QFutureWatcherBase
+ size=16 align=8
+ base size=16 base align=8
+QFutureWatcherBase (0x7fa417046cb0) 0
+ vptr=((& QFutureWatcherBase::_ZTV18QFutureWatcherBase) + 16u)
+ QObject (0x7fa417046d20) 0
+ primary-for QFutureWatcherBase (0x7fa417046cb0)
+
+Vtable for QFactoryInterface
+QFactoryInterface::_ZTV17QFactoryInterface: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QFactoryInterface)
+16 QFactoryInterface::~QFactoryInterface
+24 QFactoryInterface::~QFactoryInterface
+32 __cxa_pure_virtual
+
+Class QFactoryInterface
+ size=8 align=8
+ base size=8 base align=8
+QFactoryInterface (0x7fa416f63ee0) 0 nearly-empty
+ vptr=((& QFactoryInterface::_ZTV17QFactoryInterface) + 16u)
+
+Vtable for QTextCodecFactoryInterface
+QTextCodecFactoryInterface::_ZTV26QTextCodecFactoryInterface: 6u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI26QTextCodecFactoryInterface)
+16 QTextCodecFactoryInterface::~QTextCodecFactoryInterface
+24 QTextCodecFactoryInterface::~QTextCodecFactoryInterface
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+
+Class QTextCodecFactoryInterface
+ size=8 align=8
+ base size=8 base align=8
+QTextCodecFactoryInterface (0x7fa416f91000) 0 nearly-empty
+ vptr=((& QTextCodecFactoryInterface::_ZTV26QTextCodecFactoryInterface) + 16u)
+ QFactoryInterface (0x7fa416f91070) 0 nearly-empty
+ primary-for QTextCodecFactoryInterface (0x7fa416f91000)
+
+Vtable for QTextCodecPlugin
+QTextCodecPlugin::_ZTV16QTextCodecPlugin: 27u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QTextCodecPlugin)
+16 QTextCodecPlugin::metaObject
+24 QTextCodecPlugin::qt_metacast
+32 QTextCodecPlugin::qt_metacall
+40 QTextCodecPlugin::~QTextCodecPlugin
+48 QTextCodecPlugin::~QTextCodecPlugin
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 __cxa_pure_virtual
+136 __cxa_pure_virtual
+144 __cxa_pure_virtual
+152 QTextCodecPlugin::keys
+160 QTextCodecPlugin::create
+168 (int (*)(...))-0x00000000000000010
+176 (int (*)(...))(& _ZTI16QTextCodecPlugin)
+184 QTextCodecPlugin::_ZThn16_N16QTextCodecPluginD1Ev
+192 QTextCodecPlugin::_ZThn16_N16QTextCodecPluginD0Ev
+200 QTextCodecPlugin::_ZThn16_NK16QTextCodecPlugin4keysEv
+208 QTextCodecPlugin::_ZThn16_N16QTextCodecPlugin6createERK7QString
+
+Class QTextCodecPlugin
+ size=24 align=8
+ base size=24 base align=8
+QTextCodecPlugin (0x7fa416f88e00) 0
+ vptr=((& QTextCodecPlugin::_ZTV16QTextCodecPlugin) + 16u)
+ QObject (0x7fa416f918c0) 0
+ primary-for QTextCodecPlugin (0x7fa416f88e00)
+ QTextCodecFactoryInterface (0x7fa416f91930) 16 nearly-empty
+ vptr=((& QTextCodecPlugin::_ZTV16QTextCodecPlugin) + 184u)
+ QFactoryInterface (0x7fa416f919a0) 16 nearly-empty
+ primary-for QTextCodecFactoryInterface (0x7fa416f91930)
+
+Class QLibraryInfo
+ size=1 align=1
+ base size=0 base align=1
+QLibraryInfo (0x7fa416fa77e0) 0 empty
+
+Vtable for QTranslator
+QTranslator::_ZTV11QTranslator: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QTranslator)
+16 QTranslator::metaObject
+24 QTranslator::qt_metacast
+32 QTranslator::qt_metacall
+40 QTranslator::~QTranslator
+48 QTranslator::~QTranslator
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QTranslator::translate
+120 QTranslator::isEmpty
+
+Class QTranslator
+ size=16 align=8
+ base size=16 base align=8
+QTranslator (0x7fa416fe90e0) 0
+ vptr=((& QTranslator::_ZTV11QTranslator) + 16u)
+ QObject (0x7fa416fe9150) 0
+ primary-for QTranslator (0x7fa416fe90e0)
+
+Class __exception
+ size=40 align=8
+ base size=40 base align=8
+__exception (0x7fa417006070) 0
+
+Vtable for QMimeData
+QMimeData::_ZTV9QMimeData: 17u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QMimeData)
+16 QMimeData::metaObject
+24 QMimeData::qt_metacast
+32 QMimeData::qt_metacall
+40 QMimeData::~QMimeData
+48 QMimeData::~QMimeData
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QMimeData::hasFormat
+120 QMimeData::formats
+128 QMimeData::retrieveData
+
+Class QMimeData
+ size=16 align=8
+ base size=16 base align=8
+QMimeData (0x7fa416e6b230) 0
+ vptr=((& QMimeData::_ZTV9QMimeData) + 16u)
+ QObject (0x7fa416e6b2a0) 0
+ primary-for QMimeData (0x7fa416e6b230)
+
+Vtable for QEventLoop
+QEventLoop::_ZTV10QEventLoop: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QEventLoop)
+16 QEventLoop::metaObject
+24 QEventLoop::qt_metacast
+32 QEventLoop::qt_metacall
+40 QEventLoop::~QEventLoop
+48 QEventLoop::~QEventLoop
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QEventLoop
+ size=16 align=8
+ base size=16 base align=8
+QEventLoop (0x7fa416e82a80) 0
+ vptr=((& QEventLoop::_ZTV10QEventLoop) + 16u)
+ QObject (0x7fa416e82af0) 0
+ primary-for QEventLoop (0x7fa416e82a80)
+
+Vtable for QEvent
+QEvent::_ZTV6QEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI6QEvent)
+16 QEvent::~QEvent
+24 QEvent::~QEvent
+
+Class QEvent
+ size=24 align=8
+ base size=20 base align=8
+QEvent (0x7fa416ec33f0) 0
+ vptr=((& QEvent::_ZTV6QEvent) + 16u)
+
+Vtable for QTimerEvent
+QTimerEvent::_ZTV11QTimerEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QTimerEvent)
+16 QTimerEvent::~QTimerEvent
+24 QTimerEvent::~QTimerEvent
+
+Class QTimerEvent
+ size=24 align=8
+ base size=24 base align=8
+QTimerEvent (0x7fa416edf000) 0
+ vptr=((& QTimerEvent::_ZTV11QTimerEvent) + 16u)
+ QEvent (0x7fa416edf070) 0
+ primary-for QTimerEvent (0x7fa416edf000)
+
+Vtable for QChildEvent
+QChildEvent::_ZTV11QChildEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QChildEvent)
+16 QChildEvent::~QChildEvent
+24 QChildEvent::~QChildEvent
+
+Class QChildEvent
+ size=32 align=8
+ base size=32 base align=8
+QChildEvent (0x7fa416edf460) 0
+ vptr=((& QChildEvent::_ZTV11QChildEvent) + 16u)
+ QEvent (0x7fa416edf4d0) 0
+ primary-for QChildEvent (0x7fa416edf460)
+
+Vtable for QCustomEvent
+QCustomEvent::_ZTV12QCustomEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QCustomEvent)
+16 QCustomEvent::~QCustomEvent
+24 QCustomEvent::~QCustomEvent
+
+Class QCustomEvent
+ size=24 align=8
+ base size=20 base align=8
+QCustomEvent (0x7fa416ef0700) 0
+ vptr=((& QCustomEvent::_ZTV12QCustomEvent) + 16u)
+ QEvent (0x7fa416ef0770) 0
+ primary-for QCustomEvent (0x7fa416ef0700)
+
+Vtable for QDynamicPropertyChangeEvent
+QDynamicPropertyChangeEvent::_ZTV27QDynamicPropertyChangeEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI27QDynamicPropertyChangeEvent)
+16 QDynamicPropertyChangeEvent::~QDynamicPropertyChangeEvent
+24 QDynamicPropertyChangeEvent::~QDynamicPropertyChangeEvent
+
+Class QDynamicPropertyChangeEvent
+ size=32 align=8
+ base size=32 base align=8
+QDynamicPropertyChangeEvent (0x7fa416ef0ee0) 0
+ vptr=((& QDynamicPropertyChangeEvent::_ZTV27QDynamicPropertyChangeEvent) + 16u)
+ QEvent (0x7fa416ef0f50) 0
+ primary-for QDynamicPropertyChangeEvent (0x7fa416ef0ee0)
+
+Vtable for QCoreApplication
+QCoreApplication::_ZTV16QCoreApplication: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QCoreApplication)
+16 QCoreApplication::metaObject
+24 QCoreApplication::qt_metacast
+32 QCoreApplication::qt_metacall
+40 QCoreApplication::~QCoreApplication
+48 QCoreApplication::~QCoreApplication
+56 QCoreApplication::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QCoreApplication::notify
+120 QCoreApplication::compressEvent
+
+Class QCoreApplication
+ size=16 align=8
+ base size=16 base align=8
+QCoreApplication (0x7fa416eff380) 0
+ vptr=((& QCoreApplication::_ZTV16QCoreApplication) + 16u)
+ QObject (0x7fa416eff3f0) 0
+ primary-for QCoreApplication (0x7fa416eff380)
+
+Vtable for QSharedMemory
+QSharedMemory::_ZTV13QSharedMemory: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QSharedMemory)
+16 QSharedMemory::metaObject
+24 QSharedMemory::qt_metacast
+32 QSharedMemory::qt_metacall
+40 QSharedMemory::~QSharedMemory
+48 QSharedMemory::~QSharedMemory
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QSharedMemory
+ size=16 align=8
+ base size=16 base align=8
+QSharedMemory (0x7fa416d2cb60) 0
+ vptr=((& QSharedMemory::_ZTV13QSharedMemory) + 16u)
+ QObject (0x7fa416d2cbd0) 0
+ primary-for QSharedMemory (0x7fa416d2cb60)
+
+Class QModelIndex
+ size=24 align=8
+ base size=24 base align=8
+QModelIndex (0x7fa416d4a930) 0
+
+Class QPersistentModelIndex
+ size=8 align=8
+ base size=8 base align=8
+QPersistentModelIndex (0x7fa416d733f0) 0
+
+Vtable for QAbstractItemModel
+QAbstractItemModel::_ZTV18QAbstractItemModel: 42u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QAbstractItemModel)
+16 QAbstractItemModel::metaObject
+24 QAbstractItemModel::qt_metacast
+32 QAbstractItemModel::qt_metacall
+40 QAbstractItemModel::~QAbstractItemModel
+48 QAbstractItemModel::~QAbstractItemModel
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 __cxa_pure_virtual
+136 __cxa_pure_virtual
+144 QAbstractItemModel::hasChildren
+152 __cxa_pure_virtual
+160 QAbstractItemModel::setData
+168 QAbstractItemModel::headerData
+176 QAbstractItemModel::setHeaderData
+184 QAbstractItemModel::itemData
+192 QAbstractItemModel::setItemData
+200 QAbstractItemModel::mimeTypes
+208 QAbstractItemModel::mimeData
+216 QAbstractItemModel::dropMimeData
+224 QAbstractItemModel::supportedDropActions
+232 QAbstractItemModel::insertRows
+240 QAbstractItemModel::insertColumns
+248 QAbstractItemModel::removeRows
+256 QAbstractItemModel::removeColumns
+264 QAbstractItemModel::fetchMore
+272 QAbstractItemModel::canFetchMore
+280 QAbstractItemModel::flags
+288 QAbstractItemModel::sort
+296 QAbstractItemModel::buddy
+304 QAbstractItemModel::match
+312 QAbstractItemModel::span
+320 QAbstractItemModel::submit
+328 QAbstractItemModel::revert
+
+Class QAbstractItemModel
+ size=16 align=8
+ base size=16 base align=8
+QAbstractItemModel (0x7fa416d81700) 0
+ vptr=((& QAbstractItemModel::_ZTV18QAbstractItemModel) + 16u)
+ QObject (0x7fa416d81770) 0
+ primary-for QAbstractItemModel (0x7fa416d81700)
+
+Vtable for QAbstractTableModel
+QAbstractTableModel::_ZTV19QAbstractTableModel: 42u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QAbstractTableModel)
+16 QAbstractTableModel::metaObject
+24 QAbstractTableModel::qt_metacast
+32 QAbstractTableModel::qt_metacall
+40 QAbstractTableModel::~QAbstractTableModel
+48 QAbstractTableModel::~QAbstractTableModel
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QAbstractTableModel::index
+120 QAbstractTableModel::parent
+128 __cxa_pure_virtual
+136 __cxa_pure_virtual
+144 QAbstractTableModel::hasChildren
+152 __cxa_pure_virtual
+160 QAbstractItemModel::setData
+168 QAbstractItemModel::headerData
+176 QAbstractItemModel::setHeaderData
+184 QAbstractItemModel::itemData
+192 QAbstractItemModel::setItemData
+200 QAbstractItemModel::mimeTypes
+208 QAbstractItemModel::mimeData
+216 QAbstractTableModel::dropMimeData
+224 QAbstractItemModel::supportedDropActions
+232 QAbstractItemModel::insertRows
+240 QAbstractItemModel::insertColumns
+248 QAbstractItemModel::removeRows
+256 QAbstractItemModel::removeColumns
+264 QAbstractItemModel::fetchMore
+272 QAbstractItemModel::canFetchMore
+280 QAbstractItemModel::flags
+288 QAbstractItemModel::sort
+296 QAbstractItemModel::buddy
+304 QAbstractItemModel::match
+312 QAbstractItemModel::span
+320 QAbstractItemModel::submit
+328 QAbstractItemModel::revert
+
+Class QAbstractTableModel
+ size=16 align=8
+ base size=16 base align=8
+QAbstractTableModel (0x7fa416dd3a10) 0
+ vptr=((& QAbstractTableModel::_ZTV19QAbstractTableModel) + 16u)
+ QAbstractItemModel (0x7fa416dd3a80) 0
+ primary-for QAbstractTableModel (0x7fa416dd3a10)
+ QObject (0x7fa416dd3af0) 0
+ primary-for QAbstractItemModel (0x7fa416dd3a80)
+
+Vtable for QAbstractListModel
+QAbstractListModel::_ZTV18QAbstractListModel: 42u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QAbstractListModel)
+16 QAbstractListModel::metaObject
+24 QAbstractListModel::qt_metacast
+32 QAbstractListModel::qt_metacall
+40 QAbstractListModel::~QAbstractListModel
+48 QAbstractListModel::~QAbstractListModel
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QAbstractListModel::index
+120 QAbstractListModel::parent
+128 __cxa_pure_virtual
+136 QAbstractListModel::columnCount
+144 QAbstractListModel::hasChildren
+152 __cxa_pure_virtual
+160 QAbstractItemModel::setData
+168 QAbstractItemModel::headerData
+176 QAbstractItemModel::setHeaderData
+184 QAbstractItemModel::itemData
+192 QAbstractItemModel::setItemData
+200 QAbstractItemModel::mimeTypes
+208 QAbstractItemModel::mimeData
+216 QAbstractListModel::dropMimeData
+224 QAbstractItemModel::supportedDropActions
+232 QAbstractItemModel::insertRows
+240 QAbstractItemModel::insertColumns
+248 QAbstractItemModel::removeRows
+256 QAbstractItemModel::removeColumns
+264 QAbstractItemModel::fetchMore
+272 QAbstractItemModel::canFetchMore
+280 QAbstractItemModel::flags
+288 QAbstractItemModel::sort
+296 QAbstractItemModel::buddy
+304 QAbstractItemModel::match
+312 QAbstractItemModel::span
+320 QAbstractItemModel::submit
+328 QAbstractItemModel::revert
+
+Class QAbstractListModel
+ size=16 align=8
+ base size=16 base align=8
+QAbstractListModel (0x7fa416ddf310) 0
+ vptr=((& QAbstractListModel::_ZTV18QAbstractListModel) + 16u)
+ QAbstractItemModel (0x7fa416ded000) 0
+ primary-for QAbstractListModel (0x7fa416ddf310)
+ QObject (0x7fa416ded070) 0
+ primary-for QAbstractItemModel (0x7fa416ded000)
+
+Vtable for QSignalMapper
+QSignalMapper::_ZTV13QSignalMapper: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QSignalMapper)
+16 QSignalMapper::metaObject
+24 QSignalMapper::qt_metacast
+32 QSignalMapper::qt_metacall
+40 QSignalMapper::~QSignalMapper
+48 QSignalMapper::~QSignalMapper
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QSignalMapper
+ size=16 align=8
+ base size=16 base align=8
+QSignalMapper (0x7fa416c220e0) 0
+ vptr=((& QSignalMapper::_ZTV13QSignalMapper) + 16u)
+ QObject (0x7fa416c22150) 0
+ primary-for QSignalMapper (0x7fa416c220e0)
+
+Vtable for QObjectCleanupHandler
+QObjectCleanupHandler::_ZTV21QObjectCleanupHandler: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI21QObjectCleanupHandler)
+16 QObjectCleanupHandler::metaObject
+24 QObjectCleanupHandler::qt_metacast
+32 QObjectCleanupHandler::qt_metacall
+40 QObjectCleanupHandler::~QObjectCleanupHandler
+48 QObjectCleanupHandler::~QObjectCleanupHandler
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QObjectCleanupHandler
+ size=24 align=8
+ base size=24 base align=8
+QObjectCleanupHandler (0x7fa416c3a4d0) 0
+ vptr=((& QObjectCleanupHandler::_ZTV21QObjectCleanupHandler) + 16u)
+ QObject (0x7fa416c3a540) 0
+ primary-for QObjectCleanupHandler (0x7fa416c3a4d0)
+
+Class QBasicTimer
+ size=4 align=4
+ base size=4 base align=4
+QBasicTimer (0x7fa416c47620) 0
+
+Vtable for QSocketNotifier
+QSocketNotifier::_ZTV15QSocketNotifier: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QSocketNotifier)
+16 QSocketNotifier::metaObject
+24 QSocketNotifier::qt_metacast
+32 QSocketNotifier::qt_metacall
+40 QSocketNotifier::~QSocketNotifier
+48 QSocketNotifier::~QSocketNotifier
+56 QSocketNotifier::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QSocketNotifier
+ size=32 align=8
+ base size=25 base align=8
+QSocketNotifier (0x7fa416c53a10) 0
+ vptr=((& QSocketNotifier::_ZTV15QSocketNotifier) + 16u)
+ QObject (0x7fa416c53a80) 0
+ primary-for QSocketNotifier (0x7fa416c53a10)
+
+Vtable for QTimer
+QTimer::_ZTV6QTimer: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI6QTimer)
+16 QTimer::metaObject
+24 QTimer::qt_metacast
+32 QTimer::qt_metacall
+40 QTimer::~QTimer
+48 QTimer::~QTimer
+56 QObject::event
+64 QObject::eventFilter
+72 QTimer::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QTimer
+ size=32 align=8
+ base size=29 base align=8
+QTimer (0x7fa416c71d90) 0
+ vptr=((& QTimer::_ZTV6QTimer) + 16u)
+ QObject (0x7fa416c71e00) 0
+ primary-for QTimer (0x7fa416c71d90)
+
+Vtable for QAbstractEventDispatcher
+QAbstractEventDispatcher::_ZTV24QAbstractEventDispatcher: 27u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI24QAbstractEventDispatcher)
+16 QAbstractEventDispatcher::metaObject
+24 QAbstractEventDispatcher::qt_metacast
+32 QAbstractEventDispatcher::qt_metacall
+40 QAbstractEventDispatcher::~QAbstractEventDispatcher
+48 QAbstractEventDispatcher::~QAbstractEventDispatcher
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 __cxa_pure_virtual
+136 __cxa_pure_virtual
+144 __cxa_pure_virtual
+152 __cxa_pure_virtual
+160 __cxa_pure_virtual
+168 __cxa_pure_virtual
+176 __cxa_pure_virtual
+184 __cxa_pure_virtual
+192 __cxa_pure_virtual
+200 QAbstractEventDispatcher::startingUp
+208 QAbstractEventDispatcher::closingDown
+
+Class QAbstractEventDispatcher
+ size=16 align=8
+ base size=16 base align=8
+QAbstractEventDispatcher (0x7fa416c93380) 0
+ vptr=((& QAbstractEventDispatcher::_ZTV24QAbstractEventDispatcher) + 16u)
+ QObject (0x7fa416c933f0) 0
+ primary-for QAbstractEventDispatcher (0x7fa416c93380)
+
+Class QMetaMethod
+ size=16 align=8
+ base size=12 base align=8
+QMetaMethod (0x7fa416caf230) 0
+
+Class QMetaEnum
+ size=16 align=8
+ base size=12 base align=8
+QMetaEnum (0x7fa416cc7690) 0
+
+Class QMetaProperty
+ size=32 align=8
+ base size=32 base align=8
+QMetaProperty (0x7fa416cd53f0) 0
+
+Class QMetaClassInfo
+ size=16 align=8
+ base size=12 base align=8
+QMetaClassInfo (0x7fa416cd5a80) 0
+
+Class QSystemSemaphore
+ size=8 align=8
+ base size=8 base align=8
+QSystemSemaphore (0x7fa416ce85b0) 0
+
+Vtable for QLibrary
+QLibrary::_ZTV8QLibrary: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI8QLibrary)
+16 QLibrary::metaObject
+24 QLibrary::qt_metacast
+32 QLibrary::qt_metacall
+40 QLibrary::~QLibrary
+48 QLibrary::~QLibrary
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QLibrary
+ size=32 align=8
+ base size=25 base align=8
+QLibrary (0x7fa416ce8ee0) 0
+ vptr=((& QLibrary::_ZTV8QLibrary) + 16u)
+ QObject (0x7fa416ce8f50) 0
+ primary-for QLibrary (0x7fa416ce8ee0)
+
+Vtable for QPluginLoader
+QPluginLoader::_ZTV13QPluginLoader: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QPluginLoader)
+16 QPluginLoader::metaObject
+24 QPluginLoader::qt_metacast
+32 QPluginLoader::qt_metacall
+40 QPluginLoader::~QPluginLoader
+48 QPluginLoader::~QPluginLoader
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QPluginLoader
+ size=32 align=8
+ base size=25 base align=8
+QPluginLoader (0x7fa416b309a0) 0
+ vptr=((& QPluginLoader::_ZTV13QPluginLoader) + 16u)
+ QObject (0x7fa416b30a10) 0
+ primary-for QPluginLoader (0x7fa416b309a0)
+
+Class QUuid
+ size=16 align=4
+ base size=16 base align=4
+QUuid (0x7fa416b51150) 0
+
+Class QSemaphore
+ size=8 align=8
+ base size=8 base align=8
+QSemaphore (0x7fa416b71a80) 0
+
+Class QThreadStorageData
+ size=4 align=4
+ base size=4 base align=4
+QThreadStorageData (0x7fa416b81000) 0
+
+Class QReadWriteLock
+ size=8 align=8
+ base size=8 base align=8
+QReadWriteLock (0x7fa416b81770) 0
+
+Class QReadLocker
+ size=8 align=8
+ base size=8 base align=8
+QReadLocker (0x7fa416b81e00) 0
+
+Class QWriteLocker
+ size=8 align=8
+ base size=8 base align=8
+QWriteLocker (0x7fa416bb01c0) 0
+
+Class QTestData
+ size=8 align=8
+ base size=8 base align=8
+QTestData (0x7fa416bf0230) 0
+
+Class QTest::QBenchmarkIterationController
+ size=4 align=4
+ base size=4 base align=4
+QTest::QBenchmarkIterationController (0x7fa416bf0a10) 0
+
+Vtable for QSignalSpy
+QSignalSpy::_ZTV10QSignalSpy: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QSignalSpy)
+16 QObject::metaObject
+24 QObject::qt_metacast
+32 QSignalSpy::qt_metacall
+40 QSignalSpy::~QSignalSpy
+48 QSignalSpy::~QSignalSpy
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QSignalSpy
+ size=40 align=8
+ base size=40 base align=8
+QSignalSpy (0x7fa416a87500) 0
+ vptr=((& QSignalSpy::_ZTV10QSignalSpy) + 16u)
+ QObject (0x7fa416a85310) 0
+ primary-for QSignalSpy (0x7fa416a87500)
+ QList<QList<QVariant> > (0x7fa416a85380) 16
+
+Vtable for QTestEventLoop
+QTestEventLoop::_ZTV14QTestEventLoop: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QTestEventLoop)
+16 QTestEventLoop::metaObject
+24 QTestEventLoop::qt_metacast
+32 QTestEventLoop::qt_metacall
+40 QTestEventLoop::~QTestEventLoop
+48 QTestEventLoop::~QTestEventLoop
+56 QObject::event
+64 QObject::eventFilter
+72 QTestEventLoop::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QTestEventLoop
+ size=32 align=8
+ base size=32 base align=8
+QTestEventLoop (0x7fa4169138c0) 0
+ vptr=((& QTestEventLoop::_ZTV14QTestEventLoop) + 16u)
+ QObject (0x7fa416913930) 0
+ primary-for QTestEventLoop (0x7fa4169138c0)
+
diff --git a/tests/auto/bic/data/QtTest.4.6.0.linux-gcc-amd64.txt b/tests/auto/bic/data/QtTest.4.6.0.linux-gcc-amd64.txt
new file mode 100644
index 0000000000..124576f269
--- /dev/null
+++ b/tests/auto/bic/data/QtTest.4.6.0.linux-gcc-amd64.txt
@@ -0,0 +1,2812 @@
+Class QSysInfo
+ size=1 align=1
+ base size=0 base align=1
+QSysInfo (0x7f4314296310) 0 empty
+
+Class QBool
+ size=1 align=1
+ base size=1 base align=1
+QBool (0x7f4314296f50) 0
+
+Class qIsNull(double)::U
+ size=8 align=8
+ base size=8 base align=8
+qIsNull(double)::U (0x7f4313aa8620) 0
+
+Class qIsNull(float)::U
+ size=4 align=4
+ base size=4 base align=4
+qIsNull(float)::U (0x7f4313aa88c0) 0
+
+Class QFlag
+ size=4 align=4
+ base size=4 base align=4
+QFlag (0x7f4313adf770) 0
+
+Class QIncompatibleFlag
+ size=4 align=4
+ base size=4 base align=4
+QIncompatibleFlag (0x7f4313adff50) 0
+
+Class QLatin1Char
+ size=1 align=1
+ base size=1 base align=1
+QLatin1Char (0x7f4313b10690) 0
+
+Class QChar
+ size=2 align=2
+ base size=2 base align=2
+QChar (0x7f4313b37230) 0
+
+Class QBasicAtomicInt
+ size=4 align=4
+ base size=4 base align=4
+QBasicAtomicInt (0x7f431399f3f0) 0
+
+Class QAtomicInt
+ size=4 align=4
+ base size=4 base align=4
+QAtomicInt (0x7f43139dcd90) 0
+ QBasicAtomicInt (0x7f43139dce00) 0
+
+Class QInternal
+ size=1 align=1
+ base size=0 base align=1
+QInternal (0x7f43138295b0) 0 empty
+
+Class __locale_struct
+ size=232 align=8
+ base size=232 base align=8
+__locale_struct (0x7f43138297e0) 0
+
+Class QByteArray::Data
+ size=32 align=8
+ base size=32 base align=8
+QByteArray::Data (0x7f431386cbd0) 0
+
+Class QByteArray
+ size=8 align=8
+ base size=8 base align=8
+QByteArray (0x7f431386cb60) 0
+
+Class QByteRef
+ size=16 align=8
+ base size=12 base align=8
+QByteRef (0x7f4313710460) 0
+
+Class QString::Null
+ size=1 align=1
+ base size=0 base align=1
+QString::Null (0x7f4313611e00) 0 empty
+
+Class QString::Data
+ size=32 align=8
+ base size=32 base align=8
+QString::Data (0x7f4313629690) 0
+
+Class QString
+ size=8 align=8
+ base size=8 base align=8
+QString (0x7f431358acb0) 0
+
+Class QLatin1String
+ size=8 align=8
+ base size=8 base align=8
+QLatin1String (0x7f4313500a80) 0
+
+Class QCharRef
+ size=16 align=8
+ base size=12 base align=8
+QCharRef (0x7f43133a00e0) 0
+
+Class QConstString
+ size=8 align=8
+ base size=8 base align=8
+QConstString (0x7f43132ea9a0) 0
+ QString (0x7f43132eaa10) 0
+
+Class QStringRef
+ size=16 align=8
+ base size=16 base align=8
+QStringRef (0x7f431330e3f0) 0
+
+Class QGenericArgument
+ size=16 align=8
+ base size=16 base align=8
+QGenericArgument (0x7f43131867e0) 0
+
+Class QGenericReturnArgument
+ size=16 align=8
+ base size=16 base align=8
+QGenericReturnArgument (0x7f4313191380) 0
+ QGenericArgument (0x7f43131913f0) 0
+
+Class QMetaObject
+ size=32 align=8
+ base size=32 base align=8
+QMetaObject (0x7f4313191c40) 0
+
+Class QMetaObjectExtraData
+ size=16 align=8
+ base size=16 base align=8
+QMetaObjectExtraData (0x7f43131bbcb0) 0
+
+Vtable for std::exception
+std::exception::_ZTVSt9exception: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt9exception)
+16 std::exception::~exception
+24 std::exception::~exception
+32 std::exception::what
+
+Class std::exception
+ size=8 align=8
+ base size=8 base align=8
+std::exception (0x7f431320d2a0) 0 nearly-empty
+ vptr=((& std::exception::_ZTVSt9exception) + 16u)
+
+Vtable for std::bad_exception
+std::bad_exception::_ZTVSt13bad_exception: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt13bad_exception)
+16 std::bad_exception::~bad_exception
+24 std::bad_exception::~bad_exception
+32 std::bad_exception::what
+
+Class std::bad_exception
+ size=8 align=8
+ base size=8 base align=8
+std::bad_exception (0x7f431320d850) 0 nearly-empty
+ vptr=((& std::bad_exception::_ZTVSt13bad_exception) + 16u)
+ std::exception (0x7f431320d8c0) 0 nearly-empty
+ primary-for std::bad_exception (0x7f431320d850)
+
+Vtable for std::bad_alloc
+std::bad_alloc::_ZTVSt9bad_alloc: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt9bad_alloc)
+16 std::bad_alloc::~bad_alloc
+24 std::bad_alloc::~bad_alloc
+32 std::bad_alloc::what
+
+Class std::bad_alloc
+ size=8 align=8
+ base size=8 base align=8
+std::bad_alloc (0x7f4313222070) 0 nearly-empty
+ vptr=((& std::bad_alloc::_ZTVSt9bad_alloc) + 16u)
+ std::exception (0x7f43132220e0) 0 nearly-empty
+ primary-for std::bad_alloc (0x7f4313222070)
+
+Class std::nothrow_t
+ size=1 align=1
+ base size=0 base align=1
+std::nothrow_t (0x7f4313222930) 0 empty
+
+Class QListData::Data
+ size=32 align=8
+ base size=32 base align=8
+QListData::Data (0x7f4313222e70) 0
+
+Class QListData
+ size=8 align=8
+ base size=8 base align=8
+QListData (0x7f4313222e00) 0
+
+Class QScopedPointerPodDeleter
+ size=1 align=1
+ base size=0 base align=1
+QScopedPointerPodDeleter (0x7f4313150930) 0 empty
+
+Vtable for QObjectData
+QObjectData::_ZTV11QObjectData: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QObjectData)
+16 __cxa_pure_virtual
+24 __cxa_pure_virtual
+
+Class QObjectData
+ size=48 align=8
+ base size=48 base align=8
+QObjectData (0x7f431316f380) 0
+ vptr=((& QObjectData::_ZTV11QObjectData) + 16u)
+
+Vtable for QObject
+QObject::_ZTV7QObject: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QObject)
+16 QObject::metaObject
+24 QObject::qt_metacast
+32 QObject::qt_metacall
+40 QObject::~QObject
+48 QObject::~QObject
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QObject
+ size=16 align=8
+ base size=16 base align=8
+QObject (0x7f431316f690) 0
+ vptr=((& QObject::_ZTV7QObject) + 16u)
+
+Vtable for QObjectUserData
+QObjectUserData::_ZTV15QObjectUserData: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QObjectUserData)
+16 QObjectUserData::~QObjectUserData
+24 QObjectUserData::~QObjectUserData
+
+Class QObjectUserData
+ size=8 align=8
+ base size=8 base align=8
+QObjectUserData (0x7f4312fe4c40) 0 nearly-empty
+ vptr=((& QObjectUserData::_ZTV15QObjectUserData) + 16u)
+
+Vtable for QIODevice
+QIODevice::_ZTV9QIODevice: 30u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QIODevice)
+16 QIODevice::metaObject
+24 QIODevice::qt_metacast
+32 QIODevice::qt_metacall
+40 QIODevice::~QIODevice
+48 QIODevice::~QIODevice
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QIODevice::isSequential
+120 QIODevice::open
+128 QIODevice::close
+136 QIODevice::pos
+144 QIODevice::size
+152 QIODevice::seek
+160 QIODevice::atEnd
+168 QIODevice::reset
+176 QIODevice::bytesAvailable
+184 QIODevice::bytesToWrite
+192 QIODevice::canReadLine
+200 QIODevice::waitForReadyRead
+208 QIODevice::waitForBytesWritten
+216 __cxa_pure_virtual
+224 QIODevice::readLineData
+232 __cxa_pure_virtual
+
+Class QIODevice
+ size=16 align=8
+ base size=16 base align=8
+QIODevice (0x7f4312ff4230) 0
+ vptr=((& QIODevice::_ZTV9QIODevice) + 16u)
+ QObject (0x7f4312ff42a0) 0
+ primary-for QIODevice (0x7f4312ff4230)
+
+Class _IO_marker
+ size=24 align=8
+ base size=24 base align=8
+_IO_marker (0x7f4313055d90) 0
+
+Class _IO_FILE
+ size=216 align=8
+ base size=216 base align=8
+_IO_FILE (0x7f4313055e00) 0
+
+Vtable for QFile
+QFile::_ZTV5QFile: 31u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI5QFile)
+16 QFile::metaObject
+24 QFile::qt_metacast
+32 QFile::qt_metacall
+40 QFile::~QFile
+48 QFile::~QFile
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QFile::isSequential
+120 QFile::open
+128 QFile::close
+136 QFile::pos
+144 QFile::size
+152 QFile::seek
+160 QFile::atEnd
+168 QIODevice::reset
+176 QIODevice::bytesAvailable
+184 QIODevice::bytesToWrite
+192 QIODevice::canReadLine
+200 QIODevice::waitForReadyRead
+208 QIODevice::waitForBytesWritten
+216 QFile::readData
+224 QFile::readLineData
+232 QFile::writeData
+240 QFile::fileEngine
+
+Class QFile
+ size=16 align=8
+ base size=16 base align=8
+QFile (0x7f4313055ee0) 0
+ vptr=((& QFile::_ZTV5QFile) + 16u)
+ QIODevice (0x7f4313055f50) 0
+ primary-for QFile (0x7f4313055ee0)
+ QObject (0x7f4312e5a000) 0
+ primary-for QIODevice (0x7f4313055f50)
+
+Class QFileInfo
+ size=8 align=8
+ base size=8 base align=8
+QFileInfo (0x7f4312eb7150) 0
+
+Vtable for QDataStream
+QDataStream::_ZTV11QDataStream: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QDataStream)
+16 QDataStream::~QDataStream
+24 QDataStream::~QDataStream
+
+Class QDataStream
+ size=40 align=8
+ base size=40 base align=8
+QDataStream (0x7f4312f0baf0) 0
+ vptr=((& QDataStream::_ZTV11QDataStream) + 16u)
+
+Class QRegExp
+ size=8 align=8
+ base size=8 base align=8
+QRegExp (0x7f4312d74f50) 0
+
+Class QStringMatcher::Data
+ size=272 align=8
+ base size=272 base align=8
+QStringMatcher::Data (0x7f4312ddc380) 0
+
+Class QStringMatcher
+ size=1048 align=8
+ base size=1048 base align=8
+QStringMatcher (0x7f4312dd1d20) 0
+
+Class QStringList
+ size=8 align=8
+ base size=8 base align=8
+QStringList (0x7f4312ddc930) 0
+ QList<QString> (0x7f4312ddc9a0) 0
+
+Class QDir
+ size=8 align=8
+ base size=8 base align=8
+QDir (0x7f4312c7a5b0) 0
+
+Class QAbstractFileEngine::ExtensionOption
+ size=1 align=1
+ base size=0 base align=1
+QAbstractFileEngine::ExtensionOption (0x7f4312d219a0) 0 empty
+
+Class QAbstractFileEngine::ExtensionReturn
+ size=1 align=1
+ base size=0 base align=1
+QAbstractFileEngine::ExtensionReturn (0x7f4312d21a10) 0 empty
+
+Class QAbstractFileEngine::MapExtensionOption
+ size=24 align=8
+ base size=20 base align=8
+QAbstractFileEngine::MapExtensionOption (0x7f4312d21a80) 0
+ QAbstractFileEngine::ExtensionOption (0x7f4312d21af0) 0 empty
+
+Class QAbstractFileEngine::MapExtensionReturn
+ size=8 align=8
+ base size=8 base align=8
+QAbstractFileEngine::MapExtensionReturn (0x7f4312d21cb0) 0
+ QAbstractFileEngine::ExtensionReturn (0x7f4312d21d20) 0 empty
+
+Class QAbstractFileEngine::UnMapExtensionOption
+ size=8 align=8
+ base size=8 base align=8
+QAbstractFileEngine::UnMapExtensionOption (0x7f4312d21d90) 0
+ QAbstractFileEngine::ExtensionOption (0x7f4312d21e00) 0 empty
+
+Vtable for QAbstractFileEngine
+QAbstractFileEngine::_ZTV19QAbstractFileEngine: 36u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QAbstractFileEngine)
+16 QAbstractFileEngine::~QAbstractFileEngine
+24 QAbstractFileEngine::~QAbstractFileEngine
+32 QAbstractFileEngine::open
+40 QAbstractFileEngine::close
+48 QAbstractFileEngine::flush
+56 QAbstractFileEngine::size
+64 QAbstractFileEngine::pos
+72 QAbstractFileEngine::seek
+80 QAbstractFileEngine::isSequential
+88 QAbstractFileEngine::remove
+96 QAbstractFileEngine::copy
+104 QAbstractFileEngine::rename
+112 QAbstractFileEngine::link
+120 QAbstractFileEngine::mkdir
+128 QAbstractFileEngine::rmdir
+136 QAbstractFileEngine::setSize
+144 QAbstractFileEngine::caseSensitive
+152 QAbstractFileEngine::isRelativePath
+160 QAbstractFileEngine::entryList
+168 QAbstractFileEngine::fileFlags
+176 QAbstractFileEngine::setPermissions
+184 QAbstractFileEngine::fileName
+192 QAbstractFileEngine::ownerId
+200 QAbstractFileEngine::owner
+208 QAbstractFileEngine::fileTime
+216 QAbstractFileEngine::setFileName
+224 QAbstractFileEngine::handle
+232 QAbstractFileEngine::beginEntryList
+240 QAbstractFileEngine::endEntryList
+248 QAbstractFileEngine::read
+256 QAbstractFileEngine::readLine
+264 QAbstractFileEngine::write
+272 QAbstractFileEngine::extension
+280 QAbstractFileEngine::supportsExtension
+
+Class QAbstractFileEngine
+ size=16 align=8
+ base size=16 base align=8
+QAbstractFileEngine (0x7f4312d09930) 0
+ vptr=((& QAbstractFileEngine::_ZTV19QAbstractFileEngine) + 16u)
+
+Vtable for QAbstractFileEngineHandler
+QAbstractFileEngineHandler::_ZTV26QAbstractFileEngineHandler: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI26QAbstractFileEngineHandler)
+16 QAbstractFileEngineHandler::~QAbstractFileEngineHandler
+24 QAbstractFileEngineHandler::~QAbstractFileEngineHandler
+32 __cxa_pure_virtual
+
+Class QAbstractFileEngineHandler
+ size=8 align=8
+ base size=8 base align=8
+QAbstractFileEngineHandler (0x7f4312b5bcb0) 0 nearly-empty
+ vptr=((& QAbstractFileEngineHandler::_ZTV26QAbstractFileEngineHandler) + 16u)
+
+Vtable for QAbstractFileEngineIterator
+QAbstractFileEngineIterator::_ZTV27QAbstractFileEngineIterator: 9u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI27QAbstractFileEngineIterator)
+16 QAbstractFileEngineIterator::~QAbstractFileEngineIterator
+24 QAbstractFileEngineIterator::~QAbstractFileEngineIterator
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+48 __cxa_pure_virtual
+56 QAbstractFileEngineIterator::currentFileInfo
+64 QAbstractFileEngineIterator::entryInfo
+
+Class QAbstractFileEngineIterator
+ size=16 align=8
+ base size=16 base align=8
+QAbstractFileEngineIterator (0x7f4312b5be70) 0
+ vptr=((& QAbstractFileEngineIterator::_ZTV27QAbstractFileEngineIterator) + 16u)
+
+Vtable for QBuffer
+QBuffer::_ZTV7QBuffer: 30u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QBuffer)
+16 QBuffer::metaObject
+24 QBuffer::qt_metacast
+32 QBuffer::qt_metacall
+40 QBuffer::~QBuffer
+48 QBuffer::~QBuffer
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QBuffer::connectNotify
+104 QBuffer::disconnectNotify
+112 QIODevice::isSequential
+120 QBuffer::open
+128 QBuffer::close
+136 QBuffer::pos
+144 QBuffer::size
+152 QBuffer::seek
+160 QBuffer::atEnd
+168 QIODevice::reset
+176 QIODevice::bytesAvailable
+184 QIODevice::bytesToWrite
+192 QBuffer::canReadLine
+200 QIODevice::waitForReadyRead
+208 QIODevice::waitForBytesWritten
+216 QBuffer::readData
+224 QIODevice::readLineData
+232 QBuffer::writeData
+
+Class QBuffer
+ size=16 align=8
+ base size=16 base align=8
+QBuffer (0x7f4312b6c770) 0
+ vptr=((& QBuffer::_ZTV7QBuffer) + 16u)
+ QIODevice (0x7f4312b6c7e0) 0
+ primary-for QBuffer (0x7f4312b6c770)
+ QObject (0x7f4312b6c850) 0
+ primary-for QIODevice (0x7f4312b6c7e0)
+
+Class QHashData::Node
+ size=16 align=8
+ base size=16 base align=8
+QHashData::Node (0x7f4312bafee0) 0
+
+Class QHashData
+ size=40 align=8
+ base size=40 base align=8
+QHashData (0x7f4312bafe70) 0
+
+Class QHashDummyValue
+ size=1 align=1
+ base size=0 base align=1
+QHashDummyValue (0x7f4312bd2230) 0 empty
+
+Class QMapData::Node
+ size=16 align=8
+ base size=16 base align=8
+QMapData::Node (0x7f4312ad0b60) 0
+
+Class QMapData
+ size=128 align=8
+ base size=128 base align=8
+QMapData (0x7f4312ad0af0) 0
+
+Vtable for QSystemLocale
+QSystemLocale::_ZTV13QSystemLocale: 6u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QSystemLocale)
+16 QSystemLocale::~QSystemLocale
+24 QSystemLocale::~QSystemLocale
+32 QSystemLocale::query
+40 QSystemLocale::fallbackLocale
+
+Class QSystemLocale
+ size=8 align=8
+ base size=8 base align=8
+QSystemLocale (0x7f4312a0d770) 0 nearly-empty
+ vptr=((& QSystemLocale::_ZTV13QSystemLocale) + 16u)
+
+Class QLocale::Data
+ size=4 align=2
+ base size=4 base align=2
+QLocale::Data (0x7f4312855e70) 0
+
+Class QLocale
+ size=8 align=8
+ base size=8 base align=8
+QLocale (0x7f4312a0dbd0) 0
+
+Class QTextCodec::ConverterState
+ size=32 align=8
+ base size=32 base align=8
+QTextCodec::ConverterState (0x7f43128afcb0) 0
+
+Vtable for QTextCodec
+QTextCodec::_ZTV10QTextCodec: 9u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QTextCodec)
+16 __cxa_pure_virtual
+24 QTextCodec::aliases
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+48 __cxa_pure_virtual
+56 QTextCodec::~QTextCodec
+64 QTextCodec::~QTextCodec
+
+Class QTextCodec
+ size=8 align=8
+ base size=8 base align=8
+QTextCodec (0x7f431289f540) 0 nearly-empty
+ vptr=((& QTextCodec::_ZTV10QTextCodec) + 16u)
+
+Class QTextEncoder
+ size=40 align=8
+ base size=40 base align=8
+QTextEncoder (0x7f4312922230) 0
+
+Class QTextDecoder
+ size=40 align=8
+ base size=40 base align=8
+QTextDecoder (0x7f431292a070) 0
+
+Vtable for QTextStream
+QTextStream::_ZTV11QTextStream: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QTextStream)
+16 QTextStream::~QTextStream
+24 QTextStream::~QTextStream
+
+Class QTextStream
+ size=16 align=8
+ base size=16 base align=8
+QTextStream (0x7f431292ae70) 0
+ vptr=((& QTextStream::_ZTV11QTextStream) + 16u)
+
+Class QTextStreamManipulator
+ size=40 align=8
+ base size=38 base align=8
+QTextStreamManipulator (0x7f43127a2b60) 0
+
+Vtable for QTextIStream
+QTextIStream::_ZTV12QTextIStream: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QTextIStream)
+16 QTextIStream::~QTextIStream
+24 QTextIStream::~QTextIStream
+
+Class QTextIStream
+ size=16 align=8
+ base size=16 base align=8
+QTextIStream (0x7f43127d6150) 0
+ vptr=((& QTextIStream::_ZTV12QTextIStream) + 16u)
+ QTextStream (0x7f43127d61c0) 0
+ primary-for QTextIStream (0x7f43127d6150)
+
+Vtable for QTextOStream
+QTextOStream::_ZTV12QTextOStream: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QTextOStream)
+16 QTextOStream::~QTextOStream
+24 QTextOStream::~QTextOStream
+
+Class QTextOStream
+ size=16 align=8
+ base size=16 base align=8
+QTextOStream (0x7f43127ea000) 0
+ vptr=((& QTextOStream::_ZTV12QTextOStream) + 16u)
+ QTextStream (0x7f43127ea070) 0
+ primary-for QTextOStream (0x7f43127ea000)
+
+Class wait
+ size=4 align=4
+ base size=4 base align=4
+wait (0x7f43127f5e70) 0
+
+Class timespec
+ size=16 align=8
+ base size=16 base align=8
+timespec (0x7f43128021c0) 0
+
+Class timeval
+ size=16 align=8
+ base size=16 base align=8
+timeval (0x7f4312802230) 0
+
+Class __pthread_internal_list
+ size=16 align=8
+ base size=16 base align=8
+__pthread_internal_list (0x7f4312802380) 0
+
+Class random_data
+ size=48 align=8
+ base size=48 base align=8
+random_data (0x7f4312802930) 0
+
+Class drand48_data
+ size=24 align=8
+ base size=24 base align=8
+drand48_data (0x7f43128029a0) 0
+
+Class QVectorData
+ size=16 align=4
+ base size=16 base align=4
+QVectorData (0x7f4312802a10) 0
+
+Class QContiguousCacheData
+ size=24 align=4
+ base size=24 base align=4
+QContiguousCacheData (0x7f43125ba700) 0
+
+Class QDebug::Stream
+ size=40 align=8
+ base size=34 base align=8
+QDebug::Stream (0x7f4312418230) 0
+
+Class QDebug
+ size=8 align=8
+ base size=8 base align=8
+QDebug (0x7f43124181c0) 0
+
+Class QNoDebug
+ size=1 align=1
+ base size=0 base align=1
+QNoDebug (0x7f43124cc1c0) 0 empty
+
+Vtable for QDirIterator
+QDirIterator::_ZTV12QDirIterator: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QDirIterator)
+16 QDirIterator::~QDirIterator
+24 QDirIterator::~QDirIterator
+
+Class QDirIterator
+ size=16 align=8
+ base size=16 base align=8
+QDirIterator (0x7f43124dc850) 0
+ vptr=((& QDirIterator::_ZTV12QDirIterator) + 16u)
+
+Vtable for QFileSystemWatcher
+QFileSystemWatcher::_ZTV18QFileSystemWatcher: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QFileSystemWatcher)
+16 QFileSystemWatcher::metaObject
+24 QFileSystemWatcher::qt_metacast
+32 QFileSystemWatcher::qt_metacall
+40 QFileSystemWatcher::~QFileSystemWatcher
+48 QFileSystemWatcher::~QFileSystemWatcher
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QFileSystemWatcher
+ size=16 align=8
+ base size=16 base align=8
+QFileSystemWatcher (0x7f431232e620) 0
+ vptr=((& QFileSystemWatcher::_ZTV18QFileSystemWatcher) + 16u)
+ QObject (0x7f431232e690) 0
+ primary-for QFileSystemWatcher (0x7f431232e620)
+
+Vtable for QFSFileEngine
+QFSFileEngine::_ZTV13QFSFileEngine: 36u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QFSFileEngine)
+16 QFSFileEngine::~QFSFileEngine
+24 QFSFileEngine::~QFSFileEngine
+32 QFSFileEngine::open
+40 QFSFileEngine::close
+48 QFSFileEngine::flush
+56 QFSFileEngine::size
+64 QFSFileEngine::pos
+72 QFSFileEngine::seek
+80 QFSFileEngine::isSequential
+88 QFSFileEngine::remove
+96 QFSFileEngine::copy
+104 QFSFileEngine::rename
+112 QFSFileEngine::link
+120 QFSFileEngine::mkdir
+128 QFSFileEngine::rmdir
+136 QFSFileEngine::setSize
+144 QFSFileEngine::caseSensitive
+152 QFSFileEngine::isRelativePath
+160 QFSFileEngine::entryList
+168 QFSFileEngine::fileFlags
+176 QFSFileEngine::setPermissions
+184 QFSFileEngine::fileName
+192 QFSFileEngine::ownerId
+200 QFSFileEngine::owner
+208 QFSFileEngine::fileTime
+216 QFSFileEngine::setFileName
+224 QFSFileEngine::handle
+232 QFSFileEngine::beginEntryList
+240 QFSFileEngine::endEntryList
+248 QFSFileEngine::read
+256 QFSFileEngine::readLine
+264 QFSFileEngine::write
+272 QFSFileEngine::extension
+280 QFSFileEngine::supportsExtension
+
+Class QFSFileEngine
+ size=16 align=8
+ base size=16 base align=8
+QFSFileEngine (0x7f431234cb60) 0
+ vptr=((& QFSFileEngine::_ZTV13QFSFileEngine) + 16u)
+ QAbstractFileEngine (0x7f431234cbd0) 0
+ primary-for QFSFileEngine (0x7f431234cb60)
+
+Class QSharedData
+ size=4 align=4
+ base size=4 base align=4
+QSharedData (0x7f431235bf50) 0
+
+Class QProcessEnvironment
+ size=8 align=8
+ base size=8 base align=8
+QProcessEnvironment (0x7f43123a32a0) 0
+
+Vtable for QProcess
+QProcess::_ZTV8QProcess: 31u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI8QProcess)
+16 QProcess::metaObject
+24 QProcess::qt_metacast
+32 QProcess::qt_metacall
+40 QProcess::~QProcess
+48 QProcess::~QProcess
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QProcess::isSequential
+120 QIODevice::open
+128 QProcess::close
+136 QIODevice::pos
+144 QIODevice::size
+152 QIODevice::seek
+160 QProcess::atEnd
+168 QIODevice::reset
+176 QProcess::bytesAvailable
+184 QProcess::bytesToWrite
+192 QProcess::canReadLine
+200 QProcess::waitForReadyRead
+208 QProcess::waitForBytesWritten
+216 QProcess::readData
+224 QIODevice::readLineData
+232 QProcess::writeData
+240 QProcess::setupChildProcess
+
+Class QProcess
+ size=16 align=8
+ base size=16 base align=8
+QProcess (0x7f43123a3d90) 0
+ vptr=((& QProcess::_ZTV8QProcess) + 16u)
+ QIODevice (0x7f43123a3e00) 0
+ primary-for QProcess (0x7f43123a3d90)
+ QObject (0x7f43123a3e70) 0
+ primary-for QIODevice (0x7f43123a3e00)
+
+Class QResource
+ size=8 align=8
+ base size=8 base align=8
+QResource (0x7f43123ec2a0) 0
+
+Class QMetaType
+ size=1 align=1
+ base size=0 base align=1
+QMetaType (0x7f43123ecf50) 0 empty
+
+Class QVariant::PrivateShared
+ size=16 align=8
+ base size=12 base align=8
+QVariant::PrivateShared (0x7f43122ea7e0) 0
+
+Class QVariant::Private::Data
+ size=8 align=8
+ base size=8 base align=8
+QVariant::Private::Data (0x7f43122eaaf0) 0
+
+Class QVariant::Private
+ size=16 align=8
+ base size=12 base align=8
+QVariant::Private (0x7f43122ea8c0) 0
+
+Class QVariant::Handler
+ size=72 align=8
+ base size=72 base align=8
+QVariant::Handler (0x7f43122f87e0) 0
+
+Class QVariant
+ size=16 align=8
+ base size=16 base align=8
+QVariant (0x7f43122ba8c0) 0
+
+Class QVariantComparisonHelper
+ size=8 align=8
+ base size=8 base align=8
+QVariantComparisonHelper (0x7f43121ada80) 0
+
+Vtable for QSettings
+QSettings::_ZTV9QSettings: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QSettings)
+16 QSettings::metaObject
+24 QSettings::qt_metacast
+32 QSettings::qt_metacall
+40 QSettings::~QSettings
+48 QSettings::~QSettings
+56 QSettings::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QSettings
+ size=16 align=8
+ base size=16 base align=8
+QSettings (0x7f43121eb000) 0
+ vptr=((& QSettings::_ZTV9QSettings) + 16u)
+ QObject (0x7f43121eb070) 0
+ primary-for QSettings (0x7f43121eb000)
+
+Vtable for QTemporaryFile
+QTemporaryFile::_ZTV14QTemporaryFile: 31u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QTemporaryFile)
+16 QTemporaryFile::metaObject
+24 QTemporaryFile::qt_metacast
+32 QTemporaryFile::qt_metacall
+40 QTemporaryFile::~QTemporaryFile
+48 QTemporaryFile::~QTemporaryFile
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QFile::isSequential
+120 QTemporaryFile::open
+128 QFile::close
+136 QFile::pos
+144 QFile::size
+152 QFile::seek
+160 QFile::atEnd
+168 QIODevice::reset
+176 QIODevice::bytesAvailable
+184 QIODevice::bytesToWrite
+192 QIODevice::canReadLine
+200 QIODevice::waitForReadyRead
+208 QIODevice::waitForBytesWritten
+216 QFile::readData
+224 QFile::readLineData
+232 QFile::writeData
+240 QTemporaryFile::fileEngine
+
+Class QTemporaryFile
+ size=16 align=8
+ base size=16 base align=8
+QTemporaryFile (0x7f4312054380) 0
+ vptr=((& QTemporaryFile::_ZTV14QTemporaryFile) + 16u)
+ QFile (0x7f43120543f0) 0
+ primary-for QTemporaryFile (0x7f4312054380)
+ QIODevice (0x7f4312054460) 0
+ primary-for QFile (0x7f43120543f0)
+ QObject (0x7f43120544d0) 0
+ primary-for QIODevice (0x7f4312054460)
+
+Class QUrl
+ size=8 align=8
+ base size=8 base align=8
+QUrl (0x7f431206ea80) 0
+
+Class QXmlStreamStringRef
+ size=16 align=8
+ base size=16 base align=8
+QXmlStreamStringRef (0x7f43120fc150) 0
+
+Class QXmlStreamAttribute
+ size=80 align=8
+ base size=73 base align=8
+QXmlStreamAttribute (0x7f4311f169a0) 0
+
+Class QXmlStreamAttributes
+ size=8 align=8
+ base size=8 base align=8
+QXmlStreamAttributes (0x7f4311f3f3f0) 0
+ QVector<QXmlStreamAttribute> (0x7f4311f3f460) 0
+
+Class QXmlStreamNamespaceDeclaration
+ size=40 align=8
+ base size=40 base align=8
+QXmlStreamNamespaceDeclaration (0x7f4311f3f8c0) 0
+
+Class QXmlStreamNotationDeclaration
+ size=56 align=8
+ base size=56 base align=8
+QXmlStreamNotationDeclaration (0x7f4311f812a0) 0
+
+Class QXmlStreamEntityDeclaration
+ size=88 align=8
+ base size=88 base align=8
+QXmlStreamEntityDeclaration (0x7f4311f9e150) 0
+
+Vtable for QXmlStreamEntityResolver
+QXmlStreamEntityResolver::_ZTV24QXmlStreamEntityResolver: 6u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI24QXmlStreamEntityResolver)
+16 QXmlStreamEntityResolver::~QXmlStreamEntityResolver
+24 QXmlStreamEntityResolver::~QXmlStreamEntityResolver
+32 QXmlStreamEntityResolver::resolveEntity
+40 QXmlStreamEntityResolver::resolveUndeclaredEntity
+
+Class QXmlStreamEntityResolver
+ size=8 align=8
+ base size=8 base align=8
+QXmlStreamEntityResolver (0x7f4311fbba80) 0 nearly-empty
+ vptr=((& QXmlStreamEntityResolver::_ZTV24QXmlStreamEntityResolver) + 16u)
+
+Class QXmlStreamReader
+ size=8 align=8
+ base size=8 base align=8
+QXmlStreamReader (0x7f4311fbbc40) 0
+
+Class QXmlStreamWriter
+ size=8 align=8
+ base size=8 base align=8
+QXmlStreamWriter (0x7f4311e01d20) 0
+
+Vtable for QAbstractState
+QAbstractState::_ZTV14QAbstractState: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QAbstractState)
+16 QAbstractState::metaObject
+24 QAbstractState::qt_metacast
+32 QAbstractState::qt_metacall
+40 QAbstractState::~QAbstractState
+48 QAbstractState::~QAbstractState
+56 QAbstractState::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+
+Class QAbstractState
+ size=16 align=8
+ base size=16 base align=8
+QAbstractState (0x7f4311e19b60) 0
+ vptr=((& QAbstractState::_ZTV14QAbstractState) + 16u)
+ QObject (0x7f4311e19bd0) 0
+ primary-for QAbstractState (0x7f4311e19b60)
+
+Vtable for QAbstractTransition
+QAbstractTransition::_ZTV19QAbstractTransition: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QAbstractTransition)
+16 QAbstractTransition::metaObject
+24 QAbstractTransition::qt_metacast
+32 QAbstractTransition::qt_metacall
+40 QAbstractTransition::~QAbstractTransition
+48 QAbstractTransition::~QAbstractTransition
+56 QAbstractTransition::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+
+Class QAbstractTransition
+ size=16 align=8
+ base size=16 base align=8
+QAbstractTransition (0x7f4311e3e380) 0
+ vptr=((& QAbstractTransition::_ZTV19QAbstractTransition) + 16u)
+ QObject (0x7f4311e3e3f0) 0
+ primary-for QAbstractTransition (0x7f4311e3e380)
+
+Vtable for QEvent
+QEvent::_ZTV6QEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI6QEvent)
+16 QEvent::~QEvent
+24 QEvent::~QEvent
+
+Class QEvent
+ size=24 align=8
+ base size=20 base align=8
+QEvent (0x7f4311e52bd0) 0
+ vptr=((& QEvent::_ZTV6QEvent) + 16u)
+
+Vtable for QTimerEvent
+QTimerEvent::_ZTV11QTimerEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QTimerEvent)
+16 QTimerEvent::~QTimerEvent
+24 QTimerEvent::~QTimerEvent
+
+Class QTimerEvent
+ size=24 align=8
+ base size=24 base align=8
+QTimerEvent (0x7f4311e757e0) 0
+ vptr=((& QTimerEvent::_ZTV11QTimerEvent) + 16u)
+ QEvent (0x7f4311e75850) 0
+ primary-for QTimerEvent (0x7f4311e757e0)
+
+Vtable for QChildEvent
+QChildEvent::_ZTV11QChildEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QChildEvent)
+16 QChildEvent::~QChildEvent
+24 QChildEvent::~QChildEvent
+
+Class QChildEvent
+ size=32 align=8
+ base size=32 base align=8
+QChildEvent (0x7f4311e75c40) 0
+ vptr=((& QChildEvent::_ZTV11QChildEvent) + 16u)
+ QEvent (0x7f4311e75cb0) 0
+ primary-for QChildEvent (0x7f4311e75c40)
+
+Vtable for QCustomEvent
+QCustomEvent::_ZTV12QCustomEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QCustomEvent)
+16 QCustomEvent::~QCustomEvent
+24 QCustomEvent::~QCustomEvent
+
+Class QCustomEvent
+ size=24 align=8
+ base size=20 base align=8
+QCustomEvent (0x7f4311e7dee0) 0
+ vptr=((& QCustomEvent::_ZTV12QCustomEvent) + 16u)
+ QEvent (0x7f4311e7df50) 0
+ primary-for QCustomEvent (0x7f4311e7dee0)
+
+Vtable for QDynamicPropertyChangeEvent
+QDynamicPropertyChangeEvent::_ZTV27QDynamicPropertyChangeEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI27QDynamicPropertyChangeEvent)
+16 QDynamicPropertyChangeEvent::~QDynamicPropertyChangeEvent
+24 QDynamicPropertyChangeEvent::~QDynamicPropertyChangeEvent
+
+Class QDynamicPropertyChangeEvent
+ size=32 align=8
+ base size=32 base align=8
+QDynamicPropertyChangeEvent (0x7f4311e8b700) 0
+ vptr=((& QDynamicPropertyChangeEvent::_ZTV27QDynamicPropertyChangeEvent) + 16u)
+ QEvent (0x7f4311e8b770) 0
+ primary-for QDynamicPropertyChangeEvent (0x7f4311e8b700)
+
+Vtable for QEventTransition
+QEventTransition::_ZTV16QEventTransition: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QEventTransition)
+16 QEventTransition::metaObject
+24 QEventTransition::qt_metacast
+32 QEventTransition::qt_metacall
+40 QEventTransition::~QEventTransition
+48 QEventTransition::~QEventTransition
+56 QEventTransition::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QEventTransition::eventTest
+120 QEventTransition::onTransition
+
+Class QEventTransition
+ size=16 align=8
+ base size=16 base align=8
+QEventTransition (0x7f4311e8bbd0) 0
+ vptr=((& QEventTransition::_ZTV16QEventTransition) + 16u)
+ QAbstractTransition (0x7f4311e8bc40) 0
+ primary-for QEventTransition (0x7f4311e8bbd0)
+ QObject (0x7f4311e8bcb0) 0
+ primary-for QAbstractTransition (0x7f4311e8bc40)
+
+Vtable for QFinalState
+QFinalState::_ZTV11QFinalState: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QFinalState)
+16 QFinalState::metaObject
+24 QFinalState::qt_metacast
+32 QFinalState::qt_metacall
+40 QFinalState::~QFinalState
+48 QFinalState::~QFinalState
+56 QFinalState::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QFinalState::onEntry
+120 QFinalState::onExit
+
+Class QFinalState
+ size=16 align=8
+ base size=16 base align=8
+QFinalState (0x7f4311eaaa80) 0
+ vptr=((& QFinalState::_ZTV11QFinalState) + 16u)
+ QAbstractState (0x7f4311eaaaf0) 0
+ primary-for QFinalState (0x7f4311eaaa80)
+ QObject (0x7f4311eaab60) 0
+ primary-for QAbstractState (0x7f4311eaaaf0)
+
+Vtable for QHistoryState
+QHistoryState::_ZTV13QHistoryState: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QHistoryState)
+16 QHistoryState::metaObject
+24 QHistoryState::qt_metacast
+32 QHistoryState::qt_metacall
+40 QHistoryState::~QHistoryState
+48 QHistoryState::~QHistoryState
+56 QHistoryState::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QHistoryState::onEntry
+120 QHistoryState::onExit
+
+Class QHistoryState
+ size=16 align=8
+ base size=16 base align=8
+QHistoryState (0x7f4311ec5310) 0
+ vptr=((& QHistoryState::_ZTV13QHistoryState) + 16u)
+ QAbstractState (0x7f4311ec5380) 0
+ primary-for QHistoryState (0x7f4311ec5310)
+ QObject (0x7f4311ec53f0) 0
+ primary-for QAbstractState (0x7f4311ec5380)
+
+Vtable for QSignalTransition
+QSignalTransition::_ZTV17QSignalTransition: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QSignalTransition)
+16 QSignalTransition::metaObject
+24 QSignalTransition::qt_metacast
+32 QSignalTransition::qt_metacall
+40 QSignalTransition::~QSignalTransition
+48 QSignalTransition::~QSignalTransition
+56 QSignalTransition::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QSignalTransition::eventTest
+120 QSignalTransition::onTransition
+
+Class QSignalTransition
+ size=16 align=8
+ base size=16 base align=8
+QSignalTransition (0x7f4311ede070) 0
+ vptr=((& QSignalTransition::_ZTV17QSignalTransition) + 16u)
+ QAbstractTransition (0x7f4311ede0e0) 0
+ primary-for QSignalTransition (0x7f4311ede070)
+ QObject (0x7f4311ede150) 0
+ primary-for QAbstractTransition (0x7f4311ede0e0)
+
+Vtable for QState
+QState::_ZTV6QState: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI6QState)
+16 QState::metaObject
+24 QState::qt_metacast
+32 QState::qt_metacall
+40 QState::~QState
+48 QState::~QState
+56 QState::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QState::onEntry
+120 QState::onExit
+
+Class QState
+ size=16 align=8
+ base size=16 base align=8
+QState (0x7f4311ef2bd0) 0
+ vptr=((& QState::_ZTV6QState) + 16u)
+ QAbstractState (0x7f4311ef2c40) 0
+ primary-for QState (0x7f4311ef2bd0)
+ QObject (0x7f4311ef2cb0) 0
+ primary-for QAbstractState (0x7f4311ef2c40)
+
+Vtable for QStateMachine::SignalEvent
+QStateMachine::SignalEvent::_ZTVN13QStateMachine11SignalEventE: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN13QStateMachine11SignalEventE)
+16 QStateMachine::SignalEvent::~SignalEvent
+24 QStateMachine::SignalEvent::~SignalEvent
+
+Class QStateMachine::SignalEvent
+ size=48 align=8
+ base size=48 base align=8
+QStateMachine::SignalEvent (0x7f4311d16230) 0
+ vptr=((& QStateMachine::SignalEvent::_ZTVN13QStateMachine11SignalEventE) + 16u)
+ QEvent (0x7f4311d162a0) 0
+ primary-for QStateMachine::SignalEvent (0x7f4311d16230)
+
+Vtable for QStateMachine::WrappedEvent
+QStateMachine::WrappedEvent::_ZTVN13QStateMachine12WrappedEventE: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN13QStateMachine12WrappedEventE)
+16 QStateMachine::WrappedEvent::~WrappedEvent
+24 QStateMachine::WrappedEvent::~WrappedEvent
+
+Class QStateMachine::WrappedEvent
+ size=40 align=8
+ base size=40 base align=8
+QStateMachine::WrappedEvent (0x7f4311d167e0) 0
+ vptr=((& QStateMachine::WrappedEvent::_ZTVN13QStateMachine12WrappedEventE) + 16u)
+ QEvent (0x7f4311d16850) 0
+ primary-for QStateMachine::WrappedEvent (0x7f4311d167e0)
+
+Vtable for QStateMachine
+QStateMachine::_ZTV13QStateMachine: 20u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QStateMachine)
+16 QStateMachine::metaObject
+24 QStateMachine::qt_metacast
+32 QStateMachine::qt_metacall
+40 QStateMachine::~QStateMachine
+48 QStateMachine::~QStateMachine
+56 QStateMachine::event
+64 QStateMachine::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QStateMachine::onEntry
+120 QStateMachine::onExit
+128 QStateMachine::beginSelectTransitions
+136 QStateMachine::endSelectTransitions
+144 QStateMachine::beginMicrostep
+152 QStateMachine::endMicrostep
+
+Class QStateMachine
+ size=16 align=8
+ base size=16 base align=8
+QStateMachine (0x7f4311d16000) 0
+ vptr=((& QStateMachine::_ZTV13QStateMachine) + 16u)
+ QState (0x7f4311d16070) 0
+ primary-for QStateMachine (0x7f4311d16000)
+ QAbstractState (0x7f4311d160e0) 0
+ primary-for QState (0x7f4311d16070)
+ QObject (0x7f4311d16150) 0
+ primary-for QAbstractState (0x7f4311d160e0)
+
+Class QBitArray
+ size=8 align=8
+ base size=8 base align=8
+QBitArray (0x7f4311d46230) 0
+
+Class QBitRef
+ size=16 align=8
+ base size=12 base align=8
+QBitRef (0x7f4311d9bee0) 0
+
+Class QByteArrayMatcher::Data
+ size=272 align=8
+ base size=272 base align=8
+QByteArrayMatcher::Data (0x7f4311dafbd0) 0
+
+Class QByteArrayMatcher
+ size=1040 align=8
+ base size=1040 base align=8
+QByteArrayMatcher (0x7f4311daf5b0) 0
+
+Class QCryptographicHash
+ size=8 align=8
+ base size=8 base align=8
+QCryptographicHash (0x7f4311de1230) 0
+
+Vtable for QtSharedPointer::ExternalRefCountData
+QtSharedPointer::ExternalRefCountData::_ZTVN15QtSharedPointer20ExternalRefCountDataE: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN15QtSharedPointer20ExternalRefCountDataE)
+16 QtSharedPointer::ExternalRefCountData::~ExternalRefCountData
+24 QtSharedPointer::ExternalRefCountData::~ExternalRefCountData
+32 QtSharedPointer::ExternalRefCountData::destroy
+
+Class QtSharedPointer::ExternalRefCountData
+ size=16 align=8
+ base size=16 base align=8
+QtSharedPointer::ExternalRefCountData (0x7f4311c10150) 0
+ vptr=((& QtSharedPointer::ExternalRefCountData::_ZTVN15QtSharedPointer20ExternalRefCountDataE) + 16u)
+
+Vtable for QtSharedPointer::ExternalRefCountWithDestroyFn
+QtSharedPointer::ExternalRefCountWithDestroyFn::_ZTVN15QtSharedPointer29ExternalRefCountWithDestroyFnE: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN15QtSharedPointer29ExternalRefCountWithDestroyFnE)
+16 QtSharedPointer::ExternalRefCountWithDestroyFn::~ExternalRefCountWithDestroyFn
+24 QtSharedPointer::ExternalRefCountWithDestroyFn::~ExternalRefCountWithDestroyFn
+32 QtSharedPointer::ExternalRefCountWithDestroyFn::destroy
+
+Class QtSharedPointer::ExternalRefCountWithDestroyFn
+ size=24 align=8
+ base size=24 base align=8
+QtSharedPointer::ExternalRefCountWithDestroyFn (0x7f4311c28a10) 0
+ vptr=((& QtSharedPointer::ExternalRefCountWithDestroyFn::_ZTVN15QtSharedPointer29ExternalRefCountWithDestroyFnE) + 16u)
+ QtSharedPointer::ExternalRefCountData (0x7f4311c28a80) 0
+ primary-for QtSharedPointer::ExternalRefCountWithDestroyFn (0x7f4311c28a10)
+
+Class QDate
+ size=4 align=4
+ base size=4 base align=4
+QDate (0x7f4311cac690) 0
+
+Class QTime
+ size=4 align=4
+ base size=4 base align=4
+QTime (0x7f4311ce1620) 0
+
+Class QDateTime
+ size=8 align=8
+ base size=8 base align=8
+QDateTime (0x7f4311cfdbd0) 0
+
+Class QEasingCurve
+ size=8 align=8
+ base size=8 base align=8
+QEasingCurve (0x7f4311b3f0e0) 0
+
+Class QPoint
+ size=8 align=4
+ base size=8 base align=4
+QPoint (0x7f4311b3fd20) 0
+
+Class QPointF
+ size=16 align=8
+ base size=16 base align=8
+QPointF (0x7f4311b85bd0) 0
+
+Class QLine
+ size=16 align=4
+ base size=16 base align=4
+QLine (0x7f4311bc2bd0) 0
+
+Class QLineF
+ size=32 align=8
+ base size=32 base align=8
+QLineF (0x7f4311bfea80) 0
+
+Class QLinkedListData
+ size=32 align=8
+ base size=32 base align=8
+QLinkedListData (0x7f4311a53540) 0
+
+Class QMargins
+ size=16 align=4
+ base size=16 base align=4
+QMargins (0x7f4311912460) 0
+
+Class QSize
+ size=8 align=4
+ base size=8 base align=4
+QSize (0x7f431193f230) 0
+
+Class QSizeF
+ size=16 align=8
+ base size=16 base align=8
+QSizeF (0x7f4311980ee0) 0
+
+Class QRect
+ size=16 align=4
+ base size=16 base align=4
+QRect (0x7f43119d3460) 0
+
+Class QRectF
+ size=32 align=8
+ base size=32 base align=8
+QRectF (0x7f4311880e00) 0
+
+Class QLatin1Literal
+ size=16 align=8
+ base size=16 base align=8
+QLatin1Literal (0x7f4311731540) 0
+
+Class QAbstractConcatenable
+ size=1 align=1
+ base size=0 base align=1
+QAbstractConcatenable (0x7f43117424d0) 0 empty
+
+Class QTextBoundaryFinder
+ size=48 align=8
+ base size=48 base align=8
+QTextBoundaryFinder (0x7f431177b460) 0
+
+Vtable for QTimeLine
+QTimeLine::_ZTV9QTimeLine: 15u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QTimeLine)
+16 QTimeLine::metaObject
+24 QTimeLine::qt_metacast
+32 QTimeLine::qt_metacall
+40 QTimeLine::~QTimeLine
+48 QTimeLine::~QTimeLine
+56 QObject::event
+64 QObject::eventFilter
+72 QTimeLine::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QTimeLine::valueForTime
+
+Class QTimeLine
+ size=16 align=8
+ base size=16 base align=8
+QTimeLine (0x7f43117887e0) 0
+ vptr=((& QTimeLine::_ZTV9QTimeLine) + 16u)
+ QObject (0x7f4311788850) 0
+ primary-for QTimeLine (0x7f43117887e0)
+
+Vtable for QRunnable
+QRunnable::_ZTV9QRunnable: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QRunnable)
+16 __cxa_pure_virtual
+24 QRunnable::~QRunnable
+32 QRunnable::~QRunnable
+
+Class QRunnable
+ size=16 align=8
+ base size=12 base align=8
+QRunnable (0x7f43117d5070) 0
+ vptr=((& QRunnable::_ZTV9QRunnable) + 16u)
+
+Class QMutex
+ size=8 align=8
+ base size=8 base align=8
+QMutex (0x7f43117e9700) 0
+
+Class QMutexLocker
+ size=8 align=8
+ base size=8 base align=8
+QMutexLocker (0x7f43115f82a0) 0
+
+Vtable for QtConcurrent::Exception
+QtConcurrent::Exception::_ZTVN12QtConcurrent9ExceptionE: 7u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN12QtConcurrent9ExceptionE)
+16 QtConcurrent::Exception::~Exception
+24 QtConcurrent::Exception::~Exception
+32 std::exception::what
+40 QtConcurrent::Exception::raise
+48 QtConcurrent::Exception::clone
+
+Class QtConcurrent::Exception
+ size=8 align=8
+ base size=8 base align=8
+QtConcurrent::Exception (0x7f431160e5b0) 0 nearly-empty
+ vptr=((& QtConcurrent::Exception::_ZTVN12QtConcurrent9ExceptionE) + 16u)
+ std::exception (0x7f431160e620) 0 nearly-empty
+ primary-for QtConcurrent::Exception (0x7f431160e5b0)
+
+Vtable for QtConcurrent::UnhandledException
+QtConcurrent::UnhandledException::_ZTVN12QtConcurrent18UnhandledExceptionE: 7u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN12QtConcurrent18UnhandledExceptionE)
+16 QtConcurrent::UnhandledException::~UnhandledException
+24 QtConcurrent::UnhandledException::~UnhandledException
+32 std::exception::what
+40 QtConcurrent::UnhandledException::raise
+48 QtConcurrent::UnhandledException::clone
+
+Class QtConcurrent::UnhandledException
+ size=8 align=8
+ base size=8 base align=8
+QtConcurrent::UnhandledException (0x7f431160e850) 0 nearly-empty
+ vptr=((& QtConcurrent::UnhandledException::_ZTVN12QtConcurrent18UnhandledExceptionE) + 16u)
+ QtConcurrent::Exception (0x7f431160e8c0) 0 nearly-empty
+ primary-for QtConcurrent::UnhandledException (0x7f431160e850)
+ std::exception (0x7f431160e930) 0 nearly-empty
+ primary-for QtConcurrent::Exception (0x7f431160e8c0)
+
+Class QtConcurrent::internal::ExceptionHolder
+ size=8 align=8
+ base size=8 base align=8
+QtConcurrent::internal::ExceptionHolder (0x7f431160eb60) 0
+
+Class QtConcurrent::internal::ExceptionStore
+ size=8 align=8
+ base size=8 base align=8
+QtConcurrent::internal::ExceptionStore (0x7f431160eee0) 0
+
+Class QtConcurrent::ResultItem
+ size=16 align=8
+ base size=16 base align=8
+QtConcurrent::ResultItem (0x7f431160ef50) 0
+
+Class QtConcurrent::ResultIteratorBase
+ size=16 align=8
+ base size=12 base align=8
+QtConcurrent::ResultIteratorBase (0x7f4311626e70) 0
+
+Vtable for QtConcurrent::ResultStoreBase
+QtConcurrent::ResultStoreBase::_ZTVN12QtConcurrent15ResultStoreBaseE: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN12QtConcurrent15ResultStoreBaseE)
+16 QtConcurrent::ResultStoreBase::~ResultStoreBase
+24 QtConcurrent::ResultStoreBase::~ResultStoreBase
+
+Class QtConcurrent::ResultStoreBase
+ size=48 align=8
+ base size=44 base align=8
+QtConcurrent::ResultStoreBase (0x7f4311629a10) 0
+ vptr=((& QtConcurrent::ResultStoreBase::_ZTVN12QtConcurrent15ResultStoreBaseE) + 16u)
+
+Vtable for QFutureInterfaceBase
+QFutureInterfaceBase::_ZTV20QFutureInterfaceBase: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI20QFutureInterfaceBase)
+16 QFutureInterfaceBase::~QFutureInterfaceBase
+24 QFutureInterfaceBase::~QFutureInterfaceBase
+
+Class QFutureInterfaceBase
+ size=16 align=8
+ base size=16 base align=8
+QFutureInterfaceBase (0x7f4311669e70) 0
+ vptr=((& QFutureInterfaceBase::_ZTV20QFutureInterfaceBase) + 16u)
+
+Vtable for QFutureWatcherBase
+QFutureWatcherBase::_ZTV18QFutureWatcherBase: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QFutureWatcherBase)
+16 QFutureWatcherBase::metaObject
+24 QFutureWatcherBase::qt_metacast
+32 QFutureWatcherBase::qt_metacall
+40 QFutureWatcherBase::~QFutureWatcherBase
+48 QFutureWatcherBase::~QFutureWatcherBase
+56 QFutureWatcherBase::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QFutureWatcherBase::connectNotify
+104 QFutureWatcherBase::disconnectNotify
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+
+Class QFutureWatcherBase
+ size=16 align=8
+ base size=16 base align=8
+QFutureWatcherBase (0x7f431154d770) 0
+ vptr=((& QFutureWatcherBase::_ZTV18QFutureWatcherBase) + 16u)
+ QObject (0x7f431154d7e0) 0
+ primary-for QFutureWatcherBase (0x7f431154d770)
+
+Vtable for QThread
+QThread::_ZTV7QThread: 15u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QThread)
+16 QThread::metaObject
+24 QThread::qt_metacast
+32 QThread::qt_metacall
+40 QThread::~QThread
+48 QThread::~QThread
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QThread::run
+
+Class QThread
+ size=16 align=8
+ base size=16 base align=8
+QThread (0x7f431159db60) 0
+ vptr=((& QThread::_ZTV7QThread) + 16u)
+ QObject (0x7f431159dbd0) 0
+ primary-for QThread (0x7f431159db60)
+
+Vtable for QThreadPool
+QThreadPool::_ZTV11QThreadPool: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QThreadPool)
+16 QThreadPool::metaObject
+24 QThreadPool::qt_metacast
+32 QThreadPool::qt_metacall
+40 QThreadPool::~QThreadPool
+48 QThreadPool::~QThreadPool
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QThreadPool
+ size=16 align=8
+ base size=16 base align=8
+QThreadPool (0x7f43115c6a10) 0
+ vptr=((& QThreadPool::_ZTV11QThreadPool) + 16u)
+ QObject (0x7f43115c6a80) 0
+ primary-for QThreadPool (0x7f43115c6a10)
+
+Class QWaitCondition
+ size=8 align=8
+ base size=8 base align=8
+QWaitCondition (0x7f43115de000) 0
+
+Class QSemaphore
+ size=8 align=8
+ base size=8 base align=8
+QSemaphore (0x7f43115de540) 0
+
+Class QtConcurrent::ThreadEngineBarrier
+ size=24 align=8
+ base size=24 base align=8
+QtConcurrent::ThreadEngineBarrier (0x7f43115dea80) 0
+
+Vtable for QtConcurrent::ThreadEngineBase
+QtConcurrent::ThreadEngineBase::_ZTVN12QtConcurrent16ThreadEngineBaseE: 11u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN12QtConcurrent16ThreadEngineBaseE)
+16 QtConcurrent::ThreadEngineBase::run
+24 QtConcurrent::ThreadEngineBase::~ThreadEngineBase
+32 QtConcurrent::ThreadEngineBase::~ThreadEngineBase
+40 QtConcurrent::ThreadEngineBase::start
+48 QtConcurrent::ThreadEngineBase::finish
+56 QtConcurrent::ThreadEngineBase::threadFunction
+64 QtConcurrent::ThreadEngineBase::shouldStartThread
+72 QtConcurrent::ThreadEngineBase::shouldThrottleThread
+80 __cxa_pure_virtual
+
+Class QtConcurrent::ThreadEngineBase
+ size=64 align=8
+ base size=64 base align=8
+QtConcurrent::ThreadEngineBase (0x7f43115deb60) 0
+ vptr=((& QtConcurrent::ThreadEngineBase::_ZTVN12QtConcurrent16ThreadEngineBaseE) + 16u)
+ QRunnable (0x7f43115debd0) 0
+ primary-for QtConcurrent::ThreadEngineBase (0x7f43115deb60)
+
+VTT for QtConcurrent::ThreadEngine<void>
+QtConcurrent::ThreadEngine<void>::_ZTTN12QtConcurrent12ThreadEngineIvEE: 2u entries
+0 ((& QtConcurrent::ThreadEngine<void>::_ZTVN12QtConcurrent12ThreadEngineIvEE) + 24u)
+8 ((& QtConcurrent::ThreadEngine<void>::_ZTVN12QtConcurrent12ThreadEngineIvEE) + 136u)
+
+Class QtConcurrent::BlockSizeManager
+ size=96 align=8
+ base size=92 base align=8
+QtConcurrent::BlockSizeManager (0x7f4311434000) 0
+
+Vtable for QFactoryInterface
+QFactoryInterface::_ZTV17QFactoryInterface: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QFactoryInterface)
+16 QFactoryInterface::~QFactoryInterface
+24 QFactoryInterface::~QFactoryInterface
+32 __cxa_pure_virtual
+
+Class QFactoryInterface
+ size=8 align=8
+ base size=8 base align=8
+QFactoryInterface (0x7f43110cde00) 0 nearly-empty
+ vptr=((& QFactoryInterface::_ZTV17QFactoryInterface) + 16u)
+
+Vtable for QTextCodecFactoryInterface
+QTextCodecFactoryInterface::_ZTV26QTextCodecFactoryInterface: 6u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI26QTextCodecFactoryInterface)
+16 QTextCodecFactoryInterface::~QTextCodecFactoryInterface
+24 QTextCodecFactoryInterface::~QTextCodecFactoryInterface
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+
+Class QTextCodecFactoryInterface
+ size=8 align=8
+ base size=8 base align=8
+QTextCodecFactoryInterface (0x7f4310f000e0) 0 nearly-empty
+ vptr=((& QTextCodecFactoryInterface::_ZTV26QTextCodecFactoryInterface) + 16u)
+ QFactoryInterface (0x7f4310f00150) 0 nearly-empty
+ primary-for QTextCodecFactoryInterface (0x7f4310f000e0)
+
+Vtable for QTextCodecPlugin
+QTextCodecPlugin::_ZTV16QTextCodecPlugin: 27u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QTextCodecPlugin)
+16 QTextCodecPlugin::metaObject
+24 QTextCodecPlugin::qt_metacast
+32 QTextCodecPlugin::qt_metacall
+40 QTextCodecPlugin::~QTextCodecPlugin
+48 QTextCodecPlugin::~QTextCodecPlugin
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 __cxa_pure_virtual
+136 __cxa_pure_virtual
+144 __cxa_pure_virtual
+152 QTextCodecPlugin::keys
+160 QTextCodecPlugin::create
+168 (int (*)(...))-0x00000000000000010
+176 (int (*)(...))(& _ZTI16QTextCodecPlugin)
+184 QTextCodecPlugin::_ZThn16_N16QTextCodecPluginD1Ev
+192 QTextCodecPlugin::_ZThn16_N16QTextCodecPluginD0Ev
+200 QTextCodecPlugin::_ZThn16_NK16QTextCodecPlugin4keysEv
+208 QTextCodecPlugin::_ZThn16_N16QTextCodecPlugin6createERK7QString
+
+Class QTextCodecPlugin
+ size=24 align=8
+ base size=24 base align=8
+QTextCodecPlugin (0x7f4310f0b580) 0
+ vptr=((& QTextCodecPlugin::_ZTV16QTextCodecPlugin) + 16u)
+ QObject (0x7f4310f00b60) 0
+ primary-for QTextCodecPlugin (0x7f4310f0b580)
+ QTextCodecFactoryInterface (0x7f4310f00bd0) 16 nearly-empty
+ vptr=((& QTextCodecPlugin::_ZTV16QTextCodecPlugin) + 184u)
+ QFactoryInterface (0x7f4310f00c40) 16 nearly-empty
+ primary-for QTextCodecFactoryInterface (0x7f4310f00bd0)
+
+Class QLibraryInfo
+ size=1 align=1
+ base size=0 base align=1
+QLibraryInfo (0x7f4310f57230) 0 empty
+
+Vtable for QEventLoop
+QEventLoop::_ZTV10QEventLoop: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QEventLoop)
+16 QEventLoop::metaObject
+24 QEventLoop::qt_metacast
+32 QEventLoop::qt_metacall
+40 QEventLoop::~QEventLoop
+48 QEventLoop::~QEventLoop
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QEventLoop
+ size=16 align=8
+ base size=16 base align=8
+QEventLoop (0x7f4310f57380) 0
+ vptr=((& QEventLoop::_ZTV10QEventLoop) + 16u)
+ QObject (0x7f4310f573f0) 0
+ primary-for QEventLoop (0x7f4310f57380)
+
+Vtable for QAbstractEventDispatcher
+QAbstractEventDispatcher::_ZTV24QAbstractEventDispatcher: 27u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI24QAbstractEventDispatcher)
+16 QAbstractEventDispatcher::metaObject
+24 QAbstractEventDispatcher::qt_metacast
+32 QAbstractEventDispatcher::qt_metacall
+40 QAbstractEventDispatcher::~QAbstractEventDispatcher
+48 QAbstractEventDispatcher::~QAbstractEventDispatcher
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 __cxa_pure_virtual
+136 __cxa_pure_virtual
+144 __cxa_pure_virtual
+152 __cxa_pure_virtual
+160 __cxa_pure_virtual
+168 __cxa_pure_virtual
+176 __cxa_pure_virtual
+184 __cxa_pure_virtual
+192 __cxa_pure_virtual
+200 QAbstractEventDispatcher::startingUp
+208 QAbstractEventDispatcher::closingDown
+
+Class QAbstractEventDispatcher
+ size=16 align=8
+ base size=16 base align=8
+QAbstractEventDispatcher (0x7f4310f92cb0) 0
+ vptr=((& QAbstractEventDispatcher::_ZTV24QAbstractEventDispatcher) + 16u)
+ QObject (0x7f4310f92d20) 0
+ primary-for QAbstractEventDispatcher (0x7f4310f92cb0)
+
+Class QModelIndex
+ size=24 align=8
+ base size=24 base align=8
+QModelIndex (0x7f4310fb8b60) 0
+
+Class QPersistentModelIndex
+ size=8 align=8
+ base size=8 base align=8
+QPersistentModelIndex (0x7f4310fe5620) 0
+
+Vtable for QAbstractItemModel
+QAbstractItemModel::_ZTV18QAbstractItemModel: 42u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QAbstractItemModel)
+16 QAbstractItemModel::metaObject
+24 QAbstractItemModel::qt_metacast
+32 QAbstractItemModel::qt_metacall
+40 QAbstractItemModel::~QAbstractItemModel
+48 QAbstractItemModel::~QAbstractItemModel
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 __cxa_pure_virtual
+136 __cxa_pure_virtual
+144 QAbstractItemModel::hasChildren
+152 __cxa_pure_virtual
+160 QAbstractItemModel::setData
+168 QAbstractItemModel::headerData
+176 QAbstractItemModel::setHeaderData
+184 QAbstractItemModel::itemData
+192 QAbstractItemModel::setItemData
+200 QAbstractItemModel::mimeTypes
+208 QAbstractItemModel::mimeData
+216 QAbstractItemModel::dropMimeData
+224 QAbstractItemModel::supportedDropActions
+232 QAbstractItemModel::insertRows
+240 QAbstractItemModel::insertColumns
+248 QAbstractItemModel::removeRows
+256 QAbstractItemModel::removeColumns
+264 QAbstractItemModel::fetchMore
+272 QAbstractItemModel::canFetchMore
+280 QAbstractItemModel::flags
+288 QAbstractItemModel::sort
+296 QAbstractItemModel::buddy
+304 QAbstractItemModel::match
+312 QAbstractItemModel::span
+320 QAbstractItemModel::submit
+328 QAbstractItemModel::revert
+
+Class QAbstractItemModel
+ size=16 align=8
+ base size=16 base align=8
+QAbstractItemModel (0x7f4310fef930) 0
+ vptr=((& QAbstractItemModel::_ZTV18QAbstractItemModel) + 16u)
+ QObject (0x7f4310fef9a0) 0
+ primary-for QAbstractItemModel (0x7f4310fef930)
+
+Vtable for QAbstractTableModel
+QAbstractTableModel::_ZTV19QAbstractTableModel: 42u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QAbstractTableModel)
+16 QAbstractTableModel::metaObject
+24 QAbstractTableModel::qt_metacast
+32 QAbstractTableModel::qt_metacall
+40 QAbstractTableModel::~QAbstractTableModel
+48 QAbstractTableModel::~QAbstractTableModel
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QAbstractTableModel::index
+120 QAbstractTableModel::parent
+128 __cxa_pure_virtual
+136 __cxa_pure_virtual
+144 QAbstractTableModel::hasChildren
+152 __cxa_pure_virtual
+160 QAbstractItemModel::setData
+168 QAbstractItemModel::headerData
+176 QAbstractItemModel::setHeaderData
+184 QAbstractItemModel::itemData
+192 QAbstractItemModel::setItemData
+200 QAbstractItemModel::mimeTypes
+208 QAbstractItemModel::mimeData
+216 QAbstractTableModel::dropMimeData
+224 QAbstractItemModel::supportedDropActions
+232 QAbstractItemModel::insertRows
+240 QAbstractItemModel::insertColumns
+248 QAbstractItemModel::removeRows
+256 QAbstractItemModel::removeColumns
+264 QAbstractItemModel::fetchMore
+272 QAbstractItemModel::canFetchMore
+280 QAbstractItemModel::flags
+288 QAbstractItemModel::sort
+296 QAbstractItemModel::buddy
+304 QAbstractItemModel::match
+312 QAbstractItemModel::span
+320 QAbstractItemModel::submit
+328 QAbstractItemModel::revert
+
+Class QAbstractTableModel
+ size=16 align=8
+ base size=16 base align=8
+QAbstractTableModel (0x7f4310e4ac40) 0
+ vptr=((& QAbstractTableModel::_ZTV19QAbstractTableModel) + 16u)
+ QAbstractItemModel (0x7f4310e4acb0) 0
+ primary-for QAbstractTableModel (0x7f4310e4ac40)
+ QObject (0x7f4310e4ad20) 0
+ primary-for QAbstractItemModel (0x7f4310e4acb0)
+
+Vtable for QAbstractListModel
+QAbstractListModel::_ZTV18QAbstractListModel: 42u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QAbstractListModel)
+16 QAbstractListModel::metaObject
+24 QAbstractListModel::qt_metacast
+32 QAbstractListModel::qt_metacall
+40 QAbstractListModel::~QAbstractListModel
+48 QAbstractListModel::~QAbstractListModel
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QAbstractListModel::index
+120 QAbstractListModel::parent
+128 __cxa_pure_virtual
+136 QAbstractListModel::columnCount
+144 QAbstractListModel::hasChildren
+152 __cxa_pure_virtual
+160 QAbstractItemModel::setData
+168 QAbstractItemModel::headerData
+176 QAbstractItemModel::setHeaderData
+184 QAbstractItemModel::itemData
+192 QAbstractItemModel::setItemData
+200 QAbstractItemModel::mimeTypes
+208 QAbstractItemModel::mimeData
+216 QAbstractListModel::dropMimeData
+224 QAbstractItemModel::supportedDropActions
+232 QAbstractItemModel::insertRows
+240 QAbstractItemModel::insertColumns
+248 QAbstractItemModel::removeRows
+256 QAbstractItemModel::removeColumns
+264 QAbstractItemModel::fetchMore
+272 QAbstractItemModel::canFetchMore
+280 QAbstractItemModel::flags
+288 QAbstractItemModel::sort
+296 QAbstractItemModel::buddy
+304 QAbstractItemModel::match
+312 QAbstractItemModel::span
+320 QAbstractItemModel::submit
+328 QAbstractItemModel::revert
+
+Class QAbstractListModel
+ size=16 align=8
+ base size=16 base align=8
+QAbstractListModel (0x7f4310e671c0) 0
+ vptr=((& QAbstractListModel::_ZTV18QAbstractListModel) + 16u)
+ QAbstractItemModel (0x7f4310e67230) 0
+ primary-for QAbstractListModel (0x7f4310e671c0)
+ QObject (0x7f4310e672a0) 0
+ primary-for QAbstractItemModel (0x7f4310e67230)
+
+Class QBasicTimer
+ size=4 align=4
+ base size=4 base align=4
+QBasicTimer (0x7f4310e97310) 0
+
+Vtable for QCoreApplication
+QCoreApplication::_ZTV16QCoreApplication: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QCoreApplication)
+16 QCoreApplication::metaObject
+24 QCoreApplication::qt_metacast
+32 QCoreApplication::qt_metacall
+40 QCoreApplication::~QCoreApplication
+48 QCoreApplication::~QCoreApplication
+56 QCoreApplication::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QCoreApplication::notify
+120 QCoreApplication::compressEvent
+
+Class QCoreApplication
+ size=16 align=8
+ base size=16 base align=8
+QCoreApplication (0x7f4310ea2700) 0
+ vptr=((& QCoreApplication::_ZTV16QCoreApplication) + 16u)
+ QObject (0x7f4310ea2770) 0
+ primary-for QCoreApplication (0x7f4310ea2700)
+
+Class __exception
+ size=40 align=8
+ base size=40 base align=8
+__exception (0x7f4310ed73f0) 0
+
+Class QMetaMethod
+ size=16 align=8
+ base size=12 base align=8
+QMetaMethod (0x7f4310d43850) 0
+
+Class QMetaEnum
+ size=16 align=8
+ base size=12 base align=8
+QMetaEnum (0x7f4310d5ccb0) 0
+
+Class QMetaProperty
+ size=32 align=8
+ base size=32 base align=8
+QMetaProperty (0x7f4310d6ca10) 0
+
+Class QMetaClassInfo
+ size=16 align=8
+ base size=12 base align=8
+QMetaClassInfo (0x7f4310d7e0e0) 0
+
+Vtable for QMimeData
+QMimeData::_ZTV9QMimeData: 17u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QMimeData)
+16 QMimeData::metaObject
+24 QMimeData::qt_metacast
+32 QMimeData::qt_metacall
+40 QMimeData::~QMimeData
+48 QMimeData::~QMimeData
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QMimeData::hasFormat
+120 QMimeData::formats
+128 QMimeData::retrieveData
+
+Class QMimeData
+ size=16 align=8
+ base size=16 base align=8
+QMimeData (0x7f4310d7ebd0) 0
+ vptr=((& QMimeData::_ZTV9QMimeData) + 16u)
+ QObject (0x7f4310d7ec40) 0
+ primary-for QMimeData (0x7f4310d7ebd0)
+
+Vtable for QObjectCleanupHandler
+QObjectCleanupHandler::_ZTV21QObjectCleanupHandler: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI21QObjectCleanupHandler)
+16 QObjectCleanupHandler::metaObject
+24 QObjectCleanupHandler::qt_metacast
+32 QObjectCleanupHandler::qt_metacall
+40 QObjectCleanupHandler::~QObjectCleanupHandler
+48 QObjectCleanupHandler::~QObjectCleanupHandler
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QObjectCleanupHandler
+ size=24 align=8
+ base size=24 base align=8
+QObjectCleanupHandler (0x7f4310da0460) 0
+ vptr=((& QObjectCleanupHandler::_ZTV21QObjectCleanupHandler) + 16u)
+ QObject (0x7f4310da04d0) 0
+ primary-for QObjectCleanupHandler (0x7f4310da0460)
+
+Vtable for QSharedMemory
+QSharedMemory::_ZTV13QSharedMemory: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QSharedMemory)
+16 QSharedMemory::metaObject
+24 QSharedMemory::qt_metacast
+32 QSharedMemory::qt_metacall
+40 QSharedMemory::~QSharedMemory
+48 QSharedMemory::~QSharedMemory
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QSharedMemory
+ size=16 align=8
+ base size=16 base align=8
+QSharedMemory (0x7f4310db15b0) 0
+ vptr=((& QSharedMemory::_ZTV13QSharedMemory) + 16u)
+ QObject (0x7f4310db1620) 0
+ primary-for QSharedMemory (0x7f4310db15b0)
+
+Vtable for QSignalMapper
+QSignalMapper::_ZTV13QSignalMapper: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QSignalMapper)
+16 QSignalMapper::metaObject
+24 QSignalMapper::qt_metacast
+32 QSignalMapper::qt_metacall
+40 QSignalMapper::~QSignalMapper
+48 QSignalMapper::~QSignalMapper
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QSignalMapper
+ size=16 align=8
+ base size=16 base align=8
+QSignalMapper (0x7f4310dcf380) 0
+ vptr=((& QSignalMapper::_ZTV13QSignalMapper) + 16u)
+ QObject (0x7f4310dcf3f0) 0
+ primary-for QSignalMapper (0x7f4310dcf380)
+
+Vtable for QSocketNotifier
+QSocketNotifier::_ZTV15QSocketNotifier: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QSocketNotifier)
+16 QSocketNotifier::metaObject
+24 QSocketNotifier::qt_metacast
+32 QSocketNotifier::qt_metacall
+40 QSocketNotifier::~QSocketNotifier
+48 QSocketNotifier::~QSocketNotifier
+56 QSocketNotifier::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QSocketNotifier
+ size=32 align=8
+ base size=25 base align=8
+QSocketNotifier (0x7f4310de7770) 0
+ vptr=((& QSocketNotifier::_ZTV15QSocketNotifier) + 16u)
+ QObject (0x7f4310de77e0) 0
+ primary-for QSocketNotifier (0x7f4310de7770)
+
+Class QSystemSemaphore
+ size=8 align=8
+ base size=8 base align=8
+QSystemSemaphore (0x7f4310c02af0) 0
+
+Vtable for QTimer
+QTimer::_ZTV6QTimer: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI6QTimer)
+16 QTimer::metaObject
+24 QTimer::qt_metacast
+32 QTimer::qt_metacall
+40 QTimer::~QTimer
+48 QTimer::~QTimer
+56 QObject::event
+64 QObject::eventFilter
+72 QTimer::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QTimer
+ size=32 align=8
+ base size=29 base align=8
+QTimer (0x7f4310c0b540) 0
+ vptr=((& QTimer::_ZTV6QTimer) + 16u)
+ QObject (0x7f4310c0b5b0) 0
+ primary-for QTimer (0x7f4310c0b540)
+
+Vtable for QTranslator
+QTranslator::_ZTV11QTranslator: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QTranslator)
+16 QTranslator::metaObject
+24 QTranslator::qt_metacast
+32 QTranslator::qt_metacall
+40 QTranslator::~QTranslator
+48 QTranslator::~QTranslator
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QTranslator::translate
+120 QTranslator::isEmpty
+
+Class QTranslator
+ size=16 align=8
+ base size=16 base align=8
+QTranslator (0x7f4310c32a80) 0
+ vptr=((& QTranslator::_ZTV11QTranslator) + 16u)
+ QObject (0x7f4310c32af0) 0
+ primary-for QTranslator (0x7f4310c32a80)
+
+Vtable for QLibrary
+QLibrary::_ZTV8QLibrary: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI8QLibrary)
+16 QLibrary::metaObject
+24 QLibrary::qt_metacast
+32 QLibrary::qt_metacall
+40 QLibrary::~QLibrary
+48 QLibrary::~QLibrary
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QLibrary
+ size=32 align=8
+ base size=25 base align=8
+QLibrary (0x7f4310c4ea10) 0
+ vptr=((& QLibrary::_ZTV8QLibrary) + 16u)
+ QObject (0x7f4310c4ea80) 0
+ primary-for QLibrary (0x7f4310c4ea10)
+
+Vtable for QPluginLoader
+QPluginLoader::_ZTV13QPluginLoader: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QPluginLoader)
+16 QPluginLoader::metaObject
+24 QPluginLoader::qt_metacast
+32 QPluginLoader::qt_metacall
+40 QPluginLoader::~QPluginLoader
+48 QPluginLoader::~QPluginLoader
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QPluginLoader
+ size=32 align=8
+ base size=25 base align=8
+QPluginLoader (0x7f4310c9b4d0) 0
+ vptr=((& QPluginLoader::_ZTV13QPluginLoader) + 16u)
+ QObject (0x7f4310c9b540) 0
+ primary-for QPluginLoader (0x7f4310c9b4d0)
+
+Class QUuid
+ size=16 align=4
+ base size=16 base align=4
+QUuid (0x7f4310ca3cb0) 0
+
+Class QReadWriteLock
+ size=8 align=8
+ base size=8 base align=8
+QReadWriteLock (0x7f4310ccf5b0) 0
+
+Class QReadLocker
+ size=8 align=8
+ base size=8 base align=8
+QReadLocker (0x7f4310ccfc40) 0
+
+Class QWriteLocker
+ size=8 align=8
+ base size=8 base align=8
+QWriteLocker (0x7f4310af6000) 0
+
+Class QThreadStorageData
+ size=4 align=4
+ base size=4 base align=4
+QThreadStorageData (0x7f4310b09380) 0
+
+Vtable for QAbstractAnimation
+QAbstractAnimation::_ZTV18QAbstractAnimation: 18u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QAbstractAnimation)
+16 QAbstractAnimation::metaObject
+24 QAbstractAnimation::qt_metacast
+32 QAbstractAnimation::qt_metacall
+40 QAbstractAnimation::~QAbstractAnimation
+48 QAbstractAnimation::~QAbstractAnimation
+56 QAbstractAnimation::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 QAbstractAnimation::updateState
+136 QAbstractAnimation::updateDirection
+
+Class QAbstractAnimation
+ size=16 align=8
+ base size=16 base align=8
+QAbstractAnimation (0x7f4310b09af0) 0
+ vptr=((& QAbstractAnimation::_ZTV18QAbstractAnimation) + 16u)
+ QObject (0x7f4310b09b60) 0
+ primary-for QAbstractAnimation (0x7f4310b09af0)
+
+Vtable for QAnimationGroup
+QAnimationGroup::_ZTV15QAnimationGroup: 18u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QAnimationGroup)
+16 QAnimationGroup::metaObject
+24 QAnimationGroup::qt_metacast
+32 QAnimationGroup::qt_metacall
+40 QAnimationGroup::~QAnimationGroup
+48 QAnimationGroup::~QAnimationGroup
+56 QAnimationGroup::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 QAbstractAnimation::updateState
+136 QAbstractAnimation::updateDirection
+
+Class QAnimationGroup
+ size=16 align=8
+ base size=16 base align=8
+QAnimationGroup (0x7f4310b40230) 0
+ vptr=((& QAnimationGroup::_ZTV15QAnimationGroup) + 16u)
+ QAbstractAnimation (0x7f4310b402a0) 0
+ primary-for QAnimationGroup (0x7f4310b40230)
+ QObject (0x7f4310b40310) 0
+ primary-for QAbstractAnimation (0x7f4310b402a0)
+
+Vtable for QParallelAnimationGroup
+QParallelAnimationGroup::_ZTV23QParallelAnimationGroup: 18u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI23QParallelAnimationGroup)
+16 QParallelAnimationGroup::metaObject
+24 QParallelAnimationGroup::qt_metacast
+32 QParallelAnimationGroup::qt_metacall
+40 QParallelAnimationGroup::~QParallelAnimationGroup
+48 QParallelAnimationGroup::~QParallelAnimationGroup
+56 QParallelAnimationGroup::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QParallelAnimationGroup::duration
+120 QParallelAnimationGroup::updateCurrentTime
+128 QParallelAnimationGroup::updateState
+136 QParallelAnimationGroup::updateDirection
+
+Class QParallelAnimationGroup
+ size=16 align=8
+ base size=16 base align=8
+QParallelAnimationGroup (0x7f4310b570e0) 0
+ vptr=((& QParallelAnimationGroup::_ZTV23QParallelAnimationGroup) + 16u)
+ QAnimationGroup (0x7f4310b57150) 0
+ primary-for QParallelAnimationGroup (0x7f4310b570e0)
+ QAbstractAnimation (0x7f4310b571c0) 0
+ primary-for QAnimationGroup (0x7f4310b57150)
+ QObject (0x7f4310b57230) 0
+ primary-for QAbstractAnimation (0x7f4310b571c0)
+
+Vtable for QPauseAnimation
+QPauseAnimation::_ZTV15QPauseAnimation: 18u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QPauseAnimation)
+16 QPauseAnimation::metaObject
+24 QPauseAnimation::qt_metacast
+32 QPauseAnimation::qt_metacall
+40 QPauseAnimation::~QPauseAnimation
+48 QPauseAnimation::~QPauseAnimation
+56 QPauseAnimation::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QPauseAnimation::duration
+120 QPauseAnimation::updateCurrentTime
+128 QAbstractAnimation::updateState
+136 QAbstractAnimation::updateDirection
+
+Class QPauseAnimation
+ size=16 align=8
+ base size=16 base align=8
+QPauseAnimation (0x7f4310b6af50) 0
+ vptr=((& QPauseAnimation::_ZTV15QPauseAnimation) + 16u)
+ QAbstractAnimation (0x7f4310b72000) 0
+ primary-for QPauseAnimation (0x7f4310b6af50)
+ QObject (0x7f4310b72070) 0
+ primary-for QAbstractAnimation (0x7f4310b72000)
+
+Vtable for QVariantAnimation
+QVariantAnimation::_ZTV17QVariantAnimation: 20u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QVariantAnimation)
+16 QVariantAnimation::metaObject
+24 QVariantAnimation::qt_metacast
+32 QVariantAnimation::qt_metacall
+40 QVariantAnimation::~QVariantAnimation
+48 QVariantAnimation::~QVariantAnimation
+56 QVariantAnimation::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QVariantAnimation::duration
+120 QVariantAnimation::updateCurrentTime
+128 QVariantAnimation::updateState
+136 QAbstractAnimation::updateDirection
+144 __cxa_pure_virtual
+152 QVariantAnimation::interpolated
+
+Class QVariantAnimation
+ size=16 align=8
+ base size=16 base align=8
+QVariantAnimation (0x7f4310b839a0) 0
+ vptr=((& QVariantAnimation::_ZTV17QVariantAnimation) + 16u)
+ QAbstractAnimation (0x7f4310b83a10) 0
+ primary-for QVariantAnimation (0x7f4310b839a0)
+ QObject (0x7f4310b83a80) 0
+ primary-for QAbstractAnimation (0x7f4310b83a10)
+
+Vtable for QPropertyAnimation
+QPropertyAnimation::_ZTV18QPropertyAnimation: 20u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QPropertyAnimation)
+16 QPropertyAnimation::metaObject
+24 QPropertyAnimation::qt_metacast
+32 QPropertyAnimation::qt_metacall
+40 QPropertyAnimation::~QPropertyAnimation
+48 QPropertyAnimation::~QPropertyAnimation
+56 QPropertyAnimation::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QVariantAnimation::duration
+120 QVariantAnimation::updateCurrentTime
+128 QPropertyAnimation::updateState
+136 QAbstractAnimation::updateDirection
+144 QPropertyAnimation::updateCurrentValue
+152 QVariantAnimation::interpolated
+
+Class QPropertyAnimation
+ size=16 align=8
+ base size=16 base align=8
+QPropertyAnimation (0x7f4310ba2c40) 0
+ vptr=((& QPropertyAnimation::_ZTV18QPropertyAnimation) + 16u)
+ QVariantAnimation (0x7f4310ba2cb0) 0
+ primary-for QPropertyAnimation (0x7f4310ba2c40)
+ QAbstractAnimation (0x7f4310ba2d20) 0
+ primary-for QVariantAnimation (0x7f4310ba2cb0)
+ QObject (0x7f4310ba2d90) 0
+ primary-for QAbstractAnimation (0x7f4310ba2d20)
+
+Vtable for QSequentialAnimationGroup
+QSequentialAnimationGroup::_ZTV25QSequentialAnimationGroup: 18u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI25QSequentialAnimationGroup)
+16 QSequentialAnimationGroup::metaObject
+24 QSequentialAnimationGroup::qt_metacast
+32 QSequentialAnimationGroup::qt_metacall
+40 QSequentialAnimationGroup::~QSequentialAnimationGroup
+48 QSequentialAnimationGroup::~QSequentialAnimationGroup
+56 QSequentialAnimationGroup::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QSequentialAnimationGroup::duration
+120 QSequentialAnimationGroup::updateCurrentTime
+128 QSequentialAnimationGroup::updateState
+136 QSequentialAnimationGroup::updateDirection
+
+Class QSequentialAnimationGroup
+ size=16 align=8
+ base size=16 base align=8
+QSequentialAnimationGroup (0x7f4310bbcc40) 0
+ vptr=((& QSequentialAnimationGroup::_ZTV25QSequentialAnimationGroup) + 16u)
+ QAnimationGroup (0x7f4310bbccb0) 0
+ primary-for QSequentialAnimationGroup (0x7f4310bbcc40)
+ QAbstractAnimation (0x7f4310bbcd20) 0
+ primary-for QAnimationGroup (0x7f4310bbccb0)
+ QObject (0x7f4310bbcd90) 0
+ primary-for QAbstractAnimation (0x7f4310bbcd20)
+
+Class QTest::QBenchmarkIterationController
+ size=4 align=4
+ base size=4 base align=4
+QTest::QBenchmarkIterationController (0x7f4310bd4cb0) 0
+
+Vtable for QSignalSpy
+QSignalSpy::_ZTV10QSignalSpy: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QSignalSpy)
+16 QObject::metaObject
+24 QObject::qt_metacast
+32 QSignalSpy::qt_metacall
+40 QSignalSpy::~QSignalSpy
+48 QSignalSpy::~QSignalSpy
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QSignalSpy
+ size=40 align=8
+ base size=40 base align=8
+QSignalSpy (0x7f4310bc2e80) 0
+ vptr=((& QSignalSpy::_ZTV10QSignalSpy) + 16u)
+ QObject (0x7f4310be20e0) 0
+ primary-for QSignalSpy (0x7f4310bc2e80)
+ QList<QList<QVariant> > (0x7f4310be2150) 16
+
+Class QTestData
+ size=8 align=8
+ base size=8 base align=8
+QTestData (0x7f4310aa0620) 0
+
+Vtable for QTestBasicStreamer
+QTestBasicStreamer::_ZTV18QTestBasicStreamer: 12u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QTestBasicStreamer)
+16 QTestBasicStreamer::~QTestBasicStreamer
+24 QTestBasicStreamer::~QTestBasicStreamer
+32 QTestBasicStreamer::output
+40 QTestBasicStreamer::formatStart
+48 QTestBasicStreamer::formatEnd
+56 QTestBasicStreamer::formatBeforeAttributes
+64 QTestBasicStreamer::formatAfterAttributes
+72 QTestBasicStreamer::formatAttributes
+80 QTestBasicStreamer::outputElements
+88 QTestBasicStreamer::outputElementAttributes
+
+Class QTestBasicStreamer
+ size=16 align=8
+ base size=16 base align=8
+QTestBasicStreamer (0x7f4310938930) 0
+ vptr=((& QTestBasicStreamer::_ZTV18QTestBasicStreamer) + 16u)
+
+Vtable for QTestElementAttribute
+QTestElementAttribute::_ZTV21QTestElementAttribute: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI21QTestElementAttribute)
+16 QTestElementAttribute::~QTestElementAttribute
+24 QTestElementAttribute::~QTestElementAttribute
+
+Class QTestElementAttribute
+ size=40 align=8
+ base size=36 base align=8
+QTestElementAttribute (0x7f4310938ee0) 0
+ vptr=((& QTestElementAttribute::_ZTV21QTestElementAttribute) + 16u)
+ QTestCoreList<QTestElementAttribute> (0x7f4310938f50) 0
+ primary-for QTestElementAttribute (0x7f4310938ee0)
+
+Vtable for QTestElement
+QTestElement::_ZTV12QTestElement: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QTestElement)
+16 QTestElement::~QTestElement
+24 QTestElement::~QTestElement
+
+Class QTestElement
+ size=56 align=8
+ base size=56 base align=8
+QTestElement (0x7f4310969770) 0
+ vptr=((& QTestElement::_ZTV12QTestElement) + 16u)
+ QTestCoreElement<QTestElement> (0x7f43109697e0) 0
+ primary-for QTestElement (0x7f4310969770)
+ QTestCoreList<QTestElement> (0x7f4310969850) 0
+ primary-for QTestCoreElement<QTestElement> (0x7f43109697e0)
+
+Vtable for QTestEventLoop
+QTestEventLoop::_ZTV14QTestEventLoop: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QTestEventLoop)
+16 QTestEventLoop::metaObject
+24 QTestEventLoop::qt_metacast
+32 QTestEventLoop::qt_metacall
+40 QTestEventLoop::~QTestEventLoop
+48 QTestEventLoop::~QTestEventLoop
+56 QObject::event
+64 QObject::eventFilter
+72 QTestEventLoop::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QTestEventLoop
+ size=32 align=8
+ base size=32 base align=8
+QTestEventLoop (0x7f4310969000) 0
+ vptr=((& QTestEventLoop::_ZTV14QTestEventLoop) + 16u)
+ QObject (0x7f43109695b0) 0
+ primary-for QTestEventLoop (0x7f4310969000)
+
+Class QTestFileLogger
+ size=1 align=1
+ base size=0 base align=1
+QTestFileLogger (0x7f43109c2a10) 0 empty
+
+Vtable for QTestLightXmlStreamer
+QTestLightXmlStreamer::_ZTV21QTestLightXmlStreamer: 12u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI21QTestLightXmlStreamer)
+16 QTestLightXmlStreamer::~QTestLightXmlStreamer
+24 QTestLightXmlStreamer::~QTestLightXmlStreamer
+32 QTestLightXmlStreamer::output
+40 QTestLightXmlStreamer::formatStart
+48 QTestLightXmlStreamer::formatEnd
+56 QTestLightXmlStreamer::formatBeforeAttributes
+64 QTestBasicStreamer::formatAfterAttributes
+72 QTestBasicStreamer::formatAttributes
+80 QTestBasicStreamer::outputElements
+88 QTestBasicStreamer::outputElementAttributes
+
+Class QTestLightXmlStreamer
+ size=16 align=8
+ base size=16 base align=8
+QTestLightXmlStreamer (0x7f43109c2b60) 0
+ vptr=((& QTestLightXmlStreamer::_ZTV21QTestLightXmlStreamer) + 16u)
+ QTestBasicStreamer (0x7f43109c2bd0) 0
+ primary-for QTestLightXmlStreamer (0x7f43109c2b60)
+
+Vtable for QTestXmlStreamer
+QTestXmlStreamer::_ZTV16QTestXmlStreamer: 12u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QTestXmlStreamer)
+16 QTestXmlStreamer::~QTestXmlStreamer
+24 QTestXmlStreamer::~QTestXmlStreamer
+32 QTestXmlStreamer::output
+40 QTestXmlStreamer::formatStart
+48 QTestXmlStreamer::formatEnd
+56 QTestXmlStreamer::formatBeforeAttributes
+64 QTestBasicStreamer::formatAfterAttributes
+72 QTestBasicStreamer::formatAttributes
+80 QTestBasicStreamer::outputElements
+88 QTestBasicStreamer::outputElementAttributes
+
+Class QTestXmlStreamer
+ size=16 align=8
+ base size=16 base align=8
+QTestXmlStreamer (0x7f43109c2d90) 0
+ vptr=((& QTestXmlStreamer::_ZTV16QTestXmlStreamer) + 16u)
+ QTestBasicStreamer (0x7f43109c2e00) 0
+ primary-for QTestXmlStreamer (0x7f43109c2d90)
+
+Vtable for QTestXunitStreamer
+QTestXunitStreamer::_ZTV18QTestXunitStreamer: 12u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QTestXunitStreamer)
+16 QTestXunitStreamer::~QTestXunitStreamer
+24 QTestXunitStreamer::~QTestXunitStreamer
+32 QTestXunitStreamer::output
+40 QTestXunitStreamer::formatStart
+48 QTestXunitStreamer::formatEnd
+56 QTestBasicStreamer::formatBeforeAttributes
+64 QTestXunitStreamer::formatAfterAttributes
+72 QTestXunitStreamer::formatAttributes
+80 QTestXunitStreamer::outputElements
+88 QTestBasicStreamer::outputElementAttributes
+
+Class QTestXunitStreamer
+ size=16 align=8
+ base size=16 base align=8
+QTestXunitStreamer (0x7f43109c2d20) 0
+ vptr=((& QTestXunitStreamer::_ZTV18QTestXunitStreamer) + 16u)
+ QTestBasicStreamer (0x7f43109c2f50) 0
+ primary-for QTestXunitStreamer (0x7f43109c2d20)
+
diff --git a/tests/auto/bic/data/QtWebKit.4.5.0.linux-gcc-amd64.txt b/tests/auto/bic/data/QtWebKit.4.5.0.linux-gcc-amd64.txt
new file mode 100644
index 0000000000..b516bf9e39
--- /dev/null
+++ b/tests/auto/bic/data/QtWebKit.4.5.0.linux-gcc-amd64.txt
@@ -0,0 +1,3607 @@
+Class QSysInfo
+ size=1 align=1
+ base size=0 base align=1
+QSysInfo (0x7f81553d6460) 0 empty
+
+Class QBool
+ size=1 align=1
+ base size=1 base align=1
+QBool (0x7f81553eb150) 0
+
+Class qIsNull(double)::U
+ size=8 align=8
+ base size=8 base align=8
+qIsNull(double)::U (0x7f8155403540) 0
+
+Class qIsNull(float)::U
+ size=4 align=4
+ base size=4 base align=4
+qIsNull(float)::U (0x7f81554037e0) 0
+
+Class QFlag
+ size=4 align=4
+ base size=4 base align=4
+QFlag (0x7f815543b620) 0
+
+Class QIncompatibleFlag
+ size=4 align=4
+ base size=4 base align=4
+QIncompatibleFlag (0x7f815543be00) 0
+
+Class QInternal
+ size=1 align=1
+ base size=0 base align=1
+QInternal (0x7f8154a13540) 0 empty
+
+Class QGenericArgument
+ size=16 align=8
+ base size=16 base align=8
+QGenericArgument (0x7f8154a13850) 0
+
+Class QGenericReturnArgument
+ size=16 align=8
+ base size=16 base align=8
+QGenericReturnArgument (0x7f8154a2f3f0) 0
+ QGenericArgument (0x7f8154a2f460) 0
+
+Class QMetaObject
+ size=32 align=8
+ base size=32 base align=8
+QMetaObject (0x7f8154a2fcb0) 0
+
+Class QMetaObjectExtraData
+ size=16 align=8
+ base size=16 base align=8
+QMetaObjectExtraData (0x7f8154856cb0) 0
+
+Class QLatin1Char
+ size=1 align=1
+ base size=1 base align=1
+QLatin1Char (0x7f8154861700) 0
+
+Class QChar
+ size=2 align=2
+ base size=2 base align=2
+QChar (0x7f81548662a0) 0
+
+Class QBasicAtomicInt
+ size=4 align=4
+ base size=4 base align=4
+QBasicAtomicInt (0x7f81548d2380) 0
+
+Class QAtomicInt
+ size=4 align=4
+ base size=4 base align=4
+QAtomicInt (0x7f815490dd20) 0
+ QBasicAtomicInt (0x7f815490dd90) 0
+
+Class __locale_struct
+ size=232 align=8
+ base size=232 base align=8
+__locale_struct (0x7f81547301c0) 0
+
+Class QByteArray::Data
+ size=32 align=8
+ base size=32 base align=8
+QByteArray::Data (0x7f81547ab7e0) 0
+
+Class QByteArray
+ size=8 align=8
+ base size=8 base align=8
+QByteArray (0x7f8154768540) 0
+
+Class QByteRef
+ size=16 align=8
+ base size=12 base align=8
+QByteRef (0x7f8154802a80) 0
+
+Class QString::Null
+ size=1 align=1
+ base size=0 base align=1
+QString::Null (0x7f8154709700) 0 empty
+
+Class QString::Data
+ size=32 align=8
+ base size=32 base align=8
+QString::Data (0x7f8154718ee0) 0
+
+Class QString
+ size=8 align=8
+ base size=8 base align=8
+QString (0x7f81546895b0) 0
+
+Class QLatin1String
+ size=8 align=8
+ base size=8 base align=8
+QLatin1String (0x7f81545f3000) 0
+
+Class QCharRef
+ size=16 align=8
+ base size=12 base align=8
+QCharRef (0x7f815448a620) 0
+
+Class QConstString
+ size=8 align=8
+ base size=8 base align=8
+QConstString (0x7f81543d3ee0) 0
+ QString (0x7f81543d3f50) 0
+
+Class QStringRef
+ size=16 align=8
+ base size=16 base align=8
+QStringRef (0x7f81543f6bd0) 0
+
+Vtable for std::exception
+std::exception::_ZTVSt9exception: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt9exception)
+16 std::exception::~exception
+24 std::exception::~exception
+32 std::exception::what
+
+Class std::exception
+ size=8 align=8
+ base size=8 base align=8
+std::exception (0x7f81542b0620) 0 nearly-empty
+ vptr=((& std::exception::_ZTVSt9exception) + 16u)
+
+Vtable for std::bad_exception
+std::bad_exception::_ZTVSt13bad_exception: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt13bad_exception)
+16 std::bad_exception::~bad_exception
+24 std::bad_exception::~bad_exception
+32 std::bad_exception::what
+
+Class std::bad_exception
+ size=8 align=8
+ base size=8 base align=8
+std::bad_exception (0x7f81542d2000) 0 nearly-empty
+ vptr=((& std::bad_exception::_ZTVSt13bad_exception) + 16u)
+ std::exception (0x7f81542d2070) 0 nearly-empty
+ primary-for std::bad_exception (0x7f81542d2000)
+
+Vtable for std::bad_alloc
+std::bad_alloc::_ZTVSt9bad_alloc: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt9bad_alloc)
+16 std::bad_alloc::~bad_alloc
+24 std::bad_alloc::~bad_alloc
+32 std::bad_alloc::what
+
+Class std::bad_alloc
+ size=8 align=8
+ base size=8 base align=8
+std::bad_alloc (0x7f81542d28c0) 0 nearly-empty
+ vptr=((& std::bad_alloc::_ZTVSt9bad_alloc) + 16u)
+ std::exception (0x7f81542d2930) 0 nearly-empty
+ primary-for std::bad_alloc (0x7f81542d28c0)
+
+Class std::nothrow_t
+ size=1 align=1
+ base size=0 base align=1
+std::nothrow_t (0x7f81542e20e0) 0 empty
+
+Class QListData::Data
+ size=32 align=8
+ base size=32 base align=8
+QListData::Data (0x7f81542e2620) 0
+
+Class QListData
+ size=8 align=8
+ base size=8 base align=8
+QListData (0x7f81542e25b0) 0
+
+Vtable for QObjectData
+QObjectData::_ZTV11QObjectData: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QObjectData)
+16 __cxa_pure_virtual
+24 __cxa_pure_virtual
+
+Class QObjectData
+ size=40 align=8
+ base size=40 base align=8
+QObjectData (0x7f81541e5bd0) 0
+ vptr=((& QObjectData::_ZTV11QObjectData) + 16u)
+
+Vtable for QObject
+QObject::_ZTV7QObject: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QObject)
+16 QObject::metaObject
+24 QObject::qt_metacast
+32 QObject::qt_metacall
+40 QObject::~QObject
+48 QObject::~QObject
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QObject
+ size=16 align=8
+ base size=16 base align=8
+QObject (0x7f81541e5ee0) 0
+ vptr=((& QObject::_ZTV7QObject) + 16u)
+
+Vtable for QObjectUserData
+QObjectUserData::_ZTV15QObjectUserData: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QObjectUserData)
+16 QObjectUserData::~QObjectUserData
+24 QObjectUserData::~QObjectUserData
+
+Class QObjectUserData
+ size=8 align=8
+ base size=8 base align=8
+QObjectUserData (0x7f81540773f0) 0 nearly-empty
+ vptr=((& QObjectUserData::_ZTV15QObjectUserData) + 16u)
+
+Vtable for QIODevice
+QIODevice::_ZTV9QIODevice: 30u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QIODevice)
+16 QIODevice::metaObject
+24 QIODevice::qt_metacast
+32 QIODevice::qt_metacall
+40 QIODevice::~QIODevice
+48 QIODevice::~QIODevice
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QIODevice::isSequential
+120 QIODevice::open
+128 QIODevice::close
+136 QIODevice::pos
+144 QIODevice::size
+152 QIODevice::seek
+160 QIODevice::atEnd
+168 QIODevice::reset
+176 QIODevice::bytesAvailable
+184 QIODevice::bytesToWrite
+192 QIODevice::canReadLine
+200 QIODevice::waitForReadyRead
+208 QIODevice::waitForBytesWritten
+216 __cxa_pure_virtual
+224 QIODevice::readLineData
+232 __cxa_pure_virtual
+
+Class QIODevice
+ size=16 align=8
+ base size=16 base align=8
+QIODevice (0x7f8154077930) 0
+ vptr=((& QIODevice::_ZTV9QIODevice) + 16u)
+ QObject (0x7f81540779a0) 0
+ primary-for QIODevice (0x7f8154077930)
+
+Vtable for QDataStream
+QDataStream::_ZTV11QDataStream: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QDataStream)
+16 QDataStream::~QDataStream
+24 QDataStream::~QDataStream
+
+Class QDataStream
+ size=40 align=8
+ base size=40 base align=8
+QDataStream (0x7f81540ed2a0) 0
+ vptr=((& QDataStream::_ZTV11QDataStream) + 16u)
+
+Class QHashData::Node
+ size=16 align=8
+ base size=16 base align=8
+QHashData::Node (0x7f8153f74150) 0
+
+Class QHashData
+ size=40 align=8
+ base size=40 base align=8
+QHashData (0x7f8153f740e0) 0
+
+Class QHashDummyValue
+ size=1 align=1
+ base size=0 base align=1
+QHashDummyValue (0x7f8153f84ee0) 0 empty
+
+Class QMapData::Node
+ size=16 align=8
+ base size=16 base align=8
+QMapData::Node (0x7f8153e96690) 0
+
+Class QMapData
+ size=128 align=8
+ base size=128 base align=8
+QMapData (0x7f8153e96620) 0
+
+Vtable for QSystemLocale
+QSystemLocale::_ZTV13QSystemLocale: 6u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QSystemLocale)
+16 QSystemLocale::~QSystemLocale
+24 QSystemLocale::~QSystemLocale
+32 QSystemLocale::query
+40 QSystemLocale::fallbackLocale
+
+Class QSystemLocale
+ size=8 align=8
+ base size=8 base align=8
+QSystemLocale (0x7f8153dabe00) 0 nearly-empty
+ vptr=((& QSystemLocale::_ZTV13QSystemLocale) + 16u)
+
+Class QLocale::Data
+ size=4 align=2
+ base size=4 base align=2
+QLocale::Data (0x7f8153e093f0) 0
+
+Class QLocale
+ size=8 align=8
+ base size=8 base align=8
+QLocale (0x7f8153dcc0e0) 0
+
+Class QTextCodec::ConverterState
+ size=32 align=8
+ base size=32 base align=8
+QTextCodec::ConverterState (0x7f8153c57e70) 0
+
+Vtable for QTextCodec
+QTextCodec::_ZTV10QTextCodec: 9u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QTextCodec)
+16 __cxa_pure_virtual
+24 QTextCodec::aliases
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+48 __cxa_pure_virtual
+56 QTextCodec::~QTextCodec
+64 QTextCodec::~QTextCodec
+
+Class QTextCodec
+ size=8 align=8
+ base size=8 base align=8
+QTextCodec (0x7f8153c3fa80) 0 nearly-empty
+ vptr=((& QTextCodec::_ZTV10QTextCodec) + 16u)
+
+Class QTextEncoder
+ size=40 align=8
+ base size=40 base align=8
+QTextEncoder (0x7f8153cc33f0) 0
+
+Class QTextDecoder
+ size=40 align=8
+ base size=40 base align=8
+QTextDecoder (0x7f8153ccc230) 0
+
+Class _IO_marker
+ size=24 align=8
+ base size=24 base align=8
+_IO_marker (0x7f8153cd62a0) 0
+
+Class _IO_FILE
+ size=216 align=8
+ base size=216 base align=8
+_IO_FILE (0x7f8153cd6310) 0
+
+Vtable for QTextStream
+QTextStream::_ZTV11QTextStream: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QTextStream)
+16 QTextStream::~QTextStream
+24 QTextStream::~QTextStream
+
+Class QTextStream
+ size=16 align=8
+ base size=16 base align=8
+QTextStream (0x7f8153cd63f0) 0
+ vptr=((& QTextStream::_ZTV11QTextStream) + 16u)
+
+Class QTextStreamManipulator
+ size=40 align=8
+ base size=38 base align=8
+QTextStreamManipulator (0x7f8153b6eee0) 0
+
+Vtable for QTextIStream
+QTextIStream::_ZTV12QTextIStream: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QTextIStream)
+16 QTextIStream::~QTextIStream
+24 QTextIStream::~QTextIStream
+
+Class QTextIStream
+ size=16 align=8
+ base size=16 base align=8
+QTextIStream (0x7f8153b991c0) 0
+ vptr=((& QTextIStream::_ZTV12QTextIStream) + 16u)
+ QTextStream (0x7f8153b99230) 0
+ primary-for QTextIStream (0x7f8153b991c0)
+
+Vtable for QTextOStream
+QTextOStream::_ZTV12QTextOStream: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QTextOStream)
+16 QTextOStream::~QTextOStream
+24 QTextOStream::~QTextOStream
+
+Class QTextOStream
+ size=16 align=8
+ base size=16 base align=8
+QTextOStream (0x7f8153bad070) 0
+ vptr=((& QTextOStream::_ZTV12QTextOStream) + 16u)
+ QTextStream (0x7f8153bad0e0) 0
+ primary-for QTextOStream (0x7f8153bad070)
+
+Class wait
+ size=4 align=4
+ base size=4 base align=4
+wait (0x7f8153bbaee0) 0
+
+Class timespec
+ size=16 align=8
+ base size=16 base align=8
+timespec (0x7f8153bc6230) 0
+
+Class timeval
+ size=16 align=8
+ base size=16 base align=8
+timeval (0x7f8153bc62a0) 0
+
+Class __pthread_internal_list
+ size=16 align=8
+ base size=16 base align=8
+__pthread_internal_list (0x7f8153bc63f0) 0
+
+Class random_data
+ size=48 align=8
+ base size=48 base align=8
+random_data (0x7f8153bc69a0) 0
+
+Class drand48_data
+ size=24 align=8
+ base size=24 base align=8
+drand48_data (0x7f8153bc6a10) 0
+
+Class QVectorData
+ size=16 align=4
+ base size=16 base align=4
+QVectorData (0x7f8153bc6a80) 0
+
+Class QDebug::Stream
+ size=40 align=8
+ base size=34 base align=8
+QDebug::Stream (0x7f8153943230) 0
+
+Class QDebug
+ size=8 align=8
+ base size=8 base align=8
+QDebug (0x7f81539431c0) 0
+
+Class QNoDebug
+ size=1 align=1
+ base size=0 base align=1
+QNoDebug (0x7f81539e1070) 0 empty
+
+Vtable for QFile
+QFile::_ZTV5QFile: 31u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI5QFile)
+16 QFile::metaObject
+24 QFile::qt_metacast
+32 QFile::qt_metacall
+40 QFile::~QFile
+48 QFile::~QFile
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QFile::isSequential
+120 QFile::open
+128 QFile::close
+136 QFile::pos
+144 QFile::size
+152 QFile::seek
+160 QFile::atEnd
+168 QIODevice::reset
+176 QIODevice::bytesAvailable
+184 QIODevice::bytesToWrite
+192 QIODevice::canReadLine
+200 QIODevice::waitForReadyRead
+208 QIODevice::waitForBytesWritten
+216 QFile::readData
+224 QFile::readLineData
+232 QFile::writeData
+240 QFile::fileEngine
+
+Class QFile
+ size=16 align=8
+ base size=16 base align=8
+QFile (0x7f81539f2620) 0
+ vptr=((& QFile::_ZTV5QFile) + 16u)
+ QIODevice (0x7f81539f2690) 0
+ primary-for QFile (0x7f81539f2620)
+ QObject (0x7f81539f2700) 0
+ primary-for QIODevice (0x7f81539f2690)
+
+Vtable for QTemporaryFile
+QTemporaryFile::_ZTV14QTemporaryFile: 31u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QTemporaryFile)
+16 QTemporaryFile::metaObject
+24 QTemporaryFile::qt_metacast
+32 QTemporaryFile::qt_metacall
+40 QTemporaryFile::~QTemporaryFile
+48 QTemporaryFile::~QTemporaryFile
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QFile::isSequential
+120 QTemporaryFile::open
+128 QFile::close
+136 QFile::pos
+144 QFile::size
+152 QFile::seek
+160 QFile::atEnd
+168 QIODevice::reset
+176 QIODevice::bytesAvailable
+184 QIODevice::bytesToWrite
+192 QIODevice::canReadLine
+200 QIODevice::waitForReadyRead
+208 QIODevice::waitForBytesWritten
+216 QFile::readData
+224 QFile::readLineData
+232 QFile::writeData
+240 QTemporaryFile::fileEngine
+
+Class QTemporaryFile
+ size=16 align=8
+ base size=16 base align=8
+QTemporaryFile (0x7f815385d850) 0
+ vptr=((& QTemporaryFile::_ZTV14QTemporaryFile) + 16u)
+ QFile (0x7f815385d8c0) 0
+ primary-for QTemporaryFile (0x7f815385d850)
+ QIODevice (0x7f815385d930) 0
+ primary-for QFile (0x7f815385d8c0)
+ QObject (0x7f815385d9a0) 0
+ primary-for QIODevice (0x7f815385d930)
+
+Class QFileInfo
+ size=8 align=8
+ base size=8 base align=8
+QFileInfo (0x7f815387df50) 0
+
+Class QRegExp
+ size=8 align=8
+ base size=8 base align=8
+QRegExp (0x7f81538d9770) 0
+
+Class QStringMatcher
+ size=1048 align=8
+ base size=1048 base align=8
+QStringMatcher (0x7f81539275b0) 0
+
+Class QStringList
+ size=8 align=8
+ base size=8 base align=8
+QStringList (0x7f815373b070) 0
+ QList<QString> (0x7f815373b0e0) 0
+
+Class QDir
+ size=8 align=8
+ base size=8 base align=8
+QDir (0x7f81537c9cb0) 0
+
+Class QAbstractFileEngine::ExtensionOption
+ size=1 align=1
+ base size=0 base align=1
+QAbstractFileEngine::ExtensionOption (0x7f8153661e70) 0 empty
+
+Class QAbstractFileEngine::ExtensionReturn
+ size=1 align=1
+ base size=0 base align=1
+QAbstractFileEngine::ExtensionReturn (0x7f8153661ee0) 0 empty
+
+Class QAbstractFileEngine::MapExtensionOption
+ size=24 align=8
+ base size=20 base align=8
+QAbstractFileEngine::MapExtensionOption (0x7f8153661f50) 0
+ QAbstractFileEngine::ExtensionOption (0x7f8153675000) 0 empty
+
+Class QAbstractFileEngine::MapExtensionReturn
+ size=8 align=8
+ base size=8 base align=8
+QAbstractFileEngine::MapExtensionReturn (0x7f81536751c0) 0
+ QAbstractFileEngine::ExtensionReturn (0x7f8153675230) 0 empty
+
+Class QAbstractFileEngine::UnMapExtensionOption
+ size=8 align=8
+ base size=8 base align=8
+QAbstractFileEngine::UnMapExtensionOption (0x7f81536752a0) 0
+ QAbstractFileEngine::ExtensionOption (0x7f8153675310) 0 empty
+
+Vtable for QAbstractFileEngine
+QAbstractFileEngine::_ZTV19QAbstractFileEngine: 36u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QAbstractFileEngine)
+16 QAbstractFileEngine::~QAbstractFileEngine
+24 QAbstractFileEngine::~QAbstractFileEngine
+32 QAbstractFileEngine::open
+40 QAbstractFileEngine::close
+48 QAbstractFileEngine::flush
+56 QAbstractFileEngine::size
+64 QAbstractFileEngine::pos
+72 QAbstractFileEngine::seek
+80 QAbstractFileEngine::isSequential
+88 QAbstractFileEngine::remove
+96 QAbstractFileEngine::copy
+104 QAbstractFileEngine::rename
+112 QAbstractFileEngine::link
+120 QAbstractFileEngine::mkdir
+128 QAbstractFileEngine::rmdir
+136 QAbstractFileEngine::setSize
+144 QAbstractFileEngine::caseSensitive
+152 QAbstractFileEngine::isRelativePath
+160 QAbstractFileEngine::entryList
+168 QAbstractFileEngine::fileFlags
+176 QAbstractFileEngine::setPermissions
+184 QAbstractFileEngine::fileName
+192 QAbstractFileEngine::ownerId
+200 QAbstractFileEngine::owner
+208 QAbstractFileEngine::fileTime
+216 QAbstractFileEngine::setFileName
+224 QAbstractFileEngine::handle
+232 QAbstractFileEngine::beginEntryList
+240 QAbstractFileEngine::endEntryList
+248 QAbstractFileEngine::read
+256 QAbstractFileEngine::readLine
+264 QAbstractFileEngine::write
+272 QAbstractFileEngine::extension
+280 QAbstractFileEngine::supportsExtension
+
+Class QAbstractFileEngine
+ size=16 align=8
+ base size=16 base align=8
+QAbstractFileEngine (0x7f8153651e00) 0
+ vptr=((& QAbstractFileEngine::_ZTV19QAbstractFileEngine) + 16u)
+
+Vtable for QAbstractFileEngineHandler
+QAbstractFileEngineHandler::_ZTV26QAbstractFileEngineHandler: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI26QAbstractFileEngineHandler)
+16 QAbstractFileEngineHandler::~QAbstractFileEngineHandler
+24 QAbstractFileEngineHandler::~QAbstractFileEngineHandler
+32 __cxa_pure_virtual
+
+Class QAbstractFileEngineHandler
+ size=8 align=8
+ base size=8 base align=8
+QAbstractFileEngineHandler (0x7f81536a7000) 0 nearly-empty
+ vptr=((& QAbstractFileEngineHandler::_ZTV26QAbstractFileEngineHandler) + 16u)
+
+Vtable for QAbstractFileEngineIterator
+QAbstractFileEngineIterator::_ZTV27QAbstractFileEngineIterator: 9u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI27QAbstractFileEngineIterator)
+16 QAbstractFileEngineIterator::~QAbstractFileEngineIterator
+24 QAbstractFileEngineIterator::~QAbstractFileEngineIterator
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+48 __cxa_pure_virtual
+56 QAbstractFileEngineIterator::currentFileInfo
+64 QAbstractFileEngineIterator::entryInfo
+
+Class QAbstractFileEngineIterator
+ size=16 align=8
+ base size=16 base align=8
+QAbstractFileEngineIterator (0x7f81536a71c0) 0
+ vptr=((& QAbstractFileEngineIterator::_ZTV27QAbstractFileEngineIterator) + 16u)
+
+Vtable for QFSFileEngine
+QFSFileEngine::_ZTV13QFSFileEngine: 36u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QFSFileEngine)
+16 QFSFileEngine::~QFSFileEngine
+24 QFSFileEngine::~QFSFileEngine
+32 QFSFileEngine::open
+40 QFSFileEngine::close
+48 QFSFileEngine::flush
+56 QFSFileEngine::size
+64 QFSFileEngine::pos
+72 QFSFileEngine::seek
+80 QFSFileEngine::isSequential
+88 QFSFileEngine::remove
+96 QFSFileEngine::copy
+104 QFSFileEngine::rename
+112 QFSFileEngine::link
+120 QFSFileEngine::mkdir
+128 QFSFileEngine::rmdir
+136 QFSFileEngine::setSize
+144 QFSFileEngine::caseSensitive
+152 QFSFileEngine::isRelativePath
+160 QFSFileEngine::entryList
+168 QFSFileEngine::fileFlags
+176 QFSFileEngine::setPermissions
+184 QFSFileEngine::fileName
+192 QFSFileEngine::ownerId
+200 QFSFileEngine::owner
+208 QFSFileEngine::fileTime
+216 QFSFileEngine::setFileName
+224 QFSFileEngine::handle
+232 QFSFileEngine::beginEntryList
+240 QFSFileEngine::endEntryList
+248 QFSFileEngine::read
+256 QFSFileEngine::readLine
+264 QFSFileEngine::write
+272 QFSFileEngine::extension
+280 QFSFileEngine::supportsExtension
+
+Class QFSFileEngine
+ size=16 align=8
+ base size=16 base align=8
+QFSFileEngine (0x7f81536a7a10) 0
+ vptr=((& QFSFileEngine::_ZTV13QFSFileEngine) + 16u)
+ QAbstractFileEngine (0x7f81536a7a80) 0
+ primary-for QFSFileEngine (0x7f81536a7a10)
+
+Vtable for QProcess
+QProcess::_ZTV8QProcess: 31u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI8QProcess)
+16 QProcess::metaObject
+24 QProcess::qt_metacast
+32 QProcess::qt_metacall
+40 QProcess::~QProcess
+48 QProcess::~QProcess
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QProcess::isSequential
+120 QIODevice::open
+128 QProcess::close
+136 QIODevice::pos
+144 QIODevice::size
+152 QIODevice::seek
+160 QProcess::atEnd
+168 QIODevice::reset
+176 QProcess::bytesAvailable
+184 QProcess::bytesToWrite
+192 QProcess::canReadLine
+200 QProcess::waitForReadyRead
+208 QProcess::waitForBytesWritten
+216 QProcess::readData
+224 QIODevice::readLineData
+232 QProcess::writeData
+240 QProcess::setupChildProcess
+
+Class QProcess
+ size=16 align=8
+ base size=16 base align=8
+QProcess (0x7f81536bed20) 0
+ vptr=((& QProcess::_ZTV8QProcess) + 16u)
+ QIODevice (0x7f81536bed90) 0
+ primary-for QProcess (0x7f81536bed20)
+ QObject (0x7f81536bee00) 0
+ primary-for QIODevice (0x7f81536bed90)
+
+Class QResource
+ size=8 align=8
+ base size=8 base align=8
+QResource (0x7f81536fa230) 0
+
+Vtable for QDirIterator
+QDirIterator::_ZTV12QDirIterator: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QDirIterator)
+16 QDirIterator::~QDirIterator
+24 QDirIterator::~QDirIterator
+
+Class QDirIterator
+ size=16 align=8
+ base size=16 base align=8
+QDirIterator (0x7f81536facb0) 0
+ vptr=((& QDirIterator::_ZTV12QDirIterator) + 16u)
+
+Vtable for QBuffer
+QBuffer::_ZTV7QBuffer: 30u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QBuffer)
+16 QBuffer::metaObject
+24 QBuffer::qt_metacast
+32 QBuffer::qt_metacall
+40 QBuffer::~QBuffer
+48 QBuffer::~QBuffer
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QBuffer::connectNotify
+104 QBuffer::disconnectNotify
+112 QIODevice::isSequential
+120 QBuffer::open
+128 QBuffer::close
+136 QBuffer::pos
+144 QBuffer::size
+152 QBuffer::seek
+160 QBuffer::atEnd
+168 QIODevice::reset
+176 QIODevice::bytesAvailable
+184 QIODevice::bytesToWrite
+192 QBuffer::canReadLine
+200 QIODevice::waitForReadyRead
+208 QIODevice::waitForBytesWritten
+216 QBuffer::readData
+224 QIODevice::readLineData
+232 QBuffer::writeData
+
+Class QBuffer
+ size=16 align=8
+ base size=16 base align=8
+QBuffer (0x7f815350ba80) 0
+ vptr=((& QBuffer::_ZTV7QBuffer) + 16u)
+ QIODevice (0x7f815350baf0) 0
+ primary-for QBuffer (0x7f815350ba80)
+ QObject (0x7f815350bb60) 0
+ primary-for QIODevice (0x7f815350baf0)
+
+Vtable for QFileSystemWatcher
+QFileSystemWatcher::_ZTV18QFileSystemWatcher: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QFileSystemWatcher)
+16 QFileSystemWatcher::metaObject
+24 QFileSystemWatcher::qt_metacast
+32 QFileSystemWatcher::qt_metacall
+40 QFileSystemWatcher::~QFileSystemWatcher
+48 QFileSystemWatcher::~QFileSystemWatcher
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QFileSystemWatcher
+ size=16 align=8
+ base size=16 base align=8
+QFileSystemWatcher (0x7f8153532690) 0
+ vptr=((& QFileSystemWatcher::_ZTV18QFileSystemWatcher) + 16u)
+ QObject (0x7f8153532700) 0
+ primary-for QFileSystemWatcher (0x7f8153532690)
+
+Class QUrl
+ size=8 align=8
+ base size=8 base align=8
+QUrl (0x7f8153545bd0) 0
+
+Class QMetaType
+ size=1 align=1
+ base size=0 base align=1
+QMetaType (0x7f81535cf3f0) 0 empty
+
+Class QVariant::PrivateShared
+ size=16 align=8
+ base size=12 base align=8
+QVariant::PrivateShared (0x7f81534a3930) 0
+
+Class QVariant::Private::Data
+ size=8 align=8
+ base size=8 base align=8
+QVariant::Private::Data (0x7f81534a3c40) 0
+
+Class QVariant::Private
+ size=16 align=8
+ base size=12 base align=8
+QVariant::Private (0x7f81534a3a10) 0
+
+Class QVariant::Handler
+ size=72 align=8
+ base size=72 base align=8
+QVariant::Handler (0x7f81534b2930) 0
+
+Class QVariant
+ size=16 align=8
+ base size=16 base align=8
+QVariant (0x7f8153473af0) 0
+
+Class QVariantComparisonHelper
+ size=8 align=8
+ base size=8 base align=8
+QVariantComparisonHelper (0x7f8153358cb0) 0
+
+Vtable for QSettings
+QSettings::_ZTV9QSettings: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QSettings)
+16 QSettings::metaObject
+24 QSettings::qt_metacast
+32 QSettings::qt_metacall
+40 QSettings::~QSettings
+48 QSettings::~QSettings
+56 QSettings::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QSettings
+ size=16 align=8
+ base size=16 base align=8
+QSettings (0x7f815337ccb0) 0
+ vptr=((& QSettings::_ZTV9QSettings) + 16u)
+ QObject (0x7f815337cd20) 0
+ primary-for QSettings (0x7f815337ccb0)
+
+Class QXmlStreamStringRef
+ size=16 align=8
+ base size=16 base align=8
+QXmlStreamStringRef (0x7f81531fe070) 0
+
+Class QXmlStreamAttribute
+ size=80 align=8
+ base size=73 base align=8
+QXmlStreamAttribute (0x7f815321c850) 0
+
+Class QXmlStreamAttributes
+ size=8 align=8
+ base size=8 base align=8
+QXmlStreamAttributes (0x7f8153243380) 0
+ QVector<QXmlStreamAttribute> (0x7f81532433f0) 0
+
+Class QXmlStreamNamespaceDeclaration
+ size=40 align=8
+ base size=40 base align=8
+QXmlStreamNamespaceDeclaration (0x7f8153243850) 0
+
+Class QXmlStreamNotationDeclaration
+ size=56 align=8
+ base size=56 base align=8
+QXmlStreamNotationDeclaration (0x7f81532851c0) 0
+
+Class QXmlStreamEntityDeclaration
+ size=88 align=8
+ base size=88 base align=8
+QXmlStreamEntityDeclaration (0x7f81532a4070) 0
+
+Vtable for QXmlStreamEntityResolver
+QXmlStreamEntityResolver::_ZTV24QXmlStreamEntityResolver: 6u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI24QXmlStreamEntityResolver)
+16 QXmlStreamEntityResolver::~QXmlStreamEntityResolver
+24 QXmlStreamEntityResolver::~QXmlStreamEntityResolver
+32 QXmlStreamEntityResolver::resolveEntity
+40 QXmlStreamEntityResolver::resolveUndeclaredEntity
+
+Class QXmlStreamEntityResolver
+ size=8 align=8
+ base size=8 base align=8
+QXmlStreamEntityResolver (0x7f81532c19a0) 0 nearly-empty
+ vptr=((& QXmlStreamEntityResolver::_ZTV24QXmlStreamEntityResolver) + 16u)
+
+Class QXmlStreamReader
+ size=8 align=8
+ base size=8 base align=8
+QXmlStreamReader (0x7f81532c1b60) 0
+
+Class QXmlStreamWriter
+ size=8 align=8
+ base size=8 base align=8
+QXmlStreamWriter (0x7f81530fda10) 0
+
+Class QPoint
+ size=8 align=4
+ base size=8 base align=4
+QPoint (0x7f815313b150) 0
+
+Class QPointF
+ size=16 align=8
+ base size=16 base align=8
+QPointF (0x7f8153172d90) 0
+
+Class QLine
+ size=16 align=4
+ base size=16 base align=4
+QLine (0x7f81531afbd0) 0
+
+Class QLineF
+ size=32 align=8
+ base size=32 base align=8
+QLineF (0x7f81531e9a80) 0
+
+Class QSize
+ size=8 align=4
+ base size=8 base align=4
+QSize (0x7f8153046540) 0
+
+Class QSizeF
+ size=16 align=8
+ base size=16 base align=8
+QSizeF (0x7f8153091380) 0
+
+Class QRect
+ size=16 align=4
+ base size=16 base align=4
+QRect (0x7f81530de9a0) 0
+
+Class QRectF
+ size=32 align=8
+ base size=32 base align=8
+QRectF (0x7f8152f95380) 0
+
+Class QSharedData
+ size=4 align=4
+ base size=4 base align=4
+QSharedData (0x7f8152e38150) 0
+
+Vtable for QtSharedPointer::ExternalRefCountData
+QtSharedPointer::ExternalRefCountData::_ZTVN15QtSharedPointer20ExternalRefCountDataE: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN15QtSharedPointer20ExternalRefCountDataE)
+16 QtSharedPointer::ExternalRefCountData::~ExternalRefCountData
+24 QtSharedPointer::ExternalRefCountData::~ExternalRefCountData
+32 QtSharedPointer::ExternalRefCountData::destroy
+
+Class QtSharedPointer::ExternalRefCountData
+ size=16 align=8
+ base size=16 base align=8
+QtSharedPointer::ExternalRefCountData (0x7f8152e67af0) 0
+ vptr=((& QtSharedPointer::ExternalRefCountData::_ZTVN15QtSharedPointer20ExternalRefCountDataE) + 16u)
+
+Class QLinkedListData
+ size=32 align=8
+ base size=32 base align=8
+QLinkedListData (0x7f8152eefc40) 0
+
+Class QBitArray
+ size=8 align=8
+ base size=8 base align=8
+QBitArray (0x7f8152dbbb60) 0
+
+Class QBitRef
+ size=16 align=8
+ base size=12 base align=8
+QBitRef (0x7f8152c2e930) 0
+
+Class QByteArrayMatcher
+ size=1040 align=8
+ base size=1040 base align=8
+QByteArrayMatcher (0x7f8152c48310) 0
+
+Class QCryptographicHash
+ size=8 align=8
+ base size=8 base align=8
+QCryptographicHash (0x7f8152c5aa10) 0
+
+Class QTextBoundaryFinder
+ size=48 align=8
+ base size=48 base align=8
+QTextBoundaryFinder (0x7f8152c89460) 0
+
+Class QDate
+ size=4 align=4
+ base size=4 base align=4
+QDate (0x7f8152c9d7e0) 0
+
+Class QTime
+ size=4 align=4
+ base size=4 base align=4
+QTime (0x7f8152cc6770) 0
+
+Class QDateTime
+ size=8 align=8
+ base size=8 base align=8
+QDateTime (0x7f8152ce3d20) 0
+
+Vtable for QTimeLine
+QTimeLine::_ZTV9QTimeLine: 15u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QTimeLine)
+16 QTimeLine::metaObject
+24 QTimeLine::qt_metacast
+32 QTimeLine::qt_metacall
+40 QTimeLine::~QTimeLine
+48 QTimeLine::~QTimeLine
+56 QObject::event
+64 QObject::eventFilter
+72 QTimeLine::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QTimeLine::valueForTime
+
+Class QTimeLine
+ size=16 align=8
+ base size=16 base align=8
+QTimeLine (0x7f8152b181c0) 0
+ vptr=((& QTimeLine::_ZTV9QTimeLine) + 16u)
+ QObject (0x7f8152b18230) 0
+ primary-for QTimeLine (0x7f8152b181c0)
+
+Vtable for QRunnable
+QRunnable::_ZTV9QRunnable: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QRunnable)
+16 __cxa_pure_virtual
+24 QRunnable::~QRunnable
+32 QRunnable::~QRunnable
+
+Class QRunnable
+ size=16 align=8
+ base size=12 base align=8
+QRunnable (0x7f8152b3f070) 0
+ vptr=((& QRunnable::_ZTV9QRunnable) + 16u)
+
+Class QMutex
+ size=8 align=8
+ base size=8 base align=8
+QMutex (0x7f8152b4c700) 0
+
+Class QMutexLocker
+ size=8 align=8
+ base size=8 base align=8
+QMutexLocker (0x7f8152b5b2a0) 0
+
+Vtable for QtConcurrent::Exception
+QtConcurrent::Exception::_ZTVN12QtConcurrent9ExceptionE: 7u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN12QtConcurrent9ExceptionE)
+16 QtConcurrent::Exception::~Exception
+24 QtConcurrent::Exception::~Exception
+32 std::exception::what
+40 QtConcurrent::Exception::raise
+48 QtConcurrent::Exception::clone
+
+Class QtConcurrent::Exception
+ size=8 align=8
+ base size=8 base align=8
+QtConcurrent::Exception (0x7f8152b715b0) 0 nearly-empty
+ vptr=((& QtConcurrent::Exception::_ZTVN12QtConcurrent9ExceptionE) + 16u)
+ std::exception (0x7f8152b71620) 0 nearly-empty
+ primary-for QtConcurrent::Exception (0x7f8152b715b0)
+
+Vtable for QtConcurrent::UnhandledException
+QtConcurrent::UnhandledException::_ZTVN12QtConcurrent18UnhandledExceptionE: 7u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN12QtConcurrent18UnhandledExceptionE)
+16 QtConcurrent::UnhandledException::~UnhandledException
+24 QtConcurrent::UnhandledException::~UnhandledException
+32 std::exception::what
+40 QtConcurrent::UnhandledException::raise
+48 QtConcurrent::UnhandledException::clone
+
+Class QtConcurrent::UnhandledException
+ size=8 align=8
+ base size=8 base align=8
+QtConcurrent::UnhandledException (0x7f8152b71850) 0 nearly-empty
+ vptr=((& QtConcurrent::UnhandledException::_ZTVN12QtConcurrent18UnhandledExceptionE) + 16u)
+ QtConcurrent::Exception (0x7f8152b718c0) 0 nearly-empty
+ primary-for QtConcurrent::UnhandledException (0x7f8152b71850)
+ std::exception (0x7f8152b71930) 0 nearly-empty
+ primary-for QtConcurrent::Exception (0x7f8152b718c0)
+
+Class QtConcurrent::internal::ExceptionHolder
+ size=8 align=8
+ base size=8 base align=8
+QtConcurrent::internal::ExceptionHolder (0x7f8152b71b60) 0
+
+Class QtConcurrent::internal::ExceptionStore
+ size=8 align=8
+ base size=8 base align=8
+QtConcurrent::internal::ExceptionStore (0x7f8152b71ee0) 0
+
+Class QtConcurrent::ResultItem
+ size=16 align=8
+ base size=16 base align=8
+QtConcurrent::ResultItem (0x7f8152b71f50) 0
+
+Class QtConcurrent::ResultIteratorBase
+ size=16 align=8
+ base size=12 base align=8
+QtConcurrent::ResultIteratorBase (0x7f8152b88e70) 0
+
+Vtable for QtConcurrent::ResultStoreBase
+QtConcurrent::ResultStoreBase::_ZTVN12QtConcurrent15ResultStoreBaseE: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN12QtConcurrent15ResultStoreBaseE)
+16 QtConcurrent::ResultStoreBase::~ResultStoreBase
+24 QtConcurrent::ResultStoreBase::~ResultStoreBase
+
+Class QtConcurrent::ResultStoreBase
+ size=48 align=8
+ base size=44 base align=8
+QtConcurrent::ResultStoreBase (0x7f8152b8ca10) 0
+ vptr=((& QtConcurrent::ResultStoreBase::_ZTVN12QtConcurrent15ResultStoreBaseE) + 16u)
+
+Vtable for QFutureInterfaceBase
+QFutureInterfaceBase::_ZTV20QFutureInterfaceBase: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI20QFutureInterfaceBase)
+16 QFutureInterfaceBase::~QFutureInterfaceBase
+24 QFutureInterfaceBase::~QFutureInterfaceBase
+
+Class QFutureInterfaceBase
+ size=16 align=8
+ base size=16 base align=8
+QFutureInterfaceBase (0x7f8152bcde70) 0
+ vptr=((& QFutureInterfaceBase::_ZTV20QFutureInterfaceBase) + 16u)
+
+Vtable for QThread
+QThread::_ZTV7QThread: 15u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QThread)
+16 QThread::metaObject
+24 QThread::qt_metacast
+32 QThread::qt_metacall
+40 QThread::~QThread
+48 QThread::~QThread
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QThread::run
+
+Class QThread
+ size=16 align=8
+ base size=16 base align=8
+QThread (0x7f8152ab1e00) 0
+ vptr=((& QThread::_ZTV7QThread) + 16u)
+ QObject (0x7f8152ab1e70) 0
+ primary-for QThread (0x7f8152ab1e00)
+
+Vtable for QThreadPool
+QThreadPool::_ZTV11QThreadPool: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QThreadPool)
+16 QThreadPool::metaObject
+24 QThreadPool::qt_metacast
+32 QThreadPool::qt_metacall
+40 QThreadPool::~QThreadPool
+48 QThreadPool::~QThreadPool
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QThreadPool
+ size=16 align=8
+ base size=16 base align=8
+QThreadPool (0x7f8152ae3cb0) 0
+ vptr=((& QThreadPool::_ZTV11QThreadPool) + 16u)
+ QObject (0x7f8152ae3d20) 0
+ primary-for QThreadPool (0x7f8152ae3cb0)
+
+Class QWaitCondition
+ size=8 align=8
+ base size=8 base align=8
+QWaitCondition (0x7f81528fd540) 0
+
+Class QtConcurrent::ThreadEngineSemaphore
+ size=24 align=8
+ base size=24 base align=8
+QtConcurrent::ThreadEngineSemaphore (0x7f81528fda80) 0
+
+Vtable for QtConcurrent::ThreadEngineBase
+QtConcurrent::ThreadEngineBase::_ZTVN12QtConcurrent16ThreadEngineBaseE: 11u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN12QtConcurrent16ThreadEngineBaseE)
+16 QtConcurrent::ThreadEngineBase::run
+24 QtConcurrent::ThreadEngineBase::~ThreadEngineBase
+32 QtConcurrent::ThreadEngineBase::~ThreadEngineBase
+40 QtConcurrent::ThreadEngineBase::start
+48 QtConcurrent::ThreadEngineBase::finish
+56 QtConcurrent::ThreadEngineBase::threadFunction
+64 QtConcurrent::ThreadEngineBase::shouldStartThread
+72 QtConcurrent::ThreadEngineBase::shouldThrottleThread
+80 __cxa_pure_virtual
+
+Class QtConcurrent::ThreadEngineBase
+ size=64 align=8
+ base size=64 base align=8
+QtConcurrent::ThreadEngineBase (0x7f815291d460) 0
+ vptr=((& QtConcurrent::ThreadEngineBase::_ZTVN12QtConcurrent16ThreadEngineBaseE) + 16u)
+ QRunnable (0x7f815291d4d0) 0
+ primary-for QtConcurrent::ThreadEngineBase (0x7f815291d460)
+
+VTT for QtConcurrent::ThreadEngine<void>
+QtConcurrent::ThreadEngine<void>::_ZTTN12QtConcurrent12ThreadEngineIvEE: 2u entries
+0 ((& QtConcurrent::ThreadEngine<void>::_ZTVN12QtConcurrent12ThreadEngineIvEE) + 24u)
+8 ((& QtConcurrent::ThreadEngine<void>::_ZTVN12QtConcurrent12ThreadEngineIvEE) + 136u)
+
+Class std::input_iterator_tag
+ size=1 align=1
+ base size=0 base align=1
+std::input_iterator_tag (0x7f815295e850) 0 empty
+
+Class std::output_iterator_tag
+ size=1 align=1
+ base size=0 base align=1
+std::output_iterator_tag (0x7f815295e8c0) 0 empty
+
+Class std::forward_iterator_tag
+ size=1 align=1
+ base size=1 base align=1
+std::forward_iterator_tag (0x7f815295e930) 0 empty
+ std::input_iterator_tag (0x7f815295e9a0) 0 empty
+
+Class std::bidirectional_iterator_tag
+ size=1 align=1
+ base size=1 base align=1
+std::bidirectional_iterator_tag (0x7f815295ea10) 0 empty
+ std::forward_iterator_tag (0x7f815295ea80) 0 empty
+ std::input_iterator_tag (0x7f815295eaf0) 0 empty
+
+Class std::random_access_iterator_tag
+ size=1 align=1
+ base size=1 base align=1
+std::random_access_iterator_tag (0x7f815295eb60) 0 empty
+ std::bidirectional_iterator_tag (0x7f815295ebd0) 0 empty
+ std::forward_iterator_tag (0x7f815295ec40) 0 empty
+ std::input_iterator_tag (0x7f815295ecb0) 0 empty
+
+Class std::__true_type
+ size=1 align=1
+ base size=0 base align=1
+std::__true_type (0x7f81529702a0) 0 empty
+
+Class std::__false_type
+ size=1 align=1
+ base size=0 base align=1
+std::__false_type (0x7f8152970310) 0 empty
+
+Class lconv
+ size=96 align=8
+ base size=96 base align=8
+lconv (0x7f815274b620) 0
+
+Class sched_param
+ size=4 align=4
+ base size=4 base align=4
+sched_param (0x7f815274ba80) 0
+
+Class __sched_param
+ size=4 align=4
+ base size=4 base align=4
+__sched_param (0x7f815274baf0) 0
+
+Class tm
+ size=56 align=8
+ base size=56 base align=8
+tm (0x7f815274bbd0) 0
+
+Class itimerspec
+ size=32 align=8
+ base size=32 base align=8
+itimerspec (0x7f815274bcb0) 0
+
+Class _pthread_cleanup_buffer
+ size=32 align=8
+ base size=32 base align=8
+_pthread_cleanup_buffer (0x7f815274bd20) 0
+
+Class __pthread_cleanup_frame
+ size=24 align=8
+ base size=24 base align=8
+__pthread_cleanup_frame (0x7f815274be70) 0
+
+Class __pthread_cleanup_class
+ size=24 align=8
+ base size=24 base align=8
+__pthread_cleanup_class (0x7f815274bee0) 0
+
+Vtable for __cxxabiv1::__forced_unwind
+__cxxabiv1::__forced_unwind::_ZTVN10__cxxabiv115__forced_unwindE: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN10__cxxabiv115__forced_unwindE)
+16 __cxxabiv1::__forced_unwind::~__forced_unwind
+24 __cxxabiv1::__forced_unwind::~__forced_unwind
+32 __cxa_pure_virtual
+
+Class __cxxabiv1::__forced_unwind
+ size=8 align=8
+ base size=8 base align=8
+__cxxabiv1::__forced_unwind (0x7f8152661a80) 0 nearly-empty
+ vptr=((& __cxxabiv1::__forced_unwind::_ZTVN10__cxxabiv115__forced_unwindE) + 16u)
+
+Class std::locale
+ size=8 align=8
+ base size=8 base align=8
+std::locale (0x7f81523145b0) 0
+
+Vtable for std::locale::facet
+std::locale::facet::_ZTVNSt6locale5facetE: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTINSt6locale5facetE)
+16 std::locale::facet::~facet
+24 std::locale::facet::~facet
+
+Class std::locale::facet
+ size=16 align=8
+ base size=12 base align=8
+std::locale::facet (0x7f81523b6cb0) 0
+ vptr=((& std::locale::facet::_ZTVNSt6locale5facetE) + 16u)
+
+Class std::locale::id
+ size=8 align=8
+ base size=8 base align=8
+std::locale::id (0x7f81523ca2a0) 0
+
+Class std::locale::_Impl
+ size=40 align=8
+ base size=40 base align=8
+std::locale::_Impl (0x7f81523ca8c0) 0
+
+Vtable for std::ios_base::failure
+std::ios_base::failure::_ZTVNSt8ios_base7failureE: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTINSt8ios_base7failureE)
+16 std::ios_base::failure::~failure
+24 std::ios_base::failure::~failure
+32 std::ios_base::failure::what
+
+Class std::ios_base::failure
+ size=16 align=8
+ base size=16 base align=8
+std::ios_base::failure (0x7f8152257070) 0
+ vptr=((& std::ios_base::failure::_ZTVNSt8ios_base7failureE) + 16u)
+ std::exception (0x7f81522570e0) 0 nearly-empty
+ primary-for std::ios_base::failure (0x7f8152257070)
+
+Class std::ios_base::_Callback_list
+ size=24 align=8
+ base size=24 base align=8
+std::ios_base::_Callback_list (0x7f8152265310) 0
+
+Class std::ios_base::_Words
+ size=16 align=8
+ base size=16 base align=8
+std::ios_base::_Words (0x7f8152265d90) 0
+
+Class std::ios_base::Init
+ size=1 align=1
+ base size=0 base align=1
+std::ios_base::Init (0x7f815226d4d0) 0 empty
+
+Vtable for std::ios_base
+std::ios_base::_ZTVSt8ios_base: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt8ios_base)
+16 std::ios_base::~ios_base
+24 std::ios_base::~ios_base
+
+Class std::ios_base
+ size=216 align=8
+ base size=216 base align=8
+std::ios_base (0x7f8152257000) 0
+ vptr=((& std::ios_base::_ZTVSt8ios_base) + 16u)
+
+Class std::ctype_base
+ size=1 align=1
+ base size=0 base align=1
+std::ctype_base (0x7f81522e4930) 0 empty
+
+Class std::__num_base
+ size=1 align=1
+ base size=0 base align=1
+std::__num_base (0x7f81520021c0) 0 empty
+
+VTT for std::basic_ostream<char, std::char_traits<char> >
+std::basic_ostream<char, std::char_traits<char> >::_ZTTSo: 2u entries
+0 ((& std::basic_ostream<char, std::char_traits<char> >::_ZTVSo) + 24u)
+8 ((& std::basic_ostream<char, std::char_traits<char> >::_ZTVSo) + 64u)
+
+VTT for std::basic_ostream<wchar_t, std::char_traits<wchar_t> >
+std::basic_ostream<wchar_t, std::char_traits<wchar_t> >::_ZTTSt13basic_ostreamIwSt11char_traitsIwEE: 2u entries
+0 ((& std::basic_ostream<wchar_t, std::char_traits<wchar_t> >::_ZTVSt13basic_ostreamIwSt11char_traitsIwEE) + 24u)
+8 ((& std::basic_ostream<wchar_t, std::char_traits<wchar_t> >::_ZTVSt13basic_ostreamIwSt11char_traitsIwEE) + 64u)
+
+VTT for std::basic_istream<char, std::char_traits<char> >
+std::basic_istream<char, std::char_traits<char> >::_ZTTSi: 2u entries
+0 ((& std::basic_istream<char, std::char_traits<char> >::_ZTVSi) + 24u)
+8 ((& std::basic_istream<char, std::char_traits<char> >::_ZTVSi) + 64u)
+
+VTT for std::basic_istream<wchar_t, std::char_traits<wchar_t> >
+std::basic_istream<wchar_t, std::char_traits<wchar_t> >::_ZTTSt13basic_istreamIwSt11char_traitsIwEE: 2u entries
+0 ((& std::basic_istream<wchar_t, std::char_traits<wchar_t> >::_ZTVSt13basic_istreamIwSt11char_traitsIwEE) + 24u)
+8 ((& std::basic_istream<wchar_t, std::char_traits<wchar_t> >::_ZTVSt13basic_istreamIwSt11char_traitsIwEE) + 64u)
+
+Construction vtable for std::basic_istream<char, std::char_traits<char> > (0x7f8151d36310 instance) in std::basic_iostream<char, std::char_traits<char> >
+std::basic_iostream<char, std::char_traits<char> >::_ZTCSd0_Si: 10u entries
+0 24u
+8 (int (*)(...))0
+16 (int (*)(...))(& _ZTISi)
+24 std::basic_istream<_CharT, _Traits>::~basic_istream [with _CharT = char, _Traits = std::char_traits<char>]
+32 std::basic_istream<_CharT, _Traits>::~basic_istream [with _CharT = char, _Traits = std::char_traits<char>]
+40 -24u
+48 (int (*)(...))-0x00000000000000018
+56 (int (*)(...))(& _ZTISi)
+64 std::basic_istream<char, std::char_traits<char> >::_ZTv0_n24_NSiD1Ev
+72 std::basic_istream<char, std::char_traits<char> >::_ZTv0_n24_NSiD0Ev
+
+Construction vtable for std::basic_ostream<char, std::char_traits<char> > (0x7f8151d36460 instance) in std::basic_iostream<char, std::char_traits<char> >
+std::basic_iostream<char, std::char_traits<char> >::_ZTCSd16_So: 10u entries
+0 8u
+8 (int (*)(...))0
+16 (int (*)(...))(& _ZTISo)
+24 std::basic_ostream<_CharT, _Traits>::~basic_ostream [with _CharT = char, _Traits = std::char_traits<char>]
+32 std::basic_ostream<_CharT, _Traits>::~basic_ostream [with _CharT = char, _Traits = std::char_traits<char>]
+40 -8u
+48 (int (*)(...))-0x00000000000000008
+56 (int (*)(...))(& _ZTISo)
+64 std::basic_ostream<char, std::char_traits<char> >::_ZTv0_n24_NSoD1Ev
+72 std::basic_ostream<char, std::char_traits<char> >::_ZTv0_n24_NSoD0Ev
+
+VTT for std::basic_iostream<char, std::char_traits<char> >
+std::basic_iostream<char, std::char_traits<char> >::_ZTTSd: 7u entries
+0 ((& std::basic_iostream<char, std::char_traits<char> >::_ZTVSd) + 24u)
+8 ((& std::basic_iostream<char, std::char_traits<char> >::_ZTCSd0_Si) + 24u)
+16 ((& std::basic_iostream<char, std::char_traits<char> >::_ZTCSd0_Si) + 64u)
+24 ((& std::basic_iostream<char, std::char_traits<char> >::_ZTCSd16_So) + 24u)
+32 ((& std::basic_iostream<char, std::char_traits<char> >::_ZTCSd16_So) + 64u)
+40 ((& std::basic_iostream<char, std::char_traits<char> >::_ZTVSd) + 104u)
+48 ((& std::basic_iostream<char, std::char_traits<char> >::_ZTVSd) + 64u)
+
+Construction vtable for std::basic_istream<wchar_t, std::char_traits<wchar_t> > (0x7f8151d36620 instance) in std::basic_iostream<wchar_t, std::char_traits<wchar_t> >
+std::basic_iostream<wchar_t, std::char_traits<wchar_t> >::_ZTCSt14basic_iostreamIwSt11char_traitsIwEE0_St13basic_istreamIwS1_E: 10u entries
+0 24u
+8 (int (*)(...))0
+16 (int (*)(...))(& _ZTISt13basic_istreamIwSt11char_traitsIwEE)
+24 std::basic_istream<_CharT, _Traits>::~basic_istream [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
+32 std::basic_istream<_CharT, _Traits>::~basic_istream [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
+40 -24u
+48 (int (*)(...))-0x00000000000000018
+56 (int (*)(...))(& _ZTISt13basic_istreamIwSt11char_traitsIwEE)
+64 std::basic_istream<wchar_t, std::char_traits<wchar_t> >::_ZTv0_n24_NSt13basic_istreamIwSt11char_traitsIwEED1Ev
+72 std::basic_istream<wchar_t, std::char_traits<wchar_t> >::_ZTv0_n24_NSt13basic_istreamIwSt11char_traitsIwEED0Ev
+
+Construction vtable for std::basic_ostream<wchar_t, std::char_traits<wchar_t> > (0x7f8151d36770 instance) in std::basic_iostream<wchar_t, std::char_traits<wchar_t> >
+std::basic_iostream<wchar_t, std::char_traits<wchar_t> >::_ZTCSt14basic_iostreamIwSt11char_traitsIwEE16_St13basic_ostreamIwS1_E: 10u entries
+0 8u
+8 (int (*)(...))0
+16 (int (*)(...))(& _ZTISt13basic_ostreamIwSt11char_traitsIwEE)
+24 std::basic_ostream<_CharT, _Traits>::~basic_ostream [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
+32 std::basic_ostream<_CharT, _Traits>::~basic_ostream [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
+40 -8u
+48 (int (*)(...))-0x00000000000000008
+56 (int (*)(...))(& _ZTISt13basic_ostreamIwSt11char_traitsIwEE)
+64 std::basic_ostream<wchar_t, std::char_traits<wchar_t> >::_ZTv0_n24_NSt13basic_ostreamIwSt11char_traitsIwEED1Ev
+72 std::basic_ostream<wchar_t, std::char_traits<wchar_t> >::_ZTv0_n24_NSt13basic_ostreamIwSt11char_traitsIwEED0Ev
+
+VTT for std::basic_iostream<wchar_t, std::char_traits<wchar_t> >
+std::basic_iostream<wchar_t, std::char_traits<wchar_t> >::_ZTTSt14basic_iostreamIwSt11char_traitsIwEE: 7u entries
+0 ((& std::basic_iostream<wchar_t, std::char_traits<wchar_t> >::_ZTVSt14basic_iostreamIwSt11char_traitsIwEE) + 24u)
+8 ((& std::basic_iostream<wchar_t, std::char_traits<wchar_t> >::_ZTCSt14basic_iostreamIwSt11char_traitsIwEE0_St13basic_istreamIwS1_E) + 24u)
+16 ((& std::basic_iostream<wchar_t, std::char_traits<wchar_t> >::_ZTCSt14basic_iostreamIwSt11char_traitsIwEE0_St13basic_istreamIwS1_E) + 64u)
+24 ((& std::basic_iostream<wchar_t, std::char_traits<wchar_t> >::_ZTCSt14basic_iostreamIwSt11char_traitsIwEE16_St13basic_ostreamIwS1_E) + 24u)
+32 ((& std::basic_iostream<wchar_t, std::char_traits<wchar_t> >::_ZTCSt14basic_iostreamIwSt11char_traitsIwEE16_St13basic_ostreamIwS1_E) + 64u)
+40 ((& std::basic_iostream<wchar_t, std::char_traits<wchar_t> >::_ZTVSt14basic_iostreamIwSt11char_traitsIwEE) + 104u)
+48 ((& std::basic_iostream<wchar_t, std::char_traits<wchar_t> >::_ZTVSt14basic_iostreamIwSt11char_traitsIwEE) + 64u)
+
+Class QtConcurrent::BlockSizeManager
+ size=96 align=8
+ base size=92 base align=8
+QtConcurrent::BlockSizeManager (0x7f8151da2230) 0
+
+Vtable for QFutureWatcherBase
+QFutureWatcherBase::_ZTV18QFutureWatcherBase: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QFutureWatcherBase)
+16 QFutureWatcherBase::metaObject
+24 QFutureWatcherBase::qt_metacast
+32 QFutureWatcherBase::qt_metacall
+40 QFutureWatcherBase::~QFutureWatcherBase
+48 QFutureWatcherBase::~QFutureWatcherBase
+56 QFutureWatcherBase::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QFutureWatcherBase::connectNotify
+104 QFutureWatcherBase::disconnectNotify
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+
+Class QFutureWatcherBase
+ size=16 align=8
+ base size=16 base align=8
+QFutureWatcherBase (0x7f815196abd0) 0
+ vptr=((& QFutureWatcherBase::_ZTV18QFutureWatcherBase) + 16u)
+ QObject (0x7f815196ac40) 0
+ primary-for QFutureWatcherBase (0x7f815196abd0)
+
+Vtable for QFactoryInterface
+QFactoryInterface::_ZTV17QFactoryInterface: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QFactoryInterface)
+16 QFactoryInterface::~QFactoryInterface
+24 QFactoryInterface::~QFactoryInterface
+32 __cxa_pure_virtual
+
+Class QFactoryInterface
+ size=8 align=8
+ base size=8 base align=8
+QFactoryInterface (0x7f8151882e00) 0 nearly-empty
+ vptr=((& QFactoryInterface::_ZTV17QFactoryInterface) + 16u)
+
+Vtable for QTextCodecFactoryInterface
+QTextCodecFactoryInterface::_ZTV26QTextCodecFactoryInterface: 6u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI26QTextCodecFactoryInterface)
+16 QTextCodecFactoryInterface::~QTextCodecFactoryInterface
+24 QTextCodecFactoryInterface::~QTextCodecFactoryInterface
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+
+Class QTextCodecFactoryInterface
+ size=8 align=8
+ base size=8 base align=8
+QTextCodecFactoryInterface (0x7f81518a6ee0) 0 nearly-empty
+ vptr=((& QTextCodecFactoryInterface::_ZTV26QTextCodecFactoryInterface) + 16u)
+ QFactoryInterface (0x7f81518a6f50) 0 nearly-empty
+ primary-for QTextCodecFactoryInterface (0x7f81518a6ee0)
+
+Vtable for QTextCodecPlugin
+QTextCodecPlugin::_ZTV16QTextCodecPlugin: 27u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QTextCodecPlugin)
+16 QTextCodecPlugin::metaObject
+24 QTextCodecPlugin::qt_metacast
+32 QTextCodecPlugin::qt_metacall
+40 QTextCodecPlugin::~QTextCodecPlugin
+48 QTextCodecPlugin::~QTextCodecPlugin
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 __cxa_pure_virtual
+136 __cxa_pure_virtual
+144 __cxa_pure_virtual
+152 QTextCodecPlugin::keys
+160 QTextCodecPlugin::create
+168 (int (*)(...))-0x00000000000000010
+176 (int (*)(...))(& _ZTI16QTextCodecPlugin)
+184 QTextCodecPlugin::_ZThn16_N16QTextCodecPluginD1Ev
+192 QTextCodecPlugin::_ZThn16_N16QTextCodecPluginD0Ev
+200 QTextCodecPlugin::_ZThn16_NK16QTextCodecPlugin4keysEv
+208 QTextCodecPlugin::_ZThn16_N16QTextCodecPlugin6createERK7QString
+
+Class QTextCodecPlugin
+ size=24 align=8
+ base size=24 base align=8
+QTextCodecPlugin (0x7f81518a9e00) 0
+ vptr=((& QTextCodecPlugin::_ZTV16QTextCodecPlugin) + 16u)
+ QObject (0x7f81518b07e0) 0
+ primary-for QTextCodecPlugin (0x7f81518a9e00)
+ QTextCodecFactoryInterface (0x7f81518b0850) 16 nearly-empty
+ vptr=((& QTextCodecPlugin::_ZTV16QTextCodecPlugin) + 184u)
+ QFactoryInterface (0x7f81518b08c0) 16 nearly-empty
+ primary-for QTextCodecFactoryInterface (0x7f81518b0850)
+
+Class QLibraryInfo
+ size=1 align=1
+ base size=0 base align=1
+QLibraryInfo (0x7f81518c7700) 0 empty
+
+Vtable for QTranslator
+QTranslator::_ZTV11QTranslator: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QTranslator)
+16 QTranslator::metaObject
+24 QTranslator::qt_metacast
+32 QTranslator::qt_metacall
+40 QTranslator::~QTranslator
+48 QTranslator::~QTranslator
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QTranslator::translate
+120 QTranslator::isEmpty
+
+Class QTranslator
+ size=16 align=8
+ base size=16 base align=8
+QTranslator (0x7f815170a000) 0
+ vptr=((& QTranslator::_ZTV11QTranslator) + 16u)
+ QObject (0x7f815170a070) 0
+ primary-for QTranslator (0x7f815170a000)
+
+Class __exception
+ size=40 align=8
+ base size=40 base align=8
+__exception (0x7f815171cf50) 0
+
+Vtable for QMimeData
+QMimeData::_ZTV9QMimeData: 17u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QMimeData)
+16 QMimeData::metaObject
+24 QMimeData::qt_metacast
+32 QMimeData::qt_metacall
+40 QMimeData::~QMimeData
+48 QMimeData::~QMimeData
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QMimeData::hasFormat
+120 QMimeData::formats
+128 QMimeData::retrieveData
+
+Class QMimeData
+ size=16 align=8
+ base size=16 base align=8
+QMimeData (0x7f8151789150) 0
+ vptr=((& QMimeData::_ZTV9QMimeData) + 16u)
+ QObject (0x7f81517891c0) 0
+ primary-for QMimeData (0x7f8151789150)
+
+Vtable for QEventLoop
+QEventLoop::_ZTV10QEventLoop: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QEventLoop)
+16 QEventLoop::metaObject
+24 QEventLoop::qt_metacast
+32 QEventLoop::qt_metacall
+40 QEventLoop::~QEventLoop
+48 QEventLoop::~QEventLoop
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QEventLoop
+ size=16 align=8
+ base size=16 base align=8
+QEventLoop (0x7f81517a19a0) 0
+ vptr=((& QEventLoop::_ZTV10QEventLoop) + 16u)
+ QObject (0x7f81517a1a10) 0
+ primary-for QEventLoop (0x7f81517a19a0)
+
+Vtable for QEvent
+QEvent::_ZTV6QEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI6QEvent)
+16 QEvent::~QEvent
+24 QEvent::~QEvent
+
+Class QEvent
+ size=24 align=8
+ base size=20 base align=8
+QEvent (0x7f81517e2310) 0
+ vptr=((& QEvent::_ZTV6QEvent) + 16u)
+
+Vtable for QTimerEvent
+QTimerEvent::_ZTV11QTimerEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QTimerEvent)
+16 QTimerEvent::~QTimerEvent
+24 QTimerEvent::~QTimerEvent
+
+Class QTimerEvent
+ size=24 align=8
+ base size=24 base align=8
+QTimerEvent (0x7f81515fbee0) 0
+ vptr=((& QTimerEvent::_ZTV11QTimerEvent) + 16u)
+ QEvent (0x7f81515fbf50) 0
+ primary-for QTimerEvent (0x7f81515fbee0)
+
+Vtable for QChildEvent
+QChildEvent::_ZTV11QChildEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QChildEvent)
+16 QChildEvent::~QChildEvent
+24 QChildEvent::~QChildEvent
+
+Class QChildEvent
+ size=32 align=8
+ base size=32 base align=8
+QChildEvent (0x7f81515fe380) 0
+ vptr=((& QChildEvent::_ZTV11QChildEvent) + 16u)
+ QEvent (0x7f81515fe3f0) 0
+ primary-for QChildEvent (0x7f81515fe380)
+
+Vtable for QCustomEvent
+QCustomEvent::_ZTV12QCustomEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QCustomEvent)
+16 QCustomEvent::~QCustomEvent
+24 QCustomEvent::~QCustomEvent
+
+Class QCustomEvent
+ size=24 align=8
+ base size=20 base align=8
+QCustomEvent (0x7f815160f620) 0
+ vptr=((& QCustomEvent::_ZTV12QCustomEvent) + 16u)
+ QEvent (0x7f815160f690) 0
+ primary-for QCustomEvent (0x7f815160f620)
+
+Vtable for QDynamicPropertyChangeEvent
+QDynamicPropertyChangeEvent::_ZTV27QDynamicPropertyChangeEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI27QDynamicPropertyChangeEvent)
+16 QDynamicPropertyChangeEvent::~QDynamicPropertyChangeEvent
+24 QDynamicPropertyChangeEvent::~QDynamicPropertyChangeEvent
+
+Class QDynamicPropertyChangeEvent
+ size=32 align=8
+ base size=32 base align=8
+QDynamicPropertyChangeEvent (0x7f815160fe00) 0
+ vptr=((& QDynamicPropertyChangeEvent::_ZTV27QDynamicPropertyChangeEvent) + 16u)
+ QEvent (0x7f815160fe70) 0
+ primary-for QDynamicPropertyChangeEvent (0x7f815160fe00)
+
+Vtable for QCoreApplication
+QCoreApplication::_ZTV16QCoreApplication: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QCoreApplication)
+16 QCoreApplication::metaObject
+24 QCoreApplication::qt_metacast
+32 QCoreApplication::qt_metacall
+40 QCoreApplication::~QCoreApplication
+48 QCoreApplication::~QCoreApplication
+56 QCoreApplication::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QCoreApplication::notify
+120 QCoreApplication::compressEvent
+
+Class QCoreApplication
+ size=16 align=8
+ base size=16 base align=8
+QCoreApplication (0x7f815161f230) 0
+ vptr=((& QCoreApplication::_ZTV16QCoreApplication) + 16u)
+ QObject (0x7f815161f2a0) 0
+ primary-for QCoreApplication (0x7f815161f230)
+
+Vtable for QSharedMemory
+QSharedMemory::_ZTV13QSharedMemory: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QSharedMemory)
+16 QSharedMemory::metaObject
+24 QSharedMemory::qt_metacast
+32 QSharedMemory::qt_metacall
+40 QSharedMemory::~QSharedMemory
+48 QSharedMemory::~QSharedMemory
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QSharedMemory
+ size=16 align=8
+ base size=16 base align=8
+QSharedMemory (0x7f815164aa80) 0
+ vptr=((& QSharedMemory::_ZTV13QSharedMemory) + 16u)
+ QObject (0x7f815164aaf0) 0
+ primary-for QSharedMemory (0x7f815164aa80)
+
+Class QModelIndex
+ size=24 align=8
+ base size=24 base align=8
+QModelIndex (0x7f8151669850) 0
+
+Class QPersistentModelIndex
+ size=8 align=8
+ base size=8 base align=8
+QPersistentModelIndex (0x7f8151692310) 0
+
+Vtable for QAbstractItemModel
+QAbstractItemModel::_ZTV18QAbstractItemModel: 42u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QAbstractItemModel)
+16 QAbstractItemModel::metaObject
+24 QAbstractItemModel::qt_metacast
+32 QAbstractItemModel::qt_metacall
+40 QAbstractItemModel::~QAbstractItemModel
+48 QAbstractItemModel::~QAbstractItemModel
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 __cxa_pure_virtual
+136 __cxa_pure_virtual
+144 QAbstractItemModel::hasChildren
+152 __cxa_pure_virtual
+160 QAbstractItemModel::setData
+168 QAbstractItemModel::headerData
+176 QAbstractItemModel::setHeaderData
+184 QAbstractItemModel::itemData
+192 QAbstractItemModel::setItemData
+200 QAbstractItemModel::mimeTypes
+208 QAbstractItemModel::mimeData
+216 QAbstractItemModel::dropMimeData
+224 QAbstractItemModel::supportedDropActions
+232 QAbstractItemModel::insertRows
+240 QAbstractItemModel::insertColumns
+248 QAbstractItemModel::removeRows
+256 QAbstractItemModel::removeColumns
+264 QAbstractItemModel::fetchMore
+272 QAbstractItemModel::canFetchMore
+280 QAbstractItemModel::flags
+288 QAbstractItemModel::sort
+296 QAbstractItemModel::buddy
+304 QAbstractItemModel::match
+312 QAbstractItemModel::span
+320 QAbstractItemModel::submit
+328 QAbstractItemModel::revert
+
+Class QAbstractItemModel
+ size=16 align=8
+ base size=16 base align=8
+QAbstractItemModel (0x7f81516a05b0) 0
+ vptr=((& QAbstractItemModel::_ZTV18QAbstractItemModel) + 16u)
+ QObject (0x7f81516a0620) 0
+ primary-for QAbstractItemModel (0x7f81516a05b0)
+
+Vtable for QAbstractTableModel
+QAbstractTableModel::_ZTV19QAbstractTableModel: 42u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QAbstractTableModel)
+16 QAbstractTableModel::metaObject
+24 QAbstractTableModel::qt_metacast
+32 QAbstractTableModel::qt_metacall
+40 QAbstractTableModel::~QAbstractTableModel
+48 QAbstractTableModel::~QAbstractTableModel
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QAbstractTableModel::index
+120 QAbstractTableModel::parent
+128 __cxa_pure_virtual
+136 __cxa_pure_virtual
+144 QAbstractTableModel::hasChildren
+152 __cxa_pure_virtual
+160 QAbstractItemModel::setData
+168 QAbstractItemModel::headerData
+176 QAbstractItemModel::setHeaderData
+184 QAbstractItemModel::itemData
+192 QAbstractItemModel::setItemData
+200 QAbstractItemModel::mimeTypes
+208 QAbstractItemModel::mimeData
+216 QAbstractTableModel::dropMimeData
+224 QAbstractItemModel::supportedDropActions
+232 QAbstractItemModel::insertRows
+240 QAbstractItemModel::insertColumns
+248 QAbstractItemModel::removeRows
+256 QAbstractItemModel::removeColumns
+264 QAbstractItemModel::fetchMore
+272 QAbstractItemModel::canFetchMore
+280 QAbstractItemModel::flags
+288 QAbstractItemModel::sort
+296 QAbstractItemModel::buddy
+304 QAbstractItemModel::match
+312 QAbstractItemModel::span
+320 QAbstractItemModel::submit
+328 QAbstractItemModel::revert
+
+Class QAbstractTableModel
+ size=16 align=8
+ base size=16 base align=8
+QAbstractTableModel (0x7f81514f1930) 0
+ vptr=((& QAbstractTableModel::_ZTV19QAbstractTableModel) + 16u)
+ QAbstractItemModel (0x7f81514f19a0) 0
+ primary-for QAbstractTableModel (0x7f81514f1930)
+ QObject (0x7f81514f1a10) 0
+ primary-for QAbstractItemModel (0x7f81514f19a0)
+
+Vtable for QAbstractListModel
+QAbstractListModel::_ZTV18QAbstractListModel: 42u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QAbstractListModel)
+16 QAbstractListModel::metaObject
+24 QAbstractListModel::qt_metacast
+32 QAbstractListModel::qt_metacall
+40 QAbstractListModel::~QAbstractListModel
+48 QAbstractListModel::~QAbstractListModel
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QAbstractListModel::index
+120 QAbstractListModel::parent
+128 __cxa_pure_virtual
+136 QAbstractListModel::columnCount
+144 QAbstractListModel::hasChildren
+152 __cxa_pure_virtual
+160 QAbstractItemModel::setData
+168 QAbstractItemModel::headerData
+176 QAbstractItemModel::setHeaderData
+184 QAbstractItemModel::itemData
+192 QAbstractItemModel::setItemData
+200 QAbstractItemModel::mimeTypes
+208 QAbstractItemModel::mimeData
+216 QAbstractListModel::dropMimeData
+224 QAbstractItemModel::supportedDropActions
+232 QAbstractItemModel::insertRows
+240 QAbstractItemModel::insertColumns
+248 QAbstractItemModel::removeRows
+256 QAbstractItemModel::removeColumns
+264 QAbstractItemModel::fetchMore
+272 QAbstractItemModel::canFetchMore
+280 QAbstractItemModel::flags
+288 QAbstractItemModel::sort
+296 QAbstractItemModel::buddy
+304 QAbstractItemModel::match
+312 QAbstractItemModel::span
+320 QAbstractItemModel::submit
+328 QAbstractItemModel::revert
+
+Class QAbstractListModel
+ size=16 align=8
+ base size=16 base align=8
+QAbstractListModel (0x7f81514feee0) 0
+ vptr=((& QAbstractListModel::_ZTV18QAbstractListModel) + 16u)
+ QAbstractItemModel (0x7f81514fef50) 0
+ primary-for QAbstractListModel (0x7f81514feee0)
+ QObject (0x7f81514fe230) 0
+ primary-for QAbstractItemModel (0x7f81514fef50)
+
+Vtable for QSignalMapper
+QSignalMapper::_ZTV13QSignalMapper: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QSignalMapper)
+16 QSignalMapper::metaObject
+24 QSignalMapper::qt_metacast
+32 QSignalMapper::qt_metacall
+40 QSignalMapper::~QSignalMapper
+48 QSignalMapper::~QSignalMapper
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QSignalMapper
+ size=16 align=8
+ base size=16 base align=8
+QSignalMapper (0x7f815153f000) 0
+ vptr=((& QSignalMapper::_ZTV13QSignalMapper) + 16u)
+ QObject (0x7f815153f070) 0
+ primary-for QSignalMapper (0x7f815153f000)
+
+Vtable for QObjectCleanupHandler
+QObjectCleanupHandler::_ZTV21QObjectCleanupHandler: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI21QObjectCleanupHandler)
+16 QObjectCleanupHandler::metaObject
+24 QObjectCleanupHandler::qt_metacast
+32 QObjectCleanupHandler::qt_metacall
+40 QObjectCleanupHandler::~QObjectCleanupHandler
+48 QObjectCleanupHandler::~QObjectCleanupHandler
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QObjectCleanupHandler
+ size=24 align=8
+ base size=24 base align=8
+QObjectCleanupHandler (0x7f81515593f0) 0
+ vptr=((& QObjectCleanupHandler::_ZTV21QObjectCleanupHandler) + 16u)
+ QObject (0x7f8151559460) 0
+ primary-for QObjectCleanupHandler (0x7f81515593f0)
+
+Class QBasicTimer
+ size=4 align=4
+ base size=4 base align=4
+QBasicTimer (0x7f8151568540) 0
+
+Vtable for QSocketNotifier
+QSocketNotifier::_ZTV15QSocketNotifier: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QSocketNotifier)
+16 QSocketNotifier::metaObject
+24 QSocketNotifier::qt_metacast
+32 QSocketNotifier::qt_metacall
+40 QSocketNotifier::~QSocketNotifier
+48 QSocketNotifier::~QSocketNotifier
+56 QSocketNotifier::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QSocketNotifier
+ size=32 align=8
+ base size=25 base align=8
+QSocketNotifier (0x7f8151574930) 0
+ vptr=((& QSocketNotifier::_ZTV15QSocketNotifier) + 16u)
+ QObject (0x7f81515749a0) 0
+ primary-for QSocketNotifier (0x7f8151574930)
+
+Vtable for QTimer
+QTimer::_ZTV6QTimer: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI6QTimer)
+16 QTimer::metaObject
+24 QTimer::qt_metacast
+32 QTimer::qt_metacall
+40 QTimer::~QTimer
+48 QTimer::~QTimer
+56 QObject::event
+64 QObject::eventFilter
+72 QTimer::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QTimer
+ size=32 align=8
+ base size=29 base align=8
+QTimer (0x7f8151590cb0) 0
+ vptr=((& QTimer::_ZTV6QTimer) + 16u)
+ QObject (0x7f8151590d20) 0
+ primary-for QTimer (0x7f8151590cb0)
+
+Vtable for QAbstractEventDispatcher
+QAbstractEventDispatcher::_ZTV24QAbstractEventDispatcher: 27u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI24QAbstractEventDispatcher)
+16 QAbstractEventDispatcher::metaObject
+24 QAbstractEventDispatcher::qt_metacast
+32 QAbstractEventDispatcher::qt_metacall
+40 QAbstractEventDispatcher::~QAbstractEventDispatcher
+48 QAbstractEventDispatcher::~QAbstractEventDispatcher
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 __cxa_pure_virtual
+136 __cxa_pure_virtual
+144 __cxa_pure_virtual
+152 __cxa_pure_virtual
+160 __cxa_pure_virtual
+168 __cxa_pure_virtual
+176 __cxa_pure_virtual
+184 __cxa_pure_virtual
+192 __cxa_pure_virtual
+200 QAbstractEventDispatcher::startingUp
+208 QAbstractEventDispatcher::closingDown
+
+Class QAbstractEventDispatcher
+ size=16 align=8
+ base size=16 base align=8
+QAbstractEventDispatcher (0x7f81515b32a0) 0
+ vptr=((& QAbstractEventDispatcher::_ZTV24QAbstractEventDispatcher) + 16u)
+ QObject (0x7f81515b3310) 0
+ primary-for QAbstractEventDispatcher (0x7f81515b32a0)
+
+Class QMetaMethod
+ size=16 align=8
+ base size=12 base align=8
+QMetaMethod (0x7f81515cc150) 0
+
+Class QMetaEnum
+ size=16 align=8
+ base size=12 base align=8
+QMetaEnum (0x7f81513e95b0) 0
+
+Class QMetaProperty
+ size=32 align=8
+ base size=32 base align=8
+QMetaProperty (0x7f81513f7310) 0
+
+Class QMetaClassInfo
+ size=16 align=8
+ base size=12 base align=8
+QMetaClassInfo (0x7f81513f79a0) 0
+
+Class QSystemSemaphore
+ size=8 align=8
+ base size=8 base align=8
+QSystemSemaphore (0x7f81514084d0) 0
+
+Vtable for QLibrary
+QLibrary::_ZTV8QLibrary: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI8QLibrary)
+16 QLibrary::metaObject
+24 QLibrary::qt_metacast
+32 QLibrary::qt_metacall
+40 QLibrary::~QLibrary
+48 QLibrary::~QLibrary
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QLibrary
+ size=32 align=8
+ base size=25 base align=8
+QLibrary (0x7f8151408e00) 0
+ vptr=((& QLibrary::_ZTV8QLibrary) + 16u)
+ QObject (0x7f8151408e70) 0
+ primary-for QLibrary (0x7f8151408e00)
+
+Vtable for QPluginLoader
+QPluginLoader::_ZTV13QPluginLoader: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QPluginLoader)
+16 QPluginLoader::metaObject
+24 QPluginLoader::qt_metacast
+32 QPluginLoader::qt_metacall
+40 QPluginLoader::~QPluginLoader
+48 QPluginLoader::~QPluginLoader
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QPluginLoader
+ size=32 align=8
+ base size=25 base align=8
+QPluginLoader (0x7f815144d8c0) 0
+ vptr=((& QPluginLoader::_ZTV13QPluginLoader) + 16u)
+ QObject (0x7f815144d930) 0
+ primary-for QPluginLoader (0x7f815144d8c0)
+
+Class QUuid
+ size=16 align=4
+ base size=16 base align=4
+QUuid (0x7f8151472070) 0
+
+Class QSemaphore
+ size=8 align=8
+ base size=8 base align=8
+QSemaphore (0x7f81514919a0) 0
+
+Class QThreadStorageData
+ size=4 align=4
+ base size=4 base align=4
+QThreadStorageData (0x7f8151491ee0) 0
+
+Class QReadWriteLock
+ size=8 align=8
+ base size=8 base align=8
+QReadWriteLock (0x7f81514a2690) 0
+
+Class QReadLocker
+ size=8 align=8
+ base size=8 base align=8
+QReadLocker (0x7f81514a2d20) 0
+
+Class QWriteLocker
+ size=8 align=8
+ base size=8 base align=8
+QWriteLocker (0x7f81514d00e0) 0
+
+Class QSslCertificate
+ size=8 align=8
+ base size=8 base align=8
+QSslCertificate (0x7f81514e3460) 0
+
+Class QSslError
+ size=8 align=8
+ base size=8 base align=8
+QSslError (0x7f81512f8ee0) 0
+
+Class QSslCipher
+ size=8 align=8
+ base size=8 base align=8
+QSslCipher (0x7f8151303cb0) 0
+
+Vtable for QAbstractSocket
+QAbstractSocket::_ZTV15QAbstractSocket: 30u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QAbstractSocket)
+16 QAbstractSocket::metaObject
+24 QAbstractSocket::qt_metacast
+32 QAbstractSocket::qt_metacall
+40 QAbstractSocket::~QAbstractSocket
+48 QAbstractSocket::~QAbstractSocket
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QAbstractSocket::isSequential
+120 QIODevice::open
+128 QAbstractSocket::close
+136 QIODevice::pos
+144 QIODevice::size
+152 QIODevice::seek
+160 QAbstractSocket::atEnd
+168 QIODevice::reset
+176 QAbstractSocket::bytesAvailable
+184 QAbstractSocket::bytesToWrite
+192 QAbstractSocket::canReadLine
+200 QAbstractSocket::waitForReadyRead
+208 QAbstractSocket::waitForBytesWritten
+216 QAbstractSocket::readData
+224 QAbstractSocket::readLineData
+232 QAbstractSocket::writeData
+
+Class QAbstractSocket
+ size=16 align=8
+ base size=16 base align=8
+QAbstractSocket (0x7f815130e620) 0
+ vptr=((& QAbstractSocket::_ZTV15QAbstractSocket) + 16u)
+ QIODevice (0x7f815130e690) 0
+ primary-for QAbstractSocket (0x7f815130e620)
+ QObject (0x7f815130e700) 0
+ primary-for QIODevice (0x7f815130e690)
+
+Vtable for QTcpSocket
+QTcpSocket::_ZTV10QTcpSocket: 30u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QTcpSocket)
+16 QTcpSocket::metaObject
+24 QTcpSocket::qt_metacast
+32 QTcpSocket::qt_metacall
+40 QTcpSocket::~QTcpSocket
+48 QTcpSocket::~QTcpSocket
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QAbstractSocket::isSequential
+120 QIODevice::open
+128 QAbstractSocket::close
+136 QIODevice::pos
+144 QIODevice::size
+152 QIODevice::seek
+160 QAbstractSocket::atEnd
+168 QIODevice::reset
+176 QAbstractSocket::bytesAvailable
+184 QAbstractSocket::bytesToWrite
+192 QAbstractSocket::canReadLine
+200 QAbstractSocket::waitForReadyRead
+208 QAbstractSocket::waitForBytesWritten
+216 QAbstractSocket::readData
+224 QAbstractSocket::readLineData
+232 QAbstractSocket::writeData
+
+Class QTcpSocket
+ size=16 align=8
+ base size=16 base align=8
+QTcpSocket (0x7f8151349cb0) 0
+ vptr=((& QTcpSocket::_ZTV10QTcpSocket) + 16u)
+ QAbstractSocket (0x7f8151349d20) 0
+ primary-for QTcpSocket (0x7f8151349cb0)
+ QIODevice (0x7f8151349d90) 0
+ primary-for QAbstractSocket (0x7f8151349d20)
+ QObject (0x7f8151349e00) 0
+ primary-for QIODevice (0x7f8151349d90)
+
+Vtable for QSslSocket
+QSslSocket::_ZTV10QSslSocket: 30u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QSslSocket)
+16 QSslSocket::metaObject
+24 QSslSocket::qt_metacast
+32 QSslSocket::qt_metacall
+40 QSslSocket::~QSslSocket
+48 QSslSocket::~QSslSocket
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QAbstractSocket::isSequential
+120 QIODevice::open
+128 QSslSocket::close
+136 QIODevice::pos
+144 QIODevice::size
+152 QIODevice::seek
+160 QSslSocket::atEnd
+168 QIODevice::reset
+176 QSslSocket::bytesAvailable
+184 QSslSocket::bytesToWrite
+192 QSslSocket::canReadLine
+200 QSslSocket::waitForReadyRead
+208 QSslSocket::waitForBytesWritten
+216 QSslSocket::readData
+224 QAbstractSocket::readLineData
+232 QSslSocket::writeData
+
+Class QSslSocket
+ size=16 align=8
+ base size=16 base align=8
+QSslSocket (0x7f8151364770) 0
+ vptr=((& QSslSocket::_ZTV10QSslSocket) + 16u)
+ QTcpSocket (0x7f81513647e0) 0
+ primary-for QSslSocket (0x7f8151364770)
+ QAbstractSocket (0x7f8151364850) 0
+ primary-for QTcpSocket (0x7f81513647e0)
+ QIODevice (0x7f81513648c0) 0
+ primary-for QAbstractSocket (0x7f8151364850)
+ QObject (0x7f8151364930) 0
+ primary-for QIODevice (0x7f81513648c0)
+
+Class QSslConfiguration
+ size=8 align=8
+ base size=8 base align=8
+QSslConfiguration (0x7f81513994d0) 0
+
+Class QSslKey
+ size=8 align=8
+ base size=8 base align=8
+QSslKey (0x7f81513aa2a0) 0
+
+Vtable for QHttpHeader
+QHttpHeader::_ZTV11QHttpHeader: 8u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QHttpHeader)
+16 QHttpHeader::~QHttpHeader
+24 QHttpHeader::~QHttpHeader
+32 QHttpHeader::toString
+40 __cxa_pure_virtual
+48 __cxa_pure_virtual
+56 QHttpHeader::parseLine
+
+Class QHttpHeader
+ size=16 align=8
+ base size=16 base align=8
+QHttpHeader (0x7f81513aae00) 0
+ vptr=((& QHttpHeader::_ZTV11QHttpHeader) + 16u)
+
+Vtable for QHttpResponseHeader
+QHttpResponseHeader::_ZTV19QHttpResponseHeader: 8u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QHttpResponseHeader)
+16 QHttpResponseHeader::~QHttpResponseHeader
+24 QHttpResponseHeader::~QHttpResponseHeader
+32 QHttpResponseHeader::toString
+40 QHttpResponseHeader::majorVersion
+48 QHttpResponseHeader::minorVersion
+56 QHttpResponseHeader::parseLine
+
+Class QHttpResponseHeader
+ size=16 align=8
+ base size=16 base align=8
+QHttpResponseHeader (0x7f81513c5a80) 0
+ vptr=((& QHttpResponseHeader::_ZTV19QHttpResponseHeader) + 16u)
+ QHttpHeader (0x7f81513c5af0) 0
+ primary-for QHttpResponseHeader (0x7f81513c5a80)
+
+Vtable for QHttpRequestHeader
+QHttpRequestHeader::_ZTV18QHttpRequestHeader: 8u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QHttpRequestHeader)
+16 QHttpRequestHeader::~QHttpRequestHeader
+24 QHttpRequestHeader::~QHttpRequestHeader
+32 QHttpRequestHeader::toString
+40 QHttpRequestHeader::majorVersion
+48 QHttpRequestHeader::minorVersion
+56 QHttpRequestHeader::parseLine
+
+Class QHttpRequestHeader
+ size=16 align=8
+ base size=16 base align=8
+QHttpRequestHeader (0x7f81513d6770) 0
+ vptr=((& QHttpRequestHeader::_ZTV18QHttpRequestHeader) + 16u)
+ QHttpHeader (0x7f81513d67e0) 0
+ primary-for QHttpRequestHeader (0x7f81513d6770)
+
+Vtable for QHttp
+QHttp::_ZTV5QHttp: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI5QHttp)
+16 QHttp::metaObject
+24 QHttp::qt_metacast
+32 QHttp::qt_metacall
+40 QHttp::~QHttp
+48 QHttp::~QHttp
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QHttp
+ size=16 align=8
+ base size=16 base align=8
+QHttp (0x7f81511e7310) 0
+ vptr=((& QHttp::_ZTV5QHttp) + 16u)
+ QObject (0x7f81511e7380) 0
+ primary-for QHttp (0x7f81511e7310)
+
+Class QNetworkRequest
+ size=8 align=8
+ base size=8 base align=8
+QNetworkRequest (0x7f8151216540) 0
+
+Vtable for QNetworkAccessManager
+QNetworkAccessManager::_ZTV21QNetworkAccessManager: 15u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI21QNetworkAccessManager)
+16 QNetworkAccessManager::metaObject
+24 QNetworkAccessManager::qt_metacast
+32 QNetworkAccessManager::qt_metacall
+40 QNetworkAccessManager::~QNetworkAccessManager
+48 QNetworkAccessManager::~QNetworkAccessManager
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QNetworkAccessManager::createRequest
+
+Class QNetworkAccessManager
+ size=16 align=8
+ base size=16 base align=8
+QNetworkAccessManager (0x7f8151230460) 0
+ vptr=((& QNetworkAccessManager::_ZTV21QNetworkAccessManager) + 16u)
+ QObject (0x7f81512304d0) 0
+ primary-for QNetworkAccessManager (0x7f8151230460)
+
+Class QNetworkCookie
+ size=8 align=8
+ base size=8 base align=8
+QNetworkCookie (0x7f815124f9a0) 0
+
+Vtable for QNetworkCookieJar
+QNetworkCookieJar::_ZTV17QNetworkCookieJar: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QNetworkCookieJar)
+16 QNetworkCookieJar::metaObject
+24 QNetworkCookieJar::qt_metacast
+32 QNetworkCookieJar::qt_metacall
+40 QNetworkCookieJar::~QNetworkCookieJar
+48 QNetworkCookieJar::~QNetworkCookieJar
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QNetworkCookieJar::cookiesForUrl
+120 QNetworkCookieJar::setCookiesFromUrl
+
+Class QNetworkCookieJar
+ size=16 align=8
+ base size=16 base align=8
+QNetworkCookieJar (0x7f8151254af0) 0
+ vptr=((& QNetworkCookieJar::_ZTV17QNetworkCookieJar) + 16u)
+ QObject (0x7f8151254b60) 0
+ primary-for QNetworkCookieJar (0x7f8151254af0)
+
+Vtable for QNetworkReply
+QNetworkReply::_ZTV13QNetworkReply: 33u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QNetworkReply)
+16 QNetworkReply::metaObject
+24 QNetworkReply::qt_metacast
+32 QNetworkReply::qt_metacall
+40 QNetworkReply::~QNetworkReply
+48 QNetworkReply::~QNetworkReply
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QNetworkReply::isSequential
+120 QIODevice::open
+128 QNetworkReply::close
+136 QIODevice::pos
+144 QIODevice::size
+152 QIODevice::seek
+160 QIODevice::atEnd
+168 QIODevice::reset
+176 QIODevice::bytesAvailable
+184 QIODevice::bytesToWrite
+192 QIODevice::canReadLine
+200 QIODevice::waitForReadyRead
+208 QIODevice::waitForBytesWritten
+216 __cxa_pure_virtual
+224 QIODevice::readLineData
+232 QNetworkReply::writeData
+240 __cxa_pure_virtual
+248 QNetworkReply::setReadBufferSize
+256 QNetworkReply::ignoreSslErrors
+
+Class QNetworkReply
+ size=16 align=8
+ base size=16 base align=8
+QNetworkReply (0x7f81512849a0) 0
+ vptr=((& QNetworkReply::_ZTV13QNetworkReply) + 16u)
+ QIODevice (0x7f8151284a10) 0
+ primary-for QNetworkReply (0x7f81512849a0)
+ QObject (0x7f8151284a80) 0
+ primary-for QIODevice (0x7f8151284a10)
+
+Vtable for QUrlInfo
+QUrlInfo::_ZTV8QUrlInfo: 15u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI8QUrlInfo)
+16 QUrlInfo::~QUrlInfo
+24 QUrlInfo::~QUrlInfo
+32 QUrlInfo::setName
+40 QUrlInfo::setDir
+48 QUrlInfo::setFile
+56 QUrlInfo::setSymLink
+64 QUrlInfo::setOwner
+72 QUrlInfo::setGroup
+80 QUrlInfo::setSize
+88 QUrlInfo::setWritable
+96 QUrlInfo::setReadable
+104 QUrlInfo::setPermissions
+112 QUrlInfo::setLastModified
+
+Class QUrlInfo
+ size=16 align=8
+ base size=16 base align=8
+QUrlInfo (0x7f81512b0620) 0
+ vptr=((& QUrlInfo::_ZTV8QUrlInfo) + 16u)
+
+Vtable for QFtp
+QFtp::_ZTV4QFtp: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI4QFtp)
+16 QFtp::metaObject
+24 QFtp::qt_metacast
+32 QFtp::qt_metacall
+40 QFtp::~QFtp
+48 QFtp::~QFtp
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QFtp
+ size=16 align=8
+ base size=16 base align=8
+QFtp (0x7f81512c25b0) 0
+ vptr=((& QFtp::_ZTV4QFtp) + 16u)
+ QObject (0x7f81512c2620) 0
+ primary-for QFtp (0x7f81512c25b0)
+
+Class QNetworkCacheMetaData
+ size=8 align=8
+ base size=8 base align=8
+QNetworkCacheMetaData (0x7f81510eebd0) 0
+
+Vtable for QAbstractNetworkCache
+QAbstractNetworkCache::_ZTV21QAbstractNetworkCache: 22u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI21QAbstractNetworkCache)
+16 QAbstractNetworkCache::metaObject
+24 QAbstractNetworkCache::qt_metacast
+32 QAbstractNetworkCache::qt_metacall
+40 QAbstractNetworkCache::~QAbstractNetworkCache
+48 QAbstractNetworkCache::~QAbstractNetworkCache
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 __cxa_pure_virtual
+136 __cxa_pure_virtual
+144 __cxa_pure_virtual
+152 __cxa_pure_virtual
+160 __cxa_pure_virtual
+168 __cxa_pure_virtual
+
+Class QAbstractNetworkCache
+ size=16 align=8
+ base size=16 base align=8
+QAbstractNetworkCache (0x7f81510f4ee0) 0
+ vptr=((& QAbstractNetworkCache::_ZTV21QAbstractNetworkCache) + 16u)
+ QObject (0x7f81510f4f50) 0
+ primary-for QAbstractNetworkCache (0x7f81510f4ee0)
+
+Vtable for QNetworkDiskCache
+QNetworkDiskCache::_ZTV17QNetworkDiskCache: 23u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QNetworkDiskCache)
+16 QNetworkDiskCache::metaObject
+24 QNetworkDiskCache::qt_metacast
+32 QNetworkDiskCache::qt_metacall
+40 QNetworkDiskCache::~QNetworkDiskCache
+48 QNetworkDiskCache::~QNetworkDiskCache
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QNetworkDiskCache::metaData
+120 QNetworkDiskCache::updateMetaData
+128 QNetworkDiskCache::data
+136 QNetworkDiskCache::remove
+144 QNetworkDiskCache::cacheSize
+152 QNetworkDiskCache::prepare
+160 QNetworkDiskCache::insert
+168 QNetworkDiskCache::clear
+176 QNetworkDiskCache::expire
+
+Class QNetworkDiskCache
+ size=16 align=8
+ base size=16 base align=8
+QNetworkDiskCache (0x7f815111e850) 0
+ vptr=((& QNetworkDiskCache::_ZTV17QNetworkDiskCache) + 16u)
+ QAbstractNetworkCache (0x7f815111e8c0) 0
+ primary-for QNetworkDiskCache (0x7f815111e850)
+ QObject (0x7f815111e930) 0
+ primary-for QAbstractNetworkCache (0x7f815111e8c0)
+
+Class QIPv6Address
+ size=16 align=1
+ base size=16 base align=1
+QIPv6Address (0x7f815113c1c0) 0
+
+Class QHostAddress
+ size=8 align=8
+ base size=8 base align=8
+QHostAddress (0x7f815113c7e0) 0
+
+Class QNetworkAddressEntry
+ size=8 align=8
+ base size=8 base align=8
+QNetworkAddressEntry (0x7f8151164770) 0
+
+Class QNetworkInterface
+ size=8 align=8
+ base size=8 base align=8
+QNetworkInterface (0x7f8151175000) 0
+
+Class QAuthenticator
+ size=8 align=8
+ base size=8 base align=8
+QAuthenticator (0x7f81511a2d20) 0
+
+Class QHostInfo
+ size=8 align=8
+ base size=8 base align=8
+QHostInfo (0x7f81511b2620) 0
+
+Class QNetworkProxyQuery
+ size=8 align=8
+ base size=8 base align=8
+QNetworkProxyQuery (0x7f81511b2e70) 0
+
+Class QNetworkProxy
+ size=8 align=8
+ base size=8 base align=8
+QNetworkProxy (0x7f81511df150) 0
+
+Vtable for QNetworkProxyFactory
+QNetworkProxyFactory::_ZTV20QNetworkProxyFactory: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI20QNetworkProxyFactory)
+16 QNetworkProxyFactory::~QNetworkProxyFactory
+24 QNetworkProxyFactory::~QNetworkProxyFactory
+32 __cxa_pure_virtual
+
+Class QNetworkProxyFactory
+ size=8 align=8
+ base size=8 base align=8
+QNetworkProxyFactory (0x7f81510245b0) 0 nearly-empty
+ vptr=((& QNetworkProxyFactory::_ZTV20QNetworkProxyFactory) + 16u)
+
+Vtable for QLocalServer
+QLocalServer::_ZTV12QLocalServer: 17u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QLocalServer)
+16 QLocalServer::metaObject
+24 QLocalServer::qt_metacast
+32 QLocalServer::qt_metacall
+40 QLocalServer::~QLocalServer
+48 QLocalServer::~QLocalServer
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QLocalServer::hasPendingConnections
+120 QLocalServer::nextPendingConnection
+128 QLocalServer::incomingConnection
+
+Class QLocalServer
+ size=16 align=8
+ base size=16 base align=8
+QLocalServer (0x7f81510248c0) 0
+ vptr=((& QLocalServer::_ZTV12QLocalServer) + 16u)
+ QObject (0x7f8151024930) 0
+ primary-for QLocalServer (0x7f81510248c0)
+
+Vtable for QLocalSocket
+QLocalSocket::_ZTV12QLocalSocket: 30u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QLocalSocket)
+16 QLocalSocket::metaObject
+24 QLocalSocket::qt_metacast
+32 QLocalSocket::qt_metacall
+40 QLocalSocket::~QLocalSocket
+48 QLocalSocket::~QLocalSocket
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QLocalSocket::isSequential
+120 QIODevice::open
+128 QLocalSocket::close
+136 QIODevice::pos
+144 QIODevice::size
+152 QIODevice::seek
+160 QIODevice::atEnd
+168 QIODevice::reset
+176 QLocalSocket::bytesAvailable
+184 QLocalSocket::bytesToWrite
+192 QLocalSocket::canReadLine
+200 QLocalSocket::waitForReadyRead
+208 QLocalSocket::waitForBytesWritten
+216 QLocalSocket::readData
+224 QIODevice::readLineData
+232 QLocalSocket::writeData
+
+Class QLocalSocket
+ size=16 align=8
+ base size=16 base align=8
+QLocalSocket (0x7f81510442a0) 0
+ vptr=((& QLocalSocket::_ZTV12QLocalSocket) + 16u)
+ QIODevice (0x7f8151044310) 0
+ primary-for QLocalSocket (0x7f81510442a0)
+ QObject (0x7f8151044380) 0
+ primary-for QIODevice (0x7f8151044310)
+
+Vtable for QTcpServer
+QTcpServer::_ZTV10QTcpServer: 17u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QTcpServer)
+16 QTcpServer::metaObject
+24 QTcpServer::qt_metacast
+32 QTcpServer::qt_metacall
+40 QTcpServer::~QTcpServer
+48 QTcpServer::~QTcpServer
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QTcpServer::hasPendingConnections
+120 QTcpServer::nextPendingConnection
+128 QTcpServer::incomingConnection
+
+Class QTcpServer
+ size=16 align=8
+ base size=16 base align=8
+QTcpServer (0x7f8151066460) 0
+ vptr=((& QTcpServer::_ZTV10QTcpServer) + 16u)
+ QObject (0x7f81510664d0) 0
+ primary-for QTcpServer (0x7f8151066460)
+
+Vtable for QUdpSocket
+QUdpSocket::_ZTV10QUdpSocket: 30u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QUdpSocket)
+16 QUdpSocket::metaObject
+24 QUdpSocket::qt_metacast
+32 QUdpSocket::qt_metacall
+40 QUdpSocket::~QUdpSocket
+48 QUdpSocket::~QUdpSocket
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QAbstractSocket::isSequential
+120 QIODevice::open
+128 QAbstractSocket::close
+136 QIODevice::pos
+144 QIODevice::size
+152 QIODevice::seek
+160 QAbstractSocket::atEnd
+168 QIODevice::reset
+176 QAbstractSocket::bytesAvailable
+184 QAbstractSocket::bytesToWrite
+192 QAbstractSocket::canReadLine
+200 QAbstractSocket::waitForReadyRead
+208 QAbstractSocket::waitForBytesWritten
+216 QAbstractSocket::readData
+224 QAbstractSocket::readLineData
+232 QAbstractSocket::writeData
+
+Class QUdpSocket
+ size=16 align=8
+ base size=16 base align=8
+QUdpSocket (0x7f815107cf50) 0
+ vptr=((& QUdpSocket::_ZTV10QUdpSocket) + 16u)
+ QAbstractSocket (0x7f8151082000) 0
+ primary-for QUdpSocket (0x7f815107cf50)
+ QIODevice (0x7f8151082070) 0
+ primary-for QAbstractSocket (0x7f8151082000)
+ QObject (0x7f81510820e0) 0
+ primary-for QIODevice (0x7f8151082070)
+
+Vtable for QPaintDevice
+QPaintDevice::_ZTV12QPaintDevice: 7u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QPaintDevice)
+16 QPaintDevice::~QPaintDevice
+24 QPaintDevice::~QPaintDevice
+32 QPaintDevice::devType
+40 __cxa_pure_virtual
+48 QPaintDevice::metric
+
+Class QPaintDevice
+ size=16 align=8
+ base size=10 base align=8
+QPaintDevice (0x7f81510b6cb0) 0
+ vptr=((& QPaintDevice::_ZTV12QPaintDevice) + 16u)
+
+Class QColor
+ size=16 align=4
+ base size=14 base align=4
+QColor (0x7f8150efd070) 0
+
+Class QPolygon
+ size=8 align=8
+ base size=8 base align=8
+QPolygon (0x7f8150f4e460) 0
+ QVector<QPoint> (0x7f8150f4e4d0) 0
+
+Class QPolygonF
+ size=8 align=8
+ base size=8 base align=8
+QPolygonF (0x7f8150f8f5b0) 0
+ QVector<QPointF> (0x7f8150f8f620) 0
+
+Class QRegion::QRegionData
+ size=32 align=8
+ base size=32 base align=8
+QRegion::QRegionData (0x7f8150d67b60) 0
+
+Class QRegion
+ size=8 align=8
+ base size=8 base align=8
+QRegion (0x7f8150fd3230) 0
+
+Class QMatrix
+ size=48 align=8
+ base size=48 base align=8
+QMatrix (0x7f8150d83380) 0
+
+Class QPainterPath::Element
+ size=24 align=8
+ base size=24 base align=8
+QPainterPath::Element (0x7f8150db0d90) 0
+
+Class QPainterPath
+ size=8 align=8
+ base size=8 base align=8
+QPainterPath (0x7f8150db0d20) 0
+
+Class QPainterPathPrivate
+ size=16 align=8
+ base size=16 base align=8
+QPainterPathPrivate (0x7f8150dfc150) 0
+
+Class QPainterPathStroker
+ size=8 align=8
+ base size=8 base align=8
+QPainterPathStroker (0x7f8150dfccb0) 0
+
+Class QTransform
+ size=88 align=8
+ base size=88 base align=8
+QTransform (0x7f8150e5b850) 0
+
+Class QImageTextKeyLang
+ size=16 align=8
+ base size=16 base align=8
+QImageTextKeyLang (0x7f8150cdab60) 0
+
+Vtable for QImage
+QImage::_ZTV6QImage: 7u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI6QImage)
+16 QImage::~QImage
+24 QImage::~QImage
+32 QImage::devType
+40 QImage::paintEngine
+48 QImage::metric
+
+Class QImage
+ size=24 align=8
+ base size=24 base align=8
+QImage (0x7f8150d2c3f0) 0
+ vptr=((& QImage::_ZTV6QImage) + 16u)
+ QPaintDevice (0x7f8150d2c460) 0
+ primary-for QImage (0x7f8150d2c3f0)
+
+Vtable for QPixmap
+QPixmap::_ZTV7QPixmap: 7u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QPixmap)
+16 QPixmap::~QPixmap
+24 QPixmap::~QPixmap
+32 QPixmap::devType
+40 QPixmap::paintEngine
+48 QPixmap::metric
+
+Class QPixmap
+ size=24 align=8
+ base size=24 base align=8
+QPixmap (0x7f8150ba1e00) 0
+ vptr=((& QPixmap::_ZTV7QPixmap) + 16u)
+ QPaintDevice (0x7f8150ba1e70) 0
+ primary-for QPixmap (0x7f8150ba1e00)
+
+Class QIcon
+ size=8 align=8
+ base size=8 base align=8
+QIcon (0x7f8150c08000) 0
+
+Class QScriptValue
+ size=8 align=8
+ base size=8 base align=8
+QScriptValue (0x7f8150c29b60) 0
+
+Class QScriptContext
+ size=8 align=8
+ base size=8 base align=8
+QScriptContext (0x7f8150ad5a10) 0
+
+Class QScriptString
+ size=8 align=8
+ base size=8 base align=8
+QScriptString (0x7f8150aef770) 0
+
+Class QScriptSyntaxCheckResult
+ size=8 align=8
+ base size=8 base align=8
+QScriptSyntaxCheckResult (0x7f8150afa380) 0
+
+Vtable for QScriptEngine
+QScriptEngine::_ZTV13QScriptEngine: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QScriptEngine)
+16 QScriptEngine::metaObject
+24 QScriptEngine::qt_metacast
+32 QScriptEngine::qt_metacall
+40 QScriptEngine::~QScriptEngine
+48 QScriptEngine::~QScriptEngine
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QScriptEngine
+ size=16 align=8
+ base size=16 base align=8
+QScriptEngine (0x7f8150afaee0) 0
+ vptr=((& QScriptEngine::_ZTV13QScriptEngine) + 16u)
+ QObject (0x7f8150afaf50) 0
+ primary-for QScriptEngine (0x7f8150afaee0)
+
+Class QWebHitTestResult
+ size=8 align=8
+ base size=8 base align=8
+QWebHitTestResult (0x7f8150971770) 0
+
+Vtable for QWebFrame
+QWebFrame::_ZTV9QWebFrame: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QWebFrame)
+16 QWebFrame::metaObject
+24 QWebFrame::qt_metacast
+32 QWebFrame::qt_metacall
+40 QWebFrame::~QWebFrame
+48 QWebFrame::~QWebFrame
+56 QWebFrame::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QWebFrame
+ size=24 align=8
+ base size=24 base align=8
+QWebFrame (0x7f8150971d20) 0
+ vptr=((& QWebFrame::_ZTV9QWebFrame) + 16u)
+ QObject (0x7f8150971d90) 0
+ primary-for QWebFrame (0x7f8150971d20)
+
+Class QWebSettings
+ size=8 align=8
+ base size=8 base align=8
+QWebSettings (0x7f81509ad770) 0
+
+Class QWebDatabase
+ size=8 align=8
+ base size=8 base align=8
+QWebDatabase (0x7f81509be5b0) 0
+
+Vtable for QWebHistoryInterface
+QWebHistoryInterface::_ZTV20QWebHistoryInterface: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI20QWebHistoryInterface)
+16 QWebHistoryInterface::metaObject
+24 QWebHistoryInterface::qt_metacast
+32 QWebHistoryInterface::qt_metacall
+40 QWebHistoryInterface::~QWebHistoryInterface
+48 QWebHistoryInterface::~QWebHistoryInterface
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+
+Class QWebHistoryInterface
+ size=16 align=8
+ base size=16 base align=8
+QWebHistoryInterface (0x7f81509becb0) 0
+ vptr=((& QWebHistoryInterface::_ZTV20QWebHistoryInterface) + 16u)
+ QObject (0x7f81509bed20) 0
+ primary-for QWebHistoryInterface (0x7f81509becb0)
+
+Class QWebSecurityOrigin
+ size=8 align=8
+ base size=8 base align=8
+QWebSecurityOrigin (0x7f81509dad90) 0
+
+Class QBrush
+ size=8 align=8
+ base size=8 base align=8
+QBrush (0x7f81509e7770) 0
+
+Class QBrushData
+ size=112 align=8
+ base size=112 base align=8
+QBrushData (0x7f8150a13310) 0
+
+Class QGradient
+ size=64 align=8
+ base size=64 base align=8
+QGradient (0x7f8150a1c4d0) 0
+
+Class QLinearGradient
+ size=64 align=8
+ base size=64 base align=8
+QLinearGradient (0x7f8150a323f0) 0
+ QGradient (0x7f8150a5a000) 0
+
+Class QRadialGradient
+ size=64 align=8
+ base size=64 base align=8
+QRadialGradient (0x7f8150a5a460) 0
+ QGradient (0x7f8150a5a4d0) 0
+
+Class QConicalGradient
+ size=64 align=8
+ base size=64 base align=8
+QConicalGradient (0x7f8150a5aa10) 0
+ QGradient (0x7f8150a5aa80) 0
+
+Class QPalette
+ size=16 align=8
+ base size=12 base align=8
+QPalette (0x7f8150a5ad90) 0
+
+Class QColorGroup
+ size=16 align=8
+ base size=12 base align=8
+QColorGroup (0x7f81508bd700) 0
+ QPalette (0x7f81508bd770) 0
+
+Class QFont
+ size=16 align=8
+ base size=12 base align=8
+QFont (0x7f81508f5a10) 0
+
+Class QFontMetrics
+ size=8 align=8
+ base size=8 base align=8
+QFontMetrics (0x7f815092f690) 0
+
+Class QFontMetricsF
+ size=8 align=8
+ base size=8 base align=8
+QFontMetricsF (0x7f8150942af0) 0
+
+Class QFontInfo
+ size=8 align=8
+ base size=8 base align=8
+QFontInfo (0x7f8150952a10) 0
+
+Class QSizePolicy
+ size=4 align=4
+ base size=4 base align=4
+QSizePolicy (0x7f8150763540) 0
+
+Class QCursor
+ size=8 align=8
+ base size=8 base align=8
+QCursor (0x7f81508392a0) 0
+
+Class QKeySequence
+ size=8 align=8
+ base size=8 base align=8
+QKeySequence (0x7f8150839a80) 0
+
+Class QWidgetData
+ size=88 align=8
+ base size=88 base align=8
+QWidgetData (0x7f815067e690) 0
+
+Vtable for QWidget
+QWidget::_ZTV7QWidget: 63u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QWidget)
+16 QWidget::metaObject
+24 QWidget::qt_metacast
+32 QWidget::qt_metacall
+40 QWidget::~QWidget
+48 QWidget::~QWidget
+56 QWidget::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QWidget::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QWidget::paintEvent
+256 QWidget::moveEvent
+264 QWidget::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QWidget::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 (int (*)(...))-0x00000000000000010
+456 (int (*)(...))(& _ZTI7QWidget)
+464 QWidget::_ZThn16_N7QWidgetD1Ev
+472 QWidget::_ZThn16_N7QWidgetD0Ev
+480 QWidget::_ZThn16_NK7QWidget7devTypeEv
+488 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+496 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QWidget
+ size=40 align=8
+ base size=40 base align=8
+QWidget (0x7f8150682500) 0
+ vptr=((& QWidget::_ZTV7QWidget) + 16u)
+ QObject (0x7f815067e700) 0
+ primary-for QWidget (0x7f8150682500)
+ QPaintDevice (0x7f815067e770) 16
+ vptr=((& QWidget::_ZTV7QWidget) + 464u)
+
+Class QWebPage::ExtensionOption
+ size=1 align=1
+ base size=0 base align=1
+QWebPage::ExtensionOption (0x7f81505f7e00) 0 empty
+
+Class QWebPage::ExtensionReturn
+ size=1 align=1
+ base size=0 base align=1
+QWebPage::ExtensionReturn (0x7f81505f7e70) 0 empty
+
+Class QWebPage::ChooseMultipleFilesExtensionOption
+ size=16 align=8
+ base size=16 base align=8
+QWebPage::ChooseMultipleFilesExtensionOption (0x7f81505f7ee0) 0
+ QWebPage::ExtensionOption (0x7f81505f7f50) 0 empty
+
+Class QWebPage::ChooseMultipleFilesExtensionReturn
+ size=8 align=8
+ base size=8 base align=8
+QWebPage::ChooseMultipleFilesExtensionReturn (0x7f8150616000) 0
+ QWebPage::ExtensionReturn (0x7f8150616070) 0 empty
+
+Vtable for QWebPage
+QWebPage::_ZTV8QWebPage: 26u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI8QWebPage)
+16 QWebPage::metaObject
+24 QWebPage::qt_metacast
+32 QWebPage::qt_metacall
+40 QWebPage::~QWebPage
+48 QWebPage::~QWebPage
+56 QWebPage::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWebPage::triggerAction
+120 QWebPage::extension
+128 QWebPage::supportsExtension
+136 QWebPage::createWindow
+144 QWebPage::createPlugin
+152 QWebPage::acceptNavigationRequest
+160 QWebPage::chooseFile
+168 QWebPage::javaScriptAlert
+176 QWebPage::javaScriptConfirm
+184 QWebPage::javaScriptPrompt
+192 QWebPage::javaScriptConsoleMessage
+200 QWebPage::userAgentForUrl
+
+Class QWebPage
+ size=24 align=8
+ base size=24 base align=8
+QWebPage (0x7f81505f74d0) 0
+ vptr=((& QWebPage::_ZTV8QWebPage) + 16u)
+ QObject (0x7f81505f7540) 0
+ primary-for QWebPage (0x7f81505f74d0)
+
+Vtable for QWebView
+QWebView::_ZTV8QWebView: 64u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI8QWebView)
+16 QWebView::metaObject
+24 QWebView::qt_metacast
+32 QWebView::qt_metacall
+40 QWebView::~QWebView
+48 QWebView::~QWebView
+56 QWebView::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QWebView::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWebView::mousePressEvent
+168 QWebView::mouseReleaseEvent
+176 QWebView::mouseDoubleClickEvent
+184 QWebView::mouseMoveEvent
+192 QWebView::wheelEvent
+200 QWebView::keyPressEvent
+208 QWebView::keyReleaseEvent
+216 QWebView::focusInEvent
+224 QWebView::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QWebView::paintEvent
+256 QWidget::moveEvent
+264 QWebView::resizeEvent
+272 QWidget::closeEvent
+280 QWebView::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWebView::dragEnterEvent
+312 QWebView::dragMoveEvent
+320 QWebView::dragLeaveEvent
+328 QWebView::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QWebView::changeEvent
+368 QWidget::metric
+376 QWebView::inputMethodEvent
+384 QWebView::inputMethodQuery
+392 QWebView::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QWebView::createWindow
+456 (int (*)(...))-0x00000000000000010
+464 (int (*)(...))(& _ZTI8QWebView)
+472 QWebView::_ZThn16_N8QWebViewD1Ev
+480 QWebView::_ZThn16_N8QWebViewD0Ev
+488 QWidget::_ZThn16_NK7QWidget7devTypeEv
+496 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+504 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QWebView
+ size=48 align=8
+ base size=48 base align=8
+QWebView (0x7f815045e230) 0
+ vptr=((& QWebView::_ZTV8QWebView) + 16u)
+ QWidget (0x7f815045b180) 0
+ primary-for QWebView (0x7f815045e230)
+ QObject (0x7f815045e2a0) 0
+ primary-for QWidget (0x7f815045b180)
+ QPaintDevice (0x7f815045e310) 16
+ vptr=((& QWebView::_ZTV8QWebView) + 472u)
+
+Class QWebPluginFactory::MimeType
+ size=24 align=8
+ base size=24 base align=8
+QWebPluginFactory::MimeType (0x7f815047fa10) 0
+
+Class QWebPluginFactory::Plugin
+ size=24 align=8
+ base size=24 base align=8
+QWebPluginFactory::Plugin (0x7f815047fa80) 0
+
+Class QWebPluginFactory::ExtensionOption
+ size=1 align=1
+ base size=0 base align=1
+QWebPluginFactory::ExtensionOption (0x7f815048b8c0) 0 empty
+
+Class QWebPluginFactory::ExtensionReturn
+ size=1 align=1
+ base size=0 base align=1
+QWebPluginFactory::ExtensionReturn (0x7f815048b930) 0 empty
+
+Vtable for QWebPluginFactory
+QWebPluginFactory::_ZTV17QWebPluginFactory: 19u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QWebPluginFactory)
+16 QWebPluginFactory::metaObject
+24 QWebPluginFactory::qt_metacast
+32 QWebPluginFactory::qt_metacall
+40 QWebPluginFactory::~QWebPluginFactory
+48 QWebPluginFactory::~QWebPluginFactory
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+120 QWebPluginFactory::refreshPlugins
+128 __cxa_pure_virtual
+136 QWebPluginFactory::extension
+144 QWebPluginFactory::supportsExtension
+
+Class QWebPluginFactory
+ size=24 align=8
+ base size=24 base align=8
+QWebPluginFactory (0x7f815047f8c0) 0
+ vptr=((& QWebPluginFactory::_ZTV17QWebPluginFactory) + 16u)
+ QObject (0x7f815047f930) 0
+ primary-for QWebPluginFactory (0x7f815047f8c0)
+
+Class QWebHistoryItem
+ size=8 align=8
+ base size=8 base align=8
+QWebHistoryItem (0x7f81504bb770) 0
+
+Class QWebHistory
+ size=8 align=8
+ base size=8 base align=8
+QWebHistory (0x7f81504bbd90) 0
+
diff --git a/tests/auto/bic/data/QtWebKit.4.6.0.linux-gcc-amd64.txt b/tests/auto/bic/data/QtWebKit.4.6.0.linux-gcc-amd64.txt
new file mode 100644
index 0000000000..96f0d819ba
--- /dev/null
+++ b/tests/auto/bic/data/QtWebKit.4.6.0.linux-gcc-amd64.txt
@@ -0,0 +1,5837 @@
+Class QSysInfo
+ size=1 align=1
+ base size=0 base align=1
+QSysInfo (0x7f9ac59c7230) 0 empty
+
+Class QBool
+ size=1 align=1
+ base size=1 base align=1
+QBool (0x7f9ac59c7e70) 0
+
+Class qIsNull(double)::U
+ size=8 align=8
+ base size=8 base align=8
+qIsNull(double)::U (0x7f9ac59f7540) 0
+
+Class qIsNull(float)::U
+ size=4 align=4
+ base size=4 base align=4
+qIsNull(float)::U (0x7f9ac59f77e0) 0
+
+Class QFlag
+ size=4 align=4
+ base size=4 base align=4
+QFlag (0x7f9ac5a2f690) 0
+
+Class QIncompatibleFlag
+ size=4 align=4
+ base size=4 base align=4
+QIncompatibleFlag (0x7f9ac5a2fe70) 0
+
+Class QLatin1Char
+ size=1 align=1
+ base size=1 base align=1
+QLatin1Char (0x7f9ac5a5d5b0) 0
+
+Class QChar
+ size=2 align=2
+ base size=2 base align=2
+QChar (0x7f9ac5080150) 0
+
+Class QBasicAtomicInt
+ size=4 align=4
+ base size=4 base align=4
+QBasicAtomicInt (0x7f9ac50eb310) 0
+
+Class QAtomicInt
+ size=4 align=4
+ base size=4 base align=4
+QAtomicInt (0x7f9ac5128cb0) 0
+ QBasicAtomicInt (0x7f9ac5128d20) 0
+
+Class QInternal
+ size=1 align=1
+ base size=0 base align=1
+QInternal (0x7f9ac4d794d0) 0 empty
+
+Class __locale_struct
+ size=232 align=8
+ base size=232 base align=8
+__locale_struct (0x7f9ac4d79700) 0
+
+Class QByteArray::Data
+ size=32 align=8
+ base size=32 base align=8
+QByteArray::Data (0x7f9ac4db5af0) 0
+
+Class QByteArray
+ size=8 align=8
+ base size=8 base align=8
+QByteArray (0x7f9ac4db5a80) 0
+
+Class QByteRef
+ size=16 align=8
+ base size=12 base align=8
+QByteRef (0x7f9ac4e58380) 0
+
+Class QString::Null
+ size=1 align=1
+ base size=0 base align=1
+QString::Null (0x7f9ac4d59d20) 0 empty
+
+Class QString::Data
+ size=32 align=8
+ base size=32 base align=8
+QString::Data (0x7f9ac4b715b0) 0
+
+Class QString
+ size=8 align=8
+ base size=8 base align=8
+QString (0x7f9ac4cd2bd0) 0
+
+Class QLatin1String
+ size=8 align=8
+ base size=8 base align=8
+QLatin1String (0x7f9ac4c499a0) 0
+
+Class QCharRef
+ size=16 align=8
+ base size=12 base align=8
+QCharRef (0x7f9ac4ae8000) 0
+
+Class QConstString
+ size=8 align=8
+ base size=8 base align=8
+QConstString (0x7f9ac4a318c0) 0
+ QString (0x7f9ac4a31930) 0
+
+Class QStringRef
+ size=16 align=8
+ base size=16 base align=8
+QStringRef (0x7f9ac4a57310) 0
+
+Class QGenericArgument
+ size=16 align=8
+ base size=16 base align=8
+QGenericArgument (0x7f9ac48d0700) 0
+
+Class QGenericReturnArgument
+ size=16 align=8
+ base size=16 base align=8
+QGenericReturnArgument (0x7f9ac48da2a0) 0
+ QGenericArgument (0x7f9ac48da310) 0
+
+Class QMetaObject
+ size=32 align=8
+ base size=32 base align=8
+QMetaObject (0x7f9ac48dab60) 0
+
+Class QMetaObjectExtraData
+ size=16 align=8
+ base size=16 base align=8
+QMetaObjectExtraData (0x7f9ac4902bd0) 0
+
+Vtable for std::exception
+std::exception::_ZTVSt9exception: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt9exception)
+16 std::exception::~exception
+24 std::exception::~exception
+32 std::exception::what
+
+Class std::exception
+ size=8 align=8
+ base size=8 base align=8
+std::exception (0x7f9ac49571c0) 0 nearly-empty
+ vptr=((& std::exception::_ZTVSt9exception) + 16u)
+
+Vtable for std::bad_exception
+std::bad_exception::_ZTVSt13bad_exception: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt13bad_exception)
+16 std::bad_exception::~bad_exception
+24 std::bad_exception::~bad_exception
+32 std::bad_exception::what
+
+Class std::bad_exception
+ size=8 align=8
+ base size=8 base align=8
+std::bad_exception (0x7f9ac4957770) 0 nearly-empty
+ vptr=((& std::bad_exception::_ZTVSt13bad_exception) + 16u)
+ std::exception (0x7f9ac49577e0) 0 nearly-empty
+ primary-for std::bad_exception (0x7f9ac4957770)
+
+Vtable for std::bad_alloc
+std::bad_alloc::_ZTVSt9bad_alloc: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt9bad_alloc)
+16 std::bad_alloc::~bad_alloc
+24 std::bad_alloc::~bad_alloc
+32 std::bad_alloc::what
+
+Class std::bad_alloc
+ size=8 align=8
+ base size=8 base align=8
+std::bad_alloc (0x7f9ac4957930) 0 nearly-empty
+ vptr=((& std::bad_alloc::_ZTVSt9bad_alloc) + 16u)
+ std::exception (0x7f9ac476e000) 0 nearly-empty
+ primary-for std::bad_alloc (0x7f9ac4957930)
+
+Class std::nothrow_t
+ size=1 align=1
+ base size=0 base align=1
+std::nothrow_t (0x7f9ac476e850) 0 empty
+
+Class QListData::Data
+ size=32 align=8
+ base size=32 base align=8
+QListData::Data (0x7f9ac476ed90) 0
+
+Class QListData
+ size=8 align=8
+ base size=8 base align=8
+QListData (0x7f9ac476ed20) 0
+
+Class QScopedPointerPodDeleter
+ size=1 align=1
+ base size=0 base align=1
+QScopedPointerPodDeleter (0x7f9ac4697850) 0 empty
+
+Vtable for QObjectData
+QObjectData::_ZTV11QObjectData: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QObjectData)
+16 __cxa_pure_virtual
+24 __cxa_pure_virtual
+
+Class QObjectData
+ size=48 align=8
+ base size=48 base align=8
+QObjectData (0x7f9ac46b82a0) 0
+ vptr=((& QObjectData::_ZTV11QObjectData) + 16u)
+
+Vtable for QObject
+QObject::_ZTV7QObject: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QObject)
+16 QObject::metaObject
+24 QObject::qt_metacast
+32 QObject::qt_metacall
+40 QObject::~QObject
+48 QObject::~QObject
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QObject
+ size=16 align=8
+ base size=16 base align=8
+QObject (0x7f9ac46b85b0) 0
+ vptr=((& QObject::_ZTV7QObject) + 16u)
+
+Vtable for QObjectUserData
+QObjectUserData::_ZTV15QObjectUserData: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QObjectUserData)
+16 QObjectUserData::~QObjectUserData
+24 QObjectUserData::~QObjectUserData
+
+Class QObjectUserData
+ size=8 align=8
+ base size=8 base align=8
+QObjectUserData (0x7f9ac473db60) 0 nearly-empty
+ vptr=((& QObjectUserData::_ZTV15QObjectUserData) + 16u)
+
+Vtable for QIODevice
+QIODevice::_ZTV9QIODevice: 30u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QIODevice)
+16 QIODevice::metaObject
+24 QIODevice::qt_metacast
+32 QIODevice::qt_metacall
+40 QIODevice::~QIODevice
+48 QIODevice::~QIODevice
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QIODevice::isSequential
+120 QIODevice::open
+128 QIODevice::close
+136 QIODevice::pos
+144 QIODevice::size
+152 QIODevice::seek
+160 QIODevice::atEnd
+168 QIODevice::reset
+176 QIODevice::bytesAvailable
+184 QIODevice::bytesToWrite
+192 QIODevice::canReadLine
+200 QIODevice::waitForReadyRead
+208 QIODevice::waitForBytesWritten
+216 __cxa_pure_virtual
+224 QIODevice::readLineData
+232 __cxa_pure_virtual
+
+Class QIODevice
+ size=16 align=8
+ base size=16 base align=8
+QIODevice (0x7f9ac474e150) 0
+ vptr=((& QIODevice::_ZTV9QIODevice) + 16u)
+ QObject (0x7f9ac474e1c0) 0
+ primary-for QIODevice (0x7f9ac474e150)
+
+Class _IO_marker
+ size=24 align=8
+ base size=24 base align=8
+_IO_marker (0x7f9ac45aecb0) 0
+
+Class _IO_FILE
+ size=216 align=8
+ base size=216 base align=8
+_IO_FILE (0x7f9ac45aed20) 0
+
+Vtable for QFile
+QFile::_ZTV5QFile: 31u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI5QFile)
+16 QFile::metaObject
+24 QFile::qt_metacast
+32 QFile::qt_metacall
+40 QFile::~QFile
+48 QFile::~QFile
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QFile::isSequential
+120 QFile::open
+128 QFile::close
+136 QFile::pos
+144 QFile::size
+152 QFile::seek
+160 QFile::atEnd
+168 QIODevice::reset
+176 QIODevice::bytesAvailable
+184 QIODevice::bytesToWrite
+192 QIODevice::canReadLine
+200 QIODevice::waitForReadyRead
+208 QIODevice::waitForBytesWritten
+216 QFile::readData
+224 QFile::readLineData
+232 QFile::writeData
+240 QFile::fileEngine
+
+Class QFile
+ size=16 align=8
+ base size=16 base align=8
+QFile (0x7f9ac45aee00) 0
+ vptr=((& QFile::_ZTV5QFile) + 16u)
+ QIODevice (0x7f9ac45aee70) 0
+ primary-for QFile (0x7f9ac45aee00)
+ QObject (0x7f9ac45aeee0) 0
+ primary-for QIODevice (0x7f9ac45aee70)
+
+Class QFileInfo
+ size=8 align=8
+ base size=8 base align=8
+QFileInfo (0x7f9ac4651070) 0
+
+Vtable for QDataStream
+QDataStream::_ZTV11QDataStream: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QDataStream)
+16 QDataStream::~QDataStream
+24 QDataStream::~QDataStream
+
+Class QDataStream
+ size=40 align=8
+ base size=40 base align=8
+QDataStream (0x7f9ac44a5a10) 0
+ vptr=((& QDataStream::_ZTV11QDataStream) + 16u)
+
+Class QRegExp
+ size=8 align=8
+ base size=8 base align=8
+QRegExp (0x7f9ac450ee70) 0
+
+Class QStringMatcher::Data
+ size=272 align=8
+ base size=272 base align=8
+QStringMatcher::Data (0x7f9ac43762a0) 0
+
+Class QStringMatcher
+ size=1048 align=8
+ base size=1048 base align=8
+QStringMatcher (0x7f9ac436ac40) 0
+
+Class QStringList
+ size=8 align=8
+ base size=8 base align=8
+QStringList (0x7f9ac4376850) 0
+ QList<QString> (0x7f9ac43768c0) 0
+
+Class QDir
+ size=8 align=8
+ base size=8 base align=8
+QDir (0x7f9ac44154d0) 0
+
+Class QAbstractFileEngine::ExtensionOption
+ size=1 align=1
+ base size=0 base align=1
+QAbstractFileEngine::ExtensionOption (0x7f9ac42bd8c0) 0 empty
+
+Class QAbstractFileEngine::ExtensionReturn
+ size=1 align=1
+ base size=0 base align=1
+QAbstractFileEngine::ExtensionReturn (0x7f9ac42bd930) 0 empty
+
+Class QAbstractFileEngine::MapExtensionOption
+ size=24 align=8
+ base size=20 base align=8
+QAbstractFileEngine::MapExtensionOption (0x7f9ac42bd9a0) 0
+ QAbstractFileEngine::ExtensionOption (0x7f9ac42bda10) 0 empty
+
+Class QAbstractFileEngine::MapExtensionReturn
+ size=8 align=8
+ base size=8 base align=8
+QAbstractFileEngine::MapExtensionReturn (0x7f9ac42bdbd0) 0
+ QAbstractFileEngine::ExtensionReturn (0x7f9ac42bdc40) 0 empty
+
+Class QAbstractFileEngine::UnMapExtensionOption
+ size=8 align=8
+ base size=8 base align=8
+QAbstractFileEngine::UnMapExtensionOption (0x7f9ac42bdcb0) 0
+ QAbstractFileEngine::ExtensionOption (0x7f9ac42bdd20) 0 empty
+
+Vtable for QAbstractFileEngine
+QAbstractFileEngine::_ZTV19QAbstractFileEngine: 36u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QAbstractFileEngine)
+16 QAbstractFileEngine::~QAbstractFileEngine
+24 QAbstractFileEngine::~QAbstractFileEngine
+32 QAbstractFileEngine::open
+40 QAbstractFileEngine::close
+48 QAbstractFileEngine::flush
+56 QAbstractFileEngine::size
+64 QAbstractFileEngine::pos
+72 QAbstractFileEngine::seek
+80 QAbstractFileEngine::isSequential
+88 QAbstractFileEngine::remove
+96 QAbstractFileEngine::copy
+104 QAbstractFileEngine::rename
+112 QAbstractFileEngine::link
+120 QAbstractFileEngine::mkdir
+128 QAbstractFileEngine::rmdir
+136 QAbstractFileEngine::setSize
+144 QAbstractFileEngine::caseSensitive
+152 QAbstractFileEngine::isRelativePath
+160 QAbstractFileEngine::entryList
+168 QAbstractFileEngine::fileFlags
+176 QAbstractFileEngine::setPermissions
+184 QAbstractFileEngine::fileName
+192 QAbstractFileEngine::ownerId
+200 QAbstractFileEngine::owner
+208 QAbstractFileEngine::fileTime
+216 QAbstractFileEngine::setFileName
+224 QAbstractFileEngine::handle
+232 QAbstractFileEngine::beginEntryList
+240 QAbstractFileEngine::endEntryList
+248 QAbstractFileEngine::read
+256 QAbstractFileEngine::readLine
+264 QAbstractFileEngine::write
+272 QAbstractFileEngine::extension
+280 QAbstractFileEngine::supportsExtension
+
+Class QAbstractFileEngine
+ size=16 align=8
+ base size=16 base align=8
+QAbstractFileEngine (0x7f9ac42a1850) 0
+ vptr=((& QAbstractFileEngine::_ZTV19QAbstractFileEngine) + 16u)
+
+Vtable for QAbstractFileEngineHandler
+QAbstractFileEngineHandler::_ZTV26QAbstractFileEngineHandler: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI26QAbstractFileEngineHandler)
+16 QAbstractFileEngineHandler::~QAbstractFileEngineHandler
+24 QAbstractFileEngineHandler::~QAbstractFileEngineHandler
+32 __cxa_pure_virtual
+
+Class QAbstractFileEngineHandler
+ size=8 align=8
+ base size=8 base align=8
+QAbstractFileEngineHandler (0x7f9ac42f4bd0) 0 nearly-empty
+ vptr=((& QAbstractFileEngineHandler::_ZTV26QAbstractFileEngineHandler) + 16u)
+
+Vtable for QAbstractFileEngineIterator
+QAbstractFileEngineIterator::_ZTV27QAbstractFileEngineIterator: 9u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI27QAbstractFileEngineIterator)
+16 QAbstractFileEngineIterator::~QAbstractFileEngineIterator
+24 QAbstractFileEngineIterator::~QAbstractFileEngineIterator
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+48 __cxa_pure_virtual
+56 QAbstractFileEngineIterator::currentFileInfo
+64 QAbstractFileEngineIterator::entryInfo
+
+Class QAbstractFileEngineIterator
+ size=16 align=8
+ base size=16 base align=8
+QAbstractFileEngineIterator (0x7f9ac42f4d90) 0
+ vptr=((& QAbstractFileEngineIterator::_ZTV27QAbstractFileEngineIterator) + 16u)
+
+Vtable for QBuffer
+QBuffer::_ZTV7QBuffer: 30u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QBuffer)
+16 QBuffer::metaObject
+24 QBuffer::qt_metacast
+32 QBuffer::qt_metacall
+40 QBuffer::~QBuffer
+48 QBuffer::~QBuffer
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QBuffer::connectNotify
+104 QBuffer::disconnectNotify
+112 QIODevice::isSequential
+120 QBuffer::open
+128 QBuffer::close
+136 QBuffer::pos
+144 QBuffer::size
+152 QBuffer::seek
+160 QBuffer::atEnd
+168 QIODevice::reset
+176 QIODevice::bytesAvailable
+184 QIODevice::bytesToWrite
+192 QBuffer::canReadLine
+200 QIODevice::waitForReadyRead
+208 QIODevice::waitForBytesWritten
+216 QBuffer::readData
+224 QIODevice::readLineData
+232 QBuffer::writeData
+
+Class QBuffer
+ size=16 align=8
+ base size=16 base align=8
+QBuffer (0x7f9ac4306690) 0
+ vptr=((& QBuffer::_ZTV7QBuffer) + 16u)
+ QIODevice (0x7f9ac4306700) 0
+ primary-for QBuffer (0x7f9ac4306690)
+ QObject (0x7f9ac4306770) 0
+ primary-for QIODevice (0x7f9ac4306700)
+
+Class QHashData::Node
+ size=16 align=8
+ base size=16 base align=8
+QHashData::Node (0x7f9ac4348e00) 0
+
+Class QHashData
+ size=40 align=8
+ base size=40 base align=8
+QHashData (0x7f9ac4348d90) 0
+
+Class QHashDummyValue
+ size=1 align=1
+ base size=0 base align=1
+QHashDummyValue (0x7f9ac416d150) 0 empty
+
+Class QMapData::Node
+ size=16 align=8
+ base size=16 base align=8
+QMapData::Node (0x7f9ac406ba80) 0
+
+Class QMapData
+ size=128 align=8
+ base size=128 base align=8
+QMapData (0x7f9ac406ba10) 0
+
+Vtable for QSystemLocale
+QSystemLocale::_ZTV13QSystemLocale: 6u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QSystemLocale)
+16 QSystemLocale::~QSystemLocale
+24 QSystemLocale::~QSystemLocale
+32 QSystemLocale::query
+40 QSystemLocale::fallbackLocale
+
+Class QSystemLocale
+ size=8 align=8
+ base size=8 base align=8
+QSystemLocale (0x7f9ac3fa8690) 0 nearly-empty
+ vptr=((& QSystemLocale::_ZTV13QSystemLocale) + 16u)
+
+Class QLocale::Data
+ size=4 align=2
+ base size=4 base align=2
+QLocale::Data (0x7f9ac3ff4d90) 0
+
+Class QLocale
+ size=8 align=8
+ base size=8 base align=8
+QLocale (0x7f9ac3fa8af0) 0
+
+Class QTextCodec::ConverterState
+ size=32 align=8
+ base size=32 base align=8
+QTextCodec::ConverterState (0x7f9ac404dbd0) 0
+
+Vtable for QTextCodec
+QTextCodec::_ZTV10QTextCodec: 9u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QTextCodec)
+16 __cxa_pure_virtual
+24 QTextCodec::aliases
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+48 __cxa_pure_virtual
+56 QTextCodec::~QTextCodec
+64 QTextCodec::~QTextCodec
+
+Class QTextCodec
+ size=8 align=8
+ base size=8 base align=8
+QTextCodec (0x7f9ac403c460) 0 nearly-empty
+ vptr=((& QTextCodec::_ZTV10QTextCodec) + 16u)
+
+Class QTextEncoder
+ size=40 align=8
+ base size=40 base align=8
+QTextEncoder (0x7f9ac3eba150) 0
+
+Class QTextDecoder
+ size=40 align=8
+ base size=40 base align=8
+QTextDecoder (0x7f9ac3ebaf50) 0
+
+Vtable for QTextStream
+QTextStream::_ZTV11QTextStream: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QTextStream)
+16 QTextStream::~QTextStream
+24 QTextStream::~QTextStream
+
+Class QTextStream
+ size=16 align=8
+ base size=16 base align=8
+QTextStream (0x7f9ac3ec3d90) 0
+ vptr=((& QTextStream::_ZTV11QTextStream) + 16u)
+
+Class QTextStreamManipulator
+ size=40 align=8
+ base size=38 base align=8
+QTextStreamManipulator (0x7f9ac3f3aa80) 0
+
+Vtable for QTextIStream
+QTextIStream::_ZTV12QTextIStream: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QTextIStream)
+16 QTextIStream::~QTextIStream
+24 QTextIStream::~QTextIStream
+
+Class QTextIStream
+ size=16 align=8
+ base size=16 base align=8
+QTextIStream (0x7f9ac3d6c070) 0
+ vptr=((& QTextIStream::_ZTV12QTextIStream) + 16u)
+ QTextStream (0x7f9ac3d6c0e0) 0
+ primary-for QTextIStream (0x7f9ac3d6c070)
+
+Vtable for QTextOStream
+QTextOStream::_ZTV12QTextOStream: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QTextOStream)
+16 QTextOStream::~QTextOStream
+24 QTextOStream::~QTextOStream
+
+Class QTextOStream
+ size=16 align=8
+ base size=16 base align=8
+QTextOStream (0x7f9ac3d79ee0) 0
+ vptr=((& QTextOStream::_ZTV12QTextOStream) + 16u)
+ QTextStream (0x7f9ac3d79f50) 0
+ primary-for QTextOStream (0x7f9ac3d79ee0)
+
+Class wait
+ size=4 align=4
+ base size=4 base align=4
+wait (0x7f9ac3d8ed90) 0
+
+Class timespec
+ size=16 align=8
+ base size=16 base align=8
+timespec (0x7f9ac3d9b0e0) 0
+
+Class timeval
+ size=16 align=8
+ base size=16 base align=8
+timeval (0x7f9ac3d9b150) 0
+
+Class __pthread_internal_list
+ size=16 align=8
+ base size=16 base align=8
+__pthread_internal_list (0x7f9ac3d9b2a0) 0
+
+Class random_data
+ size=48 align=8
+ base size=48 base align=8
+random_data (0x7f9ac3d9b850) 0
+
+Class drand48_data
+ size=24 align=8
+ base size=24 base align=8
+drand48_data (0x7f9ac3d9b8c0) 0
+
+Class QVectorData
+ size=16 align=4
+ base size=16 base align=4
+QVectorData (0x7f9ac3d9b930) 0
+
+Class QContiguousCacheData
+ size=24 align=4
+ base size=24 base align=4
+QContiguousCacheData (0x7f9ac3d58620) 0
+
+Class QDebug::Stream
+ size=40 align=8
+ base size=34 base align=8
+QDebug::Stream (0x7f9ac3bb9150) 0
+
+Class QDebug
+ size=8 align=8
+ base size=8 base align=8
+QDebug (0x7f9ac3bb90e0) 0
+
+Class QNoDebug
+ size=1 align=1
+ base size=0 base align=1
+QNoDebug (0x7f9ac3a670e0) 0 empty
+
+Vtable for QDirIterator
+QDirIterator::_ZTV12QDirIterator: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QDirIterator)
+16 QDirIterator::~QDirIterator
+24 QDirIterator::~QDirIterator
+
+Class QDirIterator
+ size=16 align=8
+ base size=16 base align=8
+QDirIterator (0x7f9ac3a79700) 0
+ vptr=((& QDirIterator::_ZTV12QDirIterator) + 16u)
+
+Vtable for QFileSystemWatcher
+QFileSystemWatcher::_ZTV18QFileSystemWatcher: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QFileSystemWatcher)
+16 QFileSystemWatcher::metaObject
+24 QFileSystemWatcher::qt_metacast
+32 QFileSystemWatcher::qt_metacall
+40 QFileSystemWatcher::~QFileSystemWatcher
+48 QFileSystemWatcher::~QFileSystemWatcher
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QFileSystemWatcher
+ size=16 align=8
+ base size=16 base align=8
+QFileSystemWatcher (0x7f9ac3ad4540) 0
+ vptr=((& QFileSystemWatcher::_ZTV18QFileSystemWatcher) + 16u)
+ QObject (0x7f9ac3ad45b0) 0
+ primary-for QFileSystemWatcher (0x7f9ac3ad4540)
+
+Vtable for QFSFileEngine
+QFSFileEngine::_ZTV13QFSFileEngine: 36u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QFSFileEngine)
+16 QFSFileEngine::~QFSFileEngine
+24 QFSFileEngine::~QFSFileEngine
+32 QFSFileEngine::open
+40 QFSFileEngine::close
+48 QFSFileEngine::flush
+56 QFSFileEngine::size
+64 QFSFileEngine::pos
+72 QFSFileEngine::seek
+80 QFSFileEngine::isSequential
+88 QFSFileEngine::remove
+96 QFSFileEngine::copy
+104 QFSFileEngine::rename
+112 QFSFileEngine::link
+120 QFSFileEngine::mkdir
+128 QFSFileEngine::rmdir
+136 QFSFileEngine::setSize
+144 QFSFileEngine::caseSensitive
+152 QFSFileEngine::isRelativePath
+160 QFSFileEngine::entryList
+168 QFSFileEngine::fileFlags
+176 QFSFileEngine::setPermissions
+184 QFSFileEngine::fileName
+192 QFSFileEngine::ownerId
+200 QFSFileEngine::owner
+208 QFSFileEngine::fileTime
+216 QFSFileEngine::setFileName
+224 QFSFileEngine::handle
+232 QFSFileEngine::beginEntryList
+240 QFSFileEngine::endEntryList
+248 QFSFileEngine::read
+256 QFSFileEngine::readLine
+264 QFSFileEngine::write
+272 QFSFileEngine::extension
+280 QFSFileEngine::supportsExtension
+
+Class QFSFileEngine
+ size=16 align=8
+ base size=16 base align=8
+QFSFileEngine (0x7f9ac3ae6a80) 0
+ vptr=((& QFSFileEngine::_ZTV13QFSFileEngine) + 16u)
+ QAbstractFileEngine (0x7f9ac3ae6af0) 0
+ primary-for QFSFileEngine (0x7f9ac3ae6a80)
+
+Class QSharedData
+ size=4 align=4
+ base size=4 base align=4
+QSharedData (0x7f9ac3af5e70) 0
+
+Class QProcessEnvironment
+ size=8 align=8
+ base size=8 base align=8
+QProcessEnvironment (0x7f9ac393f1c0) 0
+
+Vtable for QProcess
+QProcess::_ZTV8QProcess: 31u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI8QProcess)
+16 QProcess::metaObject
+24 QProcess::qt_metacast
+32 QProcess::qt_metacall
+40 QProcess::~QProcess
+48 QProcess::~QProcess
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QProcess::isSequential
+120 QIODevice::open
+128 QProcess::close
+136 QIODevice::pos
+144 QIODevice::size
+152 QIODevice::seek
+160 QProcess::atEnd
+168 QIODevice::reset
+176 QProcess::bytesAvailable
+184 QProcess::bytesToWrite
+192 QProcess::canReadLine
+200 QProcess::waitForReadyRead
+208 QProcess::waitForBytesWritten
+216 QProcess::readData
+224 QIODevice::readLineData
+232 QProcess::writeData
+240 QProcess::setupChildProcess
+
+Class QProcess
+ size=16 align=8
+ base size=16 base align=8
+QProcess (0x7f9ac393fcb0) 0
+ vptr=((& QProcess::_ZTV8QProcess) + 16u)
+ QIODevice (0x7f9ac393fd20) 0
+ primary-for QProcess (0x7f9ac393fcb0)
+ QObject (0x7f9ac393fd90) 0
+ primary-for QIODevice (0x7f9ac393fd20)
+
+Class QResource
+ size=8 align=8
+ base size=8 base align=8
+QResource (0x7f9ac39871c0) 0
+
+Class QMetaType
+ size=1 align=1
+ base size=0 base align=1
+QMetaType (0x7f9ac3987e70) 0 empty
+
+Class QVariant::PrivateShared
+ size=16 align=8
+ base size=12 base align=8
+QVariant::PrivateShared (0x7f9ac3883700) 0
+
+Class QVariant::Private::Data
+ size=8 align=8
+ base size=8 base align=8
+QVariant::Private::Data (0x7f9ac3883a10) 0
+
+Class QVariant::Private
+ size=16 align=8
+ base size=12 base align=8
+QVariant::Private (0x7f9ac38837e0) 0
+
+Class QVariant::Handler
+ size=72 align=8
+ base size=72 base align=8
+QVariant::Handler (0x7f9ac3892700) 0
+
+Class QVariant
+ size=16 align=8
+ base size=16 base align=8
+QVariant (0x7f9ac38537e0) 0
+
+Class QVariantComparisonHelper
+ size=8 align=8
+ base size=8 base align=8
+QVariantComparisonHelper (0x7f9ac37419a0) 0
+
+Vtable for QSettings
+QSettings::_ZTV9QSettings: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QSettings)
+16 QSettings::metaObject
+24 QSettings::qt_metacast
+32 QSettings::qt_metacall
+40 QSettings::~QSettings
+48 QSettings::~QSettings
+56 QSettings::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QSettings
+ size=16 align=8
+ base size=16 base align=8
+QSettings (0x7f9ac3768ee0) 0
+ vptr=((& QSettings::_ZTV9QSettings) + 16u)
+ QObject (0x7f9ac3768f50) 0
+ primary-for QSettings (0x7f9ac3768ee0)
+
+Vtable for QTemporaryFile
+QTemporaryFile::_ZTV14QTemporaryFile: 31u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QTemporaryFile)
+16 QTemporaryFile::metaObject
+24 QTemporaryFile::qt_metacast
+32 QTemporaryFile::qt_metacall
+40 QTemporaryFile::~QTemporaryFile
+48 QTemporaryFile::~QTemporaryFile
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QFile::isSequential
+120 QTemporaryFile::open
+128 QFile::close
+136 QFile::pos
+144 QFile::size
+152 QFile::seek
+160 QFile::atEnd
+168 QIODevice::reset
+176 QIODevice::bytesAvailable
+184 QIODevice::bytesToWrite
+192 QIODevice::canReadLine
+200 QIODevice::waitForReadyRead
+208 QIODevice::waitForBytesWritten
+216 QFile::readData
+224 QFile::readLineData
+232 QFile::writeData
+240 QTemporaryFile::fileEngine
+
+Class QTemporaryFile
+ size=16 align=8
+ base size=16 base align=8
+QTemporaryFile (0x7f9ac37ed2a0) 0
+ vptr=((& QTemporaryFile::_ZTV14QTemporaryFile) + 16u)
+ QFile (0x7f9ac37ed310) 0
+ primary-for QTemporaryFile (0x7f9ac37ed2a0)
+ QIODevice (0x7f9ac37ed380) 0
+ primary-for QFile (0x7f9ac37ed310)
+ QObject (0x7f9ac37ed3f0) 0
+ primary-for QIODevice (0x7f9ac37ed380)
+
+Class QUrl
+ size=8 align=8
+ base size=8 base align=8
+QUrl (0x7f9ac38079a0) 0
+
+Class QXmlStreamStringRef
+ size=16 align=8
+ base size=16 base align=8
+QXmlStreamStringRef (0x7f9ac3694070) 0
+
+Class QXmlStreamAttribute
+ size=80 align=8
+ base size=73 base align=8
+QXmlStreamAttribute (0x7f9ac36b4850) 0
+
+Class QXmlStreamAttributes
+ size=8 align=8
+ base size=8 base align=8
+QXmlStreamAttributes (0x7f9ac36dd310) 0
+ QVector<QXmlStreamAttribute> (0x7f9ac36dd380) 0
+
+Class QXmlStreamNamespaceDeclaration
+ size=40 align=8
+ base size=40 base align=8
+QXmlStreamNamespaceDeclaration (0x7f9ac36dd7e0) 0
+
+Class QXmlStreamNotationDeclaration
+ size=56 align=8
+ base size=56 base align=8
+QXmlStreamNotationDeclaration (0x7f9ac37201c0) 0
+
+Class QXmlStreamEntityDeclaration
+ size=88 align=8
+ base size=88 base align=8
+QXmlStreamEntityDeclaration (0x7f9ac353a070) 0
+
+Vtable for QXmlStreamEntityResolver
+QXmlStreamEntityResolver::_ZTV24QXmlStreamEntityResolver: 6u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI24QXmlStreamEntityResolver)
+16 QXmlStreamEntityResolver::~QXmlStreamEntityResolver
+24 QXmlStreamEntityResolver::~QXmlStreamEntityResolver
+32 QXmlStreamEntityResolver::resolveEntity
+40 QXmlStreamEntityResolver::resolveUndeclaredEntity
+
+Class QXmlStreamEntityResolver
+ size=8 align=8
+ base size=8 base align=8
+QXmlStreamEntityResolver (0x7f9ac35559a0) 0 nearly-empty
+ vptr=((& QXmlStreamEntityResolver::_ZTV24QXmlStreamEntityResolver) + 16u)
+
+Class QXmlStreamReader
+ size=8 align=8
+ base size=8 base align=8
+QXmlStreamReader (0x7f9ac3555b60) 0
+
+Class QXmlStreamWriter
+ size=8 align=8
+ base size=8 base align=8
+QXmlStreamWriter (0x7f9ac359cc40) 0
+
+Vtable for QAbstractState
+QAbstractState::_ZTV14QAbstractState: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QAbstractState)
+16 QAbstractState::metaObject
+24 QAbstractState::qt_metacast
+32 QAbstractState::qt_metacall
+40 QAbstractState::~QAbstractState
+48 QAbstractState::~QAbstractState
+56 QAbstractState::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+
+Class QAbstractState
+ size=16 align=8
+ base size=16 base align=8
+QAbstractState (0x7f9ac35b1a80) 0
+ vptr=((& QAbstractState::_ZTV14QAbstractState) + 16u)
+ QObject (0x7f9ac35b1af0) 0
+ primary-for QAbstractState (0x7f9ac35b1a80)
+
+Vtable for QAbstractTransition
+QAbstractTransition::_ZTV19QAbstractTransition: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QAbstractTransition)
+16 QAbstractTransition::metaObject
+24 QAbstractTransition::qt_metacast
+32 QAbstractTransition::qt_metacall
+40 QAbstractTransition::~QAbstractTransition
+48 QAbstractTransition::~QAbstractTransition
+56 QAbstractTransition::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+
+Class QAbstractTransition
+ size=16 align=8
+ base size=16 base align=8
+QAbstractTransition (0x7f9ac35d92a0) 0
+ vptr=((& QAbstractTransition::_ZTV19QAbstractTransition) + 16u)
+ QObject (0x7f9ac35d9310) 0
+ primary-for QAbstractTransition (0x7f9ac35d92a0)
+
+Vtable for QEvent
+QEvent::_ZTV6QEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI6QEvent)
+16 QEvent::~QEvent
+24 QEvent::~QEvent
+
+Class QEvent
+ size=24 align=8
+ base size=20 base align=8
+QEvent (0x7f9ac35edaf0) 0
+ vptr=((& QEvent::_ZTV6QEvent) + 16u)
+
+Vtable for QTimerEvent
+QTimerEvent::_ZTV11QTimerEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QTimerEvent)
+16 QTimerEvent::~QTimerEvent
+24 QTimerEvent::~QTimerEvent
+
+Class QTimerEvent
+ size=24 align=8
+ base size=24 base align=8
+QTimerEvent (0x7f9ac360f700) 0
+ vptr=((& QTimerEvent::_ZTV11QTimerEvent) + 16u)
+ QEvent (0x7f9ac360f770) 0
+ primary-for QTimerEvent (0x7f9ac360f700)
+
+Vtable for QChildEvent
+QChildEvent::_ZTV11QChildEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QChildEvent)
+16 QChildEvent::~QChildEvent
+24 QChildEvent::~QChildEvent
+
+Class QChildEvent
+ size=32 align=8
+ base size=32 base align=8
+QChildEvent (0x7f9ac360fb60) 0
+ vptr=((& QChildEvent::_ZTV11QChildEvent) + 16u)
+ QEvent (0x7f9ac360fbd0) 0
+ primary-for QChildEvent (0x7f9ac360fb60)
+
+Vtable for QCustomEvent
+QCustomEvent::_ZTV12QCustomEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QCustomEvent)
+16 QCustomEvent::~QCustomEvent
+24 QCustomEvent::~QCustomEvent
+
+Class QCustomEvent
+ size=24 align=8
+ base size=20 base align=8
+QCustomEvent (0x7f9ac3618e00) 0
+ vptr=((& QCustomEvent::_ZTV12QCustomEvent) + 16u)
+ QEvent (0x7f9ac3618e70) 0
+ primary-for QCustomEvent (0x7f9ac3618e00)
+
+Vtable for QDynamicPropertyChangeEvent
+QDynamicPropertyChangeEvent::_ZTV27QDynamicPropertyChangeEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI27QDynamicPropertyChangeEvent)
+16 QDynamicPropertyChangeEvent::~QDynamicPropertyChangeEvent
+24 QDynamicPropertyChangeEvent::~QDynamicPropertyChangeEvent
+
+Class QDynamicPropertyChangeEvent
+ size=32 align=8
+ base size=32 base align=8
+QDynamicPropertyChangeEvent (0x7f9ac362a620) 0
+ vptr=((& QDynamicPropertyChangeEvent::_ZTV27QDynamicPropertyChangeEvent) + 16u)
+ QEvent (0x7f9ac362a690) 0
+ primary-for QDynamicPropertyChangeEvent (0x7f9ac362a620)
+
+Vtable for QEventTransition
+QEventTransition::_ZTV16QEventTransition: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QEventTransition)
+16 QEventTransition::metaObject
+24 QEventTransition::qt_metacast
+32 QEventTransition::qt_metacall
+40 QEventTransition::~QEventTransition
+48 QEventTransition::~QEventTransition
+56 QEventTransition::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QEventTransition::eventTest
+120 QEventTransition::onTransition
+
+Class QEventTransition
+ size=16 align=8
+ base size=16 base align=8
+QEventTransition (0x7f9ac362aaf0) 0
+ vptr=((& QEventTransition::_ZTV16QEventTransition) + 16u)
+ QAbstractTransition (0x7f9ac362ab60) 0
+ primary-for QEventTransition (0x7f9ac362aaf0)
+ QObject (0x7f9ac362abd0) 0
+ primary-for QAbstractTransition (0x7f9ac362ab60)
+
+Vtable for QFinalState
+QFinalState::_ZTV11QFinalState: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QFinalState)
+16 QFinalState::metaObject
+24 QFinalState::qt_metacast
+32 QFinalState::qt_metacall
+40 QFinalState::~QFinalState
+48 QFinalState::~QFinalState
+56 QFinalState::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QFinalState::onEntry
+120 QFinalState::onExit
+
+Class QFinalState
+ size=16 align=8
+ base size=16 base align=8
+QFinalState (0x7f9ac34459a0) 0
+ vptr=((& QFinalState::_ZTV11QFinalState) + 16u)
+ QAbstractState (0x7f9ac3445a10) 0
+ primary-for QFinalState (0x7f9ac34459a0)
+ QObject (0x7f9ac3445a80) 0
+ primary-for QAbstractState (0x7f9ac3445a10)
+
+Vtable for QHistoryState
+QHistoryState::_ZTV13QHistoryState: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QHistoryState)
+16 QHistoryState::metaObject
+24 QHistoryState::qt_metacast
+32 QHistoryState::qt_metacall
+40 QHistoryState::~QHistoryState
+48 QHistoryState::~QHistoryState
+56 QHistoryState::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QHistoryState::onEntry
+120 QHistoryState::onExit
+
+Class QHistoryState
+ size=16 align=8
+ base size=16 base align=8
+QHistoryState (0x7f9ac345f230) 0
+ vptr=((& QHistoryState::_ZTV13QHistoryState) + 16u)
+ QAbstractState (0x7f9ac345f2a0) 0
+ primary-for QHistoryState (0x7f9ac345f230)
+ QObject (0x7f9ac345f310) 0
+ primary-for QAbstractState (0x7f9ac345f2a0)
+
+Vtable for QSignalTransition
+QSignalTransition::_ZTV17QSignalTransition: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QSignalTransition)
+16 QSignalTransition::metaObject
+24 QSignalTransition::qt_metacast
+32 QSignalTransition::qt_metacall
+40 QSignalTransition::~QSignalTransition
+48 QSignalTransition::~QSignalTransition
+56 QSignalTransition::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QSignalTransition::eventTest
+120 QSignalTransition::onTransition
+
+Class QSignalTransition
+ size=16 align=8
+ base size=16 base align=8
+QSignalTransition (0x7f9ac346ff50) 0
+ vptr=((& QSignalTransition::_ZTV17QSignalTransition) + 16u)
+ QAbstractTransition (0x7f9ac3478000) 0
+ primary-for QSignalTransition (0x7f9ac346ff50)
+ QObject (0x7f9ac3478070) 0
+ primary-for QAbstractTransition (0x7f9ac3478000)
+
+Vtable for QState
+QState::_ZTV6QState: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI6QState)
+16 QState::metaObject
+24 QState::qt_metacast
+32 QState::qt_metacall
+40 QState::~QState
+48 QState::~QState
+56 QState::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QState::onEntry
+120 QState::onExit
+
+Class QState
+ size=16 align=8
+ base size=16 base align=8
+QState (0x7f9ac348baf0) 0
+ vptr=((& QState::_ZTV6QState) + 16u)
+ QAbstractState (0x7f9ac348bb60) 0
+ primary-for QState (0x7f9ac348baf0)
+ QObject (0x7f9ac348bbd0) 0
+ primary-for QAbstractState (0x7f9ac348bb60)
+
+Vtable for QStateMachine::SignalEvent
+QStateMachine::SignalEvent::_ZTVN13QStateMachine11SignalEventE: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN13QStateMachine11SignalEventE)
+16 QStateMachine::SignalEvent::~SignalEvent
+24 QStateMachine::SignalEvent::~SignalEvent
+
+Class QStateMachine::SignalEvent
+ size=48 align=8
+ base size=48 base align=8
+QStateMachine::SignalEvent (0x7f9ac34b0150) 0
+ vptr=((& QStateMachine::SignalEvent::_ZTVN13QStateMachine11SignalEventE) + 16u)
+ QEvent (0x7f9ac34b01c0) 0
+ primary-for QStateMachine::SignalEvent (0x7f9ac34b0150)
+
+Vtable for QStateMachine::WrappedEvent
+QStateMachine::WrappedEvent::_ZTVN13QStateMachine12WrappedEventE: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN13QStateMachine12WrappedEventE)
+16 QStateMachine::WrappedEvent::~WrappedEvent
+24 QStateMachine::WrappedEvent::~WrappedEvent
+
+Class QStateMachine::WrappedEvent
+ size=40 align=8
+ base size=40 base align=8
+QStateMachine::WrappedEvent (0x7f9ac34b0700) 0
+ vptr=((& QStateMachine::WrappedEvent::_ZTVN13QStateMachine12WrappedEventE) + 16u)
+ QEvent (0x7f9ac34b0770) 0
+ primary-for QStateMachine::WrappedEvent (0x7f9ac34b0700)
+
+Vtable for QStateMachine
+QStateMachine::_ZTV13QStateMachine: 20u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QStateMachine)
+16 QStateMachine::metaObject
+24 QStateMachine::qt_metacast
+32 QStateMachine::qt_metacall
+40 QStateMachine::~QStateMachine
+48 QStateMachine::~QStateMachine
+56 QStateMachine::event
+64 QStateMachine::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QStateMachine::onEntry
+120 QStateMachine::onExit
+128 QStateMachine::beginSelectTransitions
+136 QStateMachine::endSelectTransitions
+144 QStateMachine::beginMicrostep
+152 QStateMachine::endMicrostep
+
+Class QStateMachine
+ size=16 align=8
+ base size=16 base align=8
+QStateMachine (0x7f9ac34a6ee0) 0
+ vptr=((& QStateMachine::_ZTV13QStateMachine) + 16u)
+ QState (0x7f9ac34a6f50) 0
+ primary-for QStateMachine (0x7f9ac34a6ee0)
+ QAbstractState (0x7f9ac34b0000) 0
+ primary-for QState (0x7f9ac34a6f50)
+ QObject (0x7f9ac34b0070) 0
+ primary-for QAbstractState (0x7f9ac34b0000)
+
+Class QBitArray
+ size=8 align=8
+ base size=8 base align=8
+QBitArray (0x7f9ac34df150) 0
+
+Class QBitRef
+ size=16 align=8
+ base size=12 base align=8
+QBitRef (0x7f9ac3335e00) 0
+
+Class QByteArrayMatcher::Data
+ size=272 align=8
+ base size=272 base align=8
+QByteArrayMatcher::Data (0x7f9ac334aaf0) 0
+
+Class QByteArrayMatcher
+ size=1040 align=8
+ base size=1040 base align=8
+QByteArrayMatcher (0x7f9ac334a4d0) 0
+
+Class QCryptographicHash
+ size=8 align=8
+ base size=8 base align=8
+QCryptographicHash (0x7f9ac3380150) 0
+
+Vtable for QtSharedPointer::ExternalRefCountData
+QtSharedPointer::ExternalRefCountData::_ZTVN15QtSharedPointer20ExternalRefCountDataE: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN15QtSharedPointer20ExternalRefCountDataE)
+16 QtSharedPointer::ExternalRefCountData::~ExternalRefCountData
+24 QtSharedPointer::ExternalRefCountData::~ExternalRefCountData
+32 QtSharedPointer::ExternalRefCountData::destroy
+
+Class QtSharedPointer::ExternalRefCountData
+ size=16 align=8
+ base size=16 base align=8
+QtSharedPointer::ExternalRefCountData (0x7f9ac33ac070) 0
+ vptr=((& QtSharedPointer::ExternalRefCountData::_ZTVN15QtSharedPointer20ExternalRefCountDataE) + 16u)
+
+Vtable for QtSharedPointer::ExternalRefCountWithDestroyFn
+QtSharedPointer::ExternalRefCountWithDestroyFn::_ZTVN15QtSharedPointer29ExternalRefCountWithDestroyFnE: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN15QtSharedPointer29ExternalRefCountWithDestroyFnE)
+16 QtSharedPointer::ExternalRefCountWithDestroyFn::~ExternalRefCountWithDestroyFn
+24 QtSharedPointer::ExternalRefCountWithDestroyFn::~ExternalRefCountWithDestroyFn
+32 QtSharedPointer::ExternalRefCountWithDestroyFn::destroy
+
+Class QtSharedPointer::ExternalRefCountWithDestroyFn
+ size=24 align=8
+ base size=24 base align=8
+QtSharedPointer::ExternalRefCountWithDestroyFn (0x7f9ac33c2930) 0
+ vptr=((& QtSharedPointer::ExternalRefCountWithDestroyFn::_ZTVN15QtSharedPointer29ExternalRefCountWithDestroyFnE) + 16u)
+ QtSharedPointer::ExternalRefCountData (0x7f9ac33c29a0) 0
+ primary-for QtSharedPointer::ExternalRefCountWithDestroyFn (0x7f9ac33c2930)
+
+Class QDate
+ size=4 align=4
+ base size=4 base align=4
+QDate (0x7f9ac32475b0) 0
+
+Class QTime
+ size=4 align=4
+ base size=4 base align=4
+QTime (0x7f9ac327a540) 0
+
+Class QDateTime
+ size=8 align=8
+ base size=8 base align=8
+QDateTime (0x7f9ac3295af0) 0
+
+Class QEasingCurve
+ size=8 align=8
+ base size=8 base align=8
+QEasingCurve (0x7f9ac32dc000) 0
+
+Class QPoint
+ size=8 align=4
+ base size=8 base align=4
+QPoint (0x7f9ac32dcee0) 0
+
+Class QPointF
+ size=16 align=8
+ base size=16 base align=8
+QPointF (0x7f9ac331eaf0) 0
+
+Class QLine
+ size=16 align=4
+ base size=16 base align=4
+QLine (0x7f9ac3154af0) 0
+
+Class QLineF
+ size=32 align=8
+ base size=32 base align=8
+QLineF (0x7f9ac318f9a0) 0
+
+Class QLinkedListData
+ size=32 align=8
+ base size=32 base align=8
+QLinkedListData (0x7f9ac31ec460) 0
+
+Class QMargins
+ size=16 align=4
+ base size=16 base align=4
+QMargins (0x7f9ac30ac380) 0
+
+Class QSize
+ size=8 align=4
+ base size=8 base align=4
+QSize (0x7f9ac30da150) 0
+
+Class QSizeF
+ size=16 align=8
+ base size=16 base align=8
+QSizeF (0x7f9ac311be00) 0
+
+Class QRect
+ size=16 align=4
+ base size=16 base align=4
+QRect (0x7f9ac2f6e380) 0
+
+Class QRectF
+ size=32 align=8
+ base size=32 base align=8
+QRectF (0x7f9ac301bd20) 0
+
+Class QLatin1Literal
+ size=16 align=8
+ base size=16 base align=8
+QLatin1Literal (0x7f9ac2ec9ee0) 0
+
+Class QAbstractConcatenable
+ size=1 align=1
+ base size=0 base align=1
+QAbstractConcatenable (0x7f9ac2eda3f0) 0 empty
+
+Class QTextBoundaryFinder
+ size=48 align=8
+ base size=48 base align=8
+QTextBoundaryFinder (0x7f9ac2f13380) 0
+
+Vtable for QTimeLine
+QTimeLine::_ZTV9QTimeLine: 15u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QTimeLine)
+16 QTimeLine::metaObject
+24 QTimeLine::qt_metacast
+32 QTimeLine::qt_metacall
+40 QTimeLine::~QTimeLine
+48 QTimeLine::~QTimeLine
+56 QObject::event
+64 QObject::eventFilter
+72 QTimeLine::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QTimeLine::valueForTime
+
+Class QTimeLine
+ size=16 align=8
+ base size=16 base align=8
+QTimeLine (0x7f9ac2f23700) 0
+ vptr=((& QTimeLine::_ZTV9QTimeLine) + 16u)
+ QObject (0x7f9ac2f23770) 0
+ primary-for QTimeLine (0x7f9ac2f23700)
+
+Vtable for QRunnable
+QRunnable::_ZTV9QRunnable: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QRunnable)
+16 __cxa_pure_virtual
+24 QRunnable::~QRunnable
+32 QRunnable::~QRunnable
+
+Class QRunnable
+ size=16 align=8
+ base size=12 base align=8
+QRunnable (0x7f9ac2d4af50) 0
+ vptr=((& QRunnable::_ZTV9QRunnable) + 16u)
+
+Class QMutex
+ size=8 align=8
+ base size=8 base align=8
+QMutex (0x7f9ac2d81620) 0
+
+Class QMutexLocker
+ size=8 align=8
+ base size=8 base align=8
+QMutexLocker (0x7f9ac2d8f1c0) 0
+
+Vtable for QtConcurrent::Exception
+QtConcurrent::Exception::_ZTVN12QtConcurrent9ExceptionE: 7u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN12QtConcurrent9ExceptionE)
+16 QtConcurrent::Exception::~Exception
+24 QtConcurrent::Exception::~Exception
+32 std::exception::what
+40 QtConcurrent::Exception::raise
+48 QtConcurrent::Exception::clone
+
+Class QtConcurrent::Exception
+ size=8 align=8
+ base size=8 base align=8
+QtConcurrent::Exception (0x7f9ac2da64d0) 0 nearly-empty
+ vptr=((& QtConcurrent::Exception::_ZTVN12QtConcurrent9ExceptionE) + 16u)
+ std::exception (0x7f9ac2da6540) 0 nearly-empty
+ primary-for QtConcurrent::Exception (0x7f9ac2da64d0)
+
+Vtable for QtConcurrent::UnhandledException
+QtConcurrent::UnhandledException::_ZTVN12QtConcurrent18UnhandledExceptionE: 7u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN12QtConcurrent18UnhandledExceptionE)
+16 QtConcurrent::UnhandledException::~UnhandledException
+24 QtConcurrent::UnhandledException::~UnhandledException
+32 std::exception::what
+40 QtConcurrent::UnhandledException::raise
+48 QtConcurrent::UnhandledException::clone
+
+Class QtConcurrent::UnhandledException
+ size=8 align=8
+ base size=8 base align=8
+QtConcurrent::UnhandledException (0x7f9ac2da6770) 0 nearly-empty
+ vptr=((& QtConcurrent::UnhandledException::_ZTVN12QtConcurrent18UnhandledExceptionE) + 16u)
+ QtConcurrent::Exception (0x7f9ac2da67e0) 0 nearly-empty
+ primary-for QtConcurrent::UnhandledException (0x7f9ac2da6770)
+ std::exception (0x7f9ac2da6850) 0 nearly-empty
+ primary-for QtConcurrent::Exception (0x7f9ac2da67e0)
+
+Class QtConcurrent::internal::ExceptionHolder
+ size=8 align=8
+ base size=8 base align=8
+QtConcurrent::internal::ExceptionHolder (0x7f9ac2da6a80) 0
+
+Class QtConcurrent::internal::ExceptionStore
+ size=8 align=8
+ base size=8 base align=8
+QtConcurrent::internal::ExceptionStore (0x7f9ac2da6e00) 0
+
+Class QtConcurrent::ResultItem
+ size=16 align=8
+ base size=16 base align=8
+QtConcurrent::ResultItem (0x7f9ac2da6e70) 0
+
+Class QtConcurrent::ResultIteratorBase
+ size=16 align=8
+ base size=12 base align=8
+QtConcurrent::ResultIteratorBase (0x7f9ac2dbed90) 0
+
+Vtable for QtConcurrent::ResultStoreBase
+QtConcurrent::ResultStoreBase::_ZTVN12QtConcurrent15ResultStoreBaseE: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN12QtConcurrent15ResultStoreBaseE)
+16 QtConcurrent::ResultStoreBase::~ResultStoreBase
+24 QtConcurrent::ResultStoreBase::~ResultStoreBase
+
+Class QtConcurrent::ResultStoreBase
+ size=48 align=8
+ base size=44 base align=8
+QtConcurrent::ResultStoreBase (0x7f9ac2dc3930) 0
+ vptr=((& QtConcurrent::ResultStoreBase::_ZTVN12QtConcurrent15ResultStoreBaseE) + 16u)
+
+Vtable for QFutureInterfaceBase
+QFutureInterfaceBase::_ZTV20QFutureInterfaceBase: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI20QFutureInterfaceBase)
+16 QFutureInterfaceBase::~QFutureInterfaceBase
+24 QFutureInterfaceBase::~QFutureInterfaceBase
+
+Class QFutureInterfaceBase
+ size=16 align=8
+ base size=16 base align=8
+QFutureInterfaceBase (0x7f9ac2e01d90) 0
+ vptr=((& QFutureInterfaceBase::_ZTV20QFutureInterfaceBase) + 16u)
+
+Vtable for QFutureWatcherBase
+QFutureWatcherBase::_ZTV18QFutureWatcherBase: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QFutureWatcherBase)
+16 QFutureWatcherBase::metaObject
+24 QFutureWatcherBase::qt_metacast
+32 QFutureWatcherBase::qt_metacall
+40 QFutureWatcherBase::~QFutureWatcherBase
+48 QFutureWatcherBase::~QFutureWatcherBase
+56 QFutureWatcherBase::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QFutureWatcherBase::connectNotify
+104 QFutureWatcherBase::disconnectNotify
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+
+Class QFutureWatcherBase
+ size=16 align=8
+ base size=16 base align=8
+QFutureWatcherBase (0x7f9ac2ce6690) 0
+ vptr=((& QFutureWatcherBase::_ZTV18QFutureWatcherBase) + 16u)
+ QObject (0x7f9ac2ce6700) 0
+ primary-for QFutureWatcherBase (0x7f9ac2ce6690)
+
+Vtable for QThread
+QThread::_ZTV7QThread: 15u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QThread)
+16 QThread::metaObject
+24 QThread::qt_metacast
+32 QThread::qt_metacall
+40 QThread::~QThread
+48 QThread::~QThread
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QThread::run
+
+Class QThread
+ size=16 align=8
+ base size=16 base align=8
+QThread (0x7f9ac2b38a80) 0
+ vptr=((& QThread::_ZTV7QThread) + 16u)
+ QObject (0x7f9ac2b38af0) 0
+ primary-for QThread (0x7f9ac2b38a80)
+
+Vtable for QThreadPool
+QThreadPool::_ZTV11QThreadPool: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QThreadPool)
+16 QThreadPool::metaObject
+24 QThreadPool::qt_metacast
+32 QThreadPool::qt_metacall
+40 QThreadPool::~QThreadPool
+48 QThreadPool::~QThreadPool
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QThreadPool
+ size=16 align=8
+ base size=16 base align=8
+QThreadPool (0x7f9ac2b5e930) 0
+ vptr=((& QThreadPool::_ZTV11QThreadPool) + 16u)
+ QObject (0x7f9ac2b5e9a0) 0
+ primary-for QThreadPool (0x7f9ac2b5e930)
+
+Class QWaitCondition
+ size=8 align=8
+ base size=8 base align=8
+QWaitCondition (0x7f9ac2b71ee0) 0
+
+Class QSemaphore
+ size=8 align=8
+ base size=8 base align=8
+QSemaphore (0x7f9ac2b78460) 0
+
+Class QtConcurrent::ThreadEngineBarrier
+ size=24 align=8
+ base size=24 base align=8
+QtConcurrent::ThreadEngineBarrier (0x7f9ac2b789a0) 0
+
+Vtable for QtConcurrent::ThreadEngineBase
+QtConcurrent::ThreadEngineBase::_ZTVN12QtConcurrent16ThreadEngineBaseE: 11u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN12QtConcurrent16ThreadEngineBaseE)
+16 QtConcurrent::ThreadEngineBase::run
+24 QtConcurrent::ThreadEngineBase::~ThreadEngineBase
+32 QtConcurrent::ThreadEngineBase::~ThreadEngineBase
+40 QtConcurrent::ThreadEngineBase::start
+48 QtConcurrent::ThreadEngineBase::finish
+56 QtConcurrent::ThreadEngineBase::threadFunction
+64 QtConcurrent::ThreadEngineBase::shouldStartThread
+72 QtConcurrent::ThreadEngineBase::shouldThrottleThread
+80 __cxa_pure_virtual
+
+Class QtConcurrent::ThreadEngineBase
+ size=64 align=8
+ base size=64 base align=8
+QtConcurrent::ThreadEngineBase (0x7f9ac2b78a80) 0
+ vptr=((& QtConcurrent::ThreadEngineBase::_ZTVN12QtConcurrent16ThreadEngineBaseE) + 16u)
+ QRunnable (0x7f9ac2b78af0) 0
+ primary-for QtConcurrent::ThreadEngineBase (0x7f9ac2b78a80)
+
+VTT for QtConcurrent::ThreadEngine<void>
+QtConcurrent::ThreadEngine<void>::_ZTTN12QtConcurrent12ThreadEngineIvEE: 2u entries
+0 ((& QtConcurrent::ThreadEngine<void>::_ZTVN12QtConcurrent12ThreadEngineIvEE) + 24u)
+8 ((& QtConcurrent::ThreadEngine<void>::_ZTVN12QtConcurrent12ThreadEngineIvEE) + 136u)
+
+Class QtConcurrent::BlockSizeManager
+ size=96 align=8
+ base size=92 base align=8
+QtConcurrent::BlockSizeManager (0x7f9ac2bc4ee0) 0
+
+Vtable for QFactoryInterface
+QFactoryInterface::_ZTV17QFactoryInterface: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QFactoryInterface)
+16 QFactoryInterface::~QFactoryInterface
+24 QFactoryInterface::~QFactoryInterface
+32 __cxa_pure_virtual
+
+Class QFactoryInterface
+ size=8 align=8
+ base size=8 base align=8
+QFactoryInterface (0x7f9ac2669d20) 0 nearly-empty
+ vptr=((& QFactoryInterface::_ZTV17QFactoryInterface) + 16u)
+
+Vtable for QTextCodecFactoryInterface
+QTextCodecFactoryInterface::_ZTV26QTextCodecFactoryInterface: 6u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI26QTextCodecFactoryInterface)
+16 QTextCodecFactoryInterface::~QTextCodecFactoryInterface
+24 QTextCodecFactoryInterface::~QTextCodecFactoryInterface
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+
+Class QTextCodecFactoryInterface
+ size=8 align=8
+ base size=8 base align=8
+QTextCodecFactoryInterface (0x7f9ac269b000) 0 nearly-empty
+ vptr=((& QTextCodecFactoryInterface::_ZTV26QTextCodecFactoryInterface) + 16u)
+ QFactoryInterface (0x7f9ac269b070) 0 nearly-empty
+ primary-for QTextCodecFactoryInterface (0x7f9ac269b000)
+
+Vtable for QTextCodecPlugin
+QTextCodecPlugin::_ZTV16QTextCodecPlugin: 27u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QTextCodecPlugin)
+16 QTextCodecPlugin::metaObject
+24 QTextCodecPlugin::qt_metacast
+32 QTextCodecPlugin::qt_metacall
+40 QTextCodecPlugin::~QTextCodecPlugin
+48 QTextCodecPlugin::~QTextCodecPlugin
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 __cxa_pure_virtual
+136 __cxa_pure_virtual
+144 __cxa_pure_virtual
+152 QTextCodecPlugin::keys
+160 QTextCodecPlugin::create
+168 (int (*)(...))-0x00000000000000010
+176 (int (*)(...))(& _ZTI16QTextCodecPlugin)
+184 QTextCodecPlugin::_ZThn16_N16QTextCodecPluginD1Ev
+192 QTextCodecPlugin::_ZThn16_N16QTextCodecPluginD0Ev
+200 QTextCodecPlugin::_ZThn16_NK16QTextCodecPlugin4keysEv
+208 QTextCodecPlugin::_ZThn16_N16QTextCodecPlugin6createERK7QString
+
+Class QTextCodecPlugin
+ size=24 align=8
+ base size=24 base align=8
+QTextCodecPlugin (0x7f9ac26a3580) 0
+ vptr=((& QTextCodecPlugin::_ZTV16QTextCodecPlugin) + 16u)
+ QObject (0x7f9ac269ba80) 0
+ primary-for QTextCodecPlugin (0x7f9ac26a3580)
+ QTextCodecFactoryInterface (0x7f9ac269baf0) 16 nearly-empty
+ vptr=((& QTextCodecPlugin::_ZTV16QTextCodecPlugin) + 184u)
+ QFactoryInterface (0x7f9ac269bb60) 16 nearly-empty
+ primary-for QTextCodecFactoryInterface (0x7f9ac269baf0)
+
+Class QLibraryInfo
+ size=1 align=1
+ base size=0 base align=1
+QLibraryInfo (0x7f9ac26f3150) 0 empty
+
+Vtable for QEventLoop
+QEventLoop::_ZTV10QEventLoop: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QEventLoop)
+16 QEventLoop::metaObject
+24 QEventLoop::qt_metacast
+32 QEventLoop::qt_metacall
+40 QEventLoop::~QEventLoop
+48 QEventLoop::~QEventLoop
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QEventLoop
+ size=16 align=8
+ base size=16 base align=8
+QEventLoop (0x7f9ac26f32a0) 0
+ vptr=((& QEventLoop::_ZTV10QEventLoop) + 16u)
+ QObject (0x7f9ac26f3310) 0
+ primary-for QEventLoop (0x7f9ac26f32a0)
+
+Vtable for QAbstractEventDispatcher
+QAbstractEventDispatcher::_ZTV24QAbstractEventDispatcher: 27u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI24QAbstractEventDispatcher)
+16 QAbstractEventDispatcher::metaObject
+24 QAbstractEventDispatcher::qt_metacast
+32 QAbstractEventDispatcher::qt_metacall
+40 QAbstractEventDispatcher::~QAbstractEventDispatcher
+48 QAbstractEventDispatcher::~QAbstractEventDispatcher
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 __cxa_pure_virtual
+136 __cxa_pure_virtual
+144 __cxa_pure_virtual
+152 __cxa_pure_virtual
+160 __cxa_pure_virtual
+168 __cxa_pure_virtual
+176 __cxa_pure_virtual
+184 __cxa_pure_virtual
+192 __cxa_pure_virtual
+200 QAbstractEventDispatcher::startingUp
+208 QAbstractEventDispatcher::closingDown
+
+Class QAbstractEventDispatcher
+ size=16 align=8
+ base size=16 base align=8
+QAbstractEventDispatcher (0x7f9ac252dbd0) 0
+ vptr=((& QAbstractEventDispatcher::_ZTV24QAbstractEventDispatcher) + 16u)
+ QObject (0x7f9ac252dc40) 0
+ primary-for QAbstractEventDispatcher (0x7f9ac252dbd0)
+
+Class QModelIndex
+ size=24 align=8
+ base size=24 base align=8
+QModelIndex (0x7f9ac2551a80) 0
+
+Class QPersistentModelIndex
+ size=8 align=8
+ base size=8 base align=8
+QPersistentModelIndex (0x7f9ac257d540) 0
+
+Vtable for QAbstractItemModel
+QAbstractItemModel::_ZTV18QAbstractItemModel: 42u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QAbstractItemModel)
+16 QAbstractItemModel::metaObject
+24 QAbstractItemModel::qt_metacast
+32 QAbstractItemModel::qt_metacall
+40 QAbstractItemModel::~QAbstractItemModel
+48 QAbstractItemModel::~QAbstractItemModel
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 __cxa_pure_virtual
+136 __cxa_pure_virtual
+144 QAbstractItemModel::hasChildren
+152 __cxa_pure_virtual
+160 QAbstractItemModel::setData
+168 QAbstractItemModel::headerData
+176 QAbstractItemModel::setHeaderData
+184 QAbstractItemModel::itemData
+192 QAbstractItemModel::setItemData
+200 QAbstractItemModel::mimeTypes
+208 QAbstractItemModel::mimeData
+216 QAbstractItemModel::dropMimeData
+224 QAbstractItemModel::supportedDropActions
+232 QAbstractItemModel::insertRows
+240 QAbstractItemModel::insertColumns
+248 QAbstractItemModel::removeRows
+256 QAbstractItemModel::removeColumns
+264 QAbstractItemModel::fetchMore
+272 QAbstractItemModel::canFetchMore
+280 QAbstractItemModel::flags
+288 QAbstractItemModel::sort
+296 QAbstractItemModel::buddy
+304 QAbstractItemModel::match
+312 QAbstractItemModel::span
+320 QAbstractItemModel::submit
+328 QAbstractItemModel::revert
+
+Class QAbstractItemModel
+ size=16 align=8
+ base size=16 base align=8
+QAbstractItemModel (0x7f9ac2586850) 0
+ vptr=((& QAbstractItemModel::_ZTV18QAbstractItemModel) + 16u)
+ QObject (0x7f9ac25868c0) 0
+ primary-for QAbstractItemModel (0x7f9ac2586850)
+
+Vtable for QAbstractTableModel
+QAbstractTableModel::_ZTV19QAbstractTableModel: 42u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QAbstractTableModel)
+16 QAbstractTableModel::metaObject
+24 QAbstractTableModel::qt_metacast
+32 QAbstractTableModel::qt_metacall
+40 QAbstractTableModel::~QAbstractTableModel
+48 QAbstractTableModel::~QAbstractTableModel
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QAbstractTableModel::index
+120 QAbstractTableModel::parent
+128 __cxa_pure_virtual
+136 __cxa_pure_virtual
+144 QAbstractTableModel::hasChildren
+152 __cxa_pure_virtual
+160 QAbstractItemModel::setData
+168 QAbstractItemModel::headerData
+176 QAbstractItemModel::setHeaderData
+184 QAbstractItemModel::itemData
+192 QAbstractItemModel::setItemData
+200 QAbstractItemModel::mimeTypes
+208 QAbstractItemModel::mimeData
+216 QAbstractTableModel::dropMimeData
+224 QAbstractItemModel::supportedDropActions
+232 QAbstractItemModel::insertRows
+240 QAbstractItemModel::insertColumns
+248 QAbstractItemModel::removeRows
+256 QAbstractItemModel::removeColumns
+264 QAbstractItemModel::fetchMore
+272 QAbstractItemModel::canFetchMore
+280 QAbstractItemModel::flags
+288 QAbstractItemModel::sort
+296 QAbstractItemModel::buddy
+304 QAbstractItemModel::match
+312 QAbstractItemModel::span
+320 QAbstractItemModel::submit
+328 QAbstractItemModel::revert
+
+Class QAbstractTableModel
+ size=16 align=8
+ base size=16 base align=8
+QAbstractTableModel (0x7f9ac25e2b60) 0
+ vptr=((& QAbstractTableModel::_ZTV19QAbstractTableModel) + 16u)
+ QAbstractItemModel (0x7f9ac25e2bd0) 0
+ primary-for QAbstractTableModel (0x7f9ac25e2b60)
+ QObject (0x7f9ac25e2c40) 0
+ primary-for QAbstractItemModel (0x7f9ac25e2bd0)
+
+Vtable for QAbstractListModel
+QAbstractListModel::_ZTV18QAbstractListModel: 42u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QAbstractListModel)
+16 QAbstractListModel::metaObject
+24 QAbstractListModel::qt_metacast
+32 QAbstractListModel::qt_metacall
+40 QAbstractListModel::~QAbstractListModel
+48 QAbstractListModel::~QAbstractListModel
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QAbstractListModel::index
+120 QAbstractListModel::parent
+128 __cxa_pure_virtual
+136 QAbstractListModel::columnCount
+144 QAbstractListModel::hasChildren
+152 __cxa_pure_virtual
+160 QAbstractItemModel::setData
+168 QAbstractItemModel::headerData
+176 QAbstractItemModel::setHeaderData
+184 QAbstractItemModel::itemData
+192 QAbstractItemModel::setItemData
+200 QAbstractItemModel::mimeTypes
+208 QAbstractItemModel::mimeData
+216 QAbstractListModel::dropMimeData
+224 QAbstractItemModel::supportedDropActions
+232 QAbstractItemModel::insertRows
+240 QAbstractItemModel::insertColumns
+248 QAbstractItemModel::removeRows
+256 QAbstractItemModel::removeColumns
+264 QAbstractItemModel::fetchMore
+272 QAbstractItemModel::canFetchMore
+280 QAbstractItemModel::flags
+288 QAbstractItemModel::sort
+296 QAbstractItemModel::buddy
+304 QAbstractItemModel::match
+312 QAbstractItemModel::span
+320 QAbstractItemModel::submit
+328 QAbstractItemModel::revert
+
+Class QAbstractListModel
+ size=16 align=8
+ base size=16 base align=8
+QAbstractListModel (0x7f9ac26000e0) 0
+ vptr=((& QAbstractListModel::_ZTV18QAbstractListModel) + 16u)
+ QAbstractItemModel (0x7f9ac2600150) 0
+ primary-for QAbstractListModel (0x7f9ac26000e0)
+ QObject (0x7f9ac26001c0) 0
+ primary-for QAbstractItemModel (0x7f9ac2600150)
+
+Class QBasicTimer
+ size=4 align=4
+ base size=4 base align=4
+QBasicTimer (0x7f9ac2432230) 0
+
+Vtable for QCoreApplication
+QCoreApplication::_ZTV16QCoreApplication: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QCoreApplication)
+16 QCoreApplication::metaObject
+24 QCoreApplication::qt_metacast
+32 QCoreApplication::qt_metacall
+40 QCoreApplication::~QCoreApplication
+48 QCoreApplication::~QCoreApplication
+56 QCoreApplication::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QCoreApplication::notify
+120 QCoreApplication::compressEvent
+
+Class QCoreApplication
+ size=16 align=8
+ base size=16 base align=8
+QCoreApplication (0x7f9ac243c620) 0
+ vptr=((& QCoreApplication::_ZTV16QCoreApplication) + 16u)
+ QObject (0x7f9ac243c690) 0
+ primary-for QCoreApplication (0x7f9ac243c620)
+
+Class __exception
+ size=40 align=8
+ base size=40 base align=8
+__exception (0x7f9ac2470310) 0
+
+Class QMetaMethod
+ size=16 align=8
+ base size=12 base align=8
+QMetaMethod (0x7f9ac24dd770) 0
+
+Class QMetaEnum
+ size=16 align=8
+ base size=12 base align=8
+QMetaEnum (0x7f9ac24f6bd0) 0
+
+Class QMetaProperty
+ size=32 align=8
+ base size=32 base align=8
+QMetaProperty (0x7f9ac2505930) 0
+
+Class QMetaClassInfo
+ size=16 align=8
+ base size=12 base align=8
+QMetaClassInfo (0x7f9ac2517000) 0
+
+Vtable for QMimeData
+QMimeData::_ZTV9QMimeData: 17u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QMimeData)
+16 QMimeData::metaObject
+24 QMimeData::qt_metacast
+32 QMimeData::qt_metacall
+40 QMimeData::~QMimeData
+48 QMimeData::~QMimeData
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QMimeData::hasFormat
+120 QMimeData::formats
+128 QMimeData::retrieveData
+
+Class QMimeData
+ size=16 align=8
+ base size=16 base align=8
+QMimeData (0x7f9ac2517af0) 0
+ vptr=((& QMimeData::_ZTV9QMimeData) + 16u)
+ QObject (0x7f9ac2517b60) 0
+ primary-for QMimeData (0x7f9ac2517af0)
+
+Vtable for QObjectCleanupHandler
+QObjectCleanupHandler::_ZTV21QObjectCleanupHandler: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI21QObjectCleanupHandler)
+16 QObjectCleanupHandler::metaObject
+24 QObjectCleanupHandler::qt_metacast
+32 QObjectCleanupHandler::qt_metacall
+40 QObjectCleanupHandler::~QObjectCleanupHandler
+48 QObjectCleanupHandler::~QObjectCleanupHandler
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QObjectCleanupHandler
+ size=24 align=8
+ base size=24 base align=8
+QObjectCleanupHandler (0x7f9ac2339380) 0
+ vptr=((& QObjectCleanupHandler::_ZTV21QObjectCleanupHandler) + 16u)
+ QObject (0x7f9ac23393f0) 0
+ primary-for QObjectCleanupHandler (0x7f9ac2339380)
+
+Vtable for QSharedMemory
+QSharedMemory::_ZTV13QSharedMemory: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QSharedMemory)
+16 QSharedMemory::metaObject
+24 QSharedMemory::qt_metacast
+32 QSharedMemory::qt_metacall
+40 QSharedMemory::~QSharedMemory
+48 QSharedMemory::~QSharedMemory
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QSharedMemory
+ size=16 align=8
+ base size=16 base align=8
+QSharedMemory (0x7f9ac234b4d0) 0
+ vptr=((& QSharedMemory::_ZTV13QSharedMemory) + 16u)
+ QObject (0x7f9ac234b540) 0
+ primary-for QSharedMemory (0x7f9ac234b4d0)
+
+Vtable for QSignalMapper
+QSignalMapper::_ZTV13QSignalMapper: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QSignalMapper)
+16 QSignalMapper::metaObject
+24 QSignalMapper::qt_metacast
+32 QSignalMapper::qt_metacall
+40 QSignalMapper::~QSignalMapper
+48 QSignalMapper::~QSignalMapper
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QSignalMapper
+ size=16 align=8
+ base size=16 base align=8
+QSignalMapper (0x7f9ac23652a0) 0
+ vptr=((& QSignalMapper::_ZTV13QSignalMapper) + 16u)
+ QObject (0x7f9ac2365310) 0
+ primary-for QSignalMapper (0x7f9ac23652a0)
+
+Vtable for QSocketNotifier
+QSocketNotifier::_ZTV15QSocketNotifier: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QSocketNotifier)
+16 QSocketNotifier::metaObject
+24 QSocketNotifier::qt_metacast
+32 QSocketNotifier::qt_metacall
+40 QSocketNotifier::~QSocketNotifier
+48 QSocketNotifier::~QSocketNotifier
+56 QSocketNotifier::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QSocketNotifier
+ size=32 align=8
+ base size=25 base align=8
+QSocketNotifier (0x7f9ac2382690) 0
+ vptr=((& QSocketNotifier::_ZTV15QSocketNotifier) + 16u)
+ QObject (0x7f9ac2382700) 0
+ primary-for QSocketNotifier (0x7f9ac2382690)
+
+Class QSystemSemaphore
+ size=8 align=8
+ base size=8 base align=8
+QSystemSemaphore (0x7f9ac239da10) 0
+
+Vtable for QTimer
+QTimer::_ZTV6QTimer: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI6QTimer)
+16 QTimer::metaObject
+24 QTimer::qt_metacast
+32 QTimer::qt_metacall
+40 QTimer::~QTimer
+48 QTimer::~QTimer
+56 QObject::event
+64 QObject::eventFilter
+72 QTimer::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QTimer
+ size=32 align=8
+ base size=29 base align=8
+QTimer (0x7f9ac23a6460) 0
+ vptr=((& QTimer::_ZTV6QTimer) + 16u)
+ QObject (0x7f9ac23a64d0) 0
+ primary-for QTimer (0x7f9ac23a6460)
+
+Vtable for QTranslator
+QTranslator::_ZTV11QTranslator: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QTranslator)
+16 QTranslator::metaObject
+24 QTranslator::qt_metacast
+32 QTranslator::qt_metacall
+40 QTranslator::~QTranslator
+48 QTranslator::~QTranslator
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QTranslator::translate
+120 QTranslator::isEmpty
+
+Class QTranslator
+ size=16 align=8
+ base size=16 base align=8
+QTranslator (0x7f9ac23ca9a0) 0
+ vptr=((& QTranslator::_ZTV11QTranslator) + 16u)
+ QObject (0x7f9ac23caa10) 0
+ primary-for QTranslator (0x7f9ac23ca9a0)
+
+Vtable for QLibrary
+QLibrary::_ZTV8QLibrary: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI8QLibrary)
+16 QLibrary::metaObject
+24 QLibrary::qt_metacast
+32 QLibrary::qt_metacall
+40 QLibrary::~QLibrary
+48 QLibrary::~QLibrary
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QLibrary
+ size=32 align=8
+ base size=25 base align=8
+QLibrary (0x7f9ac23e4930) 0
+ vptr=((& QLibrary::_ZTV8QLibrary) + 16u)
+ QObject (0x7f9ac23e49a0) 0
+ primary-for QLibrary (0x7f9ac23e4930)
+
+Vtable for QPluginLoader
+QPluginLoader::_ZTV13QPluginLoader: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QPluginLoader)
+16 QPluginLoader::metaObject
+24 QPluginLoader::qt_metacast
+32 QPluginLoader::qt_metacall
+40 QPluginLoader::~QPluginLoader
+48 QPluginLoader::~QPluginLoader
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QPluginLoader
+ size=32 align=8
+ base size=25 base align=8
+QPluginLoader (0x7f9ac22333f0) 0
+ vptr=((& QPluginLoader::_ZTV13QPluginLoader) + 16u)
+ QObject (0x7f9ac2233460) 0
+ primary-for QPluginLoader (0x7f9ac22333f0)
+
+Class QUuid
+ size=16 align=4
+ base size=16 base align=4
+QUuid (0x7f9ac2241b60) 0
+
+Class QReadWriteLock
+ size=8 align=8
+ base size=8 base align=8
+QReadWriteLock (0x7f9ac22684d0) 0
+
+Class QReadLocker
+ size=8 align=8
+ base size=8 base align=8
+QReadLocker (0x7f9ac2268b60) 0
+
+Class QWriteLocker
+ size=8 align=8
+ base size=8 base align=8
+QWriteLocker (0x7f9ac2287ee0) 0
+
+Class QThreadStorageData
+ size=4 align=4
+ base size=4 base align=4
+QThreadStorageData (0x7f9ac22a02a0) 0
+
+Vtable for QAbstractAnimation
+QAbstractAnimation::_ZTV18QAbstractAnimation: 18u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QAbstractAnimation)
+16 QAbstractAnimation::metaObject
+24 QAbstractAnimation::qt_metacast
+32 QAbstractAnimation::qt_metacall
+40 QAbstractAnimation::~QAbstractAnimation
+48 QAbstractAnimation::~QAbstractAnimation
+56 QAbstractAnimation::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 QAbstractAnimation::updateState
+136 QAbstractAnimation::updateDirection
+
+Class QAbstractAnimation
+ size=16 align=8
+ base size=16 base align=8
+QAbstractAnimation (0x7f9ac22a0a10) 0
+ vptr=((& QAbstractAnimation::_ZTV18QAbstractAnimation) + 16u)
+ QObject (0x7f9ac22a0a80) 0
+ primary-for QAbstractAnimation (0x7f9ac22a0a10)
+
+Vtable for QAnimationGroup
+QAnimationGroup::_ZTV15QAnimationGroup: 18u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QAnimationGroup)
+16 QAnimationGroup::metaObject
+24 QAnimationGroup::qt_metacast
+32 QAnimationGroup::qt_metacall
+40 QAnimationGroup::~QAnimationGroup
+48 QAnimationGroup::~QAnimationGroup
+56 QAnimationGroup::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 QAbstractAnimation::updateState
+136 QAbstractAnimation::updateDirection
+
+Class QAnimationGroup
+ size=16 align=8
+ base size=16 base align=8
+QAnimationGroup (0x7f9ac22d6150) 0
+ vptr=((& QAnimationGroup::_ZTV15QAnimationGroup) + 16u)
+ QAbstractAnimation (0x7f9ac22d61c0) 0
+ primary-for QAnimationGroup (0x7f9ac22d6150)
+ QObject (0x7f9ac22d6230) 0
+ primary-for QAbstractAnimation (0x7f9ac22d61c0)
+
+Vtable for QParallelAnimationGroup
+QParallelAnimationGroup::_ZTV23QParallelAnimationGroup: 18u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI23QParallelAnimationGroup)
+16 QParallelAnimationGroup::metaObject
+24 QParallelAnimationGroup::qt_metacast
+32 QParallelAnimationGroup::qt_metacall
+40 QParallelAnimationGroup::~QParallelAnimationGroup
+48 QParallelAnimationGroup::~QParallelAnimationGroup
+56 QParallelAnimationGroup::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QParallelAnimationGroup::duration
+120 QParallelAnimationGroup::updateCurrentTime
+128 QParallelAnimationGroup::updateState
+136 QParallelAnimationGroup::updateDirection
+
+Class QParallelAnimationGroup
+ size=16 align=8
+ base size=16 base align=8
+QParallelAnimationGroup (0x7f9ac22f2000) 0
+ vptr=((& QParallelAnimationGroup::_ZTV23QParallelAnimationGroup) + 16u)
+ QAnimationGroup (0x7f9ac22f2070) 0
+ primary-for QParallelAnimationGroup (0x7f9ac22f2000)
+ QAbstractAnimation (0x7f9ac22f20e0) 0
+ primary-for QAnimationGroup (0x7f9ac22f2070)
+ QObject (0x7f9ac22f2150) 0
+ primary-for QAbstractAnimation (0x7f9ac22f20e0)
+
+Vtable for QPauseAnimation
+QPauseAnimation::_ZTV15QPauseAnimation: 18u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QPauseAnimation)
+16 QPauseAnimation::metaObject
+24 QPauseAnimation::qt_metacast
+32 QPauseAnimation::qt_metacall
+40 QPauseAnimation::~QPauseAnimation
+48 QPauseAnimation::~QPauseAnimation
+56 QPauseAnimation::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QPauseAnimation::duration
+120 QPauseAnimation::updateCurrentTime
+128 QAbstractAnimation::updateState
+136 QAbstractAnimation::updateDirection
+
+Class QPauseAnimation
+ size=16 align=8
+ base size=16 base align=8
+QPauseAnimation (0x7f9ac2300e70) 0
+ vptr=((& QPauseAnimation::_ZTV15QPauseAnimation) + 16u)
+ QAbstractAnimation (0x7f9ac2300ee0) 0
+ primary-for QPauseAnimation (0x7f9ac2300e70)
+ QObject (0x7f9ac2300f50) 0
+ primary-for QAbstractAnimation (0x7f9ac2300ee0)
+
+Vtable for QVariantAnimation
+QVariantAnimation::_ZTV17QVariantAnimation: 20u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QVariantAnimation)
+16 QVariantAnimation::metaObject
+24 QVariantAnimation::qt_metacast
+32 QVariantAnimation::qt_metacall
+40 QVariantAnimation::~QVariantAnimation
+48 QVariantAnimation::~QVariantAnimation
+56 QVariantAnimation::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QVariantAnimation::duration
+120 QVariantAnimation::updateCurrentTime
+128 QVariantAnimation::updateState
+136 QAbstractAnimation::updateDirection
+144 __cxa_pure_virtual
+152 QVariantAnimation::interpolated
+
+Class QVariantAnimation
+ size=16 align=8
+ base size=16 base align=8
+QVariantAnimation (0x7f9ac231e8c0) 0
+ vptr=((& QVariantAnimation::_ZTV17QVariantAnimation) + 16u)
+ QAbstractAnimation (0x7f9ac231e930) 0
+ primary-for QVariantAnimation (0x7f9ac231e8c0)
+ QObject (0x7f9ac231e9a0) 0
+ primary-for QAbstractAnimation (0x7f9ac231e930)
+
+Vtable for QPropertyAnimation
+QPropertyAnimation::_ZTV18QPropertyAnimation: 20u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QPropertyAnimation)
+16 QPropertyAnimation::metaObject
+24 QPropertyAnimation::qt_metacast
+32 QPropertyAnimation::qt_metacall
+40 QPropertyAnimation::~QPropertyAnimation
+48 QPropertyAnimation::~QPropertyAnimation
+56 QPropertyAnimation::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QVariantAnimation::duration
+120 QVariantAnimation::updateCurrentTime
+128 QPropertyAnimation::updateState
+136 QAbstractAnimation::updateDirection
+144 QPropertyAnimation::updateCurrentValue
+152 QVariantAnimation::interpolated
+
+Class QPropertyAnimation
+ size=16 align=8
+ base size=16 base align=8
+QPropertyAnimation (0x7f9ac213ab60) 0
+ vptr=((& QPropertyAnimation::_ZTV18QPropertyAnimation) + 16u)
+ QVariantAnimation (0x7f9ac213abd0) 0
+ primary-for QPropertyAnimation (0x7f9ac213ab60)
+ QAbstractAnimation (0x7f9ac213ac40) 0
+ primary-for QVariantAnimation (0x7f9ac213abd0)
+ QObject (0x7f9ac213acb0) 0
+ primary-for QAbstractAnimation (0x7f9ac213ac40)
+
+Vtable for QSequentialAnimationGroup
+QSequentialAnimationGroup::_ZTV25QSequentialAnimationGroup: 18u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI25QSequentialAnimationGroup)
+16 QSequentialAnimationGroup::metaObject
+24 QSequentialAnimationGroup::qt_metacast
+32 QSequentialAnimationGroup::qt_metacall
+40 QSequentialAnimationGroup::~QSequentialAnimationGroup
+48 QSequentialAnimationGroup::~QSequentialAnimationGroup
+56 QSequentialAnimationGroup::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QSequentialAnimationGroup::duration
+120 QSequentialAnimationGroup::updateCurrentTime
+128 QSequentialAnimationGroup::updateState
+136 QSequentialAnimationGroup::updateDirection
+
+Class QSequentialAnimationGroup
+ size=16 align=8
+ base size=16 base align=8
+QSequentialAnimationGroup (0x7f9ac2154b60) 0
+ vptr=((& QSequentialAnimationGroup::_ZTV25QSequentialAnimationGroup) + 16u)
+ QAnimationGroup (0x7f9ac2154bd0) 0
+ primary-for QSequentialAnimationGroup (0x7f9ac2154b60)
+ QAbstractAnimation (0x7f9ac2154c40) 0
+ primary-for QAnimationGroup (0x7f9ac2154bd0)
+ QObject (0x7f9ac2154cb0) 0
+ primary-for QAbstractAnimation (0x7f9ac2154c40)
+
+Class QSslCertificate
+ size=8 align=8
+ base size=8 base align=8
+QSslCertificate (0x7f9ac216ebd0) 0
+
+Class QSslCipher
+ size=8 align=8
+ base size=8 base align=8
+QSslCipher (0x7f9ac2187770) 0
+
+Vtable for QAbstractSocket
+QAbstractSocket::_ZTV15QAbstractSocket: 30u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QAbstractSocket)
+16 QAbstractSocket::metaObject
+24 QAbstractSocket::qt_metacast
+32 QAbstractSocket::qt_metacall
+40 QAbstractSocket::~QAbstractSocket
+48 QAbstractSocket::~QAbstractSocket
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QAbstractSocket::isSequential
+120 QIODevice::open
+128 QAbstractSocket::close
+136 QIODevice::pos
+144 QIODevice::size
+152 QIODevice::seek
+160 QAbstractSocket::atEnd
+168 QIODevice::reset
+176 QAbstractSocket::bytesAvailable
+184 QAbstractSocket::bytesToWrite
+192 QAbstractSocket::canReadLine
+200 QAbstractSocket::waitForReadyRead
+208 QAbstractSocket::waitForBytesWritten
+216 QAbstractSocket::readData
+224 QAbstractSocket::readLineData
+232 QAbstractSocket::writeData
+
+Class QAbstractSocket
+ size=16 align=8
+ base size=16 base align=8
+QAbstractSocket (0x7f9ac21a80e0) 0
+ vptr=((& QAbstractSocket::_ZTV15QAbstractSocket) + 16u)
+ QIODevice (0x7f9ac21a8150) 0
+ primary-for QAbstractSocket (0x7f9ac21a80e0)
+ QObject (0x7f9ac21a81c0) 0
+ primary-for QIODevice (0x7f9ac21a8150)
+
+Vtable for QTcpSocket
+QTcpSocket::_ZTV10QTcpSocket: 30u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QTcpSocket)
+16 QTcpSocket::metaObject
+24 QTcpSocket::qt_metacast
+32 QTcpSocket::qt_metacall
+40 QTcpSocket::~QTcpSocket
+48 QTcpSocket::~QTcpSocket
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QAbstractSocket::isSequential
+120 QIODevice::open
+128 QAbstractSocket::close
+136 QIODevice::pos
+144 QIODevice::size
+152 QIODevice::seek
+160 QAbstractSocket::atEnd
+168 QIODevice::reset
+176 QAbstractSocket::bytesAvailable
+184 QAbstractSocket::bytesToWrite
+192 QAbstractSocket::canReadLine
+200 QAbstractSocket::waitForReadyRead
+208 QAbstractSocket::waitForBytesWritten
+216 QAbstractSocket::readData
+224 QAbstractSocket::readLineData
+232 QAbstractSocket::writeData
+
+Class QTcpSocket
+ size=16 align=8
+ base size=16 base align=8
+QTcpSocket (0x7f9ac21e2a10) 0
+ vptr=((& QTcpSocket::_ZTV10QTcpSocket) + 16u)
+ QAbstractSocket (0x7f9ac21e2a80) 0
+ primary-for QTcpSocket (0x7f9ac21e2a10)
+ QIODevice (0x7f9ac21e2af0) 0
+ primary-for QAbstractSocket (0x7f9ac21e2a80)
+ QObject (0x7f9ac21e2b60) 0
+ primary-for QIODevice (0x7f9ac21e2af0)
+
+Class QSslError
+ size=8 align=8
+ base size=8 base align=8
+QSslError (0x7f9ac21fe4d0) 0
+
+Vtable for QSslSocket
+QSslSocket::_ZTV10QSslSocket: 30u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QSslSocket)
+16 QSslSocket::metaObject
+24 QSslSocket::qt_metacast
+32 QSslSocket::qt_metacall
+40 QSslSocket::~QSslSocket
+48 QSslSocket::~QSslSocket
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QAbstractSocket::isSequential
+120 QIODevice::open
+128 QSslSocket::close
+136 QIODevice::pos
+144 QIODevice::size
+152 QIODevice::seek
+160 QSslSocket::atEnd
+168 QIODevice::reset
+176 QSslSocket::bytesAvailable
+184 QSslSocket::bytesToWrite
+192 QSslSocket::canReadLine
+200 QSslSocket::waitForReadyRead
+208 QSslSocket::waitForBytesWritten
+216 QSslSocket::readData
+224 QAbstractSocket::readLineData
+232 QSslSocket::writeData
+
+Class QSslSocket
+ size=16 align=8
+ base size=16 base align=8
+QSslSocket (0x7f9ac220a3f0) 0
+ vptr=((& QSslSocket::_ZTV10QSslSocket) + 16u)
+ QTcpSocket (0x7f9ac220a460) 0
+ primary-for QSslSocket (0x7f9ac220a3f0)
+ QAbstractSocket (0x7f9ac220a4d0) 0
+ primary-for QTcpSocket (0x7f9ac220a460)
+ QIODevice (0x7f9ac220a540) 0
+ primary-for QAbstractSocket (0x7f9ac220a4d0)
+ QObject (0x7f9ac220a5b0) 0
+ primary-for QIODevice (0x7f9ac220a540)
+
+Class QSslConfiguration
+ size=8 align=8
+ base size=8 base align=8
+QSslConfiguration (0x7f9ac20494d0) 0
+
+Class QSslKey
+ size=8 align=8
+ base size=8 base align=8
+QSslKey (0x7f9ac20592a0) 0
+
+Class QNetworkRequest
+ size=8 align=8
+ base size=8 base align=8
+QNetworkRequest (0x7f9ac2059ee0) 0
+
+Class QNetworkCacheMetaData
+ size=8 align=8
+ base size=8 base align=8
+QNetworkCacheMetaData (0x7f9ac2089d90) 0
+
+Vtable for QAbstractNetworkCache
+QAbstractNetworkCache::_ZTV21QAbstractNetworkCache: 22u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI21QAbstractNetworkCache)
+16 QAbstractNetworkCache::metaObject
+24 QAbstractNetworkCache::qt_metacast
+32 QAbstractNetworkCache::qt_metacall
+40 QAbstractNetworkCache::~QAbstractNetworkCache
+48 QAbstractNetworkCache::~QAbstractNetworkCache
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 __cxa_pure_virtual
+136 __cxa_pure_virtual
+144 __cxa_pure_virtual
+152 __cxa_pure_virtual
+160 __cxa_pure_virtual
+168 __cxa_pure_virtual
+
+Class QAbstractNetworkCache
+ size=16 align=8
+ base size=16 base align=8
+QAbstractNetworkCache (0x7f9ac20b8000) 0
+ vptr=((& QAbstractNetworkCache::_ZTV21QAbstractNetworkCache) + 16u)
+ QObject (0x7f9ac20b8070) 0
+ primary-for QAbstractNetworkCache (0x7f9ac20b8000)
+
+Vtable for QUrlInfo
+QUrlInfo::_ZTV8QUrlInfo: 15u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI8QUrlInfo)
+16 QUrlInfo::~QUrlInfo
+24 QUrlInfo::~QUrlInfo
+32 QUrlInfo::setName
+40 QUrlInfo::setDir
+48 QUrlInfo::setFile
+56 QUrlInfo::setSymLink
+64 QUrlInfo::setOwner
+72 QUrlInfo::setGroup
+80 QUrlInfo::setSize
+88 QUrlInfo::setWritable
+96 QUrlInfo::setReadable
+104 QUrlInfo::setPermissions
+112 QUrlInfo::setLastModified
+
+Class QUrlInfo
+ size=16 align=8
+ base size=16 base align=8
+QUrlInfo (0x7f9ac20cc9a0) 0
+ vptr=((& QUrlInfo::_ZTV8QUrlInfo) + 16u)
+
+Vtable for QFtp
+QFtp::_ZTV4QFtp: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI4QFtp)
+16 QFtp::metaObject
+24 QFtp::qt_metacast
+32 QFtp::qt_metacall
+40 QFtp::~QFtp
+48 QFtp::~QFtp
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QFtp
+ size=16 align=8
+ base size=16 base align=8
+QFtp (0x7f9ac20e2930) 0
+ vptr=((& QFtp::_ZTV4QFtp) + 16u)
+ QObject (0x7f9ac20e29a0) 0
+ primary-for QFtp (0x7f9ac20e2930)
+
+Vtable for QHttpHeader
+QHttpHeader::_ZTV11QHttpHeader: 8u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QHttpHeader)
+16 QHttpHeader::~QHttpHeader
+24 QHttpHeader::~QHttpHeader
+32 QHttpHeader::toString
+40 __cxa_pure_virtual
+48 __cxa_pure_virtual
+56 QHttpHeader::parseLine
+
+Class QHttpHeader
+ size=16 align=8
+ base size=16 base align=8
+QHttpHeader (0x7f9ac210bf50) 0
+ vptr=((& QHttpHeader::_ZTV11QHttpHeader) + 16u)
+
+Vtable for QHttpResponseHeader
+QHttpResponseHeader::_ZTV19QHttpResponseHeader: 8u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QHttpResponseHeader)
+16 QHttpResponseHeader::~QHttpResponseHeader
+24 QHttpResponseHeader::~QHttpResponseHeader
+32 QHttpResponseHeader::toString
+40 QHttpResponseHeader::majorVersion
+48 QHttpResponseHeader::minorVersion
+56 QHttpResponseHeader::parseLine
+
+Class QHttpResponseHeader
+ size=16 align=8
+ base size=16 base align=8
+QHttpResponseHeader (0x7f9ac2113e70) 0
+ vptr=((& QHttpResponseHeader::_ZTV19QHttpResponseHeader) + 16u)
+ QHttpHeader (0x7f9ac2113ee0) 0
+ primary-for QHttpResponseHeader (0x7f9ac2113e70)
+
+Vtable for QHttpRequestHeader
+QHttpRequestHeader::_ZTV18QHttpRequestHeader: 8u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QHttpRequestHeader)
+16 QHttpRequestHeader::~QHttpRequestHeader
+24 QHttpRequestHeader::~QHttpRequestHeader
+32 QHttpRequestHeader::toString
+40 QHttpRequestHeader::majorVersion
+48 QHttpRequestHeader::minorVersion
+56 QHttpRequestHeader::parseLine
+
+Class QHttpRequestHeader
+ size=16 align=8
+ base size=16 base align=8
+QHttpRequestHeader (0x7f9ac1f2daf0) 0
+ vptr=((& QHttpRequestHeader::_ZTV18QHttpRequestHeader) + 16u)
+ QHttpHeader (0x7f9ac1f2db60) 0
+ primary-for QHttpRequestHeader (0x7f9ac1f2daf0)
+
+Vtable for QHttp
+QHttp::_ZTV5QHttp: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI5QHttp)
+16 QHttp::metaObject
+24 QHttp::qt_metacast
+32 QHttp::qt_metacall
+40 QHttp::~QHttp
+48 QHttp::~QHttp
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QHttp
+ size=16 align=8
+ base size=16 base align=8
+QHttp (0x7f9ac1f39700) 0
+ vptr=((& QHttp::_ZTV5QHttp) + 16u)
+ QObject (0x7f9ac1f39770) 0
+ primary-for QHttp (0x7f9ac1f39700)
+
+Vtable for QNetworkAccessManager
+QNetworkAccessManager::_ZTV21QNetworkAccessManager: 15u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI21QNetworkAccessManager)
+16 QNetworkAccessManager::metaObject
+24 QNetworkAccessManager::qt_metacast
+32 QNetworkAccessManager::qt_metacall
+40 QNetworkAccessManager::~QNetworkAccessManager
+48 QNetworkAccessManager::~QNetworkAccessManager
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QNetworkAccessManager::createRequest
+
+Class QNetworkAccessManager
+ size=16 align=8
+ base size=16 base align=8
+QNetworkAccessManager (0x7f9ac1f738c0) 0
+ vptr=((& QNetworkAccessManager::_ZTV21QNetworkAccessManager) + 16u)
+ QObject (0x7f9ac1f73930) 0
+ primary-for QNetworkAccessManager (0x7f9ac1f738c0)
+
+Class QNetworkCookie
+ size=8 align=8
+ base size=8 base align=8
+QNetworkCookie (0x7f9ac1f88e00) 0
+
+Vtable for QNetworkCookieJar
+QNetworkCookieJar::_ZTV17QNetworkCookieJar: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QNetworkCookieJar)
+16 QNetworkCookieJar::metaObject
+24 QNetworkCookieJar::qt_metacast
+32 QNetworkCookieJar::qt_metacall
+40 QNetworkCookieJar::~QNetworkCookieJar
+48 QNetworkCookieJar::~QNetworkCookieJar
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QNetworkCookieJar::cookiesForUrl
+120 QNetworkCookieJar::setCookiesFromUrl
+
+Class QNetworkCookieJar
+ size=16 align=8
+ base size=16 base align=8
+QNetworkCookieJar (0x7f9ac1f93f50) 0
+ vptr=((& QNetworkCookieJar::_ZTV17QNetworkCookieJar) + 16u)
+ QObject (0x7f9ac1f939a0) 0
+ primary-for QNetworkCookieJar (0x7f9ac1f93f50)
+
+Vtable for QNetworkDiskCache
+QNetworkDiskCache::_ZTV17QNetworkDiskCache: 23u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QNetworkDiskCache)
+16 QNetworkDiskCache::metaObject
+24 QNetworkDiskCache::qt_metacast
+32 QNetworkDiskCache::qt_metacall
+40 QNetworkDiskCache::~QNetworkDiskCache
+48 QNetworkDiskCache::~QNetworkDiskCache
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QNetworkDiskCache::metaData
+120 QNetworkDiskCache::updateMetaData
+128 QNetworkDiskCache::data
+136 QNetworkDiskCache::remove
+144 QNetworkDiskCache::cacheSize
+152 QNetworkDiskCache::prepare
+160 QNetworkDiskCache::insert
+168 QNetworkDiskCache::clear
+176 QNetworkDiskCache::expire
+
+Class QNetworkDiskCache
+ size=16 align=8
+ base size=16 base align=8
+QNetworkDiskCache (0x7f9ac1fc0e00) 0
+ vptr=((& QNetworkDiskCache::_ZTV17QNetworkDiskCache) + 16u)
+ QAbstractNetworkCache (0x7f9ac1fc0e70) 0
+ primary-for QNetworkDiskCache (0x7f9ac1fc0e00)
+ QObject (0x7f9ac1fc0ee0) 0
+ primary-for QAbstractNetworkCache (0x7f9ac1fc0e70)
+
+Vtable for QNetworkReply
+QNetworkReply::_ZTV13QNetworkReply: 33u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QNetworkReply)
+16 QNetworkReply::metaObject
+24 QNetworkReply::qt_metacast
+32 QNetworkReply::qt_metacall
+40 QNetworkReply::~QNetworkReply
+48 QNetworkReply::~QNetworkReply
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QNetworkReply::isSequential
+120 QIODevice::open
+128 QNetworkReply::close
+136 QIODevice::pos
+144 QIODevice::size
+152 QIODevice::seek
+160 QIODevice::atEnd
+168 QIODevice::reset
+176 QIODevice::bytesAvailable
+184 QIODevice::bytesToWrite
+192 QIODevice::canReadLine
+200 QIODevice::waitForReadyRead
+208 QIODevice::waitForBytesWritten
+216 __cxa_pure_virtual
+224 QIODevice::readLineData
+232 QNetworkReply::writeData
+240 __cxa_pure_virtual
+248 QNetworkReply::setReadBufferSize
+256 QNetworkReply::ignoreSslErrors
+
+Class QNetworkReply
+ size=16 align=8
+ base size=16 base align=8
+QNetworkReply (0x7f9ac1fe5770) 0
+ vptr=((& QNetworkReply::_ZTV13QNetworkReply) + 16u)
+ QIODevice (0x7f9ac1fe57e0) 0
+ primary-for QNetworkReply (0x7f9ac1fe5770)
+ QObject (0x7f9ac1fe5850) 0
+ primary-for QIODevice (0x7f9ac1fe57e0)
+
+Class QAuthenticator
+ size=8 align=8
+ base size=8 base align=8
+QAuthenticator (0x7f9ac200b3f0) 0
+
+Class QIPv6Address
+ size=16 align=1
+ base size=16 base align=1
+QIPv6Address (0x7f9ac200bcb0) 0
+
+Class QHostAddress
+ size=8 align=8
+ base size=8 base align=8
+QHostAddress (0x7f9ac2017310) 0
+
+Class QHostInfo
+ size=8 align=8
+ base size=8 base align=8
+QHostInfo (0x7f9ac1e49310) 0
+
+Class QNetworkAddressEntry
+ size=8 align=8
+ base size=8 base align=8
+QNetworkAddressEntry (0x7f9ac1e49c40) 0
+
+Class QNetworkInterface
+ size=8 align=8
+ base size=8 base align=8
+QNetworkInterface (0x7f9ac1e61540) 0
+
+Class QNetworkProxyQuery
+ size=8 align=8
+ base size=8 base align=8
+QNetworkProxyQuery (0x7f9ac1eae230) 0
+
+Class QNetworkProxy
+ size=8 align=8
+ base size=8 base align=8
+QNetworkProxy (0x7f9ac1ec74d0) 0
+
+Vtable for QNetworkProxyFactory
+QNetworkProxyFactory::_ZTV20QNetworkProxyFactory: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI20QNetworkProxyFactory)
+16 QNetworkProxyFactory::~QNetworkProxyFactory
+24 QNetworkProxyFactory::~QNetworkProxyFactory
+32 __cxa_pure_virtual
+
+Class QNetworkProxyFactory
+ size=8 align=8
+ base size=8 base align=8
+QNetworkProxyFactory (0x7f9ac1f06930) 0 nearly-empty
+ vptr=((& QNetworkProxyFactory::_ZTV20QNetworkProxyFactory) + 16u)
+
+Vtable for QLocalServer
+QLocalServer::_ZTV12QLocalServer: 17u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QLocalServer)
+16 QLocalServer::metaObject
+24 QLocalServer::qt_metacast
+32 QLocalServer::qt_metacall
+40 QLocalServer::~QLocalServer
+48 QLocalServer::~QLocalServer
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QLocalServer::hasPendingConnections
+120 QLocalServer::nextPendingConnection
+128 QLocalServer::incomingConnection
+
+Class QLocalServer
+ size=16 align=8
+ base size=16 base align=8
+QLocalServer (0x7f9ac1f06c40) 0
+ vptr=((& QLocalServer::_ZTV12QLocalServer) + 16u)
+ QObject (0x7f9ac1f06cb0) 0
+ primary-for QLocalServer (0x7f9ac1f06c40)
+
+Vtable for QLocalSocket
+QLocalSocket::_ZTV12QLocalSocket: 30u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QLocalSocket)
+16 QLocalSocket::metaObject
+24 QLocalSocket::qt_metacast
+32 QLocalSocket::qt_metacall
+40 QLocalSocket::~QLocalSocket
+48 QLocalSocket::~QLocalSocket
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QLocalSocket::isSequential
+120 QIODevice::open
+128 QLocalSocket::close
+136 QIODevice::pos
+144 QIODevice::size
+152 QIODevice::seek
+160 QIODevice::atEnd
+168 QIODevice::reset
+176 QLocalSocket::bytesAvailable
+184 QLocalSocket::bytesToWrite
+192 QLocalSocket::canReadLine
+200 QLocalSocket::waitForReadyRead
+208 QLocalSocket::waitForBytesWritten
+216 QLocalSocket::readData
+224 QIODevice::readLineData
+232 QLocalSocket::writeData
+
+Class QLocalSocket
+ size=16 align=8
+ base size=16 base align=8
+QLocalSocket (0x7f9ac1d35620) 0
+ vptr=((& QLocalSocket::_ZTV12QLocalSocket) + 16u)
+ QIODevice (0x7f9ac1d35690) 0
+ primary-for QLocalSocket (0x7f9ac1d35620)
+ QObject (0x7f9ac1d35700) 0
+ primary-for QIODevice (0x7f9ac1d35690)
+
+Vtable for QTcpServer
+QTcpServer::_ZTV10QTcpServer: 17u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QTcpServer)
+16 QTcpServer::metaObject
+24 QTcpServer::qt_metacast
+32 QTcpServer::qt_metacall
+40 QTcpServer::~QTcpServer
+48 QTcpServer::~QTcpServer
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QTcpServer::hasPendingConnections
+120 QTcpServer::nextPendingConnection
+128 QTcpServer::incomingConnection
+
+Class QTcpServer
+ size=16 align=8
+ base size=16 base align=8
+QTcpServer (0x7f9ac1d5a7e0) 0
+ vptr=((& QTcpServer::_ZTV10QTcpServer) + 16u)
+ QObject (0x7f9ac1d5a850) 0
+ primary-for QTcpServer (0x7f9ac1d5a7e0)
+
+Vtable for QUdpSocket
+QUdpSocket::_ZTV10QUdpSocket: 30u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QUdpSocket)
+16 QUdpSocket::metaObject
+24 QUdpSocket::qt_metacast
+32 QUdpSocket::qt_metacall
+40 QUdpSocket::~QUdpSocket
+48 QUdpSocket::~QUdpSocket
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QAbstractSocket::isSequential
+120 QIODevice::open
+128 QAbstractSocket::close
+136 QIODevice::pos
+144 QIODevice::size
+152 QIODevice::seek
+160 QAbstractSocket::atEnd
+168 QIODevice::reset
+176 QAbstractSocket::bytesAvailable
+184 QAbstractSocket::bytesToWrite
+192 QAbstractSocket::canReadLine
+200 QAbstractSocket::waitForReadyRead
+208 QAbstractSocket::waitForBytesWritten
+216 QAbstractSocket::readData
+224 QAbstractSocket::readLineData
+232 QAbstractSocket::writeData
+
+Class QUdpSocket
+ size=16 align=8
+ base size=16 base align=8
+QUdpSocket (0x7f9ac1d76310) 0
+ vptr=((& QUdpSocket::_ZTV10QUdpSocket) + 16u)
+ QAbstractSocket (0x7f9ac1d76380) 0
+ primary-for QUdpSocket (0x7f9ac1d76310)
+ QIODevice (0x7f9ac1d763f0) 0
+ primary-for QAbstractSocket (0x7f9ac1d76380)
+ QObject (0x7f9ac1d76460) 0
+ primary-for QIODevice (0x7f9ac1d763f0)
+
+Class QSourceLocation
+ size=24 align=8
+ base size=24 base align=8
+QSourceLocation (0x7f9ac1dc3070) 0
+
+Vtable for QAbstractMessageHandler
+QAbstractMessageHandler::_ZTV23QAbstractMessageHandler: 15u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI23QAbstractMessageHandler)
+16 QAbstractMessageHandler::metaObject
+24 QAbstractMessageHandler::qt_metacast
+32 QAbstractMessageHandler::qt_metacall
+40 QAbstractMessageHandler::~QAbstractMessageHandler
+48 QAbstractMessageHandler::~QAbstractMessageHandler
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+
+Class QAbstractMessageHandler
+ size=16 align=8
+ base size=16 base align=8
+QAbstractMessageHandler (0x7f9ac1dc3d20) 0
+ vptr=((& QAbstractMessageHandler::_ZTV23QAbstractMessageHandler) + 16u)
+ QObject (0x7f9ac1dc3d90) 0
+ primary-for QAbstractMessageHandler (0x7f9ac1dc3d20)
+
+Vtable for QAbstractUriResolver
+QAbstractUriResolver::_ZTV20QAbstractUriResolver: 15u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI20QAbstractUriResolver)
+16 QAbstractUriResolver::metaObject
+24 QAbstractUriResolver::qt_metacast
+32 QAbstractUriResolver::qt_metacall
+40 QAbstractUriResolver::~QAbstractUriResolver
+48 QAbstractUriResolver::~QAbstractUriResolver
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+
+Class QAbstractUriResolver
+ size=16 align=8
+ base size=16 base align=8
+QAbstractUriResolver (0x7f9ac1de8700) 0
+ vptr=((& QAbstractUriResolver::_ZTV20QAbstractUriResolver) + 16u)
+ QObject (0x7f9ac1de8770) 0
+ primary-for QAbstractUriResolver (0x7f9ac1de8700)
+
+Class QXmlName
+ size=8 align=8
+ base size=8 base align=8
+QXmlName (0x7f9ac1e01000) 0
+
+Class QPatternist::NodeIndexStorage
+ size=24 align=8
+ base size=24 base align=8
+QPatternist::NodeIndexStorage (0x7f9ac1e1a3f0) 0
+
+Class QXmlNodeModelIndex
+ size=24 align=8
+ base size=24 base align=8
+QXmlNodeModelIndex (0x7f9ac1e1ab60) 0
+
+Vtable for QAbstractXmlNodeModel
+QAbstractXmlNodeModel::_ZTV21QAbstractXmlNodeModel: 24u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI21QAbstractXmlNodeModel)
+16 QAbstractXmlNodeModel::~QAbstractXmlNodeModel
+24 QAbstractXmlNodeModel::~QAbstractXmlNodeModel
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+48 __cxa_pure_virtual
+56 __cxa_pure_virtual
+64 __cxa_pure_virtual
+72 __cxa_pure_virtual
+80 __cxa_pure_virtual
+88 __cxa_pure_virtual
+96 QAbstractXmlNodeModel::iterate
+104 QAbstractXmlNodeModel::sequencedTypedValue
+112 QAbstractXmlNodeModel::type
+120 QAbstractXmlNodeModel::namespaceForPrefix
+128 QAbstractXmlNodeModel::isDeepEqual
+136 QAbstractXmlNodeModel::sendNamespaces
+144 __cxa_pure_virtual
+152 __cxa_pure_virtual
+160 __cxa_pure_virtual
+168 QAbstractXmlNodeModel::copyNodeTo
+176 __cxa_pure_virtual
+184 __cxa_pure_virtual
+
+Class QAbstractXmlNodeModel
+ size=24 align=8
+ base size=24 base align=8
+QAbstractXmlNodeModel (0x7f9ac1c861c0) 0
+ vptr=((& QAbstractXmlNodeModel::_ZTV21QAbstractXmlNodeModel) + 16u)
+ QSharedData (0x7f9ac1c86230) 8
+
+Class QXmlItem
+ size=24 align=8
+ base size=24 base align=8
+QXmlItem (0x7f9ac1c94e70) 0
+
+Vtable for QAbstractXmlReceiver
+QAbstractXmlReceiver::_ZTV20QAbstractXmlReceiver: 18u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI20QAbstractXmlReceiver)
+16 QAbstractXmlReceiver::~QAbstractXmlReceiver
+24 QAbstractXmlReceiver::~QAbstractXmlReceiver
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+48 __cxa_pure_virtual
+56 __cxa_pure_virtual
+64 __cxa_pure_virtual
+72 __cxa_pure_virtual
+80 __cxa_pure_virtual
+88 __cxa_pure_virtual
+96 __cxa_pure_virtual
+104 __cxa_pure_virtual
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 QAbstractXmlReceiver::whitespaceOnly
+136 QAbstractXmlReceiver::item
+
+Class QAbstractXmlReceiver
+ size=16 align=8
+ base size=16 base align=8
+QAbstractXmlReceiver (0x7f9ac1cafd90) 0
+ vptr=((& QAbstractXmlReceiver::_ZTV20QAbstractXmlReceiver) + 16u)
+
+Class QXmlNamePool
+ size=8 align=8
+ base size=8 base align=8
+QXmlNamePool (0x7f9ac1cd15b0) 0
+
+Class QXmlQuery
+ size=8 align=8
+ base size=8 base align=8
+QXmlQuery (0x7f9ac1cd1c40) 0
+
+Vtable for QSimpleXmlNodeModel
+QSimpleXmlNodeModel::_ZTV19QSimpleXmlNodeModel: 24u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QSimpleXmlNodeModel)
+16 QSimpleXmlNodeModel::~QSimpleXmlNodeModel
+24 QSimpleXmlNodeModel::~QSimpleXmlNodeModel
+32 QSimpleXmlNodeModel::baseUri
+40 __cxa_pure_virtual
+48 __cxa_pure_virtual
+56 __cxa_pure_virtual
+64 __cxa_pure_virtual
+72 __cxa_pure_virtual
+80 QSimpleXmlNodeModel::stringValue
+88 __cxa_pure_virtual
+96 QAbstractXmlNodeModel::iterate
+104 QAbstractXmlNodeModel::sequencedTypedValue
+112 QAbstractXmlNodeModel::type
+120 QAbstractXmlNodeModel::namespaceForPrefix
+128 QAbstractXmlNodeModel::isDeepEqual
+136 QAbstractXmlNodeModel::sendNamespaces
+144 QSimpleXmlNodeModel::namespaceBindings
+152 QSimpleXmlNodeModel::elementById
+160 QSimpleXmlNodeModel::nodesByIdref
+168 QAbstractXmlNodeModel::copyNodeTo
+176 __cxa_pure_virtual
+184 __cxa_pure_virtual
+
+Class QSimpleXmlNodeModel
+ size=24 align=8
+ base size=24 base align=8
+QSimpleXmlNodeModel (0x7f9ac1cec7e0) 0
+ vptr=((& QSimpleXmlNodeModel::_ZTV19QSimpleXmlNodeModel) + 16u)
+ QAbstractXmlNodeModel (0x7f9ac1cec850) 0
+ primary-for QSimpleXmlNodeModel (0x7f9ac1cec7e0)
+ QSharedData (0x7f9ac1cec8c0) 8
+
+Vtable for QXmlSerializer
+QXmlSerializer::_ZTV14QXmlSerializer: 18u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QXmlSerializer)
+16 QXmlSerializer::~QXmlSerializer
+24 QXmlSerializer::~QXmlSerializer
+32 QXmlSerializer::startElement
+40 QXmlSerializer::endElement
+48 QXmlSerializer::attribute
+56 QXmlSerializer::comment
+64 QXmlSerializer::characters
+72 QXmlSerializer::startDocument
+80 QXmlSerializer::endDocument
+88 QXmlSerializer::processingInstruction
+96 QXmlSerializer::atomicValue
+104 QXmlSerializer::namespaceBinding
+112 QXmlSerializer::startOfSequence
+120 QXmlSerializer::endOfSequence
+128 QAbstractXmlReceiver::whitespaceOnly
+136 QXmlSerializer::item
+
+Class QXmlSerializer
+ size=16 align=8
+ base size=16 base align=8
+QXmlSerializer (0x7f9ac1d01000) 0
+ vptr=((& QXmlSerializer::_ZTV14QXmlSerializer) + 16u)
+ QAbstractXmlReceiver (0x7f9ac1d01070) 0
+ primary-for QXmlSerializer (0x7f9ac1d01000)
+
+Vtable for QXmlFormatter
+QXmlFormatter::_ZTV13QXmlFormatter: 18u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QXmlFormatter)
+16 QXmlFormatter::~QXmlFormatter
+24 QXmlFormatter::~QXmlFormatter
+32 QXmlFormatter::startElement
+40 QXmlFormatter::endElement
+48 QXmlFormatter::attribute
+56 QXmlFormatter::comment
+64 QXmlFormatter::characters
+72 QXmlFormatter::startDocument
+80 QXmlFormatter::endDocument
+88 QXmlFormatter::processingInstruction
+96 QXmlFormatter::atomicValue
+104 QXmlSerializer::namespaceBinding
+112 QXmlFormatter::startOfSequence
+120 QXmlFormatter::endOfSequence
+128 QAbstractXmlReceiver::whitespaceOnly
+136 QXmlFormatter::item
+
+Class QXmlFormatter
+ size=16 align=8
+ base size=16 base align=8
+QXmlFormatter (0x7f9ac1d017e0) 0
+ vptr=((& QXmlFormatter::_ZTV13QXmlFormatter) + 16u)
+ QXmlSerializer (0x7f9ac1d01850) 0
+ primary-for QXmlFormatter (0x7f9ac1d017e0)
+ QAbstractXmlReceiver (0x7f9ac1d018c0) 0
+ primary-for QXmlSerializer (0x7f9ac1d01850)
+
+Vtable for QXmlResultItems
+QXmlResultItems::_ZTV15QXmlResultItems: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QXmlResultItems)
+16 QXmlResultItems::~QXmlResultItems
+24 QXmlResultItems::~QXmlResultItems
+
+Class QXmlResultItems
+ size=16 align=8
+ base size=16 base align=8
+QXmlResultItems (0x7f9ac1d01f50) 0
+ vptr=((& QXmlResultItems::_ZTV15QXmlResultItems) + 16u)
+
+Class QXmlSchema
+ size=8 align=8
+ base size=8 base align=8
+QXmlSchema (0x7f9ac1b24af0) 0
+
+Class QXmlSchemaValidator
+ size=8 align=8
+ base size=8 base align=8
+QXmlSchemaValidator (0x7f9ac1b24f50) 0
+
+Vtable for QPaintDevice
+QPaintDevice::_ZTV12QPaintDevice: 7u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QPaintDevice)
+16 QPaintDevice::~QPaintDevice
+24 QPaintDevice::~QPaintDevice
+32 QPaintDevice::devType
+40 __cxa_pure_virtual
+48 QPaintDevice::metric
+
+Class QPaintDevice
+ size=16 align=8
+ base size=10 base align=8
+QPaintDevice (0x7f9ac1b454d0) 0
+ vptr=((& QPaintDevice::_ZTV12QPaintDevice) + 16u)
+
+Class QColor
+ size=16 align=4
+ base size=14 base align=4
+QColor (0x7f9ac1b7ae00) 0
+
+Class QPolygon
+ size=8 align=8
+ base size=8 base align=8
+QPolygon (0x7f9ac1bd8620) 0
+ QVector<QPoint> (0x7f9ac1bd8690) 0
+
+Class QPolygonF
+ size=8 align=8
+ base size=8 base align=8
+QPolygonF (0x7f9ac1c1bb60) 0
+ QVector<QPointF> (0x7f9ac1c1bbd0) 0
+
+Class QRegion::QRegionData
+ size=32 align=8
+ base size=32 base align=8
+QRegion::QRegionData (0x7f9ac1a7d5b0) 0
+
+Class QRegion
+ size=8 align=8
+ base size=8 base align=8
+QRegion (0x7f9ac1a58cb0) 0
+
+Class QMatrix
+ size=48 align=8
+ base size=48 base align=8
+QMatrix (0x7f9ac1a91e00) 0
+
+Class QPainterPath::Element
+ size=24 align=8
+ base size=24 base align=8
+QPainterPath::Element (0x7f9ac1ad2f50) 0
+
+Class QPainterPath
+ size=8 align=8
+ base size=8 base align=8
+QPainterPath (0x7f9ac1ad2ee0) 0
+
+Class QPainterPathPrivate
+ size=16 align=8
+ base size=16 base align=8
+QPainterPathPrivate (0x7f9ac192e690) 0
+
+Class QPainterPathStroker
+ size=8 align=8
+ base size=8 base align=8
+QPainterPathStroker (0x7f9ac19561c0) 0
+
+Class QTransform
+ size=88 align=8
+ base size=88 base align=8
+QTransform (0x7f9ac19ac1c0) 0
+
+Class QImageTextKeyLang
+ size=16 align=8
+ base size=16 base align=8
+QImageTextKeyLang (0x7f9ac18457e0) 0
+
+Vtable for QImage
+QImage::_ZTV6QImage: 7u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI6QImage)
+16 QImage::~QImage
+24 QImage::~QImage
+32 QImage::devType
+40 QImage::paintEngine
+48 QImage::metric
+
+Class QImage
+ size=24 align=8
+ base size=24 base align=8
+QImage (0x7f9ac1899070) 0
+ vptr=((& QImage::_ZTV6QImage) + 16u)
+ QPaintDevice (0x7f9ac18990e0) 0
+ primary-for QImage (0x7f9ac1899070)
+
+Vtable for QPixmap
+QPixmap::_ZTV7QPixmap: 7u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QPixmap)
+16 QPixmap::~QPixmap
+24 QPixmap::~QPixmap
+32 QPixmap::devType
+40 QPixmap::paintEngine
+48 QPixmap::metric
+
+Class QPixmap
+ size=24 align=8
+ base size=24 base align=8
+QPixmap (0x7f9ac19137e0) 0
+ vptr=((& QPixmap::_ZTV7QPixmap) + 16u)
+ QPaintDevice (0x7f9ac1913850) 0
+ primary-for QPixmap (0x7f9ac19137e0)
+
+Class QIcon
+ size=8 align=8
+ base size=8 base align=8
+QIcon (0x7f9ac1770af0) 0
+
+Class QWebSettings
+ size=8 align=8
+ base size=8 base align=8
+QWebSettings (0x7f9ac17a8700) 0
+
+Class QBrush
+ size=8 align=8
+ base size=8 base align=8
+QBrush (0x7f9ac17c4690) 0
+
+Class QBrushData
+ size=112 align=8
+ base size=112 base align=8
+QBrushData (0x7f9ac17ed0e0) 0
+
+Class QGradient
+ size=64 align=8
+ base size=64 base align=8
+QGradient (0x7f9ac18032a0) 0
+
+Class QLinearGradient
+ size=64 align=8
+ base size=64 base align=8
+QLinearGradient (0x7f9ac1810d90) 0
+ QGradient (0x7f9ac1810e00) 0
+
+Class QRadialGradient
+ size=64 align=8
+ base size=64 base align=8
+QRadialGradient (0x7f9ac163b230) 0
+ QGradient (0x7f9ac163b2a0) 0
+
+Class QConicalGradient
+ size=64 align=8
+ base size=64 base align=8
+QConicalGradient (0x7f9ac163b7e0) 0
+ QGradient (0x7f9ac163b850) 0
+
+Class QPalette
+ size=16 align=8
+ base size=12 base align=8
+QPalette (0x7f9ac163bb60) 0
+
+Class QColorGroup
+ size=16 align=8
+ base size=12 base align=8
+QColorGroup (0x7f9ac169d4d0) 0
+ QPalette (0x7f9ac169d540) 0
+
+Class QFont
+ size=16 align=8
+ base size=12 base align=8
+QFont (0x7f9ac16d37e0) 0
+
+Class QFontMetrics
+ size=8 align=8
+ base size=8 base align=8
+QFontMetrics (0x7f9ac15104d0) 0
+
+Class QFontMetricsF
+ size=8 align=8
+ base size=8 base align=8
+QFontMetricsF (0x7f9ac1525930) 0
+
+Class QFontInfo
+ size=8 align=8
+ base size=8 base align=8
+QFontInfo (0x7f9ac1530850) 0
+
+Class QSizePolicy
+ size=4 align=4
+ base size=4 base align=4
+QSizePolicy (0x7f9ac1546380) 0
+
+Class QCursor
+ size=8 align=8
+ base size=8 base align=8
+QCursor (0x7f9ac1399380) 0
+
+Class QKeySequence
+ size=8 align=8
+ base size=8 base align=8
+QKeySequence (0x7f9ac1399b60) 0
+
+Class QWidgetData
+ size=88 align=8
+ base size=88 base align=8
+QWidgetData (0x7f9ac13df4d0) 0
+
+Vtable for QWidget
+QWidget::_ZTV7QWidget: 63u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QWidget)
+16 QWidget::metaObject
+24 QWidget::qt_metacast
+32 QWidget::qt_metacall
+40 QWidget::~QWidget
+48 QWidget::~QWidget
+56 QWidget::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QWidget::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QWidget::paintEvent
+256 QWidget::moveEvent
+264 QWidget::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QWidget::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 (int (*)(...))-0x00000000000000010
+456 (int (*)(...))(& _ZTI7QWidget)
+464 QWidget::_ZThn16_N7QWidgetD1Ev
+472 QWidget::_ZThn16_N7QWidgetD0Ev
+480 QWidget::_ZThn16_NK7QWidget7devTypeEv
+488 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+496 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QWidget
+ size=40 align=8
+ base size=40 base align=8
+QWidget (0x7f9ac13dea80) 0
+ vptr=((& QWidget::_ZTV7QWidget) + 16u)
+ QObject (0x7f9ac13df540) 0
+ primary-for QWidget (0x7f9ac13dea80)
+ QPaintDevice (0x7f9ac13df5b0) 16
+ vptr=((& QWidget::_ZTV7QWidget) + 464u)
+
+Class QWebPage::ExtensionOption
+ size=1 align=1
+ base size=0 base align=1
+QWebPage::ExtensionOption (0x7f9ac1367ee0) 0 empty
+
+Class QWebPage::ExtensionReturn
+ size=1 align=1
+ base size=0 base align=1
+QWebPage::ExtensionReturn (0x7f9ac1367f50) 0 empty
+
+Class QWebPage::ChooseMultipleFilesExtensionOption
+ size=16 align=8
+ base size=16 base align=8
+QWebPage::ChooseMultipleFilesExtensionOption (0x7f9ac1175000) 0
+ QWebPage::ExtensionOption (0x7f9ac1175070) 0 empty
+
+Class QWebPage::ChooseMultipleFilesExtensionReturn
+ size=8 align=8
+ base size=8 base align=8
+QWebPage::ChooseMultipleFilesExtensionReturn (0x7f9ac11750e0) 0
+ QWebPage::ExtensionReturn (0x7f9ac1175150) 0 empty
+
+Class QWebPage::ErrorPageExtensionOption
+ size=32 align=8
+ base size=32 base align=8
+QWebPage::ErrorPageExtensionOption (0x7f9ac11751c0) 0
+ QWebPage::ExtensionOption (0x7f9ac1175230) 0 empty
+
+Class QWebPage::ErrorPageExtensionReturn
+ size=32 align=8
+ base size=32 base align=8
+QWebPage::ErrorPageExtensionReturn (0x7f9ac11753f0) 0
+ QWebPage::ExtensionReturn (0x7f9ac1175460) 0 empty
+
+Vtable for QWebPage
+QWebPage::_ZTV8QWebPage: 26u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI8QWebPage)
+16 QWebPage::metaObject
+24 QWebPage::qt_metacast
+32 QWebPage::qt_metacall
+40 QWebPage::~QWebPage
+48 QWebPage::~QWebPage
+56 QWebPage::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWebPage::triggerAction
+120 QWebPage::extension
+128 QWebPage::supportsExtension
+136 QWebPage::createWindow
+144 QWebPage::createPlugin
+152 QWebPage::acceptNavigationRequest
+160 QWebPage::chooseFile
+168 QWebPage::javaScriptAlert
+176 QWebPage::javaScriptConfirm
+184 QWebPage::javaScriptPrompt
+192 QWebPage::javaScriptConsoleMessage
+200 QWebPage::userAgentForUrl
+
+Class QWebPage
+ size=24 align=8
+ base size=24 base align=8
+QWebPage (0x7f9ac13675b0) 0
+ vptr=((& QWebPage::_ZTV8QWebPage) + 16u)
+ QObject (0x7f9ac1367620) 0
+ primary-for QWebPage (0x7f9ac13675b0)
+
+Vtable for QMimeSource
+QMimeSource::_ZTV11QMimeSource: 7u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QMimeSource)
+16 QMimeSource::~QMimeSource
+24 QMimeSource::~QMimeSource
+32 __cxa_pure_virtual
+40 QMimeSource::provides
+48 __cxa_pure_virtual
+
+Class QMimeSource
+ size=8 align=8
+ base size=8 base align=8
+QMimeSource (0x7f9ac11bda10) 0 nearly-empty
+ vptr=((& QMimeSource::_ZTV11QMimeSource) + 16u)
+
+Vtable for QDrag
+QDrag::_ZTV5QDrag: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI5QDrag)
+16 QDrag::metaObject
+24 QDrag::qt_metacast
+32 QDrag::qt_metacall
+40 QDrag::~QDrag
+48 QDrag::~QDrag
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QDrag
+ size=16 align=8
+ base size=16 base align=8
+QDrag (0x7f9ac11bdb60) 0
+ vptr=((& QDrag::_ZTV5QDrag) + 16u)
+ QObject (0x7f9ac11bdbd0) 0
+ primary-for QDrag (0x7f9ac11bdb60)
+
+Vtable for QInputEvent
+QInputEvent::_ZTV11QInputEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QInputEvent)
+16 QInputEvent::~QInputEvent
+24 QInputEvent::~QInputEvent
+
+Class QInputEvent
+ size=24 align=8
+ base size=24 base align=8
+QInputEvent (0x7f9ac11eb310) 0
+ vptr=((& QInputEvent::_ZTV11QInputEvent) + 16u)
+ QEvent (0x7f9ac11eb380) 0
+ primary-for QInputEvent (0x7f9ac11eb310)
+
+Vtable for QMouseEvent
+QMouseEvent::_ZTV11QMouseEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QMouseEvent)
+16 QMouseEvent::~QMouseEvent
+24 QMouseEvent::~QMouseEvent
+
+Class QMouseEvent
+ size=48 align=8
+ base size=48 base align=8
+QMouseEvent (0x7f9ac11ebbd0) 0
+ vptr=((& QMouseEvent::_ZTV11QMouseEvent) + 16u)
+ QInputEvent (0x7f9ac11ebc40) 0
+ primary-for QMouseEvent (0x7f9ac11ebbd0)
+ QEvent (0x7f9ac11ebcb0) 0
+ primary-for QInputEvent (0x7f9ac11ebc40)
+
+Vtable for QHoverEvent
+QHoverEvent::_ZTV11QHoverEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QHoverEvent)
+16 QHoverEvent::~QHoverEvent
+24 QHoverEvent::~QHoverEvent
+
+Class QHoverEvent
+ size=40 align=8
+ base size=36 base align=8
+QHoverEvent (0x7f9ac120ca10) 0
+ vptr=((& QHoverEvent::_ZTV11QHoverEvent) + 16u)
+ QEvent (0x7f9ac120ca80) 0
+ primary-for QHoverEvent (0x7f9ac120ca10)
+
+Vtable for QWheelEvent
+QWheelEvent::_ZTV11QWheelEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QWheelEvent)
+16 QWheelEvent::~QWheelEvent
+24 QWheelEvent::~QWheelEvent
+
+Class QWheelEvent
+ size=56 align=8
+ base size=52 base align=8
+QWheelEvent (0x7f9ac12260e0) 0
+ vptr=((& QWheelEvent::_ZTV11QWheelEvent) + 16u)
+ QInputEvent (0x7f9ac1226150) 0
+ primary-for QWheelEvent (0x7f9ac12260e0)
+ QEvent (0x7f9ac12261c0) 0
+ primary-for QInputEvent (0x7f9ac1226150)
+
+Vtable for QTabletEvent
+QTabletEvent::_ZTV12QTabletEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QTabletEvent)
+16 QTabletEvent::~QTabletEvent
+24 QTabletEvent::~QTabletEvent
+
+Class QTabletEvent
+ size=120 align=8
+ base size=120 base align=8
+QTabletEvent (0x7f9ac1234ee0) 0
+ vptr=((& QTabletEvent::_ZTV12QTabletEvent) + 16u)
+ QInputEvent (0x7f9ac1234f50) 0
+ primary-for QTabletEvent (0x7f9ac1234ee0)
+ QEvent (0x7f9ac123c000) 0
+ primary-for QInputEvent (0x7f9ac1234f50)
+
+Vtable for QKeyEvent
+QKeyEvent::_ZTV9QKeyEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QKeyEvent)
+16 QKeyEvent::~QKeyEvent
+24 QKeyEvent::~QKeyEvent
+
+Class QKeyEvent
+ size=40 align=8
+ base size=39 base align=8
+QKeyEvent (0x7f9ac1256230) 0
+ vptr=((& QKeyEvent::_ZTV9QKeyEvent) + 16u)
+ QInputEvent (0x7f9ac12562a0) 0
+ primary-for QKeyEvent (0x7f9ac1256230)
+ QEvent (0x7f9ac1256310) 0
+ primary-for QInputEvent (0x7f9ac12562a0)
+
+Vtable for QFocusEvent
+QFocusEvent::_ZTV11QFocusEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QFocusEvent)
+16 QFocusEvent::~QFocusEvent
+24 QFocusEvent::~QFocusEvent
+
+Class QFocusEvent
+ size=24 align=8
+ base size=24 base align=8
+QFocusEvent (0x7f9ac1078bd0) 0
+ vptr=((& QFocusEvent::_ZTV11QFocusEvent) + 16u)
+ QEvent (0x7f9ac1078c40) 0
+ primary-for QFocusEvent (0x7f9ac1078bd0)
+
+Vtable for QPaintEvent
+QPaintEvent::_ZTV11QPaintEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QPaintEvent)
+16 QPaintEvent::~QPaintEvent
+24 QPaintEvent::~QPaintEvent
+
+Class QPaintEvent
+ size=56 align=8
+ base size=49 base align=8
+QPaintEvent (0x7f9ac1084620) 0
+ vptr=((& QPaintEvent::_ZTV11QPaintEvent) + 16u)
+ QEvent (0x7f9ac1084690) 0
+ primary-for QPaintEvent (0x7f9ac1084620)
+
+Vtable for QUpdateLaterEvent
+QUpdateLaterEvent::_ZTV17QUpdateLaterEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QUpdateLaterEvent)
+16 QUpdateLaterEvent::~QUpdateLaterEvent
+24 QUpdateLaterEvent::~QUpdateLaterEvent
+
+Class QUpdateLaterEvent
+ size=32 align=8
+ base size=32 base align=8
+QUpdateLaterEvent (0x7f9ac10932a0) 0
+ vptr=((& QUpdateLaterEvent::_ZTV17QUpdateLaterEvent) + 16u)
+ QEvent (0x7f9ac1093310) 0
+ primary-for QUpdateLaterEvent (0x7f9ac10932a0)
+
+Vtable for QMoveEvent
+QMoveEvent::_ZTV10QMoveEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QMoveEvent)
+16 QMoveEvent::~QMoveEvent
+24 QMoveEvent::~QMoveEvent
+
+Class QMoveEvent
+ size=40 align=8
+ base size=36 base align=8
+QMoveEvent (0x7f9ac1093700) 0
+ vptr=((& QMoveEvent::_ZTV10QMoveEvent) + 16u)
+ QEvent (0x7f9ac1093770) 0
+ primary-for QMoveEvent (0x7f9ac1093700)
+
+Vtable for QResizeEvent
+QResizeEvent::_ZTV12QResizeEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QResizeEvent)
+16 QResizeEvent::~QResizeEvent
+24 QResizeEvent::~QResizeEvent
+
+Class QResizeEvent
+ size=40 align=8
+ base size=36 base align=8
+QResizeEvent (0x7f9ac1093d90) 0
+ vptr=((& QResizeEvent::_ZTV12QResizeEvent) + 16u)
+ QEvent (0x7f9ac1093e00) 0
+ primary-for QResizeEvent (0x7f9ac1093d90)
+
+Vtable for QCloseEvent
+QCloseEvent::_ZTV11QCloseEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QCloseEvent)
+16 QCloseEvent::~QCloseEvent
+24 QCloseEvent::~QCloseEvent
+
+Class QCloseEvent
+ size=24 align=8
+ base size=20 base align=8
+QCloseEvent (0x7f9ac10a1310) 0
+ vptr=((& QCloseEvent::_ZTV11QCloseEvent) + 16u)
+ QEvent (0x7f9ac10a1380) 0
+ primary-for QCloseEvent (0x7f9ac10a1310)
+
+Vtable for QIconDragEvent
+QIconDragEvent::_ZTV14QIconDragEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QIconDragEvent)
+16 QIconDragEvent::~QIconDragEvent
+24 QIconDragEvent::~QIconDragEvent
+
+Class QIconDragEvent
+ size=24 align=8
+ base size=20 base align=8
+QIconDragEvent (0x7f9ac10a1540) 0
+ vptr=((& QIconDragEvent::_ZTV14QIconDragEvent) + 16u)
+ QEvent (0x7f9ac10a15b0) 0
+ primary-for QIconDragEvent (0x7f9ac10a1540)
+
+Vtable for QShowEvent
+QShowEvent::_ZTV10QShowEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QShowEvent)
+16 QShowEvent::~QShowEvent
+24 QShowEvent::~QShowEvent
+
+Class QShowEvent
+ size=24 align=8
+ base size=20 base align=8
+QShowEvent (0x7f9ac10a1770) 0
+ vptr=((& QShowEvent::_ZTV10QShowEvent) + 16u)
+ QEvent (0x7f9ac10a17e0) 0
+ primary-for QShowEvent (0x7f9ac10a1770)
+
+Vtable for QHideEvent
+QHideEvent::_ZTV10QHideEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QHideEvent)
+16 QHideEvent::~QHideEvent
+24 QHideEvent::~QHideEvent
+
+Class QHideEvent
+ size=24 align=8
+ base size=20 base align=8
+QHideEvent (0x7f9ac10a19a0) 0
+ vptr=((& QHideEvent::_ZTV10QHideEvent) + 16u)
+ QEvent (0x7f9ac10a1a10) 0
+ primary-for QHideEvent (0x7f9ac10a19a0)
+
+Vtable for QContextMenuEvent
+QContextMenuEvent::_ZTV17QContextMenuEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QContextMenuEvent)
+16 QContextMenuEvent::~QContextMenuEvent
+24 QContextMenuEvent::~QContextMenuEvent
+
+Class QContextMenuEvent
+ size=48 align=8
+ base size=41 base align=8
+QContextMenuEvent (0x7f9ac10a1bd0) 0
+ vptr=((& QContextMenuEvent::_ZTV17QContextMenuEvent) + 16u)
+ QInputEvent (0x7f9ac10a1c40) 0
+ primary-for QContextMenuEvent (0x7f9ac10a1bd0)
+ QEvent (0x7f9ac10a1cb0) 0
+ primary-for QInputEvent (0x7f9ac10a1c40)
+
+Class QInputMethodEvent::Attribute
+ size=32 align=8
+ base size=32 base align=8
+QInputMethodEvent::Attribute (0x7f9ac10bc770) 0
+
+Vtable for QInputMethodEvent
+QInputMethodEvent::_ZTV17QInputMethodEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QInputMethodEvent)
+16 QInputMethodEvent::~QInputMethodEvent
+24 QInputMethodEvent::~QInputMethodEvent
+
+Class QInputMethodEvent
+ size=56 align=8
+ base size=56 base align=8
+QInputMethodEvent (0x7f9ac10bc690) 0
+ vptr=((& QInputMethodEvent::_ZTV17QInputMethodEvent) + 16u)
+ QEvent (0x7f9ac10bc700) 0
+ primary-for QInputMethodEvent (0x7f9ac10bc690)
+
+Vtable for QDropEvent
+QDropEvent::_ZTV10QDropEvent: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QDropEvent)
+16 QDropEvent::~QDropEvent
+24 QDropEvent::~QDropEvent
+32 QDropEvent::format
+40 QDropEvent::encodedData
+48 QDropEvent::provides
+56 (int (*)(...))-0x00000000000000018
+64 (int (*)(...))(& _ZTI10QDropEvent)
+72 QDropEvent::_ZThn24_N10QDropEventD1Ev
+80 QDropEvent::_ZThn24_N10QDropEventD0Ev
+88 QDropEvent::_ZThn24_NK10QDropEvent6formatEi
+96 QDropEvent::_ZThn24_NK10QDropEvent8providesEPKc
+104 QDropEvent::_ZThn24_NK10QDropEvent11encodedDataEPKc
+
+Class QDropEvent
+ size=80 align=8
+ base size=80 base align=8
+QDropEvent (0x7f9ac10cae80) 0
+ vptr=((& QDropEvent::_ZTV10QDropEvent) + 16u)
+ QEvent (0x7f9ac10f5e70) 0
+ primary-for QDropEvent (0x7f9ac10cae80)
+ QMimeSource (0x7f9ac10f5ee0) 24 nearly-empty
+ vptr=((& QDropEvent::_ZTV10QDropEvent) + 72u)
+
+Vtable for QDragMoveEvent
+QDragMoveEvent::_ZTV14QDragMoveEvent: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QDragMoveEvent)
+16 QDragMoveEvent::~QDragMoveEvent
+24 QDragMoveEvent::~QDragMoveEvent
+32 QDropEvent::format
+40 QDropEvent::encodedData
+48 QDropEvent::provides
+56 (int (*)(...))-0x00000000000000018
+64 (int (*)(...))(& _ZTI14QDragMoveEvent)
+72 QDragMoveEvent::_ZThn24_N14QDragMoveEventD1Ev
+80 QDragMoveEvent::_ZThn24_N14QDragMoveEventD0Ev
+88 QDropEvent::_ZThn24_NK10QDropEvent6formatEi
+96 QDropEvent::_ZThn24_NK10QDropEvent8providesEPKc
+104 QDropEvent::_ZThn24_NK10QDropEvent11encodedDataEPKc
+
+Class QDragMoveEvent
+ size=96 align=8
+ base size=96 base align=8
+QDragMoveEvent (0x7f9ac1110bd0) 0
+ vptr=((& QDragMoveEvent::_ZTV14QDragMoveEvent) + 16u)
+ QDropEvent (0x7f9ac1113580) 0
+ primary-for QDragMoveEvent (0x7f9ac1110bd0)
+ QEvent (0x7f9ac1110c40) 0
+ primary-for QDropEvent (0x7f9ac1113580)
+ QMimeSource (0x7f9ac1110cb0) 24 nearly-empty
+ vptr=((& QDragMoveEvent::_ZTV14QDragMoveEvent) + 72u)
+
+Vtable for QDragEnterEvent
+QDragEnterEvent::_ZTV15QDragEnterEvent: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QDragEnterEvent)
+16 QDragEnterEvent::~QDragEnterEvent
+24 QDragEnterEvent::~QDragEnterEvent
+32 QDropEvent::format
+40 QDropEvent::encodedData
+48 QDropEvent::provides
+56 (int (*)(...))-0x00000000000000018
+64 (int (*)(...))(& _ZTI15QDragEnterEvent)
+72 QDragEnterEvent::_ZThn24_N15QDragEnterEventD1Ev
+80 QDragEnterEvent::_ZThn24_N15QDragEnterEventD0Ev
+88 QDropEvent::_ZThn24_NK10QDropEvent6formatEi
+96 QDropEvent::_ZThn24_NK10QDropEvent8providesEPKc
+104 QDropEvent::_ZThn24_NK10QDropEvent11encodedDataEPKc
+
+Class QDragEnterEvent
+ size=96 align=8
+ base size=96 base align=8
+QDragEnterEvent (0x7f9ac1122380) 0
+ vptr=((& QDragEnterEvent::_ZTV15QDragEnterEvent) + 16u)
+ QDragMoveEvent (0x7f9ac11223f0) 0
+ primary-for QDragEnterEvent (0x7f9ac1122380)
+ QDropEvent (0x7f9ac1113f00) 0
+ primary-for QDragMoveEvent (0x7f9ac11223f0)
+ QEvent (0x7f9ac1122460) 0
+ primary-for QDropEvent (0x7f9ac1113f00)
+ QMimeSource (0x7f9ac11224d0) 24 nearly-empty
+ vptr=((& QDragEnterEvent::_ZTV15QDragEnterEvent) + 72u)
+
+Vtable for QDragResponseEvent
+QDragResponseEvent::_ZTV18QDragResponseEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QDragResponseEvent)
+16 QDragResponseEvent::~QDragResponseEvent
+24 QDragResponseEvent::~QDragResponseEvent
+
+Class QDragResponseEvent
+ size=24 align=8
+ base size=21 base align=8
+QDragResponseEvent (0x7f9ac1122690) 0
+ vptr=((& QDragResponseEvent::_ZTV18QDragResponseEvent) + 16u)
+ QEvent (0x7f9ac1122700) 0
+ primary-for QDragResponseEvent (0x7f9ac1122690)
+
+Vtable for QDragLeaveEvent
+QDragLeaveEvent::_ZTV15QDragLeaveEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QDragLeaveEvent)
+16 QDragLeaveEvent::~QDragLeaveEvent
+24 QDragLeaveEvent::~QDragLeaveEvent
+
+Class QDragLeaveEvent
+ size=24 align=8
+ base size=20 base align=8
+QDragLeaveEvent (0x7f9ac1122af0) 0
+ vptr=((& QDragLeaveEvent::_ZTV15QDragLeaveEvent) + 16u)
+ QEvent (0x7f9ac1122b60) 0
+ primary-for QDragLeaveEvent (0x7f9ac1122af0)
+
+Vtable for QHelpEvent
+QHelpEvent::_ZTV10QHelpEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QHelpEvent)
+16 QHelpEvent::~QHelpEvent
+24 QHelpEvent::~QHelpEvent
+
+Class QHelpEvent
+ size=40 align=8
+ base size=36 base align=8
+QHelpEvent (0x7f9ac1122d20) 0
+ vptr=((& QHelpEvent::_ZTV10QHelpEvent) + 16u)
+ QEvent (0x7f9ac1122d90) 0
+ primary-for QHelpEvent (0x7f9ac1122d20)
+
+Vtable for QStatusTipEvent
+QStatusTipEvent::_ZTV15QStatusTipEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QStatusTipEvent)
+16 QStatusTipEvent::~QStatusTipEvent
+24 QStatusTipEvent::~QStatusTipEvent
+
+Class QStatusTipEvent
+ size=32 align=8
+ base size=32 base align=8
+QStatusTipEvent (0x7f9ac1134d90) 0
+ vptr=((& QStatusTipEvent::_ZTV15QStatusTipEvent) + 16u)
+ QEvent (0x7f9ac1134e00) 0
+ primary-for QStatusTipEvent (0x7f9ac1134d90)
+
+Vtable for QWhatsThisClickedEvent
+QWhatsThisClickedEvent::_ZTV22QWhatsThisClickedEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI22QWhatsThisClickedEvent)
+16 QWhatsThisClickedEvent::~QWhatsThisClickedEvent
+24 QWhatsThisClickedEvent::~QWhatsThisClickedEvent
+
+Class QWhatsThisClickedEvent
+ size=32 align=8
+ base size=32 base align=8
+QWhatsThisClickedEvent (0x7f9ac113a230) 0
+ vptr=((& QWhatsThisClickedEvent::_ZTV22QWhatsThisClickedEvent) + 16u)
+ QEvent (0x7f9ac113a2a0) 0
+ primary-for QWhatsThisClickedEvent (0x7f9ac113a230)
+
+Vtable for QActionEvent
+QActionEvent::_ZTV12QActionEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QActionEvent)
+16 QActionEvent::~QActionEvent
+24 QActionEvent::~QActionEvent
+
+Class QActionEvent
+ size=40 align=8
+ base size=40 base align=8
+QActionEvent (0x7f9ac113a700) 0
+ vptr=((& QActionEvent::_ZTV12QActionEvent) + 16u)
+ QEvent (0x7f9ac113a770) 0
+ primary-for QActionEvent (0x7f9ac113a700)
+
+Vtable for QFileOpenEvent
+QFileOpenEvent::_ZTV14QFileOpenEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QFileOpenEvent)
+16 QFileOpenEvent::~QFileOpenEvent
+24 QFileOpenEvent::~QFileOpenEvent
+
+Class QFileOpenEvent
+ size=32 align=8
+ base size=32 base align=8
+QFileOpenEvent (0x7f9ac113ad90) 0
+ vptr=((& QFileOpenEvent::_ZTV14QFileOpenEvent) + 16u)
+ QEvent (0x7f9ac113ae00) 0
+ primary-for QFileOpenEvent (0x7f9ac113ad90)
+
+Vtable for QToolBarChangeEvent
+QToolBarChangeEvent::_ZTV19QToolBarChangeEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QToolBarChangeEvent)
+16 QToolBarChangeEvent::~QToolBarChangeEvent
+24 QToolBarChangeEvent::~QToolBarChangeEvent
+
+Class QToolBarChangeEvent
+ size=24 align=8
+ base size=21 base align=8
+QToolBarChangeEvent (0x7f9ac114c1c0) 0
+ vptr=((& QToolBarChangeEvent::_ZTV19QToolBarChangeEvent) + 16u)
+ QEvent (0x7f9ac114c230) 0
+ primary-for QToolBarChangeEvent (0x7f9ac114c1c0)
+
+Vtable for QShortcutEvent
+QShortcutEvent::_ZTV14QShortcutEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QShortcutEvent)
+16 QShortcutEvent::~QShortcutEvent
+24 QShortcutEvent::~QShortcutEvent
+
+Class QShortcutEvent
+ size=40 align=8
+ base size=40 base align=8
+QShortcutEvent (0x7f9ac114c700) 0
+ vptr=((& QShortcutEvent::_ZTV14QShortcutEvent) + 16u)
+ QEvent (0x7f9ac114c770) 0
+ primary-for QShortcutEvent (0x7f9ac114c700)
+
+Vtable for QClipboardEvent
+QClipboardEvent::_ZTV15QClipboardEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QClipboardEvent)
+16 QClipboardEvent::~QClipboardEvent
+24 QClipboardEvent::~QClipboardEvent
+
+Class QClipboardEvent
+ size=24 align=8
+ base size=20 base align=8
+QClipboardEvent (0x7f9ac115a5b0) 0
+ vptr=((& QClipboardEvent::_ZTV15QClipboardEvent) + 16u)
+ QEvent (0x7f9ac115a620) 0
+ primary-for QClipboardEvent (0x7f9ac115a5b0)
+
+Vtable for QWindowStateChangeEvent
+QWindowStateChangeEvent::_ZTV23QWindowStateChangeEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI23QWindowStateChangeEvent)
+16 QWindowStateChangeEvent::~QWindowStateChangeEvent
+24 QWindowStateChangeEvent::~QWindowStateChangeEvent
+
+Class QWindowStateChangeEvent
+ size=24 align=8
+ base size=24 base align=8
+QWindowStateChangeEvent (0x7f9ac115aa10) 0
+ vptr=((& QWindowStateChangeEvent::_ZTV23QWindowStateChangeEvent) + 16u)
+ QEvent (0x7f9ac115aa80) 0
+ primary-for QWindowStateChangeEvent (0x7f9ac115aa10)
+
+Vtable for QMenubarUpdatedEvent
+QMenubarUpdatedEvent::_ZTV20QMenubarUpdatedEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI20QMenubarUpdatedEvent)
+16 QMenubarUpdatedEvent::~QMenubarUpdatedEvent
+24 QMenubarUpdatedEvent::~QMenubarUpdatedEvent
+
+Class QMenubarUpdatedEvent
+ size=32 align=8
+ base size=32 base align=8
+QMenubarUpdatedEvent (0x7f9ac115af50) 0
+ vptr=((& QMenubarUpdatedEvent::_ZTV20QMenubarUpdatedEvent) + 16u)
+ QEvent (0x7f9ac115a770) 0
+ primary-for QMenubarUpdatedEvent (0x7f9ac115af50)
+
+Class QTouchEvent::TouchPoint
+ size=8 align=8
+ base size=8 base align=8
+QTouchEvent::TouchPoint (0x7f9ac1168af0) 0
+
+Vtable for QTouchEvent
+QTouchEvent::_ZTV11QTouchEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QTouchEvent)
+16 QTouchEvent::~QTouchEvent
+24 QTouchEvent::~QTouchEvent
+
+Class QTouchEvent
+ size=48 align=8
+ base size=48 base align=8
+QTouchEvent (0x7f9ac11689a0) 0
+ vptr=((& QTouchEvent::_ZTV11QTouchEvent) + 16u)
+ QInputEvent (0x7f9ac1168a10) 0
+ primary-for QTouchEvent (0x7f9ac11689a0)
+ QEvent (0x7f9ac1168a80) 0
+ primary-for QInputEvent (0x7f9ac1168a10)
+
+Vtable for QGestureEvent
+QGestureEvent::_ZTV13QGestureEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QGestureEvent)
+16 QGestureEvent::~QGestureEvent
+24 QGestureEvent::~QGestureEvent
+
+Class QGestureEvent
+ size=24 align=8
+ base size=20 base align=8
+QGestureEvent (0x7f9ac0fb3000) 0
+ vptr=((& QGestureEvent::_ZTV13QGestureEvent) + 16u)
+ QEvent (0x7f9ac0fb3070) 0
+ primary-for QGestureEvent (0x7f9ac0fb3000)
+
+Vtable for QGraphicsLayoutItem
+QGraphicsLayoutItem::_ZTV19QGraphicsLayoutItem: 8u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QGraphicsLayoutItem)
+16 QGraphicsLayoutItem::~QGraphicsLayoutItem
+24 QGraphicsLayoutItem::~QGraphicsLayoutItem
+32 QGraphicsLayoutItem::setGeometry
+40 QGraphicsLayoutItem::getContentsMargins
+48 QGraphicsLayoutItem::updateGeometry
+56 __cxa_pure_virtual
+
+Class QGraphicsLayoutItem
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsLayoutItem (0x7f9ac0fb35b0) 0
+ vptr=((& QGraphicsLayoutItem::_ZTV19QGraphicsLayoutItem) + 16u)
+
+Vtable for QGraphicsItem
+QGraphicsItem::_ZTV13QGraphicsItem: 39u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QGraphicsItem)
+16 QGraphicsItem::~QGraphicsItem
+24 QGraphicsItem::~QGraphicsItem
+32 QGraphicsItem::advance
+40 __cxa_pure_virtual
+48 QGraphicsItem::shape
+56 QGraphicsItem::contains
+64 QGraphicsItem::collidesWithItem
+72 QGraphicsItem::collidesWithPath
+80 QGraphicsItem::isObscuredBy
+88 QGraphicsItem::opaqueArea
+96 __cxa_pure_virtual
+104 QGraphicsItem::type
+112 QGraphicsItem::sceneEventFilter
+120 QGraphicsItem::sceneEvent
+128 QGraphicsItem::contextMenuEvent
+136 QGraphicsItem::dragEnterEvent
+144 QGraphicsItem::dragLeaveEvent
+152 QGraphicsItem::dragMoveEvent
+160 QGraphicsItem::dropEvent
+168 QGraphicsItem::focusInEvent
+176 QGraphicsItem::focusOutEvent
+184 QGraphicsItem::hoverEnterEvent
+192 QGraphicsItem::hoverMoveEvent
+200 QGraphicsItem::hoverLeaveEvent
+208 QGraphicsItem::keyPressEvent
+216 QGraphicsItem::keyReleaseEvent
+224 QGraphicsItem::mousePressEvent
+232 QGraphicsItem::mouseMoveEvent
+240 QGraphicsItem::mouseReleaseEvent
+248 QGraphicsItem::mouseDoubleClickEvent
+256 QGraphicsItem::wheelEvent
+264 QGraphicsItem::inputMethodEvent
+272 QGraphicsItem::inputMethodQuery
+280 QGraphicsItem::itemChange
+288 QGraphicsItem::supportsExtension
+296 QGraphicsItem::setExtension
+304 QGraphicsItem::extension
+
+Class QGraphicsItem
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsItem (0x7f9ac0fe9d20) 0
+ vptr=((& QGraphicsItem::_ZTV13QGraphicsItem) + 16u)
+
+Vtable for QGraphicsObject
+QGraphicsObject::_ZTV15QGraphicsObject: 53u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QGraphicsObject)
+16 QGraphicsObject::metaObject
+24 QGraphicsObject::qt_metacast
+32 QGraphicsObject::qt_metacall
+40 QGraphicsObject::~QGraphicsObject
+48 QGraphicsObject::~QGraphicsObject
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 (int (*)(...))-0x00000000000000010
+120 (int (*)(...))(& _ZTI15QGraphicsObject)
+128 QGraphicsObject::_ZThn16_N15QGraphicsObjectD1Ev
+136 QGraphicsObject::_ZThn16_N15QGraphicsObjectD0Ev
+144 QGraphicsItem::advance
+152 __cxa_pure_virtual
+160 QGraphicsItem::shape
+168 QGraphicsItem::contains
+176 QGraphicsItem::collidesWithItem
+184 QGraphicsItem::collidesWithPath
+192 QGraphicsItem::isObscuredBy
+200 QGraphicsItem::opaqueArea
+208 __cxa_pure_virtual
+216 QGraphicsItem::type
+224 QGraphicsItem::sceneEventFilter
+232 QGraphicsItem::sceneEvent
+240 QGraphicsItem::contextMenuEvent
+248 QGraphicsItem::dragEnterEvent
+256 QGraphicsItem::dragLeaveEvent
+264 QGraphicsItem::dragMoveEvent
+272 QGraphicsItem::dropEvent
+280 QGraphicsItem::focusInEvent
+288 QGraphicsItem::focusOutEvent
+296 QGraphicsItem::hoverEnterEvent
+304 QGraphicsItem::hoverMoveEvent
+312 QGraphicsItem::hoverLeaveEvent
+320 QGraphicsItem::keyPressEvent
+328 QGraphicsItem::keyReleaseEvent
+336 QGraphicsItem::mousePressEvent
+344 QGraphicsItem::mouseMoveEvent
+352 QGraphicsItem::mouseReleaseEvent
+360 QGraphicsItem::mouseDoubleClickEvent
+368 QGraphicsItem::wheelEvent
+376 QGraphicsItem::inputMethodEvent
+384 QGraphicsItem::inputMethodQuery
+392 QGraphicsItem::itemChange
+400 QGraphicsItem::supportsExtension
+408 QGraphicsItem::setExtension
+416 QGraphicsItem::extension
+
+Class QGraphicsObject
+ size=32 align=8
+ base size=32 base align=8
+QGraphicsObject (0x7f9ac0ebf880) 0
+ vptr=((& QGraphicsObject::_ZTV15QGraphicsObject) + 16u)
+ QObject (0x7f9ac0ec3d20) 0
+ primary-for QGraphicsObject (0x7f9ac0ebf880)
+ QGraphicsItem (0x7f9ac0ec3d90) 16
+ vptr=((& QGraphicsObject::_ZTV15QGraphicsObject) + 128u)
+
+Vtable for QAbstractGraphicsShapeItem
+QAbstractGraphicsShapeItem::_ZTV26QAbstractGraphicsShapeItem: 39u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI26QAbstractGraphicsShapeItem)
+16 QAbstractGraphicsShapeItem::~QAbstractGraphicsShapeItem
+24 QAbstractGraphicsShapeItem::~QAbstractGraphicsShapeItem
+32 QGraphicsItem::advance
+40 __cxa_pure_virtual
+48 QGraphicsItem::shape
+56 QGraphicsItem::contains
+64 QGraphicsItem::collidesWithItem
+72 QGraphicsItem::collidesWithPath
+80 QAbstractGraphicsShapeItem::isObscuredBy
+88 QAbstractGraphicsShapeItem::opaqueArea
+96 __cxa_pure_virtual
+104 QGraphicsItem::type
+112 QGraphicsItem::sceneEventFilter
+120 QGraphicsItem::sceneEvent
+128 QGraphicsItem::contextMenuEvent
+136 QGraphicsItem::dragEnterEvent
+144 QGraphicsItem::dragLeaveEvent
+152 QGraphicsItem::dragMoveEvent
+160 QGraphicsItem::dropEvent
+168 QGraphicsItem::focusInEvent
+176 QGraphicsItem::focusOutEvent
+184 QGraphicsItem::hoverEnterEvent
+192 QGraphicsItem::hoverMoveEvent
+200 QGraphicsItem::hoverLeaveEvent
+208 QGraphicsItem::keyPressEvent
+216 QGraphicsItem::keyReleaseEvent
+224 QGraphicsItem::mousePressEvent
+232 QGraphicsItem::mouseMoveEvent
+240 QGraphicsItem::mouseReleaseEvent
+248 QGraphicsItem::mouseDoubleClickEvent
+256 QGraphicsItem::wheelEvent
+264 QGraphicsItem::inputMethodEvent
+272 QGraphicsItem::inputMethodQuery
+280 QGraphicsItem::itemChange
+288 QGraphicsItem::supportsExtension
+296 QGraphicsItem::setExtension
+304 QGraphicsItem::extension
+
+Class QAbstractGraphicsShapeItem
+ size=16 align=8
+ base size=16 base align=8
+QAbstractGraphicsShapeItem (0x7f9ac0ed0e70) 0
+ vptr=((& QAbstractGraphicsShapeItem::_ZTV26QAbstractGraphicsShapeItem) + 16u)
+ QGraphicsItem (0x7f9ac0ed0ee0) 0
+ primary-for QAbstractGraphicsShapeItem (0x7f9ac0ed0e70)
+
+Vtable for QGraphicsPathItem
+QGraphicsPathItem::_ZTV17QGraphicsPathItem: 39u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QGraphicsPathItem)
+16 QGraphicsPathItem::~QGraphicsPathItem
+24 QGraphicsPathItem::~QGraphicsPathItem
+32 QGraphicsItem::advance
+40 QGraphicsPathItem::boundingRect
+48 QGraphicsPathItem::shape
+56 QGraphicsPathItem::contains
+64 QGraphicsItem::collidesWithItem
+72 QGraphicsItem::collidesWithPath
+80 QGraphicsPathItem::isObscuredBy
+88 QGraphicsPathItem::opaqueArea
+96 QGraphicsPathItem::paint
+104 QGraphicsPathItem::type
+112 QGraphicsItem::sceneEventFilter
+120 QGraphicsItem::sceneEvent
+128 QGraphicsItem::contextMenuEvent
+136 QGraphicsItem::dragEnterEvent
+144 QGraphicsItem::dragLeaveEvent
+152 QGraphicsItem::dragMoveEvent
+160 QGraphicsItem::dropEvent
+168 QGraphicsItem::focusInEvent
+176 QGraphicsItem::focusOutEvent
+184 QGraphicsItem::hoverEnterEvent
+192 QGraphicsItem::hoverMoveEvent
+200 QGraphicsItem::hoverLeaveEvent
+208 QGraphicsItem::keyPressEvent
+216 QGraphicsItem::keyReleaseEvent
+224 QGraphicsItem::mousePressEvent
+232 QGraphicsItem::mouseMoveEvent
+240 QGraphicsItem::mouseReleaseEvent
+248 QGraphicsItem::mouseDoubleClickEvent
+256 QGraphicsItem::wheelEvent
+264 QGraphicsItem::inputMethodEvent
+272 QGraphicsItem::inputMethodQuery
+280 QGraphicsItem::itemChange
+288 QGraphicsPathItem::supportsExtension
+296 QGraphicsPathItem::setExtension
+304 QGraphicsPathItem::extension
+
+Class QGraphicsPathItem
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsPathItem (0x7f9ac0ee3cb0) 0
+ vptr=((& QGraphicsPathItem::_ZTV17QGraphicsPathItem) + 16u)
+ QAbstractGraphicsShapeItem (0x7f9ac0ee3d20) 0
+ primary-for QGraphicsPathItem (0x7f9ac0ee3cb0)
+ QGraphicsItem (0x7f9ac0ee3d90) 0
+ primary-for QAbstractGraphicsShapeItem (0x7f9ac0ee3d20)
+
+Vtable for QGraphicsRectItem
+QGraphicsRectItem::_ZTV17QGraphicsRectItem: 39u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QGraphicsRectItem)
+16 QGraphicsRectItem::~QGraphicsRectItem
+24 QGraphicsRectItem::~QGraphicsRectItem
+32 QGraphicsItem::advance
+40 QGraphicsRectItem::boundingRect
+48 QGraphicsRectItem::shape
+56 QGraphicsRectItem::contains
+64 QGraphicsItem::collidesWithItem
+72 QGraphicsItem::collidesWithPath
+80 QGraphicsRectItem::isObscuredBy
+88 QGraphicsRectItem::opaqueArea
+96 QGraphicsRectItem::paint
+104 QGraphicsRectItem::type
+112 QGraphicsItem::sceneEventFilter
+120 QGraphicsItem::sceneEvent
+128 QGraphicsItem::contextMenuEvent
+136 QGraphicsItem::dragEnterEvent
+144 QGraphicsItem::dragLeaveEvent
+152 QGraphicsItem::dragMoveEvent
+160 QGraphicsItem::dropEvent
+168 QGraphicsItem::focusInEvent
+176 QGraphicsItem::focusOutEvent
+184 QGraphicsItem::hoverEnterEvent
+192 QGraphicsItem::hoverMoveEvent
+200 QGraphicsItem::hoverLeaveEvent
+208 QGraphicsItem::keyPressEvent
+216 QGraphicsItem::keyReleaseEvent
+224 QGraphicsItem::mousePressEvent
+232 QGraphicsItem::mouseMoveEvent
+240 QGraphicsItem::mouseReleaseEvent
+248 QGraphicsItem::mouseDoubleClickEvent
+256 QGraphicsItem::wheelEvent
+264 QGraphicsItem::inputMethodEvent
+272 QGraphicsItem::inputMethodQuery
+280 QGraphicsItem::itemChange
+288 QGraphicsRectItem::supportsExtension
+296 QGraphicsRectItem::setExtension
+304 QGraphicsRectItem::extension
+
+Class QGraphicsRectItem
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsRectItem (0x7f9ac0ef1c40) 0
+ vptr=((& QGraphicsRectItem::_ZTV17QGraphicsRectItem) + 16u)
+ QAbstractGraphicsShapeItem (0x7f9ac0ef1cb0) 0
+ primary-for QGraphicsRectItem (0x7f9ac0ef1c40)
+ QGraphicsItem (0x7f9ac0ef1d20) 0
+ primary-for QAbstractGraphicsShapeItem (0x7f9ac0ef1cb0)
+
+Vtable for QGraphicsEllipseItem
+QGraphicsEllipseItem::_ZTV20QGraphicsEllipseItem: 39u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI20QGraphicsEllipseItem)
+16 QGraphicsEllipseItem::~QGraphicsEllipseItem
+24 QGraphicsEllipseItem::~QGraphicsEllipseItem
+32 QGraphicsItem::advance
+40 QGraphicsEllipseItem::boundingRect
+48 QGraphicsEllipseItem::shape
+56 QGraphicsEllipseItem::contains
+64 QGraphicsItem::collidesWithItem
+72 QGraphicsItem::collidesWithPath
+80 QGraphicsEllipseItem::isObscuredBy
+88 QGraphicsEllipseItem::opaqueArea
+96 QGraphicsEllipseItem::paint
+104 QGraphicsEllipseItem::type
+112 QGraphicsItem::sceneEventFilter
+120 QGraphicsItem::sceneEvent
+128 QGraphicsItem::contextMenuEvent
+136 QGraphicsItem::dragEnterEvent
+144 QGraphicsItem::dragLeaveEvent
+152 QGraphicsItem::dragMoveEvent
+160 QGraphicsItem::dropEvent
+168 QGraphicsItem::focusInEvent
+176 QGraphicsItem::focusOutEvent
+184 QGraphicsItem::hoverEnterEvent
+192 QGraphicsItem::hoverMoveEvent
+200 QGraphicsItem::hoverLeaveEvent
+208 QGraphicsItem::keyPressEvent
+216 QGraphicsItem::keyReleaseEvent
+224 QGraphicsItem::mousePressEvent
+232 QGraphicsItem::mouseMoveEvent
+240 QGraphicsItem::mouseReleaseEvent
+248 QGraphicsItem::mouseDoubleClickEvent
+256 QGraphicsItem::wheelEvent
+264 QGraphicsItem::inputMethodEvent
+272 QGraphicsItem::inputMethodQuery
+280 QGraphicsItem::itemChange
+288 QGraphicsEllipseItem::supportsExtension
+296 QGraphicsEllipseItem::setExtension
+304 QGraphicsEllipseItem::extension
+
+Class QGraphicsEllipseItem
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsEllipseItem (0x7f9ac0f02f50) 0
+ vptr=((& QGraphicsEllipseItem::_ZTV20QGraphicsEllipseItem) + 16u)
+ QAbstractGraphicsShapeItem (0x7f9ac0f02700) 0
+ primary-for QGraphicsEllipseItem (0x7f9ac0f02f50)
+ QGraphicsItem (0x7f9ac0f16000) 0
+ primary-for QAbstractGraphicsShapeItem (0x7f9ac0f02700)
+
+Vtable for QGraphicsPolygonItem
+QGraphicsPolygonItem::_ZTV20QGraphicsPolygonItem: 39u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI20QGraphicsPolygonItem)
+16 QGraphicsPolygonItem::~QGraphicsPolygonItem
+24 QGraphicsPolygonItem::~QGraphicsPolygonItem
+32 QGraphicsItem::advance
+40 QGraphicsPolygonItem::boundingRect
+48 QGraphicsPolygonItem::shape
+56 QGraphicsPolygonItem::contains
+64 QGraphicsItem::collidesWithItem
+72 QGraphicsItem::collidesWithPath
+80 QGraphicsPolygonItem::isObscuredBy
+88 QGraphicsPolygonItem::opaqueArea
+96 QGraphicsPolygonItem::paint
+104 QGraphicsPolygonItem::type
+112 QGraphicsItem::sceneEventFilter
+120 QGraphicsItem::sceneEvent
+128 QGraphicsItem::contextMenuEvent
+136 QGraphicsItem::dragEnterEvent
+144 QGraphicsItem::dragLeaveEvent
+152 QGraphicsItem::dragMoveEvent
+160 QGraphicsItem::dropEvent
+168 QGraphicsItem::focusInEvent
+176 QGraphicsItem::focusOutEvent
+184 QGraphicsItem::hoverEnterEvent
+192 QGraphicsItem::hoverMoveEvent
+200 QGraphicsItem::hoverLeaveEvent
+208 QGraphicsItem::keyPressEvent
+216 QGraphicsItem::keyReleaseEvent
+224 QGraphicsItem::mousePressEvent
+232 QGraphicsItem::mouseMoveEvent
+240 QGraphicsItem::mouseReleaseEvent
+248 QGraphicsItem::mouseDoubleClickEvent
+256 QGraphicsItem::wheelEvent
+264 QGraphicsItem::inputMethodEvent
+272 QGraphicsItem::inputMethodQuery
+280 QGraphicsItem::itemChange
+288 QGraphicsPolygonItem::supportsExtension
+296 QGraphicsPolygonItem::setExtension
+304 QGraphicsPolygonItem::extension
+
+Class QGraphicsPolygonItem
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsPolygonItem (0x7f9ac0f2b230) 0
+ vptr=((& QGraphicsPolygonItem::_ZTV20QGraphicsPolygonItem) + 16u)
+ QAbstractGraphicsShapeItem (0x7f9ac0f2b2a0) 0
+ primary-for QGraphicsPolygonItem (0x7f9ac0f2b230)
+ QGraphicsItem (0x7f9ac0f2b310) 0
+ primary-for QAbstractGraphicsShapeItem (0x7f9ac0f2b2a0)
+
+Vtable for QGraphicsLineItem
+QGraphicsLineItem::_ZTV17QGraphicsLineItem: 39u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QGraphicsLineItem)
+16 QGraphicsLineItem::~QGraphicsLineItem
+24 QGraphicsLineItem::~QGraphicsLineItem
+32 QGraphicsItem::advance
+40 QGraphicsLineItem::boundingRect
+48 QGraphicsLineItem::shape
+56 QGraphicsLineItem::contains
+64 QGraphicsItem::collidesWithItem
+72 QGraphicsItem::collidesWithPath
+80 QGraphicsLineItem::isObscuredBy
+88 QGraphicsLineItem::opaqueArea
+96 QGraphicsLineItem::paint
+104 QGraphicsLineItem::type
+112 QGraphicsItem::sceneEventFilter
+120 QGraphicsItem::sceneEvent
+128 QGraphicsItem::contextMenuEvent
+136 QGraphicsItem::dragEnterEvent
+144 QGraphicsItem::dragLeaveEvent
+152 QGraphicsItem::dragMoveEvent
+160 QGraphicsItem::dropEvent
+168 QGraphicsItem::focusInEvent
+176 QGraphicsItem::focusOutEvent
+184 QGraphicsItem::hoverEnterEvent
+192 QGraphicsItem::hoverMoveEvent
+200 QGraphicsItem::hoverLeaveEvent
+208 QGraphicsItem::keyPressEvent
+216 QGraphicsItem::keyReleaseEvent
+224 QGraphicsItem::mousePressEvent
+232 QGraphicsItem::mouseMoveEvent
+240 QGraphicsItem::mouseReleaseEvent
+248 QGraphicsItem::mouseDoubleClickEvent
+256 QGraphicsItem::wheelEvent
+264 QGraphicsItem::inputMethodEvent
+272 QGraphicsItem::inputMethodQuery
+280 QGraphicsItem::itemChange
+288 QGraphicsLineItem::supportsExtension
+296 QGraphicsLineItem::setExtension
+304 QGraphicsLineItem::extension
+
+Class QGraphicsLineItem
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsLineItem (0x7f9ac0f3e1c0) 0
+ vptr=((& QGraphicsLineItem::_ZTV17QGraphicsLineItem) + 16u)
+ QGraphicsItem (0x7f9ac0f3e230) 0
+ primary-for QGraphicsLineItem (0x7f9ac0f3e1c0)
+
+Vtable for QGraphicsPixmapItem
+QGraphicsPixmapItem::_ZTV19QGraphicsPixmapItem: 39u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QGraphicsPixmapItem)
+16 QGraphicsPixmapItem::~QGraphicsPixmapItem
+24 QGraphicsPixmapItem::~QGraphicsPixmapItem
+32 QGraphicsItem::advance
+40 QGraphicsPixmapItem::boundingRect
+48 QGraphicsPixmapItem::shape
+56 QGraphicsPixmapItem::contains
+64 QGraphicsItem::collidesWithItem
+72 QGraphicsItem::collidesWithPath
+80 QGraphicsPixmapItem::isObscuredBy
+88 QGraphicsPixmapItem::opaqueArea
+96 QGraphicsPixmapItem::paint
+104 QGraphicsPixmapItem::type
+112 QGraphicsItem::sceneEventFilter
+120 QGraphicsItem::sceneEvent
+128 QGraphicsItem::contextMenuEvent
+136 QGraphicsItem::dragEnterEvent
+144 QGraphicsItem::dragLeaveEvent
+152 QGraphicsItem::dragMoveEvent
+160 QGraphicsItem::dropEvent
+168 QGraphicsItem::focusInEvent
+176 QGraphicsItem::focusOutEvent
+184 QGraphicsItem::hoverEnterEvent
+192 QGraphicsItem::hoverMoveEvent
+200 QGraphicsItem::hoverLeaveEvent
+208 QGraphicsItem::keyPressEvent
+216 QGraphicsItem::keyReleaseEvent
+224 QGraphicsItem::mousePressEvent
+232 QGraphicsItem::mouseMoveEvent
+240 QGraphicsItem::mouseReleaseEvent
+248 QGraphicsItem::mouseDoubleClickEvent
+256 QGraphicsItem::wheelEvent
+264 QGraphicsItem::inputMethodEvent
+272 QGraphicsItem::inputMethodQuery
+280 QGraphicsItem::itemChange
+288 QGraphicsPixmapItem::supportsExtension
+296 QGraphicsPixmapItem::setExtension
+304 QGraphicsPixmapItem::extension
+
+Class QGraphicsPixmapItem
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsPixmapItem (0x7f9ac0f50460) 0
+ vptr=((& QGraphicsPixmapItem::_ZTV19QGraphicsPixmapItem) + 16u)
+ QGraphicsItem (0x7f9ac0f504d0) 0
+ primary-for QGraphicsPixmapItem (0x7f9ac0f50460)
+
+Vtable for QGraphicsTextItem
+QGraphicsTextItem::_ZTV17QGraphicsTextItem: 82u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QGraphicsTextItem)
+16 QGraphicsTextItem::metaObject
+24 QGraphicsTextItem::qt_metacast
+32 QGraphicsTextItem::qt_metacall
+40 QGraphicsTextItem::~QGraphicsTextItem
+48 QGraphicsTextItem::~QGraphicsTextItem
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QGraphicsTextItem::boundingRect
+120 QGraphicsTextItem::shape
+128 QGraphicsTextItem::contains
+136 QGraphicsTextItem::paint
+144 QGraphicsTextItem::isObscuredBy
+152 QGraphicsTextItem::opaqueArea
+160 QGraphicsTextItem::type
+168 QGraphicsTextItem::sceneEvent
+176 QGraphicsTextItem::mousePressEvent
+184 QGraphicsTextItem::mouseMoveEvent
+192 QGraphicsTextItem::mouseReleaseEvent
+200 QGraphicsTextItem::mouseDoubleClickEvent
+208 QGraphicsTextItem::contextMenuEvent
+216 QGraphicsTextItem::keyPressEvent
+224 QGraphicsTextItem::keyReleaseEvent
+232 QGraphicsTextItem::focusInEvent
+240 QGraphicsTextItem::focusOutEvent
+248 QGraphicsTextItem::dragEnterEvent
+256 QGraphicsTextItem::dragLeaveEvent
+264 QGraphicsTextItem::dragMoveEvent
+272 QGraphicsTextItem::dropEvent
+280 QGraphicsTextItem::inputMethodEvent
+288 QGraphicsTextItem::hoverEnterEvent
+296 QGraphicsTextItem::hoverMoveEvent
+304 QGraphicsTextItem::hoverLeaveEvent
+312 QGraphicsTextItem::inputMethodQuery
+320 QGraphicsTextItem::supportsExtension
+328 QGraphicsTextItem::setExtension
+336 QGraphicsTextItem::extension
+344 (int (*)(...))-0x00000000000000010
+352 (int (*)(...))(& _ZTI17QGraphicsTextItem)
+360 QGraphicsTextItem::_ZThn16_N17QGraphicsTextItemD1Ev
+368 QGraphicsTextItem::_ZThn16_N17QGraphicsTextItemD0Ev
+376 QGraphicsItem::advance
+384 QGraphicsTextItem::_ZThn16_NK17QGraphicsTextItem12boundingRectEv
+392 QGraphicsTextItem::_ZThn16_NK17QGraphicsTextItem5shapeEv
+400 QGraphicsTextItem::_ZThn16_NK17QGraphicsTextItem8containsERK7QPointF
+408 QGraphicsItem::collidesWithItem
+416 QGraphicsItem::collidesWithPath
+424 QGraphicsTextItem::_ZThn16_NK17QGraphicsTextItem12isObscuredByEPK13QGraphicsItem
+432 QGraphicsTextItem::_ZThn16_NK17QGraphicsTextItem10opaqueAreaEv
+440 QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem5paintEP8QPainterPK24QStyleOptionGraphicsItemP7QWidget
+448 QGraphicsTextItem::_ZThn16_NK17QGraphicsTextItem4typeEv
+456 QGraphicsItem::sceneEventFilter
+464 QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem10sceneEventEP6QEvent
+472 QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem16contextMenuEventEP30QGraphicsSceneContextMenuEvent
+480 QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem14dragEnterEventEP27QGraphicsSceneDragDropEvent
+488 QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem14dragLeaveEventEP27QGraphicsSceneDragDropEvent
+496 QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem13dragMoveEventEP27QGraphicsSceneDragDropEvent
+504 QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem9dropEventEP27QGraphicsSceneDragDropEvent
+512 QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem12focusInEventEP11QFocusEvent
+520 QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem13focusOutEventEP11QFocusEvent
+528 QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem15hoverEnterEventEP24QGraphicsSceneHoverEvent
+536 QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem14hoverMoveEventEP24QGraphicsSceneHoverEvent
+544 QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem15hoverLeaveEventEP24QGraphicsSceneHoverEvent
+552 QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem13keyPressEventEP9QKeyEvent
+560 QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem15keyReleaseEventEP9QKeyEvent
+568 QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem15mousePressEventEP24QGraphicsSceneMouseEvent
+576 QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem14mouseMoveEventEP24QGraphicsSceneMouseEvent
+584 QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem17mouseReleaseEventEP24QGraphicsSceneMouseEvent
+592 QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem21mouseDoubleClickEventEP24QGraphicsSceneMouseEvent
+600 QGraphicsItem::wheelEvent
+608 QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem16inputMethodEventEP17QInputMethodEvent
+616 QGraphicsTextItem::_ZThn16_NK17QGraphicsTextItem16inputMethodQueryEN2Qt16InputMethodQueryE
+624 QGraphicsItem::itemChange
+632 QGraphicsTextItem::_ZThn16_NK17QGraphicsTextItem17supportsExtensionEN13QGraphicsItem9ExtensionE
+640 QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem12setExtensionEN13QGraphicsItem9ExtensionERK8QVariant
+648 QGraphicsTextItem::_ZThn16_NK17QGraphicsTextItem9extensionERK8QVariant
+
+Class QGraphicsTextItem
+ size=40 align=8
+ base size=40 base align=8
+QGraphicsTextItem (0x7f9ac0f63700) 0
+ vptr=((& QGraphicsTextItem::_ZTV17QGraphicsTextItem) + 16u)
+ QGraphicsObject (0x7f9ac0f66300) 0
+ primary-for QGraphicsTextItem (0x7f9ac0f63700)
+ QObject (0x7f9ac0f63770) 0
+ primary-for QGraphicsObject (0x7f9ac0f66300)
+ QGraphicsItem (0x7f9ac0f637e0) 16
+ vptr=((& QGraphicsTextItem::_ZTV17QGraphicsTextItem) + 360u)
+
+Vtable for QGraphicsSimpleTextItem
+QGraphicsSimpleTextItem::_ZTV23QGraphicsSimpleTextItem: 39u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI23QGraphicsSimpleTextItem)
+16 QGraphicsSimpleTextItem::~QGraphicsSimpleTextItem
+24 QGraphicsSimpleTextItem::~QGraphicsSimpleTextItem
+32 QGraphicsItem::advance
+40 QGraphicsSimpleTextItem::boundingRect
+48 QGraphicsSimpleTextItem::shape
+56 QGraphicsSimpleTextItem::contains
+64 QGraphicsItem::collidesWithItem
+72 QGraphicsItem::collidesWithPath
+80 QGraphicsSimpleTextItem::isObscuredBy
+88 QGraphicsSimpleTextItem::opaqueArea
+96 QGraphicsSimpleTextItem::paint
+104 QGraphicsSimpleTextItem::type
+112 QGraphicsItem::sceneEventFilter
+120 QGraphicsItem::sceneEvent
+128 QGraphicsItem::contextMenuEvent
+136 QGraphicsItem::dragEnterEvent
+144 QGraphicsItem::dragLeaveEvent
+152 QGraphicsItem::dragMoveEvent
+160 QGraphicsItem::dropEvent
+168 QGraphicsItem::focusInEvent
+176 QGraphicsItem::focusOutEvent
+184 QGraphicsItem::hoverEnterEvent
+192 QGraphicsItem::hoverMoveEvent
+200 QGraphicsItem::hoverLeaveEvent
+208 QGraphicsItem::keyPressEvent
+216 QGraphicsItem::keyReleaseEvent
+224 QGraphicsItem::mousePressEvent
+232 QGraphicsItem::mouseMoveEvent
+240 QGraphicsItem::mouseReleaseEvent
+248 QGraphicsItem::mouseDoubleClickEvent
+256 QGraphicsItem::wheelEvent
+264 QGraphicsItem::inputMethodEvent
+272 QGraphicsItem::inputMethodQuery
+280 QGraphicsItem::itemChange
+288 QGraphicsSimpleTextItem::supportsExtension
+296 QGraphicsSimpleTextItem::setExtension
+304 QGraphicsSimpleTextItem::extension
+
+Class QGraphicsSimpleTextItem
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsSimpleTextItem (0x7f9ac0d81d90) 0
+ vptr=((& QGraphicsSimpleTextItem::_ZTV23QGraphicsSimpleTextItem) + 16u)
+ QAbstractGraphicsShapeItem (0x7f9ac0d81e00) 0
+ primary-for QGraphicsSimpleTextItem (0x7f9ac0d81d90)
+ QGraphicsItem (0x7f9ac0d81e70) 0
+ primary-for QAbstractGraphicsShapeItem (0x7f9ac0d81e00)
+
+Vtable for QGraphicsItemGroup
+QGraphicsItemGroup::_ZTV18QGraphicsItemGroup: 39u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QGraphicsItemGroup)
+16 QGraphicsItemGroup::~QGraphicsItemGroup
+24 QGraphicsItemGroup::~QGraphicsItemGroup
+32 QGraphicsItem::advance
+40 QGraphicsItemGroup::boundingRect
+48 QGraphicsItem::shape
+56 QGraphicsItem::contains
+64 QGraphicsItem::collidesWithItem
+72 QGraphicsItem::collidesWithPath
+80 QGraphicsItemGroup::isObscuredBy
+88 QGraphicsItemGroup::opaqueArea
+96 QGraphicsItemGroup::paint
+104 QGraphicsItemGroup::type
+112 QGraphicsItem::sceneEventFilter
+120 QGraphicsItem::sceneEvent
+128 QGraphicsItem::contextMenuEvent
+136 QGraphicsItem::dragEnterEvent
+144 QGraphicsItem::dragLeaveEvent
+152 QGraphicsItem::dragMoveEvent
+160 QGraphicsItem::dropEvent
+168 QGraphicsItem::focusInEvent
+176 QGraphicsItem::focusOutEvent
+184 QGraphicsItem::hoverEnterEvent
+192 QGraphicsItem::hoverMoveEvent
+200 QGraphicsItem::hoverLeaveEvent
+208 QGraphicsItem::keyPressEvent
+216 QGraphicsItem::keyReleaseEvent
+224 QGraphicsItem::mousePressEvent
+232 QGraphicsItem::mouseMoveEvent
+240 QGraphicsItem::mouseReleaseEvent
+248 QGraphicsItem::mouseDoubleClickEvent
+256 QGraphicsItem::wheelEvent
+264 QGraphicsItem::inputMethodEvent
+272 QGraphicsItem::inputMethodQuery
+280 QGraphicsItem::itemChange
+288 QGraphicsItem::supportsExtension
+296 QGraphicsItem::setExtension
+304 QGraphicsItem::extension
+
+Class QGraphicsItemGroup
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsItemGroup (0x7f9ac0d98d20) 0
+ vptr=((& QGraphicsItemGroup::_ZTV18QGraphicsItemGroup) + 16u)
+ QGraphicsItem (0x7f9ac0d98d90) 0
+ primary-for QGraphicsItemGroup (0x7f9ac0d98d20)
+
+Vtable for QGraphicsWidget
+QGraphicsWidget::_ZTV15QGraphicsWidget: 92u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QGraphicsWidget)
+16 QGraphicsWidget::metaObject
+24 QGraphicsWidget::qt_metacast
+32 QGraphicsWidget::qt_metacall
+40 QGraphicsWidget::~QGraphicsWidget
+48 QGraphicsWidget::~QGraphicsWidget
+56 QGraphicsWidget::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QGraphicsWidget::setGeometry
+120 QGraphicsWidget::getContentsMargins
+128 QGraphicsWidget::type
+136 QGraphicsWidget::paint
+144 QGraphicsWidget::paintWindowFrame
+152 QGraphicsWidget::boundingRect
+160 QGraphicsWidget::shape
+168 QGraphicsWidget::initStyleOption
+176 QGraphicsWidget::sizeHint
+184 QGraphicsWidget::updateGeometry
+192 QGraphicsWidget::itemChange
+200 QGraphicsWidget::propertyChange
+208 QGraphicsWidget::sceneEvent
+216 QGraphicsWidget::windowFrameEvent
+224 QGraphicsWidget::windowFrameSectionAt
+232 QGraphicsWidget::changeEvent
+240 QGraphicsWidget::closeEvent
+248 QGraphicsWidget::focusInEvent
+256 QGraphicsWidget::focusNextPrevChild
+264 QGraphicsWidget::focusOutEvent
+272 QGraphicsWidget::hideEvent
+280 QGraphicsWidget::moveEvent
+288 QGraphicsWidget::polishEvent
+296 QGraphicsWidget::resizeEvent
+304 QGraphicsWidget::showEvent
+312 QGraphicsWidget::hoverMoveEvent
+320 QGraphicsWidget::hoverLeaveEvent
+328 QGraphicsWidget::grabMouseEvent
+336 QGraphicsWidget::ungrabMouseEvent
+344 QGraphicsWidget::grabKeyboardEvent
+352 QGraphicsWidget::ungrabKeyboardEvent
+360 (int (*)(...))-0x00000000000000010
+368 (int (*)(...))(& _ZTI15QGraphicsWidget)
+376 QGraphicsWidget::_ZThn16_N15QGraphicsWidgetD1Ev
+384 QGraphicsWidget::_ZThn16_N15QGraphicsWidgetD0Ev
+392 QGraphicsItem::advance
+400 QGraphicsWidget::_ZThn16_NK15QGraphicsWidget12boundingRectEv
+408 QGraphicsWidget::_ZThn16_NK15QGraphicsWidget5shapeEv
+416 QGraphicsItem::contains
+424 QGraphicsItem::collidesWithItem
+432 QGraphicsItem::collidesWithPath
+440 QGraphicsItem::isObscuredBy
+448 QGraphicsItem::opaqueArea
+456 QGraphicsWidget::_ZThn16_N15QGraphicsWidget5paintEP8QPainterPK24QStyleOptionGraphicsItemP7QWidget
+464 QGraphicsWidget::_ZThn16_NK15QGraphicsWidget4typeEv
+472 QGraphicsItem::sceneEventFilter
+480 QGraphicsWidget::_ZThn16_N15QGraphicsWidget10sceneEventEP6QEvent
+488 QGraphicsItem::contextMenuEvent
+496 QGraphicsItem::dragEnterEvent
+504 QGraphicsItem::dragLeaveEvent
+512 QGraphicsItem::dragMoveEvent
+520 QGraphicsItem::dropEvent
+528 QGraphicsWidget::_ZThn16_N15QGraphicsWidget12focusInEventEP11QFocusEvent
+536 QGraphicsWidget::_ZThn16_N15QGraphicsWidget13focusOutEventEP11QFocusEvent
+544 QGraphicsItem::hoverEnterEvent
+552 QGraphicsWidget::_ZThn16_N15QGraphicsWidget14hoverMoveEventEP24QGraphicsSceneHoverEvent
+560 QGraphicsWidget::_ZThn16_N15QGraphicsWidget15hoverLeaveEventEP24QGraphicsSceneHoverEvent
+568 QGraphicsItem::keyPressEvent
+576 QGraphicsItem::keyReleaseEvent
+584 QGraphicsItem::mousePressEvent
+592 QGraphicsItem::mouseMoveEvent
+600 QGraphicsItem::mouseReleaseEvent
+608 QGraphicsItem::mouseDoubleClickEvent
+616 QGraphicsItem::wheelEvent
+624 QGraphicsItem::inputMethodEvent
+632 QGraphicsItem::inputMethodQuery
+640 QGraphicsWidget::_ZThn16_N15QGraphicsWidget10itemChangeEN13QGraphicsItem18GraphicsItemChangeERK8QVariant
+648 QGraphicsItem::supportsExtension
+656 QGraphicsItem::setExtension
+664 QGraphicsItem::extension
+672 (int (*)(...))-0x00000000000000020
+680 (int (*)(...))(& _ZTI15QGraphicsWidget)
+688 QGraphicsWidget::_ZThn32_N15QGraphicsWidgetD1Ev
+696 QGraphicsWidget::_ZThn32_N15QGraphicsWidgetD0Ev
+704 QGraphicsWidget::_ZThn32_N15QGraphicsWidget11setGeometryERK6QRectF
+712 QGraphicsWidget::_ZThn32_NK15QGraphicsWidget18getContentsMarginsEPdS0_S0_S0_
+720 QGraphicsWidget::_ZThn32_N15QGraphicsWidget14updateGeometryEv
+728 QGraphicsWidget::_ZThn32_NK15QGraphicsWidget8sizeHintEN2Qt8SizeHintERK6QSizeF
+
+Class QGraphicsWidget
+ size=48 align=8
+ base size=48 base align=8
+QGraphicsWidget (0x7f9ac0dc5380) 0
+ vptr=((& QGraphicsWidget::_ZTV15QGraphicsWidget) + 16u)
+ QGraphicsObject (0x7f9ac0dc5400) 0
+ primary-for QGraphicsWidget (0x7f9ac0dc5380)
+ QObject (0x7f9ac0db9620) 0
+ primary-for QGraphicsObject (0x7f9ac0dc5400)
+ QGraphicsItem (0x7f9ac0db9690) 16
+ vptr=((& QGraphicsWidget::_ZTV15QGraphicsWidget) + 376u)
+ QGraphicsLayoutItem (0x7f9ac0db9700) 32
+ vptr=((& QGraphicsWidget::_ZTV15QGraphicsWidget) + 688u)
+
+Class QTextOption::Tab
+ size=16 align=8
+ base size=14 base align=8
+QTextOption::Tab (0x7f9ac0dfeee0) 0
+
+Class QTextOption
+ size=32 align=8
+ base size=32 base align=8
+QTextOption (0x7f9ac0dfee70) 0
+
+Class QTileRules
+ size=8 align=4
+ base size=8 base align=4
+QTileRules (0x7f9ac0c66310) 0
+
+Class QDrawPixmaps::Data
+ size=80 align=8
+ base size=80 base align=8
+QDrawPixmaps::Data (0x7f9ac0c7d380) 0
+
+Class QPen
+ size=8 align=8
+ base size=8 base align=8
+QPen (0x7f9ac0c7d460) 0
+
+Class QPainter
+ size=8 align=8
+ base size=8 base align=8
+QPainter (0x7f9ac0ca88c0) 0
+
+Vtable for QGraphicsWebView
+QGraphicsWebView::_ZTV16QGraphicsWebView: 106u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QGraphicsWebView)
+16 QGraphicsWebView::metaObject
+24 QGraphicsWebView::qt_metacast
+32 QGraphicsWebView::qt_metacall
+40 QGraphicsWebView::~QGraphicsWebView
+48 QGraphicsWebView::~QGraphicsWebView
+56 QGraphicsWebView::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QGraphicsWebView::setGeometry
+120 QGraphicsWidget::getContentsMargins
+128 QGraphicsWidget::type
+136 QGraphicsWebView::paint
+144 QGraphicsWidget::paintWindowFrame
+152 QGraphicsWidget::boundingRect
+160 QGraphicsWidget::shape
+168 QGraphicsWidget::initStyleOption
+176 QGraphicsWebView::sizeHint
+184 QGraphicsWebView::updateGeometry
+192 QGraphicsWebView::itemChange
+200 QGraphicsWidget::propertyChange
+208 QGraphicsWebView::sceneEvent
+216 QGraphicsWidget::windowFrameEvent
+224 QGraphicsWidget::windowFrameSectionAt
+232 QGraphicsWidget::changeEvent
+240 QGraphicsWidget::closeEvent
+248 QGraphicsWebView::focusInEvent
+256 QGraphicsWebView::focusNextPrevChild
+264 QGraphicsWebView::focusOutEvent
+272 QGraphicsWidget::hideEvent
+280 QGraphicsWidget::moveEvent
+288 QGraphicsWidget::polishEvent
+296 QGraphicsWidget::resizeEvent
+304 QGraphicsWidget::showEvent
+312 QGraphicsWebView::hoverMoveEvent
+320 QGraphicsWebView::hoverLeaveEvent
+328 QGraphicsWidget::grabMouseEvent
+336 QGraphicsWidget::ungrabMouseEvent
+344 QGraphicsWidget::grabKeyboardEvent
+352 QGraphicsWidget::ungrabKeyboardEvent
+360 QGraphicsWebView::inputMethodQuery
+368 QGraphicsWebView::mousePressEvent
+376 QGraphicsWebView::mouseDoubleClickEvent
+384 QGraphicsWebView::mouseReleaseEvent
+392 QGraphicsWebView::mouseMoveEvent
+400 QGraphicsWebView::wheelEvent
+408 QGraphicsWebView::keyPressEvent
+416 QGraphicsWebView::keyReleaseEvent
+424 QGraphicsWebView::contextMenuEvent
+432 QGraphicsWebView::dragEnterEvent
+440 QGraphicsWebView::dragLeaveEvent
+448 QGraphicsWebView::dragMoveEvent
+456 QGraphicsWebView::dropEvent
+464 QGraphicsWebView::inputMethodEvent
+472 (int (*)(...))-0x00000000000000010
+480 (int (*)(...))(& _ZTI16QGraphicsWebView)
+488 QGraphicsWebView::_ZThn16_N16QGraphicsWebViewD1Ev
+496 QGraphicsWebView::_ZThn16_N16QGraphicsWebViewD0Ev
+504 QGraphicsItem::advance
+512 QGraphicsWidget::_ZThn16_NK15QGraphicsWidget12boundingRectEv
+520 QGraphicsWidget::_ZThn16_NK15QGraphicsWidget5shapeEv
+528 QGraphicsItem::contains
+536 QGraphicsItem::collidesWithItem
+544 QGraphicsItem::collidesWithPath
+552 QGraphicsItem::isObscuredBy
+560 QGraphicsItem::opaqueArea
+568 QGraphicsWebView::_ZThn16_N16QGraphicsWebView5paintEP8QPainterPK24QStyleOptionGraphicsItemP7QWidget
+576 QGraphicsWidget::_ZThn16_NK15QGraphicsWidget4typeEv
+584 QGraphicsItem::sceneEventFilter
+592 QGraphicsWebView::_ZThn16_N16QGraphicsWebView10sceneEventEP6QEvent
+600 QGraphicsWebView::_ZThn16_N16QGraphicsWebView16contextMenuEventEP30QGraphicsSceneContextMenuEvent
+608 QGraphicsWebView::_ZThn16_N16QGraphicsWebView14dragEnterEventEP27QGraphicsSceneDragDropEvent
+616 QGraphicsWebView::_ZThn16_N16QGraphicsWebView14dragLeaveEventEP27QGraphicsSceneDragDropEvent
+624 QGraphicsWebView::_ZThn16_N16QGraphicsWebView13dragMoveEventEP27QGraphicsSceneDragDropEvent
+632 QGraphicsWebView::_ZThn16_N16QGraphicsWebView9dropEventEP27QGraphicsSceneDragDropEvent
+640 QGraphicsWebView::_ZThn16_N16QGraphicsWebView12focusInEventEP11QFocusEvent
+648 QGraphicsWebView::_ZThn16_N16QGraphicsWebView13focusOutEventEP11QFocusEvent
+656 QGraphicsItem::hoverEnterEvent
+664 QGraphicsWebView::_ZThn16_N16QGraphicsWebView14hoverMoveEventEP24QGraphicsSceneHoverEvent
+672 QGraphicsWebView::_ZThn16_N16QGraphicsWebView15hoverLeaveEventEP24QGraphicsSceneHoverEvent
+680 QGraphicsWebView::_ZThn16_N16QGraphicsWebView13keyPressEventEP9QKeyEvent
+688 QGraphicsWebView::_ZThn16_N16QGraphicsWebView15keyReleaseEventEP9QKeyEvent
+696 QGraphicsWebView::_ZThn16_N16QGraphicsWebView15mousePressEventEP24QGraphicsSceneMouseEvent
+704 QGraphicsWebView::_ZThn16_N16QGraphicsWebView14mouseMoveEventEP24QGraphicsSceneMouseEvent
+712 QGraphicsWebView::_ZThn16_N16QGraphicsWebView17mouseReleaseEventEP24QGraphicsSceneMouseEvent
+720 QGraphicsWebView::_ZThn16_N16QGraphicsWebView21mouseDoubleClickEventEP24QGraphicsSceneMouseEvent
+728 QGraphicsWebView::_ZThn16_N16QGraphicsWebView10wheelEventEP24QGraphicsSceneWheelEvent
+736 QGraphicsWebView::_ZThn16_N16QGraphicsWebView16inputMethodEventEP17QInputMethodEvent
+744 QGraphicsWebView::_ZThn16_NK16QGraphicsWebView16inputMethodQueryEN2Qt16InputMethodQueryE
+752 QGraphicsWebView::_ZThn16_N16QGraphicsWebView10itemChangeEN13QGraphicsItem18GraphicsItemChangeERK8QVariant
+760 QGraphicsItem::supportsExtension
+768 QGraphicsItem::setExtension
+776 QGraphicsItem::extension
+784 (int (*)(...))-0x00000000000000020
+792 (int (*)(...))(& _ZTI16QGraphicsWebView)
+800 QGraphicsWebView::_ZThn32_N16QGraphicsWebViewD1Ev
+808 QGraphicsWebView::_ZThn32_N16QGraphicsWebViewD0Ev
+816 QGraphicsWebView::_ZThn32_N16QGraphicsWebView11setGeometryERK6QRectF
+824 QGraphicsWidget::_ZThn32_NK15QGraphicsWidget18getContentsMarginsEPdS0_S0_S0_
+832 QGraphicsWebView::_ZThn32_N16QGraphicsWebView14updateGeometryEv
+840 QGraphicsWebView::_ZThn32_NK16QGraphicsWebView8sizeHintEN2Qt8SizeHintERK6QSizeF
+
+Class QGraphicsWebView
+ size=56 align=8
+ base size=56 base align=8
+QGraphicsWebView (0x7f9ac0ab6380) 0
+ vptr=((& QGraphicsWebView::_ZTV16QGraphicsWebView) + 16u)
+ QGraphicsWidget (0x7f9ac0ab0980) 0
+ primary-for QGraphicsWebView (0x7f9ac0ab6380)
+ QGraphicsObject (0x7f9ac0ab0a00) 0
+ primary-for QGraphicsWidget (0x7f9ac0ab0980)
+ QObject (0x7f9ac0ab63f0) 0
+ primary-for QGraphicsObject (0x7f9ac0ab0a00)
+ QGraphicsItem (0x7f9ac0ab6460) 16
+ vptr=((& QGraphicsWebView::_ZTV16QGraphicsWebView) + 488u)
+ QGraphicsLayoutItem (0x7f9ac0ab64d0) 32
+ vptr=((& QGraphicsWebView::_ZTV16QGraphicsWebView) + 800u)
+
+Class QWebDatabase
+ size=8 align=8
+ base size=8 base align=8
+QWebDatabase (0x7f9ac0adf8c0) 0
+
+Class QWebElement
+ size=16 align=8
+ base size=16 base align=8
+QWebElement (0x7f9ac0adfee0) 0
+
+Class QWebElementCollection::const_iterator
+ size=16 align=8
+ base size=16 base align=8
+QWebElementCollection::const_iterator (0x7f9ac0b14850) 0
+
+Class QWebElementCollection::iterator
+ size=16 align=8
+ base size=16 base align=8
+QWebElementCollection::iterator (0x7f9ac0b21460) 0
+
+Class QWebElementCollection
+ size=8 align=8
+ base size=8 base align=8
+QWebElementCollection (0x7f9ac0b06cb0) 0
+
+Class QScriptValue
+ size=8 align=8
+ base size=8 base align=8
+QScriptValue (0x7f9ac097d150) 0
+
+Class QScriptContext
+ size=8 align=8
+ base size=8 base align=8
+QScriptContext (0x7f9ac0a31cb0) 0
+
+Class QScriptString
+ size=8 align=8
+ base size=8 base align=8
+QScriptString (0x7f9ac0a49b60) 0
+
+Class QScriptProgram
+ size=8 align=8
+ base size=8 base align=8
+QScriptProgram (0x7f9ac0a56930) 0
+
+Class QScriptSyntaxCheckResult
+ size=8 align=8
+ base size=8 base align=8
+QScriptSyntaxCheckResult (0x7f9ac086d7e0) 0
+
+Vtable for QScriptEngine
+QScriptEngine::_ZTV13QScriptEngine: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QScriptEngine)
+16 QScriptEngine::metaObject
+24 QScriptEngine::qt_metacast
+32 QScriptEngine::qt_metacall
+40 QScriptEngine::~QScriptEngine
+48 QScriptEngine::~QScriptEngine
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QScriptEngine
+ size=16 align=8
+ base size=16 base align=8
+QScriptEngine (0x7f9ac08904d0) 0
+ vptr=((& QScriptEngine::_ZTV13QScriptEngine) + 16u)
+ QObject (0x7f9ac0890540) 0
+ primary-for QScriptEngine (0x7f9ac08904d0)
+
+Class QWebHitTestResult
+ size=8 align=8
+ base size=8 base align=8
+QWebHitTestResult (0x7f9ac0907d20) 0
+
+Vtable for QWebFrame
+QWebFrame::_ZTV9QWebFrame: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QWebFrame)
+16 QWebFrame::metaObject
+24 QWebFrame::qt_metacast
+32 QWebFrame::qt_metacall
+40 QWebFrame::~QWebFrame
+48 QWebFrame::~QWebFrame
+56 QWebFrame::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QWebFrame
+ size=24 align=8
+ base size=24 base align=8
+QWebFrame (0x7f9ac091e310) 0
+ vptr=((& QWebFrame::_ZTV9QWebFrame) + 16u)
+ QObject (0x7f9ac091e380) 0
+ primary-for QWebFrame (0x7f9ac091e310)
+
+Class QWebHistoryItem
+ size=8 align=8
+ base size=8 base align=8
+QWebHistoryItem (0x7f9ac0941e00) 0
+
+Class QWebHistory
+ size=8 align=8
+ base size=8 base align=8
+QWebHistory (0x7f9ac094c460) 0
+
+Vtable for QWebHistoryInterface
+QWebHistoryInterface::_ZTV20QWebHistoryInterface: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI20QWebHistoryInterface)
+16 QWebHistoryInterface::metaObject
+24 QWebHistoryInterface::qt_metacast
+32 QWebHistoryInterface::qt_metacall
+40 QWebHistoryInterface::~QWebHistoryInterface
+48 QWebHistoryInterface::~QWebHistoryInterface
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+
+Class QWebHistoryInterface
+ size=16 align=8
+ base size=16 base align=8
+QWebHistoryInterface (0x7f9ac094ccb0) 0
+ vptr=((& QWebHistoryInterface::_ZTV20QWebHistoryInterface) + 16u)
+ QObject (0x7f9ac094cd20) 0
+ primary-for QWebHistoryInterface (0x7f9ac094ccb0)
+
+Vtable for QWebView
+QWebView::_ZTV8QWebView: 64u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI8QWebView)
+16 QWebView::metaObject
+24 QWebView::qt_metacast
+32 QWebView::qt_metacall
+40 QWebView::~QWebView
+48 QWebView::~QWebView
+56 QWebView::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QWebView::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWebView::mousePressEvent
+168 QWebView::mouseReleaseEvent
+176 QWebView::mouseDoubleClickEvent
+184 QWebView::mouseMoveEvent
+192 QWebView::wheelEvent
+200 QWebView::keyPressEvent
+208 QWebView::keyReleaseEvent
+216 QWebView::focusInEvent
+224 QWebView::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QWebView::paintEvent
+256 QWidget::moveEvent
+264 QWebView::resizeEvent
+272 QWidget::closeEvent
+280 QWebView::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWebView::dragEnterEvent
+312 QWebView::dragMoveEvent
+320 QWebView::dragLeaveEvent
+328 QWebView::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QWebView::changeEvent
+368 QWidget::metric
+376 QWebView::inputMethodEvent
+384 QWebView::inputMethodQuery
+392 QWebView::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 QWebView::createWindow
+456 (int (*)(...))-0x00000000000000010
+464 (int (*)(...))(& _ZTI8QWebView)
+472 QWebView::_ZThn16_N8QWebViewD1Ev
+480 QWebView::_ZThn16_N8QWebViewD0Ev
+488 QWidget::_ZThn16_NK7QWidget7devTypeEv
+496 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+504 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QWebView
+ size=48 align=8
+ base size=48 base align=8
+QWebView (0x7f9ac076ccb0) 0
+ vptr=((& QWebView::_ZTV8QWebView) + 16u)
+ QWidget (0x7f9ac0943c00) 0
+ primary-for QWebView (0x7f9ac076ccb0)
+ QObject (0x7f9ac076cd20) 0
+ primary-for QWidget (0x7f9ac0943c00)
+ QPaintDevice (0x7f9ac076cd90) 16
+ vptr=((& QWebView::_ZTV8QWebView) + 472u)
+
+Vtable for QWebInspector
+QWebInspector::_ZTV13QWebInspector: 63u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QWebInspector)
+16 QWebInspector::metaObject
+24 QWebInspector::qt_metacast
+32 QWebInspector::qt_metacall
+40 QWebInspector::~QWebInspector
+48 QWebInspector::~QWebInspector
+56 QWebInspector::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QWebInspector::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QWidget::paintEvent
+256 QWidget::moveEvent
+264 QWebInspector::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWebInspector::showEvent
+344 QWebInspector::hideEvent
+352 QWidget::x11Event
+360 QWidget::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 (int (*)(...))-0x00000000000000010
+456 (int (*)(...))(& _ZTI13QWebInspector)
+464 QWebInspector::_ZThn16_N13QWebInspectorD1Ev
+472 QWebInspector::_ZThn16_N13QWebInspectorD0Ev
+480 QWidget::_ZThn16_NK7QWidget7devTypeEv
+488 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+496 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QWebInspector
+ size=48 align=8
+ base size=48 base align=8
+QWebInspector (0x7f9ac079d540) 0
+ vptr=((& QWebInspector::_ZTV13QWebInspector) + 16u)
+ QWidget (0x7f9ac079a300) 0
+ primary-for QWebInspector (0x7f9ac079d540)
+ QObject (0x7f9ac079d5b0) 0
+ primary-for QWidget (0x7f9ac079a300)
+ QPaintDevice (0x7f9ac079d620) 16
+ vptr=((& QWebInspector::_ZTV13QWebInspector) + 464u)
+
+Class QWebPluginFactory::MimeType
+ size=24 align=8
+ base size=24 base align=8
+QWebPluginFactory::MimeType (0x7f9ac07b3620) 0
+
+Class QWebPluginFactory::Plugin
+ size=24 align=8
+ base size=24 base align=8
+QWebPluginFactory::Plugin (0x7f9ac07b3850) 0
+
+Class QWebPluginFactory::ExtensionOption
+ size=1 align=1
+ base size=0 base align=1
+QWebPluginFactory::ExtensionOption (0x7f9ac07e3620) 0 empty
+
+Class QWebPluginFactory::ExtensionReturn
+ size=1 align=1
+ base size=0 base align=1
+QWebPluginFactory::ExtensionReturn (0x7f9ac07e3690) 0 empty
+
+Vtable for QWebPluginFactory
+QWebPluginFactory::_ZTV17QWebPluginFactory: 19u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QWebPluginFactory)
+16 QWebPluginFactory::metaObject
+24 QWebPluginFactory::qt_metacast
+32 QWebPluginFactory::qt_metacall
+40 QWebPluginFactory::~QWebPluginFactory
+48 QWebPluginFactory::~QWebPluginFactory
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+120 QWebPluginFactory::refreshPlugins
+128 __cxa_pure_virtual
+136 QWebPluginFactory::extension
+144 QWebPluginFactory::supportsExtension
+
+Class QWebPluginFactory
+ size=24 align=8
+ base size=24 base align=8
+QWebPluginFactory (0x7f9ac07b34d0) 0
+ vptr=((& QWebPluginFactory::_ZTV17QWebPluginFactory) + 16u)
+ QObject (0x7f9ac07b3540) 0
+ primary-for QWebPluginFactory (0x7f9ac07b34d0)
+
+Class QWebSecurityOrigin
+ size=8 align=8
+ base size=8 base align=8
+QWebSecurityOrigin (0x7f9ac07f2700) 0
+
diff --git a/tests/auto/bic/data/QtXml.4.5.0.linux-gcc-amd64.txt b/tests/auto/bic/data/QtXml.4.5.0.linux-gcc-amd64.txt
new file mode 100644
index 0000000000..eba780ad10
--- /dev/null
+++ b/tests/auto/bic/data/QtXml.4.5.0.linux-gcc-amd64.txt
@@ -0,0 +1,2783 @@
+Class QSysInfo
+ size=1 align=1
+ base size=0 base align=1
+QSysInfo (0x7f5892504460) 0 empty
+
+Class QBool
+ size=1 align=1
+ base size=1 base align=1
+QBool (0x7f5892518150) 0
+
+Class qIsNull(double)::U
+ size=8 align=8
+ base size=8 base align=8
+qIsNull(double)::U (0x7f589252f540) 0
+
+Class qIsNull(float)::U
+ size=4 align=4
+ base size=4 base align=4
+qIsNull(float)::U (0x7f589252f7e0) 0
+
+Class QFlag
+ size=4 align=4
+ base size=4 base align=4
+QFlag (0x7f5892566620) 0
+
+Class QIncompatibleFlag
+ size=4 align=4
+ base size=4 base align=4
+QIncompatibleFlag (0x7f5892566e00) 0
+
+Class QInternal
+ size=1 align=1
+ base size=0 base align=1
+QInternal (0x7f5891b62540) 0 empty
+
+Class QGenericArgument
+ size=16 align=8
+ base size=16 base align=8
+QGenericArgument (0x7f5891b62850) 0
+
+Class QGenericReturnArgument
+ size=16 align=8
+ base size=16 base align=8
+QGenericReturnArgument (0x7f5891b7c3f0) 0
+ QGenericArgument (0x7f5891b7c460) 0
+
+Class QMetaObject
+ size=32 align=8
+ base size=32 base align=8
+QMetaObject (0x7f5891b7ccb0) 0
+
+Class QMetaObjectExtraData
+ size=16 align=8
+ base size=16 base align=8
+QMetaObjectExtraData (0x7f5891ba4cb0) 0
+
+Class QLatin1Char
+ size=1 align=1
+ base size=1 base align=1
+QLatin1Char (0x7f5891bb0700) 0
+
+Class QChar
+ size=2 align=2
+ base size=2 base align=2
+QChar (0x7f5891bb52a0) 0
+
+Class QBasicAtomicInt
+ size=4 align=4
+ base size=4 base align=4
+QBasicAtomicInt (0x7f5891a1c380) 0
+
+Class QAtomicInt
+ size=4 align=4
+ base size=4 base align=4
+QAtomicInt (0x7f5891a55d20) 0
+ QBasicAtomicInt (0x7f5891a55d90) 0
+
+Class __locale_struct
+ size=232 align=8
+ base size=232 base align=8
+__locale_struct (0x7f5891a7e1c0) 0
+
+Class QByteArray::Data
+ size=32 align=8
+ base size=32 base align=8
+QByteArray::Data (0x7f58918f97e0) 0
+
+Class QByteArray
+ size=8 align=8
+ base size=8 base align=8
+QByteArray (0x7f5891ab6540) 0
+
+Class QByteRef
+ size=16 align=8
+ base size=12 base align=8
+QByteRef (0x7f589194fa80) 0
+
+Class QString::Null
+ size=1 align=1
+ base size=0 base align=1
+QString::Null (0x7f5891858700) 0 empty
+
+Class QString::Data
+ size=32 align=8
+ base size=32 base align=8
+QString::Data (0x7f5891867ee0) 0
+
+Class QString
+ size=8 align=8
+ base size=8 base align=8
+QString (0x7f58917d75b0) 0
+
+Class QLatin1String
+ size=8 align=8
+ base size=8 base align=8
+QLatin1String (0x7f5891742000) 0
+
+Class QCharRef
+ size=16 align=8
+ base size=12 base align=8
+QCharRef (0x7f58915d8620) 0
+
+Class QConstString
+ size=8 align=8
+ base size=8 base align=8
+QConstString (0x7f5891522ee0) 0
+ QString (0x7f5891522f50) 0
+
+Class QStringRef
+ size=16 align=8
+ base size=16 base align=8
+QStringRef (0x7f5891542bd0) 0
+
+Vtable for std::exception
+std::exception::_ZTVSt9exception: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt9exception)
+16 std::exception::~exception
+24 std::exception::~exception
+32 std::exception::what
+
+Class std::exception
+ size=8 align=8
+ base size=8 base align=8
+std::exception (0x7f58913fd620) 0 nearly-empty
+ vptr=((& std::exception::_ZTVSt9exception) + 16u)
+
+Vtable for std::bad_exception
+std::bad_exception::_ZTVSt13bad_exception: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt13bad_exception)
+16 std::bad_exception::~bad_exception
+24 std::bad_exception::~bad_exception
+32 std::bad_exception::what
+
+Class std::bad_exception
+ size=8 align=8
+ base size=8 base align=8
+std::bad_exception (0x7f589141f000) 0 nearly-empty
+ vptr=((& std::bad_exception::_ZTVSt13bad_exception) + 16u)
+ std::exception (0x7f589141f070) 0 nearly-empty
+ primary-for std::bad_exception (0x7f589141f000)
+
+Vtable for std::bad_alloc
+std::bad_alloc::_ZTVSt9bad_alloc: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt9bad_alloc)
+16 std::bad_alloc::~bad_alloc
+24 std::bad_alloc::~bad_alloc
+32 std::bad_alloc::what
+
+Class std::bad_alloc
+ size=8 align=8
+ base size=8 base align=8
+std::bad_alloc (0x7f589141f8c0) 0 nearly-empty
+ vptr=((& std::bad_alloc::_ZTVSt9bad_alloc) + 16u)
+ std::exception (0x7f589141f930) 0 nearly-empty
+ primary-for std::bad_alloc (0x7f589141f8c0)
+
+Class std::nothrow_t
+ size=1 align=1
+ base size=0 base align=1
+std::nothrow_t (0x7f58914310e0) 0 empty
+
+Class QListData::Data
+ size=32 align=8
+ base size=32 base align=8
+QListData::Data (0x7f5891431620) 0
+
+Class QListData
+ size=8 align=8
+ base size=8 base align=8
+QListData (0x7f58914315b0) 0
+
+Vtable for QObjectData
+QObjectData::_ZTV11QObjectData: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QObjectData)
+16 __cxa_pure_virtual
+24 __cxa_pure_virtual
+
+Class QObjectData
+ size=40 align=8
+ base size=40 base align=8
+QObjectData (0x7f5891332bd0) 0
+ vptr=((& QObjectData::_ZTV11QObjectData) + 16u)
+
+Vtable for QObject
+QObject::_ZTV7QObject: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QObject)
+16 QObject::metaObject
+24 QObject::qt_metacast
+32 QObject::qt_metacall
+40 QObject::~QObject
+48 QObject::~QObject
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QObject
+ size=16 align=8
+ base size=16 base align=8
+QObject (0x7f5891332ee0) 0
+ vptr=((& QObject::_ZTV7QObject) + 16u)
+
+Vtable for QObjectUserData
+QObjectUserData::_ZTV15QObjectUserData: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QObjectUserData)
+16 QObjectUserData::~QObjectUserData
+24 QObjectUserData::~QObjectUserData
+
+Class QObjectUserData
+ size=8 align=8
+ base size=8 base align=8
+QObjectUserData (0x7f58911b43f0) 0 nearly-empty
+ vptr=((& QObjectUserData::_ZTV15QObjectUserData) + 16u)
+
+Vtable for QIODevice
+QIODevice::_ZTV9QIODevice: 30u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QIODevice)
+16 QIODevice::metaObject
+24 QIODevice::qt_metacast
+32 QIODevice::qt_metacall
+40 QIODevice::~QIODevice
+48 QIODevice::~QIODevice
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QIODevice::isSequential
+120 QIODevice::open
+128 QIODevice::close
+136 QIODevice::pos
+144 QIODevice::size
+152 QIODevice::seek
+160 QIODevice::atEnd
+168 QIODevice::reset
+176 QIODevice::bytesAvailable
+184 QIODevice::bytesToWrite
+192 QIODevice::canReadLine
+200 QIODevice::waitForReadyRead
+208 QIODevice::waitForBytesWritten
+216 __cxa_pure_virtual
+224 QIODevice::readLineData
+232 __cxa_pure_virtual
+
+Class QIODevice
+ size=16 align=8
+ base size=16 base align=8
+QIODevice (0x7f58911b4930) 0
+ vptr=((& QIODevice::_ZTV9QIODevice) + 16u)
+ QObject (0x7f58911b49a0) 0
+ primary-for QIODevice (0x7f58911b4930)
+
+Vtable for QDataStream
+QDataStream::_ZTV11QDataStream: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QDataStream)
+16 QDataStream::~QDataStream
+24 QDataStream::~QDataStream
+
+Class QDataStream
+ size=40 align=8
+ base size=40 base align=8
+QDataStream (0x7f589122b2a0) 0
+ vptr=((& QDataStream::_ZTV11QDataStream) + 16u)
+
+Class QHashData::Node
+ size=16 align=8
+ base size=16 base align=8
+QHashData::Node (0x7f58910b0150) 0
+
+Class QHashData
+ size=40 align=8
+ base size=40 base align=8
+QHashData (0x7f58910b00e0) 0
+
+Class QHashDummyValue
+ size=1 align=1
+ base size=0 base align=1
+QHashDummyValue (0x7f58910c2ee0) 0 empty
+
+Class QMapData::Node
+ size=16 align=8
+ base size=16 base align=8
+QMapData::Node (0x7f5890fd3690) 0
+
+Class QMapData
+ size=128 align=8
+ base size=128 base align=8
+QMapData (0x7f5890fd3620) 0
+
+Vtable for QSystemLocale
+QSystemLocale::_ZTV13QSystemLocale: 6u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QSystemLocale)
+16 QSystemLocale::~QSystemLocale
+24 QSystemLocale::~QSystemLocale
+32 QSystemLocale::query
+40 QSystemLocale::fallbackLocale
+
+Class QSystemLocale
+ size=8 align=8
+ base size=8 base align=8
+QSystemLocale (0x7f5890ee8e00) 0 nearly-empty
+ vptr=((& QSystemLocale::_ZTV13QSystemLocale) + 16u)
+
+Class QLocale::Data
+ size=4 align=2
+ base size=4 base align=2
+QLocale::Data (0x7f5890f463f0) 0
+
+Class QLocale
+ size=8 align=8
+ base size=8 base align=8
+QLocale (0x7f5890f0a0e0) 0
+
+Class QTextCodec::ConverterState
+ size=32 align=8
+ base size=32 base align=8
+QTextCodec::ConverterState (0x7f5890f94e70) 0
+
+Vtable for QTextCodec
+QTextCodec::_ZTV10QTextCodec: 9u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QTextCodec)
+16 __cxa_pure_virtual
+24 QTextCodec::aliases
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+48 __cxa_pure_virtual
+56 QTextCodec::~QTextCodec
+64 QTextCodec::~QTextCodec
+
+Class QTextCodec
+ size=8 align=8
+ base size=8 base align=8
+QTextCodec (0x7f5890f7ea80) 0 nearly-empty
+ vptr=((& QTextCodec::_ZTV10QTextCodec) + 16u)
+
+Class QTextEncoder
+ size=40 align=8
+ base size=40 base align=8
+QTextEncoder (0x7f5890e003f0) 0
+
+Class QTextDecoder
+ size=40 align=8
+ base size=40 base align=8
+QTextDecoder (0x7f5890e09230) 0
+
+Class _IO_marker
+ size=24 align=8
+ base size=24 base align=8
+_IO_marker (0x7f5890e122a0) 0
+
+Class _IO_FILE
+ size=216 align=8
+ base size=216 base align=8
+_IO_FILE (0x7f5890e12310) 0
+
+Vtable for QTextStream
+QTextStream::_ZTV11QTextStream: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QTextStream)
+16 QTextStream::~QTextStream
+24 QTextStream::~QTextStream
+
+Class QTextStream
+ size=16 align=8
+ base size=16 base align=8
+QTextStream (0x7f5890e123f0) 0
+ vptr=((& QTextStream::_ZTV11QTextStream) + 16u)
+
+Class QTextStreamManipulator
+ size=40 align=8
+ base size=38 base align=8
+QTextStreamManipulator (0x7f5890ea9ee0) 0
+
+Vtable for QTextIStream
+QTextIStream::_ZTV12QTextIStream: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QTextIStream)
+16 QTextIStream::~QTextIStream
+24 QTextIStream::~QTextIStream
+
+Class QTextIStream
+ size=16 align=8
+ base size=16 base align=8
+QTextIStream (0x7f5890cd71c0) 0
+ vptr=((& QTextIStream::_ZTV12QTextIStream) + 16u)
+ QTextStream (0x7f5890cd7230) 0
+ primary-for QTextIStream (0x7f5890cd71c0)
+
+Vtable for QTextOStream
+QTextOStream::_ZTV12QTextOStream: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QTextOStream)
+16 QTextOStream::~QTextOStream
+24 QTextOStream::~QTextOStream
+
+Class QTextOStream
+ size=16 align=8
+ base size=16 base align=8
+QTextOStream (0x7f5890ceb070) 0
+ vptr=((& QTextOStream::_ZTV12QTextOStream) + 16u)
+ QTextStream (0x7f5890ceb0e0) 0
+ primary-for QTextOStream (0x7f5890ceb070)
+
+Class wait
+ size=4 align=4
+ base size=4 base align=4
+wait (0x7f5890cf8ee0) 0
+
+Class timespec
+ size=16 align=8
+ base size=16 base align=8
+timespec (0x7f5890d05230) 0
+
+Class timeval
+ size=16 align=8
+ base size=16 base align=8
+timeval (0x7f5890d052a0) 0
+
+Class __pthread_internal_list
+ size=16 align=8
+ base size=16 base align=8
+__pthread_internal_list (0x7f5890d053f0) 0
+
+Class random_data
+ size=48 align=8
+ base size=48 base align=8
+random_data (0x7f5890d059a0) 0
+
+Class drand48_data
+ size=24 align=8
+ base size=24 base align=8
+drand48_data (0x7f5890d05a10) 0
+
+Class QVectorData
+ size=16 align=4
+ base size=16 base align=4
+QVectorData (0x7f5890d05a80) 0
+
+Class QDebug::Stream
+ size=40 align=8
+ base size=34 base align=8
+QDebug::Stream (0x7f5890c80230) 0
+
+Class QDebug
+ size=8 align=8
+ base size=8 base align=8
+QDebug (0x7f5890c801c0) 0
+
+Class QNoDebug
+ size=1 align=1
+ base size=0 base align=1
+QNoDebug (0x7f5890b1c070) 0 empty
+
+Vtable for QFile
+QFile::_ZTV5QFile: 31u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI5QFile)
+16 QFile::metaObject
+24 QFile::qt_metacast
+32 QFile::qt_metacall
+40 QFile::~QFile
+48 QFile::~QFile
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QFile::isSequential
+120 QFile::open
+128 QFile::close
+136 QFile::pos
+144 QFile::size
+152 QFile::seek
+160 QFile::atEnd
+168 QIODevice::reset
+176 QIODevice::bytesAvailable
+184 QIODevice::bytesToWrite
+192 QIODevice::canReadLine
+200 QIODevice::waitForReadyRead
+208 QIODevice::waitForBytesWritten
+216 QFile::readData
+224 QFile::readLineData
+232 QFile::writeData
+240 QFile::fileEngine
+
+Class QFile
+ size=16 align=8
+ base size=16 base align=8
+QFile (0x7f5890b30620) 0
+ vptr=((& QFile::_ZTV5QFile) + 16u)
+ QIODevice (0x7f5890b30690) 0
+ primary-for QFile (0x7f5890b30620)
+ QObject (0x7f5890b30700) 0
+ primary-for QIODevice (0x7f5890b30690)
+
+Vtable for QTemporaryFile
+QTemporaryFile::_ZTV14QTemporaryFile: 31u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QTemporaryFile)
+16 QTemporaryFile::metaObject
+24 QTemporaryFile::qt_metacast
+32 QTemporaryFile::qt_metacall
+40 QTemporaryFile::~QTemporaryFile
+48 QTemporaryFile::~QTemporaryFile
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QFile::isSequential
+120 QTemporaryFile::open
+128 QFile::close
+136 QFile::pos
+144 QFile::size
+152 QFile::seek
+160 QFile::atEnd
+168 QIODevice::reset
+176 QIODevice::bytesAvailable
+184 QIODevice::bytesToWrite
+192 QIODevice::canReadLine
+200 QIODevice::waitForReadyRead
+208 QIODevice::waitForBytesWritten
+216 QFile::readData
+224 QFile::readLineData
+232 QFile::writeData
+240 QTemporaryFile::fileEngine
+
+Class QTemporaryFile
+ size=16 align=8
+ base size=16 base align=8
+QTemporaryFile (0x7f5890b9a850) 0
+ vptr=((& QTemporaryFile::_ZTV14QTemporaryFile) + 16u)
+ QFile (0x7f5890b9a8c0) 0
+ primary-for QTemporaryFile (0x7f5890b9a850)
+ QIODevice (0x7f5890b9a930) 0
+ primary-for QFile (0x7f5890b9a8c0)
+ QObject (0x7f5890b9a9a0) 0
+ primary-for QIODevice (0x7f5890b9a930)
+
+Class QFileInfo
+ size=8 align=8
+ base size=8 base align=8
+QFileInfo (0x7f58909bbf50) 0
+
+Class QRegExp
+ size=8 align=8
+ base size=8 base align=8
+QRegExp (0x7f5890a18770) 0
+
+Class QStringMatcher
+ size=1048 align=8
+ base size=1048 base align=8
+QStringMatcher (0x7f5890a635b0) 0
+
+Class QStringList
+ size=8 align=8
+ base size=8 base align=8
+QStringList (0x7f5890a78070) 0
+ QList<QString> (0x7f5890a780e0) 0
+
+Class QDir
+ size=8 align=8
+ base size=8 base align=8
+QDir (0x7f5890904cb0) 0
+
+Class QAbstractFileEngine::ExtensionOption
+ size=1 align=1
+ base size=0 base align=1
+QAbstractFileEngine::ExtensionOption (0x7f58909a0e70) 0 empty
+
+Class QAbstractFileEngine::ExtensionReturn
+ size=1 align=1
+ base size=0 base align=1
+QAbstractFileEngine::ExtensionReturn (0x7f58909a0ee0) 0 empty
+
+Class QAbstractFileEngine::MapExtensionOption
+ size=24 align=8
+ base size=20 base align=8
+QAbstractFileEngine::MapExtensionOption (0x7f58909a0f50) 0
+ QAbstractFileEngine::ExtensionOption (0x7f58907b4000) 0 empty
+
+Class QAbstractFileEngine::MapExtensionReturn
+ size=8 align=8
+ base size=8 base align=8
+QAbstractFileEngine::MapExtensionReturn (0x7f58907b41c0) 0
+ QAbstractFileEngine::ExtensionReturn (0x7f58907b4230) 0 empty
+
+Class QAbstractFileEngine::UnMapExtensionOption
+ size=8 align=8
+ base size=8 base align=8
+QAbstractFileEngine::UnMapExtensionOption (0x7f58907b42a0) 0
+ QAbstractFileEngine::ExtensionOption (0x7f58907b4310) 0 empty
+
+Vtable for QAbstractFileEngine
+QAbstractFileEngine::_ZTV19QAbstractFileEngine: 36u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QAbstractFileEngine)
+16 QAbstractFileEngine::~QAbstractFileEngine
+24 QAbstractFileEngine::~QAbstractFileEngine
+32 QAbstractFileEngine::open
+40 QAbstractFileEngine::close
+48 QAbstractFileEngine::flush
+56 QAbstractFileEngine::size
+64 QAbstractFileEngine::pos
+72 QAbstractFileEngine::seek
+80 QAbstractFileEngine::isSequential
+88 QAbstractFileEngine::remove
+96 QAbstractFileEngine::copy
+104 QAbstractFileEngine::rename
+112 QAbstractFileEngine::link
+120 QAbstractFileEngine::mkdir
+128 QAbstractFileEngine::rmdir
+136 QAbstractFileEngine::setSize
+144 QAbstractFileEngine::caseSensitive
+152 QAbstractFileEngine::isRelativePath
+160 QAbstractFileEngine::entryList
+168 QAbstractFileEngine::fileFlags
+176 QAbstractFileEngine::setPermissions
+184 QAbstractFileEngine::fileName
+192 QAbstractFileEngine::ownerId
+200 QAbstractFileEngine::owner
+208 QAbstractFileEngine::fileTime
+216 QAbstractFileEngine::setFileName
+224 QAbstractFileEngine::handle
+232 QAbstractFileEngine::beginEntryList
+240 QAbstractFileEngine::endEntryList
+248 QAbstractFileEngine::read
+256 QAbstractFileEngine::readLine
+264 QAbstractFileEngine::write
+272 QAbstractFileEngine::extension
+280 QAbstractFileEngine::supportsExtension
+
+Class QAbstractFileEngine
+ size=16 align=8
+ base size=16 base align=8
+QAbstractFileEngine (0x7f589098fe00) 0
+ vptr=((& QAbstractFileEngine::_ZTV19QAbstractFileEngine) + 16u)
+
+Vtable for QAbstractFileEngineHandler
+QAbstractFileEngineHandler::_ZTV26QAbstractFileEngineHandler: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI26QAbstractFileEngineHandler)
+16 QAbstractFileEngineHandler::~QAbstractFileEngineHandler
+24 QAbstractFileEngineHandler::~QAbstractFileEngineHandler
+32 __cxa_pure_virtual
+
+Class QAbstractFileEngineHandler
+ size=8 align=8
+ base size=8 base align=8
+QAbstractFileEngineHandler (0x7f58907e3000) 0 nearly-empty
+ vptr=((& QAbstractFileEngineHandler::_ZTV26QAbstractFileEngineHandler) + 16u)
+
+Vtable for QAbstractFileEngineIterator
+QAbstractFileEngineIterator::_ZTV27QAbstractFileEngineIterator: 9u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI27QAbstractFileEngineIterator)
+16 QAbstractFileEngineIterator::~QAbstractFileEngineIterator
+24 QAbstractFileEngineIterator::~QAbstractFileEngineIterator
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+48 __cxa_pure_virtual
+56 QAbstractFileEngineIterator::currentFileInfo
+64 QAbstractFileEngineIterator::entryInfo
+
+Class QAbstractFileEngineIterator
+ size=16 align=8
+ base size=16 base align=8
+QAbstractFileEngineIterator (0x7f58907e31c0) 0
+ vptr=((& QAbstractFileEngineIterator::_ZTV27QAbstractFileEngineIterator) + 16u)
+
+Vtable for QFSFileEngine
+QFSFileEngine::_ZTV13QFSFileEngine: 36u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QFSFileEngine)
+16 QFSFileEngine::~QFSFileEngine
+24 QFSFileEngine::~QFSFileEngine
+32 QFSFileEngine::open
+40 QFSFileEngine::close
+48 QFSFileEngine::flush
+56 QFSFileEngine::size
+64 QFSFileEngine::pos
+72 QFSFileEngine::seek
+80 QFSFileEngine::isSequential
+88 QFSFileEngine::remove
+96 QFSFileEngine::copy
+104 QFSFileEngine::rename
+112 QFSFileEngine::link
+120 QFSFileEngine::mkdir
+128 QFSFileEngine::rmdir
+136 QFSFileEngine::setSize
+144 QFSFileEngine::caseSensitive
+152 QFSFileEngine::isRelativePath
+160 QFSFileEngine::entryList
+168 QFSFileEngine::fileFlags
+176 QFSFileEngine::setPermissions
+184 QFSFileEngine::fileName
+192 QFSFileEngine::ownerId
+200 QFSFileEngine::owner
+208 QFSFileEngine::fileTime
+216 QFSFileEngine::setFileName
+224 QFSFileEngine::handle
+232 QFSFileEngine::beginEntryList
+240 QFSFileEngine::endEntryList
+248 QFSFileEngine::read
+256 QFSFileEngine::readLine
+264 QFSFileEngine::write
+272 QFSFileEngine::extension
+280 QFSFileEngine::supportsExtension
+
+Class QFSFileEngine
+ size=16 align=8
+ base size=16 base align=8
+QFSFileEngine (0x7f58907e3a10) 0
+ vptr=((& QFSFileEngine::_ZTV13QFSFileEngine) + 16u)
+ QAbstractFileEngine (0x7f58907e3a80) 0
+ primary-for QFSFileEngine (0x7f58907e3a10)
+
+Vtable for QProcess
+QProcess::_ZTV8QProcess: 31u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI8QProcess)
+16 QProcess::metaObject
+24 QProcess::qt_metacast
+32 QProcess::qt_metacall
+40 QProcess::~QProcess
+48 QProcess::~QProcess
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QProcess::isSequential
+120 QIODevice::open
+128 QProcess::close
+136 QIODevice::pos
+144 QIODevice::size
+152 QIODevice::seek
+160 QProcess::atEnd
+168 QIODevice::reset
+176 QProcess::bytesAvailable
+184 QProcess::bytesToWrite
+192 QProcess::canReadLine
+200 QProcess::waitForReadyRead
+208 QProcess::waitForBytesWritten
+216 QProcess::readData
+224 QIODevice::readLineData
+232 QProcess::writeData
+240 QProcess::setupChildProcess
+
+Class QProcess
+ size=16 align=8
+ base size=16 base align=8
+QProcess (0x7f58907fad20) 0
+ vptr=((& QProcess::_ZTV8QProcess) + 16u)
+ QIODevice (0x7f58907fad90) 0
+ primary-for QProcess (0x7f58907fad20)
+ QObject (0x7f58907fae00) 0
+ primary-for QIODevice (0x7f58907fad90)
+
+Class QResource
+ size=8 align=8
+ base size=8 base align=8
+QResource (0x7f5890837230) 0
+
+Vtable for QDirIterator
+QDirIterator::_ZTV12QDirIterator: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QDirIterator)
+16 QDirIterator::~QDirIterator
+24 QDirIterator::~QDirIterator
+
+Class QDirIterator
+ size=16 align=8
+ base size=16 base align=8
+QDirIterator (0x7f5890837cb0) 0
+ vptr=((& QDirIterator::_ZTV12QDirIterator) + 16u)
+
+Vtable for QBuffer
+QBuffer::_ZTV7QBuffer: 30u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QBuffer)
+16 QBuffer::metaObject
+24 QBuffer::qt_metacast
+32 QBuffer::qt_metacall
+40 QBuffer::~QBuffer
+48 QBuffer::~QBuffer
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QBuffer::connectNotify
+104 QBuffer::disconnectNotify
+112 QIODevice::isSequential
+120 QBuffer::open
+128 QBuffer::close
+136 QBuffer::pos
+144 QBuffer::size
+152 QBuffer::seek
+160 QBuffer::atEnd
+168 QIODevice::reset
+176 QIODevice::bytesAvailable
+184 QIODevice::bytesToWrite
+192 QBuffer::canReadLine
+200 QIODevice::waitForReadyRead
+208 QIODevice::waitForBytesWritten
+216 QBuffer::readData
+224 QIODevice::readLineData
+232 QBuffer::writeData
+
+Class QBuffer
+ size=16 align=8
+ base size=16 base align=8
+QBuffer (0x7f5890867a80) 0
+ vptr=((& QBuffer::_ZTV7QBuffer) + 16u)
+ QIODevice (0x7f5890867af0) 0
+ primary-for QBuffer (0x7f5890867a80)
+ QObject (0x7f5890867b60) 0
+ primary-for QIODevice (0x7f5890867af0)
+
+Vtable for QFileSystemWatcher
+QFileSystemWatcher::_ZTV18QFileSystemWatcher: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QFileSystemWatcher)
+16 QFileSystemWatcher::metaObject
+24 QFileSystemWatcher::qt_metacast
+32 QFileSystemWatcher::qt_metacall
+40 QFileSystemWatcher::~QFileSystemWatcher
+48 QFileSystemWatcher::~QFileSystemWatcher
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QFileSystemWatcher
+ size=16 align=8
+ base size=16 base align=8
+QFileSystemWatcher (0x7f589088f690) 0
+ vptr=((& QFileSystemWatcher::_ZTV18QFileSystemWatcher) + 16u)
+ QObject (0x7f589088f700) 0
+ primary-for QFileSystemWatcher (0x7f589088f690)
+
+Class QUrl
+ size=8 align=8
+ base size=8 base align=8
+QUrl (0x7f58908a3bd0) 0
+
+Class QMetaType
+ size=1 align=1
+ base size=0 base align=1
+QMetaType (0x7f589070e3f0) 0 empty
+
+Class QVariant::PrivateShared
+ size=16 align=8
+ base size=12 base align=8
+QVariant::PrivateShared (0x7f58905df930) 0
+
+Class QVariant::Private::Data
+ size=8 align=8
+ base size=8 base align=8
+QVariant::Private::Data (0x7f58905dfc40) 0
+
+Class QVariant::Private
+ size=16 align=8
+ base size=12 base align=8
+QVariant::Private (0x7f58905dfa10) 0
+
+Class QVariant::Handler
+ size=72 align=8
+ base size=72 base align=8
+QVariant::Handler (0x7f58905ed930) 0
+
+Class QVariant
+ size=16 align=8
+ base size=16 base align=8
+QVariant (0x7f58905afaf0) 0
+
+Class QVariantComparisonHelper
+ size=8 align=8
+ base size=8 base align=8
+QVariantComparisonHelper (0x7f5890493cb0) 0
+
+Vtable for QSettings
+QSettings::_ZTV9QSettings: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QSettings)
+16 QSettings::metaObject
+24 QSettings::qt_metacast
+32 QSettings::qt_metacall
+40 QSettings::~QSettings
+48 QSettings::~QSettings
+56 QSettings::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QSettings
+ size=16 align=8
+ base size=16 base align=8
+QSettings (0x7f58904b8cb0) 0
+ vptr=((& QSettings::_ZTV9QSettings) + 16u)
+ QObject (0x7f58904b8d20) 0
+ primary-for QSettings (0x7f58904b8cb0)
+
+Class QXmlStreamStringRef
+ size=16 align=8
+ base size=16 base align=8
+QXmlStreamStringRef (0x7f589053b070) 0
+
+Class QXmlStreamAttribute
+ size=80 align=8
+ base size=73 base align=8
+QXmlStreamAttribute (0x7f5890559850) 0
+
+Class QXmlStreamAttributes
+ size=8 align=8
+ base size=8 base align=8
+QXmlStreamAttributes (0x7f5890580380) 0
+ QVector<QXmlStreamAttribute> (0x7f58905803f0) 0
+
+Class QXmlStreamNamespaceDeclaration
+ size=40 align=8
+ base size=40 base align=8
+QXmlStreamNamespaceDeclaration (0x7f5890580850) 0
+
+Class QXmlStreamNotationDeclaration
+ size=56 align=8
+ base size=56 base align=8
+QXmlStreamNotationDeclaration (0x7f58903c01c0) 0
+
+Class QXmlStreamEntityDeclaration
+ size=88 align=8
+ base size=88 base align=8
+QXmlStreamEntityDeclaration (0x7f58903e0070) 0
+
+Vtable for QXmlStreamEntityResolver
+QXmlStreamEntityResolver::_ZTV24QXmlStreamEntityResolver: 6u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI24QXmlStreamEntityResolver)
+16 QXmlStreamEntityResolver::~QXmlStreamEntityResolver
+24 QXmlStreamEntityResolver::~QXmlStreamEntityResolver
+32 QXmlStreamEntityResolver::resolveEntity
+40 QXmlStreamEntityResolver::resolveUndeclaredEntity
+
+Class QXmlStreamEntityResolver
+ size=8 align=8
+ base size=8 base align=8
+QXmlStreamEntityResolver (0x7f58903fe9a0) 0 nearly-empty
+ vptr=((& QXmlStreamEntityResolver::_ZTV24QXmlStreamEntityResolver) + 16u)
+
+Class QXmlStreamReader
+ size=8 align=8
+ base size=8 base align=8
+QXmlStreamReader (0x7f58903feb60) 0
+
+Class QXmlStreamWriter
+ size=8 align=8
+ base size=8 base align=8
+QXmlStreamWriter (0x7f589043ba10) 0
+
+Class QPoint
+ size=8 align=4
+ base size=8 base align=4
+QPoint (0x7f5890477150) 0
+
+Class QPointF
+ size=16 align=8
+ base size=16 base align=8
+QPointF (0x7f58902aed90) 0
+
+Class QLine
+ size=16 align=4
+ base size=16 base align=4
+QLine (0x7f58902edbd0) 0
+
+Class QLineF
+ size=32 align=8
+ base size=32 base align=8
+QLineF (0x7f5890327a80) 0
+
+Class QSize
+ size=8 align=4
+ base size=8 base align=4
+QSize (0x7f5890183540) 0
+
+Class QSizeF
+ size=16 align=8
+ base size=16 base align=8
+QSizeF (0x7f58901ce380) 0
+
+Class QRect
+ size=16 align=4
+ base size=16 base align=4
+QRect (0x7f589021a9a0) 0
+
+Class QRectF
+ size=32 align=8
+ base size=32 base align=8
+QRectF (0x7f58900cb380) 0
+
+Class QSharedData
+ size=4 align=4
+ base size=4 base align=4
+QSharedData (0x7f5890176150) 0
+
+Vtable for QtSharedPointer::ExternalRefCountData
+QtSharedPointer::ExternalRefCountData::_ZTVN15QtSharedPointer20ExternalRefCountDataE: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN15QtSharedPointer20ExternalRefCountDataE)
+16 QtSharedPointer::ExternalRefCountData::~ExternalRefCountData
+24 QtSharedPointer::ExternalRefCountData::~ExternalRefCountData
+32 QtSharedPointer::ExternalRefCountData::destroy
+
+Class QtSharedPointer::ExternalRefCountData
+ size=16 align=8
+ base size=16 base align=8
+QtSharedPointer::ExternalRefCountData (0x7f588ffa4af0) 0
+ vptr=((& QtSharedPointer::ExternalRefCountData::_ZTVN15QtSharedPointer20ExternalRefCountDataE) + 16u)
+
+Class QLinkedListData
+ size=32 align=8
+ base size=32 base align=8
+QLinkedListData (0x7f589002bc40) 0
+
+Class QBitArray
+ size=8 align=8
+ base size=8 base align=8
+QBitArray (0x7f588fef8b60) 0
+
+Class QBitRef
+ size=16 align=8
+ base size=12 base align=8
+QBitRef (0x7f588ff6c930) 0
+
+Class QByteArrayMatcher
+ size=1040 align=8
+ base size=1040 base align=8
+QByteArrayMatcher (0x7f588fd86310) 0
+
+Class QCryptographicHash
+ size=8 align=8
+ base size=8 base align=8
+QCryptographicHash (0x7f588fd97a10) 0
+
+Class QTextBoundaryFinder
+ size=48 align=8
+ base size=48 base align=8
+QTextBoundaryFinder (0x7f588fdc4460) 0
+
+Class QDate
+ size=4 align=4
+ base size=4 base align=4
+QDate (0x7f588fdda7e0) 0
+
+Class QTime
+ size=4 align=4
+ base size=4 base align=4
+QTime (0x7f588fe03770) 0
+
+Class QDateTime
+ size=8 align=8
+ base size=8 base align=8
+QDateTime (0x7f588fe21d20) 0
+
+Vtable for QTimeLine
+QTimeLine::_ZTV9QTimeLine: 15u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QTimeLine)
+16 QTimeLine::metaObject
+24 QTimeLine::qt_metacast
+32 QTimeLine::qt_metacall
+40 QTimeLine::~QTimeLine
+48 QTimeLine::~QTimeLine
+56 QObject::event
+64 QObject::eventFilter
+72 QTimeLine::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QTimeLine::valueForTime
+
+Class QTimeLine
+ size=16 align=8
+ base size=16 base align=8
+QTimeLine (0x7f588fe551c0) 0
+ vptr=((& QTimeLine::_ZTV9QTimeLine) + 16u)
+ QObject (0x7f588fe55230) 0
+ primary-for QTimeLine (0x7f588fe551c0)
+
+Vtable for QRunnable
+QRunnable::_ZTV9QRunnable: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QRunnable)
+16 __cxa_pure_virtual
+24 QRunnable::~QRunnable
+32 QRunnable::~QRunnable
+
+Class QRunnable
+ size=16 align=8
+ base size=12 base align=8
+QRunnable (0x7f588fc7c070) 0
+ vptr=((& QRunnable::_ZTV9QRunnable) + 16u)
+
+Class QMutex
+ size=8 align=8
+ base size=8 base align=8
+QMutex (0x7f588fc88700) 0
+
+Class QMutexLocker
+ size=8 align=8
+ base size=8 base align=8
+QMutexLocker (0x7f588fc972a0) 0
+
+Vtable for QtConcurrent::Exception
+QtConcurrent::Exception::_ZTVN12QtConcurrent9ExceptionE: 7u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN12QtConcurrent9ExceptionE)
+16 QtConcurrent::Exception::~Exception
+24 QtConcurrent::Exception::~Exception
+32 std::exception::what
+40 QtConcurrent::Exception::raise
+48 QtConcurrent::Exception::clone
+
+Class QtConcurrent::Exception
+ size=8 align=8
+ base size=8 base align=8
+QtConcurrent::Exception (0x7f588fcad5b0) 0 nearly-empty
+ vptr=((& QtConcurrent::Exception::_ZTVN12QtConcurrent9ExceptionE) + 16u)
+ std::exception (0x7f588fcad620) 0 nearly-empty
+ primary-for QtConcurrent::Exception (0x7f588fcad5b0)
+
+Vtable for QtConcurrent::UnhandledException
+QtConcurrent::UnhandledException::_ZTVN12QtConcurrent18UnhandledExceptionE: 7u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN12QtConcurrent18UnhandledExceptionE)
+16 QtConcurrent::UnhandledException::~UnhandledException
+24 QtConcurrent::UnhandledException::~UnhandledException
+32 std::exception::what
+40 QtConcurrent::UnhandledException::raise
+48 QtConcurrent::UnhandledException::clone
+
+Class QtConcurrent::UnhandledException
+ size=8 align=8
+ base size=8 base align=8
+QtConcurrent::UnhandledException (0x7f588fcad850) 0 nearly-empty
+ vptr=((& QtConcurrent::UnhandledException::_ZTVN12QtConcurrent18UnhandledExceptionE) + 16u)
+ QtConcurrent::Exception (0x7f588fcad8c0) 0 nearly-empty
+ primary-for QtConcurrent::UnhandledException (0x7f588fcad850)
+ std::exception (0x7f588fcad930) 0 nearly-empty
+ primary-for QtConcurrent::Exception (0x7f588fcad8c0)
+
+Class QtConcurrent::internal::ExceptionHolder
+ size=8 align=8
+ base size=8 base align=8
+QtConcurrent::internal::ExceptionHolder (0x7f588fcadb60) 0
+
+Class QtConcurrent::internal::ExceptionStore
+ size=8 align=8
+ base size=8 base align=8
+QtConcurrent::internal::ExceptionStore (0x7f588fcadee0) 0
+
+Class QtConcurrent::ResultItem
+ size=16 align=8
+ base size=16 base align=8
+QtConcurrent::ResultItem (0x7f588fcadf50) 0
+
+Class QtConcurrent::ResultIteratorBase
+ size=16 align=8
+ base size=12 base align=8
+QtConcurrent::ResultIteratorBase (0x7f588fcc5e70) 0
+
+Vtable for QtConcurrent::ResultStoreBase
+QtConcurrent::ResultStoreBase::_ZTVN12QtConcurrent15ResultStoreBaseE: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN12QtConcurrent15ResultStoreBaseE)
+16 QtConcurrent::ResultStoreBase::~ResultStoreBase
+24 QtConcurrent::ResultStoreBase::~ResultStoreBase
+
+Class QtConcurrent::ResultStoreBase
+ size=48 align=8
+ base size=44 base align=8
+QtConcurrent::ResultStoreBase (0x7f588fcc9a10) 0
+ vptr=((& QtConcurrent::ResultStoreBase::_ZTVN12QtConcurrent15ResultStoreBaseE) + 16u)
+
+Vtable for QFutureInterfaceBase
+QFutureInterfaceBase::_ZTV20QFutureInterfaceBase: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI20QFutureInterfaceBase)
+16 QFutureInterfaceBase::~QFutureInterfaceBase
+24 QFutureInterfaceBase::~QFutureInterfaceBase
+
+Class QFutureInterfaceBase
+ size=16 align=8
+ base size=16 base align=8
+QFutureInterfaceBase (0x7f588fd0ae70) 0
+ vptr=((& QFutureInterfaceBase::_ZTV20QFutureInterfaceBase) + 16u)
+
+Vtable for QThread
+QThread::_ZTV7QThread: 15u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QThread)
+16 QThread::metaObject
+24 QThread::qt_metacast
+32 QThread::qt_metacall
+40 QThread::~QThread
+48 QThread::~QThread
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QThread::run
+
+Class QThread
+ size=16 align=8
+ base size=16 base align=8
+QThread (0x7f588fbeee00) 0
+ vptr=((& QThread::_ZTV7QThread) + 16u)
+ QObject (0x7f588fbeee70) 0
+ primary-for QThread (0x7f588fbeee00)
+
+Vtable for QThreadPool
+QThreadPool::_ZTV11QThreadPool: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QThreadPool)
+16 QThreadPool::metaObject
+24 QThreadPool::qt_metacast
+32 QThreadPool::qt_metacall
+40 QThreadPool::~QThreadPool
+48 QThreadPool::~QThreadPool
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QThreadPool
+ size=16 align=8
+ base size=16 base align=8
+QThreadPool (0x7f588fc21cb0) 0
+ vptr=((& QThreadPool::_ZTV11QThreadPool) + 16u)
+ QObject (0x7f588fc21d20) 0
+ primary-for QThreadPool (0x7f588fc21cb0)
+
+Class QWaitCondition
+ size=8 align=8
+ base size=8 base align=8
+QWaitCondition (0x7f588fc38540) 0
+
+Class QtConcurrent::ThreadEngineSemaphore
+ size=24 align=8
+ base size=24 base align=8
+QtConcurrent::ThreadEngineSemaphore (0x7f588fc38a80) 0
+
+Vtable for QtConcurrent::ThreadEngineBase
+QtConcurrent::ThreadEngineBase::_ZTVN12QtConcurrent16ThreadEngineBaseE: 11u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN12QtConcurrent16ThreadEngineBaseE)
+16 QtConcurrent::ThreadEngineBase::run
+24 QtConcurrent::ThreadEngineBase::~ThreadEngineBase
+32 QtConcurrent::ThreadEngineBase::~ThreadEngineBase
+40 QtConcurrent::ThreadEngineBase::start
+48 QtConcurrent::ThreadEngineBase::finish
+56 QtConcurrent::ThreadEngineBase::threadFunction
+64 QtConcurrent::ThreadEngineBase::shouldStartThread
+72 QtConcurrent::ThreadEngineBase::shouldThrottleThread
+80 __cxa_pure_virtual
+
+Class QtConcurrent::ThreadEngineBase
+ size=64 align=8
+ base size=64 base align=8
+QtConcurrent::ThreadEngineBase (0x7f588fc58460) 0
+ vptr=((& QtConcurrent::ThreadEngineBase::_ZTVN12QtConcurrent16ThreadEngineBaseE) + 16u)
+ QRunnable (0x7f588fc584d0) 0
+ primary-for QtConcurrent::ThreadEngineBase (0x7f588fc58460)
+
+VTT for QtConcurrent::ThreadEngine<void>
+QtConcurrent::ThreadEngine<void>::_ZTTN12QtConcurrent12ThreadEngineIvEE: 2u entries
+0 ((& QtConcurrent::ThreadEngine<void>::_ZTVN12QtConcurrent12ThreadEngineIvEE) + 24u)
+8 ((& QtConcurrent::ThreadEngine<void>::_ZTVN12QtConcurrent12ThreadEngineIvEE) + 136u)
+
+Class std::input_iterator_tag
+ size=1 align=1
+ base size=0 base align=1
+std::input_iterator_tag (0x7f588fa9b850) 0 empty
+
+Class std::output_iterator_tag
+ size=1 align=1
+ base size=0 base align=1
+std::output_iterator_tag (0x7f588fa9b8c0) 0 empty
+
+Class std::forward_iterator_tag
+ size=1 align=1
+ base size=1 base align=1
+std::forward_iterator_tag (0x7f588fa9b930) 0 empty
+ std::input_iterator_tag (0x7f588fa9b9a0) 0 empty
+
+Class std::bidirectional_iterator_tag
+ size=1 align=1
+ base size=1 base align=1
+std::bidirectional_iterator_tag (0x7f588fa9ba10) 0 empty
+ std::forward_iterator_tag (0x7f588fa9ba80) 0 empty
+ std::input_iterator_tag (0x7f588fa9baf0) 0 empty
+
+Class std::random_access_iterator_tag
+ size=1 align=1
+ base size=1 base align=1
+std::random_access_iterator_tag (0x7f588fa9bb60) 0 empty
+ std::bidirectional_iterator_tag (0x7f588fa9bbd0) 0 empty
+ std::forward_iterator_tag (0x7f588fa9bc40) 0 empty
+ std::input_iterator_tag (0x7f588fa9bcb0) 0 empty
+
+Class std::__true_type
+ size=1 align=1
+ base size=0 base align=1
+std::__true_type (0x7f588faad2a0) 0 empty
+
+Class std::__false_type
+ size=1 align=1
+ base size=0 base align=1
+std::__false_type (0x7f588faad310) 0 empty
+
+Class lconv
+ size=96 align=8
+ base size=96 base align=8
+lconv (0x7f588f889620) 0
+
+Class sched_param
+ size=4 align=4
+ base size=4 base align=4
+sched_param (0x7f588f889a80) 0
+
+Class __sched_param
+ size=4 align=4
+ base size=4 base align=4
+__sched_param (0x7f588f889af0) 0
+
+Class tm
+ size=56 align=8
+ base size=56 base align=8
+tm (0x7f588f889bd0) 0
+
+Class itimerspec
+ size=32 align=8
+ base size=32 base align=8
+itimerspec (0x7f588f889cb0) 0
+
+Class _pthread_cleanup_buffer
+ size=32 align=8
+ base size=32 base align=8
+_pthread_cleanup_buffer (0x7f588f889d20) 0
+
+Class __pthread_cleanup_frame
+ size=24 align=8
+ base size=24 base align=8
+__pthread_cleanup_frame (0x7f588f889e70) 0
+
+Class __pthread_cleanup_class
+ size=24 align=8
+ base size=24 base align=8
+__pthread_cleanup_class (0x7f588f889ee0) 0
+
+Vtable for __cxxabiv1::__forced_unwind
+__cxxabiv1::__forced_unwind::_ZTVN10__cxxabiv115__forced_unwindE: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN10__cxxabiv115__forced_unwindE)
+16 __cxxabiv1::__forced_unwind::~__forced_unwind
+24 __cxxabiv1::__forced_unwind::~__forced_unwind
+32 __cxa_pure_virtual
+
+Class __cxxabiv1::__forced_unwind
+ size=8 align=8
+ base size=8 base align=8
+__cxxabiv1::__forced_unwind (0x7f588f79ea80) 0 nearly-empty
+ vptr=((& __cxxabiv1::__forced_unwind::_ZTVN10__cxxabiv115__forced_unwindE) + 16u)
+
+Class std::locale
+ size=8 align=8
+ base size=8 base align=8
+std::locale (0x7f588f6515b0) 0
+
+Vtable for std::locale::facet
+std::locale::facet::_ZTVNSt6locale5facetE: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTINSt6locale5facetE)
+16 std::locale::facet::~facet
+24 std::locale::facet::~facet
+
+Class std::locale::facet
+ size=16 align=8
+ base size=12 base align=8
+std::locale::facet (0x7f588f4f2cb0) 0
+ vptr=((& std::locale::facet::_ZTVNSt6locale5facetE) + 16u)
+
+Class std::locale::id
+ size=8 align=8
+ base size=8 base align=8
+std::locale::id (0x7f588f5072a0) 0
+
+Class std::locale::_Impl
+ size=40 align=8
+ base size=40 base align=8
+std::locale::_Impl (0x7f588f5078c0) 0
+
+Vtable for std::ios_base::failure
+std::ios_base::failure::_ZTVNSt8ios_base7failureE: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTINSt8ios_base7failureE)
+16 std::ios_base::failure::~failure
+24 std::ios_base::failure::~failure
+32 std::ios_base::failure::what
+
+Class std::ios_base::failure
+ size=16 align=8
+ base size=16 base align=8
+std::ios_base::failure (0x7f588f395070) 0
+ vptr=((& std::ios_base::failure::_ZTVNSt8ios_base7failureE) + 16u)
+ std::exception (0x7f588f3950e0) 0 nearly-empty
+ primary-for std::ios_base::failure (0x7f588f395070)
+
+Class std::ios_base::_Callback_list
+ size=24 align=8
+ base size=24 base align=8
+std::ios_base::_Callback_list (0x7f588f3a3310) 0
+
+Class std::ios_base::_Words
+ size=16 align=8
+ base size=16 base align=8
+std::ios_base::_Words (0x7f588f3a3d90) 0
+
+Class std::ios_base::Init
+ size=1 align=1
+ base size=0 base align=1
+std::ios_base::Init (0x7f588f3aa4d0) 0 empty
+
+Vtable for std::ios_base
+std::ios_base::_ZTVSt8ios_base: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt8ios_base)
+16 std::ios_base::~ios_base
+24 std::ios_base::~ios_base
+
+Class std::ios_base
+ size=216 align=8
+ base size=216 base align=8
+std::ios_base (0x7f588f395000) 0
+ vptr=((& std::ios_base::_ZTVSt8ios_base) + 16u)
+
+Class std::ctype_base
+ size=1 align=1
+ base size=0 base align=1
+std::ctype_base (0x7f588f422930) 0 empty
+
+Class std::__num_base
+ size=1 align=1
+ base size=0 base align=1
+std::__num_base (0x7f588f3471c0) 0 empty
+
+VTT for std::basic_ostream<char, std::char_traits<char> >
+std::basic_ostream<char, std::char_traits<char> >::_ZTTSo: 2u entries
+0 ((& std::basic_ostream<char, std::char_traits<char> >::_ZTVSo) + 24u)
+8 ((& std::basic_ostream<char, std::char_traits<char> >::_ZTVSo) + 64u)
+
+VTT for std::basic_ostream<wchar_t, std::char_traits<wchar_t> >
+std::basic_ostream<wchar_t, std::char_traits<wchar_t> >::_ZTTSt13basic_ostreamIwSt11char_traitsIwEE: 2u entries
+0 ((& std::basic_ostream<wchar_t, std::char_traits<wchar_t> >::_ZTVSt13basic_ostreamIwSt11char_traitsIwEE) + 24u)
+8 ((& std::basic_ostream<wchar_t, std::char_traits<wchar_t> >::_ZTVSt13basic_ostreamIwSt11char_traitsIwEE) + 64u)
+
+VTT for std::basic_istream<char, std::char_traits<char> >
+std::basic_istream<char, std::char_traits<char> >::_ZTTSi: 2u entries
+0 ((& std::basic_istream<char, std::char_traits<char> >::_ZTVSi) + 24u)
+8 ((& std::basic_istream<char, std::char_traits<char> >::_ZTVSi) + 64u)
+
+VTT for std::basic_istream<wchar_t, std::char_traits<wchar_t> >
+std::basic_istream<wchar_t, std::char_traits<wchar_t> >::_ZTTSt13basic_istreamIwSt11char_traitsIwEE: 2u entries
+0 ((& std::basic_istream<wchar_t, std::char_traits<wchar_t> >::_ZTVSt13basic_istreamIwSt11char_traitsIwEE) + 24u)
+8 ((& std::basic_istream<wchar_t, std::char_traits<wchar_t> >::_ZTVSt13basic_istreamIwSt11char_traitsIwEE) + 64u)
+
+Construction vtable for std::basic_istream<char, std::char_traits<char> > (0x7f588ee74310 instance) in std::basic_iostream<char, std::char_traits<char> >
+std::basic_iostream<char, std::char_traits<char> >::_ZTCSd0_Si: 10u entries
+0 24u
+8 (int (*)(...))0
+16 (int (*)(...))(& _ZTISi)
+24 std::basic_istream<_CharT, _Traits>::~basic_istream [with _CharT = char, _Traits = std::char_traits<char>]
+32 std::basic_istream<_CharT, _Traits>::~basic_istream [with _CharT = char, _Traits = std::char_traits<char>]
+40 -24u
+48 (int (*)(...))-0x00000000000000018
+56 (int (*)(...))(& _ZTISi)
+64 std::basic_istream<char, std::char_traits<char> >::_ZTv0_n24_NSiD1Ev
+72 std::basic_istream<char, std::char_traits<char> >::_ZTv0_n24_NSiD0Ev
+
+Construction vtable for std::basic_ostream<char, std::char_traits<char> > (0x7f588ee74460 instance) in std::basic_iostream<char, std::char_traits<char> >
+std::basic_iostream<char, std::char_traits<char> >::_ZTCSd16_So: 10u entries
+0 8u
+8 (int (*)(...))0
+16 (int (*)(...))(& _ZTISo)
+24 std::basic_ostream<_CharT, _Traits>::~basic_ostream [with _CharT = char, _Traits = std::char_traits<char>]
+32 std::basic_ostream<_CharT, _Traits>::~basic_ostream [with _CharT = char, _Traits = std::char_traits<char>]
+40 -8u
+48 (int (*)(...))-0x00000000000000008
+56 (int (*)(...))(& _ZTISo)
+64 std::basic_ostream<char, std::char_traits<char> >::_ZTv0_n24_NSoD1Ev
+72 std::basic_ostream<char, std::char_traits<char> >::_ZTv0_n24_NSoD0Ev
+
+VTT for std::basic_iostream<char, std::char_traits<char> >
+std::basic_iostream<char, std::char_traits<char> >::_ZTTSd: 7u entries
+0 ((& std::basic_iostream<char, std::char_traits<char> >::_ZTVSd) + 24u)
+8 ((& std::basic_iostream<char, std::char_traits<char> >::_ZTCSd0_Si) + 24u)
+16 ((& std::basic_iostream<char, std::char_traits<char> >::_ZTCSd0_Si) + 64u)
+24 ((& std::basic_iostream<char, std::char_traits<char> >::_ZTCSd16_So) + 24u)
+32 ((& std::basic_iostream<char, std::char_traits<char> >::_ZTCSd16_So) + 64u)
+40 ((& std::basic_iostream<char, std::char_traits<char> >::_ZTVSd) + 104u)
+48 ((& std::basic_iostream<char, std::char_traits<char> >::_ZTVSd) + 64u)
+
+Construction vtable for std::basic_istream<wchar_t, std::char_traits<wchar_t> > (0x7f588ee74620 instance) in std::basic_iostream<wchar_t, std::char_traits<wchar_t> >
+std::basic_iostream<wchar_t, std::char_traits<wchar_t> >::_ZTCSt14basic_iostreamIwSt11char_traitsIwEE0_St13basic_istreamIwS1_E: 10u entries
+0 24u
+8 (int (*)(...))0
+16 (int (*)(...))(& _ZTISt13basic_istreamIwSt11char_traitsIwEE)
+24 std::basic_istream<_CharT, _Traits>::~basic_istream [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
+32 std::basic_istream<_CharT, _Traits>::~basic_istream [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
+40 -24u
+48 (int (*)(...))-0x00000000000000018
+56 (int (*)(...))(& _ZTISt13basic_istreamIwSt11char_traitsIwEE)
+64 std::basic_istream<wchar_t, std::char_traits<wchar_t> >::_ZTv0_n24_NSt13basic_istreamIwSt11char_traitsIwEED1Ev
+72 std::basic_istream<wchar_t, std::char_traits<wchar_t> >::_ZTv0_n24_NSt13basic_istreamIwSt11char_traitsIwEED0Ev
+
+Construction vtable for std::basic_ostream<wchar_t, std::char_traits<wchar_t> > (0x7f588ee74770 instance) in std::basic_iostream<wchar_t, std::char_traits<wchar_t> >
+std::basic_iostream<wchar_t, std::char_traits<wchar_t> >::_ZTCSt14basic_iostreamIwSt11char_traitsIwEE16_St13basic_ostreamIwS1_E: 10u entries
+0 8u
+8 (int (*)(...))0
+16 (int (*)(...))(& _ZTISt13basic_ostreamIwSt11char_traitsIwEE)
+24 std::basic_ostream<_CharT, _Traits>::~basic_ostream [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
+32 std::basic_ostream<_CharT, _Traits>::~basic_ostream [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
+40 -8u
+48 (int (*)(...))-0x00000000000000008
+56 (int (*)(...))(& _ZTISt13basic_ostreamIwSt11char_traitsIwEE)
+64 std::basic_ostream<wchar_t, std::char_traits<wchar_t> >::_ZTv0_n24_NSt13basic_ostreamIwSt11char_traitsIwEED1Ev
+72 std::basic_ostream<wchar_t, std::char_traits<wchar_t> >::_ZTv0_n24_NSt13basic_ostreamIwSt11char_traitsIwEED0Ev
+
+VTT for std::basic_iostream<wchar_t, std::char_traits<wchar_t> >
+std::basic_iostream<wchar_t, std::char_traits<wchar_t> >::_ZTTSt14basic_iostreamIwSt11char_traitsIwEE: 7u entries
+0 ((& std::basic_iostream<wchar_t, std::char_traits<wchar_t> >::_ZTVSt14basic_iostreamIwSt11char_traitsIwEE) + 24u)
+8 ((& std::basic_iostream<wchar_t, std::char_traits<wchar_t> >::_ZTCSt14basic_iostreamIwSt11char_traitsIwEE0_St13basic_istreamIwS1_E) + 24u)
+16 ((& std::basic_iostream<wchar_t, std::char_traits<wchar_t> >::_ZTCSt14basic_iostreamIwSt11char_traitsIwEE0_St13basic_istreamIwS1_E) + 64u)
+24 ((& std::basic_iostream<wchar_t, std::char_traits<wchar_t> >::_ZTCSt14basic_iostreamIwSt11char_traitsIwEE16_St13basic_ostreamIwS1_E) + 24u)
+32 ((& std::basic_iostream<wchar_t, std::char_traits<wchar_t> >::_ZTCSt14basic_iostreamIwSt11char_traitsIwEE16_St13basic_ostreamIwS1_E) + 64u)
+40 ((& std::basic_iostream<wchar_t, std::char_traits<wchar_t> >::_ZTVSt14basic_iostreamIwSt11char_traitsIwEE) + 104u)
+48 ((& std::basic_iostream<wchar_t, std::char_traits<wchar_t> >::_ZTVSt14basic_iostreamIwSt11char_traitsIwEE) + 64u)
+
+Class QtConcurrent::BlockSizeManager
+ size=96 align=8
+ base size=92 base align=8
+QtConcurrent::BlockSizeManager (0x7f588eede230) 0
+
+Vtable for QFutureWatcherBase
+QFutureWatcherBase::_ZTV18QFutureWatcherBase: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QFutureWatcherBase)
+16 QFutureWatcherBase::metaObject
+24 QFutureWatcherBase::qt_metacast
+32 QFutureWatcherBase::qt_metacall
+40 QFutureWatcherBase::~QFutureWatcherBase
+48 QFutureWatcherBase::~QFutureWatcherBase
+56 QFutureWatcherBase::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QFutureWatcherBase::connectNotify
+104 QFutureWatcherBase::disconnectNotify
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+
+Class QFutureWatcherBase
+ size=16 align=8
+ base size=16 base align=8
+QFutureWatcherBase (0x7f588eaa9bd0) 0
+ vptr=((& QFutureWatcherBase::_ZTV18QFutureWatcherBase) + 16u)
+ QObject (0x7f588eaa9c40) 0
+ primary-for QFutureWatcherBase (0x7f588eaa9bd0)
+
+Vtable for QFactoryInterface
+QFactoryInterface::_ZTV17QFactoryInterface: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QFactoryInterface)
+16 QFactoryInterface::~QFactoryInterface
+24 QFactoryInterface::~QFactoryInterface
+32 __cxa_pure_virtual
+
+Class QFactoryInterface
+ size=8 align=8
+ base size=8 base align=8
+QFactoryInterface (0x7f588e9c0e00) 0 nearly-empty
+ vptr=((& QFactoryInterface::_ZTV17QFactoryInterface) + 16u)
+
+Vtable for QTextCodecFactoryInterface
+QTextCodecFactoryInterface::_ZTV26QTextCodecFactoryInterface: 6u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI26QTextCodecFactoryInterface)
+16 QTextCodecFactoryInterface::~QTextCodecFactoryInterface
+24 QTextCodecFactoryInterface::~QTextCodecFactoryInterface
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+
+Class QTextCodecFactoryInterface
+ size=8 align=8
+ base size=8 base align=8
+QTextCodecFactoryInterface (0x7f588e9e3ee0) 0 nearly-empty
+ vptr=((& QTextCodecFactoryInterface::_ZTV26QTextCodecFactoryInterface) + 16u)
+ QFactoryInterface (0x7f588e9e3f50) 0 nearly-empty
+ primary-for QTextCodecFactoryInterface (0x7f588e9e3ee0)
+
+Vtable for QTextCodecPlugin
+QTextCodecPlugin::_ZTV16QTextCodecPlugin: 27u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QTextCodecPlugin)
+16 QTextCodecPlugin::metaObject
+24 QTextCodecPlugin::qt_metacast
+32 QTextCodecPlugin::qt_metacall
+40 QTextCodecPlugin::~QTextCodecPlugin
+48 QTextCodecPlugin::~QTextCodecPlugin
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 __cxa_pure_virtual
+136 __cxa_pure_virtual
+144 __cxa_pure_virtual
+152 QTextCodecPlugin::keys
+160 QTextCodecPlugin::create
+168 (int (*)(...))-0x00000000000000010
+176 (int (*)(...))(& _ZTI16QTextCodecPlugin)
+184 QTextCodecPlugin::_ZThn16_N16QTextCodecPluginD1Ev
+192 QTextCodecPlugin::_ZThn16_N16QTextCodecPluginD0Ev
+200 QTextCodecPlugin::_ZThn16_NK16QTextCodecPlugin4keysEv
+208 QTextCodecPlugin::_ZThn16_N16QTextCodecPlugin6createERK7QString
+
+Class QTextCodecPlugin
+ size=24 align=8
+ base size=24 base align=8
+QTextCodecPlugin (0x7f588e9e6e00) 0
+ vptr=((& QTextCodecPlugin::_ZTV16QTextCodecPlugin) + 16u)
+ QObject (0x7f588e9ee7e0) 0
+ primary-for QTextCodecPlugin (0x7f588e9e6e00)
+ QTextCodecFactoryInterface (0x7f588e9ee850) 16 nearly-empty
+ vptr=((& QTextCodecPlugin::_ZTV16QTextCodecPlugin) + 184u)
+ QFactoryInterface (0x7f588e9ee8c0) 16 nearly-empty
+ primary-for QTextCodecFactoryInterface (0x7f588e9ee850)
+
+Class QLibraryInfo
+ size=1 align=1
+ base size=0 base align=1
+QLibraryInfo (0x7f588ea04700) 0 empty
+
+Vtable for QTranslator
+QTranslator::_ZTV11QTranslator: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QTranslator)
+16 QTranslator::metaObject
+24 QTranslator::qt_metacast
+32 QTranslator::qt_metacall
+40 QTranslator::~QTranslator
+48 QTranslator::~QTranslator
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QTranslator::translate
+120 QTranslator::isEmpty
+
+Class QTranslator
+ size=16 align=8
+ base size=16 base align=8
+QTranslator (0x7f588ea49000) 0
+ vptr=((& QTranslator::_ZTV11QTranslator) + 16u)
+ QObject (0x7f588ea49070) 0
+ primary-for QTranslator (0x7f588ea49000)
+
+Class __exception
+ size=40 align=8
+ base size=40 base align=8
+__exception (0x7f588ea5af50) 0
+
+Vtable for QMimeData
+QMimeData::_ZTV9QMimeData: 17u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QMimeData)
+16 QMimeData::metaObject
+24 QMimeData::qt_metacast
+32 QMimeData::qt_metacall
+40 QMimeData::~QMimeData
+48 QMimeData::~QMimeData
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QMimeData::hasFormat
+120 QMimeData::formats
+128 QMimeData::retrieveData
+
+Class QMimeData
+ size=16 align=8
+ base size=16 base align=8
+QMimeData (0x7f588e8c6150) 0
+ vptr=((& QMimeData::_ZTV9QMimeData) + 16u)
+ QObject (0x7f588e8c61c0) 0
+ primary-for QMimeData (0x7f588e8c6150)
+
+Vtable for QEventLoop
+QEventLoop::_ZTV10QEventLoop: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QEventLoop)
+16 QEventLoop::metaObject
+24 QEventLoop::qt_metacast
+32 QEventLoop::qt_metacall
+40 QEventLoop::~QEventLoop
+48 QEventLoop::~QEventLoop
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QEventLoop
+ size=16 align=8
+ base size=16 base align=8
+QEventLoop (0x7f588e8dd9a0) 0
+ vptr=((& QEventLoop::_ZTV10QEventLoop) + 16u)
+ QObject (0x7f588e8dda10) 0
+ primary-for QEventLoop (0x7f588e8dd9a0)
+
+Vtable for QEvent
+QEvent::_ZTV6QEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI6QEvent)
+16 QEvent::~QEvent
+24 QEvent::~QEvent
+
+Class QEvent
+ size=24 align=8
+ base size=20 base align=8
+QEvent (0x7f588e91f310) 0
+ vptr=((& QEvent::_ZTV6QEvent) + 16u)
+
+Vtable for QTimerEvent
+QTimerEvent::_ZTV11QTimerEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QTimerEvent)
+16 QTimerEvent::~QTimerEvent
+24 QTimerEvent::~QTimerEvent
+
+Class QTimerEvent
+ size=24 align=8
+ base size=24 base align=8
+QTimerEvent (0x7f588e938ee0) 0
+ vptr=((& QTimerEvent::_ZTV11QTimerEvent) + 16u)
+ QEvent (0x7f588e938f50) 0
+ primary-for QTimerEvent (0x7f588e938ee0)
+
+Vtable for QChildEvent
+QChildEvent::_ZTV11QChildEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QChildEvent)
+16 QChildEvent::~QChildEvent
+24 QChildEvent::~QChildEvent
+
+Class QChildEvent
+ size=32 align=8
+ base size=32 base align=8
+QChildEvent (0x7f588e93a380) 0
+ vptr=((& QChildEvent::_ZTV11QChildEvent) + 16u)
+ QEvent (0x7f588e93a3f0) 0
+ primary-for QChildEvent (0x7f588e93a380)
+
+Vtable for QCustomEvent
+QCustomEvent::_ZTV12QCustomEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QCustomEvent)
+16 QCustomEvent::~QCustomEvent
+24 QCustomEvent::~QCustomEvent
+
+Class QCustomEvent
+ size=24 align=8
+ base size=20 base align=8
+QCustomEvent (0x7f588e94d620) 0
+ vptr=((& QCustomEvent::_ZTV12QCustomEvent) + 16u)
+ QEvent (0x7f588e94d690) 0
+ primary-for QCustomEvent (0x7f588e94d620)
+
+Vtable for QDynamicPropertyChangeEvent
+QDynamicPropertyChangeEvent::_ZTV27QDynamicPropertyChangeEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI27QDynamicPropertyChangeEvent)
+16 QDynamicPropertyChangeEvent::~QDynamicPropertyChangeEvent
+24 QDynamicPropertyChangeEvent::~QDynamicPropertyChangeEvent
+
+Class QDynamicPropertyChangeEvent
+ size=32 align=8
+ base size=32 base align=8
+QDynamicPropertyChangeEvent (0x7f588e94de00) 0
+ vptr=((& QDynamicPropertyChangeEvent::_ZTV27QDynamicPropertyChangeEvent) + 16u)
+ QEvent (0x7f588e94de70) 0
+ primary-for QDynamicPropertyChangeEvent (0x7f588e94de00)
+
+Vtable for QCoreApplication
+QCoreApplication::_ZTV16QCoreApplication: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QCoreApplication)
+16 QCoreApplication::metaObject
+24 QCoreApplication::qt_metacast
+32 QCoreApplication::qt_metacall
+40 QCoreApplication::~QCoreApplication
+48 QCoreApplication::~QCoreApplication
+56 QCoreApplication::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QCoreApplication::notify
+120 QCoreApplication::compressEvent
+
+Class QCoreApplication
+ size=16 align=8
+ base size=16 base align=8
+QCoreApplication (0x7f588e95e230) 0
+ vptr=((& QCoreApplication::_ZTV16QCoreApplication) + 16u)
+ QObject (0x7f588e95e2a0) 0
+ primary-for QCoreApplication (0x7f588e95e230)
+
+Vtable for QSharedMemory
+QSharedMemory::_ZTV13QSharedMemory: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QSharedMemory)
+16 QSharedMemory::metaObject
+24 QSharedMemory::qt_metacast
+32 QSharedMemory::qt_metacall
+40 QSharedMemory::~QSharedMemory
+48 QSharedMemory::~QSharedMemory
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QSharedMemory
+ size=16 align=8
+ base size=16 base align=8
+QSharedMemory (0x7f588e789a80) 0
+ vptr=((& QSharedMemory::_ZTV13QSharedMemory) + 16u)
+ QObject (0x7f588e789af0) 0
+ primary-for QSharedMemory (0x7f588e789a80)
+
+Class QModelIndex
+ size=24 align=8
+ base size=24 base align=8
+QModelIndex (0x7f588e7a8850) 0
+
+Class QPersistentModelIndex
+ size=8 align=8
+ base size=8 base align=8
+QPersistentModelIndex (0x7f588e7d0310) 0
+
+Vtable for QAbstractItemModel
+QAbstractItemModel::_ZTV18QAbstractItemModel: 42u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QAbstractItemModel)
+16 QAbstractItemModel::metaObject
+24 QAbstractItemModel::qt_metacast
+32 QAbstractItemModel::qt_metacall
+40 QAbstractItemModel::~QAbstractItemModel
+48 QAbstractItemModel::~QAbstractItemModel
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 __cxa_pure_virtual
+136 __cxa_pure_virtual
+144 QAbstractItemModel::hasChildren
+152 __cxa_pure_virtual
+160 QAbstractItemModel::setData
+168 QAbstractItemModel::headerData
+176 QAbstractItemModel::setHeaderData
+184 QAbstractItemModel::itemData
+192 QAbstractItemModel::setItemData
+200 QAbstractItemModel::mimeTypes
+208 QAbstractItemModel::mimeData
+216 QAbstractItemModel::dropMimeData
+224 QAbstractItemModel::supportedDropActions
+232 QAbstractItemModel::insertRows
+240 QAbstractItemModel::insertColumns
+248 QAbstractItemModel::removeRows
+256 QAbstractItemModel::removeColumns
+264 QAbstractItemModel::fetchMore
+272 QAbstractItemModel::canFetchMore
+280 QAbstractItemModel::flags
+288 QAbstractItemModel::sort
+296 QAbstractItemModel::buddy
+304 QAbstractItemModel::match
+312 QAbstractItemModel::span
+320 QAbstractItemModel::submit
+328 QAbstractItemModel::revert
+
+Class QAbstractItemModel
+ size=16 align=8
+ base size=16 base align=8
+QAbstractItemModel (0x7f588e7dd5b0) 0
+ vptr=((& QAbstractItemModel::_ZTV18QAbstractItemModel) + 16u)
+ QObject (0x7f588e7dd620) 0
+ primary-for QAbstractItemModel (0x7f588e7dd5b0)
+
+Vtable for QAbstractTableModel
+QAbstractTableModel::_ZTV19QAbstractTableModel: 42u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QAbstractTableModel)
+16 QAbstractTableModel::metaObject
+24 QAbstractTableModel::qt_metacast
+32 QAbstractTableModel::qt_metacall
+40 QAbstractTableModel::~QAbstractTableModel
+48 QAbstractTableModel::~QAbstractTableModel
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QAbstractTableModel::index
+120 QAbstractTableModel::parent
+128 __cxa_pure_virtual
+136 __cxa_pure_virtual
+144 QAbstractTableModel::hasChildren
+152 __cxa_pure_virtual
+160 QAbstractItemModel::setData
+168 QAbstractItemModel::headerData
+176 QAbstractItemModel::setHeaderData
+184 QAbstractItemModel::itemData
+192 QAbstractItemModel::setItemData
+200 QAbstractItemModel::mimeTypes
+208 QAbstractItemModel::mimeData
+216 QAbstractTableModel::dropMimeData
+224 QAbstractItemModel::supportedDropActions
+232 QAbstractItemModel::insertRows
+240 QAbstractItemModel::insertColumns
+248 QAbstractItemModel::removeRows
+256 QAbstractItemModel::removeColumns
+264 QAbstractItemModel::fetchMore
+272 QAbstractItemModel::canFetchMore
+280 QAbstractItemModel::flags
+288 QAbstractItemModel::sort
+296 QAbstractItemModel::buddy
+304 QAbstractItemModel::match
+312 QAbstractItemModel::span
+320 QAbstractItemModel::submit
+328 QAbstractItemModel::revert
+
+Class QAbstractTableModel
+ size=16 align=8
+ base size=16 base align=8
+QAbstractTableModel (0x7f588e82e930) 0
+ vptr=((& QAbstractTableModel::_ZTV19QAbstractTableModel) + 16u)
+ QAbstractItemModel (0x7f588e82e9a0) 0
+ primary-for QAbstractTableModel (0x7f588e82e930)
+ QObject (0x7f588e82ea10) 0
+ primary-for QAbstractItemModel (0x7f588e82e9a0)
+
+Vtable for QAbstractListModel
+QAbstractListModel::_ZTV18QAbstractListModel: 42u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QAbstractListModel)
+16 QAbstractListModel::metaObject
+24 QAbstractListModel::qt_metacast
+32 QAbstractListModel::qt_metacall
+40 QAbstractListModel::~QAbstractListModel
+48 QAbstractListModel::~QAbstractListModel
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QAbstractListModel::index
+120 QAbstractListModel::parent
+128 __cxa_pure_virtual
+136 QAbstractListModel::columnCount
+144 QAbstractListModel::hasChildren
+152 __cxa_pure_virtual
+160 QAbstractItemModel::setData
+168 QAbstractItemModel::headerData
+176 QAbstractItemModel::setHeaderData
+184 QAbstractItemModel::itemData
+192 QAbstractItemModel::setItemData
+200 QAbstractItemModel::mimeTypes
+208 QAbstractItemModel::mimeData
+216 QAbstractListModel::dropMimeData
+224 QAbstractItemModel::supportedDropActions
+232 QAbstractItemModel::insertRows
+240 QAbstractItemModel::insertColumns
+248 QAbstractItemModel::removeRows
+256 QAbstractItemModel::removeColumns
+264 QAbstractItemModel::fetchMore
+272 QAbstractItemModel::canFetchMore
+280 QAbstractItemModel::flags
+288 QAbstractItemModel::sort
+296 QAbstractItemModel::buddy
+304 QAbstractItemModel::match
+312 QAbstractItemModel::span
+320 QAbstractItemModel::submit
+328 QAbstractItemModel::revert
+
+Class QAbstractListModel
+ size=16 align=8
+ base size=16 base align=8
+QAbstractListModel (0x7f588e83dee0) 0
+ vptr=((& QAbstractListModel::_ZTV18QAbstractListModel) + 16u)
+ QAbstractItemModel (0x7f588e83df50) 0
+ primary-for QAbstractListModel (0x7f588e83dee0)
+ QObject (0x7f588e83d230) 0
+ primary-for QAbstractItemModel (0x7f588e83df50)
+
+Vtable for QSignalMapper
+QSignalMapper::_ZTV13QSignalMapper: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QSignalMapper)
+16 QSignalMapper::metaObject
+24 QSignalMapper::qt_metacast
+32 QSignalMapper::qt_metacall
+40 QSignalMapper::~QSignalMapper
+48 QSignalMapper::~QSignalMapper
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QSignalMapper
+ size=16 align=8
+ base size=16 base align=8
+QSignalMapper (0x7f588e67e000) 0
+ vptr=((& QSignalMapper::_ZTV13QSignalMapper) + 16u)
+ QObject (0x7f588e67e070) 0
+ primary-for QSignalMapper (0x7f588e67e000)
+
+Vtable for QObjectCleanupHandler
+QObjectCleanupHandler::_ZTV21QObjectCleanupHandler: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI21QObjectCleanupHandler)
+16 QObjectCleanupHandler::metaObject
+24 QObjectCleanupHandler::qt_metacast
+32 QObjectCleanupHandler::qt_metacall
+40 QObjectCleanupHandler::~QObjectCleanupHandler
+48 QObjectCleanupHandler::~QObjectCleanupHandler
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QObjectCleanupHandler
+ size=24 align=8
+ base size=24 base align=8
+QObjectCleanupHandler (0x7f588e6953f0) 0
+ vptr=((& QObjectCleanupHandler::_ZTV21QObjectCleanupHandler) + 16u)
+ QObject (0x7f588e695460) 0
+ primary-for QObjectCleanupHandler (0x7f588e6953f0)
+
+Class QBasicTimer
+ size=4 align=4
+ base size=4 base align=4
+QBasicTimer (0x7f588e6a5540) 0
+
+Vtable for QSocketNotifier
+QSocketNotifier::_ZTV15QSocketNotifier: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QSocketNotifier)
+16 QSocketNotifier::metaObject
+24 QSocketNotifier::qt_metacast
+32 QSocketNotifier::qt_metacall
+40 QSocketNotifier::~QSocketNotifier
+48 QSocketNotifier::~QSocketNotifier
+56 QSocketNotifier::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QSocketNotifier
+ size=32 align=8
+ base size=25 base align=8
+QSocketNotifier (0x7f588e6af930) 0
+ vptr=((& QSocketNotifier::_ZTV15QSocketNotifier) + 16u)
+ QObject (0x7f588e6af9a0) 0
+ primary-for QSocketNotifier (0x7f588e6af930)
+
+Vtable for QTimer
+QTimer::_ZTV6QTimer: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI6QTimer)
+16 QTimer::metaObject
+24 QTimer::qt_metacast
+32 QTimer::qt_metacall
+40 QTimer::~QTimer
+48 QTimer::~QTimer
+56 QObject::event
+64 QObject::eventFilter
+72 QTimer::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QTimer
+ size=32 align=8
+ base size=29 base align=8
+QTimer (0x7f588e6cecb0) 0
+ vptr=((& QTimer::_ZTV6QTimer) + 16u)
+ QObject (0x7f588e6ced20) 0
+ primary-for QTimer (0x7f588e6cecb0)
+
+Vtable for QAbstractEventDispatcher
+QAbstractEventDispatcher::_ZTV24QAbstractEventDispatcher: 27u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI24QAbstractEventDispatcher)
+16 QAbstractEventDispatcher::metaObject
+24 QAbstractEventDispatcher::qt_metacast
+32 QAbstractEventDispatcher::qt_metacall
+40 QAbstractEventDispatcher::~QAbstractEventDispatcher
+48 QAbstractEventDispatcher::~QAbstractEventDispatcher
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 __cxa_pure_virtual
+136 __cxa_pure_virtual
+144 __cxa_pure_virtual
+152 __cxa_pure_virtual
+160 __cxa_pure_virtual
+168 __cxa_pure_virtual
+176 __cxa_pure_virtual
+184 __cxa_pure_virtual
+192 __cxa_pure_virtual
+200 QAbstractEventDispatcher::startingUp
+208 QAbstractEventDispatcher::closingDown
+
+Class QAbstractEventDispatcher
+ size=16 align=8
+ base size=16 base align=8
+QAbstractEventDispatcher (0x7f588e6f12a0) 0
+ vptr=((& QAbstractEventDispatcher::_ZTV24QAbstractEventDispatcher) + 16u)
+ QObject (0x7f588e6f1310) 0
+ primary-for QAbstractEventDispatcher (0x7f588e6f12a0)
+
+Class QMetaMethod
+ size=16 align=8
+ base size=12 base align=8
+QMetaMethod (0x7f588e70b150) 0
+
+Class QMetaEnum
+ size=16 align=8
+ base size=12 base align=8
+QMetaEnum (0x7f588e7285b0) 0
+
+Class QMetaProperty
+ size=32 align=8
+ base size=32 base align=8
+QMetaProperty (0x7f588e732310) 0
+
+Class QMetaClassInfo
+ size=16 align=8
+ base size=12 base align=8
+QMetaClassInfo (0x7f588e7329a0) 0
+
+Class QSystemSemaphore
+ size=8 align=8
+ base size=8 base align=8
+QSystemSemaphore (0x7f588e7454d0) 0
+
+Vtable for QLibrary
+QLibrary::_ZTV8QLibrary: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI8QLibrary)
+16 QLibrary::metaObject
+24 QLibrary::qt_metacast
+32 QLibrary::qt_metacall
+40 QLibrary::~QLibrary
+48 QLibrary::~QLibrary
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QLibrary
+ size=32 align=8
+ base size=25 base align=8
+QLibrary (0x7f588e745e00) 0
+ vptr=((& QLibrary::_ZTV8QLibrary) + 16u)
+ QObject (0x7f588e745e70) 0
+ primary-for QLibrary (0x7f588e745e00)
+
+Vtable for QPluginLoader
+QPluginLoader::_ZTV13QPluginLoader: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QPluginLoader)
+16 QPluginLoader::metaObject
+24 QPluginLoader::qt_metacast
+32 QPluginLoader::qt_metacall
+40 QPluginLoader::~QPluginLoader
+48 QPluginLoader::~QPluginLoader
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QPluginLoader
+ size=32 align=8
+ base size=25 base align=8
+QPluginLoader (0x7f588e58a8c0) 0
+ vptr=((& QPluginLoader::_ZTV13QPluginLoader) + 16u)
+ QObject (0x7f588e58a930) 0
+ primary-for QPluginLoader (0x7f588e58a8c0)
+
+Class QUuid
+ size=16 align=4
+ base size=16 base align=4
+QUuid (0x7f588e5ae070) 0
+
+Class QSemaphore
+ size=8 align=8
+ base size=8 base align=8
+QSemaphore (0x7f588e5cd9a0) 0
+
+Class QThreadStorageData
+ size=4 align=4
+ base size=4 base align=4
+QThreadStorageData (0x7f588e5cdee0) 0
+
+Class QReadWriteLock
+ size=8 align=8
+ base size=8 base align=8
+QReadWriteLock (0x7f588e5df690) 0
+
+Class QReadLocker
+ size=8 align=8
+ base size=8 base align=8
+QReadLocker (0x7f588e5dfd20) 0
+
+Class QWriteLocker
+ size=8 align=8
+ base size=8 base align=8
+QWriteLocker (0x7f588e60e0e0) 0
+
+Class QDomImplementation
+ size=8 align=8
+ base size=8 base align=8
+QDomImplementation (0x7f588e621460) 0
+
+Class QDomNode
+ size=8 align=8
+ base size=8 base align=8
+QDomNode (0x7f588e621d90) 0
+
+Class QDomNodeList
+ size=8 align=8
+ base size=8 base align=8
+QDomNodeList (0x7f588e64e000) 0
+
+Class QDomDocumentType
+ size=8 align=8
+ base size=8 base align=8
+QDomDocumentType (0x7f588e656070) 0
+ QDomNode (0x7f588e6560e0) 0
+
+Class QDomDocument
+ size=8 align=8
+ base size=8 base align=8
+QDomDocument (0x7f588e656bd0) 0
+ QDomNode (0x7f588e656c40) 0
+
+Class QDomNamedNodeMap
+ size=8 align=8
+ base size=8 base align=8
+QDomNamedNodeMap (0x7f588e65daf0) 0
+
+Class QDomDocumentFragment
+ size=8 align=8
+ base size=8 base align=8
+QDomDocumentFragment (0x7f588e46d930) 0
+ QDomNode (0x7f588e46d9a0) 0
+
+Class QDomCharacterData
+ size=8 align=8
+ base size=8 base align=8
+QDomCharacterData (0x7f588e4784d0) 0
+ QDomNode (0x7f588e478540) 0
+
+Class QDomAttr
+ size=8 align=8
+ base size=8 base align=8
+QDomAttr (0x7f588e478ee0) 0
+ QDomNode (0x7f588e478f50) 0
+
+Class QDomElement
+ size=8 align=8
+ base size=8 base align=8
+QDomElement (0x7f588e481a80) 0
+ QDomNode (0x7f588e481af0) 0
+
+Class QDomText
+ size=8 align=8
+ base size=8 base align=8
+QDomText (0x7f588e487d20) 0
+ QDomCharacterData (0x7f588e487d90) 0
+ QDomNode (0x7f588e487e00) 0
+
+Class QDomComment
+ size=8 align=8
+ base size=8 base align=8
+QDomComment (0x7f588e49fa80) 0
+ QDomCharacterData (0x7f588e49faf0) 0
+ QDomNode (0x7f588e49fb60) 0
+
+Class QDomCDATASection
+ size=8 align=8
+ base size=8 base align=8
+QDomCDATASection (0x7f588e4a6690) 0
+ QDomText (0x7f588e4a6700) 0
+ QDomCharacterData (0x7f588e4a6770) 0
+ QDomNode (0x7f588e4a67e0) 0
+
+Class QDomNotation
+ size=8 align=8
+ base size=8 base align=8
+QDomNotation (0x7f588e4aa310) 0
+ QDomNode (0x7f588e4aa380) 0
+
+Class QDomEntity
+ size=8 align=8
+ base size=8 base align=8
+QDomEntity (0x7f588e4aae70) 0
+ QDomNode (0x7f588e4aaee0) 0
+
+Class QDomEntityReference
+ size=8 align=8
+ base size=8 base align=8
+QDomEntityReference (0x7f588e4b1a10) 0
+ QDomNode (0x7f588e4b1a80) 0
+
+Class QDomProcessingInstruction
+ size=8 align=8
+ base size=8 base align=8
+QDomProcessingInstruction (0x7f588e4b65b0) 0
+ QDomNode (0x7f588e4b6620) 0
+
+Class QXmlNamespaceSupport
+ size=8 align=8
+ base size=8 base align=8
+QXmlNamespaceSupport (0x7f588e4be150) 0
+
+Class QXmlAttributes::Attribute
+ size=32 align=8
+ base size=32 base align=8
+QXmlAttributes::Attribute (0x7f588e4be7e0) 0
+
+Vtable for QXmlAttributes
+QXmlAttributes::_ZTV14QXmlAttributes: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QXmlAttributes)
+16 QXmlAttributes::~QXmlAttributes
+24 QXmlAttributes::~QXmlAttributes
+
+Class QXmlAttributes
+ size=24 align=8
+ base size=24 base align=8
+QXmlAttributes (0x7f588e4be690) 0
+ vptr=((& QXmlAttributes::_ZTV14QXmlAttributes) + 16u)
+
+Vtable for QXmlInputSource
+QXmlInputSource::_ZTV15QXmlInputSource: 11u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QXmlInputSource)
+16 QXmlInputSource::~QXmlInputSource
+24 QXmlInputSource::~QXmlInputSource
+32 QXmlInputSource::setData
+40 QXmlInputSource::setData
+48 QXmlInputSource::fetchData
+56 QXmlInputSource::data
+64 QXmlInputSource::next
+72 QXmlInputSource::reset
+80 QXmlInputSource::fromRawData
+
+Class QXmlInputSource
+ size=16 align=8
+ base size=16 base align=8
+QXmlInputSource (0x7f588e4f7ee0) 0
+ vptr=((& QXmlInputSource::_ZTV15QXmlInputSource) + 16u)
+
+Class QXmlParseException
+ size=8 align=8
+ base size=8 base align=8
+QXmlParseException (0x7f588e4fe230) 0
+
+Vtable for QXmlReader
+QXmlReader::_ZTV10QXmlReader: 24u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QXmlReader)
+16 QXmlReader::~QXmlReader
+24 QXmlReader::~QXmlReader
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+48 __cxa_pure_virtual
+56 __cxa_pure_virtual
+64 __cxa_pure_virtual
+72 __cxa_pure_virtual
+80 __cxa_pure_virtual
+88 __cxa_pure_virtual
+96 __cxa_pure_virtual
+104 __cxa_pure_virtual
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 __cxa_pure_virtual
+136 __cxa_pure_virtual
+144 __cxa_pure_virtual
+152 __cxa_pure_virtual
+160 __cxa_pure_virtual
+168 __cxa_pure_virtual
+176 __cxa_pure_virtual
+184 __cxa_pure_virtual
+
+Class QXmlReader
+ size=8 align=8
+ base size=8 base align=8
+QXmlReader (0x7f588e4fe4d0) 0 nearly-empty
+ vptr=((& QXmlReader::_ZTV10QXmlReader) + 16u)
+
+Vtable for QXmlSimpleReader
+QXmlSimpleReader::_ZTV16QXmlSimpleReader: 26u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QXmlSimpleReader)
+16 QXmlSimpleReader::~QXmlSimpleReader
+24 QXmlSimpleReader::~QXmlSimpleReader
+32 QXmlSimpleReader::feature
+40 QXmlSimpleReader::setFeature
+48 QXmlSimpleReader::hasFeature
+56 QXmlSimpleReader::property
+64 QXmlSimpleReader::setProperty
+72 QXmlSimpleReader::hasProperty
+80 QXmlSimpleReader::setEntityResolver
+88 QXmlSimpleReader::entityResolver
+96 QXmlSimpleReader::setDTDHandler
+104 QXmlSimpleReader::DTDHandler
+112 QXmlSimpleReader::setContentHandler
+120 QXmlSimpleReader::contentHandler
+128 QXmlSimpleReader::setErrorHandler
+136 QXmlSimpleReader::errorHandler
+144 QXmlSimpleReader::setLexicalHandler
+152 QXmlSimpleReader::lexicalHandler
+160 QXmlSimpleReader::setDeclHandler
+168 QXmlSimpleReader::declHandler
+176 QXmlSimpleReader::parse
+184 QXmlSimpleReader::parse
+192 QXmlSimpleReader::parse
+200 QXmlSimpleReader::parseContinue
+
+Class QXmlSimpleReader
+ size=16 align=8
+ base size=16 base align=8
+QXmlSimpleReader (0x7f588e4feee0) 0
+ vptr=((& QXmlSimpleReader::_ZTV16QXmlSimpleReader) + 16u)
+ QXmlReader (0x7f588e4fef50) 0 nearly-empty
+ primary-for QXmlSimpleReader (0x7f588e4feee0)
+
+Vtable for QXmlLocator
+QXmlLocator::_ZTV11QXmlLocator: 6u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QXmlLocator)
+16 QXmlLocator::~QXmlLocator
+24 QXmlLocator::~QXmlLocator
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+
+Class QXmlLocator
+ size=8 align=8
+ base size=8 base align=8
+QXmlLocator (0x7f588e521930) 0 nearly-empty
+ vptr=((& QXmlLocator::_ZTV11QXmlLocator) + 16u)
+
+Vtable for QXmlContentHandler
+QXmlContentHandler::_ZTV18QXmlContentHandler: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QXmlContentHandler)
+16 QXmlContentHandler::~QXmlContentHandler
+24 QXmlContentHandler::~QXmlContentHandler
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+48 __cxa_pure_virtual
+56 __cxa_pure_virtual
+64 __cxa_pure_virtual
+72 __cxa_pure_virtual
+80 __cxa_pure_virtual
+88 __cxa_pure_virtual
+96 __cxa_pure_virtual
+104 __cxa_pure_virtual
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+
+Class QXmlContentHandler
+ size=8 align=8
+ base size=8 base align=8
+QXmlContentHandler (0x7f588e521b60) 0 nearly-empty
+ vptr=((& QXmlContentHandler::_ZTV18QXmlContentHandler) + 16u)
+
+Vtable for QXmlErrorHandler
+QXmlErrorHandler::_ZTV16QXmlErrorHandler: 8u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QXmlErrorHandler)
+16 QXmlErrorHandler::~QXmlErrorHandler
+24 QXmlErrorHandler::~QXmlErrorHandler
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+48 __cxa_pure_virtual
+56 __cxa_pure_virtual
+
+Class QXmlErrorHandler
+ size=8 align=8
+ base size=8 base align=8
+QXmlErrorHandler (0x7f588e536460) 0 nearly-empty
+ vptr=((& QXmlErrorHandler::_ZTV16QXmlErrorHandler) + 16u)
+
+Vtable for QXmlDTDHandler
+QXmlDTDHandler::_ZTV14QXmlDTDHandler: 7u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QXmlDTDHandler)
+16 QXmlDTDHandler::~QXmlDTDHandler
+24 QXmlDTDHandler::~QXmlDTDHandler
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+48 __cxa_pure_virtual
+
+Class QXmlDTDHandler
+ size=8 align=8
+ base size=8 base align=8
+QXmlDTDHandler (0x7f588e536e70) 0 nearly-empty
+ vptr=((& QXmlDTDHandler::_ZTV14QXmlDTDHandler) + 16u)
+
+Vtable for QXmlEntityResolver
+QXmlEntityResolver::_ZTV18QXmlEntityResolver: 6u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QXmlEntityResolver)
+16 QXmlEntityResolver::~QXmlEntityResolver
+24 QXmlEntityResolver::~QXmlEntityResolver
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+
+Class QXmlEntityResolver
+ size=8 align=8
+ base size=8 base align=8
+QXmlEntityResolver (0x7f588e5457e0) 0 nearly-empty
+ vptr=((& QXmlEntityResolver::_ZTV18QXmlEntityResolver) + 16u)
+
+Vtable for QXmlLexicalHandler
+QXmlLexicalHandler::_ZTV18QXmlLexicalHandler: 12u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QXmlLexicalHandler)
+16 QXmlLexicalHandler::~QXmlLexicalHandler
+24 QXmlLexicalHandler::~QXmlLexicalHandler
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+48 __cxa_pure_virtual
+56 __cxa_pure_virtual
+64 __cxa_pure_virtual
+72 __cxa_pure_virtual
+80 __cxa_pure_virtual
+88 __cxa_pure_virtual
+
+Class QXmlLexicalHandler
+ size=8 align=8
+ base size=8 base align=8
+QXmlLexicalHandler (0x7f588e54d230) 0 nearly-empty
+ vptr=((& QXmlLexicalHandler::_ZTV18QXmlLexicalHandler) + 16u)
+
+Vtable for QXmlDeclHandler
+QXmlDeclHandler::_ZTV15QXmlDeclHandler: 8u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QXmlDeclHandler)
+16 QXmlDeclHandler::~QXmlDeclHandler
+24 QXmlDeclHandler::~QXmlDeclHandler
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+48 __cxa_pure_virtual
+56 __cxa_pure_virtual
+
+Class QXmlDeclHandler
+ size=8 align=8
+ base size=8 base align=8
+QXmlDeclHandler (0x7f588e54dc40) 0 nearly-empty
+ vptr=((& QXmlDeclHandler::_ZTV15QXmlDeclHandler) + 16u)
+
+Vtable for QXmlDefaultHandler
+QXmlDefaultHandler::_ZTV18QXmlDefaultHandler: 73u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QXmlDefaultHandler)
+16 QXmlDefaultHandler::~QXmlDefaultHandler
+24 QXmlDefaultHandler::~QXmlDefaultHandler
+32 QXmlDefaultHandler::setDocumentLocator
+40 QXmlDefaultHandler::startDocument
+48 QXmlDefaultHandler::endDocument
+56 QXmlDefaultHandler::startPrefixMapping
+64 QXmlDefaultHandler::endPrefixMapping
+72 QXmlDefaultHandler::startElement
+80 QXmlDefaultHandler::endElement
+88 QXmlDefaultHandler::characters
+96 QXmlDefaultHandler::ignorableWhitespace
+104 QXmlDefaultHandler::processingInstruction
+112 QXmlDefaultHandler::skippedEntity
+120 QXmlDefaultHandler::errorString
+128 QXmlDefaultHandler::warning
+136 QXmlDefaultHandler::error
+144 QXmlDefaultHandler::fatalError
+152 QXmlDefaultHandler::notationDecl
+160 QXmlDefaultHandler::unparsedEntityDecl
+168 QXmlDefaultHandler::resolveEntity
+176 QXmlDefaultHandler::startDTD
+184 QXmlDefaultHandler::endDTD
+192 QXmlDefaultHandler::startEntity
+200 QXmlDefaultHandler::endEntity
+208 QXmlDefaultHandler::startCDATA
+216 QXmlDefaultHandler::endCDATA
+224 QXmlDefaultHandler::comment
+232 QXmlDefaultHandler::attributeDecl
+240 QXmlDefaultHandler::internalEntityDecl
+248 QXmlDefaultHandler::externalEntityDecl
+256 (int (*)(...))-0x00000000000000008
+264 (int (*)(...))(& _ZTI18QXmlDefaultHandler)
+272 QXmlDefaultHandler::_ZThn8_N18QXmlDefaultHandlerD1Ev
+280 QXmlDefaultHandler::_ZThn8_N18QXmlDefaultHandlerD0Ev
+288 QXmlDefaultHandler::_ZThn8_N18QXmlDefaultHandler7warningERK18QXmlParseException
+296 QXmlDefaultHandler::_ZThn8_N18QXmlDefaultHandler5errorERK18QXmlParseException
+304 QXmlDefaultHandler::_ZThn8_N18QXmlDefaultHandler10fatalErrorERK18QXmlParseException
+312 QXmlDefaultHandler::_ZThn8_NK18QXmlDefaultHandler11errorStringEv
+320 (int (*)(...))-0x00000000000000010
+328 (int (*)(...))(& _ZTI18QXmlDefaultHandler)
+336 QXmlDefaultHandler::_ZThn16_N18QXmlDefaultHandlerD1Ev
+344 QXmlDefaultHandler::_ZThn16_N18QXmlDefaultHandlerD0Ev
+352 QXmlDefaultHandler::_ZThn16_N18QXmlDefaultHandler12notationDeclERK7QStringS2_S2_
+360 QXmlDefaultHandler::_ZThn16_N18QXmlDefaultHandler18unparsedEntityDeclERK7QStringS2_S2_S2_
+368 QXmlDefaultHandler::_ZThn16_NK18QXmlDefaultHandler11errorStringEv
+376 (int (*)(...))-0x00000000000000018
+384 (int (*)(...))(& _ZTI18QXmlDefaultHandler)
+392 QXmlDefaultHandler::_ZThn24_N18QXmlDefaultHandlerD1Ev
+400 QXmlDefaultHandler::_ZThn24_N18QXmlDefaultHandlerD0Ev
+408 QXmlDefaultHandler::_ZThn24_N18QXmlDefaultHandler13resolveEntityERK7QStringS2_RP15QXmlInputSource
+416 QXmlDefaultHandler::_ZThn24_NK18QXmlDefaultHandler11errorStringEv
+424 (int (*)(...))-0x00000000000000020
+432 (int (*)(...))(& _ZTI18QXmlDefaultHandler)
+440 QXmlDefaultHandler::_ZThn32_N18QXmlDefaultHandlerD1Ev
+448 QXmlDefaultHandler::_ZThn32_N18QXmlDefaultHandlerD0Ev
+456 QXmlDefaultHandler::_ZThn32_N18QXmlDefaultHandler8startDTDERK7QStringS2_S2_
+464 QXmlDefaultHandler::_ZThn32_N18QXmlDefaultHandler6endDTDEv
+472 QXmlDefaultHandler::_ZThn32_N18QXmlDefaultHandler11startEntityERK7QString
+480 QXmlDefaultHandler::_ZThn32_N18QXmlDefaultHandler9endEntityERK7QString
+488 QXmlDefaultHandler::_ZThn32_N18QXmlDefaultHandler10startCDATAEv
+496 QXmlDefaultHandler::_ZThn32_N18QXmlDefaultHandler8endCDATAEv
+504 QXmlDefaultHandler::_ZThn32_N18QXmlDefaultHandler7commentERK7QString
+512 QXmlDefaultHandler::_ZThn32_NK18QXmlDefaultHandler11errorStringEv
+520 (int (*)(...))-0x00000000000000028
+528 (int (*)(...))(& _ZTI18QXmlDefaultHandler)
+536 QXmlDefaultHandler::_ZThn40_N18QXmlDefaultHandlerD1Ev
+544 QXmlDefaultHandler::_ZThn40_N18QXmlDefaultHandlerD0Ev
+552 QXmlDefaultHandler::_ZThn40_N18QXmlDefaultHandler13attributeDeclERK7QStringS2_S2_S2_S2_
+560 QXmlDefaultHandler::_ZThn40_N18QXmlDefaultHandler18internalEntityDeclERK7QStringS2_
+568 QXmlDefaultHandler::_ZThn40_N18QXmlDefaultHandler18externalEntityDeclERK7QStringS2_S2_
+576 QXmlDefaultHandler::_ZThn40_NK18QXmlDefaultHandler11errorStringEv
+
+Class QXmlDefaultHandler
+ size=56 align=8
+ base size=56 base align=8
+QXmlDefaultHandler (0x7f588e557c80) 0
+ vptr=((& QXmlDefaultHandler::_ZTV18QXmlDefaultHandler) + 16u)
+ QXmlContentHandler (0x7f588e5605b0) 0 nearly-empty
+ primary-for QXmlDefaultHandler (0x7f588e557c80)
+ QXmlErrorHandler (0x7f588e560620) 8 nearly-empty
+ vptr=((& QXmlDefaultHandler::_ZTV18QXmlDefaultHandler) + 272u)
+ QXmlDTDHandler (0x7f588e560690) 16 nearly-empty
+ vptr=((& QXmlDefaultHandler::_ZTV18QXmlDefaultHandler) + 336u)
+ QXmlEntityResolver (0x7f588e560700) 24 nearly-empty
+ vptr=((& QXmlDefaultHandler::_ZTV18QXmlDefaultHandler) + 392u)
+ QXmlLexicalHandler (0x7f588e560770) 32 nearly-empty
+ vptr=((& QXmlDefaultHandler::_ZTV18QXmlDefaultHandler) + 440u)
+ QXmlDeclHandler (0x7f588e5607e0) 40 nearly-empty
+ vptr=((& QXmlDefaultHandler::_ZTV18QXmlDefaultHandler) + 536u)
+
diff --git a/tests/auto/bic/data/QtXml.4.6.0.linux-gcc-amd64.txt b/tests/auto/bic/data/QtXml.4.6.0.linux-gcc-amd64.txt
new file mode 100644
index 0000000000..f0916aa3a2
--- /dev/null
+++ b/tests/auto/bic/data/QtXml.4.6.0.linux-gcc-amd64.txt
@@ -0,0 +1,3064 @@
+Class QSysInfo
+ size=1 align=1
+ base size=0 base align=1
+QSysInfo (0x7f35b9415230) 0 empty
+
+Class QBool
+ size=1 align=1
+ base size=1 base align=1
+QBool (0x7f35b9415e70) 0
+
+Class qIsNull(double)::U
+ size=8 align=8
+ base size=8 base align=8
+qIsNull(double)::U (0x7f35b8c27540) 0
+
+Class qIsNull(float)::U
+ size=4 align=4
+ base size=4 base align=4
+qIsNull(float)::U (0x7f35b8c277e0) 0
+
+Class QFlag
+ size=4 align=4
+ base size=4 base align=4
+QFlag (0x7f35b8c60690) 0
+
+Class QIncompatibleFlag
+ size=4 align=4
+ base size=4 base align=4
+QIncompatibleFlag (0x7f35b8c60e70) 0
+
+Class QLatin1Char
+ size=1 align=1
+ base size=1 base align=1
+QLatin1Char (0x7f35b8c8f5b0) 0
+
+Class QChar
+ size=2 align=2
+ base size=2 base align=2
+QChar (0x7f35b8cb7150) 0
+
+Class QBasicAtomicInt
+ size=4 align=4
+ base size=4 base align=4
+QBasicAtomicInt (0x7f35b8b1d310) 0
+
+Class QAtomicInt
+ size=4 align=4
+ base size=4 base align=4
+QAtomicInt (0x7f35b8b5bcb0) 0
+ QBasicAtomicInt (0x7f35b8b5bd20) 0
+
+Class QInternal
+ size=1 align=1
+ base size=0 base align=1
+QInternal (0x7f35b89af4d0) 0 empty
+
+Class __locale_struct
+ size=232 align=8
+ base size=232 base align=8
+__locale_struct (0x7f35b89af700) 0
+
+Class QByteArray::Data
+ size=32 align=8
+ base size=32 base align=8
+QByteArray::Data (0x7f35b89eaaf0) 0
+
+Class QByteArray
+ size=8 align=8
+ base size=8 base align=8
+QByteArray (0x7f35b89eaa80) 0
+
+Class QByteRef
+ size=16 align=8
+ base size=12 base align=8
+QByteRef (0x7f35b888f380) 0
+
+Class QString::Null
+ size=1 align=1
+ base size=0 base align=1
+QString::Null (0x7f35b878dd20) 0 empty
+
+Class QString::Data
+ size=32 align=8
+ base size=32 base align=8
+QString::Data (0x7f35b87a65b0) 0
+
+Class QString
+ size=8 align=8
+ base size=8 base align=8
+QString (0x7f35b8708bd0) 0
+
+Class QLatin1String
+ size=8 align=8
+ base size=8 base align=8
+QLatin1String (0x7f35b867e9a0) 0
+
+Class QCharRef
+ size=16 align=8
+ base size=12 base align=8
+QCharRef (0x7f35b851d000) 0
+
+Class QConstString
+ size=8 align=8
+ base size=8 base align=8
+QConstString (0x7f35b84668c0) 0
+ QString (0x7f35b8466930) 0
+
+Class QStringRef
+ size=16 align=8
+ base size=16 base align=8
+QStringRef (0x7f35b848c310) 0
+
+Class QGenericArgument
+ size=16 align=8
+ base size=16 base align=8
+QGenericArgument (0x7f35b82c4700) 0
+
+Class QGenericReturnArgument
+ size=16 align=8
+ base size=16 base align=8
+QGenericReturnArgument (0x7f35b82ce2a0) 0
+ QGenericArgument (0x7f35b82ce310) 0
+
+Class QMetaObject
+ size=32 align=8
+ base size=32 base align=8
+QMetaObject (0x7f35b82ceb60) 0
+
+Class QMetaObjectExtraData
+ size=16 align=8
+ base size=16 base align=8
+QMetaObjectExtraData (0x7f35b82f8bd0) 0
+
+Vtable for std::exception
+std::exception::_ZTVSt9exception: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt9exception)
+16 std::exception::~exception
+24 std::exception::~exception
+32 std::exception::what
+
+Class std::exception
+ size=8 align=8
+ base size=8 base align=8
+std::exception (0x7f35b834c1c0) 0 nearly-empty
+ vptr=((& std::exception::_ZTVSt9exception) + 16u)
+
+Vtable for std::bad_exception
+std::bad_exception::_ZTVSt13bad_exception: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt13bad_exception)
+16 std::bad_exception::~bad_exception
+24 std::bad_exception::~bad_exception
+32 std::bad_exception::what
+
+Class std::bad_exception
+ size=8 align=8
+ base size=8 base align=8
+std::bad_exception (0x7f35b834c770) 0 nearly-empty
+ vptr=((& std::bad_exception::_ZTVSt13bad_exception) + 16u)
+ std::exception (0x7f35b834c7e0) 0 nearly-empty
+ primary-for std::bad_exception (0x7f35b834c770)
+
+Vtable for std::bad_alloc
+std::bad_alloc::_ZTVSt9bad_alloc: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt9bad_alloc)
+16 std::bad_alloc::~bad_alloc
+24 std::bad_alloc::~bad_alloc
+32 std::bad_alloc::what
+
+Class std::bad_alloc
+ size=8 align=8
+ base size=8 base align=8
+std::bad_alloc (0x7f35b834c930) 0 nearly-empty
+ vptr=((& std::bad_alloc::_ZTVSt9bad_alloc) + 16u)
+ std::exception (0x7f35b8362000) 0 nearly-empty
+ primary-for std::bad_alloc (0x7f35b834c930)
+
+Class std::nothrow_t
+ size=1 align=1
+ base size=0 base align=1
+std::nothrow_t (0x7f35b8362850) 0 empty
+
+Class QListData::Data
+ size=32 align=8
+ base size=32 base align=8
+QListData::Data (0x7f35b8362d90) 0
+
+Class QListData
+ size=8 align=8
+ base size=8 base align=8
+QListData (0x7f35b8362d20) 0
+
+Class QScopedPointerPodDeleter
+ size=1 align=1
+ base size=0 base align=1
+QScopedPointerPodDeleter (0x7f35b828b850) 0 empty
+
+Vtable for QObjectData
+QObjectData::_ZTV11QObjectData: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QObjectData)
+16 __cxa_pure_virtual
+24 __cxa_pure_virtual
+
+Class QObjectData
+ size=48 align=8
+ base size=48 base align=8
+QObjectData (0x7f35b82ab2a0) 0
+ vptr=((& QObjectData::_ZTV11QObjectData) + 16u)
+
+Vtable for QObject
+QObject::_ZTV7QObject: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QObject)
+16 QObject::metaObject
+24 QObject::qt_metacast
+32 QObject::qt_metacall
+40 QObject::~QObject
+48 QObject::~QObject
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QObject
+ size=16 align=8
+ base size=16 base align=8
+QObject (0x7f35b82ab5b0) 0
+ vptr=((& QObject::_ZTV7QObject) + 16u)
+
+Vtable for QObjectUserData
+QObjectUserData::_ZTV15QObjectUserData: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QObjectUserData)
+16 QObjectUserData::~QObjectUserData
+24 QObjectUserData::~QObjectUserData
+
+Class QObjectUserData
+ size=8 align=8
+ base size=8 base align=8
+QObjectUserData (0x7f35b8120b60) 0 nearly-empty
+ vptr=((& QObjectUserData::_ZTV15QObjectUserData) + 16u)
+
+Vtable for QIODevice
+QIODevice::_ZTV9QIODevice: 30u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QIODevice)
+16 QIODevice::metaObject
+24 QIODevice::qt_metacast
+32 QIODevice::qt_metacall
+40 QIODevice::~QIODevice
+48 QIODevice::~QIODevice
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QIODevice::isSequential
+120 QIODevice::open
+128 QIODevice::close
+136 QIODevice::pos
+144 QIODevice::size
+152 QIODevice::seek
+160 QIODevice::atEnd
+168 QIODevice::reset
+176 QIODevice::bytesAvailable
+184 QIODevice::bytesToWrite
+192 QIODevice::canReadLine
+200 QIODevice::waitForReadyRead
+208 QIODevice::waitForBytesWritten
+216 __cxa_pure_virtual
+224 QIODevice::readLineData
+232 __cxa_pure_virtual
+
+Class QIODevice
+ size=16 align=8
+ base size=16 base align=8
+QIODevice (0x7f35b8131150) 0
+ vptr=((& QIODevice::_ZTV9QIODevice) + 16u)
+ QObject (0x7f35b81311c0) 0
+ primary-for QIODevice (0x7f35b8131150)
+
+Class _IO_marker
+ size=24 align=8
+ base size=24 base align=8
+_IO_marker (0x7f35b8194cb0) 0
+
+Class _IO_FILE
+ size=216 align=8
+ base size=216 base align=8
+_IO_FILE (0x7f35b8194d20) 0
+
+Vtable for QFile
+QFile::_ZTV5QFile: 31u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI5QFile)
+16 QFile::metaObject
+24 QFile::qt_metacast
+32 QFile::qt_metacall
+40 QFile::~QFile
+48 QFile::~QFile
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QFile::isSequential
+120 QFile::open
+128 QFile::close
+136 QFile::pos
+144 QFile::size
+152 QFile::seek
+160 QFile::atEnd
+168 QIODevice::reset
+176 QIODevice::bytesAvailable
+184 QIODevice::bytesToWrite
+192 QIODevice::canReadLine
+200 QIODevice::waitForReadyRead
+208 QIODevice::waitForBytesWritten
+216 QFile::readData
+224 QFile::readLineData
+232 QFile::writeData
+240 QFile::fileEngine
+
+Class QFile
+ size=16 align=8
+ base size=16 base align=8
+QFile (0x7f35b8194e00) 0
+ vptr=((& QFile::_ZTV5QFile) + 16u)
+ QIODevice (0x7f35b8194e70) 0
+ primary-for QFile (0x7f35b8194e00)
+ QObject (0x7f35b8194ee0) 0
+ primary-for QIODevice (0x7f35b8194e70)
+
+Class QFileInfo
+ size=8 align=8
+ base size=8 base align=8
+QFileInfo (0x7f35b8036070) 0
+
+Vtable for QDataStream
+QDataStream::_ZTV11QDataStream: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QDataStream)
+16 QDataStream::~QDataStream
+24 QDataStream::~QDataStream
+
+Class QDataStream
+ size=40 align=8
+ base size=40 base align=8
+QDataStream (0x7f35b808aa10) 0
+ vptr=((& QDataStream::_ZTV11QDataStream) + 16u)
+
+Class QRegExp
+ size=8 align=8
+ base size=8 base align=8
+QRegExp (0x7f35b7ef2e70) 0
+
+Class QStringMatcher::Data
+ size=272 align=8
+ base size=272 base align=8
+QStringMatcher::Data (0x7f35b7f5b2a0) 0
+
+Class QStringMatcher
+ size=1048 align=8
+ base size=1048 base align=8
+QStringMatcher (0x7f35b7f4fc40) 0
+
+Class QStringList
+ size=8 align=8
+ base size=8 base align=8
+QStringList (0x7f35b7f5b850) 0
+ QList<QString> (0x7f35b7f5b8c0) 0
+
+Class QDir
+ size=8 align=8
+ base size=8 base align=8
+QDir (0x7f35b7df94d0) 0
+
+Class QAbstractFileEngine::ExtensionOption
+ size=1 align=1
+ base size=0 base align=1
+QAbstractFileEngine::ExtensionOption (0x7f35b7ea18c0) 0 empty
+
+Class QAbstractFileEngine::ExtensionReturn
+ size=1 align=1
+ base size=0 base align=1
+QAbstractFileEngine::ExtensionReturn (0x7f35b7ea1930) 0 empty
+
+Class QAbstractFileEngine::MapExtensionOption
+ size=24 align=8
+ base size=20 base align=8
+QAbstractFileEngine::MapExtensionOption (0x7f35b7ea19a0) 0
+ QAbstractFileEngine::ExtensionOption (0x7f35b7ea1a10) 0 empty
+
+Class QAbstractFileEngine::MapExtensionReturn
+ size=8 align=8
+ base size=8 base align=8
+QAbstractFileEngine::MapExtensionReturn (0x7f35b7ea1bd0) 0
+ QAbstractFileEngine::ExtensionReturn (0x7f35b7ea1c40) 0 empty
+
+Class QAbstractFileEngine::UnMapExtensionOption
+ size=8 align=8
+ base size=8 base align=8
+QAbstractFileEngine::UnMapExtensionOption (0x7f35b7ea1cb0) 0
+ QAbstractFileEngine::ExtensionOption (0x7f35b7ea1d20) 0 empty
+
+Vtable for QAbstractFileEngine
+QAbstractFileEngine::_ZTV19QAbstractFileEngine: 36u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QAbstractFileEngine)
+16 QAbstractFileEngine::~QAbstractFileEngine
+24 QAbstractFileEngine::~QAbstractFileEngine
+32 QAbstractFileEngine::open
+40 QAbstractFileEngine::close
+48 QAbstractFileEngine::flush
+56 QAbstractFileEngine::size
+64 QAbstractFileEngine::pos
+72 QAbstractFileEngine::seek
+80 QAbstractFileEngine::isSequential
+88 QAbstractFileEngine::remove
+96 QAbstractFileEngine::copy
+104 QAbstractFileEngine::rename
+112 QAbstractFileEngine::link
+120 QAbstractFileEngine::mkdir
+128 QAbstractFileEngine::rmdir
+136 QAbstractFileEngine::setSize
+144 QAbstractFileEngine::caseSensitive
+152 QAbstractFileEngine::isRelativePath
+160 QAbstractFileEngine::entryList
+168 QAbstractFileEngine::fileFlags
+176 QAbstractFileEngine::setPermissions
+184 QAbstractFileEngine::fileName
+192 QAbstractFileEngine::ownerId
+200 QAbstractFileEngine::owner
+208 QAbstractFileEngine::fileTime
+216 QAbstractFileEngine::setFileName
+224 QAbstractFileEngine::handle
+232 QAbstractFileEngine::beginEntryList
+240 QAbstractFileEngine::endEntryList
+248 QAbstractFileEngine::read
+256 QAbstractFileEngine::readLine
+264 QAbstractFileEngine::write
+272 QAbstractFileEngine::extension
+280 QAbstractFileEngine::supportsExtension
+
+Class QAbstractFileEngine
+ size=16 align=8
+ base size=16 base align=8
+QAbstractFileEngine (0x7f35b7e86850) 0
+ vptr=((& QAbstractFileEngine::_ZTV19QAbstractFileEngine) + 16u)
+
+Vtable for QAbstractFileEngineHandler
+QAbstractFileEngineHandler::_ZTV26QAbstractFileEngineHandler: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI26QAbstractFileEngineHandler)
+16 QAbstractFileEngineHandler::~QAbstractFileEngineHandler
+24 QAbstractFileEngineHandler::~QAbstractFileEngineHandler
+32 __cxa_pure_virtual
+
+Class QAbstractFileEngineHandler
+ size=8 align=8
+ base size=8 base align=8
+QAbstractFileEngineHandler (0x7f35b7cd8bd0) 0 nearly-empty
+ vptr=((& QAbstractFileEngineHandler::_ZTV26QAbstractFileEngineHandler) + 16u)
+
+Vtable for QAbstractFileEngineIterator
+QAbstractFileEngineIterator::_ZTV27QAbstractFileEngineIterator: 9u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI27QAbstractFileEngineIterator)
+16 QAbstractFileEngineIterator::~QAbstractFileEngineIterator
+24 QAbstractFileEngineIterator::~QAbstractFileEngineIterator
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+48 __cxa_pure_virtual
+56 QAbstractFileEngineIterator::currentFileInfo
+64 QAbstractFileEngineIterator::entryInfo
+
+Class QAbstractFileEngineIterator
+ size=16 align=8
+ base size=16 base align=8
+QAbstractFileEngineIterator (0x7f35b7cd8d90) 0
+ vptr=((& QAbstractFileEngineIterator::_ZTV27QAbstractFileEngineIterator) + 16u)
+
+Vtable for QBuffer
+QBuffer::_ZTV7QBuffer: 30u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QBuffer)
+16 QBuffer::metaObject
+24 QBuffer::qt_metacast
+32 QBuffer::qt_metacall
+40 QBuffer::~QBuffer
+48 QBuffer::~QBuffer
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QBuffer::connectNotify
+104 QBuffer::disconnectNotify
+112 QIODevice::isSequential
+120 QBuffer::open
+128 QBuffer::close
+136 QBuffer::pos
+144 QBuffer::size
+152 QBuffer::seek
+160 QBuffer::atEnd
+168 QIODevice::reset
+176 QIODevice::bytesAvailable
+184 QIODevice::bytesToWrite
+192 QBuffer::canReadLine
+200 QIODevice::waitForReadyRead
+208 QIODevice::waitForBytesWritten
+216 QBuffer::readData
+224 QIODevice::readLineData
+232 QBuffer::writeData
+
+Class QBuffer
+ size=16 align=8
+ base size=16 base align=8
+QBuffer (0x7f35b7ceb690) 0
+ vptr=((& QBuffer::_ZTV7QBuffer) + 16u)
+ QIODevice (0x7f35b7ceb700) 0
+ primary-for QBuffer (0x7f35b7ceb690)
+ QObject (0x7f35b7ceb770) 0
+ primary-for QIODevice (0x7f35b7ceb700)
+
+Class QHashData::Node
+ size=16 align=8
+ base size=16 base align=8
+QHashData::Node (0x7f35b7d2de00) 0
+
+Class QHashData
+ size=40 align=8
+ base size=40 base align=8
+QHashData (0x7f35b7d2dd90) 0
+
+Class QHashDummyValue
+ size=1 align=1
+ base size=0 base align=1
+QHashDummyValue (0x7f35b7d4f150) 0 empty
+
+Class QMapData::Node
+ size=16 align=8
+ base size=16 base align=8
+QMapData::Node (0x7f35b7c4ea80) 0
+
+Class QMapData
+ size=128 align=8
+ base size=128 base align=8
+QMapData (0x7f35b7c4ea10) 0
+
+Vtable for QSystemLocale
+QSystemLocale::_ZTV13QSystemLocale: 6u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QSystemLocale)
+16 QSystemLocale::~QSystemLocale
+24 QSystemLocale::~QSystemLocale
+32 QSystemLocale::query
+40 QSystemLocale::fallbackLocale
+
+Class QSystemLocale
+ size=8 align=8
+ base size=8 base align=8
+QSystemLocale (0x7f35b7b8c690) 0 nearly-empty
+ vptr=((& QSystemLocale::_ZTV13QSystemLocale) + 16u)
+
+Class QLocale::Data
+ size=4 align=2
+ base size=4 base align=2
+QLocale::Data (0x7f35b79d4d90) 0
+
+Class QLocale
+ size=8 align=8
+ base size=8 base align=8
+QLocale (0x7f35b7b8caf0) 0
+
+Class QTextCodec::ConverterState
+ size=32 align=8
+ base size=32 base align=8
+QTextCodec::ConverterState (0x7f35b7a2cbd0) 0
+
+Vtable for QTextCodec
+QTextCodec::_ZTV10QTextCodec: 9u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QTextCodec)
+16 __cxa_pure_virtual
+24 QTextCodec::aliases
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+48 __cxa_pure_virtual
+56 QTextCodec::~QTextCodec
+64 QTextCodec::~QTextCodec
+
+Class QTextCodec
+ size=8 align=8
+ base size=8 base align=8
+QTextCodec (0x7f35b7a1d460) 0 nearly-empty
+ vptr=((& QTextCodec::_ZTV10QTextCodec) + 16u)
+
+Class QTextEncoder
+ size=40 align=8
+ base size=40 base align=8
+QTextEncoder (0x7f35b7a9f150) 0
+
+Class QTextDecoder
+ size=40 align=8
+ base size=40 base align=8
+QTextDecoder (0x7f35b7a9ff50) 0
+
+Vtable for QTextStream
+QTextStream::_ZTV11QTextStream: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QTextStream)
+16 QTextStream::~QTextStream
+24 QTextStream::~QTextStream
+
+Class QTextStream
+ size=16 align=8
+ base size=16 base align=8
+QTextStream (0x7f35b7aa7d90) 0
+ vptr=((& QTextStream::_ZTV11QTextStream) + 16u)
+
+Class QTextStreamManipulator
+ size=40 align=8
+ base size=38 base align=8
+QTextStreamManipulator (0x7f35b791fa80) 0
+
+Vtable for QTextIStream
+QTextIStream::_ZTV12QTextIStream: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QTextIStream)
+16 QTextIStream::~QTextIStream
+24 QTextIStream::~QTextIStream
+
+Class QTextIStream
+ size=16 align=8
+ base size=16 base align=8
+QTextIStream (0x7f35b7950070) 0
+ vptr=((& QTextIStream::_ZTV12QTextIStream) + 16u)
+ QTextStream (0x7f35b79500e0) 0
+ primary-for QTextIStream (0x7f35b7950070)
+
+Vtable for QTextOStream
+QTextOStream::_ZTV12QTextOStream: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QTextOStream)
+16 QTextOStream::~QTextOStream
+24 QTextOStream::~QTextOStream
+
+Class QTextOStream
+ size=16 align=8
+ base size=16 base align=8
+QTextOStream (0x7f35b795dee0) 0
+ vptr=((& QTextOStream::_ZTV12QTextOStream) + 16u)
+ QTextStream (0x7f35b795df50) 0
+ primary-for QTextOStream (0x7f35b795dee0)
+
+Class wait
+ size=4 align=4
+ base size=4 base align=4
+wait (0x7f35b7972d90) 0
+
+Class timespec
+ size=16 align=8
+ base size=16 base align=8
+timespec (0x7f35b797f0e0) 0
+
+Class timeval
+ size=16 align=8
+ base size=16 base align=8
+timeval (0x7f35b797f150) 0
+
+Class __pthread_internal_list
+ size=16 align=8
+ base size=16 base align=8
+__pthread_internal_list (0x7f35b797f2a0) 0
+
+Class random_data
+ size=48 align=8
+ base size=48 base align=8
+random_data (0x7f35b797f850) 0
+
+Class drand48_data
+ size=24 align=8
+ base size=24 base align=8
+drand48_data (0x7f35b797f8c0) 0
+
+Class QVectorData
+ size=16 align=4
+ base size=16 base align=4
+QVectorData (0x7f35b797f930) 0
+
+Class QContiguousCacheData
+ size=24 align=4
+ base size=24 base align=4
+QContiguousCacheData (0x7f35b773b620) 0
+
+Class QDebug::Stream
+ size=40 align=8
+ base size=34 base align=8
+QDebug::Stream (0x7f35b759e150) 0
+
+Class QDebug
+ size=8 align=8
+ base size=8 base align=8
+QDebug (0x7f35b759e0e0) 0
+
+Class QNoDebug
+ size=1 align=1
+ base size=0 base align=1
+QNoDebug (0x7f35b764b0e0) 0 empty
+
+Vtable for QDirIterator
+QDirIterator::_ZTV12QDirIterator: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QDirIterator)
+16 QDirIterator::~QDirIterator
+24 QDirIterator::~QDirIterator
+
+Class QDirIterator
+ size=16 align=8
+ base size=16 base align=8
+QDirIterator (0x7f35b765b700) 0
+ vptr=((& QDirIterator::_ZTV12QDirIterator) + 16u)
+
+Vtable for QFileSystemWatcher
+QFileSystemWatcher::_ZTV18QFileSystemWatcher: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QFileSystemWatcher)
+16 QFileSystemWatcher::metaObject
+24 QFileSystemWatcher::qt_metacast
+32 QFileSystemWatcher::qt_metacall
+40 QFileSystemWatcher::~QFileSystemWatcher
+48 QFileSystemWatcher::~QFileSystemWatcher
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QFileSystemWatcher
+ size=16 align=8
+ base size=16 base align=8
+QFileSystemWatcher (0x7f35b74b7540) 0
+ vptr=((& QFileSystemWatcher::_ZTV18QFileSystemWatcher) + 16u)
+ QObject (0x7f35b74b75b0) 0
+ primary-for QFileSystemWatcher (0x7f35b74b7540)
+
+Vtable for QFSFileEngine
+QFSFileEngine::_ZTV13QFSFileEngine: 36u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QFSFileEngine)
+16 QFSFileEngine::~QFSFileEngine
+24 QFSFileEngine::~QFSFileEngine
+32 QFSFileEngine::open
+40 QFSFileEngine::close
+48 QFSFileEngine::flush
+56 QFSFileEngine::size
+64 QFSFileEngine::pos
+72 QFSFileEngine::seek
+80 QFSFileEngine::isSequential
+88 QFSFileEngine::remove
+96 QFSFileEngine::copy
+104 QFSFileEngine::rename
+112 QFSFileEngine::link
+120 QFSFileEngine::mkdir
+128 QFSFileEngine::rmdir
+136 QFSFileEngine::setSize
+144 QFSFileEngine::caseSensitive
+152 QFSFileEngine::isRelativePath
+160 QFSFileEngine::entryList
+168 QFSFileEngine::fileFlags
+176 QFSFileEngine::setPermissions
+184 QFSFileEngine::fileName
+192 QFSFileEngine::ownerId
+200 QFSFileEngine::owner
+208 QFSFileEngine::fileTime
+216 QFSFileEngine::setFileName
+224 QFSFileEngine::handle
+232 QFSFileEngine::beginEntryList
+240 QFSFileEngine::endEntryList
+248 QFSFileEngine::read
+256 QFSFileEngine::readLine
+264 QFSFileEngine::write
+272 QFSFileEngine::extension
+280 QFSFileEngine::supportsExtension
+
+Class QFSFileEngine
+ size=16 align=8
+ base size=16 base align=8
+QFSFileEngine (0x7f35b74c9a80) 0
+ vptr=((& QFSFileEngine::_ZTV13QFSFileEngine) + 16u)
+ QAbstractFileEngine (0x7f35b74c9af0) 0
+ primary-for QFSFileEngine (0x7f35b74c9a80)
+
+Class QSharedData
+ size=4 align=4
+ base size=4 base align=4
+QSharedData (0x7f35b74d9e70) 0
+
+Class QProcessEnvironment
+ size=8 align=8
+ base size=8 base align=8
+QProcessEnvironment (0x7f35b75231c0) 0
+
+Vtable for QProcess
+QProcess::_ZTV8QProcess: 31u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI8QProcess)
+16 QProcess::metaObject
+24 QProcess::qt_metacast
+32 QProcess::qt_metacall
+40 QProcess::~QProcess
+48 QProcess::~QProcess
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QProcess::isSequential
+120 QIODevice::open
+128 QProcess::close
+136 QIODevice::pos
+144 QIODevice::size
+152 QIODevice::seek
+160 QProcess::atEnd
+168 QIODevice::reset
+176 QProcess::bytesAvailable
+184 QProcess::bytesToWrite
+192 QProcess::canReadLine
+200 QProcess::waitForReadyRead
+208 QProcess::waitForBytesWritten
+216 QProcess::readData
+224 QIODevice::readLineData
+232 QProcess::writeData
+240 QProcess::setupChildProcess
+
+Class QProcess
+ size=16 align=8
+ base size=16 base align=8
+QProcess (0x7f35b7523cb0) 0
+ vptr=((& QProcess::_ZTV8QProcess) + 16u)
+ QIODevice (0x7f35b7523d20) 0
+ primary-for QProcess (0x7f35b7523cb0)
+ QObject (0x7f35b7523d90) 0
+ primary-for QIODevice (0x7f35b7523d20)
+
+Class QResource
+ size=8 align=8
+ base size=8 base align=8
+QResource (0x7f35b75691c0) 0
+
+Class QMetaType
+ size=1 align=1
+ base size=0 base align=1
+QMetaType (0x7f35b7569e70) 0 empty
+
+Class QVariant::PrivateShared
+ size=16 align=8
+ base size=12 base align=8
+QVariant::PrivateShared (0x7f35b7467700) 0
+
+Class QVariant::Private::Data
+ size=8 align=8
+ base size=8 base align=8
+QVariant::Private::Data (0x7f35b7467a10) 0
+
+Class QVariant::Private
+ size=16 align=8
+ base size=12 base align=8
+QVariant::Private (0x7f35b74677e0) 0
+
+Class QVariant::Handler
+ size=72 align=8
+ base size=72 base align=8
+QVariant::Handler (0x7f35b7476700) 0
+
+Class QVariant
+ size=16 align=8
+ base size=16 base align=8
+QVariant (0x7f35b74387e0) 0
+
+Class QVariantComparisonHelper
+ size=8 align=8
+ base size=8 base align=8
+QVariantComparisonHelper (0x7f35b73289a0) 0
+
+Vtable for QSettings
+QSettings::_ZTV9QSettings: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QSettings)
+16 QSettings::metaObject
+24 QSettings::qt_metacast
+32 QSettings::qt_metacall
+40 QSettings::~QSettings
+48 QSettings::~QSettings
+56 QSettings::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QSettings
+ size=16 align=8
+ base size=16 base align=8
+QSettings (0x7f35b734eee0) 0
+ vptr=((& QSettings::_ZTV9QSettings) + 16u)
+ QObject (0x7f35b734ef50) 0
+ primary-for QSettings (0x7f35b734eee0)
+
+Vtable for QTemporaryFile
+QTemporaryFile::_ZTV14QTemporaryFile: 31u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QTemporaryFile)
+16 QTemporaryFile::metaObject
+24 QTemporaryFile::qt_metacast
+32 QTemporaryFile::qt_metacall
+40 QTemporaryFile::~QTemporaryFile
+48 QTemporaryFile::~QTemporaryFile
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QFile::isSequential
+120 QTemporaryFile::open
+128 QFile::close
+136 QFile::pos
+144 QFile::size
+152 QFile::seek
+160 QFile::atEnd
+168 QIODevice::reset
+176 QIODevice::bytesAvailable
+184 QIODevice::bytesToWrite
+192 QIODevice::canReadLine
+200 QIODevice::waitForReadyRead
+208 QIODevice::waitForBytesWritten
+216 QFile::readData
+224 QFile::readLineData
+232 QFile::writeData
+240 QTemporaryFile::fileEngine
+
+Class QTemporaryFile
+ size=16 align=8
+ base size=16 base align=8
+QTemporaryFile (0x7f35b71d02a0) 0
+ vptr=((& QTemporaryFile::_ZTV14QTemporaryFile) + 16u)
+ QFile (0x7f35b71d0310) 0
+ primary-for QTemporaryFile (0x7f35b71d02a0)
+ QIODevice (0x7f35b71d0380) 0
+ primary-for QFile (0x7f35b71d0310)
+ QObject (0x7f35b71d03f0) 0
+ primary-for QIODevice (0x7f35b71d0380)
+
+Class QUrl
+ size=8 align=8
+ base size=8 base align=8
+QUrl (0x7f35b71ec9a0) 0
+
+Class QXmlStreamStringRef
+ size=16 align=8
+ base size=16 base align=8
+QXmlStreamStringRef (0x7f35b727a070) 0
+
+Class QXmlStreamAttribute
+ size=80 align=8
+ base size=73 base align=8
+QXmlStreamAttribute (0x7f35b7094850) 0
+
+Class QXmlStreamAttributes
+ size=8 align=8
+ base size=8 base align=8
+QXmlStreamAttributes (0x7f35b70bc310) 0
+ QVector<QXmlStreamAttribute> (0x7f35b70bc380) 0
+
+Class QXmlStreamNamespaceDeclaration
+ size=40 align=8
+ base size=40 base align=8
+QXmlStreamNamespaceDeclaration (0x7f35b70bc7e0) 0
+
+Class QXmlStreamNotationDeclaration
+ size=56 align=8
+ base size=56 base align=8
+QXmlStreamNotationDeclaration (0x7f35b70fe1c0) 0
+
+Class QXmlStreamEntityDeclaration
+ size=88 align=8
+ base size=88 base align=8
+QXmlStreamEntityDeclaration (0x7f35b711c070) 0
+
+Vtable for QXmlStreamEntityResolver
+QXmlStreamEntityResolver::_ZTV24QXmlStreamEntityResolver: 6u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI24QXmlStreamEntityResolver)
+16 QXmlStreamEntityResolver::~QXmlStreamEntityResolver
+24 QXmlStreamEntityResolver::~QXmlStreamEntityResolver
+32 QXmlStreamEntityResolver::resolveEntity
+40 QXmlStreamEntityResolver::resolveUndeclaredEntity
+
+Class QXmlStreamEntityResolver
+ size=8 align=8
+ base size=8 base align=8
+QXmlStreamEntityResolver (0x7f35b71399a0) 0 nearly-empty
+ vptr=((& QXmlStreamEntityResolver::_ZTV24QXmlStreamEntityResolver) + 16u)
+
+Class QXmlStreamReader
+ size=8 align=8
+ base size=8 base align=8
+QXmlStreamReader (0x7f35b7139b60) 0
+
+Class QXmlStreamWriter
+ size=8 align=8
+ base size=8 base align=8
+QXmlStreamWriter (0x7f35b6f81c40) 0
+
+Vtable for QAbstractState
+QAbstractState::_ZTV14QAbstractState: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QAbstractState)
+16 QAbstractState::metaObject
+24 QAbstractState::qt_metacast
+32 QAbstractState::qt_metacall
+40 QAbstractState::~QAbstractState
+48 QAbstractState::~QAbstractState
+56 QAbstractState::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+
+Class QAbstractState
+ size=16 align=8
+ base size=16 base align=8
+QAbstractState (0x7f35b6f96a80) 0
+ vptr=((& QAbstractState::_ZTV14QAbstractState) + 16u)
+ QObject (0x7f35b6f96af0) 0
+ primary-for QAbstractState (0x7f35b6f96a80)
+
+Vtable for QAbstractTransition
+QAbstractTransition::_ZTV19QAbstractTransition: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QAbstractTransition)
+16 QAbstractTransition::metaObject
+24 QAbstractTransition::qt_metacast
+32 QAbstractTransition::qt_metacall
+40 QAbstractTransition::~QAbstractTransition
+48 QAbstractTransition::~QAbstractTransition
+56 QAbstractTransition::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+
+Class QAbstractTransition
+ size=16 align=8
+ base size=16 base align=8
+QAbstractTransition (0x7f35b6fbc2a0) 0
+ vptr=((& QAbstractTransition::_ZTV19QAbstractTransition) + 16u)
+ QObject (0x7f35b6fbc310) 0
+ primary-for QAbstractTransition (0x7f35b6fbc2a0)
+
+Vtable for QEvent
+QEvent::_ZTV6QEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI6QEvent)
+16 QEvent::~QEvent
+24 QEvent::~QEvent
+
+Class QEvent
+ size=24 align=8
+ base size=20 base align=8
+QEvent (0x7f35b6fd1af0) 0
+ vptr=((& QEvent::_ZTV6QEvent) + 16u)
+
+Vtable for QTimerEvent
+QTimerEvent::_ZTV11QTimerEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QTimerEvent)
+16 QTimerEvent::~QTimerEvent
+24 QTimerEvent::~QTimerEvent
+
+Class QTimerEvent
+ size=24 align=8
+ base size=24 base align=8
+QTimerEvent (0x7f35b6ff3700) 0
+ vptr=((& QTimerEvent::_ZTV11QTimerEvent) + 16u)
+ QEvent (0x7f35b6ff3770) 0
+ primary-for QTimerEvent (0x7f35b6ff3700)
+
+Vtable for QChildEvent
+QChildEvent::_ZTV11QChildEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QChildEvent)
+16 QChildEvent::~QChildEvent
+24 QChildEvent::~QChildEvent
+
+Class QChildEvent
+ size=32 align=8
+ base size=32 base align=8
+QChildEvent (0x7f35b6ff3b60) 0
+ vptr=((& QChildEvent::_ZTV11QChildEvent) + 16u)
+ QEvent (0x7f35b6ff3bd0) 0
+ primary-for QChildEvent (0x7f35b6ff3b60)
+
+Vtable for QCustomEvent
+QCustomEvent::_ZTV12QCustomEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QCustomEvent)
+16 QCustomEvent::~QCustomEvent
+24 QCustomEvent::~QCustomEvent
+
+Class QCustomEvent
+ size=24 align=8
+ base size=20 base align=8
+QCustomEvent (0x7f35b6ffce00) 0
+ vptr=((& QCustomEvent::_ZTV12QCustomEvent) + 16u)
+ QEvent (0x7f35b6ffce70) 0
+ primary-for QCustomEvent (0x7f35b6ffce00)
+
+Vtable for QDynamicPropertyChangeEvent
+QDynamicPropertyChangeEvent::_ZTV27QDynamicPropertyChangeEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI27QDynamicPropertyChangeEvent)
+16 QDynamicPropertyChangeEvent::~QDynamicPropertyChangeEvent
+24 QDynamicPropertyChangeEvent::~QDynamicPropertyChangeEvent
+
+Class QDynamicPropertyChangeEvent
+ size=32 align=8
+ base size=32 base align=8
+QDynamicPropertyChangeEvent (0x7f35b700e620) 0
+ vptr=((& QDynamicPropertyChangeEvent::_ZTV27QDynamicPropertyChangeEvent) + 16u)
+ QEvent (0x7f35b700e690) 0
+ primary-for QDynamicPropertyChangeEvent (0x7f35b700e620)
+
+Vtable for QEventTransition
+QEventTransition::_ZTV16QEventTransition: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QEventTransition)
+16 QEventTransition::metaObject
+24 QEventTransition::qt_metacast
+32 QEventTransition::qt_metacall
+40 QEventTransition::~QEventTransition
+48 QEventTransition::~QEventTransition
+56 QEventTransition::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QEventTransition::eventTest
+120 QEventTransition::onTransition
+
+Class QEventTransition
+ size=16 align=8
+ base size=16 base align=8
+QEventTransition (0x7f35b700eaf0) 0
+ vptr=((& QEventTransition::_ZTV16QEventTransition) + 16u)
+ QAbstractTransition (0x7f35b700eb60) 0
+ primary-for QEventTransition (0x7f35b700eaf0)
+ QObject (0x7f35b700ebd0) 0
+ primary-for QAbstractTransition (0x7f35b700eb60)
+
+Vtable for QFinalState
+QFinalState::_ZTV11QFinalState: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QFinalState)
+16 QFinalState::metaObject
+24 QFinalState::qt_metacast
+32 QFinalState::qt_metacall
+40 QFinalState::~QFinalState
+48 QFinalState::~QFinalState
+56 QFinalState::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QFinalState::onEntry
+120 QFinalState::onExit
+
+Class QFinalState
+ size=16 align=8
+ base size=16 base align=8
+QFinalState (0x7f35b70299a0) 0
+ vptr=((& QFinalState::_ZTV11QFinalState) + 16u)
+ QAbstractState (0x7f35b7029a10) 0
+ primary-for QFinalState (0x7f35b70299a0)
+ QObject (0x7f35b7029a80) 0
+ primary-for QAbstractState (0x7f35b7029a10)
+
+Vtable for QHistoryState
+QHistoryState::_ZTV13QHistoryState: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QHistoryState)
+16 QHistoryState::metaObject
+24 QHistoryState::qt_metacast
+32 QHistoryState::qt_metacall
+40 QHistoryState::~QHistoryState
+48 QHistoryState::~QHistoryState
+56 QHistoryState::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QHistoryState::onEntry
+120 QHistoryState::onExit
+
+Class QHistoryState
+ size=16 align=8
+ base size=16 base align=8
+QHistoryState (0x7f35b7043230) 0
+ vptr=((& QHistoryState::_ZTV13QHistoryState) + 16u)
+ QAbstractState (0x7f35b70432a0) 0
+ primary-for QHistoryState (0x7f35b7043230)
+ QObject (0x7f35b7043310) 0
+ primary-for QAbstractState (0x7f35b70432a0)
+
+Vtable for QSignalTransition
+QSignalTransition::_ZTV17QSignalTransition: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QSignalTransition)
+16 QSignalTransition::metaObject
+24 QSignalTransition::qt_metacast
+32 QSignalTransition::qt_metacall
+40 QSignalTransition::~QSignalTransition
+48 QSignalTransition::~QSignalTransition
+56 QSignalTransition::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QSignalTransition::eventTest
+120 QSignalTransition::onTransition
+
+Class QSignalTransition
+ size=16 align=8
+ base size=16 base align=8
+QSignalTransition (0x7f35b7052f50) 0
+ vptr=((& QSignalTransition::_ZTV17QSignalTransition) + 16u)
+ QAbstractTransition (0x7f35b705c000) 0
+ primary-for QSignalTransition (0x7f35b7052f50)
+ QObject (0x7f35b705c070) 0
+ primary-for QAbstractTransition (0x7f35b705c000)
+
+Vtable for QState
+QState::_ZTV6QState: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI6QState)
+16 QState::metaObject
+24 QState::qt_metacast
+32 QState::qt_metacall
+40 QState::~QState
+48 QState::~QState
+56 QState::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QState::onEntry
+120 QState::onExit
+
+Class QState
+ size=16 align=8
+ base size=16 base align=8
+QState (0x7f35b706faf0) 0
+ vptr=((& QState::_ZTV6QState) + 16u)
+ QAbstractState (0x7f35b706fb60) 0
+ primary-for QState (0x7f35b706faf0)
+ QObject (0x7f35b706fbd0) 0
+ primary-for QAbstractState (0x7f35b706fb60)
+
+Vtable for QStateMachine::SignalEvent
+QStateMachine::SignalEvent::_ZTVN13QStateMachine11SignalEventE: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN13QStateMachine11SignalEventE)
+16 QStateMachine::SignalEvent::~SignalEvent
+24 QStateMachine::SignalEvent::~SignalEvent
+
+Class QStateMachine::SignalEvent
+ size=48 align=8
+ base size=48 base align=8
+QStateMachine::SignalEvent (0x7f35b6e93150) 0
+ vptr=((& QStateMachine::SignalEvent::_ZTVN13QStateMachine11SignalEventE) + 16u)
+ QEvent (0x7f35b6e931c0) 0
+ primary-for QStateMachine::SignalEvent (0x7f35b6e93150)
+
+Vtable for QStateMachine::WrappedEvent
+QStateMachine::WrappedEvent::_ZTVN13QStateMachine12WrappedEventE: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN13QStateMachine12WrappedEventE)
+16 QStateMachine::WrappedEvent::~WrappedEvent
+24 QStateMachine::WrappedEvent::~WrappedEvent
+
+Class QStateMachine::WrappedEvent
+ size=40 align=8
+ base size=40 base align=8
+QStateMachine::WrappedEvent (0x7f35b6e93700) 0
+ vptr=((& QStateMachine::WrappedEvent::_ZTVN13QStateMachine12WrappedEventE) + 16u)
+ QEvent (0x7f35b6e93770) 0
+ primary-for QStateMachine::WrappedEvent (0x7f35b6e93700)
+
+Vtable for QStateMachine
+QStateMachine::_ZTV13QStateMachine: 20u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QStateMachine)
+16 QStateMachine::metaObject
+24 QStateMachine::qt_metacast
+32 QStateMachine::qt_metacall
+40 QStateMachine::~QStateMachine
+48 QStateMachine::~QStateMachine
+56 QStateMachine::event
+64 QStateMachine::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QStateMachine::onEntry
+120 QStateMachine::onExit
+128 QStateMachine::beginSelectTransitions
+136 QStateMachine::endSelectTransitions
+144 QStateMachine::beginMicrostep
+152 QStateMachine::endMicrostep
+
+Class QStateMachine
+ size=16 align=8
+ base size=16 base align=8
+QStateMachine (0x7f35b6e89ee0) 0
+ vptr=((& QStateMachine::_ZTV13QStateMachine) + 16u)
+ QState (0x7f35b6e89f50) 0
+ primary-for QStateMachine (0x7f35b6e89ee0)
+ QAbstractState (0x7f35b6e93000) 0
+ primary-for QState (0x7f35b6e89f50)
+ QObject (0x7f35b6e93070) 0
+ primary-for QAbstractState (0x7f35b6e93000)
+
+Class QBitArray
+ size=8 align=8
+ base size=8 base align=8
+QBitArray (0x7f35b6ec4150) 0
+
+Class QBitRef
+ size=16 align=8
+ base size=12 base align=8
+QBitRef (0x7f35b6f1ae00) 0
+
+Class QByteArrayMatcher::Data
+ size=272 align=8
+ base size=272 base align=8
+QByteArrayMatcher::Data (0x7f35b6f2daf0) 0
+
+Class QByteArrayMatcher
+ size=1040 align=8
+ base size=1040 base align=8
+QByteArrayMatcher (0x7f35b6f2d4d0) 0
+
+Class QCryptographicHash
+ size=8 align=8
+ base size=8 base align=8
+QCryptographicHash (0x7f35b6f63150) 0
+
+Vtable for QtSharedPointer::ExternalRefCountData
+QtSharedPointer::ExternalRefCountData::_ZTVN15QtSharedPointer20ExternalRefCountDataE: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN15QtSharedPointer20ExternalRefCountDataE)
+16 QtSharedPointer::ExternalRefCountData::~ExternalRefCountData
+24 QtSharedPointer::ExternalRefCountData::~ExternalRefCountData
+32 QtSharedPointer::ExternalRefCountData::destroy
+
+Class QtSharedPointer::ExternalRefCountData
+ size=16 align=8
+ base size=16 base align=8
+QtSharedPointer::ExternalRefCountData (0x7f35b6d8e070) 0
+ vptr=((& QtSharedPointer::ExternalRefCountData::_ZTVN15QtSharedPointer20ExternalRefCountDataE) + 16u)
+
+Vtable for QtSharedPointer::ExternalRefCountWithDestroyFn
+QtSharedPointer::ExternalRefCountWithDestroyFn::_ZTVN15QtSharedPointer29ExternalRefCountWithDestroyFnE: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN15QtSharedPointer29ExternalRefCountWithDestroyFnE)
+16 QtSharedPointer::ExternalRefCountWithDestroyFn::~ExternalRefCountWithDestroyFn
+24 QtSharedPointer::ExternalRefCountWithDestroyFn::~ExternalRefCountWithDestroyFn
+32 QtSharedPointer::ExternalRefCountWithDestroyFn::destroy
+
+Class QtSharedPointer::ExternalRefCountWithDestroyFn
+ size=24 align=8
+ base size=24 base align=8
+QtSharedPointer::ExternalRefCountWithDestroyFn (0x7f35b6da7930) 0
+ vptr=((& QtSharedPointer::ExternalRefCountWithDestroyFn::_ZTVN15QtSharedPointer29ExternalRefCountWithDestroyFnE) + 16u)
+ QtSharedPointer::ExternalRefCountData (0x7f35b6da79a0) 0
+ primary-for QtSharedPointer::ExternalRefCountWithDestroyFn (0x7f35b6da7930)
+
+Class QDate
+ size=4 align=4
+ base size=4 base align=4
+QDate (0x7f35b6e2c5b0) 0
+
+Class QTime
+ size=4 align=4
+ base size=4 base align=4
+QTime (0x7f35b6e5e540) 0
+
+Class QDateTime
+ size=8 align=8
+ base size=8 base align=8
+QDateTime (0x7f35b6e79af0) 0
+
+Class QEasingCurve
+ size=8 align=8
+ base size=8 base align=8
+QEasingCurve (0x7f35b6cc0000) 0
+
+Class QPoint
+ size=8 align=4
+ base size=8 base align=4
+QPoint (0x7f35b6cc0ee0) 0
+
+Class QPointF
+ size=16 align=8
+ base size=16 base align=8
+QPointF (0x7f35b6d03af0) 0
+
+Class QLine
+ size=16 align=4
+ base size=16 base align=4
+QLine (0x7f35b6d3faf0) 0
+
+Class QLineF
+ size=32 align=8
+ base size=32 base align=8
+QLineF (0x7f35b6d7c9a0) 0
+
+Class QLinkedListData
+ size=32 align=8
+ base size=32 base align=8
+QLinkedListData (0x7f35b6bd0460) 0
+
+Class QMargins
+ size=16 align=4
+ base size=16 base align=4
+QMargins (0x7f35b6a8f380) 0
+
+Class QSize
+ size=8 align=4
+ base size=8 base align=4
+QSize (0x7f35b6abe150) 0
+
+Class QSizeF
+ size=16 align=8
+ base size=16 base align=8
+QSizeF (0x7f35b6afee00) 0
+
+Class QRect
+ size=16 align=4
+ base size=16 base align=4
+QRect (0x7f35b6b53380) 0
+
+Class QRectF
+ size=32 align=8
+ base size=32 base align=8
+QRectF (0x7f35b69fdd20) 0
+
+Class QLatin1Literal
+ size=16 align=8
+ base size=16 base align=8
+QLatin1Literal (0x7f35b68adee0) 0
+
+Class QAbstractConcatenable
+ size=1 align=1
+ base size=0 base align=1
+QAbstractConcatenable (0x7f35b68be3f0) 0 empty
+
+Class QTextBoundaryFinder
+ size=48 align=8
+ base size=48 base align=8
+QTextBoundaryFinder (0x7f35b68f6380) 0
+
+Vtable for QTimeLine
+QTimeLine::_ZTV9QTimeLine: 15u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QTimeLine)
+16 QTimeLine::metaObject
+24 QTimeLine::qt_metacast
+32 QTimeLine::qt_metacall
+40 QTimeLine::~QTimeLine
+48 QTimeLine::~QTimeLine
+56 QObject::event
+64 QObject::eventFilter
+72 QTimeLine::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QTimeLine::valueForTime
+
+Class QTimeLine
+ size=16 align=8
+ base size=16 base align=8
+QTimeLine (0x7f35b6907700) 0
+ vptr=((& QTimeLine::_ZTV9QTimeLine) + 16u)
+ QObject (0x7f35b6907770) 0
+ primary-for QTimeLine (0x7f35b6907700)
+
+Vtable for QRunnable
+QRunnable::_ZTV9QRunnable: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QRunnable)
+16 __cxa_pure_virtual
+24 QRunnable::~QRunnable
+32 QRunnable::~QRunnable
+
+Class QRunnable
+ size=16 align=8
+ base size=12 base align=8
+QRunnable (0x7f35b692ef50) 0
+ vptr=((& QRunnable::_ZTV9QRunnable) + 16u)
+
+Class QMutex
+ size=8 align=8
+ base size=8 base align=8
+QMutex (0x7f35b6964620) 0
+
+Class QMutexLocker
+ size=8 align=8
+ base size=8 base align=8
+QMutexLocker (0x7f35b69731c0) 0
+
+Vtable for QtConcurrent::Exception
+QtConcurrent::Exception::_ZTVN12QtConcurrent9ExceptionE: 7u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN12QtConcurrent9ExceptionE)
+16 QtConcurrent::Exception::~Exception
+24 QtConcurrent::Exception::~Exception
+32 std::exception::what
+40 QtConcurrent::Exception::raise
+48 QtConcurrent::Exception::clone
+
+Class QtConcurrent::Exception
+ size=8 align=8
+ base size=8 base align=8
+QtConcurrent::Exception (0x7f35b678a4d0) 0 nearly-empty
+ vptr=((& QtConcurrent::Exception::_ZTVN12QtConcurrent9ExceptionE) + 16u)
+ std::exception (0x7f35b678a540) 0 nearly-empty
+ primary-for QtConcurrent::Exception (0x7f35b678a4d0)
+
+Vtable for QtConcurrent::UnhandledException
+QtConcurrent::UnhandledException::_ZTVN12QtConcurrent18UnhandledExceptionE: 7u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN12QtConcurrent18UnhandledExceptionE)
+16 QtConcurrent::UnhandledException::~UnhandledException
+24 QtConcurrent::UnhandledException::~UnhandledException
+32 std::exception::what
+40 QtConcurrent::UnhandledException::raise
+48 QtConcurrent::UnhandledException::clone
+
+Class QtConcurrent::UnhandledException
+ size=8 align=8
+ base size=8 base align=8
+QtConcurrent::UnhandledException (0x7f35b678a770) 0 nearly-empty
+ vptr=((& QtConcurrent::UnhandledException::_ZTVN12QtConcurrent18UnhandledExceptionE) + 16u)
+ QtConcurrent::Exception (0x7f35b678a7e0) 0 nearly-empty
+ primary-for QtConcurrent::UnhandledException (0x7f35b678a770)
+ std::exception (0x7f35b678a850) 0 nearly-empty
+ primary-for QtConcurrent::Exception (0x7f35b678a7e0)
+
+Class QtConcurrent::internal::ExceptionHolder
+ size=8 align=8
+ base size=8 base align=8
+QtConcurrent::internal::ExceptionHolder (0x7f35b678aa80) 0
+
+Class QtConcurrent::internal::ExceptionStore
+ size=8 align=8
+ base size=8 base align=8
+QtConcurrent::internal::ExceptionStore (0x7f35b678ae00) 0
+
+Class QtConcurrent::ResultItem
+ size=16 align=8
+ base size=16 base align=8
+QtConcurrent::ResultItem (0x7f35b678ae70) 0
+
+Class QtConcurrent::ResultIteratorBase
+ size=16 align=8
+ base size=12 base align=8
+QtConcurrent::ResultIteratorBase (0x7f35b67a2d90) 0
+
+Vtable for QtConcurrent::ResultStoreBase
+QtConcurrent::ResultStoreBase::_ZTVN12QtConcurrent15ResultStoreBaseE: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN12QtConcurrent15ResultStoreBaseE)
+16 QtConcurrent::ResultStoreBase::~ResultStoreBase
+24 QtConcurrent::ResultStoreBase::~ResultStoreBase
+
+Class QtConcurrent::ResultStoreBase
+ size=48 align=8
+ base size=44 base align=8
+QtConcurrent::ResultStoreBase (0x7f35b67a8930) 0
+ vptr=((& QtConcurrent::ResultStoreBase::_ZTVN12QtConcurrent15ResultStoreBaseE) + 16u)
+
+Vtable for QFutureInterfaceBase
+QFutureInterfaceBase::_ZTV20QFutureInterfaceBase: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI20QFutureInterfaceBase)
+16 QFutureInterfaceBase::~QFutureInterfaceBase
+24 QFutureInterfaceBase::~QFutureInterfaceBase
+
+Class QFutureInterfaceBase
+ size=16 align=8
+ base size=16 base align=8
+QFutureInterfaceBase (0x7f35b67e5d90) 0
+ vptr=((& QFutureInterfaceBase::_ZTV20QFutureInterfaceBase) + 16u)
+
+Vtable for QFutureWatcherBase
+QFutureWatcherBase::_ZTV18QFutureWatcherBase: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QFutureWatcherBase)
+16 QFutureWatcherBase::metaObject
+24 QFutureWatcherBase::qt_metacast
+32 QFutureWatcherBase::qt_metacall
+40 QFutureWatcherBase::~QFutureWatcherBase
+48 QFutureWatcherBase::~QFutureWatcherBase
+56 QFutureWatcherBase::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QFutureWatcherBase::connectNotify
+104 QFutureWatcherBase::disconnectNotify
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+
+Class QFutureWatcherBase
+ size=16 align=8
+ base size=16 base align=8
+QFutureWatcherBase (0x7f35b66cb690) 0
+ vptr=((& QFutureWatcherBase::_ZTV18QFutureWatcherBase) + 16u)
+ QObject (0x7f35b66cb700) 0
+ primary-for QFutureWatcherBase (0x7f35b66cb690)
+
+Vtable for QThread
+QThread::_ZTV7QThread: 15u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QThread)
+16 QThread::metaObject
+24 QThread::qt_metacast
+32 QThread::qt_metacall
+40 QThread::~QThread
+48 QThread::~QThread
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QThread::run
+
+Class QThread
+ size=16 align=8
+ base size=16 base align=8
+QThread (0x7f35b671ca80) 0
+ vptr=((& QThread::_ZTV7QThread) + 16u)
+ QObject (0x7f35b671caf0) 0
+ primary-for QThread (0x7f35b671ca80)
+
+Vtable for QThreadPool
+QThreadPool::_ZTV11QThreadPool: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QThreadPool)
+16 QThreadPool::metaObject
+24 QThreadPool::qt_metacast
+32 QThreadPool::qt_metacall
+40 QThreadPool::~QThreadPool
+48 QThreadPool::~QThreadPool
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QThreadPool
+ size=16 align=8
+ base size=16 base align=8
+QThreadPool (0x7f35b6743930) 0
+ vptr=((& QThreadPool::_ZTV11QThreadPool) + 16u)
+ QObject (0x7f35b67439a0) 0
+ primary-for QThreadPool (0x7f35b6743930)
+
+Class QWaitCondition
+ size=8 align=8
+ base size=8 base align=8
+QWaitCondition (0x7f35b6755ee0) 0
+
+Class QSemaphore
+ size=8 align=8
+ base size=8 base align=8
+QSemaphore (0x7f35b675c460) 0
+
+Class QtConcurrent::ThreadEngineBarrier
+ size=24 align=8
+ base size=24 base align=8
+QtConcurrent::ThreadEngineBarrier (0x7f35b675c9a0) 0
+
+Vtable for QtConcurrent::ThreadEngineBase
+QtConcurrent::ThreadEngineBase::_ZTVN12QtConcurrent16ThreadEngineBaseE: 11u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN12QtConcurrent16ThreadEngineBaseE)
+16 QtConcurrent::ThreadEngineBase::run
+24 QtConcurrent::ThreadEngineBase::~ThreadEngineBase
+32 QtConcurrent::ThreadEngineBase::~ThreadEngineBase
+40 QtConcurrent::ThreadEngineBase::start
+48 QtConcurrent::ThreadEngineBase::finish
+56 QtConcurrent::ThreadEngineBase::threadFunction
+64 QtConcurrent::ThreadEngineBase::shouldStartThread
+72 QtConcurrent::ThreadEngineBase::shouldThrottleThread
+80 __cxa_pure_virtual
+
+Class QtConcurrent::ThreadEngineBase
+ size=64 align=8
+ base size=64 base align=8
+QtConcurrent::ThreadEngineBase (0x7f35b675ca80) 0
+ vptr=((& QtConcurrent::ThreadEngineBase::_ZTVN12QtConcurrent16ThreadEngineBaseE) + 16u)
+ QRunnable (0x7f35b675caf0) 0
+ primary-for QtConcurrent::ThreadEngineBase (0x7f35b675ca80)
+
+VTT for QtConcurrent::ThreadEngine<void>
+QtConcurrent::ThreadEngine<void>::_ZTTN12QtConcurrent12ThreadEngineIvEE: 2u entries
+0 ((& QtConcurrent::ThreadEngine<void>::_ZTVN12QtConcurrent12ThreadEngineIvEE) + 24u)
+8 ((& QtConcurrent::ThreadEngine<void>::_ZTVN12QtConcurrent12ThreadEngineIvEE) + 136u)
+
+Class QtConcurrent::BlockSizeManager
+ size=96 align=8
+ base size=92 base align=8
+QtConcurrent::BlockSizeManager (0x7f35b65aaee0) 0
+
+Vtable for QFactoryInterface
+QFactoryInterface::_ZTV17QFactoryInterface: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QFactoryInterface)
+16 QFactoryInterface::~QFactoryInterface
+24 QFactoryInterface::~QFactoryInterface
+32 __cxa_pure_virtual
+
+Class QFactoryInterface
+ size=8 align=8
+ base size=8 base align=8
+QFactoryInterface (0x7f35b624cd20) 0 nearly-empty
+ vptr=((& QFactoryInterface::_ZTV17QFactoryInterface) + 16u)
+
+Vtable for QTextCodecFactoryInterface
+QTextCodecFactoryInterface::_ZTV26QTextCodecFactoryInterface: 6u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI26QTextCodecFactoryInterface)
+16 QTextCodecFactoryInterface::~QTextCodecFactoryInterface
+24 QTextCodecFactoryInterface::~QTextCodecFactoryInterface
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+
+Class QTextCodecFactoryInterface
+ size=8 align=8
+ base size=8 base align=8
+QTextCodecFactoryInterface (0x7f35b607f000) 0 nearly-empty
+ vptr=((& QTextCodecFactoryInterface::_ZTV26QTextCodecFactoryInterface) + 16u)
+ QFactoryInterface (0x7f35b607f070) 0 nearly-empty
+ primary-for QTextCodecFactoryInterface (0x7f35b607f000)
+
+Vtable for QTextCodecPlugin
+QTextCodecPlugin::_ZTV16QTextCodecPlugin: 27u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QTextCodecPlugin)
+16 QTextCodecPlugin::metaObject
+24 QTextCodecPlugin::qt_metacast
+32 QTextCodecPlugin::qt_metacall
+40 QTextCodecPlugin::~QTextCodecPlugin
+48 QTextCodecPlugin::~QTextCodecPlugin
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 __cxa_pure_virtual
+136 __cxa_pure_virtual
+144 __cxa_pure_virtual
+152 QTextCodecPlugin::keys
+160 QTextCodecPlugin::create
+168 (int (*)(...))-0x00000000000000010
+176 (int (*)(...))(& _ZTI16QTextCodecPlugin)
+184 QTextCodecPlugin::_ZThn16_N16QTextCodecPluginD1Ev
+192 QTextCodecPlugin::_ZThn16_N16QTextCodecPluginD0Ev
+200 QTextCodecPlugin::_ZThn16_NK16QTextCodecPlugin4keysEv
+208 QTextCodecPlugin::_ZThn16_N16QTextCodecPlugin6createERK7QString
+
+Class QTextCodecPlugin
+ size=24 align=8
+ base size=24 base align=8
+QTextCodecPlugin (0x7f35b6089580) 0
+ vptr=((& QTextCodecPlugin::_ZTV16QTextCodecPlugin) + 16u)
+ QObject (0x7f35b607fa80) 0
+ primary-for QTextCodecPlugin (0x7f35b6089580)
+ QTextCodecFactoryInterface (0x7f35b607faf0) 16 nearly-empty
+ vptr=((& QTextCodecPlugin::_ZTV16QTextCodecPlugin) + 184u)
+ QFactoryInterface (0x7f35b607fb60) 16 nearly-empty
+ primary-for QTextCodecFactoryInterface (0x7f35b607faf0)
+
+Class QLibraryInfo
+ size=1 align=1
+ base size=0 base align=1
+QLibraryInfo (0x7f35b60d6150) 0 empty
+
+Vtable for QEventLoop
+QEventLoop::_ZTV10QEventLoop: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QEventLoop)
+16 QEventLoop::metaObject
+24 QEventLoop::qt_metacast
+32 QEventLoop::qt_metacall
+40 QEventLoop::~QEventLoop
+48 QEventLoop::~QEventLoop
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QEventLoop
+ size=16 align=8
+ base size=16 base align=8
+QEventLoop (0x7f35b60d62a0) 0
+ vptr=((& QEventLoop::_ZTV10QEventLoop) + 16u)
+ QObject (0x7f35b60d6310) 0
+ primary-for QEventLoop (0x7f35b60d62a0)
+
+Vtable for QAbstractEventDispatcher
+QAbstractEventDispatcher::_ZTV24QAbstractEventDispatcher: 27u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI24QAbstractEventDispatcher)
+16 QAbstractEventDispatcher::metaObject
+24 QAbstractEventDispatcher::qt_metacast
+32 QAbstractEventDispatcher::qt_metacall
+40 QAbstractEventDispatcher::~QAbstractEventDispatcher
+48 QAbstractEventDispatcher::~QAbstractEventDispatcher
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 __cxa_pure_virtual
+136 __cxa_pure_virtual
+144 __cxa_pure_virtual
+152 __cxa_pure_virtual
+160 __cxa_pure_virtual
+168 __cxa_pure_virtual
+176 __cxa_pure_virtual
+184 __cxa_pure_virtual
+192 __cxa_pure_virtual
+200 QAbstractEventDispatcher::startingUp
+208 QAbstractEventDispatcher::closingDown
+
+Class QAbstractEventDispatcher
+ size=16 align=8
+ base size=16 base align=8
+QAbstractEventDispatcher (0x7f35b6111bd0) 0
+ vptr=((& QAbstractEventDispatcher::_ZTV24QAbstractEventDispatcher) + 16u)
+ QObject (0x7f35b6111c40) 0
+ primary-for QAbstractEventDispatcher (0x7f35b6111bd0)
+
+Class QModelIndex
+ size=24 align=8
+ base size=24 base align=8
+QModelIndex (0x7f35b6136a80) 0
+
+Class QPersistentModelIndex
+ size=8 align=8
+ base size=8 base align=8
+QPersistentModelIndex (0x7f35b6162540) 0
+
+Vtable for QAbstractItemModel
+QAbstractItemModel::_ZTV18QAbstractItemModel: 42u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QAbstractItemModel)
+16 QAbstractItemModel::metaObject
+24 QAbstractItemModel::qt_metacast
+32 QAbstractItemModel::qt_metacall
+40 QAbstractItemModel::~QAbstractItemModel
+48 QAbstractItemModel::~QAbstractItemModel
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 __cxa_pure_virtual
+136 __cxa_pure_virtual
+144 QAbstractItemModel::hasChildren
+152 __cxa_pure_virtual
+160 QAbstractItemModel::setData
+168 QAbstractItemModel::headerData
+176 QAbstractItemModel::setHeaderData
+184 QAbstractItemModel::itemData
+192 QAbstractItemModel::setItemData
+200 QAbstractItemModel::mimeTypes
+208 QAbstractItemModel::mimeData
+216 QAbstractItemModel::dropMimeData
+224 QAbstractItemModel::supportedDropActions
+232 QAbstractItemModel::insertRows
+240 QAbstractItemModel::insertColumns
+248 QAbstractItemModel::removeRows
+256 QAbstractItemModel::removeColumns
+264 QAbstractItemModel::fetchMore
+272 QAbstractItemModel::canFetchMore
+280 QAbstractItemModel::flags
+288 QAbstractItemModel::sort
+296 QAbstractItemModel::buddy
+304 QAbstractItemModel::match
+312 QAbstractItemModel::span
+320 QAbstractItemModel::submit
+328 QAbstractItemModel::revert
+
+Class QAbstractItemModel
+ size=16 align=8
+ base size=16 base align=8
+QAbstractItemModel (0x7f35b616a850) 0
+ vptr=((& QAbstractItemModel::_ZTV18QAbstractItemModel) + 16u)
+ QObject (0x7f35b616a8c0) 0
+ primary-for QAbstractItemModel (0x7f35b616a850)
+
+Vtable for QAbstractTableModel
+QAbstractTableModel::_ZTV19QAbstractTableModel: 42u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QAbstractTableModel)
+16 QAbstractTableModel::metaObject
+24 QAbstractTableModel::qt_metacast
+32 QAbstractTableModel::qt_metacall
+40 QAbstractTableModel::~QAbstractTableModel
+48 QAbstractTableModel::~QAbstractTableModel
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QAbstractTableModel::index
+120 QAbstractTableModel::parent
+128 __cxa_pure_virtual
+136 __cxa_pure_virtual
+144 QAbstractTableModel::hasChildren
+152 __cxa_pure_virtual
+160 QAbstractItemModel::setData
+168 QAbstractItemModel::headerData
+176 QAbstractItemModel::setHeaderData
+184 QAbstractItemModel::itemData
+192 QAbstractItemModel::setItemData
+200 QAbstractItemModel::mimeTypes
+208 QAbstractItemModel::mimeData
+216 QAbstractTableModel::dropMimeData
+224 QAbstractItemModel::supportedDropActions
+232 QAbstractItemModel::insertRows
+240 QAbstractItemModel::insertColumns
+248 QAbstractItemModel::removeRows
+256 QAbstractItemModel::removeColumns
+264 QAbstractItemModel::fetchMore
+272 QAbstractItemModel::canFetchMore
+280 QAbstractItemModel::flags
+288 QAbstractItemModel::sort
+296 QAbstractItemModel::buddy
+304 QAbstractItemModel::match
+312 QAbstractItemModel::span
+320 QAbstractItemModel::submit
+328 QAbstractItemModel::revert
+
+Class QAbstractTableModel
+ size=16 align=8
+ base size=16 base align=8
+QAbstractTableModel (0x7f35b5fc4b60) 0
+ vptr=((& QAbstractTableModel::_ZTV19QAbstractTableModel) + 16u)
+ QAbstractItemModel (0x7f35b5fc4bd0) 0
+ primary-for QAbstractTableModel (0x7f35b5fc4b60)
+ QObject (0x7f35b5fc4c40) 0
+ primary-for QAbstractItemModel (0x7f35b5fc4bd0)
+
+Vtable for QAbstractListModel
+QAbstractListModel::_ZTV18QAbstractListModel: 42u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QAbstractListModel)
+16 QAbstractListModel::metaObject
+24 QAbstractListModel::qt_metacast
+32 QAbstractListModel::qt_metacall
+40 QAbstractListModel::~QAbstractListModel
+48 QAbstractListModel::~QAbstractListModel
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QAbstractListModel::index
+120 QAbstractListModel::parent
+128 __cxa_pure_virtual
+136 QAbstractListModel::columnCount
+144 QAbstractListModel::hasChildren
+152 __cxa_pure_virtual
+160 QAbstractItemModel::setData
+168 QAbstractItemModel::headerData
+176 QAbstractItemModel::setHeaderData
+184 QAbstractItemModel::itemData
+192 QAbstractItemModel::setItemData
+200 QAbstractItemModel::mimeTypes
+208 QAbstractItemModel::mimeData
+216 QAbstractListModel::dropMimeData
+224 QAbstractItemModel::supportedDropActions
+232 QAbstractItemModel::insertRows
+240 QAbstractItemModel::insertColumns
+248 QAbstractItemModel::removeRows
+256 QAbstractItemModel::removeColumns
+264 QAbstractItemModel::fetchMore
+272 QAbstractItemModel::canFetchMore
+280 QAbstractItemModel::flags
+288 QAbstractItemModel::sort
+296 QAbstractItemModel::buddy
+304 QAbstractItemModel::match
+312 QAbstractItemModel::span
+320 QAbstractItemModel::submit
+328 QAbstractItemModel::revert
+
+Class QAbstractListModel
+ size=16 align=8
+ base size=16 base align=8
+QAbstractListModel (0x7f35b5fe30e0) 0
+ vptr=((& QAbstractListModel::_ZTV18QAbstractListModel) + 16u)
+ QAbstractItemModel (0x7f35b5fe3150) 0
+ primary-for QAbstractListModel (0x7f35b5fe30e0)
+ QObject (0x7f35b5fe31c0) 0
+ primary-for QAbstractItemModel (0x7f35b5fe3150)
+
+Class QBasicTimer
+ size=4 align=4
+ base size=4 base align=4
+QBasicTimer (0x7f35b6013230) 0
+
+Vtable for QCoreApplication
+QCoreApplication::_ZTV16QCoreApplication: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QCoreApplication)
+16 QCoreApplication::metaObject
+24 QCoreApplication::qt_metacast
+32 QCoreApplication::qt_metacall
+40 QCoreApplication::~QCoreApplication
+48 QCoreApplication::~QCoreApplication
+56 QCoreApplication::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QCoreApplication::notify
+120 QCoreApplication::compressEvent
+
+Class QCoreApplication
+ size=16 align=8
+ base size=16 base align=8
+QCoreApplication (0x7f35b6020620) 0
+ vptr=((& QCoreApplication::_ZTV16QCoreApplication) + 16u)
+ QObject (0x7f35b6020690) 0
+ primary-for QCoreApplication (0x7f35b6020620)
+
+Class __exception
+ size=40 align=8
+ base size=40 base align=8
+__exception (0x7f35b6052310) 0
+
+Class QMetaMethod
+ size=16 align=8
+ base size=12 base align=8
+QMetaMethod (0x7f35b5ebf770) 0
+
+Class QMetaEnum
+ size=16 align=8
+ base size=12 base align=8
+QMetaEnum (0x7f35b5edbbd0) 0
+
+Class QMetaProperty
+ size=32 align=8
+ base size=32 base align=8
+QMetaProperty (0x7f35b5eea930) 0
+
+Class QMetaClassInfo
+ size=16 align=8
+ base size=12 base align=8
+QMetaClassInfo (0x7f35b5efa000) 0
+
+Vtable for QMimeData
+QMimeData::_ZTV9QMimeData: 17u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QMimeData)
+16 QMimeData::metaObject
+24 QMimeData::qt_metacast
+32 QMimeData::qt_metacall
+40 QMimeData::~QMimeData
+48 QMimeData::~QMimeData
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QMimeData::hasFormat
+120 QMimeData::formats
+128 QMimeData::retrieveData
+
+Class QMimeData
+ size=16 align=8
+ base size=16 base align=8
+QMimeData (0x7f35b5efaaf0) 0
+ vptr=((& QMimeData::_ZTV9QMimeData) + 16u)
+ QObject (0x7f35b5efab60) 0
+ primary-for QMimeData (0x7f35b5efaaf0)
+
+Vtable for QObjectCleanupHandler
+QObjectCleanupHandler::_ZTV21QObjectCleanupHandler: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI21QObjectCleanupHandler)
+16 QObjectCleanupHandler::metaObject
+24 QObjectCleanupHandler::qt_metacast
+32 QObjectCleanupHandler::qt_metacall
+40 QObjectCleanupHandler::~QObjectCleanupHandler
+48 QObjectCleanupHandler::~QObjectCleanupHandler
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QObjectCleanupHandler
+ size=24 align=8
+ base size=24 base align=8
+QObjectCleanupHandler (0x7f35b5f1e380) 0
+ vptr=((& QObjectCleanupHandler::_ZTV21QObjectCleanupHandler) + 16u)
+ QObject (0x7f35b5f1e3f0) 0
+ primary-for QObjectCleanupHandler (0x7f35b5f1e380)
+
+Vtable for QSharedMemory
+QSharedMemory::_ZTV13QSharedMemory: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QSharedMemory)
+16 QSharedMemory::metaObject
+24 QSharedMemory::qt_metacast
+32 QSharedMemory::qt_metacall
+40 QSharedMemory::~QSharedMemory
+48 QSharedMemory::~QSharedMemory
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QSharedMemory
+ size=16 align=8
+ base size=16 base align=8
+QSharedMemory (0x7f35b5f2f4d0) 0
+ vptr=((& QSharedMemory::_ZTV13QSharedMemory) + 16u)
+ QObject (0x7f35b5f2f540) 0
+ primary-for QSharedMemory (0x7f35b5f2f4d0)
+
+Vtable for QSignalMapper
+QSignalMapper::_ZTV13QSignalMapper: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QSignalMapper)
+16 QSignalMapper::metaObject
+24 QSignalMapper::qt_metacast
+32 QSignalMapper::qt_metacall
+40 QSignalMapper::~QSignalMapper
+48 QSignalMapper::~QSignalMapper
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QSignalMapper
+ size=16 align=8
+ base size=16 base align=8
+QSignalMapper (0x7f35b5f492a0) 0
+ vptr=((& QSignalMapper::_ZTV13QSignalMapper) + 16u)
+ QObject (0x7f35b5f49310) 0
+ primary-for QSignalMapper (0x7f35b5f492a0)
+
+Vtable for QSocketNotifier
+QSocketNotifier::_ZTV15QSocketNotifier: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QSocketNotifier)
+16 QSocketNotifier::metaObject
+24 QSocketNotifier::qt_metacast
+32 QSocketNotifier::qt_metacall
+40 QSocketNotifier::~QSocketNotifier
+48 QSocketNotifier::~QSocketNotifier
+56 QSocketNotifier::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QSocketNotifier
+ size=32 align=8
+ base size=25 base align=8
+QSocketNotifier (0x7f35b5f65690) 0
+ vptr=((& QSocketNotifier::_ZTV15QSocketNotifier) + 16u)
+ QObject (0x7f35b5f65700) 0
+ primary-for QSocketNotifier (0x7f35b5f65690)
+
+Class QSystemSemaphore
+ size=8 align=8
+ base size=8 base align=8
+QSystemSemaphore (0x7f35b5d7ea10) 0
+
+Vtable for QTimer
+QTimer::_ZTV6QTimer: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI6QTimer)
+16 QTimer::metaObject
+24 QTimer::qt_metacast
+32 QTimer::qt_metacall
+40 QTimer::~QTimer
+48 QTimer::~QTimer
+56 QObject::event
+64 QObject::eventFilter
+72 QTimer::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QTimer
+ size=32 align=8
+ base size=29 base align=8
+QTimer (0x7f35b5d8a460) 0
+ vptr=((& QTimer::_ZTV6QTimer) + 16u)
+ QObject (0x7f35b5d8a4d0) 0
+ primary-for QTimer (0x7f35b5d8a460)
+
+Vtable for QTranslator
+QTranslator::_ZTV11QTranslator: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QTranslator)
+16 QTranslator::metaObject
+24 QTranslator::qt_metacast
+32 QTranslator::qt_metacall
+40 QTranslator::~QTranslator
+48 QTranslator::~QTranslator
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QTranslator::translate
+120 QTranslator::isEmpty
+
+Class QTranslator
+ size=16 align=8
+ base size=16 base align=8
+QTranslator (0x7f35b5dae9a0) 0
+ vptr=((& QTranslator::_ZTV11QTranslator) + 16u)
+ QObject (0x7f35b5daea10) 0
+ primary-for QTranslator (0x7f35b5dae9a0)
+
+Vtable for QLibrary
+QLibrary::_ZTV8QLibrary: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI8QLibrary)
+16 QLibrary::metaObject
+24 QLibrary::qt_metacast
+32 QLibrary::qt_metacall
+40 QLibrary::~QLibrary
+48 QLibrary::~QLibrary
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QLibrary
+ size=32 align=8
+ base size=25 base align=8
+QLibrary (0x7f35b5dca930) 0
+ vptr=((& QLibrary::_ZTV8QLibrary) + 16u)
+ QObject (0x7f35b5dca9a0) 0
+ primary-for QLibrary (0x7f35b5dca930)
+
+Vtable for QPluginLoader
+QPluginLoader::_ZTV13QPluginLoader: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QPluginLoader)
+16 QPluginLoader::metaObject
+24 QPluginLoader::qt_metacast
+32 QPluginLoader::qt_metacall
+40 QPluginLoader::~QPluginLoader
+48 QPluginLoader::~QPluginLoader
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QPluginLoader
+ size=32 align=8
+ base size=25 base align=8
+QPluginLoader (0x7f35b5e163f0) 0
+ vptr=((& QPluginLoader::_ZTV13QPluginLoader) + 16u)
+ QObject (0x7f35b5e16460) 0
+ primary-for QPluginLoader (0x7f35b5e163f0)
+
+Class QUuid
+ size=16 align=4
+ base size=16 base align=4
+QUuid (0x7f35b5e24b60) 0
+
+Class QReadWriteLock
+ size=8 align=8
+ base size=8 base align=8
+QReadWriteLock (0x7f35b5e4c4d0) 0
+
+Class QReadLocker
+ size=8 align=8
+ base size=8 base align=8
+QReadLocker (0x7f35b5e4cb60) 0
+
+Class QWriteLocker
+ size=8 align=8
+ base size=8 base align=8
+QWriteLocker (0x7f35b5e6bee0) 0
+
+Class QThreadStorageData
+ size=4 align=4
+ base size=4 base align=4
+QThreadStorageData (0x7f35b5c852a0) 0
+
+Vtable for QAbstractAnimation
+QAbstractAnimation::_ZTV18QAbstractAnimation: 18u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QAbstractAnimation)
+16 QAbstractAnimation::metaObject
+24 QAbstractAnimation::qt_metacast
+32 QAbstractAnimation::qt_metacall
+40 QAbstractAnimation::~QAbstractAnimation
+48 QAbstractAnimation::~QAbstractAnimation
+56 QAbstractAnimation::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 QAbstractAnimation::updateState
+136 QAbstractAnimation::updateDirection
+
+Class QAbstractAnimation
+ size=16 align=8
+ base size=16 base align=8
+QAbstractAnimation (0x7f35b5c85a10) 0
+ vptr=((& QAbstractAnimation::_ZTV18QAbstractAnimation) + 16u)
+ QObject (0x7f35b5c85a80) 0
+ primary-for QAbstractAnimation (0x7f35b5c85a10)
+
+Vtable for QAnimationGroup
+QAnimationGroup::_ZTV15QAnimationGroup: 18u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QAnimationGroup)
+16 QAnimationGroup::metaObject
+24 QAnimationGroup::qt_metacast
+32 QAnimationGroup::qt_metacall
+40 QAnimationGroup::~QAnimationGroup
+48 QAnimationGroup::~QAnimationGroup
+56 QAnimationGroup::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 QAbstractAnimation::updateState
+136 QAbstractAnimation::updateDirection
+
+Class QAnimationGroup
+ size=16 align=8
+ base size=16 base align=8
+QAnimationGroup (0x7f35b5cbc150) 0
+ vptr=((& QAnimationGroup::_ZTV15QAnimationGroup) + 16u)
+ QAbstractAnimation (0x7f35b5cbc1c0) 0
+ primary-for QAnimationGroup (0x7f35b5cbc150)
+ QObject (0x7f35b5cbc230) 0
+ primary-for QAbstractAnimation (0x7f35b5cbc1c0)
+
+Vtable for QParallelAnimationGroup
+QParallelAnimationGroup::_ZTV23QParallelAnimationGroup: 18u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI23QParallelAnimationGroup)
+16 QParallelAnimationGroup::metaObject
+24 QParallelAnimationGroup::qt_metacast
+32 QParallelAnimationGroup::qt_metacall
+40 QParallelAnimationGroup::~QParallelAnimationGroup
+48 QParallelAnimationGroup::~QParallelAnimationGroup
+56 QParallelAnimationGroup::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QParallelAnimationGroup::duration
+120 QParallelAnimationGroup::updateCurrentTime
+128 QParallelAnimationGroup::updateState
+136 QParallelAnimationGroup::updateDirection
+
+Class QParallelAnimationGroup
+ size=16 align=8
+ base size=16 base align=8
+QParallelAnimationGroup (0x7f35b5cd6000) 0
+ vptr=((& QParallelAnimationGroup::_ZTV23QParallelAnimationGroup) + 16u)
+ QAnimationGroup (0x7f35b5cd6070) 0
+ primary-for QParallelAnimationGroup (0x7f35b5cd6000)
+ QAbstractAnimation (0x7f35b5cd60e0) 0
+ primary-for QAnimationGroup (0x7f35b5cd6070)
+ QObject (0x7f35b5cd6150) 0
+ primary-for QAbstractAnimation (0x7f35b5cd60e0)
+
+Vtable for QPauseAnimation
+QPauseAnimation::_ZTV15QPauseAnimation: 18u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QPauseAnimation)
+16 QPauseAnimation::metaObject
+24 QPauseAnimation::qt_metacast
+32 QPauseAnimation::qt_metacall
+40 QPauseAnimation::~QPauseAnimation
+48 QPauseAnimation::~QPauseAnimation
+56 QPauseAnimation::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QPauseAnimation::duration
+120 QPauseAnimation::updateCurrentTime
+128 QAbstractAnimation::updateState
+136 QAbstractAnimation::updateDirection
+
+Class QPauseAnimation
+ size=16 align=8
+ base size=16 base align=8
+QPauseAnimation (0x7f35b5ce3e70) 0
+ vptr=((& QPauseAnimation::_ZTV15QPauseAnimation) + 16u)
+ QAbstractAnimation (0x7f35b5ce3ee0) 0
+ primary-for QPauseAnimation (0x7f35b5ce3e70)
+ QObject (0x7f35b5ce3f50) 0
+ primary-for QAbstractAnimation (0x7f35b5ce3ee0)
+
+Vtable for QVariantAnimation
+QVariantAnimation::_ZTV17QVariantAnimation: 20u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QVariantAnimation)
+16 QVariantAnimation::metaObject
+24 QVariantAnimation::qt_metacast
+32 QVariantAnimation::qt_metacall
+40 QVariantAnimation::~QVariantAnimation
+48 QVariantAnimation::~QVariantAnimation
+56 QVariantAnimation::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QVariantAnimation::duration
+120 QVariantAnimation::updateCurrentTime
+128 QVariantAnimation::updateState
+136 QAbstractAnimation::updateDirection
+144 __cxa_pure_virtual
+152 QVariantAnimation::interpolated
+
+Class QVariantAnimation
+ size=16 align=8
+ base size=16 base align=8
+QVariantAnimation (0x7f35b5d028c0) 0
+ vptr=((& QVariantAnimation::_ZTV17QVariantAnimation) + 16u)
+ QAbstractAnimation (0x7f35b5d02930) 0
+ primary-for QVariantAnimation (0x7f35b5d028c0)
+ QObject (0x7f35b5d029a0) 0
+ primary-for QAbstractAnimation (0x7f35b5d02930)
+
+Vtable for QPropertyAnimation
+QPropertyAnimation::_ZTV18QPropertyAnimation: 20u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QPropertyAnimation)
+16 QPropertyAnimation::metaObject
+24 QPropertyAnimation::qt_metacast
+32 QPropertyAnimation::qt_metacall
+40 QPropertyAnimation::~QPropertyAnimation
+48 QPropertyAnimation::~QPropertyAnimation
+56 QPropertyAnimation::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QVariantAnimation::duration
+120 QVariantAnimation::updateCurrentTime
+128 QPropertyAnimation::updateState
+136 QAbstractAnimation::updateDirection
+144 QPropertyAnimation::updateCurrentValue
+152 QVariantAnimation::interpolated
+
+Class QPropertyAnimation
+ size=16 align=8
+ base size=16 base align=8
+QPropertyAnimation (0x7f35b5d1fb60) 0
+ vptr=((& QPropertyAnimation::_ZTV18QPropertyAnimation) + 16u)
+ QVariantAnimation (0x7f35b5d1fbd0) 0
+ primary-for QPropertyAnimation (0x7f35b5d1fb60)
+ QAbstractAnimation (0x7f35b5d1fc40) 0
+ primary-for QVariantAnimation (0x7f35b5d1fbd0)
+ QObject (0x7f35b5d1fcb0) 0
+ primary-for QAbstractAnimation (0x7f35b5d1fc40)
+
+Vtable for QSequentialAnimationGroup
+QSequentialAnimationGroup::_ZTV25QSequentialAnimationGroup: 18u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI25QSequentialAnimationGroup)
+16 QSequentialAnimationGroup::metaObject
+24 QSequentialAnimationGroup::qt_metacast
+32 QSequentialAnimationGroup::qt_metacall
+40 QSequentialAnimationGroup::~QSequentialAnimationGroup
+48 QSequentialAnimationGroup::~QSequentialAnimationGroup
+56 QSequentialAnimationGroup::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QSequentialAnimationGroup::duration
+120 QSequentialAnimationGroup::updateCurrentTime
+128 QSequentialAnimationGroup::updateState
+136 QSequentialAnimationGroup::updateDirection
+
+Class QSequentialAnimationGroup
+ size=16 align=8
+ base size=16 base align=8
+QSequentialAnimationGroup (0x7f35b5d39b60) 0
+ vptr=((& QSequentialAnimationGroup::_ZTV25QSequentialAnimationGroup) + 16u)
+ QAnimationGroup (0x7f35b5d39bd0) 0
+ primary-for QSequentialAnimationGroup (0x7f35b5d39b60)
+ QAbstractAnimation (0x7f35b5d39c40) 0
+ primary-for QAnimationGroup (0x7f35b5d39bd0)
+ QObject (0x7f35b5d39cb0) 0
+ primary-for QAbstractAnimation (0x7f35b5d39c40)
+
+Class QDomImplementation
+ size=8 align=8
+ base size=8 base align=8
+QDomImplementation (0x7f35b5d51bd0) 0
+
+Class QDomNode
+ size=8 align=8
+ base size=8 base align=8
+QDomNode (0x7f35b5d5f540) 0
+
+Class QDomNodeList
+ size=8 align=8
+ base size=8 base align=8
+QDomNodeList (0x7f35b5d6f770) 0
+
+Class QDomDocumentType
+ size=8 align=8
+ base size=8 base align=8
+QDomDocumentType (0x7f35b5b877e0) 0
+ QDomNode (0x7f35b5b87850) 0
+
+Class QDomDocument
+ size=8 align=8
+ base size=8 base align=8
+QDomDocument (0x7f35b5b8f380) 0
+ QDomNode (0x7f35b5b8f3f0) 0
+
+Class QDomNamedNodeMap
+ size=8 align=8
+ base size=8 base align=8
+QDomNamedNodeMap (0x7f35b5ba12a0) 0
+
+Class QDomDocumentFragment
+ size=8 align=8
+ base size=8 base align=8
+QDomDocumentFragment (0x7f35b5bb00e0) 0
+ QDomNode (0x7f35b5bb0150) 0
+
+Class QDomCharacterData
+ size=8 align=8
+ base size=8 base align=8
+QDomCharacterData (0x7f35b5bb0c40) 0
+ QDomNode (0x7f35b5bb0cb0) 0
+
+Class QDomAttr
+ size=8 align=8
+ base size=8 base align=8
+QDomAttr (0x7f35b5bb4690) 0
+ QDomNode (0x7f35b5bb4700) 0
+
+Class QDomElement
+ size=8 align=8
+ base size=8 base align=8
+QDomElement (0x7f35b5bbd230) 0
+ QDomNode (0x7f35b5bbd2a0) 0
+
+Class QDomText
+ size=8 align=8
+ base size=8 base align=8
+QDomText (0x7f35b5bd24d0) 0
+ QDomCharacterData (0x7f35b5bd2540) 0
+ QDomNode (0x7f35b5bd25b0) 0
+
+Class QDomComment
+ size=8 align=8
+ base size=8 base align=8
+QDomComment (0x7f35b5bd9230) 0
+ QDomCharacterData (0x7f35b5bd92a0) 0
+ QDomNode (0x7f35b5bd9310) 0
+
+Class QDomCDATASection
+ size=8 align=8
+ base size=8 base align=8
+QDomCDATASection (0x7f35b5bd9e00) 0
+ QDomText (0x7f35b5bd9e70) 0
+ QDomCharacterData (0x7f35b5bd9ee0) 0
+ QDomNode (0x7f35b5bd9f50) 0
+
+Class QDomNotation
+ size=8 align=8
+ base size=8 base align=8
+QDomNotation (0x7f35b5be0a80) 0
+ QDomNode (0x7f35b5be0af0) 0
+
+Class QDomEntity
+ size=8 align=8
+ base size=8 base align=8
+QDomEntity (0x7f35b5be5620) 0
+ QDomNode (0x7f35b5be5690) 0
+
+Class QDomEntityReference
+ size=8 align=8
+ base size=8 base align=8
+QDomEntityReference (0x7f35b5bec1c0) 0
+ QDomNode (0x7f35b5bec230) 0
+
+Class QDomProcessingInstruction
+ size=8 align=8
+ base size=8 base align=8
+QDomProcessingInstruction (0x7f35b5becd20) 0
+ QDomNode (0x7f35b5becd90) 0
+
+Class QXmlNamespaceSupport
+ size=8 align=8
+ base size=8 base align=8
+QXmlNamespaceSupport (0x7f35b5bf08c0) 0
+
+Class QXmlAttributes::Attribute
+ size=32 align=8
+ base size=32 base align=8
+QXmlAttributes::Attribute (0x7f35b5bf0f50) 0
+
+Vtable for QXmlAttributes
+QXmlAttributes::_ZTV14QXmlAttributes: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QXmlAttributes)
+16 QXmlAttributes::~QXmlAttributes
+24 QXmlAttributes::~QXmlAttributes
+
+Class QXmlAttributes
+ size=24 align=8
+ base size=24 base align=8
+QXmlAttributes (0x7f35b5bf0e00) 0
+ vptr=((& QXmlAttributes::_ZTV14QXmlAttributes) + 16u)
+
+Vtable for QXmlInputSource
+QXmlInputSource::_ZTV15QXmlInputSource: 11u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QXmlInputSource)
+16 QXmlInputSource::~QXmlInputSource
+24 QXmlInputSource::~QXmlInputSource
+32 QXmlInputSource::setData
+40 QXmlInputSource::setData
+48 QXmlInputSource::fetchData
+56 QXmlInputSource::data
+64 QXmlInputSource::next
+72 QXmlInputSource::reset
+80 QXmlInputSource::fromRawData
+
+Class QXmlInputSource
+ size=16 align=8
+ base size=16 base align=8
+QXmlInputSource (0x7f35b5c32690) 0
+ vptr=((& QXmlInputSource::_ZTV15QXmlInputSource) + 16u)
+
+Class QXmlParseException
+ size=8 align=8
+ base size=8 base align=8
+QXmlParseException (0x7f35b5c329a0) 0
+
+Vtable for QXmlReader
+QXmlReader::_ZTV10QXmlReader: 24u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QXmlReader)
+16 QXmlReader::~QXmlReader
+24 QXmlReader::~QXmlReader
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+48 __cxa_pure_virtual
+56 __cxa_pure_virtual
+64 __cxa_pure_virtual
+72 __cxa_pure_virtual
+80 __cxa_pure_virtual
+88 __cxa_pure_virtual
+96 __cxa_pure_virtual
+104 __cxa_pure_virtual
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 __cxa_pure_virtual
+136 __cxa_pure_virtual
+144 __cxa_pure_virtual
+152 __cxa_pure_virtual
+160 __cxa_pure_virtual
+168 __cxa_pure_virtual
+176 __cxa_pure_virtual
+184 __cxa_pure_virtual
+
+Class QXmlReader
+ size=8 align=8
+ base size=8 base align=8
+QXmlReader (0x7f35b5c32e70) 0 nearly-empty
+ vptr=((& QXmlReader::_ZTV10QXmlReader) + 16u)
+
+Vtable for QXmlSimpleReader
+QXmlSimpleReader::_ZTV16QXmlSimpleReader: 26u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QXmlSimpleReader)
+16 QXmlSimpleReader::~QXmlSimpleReader
+24 QXmlSimpleReader::~QXmlSimpleReader
+32 QXmlSimpleReader::feature
+40 QXmlSimpleReader::setFeature
+48 QXmlSimpleReader::hasFeature
+56 QXmlSimpleReader::property
+64 QXmlSimpleReader::setProperty
+72 QXmlSimpleReader::hasProperty
+80 QXmlSimpleReader::setEntityResolver
+88 QXmlSimpleReader::entityResolver
+96 QXmlSimpleReader::setDTDHandler
+104 QXmlSimpleReader::DTDHandler
+112 QXmlSimpleReader::setContentHandler
+120 QXmlSimpleReader::contentHandler
+128 QXmlSimpleReader::setErrorHandler
+136 QXmlSimpleReader::errorHandler
+144 QXmlSimpleReader::setLexicalHandler
+152 QXmlSimpleReader::lexicalHandler
+160 QXmlSimpleReader::setDeclHandler
+168 QXmlSimpleReader::declHandler
+176 QXmlSimpleReader::parse
+184 QXmlSimpleReader::parse
+192 QXmlSimpleReader::parse
+200 QXmlSimpleReader::parseContinue
+
+Class QXmlSimpleReader
+ size=16 align=8
+ base size=16 base align=8
+QXmlSimpleReader (0x7f35b5c56770) 0
+ vptr=((& QXmlSimpleReader::_ZTV16QXmlSimpleReader) + 16u)
+ QXmlReader (0x7f35b5c567e0) 0 nearly-empty
+ primary-for QXmlSimpleReader (0x7f35b5c56770)
+
+Vtable for QXmlLocator
+QXmlLocator::_ZTV11QXmlLocator: 6u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QXmlLocator)
+16 QXmlLocator::~QXmlLocator
+24 QXmlLocator::~QXmlLocator
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+
+Class QXmlLocator
+ size=8 align=8
+ base size=8 base align=8
+QXmlLocator (0x7f35b5c703f0) 0 nearly-empty
+ vptr=((& QXmlLocator::_ZTV11QXmlLocator) + 16u)
+
+Vtable for QXmlContentHandler
+QXmlContentHandler::_ZTV18QXmlContentHandler: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QXmlContentHandler)
+16 QXmlContentHandler::~QXmlContentHandler
+24 QXmlContentHandler::~QXmlContentHandler
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+48 __cxa_pure_virtual
+56 __cxa_pure_virtual
+64 __cxa_pure_virtual
+72 __cxa_pure_virtual
+80 __cxa_pure_virtual
+88 __cxa_pure_virtual
+96 __cxa_pure_virtual
+104 __cxa_pure_virtual
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+
+Class QXmlContentHandler
+ size=8 align=8
+ base size=8 base align=8
+QXmlContentHandler (0x7f35b5c70620) 0 nearly-empty
+ vptr=((& QXmlContentHandler::_ZTV18QXmlContentHandler) + 16u)
+
+Vtable for QXmlErrorHandler
+QXmlErrorHandler::_ZTV16QXmlErrorHandler: 8u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QXmlErrorHandler)
+16 QXmlErrorHandler::~QXmlErrorHandler
+24 QXmlErrorHandler::~QXmlErrorHandler
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+48 __cxa_pure_virtual
+56 __cxa_pure_virtual
+
+Class QXmlErrorHandler
+ size=8 align=8
+ base size=8 base align=8
+QXmlErrorHandler (0x7f35b5c70700) 0 nearly-empty
+ vptr=((& QXmlErrorHandler::_ZTV16QXmlErrorHandler) + 16u)
+
+Vtable for QXmlDTDHandler
+QXmlDTDHandler::_ZTV14QXmlDTDHandler: 7u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QXmlDTDHandler)
+16 QXmlDTDHandler::~QXmlDTDHandler
+24 QXmlDTDHandler::~QXmlDTDHandler
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+48 __cxa_pure_virtual
+
+Class QXmlDTDHandler
+ size=8 align=8
+ base size=8 base align=8
+QXmlDTDHandler (0x7f35b5a809a0) 0 nearly-empty
+ vptr=((& QXmlDTDHandler::_ZTV14QXmlDTDHandler) + 16u)
+
+Vtable for QXmlEntityResolver
+QXmlEntityResolver::_ZTV18QXmlEntityResolver: 6u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QXmlEntityResolver)
+16 QXmlEntityResolver::~QXmlEntityResolver
+24 QXmlEntityResolver::~QXmlEntityResolver
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+
+Class QXmlEntityResolver
+ size=8 align=8
+ base size=8 base align=8
+QXmlEntityResolver (0x7f35b5a8f310) 0 nearly-empty
+ vptr=((& QXmlEntityResolver::_ZTV18QXmlEntityResolver) + 16u)
+
+Vtable for QXmlLexicalHandler
+QXmlLexicalHandler::_ZTV18QXmlLexicalHandler: 12u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QXmlLexicalHandler)
+16 QXmlLexicalHandler::~QXmlLexicalHandler
+24 QXmlLexicalHandler::~QXmlLexicalHandler
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+48 __cxa_pure_virtual
+56 __cxa_pure_virtual
+64 __cxa_pure_virtual
+72 __cxa_pure_virtual
+80 __cxa_pure_virtual
+88 __cxa_pure_virtual
+
+Class QXmlLexicalHandler
+ size=8 align=8
+ base size=8 base align=8
+QXmlLexicalHandler (0x7f35b5a8fd90) 0 nearly-empty
+ vptr=((& QXmlLexicalHandler::_ZTV18QXmlLexicalHandler) + 16u)
+
+Vtable for QXmlDeclHandler
+QXmlDeclHandler::_ZTV15QXmlDeclHandler: 8u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QXmlDeclHandler)
+16 QXmlDeclHandler::~QXmlDeclHandler
+24 QXmlDeclHandler::~QXmlDeclHandler
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+48 __cxa_pure_virtual
+56 __cxa_pure_virtual
+
+Class QXmlDeclHandler
+ size=8 align=8
+ base size=8 base align=8
+QXmlDeclHandler (0x7f35b5aa0700) 0 nearly-empty
+ vptr=((& QXmlDeclHandler::_ZTV15QXmlDeclHandler) + 16u)
+
+Vtable for QXmlDefaultHandler
+QXmlDefaultHandler::_ZTV18QXmlDefaultHandler: 73u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QXmlDefaultHandler)
+16 QXmlDefaultHandler::~QXmlDefaultHandler
+24 QXmlDefaultHandler::~QXmlDefaultHandler
+32 QXmlDefaultHandler::setDocumentLocator
+40 QXmlDefaultHandler::startDocument
+48 QXmlDefaultHandler::endDocument
+56 QXmlDefaultHandler::startPrefixMapping
+64 QXmlDefaultHandler::endPrefixMapping
+72 QXmlDefaultHandler::startElement
+80 QXmlDefaultHandler::endElement
+88 QXmlDefaultHandler::characters
+96 QXmlDefaultHandler::ignorableWhitespace
+104 QXmlDefaultHandler::processingInstruction
+112 QXmlDefaultHandler::skippedEntity
+120 QXmlDefaultHandler::errorString
+128 QXmlDefaultHandler::warning
+136 QXmlDefaultHandler::error
+144 QXmlDefaultHandler::fatalError
+152 QXmlDefaultHandler::notationDecl
+160 QXmlDefaultHandler::unparsedEntityDecl
+168 QXmlDefaultHandler::resolveEntity
+176 QXmlDefaultHandler::startDTD
+184 QXmlDefaultHandler::endDTD
+192 QXmlDefaultHandler::startEntity
+200 QXmlDefaultHandler::endEntity
+208 QXmlDefaultHandler::startCDATA
+216 QXmlDefaultHandler::endCDATA
+224 QXmlDefaultHandler::comment
+232 QXmlDefaultHandler::attributeDecl
+240 QXmlDefaultHandler::internalEntityDecl
+248 QXmlDefaultHandler::externalEntityDecl
+256 (int (*)(...))-0x00000000000000008
+264 (int (*)(...))(& _ZTI18QXmlDefaultHandler)
+272 QXmlDefaultHandler::_ZThn8_N18QXmlDefaultHandlerD1Ev
+280 QXmlDefaultHandler::_ZThn8_N18QXmlDefaultHandlerD0Ev
+288 QXmlDefaultHandler::_ZThn8_N18QXmlDefaultHandler7warningERK18QXmlParseException
+296 QXmlDefaultHandler::_ZThn8_N18QXmlDefaultHandler5errorERK18QXmlParseException
+304 QXmlDefaultHandler::_ZThn8_N18QXmlDefaultHandler10fatalErrorERK18QXmlParseException
+312 QXmlDefaultHandler::_ZThn8_NK18QXmlDefaultHandler11errorStringEv
+320 (int (*)(...))-0x00000000000000010
+328 (int (*)(...))(& _ZTI18QXmlDefaultHandler)
+336 QXmlDefaultHandler::_ZThn16_N18QXmlDefaultHandlerD1Ev
+344 QXmlDefaultHandler::_ZThn16_N18QXmlDefaultHandlerD0Ev
+352 QXmlDefaultHandler::_ZThn16_N18QXmlDefaultHandler12notationDeclERK7QStringS2_S2_
+360 QXmlDefaultHandler::_ZThn16_N18QXmlDefaultHandler18unparsedEntityDeclERK7QStringS2_S2_S2_
+368 QXmlDefaultHandler::_ZThn16_NK18QXmlDefaultHandler11errorStringEv
+376 (int (*)(...))-0x00000000000000018
+384 (int (*)(...))(& _ZTI18QXmlDefaultHandler)
+392 QXmlDefaultHandler::_ZThn24_N18QXmlDefaultHandlerD1Ev
+400 QXmlDefaultHandler::_ZThn24_N18QXmlDefaultHandlerD0Ev
+408 QXmlDefaultHandler::_ZThn24_N18QXmlDefaultHandler13resolveEntityERK7QStringS2_RP15QXmlInputSource
+416 QXmlDefaultHandler::_ZThn24_NK18QXmlDefaultHandler11errorStringEv
+424 (int (*)(...))-0x00000000000000020
+432 (int (*)(...))(& _ZTI18QXmlDefaultHandler)
+440 QXmlDefaultHandler::_ZThn32_N18QXmlDefaultHandlerD1Ev
+448 QXmlDefaultHandler::_ZThn32_N18QXmlDefaultHandlerD0Ev
+456 QXmlDefaultHandler::_ZThn32_N18QXmlDefaultHandler8startDTDERK7QStringS2_S2_
+464 QXmlDefaultHandler::_ZThn32_N18QXmlDefaultHandler6endDTDEv
+472 QXmlDefaultHandler::_ZThn32_N18QXmlDefaultHandler11startEntityERK7QString
+480 QXmlDefaultHandler::_ZThn32_N18QXmlDefaultHandler9endEntityERK7QString
+488 QXmlDefaultHandler::_ZThn32_N18QXmlDefaultHandler10startCDATAEv
+496 QXmlDefaultHandler::_ZThn32_N18QXmlDefaultHandler8endCDATAEv
+504 QXmlDefaultHandler::_ZThn32_N18QXmlDefaultHandler7commentERK7QString
+512 QXmlDefaultHandler::_ZThn32_NK18QXmlDefaultHandler11errorStringEv
+520 (int (*)(...))-0x00000000000000028
+528 (int (*)(...))(& _ZTI18QXmlDefaultHandler)
+536 QXmlDefaultHandler::_ZThn40_N18QXmlDefaultHandlerD1Ev
+544 QXmlDefaultHandler::_ZThn40_N18QXmlDefaultHandlerD0Ev
+552 QXmlDefaultHandler::_ZThn40_N18QXmlDefaultHandler13attributeDeclERK7QStringS2_S2_S2_S2_
+560 QXmlDefaultHandler::_ZThn40_N18QXmlDefaultHandler18internalEntityDeclERK7QStringS2_
+568 QXmlDefaultHandler::_ZThn40_N18QXmlDefaultHandler18externalEntityDeclERK7QStringS2_S2_
+576 QXmlDefaultHandler::_ZThn40_NK18QXmlDefaultHandler11errorStringEv
+
+Class QXmlDefaultHandler
+ size=56 align=8
+ base size=56 base align=8
+QXmlDefaultHandler (0x7f35b5aa76e0) 0
+ vptr=((& QXmlDefaultHandler::_ZTV18QXmlDefaultHandler) + 16u)
+ QXmlContentHandler (0x7f35b5aad0e0) 0 nearly-empty
+ primary-for QXmlDefaultHandler (0x7f35b5aa76e0)
+ QXmlErrorHandler (0x7f35b5aad150) 8 nearly-empty
+ vptr=((& QXmlDefaultHandler::_ZTV18QXmlDefaultHandler) + 272u)
+ QXmlDTDHandler (0x7f35b5aad1c0) 16 nearly-empty
+ vptr=((& QXmlDefaultHandler::_ZTV18QXmlDefaultHandler) + 336u)
+ QXmlEntityResolver (0x7f35b5aad230) 24 nearly-empty
+ vptr=((& QXmlDefaultHandler::_ZTV18QXmlDefaultHandler) + 392u)
+ QXmlLexicalHandler (0x7f35b5aad2a0) 32 nearly-empty
+ vptr=((& QXmlDefaultHandler::_ZTV18QXmlDefaultHandler) + 440u)
+ QXmlDeclHandler (0x7f35b5aad310) 40 nearly-empty
+ vptr=((& QXmlDefaultHandler::_ZTV18QXmlDefaultHandler) + 536u)
+
diff --git a/tests/auto/bic/data/QtXmlPatterns.4.5.0.linux-gcc-amd64.txt b/tests/auto/bic/data/QtXmlPatterns.4.5.0.linux-gcc-amd64.txt
new file mode 100644
index 0000000000..65c885df8d
--- /dev/null
+++ b/tests/auto/bic/data/QtXmlPatterns.4.5.0.linux-gcc-amd64.txt
@@ -0,0 +1,3270 @@
+Class QSysInfo
+ size=1 align=1
+ base size=0 base align=1
+QSysInfo (0x7f593a280460) 0 empty
+
+Class QBool
+ size=1 align=1
+ base size=1 base align=1
+QBool (0x7f593a297150) 0
+
+Class qIsNull(double)::U
+ size=8 align=8
+ base size=8 base align=8
+qIsNull(double)::U (0x7f593a2ad540) 0
+
+Class qIsNull(float)::U
+ size=4 align=4
+ base size=4 base align=4
+qIsNull(float)::U (0x7f593a2ad7e0) 0
+
+Class QFlag
+ size=4 align=4
+ base size=4 base align=4
+QFlag (0x7f593a2e5620) 0
+
+Class QIncompatibleFlag
+ size=4 align=4
+ base size=4 base align=4
+QIncompatibleFlag (0x7f593a2e5e00) 0
+
+Class QInternal
+ size=1 align=1
+ base size=0 base align=1
+QInternal (0x7f59398be540) 0 empty
+
+Class QGenericArgument
+ size=16 align=8
+ base size=16 base align=8
+QGenericArgument (0x7f59398be850) 0
+
+Class QGenericReturnArgument
+ size=16 align=8
+ base size=16 base align=8
+QGenericReturnArgument (0x7f59398da3f0) 0
+ QGenericArgument (0x7f59398da460) 0
+
+Class QMetaObject
+ size=32 align=8
+ base size=32 base align=8
+QMetaObject (0x7f59398dacb0) 0
+
+Class QMetaObjectExtraData
+ size=16 align=8
+ base size=16 base align=8
+QMetaObjectExtraData (0x7f5939901cb0) 0
+
+Class QLatin1Char
+ size=1 align=1
+ base size=1 base align=1
+QLatin1Char (0x7f593990d700) 0
+
+Class QChar
+ size=2 align=2
+ base size=2 base align=2
+QChar (0x7f59399112a0) 0
+
+Class QBasicAtomicInt
+ size=4 align=4
+ base size=4 base align=4
+QBasicAtomicInt (0x7f593977d380) 0
+
+Class QAtomicInt
+ size=4 align=4
+ base size=4 base align=4
+QAtomicInt (0x7f59397b9d20) 0
+ QBasicAtomicInt (0x7f59397b9d90) 0
+
+Class __locale_struct
+ size=232 align=8
+ base size=232 base align=8
+__locale_struct (0x7f59397de1c0) 0
+
+Class QByteArray::Data
+ size=32 align=8
+ base size=32 base align=8
+QByteArray::Data (0x7f59396577e0) 0
+
+Class QByteArray
+ size=8 align=8
+ base size=8 base align=8
+QByteArray (0x7f5939612540) 0
+
+Class QByteRef
+ size=16 align=8
+ base size=12 base align=8
+QByteRef (0x7f59396aca80) 0
+
+Class QString::Null
+ size=1 align=1
+ base size=0 base align=1
+QString::Null (0x7f59395b5700) 0 empty
+
+Class QString::Data
+ size=32 align=8
+ base size=32 base align=8
+QString::Data (0x7f59395c4ee0) 0
+
+Class QString
+ size=8 align=8
+ base size=8 base align=8
+QString (0x7f59395345b0) 0
+
+Class QLatin1String
+ size=8 align=8
+ base size=8 base align=8
+QLatin1String (0x7f593949f000) 0
+
+Class QCharRef
+ size=16 align=8
+ base size=12 base align=8
+QCharRef (0x7f5939336620) 0
+
+Class QConstString
+ size=8 align=8
+ base size=8 base align=8
+QConstString (0x7f593927fee0) 0
+ QString (0x7f593927ff50) 0
+
+Class QStringRef
+ size=16 align=8
+ base size=16 base align=8
+QStringRef (0x7f593929fbd0) 0
+
+Vtable for std::exception
+std::exception::_ZTVSt9exception: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt9exception)
+16 std::exception::~exception
+24 std::exception::~exception
+32 std::exception::what
+
+Class std::exception
+ size=8 align=8
+ base size=8 base align=8
+std::exception (0x7f593915a620) 0 nearly-empty
+ vptr=((& std::exception::_ZTVSt9exception) + 16u)
+
+Vtable for std::bad_exception
+std::bad_exception::_ZTVSt13bad_exception: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt13bad_exception)
+16 std::bad_exception::~bad_exception
+24 std::bad_exception::~bad_exception
+32 std::bad_exception::what
+
+Class std::bad_exception
+ size=8 align=8
+ base size=8 base align=8
+std::bad_exception (0x7f593917d000) 0 nearly-empty
+ vptr=((& std::bad_exception::_ZTVSt13bad_exception) + 16u)
+ std::exception (0x7f593917d070) 0 nearly-empty
+ primary-for std::bad_exception (0x7f593917d000)
+
+Vtable for std::bad_alloc
+std::bad_alloc::_ZTVSt9bad_alloc: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt9bad_alloc)
+16 std::bad_alloc::~bad_alloc
+24 std::bad_alloc::~bad_alloc
+32 std::bad_alloc::what
+
+Class std::bad_alloc
+ size=8 align=8
+ base size=8 base align=8
+std::bad_alloc (0x7f593917d8c0) 0 nearly-empty
+ vptr=((& std::bad_alloc::_ZTVSt9bad_alloc) + 16u)
+ std::exception (0x7f593917d930) 0 nearly-empty
+ primary-for std::bad_alloc (0x7f593917d8c0)
+
+Class std::nothrow_t
+ size=1 align=1
+ base size=0 base align=1
+std::nothrow_t (0x7f593918e0e0) 0 empty
+
+Class QListData::Data
+ size=32 align=8
+ base size=32 base align=8
+QListData::Data (0x7f593918e620) 0
+
+Class QListData
+ size=8 align=8
+ base size=8 base align=8
+QListData (0x7f593918e5b0) 0
+
+Vtable for QObjectData
+QObjectData::_ZTV11QObjectData: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QObjectData)
+16 __cxa_pure_virtual
+24 __cxa_pure_virtual
+
+Class QObjectData
+ size=40 align=8
+ base size=40 base align=8
+QObjectData (0x7f5939091bd0) 0
+ vptr=((& QObjectData::_ZTV11QObjectData) + 16u)
+
+Vtable for QObject
+QObject::_ZTV7QObject: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QObject)
+16 QObject::metaObject
+24 QObject::qt_metacast
+32 QObject::qt_metacall
+40 QObject::~QObject
+48 QObject::~QObject
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QObject
+ size=16 align=8
+ base size=16 base align=8
+QObject (0x7f5939091ee0) 0
+ vptr=((& QObject::_ZTV7QObject) + 16u)
+
+Vtable for QObjectUserData
+QObjectUserData::_ZTV15QObjectUserData: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QObjectUserData)
+16 QObjectUserData::~QObjectUserData
+24 QObjectUserData::~QObjectUserData
+
+Class QObjectUserData
+ size=8 align=8
+ base size=8 base align=8
+QObjectUserData (0x7f5938f223f0) 0 nearly-empty
+ vptr=((& QObjectUserData::_ZTV15QObjectUserData) + 16u)
+
+Vtable for QIODevice
+QIODevice::_ZTV9QIODevice: 30u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QIODevice)
+16 QIODevice::metaObject
+24 QIODevice::qt_metacast
+32 QIODevice::qt_metacall
+40 QIODevice::~QIODevice
+48 QIODevice::~QIODevice
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QIODevice::isSequential
+120 QIODevice::open
+128 QIODevice::close
+136 QIODevice::pos
+144 QIODevice::size
+152 QIODevice::seek
+160 QIODevice::atEnd
+168 QIODevice::reset
+176 QIODevice::bytesAvailable
+184 QIODevice::bytesToWrite
+192 QIODevice::canReadLine
+200 QIODevice::waitForReadyRead
+208 QIODevice::waitForBytesWritten
+216 __cxa_pure_virtual
+224 QIODevice::readLineData
+232 __cxa_pure_virtual
+
+Class QIODevice
+ size=16 align=8
+ base size=16 base align=8
+QIODevice (0x7f5938f22930) 0
+ vptr=((& QIODevice::_ZTV9QIODevice) + 16u)
+ QObject (0x7f5938f229a0) 0
+ primary-for QIODevice (0x7f5938f22930)
+
+Vtable for QDataStream
+QDataStream::_ZTV11QDataStream: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QDataStream)
+16 QDataStream::~QDataStream
+24 QDataStream::~QDataStream
+
+Class QDataStream
+ size=40 align=8
+ base size=40 base align=8
+QDataStream (0x7f5938f992a0) 0
+ vptr=((& QDataStream::_ZTV11QDataStream) + 16u)
+
+Class QHashData::Node
+ size=16 align=8
+ base size=16 base align=8
+QHashData::Node (0x7f5938e1f150) 0
+
+Class QHashData
+ size=40 align=8
+ base size=40 base align=8
+QHashData (0x7f5938e1f0e0) 0
+
+Class QHashDummyValue
+ size=1 align=1
+ base size=0 base align=1
+QHashDummyValue (0x7f5938e2fee0) 0 empty
+
+Class QMapData::Node
+ size=16 align=8
+ base size=16 base align=8
+QMapData::Node (0x7f5938d42690) 0
+
+Class QMapData
+ size=128 align=8
+ base size=128 base align=8
+QMapData (0x7f5938d42620) 0
+
+Vtable for QSystemLocale
+QSystemLocale::_ZTV13QSystemLocale: 6u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QSystemLocale)
+16 QSystemLocale::~QSystemLocale
+24 QSystemLocale::~QSystemLocale
+32 QSystemLocale::query
+40 QSystemLocale::fallbackLocale
+
+Class QSystemLocale
+ size=8 align=8
+ base size=8 base align=8
+QSystemLocale (0x7f5938c55e00) 0 nearly-empty
+ vptr=((& QSystemLocale::_ZTV13QSystemLocale) + 16u)
+
+Class QLocale::Data
+ size=4 align=2
+ base size=4 base align=2
+QLocale::Data (0x7f5938cb43f0) 0
+
+Class QLocale
+ size=8 align=8
+ base size=8 base align=8
+QLocale (0x7f5938c780e0) 0
+
+Class QTextCodec::ConverterState
+ size=32 align=8
+ base size=32 base align=8
+QTextCodec::ConverterState (0x7f5938d02e70) 0
+
+Vtable for QTextCodec
+QTextCodec::_ZTV10QTextCodec: 9u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QTextCodec)
+16 __cxa_pure_virtual
+24 QTextCodec::aliases
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+48 __cxa_pure_virtual
+56 QTextCodec::~QTextCodec
+64 QTextCodec::~QTextCodec
+
+Class QTextCodec
+ size=8 align=8
+ base size=8 base align=8
+QTextCodec (0x7f5938ceba80) 0 nearly-empty
+ vptr=((& QTextCodec::_ZTV10QTextCodec) + 16u)
+
+Class QTextEncoder
+ size=40 align=8
+ base size=40 base align=8
+QTextEncoder (0x7f5938b6e3f0) 0
+
+Class QTextDecoder
+ size=40 align=8
+ base size=40 base align=8
+QTextDecoder (0x7f5938b77230) 0
+
+Class _IO_marker
+ size=24 align=8
+ base size=24 base align=8
+_IO_marker (0x7f5938b7f2a0) 0
+
+Class _IO_FILE
+ size=216 align=8
+ base size=216 base align=8
+_IO_FILE (0x7f5938b7f310) 0
+
+Vtable for QTextStream
+QTextStream::_ZTV11QTextStream: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QTextStream)
+16 QTextStream::~QTextStream
+24 QTextStream::~QTextStream
+
+Class QTextStream
+ size=16 align=8
+ base size=16 base align=8
+QTextStream (0x7f5938b7f3f0) 0
+ vptr=((& QTextStream::_ZTV11QTextStream) + 16u)
+
+Class QTextStreamManipulator
+ size=40 align=8
+ base size=38 base align=8
+QTextStreamManipulator (0x7f5938a17ee0) 0
+
+Vtable for QTextIStream
+QTextIStream::_ZTV12QTextIStream: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QTextIStream)
+16 QTextIStream::~QTextIStream
+24 QTextIStream::~QTextIStream
+
+Class QTextIStream
+ size=16 align=8
+ base size=16 base align=8
+QTextIStream (0x7f5938a441c0) 0
+ vptr=((& QTextIStream::_ZTV12QTextIStream) + 16u)
+ QTextStream (0x7f5938a44230) 0
+ primary-for QTextIStream (0x7f5938a441c0)
+
+Vtable for QTextOStream
+QTextOStream::_ZTV12QTextOStream: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QTextOStream)
+16 QTextOStream::~QTextOStream
+24 QTextOStream::~QTextOStream
+
+Class QTextOStream
+ size=16 align=8
+ base size=16 base align=8
+QTextOStream (0x7f5938a59070) 0
+ vptr=((& QTextOStream::_ZTV12QTextOStream) + 16u)
+ QTextStream (0x7f5938a590e0) 0
+ primary-for QTextOStream (0x7f5938a59070)
+
+Class wait
+ size=4 align=4
+ base size=4 base align=4
+wait (0x7f5938a65ee0) 0
+
+Class timespec
+ size=16 align=8
+ base size=16 base align=8
+timespec (0x7f5938a73230) 0
+
+Class timeval
+ size=16 align=8
+ base size=16 base align=8
+timeval (0x7f5938a732a0) 0
+
+Class __pthread_internal_list
+ size=16 align=8
+ base size=16 base align=8
+__pthread_internal_list (0x7f5938a733f0) 0
+
+Class random_data
+ size=48 align=8
+ base size=48 base align=8
+random_data (0x7f5938a739a0) 0
+
+Class drand48_data
+ size=24 align=8
+ base size=24 base align=8
+drand48_data (0x7f5938a73a10) 0
+
+Class QVectorData
+ size=16 align=4
+ base size=16 base align=4
+QVectorData (0x7f5938a73a80) 0
+
+Class QDebug::Stream
+ size=40 align=8
+ base size=34 base align=8
+QDebug::Stream (0x7f59389ee230) 0
+
+Class QDebug
+ size=8 align=8
+ base size=8 base align=8
+QDebug (0x7f59389ee1c0) 0
+
+Class QNoDebug
+ size=1 align=1
+ base size=0 base align=1
+QNoDebug (0x7f593888c070) 0 empty
+
+Vtable for QFile
+QFile::_ZTV5QFile: 31u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI5QFile)
+16 QFile::metaObject
+24 QFile::qt_metacast
+32 QFile::qt_metacall
+40 QFile::~QFile
+48 QFile::~QFile
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QFile::isSequential
+120 QFile::open
+128 QFile::close
+136 QFile::pos
+144 QFile::size
+152 QFile::seek
+160 QFile::atEnd
+168 QIODevice::reset
+176 QIODevice::bytesAvailable
+184 QIODevice::bytesToWrite
+192 QIODevice::canReadLine
+200 QIODevice::waitForReadyRead
+208 QIODevice::waitForBytesWritten
+216 QFile::readData
+224 QFile::readLineData
+232 QFile::writeData
+240 QFile::fileEngine
+
+Class QFile
+ size=16 align=8
+ base size=16 base align=8
+QFile (0x7f593889e620) 0
+ vptr=((& QFile::_ZTV5QFile) + 16u)
+ QIODevice (0x7f593889e690) 0
+ primary-for QFile (0x7f593889e620)
+ QObject (0x7f593889e700) 0
+ primary-for QIODevice (0x7f593889e690)
+
+Vtable for QTemporaryFile
+QTemporaryFile::_ZTV14QTemporaryFile: 31u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QTemporaryFile)
+16 QTemporaryFile::metaObject
+24 QTemporaryFile::qt_metacast
+32 QTemporaryFile::qt_metacall
+40 QTemporaryFile::~QTemporaryFile
+48 QTemporaryFile::~QTemporaryFile
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QFile::isSequential
+120 QTemporaryFile::open
+128 QFile::close
+136 QFile::pos
+144 QFile::size
+152 QFile::seek
+160 QFile::atEnd
+168 QIODevice::reset
+176 QIODevice::bytesAvailable
+184 QIODevice::bytesToWrite
+192 QIODevice::canReadLine
+200 QIODevice::waitForReadyRead
+208 QIODevice::waitForBytesWritten
+216 QFile::readData
+224 QFile::readLineData
+232 QFile::writeData
+240 QTemporaryFile::fileEngine
+
+Class QTemporaryFile
+ size=16 align=8
+ base size=16 base align=8
+QTemporaryFile (0x7f5938708850) 0
+ vptr=((& QTemporaryFile::_ZTV14QTemporaryFile) + 16u)
+ QFile (0x7f59387088c0) 0
+ primary-for QTemporaryFile (0x7f5938708850)
+ QIODevice (0x7f5938708930) 0
+ primary-for QFile (0x7f59387088c0)
+ QObject (0x7f59387089a0) 0
+ primary-for QIODevice (0x7f5938708930)
+
+Class QFileInfo
+ size=8 align=8
+ base size=8 base align=8
+QFileInfo (0x7f593872af50) 0
+
+Class QRegExp
+ size=8 align=8
+ base size=8 base align=8
+QRegExp (0x7f5938786770) 0
+
+Class QStringMatcher
+ size=1048 align=8
+ base size=1048 base align=8
+QStringMatcher (0x7f59387d35b0) 0
+
+Class QStringList
+ size=8 align=8
+ base size=8 base align=8
+QStringList (0x7f59387e7070) 0
+ QList<QString> (0x7f59387e70e0) 0
+
+Class QDir
+ size=8 align=8
+ base size=8 base align=8
+QDir (0x7f5938674cb0) 0
+
+Class QAbstractFileEngine::ExtensionOption
+ size=1 align=1
+ base size=0 base align=1
+QAbstractFileEngine::ExtensionOption (0x7f593850de70) 0 empty
+
+Class QAbstractFileEngine::ExtensionReturn
+ size=1 align=1
+ base size=0 base align=1
+QAbstractFileEngine::ExtensionReturn (0x7f593850dee0) 0 empty
+
+Class QAbstractFileEngine::MapExtensionOption
+ size=24 align=8
+ base size=20 base align=8
+QAbstractFileEngine::MapExtensionOption (0x7f593850df50) 0
+ QAbstractFileEngine::ExtensionOption (0x7f5938522000) 0 empty
+
+Class QAbstractFileEngine::MapExtensionReturn
+ size=8 align=8
+ base size=8 base align=8
+QAbstractFileEngine::MapExtensionReturn (0x7f59385221c0) 0
+ QAbstractFileEngine::ExtensionReturn (0x7f5938522230) 0 empty
+
+Class QAbstractFileEngine::UnMapExtensionOption
+ size=8 align=8
+ base size=8 base align=8
+QAbstractFileEngine::UnMapExtensionOption (0x7f59385222a0) 0
+ QAbstractFileEngine::ExtensionOption (0x7f5938522310) 0 empty
+
+Vtable for QAbstractFileEngine
+QAbstractFileEngine::_ZTV19QAbstractFileEngine: 36u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QAbstractFileEngine)
+16 QAbstractFileEngine::~QAbstractFileEngine
+24 QAbstractFileEngine::~QAbstractFileEngine
+32 QAbstractFileEngine::open
+40 QAbstractFileEngine::close
+48 QAbstractFileEngine::flush
+56 QAbstractFileEngine::size
+64 QAbstractFileEngine::pos
+72 QAbstractFileEngine::seek
+80 QAbstractFileEngine::isSequential
+88 QAbstractFileEngine::remove
+96 QAbstractFileEngine::copy
+104 QAbstractFileEngine::rename
+112 QAbstractFileEngine::link
+120 QAbstractFileEngine::mkdir
+128 QAbstractFileEngine::rmdir
+136 QAbstractFileEngine::setSize
+144 QAbstractFileEngine::caseSensitive
+152 QAbstractFileEngine::isRelativePath
+160 QAbstractFileEngine::entryList
+168 QAbstractFileEngine::fileFlags
+176 QAbstractFileEngine::setPermissions
+184 QAbstractFileEngine::fileName
+192 QAbstractFileEngine::ownerId
+200 QAbstractFileEngine::owner
+208 QAbstractFileEngine::fileTime
+216 QAbstractFileEngine::setFileName
+224 QAbstractFileEngine::handle
+232 QAbstractFileEngine::beginEntryList
+240 QAbstractFileEngine::endEntryList
+248 QAbstractFileEngine::read
+256 QAbstractFileEngine::readLine
+264 QAbstractFileEngine::write
+272 QAbstractFileEngine::extension
+280 QAbstractFileEngine::supportsExtension
+
+Class QAbstractFileEngine
+ size=16 align=8
+ base size=16 base align=8
+QAbstractFileEngine (0x7f59386fde00) 0
+ vptr=((& QAbstractFileEngine::_ZTV19QAbstractFileEngine) + 16u)
+
+Vtable for QAbstractFileEngineHandler
+QAbstractFileEngineHandler::_ZTV26QAbstractFileEngineHandler: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI26QAbstractFileEngineHandler)
+16 QAbstractFileEngineHandler::~QAbstractFileEngineHandler
+24 QAbstractFileEngineHandler::~QAbstractFileEngineHandler
+32 __cxa_pure_virtual
+
+Class QAbstractFileEngineHandler
+ size=8 align=8
+ base size=8 base align=8
+QAbstractFileEngineHandler (0x7f5938552000) 0 nearly-empty
+ vptr=((& QAbstractFileEngineHandler::_ZTV26QAbstractFileEngineHandler) + 16u)
+
+Vtable for QAbstractFileEngineIterator
+QAbstractFileEngineIterator::_ZTV27QAbstractFileEngineIterator: 9u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI27QAbstractFileEngineIterator)
+16 QAbstractFileEngineIterator::~QAbstractFileEngineIterator
+24 QAbstractFileEngineIterator::~QAbstractFileEngineIterator
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+48 __cxa_pure_virtual
+56 QAbstractFileEngineIterator::currentFileInfo
+64 QAbstractFileEngineIterator::entryInfo
+
+Class QAbstractFileEngineIterator
+ size=16 align=8
+ base size=16 base align=8
+QAbstractFileEngineIterator (0x7f59385521c0) 0
+ vptr=((& QAbstractFileEngineIterator::_ZTV27QAbstractFileEngineIterator) + 16u)
+
+Vtable for QFSFileEngine
+QFSFileEngine::_ZTV13QFSFileEngine: 36u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QFSFileEngine)
+16 QFSFileEngine::~QFSFileEngine
+24 QFSFileEngine::~QFSFileEngine
+32 QFSFileEngine::open
+40 QFSFileEngine::close
+48 QFSFileEngine::flush
+56 QFSFileEngine::size
+64 QFSFileEngine::pos
+72 QFSFileEngine::seek
+80 QFSFileEngine::isSequential
+88 QFSFileEngine::remove
+96 QFSFileEngine::copy
+104 QFSFileEngine::rename
+112 QFSFileEngine::link
+120 QFSFileEngine::mkdir
+128 QFSFileEngine::rmdir
+136 QFSFileEngine::setSize
+144 QFSFileEngine::caseSensitive
+152 QFSFileEngine::isRelativePath
+160 QFSFileEngine::entryList
+168 QFSFileEngine::fileFlags
+176 QFSFileEngine::setPermissions
+184 QFSFileEngine::fileName
+192 QFSFileEngine::ownerId
+200 QFSFileEngine::owner
+208 QFSFileEngine::fileTime
+216 QFSFileEngine::setFileName
+224 QFSFileEngine::handle
+232 QFSFileEngine::beginEntryList
+240 QFSFileEngine::endEntryList
+248 QFSFileEngine::read
+256 QFSFileEngine::readLine
+264 QFSFileEngine::write
+272 QFSFileEngine::extension
+280 QFSFileEngine::supportsExtension
+
+Class QFSFileEngine
+ size=16 align=8
+ base size=16 base align=8
+QFSFileEngine (0x7f5938552a10) 0
+ vptr=((& QFSFileEngine::_ZTV13QFSFileEngine) + 16u)
+ QAbstractFileEngine (0x7f5938552a80) 0
+ primary-for QFSFileEngine (0x7f5938552a10)
+
+Vtable for QProcess
+QProcess::_ZTV8QProcess: 31u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI8QProcess)
+16 QProcess::metaObject
+24 QProcess::qt_metacast
+32 QProcess::qt_metacall
+40 QProcess::~QProcess
+48 QProcess::~QProcess
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QProcess::isSequential
+120 QIODevice::open
+128 QProcess::close
+136 QIODevice::pos
+144 QIODevice::size
+152 QIODevice::seek
+160 QProcess::atEnd
+168 QIODevice::reset
+176 QProcess::bytesAvailable
+184 QProcess::bytesToWrite
+192 QProcess::canReadLine
+200 QProcess::waitForReadyRead
+208 QProcess::waitForBytesWritten
+216 QProcess::readData
+224 QIODevice::readLineData
+232 QProcess::writeData
+240 QProcess::setupChildProcess
+
+Class QProcess
+ size=16 align=8
+ base size=16 base align=8
+QProcess (0x7f5938569d20) 0
+ vptr=((& QProcess::_ZTV8QProcess) + 16u)
+ QIODevice (0x7f5938569d90) 0
+ primary-for QProcess (0x7f5938569d20)
+ QObject (0x7f5938569e00) 0
+ primary-for QIODevice (0x7f5938569d90)
+
+Class QResource
+ size=8 align=8
+ base size=8 base align=8
+QResource (0x7f59385a5230) 0
+
+Vtable for QDirIterator
+QDirIterator::_ZTV12QDirIterator: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QDirIterator)
+16 QDirIterator::~QDirIterator
+24 QDirIterator::~QDirIterator
+
+Class QDirIterator
+ size=16 align=8
+ base size=16 base align=8
+QDirIterator (0x7f59385a5cb0) 0
+ vptr=((& QDirIterator::_ZTV12QDirIterator) + 16u)
+
+Vtable for QBuffer
+QBuffer::_ZTV7QBuffer: 30u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QBuffer)
+16 QBuffer::metaObject
+24 QBuffer::qt_metacast
+32 QBuffer::qt_metacall
+40 QBuffer::~QBuffer
+48 QBuffer::~QBuffer
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QBuffer::connectNotify
+104 QBuffer::disconnectNotify
+112 QIODevice::isSequential
+120 QBuffer::open
+128 QBuffer::close
+136 QBuffer::pos
+144 QBuffer::size
+152 QBuffer::seek
+160 QBuffer::atEnd
+168 QIODevice::reset
+176 QIODevice::bytesAvailable
+184 QIODevice::bytesToWrite
+192 QBuffer::canReadLine
+200 QIODevice::waitForReadyRead
+208 QIODevice::waitForBytesWritten
+216 QBuffer::readData
+224 QIODevice::readLineData
+232 QBuffer::writeData
+
+Class QBuffer
+ size=16 align=8
+ base size=16 base align=8
+QBuffer (0x7f59385d6a80) 0
+ vptr=((& QBuffer::_ZTV7QBuffer) + 16u)
+ QIODevice (0x7f59385d6af0) 0
+ primary-for QBuffer (0x7f59385d6a80)
+ QObject (0x7f59385d6b60) 0
+ primary-for QIODevice (0x7f59385d6af0)
+
+Vtable for QFileSystemWatcher
+QFileSystemWatcher::_ZTV18QFileSystemWatcher: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QFileSystemWatcher)
+16 QFileSystemWatcher::metaObject
+24 QFileSystemWatcher::qt_metacast
+32 QFileSystemWatcher::qt_metacall
+40 QFileSystemWatcher::~QFileSystemWatcher
+48 QFileSystemWatcher::~QFileSystemWatcher
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QFileSystemWatcher
+ size=16 align=8
+ base size=16 base align=8
+QFileSystemWatcher (0x7f59385ff690) 0
+ vptr=((& QFileSystemWatcher::_ZTV18QFileSystemWatcher) + 16u)
+ QObject (0x7f59385ff700) 0
+ primary-for QFileSystemWatcher (0x7f59385ff690)
+
+Class QUrl
+ size=8 align=8
+ base size=8 base align=8
+QUrl (0x7f59383f1bd0) 0
+
+Class QMetaType
+ size=1 align=1
+ base size=0 base align=1
+QMetaType (0x7f593847c3f0) 0 empty
+
+Class QVariant::PrivateShared
+ size=16 align=8
+ base size=12 base align=8
+QVariant::PrivateShared (0x7f593834e930) 0
+
+Class QVariant::Private::Data
+ size=8 align=8
+ base size=8 base align=8
+QVariant::Private::Data (0x7f593834ec40) 0
+
+Class QVariant::Private
+ size=16 align=8
+ base size=12 base align=8
+QVariant::Private (0x7f593834ea10) 0
+
+Class QVariant::Handler
+ size=72 align=8
+ base size=72 base align=8
+QVariant::Handler (0x7f593835c930) 0
+
+Class QVariant
+ size=16 align=8
+ base size=16 base align=8
+QVariant (0x7f593831daf0) 0
+
+Class QVariantComparisonHelper
+ size=8 align=8
+ base size=8 base align=8
+QVariantComparisonHelper (0x7f5938201cb0) 0
+
+Vtable for QSettings
+QSettings::_ZTV9QSettings: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QSettings)
+16 QSettings::metaObject
+24 QSettings::qt_metacast
+32 QSettings::qt_metacall
+40 QSettings::~QSettings
+48 QSettings::~QSettings
+56 QSettings::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QSettings
+ size=16 align=8
+ base size=16 base align=8
+QSettings (0x7f5938226cb0) 0
+ vptr=((& QSettings::_ZTV9QSettings) + 16u)
+ QObject (0x7f5938226d20) 0
+ primary-for QSettings (0x7f5938226cb0)
+
+Class QXmlStreamStringRef
+ size=16 align=8
+ base size=16 base align=8
+QXmlStreamStringRef (0x7f59382a8070) 0
+
+Class QXmlStreamAttribute
+ size=80 align=8
+ base size=73 base align=8
+QXmlStreamAttribute (0x7f59382c6850) 0
+
+Class QXmlStreamAttributes
+ size=8 align=8
+ base size=8 base align=8
+QXmlStreamAttributes (0x7f59380ee380) 0
+ QVector<QXmlStreamAttribute> (0x7f59380ee3f0) 0
+
+Class QXmlStreamNamespaceDeclaration
+ size=40 align=8
+ base size=40 base align=8
+QXmlStreamNamespaceDeclaration (0x7f59380ee850) 0
+
+Class QXmlStreamNotationDeclaration
+ size=56 align=8
+ base size=56 base align=8
+QXmlStreamNotationDeclaration (0x7f593812f1c0) 0
+
+Class QXmlStreamEntityDeclaration
+ size=88 align=8
+ base size=88 base align=8
+QXmlStreamEntityDeclaration (0x7f593814f070) 0
+
+Vtable for QXmlStreamEntityResolver
+QXmlStreamEntityResolver::_ZTV24QXmlStreamEntityResolver: 6u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI24QXmlStreamEntityResolver)
+16 QXmlStreamEntityResolver::~QXmlStreamEntityResolver
+24 QXmlStreamEntityResolver::~QXmlStreamEntityResolver
+32 QXmlStreamEntityResolver::resolveEntity
+40 QXmlStreamEntityResolver::resolveUndeclaredEntity
+
+Class QXmlStreamEntityResolver
+ size=8 align=8
+ base size=8 base align=8
+QXmlStreamEntityResolver (0x7f593816c9a0) 0 nearly-empty
+ vptr=((& QXmlStreamEntityResolver::_ZTV24QXmlStreamEntityResolver) + 16u)
+
+Class QXmlStreamReader
+ size=8 align=8
+ base size=8 base align=8
+QXmlStreamReader (0x7f593816cb60) 0
+
+Class QXmlStreamWriter
+ size=8 align=8
+ base size=8 base align=8
+QXmlStreamWriter (0x7f59381a9a10) 0
+
+Class QPoint
+ size=8 align=4
+ base size=8 base align=4
+QPoint (0x7f5937fe5150) 0
+
+Class QPointF
+ size=16 align=8
+ base size=16 base align=8
+QPointF (0x7f593801dd90) 0
+
+Class QLine
+ size=16 align=4
+ base size=16 base align=4
+QLine (0x7f593805abd0) 0
+
+Class QLineF
+ size=32 align=8
+ base size=32 base align=8
+QLineF (0x7f5938094a80) 0
+
+Class QSize
+ size=8 align=4
+ base size=8 base align=4
+QSize (0x7f5937ef0540) 0
+
+Class QSizeF
+ size=16 align=8
+ base size=16 base align=8
+QSizeF (0x7f5937f3b380) 0
+
+Class QRect
+ size=16 align=4
+ base size=16 base align=4
+QRect (0x7f5937f899a0) 0
+
+Class QRectF
+ size=32 align=8
+ base size=32 base align=8
+QRectF (0x7f5937e38380) 0
+
+Class QSharedData
+ size=4 align=4
+ base size=4 base align=4
+QSharedData (0x7f5937ce3150) 0
+
+Vtable for QtSharedPointer::ExternalRefCountData
+QtSharedPointer::ExternalRefCountData::_ZTVN15QtSharedPointer20ExternalRefCountDataE: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN15QtSharedPointer20ExternalRefCountDataE)
+16 QtSharedPointer::ExternalRefCountData::~ExternalRefCountData
+24 QtSharedPointer::ExternalRefCountData::~ExternalRefCountData
+32 QtSharedPointer::ExternalRefCountData::destroy
+
+Class QtSharedPointer::ExternalRefCountData
+ size=16 align=8
+ base size=16 base align=8
+QtSharedPointer::ExternalRefCountData (0x7f5937d13af0) 0
+ vptr=((& QtSharedPointer::ExternalRefCountData::_ZTVN15QtSharedPointer20ExternalRefCountDataE) + 16u)
+
+Class QLinkedListData
+ size=32 align=8
+ base size=32 base align=8
+QLinkedListData (0x7f5937d9bc40) 0
+
+Class QBitArray
+ size=8 align=8
+ base size=8 base align=8
+QBitArray (0x7f5937c66b60) 0
+
+Class QBitRef
+ size=16 align=8
+ base size=12 base align=8
+QBitRef (0x7f5937ada930) 0
+
+Class QByteArrayMatcher
+ size=1040 align=8
+ base size=1040 base align=8
+QByteArrayMatcher (0x7f5937af3310) 0
+
+Class QCryptographicHash
+ size=8 align=8
+ base size=8 base align=8
+QCryptographicHash (0x7f5937b05a10) 0
+
+Class QTextBoundaryFinder
+ size=48 align=8
+ base size=48 base align=8
+QTextBoundaryFinder (0x7f5937b33460) 0
+
+Class QDate
+ size=4 align=4
+ base size=4 base align=4
+QDate (0x7f5937b497e0) 0
+
+Class QTime
+ size=4 align=4
+ base size=4 base align=4
+QTime (0x7f5937b71770) 0
+
+Class QDateTime
+ size=8 align=8
+ base size=8 base align=8
+QDateTime (0x7f5937b8fd20) 0
+
+Vtable for QTimeLine
+QTimeLine::_ZTV9QTimeLine: 15u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QTimeLine)
+16 QTimeLine::metaObject
+24 QTimeLine::qt_metacast
+32 QTimeLine::qt_metacall
+40 QTimeLine::~QTimeLine
+48 QTimeLine::~QTimeLine
+56 QObject::event
+64 QObject::eventFilter
+72 QTimeLine::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QTimeLine::valueForTime
+
+Class QTimeLine
+ size=16 align=8
+ base size=16 base align=8
+QTimeLine (0x7f5937bc21c0) 0
+ vptr=((& QTimeLine::_ZTV9QTimeLine) + 16u)
+ QObject (0x7f5937bc2230) 0
+ primary-for QTimeLine (0x7f5937bc21c0)
+
+Vtable for QRunnable
+QRunnable::_ZTV9QRunnable: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QRunnable)
+16 __cxa_pure_virtual
+24 QRunnable::~QRunnable
+32 QRunnable::~QRunnable
+
+Class QRunnable
+ size=16 align=8
+ base size=12 base align=8
+QRunnable (0x7f59379ea070) 0
+ vptr=((& QRunnable::_ZTV9QRunnable) + 16u)
+
+Class QMutex
+ size=8 align=8
+ base size=8 base align=8
+QMutex (0x7f59379f8700) 0
+
+Class QMutexLocker
+ size=8 align=8
+ base size=8 base align=8
+QMutexLocker (0x7f5937a052a0) 0
+
+Vtable for QtConcurrent::Exception
+QtConcurrent::Exception::_ZTVN12QtConcurrent9ExceptionE: 7u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN12QtConcurrent9ExceptionE)
+16 QtConcurrent::Exception::~Exception
+24 QtConcurrent::Exception::~Exception
+32 std::exception::what
+40 QtConcurrent::Exception::raise
+48 QtConcurrent::Exception::clone
+
+Class QtConcurrent::Exception
+ size=8 align=8
+ base size=8 base align=8
+QtConcurrent::Exception (0x7f5937a1c5b0) 0 nearly-empty
+ vptr=((& QtConcurrent::Exception::_ZTVN12QtConcurrent9ExceptionE) + 16u)
+ std::exception (0x7f5937a1c620) 0 nearly-empty
+ primary-for QtConcurrent::Exception (0x7f5937a1c5b0)
+
+Vtable for QtConcurrent::UnhandledException
+QtConcurrent::UnhandledException::_ZTVN12QtConcurrent18UnhandledExceptionE: 7u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN12QtConcurrent18UnhandledExceptionE)
+16 QtConcurrent::UnhandledException::~UnhandledException
+24 QtConcurrent::UnhandledException::~UnhandledException
+32 std::exception::what
+40 QtConcurrent::UnhandledException::raise
+48 QtConcurrent::UnhandledException::clone
+
+Class QtConcurrent::UnhandledException
+ size=8 align=8
+ base size=8 base align=8
+QtConcurrent::UnhandledException (0x7f5937a1c850) 0 nearly-empty
+ vptr=((& QtConcurrent::UnhandledException::_ZTVN12QtConcurrent18UnhandledExceptionE) + 16u)
+ QtConcurrent::Exception (0x7f5937a1c8c0) 0 nearly-empty
+ primary-for QtConcurrent::UnhandledException (0x7f5937a1c850)
+ std::exception (0x7f5937a1c930) 0 nearly-empty
+ primary-for QtConcurrent::Exception (0x7f5937a1c8c0)
+
+Class QtConcurrent::internal::ExceptionHolder
+ size=8 align=8
+ base size=8 base align=8
+QtConcurrent::internal::ExceptionHolder (0x7f5937a1cb60) 0
+
+Class QtConcurrent::internal::ExceptionStore
+ size=8 align=8
+ base size=8 base align=8
+QtConcurrent::internal::ExceptionStore (0x7f5937a1cee0) 0
+
+Class QtConcurrent::ResultItem
+ size=16 align=8
+ base size=16 base align=8
+QtConcurrent::ResultItem (0x7f5937a1cf50) 0
+
+Class QtConcurrent::ResultIteratorBase
+ size=16 align=8
+ base size=12 base align=8
+QtConcurrent::ResultIteratorBase (0x7f5937a33e70) 0
+
+Vtable for QtConcurrent::ResultStoreBase
+QtConcurrent::ResultStoreBase::_ZTVN12QtConcurrent15ResultStoreBaseE: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN12QtConcurrent15ResultStoreBaseE)
+16 QtConcurrent::ResultStoreBase::~ResultStoreBase
+24 QtConcurrent::ResultStoreBase::~ResultStoreBase
+
+Class QtConcurrent::ResultStoreBase
+ size=48 align=8
+ base size=44 base align=8
+QtConcurrent::ResultStoreBase (0x7f5937a37a10) 0
+ vptr=((& QtConcurrent::ResultStoreBase::_ZTVN12QtConcurrent15ResultStoreBaseE) + 16u)
+
+Vtable for QFutureInterfaceBase
+QFutureInterfaceBase::_ZTV20QFutureInterfaceBase: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI20QFutureInterfaceBase)
+16 QFutureInterfaceBase::~QFutureInterfaceBase
+24 QFutureInterfaceBase::~QFutureInterfaceBase
+
+Class QFutureInterfaceBase
+ size=16 align=8
+ base size=16 base align=8
+QFutureInterfaceBase (0x7f5937a77e70) 0
+ vptr=((& QFutureInterfaceBase::_ZTV20QFutureInterfaceBase) + 16u)
+
+Vtable for QThread
+QThread::_ZTV7QThread: 15u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QThread)
+16 QThread::metaObject
+24 QThread::qt_metacast
+32 QThread::qt_metacall
+40 QThread::~QThread
+48 QThread::~QThread
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QThread::run
+
+Class QThread
+ size=16 align=8
+ base size=16 base align=8
+QThread (0x7f593795ce00) 0
+ vptr=((& QThread::_ZTV7QThread) + 16u)
+ QObject (0x7f593795ce70) 0
+ primary-for QThread (0x7f593795ce00)
+
+Vtable for QThreadPool
+QThreadPool::_ZTV11QThreadPool: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QThreadPool)
+16 QThreadPool::metaObject
+24 QThreadPool::qt_metacast
+32 QThreadPool::qt_metacall
+40 QThreadPool::~QThreadPool
+48 QThreadPool::~QThreadPool
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QThreadPool
+ size=16 align=8
+ base size=16 base align=8
+QThreadPool (0x7f593798fcb0) 0
+ vptr=((& QThreadPool::_ZTV11QThreadPool) + 16u)
+ QObject (0x7f593798fd20) 0
+ primary-for QThreadPool (0x7f593798fcb0)
+
+Class QWaitCondition
+ size=8 align=8
+ base size=8 base align=8
+QWaitCondition (0x7f59379a7540) 0
+
+Class QtConcurrent::ThreadEngineSemaphore
+ size=24 align=8
+ base size=24 base align=8
+QtConcurrent::ThreadEngineSemaphore (0x7f59379a7a80) 0
+
+Vtable for QtConcurrent::ThreadEngineBase
+QtConcurrent::ThreadEngineBase::_ZTVN12QtConcurrent16ThreadEngineBaseE: 11u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN12QtConcurrent16ThreadEngineBaseE)
+16 QtConcurrent::ThreadEngineBase::run
+24 QtConcurrent::ThreadEngineBase::~ThreadEngineBase
+32 QtConcurrent::ThreadEngineBase::~ThreadEngineBase
+40 QtConcurrent::ThreadEngineBase::start
+48 QtConcurrent::ThreadEngineBase::finish
+56 QtConcurrent::ThreadEngineBase::threadFunction
+64 QtConcurrent::ThreadEngineBase::shouldStartThread
+72 QtConcurrent::ThreadEngineBase::shouldThrottleThread
+80 __cxa_pure_virtual
+
+Class QtConcurrent::ThreadEngineBase
+ size=64 align=8
+ base size=64 base align=8
+QtConcurrent::ThreadEngineBase (0x7f59379c8460) 0
+ vptr=((& QtConcurrent::ThreadEngineBase::_ZTVN12QtConcurrent16ThreadEngineBaseE) + 16u)
+ QRunnable (0x7f59379c84d0) 0
+ primary-for QtConcurrent::ThreadEngineBase (0x7f59379c8460)
+
+VTT for QtConcurrent::ThreadEngine<void>
+QtConcurrent::ThreadEngine<void>::_ZTTN12QtConcurrent12ThreadEngineIvEE: 2u entries
+0 ((& QtConcurrent::ThreadEngine<void>::_ZTVN12QtConcurrent12ThreadEngineIvEE) + 24u)
+8 ((& QtConcurrent::ThreadEngine<void>::_ZTVN12QtConcurrent12ThreadEngineIvEE) + 136u)
+
+Class std::input_iterator_tag
+ size=1 align=1
+ base size=0 base align=1
+std::input_iterator_tag (0x7f5937809850) 0 empty
+
+Class std::output_iterator_tag
+ size=1 align=1
+ base size=0 base align=1
+std::output_iterator_tag (0x7f59378098c0) 0 empty
+
+Class std::forward_iterator_tag
+ size=1 align=1
+ base size=1 base align=1
+std::forward_iterator_tag (0x7f5937809930) 0 empty
+ std::input_iterator_tag (0x7f59378099a0) 0 empty
+
+Class std::bidirectional_iterator_tag
+ size=1 align=1
+ base size=1 base align=1
+std::bidirectional_iterator_tag (0x7f5937809a10) 0 empty
+ std::forward_iterator_tag (0x7f5937809a80) 0 empty
+ std::input_iterator_tag (0x7f5937809af0) 0 empty
+
+Class std::random_access_iterator_tag
+ size=1 align=1
+ base size=1 base align=1
+std::random_access_iterator_tag (0x7f5937809b60) 0 empty
+ std::bidirectional_iterator_tag (0x7f5937809bd0) 0 empty
+ std::forward_iterator_tag (0x7f5937809c40) 0 empty
+ std::input_iterator_tag (0x7f5937809cb0) 0 empty
+
+Class std::__true_type
+ size=1 align=1
+ base size=0 base align=1
+std::__true_type (0x7f593781a2a0) 0 empty
+
+Class std::__false_type
+ size=1 align=1
+ base size=0 base align=1
+std::__false_type (0x7f593781a310) 0 empty
+
+Class lconv
+ size=96 align=8
+ base size=96 base align=8
+lconv (0x7f59375f6620) 0
+
+Class sched_param
+ size=4 align=4
+ base size=4 base align=4
+sched_param (0x7f59375f6a80) 0
+
+Class __sched_param
+ size=4 align=4
+ base size=4 base align=4
+__sched_param (0x7f59375f6af0) 0
+
+Class tm
+ size=56 align=8
+ base size=56 base align=8
+tm (0x7f59375f6bd0) 0
+
+Class itimerspec
+ size=32 align=8
+ base size=32 base align=8
+itimerspec (0x7f59375f6cb0) 0
+
+Class _pthread_cleanup_buffer
+ size=32 align=8
+ base size=32 base align=8
+_pthread_cleanup_buffer (0x7f59375f6d20) 0
+
+Class __pthread_cleanup_frame
+ size=24 align=8
+ base size=24 base align=8
+__pthread_cleanup_frame (0x7f59375f6e70) 0
+
+Class __pthread_cleanup_class
+ size=24 align=8
+ base size=24 base align=8
+__pthread_cleanup_class (0x7f59375f6ee0) 0
+
+Vtable for __cxxabiv1::__forced_unwind
+__cxxabiv1::__forced_unwind::_ZTVN10__cxxabiv115__forced_unwindE: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN10__cxxabiv115__forced_unwindE)
+16 __cxxabiv1::__forced_unwind::~__forced_unwind
+24 __cxxabiv1::__forced_unwind::~__forced_unwind
+32 __cxa_pure_virtual
+
+Class __cxxabiv1::__forced_unwind
+ size=8 align=8
+ base size=8 base align=8
+__cxxabiv1::__forced_unwind (0x7f593750ca80) 0 nearly-empty
+ vptr=((& __cxxabiv1::__forced_unwind::_ZTVN10__cxxabiv115__forced_unwindE) + 16u)
+
+Class std::locale
+ size=8 align=8
+ base size=8 base align=8
+std::locale (0x7f59373bd5b0) 0
+
+Vtable for std::locale::facet
+std::locale::facet::_ZTVNSt6locale5facetE: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTINSt6locale5facetE)
+16 std::locale::facet::~facet
+24 std::locale::facet::~facet
+
+Class std::locale::facet
+ size=16 align=8
+ base size=12 base align=8
+std::locale::facet (0x7f5937261cb0) 0
+ vptr=((& std::locale::facet::_ZTVNSt6locale5facetE) + 16u)
+
+Class std::locale::id
+ size=8 align=8
+ base size=8 base align=8
+std::locale::id (0x7f59372742a0) 0
+
+Class std::locale::_Impl
+ size=40 align=8
+ base size=40 base align=8
+std::locale::_Impl (0x7f59372748c0) 0
+
+Vtable for std::ios_base::failure
+std::ios_base::failure::_ZTVNSt8ios_base7failureE: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTINSt8ios_base7failureE)
+16 std::ios_base::failure::~failure
+24 std::ios_base::failure::~failure
+32 std::ios_base::failure::what
+
+Class std::ios_base::failure
+ size=16 align=8
+ base size=16 base align=8
+std::ios_base::failure (0x7f5937103070) 0
+ vptr=((& std::ios_base::failure::_ZTVNSt8ios_base7failureE) + 16u)
+ std::exception (0x7f59371030e0) 0 nearly-empty
+ primary-for std::ios_base::failure (0x7f5937103070)
+
+Class std::ios_base::_Callback_list
+ size=24 align=8
+ base size=24 base align=8
+std::ios_base::_Callback_list (0x7f5937110310) 0
+
+Class std::ios_base::_Words
+ size=16 align=8
+ base size=16 base align=8
+std::ios_base::_Words (0x7f5937110d90) 0
+
+Class std::ios_base::Init
+ size=1 align=1
+ base size=0 base align=1
+std::ios_base::Init (0x7f59371194d0) 0 empty
+
+Vtable for std::ios_base
+std::ios_base::_ZTVSt8ios_base: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt8ios_base)
+16 std::ios_base::~ios_base
+24 std::ios_base::~ios_base
+
+Class std::ios_base
+ size=216 align=8
+ base size=216 base align=8
+std::ios_base (0x7f5937103000) 0
+ vptr=((& std::ios_base::_ZTVSt8ios_base) + 16u)
+
+Class std::ctype_base
+ size=1 align=1
+ base size=0 base align=1
+std::ctype_base (0x7f5937190930) 0 empty
+
+Class std::__num_base
+ size=1 align=1
+ base size=0 base align=1
+std::__num_base (0x7f59370b41c0) 0 empty
+
+VTT for std::basic_ostream<char, std::char_traits<char> >
+std::basic_ostream<char, std::char_traits<char> >::_ZTTSo: 2u entries
+0 ((& std::basic_ostream<char, std::char_traits<char> >::_ZTVSo) + 24u)
+8 ((& std::basic_ostream<char, std::char_traits<char> >::_ZTVSo) + 64u)
+
+VTT for std::basic_ostream<wchar_t, std::char_traits<wchar_t> >
+std::basic_ostream<wchar_t, std::char_traits<wchar_t> >::_ZTTSt13basic_ostreamIwSt11char_traitsIwEE: 2u entries
+0 ((& std::basic_ostream<wchar_t, std::char_traits<wchar_t> >::_ZTVSt13basic_ostreamIwSt11char_traitsIwEE) + 24u)
+8 ((& std::basic_ostream<wchar_t, std::char_traits<wchar_t> >::_ZTVSt13basic_ostreamIwSt11char_traitsIwEE) + 64u)
+
+VTT for std::basic_istream<char, std::char_traits<char> >
+std::basic_istream<char, std::char_traits<char> >::_ZTTSi: 2u entries
+0 ((& std::basic_istream<char, std::char_traits<char> >::_ZTVSi) + 24u)
+8 ((& std::basic_istream<char, std::char_traits<char> >::_ZTVSi) + 64u)
+
+VTT for std::basic_istream<wchar_t, std::char_traits<wchar_t> >
+std::basic_istream<wchar_t, std::char_traits<wchar_t> >::_ZTTSt13basic_istreamIwSt11char_traitsIwEE: 2u entries
+0 ((& std::basic_istream<wchar_t, std::char_traits<wchar_t> >::_ZTVSt13basic_istreamIwSt11char_traitsIwEE) + 24u)
+8 ((& std::basic_istream<wchar_t, std::char_traits<wchar_t> >::_ZTVSt13basic_istreamIwSt11char_traitsIwEE) + 64u)
+
+Construction vtable for std::basic_istream<char, std::char_traits<char> > (0x7f5936be0310 instance) in std::basic_iostream<char, std::char_traits<char> >
+std::basic_iostream<char, std::char_traits<char> >::_ZTCSd0_Si: 10u entries
+0 24u
+8 (int (*)(...))0
+16 (int (*)(...))(& _ZTISi)
+24 std::basic_istream<_CharT, _Traits>::~basic_istream [with _CharT = char, _Traits = std::char_traits<char>]
+32 std::basic_istream<_CharT, _Traits>::~basic_istream [with _CharT = char, _Traits = std::char_traits<char>]
+40 -24u
+48 (int (*)(...))-0x00000000000000018
+56 (int (*)(...))(& _ZTISi)
+64 std::basic_istream<char, std::char_traits<char> >::_ZTv0_n24_NSiD1Ev
+72 std::basic_istream<char, std::char_traits<char> >::_ZTv0_n24_NSiD0Ev
+
+Construction vtable for std::basic_ostream<char, std::char_traits<char> > (0x7f5936be0460 instance) in std::basic_iostream<char, std::char_traits<char> >
+std::basic_iostream<char, std::char_traits<char> >::_ZTCSd16_So: 10u entries
+0 8u
+8 (int (*)(...))0
+16 (int (*)(...))(& _ZTISo)
+24 std::basic_ostream<_CharT, _Traits>::~basic_ostream [with _CharT = char, _Traits = std::char_traits<char>]
+32 std::basic_ostream<_CharT, _Traits>::~basic_ostream [with _CharT = char, _Traits = std::char_traits<char>]
+40 -8u
+48 (int (*)(...))-0x00000000000000008
+56 (int (*)(...))(& _ZTISo)
+64 std::basic_ostream<char, std::char_traits<char> >::_ZTv0_n24_NSoD1Ev
+72 std::basic_ostream<char, std::char_traits<char> >::_ZTv0_n24_NSoD0Ev
+
+VTT for std::basic_iostream<char, std::char_traits<char> >
+std::basic_iostream<char, std::char_traits<char> >::_ZTTSd: 7u entries
+0 ((& std::basic_iostream<char, std::char_traits<char> >::_ZTVSd) + 24u)
+8 ((& std::basic_iostream<char, std::char_traits<char> >::_ZTCSd0_Si) + 24u)
+16 ((& std::basic_iostream<char, std::char_traits<char> >::_ZTCSd0_Si) + 64u)
+24 ((& std::basic_iostream<char, std::char_traits<char> >::_ZTCSd16_So) + 24u)
+32 ((& std::basic_iostream<char, std::char_traits<char> >::_ZTCSd16_So) + 64u)
+40 ((& std::basic_iostream<char, std::char_traits<char> >::_ZTVSd) + 104u)
+48 ((& std::basic_iostream<char, std::char_traits<char> >::_ZTVSd) + 64u)
+
+Construction vtable for std::basic_istream<wchar_t, std::char_traits<wchar_t> > (0x7f5936be0620 instance) in std::basic_iostream<wchar_t, std::char_traits<wchar_t> >
+std::basic_iostream<wchar_t, std::char_traits<wchar_t> >::_ZTCSt14basic_iostreamIwSt11char_traitsIwEE0_St13basic_istreamIwS1_E: 10u entries
+0 24u
+8 (int (*)(...))0
+16 (int (*)(...))(& _ZTISt13basic_istreamIwSt11char_traitsIwEE)
+24 std::basic_istream<_CharT, _Traits>::~basic_istream [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
+32 std::basic_istream<_CharT, _Traits>::~basic_istream [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
+40 -24u
+48 (int (*)(...))-0x00000000000000018
+56 (int (*)(...))(& _ZTISt13basic_istreamIwSt11char_traitsIwEE)
+64 std::basic_istream<wchar_t, std::char_traits<wchar_t> >::_ZTv0_n24_NSt13basic_istreamIwSt11char_traitsIwEED1Ev
+72 std::basic_istream<wchar_t, std::char_traits<wchar_t> >::_ZTv0_n24_NSt13basic_istreamIwSt11char_traitsIwEED0Ev
+
+Construction vtable for std::basic_ostream<wchar_t, std::char_traits<wchar_t> > (0x7f5936be0770 instance) in std::basic_iostream<wchar_t, std::char_traits<wchar_t> >
+std::basic_iostream<wchar_t, std::char_traits<wchar_t> >::_ZTCSt14basic_iostreamIwSt11char_traitsIwEE16_St13basic_ostreamIwS1_E: 10u entries
+0 8u
+8 (int (*)(...))0
+16 (int (*)(...))(& _ZTISt13basic_ostreamIwSt11char_traitsIwEE)
+24 std::basic_ostream<_CharT, _Traits>::~basic_ostream [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
+32 std::basic_ostream<_CharT, _Traits>::~basic_ostream [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>]
+40 -8u
+48 (int (*)(...))-0x00000000000000008
+56 (int (*)(...))(& _ZTISt13basic_ostreamIwSt11char_traitsIwEE)
+64 std::basic_ostream<wchar_t, std::char_traits<wchar_t> >::_ZTv0_n24_NSt13basic_ostreamIwSt11char_traitsIwEED1Ev
+72 std::basic_ostream<wchar_t, std::char_traits<wchar_t> >::_ZTv0_n24_NSt13basic_ostreamIwSt11char_traitsIwEED0Ev
+
+VTT for std::basic_iostream<wchar_t, std::char_traits<wchar_t> >
+std::basic_iostream<wchar_t, std::char_traits<wchar_t> >::_ZTTSt14basic_iostreamIwSt11char_traitsIwEE: 7u entries
+0 ((& std::basic_iostream<wchar_t, std::char_traits<wchar_t> >::_ZTVSt14basic_iostreamIwSt11char_traitsIwEE) + 24u)
+8 ((& std::basic_iostream<wchar_t, std::char_traits<wchar_t> >::_ZTCSt14basic_iostreamIwSt11char_traitsIwEE0_St13basic_istreamIwS1_E) + 24u)
+16 ((& std::basic_iostream<wchar_t, std::char_traits<wchar_t> >::_ZTCSt14basic_iostreamIwSt11char_traitsIwEE0_St13basic_istreamIwS1_E) + 64u)
+24 ((& std::basic_iostream<wchar_t, std::char_traits<wchar_t> >::_ZTCSt14basic_iostreamIwSt11char_traitsIwEE16_St13basic_ostreamIwS1_E) + 24u)
+32 ((& std::basic_iostream<wchar_t, std::char_traits<wchar_t> >::_ZTCSt14basic_iostreamIwSt11char_traitsIwEE16_St13basic_ostreamIwS1_E) + 64u)
+40 ((& std::basic_iostream<wchar_t, std::char_traits<wchar_t> >::_ZTVSt14basic_iostreamIwSt11char_traitsIwEE) + 104u)
+48 ((& std::basic_iostream<wchar_t, std::char_traits<wchar_t> >::_ZTVSt14basic_iostreamIwSt11char_traitsIwEE) + 64u)
+
+Class QtConcurrent::BlockSizeManager
+ size=96 align=8
+ base size=92 base align=8
+QtConcurrent::BlockSizeManager (0x7f5936c4b230) 0
+
+Vtable for QFutureWatcherBase
+QFutureWatcherBase::_ZTV18QFutureWatcherBase: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QFutureWatcherBase)
+16 QFutureWatcherBase::metaObject
+24 QFutureWatcherBase::qt_metacast
+32 QFutureWatcherBase::qt_metacall
+40 QFutureWatcherBase::~QFutureWatcherBase
+48 QFutureWatcherBase::~QFutureWatcherBase
+56 QFutureWatcherBase::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QFutureWatcherBase::connectNotify
+104 QFutureWatcherBase::disconnectNotify
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+
+Class QFutureWatcherBase
+ size=16 align=8
+ base size=16 base align=8
+QFutureWatcherBase (0x7f5936816bd0) 0
+ vptr=((& QFutureWatcherBase::_ZTV18QFutureWatcherBase) + 16u)
+ QObject (0x7f5936816c40) 0
+ primary-for QFutureWatcherBase (0x7f5936816bd0)
+
+Vtable for QFactoryInterface
+QFactoryInterface::_ZTV17QFactoryInterface: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QFactoryInterface)
+16 QFactoryInterface::~QFactoryInterface
+24 QFactoryInterface::~QFactoryInterface
+32 __cxa_pure_virtual
+
+Class QFactoryInterface
+ size=8 align=8
+ base size=8 base align=8
+QFactoryInterface (0x7f593672de00) 0 nearly-empty
+ vptr=((& QFactoryInterface::_ZTV17QFactoryInterface) + 16u)
+
+Vtable for QTextCodecFactoryInterface
+QTextCodecFactoryInterface::_ZTV26QTextCodecFactoryInterface: 6u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI26QTextCodecFactoryInterface)
+16 QTextCodecFactoryInterface::~QTextCodecFactoryInterface
+24 QTextCodecFactoryInterface::~QTextCodecFactoryInterface
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+
+Class QTextCodecFactoryInterface
+ size=8 align=8
+ base size=8 base align=8
+QTextCodecFactoryInterface (0x7f5936750ee0) 0 nearly-empty
+ vptr=((& QTextCodecFactoryInterface::_ZTV26QTextCodecFactoryInterface) + 16u)
+ QFactoryInterface (0x7f5936750f50) 0 nearly-empty
+ primary-for QTextCodecFactoryInterface (0x7f5936750ee0)
+
+Vtable for QTextCodecPlugin
+QTextCodecPlugin::_ZTV16QTextCodecPlugin: 27u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QTextCodecPlugin)
+16 QTextCodecPlugin::metaObject
+24 QTextCodecPlugin::qt_metacast
+32 QTextCodecPlugin::qt_metacall
+40 QTextCodecPlugin::~QTextCodecPlugin
+48 QTextCodecPlugin::~QTextCodecPlugin
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 __cxa_pure_virtual
+136 __cxa_pure_virtual
+144 __cxa_pure_virtual
+152 QTextCodecPlugin::keys
+160 QTextCodecPlugin::create
+168 (int (*)(...))-0x00000000000000010
+176 (int (*)(...))(& _ZTI16QTextCodecPlugin)
+184 QTextCodecPlugin::_ZThn16_N16QTextCodecPluginD1Ev
+192 QTextCodecPlugin::_ZThn16_N16QTextCodecPluginD0Ev
+200 QTextCodecPlugin::_ZThn16_NK16QTextCodecPlugin4keysEv
+208 QTextCodecPlugin::_ZThn16_N16QTextCodecPlugin6createERK7QString
+
+Class QTextCodecPlugin
+ size=24 align=8
+ base size=24 base align=8
+QTextCodecPlugin (0x7f5936753e00) 0
+ vptr=((& QTextCodecPlugin::_ZTV16QTextCodecPlugin) + 16u)
+ QObject (0x7f593675c7e0) 0
+ primary-for QTextCodecPlugin (0x7f5936753e00)
+ QTextCodecFactoryInterface (0x7f593675c850) 16 nearly-empty
+ vptr=((& QTextCodecPlugin::_ZTV16QTextCodecPlugin) + 184u)
+ QFactoryInterface (0x7f593675c8c0) 16 nearly-empty
+ primary-for QTextCodecFactoryInterface (0x7f593675c850)
+
+Class QLibraryInfo
+ size=1 align=1
+ base size=0 base align=1
+QLibraryInfo (0x7f5936772700) 0 empty
+
+Vtable for QTranslator
+QTranslator::_ZTV11QTranslator: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QTranslator)
+16 QTranslator::metaObject
+24 QTranslator::qt_metacast
+32 QTranslator::qt_metacall
+40 QTranslator::~QTranslator
+48 QTranslator::~QTranslator
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QTranslator::translate
+120 QTranslator::isEmpty
+
+Class QTranslator
+ size=16 align=8
+ base size=16 base align=8
+QTranslator (0x7f59367b6000) 0
+ vptr=((& QTranslator::_ZTV11QTranslator) + 16u)
+ QObject (0x7f59367b6070) 0
+ primary-for QTranslator (0x7f59367b6000)
+
+Class __exception
+ size=40 align=8
+ base size=40 base align=8
+__exception (0x7f59365c6f50) 0
+
+Vtable for QMimeData
+QMimeData::_ZTV9QMimeData: 17u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QMimeData)
+16 QMimeData::metaObject
+24 QMimeData::qt_metacast
+32 QMimeData::qt_metacall
+40 QMimeData::~QMimeData
+48 QMimeData::~QMimeData
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QMimeData::hasFormat
+120 QMimeData::formats
+128 QMimeData::retrieveData
+
+Class QMimeData
+ size=16 align=8
+ base size=16 base align=8
+QMimeData (0x7f5936633150) 0
+ vptr=((& QMimeData::_ZTV9QMimeData) + 16u)
+ QObject (0x7f59366331c0) 0
+ primary-for QMimeData (0x7f5936633150)
+
+Vtable for QEventLoop
+QEventLoop::_ZTV10QEventLoop: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QEventLoop)
+16 QEventLoop::metaObject
+24 QEventLoop::qt_metacast
+32 QEventLoop::qt_metacall
+40 QEventLoop::~QEventLoop
+48 QEventLoop::~QEventLoop
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QEventLoop
+ size=16 align=8
+ base size=16 base align=8
+QEventLoop (0x7f593664b9a0) 0
+ vptr=((& QEventLoop::_ZTV10QEventLoop) + 16u)
+ QObject (0x7f593664ba10) 0
+ primary-for QEventLoop (0x7f593664b9a0)
+
+Vtable for QEvent
+QEvent::_ZTV6QEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI6QEvent)
+16 QEvent::~QEvent
+24 QEvent::~QEvent
+
+Class QEvent
+ size=24 align=8
+ base size=20 base align=8
+QEvent (0x7f593668d310) 0
+ vptr=((& QEvent::_ZTV6QEvent) + 16u)
+
+Vtable for QTimerEvent
+QTimerEvent::_ZTV11QTimerEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QTimerEvent)
+16 QTimerEvent::~QTimerEvent
+24 QTimerEvent::~QTimerEvent
+
+Class QTimerEvent
+ size=24 align=8
+ base size=24 base align=8
+QTimerEvent (0x7f59366a5ee0) 0
+ vptr=((& QTimerEvent::_ZTV11QTimerEvent) + 16u)
+ QEvent (0x7f59366a5f50) 0
+ primary-for QTimerEvent (0x7f59366a5ee0)
+
+Vtable for QChildEvent
+QChildEvent::_ZTV11QChildEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QChildEvent)
+16 QChildEvent::~QChildEvent
+24 QChildEvent::~QChildEvent
+
+Class QChildEvent
+ size=32 align=8
+ base size=32 base align=8
+QChildEvent (0x7f59366a8380) 0
+ vptr=((& QChildEvent::_ZTV11QChildEvent) + 16u)
+ QEvent (0x7f59366a83f0) 0
+ primary-for QChildEvent (0x7f59366a8380)
+
+Vtable for QCustomEvent
+QCustomEvent::_ZTV12QCustomEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QCustomEvent)
+16 QCustomEvent::~QCustomEvent
+24 QCustomEvent::~QCustomEvent
+
+Class QCustomEvent
+ size=24 align=8
+ base size=20 base align=8
+QCustomEvent (0x7f59366ba620) 0
+ vptr=((& QCustomEvent::_ZTV12QCustomEvent) + 16u)
+ QEvent (0x7f59366ba690) 0
+ primary-for QCustomEvent (0x7f59366ba620)
+
+Vtable for QDynamicPropertyChangeEvent
+QDynamicPropertyChangeEvent::_ZTV27QDynamicPropertyChangeEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI27QDynamicPropertyChangeEvent)
+16 QDynamicPropertyChangeEvent::~QDynamicPropertyChangeEvent
+24 QDynamicPropertyChangeEvent::~QDynamicPropertyChangeEvent
+
+Class QDynamicPropertyChangeEvent
+ size=32 align=8
+ base size=32 base align=8
+QDynamicPropertyChangeEvent (0x7f59366bae00) 0
+ vptr=((& QDynamicPropertyChangeEvent::_ZTV27QDynamicPropertyChangeEvent) + 16u)
+ QEvent (0x7f59366bae70) 0
+ primary-for QDynamicPropertyChangeEvent (0x7f59366bae00)
+
+Vtable for QCoreApplication
+QCoreApplication::_ZTV16QCoreApplication: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QCoreApplication)
+16 QCoreApplication::metaObject
+24 QCoreApplication::qt_metacast
+32 QCoreApplication::qt_metacall
+40 QCoreApplication::~QCoreApplication
+48 QCoreApplication::~QCoreApplication
+56 QCoreApplication::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QCoreApplication::notify
+120 QCoreApplication::compressEvent
+
+Class QCoreApplication
+ size=16 align=8
+ base size=16 base align=8
+QCoreApplication (0x7f59364ca230) 0
+ vptr=((& QCoreApplication::_ZTV16QCoreApplication) + 16u)
+ QObject (0x7f59364ca2a0) 0
+ primary-for QCoreApplication (0x7f59364ca230)
+
+Vtable for QSharedMemory
+QSharedMemory::_ZTV13QSharedMemory: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QSharedMemory)
+16 QSharedMemory::metaObject
+24 QSharedMemory::qt_metacast
+32 QSharedMemory::qt_metacall
+40 QSharedMemory::~QSharedMemory
+48 QSharedMemory::~QSharedMemory
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QSharedMemory
+ size=16 align=8
+ base size=16 base align=8
+QSharedMemory (0x7f59364f5a80) 0
+ vptr=((& QSharedMemory::_ZTV13QSharedMemory) + 16u)
+ QObject (0x7f59364f5af0) 0
+ primary-for QSharedMemory (0x7f59364f5a80)
+
+Class QModelIndex
+ size=24 align=8
+ base size=24 base align=8
+QModelIndex (0x7f5936515850) 0
+
+Class QPersistentModelIndex
+ size=8 align=8
+ base size=8 base align=8
+QPersistentModelIndex (0x7f593653e310) 0
+
+Vtable for QAbstractItemModel
+QAbstractItemModel::_ZTV18QAbstractItemModel: 42u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QAbstractItemModel)
+16 QAbstractItemModel::metaObject
+24 QAbstractItemModel::qt_metacast
+32 QAbstractItemModel::qt_metacall
+40 QAbstractItemModel::~QAbstractItemModel
+48 QAbstractItemModel::~QAbstractItemModel
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 __cxa_pure_virtual
+136 __cxa_pure_virtual
+144 QAbstractItemModel::hasChildren
+152 __cxa_pure_virtual
+160 QAbstractItemModel::setData
+168 QAbstractItemModel::headerData
+176 QAbstractItemModel::setHeaderData
+184 QAbstractItemModel::itemData
+192 QAbstractItemModel::setItemData
+200 QAbstractItemModel::mimeTypes
+208 QAbstractItemModel::mimeData
+216 QAbstractItemModel::dropMimeData
+224 QAbstractItemModel::supportedDropActions
+232 QAbstractItemModel::insertRows
+240 QAbstractItemModel::insertColumns
+248 QAbstractItemModel::removeRows
+256 QAbstractItemModel::removeColumns
+264 QAbstractItemModel::fetchMore
+272 QAbstractItemModel::canFetchMore
+280 QAbstractItemModel::flags
+288 QAbstractItemModel::sort
+296 QAbstractItemModel::buddy
+304 QAbstractItemModel::match
+312 QAbstractItemModel::span
+320 QAbstractItemModel::submit
+328 QAbstractItemModel::revert
+
+Class QAbstractItemModel
+ size=16 align=8
+ base size=16 base align=8
+QAbstractItemModel (0x7f593654c5b0) 0
+ vptr=((& QAbstractItemModel::_ZTV18QAbstractItemModel) + 16u)
+ QObject (0x7f593654c620) 0
+ primary-for QAbstractItemModel (0x7f593654c5b0)
+
+Vtable for QAbstractTableModel
+QAbstractTableModel::_ZTV19QAbstractTableModel: 42u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QAbstractTableModel)
+16 QAbstractTableModel::metaObject
+24 QAbstractTableModel::qt_metacast
+32 QAbstractTableModel::qt_metacall
+40 QAbstractTableModel::~QAbstractTableModel
+48 QAbstractTableModel::~QAbstractTableModel
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QAbstractTableModel::index
+120 QAbstractTableModel::parent
+128 __cxa_pure_virtual
+136 __cxa_pure_virtual
+144 QAbstractTableModel::hasChildren
+152 __cxa_pure_virtual
+160 QAbstractItemModel::setData
+168 QAbstractItemModel::headerData
+176 QAbstractItemModel::setHeaderData
+184 QAbstractItemModel::itemData
+192 QAbstractItemModel::setItemData
+200 QAbstractItemModel::mimeTypes
+208 QAbstractItemModel::mimeData
+216 QAbstractTableModel::dropMimeData
+224 QAbstractItemModel::supportedDropActions
+232 QAbstractItemModel::insertRows
+240 QAbstractItemModel::insertColumns
+248 QAbstractItemModel::removeRows
+256 QAbstractItemModel::removeColumns
+264 QAbstractItemModel::fetchMore
+272 QAbstractItemModel::canFetchMore
+280 QAbstractItemModel::flags
+288 QAbstractItemModel::sort
+296 QAbstractItemModel::buddy
+304 QAbstractItemModel::match
+312 QAbstractItemModel::span
+320 QAbstractItemModel::submit
+328 QAbstractItemModel::revert
+
+Class QAbstractTableModel
+ size=16 align=8
+ base size=16 base align=8
+QAbstractTableModel (0x7f593659c930) 0
+ vptr=((& QAbstractTableModel::_ZTV19QAbstractTableModel) + 16u)
+ QAbstractItemModel (0x7f593659c9a0) 0
+ primary-for QAbstractTableModel (0x7f593659c930)
+ QObject (0x7f593659ca10) 0
+ primary-for QAbstractItemModel (0x7f593659c9a0)
+
+Vtable for QAbstractListModel
+QAbstractListModel::_ZTV18QAbstractListModel: 42u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QAbstractListModel)
+16 QAbstractListModel::metaObject
+24 QAbstractListModel::qt_metacast
+32 QAbstractListModel::qt_metacall
+40 QAbstractListModel::~QAbstractListModel
+48 QAbstractListModel::~QAbstractListModel
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QAbstractListModel::index
+120 QAbstractListModel::parent
+128 __cxa_pure_virtual
+136 QAbstractListModel::columnCount
+144 QAbstractListModel::hasChildren
+152 __cxa_pure_virtual
+160 QAbstractItemModel::setData
+168 QAbstractItemModel::headerData
+176 QAbstractItemModel::setHeaderData
+184 QAbstractItemModel::itemData
+192 QAbstractItemModel::setItemData
+200 QAbstractItemModel::mimeTypes
+208 QAbstractItemModel::mimeData
+216 QAbstractListModel::dropMimeData
+224 QAbstractItemModel::supportedDropActions
+232 QAbstractItemModel::insertRows
+240 QAbstractItemModel::insertColumns
+248 QAbstractItemModel::removeRows
+256 QAbstractItemModel::removeColumns
+264 QAbstractItemModel::fetchMore
+272 QAbstractItemModel::canFetchMore
+280 QAbstractItemModel::flags
+288 QAbstractItemModel::sort
+296 QAbstractItemModel::buddy
+304 QAbstractItemModel::match
+312 QAbstractItemModel::span
+320 QAbstractItemModel::submit
+328 QAbstractItemModel::revert
+
+Class QAbstractListModel
+ size=16 align=8
+ base size=16 base align=8
+QAbstractListModel (0x7f59365aaee0) 0
+ vptr=((& QAbstractListModel::_ZTV18QAbstractListModel) + 16u)
+ QAbstractItemModel (0x7f59365aaf50) 0
+ primary-for QAbstractListModel (0x7f59365aaee0)
+ QObject (0x7f59365aa230) 0
+ primary-for QAbstractItemModel (0x7f59365aaf50)
+
+Vtable for QSignalMapper
+QSignalMapper::_ZTV13QSignalMapper: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QSignalMapper)
+16 QSignalMapper::metaObject
+24 QSignalMapper::qt_metacast
+32 QSignalMapper::qt_metacall
+40 QSignalMapper::~QSignalMapper
+48 QSignalMapper::~QSignalMapper
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QSignalMapper
+ size=16 align=8
+ base size=16 base align=8
+QSignalMapper (0x7f59363eb000) 0
+ vptr=((& QSignalMapper::_ZTV13QSignalMapper) + 16u)
+ QObject (0x7f59363eb070) 0
+ primary-for QSignalMapper (0x7f59363eb000)
+
+Vtable for QObjectCleanupHandler
+QObjectCleanupHandler::_ZTV21QObjectCleanupHandler: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI21QObjectCleanupHandler)
+16 QObjectCleanupHandler::metaObject
+24 QObjectCleanupHandler::qt_metacast
+32 QObjectCleanupHandler::qt_metacall
+40 QObjectCleanupHandler::~QObjectCleanupHandler
+48 QObjectCleanupHandler::~QObjectCleanupHandler
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QObjectCleanupHandler
+ size=24 align=8
+ base size=24 base align=8
+QObjectCleanupHandler (0x7f59364033f0) 0
+ vptr=((& QObjectCleanupHandler::_ZTV21QObjectCleanupHandler) + 16u)
+ QObject (0x7f5936403460) 0
+ primary-for QObjectCleanupHandler (0x7f59364033f0)
+
+Class QBasicTimer
+ size=4 align=4
+ base size=4 base align=4
+QBasicTimer (0x7f5936412540) 0
+
+Vtable for QSocketNotifier
+QSocketNotifier::_ZTV15QSocketNotifier: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QSocketNotifier)
+16 QSocketNotifier::metaObject
+24 QSocketNotifier::qt_metacast
+32 QSocketNotifier::qt_metacall
+40 QSocketNotifier::~QSocketNotifier
+48 QSocketNotifier::~QSocketNotifier
+56 QSocketNotifier::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QSocketNotifier
+ size=32 align=8
+ base size=25 base align=8
+QSocketNotifier (0x7f593641c930) 0
+ vptr=((& QSocketNotifier::_ZTV15QSocketNotifier) + 16u)
+ QObject (0x7f593641c9a0) 0
+ primary-for QSocketNotifier (0x7f593641c930)
+
+Vtable for QTimer
+QTimer::_ZTV6QTimer: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI6QTimer)
+16 QTimer::metaObject
+24 QTimer::qt_metacast
+32 QTimer::qt_metacall
+40 QTimer::~QTimer
+48 QTimer::~QTimer
+56 QObject::event
+64 QObject::eventFilter
+72 QTimer::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QTimer
+ size=32 align=8
+ base size=29 base align=8
+QTimer (0x7f593643acb0) 0
+ vptr=((& QTimer::_ZTV6QTimer) + 16u)
+ QObject (0x7f593643ad20) 0
+ primary-for QTimer (0x7f593643acb0)
+
+Vtable for QAbstractEventDispatcher
+QAbstractEventDispatcher::_ZTV24QAbstractEventDispatcher: 27u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI24QAbstractEventDispatcher)
+16 QAbstractEventDispatcher::metaObject
+24 QAbstractEventDispatcher::qt_metacast
+32 QAbstractEventDispatcher::qt_metacall
+40 QAbstractEventDispatcher::~QAbstractEventDispatcher
+48 QAbstractEventDispatcher::~QAbstractEventDispatcher
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 __cxa_pure_virtual
+136 __cxa_pure_virtual
+144 __cxa_pure_virtual
+152 __cxa_pure_virtual
+160 __cxa_pure_virtual
+168 __cxa_pure_virtual
+176 __cxa_pure_virtual
+184 __cxa_pure_virtual
+192 __cxa_pure_virtual
+200 QAbstractEventDispatcher::startingUp
+208 QAbstractEventDispatcher::closingDown
+
+Class QAbstractEventDispatcher
+ size=16 align=8
+ base size=16 base align=8
+QAbstractEventDispatcher (0x7f593645e2a0) 0
+ vptr=((& QAbstractEventDispatcher::_ZTV24QAbstractEventDispatcher) + 16u)
+ QObject (0x7f593645e310) 0
+ primary-for QAbstractEventDispatcher (0x7f593645e2a0)
+
+Class QMetaMethod
+ size=16 align=8
+ base size=12 base align=8
+QMetaMethod (0x7f5936479150) 0
+
+Class QMetaEnum
+ size=16 align=8
+ base size=12 base align=8
+QMetaEnum (0x7f59364955b0) 0
+
+Class QMetaProperty
+ size=32 align=8
+ base size=32 base align=8
+QMetaProperty (0x7f59364a0310) 0
+
+Class QMetaClassInfo
+ size=16 align=8
+ base size=12 base align=8
+QMetaClassInfo (0x7f59364a09a0) 0
+
+Class QSystemSemaphore
+ size=8 align=8
+ base size=8 base align=8
+QSystemSemaphore (0x7f59364b24d0) 0
+
+Vtable for QLibrary
+QLibrary::_ZTV8QLibrary: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI8QLibrary)
+16 QLibrary::metaObject
+24 QLibrary::qt_metacast
+32 QLibrary::qt_metacall
+40 QLibrary::~QLibrary
+48 QLibrary::~QLibrary
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QLibrary
+ size=32 align=8
+ base size=25 base align=8
+QLibrary (0x7f59364b2e00) 0
+ vptr=((& QLibrary::_ZTV8QLibrary) + 16u)
+ QObject (0x7f59364b2e70) 0
+ primary-for QLibrary (0x7f59364b2e00)
+
+Vtable for QPluginLoader
+QPluginLoader::_ZTV13QPluginLoader: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QPluginLoader)
+16 QPluginLoader::metaObject
+24 QPluginLoader::qt_metacast
+32 QPluginLoader::qt_metacall
+40 QPluginLoader::~QPluginLoader
+48 QPluginLoader::~QPluginLoader
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QPluginLoader
+ size=32 align=8
+ base size=25 base align=8
+QPluginLoader (0x7f59362f98c0) 0
+ vptr=((& QPluginLoader::_ZTV13QPluginLoader) + 16u)
+ QObject (0x7f59362f9930) 0
+ primary-for QPluginLoader (0x7f59362f98c0)
+
+Class QUuid
+ size=16 align=4
+ base size=16 base align=4
+QUuid (0x7f593631d070) 0
+
+Class QSemaphore
+ size=8 align=8
+ base size=8 base align=8
+QSemaphore (0x7f593633c9a0) 0
+
+Class QThreadStorageData
+ size=4 align=4
+ base size=4 base align=4
+QThreadStorageData (0x7f593633cee0) 0
+
+Class QReadWriteLock
+ size=8 align=8
+ base size=8 base align=8
+QReadWriteLock (0x7f593634e690) 0
+
+Class QReadLocker
+ size=8 align=8
+ base size=8 base align=8
+QReadLocker (0x7f593634ed20) 0
+
+Class QWriteLocker
+ size=8 align=8
+ base size=8 base align=8
+QWriteLocker (0x7f593637b0e0) 0
+
+Class QSslCertificate
+ size=8 align=8
+ base size=8 base align=8
+QSslCertificate (0x7f593638d460) 0
+
+Class QSslError
+ size=8 align=8
+ base size=8 base align=8
+QSslError (0x7f59363a0ee0) 0
+
+Class QSslCipher
+ size=8 align=8
+ base size=8 base align=8
+QSslCipher (0x7f59363adcb0) 0
+
+Vtable for QAbstractSocket
+QAbstractSocket::_ZTV15QAbstractSocket: 30u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QAbstractSocket)
+16 QAbstractSocket::metaObject
+24 QAbstractSocket::qt_metacast
+32 QAbstractSocket::qt_metacall
+40 QAbstractSocket::~QAbstractSocket
+48 QAbstractSocket::~QAbstractSocket
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QAbstractSocket::isSequential
+120 QIODevice::open
+128 QAbstractSocket::close
+136 QIODevice::pos
+144 QIODevice::size
+152 QIODevice::seek
+160 QAbstractSocket::atEnd
+168 QIODevice::reset
+176 QAbstractSocket::bytesAvailable
+184 QAbstractSocket::bytesToWrite
+192 QAbstractSocket::canReadLine
+200 QAbstractSocket::waitForReadyRead
+208 QAbstractSocket::waitForBytesWritten
+216 QAbstractSocket::readData
+224 QAbstractSocket::readLineData
+232 QAbstractSocket::writeData
+
+Class QAbstractSocket
+ size=16 align=8
+ base size=16 base align=8
+QAbstractSocket (0x7f59363ba620) 0
+ vptr=((& QAbstractSocket::_ZTV15QAbstractSocket) + 16u)
+ QIODevice (0x7f59363ba690) 0
+ primary-for QAbstractSocket (0x7f59363ba620)
+ QObject (0x7f59363ba700) 0
+ primary-for QIODevice (0x7f59363ba690)
+
+Vtable for QTcpSocket
+QTcpSocket::_ZTV10QTcpSocket: 30u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QTcpSocket)
+16 QTcpSocket::metaObject
+24 QTcpSocket::qt_metacast
+32 QTcpSocket::qt_metacall
+40 QTcpSocket::~QTcpSocket
+48 QTcpSocket::~QTcpSocket
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QAbstractSocket::isSequential
+120 QIODevice::open
+128 QAbstractSocket::close
+136 QIODevice::pos
+144 QIODevice::size
+152 QIODevice::seek
+160 QAbstractSocket::atEnd
+168 QIODevice::reset
+176 QAbstractSocket::bytesAvailable
+184 QAbstractSocket::bytesToWrite
+192 QAbstractSocket::canReadLine
+200 QAbstractSocket::waitForReadyRead
+208 QAbstractSocket::waitForBytesWritten
+216 QAbstractSocket::readData
+224 QAbstractSocket::readLineData
+232 QAbstractSocket::writeData
+
+Class QTcpSocket
+ size=16 align=8
+ base size=16 base align=8
+QTcpSocket (0x7f59361f3cb0) 0
+ vptr=((& QTcpSocket::_ZTV10QTcpSocket) + 16u)
+ QAbstractSocket (0x7f59361f3d20) 0
+ primary-for QTcpSocket (0x7f59361f3cb0)
+ QIODevice (0x7f59361f3d90) 0
+ primary-for QAbstractSocket (0x7f59361f3d20)
+ QObject (0x7f59361f3e00) 0
+ primary-for QIODevice (0x7f59361f3d90)
+
+Vtable for QSslSocket
+QSslSocket::_ZTV10QSslSocket: 30u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QSslSocket)
+16 QSslSocket::metaObject
+24 QSslSocket::qt_metacast
+32 QSslSocket::qt_metacall
+40 QSslSocket::~QSslSocket
+48 QSslSocket::~QSslSocket
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QAbstractSocket::isSequential
+120 QIODevice::open
+128 QSslSocket::close
+136 QIODevice::pos
+144 QIODevice::size
+152 QIODevice::seek
+160 QSslSocket::atEnd
+168 QIODevice::reset
+176 QSslSocket::bytesAvailable
+184 QSslSocket::bytesToWrite
+192 QSslSocket::canReadLine
+200 QSslSocket::waitForReadyRead
+208 QSslSocket::waitForBytesWritten
+216 QSslSocket::readData
+224 QAbstractSocket::readLineData
+232 QSslSocket::writeData
+
+Class QSslSocket
+ size=16 align=8
+ base size=16 base align=8
+QSslSocket (0x7f593620f770) 0
+ vptr=((& QSslSocket::_ZTV10QSslSocket) + 16u)
+ QTcpSocket (0x7f593620f7e0) 0
+ primary-for QSslSocket (0x7f593620f770)
+ QAbstractSocket (0x7f593620f850) 0
+ primary-for QTcpSocket (0x7f593620f7e0)
+ QIODevice (0x7f593620f8c0) 0
+ primary-for QAbstractSocket (0x7f593620f850)
+ QObject (0x7f593620f930) 0
+ primary-for QIODevice (0x7f593620f8c0)
+
+Class QSslConfiguration
+ size=8 align=8
+ base size=8 base align=8
+QSslConfiguration (0x7f59362454d0) 0
+
+Class QSslKey
+ size=8 align=8
+ base size=8 base align=8
+QSslKey (0x7f59362562a0) 0
+
+Vtable for QHttpHeader
+QHttpHeader::_ZTV11QHttpHeader: 8u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QHttpHeader)
+16 QHttpHeader::~QHttpHeader
+24 QHttpHeader::~QHttpHeader
+32 QHttpHeader::toString
+40 __cxa_pure_virtual
+48 __cxa_pure_virtual
+56 QHttpHeader::parseLine
+
+Class QHttpHeader
+ size=16 align=8
+ base size=16 base align=8
+QHttpHeader (0x7f5936256e00) 0
+ vptr=((& QHttpHeader::_ZTV11QHttpHeader) + 16u)
+
+Vtable for QHttpResponseHeader
+QHttpResponseHeader::_ZTV19QHttpResponseHeader: 8u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QHttpResponseHeader)
+16 QHttpResponseHeader::~QHttpResponseHeader
+24 QHttpResponseHeader::~QHttpResponseHeader
+32 QHttpResponseHeader::toString
+40 QHttpResponseHeader::majorVersion
+48 QHttpResponseHeader::minorVersion
+56 QHttpResponseHeader::parseLine
+
+Class QHttpResponseHeader
+ size=16 align=8
+ base size=16 base align=8
+QHttpResponseHeader (0x7f5936270a80) 0
+ vptr=((& QHttpResponseHeader::_ZTV19QHttpResponseHeader) + 16u)
+ QHttpHeader (0x7f5936270af0) 0
+ primary-for QHttpResponseHeader (0x7f5936270a80)
+
+Vtable for QHttpRequestHeader
+QHttpRequestHeader::_ZTV18QHttpRequestHeader: 8u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QHttpRequestHeader)
+16 QHttpRequestHeader::~QHttpRequestHeader
+24 QHttpRequestHeader::~QHttpRequestHeader
+32 QHttpRequestHeader::toString
+40 QHttpRequestHeader::majorVersion
+48 QHttpRequestHeader::minorVersion
+56 QHttpRequestHeader::parseLine
+
+Class QHttpRequestHeader
+ size=16 align=8
+ base size=16 base align=8
+QHttpRequestHeader (0x7f5936281770) 0
+ vptr=((& QHttpRequestHeader::_ZTV18QHttpRequestHeader) + 16u)
+ QHttpHeader (0x7f59362817e0) 0
+ primary-for QHttpRequestHeader (0x7f5936281770)
+
+Vtable for QHttp
+QHttp::_ZTV5QHttp: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI5QHttp)
+16 QHttp::metaObject
+24 QHttp::qt_metacast
+32 QHttp::qt_metacall
+40 QHttp::~QHttp
+48 QHttp::~QHttp
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QHttp
+ size=16 align=8
+ base size=16 base align=8
+QHttp (0x7f5936295310) 0
+ vptr=((& QHttp::_ZTV5QHttp) + 16u)
+ QObject (0x7f5936295380) 0
+ primary-for QHttp (0x7f5936295310)
+
+Class QNetworkRequest
+ size=8 align=8
+ base size=8 base align=8
+QNetworkRequest (0x7f59362c2540) 0
+
+Vtable for QNetworkAccessManager
+QNetworkAccessManager::_ZTV21QNetworkAccessManager: 15u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI21QNetworkAccessManager)
+16 QNetworkAccessManager::metaObject
+24 QNetworkAccessManager::qt_metacast
+32 QNetworkAccessManager::qt_metacall
+40 QNetworkAccessManager::~QNetworkAccessManager
+48 QNetworkAccessManager::~QNetworkAccessManager
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QNetworkAccessManager::createRequest
+
+Class QNetworkAccessManager
+ size=16 align=8
+ base size=16 base align=8
+QNetworkAccessManager (0x7f59360dc460) 0
+ vptr=((& QNetworkAccessManager::_ZTV21QNetworkAccessManager) + 16u)
+ QObject (0x7f59360dc4d0) 0
+ primary-for QNetworkAccessManager (0x7f59360dc460)
+
+Class QNetworkCookie
+ size=8 align=8
+ base size=8 base align=8
+QNetworkCookie (0x7f59360fa9a0) 0
+
+Vtable for QNetworkCookieJar
+QNetworkCookieJar::_ZTV17QNetworkCookieJar: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QNetworkCookieJar)
+16 QNetworkCookieJar::metaObject
+24 QNetworkCookieJar::qt_metacast
+32 QNetworkCookieJar::qt_metacall
+40 QNetworkCookieJar::~QNetworkCookieJar
+48 QNetworkCookieJar::~QNetworkCookieJar
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QNetworkCookieJar::cookiesForUrl
+120 QNetworkCookieJar::setCookiesFromUrl
+
+Class QNetworkCookieJar
+ size=16 align=8
+ base size=16 base align=8
+QNetworkCookieJar (0x7f59360ffaf0) 0
+ vptr=((& QNetworkCookieJar::_ZTV17QNetworkCookieJar) + 16u)
+ QObject (0x7f59360ffb60) 0
+ primary-for QNetworkCookieJar (0x7f59360ffaf0)
+
+Vtable for QNetworkReply
+QNetworkReply::_ZTV13QNetworkReply: 33u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QNetworkReply)
+16 QNetworkReply::metaObject
+24 QNetworkReply::qt_metacast
+32 QNetworkReply::qt_metacall
+40 QNetworkReply::~QNetworkReply
+48 QNetworkReply::~QNetworkReply
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QNetworkReply::isSequential
+120 QIODevice::open
+128 QNetworkReply::close
+136 QIODevice::pos
+144 QIODevice::size
+152 QIODevice::seek
+160 QIODevice::atEnd
+168 QIODevice::reset
+176 QIODevice::bytesAvailable
+184 QIODevice::bytesToWrite
+192 QIODevice::canReadLine
+200 QIODevice::waitForReadyRead
+208 QIODevice::waitForBytesWritten
+216 __cxa_pure_virtual
+224 QIODevice::readLineData
+232 QNetworkReply::writeData
+240 __cxa_pure_virtual
+248 QNetworkReply::setReadBufferSize
+256 QNetworkReply::ignoreSslErrors
+
+Class QNetworkReply
+ size=16 align=8
+ base size=16 base align=8
+QNetworkReply (0x7f59361309a0) 0
+ vptr=((& QNetworkReply::_ZTV13QNetworkReply) + 16u)
+ QIODevice (0x7f5936130a10) 0
+ primary-for QNetworkReply (0x7f59361309a0)
+ QObject (0x7f5936130a80) 0
+ primary-for QIODevice (0x7f5936130a10)
+
+Vtable for QUrlInfo
+QUrlInfo::_ZTV8QUrlInfo: 15u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI8QUrlInfo)
+16 QUrlInfo::~QUrlInfo
+24 QUrlInfo::~QUrlInfo
+32 QUrlInfo::setName
+40 QUrlInfo::setDir
+48 QUrlInfo::setFile
+56 QUrlInfo::setSymLink
+64 QUrlInfo::setOwner
+72 QUrlInfo::setGroup
+80 QUrlInfo::setSize
+88 QUrlInfo::setWritable
+96 QUrlInfo::setReadable
+104 QUrlInfo::setPermissions
+112 QUrlInfo::setLastModified
+
+Class QUrlInfo
+ size=16 align=8
+ base size=16 base align=8
+QUrlInfo (0x7f593615a620) 0
+ vptr=((& QUrlInfo::_ZTV8QUrlInfo) + 16u)
+
+Vtable for QFtp
+QFtp::_ZTV4QFtp: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI4QFtp)
+16 QFtp::metaObject
+24 QFtp::qt_metacast
+32 QFtp::qt_metacall
+40 QFtp::~QFtp
+48 QFtp::~QFtp
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QFtp
+ size=16 align=8
+ base size=16 base align=8
+QFtp (0x7f593616b5b0) 0
+ vptr=((& QFtp::_ZTV4QFtp) + 16u)
+ QObject (0x7f593616b620) 0
+ primary-for QFtp (0x7f593616b5b0)
+
+Class QNetworkCacheMetaData
+ size=8 align=8
+ base size=8 base align=8
+QNetworkCacheMetaData (0x7f5936199bd0) 0
+
+Vtable for QAbstractNetworkCache
+QAbstractNetworkCache::_ZTV21QAbstractNetworkCache: 22u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI21QAbstractNetworkCache)
+16 QAbstractNetworkCache::metaObject
+24 QAbstractNetworkCache::qt_metacast
+32 QAbstractNetworkCache::qt_metacall
+40 QAbstractNetworkCache::~QAbstractNetworkCache
+48 QAbstractNetworkCache::~QAbstractNetworkCache
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 __cxa_pure_virtual
+136 __cxa_pure_virtual
+144 __cxa_pure_virtual
+152 __cxa_pure_virtual
+160 __cxa_pure_virtual
+168 __cxa_pure_virtual
+
+Class QAbstractNetworkCache
+ size=16 align=8
+ base size=16 base align=8
+QAbstractNetworkCache (0x7f593619dee0) 0
+ vptr=((& QAbstractNetworkCache::_ZTV21QAbstractNetworkCache) + 16u)
+ QObject (0x7f593619df50) 0
+ primary-for QAbstractNetworkCache (0x7f593619dee0)
+
+Vtable for QNetworkDiskCache
+QNetworkDiskCache::_ZTV17QNetworkDiskCache: 23u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QNetworkDiskCache)
+16 QNetworkDiskCache::metaObject
+24 QNetworkDiskCache::qt_metacast
+32 QNetworkDiskCache::qt_metacall
+40 QNetworkDiskCache::~QNetworkDiskCache
+48 QNetworkDiskCache::~QNetworkDiskCache
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QNetworkDiskCache::metaData
+120 QNetworkDiskCache::updateMetaData
+128 QNetworkDiskCache::data
+136 QNetworkDiskCache::remove
+144 QNetworkDiskCache::cacheSize
+152 QNetworkDiskCache::prepare
+160 QNetworkDiskCache::insert
+168 QNetworkDiskCache::clear
+176 QNetworkDiskCache::expire
+
+Class QNetworkDiskCache
+ size=16 align=8
+ base size=16 base align=8
+QNetworkDiskCache (0x7f5935fca850) 0
+ vptr=((& QNetworkDiskCache::_ZTV17QNetworkDiskCache) + 16u)
+ QAbstractNetworkCache (0x7f5935fca8c0) 0
+ primary-for QNetworkDiskCache (0x7f5935fca850)
+ QObject (0x7f5935fca930) 0
+ primary-for QAbstractNetworkCache (0x7f5935fca8c0)
+
+Class QIPv6Address
+ size=16 align=1
+ base size=16 base align=1
+QIPv6Address (0x7f5935fe71c0) 0
+
+Class QHostAddress
+ size=8 align=8
+ base size=8 base align=8
+QHostAddress (0x7f5935fe77e0) 0
+
+Class QNetworkAddressEntry
+ size=8 align=8
+ base size=8 base align=8
+QNetworkAddressEntry (0x7f593600f770) 0
+
+Class QNetworkInterface
+ size=8 align=8
+ base size=8 base align=8
+QNetworkInterface (0x7f5936020000) 0
+
+Class QAuthenticator
+ size=8 align=8
+ base size=8 base align=8
+QAuthenticator (0x7f593604ed20) 0
+
+Class QHostInfo
+ size=8 align=8
+ base size=8 base align=8
+QHostInfo (0x7f593605d620) 0
+
+Class QNetworkProxyQuery
+ size=8 align=8
+ base size=8 base align=8
+QNetworkProxyQuery (0x7f593605de70) 0
+
+Class QNetworkProxy
+ size=8 align=8
+ base size=8 base align=8
+QNetworkProxy (0x7f593608a150) 0
+
+Vtable for QNetworkProxyFactory
+QNetworkProxyFactory::_ZTV20QNetworkProxyFactory: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI20QNetworkProxyFactory)
+16 QNetworkProxyFactory::~QNetworkProxyFactory
+24 QNetworkProxyFactory::~QNetworkProxyFactory
+32 __cxa_pure_virtual
+
+Class QNetworkProxyFactory
+ size=8 align=8
+ base size=8 base align=8
+QNetworkProxyFactory (0x7f5935ece5b0) 0 nearly-empty
+ vptr=((& QNetworkProxyFactory::_ZTV20QNetworkProxyFactory) + 16u)
+
+Vtable for QLocalServer
+QLocalServer::_ZTV12QLocalServer: 17u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QLocalServer)
+16 QLocalServer::metaObject
+24 QLocalServer::qt_metacast
+32 QLocalServer::qt_metacall
+40 QLocalServer::~QLocalServer
+48 QLocalServer::~QLocalServer
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QLocalServer::hasPendingConnections
+120 QLocalServer::nextPendingConnection
+128 QLocalServer::incomingConnection
+
+Class QLocalServer
+ size=16 align=8
+ base size=16 base align=8
+QLocalServer (0x7f5935ece8c0) 0
+ vptr=((& QLocalServer::_ZTV12QLocalServer) + 16u)
+ QObject (0x7f5935ece930) 0
+ primary-for QLocalServer (0x7f5935ece8c0)
+
+Vtable for QLocalSocket
+QLocalSocket::_ZTV12QLocalSocket: 30u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QLocalSocket)
+16 QLocalSocket::metaObject
+24 QLocalSocket::qt_metacast
+32 QLocalSocket::qt_metacall
+40 QLocalSocket::~QLocalSocket
+48 QLocalSocket::~QLocalSocket
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QLocalSocket::isSequential
+120 QIODevice::open
+128 QLocalSocket::close
+136 QIODevice::pos
+144 QIODevice::size
+152 QIODevice::seek
+160 QIODevice::atEnd
+168 QIODevice::reset
+176 QLocalSocket::bytesAvailable
+184 QLocalSocket::bytesToWrite
+192 QLocalSocket::canReadLine
+200 QLocalSocket::waitForReadyRead
+208 QLocalSocket::waitForBytesWritten
+216 QLocalSocket::readData
+224 QIODevice::readLineData
+232 QLocalSocket::writeData
+
+Class QLocalSocket
+ size=16 align=8
+ base size=16 base align=8
+QLocalSocket (0x7f5935eef2a0) 0
+ vptr=((& QLocalSocket::_ZTV12QLocalSocket) + 16u)
+ QIODevice (0x7f5935eef310) 0
+ primary-for QLocalSocket (0x7f5935eef2a0)
+ QObject (0x7f5935eef380) 0
+ primary-for QIODevice (0x7f5935eef310)
+
+Vtable for QTcpServer
+QTcpServer::_ZTV10QTcpServer: 17u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QTcpServer)
+16 QTcpServer::metaObject
+24 QTcpServer::qt_metacast
+32 QTcpServer::qt_metacall
+40 QTcpServer::~QTcpServer
+48 QTcpServer::~QTcpServer
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QTcpServer::hasPendingConnections
+120 QTcpServer::nextPendingConnection
+128 QTcpServer::incomingConnection
+
+Class QTcpServer
+ size=16 align=8
+ base size=16 base align=8
+QTcpServer (0x7f5935f12460) 0
+ vptr=((& QTcpServer::_ZTV10QTcpServer) + 16u)
+ QObject (0x7f5935f124d0) 0
+ primary-for QTcpServer (0x7f5935f12460)
+
+Vtable for QUdpSocket
+QUdpSocket::_ZTV10QUdpSocket: 30u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QUdpSocket)
+16 QUdpSocket::metaObject
+24 QUdpSocket::qt_metacast
+32 QUdpSocket::qt_metacall
+40 QUdpSocket::~QUdpSocket
+48 QUdpSocket::~QUdpSocket
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QAbstractSocket::isSequential
+120 QIODevice::open
+128 QAbstractSocket::close
+136 QIODevice::pos
+144 QIODevice::size
+152 QIODevice::seek
+160 QAbstractSocket::atEnd
+168 QIODevice::reset
+176 QAbstractSocket::bytesAvailable
+184 QAbstractSocket::bytesToWrite
+192 QAbstractSocket::canReadLine
+200 QAbstractSocket::waitForReadyRead
+208 QAbstractSocket::waitForBytesWritten
+216 QAbstractSocket::readData
+224 QAbstractSocket::readLineData
+232 QAbstractSocket::writeData
+
+Class QUdpSocket
+ size=16 align=8
+ base size=16 base align=8
+QUdpSocket (0x7f5935f25f50) 0
+ vptr=((& QUdpSocket::_ZTV10QUdpSocket) + 16u)
+ QAbstractSocket (0x7f5935f2e000) 0
+ primary-for QUdpSocket (0x7f5935f25f50)
+ QIODevice (0x7f5935f2e070) 0
+ primary-for QAbstractSocket (0x7f5935f2e000)
+ QObject (0x7f5935f2e0e0) 0
+ primary-for QIODevice (0x7f5935f2e070)
+
+Class QXmlName
+ size=8 align=8
+ base size=8 base align=8
+QXmlName (0x7f5935f62cb0) 0
+
+Class QPatternist::NodeIndexStorage
+ size=24 align=8
+ base size=24 base align=8
+QPatternist::NodeIndexStorage (0x7f5935f8f0e0) 0
+
+Class QXmlNodeModelIndex
+ size=24 align=8
+ base size=24 base align=8
+QXmlNodeModelIndex (0x7f5935f8f850) 0
+
+Vtable for QAbstractXmlNodeModel
+QAbstractXmlNodeModel::_ZTV21QAbstractXmlNodeModel: 24u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI21QAbstractXmlNodeModel)
+16 QAbstractXmlNodeModel::~QAbstractXmlNodeModel
+24 QAbstractXmlNodeModel::~QAbstractXmlNodeModel
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+48 __cxa_pure_virtual
+56 __cxa_pure_virtual
+64 __cxa_pure_virtual
+72 __cxa_pure_virtual
+80 __cxa_pure_virtual
+88 __cxa_pure_virtual
+96 QAbstractXmlNodeModel::iterate
+104 QAbstractXmlNodeModel::sequencedTypedValue
+112 QAbstractXmlNodeModel::type
+120 QAbstractXmlNodeModel::namespaceForPrefix
+128 QAbstractXmlNodeModel::isDeepEqual
+136 QAbstractXmlNodeModel::sendNamespaces
+144 __cxa_pure_virtual
+152 __cxa_pure_virtual
+160 __cxa_pure_virtual
+168 QAbstractXmlNodeModel::copyNodeTo
+176 __cxa_pure_virtual
+184 __cxa_pure_virtual
+
+Class QAbstractXmlNodeModel
+ size=24 align=8
+ base size=24 base align=8
+QAbstractXmlNodeModel (0x7f5935df0e70) 0
+ vptr=((& QAbstractXmlNodeModel::_ZTV21QAbstractXmlNodeModel) + 16u)
+ QSharedData (0x7f5935df0ee0) 8
+
+Class QXmlItem
+ size=24 align=8
+ base size=24 base align=8
+QXmlItem (0x7f5935e07a80) 0
+
+Vtable for QAbstractXmlReceiver
+QAbstractXmlReceiver::_ZTV20QAbstractXmlReceiver: 18u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI20QAbstractXmlReceiver)
+16 QAbstractXmlReceiver::~QAbstractXmlReceiver
+24 QAbstractXmlReceiver::~QAbstractXmlReceiver
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+48 __cxa_pure_virtual
+56 __cxa_pure_virtual
+64 __cxa_pure_virtual
+72 __cxa_pure_virtual
+80 __cxa_pure_virtual
+88 __cxa_pure_virtual
+96 __cxa_pure_virtual
+104 __cxa_pure_virtual
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 QAbstractXmlReceiver::whitespaceOnly
+136 QAbstractXmlReceiver::item
+
+Class QAbstractXmlReceiver
+ size=16 align=8
+ base size=16 base align=8
+QAbstractXmlReceiver (0x7f5935e16a10) 0
+ vptr=((& QAbstractXmlReceiver::_ZTV20QAbstractXmlReceiver) + 16u)
+
+Vtable for QXmlSerializer
+QXmlSerializer::_ZTV14QXmlSerializer: 18u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QXmlSerializer)
+16 QXmlSerializer::~QXmlSerializer
+24 QXmlSerializer::~QXmlSerializer
+32 QXmlSerializer::startElement
+40 QXmlSerializer::endElement
+48 QXmlSerializer::attribute
+56 QXmlSerializer::comment
+64 QXmlSerializer::characters
+72 QXmlSerializer::startDocument
+80 QXmlSerializer::endDocument
+88 QXmlSerializer::processingInstruction
+96 QXmlSerializer::atomicValue
+104 QXmlSerializer::namespaceBinding
+112 QXmlSerializer::startOfSequence
+120 QXmlSerializer::endOfSequence
+128 QAbstractXmlReceiver::whitespaceOnly
+136 QXmlSerializer::item
+
+Class QXmlSerializer
+ size=16 align=8
+ base size=16 base align=8
+QXmlSerializer (0x7f5935e2e1c0) 0
+ vptr=((& QXmlSerializer::_ZTV14QXmlSerializer) + 16u)
+ QAbstractXmlReceiver (0x7f5935e2e230) 0
+ primary-for QXmlSerializer (0x7f5935e2e1c0)
+
+Class QSourceLocation
+ size=24 align=8
+ base size=24 base align=8
+QSourceLocation (0x7f5935e2e930) 0
+
+Vtable for QAbstractMessageHandler
+QAbstractMessageHandler::_ZTV23QAbstractMessageHandler: 15u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI23QAbstractMessageHandler)
+16 QAbstractMessageHandler::metaObject
+24 QAbstractMessageHandler::qt_metacast
+32 QAbstractMessageHandler::qt_metacall
+40 QAbstractMessageHandler::~QAbstractMessageHandler
+48 QAbstractMessageHandler::~QAbstractMessageHandler
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+
+Class QAbstractMessageHandler
+ size=16 align=8
+ base size=16 base align=8
+QAbstractMessageHandler (0x7f5935e49540) 0
+ vptr=((& QAbstractMessageHandler::_ZTV23QAbstractMessageHandler) + 16u)
+ QObject (0x7f5935e495b0) 0
+ primary-for QAbstractMessageHandler (0x7f5935e49540)
+
+Class QXmlNamePool
+ size=8 align=8
+ base size=8 base align=8
+QXmlNamePool (0x7f5935e64ee0) 0
+
+Class QXmlQuery
+ size=8 align=8
+ base size=8 base align=8
+QXmlQuery (0x7f5935e6c540) 0
+
+Vtable for QAbstractUriResolver
+QAbstractUriResolver::_ZTV20QAbstractUriResolver: 15u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI20QAbstractUriResolver)
+16 QAbstractUriResolver::metaObject
+24 QAbstractUriResolver::qt_metacast
+32 QAbstractUriResolver::qt_metacall
+40 QAbstractUriResolver::~QAbstractUriResolver
+48 QAbstractUriResolver::~QAbstractUriResolver
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+
+Class QAbstractUriResolver
+ size=16 align=8
+ base size=16 base align=8
+QAbstractUriResolver (0x7f5935e8d150) 0
+ vptr=((& QAbstractUriResolver::_ZTV20QAbstractUriResolver) + 16u)
+ QObject (0x7f5935e8d1c0) 0
+ primary-for QAbstractUriResolver (0x7f5935e8d150)
+
+Vtable for QSimpleXmlNodeModel
+QSimpleXmlNodeModel::_ZTV19QSimpleXmlNodeModel: 24u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QSimpleXmlNodeModel)
+16 QSimpleXmlNodeModel::~QSimpleXmlNodeModel
+24 QSimpleXmlNodeModel::~QSimpleXmlNodeModel
+32 QSimpleXmlNodeModel::baseUri
+40 __cxa_pure_virtual
+48 __cxa_pure_virtual
+56 __cxa_pure_virtual
+64 __cxa_pure_virtual
+72 __cxa_pure_virtual
+80 QSimpleXmlNodeModel::stringValue
+88 __cxa_pure_virtual
+96 QAbstractXmlNodeModel::iterate
+104 QAbstractXmlNodeModel::sequencedTypedValue
+112 QAbstractXmlNodeModel::type
+120 QAbstractXmlNodeModel::namespaceForPrefix
+128 QAbstractXmlNodeModel::isDeepEqual
+136 QAbstractXmlNodeModel::sendNamespaces
+144 QSimpleXmlNodeModel::namespaceBindings
+152 QSimpleXmlNodeModel::elementById
+160 QSimpleXmlNodeModel::nodesByIdref
+168 QAbstractXmlNodeModel::copyNodeTo
+176 __cxa_pure_virtual
+184 __cxa_pure_virtual
+
+Class QSimpleXmlNodeModel
+ size=24 align=8
+ base size=24 base align=8
+QSimpleXmlNodeModel (0x7f5935e9da10) 0
+ vptr=((& QSimpleXmlNodeModel::_ZTV19QSimpleXmlNodeModel) + 16u)
+ QAbstractXmlNodeModel (0x7f5935e9da80) 0
+ primary-for QSimpleXmlNodeModel (0x7f5935e9da10)
+ QSharedData (0x7f5935e9daf0) 8
+
+Vtable for QXmlFormatter
+QXmlFormatter::_ZTV13QXmlFormatter: 18u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QXmlFormatter)
+16 QXmlFormatter::~QXmlFormatter
+24 QXmlFormatter::~QXmlFormatter
+32 QXmlFormatter::startElement
+40 QXmlFormatter::endElement
+48 QXmlFormatter::attribute
+56 QXmlFormatter::comment
+64 QXmlFormatter::characters
+72 QXmlFormatter::startDocument
+80 QXmlFormatter::endDocument
+88 QXmlFormatter::processingInstruction
+96 QXmlFormatter::atomicValue
+104 QXmlSerializer::namespaceBinding
+112 QXmlFormatter::startOfSequence
+120 QXmlFormatter::endOfSequence
+128 QAbstractXmlReceiver::whitespaceOnly
+136 QXmlFormatter::item
+
+Class QXmlFormatter
+ size=16 align=8
+ base size=16 base align=8
+QXmlFormatter (0x7f5935eab1c0) 0
+ vptr=((& QXmlFormatter::_ZTV13QXmlFormatter) + 16u)
+ QXmlSerializer (0x7f5935eab230) 0
+ primary-for QXmlFormatter (0x7f5935eab1c0)
+ QAbstractXmlReceiver (0x7f5935eab2a0) 0
+ primary-for QXmlSerializer (0x7f5935eab230)
+
+Vtable for QXmlResultItems
+QXmlResultItems::_ZTV15QXmlResultItems: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QXmlResultItems)
+16 QXmlResultItems::~QXmlResultItems
+24 QXmlResultItems::~QXmlResultItems
+
+Class QXmlResultItems
+ size=16 align=8
+ base size=16 base align=8
+QXmlResultItems (0x7f5935eab930) 0
+ vptr=((& QXmlResultItems::_ZTV15QXmlResultItems) + 16u)
+
diff --git a/tests/auto/bic/data/QtXmlPatterns.4.6.0.linux-gcc-amd64.txt b/tests/auto/bic/data/QtXmlPatterns.4.6.0.linux-gcc-amd64.txt
new file mode 100644
index 0000000000..a08062de56
--- /dev/null
+++ b/tests/auto/bic/data/QtXmlPatterns.4.6.0.linux-gcc-amd64.txt
@@ -0,0 +1,3561 @@
+Class QSysInfo
+ size=1 align=1
+ base size=0 base align=1
+QSysInfo (0x7f7ae7deb230) 0 empty
+
+Class QBool
+ size=1 align=1
+ base size=1 base align=1
+QBool (0x7f7ae7debe70) 0
+
+Class qIsNull(double)::U
+ size=8 align=8
+ base size=8 base align=8
+qIsNull(double)::U (0x7f7ae7e19540) 0
+
+Class qIsNull(float)::U
+ size=4 align=4
+ base size=4 base align=4
+qIsNull(float)::U (0x7f7ae7e197e0) 0
+
+Class QFlag
+ size=4 align=4
+ base size=4 base align=4
+QFlag (0x7f7ae7e53690) 0
+
+Class QIncompatibleFlag
+ size=4 align=4
+ base size=4 base align=4
+QIncompatibleFlag (0x7f7ae7e53e70) 0
+
+Class QLatin1Char
+ size=1 align=1
+ base size=1 base align=1
+QLatin1Char (0x7f7ae7e815b0) 0
+
+Class QChar
+ size=2 align=2
+ base size=2 base align=2
+QChar (0x7f7ae7ea9150) 0
+
+Class QBasicAtomicInt
+ size=4 align=4
+ base size=4 base align=4
+QBasicAtomicInt (0x7f7ae7d0b310) 0
+
+Class QAtomicInt
+ size=4 align=4
+ base size=4 base align=4
+QAtomicInt (0x7f7ae7d49cb0) 0
+ QBasicAtomicInt (0x7f7ae7d49d20) 0
+
+Class QInternal
+ size=1 align=1
+ base size=0 base align=1
+QInternal (0x7f7ae7b9c4d0) 0 empty
+
+Class __locale_struct
+ size=232 align=8
+ base size=232 base align=8
+__locale_struct (0x7f7ae7b9c700) 0
+
+Class QByteArray::Data
+ size=32 align=8
+ base size=32 base align=8
+QByteArray::Data (0x7f7ae7bd8af0) 0
+
+Class QByteArray
+ size=8 align=8
+ base size=8 base align=8
+QByteArray (0x7f7ae7bd8a80) 0
+
+Class QByteRef
+ size=16 align=8
+ base size=12 base align=8
+QByteRef (0x7f7ae7a7c380) 0
+
+Class QString::Null
+ size=1 align=1
+ base size=0 base align=1
+QString::Null (0x7f7ae797bd20) 0 empty
+
+Class QString::Data
+ size=32 align=8
+ base size=32 base align=8
+QString::Data (0x7f7ae79935b0) 0
+
+Class QString
+ size=8 align=8
+ base size=8 base align=8
+QString (0x7f7ae78f5bd0) 0
+
+Class QLatin1String
+ size=8 align=8
+ base size=8 base align=8
+QLatin1String (0x7f7ae786c9a0) 0
+
+Class QCharRef
+ size=16 align=8
+ base size=12 base align=8
+QCharRef (0x7f7ae770b000) 0
+
+Class QConstString
+ size=8 align=8
+ base size=8 base align=8
+QConstString (0x7f7ae76548c0) 0
+ QString (0x7f7ae7654930) 0
+
+Class QStringRef
+ size=16 align=8
+ base size=16 base align=8
+QStringRef (0x7f7ae767b310) 0
+
+Class QGenericArgument
+ size=16 align=8
+ base size=16 base align=8
+QGenericArgument (0x7f7ae74f4700) 0
+
+Class QGenericReturnArgument
+ size=16 align=8
+ base size=16 base align=8
+QGenericReturnArgument (0x7f7ae74fd2a0) 0
+ QGenericArgument (0x7f7ae74fd310) 0
+
+Class QMetaObject
+ size=32 align=8
+ base size=32 base align=8
+QMetaObject (0x7f7ae74fdb60) 0
+
+Class QMetaObjectExtraData
+ size=16 align=8
+ base size=16 base align=8
+QMetaObjectExtraData (0x7f7ae7526bd0) 0
+
+Vtable for std::exception
+std::exception::_ZTVSt9exception: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt9exception)
+16 std::exception::~exception
+24 std::exception::~exception
+32 std::exception::what
+
+Class std::exception
+ size=8 align=8
+ base size=8 base align=8
+std::exception (0x7f7ae757a1c0) 0 nearly-empty
+ vptr=((& std::exception::_ZTVSt9exception) + 16u)
+
+Vtable for std::bad_exception
+std::bad_exception::_ZTVSt13bad_exception: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt13bad_exception)
+16 std::bad_exception::~bad_exception
+24 std::bad_exception::~bad_exception
+32 std::bad_exception::what
+
+Class std::bad_exception
+ size=8 align=8
+ base size=8 base align=8
+std::bad_exception (0x7f7ae757a770) 0 nearly-empty
+ vptr=((& std::bad_exception::_ZTVSt13bad_exception) + 16u)
+ std::exception (0x7f7ae757a7e0) 0 nearly-empty
+ primary-for std::bad_exception (0x7f7ae757a770)
+
+Vtable for std::bad_alloc
+std::bad_alloc::_ZTVSt9bad_alloc: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt9bad_alloc)
+16 std::bad_alloc::~bad_alloc
+24 std::bad_alloc::~bad_alloc
+32 std::bad_alloc::what
+
+Class std::bad_alloc
+ size=8 align=8
+ base size=8 base align=8
+std::bad_alloc (0x7f7ae757a930) 0 nearly-empty
+ vptr=((& std::bad_alloc::_ZTVSt9bad_alloc) + 16u)
+ std::exception (0x7f7ae7590000) 0 nearly-empty
+ primary-for std::bad_alloc (0x7f7ae757a930)
+
+Class std::nothrow_t
+ size=1 align=1
+ base size=0 base align=1
+std::nothrow_t (0x7f7ae7590850) 0 empty
+
+Class QListData::Data
+ size=32 align=8
+ base size=32 base align=8
+QListData::Data (0x7f7ae7590d90) 0
+
+Class QListData
+ size=8 align=8
+ base size=8 base align=8
+QListData (0x7f7ae7590d20) 0
+
+Class QScopedPointerPodDeleter
+ size=1 align=1
+ base size=0 base align=1
+QScopedPointerPodDeleter (0x7f7ae74ba850) 0 empty
+
+Vtable for QObjectData
+QObjectData::_ZTV11QObjectData: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QObjectData)
+16 __cxa_pure_virtual
+24 __cxa_pure_virtual
+
+Class QObjectData
+ size=48 align=8
+ base size=48 base align=8
+QObjectData (0x7f7ae74db2a0) 0
+ vptr=((& QObjectData::_ZTV11QObjectData) + 16u)
+
+Vtable for QObject
+QObject::_ZTV7QObject: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QObject)
+16 QObject::metaObject
+24 QObject::qt_metacast
+32 QObject::qt_metacall
+40 QObject::~QObject
+48 QObject::~QObject
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QObject
+ size=16 align=8
+ base size=16 base align=8
+QObject (0x7f7ae74db5b0) 0
+ vptr=((& QObject::_ZTV7QObject) + 16u)
+
+Vtable for QObjectUserData
+QObjectUserData::_ZTV15QObjectUserData: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QObjectUserData)
+16 QObjectUserData::~QObjectUserData
+24 QObjectUserData::~QObjectUserData
+
+Class QObjectUserData
+ size=8 align=8
+ base size=8 base align=8
+QObjectUserData (0x7f7ae735fb60) 0 nearly-empty
+ vptr=((& QObjectUserData::_ZTV15QObjectUserData) + 16u)
+
+Vtable for QIODevice
+QIODevice::_ZTV9QIODevice: 30u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QIODevice)
+16 QIODevice::metaObject
+24 QIODevice::qt_metacast
+32 QIODevice::qt_metacall
+40 QIODevice::~QIODevice
+48 QIODevice::~QIODevice
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QIODevice::isSequential
+120 QIODevice::open
+128 QIODevice::close
+136 QIODevice::pos
+144 QIODevice::size
+152 QIODevice::seek
+160 QIODevice::atEnd
+168 QIODevice::reset
+176 QIODevice::bytesAvailable
+184 QIODevice::bytesToWrite
+192 QIODevice::canReadLine
+200 QIODevice::waitForReadyRead
+208 QIODevice::waitForBytesWritten
+216 __cxa_pure_virtual
+224 QIODevice::readLineData
+232 __cxa_pure_virtual
+
+Class QIODevice
+ size=16 align=8
+ base size=16 base align=8
+QIODevice (0x7f7ae736f150) 0
+ vptr=((& QIODevice::_ZTV9QIODevice) + 16u)
+ QObject (0x7f7ae736f1c0) 0
+ primary-for QIODevice (0x7f7ae736f150)
+
+Class _IO_marker
+ size=24 align=8
+ base size=24 base align=8
+_IO_marker (0x7f7ae73d3cb0) 0
+
+Class _IO_FILE
+ size=216 align=8
+ base size=216 base align=8
+_IO_FILE (0x7f7ae73d3d20) 0
+
+Vtable for QFile
+QFile::_ZTV5QFile: 31u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI5QFile)
+16 QFile::metaObject
+24 QFile::qt_metacast
+32 QFile::qt_metacall
+40 QFile::~QFile
+48 QFile::~QFile
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QFile::isSequential
+120 QFile::open
+128 QFile::close
+136 QFile::pos
+144 QFile::size
+152 QFile::seek
+160 QFile::atEnd
+168 QIODevice::reset
+176 QIODevice::bytesAvailable
+184 QIODevice::bytesToWrite
+192 QIODevice::canReadLine
+200 QIODevice::waitForReadyRead
+208 QIODevice::waitForBytesWritten
+216 QFile::readData
+224 QFile::readLineData
+232 QFile::writeData
+240 QFile::fileEngine
+
+Class QFile
+ size=16 align=8
+ base size=16 base align=8
+QFile (0x7f7ae73d3e00) 0
+ vptr=((& QFile::_ZTV5QFile) + 16u)
+ QIODevice (0x7f7ae73d3e70) 0
+ primary-for QFile (0x7f7ae73d3e00)
+ QObject (0x7f7ae73d3ee0) 0
+ primary-for QIODevice (0x7f7ae73d3e70)
+
+Class QFileInfo
+ size=8 align=8
+ base size=8 base align=8
+QFileInfo (0x7f7ae7275070) 0
+
+Vtable for QDataStream
+QDataStream::_ZTV11QDataStream: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QDataStream)
+16 QDataStream::~QDataStream
+24 QDataStream::~QDataStream
+
+Class QDataStream
+ size=40 align=8
+ base size=40 base align=8
+QDataStream (0x7f7ae72c8a10) 0
+ vptr=((& QDataStream::_ZTV11QDataStream) + 16u)
+
+Class QRegExp
+ size=8 align=8
+ base size=8 base align=8
+QRegExp (0x7f7ae7132e70) 0
+
+Class QStringMatcher::Data
+ size=272 align=8
+ base size=272 base align=8
+QStringMatcher::Data (0x7f7ae719b2a0) 0
+
+Class QStringMatcher
+ size=1048 align=8
+ base size=1048 base align=8
+QStringMatcher (0x7f7ae718dc40) 0
+
+Class QStringList
+ size=8 align=8
+ base size=8 base align=8
+QStringList (0x7f7ae719b850) 0
+ QList<QString> (0x7f7ae719b8c0) 0
+
+Class QDir
+ size=8 align=8
+ base size=8 base align=8
+QDir (0x7f7ae70384d0) 0
+
+Class QAbstractFileEngine::ExtensionOption
+ size=1 align=1
+ base size=0 base align=1
+QAbstractFileEngine::ExtensionOption (0x7f7ae6ee18c0) 0 empty
+
+Class QAbstractFileEngine::ExtensionReturn
+ size=1 align=1
+ base size=0 base align=1
+QAbstractFileEngine::ExtensionReturn (0x7f7ae6ee1930) 0 empty
+
+Class QAbstractFileEngine::MapExtensionOption
+ size=24 align=8
+ base size=20 base align=8
+QAbstractFileEngine::MapExtensionOption (0x7f7ae6ee19a0) 0
+ QAbstractFileEngine::ExtensionOption (0x7f7ae6ee1a10) 0 empty
+
+Class QAbstractFileEngine::MapExtensionReturn
+ size=8 align=8
+ base size=8 base align=8
+QAbstractFileEngine::MapExtensionReturn (0x7f7ae6ee1bd0) 0
+ QAbstractFileEngine::ExtensionReturn (0x7f7ae6ee1c40) 0 empty
+
+Class QAbstractFileEngine::UnMapExtensionOption
+ size=8 align=8
+ base size=8 base align=8
+QAbstractFileEngine::UnMapExtensionOption (0x7f7ae6ee1cb0) 0
+ QAbstractFileEngine::ExtensionOption (0x7f7ae6ee1d20) 0 empty
+
+Vtable for QAbstractFileEngine
+QAbstractFileEngine::_ZTV19QAbstractFileEngine: 36u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QAbstractFileEngine)
+16 QAbstractFileEngine::~QAbstractFileEngine
+24 QAbstractFileEngine::~QAbstractFileEngine
+32 QAbstractFileEngine::open
+40 QAbstractFileEngine::close
+48 QAbstractFileEngine::flush
+56 QAbstractFileEngine::size
+64 QAbstractFileEngine::pos
+72 QAbstractFileEngine::seek
+80 QAbstractFileEngine::isSequential
+88 QAbstractFileEngine::remove
+96 QAbstractFileEngine::copy
+104 QAbstractFileEngine::rename
+112 QAbstractFileEngine::link
+120 QAbstractFileEngine::mkdir
+128 QAbstractFileEngine::rmdir
+136 QAbstractFileEngine::setSize
+144 QAbstractFileEngine::caseSensitive
+152 QAbstractFileEngine::isRelativePath
+160 QAbstractFileEngine::entryList
+168 QAbstractFileEngine::fileFlags
+176 QAbstractFileEngine::setPermissions
+184 QAbstractFileEngine::fileName
+192 QAbstractFileEngine::ownerId
+200 QAbstractFileEngine::owner
+208 QAbstractFileEngine::fileTime
+216 QAbstractFileEngine::setFileName
+224 QAbstractFileEngine::handle
+232 QAbstractFileEngine::beginEntryList
+240 QAbstractFileEngine::endEntryList
+248 QAbstractFileEngine::read
+256 QAbstractFileEngine::readLine
+264 QAbstractFileEngine::write
+272 QAbstractFileEngine::extension
+280 QAbstractFileEngine::supportsExtension
+
+Class QAbstractFileEngine
+ size=16 align=8
+ base size=16 base align=8
+QAbstractFileEngine (0x7f7ae70c5850) 0
+ vptr=((& QAbstractFileEngine::_ZTV19QAbstractFileEngine) + 16u)
+
+Vtable for QAbstractFileEngineHandler
+QAbstractFileEngineHandler::_ZTV26QAbstractFileEngineHandler: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI26QAbstractFileEngineHandler)
+16 QAbstractFileEngineHandler::~QAbstractFileEngineHandler
+24 QAbstractFileEngineHandler::~QAbstractFileEngineHandler
+32 __cxa_pure_virtual
+
+Class QAbstractFileEngineHandler
+ size=8 align=8
+ base size=8 base align=8
+QAbstractFileEngineHandler (0x7f7ae6f17bd0) 0 nearly-empty
+ vptr=((& QAbstractFileEngineHandler::_ZTV26QAbstractFileEngineHandler) + 16u)
+
+Vtable for QAbstractFileEngineIterator
+QAbstractFileEngineIterator::_ZTV27QAbstractFileEngineIterator: 9u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI27QAbstractFileEngineIterator)
+16 QAbstractFileEngineIterator::~QAbstractFileEngineIterator
+24 QAbstractFileEngineIterator::~QAbstractFileEngineIterator
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+48 __cxa_pure_virtual
+56 QAbstractFileEngineIterator::currentFileInfo
+64 QAbstractFileEngineIterator::entryInfo
+
+Class QAbstractFileEngineIterator
+ size=16 align=8
+ base size=16 base align=8
+QAbstractFileEngineIterator (0x7f7ae6f17d90) 0
+ vptr=((& QAbstractFileEngineIterator::_ZTV27QAbstractFileEngineIterator) + 16u)
+
+Vtable for QBuffer
+QBuffer::_ZTV7QBuffer: 30u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QBuffer)
+16 QBuffer::metaObject
+24 QBuffer::qt_metacast
+32 QBuffer::qt_metacall
+40 QBuffer::~QBuffer
+48 QBuffer::~QBuffer
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QBuffer::connectNotify
+104 QBuffer::disconnectNotify
+112 QIODevice::isSequential
+120 QBuffer::open
+128 QBuffer::close
+136 QBuffer::pos
+144 QBuffer::size
+152 QBuffer::seek
+160 QBuffer::atEnd
+168 QIODevice::reset
+176 QIODevice::bytesAvailable
+184 QIODevice::bytesToWrite
+192 QBuffer::canReadLine
+200 QIODevice::waitForReadyRead
+208 QIODevice::waitForBytesWritten
+216 QBuffer::readData
+224 QIODevice::readLineData
+232 QBuffer::writeData
+
+Class QBuffer
+ size=16 align=8
+ base size=16 base align=8
+QBuffer (0x7f7ae6f2a690) 0
+ vptr=((& QBuffer::_ZTV7QBuffer) + 16u)
+ QIODevice (0x7f7ae6f2a700) 0
+ primary-for QBuffer (0x7f7ae6f2a690)
+ QObject (0x7f7ae6f2a770) 0
+ primary-for QIODevice (0x7f7ae6f2a700)
+
+Class QHashData::Node
+ size=16 align=8
+ base size=16 base align=8
+QHashData::Node (0x7f7ae6f6ce00) 0
+
+Class QHashData
+ size=40 align=8
+ base size=40 base align=8
+QHashData (0x7f7ae6f6cd90) 0
+
+Class QHashDummyValue
+ size=1 align=1
+ base size=0 base align=1
+QHashDummyValue (0x7f7ae6f8e150) 0 empty
+
+Class QMapData::Node
+ size=16 align=8
+ base size=16 base align=8
+QMapData::Node (0x7f7ae6e8da80) 0
+
+Class QMapData
+ size=128 align=8
+ base size=128 base align=8
+QMapData (0x7f7ae6e8da10) 0
+
+Vtable for QSystemLocale
+QSystemLocale::_ZTV13QSystemLocale: 6u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QSystemLocale)
+16 QSystemLocale::~QSystemLocale
+24 QSystemLocale::~QSystemLocale
+32 QSystemLocale::query
+40 QSystemLocale::fallbackLocale
+
+Class QSystemLocale
+ size=8 align=8
+ base size=8 base align=8
+QSystemLocale (0x7f7ae6dcb690) 0 nearly-empty
+ vptr=((& QSystemLocale::_ZTV13QSystemLocale) + 16u)
+
+Class QLocale::Data
+ size=4 align=2
+ base size=4 base align=2
+QLocale::Data (0x7f7ae6c17d90) 0
+
+Class QLocale
+ size=8 align=8
+ base size=8 base align=8
+QLocale (0x7f7ae6dcbaf0) 0
+
+Class QTextCodec::ConverterState
+ size=32 align=8
+ base size=32 base align=8
+QTextCodec::ConverterState (0x7f7ae6c6fbd0) 0
+
+Vtable for QTextCodec
+QTextCodec::_ZTV10QTextCodec: 9u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QTextCodec)
+16 __cxa_pure_virtual
+24 QTextCodec::aliases
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+48 __cxa_pure_virtual
+56 QTextCodec::~QTextCodec
+64 QTextCodec::~QTextCodec
+
+Class QTextCodec
+ size=8 align=8
+ base size=8 base align=8
+QTextCodec (0x7f7ae6c61460) 0 nearly-empty
+ vptr=((& QTextCodec::_ZTV10QTextCodec) + 16u)
+
+Class QTextEncoder
+ size=40 align=8
+ base size=40 base align=8
+QTextEncoder (0x7f7ae6add150) 0
+
+Class QTextDecoder
+ size=40 align=8
+ base size=40 base align=8
+QTextDecoder (0x7f7ae6addf50) 0
+
+Vtable for QTextStream
+QTextStream::_ZTV11QTextStream: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QTextStream)
+16 QTextStream::~QTextStream
+24 QTextStream::~QTextStream
+
+Class QTextStream
+ size=16 align=8
+ base size=16 base align=8
+QTextStream (0x7f7ae6ae6d90) 0
+ vptr=((& QTextStream::_ZTV11QTextStream) + 16u)
+
+Class QTextStreamManipulator
+ size=40 align=8
+ base size=38 base align=8
+QTextStreamManipulator (0x7f7ae6b5fa80) 0
+
+Vtable for QTextIStream
+QTextIStream::_ZTV12QTextIStream: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QTextIStream)
+16 QTextIStream::~QTextIStream
+24 QTextIStream::~QTextIStream
+
+Class QTextIStream
+ size=16 align=8
+ base size=16 base align=8
+QTextIStream (0x7f7ae6b90070) 0
+ vptr=((& QTextIStream::_ZTV12QTextIStream) + 16u)
+ QTextStream (0x7f7ae6b900e0) 0
+ primary-for QTextIStream (0x7f7ae6b90070)
+
+Vtable for QTextOStream
+QTextOStream::_ZTV12QTextOStream: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QTextOStream)
+16 QTextOStream::~QTextOStream
+24 QTextOStream::~QTextOStream
+
+Class QTextOStream
+ size=16 align=8
+ base size=16 base align=8
+QTextOStream (0x7f7ae6b9cee0) 0
+ vptr=((& QTextOStream::_ZTV12QTextOStream) + 16u)
+ QTextStream (0x7f7ae6b9cf50) 0
+ primary-for QTextOStream (0x7f7ae6b9cee0)
+
+Class wait
+ size=4 align=4
+ base size=4 base align=4
+wait (0x7f7ae6bb0d90) 0
+
+Class timespec
+ size=16 align=8
+ base size=16 base align=8
+timespec (0x7f7ae6bbd0e0) 0
+
+Class timeval
+ size=16 align=8
+ base size=16 base align=8
+timeval (0x7f7ae6bbd150) 0
+
+Class __pthread_internal_list
+ size=16 align=8
+ base size=16 base align=8
+__pthread_internal_list (0x7f7ae6bbd2a0) 0
+
+Class random_data
+ size=48 align=8
+ base size=48 base align=8
+random_data (0x7f7ae6bbd850) 0
+
+Class drand48_data
+ size=24 align=8
+ base size=24 base align=8
+drand48_data (0x7f7ae6bbd8c0) 0
+
+Class QVectorData
+ size=16 align=4
+ base size=16 base align=4
+QVectorData (0x7f7ae6bbd930) 0
+
+Class QContiguousCacheData
+ size=24 align=4
+ base size=24 base align=4
+QContiguousCacheData (0x7f7ae697d620) 0
+
+Class QDebug::Stream
+ size=40 align=8
+ base size=34 base align=8
+QDebug::Stream (0x7f7ae67dd150) 0
+
+Class QDebug
+ size=8 align=8
+ base size=8 base align=8
+QDebug (0x7f7ae67dd0e0) 0
+
+Class QNoDebug
+ size=1 align=1
+ base size=0 base align=1
+QNoDebug (0x7f7ae688c0e0) 0 empty
+
+Vtable for QDirIterator
+QDirIterator::_ZTV12QDirIterator: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QDirIterator)
+16 QDirIterator::~QDirIterator
+24 QDirIterator::~QDirIterator
+
+Class QDirIterator
+ size=16 align=8
+ base size=16 base align=8
+QDirIterator (0x7f7ae689c700) 0
+ vptr=((& QDirIterator::_ZTV12QDirIterator) + 16u)
+
+Vtable for QFileSystemWatcher
+QFileSystemWatcher::_ZTV18QFileSystemWatcher: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QFileSystemWatcher)
+16 QFileSystemWatcher::metaObject
+24 QFileSystemWatcher::qt_metacast
+32 QFileSystemWatcher::qt_metacall
+40 QFileSystemWatcher::~QFileSystemWatcher
+48 QFileSystemWatcher::~QFileSystemWatcher
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QFileSystemWatcher
+ size=16 align=8
+ base size=16 base align=8
+QFileSystemWatcher (0x7f7ae66f7540) 0
+ vptr=((& QFileSystemWatcher::_ZTV18QFileSystemWatcher) + 16u)
+ QObject (0x7f7ae66f75b0) 0
+ primary-for QFileSystemWatcher (0x7f7ae66f7540)
+
+Vtable for QFSFileEngine
+QFSFileEngine::_ZTV13QFSFileEngine: 36u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QFSFileEngine)
+16 QFSFileEngine::~QFSFileEngine
+24 QFSFileEngine::~QFSFileEngine
+32 QFSFileEngine::open
+40 QFSFileEngine::close
+48 QFSFileEngine::flush
+56 QFSFileEngine::size
+64 QFSFileEngine::pos
+72 QFSFileEngine::seek
+80 QFSFileEngine::isSequential
+88 QFSFileEngine::remove
+96 QFSFileEngine::copy
+104 QFSFileEngine::rename
+112 QFSFileEngine::link
+120 QFSFileEngine::mkdir
+128 QFSFileEngine::rmdir
+136 QFSFileEngine::setSize
+144 QFSFileEngine::caseSensitive
+152 QFSFileEngine::isRelativePath
+160 QFSFileEngine::entryList
+168 QFSFileEngine::fileFlags
+176 QFSFileEngine::setPermissions
+184 QFSFileEngine::fileName
+192 QFSFileEngine::ownerId
+200 QFSFileEngine::owner
+208 QFSFileEngine::fileTime
+216 QFSFileEngine::setFileName
+224 QFSFileEngine::handle
+232 QFSFileEngine::beginEntryList
+240 QFSFileEngine::endEntryList
+248 QFSFileEngine::read
+256 QFSFileEngine::readLine
+264 QFSFileEngine::write
+272 QFSFileEngine::extension
+280 QFSFileEngine::supportsExtension
+
+Class QFSFileEngine
+ size=16 align=8
+ base size=16 base align=8
+QFSFileEngine (0x7f7ae6709a80) 0
+ vptr=((& QFSFileEngine::_ZTV13QFSFileEngine) + 16u)
+ QAbstractFileEngine (0x7f7ae6709af0) 0
+ primary-for QFSFileEngine (0x7f7ae6709a80)
+
+Class QSharedData
+ size=4 align=4
+ base size=4 base align=4
+QSharedData (0x7f7ae6719e70) 0
+
+Class QProcessEnvironment
+ size=8 align=8
+ base size=8 base align=8
+QProcessEnvironment (0x7f7ae67641c0) 0
+
+Vtable for QProcess
+QProcess::_ZTV8QProcess: 31u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI8QProcess)
+16 QProcess::metaObject
+24 QProcess::qt_metacast
+32 QProcess::qt_metacall
+40 QProcess::~QProcess
+48 QProcess::~QProcess
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QProcess::isSequential
+120 QIODevice::open
+128 QProcess::close
+136 QIODevice::pos
+144 QIODevice::size
+152 QIODevice::seek
+160 QProcess::atEnd
+168 QIODevice::reset
+176 QProcess::bytesAvailable
+184 QProcess::bytesToWrite
+192 QProcess::canReadLine
+200 QProcess::waitForReadyRead
+208 QProcess::waitForBytesWritten
+216 QProcess::readData
+224 QIODevice::readLineData
+232 QProcess::writeData
+240 QProcess::setupChildProcess
+
+Class QProcess
+ size=16 align=8
+ base size=16 base align=8
+QProcess (0x7f7ae6764cb0) 0
+ vptr=((& QProcess::_ZTV8QProcess) + 16u)
+ QIODevice (0x7f7ae6764d20) 0
+ primary-for QProcess (0x7f7ae6764cb0)
+ QObject (0x7f7ae6764d90) 0
+ primary-for QIODevice (0x7f7ae6764d20)
+
+Class QResource
+ size=8 align=8
+ base size=8 base align=8
+QResource (0x7f7ae67a81c0) 0
+
+Class QMetaType
+ size=1 align=1
+ base size=0 base align=1
+QMetaType (0x7f7ae67a8e70) 0 empty
+
+Class QVariant::PrivateShared
+ size=16 align=8
+ base size=12 base align=8
+QVariant::PrivateShared (0x7f7ae66a7700) 0
+
+Class QVariant::Private::Data
+ size=8 align=8
+ base size=8 base align=8
+QVariant::Private::Data (0x7f7ae66a7a10) 0
+
+Class QVariant::Private
+ size=16 align=8
+ base size=12 base align=8
+QVariant::Private (0x7f7ae66a77e0) 0
+
+Class QVariant::Handler
+ size=72 align=8
+ base size=72 base align=8
+QVariant::Handler (0x7f7ae64b7700) 0
+
+Class QVariant
+ size=16 align=8
+ base size=16 base align=8
+QVariant (0x7f7ae66777e0) 0
+
+Class QVariantComparisonHelper
+ size=8 align=8
+ base size=8 base align=8
+QVariantComparisonHelper (0x7f7ae656e9a0) 0
+
+Vtable for QSettings
+QSettings::_ZTV9QSettings: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QSettings)
+16 QSettings::metaObject
+24 QSettings::qt_metacast
+32 QSettings::qt_metacall
+40 QSettings::~QSettings
+48 QSettings::~QSettings
+56 QSettings::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QSettings
+ size=16 align=8
+ base size=16 base align=8
+QSettings (0x7f7ae6594ee0) 0
+ vptr=((& QSettings::_ZTV9QSettings) + 16u)
+ QObject (0x7f7ae6594f50) 0
+ primary-for QSettings (0x7f7ae6594ee0)
+
+Vtable for QTemporaryFile
+QTemporaryFile::_ZTV14QTemporaryFile: 31u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QTemporaryFile)
+16 QTemporaryFile::metaObject
+24 QTemporaryFile::qt_metacast
+32 QTemporaryFile::qt_metacall
+40 QTemporaryFile::~QTemporaryFile
+48 QTemporaryFile::~QTemporaryFile
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QFile::isSequential
+120 QTemporaryFile::open
+128 QFile::close
+136 QFile::pos
+144 QFile::size
+152 QFile::seek
+160 QFile::atEnd
+168 QIODevice::reset
+176 QIODevice::bytesAvailable
+184 QIODevice::bytesToWrite
+192 QIODevice::canReadLine
+200 QIODevice::waitForReadyRead
+208 QIODevice::waitForBytesWritten
+216 QFile::readData
+224 QFile::readLineData
+232 QFile::writeData
+240 QTemporaryFile::fileEngine
+
+Class QTemporaryFile
+ size=16 align=8
+ base size=16 base align=8
+QTemporaryFile (0x7f7ae64122a0) 0
+ vptr=((& QTemporaryFile::_ZTV14QTemporaryFile) + 16u)
+ QFile (0x7f7ae6412310) 0
+ primary-for QTemporaryFile (0x7f7ae64122a0)
+ QIODevice (0x7f7ae6412380) 0
+ primary-for QFile (0x7f7ae6412310)
+ QObject (0x7f7ae64123f0) 0
+ primary-for QIODevice (0x7f7ae6412380)
+
+Class QUrl
+ size=8 align=8
+ base size=8 base align=8
+QUrl (0x7f7ae642b9a0) 0
+
+Class QXmlStreamStringRef
+ size=16 align=8
+ base size=16 base align=8
+QXmlStreamStringRef (0x7f7ae62b5070) 0
+
+Class QXmlStreamAttribute
+ size=80 align=8
+ base size=73 base align=8
+QXmlStreamAttribute (0x7f7ae62d4850) 0
+
+Class QXmlStreamAttributes
+ size=8 align=8
+ base size=8 base align=8
+QXmlStreamAttributes (0x7f7ae62fd310) 0
+ QVector<QXmlStreamAttribute> (0x7f7ae62fd380) 0
+
+Class QXmlStreamNamespaceDeclaration
+ size=40 align=8
+ base size=40 base align=8
+QXmlStreamNamespaceDeclaration (0x7f7ae62fd7e0) 0
+
+Class QXmlStreamNotationDeclaration
+ size=56 align=8
+ base size=56 base align=8
+QXmlStreamNotationDeclaration (0x7f7ae633e1c0) 0
+
+Class QXmlStreamEntityDeclaration
+ size=88 align=8
+ base size=88 base align=8
+QXmlStreamEntityDeclaration (0x7f7ae635d070) 0
+
+Vtable for QXmlStreamEntityResolver
+QXmlStreamEntityResolver::_ZTV24QXmlStreamEntityResolver: 6u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI24QXmlStreamEntityResolver)
+16 QXmlStreamEntityResolver::~QXmlStreamEntityResolver
+24 QXmlStreamEntityResolver::~QXmlStreamEntityResolver
+32 QXmlStreamEntityResolver::resolveEntity
+40 QXmlStreamEntityResolver::resolveUndeclaredEntity
+
+Class QXmlStreamEntityResolver
+ size=8 align=8
+ base size=8 base align=8
+QXmlStreamEntityResolver (0x7f7ae63799a0) 0 nearly-empty
+ vptr=((& QXmlStreamEntityResolver::_ZTV24QXmlStreamEntityResolver) + 16u)
+
+Class QXmlStreamReader
+ size=8 align=8
+ base size=8 base align=8
+QXmlStreamReader (0x7f7ae6379b60) 0
+
+Class QXmlStreamWriter
+ size=8 align=8
+ base size=8 base align=8
+QXmlStreamWriter (0x7f7ae61c1c40) 0
+
+Vtable for QAbstractState
+QAbstractState::_ZTV14QAbstractState: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QAbstractState)
+16 QAbstractState::metaObject
+24 QAbstractState::qt_metacast
+32 QAbstractState::qt_metacall
+40 QAbstractState::~QAbstractState
+48 QAbstractState::~QAbstractState
+56 QAbstractState::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+
+Class QAbstractState
+ size=16 align=8
+ base size=16 base align=8
+QAbstractState (0x7f7ae61d6a80) 0
+ vptr=((& QAbstractState::_ZTV14QAbstractState) + 16u)
+ QObject (0x7f7ae61d6af0) 0
+ primary-for QAbstractState (0x7f7ae61d6a80)
+
+Vtable for QAbstractTransition
+QAbstractTransition::_ZTV19QAbstractTransition: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QAbstractTransition)
+16 QAbstractTransition::metaObject
+24 QAbstractTransition::qt_metacast
+32 QAbstractTransition::qt_metacall
+40 QAbstractTransition::~QAbstractTransition
+48 QAbstractTransition::~QAbstractTransition
+56 QAbstractTransition::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+
+Class QAbstractTransition
+ size=16 align=8
+ base size=16 base align=8
+QAbstractTransition (0x7f7ae61fc2a0) 0
+ vptr=((& QAbstractTransition::_ZTV19QAbstractTransition) + 16u)
+ QObject (0x7f7ae61fc310) 0
+ primary-for QAbstractTransition (0x7f7ae61fc2a0)
+
+Vtable for QEvent
+QEvent::_ZTV6QEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI6QEvent)
+16 QEvent::~QEvent
+24 QEvent::~QEvent
+
+Class QEvent
+ size=24 align=8
+ base size=20 base align=8
+QEvent (0x7f7ae6211af0) 0
+ vptr=((& QEvent::_ZTV6QEvent) + 16u)
+
+Vtable for QTimerEvent
+QTimerEvent::_ZTV11QTimerEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QTimerEvent)
+16 QTimerEvent::~QTimerEvent
+24 QTimerEvent::~QTimerEvent
+
+Class QTimerEvent
+ size=24 align=8
+ base size=24 base align=8
+QTimerEvent (0x7f7ae6233700) 0
+ vptr=((& QTimerEvent::_ZTV11QTimerEvent) + 16u)
+ QEvent (0x7f7ae6233770) 0
+ primary-for QTimerEvent (0x7f7ae6233700)
+
+Vtable for QChildEvent
+QChildEvent::_ZTV11QChildEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QChildEvent)
+16 QChildEvent::~QChildEvent
+24 QChildEvent::~QChildEvent
+
+Class QChildEvent
+ size=32 align=8
+ base size=32 base align=8
+QChildEvent (0x7f7ae6233b60) 0
+ vptr=((& QChildEvent::_ZTV11QChildEvent) + 16u)
+ QEvent (0x7f7ae6233bd0) 0
+ primary-for QChildEvent (0x7f7ae6233b60)
+
+Vtable for QCustomEvent
+QCustomEvent::_ZTV12QCustomEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QCustomEvent)
+16 QCustomEvent::~QCustomEvent
+24 QCustomEvent::~QCustomEvent
+
+Class QCustomEvent
+ size=24 align=8
+ base size=20 base align=8
+QCustomEvent (0x7f7ae623de00) 0
+ vptr=((& QCustomEvent::_ZTV12QCustomEvent) + 16u)
+ QEvent (0x7f7ae623de70) 0
+ primary-for QCustomEvent (0x7f7ae623de00)
+
+Vtable for QDynamicPropertyChangeEvent
+QDynamicPropertyChangeEvent::_ZTV27QDynamicPropertyChangeEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI27QDynamicPropertyChangeEvent)
+16 QDynamicPropertyChangeEvent::~QDynamicPropertyChangeEvent
+24 QDynamicPropertyChangeEvent::~QDynamicPropertyChangeEvent
+
+Class QDynamicPropertyChangeEvent
+ size=32 align=8
+ base size=32 base align=8
+QDynamicPropertyChangeEvent (0x7f7ae624f620) 0
+ vptr=((& QDynamicPropertyChangeEvent::_ZTV27QDynamicPropertyChangeEvent) + 16u)
+ QEvent (0x7f7ae624f690) 0
+ primary-for QDynamicPropertyChangeEvent (0x7f7ae624f620)
+
+Vtable for QEventTransition
+QEventTransition::_ZTV16QEventTransition: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QEventTransition)
+16 QEventTransition::metaObject
+24 QEventTransition::qt_metacast
+32 QEventTransition::qt_metacall
+40 QEventTransition::~QEventTransition
+48 QEventTransition::~QEventTransition
+56 QEventTransition::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QEventTransition::eventTest
+120 QEventTransition::onTransition
+
+Class QEventTransition
+ size=16 align=8
+ base size=16 base align=8
+QEventTransition (0x7f7ae624faf0) 0
+ vptr=((& QEventTransition::_ZTV16QEventTransition) + 16u)
+ QAbstractTransition (0x7f7ae624fb60) 0
+ primary-for QEventTransition (0x7f7ae624faf0)
+ QObject (0x7f7ae624fbd0) 0
+ primary-for QAbstractTransition (0x7f7ae624fb60)
+
+Vtable for QFinalState
+QFinalState::_ZTV11QFinalState: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QFinalState)
+16 QFinalState::metaObject
+24 QFinalState::qt_metacast
+32 QFinalState::qt_metacall
+40 QFinalState::~QFinalState
+48 QFinalState::~QFinalState
+56 QFinalState::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QFinalState::onEntry
+120 QFinalState::onExit
+
+Class QFinalState
+ size=16 align=8
+ base size=16 base align=8
+QFinalState (0x7f7ae62699a0) 0
+ vptr=((& QFinalState::_ZTV11QFinalState) + 16u)
+ QAbstractState (0x7f7ae6269a10) 0
+ primary-for QFinalState (0x7f7ae62699a0)
+ QObject (0x7f7ae6269a80) 0
+ primary-for QAbstractState (0x7f7ae6269a10)
+
+Vtable for QHistoryState
+QHistoryState::_ZTV13QHistoryState: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QHistoryState)
+16 QHistoryState::metaObject
+24 QHistoryState::qt_metacast
+32 QHistoryState::qt_metacall
+40 QHistoryState::~QHistoryState
+48 QHistoryState::~QHistoryState
+56 QHistoryState::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QHistoryState::onEntry
+120 QHistoryState::onExit
+
+Class QHistoryState
+ size=16 align=8
+ base size=16 base align=8
+QHistoryState (0x7f7ae6282230) 0
+ vptr=((& QHistoryState::_ZTV13QHistoryState) + 16u)
+ QAbstractState (0x7f7ae62822a0) 0
+ primary-for QHistoryState (0x7f7ae6282230)
+ QObject (0x7f7ae6282310) 0
+ primary-for QAbstractState (0x7f7ae62822a0)
+
+Vtable for QSignalTransition
+QSignalTransition::_ZTV17QSignalTransition: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QSignalTransition)
+16 QSignalTransition::metaObject
+24 QSignalTransition::qt_metacast
+32 QSignalTransition::qt_metacall
+40 QSignalTransition::~QSignalTransition
+48 QSignalTransition::~QSignalTransition
+56 QSignalTransition::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QSignalTransition::eventTest
+120 QSignalTransition::onTransition
+
+Class QSignalTransition
+ size=16 align=8
+ base size=16 base align=8
+QSignalTransition (0x7f7ae6293f50) 0
+ vptr=((& QSignalTransition::_ZTV17QSignalTransition) + 16u)
+ QAbstractTransition (0x7f7ae629c000) 0
+ primary-for QSignalTransition (0x7f7ae6293f50)
+ QObject (0x7f7ae629c070) 0
+ primary-for QAbstractTransition (0x7f7ae629c000)
+
+Vtable for QState
+QState::_ZTV6QState: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI6QState)
+16 QState::metaObject
+24 QState::qt_metacast
+32 QState::qt_metacall
+40 QState::~QState
+48 QState::~QState
+56 QState::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QState::onEntry
+120 QState::onExit
+
+Class QState
+ size=16 align=8
+ base size=16 base align=8
+QState (0x7f7ae60aeaf0) 0
+ vptr=((& QState::_ZTV6QState) + 16u)
+ QAbstractState (0x7f7ae60aeb60) 0
+ primary-for QState (0x7f7ae60aeaf0)
+ QObject (0x7f7ae60aebd0) 0
+ primary-for QAbstractState (0x7f7ae60aeb60)
+
+Vtable for QStateMachine::SignalEvent
+QStateMachine::SignalEvent::_ZTVN13QStateMachine11SignalEventE: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN13QStateMachine11SignalEventE)
+16 QStateMachine::SignalEvent::~SignalEvent
+24 QStateMachine::SignalEvent::~SignalEvent
+
+Class QStateMachine::SignalEvent
+ size=48 align=8
+ base size=48 base align=8
+QStateMachine::SignalEvent (0x7f7ae60d4150) 0
+ vptr=((& QStateMachine::SignalEvent::_ZTVN13QStateMachine11SignalEventE) + 16u)
+ QEvent (0x7f7ae60d41c0) 0
+ primary-for QStateMachine::SignalEvent (0x7f7ae60d4150)
+
+Vtable for QStateMachine::WrappedEvent
+QStateMachine::WrappedEvent::_ZTVN13QStateMachine12WrappedEventE: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN13QStateMachine12WrappedEventE)
+16 QStateMachine::WrappedEvent::~WrappedEvent
+24 QStateMachine::WrappedEvent::~WrappedEvent
+
+Class QStateMachine::WrappedEvent
+ size=40 align=8
+ base size=40 base align=8
+QStateMachine::WrappedEvent (0x7f7ae60d4700) 0
+ vptr=((& QStateMachine::WrappedEvent::_ZTVN13QStateMachine12WrappedEventE) + 16u)
+ QEvent (0x7f7ae60d4770) 0
+ primary-for QStateMachine::WrappedEvent (0x7f7ae60d4700)
+
+Vtable for QStateMachine
+QStateMachine::_ZTV13QStateMachine: 20u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QStateMachine)
+16 QStateMachine::metaObject
+24 QStateMachine::qt_metacast
+32 QStateMachine::qt_metacall
+40 QStateMachine::~QStateMachine
+48 QStateMachine::~QStateMachine
+56 QStateMachine::event
+64 QStateMachine::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QStateMachine::onEntry
+120 QStateMachine::onExit
+128 QStateMachine::beginSelectTransitions
+136 QStateMachine::endSelectTransitions
+144 QStateMachine::beginMicrostep
+152 QStateMachine::endMicrostep
+
+Class QStateMachine
+ size=16 align=8
+ base size=16 base align=8
+QStateMachine (0x7f7ae60cbee0) 0
+ vptr=((& QStateMachine::_ZTV13QStateMachine) + 16u)
+ QState (0x7f7ae60cbf50) 0
+ primary-for QStateMachine (0x7f7ae60cbee0)
+ QAbstractState (0x7f7ae60d4000) 0
+ primary-for QState (0x7f7ae60cbf50)
+ QObject (0x7f7ae60d4070) 0
+ primary-for QAbstractState (0x7f7ae60d4000)
+
+Class QBitArray
+ size=8 align=8
+ base size=8 base align=8
+QBitArray (0x7f7ae6103150) 0
+
+Class QBitRef
+ size=16 align=8
+ base size=12 base align=8
+QBitRef (0x7f7ae615ae00) 0
+
+Class QByteArrayMatcher::Data
+ size=272 align=8
+ base size=272 base align=8
+QByteArrayMatcher::Data (0x7f7ae616daf0) 0
+
+Class QByteArrayMatcher
+ size=1040 align=8
+ base size=1040 base align=8
+QByteArrayMatcher (0x7f7ae616d4d0) 0
+
+Class QCryptographicHash
+ size=8 align=8
+ base size=8 base align=8
+QCryptographicHash (0x7f7ae61a3150) 0
+
+Vtable for QtSharedPointer::ExternalRefCountData
+QtSharedPointer::ExternalRefCountData::_ZTVN15QtSharedPointer20ExternalRefCountDataE: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN15QtSharedPointer20ExternalRefCountDataE)
+16 QtSharedPointer::ExternalRefCountData::~ExternalRefCountData
+24 QtSharedPointer::ExternalRefCountData::~ExternalRefCountData
+32 QtSharedPointer::ExternalRefCountData::destroy
+
+Class QtSharedPointer::ExternalRefCountData
+ size=16 align=8
+ base size=16 base align=8
+QtSharedPointer::ExternalRefCountData (0x7f7ae5fcf070) 0
+ vptr=((& QtSharedPointer::ExternalRefCountData::_ZTVN15QtSharedPointer20ExternalRefCountDataE) + 16u)
+
+Vtable for QtSharedPointer::ExternalRefCountWithDestroyFn
+QtSharedPointer::ExternalRefCountWithDestroyFn::_ZTVN15QtSharedPointer29ExternalRefCountWithDestroyFnE: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN15QtSharedPointer29ExternalRefCountWithDestroyFnE)
+16 QtSharedPointer::ExternalRefCountWithDestroyFn::~ExternalRefCountWithDestroyFn
+24 QtSharedPointer::ExternalRefCountWithDestroyFn::~ExternalRefCountWithDestroyFn
+32 QtSharedPointer::ExternalRefCountWithDestroyFn::destroy
+
+Class QtSharedPointer::ExternalRefCountWithDestroyFn
+ size=24 align=8
+ base size=24 base align=8
+QtSharedPointer::ExternalRefCountWithDestroyFn (0x7f7ae5fe7930) 0
+ vptr=((& QtSharedPointer::ExternalRefCountWithDestroyFn::_ZTVN15QtSharedPointer29ExternalRefCountWithDestroyFnE) + 16u)
+ QtSharedPointer::ExternalRefCountData (0x7f7ae5fe79a0) 0
+ primary-for QtSharedPointer::ExternalRefCountWithDestroyFn (0x7f7ae5fe7930)
+
+Class QDate
+ size=4 align=4
+ base size=4 base align=4
+QDate (0x7f7ae606c5b0) 0
+
+Class QTime
+ size=4 align=4
+ base size=4 base align=4
+QTime (0x7f7ae609e540) 0
+
+Class QDateTime
+ size=8 align=8
+ base size=8 base align=8
+QDateTime (0x7f7ae5eb9af0) 0
+
+Class QEasingCurve
+ size=8 align=8
+ base size=8 base align=8
+QEasingCurve (0x7f7ae5f00000) 0
+
+Class QPoint
+ size=8 align=4
+ base size=8 base align=4
+QPoint (0x7f7ae5f00ee0) 0
+
+Class QPointF
+ size=16 align=8
+ base size=16 base align=8
+QPointF (0x7f7ae5f43af0) 0
+
+Class QLine
+ size=16 align=4
+ base size=16 base align=4
+QLine (0x7f7ae5f82af0) 0
+
+Class QLineF
+ size=32 align=8
+ base size=32 base align=8
+QLineF (0x7f7ae5db39a0) 0
+
+Class QLinkedListData
+ size=32 align=8
+ base size=32 base align=8
+QLinkedListData (0x7f7ae5e10460) 0
+
+Class QMargins
+ size=16 align=4
+ base size=16 base align=4
+QMargins (0x7f7ae5ccf380) 0
+
+Class QSize
+ size=8 align=4
+ base size=8 base align=4
+QSize (0x7f7ae5cfe150) 0
+
+Class QSizeF
+ size=16 align=8
+ base size=16 base align=8
+QSizeF (0x7f7ae5d3ee00) 0
+
+Class QRect
+ size=16 align=4
+ base size=16 base align=4
+QRect (0x7f7ae5d92380) 0
+
+Class QRectF
+ size=32 align=8
+ base size=32 base align=8
+QRectF (0x7f7ae5c3ed20) 0
+
+Class QLatin1Literal
+ size=16 align=8
+ base size=16 base align=8
+QLatin1Literal (0x7f7ae5aeeee0) 0
+
+Class QAbstractConcatenable
+ size=1 align=1
+ base size=0 base align=1
+QAbstractConcatenable (0x7f7ae5aff3f0) 0 empty
+
+Class QTextBoundaryFinder
+ size=48 align=8
+ base size=48 base align=8
+QTextBoundaryFinder (0x7f7ae5b36380) 0
+
+Vtable for QTimeLine
+QTimeLine::_ZTV9QTimeLine: 15u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QTimeLine)
+16 QTimeLine::metaObject
+24 QTimeLine::qt_metacast
+32 QTimeLine::qt_metacall
+40 QTimeLine::~QTimeLine
+48 QTimeLine::~QTimeLine
+56 QObject::event
+64 QObject::eventFilter
+72 QTimeLine::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QTimeLine::valueForTime
+
+Class QTimeLine
+ size=16 align=8
+ base size=16 base align=8
+QTimeLine (0x7f7ae5b47700) 0
+ vptr=((& QTimeLine::_ZTV9QTimeLine) + 16u)
+ QObject (0x7f7ae5b47770) 0
+ primary-for QTimeLine (0x7f7ae5b47700)
+
+Vtable for QRunnable
+QRunnable::_ZTV9QRunnable: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QRunnable)
+16 __cxa_pure_virtual
+24 QRunnable::~QRunnable
+32 QRunnable::~QRunnable
+
+Class QRunnable
+ size=16 align=8
+ base size=12 base align=8
+QRunnable (0x7f7ae5b6ef50) 0
+ vptr=((& QRunnable::_ZTV9QRunnable) + 16u)
+
+Class QMutex
+ size=8 align=8
+ base size=8 base align=8
+QMutex (0x7f7ae59a5620) 0
+
+Class QMutexLocker
+ size=8 align=8
+ base size=8 base align=8
+QMutexLocker (0x7f7ae59b31c0) 0
+
+Vtable for QtConcurrent::Exception
+QtConcurrent::Exception::_ZTVN12QtConcurrent9ExceptionE: 7u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN12QtConcurrent9ExceptionE)
+16 QtConcurrent::Exception::~Exception
+24 QtConcurrent::Exception::~Exception
+32 std::exception::what
+40 QtConcurrent::Exception::raise
+48 QtConcurrent::Exception::clone
+
+Class QtConcurrent::Exception
+ size=8 align=8
+ base size=8 base align=8
+QtConcurrent::Exception (0x7f7ae59ca4d0) 0 nearly-empty
+ vptr=((& QtConcurrent::Exception::_ZTVN12QtConcurrent9ExceptionE) + 16u)
+ std::exception (0x7f7ae59ca540) 0 nearly-empty
+ primary-for QtConcurrent::Exception (0x7f7ae59ca4d0)
+
+Vtable for QtConcurrent::UnhandledException
+QtConcurrent::UnhandledException::_ZTVN12QtConcurrent18UnhandledExceptionE: 7u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN12QtConcurrent18UnhandledExceptionE)
+16 QtConcurrent::UnhandledException::~UnhandledException
+24 QtConcurrent::UnhandledException::~UnhandledException
+32 std::exception::what
+40 QtConcurrent::UnhandledException::raise
+48 QtConcurrent::UnhandledException::clone
+
+Class QtConcurrent::UnhandledException
+ size=8 align=8
+ base size=8 base align=8
+QtConcurrent::UnhandledException (0x7f7ae59ca770) 0 nearly-empty
+ vptr=((& QtConcurrent::UnhandledException::_ZTVN12QtConcurrent18UnhandledExceptionE) + 16u)
+ QtConcurrent::Exception (0x7f7ae59ca7e0) 0 nearly-empty
+ primary-for QtConcurrent::UnhandledException (0x7f7ae59ca770)
+ std::exception (0x7f7ae59ca850) 0 nearly-empty
+ primary-for QtConcurrent::Exception (0x7f7ae59ca7e0)
+
+Class QtConcurrent::internal::ExceptionHolder
+ size=8 align=8
+ base size=8 base align=8
+QtConcurrent::internal::ExceptionHolder (0x7f7ae59caa80) 0
+
+Class QtConcurrent::internal::ExceptionStore
+ size=8 align=8
+ base size=8 base align=8
+QtConcurrent::internal::ExceptionStore (0x7f7ae59cae00) 0
+
+Class QtConcurrent::ResultItem
+ size=16 align=8
+ base size=16 base align=8
+QtConcurrent::ResultItem (0x7f7ae59cae70) 0
+
+Class QtConcurrent::ResultIteratorBase
+ size=16 align=8
+ base size=12 base align=8
+QtConcurrent::ResultIteratorBase (0x7f7ae59e3d90) 0
+
+Vtable for QtConcurrent::ResultStoreBase
+QtConcurrent::ResultStoreBase::_ZTVN12QtConcurrent15ResultStoreBaseE: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN12QtConcurrent15ResultStoreBaseE)
+16 QtConcurrent::ResultStoreBase::~ResultStoreBase
+24 QtConcurrent::ResultStoreBase::~ResultStoreBase
+
+Class QtConcurrent::ResultStoreBase
+ size=48 align=8
+ base size=44 base align=8
+QtConcurrent::ResultStoreBase (0x7f7ae59e7930) 0
+ vptr=((& QtConcurrent::ResultStoreBase::_ZTVN12QtConcurrent15ResultStoreBaseE) + 16u)
+
+Vtable for QFutureInterfaceBase
+QFutureInterfaceBase::_ZTV20QFutureInterfaceBase: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI20QFutureInterfaceBase)
+16 QFutureInterfaceBase::~QFutureInterfaceBase
+24 QFutureInterfaceBase::~QFutureInterfaceBase
+
+Class QFutureInterfaceBase
+ size=16 align=8
+ base size=16 base align=8
+QFutureInterfaceBase (0x7f7ae5a24d90) 0
+ vptr=((& QFutureInterfaceBase::_ZTV20QFutureInterfaceBase) + 16u)
+
+Vtable for QFutureWatcherBase
+QFutureWatcherBase::_ZTV18QFutureWatcherBase: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QFutureWatcherBase)
+16 QFutureWatcherBase::metaObject
+24 QFutureWatcherBase::qt_metacast
+32 QFutureWatcherBase::qt_metacall
+40 QFutureWatcherBase::~QFutureWatcherBase
+48 QFutureWatcherBase::~QFutureWatcherBase
+56 QFutureWatcherBase::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QFutureWatcherBase::connectNotify
+104 QFutureWatcherBase::disconnectNotify
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+
+Class QFutureWatcherBase
+ size=16 align=8
+ base size=16 base align=8
+QFutureWatcherBase (0x7f7ae590b690) 0
+ vptr=((& QFutureWatcherBase::_ZTV18QFutureWatcherBase) + 16u)
+ QObject (0x7f7ae590b700) 0
+ primary-for QFutureWatcherBase (0x7f7ae590b690)
+
+Vtable for QThread
+QThread::_ZTV7QThread: 15u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QThread)
+16 QThread::metaObject
+24 QThread::qt_metacast
+32 QThread::qt_metacall
+40 QThread::~QThread
+48 QThread::~QThread
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QThread::run
+
+Class QThread
+ size=16 align=8
+ base size=16 base align=8
+QThread (0x7f7ae595ea80) 0
+ vptr=((& QThread::_ZTV7QThread) + 16u)
+ QObject (0x7f7ae595eaf0) 0
+ primary-for QThread (0x7f7ae595ea80)
+
+Vtable for QThreadPool
+QThreadPool::_ZTV11QThreadPool: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QThreadPool)
+16 QThreadPool::metaObject
+24 QThreadPool::qt_metacast
+32 QThreadPool::qt_metacall
+40 QThreadPool::~QThreadPool
+48 QThreadPool::~QThreadPool
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QThreadPool
+ size=16 align=8
+ base size=16 base align=8
+QThreadPool (0x7f7ae5983930) 0
+ vptr=((& QThreadPool::_ZTV11QThreadPool) + 16u)
+ QObject (0x7f7ae59839a0) 0
+ primary-for QThreadPool (0x7f7ae5983930)
+
+Class QWaitCondition
+ size=8 align=8
+ base size=8 base align=8
+QWaitCondition (0x7f7ae5995ee0) 0
+
+Class QSemaphore
+ size=8 align=8
+ base size=8 base align=8
+QSemaphore (0x7f7ae599e460) 0
+
+Class QtConcurrent::ThreadEngineBarrier
+ size=24 align=8
+ base size=24 base align=8
+QtConcurrent::ThreadEngineBarrier (0x7f7ae599e9a0) 0
+
+Vtable for QtConcurrent::ThreadEngineBase
+QtConcurrent::ThreadEngineBase::_ZTVN12QtConcurrent16ThreadEngineBaseE: 11u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN12QtConcurrent16ThreadEngineBaseE)
+16 QtConcurrent::ThreadEngineBase::run
+24 QtConcurrent::ThreadEngineBase::~ThreadEngineBase
+32 QtConcurrent::ThreadEngineBase::~ThreadEngineBase
+40 QtConcurrent::ThreadEngineBase::start
+48 QtConcurrent::ThreadEngineBase::finish
+56 QtConcurrent::ThreadEngineBase::threadFunction
+64 QtConcurrent::ThreadEngineBase::shouldStartThread
+72 QtConcurrent::ThreadEngineBase::shouldThrottleThread
+80 __cxa_pure_virtual
+
+Class QtConcurrent::ThreadEngineBase
+ size=64 align=8
+ base size=64 base align=8
+QtConcurrent::ThreadEngineBase (0x7f7ae599ea80) 0
+ vptr=((& QtConcurrent::ThreadEngineBase::_ZTVN12QtConcurrent16ThreadEngineBaseE) + 16u)
+ QRunnable (0x7f7ae599eaf0) 0
+ primary-for QtConcurrent::ThreadEngineBase (0x7f7ae599ea80)
+
+VTT for QtConcurrent::ThreadEngine<void>
+QtConcurrent::ThreadEngine<void>::_ZTTN12QtConcurrent12ThreadEngineIvEE: 2u entries
+0 ((& QtConcurrent::ThreadEngine<void>::_ZTVN12QtConcurrent12ThreadEngineIvEE) + 24u)
+8 ((& QtConcurrent::ThreadEngine<void>::_ZTVN12QtConcurrent12ThreadEngineIvEE) + 136u)
+
+Class QtConcurrent::BlockSizeManager
+ size=96 align=8
+ base size=92 base align=8
+QtConcurrent::BlockSizeManager (0x7f7ae57eaee0) 0
+
+Vtable for QFactoryInterface
+QFactoryInterface::_ZTV17QFactoryInterface: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QFactoryInterface)
+16 QFactoryInterface::~QFactoryInterface
+24 QFactoryInterface::~QFactoryInterface
+32 __cxa_pure_virtual
+
+Class QFactoryInterface
+ size=8 align=8
+ base size=8 base align=8
+QFactoryInterface (0x7f7ae548dd20) 0 nearly-empty
+ vptr=((& QFactoryInterface::_ZTV17QFactoryInterface) + 16u)
+
+Vtable for QTextCodecFactoryInterface
+QTextCodecFactoryInterface::_ZTV26QTextCodecFactoryInterface: 6u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI26QTextCodecFactoryInterface)
+16 QTextCodecFactoryInterface::~QTextCodecFactoryInterface
+24 QTextCodecFactoryInterface::~QTextCodecFactoryInterface
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+
+Class QTextCodecFactoryInterface
+ size=8 align=8
+ base size=8 base align=8
+QTextCodecFactoryInterface (0x7f7ae52c1000) 0 nearly-empty
+ vptr=((& QTextCodecFactoryInterface::_ZTV26QTextCodecFactoryInterface) + 16u)
+ QFactoryInterface (0x7f7ae52c1070) 0 nearly-empty
+ primary-for QTextCodecFactoryInterface (0x7f7ae52c1000)
+
+Vtable for QTextCodecPlugin
+QTextCodecPlugin::_ZTV16QTextCodecPlugin: 27u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QTextCodecPlugin)
+16 QTextCodecPlugin::metaObject
+24 QTextCodecPlugin::qt_metacast
+32 QTextCodecPlugin::qt_metacall
+40 QTextCodecPlugin::~QTextCodecPlugin
+48 QTextCodecPlugin::~QTextCodecPlugin
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 __cxa_pure_virtual
+136 __cxa_pure_virtual
+144 __cxa_pure_virtual
+152 QTextCodecPlugin::keys
+160 QTextCodecPlugin::create
+168 (int (*)(...))-0x00000000000000010
+176 (int (*)(...))(& _ZTI16QTextCodecPlugin)
+184 QTextCodecPlugin::_ZThn16_N16QTextCodecPluginD1Ev
+192 QTextCodecPlugin::_ZThn16_N16QTextCodecPluginD0Ev
+200 QTextCodecPlugin::_ZThn16_NK16QTextCodecPlugin4keysEv
+208 QTextCodecPlugin::_ZThn16_N16QTextCodecPlugin6createERK7QString
+
+Class QTextCodecPlugin
+ size=24 align=8
+ base size=24 base align=8
+QTextCodecPlugin (0x7f7ae52c9580) 0
+ vptr=((& QTextCodecPlugin::_ZTV16QTextCodecPlugin) + 16u)
+ QObject (0x7f7ae52c1a80) 0
+ primary-for QTextCodecPlugin (0x7f7ae52c9580)
+ QTextCodecFactoryInterface (0x7f7ae52c1af0) 16 nearly-empty
+ vptr=((& QTextCodecPlugin::_ZTV16QTextCodecPlugin) + 184u)
+ QFactoryInterface (0x7f7ae52c1b60) 16 nearly-empty
+ primary-for QTextCodecFactoryInterface (0x7f7ae52c1af0)
+
+Class QLibraryInfo
+ size=1 align=1
+ base size=0 base align=1
+QLibraryInfo (0x7f7ae5315150) 0 empty
+
+Vtable for QEventLoop
+QEventLoop::_ZTV10QEventLoop: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QEventLoop)
+16 QEventLoop::metaObject
+24 QEventLoop::qt_metacast
+32 QEventLoop::qt_metacall
+40 QEventLoop::~QEventLoop
+48 QEventLoop::~QEventLoop
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QEventLoop
+ size=16 align=8
+ base size=16 base align=8
+QEventLoop (0x7f7ae53152a0) 0
+ vptr=((& QEventLoop::_ZTV10QEventLoop) + 16u)
+ QObject (0x7f7ae5315310) 0
+ primary-for QEventLoop (0x7f7ae53152a0)
+
+Vtable for QAbstractEventDispatcher
+QAbstractEventDispatcher::_ZTV24QAbstractEventDispatcher: 27u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI24QAbstractEventDispatcher)
+16 QAbstractEventDispatcher::metaObject
+24 QAbstractEventDispatcher::qt_metacast
+32 QAbstractEventDispatcher::qt_metacall
+40 QAbstractEventDispatcher::~QAbstractEventDispatcher
+48 QAbstractEventDispatcher::~QAbstractEventDispatcher
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 __cxa_pure_virtual
+136 __cxa_pure_virtual
+144 __cxa_pure_virtual
+152 __cxa_pure_virtual
+160 __cxa_pure_virtual
+168 __cxa_pure_virtual
+176 __cxa_pure_virtual
+184 __cxa_pure_virtual
+192 __cxa_pure_virtual
+200 QAbstractEventDispatcher::startingUp
+208 QAbstractEventDispatcher::closingDown
+
+Class QAbstractEventDispatcher
+ size=16 align=8
+ base size=16 base align=8
+QAbstractEventDispatcher (0x7f7ae5351bd0) 0
+ vptr=((& QAbstractEventDispatcher::_ZTV24QAbstractEventDispatcher) + 16u)
+ QObject (0x7f7ae5351c40) 0
+ primary-for QAbstractEventDispatcher (0x7f7ae5351bd0)
+
+Class QModelIndex
+ size=24 align=8
+ base size=24 base align=8
+QModelIndex (0x7f7ae5378a80) 0
+
+Class QPersistentModelIndex
+ size=8 align=8
+ base size=8 base align=8
+QPersistentModelIndex (0x7f7ae51a1540) 0
+
+Vtable for QAbstractItemModel
+QAbstractItemModel::_ZTV18QAbstractItemModel: 42u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QAbstractItemModel)
+16 QAbstractItemModel::metaObject
+24 QAbstractItemModel::qt_metacast
+32 QAbstractItemModel::qt_metacall
+40 QAbstractItemModel::~QAbstractItemModel
+48 QAbstractItemModel::~QAbstractItemModel
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 __cxa_pure_virtual
+136 __cxa_pure_virtual
+144 QAbstractItemModel::hasChildren
+152 __cxa_pure_virtual
+160 QAbstractItemModel::setData
+168 QAbstractItemModel::headerData
+176 QAbstractItemModel::setHeaderData
+184 QAbstractItemModel::itemData
+192 QAbstractItemModel::setItemData
+200 QAbstractItemModel::mimeTypes
+208 QAbstractItemModel::mimeData
+216 QAbstractItemModel::dropMimeData
+224 QAbstractItemModel::supportedDropActions
+232 QAbstractItemModel::insertRows
+240 QAbstractItemModel::insertColumns
+248 QAbstractItemModel::removeRows
+256 QAbstractItemModel::removeColumns
+264 QAbstractItemModel::fetchMore
+272 QAbstractItemModel::canFetchMore
+280 QAbstractItemModel::flags
+288 QAbstractItemModel::sort
+296 QAbstractItemModel::buddy
+304 QAbstractItemModel::match
+312 QAbstractItemModel::span
+320 QAbstractItemModel::submit
+328 QAbstractItemModel::revert
+
+Class QAbstractItemModel
+ size=16 align=8
+ base size=16 base align=8
+QAbstractItemModel (0x7f7ae51aa850) 0
+ vptr=((& QAbstractItemModel::_ZTV18QAbstractItemModel) + 16u)
+ QObject (0x7f7ae51aa8c0) 0
+ primary-for QAbstractItemModel (0x7f7ae51aa850)
+
+Vtable for QAbstractTableModel
+QAbstractTableModel::_ZTV19QAbstractTableModel: 42u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QAbstractTableModel)
+16 QAbstractTableModel::metaObject
+24 QAbstractTableModel::qt_metacast
+32 QAbstractTableModel::qt_metacall
+40 QAbstractTableModel::~QAbstractTableModel
+48 QAbstractTableModel::~QAbstractTableModel
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QAbstractTableModel::index
+120 QAbstractTableModel::parent
+128 __cxa_pure_virtual
+136 __cxa_pure_virtual
+144 QAbstractTableModel::hasChildren
+152 __cxa_pure_virtual
+160 QAbstractItemModel::setData
+168 QAbstractItemModel::headerData
+176 QAbstractItemModel::setHeaderData
+184 QAbstractItemModel::itemData
+192 QAbstractItemModel::setItemData
+200 QAbstractItemModel::mimeTypes
+208 QAbstractItemModel::mimeData
+216 QAbstractTableModel::dropMimeData
+224 QAbstractItemModel::supportedDropActions
+232 QAbstractItemModel::insertRows
+240 QAbstractItemModel::insertColumns
+248 QAbstractItemModel::removeRows
+256 QAbstractItemModel::removeColumns
+264 QAbstractItemModel::fetchMore
+272 QAbstractItemModel::canFetchMore
+280 QAbstractItemModel::flags
+288 QAbstractItemModel::sort
+296 QAbstractItemModel::buddy
+304 QAbstractItemModel::match
+312 QAbstractItemModel::span
+320 QAbstractItemModel::submit
+328 QAbstractItemModel::revert
+
+Class QAbstractTableModel
+ size=16 align=8
+ base size=16 base align=8
+QAbstractTableModel (0x7f7ae5206b60) 0
+ vptr=((& QAbstractTableModel::_ZTV19QAbstractTableModel) + 16u)
+ QAbstractItemModel (0x7f7ae5206bd0) 0
+ primary-for QAbstractTableModel (0x7f7ae5206b60)
+ QObject (0x7f7ae5206c40) 0
+ primary-for QAbstractItemModel (0x7f7ae5206bd0)
+
+Vtable for QAbstractListModel
+QAbstractListModel::_ZTV18QAbstractListModel: 42u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QAbstractListModel)
+16 QAbstractListModel::metaObject
+24 QAbstractListModel::qt_metacast
+32 QAbstractListModel::qt_metacall
+40 QAbstractListModel::~QAbstractListModel
+48 QAbstractListModel::~QAbstractListModel
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QAbstractListModel::index
+120 QAbstractListModel::parent
+128 __cxa_pure_virtual
+136 QAbstractListModel::columnCount
+144 QAbstractListModel::hasChildren
+152 __cxa_pure_virtual
+160 QAbstractItemModel::setData
+168 QAbstractItemModel::headerData
+176 QAbstractItemModel::setHeaderData
+184 QAbstractItemModel::itemData
+192 QAbstractItemModel::setItemData
+200 QAbstractItemModel::mimeTypes
+208 QAbstractItemModel::mimeData
+216 QAbstractListModel::dropMimeData
+224 QAbstractItemModel::supportedDropActions
+232 QAbstractItemModel::insertRows
+240 QAbstractItemModel::insertColumns
+248 QAbstractItemModel::removeRows
+256 QAbstractItemModel::removeColumns
+264 QAbstractItemModel::fetchMore
+272 QAbstractItemModel::canFetchMore
+280 QAbstractItemModel::flags
+288 QAbstractItemModel::sort
+296 QAbstractItemModel::buddy
+304 QAbstractItemModel::match
+312 QAbstractItemModel::span
+320 QAbstractItemModel::submit
+328 QAbstractItemModel::revert
+
+Class QAbstractListModel
+ size=16 align=8
+ base size=16 base align=8
+QAbstractListModel (0x7f7ae52230e0) 0
+ vptr=((& QAbstractListModel::_ZTV18QAbstractListModel) + 16u)
+ QAbstractItemModel (0x7f7ae5223150) 0
+ primary-for QAbstractListModel (0x7f7ae52230e0)
+ QObject (0x7f7ae52231c0) 0
+ primary-for QAbstractItemModel (0x7f7ae5223150)
+
+Class QBasicTimer
+ size=4 align=4
+ base size=4 base align=4
+QBasicTimer (0x7f7ae5253230) 0
+
+Vtable for QCoreApplication
+QCoreApplication::_ZTV16QCoreApplication: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QCoreApplication)
+16 QCoreApplication::metaObject
+24 QCoreApplication::qt_metacast
+32 QCoreApplication::qt_metacall
+40 QCoreApplication::~QCoreApplication
+48 QCoreApplication::~QCoreApplication
+56 QCoreApplication::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QCoreApplication::notify
+120 QCoreApplication::compressEvent
+
+Class QCoreApplication
+ size=16 align=8
+ base size=16 base align=8
+QCoreApplication (0x7f7ae5260620) 0
+ vptr=((& QCoreApplication::_ZTV16QCoreApplication) + 16u)
+ QObject (0x7f7ae5260690) 0
+ primary-for QCoreApplication (0x7f7ae5260620)
+
+Class __exception
+ size=40 align=8
+ base size=40 base align=8
+__exception (0x7f7ae5293310) 0
+
+Class QMetaMethod
+ size=16 align=8
+ base size=12 base align=8
+QMetaMethod (0x7f7ae5100770) 0
+
+Class QMetaEnum
+ size=16 align=8
+ base size=12 base align=8
+QMetaEnum (0x7f7ae511cbd0) 0
+
+Class QMetaProperty
+ size=32 align=8
+ base size=32 base align=8
+QMetaProperty (0x7f7ae512a930) 0
+
+Class QMetaClassInfo
+ size=16 align=8
+ base size=12 base align=8
+QMetaClassInfo (0x7f7ae513c000) 0
+
+Vtable for QMimeData
+QMimeData::_ZTV9QMimeData: 17u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QMimeData)
+16 QMimeData::metaObject
+24 QMimeData::qt_metacast
+32 QMimeData::qt_metacall
+40 QMimeData::~QMimeData
+48 QMimeData::~QMimeData
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QMimeData::hasFormat
+120 QMimeData::formats
+128 QMimeData::retrieveData
+
+Class QMimeData
+ size=16 align=8
+ base size=16 base align=8
+QMimeData (0x7f7ae513caf0) 0
+ vptr=((& QMimeData::_ZTV9QMimeData) + 16u)
+ QObject (0x7f7ae513cb60) 0
+ primary-for QMimeData (0x7f7ae513caf0)
+
+Vtable for QObjectCleanupHandler
+QObjectCleanupHandler::_ZTV21QObjectCleanupHandler: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI21QObjectCleanupHandler)
+16 QObjectCleanupHandler::metaObject
+24 QObjectCleanupHandler::qt_metacast
+32 QObjectCleanupHandler::qt_metacall
+40 QObjectCleanupHandler::~QObjectCleanupHandler
+48 QObjectCleanupHandler::~QObjectCleanupHandler
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QObjectCleanupHandler
+ size=24 align=8
+ base size=24 base align=8
+QObjectCleanupHandler (0x7f7ae515d380) 0
+ vptr=((& QObjectCleanupHandler::_ZTV21QObjectCleanupHandler) + 16u)
+ QObject (0x7f7ae515d3f0) 0
+ primary-for QObjectCleanupHandler (0x7f7ae515d380)
+
+Vtable for QSharedMemory
+QSharedMemory::_ZTV13QSharedMemory: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QSharedMemory)
+16 QSharedMemory::metaObject
+24 QSharedMemory::qt_metacast
+32 QSharedMemory::qt_metacall
+40 QSharedMemory::~QSharedMemory
+48 QSharedMemory::~QSharedMemory
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QSharedMemory
+ size=16 align=8
+ base size=16 base align=8
+QSharedMemory (0x7f7ae516e4d0) 0
+ vptr=((& QSharedMemory::_ZTV13QSharedMemory) + 16u)
+ QObject (0x7f7ae516e540) 0
+ primary-for QSharedMemory (0x7f7ae516e4d0)
+
+Vtable for QSignalMapper
+QSignalMapper::_ZTV13QSignalMapper: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QSignalMapper)
+16 QSignalMapper::metaObject
+24 QSignalMapper::qt_metacast
+32 QSignalMapper::qt_metacall
+40 QSignalMapper::~QSignalMapper
+48 QSignalMapper::~QSignalMapper
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QSignalMapper
+ size=16 align=8
+ base size=16 base align=8
+QSignalMapper (0x7f7ae518b2a0) 0
+ vptr=((& QSignalMapper::_ZTV13QSignalMapper) + 16u)
+ QObject (0x7f7ae518b310) 0
+ primary-for QSignalMapper (0x7f7ae518b2a0)
+
+Vtable for QSocketNotifier
+QSocketNotifier::_ZTV15QSocketNotifier: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QSocketNotifier)
+16 QSocketNotifier::metaObject
+24 QSocketNotifier::qt_metacast
+32 QSocketNotifier::qt_metacall
+40 QSocketNotifier::~QSocketNotifier
+48 QSocketNotifier::~QSocketNotifier
+56 QSocketNotifier::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QSocketNotifier
+ size=32 align=8
+ base size=25 base align=8
+QSocketNotifier (0x7f7ae4fa6690) 0
+ vptr=((& QSocketNotifier::_ZTV15QSocketNotifier) + 16u)
+ QObject (0x7f7ae4fa6700) 0
+ primary-for QSocketNotifier (0x7f7ae4fa6690)
+
+Class QSystemSemaphore
+ size=8 align=8
+ base size=8 base align=8
+QSystemSemaphore (0x7f7ae4fbfa10) 0
+
+Vtable for QTimer
+QTimer::_ZTV6QTimer: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI6QTimer)
+16 QTimer::metaObject
+24 QTimer::qt_metacast
+32 QTimer::qt_metacall
+40 QTimer::~QTimer
+48 QTimer::~QTimer
+56 QObject::event
+64 QObject::eventFilter
+72 QTimer::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QTimer
+ size=32 align=8
+ base size=29 base align=8
+QTimer (0x7f7ae4fcb460) 0
+ vptr=((& QTimer::_ZTV6QTimer) + 16u)
+ QObject (0x7f7ae4fcb4d0) 0
+ primary-for QTimer (0x7f7ae4fcb460)
+
+Vtable for QTranslator
+QTranslator::_ZTV11QTranslator: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QTranslator)
+16 QTranslator::metaObject
+24 QTranslator::qt_metacast
+32 QTranslator::qt_metacall
+40 QTranslator::~QTranslator
+48 QTranslator::~QTranslator
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QTranslator::translate
+120 QTranslator::isEmpty
+
+Class QTranslator
+ size=16 align=8
+ base size=16 base align=8
+QTranslator (0x7f7ae4fef9a0) 0
+ vptr=((& QTranslator::_ZTV11QTranslator) + 16u)
+ QObject (0x7f7ae4fefa10) 0
+ primary-for QTranslator (0x7f7ae4fef9a0)
+
+Vtable for QLibrary
+QLibrary::_ZTV8QLibrary: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI8QLibrary)
+16 QLibrary::metaObject
+24 QLibrary::qt_metacast
+32 QLibrary::qt_metacall
+40 QLibrary::~QLibrary
+48 QLibrary::~QLibrary
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QLibrary
+ size=32 align=8
+ base size=25 base align=8
+QLibrary (0x7f7ae5009930) 0
+ vptr=((& QLibrary::_ZTV8QLibrary) + 16u)
+ QObject (0x7f7ae50099a0) 0
+ primary-for QLibrary (0x7f7ae5009930)
+
+Vtable for QPluginLoader
+QPluginLoader::_ZTV13QPluginLoader: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QPluginLoader)
+16 QPluginLoader::metaObject
+24 QPluginLoader::qt_metacast
+32 QPluginLoader::qt_metacall
+40 QPluginLoader::~QPluginLoader
+48 QPluginLoader::~QPluginLoader
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QPluginLoader
+ size=32 align=8
+ base size=25 base align=8
+QPluginLoader (0x7f7ae50573f0) 0
+ vptr=((& QPluginLoader::_ZTV13QPluginLoader) + 16u)
+ QObject (0x7f7ae5057460) 0
+ primary-for QPluginLoader (0x7f7ae50573f0)
+
+Class QUuid
+ size=16 align=4
+ base size=16 base align=4
+QUuid (0x7f7ae5066b60) 0
+
+Class QReadWriteLock
+ size=8 align=8
+ base size=8 base align=8
+QReadWriteLock (0x7f7ae508c4d0) 0
+
+Class QReadLocker
+ size=8 align=8
+ base size=8 base align=8
+QReadLocker (0x7f7ae508cb60) 0
+
+Class QWriteLocker
+ size=8 align=8
+ base size=8 base align=8
+QWriteLocker (0x7f7ae4eaaee0) 0
+
+Class QThreadStorageData
+ size=4 align=4
+ base size=4 base align=4
+QThreadStorageData (0x7f7ae4ec52a0) 0
+
+Vtable for QAbstractAnimation
+QAbstractAnimation::_ZTV18QAbstractAnimation: 18u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QAbstractAnimation)
+16 QAbstractAnimation::metaObject
+24 QAbstractAnimation::qt_metacast
+32 QAbstractAnimation::qt_metacall
+40 QAbstractAnimation::~QAbstractAnimation
+48 QAbstractAnimation::~QAbstractAnimation
+56 QAbstractAnimation::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 QAbstractAnimation::updateState
+136 QAbstractAnimation::updateDirection
+
+Class QAbstractAnimation
+ size=16 align=8
+ base size=16 base align=8
+QAbstractAnimation (0x7f7ae4ec5a10) 0
+ vptr=((& QAbstractAnimation::_ZTV18QAbstractAnimation) + 16u)
+ QObject (0x7f7ae4ec5a80) 0
+ primary-for QAbstractAnimation (0x7f7ae4ec5a10)
+
+Vtable for QAnimationGroup
+QAnimationGroup::_ZTV15QAnimationGroup: 18u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QAnimationGroup)
+16 QAnimationGroup::metaObject
+24 QAnimationGroup::qt_metacast
+32 QAnimationGroup::qt_metacall
+40 QAnimationGroup::~QAnimationGroup
+48 QAnimationGroup::~QAnimationGroup
+56 QAnimationGroup::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 QAbstractAnimation::updateState
+136 QAbstractAnimation::updateDirection
+
+Class QAnimationGroup
+ size=16 align=8
+ base size=16 base align=8
+QAnimationGroup (0x7f7ae4efc150) 0
+ vptr=((& QAnimationGroup::_ZTV15QAnimationGroup) + 16u)
+ QAbstractAnimation (0x7f7ae4efc1c0) 0
+ primary-for QAnimationGroup (0x7f7ae4efc150)
+ QObject (0x7f7ae4efc230) 0
+ primary-for QAbstractAnimation (0x7f7ae4efc1c0)
+
+Vtable for QParallelAnimationGroup
+QParallelAnimationGroup::_ZTV23QParallelAnimationGroup: 18u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI23QParallelAnimationGroup)
+16 QParallelAnimationGroup::metaObject
+24 QParallelAnimationGroup::qt_metacast
+32 QParallelAnimationGroup::qt_metacall
+40 QParallelAnimationGroup::~QParallelAnimationGroup
+48 QParallelAnimationGroup::~QParallelAnimationGroup
+56 QParallelAnimationGroup::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QParallelAnimationGroup::duration
+120 QParallelAnimationGroup::updateCurrentTime
+128 QParallelAnimationGroup::updateState
+136 QParallelAnimationGroup::updateDirection
+
+Class QParallelAnimationGroup
+ size=16 align=8
+ base size=16 base align=8
+QParallelAnimationGroup (0x7f7ae4f17000) 0
+ vptr=((& QParallelAnimationGroup::_ZTV23QParallelAnimationGroup) + 16u)
+ QAnimationGroup (0x7f7ae4f17070) 0
+ primary-for QParallelAnimationGroup (0x7f7ae4f17000)
+ QAbstractAnimation (0x7f7ae4f170e0) 0
+ primary-for QAnimationGroup (0x7f7ae4f17070)
+ QObject (0x7f7ae4f17150) 0
+ primary-for QAbstractAnimation (0x7f7ae4f170e0)
+
+Vtable for QPauseAnimation
+QPauseAnimation::_ZTV15QPauseAnimation: 18u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QPauseAnimation)
+16 QPauseAnimation::metaObject
+24 QPauseAnimation::qt_metacast
+32 QPauseAnimation::qt_metacall
+40 QPauseAnimation::~QPauseAnimation
+48 QPauseAnimation::~QPauseAnimation
+56 QPauseAnimation::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QPauseAnimation::duration
+120 QPauseAnimation::updateCurrentTime
+128 QAbstractAnimation::updateState
+136 QAbstractAnimation::updateDirection
+
+Class QPauseAnimation
+ size=16 align=8
+ base size=16 base align=8
+QPauseAnimation (0x7f7ae4f26e70) 0
+ vptr=((& QPauseAnimation::_ZTV15QPauseAnimation) + 16u)
+ QAbstractAnimation (0x7f7ae4f26ee0) 0
+ primary-for QPauseAnimation (0x7f7ae4f26e70)
+ QObject (0x7f7ae4f26f50) 0
+ primary-for QAbstractAnimation (0x7f7ae4f26ee0)
+
+Vtable for QVariantAnimation
+QVariantAnimation::_ZTV17QVariantAnimation: 20u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QVariantAnimation)
+16 QVariantAnimation::metaObject
+24 QVariantAnimation::qt_metacast
+32 QVariantAnimation::qt_metacall
+40 QVariantAnimation::~QVariantAnimation
+48 QVariantAnimation::~QVariantAnimation
+56 QVariantAnimation::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QVariantAnimation::duration
+120 QVariantAnimation::updateCurrentTime
+128 QVariantAnimation::updateState
+136 QAbstractAnimation::updateDirection
+144 __cxa_pure_virtual
+152 QVariantAnimation::interpolated
+
+Class QVariantAnimation
+ size=16 align=8
+ base size=16 base align=8
+QVariantAnimation (0x7f7ae4f428c0) 0
+ vptr=((& QVariantAnimation::_ZTV17QVariantAnimation) + 16u)
+ QAbstractAnimation (0x7f7ae4f42930) 0
+ primary-for QVariantAnimation (0x7f7ae4f428c0)
+ QObject (0x7f7ae4f429a0) 0
+ primary-for QAbstractAnimation (0x7f7ae4f42930)
+
+Vtable for QPropertyAnimation
+QPropertyAnimation::_ZTV18QPropertyAnimation: 20u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QPropertyAnimation)
+16 QPropertyAnimation::metaObject
+24 QPropertyAnimation::qt_metacast
+32 QPropertyAnimation::qt_metacall
+40 QPropertyAnimation::~QPropertyAnimation
+48 QPropertyAnimation::~QPropertyAnimation
+56 QPropertyAnimation::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QVariantAnimation::duration
+120 QVariantAnimation::updateCurrentTime
+128 QPropertyAnimation::updateState
+136 QAbstractAnimation::updateDirection
+144 QPropertyAnimation::updateCurrentValue
+152 QVariantAnimation::interpolated
+
+Class QPropertyAnimation
+ size=16 align=8
+ base size=16 base align=8
+QPropertyAnimation (0x7f7ae4f5eb60) 0
+ vptr=((& QPropertyAnimation::_ZTV18QPropertyAnimation) + 16u)
+ QVariantAnimation (0x7f7ae4f5ebd0) 0
+ primary-for QPropertyAnimation (0x7f7ae4f5eb60)
+ QAbstractAnimation (0x7f7ae4f5ec40) 0
+ primary-for QVariantAnimation (0x7f7ae4f5ebd0)
+ QObject (0x7f7ae4f5ecb0) 0
+ primary-for QAbstractAnimation (0x7f7ae4f5ec40)
+
+Vtable for QSequentialAnimationGroup
+QSequentialAnimationGroup::_ZTV25QSequentialAnimationGroup: 18u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI25QSequentialAnimationGroup)
+16 QSequentialAnimationGroup::metaObject
+24 QSequentialAnimationGroup::qt_metacast
+32 QSequentialAnimationGroup::qt_metacall
+40 QSequentialAnimationGroup::~QSequentialAnimationGroup
+48 QSequentialAnimationGroup::~QSequentialAnimationGroup
+56 QSequentialAnimationGroup::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QSequentialAnimationGroup::duration
+120 QSequentialAnimationGroup::updateCurrentTime
+128 QSequentialAnimationGroup::updateState
+136 QSequentialAnimationGroup::updateDirection
+
+Class QSequentialAnimationGroup
+ size=16 align=8
+ base size=16 base align=8
+QSequentialAnimationGroup (0x7f7ae4f79b60) 0
+ vptr=((& QSequentialAnimationGroup::_ZTV25QSequentialAnimationGroup) + 16u)
+ QAnimationGroup (0x7f7ae4f79bd0) 0
+ primary-for QSequentialAnimationGroup (0x7f7ae4f79b60)
+ QAbstractAnimation (0x7f7ae4f79c40) 0
+ primary-for QAnimationGroup (0x7f7ae4f79bd0)
+ QObject (0x7f7ae4f79cb0) 0
+ primary-for QAbstractAnimation (0x7f7ae4f79c40)
+
+Class QSslCertificate
+ size=8 align=8
+ base size=8 base align=8
+QSslCertificate (0x7f7ae4f92bd0) 0
+
+Class QSslCipher
+ size=8 align=8
+ base size=8 base align=8
+QSslCipher (0x7f7ae4dad770) 0
+
+Vtable for QAbstractSocket
+QAbstractSocket::_ZTV15QAbstractSocket: 30u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QAbstractSocket)
+16 QAbstractSocket::metaObject
+24 QAbstractSocket::qt_metacast
+32 QAbstractSocket::qt_metacall
+40 QAbstractSocket::~QAbstractSocket
+48 QAbstractSocket::~QAbstractSocket
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QAbstractSocket::isSequential
+120 QIODevice::open
+128 QAbstractSocket::close
+136 QIODevice::pos
+144 QIODevice::size
+152 QIODevice::seek
+160 QAbstractSocket::atEnd
+168 QIODevice::reset
+176 QAbstractSocket::bytesAvailable
+184 QAbstractSocket::bytesToWrite
+192 QAbstractSocket::canReadLine
+200 QAbstractSocket::waitForReadyRead
+208 QAbstractSocket::waitForBytesWritten
+216 QAbstractSocket::readData
+224 QAbstractSocket::readLineData
+232 QAbstractSocket::writeData
+
+Class QAbstractSocket
+ size=16 align=8
+ base size=16 base align=8
+QAbstractSocket (0x7f7ae4dcc0e0) 0
+ vptr=((& QAbstractSocket::_ZTV15QAbstractSocket) + 16u)
+ QIODevice (0x7f7ae4dcc150) 0
+ primary-for QAbstractSocket (0x7f7ae4dcc0e0)
+ QObject (0x7f7ae4dcc1c0) 0
+ primary-for QIODevice (0x7f7ae4dcc150)
+
+Vtable for QTcpSocket
+QTcpSocket::_ZTV10QTcpSocket: 30u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QTcpSocket)
+16 QTcpSocket::metaObject
+24 QTcpSocket::qt_metacast
+32 QTcpSocket::qt_metacall
+40 QTcpSocket::~QTcpSocket
+48 QTcpSocket::~QTcpSocket
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QAbstractSocket::isSequential
+120 QIODevice::open
+128 QAbstractSocket::close
+136 QIODevice::pos
+144 QIODevice::size
+152 QIODevice::seek
+160 QAbstractSocket::atEnd
+168 QIODevice::reset
+176 QAbstractSocket::bytesAvailable
+184 QAbstractSocket::bytesToWrite
+192 QAbstractSocket::canReadLine
+200 QAbstractSocket::waitForReadyRead
+208 QAbstractSocket::waitForBytesWritten
+216 QAbstractSocket::readData
+224 QAbstractSocket::readLineData
+232 QAbstractSocket::writeData
+
+Class QTcpSocket
+ size=16 align=8
+ base size=16 base align=8
+QTcpSocket (0x7f7ae4e05a10) 0
+ vptr=((& QTcpSocket::_ZTV10QTcpSocket) + 16u)
+ QAbstractSocket (0x7f7ae4e05a80) 0
+ primary-for QTcpSocket (0x7f7ae4e05a10)
+ QIODevice (0x7f7ae4e05af0) 0
+ primary-for QAbstractSocket (0x7f7ae4e05a80)
+ QObject (0x7f7ae4e05b60) 0
+ primary-for QIODevice (0x7f7ae4e05af0)
+
+Class QSslError
+ size=8 align=8
+ base size=8 base align=8
+QSslError (0x7f7ae4e234d0) 0
+
+Vtable for QSslSocket
+QSslSocket::_ZTV10QSslSocket: 30u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QSslSocket)
+16 QSslSocket::metaObject
+24 QSslSocket::qt_metacast
+32 QSslSocket::qt_metacall
+40 QSslSocket::~QSslSocket
+48 QSslSocket::~QSslSocket
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QAbstractSocket::isSequential
+120 QIODevice::open
+128 QSslSocket::close
+136 QIODevice::pos
+144 QIODevice::size
+152 QIODevice::seek
+160 QSslSocket::atEnd
+168 QIODevice::reset
+176 QSslSocket::bytesAvailable
+184 QSslSocket::bytesToWrite
+192 QSslSocket::canReadLine
+200 QSslSocket::waitForReadyRead
+208 QSslSocket::waitForBytesWritten
+216 QSslSocket::readData
+224 QAbstractSocket::readLineData
+232 QSslSocket::writeData
+
+Class QSslSocket
+ size=16 align=8
+ base size=16 base align=8
+QSslSocket (0x7f7ae4e2f3f0) 0
+ vptr=((& QSslSocket::_ZTV10QSslSocket) + 16u)
+ QTcpSocket (0x7f7ae4e2f460) 0
+ primary-for QSslSocket (0x7f7ae4e2f3f0)
+ QAbstractSocket (0x7f7ae4e2f4d0) 0
+ primary-for QTcpSocket (0x7f7ae4e2f460)
+ QIODevice (0x7f7ae4e2f540) 0
+ primary-for QAbstractSocket (0x7f7ae4e2f4d0)
+ QObject (0x7f7ae4e2f5b0) 0
+ primary-for QIODevice (0x7f7ae4e2f540)
+
+Class QSslConfiguration
+ size=8 align=8
+ base size=8 base align=8
+QSslConfiguration (0x7f7ae4e6d4d0) 0
+
+Class QSslKey
+ size=8 align=8
+ base size=8 base align=8
+QSslKey (0x7f7ae4e7d2a0) 0
+
+Class QNetworkRequest
+ size=8 align=8
+ base size=8 base align=8
+QNetworkRequest (0x7f7ae4e7dee0) 0
+
+Class QNetworkCacheMetaData
+ size=8 align=8
+ base size=8 base align=8
+QNetworkCacheMetaData (0x7f7ae4cabd90) 0
+
+Vtable for QAbstractNetworkCache
+QAbstractNetworkCache::_ZTV21QAbstractNetworkCache: 22u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI21QAbstractNetworkCache)
+16 QAbstractNetworkCache::metaObject
+24 QAbstractNetworkCache::qt_metacast
+32 QAbstractNetworkCache::qt_metacall
+40 QAbstractNetworkCache::~QAbstractNetworkCache
+48 QAbstractNetworkCache::~QAbstractNetworkCache
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 __cxa_pure_virtual
+136 __cxa_pure_virtual
+144 __cxa_pure_virtual
+152 __cxa_pure_virtual
+160 __cxa_pure_virtual
+168 __cxa_pure_virtual
+
+Class QAbstractNetworkCache
+ size=16 align=8
+ base size=16 base align=8
+QAbstractNetworkCache (0x7f7ae4cda000) 0
+ vptr=((& QAbstractNetworkCache::_ZTV21QAbstractNetworkCache) + 16u)
+ QObject (0x7f7ae4cda070) 0
+ primary-for QAbstractNetworkCache (0x7f7ae4cda000)
+
+Vtable for QUrlInfo
+QUrlInfo::_ZTV8QUrlInfo: 15u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI8QUrlInfo)
+16 QUrlInfo::~QUrlInfo
+24 QUrlInfo::~QUrlInfo
+32 QUrlInfo::setName
+40 QUrlInfo::setDir
+48 QUrlInfo::setFile
+56 QUrlInfo::setSymLink
+64 QUrlInfo::setOwner
+72 QUrlInfo::setGroup
+80 QUrlInfo::setSize
+88 QUrlInfo::setWritable
+96 QUrlInfo::setReadable
+104 QUrlInfo::setPermissions
+112 QUrlInfo::setLastModified
+
+Class QUrlInfo
+ size=16 align=8
+ base size=16 base align=8
+QUrlInfo (0x7f7ae4cef9a0) 0
+ vptr=((& QUrlInfo::_ZTV8QUrlInfo) + 16u)
+
+Vtable for QFtp
+QFtp::_ZTV4QFtp: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI4QFtp)
+16 QFtp::metaObject
+24 QFtp::qt_metacast
+32 QFtp::qt_metacall
+40 QFtp::~QFtp
+48 QFtp::~QFtp
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QFtp
+ size=16 align=8
+ base size=16 base align=8
+QFtp (0x7f7ae4d01930) 0
+ vptr=((& QFtp::_ZTV4QFtp) + 16u)
+ QObject (0x7f7ae4d019a0) 0
+ primary-for QFtp (0x7f7ae4d01930)
+
+Vtable for QHttpHeader
+QHttpHeader::_ZTV11QHttpHeader: 8u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QHttpHeader)
+16 QHttpHeader::~QHttpHeader
+24 QHttpHeader::~QHttpHeader
+32 QHttpHeader::toString
+40 __cxa_pure_virtual
+48 __cxa_pure_virtual
+56 QHttpHeader::parseLine
+
+Class QHttpHeader
+ size=16 align=8
+ base size=16 base align=8
+QHttpHeader (0x7f7ae4d30f50) 0
+ vptr=((& QHttpHeader::_ZTV11QHttpHeader) + 16u)
+
+Vtable for QHttpResponseHeader
+QHttpResponseHeader::_ZTV19QHttpResponseHeader: 8u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QHttpResponseHeader)
+16 QHttpResponseHeader::~QHttpResponseHeader
+24 QHttpResponseHeader::~QHttpResponseHeader
+32 QHttpResponseHeader::toString
+40 QHttpResponseHeader::majorVersion
+48 QHttpResponseHeader::minorVersion
+56 QHttpResponseHeader::parseLine
+
+Class QHttpResponseHeader
+ size=16 align=8
+ base size=16 base align=8
+QHttpResponseHeader (0x7f7ae4d36e70) 0
+ vptr=((& QHttpResponseHeader::_ZTV19QHttpResponseHeader) + 16u)
+ QHttpHeader (0x7f7ae4d36ee0) 0
+ primary-for QHttpResponseHeader (0x7f7ae4d36e70)
+
+Vtable for QHttpRequestHeader
+QHttpRequestHeader::_ZTV18QHttpRequestHeader: 8u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QHttpRequestHeader)
+16 QHttpRequestHeader::~QHttpRequestHeader
+24 QHttpRequestHeader::~QHttpRequestHeader
+32 QHttpRequestHeader::toString
+40 QHttpRequestHeader::majorVersion
+48 QHttpRequestHeader::minorVersion
+56 QHttpRequestHeader::parseLine
+
+Class QHttpRequestHeader
+ size=16 align=8
+ base size=16 base align=8
+QHttpRequestHeader (0x7f7ae4d4faf0) 0
+ vptr=((& QHttpRequestHeader::_ZTV18QHttpRequestHeader) + 16u)
+ QHttpHeader (0x7f7ae4d4fb60) 0
+ primary-for QHttpRequestHeader (0x7f7ae4d4faf0)
+
+Vtable for QHttp
+QHttp::_ZTV5QHttp: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI5QHttp)
+16 QHttp::metaObject
+24 QHttp::qt_metacast
+32 QHttp::qt_metacall
+40 QHttp::~QHttp
+48 QHttp::~QHttp
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QHttp
+ size=16 align=8
+ base size=16 base align=8
+QHttp (0x7f7ae4d5f700) 0
+ vptr=((& QHttp::_ZTV5QHttp) + 16u)
+ QObject (0x7f7ae4d5f770) 0
+ primary-for QHttp (0x7f7ae4d5f700)
+
+Vtable for QNetworkAccessManager
+QNetworkAccessManager::_ZTV21QNetworkAccessManager: 15u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI21QNetworkAccessManager)
+16 QNetworkAccessManager::metaObject
+24 QNetworkAccessManager::qt_metacast
+32 QNetworkAccessManager::qt_metacall
+40 QNetworkAccessManager::~QNetworkAccessManager
+48 QNetworkAccessManager::~QNetworkAccessManager
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QNetworkAccessManager::createRequest
+
+Class QNetworkAccessManager
+ size=16 align=8
+ base size=16 base align=8
+QNetworkAccessManager (0x7f7ae4d968c0) 0
+ vptr=((& QNetworkAccessManager::_ZTV21QNetworkAccessManager) + 16u)
+ QObject (0x7f7ae4d96930) 0
+ primary-for QNetworkAccessManager (0x7f7ae4d968c0)
+
+Class QNetworkCookie
+ size=8 align=8
+ base size=8 base align=8
+QNetworkCookie (0x7f7ae4babe00) 0
+
+Vtable for QNetworkCookieJar
+QNetworkCookieJar::_ZTV17QNetworkCookieJar: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QNetworkCookieJar)
+16 QNetworkCookieJar::metaObject
+24 QNetworkCookieJar::qt_metacast
+32 QNetworkCookieJar::qt_metacall
+40 QNetworkCookieJar::~QNetworkCookieJar
+48 QNetworkCookieJar::~QNetworkCookieJar
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QNetworkCookieJar::cookiesForUrl
+120 QNetworkCookieJar::setCookiesFromUrl
+
+Class QNetworkCookieJar
+ size=16 align=8
+ base size=16 base align=8
+QNetworkCookieJar (0x7f7ae4bb8f50) 0
+ vptr=((& QNetworkCookieJar::_ZTV17QNetworkCookieJar) + 16u)
+ QObject (0x7f7ae4bb89a0) 0
+ primary-for QNetworkCookieJar (0x7f7ae4bb8f50)
+
+Vtable for QNetworkDiskCache
+QNetworkDiskCache::_ZTV17QNetworkDiskCache: 23u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QNetworkDiskCache)
+16 QNetworkDiskCache::metaObject
+24 QNetworkDiskCache::qt_metacast
+32 QNetworkDiskCache::qt_metacall
+40 QNetworkDiskCache::~QNetworkDiskCache
+48 QNetworkDiskCache::~QNetworkDiskCache
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QNetworkDiskCache::metaData
+120 QNetworkDiskCache::updateMetaData
+128 QNetworkDiskCache::data
+136 QNetworkDiskCache::remove
+144 QNetworkDiskCache::cacheSize
+152 QNetworkDiskCache::prepare
+160 QNetworkDiskCache::insert
+168 QNetworkDiskCache::clear
+176 QNetworkDiskCache::expire
+
+Class QNetworkDiskCache
+ size=16 align=8
+ base size=16 base align=8
+QNetworkDiskCache (0x7f7ae4be4e00) 0
+ vptr=((& QNetworkDiskCache::_ZTV17QNetworkDiskCache) + 16u)
+ QAbstractNetworkCache (0x7f7ae4be4e70) 0
+ primary-for QNetworkDiskCache (0x7f7ae4be4e00)
+ QObject (0x7f7ae4be4ee0) 0
+ primary-for QAbstractNetworkCache (0x7f7ae4be4e70)
+
+Vtable for QNetworkReply
+QNetworkReply::_ZTV13QNetworkReply: 33u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QNetworkReply)
+16 QNetworkReply::metaObject
+24 QNetworkReply::qt_metacast
+32 QNetworkReply::qt_metacall
+40 QNetworkReply::~QNetworkReply
+48 QNetworkReply::~QNetworkReply
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QNetworkReply::isSequential
+120 QIODevice::open
+128 QNetworkReply::close
+136 QIODevice::pos
+144 QIODevice::size
+152 QIODevice::seek
+160 QIODevice::atEnd
+168 QIODevice::reset
+176 QIODevice::bytesAvailable
+184 QIODevice::bytesToWrite
+192 QIODevice::canReadLine
+200 QIODevice::waitForReadyRead
+208 QIODevice::waitForBytesWritten
+216 __cxa_pure_virtual
+224 QIODevice::readLineData
+232 QNetworkReply::writeData
+240 __cxa_pure_virtual
+248 QNetworkReply::setReadBufferSize
+256 QNetworkReply::ignoreSslErrors
+
+Class QNetworkReply
+ size=16 align=8
+ base size=16 base align=8
+QNetworkReply (0x7f7ae4c09770) 0
+ vptr=((& QNetworkReply::_ZTV13QNetworkReply) + 16u)
+ QIODevice (0x7f7ae4c097e0) 0
+ primary-for QNetworkReply (0x7f7ae4c09770)
+ QObject (0x7f7ae4c09850) 0
+ primary-for QIODevice (0x7f7ae4c097e0)
+
+Class QAuthenticator
+ size=8 align=8
+ base size=8 base align=8
+QAuthenticator (0x7f7ae4c2f3f0) 0
+
+Class QIPv6Address
+ size=16 align=1
+ base size=16 base align=1
+QIPv6Address (0x7f7ae4c2fcb0) 0
+
+Class QHostAddress
+ size=8 align=8
+ base size=8 base align=8
+QHostAddress (0x7f7ae4c3c310) 0
+
+Class QHostInfo
+ size=8 align=8
+ base size=8 base align=8
+QHostInfo (0x7f7ae4c6d310) 0
+
+Class QNetworkAddressEntry
+ size=8 align=8
+ base size=8 base align=8
+QNetworkAddressEntry (0x7f7ae4c6dc40) 0
+
+Class QNetworkInterface
+ size=8 align=8
+ base size=8 base align=8
+QNetworkInterface (0x7f7ae4c84540) 0
+
+Class QNetworkProxyQuery
+ size=8 align=8
+ base size=8 base align=8
+QNetworkProxyQuery (0x7f7ae4ad3230) 0
+
+Class QNetworkProxy
+ size=8 align=8
+ base size=8 base align=8
+QNetworkProxy (0x7f7ae4aea4d0) 0
+
+Vtable for QNetworkProxyFactory
+QNetworkProxyFactory::_ZTV20QNetworkProxyFactory: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI20QNetworkProxyFactory)
+16 QNetworkProxyFactory::~QNetworkProxyFactory
+24 QNetworkProxyFactory::~QNetworkProxyFactory
+32 __cxa_pure_virtual
+
+Class QNetworkProxyFactory
+ size=8 align=8
+ base size=8 base align=8
+QNetworkProxyFactory (0x7f7ae4b2d930) 0 nearly-empty
+ vptr=((& QNetworkProxyFactory::_ZTV20QNetworkProxyFactory) + 16u)
+
+Vtable for QLocalServer
+QLocalServer::_ZTV12QLocalServer: 17u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QLocalServer)
+16 QLocalServer::metaObject
+24 QLocalServer::qt_metacast
+32 QLocalServer::qt_metacall
+40 QLocalServer::~QLocalServer
+48 QLocalServer::~QLocalServer
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QLocalServer::hasPendingConnections
+120 QLocalServer::nextPendingConnection
+128 QLocalServer::incomingConnection
+
+Class QLocalServer
+ size=16 align=8
+ base size=16 base align=8
+QLocalServer (0x7f7ae4b2dc40) 0
+ vptr=((& QLocalServer::_ZTV12QLocalServer) + 16u)
+ QObject (0x7f7ae4b2dcb0) 0
+ primary-for QLocalServer (0x7f7ae4b2dc40)
+
+Vtable for QLocalSocket
+QLocalSocket::_ZTV12QLocalSocket: 30u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QLocalSocket)
+16 QLocalSocket::metaObject
+24 QLocalSocket::qt_metacast
+32 QLocalSocket::qt_metacall
+40 QLocalSocket::~QLocalSocket
+48 QLocalSocket::~QLocalSocket
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QLocalSocket::isSequential
+120 QIODevice::open
+128 QLocalSocket::close
+136 QIODevice::pos
+144 QIODevice::size
+152 QIODevice::seek
+160 QIODevice::atEnd
+168 QIODevice::reset
+176 QLocalSocket::bytesAvailable
+184 QLocalSocket::bytesToWrite
+192 QLocalSocket::canReadLine
+200 QLocalSocket::waitForReadyRead
+208 QLocalSocket::waitForBytesWritten
+216 QLocalSocket::readData
+224 QIODevice::readLineData
+232 QLocalSocket::writeData
+
+Class QLocalSocket
+ size=16 align=8
+ base size=16 base align=8
+QLocalSocket (0x7f7ae4b58620) 0
+ vptr=((& QLocalSocket::_ZTV12QLocalSocket) + 16u)
+ QIODevice (0x7f7ae4b58690) 0
+ primary-for QLocalSocket (0x7f7ae4b58620)
+ QObject (0x7f7ae4b58700) 0
+ primary-for QIODevice (0x7f7ae4b58690)
+
+Vtable for QTcpServer
+QTcpServer::_ZTV10QTcpServer: 17u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QTcpServer)
+16 QTcpServer::metaObject
+24 QTcpServer::qt_metacast
+32 QTcpServer::qt_metacall
+40 QTcpServer::~QTcpServer
+48 QTcpServer::~QTcpServer
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QTcpServer::hasPendingConnections
+120 QTcpServer::nextPendingConnection
+128 QTcpServer::incomingConnection
+
+Class QTcpServer
+ size=16 align=8
+ base size=16 base align=8
+QTcpServer (0x7f7ae4b7d7e0) 0
+ vptr=((& QTcpServer::_ZTV10QTcpServer) + 16u)
+ QObject (0x7f7ae4b7d850) 0
+ primary-for QTcpServer (0x7f7ae4b7d7e0)
+
+Vtable for QUdpSocket
+QUdpSocket::_ZTV10QUdpSocket: 30u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QUdpSocket)
+16 QUdpSocket::metaObject
+24 QUdpSocket::qt_metacast
+32 QUdpSocket::qt_metacall
+40 QUdpSocket::~QUdpSocket
+48 QUdpSocket::~QUdpSocket
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QAbstractSocket::isSequential
+120 QIODevice::open
+128 QAbstractSocket::close
+136 QIODevice::pos
+144 QIODevice::size
+152 QIODevice::seek
+160 QAbstractSocket::atEnd
+168 QIODevice::reset
+176 QAbstractSocket::bytesAvailable
+184 QAbstractSocket::bytesToWrite
+192 QAbstractSocket::canReadLine
+200 QAbstractSocket::waitForReadyRead
+208 QAbstractSocket::waitForBytesWritten
+216 QAbstractSocket::readData
+224 QAbstractSocket::readLineData
+232 QAbstractSocket::writeData
+
+Class QUdpSocket
+ size=16 align=8
+ base size=16 base align=8
+QUdpSocket (0x7f7ae499a310) 0
+ vptr=((& QUdpSocket::_ZTV10QUdpSocket) + 16u)
+ QAbstractSocket (0x7f7ae499a380) 0
+ primary-for QUdpSocket (0x7f7ae499a310)
+ QIODevice (0x7f7ae499a3f0) 0
+ primary-for QAbstractSocket (0x7f7ae499a380)
+ QObject (0x7f7ae499a460) 0
+ primary-for QIODevice (0x7f7ae499a3f0)
+
+Class QSourceLocation
+ size=24 align=8
+ base size=24 base align=8
+QSourceLocation (0x7f7ae49e6070) 0
+
+Vtable for QAbstractMessageHandler
+QAbstractMessageHandler::_ZTV23QAbstractMessageHandler: 15u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI23QAbstractMessageHandler)
+16 QAbstractMessageHandler::metaObject
+24 QAbstractMessageHandler::qt_metacast
+32 QAbstractMessageHandler::qt_metacall
+40 QAbstractMessageHandler::~QAbstractMessageHandler
+48 QAbstractMessageHandler::~QAbstractMessageHandler
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+
+Class QAbstractMessageHandler
+ size=16 align=8
+ base size=16 base align=8
+QAbstractMessageHandler (0x7f7ae49e6d20) 0
+ vptr=((& QAbstractMessageHandler::_ZTV23QAbstractMessageHandler) + 16u)
+ QObject (0x7f7ae49e6d90) 0
+ primary-for QAbstractMessageHandler (0x7f7ae49e6d20)
+
+Vtable for QAbstractUriResolver
+QAbstractUriResolver::_ZTV20QAbstractUriResolver: 15u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI20QAbstractUriResolver)
+16 QAbstractUriResolver::metaObject
+24 QAbstractUriResolver::qt_metacast
+32 QAbstractUriResolver::qt_metacall
+40 QAbstractUriResolver::~QAbstractUriResolver
+48 QAbstractUriResolver::~QAbstractUriResolver
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+
+Class QAbstractUriResolver
+ size=16 align=8
+ base size=16 base align=8
+QAbstractUriResolver (0x7f7ae4a0b700) 0
+ vptr=((& QAbstractUriResolver::_ZTV20QAbstractUriResolver) + 16u)
+ QObject (0x7f7ae4a0b770) 0
+ primary-for QAbstractUriResolver (0x7f7ae4a0b700)
+
+Class QXmlName
+ size=8 align=8
+ base size=8 base align=8
+QXmlName (0x7f7ae4a26000) 0
+
+Class QPatternist::NodeIndexStorage
+ size=24 align=8
+ base size=24 base align=8
+QPatternist::NodeIndexStorage (0x7f7ae4a3e3f0) 0
+
+Class QXmlNodeModelIndex
+ size=24 align=8
+ base size=24 base align=8
+QXmlNodeModelIndex (0x7f7ae4a3eb60) 0
+
+Vtable for QAbstractXmlNodeModel
+QAbstractXmlNodeModel::_ZTV21QAbstractXmlNodeModel: 24u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI21QAbstractXmlNodeModel)
+16 QAbstractXmlNodeModel::~QAbstractXmlNodeModel
+24 QAbstractXmlNodeModel::~QAbstractXmlNodeModel
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+48 __cxa_pure_virtual
+56 __cxa_pure_virtual
+64 __cxa_pure_virtual
+72 __cxa_pure_virtual
+80 __cxa_pure_virtual
+88 __cxa_pure_virtual
+96 QAbstractXmlNodeModel::iterate
+104 QAbstractXmlNodeModel::sequencedTypedValue
+112 QAbstractXmlNodeModel::type
+120 QAbstractXmlNodeModel::namespaceForPrefix
+128 QAbstractXmlNodeModel::isDeepEqual
+136 QAbstractXmlNodeModel::sendNamespaces
+144 __cxa_pure_virtual
+152 __cxa_pure_virtual
+160 __cxa_pure_virtual
+168 QAbstractXmlNodeModel::copyNodeTo
+176 __cxa_pure_virtual
+184 __cxa_pure_virtual
+
+Class QAbstractXmlNodeModel
+ size=24 align=8
+ base size=24 base align=8
+QAbstractXmlNodeModel (0x7f7ae48ab1c0) 0
+ vptr=((& QAbstractXmlNodeModel::_ZTV21QAbstractXmlNodeModel) + 16u)
+ QSharedData (0x7f7ae48ab230) 8
+
+Class QXmlItem
+ size=24 align=8
+ base size=24 base align=8
+QXmlItem (0x7f7ae48b8e70) 0
+
+Vtable for QAbstractXmlReceiver
+QAbstractXmlReceiver::_ZTV20QAbstractXmlReceiver: 18u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI20QAbstractXmlReceiver)
+16 QAbstractXmlReceiver::~QAbstractXmlReceiver
+24 QAbstractXmlReceiver::~QAbstractXmlReceiver
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+48 __cxa_pure_virtual
+56 __cxa_pure_virtual
+64 __cxa_pure_virtual
+72 __cxa_pure_virtual
+80 __cxa_pure_virtual
+88 __cxa_pure_virtual
+96 __cxa_pure_virtual
+104 __cxa_pure_virtual
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 QAbstractXmlReceiver::whitespaceOnly
+136 QAbstractXmlReceiver::item
+
+Class QAbstractXmlReceiver
+ size=16 align=8
+ base size=16 base align=8
+QAbstractXmlReceiver (0x7f7ae48d3d90) 0
+ vptr=((& QAbstractXmlReceiver::_ZTV20QAbstractXmlReceiver) + 16u)
+
+Class QXmlNamePool
+ size=8 align=8
+ base size=8 base align=8
+QXmlNamePool (0x7f7ae48f65b0) 0
+
+Class QXmlQuery
+ size=8 align=8
+ base size=8 base align=8
+QXmlQuery (0x7f7ae48f6c40) 0
+
+Vtable for QSimpleXmlNodeModel
+QSimpleXmlNodeModel::_ZTV19QSimpleXmlNodeModel: 24u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QSimpleXmlNodeModel)
+16 QSimpleXmlNodeModel::~QSimpleXmlNodeModel
+24 QSimpleXmlNodeModel::~QSimpleXmlNodeModel
+32 QSimpleXmlNodeModel::baseUri
+40 __cxa_pure_virtual
+48 __cxa_pure_virtual
+56 __cxa_pure_virtual
+64 __cxa_pure_virtual
+72 __cxa_pure_virtual
+80 QSimpleXmlNodeModel::stringValue
+88 __cxa_pure_virtual
+96 QAbstractXmlNodeModel::iterate
+104 QAbstractXmlNodeModel::sequencedTypedValue
+112 QAbstractXmlNodeModel::type
+120 QAbstractXmlNodeModel::namespaceForPrefix
+128 QAbstractXmlNodeModel::isDeepEqual
+136 QAbstractXmlNodeModel::sendNamespaces
+144 QSimpleXmlNodeModel::namespaceBindings
+152 QSimpleXmlNodeModel::elementById
+160 QSimpleXmlNodeModel::nodesByIdref
+168 QAbstractXmlNodeModel::copyNodeTo
+176 __cxa_pure_virtual
+184 __cxa_pure_virtual
+
+Class QSimpleXmlNodeModel
+ size=24 align=8
+ base size=24 base align=8
+QSimpleXmlNodeModel (0x7f7ae49107e0) 0
+ vptr=((& QSimpleXmlNodeModel::_ZTV19QSimpleXmlNodeModel) + 16u)
+ QAbstractXmlNodeModel (0x7f7ae4910850) 0
+ primary-for QSimpleXmlNodeModel (0x7f7ae49107e0)
+ QSharedData (0x7f7ae49108c0) 8
+
+Vtable for QXmlSerializer
+QXmlSerializer::_ZTV14QXmlSerializer: 18u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QXmlSerializer)
+16 QXmlSerializer::~QXmlSerializer
+24 QXmlSerializer::~QXmlSerializer
+32 QXmlSerializer::startElement
+40 QXmlSerializer::endElement
+48 QXmlSerializer::attribute
+56 QXmlSerializer::comment
+64 QXmlSerializer::characters
+72 QXmlSerializer::startDocument
+80 QXmlSerializer::endDocument
+88 QXmlSerializer::processingInstruction
+96 QXmlSerializer::atomicValue
+104 QXmlSerializer::namespaceBinding
+112 QXmlSerializer::startOfSequence
+120 QXmlSerializer::endOfSequence
+128 QAbstractXmlReceiver::whitespaceOnly
+136 QXmlSerializer::item
+
+Class QXmlSerializer
+ size=16 align=8
+ base size=16 base align=8
+QXmlSerializer (0x7f7ae4928000) 0
+ vptr=((& QXmlSerializer::_ZTV14QXmlSerializer) + 16u)
+ QAbstractXmlReceiver (0x7f7ae4928070) 0
+ primary-for QXmlSerializer (0x7f7ae4928000)
+
+Vtable for QXmlFormatter
+QXmlFormatter::_ZTV13QXmlFormatter: 18u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QXmlFormatter)
+16 QXmlFormatter::~QXmlFormatter
+24 QXmlFormatter::~QXmlFormatter
+32 QXmlFormatter::startElement
+40 QXmlFormatter::endElement
+48 QXmlFormatter::attribute
+56 QXmlFormatter::comment
+64 QXmlFormatter::characters
+72 QXmlFormatter::startDocument
+80 QXmlFormatter::endDocument
+88 QXmlFormatter::processingInstruction
+96 QXmlFormatter::atomicValue
+104 QXmlSerializer::namespaceBinding
+112 QXmlFormatter::startOfSequence
+120 QXmlFormatter::endOfSequence
+128 QAbstractXmlReceiver::whitespaceOnly
+136 QXmlFormatter::item
+
+Class QXmlFormatter
+ size=16 align=8
+ base size=16 base align=8
+QXmlFormatter (0x7f7ae49287e0) 0
+ vptr=((& QXmlFormatter::_ZTV13QXmlFormatter) + 16u)
+ QXmlSerializer (0x7f7ae4928850) 0
+ primary-for QXmlFormatter (0x7f7ae49287e0)
+ QAbstractXmlReceiver (0x7f7ae49288c0) 0
+ primary-for QXmlSerializer (0x7f7ae4928850)
+
+Vtable for QXmlResultItems
+QXmlResultItems::_ZTV15QXmlResultItems: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QXmlResultItems)
+16 QXmlResultItems::~QXmlResultItems
+24 QXmlResultItems::~QXmlResultItems
+
+Class QXmlResultItems
+ size=16 align=8
+ base size=16 base align=8
+QXmlResultItems (0x7f7ae4928f50) 0
+ vptr=((& QXmlResultItems::_ZTV15QXmlResultItems) + 16u)
+
+Class QXmlSchema
+ size=8 align=8
+ base size=8 base align=8
+QXmlSchema (0x7f7ae4947af0) 0
+
+Class QXmlSchemaValidator
+ size=8 align=8
+ base size=8 base align=8
+QXmlSchemaValidator (0x7f7ae4947f50) 0
+
diff --git a/tests/auto/bic/data/phonon.4.5.0.linux-gcc-amd64.txt b/tests/auto/bic/data/phonon.4.5.0.linux-gcc-amd64.txt
new file mode 100644
index 0000000000..08dbee8992
--- /dev/null
+++ b/tests/auto/bic/data/phonon.4.5.0.linux-gcc-amd64.txt
@@ -0,0 +1,1931 @@
+
+Class QSysInfo
+ size=1 align=1
+ base size=0 base align=1
+QSysInfo (0x7f09e42d13f0) 0 empty
+
+Class QBool
+ size=1 align=1
+ base size=1 base align=1
+QBool (0x7f09e42e80e0) 0
+
+Class qIsNull(double)::U
+ size=8 align=8
+ base size=8 base align=8
+qIsNull(double)::U (0x7f09e42fd4d0) 0
+
+Class qIsNull(float)::U
+ size=4 align=4
+ base size=4 base align=4
+qIsNull(float)::U (0x7f09e42fd770) 0
+
+Class QFlag
+ size=4 align=4
+ base size=4 base align=4
+QFlag (0x7f09e3a1c5b0) 0
+
+Class QIncompatibleFlag
+ size=4 align=4
+ base size=4 base align=4
+QIncompatibleFlag (0x7f09e3a1cd90) 0
+
+Class QBasicAtomicInt
+ size=4 align=4
+ base size=4 base align=4
+QBasicAtomicInt (0x7f09e3a483f0) 0
+
+Class QAtomicInt
+ size=4 align=4
+ base size=4 base align=4
+QAtomicInt (0x7f09e3a9dd90) 0
+ QBasicAtomicInt (0x7f09e3a9de00) 0
+
+Class QSharedData
+ size=4 align=4
+ base size=4 base align=4
+QSharedData (0x7f09e3ac0230) 0
+
+Class QLatin1Char
+ size=1 align=1
+ base size=1 base align=1
+QLatin1Char (0x7f09e3928700) 0
+
+Class QChar
+ size=2 align=2
+ base size=2 base align=2
+QChar (0x7f09e3950af0) 0
+
+Vtable for std::exception
+std::exception::_ZTVSt9exception: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt9exception)
+16 std::exception::~exception
+24 std::exception::~exception
+32 std::exception::what
+
+Class std::exception
+ size=8 align=8
+ base size=8 base align=8
+std::exception (0x7f09e39bbbd0) 0 nearly-empty
+ vptr=((& std::exception::_ZTVSt9exception) + 16u)
+
+Vtable for std::bad_exception
+std::bad_exception::_ZTVSt13bad_exception: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt13bad_exception)
+16 std::bad_exception::~bad_exception
+24 std::bad_exception::~bad_exception
+32 std::bad_exception::what
+
+Class std::bad_exception
+ size=8 align=8
+ base size=8 base align=8
+std::bad_exception (0x7f09e39c8150) 0 nearly-empty
+ vptr=((& std::bad_exception::_ZTVSt13bad_exception) + 16u)
+ std::exception (0x7f09e39c81c0) 0 nearly-empty
+ primary-for std::bad_exception (0x7f09e39c8150)
+
+Vtable for std::bad_alloc
+std::bad_alloc::_ZTVSt9bad_alloc: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt9bad_alloc)
+16 std::bad_alloc::~bad_alloc
+24 std::bad_alloc::~bad_alloc
+32 std::bad_alloc::what
+
+Class std::bad_alloc
+ size=8 align=8
+ base size=8 base align=8
+std::bad_alloc (0x7f09e39c8a10) 0 nearly-empty
+ vptr=((& std::bad_alloc::_ZTVSt9bad_alloc) + 16u)
+ std::exception (0x7f09e39c8a80) 0 nearly-empty
+ primary-for std::bad_alloc (0x7f09e39c8a10)
+
+Class std::nothrow_t
+ size=1 align=1
+ base size=0 base align=1
+std::nothrow_t (0x7f09e39db230) 0 empty
+
+Class QListData::Data
+ size=32 align=8
+ base size=32 base align=8
+QListData::Data (0x7f09e39db770) 0
+
+Class QListData
+ size=8 align=8
+ base size=8 base align=8
+QListData (0x7f09e39db700) 0
+
+Class QInternal
+ size=1 align=1
+ base size=0 base align=1
+QInternal (0x7f09e3699e00) 0 empty
+
+Class QGenericArgument
+ size=16 align=8
+ base size=16 base align=8
+QGenericArgument (0x7f09e36b3150) 0
+
+Class QGenericReturnArgument
+ size=16 align=8
+ base size=16 base align=8
+QGenericReturnArgument (0x7f09e36b3cb0) 0
+ QGenericArgument (0x7f09e36b3d20) 0
+
+Class QMetaObject
+ size=32 align=8
+ base size=32 base align=8
+QMetaObject (0x7f09e36bf5b0) 0
+
+Class QMetaObjectExtraData
+ size=16 align=8
+ base size=16 base align=8
+QMetaObjectExtraData (0x7f09e36e65b0) 0
+
+Class __locale_struct
+ size=232 align=8
+ base size=232 base align=8
+__locale_struct (0x7f09e36f9000) 0
+
+Class QByteArray::Data
+ size=32 align=8
+ base size=32 base align=8
+QByteArray::Data (0x7f09e3564620) 0
+
+Class QByteArray
+ size=8 align=8
+ base size=8 base align=8
+QByteArray (0x7f09e3523380) 0
+
+Class QByteRef
+ size=16 align=8
+ base size=12 base align=8
+QByteRef (0x7f09e35ba8c0) 0
+
+Class QString::Null
+ size=1 align=1
+ base size=0 base align=1
+QString::Null (0x7f09e34c3540) 0 empty
+
+Class QString::Data
+ size=32 align=8
+ base size=32 base align=8
+QString::Data (0x7f09e34d2d20) 0
+
+Class QString
+ size=8 align=8
+ base size=8 base align=8
+QString (0x7f09e34443f0) 0
+
+Class QLatin1String
+ size=8 align=8
+ base size=8 base align=8
+QLatin1String (0x7f09e33a7e00) 0
+
+Class QCharRef
+ size=16 align=8
+ base size=12 base align=8
+QCharRef (0x7f09e3243460) 0
+
+Class QConstString
+ size=8 align=8
+ base size=8 base align=8
+QConstString (0x7f09e318dcb0) 0
+ QString (0x7f09e318dd20) 0
+
+Class QStringRef
+ size=16 align=8
+ base size=16 base align=8
+QStringRef (0x7f09e31ab9a0) 0
+
+Vtable for QObjectData
+QObjectData::_ZTV11QObjectData: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QObjectData)
+16 __cxa_pure_virtual
+24 __cxa_pure_virtual
+
+Class QObjectData
+ size=40 align=8
+ base size=40 base align=8
+QObjectData (0x7f09e3029cb0) 0
+ vptr=((& QObjectData::_ZTV11QObjectData) + 16u)
+
+Vtable for QObject
+QObject::_ZTV7QObject: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QObject)
+16 QObject::metaObject
+24 QObject::qt_metacast
+32 QObject::qt_metacall
+40 QObject::~QObject
+48 QObject::~QObject
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QObject
+ size=16 align=8
+ base size=16 base align=8
+QObject (0x7f09e3029f50) 0
+ vptr=((& QObject::_ZTV7QObject) + 16u)
+
+Vtable for QObjectUserData
+QObjectUserData::_ZTV15QObjectUserData: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QObjectUserData)
+16 QObjectUserData::~QObjectUserData
+24 QObjectUserData::~QObjectUserData
+
+Class QObjectUserData
+ size=8 align=8
+ base size=8 base align=8
+QObjectUserData (0x7f09e30a64d0) 0 nearly-empty
+ vptr=((& QObjectUserData::_ZTV15QObjectUserData) + 16u)
+
+Vtable for QIODevice
+QIODevice::_ZTV9QIODevice: 30u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QIODevice)
+16 QIODevice::metaObject
+24 QIODevice::qt_metacast
+32 QIODevice::qt_metacall
+40 QIODevice::~QIODevice
+48 QIODevice::~QIODevice
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QIODevice::isSequential
+120 QIODevice::open
+128 QIODevice::close
+136 QIODevice::pos
+144 QIODevice::size
+152 QIODevice::seek
+160 QIODevice::atEnd
+168 QIODevice::reset
+176 QIODevice::bytesAvailable
+184 QIODevice::bytesToWrite
+192 QIODevice::canReadLine
+200 QIODevice::waitForReadyRead
+208 QIODevice::waitForBytesWritten
+216 __cxa_pure_virtual
+224 QIODevice::readLineData
+232 __cxa_pure_virtual
+
+Class QIODevice
+ size=16 align=8
+ base size=16 base align=8
+QIODevice (0x7f09e30a6a10) 0
+ vptr=((& QIODevice::_ZTV9QIODevice) + 16u)
+ QObject (0x7f09e30a6a80) 0
+ primary-for QIODevice (0x7f09e30a6a10)
+
+Vtable for QDataStream
+QDataStream::_ZTV11QDataStream: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QDataStream)
+16 QDataStream::~QDataStream
+24 QDataStream::~QDataStream
+
+Class QDataStream
+ size=40 align=8
+ base size=40 base align=8
+QDataStream (0x7f09e2f0d380) 0
+ vptr=((& QDataStream::_ZTV11QDataStream) + 16u)
+
+Class QHashData::Node
+ size=16 align=8
+ base size=16 base align=8
+QHashData::Node (0x7f09e2f91230) 0
+
+Class QHashData
+ size=40 align=8
+ base size=40 base align=8
+QHashData (0x7f09e2f911c0) 0
+
+Class QHashDummyValue
+ size=1 align=1
+ base size=0 base align=1
+QHashDummyValue (0x7f09e2fa6000) 0 empty
+
+Class QMapData::Node
+ size=16 align=8
+ base size=16 base align=8
+QMapData::Node (0x7f09e2eb4770) 0
+
+Class QMapData
+ size=128 align=8
+ base size=128 base align=8
+QMapData (0x7f09e2eb4700) 0
+
+Vtable for QSystemLocale
+QSystemLocale::_ZTV13QSystemLocale: 6u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QSystemLocale)
+16 QSystemLocale::~QSystemLocale
+24 QSystemLocale::~QSystemLocale
+32 QSystemLocale::query
+40 QSystemLocale::fallbackLocale
+
+Class QSystemLocale
+ size=8 align=8
+ base size=8 base align=8
+QSystemLocale (0x7f09e2dc3ee0) 0 nearly-empty
+ vptr=((& QSystemLocale::_ZTV13QSystemLocale) + 16u)
+
+Class QLocale::Data
+ size=4 align=2
+ base size=4 base align=2
+QLocale::Data (0x7f09e2c274d0) 0
+
+Class QLocale
+ size=8 align=8
+ base size=8 base align=8
+QLocale (0x7f09e2de71c0) 0
+
+Class QTextCodec::ConverterState
+ size=32 align=8
+ base size=32 base align=8
+QTextCodec::ConverterState (0x7f09e2c75f50) 0
+
+Vtable for QTextCodec
+QTextCodec::_ZTV10QTextCodec: 9u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QTextCodec)
+16 __cxa_pure_virtual
+24 QTextCodec::aliases
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+48 __cxa_pure_virtual
+56 QTextCodec::~QTextCodec
+64 QTextCodec::~QTextCodec
+
+Class QTextCodec
+ size=8 align=8
+ base size=8 base align=8
+QTextCodec (0x7f09e2c5fb60) 0 nearly-empty
+ vptr=((& QTextCodec::_ZTV10QTextCodec) + 16u)
+
+Class QTextEncoder
+ size=40 align=8
+ base size=40 base align=8
+QTextEncoder (0x7f09e2ce14d0) 0
+
+Class QTextDecoder
+ size=40 align=8
+ base size=40 base align=8
+QTextDecoder (0x7f09e2aea310) 0
+
+Class _IO_marker
+ size=24 align=8
+ base size=24 base align=8
+_IO_marker (0x7f09e2af3380) 0
+
+Class _IO_FILE
+ size=216 align=8
+ base size=216 base align=8
+_IO_FILE (0x7f09e2af33f0) 0
+
+Vtable for QTextStream
+QTextStream::_ZTV11QTextStream: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QTextStream)
+16 QTextStream::~QTextStream
+24 QTextStream::~QTextStream
+
+Class QTextStream
+ size=16 align=8
+ base size=16 base align=8
+QTextStream (0x7f09e2af34d0) 0
+ vptr=((& QTextStream::_ZTV11QTextStream) + 16u)
+
+Class QTextStreamManipulator
+ size=40 align=8
+ base size=38 base align=8
+QTextStreamManipulator (0x7f09e2b98000) 0
+
+Vtable for QTextIStream
+QTextIStream::_ZTV12QTextIStream: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QTextIStream)
+16 QTextIStream::~QTextIStream
+24 QTextIStream::~QTextIStream
+
+Class QTextIStream
+ size=16 align=8
+ base size=16 base align=8
+QTextIStream (0x7f09e2bb62a0) 0
+ vptr=((& QTextIStream::_ZTV12QTextIStream) + 16u)
+ QTextStream (0x7f09e2bb6310) 0
+ primary-for QTextIStream (0x7f09e2bb62a0)
+
+Vtable for QTextOStream
+QTextOStream::_ZTV12QTextOStream: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QTextOStream)
+16 QTextOStream::~QTextOStream
+24 QTextOStream::~QTextOStream
+
+Class QTextOStream
+ size=16 align=8
+ base size=16 base align=8
+QTextOStream (0x7f09e2bcd150) 0
+ vptr=((& QTextOStream::_ZTV12QTextOStream) + 16u)
+ QTextStream (0x7f09e2bcd1c0) 0
+ primary-for QTextOStream (0x7f09e2bcd150)
+
+Class wait
+ size=4 align=4
+ base size=4 base align=4
+wait (0x7f09e2be0000) 0
+
+Class timespec
+ size=16 align=8
+ base size=16 base align=8
+timespec (0x7f09e2be0310) 0
+
+Class timeval
+ size=16 align=8
+ base size=16 base align=8
+timeval (0x7f09e2be0380) 0
+
+Class __pthread_internal_list
+ size=16 align=8
+ base size=16 base align=8
+__pthread_internal_list (0x7f09e2be04d0) 0
+
+Class random_data
+ size=48 align=8
+ base size=48 base align=8
+random_data (0x7f09e2be0a80) 0
+
+Class drand48_data
+ size=24 align=8
+ base size=24 base align=8
+drand48_data (0x7f09e2be0af0) 0
+
+Class QVectorData
+ size=16 align=4
+ base size=16 base align=4
+QVectorData (0x7f09e2be0b60) 0
+
+Class QDebug::Stream
+ size=40 align=8
+ base size=34 base align=8
+QDebug::Stream (0x7f09e2961310) 0
+
+Class QDebug
+ size=8 align=8
+ base size=8 base align=8
+QDebug (0x7f09e29612a0) 0
+
+Class QNoDebug
+ size=1 align=1
+ base size=0 base align=1
+QNoDebug (0x7f09e27fe150) 0 empty
+
+Class QMetaType
+ size=1 align=1
+ base size=0 base align=1
+QMetaType (0x7f09e2810700) 0 empty
+
+Class QVariant::PrivateShared
+ size=16 align=8
+ base size=12 base align=8
+QVariant::PrivateShared (0x7f09e26fac40) 0
+
+Class QVariant::Private::Data
+ size=8 align=8
+ base size=8 base align=8
+QVariant::Private::Data (0x7f09e26faf50) 0
+
+Class QVariant::Private
+ size=16 align=8
+ base size=12 base align=8
+QVariant::Private (0x7f09e26fad20) 0
+
+Class QVariant::Handler
+ size=72 align=8
+ base size=72 base align=8
+QVariant::Handler (0x7f09e270ec40) 0
+
+Class QVariant
+ size=16 align=8
+ base size=16 base align=8
+QVariant (0x7f09e28d0e00) 0
+
+Class QVariantComparisonHelper
+ size=8 align=8
+ base size=8 base align=8
+QVariantComparisonHelper (0x7f09e27cb000) 0
+
+Class Phonon::ObjectDescriptionData
+ size=16 align=8
+ base size=16 base align=8
+Phonon::ObjectDescriptionData (0x7f09e25e1000) 0
+ QSharedData (0x7f09e25e1070) 0
+
+Class Phonon::Path
+ size=8 align=8
+ base size=8 base align=8
+Phonon::Path (0x7f09e262ed20) 0
+
+Vtable for Phonon::MediaNode
+Phonon::MediaNode::_ZTVN6Phonon9MediaNodeE: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN6Phonon9MediaNodeE)
+16 Phonon::MediaNode::~MediaNode
+24 Phonon::MediaNode::~MediaNode
+
+Class Phonon::MediaNode
+ size=16 align=8
+ base size=16 base align=8
+Phonon::MediaNode (0x7f09e2650540) 0
+ vptr=((& Phonon::MediaNode::_ZTVN6Phonon9MediaNodeE) + 16u)
+
+Vtable for Phonon::AbstractVideoOutput
+Phonon::AbstractVideoOutput::_ZTVN6Phonon19AbstractVideoOutputE: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN6Phonon19AbstractVideoOutputE)
+16 Phonon::AbstractVideoOutput::~AbstractVideoOutput
+24 Phonon::AbstractVideoOutput::~AbstractVideoOutput
+
+Class Phonon::AbstractVideoOutput
+ size=16 align=8
+ base size=16 base align=8
+Phonon::AbstractVideoOutput (0x7f09e2650cb0) 0
+ vptr=((& Phonon::AbstractVideoOutput::_ZTVN6Phonon19AbstractVideoOutputE) + 16u)
+ Phonon::MediaNode (0x7f09e2650d20) 0
+ primary-for Phonon::AbstractVideoOutput (0x7f09e2650cb0)
+
+Class Phonon::MediaSource
+ size=8 align=8
+ base size=8 base align=8
+Phonon::MediaSource (0x7f09e266bbd0) 0
+
+Vtable for Phonon::EffectInterface
+Phonon::EffectInterface::_ZTVN6Phonon15EffectInterfaceE: 7u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN6Phonon15EffectInterfaceE)
+16 Phonon::EffectInterface::~EffectInterface
+24 Phonon::EffectInterface::~EffectInterface
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+48 __cxa_pure_virtual
+
+Class Phonon::EffectInterface
+ size=8 align=8
+ base size=8 base align=8
+Phonon::EffectInterface (0x7f09e268c770) 0 nearly-empty
+ vptr=((& Phonon::EffectInterface::_ZTVN6Phonon15EffectInterfaceE) + 16u)
+
+Vtable for Phonon::AddonInterface
+Phonon::AddonInterface::_ZTVN6Phonon14AddonInterfaceE: 6u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN6Phonon14AddonInterfaceE)
+16 Phonon::AddonInterface::~AddonInterface
+24 Phonon::AddonInterface::~AddonInterface
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+
+Class Phonon::AddonInterface
+ size=8 align=8
+ base size=8 base align=8
+Phonon::AddonInterface (0x7f09e26a67e0) 0 nearly-empty
+ vptr=((& Phonon::AddonInterface::_ZTVN6Phonon14AddonInterfaceE) + 16u)
+
+Class QSize
+ size=8 align=4
+ base size=8 base align=4
+QSize (0x7f09e26bea80) 0
+
+Class QSizeF
+ size=16 align=8
+ base size=16 base align=8
+QSizeF (0x7f09e250c8c0) 0
+
+Class QPoint
+ size=8 align=4
+ base size=8 base align=4
+QPoint (0x7f09e255cee0) 0
+
+Class QPointF
+ size=16 align=8
+ base size=16 base align=8
+QPointF (0x7f09e2591b60) 0
+
+Class QRect
+ size=16 align=4
+ base size=16 base align=4
+QRect (0x7f09e25d09a0) 0
+
+Class QRectF
+ size=32 align=8
+ base size=32 base align=8
+QRectF (0x7f09e2463380) 0
+
+Vtable for QPaintDevice
+QPaintDevice::_ZTV12QPaintDevice: 7u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QPaintDevice)
+16 QPaintDevice::~QPaintDevice
+24 QPaintDevice::~QPaintDevice
+32 QPaintDevice::devType
+40 __cxa_pure_virtual
+48 QPaintDevice::metric
+
+Class QPaintDevice
+ size=16 align=8
+ base size=10 base align=8
+QPaintDevice (0x7f09e230e150) 0
+ vptr=((& QPaintDevice::_ZTV12QPaintDevice) + 16u)
+
+Class QRegExp
+ size=8 align=8
+ base size=8 base align=8
+QRegExp (0x7f09e233d4d0) 0
+
+Class QStringMatcher
+ size=1048 align=8
+ base size=1048 base align=8
+QStringMatcher (0x7f09e236b310) 0
+
+Class QStringList
+ size=8 align=8
+ base size=8 base align=8
+QStringList (0x7f09e236bd90) 0
+ QList<QString> (0x7f09e236be00) 0
+
+Class QColor
+ size=16 align=4
+ base size=14 base align=4
+QColor (0x7f09e220ea10) 0
+
+Class QPolygon
+ size=8 align=8
+ base size=8 base align=8
+QPolygon (0x7f09e225de00) 0
+ QVector<QPoint> (0x7f09e225de70) 0
+
+Class QPolygonF
+ size=8 align=8
+ base size=8 base align=8
+QPolygonF (0x7f09e22a3f50) 0
+ QVector<QPointF> (0x7f09e22a3ee0) 0
+
+Class QRegion::QRegionData
+ size=32 align=8
+ base size=32 base align=8
+QRegion::QRegionData (0x7f09e2104460) 0
+
+Class QRegion
+ size=8 align=8
+ base size=8 base align=8
+QRegion (0x7f09e20e3bd0) 0
+
+Class QLine
+ size=16 align=4
+ base size=16 base align=4
+QLine (0x7f09e2119d20) 0
+
+Class QLineF
+ size=32 align=8
+ base size=32 base align=8
+QLineF (0x7f09e2154bd0) 0
+
+Class QMatrix
+ size=48 align=8
+ base size=48 base align=8
+QMatrix (0x7f09e21b1690) 0
+
+Class QPainterPath::Element
+ size=24 align=8
+ base size=24 base align=8
+QPainterPath::Element (0x7f09e1fe40e0) 0
+
+Class QPainterPath
+ size=8 align=8
+ base size=8 base align=8
+QPainterPath (0x7f09e1fe4070) 0
+
+Class QPainterPathPrivate
+ size=16 align=8
+ base size=16 base align=8
+QPainterPathPrivate (0x7f09e2027460) 0
+
+Class QPainterPathStroker
+ size=8 align=8
+ base size=8 base align=8
+QPainterPathStroker (0x7f09e2027c40) 0
+
+Class QTransform
+ size=88 align=8
+ base size=88 base align=8
+QTransform (0x7f09e2088b60) 0
+
+Class QImageTextKeyLang
+ size=16 align=8
+ base size=16 base align=8
+QImageTextKeyLang (0x7f09e1f04e70) 0
+
+Vtable for QImage
+QImage::_ZTV6QImage: 7u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI6QImage)
+16 QImage::~QImage
+24 QImage::~QImage
+32 QImage::devType
+40 QImage::paintEngine
+48 QImage::metric
+
+Class QImage
+ size=24 align=8
+ base size=24 base align=8
+QImage (0x7f09e1f38700) 0
+ vptr=((& QImage::_ZTV6QImage) + 16u)
+ QPaintDevice (0x7f09e1f38770) 0
+ primary-for QImage (0x7f09e1f38700)
+
+Vtable for QPixmap
+QPixmap::_ZTV7QPixmap: 7u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QPixmap)
+16 QPixmap::~QPixmap
+24 QPixmap::~QPixmap
+32 QPixmap::devType
+40 QPixmap::paintEngine
+48 QPixmap::metric
+
+Class QPixmap
+ size=24 align=8
+ base size=24 base align=8
+QPixmap (0x7f09e1dd8150) 0
+ vptr=((& QPixmap::_ZTV7QPixmap) + 16u)
+ QPaintDevice (0x7f09e1dd81c0) 0
+ primary-for QPixmap (0x7f09e1dd8150)
+
+Class QBrush
+ size=8 align=8
+ base size=8 base align=8
+QBrush (0x7f09e1e26310) 0
+
+Class QBrushData
+ size=112 align=8
+ base size=112 base align=8
+QBrushData (0x7f09e1e3dee0) 0
+
+Class QGradient
+ size=64 align=8
+ base size=64 base align=8
+QGradient (0x7f09e1e580e0) 0
+
+Class QLinearGradient
+ size=64 align=8
+ base size=64 base align=8
+QLinearGradient (0x7f09e1e88b60) 0
+ QGradient (0x7f09e1e88bd0) 0
+
+Class QRadialGradient
+ size=64 align=8
+ base size=64 base align=8
+QRadialGradient (0x7f09e1e95070) 0
+ QGradient (0x7f09e1e950e0) 0
+
+Class QConicalGradient
+ size=64 align=8
+ base size=64 base align=8
+QConicalGradient (0x7f09e1e95620) 0
+ QGradient (0x7f09e1e95690) 0
+
+Class QPalette
+ size=16 align=8
+ base size=12 base align=8
+QPalette (0x7f09e1e959a0) 0
+
+Class QColorGroup
+ size=16 align=8
+ base size=12 base align=8
+QColorGroup (0x7f09e1cb1310) 0
+ QPalette (0x7f09e1cb1380) 0
+
+Class QFont
+ size=16 align=8
+ base size=12 base align=8
+QFont (0x7f09e1ce9620) 0
+
+Class QFontMetrics
+ size=8 align=8
+ base size=8 base align=8
+QFontMetrics (0x7f09e1d242a0) 0
+
+Class QFontMetricsF
+ size=8 align=8
+ base size=8 base align=8
+QFontMetricsF (0x7f09e1d38700) 0
+
+Class QFontInfo
+ size=8 align=8
+ base size=8 base align=8
+QFontInfo (0x7f09e1d4f620) 0
+
+Class QSizePolicy
+ size=4 align=4
+ base size=4 base align=4
+QSizePolicy (0x7f09e1d5a150) 0
+
+Class QCursor
+ size=8 align=8
+ base size=8 base align=8
+QCursor (0x7f09e1c03e70) 0
+
+Class QKeySequence
+ size=8 align=8
+ base size=8 base align=8
+QKeySequence (0x7f09e1c06690) 0
+
+Class QWidgetData
+ size=88 align=8
+ base size=88 base align=8
+QWidgetData (0x7f09e1c4f2a0) 0
+
+Vtable for QWidget
+QWidget::_ZTV7QWidget: 63u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QWidget)
+16 QWidget::metaObject
+24 QWidget::qt_metacast
+32 QWidget::qt_metacall
+40 QWidget::~QWidget
+48 QWidget::~QWidget
+56 QWidget::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QWidget::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QWidget::paintEvent
+256 QWidget::moveEvent
+264 QWidget::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QWidget::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 (int (*)(...))-0x00000000000000010
+456 (int (*)(...))(& _ZTI7QWidget)
+464 QWidget::_ZThn16_N7QWidgetD1Ev
+472 QWidget::_ZThn16_N7QWidgetD0Ev
+480 QWidget::_ZThn16_NK7QWidget7devTypeEv
+488 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+496 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QWidget
+ size=40 align=8
+ base size=40 base align=8
+QWidget (0x7f09e1c4a780) 0
+ vptr=((& QWidget::_ZTV7QWidget) + 16u)
+ QObject (0x7f09e1c4f310) 0
+ primary-for QWidget (0x7f09e1c4a780)
+ QPaintDevice (0x7f09e1c4f380) 16
+ vptr=((& QWidget::_ZTV7QWidget) + 464u)
+
+Vtable for Phonon::VideoPlayer
+Phonon::VideoPlayer::_ZTVN6Phonon11VideoPlayerE: 63u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN6Phonon11VideoPlayerE)
+16 Phonon::VideoPlayer::metaObject
+24 Phonon::VideoPlayer::qt_metacast
+32 Phonon::VideoPlayer::qt_metacall
+40 Phonon::VideoPlayer::~VideoPlayer
+48 Phonon::VideoPlayer::~VideoPlayer
+56 QWidget::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QWidget::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QWidget::paintEvent
+256 QWidget::moveEvent
+264 QWidget::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QWidget::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 (int (*)(...))-0x00000000000000010
+456 (int (*)(...))(& _ZTIN6Phonon11VideoPlayerE)
+464 Phonon::VideoPlayer::_ZThn16_N6Phonon11VideoPlayerD1Ev
+472 Phonon::VideoPlayer::_ZThn16_N6Phonon11VideoPlayerD0Ev
+480 QWidget::_ZThn16_NK7QWidget7devTypeEv
+488 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+496 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class Phonon::VideoPlayer
+ size=48 align=8
+ base size=48 base align=8
+Phonon::VideoPlayer (0x7f09e19a80e0) 0
+ vptr=((& Phonon::VideoPlayer::_ZTVN6Phonon11VideoPlayerE) + 16u)
+ QWidget (0x7f09e19a9180) 0
+ primary-for Phonon::VideoPlayer (0x7f09e19a80e0)
+ QObject (0x7f09e19a8150) 0
+ primary-for QWidget (0x7f09e19a9180)
+ QPaintDevice (0x7f09e19a81c0) 16
+ vptr=((& Phonon::VideoPlayer::_ZTVN6Phonon11VideoPlayerE) + 464u)
+
+Vtable for Phonon::Effect
+Phonon::Effect::_ZTVN6Phonon6EffectE: 18u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN6Phonon6EffectE)
+16 Phonon::Effect::metaObject
+24 Phonon::Effect::qt_metacast
+32 Phonon::Effect::qt_metacall
+40 Phonon::Effect::~Effect
+48 Phonon::Effect::~Effect
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 (int (*)(...))-0x00000000000000010
+120 (int (*)(...))(& _ZTIN6Phonon6EffectE)
+128 Phonon::Effect::_ZThn16_N6Phonon6EffectD1Ev
+136 Phonon::Effect::_ZThn16_N6Phonon6EffectD0Ev
+
+Class Phonon::Effect
+ size=32 align=8
+ base size=32 base align=8
+Phonon::Effect (0x7f09e19a9880) 0
+ vptr=((& Phonon::Effect::_ZTVN6Phonon6EffectE) + 16u)
+ QObject (0x7f09e19c4150) 0
+ primary-for Phonon::Effect (0x7f09e19a9880)
+ Phonon::MediaNode (0x7f09e19c41c0) 16
+ vptr=((& Phonon::Effect::_ZTVN6Phonon6EffectE) + 128u)
+
+Vtable for Phonon::VolumeFaderEffect
+Phonon::VolumeFaderEffect::_ZTVN6Phonon17VolumeFaderEffectE: 18u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN6Phonon17VolumeFaderEffectE)
+16 Phonon::VolumeFaderEffect::metaObject
+24 Phonon::VolumeFaderEffect::qt_metacast
+32 Phonon::VolumeFaderEffect::qt_metacall
+40 Phonon::VolumeFaderEffect::~VolumeFaderEffect
+48 Phonon::VolumeFaderEffect::~VolumeFaderEffect
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 (int (*)(...))-0x00000000000000010
+120 (int (*)(...))(& _ZTIN6Phonon17VolumeFaderEffectE)
+128 Phonon::VolumeFaderEffect::_ZThn16_N6Phonon17VolumeFaderEffectD1Ev
+136 Phonon::VolumeFaderEffect::_ZThn16_N6Phonon17VolumeFaderEffectD0Ev
+
+Class Phonon::VolumeFaderEffect
+ size=32 align=8
+ base size=32 base align=8
+Phonon::VolumeFaderEffect (0x7f09e19d6620) 0
+ vptr=((& Phonon::VolumeFaderEffect::_ZTVN6Phonon17VolumeFaderEffectE) + 16u)
+ Phonon::Effect (0x7f09e19d7180) 0
+ primary-for Phonon::VolumeFaderEffect (0x7f09e19d6620)
+ QObject (0x7f09e19d6690) 0
+ primary-for Phonon::Effect (0x7f09e19d7180)
+ Phonon::MediaNode (0x7f09e19d6700) 16
+ vptr=((& Phonon::VolumeFaderEffect::_ZTVN6Phonon17VolumeFaderEffectE) + 128u)
+
+Class QModelIndex
+ size=24 align=8
+ base size=24 base align=8
+QModelIndex (0x7f09e19e8c40) 0
+
+Class QPersistentModelIndex
+ size=8 align=8
+ base size=8 base align=8
+QPersistentModelIndex (0x7f09e1a12700) 0
+
+Vtable for QAbstractItemModel
+QAbstractItemModel::_ZTV18QAbstractItemModel: 42u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QAbstractItemModel)
+16 QAbstractItemModel::metaObject
+24 QAbstractItemModel::qt_metacast
+32 QAbstractItemModel::qt_metacall
+40 QAbstractItemModel::~QAbstractItemModel
+48 QAbstractItemModel::~QAbstractItemModel
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 __cxa_pure_virtual
+136 __cxa_pure_virtual
+144 QAbstractItemModel::hasChildren
+152 __cxa_pure_virtual
+160 QAbstractItemModel::setData
+168 QAbstractItemModel::headerData
+176 QAbstractItemModel::setHeaderData
+184 QAbstractItemModel::itemData
+192 QAbstractItemModel::setItemData
+200 QAbstractItemModel::mimeTypes
+208 QAbstractItemModel::mimeData
+216 QAbstractItemModel::dropMimeData
+224 QAbstractItemModel::supportedDropActions
+232 QAbstractItemModel::insertRows
+240 QAbstractItemModel::insertColumns
+248 QAbstractItemModel::removeRows
+256 QAbstractItemModel::removeColumns
+264 QAbstractItemModel::fetchMore
+272 QAbstractItemModel::canFetchMore
+280 QAbstractItemModel::flags
+288 QAbstractItemModel::sort
+296 QAbstractItemModel::buddy
+304 QAbstractItemModel::match
+312 QAbstractItemModel::span
+320 QAbstractItemModel::submit
+328 QAbstractItemModel::revert
+
+Class QAbstractItemModel
+ size=16 align=8
+ base size=16 base align=8
+QAbstractItemModel (0x7f09e1a1da10) 0
+ vptr=((& QAbstractItemModel::_ZTV18QAbstractItemModel) + 16u)
+ QObject (0x7f09e1a1da80) 0
+ primary-for QAbstractItemModel (0x7f09e1a1da10)
+
+Vtable for QAbstractTableModel
+QAbstractTableModel::_ZTV19QAbstractTableModel: 42u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QAbstractTableModel)
+16 QAbstractTableModel::metaObject
+24 QAbstractTableModel::qt_metacast
+32 QAbstractTableModel::qt_metacall
+40 QAbstractTableModel::~QAbstractTableModel
+48 QAbstractTableModel::~QAbstractTableModel
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QAbstractTableModel::index
+120 QAbstractTableModel::parent
+128 __cxa_pure_virtual
+136 __cxa_pure_virtual
+144 QAbstractTableModel::hasChildren
+152 __cxa_pure_virtual
+160 QAbstractItemModel::setData
+168 QAbstractItemModel::headerData
+176 QAbstractItemModel::setHeaderData
+184 QAbstractItemModel::itemData
+192 QAbstractItemModel::setItemData
+200 QAbstractItemModel::mimeTypes
+208 QAbstractItemModel::mimeData
+216 QAbstractTableModel::dropMimeData
+224 QAbstractItemModel::supportedDropActions
+232 QAbstractItemModel::insertRows
+240 QAbstractItemModel::insertColumns
+248 QAbstractItemModel::removeRows
+256 QAbstractItemModel::removeColumns
+264 QAbstractItemModel::fetchMore
+272 QAbstractItemModel::canFetchMore
+280 QAbstractItemModel::flags
+288 QAbstractItemModel::sort
+296 QAbstractItemModel::buddy
+304 QAbstractItemModel::match
+312 QAbstractItemModel::span
+320 QAbstractItemModel::submit
+328 QAbstractItemModel::revert
+
+Class QAbstractTableModel
+ size=16 align=8
+ base size=16 base align=8
+QAbstractTableModel (0x7f09e1871d20) 0
+ vptr=((& QAbstractTableModel::_ZTV19QAbstractTableModel) + 16u)
+ QAbstractItemModel (0x7f09e1871d90) 0
+ primary-for QAbstractTableModel (0x7f09e1871d20)
+ QObject (0x7f09e1871e00) 0
+ primary-for QAbstractItemModel (0x7f09e1871d90)
+
+Vtable for QAbstractListModel
+QAbstractListModel::_ZTV18QAbstractListModel: 42u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QAbstractListModel)
+16 QAbstractListModel::metaObject
+24 QAbstractListModel::qt_metacast
+32 QAbstractListModel::qt_metacall
+40 QAbstractListModel::~QAbstractListModel
+48 QAbstractListModel::~QAbstractListModel
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QAbstractListModel::index
+120 QAbstractListModel::parent
+128 __cxa_pure_virtual
+136 QAbstractListModel::columnCount
+144 QAbstractListModel::hasChildren
+152 __cxa_pure_virtual
+160 QAbstractItemModel::setData
+168 QAbstractItemModel::headerData
+176 QAbstractItemModel::setHeaderData
+184 QAbstractItemModel::itemData
+192 QAbstractItemModel::setItemData
+200 QAbstractItemModel::mimeTypes
+208 QAbstractItemModel::mimeData
+216 QAbstractListModel::dropMimeData
+224 QAbstractItemModel::supportedDropActions
+232 QAbstractItemModel::insertRows
+240 QAbstractItemModel::insertColumns
+248 QAbstractItemModel::removeRows
+256 QAbstractItemModel::removeColumns
+264 QAbstractItemModel::fetchMore
+272 QAbstractItemModel::canFetchMore
+280 QAbstractItemModel::flags
+288 QAbstractItemModel::sort
+296 QAbstractItemModel::buddy
+304 QAbstractItemModel::match
+312 QAbstractItemModel::span
+320 QAbstractItemModel::submit
+328 QAbstractItemModel::revert
+
+Class QAbstractListModel
+ size=16 align=8
+ base size=16 base align=8
+QAbstractListModel (0x7f09e188c2a0) 0
+ vptr=((& QAbstractListModel::_ZTV18QAbstractListModel) + 16u)
+ QAbstractItemModel (0x7f09e188c310) 0
+ primary-for QAbstractListModel (0x7f09e188c2a0)
+ QObject (0x7f09e188c380) 0
+ primary-for QAbstractItemModel (0x7f09e188c310)
+
+Class Phonon::ObjectDescriptionModelData
+ size=8 align=8
+ base size=8 base align=8
+Phonon::ObjectDescriptionModelData (0x7f09e18bd3f0) 0
+
+Vtable for Phonon::StreamInterface
+Phonon::StreamInterface::_ZTVN6Phonon15StreamInterfaceE: 8u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN6Phonon15StreamInterfaceE)
+16 Phonon::StreamInterface::~StreamInterface
+24 Phonon::StreamInterface::~StreamInterface
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+48 __cxa_pure_virtual
+56 __cxa_pure_virtual
+
+Class Phonon::StreamInterface
+ size=16 align=8
+ base size=16 base align=8
+Phonon::StreamInterface (0x7f09e1906540) 0
+ vptr=((& Phonon::StreamInterface::_ZTVN6Phonon15StreamInterfaceE) + 16u)
+
+Vtable for Phonon::SeekSlider
+Phonon::SeekSlider::_ZTVN6Phonon10SeekSliderE: 63u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN6Phonon10SeekSliderE)
+16 Phonon::SeekSlider::metaObject
+24 Phonon::SeekSlider::qt_metacast
+32 Phonon::SeekSlider::qt_metacall
+40 Phonon::SeekSlider::~SeekSlider
+48 Phonon::SeekSlider::~SeekSlider
+56 QWidget::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QWidget::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QWidget::paintEvent
+256 QWidget::moveEvent
+264 QWidget::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QWidget::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 (int (*)(...))-0x00000000000000010
+456 (int (*)(...))(& _ZTIN6Phonon10SeekSliderE)
+464 Phonon::SeekSlider::_ZThn16_N6Phonon10SeekSliderD1Ev
+472 Phonon::SeekSlider::_ZThn16_N6Phonon10SeekSliderD0Ev
+480 QWidget::_ZThn16_NK7QWidget7devTypeEv
+488 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+496 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class Phonon::SeekSlider
+ size=48 align=8
+ base size=48 base align=8
+Phonon::SeekSlider (0x7f09e1906e00) 0
+ vptr=((& Phonon::SeekSlider::_ZTVN6Phonon10SeekSliderE) + 16u)
+ QWidget (0x7f09e194e080) 0
+ primary-for Phonon::SeekSlider (0x7f09e1906e00)
+ QObject (0x7f09e1906e70) 0
+ primary-for QWidget (0x7f09e194e080)
+ QPaintDevice (0x7f09e1906ee0) 16
+ vptr=((& Phonon::SeekSlider::_ZTVN6Phonon10SeekSliderE) + 464u)
+
+Vtable for Phonon::PlatformPlugin
+Phonon::PlatformPlugin::_ZTVN6Phonon14PlatformPluginE: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN6Phonon14PlatformPluginE)
+16 Phonon::PlatformPlugin::~PlatformPlugin
+24 Phonon::PlatformPlugin::~PlatformPlugin
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+48 __cxa_pure_virtual
+56 __cxa_pure_virtual
+64 __cxa_pure_virtual
+72 __cxa_pure_virtual
+80 __cxa_pure_virtual
+88 __cxa_pure_virtual
+96 __cxa_pure_virtual
+104 __cxa_pure_virtual
+112 __cxa_pure_virtual
+120 Phonon::PlatformPlugin::deviceAccessListFor
+
+Class Phonon::PlatformPlugin
+ size=8 align=8
+ base size=8 base align=8
+Phonon::PlatformPlugin (0x7f09e17692a0) 0 nearly-empty
+ vptr=((& Phonon::PlatformPlugin::_ZTVN6Phonon14PlatformPluginE) + 16u)
+
+Vtable for Phonon::MediaController
+Phonon::MediaController::_ZTVN6Phonon15MediaControllerE: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN6Phonon15MediaControllerE)
+16 Phonon::MediaController::metaObject
+24 Phonon::MediaController::qt_metacast
+32 Phonon::MediaController::qt_metacall
+40 Phonon::MediaController::~MediaController
+48 Phonon::MediaController::~MediaController
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class Phonon::MediaController
+ size=24 align=8
+ base size=24 base align=8
+Phonon::MediaController (0x7f09e179c700) 0
+ vptr=((& Phonon::MediaController::_ZTVN6Phonon15MediaControllerE) + 16u)
+ QObject (0x7f09e179c770) 0
+ primary-for Phonon::MediaController (0x7f09e179c700)
+
+Vtable for Phonon::VolumeSlider
+Phonon::VolumeSlider::_ZTVN6Phonon12VolumeSliderE: 63u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN6Phonon12VolumeSliderE)
+16 Phonon::VolumeSlider::metaObject
+24 Phonon::VolumeSlider::qt_metacast
+32 Phonon::VolumeSlider::qt_metacall
+40 Phonon::VolumeSlider::~VolumeSlider
+48 Phonon::VolumeSlider::~VolumeSlider
+56 QWidget::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QWidget::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QWidget::paintEvent
+256 QWidget::moveEvent
+264 QWidget::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QWidget::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 (int (*)(...))-0x00000000000000010
+456 (int (*)(...))(& _ZTIN6Phonon12VolumeSliderE)
+464 Phonon::VolumeSlider::_ZThn16_N6Phonon12VolumeSliderD1Ev
+472 Phonon::VolumeSlider::_ZThn16_N6Phonon12VolumeSliderD0Ev
+480 QWidget::_ZThn16_NK7QWidget7devTypeEv
+488 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+496 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class Phonon::VolumeSlider
+ size=48 align=8
+ base size=48 base align=8
+Phonon::VolumeSlider (0x7f09e17d2620) 0
+ vptr=((& Phonon::VolumeSlider::_ZTVN6Phonon12VolumeSliderE) + 16u)
+ QWidget (0x7f09e17e0080) 0
+ primary-for Phonon::VolumeSlider (0x7f09e17d2620)
+ QObject (0x7f09e17d2690) 0
+ primary-for QWidget (0x7f09e17e0080)
+ QPaintDevice (0x7f09e17d2700) 16
+ vptr=((& Phonon::VolumeSlider::_ZTVN6Phonon12VolumeSliderE) + 464u)
+
+Vtable for Phonon::MediaObject
+Phonon::MediaObject::_ZTVN6Phonon11MediaObjectE: 18u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN6Phonon11MediaObjectE)
+16 Phonon::MediaObject::metaObject
+24 Phonon::MediaObject::qt_metacast
+32 Phonon::MediaObject::qt_metacall
+40 Phonon::MediaObject::~MediaObject
+48 Phonon::MediaObject::~MediaObject
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 (int (*)(...))-0x00000000000000010
+120 (int (*)(...))(& _ZTIN6Phonon11MediaObjectE)
+128 Phonon::MediaObject::_ZThn16_N6Phonon11MediaObjectD1Ev
+136 Phonon::MediaObject::_ZThn16_N6Phonon11MediaObjectD0Ev
+
+Class Phonon::MediaObject
+ size=32 align=8
+ base size=32 base align=8
+Phonon::MediaObject (0x7f09e17e0980) 0
+ vptr=((& Phonon::MediaObject::_ZTVN6Phonon11MediaObjectE) + 16u)
+ QObject (0x7f09e17f5af0) 0
+ primary-for Phonon::MediaObject (0x7f09e17e0980)
+ Phonon::MediaNode (0x7f09e17f5b60) 16
+ vptr=((& Phonon::MediaObject::_ZTVN6Phonon11MediaObjectE) + 128u)
+
+Vtable for Phonon::EffectWidget
+Phonon::EffectWidget::_ZTVN6Phonon12EffectWidgetE: 63u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN6Phonon12EffectWidgetE)
+16 Phonon::EffectWidget::metaObject
+24 Phonon::EffectWidget::qt_metacast
+32 Phonon::EffectWidget::qt_metacall
+40 Phonon::EffectWidget::~EffectWidget
+48 Phonon::EffectWidget::~EffectWidget
+56 QWidget::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QWidget::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QWidget::paintEvent
+256 QWidget::moveEvent
+264 QWidget::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QWidget::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 (int (*)(...))-0x00000000000000010
+456 (int (*)(...))(& _ZTIN6Phonon12EffectWidgetE)
+464 Phonon::EffectWidget::_ZThn16_N6Phonon12EffectWidgetD1Ev
+472 Phonon::EffectWidget::_ZThn16_N6Phonon12EffectWidgetD0Ev
+480 QWidget::_ZThn16_NK7QWidget7devTypeEv
+488 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+496 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class Phonon::EffectWidget
+ size=48 align=8
+ base size=48 base align=8
+Phonon::EffectWidget (0x7f09e181d0e0) 0
+ vptr=((& Phonon::EffectWidget::_ZTVN6Phonon12EffectWidgetE) + 16u)
+ QWidget (0x7f09e1819280) 0
+ primary-for Phonon::EffectWidget (0x7f09e181d0e0)
+ QObject (0x7f09e181d150) 0
+ primary-for QWidget (0x7f09e1819280)
+ QPaintDevice (0x7f09e181d1c0) 16
+ vptr=((& Phonon::EffectWidget::_ZTVN6Phonon12EffectWidgetE) + 464u)
+
+Class Phonon::EffectParameter
+ size=8 align=8
+ base size=8 base align=8
+Phonon::EffectParameter (0x7f09e1830460) 0
+
+Vtable for Phonon::VolumeFaderInterface
+Phonon::VolumeFaderInterface::_ZTVN6Phonon20VolumeFaderInterfaceE: 9u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN6Phonon20VolumeFaderInterfaceE)
+16 Phonon::VolumeFaderInterface::~VolumeFaderInterface
+24 Phonon::VolumeFaderInterface::~VolumeFaderInterface
+32 Phonon::VolumeFaderInterface::volume
+40 Phonon::VolumeFaderInterface::setVolume
+48 Phonon::VolumeFaderInterface::fadeCurve
+56 Phonon::VolumeFaderInterface::setFadeCurve
+64 Phonon::VolumeFaderInterface::fadeTo
+
+Class Phonon::VolumeFaderInterface
+ size=8 align=8
+ base size=8 base align=8
+Phonon::VolumeFaderInterface (0x7f09e166d070) 0 nearly-empty
+ vptr=((& Phonon::VolumeFaderInterface::_ZTVN6Phonon20VolumeFaderInterfaceE) + 16u)
+
+Vtable for Phonon::AbstractAudioOutput
+Phonon::AbstractAudioOutput::_ZTVN6Phonon19AbstractAudioOutputE: 18u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN6Phonon19AbstractAudioOutputE)
+16 Phonon::AbstractAudioOutput::metaObject
+24 Phonon::AbstractAudioOutput::qt_metacast
+32 Phonon::AbstractAudioOutput::qt_metacall
+40 Phonon::AbstractAudioOutput::~AbstractAudioOutput
+48 Phonon::AbstractAudioOutput::~AbstractAudioOutput
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 (int (*)(...))-0x00000000000000010
+120 (int (*)(...))(& _ZTIN6Phonon19AbstractAudioOutputE)
+128 Phonon::AbstractAudioOutput::_ZThn16_N6Phonon19AbstractAudioOutputD1Ev
+136 Phonon::AbstractAudioOutput::_ZThn16_N6Phonon19AbstractAudioOutputD0Ev
+
+Class Phonon::AbstractAudioOutput
+ size=32 align=8
+ base size=32 base align=8
+Phonon::AbstractAudioOutput (0x7f09e1676f00) 0
+ vptr=((& Phonon::AbstractAudioOutput::_ZTVN6Phonon19AbstractAudioOutputE) + 16u)
+ QObject (0x7f09e1677930) 0
+ primary-for Phonon::AbstractAudioOutput (0x7f09e1676f00)
+ Phonon::MediaNode (0x7f09e16779a0) 16
+ vptr=((& Phonon::AbstractAudioOutput::_ZTVN6Phonon19AbstractAudioOutputE) + 128u)
+
+Vtable for Phonon::AudioOutput
+Phonon::AudioOutput::_ZTVN6Phonon11AudioOutputE: 18u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN6Phonon11AudioOutputE)
+16 Phonon::AudioOutput::metaObject
+24 Phonon::AudioOutput::qt_metacast
+32 Phonon::AudioOutput::qt_metacall
+40 Phonon::AudioOutput::~AudioOutput
+48 Phonon::AudioOutput::~AudioOutput
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 (int (*)(...))-0x00000000000000010
+120 (int (*)(...))(& _ZTIN6Phonon11AudioOutputE)
+128 Phonon::AudioOutput::_ZThn16_N6Phonon11AudioOutputD1Ev
+136 Phonon::AudioOutput::_ZThn16_N6Phonon11AudioOutputD0Ev
+
+Class Phonon::AudioOutput
+ size=32 align=8
+ base size=32 base align=8
+Phonon::AudioOutput (0x7f09e168bd20) 0
+ vptr=((& Phonon::AudioOutput::_ZTVN6Phonon11AudioOutputE) + 16u)
+ Phonon::AbstractAudioOutput (0x7f09e1680800) 0
+ primary-for Phonon::AudioOutput (0x7f09e168bd20)
+ QObject (0x7f09e168bd90) 0
+ primary-for Phonon::AbstractAudioOutput (0x7f09e1680800)
+ Phonon::MediaNode (0x7f09e168be00) 16
+ vptr=((& Phonon::AudioOutput::_ZTVN6Phonon11AudioOutputE) + 128u)
+
+Vtable for Phonon::AudioOutputInterface40
+Phonon::AudioOutputInterface40::_ZTVN6Phonon22AudioOutputInterface40E: 8u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN6Phonon22AudioOutputInterface40E)
+16 Phonon::AudioOutputInterface40::~AudioOutputInterface40
+24 Phonon::AudioOutputInterface40::~AudioOutputInterface40
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+48 __cxa_pure_virtual
+56 __cxa_pure_virtual
+
+Class Phonon::AudioOutputInterface40
+ size=8 align=8
+ base size=8 base align=8
+Phonon::AudioOutputInterface40 (0x7f09e16ac2a0) 0 nearly-empty
+ vptr=((& Phonon::AudioOutputInterface40::_ZTVN6Phonon22AudioOutputInterface40E) + 16u)
+
+Vtable for Phonon::AudioOutputInterface42
+Phonon::AudioOutputInterface42::_ZTVN6Phonon22AudioOutputInterface42E: 9u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN6Phonon22AudioOutputInterface42E)
+16 Phonon::AudioOutputInterface42::~AudioOutputInterface42
+24 Phonon::AudioOutputInterface42::~AudioOutputInterface42
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+48 __cxa_pure_virtual
+56 __cxa_pure_virtual
+64 __cxa_pure_virtual
+
+Class Phonon::AudioOutputInterface42
+ size=8 align=8
+ base size=8 base align=8
+Phonon::AudioOutputInterface42 (0x7f09e16accb0) 0 nearly-empty
+ vptr=((& Phonon::AudioOutputInterface42::_ZTVN6Phonon22AudioOutputInterface42E) + 16u)
+ Phonon::AudioOutputInterface40 (0x7f09e16acd20) 0 nearly-empty
+ primary-for Phonon::AudioOutputInterface42 (0x7f09e16accb0)
+
+Vtable for Phonon::BackendCapabilities::Notifier
+Phonon::BackendCapabilities::Notifier::_ZTVN6Phonon19BackendCapabilities8NotifierE: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN6Phonon19BackendCapabilities8NotifierE)
+16 Phonon::BackendCapabilities::Notifier::metaObject
+24 Phonon::BackendCapabilities::Notifier::qt_metacast
+32 Phonon::BackendCapabilities::Notifier::qt_metacall
+40 Phonon::BackendCapabilities::Notifier::~Notifier
+48 Phonon::BackendCapabilities::Notifier::~Notifier
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class Phonon::BackendCapabilities::Notifier
+ size=16 align=8
+ base size=16 base align=8
+Phonon::BackendCapabilities::Notifier (0x7f09e16bac40) 0
+ vptr=((& Phonon::BackendCapabilities::Notifier::_ZTVN6Phonon19BackendCapabilities8NotifierE) + 16u)
+ QObject (0x7f09e16bacb0) 0
+ primary-for Phonon::BackendCapabilities::Notifier (0x7f09e16bac40)
+
+Vtable for Phonon::BackendInterface
+Phonon::BackendInterface::_ZTVN6Phonon16BackendInterfaceE: 12u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN6Phonon16BackendInterfaceE)
+16 Phonon::BackendInterface::~BackendInterface
+24 Phonon::BackendInterface::~BackendInterface
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+48 __cxa_pure_virtual
+56 __cxa_pure_virtual
+64 __cxa_pure_virtual
+72 __cxa_pure_virtual
+80 __cxa_pure_virtual
+88 __cxa_pure_virtual
+
+Class Phonon::BackendInterface
+ size=8 align=8
+ base size=8 base align=8
+Phonon::BackendInterface (0x7f09e16ce9a0) 0 nearly-empty
+ vptr=((& Phonon::BackendInterface::_ZTVN6Phonon16BackendInterfaceE) + 16u)
+
+Vtable for Phonon::AbstractMediaStream
+Phonon::AbstractMediaStream::_ZTVN6Phonon19AbstractMediaStreamE: 18u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN6Phonon19AbstractMediaStreamE)
+16 Phonon::AbstractMediaStream::metaObject
+24 Phonon::AbstractMediaStream::qt_metacast
+32 Phonon::AbstractMediaStream::qt_metacall
+40 Phonon::AbstractMediaStream::~AbstractMediaStream
+48 Phonon::AbstractMediaStream::~AbstractMediaStream
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 Phonon::AbstractMediaStream::enoughData
+136 Phonon::AbstractMediaStream::seekStream
+
+Class Phonon::AbstractMediaStream
+ size=24 align=8
+ base size=24 base align=8
+Phonon::AbstractMediaStream (0x7f09e16dfc40) 0
+ vptr=((& Phonon::AbstractMediaStream::_ZTVN6Phonon19AbstractMediaStreamE) + 16u)
+ QObject (0x7f09e16dfcb0) 0
+ primary-for Phonon::AbstractMediaStream (0x7f09e16dfc40)
+
+Vtable for Phonon::VideoWidget
+Phonon::VideoWidget::_ZTVN6Phonon11VideoWidgetE: 67u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN6Phonon11VideoWidgetE)
+16 Phonon::VideoWidget::metaObject
+24 Phonon::VideoWidget::qt_metacast
+32 Phonon::VideoWidget::qt_metacall
+40 Phonon::VideoWidget::~VideoWidget
+48 Phonon::VideoWidget::~VideoWidget
+56 Phonon::VideoWidget::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QWidget::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 Phonon::VideoWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QWidget::paintEvent
+256 QWidget::moveEvent
+264 QWidget::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QWidget::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 (int (*)(...))-0x00000000000000010
+456 (int (*)(...))(& _ZTIN6Phonon11VideoWidgetE)
+464 Phonon::VideoWidget::_ZThn16_N6Phonon11VideoWidgetD1Ev
+472 Phonon::VideoWidget::_ZThn16_N6Phonon11VideoWidgetD0Ev
+480 QWidget::_ZThn16_NK7QWidget7devTypeEv
+488 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+496 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+504 (int (*)(...))-0x00000000000000028
+512 (int (*)(...))(& _ZTIN6Phonon11VideoWidgetE)
+520 Phonon::VideoWidget::_ZThn40_N6Phonon11VideoWidgetD1Ev
+528 Phonon::VideoWidget::_ZThn40_N6Phonon11VideoWidgetD0Ev
+
+Class Phonon::VideoWidget
+ size=56 align=8
+ base size=56 base align=8
+Phonon::VideoWidget (0x7f09e16e8900) 0
+ vptr=((& Phonon::VideoWidget::_ZTVN6Phonon11VideoWidgetE) + 16u)
+ QWidget (0x7f09e16e8980) 0
+ primary-for Phonon::VideoWidget (0x7f09e16e8900)
+ QObject (0x7f09e16fd0e0) 0
+ primary-for QWidget (0x7f09e16e8980)
+ QPaintDevice (0x7f09e16fd150) 16
+ vptr=((& Phonon::VideoWidget::_ZTVN6Phonon11VideoWidgetE) + 464u)
+ Phonon::AbstractVideoOutput (0x7f09e16fd1c0) 40
+ vptr=((& Phonon::VideoWidget::_ZTVN6Phonon11VideoWidgetE) + 520u)
+ Phonon::MediaNode (0x7f09e16fd230) 40
+ primary-for Phonon::AbstractVideoOutput (0x7f09e16fd1c0)
+
+Vtable for Phonon::VideoWidgetInterface
+Phonon::VideoWidgetInterface::_ZTVN6Phonon20VideoWidgetInterfaceE: 17u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN6Phonon20VideoWidgetInterfaceE)
+16 Phonon::VideoWidgetInterface::~VideoWidgetInterface
+24 Phonon::VideoWidgetInterface::~VideoWidgetInterface
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+48 __cxa_pure_virtual
+56 __cxa_pure_virtual
+64 __cxa_pure_virtual
+72 __cxa_pure_virtual
+80 __cxa_pure_virtual
+88 __cxa_pure_virtual
+96 __cxa_pure_virtual
+104 __cxa_pure_virtual
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 __cxa_pure_virtual
+
+Class Phonon::VideoWidgetInterface
+ size=8 align=8
+ base size=8 base align=8
+Phonon::VideoWidgetInterface (0x7f09e1717a80) 0 nearly-empty
+ vptr=((& Phonon::VideoWidgetInterface::_ZTVN6Phonon20VideoWidgetInterfaceE) + 16u)
+
+Vtable for Phonon::MediaObjectInterface
+Phonon::MediaObjectInterface::_ZTVN6Phonon20MediaObjectInterfaceE: 25u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN6Phonon20MediaObjectInterfaceE)
+16 Phonon::MediaObjectInterface::~MediaObjectInterface
+24 Phonon::MediaObjectInterface::~MediaObjectInterface
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+48 __cxa_pure_virtual
+56 __cxa_pure_virtual
+64 __cxa_pure_virtual
+72 __cxa_pure_virtual
+80 __cxa_pure_virtual
+88 __cxa_pure_virtual
+96 __cxa_pure_virtual
+104 __cxa_pure_virtual
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 __cxa_pure_virtual
+136 __cxa_pure_virtual
+144 __cxa_pure_virtual
+152 __cxa_pure_virtual
+160 Phonon::MediaObjectInterface::remainingTime
+168 __cxa_pure_virtual
+176 __cxa_pure_virtual
+184 __cxa_pure_virtual
+192 __cxa_pure_virtual
+
+Class Phonon::MediaObjectInterface
+ size=8 align=8
+ base size=8 base align=8
+Phonon::MediaObjectInterface (0x7f09e1727ee0) 0 nearly-empty
+ vptr=((& Phonon::MediaObjectInterface::_ZTVN6Phonon20MediaObjectInterfaceE) + 16u)
+
diff --git a/tests/auto/bic/data/phonon.4.6.0.linux-gcc-amd64.txt b/tests/auto/bic/data/phonon.4.6.0.linux-gcc-amd64.txt
new file mode 100644
index 0000000000..b96209907c
--- /dev/null
+++ b/tests/auto/bic/data/phonon.4.6.0.linux-gcc-amd64.txt
@@ -0,0 +1,1980 @@
+Class QSysInfo
+ size=1 align=1
+ base size=0 base align=1
+QSysInfo (0x7f37bb27e230) 0 empty
+
+Class QBool
+ size=1 align=1
+ base size=1 base align=1
+QBool (0x7f37bb27ee70) 0
+
+Class qIsNull(double)::U
+ size=8 align=8
+ base size=8 base align=8
+qIsNull(double)::U (0x7f37bb2a9540) 0
+
+Class qIsNull(float)::U
+ size=4 align=4
+ base size=4 base align=4
+qIsNull(float)::U (0x7f37bb2a97e0) 0
+
+Class QFlag
+ size=4 align=4
+ base size=4 base align=4
+QFlag (0x7f37ba9cb690) 0
+
+Class QIncompatibleFlag
+ size=4 align=4
+ base size=4 base align=4
+QIncompatibleFlag (0x7f37ba9cbe70) 0
+
+Class QBasicAtomicInt
+ size=4 align=4
+ base size=4 base align=4
+QBasicAtomicInt (0x7f37ba9f75b0) 0
+
+Class QAtomicInt
+ size=4 align=4
+ base size=4 base align=4
+QAtomicInt (0x7f37baa51f50) 0
+ QBasicAtomicInt (0x7f37baa67000) 0
+
+Class QSharedData
+ size=4 align=4
+ base size=4 base align=4
+QSharedData (0x7f37baa743f0) 0
+
+Class QLatin1Char
+ size=1 align=1
+ base size=1 base align=1
+QLatin1Char (0x7f37ba8fd310) 0
+
+Class QChar
+ size=2 align=2
+ base size=2 base align=2
+QChar (0x7f37ba8fde70) 0
+
+Vtable for std::exception
+std::exception::_ZTVSt9exception: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt9exception)
+16 std::exception::~exception
+24 std::exception::~exception
+32 std::exception::what
+
+Class std::exception
+ size=8 align=8
+ base size=8 base align=8
+std::exception (0x7f37ba978070) 0 nearly-empty
+ vptr=((& std::exception::_ZTVSt9exception) + 16u)
+
+Vtable for std::bad_exception
+std::bad_exception::_ZTVSt13bad_exception: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt13bad_exception)
+16 std::bad_exception::~bad_exception
+24 std::bad_exception::~bad_exception
+32 std::bad_exception::what
+
+Class std::bad_exception
+ size=8 align=8
+ base size=8 base align=8
+std::bad_exception (0x7f37ba978620) 0 nearly-empty
+ vptr=((& std::bad_exception::_ZTVSt13bad_exception) + 16u)
+ std::exception (0x7f37ba978690) 0 nearly-empty
+ primary-for std::bad_exception (0x7f37ba978620)
+
+Vtable for std::bad_alloc
+std::bad_alloc::_ZTVSt9bad_alloc: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt9bad_alloc)
+16 std::bad_alloc::~bad_alloc
+24 std::bad_alloc::~bad_alloc
+32 std::bad_alloc::what
+
+Class std::bad_alloc
+ size=8 align=8
+ base size=8 base align=8
+std::bad_alloc (0x7f37ba978ee0) 0 nearly-empty
+ vptr=((& std::bad_alloc::_ZTVSt9bad_alloc) + 16u)
+ std::exception (0x7f37ba978f50) 0 nearly-empty
+ primary-for std::bad_alloc (0x7f37ba978ee0)
+
+Class std::nothrow_t
+ size=1 align=1
+ base size=0 base align=1
+std::nothrow_t (0x7f37ba98d700) 0 empty
+
+Class __locale_struct
+ size=232 align=8
+ base size=232 base align=8
+__locale_struct (0x7f37ba98dbd0) 0
+
+Class QListData::Data
+ size=32 align=8
+ base size=32 base align=8
+QListData::Data (0x7f37ba98dcb0) 0
+
+Class QListData
+ size=8 align=8
+ base size=8 base align=8
+QListData (0x7f37ba98dc40) 0
+
+Class QScopedPointerPodDeleter
+ size=1 align=1
+ base size=0 base align=1
+QScopedPointerPodDeleter (0x7f37ba6cb770) 0 empty
+
+Class QInternal
+ size=1 align=1
+ base size=0 base align=1
+QInternal (0x7f37ba512540) 0 empty
+
+Class QGenericArgument
+ size=16 align=8
+ base size=16 base align=8
+QGenericArgument (0x7f37ba512850) 0
+
+Class QGenericReturnArgument
+ size=16 align=8
+ base size=16 base align=8
+QGenericReturnArgument (0x7f37ba52f3f0) 0
+ QGenericArgument (0x7f37ba52f460) 0
+
+Class QMetaObject
+ size=32 align=8
+ base size=32 base align=8
+QMetaObject (0x7f37ba52fcb0) 0
+
+Class QMetaObjectExtraData
+ size=16 align=8
+ base size=16 base align=8
+QMetaObjectExtraData (0x7f37ba558d20) 0
+
+Class QByteArray::Data
+ size=32 align=8
+ base size=32 base align=8
+QByteArray::Data (0x7f37ba56daf0) 0
+
+Class QByteArray
+ size=8 align=8
+ base size=8 base align=8
+QByteArray (0x7f37ba56da80) 0
+
+Class QByteRef
+ size=16 align=8
+ base size=12 base align=8
+QByteRef (0x7f37ba40e380) 0
+
+Class QString::Null
+ size=1 align=1
+ base size=0 base align=1
+QString::Null (0x7f37ba30ed20) 0 empty
+
+Class QString::Data
+ size=32 align=8
+ base size=32 base align=8
+QString::Data (0x7f37ba3275b0) 0
+
+Class QString
+ size=8 align=8
+ base size=8 base align=8
+QString (0x7f37ba489bd0) 0
+
+Class QLatin1String
+ size=8 align=8
+ base size=8 base align=8
+QLatin1String (0x7f37ba1fb9a0) 0
+
+Class QCharRef
+ size=16 align=8
+ base size=12 base align=8
+QCharRef (0x7f37ba0a0000) 0
+
+Class QConstString
+ size=8 align=8
+ base size=8 base align=8
+QConstString (0x7f37b9fd8850) 0
+ QString (0x7f37b9fd88c0) 0
+
+Class QStringRef
+ size=16 align=8
+ base size=16 base align=8
+QStringRef (0x7f37b9ffc2a0) 0
+
+Vtable for QObjectData
+QObjectData::_ZTV11QObjectData: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QObjectData)
+16 __cxa_pure_virtual
+24 __cxa_pure_virtual
+
+Class QObjectData
+ size=48 align=8
+ base size=48 base align=8
+QObjectData (0x7f37ba0795b0) 0
+ vptr=((& QObjectData::_ZTV11QObjectData) + 16u)
+
+Vtable for QObject
+QObject::_ZTV7QObject: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QObject)
+16 QObject::metaObject
+24 QObject::qt_metacast
+32 QObject::qt_metacall
+40 QObject::~QObject
+48 QObject::~QObject
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class QObject
+ size=16 align=8
+ base size=16 base align=8
+QObject (0x7f37ba0798c0) 0
+ vptr=((& QObject::_ZTV7QObject) + 16u)
+
+Vtable for QObjectUserData
+QObjectUserData::_ZTV15QObjectUserData: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QObjectUserData)
+16 QObjectUserData::~QObjectUserData
+24 QObjectUserData::~QObjectUserData
+
+Class QObjectUserData
+ size=8 align=8
+ base size=8 base align=8
+QObjectUserData (0x7f37b9ef7e70) 0 nearly-empty
+ vptr=((& QObjectUserData::_ZTV15QObjectUserData) + 16u)
+
+Vtable for QIODevice
+QIODevice::_ZTV9QIODevice: 30u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QIODevice)
+16 QIODevice::metaObject
+24 QIODevice::qt_metacast
+32 QIODevice::qt_metacall
+40 QIODevice::~QIODevice
+48 QIODevice::~QIODevice
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QIODevice::isSequential
+120 QIODevice::open
+128 QIODevice::close
+136 QIODevice::pos
+144 QIODevice::size
+152 QIODevice::seek
+160 QIODevice::atEnd
+168 QIODevice::reset
+176 QIODevice::bytesAvailable
+184 QIODevice::bytesToWrite
+192 QIODevice::canReadLine
+200 QIODevice::waitForReadyRead
+208 QIODevice::waitForBytesWritten
+216 __cxa_pure_virtual
+224 QIODevice::readLineData
+232 __cxa_pure_virtual
+
+Class QIODevice
+ size=16 align=8
+ base size=16 base align=8
+QIODevice (0x7f37b9f05460) 0
+ vptr=((& QIODevice::_ZTV9QIODevice) + 16u)
+ QObject (0x7f37b9f054d0) 0
+ primary-for QIODevice (0x7f37b9f05460)
+
+Vtable for QDataStream
+QDataStream::_ZTV11QDataStream: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QDataStream)
+16 QDataStream::~QDataStream
+24 QDataStream::~QDataStream
+
+Class QDataStream
+ size=40 align=8
+ base size=40 base align=8
+QDataStream (0x7f37b9f6bd90) 0
+ vptr=((& QDataStream::_ZTV11QDataStream) + 16u)
+
+Class QHashData::Node
+ size=16 align=8
+ base size=16 base align=8
+QHashData::Node (0x7f37b9e00e70) 0
+
+Class QHashData
+ size=40 align=8
+ base size=40 base align=8
+QHashData (0x7f37b9e00e00) 0
+
+Class QHashDummyValue
+ size=1 align=1
+ base size=0 base align=1
+QHashDummyValue (0x7f37b9e211c0) 0 empty
+
+Class QMapData::Node
+ size=16 align=8
+ base size=16 base align=8
+QMapData::Node (0x7f37b9d24af0) 0
+
+Class QMapData
+ size=128 align=8
+ base size=128 base align=8
+QMapData (0x7f37b9d24a80) 0
+
+Vtable for QSystemLocale
+QSystemLocale::_ZTV13QSystemLocale: 6u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QSystemLocale)
+16 QSystemLocale::~QSystemLocale
+24 QSystemLocale::~QSystemLocale
+32 QSystemLocale::query
+40 QSystemLocale::fallbackLocale
+
+Class QSystemLocale
+ size=8 align=8
+ base size=8 base align=8
+QSystemLocale (0x7f37b9c5e700) 0 nearly-empty
+ vptr=((& QSystemLocale::_ZTV13QSystemLocale) + 16u)
+
+Class QLocale::Data
+ size=4 align=2
+ base size=4 base align=2
+QLocale::Data (0x7f37b9aabe00) 0
+
+Class QLocale
+ size=8 align=8
+ base size=8 base align=8
+QLocale (0x7f37b9c5eb60) 0
+
+Class QTextCodec::ConverterState
+ size=32 align=8
+ base size=32 base align=8
+QTextCodec::ConverterState (0x7f37b9affc40) 0
+
+Vtable for QTextCodec
+QTextCodec::_ZTV10QTextCodec: 9u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QTextCodec)
+16 __cxa_pure_virtual
+24 QTextCodec::aliases
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+48 __cxa_pure_virtual
+56 QTextCodec::~QTextCodec
+64 QTextCodec::~QTextCodec
+
+Class QTextCodec
+ size=8 align=8
+ base size=8 base align=8
+QTextCodec (0x7f37b9af04d0) 0 nearly-empty
+ vptr=((& QTextCodec::_ZTV10QTextCodec) + 16u)
+
+Class QTextEncoder
+ size=40 align=8
+ base size=40 base align=8
+QTextEncoder (0x7f37b9b6c1c0) 0
+
+Class QTextDecoder
+ size=40 align=8
+ base size=40 base align=8
+QTextDecoder (0x7f37b9b73000) 0
+
+Class _IO_marker
+ size=24 align=8
+ base size=24 base align=8
+_IO_marker (0x7f37b9985070) 0
+
+Class _IO_FILE
+ size=216 align=8
+ base size=216 base align=8
+_IO_FILE (0x7f37b99850e0) 0
+
+Vtable for QTextStream
+QTextStream::_ZTV11QTextStream: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QTextStream)
+16 QTextStream::~QTextStream
+24 QTextStream::~QTextStream
+
+Class QTextStream
+ size=16 align=8
+ base size=16 base align=8
+QTextStream (0x7f37b99851c0) 0
+ vptr=((& QTextStream::_ZTV11QTextStream) + 16u)
+
+Class QTextStreamManipulator
+ size=40 align=8
+ base size=38 base align=8
+QTextStreamManipulator (0x7f37b9a22e70) 0
+
+Vtable for QTextIStream
+QTextIStream::_ZTV12QTextIStream: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QTextIStream)
+16 QTextIStream::~QTextIStream
+24 QTextIStream::~QTextIStream
+
+Class QTextIStream
+ size=16 align=8
+ base size=16 base align=8
+QTextIStream (0x7f37b9a50460) 0
+ vptr=((& QTextIStream::_ZTV12QTextIStream) + 16u)
+ QTextStream (0x7f37b9a504d0) 0
+ primary-for QTextIStream (0x7f37b9a50460)
+
+Vtable for QTextOStream
+QTextOStream::_ZTV12QTextOStream: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QTextOStream)
+16 QTextOStream::~QTextOStream
+24 QTextOStream::~QTextOStream
+
+Class QTextOStream
+ size=16 align=8
+ base size=16 base align=8
+QTextOStream (0x7f37b9a66310) 0
+ vptr=((& QTextOStream::_ZTV12QTextOStream) + 16u)
+ QTextStream (0x7f37b9a66380) 0
+ primary-for QTextOStream (0x7f37b9a66310)
+
+Class wait
+ size=4 align=4
+ base size=4 base align=4
+wait (0x7f37b9a781c0) 0
+
+Class timespec
+ size=16 align=8
+ base size=16 base align=8
+timespec (0x7f37b9a784d0) 0
+
+Class timeval
+ size=16 align=8
+ base size=16 base align=8
+timeval (0x7f37b9a78540) 0
+
+Class __pthread_internal_list
+ size=16 align=8
+ base size=16 base align=8
+__pthread_internal_list (0x7f37b9a78690) 0
+
+Class random_data
+ size=48 align=8
+ base size=48 base align=8
+random_data (0x7f37b9a78c40) 0
+
+Class drand48_data
+ size=24 align=8
+ base size=24 base align=8
+drand48_data (0x7f37b9a78cb0) 0
+
+Class QVectorData
+ size=16 align=4
+ base size=16 base align=4
+QVectorData (0x7f37b9a78d20) 0
+
+Class QContiguousCacheData
+ size=24 align=4
+ base size=24 base align=4
+QContiguousCacheData (0x7f37b982ea10) 0
+
+Class QDebug::Stream
+ size=40 align=8
+ base size=34 base align=8
+QDebug::Stream (0x7f37b96af540) 0
+
+Class QDebug
+ size=8 align=8
+ base size=8 base align=8
+QDebug (0x7f37b96af4d0) 0
+
+Class QNoDebug
+ size=1 align=1
+ base size=0 base align=1
+QNoDebug (0x7f37b97614d0) 0 empty
+
+Class QMetaType
+ size=1 align=1
+ base size=0 base align=1
+QMetaType (0x7f37b9771b60) 0 empty
+
+Class QVariant::PrivateShared
+ size=16 align=8
+ base size=12 base align=8
+QVariant::PrivateShared (0x7f37b967b3f0) 0
+
+Class QVariant::Private::Data
+ size=8 align=8
+ base size=8 base align=8
+QVariant::Private::Data (0x7f37b967b700) 0
+
+Class QVariant::Private
+ size=16 align=8
+ base size=12 base align=8
+QVariant::Private (0x7f37b967b4d0) 0
+
+Class QVariant::Handler
+ size=72 align=8
+ base size=72 base align=8
+QVariant::Handler (0x7f37b94863f0) 0
+
+Class QVariant
+ size=16 align=8
+ base size=16 base align=8
+QVariant (0x7f37b964e4d0) 0
+
+Class QVariantComparisonHelper
+ size=8 align=8
+ base size=8 base align=8
+QVariantComparisonHelper (0x7f37b9541690) 0
+
+Class Phonon::ObjectDescriptionData
+ size=16 align=8
+ base size=16 base align=8
+Phonon::ObjectDescriptionData (0x7f37b9568bd0) 0
+ QSharedData (0x7f37b9568c40) 0
+
+Class Phonon::Path
+ size=8 align=8
+ base size=8 base align=8
+Phonon::Path (0x7f37b93c0930) 0
+
+Vtable for Phonon::MediaNode
+Phonon::MediaNode::_ZTVN6Phonon9MediaNodeE: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN6Phonon9MediaNodeE)
+16 Phonon::MediaNode::~MediaNode
+24 Phonon::MediaNode::~MediaNode
+
+Class Phonon::MediaNode
+ size=16 align=8
+ base size=16 base align=8
+Phonon::MediaNode (0x7f37b93da150) 0
+ vptr=((& Phonon::MediaNode::_ZTVN6Phonon9MediaNodeE) + 16u)
+
+Vtable for Phonon::AbstractAudioOutput
+Phonon::AbstractAudioOutput::_ZTVN6Phonon19AbstractAudioOutputE: 18u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN6Phonon19AbstractAudioOutputE)
+16 Phonon::AbstractAudioOutput::metaObject
+24 Phonon::AbstractAudioOutput::qt_metacast
+32 Phonon::AbstractAudioOutput::qt_metacall
+40 Phonon::AbstractAudioOutput::~AbstractAudioOutput
+48 Phonon::AbstractAudioOutput::~AbstractAudioOutput
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 (int (*)(...))-0x00000000000000010
+120 (int (*)(...))(& _ZTIN6Phonon19AbstractAudioOutputE)
+128 Phonon::AbstractAudioOutput::_ZThn16_N6Phonon19AbstractAudioOutputD1Ev
+136 Phonon::AbstractAudioOutput::_ZThn16_N6Phonon19AbstractAudioOutputD0Ev
+
+Class Phonon::AbstractAudioOutput
+ size=32 align=8
+ base size=32 base align=8
+Phonon::AbstractAudioOutput (0x7f37b93f0100) 0
+ vptr=((& Phonon::AbstractAudioOutput::_ZTVN6Phonon19AbstractAudioOutputE) + 16u)
+ QObject (0x7f37b93da8c0) 0
+ primary-for Phonon::AbstractAudioOutput (0x7f37b93f0100)
+ Phonon::MediaNode (0x7f37b93da930) 16
+ vptr=((& Phonon::AbstractAudioOutput::_ZTVN6Phonon19AbstractAudioOutputE) + 128u)
+
+Vtable for Phonon::AbstractMediaStream
+Phonon::AbstractMediaStream::_ZTVN6Phonon19AbstractMediaStreamE: 18u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN6Phonon19AbstractMediaStreamE)
+16 Phonon::AbstractMediaStream::metaObject
+24 Phonon::AbstractMediaStream::qt_metacast
+32 Phonon::AbstractMediaStream::qt_metacall
+40 Phonon::AbstractMediaStream::~AbstractMediaStream
+48 Phonon::AbstractMediaStream::~AbstractMediaStream
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 Phonon::AbstractMediaStream::enoughData
+136 Phonon::AbstractMediaStream::seekStream
+
+Class Phonon::AbstractMediaStream
+ size=24 align=8
+ base size=24 base align=8
+Phonon::AbstractMediaStream (0x7f37b9414540) 0
+ vptr=((& Phonon::AbstractMediaStream::_ZTVN6Phonon19AbstractMediaStreamE) + 16u)
+ QObject (0x7f37b94145b0) 0
+ primary-for Phonon::AbstractMediaStream (0x7f37b9414540)
+
+Vtable for Phonon::AbstractVideoOutput
+Phonon::AbstractVideoOutput::_ZTVN6Phonon19AbstractVideoOutputE: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN6Phonon19AbstractVideoOutputE)
+16 Phonon::AbstractVideoOutput::~AbstractVideoOutput
+24 Phonon::AbstractVideoOutput::~AbstractVideoOutput
+
+Class Phonon::AbstractVideoOutput
+ size=16 align=8
+ base size=16 base align=8
+Phonon::AbstractVideoOutput (0x7f37b9437b60) 0
+ vptr=((& Phonon::AbstractVideoOutput::_ZTVN6Phonon19AbstractVideoOutputE) + 16u)
+ Phonon::MediaNode (0x7f37b9437bd0) 0
+ primary-for Phonon::AbstractVideoOutput (0x7f37b9437b60)
+
+Vtable for Phonon::AddonInterface
+Phonon::AddonInterface::_ZTVN6Phonon14AddonInterfaceE: 6u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN6Phonon14AddonInterfaceE)
+16 Phonon::AddonInterface::~AddonInterface
+24 Phonon::AddonInterface::~AddonInterface
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+
+Class Phonon::AddonInterface
+ size=8 align=8
+ base size=8 base align=8
+Phonon::AddonInterface (0x7f37b9442230) 0 nearly-empty
+ vptr=((& Phonon::AddonInterface::_ZTVN6Phonon14AddonInterfaceE) + 16u)
+
+Vtable for Phonon::AudioOutput
+Phonon::AudioOutput::_ZTVN6Phonon11AudioOutputE: 18u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN6Phonon11AudioOutputE)
+16 Phonon::AudioOutput::metaObject
+24 Phonon::AudioOutput::qt_metacast
+32 Phonon::AudioOutput::qt_metacall
+40 Phonon::AudioOutput::~AudioOutput
+48 Phonon::AudioOutput::~AudioOutput
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 (int (*)(...))-0x00000000000000010
+120 (int (*)(...))(& _ZTIN6Phonon11AudioOutputE)
+128 Phonon::AudioOutput::_ZThn16_N6Phonon11AudioOutputD1Ev
+136 Phonon::AudioOutput::_ZThn16_N6Phonon11AudioOutputD0Ev
+
+Class Phonon::AudioOutput
+ size=32 align=8
+ base size=32 base align=8
+Phonon::AudioOutput (0x7f37b945d620) 0
+ vptr=((& Phonon::AudioOutput::_ZTVN6Phonon11AudioOutputE) + 16u)
+ Phonon::AbstractAudioOutput (0x7f37b9456f00) 0
+ primary-for Phonon::AudioOutput (0x7f37b945d620)
+ QObject (0x7f37b945d690) 0
+ primary-for Phonon::AbstractAudioOutput (0x7f37b9456f00)
+ Phonon::MediaNode (0x7f37b945d700) 16
+ vptr=((& Phonon::AudioOutput::_ZTVN6Phonon11AudioOutputE) + 128u)
+
+Vtable for Phonon::AudioOutputInterface40
+Phonon::AudioOutputInterface40::_ZTVN6Phonon22AudioOutputInterface40E: 8u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN6Phonon22AudioOutputInterface40E)
+16 Phonon::AudioOutputInterface40::~AudioOutputInterface40
+24 Phonon::AudioOutputInterface40::~AudioOutputInterface40
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+48 __cxa_pure_virtual
+56 __cxa_pure_virtual
+
+Class Phonon::AudioOutputInterface40
+ size=8 align=8
+ base size=8 base align=8
+Phonon::AudioOutputInterface40 (0x7f37b9254b60) 0 nearly-empty
+ vptr=((& Phonon::AudioOutputInterface40::_ZTVN6Phonon22AudioOutputInterface40E) + 16u)
+
+Vtable for Phonon::AudioOutputInterface42
+Phonon::AudioOutputInterface42::_ZTVN6Phonon22AudioOutputInterface42E: 9u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN6Phonon22AudioOutputInterface42E)
+16 Phonon::AudioOutputInterface42::~AudioOutputInterface42
+24 Phonon::AudioOutputInterface42::~AudioOutputInterface42
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+48 __cxa_pure_virtual
+56 __cxa_pure_virtual
+64 __cxa_pure_virtual
+
+Class Phonon::AudioOutputInterface42
+ size=8 align=8
+ base size=8 base align=8
+Phonon::AudioOutputInterface42 (0x7f37b925e540) 0 nearly-empty
+ vptr=((& Phonon::AudioOutputInterface42::_ZTVN6Phonon22AudioOutputInterface42E) + 16u)
+ Phonon::AudioOutputInterface40 (0x7f37b925e5b0) 0 nearly-empty
+ primary-for Phonon::AudioOutputInterface42 (0x7f37b925e540)
+
+Vtable for Phonon::BackendCapabilities::Notifier
+Phonon::BackendCapabilities::Notifier::_ZTVN6Phonon19BackendCapabilities8NotifierE: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN6Phonon19BackendCapabilities8NotifierE)
+16 Phonon::BackendCapabilities::Notifier::metaObject
+24 Phonon::BackendCapabilities::Notifier::qt_metacast
+32 Phonon::BackendCapabilities::Notifier::qt_metacall
+40 Phonon::BackendCapabilities::Notifier::~Notifier
+48 Phonon::BackendCapabilities::Notifier::~Notifier
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class Phonon::BackendCapabilities::Notifier
+ size=16 align=8
+ base size=16 base align=8
+Phonon::BackendCapabilities::Notifier (0x7f37b926f7e0) 0
+ vptr=((& Phonon::BackendCapabilities::Notifier::_ZTVN6Phonon19BackendCapabilities8NotifierE) + 16u)
+ QObject (0x7f37b926f850) 0
+ primary-for Phonon::BackendCapabilities::Notifier (0x7f37b926f7e0)
+
+Vtable for Phonon::BackendInterface
+Phonon::BackendInterface::_ZTVN6Phonon16BackendInterfaceE: 12u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN6Phonon16BackendInterfaceE)
+16 Phonon::BackendInterface::~BackendInterface
+24 Phonon::BackendInterface::~BackendInterface
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+48 __cxa_pure_virtual
+56 __cxa_pure_virtual
+64 __cxa_pure_virtual
+72 __cxa_pure_virtual
+80 __cxa_pure_virtual
+88 __cxa_pure_virtual
+
+Class Phonon::BackendInterface
+ size=8 align=8
+ base size=8 base align=8
+Phonon::BackendInterface (0x7f37b927f540) 0 nearly-empty
+ vptr=((& Phonon::BackendInterface::_ZTVN6Phonon16BackendInterfaceE) + 16u)
+
+Vtable for Phonon::Effect
+Phonon::Effect::_ZTVN6Phonon6EffectE: 18u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN6Phonon6EffectE)
+16 Phonon::Effect::metaObject
+24 Phonon::Effect::qt_metacast
+32 Phonon::Effect::qt_metacall
+40 Phonon::Effect::~Effect
+48 Phonon::Effect::~Effect
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 (int (*)(...))-0x00000000000000010
+120 (int (*)(...))(& _ZTIN6Phonon6EffectE)
+128 Phonon::Effect::_ZThn16_N6Phonon6EffectD1Ev
+136 Phonon::Effect::_ZThn16_N6Phonon6EffectD0Ev
+
+Class Phonon::Effect
+ size=32 align=8
+ base size=32 base align=8
+Phonon::Effect (0x7f37b9291c00) 0
+ vptr=((& Phonon::Effect::_ZTVN6Phonon6EffectE) + 16u)
+ QObject (0x7f37b9292930) 0
+ primary-for Phonon::Effect (0x7f37b9291c00)
+ Phonon::MediaNode (0x7f37b92929a0) 16
+ vptr=((& Phonon::Effect::_ZTVN6Phonon6EffectE) + 128u)
+
+Vtable for Phonon::EffectInterface
+Phonon::EffectInterface::_ZTVN6Phonon15EffectInterfaceE: 7u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN6Phonon15EffectInterfaceE)
+16 Phonon::EffectInterface::~EffectInterface
+24 Phonon::EffectInterface::~EffectInterface
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+48 __cxa_pure_virtual
+
+Class Phonon::EffectInterface
+ size=8 align=8
+ base size=8 base align=8
+Phonon::EffectInterface (0x7f37b92a5e00) 0 nearly-empty
+ vptr=((& Phonon::EffectInterface::_ZTVN6Phonon15EffectInterfaceE) + 16u)
+
+Class Phonon::EffectParameter
+ size=8 align=8
+ base size=8 base align=8
+Phonon::EffectParameter (0x7f37b92bd070) 0
+
+Class QMargins
+ size=16 align=4
+ base size=16 base align=4
+QMargins (0x7f37b92ecc40) 0
+
+Class QSize
+ size=8 align=4
+ base size=8 base align=4
+QSize (0x7f37b9318690) 0
+
+Class QSizeF
+ size=16 align=8
+ base size=16 base align=8
+QSizeF (0x7f37b9164380) 0
+
+Class QPoint
+ size=8 align=4
+ base size=8 base align=4
+QPoint (0x7f37b91ad8c0) 0
+
+Class QPointF
+ size=16 align=8
+ base size=16 base align=8
+QPointF (0x7f37b91e6540) 0
+
+Class QRect
+ size=16 align=4
+ base size=16 base align=4
+QRect (0x7f37b9225540) 0
+
+Class QRectF
+ size=32 align=8
+ base size=32 base align=8
+QRectF (0x7f37b90d2ee0) 0
+
+Vtable for QPaintDevice
+QPaintDevice::_ZTV12QPaintDevice: 7u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QPaintDevice)
+16 QPaintDevice::~QPaintDevice
+24 QPaintDevice::~QPaintDevice
+32 QPaintDevice::devType
+40 __cxa_pure_virtual
+48 QPaintDevice::metric
+
+Class QPaintDevice
+ size=16 align=8
+ base size=10 base align=8
+QPaintDevice (0x7f37b8f7dd20) 0
+ vptr=((& QPaintDevice::_ZTV12QPaintDevice) + 16u)
+
+Class QRegExp
+ size=8 align=8
+ base size=8 base align=8
+QRegExp (0x7f37b8fb1620) 0
+
+Class QStringMatcher::Data
+ size=272 align=8
+ base size=272 base align=8
+QStringMatcher::Data (0x7f37b8fe1a10) 0
+
+Class QStringMatcher
+ size=1048 align=8
+ base size=1048 base align=8
+QStringMatcher (0x7f37b8fe13f0) 0
+
+Class QStringList
+ size=8 align=8
+ base size=8 base align=8
+QStringList (0x7f37b9016000) 0
+ QList<QString> (0x7f37b9016070) 0
+
+Class QColor
+ size=16 align=4
+ base size=14 base align=4
+QColor (0x7f37b8e84c40) 0
+
+Class QPolygon
+ size=8 align=8
+ base size=8 base align=8
+QPolygon (0x7f37b8ee5460) 0
+ QVector<QPoint> (0x7f37b8ee54d0) 0
+
+Class QPolygonF
+ size=8 align=8
+ base size=8 base align=8
+QPolygonF (0x7f37b8f289a0) 0
+ QVector<QPointF> (0x7f37b8f28a10) 0
+
+Class QRegion::QRegionData
+ size=32 align=8
+ base size=32 base align=8
+QRegion::QRegionData (0x7f37b8d84380) 0
+
+Class QRegion
+ size=8 align=8
+ base size=8 base align=8
+QRegion (0x7f37b8d64af0) 0
+
+Class QLine
+ size=16 align=4
+ base size=16 base align=4
+QLine (0x7f37b8d96c40) 0
+
+Class QLineF
+ size=32 align=8
+ base size=32 base align=8
+QLineF (0x7f37b8dd4af0) 0
+
+Class QMatrix
+ size=48 align=8
+ base size=48 base align=8
+QMatrix (0x7f37b8e305b0) 0
+
+Class QPainterPath::Element
+ size=24 align=8
+ base size=24 base align=8
+QPainterPath::Element (0x7f37b8c37700) 0
+
+Class QPainterPath
+ size=8 align=8
+ base size=8 base align=8
+QPainterPath (0x7f37b8c37690) 0
+
+Class QPainterPathPrivate
+ size=16 align=8
+ base size=16 base align=8
+QPainterPathPrivate (0x7f37b8c86e00) 0
+
+Class QPainterPathStroker
+ size=8 align=8
+ base size=8 base align=8
+QPainterPathStroker (0x7f37b8c8f930) 0
+
+Class QTransform
+ size=88 align=8
+ base size=88 base align=8
+QTransform (0x7f37b8cfc930) 0
+
+Class QImageTextKeyLang
+ size=16 align=8
+ base size=16 base align=8
+QImageTextKeyLang (0x7f37b8b9df50) 0
+
+Vtable for QImage
+QImage::_ZTV6QImage: 7u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI6QImage)
+16 QImage::~QImage
+24 QImage::~QImage
+32 QImage::devType
+40 QImage::paintEngine
+48 QImage::metric
+
+Class QImage
+ size=24 align=8
+ base size=24 base align=8
+QImage (0x7f37b8bd07e0) 0
+ vptr=((& QImage::_ZTV6QImage) + 16u)
+ QPaintDevice (0x7f37b8bd0850) 0
+ primary-for QImage (0x7f37b8bd07e0)
+
+Vtable for QtSharedPointer::ExternalRefCountData
+QtSharedPointer::ExternalRefCountData::_ZTVN15QtSharedPointer20ExternalRefCountDataE: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN15QtSharedPointer20ExternalRefCountDataE)
+16 QtSharedPointer::ExternalRefCountData::~ExternalRefCountData
+24 QtSharedPointer::ExternalRefCountData::~ExternalRefCountData
+32 QtSharedPointer::ExternalRefCountData::destroy
+
+Class QtSharedPointer::ExternalRefCountData
+ size=16 align=8
+ base size=16 base align=8
+QtSharedPointer::ExternalRefCountData (0x7f37b8a807e0) 0
+ vptr=((& QtSharedPointer::ExternalRefCountData::_ZTVN15QtSharedPointer20ExternalRefCountDataE) + 16u)
+
+Vtable for QtSharedPointer::ExternalRefCountWithDestroyFn
+QtSharedPointer::ExternalRefCountWithDestroyFn::_ZTVN15QtSharedPointer29ExternalRefCountWithDestroyFnE: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN15QtSharedPointer29ExternalRefCountWithDestroyFnE)
+16 QtSharedPointer::ExternalRefCountWithDestroyFn::~ExternalRefCountWithDestroyFn
+24 QtSharedPointer::ExternalRefCountWithDestroyFn::~ExternalRefCountWithDestroyFn
+32 QtSharedPointer::ExternalRefCountWithDestroyFn::destroy
+
+Class QtSharedPointer::ExternalRefCountWithDestroyFn
+ size=24 align=8
+ base size=24 base align=8
+QtSharedPointer::ExternalRefCountWithDestroyFn (0x7f37b8aab0e0) 0
+ vptr=((& QtSharedPointer::ExternalRefCountWithDestroyFn::_ZTVN15QtSharedPointer29ExternalRefCountWithDestroyFnE) + 16u)
+ QtSharedPointer::ExternalRefCountData (0x7f37b8aab150) 0
+ primary-for QtSharedPointer::ExternalRefCountWithDestroyFn (0x7f37b8aab0e0)
+
+Vtable for QPixmap
+QPixmap::_ZTV7QPixmap: 7u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QPixmap)
+16 QPixmap::~QPixmap
+24 QPixmap::~QPixmap
+32 QPixmap::devType
+40 QPixmap::paintEngine
+48 QPixmap::metric
+
+Class QPixmap
+ size=24 align=8
+ base size=24 base align=8
+QPixmap (0x7f37b8921d20) 0
+ vptr=((& QPixmap::_ZTV7QPixmap) + 16u)
+ QPaintDevice (0x7f37b8921d90) 0
+ primary-for QPixmap (0x7f37b8921d20)
+
+Class QBrush
+ size=8 align=8
+ base size=8 base align=8
+QBrush (0x7f37b89a3070) 0
+
+Class QBrushData
+ size=112 align=8
+ base size=112 base align=8
+QBrushData (0x7f37b89c1a80) 0
+
+Class QGradient
+ size=64 align=8
+ base size=64 base align=8
+QGradient (0x7f37b89cfc40) 0
+
+Class QLinearGradient
+ size=64 align=8
+ base size=64 base align=8
+QLinearGradient (0x7f37b8810700) 0
+ QGradient (0x7f37b8810770) 0
+
+Class QRadialGradient
+ size=64 align=8
+ base size=64 base align=8
+QRadialGradient (0x7f37b8810bd0) 0
+ QGradient (0x7f37b8810c40) 0
+
+Class QConicalGradient
+ size=64 align=8
+ base size=64 base align=8
+QConicalGradient (0x7f37b88221c0) 0
+ QGradient (0x7f37b8822230) 0
+
+Class QPalette
+ size=16 align=8
+ base size=12 base align=8
+QPalette (0x7f37b8822540) 0
+
+Class QColorGroup
+ size=16 align=8
+ base size=12 base align=8
+QColorGroup (0x7f37b886ee70) 0
+ QPalette (0x7f37b886eee0) 0
+
+Class QFont
+ size=16 align=8
+ base size=12 base align=8
+QFont (0x7f37b88b11c0) 0
+
+Class QFontMetrics
+ size=8 align=8
+ base size=8 base align=8
+QFontMetrics (0x7f37b88f2e70) 0
+
+Class QFontMetricsF
+ size=8 align=8
+ base size=8 base align=8
+QFontMetricsF (0x7f37b8710310) 0
+
+Class QFontInfo
+ size=8 align=8
+ base size=8 base align=8
+QFontInfo (0x7f37b8722230) 0
+
+Class QSizePolicy
+ size=4 align=4
+ base size=4 base align=4
+QSizePolicy (0x7f37b8722d20) 0
+
+Class QCursor
+ size=8 align=8
+ base size=8 base align=8
+QCursor (0x7f37b87dad20) 0
+
+Class QKeySequence
+ size=8 align=8
+ base size=8 base align=8
+QKeySequence (0x7f37b87e1540) 0
+
+Class QWidgetData
+ size=88 align=8
+ base size=88 base align=8
+QWidgetData (0x7f37b8801e70) 0
+
+Vtable for QWidget
+QWidget::_ZTV7QWidget: 63u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QWidget)
+16 QWidget::metaObject
+24 QWidget::qt_metacast
+32 QWidget::qt_metacall
+40 QWidget::~QWidget
+48 QWidget::~QWidget
+56 QWidget::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QWidget::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QWidget::paintEvent
+256 QWidget::moveEvent
+264 QWidget::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QWidget::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 (int (*)(...))-0x00000000000000010
+456 (int (*)(...))(& _ZTI7QWidget)
+464 QWidget::_ZThn16_N7QWidgetD1Ev
+472 QWidget::_ZThn16_N7QWidgetD0Ev
+480 QWidget::_ZThn16_NK7QWidget7devTypeEv
+488 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+496 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class QWidget
+ size=40 align=8
+ base size=40 base align=8
+QWidget (0x7f37b8611f00) 0
+ vptr=((& QWidget::_ZTV7QWidget) + 16u)
+ QObject (0x7f37b8801ee0) 0
+ primary-for QWidget (0x7f37b8611f00)
+ QPaintDevice (0x7f37b8801f50) 16
+ vptr=((& QWidget::_ZTV7QWidget) + 464u)
+
+Vtable for Phonon::EffectWidget
+Phonon::EffectWidget::_ZTVN6Phonon12EffectWidgetE: 63u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN6Phonon12EffectWidgetE)
+16 Phonon::EffectWidget::metaObject
+24 Phonon::EffectWidget::qt_metacast
+32 Phonon::EffectWidget::qt_metacall
+40 Phonon::EffectWidget::~EffectWidget
+48 Phonon::EffectWidget::~EffectWidget
+56 QWidget::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QWidget::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QWidget::paintEvent
+256 QWidget::moveEvent
+264 QWidget::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QWidget::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 (int (*)(...))-0x00000000000000010
+456 (int (*)(...))(& _ZTIN6Phonon12EffectWidgetE)
+464 Phonon::EffectWidget::_ZThn16_N6Phonon12EffectWidgetD1Ev
+472 Phonon::EffectWidget::_ZThn16_N6Phonon12EffectWidgetD0Ev
+480 QWidget::_ZThn16_NK7QWidget7devTypeEv
+488 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+496 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class Phonon::EffectWidget
+ size=48 align=8
+ base size=48 base align=8
+Phonon::EffectWidget (0x7f37b8581f50) 0
+ vptr=((& Phonon::EffectWidget::_ZTVN6Phonon12EffectWidgetE) + 16u)
+ QWidget (0x7f37b8583b80) 0
+ primary-for Phonon::EffectWidget (0x7f37b8581f50)
+ QObject (0x7f37b858b000) 0
+ primary-for QWidget (0x7f37b8583b80)
+ QPaintDevice (0x7f37b858b070) 16
+ vptr=((& Phonon::EffectWidget::_ZTVN6Phonon12EffectWidgetE) + 464u)
+
+Vtable for Phonon::MediaController
+Phonon::MediaController::_ZTVN6Phonon15MediaControllerE: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN6Phonon15MediaControllerE)
+16 Phonon::MediaController::metaObject
+24 Phonon::MediaController::qt_metacast
+32 Phonon::MediaController::qt_metacall
+40 Phonon::MediaController::~MediaController
+48 Phonon::MediaController::~MediaController
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+
+Class Phonon::MediaController
+ size=24 align=8
+ base size=24 base align=8
+Phonon::MediaController (0x7f37b85a0310) 0
+ vptr=((& Phonon::MediaController::_ZTVN6Phonon15MediaControllerE) + 16u)
+ QObject (0x7f37b85a0380) 0
+ primary-for Phonon::MediaController (0x7f37b85a0310)
+
+Class Phonon::MediaSource
+ size=8 align=8
+ base size=8 base align=8
+Phonon::MediaSource (0x7f37b85e1230) 0
+
+Vtable for Phonon::MediaObject
+Phonon::MediaObject::_ZTVN6Phonon11MediaObjectE: 18u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN6Phonon11MediaObjectE)
+16 Phonon::MediaObject::metaObject
+24 Phonon::MediaObject::qt_metacast
+32 Phonon::MediaObject::qt_metacall
+40 Phonon::MediaObject::~MediaObject
+48 Phonon::MediaObject::~MediaObject
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 (int (*)(...))-0x00000000000000010
+120 (int (*)(...))(& _ZTIN6Phonon11MediaObjectE)
+128 Phonon::MediaObject::_ZThn16_N6Phonon11MediaObjectD1Ev
+136 Phonon::MediaObject::_ZThn16_N6Phonon11MediaObjectD0Ev
+
+Class Phonon::MediaObject
+ size=32 align=8
+ base size=32 base align=8
+Phonon::MediaObject (0x7f37b85df600) 0
+ vptr=((& Phonon::MediaObject::_ZTVN6Phonon11MediaObjectE) + 16u)
+ QObject (0x7f37b85e1d90) 0
+ primary-for Phonon::MediaObject (0x7f37b85df600)
+ Phonon::MediaNode (0x7f37b85e1e00) 16
+ vptr=((& Phonon::MediaObject::_ZTVN6Phonon11MediaObjectE) + 128u)
+
+Vtable for Phonon::MediaObjectInterface
+Phonon::MediaObjectInterface::_ZTVN6Phonon20MediaObjectInterfaceE: 25u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN6Phonon20MediaObjectInterfaceE)
+16 Phonon::MediaObjectInterface::~MediaObjectInterface
+24 Phonon::MediaObjectInterface::~MediaObjectInterface
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+48 __cxa_pure_virtual
+56 __cxa_pure_virtual
+64 __cxa_pure_virtual
+72 __cxa_pure_virtual
+80 __cxa_pure_virtual
+88 __cxa_pure_virtual
+96 __cxa_pure_virtual
+104 __cxa_pure_virtual
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 __cxa_pure_virtual
+136 __cxa_pure_virtual
+144 __cxa_pure_virtual
+152 __cxa_pure_virtual
+160 Phonon::MediaObjectInterface::remainingTime
+168 __cxa_pure_virtual
+176 __cxa_pure_virtual
+184 __cxa_pure_virtual
+192 __cxa_pure_virtual
+
+Class Phonon::MediaObjectInterface
+ size=8 align=8
+ base size=8 base align=8
+Phonon::MediaObjectInterface (0x7f37b8419310) 0 nearly-empty
+ vptr=((& Phonon::MediaObjectInterface::_ZTVN6Phonon20MediaObjectInterfaceE) + 16u)
+
+Class QModelIndex
+ size=24 align=8
+ base size=24 base align=8
+QModelIndex (0x7f37b842ab60) 0
+
+Class QPersistentModelIndex
+ size=8 align=8
+ base size=8 base align=8
+QPersistentModelIndex (0x7f37b845a620) 0
+
+Vtable for QAbstractItemModel
+QAbstractItemModel::_ZTV18QAbstractItemModel: 42u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QAbstractItemModel)
+16 QAbstractItemModel::metaObject
+24 QAbstractItemModel::qt_metacast
+32 QAbstractItemModel::qt_metacall
+40 QAbstractItemModel::~QAbstractItemModel
+48 QAbstractItemModel::~QAbstractItemModel
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 __cxa_pure_virtual
+136 __cxa_pure_virtual
+144 QAbstractItemModel::hasChildren
+152 __cxa_pure_virtual
+160 QAbstractItemModel::setData
+168 QAbstractItemModel::headerData
+176 QAbstractItemModel::setHeaderData
+184 QAbstractItemModel::itemData
+192 QAbstractItemModel::setItemData
+200 QAbstractItemModel::mimeTypes
+208 QAbstractItemModel::mimeData
+216 QAbstractItemModel::dropMimeData
+224 QAbstractItemModel::supportedDropActions
+232 QAbstractItemModel::insertRows
+240 QAbstractItemModel::insertColumns
+248 QAbstractItemModel::removeRows
+256 QAbstractItemModel::removeColumns
+264 QAbstractItemModel::fetchMore
+272 QAbstractItemModel::canFetchMore
+280 QAbstractItemModel::flags
+288 QAbstractItemModel::sort
+296 QAbstractItemModel::buddy
+304 QAbstractItemModel::match
+312 QAbstractItemModel::span
+320 QAbstractItemModel::submit
+328 QAbstractItemModel::revert
+
+Class QAbstractItemModel
+ size=16 align=8
+ base size=16 base align=8
+QAbstractItemModel (0x7f37b8464930) 0
+ vptr=((& QAbstractItemModel::_ZTV18QAbstractItemModel) + 16u)
+ QObject (0x7f37b84649a0) 0
+ primary-for QAbstractItemModel (0x7f37b8464930)
+
+Vtable for QAbstractTableModel
+QAbstractTableModel::_ZTV19QAbstractTableModel: 42u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QAbstractTableModel)
+16 QAbstractTableModel::metaObject
+24 QAbstractTableModel::qt_metacast
+32 QAbstractTableModel::qt_metacall
+40 QAbstractTableModel::~QAbstractTableModel
+48 QAbstractTableModel::~QAbstractTableModel
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QAbstractTableModel::index
+120 QAbstractTableModel::parent
+128 __cxa_pure_virtual
+136 __cxa_pure_virtual
+144 QAbstractTableModel::hasChildren
+152 __cxa_pure_virtual
+160 QAbstractItemModel::setData
+168 QAbstractItemModel::headerData
+176 QAbstractItemModel::setHeaderData
+184 QAbstractItemModel::itemData
+192 QAbstractItemModel::setItemData
+200 QAbstractItemModel::mimeTypes
+208 QAbstractItemModel::mimeData
+216 QAbstractTableModel::dropMimeData
+224 QAbstractItemModel::supportedDropActions
+232 QAbstractItemModel::insertRows
+240 QAbstractItemModel::insertColumns
+248 QAbstractItemModel::removeRows
+256 QAbstractItemModel::removeColumns
+264 QAbstractItemModel::fetchMore
+272 QAbstractItemModel::canFetchMore
+280 QAbstractItemModel::flags
+288 QAbstractItemModel::sort
+296 QAbstractItemModel::buddy
+304 QAbstractItemModel::match
+312 QAbstractItemModel::span
+320 QAbstractItemModel::submit
+328 QAbstractItemModel::revert
+
+Class QAbstractTableModel
+ size=16 align=8
+ base size=16 base align=8
+QAbstractTableModel (0x7f37b84bdc40) 0
+ vptr=((& QAbstractTableModel::_ZTV19QAbstractTableModel) + 16u)
+ QAbstractItemModel (0x7f37b84bdcb0) 0
+ primary-for QAbstractTableModel (0x7f37b84bdc40)
+ QObject (0x7f37b84bdd20) 0
+ primary-for QAbstractItemModel (0x7f37b84bdcb0)
+
+Vtable for QAbstractListModel
+QAbstractListModel::_ZTV18QAbstractListModel: 42u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QAbstractListModel)
+16 QAbstractListModel::metaObject
+24 QAbstractListModel::qt_metacast
+32 QAbstractListModel::qt_metacall
+40 QAbstractListModel::~QAbstractListModel
+48 QAbstractListModel::~QAbstractListModel
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QAbstractListModel::index
+120 QAbstractListModel::parent
+128 __cxa_pure_virtual
+136 QAbstractListModel::columnCount
+144 QAbstractListModel::hasChildren
+152 __cxa_pure_virtual
+160 QAbstractItemModel::setData
+168 QAbstractItemModel::headerData
+176 QAbstractItemModel::setHeaderData
+184 QAbstractItemModel::itemData
+192 QAbstractItemModel::setItemData
+200 QAbstractItemModel::mimeTypes
+208 QAbstractItemModel::mimeData
+216 QAbstractListModel::dropMimeData
+224 QAbstractItemModel::supportedDropActions
+232 QAbstractItemModel::insertRows
+240 QAbstractItemModel::insertColumns
+248 QAbstractItemModel::removeRows
+256 QAbstractItemModel::removeColumns
+264 QAbstractItemModel::fetchMore
+272 QAbstractItemModel::canFetchMore
+280 QAbstractItemModel::flags
+288 QAbstractItemModel::sort
+296 QAbstractItemModel::buddy
+304 QAbstractItemModel::match
+312 QAbstractItemModel::span
+320 QAbstractItemModel::submit
+328 QAbstractItemModel::revert
+
+Class QAbstractListModel
+ size=16 align=8
+ base size=16 base align=8
+QAbstractListModel (0x7f37b84d91c0) 0
+ vptr=((& QAbstractListModel::_ZTV18QAbstractListModel) + 16u)
+ QAbstractItemModel (0x7f37b84d9230) 0
+ primary-for QAbstractListModel (0x7f37b84d91c0)
+ QObject (0x7f37b84d92a0) 0
+ primary-for QAbstractItemModel (0x7f37b84d9230)
+
+Class Phonon::ObjectDescriptionModelData
+ size=8 align=8
+ base size=8 base align=8
+Phonon::ObjectDescriptionModelData (0x7f37b830c310) 0
+
+Vtable for Phonon::PlatformPlugin
+Phonon::PlatformPlugin::_ZTVN6Phonon14PlatformPluginE: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN6Phonon14PlatformPluginE)
+16 Phonon::PlatformPlugin::~PlatformPlugin
+24 Phonon::PlatformPlugin::~PlatformPlugin
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+48 __cxa_pure_virtual
+56 __cxa_pure_virtual
+64 __cxa_pure_virtual
+72 __cxa_pure_virtual
+80 __cxa_pure_virtual
+88 __cxa_pure_virtual
+96 __cxa_pure_virtual
+104 __cxa_pure_virtual
+112 __cxa_pure_virtual
+120 Phonon::PlatformPlugin::deviceAccessListFor
+
+Class Phonon::PlatformPlugin
+ size=8 align=8
+ base size=8 base align=8
+Phonon::PlatformPlugin (0x7f37b83762a0) 0 nearly-empty
+ vptr=((& Phonon::PlatformPlugin::_ZTVN6Phonon14PlatformPluginE) + 16u)
+
+Vtable for Phonon::SeekSlider
+Phonon::SeekSlider::_ZTVN6Phonon10SeekSliderE: 63u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN6Phonon10SeekSliderE)
+16 Phonon::SeekSlider::metaObject
+24 Phonon::SeekSlider::qt_metacast
+32 Phonon::SeekSlider::qt_metacall
+40 Phonon::SeekSlider::~SeekSlider
+48 Phonon::SeekSlider::~SeekSlider
+56 QWidget::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QWidget::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QWidget::paintEvent
+256 QWidget::moveEvent
+264 QWidget::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QWidget::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 (int (*)(...))-0x00000000000000010
+456 (int (*)(...))(& _ZTIN6Phonon10SeekSliderE)
+464 Phonon::SeekSlider::_ZThn16_N6Phonon10SeekSliderD1Ev
+472 Phonon::SeekSlider::_ZThn16_N6Phonon10SeekSliderD0Ev
+480 QWidget::_ZThn16_NK7QWidget7devTypeEv
+488 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+496 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class Phonon::SeekSlider
+ size=48 align=8
+ base size=48 base align=8
+Phonon::SeekSlider (0x7f37b83ad8c0) 0
+ vptr=((& Phonon::SeekSlider::_ZTVN6Phonon10SeekSliderE) + 16u)
+ QWidget (0x7f37b8388e00) 0
+ primary-for Phonon::SeekSlider (0x7f37b83ad8c0)
+ QObject (0x7f37b83ad930) 0
+ primary-for QWidget (0x7f37b8388e00)
+ QPaintDevice (0x7f37b83ad9a0) 16
+ vptr=((& Phonon::SeekSlider::_ZTVN6Phonon10SeekSliderE) + 464u)
+
+Vtable for Phonon::StreamInterface
+Phonon::StreamInterface::_ZTVN6Phonon15StreamInterfaceE: 8u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN6Phonon15StreamInterfaceE)
+16 Phonon::StreamInterface::~StreamInterface
+24 Phonon::StreamInterface::~StreamInterface
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+48 __cxa_pure_virtual
+56 __cxa_pure_virtual
+
+Class Phonon::StreamInterface
+ size=16 align=8
+ base size=16 base align=8
+Phonon::StreamInterface (0x7f37b83c9d90) 0
+ vptr=((& Phonon::StreamInterface::_ZTVN6Phonon15StreamInterfaceE) + 16u)
+
+Vtable for Phonon::VideoPlayer
+Phonon::VideoPlayer::_ZTVN6Phonon11VideoPlayerE: 63u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN6Phonon11VideoPlayerE)
+16 Phonon::VideoPlayer::metaObject
+24 Phonon::VideoPlayer::qt_metacast
+32 Phonon::VideoPlayer::qt_metacall
+40 Phonon::VideoPlayer::~VideoPlayer
+48 Phonon::VideoPlayer::~VideoPlayer
+56 QWidget::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QWidget::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QWidget::paintEvent
+256 QWidget::moveEvent
+264 QWidget::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QWidget::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 (int (*)(...))-0x00000000000000010
+456 (int (*)(...))(& _ZTIN6Phonon11VideoPlayerE)
+464 Phonon::VideoPlayer::_ZThn16_N6Phonon11VideoPlayerD1Ev
+472 Phonon::VideoPlayer::_ZThn16_N6Phonon11VideoPlayerD0Ev
+480 QWidget::_ZThn16_NK7QWidget7devTypeEv
+488 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+496 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class Phonon::VideoPlayer
+ size=48 align=8
+ base size=48 base align=8
+Phonon::VideoPlayer (0x7f37b83d87e0) 0
+ vptr=((& Phonon::VideoPlayer::_ZTVN6Phonon11VideoPlayerE) + 16u)
+ QWidget (0x7f37b83dd080) 0
+ primary-for Phonon::VideoPlayer (0x7f37b83d87e0)
+ QObject (0x7f37b83d8850) 0
+ primary-for QWidget (0x7f37b83dd080)
+ QPaintDevice (0x7f37b83d88c0) 16
+ vptr=((& Phonon::VideoPlayer::_ZTVN6Phonon11VideoPlayerE) + 464u)
+
+Vtable for Phonon::VideoWidget
+Phonon::VideoWidget::_ZTVN6Phonon11VideoWidgetE: 67u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN6Phonon11VideoWidgetE)
+16 Phonon::VideoWidget::metaObject
+24 Phonon::VideoWidget::qt_metacast
+32 Phonon::VideoWidget::qt_metacall
+40 Phonon::VideoWidget::~VideoWidget
+48 Phonon::VideoWidget::~VideoWidget
+56 Phonon::VideoWidget::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QWidget::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 Phonon::VideoWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QWidget::paintEvent
+256 QWidget::moveEvent
+264 QWidget::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QWidget::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 (int (*)(...))-0x00000000000000010
+456 (int (*)(...))(& _ZTIN6Phonon11VideoWidgetE)
+464 Phonon::VideoWidget::_ZThn16_N6Phonon11VideoWidgetD1Ev
+472 Phonon::VideoWidget::_ZThn16_N6Phonon11VideoWidgetD0Ev
+480 QWidget::_ZThn16_NK7QWidget7devTypeEv
+488 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+496 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+504 (int (*)(...))-0x00000000000000028
+512 (int (*)(...))(& _ZTIN6Phonon11VideoWidgetE)
+520 Phonon::VideoWidget::_ZThn40_N6Phonon11VideoWidgetD1Ev
+528 Phonon::VideoWidget::_ZThn40_N6Phonon11VideoWidgetD0Ev
+
+Class Phonon::VideoWidget
+ size=56 align=8
+ base size=56 base align=8
+Phonon::VideoWidget (0x7f37b83dd780) 0
+ vptr=((& Phonon::VideoWidget::_ZTVN6Phonon11VideoWidgetE) + 16u)
+ QWidget (0x7f37b83dd800) 0
+ primary-for Phonon::VideoWidget (0x7f37b83dd780)
+ QObject (0x7f37b81f0850) 0
+ primary-for QWidget (0x7f37b83dd800)
+ QPaintDevice (0x7f37b81f08c0) 16
+ vptr=((& Phonon::VideoWidget::_ZTVN6Phonon11VideoWidgetE) + 464u)
+ Phonon::AbstractVideoOutput (0x7f37b81f0930) 40
+ vptr=((& Phonon::VideoWidget::_ZTVN6Phonon11VideoWidgetE) + 520u)
+ Phonon::MediaNode (0x7f37b81f09a0) 40
+ primary-for Phonon::AbstractVideoOutput (0x7f37b81f0930)
+
+Vtable for Phonon::VideoWidgetInterface
+Phonon::VideoWidgetInterface::_ZTVN6Phonon20VideoWidgetInterfaceE: 17u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN6Phonon20VideoWidgetInterfaceE)
+16 Phonon::VideoWidgetInterface::~VideoWidgetInterface
+24 Phonon::VideoWidgetInterface::~VideoWidgetInterface
+32 __cxa_pure_virtual
+40 __cxa_pure_virtual
+48 __cxa_pure_virtual
+56 __cxa_pure_virtual
+64 __cxa_pure_virtual
+72 __cxa_pure_virtual
+80 __cxa_pure_virtual
+88 __cxa_pure_virtual
+96 __cxa_pure_virtual
+104 __cxa_pure_virtual
+112 __cxa_pure_virtual
+120 __cxa_pure_virtual
+128 __cxa_pure_virtual
+
+Class Phonon::VideoWidgetInterface
+ size=8 align=8
+ base size=8 base align=8
+Phonon::VideoWidgetInterface (0x7f37b8216230) 0 nearly-empty
+ vptr=((& Phonon::VideoWidgetInterface::_ZTVN6Phonon20VideoWidgetInterfaceE) + 16u)
+
+Vtable for Phonon::VolumeFaderEffect
+Phonon::VolumeFaderEffect::_ZTVN6Phonon17VolumeFaderEffectE: 18u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN6Phonon17VolumeFaderEffectE)
+16 Phonon::VolumeFaderEffect::metaObject
+24 Phonon::VolumeFaderEffect::qt_metacast
+32 Phonon::VolumeFaderEffect::qt_metacall
+40 Phonon::VolumeFaderEffect::~VolumeFaderEffect
+48 Phonon::VolumeFaderEffect::~VolumeFaderEffect
+56 QObject::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 (int (*)(...))-0x00000000000000010
+120 (int (*)(...))(& _ZTIN6Phonon17VolumeFaderEffectE)
+128 Phonon::VolumeFaderEffect::_ZThn16_N6Phonon17VolumeFaderEffectD1Ev
+136 Phonon::VolumeFaderEffect::_ZThn16_N6Phonon17VolumeFaderEffectD0Ev
+
+Class Phonon::VolumeFaderEffect
+ size=32 align=8
+ base size=32 base align=8
+Phonon::VolumeFaderEffect (0x7f37b8225850) 0
+ vptr=((& Phonon::VolumeFaderEffect::_ZTVN6Phonon17VolumeFaderEffectE) + 16u)
+ Phonon::Effect (0x7f37b8223c80) 0
+ primary-for Phonon::VolumeFaderEffect (0x7f37b8225850)
+ QObject (0x7f37b82258c0) 0
+ primary-for Phonon::Effect (0x7f37b8223c80)
+ Phonon::MediaNode (0x7f37b8225930) 16
+ vptr=((& Phonon::VolumeFaderEffect::_ZTVN6Phonon17VolumeFaderEffectE) + 128u)
+
+Vtable for Phonon::VolumeFaderInterface
+Phonon::VolumeFaderInterface::_ZTVN6Phonon20VolumeFaderInterfaceE: 9u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN6Phonon20VolumeFaderInterfaceE)
+16 Phonon::VolumeFaderInterface::~VolumeFaderInterface
+24 Phonon::VolumeFaderInterface::~VolumeFaderInterface
+32 Phonon::VolumeFaderInterface::volume
+40 Phonon::VolumeFaderInterface::setVolume
+48 Phonon::VolumeFaderInterface::fadeCurve
+56 Phonon::VolumeFaderInterface::setFadeCurve
+64 Phonon::VolumeFaderInterface::fadeTo
+
+Class Phonon::VolumeFaderInterface
+ size=8 align=8
+ base size=8 base align=8
+Phonon::VolumeFaderInterface (0x7f37b823ae70) 0 nearly-empty
+ vptr=((& Phonon::VolumeFaderInterface::_ZTVN6Phonon20VolumeFaderInterfaceE) + 16u)
+
+Vtable for Phonon::VolumeSlider
+Phonon::VolumeSlider::_ZTVN6Phonon12VolumeSliderE: 63u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN6Phonon12VolumeSliderE)
+16 Phonon::VolumeSlider::metaObject
+24 Phonon::VolumeSlider::qt_metacast
+32 Phonon::VolumeSlider::qt_metacall
+40 Phonon::VolumeSlider::~VolumeSlider
+48 Phonon::VolumeSlider::~VolumeSlider
+56 QWidget::event
+64 QObject::eventFilter
+72 QObject::timerEvent
+80 QObject::childEvent
+88 QObject::customEvent
+96 QObject::connectNotify
+104 QObject::disconnectNotify
+112 QWidget::devType
+120 QWidget::setVisible
+128 QWidget::sizeHint
+136 QWidget::minimumSizeHint
+144 QWidget::heightForWidth
+152 QWidget::paintEngine
+160 QWidget::mousePressEvent
+168 QWidget::mouseReleaseEvent
+176 QWidget::mouseDoubleClickEvent
+184 QWidget::mouseMoveEvent
+192 QWidget::wheelEvent
+200 QWidget::keyPressEvent
+208 QWidget::keyReleaseEvent
+216 QWidget::focusInEvent
+224 QWidget::focusOutEvent
+232 QWidget::enterEvent
+240 QWidget::leaveEvent
+248 QWidget::paintEvent
+256 QWidget::moveEvent
+264 QWidget::resizeEvent
+272 QWidget::closeEvent
+280 QWidget::contextMenuEvent
+288 QWidget::tabletEvent
+296 QWidget::actionEvent
+304 QWidget::dragEnterEvent
+312 QWidget::dragMoveEvent
+320 QWidget::dragLeaveEvent
+328 QWidget::dropEvent
+336 QWidget::showEvent
+344 QWidget::hideEvent
+352 QWidget::x11Event
+360 QWidget::changeEvent
+368 QWidget::metric
+376 QWidget::inputMethodEvent
+384 QWidget::inputMethodQuery
+392 QWidget::focusNextPrevChild
+400 QWidget::styleChange
+408 QWidget::enabledChange
+416 QWidget::paletteChange
+424 QWidget::fontChange
+432 QWidget::windowActivationChange
+440 QWidget::languageChange
+448 (int (*)(...))-0x00000000000000010
+456 (int (*)(...))(& _ZTIN6Phonon12VolumeSliderE)
+464 Phonon::VolumeSlider::_ZThn16_N6Phonon12VolumeSliderD1Ev
+472 Phonon::VolumeSlider::_ZThn16_N6Phonon12VolumeSliderD0Ev
+480 QWidget::_ZThn16_NK7QWidget7devTypeEv
+488 QWidget::_ZThn16_NK7QWidget11paintEngineEv
+496 QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+
+Class Phonon::VolumeSlider
+ size=48 align=8
+ base size=48 base align=8
+Phonon::VolumeSlider (0x7f37b824f930) 0
+ vptr=((& Phonon::VolumeSlider::_ZTVN6Phonon12VolumeSliderE) + 16u)
+ QWidget (0x7f37b8254500) 0
+ primary-for Phonon::VolumeSlider (0x7f37b824f930)
+ QObject (0x7f37b824f9a0) 0
+ primary-for QWidget (0x7f37b8254500)
+ QPaintDevice (0x7f37b824fa10) 16
+ vptr=((& Phonon::VolumeSlider::_ZTVN6Phonon12VolumeSliderE) + 464u)
+
diff --git a/tests/auto/bic/tst_bic.cpp b/tests/auto/bic/tst_bic.cpp
index 010965c6e5..400fcc11e3 100644
--- a/tests/auto/bic/tst_bic.cpp
+++ b/tests/auto/bic/tst_bic.cpp
@@ -191,7 +191,7 @@ void tst_Bic::sizesAndVTables_data()
#elif defined Q_OS_MAC && defined(__i386__)
# define FILESUFFIX "macx-gcc-ia32"
#elif defined Q_OS_MAC && defined(__amd64__)
-# define FILESUFFIX "macx-gcc-amd64";
+# define FILESUFFIX "macx-gcc-amd64"
#elif defined Q_OS_WIN && defined Q_CC_GNU
# define FILESUFFIX "win32-gcc-ia32"
#else
diff --git a/tests/auto/compilerwarnings/tst_compilerwarnings.cpp b/tests/auto/compilerwarnings/tst_compilerwarnings.cpp
index f910a18d94..82c327a677 100644
--- a/tests/auto/compilerwarnings/tst_compilerwarnings.cpp
+++ b/tests/auto/compilerwarnings/tst_compilerwarnings.cpp
@@ -62,6 +62,9 @@ class tst_CompilerWarnings: public QObject
private slots:
void warnings_data();
void warnings();
+
+private:
+ bool shouldIgnoreWarning(QString const&);
};
#if 0
@@ -242,16 +245,37 @@ void tst_CompilerWarnings::warnings()
if (!errs.isEmpty()) {
errList = errs.split("\n");
qDebug() << "Arguments:" << args;
- foreach (QString err, errList) {
- qDebug() << err;
+ QStringList validErrors;
+ foreach (QString const& err, errList) {
+ bool ignore = shouldIgnoreWarning(err);
+ qDebug() << err << (ignore ? " [ignored]" : "");
+ if (!ignore) {
+ validErrors << err;
+ }
}
+ errList = validErrors;
}
QCOMPARE(errList.count(), 0); // verbose info how many lines of errors in output
- QVERIFY(errs.isEmpty());
tmpQSourceFile.remove();
}
+bool tst_CompilerWarnings::shouldIgnoreWarning(QString const& warning)
+{
+ if (warning.isEmpty()) {
+ return true;
+ }
+
+ // icecc outputs warnings if some icecc node breaks
+ if (warning.startsWith("ICECC[")) {
+ return true;
+ }
+
+ // Add more bogus warnings here
+
+ return false;
+}
+
QTEST_APPLESS_MAIN(tst_CompilerWarnings)
#include "tst_compilerwarnings.moc"
diff --git a/tests/auto/dbus.pro b/tests/auto/dbus.pro
index 1c808df636..e5f87e34b3 100644
--- a/tests/auto/dbus.pro
+++ b/tests/auto/dbus.pro
@@ -13,7 +13,6 @@ SUBDIRS=\
qdbuspendingreply \
qdbusperformance \
qdbusreply \
- qdbusserver \
qdbusservicewatcher \
qdbusthreading \
qdbusxmlparser \
diff --git a/tests/auto/declarative/.gitignore b/tests/auto/declarative/.gitignore
deleted file mode 100644
index 57608cf425..0000000000
--- a/tests/auto/declarative/.gitignore
+++ /dev/null
@@ -1,5 +0,0 @@
-tst_*
-!tst_*.*
-tst_*.log
-tst_*.debug
-tst_*~
diff --git a/tests/auto/declarative/declarative.pro b/tests/auto/declarative/declarative.pro
index 9b3b3d0e4b..3d2dbf0081 100644
--- a/tests/auto/declarative/declarative.pro
+++ b/tests/auto/declarative/declarative.pro
@@ -1,77 +1,81 @@
TEMPLATE = subdirs
+!symbian: {
+SUBDIRS += \
+ qdeclarativemetatype \
+ qmetaobjectbuilder
+}
+
SUBDIRS += \
examples \
- graphicswidgets \ # Cover
- parserstress \ # Cover
- qmetaobjectbuilder \ # Cover
- qdeclarativeanimations \ # Cover
- qdeclarativebehaviors \ # Cover
- qdeclarativebinding \ # Cover
- qdeclarativecomponent \ # Cover
- qdeclarativeconnection \ # Cover
- qdeclarativecontext \ # Cover
- qdeclarativedebug \ # Cover
- qdeclarativedebugclient \ # Cover
- qdeclarativedebugservice \ # Cover
- qdeclarativedom \ # Cover
- qdeclarativeecmascript \ # Cover
- qdeclarativeengine \ # Cover
- qdeclarativeerror \ # Cover
- qdeclarativefontloader \ # Cover
- qdeclarativeanchors \ # Cover
- qdeclarativeanimatedimage \ # Cover
- qdeclarativeimage \ # Cover
- qdeclarativeborderimage \ # Cover
- qdeclarativeflickable \ # Cover
- qdeclarativeflipable \ # Cover
- qdeclarativefocusscope \ # Cover
- qdeclarativegridview \ # Cover
- qdeclarativeitem \ # Cover
- qdeclarativelistview \ # Cover
- qdeclarativeloader \ # Cover
- qdeclarativelayouts \ # Cover
- qdeclarativemousearea \ # Cover
- qdeclarativeparticles \ # Cover
- qdeclarativepathview \ # Cover
- qdeclarativepositioners \ # Cover
- qdeclarativetext \ # Cover
- qdeclarativetextedit \ # Cover
- qdeclarativetextinput \ # Cover
- qdeclarativeinfo \ # Cover
- qdeclarativeinstruction \ # Cover
- qdeclarativelanguage \ # Cover
- qdeclarativelistreference \ # Cover
- qdeclarativelistmodel \ # Cover
- qdeclarativeproperty \ # Cover
- qdeclarativemetatype \ # Cover
- qdeclarativemoduleplugin \ # Cover
- qdeclarativepixmapcache \ # Cover
- qdeclarativepropertymap \ # Cover
- qdeclarativeqt \ # Cover
- qdeclarativesmoothedanimation \ # Cover
- qdeclarativesmoothedfollow\ # Cover
- qdeclarativespringfollow \ # Cover
- qdeclarativestates \ # Cover
- qdeclarativesystempalette \ # Cover
- qdeclarativetimer \ # Cover
- qdeclarativexmllistmodel \ # Cover
- qpacketprotocol \ # Cover
- qdeclarativerepeater \ # Cover
- qdeclarativeworkerscript \ # Cover
- qdeclarativevaluetypes \ # Cover
- qdeclarativeview \ # Cover
- qdeclarativexmlhttprequest \ # Cover
- qdeclarativeimageprovider \ # Cover
- qdeclarativestyledtext \ # Cover
- qdeclarativesqldatabase \ # Cover
- qdeclarativevisualdatamodel \ # Cover
- qmlvisual # Cover
+ parserstress \
+ qdeclarativeanchors \
+ qdeclarativeanimatedimage \
+ qdeclarativeanimations \
+ qdeclarativebehaviors \
+ qdeclarativebinding \
+ qdeclarativeborderimage \
+ qdeclarativecomponent \
+ qdeclarativeconnection \
+ qdeclarativecontext \
+ qdeclarativedebug \
+ qdeclarativedebugclient \
+ qdeclarativedebugservice \
+ qdeclarativedom \
+ qdeclarativeecmascript \
+ qdeclarativeengine \
+ qdeclarativeerror \
+ qdeclarativefolderlistmodel \
+ qdeclarativefontloader \
+ qdeclarativeflickable \
+ qdeclarativeflipable \
+ qdeclarativefocusscope \
+ qdeclarativegridview \
+ qdeclarativeimage \
+ qdeclarativeimageprovider \
+ qdeclarativeinfo \
+ qdeclarativeinstruction \
+ qdeclarativeitem \
+ qdeclarativelanguage \
+ qdeclarativelayoutitem \
+ qdeclarativelistmodel \
+ qdeclarativelistreference \
+ qdeclarativelistview \
+ qdeclarativeloader \
+ qdeclarativemoduleplugin \
+ qdeclarativemousearea \
+ qdeclarativeparticles \
+ qdeclarativepathview \
+ qdeclarativepixmapcache \
+ qdeclarativepositioners \
+ qdeclarativeproperty \
+ qdeclarativepropertymap \
+ qdeclarativeqt \
+ qdeclarativerepeater \
+ qdeclarativesmoothedanimation \
+ qdeclarativesmoothedfollow\
+ qdeclarativespringfollow \
+ qdeclarativesqldatabase \
+ qdeclarativestates \
+ qdeclarativestyledtext \
+ qdeclarativesystempalette \
+ qdeclarativetext \
+ qdeclarativetextedit \
+ qdeclarativetextinput \
+ qdeclarativetimer \
+ qdeclarativevaluetypes \
+ qdeclarativeview \
+ qdeclarativeviewer \
+ qdeclarativevisualdatamodel \
+ qdeclarativeworkerscript \
+ qdeclarativexmlhttprequest \
+ qdeclarativexmllistmodel \
+ qmlvisual \
+ qpacketprotocol
contains(QT_CONFIG, webkit) {
SUBDIRS += \
- qdeclarativewebview # Cover
+ qdeclarativewebview
}
# Tests which should run in Pulse
PULSE_TESTS = $$SUBDIRS
-
diff --git a/tests/auto/declarative/examples/examples.pro b/tests/auto/declarative/examples/examples.pro
index 4c325242b3..2e243b4957 100644
--- a/tests/auto/declarative/examples/examples.pro
+++ b/tests/auto/declarative/examples/examples.pro
@@ -6,7 +6,13 @@ SOURCES += tst_examples.cpp
include(../../../../tools/qml/qml.pri)
-DEFINES += SRCDIR=\\\"$$PWD\\\"
+symbian: {
+ importFiles.sources = data
+ importFiles.path = .
+ DEPLOYMENT = importFiles
+} else {
+ DEFINES += SRCDIR=\\\"$$PWD\\\"
+}
CONFIG += parallel_test
diff --git a/tests/auto/declarative/examples/tst_examples.cpp b/tests/auto/declarative/examples/tst_examples.cpp
index 16b0cbefdb..cff0b46d39 100644
--- a/tests/auto/declarative/examples/tst_examples.cpp
+++ b/tests/auto/declarative/examples/tst_examples.cpp
@@ -47,6 +47,11 @@
#include <QDeclarativeView>
#include <QDeclarativeError>
+#ifdef Q_OS_SYMBIAN
+// In Symbian OS test data is located in applications private dir
+#define SRCDIR "."
+#endif
+
class tst_examples : public QObject
{
Q_OBJECT
@@ -80,22 +85,15 @@ tst_examples::tst_examples()
// Add directories you want excluded here
- excludedDirs << "examples/declarative/extending";
- excludedDirs << "examples/declarative/tutorials/extending";
- excludedDirs << "examples/declarative/plugins";
- excludedDirs << "examples/declarative/proxywidgets";
- excludedDirs << "examples/declarative/gestures";
-
- excludedDirs << "examples/declarative/imageprovider";
- excludedDirs << "demos/declarative/minehunt";
+ excludedDirs << "doc/src/snippets/declarative/visualdatamodel_rootindex";
#ifdef QT_NO_WEBKIT
- excludedDirs << "examples/declarative/webview";
+ excludedDirs << "examples/declarative/modelviews/webview";
excludedDirs << "demos/declarative/webbrowser";
#endif
#ifdef QT_NO_XMLPATTERNS
- excludedDirs << "examples/declarative/xmldata";
+ excludedDirs << "examples/declarative/xml/xmldata";
excludedDirs << "demos/declarative/twitter";
excludedDirs << "demos/declarative/flickr";
excludedDirs << "demos/declarative/photoviewer";
@@ -157,11 +155,14 @@ QStringList tst_examples::findQmlFiles(const QDir &d)
QStringList rv;
- QStringList files = d.entryList(QStringList() << QLatin1String("*.qml"),
- QDir::Files);
- foreach (const QString &file, files) {
- if (file.at(0).isLower()) {
- rv << d.absoluteFilePath(file);
+ QStringList cppfiles = d.entryList(QStringList() << QLatin1String("*.cpp"), QDir::Files);
+ if (cppfiles.isEmpty()) {
+ QStringList files = d.entryList(QStringList() << QLatin1String("*.qml"),
+ QDir::Files);
+ foreach (const QString &file, files) {
+ if (file.at(0).isLower()) {
+ rv << d.absoluteFilePath(file);
+ }
}
}
diff --git a/tests/auto/declarative/graphicswidgets/data/graphicswidgets.qml b/tests/auto/declarative/graphicswidgets/data/graphicswidgets.qml
deleted file mode 100644
index d6cf4de9c1..0000000000
--- a/tests/auto/declarative/graphicswidgets/data/graphicswidgets.qml
+++ /dev/null
@@ -1,52 +0,0 @@
-import Qt 4.7
-import Qt.widgets 4.7
-
-QGraphicsWidget {
- geometry: "20,0,600x400"
- layout: QGraphicsLinearLayout {
- orientation: Qt.Horizontal
- QGraphicsWidget {
- layout: QGraphicsLinearLayout {
- spacing: 10; orientation: Qt.Vertical
- LayoutItem {
- QGraphicsLinearLayout.stretchFactor: 1
- QGraphicsLinearLayout.spacing: 1
- objectName: "left"
- minimumSize: "100x100"
- maximumSize: "300x300"
- preferredSize: "100x100"
- Rectangle { objectName: "yellowRect"; color: "yellow"; anchors.fill: parent }
- }
- LayoutItem {
- QGraphicsLinearLayout.stretchFactor: 10
- QGraphicsLinearLayout.spacing: 10
- objectName: "left"
- minimumSize: "100x100"
- maximumSize: "300x300"
- preferredSize: "100x100"
- Rectangle { objectName: "yellowRect"; color: "blue"; anchors.fill: parent }
- }
- }
- }
- QGraphicsWidget {
- layout: QGraphicsLinearLayout {
- spacing: 10; orientation: Qt.Horizontal; contentsMargin: 10
- LayoutItem {
- objectName: "left"
- minimumSize: "100x100"
- maximumSize: "300x300"
- preferredSize: "100x100"
- Rectangle { objectName: "yellowRect"; color: "red"; anchors.fill: parent }
- }
- LayoutItem {
- objectName: "left"
- minimumSize: "100x100"
- maximumSize: "300x300"
- preferredSize: "100x100"
- Rectangle { objectName: "yellowRect"; color: "green"; anchors.fill: parent }
- }
- }
- }
- }
-}
-
diff --git a/tests/auto/declarative/graphicswidgets/graphicswidgets.pro b/tests/auto/declarative/graphicswidgets/graphicswidgets.pro
deleted file mode 100644
index b77b43090a..0000000000
--- a/tests/auto/declarative/graphicswidgets/graphicswidgets.pro
+++ /dev/null
@@ -1,10 +0,0 @@
-load(qttest_p4)
-contains(QT_CONFIG,declarative): QT += declarative gui
-macx:CONFIG -= app_bundle
-
-SOURCES += tst_graphicswidgets.cpp
-
-# Define SRCDIR equal to test's source directory
-DEFINES += SRCDIR=\\\"$$PWD\\\"
-
-CONFIG += parallel_test
diff --git a/tests/auto/declarative/graphicswidgets/tst_graphicswidgets.cpp b/tests/auto/declarative/graphicswidgets/tst_graphicswidgets.cpp
deleted file mode 100644
index f1a71d5b01..0000000000
--- a/tests/auto/declarative/graphicswidgets/tst_graphicswidgets.cpp
+++ /dev/null
@@ -1,74 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the test suite of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-#include <qtest.h>
-#include <QFile>
-#include <QtDeclarative/qdeclarativeengine.h>
-#include <QtDeclarative/qdeclarativecomponent.h>
-#include <QtGui/qgraphicswidget.h>
-
-class tst_graphicswidgets : public QObject
-
-{
- Q_OBJECT
-public:
- tst_graphicswidgets();
-
-private slots:
- void widgets();
-};
-
-tst_graphicswidgets::tst_graphicswidgets()
-{
-}
-
-void tst_graphicswidgets::widgets()
-{
- QDeclarativeEngine engine;
- QDeclarativeComponent c(&engine, QUrl::fromLocalFile(SRCDIR "/data/graphicswidgets.qml"));
- QGraphicsWidget *obj = qobject_cast<QGraphicsWidget*>(c.create());
-
- QVERIFY(obj != 0);
- delete obj;
-}
-
-QTEST_MAIN(tst_graphicswidgets)
-
-#include "tst_graphicswidgets.moc"
diff --git a/tests/auto/declarative/parserstress/parserstress.pro b/tests/auto/declarative/parserstress/parserstress.pro
index 88305113f0..bb1d69ff9d 100644
--- a/tests/auto/declarative/parserstress/parserstress.pro
+++ b/tests/auto/declarative/parserstress/parserstress.pro
@@ -4,7 +4,13 @@ macx:CONFIG -= app_bundle
SOURCES += tst_parserstress.cpp
-DEFINES += SRCDIR=\\\"$$PWD\\\"
+symbian: {
+ importFiles.sources = ..\\..\\qscriptjstestsuite\\tests
+ importFiles.path = .
+ DEPLOYMENT = importFiles
+} else {
+ DEFINES += SRCDIR=\\\"$$PWD\\\"
+}
CONFIG += parallel_test
diff --git a/tests/auto/declarative/parserstress/tst_parserstress.cpp b/tests/auto/declarative/parserstress/tst_parserstress.cpp
index 294f2f76eb..522a63a8f5 100644
--- a/tests/auto/declarative/parserstress/tst_parserstress.cpp
+++ b/tests/auto/declarative/parserstress/tst_parserstress.cpp
@@ -46,6 +46,11 @@
#include <QDir>
#include <QFile>
+#ifdef Q_OS_SYMBIAN
+// In Symbian OS test data is located in applications private dir
+#define SRCDIR "."
+#endif
+
class tst_parserstress : public QObject
{
Q_OBJECT
@@ -86,12 +91,15 @@ QStringList tst_parserstress::findJSFiles(const QDir &d)
void tst_parserstress::ecmascript_data()
{
+#ifdef Q_OS_SYMBIAN
+ QDir dir("tests");
+#else
QDir dir(SRCDIR);
dir.cdUp();
dir.cdUp();
dir.cd("qscriptjstestsuite");
dir.cd("tests");
-
+#endif
QStringList files = findJSFiles(dir);
QTest::addColumn<QString>("file");
@@ -129,6 +137,7 @@ void tst_parserstress::ecmascript()
QByteArray qmlData = qml.toUtf8();
QDeclarativeComponent component(&engine);
+
component.setData(qmlData, QUrl::fromLocalFile(SRCDIR + QString("/dummy.qml")));
QFileInfo info(file);
diff --git a/tests/auto/declarative/qdeclarativeanchors/data/anchorsqgraphicswidget.qml b/tests/auto/declarative/qdeclarativeanchors/data/anchorsqgraphicswidget.qml
index 91973a3c30..d430c2cfb2 100644
--- a/tests/auto/declarative/qdeclarativeanchors/data/anchorsqgraphicswidget.qml
+++ b/tests/auto/declarative/qdeclarativeanchors/data/anchorsqgraphicswidget.qml
@@ -1,5 +1,4 @@
import Qt 4.7
-import Qt.widgets 4.7
Rectangle {
color: "white"
diff --git a/tests/auto/declarative/qdeclarativeanchors/data/hvCenter.qml b/tests/auto/declarative/qdeclarativeanchors/data/hvCenter.qml
new file mode 100644
index 0000000000..7cd4f264f6
--- /dev/null
+++ b/tests/auto/declarative/qdeclarativeanchors/data/hvCenter.qml
@@ -0,0 +1,11 @@
+import Qt 4.7
+
+Rectangle {
+ width: 77; height: 95
+ Rectangle {
+ objectName: "centered"
+ width: 57; height: 57; color: "blue"
+ anchors.verticalCenter: parent.verticalCenter
+ anchors.horizontalCenter: parent.horizontalCenter
+ }
+}
diff --git a/tests/auto/declarative/qdeclarativeanchors/qdeclarativeanchors.pro b/tests/auto/declarative/qdeclarativeanchors/qdeclarativeanchors.pro
index a2403f280c..9798bb6a62 100644
--- a/tests/auto/declarative/qdeclarativeanchors/qdeclarativeanchors.pro
+++ b/tests/auto/declarative/qdeclarativeanchors/qdeclarativeanchors.pro
@@ -3,7 +3,13 @@ contains(QT_CONFIG,declarative): QT += declarative
SOURCES += tst_qdeclarativeanchors.cpp
macx:CONFIG -= app_bundle
-DEFINES += SRCDIR=\\\"$$PWD\\\"
+symbian: {
+ importFiles.sources = data
+ importFiles.path = .
+ DEPLOYMENT = importFiles
+} else {
+ DEFINES += SRCDIR=\\\"$$PWD\\\"
+}
CONFIG += parallel_test
diff --git a/tests/auto/declarative/qdeclarativeanchors/tst_qdeclarativeanchors.cpp b/tests/auto/declarative/qdeclarativeanchors/tst_qdeclarativeanchors.cpp
index dff62c77c5..97b77d06b0 100644
--- a/tests/auto/declarative/qdeclarativeanchors/tst_qdeclarativeanchors.cpp
+++ b/tests/auto/declarative/qdeclarativeanchors/tst_qdeclarativeanchors.cpp
@@ -48,6 +48,12 @@
#include <private/qdeclarativerectangle_p.h>
#include <private/qdeclarativetext_p.h>
#include <QtDeclarative/private/qdeclarativeanchors_p_p.h>
+#include <QtDeclarative/private/qdeclarativeitem_p.h>
+
+#ifdef Q_OS_SYMBIAN
+// In Symbian OS test data is located in applications private dir
+#define SRCDIR "."
+#endif
Q_DECLARE_METATYPE(QDeclarativeAnchors::Anchor)
Q_DECLARE_METATYPE(QDeclarativeAnchorLine::AnchorLine)
@@ -76,6 +82,7 @@ private slots:
void nullItem_data();
void crash1();
void centerIn();
+ void hvCenter();
void fill();
void margins();
};
@@ -376,15 +383,16 @@ void tst_qdeclarativeanchors::reset()
anchor.anchorLine = anchorLine;
QDeclarativeItem *item = new QDeclarativeItem;
+ QDeclarativeItemPrivate *itemPrivate = QDeclarativeItemPrivate::get(item);
- const QMetaObject *meta = item->anchors()->metaObject();
+ const QMetaObject *meta = itemPrivate->anchors()->metaObject();
QMetaProperty p = meta->property(meta->indexOfProperty(side.toUtf8().constData()));
- QVERIFY(p.write(item->anchors(), qVariantFromValue(anchor)));
- QCOMPARE(item->anchors()->usedAnchors().testFlag(usedAnchor), true);
+ QVERIFY(p.write(itemPrivate->anchors(), qVariantFromValue(anchor)));
+ QCOMPARE(itemPrivate->anchors()->usedAnchors().testFlag(usedAnchor), true);
- QVERIFY(p.reset(item->anchors()));
- QCOMPARE(item->anchors()->usedAnchors().testFlag(usedAnchor), false);
+ QVERIFY(p.reset(itemPrivate->anchors()));
+ QCOMPARE(itemPrivate->anchors()->usedAnchors().testFlag(usedAnchor), false);
delete item;
delete baseItem;
@@ -410,18 +418,19 @@ void tst_qdeclarativeanchors::resetConvenience()
{
QDeclarativeItem *baseItem = new QDeclarativeItem;
QDeclarativeItem *item = new QDeclarativeItem;
+ QDeclarativeItemPrivate *itemPrivate = QDeclarativeItemPrivate::get(item);
//fill
- item->anchors()->setFill(baseItem);
- QVERIFY(item->anchors()->fill() == baseItem);
- item->anchors()->resetFill();
- QVERIFY(item->anchors()->fill() == 0);
+ itemPrivate->anchors()->setFill(baseItem);
+ QVERIFY(itemPrivate->anchors()->fill() == baseItem);
+ itemPrivate->anchors()->resetFill();
+ QVERIFY(itemPrivate->anchors()->fill() == 0);
//centerIn
- item->anchors()->setCenterIn(baseItem);
- QVERIFY(item->anchors()->centerIn() == baseItem);
- item->anchors()->resetCenterIn();
- QVERIFY(item->anchors()->centerIn() == 0);
+ itemPrivate->anchors()->setCenterIn(baseItem);
+ QVERIFY(itemPrivate->anchors()->centerIn() == baseItem);
+ itemPrivate->anchors()->resetCenterIn();
+ QVERIFY(itemPrivate->anchors()->centerIn() == 0);
delete item;
delete baseItem;
@@ -433,12 +442,13 @@ void tst_qdeclarativeanchors::nullItem()
QDeclarativeAnchorLine anchor;
QDeclarativeItem *item = new QDeclarativeItem;
+ QDeclarativeItemPrivate *itemPrivate = QDeclarativeItemPrivate::get(item);
- const QMetaObject *meta = item->anchors()->metaObject();
+ const QMetaObject *meta = itemPrivate->anchors()->metaObject();
QMetaProperty p = meta->property(meta->indexOfProperty(side.toUtf8().constData()));
QTest::ignoreMessage(QtWarningMsg, "<Unknown File>: QML Item: Cannot anchor to a null item.");
- QVERIFY(p.write(item->anchors(), qVariantFromValue(anchor)));
+ QVERIFY(p.write(itemPrivate->anchors(), qVariantFromValue(anchor)));
delete item;
}
@@ -486,15 +496,16 @@ void tst_qdeclarativeanchors::fill()
qApp->processEvents();
QDeclarativeRectangle* rect = findItem<QDeclarativeRectangle>(view->rootObject(), QLatin1String("filler"));
+ QDeclarativeItemPrivate *rectPrivate = QDeclarativeItemPrivate::get(rect);
QCOMPARE(rect->x(), 0.0 + 10.0);
QCOMPARE(rect->y(), 0.0 + 30.0);
QCOMPARE(rect->width(), 200.0 - 10.0 - 20.0);
QCOMPARE(rect->height(), 200.0 - 30.0 - 40.0);
//Alter Offsets (tests QTBUG-6631)
- rect->anchors()->setLeftMargin(20.0);
- rect->anchors()->setRightMargin(0.0);
- rect->anchors()->setBottomMargin(0.0);
- rect->anchors()->setTopMargin(10.0);
+ rectPrivate->anchors()->setLeftMargin(20.0);
+ rectPrivate->anchors()->setRightMargin(0.0);
+ rectPrivate->anchors()->setBottomMargin(0.0);
+ rectPrivate->anchors()->setTopMargin(10.0);
QCOMPARE(rect->x(), 0.0 + 20.0);
QCOMPARE(rect->y(), 0.0 + 10.0);
QCOMPARE(rect->width(), 200.0 - 20.0);
@@ -509,30 +520,45 @@ void tst_qdeclarativeanchors::centerIn()
qApp->processEvents();
QDeclarativeRectangle* rect = findItem<QDeclarativeRectangle>(view->rootObject(), QLatin1String("centered"));
+ QDeclarativeItemPrivate *rectPrivate = QDeclarativeItemPrivate::get(rect);
QCOMPARE(rect->x(), 75.0 + 10);
QCOMPARE(rect->y(), 75.0 + 30);
//Alter Offsets (tests QTBUG-6631)
- rect->anchors()->setHorizontalCenterOffset(-20.0);
- rect->anchors()->setVerticalCenterOffset(-10.0);
+ rectPrivate->anchors()->setHorizontalCenterOffset(-20.0);
+ rectPrivate->anchors()->setVerticalCenterOffset(-10.0);
QCOMPARE(rect->x(), 75.0 - 20.0);
QCOMPARE(rect->y(), 75.0 - 10.0);
delete view;
}
+void tst_qdeclarativeanchors::hvCenter()
+{
+ QDeclarativeView *view = new QDeclarativeView(QUrl::fromLocalFile(SRCDIR "/data/hvCenter.qml"));
+
+ qApp->processEvents();
+ QDeclarativeRectangle* rect = findItem<QDeclarativeRectangle>(view->rootObject(), QLatin1String("centered"));
+ QDeclarativeItemPrivate *rectPrivate = QDeclarativeItemPrivate::get(rect);
+ // test QTBUG-10999
+ QCOMPARE(rect->x(), 10.0);
+ QCOMPARE(rect->y(), 19.0);
+ delete view;
+}
+
void tst_qdeclarativeanchors::margins()
{
QDeclarativeView *view = new QDeclarativeView(QUrl::fromLocalFile(SRCDIR "/data/margins.qml"));
qApp->processEvents();
QDeclarativeRectangle* rect = findItem<QDeclarativeRectangle>(view->rootObject(), QLatin1String("filler"));
+ QDeclarativeItemPrivate *rectPrivate = QDeclarativeItemPrivate::get(rect);
QCOMPARE(rect->x(), 5.0);
QCOMPARE(rect->y(), 6.0);
QCOMPARE(rect->width(), 200.0 - 5.0 - 10.0);
QCOMPARE(rect->height(), 200.0 - 6.0 - 10.0);
- rect->anchors()->setTopMargin(0.0);
- rect->anchors()->setMargins(20.0);
+ rectPrivate->anchors()->setTopMargin(0.0);
+ rectPrivate->anchors()->setMargins(20.0);
QCOMPARE(rect->x(), 5.0);
QCOMPARE(rect->y(), 20.0);
diff --git a/tests/auto/declarative/qdeclarativeanimatedimage/qdeclarativeanimatedimage.pro b/tests/auto/declarative/qdeclarativeanimatedimage/qdeclarativeanimatedimage.pro
index 74f9be0c27..0a2f0f29b7 100644
--- a/tests/auto/declarative/qdeclarativeanimatedimage/qdeclarativeanimatedimage.pro
+++ b/tests/auto/declarative/qdeclarativeanimatedimage/qdeclarativeanimatedimage.pro
@@ -4,7 +4,13 @@ HEADERS += ../shared/testhttpserver.h
SOURCES += tst_qdeclarativeanimatedimage.cpp ../shared/testhttpserver.cpp
macx:CONFIG -= app_bundle
-DEFINES += SRCDIR=\\\"$$PWD\\\"
+symbian: {
+ importFiles.sources = data
+ importFiles.path = .
+ DEPLOYMENT = importFiles
+} else {
+ DEFINES += SRCDIR=\\\"$$PWD\\\"
+}
CONFIG += parallel_test
diff --git a/tests/auto/declarative/qdeclarativeanimatedimage/tst_qdeclarativeanimatedimage.cpp b/tests/auto/declarative/qdeclarativeanimatedimage/tst_qdeclarativeanimatedimage.cpp
index 237a436213..1001278735 100644
--- a/tests/auto/declarative/qdeclarativeanimatedimage/tst_qdeclarativeanimatedimage.cpp
+++ b/tests/auto/declarative/qdeclarativeanimatedimage/tst_qdeclarativeanimatedimage.cpp
@@ -48,6 +48,11 @@
#include "../shared/testhttpserver.h"
+#ifdef Q_OS_SYMBIAN
+// In Symbian OS test data is located in applications private dir
+#define SRCDIR "."
+#endif
+
#define TRY_WAIT(expr) \
do { \
for (int ii = 0; ii < 6; ++ii) { \
diff --git a/tests/auto/declarative/qdeclarativeanimations/qdeclarativeanimations.pro b/tests/auto/declarative/qdeclarativeanimations/qdeclarativeanimations.pro
index ce38eebd45..ed47dcafa2 100644
--- a/tests/auto/declarative/qdeclarativeanimations/qdeclarativeanimations.pro
+++ b/tests/auto/declarative/qdeclarativeanimations/qdeclarativeanimations.pro
@@ -3,7 +3,13 @@ contains(QT_CONFIG,declarative): QT += declarative
SOURCES += tst_qdeclarativeanimations.cpp
macx:CONFIG -= app_bundle
-DEFINES += SRCDIR=\\\"$$PWD\\\"
+symbian: {
+ importFiles.sources = data
+ importFiles.path = .
+ DEPLOYMENT = importFiles
+} else {
+ DEFINES += SRCDIR=\\\"$$PWD\\\"
+}
CONFIG += parallel_test
diff --git a/tests/auto/declarative/qdeclarativeanimations/tst_qdeclarativeanimations.cpp b/tests/auto/declarative/qdeclarativeanimations/tst_qdeclarativeanimations.cpp
index e217e3419b..5cf4c2376a 100644
--- a/tests/auto/declarative/qdeclarativeanimations/tst_qdeclarativeanimations.cpp
+++ b/tests/auto/declarative/qdeclarativeanimations/tst_qdeclarativeanimations.cpp
@@ -44,9 +44,15 @@
#include <QtDeclarative/qdeclarativeview.h>
#include <private/qdeclarativerectangle_p.h>
#include <private/qdeclarativeanimation_p.h>
+#include <private/qdeclarativeitem_p.h>
#include <QVariantAnimation>
#include <QEasingCurve>
+#ifdef Q_OS_SYMBIAN
+// In Symbian OS test data is located in applications private dir
+#define SRCDIR "."
+#endif
+
class tst_qdeclarativeanimations : public QObject
{
Q_OBJECT
@@ -324,7 +330,7 @@ void tst_qdeclarativeanimations::badTypes()
QDeclarativeRectangle *rect = qobject_cast<QDeclarativeRectangle*>(c.create());
QVERIFY(rect);
- rect->setState("state1");
+ QDeclarativeItemPrivate::get(rect)->setState("state1");
QTest::qWait(1000 + 50);
QDeclarativeRectangle *myRect = rect->findChild<QDeclarativeRectangle*>("MyRect");
QVERIFY(myRect);
@@ -366,7 +372,7 @@ void tst_qdeclarativeanimations::mixedTypes()
QDeclarativeRectangle *rect = qobject_cast<QDeclarativeRectangle*>(c.create());
QVERIFY(rect);
- rect->setState("state1");
+ QDeclarativeItemPrivate::get(rect)->setState("state1");
QTest::qWait(500);
QDeclarativeRectangle *myRect = rect->findChild<QDeclarativeRectangle*>("MyRect");
QVERIFY(myRect);
@@ -382,7 +388,7 @@ void tst_qdeclarativeanimations::mixedTypes()
QDeclarativeRectangle *rect = qobject_cast<QDeclarativeRectangle*>(c.create());
QVERIFY(rect);
- rect->setState("state1");
+ QDeclarativeItemPrivate::get(rect)->setState("state1");
QTest::qWait(500);
QDeclarativeRectangle *myRect = rect->findChild<QDeclarativeRectangle*>("MyRect");
QVERIFY(myRect);
@@ -468,7 +474,7 @@ void tst_qdeclarativeanimations::propertiesTransition()
QDeclarativeRectangle *rect = qobject_cast<QDeclarativeRectangle*>(c.create());
QVERIFY(rect);
- rect->setState("moved");
+ QDeclarativeItemPrivate::get(rect)->setState("moved");
QDeclarativeRectangle *myRect = rect->findChild<QDeclarativeRectangle*>("TheRect");
QVERIFY(myRect);
QTest::qWait(waitDuration);
@@ -483,7 +489,7 @@ void tst_qdeclarativeanimations::propertiesTransition()
QDeclarativeRectangle *myRect = rect->findChild<QDeclarativeRectangle*>("TheRect");
QVERIFY(myRect);
- rect->setState("moved");
+ QDeclarativeItemPrivate::get(rect)->setState("moved");
QCOMPARE(myRect->x(),qreal(200));
QCOMPARE(myRect->y(),qreal(100));
QTest::qWait(waitDuration);
@@ -498,7 +504,7 @@ void tst_qdeclarativeanimations::propertiesTransition()
QDeclarativeRectangle *myRect = rect->findChild<QDeclarativeRectangle*>("TheRect");
QVERIFY(myRect);
- rect->setState("moved");
+ QDeclarativeItemPrivate::get(rect)->setState("moved");
QCOMPARE(myRect->x(),qreal(200));
QCOMPARE(myRect->y(),qreal(100));
}
@@ -511,7 +517,7 @@ void tst_qdeclarativeanimations::propertiesTransition()
QDeclarativeRectangle *myRect = rect->findChild<QDeclarativeRectangle*>("TheRect");
QVERIFY(myRect);
- rect->setState("moved");
+ QDeclarativeItemPrivate::get(rect)->setState("moved");
QCOMPARE(myRect->x(),qreal(100));
QTest::qWait(waitDuration);
QTIMED_COMPARE(myRect->x(),qreal(200));
@@ -525,7 +531,7 @@ void tst_qdeclarativeanimations::propertiesTransition()
QDeclarativeRectangle *myRect = rect->findChild<QDeclarativeRectangle*>("TheRect");
QVERIFY(myRect);
- rect->setState("moved");
+ QDeclarativeItemPrivate::get(rect)->setState("moved");
QCOMPARE(myRect->x(),qreal(100));
QTest::qWait(waitDuration);
QTIMED_COMPARE(myRect->x(),qreal(200));
@@ -539,7 +545,7 @@ void tst_qdeclarativeanimations::propertiesTransition()
QDeclarativeRectangle *myRect = rect->findChild<QDeclarativeRectangle*>("TheRect");
QVERIFY(myRect);
- rect->setState("moved");
+ QDeclarativeItemPrivate::get(rect)->setState("moved");
QCOMPARE(myRect->x(),qreal(100));
QTest::qWait(waitDuration);
QTIMED_COMPARE(myRect->x(),qreal(100));
@@ -709,7 +715,7 @@ void tst_qdeclarativeanimations::rotation()
QDeclarativeRectangle *rr3 = rect->findChild<QDeclarativeRectangle*>("rr3");
QDeclarativeRectangle *rr4 = rect->findChild<QDeclarativeRectangle*>("rr4");
- rect->setState("state1");
+ QDeclarativeItemPrivate::get(rect)->setState("state1");
QTest::qWait(800);
qreal r1 = rr->rotation();
qreal r2 = rr2->rotation();
diff --git a/tests/auto/declarative/qdeclarativebehaviors/data/groupedPropertyCrash.qml b/tests/auto/declarative/qdeclarativebehaviors/data/groupedPropertyCrash.qml
new file mode 100644
index 0000000000..c052366717
--- /dev/null
+++ b/tests/auto/declarative/qdeclarativebehaviors/data/groupedPropertyCrash.qml
@@ -0,0 +1,10 @@
+import Qt 4.7
+
+Rectangle {
+ width: 200
+ height: 200
+ Text {
+ Behavior on anchors.verticalCenterOffset { NumberAnimation { duration: 300; } }
+ text: "Hello World"
+ }
+}
diff --git a/tests/auto/declarative/qdeclarativebehaviors/data/startup2.qml b/tests/auto/declarative/qdeclarativebehaviors/data/startup2.qml
new file mode 100644
index 0000000000..1911cc4eb5
--- /dev/null
+++ b/tests/auto/declarative/qdeclarativebehaviors/data/startup2.qml
@@ -0,0 +1,16 @@
+import Qt 4.7
+
+Rectangle {
+ width: 800;
+ height: 480;
+
+ Text { id:theText; text: "hello world" }
+
+ Rectangle {
+ objectName: "innerRect"
+ color: "red"
+ x: theText.width
+ Behavior on x { NumberAnimation {} }
+ width: 100; height: 100
+ }
+}
diff --git a/tests/auto/declarative/qdeclarativebehaviors/qdeclarativebehaviors.pro b/tests/auto/declarative/qdeclarativebehaviors/qdeclarativebehaviors.pro
index c2781b89df..cfb59ef458 100644
--- a/tests/auto/declarative/qdeclarativebehaviors/qdeclarativebehaviors.pro
+++ b/tests/auto/declarative/qdeclarativebehaviors/qdeclarativebehaviors.pro
@@ -3,7 +3,13 @@ contains(QT_CONFIG,declarative): QT += declarative
SOURCES += tst_qdeclarativebehaviors.cpp
macx:CONFIG -= app_bundle
-DEFINES += SRCDIR=\\\"$$PWD\\\"
+symbian: {
+ importFiles.sources = data
+ importFiles.path = .
+ DEPLOYMENT = importFiles
+} else {
+ DEFINES += SRCDIR=\\\"$$PWD\\\"
+}
CONFIG += parallel_test
diff --git a/tests/auto/declarative/qdeclarativebehaviors/tst_qdeclarativebehaviors.cpp b/tests/auto/declarative/qdeclarativebehaviors/tst_qdeclarativebehaviors.cpp
index ee9e282fbb..70739fb986 100644
--- a/tests/auto/declarative/qdeclarativebehaviors/tst_qdeclarativebehaviors.cpp
+++ b/tests/auto/declarative/qdeclarativebehaviors/tst_qdeclarativebehaviors.cpp
@@ -43,10 +43,17 @@
#include <QtDeclarative/qdeclarativecomponent.h>
#include <QtDeclarative/qdeclarativeview.h>
#include <private/qdeclarativerectangle_p.h>
+#include <private/qdeclarativetext_p.h>
#include <private/qdeclarativebehavior_p.h>
#include <private/qdeclarativeanimation_p.h>
+#include <private/qdeclarativeitem_p.h>
#include "../../../shared/util.h"
+#ifdef Q_OS_SYMBIAN
+// In Symbian OS test data is located in applications private dir
+#define SRCDIR "."
+#endif
+
class tst_qdeclarativebehaviors : public QObject
{
Q_OBJECT
@@ -70,6 +77,7 @@ private slots:
void disabled();
void dontStart();
void startup();
+ void groupedPropertyCrash();
};
void tst_qdeclarativebehaviors::simpleBehavior()
@@ -80,7 +88,7 @@ void tst_qdeclarativebehaviors::simpleBehavior()
QTRY_VERIFY(rect);
QTRY_VERIFY(qobject_cast<QDeclarativeBehavior*>(rect->findChild<QDeclarativeBehavior*>("MyBehavior"))->animation());
- rect->setState("moved");
+ QDeclarativeItemPrivate::get(rect)->setState("moved");
QTRY_VERIFY(qobject_cast<QDeclarativeRectangle*>(rect->findChild<QDeclarativeRectangle*>("MyRect"))->x() > 0);
QTRY_VERIFY(qobject_cast<QDeclarativeRectangle*>(rect->findChild<QDeclarativeRectangle*>("MyRect"))->x() < 200);
//i.e. the behavior has been triggered
@@ -128,7 +136,7 @@ void tst_qdeclarativebehaviors::loop()
QTRY_VERIFY(rect);
//don't crash
- rect->setState("moved");
+ QDeclarativeItemPrivate::get(rect)->setState("moved");
delete rect;
}
@@ -140,7 +148,7 @@ void tst_qdeclarativebehaviors::colorBehavior()
QDeclarativeRectangle *rect = qobject_cast<QDeclarativeRectangle*>(c.create());
QTRY_VERIFY(rect);
- rect->setState("red");
+ QDeclarativeItemPrivate::get(rect)->setState("red");
QTRY_VERIFY(qobject_cast<QDeclarativeRectangle*>(rect->findChild<QDeclarativeRectangle*>("MyRect"))->color() != QColor("red"));
QTRY_VERIFY(qobject_cast<QDeclarativeRectangle*>(rect->findChild<QDeclarativeRectangle*>("MyRect"))->color() != QColor("green"));
//i.e. the behavior has been triggered
@@ -155,7 +163,7 @@ void tst_qdeclarativebehaviors::parentBehavior()
QDeclarativeRectangle *rect = qobject_cast<QDeclarativeRectangle*>(c.create());
QTRY_VERIFY(rect);
- rect->setState("reparented");
+ QDeclarativeItemPrivate::get(rect)->setState("reparented");
QTRY_VERIFY(rect->findChild<QDeclarativeRectangle*>("MyRect")->parentItem() != rect->findChild<QDeclarativeItem*>("NewParent"));
QTRY_VERIFY(rect->findChild<QDeclarativeRectangle*>("MyRect")->parentItem() == rect->findChild<QDeclarativeItem*>("NewParent"));
@@ -169,7 +177,7 @@ void tst_qdeclarativebehaviors::replaceBinding()
QDeclarativeRectangle *rect = qobject_cast<QDeclarativeRectangle*>(c.create());
QTRY_VERIFY(rect);
- rect->setState("moved");
+ QDeclarativeItemPrivate::get(rect)->setState("moved");
QDeclarativeRectangle *innerRect = qobject_cast<QDeclarativeRectangle*>(rect->findChild<QDeclarativeRectangle*>("MyRect"));
QTRY_VERIFY(innerRect);
QTRY_VERIFY(innerRect->x() > 0);
@@ -181,7 +189,7 @@ void tst_qdeclarativebehaviors::replaceBinding()
rect->setProperty("movedx", 210);
QTRY_COMPARE(innerRect->x(), (qreal)210);
- rect->setState("");
+ QDeclarativeItemPrivate::get(rect)->setState("");
QTRY_VERIFY(innerRect->x() > 10);
QTRY_VERIFY(innerRect->x() < 210); //i.e. the behavior has been triggered
QTRY_COMPARE(innerRect->x(), (qreal)10);
@@ -201,7 +209,7 @@ void tst_qdeclarativebehaviors::group()
QDeclarativeRectangle *rect = qobject_cast<QDeclarativeRectangle*>(c.create());
QTRY_VERIFY(rect);
- rect->setState("moved");
+ QDeclarativeItemPrivate::get(rect)->setState("moved");
//QTest::qWait(200);
QTRY_VERIFY(qobject_cast<QDeclarativeRectangle*>(rect->findChild<QDeclarativeRectangle*>("MyRect"))->x() > 0);
QTRY_VERIFY(qobject_cast<QDeclarativeRectangle*>(rect->findChild<QDeclarativeRectangle*>("MyRect"))->x() < 200);
@@ -216,7 +224,7 @@ void tst_qdeclarativebehaviors::group()
QDeclarativeRectangle *rect = qobject_cast<QDeclarativeRectangle*>(c.create());
QTRY_VERIFY(rect);
- rect->setState("moved");
+ QDeclarativeItemPrivate::get(rect)->setState("moved");
QTRY_VERIFY(qobject_cast<QDeclarativeRectangle*>(rect->findChild<QDeclarativeRectangle*>("MyRect"))->x() > 0);
QTRY_VERIFY(qobject_cast<QDeclarativeRectangle*>(rect->findChild<QDeclarativeRectangle*>("MyRect"))->x() < 200);
//i.e. the behavior has been triggered
@@ -230,11 +238,11 @@ void tst_qdeclarativebehaviors::emptyBehavior()
QDeclarativeEngine engine;
QDeclarativeComponent c(&engine, QUrl::fromLocalFile(SRCDIR "/data/empty.qml"));
QDeclarativeRectangle *rect = qobject_cast<QDeclarativeRectangle*>(c.create());
- QTRY_VERIFY(rect);
+ QVERIFY(rect);
- rect->setState("moved");
+ QDeclarativeItemPrivate::get(rect)->setState("moved");
qreal x = qobject_cast<QDeclarativeRectangle*>(rect->findChild<QDeclarativeRectangle*>("MyRect"))->x();
- QTRY_COMPARE(x, qreal(200)); //should change immediately
+ QCOMPARE(x, qreal(200)); //should change immediately
delete rect;
}
@@ -244,9 +252,9 @@ void tst_qdeclarativebehaviors::explicitSelection()
QDeclarativeEngine engine;
QDeclarativeComponent c(&engine, QUrl::fromLocalFile(SRCDIR "/data/explicit.qml"));
QDeclarativeRectangle *rect = qobject_cast<QDeclarativeRectangle*>(c.create());
- QTRY_VERIFY(rect);
+ QVERIFY(rect);
- rect->setState("moved");
+ QDeclarativeItemPrivate::get(rect)->setState("moved");
QTRY_VERIFY(qobject_cast<QDeclarativeRectangle*>(rect->findChild<QDeclarativeRectangle*>("MyRect"))->x() > 0);
QTRY_VERIFY(qobject_cast<QDeclarativeRectangle*>(rect->findChild<QDeclarativeRectangle*>("MyRect"))->x() < 200);
//i.e. the behavior has been triggered
@@ -259,11 +267,11 @@ void tst_qdeclarativebehaviors::nonSelectingBehavior()
QDeclarativeEngine engine;
QDeclarativeComponent c(&engine, QUrl::fromLocalFile(SRCDIR "/data/nonSelecting2.qml"));
QDeclarativeRectangle *rect = qobject_cast<QDeclarativeRectangle*>(c.create());
- QTRY_VERIFY(rect);
+ QVERIFY(rect);
- rect->setState("moved");
+ QDeclarativeItemPrivate::get(rect)->setState("moved");
qreal x = qobject_cast<QDeclarativeRectangle*>(rect->findChild<QDeclarativeRectangle*>("MyRect"))->x();
- QTRY_COMPARE(x, qreal(200)); //should change immediately
+ QCOMPARE(x, qreal(200)); //should change immediately
delete rect;
}
@@ -275,10 +283,9 @@ void tst_qdeclarativebehaviors::reassignedAnimation()
QString warning = QUrl::fromLocalFile(SRCDIR "/data/reassignedAnimation.qml").toString() + ":9:9: QML Behavior: Cannot change the animation assigned to a Behavior.";
QTest::ignoreMessage(QtWarningMsg, qPrintable(warning));
QDeclarativeRectangle *rect = qobject_cast<QDeclarativeRectangle*>(c.create());
- QTRY_VERIFY(rect);
- QTRY_COMPARE(qobject_cast<QDeclarativeNumberAnimation*>(
- qobject_cast<QDeclarativeBehavior*>(
- rect->findChild<QDeclarativeBehavior*>("MyBehavior"))->animation())->duration(), 200);
+ QVERIFY(rect);
+ QCOMPARE(qobject_cast<QDeclarativeNumberAnimation*>(
+ rect->findChild<QDeclarativeBehavior*>("MyBehavior")->animation())->duration(), 200);
delete rect;
}
@@ -288,12 +295,12 @@ void tst_qdeclarativebehaviors::disabled()
QDeclarativeEngine engine;
QDeclarativeComponent c(&engine, QUrl::fromLocalFile(SRCDIR "/data/disabled.qml"));
QDeclarativeRectangle *rect = qobject_cast<QDeclarativeRectangle*>(c.create());
- QTRY_VERIFY(rect);
- QTRY_COMPARE(rect->findChild<QDeclarativeBehavior*>("MyBehavior")->enabled(), false);
+ QVERIFY(rect);
+ QCOMPARE(rect->findChild<QDeclarativeBehavior*>("MyBehavior")->enabled(), false);
- rect->setState("moved");
+ QDeclarativeItemPrivate::get(rect)->setState("moved");
qreal x = qobject_cast<QDeclarativeRectangle*>(rect->findChild<QDeclarativeRectangle*>("MyRect"))->x();
- QTRY_COMPARE(x, qreal(200)); //should change immediately
+ QCOMPARE(x, qreal(200)); //should change immediately
delete rect;
}
@@ -307,28 +314,56 @@ void tst_qdeclarativebehaviors::dontStart()
QString warning = c.url().toString() + ":13:13: QML NumberAnimation: setRunning() cannot be used on non-root animation nodes.";
QTest::ignoreMessage(QtWarningMsg, qPrintable(warning));
QDeclarativeRectangle *rect = qobject_cast<QDeclarativeRectangle*>(c.create());
- QTRY_VERIFY(rect);
+ QVERIFY(rect);
QDeclarativeAbstractAnimation *myAnim = rect->findChild<QDeclarativeAbstractAnimation*>("MyAnim");
- QTRY_VERIFY(myAnim && myAnim->qtAnimation());
- QTRY_VERIFY(myAnim->qtAnimation()->state() == QAbstractAnimation::Stopped);
+ QVERIFY(myAnim && myAnim->qtAnimation());
+ QVERIFY(myAnim->qtAnimation()->state() == QAbstractAnimation::Stopped);
delete rect;
}
void tst_qdeclarativebehaviors::startup()
{
- QDeclarativeEngine engine;
- QDeclarativeComponent c(&engine, QUrl::fromLocalFile(SRCDIR "/data/startup.qml"));
- QDeclarativeRectangle *rect = qobject_cast<QDeclarativeRectangle*>(c.create());
- QTRY_VERIFY(rect);
+ {
+ QDeclarativeEngine engine;
+ QDeclarativeComponent c(&engine, QUrl::fromLocalFile(SRCDIR "/data/startup.qml"));
+ QDeclarativeRectangle *rect = qobject_cast<QDeclarativeRectangle*>(c.create());
+ QVERIFY(rect);
- QDeclarativeRectangle *innerRect = rect->findChild<QDeclarativeRectangle*>("innerRect");
- QTRY_VERIFY(innerRect);
+ QDeclarativeRectangle *innerRect = rect->findChild<QDeclarativeRectangle*>("innerRect");
+ QVERIFY(innerRect);
- QTRY_COMPARE(innerRect->x(), qreal(100)); //should be set immediately
+ QCOMPARE(innerRect->x(), qreal(100)); //should be set immediately
- delete rect;
+ delete rect;
+ }
+
+ {
+ QDeclarativeEngine engine;
+ QDeclarativeComponent c(&engine, QUrl::fromLocalFile(SRCDIR "/data/startup2.qml"));
+ QDeclarativeRectangle *rect = qobject_cast<QDeclarativeRectangle*>(c.create());
+ QVERIFY(rect);
+
+ QDeclarativeRectangle *innerRect = rect->findChild<QDeclarativeRectangle*>("innerRect");
+ QVERIFY(innerRect);
+
+ QDeclarativeText *text = rect->findChild<QDeclarativeText*>();
+ QVERIFY(text);
+
+ QCOMPARE(innerRect->x(), text->width()); //should be set immediately
+
+ delete rect;
+ }
+}
+
+//QTBUG-10799
+void tst_qdeclarativebehaviors::groupedPropertyCrash()
+{
+ QDeclarativeEngine engine;
+ QDeclarativeComponent c(&engine, QUrl::fromLocalFile(SRCDIR "/data/groupedPropertyCrash.qml"));
+ QDeclarativeRectangle *rect = qobject_cast<QDeclarativeRectangle*>(c.create());
+ QVERIFY(rect); //don't crash
}
QTEST_MAIN(tst_qdeclarativebehaviors)
diff --git a/tests/auto/declarative/qdeclarativebinding/qdeclarativebinding.pro b/tests/auto/declarative/qdeclarativebinding/qdeclarativebinding.pro
index 04dd6f5e9d..a7ba2a8bd8 100644
--- a/tests/auto/declarative/qdeclarativebinding/qdeclarativebinding.pro
+++ b/tests/auto/declarative/qdeclarativebinding/qdeclarativebinding.pro
@@ -4,8 +4,13 @@ macx:CONFIG -= app_bundle
SOURCES += tst_qdeclarativebinding.cpp
-# Define SRCDIR equal to test's source directory
-DEFINES += SRCDIR=\\\"$$PWD\\\"
+symbian: {
+ importFiles.sources = data
+ importFiles.path = .
+ DEPLOYMENT = importFiles
+} else {
+ DEFINES += SRCDIR=\\\"$$PWD\\\"
+}
CONFIG += parallel_test
diff --git a/tests/auto/declarative/qdeclarativebinding/tst_qdeclarativebinding.cpp b/tests/auto/declarative/qdeclarativebinding/tst_qdeclarativebinding.cpp
index 8ab7b0bb47..653b34a26d 100644
--- a/tests/auto/declarative/qdeclarativebinding/tst_qdeclarativebinding.cpp
+++ b/tests/auto/declarative/qdeclarativebinding/tst_qdeclarativebinding.cpp
@@ -45,6 +45,11 @@
#include <private/qdeclarativerectangle_p.h>
#include "../../../shared/util.h"
+#ifdef Q_OS_SYMBIAN
+// In Symbian OS test data is located in applications private dir
+#define SRCDIR "."
+#endif
+
class tst_qdeclarativebinding : public QObject
{
diff --git a/tests/auto/declarative/qdeclarativeborderimage/qdeclarativeborderimage.pro b/tests/auto/declarative/qdeclarativeborderimage/qdeclarativeborderimage.pro
index e754923475..a21761b87a 100644
--- a/tests/auto/declarative/qdeclarativeborderimage/qdeclarativeborderimage.pro
+++ b/tests/auto/declarative/qdeclarativeborderimage/qdeclarativeborderimage.pro
@@ -5,8 +5,13 @@ macx:CONFIG -= app_bundle
HEADERS += ../shared/testhttpserver.h
SOURCES += tst_qdeclarativeborderimage.cpp ../shared/testhttpserver.cpp
-# Define SRCDIR equal to test's source directory
-DEFINES += SRCDIR=\\\"$$PWD\\\"
+symbian: {
+ importFiles.sources = data
+ importFiles.path = .
+ DEPLOYMENT = importFiles
+} else {
+ DEFINES += SRCDIR=\\\"$$PWD\\\"
+}
CONFIG += parallel_test
diff --git a/tests/auto/declarative/qdeclarativeborderimage/tst_qdeclarativeborderimage.cpp b/tests/auto/declarative/qdeclarativeborderimage/tst_qdeclarativeborderimage.cpp
index 69b4a89cd9..1b73cf7ae8 100644
--- a/tests/auto/declarative/qdeclarativeborderimage/tst_qdeclarativeborderimage.cpp
+++ b/tests/auto/declarative/qdeclarativeborderimage/tst_qdeclarativeborderimage.cpp
@@ -54,6 +54,10 @@
#include "../shared/testhttpserver.h"
+#ifdef Q_OS_SYMBIAN
+// In Symbian OS test data is located in applications private dir
+#define SRCDIR "."
+#endif
#define SERVER_PORT 14446
#define SERVER_ADDR "http://127.0.0.1:14446"
diff --git a/tests/auto/declarative/qdeclarativecomponent/data/createObject.qml b/tests/auto/declarative/qdeclarativecomponent/data/createObject.qml
new file mode 100644
index 0000000000..4ee1e75c89
--- /dev/null
+++ b/tests/auto/declarative/qdeclarativecomponent/data/createObject.qml
@@ -0,0 +1,16 @@
+import Qt 4.7
+
+Item{
+ id: root
+ property QtObject qobject : null
+ property QtObject declarativeitem : null
+ property QtObject graphicswidget: null
+ Component{id: a; QtObject{} }
+ Component{id: b; Item{} }
+ Component{id: c; QGraphicsWidget{} }
+ Component.onCompleted: {
+ root.qobject = a.createObject(root);
+ root.declarativeitem = b.createObject(root);
+ root.graphicswidget = c.createObject(root);
+ }
+}
diff --git a/tests/auto/declarative/qdeclarativecomponent/qdeclarativecomponent.pro b/tests/auto/declarative/qdeclarativecomponent/qdeclarativecomponent.pro
index e58c798d85..4124f94692 100644
--- a/tests/auto/declarative/qdeclarativecomponent/qdeclarativecomponent.pro
+++ b/tests/auto/declarative/qdeclarativecomponent/qdeclarativecomponent.pro
@@ -5,7 +5,9 @@ macx:CONFIG -= app_bundle
SOURCES += tst_qdeclarativecomponent.cpp
-DEFINES += SRCDIR=\\\"$$PWD\\\"
+!symbian: {
+ DEFINES += SRCDIR=\\\"$$PWD\\\"
+}
CONFIG += parallel_test
diff --git a/tests/auto/declarative/qdeclarativecomponent/tst_qdeclarativecomponent.cpp b/tests/auto/declarative/qdeclarativecomponent/tst_qdeclarativecomponent.cpp
index c9e304cc26..8a19b8bca1 100644
--- a/tests/auto/declarative/qdeclarativecomponent/tst_qdeclarativecomponent.cpp
+++ b/tests/auto/declarative/qdeclarativecomponent/tst_qdeclarativecomponent.cpp
@@ -39,10 +39,17 @@
**
****************************************************************************/
#include <qtest.h>
+#include <QDebug>
+#include <QtGui/qgraphicsitem.h>
#include <QtDeclarative/qdeclarativeengine.h>
#include <QtDeclarative/qdeclarativecomponent.h>
+#ifdef Q_OS_SYMBIAN
+// In Symbian OS test data is located in applications private dir
+#define SRCDIR "."
+#endif
+
class tst_qdeclarativecomponent : public QObject
{
Q_OBJECT
@@ -51,6 +58,7 @@ public:
private slots:
void loadEmptyUrl();
+ void qmlCreateObject();
private:
QDeclarativeEngine engine;
@@ -70,6 +78,31 @@ void tst_qdeclarativecomponent::loadEmptyUrl()
QCOMPARE(error.description(), QLatin1String("Invalid empty URL"));
}
+void tst_qdeclarativecomponent::qmlCreateObject()
+{
+ QDeclarativeEngine engine;
+ QDeclarativeComponent component(&engine, QUrl::fromLocalFile(SRCDIR "/data/createObject.qml"));
+ QObject *object = component.create();
+ QVERIFY(object != 0);
+
+ QObject *testObject1 = object->property("qobject").value<QObject*>();
+ QVERIFY(testObject1);
+ QVERIFY(testObject1->parent() == object);
+
+ QObject *testObject2 = object->property("declarativeitem").value<QObject*>();
+ QVERIFY(testObject2);
+ QVERIFY(testObject2->parent() == object);
+ QCOMPARE(testObject2->metaObject()->className(), "QDeclarativeItem");
+
+ //Note that QGraphicsObjects are not exposed to QML for instantiation, and so can't be used in a component directly
+ //Also this is actually the extended type QDeclarativeGraphicsWidget, but it still doesn't inherit QDeclarativeItem
+ QGraphicsObject *testObject3 = qobject_cast<QGraphicsObject*>(object->property("graphicswidget").value<QObject*>());
+ QVERIFY(testObject3);
+ QVERIFY(testObject3->parent() == object);
+ QVERIFY(testObject3->parentItem() == qobject_cast<QGraphicsObject*>(object));
+ QCOMPARE(testObject3->metaObject()->className(), "QDeclarativeGraphicsWidget");
+}
+
QTEST_MAIN(tst_qdeclarativecomponent)
#include "tst_qdeclarativecomponent.moc"
diff --git a/tests/auto/declarative/qdeclarativeconnection/data/connection-unknownsignals-ignored.qml b/tests/auto/declarative/qdeclarativeconnection/data/connection-unknownsignals-ignored.qml
new file mode 100644
index 0000000000..764d5abc40
--- /dev/null
+++ b/tests/auto/declarative/qdeclarativeconnection/data/connection-unknownsignals-ignored.qml
@@ -0,0 +1,8 @@
+import Qt 4.7
+
+Item {
+ id: screen
+
+ Connections { target: screen; onNotFooBar1: {} ignoreUnknownSignals: true }
+ Connections { objectName: "connections"; onNotFooBar2: {} ignoreUnknownSignals: true }
+}
diff --git a/tests/auto/declarative/qdeclarativeconnection/data/connection-unknownsignals-notarget.qml b/tests/auto/declarative/qdeclarativeconnection/data/connection-unknownsignals-notarget.qml
new file mode 100644
index 0000000000..09e78122b7
--- /dev/null
+++ b/tests/auto/declarative/qdeclarativeconnection/data/connection-unknownsignals-notarget.qml
@@ -0,0 +1,7 @@
+import Qt 4.7
+
+Item {
+ id: screen
+
+ Connections { objectName: "connections"; target: null; onNotFooBar: {} }
+}
diff --git a/tests/auto/declarative/qdeclarativeconnection/data/connection-unknownsignals-parent.qml b/tests/auto/declarative/qdeclarativeconnection/data/connection-unknownsignals-parent.qml
new file mode 100644
index 0000000000..478503d808
--- /dev/null
+++ b/tests/auto/declarative/qdeclarativeconnection/data/connection-unknownsignals-parent.qml
@@ -0,0 +1,7 @@
+import Qt 4.7
+
+Item {
+ id: screen
+
+ Connections { objectName: "connections"; onFooBar: {} }
+}
diff --git a/tests/auto/declarative/qdeclarativeconnection/data/connection-unknownsignals.qml b/tests/auto/declarative/qdeclarativeconnection/data/connection-unknownsignals.qml
new file mode 100644
index 0000000000..d4e8d7ec72
--- /dev/null
+++ b/tests/auto/declarative/qdeclarativeconnection/data/connection-unknownsignals.qml
@@ -0,0 +1,7 @@
+import Qt 4.7
+
+Item {
+ id: screen
+
+ Connections { objectName: "connections"; target: screen; onFooBar: {} }
+}
diff --git a/tests/auto/declarative/qdeclarativeconnection/qdeclarativeconnection.pro b/tests/auto/declarative/qdeclarativeconnection/qdeclarativeconnection.pro
index 959354d418..d06ce4f7ba 100644
--- a/tests/auto/declarative/qdeclarativeconnection/qdeclarativeconnection.pro
+++ b/tests/auto/declarative/qdeclarativeconnection/qdeclarativeconnection.pro
@@ -4,8 +4,13 @@ macx:CONFIG -= app_bundle
SOURCES += tst_qdeclarativeconnection.cpp
-# Define SRCDIR equal to test's source directory
-DEFINES += SRCDIR=\\\"$$PWD\\\"
+symbian: {
+ importFiles.sources = data
+ importFiles.path = .
+ DEPLOYMENT = importFiles
+} else {
+ DEFINES += SRCDIR=\\\"$$PWD\\\"
+}
CONFIG += parallel_test
diff --git a/tests/auto/declarative/qdeclarativeconnection/tst_qdeclarativeconnection.cpp b/tests/auto/declarative/qdeclarativeconnection/tst_qdeclarativeconnection.cpp
index 0efae3b9d2..d38437272d 100644
--- a/tests/auto/declarative/qdeclarativeconnection/tst_qdeclarativeconnection.cpp
+++ b/tests/auto/declarative/qdeclarativeconnection/tst_qdeclarativeconnection.cpp
@@ -46,6 +46,11 @@
#include "../../../shared/util.h"
#include <QtDeclarative/qdeclarativescriptstring.h>
+#ifdef Q_OS_SYMBIAN
+// In Symbian OS test data is located in applications private dir
+#define SRCDIR "."
+#endif
+
class tst_qdeclarativeconnection : public QObject
{
@@ -59,6 +64,8 @@ private slots:
void connection();
void trimming();
void targetChanged();
+ void unknownSignals_data();
+ void unknownSignals();
private:
QDeclarativeEngine engine;
@@ -156,6 +163,41 @@ void tst_qdeclarativeconnection::targetChanged()
delete item;
}
+void tst_qdeclarativeconnection::unknownSignals_data()
+{
+ QTest::addColumn<QString>("file");
+ QTest::addColumn<QString>("error");
+
+ QTest::newRow("basic") << "connection-unknownsignals.qml" << ":6:5: QML Connections: Cannot assign to non-existent property \"onFooBar\"";
+ QTest::newRow("parent") << "connection-unknownsignals-parent.qml" << ":6:5: QML Connections: Cannot assign to non-existent property \"onFooBar\"";
+ QTest::newRow("ignored") << "connection-unknownsignals-ignored.qml" << ""; // should be NO error
+ QTest::newRow("notarget") << "connection-unknownsignals-notarget.qml" << ""; // should be NO error
+}
+
+void tst_qdeclarativeconnection::unknownSignals()
+{
+ QFETCH(QString, file);
+ QFETCH(QString, error);
+
+ QUrl url = QUrl::fromLocalFile(SRCDIR "/data/" + file);
+ if (!error.isEmpty()) {
+ QTest::ignoreMessage(QtWarningMsg, (url.toString() + error).toLatin1());
+ } else {
+ // QTest has no way to insist no message (i.e. fail)
+ }
+
+ QDeclarativeEngine engine;
+ QDeclarativeComponent c(&engine, url);
+ QDeclarativeItem *item = qobject_cast<QDeclarativeItem*>(c.create());
+ QVERIFY(item != 0);
+
+ // check that connection is created (they are all runtime errors)
+ QDeclarativeConnections *connections = item->findChild<QDeclarativeConnections*>("connections");
+ QVERIFY(connections);
+
+ delete item;
+}
+
QTEST_MAIN(tst_qdeclarativeconnection)
#include "tst_qdeclarativeconnection.moc"
diff --git a/tests/auto/declarative/qdeclarativecontext/qdeclarativecontext.pro b/tests/auto/declarative/qdeclarativecontext/qdeclarativecontext.pro
index 5db9a9e5ad..74bb78c6ed 100644
--- a/tests/auto/declarative/qdeclarativecontext/qdeclarativecontext.pro
+++ b/tests/auto/declarative/qdeclarativecontext/qdeclarativecontext.pro
@@ -3,7 +3,9 @@ contains(QT_CONFIG,declarative): QT += declarative
SOURCES += tst_qdeclarativecontext.cpp
macx:CONFIG -= app_bundle
-DEFINES += SRCDIR=\\\"$$PWD\\\"
+!symbian: {
+ DEFINES += SRCDIR=\\\"$$PWD\\\"
+}
CONFIG += parallel_test
diff --git a/tests/auto/declarative/qdeclarativecontext/tst_qdeclarativecontext.cpp b/tests/auto/declarative/qdeclarativecontext/tst_qdeclarativecontext.cpp
index 851460f30e..605cf8e6d1 100644
--- a/tests/auto/declarative/qdeclarativecontext/tst_qdeclarativecontext.cpp
+++ b/tests/auto/declarative/qdeclarativecontext/tst_qdeclarativecontext.cpp
@@ -46,6 +46,11 @@
#include <QDeclarativeComponent>
#include <QDeclarativeExpression>
+#ifdef Q_OS_SYMBIAN
+// In Symbian OS test data is located in applications private dir
+#define SRCDIR "."
+#endif
+
class tst_qdeclarativecontext : public QObject
{
Q_OBJECT
@@ -398,7 +403,7 @@ void tst_qdeclarativecontext::destruction()
QObject obj;
QDeclarativeEngine::setContextForObject(&obj, ctxt);
- QDeclarativeExpression expr(ctxt, "a", 0);
+ QDeclarativeExpression expr(ctxt, 0, "a");
QCOMPARE(ctxt, QDeclarativeEngine::contextForObject(&obj));
QCOMPARE(ctxt, expr.context());
diff --git a/tests/auto/declarative/qdeclarativedom/qdeclarativedom.pro b/tests/auto/declarative/qdeclarativedom/qdeclarativedom.pro
index 466c563273..415d4e2d50 100644
--- a/tests/auto/declarative/qdeclarativedom/qdeclarativedom.pro
+++ b/tests/auto/declarative/qdeclarativedom/qdeclarativedom.pro
@@ -4,7 +4,13 @@ macx:CONFIG -= app_bundle
SOURCES += tst_qdeclarativedom.cpp
-DEFINES += SRCDIR=\\\"$$PWD\\\"
+symbian: {
+ importFiles.sources = data
+ importFiles.path = .
+ DEPLOYMENT = importFiles
+} else {
+ DEFINES += SRCDIR=\\\"$$PWD\\\"
+}
CONFIG += parallel_test
diff --git a/tests/auto/declarative/qdeclarativedom/tst_qdeclarativedom.cpp b/tests/auto/declarative/qdeclarativedom/tst_qdeclarativedom.cpp
index a951827569..13960b14e8 100644
--- a/tests/auto/declarative/qdeclarativedom/tst_qdeclarativedom.cpp
+++ b/tests/auto/declarative/qdeclarativedom/tst_qdeclarativedom.cpp
@@ -46,6 +46,11 @@
#include <QtCore/QDebug>
#include <QtCore/QFile>
+#ifdef Q_OS_SYMBIAN
+// In Symbian OS test data is located in applications private dir
+#define SRCDIR "."
+#endif
+
class tst_qdeclarativedom : public QObject
{
Q_OBJECT
@@ -419,10 +424,8 @@ void tst_qdeclarativedom::loadSyntaxErrors()
void tst_qdeclarativedom::loadRemoteErrors()
{
QByteArray qml = "import Qt 4.7\n"
+ "import \"http://localhost/exampleQmlScript.js\" as Script\n"
"Item {\n"
- " Script {\n"
- " source: \"http://localhost/exampleQmlScript.js\""
- " }\n"
"}";
QDeclarativeDomDocument document;
QVERIFY(false == document.load(&engine, qml));
diff --git a/tests/auto/qmediaplaylist/tmp.unsupported_format b/tests/auto/declarative/qdeclarativeecmascript/data/blank.js
index e69de29bb2..e69de29bb2 100644
--- a/tests/auto/qmediaplaylist/tmp.unsupported_format
+++ b/tests/auto/declarative/qdeclarativeecmascript/data/blank.js
diff --git a/tests/auto/declarative/qdeclarativeecmascript/data/compiled.qml b/tests/auto/declarative/qdeclarativeecmascript/data/compiled.qml
index a883e85e75..165590585d 100644
--- a/tests/auto/declarative/qdeclarativeecmascript/data/compiled.qml
+++ b/tests/auto/declarative/qdeclarativeecmascript/data/compiled.qml
@@ -31,6 +31,8 @@ QtObject {
property string test21: g
property string test22: h
property bool test23: i
+ property color test24: j
+ property color test25: k
property real a: 4.5
property real b: 11.2
@@ -41,4 +43,6 @@ QtObject {
property variant g: 6.7
property variant h: "!"
property variant i: true
+ property string j: "#112233"
+ property string k: "#aa112233"
}
diff --git a/tests/auto/declarative/qdeclarativeecmascript/data/deletedObject.qml b/tests/auto/declarative/qdeclarativeecmascript/data/deletedObject.qml
index 72b59aedee..2337e445a8 100644
--- a/tests/auto/declarative/qdeclarativeecmascript/data/deletedObject.qml
+++ b/tests/auto/declarative/qdeclarativeecmascript/data/deletedObject.qml
@@ -19,7 +19,7 @@ QtObject {
myObject.deleteOnSet = 1;
- test3 = myObject.value == undefined;
- test4 = obj.value == undefined;
+ test3 = myObject == null
+ test4 = obj == null
}
}
diff --git a/tests/auto/declarative/qdeclarativeecmascript/data/dynamicCreation.qml b/tests/auto/declarative/qdeclarativeecmascript/data/dynamicCreation.qml
index 3047e9b403..7b132e1edf 100644
--- a/tests/auto/declarative/qdeclarativeecmascript/data/dynamicCreation.qml
+++ b/tests/auto/declarative/qdeclarativeecmascript/data/dynamicCreation.qml
@@ -11,7 +11,7 @@ MyQmlObject{
function createTwo()
{
var component = Qt.createComponent('dynamicCreation.helper.qml');
- obj.objectProperty = component.createObject();
+ obj.objectProperty = component.createObject(obj);
}
function createThree()
@@ -22,6 +22,6 @@ MyQmlObject{
function dontCrash()
{
var component = Qt.createComponent('file-doesnt-exist.qml');
- obj.objectProperty = component.createObject();
+ obj.objectProperty = component.createObject(obj);
}
}
diff --git a/tests/auto/declarative/qdeclarativeecmascript/data/eval.qml b/tests/auto/declarative/qdeclarativeecmascript/data/eval.qml
new file mode 100644
index 0000000000..bc2df98964
--- /dev/null
+++ b/tests/auto/declarative/qdeclarativeecmascript/data/eval.qml
@@ -0,0 +1,23 @@
+import Qt 4.7
+
+QtObject {
+ property bool test1: false;
+ property bool test2: false;
+ property bool test3: false;
+ property bool test4: false;
+ property bool test5: false;
+
+
+ property int a: 7
+ property int b: 8
+
+ Component.onCompleted: {
+ var b = 9;
+
+ test1 = (eval("a") == 7);
+ test2 = (eval("b") == 9);
+ test3 = (eval("c") == undefined);
+ test4 = (eval("console") == console);
+ test5 = (eval("Qt") == Qt);
+ }
+}
diff --git a/tests/auto/declarative/qdeclarativeecmascript/data/exception.js b/tests/auto/declarative/qdeclarativeecmascript/data/exception.js
new file mode 100644
index 0000000000..160bbfa5b6
--- /dev/null
+++ b/tests/auto/declarative/qdeclarativeecmascript/data/exception.js
@@ -0,0 +1 @@
+throw("Whoops!");
diff --git a/tests/auto/declarative/qdeclarativeecmascript/data/function.qml b/tests/auto/declarative/qdeclarativeecmascript/data/function.qml
new file mode 100644
index 0000000000..b435f5812e
--- /dev/null
+++ b/tests/auto/declarative/qdeclarativeecmascript/data/function.qml
@@ -0,0 +1,19 @@
+import Qt 4.7
+
+QtObject {
+ property bool test1: false;
+ property bool test2: false;
+ property bool test3: false;
+
+ Component.onCompleted: {
+ var a = 10;
+
+ var func1 = new Function("a", "return a + 7");
+ var func2 = new Function("a", "return Qt.atob(a)");
+ var func3 = new Function("return a");
+
+ test1 = (func1(4) == 11);
+ test2 = (func2("Hello World!") == Qt.atob("Hello World!"));
+ test3 = (func3() == undefined);
+ }
+}
diff --git a/tests/auto/declarative/qdeclarativeecmascript/data/functionAssignment.1.qml b/tests/auto/declarative/qdeclarativeecmascript/data/functionAssignment.1.qml
new file mode 100644
index 0000000000..09540f1f6e
--- /dev/null
+++ b/tests/auto/declarative/qdeclarativeecmascript/data/functionAssignment.1.qml
@@ -0,0 +1,5 @@
+import Qt.test 1.0
+
+MyQmlObject {
+ property variant a: function myFunction() { return 2; }
+}
diff --git a/tests/auto/declarative/qdeclarativeecmascript/data/functionAssignment.2.qml b/tests/auto/declarative/qdeclarativeecmascript/data/functionAssignment.2.qml
new file mode 100644
index 0000000000..948b39c147
--- /dev/null
+++ b/tests/auto/declarative/qdeclarativeecmascript/data/functionAssignment.2.qml
@@ -0,0 +1,13 @@
+import Qt.test 1.0
+
+MyQmlObject {
+ property variant a
+ property bool runTest: false
+ onRunTestChanged: {
+ function myFunction() {
+ console.log("hello world");
+ }
+ a = myFunction;
+ }
+
+}
diff --git a/tests/auto/declarative/qdeclarativeecmascript/data/include.js b/tests/auto/declarative/qdeclarativeecmascript/data/include.js
new file mode 100644
index 0000000000..232fd808f8
--- /dev/null
+++ b/tests/auto/declarative/qdeclarativeecmascript/data/include.js
@@ -0,0 +1,8 @@
+var test1 = true
+var test2 = false
+var test3 = false
+
+function go() {
+ Qt.include("js/include2.js");
+}
+
diff --git a/tests/auto/declarative/qdeclarativeecmascript/data/include.qml b/tests/auto/declarative/qdeclarativeecmascript/data/include.qml
new file mode 100644
index 0000000000..18543b2dee
--- /dev/null
+++ b/tests/auto/declarative/qdeclarativeecmascript/data/include.qml
@@ -0,0 +1,23 @@
+import Qt 4.7
+import "include.js" as IncludeTest
+
+QtObject {
+ property int test0: 0
+ property bool test1: false
+ property bool test2: false
+ property bool test2_1: false
+ property bool test3: false
+ property bool test3_1: false
+
+ property int testValue: 99
+
+ Component.onCompleted: {
+ IncludeTest.go();
+ test0 = IncludeTest.value
+ test1 = IncludeTest.test1
+ test2 = IncludeTest.test2
+ test2_1 = IncludeTest.test2_1
+ test3 = IncludeTest.test3
+ test3_1 = IncludeTest.test3_1
+ }
+}
diff --git a/tests/auto/declarative/qdeclarativeecmascript/data/include_callback.js b/tests/auto/declarative/qdeclarativeecmascript/data/include_callback.js
new file mode 100644
index 0000000000..ea19eba300
--- /dev/null
+++ b/tests/auto/declarative/qdeclarativeecmascript/data/include_callback.js
@@ -0,0 +1,11 @@
+function go() {
+ var a = Qt.include("missing.js", function(o) { test2 = o.status == o.NETWORK_ERROR });
+ test1 = a.status == a.NETWORK_ERROR
+
+ var b = Qt.include("blank.js", function(o) { test4 = o.status == o.OK });
+ test3 = b.status == b.OK
+
+ var c = Qt.include("exception.js", function(o) { test6 = o.status == o.EXCEPTION });
+ test5 = c.status == c.EXCEPTION
+}
+
diff --git a/tests/auto/declarative/qdeclarativeecmascript/data/include_callback.qml b/tests/auto/declarative/qdeclarativeecmascript/data/include_callback.qml
new file mode 100644
index 0000000000..a39e821ca7
--- /dev/null
+++ b/tests/auto/declarative/qdeclarativeecmascript/data/include_callback.qml
@@ -0,0 +1,15 @@
+import Qt 4.7
+import "include_callback.js" as IncludeTest
+
+QtObject {
+ property bool test1: false
+ property bool test2: false
+ property bool test3: false
+ property bool test4: false
+ property bool test5: false
+ property bool test6: false
+
+ Component.onCompleted: {
+ IncludeTest.go();
+ }
+}
diff --git a/tests/auto/declarative/qdeclarativeecmascript/data/include_pragma.qml b/tests/auto/declarative/qdeclarativeecmascript/data/include_pragma.qml
new file mode 100644
index 0000000000..67b8cfd85b
--- /dev/null
+++ b/tests/auto/declarative/qdeclarativeecmascript/data/include_pragma.qml
@@ -0,0 +1,11 @@
+import Qt 4.7
+import "include_pragma_outer.js" as Script
+
+Item {
+ property int test1
+
+ Component.onCompleted: {
+ test1 = Script.callFunction()
+ }
+}
+
diff --git a/tests/auto/declarative/qdeclarativeecmascript/data/include_pragma_inner.js b/tests/auto/declarative/qdeclarativeecmascript/data/include_pragma_inner.js
new file mode 100644
index 0000000000..a0380a25df
--- /dev/null
+++ b/tests/auto/declarative/qdeclarativeecmascript/data/include_pragma_inner.js
@@ -0,0 +1,5 @@
+.pragma library
+
+function getValue() {
+ return 100;
+}
diff --git a/tests/auto/declarative/qdeclarativeecmascript/data/include_pragma_outer.js b/tests/auto/declarative/qdeclarativeecmascript/data/include_pragma_outer.js
new file mode 100644
index 0000000000..d87bafc816
--- /dev/null
+++ b/tests/auto/declarative/qdeclarativeecmascript/data/include_pragma_outer.js
@@ -0,0 +1,6 @@
+Qt.include("include_pragma_inner.js")
+
+function callFunction() {
+ return getValue();
+}
+
diff --git a/tests/auto/declarative/qdeclarativeecmascript/data/include_remote.js b/tests/auto/declarative/qdeclarativeecmascript/data/include_remote.js
new file mode 100644
index 0000000000..e6a4676819
--- /dev/null
+++ b/tests/auto/declarative/qdeclarativeecmascript/data/include_remote.js
@@ -0,0 +1,26 @@
+var myvar = 10;
+
+function go()
+{
+ var a = Qt.include("http://127.0.0.1:8111/remote_file.js",
+ function(o) {
+ test2 = o.status == o.OK
+ test3 = a.status == a.OK
+ test4 = myvar == 13
+
+ done = true;
+ });
+ test1 = a.status == a.LOADING
+
+
+ var b = Qt.include("http://127.0.0.1:8111/exception.js",
+ function(o) {
+ test7 = o.status == o.EXCEPTION
+ test8 = b.status == a.EXCEPTION
+ test9 = b.exception.toString() == "Whoops!";
+ test10 = o.exception.toString() == "Whoops!";
+
+ done2 = true;
+ });
+ test6 = b.status == b.LOADING
+}
diff --git a/tests/auto/declarative/qdeclarativeecmascript/data/include_remote.qml b/tests/auto/declarative/qdeclarativeecmascript/data/include_remote.qml
new file mode 100644
index 0000000000..06bd17476d
--- /dev/null
+++ b/tests/auto/declarative/qdeclarativeecmascript/data/include_remote.qml
@@ -0,0 +1,21 @@
+import Qt 4.7
+import "include_remote.js" as IncludeTest
+
+QtObject {
+ property bool done: false
+ property bool done2: false
+
+ property bool test1: false
+ property bool test2: false
+ property bool test3: false
+ property bool test4: false
+ property bool test5: false
+
+ property bool test6: false
+ property bool test7: false
+ property bool test8: false
+ property bool test9: false
+ property bool test10: false
+
+ Component.onCompleted: IncludeTest.go();
+}
diff --git a/tests/auto/declarative/qdeclarativeecmascript/data/include_remote_missing.js b/tests/auto/declarative/qdeclarativeecmascript/data/include_remote_missing.js
new file mode 100644
index 0000000000..cc90860cc9
--- /dev/null
+++ b/tests/auto/declarative/qdeclarativeecmascript/data/include_remote_missing.js
@@ -0,0 +1,13 @@
+function go()
+{
+ var a = Qt.include("http://127.0.0.1:8111/missing.js",
+ function(o) {
+ test2 = o.status == o.NETWORK_ERROR
+ test3 = a.status == a.NETWORK_ERROR
+
+ done = true;
+ });
+
+ test1 = a.status == a.LOADING
+}
+
diff --git a/tests/auto/declarative/qdeclarativeecmascript/data/include_remote_missing.qml b/tests/auto/declarative/qdeclarativeecmascript/data/include_remote_missing.qml
new file mode 100644
index 0000000000..8e486b20e9
--- /dev/null
+++ b/tests/auto/declarative/qdeclarativeecmascript/data/include_remote_missing.qml
@@ -0,0 +1,12 @@
+import Qt 4.7
+import "include_remote_missing.js" as IncludeTest
+
+QtObject {
+ property bool done: false
+
+ property bool test1: false
+ property bool test2: false
+ property bool test3: false
+
+ Component.onCompleted: IncludeTest.go();
+}
diff --git a/tests/auto/declarative/qdeclarativeecmascript/data/include_shared.js b/tests/auto/declarative/qdeclarativeecmascript/data/include_shared.js
new file mode 100644
index 0000000000..a49c07bbfc
--- /dev/null
+++ b/tests/auto/declarative/qdeclarativeecmascript/data/include_shared.js
@@ -0,0 +1,12 @@
+.pragma library
+
+var test1 = true
+var test2 = false
+var test3 = false
+
+var testValue = 99;
+
+function go() {
+ Qt.include("js/include2.js");
+}
+
diff --git a/tests/auto/declarative/qdeclarativeecmascript/data/include_shared.qml b/tests/auto/declarative/qdeclarativeecmascript/data/include_shared.qml
new file mode 100644
index 0000000000..e957018908
--- /dev/null
+++ b/tests/auto/declarative/qdeclarativeecmascript/data/include_shared.qml
@@ -0,0 +1,22 @@
+import Qt 4.7
+import "include_shared.js" as IncludeTest
+
+QtObject {
+ property int test0: 0
+ property bool test1: false
+ property bool test2: false
+ property bool test2_1: false
+ property bool test3: false
+ property bool test3_1: false
+
+ Component.onCompleted: {
+ IncludeTest.go();
+ test0 = IncludeTest.value
+ test1 = IncludeTest.test1
+ test2 = IncludeTest.test2
+ test2_1 = IncludeTest.test2_1
+ test3 = IncludeTest.test3
+ test3_1 = IncludeTest.test3_1
+ }
+}
+
diff --git a/tests/auto/declarative/qdeclarativeecmascript/data/js/include2.js b/tests/auto/declarative/qdeclarativeecmascript/data/js/include2.js
new file mode 100644
index 0000000000..2a0c039dfa
--- /dev/null
+++ b/tests/auto/declarative/qdeclarativeecmascript/data/js/include2.js
@@ -0,0 +1,4 @@
+test2 = true
+var test2_1 = true
+
+Qt.include("include3.js");
diff --git a/tests/auto/declarative/qdeclarativeecmascript/data/js/include3.js b/tests/auto/declarative/qdeclarativeecmascript/data/js/include3.js
new file mode 100644
index 0000000000..84b2770b6f
--- /dev/null
+++ b/tests/auto/declarative/qdeclarativeecmascript/data/js/include3.js
@@ -0,0 +1,3 @@
+test3 = true
+var test3_1 = true
+var value = testValue
diff --git a/tests/auto/declarative/qdeclarativeecmascript/data/qtbug_10696.qml b/tests/auto/declarative/qdeclarativeecmascript/data/qtbug_10696.qml
new file mode 100644
index 0000000000..cb5c4c9189
--- /dev/null
+++ b/tests/auto/declarative/qdeclarativeecmascript/data/qtbug_10696.qml
@@ -0,0 +1,26 @@
+import Qt 4.7
+
+QtObject {
+ property string test: "aaaa"
+ + "bbbb"
+ + "cccc"
+ + "cccc"
+ + "cccc"
+ + "cccc"
+ + "cccc"
+ + "cccc"
+ + "cccc"
+ + "cccc"
+ + "cccc"
+ + "cccc"
+ + "cccc"
+ + "cccc"
+ + "cccc"
+ + "cccc"
+ + "cccc"
+ + "cccc"
+ + "cccc"
+ + "cccc"
+ + "cccc"
+ + "cccc";
+}
diff --git a/tests/auto/declarative/qdeclarativeecmascript/data/qtcreatorbug_1289.qml b/tests/auto/declarative/qdeclarativeecmascript/data/qtcreatorbug_1289.qml
new file mode 100644
index 0000000000..b6d31d579c
--- /dev/null
+++ b/tests/auto/declarative/qdeclarativeecmascript/data/qtcreatorbug_1289.qml
@@ -0,0 +1,13 @@
+import Qt 4.7
+
+QtObject {
+ id: root
+ property QtObject object: QtObject {
+ id: nested
+ property QtObject nestedObject
+ }
+
+ Component.onCompleted: {
+ nested.nestedObject = root;
+ }
+}
diff --git a/tests/auto/declarative/qdeclarativeecmascript/data/remote_file.js b/tests/auto/declarative/qdeclarativeecmascript/data/remote_file.js
new file mode 100644
index 0000000000..1b123aee61
--- /dev/null
+++ b/tests/auto/declarative/qdeclarativeecmascript/data/remote_file.js
@@ -0,0 +1,2 @@
+myvar = 13;
+test5 = true;
diff --git a/tests/auto/declarative/qdeclarativeecmascript/data/transientErrors.2.qml b/tests/auto/declarative/qdeclarativeecmascript/data/transientErrors.2.qml
new file mode 100644
index 0000000000..a36b4c0849
--- /dev/null
+++ b/tests/auto/declarative/qdeclarativeecmascript/data/transientErrors.2.qml
@@ -0,0 +1,14 @@
+import Qt 4.7
+
+QtObject {
+ id: root
+
+ property variant a: 10
+ property int x: 10
+ property int test: a.x
+
+ Component.onCompleted: {
+ a = 11;
+ a = root;
+ }
+}
diff --git a/tests/auto/declarative/qdeclarativeecmascript/qdeclarativeecmascript.pro b/tests/auto/declarative/qdeclarativeecmascript/qdeclarativeecmascript.pro
index eabed26add..58cad34d28 100644
--- a/tests/auto/declarative/qdeclarativeecmascript/qdeclarativeecmascript.pro
+++ b/tests/auto/declarative/qdeclarativeecmascript/qdeclarativeecmascript.pro
@@ -1,13 +1,24 @@
load(qttest_p4)
-contains(QT_CONFIG,declarative): QT += declarative script
+contains(QT_CONFIG,declarative): QT += declarative script network
macx:CONFIG -= app_bundle
SOURCES += tst_qdeclarativeecmascript.cpp \
- testtypes.cpp
-HEADERS += testtypes.h
+ testtypes.cpp \
+ ../shared/testhttpserver.cpp
+HEADERS += testtypes.h \
+ ../shared/testhttpserver.h
+INCLUDEPATH += ../shared
# QMAKE_CXXFLAGS = -fprofile-arcs -ftest-coverage
# LIBS += -lgcov
+symbian: {
+ importFiles.sources = data
+ importFiles.path = .
+ DEPLOYMENT = importFiles
+} else {
+ DEFINES += SRCDIR=\\\"$$PWD\\\"
+}
+
CONFIG += parallel_test
diff --git a/tests/auto/declarative/qdeclarativeecmascript/testtypes.h b/tests/auto/declarative/qdeclarativeecmascript/testtypes.h
index 1381d571cd..7bb8a8e745 100644
--- a/tests/auto/declarative/qdeclarativeecmascript/testtypes.h
+++ b/tests/auto/declarative/qdeclarativeecmascript/testtypes.h
@@ -190,7 +190,7 @@ class MyExpression : public QDeclarativeExpression
Q_OBJECT
public:
MyExpression(QDeclarativeContext *ctxt, const QString &expr)
- : QDeclarativeExpression(ctxt, expr, 0), changed(false)
+ : QDeclarativeExpression(ctxt, 0, expr), changed(false)
{
QObject::connect(this, SIGNAL(valueChanged()), this, SLOT(expressionValueChanged()));
setNotifyOnValueChanged(true);
diff --git a/tests/auto/declarative/qdeclarativeecmascript/tst_qdeclarativeecmascript.cpp b/tests/auto/declarative/qdeclarativeecmascript/tst_qdeclarativeecmascript.cpp
index 491a736d63..16e7ec5d13 100644
--- a/tests/auto/declarative/qdeclarativeecmascript/tst_qdeclarativeecmascript.cpp
+++ b/tests/auto/declarative/qdeclarativeecmascript/tst_qdeclarativeecmascript.cpp
@@ -51,6 +51,12 @@
#include <private/qdeclarativeengine_p.h>
#include <private/qdeclarativeglobalscriptclass_p.h>
#include "testtypes.h"
+#include "testhttpserver.h"
+
+#ifdef Q_OS_SYMBIAN
+// In Symbian OS test data is located in applications private dir
+#define SRCDIR "."
+#endif
/*
This test covers evaluation of ECMAScript expressions and bindings from within
@@ -142,8 +148,15 @@ private slots:
void libraryScriptAssert();
void variantsAssignedUndefined();
void qtbug_9792();
+ void qtcreatorbug_1289();
void noSpuriousWarningsAtShutdown();
void canAssignNullToQObject();
+ void functionAssignment();
+ void eval();
+ void function();
+ void qtbug_10696();
+
+ void include();
void callQtInvokables();
private:
@@ -556,7 +569,7 @@ void tst_qdeclarativeecmascript::deferredPropertiesErrors()
QVERIFY(object->objectProperty() == 0);
QVERIFY(object->objectProperty2() == 0);
- QString warning = component.url().toString() + ":6: Unable to assign [undefined] to QObject*";
+ QString warning = component.url().toString() + ":6: Unable to assign [undefined] to QObject* objectProperty";
QTest::ignoreMessage(QtWarningMsg, qPrintable(warning));
qmlExecuteDeferred(object);
@@ -634,8 +647,8 @@ void tst_qdeclarativeecmascript::enums()
{
QDeclarativeComponent component(&engine, TEST_FILE("enums.2.qml"));
- QString warning1 = component.url().toString() + ":5: Unable to assign [undefined] to int";
- QString warning2 = component.url().toString() + ":6: Unable to assign [undefined] to int";
+ QString warning1 = component.url().toString() + ":5: Unable to assign [undefined] to int a";
+ QString warning2 = component.url().toString() + ":6: Unable to assign [undefined] to int b";
QTest::ignoreMessage(QtWarningMsg, qPrintable(warning1));
QTest::ignoreMessage(QtWarningMsg, qPrintable(warning2));
@@ -746,7 +759,7 @@ void tst_qdeclarativeecmascript::nonExistantAttachedObject()
{
QDeclarativeComponent component(&engine, TEST_FILE("nonExistantAttachedObject.qml"));
- QString warning = component.url().toString() + ":4: Unable to assign [undefined] to QString";
+ QString warning = component.url().toString() + ":4: Unable to assign [undefined] to QString stringProperty";
QTest::ignoreMessage(QtWarningMsg, qPrintable(warning));
QObject *object = component.create();
@@ -993,7 +1006,7 @@ void tst_qdeclarativeecmascript::scriptErrors()
QString warning3 = url.left(url.length() - 3) + "js:4: Error: Invalid write to global property \"a\"";
QString warning4 = url + ":10: TypeError: Result of expression 'a' [undefined] is not an object.";
QString warning5 = url + ":8: TypeError: Result of expression 'a' [undefined] is not an object.";
- QString warning6 = url + ":7: Unable to assign [undefined] to int";
+ QString warning6 = url + ":7: Unable to assign [undefined] to int x";
QString warning7 = url + ":12: Error: Cannot assign to read-only property \"trueProperty\"";
QString warning8 = url + ":13: Error: Cannot assign to non-existent property \"fakeProperty\"";
@@ -1100,7 +1113,7 @@ void tst_qdeclarativeecmascript::exceptionClearsOnReeval()
QDeclarativeComponent component(&engine, TEST_FILE("exceptionClearsOnReeval.qml"));
QString url = component.url().toString();
- QString warning = url + ":4: TypeError: Result of expression 'objectProperty.objectProperty' [undefined] is not an object.";
+ QString warning = url + ":4: TypeError: Result of expression 'objectProperty' [null] is not an object.";
QTest::ignoreMessage(QtWarningMsg, warning.toLatin1().constData());
MyQmlObject *object = qobject_cast<MyQmlObject*>(component.create());
@@ -1149,6 +1162,7 @@ static void transientErrorsMsgHandler(QtMsgType, const char *)
// Check that transient binding errors are not displayed
void tst_qdeclarativeecmascript::transientErrors()
{
+ {
QDeclarativeComponent component(&engine, TEST_FILE("transientErrors.qml"));
transientErrorsMsgCount = 0;
@@ -1160,6 +1174,22 @@ void tst_qdeclarativeecmascript::transientErrors()
qInstallMsgHandler(old);
QCOMPARE(transientErrorsMsgCount, 0);
+ }
+
+ // One binding erroring multiple times, but then resolving
+ {
+ QDeclarativeComponent component(&engine, TEST_FILE("transientErrors.2.qml"));
+
+ transientErrorsMsgCount = 0;
+ QtMsgHandler old = qInstallMsgHandler(transientErrorsMsgHandler);
+
+ QObject *object = component.create();
+ QVERIFY(object != 0);
+
+ qInstallMsgHandler(old);
+
+ QCOMPARE(transientErrorsMsgCount, 0);
+ }
}
// Check that errors during shutdown are minimized
@@ -2058,14 +2088,15 @@ void tst_qdeclarativeecmascript::compiled()
QCOMPARE(object->property("test15").toBool(), false);
QCOMPARE(object->property("test16").toBool(), true);
- QCOMPARE(object->property("test17").toInt(), 4);
+ QCOMPARE(object->property("test17").toInt(), 5);
QCOMPARE(object->property("test18").toReal(), qreal(176));
- QEXPECT_FAIL("", "QTBUG-9538", Continue);
- QCOMPARE(object->property("test19").toInt(), 6);
+ QCOMPARE(object->property("test19").toInt(), 7);
QCOMPARE(object->property("test20").toReal(), qreal(6.7));
QCOMPARE(object->property("test21").toString(), QLatin1String("6.7"));
QCOMPARE(object->property("test22").toString(), QLatin1String("!"));
QCOMPARE(object->property("test23").toBool(), true);
+ QCOMPARE(qvariant_cast<QColor>(object->property("test24")), QColor(0x11,0x22,0x33));
+ QCOMPARE(qvariant_cast<QColor>(object->property("test25")), QColor(0x11,0x22,0x33,0xAA));
delete object;
}
@@ -2078,20 +2109,21 @@ void tst_qdeclarativeecmascript::numberAssignment()
QObject *object = component.create();
QVERIFY(object != 0);
- QVERIFY(object->property("test1") == QVariant((qreal)6.7));
- QVERIFY(object->property("test2") == QVariant((qreal)6.7));
- QVERIFY(object->property("test3") == QVariant((qreal)6));
- QVERIFY(object->property("test4") == QVariant((qreal)6));
+ QCOMPARE(object->property("test1"), QVariant((qreal)6.7));
+ QCOMPARE(object->property("test2"), QVariant((qreal)6.7));
+ QCOMPARE(object->property("test2"), QVariant((qreal)6.7));
+ QCOMPARE(object->property("test3"), QVariant((qreal)6));
+ QCOMPARE(object->property("test4"), QVariant((qreal)6));
- QVERIFY(object->property("test5") == QVariant((int)7));
- QVERIFY(object->property("test6") == QVariant((int)7));
- QVERIFY(object->property("test7") == QVariant((int)6));
- QVERIFY(object->property("test8") == QVariant((int)6));
+ QCOMPARE(object->property("test5"), QVariant((int)7));
+ QCOMPARE(object->property("test6"), QVariant((int)7));
+ QCOMPARE(object->property("test7"), QVariant((int)6));
+ QCOMPARE(object->property("test8"), QVariant((int)6));
- QVERIFY(object->property("test9") == QVariant((unsigned int)7));
- QVERIFY(object->property("test10") == QVariant((unsigned int)7));
- QVERIFY(object->property("test11") == QVariant((unsigned int)6));
- QVERIFY(object->property("test12") == QVariant((unsigned int)6));
+ QCOMPARE(object->property("test9"), QVariant((unsigned int)7));
+ QCOMPARE(object->property("test10"), QVariant((unsigned int)7));
+ QCOMPARE(object->property("test11"), QVariant((unsigned int)6));
+ QCOMPARE(object->property("test12"), QVariant((unsigned int)6));
delete object;
}
@@ -2188,6 +2220,27 @@ void tst_qdeclarativeecmascript::qtbug_9792()
delete object;
}
+// Verifies that QDeclarativeGuard<>s used in the vmemetaobject are cleaned correctly
+void tst_qdeclarativeecmascript::qtcreatorbug_1289()
+{
+ QDeclarativeComponent component(&engine, TEST_FILE("qtcreatorbug_1289.qml"));
+
+ QObject *o = component.create();
+ QVERIFY(o != 0);
+
+ QObject *nested = qvariant_cast<QObject *>(o->property("object"));
+ QVERIFY(nested != 0);
+
+ QVERIFY(qvariant_cast<QObject *>(nested->property("nestedObject")) == o);
+
+ delete nested;
+ nested = qvariant_cast<QObject *>(o->property("object"));
+ QVERIFY(nested == 0);
+
+ // If the bug is present, the next line will crash
+ delete o;
+}
+
// Test that we shut down without stupid warnings
void tst_qdeclarativeecmascript::noSpuriousWarningsAtShutdown()
{
@@ -2252,6 +2305,199 @@ void tst_qdeclarativeecmascript::canAssignNullToQObject()
}
}
+void tst_qdeclarativeecmascript::functionAssignment()
+{
+ {
+ QDeclarativeComponent component(&engine, TEST_FILE("functionAssignment.1.qml"));
+
+ QString url = component.url().toString();
+ QString warning = url + ":4: Unable to assign a function to a property.";
+ QTest::ignoreMessage(QtWarningMsg, warning.toLatin1().constData());
+
+ MyQmlObject *o = qobject_cast<MyQmlObject *>(component.create());
+ QVERIFY(o != 0);
+
+ QVERIFY(!o->property("a").isValid());
+
+ delete o;
+ }
+
+ {
+ QDeclarativeComponent component(&engine, TEST_FILE("functionAssignment.2.qml"));
+
+ MyQmlObject *o = qobject_cast<MyQmlObject *>(component.create());
+ QVERIFY(o != 0);
+
+ QVERIFY(!o->property("a").isValid());
+
+ QString url = component.url().toString();
+ QString warning = url + ":10: Error: Cannot assign a function to a property.";
+ QTest::ignoreMessage(QtWarningMsg, warning.toLatin1().constData());
+
+ o->setProperty("runTest", true);
+
+ QVERIFY(!o->property("a").isValid());
+
+ delete o;
+ }
+}
+
+void tst_qdeclarativeecmascript::eval()
+{
+ QDeclarativeComponent component(&engine, TEST_FILE("eval.qml"));
+
+ QObject *o = component.create();
+ QVERIFY(o != 0);
+
+ QCOMPARE(o->property("test1").toBool(), true);
+ QCOMPARE(o->property("test2").toBool(), true);
+ QCOMPARE(o->property("test3").toBool(), true);
+ QCOMPARE(o->property("test4").toBool(), true);
+ QCOMPARE(o->property("test5").toBool(), true);
+
+ delete o;
+}
+
+void tst_qdeclarativeecmascript::function()
+{
+ QDeclarativeComponent component(&engine, TEST_FILE("function.qml"));
+
+ QObject *o = component.create();
+ QVERIFY(o != 0);
+
+ QCOMPARE(o->property("test1").toBool(), true);
+ QCOMPARE(o->property("test2").toBool(), true);
+ QCOMPARE(o->property("test3").toBool(), true);
+
+ delete o;
+}
+
+#define TRY_WAIT(expr) \
+ do { \
+ for (int ii = 0; ii < 6; ++ii) { \
+ if ((expr)) break; \
+ QTest::qWait(50); \
+ } \
+ QVERIFY((expr)); \
+ } while (false)
+
+// Test the "Qt.include" method
+void tst_qdeclarativeecmascript::include()
+{
+ // Non-library relative include
+ {
+ QDeclarativeComponent component(&engine, TEST_FILE("include.qml"));
+ QObject *o = component.create();
+ QVERIFY(o != 0);
+
+ QCOMPARE(o->property("test0").toInt(), 99);
+ QCOMPARE(o->property("test1").toBool(), true);
+ QCOMPARE(o->property("test2").toBool(), true);
+ QCOMPARE(o->property("test2_1").toBool(), true);
+ QCOMPARE(o->property("test3").toBool(), true);
+ QCOMPARE(o->property("test3_1").toBool(), true);
+
+ delete o;
+ }
+
+ // Library relative include
+ {
+ QDeclarativeComponent component(&engine, TEST_FILE("include_shared.qml"));
+ QObject *o = component.create();
+ QVERIFY(o != 0);
+
+ QCOMPARE(o->property("test0").toInt(), 99);
+ QCOMPARE(o->property("test1").toBool(), true);
+ QCOMPARE(o->property("test2").toBool(), true);
+ QCOMPARE(o->property("test2_1").toBool(), true);
+ QCOMPARE(o->property("test3").toBool(), true);
+ QCOMPARE(o->property("test3_1").toBool(), true);
+
+ delete o;
+ }
+
+ // Callback
+ {
+ QDeclarativeComponent component(&engine, TEST_FILE("include_callback.qml"));
+ QObject *o = component.create();
+ QVERIFY(o != 0);
+
+ QCOMPARE(o->property("test1").toBool(), true);
+ QCOMPARE(o->property("test2").toBool(), true);
+ QCOMPARE(o->property("test3").toBool(), true);
+ QCOMPARE(o->property("test4").toBool(), true);
+ QCOMPARE(o->property("test5").toBool(), true);
+ QCOMPARE(o->property("test6").toBool(), true);
+
+ delete o;
+ }
+
+ // Including file with ".pragma library"
+ {
+ QDeclarativeComponent component(&engine, TEST_FILE("include_pragma.qml"));
+ QObject *o = component.create();
+ QVERIFY(o != 0);
+ QCOMPARE(o->property("test1").toInt(), 100);
+
+ delete o;
+ }
+
+ // Remote - success
+ {
+ TestHTTPServer server(8111);
+ QVERIFY(server.isValid());
+ server.serveDirectory(SRCDIR "/data");
+
+ QDeclarativeComponent component(&engine, TEST_FILE("include_remote.qml"));
+ QObject *o = component.create();
+ QVERIFY(o != 0);
+
+ TRY_WAIT(o->property("done").toBool() == true);
+ TRY_WAIT(o->property("done2").toBool() == true);
+
+ QCOMPARE(o->property("test1").toBool(), true);
+ QCOMPARE(o->property("test2").toBool(), true);
+ QCOMPARE(o->property("test3").toBool(), true);
+ QCOMPARE(o->property("test4").toBool(), true);
+ QCOMPARE(o->property("test5").toBool(), true);
+
+ QCOMPARE(o->property("test6").toBool(), true);
+ QCOMPARE(o->property("test7").toBool(), true);
+ QCOMPARE(o->property("test8").toBool(), true);
+ QCOMPARE(o->property("test9").toBool(), true);
+ QCOMPARE(o->property("test10").toBool(), true);
+
+ delete o;
+ }
+
+ // Remote - error
+ {
+ TestHTTPServer server(8111);
+ QVERIFY(server.isValid());
+ server.serveDirectory(SRCDIR "/data");
+
+ QDeclarativeComponent component(&engine, TEST_FILE("include_remote_missing.qml"));
+ QObject *o = component.create();
+ QVERIFY(o != 0);
+
+ TRY_WAIT(o->property("done").toBool() == true);
+
+ QCOMPARE(o->property("test1").toBool(), true);
+ QCOMPARE(o->property("test2").toBool(), true);
+ QCOMPARE(o->property("test3").toBool(), true);
+
+ delete o;
+ }
+}
+
+void tst_qdeclarativeecmascript::qtbug_10696()
+{
+ QDeclarativeComponent component(&engine, TEST_FILE("qtbug_10696.qml"));
+ QObject *o = component.create();
+ QVERIFY(o != 0);
+ delete o;
+}
+
QTEST_MAIN(tst_qdeclarativeecmascript)
#include "tst_qdeclarativeecmascript.moc"
diff --git a/tests/auto/declarative/qdeclarativeengine/qdeclarativeengine.pro b/tests/auto/declarative/qdeclarativeengine/qdeclarativeengine.pro
index e0ea2e5f98..7119ad999e 100644
--- a/tests/auto/declarative/qdeclarativeengine/qdeclarativeengine.pro
+++ b/tests/auto/declarative/qdeclarativeengine/qdeclarativeengine.pro
@@ -4,8 +4,9 @@ macx:CONFIG -= app_bundle
SOURCES += tst_qdeclarativeengine.cpp
-# Define SRCDIR equal to test's source directory
-DEFINES += SRCDIR=\\\"$$PWD\\\"
+!symbian: {
+ DEFINES += SRCDIR=\\\"$$PWD\\\"
+}
CONFIG += parallel_test
diff --git a/tests/auto/declarative/qdeclarativeengine/tst_qdeclarativeengine.cpp b/tests/auto/declarative/qdeclarativeengine/tst_qdeclarativeengine.cpp
index b0db7710b4..56ebd7306f 100644
--- a/tests/auto/declarative/qdeclarativeengine/tst_qdeclarativeengine.cpp
+++ b/tests/auto/declarative/qdeclarativeengine/tst_qdeclarativeengine.cpp
@@ -50,6 +50,11 @@
#include <QDeclarativeComponent>
#include <QDeclarativeNetworkAccessManagerFactory>
+#ifdef Q_OS_SYMBIAN
+// In Symbian OS test data is located in applications private dir
+#define SRCDIR "."
+#endif
+
class tst_qdeclarativeengine : public QObject
{
Q_OBJECT
@@ -266,7 +271,7 @@ void tst_qdeclarativeengine::outputWarningsToStandardError()
delete o;
QCOMPARE(warnings.count(), 1);
- QCOMPARE(warnings.at(0), QLatin1String("<Unknown File>:1: Unable to assign [undefined] to int"));
+ QCOMPARE(warnings.at(0), QLatin1String("<Unknown File>:1: Unable to assign [undefined] to int a"));
warnings.clear();
diff --git a/tests/auto/declarative/qdeclarativeerror/qdeclarativeerror.pro b/tests/auto/declarative/qdeclarativeerror/qdeclarativeerror.pro
index 501f32c17e..29b7149c46 100644
--- a/tests/auto/declarative/qdeclarativeerror/qdeclarativeerror.pro
+++ b/tests/auto/declarative/qdeclarativeerror/qdeclarativeerror.pro
@@ -3,7 +3,9 @@ contains(QT_CONFIG,declarative): QT += declarative
SOURCES += tst_qdeclarativeerror.cpp
macx:CONFIG -= app_bundle
-DEFINES += SRCDIR=\\\"$$PWD\\\"
+!symbian: {
+ DEFINES += SRCDIR=\\\"$$PWD\\\"
+}
CONFIG += parallel_test
diff --git a/tests/auto/declarative/qdeclarativeerror/tst_qdeclarativeerror.cpp b/tests/auto/declarative/qdeclarativeerror/tst_qdeclarativeerror.cpp
index ba1ebae402..027995398e 100644
--- a/tests/auto/declarative/qdeclarativeerror/tst_qdeclarativeerror.cpp
+++ b/tests/auto/declarative/qdeclarativeerror/tst_qdeclarativeerror.cpp
@@ -43,6 +43,11 @@
#include <QDeclarativeError>
#include <QDebug>
+#ifdef Q_OS_SYMBIAN
+// In Symbian OS test data is located in applications private dir
+#define SRCDIR "."
+#endif
+
class tst_qdeclarativeerror : public QObject
{
Q_OBJECT
diff --git a/tests/auto/declarative/qdeclarativeflickable/qdeclarativeflickable.pro b/tests/auto/declarative/qdeclarativeflickable/qdeclarativeflickable.pro
index 07637c937f..be0ba6c36f 100644
--- a/tests/auto/declarative/qdeclarativeflickable/qdeclarativeflickable.pro
+++ b/tests/auto/declarative/qdeclarativeflickable/qdeclarativeflickable.pro
@@ -4,8 +4,13 @@ macx:CONFIG -= app_bundle
SOURCES += tst_qdeclarativeflickable.cpp
-# Define SRCDIR equal to test's source directory
-DEFINES += SRCDIR=\\\"$$PWD\\\"
+symbian: {
+ importFiles.sources = data
+ importFiles.path = .
+ DEPLOYMENT = importFiles
+} else {
+ DEFINES += SRCDIR=\\\"$$PWD\\\"
+}
CONFIG += parallel_test
diff --git a/tests/auto/declarative/qdeclarativeflickable/tst_qdeclarativeflickable.cpp b/tests/auto/declarative/qdeclarativeflickable/tst_qdeclarativeflickable.cpp
index 9ce9c49cc6..2ba5574a36 100644
--- a/tests/auto/declarative/qdeclarativeflickable/tst_qdeclarativeflickable.cpp
+++ b/tests/auto/declarative/qdeclarativeflickable/tst_qdeclarativeflickable.cpp
@@ -46,6 +46,11 @@
#include <private/qdeclarativevaluetype_p.h>
#include <math.h>
+#ifdef Q_OS_SYMBIAN
+// In Symbian OS test data is located in applications private dir
+#define SRCDIR "."
+#endif
+
class tst_qdeclarativeflickable : public QObject
{
Q_OBJECT
@@ -61,6 +66,7 @@ private slots:
void maximumFlickVelocity();
void flickDeceleration();
void pressDelay();
+ void flickableDirection();
private:
QDeclarativeEngine engine;
@@ -224,6 +230,33 @@ void tst_qdeclarativeflickable::pressDelay()
QCOMPARE(spy.count(),1);
}
+void tst_qdeclarativeflickable::flickableDirection()
+{
+ QDeclarativeComponent component(&engine);
+ component.setData("import Qt 4.7; Flickable { flickableDirection: Flickable.VerticalFlick; }", QUrl::fromLocalFile(""));
+ QDeclarativeFlickable *flickable = qobject_cast<QDeclarativeFlickable*>(component.create());
+ QSignalSpy spy(flickable, SIGNAL(flickableDirectionChanged()));
+
+ QVERIFY(flickable);
+ QCOMPARE(flickable->flickableDirection(), QDeclarativeFlickable::VerticalFlick);
+
+ flickable->setFlickableDirection(QDeclarativeFlickable::HorizontalAndVerticalFlick);
+ QCOMPARE(flickable->flickableDirection(), QDeclarativeFlickable::HorizontalAndVerticalFlick);
+ QCOMPARE(spy.count(),1);
+
+ flickable->setFlickableDirection(QDeclarativeFlickable::AutoFlickDirection);
+ QCOMPARE(flickable->flickableDirection(), QDeclarativeFlickable::AutoFlickDirection);
+ QCOMPARE(spy.count(),2);
+
+ flickable->setFlickableDirection(QDeclarativeFlickable::HorizontalFlick);
+ QCOMPARE(flickable->flickableDirection(), QDeclarativeFlickable::HorizontalFlick);
+ QCOMPARE(spy.count(),3);
+
+ flickable->setFlickableDirection(QDeclarativeFlickable::HorizontalFlick);
+ QCOMPARE(flickable->flickableDirection(), QDeclarativeFlickable::HorizontalFlick);
+ QCOMPARE(spy.count(),3);
+}
+
QTEST_MAIN(tst_qdeclarativeflickable)
#include "tst_qdeclarativeflickable.moc"
diff --git a/tests/auto/declarative/qdeclarativeflipable/qdeclarativeflipable.pro b/tests/auto/declarative/qdeclarativeflipable/qdeclarativeflipable.pro
index 9830b55e95..759e80b321 100644
--- a/tests/auto/declarative/qdeclarativeflipable/qdeclarativeflipable.pro
+++ b/tests/auto/declarative/qdeclarativeflipable/qdeclarativeflipable.pro
@@ -4,8 +4,13 @@ macx:CONFIG -= app_bundle
SOURCES += tst_qdeclarativeflipable.cpp
-# Define SRCDIR equal to test's source directory
-DEFINES += SRCDIR=\\\"$$PWD\\\"
+symbian: {
+ importFiles.sources = data
+ importFiles.path = .
+ DEPLOYMENT = importFiles
+} else {
+ DEFINES += SRCDIR=\\\"$$PWD\\\"
+}
CONFIG += parallel_test
diff --git a/tests/auto/declarative/qdeclarativeflipable/tst_qdeclarativeflipable.cpp b/tests/auto/declarative/qdeclarativeflipable/tst_qdeclarativeflipable.cpp
index f32cdbdb49..f56c0325a2 100644
--- a/tests/auto/declarative/qdeclarativeflipable/tst_qdeclarativeflipable.cpp
+++ b/tests/auto/declarative/qdeclarativeflipable/tst_qdeclarativeflipable.cpp
@@ -48,6 +48,11 @@
#include <private/qdeclarativerectangle_p.h>
#include <math.h>
+#ifdef Q_OS_SYMBIAN
+// In Symbian OS test data is located in applications private dir
+#define SRCDIR "."
+#endif
+
class tst_qdeclarativeflipable : public QObject
{
Q_OBJECT
diff --git a/tests/auto/declarative/qdeclarativefocusscope/qdeclarativefocusscope.pro b/tests/auto/declarative/qdeclarativefocusscope/qdeclarativefocusscope.pro
index 687c80c1a7..24749c61c5 100644
--- a/tests/auto/declarative/qdeclarativefocusscope/qdeclarativefocusscope.pro
+++ b/tests/auto/declarative/qdeclarativefocusscope/qdeclarativefocusscope.pro
@@ -3,5 +3,11 @@ contains(QT_CONFIG,declarative): QT += declarative
SOURCES += tst_qdeclarativefocusscope.cpp
macx:CONFIG -= app_bundle
-DEFINES += SRCDIR=\\\"$$PWD\\\"
+symbian: {
+ importFiles.sources = data
+ importFiles.path = .
+ DEPLOYMENT = importFiles
+} else {
+ DEFINES += SRCDIR=\\\"$$PWD\\\"
+}
diff --git a/tests/auto/declarative/qdeclarativefocusscope/tst_qdeclarativefocusscope.cpp b/tests/auto/declarative/qdeclarativefocusscope/tst_qdeclarativefocusscope.cpp
index 04bb1c5179..7732e6dadb 100644
--- a/tests/auto/declarative/qdeclarativefocusscope/tst_qdeclarativefocusscope.cpp
+++ b/tests/auto/declarative/qdeclarativefocusscope/tst_qdeclarativefocusscope.cpp
@@ -48,6 +48,10 @@
#include <private/qdeclarativetext_p.h>
#include <QtDeclarative/private/qdeclarativefocusscope_p.h>
+#ifdef Q_OS_SYMBIAN
+// In Symbian OS test data is located in applications private dir
+#define SRCDIR "."
+#endif
class tst_qdeclarativefocusscope : public QObject
{
diff --git a/tests/auto/declarative/qdeclarativefolderlistmodel/data/basic.qml b/tests/auto/declarative/qdeclarativefolderlistmodel/data/basic.qml
new file mode 100644
index 0000000000..2c4977d08b
--- /dev/null
+++ b/tests/auto/declarative/qdeclarativefolderlistmodel/data/basic.qml
@@ -0,0 +1,5 @@
+import Qt.labs.folderlistmodel 1.0
+
+FolderListModel {
+ nameFilters: [ "*.qml" ]
+}
diff --git a/tests/auto/declarative/qdeclarativefolderlistmodel/data/dummy.qml b/tests/auto/declarative/qdeclarativefolderlistmodel/data/dummy.qml
new file mode 100644
index 0000000000..609638bec6
--- /dev/null
+++ b/tests/auto/declarative/qdeclarativefolderlistmodel/data/dummy.qml
@@ -0,0 +1 @@
+// This file is not used, it is just content for QDirModel
diff --git a/tests/auto/declarative/qdeclarativefolderlistmodel/qdeclarativefolderlistmodel.pro b/tests/auto/declarative/qdeclarativefolderlistmodel/qdeclarativefolderlistmodel.pro
new file mode 100644
index 0000000000..91bf4a764f
--- /dev/null
+++ b/tests/auto/declarative/qdeclarativefolderlistmodel/qdeclarativefolderlistmodel.pro
@@ -0,0 +1,15 @@
+load(qttest_p4)
+contains(QT_CONFIG,declarative): QT += declarative
+macx:CONFIG -= app_bundle
+
+SOURCES += tst_qdeclarativefolderlistmodel.cpp
+
+symbian: {
+ importFiles.sources = data
+ importFiles.path = .
+ DEPLOYMENT = importFiles
+} else {
+ DEFINES += SRCDIR=\\\"$$PWD\\\"
+}
+
+CONFIG += parallel_test
diff --git a/tests/auto/declarative/qdeclarativefolderlistmodel/tst_qdeclarativefolderlistmodel.cpp b/tests/auto/declarative/qdeclarativefolderlistmodel/tst_qdeclarativefolderlistmodel.cpp
new file mode 100644
index 0000000000..b2e3a5b516
--- /dev/null
+++ b/tests/auto/declarative/qdeclarativefolderlistmodel/tst_qdeclarativefolderlistmodel.cpp
@@ -0,0 +1,120 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the test suite of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+#include <qtest.h>
+#include <QtTest/QSignalSpy>
+#include "../../../shared/util.h"
+#include <QtDeclarative/qdeclarativeengine.h>
+#include <QtDeclarative/qdeclarativecomponent.h>
+#include <QtCore/qdir.h>
+#include <QtCore/qfile.h>
+#include <QtCore/qabstractitemmodel.h>
+#include <QDebug>
+
+#ifdef Q_OS_SYMBIAN
+// In Symbian OS test data is located in applications private dir
+#define SRCDIR "."
+#endif
+
+// From qdeclarastivefolderlistmodel.h
+const int FileNameRole = Qt::UserRole+1;
+const int FilePathRole = Qt::UserRole+2;
+enum SortField { Unsorted, Name, Time, Size, Type };
+
+class tst_qdeclarativefolderlistmodel : public QObject
+{
+ Q_OBJECT
+public:
+ tst_qdeclarativefolderlistmodel() {}
+
+private slots:
+ void basicProperties();
+
+private:
+ void checkNoErrors(const QDeclarativeComponent& component);
+ QDeclarativeEngine engine;
+};
+
+void tst_qdeclarativefolderlistmodel::checkNoErrors(const QDeclarativeComponent& component)
+{
+ // Wait until the component is ready
+ QTRY_VERIFY(component.isReady() || component.isError());
+
+ if (component.isError()) {
+ QList<QDeclarativeError> errors = component.errors();
+ for (int ii = 0; ii < errors.count(); ++ii) {
+ const QDeclarativeError &error = errors.at(ii);
+ QByteArray errorStr = QByteArray::number(error.line()) + ":" +
+ QByteArray::number(error.column()) + ":" +
+ error.description().toUtf8();
+ qWarning() << errorStr;
+ }
+ }
+ QVERIFY(!component.isError());
+}
+
+void tst_qdeclarativefolderlistmodel::basicProperties()
+{
+ QDeclarativeComponent component(&engine, QUrl::fromLocalFile(SRCDIR "/data/basic.qml"));
+ checkNoErrors(component);
+
+ QAbstractListModel *flm = qobject_cast<QAbstractListModel*>(component.create());
+ QVERIFY(flm != 0);
+
+ flm->setProperty("folder",QUrl::fromLocalFile(SRCDIR "/data"));
+ QTRY_COMPARE(flm->property("count").toInt(),2); // wait for refresh
+ QCOMPARE(flm->property("folder").toUrl(), QUrl::fromLocalFile(SRCDIR "/data"));
+ QCOMPARE(flm->property("parentFolder").toUrl(), QUrl::fromLocalFile(SRCDIR));
+ QCOMPARE(flm->property("sortField").toInt(), int(Name));
+ QCOMPARE(flm->property("nameFilters").toStringList(), QStringList() << "*.qml");
+ QCOMPARE(flm->property("sortReversed").toBool(), false);
+ QCOMPARE(flm->property("showDirs").toBool(), true);
+ QCOMPARE(flm->property("showDotAndDotDot").toBool(), false);
+ QCOMPARE(flm->property("showOnlyReadable").toBool(), false);
+ QCOMPARE(flm->data(flm->index(0),FileNameRole).toString(), QLatin1String("basic.qml"));
+ QCOMPARE(flm->data(flm->index(1),FileNameRole).toString(), QLatin1String("dummy.qml"));
+
+ flm->setProperty("folder",QUrl::fromLocalFile(""));
+ QCOMPARE(flm->property("folder").toUrl(), QUrl::fromLocalFile(""));
+}
+
+QTEST_MAIN(tst_qdeclarativefolderlistmodel)
+
+#include "tst_qdeclarativefolderlistmodel.moc"
diff --git a/tests/auto/declarative/qdeclarativefontloader/qdeclarativefontloader.pro b/tests/auto/declarative/qdeclarativefontloader/qdeclarativefontloader.pro
index 9a8a3ffa61..01dca2668c 100644
--- a/tests/auto/declarative/qdeclarativefontloader/qdeclarativefontloader.pro
+++ b/tests/auto/declarative/qdeclarativefontloader/qdeclarativefontloader.pro
@@ -5,8 +5,13 @@ macx:CONFIG -= app_bundle
HEADERS += ../shared/testhttpserver.h
SOURCES += tst_qdeclarativefontloader.cpp ../shared/testhttpserver.cpp
-# Define SRCDIR equal to test's source directory
-DEFINES += SRCDIR=\\\"$$PWD\\\"
+symbian: {
+ importFiles.sources = data
+ importFiles.path = .
+ DEPLOYMENT = importFiles
+} else {
+ DEFINES += SRCDIR=\\\"$$PWD\\\"
+}
CONFIG += parallel_test
diff --git a/tests/auto/declarative/qdeclarativefontloader/tst_qdeclarativefontloader.cpp b/tests/auto/declarative/qdeclarativefontloader/tst_qdeclarativefontloader.cpp
index 36908d9143..ae23017bdf 100644
--- a/tests/auto/declarative/qdeclarativefontloader/tst_qdeclarativefontloader.cpp
+++ b/tests/auto/declarative/qdeclarativefontloader/tst_qdeclarativefontloader.cpp
@@ -47,6 +47,11 @@
#define SERVER_PORT 14448
+#ifdef Q_OS_SYMBIAN
+// In Symbian OS test data is located in applications private dir
+#define SRCDIR "."
+#endif
+
class tst_qdeclarativefontloader : public QObject
{
diff --git a/tests/auto/declarative/qdeclarativegridview/data/manual-highlight.qml b/tests/auto/declarative/qdeclarativegridview/data/manual-highlight.qml
new file mode 100644
index 0000000000..510fcc542b
--- /dev/null
+++ b/tests/auto/declarative/qdeclarativegridview/data/manual-highlight.qml
@@ -0,0 +1,48 @@
+import Qt 4.7
+
+Item {
+
+ ListModel {
+ id: model
+ ListElement {
+ name: "Bill Smith"
+ number: "555 3264"
+ }
+ ListElement {
+ name: "John Brown"
+ number: "555 8426"
+ }
+ ListElement {
+ name: "Sam Wise"
+ number: "555 0473"
+ }
+ ListElement {
+ name: "Bob Brown"
+ number: "555 5845"
+ }
+ }
+
+ Component {
+ id: highlight
+ Rectangle {
+ objectName: "highlight"
+ width: 80; height: 80
+ color: "lightsteelblue"; radius: 5
+ y: grid.currentItem.y
+ x: grid.currentItem.x
+ }
+ }
+
+ GridView {
+ id: grid
+ objectName: "grid"
+ anchors.fill: parent
+ model: model
+ delegate: Text { objectName: "wrapper"; text: name; width: 80; height: 80 }
+
+ highlight: highlight
+ highlightFollowsCurrentItem: false
+ focus: true
+ }
+
+}
diff --git a/tests/auto/declarative/qdeclarativegridview/qdeclarativegridview.pro b/tests/auto/declarative/qdeclarativegridview/qdeclarativegridview.pro
index b06926088d..a99a1b9c3b 100644
--- a/tests/auto/declarative/qdeclarativegridview/qdeclarativegridview.pro
+++ b/tests/auto/declarative/qdeclarativegridview/qdeclarativegridview.pro
@@ -4,8 +4,13 @@ macx:CONFIG -= app_bundle
SOURCES += tst_qdeclarativegridview.cpp
-# Define SRCDIR equal to test's source directory
-DEFINES += SRCDIR=\\\"$$PWD\\\"
+symbian: {
+ importFiles.sources = data
+ importFiles.path = .
+ DEPLOYMENT = importFiles
+} else {
+ DEFINES += SRCDIR=\\\"$$PWD\\\"
+}
CONFIG += parallel_test
diff --git a/tests/auto/declarative/qdeclarativegridview/tst_qdeclarativegridview.cpp b/tests/auto/declarative/qdeclarativegridview/tst_qdeclarativegridview.cpp
index 89be1515b7..4e35bc0823 100644
--- a/tests/auto/declarative/qdeclarativegridview/tst_qdeclarativegridview.cpp
+++ b/tests/auto/declarative/qdeclarativegridview/tst_qdeclarativegridview.cpp
@@ -52,6 +52,11 @@
#include <QtDeclarative/private/qdeclarativelistmodel_p.h>
#include "../../../shared/util.h"
+#ifdef Q_OS_SYMBIAN
+// In Symbian OS test data is located in applications private dir
+#define SRCDIR "."
+#endif
+
class tst_QDeclarativeGridView : public QObject
{
Q_OBJECT
@@ -75,6 +80,7 @@ private slots:
void resetModel();
void enforceRange();
void QTBUG_8456();
+ void manualHighlight();
private:
QDeclarativeView *createView();
@@ -832,21 +838,34 @@ void tst_QDeclarativeGridView::componentChanges()
QSignalSpy highlightSpy(gridView, SIGNAL(highlightChanged()));
QSignalSpy delegateSpy(gridView, SIGNAL(delegateChanged()));
+ QSignalSpy headerSpy(gridView, SIGNAL(headerChanged()));
+ QSignalSpy footerSpy(gridView, SIGNAL(footerChanged()));
gridView->setHighlight(&component);
gridView->setDelegate(&delegateComponent);
+ gridView->setHeader(&component);
+ gridView->setFooter(&component);
QTRY_COMPARE(gridView->highlight(), &component);
QTRY_COMPARE(gridView->delegate(), &delegateComponent);
+ QTRY_COMPARE(gridView->header(), &component);
+ QTRY_COMPARE(gridView->footer(), &component);
QTRY_COMPARE(highlightSpy.count(),1);
QTRY_COMPARE(delegateSpy.count(),1);
+ QTRY_COMPARE(headerSpy.count(),1);
+ QTRY_COMPARE(footerSpy.count(),1);
gridView->setHighlight(&component);
gridView->setDelegate(&delegateComponent);
+ gridView->setHeader(&component);
+ gridView->setFooter(&component);
QTRY_COMPARE(highlightSpy.count(),1);
QTRY_COMPARE(delegateSpy.count(),1);
+ QTRY_COMPARE(headerSpy.count(),1);
+ QTRY_COMPARE(footerSpy.count(),1);
+
delete canvas;
}
@@ -1091,6 +1110,13 @@ void tst_QDeclarativeGridView::enforceRange()
gridview->setCurrentIndex(5);
QTRY_COMPARE(gridview->contentY(), 100.);
+ TestModel model2;
+ for (int i = 0; i < 5; i++)
+ model2.addItem("Item" + QString::number(i), "");
+
+ ctxt->setContextProperty("testModel", &model2);
+ QCOMPARE(gridview->count(), 5);
+
delete canvas;
}
@@ -1107,6 +1133,35 @@ void tst_QDeclarativeGridView::QTBUG_8456()
QTRY_COMPARE(gridview->currentIndex(), 0);
}
+void tst_QDeclarativeGridView::manualHighlight()
+{
+ QDeclarativeView *canvas = createView();
+
+ QString filename(SRCDIR "/data/manual-highlight.qml");
+ canvas->setSource(QUrl::fromLocalFile(filename));
+
+ qApp->processEvents();
+
+ QDeclarativeGridView *gridview = findItem<QDeclarativeGridView>(canvas->rootObject(), "grid");
+ QTRY_VERIFY(gridview != 0);
+
+ QDeclarativeItem *viewport = gridview->viewport();
+ QTRY_VERIFY(viewport != 0);
+
+ QTRY_COMPARE(gridview->currentIndex(), 0);
+ QTRY_COMPARE(gridview->currentItem(), findItem<QDeclarativeItem>(viewport, "wrapper", 0));
+ QTRY_COMPARE(gridview->highlightItem()->y(), gridview->currentItem()->y());
+ QTRY_COMPARE(gridview->highlightItem()->x(), gridview->currentItem()->x());
+
+ gridview->setCurrentIndex(2);
+
+ QTRY_COMPARE(gridview->currentIndex(), 2);
+ QTRY_COMPARE(gridview->currentItem(), findItem<QDeclarativeItem>(viewport, "wrapper", 2));
+ QTRY_COMPARE(gridview->highlightItem()->y(), gridview->currentItem()->y());
+ QTRY_COMPARE(gridview->highlightItem()->x(), gridview->currentItem()->x());
+}
+
+
QDeclarativeView *tst_QDeclarativeGridView::createView()
{
QDeclarativeView *canvas = new QDeclarativeView(0);
diff --git a/tests/auto/declarative/qdeclarativeimage/qdeclarativeimage.pro b/tests/auto/declarative/qdeclarativeimage/qdeclarativeimage.pro
index ff365ee06a..244a1e1e90 100644
--- a/tests/auto/declarative/qdeclarativeimage/qdeclarativeimage.pro
+++ b/tests/auto/declarative/qdeclarativeimage/qdeclarativeimage.pro
@@ -5,8 +5,13 @@ macx:CONFIG -= app_bundle
HEADERS += ../shared/testhttpserver.h
SOURCES += tst_qdeclarativeimage.cpp ../shared/testhttpserver.cpp
-# Define SRCDIR equal to test's source directory
-DEFINES += SRCDIR=\\\"$$PWD\\\"
+symbian: {
+ importFiles.sources = data
+ importFiles.path = .
+ DEPLOYMENT = importFiles
+} else {
+ DEFINES += SRCDIR=\\\"$$PWD\\\"
+}
CONFIG += parallel_test
diff --git a/tests/auto/declarative/qdeclarativeimage/tst_qdeclarativeimage.cpp b/tests/auto/declarative/qdeclarativeimage/tst_qdeclarativeimage.cpp
index e0143a6510..c09f7fc7d6 100644
--- a/tests/auto/declarative/qdeclarativeimage/tst_qdeclarativeimage.cpp
+++ b/tests/auto/declarative/qdeclarativeimage/tst_qdeclarativeimage.cpp
@@ -55,6 +55,10 @@
#include "../shared/testhttpserver.h"
+#ifdef Q_OS_SYMBIAN
+// In Symbian OS test data is located in applications private dir
+#define SRCDIR "."
+#endif
#define SERVER_PORT 14451
#define SERVER_ADDR "http://127.0.0.1:14451"
@@ -400,7 +404,7 @@ T *tst_qdeclarativeimage::findItem(QGraphicsObject *parent, const QString &objec
//qDebug() << "try" << item;
if (mo.cast(item) && (objectName.isEmpty() || item->objectName() == objectName)) {
if (index != -1) {
- QDeclarativeExpression e(qmlContext(item), "index", item);
+ QDeclarativeExpression e(qmlContext(item), item, "index");
if (e.evaluate().toInt() == index)
return static_cast<T*>(item);
} else {
diff --git a/tests/auto/declarative/qdeclarativeimageprovider/qdeclarativeimageprovider.pro b/tests/auto/declarative/qdeclarativeimageprovider/qdeclarativeimageprovider.pro
index 22be991e94..bdb6423657 100644
--- a/tests/auto/declarative/qdeclarativeimageprovider/qdeclarativeimageprovider.pro
+++ b/tests/auto/declarative/qdeclarativeimageprovider/qdeclarativeimageprovider.pro
@@ -8,8 +8,13 @@ SOURCES += tst_qdeclarativeimageprovider.cpp
# QMAKE_CXXFLAGS = -fprofile-arcs -ftest-coverage
# LIBS += -lgcov
-# Define SRCDIR equal to test's source directory
-DEFINES += SRCDIR=\\\"$$PWD\\\"
+symbian: {
+ importFiles.sources = data
+ importFiles.path = .
+ DEPLOYMENT = importFiles
+} else {
+ DEFINES += SRCDIR=\\\"$$PWD\\\"
+}
CONFIG += parallel_test
diff --git a/tests/auto/declarative/qdeclarativeimageprovider/tst_qdeclarativeimageprovider.cpp b/tests/auto/declarative/qdeclarativeimageprovider/tst_qdeclarativeimageprovider.cpp
index cc4ec20db0..4185790d91 100644
--- a/tests/auto/declarative/qdeclarativeimageprovider/tst_qdeclarativeimageprovider.cpp
+++ b/tests/auto/declarative/qdeclarativeimageprovider/tst_qdeclarativeimageprovider.cpp
@@ -45,6 +45,11 @@
#include <private/qdeclarativeimage_p.h>
#include <QImageReader>
+#ifdef Q_OS_SYMBIAN
+// In Symbian OS test data is located in applications private dir
+#define SRCDIR "."
+#endif
+
// QDeclarativeImageProvider::request() is run in an idle thread where possible
// Be generous in our timeout.
#define TRY_WAIT(expr) \
diff --git a/tests/auto/declarative/qdeclarativeinfo/qdeclarativeinfo.pro b/tests/auto/declarative/qdeclarativeinfo/qdeclarativeinfo.pro
index bb54d6cde1..2c20e7ef09 100644
--- a/tests/auto/declarative/qdeclarativeinfo/qdeclarativeinfo.pro
+++ b/tests/auto/declarative/qdeclarativeinfo/qdeclarativeinfo.pro
@@ -4,7 +4,13 @@ macx:CONFIG -= app_bundle
SOURCES += tst_qdeclarativeinfo.cpp
-DEFINES += SRCDIR=\\\"$$PWD\\\"
+symbian: {
+ importFiles.sources = data
+ importFiles.path = .
+ DEPLOYMENT = importFiles
+} else {
+ DEFINES += SRCDIR=\\\"$$PWD\\\"
+}
CONFIG += parallel_test
diff --git a/tests/auto/declarative/qdeclarativeinfo/tst_qdeclarativeinfo.cpp b/tests/auto/declarative/qdeclarativeinfo/tst_qdeclarativeinfo.cpp
index 36db448c3a..03df71f50c 100644
--- a/tests/auto/declarative/qdeclarativeinfo/tst_qdeclarativeinfo.cpp
+++ b/tests/auto/declarative/qdeclarativeinfo/tst_qdeclarativeinfo.cpp
@@ -46,6 +46,11 @@
#include <QDeclarativeContext>
#include <qdeclarativeinfo.h>
+#ifdef Q_OS_SYMBIAN
+// In Symbian OS test data is located in applications private dir
+#define SRCDIR "."
+#endif
+
class tst_qdeclarativeinfo : public QObject
{
Q_OBJECT
diff --git a/tests/auto/declarative/qdeclarativeinstruction/qdeclarativeinstruction.pro b/tests/auto/declarative/qdeclarativeinstruction/qdeclarativeinstruction.pro
index 0daa9e55ee..c8a48c9410 100644
--- a/tests/auto/declarative/qdeclarativeinstruction/qdeclarativeinstruction.pro
+++ b/tests/auto/declarative/qdeclarativeinstruction/qdeclarativeinstruction.pro
@@ -3,7 +3,9 @@ contains(QT_CONFIG,declarative): QT += declarative script
SOURCES += tst_qdeclarativeinstruction.cpp
macx:CONFIG -= app_bundle
-DEFINES += SRCDIR=\\\"$$PWD\\\"
+!symbian: {
+ DEFINES += SRCDIR=\\\"$$PWD\\\"
+}
CONFIG += parallel_test
diff --git a/tests/auto/declarative/qdeclarativeinstruction/tst_qdeclarativeinstruction.cpp b/tests/auto/declarative/qdeclarativeinstruction/tst_qdeclarativeinstruction.cpp
index 9ae26f2e33..d5a911aeb5 100644
--- a/tests/auto/declarative/qdeclarativeinstruction/tst_qdeclarativeinstruction.cpp
+++ b/tests/auto/declarative/qdeclarativeinstruction/tst_qdeclarativeinstruction.cpp
@@ -42,6 +42,11 @@
#include <qtest.h>
#include <private/qdeclarativecompiler_p.h>
+#ifdef Q_OS_SYMBIAN
+// In Symbian OS test data is located in applications private dir
+#define SRCDIR "."
+#endif
+
class tst_qdeclarativeinstruction : public QObject
{
Q_OBJECT
@@ -534,7 +539,6 @@ void tst_qdeclarativeinstruction::dump()
<< "-------------------------------------------------------------------------------"
<< "0\t\t0\tINIT\t\t\t0\t3\t-1\t-1"
<< "1\t\t1\tCREATE\t\t\t0\t\t\t\"Test\""
- << "1\t\t1\tCREATE_SIMPLE\t\t-1"
<< "2\t\t2\tSETID\t\t\t0\t\t\t\"testId\""
<< "3\t\t3\tSET_DEFAULT"
<< "4\t\t4\tCREATE_COMPONENT\t3"
diff --git a/tests/auto/declarative/qdeclarativeitem/data/childrenRect.qml b/tests/auto/declarative/qdeclarativeitem/data/childrenRect.qml
new file mode 100644
index 0000000000..f351b53dbb
--- /dev/null
+++ b/tests/auto/declarative/qdeclarativeitem/data/childrenRect.qml
@@ -0,0 +1,27 @@
+import Qt 4.7
+
+Rectangle {
+ width: 400
+ height: 400
+
+ property int childCount: 0;
+
+ Item {
+ objectName: "testItem"
+ width: childrenRect.width
+ height: childrenRect.height
+
+ Repeater {
+ id: repeater
+ model: childCount
+ delegate: Rectangle {
+ x: index*10
+ y: index*20
+ width: 10
+ height: 20
+
+ color: "red"
+ }
+ }
+ }
+}
diff --git a/tests/auto/declarative/qdeclarativeitem/data/childrenRectBug.qml b/tests/auto/declarative/qdeclarativeitem/data/childrenRectBug.qml
new file mode 100644
index 0000000000..4a2f0565c3
--- /dev/null
+++ b/tests/auto/declarative/qdeclarativeitem/data/childrenRectBug.qml
@@ -0,0 +1,23 @@
+import Qt 4.7
+
+Rectangle {
+ width: 400
+ height: 200
+
+ Item {
+ objectName: "theItem"
+ anchors.centerIn: parent
+ width: childrenRect.width
+ height: childrenRect.height
+ Rectangle {
+ id: text1
+ anchors.verticalCenter: parent.verticalCenter
+ width: 100; height: 100; color: "green"
+ }
+ Rectangle {
+ anchors.left: text1.right
+ anchors.verticalCenter: parent.verticalCenter
+ width: 100; height: 100; color: "green"
+ }
+ }
+}
diff --git a/tests/auto/declarative/qdeclarativeitem/data/keyspriority.qml b/tests/auto/declarative/qdeclarativeitem/data/keyspriority.qml
new file mode 100644
index 0000000000..171536b9d8
--- /dev/null
+++ b/tests/auto/declarative/qdeclarativeitem/data/keyspriority.qml
@@ -0,0 +1,9 @@
+import Qt 4.7
+import Test 1.0
+
+KeyTestItem {
+ focus: true
+ Keys.onPressed: keysTestObject.keyPress(event.key, event.text, event.modifiers)
+ Keys.onReleased: { keysTestObject.keyRelease(event.key, event.text, event.modifiers); event.accepted = true; }
+ Keys.priority: keysTestObject.processLast ? Keys.AfterItem : Keys.BeforeItem
+}
diff --git a/tests/auto/declarative/qdeclarativeitem/data/mouseFocus.qml b/tests/auto/declarative/qdeclarativeitem/data/mouseFocus.qml
new file mode 100644
index 0000000000..a562b8b0ea
--- /dev/null
+++ b/tests/auto/declarative/qdeclarativeitem/data/mouseFocus.qml
@@ -0,0 +1,20 @@
+import Qt 4.7
+
+QGraphicsWidget {
+ size: "200x100"
+ focusPolicy: QGraphicsWidget.ClickFocus
+ Item {
+ objectName: "declarativeItem"
+ id: item
+ width: 200
+ height: 100
+ MouseArea {
+ anchors.fill: parent
+ onPressed: {
+ if (!item.focus) {
+ item.focus = true;
+ }
+ }
+ }
+ }
+}
diff --git a/tests/auto/declarative/qdeclarativeitem/qdeclarativeitem.pro b/tests/auto/declarative/qdeclarativeitem/qdeclarativeitem.pro
index e834a4e5c7..f4901c4428 100644
--- a/tests/auto/declarative/qdeclarativeitem/qdeclarativeitem.pro
+++ b/tests/auto/declarative/qdeclarativeitem/qdeclarativeitem.pro
@@ -4,7 +4,13 @@ macx:CONFIG -= app_bundle
SOURCES += tst_qdeclarativeitem.cpp
-DEFINES += SRCDIR=\\\"$$PWD\\\"
+symbian: {
+ importFiles.sources = data
+ importFiles.path = .
+ DEPLOYMENT = importFiles
+} else {
+ DEFINES += SRCDIR=\\\"$$PWD\\\"
+}
CONFIG += parallel_test
diff --git a/tests/auto/declarative/qdeclarativeitem/tst_qdeclarativeitem.cpp b/tests/auto/declarative/qdeclarativeitem/tst_qdeclarativeitem.cpp
index d2c328e3a9..0a66245707 100644
--- a/tests/auto/declarative/qdeclarativeitem/tst_qdeclarativeitem.cpp
+++ b/tests/auto/declarative/qdeclarativeitem/tst_qdeclarativeitem.cpp
@@ -45,6 +45,12 @@
#include <QtDeclarative/qdeclarativecontext.h>
#include <QtDeclarative/qdeclarativeview.h>
#include <QtDeclarative/qdeclarativeitem.h>
+#include "../../../shared/util.h"
+
+#ifdef Q_OS_SYMBIAN
+// In Symbian OS test data is located in applications private dir
+#define SRCDIR "."
+#endif
class tst_QDeclarativeItem : public QObject
@@ -54,7 +60,9 @@ public:
tst_QDeclarativeItem();
private slots:
+ void initTestCase();
void keys();
+ void keysProcessingOrder();
void keyNavigation();
void smooth();
void clip();
@@ -63,9 +71,12 @@ private slots:
void propertyChanges();
void transforms();
void transforms_data();
+ void childrenRect();
+ void childrenRectBug();
void childrenProperty();
void resourcesProperty();
+ void mouseFocus();
private:
template<typename T>
@@ -76,8 +87,11 @@ private:
class KeysTestObject : public QObject
{
Q_OBJECT
+
+ Q_PROPERTY(bool processLast READ processLast NOTIFY processLastChanged)
+
public:
- KeysTestObject() : mKey(0), mModifiers(0), mForwardedKey(0) {}
+ KeysTestObject() : mKey(0), mModifiers(0), mForwardedKey(0), mLast(false) {}
void reset() {
mKey = 0;
@@ -86,6 +100,14 @@ public:
mForwardedKey = 0;
}
+ bool processLast() const { return mLast; }
+ void setProcessLast(bool b) {
+ if (b != mLast) {
+ mLast = b;
+ emit processLastChanged();
+ }
+ }
+
public slots:
void keyPress(int key, QString text, int modifiers) {
mKey = key;
@@ -101,20 +123,73 @@ public slots:
mForwardedKey = key;
}
+signals:
+ void processLastChanged();
+
public:
int mKey;
QString mText;
int mModifiers;
int mForwardedKey;
+ bool mLast;
private:
};
+class KeyTestItem : public QDeclarativeItem
+{
+ Q_OBJECT
+public:
+ KeyTestItem(QDeclarativeItem *parent=0) : QDeclarativeItem(parent), mKey(0) {}
+
+protected:
+ void keyPressEvent(QKeyEvent *e) {
+ keyPressPreHandler(e);
+ if (e->isAccepted())
+ return;
+
+ mKey = e->key();
+
+ if (e->key() == Qt::Key_A)
+ e->accept();
+ else
+ e->ignore();
+
+ if (!e->isAccepted())
+ QDeclarativeItem::keyPressEvent(e);
+ }
+
+ void keyReleaseEvent(QKeyEvent *e) {
+ keyReleasePreHandler(e);
+
+ if (e->isAccepted())
+ return;
+
+ if (e->key() == Qt::Key_B)
+ e->accept();
+ else
+ e->ignore();
+
+ if (!e->isAccepted())
+ QDeclarativeItem::keyReleaseEvent(e);
+ }
+
+public:
+ int mKey;
+};
+
+QML_DECLARE_TYPE(KeyTestItem);
+
tst_QDeclarativeItem::tst_QDeclarativeItem()
{
}
+void tst_QDeclarativeItem::initTestCase()
+{
+ qmlRegisterType<KeyTestItem>("Test",1,0,"KeyTestItem");
+}
+
void tst_QDeclarativeItem::keys()
{
QDeclarativeView *canvas = new QDeclarativeView(0);
@@ -211,6 +286,69 @@ void tst_QDeclarativeItem::keys()
QCOMPARE(testObject->mKey, 0);
QVERIFY(!key.isAccepted());
+ canvas->rootContext()->setContextProperty("enableKeyHanding", QVariant(true));
+
+ key = QKeyEvent(QEvent::KeyPress, Qt::Key_Return, Qt::NoModifier, "", false, 1);
+ QApplication::sendEvent(canvas, &key);
+ QCOMPARE(testObject->mKey, int(Qt::Key_Return));
+ QVERIFY(key.isAccepted());
+
+ delete canvas;
+ delete testObject;
+}
+
+void tst_QDeclarativeItem::keysProcessingOrder()
+{
+ QDeclarativeView *canvas = new QDeclarativeView(0);
+ canvas->setFixedSize(240,320);
+
+ KeysTestObject *testObject = new KeysTestObject;
+ canvas->rootContext()->setContextProperty("keysTestObject", testObject);
+
+ canvas->setSource(QUrl::fromLocalFile(SRCDIR "/data/keyspriority.qml"));
+ canvas->show();
+ qApp->processEvents();
+
+ KeyTestItem *testItem = qobject_cast<KeyTestItem*>(canvas->rootObject());
+ QVERIFY(testItem);
+
+ QEvent wa(QEvent::WindowActivate);
+ QApplication::sendEvent(canvas, &wa);
+ QFocusEvent fe(QEvent::FocusIn);
+ QApplication::sendEvent(canvas, &fe);
+
+ QKeyEvent key(QEvent::KeyPress, Qt::Key_A, Qt::NoModifier, "A", false, 1);
+ QApplication::sendEvent(canvas, &key);
+ QCOMPARE(testObject->mKey, int(Qt::Key_A));
+ QCOMPARE(testObject->mText, QLatin1String("A"));
+ QVERIFY(testObject->mModifiers == Qt::NoModifier);
+ QVERIFY(key.isAccepted());
+
+ testObject->reset();
+
+ testObject->setProcessLast(true);
+
+ key = QKeyEvent(QEvent::KeyPress, Qt::Key_A, Qt::NoModifier, "A", false, 1);
+ QApplication::sendEvent(canvas, &key);
+ QCOMPARE(testObject->mKey, 0);
+ QVERIFY(key.isAccepted());
+
+ testObject->reset();
+
+ key = QKeyEvent(QEvent::KeyPress, Qt::Key_B, Qt::NoModifier, "B", false, 1);
+ QApplication::sendEvent(canvas, &key);
+ QCOMPARE(testObject->mKey, int(Qt::Key_B));
+ QCOMPARE(testObject->mText, QLatin1String("B"));
+ QVERIFY(testObject->mModifiers == Qt::NoModifier);
+ QVERIFY(!key.isAccepted());
+
+ testObject->reset();
+
+ key = QKeyEvent(QEvent::KeyRelease, Qt::Key_B, Qt::NoModifier, "B", false, 1);
+ QApplication::sendEvent(canvas, &key);
+ QCOMPARE(testObject->mKey, 0);
+ QVERIFY(key.isAccepted());
+
delete canvas;
delete testObject;
}
@@ -465,6 +603,41 @@ void tst_QDeclarativeItem::resourcesProperty()
delete o;
}
+void tst_QDeclarativeItem::mouseFocus()
+{
+ QDeclarativeView *canvas = new QDeclarativeView(0);
+ QVERIFY(canvas);
+ canvas->setSource(QUrl::fromLocalFile(SRCDIR "/data/mouseFocus.qml"));
+ canvas->show();
+ QVERIFY(canvas->rootObject());
+ QApplication::setActiveWindow(canvas);
+ QTest::qWaitForWindowShown(canvas);
+ QTRY_COMPARE(QApplication::activeWindow(), static_cast<QWidget *>(canvas));
+
+ QDeclarativeItem *item = findItem<QDeclarativeItem>(canvas->rootObject(), "declarativeItem");
+ QVERIFY(item);
+ QSignalSpy focusSpy(item, SIGNAL(focusChanged(bool)));
+
+ QTest::mouseClick(canvas->viewport(), Qt::LeftButton, 0, canvas->mapFromScene(item->scenePos()));
+ QApplication::processEvents();
+ QCOMPARE(focusSpy.count(), 1);
+ QVERIFY(item->hasFocus());
+
+ // make sure focusable graphics widget underneath does not steal focus
+ QTest::mouseClick(canvas->viewport(), Qt::LeftButton, 0, canvas->mapFromScene(item->scenePos()));
+ QApplication::processEvents();
+ QCOMPARE(focusSpy.count(), 1);
+ QVERIFY(item->hasFocus());
+
+ item->setFocus(false);
+ QVERIFY(!item->hasFocus());
+ QCOMPARE(focusSpy.count(), 2);
+ item->setFocus(true);
+ QCOMPARE(focusSpy.count(), 3);
+
+ delete canvas;
+}
+
void tst_QDeclarativeItem::propertyChanges()
{
QDeclarativeView *canvas = new QDeclarativeView(0);
@@ -537,6 +710,49 @@ void tst_QDeclarativeItem::propertyChanges()
delete canvas;
}
+void tst_QDeclarativeItem::childrenRect()
+{
+ QDeclarativeView *canvas = new QDeclarativeView(0);
+ canvas->setFixedSize(240,320);
+ canvas->setSource(QUrl::fromLocalFile(SRCDIR "/data/childrenRect.qml"));
+ canvas->show();
+
+ QGraphicsObject *o = canvas->rootObject();
+ QDeclarativeItem *item = o->findChild<QDeclarativeItem*>("testItem");
+ QCOMPARE(item->width(), qreal(0));
+ QCOMPARE(item->height(), qreal(0));
+
+ o->setProperty("childCount", 1);
+ QCOMPARE(item->width(), qreal(10));
+ QCOMPARE(item->height(), qreal(20));
+
+ o->setProperty("childCount", 5);
+ QCOMPARE(item->width(), qreal(50));
+ QCOMPARE(item->height(), qreal(100));
+
+ o->setProperty("childCount", 0);
+ QCOMPARE(item->width(), qreal(0));
+ QCOMPARE(item->height(), qreal(0));
+
+ delete o;
+}
+
+// QTBUG-11383
+void tst_QDeclarativeItem::childrenRectBug()
+{
+ QDeclarativeView *canvas = new QDeclarativeView(0);
+ canvas->setSource(QUrl::fromLocalFile(SRCDIR "/data/childrenRectBug.qml"));
+ canvas->show();
+
+ QGraphicsObject *o = canvas->rootObject();
+ QDeclarativeItem *item = o->findChild<QDeclarativeItem*>("theItem");
+ QCOMPARE(item->width(), qreal(200));
+ QCOMPARE(item->height(), qreal(100));
+ QCOMPARE(item->x(), qreal(100));
+
+ delete canvas;
+}
+
template<typename T>
T *tst_QDeclarativeItem::findItem(QGraphicsObject *parent, const QString &objectName)
{
diff --git a/tests/auto/declarative/qdeclarativelanguage/data/assignLiteralToVariant.qml b/tests/auto/declarative/qdeclarativelanguage/data/assignLiteralToVariant.qml
index 5af3d6e738..bac704e698 100644
--- a/tests/auto/declarative/qdeclarativelanguage/data/assignLiteralToVariant.qml
+++ b/tests/auto/declarative/qdeclarativelanguage/data/assignLiteralToVariant.qml
@@ -10,5 +10,7 @@ QtObject {
property variant test7: "10x10"
property variant test8: "100,100,100"
property variant test9: String("#FF008800")
+ property variant test10: true
+ property variant test11: false
}
diff --git a/tests/auto/declarative/qdeclarativelanguage/data/assignValueToSignal.errors.txt b/tests/auto/declarative/qdeclarativelanguage/data/assignValueToSignal.errors.txt
new file mode 100644
index 0000000000..eb1430a715
--- /dev/null
+++ b/tests/auto/declarative/qdeclarativelanguage/data/assignValueToSignal.errors.txt
@@ -0,0 +1 @@
+4:5:Cannot assign a value to a signal (expecting a script to be run)
diff --git a/tests/auto/declarative/qdeclarativelanguage/data/assignValueToSignal.qml b/tests/auto/declarative/qdeclarativelanguage/data/assignValueToSignal.qml
new file mode 100644
index 0000000000..6fa1259f39
--- /dev/null
+++ b/tests/auto/declarative/qdeclarativelanguage/data/assignValueToSignal.qml
@@ -0,0 +1,6 @@
+import Test 1.0
+
+MyQmlObject {
+ onBasicSignal: "hello world"
+}
+
diff --git a/tests/auto/declarative/qdeclarativelanguage/data/dynamicObjectProperties.2.qml b/tests/auto/declarative/qdeclarativelanguage/data/dynamicObjectProperties.2.qml
new file mode 100644
index 0000000000..df3de207ea
--- /dev/null
+++ b/tests/auto/declarative/qdeclarativelanguage/data/dynamicObjectProperties.2.qml
@@ -0,0 +1,11 @@
+import Qt 4.7
+import Qt 4.7 as Qt47
+
+Qt.QtObject {
+ property Qt47.QtObject objectProperty
+ property list<Qt47.QtObject> objectPropertyList
+
+ objectProperty: QtObject {}
+ objectPropertyList: QtObject {}
+}
+
diff --git a/tests/auto/declarative/qdeclarativelanguage/data/emptySignal.2.errors.txt b/tests/auto/declarative/qdeclarativelanguage/data/emptySignal.2.errors.txt
deleted file mode 100644
index 8b20434973..0000000000
--- a/tests/auto/declarative/qdeclarativelanguage/data/emptySignal.2.errors.txt
+++ /dev/null
@@ -1 +0,0 @@
-4:5:Incorrectly specified signal assignment
diff --git a/tests/auto/declarative/qdeclarativelanguage/data/emptySignal.2.qml b/tests/auto/declarative/qdeclarativelanguage/data/emptySignal.2.qml
deleted file mode 100644
index c84fea3fe6..0000000000
--- a/tests/auto/declarative/qdeclarativelanguage/data/emptySignal.2.qml
+++ /dev/null
@@ -1,7 +0,0 @@
-import Test 1.0
-
-MyQmlObject {
- onBasicSignal {
- }
-}
-
diff --git a/tests/auto/declarative/qdeclarativelanguage/data/emptySignal.errors.txt b/tests/auto/declarative/qdeclarativelanguage/data/emptySignal.errors.txt
index 353bbf5d8c..8b20434973 100644
--- a/tests/auto/declarative/qdeclarativelanguage/data/emptySignal.errors.txt
+++ b/tests/auto/declarative/qdeclarativelanguage/data/emptySignal.errors.txt
@@ -1 +1 @@
-4:5:Empty signal assignment
+4:5:Incorrectly specified signal assignment
diff --git a/tests/auto/declarative/qdeclarativelanguage/data/emptySignal.qml b/tests/auto/declarative/qdeclarativelanguage/data/emptySignal.qml
index 4c5a122782..c84fea3fe6 100644
--- a/tests/auto/declarative/qdeclarativelanguage/data/emptySignal.qml
+++ b/tests/auto/declarative/qdeclarativelanguage/data/emptySignal.qml
@@ -1,6 +1,7 @@
import Test 1.0
MyQmlObject {
- onBasicSignal: " "
+ onBasicSignal {
+ }
}
diff --git a/tests/auto/declarative/qdeclarativelanguage/data/scriptString2.qml b/tests/auto/declarative/qdeclarativelanguage/data/scriptString2.qml
new file mode 100644
index 0000000000..c42da2b9e1
--- /dev/null
+++ b/tests/auto/declarative/qdeclarativelanguage/data/scriptString2.qml
@@ -0,0 +1,5 @@
+import Test 1.0
+
+MyTypeObject {
+ scriptProperty: "hello\n\"world\""
+}
diff --git a/tests/auto/declarative/qdeclarativelanguage/data/scriptString3.qml b/tests/auto/declarative/qdeclarativelanguage/data/scriptString3.qml
new file mode 100644
index 0000000000..0cd82ff58f
--- /dev/null
+++ b/tests/auto/declarative/qdeclarativelanguage/data/scriptString3.qml
@@ -0,0 +1,5 @@
+import Test 1.0
+
+MyTypeObject {
+ scriptProperty: 12.345
+}
diff --git a/tests/auto/declarative/qdeclarativelanguage/data/scriptString4.qml b/tests/auto/declarative/qdeclarativelanguage/data/scriptString4.qml
new file mode 100644
index 0000000000..3e2f9a49f1
--- /dev/null
+++ b/tests/auto/declarative/qdeclarativelanguage/data/scriptString4.qml
@@ -0,0 +1,5 @@
+import Test 1.0
+
+MyTypeObject {
+ scriptProperty: true
+}
diff --git a/tests/auto/declarative/qdeclarativelanguage/qdeclarativelanguage.pro b/tests/auto/declarative/qdeclarativelanguage/qdeclarativelanguage.pro
index 5771469126..43c451fb32 100644
--- a/tests/auto/declarative/qdeclarativelanguage/qdeclarativelanguage.pro
+++ b/tests/auto/declarative/qdeclarativelanguage/qdeclarativelanguage.pro
@@ -11,6 +11,12 @@ INCLUDEPATH += ../shared/
HEADERS += ../shared/testhttpserver.h
SOURCES += ../shared/testhttpserver.cpp
-DEFINES += SRCDIR=\\\"$$PWD\\\"
+symbian: {
+ importFiles.sources = data
+ importFiles.path = .
+ DEPLOYMENT = importFiles
+} else {
+ DEFINES += SRCDIR=\\\"$$PWD\\\"
+}
CONFIG += parallel_test
diff --git a/tests/auto/declarative/qdeclarativelanguage/testtypes.h b/tests/auto/declarative/qdeclarativelanguage/testtypes.h
index 89f99c88f5..acbe2198b2 100644
--- a/tests/auto/declarative/qdeclarativelanguage/testtypes.h
+++ b/tests/auto/declarative/qdeclarativelanguage/testtypes.h
@@ -99,7 +99,7 @@ private:
int m_value2;
};
-class MyQmlObject : public QObject, public MyInterface, public QDeclarativeParserStatus
+class MyQmlObject : public QObject, public MyInterface
{
Q_OBJECT
Q_PROPERTY(int value READ value WRITE setValue FINAL)
@@ -113,7 +113,7 @@ class MyQmlObject : public QObject, public MyInterface, public QDeclarativeParse
Q_PROPERTY(MyQmlObject *qmlobjectProperty READ qmlobject WRITE setQmlobject)
Q_PROPERTY(int propertyWithNotify READ propertyWithNotify WRITE setPropertyWithNotify NOTIFY oddlyNamedNotifySignal)
- Q_INTERFACES(MyInterface QDeclarativeParserStatus)
+ Q_INTERFACES(MyInterface)
public:
MyQmlObject() : m_value(-1), m_interface(0), m_qmlobject(0) { qRegisterMetaType<MyCustomVariantType>("MyCustomVariantType"); }
diff --git a/tests/auto/declarative/qdeclarativelanguage/tst_qdeclarativelanguage.cpp b/tests/auto/declarative/qdeclarativelanguage/tst_qdeclarativelanguage.cpp
index ff03005f60..413843abdc 100644
--- a/tests/auto/declarative/qdeclarativelanguage/tst_qdeclarativelanguage.cpp
+++ b/tests/auto/declarative/qdeclarativelanguage/tst_qdeclarativelanguage.cpp
@@ -55,6 +55,11 @@
#include "../../../shared/util.h"
#include "testhttpserver.h"
+#ifdef Q_OS_SYMBIAN
+// In Symbian OS test data is located in applications private dir
+#define SRCDIR "."
+#endif
+
DEFINE_BOOL_CONFIG_OPTION(qmlCheckTypes, QML_CHECK_TYPES)
@@ -351,8 +356,8 @@ void tst_qdeclarativelanguage::errors_data()
QTest::newRow("invalidAttachedProperty.12") << "invalidAttachedProperty.12.qml" << "invalidAttachedProperty.12.errors.txt" << false;
QTest::newRow("invalidAttachedProperty.13") << "invalidAttachedProperty.13.qml" << "invalidAttachedProperty.13.errors.txt" << false;
+ QTest::newRow("assignValueToSignal") << "assignValueToSignal.qml" << "assignValueToSignal.errors.txt" << false;
QTest::newRow("emptySignal") << "emptySignal.qml" << "emptySignal.errors.txt" << false;
- QTest::newRow("emptySignal.2") << "emptySignal.2.qml" << "emptySignal.2.errors.txt" << false;
QTest::newRow("nestedErrors") << "nestedErrors.qml" << "nestedErrors.errors.txt" << false;
QTest::newRow("defaultGrouped") << "defaultGrouped.qml" << "defaultGrouped.errors.txt" << false;
@@ -536,6 +541,8 @@ void tst_qdeclarativelanguage::assignLiteralToVariant()
QCOMPARE(object->property("test7").userType(), (int)QVariant::SizeF);
QCOMPARE(object->property("test8").userType(), (int)QVariant::Vector3D);
QCOMPARE(object->property("test9").userType(), (int)QVariant::String);
+ QCOMPARE(object->property("test10").userType(), (int)QVariant::Bool);
+ QCOMPARE(object->property("test11").userType(), (int)QVariant::Bool);
QVERIFY(object->property("test1") == QVariant(1));
QVERIFY(object->property("test2") == QVariant((double)1.7));
@@ -546,6 +553,8 @@ void tst_qdeclarativelanguage::assignLiteralToVariant()
QVERIFY(object->property("test7") == QVariant(QSizeF(10, 10)));
QVERIFY(object->property("test8") == QVariant(QVector3D(100, 100, 100)));
QVERIFY(object->property("test9") == QVariant(QString(QLatin1String("#FF008800"))));
+ QVERIFY(object->property("test10") == QVariant(bool(true)));
+ QVERIFY(object->property("test11") == QVariant(bool(false)));
delete object;
}
@@ -679,6 +688,7 @@ void tst_qdeclarativelanguage::listProperties()
// ### Not complete
void tst_qdeclarativelanguage::dynamicObjectProperties()
{
+ {
QDeclarativeComponent component(&engine, TEST_FILE("dynamicObjectProperties.qml"));
VERIFY_ERRORS(0);
QObject *object = component.create();
@@ -686,6 +696,16 @@ void tst_qdeclarativelanguage::dynamicObjectProperties()
QVERIFY(object->property("objectProperty") == qVariantFromValue((QObject*)0));
QVERIFY(object->property("objectProperty2") != qVariantFromValue((QObject*)0));
+ }
+ {
+ QDeclarativeComponent component(&engine, TEST_FILE("dynamicObjectProperties.2.qml"));
+ QEXPECT_FAIL("", "QTBUG-10822", Abort);
+ VERIFY_ERRORS(0);
+ QObject *object = component.create();
+ QVERIFY(object != 0);
+
+ QVERIFY(object->property("objectProperty") != qVariantFromValue((QObject*)0));
+ }
}
// Tests the declaration of dynamic signals and slots
@@ -1101,19 +1121,48 @@ void tst_qdeclarativelanguage::onDestruction()
// Check that assignments to QDeclarativeScriptString properties work
void tst_qdeclarativelanguage::scriptString()
{
- QDeclarativeComponent component(&engine, TEST_FILE("scriptString.qml"));
- VERIFY_ERRORS(0);
+ {
+ QDeclarativeComponent component(&engine, TEST_FILE("scriptString.qml"));
+ VERIFY_ERRORS(0);
- MyTypeObject *object = qobject_cast<MyTypeObject*>(component.create());
- QVERIFY(object != 0);
- QCOMPARE(object->scriptProperty().script(), QString("foo + bar"));
- QCOMPARE(object->scriptProperty().scopeObject(), qobject_cast<QObject*>(object));
- QCOMPARE(object->scriptProperty().context(), qmlContext(object));
-
- QVERIFY(object->grouped() != 0);
- QCOMPARE(object->grouped()->script().script(), QString("console.log(1921)"));
- QCOMPARE(object->grouped()->script().scopeObject(), qobject_cast<QObject*>(object));
- QCOMPARE(object->grouped()->script().context(), qmlContext(object));
+ MyTypeObject *object = qobject_cast<MyTypeObject*>(component.create());
+ QVERIFY(object != 0);
+ QCOMPARE(object->scriptProperty().script(), QString("foo + bar"));
+ QCOMPARE(object->scriptProperty().scopeObject(), qobject_cast<QObject*>(object));
+ QCOMPARE(object->scriptProperty().context(), qmlContext(object));
+
+ QVERIFY(object->grouped() != 0);
+ QCOMPARE(object->grouped()->script().script(), QString("console.log(1921)"));
+ QCOMPARE(object->grouped()->script().scopeObject(), qobject_cast<QObject*>(object));
+ QCOMPARE(object->grouped()->script().context(), qmlContext(object));
+ }
+
+ {
+ QDeclarativeComponent component(&engine, TEST_FILE("scriptString2.qml"));
+ VERIFY_ERRORS(0);
+
+ MyTypeObject *object = qobject_cast<MyTypeObject*>(component.create());
+ QVERIFY(object != 0);
+ QCOMPARE(object->scriptProperty().script(), QString("\"hello\\n\\\"world\\\"\""));
+ }
+
+ {
+ QDeclarativeComponent component(&engine, TEST_FILE("scriptString3.qml"));
+ VERIFY_ERRORS(0);
+
+ MyTypeObject *object = qobject_cast<MyTypeObject*>(component.create());
+ QVERIFY(object != 0);
+ QCOMPARE(object->scriptProperty().script(), QString("12.345"));
+ }
+
+ {
+ QDeclarativeComponent component(&engine, TEST_FILE("scriptString4.qml"));
+ VERIFY_ERRORS(0);
+
+ MyTypeObject *object = qobject_cast<MyTypeObject*>(component.create());
+ QVERIFY(object != 0);
+ QCOMPARE(object->scriptProperty().script(), QString("true"));
+ }
}
// Check that default property assignments are correctly spliced into explicit
diff --git a/tests/auto/declarative/qdeclarativelayoutitem/data/layoutItem.qml b/tests/auto/declarative/qdeclarativelayoutitem/data/layoutItem.qml
new file mode 100644
index 0000000000..ee881a2ddf
--- /dev/null
+++ b/tests/auto/declarative/qdeclarativelayoutitem/data/layoutItem.qml
@@ -0,0 +1,9 @@
+import Qt 4.7
+
+LayoutItem {//Sized by the layout
+ id: resizable
+ objectName: "resizable"
+ minimumSize: "100x100"
+ maximumSize: "300x300"
+ preferredSize: "200x200"
+}
diff --git a/tests/auto/declarative/qdeclarativelayoutitem/qdeclarativelayoutitem.pro b/tests/auto/declarative/qdeclarativelayoutitem/qdeclarativelayoutitem.pro
new file mode 100644
index 0000000000..5076e5150f
--- /dev/null
+++ b/tests/auto/declarative/qdeclarativelayoutitem/qdeclarativelayoutitem.pro
@@ -0,0 +1,13 @@
+load(qttest_p4)
+contains(QT_CONFIG,declarative): QT += declarative gui
+macx:CONFIG -= app_bundle
+
+SOURCES += tst_qdeclarativelayoutitem.cpp
+
+symbian: {
+ importFiles.sources = data
+ importFiles.path = .
+ DEPLOYMENT = importFiles
+} else {
+ DEFINES += SRCDIR=\\\"$$PWD\\\"
+}
diff --git a/tests/auto/declarative/qdeclarativelayoutitem/tst_qdeclarativelayoutitem.cpp b/tests/auto/declarative/qdeclarativelayoutitem/tst_qdeclarativelayoutitem.cpp
new file mode 100644
index 0000000000..bbdba74a82
--- /dev/null
+++ b/tests/auto/declarative/qdeclarativelayoutitem/tst_qdeclarativelayoutitem.cpp
@@ -0,0 +1,120 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the test suite of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+#include <QtTest/QtTest>
+#include <qdeclarativecomponent.h>
+#include <qdeclarativeengine.h>
+#include <qdeclarativeitem.h>
+#include <private/qdeclarativelayoutitem_p.h>
+#include <qgraphicsview.h>
+#include <qgraphicsscene.h>
+#include <qgraphicswidget.h>
+#include <qgraphicslinearlayout.h>
+#include "../../../shared/util.h"
+
+#ifdef Q_OS_SYMBIAN
+// In Symbian OS test data is located in applications private dir
+#define SRCDIR "."
+#endif
+
+class tst_qdeclarativelayoutitem : public QObject
+{
+ Q_OBJECT
+public:
+ tst_qdeclarativelayoutitem();
+
+private slots:
+ void test_resizing();
+};
+
+tst_qdeclarativelayoutitem::tst_qdeclarativelayoutitem()
+{
+}
+
+void tst_qdeclarativelayoutitem::test_resizing()
+{
+ //Create Layout (must be done in C++)
+ QGraphicsView view;
+ QGraphicsScene scene;
+ QGraphicsWidget *widget = new QGraphicsWidget();
+ QGraphicsLinearLayout *layout = new QGraphicsLinearLayout();
+ widget->setLayout(layout);
+ scene.addItem(widget);
+ view.setScene(&scene);
+ //Add the QML snippet into the layout
+ QDeclarativeEngine engine;
+ QDeclarativeComponent c(&engine, QUrl::fromLocalFile(SRCDIR "/data/layoutItem.qml"));
+ QDeclarativeLayoutItem* obj = static_cast<QDeclarativeLayoutItem*>(c.create());
+ layout->addItem(obj);
+ layout->setContentsMargins(0,0,0,0);
+ widget->setContentsMargins(0,0,0,0);
+ view.show();
+
+ QVERIFY(obj!= 0);
+
+ widget->setGeometry(QRectF(0,0, 400,400));
+ QCOMPARE(obj->width(), 300.0);
+ QCOMPARE(obj->height(), 300.0);
+
+ widget->setGeometry(QRectF(0,0, 300,300));
+ QCOMPARE(obj->width(), 300.0);
+ QCOMPARE(obj->height(), 300.0);
+
+ widget->setGeometry(QRectF(0,0, 200,200));
+ QCOMPARE(obj->width(), 200.0);
+ QCOMPARE(obj->height(), 200.0);
+
+ widget->setGeometry(QRectF(0,0, 100,100));
+ QCOMPARE(obj->width(), 100.0);
+ QCOMPARE(obj->height(), 100.0);
+
+ widget->setGeometry(QRectF(0,0, 40,40));
+ QCOMPARE(obj->width(), 100.0);
+ QCOMPARE(obj->height(), 100.0);
+
+ widget->setGeometry(QRectF(0,0, 412,112));
+ QCOMPARE(obj->width(), 300.0);
+ QCOMPARE(obj->height(), 112.0);
+}
+
+
+QTEST_MAIN(tst_qdeclarativelayoutitem)
+
+#include "tst_qdeclarativelayoutitem.moc"
diff --git a/tests/auto/declarative/qdeclarativelayouts/data/layouts.qml b/tests/auto/declarative/qdeclarativelayouts/data/layouts.qml
deleted file mode 100644
index 05387387d8..0000000000
--- a/tests/auto/declarative/qdeclarativelayouts/data/layouts.qml
+++ /dev/null
@@ -1,31 +0,0 @@
-import Qt 4.7
-import Qt.widgets 4.7
-
-Item {
- id: resizable
- width:300
- height:300
- QGraphicsWidget {
- x : resizable.x
- y : resizable.y
- width : resizable.width
- height : resizable.height
- layout: QGraphicsLinearLayout {
- spacing: 0
- LayoutItem {
- objectName: "left"
- minimumSize: "100x100"
- maximumSize: "300x300"
- preferredSize: "100x100"
- Rectangle { objectName: "yellowRect"; color: "yellow"; anchors.fill: parent }
- }
- LayoutItem {
- objectName: "right"
- minimumSize: "100x100"
- maximumSize: "400x400"
- preferredSize: "200x200"
- Rectangle { objectName: "greenRect"; color: "green"; anchors.fill: parent }
- }
- }
- }
-}
diff --git a/tests/auto/declarative/qdeclarativelayouts/qdeclarativelayouts.pro b/tests/auto/declarative/qdeclarativelayouts/qdeclarativelayouts.pro
deleted file mode 100644
index a2065f4cb6..0000000000
--- a/tests/auto/declarative/qdeclarativelayouts/qdeclarativelayouts.pro
+++ /dev/null
@@ -1,10 +0,0 @@
-load(qttest_p4)
-contains(QT_CONFIG,declarative): QT += declarative
-SOURCES += tst_qdeclarativelayouts.cpp
-macx:CONFIG -= app_bundle
-
-# Define SRCDIR equal to test's source directory
-DEFINES += SRCDIR=\\\"$$PWD\\\"
-
-CONFIG += parallel_test
-
diff --git a/tests/auto/declarative/qdeclarativelayouts/tst_qdeclarativelayouts.cpp b/tests/auto/declarative/qdeclarativelayouts/tst_qdeclarativelayouts.cpp
deleted file mode 100644
index 412c3b754b..0000000000
--- a/tests/auto/declarative/qdeclarativelayouts/tst_qdeclarativelayouts.cpp
+++ /dev/null
@@ -1,147 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the test suite of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-#include <QtTest/QtTest>
-#include <private/qlistmodelinterface_p.h>
-#include <qdeclarativeview.h>
-#include <private/qdeclarativelayoutitem_p.h>
-#include <qdeclarativeexpression.h>
-#include <QStyle>
-
-class tst_QDeclarativeLayouts : public QObject
-{
- Q_OBJECT
-public:
- tst_QDeclarativeLayouts();
-
-private slots:
- void test_qml();//GraphicsLayout set up in Qml
- void test_cpp();//GraphicsLayout set up in C++
-
-private:
- QDeclarativeView *createView(const QString &filename);
-};
-
-tst_QDeclarativeLayouts::tst_QDeclarativeLayouts()
-{
-}
-
-void tst_QDeclarativeLayouts::test_qml()
-{
- QDeclarativeView *canvas = createView(SRCDIR "/data/layouts.qml");
-
- qApp->processEvents();
- QDeclarativeLayoutItem *left = static_cast<QDeclarativeLayoutItem*>(canvas->rootObject()->findChild<QDeclarativeItem*>("left"));
- QVERIFY(left != 0);
-
- QDeclarativeLayoutItem *right = static_cast<QDeclarativeLayoutItem*>(canvas->rootObject()->findChild<QDeclarativeItem*>("right"));
- QVERIFY(right != 0);
-
- qreal l = QApplication::style()->pixelMetric(QStyle::PM_LayoutLeftMargin);
- qreal r = QApplication::style()->pixelMetric(QStyle::PM_LayoutRightMargin);
- qreal t = QApplication::style()->pixelMetric(QStyle::PM_LayoutTopMargin);
- qreal b = QApplication::style()->pixelMetric(QStyle::PM_LayoutBottomMargin);
- QVERIFY2(l == r && r == t && t == b, "Test assumes equal margins.");
- qreal gvMargin = l;
-
- QDeclarativeItem *rootItem = qobject_cast<QDeclarativeItem*>(canvas->rootObject());
- QVERIFY(rootItem != 0);
-
- //Preferred Size
- rootItem->setWidth(300 + 2*gvMargin);
- rootItem->setHeight(300 + 2*gvMargin);
-
- QCOMPARE(left->x(), gvMargin);
- QCOMPARE(left->y(), gvMargin);
- QCOMPARE(left->width(), 100.0);
- QCOMPARE(left->height(), 300.0);
-
- QCOMPARE(right->x(), 100.0 + gvMargin);
- QCOMPARE(right->y(), 0.0 + gvMargin);
- QCOMPARE(right->width(), 200.0);
- QCOMPARE(right->height(), 300.0);
-
- //Minimum Size
- rootItem->setWidth(10+2*gvMargin);
- rootItem->setHeight(10+2*gvMargin);
-
- QCOMPARE(left->x(), gvMargin);
- QCOMPARE(left->width(), 100.0);
- QCOMPARE(left->height(), 100.0);
-
- QCOMPARE(right->x(), 100.0 + gvMargin);
- QCOMPARE(right->width(), 100.0);
- QCOMPARE(right->height(), 100.0);
-
- //Between preferred and Maximum Size
- /*Note that if set to maximum size (or above) GraphicsLinearLayout behavior
- is to shrink them down to preferred size. So the exact maximum size can't
- be used*/
- rootItem->setWidth(670 + 2*gvMargin);
- rootItem->setHeight(300 + 2*gvMargin);
-
- QCOMPARE(left->x(), gvMargin);
- QCOMPARE(left->width(), 270.0);
- QCOMPARE(left->height(), 300.0);
-
- QCOMPARE(right->x(), 270.0 + gvMargin);
- QCOMPARE(right->width(), 400.0);
- QCOMPARE(right->height(), 300.0);
-
- delete canvas;
-}
-
-void tst_QDeclarativeLayouts::test_cpp()
-{
- //TODO: This test!
-}
-
-QDeclarativeView *tst_QDeclarativeLayouts::createView(const QString &filename)
-{
- QDeclarativeView *canvas = new QDeclarativeView(0);
- canvas->setSource(QUrl::fromLocalFile(filename));
-
- return canvas;
-}
-
-
-QTEST_MAIN(tst_QDeclarativeLayouts)
-
-#include "tst_qdeclarativelayouts.moc"
diff --git a/tests/auto/declarative/qdeclarativelistmodel/qdeclarativelistmodel.pro b/tests/auto/declarative/qdeclarativelistmodel/qdeclarativelistmodel.pro
index 9f1e146627..e90db499ce 100644
--- a/tests/auto/declarative/qdeclarativelistmodel/qdeclarativelistmodel.pro
+++ b/tests/auto/declarative/qdeclarativelistmodel/qdeclarativelistmodel.pro
@@ -5,8 +5,13 @@ macx:CONFIG -= app_bundle
SOURCES += tst_qdeclarativelistmodel.cpp
-# Define SRCDIR equal to test's source directory
-DEFINES += SRCDIR=\\\"$$PWD\\\"
+symbian: {
+ importFiles.sources = data
+ importFiles.path = .
+ DEPLOYMENT = importFiles
+} else {
+ DEFINES += SRCDIR=\\\"$$PWD\\\"
+}
CONFIG += parallel_test
diff --git a/tests/auto/declarative/qdeclarativelistmodel/tst_qdeclarativelistmodel.cpp b/tests/auto/declarative/qdeclarativelistmodel/tst_qdeclarativelistmodel.cpp
index ec9746145b..b3b6c2067c 100644
--- a/tests/auto/declarative/qdeclarativelistmodel/tst_qdeclarativelistmodel.cpp
+++ b/tests/auto/declarative/qdeclarativelistmodel/tst_qdeclarativelistmodel.cpp
@@ -51,6 +51,11 @@
#include "../../../shared/util.h"
+#ifdef Q_OS_SYMBIAN
+// In Symbian OS test data is located in applications private dir
+#define SRCDIR "."
+#endif
+
class tst_qdeclarativelistmodel : public QObject
{
Q_OBJECT
@@ -184,8 +189,8 @@ void tst_qdeclarativelistmodel::dynamic_data()
QTest::newRow("count") << "count" << 0 << "";
- QTest::newRow("get1") << "{get(0)}" << 0 << "<Unknown File>: QML ListModel: get: index 0 out of range";
- QTest::newRow("get2") << "{get(-1)}" << 0 << "<Unknown File>: QML ListModel: get: index -1 out of range";
+ QTest::newRow("get1") << "{get(0)}" << 0 << "";
+ QTest::newRow("get2") << "{get(-1)}" << 0 << "";
QTest::newRow("append1") << "{append({'foo':123});count}" << 1 << "";
QTest::newRow("append2") << "{append({'foo':123,'bar':456});count}" << 1 << "";
@@ -196,13 +201,13 @@ void tst_qdeclarativelistmodel::dynamic_data()
QTest::newRow("clear1") << "{append({'foo':456});clear();count}" << 0 << "";
QTest::newRow("clear2") << "{append({'foo':123});append({'foo':456});clear();count}" << 0 << "";
- QTest::newRow("clear3") << "{append({'foo':123});clear();get(0).foo}" << 0 << "<Unknown File>: QML ListModel: get: index 0 out of range";
+ QTest::newRow("clear3") << "{append({'foo':123});clear()}" << 0 << "";
QTest::newRow("remove1") << "{append({'foo':123});remove(0);count}" << 0 << "";
QTest::newRow("remove2a") << "{append({'foo':123});append({'foo':456});remove(0);count}" << 1 << "";
QTest::newRow("remove2b") << "{append({'foo':123});append({'foo':456});remove(0);get(0).foo}" << 456 << "";
QTest::newRow("remove2c") << "{append({'foo':123});append({'foo':456});remove(1);get(0).foo}" << 123 << "";
- QTest::newRow("remove3") << "{append({'foo':123});remove(0);get(0).foo}" << 0 << "<Unknown File>: QML ListModel: get: index 0 out of range";
+ QTest::newRow("remove3") << "{append({'foo':123});remove(0)}" << 0 << "";
QTest::newRow("remove3a") << "{append({'foo':123});remove(-1);count}" << 1 << "<Unknown File>: QML ListModel: remove: index -1 out of range";
QTest::newRow("remove4a") << "{remove(0)}" << 0 << "<Unknown File>: QML ListModel: remove: index 0 out of range";
QTest::newRow("remove4b") << "{append({'foo':123});remove(0);remove(0);count}" << 0 << "<Unknown File>: QML ListModel: remove: index 0 out of range";
@@ -275,14 +280,16 @@ void tst_qdeclarativelistmodel::dynamic()
QDeclarativeListModel model;
QDeclarativeEngine::setContextForObject(&model,engine.rootContext());
engine.rootContext()->setContextObject(&model);
- QDeclarativeExpression e(engine.rootContext(), script, &model);
+ QDeclarativeExpression e(engine.rootContext(), &model, script);
if (!warning.isEmpty())
QTest::ignoreMessage(QtWarningMsg, warning.toLatin1());
int actual = e.evaluate().toInt();
if (e.hasError())
qDebug() << e.error(); // errors not expected
- QVERIFY(!e.hasError());
+
+ if (QTest::currentDataTag() != QLatin1String("clear3") && QTest::currentDataTag() != QLatin1String("remove3"))
+ QVERIFY(!e.hasError());
QCOMPARE(actual,result);
}
@@ -326,17 +333,11 @@ void tst_qdeclarativelistmodel::dynamic_worker()
if (QByteArray(QTest::currentDataTag()).startsWith("nested"))
QTest::ignoreMessage(QtWarningMsg, "<Unknown File>: QML ListModel: Cannot add nested list values when modifying or after modification from a worker script");
- if (QByteArray(QTest::currentDataTag()).startsWith("nested-append")) {
- int callsToGet = script.count(QLatin1String(";get("));
- for (int i=0; i<callsToGet; i++)
- QTest::ignoreMessage(QtWarningMsg, "<Unknown File>: QML ListModel: get: index 0 out of range");
- }
-
QVERIFY(QMetaObject::invokeMethod(item, "evalExpressionViaWorker",
Q_ARG(QVariant, operations.mid(0, operations.length()-1))));
waitForWorker(item);
- QDeclarativeExpression e(eng.rootContext(), operations.last().toString(), &model);
+ QDeclarativeExpression e(eng.rootContext(), &model, operations.last().toString());
if (QByteArray(QTest::currentDataTag()).startsWith("nested"))
QVERIFY(e.evaluate().toInt() != result);
else
diff --git a/tests/auto/declarative/qdeclarativelistview/data/manual-highlight.qml b/tests/auto/declarative/qdeclarativelistview/data/manual-highlight.qml
new file mode 100644
index 0000000000..4913ebe97d
--- /dev/null
+++ b/tests/auto/declarative/qdeclarativelistview/data/manual-highlight.qml
@@ -0,0 +1,47 @@
+import Qt 4.7
+
+Item {
+
+ ListModel {
+ id: model
+ ListElement {
+ name: "Bill Smith"
+ number: "555 3264"
+ }
+ ListElement {
+ name: "John Brown"
+ number: "555 8426"
+ }
+ ListElement {
+ name: "Sam Wise"
+ number: "555 0473"
+ }
+ ListElement {
+ name: "Bob Brown"
+ number: "555 5845"
+ }
+ }
+
+ Component {
+ id: highlight
+ Rectangle {
+ objectName: "highlight"
+ width: 180; height: 20
+ color: "lightsteelblue"; radius: 5
+ y: list.currentItem.y
+ }
+ }
+
+ ListView {
+ id: list
+ objectName: "list"
+ anchors.fill: parent
+ model: model
+ delegate: Text { objectName: "wrapper"; text: name }
+
+ highlight: highlight
+ highlightFollowsCurrentItem: false
+ focus: true
+ }
+
+}
diff --git a/tests/auto/declarative/qdeclarativelistview/qdeclarativelistview.pro b/tests/auto/declarative/qdeclarativelistview/qdeclarativelistview.pro
index 5d962c0b10..2c5a859b1e 100644
--- a/tests/auto/declarative/qdeclarativelistview/qdeclarativelistview.pro
+++ b/tests/auto/declarative/qdeclarativelistview/qdeclarativelistview.pro
@@ -4,7 +4,12 @@ macx:CONFIG -= app_bundle
SOURCES += tst_qdeclarativelistview.cpp
-# Define SRCDIR equal to test's source directory
-DEFINES += SRCDIR=\\\"$$PWD\\\"
+symbian: {
+ importFiles.sources = data
+ importFiles.path = .
+ DEPLOYMENT = importFiles
+} else {
+ DEFINES += SRCDIR=\\\"$$PWD\\\"
+}
CONFIG += parallel_test
diff --git a/tests/auto/declarative/qdeclarativelistview/tst_qdeclarativelistview.cpp b/tests/auto/declarative/qdeclarativelistview/tst_qdeclarativelistview.cpp
index 22eb734c25..cd42b63a05 100644
--- a/tests/auto/declarative/qdeclarativelistview/tst_qdeclarativelistview.cpp
+++ b/tests/auto/declarative/qdeclarativelistview/tst_qdeclarativelistview.cpp
@@ -52,6 +52,11 @@
#include <QtDeclarative/private/qlistmodelinterface_p.h>
#include "../../../shared/util.h"
+#ifdef Q_OS_SYMBIAN
+// In Symbian OS test data is located in applications private dir
+#define SRCDIR "."
+#endif
+
class tst_QDeclarativeListView : public QObject
{
Q_OBJECT
@@ -90,6 +95,8 @@ private slots:
void componentChanges();
void modelChanges();
void QTBUG_9791();
+ void manualHighlight();
+ void QTBUG_11105();
private:
template <class T> void items();
@@ -800,6 +807,14 @@ void tst_QDeclarativeListView::enforceRange()
QTRY_COMPARE(listview->currentIndex(), 6);
+ // change model
+ TestModel model2;
+ for (int i = 0; i < 5; i++)
+ model2.addItem("Item" + QString::number(i), "");
+
+ ctxt->setContextProperty("testModel", &model2);
+ QCOMPARE(listview->count(), 5);
+
delete canvas;
}
@@ -1432,8 +1447,6 @@ void tst_QDeclarativeListView::QTBUG_9791()
{
QDeclarativeView *canvas = createView();
- QDeclarativeContext *ctxt = canvas->rootContext();
-
canvas->setSource(QUrl::fromLocalFile(SRCDIR "/data/strictlyenforcerange.qml"));
qApp->processEvents();
@@ -1465,6 +1478,81 @@ void tst_QDeclarativeListView::QTBUG_9791()
delete canvas;
}
+void tst_QDeclarativeListView::manualHighlight()
+{
+ QDeclarativeView *canvas = new QDeclarativeView(0);
+ canvas->setFixedSize(240,320);
+
+ QDeclarativeContext *ctxt = canvas->rootContext();
+
+ QString filename(SRCDIR "/data/manual-highlight.qml");
+ canvas->setSource(QUrl::fromLocalFile(filename));
+
+ qApp->processEvents();
+
+ QDeclarativeListView *listview = findItem<QDeclarativeListView>(canvas->rootObject(), "list");
+ QTRY_VERIFY(listview != 0);
+
+ QDeclarativeItem *viewport = listview->viewport();
+ QTRY_VERIFY(viewport != 0);
+
+ QTRY_COMPARE(listview->currentIndex(), 0);
+ QTRY_COMPARE(listview->currentItem(), findItem<QDeclarativeItem>(viewport, "wrapper", 0));
+ QTRY_COMPARE(listview->highlightItem()->y(), listview->currentItem()->y());
+
+ listview->setCurrentIndex(2);
+
+ QTRY_COMPARE(listview->currentIndex(), 2);
+ QTRY_COMPARE(listview->currentItem(), findItem<QDeclarativeItem>(viewport, "wrapper", 2));
+ QTRY_COMPARE(listview->highlightItem()->y(), listview->currentItem()->y());
+}
+
+void tst_QDeclarativeListView::QTBUG_11105()
+{
+ QDeclarativeView *canvas = createView();
+
+ TestModel model;
+ for (int i = 0; i < 30; i++)
+ model.addItem("Item" + QString::number(i), "");
+
+ QDeclarativeContext *ctxt = canvas->rootContext();
+ ctxt->setContextProperty("testModel", &model);
+
+ TestObject *testObject = new TestObject;
+ ctxt->setContextProperty("testObject", testObject);
+
+ canvas->setSource(QUrl::fromLocalFile(SRCDIR "/data/listviewtest.qml"));
+ qApp->processEvents();
+
+ QDeclarativeListView *listview = findItem<QDeclarativeListView>(canvas->rootObject(), "list");
+ QTRY_VERIFY(listview != 0);
+
+ QDeclarativeItem *viewport = listview->viewport();
+ QTRY_VERIFY(viewport != 0);
+
+ // Confirm items positioned correctly
+ int itemCount = findItems<QDeclarativeItem>(viewport, "wrapper").count();
+ for (int i = 0; i < model.count() && i < itemCount; ++i) {
+ QDeclarativeItem *item = findItem<QDeclarativeItem>(viewport, "wrapper", i);
+ if (!item) qWarning() << "Item" << i << "not found";
+ QTRY_VERIFY(item);
+ QTRY_VERIFY(item->y() == i*20);
+ }
+
+ listview->positionViewAtIndex(20, QDeclarativeListView::Beginning);
+ QCOMPARE(listview->contentY(), 280.);
+
+ TestModel model2;
+ for (int i = 0; i < 5; i++)
+ model2.addItem("Item" + QString::number(i), "");
+
+ ctxt->setContextProperty("testModel", &model2);
+
+ itemCount = findItems<QDeclarativeItem>(viewport, "wrapper").count();
+ QCOMPARE(itemCount, 5);
+
+ delete canvas;
+}
void tst_QDeclarativeListView::qListModelInterface_items()
{
@@ -1552,7 +1640,7 @@ T *tst_QDeclarativeListView::findItem(QGraphicsObject *parent, const QString &ob
//qDebug() << "try" << item;
if (mo.cast(item) && (objectName.isEmpty() || item->objectName() == objectName)) {
if (index != -1) {
- QDeclarativeExpression e(qmlContext(item), "index", item);
+ QDeclarativeExpression e(qmlContext(item), item, "index");
if (e.evaluate().toInt() == index)
return static_cast<T*>(item);
} else {
diff --git a/tests/auto/declarative/qdeclarativeloader/data/AnchoredLoader.qml b/tests/auto/declarative/qdeclarativeloader/data/AnchoredLoader.qml
new file mode 100644
index 0000000000..5d02dae78d
--- /dev/null
+++ b/tests/auto/declarative/qdeclarativeloader/data/AnchoredLoader.qml
@@ -0,0 +1,14 @@
+import Qt 4.7
+
+Rectangle {
+ width: 300
+ height: 200
+ color: "blue"
+ Loader {
+ objectName: "loader"
+ anchors.fill: parent
+ sourceComponent: Component {
+ Rectangle { color: "red"; objectName: "sourceElement" }
+ }
+ }
+}
diff --git a/tests/auto/declarative/qdeclarativeloader/data/GraphicsWidget250x250.qml b/tests/auto/declarative/qdeclarativeloader/data/GraphicsWidget250x250.qml
index 9bb0b378dd..3b851c1338 100644
--- a/tests/auto/declarative/qdeclarativeloader/data/GraphicsWidget250x250.qml
+++ b/tests/auto/declarative/qdeclarativeloader/data/GraphicsWidget250x250.qml
@@ -1,5 +1,4 @@
import Qt 4.7
-import Qt.widgets 4.6
QGraphicsWidget {
size: "250x250"
diff --git a/tests/auto/declarative/qdeclarativeloader/data/NoResize.qml b/tests/auto/declarative/qdeclarativeloader/data/NoResize.qml
index 6aa3d2fe33..72cd3b9f0e 100644
--- a/tests/auto/declarative/qdeclarativeloader/data/NoResize.qml
+++ b/tests/auto/declarative/qdeclarativeloader/data/NoResize.qml
@@ -1,7 +1,8 @@
import Qt 4.7
-Loader {
- resizeMode: "NoResize"
+Item {
width: 200; height: 80
- source: "Rect120x60.qml"
+ Loader {
+ source: "Rect120x60.qml"
+ }
}
diff --git a/tests/auto/declarative/qdeclarativeloader/data/NoResizeGraphicsWidget.qml b/tests/auto/declarative/qdeclarativeloader/data/NoResizeGraphicsWidget.qml
index 9322141ad7..0cff50643b 100644
--- a/tests/auto/declarative/qdeclarativeloader/data/NoResizeGraphicsWidget.qml
+++ b/tests/auto/declarative/qdeclarativeloader/data/NoResizeGraphicsWidget.qml
@@ -1,8 +1,9 @@
import Qt 4.7
-Loader {
- resizeMode: Loader.NoResize
- source: "GraphicsWidget250x250.qml"
+Item {
width: 200
- height: 80
+ height: 80
+ Loader {
+ source: "GraphicsWidget250x250.qml"
+ }
}
diff --git a/tests/auto/declarative/qdeclarativeloader/data/SizeGraphicsWidgetToLoader.qml b/tests/auto/declarative/qdeclarativeloader/data/SizeGraphicsWidgetToLoader.qml
index 0cfb4df244..81610ad3c7 100644
--- a/tests/auto/declarative/qdeclarativeloader/data/SizeGraphicsWidgetToLoader.qml
+++ b/tests/auto/declarative/qdeclarativeloader/data/SizeGraphicsWidgetToLoader.qml
@@ -1,7 +1,6 @@
import Qt 4.7
Loader {
- resizeMode: Loader.SizeItemToLoader
width: 200
height: 80
source: "GraphicsWidget250x250.qml"
diff --git a/tests/auto/declarative/qdeclarativeloader/data/SizeLoaderToGraphicsWidget.qml b/tests/auto/declarative/qdeclarativeloader/data/SizeLoaderToGraphicsWidget.qml
index b588c9dc09..a801a42d03 100644
--- a/tests/auto/declarative/qdeclarativeloader/data/SizeLoaderToGraphicsWidget.qml
+++ b/tests/auto/declarative/qdeclarativeloader/data/SizeLoaderToGraphicsWidget.qml
@@ -1,6 +1,5 @@
import Qt 4.7
Loader {
- resizeMode: Loader.SizeLoaderToItem
source: "GraphicsWidget250x250.qml"
}
diff --git a/tests/auto/declarative/qdeclarativeloader/data/SizeToItem.qml b/tests/auto/declarative/qdeclarativeloader/data/SizeToItem.qml
index 93be6f17cb..77aa8d9f78 100644
--- a/tests/auto/declarative/qdeclarativeloader/data/SizeToItem.qml
+++ b/tests/auto/declarative/qdeclarativeloader/data/SizeToItem.qml
@@ -1,6 +1,5 @@
import Qt 4.7
Loader {
- resizeMode: "SizeLoaderToItem"
source: "Rect120x60.qml"
}
diff --git a/tests/auto/declarative/qdeclarativeloader/data/SizeToLoader.qml b/tests/auto/declarative/qdeclarativeloader/data/SizeToLoader.qml
index 04b46fb0e6..0098927736 100644
--- a/tests/auto/declarative/qdeclarativeloader/data/SizeToLoader.qml
+++ b/tests/auto/declarative/qdeclarativeloader/data/SizeToLoader.qml
@@ -1,7 +1,6 @@
import Qt 4.7
Loader {
- resizeMode: "SizeItemToLoader"
width: 200; height: 80
source: "Rect120x60.qml"
}
diff --git a/tests/auto/declarative/qdeclarativeloader/qdeclarativeloader.pro b/tests/auto/declarative/qdeclarativeloader/qdeclarativeloader.pro
index 96fea5b999..b07bf9e903 100644
--- a/tests/auto/declarative/qdeclarativeloader/qdeclarativeloader.pro
+++ b/tests/auto/declarative/qdeclarativeloader/qdeclarativeloader.pro
@@ -7,7 +7,13 @@ HEADERS += ../shared/testhttpserver.h
SOURCES += tst_qdeclarativeloader.cpp \
../shared/testhttpserver.cpp
-DEFINES += SRCDIR=\\\"$$PWD\\\"
+symbian: {
+ importFiles.sources = data
+ importFiles.path = .
+ DEPLOYMENT = importFiles
+} else {
+ DEFINES += SRCDIR=\\\"$$PWD\\\"
+}
CONFIG += parallel_test
diff --git a/tests/auto/declarative/qdeclarativeloader/tst_qdeclarativeloader.cpp b/tests/auto/declarative/qdeclarativeloader/tst_qdeclarativeloader.cpp
index 7cdadb4276..d047a2a0df 100644
--- a/tests/auto/declarative/qdeclarativeloader/tst_qdeclarativeloader.cpp
+++ b/tests/auto/declarative/qdeclarativeloader/tst_qdeclarativeloader.cpp
@@ -50,6 +50,11 @@
#define SERVER_PORT 14450
+#ifdef Q_OS_SYMBIAN
+// In Symbian OS test data is located in applications private dir
+#define SRCDIR "."
+#endif
+
inline QUrl TEST_FILE(const QString &filename)
{
return QUrl::fromLocalFile(QLatin1String(SRCDIR) + QLatin1String("/data/") + filename);
@@ -78,6 +83,7 @@ private slots:
void clear();
void urlToComponent();
void componentToUrl();
+ void anchoredLoader();
void sizeLoaderToItem();
void sizeItemToLoader();
void noResize();
@@ -104,13 +110,14 @@ tst_QDeclarativeLoader::tst_QDeclarativeLoader()
void tst_QDeclarativeLoader::url()
{
QDeclarativeComponent component(&engine);
- component.setData(QByteArray("import Qt 4.7\nLoader { source: \"Rect120x60.qml\" }"), TEST_FILE(""));
+ component.setData(QByteArray("import Qt 4.7\nLoader { property int did_load: 0; onLoaded: did_load=123; source: \"Rect120x60.qml\" }"), TEST_FILE(""));
QDeclarativeLoader *loader = qobject_cast<QDeclarativeLoader*>(component.create());
QVERIFY(loader != 0);
QVERIFY(loader->item());
QVERIFY(loader->source() == QUrl::fromLocalFile(SRCDIR "/data/Rect120x60.qml"));
QCOMPARE(loader->progress(), 1.0);
QCOMPARE(loader->status(), QDeclarativeLoader::Ready);
+ QCOMPARE(loader->property("did_load").toInt(), 123);
QCOMPARE(static_cast<QGraphicsItem*>(loader)->children().count(), 1);
delete loader;
@@ -265,12 +272,32 @@ void tst_QDeclarativeLoader::componentToUrl()
delete item;
}
+void tst_QDeclarativeLoader::anchoredLoader()
+{
+ QDeclarativeComponent component(&engine, TEST_FILE("/AnchoredLoader.qml"));
+ QDeclarativeItem *rootItem = qobject_cast<QDeclarativeItem*>(component.create());
+ QVERIFY(rootItem != 0);
+ QDeclarativeItem *loader = rootItem->findChild<QDeclarativeItem*>("loader");
+ QDeclarativeItem *sourceElement = rootItem->findChild<QDeclarativeItem*>("sourceElement");
+
+ QVERIFY(loader != 0);
+ QVERIFY(sourceElement != 0);
+
+ QCOMPARE(rootItem->width(), 300.0);
+ QCOMPARE(rootItem->height(), 200.0);
+
+ QCOMPARE(loader->width(), 300.0);
+ QCOMPARE(loader->height(), 200.0);
+
+ QCOMPARE(sourceElement->width(), 300.0);
+ QCOMPARE(sourceElement->height(), 200.0);
+}
+
void tst_QDeclarativeLoader::sizeLoaderToItem()
{
QDeclarativeComponent component(&engine, TEST_FILE("/SizeToItem.qml"));
QDeclarativeLoader *loader = qobject_cast<QDeclarativeLoader*>(component.create());
QVERIFY(loader != 0);
- QVERIFY(loader->resizeMode() == QDeclarativeLoader::SizeLoaderToItem);
QCOMPARE(loader->width(), 120.0);
QCOMPARE(loader->height(), 60.0);
@@ -282,20 +309,28 @@ void tst_QDeclarativeLoader::sizeLoaderToItem()
QCOMPARE(loader->width(), 150.0);
QCOMPARE(loader->height(), 45.0);
+ // Check explicit width
+ loader->setWidth(200.0);
+ QCOMPARE(loader->width(), 200.0);
+ QCOMPARE(rect->width(), 200.0);
+ rect->setWidth(100.0); // when rect changes ...
+ QCOMPARE(rect->width(), 100.0); // ... it changes
+ QCOMPARE(loader->width(), 200.0); // ... but loader stays the same
+
+ // Check explicit height
+ loader->setHeight(200.0);
+ QCOMPARE(loader->height(), 200.0);
+ QCOMPARE(rect->height(), 200.0);
+ rect->setHeight(100.0); // when rect changes ...
+ QCOMPARE(rect->height(), 100.0); // ... it changes
+ QCOMPARE(loader->height(), 200.0); // ... but loader stays the same
+
// Switch mode
- loader->setResizeMode(QDeclarativeLoader::SizeItemToLoader);
loader->setWidth(180);
loader->setHeight(30);
QCOMPARE(rect->width(), 180.0);
QCOMPARE(rect->height(), 30.0);
- // notify
- QSignalSpy spy(loader, SIGNAL(resizeModeChanged()));
- loader->setResizeMode(QDeclarativeLoader::NoResize);
- QCOMPARE(spy.count(),1);
- loader->setResizeMode(QDeclarativeLoader::NoResize);
- QCOMPARE(spy.count(),1);
-
delete loader;
}
@@ -304,7 +339,6 @@ void tst_QDeclarativeLoader::sizeItemToLoader()
QDeclarativeComponent component(&engine, TEST_FILE("/SizeToLoader.qml"));
QDeclarativeLoader *loader = qobject_cast<QDeclarativeLoader*>(component.create());
QVERIFY(loader != 0);
- QVERIFY(loader->resizeMode() == QDeclarativeLoader::SizeItemToLoader);
QCOMPARE(loader->width(), 200.0);
QCOMPARE(loader->height(), 80.0);
@@ -320,7 +354,8 @@ void tst_QDeclarativeLoader::sizeItemToLoader()
QCOMPARE(rect->height(), 30.0);
// Switch mode
- loader->setResizeMode(QDeclarativeLoader::SizeLoaderToItem);
+ loader->resetWidth(); // reset explicit size
+ loader->resetHeight();
rect->setWidth(160);
rect->setHeight(45);
QCOMPARE(loader->width(), 160.0);
@@ -332,17 +367,12 @@ void tst_QDeclarativeLoader::sizeItemToLoader()
void tst_QDeclarativeLoader::noResize()
{
QDeclarativeComponent component(&engine, TEST_FILE("/NoResize.qml"));
- QDeclarativeLoader *loader = qobject_cast<QDeclarativeLoader*>(component.create());
- QVERIFY(loader != 0);
- QCOMPARE(loader->width(), 200.0);
- QCOMPARE(loader->height(), 80.0);
+ QDeclarativeItem* item = qobject_cast<QDeclarativeItem*>(component.create());
+ QVERIFY(item != 0);
+ QCOMPARE(item->width(), 200.0);
+ QCOMPARE(item->height(), 80.0);
- QDeclarativeItem *rect = qobject_cast<QDeclarativeItem*>(loader->item());
- QVERIFY(rect);
- QCOMPARE(rect->width(), 120.0);
- QCOMPARE(rect->height(), 60.0);
-
- delete loader;
+ delete item;
}
void tst_QDeclarativeLoader::sizeLoaderToGraphicsWidget()
@@ -353,7 +383,6 @@ void tst_QDeclarativeLoader::sizeLoaderToGraphicsWidget()
scene.addItem(loader);
QVERIFY(loader != 0);
- QVERIFY(loader->resizeMode() == QDeclarativeLoader::SizeLoaderToItem);
QCOMPARE(loader->width(), 250.0);
QCOMPARE(loader->height(), 250.0);
@@ -365,7 +394,6 @@ void tst_QDeclarativeLoader::sizeLoaderToGraphicsWidget()
QCOMPARE(loader->height(), 45.0);
// Switch mode
- loader->setResizeMode(QDeclarativeLoader::SizeItemToLoader);
loader->setWidth(180);
loader->setHeight(30);
QCOMPARE(widget->size().width(), 180.0);
@@ -382,7 +410,6 @@ void tst_QDeclarativeLoader::sizeGraphicsWidgetToLoader()
scene.addItem(loader);
QVERIFY(loader != 0);
- QVERIFY(loader->resizeMode() == QDeclarativeLoader::SizeItemToLoader);
QCOMPARE(loader->width(), 200.0);
QCOMPARE(loader->height(), 80.0);
@@ -398,7 +425,8 @@ void tst_QDeclarativeLoader::sizeGraphicsWidgetToLoader()
QCOMPARE(widget->size().height(), 30.0);
// Switch mode
- loader->setResizeMode(QDeclarativeLoader::SizeLoaderToItem);
+ loader->resetWidth(); // reset explicit size
+ loader->resetHeight();
widget->resize(QSizeF(160,45));
QCOMPARE(loader->width(), 160.0);
QCOMPARE(loader->height(), 45.0);
@@ -409,20 +437,15 @@ void tst_QDeclarativeLoader::sizeGraphicsWidgetToLoader()
void tst_QDeclarativeLoader::noResizeGraphicsWidget()
{
QDeclarativeComponent component(&engine, TEST_FILE("/NoResizeGraphicsWidget.qml"));
- QDeclarativeLoader *loader = qobject_cast<QDeclarativeLoader*>(component.create());
+ QDeclarativeItem *item = qobject_cast<QDeclarativeItem*>(component.create());
QGraphicsScene scene;
- scene.addItem(loader);
+ scene.addItem(item);
- QVERIFY(loader != 0);
- QCOMPARE(loader->width(), 200.0);
- QCOMPARE(loader->height(), 80.0);
-
- QGraphicsWidget *widget = qobject_cast<QGraphicsWidget*>(loader->item());
- QVERIFY(widget);
- QCOMPARE(widget->size().width(), 250.0);
- QCOMPARE(widget->size().height(), 250.0);
+ QVERIFY(item != 0);
+ QCOMPARE(item->width(), 200.0);
+ QCOMPARE(item->height(), 80.0);
- delete loader;
+ delete item;
}
void tst_QDeclarativeLoader::networkRequestUrl()
@@ -432,7 +455,7 @@ void tst_QDeclarativeLoader::networkRequestUrl()
server.serveDirectory(SRCDIR "/data");
QDeclarativeComponent component(&engine);
- component.setData(QByteArray("import Qt 4.7\nLoader { source: \"http://127.0.0.1:14450/Rect120x60.qml\" }"), QUrl::fromLocalFile(SRCDIR "/dummy.qml"));
+ component.setData(QByteArray("import Qt 4.7\nLoader { property int did_load : 0; source: \"http://127.0.0.1:14450/Rect120x60.qml\"; onLoaded: did_load=123 }"), QUrl::fromLocalFile(SRCDIR "/dummy.qml"));
if (component.isError())
qDebug() << component.errors();
QDeclarativeLoader *loader = qobject_cast<QDeclarativeLoader*>(component.create());
@@ -442,6 +465,7 @@ void tst_QDeclarativeLoader::networkRequestUrl()
QVERIFY(loader->item());
QCOMPARE(loader->progress(), 1.0);
+ QCOMPARE(loader->property("did_load").toInt(), 123);
QCOMPARE(static_cast<QGraphicsItem*>(loader)->children().count(), 1);
delete loader;
@@ -488,7 +512,7 @@ void tst_QDeclarativeLoader::failNetworkRequest()
QTest::ignoreMessage(QtWarningMsg, "<Unknown File>: Network error for URL http://127.0.0.1:14450/IDontExist.qml");
QDeclarativeComponent component(&engine);
- component.setData(QByteArray("import Qt 4.7\nLoader { source: \"http://127.0.0.1:14450/IDontExist.qml\" }"), QUrl::fromLocalFile("http://127.0.0.1:14450/dummy.qml"));
+ component.setData(QByteArray("import Qt 4.7\nLoader { property int did_load: 123; source: \"http://127.0.0.1:14450/IDontExist.qml\"; onLoaded: did_load=456 }"), QUrl::fromLocalFile("http://127.0.0.1:14450/dummy.qml"));
QDeclarativeLoader *loader = qobject_cast<QDeclarativeLoader*>(component.create());
QVERIFY(loader != 0);
@@ -496,6 +520,7 @@ void tst_QDeclarativeLoader::failNetworkRequest()
QVERIFY(loader->item() == 0);
QCOMPARE(loader->progress(), 0.0);
+ QCOMPARE(loader->property("did_load").toInt(), 123);
QCOMPARE(static_cast<QGraphicsItem*>(loader)->children().count(), 0);
delete loader;
diff --git a/tests/auto/declarative/qdeclarativemetatype/qdeclarativemetatype.pro b/tests/auto/declarative/qdeclarativemetatype/qdeclarativemetatype.pro
index cf3fa655b1..f13250e2c5 100644
--- a/tests/auto/declarative/qdeclarativemetatype/qdeclarativemetatype.pro
+++ b/tests/auto/declarative/qdeclarativemetatype/qdeclarativemetatype.pro
@@ -3,7 +3,9 @@ contains(QT_CONFIG,declarative): QT += declarative
SOURCES += tst_qdeclarativemetatype.cpp
macx:CONFIG -= app_bundle
-DEFINES += SRCDIR=\\\"$$PWD\\\"
+!symbian: {
+ DEFINES += SRCDIR=\\\"$$PWD\\\"
+}
CONFIG += parallel_test
diff --git a/tests/auto/declarative/qdeclarativemetatype/tst_qdeclarativemetatype.cpp b/tests/auto/declarative/qdeclarativemetatype/tst_qdeclarativemetatype.cpp
index 36efe131df..8964f8a040 100644
--- a/tests/auto/declarative/qdeclarativemetatype/tst_qdeclarativemetatype.cpp
+++ b/tests/auto/declarative/qdeclarativemetatype/tst_qdeclarativemetatype.cpp
@@ -54,6 +54,11 @@
#include <private/qdeclarativemetatype_p.h>
+#ifdef Q_OS_SYMBIAN
+// In Symbian OS test data is located in applications private dir
+#define SRCDIR "."
+#endif
+
class tst_qdeclarativemetatype : public QObject
{
Q_OBJECT
@@ -88,7 +93,10 @@ QML_DECLARE_TYPE(TestType);
class ParserStatusTestType : public QObject, public QDeclarativeParserStatus
{
Q_OBJECT
+ void classBegin(){}
+ void componentComplete(){}
Q_CLASSINFO("DefaultProperty", "foo") // Missing default property
+ Q_INTERFACES(QDeclarativeParserStatus)
};
QML_DECLARE_TYPE(ParserStatusTestType);
diff --git a/tests/auto/declarative/qdeclarativemoduleplugin/plugin/plugin.pro b/tests/auto/declarative/qdeclarativemoduleplugin/plugin/plugin.pro
index fc772250e7..173a3026fb 100644
--- a/tests/auto/declarative/qdeclarativemoduleplugin/plugin/plugin.pro
+++ b/tests/auto/declarative/qdeclarativemoduleplugin/plugin/plugin.pro
@@ -4,3 +4,6 @@ SOURCES = plugin.cpp
QT = core declarative
DESTDIR = ../imports/com/nokia/AutoTestQmlPluginType
+symbian: {
+ TARGET.EPOCALLOWDLLDATA=1
+}
diff --git a/tests/auto/declarative/qdeclarativemoduleplugin/tst_qdeclarativemoduleplugin.cpp b/tests/auto/declarative/qdeclarativemoduleplugin/tst_qdeclarativemoduleplugin.cpp
index 6d17accaa5..2081f0ea4f 100644
--- a/tests/auto/declarative/qdeclarativemoduleplugin/tst_qdeclarativemoduleplugin.cpp
+++ b/tests/auto/declarative/qdeclarativemoduleplugin/tst_qdeclarativemoduleplugin.cpp
@@ -56,6 +56,11 @@ private slots:
void importsPlugin();
};
+#ifdef Q_OS_SYMBIAN
+// In Symbian OS test data is located in applications private dir
+#define SRCDIR "."
+#endif
+
#define VERIFY_ERRORS(errorfile) \
if (!errorfile) { \
if (qgetenv("DEBUG") != "" && !component.errors().isEmpty()) \
diff --git a/tests/auto/declarative/qdeclarativemoduleplugin/tst_qdeclarativemoduleplugin.pro b/tests/auto/declarative/qdeclarativemoduleplugin/tst_qdeclarativemoduleplugin.pro
index d895ed070c..fb3630ffe0 100644
--- a/tests/auto/declarative/qdeclarativemoduleplugin/tst_qdeclarativemoduleplugin.pro
+++ b/tests/auto/declarative/qdeclarativemoduleplugin/tst_qdeclarativemoduleplugin.pro
@@ -2,4 +2,11 @@ load(qttest_p4)
SOURCES = tst_qdeclarativemoduleplugin.cpp
QT += declarative
CONFIG -= app_bundle
-DEFINES += SRCDIR=\\\"$$PWD\\\"
+
+symbian: {
+ importFiles.sources = data
+ importFiles.path = .
+ DEPLOYMENT = importFiles
+} else {
+ DEFINES += SRCDIR=\\\"$$PWD\\\"
+}
diff --git a/tests/auto/declarative/qdeclarativemousearea/data/rejectEvent.qml b/tests/auto/declarative/qdeclarativemousearea/data/rejectEvent.qml
new file mode 100644
index 0000000000..c01e9383ca
--- /dev/null
+++ b/tests/auto/declarative/qdeclarativemousearea/data/rejectEvent.qml
@@ -0,0 +1,28 @@
+import Qt 4.7
+
+Rectangle {
+ id: root
+ color: "#ffffff"
+ width: 320; height: 240
+ property bool mr1_pressed: false
+ property bool mr1_released: false
+ property bool mr1_canceled: false
+ property bool mr2_pressed: false
+ property bool mr2_released: false
+ property bool mr2_canceled: false
+
+ MouseArea {
+ id: mouseRegion1
+ anchors.fill: parent
+ onPressed: { root.mr1_pressed = true }
+ onReleased: { root.mr1_released = true }
+ onCanceled: { root.mr1_canceled = true }
+ }
+ MouseArea {
+ id: mouseRegion2
+ width: 120; height: 120
+ onPressed: { root.mr2_pressed = true; mouse.accepted = false }
+ onReleased: { root.mr2_released = true }
+ onCanceled: { root.mr2_canceled = true }
+ }
+}
diff --git a/tests/auto/declarative/qdeclarativemousearea/qdeclarativemousearea.pro b/tests/auto/declarative/qdeclarativemousearea/qdeclarativemousearea.pro
index 48fe0250b7..3d39aa8ab0 100644
--- a/tests/auto/declarative/qdeclarativemousearea/qdeclarativemousearea.pro
+++ b/tests/auto/declarative/qdeclarativemousearea/qdeclarativemousearea.pro
@@ -5,8 +5,13 @@ macx:CONFIG -= app_bundle
HEADERS += ../shared/testhttpserver.h
SOURCES += tst_qdeclarativemousearea.cpp ../shared/testhttpserver.cpp
-# Define SRCDIR equal to test's source directory
-DEFINES += SRCDIR=\\\"$$PWD\\\"
+symbian: {
+ importFiles.sources = data
+ importFiles.path = .
+ DEPLOYMENT = importFiles
+} else {
+ DEFINES += SRCDIR=\\\"$$PWD\\\"
+}
CONFIG += parallel_test
diff --git a/tests/auto/declarative/qdeclarativemousearea/tst_qdeclarativemousearea.cpp b/tests/auto/declarative/qdeclarativemousearea/tst_qdeclarativemousearea.cpp
index eb4aa120fc..5a10372c81 100644
--- a/tests/auto/declarative/qdeclarativemousearea/tst_qdeclarativemousearea.cpp
+++ b/tests/auto/declarative/qdeclarativemousearea/tst_qdeclarativemousearea.cpp
@@ -46,6 +46,11 @@
#include <QtDeclarative/qdeclarativeview.h>
#include <QtDeclarative/qdeclarativecontext.h>
+#ifdef Q_OS_SYMBIAN
+// In Symbian OS test data is located in applications private dir
+#define SRCDIR "."
+#endif
+
class tst_QDeclarativeMouseArea: public QObject
{
Q_OBJECT
@@ -56,6 +61,8 @@ private slots:
void updateMouseAreaPosOnClick();
void updateMouseAreaPosOnResize();
void noOnClickedWithPressAndHold();
+ void onMousePressRejected();
+
private:
QDeclarativeView *createView();
};
@@ -320,7 +327,7 @@ void tst_QDeclarativeMouseArea::noOnClickedWithPressAndHold()
QTest::qWait(1000);
- QGraphicsSceneMouseEvent releaseEvent(QEvent::GraphicsSceneMousePress);
+ QGraphicsSceneMouseEvent releaseEvent(QEvent::GraphicsSceneMouseRelease);
releaseEvent.setScenePos(QPointF(100, 100));
releaseEvent.setButton(Qt::LeftButton);
releaseEvent.setButtons(Qt::LeftButton);
@@ -330,6 +337,48 @@ void tst_QDeclarativeMouseArea::noOnClickedWithPressAndHold()
QVERIFY(canvas->rootObject()->property("held").toBool());
}
+void tst_QDeclarativeMouseArea::onMousePressRejected()
+{
+ QDeclarativeView *canvas = createView();
+ canvas->setSource(QUrl::fromLocalFile(SRCDIR "/data/rejectEvent.qml"));
+ canvas->show();
+ canvas->setFocus();
+ QVERIFY(canvas->rootObject() != 0);
+
+ QVERIFY(!canvas->rootObject()->property("mr1_pressed").toBool());
+ QVERIFY(!canvas->rootObject()->property("mr1_released").toBool());
+ QVERIFY(!canvas->rootObject()->property("mr1_canceled").toBool());
+ QVERIFY(!canvas->rootObject()->property("mr2_pressed").toBool());
+ QVERIFY(!canvas->rootObject()->property("mr2_released").toBool());
+ QVERIFY(!canvas->rootObject()->property("mr2_canceled").toBool());
+
+ QGraphicsScene *scene = canvas->scene();
+ QGraphicsSceneMouseEvent pressEvent(QEvent::GraphicsSceneMousePress);
+ pressEvent.setScenePos(QPointF(100, 100));
+ pressEvent.setButton(Qt::LeftButton);
+ pressEvent.setButtons(Qt::LeftButton);
+ QApplication::sendEvent(scene, &pressEvent);
+
+ QVERIFY(canvas->rootObject()->property("mr1_pressed").toBool());
+ QVERIFY(!canvas->rootObject()->property("mr1_released").toBool());
+ QVERIFY(!canvas->rootObject()->property("mr1_canceled").toBool());
+ QVERIFY(canvas->rootObject()->property("mr2_pressed").toBool());
+ QVERIFY(!canvas->rootObject()->property("mr2_released").toBool());
+ QVERIFY(canvas->rootObject()->property("mr2_canceled").toBool());
+
+ QTest::qWait(200);
+
+ QGraphicsSceneMouseEvent releaseEvent(QEvent::GraphicsSceneMouseRelease);
+ releaseEvent.setScenePos(QPointF(100, 100));
+ releaseEvent.setButton(Qt::LeftButton);
+ releaseEvent.setButtons(Qt::LeftButton);
+ QApplication::sendEvent(scene, &releaseEvent);
+
+ QVERIFY(canvas->rootObject()->property("mr1_released").toBool());
+ QVERIFY(!canvas->rootObject()->property("mr1_canceled").toBool());
+ QVERIFY(!canvas->rootObject()->property("mr2_released").toBool());
+}
+
QTEST_MAIN(tst_QDeclarativeMouseArea)
#include "tst_qdeclarativemousearea.moc"
diff --git a/tests/auto/declarative/qdeclarativeparticles/qdeclarativeparticles.pro b/tests/auto/declarative/qdeclarativeparticles/qdeclarativeparticles.pro
index 8a061c3489..f9ca90fe7e 100644
--- a/tests/auto/declarative/qdeclarativeparticles/qdeclarativeparticles.pro
+++ b/tests/auto/declarative/qdeclarativeparticles/qdeclarativeparticles.pro
@@ -4,8 +4,13 @@ macx:CONFIG -= app_bundle
SOURCES += tst_qdeclarativeparticles.cpp
-# Define SRCDIR equal to test's source directory
-DEFINES += SRCDIR=\\\"$$PWD\\\"
+symbian: {
+ importFiles.sources = data
+ importFiles.path = .
+ DEPLOYMENT = importFiles
+} else {
+ DEFINES += SRCDIR=\\\"$$PWD\\\"
+}
CONFIG += parallel_test
diff --git a/tests/auto/declarative/qdeclarativeparticles/tst_qdeclarativeparticles.cpp b/tests/auto/declarative/qdeclarativeparticles/tst_qdeclarativeparticles.cpp
index 093190cdb8..caf69fccfd 100644
--- a/tests/auto/declarative/qdeclarativeparticles/tst_qdeclarativeparticles.cpp
+++ b/tests/auto/declarative/qdeclarativeparticles/tst_qdeclarativeparticles.cpp
@@ -43,6 +43,11 @@
#include <qdeclarativeview.h>
#include <QGraphicsObject>
+#ifdef Q_OS_SYMBIAN
+// In Symbian OS test data is located in applications private dir
+#define SRCDIR "."
+#endif
+
class tst_QDeclarativeParticles : public QObject
{
Q_OBJECT
diff --git a/tests/auto/declarative/qdeclarativepathview/data/pathUpdateOnStartChanged.qml b/tests/auto/declarative/qdeclarativepathview/data/pathUpdateOnStartChanged.qml
new file mode 100644
index 0000000000..ce0f0c9aca
--- /dev/null
+++ b/tests/auto/declarative/qdeclarativepathview/data/pathUpdateOnStartChanged.qml
@@ -0,0 +1,38 @@
+import Qt 4.7
+
+Rectangle {
+ width: 800
+ height: 480
+ color: "black"
+ resources: [
+ ListModel {
+ id: appModel
+ ListElement { color: "green" }
+ },
+ Component {
+ id: appDelegate
+ Rectangle {
+ id: wrapper
+ objectName: "wrapper"
+ color: "green"
+ width: 100
+ height: 100
+ }
+ }
+ ]
+ PathView {
+ id: pathView
+ objectName: "pathView"
+ model: appModel
+ anchors.fill: parent
+
+ transformOrigin: "Top"
+ delegate: appDelegate
+ path: Path {
+ objectName: "path"
+ startX: pathView.width / 2 // startX: 400 <- this works as expected
+ startY: 300
+ PathLine { x: 400; y: 120 }
+ }
+ }
+}
diff --git a/tests/auto/declarative/qdeclarativepathview/data/pathview0.qml b/tests/auto/declarative/qdeclarativepathview/data/pathview0.qml
index a3afd38dc9..895620524d 100644
--- a/tests/auto/declarative/qdeclarativepathview/data/pathview0.qml
+++ b/tests/auto/declarative/qdeclarativepathview/data/pathview0.qml
@@ -4,6 +4,8 @@ Rectangle {
id: root
property int currentA: -1
property int currentB: -1
+ property real delegateWidth: 60
+ property real delegateHeight: 20
width: 240
height: 320
color: "#ffffff"
@@ -13,8 +15,8 @@ Rectangle {
Rectangle {
id: wrapper
objectName: "wrapper"
- height: 20
- width: 60
+ height: root.delegateHeight
+ width: root.delegateWidth
color: PathView.isCurrentItem ? "lightsteelblue" : "white"
border.color: "black"
Text {
diff --git a/tests/auto/declarative/qdeclarativepathview/data/pathview_package.qml b/tests/auto/declarative/qdeclarativepathview/data/pathview_package.qml
new file mode 100644
index 0000000000..082da13ad6
--- /dev/null
+++ b/tests/auto/declarative/qdeclarativepathview/data/pathview_package.qml
@@ -0,0 +1,88 @@
+import Qt 4.7
+
+Item {
+ width: 800; height: 600
+ Component {
+ id: photoDelegate
+ Package {
+ Item { id: pathItem; objectName: "pathItem"; Package.name: 'path'; width: 85; height: 85; scale: pathItem.PathView.scale }
+ Item { id: linearItem; Package.name: 'linear'; width: 85; height: 85 }
+ Rectangle {
+ id: wrapper
+ width: 85; height: 85; color: lColor
+
+ transform: Rotation {
+ id: itemRotation; origin.x: wrapper.width/2; origin.y: wrapper.height/2
+ axis.y: 1; axis.z: 0
+ }
+ state: 'path'
+ states: [
+ State {
+ name: 'path'
+ ParentChange { target: wrapper; parent: pathItem; x: 0; y: 0 }
+ PropertyChanges { target: wrapper; opacity: pathItem.PathView.onPath ? 1.0 : 0 }
+ }
+ ]
+ }
+ }
+ }
+ ListModel {
+ id: rssModel
+ ListElement { lColor: "red" }
+ ListElement { lColor: "green" }
+ ListElement { lColor: "yellow" }
+ ListElement { lColor: "blue" }
+ ListElement { lColor: "purple" }
+ ListElement { lColor: "gray" }
+ ListElement { lColor: "brown" }
+ ListElement { lColor: "thistle" }
+ }
+ VisualDataModel { id: visualModel; model: rssModel; delegate: photoDelegate }
+
+ PathView {
+ id: photoPathView
+ objectName: "photoPathView"
+ width: 800; height: 330; pathItemCount: 4; offset: 1
+ dragMargin: 24
+ preferredHighlightBegin: 0.50
+ preferredHighlightEnd: 0.50
+
+ path: Path {
+ startX: -50; startY: 40;
+
+ PathAttribute { name: "scale"; value: 0.5 }
+ PathAttribute { name: "angle"; value: -45 }
+
+ PathCubic {
+ x: 400; y: 220
+ control1X: 140; control1Y: 40
+ control2X: 210; control2Y: 220
+ }
+
+ PathAttribute { name: "scale"; value: 1.2 }
+ PathAttribute { name: "angle"; value: 0 }
+
+ PathCubic {
+ x: 850; y: 40
+ control2X: 660; control2Y: 40
+ control1X: 590; control1Y: 220
+ }
+
+ PathAttribute { name: "scale"; value: 0.5 }
+ PathAttribute { name: "angle"; value: 45 }
+ }
+
+ model: visualModel.parts.path
+ }
+
+ PathView {
+ y: 400; width: 800; height: 330; pathItemCount: 8
+
+ path: Path {
+ startX: 0; startY: 40;
+ PathLine { x: 800; y: 40 }
+ }
+
+ model: visualModel.parts.linear
+ }
+}
diff --git a/tests/auto/declarative/qdeclarativepathview/qdeclarativepathview.pro b/tests/auto/declarative/qdeclarativepathview/qdeclarativepathview.pro
index 3c327d5353..04fd26b125 100644
--- a/tests/auto/declarative/qdeclarativepathview/qdeclarativepathview.pro
+++ b/tests/auto/declarative/qdeclarativepathview/qdeclarativepathview.pro
@@ -4,8 +4,13 @@ macx:CONFIG -= app_bundle
SOURCES += tst_qdeclarativepathview.cpp
-# Define SRCDIR equal to test's source directory
-DEFINES += SRCDIR=\\\"$$PWD\\\"
+symbian: {
+ importFiles.sources = data
+ importFiles.path = .
+ DEPLOYMENT = importFiles
+} else {
+ DEFINES += SRCDIR=\\\"$$PWD\\\"
+}
CONFIG += parallel_test
diff --git a/tests/auto/declarative/qdeclarativepathview/tst_qdeclarativepathview.cpp b/tests/auto/declarative/qdeclarativepathview/tst_qdeclarativepathview.cpp
index 0e3a74d172..bf1e13a8e8 100644
--- a/tests/auto/declarative/qdeclarativepathview/tst_qdeclarativepathview.cpp
+++ b/tests/auto/declarative/qdeclarativepathview/tst_qdeclarativepathview.cpp
@@ -57,6 +57,11 @@
#include "../../../shared/util.h"
+#ifdef Q_OS_SYMBIAN
+// In Symbian OS test data is located in applications private dir
+#define SRCDIR "."
+#endif
+
class tst_QDeclarativePathView : public QObject
{
Q_OBJECT
@@ -77,6 +82,8 @@ private slots:
void pathChanges();
void componentChanges();
void modelChanges();
+ void pathUpdateOnStartChanged();
+ void package();
private:
@@ -436,12 +443,19 @@ void tst_QDeclarativePathView::pathMoved()
for(int i=0; i<model.count(); i++){
QDeclarativeRectangle *curItem = findItem<QDeclarativeRectangle>(pathview, "wrapper", i);
- QCOMPARE(curItem->pos() + offset, path->pointAt(0.25 + i*0.25));
+ QPointF itemPos(path->pointAt(0.25 + i*0.25));
+ QCOMPARE(curItem->pos() + offset, QPointF(qRound(itemPos.x()), qRound(itemPos.y())));
}
pathview->setOffset(0.0);
QCOMPARE(firstItem->pos() + offset, start);
+ // Change delegate size
+ canvas->rootObject()->setProperty("delegateWidth", 30);
+ QCOMPARE(firstItem->width(), 30.0);
+ offset.setX(firstItem->width()/2);
+ QTRY_COMPARE(firstItem->pos() + offset, start);
+
delete canvas;
}
@@ -477,13 +491,36 @@ void tst_QDeclarativePathView::setCurrentIndex()
QCOMPARE(canvas->rootObject()->property("currentB").toInt(), 0);
pathview->setCurrentIndex(2);
- QTest::qWait(1000);
firstItem = findItem<QDeclarativeRectangle>(pathview, "wrapper", 2);
- QCOMPARE(firstItem->pos() + offset, start);
+ QTRY_COMPARE(firstItem->pos() + offset, start);
QCOMPARE(canvas->rootObject()->property("currentA").toInt(), 2);
QCOMPARE(canvas->rootObject()->property("currentB").toInt(), 2);
+ pathview->decrementCurrentIndex();
+ QTRY_COMPARE(pathview->currentIndex(), 1);
+ firstItem = findItem<QDeclarativeRectangle>(pathview, "wrapper", 1);
+ QVERIFY(firstItem);
+ QTRY_COMPARE(firstItem->pos() + offset, start);
+
+ pathview->decrementCurrentIndex();
+ QTRY_COMPARE(pathview->currentIndex(), 0);
+ firstItem = findItem<QDeclarativeRectangle>(pathview, "wrapper", 0);
+ QVERIFY(firstItem);
+ QTRY_COMPARE(firstItem->pos() + offset, start);
+
+ pathview->decrementCurrentIndex();
+ QTRY_COMPARE(pathview->currentIndex(), 3);
+ firstItem = findItem<QDeclarativeRectangle>(pathview, "wrapper", 3);
+ QVERIFY(firstItem);
+ QTRY_COMPARE(firstItem->pos() + offset, start);
+
+ pathview->incrementCurrentIndex();
+ QTRY_COMPARE(pathview->currentIndex(), 0);
+ firstItem = findItem<QDeclarativeRectangle>(pathview, "wrapper", 0);
+ QVERIFY(firstItem);
+ QTRY_COMPARE(firstItem->pos() + offset, start);
+
delete canvas;
}
@@ -672,6 +709,44 @@ void tst_QDeclarativePathView::modelChanges()
delete canvas;
}
+void tst_QDeclarativePathView::pathUpdateOnStartChanged()
+{
+ QDeclarativeView *canvas = createView();
+ QVERIFY(canvas);
+ canvas->setSource(QUrl::fromLocalFile(SRCDIR "/data/pathUpdateOnStartChanged.qml"));
+
+ QDeclarativePathView *pathView = canvas->rootObject()->findChild<QDeclarativePathView*>("pathView");
+ QVERIFY(pathView);
+
+ QDeclarativePath *path = canvas->rootObject()->findChild<QDeclarativePath*>("path");
+ QVERIFY(path);
+ QCOMPARE(path->startX(), 400.0);
+ QCOMPARE(path->startY(), 300.0);
+
+ QDeclarativeItem *item = findItem<QDeclarativeItem>(pathView, "wrapper", 0);
+ QVERIFY(item);
+ QCOMPARE(item->x(), path->startX() - item->width() / 2.0);
+ QCOMPARE(item->y(), path->startY() - item->height() / 2.0);
+
+ delete canvas;
+}
+
+void tst_QDeclarativePathView::package()
+{
+ QDeclarativeView *canvas = createView();
+ QVERIFY(canvas);
+ canvas->setSource(QUrl::fromLocalFile(SRCDIR "/data/pathview_package.qml"));
+
+ QDeclarativePathView *pathView = canvas->rootObject()->findChild<QDeclarativePathView*>("photoPathView");
+ QVERIFY(pathView);
+
+ QDeclarativeItem *item = findItem<QDeclarativeItem>(pathView, "pathItem");
+ QVERIFY(item);
+ QVERIFY(item->scale() != 1.0);
+
+ delete canvas;
+}
+
QDeclarativeView *tst_QDeclarativePathView::createView()
{
QDeclarativeView *canvas = new QDeclarativeView(0);
@@ -696,7 +771,7 @@ T *tst_QDeclarativePathView::findItem(QGraphicsObject *parent, const QString &ob
//qDebug() << "try" << item;
if (mo.cast(item) && (objectName.isEmpty() || item->objectName() == objectName)) {
if (index != -1) {
- QDeclarativeExpression e(qmlContext(item), "index", item);
+ QDeclarativeExpression e(qmlContext(item), item, "index");
if (e.evaluate().toInt() == index)
return static_cast<T*>(item);
} else {
diff --git a/tests/auto/declarative/qdeclarativepixmapcache/qdeclarativepixmapcache.pro b/tests/auto/declarative/qdeclarativepixmapcache/qdeclarativepixmapcache.pro
index 4b247fc2d3..31303640ec 100644
--- a/tests/auto/declarative/qdeclarativepixmapcache/qdeclarativepixmapcache.pro
+++ b/tests/auto/declarative/qdeclarativepixmapcache/qdeclarativepixmapcache.pro
@@ -9,7 +9,13 @@ INCLUDEPATH += ../shared/
HEADERS += ../shared/testhttpserver.h
SOURCES += ../shared/testhttpserver.cpp
-DEFINES += SRCDIR=\\\"$$PWD\\\"
+symbian: {
+ importFiles.sources = data
+ importFiles.path = .
+ DEPLOYMENT = importFiles
+} else {
+ DEFINES += SRCDIR=\\\"$$PWD\\\"
+}
# QMAKE_CXXFLAGS = -fprofile-arcs -ftest-coverage
# LIBS += -lgcov
diff --git a/tests/auto/declarative/qdeclarativepixmapcache/tst_qdeclarativepixmapcache.cpp b/tests/auto/declarative/qdeclarativepixmapcache/tst_qdeclarativepixmapcache.cpp
index 0cc13ad516..f1018b2a3a 100644
--- a/tests/auto/declarative/qdeclarativepixmapcache/tst_qdeclarativepixmapcache.cpp
+++ b/tests/auto/declarative/qdeclarativepixmapcache/tst_qdeclarativepixmapcache.cpp
@@ -49,6 +49,11 @@
// These don't let normal people run tests!
//#include "../network-settings.h"
+#ifdef Q_OS_SYMBIAN
+// In Symbian OS test data is located in applications private dir
+#define SRCDIR "."
+#endif
+
class tst_qdeclarativepixmapcache : public QObject
{
Q_OBJECT
diff --git a/tests/auto/declarative/qdeclarativepositioners/qdeclarativepositioners.pro b/tests/auto/declarative/qdeclarativepositioners/qdeclarativepositioners.pro
index dbe2cbeec0..5dc7bb810a 100644
--- a/tests/auto/declarative/qdeclarativepositioners/qdeclarativepositioners.pro
+++ b/tests/auto/declarative/qdeclarativepositioners/qdeclarativepositioners.pro
@@ -3,8 +3,13 @@ contains(QT_CONFIG,declarative): QT += declarative
SOURCES += tst_qdeclarativepositioners.cpp
macx:CONFIG -= app_bundle
-# Define SRCDIR equal to test's source directory
-DEFINES += SRCDIR=\\\"$$PWD\\\"
+symbian: {
+ importFiles.sources = data
+ importFiles.path = .
+ DEPLOYMENT = importFiles
+} else {
+ DEFINES += SRCDIR=\\\"$$PWD\\\"
+}
CONFIG += parallel_test
diff --git a/tests/auto/declarative/qdeclarativepositioners/tst_qdeclarativepositioners.cpp b/tests/auto/declarative/qdeclarativepositioners/tst_qdeclarativepositioners.cpp
index b4ac0e14bd..62ec707649 100644
--- a/tests/auto/declarative/qdeclarativepositioners/tst_qdeclarativepositioners.cpp
+++ b/tests/auto/declarative/qdeclarativepositioners/tst_qdeclarativepositioners.cpp
@@ -41,12 +41,18 @@
#include <QtTest/QtTest>
#include <private/qlistmodelinterface_p.h>
#include <qdeclarativeview.h>
+#include <qdeclarativeengine.h>
#include <private/qdeclarativerectangle_p.h>
#include <private/qdeclarativepositioners_p.h>
#include <private/qdeclarativetransition_p.h>
#include <qdeclarativeexpression.h>
#include "../../../shared/util.h"
+#ifdef Q_OS_SYMBIAN
+// In Symbian OS test data is located in applications private dir
+#define SRCDIR "."
+#endif
+
class tst_QDeclarativePositioners : public QObject
{
Q_OBJECT
@@ -69,6 +75,7 @@ private slots:
void test_repeater();
void test_flow();
void test_flow_resize();
+ void test_conflictinganchors();
private:
QDeclarativeView *createView(const QString &filename);
};
@@ -100,6 +107,8 @@ void tst_QDeclarativePositioners::test_horizontal()
QDeclarativeItem *row = canvas->rootObject()->findChild<QDeclarativeItem*>("row");
QCOMPARE(row->width(), 110.0);
QCOMPARE(row->height(), 50.0);
+
+ delete canvas;
}
void tst_QDeclarativePositioners::test_horizontal_spacing()
@@ -125,6 +134,8 @@ void tst_QDeclarativePositioners::test_horizontal_spacing()
QDeclarativeItem *row = canvas->rootObject()->findChild<QDeclarativeItem*>("row");
QCOMPARE(row->width(), 130.0);
QCOMPARE(row->height(), 50.0);
+
+ delete canvas;
}
void tst_QDeclarativePositioners::test_horizontal_animated()
@@ -175,6 +186,8 @@ void tst_QDeclarativePositioners::test_horizontal_animated()
QTRY_COMPARE(two->x(), 50.0);
QTRY_COMPARE(three->x(), 100.0);
+
+ delete canvas;
}
void tst_QDeclarativePositioners::test_vertical()
@@ -201,6 +214,8 @@ void tst_QDeclarativePositioners::test_vertical()
QVERIFY(column);
QCOMPARE(column->height(), 80.0);
QCOMPARE(column->width(), 50.0);
+
+ delete canvas;
}
void tst_QDeclarativePositioners::test_vertical_spacing()
@@ -226,6 +241,8 @@ void tst_QDeclarativePositioners::test_vertical_spacing()
QDeclarativeItem *column = canvas->rootObject()->findChild<QDeclarativeItem*>("column");
QCOMPARE(column->height(), 100.0);
QCOMPARE(column->width(), 50.0);
+
+ delete canvas;
}
void tst_QDeclarativePositioners::test_vertical_animated()
@@ -273,6 +290,7 @@ void tst_QDeclarativePositioners::test_vertical_animated()
QTRY_COMPARE(two->y(), 50.0);
QTRY_COMPARE(three->y(), 100.0);
+ delete canvas;
}
void tst_QDeclarativePositioners::test_grid()
@@ -304,6 +322,8 @@ void tst_QDeclarativePositioners::test_grid()
QDeclarativeItem *grid = canvas->rootObject()->findChild<QDeclarativeItem*>("grid");
QCOMPARE(grid->width(), 120.0);
QCOMPARE(grid->height(), 100.0);
+
+ delete canvas;
}
void tst_QDeclarativePositioners::test_grid_topToBottom()
@@ -335,6 +355,8 @@ void tst_QDeclarativePositioners::test_grid_topToBottom()
QDeclarativeItem *grid = canvas->rootObject()->findChild<QDeclarativeItem*>("grid");
QCOMPARE(grid->width(), 100.0);
QCOMPARE(grid->height(), 120.0);
+
+ delete canvas;
}
void tst_QDeclarativePositioners::test_grid_spacing()
@@ -366,6 +388,8 @@ void tst_QDeclarativePositioners::test_grid_spacing()
QDeclarativeItem *grid = canvas->rootObject()->findChild<QDeclarativeItem*>("grid");
QCOMPARE(grid->width(), 128.0);
QCOMPARE(grid->height(), 104.0);
+
+ delete canvas;
}
void tst_QDeclarativePositioners::test_grid_animated()
@@ -446,6 +470,7 @@ void tst_QDeclarativePositioners::test_grid_animated()
QTRY_COMPARE(five->x(), 50.0);
QTRY_COMPARE(five->y(), 50.0);
+ delete canvas;
}
void tst_QDeclarativePositioners::test_grid_zero_columns()
@@ -477,6 +502,8 @@ void tst_QDeclarativePositioners::test_grid_zero_columns()
QDeclarativeItem *grid = canvas->rootObject()->findChild<QDeclarativeItem*>("grid");
QCOMPARE(grid->width(), 170.0);
QCOMPARE(grid->height(), 60.0);
+
+ delete canvas;
}
void tst_QDeclarativePositioners::test_propertychanges()
@@ -534,6 +561,8 @@ void tst_QDeclarativePositioners::test_propertychanges()
grid->setRows(2);
QCOMPARE(columnsSpy.count(),2);
QCOMPARE(rowsSpy.count(),2);
+
+ delete canvas;
}
void tst_QDeclarativePositioners::test_repeater()
@@ -555,6 +584,8 @@ void tst_QDeclarativePositioners::test_repeater()
QCOMPARE(two->y(), 0.0);
QCOMPARE(three->x(), 100.0);
QCOMPARE(three->y(), 0.0);
+
+ delete canvas;
}
void tst_QDeclarativePositioners::test_flow()
@@ -587,6 +618,8 @@ void tst_QDeclarativePositioners::test_flow()
QVERIFY(flow);
QCOMPARE(flow->width(), 90.0);
QCOMPARE(flow->height(), 120.0);
+
+ delete canvas;
}
void tst_QDeclarativePositioners::test_flow_resize()
@@ -618,6 +651,101 @@ void tst_QDeclarativePositioners::test_flow_resize()
QCOMPARE(four->y(), 50.0);
QCOMPARE(five->x(), 50.0);
QCOMPARE(five->y(), 50.0);
+
+ delete canvas;
+}
+
+QString warningMessage;
+
+void interceptWarnings(QtMsgType type, const char *msg)
+{
+ Q_UNUSED( type );
+ warningMessage = msg;
+}
+
+void tst_QDeclarativePositioners::test_conflictinganchors()
+{
+ qInstallMsgHandler(interceptWarnings);
+ QDeclarativeEngine engine;
+ QDeclarativeComponent component(&engine);
+
+ component.setData("import Qt 4.7\nColumn { Item {} }", QUrl::fromLocalFile(""));
+ QDeclarativeItem *item = qobject_cast<QDeclarativeItem*>(component.create());
+ QVERIFY(item);
+ QVERIFY(warningMessage.isEmpty());
+
+ component.setData("import Qt 4.7\nRow { Item {} }", QUrl::fromLocalFile(""));
+ item = qobject_cast<QDeclarativeItem*>(component.create());
+ QVERIFY(item);
+ QVERIFY(warningMessage.isEmpty());
+
+ component.setData("import Qt 4.7\nGrid { Item {} }", QUrl::fromLocalFile(""));
+ item = qobject_cast<QDeclarativeItem*>(component.create());
+ QVERIFY(item);
+ QVERIFY(warningMessage.isEmpty());
+
+ component.setData("import Qt 4.7\nFlow { Item {} }", QUrl::fromLocalFile(""));
+ item = qobject_cast<QDeclarativeItem*>(component.create());
+ QVERIFY(item);
+ QVERIFY(warningMessage.isEmpty());
+
+ component.setData("import Qt 4.7\nColumn { Item { anchors.top: parent.top } }", QUrl::fromLocalFile(""));
+ item = qobject_cast<QDeclarativeItem*>(component.create());
+ QVERIFY(item);
+ QCOMPARE(warningMessage, QString("file::2:1: QML Column: Cannot specify top, bottom, verticalCenter, fill or centerIn anchors for items inside Column"));
+ warningMessage.clear();
+
+ component.setData("import Qt 4.7\nColumn { Item { anchors.centerIn: parent } }", QUrl::fromLocalFile(""));
+ item = qobject_cast<QDeclarativeItem*>(component.create());
+ QVERIFY(item);
+ QCOMPARE(warningMessage, QString("file::2:1: QML Column: Cannot specify top, bottom, verticalCenter, fill or centerIn anchors for items inside Column"));
+ warningMessage.clear();
+
+ component.setData("import Qt 4.7\nColumn { Item { anchors.left: parent.left } }", QUrl::fromLocalFile(""));
+ item = qobject_cast<QDeclarativeItem*>(component.create());
+ QVERIFY(item);
+ QVERIFY(warningMessage.isEmpty());
+ warningMessage.clear();
+
+ component.setData("import Qt 4.7\nRow { Item { anchors.left: parent.left } }", QUrl::fromLocalFile(""));
+ item = qobject_cast<QDeclarativeItem*>(component.create());
+ QVERIFY(item);
+ QCOMPARE(warningMessage, QString("file::2:1: QML Row: Cannot specify left, right, horizontalCenter, fill or centerIn anchors for items inside Row"));
+ warningMessage.clear();
+
+ component.setData("import Qt 4.7\nRow { Item { anchors.fill: parent } }", QUrl::fromLocalFile(""));
+ item = qobject_cast<QDeclarativeItem*>(component.create());
+ QVERIFY(item);
+ QCOMPARE(warningMessage, QString("file::2:1: QML Row: Cannot specify left, right, horizontalCenter, fill or centerIn anchors for items inside Row"));
+ warningMessage.clear();
+
+ component.setData("import Qt 4.7\nRow { Item { anchors.top: parent.top } }", QUrl::fromLocalFile(""));
+ item = qobject_cast<QDeclarativeItem*>(component.create());
+ QVERIFY(item);
+ QVERIFY(warningMessage.isEmpty());
+ warningMessage.clear();
+
+ component.setData("import Qt 4.7\nGrid { Item { anchors.horizontalCenter: parent.horizontalCenter } }", QUrl::fromLocalFile(""));
+ item = qobject_cast<QDeclarativeItem*>(component.create());
+ QVERIFY(item);
+ QCOMPARE(warningMessage, QString("file::2:1: QML Grid: Cannot specify anchors for items inside Grid"));
+ warningMessage.clear();
+
+ component.setData("import Qt 4.7\nGrid { Item { anchors.centerIn: parent } }", QUrl::fromLocalFile(""));
+ item = qobject_cast<QDeclarativeItem*>(component.create());
+ QVERIFY(item);
+ QCOMPARE(warningMessage, QString("file::2:1: QML Grid: Cannot specify anchors for items inside Grid"));
+ warningMessage.clear();
+
+ component.setData("import Qt 4.7\nFlow { Item { anchors.verticalCenter: parent.verticalCenter } }", QUrl::fromLocalFile(""));
+ item = qobject_cast<QDeclarativeItem*>(component.create());
+ QVERIFY(item);
+ QCOMPARE(warningMessage, QString("file::2:1: QML Flow: Cannot specify anchors for items inside Flow"));
+
+ component.setData("import Qt 4.7\nFlow { Item { anchors.fill: parent } }", QUrl::fromLocalFile(""));
+ item = qobject_cast<QDeclarativeItem*>(component.create());
+ QVERIFY(item);
+ QCOMPARE(warningMessage, QString("file::2:1: QML Flow: Cannot specify anchors for items inside Flow"));
}
QDeclarativeView *tst_QDeclarativePositioners::createView(const QString &filename)
diff --git a/tests/auto/declarative/qdeclarativeproperty/qdeclarativeproperty.pro b/tests/auto/declarative/qdeclarativeproperty/qdeclarativeproperty.pro
index 6910ccca9e..4121a335b6 100644
--- a/tests/auto/declarative/qdeclarativeproperty/qdeclarativeproperty.pro
+++ b/tests/auto/declarative/qdeclarativeproperty/qdeclarativeproperty.pro
@@ -4,7 +4,13 @@ macx:CONFIG -= app_bundle
SOURCES += tst_qdeclarativeproperty.cpp
-DEFINES += SRCDIR=\\\"$$PWD\\\"
+symbian: {
+ importFiles.sources = data
+ importFiles.path = .
+ DEPLOYMENT = importFiles
+} else {
+ DEFINES += SRCDIR=\\\"$$PWD\\\"
+}
CONFIG += parallel_test
diff --git a/tests/auto/declarative/qdeclarativeproperty/tst_qdeclarativeproperty.cpp b/tests/auto/declarative/qdeclarativeproperty/tst_qdeclarativeproperty.cpp
index 53614fec33..0ca0e03b8e 100644
--- a/tests/auto/declarative/qdeclarativeproperty/tst_qdeclarativeproperty.cpp
+++ b/tests/auto/declarative/qdeclarativeproperty/tst_qdeclarativeproperty.cpp
@@ -48,6 +48,11 @@
#include <QtCore/qfileinfo.h>
#include <QtCore/qdir.h>
+#ifdef Q_OS_SYMBIAN
+// In Symbian OS test data is located in applications private dir
+#define SRCDIR "."
+#endif
+
inline QUrl TEST_FILE(const QString &filename)
{
QFileInfo fileInfo(__FILE__);
diff --git a/tests/auto/declarative/qdeclarativeqt/data/darker.qml b/tests/auto/declarative/qdeclarativeqt/data/darker.qml
index f6333fe100..738095de79 100644
--- a/tests/auto/declarative/qdeclarativeqt/data/darker.qml
+++ b/tests/auto/declarative/qdeclarativeqt/data/darker.qml
@@ -3,9 +3,10 @@ import Qt 4.7
QtObject {
property variant test1: Qt.darker(Qt.rgba(1, 0.8, 0.3))
property variant test2: Qt.darker()
- property variant test3: Qt.darker(Qt.rgba(1, 0.8, 0.3), 10)
+ property variant test3: Qt.darker(Qt.rgba(1, 0.8, 0.3), 2.8)
property variant test4: Qt.darker("red");
property variant test5: Qt.darker("perfectred"); // Non-existant color
property variant test6: Qt.darker(10);
+ property variant test7: Qt.darker(Qt.rgba(1, 0.8, 0.3), 2.8, 10)
}
diff --git a/tests/auto/declarative/qdeclarativeqt/data/fontFamilies.qml b/tests/auto/declarative/qdeclarativeqt/data/fontFamilies.qml
new file mode 100644
index 0000000000..e66c7be081
--- /dev/null
+++ b/tests/auto/declarative/qdeclarativeqt/data/fontFamilies.qml
@@ -0,0 +1,6 @@
+import Qt 4.7
+
+QtObject {
+ property variant test1: Qt.fontFamilies(10)
+ property variant test2: Qt.fontFamilies();
+}
diff --git a/tests/auto/declarative/qdeclarativeqt/data/lighter.qml b/tests/auto/declarative/qdeclarativeqt/data/lighter.qml
index 6c0053ba6a..ddaf78db29 100644
--- a/tests/auto/declarative/qdeclarativeqt/data/lighter.qml
+++ b/tests/auto/declarative/qdeclarativeqt/data/lighter.qml
@@ -3,8 +3,9 @@ import Qt 4.7
QtObject {
property variant test1: Qt.lighter(Qt.rgba(1, 0.8, 0.3))
property variant test2: Qt.lighter()
- property variant test3: Qt.lighter(Qt.rgba(1, 0.8, 0.3), 10)
+ property variant test3: Qt.lighter(Qt.rgba(1, 0.8, 0.3), 1.8)
property variant test4: Qt.lighter("red");
property variant test5: Qt.lighter("perfectred"); // Non-existant color
property variant test6: Qt.lighter(10);
+ property variant test7: Qt.lighter(Qt.rgba(1, 0.8, 0.3), 1.8, 5)
}
diff --git a/tests/auto/declarative/qdeclarativeqt/qdeclarativeqt.pro b/tests/auto/declarative/qdeclarativeqt/qdeclarativeqt.pro
index 10e10a351a..6af65008eb 100644
--- a/tests/auto/declarative/qdeclarativeqt/qdeclarativeqt.pro
+++ b/tests/auto/declarative/qdeclarativeqt/qdeclarativeqt.pro
@@ -3,7 +3,13 @@ contains(QT_CONFIG,declarative): QT += declarative
SOURCES += tst_qdeclarativeqt.cpp
macx:CONFIG -= app_bundle
-DEFINES += SRCDIR=\\\"$$PWD\\\"
+symbian: {
+ importFiles.sources = data
+ importFiles.path = .
+ DEPLOYMENT = importFiles
+} else {
+ DEFINES += SRCDIR=\\\"$$PWD\\\"
+}
# QMAKE_CXXFLAGS = -fprofile-arcs -ftest-coverage
# LIBS += -lgcov
diff --git a/tests/auto/declarative/qdeclarativeqt/tst_qdeclarativeqt.cpp b/tests/auto/declarative/qdeclarativeqt/tst_qdeclarativeqt.cpp
index 7cbd8db051..06561faab8 100644
--- a/tests/auto/declarative/qdeclarativeqt/tst_qdeclarativeqt.cpp
+++ b/tests/auto/declarative/qdeclarativeqt/tst_qdeclarativeqt.cpp
@@ -42,6 +42,7 @@
#include <qtest.h>
#include <QDebug>
#include <QDeclarativeEngine>
+#include <QFontDatabase>
#include <QFileInfo>
#include <QDeclarativeComponent>
#include <QDesktopServices>
@@ -50,6 +51,11 @@
#include <QCryptographicHash>
#include <QDeclarativeItem>
+#ifdef Q_OS_SYMBIAN
+// In Symbian OS test data is located in applications private dir
+#define SRCDIR "."
+#endif
+
class tst_qdeclarativeqt : public QObject
{
Q_OBJECT
@@ -76,6 +82,7 @@ private slots:
void isQtObject();
void btoa();
void atob();
+ void fontFamilies();
private:
QDeclarativeEngine engine;
@@ -232,7 +239,7 @@ void tst_qdeclarativeqt::lighter()
QDeclarativeComponent component(&engine, TEST_FILE("lighter.qml"));
QString warning1 = component.url().toString() + ":5: Error: Qt.lighter(): Invalid arguments";
- QString warning2 = component.url().toString() + ":6: Error: Qt.lighter(): Invalid arguments";
+ QString warning2 = component.url().toString() + ":10: Error: Qt.lighter(): Invalid arguments";
QTest::ignoreMessage(QtWarningMsg, qPrintable(warning1));
QTest::ignoreMessage(QtWarningMsg, qPrintable(warning2));
@@ -241,7 +248,7 @@ void tst_qdeclarativeqt::lighter()
QCOMPARE(qvariant_cast<QColor>(object->property("test1")), QColor::fromRgbF(1, 0.8, 0.3).lighter());
QCOMPARE(qvariant_cast<QColor>(object->property("test2")), QColor());
- QCOMPARE(qvariant_cast<QColor>(object->property("test3")), QColor());
+ QCOMPARE(qvariant_cast<QColor>(object->property("test3")), QColor::fromRgbF(1, 0.8, 0.3).lighter(180));
QCOMPARE(qvariant_cast<QColor>(object->property("test4")), QColor("red").lighter());
QCOMPARE(qvariant_cast<QColor>(object->property("test5")), QColor());
QCOMPARE(qvariant_cast<QColor>(object->property("test6")), QColor());
@@ -254,7 +261,7 @@ void tst_qdeclarativeqt::darker()
QDeclarativeComponent component(&engine, TEST_FILE("darker.qml"));
QString warning1 = component.url().toString() + ":5: Error: Qt.darker(): Invalid arguments";
- QString warning2 = component.url().toString() + ":6: Error: Qt.darker(): Invalid arguments";
+ QString warning2 = component.url().toString() + ":10: Error: Qt.darker(): Invalid arguments";
QTest::ignoreMessage(QtWarningMsg, qPrintable(warning1));
QTest::ignoreMessage(QtWarningMsg, qPrintable(warning2));
@@ -263,7 +270,7 @@ void tst_qdeclarativeqt::darker()
QCOMPARE(qvariant_cast<QColor>(object->property("test1")), QColor::fromRgbF(1, 0.8, 0.3).darker());
QCOMPARE(qvariant_cast<QColor>(object->property("test2")), QColor());
- QCOMPARE(qvariant_cast<QColor>(object->property("test3")), QColor());
+ QCOMPARE(qvariant_cast<QColor>(object->property("test3")), QColor::fromRgbF(1, 0.8, 0.3).darker(280));
QCOMPARE(qvariant_cast<QColor>(object->property("test4")), QColor("red").darker());
QCOMPARE(qvariant_cast<QColor>(object->property("test5")), QColor());
QCOMPARE(qvariant_cast<QColor>(object->property("test6")), QColor());
@@ -483,6 +490,22 @@ void tst_qdeclarativeqt::atob()
delete object;
}
+void tst_qdeclarativeqt::fontFamilies()
+{
+ QDeclarativeComponent component(&engine, TEST_FILE("fontFamilies.qml"));
+
+ QString warning1 = component.url().toString() + ":4: Error: Qt.fontFamilies(): Invalid arguments";
+ QTest::ignoreMessage(QtWarningMsg, qPrintable(warning1));
+
+ QObject *object = component.create();
+ QVERIFY(object != 0);
+
+ QFontDatabase database;
+ QCOMPARE(object->property("test2"), QVariant::fromValue(database.families()));
+
+ delete object;
+}
+
QTEST_MAIN(tst_qdeclarativeqt)
#include "tst_qdeclarativeqt.moc"
diff --git a/tests/auto/declarative/qdeclarativerepeater/data/objlist.qml b/tests/auto/declarative/qdeclarativerepeater/data/objlist.qml
index 17c5d8d76c..e1bd2e2d89 100644
--- a/tests/auto/declarative/qdeclarativerepeater/data/objlist.qml
+++ b/tests/auto/declarative/qdeclarativerepeater/data/objlist.qml
@@ -14,7 +14,7 @@ Rectangle {
property int instantiated: 0
Component {
Item{
- Component.onCompleted: {if(index!=model.idx) repeater.errors += 1; repeater.instantiated++}
+ Component.onCompleted: {if(index!=modelData.idx) repeater.errors += 1; repeater.instantiated++}
}
}
}
diff --git a/tests/auto/declarative/qdeclarativerepeater/data/repeater2.qml b/tests/auto/declarative/qdeclarativerepeater/data/repeater2.qml
index c8b863c08e..7f2f85a0cb 100644
--- a/tests/auto/declarative/qdeclarativerepeater/data/repeater2.qml
+++ b/tests/auto/declarative/qdeclarativerepeater/data/repeater2.qml
@@ -9,12 +9,13 @@ Rectangle {
Item {
objectName: "myDelegate"
height: 20
+ width: 240
Text {
- y: index*20
+ objectName: "myName"
text: name
}
Text {
- y: index*20
+ objectName: "myNumber"
x: 100
text: number
}
diff --git a/tests/auto/declarative/qdeclarativerepeater/qdeclarativerepeater.pro b/tests/auto/declarative/qdeclarativerepeater/qdeclarativerepeater.pro
index abd36e0fc8..f3ff9ed5c9 100644
--- a/tests/auto/declarative/qdeclarativerepeater/qdeclarativerepeater.pro
+++ b/tests/auto/declarative/qdeclarativerepeater/qdeclarativerepeater.pro
@@ -4,7 +4,12 @@ macx:CONFIG -= app_bundle
SOURCES += tst_qdeclarativerepeater.cpp
-# Define SRCDIR equal to test's source directory
-DEFINES += SRCDIR=\\\"$$PWD\\\"
+symbian: {
+ importFiles.sources = data
+ importFiles.path = .
+ DEPLOYMENT = importFiles
+} else {
+ DEFINES += SRCDIR=\\\"$$PWD\\\"
+}
CONFIG += parallel_test
diff --git a/tests/auto/declarative/qdeclarativerepeater/tst_qdeclarativerepeater.cpp b/tests/auto/declarative/qdeclarativerepeater/tst_qdeclarativerepeater.cpp
index 8be7d80e26..7299a43565 100644
--- a/tests/auto/declarative/qdeclarativerepeater/tst_qdeclarativerepeater.cpp
+++ b/tests/auto/declarative/qdeclarativerepeater/tst_qdeclarativerepeater.cpp
@@ -45,9 +45,15 @@
#include <QtDeclarative/qdeclarativeengine.h>
#include <QtDeclarative/qdeclarativeview.h>
#include <QtDeclarative/qdeclarativecontext.h>
+#include <QtDeclarative/qdeclarativeexpression.h>
#include <private/qdeclarativerepeater_p.h>
#include <private/qdeclarativetext_p.h>
+#ifdef Q_OS_SYMBIAN
+// In Symbian OS test data is located in applications private dir
+#define SRCDIR "."
+#endif
+
inline QUrl TEST_FILE(const QString &filename)
{
return QUrl::fromLocalFile(QLatin1String(SRCDIR) + QLatin1String("/data/") + filename);
@@ -70,6 +76,8 @@ private slots:
private:
QDeclarativeView *createView();
template<typename T>
+ T *findItem(QGraphicsObject *parent, const QString &objectName, int index);
+ template<typename T>
T *findItem(QGraphicsObject *parent, const QString &id);
};
@@ -185,15 +193,24 @@ void tst_QDeclarativeRepeater::numberModel()
delete canvas;
}
+class MyObject : public QObject
+{
+ Q_OBJECT
+ Q_PROPERTY(int idx READ idx CONSTANT)
+public:
+ MyObject(int i) : QObject(), m_idx(i) {}
+
+ int idx() const { return m_idx; }
+
+ int m_idx;
+};
+
void tst_QDeclarativeRepeater::objectList()
{
QDeclarativeView *canvas = createView();
-
QObjectList data;
- for(int i=0; i<100; i++){
- data << new QObject();
- data.back()->setProperty("idx", i);
- }
+ for(int i=0; i<100; i++)
+ data << new MyObject(i);
QDeclarativeContext *ctxt = canvas->rootContext();
ctxt->setContextProperty("testData", QVariant::fromValue(data));
@@ -298,6 +315,20 @@ void tst_QDeclarativeRepeater::dataModel()
testModel.removeItem(2);
QCOMPARE(container->childItems().count(), 4);
+ // Check that model changes are propagated
+ QDeclarativeText *text = findItem<QDeclarativeText>(canvas->rootObject(), "myName", 1);
+ QVERIFY(text);
+ QCOMPARE(text->text(), QString("two"));
+
+ testModel.modifyItem(1, "Item two", "_2");
+ text = findItem<QDeclarativeText>(canvas->rootObject(), "myName", 1);
+ QVERIFY(text);
+ QCOMPARE(text->text(), QString("Item two"));
+
+ text = findItem<QDeclarativeText>(canvas->rootObject(), "myNumber", 1);
+ QVERIFY(text);
+ QCOMPARE(text->text(), QString("_2"));
+
delete testObject;
delete canvas;
}
@@ -373,6 +404,33 @@ QDeclarativeView *tst_QDeclarativeRepeater::createView()
}
template<typename T>
+T *tst_QDeclarativeRepeater::findItem(QGraphicsObject *parent, const QString &objectName, int index)
+{
+ const QMetaObject &mo = T::staticMetaObject;
+ //qDebug() << parent->childItems().count() << "children";
+ for (int i = 0; i < parent->childItems().count(); ++i) {
+ QDeclarativeItem *item = qobject_cast<QDeclarativeItem*>(parent->childItems().at(i));
+ if(!item)
+ continue;
+ //qDebug() << "try" << item;
+ if (mo.cast(item) && (objectName.isEmpty() || item->objectName() == objectName)) {
+ if (index != -1) {
+ QDeclarativeExpression e(qmlContext(item), item, "index");
+ if (e.evaluate().toInt() == index)
+ return static_cast<T*>(item);
+ } else {
+ return static_cast<T*>(item);
+ }
+ }
+ item = findItem<T>(item, objectName, index);
+ if (item)
+ return static_cast<T*>(item);
+ }
+
+ return 0;
+}
+
+template<typename T>
T *tst_QDeclarativeRepeater::findItem(QGraphicsObject *parent, const QString &objectName)
{
const QMetaObject &mo = T::staticMetaObject;
diff --git a/tests/auto/declarative/qdeclarativesmoothedanimation/qdeclarativesmoothedanimation.pro b/tests/auto/declarative/qdeclarativesmoothedanimation/qdeclarativesmoothedanimation.pro
index 80b757ddae..872aeb9888 100644
--- a/tests/auto/declarative/qdeclarativesmoothedanimation/qdeclarativesmoothedanimation.pro
+++ b/tests/auto/declarative/qdeclarativesmoothedanimation/qdeclarativesmoothedanimation.pro
@@ -4,8 +4,13 @@ macx:CONFIG -= app_bundle
SOURCES += tst_qdeclarativesmoothedanimation.cpp
-# Define SRCDIR equal to test's source directory
-DEFINES += SRCDIR=\\\"$$PWD\\\"
+symbian: {
+ importFiles.sources = data
+ importFiles.path = .
+ DEPLOYMENT = importFiles
+} else {
+ DEFINES += SRCDIR=\\\"$$PWD\\\"
+}
CONFIG += parallel_test
diff --git a/tests/auto/declarative/qdeclarativesmoothedanimation/tst_qdeclarativesmoothedanimation.cpp b/tests/auto/declarative/qdeclarativesmoothedanimation/tst_qdeclarativesmoothedanimation.cpp
index 7cf318ad0e..d9164f67b1 100644
--- a/tests/auto/declarative/qdeclarativesmoothedanimation/tst_qdeclarativesmoothedanimation.cpp
+++ b/tests/auto/declarative/qdeclarativesmoothedanimation/tst_qdeclarativesmoothedanimation.cpp
@@ -46,6 +46,11 @@
#include <private/qdeclarativevaluetype_p.h>
#include "../../../shared/util.h"
+#ifdef Q_OS_SYMBIAN
+// In Symbian OS test data is located in applications private dir
+#define SRCDIR "."
+#endif
+
class tst_qdeclarativesmoothedanimation : public QObject
{
Q_OBJECT
diff --git a/tests/auto/declarative/qdeclarativesmoothedfollow/qdeclarativesmoothedfollow.pro b/tests/auto/declarative/qdeclarativesmoothedfollow/qdeclarativesmoothedfollow.pro
index 7f737c2b4b..dff4922d58 100644
--- a/tests/auto/declarative/qdeclarativesmoothedfollow/qdeclarativesmoothedfollow.pro
+++ b/tests/auto/declarative/qdeclarativesmoothedfollow/qdeclarativesmoothedfollow.pro
@@ -4,8 +4,13 @@ macx:CONFIG -= app_bundle
SOURCES += tst_qdeclarativesmoothedfollow.cpp
-# Define SRCDIR equal to test's source directory
-DEFINES += SRCDIR=\\\"$$PWD\\\"
+symbian: {
+ importFiles.sources = data
+ importFiles.path = .
+ DEPLOYMENT = importFiles
+} else {
+ DEFINES += SRCDIR=\\\"$$PWD\\\"
+}
CONFIG += parallel_test
diff --git a/tests/auto/declarative/qdeclarativesmoothedfollow/tst_qdeclarativesmoothedfollow.cpp b/tests/auto/declarative/qdeclarativesmoothedfollow/tst_qdeclarativesmoothedfollow.cpp
index ac750d9641..b9ac23f86a 100644
--- a/tests/auto/declarative/qdeclarativesmoothedfollow/tst_qdeclarativesmoothedfollow.cpp
+++ b/tests/auto/declarative/qdeclarativesmoothedfollow/tst_qdeclarativesmoothedfollow.cpp
@@ -48,6 +48,11 @@
#include <private/qdeclarativevaluetype_p.h>
#include "../../../shared/util.h"
+#ifdef Q_OS_SYMBIAN
+// In Symbian OS test data is located in applications private dir
+#define SRCDIR "."
+#endif
+
class tst_qdeclarativesmoothedfollow : public QObject
{
Q_OBJECT
diff --git a/tests/auto/declarative/qdeclarativespringfollow/qdeclarativespringfollow.pro b/tests/auto/declarative/qdeclarativespringfollow/qdeclarativespringfollow.pro
index 6f400a325e..1c17ba07f9 100644
--- a/tests/auto/declarative/qdeclarativespringfollow/qdeclarativespringfollow.pro
+++ b/tests/auto/declarative/qdeclarativespringfollow/qdeclarativespringfollow.pro
@@ -4,8 +4,13 @@ macx:CONFIG -= app_bundle
SOURCES += tst_qdeclarativespringfollow.cpp
-# Define SRCDIR equal to test's source directory
-DEFINES += SRCDIR=\\\"$$PWD\\\"
+symbian: {
+ importFiles.sources = data
+ importFiles.path = .
+ DEPLOYMENT = importFiles
+} else {
+ DEFINES += SRCDIR=\\\"$$PWD\\\"
+}
CONFIG += parallel_test
diff --git a/tests/auto/declarative/qdeclarativespringfollow/tst_qdeclarativespringfollow.cpp b/tests/auto/declarative/qdeclarativespringfollow/tst_qdeclarativespringfollow.cpp
index 8a07d6bd41..e0e2892ab0 100644
--- a/tests/auto/declarative/qdeclarativespringfollow/tst_qdeclarativespringfollow.cpp
+++ b/tests/auto/declarative/qdeclarativespringfollow/tst_qdeclarativespringfollow.cpp
@@ -45,6 +45,11 @@
#include <private/qdeclarativevaluetype_p.h>
#include "../../../shared/util.h"
+#ifdef Q_OS_SYMBIAN
+// In Symbian OS test data is located in applications private dir
+#define SRCDIR "."
+#endif
+
class tst_qdeclarativespringfollow : public QObject
{
Q_OBJECT
diff --git a/tests/auto/declarative/qdeclarativesqldatabase/qdeclarativesqldatabase.pro b/tests/auto/declarative/qdeclarativesqldatabase/qdeclarativesqldatabase.pro
index 3ff4529064..1462c9a28b 100644
--- a/tests/auto/declarative/qdeclarativesqldatabase/qdeclarativesqldatabase.pro
+++ b/tests/auto/declarative/qdeclarativesqldatabase/qdeclarativesqldatabase.pro
@@ -5,8 +5,13 @@ macx:CONFIG -= app_bundle
SOURCES += tst_qdeclarativesqldatabase.cpp
-# Define SRCDIR equal to test's source directory
-DEFINES += SRCDIR=\\\"$$PWD\\\"
+symbian: {
+ importFiles.sources = data
+ importFiles.path = .
+ DEPLOYMENT = importFiles
+} else {
+ DEFINES += SRCDIR=\\\"$$PWD\\\"
+}
CONFIG += parallel_test
diff --git a/tests/auto/declarative/qdeclarativesqldatabase/tst_qdeclarativesqldatabase.cpp b/tests/auto/declarative/qdeclarativesqldatabase/tst_qdeclarativesqldatabase.cpp
index 7486a4b199..f92d7e8575 100644
--- a/tests/auto/declarative/qdeclarativesqldatabase/tst_qdeclarativesqldatabase.cpp
+++ b/tests/auto/declarative/qdeclarativesqldatabase/tst_qdeclarativesqldatabase.cpp
@@ -53,6 +53,11 @@
#include <QtCore/qdir.h>
#include <QtCore/qfile.h>
+#ifdef Q_OS_SYMBIAN
+// In Symbian OS test data is located in applications private dir
+#define SRCDIR "."
+#endif
+
class tst_qdeclarativesqldatabase : public QObject
{
Q_OBJECT
diff --git a/tests/auto/declarative/qdeclarativestates/data/attachedPropertyChanges.qml b/tests/auto/declarative/qdeclarativestates/data/attachedPropertyChanges.qml
new file mode 100644
index 0000000000..e17823b6d8
--- /dev/null
+++ b/tests/auto/declarative/qdeclarativestates/data/attachedPropertyChanges.qml
@@ -0,0 +1,20 @@
+import Qt.test 1.0
+import Qt 4.7
+
+Item {
+ id: item
+ width: 100; height: 100
+ MyRectangle.foo: 0
+
+ states: State {
+ name: "foo1"
+ PropertyChanges {
+ target: item
+ MyRectangle.foo: 1
+ width: 50
+ }
+ }
+
+ Component.onCompleted: item.state = "foo1"
+}
+
diff --git a/tests/auto/declarative/qdeclarativestates/data/returnToBase.qml b/tests/auto/declarative/qdeclarativestates/data/returnToBase.qml
new file mode 100644
index 0000000000..e342331d7c
--- /dev/null
+++ b/tests/auto/declarative/qdeclarativestates/data/returnToBase.qml
@@ -0,0 +1,21 @@
+import Qt 4.7
+
+Rectangle {
+ id: theRect
+ property bool triggerState: false
+ property string stateString: ""
+ states: [ State {
+ when: triggerState
+ PropertyChanges {
+ target: theRect
+ stateString: "inState"
+ }
+ },
+ State {
+ name: ""
+ PropertyChanges {
+ target: theRect
+ stateString: "originalState"
+ }
+ }]
+}
diff --git a/tests/auto/declarative/qdeclarativestates/data/signalOverrideCrash2.qml b/tests/auto/declarative/qdeclarativestates/data/signalOverrideCrash2.qml
new file mode 100644
index 0000000000..2215ee4ced
--- /dev/null
+++ b/tests/auto/declarative/qdeclarativestates/data/signalOverrideCrash2.qml
@@ -0,0 +1,24 @@
+import Qt 4.7
+
+Rectangle {
+ id: myRect
+ width: 400
+ height: 400
+
+ states: [
+ State {
+ name: "state1"
+ PropertyChanges {
+ target: myRect
+ onHeightChanged: console.log("Hello World")
+ color: "green"
+ }
+ },
+ State {
+ name: "state2"; extend: "state1"
+ PropertyChanges {
+ target: myRect
+ color: "red"
+ }
+ }]
+}
diff --git a/tests/auto/declarative/qdeclarativestates/data/unnamedWhen.qml b/tests/auto/declarative/qdeclarativestates/data/unnamedWhen.qml
new file mode 100644
index 0000000000..a70840c86e
--- /dev/null
+++ b/tests/auto/declarative/qdeclarativestates/data/unnamedWhen.qml
@@ -0,0 +1,14 @@
+import Qt 4.7
+
+Rectangle {
+ id: theRect
+ property bool triggerState: false
+ property string stateString: ""
+ states: State {
+ when: triggerState
+ PropertyChanges {
+ target: theRect
+ stateString: "inState"
+ }
+ }
+}
diff --git a/tests/auto/declarative/qdeclarativestates/qdeclarativestates.pro b/tests/auto/declarative/qdeclarativestates/qdeclarativestates.pro
index 706d04583c..2bae041398 100644
--- a/tests/auto/declarative/qdeclarativestates/qdeclarativestates.pro
+++ b/tests/auto/declarative/qdeclarativestates/qdeclarativestates.pro
@@ -4,7 +4,12 @@ macx:CONFIG -= app_bundle
SOURCES += tst_qdeclarativestates.cpp
-# Define SRCDIR equal to test's source directory
-DEFINES += SRCDIR=\\\"$$PWD\\\"
+symbian: {
+ importFiles.sources = data
+ importFiles.path = .
+ DEPLOYMENT = importFiles
+} else {
+ DEFINES += SRCDIR=\\\"$$PWD\\\"
+}
CONFIG += parallel_test
diff --git a/tests/auto/declarative/qdeclarativestates/tst_qdeclarativestates.cpp b/tests/auto/declarative/qdeclarativestates/tst_qdeclarativestates.cpp
index a016fa7011..2913dddb6a 100644
--- a/tests/auto/declarative/qdeclarativestates/tst_qdeclarativestates.cpp
+++ b/tests/auto/declarative/qdeclarativestates/tst_qdeclarativestates.cpp
@@ -47,7 +47,26 @@
#include <private/qdeclarativetext_p.h>
#include <private/qdeclarativepropertychanges_p.h>
#include <private/qdeclarativestategroup_p.h>
+#include <private/qdeclarativeitem_p.h>
+#ifdef Q_OS_SYMBIAN
+// In Symbian OS test data is located in applications private dir
+#define SRCDIR "."
+#endif
+
+class MyAttached : public QObject
+{
+ Q_OBJECT
+ Q_PROPERTY(int foo READ foo WRITE setFoo)
+public:
+ MyAttached(QObject *parent) : QObject(parent), m_foo(13) {}
+
+ int foo() const { return m_foo; }
+ void setFoo(int f) { m_foo = f; }
+
+private:
+ int m_foo;
+};
class MyRect : public QDeclarativeRectangle
{
@@ -60,6 +79,10 @@ public:
int propertyWithNotify() const { return m_prop; }
void setPropertyWithNotify(int i) { m_prop = i; emit oddlyNamedNotifySignal(); }
+
+ static MyAttached *qmlAttachedProperties(QObject *o) {
+ return new MyAttached(o);
+ }
Q_SIGNALS:
void didSomething();
void oddlyNamedNotifySignal();
@@ -68,6 +91,8 @@ private:
int m_prop;
};
+QML_DECLARE_TYPE(MyRect)
+QML_DECLARE_TYPEINFO(MyRect, QML_HAS_ATTACHED_PROPERTIES)
class tst_qdeclarativestates : public QObject
{
@@ -82,10 +107,12 @@ private slots:
void initTestCase();
void basicChanges();
+ void attachedPropertyChanges();
void basicExtension();
void basicBinding();
void signalOverride();
void signalOverrideCrash();
+ void signalOverrideCrash2();
void parentChange();
void parentChangeErrors();
void anchorChanges();
@@ -109,6 +136,8 @@ private slots:
void illegalObjectCreation();
void whenOrdering();
void urlResolution();
+ void unnamedWhen();
+ void returnToBase();
};
void tst_qdeclarativestates::initTestCase()
@@ -128,63 +157,66 @@ void tst_qdeclarativestates::basicChanges()
{
QDeclarativeComponent rectComponent(&engine, SRCDIR "/data/basicChanges.qml");
QDeclarativeRectangle *rect = qobject_cast<QDeclarativeRectangle*>(rectComponent.create());
+ QDeclarativeItemPrivate *rectPrivate = QDeclarativeItemPrivate::get(rect);
QVERIFY(rect != 0);
QCOMPARE(rect->color(),QColor("red"));
- rect->setState("blue");
+ rectPrivate->setState("blue");
QCOMPARE(rect->color(),QColor("blue"));
- rect->setState("");
+ rectPrivate->setState("");
QCOMPARE(rect->color(),QColor("red"));
}
{
QDeclarativeComponent rectComponent(&engine, SRCDIR "/data/basicChanges2.qml");
QDeclarativeRectangle *rect = qobject_cast<QDeclarativeRectangle*>(rectComponent.create());
+ QDeclarativeItemPrivate *rectPrivate = QDeclarativeItemPrivate::get(rect);
QVERIFY(rect != 0);
QCOMPARE(rect->color(),QColor("red"));
- rect->setState("blue");
+ rectPrivate->setState("blue");
QCOMPARE(rect->color(),QColor("blue"));
- rect->setState("green");
+ rectPrivate->setState("green");
QCOMPARE(rect->color(),QColor("green"));
- rect->setState("");
+ rectPrivate->setState("");
QCOMPARE(rect->color(),QColor("red"));
- rect->setState("green");
+ rectPrivate->setState("green");
QCOMPARE(rect->color(),QColor("green"));
}
{
QDeclarativeComponent rectComponent(&engine, SRCDIR "/data/basicChanges3.qml");
QDeclarativeRectangle *rect = qobject_cast<QDeclarativeRectangle*>(rectComponent.create());
+ QDeclarativeItemPrivate *rectPrivate = QDeclarativeItemPrivate::get(rect);
QVERIFY(rect != 0);
QCOMPARE(rect->color(),QColor("red"));
QCOMPARE(rect->border()->width(),1);
- rect->setState("blue");
+ rectPrivate->setState("blue");
QCOMPARE(rect->color(),QColor("blue"));
QCOMPARE(rect->border()->width(),1);
- rect->setState("bordered");
+ rectPrivate->setState("bordered");
QCOMPARE(rect->color(),QColor("red"));
QCOMPARE(rect->border()->width(),2);
- rect->setState("");
+ rectPrivate->setState("");
QCOMPARE(rect->color(),QColor("red"));
QCOMPARE(rect->border()->width(),1);
//### we should be checking that this is an implicit rather than explicit 1 (which currently fails)
- rect->setState("bordered");
+ rectPrivate->setState("bordered");
QCOMPARE(rect->color(),QColor("red"));
QCOMPARE(rect->border()->width(),2);
- rect->setState("blue");
+ rectPrivate->setState("blue");
QCOMPARE(rect->color(),QColor("blue"));
QCOMPARE(rect->border()->width(),1);
@@ -213,6 +245,28 @@ void tst_qdeclarativestates::basicChanges()
}
}
+void tst_qdeclarativestates::attachedPropertyChanges()
+{
+ QDeclarativeEngine engine;
+
+ QDeclarativeComponent component(&engine, SRCDIR "/data/attachedPropertyChanges.qml");
+ QVERIFY(component.isReady());
+
+ QDeclarativeItem *item = qobject_cast<QDeclarativeItem*>(component.create());
+ QVERIFY(item != 0);
+ QCOMPARE(item->width(), 50.0);
+
+ // Ensure attached property has been changed
+ QObject *attObj = qmlAttachedPropertiesObject<MyRect>(item, false);
+ QVERIFY(attObj);
+
+ MyAttached *att = qobject_cast<MyAttached*>(attObj);
+ QVERIFY(att);
+
+ QEXPECT_FAIL("", "QTBUG-11283", Abort);
+ QCOMPARE(att->foo(), 1);
+}
+
void tst_qdeclarativestates::basicExtension()
{
QDeclarativeEngine engine;
@@ -220,32 +274,33 @@ void tst_qdeclarativestates::basicExtension()
{
QDeclarativeComponent rectComponent(&engine, SRCDIR "/data/basicExtension.qml");
QDeclarativeRectangle *rect = qobject_cast<QDeclarativeRectangle*>(rectComponent.create());
+ QDeclarativeItemPrivate *rectPrivate = QDeclarativeItemPrivate::get(rect);
QVERIFY(rect != 0);
QCOMPARE(rect->color(),QColor("red"));
QCOMPARE(rect->border()->width(),1);
- rect->setState("blue");
+ rectPrivate->setState("blue");
QCOMPARE(rect->color(),QColor("blue"));
QCOMPARE(rect->border()->width(),1);
- rect->setState("bordered");
+ rectPrivate->setState("bordered");
QCOMPARE(rect->color(),QColor("blue"));
QCOMPARE(rect->border()->width(),2);
- rect->setState("blue");
+ rectPrivate->setState("blue");
QCOMPARE(rect->color(),QColor("blue"));
QCOMPARE(rect->border()->width(),1);
- rect->setState("");
+ rectPrivate->setState("");
QCOMPARE(rect->color(),QColor("red"));
QCOMPARE(rect->border()->width(),1);
- rect->setState("bordered");
+ rectPrivate->setState("bordered");
QCOMPARE(rect->color(),QColor("blue"));
QCOMPARE(rect->border()->width(),2);
- rect->setState("");
+ rectPrivate->setState("");
QCOMPARE(rect->color(),QColor("red"));
QCOMPARE(rect->border()->width(),1);
}
@@ -253,26 +308,27 @@ void tst_qdeclarativestates::basicExtension()
{
QDeclarativeComponent rectComponent(&engine, SRCDIR "/data/fakeExtension.qml");
QDeclarativeRectangle *rect = qobject_cast<QDeclarativeRectangle*>(rectComponent.create());
+ QDeclarativeItemPrivate *rectPrivate = QDeclarativeItemPrivate::get(rect);
QVERIFY(rect != 0);
QCOMPARE(rect->color(),QColor("red"));
- rect->setState("blue");
+ rectPrivate->setState("blue");
QCOMPARE(rect->color(),QColor("blue"));
- rect->setState("green");
+ rectPrivate->setState("green");
QCOMPARE(rect->color(),QColor("green"));
- rect->setState("blue");
+ rectPrivate->setState("blue");
QCOMPARE(rect->color(),QColor("blue"));
- rect->setState("green");
+ rectPrivate->setState("green");
QCOMPARE(rect->color(),QColor("green"));
- rect->setState("");
+ rectPrivate->setState("");
QCOMPARE(rect->color(),QColor("red"));
- rect->setState("green");
+ rectPrivate->setState("green");
QCOMPARE(rect->color(),QColor("green"));
}
}
@@ -284,77 +340,80 @@ void tst_qdeclarativestates::basicBinding()
{
QDeclarativeComponent rectComponent(&engine, SRCDIR "/data/basicBinding.qml");
QDeclarativeRectangle *rect = qobject_cast<QDeclarativeRectangle*>(rectComponent.create());
+ QDeclarativeItemPrivate *rectPrivate = QDeclarativeItemPrivate::get(rect);
QVERIFY(rect != 0);
QCOMPARE(rect->color(),QColor("red"));
- rect->setState("blue");
+ rectPrivate->setState("blue");
QCOMPARE(rect->color(),QColor("blue"));
- rect->setState("");
+ rectPrivate->setState("");
QCOMPARE(rect->color(),QColor("red"));
- rect->setState("blue");
+ rectPrivate->setState("blue");
QCOMPARE(rect->color(),QColor("blue"));
rect->setProperty("sourceColor", QColor("green"));
QCOMPARE(rect->color(),QColor("green"));
- rect->setState("");
+ rectPrivate->setState("");
QCOMPARE(rect->color(),QColor("red"));
rect->setProperty("sourceColor", QColor("yellow"));
QCOMPARE(rect->color(),QColor("red"));
- rect->setState("blue");
+ rectPrivate->setState("blue");
QCOMPARE(rect->color(),QColor("yellow"));
}
{
QDeclarativeComponent rectComponent(&engine, SRCDIR "/data/basicBinding2.qml");
QDeclarativeRectangle *rect = qobject_cast<QDeclarativeRectangle*>(rectComponent.create());
+ QDeclarativeItemPrivate *rectPrivate = QDeclarativeItemPrivate::get(rect);
QVERIFY(rect != 0);
QCOMPARE(rect->color(),QColor("red"));
- rect->setState("blue");
+ rectPrivate->setState("blue");
QCOMPARE(rect->color(),QColor("blue"));
- rect->setState("");
+ rectPrivate->setState("");
QCOMPARE(rect->color(),QColor("red"));
- rect->setState("blue");
+ rectPrivate->setState("blue");
QCOMPARE(rect->color(),QColor("blue"));
rect->setProperty("sourceColor", QColor("green"));
QCOMPARE(rect->color(),QColor("blue"));
- rect->setState("");
+ rectPrivate->setState("");
QCOMPARE(rect->color(),QColor("green"));
rect->setProperty("sourceColor", QColor("yellow"));
QCOMPARE(rect->color(),QColor("yellow"));
- rect->setState("blue");
+ rectPrivate->setState("blue");
QCOMPARE(rect->color(),QColor("blue"));
- rect->setState("");
+ rectPrivate->setState("");
QCOMPARE(rect->color(),QColor("yellow"));
}
{
QDeclarativeComponent rectComponent(&engine, SRCDIR "/data/basicBinding3.qml");
QDeclarativeRectangle *rect = qobject_cast<QDeclarativeRectangle*>(rectComponent.create());
+ QDeclarativeItemPrivate *rectPrivate = QDeclarativeItemPrivate::get(rect);
QVERIFY(rect != 0);
QCOMPARE(rect->color(),QColor("red"));
rect->setProperty("sourceColor", QColor("green"));
QCOMPARE(rect->color(),QColor("green"));
- rect->setState("blue");
+ rectPrivate->setState("blue");
QCOMPARE(rect->color(),QColor("blue"));
rect->setProperty("sourceColor", QColor("red"));
QCOMPARE(rect->color(),QColor("blue"));
rect->setProperty("sourceColor2", QColor("yellow"));
QCOMPARE(rect->color(),QColor("yellow"));
- rect->setState("");
+ rectPrivate->setState("");
QCOMPARE(rect->color(),QColor("red"));
rect->setProperty("sourceColor2", QColor("green"));
QCOMPARE(rect->color(),QColor("red"));
@@ -365,27 +424,28 @@ void tst_qdeclarativestates::basicBinding()
{
QDeclarativeComponent rectComponent(&engine, SRCDIR "/data/basicBinding4.qml");
QDeclarativeRectangle *rect = qobject_cast<QDeclarativeRectangle*>(rectComponent.create());
+ QDeclarativeItemPrivate *rectPrivate = QDeclarativeItemPrivate::get(rect);
QVERIFY(rect != 0);
QCOMPARE(rect->color(),QColor("red"));
- rect->setState("blue");
+ rectPrivate->setState("blue");
QCOMPARE(rect->color(),QColor("blue"));
rect->setProperty("sourceColor", QColor("yellow"));
QCOMPARE(rect->color(),QColor("yellow"));
- rect->setState("green");
+ rectPrivate->setState("green");
QCOMPARE(rect->color(),QColor("green"));
rect->setProperty("sourceColor", QColor("purple"));
QCOMPARE(rect->color(),QColor("green"));
- rect->setState("blue");
+ rectPrivate->setState("blue");
QCOMPARE(rect->color(),QColor("purple"));
- rect->setState("green");
+ rectPrivate->setState("green");
QCOMPARE(rect->color(),QColor("green"));
- rect->setState("");
+ rectPrivate->setState("");
QCOMPARE(rect->color(),QColor("red"));
}
}
@@ -403,7 +463,7 @@ void tst_qdeclarativestates::signalOverride()
rect->doSomething();
QCOMPARE(rect->color(),QColor("blue"));
- rect->setState("green");
+ QDeclarativeItemPrivate::get(rect)->setState("green");
rect->doSomething();
QCOMPARE(rect->color(),QColor("green"));
}
@@ -418,8 +478,7 @@ void tst_qdeclarativestates::signalOverride()
QCOMPARE(rect->color(),QColor("blue"));
QDeclarativeRectangle *innerRect = qobject_cast<QDeclarativeRectangle*>(rect->findChild<QDeclarativeRectangle*>("extendedRect"));
-
- innerRect->setState("green");
+ QDeclarativeItemPrivate::get(innerRect)->setState("green");
rect->doSomething();
QCOMPARE(rect->color(),QColor("blue"));
QCOMPARE(innerRect->color(),QColor("green"));
@@ -435,10 +494,25 @@ void tst_qdeclarativestates::signalOverrideCrash()
MyRect *rect = qobject_cast<MyRect*>(rectComponent.create());
QVERIFY(rect != 0);
- rect->setState("overridden");
+ QDeclarativeItemPrivate::get(rect)->setState("overridden");
rect->doSomething();
}
+void tst_qdeclarativestates::signalOverrideCrash2()
+{
+ QDeclarativeEngine engine;
+
+ QDeclarativeComponent rectComponent(&engine, SRCDIR "/data/signalOverrideCrash2.qml");
+ QDeclarativeRectangle *rect = qobject_cast<QDeclarativeRectangle*>(rectComponent.create());
+ QVERIFY(rect != 0);
+
+ QDeclarativeItemPrivate::get(rect)->setState("state1");
+ QDeclarativeItemPrivate::get(rect)->setState("state2");
+ QDeclarativeItemPrivate::get(rect)->setState("state1");
+
+ delete rect;
+}
+
void tst_qdeclarativestates::parentChange()
{
QDeclarativeEngine engine;
@@ -463,7 +537,7 @@ void tst_qdeclarativestates::parentChange()
QCOMPARE(pChange->parent(), nParent);
- rect->setState("reparented");
+ QDeclarativeItemPrivate::get(rect)->setState("reparented");
QCOMPARE(innerRect->rotation(), qreal(0));
QCOMPARE(innerRect->scale(), qreal(1));
QCOMPARE(innerRect->x(), qreal(-133));
@@ -474,11 +548,11 @@ void tst_qdeclarativestates::parentChange()
QDeclarativeComponent rectComponent(&engine, SRCDIR "/data/parentChange2.qml");
QDeclarativeRectangle *rect = qobject_cast<QDeclarativeRectangle*>(rectComponent.create());
QVERIFY(rect != 0);
-
+ QDeclarativeItemPrivate *rectPrivate = QDeclarativeItemPrivate::get(rect);
QDeclarativeRectangle *innerRect = qobject_cast<QDeclarativeRectangle*>(rect->findChild<QDeclarativeRectangle*>("MyRect"));
QVERIFY(innerRect != 0);
- rect->setState("reparented");
+ rectPrivate->setState("reparented");
QCOMPARE(innerRect->rotation(), qreal(15));
QCOMPARE(innerRect->scale(), qreal(.5));
QCOMPARE(QString("%1").arg(innerRect->x()), QString("%1").arg(-19.9075));
@@ -489,17 +563,17 @@ void tst_qdeclarativestates::parentChange()
QDeclarativeComponent rectComponent(&engine, SRCDIR "/data/parentChange3.qml");
QDeclarativeRectangle *rect = qobject_cast<QDeclarativeRectangle*>(rectComponent.create());
QVERIFY(rect != 0);
-
+ QDeclarativeItemPrivate *rectPrivate = QDeclarativeItemPrivate::get(rect);
QDeclarativeRectangle *innerRect = qobject_cast<QDeclarativeRectangle*>(rect->findChild<QDeclarativeRectangle*>("MyRect"));
QVERIFY(innerRect != 0);
- rect->setState("reparented");
+ rectPrivate->setState("reparented");
QCOMPARE(innerRect->rotation(), qreal(-37));
QCOMPARE(innerRect->scale(), qreal(.25));
QCOMPARE(QString("%1").arg(innerRect->x()), QString("%1").arg(-217.305));
QCOMPARE(QString("%1").arg(innerRect->y()), QString("%1").arg(-164.413));
- rect->setState("");
+ rectPrivate->setState("");
QCOMPARE(innerRect->rotation(), qreal(0));
QCOMPARE(innerRect->scale(), qreal(1));
QCOMPARE(innerRect->x(), qreal(5));
@@ -521,7 +595,7 @@ void tst_qdeclarativestates::parentChangeErrors()
QVERIFY(innerRect != 0);
QTest::ignoreMessage(QtWarningMsg, fullDataPath("/data/parentChange4.qml") + ":25:9: QML ParentChange: Unable to preserve appearance under non-uniform scale");
- rect->setState("reparented");
+ QDeclarativeItemPrivate::get(rect)->setState("reparented");
QCOMPARE(innerRect->rotation(), qreal(0));
QCOMPARE(innerRect->scale(), qreal(1));
QCOMPARE(innerRect->x(), qreal(5));
@@ -537,7 +611,7 @@ void tst_qdeclarativestates::parentChangeErrors()
QVERIFY(innerRect != 0);
QTest::ignoreMessage(QtWarningMsg, fullDataPath("/data/parentChange5.qml") + ":25:9: QML ParentChange: Unable to preserve appearance under complex transform");
- rect->setState("reparented");
+ QDeclarativeItemPrivate::get(rect)->setState("reparented");
QCOMPARE(innerRect->rotation(), qreal(0));
QCOMPARE(innerRect->scale(), qreal(1));
QCOMPARE(innerRect->x(), qreal(5));
@@ -552,6 +626,7 @@ void tst_qdeclarativestates::anchorChanges()
QDeclarativeComponent rectComponent(&engine, SRCDIR "/data/anchorChanges1.qml");
QDeclarativeRectangle *rect = qobject_cast<QDeclarativeRectangle*>(rectComponent.create());
QVERIFY(rect != 0);
+ QDeclarativeItemPrivate *rectPrivate = QDeclarativeItemPrivate::get(rect);
QDeclarativeRectangle *innerRect = qobject_cast<QDeclarativeRectangle*>(rect->findChild<QDeclarativeRectangle*>("MyRect"));
QVERIFY(innerRect != 0);
@@ -564,14 +639,14 @@ void tst_qdeclarativestates::anchorChanges()
QDeclarativeAnchorChanges *aChanges = qobject_cast<QDeclarativeAnchorChanges*>(state->operationAt(0));
QVERIFY(aChanges != 0);
- rect->setState("right");
+ rectPrivate->setState("right");
QCOMPARE(innerRect->x(), qreal(150));
QCOMPARE(aChanges->object(), qobject_cast<QDeclarativeItem*>(innerRect));
- QCOMPARE(aChanges->object()->anchors()->left().anchorLine, QDeclarativeAnchorLine::Invalid); //### was reset (how do we distinguish from not set at all)
- QCOMPARE(aChanges->object()->anchors()->right().item, rect->right().item);
- QCOMPARE(aChanges->object()->anchors()->right().anchorLine, rect->right().anchorLine);
+ QCOMPARE(QDeclarativeItemPrivate::get(aChanges->object())->anchors()->left().anchorLine, QDeclarativeAnchorLine::Invalid); //### was reset (how do we distinguish from not set at all)
+ QCOMPARE(QDeclarativeItemPrivate::get(aChanges->object())->anchors()->right().item, rectPrivate->right().item);
+ QCOMPARE(QDeclarativeItemPrivate::get(aChanges->object())->anchors()->right().anchorLine, rectPrivate->right().anchorLine);
- rect->setState("");
+ rectPrivate->setState("");
QCOMPARE(innerRect->x(), qreal(5));
delete rect;
@@ -584,14 +659,15 @@ void tst_qdeclarativestates::anchorChanges2()
QDeclarativeComponent rectComponent(&engine, SRCDIR "/data/anchorChanges2.qml");
QDeclarativeRectangle *rect = qobject_cast<QDeclarativeRectangle*>(rectComponent.create());
QVERIFY(rect != 0);
+ QDeclarativeItemPrivate *rectPrivate = QDeclarativeItemPrivate::get(rect);
QDeclarativeRectangle *innerRect = qobject_cast<QDeclarativeRectangle*>(rect->findChild<QDeclarativeRectangle*>("MyRect"));
QVERIFY(innerRect != 0);
- rect->setState("right");
+ rectPrivate->setState("right");
QCOMPARE(innerRect->x(), qreal(150));
- rect->setState("");
+ rectPrivate->setState("");
QCOMPARE(innerRect->x(), qreal(5));
delete rect;
@@ -604,6 +680,7 @@ void tst_qdeclarativestates::anchorChanges3()
QDeclarativeComponent rectComponent(&engine, SRCDIR "/data/anchorChanges3.qml");
QDeclarativeRectangle *rect = qobject_cast<QDeclarativeRectangle*>(rectComponent.create());
QVERIFY(rect != 0);
+ QDeclarativeItemPrivate *rectPrivate = QDeclarativeItemPrivate::get(rect);
QDeclarativeRectangle *innerRect = qobject_cast<QDeclarativeRectangle*>(rect->findChild<QDeclarativeRectangle*>("MyRect"));
QVERIFY(innerRect != 0);
@@ -622,23 +699,23 @@ void tst_qdeclarativestates::anchorChanges3()
QDeclarativeAnchorChanges *aChanges = qobject_cast<QDeclarativeAnchorChanges*>(state->operationAt(0));
QVERIFY(aChanges != 0);
- rect->setState("reanchored");
+ rectPrivate->setState("reanchored");
QCOMPARE(aChanges->object(), qobject_cast<QDeclarativeItem*>(innerRect));
- QCOMPARE(aChanges->object()->anchors()->left().item, leftGuideline->left().item);
- QCOMPARE(aChanges->object()->anchors()->left().anchorLine, leftGuideline->left().anchorLine);
- QCOMPARE(aChanges->object()->anchors()->right().item, rect->right().item);
- QCOMPARE(aChanges->object()->anchors()->right().anchorLine, rect->right().anchorLine);
- QCOMPARE(aChanges->object()->anchors()->top().item, rect->top().item);
- QCOMPARE(aChanges->object()->anchors()->top().anchorLine, rect->top().anchorLine);
- QCOMPARE(aChanges->object()->anchors()->bottom().item, bottomGuideline->bottom().item);
- QCOMPARE(aChanges->object()->anchors()->bottom().anchorLine, bottomGuideline->bottom().anchorLine);
+ QCOMPARE(QDeclarativeItemPrivate::get(aChanges->object())->anchors()->left().item, QDeclarativeItemPrivate::get(leftGuideline)->left().item);
+ QCOMPARE(QDeclarativeItemPrivate::get(aChanges->object())->anchors()->left().anchorLine, QDeclarativeItemPrivate::get(leftGuideline)->left().anchorLine);
+ QCOMPARE(QDeclarativeItemPrivate::get(aChanges->object())->anchors()->right().item, rectPrivate->right().item);
+ QCOMPARE(QDeclarativeItemPrivate::get(aChanges->object())->anchors()->right().anchorLine, rectPrivate->right().anchorLine);
+ QCOMPARE(QDeclarativeItemPrivate::get(aChanges->object())->anchors()->top().item, rectPrivate->top().item);
+ QCOMPARE(QDeclarativeItemPrivate::get(aChanges->object())->anchors()->top().anchorLine, rectPrivate->top().anchorLine);
+ QCOMPARE(QDeclarativeItemPrivate::get(aChanges->object())->anchors()->bottom().item, QDeclarativeItemPrivate::get(bottomGuideline)->bottom().item);
+ QCOMPARE(QDeclarativeItemPrivate::get(aChanges->object())->anchors()->bottom().anchorLine, QDeclarativeItemPrivate::get(bottomGuideline)->bottom().anchorLine);
QCOMPARE(innerRect->x(), qreal(10));
QCOMPARE(innerRect->y(), qreal(0));
QCOMPARE(innerRect->width(), qreal(190));
QCOMPARE(innerRect->height(), qreal(150));
- rect->setState("");
+ rectPrivate->setState("");
QCOMPARE(innerRect->x(), qreal(0));
QCOMPARE(innerRect->y(), qreal(10));
QCOMPARE(innerRect->width(), qreal(150));
@@ -672,12 +749,12 @@ void tst_qdeclarativestates::anchorChanges4()
QDeclarativeAnchorChanges *aChanges = qobject_cast<QDeclarativeAnchorChanges*>(state->operationAt(0));
QVERIFY(aChanges != 0);
- rect->setState("reanchored");
+ QDeclarativeItemPrivate::get(rect)->setState("reanchored");
QCOMPARE(aChanges->object(), qobject_cast<QDeclarativeItem*>(innerRect));
- QCOMPARE(aChanges->object()->anchors()->horizontalCenter().item, bottomGuideline->horizontalCenter().item);
- QCOMPARE(aChanges->object()->anchors()->horizontalCenter().anchorLine, bottomGuideline->horizontalCenter().anchorLine);
- QCOMPARE(aChanges->object()->anchors()->verticalCenter().item, leftGuideline->verticalCenter().item);
- QCOMPARE(aChanges->object()->anchors()->verticalCenter().anchorLine, leftGuideline->verticalCenter().anchorLine);
+ QCOMPARE(QDeclarativeItemPrivate::get(aChanges->object())->anchors()->horizontalCenter().item, QDeclarativeItemPrivate::get(bottomGuideline)->horizontalCenter().item);
+ QCOMPARE(QDeclarativeItemPrivate::get(aChanges->object())->anchors()->horizontalCenter().anchorLine, QDeclarativeItemPrivate::get(bottomGuideline)->horizontalCenter().anchorLine);
+ QCOMPARE(QDeclarativeItemPrivate::get(aChanges->object())->anchors()->verticalCenter().item, QDeclarativeItemPrivate::get(leftGuideline)->verticalCenter().item);
+ QCOMPARE(QDeclarativeItemPrivate::get(aChanges->object())->anchors()->verticalCenter().anchorLine, QDeclarativeItemPrivate::get(leftGuideline)->verticalCenter().anchorLine);
delete rect;
}
@@ -707,7 +784,7 @@ void tst_qdeclarativestates::anchorChanges5()
QDeclarativeAnchorChanges *aChanges = qobject_cast<QDeclarativeAnchorChanges*>(state->operationAt(0));
QVERIFY(aChanges != 0);
- rect->setState("reanchored");
+ QDeclarativeItemPrivate::get(rect)->setState("reanchored");
QCOMPARE(aChanges->object(), qobject_cast<QDeclarativeItem*>(innerRect));
//QCOMPARE(aChanges->anchors()->horizontalCenter().item, bottomGuideline->horizontalCenter().item);
//QCOMPARE(aChanges->anchors()->horizontalCenter().anchorLine, bottomGuideline->horizontalCenter().anchorLine);
@@ -726,7 +803,7 @@ void tst_qdeclarativestates::anchorChangesCrash()
QDeclarativeRectangle *rect = qobject_cast<QDeclarativeRectangle*>(rectComponent.create());
QVERIFY(rect != 0);
- rect->setState("reanchored");
+ QDeclarativeItemPrivate::get(rect)->setState("reanchored");
delete rect;
}
@@ -739,13 +816,13 @@ void tst_qdeclarativestates::script()
QDeclarativeComponent rectComponent(&engine, SRCDIR "/data/script.qml");
QDeclarativeRectangle *rect = qobject_cast<QDeclarativeRectangle*>(rectComponent.create());
QVERIFY(rect != 0);
-
+ QDeclarativeItemPrivate *rectPrivate = QDeclarativeItemPrivate::get(rect);
QCOMPARE(rect->color(),QColor("red"));
- rect->setState("blue");
+ rectPrivate->setState("blue");
QCOMPARE(rect->color(),QColor("blue"));
- rect->setState("");
+ rectPrivate->setState("");
QCOMPARE(rect->color(),QColor("blue")); // a script isn't reverted
}
}
@@ -757,13 +834,13 @@ void tst_qdeclarativestates::restoreEntryValues()
QDeclarativeComponent rectComponent(&engine, SRCDIR "/data/restoreEntryValues.qml");
QDeclarativeRectangle *rect = qobject_cast<QDeclarativeRectangle*>(rectComponent.create());
QVERIFY(rect != 0);
-
+ QDeclarativeItemPrivate *rectPrivate = QDeclarativeItemPrivate::get(rect);
QCOMPARE(rect->color(),QColor("red"));
- rect->setState("blue");
+ rectPrivate->setState("blue");
QCOMPARE(rect->color(),QColor("blue"));
- rect->setState("");
+ rectPrivate->setState("");
QCOMPARE(rect->color(),QColor("blue"));
}
@@ -774,7 +851,7 @@ void tst_qdeclarativestates::explicitChanges()
QDeclarativeComponent rectComponent(&engine, SRCDIR "/data/explicit.qml");
QDeclarativeRectangle *rect = qobject_cast<QDeclarativeRectangle*>(rectComponent.create());
QVERIFY(rect != 0);
-
+ QDeclarativeItemPrivate *rectPrivate = QDeclarativeItemPrivate::get(rect);
QDeclarativeListReference list(rect, "states");
QDeclarativeState *state = qobject_cast<QDeclarativeState*>(list.at(0));
QVERIFY(state != 0);
@@ -786,18 +863,18 @@ void tst_qdeclarativestates::explicitChanges()
QCOMPARE(rect->color(),QColor("red"));
- rect->setState("blue");
+ rectPrivate->setState("blue");
QCOMPARE(rect->color(),QColor("blue"));
rect->setProperty("sourceColor", QColor("green"));
QCOMPARE(rect->color(),QColor("blue"));
- rect->setState("");
+ rectPrivate->setState("");
QCOMPARE(rect->color(),QColor("red"));
rect->setProperty("sourceColor", QColor("yellow"));
QCOMPARE(rect->color(),QColor("red"));
- rect->setState("blue");
+ rectPrivate->setState("blue");
QCOMPARE(rect->color(),QColor("yellow"));
}
@@ -812,7 +889,7 @@ void tst_qdeclarativestates::propertyErrors()
QTest::ignoreMessage(QtWarningMsg, fullDataPath("/data/propertyErrors.qml") + ":8:9: QML PropertyChanges: Cannot assign to non-existent property \"colr\"");
QTest::ignoreMessage(QtWarningMsg, fullDataPath("/data/propertyErrors.qml") + ":8:9: QML PropertyChanges: Cannot assign to read-only property \"wantsFocus\"");
- rect->setState("blue");
+ QDeclarativeItemPrivate::get(rect)->setState("blue");
}
void tst_qdeclarativestates::incorrectRestoreBug()
@@ -822,22 +899,22 @@ void tst_qdeclarativestates::incorrectRestoreBug()
QDeclarativeComponent rectComponent(&engine, SRCDIR "/data/basicChanges.qml");
QDeclarativeRectangle *rect = qobject_cast<QDeclarativeRectangle*>(rectComponent.create());
QVERIFY(rect != 0);
-
+ QDeclarativeItemPrivate *rectPrivate = QDeclarativeItemPrivate::get(rect);
QCOMPARE(rect->color(),QColor("red"));
- rect->setState("blue");
+ rectPrivate->setState("blue");
QCOMPARE(rect->color(),QColor("blue"));
- rect->setState("");
+ rectPrivate->setState("");
QCOMPARE(rect->color(),QColor("red"));
// make sure if we change the base state value, we then restore to it correctly
rect->setColor(QColor("green"));
- rect->setState("blue");
+ rectPrivate->setState("blue");
QCOMPARE(rect->color(),QColor("blue"));
- rect->setState("");
+ rectPrivate->setState("");
QCOMPARE(rect->color(),QColor("green"));
}
@@ -865,12 +942,12 @@ void tst_qdeclarativestates::deletingChange()
QDeclarativeComponent rectComponent(&engine, SRCDIR "/data/deleting.qml");
QDeclarativeRectangle *rect = qobject_cast<QDeclarativeRectangle*>(rectComponent.create());
QVERIFY(rect != 0);
-
- rect->setState("blue");
+ QDeclarativeItemPrivate *rectPrivate = QDeclarativeItemPrivate::get(rect);
+ rectPrivate->setState("blue");
QCOMPARE(rect->color(),QColor("blue"));
QCOMPARE(rect->radius(),qreal(5));
- rect->setState("");
+ rectPrivate->setState("");
QCOMPARE(rect->color(),QColor("red"));
QCOMPARE(rect->radius(),qreal(0));
@@ -883,7 +960,7 @@ void tst_qdeclarativestates::deletingChange()
qmlExecuteDeferred(state);
QCOMPARE(state->operationCount(), 1);
- rect->setState("blue");
+ rectPrivate->setState("blue");
QCOMPARE(rect->color(),QColor("red"));
QCOMPARE(rect->radius(),qreal(5));
@@ -928,11 +1005,11 @@ void tst_qdeclarativestates::tempState()
QDeclarativeComponent rectComponent(&engine, SRCDIR "/data/legalTempState.qml");
QDeclarativeRectangle *rect = qobject_cast<QDeclarativeRectangle*>(rectComponent.create());
QVERIFY(rect != 0);
-
+ QDeclarativeItemPrivate *rectPrivate = QDeclarativeItemPrivate::get(rect);
QTest::ignoreMessage(QtDebugMsg, "entering placed");
QTest::ignoreMessage(QtDebugMsg, "entering idle");
- rect->setState("placed");
- QCOMPARE(rect->state(), QLatin1String("idle"));
+ rectPrivate->setState("placed");
+ QCOMPARE(rectPrivate->state(), QLatin1String("idle"));
}
void tst_qdeclarativestates::illegalTempState()
@@ -942,10 +1019,10 @@ void tst_qdeclarativestates::illegalTempState()
QDeclarativeComponent rectComponent(&engine, SRCDIR "/data/illegalTempState.qml");
QDeclarativeRectangle *rect = qobject_cast<QDeclarativeRectangle*>(rectComponent.create());
QVERIFY(rect != 0);
-
+ QDeclarativeItemPrivate *rectPrivate = QDeclarativeItemPrivate::get(rect);
QTest::ignoreMessage(QtWarningMsg, "<Unknown File>: QML StateGroup: Can't apply a state change as part of a state definition.");
- rect->setState("placed");
- QCOMPARE(rect->state(), QLatin1String("placed"));
+ rectPrivate->setState("placed");
+ QCOMPARE(rectPrivate->state(), QLatin1String("placed"));
}
void tst_qdeclarativestates::nonExistantProperty()
@@ -955,10 +1032,10 @@ void tst_qdeclarativestates::nonExistantProperty()
QDeclarativeComponent rectComponent(&engine, SRCDIR "/data/nonExistantProp.qml");
QDeclarativeRectangle *rect = qobject_cast<QDeclarativeRectangle*>(rectComponent.create());
QVERIFY(rect != 0);
-
+ QDeclarativeItemPrivate *rectPrivate = QDeclarativeItemPrivate::get(rect);
QTest::ignoreMessage(QtWarningMsg, fullDataPath("/data/nonExistantProp.qml") + ":9:9: QML PropertyChanges: Cannot assign to non-existent property \"colr\"");
- rect->setState("blue");
- QCOMPARE(rect->state(), QLatin1String("blue"));
+ rectPrivate->setState("blue");
+ QCOMPARE(rectPrivate->state(), QLatin1String("blue"));
}
void tst_qdeclarativestates::reset()
@@ -974,7 +1051,7 @@ void tst_qdeclarativestates::reset()
QCOMPARE(text->width(), qreal(40.));
QVERIFY(text->width() < text->height());
- rect->setState("state1");
+ QDeclarativeItemPrivate::get(rect)->setState("state1");
QVERIFY(text->width() > 41);
QVERIFY(text->width() > text->height());
@@ -1000,19 +1077,20 @@ void tst_qdeclarativestates::whenOrdering()
QDeclarativeComponent c(&engine, SRCDIR "/data/whenOrdering.qml");
QDeclarativeRectangle *rect = qobject_cast<QDeclarativeRectangle*>(c.create());
QVERIFY(rect != 0);
+ QDeclarativeItemPrivate *rectPrivate = QDeclarativeItemPrivate::get(rect);
- QCOMPARE(rect->state(), QLatin1String(""));
+ QCOMPARE(rectPrivate->state(), QLatin1String(""));
rect->setProperty("condition2", true);
- QCOMPARE(rect->state(), QLatin1String("state2"));
+ QCOMPARE(rectPrivate->state(), QLatin1String("state2"));
rect->setProperty("condition1", true);
- QCOMPARE(rect->state(), QLatin1String("state1"));
+ QCOMPARE(rectPrivate->state(), QLatin1String("state1"));
rect->setProperty("condition2", false);
- QCOMPARE(rect->state(), QLatin1String("state1"));
+ QCOMPARE(rectPrivate->state(), QLatin1String("state1"));
rect->setProperty("condition2", true);
- QCOMPARE(rect->state(), QLatin1String("state1"));
+ QCOMPARE(rectPrivate->state(), QLatin1String("state1"));
rect->setProperty("condition1", false);
rect->setProperty("condition2", false);
- QCOMPARE(rect->state(), QLatin1String(""));
+ QCOMPARE(rectPrivate->state(), QLatin1String(""));
}
void tst_qdeclarativestates::urlResolution()
@@ -1029,13 +1107,52 @@ void tst_qdeclarativestates::urlResolution()
QDeclarativeImage *image3 = rect->findChild<QDeclarativeImage*>("image3");
QVERIFY(myType != 0 && image1 != 0 && image2 != 0 && image3 != 0);
- myType->setState("SetImageState");
+ QDeclarativeItemPrivate::get(myType)->setState("SetImageState");
QUrl resolved = QUrl::fromLocalFile(SRCDIR "/data/Implementation/images/qt-logo.png");
QCOMPARE(image1->source(), resolved);
QCOMPARE(image2->source(), resolved);
QCOMPARE(image3->source(), resolved);
}
+void tst_qdeclarativestates::unnamedWhen()
+{
+ QDeclarativeEngine engine;
+
+ QDeclarativeComponent c(&engine, SRCDIR "/data/unnamedWhen.qml");
+ QDeclarativeRectangle *rect = qobject_cast<QDeclarativeRectangle*>(c.create());
+ QVERIFY(rect != 0);
+ QDeclarativeItemPrivate *rectPrivate = QDeclarativeItemPrivate::get(rect);
+
+ QCOMPARE(rectPrivate->state(), QLatin1String(""));
+ QCOMPARE(rect->property("stateString").toString(), QLatin1String(""));
+ rect->setProperty("triggerState", true);
+ QCOMPARE(rectPrivate->state(), QLatin1String("anonymousState1"));
+ QCOMPARE(rect->property("stateString").toString(), QLatin1String("inState"));
+ rect->setProperty("triggerState", false);
+ QCOMPARE(rectPrivate->state(), QLatin1String(""));
+ QCOMPARE(rect->property("stateString").toString(), QLatin1String(""));
+}
+
+void tst_qdeclarativestates::returnToBase()
+{
+ QDeclarativeEngine engine;
+
+ QDeclarativeComponent c(&engine, SRCDIR "/data/returnToBase.qml");
+ QDeclarativeRectangle *rect = qobject_cast<QDeclarativeRectangle*>(c.create());
+ QVERIFY(rect != 0);
+ QDeclarativeItemPrivate *rectPrivate = QDeclarativeItemPrivate::get(rect);
+
+ QCOMPARE(rectPrivate->state(), QLatin1String(""));
+ QCOMPARE(rect->property("stateString").toString(), QLatin1String(""));
+ rect->setProperty("triggerState", true);
+ QCOMPARE(rectPrivate->state(), QLatin1String("anonymousState1"));
+ QCOMPARE(rect->property("stateString").toString(), QLatin1String("inState"));
+ rect->setProperty("triggerState", false);
+ QCOMPARE(rectPrivate->state(), QLatin1String(""));
+ QCOMPARE(rect->property("stateString").toString(), QLatin1String("originalState"));
+}
+
+
QTEST_MAIN(tst_qdeclarativestates)
#include "tst_qdeclarativestates.moc"
diff --git a/tests/auto/declarative/qdeclarativesystempalette/qdeclarativesystempalette.pro b/tests/auto/declarative/qdeclarativesystempalette/qdeclarativesystempalette.pro
index b2705fa935..0062688414 100644
--- a/tests/auto/declarative/qdeclarativesystempalette/qdeclarativesystempalette.pro
+++ b/tests/auto/declarative/qdeclarativesystempalette/qdeclarativesystempalette.pro
@@ -4,5 +4,9 @@ macx:CONFIG -= app_bundle
SOURCES += tst_qdeclarativesystempalette.cpp
+!symbian: {
+ DEFINES += SRCDIR=\\\"$$PWD\\\"
+}
+
CONFIG += parallel_test
diff --git a/tests/auto/declarative/qdeclarativesystempalette/tst_qdeclarativesystempalette.cpp b/tests/auto/declarative/qdeclarativesystempalette/tst_qdeclarativesystempalette.cpp
index 7927d971aa..dd1fd7a385 100644
--- a/tests/auto/declarative/qdeclarativesystempalette/tst_qdeclarativesystempalette.cpp
+++ b/tests/auto/declarative/qdeclarativesystempalette/tst_qdeclarativesystempalette.cpp
@@ -47,6 +47,11 @@
#include <qpalette.h>
#include "../../../shared/util.h"
+#ifdef Q_OS_SYMBIAN
+// In Symbian OS test data is located in applications private dir
+#define SRCDIR "."
+#endif
+
class tst_qdeclarativesystempalette : public QObject
{
diff --git a/tests/auto/declarative/qdeclarativetext/qdeclarativetext.pro b/tests/auto/declarative/qdeclarativetext/qdeclarativetext.pro
index e70443e5d8..c1a36fdcbb 100644
--- a/tests/auto/declarative/qdeclarativetext/qdeclarativetext.pro
+++ b/tests/auto/declarative/qdeclarativetext/qdeclarativetext.pro
@@ -9,7 +9,13 @@ INCLUDEPATH += ../shared/
HEADERS += ../shared/testhttpserver.h
SOURCES += ../shared/testhttpserver.cpp
-DEFINES += SRCDIR=\\\"$$PWD\\\"
+symbian: {
+ importFiles.sources = data
+ importFiles.path = .
+ DEPLOYMENT = importFiles
+} else {
+ DEFINES += SRCDIR=\\\"$$PWD\\\"
+}
CONFIG += parallel_test
diff --git a/tests/auto/declarative/qdeclarativetext/tst_qdeclarativetext.cpp b/tests/auto/declarative/qdeclarativetext/tst_qdeclarativetext.cpp
index 551e17ba22..01120b14f6 100644
--- a/tests/auto/declarative/qdeclarativetext/tst_qdeclarativetext.cpp
+++ b/tests/auto/declarative/qdeclarativetext/tst_qdeclarativetext.cpp
@@ -51,6 +51,11 @@
#include "../../../shared/util.h"
#include "testhttpserver.h"
+#ifdef Q_OS_SYMBIAN
+// In Symbian OS test data is located in applications private dir
+#define SRCDIR "."
+#endif
+
class tst_qdeclarativetext : public QObject
{
diff --git a/tests/auto/declarative/qdeclarativetextedit/data/geometrySignals.qml b/tests/auto/declarative/qdeclarativetextedit/data/geometrySignals.qml
new file mode 100644
index 0000000000..b39ba5b8a4
--- /dev/null
+++ b/tests/auto/declarative/qdeclarativetextedit/data/geometrySignals.qml
@@ -0,0 +1,12 @@
+import Qt 4.7
+
+Item {
+ width: 400; height: 500;
+ property int bindingWidth: text.width
+ property int bindingHeight: text.height
+
+ TextInput {
+ id: text
+ anchors.fill: parent
+ }
+}
diff --git a/tests/auto/declarative/qdeclarativetextedit/data/mouseselection_default.qml b/tests/auto/declarative/qdeclarativetextedit/data/mouseselection_default.qml
new file mode 100644
index 0000000000..f1cf86cd4e
--- /dev/null
+++ b/tests/auto/declarative/qdeclarativetextedit/data/mouseselection_default.qml
@@ -0,0 +1,7 @@
+import Qt 4.7
+
+TextEdit {
+ focus: true
+ text: "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"
+ selectByMouse: false
+}
diff --git a/tests/auto/declarative/qdeclarativetextedit/data/mouseselection_false.qml b/tests/auto/declarative/qdeclarativetextedit/data/mouseselection_false.qml
new file mode 100644
index 0000000000..f1cf86cd4e
--- /dev/null
+++ b/tests/auto/declarative/qdeclarativetextedit/data/mouseselection_false.qml
@@ -0,0 +1,7 @@
+import Qt 4.7
+
+TextEdit {
+ focus: true
+ text: "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"
+ selectByMouse: false
+}
diff --git a/tests/auto/declarative/qdeclarativetextedit/data/mouseselection_true.qml b/tests/auto/declarative/qdeclarativetextedit/data/mouseselection_true.qml
new file mode 100644
index 0000000000..90383b9418
--- /dev/null
+++ b/tests/auto/declarative/qdeclarativetextedit/data/mouseselection_true.qml
@@ -0,0 +1,7 @@
+import Qt 4.7
+
+TextEdit {
+ focus: true
+ text: "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"
+ selectByMouse: true
+}
diff --git a/tests/auto/declarative/qdeclarativetextedit/qdeclarativetextedit.pro b/tests/auto/declarative/qdeclarativetextedit/qdeclarativetextedit.pro
index 2228f11deb..4b6bd49de2 100644
--- a/tests/auto/declarative/qdeclarativetextedit/qdeclarativetextedit.pro
+++ b/tests/auto/declarative/qdeclarativetextedit/qdeclarativetextedit.pro
@@ -5,5 +5,10 @@ macx:CONFIG -= app_bundle
SOURCES += tst_qdeclarativetextedit.cpp ../shared/testhttpserver.cpp
HEADERS += ../shared/testhttpserver.h
-# Define SRCDIR equal to test's source directory
-DEFINES += SRCDIR=\\\"$$PWD\\\"
+symbian: {
+ importFiles.sources = data
+ importFiles.path = .
+ DEPLOYMENT = importFiles
+} else {
+ DEFINES += SRCDIR=\\\"$$PWD\\\"
+}
diff --git a/tests/auto/declarative/qdeclarativetextedit/tst_qdeclarativetextedit.cpp b/tests/auto/declarative/qdeclarativetextedit/tst_qdeclarativetextedit.cpp
index 3307b7cd7b..f7ba7a158d 100644
--- a/tests/auto/declarative/qdeclarativetextedit/tst_qdeclarativetextedit.cpp
+++ b/tests/auto/declarative/qdeclarativetextedit/tst_qdeclarativetextedit.cpp
@@ -39,6 +39,7 @@
**
****************************************************************************/
#include <qtest.h>
+#include <QtTest/QSignalSpy>
#include "../../../shared/util.h"
#include "../shared/testhttpserver.h"
#include <math.h>
@@ -49,11 +50,17 @@
#include <QtDeclarative/qdeclarativeexpression.h>
#include <QtDeclarative/qdeclarativecomponent.h>
#include <private/qdeclarativetextedit_p.h>
+#include <private/qdeclarativetextedit_p_p.h>
#include <QFontMetrics>
#include <QDeclarativeView>
#include <QStyle>
#include <QInputContext>
+#ifdef Q_OS_SYMBIAN
+// In Symbian OS test data is located in applications private dir
+#define SRCDIR "."
+#endif
+
class tst_qdeclarativetextedit : public QObject
{
@@ -76,6 +83,8 @@ private slots:
void persistentSelection();
void focusOnPress();
void selection();
+ void mouseSelection_data();
+ void mouseSelection();
void inputMethodHints();
void cursorDelegate();
@@ -83,8 +92,9 @@ private slots:
void delegateLoading();
void navigation();
void readOnly();
- void sendRequestSoftwareInputPanelEvent();
-
+ void openInputPanelOnClick();
+ void openInputPanelOnFocus();
+ void geometrySignals();
private:
void simulateKey(QDeclarativeView *, int key);
QDeclarativeView *createView(const QString &filename);
@@ -202,7 +212,7 @@ void tst_qdeclarativetextedit::width()
QFont f;
QFontMetricsF fm(f);
qreal metricWidth = fm.size(Qt::TextExpandTabs && Qt::TextShowMnemonic, standard.at(i)).width();
- metricWidth = floor(metricWidth);
+ metricWidth = ceil(metricWidth);
QString componentStr = "import Qt 4.7\nTextEdit { text: \"" + standard.at(i) + "\" }";
QDeclarativeComponent texteditComponent(&engine);
@@ -219,7 +229,7 @@ void tst_qdeclarativetextedit::width()
document.setHtml(richText.at(i));
document.setDocumentMargin(0);
- int documentWidth = document.idealWidth();
+ int documentWidth = ceil(document.idealWidth());
QString componentStr = "import Qt 4.7\nTextEdit { text: \"" + richText.at(i) + "\" }";
QDeclarativeComponent texteditComponent(&engine);
@@ -548,11 +558,11 @@ void tst_qdeclarativetextedit::selection()
//Test selection
for(int i=0; i<= testStr.size(); i++) {
- textEditObject->setSelectionEnd(i);
+ textEditObject->select(0,i);
QCOMPARE(testStr.mid(0,i), textEditObject->selectedText());
}
for(int i=0; i<= testStr.size(); i++) {
- textEditObject->setSelectionStart(i);
+ textEditObject->select(i,testStr.size());
QCOMPARE(testStr.mid(i,testStr.size()-i), textEditObject->selectedText());
}
@@ -562,46 +572,72 @@ void tst_qdeclarativetextedit::selection()
QVERIFY(textEditObject->selectionEnd() == 0);
QVERIFY(textEditObject->selectedText().isNull());
- for(int i=0; i< testStr.size(); i++) {
- textEditObject->setSelectionStart(i);
- QCOMPARE(textEditObject->selectionEnd(), i);
- QCOMPARE(testStr.mid(i,0), textEditObject->selectedText());
- textEditObject->setSelectionEnd(i+1);
- QCOMPARE(textEditObject->selectionStart(), i);
- QCOMPARE(testStr.mid(i,1), textEditObject->selectedText());
- }
-
- for(int i= testStr.size() - 1; i>0; i--) {
- textEditObject->setSelectionEnd(i);
- QCOMPARE(testStr.mid(i,0), textEditObject->selectedText());
- textEditObject->setSelectionStart(i-1);
- QCOMPARE(testStr.mid(i-1,1), textEditObject->selectedText());
- }
-
//Test Error Ignoring behaviour
textEditObject->setCursorPosition(0);
QVERIFY(textEditObject->selectedText().isNull());
- textEditObject->setSelectionStart(-10);
+ textEditObject->select(-10,0);
QVERIFY(textEditObject->selectedText().isNull());
- textEditObject->setSelectionStart(100);
+ textEditObject->select(100,101);
QVERIFY(textEditObject->selectedText().isNull());
- textEditObject->setSelectionEnd(-10);
+ textEditObject->select(0,-10);
QVERIFY(textEditObject->selectedText().isNull());
- textEditObject->setSelectionEnd(100);
+ textEditObject->select(0,100);
QVERIFY(textEditObject->selectedText().isNull());
- textEditObject->setSelectionStart(0);
- textEditObject->setSelectionEnd(10);
+ textEditObject->select(0,10);
QVERIFY(textEditObject->selectedText().size() == 10);
- textEditObject->setSelectionStart(-10);
+ textEditObject->select(-10,0);
QVERIFY(textEditObject->selectedText().size() == 10);
- textEditObject->setSelectionStart(100);
+ textEditObject->select(100,101);
QVERIFY(textEditObject->selectedText().size() == 10);
- textEditObject->setSelectionEnd(-10);
+ textEditObject->select(0,-10);
QVERIFY(textEditObject->selectedText().size() == 10);
- textEditObject->setSelectionEnd(100);
+ textEditObject->select(0,100);
QVERIFY(textEditObject->selectedText().size() == 10);
}
+void tst_qdeclarativetextedit::mouseSelection_data()
+{
+ QTest::addColumn<QString>("qmlfile");
+ QTest::addColumn<bool>("expectSelection");
+
+ // import installed
+ QTest::newRow("on") << SRCDIR "/data/mouseselection_true.qml" << true;
+ QTest::newRow("off") << SRCDIR "/data/mouseselection_false.qml" << false;
+ QTest::newRow("default") << SRCDIR "/data/mouseselection_default.qml" << false;
+}
+
+void tst_qdeclarativetextedit::mouseSelection()
+{
+ QFETCH(QString, qmlfile);
+ QFETCH(bool, expectSelection);
+
+ QDeclarativeView *canvas = createView(qmlfile);
+
+ canvas->show();
+ QApplication::setActiveWindow(canvas);
+ QTest::qWaitForWindowShown(canvas);
+ QTRY_COMPARE(QApplication::activeWindow(), static_cast<QWidget *>(canvas));
+
+ QVERIFY(canvas->rootObject() != 0);
+ QDeclarativeTextEdit *textEditObject = qobject_cast<QDeclarativeTextEdit *>(canvas->rootObject());
+ QVERIFY(textEditObject != 0);
+
+ // press-and-drag-and-release from x1 to x2
+ int x1 = 10;
+ int x2 = 70;
+ int y = textEditObject->height()/2;
+ QTest::mousePress(canvas->viewport(), Qt::LeftButton, 0, canvas->mapFromScene(QPoint(x1,y)));
+ //QTest::mouseMove(canvas->viewport(), canvas->mapFromScene(QPoint(x2,y))); // doesn't work
+ QMouseEvent mv(QEvent::MouseMove, canvas->mapFromScene(QPoint(x2,y)), Qt::LeftButton, Qt::LeftButton,Qt::NoModifier);
+ QApplication::sendEvent(canvas->viewport(), &mv);
+ QTest::mouseRelease(canvas->viewport(), Qt::LeftButton, 0, canvas->mapFromScene(QPoint(x2,y)));
+ QString str = textEditObject->selectedText();
+ if (expectSelection)
+ QVERIFY(str.length() > 3); // don't reallly care *what* was selected (and it's too sensitive to platform)
+ else
+ QVERIFY(str.isEmpty());
+}
+
void tst_qdeclarativetextedit::inputMethodHints()
{
QDeclarativeView *canvas = createView(SRCDIR "/data/inputmethodhints.qml");
@@ -631,12 +667,12 @@ void tst_qdeclarativetextedit::cursorDelegate()
//Test Delegate gets moved
for(int i=0; i<= textEditObject->text().length(); i++){
textEditObject->setCursorPosition(i);
- QCOMPARE(textEditObject->cursorRect().x(), qRound(delegateObject->x()));
- QCOMPARE(textEditObject->cursorRect().y(), qRound(delegateObject->y()));
+ QCOMPARE(textEditObject->cursorRectangle().x(), qRound(delegateObject->x()));
+ QCOMPARE(textEditObject->cursorRectangle().y(), qRound(delegateObject->y()));
}
textEditObject->setCursorPosition(0);
- QCOMPARE(textEditObject->cursorRect().x(), qRound(delegateObject->x()));
- QCOMPARE(textEditObject->cursorRect().y(), qRound(delegateObject->y()));
+ QCOMPARE(textEditObject->cursorRectangle().x(), qRound(delegateObject->x()));
+ QCOMPARE(textEditObject->cursorRectangle().y(), qRound(delegateObject->y()));
//Test Delegate gets deleted
textEditObject->setCursorDelegate(0);
QVERIFY(!textEditObject->findChild<QDeclarativeItem*>("cursorInstance"));
@@ -766,7 +802,7 @@ QDeclarativeView *tst_qdeclarativetextedit::createView(const QString &filename)
class MyInputContext : public QInputContext
{
public:
- MyInputContext() : softwareInputPanelEventReceived(false) {}
+ MyInputContext() : openInputPanelReceived(false), closeInputPanelReceived(false) {}
~MyInputContext() {}
QString identifierName() { return QString(); }
@@ -779,23 +815,71 @@ public:
bool filterEvent( const QEvent *event )
{
if (event->type() == QEvent::RequestSoftwareInputPanel)
- softwareInputPanelEventReceived = true;
+ openInputPanelReceived = true;
+ if (event->type() == QEvent::CloseSoftwareInputPanel)
+ closeInputPanelReceived = true;
return QInputContext::filterEvent(event);
}
- bool softwareInputPanelEventReceived;
+ bool openInputPanelReceived;
+ bool closeInputPanelReceived;
};
-void tst_qdeclarativetextedit::sendRequestSoftwareInputPanelEvent()
+void tst_qdeclarativetextedit::openInputPanelOnClick()
{
QGraphicsScene scene;
QGraphicsView view(&scene);
MyInputContext ic;
- view.viewport()->setInputContext(&ic);
+ view.setInputContext(&ic);
+ QDeclarativeTextEdit edit;
+ QSignalSpy focusOnPressSpy(&edit, SIGNAL(focusOnPressChanged(bool)));
+ edit.setText("Hello world");
+ edit.setPos(0, 0);
+ scene.addItem(&edit);
+ view.show();
+ qApp->setAutoSipEnabled(true);
+ QApplication::setActiveWindow(&view);
+ QTest::qWaitForWindowShown(&view);
+ QTRY_COMPARE(QApplication::activeWindow(), static_cast<QWidget *>(&view));
+
+ QDeclarativeItemPrivate* pri = QDeclarativeItemPrivate::get(&edit);
+ QDeclarativeTextEditPrivate *editPrivate = static_cast<QDeclarativeTextEditPrivate*>(pri);
+
+ // input panel on click
+ editPrivate->showInputPanelOnFocus = false;
+
QStyle::RequestSoftwareInputPanel behavior = QStyle::RequestSoftwareInputPanel(
view.style()->styleHint(QStyle::SH_RequestSoftwareInputPanel));
- if ((behavior != QStyle::RSIP_OnMouseClick))
- QSKIP("This test need to have a style with RSIP_OnMouseClick", SkipSingle);
+ QTest::mouseClick(view.viewport(), Qt::LeftButton, 0, view.mapFromScene(edit.scenePos()));
+ QApplication::processEvents();
+ if (behavior == QStyle::RSIP_OnMouseClickAndAlreadyFocused) {
+ QCOMPARE(ic.openInputPanelReceived, false);
+ QTest::mouseClick(view.viewport(), Qt::LeftButton, 0, view.mapFromScene(edit.scenePos()));
+ QApplication::processEvents();
+ QCOMPARE(ic.openInputPanelReceived, true);
+ } else if (behavior == QStyle::RSIP_OnMouseClick) {
+ QCOMPARE(ic.openInputPanelReceived, true);
+ }
+ ic.openInputPanelReceived = false;
+
+ // focus should not cause input panels to open or close
+ edit.setFocus(false);
+ edit.setFocus(true);
+ edit.setFocus(false);
+ edit.setFocus(true);
+ edit.setFocus(false);
+ QApplication::processEvents();
+ QCOMPARE(ic.openInputPanelReceived, false);
+ QCOMPARE(ic.closeInputPanelReceived, false);
+}
+
+void tst_qdeclarativetextedit::openInputPanelOnFocus()
+{
+ QGraphicsScene scene;
+ QGraphicsView view(&scene);
+ MyInputContext ic;
+ view.setInputContext(&ic);
QDeclarativeTextEdit edit;
+ QSignalSpy focusOnPressSpy(&edit, SIGNAL(focusOnPressChanged(bool)));
edit.setText("Hello world");
edit.setPos(0, 0);
scene.addItem(&edit);
@@ -804,10 +888,121 @@ void tst_qdeclarativetextedit::sendRequestSoftwareInputPanelEvent()
QApplication::setActiveWindow(&view);
QTest::qWaitForWindowShown(&view);
QTRY_COMPARE(QApplication::activeWindow(), static_cast<QWidget *>(&view));
- QTest::mouseClick(view.viewport(), Qt::LeftButton, 0, view.mapFromScene(edit.scenePos()));
+
+ QDeclarativeItemPrivate* pri = QDeclarativeItemPrivate::get(&edit);
+ QDeclarativeTextEditPrivate *editPrivate = static_cast<QDeclarativeTextEditPrivate*>(pri);
+ editPrivate->showInputPanelOnFocus = true;
+
+ // test default values
+ QVERIFY(edit.focusOnPress());
+ QCOMPARE(ic.openInputPanelReceived, false);
+ QCOMPARE(ic.closeInputPanelReceived, false);
+
+ // focus on press, input panel on focus
+ QTest::mousePress(view.viewport(), Qt::LeftButton, 0, view.mapFromScene(edit.scenePos()));
+ QApplication::processEvents();
+ QVERIFY(edit.hasFocus());
+ QCOMPARE(ic.openInputPanelReceived, true);
+ ic.openInputPanelReceived = false;
+
+ // no events on release
+ QTest::mouseRelease(view.viewport(), Qt::LeftButton, 0, view.mapFromScene(edit.scenePos()));
+ QCOMPARE(ic.openInputPanelReceived, false);
+ ic.openInputPanelReceived = false;
+
+ // if already focused, input panel can be opened on press
+ QVERIFY(edit.hasFocus());
+ QTest::mousePress(view.viewport(), Qt::LeftButton, 0, view.mapFromScene(edit.scenePos()));
+ QApplication::processEvents();
+ QCOMPARE(ic.openInputPanelReceived, true);
+ ic.openInputPanelReceived = false;
+
+ // input method should stay enabled if focus
+ // is lost to an item that also accepts inputs
+ QDeclarativeTextEdit anotherEdit;
+ scene.addItem(&anotherEdit);
+ anotherEdit.setFocus(true);
+ QApplication::processEvents();
+ QCOMPARE(ic.openInputPanelReceived, true);
+ ic.openInputPanelReceived = false;
+ QCOMPARE(view.inputContext(), &ic);
+ QVERIFY(view.testAttribute(Qt::WA_InputMethodEnabled));
+
+ // input method should be disabled if focus
+ // is lost to an item that doesn't accept inputs
+ QDeclarativeItem item;
+ scene.addItem(&item);
+ item.setFocus(true);
QApplication::processEvents();
- QCOMPARE(ic.softwareInputPanelEventReceived, true);
+ QCOMPARE(ic.openInputPanelReceived, false);
+ QVERIFY(view.inputContext() == 0);
+ QVERIFY(!view.testAttribute(Qt::WA_InputMethodEnabled));
+
+ // no automatic input panel events should
+ // be sent if focusOnPress is false
+ edit.setFocusOnPress(false);
+ QCOMPARE(focusOnPressSpy.count(),1);
+ edit.setFocusOnPress(false);
+ QCOMPARE(focusOnPressSpy.count(),1);
+ edit.setFocus(false);
+ edit.setFocus(true);
+ QTest::mousePress(view.viewport(), Qt::LeftButton, 0, view.mapFromScene(edit.scenePos()));
+ QTest::mouseRelease(view.viewport(), Qt::LeftButton, 0, view.mapFromScene(edit.scenePos()));
+ QApplication::processEvents();
+ QCOMPARE(ic.openInputPanelReceived, false);
+ QCOMPARE(ic.closeInputPanelReceived, false);
+
+ // one show input panel event should
+ // be set when openSoftwareInputPanel is called
+ edit.openSoftwareInputPanel();
+ QCOMPARE(ic.openInputPanelReceived, true);
+ QCOMPARE(ic.closeInputPanelReceived, false);
+ ic.openInputPanelReceived = false;
+
+ // one close input panel event should
+ // be sent when closeSoftwareInputPanel is called
+ edit.closeSoftwareInputPanel();
+ QCOMPARE(ic.openInputPanelReceived, false);
+ QCOMPARE(ic.closeInputPanelReceived, true);
+ ic.closeInputPanelReceived = false;
+
+ // set focusOnPress back to true
+ edit.setFocusOnPress(true);
+ QCOMPARE(focusOnPressSpy.count(),2);
+ edit.setFocusOnPress(true);
+ QCOMPARE(focusOnPressSpy.count(),2);
+ edit.setFocus(false);
+ QApplication::processEvents();
+ QCOMPARE(ic.openInputPanelReceived, false);
+ QCOMPARE(ic.closeInputPanelReceived, false);
+ ic.closeInputPanelReceived = false;
+
+ // input panel should not re-open
+ // if focus has already been set
+ edit.setFocus(true);
+ QCOMPARE(ic.openInputPanelReceived, true);
+ ic.openInputPanelReceived = false;
+ edit.setFocus(true);
+ QCOMPARE(ic.openInputPanelReceived, false);
+
+ // input method should be disabled
+ // if TextEdit loses focus
+ edit.setFocus(false);
+ QApplication::processEvents();
+ QVERIFY(view.inputContext() == 0);
+ QVERIFY(!view.testAttribute(Qt::WA_InputMethodEnabled));
}
+
+void tst_qdeclarativetextedit::geometrySignals()
+{
+ QDeclarativeComponent component(&engine, SRCDIR "/data/geometrySignals.qml");
+ QObject *o = component.create();
+ QVERIFY(o);
+ QCOMPARE(o->property("bindingWidth").toInt(), 400);
+ QCOMPARE(o->property("bindingHeight").toInt(), 500);
+ delete o;
+}
+
QTEST_MAIN(tst_qdeclarativetextedit)
#include "tst_qdeclarativetextedit.moc"
diff --git a/tests/auto/declarative/qdeclarativetextinput/data/geometrySignals.qml b/tests/auto/declarative/qdeclarativetextinput/data/geometrySignals.qml
new file mode 100644
index 0000000000..a9b50feae2
--- /dev/null
+++ b/tests/auto/declarative/qdeclarativetextinput/data/geometrySignals.qml
@@ -0,0 +1,12 @@
+import Qt 4.7
+
+Item {
+ width: 400; height: 500;
+ property int bindingWidth: text.width
+ property int bindingHeight: text.height
+
+ TextEdit {
+ id: text
+ anchors.fill: parent
+ }
+}
diff --git a/tests/auto/declarative/qdeclarativetextinput/data/positionAt.qml b/tests/auto/declarative/qdeclarativetextinput/data/positionAt.qml
new file mode 100644
index 0000000000..2800351caa
--- /dev/null
+++ b/tests/auto/declarative/qdeclarativetextinput/data/positionAt.qml
@@ -0,0 +1,8 @@
+import Qt 4.7
+
+TextInput{
+ focus: true
+ objectName: "myInput"
+ width: 50
+ text: "This is a long piece of text"
+}
diff --git a/tests/auto/declarative/qdeclarativetextinput/qdeclarativetextinput.pro b/tests/auto/declarative/qdeclarativetextinput/qdeclarativetextinput.pro
index 957e75c5a8..8f42448587 100644
--- a/tests/auto/declarative/qdeclarativetextinput/qdeclarativetextinput.pro
+++ b/tests/auto/declarative/qdeclarativetextinput/qdeclarativetextinput.pro
@@ -4,6 +4,11 @@ macx:CONFIG -= app_bundle
SOURCES += tst_qdeclarativetextinput.cpp
-# Define SRCDIR equal to test's source directory
-DEFINES += SRCDIR=\\\"$$PWD\\\"
+symbian: {
+ importFiles.sources = data
+ importFiles.path = .
+ DEPLOYMENT = importFiles
+} else {
+ DEFINES += SRCDIR=\\\"$$PWD\\\"
+}
diff --git a/tests/auto/declarative/qdeclarativetextinput/tst_qdeclarativetextinput.cpp b/tests/auto/declarative/qdeclarativetextinput/tst_qdeclarativetextinput.cpp
index 83ebe6c48c..a55b42ecc8 100644
--- a/tests/auto/declarative/qdeclarativetextinput/tst_qdeclarativetextinput.cpp
+++ b/tests/auto/declarative/qdeclarativetextinput/tst_qdeclarativetextinput.cpp
@@ -39,15 +39,22 @@
**
****************************************************************************/
#include <qtest.h>
+#include <QtTest/QSignalSpy>
#include "../../../shared/util.h"
#include <QtDeclarative/qdeclarativeengine.h>
#include <QFile>
#include <QtDeclarative/qdeclarativeview.h>
#include <private/qdeclarativetextinput_p.h>
+#include <private/qdeclarativetextinput_p_p.h>
#include <QDebug>
#include <QStyle>
#include <QInputContext>
+#ifdef Q_OS_SYMBIAN
+// In Symbian OS test data is located in applications private dir
+#define SRCDIR "."
+#endif
+
class tst_qdeclarativetextinput : public QObject
{
@@ -62,6 +69,8 @@ private slots:
void color();
void selection();
+ void positionAt();
+
void maxLength();
void masks();
void validators();
@@ -71,11 +80,13 @@ private slots:
void navigation();
void readOnly();
- void sendRequestSoftwareInputPanelEvent();
+ void openInputPanelOnClick();
+ void openInputPanelOnFocus();
void setHAlignClearCache();
void focusOutClearSelection();
void echoMode();
+ void geometrySignals();
private:
void simulateKey(QDeclarativeView *, int key);
QDeclarativeView *createView(const QString &filename);
@@ -320,11 +331,11 @@ void tst_qdeclarativetextinput::selection()
//Test selection
for(int i=0; i<= testStr.size(); i++) {
- textinputObject->setSelectionEnd(i);
+ textinputObject->select(0,i);
QCOMPARE(testStr.mid(0,i), textinputObject->selectedText());
}
for(int i=0; i<= testStr.size(); i++) {
- textinputObject->setSelectionStart(i);
+ textinputObject->select(i,testStr.size());
QCOMPARE(testStr.mid(i,testStr.size()-i), textinputObject->selectedText());
}
@@ -334,48 +345,71 @@ void tst_qdeclarativetextinput::selection()
QVERIFY(textinputObject->selectionEnd() == 0);
QVERIFY(textinputObject->selectedText().isNull());
- for(int i=0; i< testStr.size(); i++) {
- textinputObject->setSelectionStart(i);
- QCOMPARE(textinputObject->selectionEnd(), i);
- QCOMPARE(testStr.mid(i,0), textinputObject->selectedText());
- textinputObject->setSelectionEnd(i+1);
- QCOMPARE(textinputObject->selectionStart(), i);
- QCOMPARE(testStr.mid(i,1), textinputObject->selectedText());
- }
-
- for(int i= testStr.size() - 1; i>0; i--) {
- textinputObject->setSelectionEnd(i);
- QCOMPARE(testStr.mid(i,0), textinputObject->selectedText());
- textinputObject->setSelectionStart(i-1);
- QCOMPARE(testStr.mid(i-1,1), textinputObject->selectedText());
- }
-
//Test Error Ignoring behaviour
textinputObject->setCursorPosition(0);
QVERIFY(textinputObject->selectedText().isNull());
- textinputObject->setSelectionStart(-10);
+ textinputObject->select(-10,0);
QVERIFY(textinputObject->selectedText().isNull());
- textinputObject->setSelectionStart(100);
+ textinputObject->select(100,110);
QVERIFY(textinputObject->selectedText().isNull());
- textinputObject->setSelectionEnd(-10);
+ textinputObject->select(0,-10);
QVERIFY(textinputObject->selectedText().isNull());
- textinputObject->setSelectionEnd(100);
+ textinputObject->select(0,100);
QVERIFY(textinputObject->selectedText().isNull());
- textinputObject->setSelectionStart(0);
- textinputObject->setSelectionEnd(10);
+ textinputObject->select(0,10);
QVERIFY(textinputObject->selectedText().size() == 10);
- textinputObject->setSelectionStart(-10);
+ textinputObject->select(-10,10);
QVERIFY(textinputObject->selectedText().size() == 10);
- textinputObject->setSelectionStart(100);
+ textinputObject->select(100,101);
QVERIFY(textinputObject->selectedText().size() == 10);
- textinputObject->setSelectionEnd(-10);
+ textinputObject->select(0,-10);
QVERIFY(textinputObject->selectedText().size() == 10);
- textinputObject->setSelectionEnd(100);
+ textinputObject->select(0,100);
QVERIFY(textinputObject->selectedText().size() == 10);
delete textinputObject;
}
+void tst_qdeclarativetextinput::positionAt()
+{
+ QDeclarativeView *canvas = createView(SRCDIR "/data/positionAt.qml");
+ QVERIFY(canvas->rootObject() != 0);
+ canvas->show();
+ canvas->setFocus();
+ QApplication::setActiveWindow(canvas);
+ QTest::qWaitForWindowShown(canvas);
+
+ QDeclarativeTextInput *textinputObject = qobject_cast<QDeclarativeTextInput *>(canvas->rootObject());
+ QVERIFY(textinputObject != 0);
+
+ // Check autoscrolled...
+ QFontMetrics fm(textinputObject->font());
+
+ int pos = textinputObject->positionAt(textinputObject->width()/2);
+ int diff = abs(fm.width(textinputObject->text()) - (fm.width(textinputObject->text().left(pos))+textinputObject->width()/2));
+
+ // some tollerance for different fonts.
+#ifdef Q_OS_LINUX
+ QVERIFY(diff < 2);
+#else
+ QVERIFY(diff < 5);
+#endif
+
+ // Check without autoscroll...
+ textinputObject->setAutoScroll(false);
+ pos = textinputObject->positionAt(textinputObject->width()/2);
+ diff = abs(fm.width(textinputObject->text().left(pos))-textinputObject->width()/2);
+
+ // some tollerance for different fonts.
+#ifdef Q_OS_LINUX
+ QVERIFY(diff < 2);
+#else
+ QVERIFY(diff < 5);
+#endif
+
+ delete canvas;
+}
+
void tst_qdeclarativetextinput::maxLength()
{
//QString componentStr = "import Qt 4.7\nTextInput { maximumLength: 10; }";
@@ -563,8 +597,7 @@ void tst_qdeclarativetextinput::navigation()
QVERIFY(input->hasFocus() == true);
//QT-2944: If text is selected, ensure we deselect upon cursor motion
input->setCursorPosition(input->text().length());
- input->setSelectionStart(0);
- input->setSelectionEnd(input->text().length());
+ input->select(0,input->text().length());
QVERIFY(input->selectionStart() != input->selectionEnd());
simulateKey(canvas, Qt::Key_Right);
QVERIFY(input->selectionStart() == input->selectionEnd());
@@ -575,6 +608,14 @@ void tst_qdeclarativetextinput::navigation()
simulateKey(canvas, Qt::Key_Left);
QVERIFY(input->hasFocus() == true);
+ // Up and Down should NOT do Home/End, even on Mac OS X (QTBUG-10438).
+ input->setCursorPosition(2);
+ QCOMPARE(input->cursorPosition(),2);
+ simulateKey(canvas, Qt::Key_Up);
+ QCOMPARE(input->cursorPosition(),2);
+ simulateKey(canvas, Qt::Key_Down);
+ QCOMPARE(input->cursorPosition(),2);
+
delete canvas;
}
@@ -593,13 +634,13 @@ void tst_qdeclarativetextinput::cursorDelegate()
//Test Delegate gets moved
for(int i=0; i<= textInputObject->text().length(); i++){
textInputObject->setCursorPosition(i);
- //+5 is because the TextInput cursorRect is just a 10xHeight area centered on cursor position
- QCOMPARE(textInputObject->cursorRect().x() + 5, qRound(delegateObject->x()));
- QCOMPARE(textInputObject->cursorRect().y(), qRound(delegateObject->y()));
+ //+5 is because the TextInput cursorRectangle is just a 10xHeight area centered on cursor position
+ QCOMPARE(textInputObject->cursorRectangle().x() + 5, qRound(delegateObject->x()));
+ QCOMPARE(textInputObject->cursorRectangle().y(), qRound(delegateObject->y()));
}
textInputObject->setCursorPosition(0);
- QCOMPARE(textInputObject->cursorRect().x()+5, qRound(delegateObject->x()));
- QCOMPARE(textInputObject->cursorRect().y(), qRound(delegateObject->y()));
+ QCOMPARE(textInputObject->cursorRectangle().x()+5, qRound(delegateObject->x()));
+ QCOMPARE(textInputObject->cursorRectangle().y(), qRound(delegateObject->y()));
//Test Delegate gets deleted
textInputObject->setCursorDelegate(0);
QVERIFY(!textInputObject->findChild<QDeclarativeItem*>("cursorInstance"));
@@ -703,11 +744,10 @@ QDeclarativeView *tst_qdeclarativetextinput::createView(const QString &filename)
return canvas;
}
-
class MyInputContext : public QInputContext
{
public:
- MyInputContext() : softwareInputPanelEventReceived(false) {}
+ MyInputContext() : openInputPanelReceived(false), closeInputPanelReceived(false) {}
~MyInputContext() {}
QString identifierName() { return QString(); }
@@ -720,23 +760,70 @@ public:
bool filterEvent( const QEvent *event )
{
if (event->type() == QEvent::RequestSoftwareInputPanel)
- softwareInputPanelEventReceived = true;
+ openInputPanelReceived = true;
+ if (event->type() == QEvent::CloseSoftwareInputPanel)
+ closeInputPanelReceived = true;
return QInputContext::filterEvent(event);
}
- bool softwareInputPanelEventReceived;
+ bool openInputPanelReceived;
+ bool closeInputPanelReceived;
};
-void tst_qdeclarativetextinput::sendRequestSoftwareInputPanelEvent()
+void tst_qdeclarativetextinput::openInputPanelOnClick()
{
QGraphicsScene scene;
QGraphicsView view(&scene);
MyInputContext ic;
- view.viewport()->setInputContext(&ic);
+ view.setInputContext(&ic);
+ QDeclarativeTextInput input;
+ QSignalSpy focusOnPressSpy(&input, SIGNAL(focusOnPressChanged(bool)));
+ input.setText("Hello world");
+ input.setPos(0, 0);
+ scene.addItem(&input);
+ view.show();
+ qApp->setAutoSipEnabled(true);
+ QApplication::setActiveWindow(&view);
+ QTest::qWaitForWindowShown(&view);
+ QTRY_COMPARE(QApplication::activeWindow(), static_cast<QWidget *>(&view));
+
+ QDeclarativeItemPrivate* pri = QDeclarativeItemPrivate::get(&input);
+ QDeclarativeTextInputPrivate *inputPrivate = static_cast<QDeclarativeTextInputPrivate*>(pri);
+
+ // input panel on click
+ inputPrivate->showInputPanelOnFocus = false;
+
QStyle::RequestSoftwareInputPanel behavior = QStyle::RequestSoftwareInputPanel(
view.style()->styleHint(QStyle::SH_RequestSoftwareInputPanel));
- if ((behavior != QStyle::RSIP_OnMouseClick))
- QSKIP("This test need to have a style with RSIP_OnMouseClick", SkipSingle);
+ QTest::mouseClick(view.viewport(), Qt::LeftButton, 0, view.mapFromScene(input.scenePos()));
+ QApplication::processEvents();
+ if (behavior == QStyle::RSIP_OnMouseClickAndAlreadyFocused) {
+ QCOMPARE(ic.openInputPanelReceived, false);
+ QTest::mouseClick(view.viewport(), Qt::LeftButton, 0, view.mapFromScene(input.scenePos()));
+ QApplication::processEvents();
+ QCOMPARE(ic.openInputPanelReceived, true);
+ } else if (behavior == QStyle::RSIP_OnMouseClick) {
+ QCOMPARE(ic.openInputPanelReceived, true);
+ }
+ ic.openInputPanelReceived = false;
+
+ // focus should not cause input panels to open or close
+ input.setFocus(false);
+ input.setFocus(true);
+ input.setFocus(false);
+ input.setFocus(true);
+ input.setFocus(false);
+ QCOMPARE(ic.openInputPanelReceived, false);
+ QCOMPARE(ic.closeInputPanelReceived, false);
+}
+
+void tst_qdeclarativetextinput::openInputPanelOnFocus()
+{
+ QGraphicsScene scene;
+ QGraphicsView view(&scene);
+ MyInputContext ic;
+ view.setInputContext(&ic);
QDeclarativeTextInput input;
+ QSignalSpy focusOnPressSpy(&input, SIGNAL(focusOnPressChanged(bool)));
input.setText("Hello world");
input.setPos(0, 0);
scene.addItem(&input);
@@ -745,9 +832,109 @@ void tst_qdeclarativetextinput::sendRequestSoftwareInputPanelEvent()
QApplication::setActiveWindow(&view);
QTest::qWaitForWindowShown(&view);
QTRY_COMPARE(QApplication::activeWindow(), static_cast<QWidget *>(&view));
- QTest::mouseClick(view.viewport(), Qt::LeftButton, 0, view.mapFromScene(input.scenePos()));
+
+ QDeclarativeItemPrivate* pri = QDeclarativeItemPrivate::get(&input);
+ QDeclarativeTextInputPrivate *inputPrivate = static_cast<QDeclarativeTextInputPrivate*>(pri);
+ inputPrivate->showInputPanelOnFocus = true;
+
+ // test default values
+ QVERIFY(input.focusOnPress());
+ QCOMPARE(ic.openInputPanelReceived, false);
+ QCOMPARE(ic.closeInputPanelReceived, false);
+
+ // focus on press, input panel on focus
+ QTest::mousePress(view.viewport(), Qt::LeftButton, 0, view.mapFromScene(input.scenePos()));
+ QApplication::processEvents();
+ QVERIFY(input.hasFocus());
+ QCOMPARE(ic.openInputPanelReceived, true);
+ ic.openInputPanelReceived = false;
+
+ // no events on release
+ QTest::mouseRelease(view.viewport(), Qt::LeftButton, 0, view.mapFromScene(input.scenePos()));
+ QCOMPARE(ic.openInputPanelReceived, false);
+ ic.openInputPanelReceived = false;
+
+ // if already focused, input panel can be opened on press
+ QVERIFY(input.hasFocus());
+ QTest::mousePress(view.viewport(), Qt::LeftButton, 0, view.mapFromScene(input.scenePos()));
+ QApplication::processEvents();
+ QCOMPARE(ic.openInputPanelReceived, true);
+ ic.openInputPanelReceived = false;
+
+ // input method should stay enabled if focus
+ // is lost to an item that also accepts inputs
+ QDeclarativeTextInput anotherInput;
+ scene.addItem(&anotherInput);
+ anotherInput.setFocus(true);
+ QApplication::processEvents();
+ QCOMPARE(ic.openInputPanelReceived, true);
+ ic.openInputPanelReceived = false;
+ QCOMPARE(view.inputContext(), &ic);
+ QVERIFY(view.testAttribute(Qt::WA_InputMethodEnabled));
+
+ // input method should be disabled if focus
+ // is lost to an item that doesn't accept inputs
+ QDeclarativeItem item;
+ scene.addItem(&item);
+ item.setFocus(true);
+ QApplication::processEvents();
+ QCOMPARE(ic.openInputPanelReceived, false);
+ QVERIFY(view.inputContext() == 0);
+ QVERIFY(!view.testAttribute(Qt::WA_InputMethodEnabled));
+
+ // no automatic input panel events should
+ // be sent if focusOnPress is false
+ input.setFocusOnPress(false);
+ QCOMPARE(focusOnPressSpy.count(),1);
+ input.setFocusOnPress(false);
+ QCOMPARE(focusOnPressSpy.count(),1);
+ input.setFocus(false);
+ input.setFocus(true);
+ QTest::mousePress(view.viewport(), Qt::LeftButton, 0, view.mapFromScene(input.scenePos()));
+ QTest::mouseRelease(view.viewport(), Qt::LeftButton, 0, view.mapFromScene(input.scenePos()));
+ QApplication::processEvents();
+ QCOMPARE(ic.openInputPanelReceived, false);
+ QCOMPARE(ic.closeInputPanelReceived, false);
+
+ // one show input panel event should
+ // be set when openSoftwareInputPanel is called
+ input.openSoftwareInputPanel();
+ QCOMPARE(ic.openInputPanelReceived, true);
+ QCOMPARE(ic.closeInputPanelReceived, false);
+ ic.openInputPanelReceived = false;
+
+ // one close input panel event should
+ // be sent when closeSoftwareInputPanel is called
+ input.closeSoftwareInputPanel();
+ QCOMPARE(ic.openInputPanelReceived, false);
+ QCOMPARE(ic.closeInputPanelReceived, true);
+ ic.closeInputPanelReceived = false;
+
+ // set focusOnPress back to true
+ input.setFocusOnPress(true);
+ QCOMPARE(focusOnPressSpy.count(),2);
+ input.setFocusOnPress(true);
+ QCOMPARE(focusOnPressSpy.count(),2);
+ input.setFocus(false);
QApplication::processEvents();
- QCOMPARE(ic.softwareInputPanelEventReceived, true);
+ QCOMPARE(ic.openInputPanelReceived, false);
+ QCOMPARE(ic.closeInputPanelReceived, false);
+ ic.closeInputPanelReceived = false;
+
+ // input panel should not re-open
+ // if focus has already been set
+ input.setFocus(true);
+ QCOMPARE(ic.openInputPanelReceived, true);
+ ic.openInputPanelReceived = false;
+ input.setFocus(true);
+ QCOMPARE(ic.openInputPanelReceived, false);
+
+ // input method should be disabled
+ // if TextEdit loses focus
+ input.setFocus(false);
+ QApplication::processEvents();
+ QVERIFY(view.inputContext() == 0);
+ QVERIFY(!view.testAttribute(Qt::WA_InputMethodEnabled));
}
class MyTextInput : public QDeclarativeTextInput
@@ -795,8 +982,7 @@ void tst_qdeclarativetextinput::focusOutClearSelection()
view.show();
QApplication::setActiveWindow(&view);
QTest::qWaitForWindowShown(&view);
- input.setSelectionStart(2);
- input.setSelectionEnd(5);
+ input.select(2,5);
//The selection should work
QTRY_COMPARE(input.selectedText(), QLatin1String("llo"));
input2.setFocus(true);
@@ -805,6 +991,16 @@ void tst_qdeclarativetextinput::focusOutClearSelection()
QTRY_COMPARE(input.selectedText(), QLatin1String(""));
}
+void tst_qdeclarativetextinput::geometrySignals()
+{
+ QDeclarativeComponent component(&engine, SRCDIR "/data/geometrySignals.qml");
+ QObject *o = component.create();
+ QVERIFY(o);
+ QCOMPARE(o->property("bindingWidth").toInt(), 400);
+ QCOMPARE(o->property("bindingHeight").toInt(), 500);
+ delete o;
+}
+
QTEST_MAIN(tst_qdeclarativetextinput)
#include "tst_qdeclarativetextinput.moc"
diff --git a/tests/auto/declarative/qdeclarativetimer/qdeclarativetimer.pro b/tests/auto/declarative/qdeclarativetimer/qdeclarativetimer.pro
index 42604d8aad..398139a86a 100644
--- a/tests/auto/declarative/qdeclarativetimer/qdeclarativetimer.pro
+++ b/tests/auto/declarative/qdeclarativetimer/qdeclarativetimer.pro
@@ -4,6 +4,8 @@ macx:CONFIG -= app_bundle
SOURCES += tst_qdeclarativetimer.cpp
-DEFINES += SRCDIR=\\\"$$PWD\\\"
+!symbian: {
+ DEFINES += SRCDIR=\\\"$$PWD\\\"
+}
CONFIG += parallel_test
diff --git a/tests/auto/declarative/qdeclarativetimer/tst_qdeclarativetimer.cpp b/tests/auto/declarative/qdeclarativetimer/tst_qdeclarativetimer.cpp
index da2d1731fb..f49cbd04cc 100644
--- a/tests/auto/declarative/qdeclarativetimer/tst_qdeclarativetimer.cpp
+++ b/tests/auto/declarative/qdeclarativetimer/tst_qdeclarativetimer.cpp
@@ -46,6 +46,11 @@
#include <QtDeclarative/qdeclarativeitem.h>
#include <QDebug>
+#ifdef Q_OS_SYMBIAN
+// In Symbian OS test data is located in applications private dir
+#define SRCDIR "."
+#endif
+
class tst_qdeclarativetimer : public QObject
{
Q_OBJECT
diff --git a/tests/auto/declarative/qdeclarativevaluetypes/data/enums.5.qml b/tests/auto/declarative/qdeclarativevaluetypes/data/enums.5.qml
new file mode 100644
index 0000000000..a66e9d6689
--- /dev/null
+++ b/tests/auto/declarative/qdeclarativevaluetypes/data/enums.5.qml
@@ -0,0 +1,10 @@
+import Test 1.0
+import Qt 4.7 as MyQt
+
+MyTypeObject {
+ MyQt.Component.onCompleted: {
+ font.capitalization = MyQt.Font.AllUppercase
+ }
+}
+
+
diff --git a/tests/auto/declarative/qdeclarativevaluetypes/data/matrix4x4_read.qml b/tests/auto/declarative/qdeclarativevaluetypes/data/matrix4x4_read.qml
new file mode 100644
index 0000000000..6c4a68258c
--- /dev/null
+++ b/tests/auto/declarative/qdeclarativevaluetypes/data/matrix4x4_read.qml
@@ -0,0 +1,22 @@
+import Test 1.0
+
+MyTypeObject {
+ property real v_m11: matrix.m11
+ property real v_m12: matrix.m12
+ property real v_m13: matrix.m13
+ property real v_m14: matrix.m14
+ property real v_m21: matrix.m21
+ property real v_m22: matrix.m22
+ property real v_m23: matrix.m23
+ property real v_m24: matrix.m24
+ property real v_m31: matrix.m31
+ property real v_m32: matrix.m32
+ property real v_m33: matrix.m33
+ property real v_m34: matrix.m34
+ property real v_m41: matrix.m41
+ property real v_m42: matrix.m42
+ property real v_m43: matrix.m43
+ property real v_m44: matrix.m44
+ property variant copy: matrix
+}
+
diff --git a/tests/auto/declarative/qdeclarativevaluetypes/data/matrix4x4_write.qml b/tests/auto/declarative/qdeclarativevaluetypes/data/matrix4x4_write.qml
new file mode 100644
index 0000000000..2a9f154d6f
--- /dev/null
+++ b/tests/auto/declarative/qdeclarativevaluetypes/data/matrix4x4_write.qml
@@ -0,0 +1,21 @@
+import Test 1.0
+
+MyTypeObject {
+ matrix.m11: if (true) 11
+ matrix.m12: if (true) 12
+ matrix.m13: if (true) 13
+ matrix.m14: if (true) 14
+ matrix.m21: if (true) 21
+ matrix.m22: if (true) 22
+ matrix.m23: if (true) 23
+ matrix.m24: if (true) 24
+ matrix.m31: if (true) 31
+ matrix.m32: if (true) 32
+ matrix.m33: if (true) 33
+ matrix.m34: if (true) 34
+ matrix.m41: if (true) 41
+ matrix.m42: if (true) 42
+ matrix.m43: if (true) 43
+ matrix.m44: if (true) 44
+}
+
diff --git a/tests/auto/declarative/qdeclarativevaluetypes/data/quaternion_read.qml b/tests/auto/declarative/qdeclarativevaluetypes/data/quaternion_read.qml
new file mode 100644
index 0000000000..d1a21dc926
--- /dev/null
+++ b/tests/auto/declarative/qdeclarativevaluetypes/data/quaternion_read.qml
@@ -0,0 +1,10 @@
+import Test 1.0
+
+MyTypeObject {
+ property real v_scalar: quaternion.scalar
+ property real v_x: quaternion.x
+ property real v_y: quaternion.y
+ property real v_z: quaternion.z
+ property variant copy: quaternion
+}
+
diff --git a/tests/auto/declarative/qdeclarativevaluetypes/data/quaternion_write.qml b/tests/auto/declarative/qdeclarativevaluetypes/data/quaternion_write.qml
new file mode 100644
index 0000000000..0c3e5afd98
--- /dev/null
+++ b/tests/auto/declarative/qdeclarativevaluetypes/data/quaternion_write.qml
@@ -0,0 +1,9 @@
+import Test 1.0
+
+MyTypeObject {
+ quaternion.scalar: if (true) 88.5
+ quaternion.x: if (true) -0.3
+ quaternion.y: if (true) -12.9
+ quaternion.z: if (true) 907.4
+}
+
diff --git a/tests/auto/declarative/qdeclarativevaluetypes/data/varAssignment.qml b/tests/auto/declarative/qdeclarativevaluetypes/data/varAssignment.qml
new file mode 100644
index 0000000000..e4715aba4a
--- /dev/null
+++ b/tests/auto/declarative/qdeclarativevaluetypes/data/varAssignment.qml
@@ -0,0 +1,14 @@
+import Qt 4.7
+
+QtObject {
+ property int x;
+ property int y;
+ property int z;
+
+ Component.onCompleted: {
+ var vec3 = Qt.vector3d(1, 2, 3);
+ x = vec3.x;
+ y = vec3.y;
+ z = vec3.z;
+ }
+}
diff --git a/tests/auto/declarative/qdeclarativevaluetypes/data/vector2d_read.qml b/tests/auto/declarative/qdeclarativevaluetypes/data/vector2d_read.qml
new file mode 100644
index 0000000000..fc315f7abf
--- /dev/null
+++ b/tests/auto/declarative/qdeclarativevaluetypes/data/vector2d_read.qml
@@ -0,0 +1,8 @@
+import Test 1.0
+
+MyTypeObject {
+ property real v_x: vector2.x
+ property real v_y: vector2.y
+ property variant copy: vector2
+}
+
diff --git a/tests/auto/declarative/qdeclarativevaluetypes/data/vector2d_write.qml b/tests/auto/declarative/qdeclarativevaluetypes/data/vector2d_write.qml
new file mode 100644
index 0000000000..f0e35ff200
--- /dev/null
+++ b/tests/auto/declarative/qdeclarativevaluetypes/data/vector2d_write.qml
@@ -0,0 +1,7 @@
+import Test 1.0
+
+MyTypeObject {
+ vector2.x: if (true) -0.3
+ vector2.y: if (true) -12.9
+}
+
diff --git a/tests/auto/declarative/qdeclarativevaluetypes/data/vector4d_read.qml b/tests/auto/declarative/qdeclarativevaluetypes/data/vector4d_read.qml
new file mode 100644
index 0000000000..f9d5d6053e
--- /dev/null
+++ b/tests/auto/declarative/qdeclarativevaluetypes/data/vector4d_read.qml
@@ -0,0 +1,10 @@
+import Test 1.0
+
+MyTypeObject {
+ property real v_x: vector4.x
+ property real v_y: vector4.y
+ property real v_z: vector4.z
+ property real v_w: vector4.w
+ property variant copy: vector4
+}
+
diff --git a/tests/auto/declarative/qdeclarativevaluetypes/data/vector4d_write.qml b/tests/auto/declarative/qdeclarativevaluetypes/data/vector4d_write.qml
new file mode 100644
index 0000000000..548698126d
--- /dev/null
+++ b/tests/auto/declarative/qdeclarativevaluetypes/data/vector4d_write.qml
@@ -0,0 +1,9 @@
+import Test 1.0
+
+MyTypeObject {
+ vector4.x: if (true) -0.3
+ vector4.y: if (true) -12.9
+ vector4.z: if (true) 907.4
+ vector4.w: if (true) 88.5
+}
+
diff --git a/tests/auto/declarative/qdeclarativevaluetypes/qdeclarativevaluetypes.pro b/tests/auto/declarative/qdeclarativevaluetypes/qdeclarativevaluetypes.pro
index d9f1c131be..90e46d3967 100644
--- a/tests/auto/declarative/qdeclarativevaluetypes/qdeclarativevaluetypes.pro
+++ b/tests/auto/declarative/qdeclarativevaluetypes/qdeclarativevaluetypes.pro
@@ -7,7 +7,13 @@ HEADERS += testtypes.h
SOURCES += tst_qdeclarativevaluetypes.cpp \
testtypes.cpp
-DEFINES += SRCDIR=\\\"$$PWD\\\"
+symbian: {
+ importFiles.sources = data
+ importFiles.path = .
+ DEPLOYMENT = importFiles
+} else {
+ DEFINES += SRCDIR=\\\"$$PWD\\\"
+}
CONFIG += parallel_test
diff --git a/tests/auto/declarative/qdeclarativevaluetypes/testtypes.h b/tests/auto/declarative/qdeclarativevaluetypes/testtypes.h
index 8a9b981823..7ed3993e25 100644
--- a/tests/auto/declarative/qdeclarativevaluetypes/testtypes.h
+++ b/tests/auto/declarative/qdeclarativevaluetypes/testtypes.h
@@ -48,7 +48,11 @@
#include <QSizeF>
#include <QRect>
#include <QRectF>
+#include <QVector2D>
#include <QVector3D>
+#include <QVector4D>
+#include <QQuaternion>
+#include <QMatrix4x4>
#include <QFont>
#include <qdeclarative.h>
#include <QDeclarativePropertyValueSource>
@@ -66,7 +70,11 @@ class MyTypeObject : public QObject
Q_PROPERTY(QSize sizereadonly READ size NOTIFY changed)
Q_PROPERTY(QRect rect READ rect WRITE setRect NOTIFY changed)
Q_PROPERTY(QRectF rectf READ rectf WRITE setRectf NOTIFY changed)
+ Q_PROPERTY(QVector2D vector2 READ vector2 WRITE setVector2 NOTIFY changed)
Q_PROPERTY(QVector3D vector READ vector WRITE setVector NOTIFY changed)
+ Q_PROPERTY(QVector4D vector4 READ vector4 WRITE setVector4 NOTIFY changed)
+ Q_PROPERTY(QQuaternion quaternion READ quaternion WRITE setQuaternion NOTIFY changed)
+ Q_PROPERTY(QMatrix4x4 matrix READ matrix WRITE setMatrix NOTIFY changed)
Q_PROPERTY(QFont font READ font WRITE setFont NOTIFY changed)
public:
@@ -77,7 +85,11 @@ public:
m_sizef(0.1, 100923.2),
m_rect(2, 3, 109, 102),
m_rectf(103.8, 99.2, 88.1, 77.6),
- m_vector(23.88, 3.1, 4.3)
+ m_vector2(32.88, 1.3),
+ m_vector(23.88, 3.1, 4.3),
+ m_vector4(54.2, 23.88, 3.1, 4.3),
+ m_quaternion(4.3, 54.2, 23.88, 3.1),
+ m_matrix(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16)
{
m_font.setFamily("Arial");
m_font.setBold(true);
@@ -87,7 +99,7 @@ public:
m_font.setOverline(true);
m_font.setStrikeOut(true);
m_font.setPointSize(29);
- m_font.setCapitalization(QFont::AllUppercase);
+ m_font.setCapitalization(QFont::AllLowercase);
m_font.setLetterSpacing(QFont::AbsoluteSpacing, 10.2);
m_font.setWordSpacing(19.7);
}
@@ -116,10 +128,26 @@ public:
QRectF rectf() const { return m_rectf; }
void setRectf(const QRectF &v) { m_rectf = v; emit changed(); }
+ QVector2D m_vector2;
+ QVector2D vector2() const { return m_vector2; }
+ void setVector2(const QVector2D &v) { m_vector2 = v; emit changed(); }
+
QVector3D m_vector;
QVector3D vector() const { return m_vector; }
void setVector(const QVector3D &v) { m_vector = v; emit changed(); }
+ QVector4D m_vector4;
+ QVector4D vector4() const { return m_vector4; }
+ void setVector4(const QVector4D &v) { m_vector4 = v; emit changed(); }
+
+ QQuaternion m_quaternion;
+ QQuaternion quaternion() const { return m_quaternion; }
+ void setQuaternion(const QQuaternion &v) { m_quaternion = v; emit changed(); }
+
+ QMatrix4x4 m_matrix;
+ QMatrix4x4 matrix() const { return m_matrix; }
+ void setMatrix(const QMatrix4x4 &v) { m_matrix = v; emit changed(); }
+
QFont m_font;
QFont font() const { return m_font; }
void setFont(const QFont &v) { m_font = v; emit changed(); }
diff --git a/tests/auto/declarative/qdeclarativevaluetypes/tst_qdeclarativevaluetypes.cpp b/tests/auto/declarative/qdeclarativevaluetypes/tst_qdeclarativevaluetypes.cpp
index b733b10310..81334f20cc 100644
--- a/tests/auto/declarative/qdeclarativevaluetypes/tst_qdeclarativevaluetypes.cpp
+++ b/tests/auto/declarative/qdeclarativevaluetypes/tst_qdeclarativevaluetypes.cpp
@@ -46,6 +46,15 @@
#include <private/qdeclarativevaluetype_p.h>
#include "testtypes.h"
+#ifdef Q_OS_SYMBIAN
+// In Symbian OS test data is located in applications private dir
+#define SRCDIR "."
+#endif
+
+QT_BEGIN_NAMESPACE
+extern int qt_defaultDpi();
+QT_END_NAMESPACE
+
class tst_qdeclarativevaluetypes : public QObject
{
Q_OBJECT
@@ -62,7 +71,11 @@ private slots:
void sizereadonly();
void rect();
void rectf();
+ void vector2d();
void vector3d();
+ void vector4d();
+ void quaternion();
+ void matrix4x4();
void font();
void bindingAssignment();
@@ -80,6 +93,7 @@ private slots:
void enums();
void conflictingBindings();
void returnValues();
+ void varAssignment();
private:
QDeclarativeEngine engine;
@@ -293,6 +307,31 @@ void tst_qdeclarativevaluetypes::rectf()
}
}
+void tst_qdeclarativevaluetypes::vector2d()
+{
+ {
+ QDeclarativeComponent component(&engine, TEST_FILE("vector2d_read.qml"));
+ MyTypeObject *object = qobject_cast<MyTypeObject *>(component.create());
+ QVERIFY(object != 0);
+
+ QCOMPARE((float)object->property("v_x").toDouble(), (float)32.88);
+ QCOMPARE((float)object->property("v_y").toDouble(), (float)1.3);
+ QCOMPARE(object->property("copy"), QVariant(QVector2D(32.88, 1.3)));
+
+ delete object;
+ }
+
+ {
+ QDeclarativeComponent component(&engine, TEST_FILE("vector2d_write.qml"));
+ MyTypeObject *object = qobject_cast<MyTypeObject *>(component.create());
+ QVERIFY(object != 0);
+
+ QCOMPARE(object->vector2(), QVector2D(-0.3, -12.9));
+
+ delete object;
+ }
+}
+
void tst_qdeclarativevaluetypes::vector3d()
{
{
@@ -319,6 +358,106 @@ void tst_qdeclarativevaluetypes::vector3d()
}
}
+void tst_qdeclarativevaluetypes::vector4d()
+{
+ {
+ QDeclarativeComponent component(&engine, TEST_FILE("vector4d_read.qml"));
+ MyTypeObject *object = qobject_cast<MyTypeObject *>(component.create());
+ QVERIFY(object != 0);
+
+ QCOMPARE((float)object->property("v_x").toDouble(), (float)54.2);
+ QCOMPARE((float)object->property("v_y").toDouble(), (float)23.88);
+ QCOMPARE((float)object->property("v_z").toDouble(), (float)3.1);
+ QCOMPARE((float)object->property("v_w").toDouble(), (float)4.3);
+ QCOMPARE(object->property("copy"), QVariant(QVector4D(54.2, 23.88, 3.1, 4.3)));
+
+ delete object;
+ }
+
+ {
+ QDeclarativeComponent component(&engine, TEST_FILE("vector4d_write.qml"));
+ MyTypeObject *object = qobject_cast<MyTypeObject *>(component.create());
+ QVERIFY(object != 0);
+
+ QCOMPARE(object->vector4(), QVector4D(-0.3, -12.9, 907.4, 88.5));
+
+ delete object;
+ }
+}
+
+void tst_qdeclarativevaluetypes::quaternion()
+{
+ {
+ QDeclarativeComponent component(&engine, TEST_FILE("quaternion_read.qml"));
+ MyTypeObject *object = qobject_cast<MyTypeObject *>(component.create());
+ QVERIFY(object != 0);
+
+ QCOMPARE((float)object->property("v_scalar").toDouble(), (float)4.3);
+ QCOMPARE((float)object->property("v_x").toDouble(), (float)54.2);
+ QCOMPARE((float)object->property("v_y").toDouble(), (float)23.88);
+ QCOMPARE((float)object->property("v_z").toDouble(), (float)3.1);
+ QCOMPARE(object->property("copy"), QVariant(QQuaternion(4.3, 54.2, 23.88, 3.1)));
+
+ delete object;
+ }
+
+ {
+ QDeclarativeComponent component(&engine, TEST_FILE("quaternion_write.qml"));
+ MyTypeObject *object = qobject_cast<MyTypeObject *>(component.create());
+ QVERIFY(object != 0);
+
+ QCOMPARE(object->quaternion(), QQuaternion(88.5, -0.3, -12.9, 907.4));
+
+ delete object;
+ }
+}
+
+void tst_qdeclarativevaluetypes::matrix4x4()
+{
+ {
+ QDeclarativeComponent component(&engine, TEST_FILE("matrix4x4_read.qml"));
+ MyTypeObject *object = qobject_cast<MyTypeObject *>(component.create());
+ QVERIFY(object != 0);
+
+ QCOMPARE((float)object->property("v_m11").toDouble(), (float)1);
+ QCOMPARE((float)object->property("v_m12").toDouble(), (float)2);
+ QCOMPARE((float)object->property("v_m13").toDouble(), (float)3);
+ QCOMPARE((float)object->property("v_m14").toDouble(), (float)4);
+ QCOMPARE((float)object->property("v_m21").toDouble(), (float)5);
+ QCOMPARE((float)object->property("v_m22").toDouble(), (float)6);
+ QCOMPARE((float)object->property("v_m23").toDouble(), (float)7);
+ QCOMPARE((float)object->property("v_m24").toDouble(), (float)8);
+ QCOMPARE((float)object->property("v_m31").toDouble(), (float)9);
+ QCOMPARE((float)object->property("v_m32").toDouble(), (float)10);
+ QCOMPARE((float)object->property("v_m33").toDouble(), (float)11);
+ QCOMPARE((float)object->property("v_m34").toDouble(), (float)12);
+ QCOMPARE((float)object->property("v_m41").toDouble(), (float)13);
+ QCOMPARE((float)object->property("v_m42").toDouble(), (float)14);
+ QCOMPARE((float)object->property("v_m43").toDouble(), (float)15);
+ QCOMPARE((float)object->property("v_m44").toDouble(), (float)16);
+ QCOMPARE(object->property("copy"),
+ QVariant(QMatrix4x4(1, 2, 3, 4,
+ 5, 6, 7, 8,
+ 9, 10, 11, 12,
+ 13, 14, 15, 16)));
+
+ delete object;
+ }
+
+ {
+ QDeclarativeComponent component(&engine, TEST_FILE("matrix4x4_write.qml"));
+ MyTypeObject *object = qobject_cast<MyTypeObject *>(component.create());
+ QVERIFY(object != 0);
+
+ QCOMPARE(object->matrix(), QMatrix4x4(11, 12, 13, 14,
+ 21, 22, 23, 24,
+ 31, 32, 33, 34,
+ 41, 42, 43, 44));
+
+ delete object;
+ }
+}
+
void tst_qdeclarativevaluetypes::font()
{
{
@@ -334,7 +473,7 @@ void tst_qdeclarativevaluetypes::font()
QCOMPARE(object->property("f_overline").toBool(), object->font().overline());
QCOMPARE(object->property("f_strikeout").toBool(), object->font().strikeOut());
QCOMPARE(object->property("f_pointSize").toDouble(), object->font().pointSizeF());
- QCOMPARE(object->property("f_pixelSize").toInt(), object->font().pixelSize());
+ QCOMPARE(object->property("f_pixelSize").toInt(), int((object->font().pointSizeF() * qt_defaultDpi()) / qreal(72.)));
QCOMPARE(object->property("f_capitalization").toInt(), (int)object->font().capitalization());
QCOMPARE(object->property("f_letterSpacing").toDouble(), object->font().letterSpacing());
QCOMPARE(object->property("f_wordSpacing").toDouble(), object->font().wordSpacing());
@@ -665,7 +804,12 @@ void tst_qdeclarativevaluetypes::cppClasses()
CPP_TEST(QDeclarativeSizeFValueType, QSizeF(-100.7, 18.2));
CPP_TEST(QDeclarativeRectValueType, QRect(13, 39, 10928, 88));
CPP_TEST(QDeclarativeRectFValueType, QRectF(88.2, -90.1, 103.2, 118));
+ CPP_TEST(QDeclarativeVector2DValueType, QVector2D(19.7, 1002));
CPP_TEST(QDeclarativeVector3DValueType, QVector3D(18.2, 19.7, 1002));
+ CPP_TEST(QDeclarativeVector4DValueType, QVector4D(18.2, 19.7, 1002, 54));
+ CPP_TEST(QDeclarativeQuaternionValueType, QQuaternion(18.2, 19.7, 1002, 54));
+ CPP_TEST(QDeclarativeMatrix4x4ValueType,
+ QMatrix4x4(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16));
CPP_TEST(QDeclarativeFontValueType, QFont("Helvetica"));
}
@@ -703,6 +847,14 @@ void tst_qdeclarativevaluetypes::enums()
QVERIFY(object->font().capitalization() == QFont::AllUppercase);
delete object;
}
+
+ {
+ QDeclarativeComponent component(&engine, TEST_FILE("enums.5.qml"));
+ MyTypeObject *object = qobject_cast<MyTypeObject *>(component.create());
+ QVERIFY(object != 0);
+ QVERIFY(object->font().capitalization() == QFont::AllUppercase);
+ delete object;
+ }
}
// Tests switching between "conflicting" bindings (eg. a binding on the core
@@ -777,6 +929,19 @@ void tst_qdeclarativevaluetypes::returnValues()
delete object;
}
+void tst_qdeclarativevaluetypes::varAssignment()
+{
+ QDeclarativeComponent component(&engine, TEST_FILE("varAssignment.qml"));
+ QObject *object = component.create();
+ QVERIFY(object != 0);
+
+ QCOMPARE(object->property("x").toInt(), 1);
+ QCOMPARE(object->property("y").toInt(), 2);
+ QCOMPARE(object->property("z").toInt(), 3);
+
+ delete object;
+}
+
QTEST_MAIN(tst_qdeclarativevaluetypes)
#include "tst_qdeclarativevaluetypes.moc"
diff --git a/tests/auto/declarative/qdeclarativeview/qdeclarativeview.pro b/tests/auto/declarative/qdeclarativeview/qdeclarativeview.pro
index d6be7289cd..21a9195606 100644
--- a/tests/auto/declarative/qdeclarativeview/qdeclarativeview.pro
+++ b/tests/auto/declarative/qdeclarativeview/qdeclarativeview.pro
@@ -4,4 +4,10 @@ macx:CONFIG -= app_bundle
SOURCES += tst_qdeclarativeview.cpp
-DEFINES += SRCDIR=\\\"$$PWD\\\"
+symbian: {
+ importFiles.sources = data
+ importFiles.path = .
+ DEPLOYMENT = importFiles
+} else {
+ DEFINES += SRCDIR=\\\"$$PWD\\\"
+}
diff --git a/tests/auto/declarative/qdeclarativeview/tst_qdeclarativeview.cpp b/tests/auto/declarative/qdeclarativeview/tst_qdeclarativeview.cpp
index 1ed51c11c9..6450e38c57 100644
--- a/tests/auto/declarative/qdeclarativeview/tst_qdeclarativeview.cpp
+++ b/tests/auto/declarative/qdeclarativeview/tst_qdeclarativeview.cpp
@@ -45,6 +45,12 @@
#include <QtDeclarative/qdeclarativeview.h>
#include <QtDeclarative/qdeclarativeitem.h>
#include <QtGui/qgraphicswidget.h>
+#include "../../../shared/util.h"
+
+#ifdef Q_OS_SYMBIAN
+// In Symbian OS test data is located in applications private dir
+#define SRCDIR "."
+#endif
class tst_QDeclarativeView : public QObject
@@ -74,6 +80,7 @@ void tst_QDeclarativeView::resizemodedeclarativeitem()
QVERIFY(canvas);
QSignalSpy sceneResizedSpy(canvas, SIGNAL(sceneResized(QSize)));
canvas->setResizeMode(QDeclarativeView::SizeRootObjectToView);
+ QCOMPARE(QSize(0,0), canvas->initialSize());
canvas->setSource(QUrl::fromLocalFile(SRCDIR "/data/resizemodedeclarativeitem.qml"));
QDeclarativeItem* declarativeItem = qobject_cast<QDeclarativeItem*>(canvas->rootObject());
QVERIFY(declarativeItem);
@@ -84,6 +91,7 @@ void tst_QDeclarativeView::resizemodedeclarativeitem()
QCOMPARE(declarativeItem->height(), 200.0);
QCOMPARE(canvas->size(), QSize(200, 200));
QCOMPARE(canvas->size(), canvas->sizeHint());
+ QCOMPARE(canvas->size(), canvas->initialSize());
QCOMPARE(sceneResizedSpy.count(), 1);
// size update from view
@@ -106,9 +114,9 @@ void tst_QDeclarativeView::resizemodedeclarativeitem()
// size update from root object
declarativeItem->setWidth(250);
declarativeItem->setHeight(350);
- qApp->processEvents();
QCOMPARE(declarativeItem->width(), 250.0);
QCOMPARE(declarativeItem->height(), 350.0);
+ QTRY_COMPARE(canvas->size(), QSize(250, 350));
QCOMPARE(canvas->size(), QSize(250, 350));
QCOMPARE(canvas->size(), canvas->sizeHint());
QCOMPARE(sceneResizedSpy.count(), 4);
@@ -129,14 +137,15 @@ void tst_QDeclarativeView::resizemodedeclarativeitem()
QCOMPARE(declarativeItem->width(), 200.0);
QCOMPARE(declarativeItem->height(), 200.0);
QCOMPARE(canvas->size(), canvas->sizeHint());
+ QCOMPARE(canvas->size(), canvas->initialSize());
QCOMPARE(sceneResizedSpy2.count(), 1);
// size update from root object
declarativeItem->setWidth(80);
declarativeItem->setHeight(100);
- qApp->processEvents();
QCOMPARE(declarativeItem->width(), 80.0);
QCOMPARE(declarativeItem->height(), 100.0);
+ QTRY_COMPARE(canvas->size(), QSize(80, 100));
QCOMPARE(canvas->size(), QSize(80, 100));
QCOMPARE(canvas->size(), canvas->sizeHint());
QCOMPARE(sceneResizedSpy2.count(), 2);
@@ -147,7 +156,7 @@ void tst_QDeclarativeView::resizemodedeclarativeitem()
declarativeItem->setHeight(80);
QCOMPARE(canvas->width(), 80);
QCOMPARE(canvas->height(), 100);
- QCOMPARE(canvas->size(), canvas->sizeHint());
+ QCOMPARE(QSize(declarativeItem->width(), declarativeItem->height()), canvas->sizeHint());
QCOMPARE(sceneResizedSpy2.count(), 2);
// size update from view
@@ -178,6 +187,7 @@ void tst_QDeclarativeView::resizemodegraphicswidget()
QCOMPARE(canvas->size(), QSize(200, 200));
QCOMPARE(canvas->size(), QSize(200, 200));
QCOMPARE(canvas->size(), canvas->sizeHint());
+ QCOMPARE(canvas->size(), canvas->initialSize());
QCOMPARE(sceneResizedSpy.count(), 1);
// size update from view
@@ -217,6 +227,7 @@ void tst_QDeclarativeView::resizemodegraphicswidget()
QCOMPARE(graphicsWidget->size(), QSizeF(200.0, 200.0));
QCOMPARE(canvas->size(), QSize(200, 200));
QCOMPARE(canvas->size(), canvas->sizeHint());
+ QCOMPARE(canvas->size(), canvas->initialSize());
QCOMPARE(sceneResizedSpy2.count(), 1);
// size update from root object
@@ -230,7 +241,7 @@ void tst_QDeclarativeView::resizemodegraphicswidget()
canvas->setResizeMode(QDeclarativeView::SizeRootObjectToView);
graphicsWidget->resize(QSizeF(60,80));
QCOMPARE(canvas->size(), QSize(80,100));
- QCOMPARE(canvas->size(), canvas->sizeHint());
+ QCOMPARE(QSize(graphicsWidget->size().width(), graphicsWidget->size().height()), canvas->sizeHint());
QCOMPARE(sceneResizedSpy2.count(), 2);
// size update from view
diff --git a/tests/auto/declarative/qdeclarativeviewer/data/orientation.qml b/tests/auto/declarative/qdeclarativeviewer/data/orientation.qml
new file mode 100644
index 0000000000..57db82db22
--- /dev/null
+++ b/tests/auto/declarative/qdeclarativeviewer/data/orientation.qml
@@ -0,0 +1,19 @@
+import Qt 4.7
+Rectangle {
+ color: "black"
+ width: (runtime.orientation == Orientation.Landscape || runtime.orientation == Orientation.LandscapeInverted) ? 300 : 200
+ height: (runtime.orientation == Orientation.Landscape || runtime.orientation == Orientation.LandscapeInverted) ? 200 : 300
+ Text {
+ text: {
+ if (runtime.orientation == Orientation.Portrait)
+ return "Portrait"
+ if (runtime.orientation == Orientation.PortraitInverted)
+ return "PortraitInverted"
+ if (runtime.orientation == Orientation.Landscape)
+ return "Landscape"
+ if (runtime.orientation == Orientation.LandscapeInverted)
+ return "LandscapeInverted"
+ }
+ color: "white"
+ }
+}
diff --git a/tests/auto/declarative/qdeclarativeviewer/qdeclarativeviewer.pro b/tests/auto/declarative/qdeclarativeviewer/qdeclarativeviewer.pro
new file mode 100644
index 0000000000..6189916a43
--- /dev/null
+++ b/tests/auto/declarative/qdeclarativeviewer/qdeclarativeviewer.pro
@@ -0,0 +1,17 @@
+load(qttest_p4)
+contains(QT_CONFIG,declarative): QT += declarative gui
+macx:CONFIG -= app_bundle
+
+include(../../../../tools/qml/qml.pri)
+
+SOURCES += tst_qdeclarativeviewer.cpp
+
+symbian: {
+ importFiles.sources = data
+ importFiles.path = .
+ DEPLOYMENT = importFiles
+} else {
+ DEFINES += SRCDIR=\\\"$$PWD\\\"
+}
+
+CONFIG += parallel_test
diff --git a/tests/auto/declarative/qdeclarativeviewer/tst_qdeclarativeviewer.cpp b/tests/auto/declarative/qdeclarativeviewer/tst_qdeclarativeviewer.cpp
new file mode 100644
index 0000000000..f30f75877c
--- /dev/null
+++ b/tests/auto/declarative/qdeclarativeviewer/tst_qdeclarativeviewer.cpp
@@ -0,0 +1,316 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the test suite of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include <qtest.h>
+#include <QtDeclarative/qdeclarativeengine.h>
+#include <QtDeclarative/qdeclarativeview.h>
+#include <QtDeclarative/qdeclarativeitem.h>
+#include "../../../shared/util.h"
+#include "qmlruntime.h"
+#include "../../../shared/util.h"
+
+#ifdef Q_OS_SYMBIAN
+// In Symbian OS test data is located in applications private dir
+#define SRCDIR "."
+#endif
+
+class tst_QDeclarativeViewer : public QObject
+
+{
+ Q_OBJECT
+public:
+ tst_QDeclarativeViewer();
+
+private slots:
+ void orientation();
+ void loading();
+ void fileBrowser();
+ void resizing();
+ void paths();
+ void slowMode();
+
+private:
+ QDeclarativeEngine engine;
+};
+
+tst_QDeclarativeViewer::tst_QDeclarativeViewer()
+{
+}
+
+void tst_QDeclarativeViewer::orientation()
+{
+ QWidget window;
+ QDeclarativeViewer *viewer = new QDeclarativeViewer(&window);
+ QVERIFY(viewer);
+ viewer->open(SRCDIR "/data/orientation.qml");
+ QVERIFY(viewer->view());
+ QVERIFY(viewer->menuBar());
+ QDeclarativeItem* rootItem = qobject_cast<QDeclarativeItem*>(viewer->view()->rootObject());
+ QVERIFY(rootItem);
+ window.show();
+
+ QApplication::setActiveWindow(&window);
+ QTest::qWaitForWindowShown(&window);
+ QTRY_COMPARE(QApplication::activeWindow(), static_cast<QWidget *>(&window));
+
+ QCOMPARE(rootItem->width(), 200.0);
+ QCOMPARE(rootItem->height(), 300.0);
+ QTRY_COMPARE(viewer->view()->size(), QSize(200, 300));
+ QCOMPARE(viewer->view()->sceneRect().size(), QSizeF(200, 300));
+ QCOMPARE(viewer->size(), QSize(200, 300+viewer->menuBar()->height()));
+ QCOMPARE(viewer->size(), viewer->sizeHint());
+
+ viewer->rotateOrientation();
+ qApp->processEvents();
+
+ QCOMPARE(rootItem->width(), 300.0);
+ QCOMPARE(rootItem->height(), 200.0);
+ QTRY_COMPARE(viewer->view()->size(), QSize(300, 200));
+ QCOMPARE(viewer->view()->sceneRect().size(), QSizeF(300, 200));
+ QCOMPARE(viewer->size(), QSize(300, 200+viewer->menuBar()->height()));
+ QCOMPARE(viewer->size(), viewer->sizeHint());
+
+ viewer->rotateOrientation();
+ qApp->processEvents();
+
+ QCOMPARE(rootItem->width(), 200.0);
+ QCOMPARE(rootItem->height(), 300.0);
+ QTRY_COMPARE(viewer->view()->size(), QSize(200, 300));
+ QCOMPARE(viewer->view()->sceneRect().size(), QSizeF(200, 300));
+ QCOMPARE(viewer->size(), QSize(200, 300+viewer->menuBar()->height()));
+ QCOMPARE(viewer->size(), viewer->sizeHint());
+}
+
+void tst_QDeclarativeViewer::loading()
+{
+ QDeclarativeViewer *viewer = new QDeclarativeViewer();
+ QVERIFY(viewer);
+ viewer->setSizeToView(true);
+ viewer->open(SRCDIR "/data/orientation.qml");
+ QVERIFY(viewer->view());
+ QVERIFY(viewer->menuBar());
+ QDeclarativeItem* rootItem = qobject_cast<QDeclarativeItem*>(viewer->view()->rootObject());
+ QVERIFY(rootItem);
+ viewer->show();
+
+ QApplication::setActiveWindow(viewer);
+ QTest::qWaitForWindowShown(viewer);
+ QTRY_COMPARE(QApplication::activeWindow(), static_cast<QWidget *>(viewer));
+
+ // initial size
+ QTRY_COMPARE(rootItem->width(), 200.0);
+ QTRY_COMPARE(rootItem->height(), 300.0);
+ QCOMPARE(viewer->view()->size(), QSize(200, 300));
+ QCOMPARE(viewer->view()->sceneRect().size(), QSizeF(200, 300));
+ QCOMPARE(viewer->size(), QSize(200, 300+viewer->menuBar()->height()));
+ QCOMPARE(viewer->size(), viewer->sizeHint());
+
+ viewer->resize(QSize(400, 500));
+ qApp->processEvents();
+
+ // window resized
+ QTRY_COMPARE(rootItem->width(), 400.0);
+ QTRY_COMPARE(rootItem->height(), 500.0-viewer->menuBar()->height());
+ QCOMPARE(viewer->view()->size(), QSize(400, 500-viewer->menuBar()->height()));
+ QCOMPARE(viewer->view()->initialSize(), QSize(200, 300));
+ QCOMPARE(viewer->view()->sceneRect().size(), QSizeF(400, 500-viewer->menuBar()->height()));
+ QCOMPARE(viewer->size(), QSize(400, 500));
+ QCOMPARE(viewer->size(), viewer->sizeHint());
+
+ viewer->reload();
+ rootItem = qobject_cast<QDeclarativeItem*>(viewer->view()->rootObject());
+ QVERIFY(rootItem);
+
+ // reload cause the window to return back to initial size
+ QTRY_COMPARE(rootItem->width(), 200.0);
+ QTRY_COMPARE(rootItem->height(), 300.0);
+ QCOMPARE(viewer->view()->size(), QSize(200, 300));
+ QCOMPARE(viewer->view()->initialSize(), QSize(200, 300));
+ QCOMPARE(viewer->view()->sceneRect().size(), QSizeF(200, 300));
+ QCOMPARE(viewer->size(), QSize(200, 300+viewer->menuBar()->height()));
+ QCOMPARE(viewer->size(), viewer->sizeHint());
+
+ viewer->resize(QSize(400, 500));
+ qApp->processEvents();
+
+ // window resized again
+ QTRY_COMPARE(rootItem->width(), 400.0);
+ QTRY_COMPARE(rootItem->height(), 500.0-viewer->menuBar()->height());
+ QCOMPARE(viewer->view()->size(), QSize(400, 500-viewer->menuBar()->height()));
+ QCOMPARE(viewer->view()->initialSize(), QSize(200, 300));
+ QCOMPARE(viewer->view()->sceneRect().size(), QSizeF(400, 500-viewer->menuBar()->height()));
+ QCOMPARE(viewer->size(), QSize(400, 500));
+ QCOMPARE(viewer->size(), viewer->sizeHint());
+
+ viewer->open(SRCDIR "/data/orientation.qml");
+ rootItem = qobject_cast<QDeclarativeItem*>(viewer->view()->rootObject());
+ QVERIFY(rootItem);
+
+ // open also causes the window to return back to initial size
+ QTRY_COMPARE(rootItem->width(), 200.0);
+ QTRY_COMPARE(rootItem->height(), 300.0);
+ QCOMPARE(viewer->view()->size(), QSize(200, 300));
+ QCOMPARE(viewer->view()->initialSize(), QSize(200, 300));
+ QCOMPARE(viewer->view()->sceneRect().size(), QSizeF(200, 300));
+ QCOMPARE(viewer->size(), QSize(200, 300+viewer->menuBar()->height()));
+ QCOMPARE(viewer->size(), viewer->sizeHint());
+}
+
+void tst_QDeclarativeViewer::fileBrowser()
+{
+ QDeclarativeViewer *viewer = new QDeclarativeViewer();
+ QVERIFY(viewer);
+ viewer->setUseNativeFileBrowser(false);
+ viewer->openFile();
+ viewer->show();
+
+ QApplication::setActiveWindow(viewer);
+ QTest::qWaitForWindowShown(viewer);
+ QTRY_COMPARE(QApplication::activeWindow(), static_cast<QWidget *>(viewer));
+
+ // Browser.qml successfully loaded
+ QDeclarativeItem* browserItem = qobject_cast<QDeclarativeItem*>(viewer->view()->rootObject());
+ QVERIFY(viewer->view());
+ QVERIFY(viewer->menuBar());
+ QVERIFY(browserItem);
+
+ // load something
+ viewer->open(SRCDIR "/data/orientation.qml");
+ QVERIFY(viewer->view());
+ QVERIFY(viewer->menuBar());
+ QDeclarativeItem* rootItem = qobject_cast<QDeclarativeItem*>(viewer->view()->rootObject());
+ QVERIFY(rootItem);
+ QVERIFY(browserItem != rootItem);
+
+ // go back to Browser.qml
+ viewer->openFile();
+ browserItem = qobject_cast<QDeclarativeItem*>(viewer->view()->rootObject());
+ QVERIFY(viewer->view());
+ QVERIFY(viewer->menuBar());
+ QVERIFY(browserItem);
+}
+
+void tst_QDeclarativeViewer::resizing()
+{
+ QDeclarativeViewer *viewer = new QDeclarativeViewer();
+ QVERIFY(viewer);
+ viewer->open(SRCDIR "/data/orientation.qml");
+ QVERIFY(viewer->view());
+ QVERIFY(viewer->menuBar());
+ QDeclarativeItem* rootItem = qobject_cast<QDeclarativeItem*>(viewer->view()->rootObject());
+ QVERIFY(rootItem);
+ viewer->show();
+
+ QApplication::setActiveWindow(viewer);
+ QTest::qWaitForWindowShown(viewer);
+ QTRY_COMPARE(QApplication::activeWindow(), static_cast<QWidget *>(viewer));
+
+ // initial size
+ QCOMPARE(rootItem->width(), 200.0);
+ QCOMPARE(rootItem->height(), 300.0);
+ QCOMPARE(viewer->view()->size(), QSize(200, 300));
+ QCOMPARE(viewer->view()->initialSize(), QSize(200, 300));
+ QCOMPARE(viewer->view()->sceneRect().size(), QSizeF(200, 300));
+ QCOMPARE(viewer->size(), QSize(200, 300+viewer->menuBar()->height()));
+ QCOMPARE(viewer->size(), viewer->sizeHint());
+
+ viewer->setSizeToView(false);
+
+ // size view to root object
+ rootItem->setWidth(150);
+ rootItem->setHeight(200);
+ qApp->processEvents();
+
+ QCOMPARE(rootItem->width(), 150.0);
+ QCOMPARE(rootItem->height(), 200.0);
+ QCOMPARE(viewer->view()->size(), QSize(150, 200));
+ QCOMPARE(viewer->view()->initialSize(), QSize(200, 300));
+ QCOMPARE(viewer->view()->sceneRect().size(), QSizeF(150, 200));
+ QCOMPARE(viewer->size(), QSize(150, 200+viewer->menuBar()->height()));
+
+ // do not size root object to view
+ viewer->resize(QSize(180,250));
+ QCOMPARE(rootItem->width(), 150.0);
+ QCOMPARE(rootItem->height(), 200.0);
+
+ viewer->setSizeToView(true);
+
+ // size root object to view
+ viewer->resize(QSize(250,350));
+ qApp->processEvents();
+
+ QTRY_COMPARE(rootItem->width(), 250.0);
+ QTRY_COMPARE(rootItem->height(), 350.0-viewer->menuBar()->height());
+ QCOMPARE(viewer->view()->size(), QSize(250, 350-viewer->menuBar()->height()));
+ QCOMPARE(viewer->view()->initialSize(), QSize(200, 300));
+ QCOMPARE(viewer->view()->sceneRect().size(), QSizeF(250, 350-viewer->menuBar()->height()));
+ QCOMPARE(viewer->size(), QSize(250, 350));
+
+ // do not size view to root object
+ rootItem->setWidth(150);
+ rootItem->setHeight(200);
+ QTRY_COMPARE(viewer->size(), QSize(250, 350));
+}
+
+void tst_QDeclarativeViewer::paths()
+{
+ QDeclarativeViewer *viewer = new QDeclarativeViewer();
+ QVERIFY(viewer);
+
+ viewer->addLibraryPath("miscImportPath");
+ viewer->view()->engine()->importPathList().contains("miscImportPath");
+
+ viewer->addPluginPath("miscPluginPath");
+ viewer->view()->engine()->pluginPathList().contains("miscPluginPath");
+}
+
+void tst_QDeclarativeViewer::slowMode()
+{
+ QDeclarativeViewer *viewer = new QDeclarativeViewer();
+ QVERIFY(viewer);
+
+ viewer->setSlowMode(true);
+ viewer->setSlowMode(false);
+}
+
+QTEST_MAIN(tst_QDeclarativeViewer)
+
+#include "tst_qdeclarativeviewer.moc"
diff --git a/tests/auto/declarative/qdeclarativevisualdatamodel/data/objectlist.qml b/tests/auto/declarative/qdeclarativevisualdatamodel/data/objectlist.qml
new file mode 100644
index 0000000000..f5198c90d2
--- /dev/null
+++ b/tests/auto/declarative/qdeclarativevisualdatamodel/data/objectlist.qml
@@ -0,0 +1,16 @@
+import Qt 4.7
+
+ListView {
+ width: 100
+ height: 100
+ anchors.fill: parent
+ model: myModel
+ delegate: Component {
+ Rectangle {
+ height: 25
+ width: 100
+ color: model.modelData.color
+ Text { objectName: "name"; text: name }
+ }
+ }
+}
diff --git a/tests/auto/declarative/qdeclarativevisualdatamodel/qdeclarativevisualdatamodel.pro b/tests/auto/declarative/qdeclarativevisualdatamodel/qdeclarativevisualdatamodel.pro
index d76b582742..92e5f605b7 100644
--- a/tests/auto/declarative/qdeclarativevisualdatamodel/qdeclarativevisualdatamodel.pro
+++ b/tests/auto/declarative/qdeclarativevisualdatamodel/qdeclarativevisualdatamodel.pro
@@ -4,8 +4,13 @@ macx:CONFIG -= app_bundle
SOURCES += tst_qdeclarativevisualdatamodel.cpp
-# Define SRCDIR equal to test's source directory
-DEFINES += SRCDIR=\\\"$$PWD\\\"
+symbian: {
+ importFiles.sources = data
+ importFiles.path = .
+ DEPLOYMENT = importFiles
+} else {
+ DEFINES += SRCDIR=\\\"$$PWD\\\"
+}
CONFIG += parallel_test
diff --git a/tests/auto/declarative/qdeclarativevisualdatamodel/tst_qdeclarativevisualdatamodel.cpp b/tests/auto/declarative/qdeclarativevisualdatamodel/tst_qdeclarativevisualdatamodel.cpp
index 7de15a38ba..90c9c6f722 100644
--- a/tests/auto/declarative/qdeclarativevisualdatamodel/tst_qdeclarativevisualdatamodel.cpp
+++ b/tests/auto/declarative/qdeclarativevisualdatamodel/tst_qdeclarativevisualdatamodel.cpp
@@ -44,10 +44,19 @@
#include <QtDeclarative/qdeclarativeengine.h>
#include <QtDeclarative/qdeclarativecomponent.h>
#include <QtDeclarative/qdeclarativecontext.h>
+#include <QtDeclarative/qdeclarativeexpression.h>
+#include <QtDeclarative/qdeclarativeview.h>
+#include <private/qdeclarativelistview_p.h>
+#include <private/qdeclarativetext_p.h>
#include <private/qdeclarativevisualitemmodel_p.h>
#include <private/qdeclarativevaluetype_p.h>
#include <math.h>
+#ifdef Q_OS_SYMBIAN
+// In Symbian OS test data is located in applications private dir
+#define SRCDIR "."
+#endif
+
static void initStandardTreeModel(QStandardItemModel *model)
{
QStandardItem *item;
@@ -74,9 +83,50 @@ public:
private slots:
void rootIndex();
+ void objectListModel();
private:
QDeclarativeEngine engine;
+ template<typename T>
+ T *findItem(QGraphicsObject *parent, const QString &objectName, int index);
+};
+
+class DataObject : public QObject
+{
+ Q_OBJECT
+
+ Q_PROPERTY(QString name READ name WRITE setName NOTIFY nameChanged)
+ Q_PROPERTY(QString color READ color WRITE setColor NOTIFY colorChanged)
+
+public:
+ DataObject(QObject *parent=0) : QObject(parent) {}
+ DataObject(const QString &name, const QString &color, QObject *parent=0)
+ : QObject(parent), m_name(name), m_color(color) { }
+
+
+ QString name() const { return m_name; }
+ void setName(const QString &name) {
+ if (name != m_name) {
+ m_name = name;
+ emit nameChanged();
+ }
+ }
+
+ QString color() const { return m_color; }
+ void setColor(const QString &color) {
+ if (color != m_color) {
+ m_color = color;
+ emit colorChanged();
+ }
+ }
+
+signals:
+ void nameChanged();
+ void colorChanged();
+
+private:
+ QString m_name;
+ QString m_color;
};
tst_qdeclarativevisualdatamodel::tst_qdeclarativevisualdatamodel()
@@ -105,6 +155,60 @@ void tst_qdeclarativevisualdatamodel::rootIndex()
delete obj;
}
+void tst_qdeclarativevisualdatamodel::objectListModel()
+{
+ QDeclarativeView view;
+
+ QList<QObject*> dataList;
+ dataList.append(new DataObject("Item 1", "red"));
+ dataList.append(new DataObject("Item 2", "green"));
+ dataList.append(new DataObject("Item 3", "blue"));
+ dataList.append(new DataObject("Item 4", "yellow"));
+
+ QDeclarativeContext *ctxt = view.rootContext();
+ ctxt->setContextProperty("myModel", QVariant::fromValue(dataList));
+
+ view.setSource(QUrl::fromLocalFile(SRCDIR "/data/objectlist.qml"));
+
+ QDeclarativeListView *listview = qobject_cast<QDeclarativeListView*>(view.rootObject());
+ QVERIFY(listview != 0);
+
+ QDeclarativeItem *viewport = listview->viewport();
+ QVERIFY(viewport != 0);
+
+ QDeclarativeText *name = findItem<QDeclarativeText>(viewport, "name", 0);
+ QCOMPARE(name->text(), QString("Item 1"));
+
+ dataList[0]->setProperty("name", QLatin1String("Changed"));
+ QCOMPARE(name->text(), QString("Changed"));
+}
+
+template<typename T>
+T *tst_qdeclarativevisualdatamodel::findItem(QGraphicsObject *parent, const QString &objectName, int index)
+{
+ const QMetaObject &mo = T::staticMetaObject;
+ //qDebug() << parent->childItems().count() << "children";
+ for (int i = 0; i < parent->childItems().count(); ++i) {
+ QDeclarativeItem *item = qobject_cast<QDeclarativeItem*>(parent->childItems().at(i));
+ if(!item)
+ continue;
+ //qDebug() << "try" << item;
+ if (mo.cast(item) && (objectName.isEmpty() || item->objectName() == objectName)) {
+ if (index != -1) {
+ QDeclarativeExpression e(qmlContext(item), item, "index");
+ if (e.evaluate().toInt() == index)
+ return static_cast<T*>(item);
+ } else {
+ return static_cast<T*>(item);
+ }
+ }
+ item = findItem<T>(item, objectName, index);
+ if (item)
+ return static_cast<T*>(item);
+ }
+
+ return 0;
+}
QTEST_MAIN(tst_qdeclarativevisualdatamodel)
diff --git a/tests/auto/declarative/qdeclarativewebview/qdeclarativewebview.pro b/tests/auto/declarative/qdeclarativewebview/qdeclarativewebview.pro
index 956272fdc2..562a9fbf3f 100644
--- a/tests/auto/declarative/qdeclarativewebview/qdeclarativewebview.pro
+++ b/tests/auto/declarative/qdeclarativewebview/qdeclarativewebview.pro
@@ -5,7 +5,12 @@ macx:CONFIG -= app_bundle
SOURCES += tst_qdeclarativewebview.cpp
-# Define SRCDIR equal to test's source directory
-DEFINES += SRCDIR=\\\"$$PWD\\\"
+symbian: {
+ importFiles.sources = data
+ importFiles.path = .
+ DEPLOYMENT = importFiles
+} else {
+ DEFINES += SRCDIR=\\\"$$PWD\\\"
+}
CONFIG += parallel_test
diff --git a/tests/auto/declarative/qdeclarativewebview/tst_qdeclarativewebview.cpp b/tests/auto/declarative/qdeclarativewebview/tst_qdeclarativewebview.cpp
index beabf86b33..f33e5a4111 100644
--- a/tests/auto/declarative/qdeclarativewebview/tst_qdeclarativewebview.cpp
+++ b/tests/auto/declarative/qdeclarativewebview/tst_qdeclarativewebview.cpp
@@ -50,6 +50,11 @@
#include <QtCore/qfile.h>
#include <QtGui/qpainter.h>
+#ifdef Q_OS_SYMBIAN
+// In Symbian OS test data is located in applications private dir
+#define SRCDIR "."
+#endif
+
class tst_qdeclarativewebview : public QObject
{
Q_OBJECT
diff --git a/tests/auto/declarative/qdeclarativeworkerscript/data/BaseWorker.qml b/tests/auto/declarative/qdeclarativeworkerscript/data/BaseWorker.qml
new file mode 100644
index 0000000000..e06afa2a4d
--- /dev/null
+++ b/tests/auto/declarative/qdeclarativeworkerscript/data/BaseWorker.qml
@@ -0,0 +1,24 @@
+import Qt 4.7
+
+WorkerScript {
+ id: worker
+
+ property variant response
+
+ signal done()
+
+ function testSend(value) {
+ worker.sendMessage(value)
+ }
+
+ function compareLiteralResponse(expected) {
+ var e = eval('(' + expected + ')')
+ return JSON.stringify(worker.response) == JSON.stringify(e)
+ }
+
+ onMessage: {
+ worker.response = messageObject
+ worker.done()
+ }
+}
+
diff --git a/tests/auto/declarative/qdeclarativeworkerscript/data/script.js b/tests/auto/declarative/qdeclarativeworkerscript/data/script.js
index 09199de9be..90aae263a1 100644
--- a/tests/auto/declarative/qdeclarativeworkerscript/data/script.js
+++ b/tests/auto/declarative/qdeclarativeworkerscript/data/script.js
@@ -2,4 +2,3 @@ WorkerScript.onMessage = function(msg) {
WorkerScript.sendMessage(msg)
}
-
diff --git a/tests/auto/declarative/qdeclarativeworkerscript/data/script_fixed_return.js b/tests/auto/declarative/qdeclarativeworkerscript/data/script_fixed_return.js
new file mode 100644
index 0000000000..14f6f178ae
--- /dev/null
+++ b/tests/auto/declarative/qdeclarativeworkerscript/data/script_fixed_return.js
@@ -0,0 +1,4 @@
+WorkerScript.onMessage = function(msg) {
+ WorkerScript.sendMessage('Hello_World')
+}
+
diff --git a/tests/auto/declarative/qdeclarativeworkerscript/data/script_pragma.js b/tests/auto/declarative/qdeclarativeworkerscript/data/script_pragma.js
new file mode 100644
index 0000000000..cb3b6d3398
--- /dev/null
+++ b/tests/auto/declarative/qdeclarativeworkerscript/data/script_pragma.js
@@ -0,0 +1,6 @@
+.pragma library
+
+WorkerScript.onMessage = function(msg) {
+ WorkerScript.sendMessage(msg)
+}
+
diff --git a/tests/auto/declarative/qdeclarativeworkerscript/data/worker.qml b/tests/auto/declarative/qdeclarativeworkerscript/data/worker.qml
index 5c7a5ff26e..1a20098ef7 100644
--- a/tests/auto/declarative/qdeclarativeworkerscript/data/worker.qml
+++ b/tests/auto/declarative/qdeclarativeworkerscript/data/worker.qml
@@ -1,24 +1,5 @@
import Qt 4.7
-WorkerScript {
- id: worker
+BaseWorker {
source: "script.js"
-
- property variant response
-
- signal done()
-
- function testSend(value) {
- worker.sendMessage(value)
- }
-
- function compareLiteralResponse(expected) {
- var e = eval('(' + expected + ')')
- return worker.response == e
- }
-
- onMessage: {
- worker.response = messageObject
- worker.done()
- }
}
diff --git a/tests/auto/declarative/qdeclarativeworkerscript/data/worker_pragma.qml b/tests/auto/declarative/qdeclarativeworkerscript/data/worker_pragma.qml
new file mode 100644
index 0000000000..3b720ef473
--- /dev/null
+++ b/tests/auto/declarative/qdeclarativeworkerscript/data/worker_pragma.qml
@@ -0,0 +1,6 @@
+import Qt 4.7
+
+BaseWorker {
+ source: "script_pragma.js"
+}
+
diff --git a/tests/auto/declarative/qdeclarativeworkerscript/qdeclarativeworkerscript.pro b/tests/auto/declarative/qdeclarativeworkerscript/qdeclarativeworkerscript.pro
index 2e3da4d550..2f8f23db35 100644
--- a/tests/auto/declarative/qdeclarativeworkerscript/qdeclarativeworkerscript.pro
+++ b/tests/auto/declarative/qdeclarativeworkerscript/qdeclarativeworkerscript.pro
@@ -4,8 +4,13 @@ macx:CONFIG -= app_bundle
SOURCES += tst_qdeclarativeworkerscript.cpp
-# Define SRCDIR equal to test's source directory
-DEFINES += SRCDIR=\\\"$$PWD\\\"
+symbian: {
+ importFiles.sources = data
+ importFiles.path = .
+ DEPLOYMENT = importFiles
+} else {
+ DEFINES += SRCDIR=\\\"$$PWD\\\"
+}
CONFIG += parallel_test
diff --git a/tests/auto/declarative/qdeclarativeworkerscript/tst_qdeclarativeworkerscript.cpp b/tests/auto/declarative/qdeclarativeworkerscript/tst_qdeclarativeworkerscript.cpp
index a1dae24770..8e98874ecc 100644
--- a/tests/auto/declarative/qdeclarativeworkerscript/tst_qdeclarativeworkerscript.cpp
+++ b/tests/auto/declarative/qdeclarativeworkerscript/tst_qdeclarativeworkerscript.cpp
@@ -53,6 +53,11 @@
Q_DECLARE_METATYPE(QScriptValue)
+#ifdef Q_OS_SYMBIAN
+// In Symbian OS test data is located in applications private dir
+#define SRCDIR "."
+#endif
+
class tst_QDeclarativeWorkerScript : public QObject
{
Q_OBJECT
@@ -64,6 +69,7 @@ private slots:
void messaging_data();
void messaging_sendQObjectList();
void messaging_sendJsObject();
+ void script_with_pragma();
private:
void waitForEchoMessage(QDeclarativeWorkerScript *worker) {
@@ -82,18 +88,25 @@ private:
void tst_QDeclarativeWorkerScript::source()
{
- QUrl source = QUrl::fromLocalFile(SRCDIR "/data/worker.qml");
-
- QDeclarativeComponent component(&m_engine);
- component.setData("import Qt 4.7\nWorkerScript { source: '" + source.toString().toUtf8() + "'; }", QUrl());
+ QDeclarativeComponent component(&m_engine, SRCDIR "/data/worker.qml");
+ QDeclarativeWorkerScript *worker = qobject_cast<QDeclarativeWorkerScript*>(component.create());
+ QVERIFY(worker != 0);
+ const QMetaObject *mo = worker->metaObject();
- QDeclarativeWorkerScript *item = qobject_cast<QDeclarativeWorkerScript*>(component.create());
- QVERIFY(item != 0);
+ QVariant value(100);
+ QVERIFY(QMetaObject::invokeMethod(worker, "testSend", Q_ARG(QVariant, value)));
+ waitForEchoMessage(worker);
+ QCOMPARE(mo->property(mo->indexOfProperty("response")).read(worker).value<QVariant>(), value);
- QCOMPARE(item->source(), source);
+ QUrl source = QUrl::fromLocalFile(SRCDIR "/data/script_fixed_return.js");
+ worker->setSource(source);
+ QCOMPARE(worker->source(), source);
+ QVERIFY(QMetaObject::invokeMethod(worker, "testSend", Q_ARG(QVariant, value)));
+ waitForEchoMessage(worker);
+ QCOMPARE(mo->property(mo->indexOfProperty("response")).read(worker).value<QVariant>(), qVariantFromValue(QString("Hello_World")));
qApp->processEvents();
- delete item;
+ delete worker;
}
void tst_QDeclarativeWorkerScript::messaging()
@@ -157,13 +170,15 @@ void tst_QDeclarativeWorkerScript::messaging_sendJsObject()
QDeclarativeWorkerScript *worker = qobject_cast<QDeclarativeWorkerScript*>(component.create());
QVERIFY(worker != 0);
- QString jsObject = "{'name': 'zyz', 'spell power': 3101, 'haste': 1125}";
+ // Properties are in alphabetical order to enable string-based comparison after
+ // QVariant roundtrip, since the properties will be stored in a QVariantMap.
+ QString jsObject = "{'haste': 1125, 'name': 'zyz', 'spell power': 3101}";
QScriptEngine *engine = QDeclarativeEnginePrivate::getScriptEngine(qmlEngine(worker));
QScriptValue sv = engine->newObject();
+ sv.setProperty("haste", 1125);
sv.setProperty("name", "zyz");
sv.setProperty("spell power", 3101);
- sv.setProperty("haste", 1125);
QVERIFY(QMetaObject::invokeMethod(worker, "testSend", Q_ARG(QVariant, qVariantFromValue(sv))));
waitForEchoMessage(worker);
@@ -177,6 +192,25 @@ void tst_QDeclarativeWorkerScript::messaging_sendJsObject()
delete worker;
}
+void tst_QDeclarativeWorkerScript::script_with_pragma()
+{
+ QVariant value(100);
+
+ QDeclarativeComponent component(&m_engine, SRCDIR "/data/worker_pragma.qml");
+ QDeclarativeWorkerScript *worker = qobject_cast<QDeclarativeWorkerScript*>(component.create());
+ QVERIFY(worker != 0);
+
+ QVERIFY(QMetaObject::invokeMethod(worker, "testSend", Q_ARG(QVariant, value)));
+ waitForEchoMessage(worker);
+
+ const QMetaObject *mo = worker->metaObject();
+ QCOMPARE(mo->property(mo->indexOfProperty("response")).read(worker).value<QVariant>(), value);
+
+ qApp->processEvents();
+ delete worker;
+}
+
+
QTEST_MAIN(tst_QDeclarativeWorkerScript)
#include "tst_qdeclarativeworkerscript.moc"
diff --git a/tests/auto/declarative/qdeclarativexmlhttprequest/qdeclarativexmlhttprequest.pro b/tests/auto/declarative/qdeclarativexmlhttprequest/qdeclarativexmlhttprequest.pro
index 160300e5ee..619b239174 100644
--- a/tests/auto/declarative/qdeclarativexmlhttprequest/qdeclarativexmlhttprequest.pro
+++ b/tests/auto/declarative/qdeclarativexmlhttprequest/qdeclarativexmlhttprequest.pro
@@ -8,9 +8,13 @@ HEADERS += ../shared/testhttpserver.h
SOURCES += tst_qdeclarativexmlhttprequest.cpp \
../shared/testhttpserver.cpp
-
-# Define SRCDIR equal to test's source directory
-DEFINES += SRCDIR=\\\"$$PWD\\\"
+symbian: {
+ importFiles.sources = data
+ importFiles.path = .
+ DEPLOYMENT = importFiles
+} else {
+ DEFINES += SRCDIR=\\\"$$PWD\\\"
+}
CONFIG += parallel_test
diff --git a/tests/auto/declarative/qdeclarativexmlhttprequest/tst_qdeclarativexmlhttprequest.cpp b/tests/auto/declarative/qdeclarativexmlhttprequest/tst_qdeclarativexmlhttprequest.cpp
index 1d26f2c8eb..8141fcb11a 100644
--- a/tests/auto/declarative/qdeclarativexmlhttprequest/tst_qdeclarativexmlhttprequest.cpp
+++ b/tests/auto/declarative/qdeclarativexmlhttprequest/tst_qdeclarativexmlhttprequest.cpp
@@ -48,6 +48,11 @@
#define SERVER_PORT 14445
+#ifdef Q_OS_SYMBIAN
+// In Symbian OS test data is located in applications private dir
+#define SRCDIR "."
+#endif
+
class tst_qdeclarativexmlhttprequest : public QObject
{
Q_OBJECT
diff --git a/tests/auto/declarative/qdeclarativexmllistmodel/qdeclarativexmllistmodel.pro b/tests/auto/declarative/qdeclarativexmllistmodel/qdeclarativexmllistmodel.pro
index 8c5052a18e..472cffb0ab 100644
--- a/tests/auto/declarative/qdeclarativexmllistmodel/qdeclarativexmllistmodel.pro
+++ b/tests/auto/declarative/qdeclarativexmllistmodel/qdeclarativexmllistmodel.pro
@@ -1,5 +1,5 @@
load(qttest_p4)
-contains(QT_CONFIG,declarative): QT += declarative gui
+contains(QT_CONFIG,declarative): QT += declarative script gui
contains(QT_CONFIG,xmlpatterns) {
QT += xmlpatterns
DEFINES += QTEST_XMLPATTERNS
@@ -8,7 +8,13 @@ macx:CONFIG -= app_bundle
SOURCES += tst_qdeclarativexmllistmodel.cpp
-DEFINES += SRCDIR=\\\"$$PWD\\\"
+symbian: {
+ importFiles.sources = data
+ importFiles.path = .
+ DEPLOYMENT = importFiles
+} else {
+ DEFINES += SRCDIR=\\\"$$PWD\\\"
+}
CONFIG += parallel_test
diff --git a/tests/auto/declarative/qdeclarativexmllistmodel/tst_qdeclarativexmllistmodel.cpp b/tests/auto/declarative/qdeclarativexmllistmodel/tst_qdeclarativexmllistmodel.cpp
index 831e3181b8..bd19bd3743 100644
--- a/tests/auto/declarative/qdeclarativexmllistmodel/tst_qdeclarativexmllistmodel.cpp
+++ b/tests/auto/declarative/qdeclarativexmllistmodel/tst_qdeclarativexmllistmodel.cpp
@@ -50,6 +50,11 @@
#include <private/qdeclarativexmllistmodel_p.h>
#include "../../../shared/util.h"
+#ifdef Q_OS_SYMBIAN
+// In Symbian OS test data is located in applications private dir
+#define SRCDIR "."
+#endif
+
typedef QPair<int, int> QDeclarativeXmlListRange;
typedef QList<QVariantList> QDeclarativeXmlModelData;
@@ -81,6 +86,7 @@ private slots:
void source();
void source_data();
void data();
+ void get();
void reload();
void useKeys();
void useKeys_data();
@@ -223,6 +229,8 @@ void tst_qdeclarativexmllistmodel::roleErrors()
{
QDeclarativeComponent component(&engine, QUrl::fromLocalFile(SRCDIR "/data/roleErrors.qml"));
QTest::ignoreMessage(QtWarningMsg, (QUrl::fromLocalFile(SRCDIR "/data/roleErrors.qml").toString() + ":6:5: QML XmlRole: An XmlRole query must not start with '/'").toUtf8().constData());
+ QTest::ignoreMessage(QtWarningMsg, (QUrl::fromLocalFile(SRCDIR "/data/roleErrors.qml").toString() + ":9:5: QML XmlRole: invalid query: \"age/\"").toUtf8().constData());
+
//### make sure we receive all expected warning messages.
QDeclarativeXmlListModel *model = qobject_cast<QDeclarativeXmlListModel*>(component.create());
QVERIFY(model != 0);
@@ -238,7 +246,7 @@ void tst_qdeclarativexmllistmodel::roleErrors()
QCOMPARE(data.value(Qt::UserRole+1), QVariant());
QCOMPARE(data.value(Qt::UserRole+2), QVariant());
- QEXPECT_FAIL("", "QT-2456", Continue);
+ QEXPECT_FAIL("", "QTBUG-10797", Continue);
QCOMPARE(data.value(Qt::UserRole+3), QVariant());
delete model;
@@ -268,10 +276,12 @@ void tst_qdeclarativexmllistmodel::xml()
QDeclarativeXmlListModel *model = qobject_cast<QDeclarativeXmlListModel*>(component.create());
QSignalSpy spy(model, SIGNAL(statusChanged(QDeclarativeXmlListModel::Status)));
+ QVERIFY(model->errorString().isEmpty());
QCOMPARE(model->progress(), qreal(0.0));
QCOMPARE(model->status(), QDeclarativeXmlListModel::Loading);
QTRY_COMPARE(spy.count(), 1); spy.clear();
QCOMPARE(model->status(), QDeclarativeXmlListModel::Ready);
+ QVERIFY(model->errorString().isEmpty());
QCOMPARE(model->progress(), qreal(1.0));
QCOMPARE(model->count(), 9);
@@ -284,6 +294,7 @@ void tst_qdeclarativexmllistmodel::xml()
QCOMPARE(model->status(), QDeclarativeXmlListModel::Loading);
QTRY_COMPARE(spy.count(), 1); spy.clear();
QCOMPARE(model->status(), QDeclarativeXmlListModel::Ready);
+ QVERIFY(model->errorString().isEmpty());
QCOMPARE(model->count(), count);
delete model;
@@ -309,10 +320,12 @@ void tst_qdeclarativexmllistmodel::source()
QDeclarativeXmlListModel *model = qobject_cast<QDeclarativeXmlListModel*>(component.create());
QSignalSpy spy(model, SIGNAL(statusChanged(QDeclarativeXmlListModel::Status)));
+ QVERIFY(model->errorString().isEmpty());
QCOMPARE(model->progress(), qreal(0.0));
QCOMPARE(model->status(), QDeclarativeXmlListModel::Loading);
QTRY_COMPARE(spy.count(), 1); spy.clear();
QCOMPARE(model->status(), QDeclarativeXmlListModel::Ready);
+ QVERIFY(model->errorString().isEmpty());
QCOMPARE(model->progress(), qreal(1.0));
QCOMPARE(model->count(), 9);
@@ -320,6 +333,7 @@ void tst_qdeclarativexmllistmodel::source()
QCOMPARE(model->progress(), qreal(0.0));
QTRY_COMPARE(spy.count(), 1); spy.clear();
QCOMPARE(model->status(), QDeclarativeXmlListModel::Loading);
+ QVERIFY(model->errorString().isEmpty());
QEventLoop loop;
QTimer timer;
@@ -337,9 +351,12 @@ void tst_qdeclarativexmllistmodel::source()
QCOMPARE(model->status(), status);
QCOMPARE(model->count(), count);
+
if (status == QDeclarativeXmlListModel::Ready)
QCOMPARE(model->progress(), qreal(1.0));
+ QCOMPARE(model->errorString().isEmpty(), status == QDeclarativeXmlListModel::Ready);
+
delete model;
}
@@ -379,6 +396,46 @@ void tst_qdeclarativexmllistmodel::data()
delete model;
}
+void tst_qdeclarativexmllistmodel::get()
+{
+ QDeclarativeComponent component(&engine, QUrl::fromLocalFile(SRCDIR "/data/model.qml"));
+ QDeclarativeXmlListModel *model = qobject_cast<QDeclarativeXmlListModel*>(component.create());
+ QVERIFY(model != 0);
+ QVERIFY(model->get(0).isUndefined());
+
+ QTRY_COMPARE(model->count(), 9);
+ QVERIFY(model->get(-1).isUndefined());
+
+ QScriptValue sv = model->get(0);
+ QCOMPARE(sv.property("name").toString(), QLatin1String("Polly"));
+ QCOMPARE(sv.property("type").toString(), QLatin1String("Parrot"));
+ QCOMPARE(sv.property("age").toNumber(), qsreal(12));
+ QCOMPARE(sv.property("size").toString(), QLatin1String("Small"));
+
+ sv = model->get(1);
+ QCOMPARE(sv.property("name").toString(), QLatin1String("Penny"));
+ QCOMPARE(sv.property("type").toString(), QLatin1String("Turtle"));
+ QCOMPARE(sv.property("age").toNumber(), qsreal(4));
+ QCOMPARE(sv.property("size").toString(), QLatin1String("Small"));
+
+ sv = model->get(7);
+ QCOMPARE(sv.property("name").toString(), QLatin1String("Rover"));
+ QCOMPARE(sv.property("type").toString(), QLatin1String("Dog"));
+ QCOMPARE(sv.property("age").toNumber(), qsreal(0));
+ QCOMPARE(sv.property("size").toString(), QLatin1String("Large"));
+
+ sv = model->get(8);
+ QCOMPARE(sv.property("name").toString(), QLatin1String("Tiny"));
+ QCOMPARE(sv.property("type").toString(), QLatin1String("Elephant"));
+ QCOMPARE(sv.property("age").toNumber(), qsreal(15));
+ QCOMPARE(sv.property("size").toString(), QLatin1String("Large"));
+
+ sv = model->get(9);
+ QVERIFY(sv.isUndefined());
+
+ delete model;
+}
+
void tst_qdeclarativexmllistmodel::reload()
{
// If no keys are used, the model should be rebuilt from scratch when
diff --git a/tests/auto/declarative/qmlvisual/animation/parentAnimation2/data/parentAnimation2.0.png b/tests/auto/declarative/qmlvisual/animation/parentAnimation2/data/parentAnimation2.0.png
new file mode 100644
index 0000000000..135911c2fa
--- /dev/null
+++ b/tests/auto/declarative/qmlvisual/animation/parentAnimation2/data/parentAnimation2.0.png
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/animation/parentAnimation2/data/parentAnimation2.1.png b/tests/auto/declarative/qmlvisual/animation/parentAnimation2/data/parentAnimation2.1.png
new file mode 100644
index 0000000000..0d71292023
--- /dev/null
+++ b/tests/auto/declarative/qmlvisual/animation/parentAnimation2/data/parentAnimation2.1.png
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/animation/parentAnimation2/data/parentAnimation2.2.png b/tests/auto/declarative/qmlvisual/animation/parentAnimation2/data/parentAnimation2.2.png
new file mode 100644
index 0000000000..920d992319
--- /dev/null
+++ b/tests/auto/declarative/qmlvisual/animation/parentAnimation2/data/parentAnimation2.2.png
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/animation/parentAnimation2/data/parentAnimation2.3.png b/tests/auto/declarative/qmlvisual/animation/parentAnimation2/data/parentAnimation2.3.png
new file mode 100644
index 0000000000..1c4d89e2bb
--- /dev/null
+++ b/tests/auto/declarative/qmlvisual/animation/parentAnimation2/data/parentAnimation2.3.png
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/animation/parentAnimation2/data/parentAnimation2.qml b/tests/auto/declarative/qmlvisual/animation/parentAnimation2/data/parentAnimation2.qml
new file mode 100644
index 0000000000..9e1b923867
--- /dev/null
+++ b/tests/auto/declarative/qmlvisual/animation/parentAnimation2/data/parentAnimation2.qml
@@ -0,0 +1,1023 @@
+import Qt.VisualTest 4.7
+
+VisualTest {
+ Frame {
+ msec: 0
+ }
+ Frame {
+ msec: 16
+ hash: "b3bfd7a06d3e246f4256ab5a267360b0"
+ }
+ Frame {
+ msec: 32
+ hash: "b3bfd7a06d3e246f4256ab5a267360b0"
+ }
+ Frame {
+ msec: 48
+ hash: "b3bfd7a06d3e246f4256ab5a267360b0"
+ }
+ Frame {
+ msec: 64
+ hash: "b3bfd7a06d3e246f4256ab5a267360b0"
+ }
+ Frame {
+ msec: 80
+ hash: "b3bfd7a06d3e246f4256ab5a267360b0"
+ }
+ Frame {
+ msec: 96
+ hash: "b3bfd7a06d3e246f4256ab5a267360b0"
+ }
+ Frame {
+ msec: 112
+ hash: "b3bfd7a06d3e246f4256ab5a267360b0"
+ }
+ Frame {
+ msec: 128
+ hash: "b3bfd7a06d3e246f4256ab5a267360b0"
+ }
+ Frame {
+ msec: 144
+ hash: "b3bfd7a06d3e246f4256ab5a267360b0"
+ }
+ Frame {
+ msec: 160
+ hash: "b3bfd7a06d3e246f4256ab5a267360b0"
+ }
+ Frame {
+ msec: 176
+ hash: "b3bfd7a06d3e246f4256ab5a267360b0"
+ }
+ Frame {
+ msec: 192
+ hash: "b3bfd7a06d3e246f4256ab5a267360b0"
+ }
+ Frame {
+ msec: 208
+ hash: "b3bfd7a06d3e246f4256ab5a267360b0"
+ }
+ Frame {
+ msec: 224
+ hash: "b3bfd7a06d3e246f4256ab5a267360b0"
+ }
+ Frame {
+ msec: 240
+ hash: "b3bfd7a06d3e246f4256ab5a267360b0"
+ }
+ Frame {
+ msec: 256
+ hash: "b3bfd7a06d3e246f4256ab5a267360b0"
+ }
+ Frame {
+ msec: 272
+ hash: "b3bfd7a06d3e246f4256ab5a267360b0"
+ }
+ Frame {
+ msec: 288
+ hash: "b3bfd7a06d3e246f4256ab5a267360b0"
+ }
+ Frame {
+ msec: 304
+ hash: "b3bfd7a06d3e246f4256ab5a267360b0"
+ }
+ Frame {
+ msec: 320
+ hash: "b3bfd7a06d3e246f4256ab5a267360b0"
+ }
+ Frame {
+ msec: 336
+ hash: "b3bfd7a06d3e246f4256ab5a267360b0"
+ }
+ Frame {
+ msec: 352
+ hash: "b3bfd7a06d3e246f4256ab5a267360b0"
+ }
+ Frame {
+ msec: 368
+ hash: "b3bfd7a06d3e246f4256ab5a267360b0"
+ }
+ Frame {
+ msec: 384
+ hash: "b3bfd7a06d3e246f4256ab5a267360b0"
+ }
+ Frame {
+ msec: 400
+ hash: "b3bfd7a06d3e246f4256ab5a267360b0"
+ }
+ Frame {
+ msec: 416
+ hash: "b3bfd7a06d3e246f4256ab5a267360b0"
+ }
+ Frame {
+ msec: 432
+ hash: "b3bfd7a06d3e246f4256ab5a267360b0"
+ }
+ Frame {
+ msec: 448
+ hash: "b3bfd7a06d3e246f4256ab5a267360b0"
+ }
+ Frame {
+ msec: 464
+ hash: "b3bfd7a06d3e246f4256ab5a267360b0"
+ }
+ Frame {
+ msec: 480
+ hash: "b3bfd7a06d3e246f4256ab5a267360b0"
+ }
+ Frame {
+ msec: 496
+ hash: "b3bfd7a06d3e246f4256ab5a267360b0"
+ }
+ Frame {
+ msec: 512
+ hash: "b3bfd7a06d3e246f4256ab5a267360b0"
+ }
+ Frame {
+ msec: 528
+ hash: "b3bfd7a06d3e246f4256ab5a267360b0"
+ }
+ Frame {
+ msec: 544
+ hash: "b3bfd7a06d3e246f4256ab5a267360b0"
+ }
+ Frame {
+ msec: 560
+ hash: "b3bfd7a06d3e246f4256ab5a267360b0"
+ }
+ Frame {
+ msec: 576
+ hash: "b3bfd7a06d3e246f4256ab5a267360b0"
+ }
+ Frame {
+ msec: 592
+ hash: "b3bfd7a06d3e246f4256ab5a267360b0"
+ }
+ Frame {
+ msec: 608
+ hash: "b3bfd7a06d3e246f4256ab5a267360b0"
+ }
+ Frame {
+ msec: 624
+ hash: "b3bfd7a06d3e246f4256ab5a267360b0"
+ }
+ Frame {
+ msec: 640
+ hash: "b3bfd7a06d3e246f4256ab5a267360b0"
+ }
+ Frame {
+ msec: 656
+ hash: "b3bfd7a06d3e246f4256ab5a267360b0"
+ }
+ Frame {
+ msec: 672
+ hash: "b3bfd7a06d3e246f4256ab5a267360b0"
+ }
+ Frame {
+ msec: 688
+ hash: "b3bfd7a06d3e246f4256ab5a267360b0"
+ }
+ Frame {
+ msec: 704
+ hash: "b3bfd7a06d3e246f4256ab5a267360b0"
+ }
+ Mouse {
+ type: 2
+ button: 1
+ buttons: 1
+ x: 350; y: 182
+ modifiers: 0
+ sendToViewport: true
+ }
+ Frame {
+ msec: 720
+ hash: "b3bfd7a06d3e246f4256ab5a267360b0"
+ }
+ Frame {
+ msec: 736
+ hash: "b3bfd7a06d3e246f4256ab5a267360b0"
+ }
+ Frame {
+ msec: 752
+ hash: "b3bfd7a06d3e246f4256ab5a267360b0"
+ }
+ Frame {
+ msec: 768
+ hash: "b3bfd7a06d3e246f4256ab5a267360b0"
+ }
+ Frame {
+ msec: 784
+ hash: "b3bfd7a06d3e246f4256ab5a267360b0"
+ }
+ Frame {
+ msec: 800
+ hash: "b3bfd7a06d3e246f4256ab5a267360b0"
+ }
+ Mouse {
+ type: 3
+ button: 1
+ buttons: 0
+ x: 350; y: 182
+ modifiers: 0
+ sendToViewport: true
+ }
+ Frame {
+ msec: 816
+ hash: "b3bfd7a06d3e246f4256ab5a267360b0"
+ }
+ Frame {
+ msec: 832
+ hash: "9b524b546d250d239ea99dd3319f3d6a"
+ }
+ Frame {
+ msec: 848
+ hash: "593300f166c2fd3c325cb35114ca595b"
+ }
+ Frame {
+ msec: 864
+ hash: "4451e76e111c99faa77b5fff9a2642fa"
+ }
+ Frame {
+ msec: 880
+ hash: "0b4a5675afba935e17eba19e29b709ee"
+ }
+ Frame {
+ msec: 896
+ hash: "8682866f0234eebf25aca27a7737c777"
+ }
+ Frame {
+ msec: 912
+ hash: "5b3b70dd366bb4c1b5e7d56ce50e59a6"
+ }
+ Frame {
+ msec: 928
+ hash: "897394982c93ebcbea68c25cec6d47d3"
+ }
+ Frame {
+ msec: 944
+ hash: "23c3c0383a517d33767adeebc53bfa3a"
+ }
+ Frame {
+ msec: 960
+ image: "parentAnimation2.0.png"
+ }
+ Frame {
+ msec: 976
+ hash: "95b4fe1e5eeffe1673e199308e8ce76c"
+ }
+ Frame {
+ msec: 992
+ hash: "dbb9a5aa9f569b97711aa2c1f5ebda47"
+ }
+ Frame {
+ msec: 1008
+ hash: "0a5a73409b019e650ea860e1a8e27328"
+ }
+ Frame {
+ msec: 1024
+ hash: "496bd0d053522bcf71d506b497ede0d5"
+ }
+ Frame {
+ msec: 1040
+ hash: "97a32b4a6c99ffe842c35e903bd23d79"
+ }
+ Frame {
+ msec: 1056
+ hash: "496dfbbb0c0c28e108adf4c25341ef11"
+ }
+ Frame {
+ msec: 1072
+ hash: "aa2e5eb88b1498f0d36897be2a36b0ff"
+ }
+ Frame {
+ msec: 1088
+ hash: "0c6f7b54264ab36cfd5145fb7b30432f"
+ }
+ Frame {
+ msec: 1104
+ hash: "797fc3ea1db51f12d900b4e0e4998065"
+ }
+ Frame {
+ msec: 1120
+ hash: "2b076b8bc1ec1e2f21a4d7a77c94cfeb"
+ }
+ Frame {
+ msec: 1136
+ hash: "8d5888ca1cfba19cea569bd38bada417"
+ }
+ Frame {
+ msec: 1152
+ hash: "15ae94de5aa106eaa18d0faefa5d61f5"
+ }
+ Frame {
+ msec: 1168
+ hash: "96e90d74d5a7788d5a6da6cfdb92b185"
+ }
+ Frame {
+ msec: 1184
+ hash: "5698a5e9e628209fc28644198eac65da"
+ }
+ Frame {
+ msec: 1200
+ hash: "074ac8f08de8f22c241e23ad8b89b0f0"
+ }
+ Frame {
+ msec: 1216
+ hash: "a49fdf41e9ee1e5d764262d4585af2ff"
+ }
+ Frame {
+ msec: 1232
+ hash: "accc9b6573a676a40fcf0129085f6fce"
+ }
+ Frame {
+ msec: 1248
+ hash: "1cc956d55f0c382c2f74dcc05a05494f"
+ }
+ Frame {
+ msec: 1264
+ hash: "38ff3121566b2c719f47d027fcef8b8e"
+ }
+ Frame {
+ msec: 1280
+ hash: "4de97b3361a16ca1710f2e75d5c9de6f"
+ }
+ Frame {
+ msec: 1296
+ hash: "dbd1455105630bb8f262140e79ceda1b"
+ }
+ Frame {
+ msec: 1312
+ hash: "bcdac4ab71a29b78bfa756b56b8d8414"
+ }
+ Frame {
+ msec: 1328
+ hash: "f02f73a85532c1dd403d64c50c7e73ca"
+ }
+ Frame {
+ msec: 1344
+ hash: "f02f73a85532c1dd403d64c50c7e73ca"
+ }
+ Frame {
+ msec: 1360
+ hash: "f02f73a85532c1dd403d64c50c7e73ca"
+ }
+ Frame {
+ msec: 1376
+ hash: "f02f73a85532c1dd403d64c50c7e73ca"
+ }
+ Frame {
+ msec: 1392
+ hash: "f02f73a85532c1dd403d64c50c7e73ca"
+ }
+ Frame {
+ msec: 1408
+ hash: "f02f73a85532c1dd403d64c50c7e73ca"
+ }
+ Frame {
+ msec: 1424
+ hash: "f02f73a85532c1dd403d64c50c7e73ca"
+ }
+ Frame {
+ msec: 1440
+ hash: "f02f73a85532c1dd403d64c50c7e73ca"
+ }
+ Frame {
+ msec: 1456
+ hash: "f02f73a85532c1dd403d64c50c7e73ca"
+ }
+ Frame {
+ msec: 1472
+ hash: "f02f73a85532c1dd403d64c50c7e73ca"
+ }
+ Frame {
+ msec: 1488
+ hash: "f02f73a85532c1dd403d64c50c7e73ca"
+ }
+ Frame {
+ msec: 1504
+ hash: "f02f73a85532c1dd403d64c50c7e73ca"
+ }
+ Frame {
+ msec: 1520
+ hash: "f02f73a85532c1dd403d64c50c7e73ca"
+ }
+ Frame {
+ msec: 1536
+ hash: "f02f73a85532c1dd403d64c50c7e73ca"
+ }
+ Frame {
+ msec: 1552
+ hash: "f02f73a85532c1dd403d64c50c7e73ca"
+ }
+ Frame {
+ msec: 1568
+ hash: "f02f73a85532c1dd403d64c50c7e73ca"
+ }
+ Frame {
+ msec: 1584
+ hash: "f02f73a85532c1dd403d64c50c7e73ca"
+ }
+ Frame {
+ msec: 1600
+ hash: "f02f73a85532c1dd403d64c50c7e73ca"
+ }
+ Frame {
+ msec: 1616
+ hash: "f02f73a85532c1dd403d64c50c7e73ca"
+ }
+ Frame {
+ msec: 1632
+ hash: "f02f73a85532c1dd403d64c50c7e73ca"
+ }
+ Frame {
+ msec: 1648
+ hash: "f02f73a85532c1dd403d64c50c7e73ca"
+ }
+ Frame {
+ msec: 1664
+ hash: "f02f73a85532c1dd403d64c50c7e73ca"
+ }
+ Frame {
+ msec: 1680
+ hash: "f02f73a85532c1dd403d64c50c7e73ca"
+ }
+ Frame {
+ msec: 1696
+ hash: "f02f73a85532c1dd403d64c50c7e73ca"
+ }
+ Frame {
+ msec: 1712
+ hash: "f02f73a85532c1dd403d64c50c7e73ca"
+ }
+ Mouse {
+ type: 2
+ button: 1
+ buttons: 1
+ x: 415; y: 121
+ modifiers: 0
+ sendToViewport: true
+ }
+ Frame {
+ msec: 1728
+ hash: "f02f73a85532c1dd403d64c50c7e73ca"
+ }
+ Frame {
+ msec: 1744
+ hash: "f02f73a85532c1dd403d64c50c7e73ca"
+ }
+ Frame {
+ msec: 1760
+ hash: "f02f73a85532c1dd403d64c50c7e73ca"
+ }
+ Frame {
+ msec: 1776
+ hash: "f02f73a85532c1dd403d64c50c7e73ca"
+ }
+ Frame {
+ msec: 1792
+ hash: "f02f73a85532c1dd403d64c50c7e73ca"
+ }
+ Frame {
+ msec: 1808
+ hash: "f02f73a85532c1dd403d64c50c7e73ca"
+ }
+ Frame {
+ msec: 1824
+ hash: "f02f73a85532c1dd403d64c50c7e73ca"
+ }
+ Mouse {
+ type: 3
+ button: 1
+ buttons: 0
+ x: 415; y: 121
+ modifiers: 0
+ sendToViewport: true
+ }
+ Frame {
+ msec: 1840
+ hash: "f02f73a85532c1dd403d64c50c7e73ca"
+ }
+ Frame {
+ msec: 1856
+ hash: "b59fbcfb7db77cf30ea4ff039a9163ae"
+ }
+ Frame {
+ msec: 1872
+ hash: "432a76f0663bfd35f6bbeb3fbeb91799"
+ }
+ Frame {
+ msec: 1888
+ hash: "098e18005d3a2ff9095587954c92339c"
+ }
+ Frame {
+ msec: 1904
+ hash: "069100bf4ec523a9e9d5bf557ffc51d1"
+ }
+ Frame {
+ msec: 1920
+ image: "parentAnimation2.1.png"
+ }
+ Frame {
+ msec: 1936
+ hash: "60ed700e49bf2c51aba9b44400b56294"
+ }
+ Frame {
+ msec: 1952
+ hash: "79aa15dc74668d963f36f28524f4d091"
+ }
+ Frame {
+ msec: 1968
+ hash: "6838cb2d728259adc8d91a4a69e35adf"
+ }
+ Frame {
+ msec: 1984
+ hash: "3f73c720ce5f1e65fb8537a9beb66d26"
+ }
+ Frame {
+ msec: 2000
+ hash: "95d990ccd3e45e780d875aae1f4654f8"
+ }
+ Frame {
+ msec: 2016
+ hash: "5389a121571f61e73903305860e60016"
+ }
+ Frame {
+ msec: 2032
+ hash: "66f0018b6f35c1c18b28f4959eef96a8"
+ }
+ Frame {
+ msec: 2048
+ hash: "c0fa0560a9a5a0f773394c4fd98c9fa3"
+ }
+ Frame {
+ msec: 2064
+ hash: "e2d665ae0ac3007520003bb4a24ca708"
+ }
+ Frame {
+ msec: 2080
+ hash: "ab6e6976e4214c725f71a4f0ba6d3f68"
+ }
+ Frame {
+ msec: 2096
+ hash: "642f48f731f896d0d4b66956485b615b"
+ }
+ Frame {
+ msec: 2112
+ hash: "cdc36222978e4361dd3ddc2cba78328d"
+ }
+ Frame {
+ msec: 2128
+ hash: "22fe869d83d9d290c4d1702e7553c7aa"
+ }
+ Frame {
+ msec: 2144
+ hash: "3cf2b6a4fd5c73c24717a1ce901cfb19"
+ }
+ Frame {
+ msec: 2160
+ hash: "ea7ecad2a9b7e6ca9a9d1c9c46e0f6dc"
+ }
+ Frame {
+ msec: 2176
+ hash: "3a7e7e2145b40732ef4e18218a959536"
+ }
+ Frame {
+ msec: 2192
+ hash: "1386046373ab246ae533aba206ffe502"
+ }
+ Frame {
+ msec: 2208
+ hash: "2183072e2117c2bc660767bc67e6c355"
+ }
+ Frame {
+ msec: 2224
+ hash: "659c6fedf573d19727f9852a9034e4fe"
+ }
+ Frame {
+ msec: 2240
+ hash: "5be4e8fa87593aeb4d59768a61441c37"
+ }
+ Frame {
+ msec: 2256
+ hash: "2030b883508d07735b20726d218fd751"
+ }
+ Frame {
+ msec: 2272
+ hash: "fd70334fa8a1ff80369cce6aa69255c4"
+ }
+ Frame {
+ msec: 2288
+ hash: "be666aafc8a3d2de9ffaff54d9ac15d1"
+ }
+ Frame {
+ msec: 2304
+ hash: "3370f2246f679068e40cdb48c92decad"
+ }
+ Frame {
+ msec: 2320
+ hash: "f0b4565fd441c071112bdc8225861f76"
+ }
+ Frame {
+ msec: 2336
+ hash: "61babd82afc20a3023c2fe483a2e73cb"
+ }
+ Frame {
+ msec: 2352
+ hash: "acab4a79f22ebc8a45759ae282e8f3db"
+ }
+ Frame {
+ msec: 2368
+ hash: "acab4a79f22ebc8a45759ae282e8f3db"
+ }
+ Frame {
+ msec: 2384
+ hash: "acab4a79f22ebc8a45759ae282e8f3db"
+ }
+ Frame {
+ msec: 2400
+ hash: "acab4a79f22ebc8a45759ae282e8f3db"
+ }
+ Frame {
+ msec: 2416
+ hash: "acab4a79f22ebc8a45759ae282e8f3db"
+ }
+ Frame {
+ msec: 2432
+ hash: "acab4a79f22ebc8a45759ae282e8f3db"
+ }
+ Frame {
+ msec: 2448
+ hash: "acab4a79f22ebc8a45759ae282e8f3db"
+ }
+ Frame {
+ msec: 2464
+ hash: "acab4a79f22ebc8a45759ae282e8f3db"
+ }
+ Frame {
+ msec: 2480
+ hash: "acab4a79f22ebc8a45759ae282e8f3db"
+ }
+ Frame {
+ msec: 2496
+ hash: "acab4a79f22ebc8a45759ae282e8f3db"
+ }
+ Frame {
+ msec: 2512
+ hash: "acab4a79f22ebc8a45759ae282e8f3db"
+ }
+ Frame {
+ msec: 2528
+ hash: "acab4a79f22ebc8a45759ae282e8f3db"
+ }
+ Frame {
+ msec: 2544
+ hash: "acab4a79f22ebc8a45759ae282e8f3db"
+ }
+ Frame {
+ msec: 2560
+ hash: "acab4a79f22ebc8a45759ae282e8f3db"
+ }
+ Frame {
+ msec: 2576
+ hash: "acab4a79f22ebc8a45759ae282e8f3db"
+ }
+ Frame {
+ msec: 2592
+ hash: "acab4a79f22ebc8a45759ae282e8f3db"
+ }
+ Frame {
+ msec: 2608
+ hash: "acab4a79f22ebc8a45759ae282e8f3db"
+ }
+ Frame {
+ msec: 2624
+ hash: "acab4a79f22ebc8a45759ae282e8f3db"
+ }
+ Frame {
+ msec: 2640
+ hash: "acab4a79f22ebc8a45759ae282e8f3db"
+ }
+ Frame {
+ msec: 2656
+ hash: "acab4a79f22ebc8a45759ae282e8f3db"
+ }
+ Frame {
+ msec: 2672
+ hash: "acab4a79f22ebc8a45759ae282e8f3db"
+ }
+ Frame {
+ msec: 2688
+ hash: "acab4a79f22ebc8a45759ae282e8f3db"
+ }
+ Frame {
+ msec: 2704
+ hash: "acab4a79f22ebc8a45759ae282e8f3db"
+ }
+ Frame {
+ msec: 2720
+ hash: "acab4a79f22ebc8a45759ae282e8f3db"
+ }
+ Frame {
+ msec: 2736
+ hash: "acab4a79f22ebc8a45759ae282e8f3db"
+ }
+ Frame {
+ msec: 2752
+ hash: "acab4a79f22ebc8a45759ae282e8f3db"
+ }
+ Frame {
+ msec: 2768
+ hash: "acab4a79f22ebc8a45759ae282e8f3db"
+ }
+ Mouse {
+ type: 2
+ button: 1
+ buttons: 1
+ x: 207; y: 255
+ modifiers: 0
+ sendToViewport: true
+ }
+ Frame {
+ msec: 2784
+ hash: "acab4a79f22ebc8a45759ae282e8f3db"
+ }
+ Frame {
+ msec: 2800
+ hash: "acab4a79f22ebc8a45759ae282e8f3db"
+ }
+ Frame {
+ msec: 2816
+ hash: "acab4a79f22ebc8a45759ae282e8f3db"
+ }
+ Frame {
+ msec: 2832
+ hash: "acab4a79f22ebc8a45759ae282e8f3db"
+ }
+ Frame {
+ msec: 2848
+ hash: "acab4a79f22ebc8a45759ae282e8f3db"
+ }
+ Frame {
+ msec: 2864
+ hash: "acab4a79f22ebc8a45759ae282e8f3db"
+ }
+ Frame {
+ msec: 2880
+ image: "parentAnimation2.2.png"
+ }
+ Frame {
+ msec: 2896
+ hash: "acab4a79f22ebc8a45759ae282e8f3db"
+ }
+ Mouse {
+ type: 3
+ button: 1
+ buttons: 0
+ x: 207; y: 255
+ modifiers: 0
+ sendToViewport: true
+ }
+ Frame {
+ msec: 2912
+ hash: "acab4a79f22ebc8a45759ae282e8f3db"
+ }
+ Frame {
+ msec: 2928
+ hash: "608af88c841d6058c3304cc134de0187"
+ }
+ Frame {
+ msec: 2944
+ hash: "96a727d6ff02c7baf85865fda9d871bd"
+ }
+ Frame {
+ msec: 2960
+ hash: "22cacf109e40b457041d6c2862c4f97f"
+ }
+ Frame {
+ msec: 2976
+ hash: "ea2a53381eef8ac75fce23c518f1e261"
+ }
+ Frame {
+ msec: 2992
+ hash: "a719237e74e9c40b46cc1f27cca5e286"
+ }
+ Frame {
+ msec: 3008
+ hash: "804ef3519ba9852afb0bd4ef793e0006"
+ }
+ Frame {
+ msec: 3024
+ hash: "4abc5026f0de1165717bd14630c9d9f6"
+ }
+ Frame {
+ msec: 3040
+ hash: "1e4dd04698691932725076073a0bd2e7"
+ }
+ Frame {
+ msec: 3056
+ hash: "12aae9dcfd9597ce600588b19bdf5a7d"
+ }
+ Frame {
+ msec: 3072
+ hash: "9176b69f7df68d860b7d7aecc2496f09"
+ }
+ Frame {
+ msec: 3088
+ hash: "9cba95a510685ab6367ba87246f6c922"
+ }
+ Frame {
+ msec: 3104
+ hash: "33ef448b9485fafb7a2af319f9f6e816"
+ }
+ Frame {
+ msec: 3120
+ hash: "791760db748e46aceb9f469c33b7bf2f"
+ }
+ Frame {
+ msec: 3136
+ hash: "201a00feef1bb445f2fd0ba8ef9467a1"
+ }
+ Frame {
+ msec: 3152
+ hash: "6e8962c3cb522f5a45b093f1780d2dae"
+ }
+ Frame {
+ msec: 3168
+ hash: "d75cb08203a4f2c05b4dfdca2196e3db"
+ }
+ Frame {
+ msec: 3184
+ hash: "0417d681c9b64e2cc252ab6fcf20148b"
+ }
+ Frame {
+ msec: 3200
+ hash: "85993e5a91a86cedb8c88819b035b6bb"
+ }
+ Frame {
+ msec: 3216
+ hash: "d7a0db647e641df9625b8eb5078a8ec3"
+ }
+ Frame {
+ msec: 3232
+ hash: "fa29824ed3fd3d4e0d8036079be6bcf8"
+ }
+ Frame {
+ msec: 3248
+ hash: "4fc84a3ae74bb6ab7b0b846c8747eb54"
+ }
+ Frame {
+ msec: 3264
+ hash: "a172921ffe15077382db8e8915fb340b"
+ }
+ Frame {
+ msec: 3280
+ hash: "480ee71d2407d729814a2e19d4320c59"
+ }
+ Frame {
+ msec: 3296
+ hash: "b8cf02a1ad96d5c3354f2b658085ed28"
+ }
+ Frame {
+ msec: 3312
+ hash: "80fc0f57f58250f63a77b1988a9e1d2e"
+ }
+ Frame {
+ msec: 3328
+ hash: "bc283b5d7c5b88ef447be5992a77b6a9"
+ }
+ Frame {
+ msec: 3344
+ hash: "89c86df88dc1a3188d52c1f75b80ccf1"
+ }
+ Frame {
+ msec: 3360
+ hash: "84148139d89b45949561321bd6f6c835"
+ }
+ Frame {
+ msec: 3376
+ hash: "9118d6933b3f77e0b5b8da2d630152e8"
+ }
+ Frame {
+ msec: 3392
+ hash: "2b5f746225053778fb07a606ff113e64"
+ }
+ Frame {
+ msec: 3408
+ hash: "0a1ed1bea6ed674826d0a2c3146a1c31"
+ }
+ Frame {
+ msec: 3424
+ hash: "b3bfd7a06d3e246f4256ab5a267360b0"
+ }
+ Frame {
+ msec: 3440
+ hash: "b3bfd7a06d3e246f4256ab5a267360b0"
+ }
+ Frame {
+ msec: 3456
+ hash: "b3bfd7a06d3e246f4256ab5a267360b0"
+ }
+ Frame {
+ msec: 3472
+ hash: "b3bfd7a06d3e246f4256ab5a267360b0"
+ }
+ Frame {
+ msec: 3488
+ hash: "b3bfd7a06d3e246f4256ab5a267360b0"
+ }
+ Frame {
+ msec: 3504
+ hash: "b3bfd7a06d3e246f4256ab5a267360b0"
+ }
+ Frame {
+ msec: 3520
+ hash: "b3bfd7a06d3e246f4256ab5a267360b0"
+ }
+ Frame {
+ msec: 3536
+ hash: "b3bfd7a06d3e246f4256ab5a267360b0"
+ }
+ Frame {
+ msec: 3552
+ hash: "b3bfd7a06d3e246f4256ab5a267360b0"
+ }
+ Frame {
+ msec: 3568
+ hash: "b3bfd7a06d3e246f4256ab5a267360b0"
+ }
+ Frame {
+ msec: 3584
+ hash: "b3bfd7a06d3e246f4256ab5a267360b0"
+ }
+ Frame {
+ msec: 3600
+ hash: "b3bfd7a06d3e246f4256ab5a267360b0"
+ }
+ Frame {
+ msec: 3616
+ hash: "b3bfd7a06d3e246f4256ab5a267360b0"
+ }
+ Frame {
+ msec: 3632
+ hash: "b3bfd7a06d3e246f4256ab5a267360b0"
+ }
+ Frame {
+ msec: 3648
+ hash: "b3bfd7a06d3e246f4256ab5a267360b0"
+ }
+ Key {
+ type: 6
+ key: 16777249
+ modifiers: 67108864
+ text: ""
+ autorep: false
+ count: 1
+ }
+ Frame {
+ msec: 3664
+ hash: "b3bfd7a06d3e246f4256ab5a267360b0"
+ }
+ Frame {
+ msec: 3680
+ hash: "b3bfd7a06d3e246f4256ab5a267360b0"
+ }
+ Frame {
+ msec: 3696
+ hash: "b3bfd7a06d3e246f4256ab5a267360b0"
+ }
+ Frame {
+ msec: 3712
+ hash: "b3bfd7a06d3e246f4256ab5a267360b0"
+ }
+ Frame {
+ msec: 3728
+ hash: "b3bfd7a06d3e246f4256ab5a267360b0"
+ }
+ Frame {
+ msec: 3744
+ hash: "b3bfd7a06d3e246f4256ab5a267360b0"
+ }
+ Frame {
+ msec: 3760
+ hash: "b3bfd7a06d3e246f4256ab5a267360b0"
+ }
+ Frame {
+ msec: 3776
+ hash: "b3bfd7a06d3e246f4256ab5a267360b0"
+ }
+ Frame {
+ msec: 3792
+ hash: "b3bfd7a06d3e246f4256ab5a267360b0"
+ }
+ Frame {
+ msec: 3808
+ hash: "b3bfd7a06d3e246f4256ab5a267360b0"
+ }
+ Frame {
+ msec: 3824
+ hash: "b3bfd7a06d3e246f4256ab5a267360b0"
+ }
+ Frame {
+ msec: 3840
+ image: "parentAnimation2.3.png"
+ }
+}
diff --git a/tests/auto/declarative/qmlvisual/animation/parentAnimation2/parentAnimation2.qml b/tests/auto/declarative/qmlvisual/animation/parentAnimation2/parentAnimation2.qml
new file mode 100644
index 0000000000..dfab108abf
--- /dev/null
+++ b/tests/auto/declarative/qmlvisual/animation/parentAnimation2/parentAnimation2.qml
@@ -0,0 +1,64 @@
+import Qt 4.7
+
+/*
+Blue rect fills (with 10px margin) screen, then red, then green, then screen again.
+*/
+
+Rectangle {
+ id: whiteRect
+ width: 640; height: 480;
+
+ Rectangle {
+ id: redRect
+ x: 400; y: 50
+ width: 100; height: 100
+ color: "red"
+ }
+
+ Rectangle {
+ id: greenRect
+ x: 100; y: 150
+ width: 200; height: 300
+ color: "green"
+ }
+
+ Rectangle {
+ id: blueRect
+ x: 5; y: 5
+ width: parent.width-10
+ height: parent.height-10
+ color: "lightblue"
+
+ //Text { text: "Click me!"; anchors.centerIn: parent }
+
+ MouseArea {
+ anchors.fill: parent
+ onClicked: {
+ switch(blueRect.state) {
+ case "": blueRect.state = "inRed"; break;
+ case "inRed": blueRect.state = "inGreen"; break;
+ case "inGreen": blueRect.state = ""; break;
+ }
+ }
+ }
+
+ states: [
+ State {
+ name: "inRed"
+ ParentChange { target: blueRect; parent: redRect; x: 5; y: 5; width: parent.width-10; height: parent.height-10 }
+ PropertyChanges { target: redRect; z: 1 }
+ },
+ State {
+ name: "inGreen"
+ ParentChange { target: blueRect; parent: greenRect; x: 5; y: 5; width: parent.width-10; height: parent.height-10 }
+ PropertyChanges { target: greenRect; z: 1 }
+ }
+ ]
+
+ transitions: Transition {
+ ParentAnimation { target: blueRect; //via: whiteRect;
+ NumberAnimation { properties: "x, y, width, height"; duration: 500 }
+ }
+ }
+ }
+}
diff --git a/tests/auto/declarative/qmlvisual/animation/pauseAnimation/pauseAnimation-visual.qml b/tests/auto/declarative/qmlvisual/animation/pauseAnimation/pauseAnimation-visual.qml
index d82c6df914..cc9a639d50 100644
--- a/tests/auto/declarative/qmlvisual/animation/pauseAnimation/pauseAnimation-visual.qml
+++ b/tests/auto/declarative/qmlvisual/animation/pauseAnimation/pauseAnimation-visual.qml
@@ -16,7 +16,7 @@ Rectangle {
id: img
source: "pics/qtlogo.png"
x: 60-width/2
- y: 100
+ y: 200-img.height
SequentialAnimation on y {
loops: Animation.Infinite
NumberAnimation {
@@ -24,7 +24,7 @@ Rectangle {
easing.type: "InOutQuad"
}
NumberAnimation {
- to: 100
+ to: 200-img.height
easing.type: "OutBounce"
duration: 2000
}
diff --git a/tests/auto/declarative/qmlvisual/animation/qtbug10586/data/qtbug10586.0.png b/tests/auto/declarative/qmlvisual/animation/qtbug10586/data/qtbug10586.0.png
new file mode 100644
index 0000000000..d8be67b465
--- /dev/null
+++ b/tests/auto/declarative/qmlvisual/animation/qtbug10586/data/qtbug10586.0.png
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/animation/qtbug10586/data/qtbug10586.1.png b/tests/auto/declarative/qmlvisual/animation/qtbug10586/data/qtbug10586.1.png
new file mode 100644
index 0000000000..249e0dda19
--- /dev/null
+++ b/tests/auto/declarative/qmlvisual/animation/qtbug10586/data/qtbug10586.1.png
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/animation/qtbug10586/data/qtbug10586.2.png b/tests/auto/declarative/qmlvisual/animation/qtbug10586/data/qtbug10586.2.png
new file mode 100644
index 0000000000..044f823d88
--- /dev/null
+++ b/tests/auto/declarative/qmlvisual/animation/qtbug10586/data/qtbug10586.2.png
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/animation/qtbug10586/data/qtbug10586.3.png b/tests/auto/declarative/qmlvisual/animation/qtbug10586/data/qtbug10586.3.png
new file mode 100644
index 0000000000..d8be67b465
--- /dev/null
+++ b/tests/auto/declarative/qmlvisual/animation/qtbug10586/data/qtbug10586.3.png
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/animation/qtbug10586/data/qtbug10586.qml b/tests/auto/declarative/qmlvisual/animation/qtbug10586/data/qtbug10586.qml
new file mode 100644
index 0000000000..dc8e2e211d
--- /dev/null
+++ b/tests/auto/declarative/qmlvisual/animation/qtbug10586/data/qtbug10586.qml
@@ -0,0 +1,1151 @@
+import Qt.VisualTest 4.7
+
+VisualTest {
+ Frame {
+ msec: 0
+ }
+ Frame {
+ msec: 16
+ hash: "cba9afe3f351e6cd6dc72d7f263401b0"
+ }
+ Frame {
+ msec: 32
+ hash: "cba9afe3f351e6cd6dc72d7f263401b0"
+ }
+ Frame {
+ msec: 48
+ hash: "cba9afe3f351e6cd6dc72d7f263401b0"
+ }
+ Frame {
+ msec: 64
+ hash: "cba9afe3f351e6cd6dc72d7f263401b0"
+ }
+ Frame {
+ msec: 80
+ hash: "cba9afe3f351e6cd6dc72d7f263401b0"
+ }
+ Frame {
+ msec: 96
+ hash: "cba9afe3f351e6cd6dc72d7f263401b0"
+ }
+ Frame {
+ msec: 112
+ hash: "cba9afe3f351e6cd6dc72d7f263401b0"
+ }
+ Frame {
+ msec: 128
+ hash: "cba9afe3f351e6cd6dc72d7f263401b0"
+ }
+ Frame {
+ msec: 144
+ hash: "cba9afe3f351e6cd6dc72d7f263401b0"
+ }
+ Frame {
+ msec: 160
+ hash: "cba9afe3f351e6cd6dc72d7f263401b0"
+ }
+ Frame {
+ msec: 176
+ hash: "cba9afe3f351e6cd6dc72d7f263401b0"
+ }
+ Frame {
+ msec: 192
+ hash: "cba9afe3f351e6cd6dc72d7f263401b0"
+ }
+ Frame {
+ msec: 208
+ hash: "cba9afe3f351e6cd6dc72d7f263401b0"
+ }
+ Frame {
+ msec: 224
+ hash: "cba9afe3f351e6cd6dc72d7f263401b0"
+ }
+ Frame {
+ msec: 240
+ hash: "cba9afe3f351e6cd6dc72d7f263401b0"
+ }
+ Frame {
+ msec: 256
+ hash: "cba9afe3f351e6cd6dc72d7f263401b0"
+ }
+ Frame {
+ msec: 272
+ hash: "cba9afe3f351e6cd6dc72d7f263401b0"
+ }
+ Frame {
+ msec: 288
+ hash: "cba9afe3f351e6cd6dc72d7f263401b0"
+ }
+ Frame {
+ msec: 304
+ hash: "cba9afe3f351e6cd6dc72d7f263401b0"
+ }
+ Frame {
+ msec: 320
+ hash: "cba9afe3f351e6cd6dc72d7f263401b0"
+ }
+ Frame {
+ msec: 336
+ hash: "cba9afe3f351e6cd6dc72d7f263401b0"
+ }
+ Frame {
+ msec: 352
+ hash: "cba9afe3f351e6cd6dc72d7f263401b0"
+ }
+ Frame {
+ msec: 368
+ hash: "cba9afe3f351e6cd6dc72d7f263401b0"
+ }
+ Frame {
+ msec: 384
+ hash: "cba9afe3f351e6cd6dc72d7f263401b0"
+ }
+ Frame {
+ msec: 400
+ hash: "cba9afe3f351e6cd6dc72d7f263401b0"
+ }
+ Frame {
+ msec: 416
+ hash: "cba9afe3f351e6cd6dc72d7f263401b0"
+ }
+ Frame {
+ msec: 432
+ hash: "cba9afe3f351e6cd6dc72d7f263401b0"
+ }
+ Frame {
+ msec: 448
+ hash: "cba9afe3f351e6cd6dc72d7f263401b0"
+ }
+ Frame {
+ msec: 464
+ hash: "cba9afe3f351e6cd6dc72d7f263401b0"
+ }
+ Frame {
+ msec: 480
+ hash: "cba9afe3f351e6cd6dc72d7f263401b0"
+ }
+ Frame {
+ msec: 496
+ hash: "cba9afe3f351e6cd6dc72d7f263401b0"
+ }
+ Frame {
+ msec: 512
+ hash: "cba9afe3f351e6cd6dc72d7f263401b0"
+ }
+ Frame {
+ msec: 528
+ hash: "cba9afe3f351e6cd6dc72d7f263401b0"
+ }
+ Frame {
+ msec: 544
+ hash: "cba9afe3f351e6cd6dc72d7f263401b0"
+ }
+ Frame {
+ msec: 560
+ hash: "cba9afe3f351e6cd6dc72d7f263401b0"
+ }
+ Frame {
+ msec: 576
+ hash: "cba9afe3f351e6cd6dc72d7f263401b0"
+ }
+ Frame {
+ msec: 592
+ hash: "cba9afe3f351e6cd6dc72d7f263401b0"
+ }
+ Frame {
+ msec: 608
+ hash: "cba9afe3f351e6cd6dc72d7f263401b0"
+ }
+ Frame {
+ msec: 624
+ hash: "cba9afe3f351e6cd6dc72d7f263401b0"
+ }
+ Frame {
+ msec: 640
+ hash: "cba9afe3f351e6cd6dc72d7f263401b0"
+ }
+ Frame {
+ msec: 656
+ hash: "cba9afe3f351e6cd6dc72d7f263401b0"
+ }
+ Frame {
+ msec: 672
+ hash: "cba9afe3f351e6cd6dc72d7f263401b0"
+ }
+ Frame {
+ msec: 688
+ hash: "cba9afe3f351e6cd6dc72d7f263401b0"
+ }
+ Frame {
+ msec: 704
+ hash: "cba9afe3f351e6cd6dc72d7f263401b0"
+ }
+ Frame {
+ msec: 720
+ hash: "cba9afe3f351e6cd6dc72d7f263401b0"
+ }
+ Frame {
+ msec: 736
+ hash: "cba9afe3f351e6cd6dc72d7f263401b0"
+ }
+ Frame {
+ msec: 752
+ hash: "cba9afe3f351e6cd6dc72d7f263401b0"
+ }
+ Frame {
+ msec: 768
+ hash: "cba9afe3f351e6cd6dc72d7f263401b0"
+ }
+ Frame {
+ msec: 784
+ hash: "cba9afe3f351e6cd6dc72d7f263401b0"
+ }
+ Frame {
+ msec: 800
+ hash: "cba9afe3f351e6cd6dc72d7f263401b0"
+ }
+ Frame {
+ msec: 816
+ hash: "cba9afe3f351e6cd6dc72d7f263401b0"
+ }
+ Frame {
+ msec: 832
+ hash: "cba9afe3f351e6cd6dc72d7f263401b0"
+ }
+ Frame {
+ msec: 848
+ hash: "cba9afe3f351e6cd6dc72d7f263401b0"
+ }
+ Frame {
+ msec: 864
+ hash: "cba9afe3f351e6cd6dc72d7f263401b0"
+ }
+ Frame {
+ msec: 880
+ hash: "cba9afe3f351e6cd6dc72d7f263401b0"
+ }
+ Frame {
+ msec: 896
+ hash: "cba9afe3f351e6cd6dc72d7f263401b0"
+ }
+ Frame {
+ msec: 912
+ hash: "cba9afe3f351e6cd6dc72d7f263401b0"
+ }
+ Frame {
+ msec: 928
+ hash: "cba9afe3f351e6cd6dc72d7f263401b0"
+ }
+ Frame {
+ msec: 944
+ hash: "cba9afe3f351e6cd6dc72d7f263401b0"
+ }
+ Frame {
+ msec: 960
+ image: "qtbug10586.0.png"
+ }
+ Frame {
+ msec: 976
+ hash: "cba9afe3f351e6cd6dc72d7f263401b0"
+ }
+ Frame {
+ msec: 992
+ hash: "cba9afe3f351e6cd6dc72d7f263401b0"
+ }
+ Frame {
+ msec: 1008
+ hash: "cba9afe3f351e6cd6dc72d7f263401b0"
+ }
+ Frame {
+ msec: 1024
+ hash: "cba9afe3f351e6cd6dc72d7f263401b0"
+ }
+ Frame {
+ msec: 1040
+ hash: "cba9afe3f351e6cd6dc72d7f263401b0"
+ }
+ Frame {
+ msec: 1056
+ hash: "cba9afe3f351e6cd6dc72d7f263401b0"
+ }
+ Frame {
+ msec: 1072
+ hash: "cba9afe3f351e6cd6dc72d7f263401b0"
+ }
+ Frame {
+ msec: 1088
+ hash: "cba9afe3f351e6cd6dc72d7f263401b0"
+ }
+ Frame {
+ msec: 1104
+ hash: "cba9afe3f351e6cd6dc72d7f263401b0"
+ }
+ Frame {
+ msec: 1120
+ hash: "cba9afe3f351e6cd6dc72d7f263401b0"
+ }
+ Frame {
+ msec: 1136
+ hash: "cba9afe3f351e6cd6dc72d7f263401b0"
+ }
+ Frame {
+ msec: 1152
+ hash: "cba9afe3f351e6cd6dc72d7f263401b0"
+ }
+ Frame {
+ msec: 1168
+ hash: "cba9afe3f351e6cd6dc72d7f263401b0"
+ }
+ Frame {
+ msec: 1184
+ hash: "cba9afe3f351e6cd6dc72d7f263401b0"
+ }
+ Frame {
+ msec: 1200
+ hash: "cba9afe3f351e6cd6dc72d7f263401b0"
+ }
+ Frame {
+ msec: 1216
+ hash: "cba9afe3f351e6cd6dc72d7f263401b0"
+ }
+ Frame {
+ msec: 1232
+ hash: "cba9afe3f351e6cd6dc72d7f263401b0"
+ }
+ Frame {
+ msec: 1248
+ hash: "cba9afe3f351e6cd6dc72d7f263401b0"
+ }
+ Frame {
+ msec: 1264
+ hash: "cba9afe3f351e6cd6dc72d7f263401b0"
+ }
+ Frame {
+ msec: 1280
+ hash: "cba9afe3f351e6cd6dc72d7f263401b0"
+ }
+ Frame {
+ msec: 1296
+ hash: "cba9afe3f351e6cd6dc72d7f263401b0"
+ }
+ Frame {
+ msec: 1312
+ hash: "cba9afe3f351e6cd6dc72d7f263401b0"
+ }
+ Mouse {
+ type: 2
+ button: 1
+ buttons: 1
+ x: 174; y: 204
+ modifiers: 0
+ sendToViewport: true
+ }
+ Frame {
+ msec: 1328
+ hash: "cba9afe3f351e6cd6dc72d7f263401b0"
+ }
+ Frame {
+ msec: 1344
+ hash: "cba9afe3f351e6cd6dc72d7f263401b0"
+ }
+ Frame {
+ msec: 1360
+ hash: "cba9afe3f351e6cd6dc72d7f263401b0"
+ }
+ Frame {
+ msec: 1376
+ hash: "cba9afe3f351e6cd6dc72d7f263401b0"
+ }
+ Frame {
+ msec: 1392
+ hash: "cba9afe3f351e6cd6dc72d7f263401b0"
+ }
+ Mouse {
+ type: 5
+ button: 0
+ buttons: 1
+ x: 170; y: 204
+ modifiers: 0
+ sendToViewport: true
+ }
+ Frame {
+ msec: 1408
+ hash: "cba9afe3f351e6cd6dc72d7f263401b0"
+ }
+ Mouse {
+ type: 5
+ button: 0
+ buttons: 1
+ x: 156; y: 204
+ modifiers: 0
+ sendToViewport: true
+ }
+ Frame {
+ msec: 1424
+ hash: "cba9afe3f351e6cd6dc72d7f263401b0"
+ }
+ Frame {
+ msec: 1440
+ hash: "cba9afe3f351e6cd6dc72d7f263401b0"
+ }
+ Mouse {
+ type: 5
+ button: 0
+ buttons: 1
+ x: 130; y: 204
+ modifiers: 0
+ sendToViewport: true
+ }
+ Mouse {
+ type: 3
+ button: 1
+ buttons: 0
+ x: 130; y: 204
+ modifiers: 0
+ sendToViewport: true
+ }
+ Frame {
+ msec: 1456
+ hash: "8b7dd0f0a3881f10d76b47cbec4754c3"
+ }
+ Frame {
+ msec: 1472
+ hash: "b6fc4990acb245e015c35261a3c6fd75"
+ }
+ Frame {
+ msec: 1488
+ hash: "849fa4174134804dadc000323141b341"
+ }
+ Frame {
+ msec: 1504
+ hash: "35f2d6405ed7d992bb62eb6e24478492"
+ }
+ Frame {
+ msec: 1520
+ hash: "673ebb4499522c3f27b775dff1dbbe44"
+ }
+ Frame {
+ msec: 1536
+ hash: "96945f5489ffd0dc8ab995c96eb5da43"
+ }
+ Frame {
+ msec: 1552
+ hash: "2e4543754429ac3db831a2432098c063"
+ }
+ Frame {
+ msec: 1568
+ hash: "02253fe8a9fd5009a07265c2c6ffc8e4"
+ }
+ Frame {
+ msec: 1584
+ hash: "200a89949df1e9ef58d005a139857d2c"
+ }
+ Frame {
+ msec: 1600
+ hash: "ceb28be34c7ea8eff5fa00fdea087439"
+ }
+ Frame {
+ msec: 1616
+ hash: "a9ece475c51f126094c5eff4e20f4a19"
+ }
+ Frame {
+ msec: 1632
+ hash: "aa0776f84aef87d6971affdfa2d8dd82"
+ }
+ Frame {
+ msec: 1648
+ hash: "4c74661e1c73fefc9c5154b257239352"
+ }
+ Frame {
+ msec: 1664
+ hash: "c10d23df3a75966aad5016bd8ba8e9d8"
+ }
+ Frame {
+ msec: 1680
+ hash: "41692977d654a55d3b1d037aea9f2c03"
+ }
+ Frame {
+ msec: 1696
+ hash: "2f1835a1de94f962eb5dc781c85b4c32"
+ }
+ Frame {
+ msec: 1712
+ hash: "7cb78e2e5f6d35d456c95f2bd8652eb5"
+ }
+ Frame {
+ msec: 1728
+ hash: "4388aee9b1c8b4fde43634ad08f03557"
+ }
+ Frame {
+ msec: 1744
+ hash: "1cdc71100fd11cb6e60c9ab7e65e95bf"
+ }
+ Frame {
+ msec: 1760
+ hash: "feddbf269adfc8bb1b1a3656b5b5736d"
+ }
+ Frame {
+ msec: 1776
+ hash: "76b39ce0ee9b9b4af8aa0141577b8460"
+ }
+ Frame {
+ msec: 1792
+ hash: "bac963d3df2841ab7a3770a371f3a94d"
+ }
+ Frame {
+ msec: 1808
+ hash: "403007bb6c0782fece1cedbd40994550"
+ }
+ Frame {
+ msec: 1824
+ hash: "72076c743fdd33fab2ac789c7c22973a"
+ }
+ Frame {
+ msec: 1840
+ hash: "662be553c32b0145b3f4fee9bb0d659d"
+ }
+ Frame {
+ msec: 1856
+ hash: "e6b9049949a0ee4ff8a0fcaf5464f479"
+ }
+ Frame {
+ msec: 1872
+ hash: "eb1939458851780b7bb51ee50f0a3bd7"
+ }
+ Frame {
+ msec: 1888
+ hash: "41c8d2686ddb882981a7d3a5c8c69005"
+ }
+ Frame {
+ msec: 1904
+ hash: "7d3b1fc34082a160cbea4409af85fc9c"
+ }
+ Frame {
+ msec: 1920
+ image: "qtbug10586.1.png"
+ }
+ Frame {
+ msec: 1936
+ hash: "17be4a9c3d4d19e93bf1fc3a13a374a2"
+ }
+ Frame {
+ msec: 1952
+ hash: "d449593024a59487eb92195ee6b77a64"
+ }
+ Frame {
+ msec: 1968
+ hash: "c6ccbc2acec8e32f043f2cfb7b7848a9"
+ }
+ Frame {
+ msec: 1984
+ hash: "cef9f8e8cdd5e2d33b86a9a6fb64ecb4"
+ }
+ Frame {
+ msec: 2000
+ hash: "2a8956de5ce417431bdb156144985370"
+ }
+ Frame {
+ msec: 2016
+ hash: "73721425a9c658bd9d40eac3fcbe8e25"
+ }
+ Frame {
+ msec: 2032
+ hash: "9a9cf8eee0bf2f09944a4fb3b1c139d5"
+ }
+ Frame {
+ msec: 2048
+ hash: "3673cdee04343ce679ec2cebadc9f512"
+ }
+ Frame {
+ msec: 2064
+ hash: "eedd62019867e3189f9cf6e2b4149c6d"
+ }
+ Frame {
+ msec: 2080
+ hash: "7a66bc37f5cf917e8b121003af0530b0"
+ }
+ Frame {
+ msec: 2096
+ hash: "401667ed0f38858553de27164e9cadb5"
+ }
+ Frame {
+ msec: 2112
+ hash: "b391699437c4092de3ad1684a35bfd30"
+ }
+ Frame {
+ msec: 2128
+ hash: "109c91215f075292910095a25eaded49"
+ }
+ Frame {
+ msec: 2144
+ hash: "c44d3f6ce1fa1ab324dd9ef394f37f87"
+ }
+ Frame {
+ msec: 2160
+ hash: "299d43cb3dcf7b95af8803df3eb17a46"
+ }
+ Frame {
+ msec: 2176
+ hash: "7ddd97266383d954a008fbe7b95a3169"
+ }
+ Frame {
+ msec: 2192
+ hash: "941f2837ff5145a26df9a0d9f6d20bd9"
+ }
+ Frame {
+ msec: 2208
+ hash: "d99d76cba43f3ae953605d7732d6ce21"
+ }
+ Frame {
+ msec: 2224
+ hash: "929f49416f7ca80d7f5f2be3b13b849e"
+ }
+ Frame {
+ msec: 2240
+ hash: "929f49416f7ca80d7f5f2be3b13b849e"
+ }
+ Frame {
+ msec: 2256
+ hash: "fff9bbf16d1c3f7510ddfc44af616a5e"
+ }
+ Frame {
+ msec: 2272
+ hash: "70b6cdb95ad6723d18c623e1dc79a8db"
+ }
+ Frame {
+ msec: 2288
+ hash: "70b6cdb95ad6723d18c623e1dc79a8db"
+ }
+ Frame {
+ msec: 2304
+ hash: "cdb3c12b1b0b6ab269ba7fcf75320f69"
+ }
+ Frame {
+ msec: 2320
+ hash: "cdb3c12b1b0b6ab269ba7fcf75320f69"
+ }
+ Frame {
+ msec: 2336
+ hash: "cdb3c12b1b0b6ab269ba7fcf75320f69"
+ }
+ Frame {
+ msec: 2352
+ hash: "cdb3c12b1b0b6ab269ba7fcf75320f69"
+ }
+ Frame {
+ msec: 2368
+ hash: "cdb3c12b1b0b6ab269ba7fcf75320f69"
+ }
+ Frame {
+ msec: 2384
+ hash: "cdb3c12b1b0b6ab269ba7fcf75320f69"
+ }
+ Frame {
+ msec: 2400
+ hash: "cdb3c12b1b0b6ab269ba7fcf75320f69"
+ }
+ Frame {
+ msec: 2416
+ hash: "cdb3c12b1b0b6ab269ba7fcf75320f69"
+ }
+ Frame {
+ msec: 2432
+ hash: "cdb3c12b1b0b6ab269ba7fcf75320f69"
+ }
+ Frame {
+ msec: 2448
+ hash: "cdb3c12b1b0b6ab269ba7fcf75320f69"
+ }
+ Frame {
+ msec: 2464
+ hash: "cdb3c12b1b0b6ab269ba7fcf75320f69"
+ }
+ Frame {
+ msec: 2480
+ hash: "cdb3c12b1b0b6ab269ba7fcf75320f69"
+ }
+ Frame {
+ msec: 2496
+ hash: "cdb3c12b1b0b6ab269ba7fcf75320f69"
+ }
+ Frame {
+ msec: 2512
+ hash: "cdb3c12b1b0b6ab269ba7fcf75320f69"
+ }
+ Frame {
+ msec: 2528
+ hash: "cdb3c12b1b0b6ab269ba7fcf75320f69"
+ }
+ Frame {
+ msec: 2544
+ hash: "cdb3c12b1b0b6ab269ba7fcf75320f69"
+ }
+ Frame {
+ msec: 2560
+ hash: "cdb3c12b1b0b6ab269ba7fcf75320f69"
+ }
+ Frame {
+ msec: 2576
+ hash: "cdb3c12b1b0b6ab269ba7fcf75320f69"
+ }
+ Frame {
+ msec: 2592
+ hash: "cdb3c12b1b0b6ab269ba7fcf75320f69"
+ }
+ Frame {
+ msec: 2608
+ hash: "cdb3c12b1b0b6ab269ba7fcf75320f69"
+ }
+ Frame {
+ msec: 2624
+ hash: "cdb3c12b1b0b6ab269ba7fcf75320f69"
+ }
+ Frame {
+ msec: 2640
+ hash: "cdb3c12b1b0b6ab269ba7fcf75320f69"
+ }
+ Frame {
+ msec: 2656
+ hash: "cdb3c12b1b0b6ab269ba7fcf75320f69"
+ }
+ Frame {
+ msec: 2672
+ hash: "cdb3c12b1b0b6ab269ba7fcf75320f69"
+ }
+ Frame {
+ msec: 2688
+ hash: "cdb3c12b1b0b6ab269ba7fcf75320f69"
+ }
+ Frame {
+ msec: 2704
+ hash: "cdb3c12b1b0b6ab269ba7fcf75320f69"
+ }
+ Frame {
+ msec: 2720
+ hash: "cdb3c12b1b0b6ab269ba7fcf75320f69"
+ }
+ Frame {
+ msec: 2736
+ hash: "cdb3c12b1b0b6ab269ba7fcf75320f69"
+ }
+ Mouse {
+ type: 2
+ button: 1
+ buttons: 1
+ x: 29; y: 239
+ modifiers: 0
+ sendToViewport: true
+ }
+ Frame {
+ msec: 2752
+ hash: "cdb3c12b1b0b6ab269ba7fcf75320f69"
+ }
+ Frame {
+ msec: 2768
+ hash: "cdb3c12b1b0b6ab269ba7fcf75320f69"
+ }
+ Frame {
+ msec: 2784
+ hash: "cdb3c12b1b0b6ab269ba7fcf75320f69"
+ }
+ Frame {
+ msec: 2800
+ hash: "cdb3c12b1b0b6ab269ba7fcf75320f69"
+ }
+ Frame {
+ msec: 2816
+ hash: "cdb3c12b1b0b6ab269ba7fcf75320f69"
+ }
+ Mouse {
+ type: 5
+ button: 0
+ buttons: 1
+ x: 35; y: 241
+ modifiers: 0
+ sendToViewport: true
+ }
+ Frame {
+ msec: 2832
+ hash: "cdb3c12b1b0b6ab269ba7fcf75320f69"
+ }
+ Mouse {
+ type: 5
+ button: 0
+ buttons: 1
+ x: 63; y: 243
+ modifiers: 0
+ sendToViewport: true
+ }
+ Frame {
+ msec: 2848
+ hash: "2732b282b8ac482033694cd04c6f5b7e"
+ }
+ Mouse {
+ type: 5
+ button: 0
+ buttons: 1
+ x: 106; y: 244
+ modifiers: 0
+ sendToViewport: true
+ }
+ Frame {
+ msec: 2864
+ hash: "7d253797885f8b304d8fb3ba727a3c5d"
+ }
+ Mouse {
+ type: 5
+ button: 0
+ buttons: 1
+ x: 158; y: 243
+ modifiers: 0
+ sendToViewport: true
+ }
+ Mouse {
+ type: 3
+ button: 1
+ buttons: 0
+ x: 158; y: 243
+ modifiers: 0
+ sendToViewport: true
+ }
+ Frame {
+ msec: 2880
+ image: "qtbug10586.2.png"
+ }
+ Frame {
+ msec: 2896
+ hash: "d85a416e4ddf59dfd0723b0be0e2b418"
+ }
+ Frame {
+ msec: 2912
+ hash: "f1934f6ca6a3c5ac5df3451596b8d8ba"
+ }
+ Frame {
+ msec: 2928
+ hash: "28fc74a76f9eaeeccbd3063dc55a1000"
+ }
+ Frame {
+ msec: 2944
+ hash: "eb8ad8dae734b624664fcf584cda6ba0"
+ }
+ Frame {
+ msec: 2960
+ hash: "a6d0f4aba3e5ae1e003520f45b75d6dd"
+ }
+ Frame {
+ msec: 2976
+ hash: "4e5a4d04dfa5f06292774e6bf4f86508"
+ }
+ Frame {
+ msec: 2992
+ hash: "fc9e16fd8c7379d774a09fe50d4259dc"
+ }
+ Frame {
+ msec: 3008
+ hash: "721ea322d9a5e9d48117336476f568cb"
+ }
+ Frame {
+ msec: 3024
+ hash: "5930448341bce1c50de7acaba1f64ca1"
+ }
+ Frame {
+ msec: 3040
+ hash: "7194bacd56906f83948844224ce6a3e7"
+ }
+ Frame {
+ msec: 3056
+ hash: "fcf11cf70b8ac210d4bb2bc716942053"
+ }
+ Frame {
+ msec: 3072
+ hash: "767d707db4dbb02b6f97153b3822a1d1"
+ }
+ Frame {
+ msec: 3088
+ hash: "f8eb75b97f5233aa82b887aab34a38e3"
+ }
+ Frame {
+ msec: 3104
+ hash: "1d3beb06b39fa1d5cabd31ec4297f59f"
+ }
+ Frame {
+ msec: 3120
+ hash: "cadc775e0764afa7b50c5bab782035dd"
+ }
+ Frame {
+ msec: 3136
+ hash: "385f5a6e80da0d3ddf24539a64f26eb9"
+ }
+ Frame {
+ msec: 3152
+ hash: "34204871a684ea251c9d07fb125436da"
+ }
+ Frame {
+ msec: 3168
+ hash: "bc3e496535e66ff0d1e800092b7c78ca"
+ }
+ Frame {
+ msec: 3184
+ hash: "d6c4ff5bf223361be42c78d6d81248c3"
+ }
+ Frame {
+ msec: 3200
+ hash: "cb09d41612df66a8d099153026adcbf3"
+ }
+ Frame {
+ msec: 3216
+ hash: "f82180b8c0389ddc3623107a049c3366"
+ }
+ Frame {
+ msec: 3232
+ hash: "1b0f65e4599c65b8a603abd8da718d48"
+ }
+ Frame {
+ msec: 3248
+ hash: "897391a8206178356858139b3d1a4ce8"
+ }
+ Frame {
+ msec: 3264
+ hash: "b66d268dc7a42a7b1172b1ff566f4eb8"
+ }
+ Frame {
+ msec: 3280
+ hash: "0fe5d38a253dbd1ebcc67cca7ea86dc7"
+ }
+ Frame {
+ msec: 3296
+ hash: "b788f8a7e1e42f768fd1fe1198ca0344"
+ }
+ Frame {
+ msec: 3312
+ hash: "4f7f8b7f5bb78bb9327b6fa8142ce3a2"
+ }
+ Frame {
+ msec: 3328
+ hash: "30f041278c08174671568a0dfb7cbdf7"
+ }
+ Frame {
+ msec: 3344
+ hash: "6ecd90fc89ab9b6c4813fa6a6e9dffdb"
+ }
+ Frame {
+ msec: 3360
+ hash: "6ecd90fc89ab9b6c4813fa6a6e9dffdb"
+ }
+ Frame {
+ msec: 3376
+ hash: "6d79d9d0ba8da0b5654b39768b25591f"
+ }
+ Frame {
+ msec: 3392
+ hash: "6d79d9d0ba8da0b5654b39768b25591f"
+ }
+ Frame {
+ msec: 3408
+ hash: "6d79d9d0ba8da0b5654b39768b25591f"
+ }
+ Frame {
+ msec: 3424
+ hash: "6d79d9d0ba8da0b5654b39768b25591f"
+ }
+ Frame {
+ msec: 3440
+ hash: "6d79d9d0ba8da0b5654b39768b25591f"
+ }
+ Frame {
+ msec: 3456
+ hash: "cba9afe3f351e6cd6dc72d7f263401b0"
+ }
+ Frame {
+ msec: 3472
+ hash: "cba9afe3f351e6cd6dc72d7f263401b0"
+ }
+ Frame {
+ msec: 3488
+ hash: "cba9afe3f351e6cd6dc72d7f263401b0"
+ }
+ Frame {
+ msec: 3504
+ hash: "cba9afe3f351e6cd6dc72d7f263401b0"
+ }
+ Frame {
+ msec: 3520
+ hash: "cba9afe3f351e6cd6dc72d7f263401b0"
+ }
+ Frame {
+ msec: 3536
+ hash: "cba9afe3f351e6cd6dc72d7f263401b0"
+ }
+ Frame {
+ msec: 3552
+ hash: "cba9afe3f351e6cd6dc72d7f263401b0"
+ }
+ Frame {
+ msec: 3568
+ hash: "cba9afe3f351e6cd6dc72d7f263401b0"
+ }
+ Frame {
+ msec: 3584
+ hash: "cba9afe3f351e6cd6dc72d7f263401b0"
+ }
+ Frame {
+ msec: 3600
+ hash: "cba9afe3f351e6cd6dc72d7f263401b0"
+ }
+ Frame {
+ msec: 3616
+ hash: "cba9afe3f351e6cd6dc72d7f263401b0"
+ }
+ Frame {
+ msec: 3632
+ hash: "cba9afe3f351e6cd6dc72d7f263401b0"
+ }
+ Frame {
+ msec: 3648
+ hash: "cba9afe3f351e6cd6dc72d7f263401b0"
+ }
+ Frame {
+ msec: 3664
+ hash: "cba9afe3f351e6cd6dc72d7f263401b0"
+ }
+ Frame {
+ msec: 3680
+ hash: "cba9afe3f351e6cd6dc72d7f263401b0"
+ }
+ Frame {
+ msec: 3696
+ hash: "cba9afe3f351e6cd6dc72d7f263401b0"
+ }
+ Frame {
+ msec: 3712
+ hash: "cba9afe3f351e6cd6dc72d7f263401b0"
+ }
+ Frame {
+ msec: 3728
+ hash: "cba9afe3f351e6cd6dc72d7f263401b0"
+ }
+ Frame {
+ msec: 3744
+ hash: "cba9afe3f351e6cd6dc72d7f263401b0"
+ }
+ Frame {
+ msec: 3760
+ hash: "cba9afe3f351e6cd6dc72d7f263401b0"
+ }
+ Frame {
+ msec: 3776
+ hash: "cba9afe3f351e6cd6dc72d7f263401b0"
+ }
+ Frame {
+ msec: 3792
+ hash: "cba9afe3f351e6cd6dc72d7f263401b0"
+ }
+ Frame {
+ msec: 3808
+ hash: "cba9afe3f351e6cd6dc72d7f263401b0"
+ }
+ Frame {
+ msec: 3824
+ hash: "cba9afe3f351e6cd6dc72d7f263401b0"
+ }
+ Frame {
+ msec: 3840
+ image: "qtbug10586.3.png"
+ }
+ Frame {
+ msec: 3856
+ hash: "cba9afe3f351e6cd6dc72d7f263401b0"
+ }
+ Frame {
+ msec: 3872
+ hash: "cba9afe3f351e6cd6dc72d7f263401b0"
+ }
+ Frame {
+ msec: 3888
+ hash: "cba9afe3f351e6cd6dc72d7f263401b0"
+ }
+ Frame {
+ msec: 3904
+ hash: "cba9afe3f351e6cd6dc72d7f263401b0"
+ }
+ Frame {
+ msec: 3920
+ hash: "cba9afe3f351e6cd6dc72d7f263401b0"
+ }
+ Frame {
+ msec: 3936
+ hash: "cba9afe3f351e6cd6dc72d7f263401b0"
+ }
+ Frame {
+ msec: 3952
+ hash: "cba9afe3f351e6cd6dc72d7f263401b0"
+ }
+ Frame {
+ msec: 3968
+ hash: "cba9afe3f351e6cd6dc72d7f263401b0"
+ }
+ Frame {
+ msec: 3984
+ hash: "cba9afe3f351e6cd6dc72d7f263401b0"
+ }
+ Frame {
+ msec: 4000
+ hash: "cba9afe3f351e6cd6dc72d7f263401b0"
+ }
+ Frame {
+ msec: 4016
+ hash: "cba9afe3f351e6cd6dc72d7f263401b0"
+ }
+ Frame {
+ msec: 4032
+ hash: "cba9afe3f351e6cd6dc72d7f263401b0"
+ }
+ Frame {
+ msec: 4048
+ hash: "cba9afe3f351e6cd6dc72d7f263401b0"
+ }
+ Frame {
+ msec: 4064
+ hash: "cba9afe3f351e6cd6dc72d7f263401b0"
+ }
+ Key {
+ type: 6
+ key: 16777249
+ modifiers: 67108864
+ text: ""
+ autorep: false
+ count: 1
+ }
+ Frame {
+ msec: 4080
+ hash: "cba9afe3f351e6cd6dc72d7f263401b0"
+ }
+ Frame {
+ msec: 4096
+ hash: "cba9afe3f351e6cd6dc72d7f263401b0"
+ }
+ Frame {
+ msec: 4112
+ hash: "cba9afe3f351e6cd6dc72d7f263401b0"
+ }
+ Frame {
+ msec: 4128
+ hash: "cba9afe3f351e6cd6dc72d7f263401b0"
+ }
+ Frame {
+ msec: 4144
+ hash: "cba9afe3f351e6cd6dc72d7f263401b0"
+ }
+ Frame {
+ msec: 4160
+ hash: "cba9afe3f351e6cd6dc72d7f263401b0"
+ }
+ Frame {
+ msec: 4176
+ hash: "cba9afe3f351e6cd6dc72d7f263401b0"
+ }
+ Frame {
+ msec: 4192
+ hash: "cba9afe3f351e6cd6dc72d7f263401b0"
+ }
+}
diff --git a/tests/auto/declarative/qmlvisual/animation/qtbug10586/qtbug10586.qml b/tests/auto/declarative/qmlvisual/animation/qtbug10586/qtbug10586.qml
new file mode 100644
index 0000000000..f1a3ef7de0
--- /dev/null
+++ b/tests/auto/declarative/qmlvisual/animation/qtbug10586/qtbug10586.qml
@@ -0,0 +1,27 @@
+import Qt 4.7
+
+Rectangle {
+ width: 200
+ height: 400
+ Flickable {
+ id: flick
+ anchors.fill: parent
+ contentWidth: 1000; contentHeight: parent.height
+ Rectangle {
+ border.color: "black"
+ border.width: 10
+ width: 1000; height: 1000
+ rotation: 90
+ gradient: Gradient {
+ GradientStop { position: 0; color: "black" }
+ GradientStop { position: 1; color: "white" }
+ }
+ }
+ }
+ Rectangle {
+ color: "red"
+ width: 100; height: 100
+ y: flick.contentX < 10 ? 300 : 0
+ Behavior on y { NumberAnimation {} }
+ }
+}
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativemousearea/mousearea-flickable.qml b/tests/auto/declarative/qmlvisual/qdeclarativemousearea/mousearea-flickable.qml
index a0b787f5f9..e223f5e710 100644
--- a/tests/auto/declarative/qmlvisual/qdeclarativemousearea/mousearea-flickable.qml
+++ b/tests/auto/declarative/qmlvisual/qdeclarativemousearea/mousearea-flickable.qml
@@ -25,7 +25,7 @@ Rectangle {
MouseArea {
anchors.fill: parent
onPressed: blue.color = "lightsteelblue"
- onReleased: blue.color = "steelblue"
+ onCanceled: blue.color = "steelblue"
}
}
Rectangle {
@@ -36,7 +36,7 @@ Rectangle {
MouseArea {
anchors.fill: parent
onEntered: { red.color = "darkred"; tooltip.opacity = 1 }
- onExited: { red.color = "red"; tooltip.opacity = 0 }
+ onCanceled: { red.color = "red"; tooltip.opacity = 0 }
}
Rectangle {
id: tooltip
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetext/font/plaintext.qml b/tests/auto/declarative/qmlvisual/qdeclarativetext/font/plaintext.qml
index d948e4a494..73dd4d7844 100644
--- a/tests/auto/declarative/qmlvisual/qdeclarativetext/font/plaintext.qml
+++ b/tests/auto/declarative/qmlvisual/qdeclarativetext/font/plaintext.qml
@@ -85,7 +85,7 @@ Rectangle {
text: s.text + " thisisaverylongstringwithnospaces"; width: 150; wrapMode: Text.WrapAnywhere
}
Text {
- text: s.text + " thisisaverylongstringwithnospaces"; width: 150; wrapMode: Text.WrapAtWordBoundaryOrAnywhere
+ text: s.text + " thisisaverylongstringwithnospaces"; width: 150; wrapMode: Text.Wrap
}
}
}
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetext/font/richtext.qml b/tests/auto/declarative/qmlvisual/qdeclarativetext/font/richtext.qml
index d10cfd3d1b..b41b93a31a 100644
--- a/tests/auto/declarative/qmlvisual/qdeclarativetext/font/richtext.qml
+++ b/tests/auto/declarative/qmlvisual/qdeclarativetext/font/richtext.qml
@@ -85,7 +85,7 @@ Rectangle {
text: s.text + " thisisaverylongstringwithnospaces"; width: 150; wrapMode: Text.WrapAnywhere
}
Text {
- text: s.text + " thisisaverylongstringwithnospaces"; width: 150; wrapMode: Text.WrapAtWordBoundaryOrAnywhere
+ text: s.text + " thisisaverylongstringwithnospaces"; width: 150; wrapMode: Text.Wrap
}
}
}
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/MultilineEdit.qml b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/MultilineEdit.qml
new file mode 100644
index 0000000000..53538cb91b
--- /dev/null
+++ b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/MultilineEdit.qml
@@ -0,0 +1,73 @@
+import Qt 4.7
+
+Item {
+ id:lineedit
+ property alias text: textEdit.text
+
+ width: 240 + 11 //Should be set manually in most cases
+ height: textEdit.height + 11
+
+ Rectangle{
+ color: 'lightsteelblue'
+ anchors.fill: parent
+ }
+ clip: true
+ Component.onCompleted: textEdit.cursorPosition = 0;
+ TextEdit{
+ id:textEdit
+ cursorDelegate: Item{
+ Rectangle{
+ visible: parent.parent.focus
+ color: "#009BCE"
+ height: 13
+ width: 2
+ y: 1
+ }
+ }
+ property int leftMargin: 6
+ property int topMargin: 6
+ property int rightMargin: 6
+ property int bottomMargin: 6
+ x: leftMargin
+ width: parent.width - leftMargin - rightMargin;
+ y: 5
+ //Below function implements all scrolling logic
+ onCursorPositionChanged: {
+ if(cursorRectangle.y < topMargin - textEdit.y){//Cursor went off the front
+ textEdit.y = topMargin - Math.max(0, cursorRectangle.y);
+ }else if(cursorRectangle.y > parent.height - topMargin - bottomMargin - textEdit.y){//Cursor went off the end
+ textEdit.y = topMargin - Math.max(0, cursorRectangle.y - (parent.height - topMargin - bottomMargin)) - cursorRectangle.height;
+ }
+ }
+
+ text:""
+ horizontalAlignment: TextInput.AlignLeft
+ wrapMode: TextEdit.WordWrap
+ font.pixelSize:15
+ }
+ MouseArea{
+ //Implements all line edit mouse handling
+ id: mainMouseArea
+ anchors.fill: parent;
+ function translateY(y){
+ return y - textEdit.y
+ }
+ function translateX(x){
+ return x - textEdit.x
+ }
+ onPressed: {
+ textEdit.focus = true;
+ textEdit.cursorPosition = textEdit.positionAt(translateX(mouse.x), translateY(mouse.y));
+ }
+ onPositionChanged: {
+ textEdit.moveCursorSelection(textEdit.positionAt(translateX(mouse.x), translateY(mouse.y)));
+ }
+ onReleased: {
+ }
+ onDoubleClicked: {
+ textEdit.selectAll()
+ }
+ z: textEdit.z + 1
+ }
+
+}
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/usingMultilineEdit.qml b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/usingMultilineEdit.qml
new file mode 100644
index 0000000000..47b48d8601
--- /dev/null
+++ b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/usingMultilineEdit.qml
@@ -0,0 +1,13 @@
+import Qt 4.7
+
+Rectangle{
+ width: 600
+ height: 200
+ Column{
+ MultilineEdit{
+ text: 'I am the very model of a modern major general. I\'ve information vegetable, animal and mineral. I know the kings of england and I quote the fights historical - from Marathon to Waterloo in order categorical.';
+ width: 182; height: 60;
+ }
+ MultilineEdit{text: 'Hello world'}
+ }
+}
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/wrap.qml b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/wrap.qml
index abb446423c..a1dc5bf17f 100644
--- a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/wrap.qml
+++ b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/wrap.qml
@@ -27,7 +27,7 @@ Item {
TextEdit {
width: 150
height: 100
- wrapMode: TextEdit.WrapAtWordBoundaryOrAnywhere
+ wrapMode: TextEdit.Wrap
text: "This is a test that text edit wraps correctly. thisisaverylongstringwithnospaces"
y:300
}
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextinput/LineEdit.qml b/tests/auto/declarative/qmlvisual/qdeclarativetextinput/LineEdit.qml
index 31f24ec048..e863262370 100644
--- a/tests/auto/declarative/qmlvisual/qdeclarativetextinput/LineEdit.qml
+++ b/tests/auto/declarative/qmlvisual/qdeclarativetextinput/LineEdit.qml
@@ -30,13 +30,14 @@ Item {
y: 5
//Below function implements all scrolling logic
onCursorPositionChanged: {
- if(cursorRect.x < leftMargin - textInp.x){//Cursor went off the front
- textInp.x = leftMargin - Math.max(0, cursorRect.x);
- }else if(cursorRect.x > parent.width - leftMargin - rightMargin - textInp.x){//Cusor went off the end
- textInp.x = leftMargin - Math.max(0, cursorRect.x - (parent.width - leftMargin - rightMargin));
+ if(cursorRectangle.x < leftMargin - textInp.x){//Cursor went off the front
+ textInp.x = leftMargin - Math.max(0, cursorRectangle.x);
+ }else if(cursorRectangle.x > parent.width - leftMargin - rightMargin - textInp.x){//Cusor went off the end
+ textInp.x = leftMargin - Math.max(0, cursorRectangle.x - (parent.width - leftMargin - rightMargin));
}
}
+ autoScroll: false //It is preferable to implement your own scrolling
text:""
horizontalAlignment: TextInput.AlignLeft
font.pixelSize:15
@@ -50,16 +51,15 @@ Item {
}
onPressed: {
textInp.focus = true;
- textInp.cursorPosition = textInp.xToPosition(translateX(mouse.x));
+ textInp.cursorPosition = textInp.positionAt(translateX(mouse.x));
}
onPositionChanged: {
- textInp.moveCursorSelection(textInp.xToPosition(translateX(mouse.x)));
+ textInp.moveCursorSelection(textInp.positionAt(translateX(mouse.x)));
}
onReleased: {
}
onDoubleClicked: {
- textInp.selectionStart=0;
- textInp.selectionEnd=textInp.text.length;
+ textInp.selectAll()
}
z: textInp.z + 1
}
diff --git a/tests/auto/declarative/qmlvisual/qfxwebview/autosize/data-X11/autosize.0.png b/tests/auto/declarative/qmlvisual/qfxwebview/autosize/data-X11/autosize.0.png
deleted file mode 100644
index 1f28b9a410..0000000000
--- a/tests/auto/declarative/qmlvisual/qfxwebview/autosize/data-X11/autosize.0.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qfxwebview/autosize/data-X11/autosize.qml b/tests/auto/declarative/qmlvisual/qfxwebview/autosize/data-X11/autosize.qml
deleted file mode 100644
index f4c4e29226..0000000000
--- a/tests/auto/declarative/qmlvisual/qfxwebview/autosize/data-X11/autosize.qml
+++ /dev/null
@@ -1,83 +0,0 @@
-import Qt.VisualTest 4.7
-
-VisualTest {
- Frame {
- msec: 0
- }
- Frame {
- msec: 16
- hash: "0c70d855adc847fe33d7959ccb98bb8b"
- }
- Frame {
- msec: 32
- hash: "0c70d855adc847fe33d7959ccb98bb8b"
- }
- Frame {
- msec: 48
- hash: "0c70d855adc847fe33d7959ccb98bb8b"
- }
- Frame {
- msec: 64
- hash: "0c70d855adc847fe33d7959ccb98bb8b"
- }
- Frame {
- msec: 80
- hash: "0c70d855adc847fe33d7959ccb98bb8b"
- }
- Frame {
- msec: 96
- hash: "0c70d855adc847fe33d7959ccb98bb8b"
- }
- Frame {
- msec: 112
- hash: "0c70d855adc847fe33d7959ccb98bb8b"
- }
- Frame {
- msec: 128
- hash: "0c70d855adc847fe33d7959ccb98bb8b"
- }
- Frame {
- msec: 144
- hash: "0c70d855adc847fe33d7959ccb98bb8b"
- }
- Frame {
- msec: 160
- hash: "0c70d855adc847fe33d7959ccb98bb8b"
- }
- Frame {
- msec: 176
- hash: "0c70d855adc847fe33d7959ccb98bb8b"
- }
- Frame {
- msec: 192
- hash: "0c70d855adc847fe33d7959ccb98bb8b"
- }
- Frame {
- msec: 208
- hash: "0c70d855adc847fe33d7959ccb98bb8b"
- }
- Frame {
- msec: 224
- hash: "0c70d855adc847fe33d7959ccb98bb8b"
- }
- Frame {
- msec: 240
- hash: "0c70d855adc847fe33d7959ccb98bb8b"
- }
- Frame {
- msec: 256
- hash: "0c70d855adc847fe33d7959ccb98bb8b"
- }
- Frame {
- msec: 272
- hash: "0c70d855adc847fe33d7959ccb98bb8b"
- }
- Frame {
- msec: 288
- hash: "0c70d855adc847fe33d7959ccb98bb8b"
- }
- Frame {
- msec: 304
- hash: "0c70d855adc847fe33d7959ccb98bb8b"
- }
-}
diff --git a/tests/auto/declarative/qmlvisual/qfxwebview/autosize/data/autosize.0.png b/tests/auto/declarative/qmlvisual/qfxwebview/autosize/data/autosize.0.png
deleted file mode 100644
index 1f28b9a410..0000000000
--- a/tests/auto/declarative/qmlvisual/qfxwebview/autosize/data/autosize.0.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qfxwebview/autosize/data/autosize.qml b/tests/auto/declarative/qmlvisual/qfxwebview/autosize/data/autosize.qml
deleted file mode 100644
index 273c2b0fab..0000000000
--- a/tests/auto/declarative/qmlvisual/qfxwebview/autosize/data/autosize.qml
+++ /dev/null
@@ -1,83 +0,0 @@
-import Qt.VisualTest 4.7
-
-VisualTest {
- Frame {
- msec: 0
- }
- Frame {
- msec: 16
- hash: "66539e1b1983d95386b0d30d6e969904"
- }
- Frame {
- msec: 32
- hash: "66539e1b1983d95386b0d30d6e969904"
- }
- Frame {
- msec: 48
- hash: "66539e1b1983d95386b0d30d6e969904"
- }
- Frame {
- msec: 64
- hash: "66539e1b1983d95386b0d30d6e969904"
- }
- Frame {
- msec: 80
- hash: "66539e1b1983d95386b0d30d6e969904"
- }
- Frame {
- msec: 96
- hash: "66539e1b1983d95386b0d30d6e969904"
- }
- Frame {
- msec: 112
- hash: "66539e1b1983d95386b0d30d6e969904"
- }
- Frame {
- msec: 128
- hash: "66539e1b1983d95386b0d30d6e969904"
- }
- Frame {
- msec: 144
- hash: "66539e1b1983d95386b0d30d6e969904"
- }
- Frame {
- msec: 160
- hash: "66539e1b1983d95386b0d30d6e969904"
- }
- Frame {
- msec: 176
- hash: "66539e1b1983d95386b0d30d6e969904"
- }
- Frame {
- msec: 192
- hash: "66539e1b1983d95386b0d30d6e969904"
- }
- Frame {
- msec: 208
- hash: "66539e1b1983d95386b0d30d6e969904"
- }
- Frame {
- msec: 224
- hash: "66539e1b1983d95386b0d30d6e969904"
- }
- Frame {
- msec: 240
- hash: "66539e1b1983d95386b0d30d6e969904"
- }
- Frame {
- msec: 256
- hash: "66539e1b1983d95386b0d30d6e969904"
- }
- Frame {
- msec: 272
- hash: "66539e1b1983d95386b0d30d6e969904"
- }
- Frame {
- msec: 288
- hash: "66539e1b1983d95386b0d30d6e969904"
- }
- Frame {
- msec: 304
- hash: "66539e1b1983d95386b0d30d6e969904"
- }
-}
diff --git a/tests/auto/declarative/qmlvisual/qmlvisual.pro b/tests/auto/declarative/qmlvisual/qmlvisual.pro
index a3abbe3a99..cb7e5d7bd8 100644
--- a/tests/auto/declarative/qmlvisual/qmlvisual.pro
+++ b/tests/auto/declarative/qmlvisual/qmlvisual.pro
@@ -4,7 +4,32 @@ macx:CONFIG -= app_bundle
SOURCES += tst_qmlvisual.cpp
-DEFINES += QT_TEST_SOURCE_DIR=\"\\\"$$PWD\\\"\"
+symbian: {
+ importFiles.path = .
+ importFiles.sources = animation \
+ fillmode \
+ focusscope \
+ ListView \
+ qdeclarativeborderimage \
+ qdeclarativeflickable \
+ qdeclarativeflipable \
+ qdeclarativegridview \
+ qdeclarativemousearea \
+ qdeclarativeparticles \
+ qdeclarativepathview \
+ qdeclarativepositioners \
+ qdeclarativesmoothedanimation \
+ qdeclarativespringfollow \
+ qdeclarativetext \
+ qdeclarativetextedit \
+ qdeclarativetextinput \
+ rect \
+ repeater \
+ selftest_noimages \
+ webview
+ DEPLOYMENT = importFiles
+} else {
+ DEFINES += QT_TEST_SOURCE_DIR=\"\\\"$$PWD\\\"\"
+}
CONFIG += parallel_test
-
diff --git a/tests/auto/declarative/qmlvisual/tst_qmlvisual.cpp b/tests/auto/declarative/qmlvisual/tst_qmlvisual.cpp
index 5f25882732..a2d32737df 100644
--- a/tests/auto/declarative/qmlvisual/tst_qmlvisual.cpp
+++ b/tests/auto/declarative/qmlvisual/tst_qmlvisual.cpp
@@ -47,6 +47,11 @@
#include <QProcess>
#include <QFile>
+#ifdef Q_OS_SYMBIAN
+// In Symbian OS test data is located in applications private dir
+#define QT_TEST_SOURCE_DIR "."
+#endif
+
enum Mode { Record, RecordNoVisuals, RecordSnapshot, Play, TestVisuals, RemoveVisuals, UpdateVisuals, UpdatePlatformVisuals, Test };
static QString testdir;
@@ -81,11 +86,11 @@ QString tst_qmlvisual::viewer()
QString qmlruntime;
#if defined(Q_WS_MAC)
- qmlruntime = QDir(binaries).absoluteFilePath("qml.app/Contents/MacOS/qml");
-#elif defined(Q_WS_WIN)
- qmlruntime = QDir(binaries).absoluteFilePath("qml.exe");
+ qmlruntime = QDir(binaries).absoluteFilePath("QMLViewer.app/Contents/MacOS/QMLViewer");
+#elif defined(Q_WS_WIN) || defined(Q_WS_S60)
+ qmlruntime = QDir(binaries).absoluteFilePath("qmlviewer.exe");
#else
- qmlruntime = QDir(binaries).absoluteFilePath("qml");
+ qmlruntime = QDir(binaries).absoluteFilePath("qmlviewer");
#endif
return qmlruntime;
@@ -101,11 +106,11 @@ void tst_qmlvisual::visual_data()
files << findQmlFiles(QDir(QT_TEST_SOURCE_DIR));
else {
//these are newly added tests we want to try out in CI (then move to the stable list)
- files << QT_TEST_SOURCE_DIR "/qdeclarativeborderimage/borders.qml";
+ files << QT_TEST_SOURCE_DIR "/animation/qtbug10586/qtbug10586.qml";
files << QT_TEST_SOURCE_DIR "/qdeclarativeborderimage/animated.qml";
- files << QT_TEST_SOURCE_DIR "/qdeclarativeborderimage/animated-smooth.qml";
files << QT_TEST_SOURCE_DIR "/qdeclarativeflipable/test-flipable.qml";
files << QT_TEST_SOURCE_DIR "/qdeclarativepositioners/usingRepeater.qml";
+ files << QT_TEST_SOURCE_DIR "/animation/parentAnimation2/parentAnimation2.qml";
//these are tests we think are stable and useful enough to be run by the CI system
files << QT_TEST_SOURCE_DIR "/animation/bindinganimation/bindinganimation.qml";
@@ -123,6 +128,8 @@ void tst_qmlvisual::visual_data()
//these reliably fail in CI, for unknown reasons
//files << QT_TEST_SOURCE_DIR "/animation/easing/easing.qml";
//files << QT_TEST_SOURCE_DIR "/animation/pauseAnimation/pauseAnimation-visual.qml";
+ //files << QT_TEST_SOURCE_DIR "/qdeclarativeborderimage/borders.qml";
+ //files << QT_TEST_SOURCE_DIR "/qdeclarativeborderimage/animated-smooth.qml";
//these reliably fail on Linux because of color interpolation (different float rounding)
#if !defined(Q_WS_X11) && !defined(Q_WS_QWS)
diff --git a/tests/auto/declarative/qmlvisual/qfxwebview/autosize/autosize.qml b/tests/auto/declarative/qmlvisual/webview/autosize/autosize.qml
index c4a502eb68..c4a502eb68 100644
--- a/tests/auto/declarative/qmlvisual/qfxwebview/autosize/autosize.qml
+++ b/tests/auto/declarative/qmlvisual/webview/autosize/autosize.qml
diff --git a/tests/auto/declarative/qmlvisual/webview/autosize/data-X11/autosize.0.png b/tests/auto/declarative/qmlvisual/webview/autosize/data-X11/autosize.0.png
new file mode 100644
index 0000000000..ed87174dce
--- /dev/null
+++ b/tests/auto/declarative/qmlvisual/webview/autosize/data-X11/autosize.0.png
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/webview/autosize/data-X11/autosize.1.png b/tests/auto/declarative/qmlvisual/webview/autosize/data-X11/autosize.1.png
new file mode 100644
index 0000000000..ed87174dce
--- /dev/null
+++ b/tests/auto/declarative/qmlvisual/webview/autosize/data-X11/autosize.1.png
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/webview/autosize/data-X11/autosize.2.png b/tests/auto/declarative/qmlvisual/webview/autosize/data-X11/autosize.2.png
new file mode 100644
index 0000000000..ed87174dce
--- /dev/null
+++ b/tests/auto/declarative/qmlvisual/webview/autosize/data-X11/autosize.2.png
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/webview/autosize/data-X11/autosize.3.png b/tests/auto/declarative/qmlvisual/webview/autosize/data-X11/autosize.3.png
new file mode 100644
index 0000000000..ed87174dce
--- /dev/null
+++ b/tests/auto/declarative/qmlvisual/webview/autosize/data-X11/autosize.3.png
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/webview/autosize/data-X11/autosize.4.png b/tests/auto/declarative/qmlvisual/webview/autosize/data-X11/autosize.4.png
new file mode 100644
index 0000000000..ed87174dce
--- /dev/null
+++ b/tests/auto/declarative/qmlvisual/webview/autosize/data-X11/autosize.4.png
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/webview/autosize/data-X11/autosize.qml b/tests/auto/declarative/qmlvisual/webview/autosize/data-X11/autosize.qml
new file mode 100644
index 0000000000..612213877f
--- /dev/null
+++ b/tests/auto/declarative/qmlvisual/webview/autosize/data-X11/autosize.qml
@@ -0,0 +1,115 @@
+import Qt.VisualTest 4.7
+
+VisualTest {
+ Frame {
+ msec: 0
+ }
+ Frame {
+ msec: 16
+ hash: "b2d863e57dee2a297d038e18acc70f92"
+ }
+ Frame {
+ msec: 32
+ hash: "903a4c7e619abba5342c8c827f26a722"
+ }
+ Frame {
+ msec: 48
+ hash: "903a4c7e619abba5342c8c827f26a722"
+ }
+ Frame {
+ msec: 64
+ hash: "903a4c7e619abba5342c8c827f26a722"
+ }
+ Frame {
+ msec: 80
+ hash: "903a4c7e619abba5342c8c827f26a722"
+ }
+ Frame {
+ msec: 96
+ hash: "903a4c7e619abba5342c8c827f26a722"
+ }
+ Frame {
+ msec: 112
+ hash: "903a4c7e619abba5342c8c827f26a722"
+ }
+ Frame {
+ msec: 128
+ hash: "903a4c7e619abba5342c8c827f26a722"
+ }
+ Frame {
+ msec: 144
+ hash: "903a4c7e619abba5342c8c827f26a722"
+ }
+ Frame {
+ msec: 160
+ hash: "903a4c7e619abba5342c8c827f26a722"
+ }
+ Frame {
+ msec: 176
+ hash: "903a4c7e619abba5342c8c827f26a722"
+ }
+ Frame {
+ msec: 192
+ hash: "903a4c7e619abba5342c8c827f26a722"
+ }
+ Frame {
+ msec: 208
+ hash: "903a4c7e619abba5342c8c827f26a722"
+ }
+ Frame {
+ msec: 224
+ hash: "903a4c7e619abba5342c8c827f26a722"
+ }
+ Frame {
+ msec: 240
+ hash: "903a4c7e619abba5342c8c827f26a722"
+ }
+ Frame {
+ msec: 256
+ hash: "903a4c7e619abba5342c8c827f26a722"
+ }
+ Frame {
+ msec: 272
+ hash: "903a4c7e619abba5342c8c827f26a722"
+ }
+ Frame {
+ msec: 288
+ hash: "903a4c7e619abba5342c8c827f26a722"
+ }
+ Frame {
+ msec: 304
+ hash: "903a4c7e619abba5342c8c827f26a722"
+ }
+ Frame {
+ msec: 320
+ hash: "903a4c7e619abba5342c8c827f26a722"
+ }
+ Frame {
+ msec: 336
+ hash: "903a4c7e619abba5342c8c827f26a722"
+ }
+ Frame {
+ msec: 352
+ hash: "903a4c7e619abba5342c8c827f26a722"
+ }
+ Frame {
+ msec: 368
+ hash: "903a4c7e619abba5342c8c827f26a722"
+ }
+ Frame {
+ msec: 384
+ hash: "903a4c7e619abba5342c8c827f26a722"
+ }
+ Frame {
+ msec: 400
+ hash: "903a4c7e619abba5342c8c827f26a722"
+ }
+ Frame {
+ msec: 416
+ hash: "903a4c7e619abba5342c8c827f26a722"
+ }
+ Frame {
+ msec: 432
+ hash: "903a4c7e619abba5342c8c827f26a722"
+ }
+}
diff --git a/tests/auto/declarative/qmlvisual/webview/autosize/data/autosize.0.png b/tests/auto/declarative/qmlvisual/webview/autosize/data/autosize.0.png
new file mode 100644
index 0000000000..ed87174dce
--- /dev/null
+++ b/tests/auto/declarative/qmlvisual/webview/autosize/data/autosize.0.png
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/webview/autosize/data/autosize.1.png b/tests/auto/declarative/qmlvisual/webview/autosize/data/autosize.1.png
new file mode 100644
index 0000000000..ed87174dce
--- /dev/null
+++ b/tests/auto/declarative/qmlvisual/webview/autosize/data/autosize.1.png
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/webview/autosize/data/autosize.2.png b/tests/auto/declarative/qmlvisual/webview/autosize/data/autosize.2.png
new file mode 100644
index 0000000000..ed87174dce
--- /dev/null
+++ b/tests/auto/declarative/qmlvisual/webview/autosize/data/autosize.2.png
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/webview/autosize/data/autosize.3.png b/tests/auto/declarative/qmlvisual/webview/autosize/data/autosize.3.png
new file mode 100644
index 0000000000..ed87174dce
--- /dev/null
+++ b/tests/auto/declarative/qmlvisual/webview/autosize/data/autosize.3.png
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/webview/autosize/data/autosize.4.png b/tests/auto/declarative/qmlvisual/webview/autosize/data/autosize.4.png
new file mode 100644
index 0000000000..ed87174dce
--- /dev/null
+++ b/tests/auto/declarative/qmlvisual/webview/autosize/data/autosize.4.png
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/webview/autosize/data/autosize.qml b/tests/auto/declarative/qmlvisual/webview/autosize/data/autosize.qml
new file mode 100644
index 0000000000..612213877f
--- /dev/null
+++ b/tests/auto/declarative/qmlvisual/webview/autosize/data/autosize.qml
@@ -0,0 +1,115 @@
+import Qt.VisualTest 4.7
+
+VisualTest {
+ Frame {
+ msec: 0
+ }
+ Frame {
+ msec: 16
+ hash: "b2d863e57dee2a297d038e18acc70f92"
+ }
+ Frame {
+ msec: 32
+ hash: "903a4c7e619abba5342c8c827f26a722"
+ }
+ Frame {
+ msec: 48
+ hash: "903a4c7e619abba5342c8c827f26a722"
+ }
+ Frame {
+ msec: 64
+ hash: "903a4c7e619abba5342c8c827f26a722"
+ }
+ Frame {
+ msec: 80
+ hash: "903a4c7e619abba5342c8c827f26a722"
+ }
+ Frame {
+ msec: 96
+ hash: "903a4c7e619abba5342c8c827f26a722"
+ }
+ Frame {
+ msec: 112
+ hash: "903a4c7e619abba5342c8c827f26a722"
+ }
+ Frame {
+ msec: 128
+ hash: "903a4c7e619abba5342c8c827f26a722"
+ }
+ Frame {
+ msec: 144
+ hash: "903a4c7e619abba5342c8c827f26a722"
+ }
+ Frame {
+ msec: 160
+ hash: "903a4c7e619abba5342c8c827f26a722"
+ }
+ Frame {
+ msec: 176
+ hash: "903a4c7e619abba5342c8c827f26a722"
+ }
+ Frame {
+ msec: 192
+ hash: "903a4c7e619abba5342c8c827f26a722"
+ }
+ Frame {
+ msec: 208
+ hash: "903a4c7e619abba5342c8c827f26a722"
+ }
+ Frame {
+ msec: 224
+ hash: "903a4c7e619abba5342c8c827f26a722"
+ }
+ Frame {
+ msec: 240
+ hash: "903a4c7e619abba5342c8c827f26a722"
+ }
+ Frame {
+ msec: 256
+ hash: "903a4c7e619abba5342c8c827f26a722"
+ }
+ Frame {
+ msec: 272
+ hash: "903a4c7e619abba5342c8c827f26a722"
+ }
+ Frame {
+ msec: 288
+ hash: "903a4c7e619abba5342c8c827f26a722"
+ }
+ Frame {
+ msec: 304
+ hash: "903a4c7e619abba5342c8c827f26a722"
+ }
+ Frame {
+ msec: 320
+ hash: "903a4c7e619abba5342c8c827f26a722"
+ }
+ Frame {
+ msec: 336
+ hash: "903a4c7e619abba5342c8c827f26a722"
+ }
+ Frame {
+ msec: 352
+ hash: "903a4c7e619abba5342c8c827f26a722"
+ }
+ Frame {
+ msec: 368
+ hash: "903a4c7e619abba5342c8c827f26a722"
+ }
+ Frame {
+ msec: 384
+ hash: "903a4c7e619abba5342c8c827f26a722"
+ }
+ Frame {
+ msec: 400
+ hash: "903a4c7e619abba5342c8c827f26a722"
+ }
+ Frame {
+ msec: 416
+ hash: "903a4c7e619abba5342c8c827f26a722"
+ }
+ Frame {
+ msec: 432
+ hash: "903a4c7e619abba5342c8c827f26a722"
+ }
+}
diff --git a/tests/auto/declarative/qmlvisual/webview/embedding/data/nesting.0.png b/tests/auto/declarative/qmlvisual/webview/embedding/data/nesting.0.png
deleted file mode 100644
index 57de71069e..0000000000
--- a/tests/auto/declarative/qmlvisual/webview/embedding/data/nesting.0.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/webview/embedding/data/nesting.qml b/tests/auto/declarative/qmlvisual/webview/embedding/data/nesting.qml
deleted file mode 100644
index 966456628d..0000000000
--- a/tests/auto/declarative/qmlvisual/webview/embedding/data/nesting.qml
+++ /dev/null
@@ -1,363 +0,0 @@
-import Qt.VisualTest 4.7
-
-VisualTest {
- Frame {
- msec: 0
- }
- Frame {
- msec: 16
- hash: "5dc8dca7a73022fbf2116b654b709244"
- }
- Frame {
- msec: 32
- hash: "5dc8dca7a73022fbf2116b654b709244"
- }
- Frame {
- msec: 48
- hash: "34079c4076ab6aadd8b64fcba7d95e15"
- }
- Frame {
- msec: 64
- hash: "5ab5fc62b49e78d0609dcb4be6c9a157"
- }
- Frame {
- msec: 80
- hash: "063cc7438bbffae717648d98006021a8"
- }
- Frame {
- msec: 96
- hash: "c5cd16663e48639cbeade82c3bfa0403"
- }
- Frame {
- msec: 112
- hash: "ea7f8df84ddbad0f683fe97ddb0a0130"
- }
- Frame {
- msec: 128
- hash: "3c353e09bdb3a1e6ff388ad6020f55ea"
- }
- Frame {
- msec: 144
- hash: "5b6de430365d0c9824337011916b0c0b"
- }
- Frame {
- msec: 160
- hash: "48d353ac9e7ee1ce41361d0a2b47e008"
- }
- Frame {
- msec: 176
- hash: "c96e4d02d343ddd78e8d3dd6aa8e0198"
- }
- Frame {
- msec: 192
- hash: "543c63d77ec635b77672ba4c5160a3d4"
- }
- Frame {
- msec: 208
- hash: "2d56ad9c2352e555fef613d625e71151"
- }
- Frame {
- msec: 224
- hash: "18e433c3e3ee64510f875f674791d51c"
- }
- Frame {
- msec: 240
- hash: "56889122c1ddacdd8ebd88310c7410bc"
- }
- Frame {
- msec: 256
- hash: "d51c85458e0109bd5bf9528b741d98d0"
- }
- Frame {
- msec: 272
- hash: "ac54137afc29a3022c6f01df7cdf2fd6"
- }
- Frame {
- msec: 288
- hash: "c7a42b389bae3b729ba9e6cba7f54530"
- }
- Frame {
- msec: 304
- hash: "7583b55841e80891652c3472c658f989"
- }
- Frame {
- msec: 320
- hash: "95a7f8d47c3788261427727f82c9ff59"
- }
- Frame {
- msec: 336
- hash: "a87bad3e2f010680e16cd1e3f5e03e99"
- }
- Frame {
- msec: 352
- hash: "e16bc51653f21819e0eec412b99a069f"
- }
- Frame {
- msec: 368
- hash: "f1e869580ac148ae207141c5f0adc185"
- }
- Frame {
- msec: 384
- hash: "7e496e44363a16d7c62e4258af9ce087"
- }
- Frame {
- msec: 400
- hash: "19e97915c84d3554c66d5a9ad3aa6a3e"
- }
- Frame {
- msec: 416
- hash: "181181b48a1085d1850f18ca9b163549"
- }
- Frame {
- msec: 432
- hash: "4637cb04595a543867bd43b0c1c829ea"
- }
- Frame {
- msec: 448
- hash: "bd0a074fed5507f8556de6110bf56aa4"
- }
- Frame {
- msec: 464
- hash: "9547618923edac6f7f9a3ff324c4f2d8"
- }
- Frame {
- msec: 480
- hash: "a2f90c88eacb7c66878d45e33c2a787d"
- }
- Frame {
- msec: 496
- hash: "d5ffd3e35d0426887c106069310f84d8"
- }
- Frame {
- msec: 512
- hash: "6bc50a5b76e2a2ef0e6bee762abeb330"
- }
- Frame {
- msec: 528
- hash: "d4439933c842ed8432434d272fea2845"
- }
- Frame {
- msec: 544
- hash: "61699e6ec476ac3f090e4f485430421d"
- }
- Frame {
- msec: 560
- hash: "02d7fa9bcd697d2cab364d0a3ca4a0e2"
- }
- Frame {
- msec: 576
- hash: "914178cbf1f6a6822cc40f81823475e4"
- }
- Frame {
- msec: 592
- hash: "280f867ea27891ee764332998567d40d"
- }
- Frame {
- msec: 608
- hash: "ea0d00fe54a172a89c24eac781f7ae6d"
- }
- Frame {
- msec: 624
- hash: "4e910fb507964a710e26f318c62227bf"
- }
- Frame {
- msec: 640
- hash: "b0c3392eb739f270dd21f552ad999c23"
- }
- Frame {
- msec: 656
- hash: "f3698c83b0972bd66a53ad95d4fc301e"
- }
- Frame {
- msec: 672
- hash: "0d303a0d6a9b626943ac93cc6f3fb230"
- }
- Frame {
- msec: 688
- hash: "ba56d49e6f51aa6f1bd2a7500e3538fd"
- }
- Frame {
- msec: 704
- hash: "273ce89d5194168e5bfd1dcefad49be2"
- }
- Frame {
- msec: 720
- hash: "c2beef4fb7996dbccdaff4f54bdc33f1"
- }
- Frame {
- msec: 736
- hash: "1e1aa7d84f27158a8e61bd8698ddbf2a"
- }
- Frame {
- msec: 752
- hash: "24e82479802e710c673133ca0413be66"
- }
- Frame {
- msec: 768
- hash: "b77e935a690bcb396e15b942d772cf1b"
- }
- Frame {
- msec: 784
- hash: "7b729c74df1d15d6b0e8e1fc19c2d710"
- }
- Frame {
- msec: 800
- hash: "fd6cbdca3e481baaf35022dfea76e74c"
- }
- Frame {
- msec: 816
- hash: "c975f6eb592793aa81895ffcb74ca577"
- }
- Frame {
- msec: 832
- hash: "677c4039a650df53b4e885f37b049ab3"
- }
- Frame {
- msec: 848
- hash: "89563aae36552cb1749ec06567e46d9d"
- }
- Frame {
- msec: 864
- hash: "01f57402874de6608cc02937aaf91794"
- }
- Frame {
- msec: 880
- hash: "50c9c4e5eaaadee1ff230975390d34e3"
- }
- Frame {
- msec: 896
- hash: "20b7d277d398afad59afdf9e6b41a57e"
- }
- Frame {
- msec: 912
- hash: "8f9ea938a2375afeba419199de66dd52"
- }
- Frame {
- msec: 928
- hash: "b96745888ba954bcf304c0840a030f93"
- }
- Frame {
- msec: 944
- hash: "f5715e931274011123160f7ad10d6c52"
- }
- Frame {
- msec: 960
- image: "nesting.0.png"
- }
- Frame {
- msec: 976
- hash: "459fe967816c795a177a3926093fae75"
- }
- Frame {
- msec: 992
- hash: "c599a26083068b6db628c8d8416bab60"
- }
- Frame {
- msec: 1008
- hash: "e0aee7d1152c971b1beee9d36542acb7"
- }
- Frame {
- msec: 1024
- hash: "2af0facdf6412f7b06979aae25e4db26"
- }
- Frame {
- msec: 1040
- hash: "f147a92cb1826f95d4fdb7d011ba79b1"
- }
- Frame {
- msec: 1056
- hash: "12a1cb894b0fb8e44152cccacf855c1a"
- }
- Frame {
- msec: 1072
- hash: "c7500cf58b74fef2c3e9820d1de8f843"
- }
- Frame {
- msec: 1088
- hash: "3a031b2206835f8b2dc9837016df6ae6"
- }
- Frame {
- msec: 1104
- hash: "7a4796b419bbc04237764dea0b1d47d5"
- }
- Frame {
- msec: 1120
- hash: "151d350f0064e2faf0bfb9c58bc3e4f2"
- }
- Frame {
- msec: 1136
- hash: "d72c20a97e678908acc1d6c1f8114d9e"
- }
- Frame {
- msec: 1152
- hash: "22da1e645640a3c31b064ff757113197"
- }
- Frame {
- msec: 1168
- hash: "401f0bf370e2ecea5a84276fb72eb1da"
- }
- Frame {
- msec: 1184
- hash: "c6e00d7b0ac14a5c3860b6a29901c915"
- }
- Frame {
- msec: 1200
- hash: "f1f7dc55d7719fcb6e97157c0ca85fc0"
- }
- Frame {
- msec: 1216
- hash: "6a112e1d79c7128c235d093e4f1f9325"
- }
- Frame {
- msec: 1232
- hash: "14a2caf8cdca8d5147261a315059b69d"
- }
- Frame {
- msec: 1248
- hash: "5645243aa3cfd12b0b32442f063bedb2"
- }
- Frame {
- msec: 1264
- hash: "c7f72534a88e33c72a54cb8580534551"
- }
- Frame {
- msec: 1280
- hash: "6cd5e2e8e0128586a682b3c649ae0631"
- }
- Frame {
- msec: 1296
- hash: "67cefb4526b52d40a31811bc0dfaeb6a"
- }
- Frame {
- msec: 1312
- hash: "fbe2a43a27bf490719c8b9e2b094e34f"
- }
- Frame {
- msec: 1328
- hash: "e028aad6f51a47d8189efcf9c5d277ee"
- }
- Frame {
- msec: 1344
- hash: "2b4cc50c37c07289fa6f9309991d36da"
- }
- Frame {
- msec: 1360
- hash: "b67b2244cd0616d07e100d7b3b00bbe2"
- }
- Frame {
- msec: 1376
- hash: "4e4690cffc98c49e91bdb600f1e94c79"
- }
- Frame {
- msec: 1392
- hash: "e5215c727836a5547a170d42363bc5c8"
- }
- Frame {
- msec: 1408
- hash: "26868e91d1794bb3f42d51f508fef613"
- }
- Frame {
- msec: 1424
- hash: "1e5f431b125a66096ac9a4d5a211a2c4"
- }
-}
diff --git a/tests/auto/declarative/qmlvisual/webview/embedding/egg.qml b/tests/auto/declarative/qmlvisual/webview/embedding/egg.qml
deleted file mode 100644
index c569c9a62c..0000000000
--- a/tests/auto/declarative/qmlvisual/webview/embedding/egg.qml
+++ /dev/null
@@ -1,26 +0,0 @@
-import Qt 4.7
-
-Item {
- property variant period : 250
- property variant color : "black"
- id: root
-
- Item {
- x: root.width/2
- y: root.height/2
- Rectangle {
- radius: width/2
- color: root.color
- x: -width/2
- y: -height/2
- width: root.width*1.5
- height: root.height*1.5
- }
- rotation: NumberAnimation {
- from: 0
- to: 360
- repeat: true
- duration: root.period
- }
- }
-}
diff --git a/tests/auto/declarative/qmlvisual/webview/embedding/nesting.html b/tests/auto/declarative/qmlvisual/webview/embedding/nesting.html
deleted file mode 100644
index 6e81689ec7..0000000000
--- a/tests/auto/declarative/qmlvisual/webview/embedding/nesting.html
+++ /dev/null
@@ -1,9 +0,0 @@
-<html>
-<head><title>Nesting</title>
-<link rel="icon" sizes="48x48" href="basic.png">
-</head>
-<body bgcolor="green">
-<h1>Nesting</h1>
-This is a test...
-<OBJECT data=egg.qml TYPE=application/x-qt-plugin width=50 height=70 period=2000 color=white></OBJECT>
-... with a spinning QML egg nested in it.
diff --git a/tests/auto/declarative/qmlvisual/webview/embedding/nesting.qml b/tests/auto/declarative/qmlvisual/webview/embedding/nesting.qml
deleted file mode 100644
index 9e008de213..0000000000
--- a/tests/auto/declarative/qmlvisual/webview/embedding/nesting.qml
+++ /dev/null
@@ -1,9 +0,0 @@
-import Qt 4.7
-import org.webkit 1.0
-
-WebView {
- width: 300
- height: 200
- url: "nesting.html"
- settings.pluginsEnabled: true
-}
diff --git a/tests/auto/declarative/qpacketprotocol/tst_qpacketprotocol.cpp b/tests/auto/declarative/qpacketprotocol/tst_qpacketprotocol.cpp
index b8e317e060..7d346985da 100644
--- a/tests/auto/declarative/qpacketprotocol/tst_qpacketprotocol.cpp
+++ b/tests/auto/declarative/qpacketprotocol/tst_qpacketprotocol.cpp
@@ -225,7 +225,7 @@ void tst_QPacketProtocol::read()
void tst_QPacketProtocol::device()
{
QPacketProtocol p(m_client);
- QCOMPARE(p.device(), m_client);
+ QVERIFY(p.device() == m_client);
}
void tst_QPacketProtocol::tst_QPacket_clear()
diff --git a/tests/auto/gestures/tst_gestures.cpp b/tests/auto/gestures/tst_gestures.cpp
index f8ecca3b95..a9685205ed 100644
--- a/tests/auto/gestures/tst_gestures.cpp
+++ b/tests/auto/gestures/tst_gestures.cpp
@@ -49,7 +49,9 @@
#include <qgesture.h>
#include <qgesturerecognizer.h>
#include <qgraphicsitem.h>
+#include <qgraphicswidget.h>
#include <qgraphicsview.h>
+#include <qmainwindow.h>
#include <qdebug.h>
@@ -332,9 +334,11 @@ private slots:
void gestureOverChild();
void multipleWidgetOnlyGestureInTree();
void conflictingGestures();
+ void conflictingGesturesInGraphicsView();
void finishedWithoutStarted();
void unknownGesture();
void graphicsItemGesture();
+ void graphicsView();
void graphicsItemTreeGesture();
void explicitGraphicsObjectTarget();
void gestureOverChildGraphicsItem();
@@ -355,6 +359,8 @@ private slots:
void deleteGestureTargetItem();
void viewportCoordinates();
void partialGesturePropagation();
+ void testQGestureRecognizerCleanup();
+ void testReuseCanceledGestures();
};
tst_Gestures::tst_Gestures()
@@ -857,7 +863,6 @@ void tst_Gestures::graphicsItemGesture()
QTest::qWaitForWindowShown(&view);
view.ensureVisible(scene.sceneRect());
- view.viewport()->grabGesture(CustomGesture::GestureType, Qt::DontStartGestureOnChildren);
item->grabGesture(CustomGesture::GestureType);
static const int TotalGestureEventsCount = CustomGesture::SerialFinishedThreshold - CustomGesture::SerialStartedThreshold + 1;
@@ -906,6 +911,71 @@ void tst_Gestures::graphicsItemGesture()
QCOMPARE(item->gestureOverrideEventsReceived, 0);
}
+void tst_Gestures::graphicsView()
+{
+ QGraphicsScene scene;
+ QGraphicsView view(&scene);
+ view.setWindowFlags(Qt::X11BypassWindowManagerHint);
+
+ GestureItem *item = new GestureItem("item");
+ scene.addItem(item);
+ item->setPos(100, 100);
+
+ view.show();
+ QTest::qWaitForWindowShown(&view);
+ view.ensureVisible(scene.sceneRect());
+
+ item->grabGesture(CustomGesture::GestureType);
+
+ static const int TotalGestureEventsCount = CustomGesture::SerialFinishedThreshold - CustomGesture::SerialStartedThreshold + 1;
+ static const int TotalCustomEventsCount = CustomGesture::SerialFinishedThreshold - CustomGesture::SerialMaybeThreshold + 1;
+
+ CustomEvent event;
+ // make sure the event is properly delivered if only the hotspot is set.
+ event.hotSpot = mapToGlobal(QPointF(10, 10), item, &view);
+ event.hasHotSpot = true;
+ sendCustomGesture(&event, item, &scene);
+
+ QCOMPARE(item->customEventsReceived, TotalCustomEventsCount);
+ QCOMPARE(item->gestureEventsReceived, TotalGestureEventsCount);
+ QCOMPARE(item->gestureOverrideEventsReceived, 0);
+
+ // change the viewport and try again
+ QWidget *newViewport = new QWidget;
+ view.setViewport(newViewport);
+
+ item->reset();
+ sendCustomGesture(&event, item, &scene);
+
+ QCOMPARE(item->customEventsReceived, TotalCustomEventsCount);
+ QCOMPARE(item->gestureEventsReceived, TotalGestureEventsCount);
+ QCOMPARE(item->gestureOverrideEventsReceived, 0);
+
+ // change the scene and try again
+ QGraphicsScene newScene;
+ item = new GestureItem("newItem");
+ newScene.addItem(item);
+ item->setPos(100, 100);
+ view.setScene(&newScene);
+
+ item->reset();
+ // first without a gesture
+ sendCustomGesture(&event, item, &newScene);
+
+ QCOMPARE(item->customEventsReceived, TotalCustomEventsCount);
+ QCOMPARE(item->gestureEventsReceived, 0);
+ QCOMPARE(item->gestureOverrideEventsReceived, 0);
+
+ // then grab the gesture and try again
+ item->reset();
+ item->grabGesture(CustomGesture::GestureType);
+ sendCustomGesture(&event, item, &newScene);
+
+ QCOMPARE(item->customEventsReceived, TotalCustomEventsCount);
+ QCOMPARE(item->gestureEventsReceived, TotalGestureEventsCount);
+ QCOMPARE(item->gestureOverrideEventsReceived, 0);
+}
+
void tst_Gestures::graphicsItemTreeGesture()
{
QGraphicsScene scene;
@@ -931,7 +1001,6 @@ void tst_Gestures::graphicsItemTreeGesture()
QTest::qWaitForWindowShown(&view);
view.ensureVisible(scene.sceneRect());
- view.viewport()->grabGesture(CustomGesture::GestureType, Qt::DontStartGestureOnChildren);
item1->grabGesture(CustomGesture::GestureType);
static const int TotalGestureEventsCount = CustomGesture::SerialFinishedThreshold - CustomGesture::SerialStartedThreshold + 1;
@@ -989,7 +1058,6 @@ void tst_Gestures::explicitGraphicsObjectTarget()
QTest::qWaitForWindowShown(&view);
view.ensureVisible(scene.sceneRect());
- view.viewport()->grabGesture(CustomGesture::GestureType, Qt::DontStartGestureOnChildren);
item1->grabGesture(CustomGesture::GestureType, Qt::DontStartGestureOnChildren);
item2->grabGesture(CustomGesture::GestureType, Qt::DontStartGestureOnChildren);
item2_child1->grabGesture(CustomGesture::GestureType, Qt::DontStartGestureOnChildren);
@@ -1049,7 +1117,6 @@ void tst_Gestures::gestureOverChildGraphicsItem()
QTest::qWaitForWindowShown(&view);
view.ensureVisible(scene.sceneRect());
- view.viewport()->grabGesture(CustomGesture::GestureType, Qt::DontStartGestureOnChildren);
item1->grabGesture(CustomGesture::GestureType);
static const int TotalGestureEventsCount = CustomGesture::SerialFinishedThreshold - CustomGesture::SerialStartedThreshold + 1;
@@ -1517,8 +1584,6 @@ void tst_Gestures::autoCancelGestures2()
parent->setPos(0, 0);
child->setPos(10, 10);
scene.addItem(parent);
- view.viewport()->grabGesture(CustomGesture::GestureType, Qt::DontStartGestureOnChildren);
- view.viewport()->grabGesture(secondGesture, Qt::DontStartGestureOnChildren);
parent->grabGesture(CustomGesture::GestureType);
child->grabGesture(secondGesture);
@@ -1571,7 +1636,6 @@ void tst_Gestures::graphicsViewParentPropagation()
QTest::qWaitForWindowShown(&view);
view.ensureVisible(scene.sceneRect());
- view.viewport()->grabGesture(CustomGesture::GestureType, Qt::DontStartGestureOnChildren);
item0->grabGesture(CustomGesture::GestureType, Qt::ReceivePartialGestures | Qt::IgnoredGesturesPropagateToParent);
item1->grabGesture(CustomGesture::GestureType, Qt::ReceivePartialGestures | Qt::IgnoredGesturesPropagateToParent);
item1_c1->grabGesture(CustomGesture::GestureType, Qt::IgnoredGesturesPropagateToParent);
@@ -1642,8 +1706,6 @@ void tst_Gestures::panelPropagation()
QTest::qWaitForWindowShown(&view);
view.ensureVisible(scene.sceneRect());
- view.viewport()->grabGesture(CustomGesture::GestureType, Qt::DontStartGestureOnChildren);
-
static const int TotalGestureEventsCount = CustomGesture::SerialFinishedThreshold - CustomGesture::SerialStartedThreshold + 1;
static const int TotalCustomEventsCount = CustomGesture::SerialFinishedThreshold - CustomGesture::SerialMaybeThreshold + 1;
@@ -1755,8 +1817,6 @@ void tst_Gestures::panelStacksBehindParent()
QTest::qWaitForWindowShown(&view);
view.ensureVisible(scene.sceneRect());
- view.viewport()->grabGesture(CustomGesture::GestureType, Qt::DontStartGestureOnChildren);
-
static const int TotalGestureEventsCount = CustomGesture::SerialFinishedThreshold - CustomGesture::SerialStartedThreshold + 1;
CustomEvent event;
@@ -1841,8 +1901,6 @@ void tst_Gestures::deleteGestureTargetItem()
QTest::qWaitForWindowShown(&view);
view.ensureVisible(scene.sceneRect());
- view.viewport()->grabGesture(CustomGesture::GestureType, Qt::DontStartGestureOnChildren);
-
if (propagateUpdateGesture)
item2->ignoredUpdatedGestures << CustomGesture::GestureType;
connect(items.value(emitter, 0), signalName, items.value(receiver, 0), slotName);
@@ -1888,8 +1946,6 @@ void tst_Gestures::viewportCoordinates()
QTest::qWaitForWindowShown(&view);
view.ensureVisible(scene.sceneRect());
- view.viewport()->grabGesture(CustomGesture::GestureType, Qt::DontStartGestureOnChildren);
-
CustomEvent event;
event.hotSpot = mapToGlobal(item1->boundingRect().center(), item1, &view);
event.hasHotSpot = true;
@@ -1927,8 +1983,6 @@ void tst_Gestures::partialGesturePropagation()
QTest::qWaitForWindowShown(&view);
view.ensureVisible(scene.sceneRect());
- view.viewport()->grabGesture(CustomGesture::GestureType, Qt::DontStartGestureOnChildren);
-
item1->ignoredUpdatedGestures << CustomGesture::GestureType;
CustomEvent event;
@@ -1949,5 +2003,303 @@ void tst_Gestures::partialGesturePropagation()
QCOMPARE(item4->gestureEventsReceived, 0);
}
+class WinNativePan : public QPanGesture {
+public:
+ WinNativePan() {}
+};
+
+class Pan : public QPanGesture {
+public:
+ Pan() {}
+};
+
+class CustomPan : public QPanGesture {
+public:
+ CustomPan() {}
+};
+
+// Recognizer for active gesture triggers on mouse press
+class PanRecognizer : public QGestureRecognizer {
+public:
+ enum PanType { Platform, Default, Custom };
+
+ PanRecognizer(int id) : m_id(id) {}
+ QGesture *create(QObject *) {
+ switch(m_id) {
+ case Platform: return new WinNativePan();
+ case Default: return new Pan();
+ default: return new CustomPan();
+ }
+ }
+
+ Result recognize(QGesture *, QObject *, QEvent *) { return QGestureRecognizer::Ignore; }
+
+ const int m_id;
+};
+
+void tst_Gestures::testQGestureRecognizerCleanup()
+{
+ // Clean first the current recognizers in QGManager
+ QGestureRecognizer::unregisterRecognizer(Qt::PanGesture);
+
+ // v-- Qt singleton QGManager initialization
+
+ // Mimic QGestureManager: register both default and "platform" recognizers
+ // (this is done in windows when QT_NO_NATIVE_GESTURES is not defined)
+ PanRecognizer *def = new PanRecognizer(PanRecognizer::Default);
+ QGestureRecognizer::registerRecognizer(def);
+ PanRecognizer *plt = new PanRecognizer(PanRecognizer::Platform);
+ QGestureRecognizer::registerRecognizer(plt);
+ qDebug () << "register: default =" << def << "; platform =" << plt;
+
+ // ^-- Qt singleton QGManager initialization
+
+ // Here, application code would start
+
+ // Create QGV (has a QAScrollArea, which uses Qt::PanGesture)
+ QMainWindow *w = new QMainWindow;
+ QGraphicsView *v = new QGraphicsView();
+ w->setCentralWidget(v);
+
+ // Unregister Qt recognizers
+ QGestureRecognizer::unregisterRecognizer(Qt::PanGesture);
+
+ // Register a custom Pan recognizer
+ //QGestureRecognizer::registerRecognizer(new PanRecognizer(PanRecognizer::Custom));
+
+ w->show();
+ QTest::qWaitForWindowShown(w);
+ delete w;
+}
+
+class ReuseCanceledGesturesRecognizer : public QGestureRecognizer
+{
+public:
+ enum Type {
+ RmbAndCancelAllType,
+ LmbType
+ };
+
+ ReuseCanceledGesturesRecognizer(Type type) : m_type(type) {}
+
+ QGesture *create(QObject *) {
+ QGesture *g = new QGesture;
+ return g;
+ }
+
+ Result recognize(QGesture *gesture, QObject *, QEvent *event) {
+ QMouseEvent *me = static_cast<QMouseEvent *>(event);
+ Qt::MouseButton mouseButton(m_type == LmbType ? Qt::LeftButton : Qt::RightButton);
+
+ switch(event->type()) {
+ case QEvent::MouseButtonPress:
+ if (me->button() == mouseButton && gesture->state() == Qt::NoGesture) {
+ gesture->setHotSpot(QPointF(me->globalPos()));
+ if (m_type == RmbAndCancelAllType)
+ gesture->setGestureCancelPolicy(QGesture::CancelAllInContext);
+ return QGestureRecognizer::TriggerGesture;
+ }
+ break;
+ case QEvent::MouseButtonRelease:
+ if (me->button() == mouseButton && gesture->state() > Qt::NoGesture)
+ return QGestureRecognizer::FinishGesture;
+ default:
+ break;
+ }
+ return QGestureRecognizer::Ignore;
+ }
+private:
+ Type m_type;
+};
+
+class ReuseCanceledGesturesWidget : public QGraphicsWidget
+{
+ public:
+ ReuseCanceledGesturesWidget(Qt::GestureType gestureType = Qt::TapGesture, QGraphicsItem *parent = 0)
+ : QGraphicsWidget(parent),
+ m_gestureType(gestureType),
+ m_started(0), m_updated(0), m_canceled(0), m_finished(0)
+ {
+ }
+
+ bool event(QEvent *event) {
+ if (event->type() == QEvent::Gesture) {
+ QGesture *gesture = static_cast<QGestureEvent*>(event)->gesture(m_gestureType);
+ if (gesture) {
+ switch(gesture->state()) {
+ case Qt::GestureStarted: m_started++; break;
+ case Qt::GestureUpdated: m_updated++; break;
+ case Qt::GestureFinished: m_finished++; break;
+ case Qt::GestureCanceled: m_canceled++; break;
+ default: break;
+ }
+ }
+ return true;
+ }
+ if (event->type() == QEvent::GraphicsSceneMousePress) {
+ return true;
+ }
+ return QGraphicsWidget::event(event);
+ }
+
+ int started() { return m_started; }
+ int updated() { return m_updated; }
+ int finished() { return m_finished; }
+ int canceled() { return m_canceled; }
+
+ private:
+ Qt::GestureType m_gestureType;
+ int m_started;
+ int m_updated;
+ int m_canceled;
+ int m_finished;
+};
+
+void tst_Gestures::testReuseCanceledGestures()
+{
+ Qt::GestureType cancellingGestureTypeId = QGestureRecognizer::registerRecognizer(
+ new ReuseCanceledGesturesRecognizer(ReuseCanceledGesturesRecognizer::RmbAndCancelAllType));
+ Qt::GestureType tapGestureTypeId = QGestureRecognizer::registerRecognizer(
+ new ReuseCanceledGesturesRecognizer(ReuseCanceledGesturesRecognizer::LmbType));
+
+ QMainWindow mw;
+ mw.setWindowFlags(Qt::X11BypassWindowManagerHint);
+ QGraphicsView *gv = new QGraphicsView(&mw);
+ QGraphicsScene *scene = new QGraphicsScene;
+
+ gv->setScene(scene);
+ scene->setSceneRect(0,0,100,100);
+
+ // Create container and add to the scene
+ ReuseCanceledGesturesWidget *container = new ReuseCanceledGesturesWidget;
+ container->grabGesture(cancellingGestureTypeId); // << container grabs canceling gesture
+
+ // Create widget and add to the scene
+ ReuseCanceledGesturesWidget *target = new ReuseCanceledGesturesWidget(tapGestureTypeId, container);
+ target->grabGesture(tapGestureTypeId);
+
+ container->setGeometry(scene->sceneRect());
+
+ scene->addItem(container);
+
+ mw.setCentralWidget(gv);
+
+ // Viewport needs to grab all gestures that widgets in scene grab
+ gv->viewport()->grabGesture(cancellingGestureTypeId);
+ gv->viewport()->grabGesture(tapGestureTypeId);
+
+ mw.show();
+ QTest::qWaitForWindowShown(&mw);
+
+ QPoint targetPos(gv->mapFromScene(target->mapToScene(target->rect().center())));
+ targetPos = gv->viewport()->mapFromParent(targetPos);
+
+ // "Tap" starts on child widget
+ QTest::mousePress(gv->viewport(), Qt::LeftButton, 0, targetPos);
+ QCOMPARE(target->started(), 1);
+ QCOMPARE(target->updated(), 0);
+ QCOMPARE(target->finished(), 0);
+ QCOMPARE(target->canceled(), 0);
+
+ // Canceling gesture starts on parent
+ QTest::mousePress(gv->viewport(), Qt::RightButton, 0, targetPos);
+ QCOMPARE(target->started(), 1);
+ QCOMPARE(target->updated(), 0);
+ QCOMPARE(target->finished(), 0);
+ QCOMPARE(target->canceled(), 1); // <- child canceled
+
+ // Canceling gesture ends
+ QTest::mouseRelease(gv->viewport(), Qt::RightButton, 0, targetPos);
+ QCOMPARE(target->started(), 1);
+ QCOMPARE(target->updated(), 0);
+ QCOMPARE(target->finished(), 0);
+ QCOMPARE(target->canceled(), 1);
+
+ // Tap would end if not canceled
+ QTest::mouseRelease(gv->viewport(), Qt::LeftButton, 0, targetPos);
+ QCOMPARE(target->started(), 1);
+ QCOMPARE(target->updated(), 0);
+ QCOMPARE(target->finished(), 0);
+ QCOMPARE(target->canceled(), 1);
+
+ // New "Tap" starts
+ QTest::mousePress(gv->viewport(), Qt::LeftButton, 0, targetPos);
+ QCOMPARE(target->started(), 2);
+ QCOMPARE(target->updated(), 0);
+ QCOMPARE(target->finished(), 0);
+ QCOMPARE(target->canceled(), 1);
+
+ QTest::mouseRelease(gv->viewport(), Qt::LeftButton, 0, targetPos);
+ QCOMPARE(target->started(), 2);
+ QCOMPARE(target->updated(), 0);
+ QCOMPARE(target->finished(), 1);
+ QCOMPARE(target->canceled(), 1);
+}
+
+void tst_Gestures::conflictingGesturesInGraphicsView()
+{
+ QGraphicsScene scene;
+ GraphicsView view(&scene);
+ view.setWindowFlags(Qt::X11BypassWindowManagerHint);
+
+ GestureItem *item1 = new GestureItem("item1");
+ item1->grabGesture(CustomGesture::GestureType);
+ item1->size = QRectF(0, 0, 100, 100);
+ item1->setZValue(2);
+ scene.addItem(item1);
+
+ GestureItem *item2 = new GestureItem("item2");
+ item2->grabGesture(CustomGesture::GestureType);
+ item2->size = QRectF(0, 0, 100, 100);
+ item2->setZValue(5);
+ scene.addItem(item2);
+
+ view.show();
+ QTest::qWaitForWindowShown(&view);
+ view.ensureVisible(scene.sceneRect());
+
+ static const int TotalGestureEventsCount = CustomGesture::SerialFinishedThreshold - CustomGesture::SerialStartedThreshold + 1;
+
+ CustomEvent event;
+
+ // nobody accepts override
+ item1->acceptGestureOverride = false;
+ item2->acceptGestureOverride = false;
+ event.hotSpot = mapToGlobal(item2->boundingRect().center(), item2, &view);
+ event.hasHotSpot = true;
+ sendCustomGesture(&event, item2, &scene);
+ QCOMPARE(item2->gestureOverrideEventsReceived, 1);
+ QCOMPARE(item2->gestureEventsReceived, TotalGestureEventsCount);
+ QCOMPARE(item1->gestureOverrideEventsReceived, 1);
+ QCOMPARE(item1->gestureEventsReceived, 0);
+
+ item1->reset(); item2->reset();
+
+ // the original target accepts override
+ item1->acceptGestureOverride = false;
+ item2->acceptGestureOverride = true;
+ event.hotSpot = mapToGlobal(item2->boundingRect().center(), item2, &view);
+ event.hasHotSpot = true;
+ sendCustomGesture(&event, item2, &scene);
+ QCOMPARE(item2->gestureOverrideEventsReceived, 1);
+ QCOMPARE(item2->gestureEventsReceived, TotalGestureEventsCount);
+ QCOMPARE(item1->gestureOverrideEventsReceived, 0);
+ QCOMPARE(item1->gestureEventsReceived, 0);
+
+ item1->reset(); item2->reset();
+
+ // the item behind accepts override
+ item1->acceptGestureOverride = true;
+ item2->acceptGestureOverride = false;
+ event.hotSpot = mapToGlobal(item2->boundingRect().center(), item2, &view);
+ event.hasHotSpot = true;
+ sendCustomGesture(&event, item2, &scene);
+
+ QCOMPARE(item2->gestureOverrideEventsReceived, 1);
+ QCOMPARE(item2->gestureEventsReceived, 0);
+ QCOMPARE(item1->gestureOverrideEventsReceived, 1);
+ QCOMPARE(item1->gestureEventsReceived, TotalGestureEventsCount);
+}
+
QTEST_MAIN(tst_Gestures)
#include "tst_gestures.moc"
diff --git a/tests/auto/headers/tst_headers.cpp b/tests/auto/headers/tst_headers.cpp
index 12c5843740..0538607498 100644
--- a/tests/auto/headers/tst_headers.cpp
+++ b/tests/auto/headers/tst_headers.cpp
@@ -64,7 +64,8 @@ private:
const QStringList dirFilters,
const QRegExp &exclude);
static QStringList getHeaders(const QString &path);
- static QStringList getSourceFiles(const QString &path);
+ static QStringList getQmlFiles(const QString &path);
+ static QStringList getCppFiles(const QString &path);
static QStringList getQDocFiles(const QString &path);
void allSourceFilesData();
@@ -107,11 +108,16 @@ QStringList tst_Headers::getHeaders(const QString &path)
return getFiles(path, QStringList("*.h"), QRegExp("^(?!ui_)"));
}
-QStringList tst_Headers::getSourceFiles(const QString &path)
+QStringList tst_Headers::getCppFiles(const QString &path)
{
return getFiles(path, QStringList("*.cpp"), QRegExp("^(?!(moc_|qrc_))"));
}
+QStringList tst_Headers::getQmlFiles(const QString &path)
+{
+ return getFiles(path, QStringList("*.qml"), QRegExp("."));
+}
+
QStringList tst_Headers::getQDocFiles(const QString &path)
{
return getFiles(path, QStringList("*.qdoc"), QRegExp("."));
@@ -153,7 +159,9 @@ void tst_Headers::allSourceFilesData()
};
for (int i = 0; i < sizeof(subdirs) / sizeof(subdirs[0]); ++i) {
- sourceFiles << getSourceFiles(qtSrcDir + subdirs[i]);
+ sourceFiles << getCppFiles(qtSrcDir + subdirs[i]);
+ if (subdirs[i] != QLatin1String("/tests"))
+ sourceFiles << getQmlFiles(qtSrcDir + subdirs[i]);
sourceFiles << getHeaders(qtSrcDir + subdirs[i]);
sourceFiles << getQDocFiles(qtSrcDir + subdirs[i]);
}
diff --git a/tests/auto/languagechange/tst_languagechange.cpp b/tests/auto/languagechange/tst_languagechange.cpp
index d04707e7ab..bcc3be46a8 100644
--- a/tests/auto/languagechange/tst_languagechange.cpp
+++ b/tests/auto/languagechange/tst_languagechange.cpp
@@ -238,8 +238,8 @@ void tst_languageChange::retranslatability()
QString fooName = tmpParentDir + "/foo";
QDir dir;
QCOMPARE(dir.mkpath(tmpDir), true);
-#if defined(Q_OS_SYMBIAN) && defined(Q_CC_NOKIAX86)
- // Just create a new file instead of copying exe, because exe is not there in emulator
+#if defined(Q_OS_SYMBIAN)
+ // Just create a new file instead of copying exe, because there is no read access to /sys/bin
{
QFile fooFile(fooName);
QVERIFY(fooFile.open(QIODevice::WriteOnly | QIODevice::Text));
diff --git a/tests/auto/linguist/lconvert/data/test20.ts b/tests/auto/linguist/lconvert/data/test20.ts
index 542cdee1a7..f042edf145 100644
--- a/tests/auto/linguist/lconvert/data/test20.ts
+++ b/tests/auto/linguist/lconvert/data/test20.ts
@@ -147,4 +147,16 @@
<translation type="unfinished"></translation>
</message>
</context>
+<context>
+ <name>Bizarre ~ and | context~</name>
+ <message>
+ <source>just something</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>something else</source>
+ <comment>comment with | and ~ and so~</comment>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
</TS>
diff --git a/tests/auto/linguist/lupdate/testdata/good/backslashes/project.pro b/tests/auto/linguist/lupdate/testdata/good/backslashes/project.pro
index 4698b2b795..d4dcda8804 100644
--- a/tests/auto/linguist/lupdate/testdata/good/backslashes/project.pro
+++ b/tests/auto/linguist/lupdate/testdata/good/backslashes/project.pro
@@ -1,3 +1,3 @@
-SOURCES += src\main.cpp
+SOURCES += src\\main.cpp
-TRANSLATIONS = ts\project.ts
+TRANSLATIONS = ts\\project.ts
diff --git a/tests/auto/linguist/lupdate/testdata/good/cmdline_order/a.h b/tests/auto/linguist/lupdate/testdata/good/cmdline_order/a.h
new file mode 100644
index 0000000000..7059132958
--- /dev/null
+++ b/tests/auto/linguist/lupdate/testdata/good/cmdline_order/a.h
@@ -0,0 +1,42 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the test suite of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#define XX QT_TRANSLATE_NOOP("aaa", "some text")
diff --git a/tests/auto/linguist/lupdate/testdata/good/cmdline_order/b.h b/tests/auto/linguist/lupdate/testdata/good/cmdline_order/b.h
new file mode 100644
index 0000000000..ce3e1a2046
--- /dev/null
+++ b/tests/auto/linguist/lupdate/testdata/good/cmdline_order/b.h
@@ -0,0 +1,44 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the test suite of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include "a.h"
+
+#define YY QT_TRANSLATE_NOOP("bbb", "some text")
diff --git a/tests/auto/linguist/lupdate/testdata/good/cmdline_order/lupdatecmd b/tests/auto/linguist/lupdate/testdata/good/cmdline_order/lupdatecmd
new file mode 100644
index 0000000000..edd91f7e37
--- /dev/null
+++ b/tests/auto/linguist/lupdate/testdata/good/cmdline_order/lupdatecmd
@@ -0,0 +1 @@
+lupdate b.h a.h -ts project.ts
diff --git a/tests/auto/linguist/lupdate/testdata/good/cmdline_order/project.ts.result b/tests/auto/linguist/lupdate/testdata/good/cmdline_order/project.ts.result
new file mode 100644
index 0000000000..6028cbbe0b
--- /dev/null
+++ b/tests/auto/linguist/lupdate/testdata/good/cmdline_order/project.ts.result
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.0">
+<context>
+ <name>aaa</name>
+ <message>
+ <location filename="a.h" line="42"/>
+ <source>some text</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>bbb</name>
+ <message>
+ <location filename="b.h" line="44"/>
+ <source>some text</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+</TS>
diff --git a/tests/auto/linguist/lupdate/testdata/good/lacksqobject/expectedoutput.txt b/tests/auto/linguist/lupdate/testdata/good/lacksqobject/expectedoutput.txt
index 72ec3c598c..f6fc400360 100644
--- a/tests/auto/linguist/lupdate/testdata/good/lacksqobject/expectedoutput.txt
+++ b/tests/auto/linguist/lupdate/testdata/good/lacksqobject/expectedoutput.txt
@@ -1,8 +1,4 @@
.*/lupdate/testdata/good/lacksqobject/main.cpp:58: Class 'B' lacks Q_OBJECT macro
-
.*/lupdate/testdata/good/lacksqobject/main.cpp:65: Class 'C' lacks Q_OBJECT macro
-
.*/lupdate/testdata/good/lacksqobject/main.cpp:78: Class 'nsB::B' lacks Q_OBJECT macro
-
.*/lupdate/testdata/good/lacksqobject/main.cpp:84: Class 'nsB::C' lacks Q_OBJECT macro
-
diff --git a/tests/auto/linguist/lupdate/testdata/good/parsecpp2/expectedoutput.txt b/tests/auto/linguist/lupdate/testdata/good/parsecpp2/expectedoutput.txt
index e3543c958d..195c0e65c5 100644
--- a/tests/auto/linguist/lupdate/testdata/good/parsecpp2/expectedoutput.txt
+++ b/tests/auto/linguist/lupdate/testdata/good/parsecpp2/expectedoutput.txt
@@ -1,8 +1,4 @@
.*/lupdate/testdata/good/parsecpp2/main.cpp:51: Excess closing brace .*
-
.*/lupdate/testdata/good/parsecpp2/main.cpp:55: Excess closing brace .*
-
.*/lupdate/testdata/good/parsecpp2/main.cpp:61: Excess closing brace .*
-
.*/lupdate/testdata/good/parsecpp2/main.cpp:65: Excess closing brace .*
-
diff --git a/tests/auto/maketestselftest/checktest/checktest.pro b/tests/auto/maketestselftest/checktest/checktest.pro
new file mode 100644
index 0000000000..79c5ca55e2
--- /dev/null
+++ b/tests/auto/maketestselftest/checktest/checktest.pro
@@ -0,0 +1,7 @@
+TEMPLATE = app
+TARGET = checktest
+CONFIG += console
+CONFIG -= app_bundle
+DESTDIR = ./
+QT = core
+SOURCES += main.cpp
diff --git a/tests/auto/maketestselftest/checktest/main.cpp b/tests/auto/maketestselftest/checktest/main.cpp
new file mode 100644
index 0000000000..af98953fd8
--- /dev/null
+++ b/tests/auto/maketestselftest/checktest/main.cpp
@@ -0,0 +1,99 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the test suite of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include <QCoreApplication>
+#include <QDir>
+#include <QFile>
+#include <QFileInfo>
+#include <QStringList>
+
+#include <stdio.h>
+#include <stdlib.h>
+
+void fail(QString const& message)
+{
+ printf("CHECKTEST FAIL: %s\n", qPrintable(message));
+ exit(0);
+}
+
+void pass(QString const& message)
+{
+ printf("CHECKTEST PASS: %s\n", qPrintable(message));
+ exit(0);
+}
+
+int main(int argc, char** argv)
+{
+ QCoreApplication app(argc, argv);
+
+ QStringList args = app.arguments();
+ args.removeFirst(); // ourself
+
+ QString args_quoted = QString("'%1'").arg(args.join("','"));
+
+#ifdef Q_WS_QWS
+ {
+ // for QWS we expect tests to be run as the QWS server
+ QString qws = args.takeLast();
+ if (qws != "-qws") {
+ fail(QString("Expected test to be run with `-qws', but it wasn't; args: %1").arg(args_quoted));
+ }
+ }
+#endif
+
+ if (args.count() != 1) {
+ fail(QString("These arguments are not what I expected: %1").arg(args_quoted));
+ }
+
+ QString test = args.at(0);
+
+ QFileInfo testfile(test);
+ if (!testfile.exists()) {
+ fail(QString("File %1 does not exist (my working directory is: %2, my args are: %3)")
+ .arg(test)
+ .arg(QDir::currentPath())
+ .arg(args_quoted)
+ );
+ }
+
+ pass(args_quoted);
+}
+
diff --git a/tests/auto/maketestselftest/maketestselftest.pro b/tests/auto/maketestselftest/maketestselftest.pro
index 6cc1744d2d..a27d5d7934 100644
--- a/tests/auto/maketestselftest/maketestselftest.pro
+++ b/tests/auto/maketestselftest/maketestselftest.pro
@@ -1,9 +1,6 @@
-load(qttest_p4)
-
-SOURCES += tst_maketestselftest.cpp
-QT = core
-
-DEFINES += SRCDIR=\\\"$$PWD/\\\"
+TEMPLATE = subdirs
+SUBDIRS = checktest test
+test.depends = checktest
requires(!cross_compile)
diff --git a/tests/auto/maketestselftest/test/test.pro b/tests/auto/maketestselftest/test/test.pro
new file mode 100644
index 0000000000..d9de51e1a3
--- /dev/null
+++ b/tests/auto/maketestselftest/test/test.pro
@@ -0,0 +1,18 @@
+load(qttest_p4)
+
+TARGET = ../tst_maketestselftest
+SOURCES += ../tst_maketestselftest.cpp
+QT = core
+
+DEFINES += SRCDIR=\\\"$$PWD/..\\\"
+
+requires(!cross_compile)
+
+win32 {
+ CONFIG(debug, debug|release) {
+ TARGET = ../../debug/tst_maketestselftest
+} else {
+ TARGET = ../../release/tst_maketestselftest
+ }
+}
+
diff --git a/tests/auto/maketestselftest/tst_maketestselftest.cpp b/tests/auto/maketestselftest/tst_maketestselftest.cpp
index 437e143890..a9077e3200 100644
--- a/tests/auto/maketestselftest/tst_maketestselftest.cpp
+++ b/tests/auto/maketestselftest/tst_maketestselftest.cpp
@@ -66,6 +66,8 @@ private slots:
void naming_convention();
void naming_convention_data();
+ void make_check();
+
private:
QStringList find_subdirs(QString const&, FindSubdirsMode, QString const& = QString());
@@ -446,6 +448,83 @@ QStringList tst_MakeTestSelfTest::find_subdirs(QString const& pro_file, FindSubd
return out;
}
+void tst_MakeTestSelfTest::make_check()
+{
+ /*
+ Run `make check' over the whole tests tree with a custom TESTRUNNER,
+ to verify that the TESTRUNNER mechanism works right.
+ */
+ QString testsDir(SRCDIR "/..");
+ QString checktest(SRCDIR "/checktest/checktest");
+
+#if defined(Q_OS_WIN32) || defined(Q_OS_MAC)
+ if (qgetenv("RUN_SLOW_TESTS").isEmpty()) {
+ QSKIP("This test is too slow to run by default on this OS. Set RUN_SLOW_TESTS=1 to run it.", SkipAll);
+ }
+#endif
+
+#ifdef Q_OS_WIN32
+ checktest.replace("/", "\\");
+ checktest += ".exe";
+#endif
+
+ QProcess make;
+ make.setWorkingDirectory(testsDir);
+
+ QStringList arguments;
+ arguments << "-k";
+ arguments << "check";
+ arguments << QString("TESTRUNNER=%1").arg(checktest);
+
+ // find the right make; from externaltests.cpp
+ static const char makes[] =
+ "nmake.exe\0"
+ "mingw32-make.exe\0"
+ "gmake\0"
+ "make\0"
+ ;
+
+ bool ok = false;
+ for (const char *p = makes; *p; p += strlen(p) + 1) {
+ make.start(p, arguments);
+ if (make.waitForStarted()) {
+ ok = true;
+ break;
+ }
+ }
+
+ if (!ok) {
+ QFAIL("Could not find the right make tool in PATH");
+ }
+
+ QVERIFY(make.waitForFinished(1000 * 60 * 10));
+ QCOMPARE(make.exitStatus(), QProcess::NormalExit);
+
+ int pass = 0;
+ QList<QByteArray> out = make.readAllStandardOutput().split('\n');
+ QStringList fails;
+ foreach (QByteArray line, out) {
+ while (line.endsWith("\r")) {
+ line.chop(1);
+ }
+ if (line.startsWith("CHECKTEST FAIL")) {
+ fails << QString::fromLocal8Bit(line);
+ }
+ if (line.startsWith("CHECKTEST PASS")) {
+ ++pass;
+ }
+ }
+
+ // We can't check that the exit code of make is 0, because some tests
+ // may have failed to compile, but that doesn't mean `make check' is broken.
+ // We do assume there are at least this many unbroken tests, though.
+ QVERIFY2(fails.count() == 0,
+ qPrintable(QString("`make check' doesn't work for %1 tests:\n%2")
+ .arg(fails.count()).arg(fails.join("\n")))
+ );
+ QVERIFY(pass > 50);
+}
+
QStringList find_test_class(QString const& filename)
{
QStringList out;
diff --git a/tests/auto/mediaobject/dummy/dummy.pro b/tests/auto/mediaobject/dummy/dummy.pro
index cf1010eafd..88b864bc4d 100644
--- a/tests/auto/mediaobject/dummy/dummy.pro
+++ b/tests/auto/mediaobject/dummy/dummy.pro
@@ -1,7 +1,7 @@
TEMPLATE = lib
isEmpty(QT_MAJOR_VERSION) {
- VERSION=4.6.3
+ VERSION=4.6.4
} else {
VERSION=$${QT_MAJOR_VERSION}.$${QT_MINOR_VERSION}.$${QT_PATCH_VERSION}
}
diff --git a/tests/auto/mediaservices.pro b/tests/auto/mediaservices.pro
deleted file mode 100644
index 1b50cd7817..0000000000
--- a/tests/auto/mediaservices.pro
+++ /dev/null
@@ -1,19 +0,0 @@
-TEMPLATE=subdirs
-SUBDIRS=\
- qsoundeffect \
- qdeclarativeaudio \
- qdeclarativevideo \
- qgraphicsvideoitem \
- qmediacontent \
- qmediaobject \
- qmediaplayer \
- qmediaplaylist \
- qmediaplaylistnavigator \
- qmediapluginloader \
- qmediaresource \
- qmediaservice \
- qmediaserviceprovider \
- qmediatimerange \
- qvideowidget
-
-
diff --git a/tests/auto/patternistexamples/patternistexamples.pro b/tests/auto/patternistexamples/patternistexamples.pro
index 4092fc8e23..c528c93cba 100644
--- a/tests/auto/patternistexamples/patternistexamples.pro
+++ b/tests/auto/patternistexamples/patternistexamples.pro
@@ -13,7 +13,7 @@ wince*|symbian*: {
recipes.sources = $$QT_SOURCE_TREE/examples/xmlpatterns/recipes/*
recipes.path = recipes
files.sources = $$QT_SOURCE_TREE/examples/xmlpatterns/recipes/files/*
- files.path = recipes\files
+ files.path = recipes\\files
DEPLOYMENT += snippets widgetRen globVar filetree recipes files
# take care of dependency
diff --git a/tests/auto/qabstractnetworkcache/qabstractnetworkcache.pro b/tests/auto/qabstractnetworkcache/qabstractnetworkcache.pro
index a57c56f7a3..2e2577dcb1 100644
--- a/tests/auto/qabstractnetworkcache/qabstractnetworkcache.pro
+++ b/tests/auto/qabstractnetworkcache/qabstractnetworkcache.pro
@@ -9,3 +9,4 @@ wince*|symbian: {
DEPLOYMENT += testFiles
}
+symbian: TARGET.CAPABILITY = NetworkServices
diff --git a/tests/auto/qabstractprintdialog/tst_qabstractprintdialog.cpp b/tests/auto/qabstractprintdialog/tst_qabstractprintdialog.cpp
index 15f427ca2f..0700e9e652 100644
--- a/tests/auto/qabstractprintdialog/tst_qabstractprintdialog.cpp
+++ b/tests/auto/qabstractprintdialog/tst_qabstractprintdialog.cpp
@@ -50,6 +50,8 @@
//TESTED_CLASS=
//TESTED_FILES=
+#if !defined(QT_NO_PRINTER) && !defined(QT_NO_PRINTDIALOG)
+
class tst_QAbstractPrintDialog : public QObject
{
Q_OBJECT
@@ -141,3 +143,9 @@ void tst_QAbstractPrintDialog::setFromTo()
QTEST_MAIN(tst_QAbstractPrintDialog)
#include "tst_qabstractprintdialog.moc"
+
+#else
+
+QTEST_NOOP_MAIN
+
+#endif
diff --git a/tests/auto/qabstractsocket/qabstractsocket.pro b/tests/auto/qabstractsocket/qabstractsocket.pro
index 59999af811..814a7d2600 100644
--- a/tests/auto/qabstractsocket/qabstractsocket.pro
+++ b/tests/auto/qabstractsocket/qabstractsocket.pro
@@ -7,4 +7,5 @@ QT = core network
SOURCES += tst_qabstractsocket.cpp
+symbian: TARGET.CAPABILITY = NetworkServices
diff --git a/tests/auto/qaccessibility/qaccessibility.pro b/tests/auto/qaccessibility/qaccessibility.pro
index e33c04d43b..1b30beb302 100644
--- a/tests/auto/qaccessibility/qaccessibility.pro
+++ b/tests/auto/qaccessibility/qaccessibility.pro
@@ -5,7 +5,7 @@ unix:!mac:LIBS+=-lm
contains(QT_CONFIG, qt3support): QT += qt3support
wince*: {
- accessneeded.sources = $$QT_BUILD_TREE\plugins\accessible\*.dll
+ accessneeded.sources = $$QT_BUILD_TREE\\plugins\\accessible\\*.dll
accessneeded.path = accessible
DEPLOYMENT += accessneeded
} \ No newline at end of file
diff --git a/tests/auto/qaccessibility/tst_qaccessibility.cpp b/tests/auto/qaccessibility/tst_qaccessibility.cpp
index e5a332a4bd..cea259c84a 100644
--- a/tests/auto/qaccessibility/tst_qaccessibility.cpp
+++ b/tests/auto/qaccessibility/tst_qaccessibility.cpp
@@ -475,7 +475,7 @@ void tst_QAccessibility::eventTest()
QVERIFY_EVENT(button, 0, QAccessible::ObjectShow);
button->setFocus(Qt::MouseFocusReason);
QTestAccessibility::clearEvents();
- QTest::mouseClick(button, Qt::LeftButton, 0, QPoint(button->width()-7,button->height()-5));
+ QTest::mouseClick(button, Qt::LeftButton, 0);
QVERIFY_EVENT(button, 0, QAccessible::StateChanged);
QVERIFY_EVENT(button, 0, QAccessible::StateChanged);
diff --git a/tests/auto/qapplication/tst_qapplication.cpp b/tests/auto/qapplication/tst_qapplication.cpp
index 459ac2ba13..1a38070dd5 100644
--- a/tests/auto/qapplication/tst_qapplication.cpp
+++ b/tests/auto/qapplication/tst_qapplication.cpp
@@ -106,6 +106,7 @@ private slots:
void lastWindowClosed();
void quitOnLastWindowClosed();
+ void closeAllWindows();
void testDeleteLater();
void testDeleteLaterProcessEvents();
@@ -188,15 +189,22 @@ void tst_QApplication::getSetCheck()
{
int argc = 0;
QApplication obj1(argc, 0, QApplication::GuiServer);
- // QInputContext * QApplication::inputContext()
- // void QApplication::setInputContext(QInputContext *)
MyInputContext *var1 = new MyInputContext;
+
+ // QApplication takes ownership, so check for reparenting:
obj1.setInputContext(var1);
- QCOMPARE((QInputContext *)var1, obj1.inputContext());
+ QCOMPARE(var1->parent(), static_cast<QObject *>(&obj1));
+
+ // Test for self-assignment:
+ obj1.setInputContext(obj1.inputContext());
+ QVERIFY(obj1.inputContext());
+ QCOMPARE(static_cast<QInputContext *>(var1), obj1.inputContext());
+
+ // Resetting the input context to 0 is not allowed:
QTest::ignoreMessage(QtWarningMsg, "QApplication::setInputContext: called with 0 input context");
- obj1.setInputContext((QInputContext *)0);
- QCOMPARE((QInputContext *)var1, obj1.inputContext());
- // delete var1; // No delete, since QApplication takes ownership
+ obj1.setInputContext(0);
+
+ QCOMPARE(static_cast<QInputContext *>(var1), obj1.inputContext());
}
class CloseEventTestWindow : public QWidget
@@ -745,6 +753,83 @@ void tst_QApplication::quitOnLastWindowClosed()
}
}
+class PromptOnCloseWidget : public QWidget
+{
+public:
+ void closeEvent(QCloseEvent *event)
+ {
+ QMessageBox *messageBox = new QMessageBox(this);
+ messageBox->setWindowTitle("Unsaved data");
+ messageBox->setText("Would you like to save or discard your current data?");
+ messageBox->setStandardButtons(QMessageBox::Save|QMessageBox::Discard|QMessageBox::Cancel);
+ messageBox->setDefaultButton(QMessageBox::Save);
+
+ messageBox->show();
+ QTest::qWaitForWindowShown(messageBox);
+
+ // verify that all windows are visible
+ foreach (QWidget *w, qApp->topLevelWidgets())
+ QVERIFY(w->isVisible());
+ // flush event queue
+ qApp->processEvents();
+ // close all windows
+ qApp->closeAllWindows();
+
+ if (messageBox->standardButton(messageBox->clickedButton()) == QMessageBox::Cancel)
+ event->ignore();
+ else
+ event->accept();
+
+ delete messageBox;
+ }
+};
+
+void tst_QApplication::closeAllWindows()
+{
+ int argc = 0;
+ QApplication app(argc, 0, QApplication::GuiServer);
+
+ // create some windows
+ new QWidget;
+ new QWidget;
+ new QWidget;
+
+ // show all windows
+ foreach (QWidget *w, app.topLevelWidgets()) {
+ w->show();
+ QTest::qWaitForWindowShown(w);
+ }
+ // verify that they are visible
+ foreach (QWidget *w, app.topLevelWidgets())
+ QVERIFY(w->isVisible());
+ // empty event queue
+ app.processEvents();
+ // close all windows
+ app.closeAllWindows();
+ // all windows should no longer be visible
+ foreach (QWidget *w, app.topLevelWidgets())
+ QVERIFY(!w->isVisible());
+
+ // add a window that prompts the user when closed
+ PromptOnCloseWidget *promptOnCloseWidget = new PromptOnCloseWidget;
+ // show all windows
+ foreach (QWidget *w, app.topLevelWidgets()) {
+ w->show();
+ QTest::qWaitForWindowShown(w);
+ }
+ // close the last window to open the prompt (eventloop recurses)
+ promptOnCloseWidget->close();
+ // all windows should not be visible, except the one that opened the prompt
+ foreach (QWidget *w, app.topLevelWidgets()) {
+ if (w == promptOnCloseWidget)
+ QVERIFY(w->isVisible());
+ else
+ QVERIFY(!w->isVisible());
+ }
+
+ qDeleteAll(app.topLevelWidgets());
+}
+
bool isPathListIncluded(const QStringList &l, const QStringList &r)
{
int size = r.count();
diff --git a/tests/auto/qaudiodeviceinfo/tst_qaudiodeviceinfo.cpp b/tests/auto/qaudiodeviceinfo/tst_qaudiodeviceinfo.cpp
index d3d81e6555..7e16ed919b 100644
--- a/tests/auto/qaudiodeviceinfo/tst_qaudiodeviceinfo.cpp
+++ b/tests/auto/qaudiodeviceinfo/tst_qaudiodeviceinfo.cpp
@@ -67,7 +67,6 @@ private slots:
void frequencies();
void isformat();
void preferred();
- void nearest();
private:
bool available;
@@ -190,16 +189,6 @@ void tst_QAudioDeviceInfo::preferred()
}
}
-void tst_QAudioDeviceInfo::nearest()
-{
- if(available) {
- QAudioFormat format1, format2;
- format1.setFrequency(8000);
- format2 = device->nearestFormat(format1);
- QVERIFY(format2.frequency() == 44100);
- }
-}
-
QTEST_MAIN(tst_QAudioDeviceInfo)
#include "tst_qaudiodeviceinfo.moc"
diff --git a/tests/auto/qbuffer/tst_qbuffer.cpp b/tests/auto/qbuffer/tst_qbuffer.cpp
index fcef6a3978..dd5ca91dad 100644
--- a/tests/auto/qbuffer/tst_qbuffer.cpp
+++ b/tests/auto/qbuffer/tst_qbuffer.cpp
@@ -76,6 +76,7 @@ private slots:
void atEnd();
void readLineBoundaries();
void writeAfterQByteArrayResize();
+ void read_null();
protected slots:
void readyReadSlot();
@@ -529,5 +530,30 @@ void tst_QBuffer::writeAfterQByteArrayResize()
QCOMPARE(buffer.buffer().size(), 1000);
}
+void tst_QBuffer::read_null()
+{
+ QByteArray buffer;
+ buffer.resize(32000);
+ for (int i = 0; i < buffer.size(); ++i)
+ buffer[i] = char(i & 0xff);
+
+ QBuffer in(&buffer);
+ in.open(QIODevice::ReadOnly);
+
+ QByteArray chunk;
+
+ chunk.resize(16380);
+ in.read(chunk.data(), 16380);
+
+ QCOMPARE(chunk, buffer.mid(0, chunk.size()));
+
+ in.read(chunk.data(), 0);
+
+ chunk.resize(8);
+ in.read(chunk.data(), chunk.size());
+
+ QCOMPARE(chunk, buffer.mid(16380, chunk.size()));
+}
+
QTEST_MAIN(tst_QBuffer)
#include "tst_qbuffer.moc"
diff --git a/tests/auto/qchar/tst_qchar.cpp b/tests/auto/qchar/tst_qchar.cpp
index 5ca225529f..93aaf9632f 100644
--- a/tests/auto/qchar/tst_qchar.cpp
+++ b/tests/auto/qchar/tst_qchar.cpp
@@ -43,6 +43,7 @@
#include <QtTest/QtTest>
#include <qchar.h>
#include <qfile.h>
+#include <qstringlist.h>
#include <private/qunicodetables_p.h>
#if defined(Q_OS_WINCE)
#include <qcoreapplication.h>
@@ -75,6 +76,7 @@ private slots:
void isPrint();
void isUpper();
void isLower();
+ void isTitle();
void category();
void direction();
void joining();
@@ -83,7 +85,9 @@ private slots:
void decomposition();
// void ligature();
void lineBreakClass();
+ void normalization_data();
void normalization();
+ void normalization_manual();
void normalizationCorrections();
void unicodeVersion();
#if defined(Q_OS_WINCE)
@@ -234,6 +238,11 @@ void tst_QChar::isUpper()
QVERIFY(!QChar('?').isUpper());
QVERIFY(QChar(0xC2).isUpper()); // A with ^
QVERIFY(!QChar(0xE2).isUpper()); // a with ^
+
+ for (uint codepoint = 0; codepoint <= UNICODE_LAST_CODEPOINT; ++codepoint) {
+ if (QChar::category(codepoint) == QChar::Letter_Uppercase)
+ QVERIFY(codepoint == QChar::toUpper(codepoint));
+ }
}
void tst_QChar::isLower()
@@ -245,6 +254,19 @@ void tst_QChar::isLower()
QVERIFY(!QChar('?').isLower());
QVERIFY(!QChar(0xC2).isLower()); // A with ^
QVERIFY(QChar(0xE2).isLower()); // a with ^
+
+ for (uint codepoint = 0; codepoint <= UNICODE_LAST_CODEPOINT; ++codepoint) {
+ if (QChar::category(codepoint) == QChar::Letter_Lowercase)
+ QVERIFY(codepoint == QChar::toLower(codepoint));
+ }
+}
+
+void tst_QChar::isTitle()
+{
+ for (uint codepoint = 0; codepoint <= UNICODE_LAST_CODEPOINT; ++codepoint) {
+ if (QChar::category(codepoint) == QChar::Letter_Titlecase)
+ QVERIFY(codepoint == QChar::toTitleCase(codepoint));
+ }
}
void tst_QChar::category()
@@ -486,31 +508,13 @@ void tst_QChar::lineBreakClass()
QVERIFY(QUnicodeTables::lineBreakClass(0x0fffdu) == QUnicodeTables::LineBreak_AL);
}
-void tst_QChar::normalization()
+void tst_QChar::normalization_data()
{
- {
- QString composed;
- composed += QChar(0xc0);
- QString decomposed;
- decomposed += QChar(0x41);
- decomposed += QChar(0x300);
+ QTest::addColumn<QStringList>("columns");
+ QTest::addColumn<int>("part");
- QVERIFY(composed.normalized(QString::NormalizationForm_D) == decomposed);
- QVERIFY(composed.normalized(QString::NormalizationForm_C) == composed);
- QVERIFY(composed.normalized(QString::NormalizationForm_KD) == decomposed);
- QVERIFY(composed.normalized(QString::NormalizationForm_KC) == composed);
- }
- {
- QString composed;
- composed += QChar(0xa0);
- QString decomposed;
- decomposed += QChar(0x20);
-
- QVERIFY(composed.normalized(QString::NormalizationForm_D) == composed);
- QVERIFY(composed.normalized(QString::NormalizationForm_C) == composed);
- QVERIFY(composed.normalized(QString::NormalizationForm_KD) == decomposed);
- QVERIFY(composed.normalized(QString::NormalizationForm_KC) == decomposed);
- }
+ int linenum = 0;
+ int part = 0;
QFile f(SRCDIR "NormalizationTest.txt");
QVERIFY(f.exists());
@@ -518,6 +522,8 @@ void tst_QChar::normalization()
f.open(QIODevice::ReadOnly);
while (!f.atEnd()) {
+ linenum++;
+
QByteArray line;
line.resize(1024);
int len = f.readLine(line.data(), 1024);
@@ -527,8 +533,11 @@ void tst_QChar::normalization()
if (comment >= 0)
line = line.left(comment);
- if (line.startsWith("@"))
+ if (line.startsWith("@")) {
+ if (line.startsWith("@Part") && line.size() > 5 && QChar(line.at(5)).isDigit())
+ part = QChar(line.at(5)).digitValue();
continue;
+ }
if (line.isEmpty())
continue;
@@ -541,8 +550,10 @@ void tst_QChar::normalization()
Q_ASSERT(l.size() == 5);
- QString columns[5];
+ QStringList columns;
for (int i = 0; i < 5; ++i) {
+ columns.append(QString());
+
QList<QByteArray> c = l.at(i).split(' ');
Q_ASSERT(!c.isEmpty());
@@ -553,15 +564,26 @@ void tst_QChar::normalization()
columns[i].append(QChar(uc));
else {
// convert to utf16
- uc -= 0x10000;
- ushort high = uc/0x400 + 0xd800;
- ushort low = uc%0x400 + 0xdc00;
+ ushort high = QChar::highSurrogate(uc);
+ ushort low = QChar::lowSurrogate(uc);
columns[i].append(QChar(high));
columns[i].append(QChar(low));
}
}
}
+ QString nm = QString("line #%1:").arg(linenum);
+ QTest::newRow(nm.toLatin1()) << columns << part;
+ }
+}
+
+void tst_QChar::normalization()
+{
+ QFETCH(QStringList, columns);
+ QFETCH(int, part);
+
+ Q_UNUSED(part)
+
// CONFORMANCE:
// 1. The following invariants must be true for all conformant implementations
//
@@ -611,6 +633,32 @@ void tst_QChar::normalization()
// #################
+}
+
+void tst_QChar::normalization_manual()
+{
+ {
+ QString composed;
+ composed += QChar(0xc0);
+ QString decomposed;
+ decomposed += QChar(0x41);
+ decomposed += QChar(0x300);
+
+ QVERIFY(composed.normalized(QString::NormalizationForm_D) == decomposed);
+ QVERIFY(composed.normalized(QString::NormalizationForm_C) == composed);
+ QVERIFY(composed.normalized(QString::NormalizationForm_KD) == decomposed);
+ QVERIFY(composed.normalized(QString::NormalizationForm_KC) == composed);
+ }
+ {
+ QString composed;
+ composed += QChar(0xa0);
+ QString decomposed;
+ decomposed += QChar(0x20);
+
+ QVERIFY(composed.normalized(QString::NormalizationForm_D) == composed);
+ QVERIFY(composed.normalized(QString::NormalizationForm_C) == composed);
+ QVERIFY(composed.normalized(QString::NormalizationForm_KD) == decomposed);
+ QVERIFY(composed.normalized(QString::NormalizationForm_KC) == decomposed);
}
}
diff --git a/tests/auto/qcolumnview/tst_qcolumnview.cpp b/tests/auto/qcolumnview/tst_qcolumnview.cpp
index 90f499d22f..1da8c5dc16 100644
--- a/tests/auto/qcolumnview/tst_qcolumnview.cpp
+++ b/tests/auto/qcolumnview/tst_qcolumnview.cpp
@@ -596,11 +596,11 @@ void tst_QColumnView::clicked()
QTest::mouseClick(view.viewport(), Qt::LeftButton, 0, localPoint);
QCOMPARE(clickedSpy.count(), 1);
qApp->processEvents();
-
+
if (sizeof(qreal) != sizeof(double)) {
QSKIP("Skipped due to rounding errors", SkipAll);
}
-
+
for (int i = 0; i < view.createdColumns.count(); ++i) {
QAbstractItemView *column = view.createdColumns.at(i);
if (column && column->selectionModel() && (column->rootIndex() == home))
@@ -961,9 +961,9 @@ void tst_QColumnView::parentCurrentIndex()
QVERIFY(third.isValid());
view.setCurrentIndex(third);
QTest::qWait(ANIMATION_DELAY);
- QCOMPARE(view.createdColumns[0]->currentIndex(), first);
- QCOMPARE(view.createdColumns[1]->currentIndex(), second);
- QCOMPARE(view.createdColumns[2]->currentIndex(), third);
+ QTRY_COMPARE(view.createdColumns[0]->currentIndex(), first);
+ QTRY_COMPARE(view.createdColumns[1]->currentIndex(), second);
+ QTRY_COMPARE(view.createdColumns[2]->currentIndex(), third);
first = model.index(0, 0, QModelIndex());
second = model.index(secondRow, 0, first);
diff --git a/tests/auto/qdatetime/tst_qdatetime.cpp b/tests/auto/qdatetime/tst_qdatetime.cpp
index 6aca996469..47c54a5563 100644
--- a/tests/auto/qdatetime/tst_qdatetime.cpp
+++ b/tests/auto/qdatetime/tst_qdatetime.cpp
@@ -106,6 +106,8 @@ private slots:
void daysTo();
void secsTo_data();
void secsTo();
+ void msecsTo_data();
+ void msecsTo();
void operator_eqeq();
void currentDateTime();
void currentDateTimeUtc();
@@ -910,6 +912,30 @@ void tst_QDateTime::secsTo()
QVERIFY((dt >= result) == (0 >= nsecs));
}
+void tst_QDateTime::msecsTo_data()
+{
+ addMSecs_data();
+}
+
+void tst_QDateTime::msecsTo()
+{
+ QFETCH(QDateTime, dt);
+ QFETCH(int, nsecs);
+ QFETCH(QDateTime, result);
+
+#ifdef Q_OS_IRIX
+ QEXPECT_FAIL("cet4", "IRIX databases say 1970 had DST", Abort);
+#endif
+ QCOMPARE(dt.msecsTo(result), qint64(nsecs) * 1000);
+ QCOMPARE(result.msecsTo(dt), -qint64(nsecs) * 1000);
+ QVERIFY((dt == result) == (0 == (qint64(nsecs) * 1000)));
+ QVERIFY((dt != result) == (0 != (qint64(nsecs) * 1000)));
+ QVERIFY((dt < result) == (0 < (qint64(nsecs) * 1000)));
+ QVERIFY((dt <= result) == (0 <= (qint64(nsecs) * 1000)));
+ QVERIFY((dt > result) == (0 > (qint64(nsecs) * 1000)));
+ QVERIFY((dt >= result) == (0 >= (qint64(nsecs) * 1000)));
+}
+
void tst_QDateTime::currentDateTime()
{
#if defined(Q_OS_WINCE)
diff --git a/tests/auto/qdatetimeedit/tst_qdatetimeedit.cpp b/tests/auto/qdatetimeedit/tst_qdatetimeedit.cpp
index 558d4de3b7..3125258a2b 100644
--- a/tests/auto/qdatetimeedit/tst_qdatetimeedit.cpp
+++ b/tests/auto/qdatetimeedit/tst_qdatetimeedit.cpp
@@ -3148,8 +3148,8 @@ void tst_QDateTimeEdit::nextPrevSection()
EditorDateEdit edit;
edit.setDisplayFormat("hh/mm/bc9ss");
edit.setTime(QTime(12, 34, 56));
- edit.setSelectedSection(QDateTimeEdit::MinuteSection);
edit.show();
+ edit.setSelectedSection(QDateTimeEdit::MinuteSection);
QCOMPARE(edit.lineEdit()->selectedText(), QString("34")); // selftest
QTest::keyClick(&edit, key, modifiers);
QCOMPARE(edit.lineEdit()->selectedText(), selectedText);
diff --git a/tests/auto/qdbusserver/.gitignore b/tests/auto/qdbusserver/.gitignore
deleted file mode 100644
index 33a9be2bf2..0000000000
--- a/tests/auto/qdbusserver/.gitignore
+++ /dev/null
@@ -1 +0,0 @@
-tst_qdbusserver
diff --git a/tests/auto/qdbusserver/qdbusserver.pro b/tests/auto/qdbusserver/qdbusserver.pro
deleted file mode 100644
index 05a4eb84af..0000000000
--- a/tests/auto/qdbusserver/qdbusserver.pro
+++ /dev/null
@@ -1,11 +0,0 @@
-load(qttest_p4)
-QT = core
-
-contains(QT_CONFIG,dbus): {
- SOURCES += tst_qdbusserver.cpp
- QT += dbus
-} else {
- SOURCES += ../qdbusmarshall/dummy.cpp
-}
-
-
diff --git a/tests/auto/qdbusserver/server.cpp b/tests/auto/qdbusserver/server.cpp
deleted file mode 100644
index d4422f0826..0000000000
--- a/tests/auto/qdbusserver/server.cpp
+++ /dev/null
@@ -1,49 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the test suite of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-#include <QtCore/QtCore>
-#include <QtDBus/QtDBus>
-
-int main(int argc, char *argv[])
-{
- QCoreApplication app(argc, argv);
- QDBusServer server("unix:path=/tmp/qdbus-test");
- return app.exec();
-}
diff --git a/tests/auto/qdbusserver/tst_qdbusserver.cpp b/tests/auto/qdbusserver/tst_qdbusserver.cpp
deleted file mode 100644
index f0da02a6de..0000000000
--- a/tests/auto/qdbusserver/tst_qdbusserver.cpp
+++ /dev/null
@@ -1,78 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the test suite of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-#include <qcoreapplication.h>
-#include <qdebug.h>
-
-#include <QtTest/QtTest>
-#include <QtDBus/QtDBus>
-
-static const QString bus = "unix:path=/tmp/qdbus-test";
-static const QString service = "com.trolltech.Qt.Autotests.QDBusServer";
-static const QString path = "/com/trolltech/test";
-
-class tst_QDBusServer : public QObject
-{
- Q_OBJECT
-
- void connectToServer();
- void callMethod();
-private slots:
-};
-
-void tst_QDBusServer::connectToServer()
-{
- QDBusConnection connection = QDBusConnection::connectToBus(bus, "test-connection");
- QTest::qWait(100);
- QVERIFY(connection.isConnected());
-}
-
-void tst_QDBusServer::callMethod()
-{
- QDBusConnection connection = QDBusConnection::connectToBus(bus, "test-connection");
- QTest::qWait(100);
- QVERIFY(connection.isConnected());
- //QDBusMessage msg = QDBusMessage::createMethodCall(bus, path, /*service*/"", "method");
- //QDBusMessage reply = connection.call(msg, QDBus::Block);
-}
-
-QTEST_MAIN(tst_QDBusServer)
-
-#include "tst_qdbusserver.moc"
diff --git a/tests/auto/qdeclarativeaudio/qdeclarativeaudio.pro b/tests/auto/qdeclarativeaudio/qdeclarativeaudio.pro
deleted file mode 100644
index ecfe299443..0000000000
--- a/tests/auto/qdeclarativeaudio/qdeclarativeaudio.pro
+++ /dev/null
@@ -1,14 +0,0 @@
-load(qttest_p4)
-
-HEADERS += \
- $$PWD/../../../src/imports/multimedia/qdeclarativeaudio_p.h \
- $$PWD/../../../src/imports/multimedia/qdeclarativemediabase_p.h \
- $$PWD/../../../src/imports/multimedia/qmetadatacontrolmetaobject_p.h
-
-SOURCES += \
- tst_qdeclarativeaudio.cpp \
- $$PWD/../../../src/imports/multimedia/qdeclarativeaudio.cpp \
- $$PWD/../../../src/imports/multimedia/qdeclarativemediabase.cpp \
- $$PWD/../../../src/imports/multimedia/qmetadatacontrolmetaobject.cpp
-
-QT += mediaservices declarative
diff --git a/tests/auto/qdeclarativeaudio/tst_qdeclarativeaudio.cpp b/tests/auto/qdeclarativeaudio/tst_qdeclarativeaudio.cpp
deleted file mode 100644
index e393599295..0000000000
--- a/tests/auto/qdeclarativeaudio/tst_qdeclarativeaudio.cpp
+++ /dev/null
@@ -1,1252 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the test suite of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include <QtTest/QtTest>
-
-#include "../../../src/imports/multimedia/qdeclarativeaudio_p.h"
-
-#include <QtGui/qapplication.h>
-#include <QtMediaServices/qmediaplayercontrol.h>
-#include <QtMediaServices/qmediaservice.h>
-#include <QtMediaServices/qmetadatacontrol.h>
-
-
-class tst_QDeclarativeAudio : public QObject
-{
- Q_OBJECT
-public slots:
- void initTestCase();
-
-private slots:
- void nullPlayerControl();
- void nullMetaDataControl();
- void nullService();
-
- void source();
- void autoLoad();
- void playing();
- void paused();
- void duration();
- void position();
- void volume();
- void muted();
- void bufferProgress();
- void seekable();
- void playbackRate();
- void status();
- void metaData_data();
- void metaData();
- void error();
-};
-
-Q_DECLARE_METATYPE(QtMediaServices::MetaData);
-Q_DECLARE_METATYPE(QDeclarativeAudio::Error);
-
-class QtTestMediaPlayerControl : public QMediaPlayerControl
-{
- Q_OBJECT
-public:
- QtTestMediaPlayerControl(QObject *parent = 0)
- : QMediaPlayerControl(parent)
- , m_state(QMediaPlayer::StoppedState)
- , m_mediaStatus(QMediaPlayer::NoMedia)
- , m_duration(0)
- , m_position(0)
- , m_playbackRate(1.0)
- , m_volume(50)
- , m_bufferStatus(0)
- , m_muted(false)
- , m_audioAvailable(false)
- , m_videoAvailable(false)
- , m_seekable(false)
- {
- }
-
- QMediaPlayer::State state() const { return m_state; }
- void updateState(QMediaPlayer::State state) { emit stateChanged(m_state = state); }
-
- QMediaPlayer::MediaStatus mediaStatus() const { return m_mediaStatus; }
- void updateMediaStatus(QMediaPlayer::MediaStatus status) {
- emit mediaStatusChanged(m_mediaStatus = status); }
- void updateMediaStatus(QMediaPlayer::MediaStatus status, QMediaPlayer::State state)
- {
- m_mediaStatus = status;
- m_state = state;
-
- emit mediaStatusChanged(m_mediaStatus);
- emit stateChanged(m_state);
- }
-
- qint64 duration() const { return m_duration; }
- void setDuration(qint64 duration) { emit durationChanged(m_duration = duration); }
-
- qint64 position() const { return m_position; }
- void setPosition(qint64 position) { emit positionChanged(m_position = position); }
-
- int volume() const { return m_volume; }
- void setVolume(int volume) { emit volumeChanged(m_volume = volume); }
-
- bool isMuted() const { return m_muted; }
- void setMuted(bool muted) { emit mutedChanged(m_muted = muted); }
-
- int bufferStatus() const { return m_bufferStatus; }
- void setBufferStatus(int status) { emit bufferStatusChanged(m_bufferStatus = status); }
-
- bool isAudioAvailable() const { return m_audioAvailable; }
- void setAudioAvailable(bool available) {
- emit audioAvailableChanged(m_audioAvailable = available); }
- bool isVideoAvailable() const { return m_videoAvailable; }
- void setVideoAvailable(bool available) {
- emit videoAvailableChanged(m_videoAvailable = available); }
-
- bool isSeekable() const { return m_seekable; }
- void setSeekable(bool seekable) { emit seekableChanged(m_seekable = seekable); }
-
- QMediaTimeRange availablePlaybackRanges() const { return QMediaTimeRange(); }
-
- qreal playbackRate() const { return m_playbackRate; }
- void setPlaybackRate(qreal rate) { emit playbackRateChanged(m_playbackRate = rate); }
-
- QMediaContent media() const { return m_media; }
- const QIODevice *mediaStream() const { return 0; }
- void setMedia(const QMediaContent &media, QIODevice *)
- {
- m_media = media;
-
- m_mediaStatus = m_media.isNull()
- ? QMediaPlayer::NoMedia
- : QMediaPlayer::LoadingMedia;
-
- emit mediaChanged(m_media);
- emit mediaStatusChanged(m_mediaStatus);
- }
-
- void play() { emit stateChanged(m_state = QMediaPlayer::PlayingState); }
- void pause() { emit stateChanged(m_state = QMediaPlayer::PausedState); }
- void stop() { emit stateChanged(m_state = QMediaPlayer::StoppedState); }
-
- void emitError(QMediaPlayer::Error err, const QString &errorString) {
- emit error(err, errorString); }
-
-private:
- QMediaPlayer::State m_state;
- QMediaPlayer::MediaStatus m_mediaStatus;
- qint64 m_duration;
- qint64 m_position;
- qreal m_playbackRate;
- int m_volume;
- int m_bufferStatus;
- bool m_muted;
- bool m_audioAvailable;
- bool m_videoAvailable;
- bool m_seekable;
- QMediaContent m_media;
-};
-
-class QtTestMetaDataControl : public QMetaDataControl
-{
- Q_OBJECT
-public:
- QtTestMetaDataControl(QObject *parent = 0)
- : QMetaDataControl(parent)
- {
- }
-
- bool isWritable() const { return true; }
- bool isMetaDataAvailable() const { return true; }
-
- QVariant metaData(QtMediaServices::MetaData key) const { return m_metaData.value(key); }
- void setMetaData(QtMediaServices::MetaData key, const QVariant &value) {
- m_metaData.insert(key, value); emit metaDataChanged(); }
- void setMetaData(const QMap<QtMediaServices::MetaData, QVariant> &metaData) {
- m_metaData = metaData; emit metaDataChanged(); }
-
- QList<QtMediaServices::MetaData> availableMetaData() const { return m_metaData.keys(); }
-
- QVariant extendedMetaData(const QString &) const { return QVariant(); }
- void setExtendedMetaData(const QString &, const QVariant &) {}
- QStringList availableExtendedMetaData() const { return QStringList(); }
-
-private:
- QMap<QtMediaServices::MetaData, QVariant> m_metaData;
-};
-
-class QtTestMediaService : public QMediaService
-{
- Q_OBJECT
-public:
- QtTestMediaService(
- QtTestMediaPlayerControl *playerControl,
- QtTestMetaDataControl *metaDataControl,
- QObject *parent)
- : QMediaService(parent)
- , playerControl(playerControl)
- , metaDataControl(metaDataControl)
- {
- }
-
- QMediaControl *control(const char *name) const
- {
- if (qstrcmp(name, QMediaPlayerControl_iid) == 0)
- return playerControl;
- else if (qstrcmp(name, QMetaDataControl_iid) == 0)
- return metaDataControl;
- else
- return 0;
- }
-
- QtTestMediaPlayerControl *playerControl;
- QtTestMetaDataControl *metaDataControl;
-};
-
-class QtTestMediaServiceProvider : public QMediaServiceProvider
-{
- Q_OBJECT
-public:
- QtTestMediaServiceProvider()
- : service(new QtTestMediaService(
- new QtTestMediaPlayerControl(this), new QtTestMetaDataControl(this), this))
- {
- setDefaultServiceProvider(this);
- }
-
- QtTestMediaServiceProvider(QtTestMediaService *service)
- : service(service)
- {
- setDefaultServiceProvider(this);
- }
-
- QtTestMediaServiceProvider(
- QtTestMediaPlayerControl *playerControl, QtTestMetaDataControl *metaDataControl)
- : service(new QtTestMediaService(playerControl, metaDataControl, this))
- {
- setDefaultServiceProvider(this);
- }
-
- ~QtTestMediaServiceProvider()
- {
- setDefaultServiceProvider(0);
- }
-
- QMediaService *requestService(
- const QByteArray &type,
- const QMediaServiceProviderHint & = QMediaServiceProviderHint())
- {
- requestedService = type;
-
- return service;
- }
-
- void releaseService(QMediaService *) {}
-
- inline QtTestMediaPlayerControl *playerControl() { return service->playerControl; }
- inline QtTestMetaDataControl *metaDataControl() { return service->metaDataControl; }
-
- QtTestMediaService *service;
- QByteArray requestedService;
-};
-
-
-void tst_QDeclarativeAudio::initTestCase()
-{
- qRegisterMetaType<QDeclarativeAudio::Error>();
-}
-
-void tst_QDeclarativeAudio::nullPlayerControl()
-{
- QtTestMetaDataControl metaDataControl;
- QtTestMediaServiceProvider provider(0, &metaDataControl);
-
- QDeclarativeAudio audio;
-
- QCOMPARE(audio.source(), QUrl());
- audio.setSource(QUrl("http://example.com"));
- QCOMPARE(audio.source(), QUrl("http://example.com"));
-
- QCOMPARE(audio.isPlaying(), false);
- audio.setPlaying(true);
- QCOMPARE(audio.isPlaying(), true);
- audio.setPlaying(false);
- audio.play();
- QCOMPARE(audio.isPlaying(), false);
-
- QCOMPARE(audio.isPaused(), false);
- audio.pause();
- QCOMPARE(audio.isPaused(), false);
- audio.setPaused(true);
- QCOMPARE(audio.isPaused(), true);
-
- QCOMPARE(audio.duration(), 0);
-
- QCOMPARE(audio.position(), 0);
- audio.setPosition(10000);
- QCOMPARE(audio.position(), 10000);
-
- QCOMPARE(audio.volume(), qreal(1.0));
- audio.setVolume(0.5);
- QCOMPARE(audio.volume(), qreal(0.5));
-
- QCOMPARE(audio.isMuted(), false);
- audio.setMuted(true);
- QCOMPARE(audio.isMuted(), true);
-
- QCOMPARE(audio.bufferProgress(), qreal(0));
-
- QCOMPARE(audio.isSeekable(), false);
-
- QCOMPARE(audio.playbackRate(), qreal(1.0));
-
- QCOMPARE(audio.status(), QDeclarativeAudio::NoMedia);
-
- QCOMPARE(audio.error(), QDeclarativeAudio::ServiceMissing);
-}
-
-void tst_QDeclarativeAudio::nullMetaDataControl()
-{
- QtTestMediaPlayerControl playerControl;
- QtTestMediaServiceProvider provider(&playerControl, 0);
-
- QDeclarativeAudio audio;
-
- QCOMPARE(audio.metaObject()->indexOfProperty("title"), -1);
- QCOMPARE(audio.metaObject()->indexOfProperty("genre"), -1);
- QCOMPARE(audio.metaObject()->indexOfProperty("description"), -1);
-}
-
-void tst_QDeclarativeAudio::nullService()
-{
- QtTestMediaServiceProvider provider(0);
-
- QDeclarativeAudio audio;
-
- QCOMPARE(audio.source(), QUrl());
- audio.setSource(QUrl("http://example.com"));
- QCOMPARE(audio.source(), QUrl("http://example.com"));
-
- QCOMPARE(audio.isPlaying(), false);
- audio.setPlaying(true);
- QCOMPARE(audio.isPlaying(), true);
- audio.setPlaying(false);
- audio.play();
- QCOMPARE(audio.isPlaying(), false);
-
- QCOMPARE(audio.isPaused(), false);
- audio.pause();
- QCOMPARE(audio.isPaused(), false);
- audio.setPaused(true);
- QCOMPARE(audio.isPaused(), true);
-
- QCOMPARE(audio.duration(), 0);
-
- QCOMPARE(audio.position(), 0);
- audio.setPosition(10000);
- QCOMPARE(audio.position(), 10000);
-
- QCOMPARE(audio.volume(), qreal(1.0));
- audio.setVolume(0.5);
- QCOMPARE(audio.volume(), qreal(0.5));
-
- QCOMPARE(audio.isMuted(), false);
- audio.setMuted(true);
- QCOMPARE(audio.isMuted(), true);
-
- QCOMPARE(audio.bufferProgress(), qreal(0));
-
- QCOMPARE(audio.isSeekable(), false);
-
- QCOMPARE(audio.playbackRate(), qreal(1.0));
-
- QCOMPARE(audio.status(), QDeclarativeAudio::NoMedia);
-
- QCOMPARE(audio.error(), QDeclarativeAudio::ServiceMissing);
-
- QCOMPARE(audio.metaObject()->indexOfProperty("title"), -1);
- QCOMPARE(audio.metaObject()->indexOfProperty("genre"), -1);
- QCOMPARE(audio.metaObject()->indexOfProperty("description"), -1);
-}
-
-void tst_QDeclarativeAudio::source()
-{
- const QUrl url1("http://example.com");
- const QUrl url2("file:///local/path");
- const QUrl url3;
-
- QtTestMediaServiceProvider provider;
- QDeclarativeAudio audio;
- audio.componentComplete();
-
- QSignalSpy spy(&audio, SIGNAL(sourceChanged()));
-
- audio.setSource(url1);
- QCOMPARE(audio.source(), url1);
- QCOMPARE(provider.playerControl()->media().canonicalUrl(), url1);
- QCOMPARE(spy.count(), 1);
-
- audio.setSource(url2);
- QCOMPARE(audio.source(), url2);
- QCOMPARE(provider.playerControl()->media().canonicalUrl(), url2);
- QCOMPARE(spy.count(), 2);
-
- audio.setSource(url3);
- QCOMPARE(audio.source(), url3);
- QCOMPARE(provider.playerControl()->media().canonicalUrl(), url3);
- QCOMPARE(spy.count(), 3);
-}
-
-void tst_QDeclarativeAudio::autoLoad()
-{
- QtTestMediaServiceProvider provider;
- QDeclarativeAudio audio;
- audio.componentComplete();
-
- QSignalSpy spy(&audio, SIGNAL(autoLoadChanged()));
-
- QCOMPARE(audio.isAutoLoad(), true);
-
- audio.setAutoLoad(false);
- QCOMPARE(audio.isAutoLoad(), false);
- QCOMPARE(spy.count(), 1);
-
- audio.setSource(QUrl("http://example.com"));
- QCOMPARE(audio.source(), QUrl("http://example.com"));
- audio.play();
- QCOMPARE(audio.isPlaying(), true);
- audio.stop();
-
- audio.setAutoLoad(true);
- audio.setSource(QUrl("http://example.com"));
- audio.setPaused(true);
- QCOMPARE(spy.count(), 2);
- QCOMPARE(audio.isPaused(), true);
-}
-
-void tst_QDeclarativeAudio::playing()
-{
- QtTestMediaServiceProvider provider;
- QDeclarativeAudio audio;
-
- QSignalSpy playingChangedSpy(&audio, SIGNAL(playingChanged()));
- QSignalSpy startedSpy(&audio, SIGNAL(started()));
- QSignalSpy stoppedSpy(&audio, SIGNAL(stopped()));
-
- int playingChanged = 0;
- int started = 0;
- int stopped = 0;
-
- audio.componentComplete();
-
- QCOMPARE(audio.isPlaying(), false);
-
- // setPlaying(true) when stopped.
- audio.setPlaying(true);
- QCOMPARE(audio.isPlaying(), true);
- QCOMPARE(provider.playerControl()->state(), QMediaPlayer::PlayingState);
- QCOMPARE(playingChangedSpy.count(), ++playingChanged);
- QCOMPARE(startedSpy.count(), ++started);
- QCOMPARE(stoppedSpy.count(), stopped);
-
- // setPlaying(false) when playing.
- audio.setPlaying(false);
- QCOMPARE(audio.isPlaying(), false);
- QCOMPARE(provider.playerControl()->state(), QMediaPlayer::StoppedState);
- QCOMPARE(playingChangedSpy.count(), ++playingChanged);
- QCOMPARE(startedSpy.count(), started);
- QCOMPARE(stoppedSpy.count(), ++stopped);
-
- // play() when stopped.
- audio.play();
- QCOMPARE(audio.isPlaying(), true);
- QCOMPARE(provider.playerControl()->state(), QMediaPlayer::PlayingState);
- QCOMPARE(playingChangedSpy.count(), ++playingChanged);
- QCOMPARE(startedSpy.count(), ++started);
- QCOMPARE(stoppedSpy.count(), stopped);
-
- // stop() when playing.
- audio.stop();
- QCOMPARE(audio.isPlaying(), false);
- QCOMPARE(provider.playerControl()->state(), QMediaPlayer::StoppedState);
- QCOMPARE(playingChangedSpy.count(), ++playingChanged);
- QCOMPARE(startedSpy.count(), started);
- QCOMPARE(stoppedSpy.count(), ++stopped);
-
- // stop() when stopped.
- audio.stop();
- QCOMPARE(audio.isPlaying(), false);
- QCOMPARE(provider.playerControl()->state(), QMediaPlayer::StoppedState);
- QCOMPARE(playingChangedSpy.count(), playingChanged);
- QCOMPARE(startedSpy.count(), started);
- QCOMPARE(stoppedSpy.count(), stopped);
-
- // setPlaying(false) when stopped.
- audio.setPlaying(false);
- QCOMPARE(audio.isPlaying(), false);
- QCOMPARE(provider.playerControl()->state(), QMediaPlayer::StoppedState);
- QCOMPARE(playingChangedSpy.count(), playingChanged);
- QCOMPARE(startedSpy.count(), started);
- QCOMPARE(stoppedSpy.count(), stopped);
-
- audio.setPlaying(true);
- QCOMPARE(audio.isPlaying(), true);
- QCOMPARE(provider.playerControl()->state(), QMediaPlayer::PlayingState);
- QCOMPARE(playingChangedSpy.count(), ++playingChanged);
- QCOMPARE(startedSpy.count(), ++started);
- QCOMPARE(stoppedSpy.count(), stopped);
-
- // setPlaying(true) when playing.
- audio.setPlaying(true);
- QCOMPARE(audio.isPlaying(), true);
- QCOMPARE(provider.playerControl()->state(), QMediaPlayer::PlayingState);
- QCOMPARE(playingChangedSpy.count(), playingChanged);
- QCOMPARE(startedSpy.count(), started);
- QCOMPARE(stoppedSpy.count(), stopped);
-
- // play() when playing.
- audio.play();
- QCOMPARE(audio.isPlaying(), true);
- QCOMPARE(provider.playerControl()->state(), QMediaPlayer::PlayingState);
- QCOMPARE(playingChangedSpy.count(), playingChanged);
- QCOMPARE(startedSpy.count(), started);
- QCOMPARE(stoppedSpy.count(), stopped);
-}
-
-void tst_QDeclarativeAudio::paused()
-{
- QtTestMediaServiceProvider provider;
- QDeclarativeAudio audio;
-
- QSignalSpy playingChangedSpy(&audio, SIGNAL(playingChanged()));
- QSignalSpy pausedChangedSpy(&audio, SIGNAL(pausedChanged()));
- QSignalSpy startedSpy(&audio, SIGNAL(started()));
- QSignalSpy pausedSpy(&audio, SIGNAL(paused()));
- QSignalSpy resumedSpy(&audio, SIGNAL(resumed()));
- QSignalSpy stoppedSpy(&audio, SIGNAL(stopped()));
-
- int playingChanged = 0;
- int pausedChanged = 0;
- int started = 0;
- int paused = 0;
- int resumed = 0;
- int stopped = 0;
-
- audio.componentComplete();
-
- QCOMPARE(audio.isPlaying(), false);
- QCOMPARE(audio.isPaused(), false);
-
- // setPlaying(true) when stopped.
- audio.setPlaying(true);
- QCOMPARE(audio.isPlaying(), true);
- QCOMPARE(audio.isPaused(), false);
- QCOMPARE(provider.playerControl()->state(), QMediaPlayer::PlayingState);
- QCOMPARE(playingChangedSpy.count(), ++playingChanged);
- QCOMPARE(pausedChangedSpy.count(), pausedChanged);
- QCOMPARE(startedSpy.count(), ++started);
- QCOMPARE(pausedSpy.count(), paused);
- QCOMPARE(resumedSpy.count(), resumed);
- QCOMPARE(stoppedSpy.count(), stopped);
-
- // setPaused(true) when playing.
- audio.setPaused(true);
- QCOMPARE(audio.isPlaying(), true);
- QCOMPARE(audio.isPaused(), true);
- QCOMPARE(provider.playerControl()->state(), QMediaPlayer::PausedState);
- QCOMPARE(playingChangedSpy.count(), playingChanged);
- QCOMPARE(pausedChangedSpy.count(), ++pausedChanged);
- QCOMPARE(startedSpy.count(), started);
- QCOMPARE(pausedSpy.count(), ++paused);
- QCOMPARE(resumedSpy.count(), resumed);
- QCOMPARE(stoppedSpy.count(), stopped);
-
- // setPaused(true) when paused.
- audio.setPaused(true);
- QCOMPARE(audio.isPlaying(), true);
- QCOMPARE(audio.isPaused(), true);
- QCOMPARE(provider.playerControl()->state(), QMediaPlayer::PausedState);
- QCOMPARE(playingChangedSpy.count(), playingChanged);
- QCOMPARE(pausedChangedSpy.count(), pausedChanged);
- QCOMPARE(startedSpy.count(), started);
- QCOMPARE(pausedSpy.count(), paused);
- QCOMPARE(resumedSpy.count(), resumed);
- QCOMPARE(stoppedSpy.count(), stopped);
-
- // pause() when paused.
- audio.pause();
- QCOMPARE(audio.isPlaying(), true);
- QCOMPARE(audio.isPaused(), true);
- QCOMPARE(provider.playerControl()->state(), QMediaPlayer::PausedState);
- QCOMPARE(playingChangedSpy.count(), playingChanged);
- QCOMPARE(pausedChangedSpy.count(), pausedChanged);
- QCOMPARE(startedSpy.count(), started);
- QCOMPARE(pausedSpy.count(), paused);
- QCOMPARE(resumedSpy.count(), resumed);
- QCOMPARE(stoppedSpy.count(), stopped);
-
- // setPaused(false) when paused.
- audio.setPaused(false);
- QCOMPARE(audio.isPlaying(), true);
- QCOMPARE(audio.isPaused(), false);
- QCOMPARE(provider.playerControl()->state(), QMediaPlayer::PlayingState);
- QCOMPARE(playingChangedSpy.count(), playingChanged);
- QCOMPARE(pausedChangedSpy.count(), ++pausedChanged);
- QCOMPARE(startedSpy.count(), started);
- QCOMPARE(pausedSpy.count(), paused);
- QCOMPARE(resumedSpy.count(), ++resumed);
- QCOMPARE(stoppedSpy.count(), stopped);
-
- // setPaused(false) when playing.
- audio.setPaused(false);
- QCOMPARE(audio.isPlaying(), true);
- QCOMPARE(audio.isPaused(), false);
- QCOMPARE(provider.playerControl()->state(), QMediaPlayer::PlayingState);
- QCOMPARE(playingChangedSpy.count(), playingChanged);
- QCOMPARE(pausedChangedSpy.count(), pausedChanged);
- QCOMPARE(startedSpy.count(), started);
- QCOMPARE(pausedSpy.count(), paused);
- QCOMPARE(resumedSpy.count(), resumed);
- QCOMPARE(stoppedSpy.count(), stopped);
-
- // pause() when playing.
- audio.pause();
- QCOMPARE(audio.isPlaying(), true);
- QCOMPARE(audio.isPaused(), true);
- QCOMPARE(provider.playerControl()->state(), QMediaPlayer::PausedState);
- QCOMPARE(playingChangedSpy.count(), playingChanged);
- QCOMPARE(pausedChangedSpy.count(), ++pausedChanged);
- QCOMPARE(startedSpy.count(), started);
- QCOMPARE(pausedSpy.count(), ++paused);
- QCOMPARE(resumedSpy.count(), resumed);
- QCOMPARE(stoppedSpy.count(), stopped);
-
- // setPlaying(false) when paused.
- audio.setPlaying(false);
- QCOMPARE(audio.isPlaying(), false);
- QCOMPARE(audio.isPaused(), true);
- QCOMPARE(provider.playerControl()->state(), QMediaPlayer::StoppedState);
- QCOMPARE(playingChangedSpy.count(), ++playingChanged);
- QCOMPARE(pausedChangedSpy.count(), pausedChanged);
- QCOMPARE(startedSpy.count(), started);
- QCOMPARE(pausedSpy.count(), paused);
- QCOMPARE(resumedSpy.count(), resumed);
- QCOMPARE(stoppedSpy.count(), ++stopped);
-
- // setPaused(true) when stopped and paused.
- audio.setPaused(true);
- QCOMPARE(audio.isPlaying(), false);
- QCOMPARE(audio.isPaused(), true);
- QCOMPARE(provider.playerControl()->state(), QMediaPlayer::StoppedState);
- QCOMPARE(playingChangedSpy.count(), playingChanged);
- QCOMPARE(pausedChangedSpy.count(), pausedChanged);
- QCOMPARE(startedSpy.count(), started);
- QCOMPARE(pausedSpy.count(), paused);
- QCOMPARE(resumedSpy.count(), resumed);
- QCOMPARE(stoppedSpy.count(), stopped);
-
- // setPaused(false) when stopped and paused.
- audio.setPaused(false);
- QCOMPARE(audio.isPlaying(), false);
- QCOMPARE(audio.isPaused(), false);
- QCOMPARE(provider.playerControl()->state(), QMediaPlayer::StoppedState);
- QCOMPARE(playingChangedSpy.count(), playingChanged);
- QCOMPARE(pausedChangedSpy.count(), ++pausedChanged);
- QCOMPARE(startedSpy.count(), started);
- QCOMPARE(pausedSpy.count(), paused);
- QCOMPARE(resumedSpy.count(), resumed);
- QCOMPARE(stoppedSpy.count(), stopped);
-
- // setPaused(true) when stopped.
- audio.setPaused(true);
- QCOMPARE(audio.isPlaying(), false);
- QCOMPARE(audio.isPaused(), true);
- QCOMPARE(provider.playerControl()->state(), QMediaPlayer::StoppedState);
- QCOMPARE(playingChangedSpy.count(), playingChanged);
- QCOMPARE(pausedChangedSpy.count(), ++pausedChanged);
- QCOMPARE(startedSpy.count(), started);
- QCOMPARE(pausedSpy.count(), paused);
- QCOMPARE(resumedSpy.count(), resumed);
- QCOMPARE(stoppedSpy.count(), stopped);
-
- // setPlaying(true) when stopped and paused.
- audio.setPlaying(true);
- QCOMPARE(audio.isPlaying(), true);
- QCOMPARE(audio.isPaused(), true);
- QCOMPARE(provider.playerControl()->state(), QMediaPlayer::PausedState);
- QCOMPARE(playingChangedSpy.count(), ++playingChanged);
- QCOMPARE(pausedChangedSpy.count(), pausedChanged);
- QCOMPARE(startedSpy.count(), ++started);
- QCOMPARE(pausedSpy.count(), ++paused);
- QCOMPARE(resumedSpy.count(), resumed);
- QCOMPARE(stoppedSpy.count(), stopped);
-
- // play() when paused.
- audio.play();
- QCOMPARE(audio.isPlaying(), true);
- QCOMPARE(audio.isPaused(), false);
- QCOMPARE(provider.playerControl()->state(), QMediaPlayer::PlayingState);
- QCOMPARE(playingChangedSpy.count(), playingChanged);
- QCOMPARE(pausedChangedSpy.count(), ++pausedChanged);
- QCOMPARE(startedSpy.count(), started);
- QCOMPARE(pausedSpy.count(), paused);
- QCOMPARE(resumedSpy.count(), ++resumed);
- QCOMPARE(stoppedSpy.count(), stopped);
-
- // setPaused(true) when playing.
- audio.setPaused(true);
- QCOMPARE(audio.isPlaying(), true);
- QCOMPARE(audio.isPaused(), true);
- QCOMPARE(provider.playerControl()->state(), QMediaPlayer::PausedState);
- QCOMPARE(playingChangedSpy.count(), playingChanged);
- QCOMPARE(pausedChangedSpy.count(), ++pausedChanged);
- QCOMPARE(startedSpy.count(), started);
- QCOMPARE(pausedSpy.count(), ++paused);
- QCOMPARE(resumedSpy.count(), resumed);
- QCOMPARE(stoppedSpy.count(), stopped);
-
- // stop() when paused.
- audio.stop();
- QCOMPARE(audio.isPlaying(), false);
- QCOMPARE(audio.isPaused(), false);
- QCOMPARE(provider.playerControl()->state(), QMediaPlayer::StoppedState);
- QCOMPARE(playingChangedSpy.count(), ++playingChanged);
- QCOMPARE(pausedChangedSpy.count(), ++pausedChanged);
- QCOMPARE(startedSpy.count(), started);
- QCOMPARE(pausedSpy.count(), paused);
- QCOMPARE(resumedSpy.count(), resumed);
- QCOMPARE(stoppedSpy.count(), ++stopped);
-
- // setPaused(true) when stopped.
- audio.setPaused(true);
- QCOMPARE(audio.isPlaying(), false);
- QCOMPARE(audio.isPaused(), true);
- QCOMPARE(provider.playerControl()->state(), QMediaPlayer::StoppedState);
- QCOMPARE(playingChangedSpy.count(), playingChanged);
- QCOMPARE(pausedChangedSpy.count(), ++pausedChanged);
- QCOMPARE(startedSpy.count(), started);
- QCOMPARE(pausedSpy.count(), paused);
- QCOMPARE(resumedSpy.count(), resumed);
- QCOMPARE(stoppedSpy.count(), stopped);
-
- // stop() when stopped and paused.
- audio.stop();
- QCOMPARE(audio.isPlaying(), false);
- QCOMPARE(audio.isPaused(), false);
- QCOMPARE(provider.playerControl()->state(), QMediaPlayer::StoppedState);
- QCOMPARE(playingChangedSpy.count(), playingChanged);
- QCOMPARE(pausedChangedSpy.count(), ++pausedChanged);
- QCOMPARE(startedSpy.count(), started);
- QCOMPARE(pausedSpy.count(), paused);
- QCOMPARE(resumedSpy.count(), resumed);
- QCOMPARE(stoppedSpy.count(), stopped);
-
- // pause() when stopped.
- audio.pause();
- QCOMPARE(audio.isPlaying(), true);
- QCOMPARE(audio.isPaused(), true);
- QCOMPARE(provider.playerControl()->state(), QMediaPlayer::PausedState);
- QCOMPARE(playingChangedSpy.count(), ++playingChanged);
- QCOMPARE(pausedChangedSpy.count(), ++pausedChanged);
- QCOMPARE(startedSpy.count(), ++started);
- QCOMPARE(pausedSpy.count(), ++paused);
- QCOMPARE(resumedSpy.count(), resumed);
- QCOMPARE(stoppedSpy.count(), stopped);
-
- // setPlaying(false) when paused.
- audio.setPlaying(false);
- QCOMPARE(audio.isPlaying(), false);
- QCOMPARE(audio.isPaused(), true);
- QCOMPARE(provider.playerControl()->state(), QMediaPlayer::StoppedState);
- QCOMPARE(playingChangedSpy.count(), ++playingChanged);
- QCOMPARE(pausedChangedSpy.count(), pausedChanged);
- QCOMPARE(startedSpy.count(), started);
- QCOMPARE(pausedSpy.count(), paused);
- QCOMPARE(resumedSpy.count(), resumed);
- QCOMPARE(stoppedSpy.count(), ++stopped);
-
- // pause() when stopped and paused.
- audio.pause();
- QCOMPARE(audio.isPlaying(), true);
- QCOMPARE(audio.isPaused(), true);
- QCOMPARE(provider.playerControl()->state(), QMediaPlayer::PausedState);
- QCOMPARE(playingChangedSpy.count(), ++playingChanged);
- QCOMPARE(pausedChangedSpy.count(), pausedChanged);
- QCOMPARE(startedSpy.count(), ++started);
- QCOMPARE(pausedSpy.count(), ++paused);
- QCOMPARE(resumedSpy.count(), resumed);
- QCOMPARE(stoppedSpy.count(), stopped);
-
- // setPlaying(false) when paused.
- audio.setPlaying(false);
- QCOMPARE(audio.isPlaying(), false);
- QCOMPARE(audio.isPaused(), true);
- QCOMPARE(provider.playerControl()->state(), QMediaPlayer::StoppedState);
- QCOMPARE(playingChangedSpy.count(), ++playingChanged);
- QCOMPARE(pausedChangedSpy.count(), pausedChanged);
- QCOMPARE(startedSpy.count(), started);
- QCOMPARE(pausedSpy.count(), paused);
- QCOMPARE(resumedSpy.count(), resumed);
- QCOMPARE(stoppedSpy.count(), ++stopped);
-
- // play() when stopped and paused.
- audio.play();
- QCOMPARE(audio.isPlaying(), true);
- QCOMPARE(audio.isPaused(), false);
- QCOMPARE(provider.playerControl()->state(), QMediaPlayer::PlayingState);
- QCOMPARE(playingChangedSpy.count(), ++playingChanged);
- QCOMPARE(pausedChangedSpy.count(), ++pausedChanged);
- QCOMPARE(startedSpy.count(), ++started);
- QCOMPARE(pausedSpy.count(), paused);
- QCOMPARE(resumedSpy.count(), resumed);
- QCOMPARE(stoppedSpy.count(), stopped);
-}
-
-void tst_QDeclarativeAudio::duration()
-{
- QtTestMediaServiceProvider provider;
- QDeclarativeAudio audio;
-
- audio.componentComplete();
-
- QSignalSpy spy(&audio, SIGNAL(durationChanged()));
-
- QCOMPARE(audio.duration(), 0);
-
- provider.playerControl()->setDuration(4040);
- QCOMPARE(audio.duration(), 4040);
- QCOMPARE(spy.count(), 1);
-
- provider.playerControl()->setDuration(-129);
- QCOMPARE(audio.duration(), -129);
- QCOMPARE(spy.count(), 2);
-
- provider.playerControl()->setDuration(0);
- QCOMPARE(audio.duration(), 0);
- QCOMPARE(spy.count(), 3);
-
- // Unnecessary duration changed signals aren't filtered.
- provider.playerControl()->setDuration(0);
- QCOMPARE(audio.duration(), 0);
- QCOMPARE(spy.count(), 4);
-}
-
-void tst_QDeclarativeAudio::position()
-{
- QtTestMediaServiceProvider provider;
- QDeclarativeAudio audio;
- audio.componentComplete();
-
- QSignalSpy spy(&audio, SIGNAL(positionChanged()));
-
- QCOMPARE(audio.position(), 0);
-
- // QDeclarativeAudio won't bound set positions to the duration. A media service may though.
- QCOMPARE(audio.duration(), 0);
-
- audio.setPosition(450);
- QCOMPARE(audio.position(), 450);
- QCOMPARE(provider.playerControl()->position(), qint64(450));
- QCOMPARE(spy.count(), 1);
-
- audio.setPosition(-5403);
- QCOMPARE(audio.position(), -5403);
- QCOMPARE(provider.playerControl()->position(), qint64(-5403));
- QCOMPARE(spy.count(), 2);
-
- audio.setPosition(-5403);
- QCOMPARE(audio.position(), -5403);
- QCOMPARE(provider.playerControl()->position(), qint64(-5403));
- QCOMPARE(spy.count(), 2);
-
- // Check the signal change signal is emitted if the change originates from the media service.
- provider.playerControl()->setPosition(0);
- QCOMPARE(audio.position(), 0);
- QCOMPARE(spy.count(), 3);
-
- connect(&audio, SIGNAL(positionChanged()), &QTestEventLoop::instance(), SLOT(exitLoop()));
-
- provider.playerControl()->updateState(QMediaPlayer::PlayingState);
- QTestEventLoop::instance().enterLoop(1);
- QVERIFY(spy.count() > 3 && spy.count() < 6); // 4 or 5
-
- provider.playerControl()->updateState(QMediaPlayer::PausedState);
- QTestEventLoop::instance().enterLoop(1);
- QVERIFY(spy.count() < 6);
-}
-
-void tst_QDeclarativeAudio::volume()
-{
- QtTestMediaServiceProvider provider;
- QDeclarativeAudio audio;
- audio.componentComplete();
-
- QSignalSpy spy(&audio, SIGNAL(volumeChanged()));
-
- QCOMPARE(audio.volume(), qreal(1.0));
-
- audio.setVolume(0.7);
- QCOMPARE(audio.volume(), qreal(0.7));
- QCOMPARE(provider.playerControl()->volume(), 70);
- QCOMPARE(spy.count(), 1);
-
- audio.setVolume(0.7);
- QCOMPARE(audio.volume(), qreal(0.7));
- QCOMPARE(provider.playerControl()->volume(), 70);
- QCOMPARE(spy.count(), 1);
-
- provider.playerControl()->setVolume(30);
- QCOMPARE(audio.volume(), qreal(0.3));
- QCOMPARE(spy.count(), 2);
-}
-
-void tst_QDeclarativeAudio::muted()
-{
- QtTestMediaServiceProvider provider;
- QDeclarativeAudio audio;
- audio.componentComplete();
-
- QSignalSpy spy(&audio, SIGNAL(mutedChanged()));
-
- QCOMPARE(audio.isMuted(), false);
-
- audio.setMuted(true);
- QCOMPARE(audio.isMuted(), true);
- QCOMPARE(provider.playerControl()->isMuted(), true);
- QCOMPARE(spy.count(), 1);
-
- provider.playerControl()->setMuted(false);
- QCOMPARE(audio.isMuted(), false);
- QCOMPARE(spy.count(), 2);
-
- audio.setMuted(false);
- QCOMPARE(audio.isMuted(), false);
- QCOMPARE(provider.playerControl()->isMuted(), false);
- QCOMPARE(spy.count(), 3);
-}
-
-void tst_QDeclarativeAudio::bufferProgress()
-{
- QtTestMediaServiceProvider provider;
- QDeclarativeAudio audio;
-
- audio.componentComplete();
-
- QSignalSpy spy(&audio, SIGNAL(bufferProgressChanged()));
-
- QCOMPARE(audio.bufferProgress(), qreal(0.0));
-
- provider.playerControl()->setBufferStatus(20);
- QCOMPARE(audio.bufferProgress(), qreal(0.2));
- QCOMPARE(spy.count(), 1);
-
- provider.playerControl()->setBufferStatus(20);
- QCOMPARE(audio.bufferProgress(), qreal(0.2));
- QCOMPARE(spy.count(), 2);
-
- provider.playerControl()->setBufferStatus(40);
- QCOMPARE(audio.bufferProgress(), qreal(0.4));
- QCOMPARE(spy.count(), 3);
-
- connect(&audio, SIGNAL(positionChanged()), &QTestEventLoop::instance(), SLOT(exitLoop()));
-
- provider.playerControl()->updateMediaStatus(
- QMediaPlayer::BufferingMedia, QMediaPlayer::PlayingState);
- QTestEventLoop::instance().enterLoop(1);
- QVERIFY(spy.count() > 3 && spy.count() < 6); // 4 or 5
-
- provider.playerControl()->updateMediaStatus(QMediaPlayer::BufferedMedia);
- QTestEventLoop::instance().enterLoop(1);
- QVERIFY(spy.count() < 6);
-}
-
-void tst_QDeclarativeAudio::seekable()
-{
- QtTestMediaServiceProvider provider;
- QDeclarativeAudio audio;
-
- audio.componentComplete();
-
- QSignalSpy spy(&audio, SIGNAL(seekableChanged()));
-
- QCOMPARE(audio.isSeekable(), false);
-
- provider.playerControl()->setSeekable(true);
- QCOMPARE(audio.isSeekable(), true);
- QCOMPARE(spy.count(), 1);
-
- provider.playerControl()->setSeekable(true);
- QCOMPARE(audio.isSeekable(), true);
- QCOMPARE(spy.count(), 2);
-
- provider.playerControl()->setSeekable(false);
- QCOMPARE(audio.isSeekable(), false);
- QCOMPARE(spy.count(), 3);
-}
-
-void tst_QDeclarativeAudio::playbackRate()
-{
- QtTestMediaServiceProvider provider;
- QDeclarativeAudio audio;
-
- audio.componentComplete();
-
- QSignalSpy spy(&audio, SIGNAL(playbackRateChanged()));
-
- QCOMPARE(audio.playbackRate(), qreal(1.0));
-
- audio.setPlaybackRate(0.5);
- QCOMPARE(audio.playbackRate(), qreal(0.5));
- QCOMPARE(provider.playerControl()->playbackRate(), qreal(0.5));
- QCOMPARE(spy.count(), 1);
-
- provider.playerControl()->setPlaybackRate(2.0);
- QCOMPARE(provider.playerControl()->playbackRate(), qreal(2.0));
- QCOMPARE(spy.count(), 2);
-
- audio.setPlaybackRate(2.0);
- QCOMPARE(audio.playbackRate(), qreal(2.0));
- QCOMPARE(provider.playerControl()->playbackRate(), qreal(2.0));
- QCOMPARE(spy.count(), 3);
-}
-
-void tst_QDeclarativeAudio::status()
-{
- QtTestMediaServiceProvider provider;
- QDeclarativeAudio audio;
-
- audio.componentComplete();
-
- QSignalSpy statusChangedSpy(&audio, SIGNAL(statusChanged()));
- QSignalSpy loadedSpy(&audio, SIGNAL(loaded()));
- QSignalSpy bufferingSpy(&audio, SIGNAL(buffering()));
- QSignalSpy stalledSpy(&audio, SIGNAL(stalled()));
- QSignalSpy bufferedSpy(&audio, SIGNAL(buffered()));
- QSignalSpy endOfMediaSpy(&audio, SIGNAL(endOfMedia()));
-
- QCOMPARE(audio.status(), QDeclarativeAudio::NoMedia);
-
- // Set media, start loading.
- provider.playerControl()->updateMediaStatus(QMediaPlayer::LoadingMedia);
- QCOMPARE(audio.status(), QDeclarativeAudio::Loading);
- QCOMPARE(statusChangedSpy.count(), 1);
- QCOMPARE(loadedSpy.count(), 0);
- QCOMPARE(bufferingSpy.count(), 0);
- QCOMPARE(stalledSpy.count(), 0);
- QCOMPARE(bufferedSpy.count(), 0);
- QCOMPARE(endOfMediaSpy.count(), 0);
-
- // Finish loading.
- provider.playerControl()->updateMediaStatus(QMediaPlayer::LoadedMedia);
- QCOMPARE(audio.status(), QDeclarativeAudio::Loaded);
- QCOMPARE(statusChangedSpy.count(), 2);
- QCOMPARE(loadedSpy.count(), 1);
- QCOMPARE(bufferingSpy.count(), 0);
- QCOMPARE(stalledSpy.count(), 0);
- QCOMPARE(bufferedSpy.count(), 0);
- QCOMPARE(endOfMediaSpy.count(), 0);
-
- // Play, start buffering.
- provider.playerControl()->updateMediaStatus(
- QMediaPlayer::StalledMedia, QMediaPlayer::PlayingState);
- QCOMPARE(audio.status(), QDeclarativeAudio::Stalled);
- QCOMPARE(statusChangedSpy.count(), 3);
- QCOMPARE(loadedSpy.count(), 1);
- QCOMPARE(bufferingSpy.count(), 0);
- QCOMPARE(stalledSpy.count(), 1);
- QCOMPARE(bufferedSpy.count(), 0);
- QCOMPARE(endOfMediaSpy.count(), 0);
-
- // Enough data buffered to proceed.
- provider.playerControl()->updateMediaStatus(QMediaPlayer::BufferingMedia);
- QCOMPARE(audio.status(), QDeclarativeAudio::Buffering);
- QCOMPARE(statusChangedSpy.count(), 4);
- QCOMPARE(loadedSpy.count(), 1);
- QCOMPARE(bufferingSpy.count(), 1);
- QCOMPARE(stalledSpy.count(), 1);
- QCOMPARE(bufferedSpy.count(), 0);
- QCOMPARE(endOfMediaSpy.count(), 0);
-
- // Errant second buffering status changed.
- provider.playerControl()->updateMediaStatus(QMediaPlayer::BufferingMedia);
- QCOMPARE(audio.status(), QDeclarativeAudio::Buffering);
- QCOMPARE(statusChangedSpy.count(), 4);
- QCOMPARE(loadedSpy.count(), 1);
- QCOMPARE(bufferingSpy.count(), 1);
- QCOMPARE(stalledSpy.count(), 1);
- QCOMPARE(bufferedSpy.count(), 0);
- QCOMPARE(endOfMediaSpy.count(), 0);
-
- // Buffer full.
- provider.playerControl()->updateMediaStatus(QMediaPlayer::BufferedMedia);
- QCOMPARE(audio.status(), QDeclarativeAudio::Buffered);
- QCOMPARE(statusChangedSpy.count(), 5);
- QCOMPARE(loadedSpy.count(), 1);
- QCOMPARE(bufferingSpy.count(), 1);
- QCOMPARE(stalledSpy.count(), 1);
- QCOMPARE(bufferedSpy.count(), 1);
- QCOMPARE(endOfMediaSpy.count(), 0);
-
- // Buffer getting low.
- provider.playerControl()->updateMediaStatus(QMediaPlayer::BufferingMedia);
- QCOMPARE(audio.status(), QDeclarativeAudio::Buffering);
- QCOMPARE(statusChangedSpy.count(), 6);
- QCOMPARE(loadedSpy.count(), 1);
- QCOMPARE(bufferingSpy.count(), 2);
- QCOMPARE(stalledSpy.count(), 1);
- QCOMPARE(bufferedSpy.count(), 1);
- QCOMPARE(endOfMediaSpy.count(), 0);
-
- // Buffer full.
- provider.playerControl()->updateMediaStatus(QMediaPlayer::BufferedMedia);
- QCOMPARE(audio.status(), QDeclarativeAudio::Buffered);
- QCOMPARE(statusChangedSpy.count(), 7);
- QCOMPARE(loadedSpy.count(), 1);
- QCOMPARE(bufferingSpy.count(), 2);
- QCOMPARE(stalledSpy.count(), 1);
- QCOMPARE(bufferedSpy.count(), 2);
- QCOMPARE(endOfMediaSpy.count(), 0);
-
- // Finished.
- provider.playerControl()->updateMediaStatus(
- QMediaPlayer::EndOfMedia, QMediaPlayer::StoppedState);
- QCOMPARE(audio.status(), QDeclarativeAudio::EndOfMedia);
- QCOMPARE(statusChangedSpy.count(), 8);
- QCOMPARE(loadedSpy.count(), 1);
- QCOMPARE(bufferingSpy.count(), 2);
- QCOMPARE(stalledSpy.count(), 1);
- QCOMPARE(bufferedSpy.count(), 2);
- QCOMPARE(endOfMediaSpy.count(), 1);
-}
-
-void tst_QDeclarativeAudio::metaData_data()
-{
- QTest::addColumn<QByteArray>("propertyName");
- QTest::addColumn<QtMediaServices::MetaData>("propertyKey");
- QTest::addColumn<QVariant>("value1");
- QTest::addColumn<QVariant>("value2");
-
- QTest::newRow("title")
- << QByteArray("title")
- << QtMediaServices::Title
- << QVariant(QString::fromLatin1("This is a title"))
- << QVariant(QString::fromLatin1("This is another title"));
-
- QTest::newRow("genre")
- << QByteArray("genre")
- << QtMediaServices::Genre
- << QVariant(QString::fromLatin1("rock"))
- << QVariant(QString::fromLatin1("pop"));
-
- QTest::newRow("trackNumber")
- << QByteArray("trackNumber")
- << QtMediaServices::TrackNumber
- << QVariant(8)
- << QVariant(12);
-}
-
-void tst_QDeclarativeAudio::metaData()
-{
- QFETCH(QByteArray, propertyName);
- QFETCH(QtMediaServices::MetaData, propertyKey);
- QFETCH(QVariant, value1);
- QFETCH(QVariant, value2);
-
- QtTestMediaServiceProvider provider;
- QDeclarativeAudio audio;
-
- audio.componentComplete();
-
- QSignalSpy spy(&audio, SIGNAL(__metaDataChanged()));
-
- const int index = audio.metaObject()->indexOfProperty(propertyName.constData());
- QVERIFY(index != -1);
-
- QMetaProperty property = audio.metaObject()->property(index);
- QCOMPARE(property.read(&audio), QVariant());
-
- property.write(&audio, value1);
- QCOMPARE(property.read(&audio), value1);
- QCOMPARE(provider.metaDataControl()->metaData(propertyKey), value1);
- QCOMPARE(spy.count(), 1);
-
- provider.metaDataControl()->setMetaData(propertyKey, value2);
- QCOMPARE(property.read(&audio), value2);
- QCOMPARE(spy.count(), 2);
-}
-
-void tst_QDeclarativeAudio::error()
-{
- const QString errorString = QLatin1String("Failed to open device.");
-
- QtTestMediaServiceProvider provider;
- QDeclarativeAudio audio;
-
- audio.componentComplete();
-
- QSignalSpy errorSpy(&audio, SIGNAL(error(QDeclarativeAudio::Error,QString)));
- QSignalSpy errorChangedSpy(&audio, SIGNAL(errorChanged()));
-
- QCOMPARE(audio.error(), QDeclarativeAudio::NoError);
- QCOMPARE(audio.errorString(), QString());
-
- provider.playerControl()->emitError(QMediaPlayer::ResourceError, errorString);
-
- QCOMPARE(audio.error(), QDeclarativeAudio::ResourceError);
- QCOMPARE(audio.errorString(), errorString);
- QCOMPARE(errorSpy.count(), 1);
- QCOMPARE(errorChangedSpy.count(), 1);
-
- // Changing the source resets the error properties.
- audio.setSource(QUrl("http://example.com"));
- QCOMPARE(audio.error(), QDeclarativeAudio::NoError);
- QCOMPARE(audio.errorString(), QString());
- QCOMPARE(errorSpy.count(), 1);
- QCOMPARE(errorChangedSpy.count(), 2);
-
- // But isn't noisy.
- audio.setSource(QUrl("file:///file/path"));
- QCOMPARE(audio.error(), QDeclarativeAudio::NoError);
- QCOMPARE(audio.errorString(), QString());
- QCOMPARE(errorSpy.count(), 1);
- QCOMPARE(errorChangedSpy.count(), 2);
-}
-
-
-QTEST_MAIN(tst_QDeclarativeAudio)
-
-#include "tst_qdeclarativeaudio.moc"
diff --git a/tests/auto/qdeclarativevideo/qdeclarativevideo.pro b/tests/auto/qdeclarativevideo/qdeclarativevideo.pro
deleted file mode 100644
index 64a20da3b0..0000000000
--- a/tests/auto/qdeclarativevideo/qdeclarativevideo.pro
+++ /dev/null
@@ -1,14 +0,0 @@
-load(qttest_p4)
-
-HEADERS += \
- $$PWD/../../../src/imports/multimedia/qdeclarativevideo_p.h \
- $$PWD/../../../src/imports/multimedia/qdeclarativemediabase_p.h \
- $$PWD/../../../src/imports/multimedia/qmetadatacontrolmetaobject_p.h
-
-SOURCES += \
- tst_qdeclarativevideo.cpp \
- $$PWD/../../../src/imports/multimedia/qdeclarativevideo.cpp \
- $$PWD/../../../src/imports/multimedia/qdeclarativemediabase.cpp \
- $$PWD/../../../src/imports/multimedia/qmetadatacontrolmetaobject.cpp
-
-QT += multimedia mediaservices declarative
diff --git a/tests/auto/qdeclarativevideo/tst_qdeclarativevideo.cpp b/tests/auto/qdeclarativevideo/tst_qdeclarativevideo.cpp
deleted file mode 100644
index 99b447a8ef..0000000000
--- a/tests/auto/qdeclarativevideo/tst_qdeclarativevideo.cpp
+++ /dev/null
@@ -1,921 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the test suite of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include <QtTest/QtTest>
-
-#include "../../../src/imports/multimedia/qdeclarativevideo_p.h"
-
-#include <QtGui/qapplication.h>
-#include <QtMultimedia/qabstractvideosurface.h>
-#include <QtMediaServices/qgraphicsvideoitem.h>
-#include <QtMediaServices/qmediaplayercontrol.h>
-#include <QtMediaServices/qmediaservice.h>
-#include <QtMediaServices/qvideooutputcontrol.h>
-#include <QtMediaServices/qvideorenderercontrol.h>
-#include <QtMultimedia/qvideosurfaceformat.h>
-
-
-class tst_QDeclarativeVideo : public QObject
-{
- Q_OBJECT
-public slots:
- void initTestCase();
-
-private slots:
- void nullPlayerControl();
- void nullService();
-
- void playing();
- void paused();
- void error();
-
- void hasAudio();
- void hasVideo();
- void fillMode();
- void geometry();
-};
-
-Q_DECLARE_METATYPE(QtMediaServices::MetaData);
-Q_DECLARE_METATYPE(QDeclarativeVideo::Error);
-
-class QtTestMediaPlayerControl : public QMediaPlayerControl
-{
- Q_OBJECT
-public:
- QtTestMediaPlayerControl(QObject *parent = 0)
- : QMediaPlayerControl(parent)
- , m_state(QMediaPlayer::StoppedState)
- , m_mediaStatus(QMediaPlayer::NoMedia)
- , m_duration(0)
- , m_position(0)
- , m_playbackRate(1.0)
- , m_volume(50)
- , m_bufferStatus(0)
- , m_muted(false)
- , m_audioAvailable(false)
- , m_videoAvailable(false)
- , m_seekable(false)
- {
- }
-
- QMediaPlayer::State state() const { return m_state; }
- void updateState(QMediaPlayer::State state) { emit stateChanged(m_state = state); }
-
- QMediaPlayer::MediaStatus mediaStatus() const { return m_mediaStatus; }
- void updateMediaStatus(QMediaPlayer::MediaStatus status) {
- emit mediaStatusChanged(m_mediaStatus = status); }
- void updateMediaStatus(QMediaPlayer::MediaStatus status, QMediaPlayer::State state)
- {
- m_mediaStatus = status;
- m_state = state;
-
- emit mediaStatusChanged(m_mediaStatus);
- emit stateChanged(m_state);
- }
-
- qint64 duration() const { return m_duration; }
- void setDuration(qint64 duration) { emit durationChanged(m_duration = duration); }
-
- qint64 position() const { return m_position; }
- void setPosition(qint64 position) { emit positionChanged(m_position = position); }
-
- int volume() const { return m_volume; }
- void setVolume(int volume) { emit volumeChanged(m_volume = volume); }
-
- bool isMuted() const { return m_muted; }
- void setMuted(bool muted) { emit mutedChanged(m_muted = muted); }
-
- int bufferStatus() const { return m_bufferStatus; }
- void setBufferStatus(int status) { emit bufferStatusChanged(m_bufferStatus = status); }
-
- bool isAudioAvailable() const { return m_audioAvailable; }
- void setAudioAvailable(bool available) {
- emit audioAvailableChanged(m_audioAvailable = available); }
- bool isVideoAvailable() const { return m_videoAvailable; }
- void setVideoAvailable(bool available) {
- emit videoAvailableChanged(m_videoAvailable = available); }
-
- bool isSeekable() const { return m_seekable; }
- void setSeekable(bool seekable) { emit seekableChanged(m_seekable = seekable); }
-
- QMediaTimeRange availablePlaybackRanges() const { return QMediaTimeRange(); }
-
- qreal playbackRate() const { return m_playbackRate; }
- void setPlaybackRate(qreal rate) { emit playbackRateChanged(m_playbackRate = rate); }
-
- QMediaContent media() const { return m_media; }
- const QIODevice *mediaStream() const { return 0; }
- void setMedia(const QMediaContent &media, QIODevice *)
- {
- m_media = media;
-
- m_mediaStatus = m_media.isNull()
- ? QMediaPlayer::NoMedia
- : QMediaPlayer::LoadingMedia;
-
- emit mediaChanged(m_media);
- emit mediaStatusChanged(m_mediaStatus);
- }
-
- void play() { emit stateChanged(m_state = QMediaPlayer::PlayingState); }
- void pause() { emit stateChanged(m_state = QMediaPlayer::PausedState); }
- void stop() { emit stateChanged(m_state = QMediaPlayer::StoppedState); }
-
- void emitError(QMediaPlayer::Error err, const QString &errorString) {
- emit error(err, errorString); }
-
-private:
- QMediaPlayer::State m_state;
- QMediaPlayer::MediaStatus m_mediaStatus;
- qint64 m_duration;
- qint64 m_position;
- qreal m_playbackRate;
- int m_volume;
- int m_bufferStatus;
- bool m_muted;
- bool m_audioAvailable;
- bool m_videoAvailable;
- bool m_seekable;
- QMediaContent m_media;
-};
-
-class QtTestOutputControl : public QVideoOutputControl
-{
-public:
- QtTestOutputControl(QObject *parent) : QVideoOutputControl(parent), m_output(NoOutput) {}
-
- QList<Output> availableOutputs() const { return m_outputs; }
- void setAvailableOutputs(const QList<Output> outputs) { m_outputs = outputs; }
-
- Output output() const { return m_output; }
- virtual void setOutput(Output output) { m_output = output; }
-
-private:
- Output m_output;
- QList<Output> m_outputs;
-};
-
-class QtTestRendererControl : public QVideoRendererControl
-{
-public:
- QtTestRendererControl(QObject *parent ) : QVideoRendererControl(parent), m_surface(0) {}
-
- QAbstractVideoSurface *surface() const { return m_surface; }
- void setSurface(QAbstractVideoSurface *surface) { m_surface = surface; }
-
-private:
- QAbstractVideoSurface *m_surface;
-};
-
-class QtTestMediaService : public QMediaService
-{
- Q_OBJECT
-public:
- QtTestMediaService(
- QtTestMediaPlayerControl *playerControl,
- QtTestOutputControl *outputControl,
- QtTestRendererControl *rendererControl,
- QObject *parent)
- : QMediaService(parent)
- , playerControl(playerControl)
- , outputControl(outputControl)
- , rendererControl(rendererControl)
- {
- }
-
- QMediaControl *control(const char *name) const
- {
- if (qstrcmp(name, QMediaPlayerControl_iid) == 0)
- return playerControl;
- else if (qstrcmp(name, QVideoOutputControl_iid) == 0)
- return outputControl;
- else if (qstrcmp(name, QVideoRendererControl_iid) == 0)
- return rendererControl;
- else
- return 0;
- }
-
- QtTestMediaPlayerControl *playerControl;
- QtTestOutputControl *outputControl;
- QtTestRendererControl *rendererControl;
-};
-
-class QtTestMediaServiceProvider : public QMediaServiceProvider
-{
- Q_OBJECT
-public:
- QtTestMediaServiceProvider()
- : service(new QtTestMediaService(
- new QtTestMediaPlayerControl(this),
- new QtTestOutputControl(this),
- new QtTestRendererControl(this),
- this))
- {
- setDefaultServiceProvider(this);
- }
-
- QtTestMediaServiceProvider(QtTestMediaService *service)
- : service(service)
- {
- setDefaultServiceProvider(this);
- }
-
- QtTestMediaServiceProvider(
- QtTestMediaPlayerControl *playerControl,
- QtTestOutputControl *outputControl,
- QtTestRendererControl *rendererControl)
- : service(new QtTestMediaService(playerControl, outputControl, rendererControl, this))
- {
- setDefaultServiceProvider(this);
- }
-
- ~QtTestMediaServiceProvider()
- {
- setDefaultServiceProvider(0);
- }
-
- QMediaService *requestService(
- const QByteArray &type,
- const QMediaServiceProviderHint & = QMediaServiceProviderHint())
- {
- requestedService = type;
-
- return service;
- }
-
- void releaseService(QMediaService *) {}
-
- inline QtTestMediaPlayerControl *playerControl() { return service->playerControl; }
- inline QtTestRendererControl *rendererControl() { return service->rendererControl; }
-
- QtTestMediaService *service;
- QByteArray requestedService;
-};
-
-
-void tst_QDeclarativeVideo::initTestCase()
-{
- qRegisterMetaType<QDeclarativeVideo::Error>();
-}
-
-void tst_QDeclarativeVideo::nullPlayerControl()
-{
- QtTestMediaServiceProvider provider(0, 0, 0);
-
- QDeclarativeVideo video;
-
- QCOMPARE(video.source(), QUrl());
- video.setSource(QUrl("http://example.com"));
- QCOMPARE(video.source(), QUrl("http://example.com"));
-
- QCOMPARE(video.isPlaying(), false);
- video.setPlaying(true);
- QCOMPARE(video.isPlaying(), true);
- video.setPlaying(false);
- video.play();
- QCOMPARE(video.isPlaying(), false);
-
- QCOMPARE(video.isPaused(), false);
- video.pause();
- QCOMPARE(video.isPaused(), false);
- video.setPaused(true);
- QCOMPARE(video.isPaused(), true);
-
- QCOMPARE(video.duration(), 0);
-
- QCOMPARE(video.position(), 0);
- video.setPosition(10000);
- QCOMPARE(video.position(), 10000);
-
- QCOMPARE(video.volume(), qreal(1.0));
- video.setVolume(0.5);
- QCOMPARE(video.volume(), qreal(0.5));
-
- QCOMPARE(video.isMuted(), false);
- video.setMuted(true);
- QCOMPARE(video.isMuted(), true);
-
- QCOMPARE(video.bufferProgress(), qreal(0));
-
- QCOMPARE(video.isSeekable(), false);
-
- QCOMPARE(video.playbackRate(), qreal(1.0));
-
- QCOMPARE(video.hasAudio(), false);
- QCOMPARE(video.hasVideo(), false);
-
- QCOMPARE(video.status(), QDeclarativeVideo::NoMedia);
-
- QCOMPARE(video.error(), QDeclarativeVideo::ServiceMissing);
-}
-
-void tst_QDeclarativeVideo::nullService()
-{
- QtTestMediaServiceProvider provider(0);
-
- QDeclarativeVideo video;
-
- QCOMPARE(video.source(), QUrl());
- video.setSource(QUrl("http://example.com"));
- QCOMPARE(video.source(), QUrl("http://example.com"));
-
- QCOMPARE(video.isPlaying(), false);
- video.setPlaying(true);
- QCOMPARE(video.isPlaying(), true);
- video.setPlaying(false);
- video.play();
- QCOMPARE(video.isPlaying(), false);
-
- QCOMPARE(video.isPaused(), false);
- video.pause();
- QCOMPARE(video.isPaused(), false);
- video.setPaused(true);
- QCOMPARE(video.isPaused(), true);
-
- QCOMPARE(video.duration(), 0);
-
- QCOMPARE(video.position(), 0);
- video.setPosition(10000);
- QCOMPARE(video.position(), 10000);
-
- QCOMPARE(video.volume(), qreal(1.0));
- video.setVolume(0.5);
- QCOMPARE(video.volume(), qreal(0.5));
-
- QCOMPARE(video.isMuted(), false);
- video.setMuted(true);
- QCOMPARE(video.isMuted(), true);
-
- QCOMPARE(video.bufferProgress(), qreal(0));
-
- QCOMPARE(video.isSeekable(), false);
-
- QCOMPARE(video.playbackRate(), qreal(1.0));
-
- QCOMPARE(video.hasAudio(), false);
- QCOMPARE(video.hasVideo(), false);
-
- QCOMPARE(video.status(), QDeclarativeVideo::NoMedia);
-
- QCOMPARE(video.error(), QDeclarativeVideo::ServiceMissing);
-
- QCOMPARE(video.metaObject()->indexOfProperty("title"), -1);
- QCOMPARE(video.metaObject()->indexOfProperty("genre"), -1);
- QCOMPARE(video.metaObject()->indexOfProperty("description"), -1);
-}
-
-void tst_QDeclarativeVideo::playing()
-{
- QtTestMediaServiceProvider provider;
- QDeclarativeVideo video;
- video.componentComplete();
-
- QSignalSpy playingChangedSpy(&video, SIGNAL(playingChanged()));
- QSignalSpy startedSpy(&video, SIGNAL(started()));
- QSignalSpy stoppedSpy(&video, SIGNAL(stopped()));
-
- int playingChanged = 0;
- int started = 0;
- int stopped = 0;
-
- QCOMPARE(video.isPlaying(), false);
-
- // setPlaying(true) when stopped.
- video.setPlaying(true);
- QCOMPARE(video.isPlaying(), true);
- QCOMPARE(provider.playerControl()->state(), QMediaPlayer::PlayingState);
- QCOMPARE(playingChangedSpy.count(), ++playingChanged);
- QCOMPARE(startedSpy.count(), ++started);
- QCOMPARE(stoppedSpy.count(), stopped);
-
- // setPlaying(false) when playing.
- video.setPlaying(false);
- QCOMPARE(video.isPlaying(), false);
- QCOMPARE(provider.playerControl()->state(), QMediaPlayer::StoppedState);
- QCOMPARE(playingChangedSpy.count(), ++playingChanged);
- QCOMPARE(startedSpy.count(), started);
- QCOMPARE(stoppedSpy.count(), ++stopped);
-
- // play() when stopped.
- video.play();
- QCOMPARE(video.isPlaying(), true);
- QCOMPARE(provider.playerControl()->state(), QMediaPlayer::PlayingState);
- QCOMPARE(playingChangedSpy.count(), ++playingChanged);
- QCOMPARE(startedSpy.count(), ++started);
- QCOMPARE(stoppedSpy.count(), stopped);
-
- // stop() when playing.
- video.stop();
- QCOMPARE(video.isPlaying(), false);
- QCOMPARE(provider.playerControl()->state(), QMediaPlayer::StoppedState);
- QCOMPARE(playingChangedSpy.count(), ++playingChanged);
- QCOMPARE(startedSpy.count(), started);
- QCOMPARE(stoppedSpy.count(), ++stopped);
-
- // stop() when stopped.
- video.stop();
- QCOMPARE(video.isPlaying(), false);
- QCOMPARE(provider.playerControl()->state(), QMediaPlayer::StoppedState);
- QCOMPARE(playingChangedSpy.count(), playingChanged);
- QCOMPARE(startedSpy.count(), started);
- QCOMPARE(stoppedSpy.count(), stopped);
-
- // setPlaying(false) when stopped.
- video.setPlaying(false);
- QCOMPARE(video.isPlaying(), false);
- QCOMPARE(provider.playerControl()->state(), QMediaPlayer::StoppedState);
- QCOMPARE(playingChangedSpy.count(), playingChanged);
- QCOMPARE(startedSpy.count(), started);
- QCOMPARE(stoppedSpy.count(), stopped);
-
- video.setPlaying(true);
- QCOMPARE(video.isPlaying(), true);
- QCOMPARE(provider.playerControl()->state(), QMediaPlayer::PlayingState);
- QCOMPARE(playingChangedSpy.count(), ++playingChanged);
- QCOMPARE(startedSpy.count(), ++started);
- QCOMPARE(stoppedSpy.count(), stopped);
-
- // setPlaying(true) when playing.
- video.setPlaying(true);
- QCOMPARE(video.isPlaying(), true);
- QCOMPARE(provider.playerControl()->state(), QMediaPlayer::PlayingState);
- QCOMPARE(playingChangedSpy.count(), playingChanged);
- QCOMPARE(startedSpy.count(), started);
- QCOMPARE(stoppedSpy.count(), stopped);
-
- // play() when playing.
- video.play();
- QCOMPARE(video.isPlaying(), true);
- QCOMPARE(provider.playerControl()->state(), QMediaPlayer::PlayingState);
- QCOMPARE(playingChangedSpy.count(), playingChanged);
- QCOMPARE(startedSpy.count(), started);
- QCOMPARE(stoppedSpy.count(), stopped);
-}
-
-void tst_QDeclarativeVideo::paused()
-{
- QtTestMediaServiceProvider provider;
- QDeclarativeVideo video;
- video.componentComplete();
-
- QSignalSpy playingChangedSpy(&video, SIGNAL(playingChanged()));
- QSignalSpy pausedChangedSpy(&video, SIGNAL(pausedChanged()));
- QSignalSpy startedSpy(&video, SIGNAL(started()));
- QSignalSpy pausedSpy(&video, SIGNAL(paused()));
- QSignalSpy resumedSpy(&video, SIGNAL(resumed()));
- QSignalSpy stoppedSpy(&video, SIGNAL(stopped()));
-
- int playingChanged = 0;
- int pausedChanged = 0;
- int started = 0;
- int paused = 0;
- int resumed = 0;
- int stopped = 0;
-
- QCOMPARE(video.isPlaying(), false);
- QCOMPARE(video.isPaused(), false);
-
- // setPlaying(true) when stopped.
- video.setPlaying(true);
- QCOMPARE(video.isPlaying(), true);
- QCOMPARE(video.isPaused(), false);
- QCOMPARE(provider.playerControl()->state(), QMediaPlayer::PlayingState);
- QCOMPARE(playingChangedSpy.count(), ++playingChanged);
- QCOMPARE(pausedChangedSpy.count(), pausedChanged);
- QCOMPARE(startedSpy.count(), ++started);
- QCOMPARE(pausedSpy.count(), paused);
- QCOMPARE(resumedSpy.count(), resumed);
- QCOMPARE(stoppedSpy.count(), stopped);
-
- // setPaused(true) when playing.
- video.setPaused(true);
- QCOMPARE(video.isPlaying(), true);
- QCOMPARE(video.isPaused(), true);
- QCOMPARE(provider.playerControl()->state(), QMediaPlayer::PausedState);
- QCOMPARE(playingChangedSpy.count(), playingChanged);
- QCOMPARE(pausedChangedSpy.count(), ++pausedChanged);
- QCOMPARE(startedSpy.count(), started);
- QCOMPARE(pausedSpy.count(), ++paused);
- QCOMPARE(resumedSpy.count(), resumed);
- QCOMPARE(stoppedSpy.count(), stopped);
-
- // setPaused(true) when paused.
- video.setPaused(true);
- QCOMPARE(video.isPlaying(), true);
- QCOMPARE(video.isPaused(), true);
- QCOMPARE(provider.playerControl()->state(), QMediaPlayer::PausedState);
- QCOMPARE(playingChangedSpy.count(), playingChanged);
- QCOMPARE(pausedChangedSpy.count(), pausedChanged);
- QCOMPARE(startedSpy.count(), started);
- QCOMPARE(pausedSpy.count(), paused);
- QCOMPARE(resumedSpy.count(), resumed);
- QCOMPARE(stoppedSpy.count(), stopped);
-
- // pause() when paused.
- video.pause();
- QCOMPARE(video.isPlaying(), true);
- QCOMPARE(video.isPaused(), true);
- QCOMPARE(provider.playerControl()->state(), QMediaPlayer::PausedState);
- QCOMPARE(playingChangedSpy.count(), playingChanged);
- QCOMPARE(pausedChangedSpy.count(), pausedChanged);
- QCOMPARE(startedSpy.count(), started);
- QCOMPARE(pausedSpy.count(), paused);
- QCOMPARE(resumedSpy.count(), resumed);
- QCOMPARE(stoppedSpy.count(), stopped);
-
- // setPaused(false) when paused.
- video.setPaused(false);
- QCOMPARE(video.isPlaying(), true);
- QCOMPARE(video.isPaused(), false);
- QCOMPARE(provider.playerControl()->state(), QMediaPlayer::PlayingState);
- QCOMPARE(playingChangedSpy.count(), playingChanged);
- QCOMPARE(pausedChangedSpy.count(), ++pausedChanged);
- QCOMPARE(startedSpy.count(), started);
- QCOMPARE(pausedSpy.count(), paused);
- QCOMPARE(resumedSpy.count(), ++resumed);
- QCOMPARE(stoppedSpy.count(), stopped);
-
- // setPaused(false) when playing.
- video.setPaused(false);
- QCOMPARE(video.isPlaying(), true);
- QCOMPARE(video.isPaused(), false);
- QCOMPARE(provider.playerControl()->state(), QMediaPlayer::PlayingState);
- QCOMPARE(playingChangedSpy.count(), playingChanged);
- QCOMPARE(pausedChangedSpy.count(), pausedChanged);
- QCOMPARE(startedSpy.count(), started);
- QCOMPARE(pausedSpy.count(), paused);
- QCOMPARE(resumedSpy.count(), resumed);
- QCOMPARE(stoppedSpy.count(), stopped);
-
- // pause() when playing.
- video.pause();
- QCOMPARE(video.isPlaying(), true);
- QCOMPARE(video.isPaused(), true);
- QCOMPARE(provider.playerControl()->state(), QMediaPlayer::PausedState);
- QCOMPARE(playingChangedSpy.count(), playingChanged);
- QCOMPARE(pausedChangedSpy.count(), ++pausedChanged);
- QCOMPARE(startedSpy.count(), started);
- QCOMPARE(pausedSpy.count(), ++paused);
- QCOMPARE(resumedSpy.count(), resumed);
- QCOMPARE(stoppedSpy.count(), stopped);
-
- // setPlaying(false) when paused.
- video.setPlaying(false);
- QCOMPARE(video.isPlaying(), false);
- QCOMPARE(video.isPaused(), true);
- QCOMPARE(provider.playerControl()->state(), QMediaPlayer::StoppedState);
- QCOMPARE(playingChangedSpy.count(), ++playingChanged);
- QCOMPARE(pausedChangedSpy.count(), pausedChanged);
- QCOMPARE(startedSpy.count(), started);
- QCOMPARE(pausedSpy.count(), paused);
- QCOMPARE(resumedSpy.count(), resumed);
- QCOMPARE(stoppedSpy.count(), ++stopped);
-
- // setPaused(true) when stopped and paused.
- video.setPaused(true);
- QCOMPARE(video.isPlaying(), false);
- QCOMPARE(video.isPaused(), true);
- QCOMPARE(provider.playerControl()->state(), QMediaPlayer::StoppedState);
- QCOMPARE(playingChangedSpy.count(), playingChanged);
- QCOMPARE(pausedChangedSpy.count(), pausedChanged);
- QCOMPARE(startedSpy.count(), started);
- QCOMPARE(pausedSpy.count(), paused);
- QCOMPARE(resumedSpy.count(), resumed);
- QCOMPARE(stoppedSpy.count(), stopped);
-
- // setPaused(false) when stopped and paused.
- video.setPaused(false);
- QCOMPARE(video.isPlaying(), false);
- QCOMPARE(video.isPaused(), false);
- QCOMPARE(provider.playerControl()->state(), QMediaPlayer::StoppedState);
- QCOMPARE(playingChangedSpy.count(), playingChanged);
- QCOMPARE(pausedChangedSpy.count(), ++pausedChanged);
- QCOMPARE(startedSpy.count(), started);
- QCOMPARE(pausedSpy.count(), paused);
- QCOMPARE(resumedSpy.count(), resumed);
- QCOMPARE(stoppedSpy.count(), stopped);
-
- // setPaused(true) when stopped.
- video.setPaused(true);
- QCOMPARE(video.isPlaying(), false);
- QCOMPARE(video.isPaused(), true);
- QCOMPARE(provider.playerControl()->state(), QMediaPlayer::StoppedState);
- QCOMPARE(playingChangedSpy.count(), playingChanged);
- QCOMPARE(pausedChangedSpy.count(), ++pausedChanged);
- QCOMPARE(startedSpy.count(), started);
- QCOMPARE(pausedSpy.count(), paused);
- QCOMPARE(resumedSpy.count(), resumed);
- QCOMPARE(stoppedSpy.count(), stopped);
-
- // setPlaying(true) when stopped and paused.
- video.setPlaying(true);
- QCOMPARE(video.isPlaying(), true);
- QCOMPARE(video.isPaused(), true);
- QCOMPARE(provider.playerControl()->state(), QMediaPlayer::PausedState);
- QCOMPARE(playingChangedSpy.count(), ++playingChanged);
- QCOMPARE(pausedChangedSpy.count(), pausedChanged);
- QCOMPARE(startedSpy.count(), ++started);
- QCOMPARE(pausedSpy.count(), ++paused);
- QCOMPARE(resumedSpy.count(), resumed);
- QCOMPARE(stoppedSpy.count(), stopped);
-
- // play() when paused.
- video.play();
- QCOMPARE(video.isPlaying(), true);
- QCOMPARE(video.isPaused(), false);
- QCOMPARE(provider.playerControl()->state(), QMediaPlayer::PlayingState);
- QCOMPARE(playingChangedSpy.count(), playingChanged);
- QCOMPARE(pausedChangedSpy.count(), ++pausedChanged);
- QCOMPARE(startedSpy.count(), started);
- QCOMPARE(pausedSpy.count(), paused);
- QCOMPARE(resumedSpy.count(), ++resumed);
- QCOMPARE(stoppedSpy.count(), stopped);
-
- // setPaused(true) when playing.
- video.setPaused(true);
- QCOMPARE(video.isPlaying(), true);
- QCOMPARE(video.isPaused(), true);
- QCOMPARE(provider.playerControl()->state(), QMediaPlayer::PausedState);
- QCOMPARE(playingChangedSpy.count(), playingChanged);
- QCOMPARE(pausedChangedSpy.count(), ++pausedChanged);
- QCOMPARE(startedSpy.count(), started);
- QCOMPARE(pausedSpy.count(), ++paused);
- QCOMPARE(resumedSpy.count(), resumed);
- QCOMPARE(stoppedSpy.count(), stopped);
-
- // stop() when paused.
- video.stop();
- QCOMPARE(video.isPlaying(), false);
- QCOMPARE(video.isPaused(), false);
- QCOMPARE(provider.playerControl()->state(), QMediaPlayer::StoppedState);
- QCOMPARE(playingChangedSpy.count(), ++playingChanged);
- QCOMPARE(pausedChangedSpy.count(), ++pausedChanged);
- QCOMPARE(startedSpy.count(), started);
- QCOMPARE(pausedSpy.count(), paused);
- QCOMPARE(resumedSpy.count(), resumed);
- QCOMPARE(stoppedSpy.count(), ++stopped);
-
- // setPaused(true) when stopped.
- video.setPaused(true);
- QCOMPARE(video.isPlaying(), false);
- QCOMPARE(video.isPaused(), true);
- QCOMPARE(provider.playerControl()->state(), QMediaPlayer::StoppedState);
- QCOMPARE(playingChangedSpy.count(), playingChanged);
- QCOMPARE(pausedChangedSpy.count(), ++pausedChanged);
- QCOMPARE(startedSpy.count(), started);
- QCOMPARE(pausedSpy.count(), paused);
- QCOMPARE(resumedSpy.count(), resumed);
- QCOMPARE(stoppedSpy.count(), stopped);
-
- // stop() when stopped and paused.
- video.stop();
- QCOMPARE(video.isPlaying(), false);
- QCOMPARE(video.isPaused(), false);
- QCOMPARE(provider.playerControl()->state(), QMediaPlayer::StoppedState);
- QCOMPARE(playingChangedSpy.count(), playingChanged);
- QCOMPARE(pausedChangedSpy.count(), ++pausedChanged);
- QCOMPARE(startedSpy.count(), started);
- QCOMPARE(pausedSpy.count(), paused);
- QCOMPARE(resumedSpy.count(), resumed);
- QCOMPARE(stoppedSpy.count(), stopped);
-
- // pause() when stopped.
- video.pause();
- QCOMPARE(video.isPlaying(), true);
- QCOMPARE(video.isPaused(), true);
- QCOMPARE(provider.playerControl()->state(), QMediaPlayer::PausedState);
- QCOMPARE(playingChangedSpy.count(), ++playingChanged);
- QCOMPARE(pausedChangedSpy.count(), ++pausedChanged);
- QCOMPARE(startedSpy.count(), ++started);
- QCOMPARE(pausedSpy.count(), ++paused);
- QCOMPARE(resumedSpy.count(), resumed);
- QCOMPARE(stoppedSpy.count(), stopped);
-
- // setPlaying(false) when paused.
- video.setPlaying(false);
- QCOMPARE(video.isPlaying(), false);
- QCOMPARE(video.isPaused(), true);
- QCOMPARE(provider.playerControl()->state(), QMediaPlayer::StoppedState);
- QCOMPARE(playingChangedSpy.count(), ++playingChanged);
- QCOMPARE(pausedChangedSpy.count(), pausedChanged);
- QCOMPARE(startedSpy.count(), started);
- QCOMPARE(pausedSpy.count(), paused);
- QCOMPARE(resumedSpy.count(), resumed);
- QCOMPARE(stoppedSpy.count(), ++stopped);
-
- // pause() when stopped and paused.
- video.pause();
- QCOMPARE(video.isPlaying(), true);
- QCOMPARE(video.isPaused(), true);
- QCOMPARE(provider.playerControl()->state(), QMediaPlayer::PausedState);
- QCOMPARE(playingChangedSpy.count(), ++playingChanged);
- QCOMPARE(pausedChangedSpy.count(), pausedChanged);
- QCOMPARE(startedSpy.count(), ++started);
- QCOMPARE(pausedSpy.count(), ++paused);
- QCOMPARE(resumedSpy.count(), resumed);
- QCOMPARE(stoppedSpy.count(), stopped);
-
- // setPlaying(false) when paused.
- video.setPlaying(false);
- QCOMPARE(video.isPlaying(), false);
- QCOMPARE(video.isPaused(), true);
- QCOMPARE(provider.playerControl()->state(), QMediaPlayer::StoppedState);
- QCOMPARE(playingChangedSpy.count(), ++playingChanged);
- QCOMPARE(pausedChangedSpy.count(), pausedChanged);
- QCOMPARE(startedSpy.count(), started);
- QCOMPARE(pausedSpy.count(), paused);
- QCOMPARE(resumedSpy.count(), resumed);
- QCOMPARE(stoppedSpy.count(), ++stopped);
-
- // play() when stopped and paused.
- video.play();
- QCOMPARE(video.isPlaying(), true);
- QCOMPARE(video.isPaused(), false);
- QCOMPARE(provider.playerControl()->state(), QMediaPlayer::PlayingState);
- QCOMPARE(playingChangedSpy.count(), ++playingChanged);
- QCOMPARE(pausedChangedSpy.count(), ++pausedChanged);
- QCOMPARE(startedSpy.count(), ++started);
- QCOMPARE(pausedSpy.count(), paused);
- QCOMPARE(resumedSpy.count(), resumed);
- QCOMPARE(stoppedSpy.count(), stopped);
-}
-
-void tst_QDeclarativeVideo::error()
-{
- const QString errorString = QLatin1String("Failed to open device.");
-
- QtTestMediaServiceProvider provider;
- QDeclarativeVideo video;
- video.componentComplete();
-
- QSignalSpy errorSpy(&video, SIGNAL(error(QDeclarativeVideo::Error,QString)));
- QSignalSpy errorChangedSpy(&video, SIGNAL(errorChanged()));
-
- QCOMPARE(video.error(), QDeclarativeVideo::NoError);
- QCOMPARE(video.errorString(), QString());
-
- provider.playerControl()->emitError(QMediaPlayer::ResourceError, errorString);
-
- QCOMPARE(video.error(), QDeclarativeVideo::ResourceError);
- QCOMPARE(video.errorString(), errorString);
- QCOMPARE(errorSpy.count(), 1);
- QCOMPARE(errorChangedSpy.count(), 1);
-
- // Changing the source resets the error properties.
- video.setSource(QUrl("http://example.com"));
- QCOMPARE(video.error(), QDeclarativeVideo::NoError);
- QCOMPARE(video.errorString(), QString());
- QCOMPARE(errorSpy.count(), 1);
- QCOMPARE(errorChangedSpy.count(), 2);
-
- // But isn't noisy.
- video.setSource(QUrl("file:///file/path"));
- QCOMPARE(video.error(), QDeclarativeVideo::NoError);
- QCOMPARE(video.errorString(), QString());
- QCOMPARE(errorSpy.count(), 1);
- QCOMPARE(errorChangedSpy.count(), 2);
-}
-
-
-void tst_QDeclarativeVideo::hasAudio()
-{
- QtTestMediaServiceProvider provider;
- QDeclarativeVideo video;
- video.componentComplete();
-
- QSignalSpy spy(&video, SIGNAL(hasAudioChanged()));
-
- QCOMPARE(video.hasAudio(), false);
-
- provider.playerControl()->setAudioAvailable(true);
- QCOMPARE(video.hasAudio(), true);
- QCOMPARE(spy.count(), 1);
-
- provider.playerControl()->setAudioAvailable(true);
- QCOMPARE(video.hasAudio(), true);
- QCOMPARE(spy.count(), 2);
-
- provider.playerControl()->setAudioAvailable(false);
- QCOMPARE(video.hasAudio(), false);
- QCOMPARE(spy.count(), 3);
-}
-
-void tst_QDeclarativeVideo::hasVideo()
-{
- QtTestMediaServiceProvider provider;
- QDeclarativeVideo video;
-
- video.componentComplete();
-
- QSignalSpy spy(&video, SIGNAL(hasVideoChanged()));
-
- QCOMPARE(video.hasVideo(), false);
-
- provider.playerControl()->setVideoAvailable(true);
- QCOMPARE(video.hasVideo(), true);
- QCOMPARE(spy.count(), 1);
-
- provider.playerControl()->setVideoAvailable(true);
- QCOMPARE(video.hasVideo(), true);
- QCOMPARE(spy.count(), 2);
-
- provider.playerControl()->setVideoAvailable(false);
- QCOMPARE(video.hasVideo(), false);
- QCOMPARE(spy.count(), 3);
-}
-
-void tst_QDeclarativeVideo::fillMode()
-{
- QtTestMediaServiceProvider provider;
- QDeclarativeVideo video;
- video.componentComplete();
-
- QList<QGraphicsItem *> children = video.childItems();
- QCOMPARE(children.count(), 1);
- QGraphicsVideoItem *videoItem = qgraphicsitem_cast<QGraphicsVideoItem *>(children.first());
- QVERIFY(videoItem != 0);
-
- QCOMPARE(video.fillMode(), QDeclarativeVideo::PreserveAspectFit);
-
- video.setFillMode(QDeclarativeVideo::PreserveAspectCrop);
- QCOMPARE(video.fillMode(), QDeclarativeVideo::PreserveAspectCrop);
- QCOMPARE(videoItem->aspectRatioMode(), Qt::KeepAspectRatioByExpanding);
-
- video.setFillMode(QDeclarativeVideo::Stretch);
- QCOMPARE(video.fillMode(), QDeclarativeVideo::Stretch);
- QCOMPARE(videoItem->aspectRatioMode(), Qt::IgnoreAspectRatio);
-
- video.setFillMode(QDeclarativeVideo::PreserveAspectFit);
- QCOMPARE(video.fillMode(), QDeclarativeVideo::PreserveAspectFit);
- QCOMPARE(videoItem->aspectRatioMode(), Qt::KeepAspectRatio);
-}
-
-void tst_QDeclarativeVideo::geometry()
-{
- QtTestMediaServiceProvider provider;
- QDeclarativeVideo video;
- video.componentComplete();
-
- QAbstractVideoSurface *surface = provider.rendererControl()->surface();
- QVERIFY(surface != 0);
-
- QList<QGraphicsItem *> children = video.childItems();
- QCOMPARE(children.count(), 1);
- QGraphicsVideoItem *videoItem = qgraphicsitem_cast<QGraphicsVideoItem *>(children.first());
- QVERIFY(videoItem != 0);
-
- QVideoSurfaceFormat format(QSize(640, 480), QVideoFrame::Format_RGB32);
-
- QVERIFY(surface->start(format));
-
- QCOMPARE(video.implicitWidth(), qreal(640));
- QCOMPARE(video.implicitHeight(), qreal(480));
-
- video.setWidth(560);
- video.setHeight(328);
-
- QCOMPARE(videoItem->size().width(), qreal(560));
- QCOMPARE(videoItem->size().height(), qreal(328));
-}
-
-QTEST_MAIN(tst_QDeclarativeVideo)
-
-#include "tst_qdeclarativevideo.moc"
diff --git a/tests/auto/qdesktopservices/qdesktopservices.pro b/tests/auto/qdesktopservices/qdesktopservices.pro
index 9ef557d3ba..d32ed4c794 100644
--- a/tests/auto/qdesktopservices/qdesktopservices.pro
+++ b/tests/auto/qdesktopservices/qdesktopservices.pro
@@ -3,23 +3,23 @@ CONFIG += qttest_p4
SOURCES += tst_qdesktopservices.cpp
TARGET = tst_qdesktopservices
symbian: {
- dummy.sources = text\testfile.txt
+ dummy.sources = text\\testfile.txt
dummy.path = .
- text.sources = text\*
- text.path = \data\others\
+ text.sources = text\\*
+ text.path = \\data\\others
- image.sources = image\*
- image.path = \data\images\
+ image.sources = image\\*
+ image.path = \\data\\images
- audio.sources = audio\*
- audio.path = \data\sounds\
+ audio.sources = audio\\*
+ audio.path = \\data\\sounds
- video.sources = video\*
- video.path = \data\videos\
+ video.sources = video\\*
+ video.path = \\data\\videos
- install.sources = install\*
- install.path = \data\installs\
+ install.sources = install\\*
+ install.path = \\data\\installs
DEPLOYMENT += image audio video install
diff --git a/tests/auto/qdirmodel/qdirmodel.pro b/tests/auto/qdirmodel/qdirmodel.pro
index 5a66883fdf..36929b9399 100644
--- a/tests/auto/qdirmodel/qdirmodel.pro
+++ b/tests/auto/qdirmodel/qdirmodel.pro
@@ -2,9 +2,9 @@ load(qttest_p4)
SOURCES += tst_qdirmodel.cpp
wince*|symbian {
- addit.sources = dirtest\test1\*
- addit.path = dirtest\test1
- tests.sources = test\*
+ addit.sources = dirtest\\test1\\*
+ addit.path = dirtest\\test1
+ tests.sources = test\\*
tests.path = test
sourceFile.sources = tst_qdirmodel.cpp
sourceFile.path = .
diff --git a/tests/auto/qdirmodel/tst_qdirmodel.cpp b/tests/auto/qdirmodel/tst_qdirmodel.cpp
index 1bc5b7fddb..41bbd8708c 100644
--- a/tests/auto/qdirmodel/tst_qdirmodel.cpp
+++ b/tests/auto/qdirmodel/tst_qdirmodel.cpp
@@ -613,6 +613,11 @@ void tst_QDirModel::task196768_sorting()
//this task showed that the persistent model indexes got corrupted when sorting
QString path = SRCDIR;
+#ifdef Q_OS_SYMBIAN
+ if(!RProcess().HasCapability(ECapabilityAllFiles))
+ QEXPECT_FAIL("", "QTBUG-9746", Continue);
+#endif
+
QDirModel model;
/* QDirModel has a bug if we show the content of the subdirectory inside a hidden directory
diff --git a/tests/auto/qdockwidget/tst_qdockwidget.cpp b/tests/auto/qdockwidget/tst_qdockwidget.cpp
index a7349852f8..205910120c 100644
--- a/tests/auto/qdockwidget/tst_qdockwidget.cpp
+++ b/tests/auto/qdockwidget/tst_qdockwidget.cpp
@@ -96,6 +96,7 @@ private slots:
void task248604_infiniteResize();
void task258459_visibilityChanged();
void taskQTBUG_1665_closableChanged();
+ void taskQTBUG_9758_undockedGeometry();
};
// Testing get/set functions
@@ -653,7 +654,7 @@ void tst_QDockWidget::dockLocationChanged()
QCOMPARE(qvariant_cast<Qt::DockWidgetArea>(spy.at(0).at(0)),
Qt::TopDockWidgetArea);
spy.clear();
-
+
dw.setFloating(true);
QTest::qWait(100);
dw.setFloating(false);
@@ -878,6 +879,27 @@ void tst_QDockWidget::taskQTBUG_1665_closableChanged()
QVERIFY(!(dock.windowFlags() & Qt::WindowCloseButtonHint));
}
+void tst_QDockWidget::taskQTBUG_9758_undockedGeometry()
+{
+ QMainWindow window;
+ QDockWidget dock1(&window);
+ QDockWidget dock2(&window);
+ window.addDockWidget(Qt::RightDockWidgetArea, &dock1);
+ window.addDockWidget(Qt::RightDockWidgetArea, &dock2);
+ window.tabifyDockWidget(&dock1, &dock2);
+ dock1.hide();
+ dock2.hide();
+ window.show();
+ QTest::qWaitForWindowShown(&window);
+ dock1.setFloating(true);
+ dock1.show();
+ QTest::qWaitForWindowShown(&dock1);
+
+ QVERIFY(dock1.x() >= 0);
+ QVERIFY(dock1.y() >= 0);
+}
+
+
QTEST_MAIN(tst_QDockWidget)
#include "tst_qdockwidget.moc"
diff --git a/tests/auto/qfile/largefile/tst_largefile.cpp b/tests/auto/qfile/largefile/tst_largefile.cpp
index 041e5f2eba..60c5f89b98 100644
--- a/tests/auto/qfile/largefile/tst_largefile.cpp
+++ b/tests/auto/qfile/largefile/tst_largefile.cpp
@@ -523,6 +523,10 @@ void tst_LargeFile::mapFile()
void tst_LargeFile::mapOffsetOverflow()
{
+#if defined(Q_OS_MAC)
+ QSKIP("mmap'ping beyond EOF may succeed; generate bus error on access", SkipAll);
+#endif
+
// Out-of-range mappings should fail, and not silently clip the offset
for (int i = 50; i < 63; ++i) {
uchar *address = 0;
diff --git a/tests/auto/qfile/test/test.pro b/tests/auto/qfile/test/test.pro
index faaa927450..70c93ce2fb 100644
--- a/tests/auto/qfile/test/test.pro
+++ b/tests/auto/qfile/test/test.pro
@@ -3,11 +3,11 @@ SOURCES += ../tst_qfile.cpp
wince*|symbian {
QT = core gui
- files.sources += ..\dosfile.txt ..\noendofline.txt ..\testfile.txt \
- ..\testlog.txt ..\two.dots.file ..\tst_qfile.cpp \
- ..\Makefile ..\forCopying.txt ..\forRenaming.txt
+ files.sources += ..\\dosfile.txt ..\\noendofline.txt ..\\testfile.txt \
+ ..\\testlog.txt ..\\two.dots.file ..\\tst_qfile.cpp \
+ ..\\Makefile ..\\forCopying.txt ..\\forRenaming.txt
files.path = .
- resour.sources += ..\resources\file1.ext1
+ resour.sources += ..\\resources\\file1.ext1
resour.path = resources
DEPLOYMENT = files resour
diff --git a/tests/auto/qfiledialog/tst_qfiledialog.cpp b/tests/auto/qfiledialog/tst_qfiledialog.cpp
index 38a1ee7ad3..ca7c44514f 100644
--- a/tests/auto/qfiledialog/tst_qfiledialog.cpp
+++ b/tests/auto/qfiledialog/tst_qfiledialog.cpp
@@ -529,10 +529,6 @@ void tst_QFiledialog::completer()
#endif
++expected;
}
-#if !defined(Q_OS_WIN)
- if (inputStartsWithRootPath)
- expected++;
-#endif
}
QTest::qWait(1000);
diff --git a/tests/auto/qfiledialog2/tst_qfiledialog2.cpp b/tests/auto/qfiledialog2/tst_qfiledialog2.cpp
index 6bfa8be52d..eee495fc33 100644
--- a/tests/auto/qfiledialog2/tst_qfiledialog2.cpp
+++ b/tests/auto/qfiledialog2/tst_qfiledialog2.cpp
@@ -76,6 +76,13 @@
# define SRCDIR "C:/Private/" TOSTRING(SYMBIAN_SRCDIR_UID) "/"
#endif
+#if defined QT_BUILD_INTERNAL
+QT_BEGIN_NAMESPACE
+Q_GUI_EXPORT bool qt_test_isFetchedRoot();
+Q_GUI_EXPORT void qt_test_resetFetchedRoot();
+QT_END_NAMESPACE
+#endif
+
class QNonNativeFileDialog : public QFileDialog
{
Q_OBJECT
@@ -139,7 +146,7 @@ private:
};
tst_QFileDialog2::tst_QFileDialog2()
-{
+{
#if defined(Q_OS_WINCE)
qApp->setAutoMaximizeThreshold(-1);
#endif
@@ -177,19 +184,18 @@ void tst_QFileDialog2::listRoot()
QFileInfoGatherer fileInfoGatherer;
fileInfoGatherer.start();
QTest::qWait(1500);
-
- QFileInfoGatherer::fetchedRoot = false;
+ qt_test_resetFetchedRoot();
QString dir(QDir::currentPath());
QNonNativeFileDialog fd(0, QString(), dir);
fd.show();
- QCOMPARE(QFileInfoGatherer::fetchedRoot,false);
+ QCOMPARE(qt_test_isFetchedRoot(),false);
fd.setDirectory("");
#ifdef Q_OS_WINCE
QTest::qWait(1500);
#else
QTest::qWait(500);
#endif
- QCOMPARE(QFileInfoGatherer::fetchedRoot,true);
+ QCOMPARE(qt_test_isFetchedRoot(),true);
#endif
}
diff --git a/tests/auto/qfileinfo/qfileinfo.pro b/tests/auto/qfileinfo/qfileinfo.pro
index 93599f482e..20385142c1 100644
--- a/tests/auto/qfileinfo/qfileinfo.pro
+++ b/tests/auto/qfileinfo/qfileinfo.pro
@@ -8,7 +8,7 @@ RESOURCES += qfileinfo.qrc
wince*:|symbian*: {
deploy.sources += qfileinfo.qrc tst_qfileinfo.cpp
- res.sources = resources\file1 resources\file1.ext1 resources\file1.ext1.ext2
+ res.sources = resources\\file1 resources\\file1.ext1 resources\\file1.ext1.ext2
res.path = resources
DEPLOYMENT = deploy res
}
diff --git a/tests/auto/qfontmetrics/tst_qfontmetrics.cpp b/tests/auto/qfontmetrics/tst_qfontmetrics.cpp
index 5d73764dbb..a22d624279 100644
--- a/tests/auto/qfontmetrics/tst_qfontmetrics.cpp
+++ b/tests/auto/qfontmetrics/tst_qfontmetrics.cpp
@@ -71,9 +71,9 @@ private slots:
void elidedText();
void veryNarrowElidedText();
void averageCharWidth();
+ void bypassShaping();
void elidedMultiLength();
void elidedMultiLengthF();
- void bearingIncludedInBoundingRect();
};
tst_QFontMetrics::tst_QFontMetrics()
@@ -219,6 +219,21 @@ void tst_QFontMetrics::averageCharWidth()
QVERIFY(fmf.averageCharWidth() != 0);
}
+void tst_QFontMetrics::bypassShaping()
+{
+ QFont f;
+ f.setStyleStrategy(QFont::ForceIntegerMetrics);
+ QFontMetrics fm(f);
+ QString text = " A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z, a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x, y, z";
+ int textWidth = fm.width(text, -1, Qt::TextBypassShaping);
+ QVERIFY(textWidth != 0);
+ int charsWidth = 0;
+ for (int i = 0; i < text.size(); ++i)
+ charsWidth += fm.width(text[i]);
+ // This assertion is needed in QtWebKit's WebCore::Font::offsetForPositionForSimpleText
+ QCOMPARE(textWidth, charsWidth);
+}
+
template<class FontMetrics> void elidedMultiLength_helper()
{
QString text1 = "Long Text 1\x9cShorter\x9csmall";
@@ -251,16 +266,5 @@ void tst_QFontMetrics::elidedMultiLengthF()
elidedMultiLength_helper<QFontMetricsF>();
}
-void tst_QFontMetrics::bearingIncludedInBoundingRect()
-{
- QFont font;
- font.setItalic(true);
- QRect brectItalic = QFontMetrics(font).boundingRect("ITALIC");
- font.setItalic(false);
- QRect brectNormal = QFontMetrics(font).boundingRect("ITALIC");
-
- QVERIFY(brectItalic.width() >= brectNormal.width());
-}
-
QTEST_MAIN(tst_QFontMetrics)
#include "tst_qfontmetrics.moc"
diff --git a/tests/auto/qftp/qftp.pro b/tests/auto/qftp/qftp.pro
index c060296e7f..33d479aa56 100644
--- a/tests/auto/qftp/qftp.pro
+++ b/tests/auto/qftp/qftp.pro
@@ -14,6 +14,7 @@ wince*: {
addFiles.path = .
DEPLOYMENT += addFiles
TARGET.EPOCHEAPSIZE="0x100 0x1000000"
+ TARGET.CAPABILITY = NetworkServices
} else {
DEFINES += SRCDIR=\\\"$$PWD/\\\"
}
diff --git a/tests/auto/qgraphicsgridlayout/tst_qgraphicsgridlayout.cpp b/tests/auto/qgraphicsgridlayout/tst_qgraphicsgridlayout.cpp
index 8127f8451d..b9a5c66edd 100644
--- a/tests/auto/qgraphicsgridlayout/tst_qgraphicsgridlayout.cpp
+++ b/tests/auto/qgraphicsgridlayout/tst_qgraphicsgridlayout.cpp
@@ -741,31 +741,73 @@ void tst_QGraphicsGridLayout::setColumnFixedWidth()
// public qreal columnSpacing(int column) const
void tst_QGraphicsGridLayout::columnSpacing()
{
- QGraphicsScene scene;
- QGraphicsView view(&scene);
- QGraphicsWidget *widget = new QGraphicsWidget(0, Qt::Window);
- QGraphicsGridLayout *layout = new QGraphicsGridLayout();
- scene.addItem(widget);
- widget->setLayout(layout);
- populateLayout(layout, 3, 2);
- layout->setContentsMargins(0, 0, 0, 0);
- layout->setSpacing(0);
- QCOMPARE(layout->columnSpacing(0), 0.0);
+ {
+ QGraphicsScene scene;
+ QGraphicsView view(&scene);
+ QGraphicsWidget *widget = new QGraphicsWidget(0, Qt::Window);
+ QGraphicsGridLayout *layout = new QGraphicsGridLayout();
+ scene.addItem(widget);
+ widget->setLayout(layout);
+ populateLayout(layout, 3, 2);
+ layout->setContentsMargins(0, 0, 0, 0);
+ layout->setSpacing(0);
+ QCOMPARE(layout->columnSpacing(0), 0.0);
+
+ layout->setColumnSpacing(0, 20);
+ view.show();
+ widget->show();
+ widget->resize(widget->effectiveSizeHint(Qt::PreferredSize));
+ QApplication::processEvents();
- layout->setColumnSpacing(0, 20);
- view.show();
- widget->show();
- widget->resize(widget->effectiveSizeHint(Qt::PreferredSize));
- QApplication::processEvents();
+ QCOMPARE(layout->itemAt(0,0)->geometry().left(), 0.0);
+ QCOMPARE(layout->itemAt(0,0)->geometry().right(), 25.0);
+ QCOMPARE(layout->itemAt(0,1)->geometry().left(), 45.0);
+ QCOMPARE(layout->itemAt(0,1)->geometry().right(), 70.0);
+ QCOMPARE(layout->itemAt(0,2)->geometry().left(), 70.0);
+ QCOMPARE(layout->itemAt(0,2)->geometry().right(), 95.0);
- QCOMPARE(layout->itemAt(0,0)->geometry().left(), 0.0);
- QCOMPARE(layout->itemAt(0,0)->geometry().right(), 25.0);
- QCOMPARE(layout->itemAt(0,1)->geometry().left(), 45.0);
- QCOMPARE(layout->itemAt(0,1)->geometry().right(), 70.0);
- QCOMPARE(layout->itemAt(0,2)->geometry().left(), 70.0);
- QCOMPARE(layout->itemAt(0,2)->geometry().right(), 95.0);
+ delete widget;
+ }
+
+ {
+ // don't include items and spacings that was previously part of the layout
+ // (horizontal)
+ QGraphicsGridLayout *layout = new QGraphicsGridLayout;
+ populateLayout(layout, 3, 1);
+ layout->setContentsMargins(0, 0, 0, 0);
+ layout->setSpacing(0);
+ layout->setColumnSpacing(0, 10);
+ layout->setColumnSpacing(1, 10);
+ layout->setColumnSpacing(2, 10);
+ layout->setColumnSpacing(3, 10);
+ QCOMPARE(layout->preferredSize(), QSizeF(95, 25));
+ layout->removeAt(2);
+ QCOMPARE(layout->preferredSize(), QSizeF(60, 25));
+ layout->removeAt(1);
+ QCOMPARE(layout->preferredSize(), QSizeF(25, 25));
+ delete layout;
+ }
+ {
+ // don't include items and spacings that was previously part of the layout
+ // (vertical)
+ QGraphicsGridLayout *layout = new QGraphicsGridLayout;
+ populateLayout(layout, 2, 2);
+ layout->setContentsMargins(0, 0, 0, 0);
+ layout->setSpacing(0);
+ layout->setColumnSpacing(0, 10);
+ layout->setColumnSpacing(1, 10);
+ layout->setRowSpacing(0, 10);
+ layout->setRowSpacing(1, 10);
+ QCOMPARE(layout->preferredSize(), QSizeF(60, 60));
+ layout->removeAt(3);
+ QCOMPARE(layout->preferredSize(), QSizeF(60, 60));
+ layout->removeAt(2);
+ QCOMPARE(layout->preferredSize(), QSizeF(60, 25));
+ layout->removeAt(1);
+ QCOMPARE(layout->preferredSize(), QSizeF(25, 25));
+ delete layout;
+ }
- delete widget;
}
// public int columnStretchFactor(int column) const
diff --git a/tests/auto/qgraphicsitem/tst_qgraphicsitem.cpp b/tests/auto/qgraphicsitem/tst_qgraphicsitem.cpp
index 81097be5c3..fe68c8e400 100644
--- a/tests/auto/qgraphicsitem/tst_qgraphicsitem.cpp
+++ b/tests/auto/qgraphicsitem/tst_qgraphicsitem.cpp
@@ -45,6 +45,7 @@
#include <private/qtextcontrol_p.h>
#include <private/qgraphicsitem_p.h>
#include <private/qgraphicsview_p.h>
+#include <private/qgraphicsscene_p.h>
#include <QStyleOptionGraphicsItem>
#include <QAbstractTextDocumentLayout>
#include <QBitmap>
@@ -235,11 +236,12 @@ public:
QRectF boundingRect() const
{ return br; }
- void paint(QPainter *painter, const QStyleOptionGraphicsItem *, QWidget *)
+ void paint(QPainter *painter, const QStyleOptionGraphicsItem *o, QWidget *)
{
hints = painter->renderHints();
painter->setBrush(brush);
painter->drawRect(boundingRect());
+ lastExposedRect = o->exposedRect;
++repaints;
}
@@ -249,10 +251,19 @@ public:
return QGraphicsItem::sceneEvent(event);
}
+ void reset()
+ {
+ events.clear();
+ hints = QPainter::RenderHints(0);
+ repaints = 0;
+ lastExposedRect = QRectF();
+ }
+
QList<QEvent::Type> events;
QPainter::RenderHints hints;
int repaints;
QRectF br;
+ QRectF lastExposedRect;
QBrush brush;
};
@@ -337,6 +348,7 @@ private slots:
void childrenBoundingRect2();
void childrenBoundingRect3();
void childrenBoundingRect4();
+ void childrenBoundingRect5();
void group();
void setGroup();
void setGroup2();
@@ -429,6 +441,7 @@ private slots:
void scenePosChange();
void updateMicroFocus();
void textItem_shortcuts();
+ void scroll();
// task specific tests below me
void task141694_textItemEnsureVisible();
@@ -447,6 +460,7 @@ private slots:
void QT_2649_focusScope();
void sortItemsWhileAdding();
void doNotMarkFullUpdateIfNotInScene();
+ void itemDiesDuringDraggingOperation();
private:
QList<QGraphicsItem *> paintedItems;
@@ -3356,6 +3370,34 @@ void tst_QGraphicsItem::childrenBoundingRect4()
QCOMPARE(rect2->childrenBoundingRect(), rect3->boundingRect());
}
+void tst_QGraphicsItem::childrenBoundingRect5()
+{
+ QGraphicsScene scene;
+
+ QGraphicsRectItem *parent = scene.addRect(QRectF(0, 0, 100, 100));
+ QGraphicsRectItem *child = scene.addRect(QRectF(0, 0, 100, 100));
+ child->setParentItem(parent);
+
+ QGraphicsView view(&scene);
+ view.show();
+
+ QTest::qWaitForWindowShown(&view);
+
+ // Try to mess up the cached bounding rect.
+ QRectF expectedChildrenBoundingRect = parent->boundingRect();
+ QCOMPARE(parent->childrenBoundingRect(), expectedChildrenBoundingRect);
+
+ // Apply some effects.
+ QGraphicsDropShadowEffect *dropShadow = new QGraphicsDropShadowEffect;
+ dropShadow->setOffset(25, 25);
+ child->setGraphicsEffect(dropShadow);
+ parent->setGraphicsEffect(new QGraphicsOpacityEffect);
+
+ QVERIFY(parent->childrenBoundingRect() != expectedChildrenBoundingRect);
+ expectedChildrenBoundingRect |= dropShadow->boundingRect();
+ QCOMPARE(parent->childrenBoundingRect(), expectedChildrenBoundingRect);
+}
+
void tst_QGraphicsItem::group()
{
QGraphicsScene scene;
@@ -7542,6 +7584,7 @@ void tst_QGraphicsItem::itemUsesExtendedStyleOption()
scene.addItem(rect);
rect->setPos(200, 200);
QGraphicsView view(&scene);
+ view.setWindowFlags(Qt::X11BypassWindowManagerHint);
rect->startTrack = false;
view.show();
QTest::qWaitForWindowShown(&view);
@@ -10153,6 +10196,78 @@ void tst_QGraphicsItem::textItem_shortcuts()
QTRY_COMPARE(item->textCursor().selectedText(), item->toPlainText());
}
+void tst_QGraphicsItem::scroll()
+{
+ // Create two overlapping rectangles in the scene:
+ // +-------+
+ // | | <- item1
+ // | +-------+
+ // | | |
+ // +---| | <- item2
+ // | |
+ // +-------+
+
+ EventTester *item1 = new EventTester;
+ item1->br = QRectF(0, 0, 200, 200);
+ item1->brush = Qt::red;
+ item1->setFlag(QGraphicsItem::ItemUsesExtendedStyleOption);
+
+ EventTester *item2 = new EventTester;
+ item2->br = QRectF(0, 0, 200, 200);
+ item2->brush = Qt::blue;
+ item2->setFlag(QGraphicsItem::ItemUsesExtendedStyleOption);
+ item2->setPos(100, 100);
+
+ QGraphicsScene scene(0, 0, 300, 300);
+ scene.addItem(item1);
+ scene.addItem(item2);
+
+ MyGraphicsView view(&scene);
+ view.setFrameStyle(0);
+ view.show();
+ QTest::qWaitForWindowShown(&view);
+ QTRY_VERIFY(view.repaints > 0);
+
+ view.reset();
+ item1->reset();
+ item2->reset();
+
+ const QRectF item1BoundingRect = item1->boundingRect();
+ const QRectF item2BoundingRect = item2->boundingRect();
+
+ // Scroll item1:
+ // Item1 should get full exposure
+ // Item2 should get exposure for the part that overlaps item1.
+ item1->scroll(0, -10);
+ QTRY_VERIFY(view.repaints > 0);
+ QCOMPARE(item1->lastExposedRect, item1BoundingRect);
+
+ QRectF expectedItem2Expose = item2BoundingRect;
+ // NB! Adjusted by 2 pixels for antialiasing
+ expectedItem2Expose &= item1->mapRectToItem(item2, item1BoundingRect.adjusted(-2, -2, 2, 2));
+ QCOMPARE(item2->lastExposedRect, expectedItem2Expose);
+
+ // Enable ItemCoordinateCache on item1.
+ view.reset();
+ item1->setCacheMode(QGraphicsItem::ItemCoordinateCache);
+ QTRY_VERIFY(view.repaints > 0);
+ view.reset();
+ item1->reset();
+ item2->reset();
+
+ // Scroll item1:
+ // Item1 should only get expose for the newly exposed area (accelerated scroll).
+ // Item2 should get exposure for the part that overlaps item1.
+ item1->scroll(0, -10, QRectF(50, 50, 100, 100));
+ QTRY_VERIFY(view.repaints > 0);
+ QCOMPARE(item1->lastExposedRect, QRectF(50, 140, 100, 10));
+
+ expectedItem2Expose = item2BoundingRect;
+ // NB! Adjusted by 2 pixels for antialiasing
+ expectedItem2Expose &= item1->mapRectToItem(item2, QRectF(50, 50, 100, 100).adjusted(-2, -2, 2, 2));
+ QCOMPARE(item2->lastExposedRect, expectedItem2Expose);
+}
+
void tst_QGraphicsItem::QTBUG_5418_textItemSetDefaultColor()
{
struct Item : public QGraphicsTextItem
@@ -10484,5 +10599,27 @@ void tst_QGraphicsItem::doNotMarkFullUpdateIfNotInScene()
QTRY_COMPARE(item3->painted, 3);
}
+void tst_QGraphicsItem::itemDiesDuringDraggingOperation()
+{
+ QGraphicsScene scene;
+ QGraphicsView view(&scene);
+ QGraphicsRectItem *item = new QGraphicsRectItem(QRectF(0, 0, 100, 100));
+ item->setFlag(QGraphicsItem::ItemIsMovable);
+ item->setAcceptDrops(true);
+ scene.addItem(item);
+ view.show();
+ QApplication::setActiveWindow(&view);
+ QTest::qWaitForWindowShown(&view);
+ QTRY_COMPARE(QApplication::activeWindow(), (QWidget *)&view);
+ QGraphicsSceneDragDropEvent dragEnter(QEvent::GraphicsSceneDragEnter);
+ dragEnter.setScenePos(item->boundingRect().center());
+ QApplication::sendEvent(&scene, &dragEnter);
+ QGraphicsSceneDragDropEvent event(QEvent::GraphicsSceneDragMove);
+ event.setScenePos(item->boundingRect().center());
+ QApplication::sendEvent(&scene, &event);
+ QVERIFY(QGraphicsScenePrivate::get(&scene)->dragDropItem == item);
+ delete item;
+ QVERIFY(QGraphicsScenePrivate::get(&scene)->dragDropItem == 0);
+}
QTEST_MAIN(tst_QGraphicsItem)
#include "tst_qgraphicsitem.moc"
diff --git a/tests/auto/qgraphicsproxywidget/tst_qgraphicsproxywidget.cpp b/tests/auto/qgraphicsproxywidget/tst_qgraphicsproxywidget.cpp
index d5f63d3a38..6cea834504 100644
--- a/tests/auto/qgraphicsproxywidget/tst_qgraphicsproxywidget.cpp
+++ b/tests/auto/qgraphicsproxywidget/tst_qgraphicsproxywidget.cpp
@@ -3436,6 +3436,21 @@ void tst_QGraphicsProxyWidget::inputMethod()
qApp->sendEvent(proxy, &event);
QCOMPARE(lineEdit->inputMethodEvents, i);
}
+
+ scene.clear();
+ QGraphicsView view(&scene);
+ QWidget *w = new QWidget;
+ w->setLayout(new QVBoxLayout(w));
+ QLineEdit *lineEdit = new QLineEdit;
+ lineEdit->setEchoMode(QLineEdit::Password);
+ w->layout()->addWidget(lineEdit);
+ lineEdit->setAttribute(Qt::WA_InputMethodEnabled, true);
+ QGraphicsProxyWidget *proxy = scene.addWidget(w);
+ view.show();
+ QTest::qWaitForWindowShown(&view);
+ QTRY_VERIFY(!(proxy->flags() & QGraphicsItem::ItemAcceptsInputMethod));
+ lineEdit->setFocus();
+ QVERIFY((proxy->flags() & QGraphicsItem::ItemAcceptsInputMethod));
}
void tst_QGraphicsProxyWidget::clickFocus()
diff --git a/tests/auto/qgraphicsscene/qgraphicsscene.pro b/tests/auto/qgraphicsscene/qgraphicsscene.pro
index 31bb76948d..401c9ebfc6 100644
--- a/tests/auto/qgraphicsscene/qgraphicsscene.pro
+++ b/tests/auto/qgraphicsscene/qgraphicsscene.pro
@@ -9,8 +9,8 @@ DEFINES += QT_NO_CAST_TO_ASCII
wince*|symbian*: {
rootFiles.sources = Ash_European.jpg graphicsScene_selection.data
rootFiles.path = .
- renderFiles.sources = testData\render\*
- renderFiles.path = testData\render
+ renderFiles.sources = testData\\render\\*
+ renderFiles.path = testData\\render
DEPLOYMENT += rootFiles renderFiles
}
wince*:{
diff --git a/tests/auto/qgraphicsscene/tst_qgraphicsscene.cpp b/tests/auto/qgraphicsscene/tst_qgraphicsscene.cpp
index a15522263c..67a41ca81a 100644
--- a/tests/auto/qgraphicsscene/tst_qgraphicsscene.cpp
+++ b/tests/auto/qgraphicsscene/tst_qgraphicsscene.cpp
@@ -275,6 +275,7 @@ private slots:
void polishItems2();
void isActive();
void siblingIndexAlwaysValid();
+ void removeFullyTransparentItem();
// task specific tests below me
void task139710_bspTreeCrash();
@@ -4333,6 +4334,48 @@ void tst_QGraphicsScene::siblingIndexAlwaysValid()
}
+void tst_QGraphicsScene::removeFullyTransparentItem()
+{
+ QGraphicsScene scene;
+
+ QGraphicsItem *parent = scene.addRect(0, 0, 100, 100);
+ parent->setFlag(QGraphicsItem::ItemHasNoContents);
+
+ QGraphicsItem *child = scene.addRect(0, 0, 100, 100);
+ child->setParentItem(parent);
+
+ CustomView view;
+ view.setScene(&scene);
+ view.show();
+ QTest::qWaitForWindowShown(&view);
+
+ // NB! The parent has the ItemHasNoContents flag set, which means
+ // the parent itself doesn't generate any update requests, only the
+ // child can possibly trigger an update. Also note that the child
+ // is removed before processing events.
+ view.repaints = 0;
+ parent->setOpacity(0);
+ QVERIFY(qFuzzyIsNull(child->effectiveOpacity()));
+ scene.removeItem(child);
+ QVERIFY(!scene.items().contains(child));
+ QTRY_VERIFY(view.repaints > 0);
+
+ // Re-add child. There's nothing new to display (child is still
+ // effectively hidden), so it shouldn't trigger an update.
+ view.repaints = 0;
+ child->setParentItem(parent);
+ QVERIFY(scene.items().contains(child));
+ QVERIFY(qFuzzyIsNull(child->effectiveOpacity()));
+ QApplication::processEvents();
+ QCOMPARE(view.repaints, 0);
+
+ // Nothing is visible on the screen, removing child item shouldn't trigger an update.
+ scene.removeItem(child);
+ QApplication::processEvents();
+ QCOMPARE(view.repaints, 0);
+ delete child;
+}
+
void tst_QGraphicsScene::taskQTBUG_5904_crashWithDeviceCoordinateCache()
{
QGraphicsScene scene;
diff --git a/tests/auto/qgraphicsvideoitem/qgraphicsvideoitem.pro b/tests/auto/qgraphicsvideoitem/qgraphicsvideoitem.pro
deleted file mode 100644
index b57e8e3982..0000000000
--- a/tests/auto/qgraphicsvideoitem/qgraphicsvideoitem.pro
+++ /dev/null
@@ -1,5 +0,0 @@
-load(qttest_p4)
-SOURCES += tst_qgraphicsvideoitem.cpp
-
-QT += multimedia mediaservices
-requires(contains(QT_CONFIG, mediaservices))
diff --git a/tests/auto/qgraphicsvideoitem/tst_qgraphicsvideoitem.cpp b/tests/auto/qgraphicsvideoitem/tst_qgraphicsvideoitem.cpp
deleted file mode 100644
index 18157791e7..0000000000
--- a/tests/auto/qgraphicsvideoitem/tst_qgraphicsvideoitem.cpp
+++ /dev/null
@@ -1,670 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the test suite of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include <QtTest/QtTest>
-
-#include <QtMediaServices/qgraphicsvideoitem.h>
-
-#include <QtGui/qapplication.h>
-#include <QtGui/qgraphicsscene.h>
-#include <QtGui/qgraphicsview.h>
-#include <QtMultimedia/qabstractvideosurface.h>
-#include <QtMediaServices/qmediaobject.h>
-#include <QtMediaServices/qmediaservice.h>
-#include <QtMediaServices/qvideooutputcontrol.h>
-#include <QtMediaServices/qvideorenderercontrol.h>
-#include <QtMultimedia/qvideosurfaceformat.h>
-
-#include <QtMediaServices/private/qpaintervideosurface_p.h>
-
-class tst_QGraphicsVideoItem : public QObject
-{
- Q_OBJECT
-public slots:
- void initTestCase();
-
-private slots:
- void nullObject();
- void nullService();
- void nullOutputControl();
- void noOutputs();
- void serviceDestroyed();
- void mediaObjectDestroyed();
- void setMediaObject();
-
- void show();
-
- void aspectRatioMode();
- void offset();
- void size();
- void nativeSize_data();
- void nativeSize();
-
- void boundingRect_data();
- void boundingRect();
-
- void paint();
-};
-
-Q_DECLARE_METATYPE(const uchar *)
-Q_DECLARE_METATYPE(Qt::AspectRatioMode)
-
-class QtTestOutputControl : public QVideoOutputControl
-{
-public:
- QtTestOutputControl() : m_output(NoOutput) {}
-
- QList<Output> availableOutputs() const { return m_outputs; }
- void setAvailableOutputs(const QList<Output> outputs) { m_outputs = outputs; }
-
- Output output() const { return m_output; }
- virtual void setOutput(Output output) { m_output = output; }
-
-private:
- Output m_output;
- QList<Output> m_outputs;
-};
-
-class QtTestRendererControl : public QVideoRendererControl
-{
-public:
- QtTestRendererControl()
- : m_surface(0)
- {
- }
-
- QAbstractVideoSurface *surface() const { return m_surface; }
- void setSurface(QAbstractVideoSurface *surface) { m_surface = surface; }
-
-private:
- QAbstractVideoSurface *m_surface;
-};
-
-class QtTestVideoService : public QMediaService
-{
- Q_OBJECT
-public:
- QtTestVideoService(
- QtTestOutputControl *output,
- QtTestRendererControl *renderer)
- : QMediaService(0)
- , outputControl(output)
- , rendererControl(renderer)
- {
- }
-
- ~QtTestVideoService()
- {
- delete outputControl;
- delete rendererControl;
- }
-
- QMediaControl *control(const char *name) const
- {
- if (qstrcmp(name, QVideoOutputControl_iid) == 0)
- return outputControl;
- else if (qstrcmp(name, QVideoRendererControl_iid) == 0)
- return rendererControl;
- else
- return 0;
- }
-
- QtTestOutputControl *outputControl;
- QtTestRendererControl *rendererControl;
-};
-
-class QtTestVideoObject : public QMediaObject
-{
- Q_OBJECT
-public:
- QtTestVideoObject(QtTestRendererControl *renderer):
- QMediaObject(0, new QtTestVideoService(new QtTestOutputControl, renderer))
- {
- testService = qobject_cast<QtTestVideoService*>(service());
- QList<QVideoOutputControl::Output> outputs;
-
- if (renderer)
- outputs.append(QVideoOutputControl::RendererOutput);
-
- testService->outputControl->setAvailableOutputs(outputs);
- }
-
- QtTestVideoObject(QtTestVideoService *service):
- QMediaObject(0, service),
- testService(service)
- {
- }
-
- ~QtTestVideoObject()
- {
- delete testService;
- }
-
- QtTestVideoService *testService;
-};
-
-class QtTestGraphicsVideoItem : public QGraphicsVideoItem
-{
-public:
- QtTestGraphicsVideoItem(QGraphicsItem *parent = 0)
- : QGraphicsVideoItem(parent)
- , m_paintCount(0)
- {
- }
-
- void paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget)
- {
- ++m_paintCount;
-
- QTestEventLoop::instance().exitLoop();
-
- QGraphicsVideoItem::paint(painter, option, widget);
- }
-
- bool waitForPaint(int secs)
- {
- const int paintCount = m_paintCount;
-
- QTestEventLoop::instance().enterLoop(secs);
-
- return m_paintCount != paintCount;
- }
-
- int paintCount() const
- {
- return m_paintCount;
- }
-
-private:
- int m_paintCount;
-};
-
-void tst_QGraphicsVideoItem::initTestCase()
-{
- qRegisterMetaType<Qt::AspectRatioMode>();
-}
-
-void tst_QGraphicsVideoItem::nullObject()
-{
- QGraphicsVideoItem item(0);
-
- QVERIFY(item.boundingRect().isEmpty());
-}
-
-void tst_QGraphicsVideoItem::nullService()
-{
- QtTestVideoService *service = 0;
-
- QtTestVideoObject object(service);
-
- QtTestGraphicsVideoItem *item = new QtTestGraphicsVideoItem;
- item->setMediaObject(&object);
-
- QVERIFY(item->boundingRect().isEmpty());
-
- item->hide();
- item->show();
-
- QGraphicsScene graphicsScene;
- graphicsScene.addItem(item);
- QGraphicsView graphicsView(&graphicsScene);
- graphicsView.show();
-}
-
-void tst_QGraphicsVideoItem::nullOutputControl()
-{
- QtTestVideoObject object(new QtTestVideoService(0, 0));
-
- QtTestGraphicsVideoItem *item = new QtTestGraphicsVideoItem;
- item->setMediaObject(&object);
-
- QVERIFY(item->boundingRect().isEmpty());
-
- item->hide();
- item->show();
-
- QGraphicsScene graphicsScene;
- graphicsScene.addItem(item);
- QGraphicsView graphicsView(&graphicsScene);
- graphicsView.show();
-}
-
-void tst_QGraphicsVideoItem::noOutputs()
-{
- QtTestRendererControl *control = 0;
- QtTestVideoObject object(control);
-
- QtTestGraphicsVideoItem *item = new QtTestGraphicsVideoItem;
- item->setMediaObject(&object);
-
- QVERIFY(item->boundingRect().isEmpty());
-
- item->hide();
- QCOMPARE(object.testService->outputControl->output(), QVideoOutputControl::NoOutput);
- item->show();
- QCOMPARE(object.testService->outputControl->output(), QVideoOutputControl::NoOutput);
-
- QGraphicsScene graphicsScene;
- graphicsScene.addItem(item);
- QGraphicsView graphicsView(&graphicsScene);
- graphicsView.show();
-}
-
-void tst_QGraphicsVideoItem::serviceDestroyed()
-{
- QtTestVideoObject object(new QtTestRendererControl);
-
- QGraphicsVideoItem item;
- item.setMediaObject(&object);
-
- QtTestVideoService *service = object.testService;
- object.testService = 0;
-
- delete service;
-
- QCOMPARE(item.mediaObject(), static_cast<QMediaObject *>(&object));
- QVERIFY(item.boundingRect().isEmpty());
-}
-
-void tst_QGraphicsVideoItem::mediaObjectDestroyed()
-{
- QtTestVideoObject *object = new QtTestVideoObject(new QtTestRendererControl);
-
- QGraphicsVideoItem item;
- item.setMediaObject(object);
-
- delete object;
- object = 0;
-
- QCOMPARE(item.mediaObject(), static_cast<QMediaObject *>(object));
- QVERIFY(item.boundingRect().isEmpty());
-}
-
-void tst_QGraphicsVideoItem::setMediaObject()
-{
- QMediaObject *nullObject = 0;
- QtTestVideoObject object(new QtTestRendererControl);
-
- QGraphicsVideoItem item;
-
- QCOMPARE(item.mediaObject(), nullObject);
- QCOMPARE(object.testService->outputControl->output(), QVideoOutputControl::NoOutput);
-
- item.setMediaObject(&object);
- QCOMPARE(item.mediaObject(), static_cast<QMediaObject *>(&object));
- QCOMPARE(object.testService->outputControl->output(), QVideoOutputControl::RendererOutput);
- QVERIFY(object.testService->rendererControl->surface() != 0);
-
- item.setMediaObject(0);
- QCOMPARE(item.mediaObject(), nullObject);
-
- QCOMPARE(object.testService->outputControl->output(), QVideoOutputControl::NoOutput);
-
- item.setVisible(false);
-
- item.setMediaObject(&object);
- QCOMPARE(item.mediaObject(), static_cast<QMediaObject *>(&object));
- QCOMPARE(object.testService->outputControl->output(), QVideoOutputControl::NoOutput);
- QVERIFY(object.testService->rendererControl->surface() != 0);
-}
-
-void tst_QGraphicsVideoItem::show()
-{
- QtTestVideoObject object(new QtTestRendererControl);
- QtTestGraphicsVideoItem *item = new QtTestGraphicsVideoItem;
- item->setMediaObject(&object);
-
- // Graphics items are visible by default
- QCOMPARE(object.testService->outputControl->output(), QVideoOutputControl::RendererOutput);
- QVERIFY(object.testService->rendererControl->surface() != 0);
-
- item->hide();
- QCOMPARE(object.testService->outputControl->output(), QVideoOutputControl::RendererOutput);
-
- item->show();
- QCOMPARE(object.testService->outputControl->output(), QVideoOutputControl::RendererOutput);
- QVERIFY(object.testService->rendererControl->surface() != 0);
-
- QVERIFY(item->boundingRect().isEmpty());
-
- QVideoSurfaceFormat format(QSize(320,240),QVideoFrame::Format_RGB32);
- QVERIFY(object.testService->rendererControl->surface()->start(format));
-
- QVERIFY(!item->boundingRect().isEmpty());
-
- QGraphicsScene graphicsScene;
- graphicsScene.addItem(item);
- QGraphicsView graphicsView(&graphicsScene);
- graphicsView.show();
-
- QVERIFY(item->paintCount() || item->waitForPaint(1));
-}
-
-void tst_QGraphicsVideoItem::aspectRatioMode()
-{
- QGraphicsVideoItem item;
-
- QCOMPARE(item.aspectRatioMode(), Qt::KeepAspectRatio);
-
- item.setAspectRatioMode(Qt::IgnoreAspectRatio);
- QCOMPARE(item.aspectRatioMode(), Qt::IgnoreAspectRatio);
-
- item.setAspectRatioMode(Qt::KeepAspectRatioByExpanding);
- QCOMPARE(item.aspectRatioMode(), Qt::KeepAspectRatioByExpanding);
-
- item.setAspectRatioMode(Qt::KeepAspectRatio);
- QCOMPARE(item.aspectRatioMode(), Qt::KeepAspectRatio);
-}
-
-void tst_QGraphicsVideoItem::offset()
-{
- QGraphicsVideoItem item;
-
- QCOMPARE(item.offset(), QPointF(0, 0));
-
- item.setOffset(QPointF(-32.4, 43.0));
- QCOMPARE(item.offset(), QPointF(-32.4, 43.0));
-
- item.setOffset(QPointF(1, 1));
- QCOMPARE(item.offset(), QPointF(1, 1));
-
- item.setOffset(QPointF(12, -30.4));
- QCOMPARE(item.offset(), QPointF(12, -30.4));
-
- item.setOffset(QPointF(-90.4, -75));
- QCOMPARE(item.offset(), QPointF(-90.4, -75));
-}
-
-void tst_QGraphicsVideoItem::size()
-{
- QGraphicsVideoItem item;
-
- QCOMPARE(item.size(), QSizeF(320, 240));
-
- item.setSize(QSizeF(542.5, 436.3));
- QCOMPARE(item.size(), QSizeF(542.5, 436.3));
-
- item.setSize(QSizeF(-43, 12));
- QCOMPARE(item.size(), QSizeF(0, 0));
-
- item.setSize(QSizeF(54, -9));
- QCOMPARE(item.size(), QSizeF(0, 0));
-
- item.setSize(QSizeF(-90, -65));
- QCOMPARE(item.size(), QSizeF(0, 0));
-
- item.setSize(QSizeF(1000, 1000));
- QCOMPARE(item.size(), QSizeF(1000, 1000));
-}
-
-void tst_QGraphicsVideoItem::nativeSize_data()
-{
- QTest::addColumn<QSize>("frameSize");
- QTest::addColumn<QRect>("viewport");
- QTest::addColumn<QSize>("pixelAspectRatio");
- QTest::addColumn<QSizeF>("nativeSize");
-
- QTest::newRow("640x480")
- << QSize(640, 480)
- << QRect(0, 0, 640, 480)
- << QSize(1, 1)
- << QSizeF(640, 480);
-
- QTest::newRow("800x600, (80,60, 640x480) viewport")
- << QSize(800, 600)
- << QRect(80, 60, 640, 480)
- << QSize(1, 1)
- << QSizeF(640, 480);
-
- QTest::newRow("800x600, (80,60, 640x480) viewport, 4:3")
- << QSize(800, 600)
- << QRect(80, 60, 640, 480)
- << QSize(4, 3)
- << QSizeF(853, 480);
-}
-
-void tst_QGraphicsVideoItem::nativeSize()
-{
- QFETCH(QSize, frameSize);
- QFETCH(QRect, viewport);
- QFETCH(QSize, pixelAspectRatio);
- QFETCH(QSizeF, nativeSize);
-
- QtTestVideoObject object(new QtTestRendererControl);
- QGraphicsVideoItem item;
- item.setMediaObject(&object);
-
- QCOMPARE(item.nativeSize(), QSizeF());
-
- QSignalSpy spy(&item, SIGNAL(nativeSizeChanged(QSizeF)));
-
- QVideoSurfaceFormat format(frameSize, QVideoFrame::Format_ARGB32);
- format.setViewport(viewport);
- format.setPixelAspectRatio(pixelAspectRatio);
-
- QVERIFY(object.testService->rendererControl->surface()->start(format));
-
- QCOMPARE(item.nativeSize(), nativeSize);
- QCOMPARE(spy.count(), 1);
- QCOMPARE(spy.last().first().toSizeF(), nativeSize);
-
- object.testService->rendererControl->surface()->stop();
-
- QCOMPARE(item.nativeSize(), QSizeF(0, 0));
- QCOMPARE(spy.count(), 2);
- QCOMPARE(spy.last().first().toSizeF(), QSizeF(0, 0));
-}
-
-void tst_QGraphicsVideoItem::boundingRect_data()
-{
- QTest::addColumn<QSize>("frameSize");
- QTest::addColumn<QPointF>("offset");
- QTest::addColumn<QSizeF>("size");
- QTest::addColumn<Qt::AspectRatioMode>("aspectRatioMode");
- QTest::addColumn<QRectF>("expectedRect");
-
-
- QTest::newRow("640x480: (0,0 640x480), Keep")
- << QSize(640, 480)
- << QPointF(0, 0)
- << QSizeF(640, 480)
- << Qt::KeepAspectRatio
- << QRectF(0, 0, 640, 480);
-
- QTest::newRow("800x600, (0,0, 640x480), Keep")
- << QSize(800, 600)
- << QPointF(0, 0)
- << QSizeF(640, 480)
- << Qt::KeepAspectRatio
- << QRectF(0, 0, 640, 480);
-
- QTest::newRow("800x600, (0,0, 640x480), KeepByExpanding")
- << QSize(800, 600)
- << QPointF(0, 0)
- << QSizeF(640, 480)
- << Qt::KeepAspectRatioByExpanding
- << QRectF(0, 0, 640, 480);
-
- QTest::newRow("800x600, (0,0, 640x480), Ignore")
- << QSize(800, 600)
- << QPointF(0, 0)
- << QSizeF(640, 480)
- << Qt::IgnoreAspectRatio
- << QRectF(0, 0, 640, 480);
-
- QTest::newRow("800x600, (100,100, 640x480), Keep")
- << QSize(800, 600)
- << QPointF(100, 100)
- << QSizeF(640, 480)
- << Qt::KeepAspectRatio
- << QRectF(100, 100, 640, 480);
-
- QTest::newRow("800x600, (100,-100, 640x480), KeepByExpanding")
- << QSize(800, 600)
- << QPointF(100, -100)
- << QSizeF(640, 480)
- << Qt::KeepAspectRatioByExpanding
- << QRectF(100, -100, 640, 480);
-
- QTest::newRow("800x600, (-100,-100, 640x480), Ignore")
- << QSize(800, 600)
- << QPointF(-100, -100)
- << QSizeF(640, 480)
- << Qt::IgnoreAspectRatio
- << QRectF(-100, -100, 640, 480);
-
- QTest::newRow("800x600, (0,0, 1920x1024), Keep")
- << QSize(800, 600)
- << QPointF(0, 0)
- << QSizeF(1920, 1024)
- << Qt::KeepAspectRatio
- << QRectF(832.0 / 3, 0, 4096.0 / 3, 1024);
-
- QTest::newRow("800x600, (0,0, 1920x1024), KeepByExpanding")
- << QSize(800, 600)
- << QPointF(0, 0)
- << QSizeF(1920, 1024)
- << Qt::KeepAspectRatioByExpanding
- << QRectF(0, 0, 1920, 1024);
-
- QTest::newRow("800x600, (0,0, 1920x1024), Ignore")
- << QSize(800, 600)
- << QPointF(0, 0)
- << QSizeF(1920, 1024)
- << Qt::IgnoreAspectRatio
- << QRectF(0, 0, 1920, 1024);
-
- QTest::newRow("800x600, (100,100, 1920x1024), Keep")
- << QSize(800, 600)
- << QPointF(100, 100)
- << QSizeF(1920, 1024)
- << Qt::KeepAspectRatio
- << QRectF(100 + 832.0 / 3, 100, 4096.0 / 3, 1024);
-
- QTest::newRow("800x600, (100,-100, 1920x1024), KeepByExpanding")
- << QSize(800, 600)
- << QPointF(100, -100)
- << QSizeF(1920, 1024)
- << Qt::KeepAspectRatioByExpanding
- << QRectF(100, -100, 1920, 1024);
-
- QTest::newRow("800x600, (-100,-100, 1920x1024), Ignore")
- << QSize(800, 600)
- << QPointF(-100, -100)
- << QSizeF(1920, 1024)
- << Qt::IgnoreAspectRatio
- << QRectF(-100, -100, 1920, 1024);
-}
-
-void tst_QGraphicsVideoItem::boundingRect()
-{
- QFETCH(QSize, frameSize);
- QFETCH(QPointF, offset);
- QFETCH(QSizeF, size);
- QFETCH(Qt::AspectRatioMode, aspectRatioMode);
- QFETCH(QRectF, expectedRect);
-
- QtTestVideoObject object(new QtTestRendererControl);
- QGraphicsVideoItem item;
- item.setMediaObject(&object);
-
- item.setOffset(offset);
- item.setSize(size);
- item.setAspectRatioMode(aspectRatioMode);
-
- QVideoSurfaceFormat format(frameSize, QVideoFrame::Format_ARGB32);
-
- QVERIFY(object.testService->rendererControl->surface()->start(format));
-
- QCOMPARE(item.boundingRect(), expectedRect);
-}
-
-static const uchar rgb32ImageData[] =
-{
- 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00,
- 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00
-};
-
-void tst_QGraphicsVideoItem::paint()
-{
- QtTestVideoObject object(new QtTestRendererControl);
- QtTestGraphicsVideoItem *item = new QtTestGraphicsVideoItem;
- item->setMediaObject(&object);
-
- QGraphicsScene graphicsScene;
- graphicsScene.addItem(item);
- QGraphicsView graphicsView(&graphicsScene);
- graphicsView.show();
-
- QPainterVideoSurface *surface = qobject_cast<QPainterVideoSurface *>(
- object.testService->rendererControl->surface());
-
- QVideoSurfaceFormat format(QSize(2, 2), QVideoFrame::Format_RGB32);
-
- QVERIFY(surface->start(format));
- QCOMPARE(surface->isActive(), true);
- QCOMPARE(surface->isReady(), true);
-
- QVERIFY(item->waitForPaint(1));
-
- QCOMPARE(surface->isActive(), true);
- QCOMPARE(surface->isReady(), true);
-
- QVideoFrame frame(sizeof(rgb32ImageData), QSize(2, 2), 8, QVideoFrame::Format_RGB32);
-
- frame.map(QAbstractVideoBuffer::WriteOnly);
- memcpy(frame.bits(), rgb32ImageData, frame.mappedBytes());
- frame.unmap();
-
- QVERIFY(surface->present(frame));
- QCOMPARE(surface->isActive(), true);
- QCOMPARE(surface->isReady(), false);
-
- QVERIFY(item->waitForPaint(1));
-
- QCOMPARE(surface->isActive(), true);
- QCOMPARE(surface->isReady(), true);
-}
-
-
-QTEST_MAIN(tst_QGraphicsVideoItem)
-
-#include "tst_qgraphicsvideoitem.moc"
diff --git a/tests/auto/qgraphicsview/tst_qgraphicsview.cpp b/tests/auto/qgraphicsview/tst_qgraphicsview.cpp
index 1df9a373b0..b8df7f6b84 100644
--- a/tests/auto/qgraphicsview/tst_qgraphicsview.cpp
+++ b/tests/auto/qgraphicsview/tst_qgraphicsview.cpp
@@ -218,6 +218,7 @@ private slots:
void update();
void update2_data();
void update2();
+ void update_ancestorClipsChildrenToShape();
void inputMethodSensitivity();
void inputContextReset();
void indirectPainting();
@@ -3758,6 +3759,62 @@ void tst_QGraphicsView::update2()
#endif
}
+void tst_QGraphicsView::update_ancestorClipsChildrenToShape()
+{
+ QGraphicsScene scene(-150, -150, 300, 300);
+
+ /*
+ Add three rects:
+
+ +------------------+
+ | child |
+ | +--------------+ |
+ | | parent | |
+ | | +-----------+ |
+ | | |grandParent| |
+ | | +-----------+ |
+ | +--------------+ |
+ +------------------+
+
+ ... where both the parent and the grand parent clips children to shape.
+ */
+ QApplication::processEvents(); // Get rid of pending update.
+
+ QGraphicsRectItem *grandParent = static_cast<QGraphicsRectItem *>(scene.addRect(0, 0, 50, 50));
+ grandParent->setBrush(Qt::black);
+ grandParent->setFlag(QGraphicsItem::ItemClipsChildrenToShape);
+
+ QGraphicsRectItem *parent = static_cast<QGraphicsRectItem *>(scene.addRect(-50, -50, 100, 100));
+ parent->setBrush(QColor(0, 0, 255, 125));
+ parent->setParentItem(grandParent);
+ parent->setFlag(QGraphicsItem::ItemClipsChildrenToShape);
+
+ QGraphicsRectItem *child = static_cast<QGraphicsRectItem *>(scene.addRect(-100, -100, 200, 200));
+ child->setBrush(QColor(255, 0, 0, 125));
+ child->setParentItem(parent);
+
+ CustomView view(&scene);
+ view.show();
+ QTest::qWaitForWindowShown(&view);
+ QTRY_VERIFY(view.painted);
+
+ view.lastUpdateRegions.clear();
+ view.painted = false;
+
+ // Call child->update() and make sure the updated area is within the ancestors' clip.
+ QRectF expected = child->deviceTransform(view.viewportTransform()).mapRect(child->boundingRect());
+ expected &= grandParent->deviceTransform(view.viewportTransform()).mapRect(grandParent->boundingRect());
+
+ child->update();
+ QTRY_VERIFY(view.painted);
+
+#ifndef QT_MAC_USE_COCOA //cocoa doesn't support drawing regions
+ QTRY_VERIFY(view.painted);
+ QCOMPARE(view.lastUpdateRegions.size(), 1);
+ QCOMPARE(view.lastUpdateRegions.at(0), QRegion(expected.toAlignedRect()));
+#endif
+}
+
class FocusItem : public QGraphicsRectItem
{
public:
diff --git a/tests/auto/qgraphicswidget/tst_qgraphicswidget.cpp b/tests/auto/qgraphicswidget/tst_qgraphicswidget.cpp
index 5a1d20b791..ed8ff04cdc 100644
--- a/tests/auto/qgraphicswidget/tst_qgraphicswidget.cpp
+++ b/tests/auto/qgraphicswidget/tst_qgraphicswidget.cpp
@@ -169,6 +169,7 @@ private slots:
void initialShow();
void initialShow2();
void itemChangeEvents();
+ void itemSendGeometryPosChangesDeactivated();
// Task fixes
void task236127_bspTreeIndexFails();
@@ -3030,6 +3031,34 @@ void tst_QGraphicsWidget::itemChangeEvents()
QTRY_VERIFY(!item->valueDuringEvents.value(QEvent::EnabledChange).toBool());
}
+void tst_QGraphicsWidget::itemSendGeometryPosChangesDeactivated()
+{
+ QGraphicsScene scene;
+ QGraphicsView view(&scene);
+ QGraphicsWidget *item = new QGraphicsWidget;
+ scene.addItem(item);
+ view.show();
+ QTest::qWaitForWindowShown(&view);
+ item->setGeometry(QRectF(0, 0, 50, 50));
+ QTRY_COMPARE(item->geometry(), QRectF(0, 0, 50, 50));
+
+ item->setFlag(QGraphicsItem::ItemSendsGeometryChanges, false);
+ item->setGeometry(QRectF(0, 0, 60, 60));
+ QCOMPARE(item->geometry(), QRectF(0, 0, 60, 60));
+ QCOMPARE(item->pos(), QPointF(0, 0));
+ item->setPos(QPointF(10, 10));
+ QCOMPARE(item->pos(), QPointF(10, 10));
+ QCOMPARE(item->geometry(), QRectF(10, 10, 60, 60));
+
+ item->setFlag(QGraphicsItem::ItemSendsScenePositionChanges, false);
+ item->setGeometry(QRectF(0, 0, 60, 60));
+ QCOMPARE(item->geometry(), QRectF(0, 0, 60, 60));
+ QCOMPARE(item->pos(), QPointF(0, 0));
+ item->setPos(QPointF(10, 10));
+ QCOMPARE(item->pos(), QPointF(10, 10));
+ QCOMPARE(item->geometry(), QRectF(10, 10, 60, 60));
+}
+
void tst_QGraphicsWidget::QT_BUG_6544_tabFocusFirstUnsetWhenRemovingItems()
{
QGraphicsScene scene;
diff --git a/tests/auto/qhash/tst_qhash.cpp b/tests/auto/qhash/tst_qhash.cpp
index 59576d9470..3a7b54acce 100644
--- a/tests/auto/qhash/tst_qhash.cpp
+++ b/tests/auto/qhash/tst_qhash.cpp
@@ -1154,6 +1154,26 @@ void tst_QHash::qmultihash_specific()
QVERIFY(i.key() == 9);
QVERIFY(i.value() == 98);
}
+
+ {
+ QMultiHash<int, int> map1;
+ map1.insert(42, 1);
+ map1.insert(10, 2);
+ map1.insert(48, 3);
+ QMultiHash<int, int> map2;
+ map2.insert(8, 4);
+ map2.insert(42, 5);
+ map2.insert(95, 12);
+
+ map1+=map2;
+ map2.insert(42, 1);
+ map2.insert(10, 2);
+ map2.insert(48, 3);
+ QCOMPARE(map1.count(), map2.count());
+ QVERIFY(map1.remove(42,5));
+ QVERIFY(map2.remove(42,5));
+ QVERIFY(map1 == map2);
+ }
}
template <typename T>
diff --git a/tests/auto/qhostaddress/qhostaddress.pro b/tests/auto/qhostaddress/qhostaddress.pro
index b208214103..7bcbfb0165 100644
--- a/tests/auto/qhostaddress/qhostaddress.pro
+++ b/tests/auto/qhostaddress/qhostaddress.pro
@@ -12,3 +12,4 @@ wince*: {
}
}
+symbian: TARGET.CAPABILITY = NetworkServices
diff --git a/tests/auto/qhostinfo/qhostinfo.pro b/tests/auto/qhostinfo/qhostinfo.pro
index 9bfe576f3c..97197a9b95 100644
--- a/tests/auto/qhostinfo/qhostinfo.pro
+++ b/tests/auto/qhostinfo/qhostinfo.pro
@@ -2,7 +2,7 @@ load(qttest_p4)
SOURCES += tst_qhostinfo.cpp
-QT = core network core
+QT = core network
wince*: {
LIBS += ws2.lib
@@ -10,4 +10,7 @@ wince*: {
win32:LIBS += -lws2_32
}
-
+symbian: TARGET.CAPABILITY = NetworkServices
+symbian: {
+ INCLUDEPATH *= $$MW_LAYER_SYSTEMINCLUDE
+}
diff --git a/tests/auto/qhttp/qhttp.pro b/tests/auto/qhttp/qhttp.pro
index 8678a19652..23a73c467f 100644
--- a/tests/auto/qhttp/qhttp.pro
+++ b/tests/auto/qhttp/qhttp.pro
@@ -21,6 +21,7 @@ wince*: {
addFiles.sources = rfc3252.txt trolltech
addFiles.path = .
DEPLOYMENT = addFiles webFiles cgi
+ TARGET.CAPABILITY = NetworkServices
} else:vxworks*: {
DEFINES += SRCDIR=\\\"\\\"
} else {
diff --git a/tests/auto/qhttpnetworkconnection/qhttpnetworkconnection.pro b/tests/auto/qhttpnetworkconnection/qhttpnetworkconnection.pro
index 0021bc1d28..223c4e1c96 100644
--- a/tests/auto/qhttpnetworkconnection/qhttpnetworkconnection.pro
+++ b/tests/auto/qhttpnetworkconnection/qhttpnetworkconnection.pro
@@ -4,3 +4,8 @@ INCLUDEPATH += $$QT_SOURCE_TREE/src/3rdparty/zlib
requires(contains(QT_CONFIG,private_tests))
QT = core network
+
+symbian: TARGET.CAPABILITY = NetworkServices
+symbian: {
+ INCLUDEPATH += $$MW_LAYER_SYSTEMINCLUDE
+}
diff --git a/tests/auto/qhttpnetworkconnection/tst_qhttpnetworkconnection.cpp b/tests/auto/qhttpnetworkconnection/tst_qhttpnetworkconnection.cpp
index 21f228af2b..89f608edcb 100644
--- a/tests/auto/qhttpnetworkconnection/tst_qhttpnetworkconnection.cpp
+++ b/tests/auto/qhttpnetworkconnection/tst_qhttpnetworkconnection.cpp
@@ -109,6 +109,9 @@ private Q_SLOTS:
void getMultipleWithPriorities();
void getEmptyWithPipelining();
+
+ void getAndThenDeleteObject();
+ void getAndThenDeleteObject_data();
};
tst_QHttpNetworkConnection::tst_QHttpNetworkConnection()
@@ -1033,6 +1036,47 @@ void tst_QHttpNetworkConnection::getEmptyWithPipelining()
qDeleteAll(replies);
}
+void tst_QHttpNetworkConnection::getAndThenDeleteObject_data()
+{
+ QTest::addColumn<bool>("replyFirst");
+
+ QTest::newRow("delete-reply-first") << true;
+ QTest::newRow("delete-connection-first") << false;
+}
+
+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(QtNetworkSettings::serverName());
+ QHttpNetworkRequest request("http://" + QtNetworkSettings::serverName() + "/qtest/bigfile");
+ QHttpNetworkReply *reply = connection->sendRequest(request);
+ reply->setDownstreamLimited(true);
+
+ QTime stopWatch;
+ stopWatch.start();
+ forever {
+ QCoreApplication::instance()->processEvents();
+ if (reply->bytesAvailable())
+ break;
+ if (stopWatch.elapsed() >= 30000)
+ break;
+ }
+
+ QVERIFY(reply->bytesAvailable());
+ QCOMPARE(reply->statusCode() ,200);
+ QVERIFY(!reply->isFinished()); // must not be finished
+
+ QFETCH(bool, replyFirst);
+
+ if (replyFirst) {
+ delete reply;
+ delete connection;
+ } else {
+ delete connection;
+ delete reply;
+ }
+}
+
QTEST_MAIN(tst_QHttpNetworkConnection)
diff --git a/tests/auto/qhttpnetworkreply/qhttpnetworkreply.pro b/tests/auto/qhttpnetworkreply/qhttpnetworkreply.pro
index 1782b431a2..36d56c6f20 100644
--- a/tests/auto/qhttpnetworkreply/qhttpnetworkreply.pro
+++ b/tests/auto/qhttpnetworkreply/qhttpnetworkreply.pro
@@ -4,3 +4,4 @@ INCLUDEPATH += $$QT_SOURCE_TREE/src/3rdparty/zlib
requires(contains(QT_CONFIG,private_tests))
QT = core network
+symbian: TARGET.CAPABILITY = NetworkServices
diff --git a/tests/auto/qhttpsocketengine/qhttpsocketengine.pro b/tests/auto/qhttpsocketengine/qhttpsocketengine.pro
index f6ad073b7a..d76ebb6f10 100644
--- a/tests/auto/qhttpsocketengine/qhttpsocketengine.pro
+++ b/tests/auto/qhttpsocketengine/qhttpsocketengine.pro
@@ -8,5 +8,6 @@ MOC_DIR=tmp
QT = core network
+symbian: TARGET.CAPABILITY = NetworkServices
diff --git a/tests/auto/qimagereader/tst_qimagereader.cpp b/tests/auto/qimagereader/tst_qimagereader.cpp
index 1b4c502896..fe2a719bb7 100644
--- a/tests/auto/qimagereader/tst_qimagereader.cpp
+++ b/tests/auto/qimagereader/tst_qimagereader.cpp
@@ -114,6 +114,9 @@ private slots:
void readFromFileAfterJunk_data();
void readFromFileAfterJunk();
+ void devicePosition_data();
+ void devicePosition();
+
void setBackgroundColor_data();
void setBackgroundColor();
@@ -135,6 +138,9 @@ private slots:
void sizeBeforeRead_data();
void sizeBeforeRead();
+ void sizeBeforeFormat_data();
+ void sizeBeforeFormat();
+
void imageFormatBeforeRead_data();
void imageFormatBeforeRead();
@@ -703,6 +709,31 @@ void tst_QImageReader::sizeBeforeRead()
QCOMPARE(size, image.size());
}
+void tst_QImageReader::sizeBeforeFormat_data()
+{
+ imageFormat_data();
+}
+
+void tst_QImageReader::sizeBeforeFormat()
+{
+ QFETCH(QString, fileName);
+
+ QByteArray formatA, formatB;
+
+ {
+ QImageReader reader(prefix + fileName);
+ formatA = reader.format();
+ }
+
+ {
+ QImageReader reader(prefix + fileName);
+ QSize size = reader.size();
+ formatB = reader.format();
+ }
+
+ QCOMPARE(formatA, formatB);
+}
+
void tst_QImageReader::imageFormatBeforeRead_data()
{
imageFormat_data();
@@ -1117,7 +1148,7 @@ void tst_QImageReader::readFromFileAfterJunk()
QByteArray imageData = imageFile.readAll();
QVERIFY(!imageData.isNull());
- int iterations = 10;
+ int iterations = 3;
if (format == "ppm" || format == "pbm" || format == "pgm" || format == "svg" || format == "svgz")
iterations = 1;
@@ -1147,6 +1178,64 @@ void tst_QImageReader::readFromFileAfterJunk()
}
}
+void tst_QImageReader::devicePosition_data()
+{
+ QTest::addColumn<QString>("fileName");
+ QTest::addColumn<QByteArray>("format");
+
+ QTest::newRow("pbm") << QString("image.pbm") << QByteArray("pbm");
+ QTest::newRow("pgm") << QString("image.pgm") << QByteArray("pgm");
+ QTest::newRow("ppm-1") << QString("image.ppm") << QByteArray("ppm");
+#ifdef QTEST_HAVE_JPEG
+ QTest::newRow("jpeg-1") << QString("beavis.jpg") << QByteArray("jpeg");
+ QTest::newRow("jpeg-2") << QString("YCbCr_cmyk.jpg") << QByteArray("jpeg");
+ QTest::newRow("jpeg-3") << QString("YCbCr_rgb.jpg") << QByteArray("jpeg");
+#endif
+#if defined QTEST_HAVE_GIF
+ QTest::newRow("gif-1") << QString("earth.gif") << QByteArray("gif");
+#endif
+ QTest::newRow("xbm") << QString("gnus.xbm") << QByteArray("xbm");
+ QTest::newRow("xpm") << QString("marble.xpm") << QByteArray("xpm");
+ QTest::newRow("bmp-1") << QString("colorful.bmp") << QByteArray("bmp");
+ QTest::newRow("bmp-2") << QString("font.bmp") << QByteArray("bmp");
+ QTest::newRow("png") << QString("kollada.png") << QByteArray("png");
+// QTest::newRow("mng-1") << QString("images/ball.mng") << QByteArray("mng");
+// QTest::newRow("mng-2") << QString("images/fire.mng") << QByteArray("mng");
+#if defined QTEST_HAVE_SVG
+ QTest::newRow("svg") << QString("rect.svg") << QByteArray("svg");
+ QTest::newRow("svgz") << QString("rect.svgz") << QByteArray("svgz");
+#endif
+}
+
+void tst_QImageReader::devicePosition()
+{
+ QFETCH(QString, fileName);
+ QFETCH(QByteArray, format);
+
+ QImage expected(prefix + fileName);
+ QVERIFY(!expected.isNull());
+
+ QFile imageFile(prefix + fileName);
+ QVERIFY(imageFile.open(QFile::ReadOnly));
+ QByteArray imageData = imageFile.readAll();
+ QVERIFY(!imageData.isNull());
+ int imageDataSize = imageData.size();
+
+ const char *preStr = "prebeef\n";
+ int preLen = qstrlen(preStr);
+ imageData.prepend(preStr);
+ if (format != "svg" && format != "svgz") // Doesn't handle trailing data
+ imageData.append("\npostbeef");
+ QBuffer buf(&imageData);
+ buf.open(QIODevice::ReadOnly);
+ buf.seek(preLen);
+ QImageReader reader(&buf, format);
+ QCOMPARE(expected, reader.read());
+ if (format != "ppm" && format != "gif") // Known not to work
+ QCOMPARE(buf.pos(), qint64(preLen+imageDataSize));
+}
+
+
void tst_QImageReader::description_data()
{
QTest::addColumn<QString>("fileName");
@@ -1823,14 +1912,14 @@ void tst_QImageReader::testIgnoresFormatAndExtension()
QFETCH(QString, expected);
QList<QByteArray> formats = QImageReader::supportedImageFormats();
- QString fileNameBase = "images/" + name + ".";
+ QString fileNameBase = prefix + name + ".";
foreach (const QByteArray &f, formats) {
if (f == extension)
continue;
QFile tmp(QDir::tempPath() + "/" + name + "_" + expected + "." + f);
- QFile::copy(fileNameBase + extension, QFileInfo(tmp).absoluteFilePath());
+ QVERIFY(QFile::copy(fileNameBase + extension, QFileInfo(tmp).absoluteFilePath()));
QString format;
QImage image;
diff --git a/tests/auto/qimagewriter/qimagewriter.pro b/tests/auto/qimagewriter/qimagewriter.pro
index 8da2942048..2171c3ed91 100644
--- a/tests/auto/qimagewriter/qimagewriter.pro
+++ b/tests/auto/qimagewriter/qimagewriter.pro
@@ -6,12 +6,12 @@ win32-msvc:QMAKE_CXXFLAGS -= -Zm200
win32-msvc:QMAKE_CXXFLAGS += -Zm800
wince*: {
- addFiles.sources = images\*.*
+ addFiles.sources = images\\*.*
addFiles.path = images
DEPLOYMENT += addFiles
DEFINES += SRCDIR=\\\".\\\"
} else:symbian* {
- addFiles.sources = images\*.*
+ addFiles.sources = images\\*.*
addFiles.path = images
DEPLOYMENT += addFiles
qt_not_deployed {
diff --git a/tests/auto/qiodevice/qiodevice.pro b/tests/auto/qiodevice/qiodevice.pro
index e695bf6843..716cdcef10 100644
--- a/tests/auto/qiodevice/qiodevice.pro
+++ b/tests/auto/qiodevice/qiodevice.pro
@@ -14,6 +14,7 @@ wince*: {
addFiles.sources = tst_qiodevice.cpp
addFiles.path = .
DEPLOYMENT += addFiles
+ TARGET.CAPABILITY = NetworkServices
} else {
DEFINES += SRCDIR=\\\"$$PWD/\\\"
contains(QT_CONFIG, qt3support):QT += qt3support
diff --git a/tests/auto/qlibrary/lib2/lib2.pro b/tests/auto/qlibrary/lib2/lib2.pro
index 4654f4da1a..b441569e5a 100644
--- a/tests/auto/qlibrary/lib2/lib2.pro
+++ b/tests/auto/qlibrary/lib2/lib2.pro
@@ -38,9 +38,9 @@ symbian-abld: {
TARGET.CAPABILITY=ALL -TCB
FIXEDROOT = $$replace(EPOCROOT,/,\\)
QMAKE_POST_LINK = \
- copy /Y $${FIXEDROOT}epoc32\release\\$(PLATFORM)\\$(CFG)\mylib.dll $${FIXEDROOT}epoc32\release\\$(PLATFORM)\\$(CFG)\mylib.dl2 && \
- copy /Y $${FIXEDROOT}epoc32\release\\$(PLATFORM)\\$(CFG)\mylib.dll $${FIXEDROOT}epoc32\release\\$(PLATFORM)\\$(CFG)\system.trolltech.test.mylib.dll && \
- IF NOT "$(PLATFORM)==WINSCW" copy /Y $${FIXEDROOT}epoc32\release\\$(PLATFORM)\\$(CFG)\mylib.dll ..\tst\mylib.dl2
+ copy /Y $${FIXEDROOT}epoc32\\release\\$(PLATFORM)\\$(CFG)\\mylib.dll $${FIXEDROOT}epoc32\\release\\$(PLATFORM)\\$(CFG)\\mylib.dl2 && \
+ copy /Y $${FIXEDROOT}epoc32\\release\\$(PLATFORM)\\$(CFG)\\mylib.dll $${FIXEDROOT}epoc32\\release\\$(PLATFORM)\\$(CFG)\\system.trolltech.test.mylib.dll && \
+ IF NOT "$(PLATFORM)==WINSCW" copy /Y $${FIXEDROOT}epoc32\\release\\$(PLATFORM)\\$(CFG)\\mylib.dll ..\\tst\\mylib.dl2
}
symbian-sbsv2: {
diff --git a/tests/auto/qlocale/test/test.pro b/tests/auto/qlocale/test/test.pro
index 7bc9f59521..e33d0fe4fc 100644
--- a/tests/auto/qlocale/test/test.pro
+++ b/tests/auto/qlocale/test/test.pro
@@ -25,7 +25,7 @@ wince*: {
addFiles.sources = \
../syslocaleapp
- addFiles.path = \Program Files\tst_qlocale
+ addFiles.path = "\\Program Files\\tst_qlocale"
DEPLOYMENT += addFiles
}
@@ -36,4 +36,4 @@ symbian:contains(S60_VERSION,3.2) {
"PAGED" \
"$${LITERAL_HASH}endif"
MMP_RULES += custom_paged_rule
-} \ No newline at end of file
+}
diff --git a/tests/auto/qlocale/tst_qlocale.cpp b/tests/auto/qlocale/tst_qlocale.cpp
index 7a5d8a6c00..7e9b8ec3d0 100644
--- a/tests/auto/qlocale/tst_qlocale.cpp
+++ b/tests/auto/qlocale/tst_qlocale.cpp
@@ -192,6 +192,7 @@ void tst_QLocale::ctor()
TEST_CTOR(French, France, QLocale::French, QLocale::France)
TEST_CTOR(C, France, QLocale::C, QLocale::AnyCountry)
+ TEST_CTOR(Spanish, LatinAmericaAndTheCaribbean, QLocale::Spanish, QLocale::LatinAmericaAndTheCaribbean)
QLocale::setDefault(QLocale(QLocale::English, QLocale::France));
@@ -323,6 +324,12 @@ void tst_QLocale::ctor()
TEST_CTOR("no_NO", Norwegian, Norway)
TEST_CTOR("nb_NO", Norwegian, Norway)
TEST_CTOR("nn_NO", NorwegianNynorsk, Norway)
+ TEST_CTOR("es_ES", Spanish, Spain)
+ TEST_CTOR("es_419", Spanish, LatinAmericaAndTheCaribbean)
+
+ // test default countries for languages
+ TEST_CTOR("mn", Mongolian, Mongolia)
+ TEST_CTOR("ne", Nepali, Nepal)
#undef TEST_CTOR
@@ -1321,10 +1328,12 @@ static const LocaleListItem g_locale_list[] = {
{ 9, 11}, // Armenian/Armenia
{ 10, 100}, // Assamese/India
{ 12, 15}, // Azerbaijani/Azerbaijan
+ { 12, 102}, // Azerbaijani/Iran
{ 14, 197}, // Basque/Spain
{ 15, 18}, // Bengali/Bangladesh
{ 15, 100}, // Bengali/India
{ 16, 25}, // Bhutani/Bhutan
+ { 19, 74}, // Breton/France
{ 20, 33}, // Bulgarian/Bulgaria
{ 21, 147}, // Burmese/Myanmar
{ 22, 20}, // Byelorussian/Belarus
@@ -1354,6 +1363,7 @@ static const LocaleListItem g_locale_list[] = {
{ 31, 107}, // English/Jamaica
{ 31, 133}, // English/Malta
{ 31, 134}, // English/MarshallIslands
+ { 31, 137}, // English/Mauritius
{ 31, 148}, // English/Namibia
{ 31, 154}, // English/NewZealand
{ 31, 160}, // English/NorthernMarianaIslands
@@ -1371,11 +1381,23 @@ static const LocaleListItem g_locale_list[] = {
{ 36, 73}, // Finnish/Finland
{ 37, 74}, // French/France
{ 37, 21}, // French/Belgium
+ { 37, 37}, // French/Cameroon
{ 37, 38}, // French/Canada
+ { 37, 41}, // French/CentralAfricanRepublic
+ { 37, 53}, // French/IvoryCoast
+ { 37, 88}, // French/Guadeloupe
+ { 37, 91}, // French/Guinea
{ 37, 125}, // French/Luxembourg
+ { 37, 128}, // French/Madagascar
+ { 37, 132}, // French/Mali
+ { 37, 135}, // French/Martinique
{ 37, 142}, // French/Monaco
+ { 37, 156}, // French/Niger
+ { 37, 176}, // French/Reunion
{ 37, 187}, // French/Senegal
{ 37, 206}, // French/Switzerland
+ { 37, 244}, // French/Saint Barthelemy
+ { 37, 245}, // French/Saint Martin
{ 40, 197}, // Galician/Spain
{ 41, 81}, // Georgian/Georgia
{ 42, 82}, // German/Germany
@@ -1406,6 +1428,9 @@ static const LocaleListItem g_locale_list[] = {
{ 64, 179}, // Kinyarwanda/Rwanda
{ 65, 116}, // Kirghiz/Kyrgyzstan
{ 66, 114}, // Korean/RepublicOfKorea
+ { 67, 102}, // Kurdish/Iran
+ { 67, 103}, // Kurdish/Iraq
+ { 67, 207}, // Kurdish/SyrianArabRepublic
{ 67, 217}, // Kurdish/Turkey
{ 69, 117}, // Laothian/Lao
{ 71, 118}, // Latvian/Latvia
@@ -1413,16 +1438,19 @@ static const LocaleListItem g_locale_list[] = {
{ 72, 50}, // Lingala/PeoplesRepublicOfCongo
{ 73, 124}, // Lithuanian/Lithuania
{ 74, 127}, // Macedonian/Macedonia
+ { 75, 128}, // Malagasy/Madagascar
{ 76, 130}, // Malay/Malaysia
{ 76, 32}, // Malay/BruneiDarussalam
{ 77, 100}, // Malayalam/India
{ 78, 133}, // Maltese/Malta
+ { 79, 154}, // Maori/NewZealand
{ 80, 100}, // Marathi/India
{ 82, 44}, // Mongolian/China
{ 82, 143}, // Mongolian/Mongolia
{ 84, 100}, // Nepali/India
{ 84, 150}, // Nepali/Nepal
{ 85, 161}, // Norwegian/Norway
+ { 86, 74}, // Occitan/France
{ 87, 100}, // Oriya/India
{ 88, 1}, // Pashto/Afghanistan
{ 89, 102}, // Persian/Iran
@@ -1430,22 +1458,30 @@ static const LocaleListItem g_locale_list[] = {
{ 90, 172}, // Polish/Poland
{ 91, 173}, // Portuguese/Portugal
{ 91, 30}, // Portuguese/Brazil
+ { 91, 92}, // Portuguese/GuineaBissau
+ { 91, 146}, // Portuguese/Mozambique
{ 92, 100}, // Punjabi/India
{ 92, 163}, // Punjabi/Pakistan
+ { 94, 206}, // RhaetoRomance/Switzerland
{ 95, 141}, // Romanian/Moldova
{ 95, 177}, // Romanian/Romania
{ 96, 178}, // Russian/RussianFederation
+ { 96, 141}, // Russian/Moldova
{ 96, 222}, // Russian/Ukraine
+ { 98, 41}, // Sangho/CentralAfricanRepublic
{ 99, 100}, // Sanskrit/India
{ 100, 241}, // Serbian/SerbiaAndMontenegro
{ 100, 27}, // Serbian/BosniaAndHerzegowina
{ 100, 238}, // Serbian/Yugoslavia
+ { 100, 242}, // Serbian/Montenegro
+ { 100, 243}, // Serbian/Serbia
{ 101, 241}, // SerboCroatian/SerbiaAndMontenegro
{ 101, 27}, // SerboCroatian/BosniaAndHerzegowina
{ 101, 238}, // SerboCroatian/Yugoslavia
{ 102, 120}, // Sesotho/Lesotho
{ 102, 195}, // Sesotho/SouthAfrica
{ 103, 195}, // Setswana/SouthAfrica
+ { 104, 240}, // Shona/Zimbabwe
{ 106, 198}, // Singhalese/SriLanka
{ 107, 195}, // Siswati/SouthAfrica
{ 107, 204}, // Siswati/Swaziland
@@ -1464,6 +1500,7 @@ static const LocaleListItem g_locale_list[] = {
{ 111, 61}, // Spanish/DominicanRepublic
{ 111, 63}, // Spanish/Ecuador
{ 111, 65}, // Spanish/ElSalvador
+ { 111, 66}, // Spanish/EquatorialGuinea
{ 111, 90}, // Spanish/Guatemala
{ 111, 96}, // Spanish/Honduras
{ 111, 139}, // Spanish/Mexico
@@ -1481,9 +1518,12 @@ static const LocaleListItem g_locale_list[] = {
{ 114, 73}, // Swedish/Finland
{ 116, 209}, // Tajik/Tajikistan
{ 117, 100}, // Tamil/India
+ { 117, 198}, // Tamil/SriLanka
{ 118, 178}, // Tatar/RussianFederation
{ 119, 100}, // Telugu/India
{ 120, 211}, // Thai/Thailand
+ { 121, 44}, // Tibetan/China
+ { 121, 100}, // Tibetan/India
{ 122, 67}, // Tigrinya/Eritrea
{ 122, 69}, // Tigrinya/Ethiopia
{ 123, 214}, // Tonga/Tonga
@@ -1524,9 +1564,63 @@ static const LocaleListItem g_locale_list[] = {
{ 160, 195}, // Venda/SouthAfrica
{ 161, 83}, // Ewe/Ghana
{ 161, 212}, // Ewe/Togo
+ { 162, 69}, // Walamo/Ethiopia
{ 163, 225}, // Hawaiian/UnitedStates
{ 164, 157}, // Tyap/Nigeria
- { 165, 129} // Chewa/Malawi
+ { 165, 129}, // Chewa/Malawi
+ { 166, 170}, // Filipino/Philippines
+ { 167, 206}, // Swiss German/Switzerland
+ { 168, 44}, // Sichuan Yi/China
+ { 169, 91}, // Kpelle/Guinea
+ { 169, 121}, // Kpelle/Liberia
+ { 170, 82}, // Low German/Germany
+ { 171, 195}, // South Ndebele/SouthAfrica
+ { 172, 195}, // Northern Sotho/SouthAfrica
+ { 173, 73}, // Northern Sami/Finland
+ { 173, 161}, // Northern Sami/Norway
+ { 174, 208}, // Taroko/Taiwan
+ { 175, 111}, // Gusii/Kenya
+ { 176, 111}, // Taita/Kenya
+ { 177, 187}, // Fulah/Senegal
+ { 178, 111}, // Kikuyu/Kenya
+ { 179, 111}, // Samburu/Kenya
+ { 180, 146}, // Sena/Mozambique
+ { 181, 240}, // North Ndebele/Zimbabwe
+ { 182, 210}, // Rombo/Tanzania
+ { 183, 145}, // Tachelhit/Morocco
+ { 184, 3}, // Kabyle/Algeria
+ { 185, 221}, // Nyankole/Uganda
+ { 186, 210}, // Bena/Tanzania
+ { 187, 210}, // Vunjo/Tanzania
+ { 188, 132}, // Bambara/Mali
+ { 189, 111}, // Embu/Kenya
+ { 190, 225}, // Cherokee/UnitedStates
+ { 191, 137}, // Morisyen/Mauritius
+ { 192, 210}, // Makonde/Tanzania
+ { 193, 210}, // Langi/Tanzania
+ { 194, 221}, // Ganda/Uganda
+ { 195, 239}, // Bemba/Zambia
+ { 196, 39}, // Kabuverdianu/CapeVerde
+ { 197, 111}, // Meru/Kenya
+ { 198, 111}, // Kalenjin/Kenya
+ { 199, 148}, // Nama/Namibia
+ { 200, 210}, // Machame/Tanzania
+ { 201, 82}, // Colognian/Germany
+ { 202, 111}, // Masai/Kenya
+ { 202, 210}, // Masai/Tanzania
+ { 203, 221}, // Soga/Uganda
+ { 204, 111}, // Luyia/Kenya
+ { 205, 210}, // Asu/Tanzania
+ { 206, 111}, // Teso/Kenya
+ { 206, 221}, // Teso/Uganda
+ { 207, 67}, // Saho/Eritrea
+ { 208, 132}, // Koyra Chiini/Mali
+ { 209, 210}, // Rwa/Tanzania
+ { 210, 111}, // Luo/Kenya
+ { 211, 221}, // Chiga/Uganda
+ { 212, 145}, // Central Morocco Tamazight/Morocco
+ { 213, 132}, // Koyraboro Senni/Mali
+ { 214, 210} // Shambala/Tanzania
};
static const int g_locale_list_count = sizeof(g_locale_list)/sizeof(g_locale_list[0]);
@@ -1896,8 +1990,8 @@ void tst_QLocale::ampm()
QCOMPARE(c.pmText(), QLatin1String("PM"));
QLocale de("de_DE");
- QCOMPARE(de.amText(), QLatin1String("AM"));
- QCOMPARE(de.pmText(), QLatin1String("PM"));
+ QCOMPARE(de.amText(), QLatin1String("vorm."));
+ QCOMPARE(de.pmText(), QLatin1String("nachm."));
QLocale sv("sv_SE");
QCOMPARE(sv.amText(), QLatin1String("fm"));
diff --git a/tests/auto/qlocalsocket/example/client/client.pro b/tests/auto/qlocalsocket/example/client/client.pro
index eb7e6e67a4..84f20d6ec0 100644
--- a/tests/auto/qlocalsocket/example/client/client.pro
+++ b/tests/auto/qlocalsocket/example/client/client.pro
@@ -1,14 +1,8 @@
-######################################################################
-# Automatically generated by qmake (2.01a) Wed Jun 6 17:07:12 2007
-######################################################################
-
TEMPLATE = app
TARGET =
DEPENDPATH += .
INCLUDEPATH += .
CONFIG += console
-include(../../src/src.pri)
-# Input
QT = core network
SOURCES += main.cpp
diff --git a/tests/auto/qlocalsocket/example/server/server.pro b/tests/auto/qlocalsocket/example/server/server.pro
index 438462d064..bfd14d2bb7 100644
--- a/tests/auto/qlocalsocket/example/server/server.pro
+++ b/tests/auto/qlocalsocket/example/server/server.pro
@@ -1,7 +1,3 @@
-######################################################################
-# Automatically generated by qmake (2.01a) Wed Jun 6 15:16:48 2007
-######################################################################
-
TEMPLATE = app
TARGET =
DEPENDPATH += .
@@ -11,8 +7,6 @@ CONFIG += console
QT = core network
-include(../../src/src.pri)
-
# Input
SOURCES += main.cpp
diff --git a/tests/auto/qlocalsocket/qlocalsocket.pro b/tests/auto/qlocalsocket/qlocalsocket.pro
index 0849453aac..287e946aae 100644
--- a/tests/auto/qlocalsocket/qlocalsocket.pro
+++ b/tests/auto/qlocalsocket/qlocalsocket.pro
@@ -1,3 +1,4 @@
TEMPLATE = subdirs
SUBDIRS = lackey test
!wince*:!symbian*: SUBDIRS += example
+symbian: TARGET.CAPABILITY = NetworkServices
diff --git a/tests/auto/qlocalsocket/test/test.pro b/tests/auto/qlocalsocket/test/test.pro
index cfdc89be5d..687aae2b56 100644
--- a/tests/auto/qlocalsocket/test/test.pro
+++ b/tests/auto/qlocalsocket/test/test.pro
@@ -34,7 +34,7 @@ wince* {
symbian {
additionalFiles.sources = lackey.exe
- additionalFiles.path = \sys\bin
+ additionalFiles.path = \\sys\\bin
TARGET.UID3 = 0xE0340005
DEFINES += SYMBIAN_SRCDIR_UID=$$lower($$replace(TARGET.UID3,"0x",""))
}
diff --git a/tests/auto/qlocalsocket/tst_qlocalsocket.cpp b/tests/auto/qlocalsocket/tst_qlocalsocket.cpp
index 44f3c12a83..9c0991770e 100644
--- a/tests/auto/qlocalsocket/tst_qlocalsocket.cpp
+++ b/tests/auto/qlocalsocket/tst_qlocalsocket.cpp
@@ -115,7 +115,8 @@ private slots:
void writeToClientAndDisconnect();
void debug();
void bytesWrittenSignal();
-
+ void syncDisconnectNotify();
+ void asyncDisconnectNotify();
#ifdef Q_OS_SYMBIAN
private:
@@ -683,25 +684,11 @@ public:
QString testLine = "test";
LocalSocket socket;
QSignalSpy spyReadyRead(&socket, SIGNAL(readyRead()));
- int tries = 0;
- do {
- socket.connectToServer("qlocalsocket_threadtest");
- if (socket.error() != QLocalSocket::ServerNotFoundError
- && socket.error() != QLocalSocket::ConnectionRefusedError)
- break;
- QTest::qWait(100);
- ++tries;
- } while ((socket.error() == QLocalSocket::ServerNotFoundError
- || socket.error() == QLocalSocket::ConnectionRefusedError)
- && tries < 1000);
- if (tries == 0 && socket.state() != QLocalSocket::ConnectedState) {
- QVERIFY(socket.waitForConnected(7000));
- QVERIFY(socket.state() == QLocalSocket::ConnectedState);
- }
+ socket.connectToServer("qlocalsocket_threadtest");
+ QVERIFY(socket.waitForConnected(1000));
// We should *not* have this signal yet!
- if (tries == 0)
- QCOMPARE(spyReadyRead.count(), 0);
+ QCOMPARE(spyReadyRead.count(), 0);
socket.waitForReadyRead();
QCOMPARE(spyReadyRead.count(), 1);
QTextStream in(&socket);
@@ -715,6 +702,8 @@ class Server : public QThread
public:
int clients;
+ QMutex mutex;
+ QWaitCondition wc;
void run()
{
QString testLine = "test";
@@ -722,6 +711,9 @@ public:
server.setMaxPendingConnections(10);
QVERIFY2(server.listen("qlocalsocket_threadtest"),
server.errorString().toLatin1().constData());
+ mutex.lock();
+ wc.wakeAll();
+ mutex.unlock();
int done = clients;
while (done > 0) {
bool timedOut = true;
@@ -746,14 +738,9 @@ void tst_QLocalSocket::threadedConnection_data()
QTest::addColumn<int>("threads");
QTest::newRow("1 client") << 1;
QTest::newRow("2 clients") << 2;
-#ifdef Q_OS_WINCE
- QTest::newRow("4 clients") << 4;
-#endif
-#ifndef Q_OS_WIN
QTest::newRow("5 clients") << 5;
- QTest::newRow("10 clients") << 10;
-#endif
#ifndef Q_OS_WINCE
+ QTest::newRow("10 clients") << 10;
QTest::newRow("20 clients") << 20;
#endif
}
@@ -770,7 +757,9 @@ void tst_QLocalSocket::threadedConnection()
server.setStackSize(0x14000);
#endif
server.clients = threads;
+ server.mutex.lock();
server.start();
+ server.wc.wait(&server.mutex);
QList<Client*> clients;
for (int i = 0; i < threads; ++i) {
@@ -784,9 +773,7 @@ void tst_QLocalSocket::threadedConnection()
server.wait();
while (!clients.isEmpty()) {
QVERIFY(clients.first()->wait(3000));
- Client *client =clients.takeFirst();
- client->terminate();
- delete client;
+ delete clients.takeFirst();
}
}
@@ -994,6 +981,7 @@ void tst_QLocalSocket::writeToClientAndDisconnect()
QLocalServer server;
QLocalSocket client;
+ QSignalSpy readChannelFinishedSpy(&client, SIGNAL(readChannelFinished()));
QVERIFY(server.listen("writeAndDisconnectServer"));
client.connectToServer("writeAndDisconnectServer");
@@ -1006,10 +994,12 @@ void tst_QLocalSocket::writeToClientAndDisconnect()
memset(buffer, 0, sizeof(buffer));
QCOMPARE(clientSocket->write(buffer, sizeof(buffer)), (qint64)sizeof(buffer));
clientSocket->waitForBytesWritten();
- clientSocket->disconnectFromServer();
- QVERIFY(client.waitForReadyRead());
+ clientSocket->close();
+ server.close();
+
+ QTRY_COMPARE(readChannelFinishedSpy.count(), 1);
QCOMPARE(client.read(buffer, sizeof(buffer)), (qint64)sizeof(buffer));
- QVERIFY(client.waitForDisconnected());
+ client.waitForDisconnected();
QCOMPARE(client.state(), QLocalSocket::UnconnectedState);
}
@@ -1065,6 +1055,41 @@ void tst_QLocalSocket::bytesWrittenSignal()
QVERIFY(writeThread.wait(2000));
}
+void tst_QLocalSocket::syncDisconnectNotify()
+{
+#ifdef Q_OS_SYMBIAN
+ unlink("syncDisconnectNotify");
+#endif
+
+ QLocalServer server;
+ QVERIFY(server.listen("syncDisconnectNotify"));
+ QLocalSocket client;
+ client.connectToServer("syncDisconnectNotify");
+ QVERIFY(server.waitForNewConnection());
+ QLocalSocket* serverSocket = server.nextPendingConnection();
+ QVERIFY(serverSocket);
+ delete serverSocket;
+ QCOMPARE(client.waitForReadyRead(), false);
+}
+
+void tst_QLocalSocket::asyncDisconnectNotify()
+{
+#ifdef Q_OS_SYMBIAN
+ unlink("asyncDisconnectNotify");
+#endif
+
+ QLocalServer server;
+ QVERIFY(server.listen("asyncDisconnectNotify"));
+ QLocalSocket client;
+ QSignalSpy disconnectedSpy(&client, SIGNAL(disconnected()));
+ client.connectToServer("asyncDisconnectNotify");
+ QVERIFY(server.waitForNewConnection());
+ QLocalSocket* serverSocket = server.nextPendingConnection();
+ QVERIFY(serverSocket);
+ delete serverSocket;
+ QTRY_VERIFY(!disconnectedSpy.isEmpty());
+}
+
#ifdef Q_OS_SYMBIAN
void tst_QLocalSocket::unlink(QString name)
{
diff --git a/tests/auto/qmainwindow/qmainwindow.pro b/tests/auto/qmainwindow/qmainwindow.pro
index 43d73ae252..e015f95ec1 100644
--- a/tests/auto/qmainwindow/qmainwindow.pro
+++ b/tests/auto/qmainwindow/qmainwindow.pro
@@ -2,5 +2,5 @@ load(qttest_p4)
SOURCES += tst_qmainwindow.cpp
# Symbian toolchain does not support correct include semantics
-symbian:INCPATH+=..\..\..\include\QtGui\private
+symbian:INCPATH+=..\\..\\..\\include\\QtGui\\private
diff --git a/tests/auto/qmake/testdata/functions/functions.pro b/tests/auto/qmake/testdata/functions/functions.pro
index 5e089e403f..ad66ee863d 100644
--- a/tests/auto/qmake/testdata/functions/functions.pro
+++ b/tests/auto/qmake/testdata/functions/functions.pro
@@ -53,7 +53,7 @@ include( infiletest.pro, "", true )
#replace
VERSION=1.0.0
-VERSION_replaced=$$replace(VERSION,\.,_)
+VERSION_replaced=$$replace(VERSION,\\.,_)
!isEqual(VERSION_replaced, 1_0_0) {
message( "FAILED: replace function: $$VERSION_replaced" )
}
diff --git a/tests/auto/qmap/tst_qmap.cpp b/tests/auto/qmap/tst_qmap.cpp
index d3ed76dcd4..a1b8de72fd 100644
--- a/tests/auto/qmap/tst_qmap.cpp
+++ b/tests/auto/qmap/tst_qmap.cpp
@@ -837,6 +837,26 @@ void tst_QMap::qmultimap_specific()
QVERIFY(i.key() == 9);
QVERIFY(i.value() == 98);
}
+
+ {
+ QMultiMap<int, int> map1;
+ map1.insert(42, 1);
+ map1.insert(10, 2);
+ map1.insert(48, 3);
+ QMultiMap<int, int> map2;
+ map2.insert(8, 4);
+ map2.insert(42, 5);
+ map2.insert(95, 12);
+
+ map1+=map2;
+ map2.insert(42, 1);
+ map2.insert(10, 2);
+ map2.insert(48, 3);
+ QCOMPARE(map1.count(), map2.count());
+ QVERIFY(map1.remove(42,5));
+ QVERIFY(map2.remove(42,5));
+ QVERIFY(map1 == map2);
+ }
}
QTEST_APPLESS_MAIN(tst_QMap)
diff --git a/tests/auto/qmediacontent/qmediacontent.pro b/tests/auto/qmediacontent/qmediacontent.pro
deleted file mode 100644
index e20b4db8ec..0000000000
--- a/tests/auto/qmediacontent/qmediacontent.pro
+++ /dev/null
@@ -1,6 +0,0 @@
-load(qttest_p4)
-
-SOURCES += tst_qmediacontent.cpp
-
-QT = core network mediaservices
-
diff --git a/tests/auto/qmediacontent/tst_qmediacontent.cpp b/tests/auto/qmediacontent/tst_qmediacontent.cpp
deleted file mode 100644
index e33149a5e6..0000000000
--- a/tests/auto/qmediacontent/tst_qmediacontent.cpp
+++ /dev/null
@@ -1,174 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the test suite of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include <QtTest/QtTest>
-
-#include <QtMediaServices/qmediacontent.h>
-
-
-class tst_QMediaContent : public QObject
-{
- Q_OBJECT
-
-private slots:
- void testNull();
- void testUrlCtor();
- void testRequestCtor();
- void testResourceCtor();
- void testResourceListCtor();
- void testCopy();
- void testAssignment();
- void testEquality();
- void testResources();
-};
-
-void tst_QMediaContent::testNull()
-{
- QMediaContent media;
-
- QCOMPARE(media.isNull(), true);
- QCOMPARE(media.canonicalUrl(), QUrl());
- QCOMPARE(media.canonicalResource(), QMediaResource());
- QCOMPARE(media.resources(), QMediaResourceList());
-}
-
-void tst_QMediaContent::testUrlCtor()
-{
- QMediaContent media(QUrl("http://example.com/movie.mov"));
-
- QCOMPARE(media.canonicalUrl(), QUrl("http://example.com/movie.mov"));
- QCOMPARE(media.canonicalResource().url(), QUrl("http://example.com/movie.mov"));
-}
-
-void tst_QMediaContent::testRequestCtor()
-{
- QNetworkRequest request(QUrl("http://example.com/movie.mov"));
- request.setAttribute(QNetworkRequest::User, QVariant(1234));
-
- QMediaContent media(request);
-
- QCOMPARE(media.canonicalRequest(), request);
- QCOMPARE(media.canonicalUrl(), QUrl("http://example.com/movie.mov"));
- QCOMPARE(media.canonicalResource().request(), request);
- QCOMPARE(media.canonicalResource().url(), QUrl("http://example.com/movie.mov"));
-}
-
-void tst_QMediaContent::testResourceCtor()
-{
- QMediaContent media(QMediaResource(QUrl("http://example.com/movie.mov")));
-
- QCOMPARE(media.canonicalResource(), QMediaResource(QUrl("http://example.com/movie.mov")));
-}
-
-void tst_QMediaContent::testResourceListCtor()
-{
- QMediaResourceList resourceList;
- resourceList << QMediaResource(QUrl("http://example.com/movie.mov"));
-
- QMediaContent media(resourceList);
-
- QCOMPARE(media.canonicalUrl(), QUrl("http://example.com/movie.mov"));
- QCOMPARE(media.canonicalResource().url(), QUrl("http://example.com/movie.mov"));
-}
-
-void tst_QMediaContent::testCopy()
-{
- QMediaContent media1(QMediaResource(QUrl("http://example.com/movie.mov")));
- QMediaContent media2(media1);
-
- QVERIFY(media1 == media2);
-}
-
-void tst_QMediaContent::testAssignment()
-{
- QMediaContent media1(QMediaResource(QUrl("http://example.com/movie.mov")));
- QMediaContent media2;
- QMediaContent media3;
-
- media2 = media1;
- QVERIFY(media2 == media1);
-
- media2 = media3;
- QVERIFY(media2 == media3);
-}
-
-void tst_QMediaContent::testEquality()
-{
- QMediaContent media1;
- QMediaContent media2;
- QMediaContent media3(QMediaResource(QUrl("http://example.com/movie.mov")));
- QMediaContent media4(QMediaResource(QUrl("http://example.com/movie.mov")));
- QMediaContent media5(QMediaResource(QUrl("file:///some/where/over/the/rainbow.mp3")));
-
- // null == null
- QCOMPARE(media1 == media2, true);
- QCOMPARE(media1 != media2, false);
-
- // null != something
- QCOMPARE(media1 == media3, false);
- QCOMPARE(media1 != media3, true);
-
- // equiv
- QCOMPARE(media3 == media4, true);
- QCOMPARE(media3 != media4, false);
-
- // not equiv
- QCOMPARE(media4 == media5, false);
- QCOMPARE(media4 != media5, true);
-}
-
-void tst_QMediaContent::testResources()
-{
- QMediaResourceList resourceList;
-
- resourceList << QMediaResource(QUrl("http://example.com/movie-main.mov"));
- resourceList << QMediaResource(QUrl("http://example.com/movie-big.mov"));
- QMediaContent media(resourceList);
-
- QMediaResourceList res = media.resources();
- QCOMPARE(res.size(), 2);
- QCOMPARE(res[0], QMediaResource(QUrl("http://example.com/movie-main.mov")));
- QCOMPARE(res[1], QMediaResource(QUrl("http://example.com/movie-big.mov")));
-}
-
-QTEST_MAIN(tst_QMediaContent)
-
-#include "tst_qmediacontent.moc"
diff --git a/tests/auto/qmediaobject/qmediaobject.pro b/tests/auto/qmediaobject/qmediaobject.pro
deleted file mode 100644
index d6a0f7b728..0000000000
--- a/tests/auto/qmediaobject/qmediaobject.pro
+++ /dev/null
@@ -1,4 +0,0 @@
-load(qttest_p4)
-
-SOURCES += tst_qmediaobject.cpp
-QT = core mediaservices
diff --git a/tests/auto/qmediaobject/tst_qmediaobject.cpp b/tests/auto/qmediaobject/tst_qmediaobject.cpp
deleted file mode 100644
index 5a2fdeb4b9..0000000000
--- a/tests/auto/qmediaobject/tst_qmediaobject.cpp
+++ /dev/null
@@ -1,549 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the test suite of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include <QtTest/QtTest>
-
-#include <QtCore/qtimer.h>
-
-#include <QtMediaServices/qmediaobject.h>
-#include <QtMediaServices/qmediaservice.h>
-#include <QtMediaServices/qmetadatacontrol.h>
-
-
-class tst_QMediaObject : public QObject
-{
- Q_OBJECT
-
-private slots:
- void propertyWatch();
- void notifySignals_data();
- void notifySignals();
- void notifyInterval_data();
- void notifyInterval();
-
- void nullMetaDataControl();
- void isMetaDataAvailable();
- void isWritable();
- void metaDataChanged();
- void metaData_data();
- void metaData();
- void setMetaData_data();
- void setMetaData();
- void extendedMetaData_data() { metaData_data(); }
- void extendedMetaData();
- void setExtendedMetaData_data() { extendedMetaData_data(); }
- void setExtendedMetaData();
-
-
-private:
- void setupNotifyTests();
-};
-
-class QtTestMetaDataProvider : public QMetaDataControl
-{
- Q_OBJECT
-public:
- QtTestMetaDataProvider(QObject *parent = 0)
- : QMetaDataControl(parent)
- , m_available(false)
- , m_writable(false)
- {
- }
-
- bool isMetaDataAvailable() const { return m_available; }
- void setMetaDataAvailable(bool available) {
- if (m_available != available)
- emit metaDataAvailableChanged(m_available = available);
- }
- QList<QtMediaServices::MetaData> availableMetaData() const { return m_data.keys(); }
-
- bool isWritable() const { return m_writable; }
- void setWritable(bool writable) { emit writableChanged(m_writable = writable); }
-
- QVariant metaData(QtMediaServices::MetaData key) const { return m_data.value(key); }
- void setMetaData(QtMediaServices::MetaData key, const QVariant &value) {
- m_data.insert(key, value); }
-
- QVariant extendedMetaData(const QString &key) const { return m_extendedData.value(key); }
- void setExtendedMetaData(const QString &key, const QVariant &value) {
- m_extendedData.insert(key, value); }
-
- QStringList availableExtendedMetaData() const { return m_extendedData.keys(); }
-
- using QMetaDataControl::metaDataChanged;
-
- void populateMetaData()
- {
- m_available = true;
- }
-
- bool m_available;
- bool m_writable;
- QMap<QtMediaServices::MetaData, QVariant> m_data;
- QMap<QString, QVariant> m_extendedData;
-};
-
-class QtTestMetaDataService : public QMediaService
-{
- Q_OBJECT
-public:
- QtTestMetaDataService(QObject *parent = 0):QMediaService(parent), hasMetaData(true)
- {
- }
-
- QMediaControl *control(const char *iid) const
- {
- if (hasMetaData && qstrcmp(iid, QMetaDataControl_iid) == 0)
- return const_cast<QtTestMetaDataProvider *>(&metaData);
- else
- return 0;
- }
-
- QtTestMetaDataProvider metaData;
- bool hasMetaData;
-};
-
-
-class QtTestMediaObject : public QMediaObject
-{
- Q_OBJECT
- Q_PROPERTY(int a READ a WRITE setA NOTIFY aChanged)
- Q_PROPERTY(int b READ b WRITE setB NOTIFY bChanged)
- Q_PROPERTY(int c READ c WRITE setC NOTIFY cChanged)
- Q_PROPERTY(int d READ d WRITE setD)
-public:
- QtTestMediaObject(QMediaService *service = 0): QMediaObject(0, service), m_a(0), m_b(0), m_c(0), m_d(0) {}
-
- using QMediaObject::addPropertyWatch;
- using QMediaObject::removePropertyWatch;
-
- int a() const { return m_a; }
- void setA(int a) { m_a = a; }
-
- int b() const { return m_b; }
- void setB(int b) { m_b = b; }
-
- int c() const { return m_c; }
- void setC(int c) { m_c = c; }
-
- int d() const { return m_d; }
- void setD(int d) { m_d = d; }
-
-Q_SIGNALS:
- void aChanged(int a);
- void bChanged(int b);
- void cChanged(int c);
-
-private:
- int m_a;
- int m_b;
- int m_c;
- int m_d;
-};
-
-void tst_QMediaObject::propertyWatch()
-{
- QtTestMediaObject object;
- object.setNotifyInterval(0);
-
- QEventLoop loop;
- connect(&object, SIGNAL(aChanged(int)), &QTestEventLoop::instance(), SLOT(exitLoop()));
- connect(&object, SIGNAL(bChanged(int)), &QTestEventLoop::instance(), SLOT(exitLoop()));
- connect(&object, SIGNAL(cChanged(int)), &QTestEventLoop::instance(), SLOT(exitLoop()));
-
- QSignalSpy aSpy(&object, SIGNAL(aChanged(int)));
- QSignalSpy bSpy(&object, SIGNAL(bChanged(int)));
- QSignalSpy cSpy(&object, SIGNAL(cChanged(int)));
-
- QTestEventLoop::instance().enterLoop(1);
-
- QCOMPARE(aSpy.count(), 0);
- QCOMPARE(bSpy.count(), 0);
- QCOMPARE(cSpy.count(), 0);
-
- int aCount = 0;
- int bCount = 0;
- int cCount = 0;
-
- object.addPropertyWatch("a");
-
- QTestEventLoop::instance().enterLoop(1);
-
- QVERIFY(aSpy.count() > aCount);
- QCOMPARE(bSpy.count(), 0);
- QCOMPARE(cSpy.count(), 0);
- QCOMPARE(aSpy.last().value(0).toInt(), 0);
-
- aCount = aSpy.count();
-
- object.setA(54);
- object.setB(342);
- object.setC(233);
-
- QTestEventLoop::instance().enterLoop(1);
-
- QVERIFY(aSpy.count() > aCount);
- QCOMPARE(bSpy.count(), 0);
- QCOMPARE(cSpy.count(), 0);
- QCOMPARE(aSpy.last().value(0).toInt(), 54);
-
- aCount = aSpy.count();
-
- object.addPropertyWatch("b");
- object.addPropertyWatch("d");
- object.removePropertyWatch("e");
- object.setA(43);
- object.setB(235);
- object.setC(90);
-
- QTestEventLoop::instance().enterLoop(1);
-
- QVERIFY(aSpy.count() > aCount);
- QVERIFY(bSpy.count() > bCount);
- QCOMPARE(cSpy.count(), 0);
- QCOMPARE(aSpy.last().value(0).toInt(), 43);
- QCOMPARE(bSpy.last().value(0).toInt(), 235);
-
- aCount = aSpy.count();
- bCount = bSpy.count();
-
- object.removePropertyWatch("a");
- object.addPropertyWatch("c");
- object.addPropertyWatch("e");
-
- QTestEventLoop::instance().enterLoop(1);
-
- QCOMPARE(aSpy.count(), aCount);
- QVERIFY(bSpy.count() > bCount);
- QVERIFY(cSpy.count() > cCount);
- QCOMPARE(bSpy.last().value(0).toInt(), 235);
- QCOMPARE(cSpy.last().value(0).toInt(), 90);
-
- bCount = bSpy.count();
- cCount = cSpy.count();
-
- object.setA(435);
- object.setC(9845);
-
- QTestEventLoop::instance().enterLoop(1);
-
- QCOMPARE(aSpy.count(), aCount);
- QVERIFY(bSpy.count() > bCount);
- QVERIFY(cSpy.count() > cCount);
- QCOMPARE(bSpy.last().value(0).toInt(), 235);
- QCOMPARE(cSpy.last().value(0).toInt(), 9845);
-
- bCount = bSpy.count();
- cCount = cSpy.count();
-
- object.setA(8432);
- object.setB(324);
- object.setC(443);
- object.removePropertyWatch("c");
- object.removePropertyWatch("d");
-
- QTestEventLoop::instance().enterLoop(1);
-
- QCOMPARE(aSpy.count(), aCount);
- QVERIFY(bSpy.count() > bCount);
- QCOMPARE(cSpy.count(), cCount);
- QCOMPARE(bSpy.last().value(0).toInt(), 324);
- QCOMPARE(cSpy.last().value(0).toInt(), 9845);
-
- bCount = bSpy.count();
-
- object.removePropertyWatch("b");
-
- QTestEventLoop::instance().enterLoop(1);
-
- QCOMPARE(aSpy.count(), aCount);
- QCOMPARE(bSpy.count(), bCount);
- QCOMPARE(cSpy.count(), cCount);
-}
-
-void tst_QMediaObject::setupNotifyTests()
-{
- QTest::addColumn<int>("interval");
- QTest::addColumn<int>("count");
-
- QTest::newRow("single 750ms")
- << 750
- << 1;
- QTest::newRow("single 600ms")
- << 600
- << 1;
- QTest::newRow("x3 300ms")
- << 300
- << 3;
- QTest::newRow("x5 180ms")
- << 180
- << 5;
-}
-
-void tst_QMediaObject::notifySignals_data()
-{
- setupNotifyTests();
-}
-
-void tst_QMediaObject::notifySignals()
-{
- QFETCH(int, interval);
- QFETCH(int, count);
-
- QtTestMediaObject object;
- object.setNotifyInterval(interval);
- object.addPropertyWatch("a");
-
- QSignalSpy spy(&object, SIGNAL(aChanged(int)));
-
- QTestEventLoop::instance().enterLoop(1);
-
- QCOMPARE(spy.count(), count);
-}
-
-void tst_QMediaObject::notifyInterval_data()
-{
- setupNotifyTests();
-}
-
-void tst_QMediaObject::notifyInterval()
-{
- QFETCH(int, interval);
-
- QtTestMediaObject object;
- QSignalSpy spy(&object, SIGNAL(notifyIntervalChanged(int)));
-
- object.setNotifyInterval(interval);
- QCOMPARE(object.notifyInterval(), interval);
- QCOMPARE(spy.count(), 1);
- QCOMPARE(spy.last().value(0).toInt(), interval);
-
- object.setNotifyInterval(interval);
- QCOMPARE(object.notifyInterval(), interval);
- QCOMPARE(spy.count(), 1);
-}
-
-void tst_QMediaObject::nullMetaDataControl()
-{
- const QString titleKey(QLatin1String("Title"));
- const QString title(QLatin1String("Host of Seraphim"));
-
- QtTestMetaDataService service;
- service.hasMetaData = false;
-
- QtTestMediaObject object(&service);
-
- QSignalSpy spy(&object, SIGNAL(metaDataChanged()));
-
- QCOMPARE(object.isMetaDataAvailable(), false);
- QCOMPARE(object.isMetaDataWritable(), false);
-
- object.setMetaData(QtMediaServices::Title, title);
- object.setExtendedMetaData(titleKey, title);
-
- QCOMPARE(object.metaData(QtMediaServices::Title).toString(), QString());
- QCOMPARE(object.extendedMetaData(titleKey).toString(), QString());
- QCOMPARE(object.availableMetaData(), QList<QtMediaServices::MetaData>());
- QCOMPARE(object.availableExtendedMetaData(), QStringList());
- QCOMPARE(spy.count(), 0);
-}
-
-void tst_QMediaObject::isMetaDataAvailable()
-{
- QtTestMetaDataService service;
- service.metaData.setMetaDataAvailable(false);
-
- QtTestMediaObject object(&service);
- QCOMPARE(object.isMetaDataAvailable(), false);
-
- QSignalSpy spy(&object, SIGNAL(metaDataAvailableChanged(bool)));
- service.metaData.setMetaDataAvailable(true);
-
- QCOMPARE(object.isMetaDataAvailable(), true);
- QCOMPARE(spy.count(), 1);
- QCOMPARE(spy.at(0).at(0).toBool(), true);
-
- service.metaData.setMetaDataAvailable(false);
-
- QCOMPARE(object.isMetaDataAvailable(), false);
- QCOMPARE(spy.count(), 2);
- QCOMPARE(spy.at(1).at(0).toBool(), false);
-}
-
-void tst_QMediaObject::isWritable()
-{
- QtTestMetaDataService service;
- service.metaData.setWritable(false);
-
- QtTestMediaObject object(&service);
-
- QSignalSpy spy(&object, SIGNAL(metaDataWritableChanged(bool)));
-
- QCOMPARE(object.isMetaDataWritable(), false);
-
- service.metaData.setWritable(true);
-
- QCOMPARE(object.isMetaDataWritable(), true);
- QCOMPARE(spy.count(), 1);
- QCOMPARE(spy.at(0).at(0).toBool(), true);
-
- service.metaData.setWritable(false);
-
- QCOMPARE(object.isMetaDataWritable(), false);
- QCOMPARE(spy.count(), 2);
- QCOMPARE(spy.at(1).at(0).toBool(), false);
-}
-
-void tst_QMediaObject::metaDataChanged()
-{
- QtTestMetaDataService service;
- QtTestMediaObject object(&service);
-
- QSignalSpy spy(&object, SIGNAL(metaDataChanged()));
-
- service.metaData.metaDataChanged();
- QCOMPARE(spy.count(), 1);
-
- service.metaData.metaDataChanged();
- QCOMPARE(spy.count(), 2);
-}
-
-void tst_QMediaObject::metaData_data()
-{
- QTest::addColumn<QString>("artist");
- QTest::addColumn<QString>("title");
- QTest::addColumn<QString>("genre");
-
- QTest::newRow("")
- << QString::fromLatin1("Dead Can Dance")
- << QString::fromLatin1("Host of Seraphim")
- << QString::fromLatin1("Awesome");
-}
-
-void tst_QMediaObject::metaData()
-{
- QFETCH(QString, artist);
- QFETCH(QString, title);
- QFETCH(QString, genre);
-
- QtTestMetaDataService service;
- service.metaData.populateMetaData();
-
- QtTestMediaObject object(&service);
- QVERIFY(object.availableMetaData().isEmpty());
-
- service.metaData.m_data.insert(QtMediaServices::AlbumArtist, artist);
- service.metaData.m_data.insert(QtMediaServices::Title, title);
- service.metaData.m_data.insert(QtMediaServices::Genre, genre);
-
- QCOMPARE(object.metaData(QtMediaServices::AlbumArtist).toString(), artist);
- QCOMPARE(object.metaData(QtMediaServices::Title).toString(), title);
-
- QList<QtMediaServices::MetaData> metaDataKeys = object.availableMetaData();
- QCOMPARE(metaDataKeys.size(), 3);
- QVERIFY(metaDataKeys.contains(QtMediaServices::AlbumArtist));
- QVERIFY(metaDataKeys.contains(QtMediaServices::Title));
- QVERIFY(metaDataKeys.contains(QtMediaServices::Genre));
-}
-
-void tst_QMediaObject::setMetaData_data()
-{
- QTest::addColumn<QString>("title");
-
- QTest::newRow("")
- << QString::fromLatin1("In the Kingdom of the Blind the One eyed are Kings");
-}
-
-void tst_QMediaObject::setMetaData()
-{
- QFETCH(QString, title);
-
- QtTestMetaDataService service;
- service.metaData.populateMetaData();
-
- QtTestMediaObject object(&service);
-
- object.setMetaData(QtMediaServices::Title, title);
- QCOMPARE(object.metaData(QtMediaServices::Title).toString(), title);
- QCOMPARE(service.metaData.m_data.value(QtMediaServices::Title).toString(), title);
-}
-
-void tst_QMediaObject::extendedMetaData()
-{
- QFETCH(QString, artist);
- QFETCH(QString, title);
- QFETCH(QString, genre);
-
- QtTestMetaDataService service;
- QtTestMediaObject object(&service);
- QVERIFY(object.availableExtendedMetaData().isEmpty());
-
- service.metaData.m_extendedData.insert(QLatin1String("Artist"), artist);
- service.metaData.m_extendedData.insert(QLatin1String("Title"), title);
- service.metaData.m_extendedData.insert(QLatin1String("Genre"), genre);
-
- QCOMPARE(object.extendedMetaData(QLatin1String("Artist")).toString(), artist);
- QCOMPARE(object.extendedMetaData(QLatin1String("Title")).toString(), title);
-
- QStringList extendedKeys = object.availableExtendedMetaData();
- QCOMPARE(extendedKeys.size(), 3);
- QVERIFY(extendedKeys.contains(QLatin1String("Artist")));
- QVERIFY(extendedKeys.contains(QLatin1String("Title")));
- QVERIFY(extendedKeys.contains(QLatin1String("Genre")));
-}
-
-void tst_QMediaObject::setExtendedMetaData()
-{
- QtTestMetaDataService service;
- service.metaData.populateMetaData();
-
- QtTestMediaObject object(&service);
-
- QString title(QLatin1String("In the Kingdom of the Blind the One eyed are Kings"));
-
- object.setExtendedMetaData(QLatin1String("Title"), title);
- QCOMPARE(object.extendedMetaData(QLatin1String("Title")).toString(), title);
- QCOMPARE(service.metaData.m_extendedData.value(QLatin1String("Title")).toString(), title);
-}
-
-QTEST_MAIN(tst_QMediaObject)
-
-#include "tst_qmediaobject.moc"
diff --git a/tests/auto/qmediaplayer/qmediaplayer.pro b/tests/auto/qmediaplayer/qmediaplayer.pro
deleted file mode 100644
index f355078d71..0000000000
--- a/tests/auto/qmediaplayer/qmediaplayer.pro
+++ /dev/null
@@ -1,6 +0,0 @@
-load(qttest_p4)
-
-SOURCES += tst_qmediaplayer.cpp
-
-QT = core mediaservices
-
diff --git a/tests/auto/qmediaplayer/tst_qmediaplayer.cpp b/tests/auto/qmediaplayer/tst_qmediaplayer.cpp
deleted file mode 100644
index 9a597e2a66..0000000000
--- a/tests/auto/qmediaplayer/tst_qmediaplayer.cpp
+++ /dev/null
@@ -1,986 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the test suite of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include <QtTest/QtTest>
-#include <QtCore/qdebug.h>
-#include <QtCore/qbuffer.h>
-
-#include <QtMediaServices/qmediaplayer.h>
-#include <QtMediaServices/qmediaplayercontrol.h>
-#include <QtMediaServices/qmediaplaylist.h>
-#include <QtMediaServices/qmediaservice.h>
-
-
-
-class AutoConnection
-{
-public:
- AutoConnection(QObject *sender, const char *signal, QObject *receiver, const char *method)
- : sender(sender), signal(signal), receiver(receiver), method(method)
- {
- QObject::connect(sender, signal, receiver, method);
- }
-
- ~AutoConnection()
- {
- QObject::disconnect(sender, signal, receiver, method);
- }
-
-private:
- QObject *sender;
- const char *signal;
- QObject *receiver;
- const char *method;
-};
-
-
-class MockPlayerControl : public QMediaPlayerControl
-{
- friend class MockPlayerService;
-
-public:
- MockPlayerControl():QMediaPlayerControl(0) {}
-
- QMediaPlayer::State state() const { return _state; }
- QMediaPlayer::MediaStatus mediaStatus() const { return _mediaStatus; }
-
- qint64 duration() const { return _duration; }
-
- qint64 position() const { return _position; }
-
- void setPosition(qint64 position) { if (position != _position) emit positionChanged(_position = position); }
-
- int volume() const { return _volume; }
- void setVolume(int volume) { emit volumeChanged(_volume = volume); }
-
- bool isMuted() const { return _muted; }
- void setMuted(bool muted) { if (muted != _muted) emit mutedChanged(_muted = muted); }
-
- int bufferStatus() const { return _bufferStatus; }
-
- bool isAudioAvailable() const { return _audioAvailable; }
- bool isVideoAvailable() const { return _videoAvailable; }
-
- bool isSeekable() const { return _isSeekable; }
- QMediaTimeRange availablePlaybackRanges() const { return QMediaTimeRange(_seekRange.first, _seekRange.second); }
- void setSeekRange(qint64 minimum, qint64 maximum) { _seekRange = qMakePair(minimum, maximum); }
-
- qreal playbackRate() const { return _playbackRate; }
- void setPlaybackRate(qreal rate) { if (rate != _playbackRate) emit playbackRateChanged(_playbackRate = rate); }
-
- QMediaContent media() const { return _media; }
- void setMedia(const QMediaContent &content, QIODevice *stream)
- {
- _stream = stream;
- _media = content;
- if (_state != QMediaPlayer::StoppedState) {
- _mediaStatus = _media.isNull() ? QMediaPlayer::NoMedia : QMediaPlayer::LoadingMedia;
- emit stateChanged(_state = QMediaPlayer::StoppedState);
- emit mediaStatusChanged(_mediaStatus);
- }
- emit mediaChanged(_media = content);
- }
- QIODevice *mediaStream() const { return _stream; }
-
- void play() { if (_isValid && !_media.isNull() && _state != QMediaPlayer::PlayingState) emit stateChanged(_state = QMediaPlayer::PlayingState); }
- void pause() { if (_isValid && !_media.isNull() && _state != QMediaPlayer::PausedState) emit stateChanged(_state = QMediaPlayer::PausedState); }
- void stop() { if (_state != QMediaPlayer::StoppedState) emit stateChanged(_state = QMediaPlayer::StoppedState); }
-
- QMediaPlayer::State _state;
- QMediaPlayer::MediaStatus _mediaStatus;
- QMediaPlayer::Error _error;
- qint64 _duration;
- qint64 _position;
- int _volume;
- bool _muted;
- int _bufferStatus;
- bool _audioAvailable;
- bool _videoAvailable;
- bool _isSeekable;
- QPair<qint64, qint64> _seekRange;
- qreal _playbackRate;
- QMediaContent _media;
- QIODevice *_stream;
- bool _isValid;
- QString _errorString;
-};
-
-
-class MockPlayerService : public QMediaService
-{
- Q_OBJECT
-
-public:
- MockPlayerService():QMediaService(0)
- {
- mockControl = new MockPlayerControl;
- }
-
- ~MockPlayerService()
- {
- delete mockControl;
- }
-
- QMediaControl* control(const char *iid) const
- {
- if (qstrcmp(iid, QMediaPlayerControl_iid) == 0)
- return mockControl;
-
- return 0;
- }
-
- void setState(QMediaPlayer::State state) { emit mockControl->stateChanged(mockControl->_state = state); }
- void setState(QMediaPlayer::State state, QMediaPlayer::MediaStatus status) {
- mockControl->_state = state;
- mockControl->_mediaStatus = status;
- emit mockControl->mediaStatusChanged(status);
- emit mockControl->stateChanged(state);
- }
- void setMediaStatus(QMediaPlayer::MediaStatus status) { emit mockControl->mediaStatusChanged(mockControl->_mediaStatus = status); }
- void setIsValid(bool isValid) { mockControl->_isValid = isValid; }
- void setMedia(QMediaContent media) { mockControl->_media = media; }
- void setDuration(qint64 duration) { mockControl->_duration = duration; }
- void setPosition(qint64 position) { mockControl->_position = position; }
- void setSeekable(bool seekable) { mockControl->_isSeekable = seekable; }
- void setVolume(int volume) { mockControl->_volume = volume; }
- void setMuted(bool muted) { mockControl->_muted = muted; }
- void setVideoAvailable(bool videoAvailable) { mockControl->_videoAvailable = videoAvailable; }
- void setBufferStatus(int bufferStatus) { mockControl->_bufferStatus = bufferStatus; }
- void setPlaybackRate(qreal playbackRate) { mockControl->_playbackRate = playbackRate; }
- void setError(QMediaPlayer::Error error) { mockControl->_error = error; emit mockControl->error(mockControl->_error, mockControl->_errorString); }
- void setErrorString(QString errorString) { mockControl->_errorString = errorString; emit mockControl->error(mockControl->_error, mockControl->_errorString); }
-
- void reset()
- {
- mockControl->_state = QMediaPlayer::StoppedState;
- mockControl->_mediaStatus = QMediaPlayer::UnknownMediaStatus;
- mockControl->_error = QMediaPlayer::NoError;
- mockControl->_duration = 0;
- mockControl->_position = 0;
- mockControl->_volume = 0;
- mockControl->_muted = false;
- mockControl->_bufferStatus = 0;
- mockControl->_videoAvailable = false;
- mockControl->_isSeekable = false;
- mockControl->_playbackRate = 0.0;
- mockControl->_media = QMediaContent();
- mockControl->_stream = 0;
- mockControl->_isValid = false;
- mockControl->_errorString = QString();
- }
-
- MockPlayerControl *mockControl;
-};
-
-class MockProvider : public QMediaServiceProvider
-{
-public:
- MockProvider(MockPlayerService *service):mockService(service) {}
- QMediaService *requestService(const QByteArray &, const QMediaServiceProviderHint &)
- {
- return mockService;
- }
-
- void releaseService(QMediaService *service) { delete service; }
-
- MockPlayerService *mockService;
-};
-
-class tst_QMediaPlayer: public QObject
-{
- Q_OBJECT
-
-public slots:
- void initTestCase_data();
- void initTestCase();
- void cleanupTestCase();
- void init();
- void cleanup();
-
-private slots:
- void testNullService();
- void testValid();
- void testMedia();
- void testDuration();
- void testPosition();
- void testVolume();
- void testMuted();
- void testVideoAvailable();
- void testBufferStatus();
- void testSeekable();
- void testPlaybackRate();
- void testError();
- void testErrorString();
- void testService();
- void testPlay();
- void testPause();
- void testStop();
- void testMediaStatus();
- void testPlaylist();
-
-private:
- MockProvider *mockProvider;
- MockPlayerService *mockService;
- QMediaPlayer *player;
-};
-
-void tst_QMediaPlayer::initTestCase_data()
-{
- QTest::addColumn<bool>("valid");
- QTest::addColumn<QMediaPlayer::State>("state");
- QTest::addColumn<QMediaPlayer::MediaStatus>("status");
- QTest::addColumn<QMediaContent>("mediaContent");
- QTest::addColumn<qint64>("duration");
- QTest::addColumn<qint64>("position");
- QTest::addColumn<bool>("seekable");
- QTest::addColumn<int>("volume");
- QTest::addColumn<bool>("muted");
- QTest::addColumn<bool>("videoAvailable");
- QTest::addColumn<int>("bufferStatus");
- QTest::addColumn<qreal>("playbackRate");
- QTest::addColumn<QMediaPlayer::Error>("error");
- QTest::addColumn<QString>("errorString");
-
- QTest::newRow("invalid") << false << QMediaPlayer::StoppedState << QMediaPlayer::UnknownMediaStatus <<
- QMediaContent() << qint64(0) << qint64(0) << false << 0 << false << false << 0 <<
- qreal(0) << QMediaPlayer::NoError << QString();
- QTest::newRow("valid+null") << true << QMediaPlayer::StoppedState << QMediaPlayer::UnknownMediaStatus <<
- QMediaContent() << qint64(0) << qint64(0) << false << 0 << false << false << 50 <<
- qreal(0) << QMediaPlayer::NoError << QString();
- QTest::newRow("valid+content+stopped") << true << QMediaPlayer::StoppedState << QMediaPlayer::UnknownMediaStatus <<
- QMediaContent(QUrl("file:///some.mp3")) << qint64(0) << qint64(0) << false << 50 << false << false << 0 <<
- qreal(1) << QMediaPlayer::NoError << QString();
- QTest::newRow("valid+content+playing") << true << QMediaPlayer::PlayingState << QMediaPlayer::LoadedMedia <<
- QMediaContent(QUrl("file:///some.mp3")) << qint64(10000) << qint64(10) << true << 50 << true << false << 0 <<
- qreal(1) << QMediaPlayer::NoError << QString();
- QTest::newRow("valid+content+paused") << true << QMediaPlayer::PausedState << QMediaPlayer::LoadedMedia <<
- QMediaContent(QUrl("file:///some.mp3")) << qint64(10000) << qint64(10) << true << 50 << true << false << 0 <<
- qreal(1) << QMediaPlayer::NoError << QString();
- QTest::newRow("valud+streaming") << true << QMediaPlayer::PlayingState << QMediaPlayer::LoadedMedia <<
- QMediaContent(QUrl("http://example.com/stream")) << qint64(10000) << qint64(10000) << false << 50 << false << true << 0 <<
- qreal(1) << QMediaPlayer::NoError << QString();
- QTest::newRow("valid+error") << true << QMediaPlayer::StoppedState << QMediaPlayer::UnknownMediaStatus <<
- QMediaContent(QUrl("http://example.com/stream")) << qint64(0) << qint64(0) << false << 50 << false << false << 0 <<
- qreal(0) << QMediaPlayer::ResourceError << QString("Resource unavailable");
-}
-
-void tst_QMediaPlayer::initTestCase()
-{
- qRegisterMetaType<QMediaContent>();
-
- mockService = new MockPlayerService;
- mockProvider = new MockProvider(mockService);
- player = new QMediaPlayer(0, 0, mockProvider);
-}
-
-void tst_QMediaPlayer::cleanupTestCase()
-{
- delete player;
-}
-
-void tst_QMediaPlayer::init()
-{
- mockService->reset();
-}
-
-void tst_QMediaPlayer::cleanup()
-{
-}
-
-void tst_QMediaPlayer::testNullService()
-{
- MockProvider provider(0);
- QMediaPlayer player(0, 0, &provider);
-
- const QIODevice *nullDevice = 0;
-
- QCOMPARE(player.media(), QMediaContent());
- QCOMPARE(player.mediaStream(), nullDevice);
- QCOMPARE(player.state(), QMediaPlayer::StoppedState);
- QCOMPARE(player.mediaStatus(), QMediaPlayer::UnknownMediaStatus);
- QCOMPARE(player.duration(), qint64(-1));
- QCOMPARE(player.position(), qint64(0));
- QCOMPARE(player.volume(), 0);
- QCOMPARE(player.isMuted(), false);
- QCOMPARE(player.isVideoAvailable(), false);
- QCOMPARE(player.bufferStatus(), 0);
- QCOMPARE(player.isSeekable(), false);
- QCOMPARE(player.playbackRate(), qreal(0));
- QCOMPARE(player.error(), QMediaPlayer::ServiceMissingError);
-
- {
- QFETCH_GLOBAL(QMediaContent, mediaContent);
-
- QSignalSpy spy(&player, SIGNAL(mediaChanged(QMediaContent)));
- QFile file;
-
- player.setMedia(mediaContent, &file);
- QCOMPARE(player.media(), QMediaContent());
- QCOMPARE(player.mediaStream(), nullDevice);
- QCOMPARE(spy.count(), 0);
- } {
- QSignalSpy stateSpy(&player, SIGNAL(stateChanged(QMediaPlayer::State)));
- QSignalSpy statusSpy(&player, SIGNAL(mediaStatusChanged(QMediaPlayer::MediaStatus)));
-
- player.play();
- QCOMPARE(player.state(), QMediaPlayer::StoppedState);
- QCOMPARE(player.mediaStatus(), QMediaPlayer::UnknownMediaStatus);
- QCOMPARE(stateSpy.count(), 0);
- QCOMPARE(statusSpy.count(), 0);
-
- player.pause();
- QCOMPARE(player.state(), QMediaPlayer::StoppedState);
- QCOMPARE(player.mediaStatus(), QMediaPlayer::UnknownMediaStatus);
- QCOMPARE(stateSpy.count(), 0);
- QCOMPARE(statusSpy.count(), 0);
-
- player.stop();
- QCOMPARE(player.state(), QMediaPlayer::StoppedState);
- QCOMPARE(player.mediaStatus(), QMediaPlayer::UnknownMediaStatus);
- QCOMPARE(stateSpy.count(), 0);
- QCOMPARE(statusSpy.count(), 0);
- } {
- QFETCH_GLOBAL(int, volume);
- QFETCH_GLOBAL(bool, muted);
-
- QSignalSpy volumeSpy(&player, SIGNAL(volumeChanged(int)));
- QSignalSpy mutingSpy(&player, SIGNAL(mutedChanged(bool)));
-
- player.setVolume(volume);
- QCOMPARE(player.volume(), 0);
- QCOMPARE(volumeSpy.count(), 0);
-
- player.setMuted(muted);
- QCOMPARE(player.isMuted(), false);
- QCOMPARE(mutingSpy.count(), 0);
- } {
- QFETCH_GLOBAL(qint64, position);
-
- QSignalSpy spy(&player, SIGNAL(positionChanged(qint64)));
-
- player.setPosition(position);
- QCOMPARE(player.position(), qint64(0));
- QCOMPARE(spy.count(), 0);
- } {
- QFETCH_GLOBAL(qreal, playbackRate);
-
- QSignalSpy spy(&player, SIGNAL(playbackRateChanged(qreal)));
-
- player.setPlaybackRate(playbackRate);
- QCOMPARE(player.playbackRate(), qreal(0));
- QCOMPARE(spy.count(), 0);
- } {
- QMediaPlaylist playlist;
- playlist.setMediaObject(&player);
-
- QSignalSpy mediaSpy(&player, SIGNAL(mediaChanged(QMediaContent)));
- QSignalSpy statusSpy(&player, SIGNAL(mediaStatusChanged(QMediaPlayer::MediaStatus)));
-
- playlist.addMedia(QUrl("http://example.com/stream"));
- playlist.addMedia(QUrl("file:///some.mp3"));
-
- playlist.setCurrentIndex(0);
- QCOMPARE(playlist.currentIndex(), 0);
- QCOMPARE(player.media(), QMediaContent());
- QCOMPARE(mediaSpy.count(), 0);
- QCOMPARE(statusSpy.count(), 0);
-
- playlist.next();
- QCOMPARE(playlist.currentIndex(), 1);
- QCOMPARE(player.media(), QMediaContent());
- QCOMPARE(mediaSpy.count(), 0);
- QCOMPARE(statusSpy.count(), 0);
- }
-}
-
-void tst_QMediaPlayer::testValid()
-{
- /*
- QFETCH_GLOBAL(bool, valid);
-
- mockService->setIsValid(valid);
- QCOMPARE(player->isValid(), valid);
- */
-}
-
-void tst_QMediaPlayer::testMedia()
-{
- QFETCH_GLOBAL(QMediaContent, mediaContent);
-
- mockService->setMedia(mediaContent);
- QCOMPARE(player->media(), mediaContent);
-
- QBuffer stream;
- player->setMedia(mediaContent, &stream);
- QCOMPARE(player->media(), mediaContent);
- QCOMPARE((QBuffer*)player->mediaStream(), &stream);
-}
-
-void tst_QMediaPlayer::testDuration()
-{
- QFETCH_GLOBAL(qint64, duration);
-
- mockService->setDuration(duration);
- QVERIFY(player->duration() == duration);
-}
-
-void tst_QMediaPlayer::testPosition()
-{
- QFETCH_GLOBAL(bool, valid);
- QFETCH_GLOBAL(bool, seekable);
- QFETCH_GLOBAL(qint64, position);
- QFETCH_GLOBAL(qint64, duration);
-
- mockService->setIsValid(valid);
- mockService->setSeekable(seekable);
- mockService->setPosition(position);
- mockService->setDuration(duration);
- QVERIFY(player->isSeekable() == seekable);
- QVERIFY(player->position() == position);
- QVERIFY(player->duration() == duration);
-
- if (seekable) {
- { QSignalSpy spy(player, SIGNAL(positionChanged(qint64)));
- player->setPosition(position);
- QCOMPARE(player->position(), position);
- QCOMPARE(spy.count(), 0); }
-
- mockService->setPosition(position);
- { QSignalSpy spy(player, SIGNAL(positionChanged(qint64)));
- player->setPosition(0);
- QCOMPARE(player->position(), qint64(0));
- QCOMPARE(spy.count(), position == 0 ? 0 : 1); }
-
- mockService->setPosition(position);
- { QSignalSpy spy(player, SIGNAL(positionChanged(qint64)));
- player->setPosition(duration);
- QCOMPARE(player->position(), duration);
- QCOMPARE(spy.count(), position == duration ? 0 : 1); }
-
- mockService->setPosition(position);
- { QSignalSpy spy(player, SIGNAL(positionChanged(qint64)));
- player->setPosition(-1);
- QCOMPARE(player->position(), qint64(0));
- QCOMPARE(spy.count(), position == 0 ? 0 : 1); }
-
- mockService->setPosition(position);
- { QSignalSpy spy(player, SIGNAL(positionChanged(qint64)));
- player->setPosition(duration + 1);
- QCOMPARE(player->position(), duration);
- QCOMPARE(spy.count(), position == duration ? 0 : 1); }
- }
- else {
- QSignalSpy spy(player, SIGNAL(positionChanged(qint64)));
- player->setPosition(position);
-
- QCOMPARE(player->position(), position);
- QCOMPARE(spy.count(), 0);
- }
-}
-
-void tst_QMediaPlayer::testVolume()
-{
- QFETCH_GLOBAL(bool, valid);
- QFETCH_GLOBAL(int, volume);
-
- mockService->setVolume(volume);
- QVERIFY(player->volume() == volume);
-
- if (valid) {
- { QSignalSpy spy(player, SIGNAL(volumeChanged(int)));
- player->setVolume(10);
- QCOMPARE(player->volume(), 10);
- QCOMPARE(spy.count(), 1); }
-
- { QSignalSpy spy(player, SIGNAL(volumeChanged(int)));
- player->setVolume(-1000);
- QCOMPARE(player->volume(), 0);
- QCOMPARE(spy.count(), 1); }
-
- { QSignalSpy spy(player, SIGNAL(volumeChanged(int)));
- player->setVolume(100);
- QCOMPARE(player->volume(), 100);
- QCOMPARE(spy.count(), 1); }
-
- { QSignalSpy spy(player, SIGNAL(volumeChanged(int)));
- player->setVolume(1000);
- QCOMPARE(player->volume(), 100);
- QCOMPARE(spy.count(), 0); }
- }
-}
-
-void tst_QMediaPlayer::testMuted()
-{
- QFETCH_GLOBAL(bool, valid);
- QFETCH_GLOBAL(bool, muted);
- QFETCH_GLOBAL(int, volume);
-
- if (valid) {
- mockService->setMuted(muted);
- mockService->setVolume(volume);
- QVERIFY(player->isMuted() == muted);
-
- QSignalSpy spy(player, SIGNAL(mutedChanged(bool)));
- player->setMuted(!muted);
- QCOMPARE(player->isMuted(), !muted);
- QCOMPARE(player->volume(), volume);
- QCOMPARE(spy.count(), 1);
- }
-}
-
-void tst_QMediaPlayer::testVideoAvailable()
-{
- QFETCH_GLOBAL(bool, videoAvailable);
-
- mockService->setVideoAvailable(videoAvailable);
- QVERIFY(player->isVideoAvailable() == videoAvailable);
-}
-
-void tst_QMediaPlayer::testBufferStatus()
-{
- QFETCH_GLOBAL(int, bufferStatus);
-
- mockService->setBufferStatus(bufferStatus);
- QVERIFY(player->bufferStatus() == bufferStatus);
-}
-
-void tst_QMediaPlayer::testSeekable()
-{
- QFETCH_GLOBAL(bool, seekable);
-
- mockService->setSeekable(seekable);
- QVERIFY(player->isSeekable() == seekable);
-}
-
-void tst_QMediaPlayer::testPlaybackRate()
-{
- QFETCH_GLOBAL(bool, valid);
- QFETCH_GLOBAL(qreal, playbackRate);
-
- if (valid) {
- mockService->setPlaybackRate(playbackRate);
- QVERIFY(player->playbackRate() == playbackRate);
-
- QSignalSpy spy(player, SIGNAL(playbackRateChanged(qreal)));
- player->setPlaybackRate(playbackRate + 0.5f);
- QCOMPARE(player->playbackRate(), playbackRate + 0.5f);
- QCOMPARE(spy.count(), 1);
- }
-}
-
-void tst_QMediaPlayer::testError()
-{
- QFETCH_GLOBAL(QMediaPlayer::Error, error);
-
- mockService->setError(error);
- QVERIFY(player->error() == error);
-}
-
-void tst_QMediaPlayer::testErrorString()
-{
- QFETCH_GLOBAL(QString, errorString);
-
- mockService->setErrorString(errorString);
- QVERIFY(player->errorString() == errorString);
-}
-
-void tst_QMediaPlayer::testService()
-{
- /*
- QFETCH_GLOBAL(bool, valid);
-
- mockService->setIsValid(valid);
-
- if (valid)
- QVERIFY(player->service() != 0);
- else
- QVERIFY(player->service() == 0);
- */
-}
-
-void tst_QMediaPlayer::testPlay()
-{
- QFETCH_GLOBAL(bool, valid);
- QFETCH_GLOBAL(QMediaContent, mediaContent);
- QFETCH_GLOBAL(QMediaPlayer::State, state);
-
- mockService->setIsValid(valid);
- mockService->setState(state);
- mockService->setMedia(mediaContent);
- QVERIFY(player->state() == state);
- QVERIFY(player->media() == mediaContent);
-
- QSignalSpy spy(player, SIGNAL(stateChanged(QMediaPlayer::State)));
-
- player->play();
-
- if (!valid || mediaContent.isNull()) {
- QCOMPARE(player->state(), QMediaPlayer::StoppedState);
- QCOMPARE(spy.count(), 0);
- }
- else {
- QCOMPARE(player->state(), QMediaPlayer::PlayingState);
- QCOMPARE(spy.count(), state == QMediaPlayer::PlayingState ? 0 : 1);
- }
-}
-
-void tst_QMediaPlayer::testPause()
-{
- QFETCH_GLOBAL(bool, valid);
- QFETCH_GLOBAL(QMediaContent, mediaContent);
- QFETCH_GLOBAL(QMediaPlayer::State, state);
-
- mockService->setIsValid(valid);
- mockService->setState(state);
- mockService->setMedia(mediaContent);
- QVERIFY(player->state() == state);
- QVERIFY(player->media() == mediaContent);
-
- QSignalSpy spy(player, SIGNAL(stateChanged(QMediaPlayer::State)));
-
- player->pause();
-
- if (!valid || mediaContent.isNull()) {
- QCOMPARE(player->state(), QMediaPlayer::StoppedState);
- QCOMPARE(spy.count(), 0);
- }
- else {
- QCOMPARE(player->state(), QMediaPlayer::PausedState);
- QCOMPARE(spy.count(), state == QMediaPlayer::PausedState ? 0 : 1);
- }
-}
-
-void tst_QMediaPlayer::testStop()
-{
- QFETCH_GLOBAL(QMediaContent, mediaContent);
- QFETCH_GLOBAL(QMediaPlayer::State, state);
-
- mockService->setState(state);
- mockService->setMedia(mediaContent);
- QVERIFY(player->state() == state);
- QVERIFY(player->media() == mediaContent);
-
- QSignalSpy spy(player, SIGNAL(stateChanged(QMediaPlayer::State)));
-
- player->stop();
-
- if (mediaContent.isNull() || state == QMediaPlayer::StoppedState) {
- QCOMPARE(player->state(), QMediaPlayer::StoppedState);
- QCOMPARE(spy.count(), 0);
- }
- else {
- QCOMPARE(player->state(), QMediaPlayer::StoppedState);
- QCOMPARE(spy.count(), 1);
- }
-}
-
-void tst_QMediaPlayer::testMediaStatus()
-{
- QFETCH_GLOBAL(int, bufferStatus);
- int bufferSignals = 0;
-
- player->setNotifyInterval(10);
-
- mockService->setMediaStatus(QMediaPlayer::NoMedia);
- mockService->setBufferStatus(bufferStatus);
-
- AutoConnection connection(
- player, SIGNAL(bufferStatusChanged(int)),
- &QTestEventLoop::instance(), SLOT(exitLoop()));
-
- QSignalSpy statusSpy(player, SIGNAL(mediaStatusChanged(QMediaPlayer::MediaStatus)));
- QSignalSpy bufferSpy(player, SIGNAL(bufferStatusChanged(int)));
-
- QCOMPARE(player->mediaStatus(), QMediaPlayer::NoMedia);
-
- mockService->setMediaStatus(QMediaPlayer::LoadingMedia);
- QCOMPARE(player->mediaStatus(), QMediaPlayer::LoadingMedia);
- QCOMPARE(statusSpy.count(), 1);
-
- QCOMPARE(qvariant_cast<QMediaPlayer::MediaStatus>(statusSpy.last().value(0)),
- QMediaPlayer::LoadingMedia);
-
- mockService->setMediaStatus(QMediaPlayer::LoadedMedia);
- QCOMPARE(player->mediaStatus(), QMediaPlayer::LoadedMedia);
- QCOMPARE(statusSpy.count(), 2);
-
- QCOMPARE(qvariant_cast<QMediaPlayer::MediaStatus>(statusSpy.last().value(0)),
- QMediaPlayer::LoadedMedia);
-
- // Verify the bufferStatusChanged() signal isn't being emitted.
- QTestEventLoop::instance().enterLoop(1);
- QCOMPARE(bufferSpy.count(), 0);
-
- mockService->setMediaStatus(QMediaPlayer::StalledMedia);
- QCOMPARE(player->mediaStatus(), QMediaPlayer::StalledMedia);
- QCOMPARE(statusSpy.count(), 3);
-
- QCOMPARE(qvariant_cast<QMediaPlayer::MediaStatus>(statusSpy.last().value(0)),
- QMediaPlayer::StalledMedia);
-
- // Verify the bufferStatusChanged() signal is being emitted.
- QTestEventLoop::instance().enterLoop(1);
- QVERIFY(bufferSpy.count() > bufferSignals);
- QCOMPARE(bufferSpy.last().value(0).toInt(), bufferStatus);
- bufferSignals = bufferSpy.count();
-
- mockService->setMediaStatus(QMediaPlayer::BufferingMedia);
- QCOMPARE(player->mediaStatus(), QMediaPlayer::BufferingMedia);
- QCOMPARE(statusSpy.count(), 4);
-
- QCOMPARE(qvariant_cast<QMediaPlayer::MediaStatus>(statusSpy.last().value(0)),
- QMediaPlayer::BufferingMedia);
-
- // Verify the bufferStatusChanged() signal is being emitted.
- QTestEventLoop::instance().enterLoop(1);
- QVERIFY(bufferSpy.count() > bufferSignals);
- QCOMPARE(bufferSpy.last().value(0).toInt(), bufferStatus);
- bufferSignals = bufferSpy.count();
-
- mockService->setMediaStatus(QMediaPlayer::BufferedMedia);
- QCOMPARE(player->mediaStatus(), QMediaPlayer::BufferedMedia);
- QCOMPARE(statusSpy.count(), 5);
-
- QCOMPARE(qvariant_cast<QMediaPlayer::MediaStatus>(statusSpy.last().value(0)),
- QMediaPlayer::BufferedMedia);
-
- // Verify the bufferStatusChanged() signal isn't being emitted.
- QTestEventLoop::instance().enterLoop(1);
- QCOMPARE(bufferSpy.count(), bufferSignals);
-
- mockService->setMediaStatus(QMediaPlayer::EndOfMedia);
- QCOMPARE(player->mediaStatus(), QMediaPlayer::EndOfMedia);
- QCOMPARE(statusSpy.count(), 6);
-
- QCOMPARE(qvariant_cast<QMediaPlayer::MediaStatus>(statusSpy.last().value(0)),
- QMediaPlayer::EndOfMedia);
-}
-
-void tst_QMediaPlayer::testPlaylist()
-{
- QMediaContent content0(QUrl(QLatin1String("test://audio/song1.mp3")));
- QMediaContent content1(QUrl(QLatin1String("test://audio/song2.mp3")));
- QMediaContent content2(QUrl(QLatin1String("test://video/movie1.mp4")));
- QMediaContent content3(QUrl(QLatin1String("test://video/movie2.mp4")));
- QMediaContent content4(QUrl(QLatin1String("test://image/photo.jpg")));
-
- mockService->setIsValid(true);
- mockService->setState(QMediaPlayer::StoppedState, QMediaPlayer::NoMedia);
-
- QMediaPlaylist *playlist = new QMediaPlaylist;
- playlist->setMediaObject(player);
-
- QSignalSpy stateSpy(player, SIGNAL(stateChanged(QMediaPlayer::State)));
- QSignalSpy mediaSpy(player, SIGNAL(mediaChanged(QMediaContent)));
-
- // Test the player does nothing with an empty playlist attached.
- player->play();
- QCOMPARE(player->state(), QMediaPlayer::StoppedState);
- QCOMPARE(player->media(), QMediaContent());
- QCOMPARE(stateSpy.count(), 0);
- QCOMPARE(mediaSpy.count(), 0);
-
- playlist->addMedia(content0);
- playlist->addMedia(content1);
- playlist->addMedia(content2);
- playlist->addMedia(content3);
-
- // Test changing the playlist position, changes the current media, but not the playing state.
- playlist->setCurrentIndex(1);
- QCOMPARE(player->media(), content1);
- QCOMPARE(player->state(), QMediaPlayer::StoppedState);
- QCOMPARE(stateSpy.count(), 0);
- QCOMPARE(mediaSpy.count(), 1);
-
- // Test playing starts with the current media.
- player->play();
- QCOMPARE(player->media(), content1);
- QCOMPARE(player->state(), QMediaPlayer::PlayingState);
- QCOMPARE(stateSpy.count(), 1);
- QCOMPARE(mediaSpy.count(), 1);
-
- // Test pausing doesn't change the current media.
- player->pause();
- QCOMPARE(player->media(), content1);
- QCOMPARE(player->state(), QMediaPlayer::PausedState);
- QCOMPARE(stateSpy.count(), 2);
- QCOMPARE(mediaSpy.count(), 1);
-
- // Test stopping doesn't change the current media.
- player->stop();
- QCOMPARE(player->media(), content1);
- QCOMPARE(player->state(), QMediaPlayer::StoppedState);
- QCOMPARE(stateSpy.count(), 3);
- QCOMPARE(mediaSpy.count(), 1);
-
- // Test when the player service reaches the end of the current media, the player moves onto
- // the next item without stopping.
- player->play();
- QCOMPARE(player->media(), content1);
- QCOMPARE(player->state(), QMediaPlayer::PlayingState);
- QCOMPARE(stateSpy.count(), 4);
- QCOMPARE(mediaSpy.count(), 1);
-
- mockService->setState(QMediaPlayer::StoppedState, QMediaPlayer::EndOfMedia);
- QCOMPARE(player->media(), content2);
- QCOMPARE(player->state(), QMediaPlayer::PlayingState);
- QCOMPARE(stateSpy.count(), 4);
- QCOMPARE(mediaSpy.count(), 2);
-
- // Test skipping the current media doesn't change the state.
- playlist->next();
- QCOMPARE(player->media(), content3);
- QCOMPARE(player->state(), QMediaPlayer::PlayingState);
- QCOMPARE(stateSpy.count(), 4);
- QCOMPARE(mediaSpy.count(), 3);
-
- // Test changing the current media while paused doesn't change the state.
- player->pause();
- mockService->setMediaStatus(QMediaPlayer::BufferedMedia);
- QCOMPARE(player->media(), content3);
- QCOMPARE(player->state(), QMediaPlayer::PausedState);
- QCOMPARE(stateSpy.count(), 5);
- QCOMPARE(mediaSpy.count(), 3);
-
- playlist->previous();
- QCOMPARE(player->media(), content2);
- QCOMPARE(player->state(), QMediaPlayer::PausedState);
- QCOMPARE(stateSpy.count(), 5);
- QCOMPARE(mediaSpy.count(), 4);
-
- // Test changing the current media while stopped doesn't change the state.
- player->stop();
- mockService->setMediaStatus(QMediaPlayer::LoadedMedia);
- QCOMPARE(player->media(), content2);
- QCOMPARE(player->state(), QMediaPlayer::StoppedState);
- QCOMPARE(stateSpy.count(), 6);
- QCOMPARE(mediaSpy.count(), 4);
-
- playlist->next();
- QCOMPARE(player->media(), content3);
- QCOMPARE(player->state(), QMediaPlayer::StoppedState);
- QCOMPARE(stateSpy.count(), 6);
- QCOMPARE(mediaSpy.count(), 5);
-
- // Test the player is stopped and the current media cleared when it reaches the end of the last
- // item in the playlist.
- player->play();
- QCOMPARE(player->media(), content3);
- QCOMPARE(player->state(), QMediaPlayer::PlayingState);
- QCOMPARE(stateSpy.count(), 7);
- QCOMPARE(mediaSpy.count(), 5);
-
- // Double up the signals to ensure some noise doesn't destabalize things.
- mockService->setState(QMediaPlayer::StoppedState, QMediaPlayer::EndOfMedia);
- mockService->setState(QMediaPlayer::StoppedState, QMediaPlayer::EndOfMedia);
- QCOMPARE(player->media(), QMediaContent());
- QCOMPARE(player->state(), QMediaPlayer::StoppedState);
- QCOMPARE(stateSpy.count(), 8);
- QCOMPARE(mediaSpy.count(), 6);
-
- // Test starts playing from the start of the playlist if there is no current media selected.
- player->play();
- QCOMPARE(player->media(), content0);
- QCOMPARE(player->state(), QMediaPlayer::PlayingState);
- QCOMPARE(stateSpy.count(), 9);
- QCOMPARE(mediaSpy.count(), 7);
-
- // Test deleting the playlist stops the player and clears the media it set.
- delete playlist;
- QCOMPARE(player->media(), QMediaContent());
- QCOMPARE(player->state(), QMediaPlayer::StoppedState);
- QCOMPARE(stateSpy.count(), 10);
- QCOMPARE(mediaSpy.count(), 8);
-
- // Test the player works as normal with the playlist removed.
- player->play();
- QCOMPARE(player->media(), QMediaContent());
- QCOMPARE(player->state(), QMediaPlayer::StoppedState);
- QCOMPARE(stateSpy.count(), 10);
- QCOMPARE(mediaSpy.count(), 8);
-
- player->setMedia(content1);
- player->play();
-
- QCOMPARE(player->media(), content1);
- QCOMPARE(player->state(), QMediaPlayer::PlayingState);
- QCOMPARE(stateSpy.count(), 11);
- QCOMPARE(mediaSpy.count(), 9);
-
- // Test the player can bind to playlist again
- playlist = new QMediaPlaylist;
- playlist->setMediaObject(player);
- QCOMPARE(playlist->mediaObject(), qobject_cast<QMediaObject*>(player));
-
- QCOMPARE(player->media(), QMediaContent());
- QCOMPARE(player->state(), QMediaPlayer::StoppedState);
-
- playlist->addMedia(content0);
- playlist->addMedia(content1);
- playlist->addMedia(content2);
- playlist->addMedia(content3);
-
- playlist->setCurrentIndex(1);
- QCOMPARE(player->media(), content1);
- QCOMPARE(player->state(), QMediaPlayer::StoppedState);
-
- // Test attaching the new playlist,
- // player should detach the current one
- QMediaPlaylist *playlist2 = new QMediaPlaylist;
- playlist2->addMedia(content1);
- playlist2->addMedia(content2);
- playlist2->addMedia(content3);
- playlist2->setCurrentIndex(2);
-
- player->play();
- playlist2->setMediaObject(player);
- QCOMPARE(playlist2->mediaObject(), qobject_cast<QMediaObject*>(player));
- QVERIFY(playlist->mediaObject() == 0);
- QCOMPARE(player->media(), playlist2->currentMedia());
- QCOMPARE(player->state(), QMediaPlayer::StoppedState);
-
- playlist2->setCurrentIndex(1);
- QCOMPARE(player->media(), playlist2->currentMedia());
-}
-
-QTEST_MAIN(tst_QMediaPlayer)
-
-#include "tst_qmediaplayer.moc"
diff --git a/tests/auto/qmediaplaylist/qmediaplaylist.pro b/tests/auto/qmediaplaylist/qmediaplaylist.pro
deleted file mode 100644
index 809473bb86..0000000000
--- a/tests/auto/qmediaplaylist/qmediaplaylist.pro
+++ /dev/null
@@ -1,6 +0,0 @@
-load(qttest_p4)
-
-SOURCES = tst_qmediaplaylist.cpp
-
-QT = core mediaservices
-
diff --git a/tests/auto/qmediaplaylist/tst_qmediaplaylist.cpp b/tests/auto/qmediaplaylist/tst_qmediaplaylist.cpp
deleted file mode 100644
index 1037f3767c..0000000000
--- a/tests/auto/qmediaplaylist/tst_qmediaplaylist.cpp
+++ /dev/null
@@ -1,593 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the test suite of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include <QtTest/QtTest>
-#include <QDebug>
-#include <QtMediaServices/qmediaservice.h>
-#include <QtMediaServices/qmediaplaylist.h>
-#include <QtMediaServices/qmediaplaylistcontrol.h>
-#include <QtMediaServices/qmediaplaylistnavigator.h>
-#include <QtMediaServices/private/qmediapluginloader_p.h>
-
-
-class MockReadOnlyPlaylistProvider : public QMediaPlaylistProvider
-{
- Q_OBJECT
-public:
- MockReadOnlyPlaylistProvider(QObject *parent)
- :QMediaPlaylistProvider(parent)
- {
- m_items.append(QMediaContent(QUrl(QLatin1String("file:///1"))));
- m_items.append(QMediaContent(QUrl(QLatin1String("file:///2"))));
- m_items.append(QMediaContent(QUrl(QLatin1String("file:///3"))));
- }
-
- int mediaCount() const { return m_items.size(); }
- QMediaContent media(int index) const
- {
- return index >=0 && index < mediaCount() ? m_items.at(index) : QMediaContent();
- }
-
-private:
- QList<QMediaContent> m_items;
-};
-
-class MockPlaylistControl : public QMediaPlaylistControl
-{
- Q_OBJECT
-public:
- MockPlaylistControl(QObject *parent) : QMediaPlaylistControl(parent)
- {
- m_navigator = new QMediaPlaylistNavigator(new MockReadOnlyPlaylistProvider(this), this);
- }
-
- ~MockPlaylistControl()
- {
- }
-
- QMediaPlaylistProvider* playlistProvider() const { return m_navigator->playlist(); }
- bool setPlaylistProvider(QMediaPlaylistProvider *playlist) { m_navigator->setPlaylist(playlist); return true; }
-
- int currentIndex() const { return m_navigator->currentIndex(); }
- void setCurrentIndex(int position) { m_navigator->jump(position); }
- int nextIndex(int steps) const { return m_navigator->nextIndex(steps); }
- int previousIndex(int steps) const { return m_navigator->previousIndex(steps); }
-
- void next() { m_navigator->next(); }
- void previous() { m_navigator->previous(); }
-
- QMediaPlaylist::PlaybackMode playbackMode() const { return m_navigator->playbackMode(); }
- void setPlaybackMode(QMediaPlaylist::PlaybackMode mode) { m_navigator->setPlaybackMode(mode); }
-
-private:
- QMediaPlaylistNavigator *m_navigator;
-};
-
-class MockPlaylistService : public QMediaService
-{
- Q_OBJECT
-
-public:
- MockPlaylistService():QMediaService(0)
- {
- mockControl = new MockPlaylistControl(this);
- }
-
- ~MockPlaylistService()
- {
- }
-
- QMediaControl* control(const char *iid) const
- {
- if (qstrcmp(iid, QMediaPlaylistControl_iid) == 0)
- return mockControl;
- return 0;
- }
-
- MockPlaylistControl *mockControl;
-};
-
-class MockReadOnlyPlaylistObject : public QMediaObject
-{
- Q_OBJECT
-public:
- MockReadOnlyPlaylistObject(QObject *parent = 0)
- :QMediaObject(parent, new MockPlaylistService)
- {
- }
-};
-
-
-class tst_QMediaPlaylist : public QObject
-{
- Q_OBJECT
-public slots:
- void init();
- void cleanup();
- void initTestCase();
-
-private slots:
- void construction();
- void append();
- void insert();
- void clear();
- void removeMedia();
- void currentItem();
- void saveAndLoad();
- void playbackMode();
- void playbackMode_data();
- void shuffle();
- void readOnlyPlaylist();
- void setMediaObject();
-
-private:
- QMediaContent content1;
- QMediaContent content2;
- QMediaContent content3;
-};
-
-void tst_QMediaPlaylist::init()
-{
-}
-
-void tst_QMediaPlaylist::initTestCase()
-{
- content1 = QMediaContent(QUrl(QLatin1String("file:///1")));
- content2 = QMediaContent(QUrl(QLatin1String("file:///2")));
- content3 = QMediaContent(QUrl(QLatin1String("file:///3")));
-}
-
-void tst_QMediaPlaylist::cleanup()
-{
-}
-
-void tst_QMediaPlaylist::construction()
-{
- QMediaPlaylist playlist;
- QCOMPARE(playlist.mediaCount(), 0);
- QVERIFY(playlist.isEmpty());
-}
-
-void tst_QMediaPlaylist::append()
-{
- QMediaPlaylist playlist;
- QVERIFY(!playlist.isReadOnly());
-
- playlist.addMedia(content1);
- QCOMPARE(playlist.mediaCount(), 1);
- QCOMPARE(playlist.media(0), content1);
-
- QSignalSpy aboutToBeInsertedSignalSpy(&playlist, SIGNAL(mediaAboutToBeInserted(int,int)));
- QSignalSpy insertedSignalSpy(&playlist, SIGNAL(mediaInserted(int,int)));
- playlist.addMedia(content2);
- QCOMPARE(playlist.mediaCount(), 2);
- QCOMPARE(playlist.media(1), content2);
-
- QCOMPARE(aboutToBeInsertedSignalSpy.count(), 1);
- QCOMPARE(aboutToBeInsertedSignalSpy.first()[0].toInt(), 1);
- QCOMPARE(aboutToBeInsertedSignalSpy.first()[1].toInt(), 1);
-
- QCOMPARE(insertedSignalSpy.count(), 1);
- QCOMPARE(insertedSignalSpy.first()[0].toInt(), 1);
- QCOMPARE(insertedSignalSpy.first()[1].toInt(), 1);
-
- aboutToBeInsertedSignalSpy.clear();
- insertedSignalSpy.clear();
-
- QMediaContent content4(QUrl(QLatin1String("file:///4")));
- QMediaContent content5(QUrl(QLatin1String("file:///5")));
- playlist.addMedia(QList<QMediaContent>() << content3 << content4 << content5);
- QCOMPARE(playlist.mediaCount(), 5);
- QCOMPARE(playlist.media(2), content3);
- QCOMPARE(playlist.media(3), content4);
- QCOMPARE(playlist.media(4), content5);
-
- QCOMPARE(aboutToBeInsertedSignalSpy.count(), 1);
- QCOMPARE(aboutToBeInsertedSignalSpy[0][0].toInt(), 2);
- QCOMPARE(aboutToBeInsertedSignalSpy[0][1].toInt(), 4);
-
- QCOMPARE(insertedSignalSpy.count(), 1);
- QCOMPARE(insertedSignalSpy[0][0].toInt(), 2);
- QCOMPARE(insertedSignalSpy[0][1].toInt(), 4);
-
- aboutToBeInsertedSignalSpy.clear();
- insertedSignalSpy.clear();
-
- playlist.addMedia(QList<QMediaContent>());
- QCOMPARE(aboutToBeInsertedSignalSpy.count(), 0);
- QCOMPARE(insertedSignalSpy.count(), 0);
-}
-
-void tst_QMediaPlaylist::insert()
-{
- QMediaPlaylist playlist;
- QVERIFY(!playlist.isReadOnly());
-
- playlist.addMedia(content1);
- QCOMPARE(playlist.mediaCount(), 1);
- QCOMPARE(playlist.media(0), content1);
-
- playlist.addMedia(content2);
- QCOMPARE(playlist.mediaCount(), 2);
- QCOMPARE(playlist.media(1), content2);
-
- QSignalSpy aboutToBeInsertedSignalSpy(&playlist, SIGNAL(mediaAboutToBeInserted(int,int)));
- QSignalSpy insertedSignalSpy(&playlist, SIGNAL(mediaInserted(int,int)));
-
- playlist.insertMedia(1, content3);
- QCOMPARE(playlist.mediaCount(), 3);
- QCOMPARE(playlist.media(0), content1);
- QCOMPARE(playlist.media(1), content3);
- QCOMPARE(playlist.media(2), content2);
-
- QCOMPARE(aboutToBeInsertedSignalSpy.count(), 1);
- QCOMPARE(aboutToBeInsertedSignalSpy.first()[0].toInt(), 1);
- QCOMPARE(aboutToBeInsertedSignalSpy.first()[1].toInt(), 1);
-
- QCOMPARE(insertedSignalSpy.count(), 1);
- QCOMPARE(insertedSignalSpy.first()[0].toInt(), 1);
- QCOMPARE(insertedSignalSpy.first()[1].toInt(), 1);
-
- aboutToBeInsertedSignalSpy.clear();
- insertedSignalSpy.clear();
-
- QMediaContent content4(QUrl(QLatin1String("file:///4")));
- QMediaContent content5(QUrl(QLatin1String("file:///5")));
- playlist.insertMedia(1, QList<QMediaContent>() << content4 << content5);
-
- QCOMPARE(playlist.media(0), content1);
- QCOMPARE(playlist.media(1), content4);
- QCOMPARE(playlist.media(2), content5);
- QCOMPARE(playlist.media(3), content3);
- QCOMPARE(playlist.media(4), content2);
- QCOMPARE(aboutToBeInsertedSignalSpy.count(), 1);
- QCOMPARE(aboutToBeInsertedSignalSpy[0][0].toInt(), 1);
- QCOMPARE(aboutToBeInsertedSignalSpy[0][1].toInt(), 2);
-
- QCOMPARE(insertedSignalSpy.count(), 1);
- QCOMPARE(insertedSignalSpy[0][0].toInt(), 1);
- QCOMPARE(insertedSignalSpy[0][1].toInt(), 2);
-
- aboutToBeInsertedSignalSpy.clear();
- insertedSignalSpy.clear();
-
- playlist.insertMedia(1, QList<QMediaContent>());
- QCOMPARE(aboutToBeInsertedSignalSpy.count(), 0);
- QCOMPARE(insertedSignalSpy.count(), 0);
-}
-
-
-void tst_QMediaPlaylist::currentItem()
-{
- QMediaPlaylist playlist;
- playlist.addMedia(content1);
- playlist.addMedia(content2);
-
- QCOMPARE(playlist.currentIndex(), -1);
- QCOMPARE(playlist.currentMedia(), QMediaContent());
-
- QCOMPARE(playlist.nextIndex(), 0);
- QCOMPARE(playlist.nextIndex(2), 1);
- QCOMPARE(playlist.previousIndex(), 1);
- QCOMPARE(playlist.previousIndex(2), 0);
-
- playlist.setCurrentIndex(0);
- QCOMPARE(playlist.currentIndex(), 0);
- QCOMPARE(playlist.currentMedia(), content1);
-
- QCOMPARE(playlist.nextIndex(), 1);
- QCOMPARE(playlist.nextIndex(2), -1);
- QCOMPARE(playlist.previousIndex(), -1);
- QCOMPARE(playlist.previousIndex(2), -1);
-
- playlist.setCurrentIndex(1);
- QCOMPARE(playlist.currentIndex(), 1);
- QCOMPARE(playlist.currentMedia(), content2);
-
- QCOMPARE(playlist.nextIndex(), -1);
- QCOMPARE(playlist.nextIndex(2), -1);
- QCOMPARE(playlist.previousIndex(), 0);
- QCOMPARE(playlist.previousIndex(2), -1);
-
- QTest::ignoreMessage(QtWarningMsg, "QMediaPlaylistNavigator: Jump outside playlist range ");
- playlist.setCurrentIndex(2);
-
- QCOMPARE(playlist.currentIndex(), -1);
- QCOMPARE(playlist.currentMedia(), QMediaContent());
-}
-
-void tst_QMediaPlaylist::clear()
-{
- QMediaPlaylist playlist;
- playlist.addMedia(content1);
- playlist.addMedia(content2);
-
- playlist.clear();
- QVERIFY(playlist.isEmpty());
- QCOMPARE(playlist.mediaCount(), 0);
-}
-
-void tst_QMediaPlaylist::removeMedia()
-{
- QMediaPlaylist playlist;
- playlist.addMedia(content1);
- playlist.addMedia(content2);
- playlist.addMedia(content3);
-
- QSignalSpy aboutToBeRemovedSignalSpy(&playlist, SIGNAL(mediaAboutToBeRemoved(int,int)));
- QSignalSpy removedSignalSpy(&playlist, SIGNAL(mediaRemoved(int,int)));
- playlist.removeMedia(1);
- QCOMPARE(playlist.mediaCount(), 2);
- QCOMPARE(playlist.media(1), content3);
-
- QCOMPARE(aboutToBeRemovedSignalSpy.count(), 1);
- QCOMPARE(aboutToBeRemovedSignalSpy.first()[0].toInt(), 1);
- QCOMPARE(aboutToBeRemovedSignalSpy.first()[1].toInt(), 1);
-
- QCOMPARE(removedSignalSpy.count(), 1);
- QCOMPARE(removedSignalSpy.first()[0].toInt(), 1);
- QCOMPARE(removedSignalSpy.first()[1].toInt(), 1);
-
- aboutToBeRemovedSignalSpy.clear();
- removedSignalSpy.clear();
-
- playlist.removeMedia(0,1);
- QVERIFY(playlist.isEmpty());
-
- QCOMPARE(aboutToBeRemovedSignalSpy.count(), 1);
- QCOMPARE(aboutToBeRemovedSignalSpy.first()[0].toInt(), 0);
- QCOMPARE(aboutToBeRemovedSignalSpy.first()[1].toInt(), 1);
-
- QCOMPARE(removedSignalSpy.count(), 1);
- QCOMPARE(removedSignalSpy.first()[0].toInt(), 0);
- QCOMPARE(removedSignalSpy.first()[1].toInt(), 1);
-
-
- playlist.addMedia(content1);
- playlist.addMedia(content2);
- playlist.addMedia(content3);
-
- playlist.removeMedia(0,1);
- QCOMPARE(playlist.mediaCount(), 1);
- QCOMPARE(playlist.media(0), content3);
-}
-
-void tst_QMediaPlaylist::saveAndLoad()
-{
- QMediaPlaylist playlist;
- playlist.addMedia(content1);
- playlist.addMedia(content2);
- playlist.addMedia(content3);
-
- QCOMPARE(playlist.error(), QMediaPlaylist::NoError);
- QVERIFY(playlist.errorString().isEmpty());
-
- QBuffer buffer;
- buffer.open(QBuffer::ReadWrite);
-
- bool res = playlist.save(&buffer, "unsupported_format");
- QVERIFY(!res);
- QVERIFY(playlist.error() != QMediaPlaylist::NoError);
- QVERIFY(!playlist.errorString().isEmpty());
-
- QSignalSpy errorSignal(&playlist, SIGNAL(loadFailed()));
- playlist.load(&buffer, "unsupported_format");
- QCOMPARE(errorSignal.size(), 1);
- QVERIFY(playlist.error() != QMediaPlaylist::NoError);
- QVERIFY(!playlist.errorString().isEmpty());
-
- res = playlist.save(QUrl(QLatin1String("tmp.unsupported_format")), "unsupported_format");
- QVERIFY(!res);
- QVERIFY(playlist.error() != QMediaPlaylist::NoError);
- QVERIFY(!playlist.errorString().isEmpty());
-
- errorSignal.clear();
- playlist.load(QUrl(QLatin1String("tmp.unsupported_format")), "unsupported_format");
- QCOMPARE(errorSignal.size(), 1);
- QVERIFY(playlist.error() != QMediaPlaylist::NoError);
- QVERIFY(!playlist.errorString().isEmpty());
-}
-
-void tst_QMediaPlaylist::playbackMode_data()
-{
- QTest::addColumn<QMediaPlaylist::PlaybackMode>("playbackMode");
- QTest::addColumn<int>("expectedPrevious");
- QTest::addColumn<int>("pos");
- QTest::addColumn<int>("expectedNext");
-
- QTest::newRow("Linear, 0") << QMediaPlaylist::Linear << -1 << 0 << 1;
- QTest::newRow("Linear, 1") << QMediaPlaylist::Linear << 0 << 1 << 2;
- QTest::newRow("Linear, 2") << QMediaPlaylist::Linear << 1 << 2 << -1;
-
- QTest::newRow("Loop, 0") << QMediaPlaylist::Loop << 2 << 0 << 1;
- QTest::newRow("Loop, 1") << QMediaPlaylist::Loop << 0 << 1 << 2;
- QTest::newRow("Lopp, 2") << QMediaPlaylist::Loop << 1 << 2 << 0;
-
- QTest::newRow("ItemOnce, 1") << QMediaPlaylist::CurrentItemOnce << -1 << 1 << -1;
- QTest::newRow("ItemInLoop, 1") << QMediaPlaylist::CurrentItemInLoop << 1 << 1 << 1;
-
-}
-
-void tst_QMediaPlaylist::playbackMode()
-{
- QFETCH(QMediaPlaylist::PlaybackMode, playbackMode);
- QFETCH(int, expectedPrevious);
- QFETCH(int, pos);
- QFETCH(int, expectedNext);
-
- QMediaPlaylist playlist;
- playlist.addMedia(content1);
- playlist.addMedia(content2);
- playlist.addMedia(content3);
-
- QCOMPARE(playlist.playbackMode(), QMediaPlaylist::Linear);
- QCOMPARE(playlist.currentIndex(), -1);
-
- playlist.setPlaybackMode(playbackMode);
- QCOMPARE(playlist.playbackMode(), playbackMode);
-
- playlist.setCurrentIndex(pos);
- QCOMPARE(playlist.currentIndex(), pos);
- QCOMPARE(playlist.nextIndex(), expectedNext);
- QCOMPARE(playlist.previousIndex(), expectedPrevious);
-
- playlist.next();
- QCOMPARE(playlist.currentIndex(), expectedNext);
-
- playlist.setCurrentIndex(pos);
- playlist.previous();
- QCOMPARE(playlist.currentIndex(), expectedPrevious);
-}
-
-void tst_QMediaPlaylist::shuffle()
-{
- QMediaPlaylist playlist;
- QList<QMediaContent> contentList;
-
- for (int i=0; i<100; i++) {
- QMediaContent content(QUrl(QString::number(i)));
- contentList.append(content);
- playlist.addMedia(content);
- }
-
- playlist.shuffle();
-
- QList<QMediaContent> shuffledContentList;
- for (int i=0; i<playlist.mediaCount(); i++)
- shuffledContentList.append(playlist.media(i));
-
- QVERIFY(contentList != shuffledContentList);
-
-}
-
-void tst_QMediaPlaylist::readOnlyPlaylist()
-{
- MockReadOnlyPlaylistObject mediaObject;
- QMediaPlaylist playlist;
- playlist.setMediaObject(&mediaObject);
-
- QVERIFY(playlist.isReadOnly());
- QVERIFY(!playlist.isEmpty());
- QCOMPARE(playlist.mediaCount(), 3);
-
- QCOMPARE(playlist.media(0), content1);
- QCOMPARE(playlist.media(1), content2);
- QCOMPARE(playlist.media(2), content3);
- QCOMPARE(playlist.media(3), QMediaContent());
-
- //it's a read only playlist, so all the modification should fail
- QVERIFY(!playlist.addMedia(content1));
- QCOMPARE(playlist.mediaCount(), 3);
- QVERIFY(!playlist.addMedia(QList<QMediaContent>() << content1 << content2));
- QCOMPARE(playlist.mediaCount(), 3);
- QVERIFY(!playlist.insertMedia(1, content1));
- QCOMPARE(playlist.mediaCount(), 3);
- QVERIFY(!playlist.insertMedia(1, QList<QMediaContent>() << content1 << content2));
- QCOMPARE(playlist.mediaCount(), 3);
- QVERIFY(!playlist.removeMedia(1));
- QCOMPARE(playlist.mediaCount(), 3);
- QVERIFY(!playlist.removeMedia(0,2));
- QCOMPARE(playlist.mediaCount(), 3);
- QVERIFY(!playlist.clear());
- QCOMPARE(playlist.mediaCount(), 3);
-
- //but it is still allowed to append/insert an empty list
- QVERIFY(playlist.addMedia(QList<QMediaContent>()));
- QVERIFY(playlist.insertMedia(1, QList<QMediaContent>()));
-
- playlist.shuffle();
- //it's still the same
- QCOMPARE(playlist.media(0), content1);
- QCOMPARE(playlist.media(1), content2);
- QCOMPARE(playlist.media(2), content3);
- QCOMPARE(playlist.media(3), QMediaContent());
-
-
- //load to read only playlist should fail,
- //unless underlaying provider supports it
- QBuffer buffer;
- buffer.open(QBuffer::ReadWrite);
- buffer.write(QByteArray("file:///1\nfile:///2"));
- buffer.seek(0);
-
- QSignalSpy errorSignal(&playlist, SIGNAL(loadFailed()));
- playlist.load(&buffer, "m3u");
- QCOMPARE(errorSignal.size(), 1);
- QCOMPARE(playlist.error(), QMediaPlaylist::AccessDeniedError);
- QVERIFY(!playlist.errorString().isEmpty());
- QCOMPARE(playlist.mediaCount(), 3);
-
- errorSignal.clear();
- playlist.load(QUrl(QLatin1String("tmp.m3u")), "m3u");
-
- QCOMPARE(errorSignal.size(), 1);
- QCOMPARE(playlist.error(), QMediaPlaylist::AccessDeniedError);
- QVERIFY(!playlist.errorString().isEmpty());
- QCOMPARE(playlist.mediaCount(), 3);
-}
-
-void tst_QMediaPlaylist::setMediaObject()
-{
- MockReadOnlyPlaylistObject mediaObject;
-
- QMediaPlaylist playlist;
- QVERIFY(playlist.mediaObject() == 0);
- QVERIFY(!playlist.isReadOnly());
-
- playlist.setMediaObject(&mediaObject);
- QCOMPARE(playlist.mediaObject(), qobject_cast<QMediaObject*>(&mediaObject));
- QCOMPARE(playlist.mediaCount(), 3);
- QVERIFY(playlist.isReadOnly());
-
- playlist.setMediaObject(0);
- QVERIFY(playlist.mediaObject() == 0);
- QCOMPARE(playlist.mediaCount(), 0);
- QVERIFY(!playlist.isReadOnly());
-
- playlist.setMediaObject(&mediaObject);
- QCOMPARE(playlist.mediaObject(), qobject_cast<QMediaObject*>(&mediaObject));
- QCOMPARE(playlist.mediaCount(), 3);
- QVERIFY(playlist.isReadOnly());
-}
-
-QTEST_MAIN(tst_QMediaPlaylist)
-#include "tst_qmediaplaylist.moc"
-
diff --git a/tests/auto/qmediaplaylistnavigator/qmediaplaylistnavigator.pro b/tests/auto/qmediaplaylistnavigator/qmediaplaylistnavigator.pro
deleted file mode 100644
index 326576272e..0000000000
--- a/tests/auto/qmediaplaylistnavigator/qmediaplaylistnavigator.pro
+++ /dev/null
@@ -1,6 +0,0 @@
-load(qttest_p4)
-
-SOURCES = tst_qmediaplaylistnavigator.cpp
-
-QT = core mediaservices
-
diff --git a/tests/auto/qmediaplaylistnavigator/tst_qmediaplaylistnavigator.cpp b/tests/auto/qmediaplaylistnavigator/tst_qmediaplaylistnavigator.cpp
deleted file mode 100644
index 04f736c6ec..0000000000
--- a/tests/auto/qmediaplaylistnavigator/tst_qmediaplaylistnavigator.cpp
+++ /dev/null
@@ -1,316 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the test suite of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include <QtTest/QtTest>
-#include <QDebug>
-#include <QtMediaServices/qlocalmediaplaylistprovider.h>
-#include <QtMediaServices/qmediaplaylistnavigator.h>
-
-
-class tst_QMediaPlaylistNavigator : public QObject
-{
- Q_OBJECT
-public slots:
- void init();
- void cleanup();
-
-private slots:
- void construction();
- void setPlaylist();
- void linearPlayback();
- void loopPlayback();
- void currentItemOnce();
- void currentItemInLoop();
- void randomPlayback();
-};
-
-void tst_QMediaPlaylistNavigator::init()
-{
-}
-
-void tst_QMediaPlaylistNavigator::cleanup()
-{
-}
-
-void tst_QMediaPlaylistNavigator::construction()
-{
- QLocalMediaPlaylistProvider playlist;
- QCOMPARE(playlist.mediaCount(), 0);
-
- QMediaPlaylistNavigator navigator(&playlist);
- QVERIFY(navigator.currentItem().isNull());
- QCOMPARE(navigator.currentIndex(), -1);
-}
-
-void tst_QMediaPlaylistNavigator::setPlaylist()
-{
- QMediaPlaylistNavigator navigator(0);
- QVERIFY(navigator.playlist() != 0);
- QCOMPARE(navigator.playlist()->mediaCount(), 0);
- QCOMPARE(navigator.playlist()->media(0), QMediaContent());
- QVERIFY(navigator.playlist()->isReadOnly() );
-
- QLocalMediaPlaylistProvider playlist;
- QCOMPARE(playlist.mediaCount(), 0);
-
- navigator.setPlaylist(&playlist);
- QCOMPARE(navigator.playlist(), (QMediaPlaylistProvider*)&playlist);
- QCOMPARE(navigator.playlist()->mediaCount(), 0);
- QVERIFY(!navigator.playlist()->isReadOnly() );
-}
-
-void tst_QMediaPlaylistNavigator::linearPlayback()
-{
- QLocalMediaPlaylistProvider playlist;
- QMediaPlaylistNavigator navigator(&playlist);
-
- navigator.setPlaybackMode(QMediaPlaylist::Linear);
- QTest::ignoreMessage(QtWarningMsg, "QMediaPlaylistNavigator: Jump outside playlist range ");
- navigator.jump(0);//it's ok to have warning here
- QVERIFY(navigator.currentItem().isNull());
- QCOMPARE(navigator.currentIndex(), -1);
-
- QMediaContent content1(QUrl(QLatin1String("file:///1")));
- playlist.addMedia(content1);
- navigator.jump(0);
- QVERIFY(!navigator.currentItem().isNull());
-
- QCOMPARE(navigator.currentIndex(), 0);
- QCOMPARE(navigator.currentItem(), content1);
- QCOMPARE(navigator.nextItem(), QMediaContent());
- QCOMPARE(navigator.nextItem(2), QMediaContent());
- QCOMPARE(navigator.previousItem(), QMediaContent());
- QCOMPARE(navigator.previousItem(2), QMediaContent());
-
- QMediaContent content2(QUrl(QLatin1String("file:///2")));
- playlist.addMedia(content2);
- QCOMPARE(navigator.currentIndex(), 0);
- QCOMPARE(navigator.currentItem(), content1);
- QCOMPARE(navigator.nextItem(), content2);
- QCOMPARE(navigator.nextItem(2), QMediaContent());
- QCOMPARE(navigator.previousItem(), QMediaContent());
- QCOMPARE(navigator.previousItem(2), QMediaContent());
-
- navigator.jump(1);
- QCOMPARE(navigator.currentIndex(), 1);
- QCOMPARE(navigator.currentItem(), content2);
- QCOMPARE(navigator.nextItem(), QMediaContent());
- QCOMPARE(navigator.nextItem(2), QMediaContent());
- QCOMPARE(navigator.previousItem(), content1);
- QCOMPARE(navigator.previousItem(2), QMediaContent());
-
- navigator.jump(0);
- navigator.next();
- QCOMPARE(navigator.currentIndex(), 1);
- navigator.next();
- QCOMPARE(navigator.currentIndex(), -1);
- navigator.next();//jump to the first item
- QCOMPARE(navigator.currentIndex(), 0);
-
- navigator.previous();
- QCOMPARE(navigator.currentIndex(), -1);
- navigator.previous();//jump to the last item
- QCOMPARE(navigator.currentIndex(), 1);
-}
-
-void tst_QMediaPlaylistNavigator::loopPlayback()
-{
- QLocalMediaPlaylistProvider playlist;
- QMediaPlaylistNavigator navigator(&playlist);
-
- navigator.setPlaybackMode(QMediaPlaylist::Loop);
- QTest::ignoreMessage(QtWarningMsg, "QMediaPlaylistNavigator: Jump outside playlist range ");
- navigator.jump(0);
- QVERIFY(navigator.currentItem().isNull());
- QCOMPARE(navigator.currentIndex(), -1);
-
- QMediaContent content1(QUrl(QLatin1String("file:///1")));
- playlist.addMedia(content1);
- navigator.jump(0);
- QVERIFY(!navigator.currentItem().isNull());
-
- QCOMPARE(navigator.currentIndex(), 0);
- QCOMPARE(navigator.currentItem(), content1);
- QCOMPARE(navigator.nextItem(), content1);
- QCOMPARE(navigator.nextItem(2), content1);
- QCOMPARE(navigator.previousItem(), content1);
- QCOMPARE(navigator.previousItem(2), content1);
-
- QMediaContent content2(QUrl(QLatin1String("file:///2")));
- playlist.addMedia(content2);
- QCOMPARE(navigator.currentIndex(), 0);
- QCOMPARE(navigator.currentItem(), content1);
- QCOMPARE(navigator.nextItem(), content2);
- QCOMPARE(navigator.nextItem(2), content1); //loop over end of the list
- QCOMPARE(navigator.previousItem(), content2);
- QCOMPARE(navigator.previousItem(2), content1);
-
- navigator.jump(1);
- QCOMPARE(navigator.currentIndex(), 1);
- QCOMPARE(navigator.currentItem(), content2);
- QCOMPARE(navigator.nextItem(), content1);
- QCOMPARE(navigator.nextItem(2), content2);
- QCOMPARE(navigator.previousItem(), content1);
- QCOMPARE(navigator.previousItem(2), content2);
-
- navigator.jump(0);
- navigator.next();
- QCOMPARE(navigator.currentIndex(), 1);
- navigator.next();
- QCOMPARE(navigator.currentIndex(), 0);
- navigator.previous();
- QCOMPARE(navigator.currentIndex(), 1);
- navigator.previous();
- QCOMPARE(navigator.currentIndex(), 0);
-}
-
-void tst_QMediaPlaylistNavigator::currentItemOnce()
-{
- QLocalMediaPlaylistProvider playlist;
- QMediaPlaylistNavigator navigator(&playlist);
-
- navigator.setPlaybackMode(QMediaPlaylist::CurrentItemOnce);
-
- QCOMPARE(navigator.playbackMode(), QMediaPlaylist::CurrentItemOnce);
- QCOMPARE(navigator.currentIndex(), -1);
-
- playlist.addMedia(QMediaContent(QUrl(QLatin1String("file:///1"))));
- playlist.addMedia(QMediaContent(QUrl(QLatin1String("file:///2"))));
- playlist.addMedia(QMediaContent(QUrl(QLatin1String("file:///3"))));
-
- QCOMPARE(navigator.currentIndex(), -1);
- navigator.next();
- QCOMPARE(navigator.currentIndex(), -1);
-
- navigator.jump(1);
- QCOMPARE(navigator.currentIndex(), 1);
- navigator.next();
- QCOMPARE(navigator.currentIndex(), -1);
- navigator.next();
- QCOMPARE(navigator.currentIndex(), -1);
- navigator.previous();
- QCOMPARE(navigator.currentIndex(), -1);
- navigator.jump(1);
- navigator.previous();
- QCOMPARE(navigator.currentIndex(), -1);
-}
-
-void tst_QMediaPlaylistNavigator::currentItemInLoop()
-{
- QLocalMediaPlaylistProvider playlist;
- QMediaPlaylistNavigator navigator(&playlist);
-
- navigator.setPlaybackMode(QMediaPlaylist::CurrentItemInLoop);
-
- QCOMPARE(navigator.playbackMode(), QMediaPlaylist::CurrentItemInLoop);
- QCOMPARE(navigator.currentIndex(), -1);
-
- playlist.addMedia(QMediaContent(QUrl(QLatin1String("file:///1"))));
- playlist.addMedia(QMediaContent(QUrl(QLatin1String("file:///2"))));
- playlist.addMedia(QMediaContent(QUrl(QLatin1String("file:///3"))));
-
- QCOMPARE(navigator.currentIndex(), -1);
- navigator.next();
- QCOMPARE(navigator.currentIndex(), -1);
- navigator.jump(1);
- navigator.next();
- QCOMPARE(navigator.currentIndex(), 1);
- navigator.next();
- QCOMPARE(navigator.currentIndex(), 1);
- navigator.previous();
- QCOMPARE(navigator.currentIndex(), 1);
- navigator.previous();
- QCOMPARE(navigator.currentIndex(), 1);
-}
-
-void tst_QMediaPlaylistNavigator::randomPlayback()
-{
- QLocalMediaPlaylistProvider playlist;
- QMediaPlaylistNavigator navigator(&playlist);
-
- navigator.setPlaybackMode(QMediaPlaylist::Random);
-
- QCOMPARE(navigator.playbackMode(), QMediaPlaylist::Random);
- QCOMPARE(navigator.currentIndex(), -1);
-
- playlist.addMedia(QMediaContent(QUrl(QLatin1String("file:///1"))));
- playlist.addMedia(QMediaContent(QUrl(QLatin1String("file:///2"))));
- playlist.addMedia(QMediaContent(QUrl(QLatin1String("file:///3"))));
-
- playlist.shuffle();
-
- QCOMPARE(navigator.currentIndex(), -1);
- navigator.next();
- int pos1 = navigator.currentIndex();
- navigator.next();
- int pos2 = navigator.currentIndex();
- navigator.next();
- int pos3 = navigator.currentIndex();
-
- QVERIFY(pos1 != -1);
- QVERIFY(pos2 != -1);
- QVERIFY(pos3 != -1);
-
- navigator.previous();
- QCOMPARE(navigator.currentIndex(), pos2);
- navigator.next();
- QCOMPARE(navigator.currentIndex(), pos3);
- navigator.next();
- int pos4 = navigator.currentIndex();
- navigator.previous();
- QCOMPARE(navigator.currentIndex(), pos3);
- navigator.previous();
- QCOMPARE(navigator.currentIndex(), pos2);
- navigator.previous();
- QCOMPARE(navigator.currentIndex(), pos1);
- navigator.previous();
- int pos0 = navigator.currentIndex();
- QVERIFY(pos0 != -1);
- navigator.next();
- navigator.next();
- navigator.next();
- navigator.next();
- QCOMPARE(navigator.currentIndex(), pos4);
-
-}
-
-QTEST_MAIN(tst_QMediaPlaylistNavigator)
-#include "tst_qmediaplaylistnavigator.moc"
diff --git a/tests/auto/qmediapluginloader/qmediapluginloader.pro b/tests/auto/qmediapluginloader/qmediapluginloader.pro
deleted file mode 100644
index a47cc57021..0000000000
--- a/tests/auto/qmediapluginloader/qmediapluginloader.pro
+++ /dev/null
@@ -1,6 +0,0 @@
-load(qttest_p4)
-
-SOURCES = tst_qmediapluginloader.cpp
-
-QT = core mediaservices
-
diff --git a/tests/auto/qmediapluginloader/tst_qmediapluginloader.cpp b/tests/auto/qmediapluginloader/tst_qmediapluginloader.cpp
deleted file mode 100644
index 001e68ab3b..0000000000
--- a/tests/auto/qmediapluginloader/tst_qmediapluginloader.cpp
+++ /dev/null
@@ -1,121 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the test suite of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include <QtTest/QtTest>
-#include <QDebug>
-
-#include <QtMediaServices/private/qmediapluginloader_p.h>
-#include <QtMediaServices/qmediaserviceproviderplugin.h>
-
-
-
-class tst_QMediaPluginLoader : public QObject
-{
- Q_OBJECT
-
-public slots:
- void initTestCase();
- void cleanupTestCase();
-
-private slots:
- void testInstance();
- void testInstances();
- void testInvalidKey();
-
-private:
- QMediaPluginLoader *loader;
-};
-
-void tst_QMediaPluginLoader::initTestCase()
-{
- loader = new QMediaPluginLoader(QMediaServiceProviderFactoryInterface_iid,
- QLatin1String("/mediaservice"),
- Qt::CaseInsensitive);
-}
-
-void tst_QMediaPluginLoader::cleanupTestCase()
-{
- delete loader;
-}
-
-void tst_QMediaPluginLoader::testInstance()
-{
- const QStringList keys = loader->keys();
-
- if (keys.isEmpty()) // Test is invalidated, skip.
- QSKIP("No plug-ins available", SkipAll);
-
- foreach (const QString &key, keys)
- QVERIFY(loader->instance(key) != 0);
-}
-
-void tst_QMediaPluginLoader::testInstances()
-{
- const QStringList keys = loader->keys();
-
- if (keys.isEmpty()) // Test is invalidated, skip.
- QSKIP("No plug-ins available", SkipAll);
-
- foreach (const QString &key, keys)
- QVERIFY(loader->instances(key).size() > 0);
-}
-
-// Last so as to not interfere with the other tests if there is a failure.
-void tst_QMediaPluginLoader::testInvalidKey()
-{
- const QString key(QLatin1String("invalid-key"));
-
- // This test assumes there is no 'invalid-key' in the key list, verify that.
- if (loader->keys().contains(key))
- QSKIP("a plug-in includes the invalid key", SkipAll);
-
- QVERIFY(loader->instance(key) == 0);
-
- // Test looking up the key hasn't inserted it into the list. See QMap::operator[].
- QVERIFY(!loader->keys().contains(key));
-
- QVERIFY(loader->instances(key).isEmpty());
- QVERIFY(!loader->keys().contains(key));
-}
-
-QTEST_MAIN(tst_QMediaPluginLoader)
-
-#include "tst_qmediapluginloader.moc"
diff --git a/tests/auto/qmediaresource/qmediaresource.pro b/tests/auto/qmediaresource/qmediaresource.pro
deleted file mode 100644
index 64669a29e8..0000000000
--- a/tests/auto/qmediaresource/qmediaresource.pro
+++ /dev/null
@@ -1,6 +0,0 @@
-load(qttest_p4)
-
-SOURCES = tst_qmediaresource.cpp
-
-QT = core mediaservices network
-
diff --git a/tests/auto/qmediaresource/tst_qmediaresource.cpp b/tests/auto/qmediaresource/tst_qmediaresource.cpp
deleted file mode 100644
index 984cfef696..0000000000
--- a/tests/auto/qmediaresource/tst_qmediaresource.cpp
+++ /dev/null
@@ -1,516 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the test suite of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include <QtTest/QtTest>
-
-#include <QtMediaServices/qmediaresource.h>
-
-
-class tst_QMediaResource : public QObject
-{
- Q_OBJECT
-private slots:
- void constructNull();
- void construct_data();
- void construct();
- void setResolution();
- void equality();
- void copy();
- void assign();
-};
-
-void tst_QMediaResource::constructNull()
-{
- QMediaResource resource;
-
- QCOMPARE(resource.isNull(), true);
- QCOMPARE(resource.url(), QUrl());
- QCOMPARE(resource.request(), QNetworkRequest());
- QCOMPARE(resource.mimeType(), QString());
- QCOMPARE(resource.language(), QString());
- QCOMPARE(resource.audioCodec(), QString());
- QCOMPARE(resource.videoCodec(), QString());
- QCOMPARE(resource.dataSize(), qint64(0));
- QCOMPARE(resource.audioBitRate(), 0);
- QCOMPARE(resource.sampleRate(), 0);
- QCOMPARE(resource.channelCount(), 0);
- QCOMPARE(resource.videoBitRate(), 0);
- QCOMPARE(resource.resolution(), QSize());
-}
-
-void tst_QMediaResource::construct_data()
-{
- QTest::addColumn<QUrl>("url");
- QTest::addColumn<QNetworkRequest>("request");
- QTest::addColumn<QString>("mimeType");
- QTest::addColumn<QString>("language");
- QTest::addColumn<QString>("audioCodec");
- QTest::addColumn<QString>("videoCodec");
- QTest::addColumn<qint64>("dataSize");
- QTest::addColumn<int>("audioBitRate");
- QTest::addColumn<int>("sampleRate");
- QTest::addColumn<int>("channelCount");
- QTest::addColumn<int>("videoBitRate");
- QTest::addColumn<QSize>("resolution");
-
- QTest::newRow("audio content")
- << QUrl(QString::fromLatin1("http:://test.com/test.mp3"))
- << QNetworkRequest(QUrl(QString::fromLatin1("http:://test.com/test.mp3")))
- << QString::fromLatin1("audio/mpeg")
- << QString::fromLatin1("eng")
- << QString::fromLatin1("mp3")
- << QString()
- << qint64(5465433)
- << 128000
- << 44100
- << 2
- << 0
- << QSize();
- QTest::newRow("image content")
- << QUrl(QString::fromLatin1("http:://test.com/test.jpg"))
- << QNetworkRequest(QUrl(QString::fromLatin1("http:://test.com/test.jpg")))
- << QString::fromLatin1("image/jpeg")
- << QString()
- << QString()
- << QString()
- << qint64(23600)
- << 0
- << 0
- << 0
- << 0
- << QSize(640, 480);
- QTest::newRow("video content")
- << QUrl(QString::fromLatin1("http:://test.com/test.mp4"))
- << QNetworkRequest(QUrl(QString::fromLatin1("http:://test.com/test.mp4")))
- << QString::fromLatin1("video/mp4")
- << QString()
- << QString::fromLatin1("aac")
- << QString::fromLatin1("h264")
- << qint64(36245851)
- << 96000
- << 44000
- << 5
- << 750000
- << QSize(720, 576);
- QTest::newRow("thumbnail")
- << QUrl(QString::fromLatin1("file::///thumbs/test.png"))
- << QNetworkRequest(QUrl(QString::fromLatin1("file::///thumbs/test.png")))
- << QString::fromLatin1("image/png")
- << QString()
- << QString()
- << QString()
- << qint64(2360)
- << 0
- << 0
- << 0
- << 0
- << QSize(128, 128);
-}
-
-void tst_QMediaResource::construct()
-{
- QFETCH(QUrl, url);
- QFETCH(QNetworkRequest, request);
- QFETCH(QString, mimeType);
- QFETCH(QString, language);
- QFETCH(QString, audioCodec);
- QFETCH(QString, videoCodec);
- QFETCH(qint64, dataSize);
- QFETCH(int, audioBitRate);
- QFETCH(int, sampleRate);
- QFETCH(int, channelCount);
- QFETCH(int, videoBitRate);
- QFETCH(QSize, resolution);
-
- {
- QMediaResource resource(url);
-
- QCOMPARE(resource.isNull(), false);
- QCOMPARE(resource.url(), url);
- QCOMPARE(resource.mimeType(), QString());
- QCOMPARE(resource.language(), QString());
- QCOMPARE(resource.audioCodec(), QString());
- QCOMPARE(resource.videoCodec(), QString());
- QCOMPARE(resource.dataSize(), qint64(0));
- QCOMPARE(resource.audioBitRate(), 0);
- QCOMPARE(resource.sampleRate(), 0);
- QCOMPARE(resource.channelCount(), 0);
- QCOMPARE(resource.videoBitRate(), 0);
- QCOMPARE(resource.resolution(), QSize());
- }
- {
- QMediaResource resource(url, mimeType);
-
- QCOMPARE(resource.isNull(), false);
- QCOMPARE(resource.url(), url);
- QCOMPARE(resource.request(), request);
- QCOMPARE(resource.mimeType(), mimeType);
- QCOMPARE(resource.language(), QString());
- QCOMPARE(resource.audioCodec(), QString());
- QCOMPARE(resource.videoCodec(), QString());
- QCOMPARE(resource.dataSize(), qint64(0));
- QCOMPARE(resource.audioBitRate(), 0);
- QCOMPARE(resource.sampleRate(), 0);
- QCOMPARE(resource.channelCount(), 0);
- QCOMPARE(resource.videoBitRate(), 0);
- QCOMPARE(resource.resolution(), QSize());
-
- resource.setLanguage(language);
- resource.setAudioCodec(audioCodec);
- resource.setVideoCodec(videoCodec);
- resource.setDataSize(dataSize);
- resource.setAudioBitRate(audioBitRate);
- resource.setSampleRate(sampleRate);
- resource.setChannelCount(channelCount);
- resource.setVideoBitRate(videoBitRate);
- resource.setResolution(resolution);
-
- QCOMPARE(resource.language(), language);
- QCOMPARE(resource.audioCodec(), audioCodec);
- QCOMPARE(resource.videoCodec(), videoCodec);
- QCOMPARE(resource.dataSize(), dataSize);
- QCOMPARE(resource.audioBitRate(), audioBitRate);
- QCOMPARE(resource.sampleRate(), sampleRate);
- QCOMPARE(resource.channelCount(), channelCount);
- QCOMPARE(resource.videoBitRate(), videoBitRate);
- QCOMPARE(resource.resolution(), resolution);
- }
- {
- QMediaResource resource(request, mimeType);
-
- QCOMPARE(resource.isNull(), false);
- QCOMPARE(resource.url(), url);
- QCOMPARE(resource.request(), request);
- QCOMPARE(resource.mimeType(), mimeType);
- QCOMPARE(resource.language(), QString());
- QCOMPARE(resource.audioCodec(), QString());
- QCOMPARE(resource.videoCodec(), QString());
- QCOMPARE(resource.dataSize(), qint64(0));
- QCOMPARE(resource.audioBitRate(), 0);
- QCOMPARE(resource.sampleRate(), 0);
- QCOMPARE(resource.channelCount(), 0);
- QCOMPARE(resource.videoBitRate(), 0);
- QCOMPARE(resource.resolution(), QSize());
-
- resource.setLanguage(language);
- resource.setAudioCodec(audioCodec);
- resource.setVideoCodec(videoCodec);
- resource.setDataSize(dataSize);
- resource.setAudioBitRate(audioBitRate);
- resource.setSampleRate(sampleRate);
- resource.setChannelCount(channelCount);
- resource.setVideoBitRate(videoBitRate);
- resource.setResolution(resolution);
-
- QCOMPARE(resource.language(), language);
- QCOMPARE(resource.audioCodec(), audioCodec);
- QCOMPARE(resource.videoCodec(), videoCodec);
- QCOMPARE(resource.dataSize(), dataSize);
- QCOMPARE(resource.audioBitRate(), audioBitRate);
- QCOMPARE(resource.sampleRate(), sampleRate);
- QCOMPARE(resource.channelCount(), channelCount);
- QCOMPARE(resource.videoBitRate(), videoBitRate);
- QCOMPARE(resource.resolution(), resolution);
- }
-}
-
-void tst_QMediaResource::setResolution()
-{
- QMediaResource resource(
- QUrl(QString::fromLatin1("file::///thumbs/test.png")),
- QString::fromLatin1("image/png"));
-
- QCOMPARE(resource.resolution(), QSize());
-
- resource.setResolution(QSize(120, 80));
- QCOMPARE(resource.resolution(), QSize(120, 80));
-
- resource.setResolution(QSize(-1, 23));
- QCOMPARE(resource.resolution(), QSize(-1, 23));
-
- resource.setResolution(QSize(-43, 34));
- QCOMPARE(resource.resolution(), QSize(-43, 34));
-
- resource.setResolution(QSize(64, -1));
- QCOMPARE(resource.resolution(), QSize(64, -1));
-
- resource.setResolution(QSize(64, -83));
- QCOMPARE(resource.resolution(), QSize(64, -83));
-
- resource.setResolution(QSize(-12, -83));
- QCOMPARE(resource.resolution(), QSize(-12, -83));
-
- resource.setResolution(QSize());
- QCOMPARE(resource.resolution(), QSize(-1, -1));
-
- resource.setResolution(120, 80);
- QCOMPARE(resource.resolution(), QSize(120, 80));
-
- resource.setResolution(-1, 23);
- QCOMPARE(resource.resolution(), QSize(-1, 23));
-
- resource.setResolution(-43, 34);
- QCOMPARE(resource.resolution(), QSize(-43, 34));
-
- resource.setResolution(64, -1);
- QCOMPARE(resource.resolution(), QSize(64, -1));
-
- resource.setResolution(64, -83);
- QCOMPARE(resource.resolution(), QSize(64, -83));
-
- resource.setResolution(-12, -83);
- QCOMPARE(resource.resolution(), QSize(-12, -83));
-
- resource.setResolution(-1, -1);
- QCOMPARE(resource.resolution(), QSize());
-}
-
-void tst_QMediaResource::equality()
-{
- QMediaResource resource1(
- QUrl(QString::fromLatin1("http://test.com/test.mp4")),
- QString::fromLatin1("video/mp4"));
- QMediaResource resource2(
- QUrl(QString::fromLatin1("http://test.com/test.mp4")),
- QString::fromLatin1("video/mp4"));
- QMediaResource resource3(
- QUrl(QString::fromLatin1("file:///thumbs/test.jpg")));
- QMediaResource resource4(
- QUrl(QString::fromLatin1("file:///thumbs/test.jpg")));
- QMediaResource resource5(
- QUrl(QString::fromLatin1("http://test.com/test.mp3")),
- QString::fromLatin1("audio/mpeg"));
-
- QCOMPARE(resource1 == resource2, true);
- QCOMPARE(resource1 != resource2, false);
-
- QCOMPARE(resource3 == resource4, true);
- QCOMPARE(resource3 != resource4, false);
-
- QCOMPARE(resource1 == resource3, false);
- QCOMPARE(resource1 != resource3, true);
-
- QCOMPARE(resource1 == resource5, false);
- QCOMPARE(resource1 != resource5, true);
-
- resource1.setAudioCodec(QString::fromLatin1("mp3"));
- resource2.setAudioCodec(QString::fromLatin1("aac"));
-
- // Not equal differing audio codecs.
- QCOMPARE(resource1 == resource2, false);
- QCOMPARE(resource1 != resource2, true);
-
- resource1.setAudioCodec(QString::fromLatin1("aac"));
-
- // Equal.
- QCOMPARE(resource1 == resource2, true);
- QCOMPARE(resource1 != resource2, false);
-
- resource1.setVideoCodec(QString());
-
- // Equal.
- QCOMPARE(resource1 == resource2, true);
- QCOMPARE(resource1 != resource2, false);
-
- resource1.setVideoCodec(QString::fromLatin1("h264"));
-
- // Not equal differing video codecs.
- QCOMPARE(resource1 == resource2, false);
- QCOMPARE(resource1 != resource2, true);
-
- resource2.setVideoCodec(QString::fromLatin1("h264"));
-
- // Equal.
- QCOMPARE(resource1 == resource2, true);
- QCOMPARE(resource1 != resource2, false);
-
- resource2.setDataSize(0);
-
- // Equal.
- QCOMPARE(resource1 == resource2, true);
- QCOMPARE(resource1 != resource2, false);
-
- resource1.setDataSize(546423);
-
- // Not equal differing video codecs.
- QCOMPARE(resource1 == resource2, false);
- QCOMPARE(resource1 != resource2, true);
-
- resource2.setDataSize(546423);
-
- // Equal.
- QCOMPARE(resource1 == resource2, true);
- QCOMPARE(resource1 != resource2, false);
-
- resource1.setAudioBitRate(96000);
- resource1.setSampleRate(48000);
- resource2.setSampleRate(44100);
- resource1.setChannelCount(0);
- resource1.setVideoBitRate(900000);
- resource2.setLanguage(QString::fromLatin1("eng"));
-
- // Not equal, audio bit rate, sample rate, video bit rate, and
- // language.
- QCOMPARE(resource1 == resource2, false);
- QCOMPARE(resource1 != resource2, true);
-
- resource2.setAudioBitRate(96000);
- resource1.setSampleRate(44100);
-
- // Not equal, differing video bit rate, and language.
- QCOMPARE(resource1 == resource2, false);
- QCOMPARE(resource1 != resource2, true);
-
- resource2.setVideoBitRate(900000);
- resource1.setLanguage(QString::fromLatin1("eng"));
-
- // Equal
- QCOMPARE(resource1 == resource2, true);
- QCOMPARE(resource1 != resource2, false);
-
- resource1.setResolution(QSize());
-
- // Equal
- QCOMPARE(resource1 == resource2, true);
- QCOMPARE(resource1 != resource2, false);
-
- resource2.setResolution(-1, -1);
-
- // Equal
- QCOMPARE(resource1 == resource2, true);
- QCOMPARE(resource1 != resource2, false);
-
- resource1.setResolution(QSize(-640, -480));
-
- // Not equal, differing resolution.
- QCOMPARE(resource1 == resource2, false);
- QCOMPARE(resource1 != resource2, true);
- resource1.setResolution(QSize(640, 480));
- resource2.setResolution(QSize(800, 600));
-
- // Not equal, differing resolution.
- QCOMPARE(resource1 == resource2, false);
- QCOMPARE(resource1 != resource2, true);
-
- resource1.setResolution(800, 600);
-
- // Equal
- QCOMPARE(resource1 == resource2, true);
- QCOMPARE(resource1 != resource2, false);
-}
-
-void tst_QMediaResource::copy()
-{
- const QUrl url(QString::fromLatin1("http://test.com/test.mp4"));
- const QString mimeType(QLatin1String("video/mp4"));
- const QString amrCodec(QLatin1String("amr"));
- const QString mp3Codec(QLatin1String("mp3"));
- const QString aacCodec(QLatin1String("aac"));
- const QString h264Codec(QLatin1String("h264"));
-
- QMediaResource original(url, mimeType);
- original.setAudioCodec(amrCodec);
-
- QMediaResource copy(original);
-
- QCOMPARE(copy.url(), url);
- QCOMPARE(copy.mimeType(), mimeType);
- QCOMPARE(copy.audioCodec(), amrCodec);
-
- QCOMPARE(original == copy, true);
- QCOMPARE(original != copy, false);
-
- original.setAudioCodec(mp3Codec);
-
- QCOMPARE(copy.audioCodec(), amrCodec);
- QCOMPARE(original == copy, false);
- QCOMPARE(original != copy, true);
-
- copy.setAudioCodec(aacCodec);
- copy.setVideoCodec(h264Codec);
-
- QCOMPARE(copy.url(), url);
- QCOMPARE(copy.mimeType(), mimeType);
-
- QCOMPARE(original.audioCodec(), mp3Codec);
-}
-
-void tst_QMediaResource::assign()
-{
- const QUrl url(QString::fromLatin1("http://test.com/test.mp4"));
- const QString mimeType(QLatin1String("video/mp4"));
- const QString amrCodec(QLatin1String("amr"));
- const QString mp3Codec(QLatin1String("mp3"));
- const QString aacCodec(QLatin1String("aac"));
- const QString h264Codec(QLatin1String("h264"));
-
- QMediaResource copy(QUrl(QString::fromLatin1("file:///thumbs/test.jpg")));
-
- QMediaResource original(url, mimeType);
- original.setAudioCodec(amrCodec);
-
- copy = original;
-
- QCOMPARE(copy.url(), url);
- QCOMPARE(copy.mimeType(), mimeType);
- QCOMPARE(copy.audioCodec(), amrCodec);
-
- QCOMPARE(original == copy, true);
- QCOMPARE(original != copy, false);
-
- original.setAudioCodec(mp3Codec);
-
- QCOMPARE(copy.audioCodec(), amrCodec);
- QCOMPARE(original == copy, false);
- QCOMPARE(original != copy, true);
-
- copy.setAudioCodec(aacCodec);
- copy.setVideoCodec(h264Codec);
-
- QCOMPARE(copy.url(), url);
- QCOMPARE(copy.mimeType(), mimeType);
-
- QCOMPARE(original.audioCodec(), mp3Codec);
-}
-
-QTEST_MAIN(tst_QMediaResource)
-
-#include "tst_qmediaresource.moc"
diff --git a/tests/auto/qmediaservice/qmediaservice.pro b/tests/auto/qmediaservice/qmediaservice.pro
deleted file mode 100644
index 8acd03aace..0000000000
--- a/tests/auto/qmediaservice/qmediaservice.pro
+++ /dev/null
@@ -1,6 +0,0 @@
-load(qttest_p4)
-
-SOURCES = tst_qmediaservice.cpp
-
-QT = core gui mediaservices
-
diff --git a/tests/auto/qmediaservice/tst_qmediaservice.cpp b/tests/auto/qmediaservice/tst_qmediaservice.cpp
deleted file mode 100644
index a544e77930..0000000000
--- a/tests/auto/qmediaservice/tst_qmediaservice.cpp
+++ /dev/null
@@ -1,219 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the test suite of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include <QtTest/QtTest>
-
-#include <QtMediaServices/qvideodevicecontrol.h>
-#include <QtMediaServices/qmediacontrol.h>
-#include <QtMediaServices/qmediaservice.h>
-
-#include <QtGui/qapplication.h>
-#include <QtGui/qstyle.h>
-
-class QtTestMediaService;
-
-
-class tst_QMediaService : public QObject
-{
- Q_OBJECT
-private slots:
- void initTestCase();
-
- void control_iid();
- void control();
-};
-
-
-class QtTestMediaControlA : public QMediaControl
-{
- Q_OBJECT
-};
-
-
-#define QtTestMediaControlA_iid "com.nokia.QtTestMediaControlA"
-QT_BEGIN_NAMESPACE
-Q_MEDIA_DECLARE_CONTROL(QtTestMediaControlA, QtTestMediaControlA_iid)
-QT_END_NAMESPACE
-
-
-class QtTestMediaControlB : public QMediaControl
-{
- Q_OBJECT
-};
-
-#define QtTestMediaControlB_iid "com.nokia.QtTestMediaControlB"
-QT_BEGIN_NAMESPACE
-Q_MEDIA_DECLARE_CONTROL(QtTestMediaControlB, QtTestMediaControlB_iid)
-QT_END_NAMESPACE
-
-
-class QtTestMediaControlC : public QMediaControl
-{
- Q_OBJECT
-};
-
-#define QtTestMediaControlC_iid "com.nokia.QtTestMediaControlC"
-QT_BEGIN_NAMESPACE
-Q_MEDIA_DECLARE_CONTROL(QtTestMediaControlC, QtTestMediaControlA_iid) // Yes A.
-QT_END_NAMESPACE
-
-class QtTestMediaControlD : public QMediaControl
-{
- Q_OBJECT
-};
-
-#define QtTestMediaControlD_iid "com.nokia.QtTestMediaControlD"
-QT_BEGIN_NAMESPACE
-Q_MEDIA_DECLARE_CONTROL(QtTestMediaControlD, QtTestMediaControlD_iid)
-QT_END_NAMESPACE
-
-class QtTestMediaControlE : public QMediaControl
-{
- Q_OBJECT
-};
-
-struct QtTestDevice
-{
- QtTestDevice() {}
- QtTestDevice(const QString &name, const QString &description, const QIcon &icon)
- : name(name), description(description), icon(icon)
- {
- }
-
- QString name;
- QString description;
- QIcon icon;
-};
-
-class QtTestVideoDeviceControl : public QVideoDeviceControl
-{
-public:
- QtTestVideoDeviceControl(QObject *parent = 0)
- : QVideoDeviceControl(parent)
- , m_selectedDevice(-1)
- , m_defaultDevice(-1)
- {
- }
-
- int deviceCount() const { return devices.count(); }
-
- QString deviceName(int index) const { return devices.value(index).name; }
- QString deviceDescription(int index) const { return devices.value(index).description; }
- QIcon deviceIcon(int index) const { return devices.value(index).icon; }
-
- int defaultDevice() const { return m_defaultDevice; }
- void setDefaultDevice(int index) { m_defaultDevice = index; }
-
- int selectedDevice() const { return m_selectedDevice; }
- void setSelectedDevice(int index)
- {
- emit selectedDeviceChanged(m_selectedDevice = index);
- emit selectedDeviceChanged(devices.value(index).name);
- }
-
- QList<QtTestDevice> devices;
-
-private:
- int m_selectedDevice;
- int m_defaultDevice;
-};
-
-class QtTestMediaService : public QMediaService
-{
- Q_OBJECT
-public:
- QtTestMediaService()
- : QMediaService(0)
- , hasDeviceControls(false)
- {
- }
-
- QMediaControl* control(const char *name) const
- {
- if (strcmp(name, QtTestMediaControlA_iid) == 0)
- return const_cast<QtTestMediaControlA *>(&controlA);
- else if (strcmp(name, QtTestMediaControlB_iid) == 0)
- return const_cast<QtTestMediaControlB *>(&controlB);
- else if (strcmp(name, QtTestMediaControlC_iid) == 0)
- return const_cast<QtTestMediaControlC *>(&controlC);
- else if (hasDeviceControls && strcmp(name, QVideoDeviceControl_iid) == 0)
- return const_cast<QtTestVideoDeviceControl *>(&videoDeviceControl);
- else
- return 0;
- }
-
- using QMediaService::control;
-
- QtTestMediaControlA controlA;
- QtTestMediaControlB controlB;
- QtTestMediaControlC controlC;
- QtTestVideoDeviceControl videoDeviceControl;
- bool hasDeviceControls;
-};
-
-void tst_QMediaService::initTestCase()
-{
-}
-
-void tst_QMediaService::control_iid()
-{
- const char *nullString = 0;
-
- // Default implementation.
- QCOMPARE(qmediacontrol_iid<QtTestMediaControlE *>(), nullString);
-
- // Partial template.
- QVERIFY(qstrcmp(qmediacontrol_iid<QtTestMediaControlA *>(), QtTestMediaControlA_iid) == 0);
-}
-
-void tst_QMediaService::control()
-{
- QtTestMediaService service;
-
- QCOMPARE(service.control<QtTestMediaControlA *>(), &service.controlA);
- QCOMPARE(service.control<QtTestMediaControlB *>(), &service.controlB);
- QVERIFY(!service.control<QtTestMediaControlC *>()); // Faulty implementation returns A.
- QVERIFY(!service.control<QtTestMediaControlD *>()); // No control of that type.
-}
-
-QTEST_MAIN(tst_QMediaService)
-
-#include "tst_qmediaservice.moc"
diff --git a/tests/auto/qmediaserviceprovider/qmediaserviceprovider.pro b/tests/auto/qmediaserviceprovider/qmediaserviceprovider.pro
deleted file mode 100644
index 69b38643c8..0000000000
--- a/tests/auto/qmediaserviceprovider/qmediaserviceprovider.pro
+++ /dev/null
@@ -1,6 +0,0 @@
-load(qttest_p4)
-
-SOURCES = tst_qmediaserviceprovider.cpp
-
-QT = core gui mediaservices
-
diff --git a/tests/auto/qmediaserviceprovider/tst_qmediaserviceprovider.cpp b/tests/auto/qmediaserviceprovider/tst_qmediaserviceprovider.cpp
deleted file mode 100644
index 64abedb840..0000000000
--- a/tests/auto/qmediaserviceprovider/tst_qmediaserviceprovider.cpp
+++ /dev/null
@@ -1,481 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the test suite of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include <QtTest/QtTest>
-#include <QDebug>
-#include <QStringList>
-
-#include <QtMediaServices/qmediaserviceprovider.h>
-#include <QtMediaServices/qmediaserviceproviderplugin.h>
-#include <QtMediaServices/private/qmediapluginloader_p.h>
-#include <QtMediaServices/qmediaobject.h>
-#include <QtMediaServices/qmediaservice.h>
-#include <QtMediaServices/qmediaplayer.h>
-
-class MockMediaService : public QMediaService
-{
- Q_OBJECT
-public:
- MockMediaService(const QString& name, QObject *parent = 0) : QMediaService(parent)
- { setObjectName(name); }
- ~MockMediaService() {}
-
- QMediaControl* control(const char *) const {return 0;}
-};
-
-class MockServicePlugin1 : public QMediaServiceProviderPlugin,
- public QMediaServiceSupportedFormatsInterface,
- public QMediaServiceSupportedDevicesInterface
-{
- Q_OBJECT
- Q_INTERFACES(QMediaServiceSupportedFormatsInterface)
- Q_INTERFACES(QMediaServiceSupportedDevicesInterface)
-public:
- QStringList keys() const
- {
- return QStringList() <<
- QLatin1String(Q_MEDIASERVICE_MEDIAPLAYER);
- }
-
- QMediaService* create(QString const& key)
- {
- if (keys().contains(key))
- return new MockMediaService("MockServicePlugin1");
- else
- return 0;
- }
-
- void release(QMediaService *service)
- {
- delete service;
- }
-
- QtMediaServices::SupportEstimate hasSupport(const QString &mimeType, const QStringList& codecs) const
- {
- if (codecs.contains(QLatin1String("mpeg4")))
- return QtMediaServices::NotSupported;
-
- if (mimeType == "audio/ogg") {
- return QtMediaServices::ProbablySupported;
- }
-
- return QtMediaServices::MaybeSupported;
- }
-
- QStringList supportedMimeTypes() const
- {
- return QStringList("audio/ogg");
- }
-
- QList<QByteArray> devices(const QByteArray &service) const
- {
- Q_UNUSED(service);
- QList<QByteArray> res;
- return res;
- }
-
- QString deviceDescription(const QByteArray &service, const QByteArray &device)
- {
- if (devices(service).contains(device))
- return QString(device)+" description";
- else
- return QString();
- }
-};
-
-class MockServicePlugin2 : public QMediaServiceProviderPlugin,
- public QMediaServiceSupportedFormatsInterface,
- public QMediaServiceFeaturesInterface
-{
- Q_OBJECT
- Q_INTERFACES(QMediaServiceSupportedFormatsInterface)
- Q_INTERFACES(QMediaServiceFeaturesInterface)
-public:
- QStringList keys() const
- {
- return QStringList() << QLatin1String(Q_MEDIASERVICE_MEDIAPLAYER);
- }
-
- QMediaService* create(QString const& key)
- {
- if (keys().contains(key))
- return new MockMediaService("MockServicePlugin2");
- else
- return 0;
- }
-
- void release(QMediaService *service)
- {
- delete service;
- }
-
- QtMediaServices::SupportEstimate hasSupport(const QString &mimeType, const QStringList& codecs) const
- {
- Q_UNUSED(codecs);
-
- if (mimeType == "audio/wav")
- return QtMediaServices::PreferredService;
-
- return QtMediaServices::NotSupported;
- }
-
- QStringList supportedMimeTypes() const
- {
- return QStringList("audio/wav");
- }
-
- QMediaServiceProviderHint::Features supportedFeatures(const QByteArray &service) const
- {
- if (service == QByteArray(Q_MEDIASERVICE_MEDIAPLAYER))
- return QMediaServiceProviderHint::LowLatencyPlayback;
- else
- return 0;
- }
-};
-
-
-class MockServicePlugin3 : public QMediaServiceProviderPlugin,
- public QMediaServiceSupportedDevicesInterface
-{
- Q_OBJECT
- Q_INTERFACES(QMediaServiceSupportedDevicesInterface)
-public:
- QStringList keys() const
- {
- return QStringList() <<
- QLatin1String(Q_MEDIASERVICE_MEDIAPLAYER);
- }
-
- QMediaService* create(QString const& key)
- {
- if (keys().contains(key))
- return new MockMediaService("MockServicePlugin3");
- else
- return 0;
- }
-
- void release(QMediaService *service)
- {
- delete service;
- }
-
- QList<QByteArray> devices(const QByteArray &service) const
- {
- Q_UNUSED(service);
- QList<QByteArray> res;
- return res;
- }
-
- QString deviceDescription(const QByteArray &service, const QByteArray &device)
- {
- if (devices(service).contains(device))
- return QString(device)+" description";
- else
- return QString();
- }
-};
-
-class MockServicePlugin4 : public QMediaServiceProviderPlugin,
- public QMediaServiceSupportedFormatsInterface,
- public QMediaServiceFeaturesInterface
-{
- Q_OBJECT
- Q_INTERFACES(QMediaServiceSupportedFormatsInterface)
- Q_INTERFACES(QMediaServiceFeaturesInterface)
-public:
- QStringList keys() const
- {
- return QStringList() << QLatin1String(Q_MEDIASERVICE_MEDIAPLAYER);
- }
-
- QMediaService* create(QString const& key)
- {
- if (keys().contains(key))
- return new MockMediaService("MockServicePlugin4");
- else
- return 0;
- }
-
- void release(QMediaService *service)
- {
- delete service;
- }
-
- QtMediaServices::SupportEstimate hasSupport(const QString &mimeType, const QStringList& codecs) const
- {
- if (codecs.contains(QLatin1String("jpeg2000")))
- return QtMediaServices::NotSupported;
-
- if (supportedMimeTypes().contains(mimeType))
- return QtMediaServices::ProbablySupported;
-
- return QtMediaServices::MaybeSupported;
- }
-
- QStringList supportedMimeTypes() const
- {
- return QStringList() << "video/mp4" << "video/quicktime";
- }
-
- QMediaServiceProviderHint::Features supportedFeatures(const QByteArray &service) const
- {
- if (service == QByteArray(Q_MEDIASERVICE_MEDIAPLAYER))
- return QMediaServiceProviderHint::StreamPlayback;
- else
- return 0;
- }
-};
-
-
-
-class MockMediaServiceProvider : public QMediaServiceProvider
-{
- QMediaService* requestService(const QByteArray &type, const QMediaServiceProviderHint &)
- {
- Q_UNUSED(type);
- return 0;
- }
-
- void releaseService(QMediaService *service)
- {
- Q_UNUSED(service);
- }
-};
-
-
-class tst_QMediaServiceProvider : public QObject
-{
- Q_OBJECT
-
-public slots:
- void initTestCase();
-
-private slots:
- void testDefaultProviderAvailable();
- void testObtainService();
- void testHasSupport();
- void testSupportedMimeTypes();
- void testProviderHints();
-
-private:
- QObjectList plugins;
-};
-
-void tst_QMediaServiceProvider::initTestCase()
-{
- plugins << new MockServicePlugin1;
- plugins << new MockServicePlugin2;
- plugins << new MockServicePlugin3;
- plugins << new MockServicePlugin4;
-
- QMediaPluginLoader::setStaticPlugins(QLatin1String("/mediaservices"), plugins);
-}
-
-void tst_QMediaServiceProvider::testDefaultProviderAvailable()
-{
- // Must always be a default provider available
- QVERIFY(QMediaServiceProvider::defaultServiceProvider() != 0);
-}
-
-void tst_QMediaServiceProvider::testObtainService()
-{
- QMediaServiceProvider *provider = QMediaServiceProvider::defaultServiceProvider();
-
- if (provider == 0)
- QSKIP("No default provider", SkipSingle);
-
- QMediaService *service = 0;
-
- // Player
- service = provider->requestService(Q_MEDIASERVICE_MEDIAPLAYER);
- QVERIFY(service != 0);
- provider->releaseService(service);
-}
-
-void tst_QMediaServiceProvider::testHasSupport()
-{
- MockMediaServiceProvider mockProvider;
- QCOMPARE(mockProvider.hasSupport(QByteArray(Q_MEDIASERVICE_MEDIAPLAYER), "video/ogv", QStringList()),
- QtMediaServices::MaybeSupported);
-
- QMediaServiceProvider *provider = QMediaServiceProvider::defaultServiceProvider();
-
- if (provider == 0)
- QSKIP("No default provider", SkipSingle);
-
- QCOMPARE(provider->hasSupport(QByteArray(Q_MEDIASERVICE_MEDIAPLAYER), "video/ogv", QStringList()),
- QtMediaServices::MaybeSupported);
-
- QCOMPARE(provider->hasSupport(QByteArray(Q_MEDIASERVICE_MEDIAPLAYER), "audio/ogg", QStringList()),
- QtMediaServices::ProbablySupported);
-
- //while the service returns PreferredService, provider should return ProbablySupported
- QCOMPARE(provider->hasSupport(QByteArray(Q_MEDIASERVICE_MEDIAPLAYER), "audio/wav", QStringList()),
- QtMediaServices::ProbablySupported);
-
- //even while all the plugins with "hasSupport" returned NotSupported,
- //MockServicePlugin3 has no "hasSupport" interface, so MaybeSupported
- QCOMPARE(provider->hasSupport(QByteArray(Q_MEDIASERVICE_MEDIAPLAYER), "video/avi",
- QStringList() << "mpeg4"),
- QtMediaServices::MaybeSupported);
-
- QCOMPARE(provider->hasSupport(QByteArray("non existing service"), "video/ogv", QStringList()),
- QtMediaServices::NotSupported);
-
- QCOMPARE(QMediaPlayer::hasSupport("video/ogv"), QtMediaServices::MaybeSupported);
- QCOMPARE(QMediaPlayer::hasSupport("audio/ogg"), QtMediaServices::ProbablySupported);
- QCOMPARE(QMediaPlayer::hasSupport("audio/wav"), QtMediaServices::ProbablySupported);
-
- //test low latency flag support
- QCOMPARE(QMediaPlayer::hasSupport("audio/wav", QStringList(), QMediaPlayer::LowLatency),
- QtMediaServices::ProbablySupported);
- //plugin1 probably supports audio/ogg, it checked because it doesn't provide features iface
- QCOMPARE(QMediaPlayer::hasSupport("audio/ogg", QStringList(), QMediaPlayer::LowLatency),
- QtMediaServices::ProbablySupported);
- //Plugin4 is not checked here, sine it's known not support low latency
- QCOMPARE(QMediaPlayer::hasSupport("video/quicktime", QStringList(), QMediaPlayer::LowLatency),
- QtMediaServices::MaybeSupported);
-
- //test streaming flag support
- QCOMPARE(QMediaPlayer::hasSupport("video/quicktime", QStringList(), QMediaPlayer::StreamPlayback),
- QtMediaServices::ProbablySupported);
- //Plugin2 is not checked here, sine it's known not support streaming
- QCOMPARE(QMediaPlayer::hasSupport("audio/wav", QStringList(), QMediaPlayer::StreamPlayback),
- QtMediaServices::MaybeSupported);
-
- //ensure the correct media player plugin is choosen for mime type
- QMediaPlayer simplePlayer(0, QMediaPlayer::LowLatency);
- QCOMPARE(simplePlayer.service()->objectName(), QLatin1String("MockServicePlugin2"));
-
- QMediaPlayer mediaPlayer;
- QVERIFY(mediaPlayer.service()->objectName() != QLatin1String("MockServicePlugin2"));
-
- QMediaPlayer streamPlayer(0, QMediaPlayer::StreamPlayback);
- QCOMPARE(streamPlayer.service()->objectName(), QLatin1String("MockServicePlugin4"));
-}
-
-void tst_QMediaServiceProvider::testSupportedMimeTypes()
-{
- QMediaServiceProvider *provider = QMediaServiceProvider::defaultServiceProvider();
-
- if (provider == 0)
- QSKIP("No default provider", SkipSingle);
-
- QVERIFY(provider->supportedMimeTypes(QByteArray(Q_MEDIASERVICE_MEDIAPLAYER)).contains("audio/ogg"));
- QVERIFY(!provider->supportedMimeTypes(QByteArray(Q_MEDIASERVICE_MEDIAPLAYER)).contains("audio/mp3"));
-}
-
-void tst_QMediaServiceProvider::testProviderHints()
-{
- {
- QMediaServiceProviderHint hint;
- QVERIFY(hint.isNull());
- QCOMPARE(hint.type(), QMediaServiceProviderHint::Null);
- QVERIFY(hint.device().isEmpty());
- QVERIFY(hint.mimeType().isEmpty());
- QVERIFY(hint.codecs().isEmpty());
- QCOMPARE(hint.features(), 0);
- }
-
- {
- QByteArray deviceName(QByteArray("testDevice"));
- QMediaServiceProviderHint hint(deviceName);
- QVERIFY(!hint.isNull());
- QCOMPARE(hint.type(), QMediaServiceProviderHint::Device);
- QCOMPARE(hint.device(), deviceName);
- QVERIFY(hint.mimeType().isEmpty());
- QVERIFY(hint.codecs().isEmpty());
- QCOMPARE(hint.features(), 0);
- }
-
- {
- QMediaServiceProviderHint hint(QMediaServiceProviderHint::LowLatencyPlayback);
- QVERIFY(!hint.isNull());
- QCOMPARE(hint.type(), QMediaServiceProviderHint::SupportedFeatures);
- QVERIFY(hint.device().isEmpty());
- QVERIFY(hint.mimeType().isEmpty());
- QVERIFY(hint.codecs().isEmpty());
- QCOMPARE(hint.features(), QMediaServiceProviderHint::LowLatencyPlayback);
- }
-
- {
- QString mimeType(QLatin1String("video/ogg"));
- QStringList codecs;
- codecs << "theora" << "vorbis";
-
- QMediaServiceProviderHint hint(mimeType,codecs);
- QVERIFY(!hint.isNull());
- QCOMPARE(hint.type(), QMediaServiceProviderHint::ContentType);
- QVERIFY(hint.device().isEmpty());
- QCOMPARE(hint.mimeType(), mimeType);
- QCOMPARE(hint.codecs(), codecs);
-
- QMediaServiceProviderHint hint2(hint);
-
- QVERIFY(!hint2.isNull());
- QCOMPARE(hint2.type(), QMediaServiceProviderHint::ContentType);
- QVERIFY(hint2.device().isEmpty());
- QCOMPARE(hint2.mimeType(), mimeType);
- QCOMPARE(hint2.codecs(), codecs);
-
- QMediaServiceProviderHint hint3;
- QVERIFY(hint3.isNull());
- hint3 = hint;
- QVERIFY(!hint3.isNull());
- QCOMPARE(hint3.type(), QMediaServiceProviderHint::ContentType);
- QVERIFY(hint3.device().isEmpty());
- QCOMPARE(hint3.mimeType(), mimeType);
- QCOMPARE(hint3.codecs(), codecs);
-
- QCOMPARE(hint, hint2);
- QCOMPARE(hint3, hint2);
-
- QMediaServiceProviderHint hint4(mimeType,codecs);
- QCOMPARE(hint, hint4);
-
- QMediaServiceProviderHint hint5(mimeType,QStringList());
- QVERIFY(hint != hint5);
- }
-}
-
-QTEST_MAIN(tst_QMediaServiceProvider)
-
-#include "tst_qmediaserviceprovider.moc"
diff --git a/tests/auto/qmediatimerange/qmediatimerange.pro b/tests/auto/qmediatimerange/qmediatimerange.pro
deleted file mode 100644
index c5e74ce800..0000000000
--- a/tests/auto/qmediatimerange/qmediatimerange.pro
+++ /dev/null
@@ -1,6 +0,0 @@
-load(qttest_p4)
-
-SOURCES = tst_qmediatimerange.cpp
-
-QT = core mediaservices
-
diff --git a/tests/auto/qmediatimerange/tst_qmediatimerange.cpp b/tests/auto/qmediatimerange/tst_qmediatimerange.cpp
deleted file mode 100644
index a21abe299a..0000000000
--- a/tests/auto/qmediatimerange/tst_qmediatimerange.cpp
+++ /dev/null
@@ -1,735 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the test suite of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include <QtTest/QtTest>
-#include <QtCore/qdebug.h>
-
-#include <QtMediaServices/qmediatimerange.h>
-
-class tst_QMediaTimeRange: public QObject
-{
- Q_OBJECT
-
-public slots:
-
-private slots:
- void testCtor();
- void testGetters();
- void testAssignment();
- void testNormalize();
- void testTranslated();
- void testEarliestLatest();
- void testContains();
- void testAddInterval();
- void testAddTimeRange();
- void testRemoveInterval();
- void testRemoveTimeRange();
- void testClear();
- void testComparisons();
- void testArithmetic();
-};
-
-void tst_QMediaTimeRange::testCtor()
-{
- // Default Ctor
- QMediaTimeRange a;
- QVERIFY(a.isEmpty());
-
- // (qint, qint) Ctor
- QMediaTimeRange b(10, 20);
-
- QVERIFY(!b.isEmpty());
- QVERIFY(b.isContinuous());
- QVERIFY(b.earliestTime() == 10);
- QVERIFY(b.latestTime() == 20);
-
- // Interval Ctor
- QMediaTimeRange c(QMediaTimeInterval(30, 40));
-
- QVERIFY(!c.isEmpty());
- QVERIFY(c.isContinuous());
- QVERIFY(c.earliestTime() == 30);
- QVERIFY(c.latestTime() == 40);
-
- // Abnormal Interval Ctor
- QMediaTimeRange d(QMediaTimeInterval(20, 10));
-
- QVERIFY(d.isEmpty());
-
- // Copy Ctor
- QMediaTimeRange e(b);
-
- QVERIFY(!e.isEmpty());
- QVERIFY(e.isContinuous());
- QVERIFY(e.earliestTime() == 10);
- QVERIFY(e.latestTime() == 20);
-}
-
-void tst_QMediaTimeRange::testGetters()
-{
- QMediaTimeRange x;
-
- // isEmpty
- QVERIFY(x.isEmpty());
-
- x.addInterval(10, 20);
-
- // isEmpty + isContinuous
- QVERIFY(!x.isEmpty());
- QVERIFY(x.isContinuous());
-
- x.addInterval(30, 40);
-
- // isEmpty + isContinuous + intervals + start + end
- QVERIFY(!x.isEmpty());
- QVERIFY(!x.isContinuous());
- QVERIFY(x.intervals().count() == 2);
- QVERIFY(x.intervals()[0].start() == 10);
- QVERIFY(x.intervals()[0].end() == 20);
- QVERIFY(x.intervals()[1].start() == 30);
- QVERIFY(x.intervals()[1].end() == 40);
-}
-
-void tst_QMediaTimeRange::testAssignment()
-{
- QMediaTimeRange x;
-
- // Range Assignment
- x = QMediaTimeRange(10, 20);
-
- QVERIFY(!x.isEmpty());
- QVERIFY(x.isContinuous());
- QVERIFY(x.earliestTime() == 10);
- QVERIFY(x.latestTime() == 20);
-
- // Interval Assignment
- x = QMediaTimeInterval(30, 40);
-
- QVERIFY(!x.isEmpty());
- QVERIFY(x.isContinuous());
- QVERIFY(x.earliestTime() == 30);
- QVERIFY(x.latestTime() == 40);
-
- // Shared Data Check
- QMediaTimeRange y;
-
- y = x;
- y.addInterval(10, 20);
-
- QVERIFY(!x.isEmpty());
- QVERIFY(x.isContinuous());
- QVERIFY(x.earliestTime() == 30);
- QVERIFY(x.latestTime() == 40);
-}
-
-void tst_QMediaTimeRange::testNormalize()
-{
- QMediaTimeInterval x(20, 10);
-
- QVERIFY(!x.isNormal());
-
- x = x.normalized();
-
- QVERIFY(x.isNormal());
- QVERIFY(x.start() == 10);
- QVERIFY(x.end() == 20);
-}
-
-void tst_QMediaTimeRange::testTranslated()
-{
- QMediaTimeInterval x(10, 20);
- x = x.translated(10);
-
- QVERIFY(x.start() == 20);
- QVERIFY(x.end() == 30);
-}
-
-void tst_QMediaTimeRange::testEarliestLatest()
-{
- // Test over a single interval
- QMediaTimeRange x(30, 40);
-
- QVERIFY(x.earliestTime() == 30);
- QVERIFY(x.latestTime() == 40);
-
- // Test over multiple intervals
- x.addInterval(50, 60);
-
- QVERIFY(x.earliestTime() == 30);
- QVERIFY(x.latestTime() == 60);
-}
-
-void tst_QMediaTimeRange::testContains()
-{
- // Test over a single interval
- QMediaTimeRange x(10, 20);
-
- QVERIFY(!x.isEmpty());
- QVERIFY(x.isContinuous());
- QVERIFY(x.contains(15));
- QVERIFY(x.contains(10));
- QVERIFY(x.contains(20));
- QVERIFY(!x.contains(25));
-
- // Test over multiple intervals
- x.addInterval(40, 50);
-
- QVERIFY(!x.isEmpty());
- QVERIFY(!x.isContinuous());
- QVERIFY(x.contains(15));
- QVERIFY(x.contains(45));
- QVERIFY(!x.contains(30));
-
- // Test over a concrete interval
- QMediaTimeInterval y(10, 20);
- QVERIFY(y.contains(15));
- QVERIFY(y.contains(10));
- QVERIFY(y.contains(20));
- QVERIFY(!y.contains(25));
-}
-
-void tst_QMediaTimeRange::testAddInterval()
-{
- // All intervals Overlap
- QMediaTimeRange x;
- x.addInterval(10, 40);
- x.addInterval(30, 50);
- x.addInterval(20, 60);
-
- QVERIFY(!x.isEmpty());
- QVERIFY(x.isContinuous());
- QVERIFY(x.earliestTime() == 10);
- QVERIFY(x.latestTime() == 60);
-
- // 1 adjacent interval, 1 encompassed interval
- x = QMediaTimeRange();
- x.addInterval(10, 40);
- x.addInterval(20, 30);
- x.addInterval(41, 50);
-
- QVERIFY(!x.isEmpty());
- QVERIFY(x.isContinuous());
- QVERIFY(x.earliestTime() == 10);
- QVERIFY(x.latestTime() == 50);
-
- // 1 overlapping interval, 1 disjoint interval
- x = QMediaTimeRange();
- x.addInterval(10, 30);
- x.addInterval(20, 40);
- x.addInterval(50, 60);
-
- QVERIFY(!x.isEmpty());
- QVERIFY(!x.isContinuous());
- QVERIFY(x.intervals().count() == 2);
- QVERIFY(x.intervals()[0].start() == 10);
- QVERIFY(x.intervals()[0].end() == 40);
- QVERIFY(x.intervals()[1].start() == 50);
- QVERIFY(x.intervals()[1].end() == 60);
-
- // Identical Add
- x = QMediaTimeRange();
- x.addInterval(10, 20);
- x.addInterval(10, 20);
-
- QVERIFY(!x.isEmpty());
- QVERIFY(x.isContinuous());
- QVERIFY(x.earliestTime() == 10);
- QVERIFY(x.latestTime() == 20);
-
- // Multi-Merge
- x = QMediaTimeRange();
- x.addInterval(10, 20);
- x.addInterval(30, 40);
- x.addInterval(50, 60);
- x.addInterval(15, 55);
-
- QVERIFY(!x.isEmpty());
- QVERIFY(x.isContinuous());
- QVERIFY(x.earliestTime() == 10);
- QVERIFY(x.latestTime() == 60);
-
- // Interval Parameter - All intervals Overlap
- x = QMediaTimeRange();
- x.addInterval(QMediaTimeInterval(10, 40));
- x.addInterval(QMediaTimeInterval(30, 50));
- x.addInterval(QMediaTimeInterval(20, 60));
-
- QVERIFY(!x.isEmpty());
- QVERIFY(x.isContinuous());
- QVERIFY(x.earliestTime() == 10);
- QVERIFY(x.latestTime() == 60);
-
- // Interval Parameter - Abnormal Interval
- x = QMediaTimeRange();
- x.addInterval(QMediaTimeInterval(20, 10));
-
- QVERIFY(x.isEmpty());
-}
-
-void tst_QMediaTimeRange::testAddTimeRange()
-{
- // Add Time Range uses Add Interval internally,
- // so in this test the focus is on combinations of number
- // of intervals added, rather than the different types of
- // merges which can occur.
- QMediaTimeRange a, b;
-
- // Add Single into Single
- a = QMediaTimeRange(10, 30);
- b = QMediaTimeRange(20, 40);
-
- b.addTimeRange(a);
-
- QVERIFY(!b.isEmpty());
- QVERIFY(b.isContinuous());
- QVERIFY(b.earliestTime() == 10);
- QVERIFY(b.latestTime() == 40);
-
- // Add Multiple into Single
- a = QMediaTimeRange();
- a.addInterval(10, 30);
- a.addInterval(40, 60);
-
- b = QMediaTimeRange(20, 50);
-
- b.addTimeRange(a);
-
- QVERIFY(!b.isEmpty());
- QVERIFY(b.isContinuous());
- QVERIFY(b.earliestTime() == 10);
- QVERIFY(b.latestTime() == 60);
-
- // Add Single into Multiple
- a = QMediaTimeRange(20, 50);
-
- b = QMediaTimeRange();
- b.addInterval(10, 30);
- b.addInterval(40, 60);
-
- b.addTimeRange(a);
-
- QVERIFY(!b.isEmpty());
- QVERIFY(b.isContinuous());
- QVERIFY(b.earliestTime() == 10);
- QVERIFY(b.latestTime() == 60);
-
- // Add Multiple into Multiple
- a = QMediaTimeRange();
- a.addInterval(10, 30);
- a.addInterval(40, 70);
- a.addInterval(80, 100);
-
- b = QMediaTimeRange();
- b.addInterval(20, 50);
- b.addInterval(60, 90);
-
- b.addTimeRange(a);
-
- QVERIFY(!b.isEmpty());
- QVERIFY(b.isContinuous());
- QVERIFY(b.earliestTime() == 10);
- QVERIFY(b.latestTime() == 100);
-
- // Add Nothing to Single
- a = QMediaTimeRange();
- b = QMediaTimeRange(10, 20);
-
- b.addTimeRange(a);
-
- QVERIFY(!b.isEmpty());
- QVERIFY(b.isContinuous());
- QVERIFY(b.earliestTime() == 10);
- QVERIFY(b.latestTime() == 20);
-
- // Add Single to Nothing
- a = QMediaTimeRange(10, 20);
- b = QMediaTimeRange();
-
- b.addTimeRange(a);
-
- QVERIFY(!b.isEmpty());
- QVERIFY(b.isContinuous());
- QVERIFY(b.earliestTime() == 10);
- QVERIFY(b.latestTime() == 20);
-
- // Add Nothing to Nothing
- a = QMediaTimeRange();
- b = QMediaTimeRange();
-
- b.addTimeRange(a);
-
- QVERIFY(b.isEmpty());
-}
-
-void tst_QMediaTimeRange::testRemoveInterval()
-{
- // Removing an interval, causing a split
- QMediaTimeRange x;
- x.addInterval(10, 50);
- x.removeInterval(20, 40);
-
- QVERIFY(!x.isEmpty());
- QVERIFY(!x.isContinuous());
- QVERIFY(x.intervals().count() == 2);
- QVERIFY(x.intervals()[0].start() == 10);
- QVERIFY(x.intervals()[0].end() == 19);
- QVERIFY(x.intervals()[1].start() == 41);
- QVERIFY(x.intervals()[1].end() == 50);
-
- // Removing an interval, causing a deletion
- x = QMediaTimeRange();
- x.addInterval(20, 30);
- x.removeInterval(10, 40);
-
- QVERIFY(x.isEmpty());
-
- // Removing an interval, causing a tail trim
- x = QMediaTimeRange();
- x.addInterval(20, 40);
- x.removeInterval(30, 50);
-
- QVERIFY(!x.isEmpty());
- QVERIFY(x.isContinuous());
- QVERIFY(x.earliestTime() == 20);
- QVERIFY(x.latestTime() == 29);
-
- // Removing an interval, causing a head trim
- x = QMediaTimeRange();
- x.addInterval(20, 40);
- x.removeInterval(10, 30);
-
- QVERIFY(!x.isEmpty());
- QVERIFY(x.isContinuous());
- QVERIFY(x.earliestTime() == 31);
- QVERIFY(x.latestTime() == 40);
-
- // Identical Remove
- x = QMediaTimeRange();
- x.addInterval(10, 20);
- x.removeInterval(10, 20);
-
- QVERIFY(x.isEmpty());
-
- // Multi-Trim
- x = QMediaTimeRange();
- x.addInterval(10, 20);
- x.addInterval(30, 40);
- x.removeInterval(15, 35);
-
- QVERIFY(!x.isEmpty());
- QVERIFY(!x.isContinuous());
- QVERIFY(x.intervals().count() == 2);
- QVERIFY(x.intervals()[0].start() == 10);
- QVERIFY(x.intervals()[0].end() == 14);
- QVERIFY(x.intervals()[1].start() == 36);
- QVERIFY(x.intervals()[1].end() == 40);
-
- // Multi-Delete
- x = QMediaTimeRange();
- x.addInterval(10, 20);
- x.addInterval(30, 40);
- x.addInterval(50, 60);
- x.removeInterval(10, 60);
-
- QVERIFY(x.isEmpty());
-
- // Interval Parameter - Removing an interval, causing a split
- x = QMediaTimeRange();
- x.addInterval(10, 50);
- x.removeInterval(QMediaTimeInterval(20, 40));
-
- QVERIFY(!x.isEmpty());
- QVERIFY(!x.isContinuous());
- QVERIFY(x.intervals().count() == 2);
- QVERIFY(x.intervals()[0].start() == 10);
- QVERIFY(x.intervals()[0].end() == 19);
- QVERIFY(x.intervals()[1].start() == 41);
- QVERIFY(x.intervals()[1].end() == 50);
-
- // Interval Parameter - Abnormal Interval
- x = QMediaTimeRange();
- x.addInterval(10, 40);
- x.removeInterval(QMediaTimeInterval(30, 20));
-
- QVERIFY(!x.isEmpty());
- QVERIFY(x.isContinuous());
- QVERIFY(x.earliestTime() == 10);
- QVERIFY(x.latestTime() == 40);
-}
-
-void tst_QMediaTimeRange::testRemoveTimeRange()
-{
- // Remove Time Range uses Remove Interval internally,
- // so in this test the focus is on combinations of number
- // of intervals removed, rather than the different types of
- // deletions which can occur.
- QMediaTimeRange a, b;
-
- // Remove Single from Single
- a = QMediaTimeRange(10, 30);
- b = QMediaTimeRange(20, 40);
-
- b.removeTimeRange(a);
-
- QVERIFY(!b.isEmpty());
- QVERIFY(b.isContinuous());
- QVERIFY(b.earliestTime() == 31);
- QVERIFY(b.latestTime() == 40);
-
- // Remove Multiple from Single
- a = QMediaTimeRange();
- a.addInterval(10, 30);
- a.addInterval(40, 60);
-
- b = QMediaTimeRange(20, 50);
-
- b.removeTimeRange(a);
-
- QVERIFY(!b.isEmpty());
- QVERIFY(b.isContinuous());
- QVERIFY(b.earliestTime() == 31);
- QVERIFY(b.latestTime() == 39);
-
- // Remove Single from Multiple
- a = QMediaTimeRange(20, 50);
-
- b = QMediaTimeRange();
- b.addInterval(10, 30);
- b.addInterval(40, 60);
-
- b.removeTimeRange(a);
-
- QVERIFY(!b.isEmpty());
- QVERIFY(!b.isContinuous());
- QVERIFY(b.intervals().count() == 2);
- QVERIFY(b.intervals()[0].start() == 10);
- QVERIFY(b.intervals()[0].end() == 19);
- QVERIFY(b.intervals()[1].start() == 51);
- QVERIFY(b.intervals()[1].end() == 60);
-
- // Remove Multiple from Multiple
- a = QMediaTimeRange();
- a.addInterval(20, 50);
- a.addInterval(50, 90);
-
-
- b = QMediaTimeRange();
- b.addInterval(10, 30);
- b.addInterval(40, 70);
- b.addInterval(80, 100);
-
- b.removeTimeRange(a);
-
- QVERIFY(!b.isEmpty());
- QVERIFY(!b.isContinuous());
- QVERIFY(b.intervals().count() == 2);
- QVERIFY(b.intervals()[0].start() == 10);
- QVERIFY(b.intervals()[0].end() == 19);
- QVERIFY(b.intervals()[1].start() == 91);
- QVERIFY(b.intervals()[1].end() == 100);
-
- // Remove Nothing from Single
- a = QMediaTimeRange();
- b = QMediaTimeRange(10, 20);
-
- b.removeTimeRange(a);
-
- QVERIFY(!b.isEmpty());
- QVERIFY(b.isContinuous());
- QVERIFY(b.earliestTime() == 10);
- QVERIFY(b.latestTime() == 20);
-
- // Remove Single from Nothing
- a = QMediaTimeRange(10, 20);
- b = QMediaTimeRange();
-
- b.removeTimeRange(a);
-
- QVERIFY(b.isEmpty());
-
- // Remove Nothing from Nothing
- a = QMediaTimeRange();
- b = QMediaTimeRange();
-
- b.removeTimeRange(a);
-
- QVERIFY(b.isEmpty());
-}
-
-void tst_QMediaTimeRange::testClear()
-{
- QMediaTimeRange x;
-
- // Clear Nothing
- x.clear();
-
- QVERIFY(x.isEmpty());
-
- // Clear Single
- x = QMediaTimeRange(10, 20);
- x.clear();
-
- QVERIFY(x.isEmpty());
-
- // Clear Multiple
- x = QMediaTimeRange();
- x.addInterval(10, 20);
- x.addInterval(30, 40);
- x.clear();
-
- QVERIFY(x.isEmpty());
-}
-
-void tst_QMediaTimeRange::testComparisons()
-{
- // Interval equality
- QVERIFY(QMediaTimeInterval(10, 20) == QMediaTimeInterval(10, 20));
- QVERIFY(QMediaTimeInterval(10, 20) != QMediaTimeInterval(10, 30));
- QVERIFY(!(QMediaTimeInterval(10, 20) != QMediaTimeInterval(10, 20)));
- QVERIFY(!(QMediaTimeInterval(10, 20) == QMediaTimeInterval(10, 30)));
-
- // Time range equality - Single Interval
- QMediaTimeRange a(10, 20), b(20, 30), c(10, 20);
-
- QVERIFY(a == c);
- QVERIFY(!(a == b));
- QVERIFY(a != b);
- QVERIFY(!(a != c));
-
- // Time Range Equality - Multiple Intervals
- QMediaTimeRange x, y, z;
-
- x.addInterval(10, 20);
- x.addInterval(30, 40);
- x.addInterval(50, 60);
-
- y.addInterval(10, 20);
- y.addInterval(35, 45);
- y.addInterval(50, 60);
-
- z.addInterval(10, 20);
- z.addInterval(30, 40);
- z.addInterval(50, 60);
-
- QVERIFY(x == z);
- QVERIFY(!(x == y));
- QVERIFY(x != y);
- QVERIFY(!(x != z));
-}
-
-void tst_QMediaTimeRange::testArithmetic()
-{
- QMediaTimeRange a(10, 20), b(20, 30);
-
- // Test +=
- a += b;
-
- QVERIFY(a.isContinuous());
- QVERIFY(a.earliestTime() == 10);
- QVERIFY(a.latestTime() == 30);
-
- // Test -=
- a -= b;
-
- QVERIFY(a.isContinuous());
- QVERIFY(a.earliestTime() == 10);
- QVERIFY(a.latestTime() == 19);
-
- // Test += and -= on intervals
- a -= QMediaTimeInterval(10, 20);
- a += QMediaTimeInterval(40, 50);
-
- QVERIFY(a.isContinuous());
- QVERIFY(a.earliestTime() == 40);
- QVERIFY(a.latestTime() == 50);
-
- // Test Interval + Interval
- a = QMediaTimeInterval(10, 20) + QMediaTimeInterval(20, 30);
- QVERIFY(a.isContinuous());
- QVERIFY(a.earliestTime() == 10);
- QVERIFY(a.latestTime() == 30);
-
- // Test Range + Interval
- a = a + QMediaTimeInterval(30, 40);
- QVERIFY(a.isContinuous());
- QVERIFY(a.earliestTime() == 10);
- QVERIFY(a.latestTime() == 40);
-
- // Test Interval + Range
- a = QMediaTimeInterval(40, 50) + a;
- QVERIFY(a.isContinuous());
- QVERIFY(a.earliestTime() == 10);
- QVERIFY(a.latestTime() == 50);
-
- // Test Range + Range
- a = a + QMediaTimeRange(50, 60);
- QVERIFY(a.isContinuous());
- QVERIFY(a.earliestTime() == 10);
- QVERIFY(a.latestTime() == 60);
-
- // Test Range - Interval
- a = a - QMediaTimeInterval(50, 60);
- QVERIFY(a.isContinuous());
- QVERIFY(a.earliestTime() == 10);
- QVERIFY(a.latestTime() == 49);
-
- // Test Range - Range
- a = a - QMediaTimeRange(40, 50);
- QVERIFY(a.isContinuous());
- QVERIFY(a.earliestTime() == 10);
- QVERIFY(a.latestTime() == 39);
-
- // Test Interval - Range
- b = QMediaTimeInterval(0, 20) - a;
- QVERIFY(b.isContinuous());
- QVERIFY(b.earliestTime() == 0);
- QVERIFY(b.latestTime() == 9);
-
- // Test Interval - Interval
- a = QMediaTimeInterval(10, 20) - QMediaTimeInterval(15, 30);
- QVERIFY(a.isContinuous());
- QVERIFY(a.earliestTime() == 10);
- QVERIFY(a.latestTime() == 14);
-}
-
-QTEST_MAIN(tst_QMediaTimeRange)
-
-#include "tst_qmediatimerange.moc"
diff --git a/tests/auto/qmenu/tst_qmenu.cpp b/tests/auto/qmenu/tst_qmenu.cpp
index e10d7ee69a..7065b13254 100644
--- a/tests/auto/qmenu/tst_qmenu.cpp
+++ b/tests/auto/qmenu/tst_qmenu.cpp
@@ -51,6 +51,7 @@
#include <QListWidget>
#include <QWidgetAction>
#include <QDesktopWidget>
+#include <qdialog.h>
#include <qmenu.h>
#include <qstyle.h>
@@ -106,6 +107,7 @@ private slots:
void pushButtonPopulateOnAboutToShow();
void QTBUG7907_submenus_autoselect();
void QTBUG7411_submenus_activate();
+ void QTBUG_10735_crashWithDialog();
protected slots:
void onActivated(QAction*);
void onHighlighted(QAction*);
@@ -967,6 +969,56 @@ void tst_QMenu::QTBUG7411_submenus_activate()
QTRY_VERIFY(sub1.isVisible());
}
+class MyMenu : public QMenu
+{
+ Q_OBJECT
+public:
+ MyMenu() : m_currentIndex(0)
+ {
+ for (int i = 0; i < 2; ++i)
+ dialogActions[i] = addAction( QString("dialog %1").arg(i), dialogs + i, SLOT(exec()));
+ }
+
+
+ void activateAction(int index)
+ {
+ m_currentIndex = index;
+ popup(QPoint());
+ QTest::qWaitForWindowShown(this);
+ setActiveAction(dialogActions[index]);
+ QTimer::singleShot(500, this, SLOT(checkVisibility()));
+ QTest::keyClick(this, Qt::Key_Enter); //activation
+ }
+
+public slots:
+ void activateLastAction()
+ {
+ activateAction(1);
+ }
+
+ void checkVisibility()
+ {
+ QTRY_VERIFY(dialogs[m_currentIndex].isVisible());
+ if (m_currentIndex == 1) {
+ QApplication::closeAllWindows(); //this is the end of the test
+ }
+ }
+
+
+private:
+ QAction *dialogActions[2];
+ QDialog dialogs[2];
+ int m_currentIndex;
+};
+
+void tst_QMenu::QTBUG_10735_crashWithDialog()
+{
+ MyMenu menu;
+
+ QTimer::singleShot(1000, &menu, SLOT(activateLastAction()));
+ menu.activateAction(0);
+
+}
QTEST_MAIN(tst_QMenu)
diff --git a/tests/auto/qmessagebox/tst_qmessagebox.cpp b/tests/auto/qmessagebox/tst_qmessagebox.cpp
index 2de1c52df7..d4ca0641af 100644
--- a/tests/auto/qmessagebox/tst_qmessagebox.cpp
+++ b/tests/auto/qmessagebox/tst_qmessagebox.cpp
@@ -140,6 +140,8 @@ private:
tst_QMessageBox::tst_QMessageBox() : keyToSend(-1)
{
+ int argc = qApp->argc();
+ QT_REQUIRE_VERSION(argc, qApp->argv(), "4.6.2")
}
int tst_QMessageBox::exec(QMessageBox *msgBox, int key)
diff --git a/tests/auto/qmetaobject/tst_qmetaobject.cpp b/tests/auto/qmetaobject/tst_qmetaobject.cpp
index c0b1303f00..b6d4558465 100644
--- a/tests/auto/qmetaobject/tst_qmetaobject.cpp
+++ b/tests/auto/qmetaobject/tst_qmetaobject.cpp
@@ -172,6 +172,8 @@ private slots:
void stdSet();
void classInfo();
+ void metaMethod();
+
signals:
void value6Changed();
void value7Changed(const QString &);
@@ -886,5 +888,54 @@ void tst_QMetaObject::classInfo()
QCOMPARE(QLatin1String(b.metaObject()->classInfo(index).value()), QLatin1String("Christopher Pike"));
}
+void tst_QMetaObject::metaMethod()
+{
+ QString str("foo");
+ QString ret("bar");
+ QMetaMethod method;
+ QVERIFY(!method.invoke(this));
+ QVERIFY(!method.invoke(this, Q_ARG(QString, str)));
+ QVERIFY(!method.invoke(this, Q_RETURN_ARG(QString, ret), Q_ARG(QString, str)));
+ QCOMPARE(str, QString("foo"));
+ QCOMPARE(ret, QString("bar"));
+
+
+ QtTestObject obj;
+ QString t1("1"); QString t2("2"); QString t3("3"); QString t4("4"); QString t5("5");
+ QString t6("6"); QString t7("7"); QString t8("8"); QString t9("9"); QString t10("X");
+
+ int index = QtTestObject::staticMetaObject.indexOfMethod("sl5(QString,QString,QString,QString,QString)");
+ QVERIFY(index > 0);
+ method = QtTestObject::staticMetaObject.method(index);
+ //wrong args
+ QVERIFY(!method.invoke(&obj, Q_ARG(QString, "1"), Q_ARG(QString, "2"), Q_ARG(QString, "3"), Q_ARG(QString, "4")));
+ //QVERIFY(!method.invoke(&obj, Q_ARG(QString, "1"), Q_ARG(QString, "2"), Q_ARG(QString, "3"), Q_ARG(QString, "4"), Q_ARG(QString, "5"), Q_ARG(QString, "6")));
+ //QVERIFY(!method.invoke(&obj, Q_ARG(QString, "1"), Q_ARG(QString, "2"), Q_ARG(QString, "3"), Q_ARG(QString, "4"), Q_ARG(int, 5)));
+ QVERIFY(!method.invoke(&obj, Q_RETURN_ARG(QString, ret), Q_ARG(QString, "1"), Q_ARG(QString, "2"), Q_ARG(QString, "3"), Q_ARG(QString, "4"), Q_ARG(QString, "5")));
+
+ //wrong object
+ //QVERIFY(!method.invoke(this, Q_ARG(QString, "1"), Q_ARG(QString, "2"), Q_ARG(QString, "3"), Q_ARG(QString, "4"), Q_ARG(QString, "5")));
+ QVERIFY(!method.invoke(0, Q_ARG(QString, "1"), Q_ARG(QString, "2"), Q_ARG(QString, "3"), Q_ARG(QString, "4"), Q_ARG(QString, "5")));
+ QCOMPARE(ret, QString("bar"));
+ QCOMPARE(obj.slotResult, QString());
+
+ QVERIFY(method.invoke(&obj, Q_ARG(QString, "1"), Q_ARG(QString, "2"), Q_ARG(QString, "3"), Q_ARG(QString, "4"), Q_ARG(QString, "5")));
+ QCOMPARE(obj.slotResult, QString("sl5:12345"));
+
+ index = QtTestObject::staticMetaObject.indexOfMethod("sl13(QList<QString>)");
+ QVERIFY(index > 0);
+ QMetaMethod sl13 = QtTestObject::staticMetaObject.method(index);
+ QList<QString> returnValue, argument;
+ argument << QString("one") << QString("two") << QString("three");
+ //wrong object
+ //QVERIFY(!sl13.invoke(this, Q_RETURN_ARG(QList<QString>, returnValue), Q_ARG(QList<QString>, argument)));
+ QVERIFY(!sl13.invoke(0, Q_RETURN_ARG(QList<QString>, returnValue), Q_ARG(QList<QString>, argument)));
+ QCOMPARE(returnValue, QList<QString>());
+
+ QVERIFY(sl13.invoke(&obj, Q_RETURN_ARG(QList<QString>, returnValue), Q_ARG(QList<QString>, argument)));
+ QCOMPARE(returnValue, argument);
+ QCOMPARE(obj.slotResult, QString("sl13"));
+}
+
QTEST_MAIN(tst_QMetaObject)
#include "tst_qmetaobject.moc"
diff --git a/tests/auto/qmetatype/tst_qmetatype.cpp b/tests/auto/qmetatype/tst_qmetatype.cpp
index f4e122f3c4..8558e06f95 100644
--- a/tests/auto/qmetatype/tst_qmetatype.cpp
+++ b/tests/auto/qmetatype/tst_qmetatype.cpp
@@ -77,6 +77,7 @@ private slots:
void isRegistered_data();
void isRegistered();
void unregisterType();
+ void QTBUG11316_registerStreamBuiltin();
};
@@ -318,5 +319,12 @@ void tst_QMetaType::unregisterType()
QCOMPARE(QMetaType::isRegistered(typeId), false);
}
+void tst_QMetaType::QTBUG11316_registerStreamBuiltin()
+{
+ //should not crash;
+ qRegisterMetaTypeStreamOperators<QString>("QString");
+ qRegisterMetaTypeStreamOperators<QVariant>("QVariant");
+}
+
QTEST_MAIN(tst_QMetaType)
#include "tst_qmetatype.moc"
diff --git a/tests/auto/qmovie/qmovie.pro b/tests/auto/qmovie/qmovie.pro
index 30e5901d7c..a8ec4785b3 100644
--- a/tests/auto/qmovie/qmovie.pro
+++ b/tests/auto/qmovie/qmovie.pro
@@ -7,14 +7,14 @@ MOC_DIR=tmp
!contains(QT_CONFIG, no-mng):DEFINES += QTEST_HAVE_MNG
wince*: {
- addFiles.sources = animations\*
+ addFiles.sources = animations\\*
addFiles.path = animations
DEPLOYMENT += addFiles
}
symbian*: {
- addFiles.sources = animations\*
+ addFiles.sources = animations\\*
addFiles.path = animations
DEPLOYMENT += addFiles
diff --git a/tests/auto/qnativesocketengine/qnativesocketengine.pro b/tests/auto/qnativesocketengine/qnativesocketengine.pro
index ad40d53ca8..0275d378da 100644
--- a/tests/auto/qnativesocketengine/qnativesocketengine.pro
+++ b/tests/auto/qnativesocketengine/qnativesocketengine.pro
@@ -9,4 +9,5 @@ MOC_DIR=tmp
QT = core network
+symbian: TARGET.CAPABILITY = NetworkServices
diff --git a/tests/auto/qnetworkaccessmanager/qnetworkaccessmanager.pro b/tests/auto/qnetworkaccessmanager/qnetworkaccessmanager.pro
index e2889c140a..3ccbffbde8 100644
--- a/tests/auto/qnetworkaccessmanager/qnetworkaccessmanager.pro
+++ b/tests/auto/qnetworkaccessmanager/qnetworkaccessmanager.pro
@@ -2,4 +2,5 @@ load(qttest_p4)
SOURCES += tst_qnetworkaccessmanager.cpp
QT = core network
+symbian: TARGET.CAPABILITY = NetworkServices
diff --git a/tests/auto/qnetworkaccessmanager_and_qprogressdialog/qnetworkaccessmanager_and_qprogressdialog.pro b/tests/auto/qnetworkaccessmanager_and_qprogressdialog/qnetworkaccessmanager_and_qprogressdialog.pro
index 7ed5b07f7e..378deba11e 100644
--- a/tests/auto/qnetworkaccessmanager_and_qprogressdialog/qnetworkaccessmanager_and_qprogressdialog.pro
+++ b/tests/auto/qnetworkaccessmanager_and_qprogressdialog/qnetworkaccessmanager_and_qprogressdialog.pro
@@ -2,4 +2,5 @@ load(qttest_p4)
SOURCES += tst_qnetworkaccessmanager_and_qprogressdialog.cpp
QT += network
+symbian: TARGET.CAPABILITY = NetworkServices
diff --git a/tests/auto/qnetworkaddressentry/qnetworkaddressentry.pro b/tests/auto/qnetworkaddressentry/qnetworkaddressentry.pro
index 8feb95fbab..885dbf796c 100644
--- a/tests/auto/qnetworkaddressentry/qnetworkaddressentry.pro
+++ b/tests/auto/qnetworkaddressentry/qnetworkaddressentry.pro
@@ -2,3 +2,5 @@ load(qttest_p4)
SOURCES += tst_qnetworkaddressentry.cpp
QT = core network
+
+symbian: TARGET.CAPABILITY = NetworkServices
diff --git a/tests/auto/qnetworkcachemetadata/qnetworkcachemetadata.pro b/tests/auto/qnetworkcachemetadata/qnetworkcachemetadata.pro
index b24fe0074c..77ad34754c 100644
--- a/tests/auto/qnetworkcachemetadata/qnetworkcachemetadata.pro
+++ b/tests/auto/qnetworkcachemetadata/qnetworkcachemetadata.pro
@@ -2,4 +2,5 @@ load(qttest_p4)
QT += network
SOURCES += tst_qnetworkcachemetadata.cpp
+symbian: TARGET.CAPABILITY = NetworkServices
diff --git a/tests/auto/qnetworkconfiguration/tst_qnetworkconfiguration.cpp b/tests/auto/qnetworkconfiguration/tst_qnetworkconfiguration.cpp
index ce3acb7ee7..e66719a206 100644
--- a/tests/auto/qnetworkconfiguration/tst_qnetworkconfiguration.cpp
+++ b/tests/auto/qnetworkconfiguration/tst_qnetworkconfiguration.cpp
@@ -45,7 +45,14 @@
#include <QtNetwork/qnetworkconfiguration.h>
#include <QtNetwork/qnetworkconfigmanager.h>
-#if defined(Q_WS_MAEMO_6) || defined(Q_WS_MAEMO_5)
+/*
+ Although this unit test doesn't use QNetworkAccessManager
+ this include is used to ensure that bearer continues to compile against
+ Qt 4.7+ which has a QNetworkConfiguration enabled QNetworkAccessManager
+*/
+#include <QNetworkAccessManager>
+
+#if defined(Q_OS_UNIX) && !defined(QT_NO_ICD)
#include <stdio.h>
#include <iapconf.h>
#endif
@@ -66,7 +73,7 @@ private slots:
void isRoamingAvailable();
private:
-#if defined(Q_WS_MAEMO_6) || defined(Q_WS_MAEMO_5)
+#if defined(Q_OS_UNIX) && !defined(QT_NO_ICD)
Maemo::IAPConf *iapconf;
Maemo::IAPConf *iapconf2;
Maemo::IAPConf *gprsiap;
@@ -78,7 +85,7 @@ private:
void tst_QNetworkConfiguration::initTestCase()
{
-#if defined(Q_WS_MAEMO_6) || defined(Q_WS_MAEMO_5)
+#if defined(Q_OS_UNIX) && !defined(QT_NO_ICD)
iapconf = new Maemo::IAPConf("007");
iapconf->setValue("ipv4_type", "AUTO");
iapconf->setValue("wlan_wepkey1", "connt");
@@ -151,7 +158,7 @@ void tst_QNetworkConfiguration::initTestCase()
void tst_QNetworkConfiguration::cleanupTestCase()
{
-#if defined(Q_WS_MAEMO_6) || defined(Q_WS_MAEMO_5)
+#if defined(Q_OS_UNIX) && !defined(QT_NO_ICD)
iapconf->clear();
delete iapconf;
iapconf2->clear();
diff --git a/tests/auto/qnetworkconfigurationmanager/tst_qnetworkconfigurationmanager.cpp b/tests/auto/qnetworkconfigurationmanager/tst_qnetworkconfigurationmanager.cpp
index 7cc527caa2..c732a5b0ea 100644
--- a/tests/auto/qnetworkconfigurationmanager/tst_qnetworkconfigurationmanager.cpp
+++ b/tests/auto/qnetworkconfigurationmanager/tst_qnetworkconfigurationmanager.cpp
@@ -45,7 +45,7 @@
#include <QtNetwork/qnetworkconfiguration.h>
#include <QtNetwork/qnetworkconfigmanager.h>
-#if defined(Q_WS_MAEMO_6) || defined(Q_WS_MAEMO_5)
+#if defined(Q_OS_UNIX) && !defined(QT_NO_ICD)
#include <stdio.h>
#include <iapconf.h>
#endif
@@ -67,7 +67,7 @@ private slots:
void configurationFromIdentifier();
private:
-#if defined(Q_WS_MAEMO_6) || defined(Q_WS_MAEMO_5)
+#if defined(Q_OS_UNIX) && !defined(QT_NO_ICD)
Maemo::IAPConf *iapconf;
Maemo::IAPConf *iapconf2;
Maemo::IAPConf *gprsiap;
@@ -79,7 +79,7 @@ private:
void tst_QNetworkConfigurationManager::initTestCase()
{
-#if defined(Q_WS_MAEMO_6) || defined(Q_WS_MAEMO_5)
+#if defined(Q_OS_UNIX) && !defined(QT_NO_ICD)
iapconf = new Maemo::IAPConf("007");
iapconf->setValue("ipv4_type", "AUTO");
iapconf->setValue("wlan_wepkey1", "connt");
@@ -153,7 +153,7 @@ void tst_QNetworkConfigurationManager::initTestCase()
void tst_QNetworkConfigurationManager::cleanupTestCase()
{
-#if defined(Q_WS_MAEMO_6) || defined(Q_WS_MAEMO_5)
+#if defined(Q_OS_UNIX) && !defined(QT_NO_ICD)
iapconf->clear();
delete iapconf;
iapconf2->clear();
diff --git a/tests/auto/qnetworkcookie/qnetworkcookie.pro b/tests/auto/qnetworkcookie/qnetworkcookie.pro
index 95d8b6ea1f..2f31138daf 100644
--- a/tests/auto/qnetworkcookie/qnetworkcookie.pro
+++ b/tests/auto/qnetworkcookie/qnetworkcookie.pro
@@ -2,3 +2,4 @@ load(qttest_p4)
SOURCES += tst_qnetworkcookie.cpp
QT = core network
+symbian: TARGET.CAPABILITY = NetworkServices
diff --git a/tests/auto/qnetworkcookie/tst_qnetworkcookie.cpp b/tests/auto/qnetworkcookie/tst_qnetworkcookie.cpp
index 5854ae114a..72d8eda570 100644
--- a/tests/auto/qnetworkcookie/tst_qnetworkcookie.cpp
+++ b/tests/auto/qnetworkcookie/tst_qnetworkcookie.cpp
@@ -693,6 +693,12 @@ void tst_QNetworkCookie::parseMultipleCookies_data()
cookieA.setPath("/foo");
list = QList<QNetworkCookie>() << cookieA << cookieB;
QTest::newRow("real-3") << "a=b; expires=Mar 10 07:00:00 2009 GMT, Tue; path=/foo\nc=d; expires=Fri Mar 20 07:00:00 2009 GMT" << list;
+
+ // do not accept cookies with non-alphanumeric characters in domain field (QTBUG-11029)
+ cookie = QNetworkCookie("NonAlphNumDomName", "NonAlphNumDomValue");
+ cookie.setDomain("!@#$%^&*();:."); // the ';' is actually problematic, because it is a separator
+ list = QList<QNetworkCookie>();
+ QTest::newRow("domain-non-alpha-numeric") << "NonAlphNumDomName=NonAlphNumDomValue; domain=!@#$%^&*()" << list;
}
void tst_QNetworkCookie::parseMultipleCookies()
diff --git a/tests/auto/qnetworkcookiejar/qnetworkcookiejar.pro b/tests/auto/qnetworkcookiejar/qnetworkcookiejar.pro
index 3a8e61b9de..6d75fab758 100644
--- a/tests/auto/qnetworkcookiejar/qnetworkcookiejar.pro
+++ b/tests/auto/qnetworkcookiejar/qnetworkcookiejar.pro
@@ -2,3 +2,4 @@ load(qttest_p4)
SOURCES += tst_qnetworkcookiejar.cpp
QT = core network
+symbian: TARGET.CAPABILITY = NetworkServices
diff --git a/tests/auto/qnetworkdiskcache/qnetworkdiskcache.pro b/tests/auto/qnetworkdiskcache/qnetworkdiskcache.pro
index f47d6d7e41..3b13087836 100644
--- a/tests/auto/qnetworkdiskcache/qnetworkdiskcache.pro
+++ b/tests/auto/qnetworkdiskcache/qnetworkdiskcache.pro
@@ -2,4 +2,5 @@ load(qttest_p4)
QT += network
SOURCES += tst_qnetworkdiskcache.cpp
+symbian: TARGET.CAPABILITY = NetworkServices
diff --git a/tests/auto/qnetworkdiskcache/tst_qnetworkdiskcache.cpp b/tests/auto/qnetworkdiskcache/tst_qnetworkdiskcache.cpp
index 8ce10fbb9c..5bbe8f645e 100644
--- a/tests/auto/qnetworkdiskcache/tst_qnetworkdiskcache.cpp
+++ b/tests/auto/qnetworkdiskcache/tst_qnetworkdiskcache.cpp
@@ -78,6 +78,56 @@ private slots:
void oldCacheVersionFile();
void sync();
+
+ void crashWhenParentingCache();
+};
+
+// FIXME same as in tst_qnetworkreply.cpp .. could be unified
+// Does not work for POST/PUT!
+class MiniHttpServer: public QTcpServer
+{
+ Q_OBJECT
+public:
+ QTcpSocket *client; // always the last one that was received
+ QByteArray dataToTransmit;
+ QByteArray receivedData;
+ bool doClose;
+ bool multiple;
+ int totalConnections;
+
+ MiniHttpServer(const QByteArray &data) : client(0), dataToTransmit(data), doClose(true), multiple(false), totalConnections(0)
+ {
+ listen();
+ connect(this, SIGNAL(newConnection()), this, SLOT(doAccept()));
+ }
+
+public slots:
+ void doAccept()
+ {
+ client = nextPendingConnection();
+ client->setParent(this);
+ ++totalConnections;
+ connect(client, SIGNAL(readyRead()), this, SLOT(readyReadSlot()));
+ }
+
+ void readyReadSlot()
+ {
+ receivedData += client->readAll();
+ int doubleEndlPos = receivedData.indexOf("\r\n\r\n");
+
+ if (doubleEndlPos != -1) {
+ // multiple requests incoming. remove the bytes of the current one
+ if (multiple)
+ receivedData.remove(0, doubleEndlPos+4);
+
+ client->write(dataToTransmit);
+ if (doClose) {
+ client->disconnectFromHost();
+ disconnect(client, 0, this, 0);
+ client = 0;
+ }
+ }
+ }
};
// Subclass that exposes the protected functions.
@@ -581,6 +631,33 @@ public:
Runner *other;
};
+void tst_QNetworkDiskCache::crashWhenParentingCache()
+{
+ // the trick here is to not send the complete response
+ // but some data. So we get a readyRead() and it gets tried
+ // to be saved to the cache
+ QByteArray data("HTTP/1.0 200 OK\r\nCache-Control: max-age=300\r\nAge: 1\r\nContent-Length: 5\r\n\r\n123");
+ MiniHttpServer server(data);
+
+ QNetworkAccessManager *manager = new QNetworkAccessManager();
+ QNetworkDiskCache *diskCache = new QNetworkDiskCache(manager); // parent to qnam!
+ // we expect the temp dir to be cleaned at some point anyway
+ diskCache->setCacheDirectory(QDir::tempPath() + "/cacheDir_" + QCoreApplication::applicationPid());
+ manager->setCache(diskCache);
+
+ QUrl url("http://127.0.0.1:" + QString::number(server.serverPort()));
+ QNetworkRequest request(url);
+ // request.setAttribute(QNetworkRequest::CacheLoadControlAttribute, QNetworkRequest::AlwaysNetwork);
+ QNetworkReply *reply = manager->get(request); // new reply is parented to qnam
+
+ // wait for readyRead of reply!
+ connect(reply, SIGNAL(readyRead()), &QTestEventLoop::instance(), SLOT(exitLoop()));
+ QTestEventLoop::instance().enterLoop(5);
+ QVERIFY(!QTestEventLoop::instance().timeout());
+
+ delete manager; // crashed before..
+}
+
void tst_QNetworkDiskCache::sync()
{
// This tests would be a nice to have, but is currently not supported.
diff --git a/tests/auto/qnetworkinterface/qnetworkinterface.pro b/tests/auto/qnetworkinterface/qnetworkinterface.pro
index 26095e909e..1c5feee3f2 100644
--- a/tests/auto/qnetworkinterface/qnetworkinterface.pro
+++ b/tests/auto/qnetworkinterface/qnetworkinterface.pro
@@ -3,4 +3,5 @@ SOURCES += tst_qnetworkinterface.cpp
QT = core network
+symbian: TARGET.CAPABILITY = NetworkServices
diff --git a/tests/auto/qnetworkproxy/qnetworkproxy.pro b/tests/auto/qnetworkproxy/qnetworkproxy.pro
index 8ffc80c8c8..fc0a216a15 100644
--- a/tests/auto/qnetworkproxy/qnetworkproxy.pro
+++ b/tests/auto/qnetworkproxy/qnetworkproxy.pro
@@ -7,4 +7,5 @@ QT = core network
SOURCES += tst_qnetworkproxy.cpp
+symbian: TARGET.CAPABILITY = NetworkServices
diff --git a/tests/auto/qnetworkreply/qnetworkreply.pro b/tests/auto/qnetworkreply/qnetworkreply.pro
index fd8454c235..86d3155c05 100644
--- a/tests/auto/qnetworkreply/qnetworkreply.pro
+++ b/tests/auto/qnetworkreply/qnetworkreply.pro
@@ -4,3 +4,4 @@ SUBDIRS = test
requires(contains(QT_CONFIG,private_tests))
!wince*:SUBDIRS += echo
+symbian: TARGET.CAPABILITY = NetworkServices
diff --git a/tests/auto/qnetworkreply/smb-file.txt b/tests/auto/qnetworkreply/smb-file.txt
new file mode 100644
index 0000000000..73c3ac2c07
--- /dev/null
+++ b/tests/auto/qnetworkreply/smb-file.txt
@@ -0,0 +1 @@
+This is 34 bytes. Do not change... \ No newline at end of file
diff --git a/tests/auto/qnetworkreply/test/test.pro b/tests/auto/qnetworkreply/test/test.pro
index 7bf3852414..b9ece3849c 100644
--- a/tests/auto/qnetworkreply/test/test.pro
+++ b/tests/auto/qnetworkreply/test/test.pro
@@ -31,7 +31,7 @@ symbian:{
DEPLOYMENT += certFiles
# Symbian toolchain does not support correct include semantics
- INCPATH+=..\..\..\..\include\QtNetwork\private
+ INCPATH+=..\\..\\..\\..\\include\\QtNetwork\\private
# bigfile test case requires more heap
TARGET.EPOCHEAPSIZE="0x100 0x1000000"
TARGET.CAPABILITY="ALL -TCB"
diff --git a/tests/auto/qnetworkreply/tst_qnetworkreply.cpp b/tests/auto/qnetworkreply/tst_qnetworkreply.cpp
index ff79c094da..01d77838e0 100644
--- a/tests/auto/qnetworkreply/tst_qnetworkreply.cpp
+++ b/tests/auto/qnetworkreply/tst_qnetworkreply.cpp
@@ -284,6 +284,11 @@ private Q_SLOTS:
void ignoreSslErrorsListWithSlot();
#endif
+ void getAndThenDeleteObject_data();
+ void getAndThenDeleteObject();
+
+ void symbianOpenCDataUrlCrash();
+
// NOTE: This test must be last!
void parentingRepliesToTheApp();
};
@@ -522,8 +527,8 @@ public:
active->connectToHost("127.0.0.1", server.serverPort());
#ifndef Q_OS_SYMBIAN
// need more time as working with embedded
- // device and testing from emualtor
- // things tend to get slower
+ // device and testing from emualtor
+ // things tend to get slower
if (!active->waitForConnected(1000))
return false;
@@ -929,7 +934,7 @@ void tst_QNetworkReply::invalidProtocol()
void tst_QNetworkReply::getFromData_data()
{
- QTest::addColumn<QString>("request");
+ QTest::addColumn<QString>("request");
QTest::addColumn<QByteArray>("expected");
QTest::addColumn<QString>("mimeType");
@@ -1025,7 +1030,7 @@ void tst_QNetworkReply::getFromData()
void tst_QNetworkReply::getFromFile()
{
- // create the file:
+ // create the file:
QTemporaryFile file(QDir::currentPath() + "/temp-XXXXXX");
file.setAutoRemove(true);
QVERIFY(file.open());
@@ -1073,11 +1078,14 @@ void tst_QNetworkReply::getFromFileSpecial_data()
QTest::newRow("resource") << ":/resource" << "qrc:/resource";
QTest::newRow("search-path") << "srcdir:/rfc3252.txt" << "srcdir:/rfc3252.txt";
QTest::newRow("bigfile-path") << "srcdir:/bigfile" << "srcdir:/bigfile";
+#ifdef Q_OS_WIN
+ QTest::newRow("smb-path") << "srcdir:/smb-file.txt" << "file://" + QtNetworkSettings::winServerName() + "/testshare/test.pri";
+#endif
}
void tst_QNetworkReply::getFromFileSpecial()
{
- QFETCH(QString, fileName);
+ QFETCH(QString, fileName);
QFETCH(QString, url);
// open the resource so we can find out its size
@@ -1107,7 +1115,7 @@ void tst_QNetworkReply::getFromFtp_data()
void tst_QNetworkReply::getFromFtp()
{
- QFETCH(QString, referenceName);
+ QFETCH(QString, referenceName);
QFETCH(QString, url);
QFile reference(referenceName);
@@ -1136,7 +1144,7 @@ void tst_QNetworkReply::getFromHttp_data()
void tst_QNetworkReply::getFromHttp()
{
- QFETCH(QString, referenceName);
+ QFETCH(QString, referenceName);
QFETCH(QString, url);
QFile reference(referenceName);
@@ -3456,8 +3464,8 @@ void tst_QNetworkReply::downloadProgress_data()
QTest::newRow("big") << 4096;
#else
// it can run even with 4096
- // but it takes lot time
- //especially on emulator
+ // but it takes lot time
+ //especially on emulator
QTest::newRow("big") << 1024;
#endif
}
@@ -3646,7 +3654,7 @@ void tst_QNetworkReply::receiveCookiesFromHttp_data()
void tst_QNetworkReply::receiveCookiesFromHttp()
{
- QFETCH(QString, cookieString);
+ QFETCH(QString, cookieString);
QByteArray data = cookieString.toLatin1() + '\n';
QUrl url("http://" + QtNetworkSettings::serverName() + "/qtest/cgi-bin/set-cookie.cgi");
@@ -4208,6 +4216,66 @@ void tst_QNetworkReply::ignoreSslErrorsListWithSlot()
#endif // QT_NO_OPENSSL
+void tst_QNetworkReply::getAndThenDeleteObject_data()
+{
+ QTest::addColumn<bool>("replyFirst");
+
+ QTest::newRow("delete-reply-first") << true;
+ QTest::newRow("delete-qnam-first") << false;
+}
+
+void tst_QNetworkReply::getAndThenDeleteObject()
+{
+ // yes, this will leak if the testcase fails. I don't care. It must not fail then :P
+ QNetworkAccessManager *manager = new QNetworkAccessManager();
+ QNetworkRequest request("http://" + QtNetworkSettings::serverName() + "/qtest/bigfile");
+ QNetworkReply *reply = manager->get(request);
+ reply->setReadBufferSize(1);
+ reply->setParent((QObject*)0); // must be 0 because else it is the manager
+
+ QTime stopWatch;
+ stopWatch.start();
+ forever {
+ QCoreApplication::instance()->processEvents();
+ if (reply->bytesAvailable())
+ break;
+ if (stopWatch.elapsed() >= 30000)
+ break;
+ }
+
+ QVERIFY(reply->bytesAvailable());
+ QCOMPARE(reply->attribute(QNetworkRequest::HttpStatusCodeAttribute).toInt(), 200);
+ QVERIFY(!reply->isFinished()); // must not be finished
+
+ QFETCH(bool, replyFirst);
+
+ if (replyFirst) {
+ delete reply;
+ delete manager;
+ } else {
+ delete manager;
+ delete reply;
+ }
+}
+
+// see https://bugs.webkit.org/show_bug.cgi?id=38935
+void tst_QNetworkReply::symbianOpenCDataUrlCrash()
+{
+ QString requestUrl("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABkAAAAWCAYAAAA1vze2AAAAB3RJTUUH2AUSEgolrgBvVQAAAAlwSFlzAAALEwAACxMBAJqcGAAAAARnQU1BAACxjwv8YQUAAAHlSURBVHja5VbNShxBEK6ZaXtnHTebQPA1gngNmfaeq+QNPIlIXkC9iQdJxJNvEHLN3VkxhxxE8gTmEhAVddXZ6Z3f9Ndriz89/sHmkBQUVVT1fB9d9c3uOERUKTunIdn3HzstxGpYBDS4wZk7TAJj/wlJ90J+jnuygqs8svSj+/rGHBos3rE18XBvfU3no7NzlJfUaY/5whAwl8Lr/WDUv4ODxTMb+P5xLExe5LmO559WqTX/MQR4WZYEAtSePS4pE0qSnuhnRUcBU5Gm2k9XljU4Z26I3NRxBrd80rj2fh+KNE0FY4xevRgTjREvPFpasAK8Xli6MUbbuKw3afAGgSBXozo5u4hkmncAlkl5wx8iMGbdyQjnCFEiEwGiosj1UQA/x2rVddiVoi+l4IxE0PTDnx+mrQBvvnx9cFz3krhVvuhzFn579/aq/n5rW8fbtTqiWhIQZEo17YBvbkxOXNVndnYpTvod7AtiuN2re0+siwcB9oH8VxxrNwQQAhzyRs30n7wTI2HIN2g2QtQwjjhJIQatOq7E8bIVCLwzpl83Lvtvl+NohWWlE8UZTWEMAGCcR77fHKhPnZF5tYie6dfdxCphACmLPM+j8bYfmTryg64kV9Vh3mV8jP0b/4wO/YUPiT/8i0MLf55lSQAAAABJRU5ErkJggg==");
+ QUrl url = QUrl::fromEncoded(requestUrl.toLatin1());
+ QNetworkRequest req(url);
+ QNetworkReplyPtr reply;
+
+ RUN_REQUEST(runSimpleRequest(QNetworkAccessManager::GetOperation, req, reply));
+
+ QCOMPARE(reply->url(), url);
+ QCOMPARE(reply->error(), QNetworkReply::NoError);
+
+ QCOMPARE(reply->header(QNetworkRequest::ContentLengthHeader).toLongLong(), qint64(598));
+}
+
+
+
// NOTE: This test must be last testcase in tst_qnetworkreply!
void tst_QNetworkReply::parentingRepliesToTheApp()
{
diff --git a/tests/auto/qnetworkrequest/qnetworkrequest.pro b/tests/auto/qnetworkrequest/qnetworkrequest.pro
index f576ba221f..f96fd3bb02 100644
--- a/tests/auto/qnetworkrequest/qnetworkrequest.pro
+++ b/tests/auto/qnetworkrequest/qnetworkrequest.pro
@@ -2,3 +2,4 @@ load(qttest_p4)
SOURCES += tst_qnetworkrequest.cpp
QT = core network
+symbian: TARGET.CAPABILITY = NetworkServices
diff --git a/tests/auto/qnetworksession/lackey/main.cpp b/tests/auto/qnetworksession/lackey/main.cpp
index 8759b52007..ec2fad9e17 100644
--- a/tests/auto/qnetworksession/lackey/main.cpp
+++ b/tests/auto/qnetworksession/lackey/main.cpp
@@ -47,6 +47,8 @@
#include <QtNetwork/qnetworkconfigmanager.h>
#include <QtNetwork/qnetworksession.h>
+#include <QEventLoop>
+#include <QTimer>
#include <QDebug>
QT_USE_NAMESPACE
@@ -60,15 +62,14 @@ int main(int argc, char** argv)
{
QCoreApplication app(argc, argv);
- // Cannot read/write to processes on WinCE or Symbian.
- // Easiest alternative is to use sockets for IPC.
-
- QLocalSocket oopSocket;
-
- oopSocket.connectToServer("tst_qnetworksession");
- oopSocket.waitForConnected(-1);
-
+ // Update configurations so that everything is up to date for this process too.
+ // Event loop is used to wait for awhile.
QNetworkConfigurationManager manager;
+ manager.updateConfigurations();
+ QEventLoop iIgnoreEventLoop;
+ QTimer::singleShot(3000, &iIgnoreEventLoop, SLOT(quit()));
+ iIgnoreEventLoop.exec();
+
QList<QNetworkConfiguration> discovered =
manager.allConfigurations(QNetworkConfiguration::Discovered);
@@ -82,6 +83,13 @@ int main(int argc, char** argv)
return NO_DISCOVERED_CONFIGURATIONS_ERROR;
}
+ // Cannot read/write to processes on WinCE or Symbian.
+ // Easiest alternative is to use sockets for IPC.
+ QLocalSocket oopSocket;
+
+ oopSocket.connectToServer("tst_qnetworksession");
+ oopSocket.waitForConnected(-1);
+
qDebug() << "Lackey started";
QNetworkSession *session = 0;
diff --git a/tests/auto/qnetworksession/qnetworksession.pro b/tests/auto/qnetworksession/qnetworksession.pro
index a85925bc17..34761e53cf 100644
--- a/tests/auto/qnetworksession/qnetworksession.pro
+++ b/tests/auto/qnetworksession/qnetworksession.pro
@@ -1,2 +1,3 @@
TEMPLATE = subdirs
SUBDIRS = lackey test
+symbian: TARGET.CAPABILITY = NetworkServices
diff --git a/tests/auto/qnetworksession/test/tst_qnetworksession.cpp b/tests/auto/qnetworksession/test/tst_qnetworksession.cpp
index 23cdc6ab9d..e4f24866a9 100644
--- a/tests/auto/qnetworksession/test/tst_qnetworksession.cpp
+++ b/tests/auto/qnetworksession/test/tst_qnetworksession.cpp
@@ -48,7 +48,7 @@
#include <QtNetwork/qnetworkconfigmanager.h>
#include <QtNetwork/qnetworksession.h>
-#if defined(Q_WS_MAEMO_6) || defined(Q_WS_MAEMO_5)
+#if defined(Q_OS_UNIX) && !defined(QT_NO_ICD)
#include <stdio.h>
#include <iapconf.h>
#endif
@@ -100,10 +100,11 @@ private slots:
private:
QNetworkConfigurationManager manager;
+ QMap<QString, bool> testsToRun;
int inProcessSessionManagementCount;
-#if defined(Q_WS_MAEMO_6) || defined(Q_WS_MAEMO_5)
+#if defined(Q_OS_UNIX) && !defined(QT_NO_ICD)
Maemo::IAPConf *iapconf;
Maemo::IAPConf *iapconf2;
Maemo::IAPConf *gprsiap;
@@ -117,6 +118,7 @@ private:
bool openSession(QNetworkSession *session);
bool closeSession(QNetworkSession *session, bool lastSessionOnConfiguration = true);
void updateConfigurations();
+void printConfigurations();
QNetworkConfiguration suitableConfiguration(QString bearerType, QNetworkConfiguration::Type configType);
void tst_QNetworkSession::initTestCase()
@@ -125,8 +127,20 @@ void tst_QNetworkSession::initTestCase()
qRegisterMetaType<QNetworkSession::SessionError>("QNetworkSession::SessionError");
qRegisterMetaType<QNetworkConfiguration>("QNetworkConfiguration");
qRegisterMetaType<QNetworkConfiguration::Type>("QNetworkConfiguration::Type");
-
-#if defined(Q_WS_MAEMO_6) || defined(Q_WS_MAEMO_5)
+
+ // If you wish to skip tests, set value as false. This is often very convinient because tests are so lengthy.
+ // Better way still would be to make this readable from a file.
+ testsToRun["robustnessBombing"] = true;
+ testsToRun["outOfProcessSession"] = true;
+ testsToRun["invalidSession"] = true;
+ testsToRun["repeatedOpenClose"] = true;
+ testsToRun["roamingErrorCodes"] = true;
+ testsToRun["sessionStop"] = true;
+ testsToRun["sessionProperties"] = true;
+ testsToRun["userChoiceSession"] = true;
+ testsToRun["sessionOpenCloseStop"] = true;
+
+#if defined(Q_OS_UNIX) && !defined(QT_NO_ICD)
iapconf = new Maemo::IAPConf("007");
iapconf->setValue("ipv4_type", "AUTO");
iapconf->setValue("wlan_wepkey1", "connt");
@@ -212,7 +226,7 @@ void tst_QNetworkSession::cleanupTestCase()
"inProcessSessionManagement()");
}
-#if defined(Q_WS_MAEMO_6) || defined(Q_WS_MAEMO_5)
+#if defined(Q_OS_UNIX) && !defined(QT_NO_ICD)
iapconf->clear();
delete iapconf;
iapconf2->clear();
@@ -238,6 +252,10 @@ void tst_QNetworkSession::cleanupTestCase()
// Robustness test for calling interfaces in nonsense order / with nonsense parameters
void tst_QNetworkSession::robustnessBombing()
{
+ if (!testsToRun["robustnessBombing"]) {
+ QSKIP("Temporary skip due to value set false (or it is missing) in testsToRun map", SkipAll);
+ }
+
QNetworkConfigurationManager mgr;
QNetworkSession testSession(mgr.defaultConfiguration());
// Should not reset even session is not opened
@@ -245,15 +263,14 @@ void tst_QNetworkSession::robustnessBombing()
testSession.accept();
testSession.ignore();
testSession.reject();
- quint64 temp;
- temp = testSession.bytesWritten();
- temp = testSession.bytesReceived();
- temp = testSession.activeTime();
}
void tst_QNetworkSession::invalidSession()
-{
+{
+ if (!testsToRun["invalidSession"]) {
+ QSKIP("Temporary skip due to value set false (or it is missing) in testsToRun map", SkipAll);
+ }
// 1. Verify that session created with invalid configuration remains in invalid state
QNetworkSession session(QNetworkConfiguration(), 0);
QVERIFY(!session.isOpen());
@@ -270,11 +287,24 @@ void tst_QNetworkSession::invalidSession()
QVERIFY(error == QNetworkSession::InvalidConfigurationError);
QVERIFY(session.error() == QNetworkSession::InvalidConfigurationError);
QVERIFY(session.state() == QNetworkSession::Invalid);
-
+
#ifdef QNETWORKSESSION_MANUAL_TESTS
+
+ QNetworkConfiguration invalidatedConfig = suitableConfiguration("WLAN",QNetworkConfiguration::InternetAccessPoint);
+ if (invalidatedConfig.isValid()) {
+ // 3. Verify that invalidating a session after its successfully configured works
+ QNetworkSession invalidatedSession(invalidatedConfig);
+ qDebug() << "Delete the WLAN IAP from phone now (waiting 60 seconds): " << invalidatedConfig.name();
+ QTest::qWait(60000);
+ QVERIFY(!invalidatedConfig.isValid());
+ QVERIFY(invalidatedSession.state() == QNetworkSession::Invalid);
+ qDebug() << "Add the WLAN IAP back (waiting 60 seconds): " << invalidatedConfig.name();
+ QTest::qWait(60000);
+ }
+
QNetworkConfiguration definedConfig = suitableConfiguration("WLAN",QNetworkConfiguration::InternetAccessPoint);
if (definedConfig.isValid()) {
- // 3. Verify that opening a session with defined configuration emits error and enters notavailable-state
+ // 4. Verify that opening a session with defined configuration emits error and enters notavailable-state
// TODO these timer waits should be changed to waiting appropriate signals, now these wait excessively
qDebug() << "Shutdown WLAN IAP (waiting 60 seconds): " << definedConfig.name();
QTest::qWait(60000);
@@ -283,43 +313,27 @@ void tst_QNetworkSession::invalidSession()
QNetworkSession definedSession(definedConfig);
QSignalSpy errorSpy(&definedSession, SIGNAL(error(QNetworkSession::SessionError)));
QNetworkSession::SessionError sessionError;
+ updateConfigurations();
definedSession.open();
+#ifdef Q_OS_SYMBIAN
+ // On symbian, the connection opening is tried even with defined state.
+ qDebug("Waiting for 10 seconds to all signals to propagate.");
+ QTest::qWait(10000);
+#endif
+ updateConfigurations();
QVERIFY(definedConfig.isValid()); // Session remains valid
QVERIFY(definedSession.state() == QNetworkSession::NotAvailable); // State is not available because WLAN is not in coverage
QVERIFY(!errorSpy.isEmpty()); // Session tells with error about invalidated configuration
sessionError = qvariant_cast<QNetworkSession::SessionError> (errorSpy.first().at(0));
- qDebug() << "Error code is: " << sessionError;
QVERIFY(sessionError == QNetworkSession::InvalidConfigurationError);
-
qDebug() << "Turn the WLAN IAP back on (waiting 60 seconds): " << definedConfig.name();
QTest::qWait(60000);
- updateConfigurations();
-
+ updateConfigurations();
QVERIFY(definedConfig.state() == QNetworkConfiguration::Discovered);
}
-
- QNetworkConfiguration invalidatedConfig = suitableConfiguration("WLAN",QNetworkConfiguration::InternetAccessPoint);
- if (invalidatedConfig.isValid()) {
- // 4. Verify that invalidating a session after its successfully configured works
- QNetworkSession invalidatedSession(invalidatedConfig);
- QSignalSpy errorSpy(&invalidatedSession, SIGNAL(error(QNetworkSession::SessionError)));
- QNetworkSession::SessionError sessionError;
-
- qDebug() << "Delete the WLAN IAP from phone now (waiting 60 seconds): " << invalidatedConfig.name();
- QTest::qWait(60000);
-
- invalidatedSession.open();
- QVERIFY(!invalidatedConfig.isValid());
- QVERIFY(invalidatedSession.state() == QNetworkSession::Invalid);
- QVERIFY(!errorSpy.isEmpty());
-
- sessionError = qvariant_cast<QNetworkSession::SessionError> (errorSpy.first().at(0));
- QVERIFY(sessionError == QNetworkSession::InvalidConfigurationError);
- qDebug() << "Add the WLAN IAP back (waiting 60 seconds): " << invalidatedConfig.name();
- QTest::qWait(60000);
- }
+
#endif
}
@@ -337,12 +351,12 @@ void tst_QNetworkSession::sessionProperties_data()
void tst_QNetworkSession::sessionProperties()
{
+ if (!testsToRun["sessionProperties"]) {
+ QSKIP("Temporary skip due to value set false (or it is missing) in testsToRun map", SkipAll);
+ }
QFETCH(QNetworkConfiguration, configuration);
-
QNetworkSession session(configuration);
-
QVERIFY(session.configuration() == configuration);
-
QStringList validBearerNames = QStringList() << QLatin1String("Unknown")
<< QLatin1String("Ethernet")
<< QLatin1String("WLAN")
@@ -356,9 +370,6 @@ void tst_QNetworkSession::sessionProperties()
if (!configuration.isValid()) {
QVERIFY(configuration.bearerName().isEmpty());
} else {
- qDebug() << "Type:" << configuration.type()
- << "Bearer:" << configuration.bearerName();
-
switch (configuration.type())
{
case QNetworkConfiguration::ServiceNetwork:
@@ -374,9 +385,7 @@ void tst_QNetworkSession::sessionProperties()
// QNetworkSession::interface() should return an invalid interface unless
// session is in the connected state.
- qDebug() << "Session state:" << session.state();
#ifndef QT_NO_NETWORKINTERFACE
- qDebug() << "Session iface:" << session.interface().isValid() << session.interface().name();
#if !(defined(Q_OS_SYMBIAN) && defined(__WINS__))
// On Symbian emulator, the support for data bearers is limited
QCOMPARE(session.state() == QNetworkSession::Connected, session.interface().isValid());
@@ -420,7 +429,12 @@ void tst_QNetworkSession::repeatedOpenClose_data() {
}
// Tests repeated-open close.
-void tst_QNetworkSession::repeatedOpenClose() {
+void tst_QNetworkSession::repeatedOpenClose()
+{
+ if (!testsToRun["repeatedOpenClose"]) {
+ QSKIP("Temporary skip due to value set false (or it is missing) in testsToRun map", SkipAll);
+ }
+
QFETCH(QString, bearerType);
QFETCH(QNetworkConfiguration::Type, configurationType);
QFETCH(int, repeatTimes);
@@ -436,13 +450,20 @@ void tst_QNetworkSession::repeatedOpenClose() {
!closeSession(&permanentSession)) {
QSKIP("Unable to open/close session, skipping this round of repeated open-close test.", SkipSingle);
}
- for (int i = repeatTimes; i > 0; i--) {
+ for (int i = 0; i < repeatTimes; i++) {
+ qDebug() << "Opening, loop number " << i;
QVERIFY(openSession(&permanentSession));
+ qDebug() << "Closing, loop number, then waiting 5 seconds: " << i;
QVERIFY(closeSession(&permanentSession));
+ QTest::qWait(5000);
}
}
-void tst_QNetworkSession::roamingErrorCodes() {
+void tst_QNetworkSession::roamingErrorCodes()
+{
+ if (!testsToRun["roamingErrorCodes"]) {
+ QSKIP("Temporary skip due to value set false (or it is missing) in testsToRun map", SkipAll);
+ }
#ifndef Q_OS_SYMBIAN
QSKIP("Roaming supported on Symbian.", SkipAll);
#else
@@ -466,41 +487,11 @@ void tst_QNetworkSession::roamingErrorCodes() {
adminIapSession.stop(); // requires NetworkControl capabilities
QTRY_VERIFY(!errorSpy.isEmpty()); // wait for error signals
QNetworkSession::SessionError error = qvariant_cast<QNetworkSession::SessionError>(errorSpy.first().at(0));
+ QTest::qWait(2000); // Wait for a moment to all platform signals to propagate
QVERIFY(error == QNetworkSession::SessionAbortedError);
QVERIFY(iapSession.state() == QNetworkSession::Disconnected);
QVERIFY(adminIapSession.state() == QNetworkSession::Disconnected);
#endif // Q_OS_SYMBIAN
-
-#ifdef QNETWORKSESSION_MANUAL_TESTS
- // Check for roaming error.
- // Case requires that you have controllable WLAN in Internet SNAP (only).
- QNetworkConfiguration snapConfig = suitableConfiguration("bearer_not_relevant_with_snaps", QNetworkConfiguration::ServiceNetwork);
- if (!snapConfig.isValid()) {
- QSKIP("No SNAP accessible, skipping test.", SkipAll);
- }
- QNetworkSession snapSession(snapConfig);
- QVERIFY(openSession(&snapSession));
- QSignalSpy errorSpySnap(&snapSession, SIGNAL(error(QNetworkSession::SessionError)));
- qDebug("Disconnect the WLAN now");
- QTRY_VERIFY(!errorSpySnap.isEmpty()); // wait for error signals
- QVERIFY(errorSpySnap.count() == 1);
- error = qvariant_cast<QNetworkSession::SessionError>(errorSpySnap.first().at(0));
- qDebug() << "Error received when turning off wlan on SNAP: " << error;
- QVERIFY(error == QNetworkSession::RoamingError);
-
- qDebug("Connect the WLAN now");
- QTest::qWait(60000); // Wait for WLAN to get up
- QNetworkConfiguration wlanIapConfig2 = suitableConfiguration("WLAN", QNetworkConfiguration::InternetAccessPoint);
- QNetworkSession iapSession2(wlanIapConfig2);
- QVERIFY(openSession(&iapSession2));
- QSignalSpy errorSpy2(&iapSession2, SIGNAL(error(QNetworkSession::SessionError)));
- qDebug("Disconnect the WLAN now");
- QTRY_VERIFY(!errorSpy2.isEmpty()); // wait for error signals
- QVERIFY(errorSpy2.count() == 1);
- error = qvariant_cast<QNetworkSession::SessionError>(errorSpy2.first().at(0));
- QVERIFY(error == QNetworkSession::SessionAbortedError);
- QVERIFY(iapSession2.state() == QNetworkSession::Disconnected);
-#endif
}
@@ -515,6 +506,9 @@ void tst_QNetworkSession::sessionStop_data() {
void tst_QNetworkSession::sessionStop()
{
+ if (!testsToRun["sessionStop"]) {
+ QSKIP("Temporary skip due to value set false (or it is missing) in testsToRun map", SkipAll);
+ }
#ifndef Q_OS_SYMBIAN
QSKIP("Testcase contains mainly Symbian specific checks, because it is only platform to really support interface (IAP-level) Stop.", SkipAll);
#endif
@@ -522,6 +516,9 @@ void tst_QNetworkSession::sessionStop()
QFETCH(QNetworkConfiguration::Type, configurationType);
int configWaitdelayInMs = 2000;
+
+ updateConfigurations();
+ printConfigurations();
QNetworkConfiguration config = suitableConfiguration(bearerType, configurationType);
if (!config.isValid()) {
@@ -539,6 +536,9 @@ void tst_QNetworkSession::sessionStop()
QSignalSpy closedSessionStateChangedSpy(&closedSession, SIGNAL(stateChanged(QNetworkSession::State)));
QSignalSpy closedErrorSpy(&closedSession, SIGNAL(error(QNetworkSession::SessionError)));
+ QSignalSpy openedSessionClosedSpy(&openedSession, SIGNAL(closed()));
+ QSignalSpy openedSessionStateChangedSpy(&openedSession, SIGNAL(stateChanged(QNetworkSession::State)));
+
QSignalSpy innocentSessionClosedSpy(&innocentSession, SIGNAL(closed()));
QSignalSpy innocentSessionStateChangedSpy(&innocentSession, SIGNAL(stateChanged(QNetworkSession::State)));
QSignalSpy innocentErrorSpy(&innocentSession, SIGNAL(error(QNetworkSession::SessionError)));
@@ -554,10 +554,18 @@ void tst_QNetworkSession::sessionStop()
closedSessionClosedSpy.clear();
closedSessionStateChangedSpy.clear();
closedErrorSpy.clear();
+ openedSessionStateChangedSpy.clear();
+ openedSessionClosedSpy.clear();
+
openedSession.stop();
- QVERIFY(openedSession.state() == QNetworkSession::Disconnected);
+ qDebug("Waiting for %d ms to get all configurationChange signals from platform.", configWaitdelayInMs);
QTest::qWait(configWaitdelayInMs); // Wait to get all relevant configurationChange() signals
+
+ // First to closing, then to disconnected
+ QVERIFY(openedSessionStateChangedSpy.count() == 2);
+ QVERIFY(!openedSessionClosedSpy.isEmpty());
+ QVERIFY(openedSession.state() == QNetworkSession::Disconnected);
QVERIFY(config.state() != QNetworkConfiguration::Active);
// 2. Verify that stopping a session based on non-connected configuration does nothing
@@ -583,18 +591,20 @@ void tst_QNetworkSession::sessionStop()
// 3. Check that stopping a opened session affects also other opened session based on the same configuration.
if (config.type() == QNetworkConfiguration::InternetAccessPoint) {
qDebug("----------3. Check that stopping a opened session affects also other opened session based on the same configuration.");
+
QVERIFY(openSession(&openedSession));
QVERIFY(openSession(&innocentSession));
-
+
configChangeSpy.clear();
innocentSessionClosedSpy.clear();
innocentSessionStateChangedSpy.clear();
innocentErrorSpy.clear();
-
+
openedSession.stop();
qDebug("Waiting for %d ms to get all configurationChange signals from platform.", configWaitdelayInMs);
QTest::qWait(configWaitdelayInMs); // Wait to get all relevant configurationChange() signals
-
+ QTest::qWait(configWaitdelayInMs); // Wait to get all relevant configurationChange() signals
+
QVERIFY(!innocentSessionClosedSpy.isEmpty());
QVERIFY(!innocentSessionStateChangedSpy.isEmpty());
QVERIFY(!innocentErrorSpy.isEmpty());
@@ -614,14 +624,19 @@ void tst_QNetworkSession::sessionStop()
if (config.type() == QNetworkConfiguration::ServiceNetwork) {
qDebug("----------4. Skip for SNAP configuration.");
} else if (config.type() == QNetworkConfiguration::InternetAccessPoint) {
- qDebug("----------4. Check that stopping a non-opened session stops the other session based on the same configuration");
- QVERIFY(openSession(&innocentSession));
+ qDebug("----------4. Check that stopping a non-opened session stops the other session based on the same configuration");
+ qDebug("----------4.1 Opening innocent session");
+ QVERIFY(openSession(&innocentSession));
qDebug("Waiting for %d ms after open to make sure all platform indications are propagated", configWaitdelayInMs);
QTest::qWait(configWaitdelayInMs);
+ qDebug("----------4.2 Calling closedSession.stop()");
closedSession.stop();
qDebug("Waiting for %d ms to get all configurationChange signals from platform..", configWaitdelayInMs);
QTest::qWait(configWaitdelayInMs); // Wait to get all relevant configurationChange() signals
+ QTest::qWait(configWaitdelayInMs);
+ QTest::qWait(configWaitdelayInMs);
+
QVERIFY(!innocentSessionClosedSpy.isEmpty());
QVERIFY(!innocentSessionStateChangedSpy.isEmpty());
QVERIFY(!innocentErrorSpy.isEmpty());
@@ -653,6 +668,9 @@ void tst_QNetworkSession::userChoiceSession_data()
void tst_QNetworkSession::userChoiceSession()
{
+ if (!testsToRun["userChoiceSession"]) {
+ QSKIP("Temporary skip due to value set false (or it is missing) in testsToRun map", SkipAll);
+ }
QFETCH(QNetworkConfiguration, configuration);
QVERIFY(configuration.type() == QNetworkConfiguration::UserChoice);
@@ -682,7 +700,20 @@ void tst_QNetworkSession::userChoiceSession()
session.open();
+#if defined(Q_OS_SYMBIAN)
+ // Opening & closing multiple connections in a row sometimes
+ // results hanging of connection opening on Symbian devices
+ // => If first open fails, wait a moment and try again.
+ if (!session.waitForOpened()) {
+ qDebug("**** Session open Timeout - Wait 5 seconds and try once again ****");
+ session.close();
+ QTest::qWait(5000); // Wait a while before trying to open session again
+ session.open();
+ session.waitForOpened();
+ }
+#else
session.waitForOpened();
+#endif
if (session.isOpen())
QVERIFY(!sessionOpenedSpy.isEmpty() || !errorSpy.isEmpty());
@@ -786,6 +817,9 @@ void tst_QNetworkSession::sessionOpenCloseStop_data()
void tst_QNetworkSession::sessionOpenCloseStop()
{
+ if (!testsToRun["sessionOpenCloseStop"]) {
+ QSKIP("Temporary skip due to value set false (or it is missing) in testsToRun map", SkipAll);
+ }
QFETCH(QNetworkConfiguration, configuration);
QFETCH(bool, forceSessionStop);
@@ -818,7 +852,20 @@ void tst_QNetworkSession::sessionOpenCloseStop()
session.open();
+#if defined(Q_OS_SYMBIAN)
+ // Opening & closing multiple connections in a row sometimes
+ // results hanging of connection opening on Symbian devices
+ // => If first open fails, wait a moment and try again.
+ if (!session.waitForOpened()) {
+ qDebug("**** Session open Timeout - Wait 5 seconds and try once again ****");
+ session.close();
+ QTest::qWait(5000); // Wait a while before trying to open session again
+ session.open();
+ session.waitForOpened();
+ }
+#else
session.waitForOpened();
+#endif
if (session.isOpen())
QVERIFY(!sessionOpenedSpy.isEmpty() || !errorSpy.isEmpty());
@@ -894,26 +941,30 @@ void tst_QNetworkSession::sessionOpenCloseStop()
QVERIFY(session.error() == QNetworkSession::UnknownSessionError);
session2.open();
-
+
QTRY_VERIFY(!sessionOpenedSpy2.isEmpty() || !errorSpy2.isEmpty());
+ if (errorSpy2.isEmpty()) {
+ QVERIFY(session2.isOpen());
+ QVERIFY(session2.state() == QNetworkSession::Connected);
+ }
QVERIFY(session.isOpen());
- QVERIFY(session2.isOpen());
QVERIFY(session.state() == QNetworkSession::Connected);
- QVERIFY(session2.state() == QNetworkSession::Connected);
#ifndef QT_NO_NETWORKINTERFACE
#if !(defined(Q_OS_SYMBIAN) && defined(__WINS__))
// On Symbian emulator, the support for data bearers is limited
QVERIFY(session.interface().isValid());
#endif
- QCOMPARE(session.interface().hardwareAddress(), session2.interface().hardwareAddress());
- QCOMPARE(session.interface().index(), session2.interface().index());
+ if (errorSpy2.isEmpty()) {
+ QCOMPARE(session.interface().hardwareAddress(), session2.interface().hardwareAddress());
+ QCOMPARE(session.interface().index(), session2.interface().index());
+ }
#endif
}
sessionOpenedSpy2.clear();
- if (forceSessionStop) {
+ if (forceSessionStop && session2.isOpen()) {
// Test forcing the second session to stop the interface.
QNetworkSession::State previousState = session.state();
#ifdef Q_CC_NOKIAX86
@@ -922,15 +973,17 @@ void tst_QNetworkSession::sessionOpenCloseStop()
#else
bool expectStateChange = previousState != QNetworkSession::Disconnected;
#endif
-
session2.stop();
+ // QNetworkSession::stop() must result either closed() signal
+ // or error() signal
QTRY_VERIFY(!sessionClosedSpy2.isEmpty() || !errorSpy2.isEmpty());
-
QVERIFY(!session2.isOpen());
if (!errorSpy2.isEmpty()) {
- QVERIFY(!errorSpy.isEmpty());
+ // QNetworkSession::stop() resulted error() signal for session2
+ // => also session should emit error() signal
+ QTRY_VERIFY(!errorSpy.isEmpty());
// check for SessionAbortedError
QNetworkSession::SessionError error =
@@ -950,9 +1003,12 @@ void tst_QNetworkSession::sessionOpenCloseStop()
QVERIFY(errorSpy.isEmpty());
QVERIFY(errorSpy2.isEmpty());
-
+
+ // Wait for Disconnected state
+ QTRY_NOOP(session2.state() == QNetworkSession::Disconnected);
+
if (expectStateChange)
- QTRY_VERIFY(stateChangedSpy2.count() >= 2 || !errorSpy2.isEmpty());
+ QTRY_VERIFY(stateChangedSpy2.count() >= 1 || !errorSpy2.isEmpty());
if (!errorSpy2.isEmpty()) {
QVERIFY(session2.state() == previousState);
@@ -996,16 +1052,29 @@ void tst_QNetworkSession::sessionOpenCloseStop()
state = qvariant_cast<QNetworkSession::State>(stateChangedSpy2.at(3).at(0));
QVERIFY(state == QNetworkSession::Disconnected);
+
+ QTRY_VERIFY(session.state() == QNetworkSession::Roaming ||
+ session.state() == QNetworkSession::Connected ||
+ session.state() == QNetworkSession::Disconnected);
+
QTRY_VERIFY(stateChangedSpy.count() > 0);
- state = qvariant_cast<QNetworkSession::State>(stateChangedSpy.at(0).at(0));
+ state = qvariant_cast<QNetworkSession::State>(stateChangedSpy.at(stateChangedSpy.count() - 1).at(0));
+
if (state == QNetworkSession::Roaming) {
- QTRY_VERIFY(!errorSpy.isEmpty() || stateChangedSpy.count() > 1);
- if (stateChangedSpy.count() > 1 &&
- qvariant_cast<QNetworkSession::State>(stateChangedSpy.at(1).at(0)) ==
- QNetworkSession::Connected) {
- roamedSuccessfully = true;
+ QTRY_VERIFY(session.state() == QNetworkSession::Connected);
+ QTRY_VERIFY(session2.state() == QNetworkSession::Connected);
+ roamedSuccessfully = true;
+ } else if (state == QNetworkSession::Disconnected) {
+ QTRY_VERIFY(!errorSpy.isEmpty());
+ QTRY_VERIFY(session2.state() == QNetworkSession::Disconnected);
+ } else if (state == QNetworkSession::Connected) {
+ QTRY_VERIFY(errorSpy.isEmpty());
+ if (stateChangedSpy.count() > 1) {
+ state = qvariant_cast<QNetworkSession::State>(stateChangedSpy.at(stateChangedSpy.count() - 2).at(0));
+ QVERIFY(state == QNetworkSession::Roaming);
}
- }
+ roamedSuccessfully = true;
+ }
if (roamedSuccessfully) {
QString configId = session.sessionProperty("ActiveConfiguration").toString();
@@ -1013,37 +1082,36 @@ void tst_QNetworkSession::sessionOpenCloseStop()
QNetworkSession session3(config);
QSignalSpy errorSpy3(&session3, SIGNAL(error(QNetworkSession::SessionError)));
QSignalSpy sessionOpenedSpy3(&session3, SIGNAL(opened()));
-
session3.open();
- session3.waitForOpened();
-
+ session3.waitForOpened();
if (session.isOpen())
QVERIFY(!sessionOpenedSpy3.isEmpty() || !errorSpy3.isEmpty());
-
session.stop();
-
QTRY_VERIFY(session.state() == QNetworkSession::Disconnected);
- QTRY_VERIFY(session3.state() == QNetworkSession::Disconnected);
}
#ifndef Q_CC_NOKIAX86
if (!roamedSuccessfully)
QVERIFY(!errorSpy.isEmpty());
#endif
} else {
- QCOMPARE(stateChangedSpy2.count(), 2);
-
- QNetworkSession::State state =
- qvariant_cast<QNetworkSession::State>(stateChangedSpy2.at(0).at(0));
- QVERIFY(state == QNetworkSession::Closing);
-
- state = qvariant_cast<QNetworkSession::State>(stateChangedSpy2.at(1).at(0));
- QVERIFY(state == QNetworkSession::Disconnected);
+ QTest::qWait(2000); // Wait awhile to get all signals from platform
+
+ if (stateChangedSpy2.count() == 2) {
+ QNetworkSession::State state =
+ qvariant_cast<QNetworkSession::State>(stateChangedSpy2.at(0).at(0));
+ QVERIFY(state == QNetworkSession::Closing);
+ state = qvariant_cast<QNetworkSession::State>(stateChangedSpy2.at(1).at(0));
+ QVERIFY(state == QNetworkSession::Disconnected);
+ } else { // Assume .count() == 1
+ QCOMPARE(stateChangedSpy2.count(), 1);
+ QNetworkSession::State state = qvariant_cast<QNetworkSession::State>(stateChangedSpy2.at(0).at(0));
+ // Symbian version dependant.
+ QVERIFY(state == QNetworkSession::Disconnected);
+ }
}
QTRY_VERIFY(!sessionClosedSpy.isEmpty());
-
QTRY_VERIFY(session.state() == QNetworkSession::Disconnected);
- QTRY_VERIFY(session2.state() == QNetworkSession::Disconnected);
}
QVERIFY(errorSpy2.isEmpty());
@@ -1062,7 +1130,7 @@ void tst_QNetworkSession::sessionOpenCloseStop()
QVERIFY(!session.isOpen());
#endif
QVERIFY(!session2.isOpen());
- } else {
+ } else if (session2.isOpen()) {
// Test closing the second session.
{
int stateChangedCountBeforeClose = stateChangedSpy2.count();
@@ -1161,11 +1229,15 @@ QDebug operator<<(QDebug debug, const QList<QNetworkConfiguration> &list)
// at Discovered -state.
void tst_QNetworkSession::outOfProcessSession()
{
- qDebug() << "START";
-
+ if (!testsToRun["outOfProcessSession"]) {
+ QSKIP("Temporary skip due to value set false (or it is missing) in testsToRun map", SkipAll);
+ }
#if defined(Q_OS_SYMBIAN) && defined(__WINS__)
QSKIP("Symbian emulator does not support two [QR]PRocesses linking a dll (QtBearer.dll) with global writeable static data.", SkipAll);
#endif
+ updateConfigurations();
+ QTest::qWait(2000);
+
QNetworkConfigurationManager manager;
// Create a QNetworkConfigurationManager to detect configuration changes made in Lackey. This
// is actually the essence of this testcase - to check that platform mediates/reflects changes
@@ -1182,16 +1254,15 @@ void tst_QNetworkSession::outOfProcessSession()
QLocalServer::removeServer("tst_qnetworksession");
oopServer.listen("tst_qnetworksession");
- qDebug() << "starting lackey";
QProcess lackey;
lackey.start("lackey/lackey");
qDebug() << lackey.error() << lackey.errorString();
QVERIFY(lackey.waitForStarted());
- qDebug() << "waiting for connection";
+
QVERIFY(oopServer.waitForNewConnection(-1));
QLocalSocket *oopSocket = oopServer.nextPendingConnection();
- qDebug() << "got connection";
+
do {
QByteArray output;
@@ -1258,7 +1329,6 @@ void tst_QNetworkSession::outOfProcessSession()
default:
QSKIP("Lackey failed", SkipAll);
}
- qDebug("STOP");
}
// A convinience / helper function for testcases. Return the first matching configuration.
@@ -1269,6 +1339,7 @@ QNetworkConfiguration suitableConfiguration(QString bearerType, QNetworkConfigur
// Refresh configurations and derive configurations matching given parameters.
QNetworkConfigurationManager mgr;
QSignalSpy updateSpy(&mgr, SIGNAL(updateCompleted()));
+
mgr.updateConfigurations();
QTRY_NOOP(updateSpy.count() == 1);
if (updateSpy.count() != 1) {
@@ -1277,8 +1348,7 @@ QNetworkConfiguration suitableConfiguration(QString bearerType, QNetworkConfigur
}
QList<QNetworkConfiguration> discoveredConfigs = mgr.allConfigurations(QNetworkConfiguration::Discovered);
foreach(QNetworkConfiguration config, discoveredConfigs) {
- if ((config.state() & QNetworkConfiguration::Active) == QNetworkConfiguration::Active) {
- // qDebug() << "Dumping config because is active: " << config.name();
+ if ((config.state() & QNetworkConfiguration::Active) == QNetworkConfiguration::Active) {
discoveredConfigs.removeOne(config);
} else if (config.type() != configType) {
// qDebug() << "Dumping config because type (IAP/SNAP) mismatches: " << config.name();
@@ -1315,9 +1385,23 @@ void updateConfigurations()
QTRY_NOOP(updateSpy.count() == 1);
}
+// A convinience-function: updates and prints all available confiurations and their states
+void printConfigurations()
+{
+ QNetworkConfigurationManager manager;
+ QList<QNetworkConfiguration> allConfigs =
+ manager.allConfigurations();
+ qDebug("tst_QNetworkSession::printConfigurations QNetworkConfigurationManager gives following configurations: ");
+ foreach(QNetworkConfiguration config, allConfigs) {
+ qDebug() << "Name of the configuration: " << config.name();
+ qDebug() << "State of the configuration: " << config.state();
+ }
+}
+
// A convinience function for test-cases: opens the given configuration and return
// true if it was done gracefully.
bool openSession(QNetworkSession *session) {
+ bool result = true;
QNetworkConfigurationManager mgr;
QSignalSpy openedSpy(session, SIGNAL(opened()));
QSignalSpy stateChangeSpy(session, SIGNAL(stateChanged(QNetworkSession::State)));
@@ -1327,43 +1411,57 @@ bool openSession(QNetworkSession *session) {
// active by some other session
QNetworkConfiguration::StateFlags configInitState = session->configuration().state();
QNetworkSession::State sessionInitState = session->state();
+ qDebug() << "tst_QNetworkSession::openSession() name of the configuration to be opened: " << session->configuration().name();
+ qDebug() << "tst_QNetworkSession::openSession() state of the configuration to be opened: " << session->configuration().state();
+ qDebug() << "tst_QNetworkSession::openSession() state of the session to be opened: " << session->state();
if (session->isOpen() ||
!session->sessionProperty("ActiveConfiguration").toString().isEmpty()) {
qDebug("tst_QNetworkSession::openSession() failure: session was already open / active.");
- return false;
+ result = false;
} else {
session->open();
session->waitForOpened(120000); // Bringing interfaces up and down may take time at platform
}
+ QTest::qWait(5000); // Wait a moment to ensure all signals are propagated
// Check that connection opening went by the book. Add checks here if more strictness needed.
if (!session->isOpen()) {
qDebug("tst_QNetworkSession::openSession() failure: QNetworkSession::open() failed.");
- return false;
+ result = false;
}
if (openedSpy.count() != 1) {
qDebug("tst_QNetworkSession::openSession() failure: QNetworkSession::opened() - signal not received.");
- return false;
+ result = false;
}
if (!errorSpy.isEmpty()) {
qDebug("tst_QNetworkSession::openSession() failure: QNetworkSession::error() - signal was detected.");
- return false;
+ result = false;
}
if (sessionInitState != QNetworkSession::Connected &&
stateChangeSpy.isEmpty()) {
qDebug("tst_QNetworkSession::openSession() failure: QNetworkSession::stateChanged() - signals not detected.");
- return false;
+ result = false;
}
if (configInitState != QNetworkConfiguration::Active &&
configChangeSpy.isEmpty()) {
qDebug("tst_QNetworkSession::openSession() failure: QNetworkConfigurationManager::configurationChanged() - signals not detected.");
- return false;
+ result = false;
}
if (session->configuration().state() != QNetworkConfiguration::Active) {
qDebug("tst_QNetworkSession::openSession() failure: session's configuration is not in 'Active' -state.");
- return false;
+ qDebug() << "tst_QNetworkSession::openSession() state is: " << session->configuration().state();
+ result = false;
+ }
+ if (result == false) {
+ qDebug() << "tst_QNetworkSession::openSession() opening session failed.";
+ } else {
+ qDebug() << "tst_QNetworkSession::openSession() opening session succeeded.";
}
- return true;
+ qDebug() << "tst_QNetworkSession::openSession() name of the configuration is: " << session->configuration().name();
+ qDebug() << "tst_QNetworkSession::openSession() configuration state is: " << session->configuration().state();
+ qDebug() << "tst_QNetworkSession::openSession() session state is: " << session->state();
+
+ return result;
}
// Helper function for closing opened session. Performs checks that
@@ -1376,6 +1474,11 @@ bool closeSession(QNetworkSession *session, bool lastSessionOnConfiguration) {
qDebug("tst_QNetworkSession::closeSession() failure: NULL session given");
return false;
}
+
+ qDebug() << "tst_QNetworkSession::closeSession() name of the configuration to be closed: " << session->configuration().name();
+ qDebug() << "tst_QNetworkSession::closeSession() state of the configuration to be closed: " << session->configuration().state();
+ qDebug() << "tst_QNetworkSession::closeSession() state of the session to be closed: " << session->state();
+
if (session->state() != QNetworkSession::Connected ||
!session->isOpen()) {
qDebug("tst_QNetworkSession::closeSession() failure: session is not opened.");
@@ -1387,38 +1490,48 @@ bool closeSession(QNetworkSession *session, bool lastSessionOnConfiguration) {
QSignalSpy sessionErrorSpy(session, SIGNAL(error(QNetworkSession::SessionError)));
QSignalSpy configChangeSpy(&mgr, SIGNAL(configurationChanged(QNetworkConfiguration)));
+ bool result = true;
session->close();
+ QTest::qWait(5000); // Wait a moment so that all signals are propagated
if (!sessionErrorSpy.isEmpty()) {
qDebug("tst_QNetworkSession::closeSession() failure: QNetworkSession::error() received.");
- return false;
+ result = false;
}
if (sessionClosedSpy.count() != 1) {
qDebug("tst_QNetworkSession::closeSession() failure: QNetworkSession::closed() signal not received.");
- return false;
+ result = false;
}
if (lastSessionOnConfiguration &&
sessionStateChangedSpy.isEmpty()) {
qDebug("tst_QNetworkSession::closeSession() failure: QNetworkSession::stateChanged() signals not received.");
- return false;
+ result = false;
}
if (lastSessionOnConfiguration &&
session->state() != QNetworkSession::Disconnected) {
qDebug("tst_QNetworkSession::closeSession() failure: QNetworkSession is not in Disconnected -state");
- return false;
+ result = false;
}
QTRY_NOOP(!configChangeSpy.isEmpty());
if (lastSessionOnConfiguration &&
configChangeSpy.isEmpty()) {
qDebug("tst_QNetworkSession::closeSession() failure: QNetworkConfigurationManager::configurationChanged() - signal not detected.");
- return false;
+ result = false;
}
if (lastSessionOnConfiguration &&
session->configuration().state() == QNetworkConfiguration::Active) {
qDebug("tst_QNetworkSession::closeSession() failure: session's configuration is still in active state.");
- return false;
+ result = false;
}
- return true;
+ if (result == false) {
+ qDebug() << "tst_QNetworkSession::closeSession() closing session failed.";
+ } else {
+ qDebug() << "tst_QNetworkSession::closeSession() closing session succeeded.";
+ }
+ qDebug() << "tst_QNetworkSession::closeSession() name of the configuration is: " << session->configuration().name();
+ qDebug() << "tst_QNetworkSession::closeSession() configuration state is: " << session->configuration().state();
+ qDebug() << "tst_QNetworkSession::closeSession() session state is: " << session->state();
+ return result;
}
void tst_QNetworkSession::sessionAutoClose_data()
diff --git a/tests/auto/qobject/tst_qobject.pro b/tests/auto/qobject/tst_qobject.pro
index 0200f3ef08..1d6993ab52 100644
--- a/tests/auto/qobject/tst_qobject.pro
+++ b/tests/auto/qobject/tst_qobject.pro
@@ -16,6 +16,6 @@ wince*: {
}
symbian: {
addFiles.sources = signalbug.exe
- addFiles.path = \sys\bin
+ addFiles.path = \\sys\\bin
DEPLOYMENT += addFiles
}
diff --git a/tests/auto/qpixmapcache/tst_qpixmapcache.cpp b/tests/auto/qpixmapcache/tst_qpixmapcache.cpp
index f8951f5be2..70f2ac35bc 100644
--- a/tests/auto/qpixmapcache/tst_qpixmapcache.cpp
+++ b/tests/auto/qpixmapcache/tst_qpixmapcache.cpp
@@ -39,6 +39,7 @@
**
****************************************************************************/
+#define Q_TEST_QPIXMAPCACHE
#include <QtTest/QtTest>
@@ -152,6 +153,7 @@ void tst_QPixmapCache::setCacheLimit()
p1 = new QPixmap(2, 3);
key = QPixmapCache::insert(*p1);
QVERIFY(QPixmapCache::find(key, p1) != 0);
+ p1->detach(); // dectach so that the cache thinks no-one is using it.
QPixmapCache::setCacheLimit(0);
QVERIFY(QPixmapCache::find(key, p1) == 0);
QPixmapCache::setCacheLimit(1000);
@@ -169,6 +171,8 @@ void tst_QPixmapCache::setCacheLimit()
key = QPixmapCache::insert(*p1);
QVERIFY(QPixmapCache::find(key, &p2) != 0);
//we flush the cache
+ p1->detach();
+ p2.detach();
QPixmapCache::setCacheLimit(0);
QPixmapCache::setCacheLimit(1000);
QPixmapCache::Key key2 = QPixmapCache::insert(*p1);
@@ -180,21 +184,25 @@ void tst_QPixmapCache::setCacheLimit()
delete p1;
//Here we simulate the flushing when the app is idle
- /*QPixmapCache::clear();
+ QPixmapCache::clear();
QPixmapCache::setCacheLimit(originalCacheLimit);
p1 = new QPixmap(300, 300);
key = QPixmapCache::insert(*p1);
+ p1->detach();
QCOMPARE(getPrivate(key)->key, 1);
key2 = QPixmapCache::insert(*p1);
+ p1->detach();
key2 = QPixmapCache::insert(*p1);
+ p1->detach();
QPixmapCache::Key key3 = QPixmapCache::insert(*p1);
- QTest::qWait(32000);
+ p1->detach();
+ QPixmapCache::flushDetachedPixmaps();
key2 = QPixmapCache::insert(*p1);
QCOMPARE(getPrivate(key2)->key, 1);
//This old key is not valid anymore after the flush
QCOMPARE(getPrivate(key)->isValid, false);
QVERIFY(QPixmapCache::find(key, &p2) == 0);
- delete p1;*/
+ delete p1;
}
void tst_QPixmapCache::find()
@@ -225,12 +233,14 @@ void tst_QPixmapCache::find()
QPixmapCache::clear();
QPixmapCache::setCacheLimit(128);
- key = QPixmapCache::insert(p1);
+ QPixmap p4(10,10);
+ key = QPixmapCache::insert(p4);
+ p4.detach();
- //The int part of the API
+ QPixmap p5(10,10);
QList<QPixmapCache::Key> keys;
for (int i = 0; i < 4000; ++i)
- QPixmapCache::insert(p1);
+ QPixmapCache::insert(p5);
//at that time the first key has been erase because no more place in the cache
QVERIFY(QPixmapCache::find(key, &p1) == 0);
@@ -257,8 +267,10 @@ void tst_QPixmapCache::insert()
QPixmapCache::insert("0", p1);
// ditto
- for (int j = 0; j < numberOfKeys; ++j)
- QPixmapCache::insert(QString::number(j), p1);
+ for (int j = 0; j < numberOfKeys; ++j) {
+ QPixmap p3(10, 10);
+ QPixmapCache::insert(QString::number(j), p3);
+ }
int num = 0;
for (int k = 0; k < numberOfKeys; ++k) {
@@ -286,8 +298,10 @@ void tst_QPixmapCache::insert()
//The int part of the API
// make sure it doesn't explode
QList<QPixmapCache::Key> keys;
- for (int i = 0; i < numberOfKeys; ++i)
- keys.append(QPixmapCache::insert(p1));
+ for (int i = 0; i < numberOfKeys; ++i) {
+ QPixmap p3(10,10);
+ keys.append(QPixmapCache::insert(p3));
+ }
num = 0;
for (int k = 0; k < numberOfKeys; ++k) {
diff --git a/tests/auto/qprinter/tst_qprinter.cpp b/tests/auto/qprinter/tst_qprinter.cpp
index 49bddb2a0c..e908961fc9 100644
--- a/tests/auto/qprinter/tst_qprinter.cpp
+++ b/tests/auto/qprinter/tst_qprinter.cpp
@@ -64,11 +64,13 @@
Q_DECLARE_METATYPE(QRect)
-
+QT_FORWARD_DECLARE_CLASS(QPrinter)
//TESTED_CLASS=
//TESTED_FILES=
+#ifndef QT_NO_PRINTER
+
class tst_QPrinter : public QObject
{
Q_OBJECT
@@ -110,6 +112,7 @@ private slots:
void testCurrentPage();
void taskQTBUG4497_reusePrinterOnDifferentFiles();
+ void testPdfTitle();
private:
};
@@ -216,7 +219,6 @@ tst_QPrinter::tst_QPrinter()
tst_QPrinter::~tst_QPrinter()
{
-
}
// initTestCase will be executed once before the first testfunction is executed.
@@ -417,7 +419,7 @@ void tst_QPrinter::testMargins()
printer.setFullPage(fullpage);
printer.setPageSize((QPrinter::PageSize)pagesize);
if (withPainter)
- painter = new QPainter(&printer);
+ painter = new QPainter(&printer);
#ifdef QT3_SUPPORT
Q3PaintDeviceMetrics metrics(&printer);
@@ -1028,5 +1030,36 @@ void tst_QPrinter::testCurrentPage()
}
+void tst_QPrinter::testPdfTitle()
+{
+ // Check the document name is represented correctly in produced pdf
+ {
+ QPainter painter;
+ QPrinter printer;
+ // This string is just the UTF-8 encoding of the string: \()f &oslash; hiragana o
+ const char title[]={0x5c, 0x28, 0x29, 0x66, 0xc3, 0xb8, 0xe3, 0x81, 0x8a, 0x00};
+ printer.setOutputFileName("file.pdf");
+ printer.setDocName(QString::fromUtf8(title));
+ painter.begin(&printer);
+ painter.end();
+ }
+ QFile file("file.pdf");
+ QVERIFY(file.open(QIODevice::ReadOnly));
+ // The we expect the title to appear in the PDF as:
+ // ASCII('\title (') UTF16(\\\(\)f &oslash; hiragana o) ASCII(')').
+ // which has the following binary representation
+ const char expected[] = {
+ 0x2f, 0x54, 0x69, 0x74, 0x6c, 0x65, 0x20, 0x28, 0xfe,
+ 0xff, 0x00, 0x5c, 0x5c, 0x00, 0x5c, 0x28, 0x00, 0x5c,
+ 0x29, 0x00, 0x66, 0x00, 0xf8, 0x30, 0x4a, 0x29};
+ QVERIFY(file.readAll().contains(QByteArray(expected, 26)));
+}
+
QTEST_MAIN(tst_QPrinter)
#include "tst_qprinter.moc"
+
+#else //QT_NO_PRINTER
+
+QTEST_NOOP_MAIN
+
+#endif //QT_NO_PRINTER
diff --git a/tests/auto/qprocess/test/test.pro b/tests/auto/qprocess/test/test.pro
index e1afd22ecb..d555067f88 100644
--- a/tests/auto/qprocess/test/test.pro
+++ b/tests/auto/qprocess/test/test.pro
@@ -118,7 +118,7 @@ symbian: {
testProcessOutput.exe \
nospace.exe \
testSpaceInName.exe
- binDep.path = \sys\bin
+ binDep.path = \\sys\\bin
DEPLOYMENT += binDep
}
diff --git a/tests/auto/qprocess/testProcessEOF/testProcessEOF.pro b/tests/auto/qprocess/testProcessEOF/testProcessEOF.pro
index f40675937e..756bd23bb0 100644
--- a/tests/auto/qprocess/testProcessEOF/testProcessEOF.pro
+++ b/tests/auto/qprocess/testProcessEOF/testProcessEOF.pro
@@ -2,7 +2,7 @@ SOURCES = main.cpp
CONFIG -= qt app_bundle
CONFIG += console
-!win32-g++:win32:!equals(TEMPLATE_PREFIX, "vc"):QMAKE_CXXFLAGS += /GS-
+win32:!win32-g++*:!equals(TEMPLATE_PREFIX, "vc"):QMAKE_CXXFLAGS += /GS-
DESTDIR = ./
diff --git a/tests/auto/qpropertyanimation/tst_qpropertyanimation.cpp b/tests/auto/qpropertyanimation/tst_qpropertyanimation.cpp
index 849b8b2b2e..ea527ded08 100644
--- a/tests/auto/qpropertyanimation/tst_qpropertyanimation.cpp
+++ b/tests/auto/qpropertyanimation/tst_qpropertyanimation.cpp
@@ -133,6 +133,7 @@ private slots:
void twoAnimations();
void deletedInUpdateCurrentTime();
void totalDuration();
+ void zeroLoopCount();
};
tst_QPropertyAnimation::tst_QPropertyAnimation()
@@ -1214,6 +1215,29 @@ void tst_QPropertyAnimation::totalDuration()
QCOMPARE(anim.totalDuration(), 0);
}
+void tst_QPropertyAnimation::zeroLoopCount()
+{
+ DummyPropertyAnimation* anim;
+ anim = new DummyPropertyAnimation;
+ anim->setStartValue(0);
+ anim->setDuration(20);
+ anim->setLoopCount(0);
+
+ QSignalSpy runningSpy(anim, SIGNAL(stateChanged(QAbstractAnimation::State, QAbstractAnimation::State)));
+ QSignalSpy finishedSpy(anim, SIGNAL(finished()));
+
+ QCOMPARE(anim->state(), QAnimationGroup::Stopped);
+ QCOMPARE(anim->currentValue().toInt(), 0);
+ QCOMPARE(runningSpy.count(), 0);
+ QCOMPARE(finishedSpy.count(), 0);
+
+ anim->start();
+
+ QCOMPARE(anim->state(), QAnimationGroup::Stopped);
+ QCOMPARE(anim->currentValue().toInt(), 0);
+ QCOMPARE(runningSpy.count(), 0);
+ QCOMPARE(finishedSpy.count(), 0);
+}
QTEST_MAIN(tst_QPropertyAnimation)
#include "tst_qpropertyanimation.moc"
diff --git a/tests/auto/qscriptcontext/tst_qscriptcontext.cpp b/tests/auto/qscriptcontext/tst_qscriptcontext.cpp
index 100e195f42..617c183206 100644
--- a/tests/auto/qscriptcontext/tst_qscriptcontext.cpp
+++ b/tests/auto/qscriptcontext/tst_qscriptcontext.cpp
@@ -84,6 +84,7 @@ private slots:
void jsActivationObject();
void qobjectAsActivationObject();
void parentContextCallee_QT2270();
+ void popNativeContextScope();
};
tst_QScriptContext::tst_QScriptContext()
@@ -539,6 +540,50 @@ void tst_QScriptContext::pushAndPopContext()
}
}
+void tst_QScriptContext::popNativeContextScope()
+{
+ QScriptEngine eng;
+ QScriptContext *ctx = eng.pushContext();
+ QVERIFY(ctx->popScope().isObject()); // the activation object
+
+ QCOMPARE(ctx->scopeChain().size(), 1);
+ QVERIFY(ctx->scopeChain().at(0).strictlyEquals(eng.globalObject()));
+ // This was different in 4.5: scope and activation were decoupled
+ QVERIFY(ctx->activationObject().strictlyEquals(eng.globalObject()));
+
+ QVERIFY(!eng.evaluate("var foo = 123; function bar() {}").isError());
+ QVERIFY(eng.globalObject().property("foo").isNumber());
+ QVERIFY(eng.globalObject().property("bar").isFunction());
+
+ QScriptValue customScope = eng.newObject();
+ ctx->pushScope(customScope);
+ QCOMPARE(ctx->scopeChain().size(), 2);
+ QVERIFY(ctx->scopeChain().at(0).strictlyEquals(customScope));
+ QVERIFY(ctx->scopeChain().at(1).strictlyEquals(eng.globalObject()));
+ QVERIFY(ctx->activationObject().strictlyEquals(eng.globalObject()));
+ ctx->setActivationObject(customScope);
+ QVERIFY(ctx->activationObject().strictlyEquals(customScope));
+ QCOMPARE(ctx->scopeChain().size(), 2);
+ QVERIFY(ctx->scopeChain().at(0).strictlyEquals(customScope));
+ QEXPECT_FAIL("", "QTBUG-11012", Continue);
+ QVERIFY(ctx->scopeChain().at(1).strictlyEquals(eng.globalObject()));
+
+ QVERIFY(!eng.evaluate("baz = 456; var foo = 789; function barbar() {}").isError());
+ QEXPECT_FAIL("", "QTBUG-11012", Continue);
+ QVERIFY(eng.globalObject().property("baz").isNumber());
+ QVERIFY(customScope.property("foo").isNumber());
+ QVERIFY(customScope.property("barbar").isFunction());
+
+ QVERIFY(ctx->popScope().strictlyEquals(customScope));
+ QCOMPARE(ctx->scopeChain().size(), 1);
+ QEXPECT_FAIL("", "QTBUG-11012", Continue);
+ QVERIFY(ctx->scopeChain().at(0).strictlyEquals(eng.globalObject()));
+
+ // Need to push another object, otherwise we crash in popContext() (QTBUG-11012)
+ ctx->pushScope(customScope);
+ eng.popContext();
+}
+
void tst_QScriptContext::lineNumber()
{
QScriptEngine eng;
diff --git a/tests/auto/qscriptextqobject/tst_qscriptextqobject.cpp b/tests/auto/qscriptextqobject/tst_qscriptextqobject.cpp
index 09070e60f2..11813d865e 100644
--- a/tests/auto/qscriptextqobject/tst_qscriptextqobject.cpp
+++ b/tests/auto/qscriptextqobject/tst_qscriptextqobject.cpp
@@ -287,6 +287,8 @@ public:
{ m_qtFunctionInvoked = 15; m_actuals << v; return v; }
Q_INVOKABLE QVariantMap myInvokableWithVariantMapArg(const QVariantMap &vm)
{ m_qtFunctionInvoked = 16; m_actuals << vm; return vm; }
+ Q_INVOKABLE QVariantList myInvokableWithVariantListArg(const QVariantList &lst)
+ { m_qtFunctionInvoked = 62; m_actuals.append(QVariant(lst)); return lst; }
Q_INVOKABLE QList<int> myInvokableWithListOfIntArg(const QList<int> &lst)
{ m_qtFunctionInvoked = 17; m_actuals << qVariantFromValue(lst); return lst; }
Q_INVOKABLE QObject* myInvokableWithQObjectStarArg(QObject *obj)
@@ -535,6 +537,10 @@ private slots:
void emitAfterReceiverDeleted();
void inheritedSlots();
void enumerateMetaObject();
+ void nestedArrayAsSlotArgument_data();
+ void nestedArrayAsSlotArgument();
+ void nestedObjectAsSlotArgument_data();
+ void nestedObjectAsSlotArgument();
private:
QScriptEngine *m_engine;
@@ -3164,5 +3170,139 @@ void tst_QScriptExtQObject::enumerateMetaObject()
}
}
+void tst_QScriptExtQObject::nestedArrayAsSlotArgument_data()
+{
+ QTest::addColumn<QString>("program");
+ QTest::addColumn<QVariantList>("expected");
+
+ QTest::newRow("[[]]")
+ << QString::fromLatin1("[[]]")
+ << (QVariantList() << (QVariant(QVariantList())));
+ QTest::newRow("[[123]]")
+ << QString::fromLatin1("[[123]]")
+ << (QVariantList() << (QVariant(QVariantList() << 123)));
+ QTest::newRow("[[], 123]")
+ << QString::fromLatin1("[[], 123]")
+ << (QVariantList() << QVariant(QVariantList()) << 123);
+
+ // Cyclic
+ QTest::newRow("var a=[]; a.push(a)")
+ << QString::fromLatin1("var a=[]; a.push(a); a")
+ << (QVariantList() << QVariant(QVariantList()));
+ QTest::newRow("var a=[]; a.push(123, a)")
+ << QString::fromLatin1("var a=[]; a.push(123, a); a")
+ << (QVariantList() << 123 << QVariant(QVariantList()));
+ QTest::newRow("var a=[]; var b=[]; a.push(b); b.push(a)")
+ << QString::fromLatin1("var a=[]; var b=[]; a.push(b); b.push(a); a")
+ << (QVariantList() << QVariant(QVariantList() << QVariant(QVariantList())));
+ QTest::newRow("var a=[]; var b=[]; a.push(123, b); b.push(456, a)")
+ << QString::fromLatin1("var a=[]; var b=[]; a.push(123, b); b.push(456, a); a")
+ << (QVariantList() << 123 << QVariant(QVariantList() << 456 << QVariant(QVariantList())));
+}
+
+void tst_QScriptExtQObject::nestedArrayAsSlotArgument()
+{
+ QFETCH(QString, program);
+ QFETCH(QVariantList, expected);
+ QScriptValue a = m_engine->evaluate(program);
+ QVERIFY(!a.isError());
+ QVERIFY(a.isArray());
+ // Slot that takes QVariantList
+ {
+ QVERIFY(!m_engine->evaluate("myObject.myInvokableWithVariantListArg")
+ .call(QScriptValue(), QScriptValueList() << a).isError());
+ QCOMPARE(m_myObject->qtFunctionInvoked(), 62);
+ QCOMPARE(m_myObject->qtFunctionActuals().size(), 1);
+ QCOMPARE(m_myObject->qtFunctionActuals().at(0).type(), QVariant::List);
+ QCOMPARE(m_myObject->qtFunctionActuals().at(0).toList(), expected);
+ }
+ // Slot that takes QVariant
+ {
+ m_myObject->resetQtFunctionInvoked();
+ QVERIFY(!m_engine->evaluate("myObject.myInvokableWithVariantArg")
+ .call(QScriptValue(), QScriptValueList() << a).isError());
+ QCOMPARE(m_myObject->qtFunctionInvoked(), 15);
+ QCOMPARE(m_myObject->qtFunctionActuals().size(), 1);
+ QCOMPARE(m_myObject->qtFunctionActuals().at(0).type(), QVariant::List);
+ QCOMPARE(m_myObject->qtFunctionActuals().at(0).toList(), expected);
+ }
+}
+
+void tst_QScriptExtQObject::nestedObjectAsSlotArgument_data()
+{
+ QTest::addColumn<QString>("program");
+ QTest::addColumn<QVariantMap>("expected");
+
+ {
+ QVariantMap m;
+ m["a"] = QVariantMap();
+ QTest::newRow("{ a:{} }")
+ << QString::fromLatin1("({ a:{} })")
+ << m;
+ }
+ {
+ QVariantMap m, m2;
+ m2["b"] = 10;
+ m2["c"] = 20;
+ m["a"] = m2;
+ QTest::newRow("{ a:{b:10, c:20} }")
+ << QString::fromLatin1("({ a:{b:10, c:20} })")
+ << m;
+ }
+ {
+ QVariantMap m;
+ m["a"] = 10;
+ m["b"] = QVariantList() << 20 << 30;
+ QTest::newRow("{ a:10, b:[20, 30]}")
+ << QString::fromLatin1("({ a:10, b:[20,30]})")
+ << m;
+ }
+
+ // Cyclic
+ {
+ QVariantMap m;
+ m["p"] = QVariantMap();
+ QTest::newRow("var o={}; o.p=o")
+ << QString::fromLatin1("var o={}; o.p=o; o")
+ << m;
+ }
+ {
+ QVariantMap m;
+ m["p"] = 123;
+ m["q"] = QVariantMap();
+ QTest::newRow("var o={}; o.p=123; o.q=o")
+ << QString::fromLatin1("var o={}; o.p=123; o.q=o; o")
+ << m;
+ }
+}
+
+void tst_QScriptExtQObject::nestedObjectAsSlotArgument()
+{
+ QFETCH(QString, program);
+ QFETCH(QVariantMap, expected);
+ QScriptValue o = m_engine->evaluate(program);
+ QVERIFY(!o.isError());
+ QVERIFY(o.isObject());
+ // Slot that takes QVariantMap
+ {
+ QVERIFY(!m_engine->evaluate("myObject.myInvokableWithVariantMapArg")
+ .call(QScriptValue(), QScriptValueList() << o).isError());
+ QCOMPARE(m_myObject->qtFunctionInvoked(), 16);
+ QCOMPARE(m_myObject->qtFunctionActuals().size(), 1);
+ QCOMPARE(m_myObject->qtFunctionActuals().at(0).type(), QVariant::Map);
+ QCOMPARE(m_myObject->qtFunctionActuals().at(0).toMap(), expected);
+ }
+ // Slot that takes QVariant
+ {
+ m_myObject->resetQtFunctionInvoked();
+ QVERIFY(!m_engine->evaluate("myObject.myInvokableWithVariantArg")
+ .call(QScriptValue(), QScriptValueList() << o).isError());
+ QCOMPARE(m_myObject->qtFunctionInvoked(), 15);
+ QCOMPARE(m_myObject->qtFunctionActuals().size(), 1);
+ QCOMPARE(m_myObject->qtFunctionActuals().at(0).type(), QVariant::Map);
+ QCOMPARE(m_myObject->qtFunctionActuals().at(0).toMap(), expected);
+ }
+}
+
QTEST_MAIN(tst_QScriptExtQObject)
#include "tst_qscriptextqobject.moc"
diff --git a/tests/auto/qscriptvalue/tst_qscriptvalue.cpp b/tests/auto/qscriptvalue/tst_qscriptvalue.cpp
index aa9fa15e55..8aa4e711de 100644
--- a/tests/auto/qscriptvalue/tst_qscriptvalue.cpp
+++ b/tests/auto/qscriptvalue/tst_qscriptvalue.cpp
@@ -1270,7 +1270,7 @@ void tst_QScriptValue::toVariant_old()
QCOMPARE(opaque.toVariant(), var);
QScriptValue object = eng.newObject();
- QCOMPARE(object.toVariant(), QVariant(QString("[object Object]")));
+ QCOMPARE(object.toVariant(), QVariant(QVariantMap()));
QScriptValue qobject = eng.newQObject(this);
{
@@ -2296,7 +2296,7 @@ void tst_QScriptValue::getSetScriptClass()
QCOMPARE(obj.scriptClass(), (QScriptClass*)&testClass);
QVERIFY(obj.isObject());
QVERIFY(!obj.isVariant());
- QVERIFY(!obj.toVariant().isValid());
+ QCOMPARE(obj.toVariant(), QVariant(QVariantMap()));
}
{
QScriptValue obj = eng.newQObject(this);
@@ -3472,4 +3472,89 @@ void tst_QScriptValue::objectId()
QVERIFY(obj.strictlyEquals(eng.globalObject()));
}
+void tst_QScriptValue::nestedObjectToVariant_data()
+{
+ QTest::addColumn<QString>("program");
+ QTest::addColumn<QVariant>("expected");
+
+ // Array literals
+ QTest::newRow("[[]]")
+ << QString::fromLatin1("[[]]")
+ << QVariant(QVariantList() << (QVariant(QVariantList())));
+ QTest::newRow("[[123]]")
+ << QString::fromLatin1("[[123]]")
+ << QVariant(QVariantList() << (QVariant(QVariantList() << 123)));
+ QTest::newRow("[[], 123]")
+ << QString::fromLatin1("[[], 123]")
+ << QVariant(QVariantList() << QVariant(QVariantList()) << 123);
+
+ // Cyclic arrays
+ QTest::newRow("var a=[]; a.push(a)")
+ << QString::fromLatin1("var a=[]; a.push(a); a")
+ << QVariant(QVariantList() << QVariant(QVariantList()));
+ QTest::newRow("var a=[]; a.push(123, a)")
+ << QString::fromLatin1("var a=[]; a.push(123, a); a")
+ << QVariant(QVariantList() << 123 << QVariant(QVariantList()));
+ QTest::newRow("var a=[]; var b=[]; a.push(b); b.push(a)")
+ << QString::fromLatin1("var a=[]; var b=[]; a.push(b); b.push(a); a")
+ << QVariant(QVariantList() << QVariant(QVariantList() << QVariant(QVariantList())));
+ QTest::newRow("var a=[]; var b=[]; a.push(123, b); b.push(456, a)")
+ << QString::fromLatin1("var a=[]; var b=[]; a.push(123, b); b.push(456, a); a")
+ << QVariant(QVariantList() << 123 << QVariant(QVariantList() << 456 << QVariant(QVariantList())));
+
+ // Object literals
+ {
+ QVariantMap m;
+ m["a"] = QVariantMap();
+ QTest::newRow("{ a:{} }")
+ << QString::fromLatin1("({ a:{} })")
+ << QVariant(m);
+ }
+ {
+ QVariantMap m, m2;
+ m2["b"] = 10;
+ m2["c"] = 20;
+ m["a"] = m2;
+ QTest::newRow("{ a:{b:10, c:20} }")
+ << QString::fromLatin1("({ a:{b:10, c:20} })")
+ << QVariant(m);
+ }
+ {
+ QVariantMap m;
+ m["a"] = 10;
+ m["b"] = QVariantList() << 20 << 30;
+ QTest::newRow("{ a:10, b:[20, 30]}")
+ << QString::fromLatin1("({ a:10, b:[20,30]})")
+ << QVariant(m);
+ }
+
+ // Cyclic objects
+ {
+ QVariantMap m;
+ m["p"] = QVariantMap();
+ QTest::newRow("var o={}; o.p=o")
+ << QString::fromLatin1("var o={}; o.p=o; o")
+ << QVariant(m);
+ }
+ {
+ QVariantMap m;
+ m["p"] = 123;
+ m["q"] = QVariantMap();
+ QTest::newRow("var o={}; o.p=123; o.q=o")
+ << QString::fromLatin1("var o={}; o.p=123; o.q=o; o")
+ << QVariant(m);
+ }
+}
+
+void tst_QScriptValue::nestedObjectToVariant()
+{
+ QScriptEngine eng;
+ QFETCH(QString, program);
+ QFETCH(QVariant, expected);
+ QScriptValue o = eng.evaluate(program);
+ QVERIFY(!o.isError());
+ QVERIFY(o.isObject());
+ QCOMPARE(o.toVariant(), expected);
+}
+
QTEST_MAIN(tst_QScriptValue)
diff --git a/tests/auto/qscriptvalue/tst_qscriptvalue.h b/tests/auto/qscriptvalue/tst_qscriptvalue.h
index aae35b22ee..8bfaa6a944 100644
--- a/tests/auto/qscriptvalue/tst_qscriptvalue.h
+++ b/tests/auto/qscriptvalue/tst_qscriptvalue.h
@@ -225,6 +225,8 @@ private slots:
void engineDeleted();
void valueOfWithClosure();
void objectId();
+ void nestedObjectToVariant_data();
+ void nestedObjectToVariant();
private:
typedef void (tst_QScriptValue::*InitDataFunction)();
diff --git a/tests/auto/qsocketnotifier/qsocketnotifier.pro b/tests/auto/qsocketnotifier/qsocketnotifier.pro
index ec924c189b..c43c96aa74 100644
--- a/tests/auto/qsocketnotifier/qsocketnotifier.pro
+++ b/tests/auto/qsocketnotifier/qsocketnotifier.pro
@@ -6,5 +6,6 @@ requires(contains(QT_CONFIG,private_tests))
include(../qnativesocketengine/qsocketengine.pri)
+symbian: TARGET.CAPABILITY = NetworkServices
diff --git a/tests/auto/qsocks5socketengine/qsocks5socketengine.pro b/tests/auto/qsocks5socketengine/qsocks5socketengine.pro
index 4a32852092..62c0c875a2 100644
--- a/tests/auto/qsocks5socketengine/qsocks5socketengine.pro
+++ b/tests/auto/qsocks5socketengine/qsocks5socketengine.pro
@@ -10,7 +10,8 @@ MOC_DIR=tmp
QT = core network
# Symbian toolchain does not support correct include semantics
-symbian:INCPATH+=..\..\..\include\QtNetwork\private
+symbian:INCPATH+=..\\..\\..\\include\\QtNetwork\\private
+symbian: TARGET.CAPABILITY = NetworkServices
requires(contains(QT_CONFIG,private_tests))
diff --git a/tests/auto/qsortfilterproxymodel/tst_qsortfilterproxymodel.cpp b/tests/auto/qsortfilterproxymodel/tst_qsortfilterproxymodel.cpp
index 2339b212f3..53fefeedc8 100644
--- a/tests/auto/qsortfilterproxymodel/tst_qsortfilterproxymodel.cpp
+++ b/tests/auto/qsortfilterproxymodel/tst_qsortfilterproxymodel.cpp
@@ -127,6 +127,8 @@ private slots:
void sortColumnTracking1();
void sortColumnTracking2();
+ void sortStable();
+
void task236755_hiddenColumns();
void task247867_insertRowsSort();
void task248868_staticSorting();
@@ -138,6 +140,7 @@ private slots:
void taskQTBUG_6205_doubleProxySelectionSetSourceModel();
void taskQTBUG_7537_appearsAndSort();
void taskQTBUG_7716_unnecessaryDynamicSorting();
+ void taskQTBUG_10287_unnecessaryMapCreation();
void testMultipleProxiesWithSelection();
@@ -2441,6 +2444,40 @@ void tst_QSortFilterProxyModel::sortColumnTracking2()
QCOMPARE(proxyModel.data(proxyModel.index(strings.count()-1,0)).toString(),QString::fromLatin1("zz"));
}
+void tst_QSortFilterProxyModel::sortStable()
+{
+ QStandardItemModel* model = new QStandardItemModel(5, 2);
+ for (int r=0; r<5; r++) {
+ for (int c=0; c<2; c++) {
+ QStandardItem* item = new QStandardItem(
+ QString("Row:%0, Column:%1").arg(r).arg(c) );
+ for( int i=0; i<3; i++ ) {
+ QStandardItem* child = new QStandardItem(
+ QString("Item %0").arg(i) );
+ item->appendRow( child );
+ }
+ model->setItem(r, c, item);
+ }
+ }
+ model->setHorizontalHeaderItem( 0, new QStandardItem( "Name" ));
+ model->setHorizontalHeaderItem( 1, new QStandardItem( "Value" ) );
+
+
+ QSortFilterProxyModel *filterModel = new QSortFilterProxyModel(model);
+ filterModel->setSourceModel(model);
+
+ QTreeView *view = new QTreeView;
+ view->setModel(filterModel);
+ QModelIndex firstRoot = filterModel->index(0,0);
+ view->expand(firstRoot);
+ view->setSortingEnabled(true);
+
+ view->model()->sort(1, Qt::DescendingOrder);
+ QVariant lastItemData =filterModel->index(2,0, firstRoot).data();
+ view->model()->sort(1, Qt::DescendingOrder);
+ QCOMPARE(lastItemData, filterModel->index(2,0, firstRoot).data());
+}
+
void tst_QSortFilterProxyModel::task236755_hiddenColumns()
{
class MyStandardItemModel : public QStandardItemModel
@@ -3038,5 +3075,65 @@ void tst_QSortFilterProxyModel::testMultipleProxiesWithSelection()
}
+class Model10287 : public QStandardItemModel
+{
+ Q_OBJECT
+
+public:
+ Model10287(QObject *parent = 0)
+ : QStandardItemModel(0, 1, parent)
+ {
+ parentItem = new QStandardItem("parent");
+ parentItem->setData(false, Qt::UserRole);
+ appendRow(parentItem);
+
+ childItem = new QStandardItem("child");
+ childItem->setData(true, Qt::UserRole);
+ parentItem->appendRow(childItem);
+
+ childItem2 = new QStandardItem("child2");
+ childItem2->setData(true, Qt::UserRole);
+ parentItem->appendRow(childItem2);
+ }
+
+ void removeChild()
+ {
+ childItem2->setData(false, Qt::UserRole);
+ parentItem->removeRow(0);
+ }
+
+private:
+ QStandardItem *parentItem, *childItem, *childItem2;
+};
+
+class Proxy10287 : public QSortFilterProxyModel
+{
+ Q_OBJECT
+
+public:
+ Proxy10287(QAbstractItemModel *model, QObject *parent = 0)
+ : QSortFilterProxyModel(parent)
+ {
+ setSourceModel(model);
+ setDynamicSortFilter(true);
+ }
+
+protected:
+ virtual bool filterAcceptsRow(int source_row, const QModelIndex &source_parent) const
+ {
+ // Filter based on UserRole in model
+ QModelIndex i = sourceModel()->index(source_row, 0, source_parent);
+ return i.data(Qt::UserRole).toBool();
+ }
+};
+
+void tst_QSortFilterProxyModel::taskQTBUG_10287_unnecessaryMapCreation()
+{
+ Model10287 m;
+ Proxy10287 p(&m);
+ m.removeChild();
+ // No assert failure, it passes.
+}
+
QTEST_MAIN(tst_QSortFilterProxyModel)
#include "tst_qsortfilterproxymodel.moc"
diff --git a/tests/auto/qsoundeffect/qsoundeffect.pro b/tests/auto/qsoundeffect/qsoundeffect.pro
deleted file mode 100644
index 5344a16bb6..0000000000
--- a/tests/auto/qsoundeffect/qsoundeffect.pro
+++ /dev/null
@@ -1,20 +0,0 @@
-load(qttest_p4)
-
-SOURCES += tst_qsoundeffect.cpp
-
-QT = core multimedia mediaservices
-
-wince* {
- deploy.sources += 4.wav
- DEPLOYMENT = deploy
- DEFINES += SRCDIR=\\\"\\\"
- QT += gui
-} else {
- DEFINES += SRCDIR=\\\"$$PWD/\\\"
-}
-
-unix:!mac {
- !contains(QT_CONFIG, pulseaudio) {
- DEFINES += QT_MULTIMEDIA_QMEDIAPLAYER
- }
-}
diff --git a/tests/auto/qsoundeffect/test.wav b/tests/auto/qsoundeffect/test.wav
deleted file mode 100644
index e4088a973a..0000000000
--- a/tests/auto/qsoundeffect/test.wav
+++ /dev/null
Binary files differ
diff --git a/tests/auto/qsoundeffect/tst_qsoundeffect.cpp b/tests/auto/qsoundeffect/tst_qsoundeffect.cpp
deleted file mode 100644
index e76a4c5bfe..0000000000
--- a/tests/auto/qsoundeffect/tst_qsoundeffect.cpp
+++ /dev/null
@@ -1,144 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the test suite of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-
-
-#include <QtTest/QtTest>
-#include <QtCore/qlocale.h>
-#include <qaudiooutput.h>
-#include <qaudiodeviceinfo.h>
-#include <qaudio.h>
-#include <private/qsoundeffect_p.h>
-
-
-class tst_QSoundEffect : public QObject
-{
- Q_OBJECT
-public:
- tst_QSoundEffect(QObject* parent=0) : QObject(parent) {}
-
-private slots:
- void initTestCase();
- void testSource();
- void testLooping();
- void testVolume();
- void testMuting();
-
-private:
- QSoundEffect* sound;
-};
-
-void tst_QSoundEffect::initTestCase()
-{
-#ifndef QT_MULTIMEDIA_QMEDIAPLAYER
- sound = new QSoundEffect;
-
- QVERIFY(sound->source().isEmpty());
- QVERIFY(sound->loops() == 1);
- QVERIFY(sound->volume() == 100);
- QVERIFY(sound->isMuted() == false);
-#endif
-}
-
-void tst_QSoundEffect::testSource()
-{
-#ifndef QT_MULTIMEDIA_QMEDIAPLAYER
- QSignalSpy readSignal(sound, SIGNAL(sourceChanged()));
-
- QUrl url = QUrl::fromLocalFile(QString("%1%2").arg(SRCDIR).arg("test.wav"));
- sound->setSource(url);
-
- QCOMPARE(sound->source(),url);
- QCOMPARE(readSignal.count(),1);
-
- QTestEventLoop::instance().enterLoop(1);
- sound->play();
-
- QTest::qWait(3000);
-#endif
-}
-
-void tst_QSoundEffect::testLooping()
-{
-#ifndef QT_MULTIMEDIA_QMEDIAPLAYER
- QSignalSpy readSignal(sound, SIGNAL(loopsChanged()));
-
- sound->setLoops(5);
- QCOMPARE(sound->loops(),5);
-
- sound->play();
-
- // test.wav is about 200ms, wait until it has finished playing 5 times
- QTest::qWait(3000);
-#endif
-}
-
-void tst_QSoundEffect::testVolume()
-{
-#ifndef QT_MULTIMEDIA_QMEDIAPLAYER
- QSignalSpy readSignal(sound, SIGNAL(volumeChanged()));
-
- sound->setVolume(50);
- QCOMPARE(sound->volume(),50);
-
- QTest::qWait(20);
- QCOMPARE(readSignal.count(),1);
-#endif
-}
-
-void tst_QSoundEffect::testMuting()
-{
-#ifndef QT_MULTIMEDIA_QMEDIAPLAYER
- QSignalSpy readSignal(sound, SIGNAL(mutedChanged()));
-
- sound->setMuted(true);
- QCOMPARE(sound->isMuted(),true);
-
- QTest::qWait(20);
- QCOMPARE(readSignal.count(),1);
-
- delete sound;
-#endif
-}
-
-QTEST_MAIN(tst_QSoundEffect)
-
-#include "tst_qsoundeffect.moc"
diff --git a/tests/auto/qsqldriver/qsqldriver.pro b/tests/auto/qsqldriver/qsqldriver.pro
index d04ca83560..2e9ed67369 100644
--- a/tests/auto/qsqldriver/qsqldriver.pro
+++ b/tests/auto/qsqldriver/qsqldriver.pro
@@ -9,7 +9,7 @@ wince*: {
DEPLOYMENT += plugFiles
LIBS += -lws2
} else {
- win32-g++ {
+ win32-g++* {
LIBS += -lws2_32
} else:win32 {
LIBS += ws2_32.lib
diff --git a/tests/auto/qsqlrelationaltablemodel/qsqlrelationaltablemodel.pro b/tests/auto/qsqlrelationaltablemodel/qsqlrelationaltablemodel.pro
index ee4f2f08c3..c6681d53b3 100644
--- a/tests/auto/qsqlrelationaltablemodel/qsqlrelationaltablemodel.pro
+++ b/tests/auto/qsqlrelationaltablemodel/qsqlrelationaltablemodel.pro
@@ -17,7 +17,7 @@ wince*: {
}
}
} else {
- win32-g++ {
+ win32-g++* {
LIBS += -lws2_32
} else:win32 {
LIBS += ws2_32.lib
diff --git a/tests/auto/qsslcertificate/more-certificates/cert-large-serial-number.pem b/tests/auto/qsslcertificate/more-certificates/cert-large-serial-number.pem
new file mode 100644
index 0000000000..ecb6c35632
--- /dev/null
+++ b/tests/auto/qsslcertificate/more-certificates/cert-large-serial-number.pem
@@ -0,0 +1,14 @@
+-----BEGIN CERTIFICATE-----
+MIICGjCCAYMCFAECAwQFBgcICRCqu8zd7v8XGBkgMA0GCSqGSIb3DQEBBQUAMEwx
+CzAJBgNVBAYTAkdCMRIwEAYDVQQIEwlCZXJrc2hpcmUxEDAOBgNVBAcTB05ld2J1
+cnkxFzAVBgNVBAoTDk15IENvbXBhbnkgTHRkMB4XDTEwMDYwMTE1MDI0MVoXDTEx
+MDYwMTE1MDI0MVowTDELMAkGA1UEBhMCR0IxEjAQBgNVBAgTCUJlcmtzaGlyZTEQ
+MA4GA1UEBxMHTmV3YnVyeTEXMBUGA1UEChMOTXkgQ29tcGFueSBMdGQwgZ8wDQYJ
+KoZIhvcNAQEBBQADgY0AMIGJAoGBAM2q22/WNMmn8cC+5EEYGeICySLmp9W6Ay6e
+KHr0Xxp3X3epETuPfvAuxp7rOtkS18EMUegkUj8jw0IMEcbyHKFC/rTCaYOt93Cx
+GBXMIChiMPAsFeYzGa/D6xzAkfcRaJRQ+Ek3CDLXPnXfo7xpABXezYcPXAJrgsgB
+fWrwHdxzAgMBAAEwDQYJKoZIhvcNAQEFBQADgYEAtlScqSn4IHFLRiQYQdfOgsPi
+wdqD1MPZEniQE0Xp8McZ7kuYbGgdEqzeVgMHqitlzkNNtTz+2u37CbFNXDGCTy5D
+2JCgZxaAWNkh1w+4VB91HfMwEU0MqvAO7SB31FwbKNaB3gVnua++NL1cAkujyRny
+yR3PatYZCfESQ7oZgds=
+-----END CERTIFICATE-----
diff --git a/tests/auto/qsslcertificate/qsslcertificate.pro b/tests/auto/qsslcertificate/qsslcertificate.pro
index b237f2e5e9..d7671ea23e 100644
--- a/tests/auto/qsslcertificate/qsslcertificate.pro
+++ b/tests/auto/qsslcertificate/qsslcertificate.pro
@@ -24,4 +24,5 @@ wince*: {
DEFINES += SRCDIR=\\\".\\\"
} else:!symbian {
DEFINES += SRCDIR=\\\"$$PWD/\\\"
+ TARGET.CAPABILITY = NetworkServices
}
diff --git a/tests/auto/qsslcertificate/tst_qsslcertificate.cpp b/tests/auto/qsslcertificate/tst_qsslcertificate.cpp
index c76c11fe56..d0509bb35e 100644
--- a/tests/auto/qsslcertificate/tst_qsslcertificate.cpp
+++ b/tests/auto/qsslcertificate/tst_qsslcertificate.cpp
@@ -109,6 +109,7 @@ private slots:
void task256066toPem();
void nulInCN();
void nulInSan();
+ void largeSerialNumber();
// ### add tests for certificate bundles (multiple certificates concatenated into a single
// structure); both PEM and DER formatted
#endif
@@ -541,6 +542,9 @@ void tst_QSslCertificate::fromPath_data()
QTest::newRow("\"d.*/c.*.pem\" regexp der") << QString("d.*/c.*.pem") << int(QRegExp::RegExp) << false << 0;
QTest::newRow("\"d.*/c.*.pem\" wildcard pem") << QString("d.*/c.*.pem") << int(QRegExp::Wildcard) << true << 0;
QTest::newRow("\"d.*/c.*.pem\" wildcard der") << QString("d.*/c.*.pem") << int(QRegExp::Wildcard) << false << 0;
+#ifdef Q_OS_LINUX
+ QTest::newRow("absolute path wildcard pem") << QString(QDir::currentPath() + "/certificates/*.pem") << int(QRegExp::Wildcard) << true << 4;
+#endif
QTest::newRow("trailing-whitespace") << QString("more-certificates/trailing-whitespace.pem") << int(QRegExp::FixedString) << true << 1;
QTest::newRow("no-ending-newline") << QString("more-certificates/no-ending-newline.pem") << int(QRegExp::FixedString) << true << 1;
@@ -786,6 +790,18 @@ void tst_QSslCertificate::nulInSan()
QCOMPARE(dnssan, QString::fromLatin1(realSAN, sizeof realSAN - 1));
}
+void tst_QSslCertificate::largeSerialNumber()
+{
+ QList<QSslCertificate> certList =
+ QSslCertificate::fromPath(SRCDIR "more-certificates/cert-large-serial-number.pem");
+
+ QCOMPARE(certList.size(), 1);
+
+ const QSslCertificate &cert = certList.at(0);
+ QVERIFY(!cert.isNull());
+ QCOMPARE(cert.serialNumber(), QByteArray("01:02:03:04:05:06:07:08:09:10:aa:bb:cc:dd:ee:ff:17:18:19:20"));
+}
+
#endif // QT_NO_OPENSSL
QTEST_MAIN(tst_QSslCertificate)
diff --git a/tests/auto/qsslcipher/qsslcipher.pro b/tests/auto/qsslcipher/qsslcipher.pro
index 6eae588155..78fd387069 100644
--- a/tests/auto/qsslcipher/qsslcipher.pro
+++ b/tests/auto/qsslcipher/qsslcipher.pro
@@ -14,4 +14,5 @@ win32 {
}
}
+symbian: TARGET.CAPABILITY = NetworkServices
diff --git a/tests/auto/qsslerror/qsslerror.pro b/tests/auto/qsslerror/qsslerror.pro
index ee5872b98c..5b907fb600 100644
--- a/tests/auto/qsslerror/qsslerror.pro
+++ b/tests/auto/qsslerror/qsslerror.pro
@@ -14,4 +14,5 @@ win32 {
}
}
+symbian: TARGET.CAPABILITY = NetworkServices
diff --git a/tests/auto/qsslkey/qsslkey.pro b/tests/auto/qsslkey/qsslkey.pro
index 32138f84f9..dff0db1b91 100644
--- a/tests/auto/qsslkey/qsslkey.pro
+++ b/tests/auto/qsslkey/qsslkey.pro
@@ -17,11 +17,16 @@ win32 {
wince*|symbian: {
keyFiles.sources = keys
keyFiles.path = .
- DEPLOYMENT += keyFiles
+
+ passphraseFiles.sources = rsa-without-passphrase.pem rsa-with-passphrase.pem
+ passphraseFiles.path = .
+
+ DEPLOYMENT += keyFiles passphraseFiles
}
wince*: {
DEFINES += SRCDIR=\\\".\\\"
} else:!symbian {
DEFINES+= SRCDIR=\\\"$$PWD\\\"
+ TARGET.CAPABILITY = NetworkServices
}
diff --git a/tests/auto/qsslkey/tst_qsslkey.cpp b/tests/auto/qsslkey/tst_qsslkey.cpp
index 3c8ae11b2c..0e39919d6c 100644
--- a/tests/auto/qsslkey/tst_qsslkey.cpp
+++ b/tests/auto/qsslkey/tst_qsslkey.cpp
@@ -50,7 +50,7 @@
#ifdef Q_OS_SYMBIAN
// In Symbian OS test data is located in applications private dir
// Current path (C:\private\<UID>) contains only ascii chars
-#define SRCDIR QDir::currentPath().toAscii()
+#define SRCDIR "."
#endif
class tst_QSslKey : public QObject
@@ -167,9 +167,9 @@ void tst_QSslKey::emptyConstructor()
QCOMPARE(key, key2);
}
-Q_DECLARE_METATYPE(QSsl::KeyAlgorithm);
-Q_DECLARE_METATYPE(QSsl::KeyType);
-Q_DECLARE_METATYPE(QSsl::EncodingFormat);
+Q_DECLARE_METATYPE(QSsl::KeyAlgorithm)
+Q_DECLARE_METATYPE(QSsl::KeyType)
+Q_DECLARE_METATYPE(QSsl::EncodingFormat)
void tst_QSslKey::createPlainTestRows()
{
diff --git a/tests/auto/qsslsocket/qsslsocket.pro b/tests/auto/qsslsocket/qsslsocket.pro
index 541b2d9587..3557fc8969 100644
--- a/tests/auto/qsslsocket/qsslsocket.pro
+++ b/tests/auto/qsslsocket/qsslsocket.pro
@@ -24,7 +24,7 @@ wince* {
} else:symbian {
DEFINES += QSSLSOCKET_CERTUNTRUSTED_WORKAROUND
TARGET.EPOCHEAPSIZE="0x100 0x1000000"
- TARGET.CAPABILITY="ALL -TCB"
+ TARGET.CAPABILITY=NetworkServices
certFiles.sources = certs ssl.tar.gz
certFiles.path = .
diff --git a/tests/auto/qstatictext/tst_qstatictext.cpp b/tests/auto/qstatictext/tst_qstatictext.cpp
index c7801acd1c..1d166f49e5 100644
--- a/tests/auto/qstatictext/tst_qstatictext.cpp
+++ b/tests/auto/qstatictext/tst_qstatictext.cpp
@@ -324,8 +324,7 @@ bool tst_QStaticText::supportsTransformations() const
QPaintEngine::Type type = engine->type();
- if (type == QPaintEngine::OpenGL2
- || type == QPaintEngine::OpenGL
+ if (type == QPaintEngine::OpenGL
#if !defined Q_WS_WIN
|| type == QPaintEngine::Raster
#endif
@@ -471,7 +470,7 @@ void tst_QStaticText::transformationChanged()
p.drawText(QRectF(0, 0, 1000, 1000), 0, "Lorem ipsum dolor sit amet, consectetur adipiscing elit.");
- p.scale(7.0, 5.0);
+ p.scale(2.0, 2.5);
p.drawText(QRectF(0, 0, 1000, 1000), 0, "Lorem ipsum dolor sit amet, consectetur adipiscing elit.");
}
@@ -487,7 +486,7 @@ void tst_QStaticText::transformationChanged()
p.drawStaticText(QPointF(0, 0), text);
- p.scale(7.0, 5.0);
+ p.scale(2.0, 2.5);
p.drawStaticText(QPointF(0, 0), text);
}
diff --git a/tests/auto/qstring/tst_qstring.cpp b/tests/auto/qstring/tst_qstring.cpp
index 1bea4b77e8..c887936b4b 100644
--- a/tests/auto/qstring/tst_qstring.cpp
+++ b/tests/auto/qstring/tst_qstring.cpp
@@ -207,6 +207,7 @@ private slots:
void repeated() const;
void repeated_data() const;
void task262677remove();
+ void QTBUG10404_compareRef();
};
typedef QList<int> IntList;
@@ -4828,6 +4829,38 @@ void tst_QString::task262677remove()
QVERIFY(driveName == QLatin1String("V:"));
}
+void tst_QString::QTBUG10404_compareRef()
+{
+ QString a = "ABCDEFGH";
+
+ QCOMPARE(QStringRef(&a, 1, 2).compare(QLatin1String("BC")), 0);
+ QVERIFY(QStringRef(&a, 1, 2).compare(QLatin1String("BCD")) < 0);
+ QCOMPARE(QStringRef(&a, 1, 2).compare(QLatin1String("Bc"), Qt::CaseInsensitive), 0);
+ QVERIFY(QStringRef(&a, 1, 2).compare(QLatin1String("bCD"), Qt::CaseInsensitive) < 0);
+
+ QCOMPARE(QStringRef(&a, 1, 2).compare(QString::fromLatin1("BC")), 0);
+ QVERIFY(QStringRef(&a, 1, 2).compare(QString::fromLatin1("BCD")) < 0);
+ QCOMPARE(QStringRef(&a, 1, 2).compare(QString::fromLatin1("Bc"), Qt::CaseInsensitive), 0);
+ QVERIFY(QStringRef(&a, 1, 2).compare(QString::fromLatin1("bCD"), Qt::CaseInsensitive) < 0);
+
+ QCOMPARE(QString::fromLatin1("BC").compare(QStringRef(&a, 1, 2)), 0);
+ QVERIFY(QString::fromLatin1("BCD").compare(QStringRef(&a, 1, 2)) > 0);
+ QCOMPARE(QString::fromLatin1("Bc").compare(QStringRef(&a, 1, 2), Qt::CaseInsensitive), 0);
+ QVERIFY(QString::fromLatin1("bCD").compare(QStringRef(&a, 1, 2), Qt::CaseInsensitive) > 0);
+
+ QCOMPARE(QStringRef(&a, 1, 2).compare(QStringRef(&a, 1, 2)), 0);
+ QVERIFY(QStringRef(&a, 1, 2).compare(QStringRef(&a, 1, 3)) < 0);
+ QCOMPARE(QStringRef(&a, 1, 2).compare(QStringRef(&a, 1, 2), Qt::CaseInsensitive), 0);
+ QVERIFY(QStringRef(&a, 1, 2).compare(QStringRef(&a, 1, 3), Qt::CaseInsensitive) < 0);
+
+ QString a2 = "ABCDEFGh";
+ QCOMPARE(QStringRef(&a2, 1, 2).compare(QStringRef(&a, 1, 2)), 0);
+ QVERIFY(QStringRef(&a2, 1, 2).compare(QStringRef(&a, 1, 3)) < 0);
+ QCOMPARE(QStringRef(&a2, 1, 2).compare(QStringRef(&a, 1, 2), Qt::CaseInsensitive), 0);
+ QVERIFY(QStringRef(&a2, 1, 2).compare(QStringRef(&a, 1, 3), Qt::CaseInsensitive) < 0);
+}
+
+
QTEST_APPLESS_MAIN(tst_QString)
diff --git a/tests/auto/qstylesheetstyle/tst_qstylesheetstyle.cpp b/tests/auto/qstylesheetstyle/tst_qstylesheetstyle.cpp
index e0512a9d23..e370309716 100644
--- a/tests/auto/qstylesheetstyle/tst_qstylesheetstyle.cpp
+++ b/tests/auto/qstylesheetstyle/tst_qstylesheetstyle.cpp
@@ -98,6 +98,7 @@ private slots:
void complexWidgetFocus();
void task188195_baseBackground();
void task232085_spinBoxLineEditBg();
+ void changeStyleInChangeEvent();
//at the end because it mess with the style.
void widgetStyle();
@@ -1256,7 +1257,7 @@ void tst_QStyleSheetStyle::proxyStyle()
QStyleOptionViewItemV4 opt;
opt.initFrom(w);
opt.features |= QStyleOptionViewItemV2::HasCheckIndicator;
- QVERIFY(pb5->style()->subElementRect(QStyle::SE_ItemViewItemCheckIndicator,
+ QVERIFY(pb5->style()->subElementRect(QStyle::SE_ItemViewItemCheckIndicator,
&opt, pb5).width() == 3);
delete w;
delete proxy;
@@ -1579,6 +1580,34 @@ void tst_QStyleSheetStyle::task232085_spinBoxLineEditBg()
.toLocal8Bit().constData());
}
+class ChangeEventWidget : public QWidget
+{ public:
+ void changeEvent(QEvent * event)
+ {
+ if(event->type() == QEvent::StyleChange) {
+ static bool recurse = false;
+ if (!recurse) {
+ recurse = true;
+ QStyle *style = new QMotifStyle;
+ style->setParent(this);
+ setStyle(style);
+ recurse = false;
+ }
+ }
+ QWidget::changeEvent(event);
+ }
+};
+
+void tst_QStyleSheetStyle::changeStyleInChangeEvent()
+{ //must not crash;
+ ChangeEventWidget wid;
+ wid.ensurePolished();
+ wid.setStyleSheet(" /* */ ");
+ wid.ensurePolished();
+ wid.setStyleSheet(" /* ** */ ");
+ wid.ensurePolished();
+}
+
QTEST_MAIN(tst_QStyleSheetStyle)
#include "tst_qstylesheetstyle.moc"
diff --git a/tests/auto/qtcpserver/crashingServer/crashingServer.pro b/tests/auto/qtcpserver/crashingServer/crashingServer.pro
index 70e42b4456..0bea655187 100644
--- a/tests/auto/qtcpserver/crashingServer/crashingServer.pro
+++ b/tests/auto/qtcpserver/crashingServer/crashingServer.pro
@@ -5,4 +5,4 @@ DESTDIR = ./
# This means the auto test works on some machines for MinGW. No dialog stalls
# the application.
-win32-g++:CONFIG += console
+win32-g++*:CONFIG += console
diff --git a/tests/auto/qtcpserver/qtcpserver.pro b/tests/auto/qtcpserver/qtcpserver.pro
index fe5ea372d5..a3744a2c7f 100644
--- a/tests/auto/qtcpserver/qtcpserver.pro
+++ b/tests/auto/qtcpserver/qtcpserver.pro
@@ -1,5 +1,6 @@
TEMPLATE = subdirs
SUBDIRS = test crashingServer
+symbian: TARGET.CAPABILITY = NetworkServices
diff --git a/tests/auto/qtcpsocket/qtcpsocket.pro b/tests/auto/qtcpsocket/qtcpsocket.pro
index 3d4eba3eb3..370a69552a 100644
--- a/tests/auto/qtcpsocket/qtcpsocket.pro
+++ b/tests/auto/qtcpsocket/qtcpsocket.pro
@@ -6,3 +6,4 @@ wince*|symbian*|vxworks* : SUBDIRS = test
requires(contains(QT_CONFIG,private_tests))
+symbian: TARGET.CAPABILITY = NetworkServices
diff --git a/tests/auto/qtcpsocket/tst_qtcpsocket.cpp b/tests/auto/qtcpsocket/tst_qtcpsocket.cpp
index cd512a1286..31cae403dd 100644
--- a/tests/auto/qtcpsocket/tst_qtcpsocket.cpp
+++ b/tests/auto/qtcpsocket/tst_qtcpsocket.cpp
@@ -144,6 +144,7 @@ private slots:
void blockingIMAP();
void nonBlockingIMAP();
void hostNotFound();
+ void timeoutConnect_data();
void timeoutConnect();
void delayedClose();
void partialRead();
@@ -544,19 +545,36 @@ void tst_QTcpSocket::hostNotFound()
}
//----------------------------------------------------------------------------------
+void tst_QTcpSocket::timeoutConnect_data()
+{
+ QTest::addColumn<QString>("address");
+ QTest::newRow("host") << QtNetworkSettings::serverName();
+ QTest::newRow("ip") << QtNetworkSettings::serverIP().toString();
+}
void tst_QTcpSocket::timeoutConnect()
{
+ QFETCH(QString, address);
QTcpSocket *socket = newSocket();
- // Outgoing port 53 is firewalled in the Oslo office.
- socket->connectToHost("cisco.com", 53);
+ QElapsedTimer timer;
+ timer.start();
+
+ // Port 1357 is configured to drop packets on the test server
+ socket->connectToHost(address, 1357);
+ QVERIFY(timer.elapsed() < 50);
QVERIFY(!socket->waitForConnected(200));
QCOMPARE(socket->state(), QTcpSocket::UnconnectedState);
QCOMPARE(int(socket->error()), int(QTcpSocket::SocketTimeoutError));
- socket->connectToHost("cisco.com", 53);
- QTest::qSleep(50);
+ timer.start();
+ socket->connectToHost(address, 1357);
+ QVERIFY(timer.elapsed() < 50);
+ QTimer::singleShot(50, &QTestEventLoop::instance(), SLOT(exitLoop()));
+ QTestEventLoop::instance().enterLoop(5);
+ QVERIFY(!QTestEventLoop::instance().timeout());
+ QVERIFY(socket->state() == QTcpSocket::ConnectingState
+ || socket->state() == QTcpSocket::HostLookupState);
socket->abort();
QCOMPARE(socket->state(), QTcpSocket::UnconnectedState);
QCOMPARE(socket->openMode(), QIODevice::NotOpen);
diff --git a/tests/auto/qtextboundaryfinder/tst_qtextboundaryfinder.cpp b/tests/auto/qtextboundaryfinder/tst_qtextboundaryfinder.cpp
index c60af5e983..a562fbe5da 100644
--- a/tests/auto/qtextboundaryfinder/tst_qtextboundaryfinder.cpp
+++ b/tests/auto/qtextboundaryfinder/tst_qtextboundaryfinder.cpp
@@ -71,6 +71,10 @@ private slots:
void isAtWordStart();
void fastConstructor();
void isAtBoundaryLine();
+ void toNextBoundary_data();
+ void toNextBoundary();
+ void toPreviousBoundary_data();
+ void toPreviousBoundary();
};
tst_QTextBoundaryFinder::tst_QTextBoundaryFinder()
@@ -292,25 +296,120 @@ void tst_QTextBoundaryFinder::fastConstructor()
void tst_QTextBoundaryFinder::isAtBoundaryLine()
{
- // idx 0 1 2 3 4 5
- // break? - - - + - +
+ // idx 0 1 2 3 4 5 6
+ // break? - - - - + - +
QChar s[] = { 0x0061, 0x00AD, 0x0062, 0x0009, 0x0063, 0x0064 };
QString text(s, sizeof(s)/sizeof(s[0]));
- qDebug() << "text = " << text << ", length = " << text.length();
+// qDebug() << "text = " << text << ", length = " << text.length();
QTextBoundaryFinder finder(QTextBoundaryFinder::Line, text.constData(), text.length(), /*buffer*/0, /*buffer size*/0);
finder.setPosition(0);
- QVERIFY(!finder.isAtBoundary());
+ QVERIFY(finder.isAtBoundary());
finder.setPosition(1);
QVERIFY(!finder.isAtBoundary());
finder.setPosition(2);
QVERIFY(!finder.isAtBoundary());
finder.setPosition(3);
- QVERIFY(finder.isAtBoundary());
- finder.setPosition(4);
QVERIFY(!finder.isAtBoundary());
+ finder.setPosition(4);
+ QVERIFY(finder.isAtBoundary());
finder.setPosition(5);
+ QVERIFY(!finder.isAtBoundary());
+ finder.setPosition(6);
QVERIFY(finder.isAtBoundary());
}
+Q_DECLARE_METATYPE(QList<int>)
+
+void tst_QTextBoundaryFinder::toNextBoundary_data()
+{
+ QTest::addColumn<QString>("text");
+ QTest::addColumn<int>("type");
+ QTest::addColumn< QList<int> >("boundaries");
+
+ QList<int> boundaries;
+ boundaries << 0 << 3 << 4 << 7 << 8 << 11 << 12 << 13 << 16 << 17 << 20 << 21 << 24 << 25;
+ QTest::newRow("Line") << QString("Aaa bbb ccc. Ddd eee fff.") << int(QTextBoundaryFinder::Word) \
+ << boundaries;
+
+ boundaries.clear();
+ boundaries << 0 << 13 << 25;
+ QTest::newRow("Line") << QString("Aaa bbb ccc. Ddd eee fff.") << int(QTextBoundaryFinder::Sentence) \
+ << boundaries;
+
+ boundaries.clear();
+ boundaries << 0 << 4 << 8 << 13 << 17 << 21 << 25;
+ QTest::newRow("Line") << QString("Aaa bbb ccc. Ddd eee fff.") << int(QTextBoundaryFinder::Line) \
+ << boundaries;
+
+ boundaries.clear();
+ boundaries << 0 << 5 << 9 << 15 << 17 << 21 << 28;
+ QTest::newRow("Line") << QString::fromUtf8("Diga-nos qualé a sua opinião") << int(QTextBoundaryFinder::Line)
+ << boundaries;
+
+}
+
+void tst_QTextBoundaryFinder::toNextBoundary()
+{
+ QFETCH(QString, text);
+ QFETCH(int, type);
+ QFETCH(QList<int>, boundaries);
+
+ QList<int> foundBoundaries;
+ QTextBoundaryFinder boundaryFinder(QTextBoundaryFinder::BoundaryType(type), text);
+ boundaryFinder.toStart();
+ for(int next = 0; next != -1; next = boundaryFinder.toNextBoundary())
+ foundBoundaries << next;
+ QCOMPARE(boundaries, foundBoundaries);
+}
+
+void tst_QTextBoundaryFinder::toPreviousBoundary_data()
+{
+ QTest::addColumn<QString>("text");
+ QTest::addColumn<int>("type");
+ QTest::addColumn< QList<int> >("boundaries");
+
+ QList<int> boundaries;
+ boundaries << 25 << 24 << 21 << 20 << 17 << 16 << 13 << 12 << 11 << 8 << 7 << 4 << 3 << 0;
+ QTest::newRow("Line") << QString("Aaa bbb ccc. Ddd eee fff.") << int(QTextBoundaryFinder::Word)
+ << boundaries;
+
+ boundaries.clear();
+ boundaries << 25 << 13 << 0;
+ QTest::newRow("Line") << QString("Aaa bbb ccc. Ddd eee fff.") << int(QTextBoundaryFinder::Sentence)
+ << boundaries;
+
+ boundaries.clear();
+ boundaries << 25 << 21 << 17 << 13 << 8 << 4 << 0;
+ QTest::newRow("Line") << QString("Aaa bbb ccc. Ddd eee fff.") << int(QTextBoundaryFinder::Line)
+ << boundaries;
+
+ boundaries.clear();
+ boundaries << 28 << 21 << 17 << 15 << 9 << 5 << 0;
+ QTest::newRow("Line") << QString::fromUtf8("Diga-nos qualé a sua opinião") << int(QTextBoundaryFinder::Line)
+ << boundaries;
+
+}
+
+void tst_QTextBoundaryFinder::toPreviousBoundary()
+{
+ QFETCH(QString, text);
+ QFETCH(int, type);
+ QFETCH(QList<int>, boundaries);
+
+ QList<int> foundBoundaries;
+ QTextBoundaryFinder boundaryFinder(QTextBoundaryFinder::BoundaryType(type), text);
+ boundaryFinder.toEnd();
+ for (int previous = boundaryFinder.position();
+ previous != -1;
+ previous = boundaryFinder.toPreviousBoundary())
+ {
+ foundBoundaries << previous;
+ }
+ QCOMPARE(boundaries, foundBoundaries);
+}
+
+
+
+
QTEST_MAIN(tst_QTextBoundaryFinder)
#include "tst_qtextboundaryfinder.moc"
diff --git a/tests/auto/qtextcodec/tst_qtextcodec.cpp b/tests/auto/qtextcodec/tst_qtextcodec.cpp
index 4e7123f33a..0946c93ed5 100644
--- a/tests/auto/qtextcodec/tst_qtextcodec.cpp
+++ b/tests/auto/qtextcodec/tst_qtextcodec.cpp
@@ -2001,6 +2001,8 @@ void tst_QTextCodec::threadSafety()
QCOMPARE(res.results(), codecList);
QCOMPARE(res2.results(), mibList);
+#else
+ QSKIP("This function is not yet supported with QT_NO_CONCURRENT defined.", SkipAll);
#endif
}
@@ -2012,7 +2014,7 @@ void tst_QTextCodec::invalidNames()
QVERIFY(!QTextCodec::codecForName("\1a\2b\3a\4d\5c\6s\7a\xffr\xec_\x9c_"));
QVERIFY(!QTextCodec::codecForName("\n"));
QVERIFY(!QTextCodec::codecForName("don't exist"));
- QByteArray huge = "azertyuiop^$qsdfghjklm<wxcvbn,;:=1234567890_";
+ QByteArray huge = "azertyuiop^$qsdfghjklm<wxcvbn,;:=1234567890�_";
huge = huge + huge + huge + huge + huge + huge + huge + huge;
huge = huge + huge + huge + huge + huge + huge + huge + huge;
huge = huge + huge + huge + huge + huge + huge + huge + huge;
diff --git a/tests/auto/qtextcursor/tst_qtextcursor.cpp b/tests/auto/qtextcursor/tst_qtextcursor.cpp
index d44ce72020..41835bb55d 100644
--- a/tests/auto/qtextcursor/tst_qtextcursor.cpp
+++ b/tests/auto/qtextcursor/tst_qtextcursor.cpp
@@ -151,6 +151,7 @@ private slots:
void cursorPositionWithBlockUndoAndRedo();
void cursorPositionWithBlockUndoAndRedo2();
+ void cursorPositionWithBlockUndoAndRedo3();
private:
int blockCount();
@@ -226,9 +227,9 @@ void tst_QTextCursor::navigation1()
cursor.movePosition(QTextCursor::End);
cursor.insertBlock();
{
- int oldPos = cursor.position();
- cursor.movePosition(QTextCursor::End);
- QVERIFY(cursor.position() == oldPos);
+ int oldPos = cursor.position();
+ cursor.movePosition(QTextCursor::End);
+ QVERIFY(cursor.position() == oldPos);
}
QVERIFY(cursor.atBlockStart());
QVERIFY(cursor.position() == 9);
@@ -1699,8 +1700,10 @@ void tst_QTextCursor::adjustCursorsOnInsert()
QCOMPARE(selection.position(), posAfter+1);
doc->undo();
+ selection.setKeepPositionOnInsert(true);
cursor.setPosition(posAfter);
cursor.insertText(QLatin1String("x"));
+ selection.setKeepPositionOnInsert(false);
QCOMPARE(selection.anchor(), posBefore);
QCOMPARE(selection.position(), posAfter);
doc->undo();
@@ -1754,9 +1757,9 @@ void tst_QTextCursor::adjustCursorsOnInsert()
void tst_QTextCursor::cursorPositionWithBlockUndoAndRedo()
{
cursor.insertText("AAAABBBBCCCCDDDD");
- cursor.beginEditBlock();
cursor.setPosition(12);
int cursorPositionBefore = cursor.position();
+ cursor.beginEditBlock();
cursor.insertText("*");
cursor.setPosition(8);
cursor.insertText("*");
@@ -1812,5 +1815,20 @@ void tst_QTextCursor::cursorPositionWithBlockUndoAndRedo2()
QCOMPARE(cursor.position(), cursorPositionBefore);
}
+void tst_QTextCursor::cursorPositionWithBlockUndoAndRedo3()
+{
+ // verify that it's the position of the beginEditBlock that counts, and not the last edit position
+ cursor.insertText("AAAABBBB");
+ int cursorPositionBefore = cursor.position();
+ cursor.beginEditBlock();
+ cursor.setPosition(4);
+ QVERIFY(cursor.position() != cursorPositionBefore);
+ cursor.insertText("*");
+ cursor.endEditBlock();
+ QCOMPARE(cursor.position(), 5);
+ doc->undo(&cursor);
+ QCOMPARE(cursor.position(), cursorPositionBefore);
+}
+
QTEST_MAIN(tst_QTextCursor)
#include "tst_qtextcursor.moc"
diff --git a/tests/auto/qtextformat/tst_qtextformat.cpp b/tests/auto/qtextformat/tst_qtextformat.cpp
index ee1f4b5877..9b71481709 100644
--- a/tests/auto/qtextformat/tst_qtextformat.cpp
+++ b/tests/auto/qtextformat/tst_qtextformat.cpp
@@ -308,10 +308,7 @@ void tst_QTextFormat::getSetTabs()
format.setTabPositions(tabs);
Comparator c2(tabs, format.tabPositions());
- QTextOption::Tab tab2;
- tab2.position = 3456;
- tab2.type = QTextOption::RightTab;
- tab2.delimiter = QChar('x');
+ QTextOption::Tab tab2(3456, QTextOption::RightTab, QChar('x'));
tabs.append(tab2);
format.setTabPositions(tabs);
Comparator c3(tabs, format.tabPositions());
diff --git a/tests/auto/qtextlayout/tst_qtextlayout.cpp b/tests/auto/qtextlayout/tst_qtextlayout.cpp
index caf9bd3f00..a631f3d282 100644
--- a/tests/auto/qtextlayout/tst_qtextlayout.cpp
+++ b/tests/auto/qtextlayout/tst_qtextlayout.cpp
@@ -110,6 +110,8 @@ private slots:
void longText();
void widthOfTabs();
void columnWrapWithTabs();
+ void boundingRectForUnsetLineWidth();
+ void boundingRectForSetLineWidth();
// QTextLine stuff
void setNumColumnsWrapAtWordBoundaryOrAnywhere();
@@ -978,9 +980,7 @@ void tst_QTextLayout::testCenteredTab()
// test if centering the tab works. We expect the center of 'Bar.' to be at the tab point.
QTextOption option = layout.textOption();
QList<QTextOption::Tab> tabs;
- QTextOption::Tab tab;
- tab.type = QTextOption::CenterTab;
- tab.position = 150;
+ QTextOption::Tab tab(150, QTextOption::CenterTab);
tabs.append(tab);
option.setTabs(tabs);
layout.setTextOption(option);
@@ -1000,10 +1000,7 @@ void tst_QTextLayout::testDelimiterTab()
// try the different delimiter characters to see if the alignment works there.
QTextOption option = layout.textOption();
QList<QTextOption::Tab> tabs;
- QTextOption::Tab tab;
- tab.type = QTextOption::DelimiterTab;
- tab.delimiter = QChar('.');
- tab.position = 100;
+ QTextOption::Tab tab(100, QTextOption::DelimiterTab, QChar('.'));
tabs.append(tab);
option.setTabs(tabs);
layout.setTextOption(option);
@@ -1307,6 +1304,29 @@ void tst_QTextLayout::columnWrapWithTabs()
}
+void tst_QTextLayout::boundingRectForUnsetLineWidth()
+{
+ QTextLayout layout("FOOBAR");
+
+ layout.beginLayout();
+ QTextLine line = layout.createLine();
+ layout.endLayout();
+
+ QCOMPARE(layout.boundingRect().width(), line.naturalTextWidth());
+}
+
+void tst_QTextLayout::boundingRectForSetLineWidth()
+{
+ QTextLayout layout("FOOBAR");
+
+ layout.beginLayout();
+ QTextLine line = layout.createLine();
+ line.setLineWidth(QFIXED_MAX - 1);
+ layout.endLayout();
+
+ QCOMPARE(layout.boundingRect().width(), qreal(QFIXED_MAX - 1));
+}
+
void tst_QTextLayout::lineWidthFromBOM()
{
const QString string(QChar(0xfeff)); // BYTE ORDER MARK
diff --git a/tests/auto/qtextodfwriter/tst_qtextodfwriter.cpp b/tests/auto/qtextodfwriter/tst_qtextodfwriter.cpp
index 64c42bbee3..a463d86031 100644
--- a/tests/auto/qtextodfwriter/tst_qtextodfwriter.cpp
+++ b/tests/auto/qtextodfwriter/tst_qtextodfwriter.cpp
@@ -198,14 +198,9 @@ void tst_QTextOdfWriter::testWriteStyle2()
{
QTextBlockFormat bf; // = cursor.blockFormat();
QList<QTextOption::Tab> tabs;
- QTextOption::Tab tab1;
- tab1.position = 40;
- tab1.type = QTextOption::RightTab;
+ QTextOption::Tab tab1(40, QTextOption::RightTab);
tabs << tab1;
- QTextOption::Tab tab2;
- tab2.position = 80;
- tab2.type = QTextOption::DelimiterTab;
- tab2.delimiter = 'o';
+ QTextOption::Tab tab2(80, QTextOption::DelimiterTab, 'o');
tabs << tab2;
bf.setTabPositions(tabs);
diff --git a/tests/auto/qtipc/qsharedmemory/tst_qsharedmemory.cpp b/tests/auto/qtipc/qsharedmemory/tst_qsharedmemory.cpp
index dac631b632..1f65ae75ff 100644
--- a/tests/auto/qtipc/qsharedmemory/tst_qsharedmemory.cpp
+++ b/tests/auto/qtipc/qsharedmemory/tst_qsharedmemory.cpp
@@ -56,7 +56,7 @@
#elif defined(Q_OS_WINCE)
#define LACKEYDIR SRCDIR
#else
-#define LACKEYDIR SRCDIR "../lackey"
+#define LACKEYDIR "../lackey"
#endif
Q_DECLARE_METATYPE(QSharedMemory::SharedMemoryError)
@@ -421,7 +421,7 @@ void tst_QSharedMemory::readOnly()
QString program = LACKEYDIR "/lackey";
QStringList arguments;
rememberKey("readonly_segfault");
- arguments << LACKEYDIR "/scripts/readonly_segfault.js";
+ arguments << SRCDIR "../lackey/scripts/readonly_segfault.js";
// ### on windows disable the popup somehow
QProcess p;
@@ -734,7 +734,7 @@ void tst_QSharedMemory::simpleProcessProducerConsumer()
rememberKey("market");
- QStringList arguments = QStringList() << LACKEYDIR "/scripts/producer.js";
+ QStringList arguments = QStringList() << SRCDIR "../lackey/scripts/producer.js";
QProcess producer;
producer.setProcessChannelMode(QProcess::ForwardedChannels);
producer.start( LACKEYDIR "/lackey", arguments);
@@ -744,7 +744,7 @@ void tst_QSharedMemory::simpleProcessProducerConsumer()
QList<QProcess*> consumers;
unsigned int failedProcesses = 0;
for (int i = 0; i < processes; ++i) {
- QStringList arguments = QStringList() << LACKEYDIR "/scripts/consumer.js";
+ QStringList arguments = QStringList() << SRCDIR "../lackey/scripts/consumer.js";
QProcess *p = new QProcess;
p->setProcessChannelMode(QProcess::ForwardedChannels);
#ifdef Q_OS_WINCE
diff --git a/tests/auto/qtransform/tst_qtransform.cpp b/tests/auto/qtransform/tst_qtransform.cpp
index a3ded8eda5..c784b3a9ed 100644
--- a/tests/auto/qtransform/tst_qtransform.cpp
+++ b/tests/auto/qtransform/tst_qtransform.cpp
@@ -85,6 +85,7 @@ private slots:
void inverted();
void projectivePathMapping();
void mapInt();
+ void mapPathWithPoint();
private:
void mapping_data();
@@ -793,6 +794,13 @@ void tst_QTransform::mapInt()
QCOMPARE(y, 10);
}
+void tst_QTransform::mapPathWithPoint()
+{
+ QPainterPath p(QPointF(10, 10));
+ p = QTransform::fromTranslate(10, 10).map(p);
+ QCOMPARE(p.currentPosition(), QPointF(20, 20));
+}
+
QTEST_APPLESS_MAIN(tst_QTransform)
diff --git a/tests/auto/qudpsocket/qudpsocket.pro b/tests/auto/qudpsocket/qudpsocket.pro
index 4ef8a40cb0..8fd3545262 100644
--- a/tests/auto/qudpsocket/qudpsocket.pro
+++ b/tests/auto/qudpsocket/qudpsocket.pro
@@ -1,5 +1,6 @@
TEMPLATE = subdirs
SUBDIRS = test clientserver
+symbian: TARGET.CAPABILITY = NetworkServices
diff --git a/tests/auto/qurl/qurl.pro b/tests/auto/qurl/qurl.pro
index 72c93bc696..018bb38612 100644
--- a/tests/auto/qurl/qurl.pro
+++ b/tests/auto/qurl/qurl.pro
@@ -1,3 +1,4 @@
load(qttest_p4)
SOURCES += tst_qurl.cpp
QT = core
+symbian: TARGET.CAPABILITY = NetworkServices
diff --git a/tests/auto/qurl/tst_qurl.cpp b/tests/auto/qurl/tst_qurl.cpp
index fa42adc8a0..820e32d11f 100644
--- a/tests/auto/qurl/tst_qurl.cpp
+++ b/tests/auto/qurl/tst_qurl.cpp
@@ -1410,7 +1410,7 @@ void tst_QUrl::setUrl()
void tst_QUrl::i18n_data()
{
QTest::addColumn<QString>("input");
- QTest::addColumn<QByteArray>("punyOutput");
+ QTest::addColumn<QByteArray>("punyOutput");
QTest::newRow("l") << QString::fromLatin1("http://ole:passord@www.l.no/index.html?ole=semann&ilder gud=hei#top")
<< QByteArray("http://ole:passord@www.xn--l-4ga.no/index.html?ole=%C3%A6semann&ilder%20gud=hei#top");
@@ -2165,25 +2165,25 @@ void tst_QUrl::toPercentEncoding_data()
QTest::addColumn<QByteArray>("includeInEncoding");
QTest::newRow("test_01") << QString::fromLatin1("abcdevghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ012345678-._~")
- << QByteArray("abcdevghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ012345678-._~")
+ << QByteArray("abcdevghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ012345678-._~")
<< QByteArray("")
<< QByteArray("");
QTest::newRow("test_02") << QString::fromLatin1("{\t\n\r^\"abc}")
- << QByteArray("%7B%09%0A%0D%5E%22abc%7D")
+ << QByteArray("%7B%09%0A%0D%5E%22abc%7D")
<< QByteArray("")
<< QByteArray("");
QTest::newRow("test_03") << QString::fromLatin1("://?#[]@!$&'()*+,;=")
- << QByteArray("%3A%2F%2F%3F%23%5B%5D%40%21%24%26%27%28%29%2A%2B%2C%3B%3D")
+ << QByteArray("%3A%2F%2F%3F%23%5B%5D%40%21%24%26%27%28%29%2A%2B%2C%3B%3D")
<< QByteArray("")
<< QByteArray("");
QTest::newRow("test_04") << QString::fromLatin1("://?#[]@!$&'()*+,;=")
- << QByteArray("%3A%2F%2F%3F%23%5B%5D%40!$&'()*+,;=")
+ << QByteArray("%3A%2F%2F%3F%23%5B%5D%40!$&'()*+,;=")
<< QByteArray("!$&'()*+,;=")
<< QByteArray("");
QTest::newRow("test_05") << QString::fromLatin1("abcd")
<< QByteArray("a%62%63d")
<< QByteArray("")
- << QByteArray("bc");
+ << QByteArray("bc");
}
void tst_QUrl::toPercentEncoding()
@@ -2193,7 +2193,7 @@ void tst_QUrl::toPercentEncoding()
QFETCH(QByteArray, excludeInEncoding);
QFETCH(QByteArray, includeInEncoding);
- QByteArray encodedUrl = QUrl::toPercentEncoding(original, excludeInEncoding, includeInEncoding);
+ QByteArray encodedUrl = QUrl::toPercentEncoding(original, excludeInEncoding, includeInEncoding);
QCOMPARE(encodedUrl.constData(), encoded.constData());
QCOMPARE(original, QUrl::fromPercentEncoding(encodedUrl));
}
@@ -2461,6 +2461,8 @@ void tst_QUrl::isValid()
QUrl url = QUrl::fromEncoded("http://strange<username>@ok-hostname/", QUrl::StrictMode);
QVERIFY(!url.isValid());
// < and > are not allowed in userinfo in strict mode
+ url.setUserName("normal_username");
+ QVERIFY(url.isValid());
}
{
QUrl url = QUrl::fromEncoded("http://strange<username>@ok-hostname/");
@@ -2471,7 +2473,18 @@ void tst_QUrl::isValid()
QUrl url = QUrl::fromEncoded("http://strange;hostname/here");
QVERIFY(!url.isValid());
QCOMPARE(url.path(), QString("/here"));
+ url.setAuthority("foobar@bar");
+ QVERIFY(url.isValid());
}
+
+ {
+ QUrl url = QUrl::fromEncoded("foo://stuff;1/g");
+ QVERIFY(!url.isValid());
+ QCOMPARE(url.path(), QString("/g"));
+ url.setHost("stuff-1");
+ QVERIFY(url.isValid());
+ }
+
}
void tst_QUrl::schemeValidator_data()
@@ -3194,6 +3207,32 @@ void tst_QUrl::ace_testsuite_data()
QTest::newRow("separator-3002") << QString::fromUtf8("example\343\200\202com")
<< "example.com" << "." << "example.com";
+
+ QString egyptianIDN =
+ QString::fromUtf8("\331\210\330\262\330\247\330\261\330\251\055\330\247\331\204\330"
+ "\243\330\252\330\265\330\247\331\204\330\247\330\252.\331\205"
+ "\330\265\330\261");
+ QTest::newRow("egyptian-tld-ace")
+ << "xn----rmckbbajlc6dj7bxne2c.xn--wgbh1c"
+ << "xn----rmckbbajlc6dj7bxne2c.xn--wgbh1c"
+ << "."
+ << egyptianIDN;
+ QTest::newRow("egyptian-tld-unicode")
+ << egyptianIDN
+ << "xn----rmckbbajlc6dj7bxne2c.xn--wgbh1c"
+ << "."
+ << egyptianIDN;
+ QTest::newRow("egyptian-tld-mix1")
+ << QString::fromUtf8("\331\210\330\262\330\247\330\261\330\251\055\330\247\331\204\330"
+ "\243\330\252\330\265\330\247\331\204\330\247\330\252.xn--wgbh1c")
+ << "xn----rmckbbajlc6dj7bxne2c.xn--wgbh1c"
+ << "."
+ << egyptianIDN;
+ QTest::newRow("egyptian-tld-mix2")
+ << QString::fromUtf8("xn----rmckbbajlc6dj7bxne2c.\331\205\330\265\330\261")
+ << "xn----rmckbbajlc6dj7bxne2c.xn--wgbh1c"
+ << "."
+ << egyptianIDN;
}
void tst_QUrl::ace_testsuite()
diff --git a/tests/auto/qvarlengtharray/tst_qvarlengtharray.cpp b/tests/auto/qvarlengtharray/tst_qvarlengtharray.cpp
index 5708726bd0..26da506359 100644
--- a/tests/auto/qvarlengtharray/tst_qvarlengtharray.cpp
+++ b/tests/auto/qvarlengtharray/tst_qvarlengtharray.cpp
@@ -63,6 +63,7 @@ private slots:
void oldTests();
void task214223();
void QTBUG6718_resize();
+ void QTBUG10978_realloc();
};
int fooCtor = 0;
@@ -304,5 +305,302 @@ void tst_QVarLengthArray::QTBUG6718_resize()
}
}
+struct MyBase
+{
+ MyBase()
+ : data(this)
+ , isCopy(false)
+ {
+ ++liveCount;
+ }
+
+ MyBase(MyBase const &)
+ : data(this)
+ , isCopy(true)
+ {
+ ++copyCount;
+ ++liveCount;
+ }
+
+ MyBase & operator=(MyBase const &)
+ {
+ if (!isCopy) {
+ isCopy = true;
+ ++copyCount;
+ } else {
+ ++errorCount;
+ }
+
+ return *this;
+ }
+
+ ~MyBase()
+ {
+ if (isCopy) {
+ if (!copyCount)
+ ++errorCount;
+ else
+ --copyCount;
+ }
+
+ if (!liveCount)
+ ++errorCount;
+ else
+ --liveCount;
+ }
+
+ bool hasMoved() const
+ {
+ return this != data;
+ }
+
+protected:
+ MyBase const * const data;
+ bool isCopy;
+
+public:
+ static int errorCount;
+ static int liveCount;
+ static int copyCount;
+};
+
+int MyBase::errorCount = 0;
+int MyBase::liveCount = 0;
+int MyBase::copyCount = 0;
+
+struct MyPrimitive
+ : MyBase
+{
+ MyPrimitive()
+ {
+ ++errorCount;
+ }
+
+ ~MyPrimitive()
+ {
+ ++errorCount;
+ }
+
+ MyPrimitive(MyPrimitive const &other)
+ : MyBase(other)
+ {
+ ++errorCount;
+ }
+};
+
+struct MyMovable
+ : MyBase
+{
+};
+
+struct MyComplex
+ : MyBase
+{
+};
+
+QT_BEGIN_NAMESPACE
+
+Q_DECLARE_TYPEINFO(MyPrimitive, Q_PRIMITIVE_TYPE);
+Q_DECLARE_TYPEINFO(MyMovable, Q_MOVABLE_TYPE);
+Q_DECLARE_TYPEINFO(MyComplex, Q_COMPLEX_TYPE);
+
+QT_END_NAMESPACE
+
+bool QTBUG10978_proceed = true;
+
+template <class T, int PreAlloc>
+int countMoved(QVarLengthArray<T, PreAlloc> const &c)
+{
+ int result = 0;
+ for (int i = 0; i < c.size(); ++i)
+ if (c[i].hasMoved())
+ ++result;
+
+ return result;
+}
+
+template <class T>
+void QTBUG10978_test()
+{
+ QTBUG10978_proceed = false;
+
+ typedef QVarLengthArray<T, 16> Container;
+ enum {
+ isStatic = QTypeInfo<T>::isStatic,
+ isComplex = QTypeInfo<T>::isComplex,
+
+ isPrimitive = !isComplex && !isStatic,
+ isMovable = !isStatic
+ };
+
+ // Constructors
+ Container a;
+ QCOMPARE( MyBase::liveCount, 0 );
+ QCOMPARE( MyBase::copyCount, 0 );
+
+ QVERIFY( a.capacity() >= 16 );
+ QCOMPARE( a.size(), 0 );
+
+ Container b_real(8);
+ Container const &b = b_real;
+ QCOMPARE( MyBase::liveCount, isPrimitive ? 0 : 8 );
+ QCOMPARE( MyBase::copyCount, 0 );
+
+ QVERIFY( b.capacity() >= 16 );
+ QCOMPARE( b.size(), 8 );
+
+ // Assignment
+ a = b;
+ QCOMPARE( MyBase::liveCount, isPrimitive ? 0 : 16 );
+ QCOMPARE( MyBase::copyCount, isComplex ? 8 : 0 );
+ QVERIFY( a.capacity() >= 16 );
+ QCOMPARE( a.size(), 8 );
+
+ QVERIFY( b.capacity() >= 16 );
+ QCOMPARE( b.size(), 8 );
+
+ // append
+ a.append(b.data(), b.size());
+ QCOMPARE( MyBase::liveCount, isPrimitive ? 0 : 24 );
+ QCOMPARE( MyBase::copyCount, isComplex ? 16 : 0 );
+
+ QVERIFY( a.capacity() >= 16 );
+ QCOMPARE( a.size(), 16 );
+
+ QVERIFY( b.capacity() >= 16 );
+ QCOMPARE( b.size(), 8 );
+
+ // removeLast
+ a.removeLast();
+ QCOMPARE( MyBase::liveCount, isPrimitive ? 0 : 23 );
+ QCOMPARE( MyBase::copyCount, isComplex ? 15 : 0 );
+
+ QVERIFY( a.capacity() >= 16 );
+ QCOMPARE( a.size(), 15 );
+
+ QVERIFY( b.capacity() >= 16 );
+ QCOMPARE( b.size(), 8 );
+
+ // Movable types
+ const int capacity = a.capacity();
+ if (!isPrimitive)
+ QCOMPARE( countMoved(a), 0 );
+
+ // Reserve, no re-allocation
+ a.reserve(capacity);
+ if (!isPrimitive)
+ QCOMPARE( countMoved(a), 0 );
+ QCOMPARE( MyBase::liveCount, isPrimitive ? 0 : 23 );
+ QCOMPARE( MyBase::copyCount, isComplex ? 15 : 0 );
+
+ QCOMPARE( a.capacity(), capacity );
+ QCOMPARE( a.size(), 15 );
+
+ QVERIFY( b.capacity() >= 16 );
+ QCOMPARE( b.size(), 8 );
+
+ // Reserve, force re-allocation
+ a.reserve(capacity * 2);
+ if (!isPrimitive)
+ QCOMPARE( countMoved(a), isMovable ? 15 : 0 );
+ QCOMPARE( MyBase::liveCount, isPrimitive ? 0 : 23 );
+ QCOMPARE( MyBase::copyCount, isComplex ? 15 : 0 );
+
+ QVERIFY( a.capacity() >= capacity * 2 );
+ QCOMPARE( a.size(), 15 );
+
+ QVERIFY( b.capacity() >= 16 );
+ QCOMPARE( b.size(), 8 );
+
+ // resize, grow
+ a.resize(40);
+ if (!isPrimitive)
+ QCOMPARE( countMoved(a), isMovable ? 15 : 0 );
+ QCOMPARE( MyBase::liveCount, isPrimitive ? 0 : 48 );
+ QCOMPARE( MyBase::copyCount, isComplex ? 15 : 0 );
+
+ QVERIFY( a.capacity() >= a.size() );
+ QCOMPARE( a.size(), 40 );
+
+ QVERIFY( b.capacity() >= 16 );
+ QCOMPARE( b.size(), 8 );
+
+ // Copy constructor, allocate
+ {
+ Container c(a);
+ if (!isPrimitive)
+ QCOMPARE( countMoved(c), 0 );
+ QCOMPARE( MyBase::liveCount, isPrimitive ? 0 : 88 );
+ QCOMPARE( MyBase::copyCount, isComplex ? 55 : 0 );
+
+ QVERIFY( a.capacity() >= a.size() );
+ QCOMPARE( a.size(), 40 );
+
+ QVERIFY( b.capacity() >= 16 );
+ QCOMPARE( b.size(), 8 );
+
+ QVERIFY( c.capacity() >= 40 );
+ QCOMPARE( c.size(), 40 );
+ }
+
+ // resize, shrink
+ a.resize(10);
+ if (!isPrimitive)
+ QCOMPARE( countMoved(a), isMovable ? 10 : 0 );
+ QCOMPARE( MyBase::liveCount, isPrimitive ? 0 : 18 );
+ QCOMPARE( MyBase::copyCount, isComplex ? 10 : 0 );
+
+ QVERIFY( a.capacity() >= a.size() );
+ QCOMPARE( a.size(), 10 );
+
+ QVERIFY( b.capacity() >= 16 );
+ QCOMPARE( b.size(), 8 );
+
+ // Copy constructor, don't allocate
+ {
+ Container c(a);
+ if (!isPrimitive)
+ QCOMPARE( countMoved(c), 0 );
+ QCOMPARE( MyBase::liveCount, isPrimitive ? 0 : 28 );
+ QCOMPARE( MyBase::copyCount, isComplex ? 20 : 0 );
+
+ QVERIFY( a.capacity() >= a.size() );
+ QCOMPARE( a.size(), 10 );
+
+ QVERIFY( b.capacity() >= 16 );
+ QCOMPARE( b.size(), 8 );
+
+ QVERIFY( c.capacity() >= 16 );
+ QCOMPARE( c.size(), 10 );
+ }
+
+ a.clear();
+ QCOMPARE( a.size(), 0 );
+
+ b_real.clear();
+ QCOMPARE( b.size(), 0 );
+
+ QCOMPARE(MyBase::errorCount, 0);
+ QCOMPARE(MyBase::liveCount, 0);
+
+ // All done
+ QTBUG10978_proceed = true;
+}
+
+void tst_QVarLengthArray::QTBUG10978_realloc()
+{
+ QTBUG10978_test<MyBase>();
+ QVERIFY(QTBUG10978_proceed);
+
+ QTBUG10978_test<MyPrimitive>();
+ QVERIFY(QTBUG10978_proceed);
+
+ QTBUG10978_test<MyMovable>();
+ QVERIFY(QTBUG10978_proceed);
+
+ QTBUG10978_test<MyComplex>();
+ QVERIFY(QTBUG10978_proceed);
+}
+
QTEST_APPLESS_MAIN(tst_QVarLengthArray)
#include "tst_qvarlengtharray.moc"
diff --git a/tests/auto/qvideowidget/qvideowidget.pro b/tests/auto/qvideowidget/qvideowidget.pro
deleted file mode 100644
index 12686f3e29..0000000000
--- a/tests/auto/qvideowidget/qvideowidget.pro
+++ /dev/null
@@ -1,6 +0,0 @@
-load(qttest_p4)
-
-SOURCES = tst_qvideowidget.cpp
-
-QT = core gui multimedia mediaservices
-
diff --git a/tests/auto/qvideowidget/tst_qvideowidget.cpp b/tests/auto/qvideowidget/tst_qvideowidget.cpp
deleted file mode 100644
index 8a54789a66..0000000000
--- a/tests/auto/qvideowidget/tst_qvideowidget.cpp
+++ /dev/null
@@ -1,1602 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the test suite of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include <QtTest/QtTest>
-
-#include <QtMediaServices/qvideowidget.h>
-
-#include <QtMediaServices/qmediaobject.h>
-#include <QtMediaServices/qmediaservice.h>
-#include <QtMediaServices/private/qpaintervideosurface_p.h>
-#include <QtMediaServices/qvideooutputcontrol.h>
-#include <QtMediaServices/qvideowindowcontrol.h>
-#include <QtMediaServices/qvideowidgetcontrol.h>
-#include <QtMediaServices/qvideorenderercontrol.h>
-#include <QtMultimedia/qabstractvideosurface.h>
-#include <QtMultimedia/qvideosurfaceformat.h>
-
-#include <QtGui/qapplication.h>
-
-
-class tst_QVideoWidget : public QObject
-{
- Q_OBJECT
-private slots:
- void nullObject();
- void nullService();
- void nullOutputControl();
- void noOutputs();
- void serviceDestroyed();
- void objectDestroyed();
- void setMediaObject();
-
- void showWindowControl();
- void aspectRatioWindowControl();
- void sizeHintWindowControl_data() { sizeHint_data(); }
- void sizeHintWindowControl();
- void brightnessWindowControl_data() { color_data(); }
- void brightnessWindowControl();
- void contrastWindowControl_data() { color_data(); }
- void contrastWindowControl();
- void hueWindowControl_data() { color_data(); }
- void hueWindowControl();
- void saturationWindowControl_data() { color_data(); }
- void saturationWindowControl();
-
- void showWidgetControl();
- void aspectRatioWidgetControl();
- void sizeHintWidgetControl_data() { sizeHint_data(); }
- void sizeHintWidgetControl();
- void brightnessWidgetControl_data() { color_data(); }
- void brightnessWidgetControl();
- void contrastWidgetControl_data() { color_data(); }
- void contrastWidgetControl();
- void hueWidgetControl_data() { color_data(); }
- void hueWidgetControl();
- void saturationWidgetControl_data() { color_data(); }
- void saturationWidgetControl();
-
- void showRendererControl();
- void aspectRatioRendererControl();
- void sizeHintRendererControl_data();
- void sizeHintRendererControl();
- void brightnessRendererControl_data() { color_data(); }
- void brightnessRendererControl();
- void contrastRendererControl_data() { color_data(); }
- void contrastRendererControl();
- void hueRendererControl_data() { color_data(); }
- void hueRendererControl();
- void saturationRendererControl_data() { color_data(); }
- void saturationRendererControl();
-
- void paintRendererControl();
-
-#ifndef Q_WS_X11
- void fullScreenWindowControl();
- void fullScreenWidgetControl();
- void fullScreenRendererControl();
-#endif
-
-private:
- void sizeHint_data();
- void color_data();
-};
-
-Q_DECLARE_METATYPE(Qt::AspectRatioMode)
-Q_DECLARE_METATYPE(const uchar *)
-
-class QtTestOutputControl : public QVideoOutputControl
-{
-public:
- QtTestOutputControl() : m_output(NoOutput) {}
-
- QList<Output> availableOutputs() const { return m_outputs; }
- void setAvailableOutputs(const QList<Output> outputs) { m_outputs = outputs; }
-
- Output output() const { return m_output; }
- virtual void setOutput(Output output) { m_output = output; }
-
-private:
- Output m_output;
- QList<Output> m_outputs;
-};
-
-class QtTestWindowControl : public QVideoWindowControl
-{
-public:
- QtTestWindowControl()
- : m_winId(0)
- , m_repaintCount(0)
- , m_brightness(0)
- , m_contrast(0)
- , m_saturation(0)
- , m_aspectRatioMode(Qt::KeepAspectRatio)
- , m_fullScreen(0)
- {
- }
-
- WId winId() const { return m_winId; }
- void setWinId(WId id) { m_winId = id; }
-
- QRect displayRect() const { return m_displayRect; }
- void setDisplayRect(const QRect &rect) { m_displayRect = rect; }
-
- bool isFullScreen() const { return m_fullScreen; }
- void setFullScreen(bool fullScreen) { emit fullScreenChanged(m_fullScreen = fullScreen); }
-
- int repaintCount() const { return m_repaintCount; }
- void setRepaintCount(int count) { m_repaintCount = count; }
- void repaint() { ++m_repaintCount; }
-
- QSize nativeSize() const { return m_nativeSize; }
- void setNativeSize(const QSize &size) { m_nativeSize = size; emit nativeSizeChanged(); }
-
- Qt::AspectRatioMode aspectRatioMode() const { return m_aspectRatioMode; }
- void setAspectRatioMode(Qt::AspectRatioMode mode) { m_aspectRatioMode = mode; }
-
- int brightness() const { return m_brightness; }
- void setBrightness(int brightness) { emit brightnessChanged(m_brightness = brightness); }
-
- int contrast() const { return m_contrast; }
- void setContrast(int contrast) { emit contrastChanged(m_contrast = contrast); }
-
- int hue() const { return m_hue; }
- void setHue(int hue) { emit hueChanged(m_hue = hue); }
-
- int saturation() const { return m_saturation; }
- void setSaturation(int saturation) { emit saturationChanged(m_saturation = saturation); }
-
-private:
- WId m_winId;
- int m_repaintCount;
- int m_brightness;
- int m_contrast;
- int m_hue;
- int m_saturation;
- Qt::AspectRatioMode m_aspectRatioMode;
- QRect m_displayRect;
- QSize m_nativeSize;
- bool m_fullScreen;
-};
-
-class QtTestWidgetControl : public QVideoWidgetControl
-{
-public:
- QtTestWidgetControl()
- : m_brightness(1.0)
- , m_contrast(1.0)
- , m_hue(1.0)
- , m_saturation(1.0)
- , m_aspectRatioMode(Qt::KeepAspectRatio)
- , m_fullScreen(false)
- {
- }
-
- bool isFullScreen() const { return m_fullScreen; }
- void setFullScreen(bool fullScreen) { emit fullScreenChanged(m_fullScreen = fullScreen); }
-
- Qt::AspectRatioMode aspectRatioMode() const { return m_aspectRatioMode; }
- void setAspectRatioMode(Qt::AspectRatioMode mode) { m_aspectRatioMode = mode; }
-
- int brightness() const { return m_brightness; }
- void setBrightness(int brightness) { emit brightnessChanged(m_brightness = brightness); }
-
- int contrast() const { return m_contrast; }
- void setContrast(int contrast) { emit contrastChanged(m_contrast = contrast); }
-
- int hue() const { return m_hue; }
- void setHue(int hue) { emit hueChanged(m_hue = hue); }
-
- int saturation() const { return m_saturation; }
- void setSaturation(int saturation) { emit saturationChanged(m_saturation = saturation); }
-
- void setSizeHint(const QSize &size) { m_widget.setSizeHint(size); }
-
- QWidget *videoWidget() { return &m_widget; }
-
-private:
- class Widget : public QWidget
- {
- public:
- QSize sizeHint() const { return m_sizeHint; }
- void setSizeHint(const QSize &size) { m_sizeHint = size; updateGeometry(); }
- private:
- QSize m_sizeHint;
- } m_widget;
- int m_brightness;
- int m_contrast;
- int m_hue;
- int m_saturation;
- Qt::AspectRatioMode m_aspectRatioMode;
- QSize m_sizeHint;
- bool m_fullScreen;
-};
-
-class QtTestRendererControl : public QVideoRendererControl
-{
-public:
- QtTestRendererControl()
- : m_surface(0)
- {
- }
-
- QAbstractVideoSurface *surface() const { return m_surface; }
- void setSurface(QAbstractVideoSurface *surface) { m_surface = surface; }
-
-private:
- QAbstractVideoSurface *m_surface;
-};
-
-class QtTestVideoService : public QMediaService
-{
- Q_OBJECT
-public:
- QtTestVideoService(
- QtTestOutputControl *output,
- QtTestWindowControl *window,
- QtTestWidgetControl *widget,
- QtTestRendererControl *renderer)
- : QMediaService(0)
- , outputControl(output)
- , windowControl(window)
- , widgetControl(widget)
- , rendererControl(renderer)
- {
- }
-
- ~QtTestVideoService()
- {
- delete outputControl;
- delete windowControl;
- delete widgetControl;
- delete rendererControl;
- }
-
- QMediaControl *control(const char *name) const
- {
- if (qstrcmp(name, QVideoOutputControl_iid) == 0)
- return outputControl;
- else if (qstrcmp(name, QVideoWindowControl_iid) == 0)
- return windowControl;
- else if (qstrcmp(name, QVideoWidgetControl_iid) == 0)
- return widgetControl;
- else if (qstrcmp(name, QVideoRendererControl_iid) == 0)
- return rendererControl;
- else
- return 0;
- }
-
- QtTestOutputControl *outputControl;
- QtTestWindowControl *windowControl;
- QtTestWidgetControl *widgetControl;
- QtTestRendererControl *rendererControl;
-};
-
-class QtTestVideoObject : public QMediaObject
-{
- Q_OBJECT
-public:
- QtTestVideoObject(
- QtTestWindowControl *window,
- QtTestWidgetControl *widget,
- QtTestRendererControl *renderer):
- QMediaObject(0, new QtTestVideoService(new QtTestOutputControl, window, widget, renderer))
- {
- testService = qobject_cast<QtTestVideoService*>(service());
- QList<QVideoOutputControl::Output> outputs;
-
- if (window)
- outputs.append(QVideoOutputControl::WindowOutput);
- if (widget)
- outputs.append(QVideoOutputControl::WidgetOutput);
- if (renderer)
- outputs.append(QVideoOutputControl::RendererOutput);
-
- testService->outputControl->setAvailableOutputs(outputs);
- }
-
- QtTestVideoObject(QtTestVideoService *service):
- QMediaObject(0, service),
- testService(service)
- {
- }
-
- ~QtTestVideoObject()
- {
- delete testService;
- }
-
- QtTestVideoService *testService;
-};
-
-void tst_QVideoWidget::nullObject()
-{
- QVideoWidget widget;
- widget.setWindowFlags(Qt::X11BypassWindowManagerHint);
-
- QVERIFY(widget.sizeHint().isEmpty());
-
- widget.setFullScreen(true);
- QTest::qWaitForWindowShown(&widget);
- QCOMPARE(widget.isFullScreen(), true);
-
- widget.setAspectRatioMode(Qt::IgnoreAspectRatio);
- QCOMPARE(widget.aspectRatioMode(), Qt::IgnoreAspectRatio);
-
- {
- QSignalSpy spy(&widget, SIGNAL(brightnessChanged(int)));
-
- widget.setBrightness(100);
- QCOMPARE(widget.brightness(), 100);
- QCOMPARE(spy.count(), 1);
- QCOMPARE(spy.value(0).value(0).toInt(), 100);
-
- widget.setBrightness(100);
- QCOMPARE(widget.brightness(), 100);
- QCOMPARE(spy.count(), 1);
-
- widget.setBrightness(-120);
- QCOMPARE(widget.brightness(), -100);
- QCOMPARE(spy.count(), 2);
- QCOMPARE(spy.value(1).value(0).toInt(), -100);
- } {
- QSignalSpy spy(&widget, SIGNAL(contrastChanged(int)));
-
- widget.setContrast(100);
- QCOMPARE(widget.contrast(), 100);
- QCOMPARE(spy.count(), 1);
- QCOMPARE(spy.value(0).value(0).toInt(), 100);
-
- widget.setContrast(100);
- QCOMPARE(widget.contrast(), 100);
- QCOMPARE(spy.count(), 1);
-
- widget.setContrast(-120);
- QCOMPARE(widget.contrast(), -100);
- QCOMPARE(spy.count(), 2);
- QCOMPARE(spy.value(1).value(0).toInt(), -100);
- } {
- QSignalSpy spy(&widget, SIGNAL(hueChanged(int)));
-
- widget.setHue(100);
- QCOMPARE(widget.hue(), 100);
- QCOMPARE(spy.count(), 1);
- QCOMPARE(spy.value(0).value(0).toInt(), 100);
-
- widget.setHue(100);
- QCOMPARE(widget.hue(), 100);
- QCOMPARE(spy.count(), 1);
-
- widget.setHue(-120);
- QCOMPARE(widget.hue(), -100);
- QCOMPARE(spy.count(), 2);
- QCOMPARE(spy.value(1).value(0).toInt(), -100);
- } {
- QSignalSpy spy(&widget, SIGNAL(saturationChanged(int)));
-
- widget.setSaturation(100);
- QCOMPARE(widget.saturation(), 100);
- QCOMPARE(spy.count(), 1);
- QCOMPARE(spy.value(0).value(0).toInt(), 100);
-
- widget.setSaturation(100);
- QCOMPARE(widget.saturation(), 100);
- QCOMPARE(spy.count(), 1);
-
- widget.setSaturation(-120);
- QCOMPARE(widget.saturation(), -100);
- QCOMPARE(spy.count(), 2);
- QCOMPARE(spy.value(1).value(0).toInt(), -100);
- }
-}
-
-void tst_QVideoWidget::nullService()
-{
- QtTestVideoObject object(0);
-
- QVideoWidget widget;
- widget.setMediaObject(&object);
-
- widget.setWindowFlags(Qt::X11BypassWindowManagerHint);
-
- QVERIFY(widget.sizeHint().isEmpty());
-
- widget.setFullScreen(true);
- QTest::qWaitForWindowShown(&widget);
- QCOMPARE(widget.isFullScreen(), true);
-
- widget.setAspectRatioMode(Qt::IgnoreAspectRatio);
- QCOMPARE(widget.aspectRatioMode(), Qt::IgnoreAspectRatio);
-
- widget.setBrightness(100);
- QCOMPARE(widget.brightness(), 100);
-
- widget.setContrast(100);
- QCOMPARE(widget.contrast(), 100);
-
- widget.setHue(100);
- QCOMPARE(widget.hue(), 100);
-
- widget.setSaturation(100);
- QCOMPARE(widget.saturation(), 100);
-}
-
-void tst_QVideoWidget::nullOutputControl()
-{
- QtTestVideoObject object(new QtTestVideoService(0, 0, 0, 0));
-
- QVideoWidget widget;
- widget.setMediaObject(&object);
- widget.setWindowFlags(Qt::X11BypassWindowManagerHint);
-
- QVERIFY(widget.sizeHint().isEmpty());
-
- widget.setFullScreen(true);
- QTest::qWaitForWindowShown(&widget);
- QCOMPARE(widget.isFullScreen(), true);
-
- widget.setBrightness(100);
- QCOMPARE(widget.brightness(), 100);
-
- widget.setContrast(100);
- QCOMPARE(widget.contrast(), 100);
-
- widget.setHue(100);
- QCOMPARE(widget.hue(), 100);
-
- widget.setSaturation(100);
- QCOMPARE(widget.saturation(), 100);
-}
-
-void tst_QVideoWidget::noOutputs()
-{
- QtTestVideoObject object(0, 0, 0);
-
- QVideoWidget widget;
- widget.setMediaObject(&object);
- widget.setWindowFlags(Qt::X11BypassWindowManagerHint);
-
- QVERIFY(widget.sizeHint().isEmpty());
-
- widget.setFullScreen(true);
- QCOMPARE(widget.isFullScreen(), true);
-
- widget.setBrightness(100);
- QCOMPARE(widget.brightness(), 100);
-
- widget.setContrast(100);
- QCOMPARE(widget.contrast(), 100);
-
- widget.setHue(100);
- QCOMPARE(widget.hue(), 100);
-
- widget.setSaturation(100);
- QCOMPARE(widget.saturation(), 100);
-}
-
-void tst_QVideoWidget::serviceDestroyed()
-{
- QtTestVideoObject object(new QtTestWindowControl, new QtTestWidgetControl, 0);
-
- QVideoWidget widget;
- widget.setMediaObject(&object);
- widget.setWindowFlags(Qt::X11BypassWindowManagerHint);
-
- widget.show();
- QTest::qWaitForWindowShown(&widget);
-
- widget.setBrightness(100);
- widget.setContrast(100);
- widget.setHue(100);
- widget.setSaturation(100);
-
- delete object.testService;
- object.testService = 0;
-
- QCOMPARE(widget.mediaObject(), static_cast<QMediaObject *>(&object));
-
- QCOMPARE(widget.brightness(), 100);
- QCOMPARE(widget.contrast(), 100);
- QCOMPARE(widget.hue(), 100);
- QCOMPARE(widget.saturation(), 100);
-
- widget.setFullScreen(true);
- QCOMPARE(widget.isFullScreen(), true);
-}
-
-void tst_QVideoWidget::objectDestroyed()
-{
- QtTestVideoObject *object = new QtTestVideoObject(
- new QtTestWindowControl,
- new QtTestWidgetControl,
- 0);
-
- QVideoWidget widget;
- widget.setMediaObject(object);
- widget.setWindowFlags(Qt::X11BypassWindowManagerHint);
-
- widget.show();
- QTest::qWaitForWindowShown(&widget);
-
- widget.setBrightness(100);
- widget.setContrast(100);
- widget.setHue(100);
- widget.setSaturation(100);
-
- // Delete the media object without deleting the service.
- QtTestVideoService *service = object->testService;
- object->testService = 0;
-
- delete object;
- object = 0;
-
- QCOMPARE(widget.mediaObject(), static_cast<QMediaObject *>(object));
-
- QCOMPARE(service->outputControl->output(), QVideoOutputControl::NoOutput);
-
- QCOMPARE(widget.brightness(), 100);
- QCOMPARE(widget.contrast(), 100);
- QCOMPARE(widget.hue(), 100);
- QCOMPARE(widget.saturation(), 100);
-
- widget.setFullScreen(true);
- QCOMPARE(widget.isFullScreen(), true);
-
- delete service;
-}
-
-void tst_QVideoWidget::setMediaObject()
-{
- QMediaObject *nullObject = 0;
- QtTestVideoObject windowObject(new QtTestWindowControl, 0, 0);
- QtTestVideoObject widgetObject(0, new QtTestWidgetControl, 0);
- QtTestVideoObject rendererObject(0, 0, new QtTestRendererControl);
-
- QVideoWidget widget;
- widget.setWindowFlags(Qt::X11BypassWindowManagerHint);
-
- widget.show();
- QTest::qWaitForWindowShown(&widget);
-
- QCOMPARE(widget.mediaObject(), nullObject);
- QCOMPARE(windowObject.testService->outputControl->output(), QVideoOutputControl::NoOutput);
- QCOMPARE(widgetObject.testService->outputControl->output(), QVideoOutputControl::NoOutput);
- QCOMPARE(rendererObject.testService->outputControl->output(), QVideoOutputControl::NoOutput);
-
- widget.setMediaObject(&windowObject);
- QCOMPARE(widget.mediaObject(), static_cast<QMediaObject *>(&windowObject));
- QCOMPARE(windowObject.testService->outputControl->output(), QVideoOutputControl::WindowOutput);
- QVERIFY(windowObject.testService->windowControl->winId() != 0);
-
-
- widget.setMediaObject(&widgetObject);
- QCOMPARE(widget.mediaObject(), static_cast<QMediaObject *>(&widgetObject));
- QCOMPARE(widgetObject.testService->outputControl->output(), QVideoOutputControl::WidgetOutput);
-
- QCoreApplication::processEvents(QEventLoop::AllEvents);
- QCOMPARE(widgetObject.testService->widgetControl->videoWidget()->isVisible(), true);
-
- QCOMPARE(windowObject.testService->outputControl->output(), QVideoOutputControl::NoOutput);
-
- widget.setMediaObject(&rendererObject);
- QCOMPARE(widget.mediaObject(), static_cast<QMediaObject *>(&rendererObject));
- QCOMPARE(rendererObject.testService->outputControl->output(), QVideoOutputControl::RendererOutput);
- QVERIFY(rendererObject.testService->rendererControl->surface() != 0);
-
- QCOMPARE(widgetObject.testService->outputControl->output(), QVideoOutputControl::NoOutput);
-
- widget.setMediaObject(0);
- QCOMPARE(widget.mediaObject(), nullObject);
-
- QCOMPARE(rendererObject.testService->outputControl->output(), QVideoOutputControl::NoOutput);
-}
-
-void tst_QVideoWidget::showWindowControl()
-{
- QtTestVideoObject object(new QtTestWindowControl, 0, 0);
- object.testService->windowControl->setNativeSize(QSize(240, 180));
-
- QVideoWidget widget;
- widget.setMediaObject(&object);
- widget.setWindowFlags(Qt::X11BypassWindowManagerHint);
-
- QCOMPARE(object.testService->outputControl->output(), QVideoOutputControl::NoOutput);
-
- widget.show();
- QTest::qWaitForWindowShown(&widget);
-
- QCOMPARE(object.testService->outputControl->output(), QVideoOutputControl::WindowOutput);
- QVERIFY(object.testService->windowControl->winId() != 0);
-
- QVERIFY(object.testService->windowControl->repaintCount() > 0);
-
- widget.resize(640, 480);
- QCOMPARE(object.testService->windowControl->displayRect(), QRect(0, 0, 640, 480));
-
- widget.move(10, 10);
- QCOMPARE(object.testService->windowControl->displayRect(), QRect(0, 0, 640, 480));
-
- widget.hide();
-
- QCOMPARE(object.testService->outputControl->output(), QVideoOutputControl::WindowOutput);
-}
-
-void tst_QVideoWidget::showWidgetControl()
-{
- QtTestVideoObject object(0, new QtTestWidgetControl, 0);
- QVideoWidget widget;
- widget.setMediaObject(&object);
- widget.setWindowFlags(Qt::X11BypassWindowManagerHint);
-
- QCOMPARE(object.testService->outputControl->output(), QVideoOutputControl::NoOutput);
-
- widget.show();
- QTest::qWaitForWindowShown(&widget);
-
- QCOMPARE(object.testService->outputControl->output(), QVideoOutputControl::WidgetOutput);
- QCOMPARE(object.testService->widgetControl->videoWidget()->isVisible(), true);
-
- widget.resize(640, 480);
-
- widget.move(10, 10);
-
- widget.hide();
-
- QCOMPARE(object.testService->outputControl->output(), QVideoOutputControl::WidgetOutput);
- QCOMPARE(object.testService->widgetControl->videoWidget()->isVisible(), false);
-}
-
-void tst_QVideoWidget::showRendererControl()
-{
- QtTestVideoObject object(0, 0, new QtTestRendererControl);
- QVideoWidget widget;
- widget.setMediaObject(&object);
- widget.setWindowFlags(Qt::X11BypassWindowManagerHint);
-
- QCOMPARE(object.testService->outputControl->output(), QVideoOutputControl::NoOutput);
-
- widget.show();
- QTest::qWaitForWindowShown(&widget);
-
- QCOMPARE(object.testService->outputControl->output(), QVideoOutputControl::RendererOutput);
- QVERIFY(object.testService->rendererControl->surface() != 0);
-
- widget.resize(640, 480);
-
- widget.move(10, 10);
-
- widget.hide();
-
- QCOMPARE(object.testService->outputControl->output(), QVideoOutputControl::RendererOutput);
-}
-
-void tst_QVideoWidget::aspectRatioWindowControl()
-{
- QtTestVideoObject object(new QtTestWindowControl, 0, 0);
- object.testService->windowControl->setAspectRatioMode(Qt::IgnoreAspectRatio);
-
- QVideoWidget widget;
- widget.setMediaObject(&object);
- widget.setWindowFlags(Qt::X11BypassWindowManagerHint);
-
- // Test the aspect ratio defaults to keeping the aspect ratio.
- QCOMPARE(widget.aspectRatioMode(), Qt::KeepAspectRatio);
-
- // Test the control has been informed of the aspect ratio change, post show.
- widget.show();
- QTest::qWaitForWindowShown(&widget);
- QCOMPARE(widget.aspectRatioMode(), Qt::KeepAspectRatio);
- QCOMPARE(object.testService->windowControl->aspectRatioMode(), Qt::KeepAspectRatio);
-
- // Test an aspect ratio change is enforced immediately while visible.
- widget.setAspectRatioMode(Qt::IgnoreAspectRatio);
- QCOMPARE(widget.aspectRatioMode(), Qt::IgnoreAspectRatio);
- QCOMPARE(object.testService->windowControl->aspectRatioMode(), Qt::IgnoreAspectRatio);
-
- // Test an aspect ratio set while not visible is respected.
- widget.hide();
- widget.setAspectRatioMode(Qt::KeepAspectRatio);
- QCOMPARE(widget.aspectRatioMode(), Qt::KeepAspectRatio);
- widget.show();
- QCOMPARE(widget.aspectRatioMode(), Qt::KeepAspectRatio);
- QCOMPARE(object.testService->windowControl->aspectRatioMode(), Qt::KeepAspectRatio);
-}
-
-void tst_QVideoWidget::aspectRatioWidgetControl()
-{
- QtTestVideoObject object(0, new QtTestWidgetControl, 0);
- object.testService->widgetControl->setAspectRatioMode(Qt::IgnoreAspectRatio);
-
- QVideoWidget widget;
- widget.setMediaObject(&object);
- widget.setWindowFlags(Qt::X11BypassWindowManagerHint);
-
- // Test the aspect ratio defaults to keeping the aspect ratio.
- QCOMPARE(widget.aspectRatioMode(), Qt::KeepAspectRatio);
-
- // Test the control has been informed of the aspect ratio change, post show.
- widget.show();
- QTest::qWaitForWindowShown(&widget);
- QCOMPARE(widget.aspectRatioMode(), Qt::KeepAspectRatio);
- QCOMPARE(object.testService->widgetControl->aspectRatioMode(), Qt::KeepAspectRatio);
-
- // Test an aspect ratio change is enforced immediately while visible.
- widget.setAspectRatioMode(Qt::IgnoreAspectRatio);
- QCOMPARE(widget.aspectRatioMode(), Qt::IgnoreAspectRatio);
- QCOMPARE(object.testService->widgetControl->aspectRatioMode(), Qt::IgnoreAspectRatio);
-
- // Test an aspect ratio set while not visible is respected.
- widget.hide();
- widget.setAspectRatioMode(Qt::KeepAspectRatio);
- QCOMPARE(widget.aspectRatioMode(), Qt::KeepAspectRatio);
- widget.show();
- QCOMPARE(widget.aspectRatioMode(), Qt::KeepAspectRatio);
- QCOMPARE(object.testService->widgetControl->aspectRatioMode(), Qt::KeepAspectRatio);
-}
-
-void tst_QVideoWidget::aspectRatioRendererControl()
-{
- QtTestVideoObject object(0, 0, new QtTestRendererControl);
-
- QVideoWidget widget;
- widget.setMediaObject(&object);
- widget.setWindowFlags(Qt::X11BypassWindowManagerHint);
-
- // Test the aspect ratio defaults to keeping the aspect ratio.
- QCOMPARE(widget.aspectRatioMode(), Qt::KeepAspectRatio);
-
- // Test the control has been informed of the aspect ratio change, post show.
- widget.show();
- QTest::qWaitForWindowShown(&widget);
- QCOMPARE(widget.aspectRatioMode(), Qt::KeepAspectRatio);
-
- // Test an aspect ratio change is enforced immediately while visible.
- widget.setAspectRatioMode(Qt::IgnoreAspectRatio);
- QCOMPARE(widget.aspectRatioMode(), Qt::IgnoreAspectRatio);
-
- // Test an aspect ratio set while not visible is respected.
- widget.hide();
- widget.setAspectRatioMode(Qt::KeepAspectRatio);
- QCOMPARE(widget.aspectRatioMode(), Qt::KeepAspectRatio);
- widget.show();
- QCOMPARE(widget.aspectRatioMode(), Qt::KeepAspectRatio);
-}
-
-void tst_QVideoWidget::sizeHint_data()
-{
- QTest::addColumn<QSize>("size");
-
- QTest::newRow("720x576")
- << QSize(720, 576);
-}
-
-void tst_QVideoWidget::sizeHintWindowControl()
-{
- QFETCH(QSize, size);
-
- QtTestVideoObject object(new QtTestWindowControl, 0, 0);
- QVideoWidget widget;
- widget.setMediaObject(&object);
- widget.setWindowFlags(Qt::X11BypassWindowManagerHint);
- widget.show();
- QTest::qWaitForWindowShown(&widget);
-
- QVERIFY(widget.sizeHint().isEmpty());
-
- object.testService->windowControl->setNativeSize(size);
- QCOMPARE(widget.sizeHint(), size);
-}
-
-void tst_QVideoWidget::sizeHintWidgetControl()
-{
- QFETCH(QSize, size);
-
- QtTestVideoObject object(0, new QtTestWidgetControl, 0);
- QVideoWidget widget;
- widget.setMediaObject(&object);
- widget.setWindowFlags(Qt::X11BypassWindowManagerHint);
- widget.show();
- QTest::qWaitForWindowShown(&widget);
-
- QVERIFY(widget.sizeHint().isEmpty());
-
- object.testService->widgetControl->setSizeHint(size);
- QCOMPARE(widget.sizeHint(), size);
-}
-
-void tst_QVideoWidget::sizeHintRendererControl_data()
-{
- QTest::addColumn<QSize>("frameSize");
- QTest::addColumn<QRect>("viewport");
- QTest::addColumn<QSize>("pixelAspectRatio");
- QTest::addColumn<QSize>("expectedSize");
-
- QTest::newRow("640x480")
- << QSize(640, 480)
- << QRect(0, 0, 640, 480)
- << QSize(1, 1)
- << QSize(640, 480);
-
- QTest::newRow("800x600, (80,60, 640x480) viewport")
- << QSize(800, 600)
- << QRect(80, 60, 640, 480)
- << QSize(1, 1)
- << QSize(640, 480);
-
- QTest::newRow("800x600, (80,60, 640x480) viewport, 4:3")
- << QSize(800, 600)
- << QRect(80, 60, 640, 480)
- << QSize(4, 3)
- << QSize(853, 480);
-
-}
-
-void tst_QVideoWidget::sizeHintRendererControl()
-{
- QFETCH(QSize, frameSize);
- QFETCH(QRect, viewport);
- QFETCH(QSize, pixelAspectRatio);
- QFETCH(QSize, expectedSize);
-
- QtTestVideoObject object(0, 0, new QtTestRendererControl);
- QVideoWidget widget;
- widget.setMediaObject(&object);
- widget.setWindowFlags(Qt::X11BypassWindowManagerHint);
-
- widget.show();
- QTest::qWaitForWindowShown(&widget);
-
- QVideoSurfaceFormat format(frameSize, QVideoFrame::Format_ARGB32);
- format.setViewport(viewport);
- format.setPixelAspectRatio(pixelAspectRatio);
-
- QVERIFY(object.testService->rendererControl->surface()->start(format));
-
- QCOMPARE(widget.sizeHint(), expectedSize);
-}
-
-#ifndef Q_WS_X11
-
-void tst_QVideoWidget::fullScreenWindowControl()
-{
- QtTestVideoObject object(new QtTestWindowControl, 0, 0);
- QVideoWidget widget;
- widget.setMediaObject(&object);
- widget.show();
- QTest::qWaitForWindowShown(&widget);
-
- Qt::WindowFlags windowFlags = widget.windowFlags();
-
- QSignalSpy spy(&widget, SIGNAL(fullScreenChanged(bool)));
-
- // Test showing full screen with setFullScreen(true).
- widget.setFullScreen(true);
- QTest::qWaitForWindowShown(&widget);
- QCOMPARE(object.testService->windowControl->isFullScreen(), true);
- QCOMPARE(widget.isFullScreen(), true);
- QCOMPARE(spy.count(), 1);
- QCOMPARE(spy.value(0).value(0).toBool(), true);
-
- // Test returning to normal with setFullScreen(false).
- widget.setFullScreen(false);
- QTest::qWaitForWindowShown(&widget);
- QCOMPARE(object.testService->windowControl->isFullScreen(), false);
- QCOMPARE(widget.isFullScreen(), false);
- QCOMPARE(spy.count(), 2);
- QCOMPARE(spy.value(1).value(0).toBool(), false);
- QCOMPARE(widget.windowFlags(), windowFlags);
-
- // Test showing full screen with showFullScreen().
- widget.showFullScreen();
- QTest::qWaitForWindowShown(&widget);
- QCOMPARE(object.testService->windowControl->isFullScreen(), true);
- QCOMPARE(widget.isFullScreen(), true);
- QCOMPARE(spy.count(), 3);
- QCOMPARE(spy.value(2).value(0).toBool(), true);
-
- // Test returning to normal with showNormal().
- widget.showNormal();
- QTest::qWaitForWindowShown(&widget);
- QCOMPARE(object.testService->windowControl->isFullScreen(), false);
- QCOMPARE(widget.isFullScreen(), false);
- QCOMPARE(spy.count(), 4);
- QCOMPARE(spy.value(3).value(0).toBool(), false);
- QCOMPARE(widget.windowFlags(), windowFlags);
-
- // Test setFullScreen(false) and showNormal() do nothing when isFullScreen() == false.
- widget.setFullScreen(false);
- QCOMPARE(object.testService->windowControl->isFullScreen(), false);
- QCOMPARE(widget.isFullScreen(), false);
- QCOMPARE(spy.count(), 4);
- widget.showNormal();
- QTest::qWaitForWindowShown(&widget);
- QCOMPARE(object.testService->windowControl->isFullScreen(), false);
- QCOMPARE(widget.isFullScreen(), false);
- QCOMPARE(spy.count(), 4);
-
- // Test setFullScreen(true) and showFullScreen() do nothing when isFullScreen() == true.
- widget.showFullScreen();
- QTest::qWaitForWindowShown(&widget);
- widget.setFullScreen(true);
- QCOMPARE(object.testService->windowControl->isFullScreen(), true);
- QCOMPARE(widget.isFullScreen(), true);
- QCOMPARE(spy.count(), 5);
- widget.showFullScreen();
- QCOMPARE(object.testService->windowControl->isFullScreen(), true);
- QCOMPARE(widget.isFullScreen(), true);
- QCOMPARE(spy.count(), 5);
-
- // Test if the window control exits full screen mode, the widget follows suit.
- object.testService->windowControl->setFullScreen(false);
- QCOMPARE(widget.isFullScreen(), false);
- QCOMPARE(spy.count(), 6);
- QCOMPARE(spy.value(5).value(0).toBool(), false);
-
- // Test if the window control enters full screen mode, the widget does nothing.
- object.testService->windowControl->setFullScreen(false);
- QCOMPARE(widget.isFullScreen(), false);
- QCOMPARE(spy.count(), 6);
-}
-
-void tst_QVideoWidget::fullScreenWidgetControl()
-{
- QtTestVideoObject object(0, new QtTestWidgetControl, 0);
- QVideoWidget widget;
- widget.setMediaObject(&object);
- widget.show();
- QTest::qWaitForWindowShown(&widget);
-
- Qt::WindowFlags windowFlags = widget.windowFlags();
-
- QSignalSpy spy(&widget, SIGNAL(fullScreenChanged(bool)));
-
- // Test showing full screen with setFullScreen(true).
- widget.setFullScreen(true);
- QTest::qWaitForWindowShown(&widget);
- QCOMPARE(object.testService->widgetControl->isFullScreen(), true);
- QCOMPARE(widget.isFullScreen(), true);
- QCOMPARE(spy.count(), 1);
- QCOMPARE(spy.value(0).value(0).toBool(), true);
-
- // Test returning to normal with setFullScreen(false).
- widget.setFullScreen(false);
- QTest::qWaitForWindowShown(&widget);
- QCOMPARE(object.testService->widgetControl->isFullScreen(), false);
- QCOMPARE(widget.isFullScreen(), false);
- QCOMPARE(spy.count(), 2);
- QCOMPARE(spy.value(1).value(0).toBool(), false);
- QCOMPARE(widget.windowFlags(), windowFlags);
-
- // Test showing full screen with showFullScreen().
- widget.showFullScreen();
- QTest::qWaitForWindowShown(&widget);
- QCOMPARE(object.testService->widgetControl->isFullScreen(), true);
- QCOMPARE(widget.isFullScreen(), true);
- QCOMPARE(spy.count(), 3);
- QCOMPARE(spy.value(2).value(0).toBool(), true);
-
- // Test returning to normal with showNormal().
- widget.showNormal();
- QTest::qWaitForWindowShown(&widget);
- QCOMPARE(object.testService->widgetControl->isFullScreen(), false);
- QCOMPARE(widget.isFullScreen(), false);
- QCOMPARE(spy.count(), 4);
- QCOMPARE(spy.value(3).value(0).toBool(), false);
- QCOMPARE(widget.windowFlags(), windowFlags);
-
- // Test setFullScreen(false) and showNormal() do nothing when isFullScreen() == false.
- widget.setFullScreen(false);
- QCOMPARE(object.testService->widgetControl->isFullScreen(), false);
- QCOMPARE(widget.isFullScreen(), false);
- QCOMPARE(spy.count(), 4);
- widget.showNormal();
- QCOMPARE(object.testService->widgetControl->isFullScreen(), false);
- QCOMPARE(widget.isFullScreen(), false);
- QCOMPARE(spy.count(), 4);
-
- // Test setFullScreen(true) and showFullScreen() do nothing when isFullScreen() == true.
- widget.showFullScreen();
- QTest::qWaitForWindowShown(&widget);
- widget.setFullScreen(true);
- QCOMPARE(object.testService->widgetControl->isFullScreen(), true);
- QCOMPARE(widget.isFullScreen(), true);
- QCOMPARE(spy.count(), 5);
- widget.showFullScreen();
- QCOMPARE(object.testService->widgetControl->isFullScreen(), true);
- QCOMPARE(widget.isFullScreen(), true);
- QCOMPARE(spy.count(), 5);
-
- // Test if the window control exits full screen mode, the widget follows suit.
- object.testService->widgetControl->setFullScreen(false);
- QTest::qWaitForWindowShown(&widget);
- QCOMPARE(widget.isFullScreen(), false);
- QCOMPARE(spy.count(), 6);
- QCOMPARE(spy.value(5).value(0).toBool(), false);
-
- // Test if the window control enters full screen mode, the widget does nothing.
- object.testService->widgetControl->setFullScreen(false);
- QCOMPARE(widget.isFullScreen(), false);
- QCOMPARE(spy.count(), 6);
-}
-
-
-void tst_QVideoWidget::fullScreenRendererControl()
-{
- QtTestVideoObject object(0, 0, new QtTestRendererControl);
- QVideoWidget widget;
- widget.setMediaObject(&object);
- widget.show();
- QTest::qWaitForWindowShown(&widget);
-
- Qt::WindowFlags windowFlags = widget.windowFlags();
-
- QSignalSpy spy(&widget, SIGNAL(fullScreenChanged(bool)));
-
- // Test showing full screen with setFullScreen(true).
- widget.setFullScreen(true);
- QTest::qWaitForWindowShown(&widget);
- QCOMPARE(widget.isFullScreen(), true);
- QCOMPARE(spy.count(), 1);
- QCOMPARE(spy.value(0).value(0).toBool(), true);
-
- // Test returning to normal with setFullScreen(false).
- widget.setFullScreen(false);
- QTest::qWaitForWindowShown(&widget);
- QCOMPARE(widget.isFullScreen(), false);
- QCOMPARE(spy.count(), 2);
- QCOMPARE(spy.value(1).value(0).toBool(), false);
- QCOMPARE(widget.windowFlags(), windowFlags);
-
- // Test showing full screen with showFullScreen().
- widget.showFullScreen();
- QTest::qWaitForWindowShown(&widget);
- QCOMPARE(widget.isFullScreen(), true);
- QCOMPARE(spy.count(), 3);
- QCOMPARE(spy.value(2).value(0).toBool(), true);
-
- // Test returning to normal with showNormal().
- widget.showNormal();
- QTest::qWaitForWindowShown(&widget);
- QCOMPARE(widget.isFullScreen(), false);
- QCOMPARE(spy.count(), 4);
- QCOMPARE(spy.value(3).value(0).toBool(), false);
- QCOMPARE(widget.windowFlags(), windowFlags);
-
- // Test setFullScreen(false) and showNormal() do nothing when isFullScreen() == false.
- widget.setFullScreen(false);
- QCOMPARE(widget.isFullScreen(), false);
- QCOMPARE(spy.count(), 4);
- widget.showNormal();
- QCOMPARE(widget.isFullScreen(), false);
- QCOMPARE(spy.count(), 4);
-
- // Test setFullScreen(true) and showFullScreen() do nothing when isFullScreen() == true.
- widget.showFullScreen();
- QTest::qWaitForWindowShown(&widget);
- widget.setFullScreen(true);
- QCOMPARE(widget.isFullScreen(), true);
- QCOMPARE(spy.count(), 5);
- widget.showFullScreen();
- QCOMPARE(widget.isFullScreen(), true);
- QCOMPARE(spy.count(), 5);
-}
-
-#endif
-
-void tst_QVideoWidget::color_data()
-{
- QTest::addColumn<int>("controlValue");
- QTest::addColumn<int>("value");
- QTest::addColumn<int>("expectedValue");
-
- QTest::newRow("12")
- << 0
- << 12
- << 12;
- QTest::newRow("-56")
- << 87
- << -56
- << -56;
- QTest::newRow("100")
- << 32
- << 100
- << 100;
- QTest::newRow("1294")
- << 0
- << 1294
- << 100;
- QTest::newRow("-102")
- << 34
- << -102
- << -100;
-}
-
-void tst_QVideoWidget::brightnessWindowControl()
-{
- QFETCH(int, controlValue);
- QFETCH(int, value);
- QFETCH(int, expectedValue);
-
- QtTestVideoObject object(new QtTestWindowControl, 0, 0);
- object.testService->windowControl->setBrightness(controlValue);
-
- QVideoWidget widget;
- widget.setMediaObject(&object);
- widget.setWindowFlags(Qt::X11BypassWindowManagerHint);
- widget.show();
- QTest::qWaitForWindowShown(&widget);
-
- // Test the video widget resets the controls starting brightness to the default.
- QCOMPARE(widget.brightness(), 0);
-
- QSignalSpy spy(&widget, SIGNAL(brightnessChanged(int)));
-
- // Test the video widget sets the brightness value, bounded if necessary and emits a changed
- // signal.
- widget.setBrightness(value);
- QCOMPARE(widget.brightness(), expectedValue);
- QCOMPARE(object.testService->windowControl->brightness(), expectedValue);
- QCOMPARE(spy.count(), 1);
- QCOMPARE(spy.value(0).value(0).toInt(), expectedValue);
-
- // Test the changed signal isn't emitted if the value is unchanged.
- widget.setBrightness(value);
- QCOMPARE(widget.brightness(), expectedValue);
- QCOMPARE(object.testService->windowControl->brightness(), expectedValue);
- QCOMPARE(spy.count(), 1);
-
- // Test the changed signal is emitted if the brightness is changed internally.
- object.testService->windowControl->setBrightness(controlValue);
- QCOMPARE(widget.brightness(), controlValue);
- QCOMPARE(spy.count(), 2);
- QCOMPARE(spy.value(1).value(0).toInt(), controlValue);
-}
-
-void tst_QVideoWidget::brightnessWidgetControl()
-{
- QFETCH(int, controlValue);
- QFETCH(int, value);
- QFETCH(int, expectedValue);
-
- QtTestVideoObject object(0, new QtTestWidgetControl, 0);
- object.testService->widgetControl->setBrightness(controlValue);
-
- QVideoWidget widget;
- widget.setMediaObject(&object);
- widget.setWindowFlags(Qt::X11BypassWindowManagerHint);
-
- QCOMPARE(widget.brightness(), 0);
-
- widget.show();
- QTest::qWaitForWindowShown(&widget);
-
- QSignalSpy spy(&widget, SIGNAL(brightnessChanged(int)));
-
- widget.setBrightness(value);
- QCOMPARE(widget.brightness(), expectedValue);
- QCOMPARE(object.testService->widgetControl->brightness(), expectedValue);
- QCOMPARE(spy.count(), 1);
- QCOMPARE(spy.value(0).value(0).toInt(), expectedValue);
-
- widget.setBrightness(value);
- QCOMPARE(widget.brightness(), expectedValue);
- QCOMPARE(object.testService->widgetControl->brightness(), expectedValue);
- QCOMPARE(spy.count(), 1);
-
- object.testService->widgetControl->setBrightness(controlValue);
- QCOMPARE(widget.brightness(), controlValue);
- QCOMPARE(spy.count(), 2);
- QCOMPARE(spy.value(1).value(0).toInt(), controlValue);
-}
-
-void tst_QVideoWidget::brightnessRendererControl()
-{
- QFETCH(int, value);
- QFETCH(int, expectedValue);
-
- QtTestVideoObject object(0, 0, new QtTestRendererControl);
-
- QVideoWidget widget;
- widget.setMediaObject(&object);
- widget.setWindowFlags(Qt::X11BypassWindowManagerHint);
- widget.show();
- QTest::qWaitForWindowShown(&widget);
-
- QSignalSpy spy(&widget, SIGNAL(brightnessChanged(int)));
-
- widget.setBrightness(value);
- QCOMPARE(widget.brightness(), expectedValue);
- QCOMPARE(spy.count(), 1);
- QCOMPARE(spy.value(0).value(0).toInt(), expectedValue);
-
- widget.setBrightness(value);
- QCOMPARE(widget.brightness(), expectedValue);
- QCOMPARE(spy.count(), 1);
-}
-
-void tst_QVideoWidget::contrastWindowControl()
-{
- QFETCH(int, controlValue);
- QFETCH(int, value);
- QFETCH(int, expectedValue);
-
- QtTestVideoObject object(new QtTestWindowControl, 0, 0);
- object.testService->windowControl->setContrast(controlValue);
-
- QVideoWidget widget;
- widget.setMediaObject(&object);
- widget.setWindowFlags(Qt::X11BypassWindowManagerHint);
-
- QCOMPARE(widget.contrast(), 0);
-
- widget.show();
- QTest::qWaitForWindowShown(&widget);
- QCOMPARE(widget.contrast(), 0);
-
- QSignalSpy spy(&widget, SIGNAL(contrastChanged(int)));
-
- widget.setContrast(value);
- QCOMPARE(widget.contrast(), expectedValue);
- QCOMPARE(object.testService->windowControl->contrast(), expectedValue);
- QCOMPARE(spy.count(), 1);
- QCOMPARE(spy.value(0).value(0).toInt(), expectedValue);
-
- widget.setContrast(value);
- QCOMPARE(widget.contrast(), expectedValue);
- QCOMPARE(object.testService->windowControl->contrast(), expectedValue);
- QCOMPARE(spy.count(), 1);
-
- object.testService->windowControl->setContrast(controlValue);
- QCOMPARE(widget.contrast(), controlValue);
- QCOMPARE(spy.count(), 2);
- QCOMPARE(spy.value(1).value(0).toInt(), controlValue);
-}
-
-void tst_QVideoWidget::contrastWidgetControl()
-{
- QFETCH(int, controlValue);
- QFETCH(int, value);
- QFETCH(int, expectedValue);
-
- QtTestVideoObject object(0, new QtTestWidgetControl, 0);
- object.testService->widgetControl->setContrast(controlValue);
-
- QVideoWidget widget;
- widget.setMediaObject(&object);
- widget.setWindowFlags(Qt::X11BypassWindowManagerHint);
- QCOMPARE(widget.contrast(), 0);
-
- widget.show();
- QTest::qWaitForWindowShown(&widget);
- QCOMPARE(widget.contrast(), 0);
-
- QSignalSpy spy(&widget, SIGNAL(contrastChanged(int)));
-
- widget.setContrast(value);
- QCOMPARE(widget.contrast(), expectedValue);
- QCOMPARE(object.testService->widgetControl->contrast(), expectedValue);
- QCOMPARE(spy.count(), 1);
- QCOMPARE(spy.value(0).value(0).toInt(), expectedValue);
-
- widget.setContrast(value);
- QCOMPARE(widget.contrast(), expectedValue);
- QCOMPARE(object.testService->widgetControl->contrast(), expectedValue);
- QCOMPARE(spy.count(), 1);
-
- object.testService->widgetControl->setContrast(controlValue);
- QCOMPARE(widget.contrast(), controlValue);
- QCOMPARE(spy.count(), 2);
- QCOMPARE(spy.value(1).value(0).toInt(), controlValue);
-}
-
-void tst_QVideoWidget::contrastRendererControl()
-{
- QFETCH(int, value);
- QFETCH(int, expectedValue);
-
- QtTestVideoObject object(0, 0, new QtTestRendererControl);
-
- QVideoWidget widget;
- widget.setMediaObject(&object);
- widget.setWindowFlags(Qt::X11BypassWindowManagerHint);
- widget.show();
- QTest::qWaitForWindowShown(&widget);
-
- QSignalSpy spy(&widget, SIGNAL(contrastChanged(int)));
-
- widget.setContrast(value);
- QCOMPARE(widget.contrast(), expectedValue);
- QCOMPARE(spy.count(), 1);
- QCOMPARE(spy.value(0).value(0).toInt(), expectedValue);
-
- widget.setContrast(value);
- QCOMPARE(widget.contrast(), expectedValue);
- QCOMPARE(spy.count(), 1);
-}
-
-void tst_QVideoWidget::hueWindowControl()
-{
- QFETCH(int, controlValue);
- QFETCH(int, value);
- QFETCH(int, expectedValue);
-
- QtTestVideoObject object(new QtTestWindowControl, 0, 0);
- object.testService->windowControl->setHue(controlValue);
-
- QVideoWidget widget;
- widget.setMediaObject(&object);
- widget.setWindowFlags(Qt::X11BypassWindowManagerHint);
- QCOMPARE(widget.hue(), 0);
-
- widget.show();
- QTest::qWaitForWindowShown(&widget);
- QCOMPARE(widget.hue(), 0);
-
- QSignalSpy spy(&widget, SIGNAL(hueChanged(int)));
-
- widget.setHue(value);
- QCOMPARE(widget.hue(), expectedValue);
- QCOMPARE(object.testService->windowControl->hue(), expectedValue);
- QCOMPARE(spy.count(), 1);
- QCOMPARE(spy.value(0).value(0).toInt(), expectedValue);
-
- widget.setHue(value);
- QCOMPARE(widget.hue(), expectedValue);
- QCOMPARE(object.testService->windowControl->hue(), expectedValue);
- QCOMPARE(spy.count(), 1);
-
- object.testService->windowControl->setHue(controlValue);
- QCOMPARE(widget.hue(), controlValue);
- QCOMPARE(spy.count(), 2);
- QCOMPARE(spy.value(1).value(0).toInt(), controlValue);
-}
-
-void tst_QVideoWidget::hueWidgetControl()
-{
- QFETCH(int, controlValue);
- QFETCH(int, value);
- QFETCH(int, expectedValue);
-
- QtTestVideoObject object(0, new QtTestWidgetControl, 0);
- object.testService->widgetControl->setHue(controlValue);
-
- QVideoWidget widget;
- widget.setMediaObject(&object);
- widget.setWindowFlags(Qt::X11BypassWindowManagerHint);
- QCOMPARE(widget.hue(), 0);
-
- widget.show();
- QTest::qWaitForWindowShown(&widget);
- QCOMPARE(widget.hue(), 0);
-
- QSignalSpy spy(&widget, SIGNAL(hueChanged(int)));
-
- widget.setHue(value);
- QCOMPARE(widget.hue(), expectedValue);
- QCOMPARE(object.testService->widgetControl->hue(), expectedValue);
- QCOMPARE(spy.count(), 1);
- QCOMPARE(spy.value(0).value(0).toInt(), expectedValue);
-
- widget.setHue(value);
- QCOMPARE(widget.hue(), expectedValue);
- QCOMPARE(object.testService->widgetControl->hue(), expectedValue);
- QCOMPARE(spy.count(), 1);
-
- object.testService->widgetControl->setHue(controlValue);
- QCOMPARE(widget.hue(), controlValue);
- QCOMPARE(spy.count(), 2);
- QCOMPARE(spy.value(1).value(0).toInt(), controlValue);
-}
-
-void tst_QVideoWidget::hueRendererControl()
-{
- QFETCH(int, value);
- QFETCH(int, expectedValue);
-
- QtTestVideoObject object(0, 0, new QtTestRendererControl);
-
- QVideoWidget widget;
- widget.setMediaObject(&object);
- widget.setWindowFlags(Qt::X11BypassWindowManagerHint);
- widget.show();
- QTest::qWaitForWindowShown(&widget);
-
- QSignalSpy spy(&widget, SIGNAL(hueChanged(int)));
-
- widget.setHue(value);
- QCOMPARE(widget.hue(), expectedValue);
- QCOMPARE(spy.count(), 1);
- QCOMPARE(spy.value(0).value(0).toInt(), expectedValue);
-
- widget.setHue(value);
- QCOMPARE(widget.hue(), expectedValue);
- QCOMPARE(spy.count(), 1);
-}
-
-void tst_QVideoWidget::saturationWindowControl()
-{
- QFETCH(int, controlValue);
- QFETCH(int, value);
- QFETCH(int, expectedValue);
-
- QtTestVideoObject object(new QtTestWindowControl, 0, 0);
- object.testService->windowControl->setSaturation(controlValue);
-
- QVideoWidget widget;
- widget.setMediaObject(&object);
- widget.setWindowFlags(Qt::X11BypassWindowManagerHint);
- QCOMPARE(widget.saturation(), 0);
- widget.show();
- QTest::qWaitForWindowShown(&widget);
- QCOMPARE(widget.saturation(), 0);
-
- QSignalSpy spy(&widget, SIGNAL(saturationChanged(int)));
-
- widget.setSaturation(value);
- QCOMPARE(widget.saturation(), expectedValue);
- QCOMPARE(object.testService->windowControl->saturation(), expectedValue);
- QCOMPARE(spy.count(), 1);
- QCOMPARE(spy.value(0).value(0).toInt(), expectedValue);
-
- widget.setSaturation(value);
- QCOMPARE(widget.saturation(), expectedValue);
- QCOMPARE(object.testService->windowControl->saturation(), expectedValue);
- QCOMPARE(spy.count(), 1);
-
- object.testService->windowControl->setSaturation(controlValue);
- QCOMPARE(widget.saturation(), controlValue);
- QCOMPARE(spy.count(), 2);
- QCOMPARE(spy.value(1).value(0).toInt(), controlValue);
-}
-
-void tst_QVideoWidget::saturationWidgetControl()
-{
- QFETCH(int, controlValue);
- QFETCH(int, value);
- QFETCH(int, expectedValue);
-
- QtTestVideoObject object(0, new QtTestWidgetControl, 0);
- object.testService->widgetControl->setSaturation(controlValue);
-
- QVideoWidget widget;
- widget.setMediaObject(&object);
- widget.setWindowFlags(Qt::X11BypassWindowManagerHint);
-
- QCOMPARE(widget.saturation(), 0);
- widget.show();
- QTest::qWaitForWindowShown(&widget);
- QCOMPARE(widget.saturation(), 0);
-
- QSignalSpy spy(&widget, SIGNAL(saturationChanged(int)));
-
- widget.setSaturation(value);
- QCOMPARE(widget.saturation(), expectedValue);
- QCOMPARE(object.testService->widgetControl->saturation(), expectedValue);
- QCOMPARE(spy.count(), 1);
- QCOMPARE(spy.value(0).value(0).toInt(), expectedValue);
-
- widget.setSaturation(value);
- QCOMPARE(widget.saturation(), expectedValue);
- QCOMPARE(object.testService->widgetControl->saturation(), expectedValue);
- QCOMPARE(spy.count(), 1);
-
- object.testService->widgetControl->setSaturation(controlValue);
- QCOMPARE(widget.saturation(), controlValue);
- QCOMPARE(spy.count(), 2);
- QCOMPARE(spy.value(1).value(0).toInt(), controlValue);
-
-}
-
-void tst_QVideoWidget::saturationRendererControl()
-{
- QFETCH(int, value);
- QFETCH(int, expectedValue);
-
- QtTestVideoObject object(0, 0, new QtTestRendererControl);
-
- QVideoWidget widget;
- widget.setMediaObject(&object);
- widget.setWindowFlags(Qt::X11BypassWindowManagerHint);
- widget.show();
- QTest::qWaitForWindowShown(&widget);
- QSignalSpy spy(&widget, SIGNAL(saturationChanged(int)));
-
- widget.setSaturation(value);
- QCOMPARE(widget.saturation(), expectedValue);
- QCOMPARE(spy.count(), 1);
- QCOMPARE(spy.value(0).value(0).toInt(), expectedValue);
-
- widget.setSaturation(value);
- QCOMPARE(widget.saturation(), expectedValue);
- QCOMPARE(spy.count(), 1);
-}
-
-static const uchar rgb32ImageData[] =
-{
- 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00,
- 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00
-};
-
-void tst_QVideoWidget::paintRendererControl()
-{
- QtTestVideoObject object(0, 0, new QtTestRendererControl);
-
- QVideoWidget widget;
- widget.setMediaObject(&object);
- widget.setWindowFlags(Qt::X11BypassWindowManagerHint);
- widget.show();
- QTest::qWaitForWindowShown(&widget);
-
- QPainterVideoSurface *surface = qobject_cast<QPainterVideoSurface *>(
- object.testService->rendererControl->surface());
-
- QVideoSurfaceFormat format(QSize(2, 2), QVideoFrame::Format_RGB32);
-
- QVERIFY(surface->start(format));
- QCOMPARE(surface->isActive(), true);
- QCOMPARE(surface->isReady(), true);
-
- QCoreApplication::processEvents(QEventLoop::AllEvents);
-
- QCOMPARE(surface->isActive(), true);
- QCOMPARE(surface->isReady(), true);
-
- QVideoFrame frame(sizeof(rgb32ImageData), QSize(2, 2), 8, QVideoFrame::Format_RGB32);
-
- frame.map(QAbstractVideoBuffer::WriteOnly);
- memcpy(frame.bits(), rgb32ImageData, frame.mappedBytes());
- frame.unmap();
-
- QVERIFY(surface->present(frame));
- QCOMPARE(surface->isActive(), true);
- QCOMPARE(surface->isReady(), false);
-
- //wait up to 2 seconds for the frame to be presented
- for (int i=0; i<200 && !surface->isReady(); i++)
- QTest::qWait(10);
-
- QCOMPARE(surface->isActive(), true);
- QCOMPARE(surface->isReady(), true);
-}
-
-QTEST_MAIN(tst_QVideoWidget)
-
-#include "tst_qvideowidget.moc"
diff --git a/tests/auto/qwidget/tst_qwidget.cpp b/tests/auto/qwidget/tst_qwidget.cpp
index 29213d4fd9..528c6dc404 100644
--- a/tests/auto/qwidget/tst_qwidget.cpp
+++ b/tests/auto/qwidget/tst_qwidget.cpp
@@ -385,6 +385,7 @@ private slots:
void setGraphicsEffect();
void destroyBackingStore();
+ void destroyBackingStoreWhenHidden();
void activateWindow();
@@ -403,6 +404,10 @@ private slots:
void taskQTBUG_7532_tabOrderWithFocusProxy();
void movedAndResizedAttributes();
+ void childAt();
+#ifdef Q_WS_MAC
+ void childAt_unifiedToolBar();
+#endif
private:
bool ensureScreenSize(int width, int height);
@@ -605,10 +610,14 @@ void tst_QWidget::getSetCheck()
obj1.setAttribute(Qt::WA_InputMethodEnabled);
obj1.setInputContext(var13);
QCOMPARE(static_cast<QInputContext *>(var13), obj1.inputContext());
+ // QWidget takes ownership, so check parent
+ QCOMPARE(var13->parent(), static_cast<QObject *>(&obj1));
+ // Check self assignment
+ obj1.setInputContext(obj1.inputContext());
+ QCOMPARE(static_cast<QInputContext *>(var13), obj1.inputContext());
obj1.setInputContext((QInputContext *)0);
QCOMPARE(qApp->inputContext(), obj1.inputContext());
QVERIFY(qApp->inputContext() != var13);
- //delete var13; // No delete, since QWidget takes ownership
// bool QWidget::autoFillBackground()
// void QWidget::setAutoFillBackground(bool)
@@ -9502,9 +9511,7 @@ void tst_QWidget::destroyBackingStore()
QTRY_VERIFY(w.numPaintEvents > 0);
w.reset();
w.update();
- delete qt_widget_private(&w)->topData()->backingStore;
- qt_widget_private(&w)->topData()->backingStore = 0;
- qt_widget_private(&w)->topData()->backingStore = new QWidgetBackingStore(&w);
+ qt_widget_private(&w)->topData()->backingStore.create(&w);
w.update();
QApplication::processEvents();
@@ -9517,9 +9524,257 @@ void tst_QWidget::destroyBackingStore()
w.update();
QApplication::processEvents();
QCOMPARE(w.numPaintEvents, 2);
+#else
+ QSKIP("Test case relies on developer build (AUTOTEST_EXPORT)", SkipAll);
+#endif
+}
+
+// Helper function
+QWidgetBackingStore* backingStore(QWidget &widget)
+{
+ QWidgetBackingStore *backingStore = 0;
+#ifdef QT_BUILD_INTERNAL
+ if (QTLWExtra *topExtra = qt_widget_private(&widget)->maybeTopData())
+ backingStore = topExtra->backingStore.data();
+#endif
+ return backingStore;
+}
+
+// Wait for a condition to be true, timing out after 1 second
+// This is used following calls to QWidget::show() and QWidget::hide(), which are
+// expected to asynchronously trigger native window visibility events.
+#define WAIT_AND_VERIFY(condition) \
+ do { \
+ QTime start = QTime::currentTime(); \
+ while (!(condition) && (start.elapsed() < 1000)) { \
+ qApp->processEvents(); \
+ QTest::qWait(50); \
+ } \
+ if (!QTest::qVerify((condition), #condition, "", __FILE__, __LINE__)) \
+ return; \
+ } while (0)
+
+void tst_QWidget::destroyBackingStoreWhenHidden()
+{
+#ifndef QT_BUILD_INTERNAL
+ QSKIP("Test step requires access to Q_AUTOTEST_EXPORT", SkipAll);
+#endif
+
+#ifndef Q_OS_SYMBIAN
+ QSKIP("Only Symbian destroys backing store when native window becomes invisible", SkipAll);
#endif
+
+ testWidget->hide();
+ QTest::qWait(1000);
+
+ // 1. Single top-level QWidget
+ {
+ QWidget w;
+ w.setAutoFillBackground(true);
+ w.setPalette(Qt::yellow);
+ w.setGeometry(0, 0, 100, 100);
+ w.show();
+ QTest::qWaitForWindowShown(&w);
+ QVERIFY(0 != backingStore(w));
+
+ w.hide();
+ WAIT_AND_VERIFY(0 == backingStore(w));
+
+ w.show();
+ QTest::qWaitForWindowShown(&w);
+ QVERIFY(0 != backingStore(w));
+ }
+
+ // 2. Two top-level widgets
+ {
+ QWidget w1;
+ w1.setGeometry(0, 0, 100, 100);
+ w1.setAutoFillBackground(true);
+ w1.setPalette(Qt::red);
+ w1.show();
+ QTest::qWaitForWindowShown(&w1);
+ QVERIFY(0 != backingStore(w1));
+
+ QWidget w2;
+ w2.setGeometry(w1.geometry());
+ w1.setAutoFillBackground(true);
+ w1.setPalette(Qt::blue);
+ w2.show();
+ QTest::qWaitForWindowShown(&w2);
+ QVERIFY(0 != backingStore(w2));
+
+ // Check that w1 deleted its backing store when obscured by w2
+ QVERIFY(0 == backingStore(w1));
+
+ w2.move(w2.pos() + QPoint(10, 10));
+
+ // Check that w1 recreates its backing store when partially revealed
+ WAIT_AND_VERIFY(0 != backingStore(w1));
+ }
+
+ // 3. Native child widget
+ {
+ QWidget parent;
+ parent.setGeometry(0, 0, 100, 100);
+ parent.setAutoFillBackground(true);
+ parent.setPalette(Qt::yellow);
+
+ QWidget child(&parent);
+ child.setAutoFillBackground(true);
+ child.setPalette(Qt::green);
+
+ QVBoxLayout layout(&parent);
+ layout.setContentsMargins(10, 10, 10, 10);
+ layout.addWidget(&child);
+ parent.setLayout(&layout);
+
+ child.winId();
+
+ parent.show();
+ QTest::qWaitForWindowShown(&parent);
+
+ // Check that child window does not obscure parent window
+ QVERIFY(!parent.visibleRegion().subtracted(child.visibleRegion()).isEmpty());
+
+ // Native child widget should share parent's backing store
+ QWidgetBackingStore *const parentBs = backingStore(parent);
+ QVERIFY(0 != parentBs);
+ QVERIFY(0 == backingStore(child));
+
+ // Set margins to zero so that child widget totally obscures parent
+ layout.setContentsMargins(0, 0, 0, 0);
+
+ WAIT_AND_VERIFY(parent.visibleRegion().subtracted(child.visibleRegion()).isEmpty());
+
+ // Backing store should remain unchanged despite child window obscuring
+ // parent window
+ QVERIFY(parentBs == backingStore(parent));
+ QVERIFY(0 == backingStore(child));
+ }
+
+ // 4. Alien child widget which is made full-screen
+ {
+ QWidget parent;
+ parent.setGeometry(0, 0, 100, 100);
+ parent.setAutoFillBackground(true);
+ parent.setPalette(Qt::red);
+
+ QWidget child(&parent);
+ child.setAutoFillBackground(true);
+ child.setPalette(Qt::blue);
+
+ QVBoxLayout layout(&parent);
+ layout.setContentsMargins(10, 10, 10, 10);
+ layout.addWidget(&child);
+ parent.setLayout(&layout);
+
+ parent.show();
+ QTest::qWaitForWindowShown(&parent);
+
+ // Check that child window does not obscure parent window
+ QVERIFY(!parent.visibleRegion().subtracted(child.visibleRegion()).isEmpty());
+
+ // Native child widget should share parent's backing store
+ QVERIFY(0 != backingStore(parent));
+ QVERIFY(0 == backingStore(child));
+
+ // Make child widget full screen
+ child.setWindowFlags((child.windowFlags() | Qt::Window) ^ Qt::SubWindow);
+ child.setWindowState(child.windowState() | Qt::WindowFullScreen);
+ child.show();
+ QTest::qWaitForWindowShown(&child);
+
+ // Check that child window obscures parent window
+ QVERIFY(parent.visibleRegion().subtracted(child.visibleRegion()).isEmpty());
+
+ // Now that extent of child widget goes beyond parent's extent,
+ // a new backing store should be created for the child widget.
+ QVERIFY(0 != backingStore(child));
+
+ // Parent is obscured, therefore its backing store should be destroyed
+ QVERIFY(0 == backingStore(parent));
+
+ // Disable full screen
+ child.setWindowFlags(child.windowFlags() ^ (Qt::Window | Qt::SubWindow));
+ child.setWindowState(child.windowState() ^ Qt::WindowFullScreen);
+ child.show();
+ QTest::qWaitForWindowShown(&child);
+
+ // Check that parent is now visible again
+ QVERIFY(!parent.visibleRegion().subtracted(child.visibleRegion()).isEmpty());
+
+ // Native child widget should once again share parent's backing store
+ QVERIFY(0 != backingStore(parent));
+ QEXPECT_FAIL("", "QTBUG-10643", Continue);
+ QVERIFY(0 == backingStore(child));
+ }
+
+ // 5. Native child widget which is made full-screen
+ {
+ QWidget parent;
+ parent.setGeometry(0, 0, 100, 100);
+ parent.setAutoFillBackground(true);
+ parent.setPalette(Qt::red);
+
+ QWidget child(&parent);
+ child.setAutoFillBackground(true);
+ child.setPalette(Qt::blue);
+
+ QVBoxLayout layout(&parent);
+ layout.setContentsMargins(10, 10, 10, 10);
+ layout.addWidget(&child);
+ parent.setLayout(&layout);
+
+ child.winId();
+
+ parent.show();
+ QTest::qWaitForWindowShown(&parent);
+
+ // Check that child window does not obscure parent window
+ QVERIFY(!parent.visibleRegion().subtracted(child.visibleRegion()).isEmpty());
+
+ // Native child widget should share parent's backing store
+ QVERIFY(0 != backingStore(parent));
+ QVERIFY(0 == backingStore(child));
+
+ // Make child widget full screen
+ child.setWindowFlags((child.windowFlags() | Qt::Window) ^ Qt::SubWindow);
+ child.setWindowState(child.windowState() | Qt::WindowFullScreen);
+ child.show();
+ QTest::qWaitForWindowShown(&child);
+
+ // Ensure that 'window hidden' event is received by parent
+ qApp->processEvents();
+
+ // Check that child window obscures parent window
+ QVERIFY(parent.visibleRegion().subtracted(child.visibleRegion()).isEmpty());
+
+ // Now that extent of child widget goes beyond parent's extent,
+ // a new backing store should be created for the child widget.
+ QVERIFY(0 != backingStore(child));
+
+ // Parent is obscured, therefore its backing store should be destroyed
+ QEXPECT_FAIL("", "QTBUG-10643", Continue);
+ QVERIFY(0 == backingStore(parent));
+
+ // Disable full screen
+ child.setWindowFlags(child.windowFlags() ^ (Qt::Window | Qt::SubWindow));
+ child.setWindowState(child.windowState() ^ Qt::WindowFullScreen);
+ child.show();
+ QTest::qWaitForWindowShown(&child);
+
+ // Check that parent is now visible again
+ QVERIFY(!parent.visibleRegion().subtracted(child.visibleRegion()).isEmpty());
+
+ // Native child widget should once again share parent's backing store
+ QVERIFY(0 != backingStore(parent));
+ QEXPECT_FAIL("", "QTBUG-10643", Continue);
+ QVERIFY(0 == backingStore(child));
+ }
}
+#undef WAIT_AND_VERIFY
+
void tst_QWidget::rectOutsideCoordinatesLimit_task144779()
{
#ifdef Q_OS_WINCE_WM
@@ -9995,28 +10250,28 @@ void tst_QWidget::focusProxyAndInputMethods()
delete toplevel;
}
+#ifdef QT_BUILD_INTERNAL
class scrollWidgetWBS : public QWidget
{
public:
void deleteBackingStore()
{
- if (static_cast<QWidgetPrivate*>(d_ptr.data())->maybeBackingStore()) {
- delete static_cast<QWidgetPrivate*>(d_ptr.data())->topData()->backingStore;
- static_cast<QWidgetPrivate*>(d_ptr.data())->topData()->backingStore = 0;
- }
+ static_cast<QWidgetPrivate*>(d_ptr.data())->topData()->backingStore.destroy();
}
void enableBackingStore()
{
if (!static_cast<QWidgetPrivate*>(d_ptr.data())->maybeBackingStore()) {
- static_cast<QWidgetPrivate*>(d_ptr.data())->topData()->backingStore = new QWidgetBackingStore(this);
+ static_cast<QWidgetPrivate*>(d_ptr.data())->topData()->backingStore.create(this);
static_cast<QWidgetPrivate*>(d_ptr.data())->invalidateBuffer(this->rect());
repaint();
}
}
};
+#endif
void tst_QWidget::scrollWithoutBackingStore()
{
+#ifdef QT_BUILD_INTERNAL
scrollWidgetWBS scrollable;
scrollable.resize(100,100);
QLabel child(QString("@"),&scrollable);
@@ -10030,6 +10285,9 @@ void tst_QWidget::scrollWithoutBackingStore()
QCOMPARE(child.pos(),QPoint(25,25));
scrollable.enableBackingStore();
QCOMPARE(child.pos(),QPoint(25,25));
+#else
+ QSKIP("Test case relies on developer build (AUTOTEST_EXPORT)", SkipAll);
+#endif
}
void tst_QWidget::taskQTBUG_7532_tabOrderWithFocusProxy()
@@ -10100,5 +10358,98 @@ void tst_QWidget::movedAndResizedAttributes()
#endif
}
+void tst_QWidget::childAt()
+{
+ QWidget parent(0, Qt::FramelessWindowHint);
+ parent.resize(200, 200);
+
+ QWidget *child = new QWidget(&parent);
+ child->setPalette(Qt::red);
+ child->setAutoFillBackground(true);
+ child->setGeometry(20, 20, 160, 160);
+
+ QWidget *grandChild = new QWidget(child);
+ grandChild->setPalette(Qt::blue);
+ grandChild->setAutoFillBackground(true);
+ grandChild->setGeometry(-20, -20, 220, 220);
+
+ QVERIFY(!parent.childAt(19, 19));
+ QVERIFY(!parent.childAt(180, 180));
+ QCOMPARE(parent.childAt(20, 20), grandChild);
+ QCOMPARE(parent.childAt(179, 179), grandChild);
+
+ grandChild->setAttribute(Qt::WA_TransparentForMouseEvents);
+ QCOMPARE(parent.childAt(20, 20), child);
+ QCOMPARE(parent.childAt(179, 179), child);
+ grandChild->setAttribute(Qt::WA_TransparentForMouseEvents, false);
+
+ child->setMask(QRect(50, 50, 60, 60));
+
+ QVERIFY(!parent.childAt(69, 69));
+ QVERIFY(!parent.childAt(130, 130));
+ QCOMPARE(parent.childAt(70, 70), grandChild);
+ QCOMPARE(parent.childAt(129, 129), grandChild);
+
+ child->setAttribute(Qt::WA_MouseNoMask);
+ QCOMPARE(parent.childAt(69, 69), grandChild);
+ QCOMPARE(parent.childAt(130, 130), grandChild);
+ child->setAttribute(Qt::WA_MouseNoMask, false);
+
+ grandChild->setAttribute(Qt::WA_TransparentForMouseEvents);
+ QCOMPARE(parent.childAt(70, 70), child);
+ QCOMPARE(parent.childAt(129, 129), child);
+ grandChild->setAttribute(Qt::WA_TransparentForMouseEvents, false);
+
+ grandChild->setMask(QRect(80, 80, 40, 40));
+
+ QCOMPARE(parent.childAt(79, 79), child);
+ QCOMPARE(parent.childAt(120, 120), child);
+ QCOMPARE(parent.childAt(80, 80), grandChild);
+ QCOMPARE(parent.childAt(119, 119), grandChild);
+
+ grandChild->setAttribute(Qt::WA_MouseNoMask);
+
+ QCOMPARE(parent.childAt(79, 79), grandChild);
+ QCOMPARE(parent.childAt(120, 120), grandChild);
+}
+
+#ifdef Q_WS_MAC
+void tst_QWidget::childAt_unifiedToolBar()
+{
+ QLabel *label = new QLabel(QLatin1String("foo"));
+ QToolBar *toolBar = new QToolBar;
+ toolBar->addWidget(new QLabel("dummy"));
+ toolBar->addWidget(label);
+
+ QMainWindow mainWindow;
+ mainWindow.addToolBar(toolBar);
+ mainWindow.show();
+
+ // Calculate the top-left corner of the tool bar and the label (in mainWindow's coordinates).
+ QPoint labelTopLeft = label->mapTo(&mainWindow, QPoint());
+ QPoint toolBarTopLeft = toolBar->mapTo(&mainWindow, QPoint());
+
+ QCOMPARE(mainWindow.childAt(toolBarTopLeft), static_cast<QWidget *>(toolBar));
+ QCOMPARE(mainWindow.childAt(labelTopLeft), static_cast<QWidget *>(label));
+
+ // Enable unified tool bars.
+ mainWindow.setUnifiedTitleAndToolBarOnMac(true);
+ QTest::qWait(50);
+
+ // The tool bar is now in the "non-client" area of QMainWindow, i.e.
+ // outside the mainWindow's rect(), and since mapTo et al. doesn't work
+ // in that case (see commit 35667fd45ada49269a5987c235fdedfc43e92bb8),
+ // we use mapToGlobal/mapFromGlobal to re-calculate the corners.
+ QPoint oldToolBarTopLeft = toolBarTopLeft;
+ toolBarTopLeft = mainWindow.mapFromGlobal(toolBar->mapToGlobal(QPoint()));
+ QVERIFY(toolBarTopLeft != oldToolBarTopLeft);
+ QVERIFY(toolBarTopLeft.y() < 0);
+ labelTopLeft = mainWindow.mapFromGlobal(label->mapToGlobal(QPoint()));
+
+ QCOMPARE(mainWindow.childAt(toolBarTopLeft), static_cast<QWidget *>(toolBar));
+ QCOMPARE(mainWindow.childAt(labelTopLeft), static_cast<QWidget *>(label));
+}
+#endif
+
QTEST_MAIN(tst_QWidget)
#include "tst_qwidget.moc"
diff --git a/tests/auto/qwidgetaction/tst_qwidgetaction.cpp b/tests/auto/qwidgetaction/tst_qwidgetaction.cpp
index 5dfcd43b07..53dc4b53b5 100644
--- a/tests/auto/qwidgetaction/tst_qwidgetaction.cpp
+++ b/tests/auto/qwidgetaction/tst_qwidgetaction.cpp
@@ -51,6 +51,8 @@
#include <qmainwindow.h>
#include <qmenubar.h>
+#include "../../shared/util.h"
+
//TESTED_CLASS=
//TESTED_FILES=
@@ -190,8 +192,8 @@ void tst_QWidgetAction::visibilityUpdate()
QVERIFY(action->isVisible());
action->setVisible(false);
- QTest::qWait(100); //the call to hide is delayed by the toolbar layout
- QVERIFY(!combo->isVisible());
+ qApp->processEvents(); //the call to hide is delayed by the toolbar layout
+ QTRY_VERIFY(!combo->isVisible());
delete action;
// action also deletes combo
diff --git a/tests/auto/qxmlquery/tst_qxmlquery.cpp b/tests/auto/qxmlquery/tst_qxmlquery.cpp
index be0d708c62..6fd9b931da 100644
--- a/tests/auto/qxmlquery/tst_qxmlquery.cpp
+++ b/tests/auto/qxmlquery/tst_qxmlquery.cpp
@@ -857,7 +857,7 @@ void tst_QXmlQuery::bindVariableXSLTSuccess() const
stylesheet.bindVariable(QLatin1String("paramSelectWithTypeIntBoundWithBindVariableRequired"),
QVariant(QLatin1String("param5")));
- stylesheet.setQuery(QUrl(inputFile(QLatin1String(SRCDIR "../xmlpatterns/stylesheets/parameters.xsl"))));
+ stylesheet.setQuery(QUrl(inputFileAsURI(QLatin1String(SRCDIR "../xmlpatterns/stylesheets/parameters.xsl"))));
QVERIFY(stylesheet.isValid());
@@ -1798,11 +1798,11 @@ void tst_QXmlQuery::setFocusQUrl() const
{
QXmlQuery query(QXmlQuery::XSLT20);
- const TestURIResolver resolver(QUrl(inputFile(QLatin1String(SRCDIR "../xmlpatterns/stylesheets/documentElement.xml"))));
+ const TestURIResolver resolver(QUrl(inputFileAsURI(QLatin1String(SRCDIR "../xmlpatterns/stylesheets/documentElement.xml"))));
query.setUriResolver(&resolver);
QVERIFY(query.setFocus(QUrl(QLatin1String("arbitraryURI"))));
- query.setQuery(QUrl(inputFile(QLatin1String(SRCDIR "../xmlpatterns/stylesheets/copyWholeDocument.xsl"))));
+ query.setQuery(QUrl(inputFileAsURI(QLatin1String(SRCDIR "../xmlpatterns/stylesheets/copyWholeDocument.xsl"))));
QVERIFY(query.isValid());
QBuffer result;
@@ -2997,7 +2997,7 @@ void tst_QXmlQuery::setInitialTemplateNameQXmlName() const
QCOMPARE(query.initialTemplateName(), name);
- query.setQuery(QUrl(inputFile(QLatin1String(SRCDIR "../xmlpatterns/stylesheets/namedTemplate.xsl"))));
+ query.setQuery(QUrl(inputFileAsURI(QLatin1String(SRCDIR "../xmlpatterns/stylesheets/namedTemplate.xsl"))));
QVERIFY(query.isValid());
QBuffer result;
@@ -3059,7 +3059,7 @@ void tst_QXmlQuery::setNetworkAccessManager() const
/* Ensure fn:doc() picks up the right QNetworkAccessManager. */
{
NetworkOverrider networkOverrider(QUrl(QLatin1String("tag:example.com:DOESNOTEXIST")),
- QUrl(inputFile(QLatin1String(SRCDIR "../xmlpatterns/queries/simpleDocument.xml"))));
+ QUrl(inputFileAsURI(QLatin1String(SRCDIR "../xmlpatterns/queries/simpleDocument.xml"))));
QXmlQuery query;
query.setNetworkAccessManager(&networkOverrider);
@@ -3075,7 +3075,7 @@ void tst_QXmlQuery::setNetworkAccessManager() const
/* Ensure setQuery() is using the right network manager. */
{
NetworkOverrider networkOverrider(QUrl(QLatin1String("tag:example.com:DOESNOTEXIST")),
- QUrl(inputFile(QLatin1String(SRCDIR "../xmlpatterns/queries/concat.xq"))));
+ QUrl(inputFileAsURI(QLatin1String(SRCDIR "../xmlpatterns/queries/concat.xq"))));
QXmlQuery query;
query.setNetworkAccessManager(&networkOverrider);
@@ -3135,7 +3135,7 @@ void tst_QXmlQuery::multipleDocsAndFocus() const
query.setQuery(QLatin1String("string(doc('") +
inputFile(QLatin1String(SRCDIR "../xmlpatterns/queries/simpleDocument.xml")) +
QLatin1String("'))"));
- query.setFocus(QUrl(inputFile(QLatin1String(SRCDIR "../xmlpatterns/stylesheets/documentElement.xml"))));
+ query.setFocus(QUrl(inputFileAsURI(QLatin1String(SRCDIR "../xmlpatterns/stylesheets/documentElement.xml"))));
query.setQuery(QLatin1String("string(.)"));
QStringList result;
@@ -3159,11 +3159,11 @@ void tst_QXmlQuery::multipleEvaluationsWithDifferentFocus() const
QXmlQuery query;
QStringList result;
- query.setFocus(QUrl(inputFile(QLatin1String(SRCDIR "../xmlpatterns/stylesheets/documentElement.xml"))));
+ query.setFocus(QUrl(inputFileAsURI(QLatin1String(SRCDIR "../xmlpatterns/stylesheets/documentElement.xml"))));
query.setQuery(QLatin1String("string(.)"));
QVERIFY(query.evaluateTo(&result));
- query.setFocus(QUrl(inputFile(QLatin1String(SRCDIR "../xmlpatterns/stylesheets/documentElement.xml"))));
+ query.setFocus(QUrl(inputFileAsURI(QLatin1String(SRCDIR "../xmlpatterns/stylesheets/documentElement.xml"))));
QVERIFY(query.evaluateTo(&result));
}
diff --git a/tests/auto/qxmlstream/qxmlstream.pro b/tests/auto/qxmlstream/qxmlstream.pro
index ac03d421d1..f82a7b3dba 100644
--- a/tests/auto/qxmlstream/qxmlstream.pro
+++ b/tests/auto/qxmlstream/qxmlstream.pro
@@ -1,5 +1,5 @@
load(qttest_p4)
-SOURCES += tst_qxmlstream.cpp
+SOURCES += tst_qxmlstream.cpp
QT = core xml network
@@ -8,4 +8,7 @@ wince*|symbian*: {
addFiles.sources = data XML-Test-Suite
addFiles.path = .
DEPLOYMENT += addFiles
+ DEFINES += SRCDIR=\\\"\\\"
+} else {
+ DEFINES += SRCDIR=\\\"$$PWD/\\\"
}
diff --git a/tests/auto/qxmlstream/tst_qxmlstream.cpp b/tests/auto/qxmlstream/tst_qxmlstream.cpp
index 3c5358c36c..7d5e3b7f8c 100644
--- a/tests/auto/qxmlstream/tst_qxmlstream.cpp
+++ b/tests/auto/qxmlstream/tst_qxmlstream.cpp
@@ -57,7 +57,7 @@
Q_DECLARE_METATYPE(QXmlStreamReader::ReadElementTextBehaviour)
-static const char *const catalogFile = "XML-Test-Suite/xmlconf/finalCatalog.xml";
+static const char *const catalogFile = SRCDIR "XML-Test-Suite/xmlconf/finalCatalog.xml";
static const int expectedRunCount = 1646;
static const int expectedSkipCount = 532;
@@ -527,8 +527,7 @@ class tst_QXmlStream: public QObject
{
Q_OBJECT
public:
- tst_QXmlStream() : m_handler(QUrl::fromLocalFile(QDir::currentPath() + QLatin1Char('/'))
- .resolved(QUrl(QLatin1String(catalogFile))))
+ tst_QXmlStream() : m_handler(QUrl::fromLocalFile(QLatin1String(catalogFile)))
{
}
@@ -546,6 +545,7 @@ private slots:
void writerHangs() const;
void writerAutoFormattingWithComments() const;
void writerAutoFormattingWithTabs() const;
+ void writerAutoFormattingWithProcessingInstructions() const;
void writerAutoEmptyTags() const;
void writeAttributesWithSpace() const;
void addExtraNamespaceDeclarations();
@@ -805,7 +805,7 @@ void tst_QXmlStream::testReader_data() const
QTest::addColumn<QString>("xml");
QTest::addColumn<QString>("ref");
QDir dir;
- dir.cd("data/");
+ dir.cd(SRCDIR "data/");
foreach(QString filename , dir.entryList(QStringList() << "*.xml")) {
QString reference = QFileInfo(filename).baseName() + ".ref";
QTest::newRow(dir.filePath(filename).toLatin1().data()) << dir.filePath(filename) << dir.filePath(reference);
@@ -1030,6 +1030,22 @@ void tst_QXmlStream::writerAutoFormattingWithTabs() const
QCOMPARE(buffer.buffer().data(), str);
}
+void tst_QXmlStream::writerAutoFormattingWithProcessingInstructions() const
+{
+ QBuffer buffer;
+ buffer.open(QIODevice::WriteOnly);
+
+ QXmlStreamWriter writer(&buffer);
+ writer.setAutoFormatting(true);
+ writer.writeStartDocument();
+ writer.writeProcessingInstruction("B", "C");
+ writer.writeStartElement("A");
+ writer.writeEndElement();
+ writer.writeEndDocument();
+ const char *str = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<?B C?>\n<A/>\n";
+ QCOMPARE(buffer.buffer().data(), str);
+}
+
/*!
Task 204822
*/
@@ -1184,7 +1200,7 @@ void tst_QXmlStream::crashInUTF16Codec() const
QEventLoop eventLoop;
QNetworkAccessManager networkManager;
- QNetworkRequest request(QUrl::fromLocalFile(QLatin1String("data/051reduced.xml")));
+ QNetworkRequest request(QUrl::fromLocalFile(QLatin1String(SRCDIR "data/051reduced.xml")));
QNetworkReply *const reply = networkManager.get(request);
eventLoop.connect(reply, SIGNAL(finished()), SLOT(quit()));
diff --git a/tests/auto/selftests/expected_badxml.txt b/tests/auto/selftests/expected_badxml.txt
index 046f1b2bef..bc9d203678 100644
--- a/tests/auto/selftests/expected_badxml.txt
+++ b/tests/auto/selftests/expected_badxml.txt
@@ -1,5 +1,5 @@
********* Start testing of tst_BadXml *********
-Config: Using QTest library 4.6.3, Qt 4.6.3
+Config: Using QTest library 4.6.4, Qt 4.6.4
PASS : tst_BadXml::initTestCase()
QDEBUG : tst_BadXml::badDataTag(end cdata ]]> text ]]> more text) a message
FAIL! : tst_BadXml::badDataTag(end cdata ]]> text ]]> more text) a failure
diff --git a/tests/auto/selftests/expected_xunit.txt b/tests/auto/selftests/expected_xunit.txt
index 02cfa6fa06..ac8c0dba23 100644
--- a/tests/auto/selftests/expected_xunit.txt
+++ b/tests/auto/selftests/expected_xunit.txt
@@ -1,5 +1,5 @@
********* Start testing of tst_Xunit *********
-Config: Using QTest library 4.6.3, Qt 4.6.3
+Config: Using QTest library 4.6.4, Qt 4.6.4
PASS : tst_Xunit::initTestCase()
WARNING: tst_Xunit::testFunc1() just a QWARN() !
PASS : tst_Xunit::testFunc1()
diff --git a/tests/auto/solutions.pri b/tests/auto/solutions.pri
index bcffb64322..5c069c598d 100644
--- a/tests/auto/solutions.pri
+++ b/tests/auto/solutions.pri
@@ -7,10 +7,10 @@
SOLUTIONBASEDIR = $$(SOLUTIONBASEDIR)
# strip the trailing "..."
-# SOLUTIONBASEDIR ~= s/\.\.\.$//
+# SOLUTIONBASEDIR ~= s/\\.\\.\\.$//
# replace \ with /
-# win32:SOLUTIONBASEDIR ~= s.\\./.g
+# win32:SOLUTIONBASEDIR ~= s.\\\\./.g
isEmpty(SOLUTIONBASEDIR):DEFINES += QT_NO_SOLUTIONS
diff --git a/tests/auto/uic/baseline/config_fromuic3.ui.h b/tests/auto/uic/baseline/config_fromuic3.ui.h
index 7e0189eabf..a97e8bc21d 100644
--- a/tests/auto/uic/baseline/config_fromuic3.ui.h
+++ b/tests/auto/uic/baseline/config_fromuic3.ui.h
@@ -45,7 +45,7 @@
** Form generated from reading UI file 'config_fromuic3.ui'
**
** Created: Thu Dec 17 12:48:42 2009
-** by: Qt User Interface Compiler version 4.6.3
+** by: Qt User Interface Compiler version 4.6.4
**
** WARNING! All changes made in this file will be lost when recompiling UI file!
********************************************************************************/
diff --git a/tests/auto/windowsmobile/test/test.pro b/tests/auto/windowsmobile/test/test.pro
index 61e275dec8..f3124a31e0 100644
--- a/tests/auto/windowsmobile/test/test.pro
+++ b/tests/auto/windowsmobile/test/test.pro
@@ -11,7 +11,7 @@ wincewm*: {
addFiles.sources = $$OUT_PWD/../testQMenuBar/*.exe
- addFiles.path = "\Program Files\tst_windowsmobile"
+ addFiles.path = "\\Program Files\\tst_windowsmobile"
DEPLOYMENT += addFiles
}
diff --git a/tests/auto/xmlpatterns.pro b/tests/auto/xmlpatterns.pro
index 923f2c4804..b9244d62a7 100644
--- a/tests/auto/xmlpatterns.pro
+++ b/tests/auto/xmlpatterns.pro
@@ -36,6 +36,7 @@ SUBDIRS=\
xmlpatternsdiagnosticsts.depends = xmlpatternssdk
xmlpatternsview.depends = xmlpatternssdk
xmlpatternsxslts.depends = xmlpatternssdk
+xmlpatternsxqts.depends = xmlpatternssdk
xmlpatternsschemats.depends = xmlpatternssdk
xmlpatternsxqts.depends = xmlpatternssdk
diff --git a/tests/auto/xmlpatternsxqts/tst_suitetest.cpp b/tests/auto/xmlpatternsxqts/tst_suitetest.cpp
index 64120c7c69..6e10e3fb8a 100644
--- a/tests/auto/xmlpatternsxqts/tst_suitetest.cpp
+++ b/tests/auto/xmlpatternsxqts/tst_suitetest.cpp
@@ -89,10 +89,17 @@ void tst_SuiteTest::runTestSuite() const
TestSuite::SuiteType suiteType;
switch (m_suiteType) {
- case XQuerySuite: suiteType = TestSuite::XQuerySuite;
- case XsltSuite: suiteType = TestSuite::XsltSuite;
- case XsdSuite: suiteType = TestSuite::XsdSuite;
- default: break;
+ case XQuerySuite:
+ suiteType = TestSuite::XQuerySuite;
+ break;
+ case XsltSuite:
+ suiteType = TestSuite::XsltSuite;
+ break;
+ case XsdSuite:
+ suiteType = TestSuite::XsdSuite;
+ break;
+ default:
+ break;
}
TestSuite *const ts = TestSuite::openCatalog(catalogPath, errMsg, true, suiteType);
@@ -134,8 +141,6 @@ void tst_SuiteTest::checkTestSuiteResult() const
/* Passed to ResultThreader so it knows what kind of file it is handling. */
ResultThreader::Type type = ResultThreader::Baseline;
- QProcess::execute(QLatin1String("p4 edit ") + m_existingBaseline);
-
for(QFileInfoList::const_iterator it(list.constBegin()); it != end; ++it)
{
QFileInfo i(*it);
@@ -160,8 +165,6 @@ void tst_SuiteTest::checkTestSuiteResult() const
const int exitCode = eventLoop.exec();
- QProcess::execute(QLatin1String("p4 revert -a ") + m_existingBaseline);
-
QCOMPARE(exitCode, 0);
}
diff --git a/tests/benchmarks/declarative/binding/binding.pro b/tests/benchmarks/declarative/binding/binding.pro
index 5ceaf34aa1..c1a8223c09 100644
--- a/tests/benchmarks/declarative/binding/binding.pro
+++ b/tests/benchmarks/declarative/binding/binding.pro
@@ -7,12 +7,11 @@ macx:CONFIG -= app_bundle
SOURCES += tst_binding.cpp testtypes.cpp
HEADERS += testtypes.h
-# Define SRCDIR equal to test's source directory
-DEFINES += SRCDIR=\\\"$$PWD\\\"
-
-symbian* {
- data.sources = data/*
- data.path = data
+symbian {
+ data.sources = data
+ data.path = .
DEPLOYMENT = data
+} else {
+ # Define SRCDIR equal to test's source directory
+ DEFINES += SRCDIR=\\\"$$PWD\\\"
}
-
diff --git a/tests/benchmarks/declarative/binding/testtypes.h b/tests/benchmarks/declarative/binding/testtypes.h
index 523f94dd09..0cbaa42aef 100644
--- a/tests/benchmarks/declarative/binding/testtypes.h
+++ b/tests/benchmarks/declarative/binding/testtypes.h
@@ -47,11 +47,11 @@
class MyQmlObject : public QObject
{
Q_OBJECT
- Q_PROPERTY(int result READ result WRITE setResult);
- Q_PROPERTY(int value READ value WRITE setValue NOTIFY valueChanged);
- Q_PROPERTY(MyQmlObject *object READ object WRITE setObject NOTIFY objectChanged);
- Q_PROPERTY(QDeclarativeListProperty<QObject> data READ data);
- Q_CLASSINFO("DefaultProperty", "data");
+ Q_PROPERTY(int result READ result WRITE setResult)
+ Q_PROPERTY(int value READ value WRITE setValue NOTIFY valueChanged)
+ Q_PROPERTY(MyQmlObject *object READ object WRITE setObject NOTIFY objectChanged)
+ Q_PROPERTY(QDeclarativeListProperty<QObject> data READ data)
+ Q_CLASSINFO("DefaultProperty", "data")
public:
MyQmlObject() : m_result(0), m_value(0), m_object(0) {}
diff --git a/tests/benchmarks/declarative/binding/tst_binding.cpp b/tests/benchmarks/declarative/binding/tst_binding.cpp
index dbddac39df..6e3e146d4a 100644
--- a/tests/benchmarks/declarative/binding/tst_binding.cpp
+++ b/tests/benchmarks/declarative/binding/tst_binding.cpp
@@ -48,6 +48,11 @@
//TESTED_FILES=
+#ifdef Q_OS_SYMBIAN
+// In Symbian OS test data is located in applications private dir
+#define SRCDIR "."
+#endif
+
class tst_binding : public QObject
{
Q_OBJECT
diff --git a/tests/benchmarks/declarative/compilation/compilation.pro b/tests/benchmarks/declarative/compilation/compilation.pro
new file mode 100644
index 0000000000..9277187479
--- /dev/null
+++ b/tests/benchmarks/declarative/compilation/compilation.pro
@@ -0,0 +1,17 @@
+load(qttest_p4)
+TEMPLATE = app
+TARGET = tst_compilation
+QT += declarative
+macx:CONFIG -= app_bundle
+
+CONFIG += release
+
+SOURCES += tst_compilation.cpp
+
+symbian {
+ data.sources += data
+ data.path = .
+ DEPLOYMENT += data
+} else {
+ DEFINES += SRCDIR=\\\"$$PWD\\\"
+}
diff --git a/tests/benchmarks/declarative/compilation/data/BoomBlock.qml b/tests/benchmarks/declarative/compilation/data/BoomBlock.qml
new file mode 100644
index 0000000000..3f4357915a
--- /dev/null
+++ b/tests/benchmarks/declarative/compilation/data/BoomBlock.qml
@@ -0,0 +1,106 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+import Qt 4.7
+import Qt.labs.particles 1.0
+
+Item {
+ id: block
+ property bool dying: false
+ property bool spawned: false
+ property int type: 0
+ property int targetX: 0
+ property int targetY: 0
+
+ SpringFollow on x { enabled: spawned; to: targetX; spring: 2; damping: 0.2 }
+ SpringFollow on y { to: targetY; spring: 2; damping: 0.2 }
+
+ Image {
+ id: img
+ source: {
+ if(type == 0){
+ "pics/redStone.png";
+ } else if(type == 1) {
+ "pics/blueStone.png";
+ } else {
+ "pics/greenStone.png";
+ }
+ }
+ opacity: 0
+ Behavior on opacity { NumberAnimation { duration: 200 } }
+ anchors.fill: parent
+ }
+
+ Particles {
+ id: particles
+
+ width: 1; height: 1
+ anchors.centerIn: parent
+
+ emissionRate: 0
+ lifeSpan: 700; lifeSpanDeviation: 600
+ angle: 0; angleDeviation: 360;
+ velocity: 100; velocityDeviation: 30
+ source: {
+ if(type == 0){
+ "pics/redStar.png";
+ } else if (type == 1) {
+ "pics/blueStar.png";
+ } else {
+ "pics/greenStar.png";
+ }
+ }
+ }
+
+ states: [
+ State {
+ name: "AliveState"; when: spawned == true && dying == false
+ PropertyChanges { target: img; opacity: 1 }
+ },
+
+ State {
+ name: "DeathState"; when: dying == true
+ StateChangeScript { script: particles.burst(50); }
+ PropertyChanges { target: img; opacity: 0 }
+ StateChangeScript { script: block.destroy(1000); }
+ }
+ ]
+}
diff --git a/tests/benchmarks/declarative/compilation/tst_compilation.cpp b/tests/benchmarks/declarative/compilation/tst_compilation.cpp
new file mode 100644
index 0000000000..2f4cd15bb2
--- /dev/null
+++ b/tests/benchmarks/declarative/compilation/tst_compilation.cpp
@@ -0,0 +1,95 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the test suite of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include <qtest.h>
+#include <QDeclarativeEngine>
+#include <QDeclarativeComponent>
+#include <QFile>
+
+#ifdef Q_OS_SYMBIAN
+// In Symbian OS test data is located in applications private dir
+#define SRCDIR "."
+#endif
+
+class tst_compilation : public QObject
+{
+ Q_OBJECT
+public:
+ tst_compilation();
+
+private slots:
+ void boomblock();
+
+private:
+ QDeclarativeEngine engine;
+};
+
+tst_compilation::tst_compilation()
+{
+}
+
+inline QUrl TEST_FILE(const QString &filename)
+{
+ return QUrl::fromLocalFile(QLatin1String(SRCDIR) + QLatin1String("/data/") + filename);
+}
+
+void tst_compilation::boomblock()
+{
+ QFile f(SRCDIR + QLatin1String("/data/BoomBlock.qml"));
+ QVERIFY(f.open(QIODevice::ReadOnly));
+ QByteArray data = f.readAll();
+
+ //get rid of initialization effects
+ {
+ QDeclarativeComponent c(&engine);
+ c.setData(data, QUrl());
+ }
+
+ QBENCHMARK {
+ QDeclarativeComponent c(&engine);
+ c.setData(data, QUrl());
+// QVERIFY(c.isReady());
+ }
+}
+
+QTEST_MAIN(tst_compilation)
+
+#include "tst_compilation.moc"
diff --git a/tests/benchmarks/declarative/creation/creation.pro b/tests/benchmarks/declarative/creation/creation.pro
index 3e0caf6988..6540fa2e24 100644
--- a/tests/benchmarks/declarative/creation/creation.pro
+++ b/tests/benchmarks/declarative/creation/creation.pro
@@ -6,10 +6,10 @@ macx:CONFIG -= app_bundle
SOURCES += tst_creation.cpp
-symbian* {
- data.sources = data/*
- data.path = data
- DEPLOYMENT += addFiles
+symbian {
+ data.sources = data
+ data.path = .
+ DEPLOYMENT += data
} else {
DEFINES += SRCDIR=\\\"$$PWD\\\"
-} \ No newline at end of file
+}
diff --git a/tests/benchmarks/declarative/creation/data/item.qml b/tests/benchmarks/declarative/creation/data/item.qml
index bc6adfb823..f1a7dbc9ba 100644
--- a/tests/benchmarks/declarative/creation/data/item.qml
+++ b/tests/benchmarks/declarative/creation/data/item.qml
@@ -1,3 +1,44 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
import Qt 4.7
Item {
diff --git a/tests/benchmarks/declarative/creation/data/qobject.qml b/tests/benchmarks/declarative/creation/data/qobject.qml
index 61e6146d9c..bc6b152768 100644
--- a/tests/benchmarks/declarative/creation/data/qobject.qml
+++ b/tests/benchmarks/declarative/creation/data/qobject.qml
@@ -1,3 +1,44 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
import Qt 4.7
QtObject {
diff --git a/tests/benchmarks/declarative/creation/tst_creation.cpp b/tests/benchmarks/declarative/creation/tst_creation.cpp
index 6f00473b54..94a67fd455 100644
--- a/tests/benchmarks/declarative/creation/tst_creation.cpp
+++ b/tests/benchmarks/declarative/creation/tst_creation.cpp
@@ -48,12 +48,12 @@
#include <QGraphicsItem>
#include <QDeclarativeItem>
#include <QDeclarativeContext>
+#include <private/qdeclarativetextinput_p.h>
#include <private/qobject_p.h>
#ifdef Q_OS_SYMBIAN
// In Symbian OS test data is located in applications private dir
-// Application private dir is default serach path for files, so SRCDIR can be set to empty
-#define SRCDIR ""
+#define SRCDIR "."
#endif
class tst_creation : public QObject
@@ -91,14 +91,14 @@ private:
class TestType : public QObject
{
Q_OBJECT
-Q_PROPERTY(QDeclarativeListProperty<QObject> resources READ resources);
-Q_CLASSINFO("DefaultProperty", "resources");
+Q_PROPERTY(QDeclarativeListProperty<QObject> resources READ resources)
+Q_CLASSINFO("DefaultProperty", "resources")
public:
TestType(QObject *parent = 0)
: QObject(parent) {}
- QDeclarativeListProperty<QObject> resources() {
- return QDeclarativeListProperty<QObject>(this, 0, resources_append);
+ QDeclarativeListProperty<QObject> resources() {
+ return QDeclarativeListProperty<QObject>(this, 0, resources_append);
}
static void resources_append(QDeclarativeListProperty<QObject> *p, QObject *o) {
@@ -106,9 +106,12 @@ public:
}
};
-tst_creation::tst_creation()
+tst_creation::tst_creation()
{
qmlRegisterType<TestType>("Qt.test", 1, 0, "TestType");
+
+ //get rid of initialization effects
+ QDeclarativeTextInput te;
}
inline QUrl TEST_FILE(const QString &filename)
@@ -203,7 +206,7 @@ void tst_creation::qobject_10tree_cpp()
void tst_creation::qobject_qmltype()
{
- QDeclarativeType *t = QDeclarativeMetaType::qmlType("Qt/QtObject", 4, 6);
+ QDeclarativeType *t = QDeclarativeMetaType::qmlType("Qt/QtObject", 4, 7);
QBENCHMARK {
QObject *obj = t->create();
@@ -347,7 +350,7 @@ void tst_creation::elements_data()
void tst_creation::elements()
{
QFETCH(QByteArray, type);
- QDeclarativeType *t = QDeclarativeMetaType::qmlType(type, 4, 6);
+ QDeclarativeType *t = QDeclarativeMetaType::qmlType(type, 4, 7);
if (!t || !t->isCreatable())
QSKIP("Non-creatable type", SkipSingle);
diff --git a/tests/benchmarks/declarative/declarative.pro b/tests/benchmarks/declarative/declarative.pro
index a7d426c251..5dd31f3d13 100644
--- a/tests/benchmarks/declarative/declarative.pro
+++ b/tests/benchmarks/declarative/declarative.pro
@@ -1,11 +1,15 @@
TEMPLATE = subdirs
+
SUBDIRS += \
binding \
creation \
- painting \
pointers \
qdeclarativecomponent \
qdeclarativeimage \
qdeclarativemetaproperty \
script \
qmltime
+
+contains(QT_CONFIG, opengl): SUBDIRS += painting
+
+
diff --git a/tests/benchmarks/declarative/painting/painting.pro b/tests/benchmarks/declarative/painting/painting.pro
index 2f98e8bc28..69c000624f 100644
--- a/tests/benchmarks/declarative/painting/painting.pro
+++ b/tests/benchmarks/declarative/painting/painting.pro
@@ -2,6 +2,8 @@
# Automatically generated by qmake (2.01a) fr 29. jan 13:57:52 2010
######################################################################
+requires(contains(QT_CONFIG,opengl))
+
TEMPLATE = app
TARGET =
DEPENDPATH += .
@@ -11,3 +13,4 @@ INCLUDEPATH += .
SOURCES += paintbenchmark.cpp
QT += opengl
CONFIG += console
+macx:CONFIG -= app_bundle
diff --git a/tests/benchmarks/declarative/qdeclarativecomponent/data/myqmlobject.qml b/tests/benchmarks/declarative/qdeclarativecomponent/data/myqmlobject.qml
index 9c3f7f8281..464c77f7f6 100644
--- a/tests/benchmarks/declarative/qdeclarativecomponent/data/myqmlobject.qml
+++ b/tests/benchmarks/declarative/qdeclarativecomponent/data/myqmlobject.qml
@@ -1,3 +1,44 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
import Qt.test 4.6
MyQmlObject {}
diff --git a/tests/benchmarks/declarative/qdeclarativecomponent/data/myqmlobject_binding.qml b/tests/benchmarks/declarative/qdeclarativecomponent/data/myqmlobject_binding.qml
index e6cc4cf473..2aada7c269 100644
--- a/tests/benchmarks/declarative/qdeclarativecomponent/data/myqmlobject_binding.qml
+++ b/tests/benchmarks/declarative/qdeclarativecomponent/data/myqmlobject_binding.qml
@@ -1,3 +1,44 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
import Qt.test 4.6
MyQmlObject {
diff --git a/tests/benchmarks/declarative/qdeclarativecomponent/data/object.qml b/tests/benchmarks/declarative/qdeclarativecomponent/data/object.qml
index 45e418d6c9..df0d5b245a 100644
--- a/tests/benchmarks/declarative/qdeclarativecomponent/data/object.qml
+++ b/tests/benchmarks/declarative/qdeclarativecomponent/data/object.qml
@@ -1,3 +1,44 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
import Qt 4.7
QtObject {}
diff --git a/tests/benchmarks/declarative/qdeclarativecomponent/data/object_id.qml b/tests/benchmarks/declarative/qdeclarativecomponent/data/object_id.qml
index 43ce916cb5..399aa78e88 100644
--- a/tests/benchmarks/declarative/qdeclarativecomponent/data/object_id.qml
+++ b/tests/benchmarks/declarative/qdeclarativecomponent/data/object_id.qml
@@ -1,3 +1,44 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
import Qt 4.7
QtObject {
diff --git a/tests/benchmarks/declarative/qdeclarativecomponent/data/samegame/BoomBlock.qml b/tests/benchmarks/declarative/qdeclarativecomponent/data/samegame/BoomBlock.qml
index db431828e0..4b1d81c9c9 100644
--- a/tests/benchmarks/declarative/qdeclarativecomponent/data/samegame/BoomBlock.qml
+++ b/tests/benchmarks/declarative/qdeclarativecomponent/data/samegame/BoomBlock.qml
@@ -1,3 +1,44 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
import Qt 4.7
import Qt.labs.particles 1.0
diff --git a/tests/benchmarks/declarative/qdeclarativecomponent/data/synthesized_properties.2.qml b/tests/benchmarks/declarative/qdeclarativecomponent/data/synthesized_properties.2.qml
index 6ff2546051..5d67d251fe 100644
--- a/tests/benchmarks/declarative/qdeclarativecomponent/data/synthesized_properties.2.qml
+++ b/tests/benchmarks/declarative/qdeclarativecomponent/data/synthesized_properties.2.qml
@@ -1,3 +1,44 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
import Qt 4.7
QtObject {
diff --git a/tests/benchmarks/declarative/qdeclarativecomponent/data/synthesized_properties.qml b/tests/benchmarks/declarative/qdeclarativecomponent/data/synthesized_properties.qml
index 0275e214e3..a22ba254c0 100644
--- a/tests/benchmarks/declarative/qdeclarativecomponent/data/synthesized_properties.qml
+++ b/tests/benchmarks/declarative/qdeclarativecomponent/data/synthesized_properties.qml
@@ -1,3 +1,44 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
import Qt 4.7
QtObject {
diff --git a/tests/benchmarks/declarative/qdeclarativecomponent/qdeclarativecomponent.pro b/tests/benchmarks/declarative/qdeclarativecomponent/qdeclarativecomponent.pro
index 30ef23572e..b2f39c1c79 100644
--- a/tests/benchmarks/declarative/qdeclarativecomponent/qdeclarativecomponent.pro
+++ b/tests/benchmarks/declarative/qdeclarativecomponent/qdeclarativecomponent.pro
@@ -7,16 +7,11 @@ macx:CONFIG -= app_bundle
SOURCES += tst_qdeclarativecomponent.cpp testtypes.cpp
HEADERS += testtypes.h
-# Define SRCDIR equal to test's source directory
-DEFINES += SRCDIR=\\\"$$PWD\\\"
-
-symbian* {
- data.sources = data/*
- data.path = data
- samegame.sources = data/samegame/*
- samegame.path = data/samegame
- samegame_pics.sources = data/samegame/pics/*
- samegame_pics.path = data/samegame/pics
- DEPLOYMENT += data samegame samegame_pics
+symbian {
+ data.sources = data
+ data.path = .
+ DEPLOYMENT += data
+} else {
+ # Define SRCDIR equal to test's source directory
+ DEFINES += SRCDIR=\\\"$$PWD\\\"
}
-
diff --git a/tests/benchmarks/declarative/qdeclarativecomponent/testtypes.h b/tests/benchmarks/declarative/qdeclarativecomponent/testtypes.h
index 523f94dd09..0cbaa42aef 100644
--- a/tests/benchmarks/declarative/qdeclarativecomponent/testtypes.h
+++ b/tests/benchmarks/declarative/qdeclarativecomponent/testtypes.h
@@ -47,11 +47,11 @@
class MyQmlObject : public QObject
{
Q_OBJECT
- Q_PROPERTY(int result READ result WRITE setResult);
- Q_PROPERTY(int value READ value WRITE setValue NOTIFY valueChanged);
- Q_PROPERTY(MyQmlObject *object READ object WRITE setObject NOTIFY objectChanged);
- Q_PROPERTY(QDeclarativeListProperty<QObject> data READ data);
- Q_CLASSINFO("DefaultProperty", "data");
+ Q_PROPERTY(int result READ result WRITE setResult)
+ Q_PROPERTY(int value READ value WRITE setValue NOTIFY valueChanged)
+ Q_PROPERTY(MyQmlObject *object READ object WRITE setObject NOTIFY objectChanged)
+ Q_PROPERTY(QDeclarativeListProperty<QObject> data READ data)
+ Q_CLASSINFO("DefaultProperty", "data")
public:
MyQmlObject() : m_result(0), m_value(0), m_object(0) {}
diff --git a/tests/benchmarks/declarative/qdeclarativecomponent/tst_qdeclarativecomponent.cpp b/tests/benchmarks/declarative/qdeclarativecomponent/tst_qdeclarativecomponent.cpp
index 4b1456ed31..13420fff75 100644
--- a/tests/benchmarks/declarative/qdeclarativecomponent/tst_qdeclarativecomponent.cpp
+++ b/tests/benchmarks/declarative/qdeclarativecomponent/tst_qdeclarativecomponent.cpp
@@ -48,6 +48,10 @@
//TESTED_FILES=
+#ifdef Q_OS_SYMBIAN
+// In Symbian OS test data is located in applications private dir
+#define SRCDIR "."
+#endif
class tst_qmlcomponent : public QObject
{
diff --git a/tests/benchmarks/declarative/qdeclarativeimage/qdeclarativeimage.pro b/tests/benchmarks/declarative/qdeclarativeimage/qdeclarativeimage.pro
index bbe4e8d012..a68792b981 100644
--- a/tests/benchmarks/declarative/qdeclarativeimage/qdeclarativeimage.pro
+++ b/tests/benchmarks/declarative/qdeclarativeimage/qdeclarativeimage.pro
@@ -7,10 +7,11 @@ CONFIG += release
SOURCES += tst_qdeclarativeimage.cpp
-symbian* {
- data.sources = image.png
- data.path = .
- DEPLOYMENT += data
+symbian {
+ importFiles.sources = image.png
+ importFiles.path =
+ DEPLOYMENT = importFiles
} else {
DEFINES += SRCDIR=\\\"$$PWD\\\"
}
+
diff --git a/tests/benchmarks/declarative/qdeclarativeimage/tst_qdeclarativeimage.cpp b/tests/benchmarks/declarative/qdeclarativeimage/tst_qdeclarativeimage.cpp
index 4bba022659..104746e436 100644
--- a/tests/benchmarks/declarative/qdeclarativeimage/tst_qdeclarativeimage.cpp
+++ b/tests/benchmarks/declarative/qdeclarativeimage/tst_qdeclarativeimage.cpp
@@ -46,8 +46,7 @@
#ifdef Q_OS_SYMBIAN
// In Symbian OS test data is located in applications private dir
-// Application private dir is default serach path for files, so SRCDIR can be set to empty
-#define SRCDIR ""
+#define SRCDIR "."
#endif
class tst_qmlgraphicsimage : public QObject
@@ -68,7 +67,7 @@ private:
void tst_qmlgraphicsimage::qmlgraphicsimage()
{
int x = 0;
- QUrl url("image.png");
+ QUrl url(SRCDIR "/image.png");
QBENCHMARK {
QUrl url2("http://localhost/image" + QString::number(x++) + ".png");
QDeclarativeImage *image = new QDeclarativeImage;
@@ -80,7 +79,13 @@ void tst_qmlgraphicsimage::qmlgraphicsimage()
void tst_qmlgraphicsimage::qmlgraphicsimage_file()
{
int x = 0;
- QUrl url("image.png");
+ QUrl url(SRCDIR "/image.png");
+ //get rid of initialization effects
+ {
+ QDeclarativeImage *image = new QDeclarativeImage;
+ QDeclarativeEngine::setContextForObject(image, engine.rootContext());
+ image->setSource(url);
+ }
QBENCHMARK {
QUrl url2("http://localhost/image" + QString::number(x++) + ".png");
QDeclarativeImage *image = new QDeclarativeImage;
@@ -93,7 +98,7 @@ void tst_qmlgraphicsimage::qmlgraphicsimage_file()
void tst_qmlgraphicsimage::qmlgraphicsimage_url()
{
int x = 0;
- QUrl url("image.png");
+ QUrl url(SRCDIR "/image.png");
QBENCHMARK {
QUrl url2("http://localhost/image" + QString::number(x++) + ".png");
QDeclarativeImage *image = new QDeclarativeImage;
diff --git a/tests/benchmarks/declarative/qdeclarativemetaproperty/data/object.qml b/tests/benchmarks/declarative/qdeclarativemetaproperty/data/object.qml
index 565a8ee49d..8c2f46ba3b 100644
--- a/tests/benchmarks/declarative/qdeclarativemetaproperty/data/object.qml
+++ b/tests/benchmarks/declarative/qdeclarativemetaproperty/data/object.qml
@@ -1,3 +1,44 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
import Qt 4.7
Item {}
diff --git a/tests/benchmarks/declarative/qdeclarativemetaproperty/data/synthesized_object.qml b/tests/benchmarks/declarative/qdeclarativemetaproperty/data/synthesized_object.qml
index b0b4e993ac..45748f5369 100644
--- a/tests/benchmarks/declarative/qdeclarativemetaproperty/data/synthesized_object.qml
+++ b/tests/benchmarks/declarative/qdeclarativemetaproperty/data/synthesized_object.qml
@@ -1,3 +1,44 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
import Qt 4.7
Item {
diff --git a/tests/benchmarks/declarative/qdeclarativemetaproperty/qdeclarativemetaproperty.pro b/tests/benchmarks/declarative/qdeclarativemetaproperty/qdeclarativemetaproperty.pro
index 79fdd262cd..65ee7e0cad 100644
--- a/tests/benchmarks/declarative/qdeclarativemetaproperty/qdeclarativemetaproperty.pro
+++ b/tests/benchmarks/declarative/qdeclarativemetaproperty/qdeclarativemetaproperty.pro
@@ -6,5 +6,11 @@ macx:CONFIG -= app_bundle
SOURCES += tst_qdeclarativemetaproperty.cpp
-# Define SRCDIR equal to test's source directory
-DEFINES += SRCDIR=\\\"$$PWD\\\"
+symbian {
+ data.sources += data
+ data.path = .
+ DEPLOYMENT += data
+} else {
+ # Define SRCDIR equal to test's source directory
+ DEFINES += SRCDIR=\\\"$$PWD\\\"
+}
diff --git a/tests/benchmarks/declarative/qdeclarativemetaproperty/tst_qdeclarativemetaproperty.cpp b/tests/benchmarks/declarative/qdeclarativemetaproperty/tst_qdeclarativemetaproperty.cpp
index 8a5f4aea73..6e71e7ddf9 100644
--- a/tests/benchmarks/declarative/qdeclarativemetaproperty/tst_qdeclarativemetaproperty.cpp
+++ b/tests/benchmarks/declarative/qdeclarativemetaproperty/tst_qdeclarativemetaproperty.cpp
@@ -48,6 +48,10 @@
//TESTED_FILES=
+#ifdef Q_OS_SYMBIAN
+// In Symbian OS test data is located in applications private dir
+#define SRCDIR "."
+#endif
class tst_qmlmetaproperty : public QObject
{
diff --git a/tests/benchmarks/declarative/qmltime/example.qml b/tests/benchmarks/declarative/qmltime/example.qml
index dde0671ea7..dca1429290 100644
--- a/tests/benchmarks/declarative/qmltime/example.qml
+++ b/tests/benchmarks/declarative/qmltime/example.qml
@@ -1,3 +1,44 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
import Qt 4.7
import QmlTime 1.0 as QmlTime
diff --git a/tests/benchmarks/declarative/qmltime/qmltime.cpp b/tests/benchmarks/declarative/qmltime/qmltime.cpp
index 3932e010cb..e1b73ca84b 100644
--- a/tests/benchmarks/declarative/qmltime/qmltime.cpp
+++ b/tests/benchmarks/declarative/qmltime/qmltime.cpp
@@ -50,7 +50,7 @@
class Timer : public QObject
{
Q_OBJECT
- Q_PROPERTY(QDeclarativeComponent *component READ component WRITE setComponent);
+ Q_PROPERTY(QDeclarativeComponent *component READ component WRITE setComponent)
public:
Timer();
diff --git a/tests/benchmarks/declarative/qmltime/qmltime.pro b/tests/benchmarks/declarative/qmltime/qmltime.pro
index 9352f3b40e..6f5ad5eff2 100644
--- a/tests/benchmarks/declarative/qmltime/qmltime.pro
+++ b/tests/benchmarks/declarative/qmltime/qmltime.pro
@@ -6,18 +6,10 @@ macx:CONFIG -= app_bundle
SOURCES += qmltime.cpp
-symbian* {
+symbian {
TARGET.CAPABILITY = "All -TCB"
- example.sources = example.qml
- esample.path = .
- tests.sources = tests/*
- tests.path = tests
- anshors.sources = tests/anchors/*
- anchors.path = tests/anchors
- item_creation.sources = tests/item_creation/*
- item_creation.path = tests/item_creation
- positioner_creation.sources = tests/positioner_creation/*
- positioner_creation.path = tests/positioner_creation
- DEPLOYMENT += example tests anchors item_creation positioner_creation
+ example.sources = example.qml tests
+ example.path = .
+ DEPLOYMENT += example
}
diff --git a/tests/benchmarks/declarative/qmltime/tests/anchors/empty.qml b/tests/benchmarks/declarative/qmltime/tests/anchors/empty.qml
index a383fc71e9..6d8be033fa 100644
--- a/tests/benchmarks/declarative/qmltime/tests/anchors/empty.qml
+++ b/tests/benchmarks/declarative/qmltime/tests/anchors/empty.qml
@@ -1,3 +1,44 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
import Qt 4.7
import QmlTime 1.0 as QmlTime
diff --git a/tests/benchmarks/declarative/qmltime/tests/anchors/fill.qml b/tests/benchmarks/declarative/qmltime/tests/anchors/fill.qml
index 209b572dc2..5371c3d2c7 100644
--- a/tests/benchmarks/declarative/qmltime/tests/anchors/fill.qml
+++ b/tests/benchmarks/declarative/qmltime/tests/anchors/fill.qml
@@ -1,3 +1,44 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
import Qt 4.7
import QmlTime 1.0 as QmlTime
diff --git a/tests/benchmarks/declarative/qmltime/tests/anchors/null.qml b/tests/benchmarks/declarative/qmltime/tests/anchors/null.qml
index c2e08c7cfa..bb43dc6bb6 100644
--- a/tests/benchmarks/declarative/qmltime/tests/anchors/null.qml
+++ b/tests/benchmarks/declarative/qmltime/tests/anchors/null.qml
@@ -1,3 +1,44 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
import Qt 4.7
import QmlTime 1.0 as QmlTime
diff --git a/tests/benchmarks/declarative/qmltime/tests/animation/large.qml b/tests/benchmarks/declarative/qmltime/tests/animation/large.qml
index f117e832d0..11bb6ba56f 100644
--- a/tests/benchmarks/declarative/qmltime/tests/animation/large.qml
+++ b/tests/benchmarks/declarative/qmltime/tests/animation/large.qml
@@ -1,3 +1,44 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
import Qt 4.7
import QmlTime 1.0 as QmlTime
diff --git a/tests/benchmarks/declarative/qmltime/tests/animation/largeNoProps.qml b/tests/benchmarks/declarative/qmltime/tests/animation/largeNoProps.qml
index faf93d0ae8..d40627f855 100644
--- a/tests/benchmarks/declarative/qmltime/tests/animation/largeNoProps.qml
+++ b/tests/benchmarks/declarative/qmltime/tests/animation/largeNoProps.qml
@@ -1,3 +1,44 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
import Qt 4.7
import QmlTime 1.0 as QmlTime
diff --git a/tests/benchmarks/declarative/qmltime/tests/item_creation/children.qml b/tests/benchmarks/declarative/qmltime/tests/item_creation/children.qml
index c9bd866646..049920106e 100644
--- a/tests/benchmarks/declarative/qmltime/tests/item_creation/children.qml
+++ b/tests/benchmarks/declarative/qmltime/tests/item_creation/children.qml
@@ -1,3 +1,44 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
import Qt 4.7
import QmlTime 1.0 as QmlTime
diff --git a/tests/benchmarks/declarative/qmltime/tests/item_creation/data.qml b/tests/benchmarks/declarative/qmltime/tests/item_creation/data.qml
index 6626d78d87..9064bc2483 100644
--- a/tests/benchmarks/declarative/qmltime/tests/item_creation/data.qml
+++ b/tests/benchmarks/declarative/qmltime/tests/item_creation/data.qml
@@ -1,3 +1,44 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
import Qt 4.7
import QmlTime 1.0 as QmlTime
diff --git a/tests/benchmarks/declarative/qmltime/tests/item_creation/no_creation.qml b/tests/benchmarks/declarative/qmltime/tests/item_creation/no_creation.qml
index 8c72288297..d27b2b617d 100644
--- a/tests/benchmarks/declarative/qmltime/tests/item_creation/no_creation.qml
+++ b/tests/benchmarks/declarative/qmltime/tests/item_creation/no_creation.qml
@@ -1,3 +1,44 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
import Qt 4.7
import QmlTime 1.0 as QmlTime
diff --git a/tests/benchmarks/declarative/qmltime/tests/item_creation/resources.qml b/tests/benchmarks/declarative/qmltime/tests/item_creation/resources.qml
index e2c05d62a6..0867d0b418 100644
--- a/tests/benchmarks/declarative/qmltime/tests/item_creation/resources.qml
+++ b/tests/benchmarks/declarative/qmltime/tests/item_creation/resources.qml
@@ -1,3 +1,44 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
import Qt 4.7
import QmlTime 1.0 as QmlTime
diff --git a/tests/benchmarks/declarative/qmltime/tests/loader/Loaded.qml b/tests/benchmarks/declarative/qmltime/tests/loader/Loaded.qml
index e31d46dfa7..416e0ea183 100644
--- a/tests/benchmarks/declarative/qmltime/tests/loader/Loaded.qml
+++ b/tests/benchmarks/declarative/qmltime/tests/loader/Loaded.qml
@@ -1,3 +1,44 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
import Qt 4.7
Item {
diff --git a/tests/benchmarks/declarative/qmltime/tests/loader/component_loader.qml b/tests/benchmarks/declarative/qmltime/tests/loader/component_loader.qml
index 6496223a33..f610eb0dac 100644
--- a/tests/benchmarks/declarative/qmltime/tests/loader/component_loader.qml
+++ b/tests/benchmarks/declarative/qmltime/tests/loader/component_loader.qml
@@ -1,3 +1,44 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
import Qt 4.7
import QmlTime 1.0 as QmlTime
diff --git a/tests/benchmarks/declarative/qmltime/tests/loader/empty_loader.qml b/tests/benchmarks/declarative/qmltime/tests/loader/empty_loader.qml
index b699459440..334e1b45d4 100644
--- a/tests/benchmarks/declarative/qmltime/tests/loader/empty_loader.qml
+++ b/tests/benchmarks/declarative/qmltime/tests/loader/empty_loader.qml
@@ -1,3 +1,44 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
import Qt 4.7
import QmlTime 1.0 as QmlTime
diff --git a/tests/benchmarks/declarative/qmltime/tests/loader/no_loader.qml b/tests/benchmarks/declarative/qmltime/tests/loader/no_loader.qml
index bce30b7895..507ed34a1e 100644
--- a/tests/benchmarks/declarative/qmltime/tests/loader/no_loader.qml
+++ b/tests/benchmarks/declarative/qmltime/tests/loader/no_loader.qml
@@ -1,3 +1,44 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
import Qt 4.7
import QmlTime 1.0 as QmlTime
diff --git a/tests/benchmarks/declarative/qmltime/tests/loader/source_loader.qml b/tests/benchmarks/declarative/qmltime/tests/loader/source_loader.qml
index 6a2b19d926..1092a9fdbd 100644
--- a/tests/benchmarks/declarative/qmltime/tests/loader/source_loader.qml
+++ b/tests/benchmarks/declarative/qmltime/tests/loader/source_loader.qml
@@ -1,3 +1,44 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
import Qt 4.7
import QmlTime 1.0 as QmlTime
diff --git a/tests/benchmarks/declarative/qmltime/tests/positioner_creation/no_positioner.qml b/tests/benchmarks/declarative/qmltime/tests/positioner_creation/no_positioner.qml
index 9ca67b7f56..a125c5498b 100644
--- a/tests/benchmarks/declarative/qmltime/tests/positioner_creation/no_positioner.qml
+++ b/tests/benchmarks/declarative/qmltime/tests/positioner_creation/no_positioner.qml
@@ -1,3 +1,44 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
import Qt 4.7
import QmlTime 1.0 as QmlTime
diff --git a/tests/benchmarks/declarative/qmltime/tests/positioner_creation/null_positioner.qml b/tests/benchmarks/declarative/qmltime/tests/positioner_creation/null_positioner.qml
index d213a5188a..18c8fb4819 100644
--- a/tests/benchmarks/declarative/qmltime/tests/positioner_creation/null_positioner.qml
+++ b/tests/benchmarks/declarative/qmltime/tests/positioner_creation/null_positioner.qml
@@ -1,3 +1,44 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
import Qt 4.7
import QmlTime 1.0 as QmlTime
diff --git a/tests/benchmarks/declarative/qmltime/tests/positioner_creation/positioner.qml b/tests/benchmarks/declarative/qmltime/tests/positioner_creation/positioner.qml
index 8878450e0f..2668c4c189 100644
--- a/tests/benchmarks/declarative/qmltime/tests/positioner_creation/positioner.qml
+++ b/tests/benchmarks/declarative/qmltime/tests/positioner_creation/positioner.qml
@@ -1,3 +1,44 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
import Qt 4.7
import QmlTime 1.0 as QmlTime
diff --git a/tests/benchmarks/declarative/qmltime/tests/vmemetaobject/null.qml b/tests/benchmarks/declarative/qmltime/tests/vmemetaobject/null.qml
index 7144abfc7f..424f768a4f 100644
--- a/tests/benchmarks/declarative/qmltime/tests/vmemetaobject/null.qml
+++ b/tests/benchmarks/declarative/qmltime/tests/vmemetaobject/null.qml
@@ -1,3 +1,44 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
import Qt 4.7
import QmlTime 1.0 as QmlTime
diff --git a/tests/benchmarks/declarative/qmltime/tests/vmemetaobject/property.qml b/tests/benchmarks/declarative/qmltime/tests/vmemetaobject/property.qml
index 84cf735957..f803b82747 100644
--- a/tests/benchmarks/declarative/qmltime/tests/vmemetaobject/property.qml
+++ b/tests/benchmarks/declarative/qmltime/tests/vmemetaobject/property.qml
@@ -1,3 +1,44 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
import Qt 4.7
import QmlTime 1.0 as QmlTime
diff --git a/tests/benchmarks/declarative/script/data/CustomObject.qml b/tests/benchmarks/declarative/script/data/CustomObject.qml
index ae0211739f..1656453fbd 100644
--- a/tests/benchmarks/declarative/script/data/CustomObject.qml
+++ b/tests/benchmarks/declarative/script/data/CustomObject.qml
@@ -1,3 +1,44 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
import Qt 4.7
QtObject {
diff --git a/tests/benchmarks/declarative/script/data/block.qml b/tests/benchmarks/declarative/script/data/block.qml
index 13764920ac..4e5006e00f 100644
--- a/tests/benchmarks/declarative/script/data/block.qml
+++ b/tests/benchmarks/declarative/script/data/block.qml
@@ -1,3 +1,44 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
import Qt 4.7
Rectangle {
diff --git a/tests/benchmarks/declarative/script/data/signal_args.qml b/tests/benchmarks/declarative/script/data/signal_args.qml
index f02acc08ca..68e4d2acd6 100644
--- a/tests/benchmarks/declarative/script/data/signal_args.qml
+++ b/tests/benchmarks/declarative/script/data/signal_args.qml
@@ -1,3 +1,44 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
import Qt.test 1.0
TestObject {
diff --git a/tests/benchmarks/declarative/script/data/signal_qml.qml b/tests/benchmarks/declarative/script/data/signal_qml.qml
index ba53603542..b161a662f4 100644
--- a/tests/benchmarks/declarative/script/data/signal_qml.qml
+++ b/tests/benchmarks/declarative/script/data/signal_qml.qml
@@ -1,3 +1,44 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
import Qt.test 1.0
TestObject {
diff --git a/tests/benchmarks/declarative/script/data/signal_unconnected.qml b/tests/benchmarks/declarative/script/data/signal_unconnected.qml
index 53d06d5421..e358c7b93a 100644
--- a/tests/benchmarks/declarative/script/data/signal_unconnected.qml
+++ b/tests/benchmarks/declarative/script/data/signal_unconnected.qml
@@ -1,3 +1,44 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
import Qt.test 1.0
TestObject {
diff --git a/tests/benchmarks/declarative/script/data/signal_unusedArgs.qml b/tests/benchmarks/declarative/script/data/signal_unusedArgs.qml
index 3ff9071cab..4941694eb9 100644
--- a/tests/benchmarks/declarative/script/data/signal_unusedArgs.qml
+++ b/tests/benchmarks/declarative/script/data/signal_unusedArgs.qml
@@ -1,3 +1,44 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
import Qt.test 1.0
TestObject {
diff --git a/tests/benchmarks/declarative/script/data/slot_complex.qml b/tests/benchmarks/declarative/script/data/slot_complex.qml
index d71120dff1..49e247c8bd 100644
--- a/tests/benchmarks/declarative/script/data/slot_complex.qml
+++ b/tests/benchmarks/declarative/script/data/slot_complex.qml
@@ -1,3 +1,44 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
import Qt.test 1.0
TestObject {
diff --git a/tests/benchmarks/declarative/script/data/slot_complex_js.js b/tests/benchmarks/declarative/script/data/slot_complex_js.js
new file mode 100644
index 0000000000..64a1f65daa
--- /dev/null
+++ b/tests/benchmarks/declarative/script/data/slot_complex_js.js
@@ -0,0 +1,8 @@
+function myCustomFunction(n) {
+ var a = 1;
+ while (n > 0) {
+ a = a * n;
+ n--;
+ }
+ return a;
+}
diff --git a/tests/benchmarks/declarative/script/data/slot_complex_js.qml b/tests/benchmarks/declarative/script/data/slot_complex_js.qml
index ed4f78b92a..c0864aa19f 100644
--- a/tests/benchmarks/declarative/script/data/slot_complex_js.qml
+++ b/tests/benchmarks/declarative/script/data/slot_complex_js.qml
@@ -1,18 +1,49 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
import Qt.test 1.0
+import "slot_complex_js.js" as Logic
TestObject {
- Script {
- function myCustomFunction(n) {
- var a = 1;
- while (n > 0) {
- a = a * n;
- n--;
- }
- return a;
- }
- }
-
- onMySignal: { for (var ii = 0; ii < 10000; ++ii) { myCustomFunction(10); } }
+ onMySignal: { for (var ii = 0; ii < 10000; ++ii) { Logic.myCustomFunction(10); } }
}
diff --git a/tests/benchmarks/declarative/script/data/slot_simple.qml b/tests/benchmarks/declarative/script/data/slot_simple.qml
index 4ba98d72c2..110aacf211 100644
--- a/tests/benchmarks/declarative/script/data/slot_simple.qml
+++ b/tests/benchmarks/declarative/script/data/slot_simple.qml
@@ -1,3 +1,44 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
import Qt.test 1.0
TestObject {
diff --git a/tests/benchmarks/declarative/script/data/slot_simple_js.js b/tests/benchmarks/declarative/script/data/slot_simple_js.js
new file mode 100644
index 0000000000..d6e60608da
--- /dev/null
+++ b/tests/benchmarks/declarative/script/data/slot_simple_js.js
@@ -0,0 +1,3 @@
+function myCustomFunction() {
+ return 0;
+}
diff --git a/tests/benchmarks/declarative/script/data/slot_simple_js.qml b/tests/benchmarks/declarative/script/data/slot_simple_js.qml
index a88265c074..14fc0cd1ef 100644
--- a/tests/benchmarks/declarative/script/data/slot_simple_js.qml
+++ b/tests/benchmarks/declarative/script/data/slot_simple_js.qml
@@ -1,13 +1,48 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
import Qt.test 1.0
+import "slot_simple_js.js" as Logic
TestObject {
-
- Script {
- function myCustomFunction() {
- return 0;
- }
- }
-
- onMySignal: { for (var ii = 0; ii < 10000; ++ii) { myCustomFunction(); } }
+ onMySignal: { for (var ii = 0; ii < 10000; ++ii) { Logic.myCustomFunction(); } }
}
diff --git a/tests/benchmarks/declarative/script/script.pro b/tests/benchmarks/declarative/script/script.pro
index 6255acc27e..685ba03dcb 100644
--- a/tests/benchmarks/declarative/script/script.pro
+++ b/tests/benchmarks/declarative/script/script.pro
@@ -7,10 +7,10 @@ CONFIG += release
SOURCES += tst_script.cpp
-symbian* {
- data.sources = data/*
- data.path = data
- DEPLOYMENT += data
+symbian {
+ importFiles.sources = data
+ importFiles.path =
+ DEPLOYMENT = importFiles
} else {
DEFINES += SRCDIR=\\\"$$PWD\\\"
}
diff --git a/tests/benchmarks/declarative/script/tst_script.cpp b/tests/benchmarks/declarative/script/tst_script.cpp
index 8ea6dcd9cb..99f294c15f 100644
--- a/tests/benchmarks/declarative/script/tst_script.cpp
+++ b/tests/benchmarks/declarative/script/tst_script.cpp
@@ -50,7 +50,6 @@
#ifdef Q_OS_SYMBIAN
// In Symbian OS test data is located in applications private dir
-// Application private dir is default serach path for files, so SRCDIR can be set to empty
#define SRCDIR "."
#endif
diff --git a/tests/benchmarks/declarative/typeimports/data/QmlTestType1.qml b/tests/benchmarks/declarative/typeimports/data/QmlTestType1.qml
index f359b85084..6f0666b0ed 100644
--- a/tests/benchmarks/declarative/typeimports/data/QmlTestType1.qml
+++ b/tests/benchmarks/declarative/typeimports/data/QmlTestType1.qml
@@ -1,2 +1,43 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
import Qt.test 2.0
TestType1 { }
diff --git a/tests/benchmarks/declarative/typeimports/data/QmlTestType2.qml b/tests/benchmarks/declarative/typeimports/data/QmlTestType2.qml
index b6fabe6d24..79ba001e7f 100644
--- a/tests/benchmarks/declarative/typeimports/data/QmlTestType2.qml
+++ b/tests/benchmarks/declarative/typeimports/data/QmlTestType2.qml
@@ -1,2 +1,43 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
import Qt.test 2.0
TestType2 { }
diff --git a/tests/benchmarks/declarative/typeimports/data/QmlTestType3.qml b/tests/benchmarks/declarative/typeimports/data/QmlTestType3.qml
index 6a30887ab7..57c9c5e3e9 100644
--- a/tests/benchmarks/declarative/typeimports/data/QmlTestType3.qml
+++ b/tests/benchmarks/declarative/typeimports/data/QmlTestType3.qml
@@ -1,2 +1,43 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
import Qt.test 2.0
TestType3 { }
diff --git a/tests/benchmarks/declarative/typeimports/data/QmlTestType4.qml b/tests/benchmarks/declarative/typeimports/data/QmlTestType4.qml
index 5cc8a6bc62..ad75840359 100644
--- a/tests/benchmarks/declarative/typeimports/data/QmlTestType4.qml
+++ b/tests/benchmarks/declarative/typeimports/data/QmlTestType4.qml
@@ -1,2 +1,43 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
import Qt.test 2.0
TestType4 { }
diff --git a/tests/benchmarks/declarative/typeimports/data/cpp.qml b/tests/benchmarks/declarative/typeimports/data/cpp.qml
index 11ee4e693f..efe1e1ffb8 100644
--- a/tests/benchmarks/declarative/typeimports/data/cpp.qml
+++ b/tests/benchmarks/declarative/typeimports/data/cpp.qml
@@ -1,3 +1,44 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
import Qt.test 2.0
TestType1 {
diff --git a/tests/benchmarks/declarative/typeimports/data/qml.qml b/tests/benchmarks/declarative/typeimports/data/qml.qml
index d776bcf65f..da723a3b7e 100644
--- a/tests/benchmarks/declarative/typeimports/data/qml.qml
+++ b/tests/benchmarks/declarative/typeimports/data/qml.qml
@@ -1,3 +1,44 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
QmlTestType1 {
QmlTestType1 { } QmlTestType2 { } QmlTestType3 { } QmlTestType4 { }
QmlTestType1 { } QmlTestType2 { } QmlTestType3 { } QmlTestType4 { }
diff --git a/tests/benchmarks/declarative/typeimports/tst_typeimports.cpp b/tests/benchmarks/declarative/typeimports/tst_typeimports.cpp
index b92ab4673d..4bab89fba9 100644
--- a/tests/benchmarks/declarative/typeimports/tst_typeimports.cpp
+++ b/tests/benchmarks/declarative/typeimports/tst_typeimports.cpp
@@ -46,8 +46,7 @@
#ifdef Q_OS_SYMBIAN
// In Symbian OS test data is located in applications private dir
-// Application private dir is default serach path for files, so SRCDIR can be set to empty
-#define SRCDIR ""
+#define SRCDIR "."
#endif
class tst_typeimports : public QObject
@@ -72,8 +71,8 @@ class TestType1 : public QObject
public:
TestType1(QObject *parent = 0) : QObject(parent) {}
- QDeclarativeListProperty<QObject> resources() {
- return QDeclarativeListProperty<QObject>(this, 0, resources_append);
+ QDeclarativeListProperty<QObject> resources() {
+ return QDeclarativeListProperty<QObject>(this, 0, resources_append);
}
static void resources_append(QDeclarativeListProperty<QObject> *p, QObject *o) {
@@ -104,7 +103,7 @@ public:
};
-tst_typeimports::tst_typeimports()
+tst_typeimports::tst_typeimports()
{
qmlRegisterType<TestType1>("Qt.test", 1, 0, "TestType1");
qmlRegisterType<TestType2>("Qt.test", 1, 0, "TestType2");
@@ -127,6 +126,9 @@ void tst_typeimports::cpp()
void tst_typeimports::qml()
{
+ //get rid of initialization effects
+ { QDeclarativeComponent component(&engine, TEST_FILE("qml.qml")); }
+
QBENCHMARK {
QDeclarativeComponent component(&engine, TEST_FILE("qml.qml"));
QVERIFY(component.isReady());
diff --git a/tests/benchmarks/declarative/typeimports/typeimports.pro b/tests/benchmarks/declarative/typeimports/typeimports.pro
index 8a74e0dab4..a5df3f0763 100644
--- a/tests/benchmarks/declarative/typeimports/typeimports.pro
+++ b/tests/benchmarks/declarative/typeimports/typeimports.pro
@@ -6,10 +6,10 @@ macx:CONFIG -= app_bundle
SOURCES += tst_typeimports.cpp
-symbian* {
- data.sources = data/*
- data.path = data
- DEPLOYMENT += addFiles
+symbian {
+ data.sources = data
+ data.path = .
+ DEPLOYMENT += data
} else {
DEFINES += SRCDIR=\\\"$$PWD\\\"
} \ No newline at end of file
diff --git a/tests/benchmarks/gui/image/qpixmap/tst_qpixmap.cpp b/tests/benchmarks/gui/image/qpixmap/tst_qpixmap.cpp
index 9ffbefb39a..8e9de4a22e 100644
--- a/tests/benchmarks/gui/image/qpixmap/tst_qpixmap.cpp
+++ b/tests/benchmarks/gui/image/qpixmap/tst_qpixmap.cpp
@@ -43,6 +43,7 @@
#include <QPixmap>
#include <QBitmap>
#include <QPainter>
+#include <private/qpixmap_raster_p.h>
class tst_QPixmap : public QObject
{
@@ -67,6 +68,31 @@ Q_DECLARE_METATYPE(QImage::Format)
Q_DECLARE_METATYPE(Qt::AspectRatioMode)
Q_DECLARE_METATYPE(Qt::TransformationMode)
+QPixmap rasterPixmap(int width, int height)
+{
+ QPixmapData *data =
+ new QRasterPixmapData(QPixmapData::PixmapType);
+
+ data->resize(width, height);
+
+ return QPixmap(data);
+}
+
+QPixmap rasterPixmap(const QSize &size)
+{
+ return rasterPixmap(size.width(), size.height());
+}
+
+QPixmap rasterPixmap(const QImage &image)
+{
+ QPixmapData *data =
+ new QRasterPixmapData(QPixmapData::PixmapType);
+
+ data->fromImage(image, Qt::AutoColor);
+
+ return QPixmap(data);
+}
+
tst_QPixmap::tst_QPixmap()
{
}
@@ -90,7 +116,7 @@ void tst_QPixmap::fill()
QFETCH(int, height);
const QColor color = opaque ? QColor(255, 0, 0) : QColor(255, 0, 0, 200);
- QPixmap pixmap(width, height);
+ QPixmap pixmap = rasterPixmap(width, height);
QBENCHMARK {
pixmap.fill(color);
@@ -126,8 +152,8 @@ void tst_QPixmap::scaled()
QFETCH(Qt::AspectRatioMode, ratioMode);
QFETCH(Qt::TransformationMode, transformMode);
- QPixmap opaque(size);
- QPixmap transparent(size);
+ QPixmap opaque = rasterPixmap(size);
+ QPixmap transparent = rasterPixmap(size);
opaque.fill(QColor(255, 0, 0));
transparent.fill(QColor(255, 0, 0, 200));
@@ -180,8 +206,8 @@ void tst_QPixmap::transformed()
QFETCH(QTransform, transform);
QFETCH(Qt::TransformationMode, transformMode);
- QPixmap opaque(size);
- QPixmap transparent(size);
+ QPixmap opaque = rasterPixmap(size);
+ QPixmap transparent = rasterPixmap(size);
opaque.fill(QColor(255, 0, 0));
transparent.fill(QColor(255, 0, 0, 200));
@@ -209,7 +235,7 @@ void tst_QPixmap::mask()
{
QFETCH(QSize, size);
- QPixmap src(size);
+ QPixmap src = rasterPixmap(size);
src.fill(Qt::transparent);
{
QPainter p(&src);
diff --git a/tests/benchmarks/gui/kernel/qwidget/tst_qwidget.cpp b/tests/benchmarks/gui/kernel/qwidget/tst_qwidget.cpp
index 8c30be4294..7015bd1d4a 100644
--- a/tests/benchmarks/gui/kernel/qwidget/tst_qwidget.cpp
+++ b/tests/benchmarks/gui/kernel/qwidget/tst_qwidget.cpp
@@ -159,12 +159,17 @@ void tst_QWidget::update_data()
QTest::newRow("10x10x1 opaque") << 10 << 10 << 1 << true;
QTest::newRow("10x10x10 opaque") << 10 << 10 << 10 << true;
QTest::newRow("10x10x100 opaque") << 10 << 10 << 100 << true;
+#ifndef Q_OS_SYMBIAN
+ //These test cases cause stack overflow in QWidgetPrivate::paintSiblingsRecursive
+ //see http://bugreports.qt.nokia.com/browse/QTBUG-8512
+ //Symbian threads have a hard limit of 80kB user stack
QTest::newRow("25x25x1 transparent ") << 25 << 25 << 1 << false;
QTest::newRow("25x25x10 transparent") << 25 << 25 << 10 << false;
QTest::newRow("25x25x100 transparent") << 25 << 25 << 100 << false;
QTest::newRow("25x25x1 opaque") << 25 << 25 << 1 << true;
QTest::newRow("25x25x10 opaque") << 25 << 25 << 10 << true;
QTest::newRow("25x25x100 opaque") << 25 << 25 << 100 << true;
+#endif
}
void tst_QWidget::update()
diff --git a/tests/benchmarks/gui/painting/qpainter/tst_qpainter.cpp b/tests/benchmarks/gui/painting/qpainter/tst_qpainter.cpp
index d570bb3aa8..318b67121d 100644
--- a/tests/benchmarks/gui/painting/qpainter/tst_qpainter.cpp
+++ b/tests/benchmarks/gui/painting/qpainter/tst_qpainter.cpp
@@ -50,6 +50,8 @@
#define M_PI 3.14159265358979323846
#endif
+#include <private/qpixmap_raster_p.h>
+
Q_DECLARE_METATYPE(QLine)
Q_DECLARE_METATYPE(QRect)
Q_DECLARE_METATYPE(QSize)
@@ -125,6 +127,32 @@ struct PrimitiveSet {
};
+QPixmap rasterPixmap(int width, int height)
+{
+ QPixmapData *data =
+ new QRasterPixmapData(QPixmapData::PixmapType);
+
+ data->resize(width, height);
+
+ return QPixmap(data);
+}
+
+QPixmap rasterPixmap(const QSize &size)
+{
+ return rasterPixmap(size.width(), size.height());
+}
+
+QPixmap rasterPixmap(const QImage &image)
+{
+ QPixmapData *data =
+ new QRasterPixmapData(QPixmapData::PixmapType);
+
+ data->fromImage(image, Qt::AutoColor);
+
+ return QPixmap(data);
+}
+
+
class tst_QPainter : public QObject
{
Q_OBJECT
@@ -222,7 +250,8 @@ private:
QPaintDevice *surface()
{
- return new QPixmap(1024, 1024);
+ m_pixmap = rasterPixmap(1024, 1024);
+ return &m_pixmap;
}
@@ -233,6 +262,7 @@ private:
PrimitiveSet m_primitives_100;
PrimitiveSet m_primitives_1000;
+ QPixmap m_pixmap;
QPaintDevice *m_surface;
QPainter m_painter;
@@ -490,7 +520,7 @@ void tst_QPainter::setupBrushes()
void tst_QPainter::beginAndEnd()
{
- QPixmap pixmap(100, 100);
+ QPixmap pixmap = rasterPixmap(100, 100);
QBENCHMARK {
QPainter p;
@@ -505,10 +535,11 @@ void tst_QPainter::drawLine()
QFETCH(QPen, pen);
const int offset = 5;
- QPixmap pixmapUnclipped(qMin(line.x1(), line.x2())
- + 2*offset + qAbs(line.dx()),
- qMin(line.y1(), line.y2())
- + 2*offset + qAbs(line.dy()));
+ QPixmap pixmapUnclipped =
+ rasterPixmap(qMin(line.x1(), line.x2())
+ + 2*offset + qAbs(line.dx()),
+ qMin(line.y1(), line.y2())
+ + 2*offset + qAbs(line.dy()));
pixmapUnclipped.fill(Qt::white);
QPainter p(&pixmapUnclipped);
@@ -535,10 +566,11 @@ void tst_QPainter::drawLine_clipped()
QFETCH(QPen, pen);
const int offset = 5;
- QPixmap pixmapClipped(qMin(line.x1(), line.x2())
- + 2*offset + qAbs(line.dx()),
- qMin(line.y1(), line.y2())
- + 2*offset + qAbs(line.dy()));
+ QPixmap pixmapClipped
+ = rasterPixmap(qMin(line.x1(), line.x2())
+ + 2*offset + qAbs(line.dx()),
+ qMin(line.y1(), line.y2())
+ + 2*offset + qAbs(line.dy()));
const QRect clip = QRect(line.p1(), line.p2()).normalized();
@@ -569,10 +601,11 @@ void tst_QPainter::drawLine_antialiased_clipped()
QFETCH(QPen, pen);
const int offset = 5;
- QPixmap pixmapClipped(qMin(line.x1(), line.x2())
- + 2*offset + qAbs(line.dx()),
- qMin(line.y1(), line.y2())
- + 2*offset + qAbs(line.dy()));
+ QPixmap pixmapClipped
+ = rasterPixmap(qMin(line.x1(), line.x2())
+ + 2*offset + qAbs(line.dx()),
+ qMin(line.y1(), line.y2())
+ + 2*offset + qAbs(line.dy()));
const QRect clip = QRect(line.p1(), line.p2()).normalized();
@@ -696,8 +729,8 @@ void tst_QPainter::drawPixmap()
QImage sourceImage = createImage(type, size).convertToFormat(sourceFormat);
QImage targetImage(size, targetFormat);
- QPixmap sourcePixmap = QPixmap::fromImage(sourceImage);
- QPixmap targetPixmap = QPixmap::fromImage(targetImage);
+ QPixmap sourcePixmap = rasterPixmap(sourceImage);
+ QPixmap targetPixmap = rasterPixmap(targetImage);
QPainter p(&targetPixmap);
@@ -759,10 +792,10 @@ void tst_QPainter::compositionModes()
QFETCH(QSize, size);
QFETCH(QColor, color);
- QPixmap src(size);
+ QPixmap src = rasterPixmap(size);
src.fill(color);
- QPixmap dest(size);
+ QPixmap dest = rasterPixmap(size);
if (mode < QPainter::RasterOp_SourceOrDestination)
color.setAlpha(127); // porter-duff needs an alpha channel
dest.fill(color);
@@ -844,11 +877,11 @@ void tst_QPainter::drawTiledPixmap()
QFETCH(QColor, color);
QFETCH(QPainter::RenderHint, renderHint);
- QPixmap src(srcSize);
+ QPixmap src = rasterPixmap(srcSize);
src.fill(color);
const QRect dstRect = transform.mapRect(QRect(QPoint(), dstSize));
- QPixmap dst(dstRect.right() + 5, dstRect.bottom() + 5);
+ QPixmap dst = rasterPixmap(dstRect.right() + 5, dstRect.bottom() + 5);
QPainter p(&dst);
p.setTransform(transform);
p.setRenderHint(renderHint);
@@ -1411,7 +1444,7 @@ void tst_QPainter::drawBorderPixmapRoundedRect()
rp.drawRoundedRect(QRectF(qreal(pw)/2+1, qreal(pw)/2+1, rectImage.width()-(pw+1), rectImage.height()-(pw+1)), radius, radius);
else
rp.drawRoundedRect(QRectF(qreal(pw)/2, qreal(pw)/2, rectImage.width()-pw, rectImage.height()-pw), radius, radius);
- QPixmap rectPixmap = QPixmap::fromImage(rectImage);
+ QPixmap rectPixmap = rasterPixmap(rectImage);
//setup surface
QImage surface(100, 100, QImage::Format_RGB16);
@@ -1466,7 +1499,7 @@ void tst_QPainter::drawScaledBorderPixmapRoundedRect()
else
rp.drawRoundedRect(QRectF(qreal(pw)/2, qreal(pw)/2, rectImage.width()-pw, rectImage.height()-pw), radius, radius);
- QPixmap rectPixmap = QPixmap::fromImage(rectImage);
+ QPixmap rectPixmap = rasterPixmap(rectImage);
//setup surface
QImage surface(400, 400, QImage::Format_RGB16);
@@ -1522,7 +1555,7 @@ void tst_QPainter::drawTransformedBorderPixmapRoundedRect()
else
rp.drawRoundedRect(QRectF(qreal(pw)/2, qreal(pw)/2, rectImage.width()-pw, rectImage.height()-pw), radius, radius);
- QPixmap rectPixmap = QPixmap::fromImage(rectImage);
+ QPixmap rectPixmap = rasterPixmap(rectImage);
//setup surface
QImage surface(400, 400, QImage::Format_RGB16);
diff --git a/tests/manual/bearerex/bearerex.cpp b/tests/manual/bearerex/bearerex.cpp
index 19246a2931..bf60dd1c8b 100644
--- a/tests/manual/bearerex/bearerex.cpp
+++ b/tests/manual/bearerex/bearerex.cpp
@@ -300,8 +300,12 @@ SessionTab::SessionTab(QNetworkConfiguration* apNetworkConfiguration,
SessionTab::~SessionTab()
{
+ // Need to be nulled, because modal dialogs may return after destruction of this object and
+ // use already released resources.
delete m_NetworkSession;
+ m_NetworkSession = NULL;
delete m_http;
+ m_http = NULL;
}
void SessionTab::on_createQHttpButton_clicked()
@@ -551,10 +555,16 @@ void SessionTab::done(bool error)
msgBox.setText(QString("HTTP request finished successfully.\nReceived ")+QString::number(result.length())+QString(" bytes."));
}
msgBox.exec();
-
- sentRecDataLineEdit->setText(QString::number(m_NetworkSession->bytesWritten())+
- QString(" / ")+
- QString::number(m_NetworkSession->bytesReceived()));
+ // Check if the networksession still exists - it may have gone after returning from
+ // the modal dialog (in the case that app has been closed, and deleting QHttp will
+ // trigger the done() invokation).
+ if (m_NetworkSession) {
+ sentRecDataLineEdit->setText(QString::number(m_NetworkSession->bytesWritten())+
+ QString(" / ")+
+ QString::number(m_NetworkSession->bytesReceived()));
+ } else {
+ sentRecDataLineEdit->setText("Data amounts not available.");
+ }
}
// End of file
diff --git a/tools/activeqt/testcon/testcon.pro b/tools/activeqt/testcon/testcon.pro
index dc982185a0..89f8067362 100644
--- a/tools/activeqt/testcon/testcon.pro
+++ b/tools/activeqt/testcon/testcon.pro
@@ -16,6 +16,6 @@ RC_FILE = testcon.rc
win32-borland {
QMAKE_POST_LINK = -midl $$QT_SOURCE_TREE/tools/activeqt/testcon/testcon.idl
} else {
- !win32-g++:QMAKE_POST_LINK = midl $$QT_SOURCE_TREE/tools/activeqt/testcon/testcon.idl && move testcon.tlb $(TARGETDIR)
+ !win32-g++*:QMAKE_POST_LINK = midl $$QT_SOURCE_TREE/tools/activeqt/testcon/testcon.idl && move testcon.tlb $(TARGETDIR)
}
diff --git a/tools/assistant/lib/fulltextsearch/fulltextsearch.pro b/tools/assistant/lib/fulltextsearch/fulltextsearch.pro
index e0cd13a821..4d2fddb1a6 100644
--- a/tools/assistant/lib/fulltextsearch/fulltextsearch.pro
+++ b/tools/assistant/lib/fulltextsearch/fulltextsearch.pro
@@ -29,7 +29,7 @@ unix:QMAKE_PKGCONFIG_REQUIRES = QtCore
CONFIG(exceptions_off) {
CONFIG -= exceptions_off
CONFIG += exceptions
- !win32|win32-g++ {
+ !win32|win32-g++* {
QMAKE_CFLAGS -= -fno-exceptions
QMAKE_CXXFLAGS -= -fno-exceptions
QMAKE_LFLAGS -= -fno-exceptions
@@ -46,5 +46,5 @@ win32-msvc.net | win32-msvc2* {
# the following define could be set globally in case we need it elsewhere
solaris* {
- DEFINES += Q_SOLARIS_VERSION=$$system(uname -r | sed -e 's/5\.//')
+ DEFINES += Q_SOLARIS_VERSION=$$system(uname -r | sed -e 's/5\\.//')
}
diff --git a/tools/assistant/lib/qhelpsearchindexreader_default_p.h b/tools/assistant/lib/qhelpsearchindexreader_default_p.h
index b30fa4b582..27764dbc89 100644
--- a/tools/assistant/lib/qhelpsearchindexreader_default_p.h
+++ b/tools/assistant/lib/qhelpsearchindexreader_default_p.h
@@ -61,9 +61,6 @@
QT_BEGIN_NAMESPACE
-struct Entry;
-struct PosEntry;
-
namespace fulltextsearch {
namespace std {
diff --git a/tools/assistant/tools/assistant/centralwidget.cpp b/tools/assistant/tools/assistant/centralwidget.cpp
index 2359479505..131fb85ee5 100644
--- a/tools/assistant/tools/assistant/centralwidget.cpp
+++ b/tools/assistant/tools/assistant/centralwidget.cpp
@@ -565,6 +565,7 @@ void CentralWidget::connectSignals()
SIGNAL(highlighted(QString)));
connect(viewer, SIGNAL(sourceChanged(QUrl)), this,
SLOT(setTabTitle(QUrl)));
+ connect(viewer, SIGNAL(printRequested()), this, SLOT(print()));
}
}
diff --git a/tools/assistant/tools/assistant/contentwindow.cpp b/tools/assistant/tools/assistant/contentwindow.cpp
index e0347c861d..8afa1df2e2 100644
--- a/tools/assistant/tools/assistant/contentwindow.cpp
+++ b/tools/assistant/tools/assistant/contentwindow.cpp
@@ -133,11 +133,13 @@ bool ContentWindow::eventFilter(QObject *o, QEvent *e)
if (m_contentWidget && o == m_contentWidget->viewport()
&& e->type() == QEvent::MouseButtonRelease) {
QMouseEvent *me = static_cast<QMouseEvent*>(e);
- QModelIndex index = m_contentWidget->indexAt(me->pos());
- QItemSelectionModel *sm = m_contentWidget->selectionModel();
+ const QModelIndex &index = m_contentWidget->indexAt(me->pos());
+ if (!index.isValid())
+ return QWidget::eventFilter(o, e);
- Qt::MouseButtons button = me->button();
- if (index.isValid() && (sm && sm->isSelected(index))) {
+ const Qt::MouseButtons button = me->button();
+ QItemSelectionModel *sm = m_contentWidget->selectionModel();
+ if (sm->isSelected(index)) {
if ((button == Qt::LeftButton && (me->modifiers() & Qt::ControlModifier))
|| (button == Qt::MidButton)) {
QHelpContentModel *contentModel =
@@ -189,9 +191,11 @@ void ContentWindow::itemClicked(const QModelIndex &index)
qobject_cast<QHelpContentModel*>(m_contentWidget->model());
if (contentModel) {
- QHelpContentItem *itm = contentModel->contentItemAt(index);
- if (itm)
- emit linkActivated(itm->url());
+ if (QHelpContentItem *itm = contentModel->contentItemAt(index)) {
+ const QUrl &url = itm->url();
+ if (url != CentralWidget::instance()->currentSource())
+ emit linkActivated(url);
+ }
}
}
diff --git a/tools/assistant/tools/assistant/doc/images/assistant-assistant.png b/tools/assistant/tools/assistant/doc/images/assistant-assistant.png
index b825de0987..1ff5cc9763 100644
--- a/tools/assistant/tools/assistant/doc/images/assistant-assistant.png
+++ b/tools/assistant/tools/assistant/doc/images/assistant-assistant.png
Binary files differ
diff --git a/tools/assistant/tools/assistant/helpviewer_qwv.cpp b/tools/assistant/tools/assistant/helpviewer_qwv.cpp
index adaa45b10b..dcbbf2ce96 100644
--- a/tools/assistant/tools/assistant/helpviewer_qwv.cpp
+++ b/tools/assistant/tools/assistant/helpviewer_qwv.cpp
@@ -172,6 +172,7 @@ private:
bool closeNewTabIfNeeded;
friend class HelpViewer;
+ QUrl m_loadingUrl;
Qt::MouseButtons m_pressedButtons;
Qt::KeyboardModifiers m_keyboardModifiers;
};
@@ -232,6 +233,11 @@ bool HelpPage::acceptNavigationRequest(QWebFrame *,
return false;
}
+ m_loadingUrl = url; // because of async page loading, we will hit some kind
+ // of race condition while using a remote command, like a combination of
+ // SetSource; SyncContent. SetSource would be called and SyncContents shortly
+ // afterwards, but the page might not have finished loading and the old url
+ // would be returned.
return true;
}
@@ -268,7 +274,9 @@ HelpViewer::HelpViewer(CentralWidget *parent, qreal zoom)
connect(page(), SIGNAL(linkHovered(QString,QString,QString)), this,
SIGNAL(highlighted(QString)));
connect(this, SIGNAL(urlChanged(QUrl)), this, SIGNAL(sourceChanged(QUrl)));
+ connect(this, SIGNAL(loadStarted()), this, SLOT(setLoadStarted()));
connect(this, SIGNAL(loadFinished(bool)), this, SLOT(setLoadFinished(bool)));
+ connect(page(), SIGNAL(printRequested(QWebFrame*)), this, SIGNAL(printRequested()));
setFont(viewerFont());
setTextSizeMultiplier(zoom == 0.0 ? 1.0 : zoom);
@@ -332,10 +340,19 @@ bool HelpViewer::handleForwardBackwardMouseButtons(QMouseEvent *e)
return false;
}
+QUrl HelpViewer::source() const
+{
+ HelpPage *currentPage = static_cast<HelpPage*> (page());
+ if (currentPage && !hasLoadFinished()) {
+ // see HelpPage::acceptNavigationRequest(...)
+ return currentPage->m_loadingUrl;
+ }
+ return url();
+}
+
void HelpViewer::setSource(const QUrl &url)
{
TRACE_OBJ
- loadFinished = false;
load(url.toString() == QLatin1String("help") ? LocalHelpFile : url);
}
@@ -395,6 +412,11 @@ void HelpViewer::mousePressEvent(QMouseEvent *event)
QWebView::mousePressEvent(event);
}
+void HelpViewer::setLoadStarted()
+{
+ loadFinished = false;
+}
+
void HelpViewer::setLoadFinished(bool ok)
{
TRACE_OBJ
diff --git a/tools/assistant/tools/assistant/helpviewer_qwv.h b/tools/assistant/tools/assistant/helpviewer_qwv.h
index a2c0389e35..1897e3e40a 100644
--- a/tools/assistant/tools/assistant/helpviewer_qwv.h
+++ b/tools/assistant/tools/assistant/helpviewer_qwv.h
@@ -71,8 +71,8 @@ public:
bool handleForwardBackwardMouseButtons(QMouseEvent *e);
+ QUrl source() const;
void setSource(const QUrl &url);
- inline QUrl source() const { return url(); }
inline QString documentTitle() const
{ return title(); }
@@ -100,6 +100,7 @@ Q_SIGNALS:
void backwardAvailable(bool enabled);
void highlighted(const QString &);
void sourceChanged(const QUrl &);
+ void printRequested();
protected:
virtual void wheelEvent(QWheelEvent *);
@@ -108,6 +109,7 @@ protected:
private Q_SLOTS:
void actionChanged();
+ void setLoadStarted();
void setLoadFinished(bool ok);
private:
diff --git a/tools/configure/configure.pro b/tools/configure/configure.pro
index d926a76990..64a6d9aef8 100644
--- a/tools/configure/configure.pro
+++ b/tools/configure/configure.pro
@@ -8,7 +8,7 @@ DEFINES += QT_BOOTSTRAPPED
win32 : LIBS += -lole32 -ladvapi32
win32-msvc.net | win32-msvc2* : QMAKE_CXXFLAGS += /EHsc
-win32-g++ : LIBS += -luuid
+win32-g++* : LIBS += -luuid
win32-msvc* {
QMAKE_CFLAGS_RELEASE -= -MD
diff --git a/tools/configure/configureapp.cpp b/tools/configure/configureapp.cpp
index bfa74455fb..2e2d8baf6b 100644
--- a/tools/configure/configureapp.cpp
+++ b/tools/configure/configureapp.cpp
@@ -195,10 +195,37 @@ Configure::Configure( int& argc, char** argv )
}
}
+ // make patch_capabilities and createpackage scripts for Symbian that can be used from the shadow build
+ QFile patch_capabilities(buildPath + "/bin/patch_capabilities");
+ if(patch_capabilities.open(QFile::WriteOnly)) {
+ QTextStream stream(&patch_capabilities);
+ stream << "#!/usr/bin/perl -w" << endl
+ << "require \"" << sourcePath + "/bin/patch_capabilities\";" << endl;
+ }
+ QFile patch_capabilities_bat(buildPath + "/bin/patch_capabilities.bat");
+ if(patch_capabilities_bat.open(QFile::WriteOnly)) {
+ QTextStream stream(&patch_capabilities_bat);
+ stream << "@echo off" << endl
+ << "call " << fixSeparators(sourcePath) << fixSeparators("/bin/patch_capabilities.bat %*") << endl;
+ patch_capabilities_bat.close();
+ }
+ QFile createpackage(buildPath + "/bin/createpackage");
+ if(createpackage.open(QFile::WriteOnly)) {
+ QTextStream stream(&createpackage);
+ stream << "#!/usr/bin/perl -w" << endl
+ << "require \"" << sourcePath + "/bin/createpackage\";" << endl;
+ }
+ QFile createpackage_bat(buildPath + "/bin/createpackage.bat");
+ if(createpackage_bat.open(QFile::WriteOnly)) {
+ QTextStream stream(&createpackage_bat);
+ stream << "@echo off" << endl
+ << "call " << fixSeparators(sourcePath) << fixSeparators("/bin/createpackage.bat %*") << endl;
+ createpackage_bat.close();
+ }
+
// For Windows CE and shadow builds we need to copy these to the
// build directory.
QFile::copy(sourcePath + "/bin/setcepaths.bat" , buildPath + "/bin/setcepaths.bat");
-
//copy the mkspecs
buildDir.mkpath("mkspecs");
if(!Environment::cpdir(sourcePath + "/mkspecs", buildPath + "/mkspecs")){
@@ -247,9 +274,7 @@ Configure::Configure( int& argc, char** argv )
dictionary[ "PHONON" ] = "auto";
dictionary[ "PHONON_BACKEND" ] = "yes";
dictionary[ "MULTIMEDIA" ] = "yes";
- dictionary[ "MEDIASERVICES" ] = "yes";
dictionary[ "AUDIO_BACKEND" ] = "auto";
- dictionary[ "MEDIA_BACKEND"] = "auto";
dictionary[ "WMSDK" ] = "auto";
dictionary[ "DIRECTSHOW" ] = "no";
dictionary[ "WEBKIT" ] = "auto";
@@ -367,11 +392,19 @@ Configure::~Configure()
}
}
-QString Configure::fixSeparators(QString somePath)
+QString Configure::fixSeparators(const QString &somePath, bool escape)
+{
+ if (useUnixSeparators)
+ return QDir::fromNativeSeparators(somePath);
+ QString ret = QDir::toNativeSeparators(somePath);
+ return escape ? escapeSeparators(ret) : ret;
+}
+
+QString Configure::escapeSeparators(const QString &somePath)
{
- return useUnixSeparators ?
- QDir::fromNativeSeparators(somePath) :
- QDir::toNativeSeparators(somePath);
+ QString out = somePath;
+ out.replace(QLatin1Char('\\'), QLatin1String("\\\\"));
+ return out;
}
// We could use QDir::homePath() + "/.qt-license", but
@@ -906,18 +939,10 @@ void Configure::parseCmdLine()
dictionary[ "MULTIMEDIA" ] = "no";
} else if( configCmdLine.at(i) == "-multimedia" ) {
dictionary[ "MULTIMEDIA" ] = "yes";
- } else if( configCmdLine.at(i) == "-no-mediaservices" ) {
- dictionary[ "MEDIASERVICES" ] = "no";
- } else if( configCmdLine.at(i) == "-mediaservices" ) {
- dictionary[ "MEDIASERVICES" ] = "yes";
} else if( configCmdLine.at(i) == "-audio-backend" ) {
dictionary[ "AUDIO_BACKEND" ] = "yes";
} else if( configCmdLine.at(i) == "-no-audio-backend" ) {
dictionary[ "AUDIO_BACKEND" ] = "no";
- } else if( configCmdLine.at(i) == "-media-backend") {
- dictionary[ "MEDIA_BACKEND" ] = "yes";
- } else if (configCmdLine.at(i) == "-no-media-backend") {
- dictionary[ "MEDIA_BACKEND" ] = "no";
} else if( configCmdLine.at(i) == "-no-phonon" ) {
dictionary[ "PHONON" ] = "no";
} else if( configCmdLine.at(i) == "-phonon" ) {
@@ -1010,6 +1035,8 @@ void Configure::parseCmdLine()
qmakeLibs += QString("-l" + configCmdLine.at(i));
} else if (configCmdLine.at(i).startsWith("OPENSSL_LIBS=")) {
opensslLibs = configCmdLine.at(i);
+ } else if (configCmdLine.at(i).startsWith("PSQL_LIBS=")) {
+ psqlLibs = configCmdLine.at(i);
}
else if( ( configCmdLine.at(i) == "-override-version" ) || ( configCmdLine.at(i) == "-version-override" ) ){
@@ -1135,7 +1162,8 @@ void Configure::parseCmdLine()
QString system = configCmdLine.at(i);
if (system == QLatin1String("raster")
|| system == QLatin1String("opengl")
- || system == QLatin1String("openvg"))
+ || system == QLatin1String("openvg")
+ || system == QLatin1String("runtime"))
dictionary["GRAPHICS_SYSTEM"] = configCmdLine.at(i);
}
@@ -1603,9 +1631,8 @@ bool Configure::displayHelp()
"[-qtnamespace <namespace>] [-qtlibinfix <infix>] [-no-phonon]\n"
"[-phonon] [-no-phonon-backend] [-phonon-backend]\n"
"[-no-multimedia] [-multimedia] [-no-audio-backend] [-audio-backend]\n"
- "[-no-mediaservices] [-mediaservices] [-no-media-backend] [-media-backend]\n"
"[-no-script] [-script] [-no-scripttools] [-scripttools]\n"
- "[-no-webkit] [-webkit] [-graphicssystem raster|opengl|openvg]\n\n", 0, 7);
+ "[-no-webkit] [-webkit] [-graphicssystem raster|opengl|openvg|runtime]\n\n", 0, 7);
desc("Installation options:\n\n");
@@ -1708,9 +1735,10 @@ bool Configure::displayHelp()
#endif
desc( "-graphicssystem <sys>", "Specify which graphicssystem should be used.\n"
"Available values for <sys>:");
- desc("GRAPHICS_SYSTEM", "raster", "", " raster - Software rasterizer", ' ');
- desc("GRAPHICS_SYSTEM", "opengl", "", " opengl - Using OpenGL acceleration, experimental!", ' ');
- desc("GRAPHICS_SYSTEM", "openvg", "", " openvg - Using OpenVG acceleration, experimental!", ' ');
+ desc("GRAPHICS_SYSTEM", "raster", "", " raster - Software rasterizer", ' ');
+ desc("GRAPHICS_SYSTEM", "opengl", "", " opengl - Using OpenGL acceleration, experimental!", ' ');
+ desc("GRAPHICS_SYSTEM", "openvg", "", " openvg - Using OpenVG acceleration, experimental!", ' ');
+ desc("GRAPHICS_SYSTEM", "runtime", "", " runtime - Runtime switching of graphics sytems", ' ');
desc( "-help, -h, -?", "Display this information.\n");
@@ -1788,10 +1816,6 @@ bool Configure::displayHelp()
desc("MULTIMEDIA", "yes","-multimedia", "Compile in multimedia module");
desc("AUDIO_BACKEND", "no","-no-audio-backend", "Do not compile in the platform audio backend into QtMultimedia");
desc("AUDIO_BACKEND", "yes","-audio-backend", "Compile in the platform audio backend into QtMultimedia");
- desc("MEDIASERVICES", "no", "-no-mediaservices","Do not compile the QtMediaServices module");
- desc("MEDIASERVICES", "yes","-mediaservices", "Compile in QtMediaServices module");
- desc("MEDIA_BACKEND", "no","-no-media-backend", "Do not compile in the platform-specific QtMediaServices media service.");
- desc("MEDIA_BACKEND", "yes","-media-backend", "Compile in the platform-specific QtMediaServices media service.");
desc("WEBKIT", "no", "-no-webkit", "Do not compile in the WebKit module");
desc("WEBKIT", "yes", "-webkit", "Compile in the WebKit module (WebKit is built if a decent C++ compiler is used.)");
desc("SCRIPT", "no", "-no-script", "Do not build the QtScript module.");
@@ -2073,7 +2097,7 @@ bool Configure::checkAvailability(const QString &part)
&& dictionary.value("QMAKESPEC") != "win32-msvc.net" // Leave for now, since we can't be sure if they are using 2002 or 2003 with this spec
&& dictionary.value("QMAKESPEC") != "win32-msvc2002"
&& dictionary.value("EXCEPTIONS") == "yes";
- } else if (part == "PHONON" || part == "MEDIA_BACKEND") {
+ } else if (part == "PHONON") {
if (dictionary.contains("XQMAKESPEC") && dictionary["XQMAKESPEC"].startsWith("symbian")) {
available = true;
} else {
@@ -2237,8 +2261,6 @@ void Configure::autoDetection()
dictionary["DECLARATIVE"] = dictionary["SCRIPT"] == "yes" ? "yes" : "no";
if (dictionary["AUDIO_BACKEND"] == "auto")
dictionary["AUDIO_BACKEND"] = checkAvailability("AUDIO_BACKEND") ? "yes" : "no";
- if (dictionary["MEDIA_BACKEND"] == "auto")
- dictionary["MEDIA_BACKEND"] = checkAvailability("MEDIA_BACKEND") ? "yes" : "no";
if (dictionary["WMSDK"] == "auto")
dictionary["WMSDK"] = checkAvailability("WMSDK") ? "yes" : "no";
@@ -2373,7 +2395,7 @@ void Configure::generateBuildKey()
+ buildSymbianKey + "\"\n"
"#else\n"
// Debug builds
- "# if (defined(_DEBUG) || defined(DEBUG))\n"
+ "# if (!QT_NO_DEBUG)\n"
"# if (defined(WIN64) || defined(_WIN64) || defined(__WIN64__))\n"
+ build64Key.arg("debug") + "\"\n"
"# else\n"
@@ -2563,10 +2585,10 @@ void Configure::generateOutputVars()
qtConfig += "accessibility";
if( !qmakeLibs.isEmpty() )
- qmakeVars += "LIBS += " + qmakeLibs.join( " " );
+ qmakeVars += "LIBS += " + escapeSeparators(qmakeLibs.join( " " ));
if( !dictionary["QT_LFLAGS_SQLITE"].isEmpty() )
- qmakeVars += "QT_LFLAGS_SQLITE += " + dictionary["QT_LFLAGS_SQLITE"];
+ qmakeVars += "QT_LFLAGS_SQLITE += " + escapeSeparators(dictionary["QT_LFLAGS_SQLITE"]);
if (dictionary[ "QT3SUPPORT" ] == "yes")
qtConfig += "qt3support";
@@ -2639,14 +2661,6 @@ void Configure::generateOutputVars()
qtConfig += "multimedia";
if (dictionary["AUDIO_BACKEND"] == "yes")
qtConfig += "audio-backend";
- if (dictionary["MEDIASERVICES"] == "yes") {
- qtConfig += "mediaservices";
- if (dictionary["MEDIA_BACKEND"] == "yes") {
- qtConfig += "media-backend";
- if (dictionary["WMSDK"] == "yes")
- qtConfig += "wmsdk";
- }
- }
}
if (dictionary["WEBKIT"] == "yes")
@@ -2719,14 +2733,14 @@ void Configure::generateOutputVars()
if(dictionary.contains("XQMAKESPEC") && dictionary[ "XQMAKESPEC" ].startsWith("linux"))
dictionary[ "QMAKE_RPATHDIR" ] = dictionary[ "QT_INSTALL_LIBS" ];
- qmakeVars += QString("OBJECTS_DIR = ") + fixSeparators( "tmp/obj/" + dictionary[ "QMAKE_OUTDIR" ] );
- qmakeVars += QString("MOC_DIR = ") + fixSeparators( "tmp/moc/" + dictionary[ "QMAKE_OUTDIR" ] );
- qmakeVars += QString("RCC_DIR = ") + fixSeparators("tmp/rcc/" + dictionary["QMAKE_OUTDIR"]);
+ qmakeVars += QString("OBJECTS_DIR = ") + fixSeparators("tmp/obj/" + dictionary[ "QMAKE_OUTDIR" ], true);
+ qmakeVars += QString("MOC_DIR = ") + fixSeparators("tmp/moc/" + dictionary[ "QMAKE_OUTDIR" ], true);
+ qmakeVars += QString("RCC_DIR = ") + fixSeparators("tmp/rcc/" + dictionary["QMAKE_OUTDIR"], true);
if (!qmakeDefines.isEmpty())
qmakeVars += QString("DEFINES += ") + qmakeDefines.join( " " );
if (!qmakeIncludes.isEmpty())
- qmakeVars += QString("INCLUDEPATH += ") + qmakeIncludes.join( " " );
+ qmakeVars += QString("INCLUDEPATH += ") + escapeSeparators(qmakeIncludes.join( " " ));
if (!opensslLibs.isEmpty())
qmakeVars += opensslLibs;
else if (dictionary[ "OPENSSL" ] == "linked") {
@@ -2735,6 +2749,8 @@ void Configure::generateOutputVars()
else
qmakeVars += QString("OPENSSL_LIBS = -lssleay32 -llibeay32");
}
+ if (!psqlLibs.isEmpty())
+ qmakeVars += QString("QT_LFLAGS_PSQL=") + psqlLibs.section("=", 1);
if (!qmakeSql.isEmpty())
qmakeVars += QString("sql-drivers += ") + qmakeSql.join( " " );
if (!qmakeSqlPlugins.isEmpty())
@@ -2798,27 +2814,27 @@ void Configure::generateCachefile()
QString targetSpec = dictionary.contains("XQMAKESPEC") ? dictionary[ "XQMAKESPEC" ] : dictionary[ "QMAKESPEC" ];
QString mkspec_path = fixSeparators(sourcePath + "/mkspecs/" + targetSpec);
if(QFile::exists(mkspec_path))
- cacheStream << "QMAKESPEC = " << mkspec_path << endl;
+ cacheStream << "QMAKESPEC = " << escapeSeparators(mkspec_path) << endl;
else
- cacheStream << "QMAKESPEC = " << fixSeparators(targetSpec) << endl;
- cacheStream << "ARCH = " << fixSeparators(dictionary[ "ARCHITECTURE" ]) << endl;
- cacheStream << "QT_BUILD_TREE = " << fixSeparators(dictionary[ "QT_BUILD_TREE" ]) << endl;
- cacheStream << "QT_SOURCE_TREE = " << fixSeparators(dictionary[ "QT_SOURCE_TREE" ]) << endl;
+ cacheStream << "QMAKESPEC = " << fixSeparators(targetSpec, true) << endl;
+ cacheStream << "ARCH = " << dictionary[ "ARCHITECTURE" ] << endl;
+ cacheStream << "QT_BUILD_TREE = " << fixSeparators(dictionary[ "QT_BUILD_TREE" ], true) << endl;
+ cacheStream << "QT_SOURCE_TREE = " << fixSeparators(dictionary[ "QT_SOURCE_TREE" ], true) << endl;
if (dictionary["QT_EDITION"] != "QT_EDITION_OPENSOURCE")
cacheStream << "DEFINES *= QT_EDITION=QT_EDITION_DESKTOP" << endl;
//so that we can build without an install first (which would be impossible)
- cacheStream << "QMAKE_MOC = $$QT_BUILD_TREE" << fixSeparators("/bin/moc.exe") << endl;
- cacheStream << "QMAKE_UIC = $$QT_BUILD_TREE" << fixSeparators("/bin/uic.exe") << endl;
- cacheStream << "QMAKE_UIC3 = $$QT_BUILD_TREE" << fixSeparators("/bin/uic3.exe") << endl;
- cacheStream << "QMAKE_RCC = $$QT_BUILD_TREE" << fixSeparators("/bin/rcc.exe") << endl;
- cacheStream << "QMAKE_DUMPCPP = $$QT_BUILD_TREE" << fixSeparators("/bin/dumpcpp.exe") << endl;
- cacheStream << "QMAKE_INCDIR_QT = $$QT_BUILD_TREE" << fixSeparators("/include") << endl;
- cacheStream << "QMAKE_LIBDIR_QT = $$QT_BUILD_TREE" << fixSeparators("/lib") << endl;
+ cacheStream << "QMAKE_MOC = $$QT_BUILD_TREE" << fixSeparators("/bin/moc.exe", true) << endl;
+ cacheStream << "QMAKE_UIC = $$QT_BUILD_TREE" << fixSeparators("/bin/uic.exe", true) << endl;
+ cacheStream << "QMAKE_UIC3 = $$QT_BUILD_TREE" << fixSeparators("/bin/uic3.exe", true) << endl;
+ cacheStream << "QMAKE_RCC = $$QT_BUILD_TREE" << fixSeparators("/bin/rcc.exe", true) << endl;
+ cacheStream << "QMAKE_DUMPCPP = $$QT_BUILD_TREE" << fixSeparators("/bin/dumpcpp.exe", true) << endl;
+ cacheStream << "QMAKE_INCDIR_QT = $$QT_BUILD_TREE" << fixSeparators("/include", true) << endl;
+ cacheStream << "QMAKE_LIBDIR_QT = $$QT_BUILD_TREE" << fixSeparators("/lib", true) << endl;
if (dictionary["CETEST"] == "yes") {
- cacheStream << "QT_CE_RAPI_INC = " << fixSeparators(dictionary[ "QT_CE_RAPI_INC" ]) << endl;
- cacheStream << "QT_CE_RAPI_LIB = " << fixSeparators(dictionary[ "QT_CE_RAPI_LIB" ]) << endl;
+ cacheStream << "QT_CE_RAPI_INC = " << fixSeparators(dictionary[ "QT_CE_RAPI_INC" ], true) << endl;
+ cacheStream << "QT_CE_RAPI_LIB = " << fixSeparators(dictionary[ "QT_CE_RAPI_LIB" ], true) << endl;
}
// embedded
@@ -2894,7 +2910,7 @@ void Configure::generateCachefile()
<< "QT_PATCH_VERSION = " << dictionary["VERSION_PATCH"] << endl;
configStream << "#Qt for Windows CE c-runtime deployment" << endl
- << "QT_CE_C_RUNTIME = " << fixSeparators(dictionary[ "CE_CRT" ]) << endl;
+ << "QT_CE_C_RUNTIME = " << fixSeparators(dictionary[ "CE_CRT" ], true) << endl;
if(dictionary["CE_SIGNATURE"] != QLatin1String("no"))
configStream << "DEFAULT_SIGNATURE=" << dictionary["CE_SIGNATURE"] << endl;
@@ -3048,7 +3064,6 @@ void Configure::generateConfigfiles()
if(dictionary["DECLARATIVE"] == "no") qconfigList += "QT_NO_DECLARATIVE";
if(dictionary["PHONON"] == "no") qconfigList += "QT_NO_PHONON";
if(dictionary["MULTIMEDIA"] == "no") qconfigList += "QT_NO_MULTIMEDIA";
- if(dictionary["MEDIASERVICES"] == "no") qconfigList += "QT_NO_MEDIASERVICES";
if(dictionary["XMLPATTERNS"] == "no") qconfigList += "QT_NO_XMLPATTERNS";
if(dictionary["SCRIPT"] == "no") qconfigList += "QT_NO_SCRIPT";
if(dictionary["SCRIPTTOOLS"] == "no") qconfigList += "QT_NO_SCRIPTTOOLS";
@@ -3075,9 +3090,10 @@ void Configure::generateConfigfiles()
if(dictionary["SQL_SQLITE2"] == "yes") qconfigList += "QT_SQL_SQLITE2";
if(dictionary["SQL_IBASE"] == "yes") qconfigList += "QT_SQL_IBASE";
- if (dictionary["GRAPHICS_SYSTEM"] == "openvg") qconfigList += "QT_GRAPHICSSYSTEM_OPENVG";
- if (dictionary["GRAPHICS_SYSTEM"] == "opengl") qconfigList += "QT_GRAPHICSSYSTEM_OPENGL";
- if (dictionary["GRAPHICS_SYSTEM"] == "raster") qconfigList += "QT_GRAPHICSSYSTEM_RASTER";
+ if (dictionary["GRAPHICS_SYSTEM"] == "openvg") qconfigList += "QT_GRAPHICSSYSTEM_OPENVG";
+ if (dictionary["GRAPHICS_SYSTEM"] == "opengl") qconfigList += "QT_GRAPHICSSYSTEM_OPENGL";
+ if (dictionary["GRAPHICS_SYSTEM"] == "raster") qconfigList += "QT_GRAPHICSSYSTEM_RASTER";
+ if (dictionary["GRAPHICS_SYSTEM"] == "runtime") qconfigList += "QT_GRAPHICSSYSTEM_RUNTIME";
if (dictionary.contains("XQMAKESPEC") && dictionary["XQMAKESPEC"].startsWith("symbian")) {
// These features are not ported to Symbian (yet)
@@ -3212,32 +3228,32 @@ void Configure::generateConfigfiles()
<< endl;
if(!dictionary[ "QT_HOST_PREFIX" ].isNull())
tmpStream << "#if !defined(QT_BOOTSTRAPPED) && !defined(QT_BUILD_QMAKE)" << endl;
- tmpStream << "static const char qt_configure_prefix_path_str [512 + 12] = \"qt_prfxpath=" << QString(dictionary["QT_INSTALL_PREFIX"]).replace( "\\", "\\\\" ) << "\";" << endl
- << "static const char qt_configure_documentation_path_str[512 + 12] = \"qt_docspath=" << QString(dictionary["QT_INSTALL_DOCS"]).replace( "\\", "\\\\" ) << "\";" << endl
- << "static const char qt_configure_headers_path_str [512 + 12] = \"qt_hdrspath=" << QString(dictionary["QT_INSTALL_HEADERS"]).replace( "\\", "\\\\" ) << "\";" << endl
- << "static const char qt_configure_libraries_path_str [512 + 12] = \"qt_libspath=" << QString(dictionary["QT_INSTALL_LIBS"]).replace( "\\", "\\\\" ) << "\";" << endl
- << "static const char qt_configure_binaries_path_str [512 + 12] = \"qt_binspath=" << QString(dictionary["QT_INSTALL_BINS"]).replace( "\\", "\\\\" ) << "\";" << endl
- << "static const char qt_configure_plugins_path_str [512 + 12] = \"qt_plugpath=" << QString(dictionary["QT_INSTALL_PLUGINS"]).replace( "\\", "\\\\" ) << "\";" << endl
- << "static const char qt_configure_imports_path_str [512 + 12] = \"qt_impspath=" << QString(dictionary["QT_INSTALL_IMPORTS"]).replace( "\\", "\\\\" ) << "\";" << endl
- << "static const char qt_configure_data_path_str [512 + 12] = \"qt_datapath=" << QString(dictionary["QT_INSTALL_DATA"]).replace( "\\", "\\\\" ) << "\";" << endl
- << "static const char qt_configure_translations_path_str [512 + 12] = \"qt_trnspath=" << QString(dictionary["QT_INSTALL_TRANSLATIONS"]).replace( "\\", "\\\\" ) << "\";" << endl
- << "static const char qt_configure_examples_path_str [512 + 12] = \"qt_xmplpath=" << QString(dictionary["QT_INSTALL_EXAMPLES"]).replace( "\\", "\\\\" ) << "\";" << endl
- << "static const char qt_configure_demos_path_str [512 + 12] = \"qt_demopath=" << QString(dictionary["QT_INSTALL_DEMOS"]).replace( "\\", "\\\\" ) << "\";" << endl
- //<< "static const char qt_configure_settings_path_str [256] = \"qt_stngpath=" << QString(dictionary["QT_INSTALL_SETTINGS"]).replace( "\\", "\\\\" ) << "\";" << endl
+ tmpStream << "static const char qt_configure_prefix_path_str [512 + 12] = \"qt_prfxpath=" << escapeSeparators(dictionary["QT_INSTALL_PREFIX"]) << "\";" << endl
+ << "static const char qt_configure_documentation_path_str[512 + 12] = \"qt_docspath=" << escapeSeparators(dictionary["QT_INSTALL_DOCS"]) << "\";" << endl
+ << "static const char qt_configure_headers_path_str [512 + 12] = \"qt_hdrspath=" << escapeSeparators(dictionary["QT_INSTALL_HEADERS"]) << "\";" << endl
+ << "static const char qt_configure_libraries_path_str [512 + 12] = \"qt_libspath=" << escapeSeparators(dictionary["QT_INSTALL_LIBS"]) << "\";" << endl
+ << "static const char qt_configure_binaries_path_str [512 + 12] = \"qt_binspath=" << escapeSeparators(dictionary["QT_INSTALL_BINS"]) << "\";" << endl
+ << "static const char qt_configure_plugins_path_str [512 + 12] = \"qt_plugpath=" << escapeSeparators(dictionary["QT_INSTALL_PLUGINS"]) << "\";" << endl
+ << "static const char qt_configure_imports_path_str [512 + 12] = \"qt_impspath=" << escapeSeparators(dictionary["QT_INSTALL_IMPORTS"]) << "\";" << endl
+ << "static const char qt_configure_data_path_str [512 + 12] = \"qt_datapath=" << escapeSeparators(dictionary["QT_INSTALL_DATA"]) << "\";" << endl
+ << "static const char qt_configure_translations_path_str [512 + 12] = \"qt_trnspath=" << escapeSeparators(dictionary["QT_INSTALL_TRANSLATIONS"]) << "\";" << endl
+ << "static const char qt_configure_examples_path_str [512 + 12] = \"qt_xmplpath=" << escapeSeparators(dictionary["QT_INSTALL_EXAMPLES"]) << "\";" << endl
+ << "static const char qt_configure_demos_path_str [512 + 12] = \"qt_demopath=" << escapeSeparators(dictionary["QT_INSTALL_DEMOS"]) << "\";" << endl
+ //<< "static const char qt_configure_settings_path_str [256] = \"qt_stngpath=" << escapeSeparators(dictionary["QT_INSTALL_SETTINGS"]) << "\";" << endl
;
if(!dictionary[ "QT_HOST_PREFIX" ].isNull()) {
tmpStream << "#else" << endl
- << "static const char qt_configure_prefix_path_str [512 + 12] = \"qt_prfxpath=" << QString(dictionary[ "QT_HOST_PREFIX" ]).replace( "\\", "\\\\" ) << "\";" << endl
- << "static const char qt_configure_documentation_path_str[512 + 12] = \"qt_docspath=" << fixSeparators(dictionary[ "QT_HOST_PREFIX" ] + "/doc").replace( "\\", "\\\\" ) <<"\";" << endl
- << "static const char qt_configure_headers_path_str [512 + 12] = \"qt_hdrspath=" << fixSeparators(dictionary[ "QT_HOST_PREFIX" ] + "/include").replace( "\\", "\\\\" ) <<"\";" << endl
- << "static const char qt_configure_libraries_path_str [512 + 12] = \"qt_libspath=" << fixSeparators(dictionary[ "QT_HOST_PREFIX" ] + "/lib").replace( "\\", "\\\\" ) <<"\";" << endl
- << "static const char qt_configure_binaries_path_str [512 + 12] = \"qt_binspath=" << fixSeparators(dictionary[ "QT_HOST_PREFIX" ] + "/bin").replace( "\\", "\\\\" ) <<"\";" << endl
- << "static const char qt_configure_plugins_path_str [512 + 12] = \"qt_plugpath=" << fixSeparators(dictionary[ "QT_HOST_PREFIX" ] + "/plugins").replace( "\\", "\\\\" ) <<"\";" << endl
- << "static const char qt_configure_imports_path_str [512 + 12] = \"qt_impspath=" << fixSeparators(dictionary[ "QT_HOST_PREFIX" ] + "/imports").replace( "\\", "\\\\" ) <<"\";" << endl
- << "static const char qt_configure_data_path_str [512 + 12] = \"qt_datapath=" << fixSeparators(dictionary[ "QT_HOST_PREFIX" ]).replace( "\\", "\\\\" ) <<"\";" << endl
- << "static const char qt_configure_translations_path_str [512 + 12] = \"qt_trnspath=" << fixSeparators(dictionary[ "QT_HOST_PREFIX" ] + "/translations").replace( "\\", "\\\\" ) <<"\";" << endl
- << "static const char qt_configure_examples_path_str [512 + 12] = \"qt_xmplpath=" << fixSeparators(dictionary[ "QT_HOST_PREFIX" ] + "/example").replace( "\\", "\\\\" ) <<"\";" << endl
- << "static const char qt_configure_demos_path_str [512 + 12] = \"qt_demopath=" << fixSeparators(dictionary[ "QT_HOST_PREFIX" ] + "/demos").replace( "\\", "\\\\" ) <<"\";" << endl
+ << "static const char qt_configure_prefix_path_str [512 + 12] = \"qt_prfxpath=" << escapeSeparators(dictionary[ "QT_HOST_PREFIX" ]) << "\";" << endl
+ << "static const char qt_configure_documentation_path_str[512 + 12] = \"qt_docspath=" << fixSeparators(dictionary[ "QT_HOST_PREFIX" ] + "/doc", true) <<"\";" << endl
+ << "static const char qt_configure_headers_path_str [512 + 12] = \"qt_hdrspath=" << fixSeparators(dictionary[ "QT_HOST_PREFIX" ] + "/include", true) <<"\";" << endl
+ << "static const char qt_configure_libraries_path_str [512 + 12] = \"qt_libspath=" << fixSeparators(dictionary[ "QT_HOST_PREFIX" ] + "/lib", true) <<"\";" << endl
+ << "static const char qt_configure_binaries_path_str [512 + 12] = \"qt_binspath=" << fixSeparators(dictionary[ "QT_HOST_PREFIX" ] + "/bin", true) <<"\";" << endl
+ << "static const char qt_configure_plugins_path_str [512 + 12] = \"qt_plugpath=" << fixSeparators(dictionary[ "QT_HOST_PREFIX" ] + "/plugins", true) <<"\";" << endl
+ << "static const char qt_configure_imports_path_str [512 + 12] = \"qt_impspath=" << fixSeparators(dictionary[ "QT_HOST_PREFIX" ] + "/imports", true) <<"\";" << endl
+ << "static const char qt_configure_data_path_str [512 + 12] = \"qt_datapath=" << fixSeparators(dictionary[ "QT_HOST_PREFIX" ], true) <<"\";" << endl
+ << "static const char qt_configure_translations_path_str [512 + 12] = \"qt_trnspath=" << fixSeparators(dictionary[ "QT_HOST_PREFIX" ] + "/translations", true) <<"\";" << endl
+ << "static const char qt_configure_examples_path_str [512 + 12] = \"qt_xmplpath=" << fixSeparators(dictionary[ "QT_HOST_PREFIX" ] + "/example", true) <<"\";" << endl
+ << "static const char qt_configure_demos_path_str [512 + 12] = \"qt_demopath=" << fixSeparators(dictionary[ "QT_HOST_PREFIX" ] + "/demos", true) <<"\";" << endl
<< "#endif //QT_BOOTSTRAPPED" << endl;
}
tmpStream << "/* strlen( \"qt_lcnsxxxx\" ) == 12 */" << endl
@@ -3351,7 +3367,6 @@ void Configure::displayConfig()
cout << "QtXmlPatterns support......." << dictionary[ "XMLPATTERNS" ] << endl;
cout << "Phonon support.............." << dictionary[ "PHONON" ] << endl;
cout << "QtMultimedia support........" << dictionary[ "MULTIMEDIA" ] << endl;
- cout << "QtMediaServices support....." << dictionary[ "MEDIASERVICES" ] << endl;
cout << "WebKit support.............." << dictionary[ "WEBKIT" ] << endl;
cout << "Declarative support........." << dictionary[ "DECLARATIVE" ] << endl;
cout << "QtScript support............" << dictionary[ "SCRIPT" ] << endl;
@@ -3457,7 +3472,7 @@ void Configure::displayConfig()
cout << "NOTE: When linking against OpenSSL, you can override the default" << endl;
cout << "library names through OPENSSL_LIBS." << endl;
cout << "For example:" << endl;
- cout << " configure -openssl-linked OPENSSL_LIBS='-lssleay32 -llibeay32'" << endl;
+ cout << " configure -openssl-linked OPENSSL_LIBS=\"-lssleay32 -llibeay32\"" << endl;
}
if( dictionary[ "ZLIB_FORCED" ] == "yes" ) {
QString which_zlib = "supplied";
diff --git a/tools/configure/configureapp.h b/tools/configure/configureapp.h
index c441129a92..ff2ee8b571 100644
--- a/tools/configure/configureapp.h
+++ b/tools/configure/configureapp.h
@@ -133,6 +133,7 @@ private:
QStringList qmakeIncludes;
QStringList qmakeLibs;
QString opensslLibs;
+ QString psqlLibs;
QMap<QString,QString> licenseInfo;
QString outputLine;
@@ -147,7 +148,8 @@ private:
int outputWidth;
bool useUnixSeparators;
- QString fixSeparators(QString somePath);
+ QString fixSeparators(const QString &somePath, bool escape = false);
+ QString escapeSeparators(const QString &somePath);
bool filesDiffer(const QString &file1, const QString &file2);
bool findFile(const QString &fileName);
diff --git a/tools/designer/src/components/signalsloteditor/signalsloteditorwindow.cpp b/tools/designer/src/components/signalsloteditor/signalsloteditorwindow.cpp
index a25bd5dc4c..55477611c2 100644
--- a/tools/designer/src/components/signalsloteditor/signalsloteditorwindow.cpp
+++ b/tools/designer/src/components/signalsloteditor/signalsloteditorwindow.cpp
@@ -63,6 +63,7 @@
#include <QtGui/QAction>
#include <QtGui/QButtonGroup>
#include <QtGui/QMenu>
+#include <QtGui/QSortFilterProxyModel>
#include <QtGui/QStandardItemModel>
#include <QtGui/QComboBox>
#include <QtGui/QApplication>
@@ -712,9 +713,12 @@ SignalSlotEditorWindow::SignalSlotEditorWindow(QDesignerFormEditorInterface *cor
m_remove_button(new QToolButton),
m_core(core),
m_model(new ConnectionModel(this)),
+ m_proxy_model(new QSortFilterProxyModel(this)),
m_handling_selection_change(false)
{
- m_view->setModel(m_model);
+ m_proxy_model->setSourceModel(m_model);
+ m_view->setModel(m_proxy_model);
+ m_view->setSortingEnabled(true);
m_view->setItemDelegate(new ConnectionDelegate(this));
m_view->setEditTriggers(QAbstractItemView::DoubleClicked
| QAbstractItemView::EditKeyPressed);
@@ -790,7 +794,7 @@ void SignalSlotEditorWindow::updateDialogSelection(Connection *con)
if (m_handling_selection_change || m_editor == 0)
return;
- QModelIndex index = m_model->connectionToIndex(con);
+ QModelIndex index = m_proxy_model->mapFromSource(m_model->connectionToIndex(con));
if (index == m_view->currentIndex())
return;
m_handling_selection_change = true;
@@ -808,7 +812,7 @@ void SignalSlotEditorWindow::updateEditorSelection(const QModelIndex &index)
if (m_editor == 0)
return;
- Connection *con = m_model->indexToConnection(index);
+ Connection *con = m_model->indexToConnection(m_proxy_model->mapToSource(index));
if (m_editor->selected(con))
return;
m_handling_selection_change = true;
diff --git a/tools/designer/src/components/signalsloteditor/signalsloteditorwindow.h b/tools/designer/src/components/signalsloteditor/signalsloteditorwindow.h
index 9315955989..665f0b73ae 100644
--- a/tools/designer/src/components/signalsloteditor/signalsloteditorwindow.h
+++ b/tools/designer/src/components/signalsloteditor/signalsloteditorwindow.h
@@ -50,6 +50,7 @@ QT_BEGIN_NAMESPACE
class QDesignerFormWindowInterface;
class QDesignerFormEditorInterface;
class QModelIndex;
+class QSortFilterProxyModel;
class QTreeView;
class QToolButton;
@@ -84,6 +85,7 @@ private:
QToolButton *m_add_button, *m_remove_button;
QDesignerFormEditorInterface *m_core;
ConnectionModel *m_model;
+ QSortFilterProxyModel *m_proxy_model;
bool m_handling_selection_change;
};
diff --git a/tools/designer/src/designer/qdesigner_actions.cpp b/tools/designer/src/designer/qdesigner_actions.cpp
index a593a76a98..86b6214f66 100644
--- a/tools/designer/src/designer/qdesigner_actions.cpp
+++ b/tools/designer/src/designer/qdesigner_actions.cpp
@@ -347,6 +347,7 @@ QDesignerActions::QDesignerActions(QDesignerWorkbench *workbench)
connect(m_editWidgetsAction, SIGNAL(triggered()), this, SLOT(editWidgetsSlot()));
m_editWidgetsAction->setChecked(true);
m_editWidgetsAction->setEnabled(false);
+ m_editWidgetsAction->setProperty(QDesignerActions::defaultToolbarPropertyName, true);
m_toolActions->addAction(m_editWidgetsAction);
connect(formWindowManager, SIGNAL(activeFormWindowChanged(QDesignerFormWindowInterface*)),
diff --git a/tools/designer/src/lib/sdk/abstractformeditor.cpp b/tools/designer/src/lib/sdk/abstractformeditor.cpp
index 5353cab17c..c301f46c1b 100644
--- a/tools/designer/src/lib/sdk/abstractformeditor.cpp
+++ b/tools/designer/src/lib/sdk/abstractformeditor.cpp
@@ -71,7 +71,6 @@ static void initResources()
{
Q_INIT_RESOURCE(shared);
Q_INIT_RESOURCE(ClamshellPhone);
- Q_INIT_RESOURCE(PDAPhone);
Q_INIT_RESOURCE(PortableMedia);
Q_INIT_RESOURCE(S60_nHD_Touchscreen);
Q_INIT_RESOURCE(S60_QVGA_Candybar);
@@ -79,8 +78,6 @@ static void initResources()
Q_INIT_RESOURCE(SmartPhone);
Q_INIT_RESOURCE(SmartPhoneWithButtons);
Q_INIT_RESOURCE(TouchscreenPhone);
- Q_INIT_RESOURCE(Trolltech_Keypad);
- Q_INIT_RESOURCE(Trolltech_Touchscreen);
}
QT_BEGIN_NAMESPACE
diff --git a/tools/designer/src/lib/shared/filterwidget.cpp b/tools/designer/src/lib/shared/filterwidget.cpp
index 9363b7ced4..a501c02010 100644
--- a/tools/designer/src/lib/shared/filterwidget.cpp
+++ b/tools/designer/src/lib/shared/filterwidget.cpp
@@ -163,7 +163,7 @@ FilterWidget::FilterWidget(QWidget *parent, LayoutMode lm) :
m_editor->setPlaceholderText(tr("Filter"));
// Let the style determine minimum height for our widget
- QSize size(ICONBUTTON_SIZE + 2, ICONBUTTON_SIZE + 2);
+ QSize size(ICONBUTTON_SIZE + 6, ICONBUTTON_SIZE + 2);
// Note KDE does not reserve space for the highlight color
if (style()->inherits("OxygenStyle")) {
diff --git a/tools/designer/src/lib/shared/previewconfigurationwidget.cpp b/tools/designer/src/lib/shared/previewconfigurationwidget.cpp
index e07d155de6..d116d5831d 100644
--- a/tools/designer/src/lib/shared/previewconfigurationwidget.cpp
+++ b/tools/designer/src/lib/shared/previewconfigurationwidget.cpp
@@ -41,7 +41,7 @@
/* It is possible to link the skins as resources into Designer by specifying:
* QVFB_ROOT=$$QT_SOURCE_TREE/tools/qvfb
- * RESOURCES += $$QVFB_ROOT/ClamshellPhone.qrc $$QVFB_ROOT/PDAPhone.qrc ...
+ * RESOURCES += $$QVFB_ROOT/ClamshellPhone.qrc $$QVFB_ROOT/TouchScreenPhone.qrc ...
* in lib/shared/shared.pri. However, this exceeds a limit of Visual Studio 6. */
#include "previewconfigurationwidget_p.h"
diff --git a/tools/linguist/lconvert/main.cpp b/tools/linguist/lconvert/main.cpp
index 543c405f6f..094406c984 100644
--- a/tools/linguist/lconvert/main.cpp
+++ b/tools/linguist/lconvert/main.cpp
@@ -240,7 +240,7 @@ int main(int argc, char *argv[])
tr.setLanguageCode(Translator::guessLanguageCodeFromFileName(inFiles[0].name));
if (!tr.load(inFiles[0].name, cd, inFiles[0].format)) {
- qWarning() << qPrintable(cd.error());
+ std::cerr << qPrintable(cd.error());
return 2;
}
tr.reportDuplicates(tr.resolveDuplicates(), inFiles[0].name, verbose);
@@ -248,7 +248,7 @@ int main(int argc, char *argv[])
for (int i = 1; i < inFiles.size(); ++i) {
Translator tr2;
if (!tr2.load(inFiles[i].name, cd, inFiles[i].format)) {
- qWarning() << qPrintable(cd.error());
+ std::cerr << qPrintable(cd.error());
return 2;
}
tr2.reportDuplicates(tr2.resolveDuplicates(), inFiles[i].name, verbose);
@@ -273,11 +273,11 @@ int main(int argc, char *argv[])
tr.normalizeTranslations(cd);
if (!cd.errors().isEmpty()) {
- qWarning("%s", qPrintable(cd.error()));
+ std::cerr << qPrintable(cd.error());
cd.clearErrors();
}
if (!tr.save(outFileName, cd, outFormat)) {
- qWarning("%s", qPrintable(cd.error()));
+ std::cerr << qPrintable(cd.error());
return 3;
}
return 0;
diff --git a/tools/linguist/lrelease/main.cpp b/tools/linguist/lrelease/main.cpp
index 266474e22a..b5cff90a77 100644
--- a/tools/linguist/lrelease/main.cpp
+++ b/tools/linguist/lrelease/main.cpp
@@ -55,6 +55,8 @@
#include <QtCore/QStringList>
#include <QtCore/QTextStream>
+#include <iostream>
+
QT_USE_NAMESPACE
#ifdef QT_BOOTSTRAPPED
@@ -106,7 +108,7 @@ static bool loadTsFile(Translator &tor, const QString &tsFileName, bool /* verbo
ConversionData cd;
bool ok = tor.load(tsFileName, cd, QLatin1String("auto"));
if (!ok) {
- qWarning("lrelease error: %s\n", qPrintable(cd.error()));
+ std::cerr << "lrelease error: " << qPrintable(cd.error());
} else {
if (!cd.errors().isEmpty())
printOut(cd.error());
@@ -130,8 +132,8 @@ static bool releaseTranslator(Translator &tor, const QString &qmFileName,
QFile file(qmFileName);
if (!file.open(QIODevice::WriteOnly)) {
- qWarning("lrelease error: cannot create '%s': %s\n",
- qPrintable(qmFileName), qPrintable(file.errorString()));
+ std::cerr << "lrelease error: cannot create '" << qPrintable(qmFileName)
+ << "': " << qPrintable(file.errorString()) << std::endl;
return false;
}
@@ -140,8 +142,8 @@ static bool releaseTranslator(Translator &tor, const QString &qmFileName,
file.close();
if (!ok) {
- qWarning("lrelease error: cannot save '%s': %s\n",
- qPrintable(qmFileName), qPrintable(cd.error()));
+ std::cerr << "lrelease error: cannot save '" << qPrintable(qmFileName)
+ << "': " << qPrintable(cd.error());
} else if (!cd.errors().isEmpty()) {
printOut(cd.error());
}
@@ -253,19 +255,20 @@ int main(int argc, char **argv)
visitor.setVerbose(cd.isVerbose());
if (!visitor.queryProFile(&pro)) {
- qWarning("lrelease error: cannot read project file '%s'.", qPrintable(inputFile));
+ std::cerr << "lrelease error: cannot read project file '"
+ << qPrintable(inputFile) << "'.\n";
continue;
}
if (!visitor.accept(&pro)) {
- qWarning("lrelease error: cannot process project file '%s'.", qPrintable(inputFile));
+ std::cerr << "lrelease error: cannot process project file '"
+ << qPrintable(inputFile) << "'.\n";
continue;
}
QStringList translations = visitor.values(QLatin1String("TRANSLATIONS"));
if (translations.isEmpty()) {
- qWarning("lrelease warning: Met no 'TRANSLATIONS' entry in"
- " project file '%s'\n",
- qPrintable(inputFile));
+ std::cerr << "lrelease warning: Met no 'TRANSLATIONS' entry in project file '"
+ << qPrintable(inputFile) << "'\n";
} else {
QDir proDir(fi.absolutePath());
foreach (const QString &trans, translations)
diff --git a/tools/linguist/lupdate/cpp.cpp b/tools/linguist/lupdate/cpp.cpp
index db4bbcac2e..b3e7e84f80 100644
--- a/tools/linguist/lupdate/cpp.cpp
+++ b/tools/linguist/lupdate/cpp.cpp
@@ -51,6 +51,8 @@
#include <QtCore/QTextCodec>
#include <QtCore/QTextStream>
+#include <iostream>
+
#include <ctype.h> // for isXXX()
QT_BEGIN_NAMESPACE
@@ -226,6 +228,8 @@ private:
int elseLine;
};
+ std::ostream &yyMsg(int line = 0);
+
uint getChar();
uint getToken();
bool getMacroArgs();
@@ -352,6 +356,12 @@ CppParser::CppParser(ParseResults *_results)
inDefine = false;
}
+
+std::ostream &CppParser::yyMsg(int line)
+{
+ return std::cerr << qPrintable(yyFileName) << ':' << (line ? line : yyLineNo) << ": ";
+}
+
void CppParser::setInput(const QString &in)
{
yyInStr = in;
@@ -613,9 +623,9 @@ uint CppParser::getToken()
if (yyBracketDepth != is.bracketDepth1st
|| yyBraceDepth != is.braceDepth1st
|| yyParenDepth != is.parenDepth1st)
- qWarning("%s:%d: Parenthesis/bracket/brace mismatch between "
- "#if and #else branches; using #if branch\n",
- qPrintable(yyFileName), is.elseLine);
+ yyMsg(is.elseLine)
+ << "Parenthesis/bracket/brace mismatch between "
+ "#if and #else branches; using #if branch\n";
} else {
is.bracketDepth1st = yyBracketDepth;
is.braceDepth1st = yyBraceDepth;
@@ -636,9 +646,9 @@ uint CppParser::getToken()
if (yyBracketDepth != is.bracketDepth1st
|| yyBraceDepth != is.braceDepth1st
|| yyParenDepth != is.parenDepth1st)
- qWarning("%s:%d: Parenthesis/brace mismatch between "
- "#if and #else branches; using #if branch\n",
- qPrintable(yyFileName), is.elseLine);
+ yyMsg(is.elseLine)
+ << "Parenthesis/brace mismatch between "
+ "#if and #else branches; using #if branch\n";
yyBracketDepth = is.bracketDepth1st;
yyBraceDepth = is.braceDepth1st;
yyParenDepth = is.parenDepth1st;
@@ -664,8 +674,7 @@ uint CppParser::getToken()
forever {
yyCh = getChar();
if (yyCh == EOF) {
- qWarning("%s:%d: Unterminated C++ comment\n",
- qPrintable(yyFileName), yyLineNo);
+ yyMsg() << "Unterminated C++ comment\n";
break;
}
@@ -795,8 +804,7 @@ uint CppParser::getToken()
forever {
yyCh = getChar();
if (yyCh == EOF) {
- qWarning("%s:%d: Unterminated C++ comment\n",
- qPrintable(yyFileName), yyLineNo);
+ yyMsg() << "Unterminated C++ comment\n";
break;
}
*ptr++ = yyCh;
@@ -829,8 +837,7 @@ uint CppParser::getToken()
yyWord.resize(ptr - (ushort *)yyWord.unicode());
if (yyCh != '"')
- qWarning("%s:%d: Unterminated C++ string\n",
- qPrintable(yyFileName), yyLineNo);
+ yyMsg() << "Unterminated C++ string\n";
else
yyCh = getChar();
return Tok_String;
@@ -867,8 +874,7 @@ uint CppParser::getToken()
forever {
if (yyCh == EOF || yyCh == '\n') {
- qWarning("%s:%d: Unterminated C++ character\n",
- qPrintable(yyFileName), yyLineNo);
+ yyMsg() << "Unterminated C++ character\n";
break;
}
yyCh = getChar();
@@ -887,9 +893,9 @@ uint CppParser::getToken()
case '}':
if (yyBraceDepth == yyMinBraceDepth) {
if (!inDefine)
- qWarning("%s:%d: Excess closing brace in C++ code"
- " (or abuse of the C++ preprocessor)\n",
- qPrintable(yyFileName), yyCurLineNo);
+ yyMsg(yyCurLineNo)
+ << "Excess closing brace in C++ code"
+ " (or abuse of the C++ preprocessor)\n";
// Avoid things getting messed up even more
yyCh = getChar();
return Tok_Semicolon;
@@ -905,9 +911,9 @@ uint CppParser::getToken()
return Tok_LeftParen;
case ')':
if (yyParenDepth == 0)
- qWarning("%s:%d: Excess closing parenthesis in C++ code"
- " (or abuse of the C++ preprocessor)\n",
- qPrintable(yyFileName), yyCurLineNo);
+ yyMsg(yyCurLineNo)
+ << "Excess closing parenthesis in C++ code"
+ " (or abuse of the C++ preprocessor)\n";
else
yyParenDepth--;
yyCh = getChar();
@@ -920,9 +926,9 @@ uint CppParser::getToken()
return Tok_LeftBracket;
case ']':
if (yyBracketDepth == 0)
- qWarning("%s:%d: Excess closing bracket in C++ code"
- " (or abuse of the C++ preprocessor)\n",
- qPrintable(yyFileName), yyCurLineNo);
+ yyMsg(yyCurLineNo)
+ << "Excess closing bracket in C++ code"
+ " (or abuse of the C++ preprocessor)\n";
else
yyBracketDepth--;
yyCh = getChar();
@@ -1290,8 +1296,7 @@ void CppParser::processInclude(const QString &file, ConversionData &cd,
QString cleanFile = QDir::cleanPath(file);
if (inclusions.contains(cleanFile)) {
- qWarning("%s:%d: circular inclusion of %s\n",
- qPrintable(yyFileName), yyLineNo, qPrintable(cleanFile));
+ yyMsg() << "circular inclusion of " << qPrintable(cleanFile) << std::endl;
return;
}
@@ -1315,9 +1320,9 @@ void CppParser::processInclude(const QString &file, ConversionData &cd,
QFile f(cleanFile);
if (!f.open(QIODevice::ReadOnly)) {
- qWarning("%s:%d: Cannot open %s: %s\n",
- qPrintable(yyFileName), yyLineNo,
- qPrintable(cleanFile), qPrintable(f.errorString()));
+ yyMsg()
+ << "Cannot open " << qPrintable(cleanFile) << ": "
+ << qPrintable(f.errorString()) << std::endl;
return;
}
@@ -1656,8 +1661,7 @@ void CppParser::parseInternal(ConversionData &cd, QSet<QString> &inclusions)
// Forward-declared class definitions can be namespaced.
NamespaceList nsl;
if (!fullyQualify(namespaces, quali, true, &nsl, 0)) {
- qWarning("%s:%d: Ignoring definition of undeclared qualified class\n",
- qPrintable(yyFileName), yyLineNo);
+ yyMsg() << "Ignoring definition of undeclared qualified class\n";
break;
}
namespaceDepths.push(namespaces.count());
@@ -1757,8 +1761,7 @@ void CppParser::parseInternal(ConversionData &cd, QSet<QString> &inclusions)
if (!tor)
goto case_default;
if (!sourcetext.isEmpty())
- qWarning("%s:%d: //%% cannot be used with tr() / QT_TR_NOOP(). Ignoring\n",
- qPrintable(yyFileName), yyLineNo);
+ yyMsg() << "//%% cannot be used with tr() / QT_TR_NOOP(). Ignoring\n";
utf8 = (yyTok == Tok_trUtf8);
line = yyLineNo;
yyTok = getToken();
@@ -1779,10 +1782,9 @@ void CppParser::parseInternal(ConversionData &cd, QSet<QString> &inclusions)
QStringList unresolved;
if (!fullyQualify(namespaces, pendingContext, true, &functionContext, &unresolved)) {
functionContextUnresolved = unresolved.join(strColons);
- qWarning("%s:%d: Qualifying with unknown namespace/class %s::%s\n",
- qPrintable(yyFileName), yyLineNo,
- qPrintable(stringifyNamespace(functionContext)),
- qPrintable(unresolved.first()));
+ yyMsg() << "Qualifying with unknown namespace/class "
+ << qPrintable(stringifyNamespace(functionContext)) << "::"
+ << qPrintable(unresolved.first()) << std::endl;
}
pendingContext.clear();
}
@@ -1790,8 +1792,7 @@ void CppParser::parseInternal(ConversionData &cd, QSet<QString> &inclusions)
if (functionContextUnresolved.isEmpty()) {
int idx = functionContext.length();
if (idx < 2) {
- qWarning("%s:%d: tr() cannot be called without context\n",
- qPrintable(yyFileName), yyLineNo);
+ yyMsg() << "tr() cannot be called without context\n";
break;
}
Namespace *fctx;
@@ -1800,9 +1801,8 @@ void CppParser::parseInternal(ConversionData &cd, QSet<QString> &inclusions)
context = stringifyNamespace(functionContext);
fctx = findNamespace(functionContext)->classDef;
if (!fctx->complained) {
- qWarning("%s:%d: Class '%s' lacks Q_OBJECT macro\n",
- qPrintable(yyFileName), yyLineNo,
- qPrintable(context));
+ yyMsg() << "Class '" << qPrintable(context)
+ << "' lacks Q_OBJECT macro\n";
fctx->complained = true;
}
goto gotctx;
@@ -1830,9 +1830,8 @@ void CppParser::parseInternal(ConversionData &cd, QSet<QString> &inclusions)
int last = prefix.lastIndexOf(strColons);
QString className = prefix.mid(last == -1 ? 0 : last + 2);
if (!className.isEmpty() && className == functionName) {
- qWarning("%s::%d: It is not recommended to call tr() from within a constructor '%s::%s' ",
- qPrintable(yyFileName), yyLineNo,
- className.constData(), functionName.constData());
+ yyMsg() << "It is not recommended to call tr() from within a constructor '"
+ << qPrintable(className) << "::" << qPrintable(functionName) << "'\n";
}
#endif
prefix.chop(2);
@@ -1847,9 +1846,7 @@ void CppParser::parseInternal(ConversionData &cd, QSet<QString> &inclusions)
context = fctx->trQualification;
}
if (!fctx->hasTrFunctions && !fctx->complained) {
- qWarning("%s:%d: Class '%s' lacks Q_OBJECT macro\n",
- qPrintable(yyFileName), yyLineNo,
- qPrintable(context));
+ yyMsg() << "Class '" << qPrintable(context) << "' lacks Q_OBJECT macro\n";
fctx->complained = true;
}
} else {
@@ -1870,8 +1867,7 @@ void CppParser::parseInternal(ConversionData &cd, QSet<QString> &inclusions)
if (!tor)
goto case_default;
if (!sourcetext.isEmpty())
- qWarning("%s:%d: //%% cannot be used with translate() / QT_TRANSLATE_NOOP(). Ignoring\n",
- qPrintable(yyFileName), yyLineNo);
+ yyMsg() << "//%% cannot be used with translate() / QT_TRANSLATE_NOOP(). Ignoring\n";
utf8 = (yyTok == Tok_translateUtf8);
line = yyLineNo;
yyTok = getToken();
@@ -1925,8 +1921,7 @@ void CppParser::parseInternal(ConversionData &cd, QSet<QString> &inclusions)
if (!tor)
goto case_default;
if (!msgid.isEmpty())
- qWarning("%s:%d: //= cannot be used with qtTrId() / QT_TRID_NOOP(). Ignoring\n",
- qPrintable(yyFileName), yyLineNo);
+ yyMsg() << "//= cannot be used with qtTrId() / QT_TRID_NOOP(). Ignoring\n";
//utf8 = false; // Maybe use //%% or something like that
line = yyLineNo;
yyTok = getToken();
@@ -1993,15 +1988,13 @@ void CppParser::parseInternal(ConversionData &cd, QSet<QString> &inclusions)
if (isspace(c))
continue;
if (c != '"') {
- qWarning("%s:%d: Unexpected character in meta string\n",
- qPrintable(yyFileName), yyLineNo);
+ yyMsg() << "Unexpected character in meta string\n";
break;
}
forever {
if (p >= yyWord.length()) {
whoops:
- qWarning("%s:%d: Unterminated meta string\n",
- qPrintable(yyFileName), yyLineNo);
+ yyMsg() << "Unterminated meta string\n";
break;
}
c = yyWord.unicode()[p++].unicode();
@@ -2054,8 +2047,7 @@ void CppParser::parseInternal(ConversionData &cd, QSet<QString> &inclusions)
case Tok_Arrow:
yyTok = getToken();
if (yyTok == Tok_tr || yyTok == Tok_trUtf8)
- qWarning("%s:%d: Cannot invoke tr() like this\n",
- qPrintable(yyFileName), yyLineNo);
+ yyMsg() << "Cannot invoke tr() like this\n";
break;
case Tok_ColonColon:
if (yyBraceDepth == namespaceDepths.count() && yyParenDepth == 0 && !yyTokColonSeen)
@@ -2123,17 +2115,17 @@ void CppParser::parseInternal(ConversionData &cd, QSet<QString> &inclusions)
}
if (yyBraceDepth != 0)
- qWarning("%s:%d: Unbalanced opening brace in C++ code"
- " (or abuse of the C++ preprocessor)\n",
- qPrintable(yyFileName), yyBraceLineNo);
+ yyMsg(yyBraceLineNo)
+ << "Unbalanced opening brace in C++ code"
+ " (or abuse of the C++ preprocessor)\n";
else if (yyParenDepth != 0)
- qWarning("%s:%d: Unbalanced opening parenthesis in C++ code"
- " (or abuse of the C++ preprocessor)\n",
- qPrintable(yyFileName), yyParenLineNo);
+ yyMsg(yyParenLineNo)
+ << "Unbalanced opening parenthesis in C++ code"
+ " (or abuse of the C++ preprocessor)\n";
else if (yyBracketDepth != 0)
- qWarning("%s:%d: Unbalanced opening bracket in C++ code"
- " (or abuse of the C++ preprocessor)\n",
- qPrintable(yyFileName), yyBracketLineNo);
+ yyMsg(yyBracketLineNo)
+ << "Unbalanced opening bracket in C++ code"
+ " (or abuse of the C++ preprocessor)\n";
}
const ParseResults *CppParser::recordResults(bool isHeader)
diff --git a/tools/linguist/lupdate/java.cpp b/tools/linguist/lupdate/java.cpp
index 27988b0458..dc66e2b365 100644
--- a/tools/linguist/lupdate/java.cpp
+++ b/tools/linguist/lupdate/java.cpp
@@ -51,6 +51,8 @@
#include <QtCore/QString>
#include <QtCore/QTextCodec>
+#include <iostream>
+
#include <ctype.h>
QT_BEGIN_NAMESPACE
@@ -107,6 +109,11 @@ static QString yyPackage;
static QStack<Scope*> yyScope;
static QString yyDefaultContext;
+std::ostream &yyMsg(int line = 0)
+{
+ return std::cerr << qPrintable(yyFileName) << ':' << (line ? line : yyLineNo) << ": ";
+}
+
static QChar getChar()
{
if (yyInPos >= yyInStr.size())
@@ -189,10 +196,7 @@ static int getToken()
while ( !metAsterSlash ) {
yyCh = getChar();
if ( yyCh == EOF ) {
- qFatal( "%s: Unterminated Java comment starting at"
- " line %d\n",
- qPrintable(yyFileName), yyLineNo );
-
+ yyMsg() << "Unterminated Java comment.\n";
return Tok_Comment;
}
@@ -228,8 +232,8 @@ static int getToken()
else {
int sub(yyCh.toLower().toAscii() - 87);
if( sub > 15 || sub < 10) {
- qFatal( "%s:%d: Invalid Unicode",
- qPrintable(yyFileName), yyLineNo );
+ yyMsg() << "Invalid Unicode value.\n";
+ break;
}
unicode += sub;
}
@@ -251,8 +255,7 @@ static int getToken()
}
if ( yyCh != QLatin1Char('"') )
- qFatal( "%s:%d: Unterminated string",
- qPrintable(yyFileName), yyLineNo );
+ yyMsg() << "Unterminated string.\n";
yyCh = getChar();
@@ -365,9 +368,8 @@ static bool matchString( QString &s )
if (yyTok == Tok_String)
s += yyString;
else {
- qWarning( "%s:%d: String used in translation can only contain strings"
- " concatenated with other strings, not expressions or numbers.",
- qPrintable(yyFileName), yyLineNo );
+ yyMsg() << "String used in translation can contain only literals"
+ " concatenated with other literals, not expressions or numbers.\n";
return false;
}
yyTok = getToken();
@@ -475,8 +477,8 @@ static void parse( Translator *tor )
yyScope.push(new Scope(yyIdent, Scope::Clazz, yyLineNo));
}
else {
- qFatal( "%s:%d: Class must be followed by a classname",
- qPrintable(yyFileName), yyLineNo );
+ yyMsg() << "'class' must be followed by a class name.\n";
+ break;
}
while (!match(Tok_LeftBrace)) {
yyTok = getToken();
@@ -547,8 +549,7 @@ static void parse( Translator *tor )
case Tok_RightBrace:
if ( yyScope.isEmpty() ) {
- qFatal( "%s:%d: Unbalanced right brace in Java code\n",
- qPrintable(yyFileName), yyLineNo );
+ yyMsg() << "Excess closing brace.\n";
}
else
delete (yyScope.pop());
@@ -577,8 +578,7 @@ static void parse( Translator *tor )
yyPackage.append(QLatin1String("."));
break;
default:
- qFatal( "%s:%d: Package keyword should be followed by com.package.name;",
- qPrintable(yyFileName), yyLineNo );
+ yyMsg() << "'package' must be followed by package name.\n";
break;
}
yyTok = getToken();
@@ -591,11 +591,9 @@ static void parse( Translator *tor )
}
if ( !yyScope.isEmpty() )
- qFatal( "%s:%d: Unbalanced braces in Java code\n",
- qPrintable(yyFileName), yyScope.top()->line );
+ yyMsg(yyScope.top()->line) << "Unbalanced opening brace.\n";
else if ( yyParenDepth != 0 )
- qFatal( "%s:%d: Unbalanced parentheses in Java code\n",
- qPrintable(yyFileName), yyParenLineNo );
+ yyMsg(yyParenLineNo) << "Unbalanced opening parenthesis.\n";
}
diff --git a/tools/linguist/lupdate/main.cpp b/tools/linguist/lupdate/main.cpp
index 6c9157a3ec..a575192005 100644
--- a/tools/linguist/lupdate/main.cpp
+++ b/tools/linguist/lupdate/main.cpp
@@ -57,16 +57,15 @@
static QString m_defaultExtensions;
-static void printErr(const QString & out)
-{
- qWarning("%s", qPrintable(out));
-}
-
static void printOut(const QString & out)
{
std::cerr << qPrintable(out);
}
+class LU {
+ Q_DECLARE_TR_FUNCTIONS(LUpdate)
+};
+
static void recursiveFileInfoList(const QDir &dir,
const QSet<QString> &nameFilters, QDir::Filters filter,
QFileInfoList *fileinfolist)
@@ -150,24 +149,25 @@ static void updateTsFiles(const Translator &fetchedTor, const QStringList &tsFil
cd.m_sortContexts = !(options & NoSort);
if (QFile(fileName).exists()) {
if (!tor.load(fileName, cd, QLatin1String("auto"))) {
- printErr(cd.error());
+ printOut(cd.error());
*fail = true;
continue;
}
tor.resolveDuplicates();
cd.clearErrors();
if (setCodec && fetchedTor.codec() != tor.codec())
- qWarning("lupdate warning: Codec for tr() '%s' disagrees with "
- "existing file's codec '%s'. Expect trouble.",
- fetchedTor.codecName().constData(), tor.codecName().constData());
+ printOut(LU::tr("lupdate warning: Codec for tr() '%1' disagrees with"
+ " existing file's codec '%2'. Expect trouble.\n")
+ .arg(QString::fromLatin1(fetchedTor.codecName()),
+ QString::fromLatin1(tor.codecName())));
if (!targetLanguage.isEmpty() && targetLanguage != tor.languageCode())
- qWarning("lupdate warning: Specified target language '%s' disagrees with "
- "existing file's language '%s'. Ignoring.",
- qPrintable(targetLanguage), qPrintable(tor.languageCode()));
+ printOut(LU::tr("lupdate warning: Specified target language '%1' disagrees with"
+ " existing file's language '%2'. Ignoring.\n")
+ .arg(targetLanguage, tor.languageCode()));
if (!sourceLanguage.isEmpty() && sourceLanguage != tor.sourceLanguageCode())
- qWarning("lupdate warning: Specified source language '%s' disagrees with "
- "existing file's language '%s'. Ignoring.",
- qPrintable(sourceLanguage), qPrintable(tor.sourceLanguageCode()));
+ printOut(LU::tr("lupdate warning: Specified source language '%1' disagrees with"
+ " existing file's language '%2'. Ignoring.\n")
+ .arg(sourceLanguage, tor.sourceLanguageCode()));
} else {
if (setCodec)
tor.setCodec(fetchedTor.codec());
@@ -210,11 +210,11 @@ static void updateTsFiles(const Translator &fetchedTor, const QStringList &tsFil
out.normalizeTranslations(cd);
if (!cd.errors().isEmpty()) {
- printErr(cd.error());
+ printOut(cd.error());
cd.clearErrors();
}
if (!out.save(fileName, cd, QLatin1String("auto"))) {
- printErr(cd.error());
+ printOut(cd.error());
*fail = true;
}
}
@@ -296,8 +296,9 @@ static void processProject(
if (!tmp.isEmpty()) {
codecForSource = tmp.last().toLatin1();
if (!QTextCodec::codecForName(codecForSource)) {
- qWarning("lupdate warning: Codec for source '%s' is invalid. "
- "Falling back to codec for tr().", codecForSource.constData());
+ printOut(LU::tr("lupdate warning: Codec for source '%1' is invalid."
+ " Falling back to codec for tr().\n")
+ .arg(QString::fromLatin1(codecForSource)));
codecForSource.clear();
}
}
@@ -452,7 +453,7 @@ int main(int argc, char **argv)
} else if (arg == QLatin1String("-target-language")) {
++i;
if (i == argc) {
- qWarning("The option -target-language requires a parameter.");
+ printOut(LU::tr("The option -target-language requires a parameter.\n"));
return 1;
}
targetLanguage = args[i];
@@ -460,7 +461,7 @@ int main(int argc, char **argv)
} else if (arg == QLatin1String("-source-language")) {
++i;
if (i == argc) {
- qWarning("The option -source-language requires a parameter.");
+ printOut(LU::tr("The option -source-language requires a parameter.\n"));
return 1;
}
sourceLanguage = args[i];
@@ -468,7 +469,7 @@ int main(int argc, char **argv)
} else if (arg == QLatin1String("-disable-heuristic")) {
++i;
if (i == argc) {
- qWarning("The option -disable-heuristic requires a parameter.");
+ printOut(LU::tr("The option -disable-heuristic requires a parameter.\n"));
return 1;
}
arg = args[i];
@@ -479,14 +480,14 @@ int main(int argc, char **argv)
} else if (arg == QLatin1String("number")) {
options &= ~HeuristicNumber;
} else {
- qWarning("Invalid heuristic name passed to -disable-heuristic.");
+ printOut(LU::tr("Invalid heuristic name passed to -disable-heuristic.\n"));
return 1;
}
continue;
} else if (arg == QLatin1String("-locations")) {
++i;
if (i == argc) {
- qWarning("The option -locations requires a parameter.");
+ printOut(LU::tr("The option -locations requires a parameter.\n"));
return 1;
}
if (args[i] == QLatin1String("none")) {
@@ -496,7 +497,7 @@ int main(int argc, char **argv)
} else if (args[i] == QLatin1String("absolute")) {
options |= AbsoluteLocations;
} else {
- qWarning("Invalid parameter passed to -locations.");
+ printOut(LU::tr("Invalid parameter passed to -locations.\n"));
return 1;
}
continue;
@@ -522,7 +523,7 @@ int main(int argc, char **argv)
} else if (arg == QLatin1String("-codecfortr")) {
++i;
if (i == argc) {
- qWarning("The -codecfortr option should be followed by a codec name.");
+ printOut(LU::tr("The -codecfortr option should be followed by a codec name.\n"));
return 1;
}
codecForTr = args[i].toLatin1();
@@ -533,7 +534,7 @@ int main(int argc, char **argv)
} else if (arg == QLatin1String("-extensions")) {
++i;
if (i == argc) {
- qWarning("The -extensions option should be followed by an extension list.");
+ printOut(LU::tr("The -extensions option should be followed by an extension list.\n"));
return 1;
}
extensions = args[i];
@@ -541,7 +542,7 @@ int main(int argc, char **argv)
} else if (arg == QLatin1String("-pro")) {
++i;
if (i == argc) {
- qWarning("The -pro option should be followed by a filename of .pro file.");
+ printOut(LU::tr("The -pro option should be followed by a filename of .pro file.\n"));
return 1;
}
proFiles += args[i];
@@ -551,7 +552,7 @@ int main(int argc, char **argv)
if (arg.length() == 2) {
++i;
if (i == argc) {
- qWarning("The -I option should be followed by a path.");
+ printOut(LU::tr("The -I option should be followed by a path.\n"));
return 1;
}
includePath += args[i];
@@ -560,7 +561,7 @@ int main(int argc, char **argv)
}
continue;
} else if (arg.startsWith(QLatin1String("-")) && arg != QLatin1String("-")) {
- qWarning("Unrecognized option '%s'", qPrintable(arg));
+ printOut(LU::tr("Unrecognized option '%1'.\n").arg(arg));
return 1;
}
@@ -568,8 +569,8 @@ int main(int argc, char **argv)
if (arg.startsWith(QLatin1String("@"))) {
QFile lstFile(arg.mid(1));
if (!lstFile.open(QIODevice::ReadOnly)) {
- qWarning("lupdate error: List file '%s' is not readable",
- qPrintable(lstFile.fileName()));
+ printOut(LU::tr("lupdate error: List file '%1' is not readable.\n")
+ .arg(lstFile.fileName()));
return 1;
}
while (!lstFile.atEnd())
@@ -586,16 +587,16 @@ int main(int argc, char **argv)
if (!fi.exists() || fi.isWritable()) {
tsFileNames.append(QFileInfo(file).absoluteFilePath());
} else {
- qWarning("lupdate warning: For some reason, '%s' is not writable.\n",
- qPrintable(file));
+ printOut(LU::tr("lupdate warning: For some reason, '%1' is not writable.\n")
+ .arg(file));
}
found = true;
break;
}
}
if (!found) {
- qWarning("lupdate error: File '%s' has no recognized extension\n",
- qPrintable(file));
+ printOut(LU::tr("lupdate error: File '%1' has no recognized extension.\n")
+ .arg(file));
return 1;
}
}
@@ -604,7 +605,7 @@ int main(int argc, char **argv)
foreach (const QString &file, files) {
QFileInfo fi(file);
if (!fi.exists()) {
- qWarning("lupdate error: File '%s' does not exists\n", qPrintable(file));
+ printOut(LU::tr("lupdate error: File '%1' does not exist.\n").arg(file));
return 1;
}
if (file.endsWith(QLatin1String(".pro"), Qt::CaseInsensitive)
@@ -612,7 +613,7 @@ int main(int argc, char **argv)
proFiles << file;
} else if (fi.isDir()) {
if (options & Verbose)
- printOut(QObject::tr("Scanning directory '%1'...").arg(file));
+ printOut(QObject::tr("Scanning directory '%1'...\n").arg(file));
QDir dir = QDir(fi.filePath());
projectRoots.insert(dir.absolutePath() + QLatin1Char('/'));
if (extensionsNameFilters.isEmpty()) {
@@ -650,6 +651,7 @@ int main(int argc, char **argv)
}
} else {
sourceFiles << QDir::cleanPath(fi.absoluteFilePath());;
+ projectRoots.insert(fi.absolutePath() + QLatin1Char('/'));
}
}
numFiles++;
@@ -662,16 +664,16 @@ int main(int argc, char **argv)
}
if (!targetLanguage.isEmpty() && tsFileNames.count() != 1)
- std::cerr << "lupdate warning: -target-language usually only "
- "makes sense with exactly one TS file.\n";
+ printOut(LU::tr("lupdate warning: -target-language usually only"
+ " makes sense with exactly one TS file.\n"));
if (!codecForTr.isEmpty() && tsFileNames.isEmpty())
- std::cerr << "lupdate warning: -codecfortr has no effect without -ts.\n";
+ printOut(LU::tr("lupdate warning: -codecfortr has no effect without -ts.\n"));
bool fail = false;
if (proFiles.isEmpty()) {
if (tsFileNames.isEmpty())
- std::cerr << "lupdate warning: no TS files specified. "
- "Only diagnostics will be produced.\n";
+ printOut(LU::tr("lupdate warning:"
+ " no TS files specified. Only diagnostics will be produced.\n"));
Translator fetchedTor;
ConversionData cd;
@@ -685,7 +687,8 @@ int main(int argc, char **argv)
sourceLanguage, targetLanguage, options, &fail);
} else {
if (!sourceFiles.isEmpty() || !includePath.isEmpty()) {
- qWarning("lupdate error: Both project and source files / include paths specified.\n");
+ printOut(LU::tr("lupdate error:"
+ " Both project and source files / include paths specified.\n"));
return 1;
}
if (!tsFileNames.isEmpty()) {
diff --git a/tools/linguist/lupdate/qscript.cpp b/tools/linguist/lupdate/qscript.cpp
index 33276e67aa..188ac3695f 100644
--- a/tools/linguist/lupdate/qscript.cpp
+++ b/tools/linguist/lupdate/qscript.cpp
@@ -53,6 +53,8 @@
#include <QtCore/qtextcodec.h>
#include <QtCore/qvariant.h>
+#include <iostream>
+
#include <ctype.h>
#include <stdlib.h>
#include <stdio.h>
@@ -2214,13 +2216,13 @@ case 66: {
if ((name == QLatin1String("qsTranslate")) || (name == QLatin1String("QT_TRANSLATE_NOOP"))) {
QVariantList args = sym(2).toList();
if (args.size() < 2) {
- qWarning("%s:%d: %s() requires at least two arguments",
- qPrintable(fileName), identLineNo, qPrintable(name));
+ std::cerr << qPrintable(fileName) << ':' << identLineNo << ": "
+ << qPrintable(name) << "() requires at least two arguments.\n";
} else {
if ((args.at(0).type() != QVariant::String)
|| (args.at(1).type() != QVariant::String)) {
- qWarning("%s:%d: %s(): both arguments must be literal strings",
- qPrintable(fileName), identLineNo, qPrintable(name));
+ std::cerr << qPrintable(fileName) << ':' << identLineNo << ": "
+ << qPrintable(name) << "(): both arguments must be literal strings.\n";
} else {
QString context = args.at(0).toString();
QString text = args.at(1).toString();
@@ -2234,12 +2236,12 @@ case 66: {
} else if ((name == QLatin1String("qsTr")) || (name == QLatin1String("QT_TR_NOOP"))) {
QVariantList args = sym(2).toList();
if (args.size() < 1) {
- qWarning("%s:%d: %s() requires at least one argument",
- qPrintable(fileName), identLineNo, qPrintable(name));
+ std::cerr << qPrintable(fileName) << ':' << identLineNo << ": "
+ << qPrintable(name) << "() requires at least one argument.\n";
} else {
if (args.at(0).type() != QVariant::String) {
- qWarning("%s:%d: %s(): text to translate must be a literal string",
- qPrintable(fileName), identLineNo, qPrintable(name));
+ std::cerr << qPrintable(fileName) << ':' << identLineNo << ": "
+ << qPrintable(name) << "(): text to translate must be a literal string.\n";
} else {
QString context = QFileInfo(fileName).baseName();
QString text = args.at(0).toString();
@@ -2377,8 +2379,8 @@ bool loadQScript(Translator &translator, const QString &filename, ConversionData
lexer.setCode(code, /*lineNumber=*/1);
QScriptParser parser;
if (!parser.parse(&lexer, filename, &translator)) {
- qWarning("%s:%d: %s", qPrintable(filename), parser.errorLineNumber(),
- qPrintable(parser.errorMessage()));
+ std::cerr << qPrintable(filename) << ':' << parser.errorLineNumber() << ": "
+ << qPrintable(parser.errorMessage()) << std::endl;
return false;
}
diff --git a/tools/linguist/lupdate/qscript.g b/tools/linguist/lupdate/qscript.g
index a473500ad5..857c58ab5d 100644
--- a/tools/linguist/lupdate/qscript.g
+++ b/tools/linguist/lupdate/qscript.g
@@ -90,6 +90,8 @@
#include <QtCore/qtextcodec.h>
#include <QtCore/qvariant.h>
+#include <iostream>
+
#include <ctype.h>
#include <stdlib.h>
#include <stdio.h>
@@ -106,7 +108,7 @@ static void recordMessage(
fileName, lineNo, QStringList(),
TranslatorMessage::Unfinished, plural);
msg.setExtraComment(extracomment.simplified());
- tor->replace(msg);
+ tor->extend(msg);
}
@@ -1630,13 +1632,13 @@ case $rule_number: {
if ((name == QLatin1String("qsTranslate")) || (name == QLatin1String("QT_TRANSLATE_NOOP"))) {
QVariantList args = sym(2).toList();
if (args.size() < 2) {
- qWarning("%s:%d: %s() requires at least two arguments",
- qPrintable(fileName), identLineNo, qPrintable(name));
+ std::cerr << qPrintable(fileName) << ':' << identLineNo << ": "
+ << qPrintable(name) << "() requires at least two arguments.\n";
} else {
if ((args.at(0).type() != QVariant::String)
|| (args.at(1).type() != QVariant::String)) {
- qWarning("%s:%d: %s(): both arguments must be literal strings",
- qPrintable(fileName), identLineNo, qPrintable(name));
+ std::cerr << qPrintable(fileName) << ':' << identLineNo << ": "
+ << qPrintable(name) << "(): both arguments must be literal strings.\n";
} else {
QString context = args.at(0).toString();
QString text = args.at(1).toString();
@@ -1650,12 +1652,12 @@ case $rule_number: {
} else if ((name == QLatin1String("qsTr")) || (name == QLatin1String("QT_TR_NOOP"))) {
QVariantList args = sym(2).toList();
if (args.size() < 1) {
- qWarning("%s:%d: %s() requires at least one argument",
- qPrintable(fileName), identLineNo, qPrintable(name));
+ std::cerr << qPrintable(fileName) << ':' << identLineNo << ": "
+ << qPrintable(name) << "() requires at least one argument.\n";
} else {
if (args.at(0).type() != QVariant::String) {
- qWarning("%s:%d: %s(): text to translate must be a literal string",
- qPrintable(fileName), identLineNo, qPrintable(name));
+ std::cerr << qPrintable(fileName) << ':' << identLineNo << ": "
+ << qPrintable(name) << "(): text to translate must be a literal string.\n";
} else {
QString context = QFileInfo(fileName).baseName();
QString text = args.at(0).toString();
@@ -2009,8 +2011,8 @@ bool loadQScript(Translator &translator, const QString &filename, ConversionData
lexer.setCode(code, /*lineNumber=*/1);
QScriptParser parser;
if (!parser.parse(&lexer, filename, &translator)) {
- qWarning("%s:%d: %s", qPrintable(filename), parser.errorLineNumber(),
- qPrintable(parser.errorMessage()));
+ std::cerr << qPrintable(filename) << ':' << parser.errorLineNumber() << ": "
+ << qPrintable(parser.errorMessage()) << std::endl;
return false;
}
diff --git a/tools/linguist/phrasebooks/hungarian.qph b/tools/linguist/phrasebooks/hungarian.qph
new file mode 100644
index 0000000000..0e1dd122a8
--- /dev/null
+++ b/tools/linguist/phrasebooks/hungarian.qph
@@ -0,0 +1,752 @@
+<!DOCTYPE QPH>
+<QPH language="hu_HU">
+<phrase>
+ <source>OK</source>
+ <target>OK</target>
+</phrase>
+<phrase>
+ <source>Bookmarks</source>
+ <target>Könyvjelzők</target>
+</phrase>
+<phrase>
+ <source>Remove</source>
+ <target>Törlés</target>
+</phrase>
+<phrase>
+ <source>New Folder</source>
+ <target>Új könyvtár</target>
+</phrase>
+<phrase>
+ <source>Add</source>
+ <target>Hozzáadás</target>
+</phrase>
+<phrase>
+ <source>Previous</source>
+ <target>Előző</target>
+</phrase>
+<phrase>
+ <source>Font</source>
+ <target>Betűtípus</target>
+</phrase>
+<phrase>
+ <source>Help</source>
+ <target>Segítség</target>
+</phrase>
+<phrase>
+ <source>Done</source>
+ <target>Kész</target>
+</phrase>
+<phrase>
+ <source>Install</source>
+ <target>Telepítés</target>
+</phrase>
+<phrase>
+ <source>Cancel</source>
+ <target>Mégsem</target>
+</phrase>
+<phrase>
+ <source>Installation Path:</source>
+ <target>Telepítési útvonal:</target>
+</phrase>
+<phrase>
+ <source>Index</source>
+ <target>Index</target>
+</phrase>
+<phrase>
+ <source>Contents</source>
+ <target>Tartalom</target>
+</phrase>
+<phrase>
+ <source>Search</source>
+ <target>Keresés</target>
+</phrase>
+<phrase>
+ <source>Print Preview...</source>
+ <target>Nyomtatási kép...</target>
+</phrase>
+<phrase>
+ <source>About...</source>
+ <target>Névjegy...</target>
+</phrase>
+<phrase>
+ <source>Toolbars</source>
+ <target>Eszköztárak</target>
+</phrase>
+<phrase>
+ <source>Address:</source>
+ <target>Cím:</target>
+</phrase>
+<phrase>
+ <source>Open Source Edition</source>
+ <target>Nyíltforrású kiadás</target>
+</phrase>
+<phrase>
+ <source>Yes</source>
+ <target>Igen</target>
+</phrase>
+<phrase>
+ <source>No</source>
+ <target>Nem</target>
+</phrase>
+<phrase>
+ <source>Apply</source>
+ <target>Alkalmaz</target>
+</phrase>
+<phrase>
+ <source>Ignore</source>
+ <target>Kihagyás</target>
+</phrase>
+<phrase>
+ <source>Abort</source>
+ <target>Megszakítás</target>
+</phrase>
+<phrase>
+ <source>Play</source>
+ <target>Lejátszás</target>
+</phrase>
+<phrase>
+ <source>Pause</source>
+ <target>Szünet</target>
+</phrase>
+<phrase>
+ <source>File</source>
+ <target>Fájl</target>
+ <definition>menu</definition>
+</phrase>
+<phrase>
+ <source>file</source>
+ <target>fájl</target>
+</phrase>
+<phrase>
+ <source>directory</source>
+ <target>könyvtár</target>
+</phrase>
+<phrase>
+ <source>Symlink</source>
+ <target>Szimbolikus link</target>
+</phrase>
+<phrase>
+ <source>Delete</source>
+ <target>Törlés</target>
+</phrase>
+<phrase>
+ <source>Rename</source>
+ <target>Átnevezés</target>
+</phrase>
+<phrase>
+ <source>Back</source>
+ <target>Vissza</target>
+</phrase>
+<phrase>
+ <source>Forward</source>
+ <target>Előre</target>
+</phrase>
+<phrase>
+ <source>Finish</source>
+ <target>Befejezés</target>
+</phrase>
+<phrase>
+ <source>Quit</source>
+ <target>Kilépés</target>
+</phrase>
+<phrase>
+ <source>Exit</source>
+ <target>Kilépés</target>
+</phrase>
+<phrase>
+ <source>Close</source>
+ <target>Bezárás</target>
+</phrase>
+<phrase>
+ <source>Close All</source>
+ <target>Mindent bezár</target>
+</phrase>
+<phrase>
+ <source>Error</source>
+ <target>Hiba</target>
+</phrase>
+<phrase>
+ <source>Warning</source>
+ <target>Figyelmeztetés</target>
+</phrase>
+<phrase>
+ <source>Information</source>
+ <target>Információ</target>
+</phrase>
+<phrase>
+ <source>Question</source>
+ <target>Kérdés</target>
+</phrase>
+<phrase>
+ <source>document</source>
+ <target>dokumentum</target>
+</phrase>
+<phrase>
+ <source>author</source>
+ <target>szerző</target>
+</phrase>
+<phrase>
+ <source>subsidiary(-ies)</source>
+ <target>leányvállalata(i)</target>
+</phrase>
+<phrase>
+ <source>Help</source>
+ <target>Súgó</target>
+</phrase>
+<phrase>
+ <source>Undo</source>
+ <target>Visszavonás</target>
+</phrase>
+<phrase>
+ <source>Redo</source>
+ <target>Újra</target>
+</phrase>
+<phrase>
+ <source>Open</source>
+ <target>Megnyitás</target>
+</phrase>
+<phrase>
+ <source>Save</source>
+ <target>Mentés</target>
+</phrase>
+<phrase>
+ <source>Save all</source>
+ <target>Mindet menti</target>
+</phrase>
+<phrase>
+ <source>click</source>
+ <target>kattintás</target>
+ <definition>noun</definition>
+</phrase>
+<phrase>
+ <source>click</source>
+ <target>kattintson</target>
+ <definition>ask</definition>
+</phrase>
+<phrase>
+ <source>Recent</source>
+ <target>Előző</target>
+ <definition>Recent files/Előző fájlok</definition>
+</phrase>
+<phrase>
+ <source>Window</source>
+ <target>Ablak</target>
+</phrase>
+<phrase>
+ <source>Cascade</source>
+ <target>Lépcsőzetes</target>
+</phrase>
+<phrase>
+ <source>Tile</source>
+ <target>Mozaikszerű</target>
+</phrase>
+<phrase>
+ <source>Game</source>
+ <target>Játék</target>
+</phrase>
+<phrase>
+ <source>New Game</source>
+ <target>Új játék</target>
+</phrase>
+<phrase>
+ <source>Untitled</source>
+ <target>Névtelen</target>
+</phrase>
+<phrase>
+ <source>Unknown error</source>
+ <target>Ismeretlen hiba</target>
+</phrase>
+<phrase>
+ <source>New Folder</source>
+ <target>Új mappa</target>
+</phrase>
+<phrase>
+ <source>folder</source>
+ <target>mappa</target>
+</phrase>
+<phrase>
+ <source>New Directory</source>
+ <target>Új könyvtár</target>
+</phrase>
+<phrase>
+ <source>unknown</source>
+ <target>ismeretlen</target>
+</phrase>
+<phrase>
+ <source>Copy</source>
+ <target>Másolás</target>
+</phrase>
+<phrase>
+ <source>Cut</source>
+ <target>Kivágás</target>
+</phrase>
+<phrase>
+ <source>Paste</source>
+ <target>Beillesztés</target>
+</phrase>
+<phrase>
+ <source>Paste special</source>
+ <target>Speciális beillesztés</target>
+</phrase>
+<phrase>
+ <source>Insert</source>
+ <target>Beszúrás</target>
+</phrase>
+<phrase>
+ <source>Copy here</source>
+ <target>Másolás ide</target>
+</phrase>
+<phrase>
+ <source>Minimize</source>
+ <target>Minimalizálás</target>
+</phrase>
+<phrase>
+ <source>Zoom</source>
+ <target>Nagyítás</target>
+</phrase>
+<phrase>
+ <source>&amp;Edit</source>
+ <target>S&amp;zerkesztés</target>
+</phrase>
+<phrase>
+ <source>&amp;View</source>
+ <target>&amp;Nézet</target>
+</phrase>
+<phrase>
+ <source>Application</source>
+ <target>Alkalmazás</target>
+</phrase>
+<phrase>
+ <source>Documentation</source>
+ <target>Dokumentáció</target>
+</phrase>
+<phrase>
+ <source>Network</source>
+ <target>Hálózat</target>
+</phrase>
+<phrase>
+ <source>Current Page</source>
+ <target>Aktuális oldal</target>
+</phrase>
+<phrase>
+ <source>Find</source>
+ <target>Keresés</target>
+</phrase>
+<phrase>
+ <source>Locale</source>
+ <target>Nyelv</target>
+</phrase>
+<phrase>
+ <source>Cannot open &apos;%1&apos;.</source>
+ <target>&apos;%1&apos; nem nyitható meg.</target>
+</phrase>
+<phrase>
+ <source>Cannot find the string &apos;%1&apos;.</source>
+ <target>A szöveg nem található: &apos;%1&apos;.</target>
+</phrase>
+<phrase>
+ <source>A file called &apos;%1&apos; already exists. Please choose another name.</source>
+ <target>&apos;%1&apos; nevű fájl már létezik. Válasszon egy másik nevet.</target>
+</phrase>
+<phrase>
+ <source>The program is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.</source>
+ <target>Ez a program abban a reményben került közreadásra, hogy hasznos lesz, de minden egyéb GARANCIA NÉLKÜL, az ELADHATÓSÁGRA vagy VALAMELY CÉLRA VALÓ ALKALMAZHATÓSÁGRA való származtatott garanciát is beleértve.</target>
+ <definition>License text in most Qt programs</definition>
+</phrase>
+<phrase>
+ <source>Open Link</source>
+ <target>Link megnyitása</target>
+</phrase>
+<phrase>
+ <source>Next</source>
+ <target>Következő</target>
+</phrase>
+<phrase>
+ <source>Case Sensitive</source>
+ <target>Kis/nagybetű érzékeny</target>
+</phrase>
+<phrase>
+ <source>Whole words</source>
+ <target>Teljes szó</target>
+</phrase>
+<phrase>
+ <source>Open Link in New Tab</source>
+ <target>Link megnyitása új lapon</target>
+</phrase>
+<phrase>
+ <source>Download canceled.</source>
+ <target>Letöltés megszakítva.</target>
+</phrase>
+<phrase>
+ <source>The file %1 already exists. Do you want to overwrite it?</source>
+ <target>A(z) &apos;%1&apos; nevű fájl már létezik. Felülírja?</target>
+</phrase>
+<phrase>
+ <source>Qt Assistant</source>
+ <target>Qt Asszisztens</target>
+</phrase>
+<phrase>
+ <source>Preferences...</source>
+ <target>Beállítások...</target>
+</phrase>
+<phrase>
+ <source>&amp;File</source>
+ <target>&amp;Fájl</target>
+</phrase>
+<phrase>
+ <source>Browser</source>
+ <target>Böngésző</target>
+</phrase>
+<phrase>
+ <source>Filters</source>
+ <target>Szűrők</target>
+</phrase>
+<phrase>
+ <source>Delete Folder</source>
+ <target>Mappa törlése</target>
+</phrase>
+<phrase>
+ <source>Rename Folder</source>
+ <target>Mappa átnevezése</target>
+</phrase>
+<phrase>
+ <source>You need a commercial Qt license for development of proprietary (closed source) applications. Please see &lt;a href=&quot;http://www.trolltech.com/company/model.html&quot;&gt;www.trolltech.com/company/model.html&lt;/a&gt; for an overview of Qt licensing.</source>
+ <target>Amennyiben zárt forrású alkalmazás fejlesztéséhez kívánja a Qt-t felhasználni, szüksége lesz a Qt kereskedelmi verziójára. Kérem tekintse meg az &lt;tt&gt;http://www.trolltech.com/company/model.html&lt;/tt&gt; oldalt a Qt licenszelésének áttekintéséhez.</target>
+</phrase>
+<phrase>
+ <source>New Tab</source>
+ <target>Új fül</target>
+</phrase>
+<phrase>
+ <source>Close Tab</source>
+ <target>Fül bezárása</target>
+</phrase>
+<phrase>
+ <source>Close Other Tabs</source>
+ <target>A többi fül bezárása</target>
+</phrase>
+<phrase>
+ <source>True</source>
+ <target>Igaz</target>
+</phrase>
+<phrase>
+ <source>False</source>
+ <target>Hamis</target>
+</phrase>
+<phrase>
+ <source>Update</source>
+ <target>Frissítés</target>
+</phrase>
+<phrase>
+ <source>Normal</source>
+ <target>Normál</target>
+</phrase>
+<phrase>
+ <source>Bold</source>
+ <target>Félkövér</target>
+</phrase>
+<phrase>
+ <source>Italic</source>
+ <target>Dőlt</target>
+</phrase>
+<phrase>
+ <source>Greek</source>
+ <target>Görög</target>
+</phrase>
+<phrase>
+ <source>Cyrillic</source>
+ <target>Cirill</target>
+</phrase>
+<phrase>
+ <source>Armenian</source>
+ <target>Örmény</target>
+</phrase>
+<phrase>
+ <source>Hebrew</source>
+ <target>Héber</target>
+</phrase>
+<phrase>
+ <source>Arabic</source>
+ <target>Arab</target>
+</phrase>
+<phrase>
+ <source>Syriac</source>
+ <target>Szír</target>
+</phrase>
+<phrase>
+ <source>Permission denied</source>
+ <target>Hozzáférés megtagadva</target>
+</phrase>
+<phrase>
+ <source>Too many open files</source>
+ <target>Túl sok fájl van nyitva</target>
+</phrase>
+<phrase>
+ <source>No such file or directory</source>
+ <target>Nincs ilyen fájl vagy könyvtár</target>
+</phrase>
+<phrase>
+ <source>No space left on device</source>
+ <target>Nincs több hely az eszközön</target>
+</phrase>
+<phrase>
+ <source>Width:</source>
+ <target>Szélesség:</target>
+</phrase>
+<phrase>
+ <source>Height:</source>
+ <target>Magasság:</target>
+</phrase>
+<phrase>
+ <source>Margins</source>
+ <target>Margók</target>
+</phrase>
+<phrase>
+ <source>top margin</source>
+ <target>felső margó</target>
+</phrase>
+<phrase>
+ <source>left margin</source>
+ <target>bal margó</target>
+</phrase>
+<phrase>
+ <source>right margin</source>
+ <target>jobb margó</target>
+</phrase>
+<phrase>
+ <source>bottom margin</source>
+ <target>alsó margó</target>
+</phrase>
+<phrase>
+ <source>Next page</source>
+ <target>Következő oldal</target>
+</phrase>
+<phrase>
+ <source>Previous page</source>
+ <target>Előző oldal</target>
+</phrase>
+<phrase>
+ <source>First page</source>
+ <target>Első oldal</target>
+</phrase>
+<phrase>
+ <source>Last page</source>
+ <target>Utolsó oldal</target>
+</phrase>
+<phrase>
+ <source>Fit width</source>
+ <target>Szélesség igazítása</target>
+</phrase>
+<phrase>
+ <source>Fit page</source>
+ <target>Oldal igazítása</target>
+</phrase>
+<phrase>
+ <source>Zoom in</source>
+ <target>Nagyítás</target>
+</phrase>
+<phrase>
+ <source>Zoom out</source>
+ <target>Kicsinyítés</target>
+</phrase>
+<phrase>
+ <source>Portrait</source>
+ <target>Álló</target>
+</phrase>
+<phrase>
+ <source>Landscape</source>
+ <target>Fekvő</target>
+</phrase>
+<phrase>
+ <source>Print</source>
+ <target>Nyomtatás</target>
+</phrase>
+<phrase>
+ <source>Page setup</source>
+ <target>Oldalbeállítás</target>
+</phrase>
+<phrase>
+ <source>Color</source>
+ <target>Szín</target>
+</phrase>
+<phrase>
+ <source>Grayscale</source>
+ <target>Szürkeárnyalatos</target>
+</phrase>
+<phrase>
+ <source>None</source>
+ <target>Nincs</target>
+</phrase>
+<phrase>
+ <source>...</source>
+ <target>...</target>
+</phrase>
+<phrase>
+ <source>Menu</source>
+ <target>Menü</target>
+</phrase>
+<phrase>
+ <source>Keep</source>
+ <target>Meghagy</target>
+</phrase>
+<phrase>
+ <source>Pause</source>
+ <target>Megállít</target>
+</phrase>
+<phrase>
+ <source>Log</source>
+ <target>Napló</target>
+</phrase>
+<phrase>
+ <source>Mi&amp;nimize</source>
+ <target>&amp;Kis méret</target>
+</phrase>
+<phrase>
+ <source>Press</source>
+ <target>Nyomja meg</target>
+</phrase>
+<phrase>
+ <source>Submit</source>
+ <target>Küldés</target>
+</phrase>
+<phrase>
+ <source>Underline</source>
+ <target>Aláhúzott</target>
+</phrase>
+<phrase>
+ <source>Outline</source>
+ <target>Áthúzott</target>
+</phrase>
+<phrase>
+ <source>Direction</source>
+ <target>Irány</target>
+</phrase>
+<phrase>
+ <source>Configuration</source>
+ <target>Konfiguráció</target>
+</phrase>
+<phrase>
+ <source>None</source>
+ <target>Semmi</target>
+</phrase>
+<phrase>
+ <source>Save As...</source>
+ <target>Mentés másként...</target>
+</phrase>
+<phrase>
+ <source>Context</source>
+ <target>Környezet</target>
+</phrase>
+<phrase>
+ <source>Edit</source>
+ <target>Szerkesztés</target>
+</phrase>
+<phrase>
+ <source>Toolbar</source>
+ <target>Eszköztár</target>
+</phrase>
+<phrase>
+ <source>&amp;Print...</source>
+ <target>&amp;Nyomtatás...</target>
+</phrase>
+<phrase>
+ <source>E&amp;xit</source>
+ <target>&amp;Kilépés</target>
+</phrase>
+<phrase>
+ <source>Sidebar</source>
+ <target>Oldalsáv</target>
+</phrase>
+<phrase>
+ <source>Bookmark</source>
+ <target>Könyvjelző</target>
+</phrase>
+<phrase>
+ <source>Save As</source>
+ <target>Mentés másként</target>
+</phrase>
+<phrase>
+ <source>Select All</source>
+ <target>Összes kijelölése</target>
+</phrase>
+<phrase>
+ <source>Name</source>
+ <target>Név</target>
+</phrase>
+<phrase>
+ <source>Type</source>
+ <target>Típus</target>
+</phrase>
+<phrase>
+ <source>Date</source>
+ <target>Dátum</target>
+</phrase>
+<phrase>
+ <source>Name</source>
+ <target>Név</target>
+</phrase>
+<phrase>
+ <source>Unknown</source>
+ <target>Ismeretlen</target>
+</phrase>
+<phrase>
+ <source>Value</source>
+ <target>Érték</target>
+</phrase>
+<phrase>
+ <source>Default</source>
+ <target>Alapértelmezett</target>
+</phrase>
+<phrase>
+ <source>New</source>
+ <target>Új</target>
+</phrase>
+<phrase>
+ <source>Level</source>
+ <target>Szint</target>
+</phrase>
+<phrase>
+ <source>Location</source>
+ <target>Hely</target>
+</phrase>
+<phrase>
+ <source>Reload</source>
+ <target>Újratöltés</target>
+</phrase>
+<phrase>
+ <source>Pictures</source>
+ <target>Képek</target>
+</phrase>
+<phrase>
+ <source>Battery</source>
+ <target>Elem</target>
+</phrase>
+<phrase>
+ <source>No error</source>
+ <target>Nincs hiba</target>
+</phrase>
+<phrase>
+ <source>Whole words</source>
+ <target>Teljes szó</target>
+</phrase>
+<phrase>
+ <source>(Új bejegyzés)</source>
+ <target></target>
+</phrase>
+<phrase>
+ <source>Horizontal</source>
+ <target>Vízszintes</target>
+</phrase>
+<phrase>
+ <source>Enabled</source>
+ <target>Engedélyezve</target>
+</phrase>
+<phrase>
+ <source>Up</source>
+ <target>Fel</target>
+</phrase>
+<phrase>
+ <source>Down</source>
+ <target>Le</target>
+</phrase>
+</QPH>
diff --git a/tools/linguist/phrasebooks/russian.qph b/tools/linguist/phrasebooks/russian.qph
index ae1a9b9083..750fda0ae7 100644
--- a/tools/linguist/phrasebooks/russian.qph
+++ b/tools/linguist/phrasebooks/russian.qph
@@ -826,7 +826,7 @@
</phrase>
<phrase>
<source>slider</source>
- <target>ползунок</target>
+ <target>регулятор</target>
</phrase>
<phrase>
<source>spin box</source>
diff --git a/tools/linguist/shared/po.cpp b/tools/linguist/shared/po.cpp
index 99a8751b98..a6923328ae 100644
--- a/tools/linguist/shared/po.cpp
+++ b/tools/linguist/shared/po.cpp
@@ -353,6 +353,29 @@ static void slurpComment(QByteArray &msg, const QList<QByteArray> &lines, int &
--l;
}
+static void splitContext(QByteArray *comment, QByteArray *context)
+{
+ char *data = comment->data();
+ int len = comment->size();
+ int sep = -1, j = 0;
+
+ for (int i = 0; i < len; i++, j++) {
+ if (data[i] == '~' && i + 1 < len)
+ i++;
+ else if (data[i] == '|')
+ sep = j;
+ data[j] = data[i];
+ }
+ if (sep >= 0) {
+ QByteArray tmp = comment->mid(sep + 1, j - sep - 1);
+ comment->truncate(sep);
+ *context = *comment;
+ *comment = tmp;
+ } else {
+ comment->truncate(j);
+ }
+}
+
static QString makePoHeader(const QString &str)
{
return QLatin1String("po-header-") + str.toLower().replace(QLatin1Char('-'), QLatin1Char('_'));
@@ -411,6 +434,7 @@ bool loadPO(Translator &translator, QIODevice &dev, ConversionData &cd)
lines.append(QByteArray());
int l = 0, lastCmtLine = -1;
+ bool qtContexts = false;
PoItem item;
for (; l != lines.size(); ++l) {
QByteArray line = lines.at(l);
@@ -437,7 +461,7 @@ bool loadPO(Translator &translator, QIODevice &dev, ConversionData &cd)
continue;
int idx = hdr.indexOf(':');
if (idx < 0) {
- cd.appendError(QString::fromLatin1("Unexpected PO header format '%1'\n")
+ cd.appendError(QString::fromLatin1("Unexpected PO header format '%1'")
.arg(QString::fromLatin1(hdr)));
error = true;
break;
@@ -449,6 +473,8 @@ bool loadPO(Translator &translator, QIODevice &dev, ConversionData &cd)
translator.setLanguageCode(QString::fromLatin1(hdrValue));
} else if (hdrName == "X-Source-Language") {
translator.setSourceLanguageCode(QString::fromLatin1(hdrValue));
+ } else if (hdrName == "X-Qt-Contexts") {
+ qtContexts = (hdrValue == "true");
} else if (hdrName == "Plural-Forms") {
pluralForms = hdrValue;
} else if (hdrName == "MIME-Version") {
@@ -456,7 +482,7 @@ bool loadPO(Translator &translator, QIODevice &dev, ConversionData &cd)
} else if (hdrName == "Content-Type") {
if (cd.m_codecForSource.isEmpty()) {
if (!hdrValue.startsWith("text/plain; charset=")) {
- cd.appendError(QString::fromLatin1("Unexpected Content-Type header '%1'\n")
+ cd.appendError(QString::fromLatin1("Unexpected Content-Type header '%1'")
.arg(QString::fromLatin1(hdrValue)));
error = true;
// This will avoid a flood of conversion errors.
@@ -465,7 +491,7 @@ bool loadPO(Translator &translator, QIODevice &dev, ConversionData &cd)
QByteArray cod = hdrValue.mid(20);
QTextCodec *cdc = QTextCodec::codecForName(cod);
if (!cdc) {
- cd.appendError(QString::fromLatin1("Unsupported codec '%1'\n")
+ cd.appendError(QString::fromLatin1("Unsupported codec '%1'")
.arg(QString::fromLatin1(cod)));
error = true;
// This will avoid a flood of conversion errors.
@@ -477,7 +503,7 @@ bool loadPO(Translator &translator, QIODevice &dev, ConversionData &cd)
}
} else if (hdrName == "Content-Transfer-Encoding") {
if (hdrValue != "8bit") {
- cd.appendError(QString::fromLatin1("Unexpected Content-Transfer-Encoding '%1'\n")
+ cd.appendError(QString::fromLatin1("Unexpected Content-Transfer-Encoding '%1'")
.arg(QString::fromLatin1(hdrValue)));
return false;
}
@@ -498,7 +524,7 @@ bool loadPO(Translator &translator, QIODevice &dev, ConversionData &cd)
// Keep in sync with savePO
static const char * const dfltHdrs[] = {
"MIME-Version", "Content-Type", "Content-Transfer-Encoding",
- "Plural-Forms", "X-Language", "X-Source-Language"
+ "Plural-Forms", "X-Language", "X-Source-Language", "X-Qt-Contexts"
};
uint cdh = 0;
for (int cho = 0; cho < hdrOrder.length(); cho++) {
@@ -596,7 +622,7 @@ bool loadPO(Translator &translator, QIODevice &dev, ConversionData &cd)
slurpComment(item.translatorComments, lines, l);
break;
case '.':
- if (line.startsWith("#. ts-context ")) {
+ if (line.startsWith("#. ts-context ")) { // legacy
item.context = line.mid(14);
} else if (line.startsWith("#. ts-id ")) {
item.id = line.mid(9);
@@ -615,8 +641,10 @@ bool loadPO(Translator &translator, QIODevice &dev, ConversionData &cd)
codec->toUnicode(extra);
} else if (line.startsWith("#| msgctxt ")) {
item.oldTscomment = slurpEscapedString(lines, l, 11, "#| ", cd);
+ if (qtContexts)
+ splitContext(&item.oldTscomment, &item.context);
} else {
- cd.appendError(QString(QLatin1String("PO-format parse error in line %1: '%2'\n"))
+ cd.appendError(QString(QLatin1String("PO-format parse error in line %1: '%2'"))
.arg(l + 1).arg(codec->toUnicode(lines[l])));
error = true;
}
@@ -633,13 +661,13 @@ bool loadPO(Translator &translator, QIODevice &dev, ConversionData &cd)
} else if (line.startsWith("#~ msgctxt ")) {
item.tscomment = slurpEscapedString(lines, l, 11, "#~ ", cd);
} else {
- cd.appendError(QString(QLatin1String("PO-format parse error in line %1: '%2'\n"))
+ cd.appendError(QString(QLatin1String("PO-format parse error in line %1: '%2'"))
.arg(l + 1).arg(codec->toUnicode(lines[l])));
error = true;
}
break;
default:
- cd.appendError(QString(QLatin1String("PO-format parse error in line %1: '%2'\n"))
+ cd.appendError(QString(QLatin1String("PO-format parse error in line %1: '%2'"))
.arg(l + 1).arg(codec->toUnicode(lines[l])));
error = true;
break;
@@ -647,6 +675,8 @@ bool loadPO(Translator &translator, QIODevice &dev, ConversionData &cd)
lastCmtLine = l;
} else if (line.startsWith("msgctxt ")) {
item.tscomment = slurpEscapedString(lines, l, 8, QByteArray(), cd);
+ if (qtContexts)
+ splitContext(&item.tscomment, &item.context);
} else if (line.startsWith("msgid ")) {
item.msgId = slurpEscapedString(lines, l, 6, QByteArray(), cd);
} else if (line.startsWith("msgid_plural ")) {
@@ -655,7 +685,7 @@ bool loadPO(Translator &translator, QIODevice &dev, ConversionData &cd)
item.extra[QLatin1String("po-msgid_plural")] = codec->toUnicode(extra);
item.isPlural = true;
} else {
- cd.appendError(QString(QLatin1String("PO-format error in line %1: '%2'\n"))
+ cd.appendError(QString(QLatin1String("PO-format error in line %1: '%2'"))
.arg(l + 1).arg(codec->toUnicode(lines[l])));
error = true;
}
@@ -672,6 +702,16 @@ static void addPoHeader(Translator::ExtraData &headers, QStringList &hdrOrder,
headers[makePoHeader(qName)] = value;
}
+static QString escapeComment(const QString &in, bool escape)
+{
+ QString out = in;
+ if (escape) {
+ out.replace(QLatin1Char('~'), QLatin1String("~~"));
+ out.replace(QLatin1Char('|'), QLatin1String("~|"));
+ }
+ return out;
+}
+
bool savePO(const Translator &translator, QIODevice &dev, ConversionData &cd)
{
QString str_format = QLatin1String("-format");
@@ -680,6 +720,13 @@ bool savePO(const Translator &translator, QIODevice &dev, ConversionData &cd)
QTextStream out(&dev);
out.setCodec(cd.m_outputCodec.isEmpty() ? QByteArray("UTF-8") : cd.m_outputCodec);
+ bool qtContexts = false;
+ foreach (const TranslatorMessage &msg, translator.messages())
+ if (!msg.context().isEmpty()) {
+ qtContexts = true;
+ break;
+ }
+
QString cmt = translator.extra(QLatin1String("po-header_comment"));
if (!cmt.isEmpty())
out << cmt << '\n';
@@ -703,6 +750,8 @@ bool savePO(const Translator &translator, QIODevice &dev, ConversionData &cd)
}
if (!translator.sourceLanguageCode().isEmpty())
addPoHeader(headers, hdrOrder, "X-Source-Language", translator.sourceLanguageCode());
+ if (qtContexts)
+ addPoHeader(headers, hdrOrder, "X-Qt-Contexts", QLatin1String("true"));
QString hdrStr;
foreach (const QString &hdr, hdrOrder) {
hdrStr += hdr;
@@ -721,8 +770,6 @@ bool savePO(const Translator &translator, QIODevice &dev, ConversionData &cd)
if (!msg.extraComment().isEmpty())
out << poEscapedLines(QLatin1String("#."), true, msg.extraComment());
- if (!msg.context().isEmpty())
- out << QLatin1String("#. ts-context ") << msg.context() << '\n';
if (!msg.id().isEmpty())
out << QLatin1String("#. ts-id ") << msg.id() << '\n';
@@ -770,15 +817,21 @@ bool savePO(const Translator &translator, QIODevice &dev, ConversionData &cd)
QString prefix = QLatin1String("#| ");
if (!msg.oldComment().isEmpty())
- out << poEscapedString(prefix, QLatin1String("msgctxt"), noWrap, msg.oldComment());
+ out << poEscapedString(prefix, QLatin1String("msgctxt"), noWrap,
+ escapeComment(msg.oldComment(), qtContexts));
if (!msg.oldSourceText().isEmpty())
out << poEscapedString(prefix, QLatin1String("msgid"), noWrap, msg.oldSourceText());
QString plural = msg.extra(QLatin1String("po-old_msgid_plural"));
if (!plural.isEmpty())
out << poEscapedString(prefix, QLatin1String("msgid_plural"), noWrap, plural);
prefix = QLatin1String((msg.type() == TranslatorMessage::Obsolete) ? "#~ " : "");
- if (!msg.comment().isEmpty())
- out << poEscapedString(prefix, QLatin1String("msgctxt"), noWrap, msg.comment());
+ if (!msg.context().isEmpty())
+ out << poEscapedString(prefix, QLatin1String("msgctxt"), noWrap,
+ escapeComment(msg.context(), true) + QLatin1Char('|')
+ + escapeComment(msg.comment(), true));
+ else if (!msg.comment().isEmpty())
+ out << poEscapedString(prefix, QLatin1String("msgctxt"), noWrap,
+ escapeComment(msg.comment(), qtContexts));
out << poEscapedString(prefix, QLatin1String("msgid"), noWrap, msg.sourceText());
if (!msg.isPlural()) {
QString transl = msg.translation();
diff --git a/tools/linguist/shared/profileevaluator.cpp b/tools/linguist/shared/profileevaluator.cpp
index 5e1ee1fb77..a21408c96b 100644
--- a/tools/linguist/shared/profileevaluator.cpp
+++ b/tools/linguist/shared/profileevaluator.cpp
@@ -2594,19 +2594,19 @@ void ProFileEvaluator::addProperties(const QHash<QString, QString> &properties)
void ProFileEvaluator::logMessage(const QString &message)
{
if (d->m_verbose && !d->m_skipLevel)
- qWarning("%s", qPrintable(message));
+ fprintf(stderr, "%s\n", qPrintable(message));
}
void ProFileEvaluator::fileMessage(const QString &message)
{
if (!d->m_skipLevel)
- qWarning("%s", qPrintable(message));
+ fprintf(stderr, "%s\n", qPrintable(message));
}
void ProFileEvaluator::errorMessage(const QString &message)
{
if (!d->m_skipLevel)
- qWarning("%s", qPrintable(message));
+ fprintf(stderr, "%s\n", qPrintable(message));
}
void ProFileEvaluator::setVerbose(bool on)
diff --git a/tools/linguist/shared/qm.cpp b/tools/linguist/shared/qm.cpp
index e2c4f4acef..66789432e1 100644
--- a/tools/linguist/shared/qm.cpp
+++ b/tools/linguist/shared/qm.cpp
@@ -773,11 +773,11 @@ static bool saveQM(const Translator &translator, QIODevice &dev, ConversionData
if (saved && cd.isVerbose()) {
int generatedCount = finished + unfinished;
cd.appendError(QCoreApplication::translate("LRelease",
- " Generated %n translation(s) (%1 finished and %2 unfinished)\n", 0,
+ " Generated %n translation(s) (%1 finished and %2 unfinished)", 0,
QCoreApplication::CodecForTr, generatedCount).arg(finished).arg(unfinished));
if (untranslated)
cd.appendError(QCoreApplication::translate("LRelease",
- " Ignored %n untranslated source text(s)\n", 0,
+ " Ignored %n untranslated source text(s)", 0,
QCoreApplication::CodecForTr, untranslated));
}
return saved;
diff --git a/tools/linguist/shared/translator.cpp b/tools/linguist/shared/translator.cpp
index c86a9dd2c5..36af8dae90 100644
--- a/tools/linguist/shared/translator.cpp
+++ b/tools/linguist/shared/translator.cpp
@@ -43,6 +43,8 @@
#include "simtexth.h"
+#include <iostream>
+
#include <stdio.h>
#ifdef Q_OS_WIN
// required for _setmode, to avoid _O_TEXT streams...
@@ -586,22 +588,21 @@ void Translator::reportDuplicates(const Duplicates &dupes,
const QString &fileName, bool verbose)
{
if (!dupes.byId.isEmpty() || !dupes.byContents.isEmpty()) {
+ std::cerr << "Warning: dropping duplicate messages in '" << qPrintable(fileName);
if (!verbose) {
- qWarning("Warning: dropping duplicate messages in '%s'\n(try -verbose for more info).",
- qPrintable(fileName));
+ std::cerr << "'\n(try -verbose for more info).\n";
} else {
- qWarning("Warning: dropping duplicate messages in '%s':", qPrintable(fileName));
+ std::cerr << "':\n";
foreach (int i, dupes.byId)
- qWarning("\n* ID: %s", qPrintable(message(i).id()));
+ std::cerr << "\n* ID: " << qPrintable(message(i).id()) << std::endl;
foreach (int j, dupes.byContents) {
const TranslatorMessage &msg = message(j);
- qWarning("\n* Context: %s\n* Source: %s",
- qPrintable(msg.context()),
- qPrintable(msg.sourceText()));
+ std::cerr << "\n* Context: " << qPrintable(msg.context())
+ << "\n* Source: " << qPrintable(msg.sourceText()) << std::endl;
if (!msg.comment().isEmpty())
- qWarning("* Comment: %s", qPrintable(msg.comment()));
+ std::cerr << "* Comment: " << qPrintable(msg.comment()) << std::endl;
}
- qWarning();
+ std::cerr << std::endl;
}
}
}
@@ -688,7 +689,7 @@ void Translator::normalizeTranslations(ConversionData &cd)
cd.appendError(QLatin1String(
"Removed plural forms as the target language has less "
"forms.\nIf this sounds wrong, possibly the target language is "
- "not set or recognized.\n"));
+ "not set or recognized."));
}
QString Translator::guessLanguageCodeFromFileName(const QString &filename)
@@ -737,7 +738,7 @@ void Translator::setCodecName(const QByteArray &name)
QTextCodec *codec = QTextCodec::codecForName(name);
if (!codec) {
if (!name.isEmpty())
- qWarning("No QTextCodec for %s available. Using Latin1\n", name.constData());
+ std::cerr << "No QTextCodec for " << name.constData() << " available. Using Latin1.\n";
m_codec = QTextCodec::codecForName("ISO-8859-1");
} else {
m_codec = codec;
diff --git a/tools/linguist/shared/translator.h b/tools/linguist/shared/translator.h
index bb199f086e..cfb2178425 100644
--- a/tools/linguist/shared/translator.h
+++ b/tools/linguist/shared/translator.h
@@ -92,7 +92,7 @@ public:
bool sortContexts() const { return m_sortContexts; }
void appendError(const QString &error) { m_errors.append(error); }
- QString error() const { return m_errors.join(QLatin1String("\n")); }
+ QString error() const { return m_errors.isEmpty() ? QString() : m_errors.join(QLatin1String("\n")) + QLatin1Char('\n'); }
QStringList errors() const { return m_errors; }
void clearErrors() { m_errors.clear(); }
diff --git a/tools/porting/src/codemodel.h b/tools/porting/src/codemodel.h
index cb3088f6f0..04ad178dc4 100644
--- a/tools/porting/src/codemodel.h
+++ b/tools/porting/src/codemodel.h
@@ -96,7 +96,7 @@ class Collection: public QMultiHash<QByteArray, CollectedType *>
{
public:
void add(CollectedType *collectedItem)
- { insert(collectedItem->name(), collectedItem); }
+ { this->insert(collectedItem->name(), collectedItem); }
};
typedef Collection<Scope> ScopeCollection;
diff --git a/tools/qdoc3/ditaxmlgenerator.cpp b/tools/qdoc3/ditaxmlgenerator.cpp
new file mode 100644
index 0000000000..5f108850e6
--- /dev/null
+++ b/tools/qdoc3/ditaxmlgenerator.cpp
@@ -0,0 +1,4719 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the tools applications of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+/*
+ ditaxmlgenerator.cpp
+*/
+
+#include "codemarker.h"
+#include "codeparser.h"
+#include "ditaxmlgenerator.h"
+#include "node.h"
+#include "separator.h"
+#include "tree.h"
+#include <ctype.h>
+#include <qdebug.h>
+#include <qlist.h>
+#include <qiterator.h>
+#include <qtextcodec.h>
+#include <QUuid>
+
+QT_BEGIN_NAMESPACE
+
+#define COMMAND_VERSION Doc::alias("version")
+int DitaXmlGenerator::id = 0;
+
+#define cxxapi_d_xref Doc::alias("cxxapi-d-xref")
+#define cxxclass Doc::alias("cxxclass")
+#define cxxdefine Doc::alias("cxxdefine")
+#define cxxenumeration Doc::alias("cxxenumeration")
+#define cxxfile Doc::alias("cxxfile")
+#define cxxfunction Doc::alias("cxxfunction")
+#define cxxstruct Doc::alias("cxxstruct")
+#define cxxtypedef Doc::alias("cxxtypedef")
+#define cxxunion Doc::alias("cxxunion")
+#define cxxvariable Doc::alias("cxxvariable")
+
+#define CXXAPIMAP Doc::alias("cxxAPIMap")
+#define CXXCLASSREF Doc::alias("cxxClassRef")
+#define CXXDEFINEREF Doc::alias("cxxDefineRef")
+#define CXXENUMERATIONREF Doc::alias("cxxEnumerationRef")
+#define CXXFILEREF Doc::alias("cxxFileRef")
+#define CXXFUNCTIONREF Doc::alias("cxxFunctionRef")
+#define CXXSTRUCTREF Doc::alias("cxxStructRef")
+#define CXXTYPDEFREF Doc::alias("cxxTypedefRef")
+#define CXXUNIONREF Doc::alias("cxxUnionRef")
+#define CXXVARIABLEREF Doc::alias("cxxVariableRef")
+
+#define CXXCLASS Doc::alias("cxxClass")
+#define CXXCLASSABSTRACT Doc::alias("cxxClassAbstract")
+#define CXXCLASSACCESSSPECIFIER Doc::alias("cxxClassAccessSpecifier")
+#define CXXCLASSAPIITEMLOCATION Doc::alias("cxxClassAPIItemLocation")
+#define CXXCLASSBASECLASS Doc::alias("cxxClassBaseClass")
+#define CXXCLASSBASECLASSSTRUCT Doc::alias("cxxClassBaseStruct")
+#define CXXCLASSBASEUNION Doc::alias("cxxClassBaseUnion")
+#define CXXCLASSDECLARATIONFILE Doc::alias("cxxClassDeclarationFile")
+#define CXXCLASSDECLARATIONFILELINE Doc::alias("cxxClassDeclarationFileLine")
+#define CXXCLASSDEFINITION Doc::alias("cxxClassDefinition")
+#define CXXCLASSDEFINITIONFILE Doc::alias("cxxClassDefinitionFile")
+#define CXXCLASSDEFINITIONFILEEND Doc::alias("cxxClassDefinitionFileLineEnd")
+#define CXXCLASSDEFINITIONFILESTART Doc::alias("cxxClassDefinitionFileLineStart")
+#define CXXCLASSDERIVATION Doc::alias("cxxClassDerivation")
+#define CXXCLASSDERIVATIONACCESSSPECIFIER Doc::alias("cxxClassDerivationAccessSpecifier")
+#define CXXCLASSDERIVATIONS Doc::alias("cxxClassDerivations")
+#define CXXCLASSDERIVATIONVIRTUAL Doc::alias("cxxClassDerivationVirtual")
+#define CXXCLASSDETAIL Doc::alias("cxxClassDetail")
+#define CXXCLASSENUMERATIONINHERITED Doc::alias("cxxClassEnumerationInherited")
+#define CXXCLASSENUMERATORINHERITED Doc::alias("cxxClassEnumeratorInherited")
+#define CXXCLASSFUNCTIONINHERITED Doc::alias("cxxClassFunctionInherited")
+#define CXXCLASSINHERITS Doc::alias("cxxClassInherits")
+#define CXXCLASSINHERITSDETAIL Doc::alias("cxxClassInheritsDetail")
+#define CXXCLASSNESTED Doc::alias("cxxClassNested")
+#define CXXCLASSNESTEDCLASS Doc::alias("cxxClassNestedClass")
+#define CXXCLASSNESTEDDETAIL Doc::alias("cxxClassNestedDetail")
+#define CXXCLASSNESTEDSTRUCT Doc::alias("cxxClassNestedStruct")
+#define CXXCLASSNESTEDUNION Doc::alias("cxxClassNestedUnion")
+#define CXXCLASSTEMPLATEPARAMETER Doc::alias("cxxClassTemplateParameter")
+#define CXXCLASSTEMPLATEPARAMETERS Doc::alias("cxxClassTemplateParameters")
+#define CXXCLASSTEMPLATEPARAMETERTYPE Doc::alias("cxxClassTemplateParameterType")
+#define CXXCLASSVARIABLEINHERITED Doc::alias("cxxClassVariableInherited")
+
+#define CXXDEFINE Doc::alias("cxxDefine")
+#define CXXDEFINEACCESSSPECIFIER Doc::alias("cxxDefineAccessSpecifier")
+#define CXXDEFINEAPIITEMLOCATION Doc::alias("cxxDefineAPIItemLocation")
+#define CXXDEFINEDECLARATIONFILE Doc::alias("cxxDefineDeclarationFile")
+#define CXXDEFINEDECLARATIONFILELINE Doc::alias("cxxDefineDeclarationFileLine")
+#define CXXDEFINEDEFINITION Doc::alias("cxxDefineDefinition")
+#define CXXDEFINEDETAIL Doc::alias("cxxDefineDetail")
+#define CXXDEFINENAMELOOKUP Doc::alias("cxxDefineNameLookup")
+#define CXXDEFINEPARAMETER Doc::alias("cxxDefineParameter")
+#define CXXDEFINEPARAMETERDECLARATIONNAME Doc::alias("cxxDefineParameterDeclarationName")
+#define CXXDEFINEPARAMETERS Doc::alias("cxxDefineParameters")
+#define CXXDEFINEPROTOTYPE Doc::alias("cxxDefinePrototype")
+#define CXXDEFINEREIMPLEMENTED Doc::alias("cxxDefineReimplemented")
+
+#define CXXENUMERATION Doc::alias("cxxEnumeration")
+#define CXXENUMERATIONACCESSSPECIFIER Doc::alias("cxxEnumerationAccessSpecifier")
+#define CXXENUMERATIONAPIITEMLOCATION Doc::alias("cxxEnumerationAPIItemLocation")
+#define CXXENUMERATIONDECLARATIONFILE Doc::alias("cxxEnumerationDeclarationFile")
+#define CXXENUMERATIONDECLARATIONFILELINE Doc::alias("cxxEnumerationDeclarationFileLine")
+#define CXXENUMERATIONDEFINITION Doc::alias("cxxEnumerationDefinition")
+#define CXXENUMERATIONDEFINITIONFILE Doc::alias("cxxEnumerationDefinitionFile")
+#define CXXENUMERATIONDEFINITIONFILELINEEND Doc::alias("cxxEnumerationDefinitionFileLineEnd")
+#define CXXENUMERATIONDEFINITIONFILELINESTART Doc::alias("cxxEnumerationDefinitionFileLineStart")
+#define CXXENUMERATIONDETAIL Doc::alias("cxxEnumerationDetail")
+#define CXXENUMERATIONNAMELOOKUP Doc::alias("cxxEnumerationNameLookup")
+#define CXXENUMERATIONPROTOTYPE Doc::alias("cxxEnumerationPrototype")
+#define CXXENUMERATIONREIMPLEMENTED Doc::alias("cxxEnumerationReimplemented")
+#define CXXENUMERATIONSCOPEDNAME Doc::alias("cxxEnumerationScopedName")
+#define CXXENUMERATOR Doc::alias("cxxEnumerator")
+#define CXXENUMERATORAPIITEMLOCATION Doc::alias("cxxEnumeratorAPIItemLocation")
+#define CXXENUMERATORDECLARATIONFILE Doc::alias("cxxEnumeratorDeclarationFile")
+#define CXXENUMERATORDECLARATIONFILELINE Doc::alias("cxxEnumeratorDeclarationFileLine")
+#define CXXENUMERATORINITIALISER Doc::alias("cxxEnumeratorInitialiser")
+#define CXXENUMERATORNAMELOOKUP Doc::alias("cxxEnumeratorNameLookup")
+#define CXXENUMERATORPROTOTYPE Doc::alias("cxxEnumeratorPrototype")
+#define CXXENUMERATORS Doc::alias("cxxEnumerators")
+#define CXXENUMERATORSCOPEDNAME Doc::alias("cxxEnumeratorScopedName")
+
+#define CXXFILE_INFO_TYPES Doc::alias("cxxFile-info-types")
+#define CXXFILE_TYPES_DEFAULT Doc::alias("cxxFile-types-default")
+#define CXXFILE Doc::alias("cxxFile")
+#define CXXFILEAPIITMELOCATION Doc::alias("cxxFileAPIItemLocation")
+#define CXXFILEDECLARATIONFILE Doc::alias("cxxFileDeclarationFile")
+
+#define CXXFUNCTION Doc::alias("cxxFunction")
+#define CXXFUNCTIONACCESSSPECIFIER Doc::alias("cxxFunctionAccessSpecifier")
+#define CXXFUNCTIONAPIITEMLOCATION Doc::alias("cxxFunctionAPIItemLocation")
+#define CXXFUNCTIONCONST Doc::alias("cxxFunctionConst")
+#define CXXFUNCTIONCONSTRUCTOR Doc::alias("cxxFunctionConstructor")
+#define CXXFUNCTIONDECLARATIONFILE Doc::alias("cxxFunctionDeclarationFile")
+#define CXXFUNCTIONDECLARATIONFILELINE Doc::alias("cxxFunctionDeclarationFileLine")
+#define CXXFUNCTIONDECLAREDTYPE Doc::alias("cxxFunctionDeclaredType")
+#define CXXFUNCTIONDEFINITION Doc::alias("cxxFunctionDefinition")
+#define CXXFUNCTIONDEFINITIONFILE Doc::alias("cxxFunctionDefinitionFile")
+#define CXXFUNCTIONDEFINITIONFILELINEEND Doc::alias("cxxFunctionDefinitionFileLineEnd")
+#define CXXFUNCTIONDEFINITIONFILELINESTART Doc::alias("cxxFunctionDefinitionFileLineStart")
+#define CXXFUNCTIONDESTRUCTOR Doc::alias("cxxFunctionDestructor")
+#define CXXFUNCTIONDETAIL Doc::alias("cxxFunctionDetail")
+#define CXXFUNCTIONEXPLICIT Doc::alias("cxxFunctionExplicit")
+#define CXXFUNCTIONINLINE Doc::alias("cxxFunctionInline")
+#define CXXFUNCTIONNAMELOOKUP Doc::alias("cxxFunctionNameLookup")
+#define CXXFUNCTIONPARAMETER Doc::alias("cxxFunctionParameter")
+#define CXXFUNCTIONPARAMETERDECLARATIONNAME Doc::alias("cxxFunctionParameterDeclarationName")
+#define CXXFUNCTIONPARAMETERDECLAREDTYPE Doc::alias("cxxFunctionParameterDeclaredType")
+#define CXXFUNCTIONPARAMETERDEFAULTVALUE Doc::alias("cxxFunctionParameterDefaultValue")
+#define CXXFUNCTIONPARAMETERDEFINITIONNAME Doc::alias("cxxFunctionParameterDefinitionName")
+#define CXXFUNCTIONPARAMETERS Doc::alias("cxxFunctionParameters")
+#define CXXFUNCTIONPROTOTYPE Doc::alias("cxxFunctionPrototype")
+#define CXXFUNCTIONPUREVIRTUAL Doc::alias("cxxFunctionPureVirtual")
+#define CXXFUNCTIONREIMPLEMENTED Doc::alias("cxxFunctionReimplemented")
+#define CXXFUNCTIONRETURNTYPE Doc::alias("cxxFunctionReturnType")
+#define CXXFUNCTIONSCOPEDNAME Doc::alias("cxxFunctionScopedName")
+#define CXXFUNCTIONSTORAGECLASSSPECIFIEREXTERN Doc::alias("cxxFunctionStorageClassSpecifierExtern")
+#define CXXFUNCTIONSTORAGECLASSSPECIFIERMUTABLE Doc::alias("cxxFunctionStorageClassSpecifierMutable")
+#define CXXFUNCTIONSTORAGECLASSSPECIFIERSTATIC Doc::alias("cxxFunctionStorageClassSpecifierStatic")
+#define CXXFUNCTIONTEMPLATEPARAMETER Doc::alias("cxxFunctionTemplateParameter")
+#define CXXFUNCTIONTEMPLATEPARAMETERS Doc::alias("cxxFunctionTemplateParameters")
+#define CXXFUNCTIONTEMPLATEPARAMETERTYPE Doc::alias("cxxFunctionTemplateParameterType")
+#define CXXFUNCTIONVIRTUAL Doc::alias("cxxFunctionVirtual")
+#define CXXFUNCTIONVOLATILE Doc::alias("cxxFunctionVolatile")
+
+#define CXXSTRUCT Doc::alias("cxxStruct")
+#define CXXSTRUCTABSTRACT Doc::alias("cxxStructAbstract")
+#define CXXSTRUCTACCESSSPECIFIER Doc::alias("cxxStructAccessSpecifier")
+#define CXXSTRUCTAPIITEMLOCATION Doc::alias("cxxStructAPIItemLocation")
+#define CXXSTRUCTBASECLASS Doc::alias("cxxStructBaseClass")
+#define CXXSTRUCTBASESTRUCT Doc::alias("cxxStructBaseStruct")
+#define CXXSTRUCTBASEUNION Doc::alias("cxxStructBaseUnion")
+#define CXXSTRUCTDECLARATIONFILE Doc::alias("cxxStructDeclarationFile")
+#define CXXSTRUCTDECLARATIONFILELINE Doc::alias("cxxStructDeclarationFileLine")
+#define CXXSTRUCTDEFINITION Doc::alias("cxxStructDefinition")
+#define CXXSTRUCTDEFINITIONFILE Doc::alias("cxxStructDefinitionFile")
+#define CXXSTRUCTDEFINITIONFILELINEEND Doc::alias("cxxStructDefinitionFileLineEnd")
+#define CXXSTRUCTDEFINITIONFILELINESTART Doc::alias("cxxStructDefinitionFileLineStart")
+#define CXXSTRUCTDERIVATION Doc::alias("cxxStructDerivation")
+#define CXXSTRUCTDERIVATIONACCESSSPECIFIER Doc::alias("cxxStructDerivationAccessSpecifier")
+#define CXXSTRUCTDERIVATIONS Doc::alias("cxxStructDerivations")
+#define CXXSTRUCTDERIVATIONVIRTUAL Doc::alias("cxxStructDerivationVirtual")
+#define CXXSTRUCTDETAIL Doc::alias("cxxStructDetail")
+#define CXXSTRUCTENUMERATIONINHERITED Doc::alias("cxxStructEnumerationInherited")
+#define CXXSTRUCTENUMERATORINHERITED Doc::alias("cxxStructEnumeratorInherited")
+#define CXXSTRUCTFUNCTIONINHERITED Doc::alias("cxxStructFunctionInherited")
+#define CXXSTRUCTINHERITS Doc::alias("cxxStructInherits")
+#define CXXSTRUCTINHERITSDETAIL Doc::alias("cxxStructInheritsDetail")
+#define CXXSTRUCTNESTED Doc::alias("cxxStructNested")
+#define CXXSTRUCTNESTEDCLASS Doc::alias("cxxStructNestedClass")
+#define CXXSTRUCTNESTEDDETAIL Doc::alias("cxxStructNestedDetail")
+#define CXXSTRUCTNESTEDSTRUCT Doc::alias("cxxStructNestedStruct")
+#define CXXSTRUCTNESTEDUNION Doc::alias("cxxStructNestedUnion")
+#define CXXSTRUCTTEMPLATEPARAMETER Doc::alias("cxxStructTemplateParameter")
+#define CXXSTRUCTTEMPLATEPARAMETERS Doc::alias("cxxStructTemplateParameters")
+#define CXXSTRUCTTEMPLATEPARAMETERTYPE Doc::alias("cxxStructTemplateParameterType")
+#define CXXSTRUCTVARIABLEINHERITED Doc::alias("cxxStructVariableInherited")
+
+#define CXXTYPEDEF Doc::alias("cxxTypedef")
+#define CXXTYPEDEFACCESSSPECIFIER Doc::alias("cxxTypedefAccessSpecifier")
+#define CXXTYPEDEFAPIITEMLOCATION Doc::alias("cxxTypedefAPIItemLocation")
+#define CXXTYPEDEFDECLARATIONFILE Doc::alias("cxxTypedefDeclarationFile")
+#define CXXTYPEDEFDECLARATIONFILELINE Doc::alias("cxxTypedefDeclarationFileLine")
+#define CXXTYPEDEFDECLAREDTYPE Doc::alias("cxxTypedefDeclaredType")
+#define CXXTYPEDEFDEFINITION Doc::alias("cxxTypedefDefinition")
+#define CXXTYPEDEFDETAIL Doc::alias("cxxTypedefDetail")
+#define CXXTYPEDEFNAMELOOKUP Doc::alias("cxxTypedefNameLookup")
+#define CXXTYPEDEFPROTOTYPE Doc::alias("cxxTypedefPrototype")
+#define CXXTYPEDEFREIMPLEMENTED Doc::alias("cxxTypedefReimplemented")
+#define CXXTYPEDEFSCOPEDNAME Doc::alias("cxxTypedefScopedName")
+
+#define CXXUNION Doc::alias("cxxUnion")
+#define CXXUNIONABSTRACT Doc::alias("cxxUnionAbstract")
+#define CXXUNIONACCESSSPECIFIER Doc::alias("cxxUnionAccessSpecifier")
+#define CXXUNIONAPIITEMLOCATION Doc::alias("cxxUnionAPIItemLocation")
+#define CXXUNIONDECLARATIONFILE Doc::alias("cxxUnionDeclarationFile")
+#define CXXUNIONDECLARATIONFILELINE Doc::alias("cxxUnionDeclarationFileLine")
+#define CXXUNIONDEFINITION Doc::alias("cxxUnionDefinition")
+#define CXXUNIONDEFINITIONFILE Doc::alias("cxxUnionDefinitionFile")
+#define CXXUNIONDEFINITIONFILELINEEND Doc::alias("cxxUnionDefinitionFileLineEnd")
+#define CXXUNIONDEFINITIONFILELINESTART Doc::alias("cxxUnionDefinitionFileLineStart")
+#define CXXUNIONDETAIL Doc::alias("cxxUnionDetail")
+#define CXXUNIONNESTED Doc::alias("cxxUnionNested")
+#define CXXUNIONNESTEDCLASS Doc::alias("cxxUnionNestedClass")
+#define CXXUNIONNESTEDDETAIL Doc::alias("cxxUnionNestedDetail")
+#define CXXUNIONNESTEDSTRUCT Doc::alias("cxxUnionNestedStruct")
+#define CXXUNIONNESTEDUNION Doc::alias("cxxUnionNestedUnion")
+#define CXXUNIONTEMPLATEPARAMETER Doc::alias("cxxUnionTemplateParameter")
+#define CXXUNIONTEMPLATEPARAMETERS Doc::alias("cxxUnionTemplateParameters")
+#define CXXUNIONTEMPLATEPARAMETERTYPE Doc::alias("cxxUnionTemplateParameterType")
+
+#define CXXVARIABLE Doc::alias("cxxVariable")
+#define CXXVARIABLEACCESSSPECIFIER Doc::alias("cxxVariableAccessSpecifier")
+#define CXXVARIABLEAPIITEMLOCATION Doc::alias("cxxVariableAPIItemLocation")
+#define CXXVARIABLECONST Doc::alias("cxxVariableConst")
+#define CXXVARIABLEDECLARATIONFILE Doc::alias("cxxVariableDeclarationFile")
+#define CXXVARIABLEDECLARATIONFILELINE Doc::alias("cxxVariableDeclarationFileLine")
+#define CXXVARIABLEDECLAREDTYPE Doc::alias("cxxVariableDeclaredType")
+#define CXXVARIABLEDEFINITION Doc::alias("cxxVariableDefinition")
+#define CXXVARIABLEDETAIL Doc::alias("cxxVariableDetail")
+#define CXXVARIABLENAMELOOKUP Doc::alias("cxxVariableNameLookup")
+#define CXXVARIABLEPROTOTYPE Doc::alias("cxxVariablePrototype")
+#define CXXVARIABLEREIMPLEMENTED Doc::alias("cxxVariableReimplemented")
+#define CXXVARIABLESCOPEDNAME Doc::alias("cxxVariableScopedName")
+#define CXXVARIABLESTORAGECLASSSPECIFIEREXTERN Doc::alias("cxxVariableStorageClassSpecifierExtern")
+#define CXXVARIABLESTORAGECLASSSPECIFIERMUTABLE Doc::alias("cxxVariableStorageClassSpecifierMutable")
+#define CXXVARIABLESTORAGECLASSSPECIFIERSTATIC Doc::alias("cxxVariableStorageClassSpecifierStatic")
+#define CXXVARIABLEVOLATILE Doc::alias("cxxVariableVolatile")
+
+#define APIREF Doc::alias("apiRef")
+#define APINAME Doc::alias("apiName")
+#define APIDETAIL Doc::alias("apiDetail")
+#define APISYNTAX Doc::alias("apiSyntax")
+#define APISYNTAXTEXT Doc::alias("apiSyntaxText")
+#define APISYNTAXITEM Doc::alias("apiSyntaxItem")
+#define APIDEF Doc::alias("apiDef")
+#define APIQUALIFIER Doc::alias("apiQualifier")
+#define APIRELATION Doc::alias("apiRelation")
+#define APITYPE Doc::alias("apiType")
+#define APIARRAY Doc::alias("apiArray")
+#define APIDATA Doc::alias("apiData")
+#define APIDEFNOTE Doc::alias("apiDefNote")
+#define APIDEFITEM Doc::alias("apiDefItem")
+#define APIITEMNAME Doc::alias("apiItemName")
+#define APIDESC Doc::alias("apiDesc")
+#define APIIMPL Doc::alias("apiImpl")
+
+#define APIPACKAGE Doc::alias("apiPackage")
+
+#define APICLASSIFIER Doc::alias("apiClassifier")
+#define APICLASSIFIERDETAIL Doc::alias("apiClassifierDetail")
+#define APICLASSIFIERDEF Doc::alias("apiClassifierDef")
+#define APICLASSIFIERMEMBER Doc::alias("apiClassifierMember")
+#define APIOTHERCLASSIFIER Doc::alias("apiOtherClassifier")
+#define APIBASECLASSIFIER Doc::alias("apiBaseClassifier")
+
+#define APIOPERATION Doc::alias("apiOperation")
+#define APIOPERATIONDETAIL Doc::alias("apiOperationDetail")
+#define APIOPERATIONDEF Doc::alias("apiOperationDef")
+#define APIRETURN Doc::alias("apiReturn")
+#define APIPARAM Doc::alias("apiParam")
+#define APIEVENT Doc::alias("apiEvent")
+#define APIOPERATIONDEFITEM Doc::alias("apiOperationDefItem")
+#define APIOPERATIONCLASSIFIER Doc::alias("apiOperationClassifier")
+#define APICONSTRUCTORDEF Doc::alias("apiConstructorDef")
+
+#define APIVALUE Doc::alias("apiValue")
+#define APIVALUEDETAIL Doc::alias("apiValueDetail")
+#define APIVALUEDEF Doc::alias("apiValueDef")
+#define APIVALUEMEMBER Doc::alias("apiValueMember")
+#define APIVALUECLASSIFIER Doc::alias("apiValueClassifier")
+
+#define APIclassifier Doc::alias("apiclassifier")
+#define APIoperation Doc::alias("apioperation")
+#define APIpackage Doc::alias("apipackage")
+#define APIvalue Doc::alias("apivalue")
+
+#define APIMAP Doc::alias("apiMap")
+#define APIITEMREF Doc::alias("apiItemRef")
+
+#define SHORTDESC Doc::alias("shortdesc")
+
+QString DitaXmlGenerator::sinceTitles[] =
+ {
+ " New Namespaces",
+ " New Classes",
+ " New Member Functions",
+ " New Functions in Namespaces",
+ " New Global Functions",
+ " New Macros",
+ " New Enum Types",
+ " New Typedefs",
+ " New Properties",
+ " New Variables",
+ " New QML Elements",
+ " New Qml Properties",
+ " New Qml Signals",
+ " New Qml Methods",
+ ""
+ };
+
+static bool showBrokenLinks = false;
+
+static void addLink(const QString &linkTarget,
+ const QStringRef &nestedStuff,
+ QString *res)
+{
+ if (!linkTarget.isEmpty()) {
+ *res += "<xref href=\"";
+ *res += linkTarget;
+ *res += "\">";
+ *res += nestedStuff;
+ *res += "</xref>";
+ }
+ else {
+ *res += nestedStuff;
+ }
+}
+
+
+DitaXmlGenerator::DitaXmlGenerator()
+ : inLink(false),
+ inContents(false),
+ inSectionHeading(false),
+ inTableHeader(false),
+ numTableRows(0),
+ threeColumnEnumValueTable(true),
+ offlineDocs(true),
+ funcLeftParen("\\S(\\()"),
+ myTree(0),
+ slow(false),
+ obsoleteLinks(false),
+ noLinks(0)
+{
+}
+
+DitaXmlGenerator::~DitaXmlGenerator()
+{
+ // nothing yet.
+}
+
+void DitaXmlGenerator::initializeGenerator(const Config &config)
+{
+ static const struct {
+ const char *key;
+ const char *tag;
+ } defaults[] = {
+ { ATOM_FORMATTING_BOLD, "b" },
+ { ATOM_FORMATTING_INDEX, "<!--" },
+ { ATOM_FORMATTING_ITALIC, "i" },
+ { ATOM_FORMATTING_PARAMETER, "i" },
+ { ATOM_FORMATTING_SUBSCRIPT, "sub" },
+ { ATOM_FORMATTING_SUPERSCRIPT, "sup" },
+ { ATOM_FORMATTING_TELETYPE, "tt", },
+ { ATOM_FORMATTING_UNDERLINE, "u", },
+ { 0, 0 }
+ };
+
+ Generator::initializeGenerator(config);
+ obsoleteLinks = config.getBool(QLatin1String(CONFIG_OBSOLETELINKS));
+ setImageFileExtensions(QStringList() << "png" << "jpg" << "jpeg" << "gif");
+ int i = 0;
+ while (defaults[i].key) {
+ formattingLeftMap().insert(defaults[i].key, defaults[i].tag);
+ i++;
+ }
+
+ style = config.getString(DitaXmlGenerator::format() +
+ Config::dot +
+ DITAXMLGENERATOR_STYLE);
+ postHeader = config.getString(DitaXmlGenerator::format() +
+ Config::dot +
+ DITAXMLGENERATOR_POSTHEADER);
+ postPostHeader = config.getString(DitaXmlGenerator::format() +
+ Config::dot +
+ DITAXMLGENERATOR_POSTPOSTHEADER);
+ footer = config.getString(DitaXmlGenerator::format() +
+ Config::dot +
+ DITAXMLGENERATOR_FOOTER);
+ address = config.getString(DitaXmlGenerator::format() +
+ Config::dot +
+ DITAXMLGENERATOR_ADDRESS);
+ pleaseGenerateMacRef = config.getBool(DitaXmlGenerator::format() +
+ Config::dot +
+ DITAXMLGENERATOR_GENERATEMACREFS);
+
+ project = config.getString(CONFIG_PROJECT);
+ offlineDocs = !config.getBool(CONFIG_ONLINE);
+ projectDescription = config.getString(CONFIG_DESCRIPTION);
+ if (projectDescription.isEmpty() && !project.isEmpty())
+ projectDescription = project + " Reference Documentation";
+
+ projectUrl = config.getString(CONFIG_URL);
+
+ outputEncoding = config.getString(CONFIG_OUTPUTENCODING);
+ if (outputEncoding.isEmpty())
+ outputEncoding = QLatin1String("ISO-8859-1");
+ outputCodec = QTextCodec::codecForName(outputEncoding.toLocal8Bit());
+
+ naturalLanguage = config.getString(CONFIG_NATURALLANGUAGE);
+ if (naturalLanguage.isEmpty())
+ naturalLanguage = QLatin1String("en");
+
+ QSet<QString> editionNames = config.subVars(CONFIG_EDITION);
+ QSet<QString>::ConstIterator edition = editionNames.begin();
+ while (edition != editionNames.end()) {
+ QString editionName = *edition;
+ QStringList editionModules = config.getStringList(CONFIG_EDITION +
+ Config::dot +
+ editionName +
+ Config::dot +
+ "modules");
+ QStringList editionGroups = config.getStringList(CONFIG_EDITION +
+ Config::dot +
+ editionName +
+ Config::dot +
+ "groups");
+
+ if (!editionModules.isEmpty())
+ editionModuleMap[editionName] = editionModules;
+ if (!editionGroups.isEmpty())
+ editionGroupMap[editionName] = editionGroups;
+
+ ++edition;
+ }
+
+ slow = config.getBool(CONFIG_SLOW);
+
+ stylesheets = config.getStringList(DitaXmlGenerator::format() +
+ Config::dot +
+ DITAXMLGENERATOR_STYLESHEETS);
+ customHeadElements = config.getStringList(DitaXmlGenerator::format() +
+ Config::dot +
+ DITAXMLGENERATOR_CUSTOMHEADELEMENTS);
+ codeIndent = config.getInt(CONFIG_CODEINDENT);
+
+}
+
+void DitaXmlGenerator::terminateGenerator()
+{
+ Generator::terminateGenerator();
+}
+
+QString DitaXmlGenerator::format()
+{
+ return "DITAXML";
+}
+
+/*!
+ Calls lookupGuid() to get a GUID for \a text, then writes
+ it to the XML stream as an "id" attribute, and returns it.
+ */
+QString DitaXmlGenerator::writeGuidAttribute(QString text)
+{
+ QString guid = lookupGuid(text);
+ writer.writeAttribute("id",guid);
+ return guid;
+}
+
+/*!
+ Looks up \a text in the GUID map. If it finds \a text,
+ it returns the associated GUID. Otherwise it inserts
+ \a text into the map with a new GUID, and it returns
+ the new GUID.
+ */
+QString DitaXmlGenerator::lookupGuid(QString text)
+{
+ QMap<QString, QString>::const_iterator i = name2guidMap.find(text);
+ if (i != name2guidMap.end())
+ return i.value();
+ QString guid = QUuid::createUuid().toString();
+ name2guidMap.insert(text,guid);
+ return guid;
+}
+
+/*!
+ This is where the DITA XML files are written.
+ \note The file generation is done in the base class,
+ PageGenerator::generateTree().
+ */
+void DitaXmlGenerator::generateTree(const Tree *tree, CodeMarker *marker)
+{
+ myTree = tree;
+ nonCompatClasses.clear();
+ mainClasses.clear();
+ compatClasses.clear();
+ obsoleteClasses.clear();
+ moduleClassMap.clear();
+ moduleNamespaceMap.clear();
+ funcIndex.clear();
+ legaleseTexts.clear();
+ serviceClasses.clear();
+ findAllClasses(tree->root());
+ findAllFunctions(tree->root());
+ findAllLegaleseTexts(tree->root());
+ findAllNamespaces(tree->root());
+ findAllSince(tree->root());
+
+ PageGenerator::generateTree(tree, marker);
+}
+
+void DitaXmlGenerator::startText(const Node* /* relative */,
+ CodeMarker* /* marker */)
+{
+ inLink = false;
+ inContents = false;
+ inSectionHeading = false;
+ inTableHeader = false;
+ numTableRows = 0;
+ threeColumnEnumValueTable = true;
+ link.clear();
+ sectionNumber.clear();
+}
+
+/*!
+ Generate html from an instance of Atom.
+ */
+int DitaXmlGenerator::generateAtom(const Atom *atom,
+ const Node *relative,
+ CodeMarker *marker)
+{
+ int skipAhead = 0;
+ QString hx;
+ static bool in_para = false;
+ QString guid;
+
+ switch (atom->type()) {
+ case Atom::AbstractLeft:
+ break;
+ case Atom::AbstractRight:
+ break;
+ case Atom::AutoLink:
+ if ((noLinks > 0) && !inLink && !inContents && !inSectionHeading) {
+ const Node *node = 0;
+ QString link = getLink(atom, relative, marker, &node);
+ if (!link.isEmpty()) {
+ beginLink(link, node, relative, marker);
+ generateLink(atom, relative, marker);
+ endLink();
+ }
+ else {
+ writer.writeCharacters(protectEnc(atom->string()));
+ }
+ }
+ else {
+ writer.writeCharacters(protectEnc(atom->string()));
+ }
+ break;
+ case Atom::BaseName:
+ break;
+ case Atom::BriefLeft:
+ if (relative->type() == Node::Fake) {
+ skipAhead = skipAtoms(atom, Atom::BriefRight);
+ break;
+ }
+ writer.writeStartElement(SHORTDESC);
+ if (relative->type() == Node::Property ||
+ relative->type() == Node::Variable) {
+ QString str;
+ atom = atom->next();
+ while (atom != 0 && atom->type() != Atom::BriefRight) {
+ if (atom->type() == Atom::String ||
+ atom->type() == Atom::AutoLink)
+ str += atom->string();
+ skipAhead++;
+ atom = atom->next();
+ }
+ str[0] = str[0].toLower();
+ if (str.right(1) == ".")
+ str.truncate(str.length() - 1);
+ writer.writeCharacters("This ");
+ if (relative->type() == Node::Property)
+ writer.writeCharacters("property");
+ else
+ writer.writeCharacters("variable");
+ QStringList words = str.split(" ");
+ if (!(words.first() == "contains" || words.first() == "specifies"
+ || words.first() == "describes" || words.first() == "defines"
+ || words.first() == "holds" || words.first() == "determines"))
+ writer.writeCharacters(" holds ");
+ else
+ writer.writeCharacters(" ");
+ writer.writeCharacters(str + ".");
+ }
+ break;
+ case Atom::BriefRight:
+ if (relative->type() != Node::Fake) {
+ writer.writeEndElement(); // </shortdesc>
+ }
+ break;
+ case Atom::C:
+ writer.writeStartElement(formattingLeftMap()[ATOM_FORMATTING_TELETYPE]);
+ if (inLink) {
+ writer.writeCharacters(protectEnc(plainCode(atom->string())));
+ }
+ else {
+ writer.writeCharacters(highlightedCode(atom->string(), marker, relative));
+ }
+ writer.writeEndElement(); // sse writeStartElement() above
+ break;
+ case Atom::Code:
+ writer.writeStartElement("pre");
+ writer.writeAttribute("outputclass","highlightedCode");
+ writer.writeCharacters(trimmedTrailing(highlightedCode(indent(codeIndent,atom->string()),
+ marker,
+ relative)));
+ writer.writeEndElement(); // </pre>
+ break;
+#ifdef QDOC_QML
+ case Atom::Qml:
+ writer.writeStartElement("pre");
+ writer.writeAttribute("outputclass","highlightedCode");
+ writer.writeCharacters(trimmedTrailing(highlightedCode(indent(codeIndent,atom->string()),
+ marker,
+ relative)));
+ writer.writeEndElement(); // pre
+ break;
+#endif
+ case Atom::CodeNew:
+ writer.writeStartElement("p");
+ writer.writeCharacters("you can rewrite it as");
+ writer.writeEndElement(); // </p>
+ writer.writeStartElement("pre");
+ writer.writeAttribute("outputclass","highlightedCode");
+ writer.writeCharacters(trimmedTrailing(highlightedCode(indent(codeIndent,atom->string()),
+ marker,
+ relative)));
+ writer.writeEndElement(); // </pre>
+ break;
+ case Atom::CodeOld:
+ writer.writeStartElement("p");
+ writer.writeCharacters("For example, if you have code like");
+ writer.writeEndElement(); // </p>
+ // fallthrough
+ case Atom::CodeBad:
+ writer.writeStartElement("pre");
+ writer.writeAttribute("outputclass","highlightedCode");
+ writer.writeCharacters(trimmedTrailing(protectEnc(plainCode(indent(codeIndent,atom->string())))));
+ writer.writeEndElement(); // </pre>
+ break;
+ case Atom::FootnoteLeft:
+ // ### For now
+ if (in_para) {
+ writer.writeEndElement(); // </p>
+ in_para = false;
+ }
+ writer.writeCharacters("<!-- ");
+ break;
+ case Atom::FootnoteRight:
+ // ### For now
+ writer.writeCharacters("-->");
+ break;
+ case Atom::FormatElse:
+ case Atom::FormatEndif:
+ case Atom::FormatIf:
+ break;
+ case Atom::FormattingLeft:
+ writer.writeStartElement(formattingLeftMap()[atom->string()]);
+ if (atom->string() == ATOM_FORMATTING_PARAMETER) {
+ if (atom->next() != 0 && atom->next()->type() == Atom::String) {
+ QRegExp subscriptRegExp("([a-z]+)_([0-9n])");
+ if (subscriptRegExp.exactMatch(atom->next()->string())) {
+ writer.writeCharacters(subscriptRegExp.cap(1));
+ writer.writeStartElement("sub");
+ writer.writeCharacters(subscriptRegExp.cap(2));
+ writer.writeEndElement(); // </sub>
+ skipAhead = 1;
+ }
+ }
+ }
+ break;
+ case Atom::FormattingRight:
+ if (atom->string() == ATOM_FORMATTING_LINK) {
+ endLink();
+ }
+ else {
+ writer.writeEndElement(); // ?
+ }
+ break;
+ case Atom::AnnotatedList:
+ {
+ QList<Node*> values = myTree->groups().values(atom->string());
+ NodeMap nodeMap;
+ for (int i = 0; i < values.size(); ++i) {
+ const Node* n = values.at(i);
+ if ((n->status() != Node::Internal) && (n->access() != Node::Private)) {
+ nodeMap.insert(n->nameForLists(),n);
+ }
+ }
+ generateAnnotatedList(relative, marker, nodeMap);
+ }
+ break;
+ case Atom::GeneratedList:
+ if (atom->string() == "annotatedclasses") {
+ generateAnnotatedList(relative, marker, nonCompatClasses);
+ }
+ else if (atom->string() == "classes") {
+ generateCompactList(relative, marker, nonCompatClasses, true);
+ }
+ else if (atom->string().contains("classesbymodule")) {
+ QString arg = atom->string().trimmed();
+ QString moduleName = atom->string().mid(atom->string().indexOf(
+ "classesbymodule") + 15).trimmed();
+ if (moduleClassMap.contains(moduleName))
+ generateAnnotatedList(relative, marker, moduleClassMap[moduleName]);
+ }
+ else if (atom->string().contains("classesbyedition")) {
+
+ QString arg = atom->string().trimmed();
+ QString editionName = atom->string().mid(atom->string().indexOf(
+ "classesbyedition") + 16).trimmed();
+
+ if (editionModuleMap.contains(editionName)) {
+
+ // Add all classes in the modules listed for that edition.
+ NodeMap editionClasses;
+ foreach (const QString &moduleName, editionModuleMap[editionName]) {
+ if (moduleClassMap.contains(moduleName))
+ editionClasses.unite(moduleClassMap[moduleName]);
+ }
+
+ // Add additional groups and remove groups of classes that
+ // should be excluded from the edition.
+
+ QMultiMap <QString, Node *> groups = myTree->groups();
+ foreach (const QString &groupName, editionGroupMap[editionName]) {
+ QList<Node *> groupClasses;
+ if (groupName.startsWith("-")) {
+ groupClasses = groups.values(groupName.mid(1));
+ foreach (const Node *node, groupClasses)
+ editionClasses.remove(node->name());
+ }
+ else {
+ groupClasses = groups.values(groupName);
+ foreach (const Node *node, groupClasses)
+ editionClasses.insert(node->name(), node);
+ }
+ }
+ generateAnnotatedList(relative, marker, editionClasses);
+ }
+ }
+ else if (atom->string() == "classhierarchy") {
+ generateClassHierarchy(relative, marker, nonCompatClasses);
+ }
+ else if (atom->string() == "compatclasses") {
+ generateCompactList(relative, marker, compatClasses, false);
+ }
+ else if (atom->string() == "obsoleteclasses") {
+ generateCompactList(relative, marker, obsoleteClasses, false);
+ }
+ else if (atom->string() == "functionindex") {
+ generateFunctionIndex(relative, marker);
+ }
+ else if (atom->string() == "legalese") {
+ generateLegaleseList(relative, marker);
+ }
+ else if (atom->string() == "mainclasses") {
+ generateCompactList(relative, marker, mainClasses, true);
+ }
+ else if (atom->string() == "services") {
+ generateCompactList(relative, marker, serviceClasses, false);
+ }
+ else if (atom->string() == "overviews") {
+ generateOverviewList(relative, marker);
+ }
+ else if (atom->string() == "namespaces") {
+ generateAnnotatedList(relative, marker, namespaceIndex);
+ }
+ else if (atom->string() == "related") {
+ const FakeNode *fake = static_cast<const FakeNode *>(relative);
+ if (fake && !fake->groupMembers().isEmpty()) {
+ NodeMap groupMembersMap;
+ foreach (const Node *node, fake->groupMembers()) {
+ if (node->type() == Node::Fake)
+ groupMembersMap[fullName(node, relative, marker)] = node;
+ }
+ generateAnnotatedList(fake, marker, groupMembersMap);
+ }
+ }
+ else if (atom->string() == "relatedinline") {
+ const FakeNode *fake = static_cast<const FakeNode *>(relative);
+ if (fake && !fake->groupMembers().isEmpty()) {
+ // Reverse the list into the original scan order.
+ // Should be sorted. But on what? It may not be a
+ // regular class or page definition.
+ QList<const Node *> list;
+ foreach (const Node *node, fake->groupMembers())
+ list.prepend(node);
+ foreach (const Node *node, list)
+ generateBody(node, marker);
+ }
+ }
+ break;
+ case Atom::SinceList:
+ {
+ NewSinceMaps::const_iterator nsmap;
+ nsmap = newSinceMaps.find(atom->string());
+ NewClassMaps::const_iterator ncmap;
+ ncmap = newClassMaps.find(atom->string());
+ NewClassMaps::const_iterator nqcmap;
+ nqcmap = newQmlClassMaps.find(atom->string());
+ if ((nsmap != newSinceMaps.constEnd()) && !nsmap.value().isEmpty()) {
+ QList<Section> sections;
+ QList<Section>::ConstIterator s;
+ for (int i=0; i<LastSinceType; ++i)
+ sections.append(Section(sinceTitle(i),QString(),QString(),QString()));
+
+ NodeMultiMap::const_iterator n = nsmap.value().constBegin();
+ while (n != nsmap.value().constEnd()) {
+ const Node* node = n.value();
+ switch (node->type()) {
+ case Node::Fake:
+ if (node->subType() == Node::QmlClass) {
+ sections[QmlClass].appendMember((Node*)node);
+ }
+ break;
+ case Node::Namespace:
+ sections[Namespace].appendMember((Node*)node);
+ break;
+ case Node::Class:
+ sections[Class].appendMember((Node*)node);
+ break;
+ case Node::Enum:
+ sections[Enum].appendMember((Node*)node);
+ break;
+ case Node::Typedef:
+ sections[Typedef].appendMember((Node*)node);
+ break;
+ case Node::Function: {
+ const FunctionNode* fn = static_cast<const FunctionNode*>(node);
+ if (fn->isMacro())
+ sections[Macro].appendMember((Node*)node);
+ else {
+ Node* p = fn->parent();
+ if (p) {
+ if (p->type() == Node::Class)
+ sections[MemberFunction].appendMember((Node*)node);
+ else if (p->type() == Node::Namespace) {
+ if (p->name().isEmpty())
+ sections[GlobalFunction].appendMember((Node*)node);
+ else
+ sections[NamespaceFunction].appendMember((Node*)node);
+ }
+ else
+ sections[GlobalFunction].appendMember((Node*)node);
+ }
+ else
+ sections[GlobalFunction].appendMember((Node*)node);
+ }
+ break;
+ }
+ case Node::Property:
+ sections[Property].appendMember((Node*)node);
+ break;
+ case Node::Variable:
+ sections[Variable].appendMember((Node*)node);
+ break;
+ case Node::QmlProperty:
+ sections[QmlProperty].appendMember((Node*)node);
+ break;
+ case Node::QmlSignal:
+ sections[QmlSignal].appendMember((Node*)node);
+ break;
+ case Node::QmlMethod:
+ sections[QmlMethod].appendMember((Node*)node);
+ break;
+ default:
+ break;
+ }
+ ++n;
+ }
+
+ /*
+ First generate the table of contents.
+ */
+ writer.writeStartElement("ul");
+ s = sections.constBegin();
+ while (s != sections.constEnd()) {
+ if (!(*s).members.isEmpty()) {
+
+ writer.writeStartElement("li");
+ writer.writeStartElement("xref");
+ writer.writeAttribute("href",QString("#" + Doc::canonicalTitle((*s).name)));
+ writer.writeCharacters((*s).name);
+ writer.writeEndElement(); // </xref>
+ writer.writeEndElement(); // </li>
+ }
+ ++s;
+ }
+ writer.writeEndElement(); // </ul>
+
+ int idx = 0;
+ s = sections.constBegin();
+ while (s != sections.constEnd()) {
+ if (!(*s).members.isEmpty()) {
+ writer.writeStartElement("p");
+ writeGuidAttribute(Doc::canonicalTitle((*s).name));
+ writer.writeAttribute("outputclass","h3");
+ writer.writeCharacters(protectEnc((*s).name));
+ writer.writeEndElement(); // </p>
+ if (idx == Class)
+ generateCompactList(0, marker, ncmap.value(), false, QString("Q"));
+ else if (idx == QmlClass)
+ generateCompactList(0, marker, nqcmap.value(), false, QString("Q"));
+ else if (idx == MemberFunction) {
+ ParentMaps parentmaps;
+ ParentMaps::iterator pmap;
+ NodeList::const_iterator i = s->members.constBegin();
+ while (i != s->members.constEnd()) {
+ Node* p = (*i)->parent();
+ pmap = parentmaps.find(p);
+ if (pmap == parentmaps.end())
+ pmap = parentmaps.insert(p,NodeMultiMap());
+ pmap->insert((*i)->name(),(*i));
+ ++i;
+ }
+ pmap = parentmaps.begin();
+ while (pmap != parentmaps.end()) {
+ NodeList nlist = pmap->values();
+ writer.writeStartElement("p");
+ writer.writeCharacters("Class ");
+ writer.writeStartElement("xref");
+ writer.writeAttribute("href",linkForNode(pmap.key(), 0));
+ QStringList pieces = fullName(pmap.key(), 0, marker).split("::");
+ writer.writeCharacters(protectEnc(pieces.last()));
+ writer.writeEndElement(); // </xref>
+ writer.writeCharacters(":");
+ writer.writeEndElement(); // </p>
+
+ generateSection(nlist, 0, marker, CodeMarker::Summary);
+ writer.writeEmptyElement("br");
+ ++pmap;
+ }
+ }
+ else
+ generateSection(s->members, 0, marker, CodeMarker::Summary);
+ }
+ ++idx;
+ ++s;
+ }
+ }
+ }
+ break;
+ case Atom::Image:
+ case Atom::InlineImage:
+ {
+ QString fileName = imageFileName(relative, atom->string());
+ QString text;
+ if (atom->next() != 0)
+ text = atom->next()->string();
+ if (atom->type() == Atom::Image) {
+ writer.writeStartElement("p");
+ writer.writeAttribute("outputclass","centerAlign");
+ }
+ if (fileName.isEmpty()) {
+ writer.writeStartElement("font");
+ writer.writeAttribute("color","red");
+ writer.writeCharacters("[Missing image: ");
+ writer.writeCharacters(protectEnc(atom->string()));
+ writer.writeEndElement(); // </font>
+ }
+ else {
+ writer.writeStartElement("img");
+ writer.writeAttribute("src",protectEnc(fileName));
+ if (!text.isEmpty())
+ writer.writeAttribute("alt",protectEnc(text));
+ writer.writeEndElement(); // </img>
+ }
+ if (atom->type() == Atom::Image)
+ writer.writeEndElement(); // </p>
+ }
+ break;
+ case Atom::ImageText:
+ // nothing
+ break;
+ case Atom::LegaleseLeft:
+ writer.writeStartElement("p");
+ writer.writeAttribute("outputclass","legalese");
+ break;
+ case Atom::LegaleseRight:
+ writer.writeEndElement(); // </p>
+ break;
+ case Atom::LineBreak:
+ writer.writeEmptyElement("br");
+ break;
+ case Atom::Link:
+ {
+ const Node *node = 0;
+ QString myLink = getLink(atom, relative, marker, &node);
+ if (myLink.isEmpty()) {
+ relative->doc().location().warning(tr("Cannot link to '%1' in %2")
+ .arg(atom->string())
+ .arg(marker->plainFullName(relative)));
+ }
+ beginLink(myLink, node, relative, marker);
+ skipAhead = 1;
+ }
+ break;
+ case Atom::LinkNode:
+ {
+ const Node *node = CodeMarker::nodeForString(atom->string());
+ beginLink(linkForNode(node, relative), node, relative, marker);
+ skipAhead = 1;
+ }
+ break;
+ case Atom::ListLeft:
+ if (in_para) {
+ writer.writeEndElement(); // </p>
+ in_para = false;
+ }
+ if (atom->string() == ATOM_LIST_BULLET) {
+ writer.writeStartElement("ul");
+ }
+ else if (atom->string() == ATOM_LIST_TAG) {
+ writer.writeStartElement("dl");
+ }
+ else if (atom->string() == ATOM_LIST_VALUE) {
+ threeColumnEnumValueTable = isThreeColumnEnumValueTable(atom);
+ if (threeColumnEnumValueTable) {
+ writer.writeStartElement("table");
+ writer.writeAttribute("outputclass","valuelist");
+ writer.writeStartElement("tr");
+ if (++numTableRows % 2 == 1)
+ writer.writeAttribute("outputclass","odd");
+ else
+ writer.writeAttribute("outputclass","even");
+ writer.writeStartElement("th");
+ writer.writeCharacters("Constant");
+ writer.writeEndElement(); // </th>
+ writer.writeStartElement("th");
+ writer.writeCharacters("Value");
+ writer.writeEndElement(); // </th>
+ writer.writeStartElement("th");
+ writer.writeCharacters("Description");
+ writer.writeEndElement(); // </th>
+ writer.writeEndElement(); // </tr>
+ }
+ else {
+ writer.writeStartElement("table");
+ writer.writeAttribute("outputclass","valuelist");
+ writer.writeStartElement("tr");
+ writer.writeStartElement("th");
+ writer.writeCharacters("Constant");
+ writer.writeEndElement(); // </th>
+ writer.writeStartElement("th");
+ writer.writeCharacters("Value");
+ writer.writeEndElement(); // </th>
+ writer.writeEndElement(); // </tr>
+ }
+ }
+ else {
+ writer.writeStartElement("ol");
+ if (atom->string() == ATOM_LIST_UPPERALPHA)
+ writer.writeAttribute("type","A");
+ else if (atom->string() == ATOM_LIST_LOWERALPHA)
+ writer.writeAttribute("type","a");
+ else if (atom->string() == ATOM_LIST_UPPERROMAN)
+ writer.writeAttribute("type","I");
+ else if (atom->string() == ATOM_LIST_LOWERROMAN)
+ writer.writeAttribute("type","i");
+ else // (atom->string() == ATOM_LIST_NUMERIC)
+ writer.writeAttribute("type","1");
+ if (atom->next() != 0 && atom->next()->string().toInt() != 1)
+ writer.writeAttribute("start",atom->next()->string());
+ }
+ break;
+ case Atom::ListItemNumber:
+ // nothing
+ break;
+ case Atom::ListTagLeft:
+ if (atom->string() == ATOM_LIST_TAG) {
+ writer.writeStartElement("dt");
+ }
+ else { // (atom->string() == ATOM_LIST_VALUE)
+ writer.writeStartElement("tr");
+ writer.writeStartElement("td");
+ writer.writeAttribute("outputclass","topAlign");
+ writer.writeStartElement("tt");
+ writer.writeCharacters(protectEnc(plainCode(marker->markedUpEnumValue(atom->next()->string(),
+ relative))));
+ writer.writeEndElement(); // </tt>
+ writer.writeEndElement(); // </td>
+ writer.writeStartElement("td");
+ writer.writeAttribute("outputclass","topAlign");
+
+ QString itemValue;
+ if (relative->type() == Node::Enum) {
+ const EnumNode *enume = static_cast<const EnumNode *>(relative);
+ itemValue = enume->itemValue(atom->next()->string());
+ }
+
+ if (itemValue.isEmpty())
+ writer.writeCharacters("?");
+ else {
+ writer.writeStartElement("tt");
+ writer.writeCharacters(protectEnc(itemValue));
+ writer.writeEndElement(); // </tt>
+ }
+ skipAhead = 1;
+ }
+ break;
+ case Atom::ListTagRight:
+ if (atom->string() == ATOM_LIST_TAG)
+ writer.writeEndElement(); // </dt>
+ break;
+ case Atom::ListItemLeft:
+ if (atom->string() == ATOM_LIST_TAG) {
+ writer.writeStartElement("dd");
+ }
+ else if (atom->string() == ATOM_LIST_VALUE) {
+ if (threeColumnEnumValueTable) {
+ writer.writeEndElement(); // </td>
+ writer.writeStartElement("td");
+ writer.writeAttribute("outputclass","topAlign");
+ if (matchAhead(atom, Atom::ListItemRight))
+ writer.writeCharacters("&nbsp;");
+ }
+ }
+ else {
+ writer.writeStartElement("li");
+ }
+ if (matchAhead(atom, Atom::ParaLeft))
+ skipAhead = 1;
+ break;
+ case Atom::ListItemRight:
+ if (atom->string() == ATOM_LIST_TAG) {
+ writer.writeEndElement(); // </dd>
+ }
+ else if (atom->string() == ATOM_LIST_VALUE) {
+ writer.writeEndElement(); // </td>
+ writer.writeEndElement(); // </tr>
+ }
+ else {
+ writer.writeEndElement(); // </li>
+ }
+ break;
+ case Atom::ListRight:
+ if (atom->string() == ATOM_LIST_BULLET) {
+ writer.writeEndElement(); // </ul>
+ }
+ else if (atom->string() == ATOM_LIST_TAG) {
+ writer.writeEndElement(); // </dl>
+ }
+ else if (atom->string() == ATOM_LIST_VALUE) {
+ writer.writeEndElement(); // </table>
+ }
+ else {
+ writer.writeEndElement(); // </ol>
+ }
+ break;
+ case Atom::Nop:
+ // nothing
+ break;
+ case Atom::ParaLeft:
+ writer.writeStartElement("p");
+ in_para = true;
+ break;
+ case Atom::ParaRight:
+ endLink();
+ if (in_para) {
+ writer.writeEndElement(); // </p?
+ in_para = false;
+ }
+ break;
+ case Atom::QuotationLeft:
+ writer.writeStartElement("blockquote");
+ break;
+ case Atom::QuotationRight:
+ writer.writeEndElement(); // </blockquote>
+ break;
+ case Atom::RawString:
+ writer.writeCharacters(atom->string());
+ break;
+ case Atom::SectionLeft:
+ writer.writeStartElement("p");
+ writeGuidAttribute(Doc::canonicalTitle(Text::sectionHeading(atom).toString()));
+ writer.writeAttribute("outputclass","target");
+ writer.writeCharacters(protectEnc(Text::sectionHeading(atom).toString()));
+ writer.writeEndElement(); // </p>
+ break;
+ case Atom::SectionRight:
+ // nothing
+ break;
+ case Atom::SectionHeadingLeft:
+ writer.writeStartElement("p");
+ hx = "h" + QString::number(atom->string().toInt() + hOffset(relative));
+ writer.writeAttribute("outputclass",hx);
+ inSectionHeading = true;
+ break;
+ case Atom::SectionHeadingRight:
+ writer.writeEndElement(); // </p> (see case Atom::SectionHeadingLeft)
+ inSectionHeading = false;
+ break;
+ case Atom::SidebarLeft:
+ // nothing
+ break;
+ case Atom::SidebarRight:
+ // nothing
+ break;
+ case Atom::String:
+ if (inLink && !inContents && !inSectionHeading) {
+ generateLink(atom, relative, marker);
+ }
+ else {
+ writer.writeCharacters(protectEnc(atom->string()));
+ }
+ break;
+ case Atom::TableLeft:
+ if (in_para) {
+ writer.writeEndElement(); // </p>
+ in_para = false;
+ }
+ writer.writeStartElement("table");
+ writer.writeAttribute("outputclass","generic");
+ numTableRows = 0;
+ break;
+ case Atom::TableRight:
+ writer.writeEndElement(); // </table>
+ break;
+ case Atom::TableHeaderLeft:
+ writer.writeStartElement("thead");
+ writer.writeStartElement("tr");
+ writer.writeAttribute("outputclass","qt-style topAlign");
+ inTableHeader = true;
+ break;
+ case Atom::TableHeaderRight:
+ writer.writeEndElement(); // </tr>
+ if (matchAhead(atom, Atom::TableHeaderLeft)) {
+ skipAhead = 1;
+ writer.writeStartElement("tr");
+ writer.writeAttribute("outputclass","qt-style topAlign");
+ }
+ else {
+ writer.writeEndElement(); // </thead>
+ inTableHeader = false;
+ }
+ break;
+ case Atom::TableRowLeft:
+ writer.writeStartElement("tr");
+ if (++numTableRows % 2 == 1)
+ writer.writeAttribute("outputclass","odd topAlign");
+ else
+ writer.writeAttribute("outputclass","even topAlign");
+ break;
+ case Atom::TableRowRight:
+ writer.writeEndElement(); // </tr>\n";
+ break;
+ case Atom::TableItemLeft:
+ {
+ if (inTableHeader)
+ writer.writeStartElement("th");
+ else
+ writer.writeStartElement("td");
+
+ QStringList spans = atom->string().split(",");
+ if (spans.size() == 2) {
+#if zzz
+
+ if (spans.at(0) != "1")
+ out() << " colspan=\"" << spans.at(0) << "\"";
+ if (spans.at(1) != "1")
+ out() << " rowspan=\"" << spans.at(1) << "\"";
+#endif
+ if (!inTableHeader)
+ writer.writeStartElement("p");
+ }
+ if (matchAhead(atom, Atom::ParaLeft))
+ skipAhead = 1;
+ }
+ break;
+ case Atom::TableItemRight:
+ if (inTableHeader)
+ writer.writeEndElement(); // </th>
+ else {
+ writer.writeEndElement(); // </p>
+ writer.writeEndElement(); // </td>
+ }
+ if (matchAhead(atom, Atom::ParaLeft))
+ skipAhead = 1;
+ break;
+ case Atom::TableOfContents:
+ {
+ int numColumns = 1;
+ const Node *node = relative;
+
+ Doc::SectioningUnit sectioningUnit = Doc::Section4;
+ QStringList params = atom->string().split(",");
+ QString columnText = params.at(0);
+ QStringList pieces = columnText.split(" ", QString::SkipEmptyParts);
+ if (pieces.size() >= 2) {
+ columnText = pieces.at(0);
+ pieces.pop_front();
+ QString path = pieces.join(" ").trimmed();
+ node = findNodeForTarget(path, relative, marker, atom);
+ }
+
+ if (params.size() == 2) {
+ numColumns = qMax(columnText.toInt(), numColumns);
+ sectioningUnit = (Doc::SectioningUnit)params.at(1).toInt();
+ }
+
+ if (node)
+ generateTableOfContents(node,
+ marker,
+ sectioningUnit,
+ numColumns,
+ relative);
+ }
+ break;
+ case Atom::Target:
+ writer.writeStartElement("p");
+ writeGuidAttribute(Doc::canonicalTitle(atom->string()));
+ writer.writeAttribute("outputclass","target");
+ writer.writeCharacters(protectEnc(atom->string()));
+ writer.writeEndElement(); // </p>
+ break;
+ case Atom::UnhandledFormat:
+ writer.writeStartElement("b");
+ writer.writeAttribute("outputclass","redFont");
+ writer.writeCharacters("&lt;Missing DITAXML&gt");
+ writer.writeEndElement(); // </b>
+ break;
+ case Atom::UnknownCommand:
+ writer.writeStartElement("b");
+ writer.writeAttribute("outputclass","redFont code");
+ writer.writeCharacters(protectEnc(atom->string()));
+ writer.writeEndElement(); // </b>
+ break;
+#ifdef QDOC_QML
+ case Atom::QmlText:
+ case Atom::EndQmlText:
+ // don't do anything with these. They are just tags.
+ break;
+#endif
+ default:
+ // unknownAtom(atom);
+ break;
+ }
+ return skipAhead;
+}
+
+/*!
+ Generate a reference page for a C++ class.
+ */
+void
+DitaXmlGenerator::generateClassLikeNode(const InnerNode* inner, CodeMarker* marker)
+{
+ QList<Section> sections;
+ QList<Section>::ConstIterator s;
+
+ const ClassNode* cn = 0;
+ const NamespaceNode *namespasse = 0;
+
+ QString title;
+ QString rawTitle;
+ QString fullTitle;
+ if (inner->type() == Node::Namespace) {
+ namespasse = static_cast<const NamespaceNode *>(inner);
+ rawTitle = marker->plainName(inner);
+ fullTitle = marker->plainFullName(inner);
+ title = rawTitle + " Namespace";
+ }
+ else if (inner->type() == Node::Class) {
+ cn = static_cast<const ClassNode *>(inner);
+ rawTitle = marker->plainName(inner);
+ fullTitle = marker->plainFullName(inner);
+ title = rawTitle + " Class Reference";
+
+ generateHeader(inner);
+
+ writer.writeStartElement(CXXCLASS);
+ writeGuidAttribute(fullTitle);
+ writer.writeStartElement(APINAME);
+ writer.writeCharacters(fullTitle);
+ writer.writeEndElement(); // </apiName>
+
+ generateBrief(inner, marker);
+
+ writer.writeStartElement(CXXCLASSDETAIL);
+ writer.writeStartElement(CXXCLASSDEFINITION);
+ writer.writeStartElement(CXXCLASSACCESSSPECIFIER);
+ writer.writeAttribute("value",inner->accessString());
+ writer.writeEndElement(); // <cxxClassAccessSpecifier>
+ if (cn->isAbstract()) {
+ writer.writeStartElement(CXXCLASSABSTRACT);
+ writer.writeAttribute("name","abstract");
+ writer.writeAttribute("value","abstract");
+ writer.writeEndElement(); // </cxxClassAbstract>
+ }
+ writeDerivations(cn, marker);
+ writeLocation(cn, marker);
+ writer.writeEndElement(); // <cxxClassDefinition>
+ writer.writeStartElement(APIDESC);
+
+ if (!inner->doc().isEmpty()) {
+ writer.writeStartElement("p");
+ writer.writeAttribute("outputclass","h2");
+ writer.writeCharacters("Detailed Description");
+ writer.writeEndElement(); // </p>
+ generateBody(inner, marker);
+ // generateAlsoList(inner, marker);
+ }
+
+ writer.writeEndElement(); // </apiDesc>
+ writer.writeEndElement(); // </cxxClassDetail>
+
+ sections = marker->sections(inner, CodeMarker::Detailed, CodeMarker::Okay);
+ s = sections.begin();
+ while (s != sections.end()) {
+ if ((*s).name == "Member Function Documentation") {
+ writeFunctions((*s),cn,marker);
+ }
+ else if ((*s).name == "Member Type Documentation") {
+ writeNestedClasses((*s),cn,marker);
+ writeEnumerations((*s),cn,marker);
+ writeTypedefs((*s),cn,marker);
+ }
+ else if ((*s).name == "Member Variable Documentation") {
+ writeDataMembers((*s),cn,marker);
+ }
+ else if ((*s).name == "Property Documentation") {
+ writeProperties((*s),cn,marker);
+ }
+ ++s;
+ }
+ writer.writeEndElement(); // </cxxClass>
+ }
+
+#ifdef WRITE_HTML
+ Text subtitleText;
+ if (rawTitle != fullTitle)
+ subtitleText << "(" << Atom(Atom::AutoLink, fullTitle) << ")"
+ << Atom(Atom::LineBreak);
+
+ QString shortVersion;
+ shortVersion = project + " " + shortVersion + ": ";
+ shortVersion = myTree->version();
+ if (shortVersion.count(QChar('.')) == 2)
+ shortVersion.truncate(shortVersion.lastIndexOf(QChar('.')));
+ if (!shortVersion.isEmpty()) {
+ if (project == "QSA")
+ shortVersion = "QSA " + shortVersion + ": ";
+ else
+ shortVersion = "Qt " + shortVersion + ": ";
+ }
+
+ out() << " <title>" << shortVersion << protectEnc(title) << "</title>\n";
+
+#if 0
+ out() << QString(postHeader).replace("\\" + COMMAND_VERSION, myTree->version());
+ generateBreadCrumbs(title,node,marker);
+ out() << QString(postPostHeader).replace("\\" + COMMAND_VERSION, myTree->version());
+#endif
+
+ sections = marker->sections(inner, CodeMarker::Summary, CodeMarker::Okay);
+ generateTableOfContents(inner,marker,&sections);
+ generateTitle(title, subtitleText, SmallSubTitle, inner, marker);
+
+#ifdef QDOC_QML
+ if (cn && !cn->qmlElement().isEmpty()) {
+ generateInstantiatedBy(cn,marker);
+ }
+#endif
+
+ generateBrief(inner, marker);
+ generateIncludes(inner, marker);
+ generateStatus(inner, marker);
+ if (cn) {
+ generateInherits(cn, marker);
+ generateInheritedBy(cn, marker);
+ }
+ generateThreadSafeness(inner, marker);
+ generateSince(inner, marker);
+
+ out() << "<ul>\n";
+
+ QString membersLink = generateListOfAllMemberFile(inner, marker);
+ if (!membersLink.isEmpty())
+ out() << "<li><xref href=\"" << membersLink << "\">"
+ << "List of all members, including inherited members</xref></li>\n";
+
+ QString obsoleteLink = generateLowStatusMemberFile(inner,
+ marker,
+ CodeMarker::Obsolete);
+ if (!obsoleteLink.isEmpty())
+ out() << "<li><xref href=\"" << obsoleteLink << "\">"
+ << "Obsolete members</xref></li>\n";
+
+ QString compatLink = generateLowStatusMemberFile(inner,
+ marker,
+ CodeMarker::Compat);
+ if (!compatLink.isEmpty())
+ out() << "<li><xref href=\"" << compatLink << "\">"
+ << "Qt 3 support members</xref></li>\n";
+
+ out() << "</ul>\n";
+
+ bool needOtherSection = false;
+
+ /*
+ sections is built above for the call to generateTableOfContents().
+ */
+ s = sections.begin();
+ while (s != sections.end()) {
+ if (s->members.isEmpty() && s->reimpMembers.isEmpty()) {
+ if (!s->inherited.isEmpty())
+ needOtherSection = true;
+ }
+ else {
+ if (!s->members.isEmpty()) {
+ out() << "<hr />\n";
+ out() << "<a name=\""
+ << registerRef((*s).name.toLower())
+ << "\"></a>\n";
+ out() << "<h2>" << protectEnc((*s).name) << "</h2>\n";
+ generateSection(s->members, inner, marker, CodeMarker::Summary);
+ }
+ if (!s->reimpMembers.isEmpty()) {
+ QString name = QString("Reimplemented ") + (*s).name;
+ out() << "<hr />\n";
+ out() << "<a name=\""
+ << registerRef(name.toLower())
+ << "\"></a>\n";
+ out() << "<h2>" << protectEnc(name) << "</h2>\n";
+ generateSection(s->reimpMembers, inner, marker, CodeMarker::Summary);
+ }
+
+ if (!s->inherited.isEmpty()) {
+ out() << "<ul>\n";
+ generateSectionInheritedList(*s, inner, marker, true);
+ out() << "</ul>\n";
+ }
+ }
+ ++s;
+ }
+
+ if (needOtherSection) {
+ out() << "<h3>Additional Inherited Members</h3>\n"
+ "<ul>\n";
+
+ s = sections.begin();
+ while (s != sections.end()) {
+ if (s->members.isEmpty() && !s->inherited.isEmpty())
+ generateSectionInheritedList(*s, inner, marker);
+ ++s;
+ }
+ out() << "</ul>\n";
+ }
+
+ out() << "<a name=\"" << registerRef("details") << "\"></a>\n";
+
+ if (!inner->doc().isEmpty()) {
+ out() << "<hr />\n"
+ << "<div class=\"descr\"/>\n" // QTBUG-9504
+ << "<h2>" << "Detailed Description" << "</h2>\n";
+ generateBody(inner, marker);
+ out() << "</div>\n"; // QTBUG-9504
+ generateAlsoList(inner, marker);
+ }
+
+ sections = marker->sections(inner, CodeMarker::Detailed, CodeMarker::Okay);
+ s = sections.begin();
+ while (s != sections.end()) {
+ out() << "<hr />\n";
+ if (!(*s).divClass.isEmpty())
+ out() << "<div class=\"" << (*s).divClass << "\"/>\n"; // QTBUG-9504
+ out() << "<h2>" << protectEnc((*s).name) << "</h2>\n";
+
+ NodeList::ConstIterator m = (*s).members.begin();
+ while (m != (*s).members.end()) {
+ if ((*m)->access() != Node::Private) { // ### check necessary?
+ if ((*m)->type() != Node::Class)
+ generateDetailedMember(*m, inner, marker);
+ else {
+ out() << "<h3> class ";
+ generateFullName(*m, inner, marker);
+ out() << "</h3>";
+ generateBrief(*m, marker, inner);
+ }
+
+ QStringList names;
+ names << (*m)->name();
+ if ((*m)->type() == Node::Function) {
+ const FunctionNode *func = reinterpret_cast<const FunctionNode *>(*m);
+ if (func->metaness() == FunctionNode::Ctor ||
+ func->metaness() == FunctionNode::Dtor ||
+ func->overloadNumber() != 1)
+ names.clear();
+ }
+ else if ((*m)->type() == Node::Property) {
+ const PropertyNode *prop = reinterpret_cast<const PropertyNode *>(*m);
+ if (!prop->getters().isEmpty() &&
+ !names.contains(prop->getters().first()->name()))
+ names << prop->getters().first()->name();
+ if (!prop->setters().isEmpty())
+ names << prop->setters().first()->name();
+ if (!prop->resetters().isEmpty())
+ names << prop->resetters().first()->name();
+ }
+ else if ((*m)->type() == Node::Enum) {
+ const EnumNode *enume = reinterpret_cast<const EnumNode*>(*m);
+ if (enume->flagsType())
+ names << enume->flagsType()->name();
+
+ foreach (const QString &enumName,
+ enume->doc().enumItemNames().toSet() -
+ enume->doc().omitEnumItemNames().toSet())
+ names << plainCode(marker->markedUpEnumValue(enumName,
+ enume));
+ }
+ }
+ ++m;
+ }
+ if (!(*s).divClass.isEmpty())
+ out() << "</div>\n"; // QTBUG-9504
+ ++s;
+ }
+#endif
+}
+
+/*!
+ Generate the html page for a qdoc file that doesn't map
+ to an underlying c++ file.
+ */
+void DitaXmlGenerator::generateFakeNode(const FakeNode *fake, CodeMarker *marker)
+{
+ return; // zzz
+
+ SubTitleSize subTitleSize = LargeSubTitle;
+ QList<Section> sections;
+ QList<Section>::const_iterator s;
+ QString fullTitle = fake->fullTitle();
+ QString htmlTitle = fullTitle;
+
+ if (fake->subType() == Node::File && !fake->subTitle().isEmpty()) {
+ subTitleSize = SmallSubTitle;
+ htmlTitle += " (" + fake->subTitle() + ")";
+ }
+ else if (fake->subType() == Node::QmlBasicType) {
+ fullTitle = "QML Basic Type: " + fullTitle;
+ htmlTitle = fullTitle;
+ }
+
+ generateHeader(fake);
+
+ /*
+ Generate the TOC for the new doc format.
+ Don't generate a TOC for the home page.
+ */
+ if (fake->name() != QString("index.html"))
+ generateTableOfContents(fake,marker,0);
+
+ generateTitle(fullTitle,
+ Text() << fake->subTitle(),
+ subTitleSize,
+ fake,
+ marker);
+
+ if (fake->subType() == Node::Module) {
+ // Generate brief text and status for modules.
+ generateBrief(fake, marker);
+ generateStatus(fake, marker);
+
+ if (moduleNamespaceMap.contains(fake->name())) {
+ out() << "<a name=\"" << registerRef("namespaces") << "\"></a>\n";
+ out() << "<h2>Namespaces</h2>\n";
+ generateAnnotatedList(fake, marker, moduleNamespaceMap[fake->name()]);
+ }
+ if (moduleClassMap.contains(fake->name())) {
+ out() << "<a name=\"" << registerRef("classes") << "\"></a>\n";
+ out() << "<h2>Classes</h2>\n";
+ generateAnnotatedList(fake, marker, moduleClassMap[fake->name()]);
+ }
+ }
+ else if (fake->subType() == Node::HeaderFile) {
+ // Generate brief text and status for modules.
+ generateBrief(fake, marker);
+ generateStatus(fake, marker);
+
+ out() << "<ul>\n";
+
+ QString membersLink = generateListOfAllMemberFile(fake, marker);
+ if (!membersLink.isEmpty())
+ out() << "<li><xref href=\"" << membersLink << "\">"
+ << "List of all members, including inherited members</xref></li>\n";
+
+ QString obsoleteLink = generateLowStatusMemberFile(fake,
+ marker,
+ CodeMarker::Obsolete);
+ if (!obsoleteLink.isEmpty())
+ out() << "<li><xref href=\"" << obsoleteLink << "\">"
+ << "Obsolete members</xref></li>\n";
+
+ QString compatLink = generateLowStatusMemberFile(fake,
+ marker,
+ CodeMarker::Compat);
+ if (!compatLink.isEmpty())
+ out() << "<li><xref href=\"" << compatLink << "\">"
+ << "Qt 3 support members</xref></li>\n";
+
+ out() << "</ul>\n";
+ }
+#ifdef QDOC_QML
+ else if (fake->subType() == Node::QmlClass) {
+ const QmlClassNode* qml_cn = static_cast<const QmlClassNode*>(fake);
+ const ClassNode* cn = qml_cn->classNode();
+ generateQmlInherits(qml_cn, marker);
+ generateQmlInstantiates(qml_cn, marker);
+ generateBrief(qml_cn, marker);
+ generateQmlInheritedBy(qml_cn, marker);
+ sections = marker->qmlSections(qml_cn,CodeMarker::Summary);
+ s = sections.begin();
+ while (s != sections.end()) {
+ out() << "<a name=\"" << registerRef((*s).name) << "\"></a>\n";
+ out() << "<h2>" << protectEnc((*s).name) << "</h2>\n";
+ generateQmlSummary(*s,fake,marker);
+ ++s;
+ }
+
+ out() << "<a name=\"" << registerRef("details") << "\"></a>\n";
+ out() << "<h2>" << "Detailed Description" << "</h2>\n";
+ generateBody(fake, marker);
+ if (cn)
+ generateQmlText(cn->doc().body(), cn, marker, fake->name());
+ generateAlsoList(fake, marker);
+ out() << "<hr />\n";
+
+ sections = marker->qmlSections(qml_cn,CodeMarker::Detailed);
+ s = sections.begin();
+ while (s != sections.end()) {
+ out() << "<h2>" << protectEnc((*s).name) << "</h2>\n";
+ NodeList::ConstIterator m = (*s).members.begin();
+ while (m != (*s).members.end()) {
+ generateDetailedQmlMember(*m, fake, marker);
+ out() << "<br/>\n";
+ ++m;
+ }
+ ++s;
+ }
+ return;
+ }
+#endif
+
+ sections = marker->sections(fake, CodeMarker::Summary, CodeMarker::Okay);
+ s = sections.begin();
+ while (s != sections.end()) {
+ out() << "<a name=\"" << registerRef((*s).name) << "\"></a>\n";
+ out() << "<h2>" << protectEnc((*s).name) << "</h2>\n";
+ generateSectionList(*s, fake, marker, CodeMarker::Summary);
+ ++s;
+ }
+
+ Text brief = fake->doc().briefText();
+ if (fake->subType() == Node::Module && !brief.isEmpty()) {
+ out() << "<a name=\"" << registerRef("details") << "\"></a>\n";
+ out() << "<div class=\"descr\"/>\n"; // QTBUG-9504
+ out() << "<h2>" << "Detailed Description" << "</h2>\n";
+ }
+ else
+ out() << "<div class=\"descr\"/>\n"; // QTBUG-9504
+
+ generateBody(fake, marker);
+ out() << "</div>\n"; // QTBUG-9504
+ generateAlsoList(fake, marker);
+
+ if (!fake->groupMembers().isEmpty()) {
+ NodeMap groupMembersMap;
+ foreach (const Node *node, fake->groupMembers()) {
+ if (node->type() == Node::Class || node->type() == Node::Namespace)
+ groupMembersMap[node->name()] = node;
+ }
+ generateAnnotatedList(fake, marker, groupMembersMap);
+ }
+
+ sections = marker->sections(fake, CodeMarker::Detailed, CodeMarker::Okay);
+ s = sections.begin();
+ while (s != sections.end()) {
+ out() << "<hr />\n";
+ out() << "<h2>" << protectEnc((*s).name) << "</h2>\n";
+
+ NodeList::ConstIterator m = (*s).members.begin();
+ while (m != (*s).members.end()) {
+ generateDetailedMember(*m, fake, marker);
+ ++m;
+ }
+ ++s;
+ }
+}
+
+/*!
+ Returns "xml" for this subclass of Generator.
+ */
+QString DitaXmlGenerator::fileExtension(const Node * /* node */) const
+{
+ return "xml";
+}
+
+/*!
+ Output breadcrumb list in the html file.
+ */
+void DitaXmlGenerator::generateBreadCrumbs(const QString& title,
+ const Node *node,
+ CodeMarker *marker)
+{
+ Text breadcrumb;
+ if (node->type() == Node::Class) {
+ const ClassNode* cn = static_cast<const ClassNode*>(node);
+ QString name = node->moduleName();
+ out() << " <li><xref href=\"modules.html\">All Modules</xref></li>";
+ if (!name.isEmpty()) {
+ out() << " <li>";
+ breadcrumb << Atom(Atom::AutoLink,name);
+ generateText(breadcrumb, node, marker);
+ out() << "</li>\n";
+ }
+ breadcrumb.clear();
+ if (!cn->name().isEmpty()) {
+ out() << " <li>";
+ breadcrumb << Atom(Atom::AutoLink,cn->name());
+ generateText(breadcrumb, 0, marker);
+ out() << "</li>\n";
+ }
+ }
+ else if (node->type() == Node::Fake) {
+ const FakeNode* fn = static_cast<const FakeNode*>(node);
+ if (node->subType() == Node::Module) {
+ out() << " <li><xref href=\"modules.html\">All Modules</xref></li>";
+ QString name = node->name();
+ if (!name.isEmpty()) {
+ out() << " <li>";
+ breadcrumb << Atom(Atom::AutoLink,name);
+ generateText(breadcrumb, 0, marker);
+ out() << "</li>\n";
+ }
+ }
+ else if (node->subType() == Node::Group) {
+ if (fn->name() == QString("modules"))
+ out() << " <li><xref href=\"modules.html\">All Modules</xref></li>";
+ else {
+ out() << " <li><xref href=\"" << fn->name() << "\">" << title
+ << "</xref></li>";
+ }
+ }
+ else if (node->subType() == Node::Page) {
+ if (fn->name() == QString("examples.html")) {
+ out() << " <li><xref href=\"all-examples.html\">Examples</xref></li>";
+ }
+ else if (fn->name().startsWith("examples-")) {
+ out() << " <li><xref href=\"all-examples.html\">Examples</xref></li>";
+ out() << " <li><xref href=\"" << fn->name() << "\">" << title
+ << "</xref></li>";
+ }
+ else if (fn->name() == QString("namespaces.html")) {
+ out() << " <li><xref href=\"namespaces.html\">All Namespaces</xref></li>";
+ }
+ else {
+ out() << " <li><xref href=\"" << fn->name() << "\">" << title
+ << "</xref></li>";
+ }
+ }
+ else if (node->subType() == Node::QmlClass) {
+ out() << " <li><xref href=\"qdeclarativeelements.html\">QML Elements</xref></li>";
+ out() << " <li><xref href=\"" << fn->name() << "\">" << title
+ << "</xref></li>";
+ }
+ else if (node->subType() == Node::Example) {
+ out() << " <li><xref href=\"all-examples.html\">Examples</xref></li>";
+ QStringList sl = fn->name().split('/');
+ QString name = "examples-" + sl.at(0) + ".html";
+ QString t = CodeParser::titleFromName(name);
+ out() << " <li><xref href=\"" << name << "\">"
+ << t << "</xref></li>";
+ out() << " <li><xref href=\"" << sl.at(0)
+ << "-" << sl.at(sl.size()-1) << ".html\">"
+ << title << "</xref></li>";
+ }
+ }
+ else if (node->type() == Node::Namespace) {
+ const NamespaceNode* nsn = static_cast<const NamespaceNode*>(node);
+ out() << " <li><xref href=\"namespaces.html\">All Namespaces</xref></li>";
+ out() << " <li><xref href=\"" << fileName(nsn) << "\">" << title
+ << "</xref></li>";
+ }
+}
+
+void DitaXmlGenerator::generateHeader(const Node* node)
+{
+ writer.setDevice(out().device());
+ writer.setAutoFormatting(true);
+ writer.setAutoFormattingIndent(4);
+ writer.writeStartDocument();
+
+ if (!node)
+ return;
+
+ QString docType;
+ QString dtd;
+ QString version;
+ if (node->type() == Node::Class) {
+ docType = "cxxClass";
+ dtd = "dtd/cxxClass.dtd";
+ version = "0.6.0";
+ }
+
+ QString doctype = "<!DOCTYPE " + docType +
+ " PUBLIC \"-//NOKIA//DTD DITA C++ API Class Reference Type v" +
+ version + "//EN\" \"" + dtd + "\">";
+ writer.writeDTD(doctype);
+ writer.writeComment(node->doc().location().fileName());
+}
+
+void DitaXmlGenerator::generateTitle(const QString& title,
+ const Text &subTitle,
+ SubTitleSize subTitleSize,
+ const Node *relative,
+ CodeMarker *marker)
+{
+ if (!title.isEmpty())
+ out() << "<h1 class=\"title\">" << protectEnc(title) << "</h1>\n";
+ if (!subTitle.isEmpty()) {
+ out() << "<span";
+ if (subTitleSize == SmallSubTitle)
+ out() << " class=\"small-subtitle\">";
+ else
+ out() << " class=\"subtitle\">";
+ generateText(subTitle, relative, marker);
+ out() << "</span>\n";
+ }
+}
+
+/*!
+ Outputs the brief command as a <shortdesc" element.
+ */
+void DitaXmlGenerator::generateBrief(const Node* node, CodeMarker* marker)
+{
+ Text brief = node->doc().briefText();
+ if (!brief.isEmpty()) {
+ ++noLinks;
+ writer.writeStartElement(SHORTDESC);
+ generateText(brief, node, marker);
+ writer.writeEndElement(); // shortdesc
+ --noLinks;
+ }
+}
+
+void DitaXmlGenerator::generateIncludes(const InnerNode *inner, CodeMarker *marker)
+{
+ if (!inner->includes().isEmpty()) {
+ out() << "<pre class=\"highlightedCode\">"
+ << trimmedTrailing(highlightedCode(indent(codeIndent,
+ marker->markedUpIncludes(inner->includes())),
+ marker,inner))
+ << "</pre>";
+ }
+}
+
+/*!
+ Generates a table of contents begining at \a node.
+ */
+void DitaXmlGenerator::generateTableOfContents(const Node *node,
+ CodeMarker *marker,
+ Doc::SectioningUnit sectioningUnit,
+ int numColumns,
+ const Node *relative)
+
+{
+ return;
+ if (!node->doc().hasTableOfContents())
+ return;
+ QList<Atom *> toc = node->doc().tableOfContents();
+ if (toc.isEmpty())
+ return;
+
+ QString nodeName = "";
+ if (node != relative)
+ nodeName = node->name();
+
+ QStringList sectionNumber;
+ int columnSize = 0;
+
+ QString tdTag;
+ if (numColumns > 1) {
+ tdTag = "<td>"; /* width=\"" + QString::number((100 + numColumns - 1) / numColumns) + "%\">";*/
+ out() << "<table class=\"toc\">\n<tr class=\"topAlign\">"
+ << tdTag << "\n";
+ }
+
+ // disable nested links in table of contents
+ inContents = true;
+ inLink = true;
+
+ for (int i = 0; i < toc.size(); ++i) {
+ Atom *atom = toc.at(i);
+
+ int nextLevel = atom->string().toInt();
+ if (nextLevel > (int)sectioningUnit)
+ continue;
+
+ if (sectionNumber.size() < nextLevel) {
+ do {
+ out() << "<ul>";
+ sectionNumber.append("1");
+ } while (sectionNumber.size() < nextLevel);
+ }
+ else {
+ while (sectionNumber.size() > nextLevel) {
+ out() << "</ul>\n";
+ sectionNumber.removeLast();
+ }
+ sectionNumber.last() = QString::number(sectionNumber.last().toInt() + 1);
+ }
+ int numAtoms;
+ Text headingText = Text::sectionHeading(atom);
+
+ if (sectionNumber.size() == 1 && columnSize > toc.size() / numColumns) {
+ out() << "</ul></td>" << tdTag << "<ul>\n";
+ columnSize = 0;
+ }
+ out() << "<li>";
+ out() << "<xref href=\""
+ << nodeName
+ << "#"
+ << Doc::canonicalTitle(headingText.toString())
+ << "\">";
+ generateAtomList(headingText.firstAtom(), node, marker, true, numAtoms);
+ out() << "</xref></li>\n";
+
+ ++columnSize;
+ }
+ while (!sectionNumber.isEmpty()) {
+ out() << "</ul>\n";
+ sectionNumber.removeLast();
+ }
+
+ if (numColumns > 1)
+ out() << "</td></tr></table>\n";
+
+ inContents = false;
+ inLink = false;
+}
+
+/*!
+ Revised for the new doc format.
+ Generates a table of contents begining at \a node.
+ */
+void DitaXmlGenerator::generateTableOfContents(const Node *node,
+ CodeMarker *marker,
+ QList<Section>* sections)
+{
+ QList<Atom*> toc;
+ if (node->doc().hasTableOfContents())
+ toc = node->doc().tableOfContents();
+ if (toc.isEmpty() && !sections && (node->subType() != Node::Module))
+ return;
+
+ QStringList sectionNumber;
+ int detailsBase = 0;
+
+ // disable nested links in table of contents
+ inContents = true;
+ inLink = true;
+
+ out() << "<div class=\"toc\">\n";
+ out() << "<h3>Contents</h3>\n";
+ sectionNumber.append("1");
+ out() << "<ul>\n";
+
+ if (node->subType() == Node::Module) {
+ if (moduleNamespaceMap.contains(node->name())) {
+ out() << "<li class=\"level"
+ << sectionNumber.size()
+ << "\"><xref href=\"#"
+ << registerRef("namespaces")
+ << "\">Namespaces</xref></li>\n";
+ }
+ if (moduleClassMap.contains(node->name())) {
+ out() << "<li class=\"level"
+ << sectionNumber.size()
+ << "\"><xref href=\"#"
+ << registerRef("classes")
+ << "\">Classes</xref></li>\n";
+ }
+ out() << "<li class=\"level"
+ << sectionNumber.size()
+ << "\"><xref href=\"#"
+ << registerRef("details")
+ << "\">Detailed Description</xref></li>\n";
+ for (int i = 0; i < toc.size(); ++i) {
+ if (toc.at(i)->string().toInt() == 1) {
+ detailsBase = 1;
+ break;
+ }
+ }
+ }
+ else if (sections && (node->type() == Node::Class)) {
+ QList<Section>::ConstIterator s = sections->begin();
+ while (s != sections->end()) {
+ if (!s->members.isEmpty() || !s->reimpMembers.isEmpty()) {
+ out() << "<li class=\"level"
+ << sectionNumber.size()
+ << "\"><xref href=\"#"
+ << registerRef((*s).pluralMember)
+ << "\">" << (*s).name
+ << "</xref></li>\n";
+ }
+ ++s;
+ }
+ out() << "<li class=\"level"
+ << sectionNumber.size()
+ << "\"><xref href=\"#"
+ << registerRef("details")
+ << "\">Detailed Description</xref></li>\n";
+ for (int i = 0; i < toc.size(); ++i) {
+ if (toc.at(i)->string().toInt() == 1) {
+ detailsBase = 1;
+ break;
+ }
+ }
+ }
+
+ for (int i = 0; i < toc.size(); ++i) {
+ Atom *atom = toc.at(i);
+ int nextLevel = atom->string().toInt() + detailsBase;
+ if (sectionNumber.size() < nextLevel) {
+ do {
+ sectionNumber.append("1");
+ } while (sectionNumber.size() < nextLevel);
+ }
+ else {
+ while (sectionNumber.size() > nextLevel) {
+ sectionNumber.removeLast();
+ }
+ sectionNumber.last() = QString::number(sectionNumber.last().toInt() + 1);
+ }
+ int numAtoms;
+ Text headingText = Text::sectionHeading(atom);
+ QString s = headingText.toString();
+ out() << "<li class=\"level"
+ << sectionNumber.size()
+ << "\">";
+ out() << "<xref href=\""
+ << "#"
+ << Doc::canonicalTitle(s)
+ << "\">";
+ generateAtomList(headingText.firstAtom(), node, marker, true, numAtoms);
+ out() << "</xref></li>\n";
+ }
+ while (!sectionNumber.isEmpty()) {
+ sectionNumber.removeLast();
+ }
+ out() << "</ul>\n";
+ out() << "</div>\n";
+ inContents = false;
+ inLink = false;
+}
+
+QString DitaXmlGenerator::generateListOfAllMemberFile(const InnerNode *inner,
+ CodeMarker *marker)
+{
+ QList<Section> sections;
+ QList<Section>::ConstIterator s;
+
+ sections = marker->sections(inner,
+ CodeMarker::SeparateList,
+ CodeMarker::Okay);
+ if (sections.isEmpty())
+ return QString();
+
+ QString fileName = fileBase(inner) + "-members." + fileExtension(inner);
+ beginSubPage(inner->location(), fileName);
+ QString title = "List of All Members for " + inner->name();
+ generateHeader(inner);
+ generateTitle(title, Text(), SmallSubTitle, inner, marker);
+ out() << "<p>This is the complete list of members for ";
+ generateFullName(inner, 0, marker);
+ out() << ", including inherited members.</p>\n";
+
+ Section section = sections.first();
+ generateSectionList(section, 0, marker, CodeMarker::SeparateList);
+
+ endSubPage();
+ return fileName;
+}
+
+QString DitaXmlGenerator::generateLowStatusMemberFile(const InnerNode *inner,
+ CodeMarker *marker,
+ CodeMarker::Status status)
+{
+ QList<Section> sections = marker->sections(inner,
+ CodeMarker::Summary,
+ status);
+ QMutableListIterator<Section> j(sections);
+ while (j.hasNext()) {
+ if (j.next().members.size() == 0)
+ j.remove();
+ }
+ if (sections.isEmpty())
+ return QString();
+
+ int i;
+
+ QString title;
+ QString fileName;
+
+ if (status == CodeMarker::Compat) {
+ title = "Qt 3 Support Members for " + inner->name();
+ fileName = fileBase(inner) + "-qt3." + fileExtension(inner);
+ }
+ else {
+ title = "Obsolete Members for " + inner->name();
+ fileName = fileBase(inner) + "-obsolete." + fileExtension(inner);
+ }
+
+ beginSubPage(inner->location(), fileName);
+ generateHeader(inner);
+ generateTitle(title, Text(), SmallSubTitle, inner, marker);
+
+ if (status == CodeMarker::Compat) {
+ out() << "<p><b>The following class members are part of the "
+ "<xref href=\"qt3support.html\">Qt 3 support layer</xref>.</b> "
+ "They are provided to help you port old code to Qt 4. We advise against "
+ "using them in new code.</p>\n";
+ }
+ else {
+ out() << "<p><b>The following class members are obsolete.</b> "
+ << "They are provided to keep old source code working. "
+ << "We strongly advise against using them in new code.</p>\n";
+ }
+
+ out() << "<p><ul><li><xref href=\""
+ << linkForNode(inner, 0) << "\">"
+ << protectEnc(inner->name())
+ << " class reference</xref></li></ul></p>\n";
+
+ for (i = 0; i < sections.size(); ++i) {
+ out() << "<h2>" << protectEnc(sections.at(i).name) << "</h2>\n";
+ generateSectionList(sections.at(i), inner, marker, CodeMarker::Summary);
+ }
+
+ sections = marker->sections(inner, CodeMarker::Detailed, status);
+ for (i = 0; i < sections.size(); ++i) {
+ out() << "<hr />\n";
+ out() << "<h2>" << protectEnc(sections.at(i).name) << "</h2>\n";
+
+ NodeList::ConstIterator m = sections.at(i).members.begin();
+ while (m != sections.at(i).members.end()) {
+ if ((*m)->access() != Node::Private)
+ generateDetailedMember(*m, inner, marker);
+ ++m;
+ }
+ }
+
+ endSubPage();
+ return fileName;
+}
+
+void DitaXmlGenerator::generateClassHierarchy(const Node *relative,
+ CodeMarker *marker,
+ const QMap<QString,const Node*> &classMap)
+{
+ if (classMap.isEmpty())
+ return;
+
+ NodeMap topLevel;
+ NodeMap::ConstIterator c = classMap.begin();
+ while (c != classMap.end()) {
+ const ClassNode *classe = static_cast<const ClassNode *>(*c);
+ if (classe->baseClasses().isEmpty())
+ topLevel.insert(classe->name(), classe);
+ ++c;
+ }
+
+ QStack<NodeMap > stack;
+ stack.push(topLevel);
+
+ out() << "<ul>\n";
+ while (!stack.isEmpty()) {
+ if (stack.top().isEmpty()) {
+ stack.pop();
+ out() << "</ul>\n";
+ }
+ else {
+ const ClassNode *child =
+ static_cast<const ClassNode *>(*stack.top().begin());
+ out() << "<li>";
+ generateFullName(child, relative, marker);
+ out() << "</li>\n";
+ stack.top().erase(stack.top().begin());
+
+ NodeMap newTop;
+ foreach (const RelatedClass &d, child->derivedClasses()) {
+ if (d.access != Node::Private)
+ newTop.insert(d.node->name(), d.node);
+ }
+ if (!newTop.isEmpty()) {
+ stack.push(newTop);
+ out() << "<ul>\n";
+ }
+ }
+ }
+}
+
+void DitaXmlGenerator::generateAnnotatedList(const Node *relative,
+ CodeMarker *marker,
+ const NodeMap &nodeMap)
+{
+ out() << "<table class=\"annotated\">\n";
+
+ int row = 0;
+ foreach (const QString &name, nodeMap.keys()) {
+ const Node *node = nodeMap[name];
+
+ if (node->status() == Node::Obsolete)
+ continue;
+
+ if (++row % 2 == 1)
+ out() << "<tr class=\"odd topAlign\">";
+ else
+ out() << "<tr class=\"even topAlign\">";
+ out() << "<td><p>";
+ generateFullName(node, relative, marker);
+ out() << "</p></td>";
+
+ if (!(node->type() == Node::Fake)) {
+ Text brief = node->doc().trimmedBriefText(name);
+ if (!brief.isEmpty()) {
+ out() << "<td><p>";
+ generateText(brief, node, marker);
+ out() << "</p></td>";
+ }
+ }
+ else {
+ out() << "<td><p>";
+ out() << protectEnc(node->doc().briefText().toString());
+ out() << "</p></td>";
+ }
+ out() << "</tr>\n";
+ }
+ out() << "</table>\n";
+}
+
+/*!
+ This function finds the common prefix of the names of all
+ the classes in \a classMap and then generates a compact
+ list of the class names alphabetized on the part of the
+ name not including the common prefix. You can tell the
+ function to use \a comonPrefix as the common prefix, but
+ normally you let it figure it out itself by looking at
+ the name of the first and last classes in \a classMap.
+ */
+void DitaXmlGenerator::generateCompactList(const Node *relative,
+ CodeMarker *marker,
+ const NodeMap &classMap,
+ bool includeAlphabet,
+ QString commonPrefix)
+{
+ const int NumParagraphs = 37; // '0' to '9', 'A' to 'Z', '_'
+
+ if (classMap.isEmpty())
+ return;
+
+ /*
+ If commonPrefix is not empty, then the caller knows what
+ the common prefix is and has passed it in, so just use that
+ one.
+ */
+ int commonPrefixLen = commonPrefix.length();
+ if (commonPrefixLen == 0) {
+ QString first;
+ QString last;
+
+ /*
+ The caller didn't pass in a common prefix, so get the common
+ prefix by looking at the class names of the first and last
+ classes in the class map. Discard any namespace names and
+ just use the bare class names. For Qt, the prefix is "Q".
+
+ Note that the algorithm used here to derive the common prefix
+ from the first and last classes in alphabetical order (QAccel
+ and QXtWidget in Qt 2.1), fails if either class name does not
+ begin with Q.
+ */
+
+ NodeMap::const_iterator iter = classMap.begin();
+ while (iter != classMap.end()) {
+ if (!iter.key().contains("::")) {
+ first = iter.key();
+ break;
+ }
+ ++iter;
+ }
+
+ if (first.isEmpty())
+ first = classMap.begin().key();
+
+ iter = classMap.end();
+ while (iter != classMap.begin()) {
+ --iter;
+ if (!iter.key().contains("::")) {
+ last = iter.key();
+ break;
+ }
+ }
+
+ if (last.isEmpty())
+ last = classMap.begin().key();
+
+ if (classMap.size() > 1) {
+ while (commonPrefixLen < first.length() + 1 &&
+ commonPrefixLen < last.length() + 1 &&
+ first[commonPrefixLen] == last[commonPrefixLen])
+ ++commonPrefixLen;
+ }
+
+ commonPrefix = first.left(commonPrefixLen);
+ }
+
+ /*
+ Divide the data into 37 paragraphs: 0, ..., 9, A, ..., Z,
+ underscore (_). QAccel will fall in paragraph 10 (A) and
+ QXtWidget in paragraph 33 (X). This is the only place where we
+ assume that NumParagraphs is 37. Each paragraph is a NodeMap.
+ */
+ NodeMap paragraph[NumParagraphs+1];
+ QString paragraphName[NumParagraphs+1];
+ QSet<char> usedParagraphNames;
+
+ NodeMap::ConstIterator c = classMap.begin();
+ while (c != classMap.end()) {
+ QStringList pieces = c.key().split("::");
+ QString key;
+ int idx = commonPrefixLen;
+ if (!pieces.last().startsWith(commonPrefix))
+ idx = 0;
+ if (pieces.size() == 1)
+ key = pieces.last().mid(idx).toLower();
+ else
+ key = pieces.last().toLower();
+
+ int paragraphNr = NumParagraphs - 1;
+
+ if (key[0].digitValue() != -1) {
+ paragraphNr = key[0].digitValue();
+ }
+ else if (key[0] >= QLatin1Char('a') && key[0] <= QLatin1Char('z')) {
+ paragraphNr = 10 + key[0].unicode() - 'a';
+ }
+
+ paragraphName[paragraphNr] = key[0].toUpper();
+ usedParagraphNames.insert(key[0].toLower().cell());
+ paragraph[paragraphNr].insert(key, c.value());
+ ++c;
+ }
+
+ /*
+ Each paragraph j has a size: paragraph[j].count(). In the
+ discussion, we will assume paragraphs 0 to 5 will have sizes
+ 3, 1, 4, 1, 5, 9.
+
+ We now want to compute the paragraph offset. Paragraphs 0 to 6
+ start at offsets 0, 3, 4, 8, 9, 14, 23.
+ */
+ int paragraphOffset[NumParagraphs + 1]; // 37 + 1
+ paragraphOffset[0] = 0;
+ for (int i=0; i<NumParagraphs; i++) // i = 0..36
+ paragraphOffset[i+1] = paragraphOffset[i] + paragraph[i].count();
+
+ int curParNr = 0;
+ int curParOffset = 0;
+
+ /*
+ Output the alphabet as a row of links.
+ */
+ if (includeAlphabet) {
+ out() << "<p class=\"centerAlign functionIndex\"><b>";
+ for (int i = 0; i < 26; i++) {
+ QChar ch('a' + i);
+ if (usedParagraphNames.contains(char('a' + i)))
+ out() << QString("<xref href=\"#%1\">%2</xref>&nbsp;").arg(ch).arg(ch.toUpper());
+ }
+ out() << "</b></p>\n";
+ }
+
+ /*
+ Output a <div> element to contain all the <dl> elements.
+ */
+ out() << "<div class=\"flowListDiv\">\n";
+
+ for (int i=0; i<classMap.count()-1; i++) {
+ while ((curParNr < NumParagraphs) &&
+ (curParOffset == paragraph[curParNr].count())) {
+ ++curParNr;
+ curParOffset = 0;
+ }
+
+ /*
+ Starting a new paragraph means starting a new <dl>.
+ */
+ if (curParOffset == 0) {
+ if (i > 0)
+ out() << "</dl>\n";
+ if (++numTableRows % 2 == 1)
+ out() << "<dl class=\"flowList odd\">";
+ else
+ out() << "<dl class=\"flowList even\">";
+ out() << "<dt class=\"alphaChar\">";
+ if (includeAlphabet) {
+ QChar c = paragraphName[curParNr][0].toLower();
+ out() << QString("<a name=\"%1\"></a>").arg(c);
+ }
+ out() << "<b>"
+ << paragraphName[curParNr]
+ << "</b>";
+ out() << "</dt>\n";
+ }
+
+ /*
+ Output a <dd> for the current offset in the current paragraph.
+ */
+ out() << "<dd>";
+ if ((curParNr < NumParagraphs) &&
+ !paragraphName[curParNr].isEmpty()) {
+ NodeMap::Iterator it;
+ it = paragraph[curParNr].begin();
+ for (int i=0; i<curParOffset; i++)
+ ++it;
+
+ /*
+ Previously, we used generateFullName() for this, but we
+ require some special formatting.
+ */
+ out() << "<xref href=\"" << linkForNode(it.value(), relative) << "\">";
+
+ QStringList pieces;
+ if (it.value()->subType() == Node::QmlClass)
+ pieces << it.value()->name();
+ else
+ pieces = fullName(it.value(), relative, marker).split("::");
+ out() << protectEnc(pieces.last());
+ out() << "</xref>";
+ if (pieces.size() > 1) {
+ out() << " (";
+ generateFullName(it.value()->parent(), relative, marker);
+ out() << ")";
+ }
+ }
+ out() << "</dd>\n";
+ curParOffset++;
+ }
+ out() << "</dl>\n";
+ out() << "</div>\n";
+}
+
+void DitaXmlGenerator::generateFunctionIndex(const Node *relative,
+ CodeMarker *marker)
+{
+ out() << "<p class=\"centerAlign functionIndex\"><b>";
+ for (int i = 0; i < 26; i++) {
+ QChar ch('a' + i);
+ out() << QString("<xref href=\"#%1\">%2</xref>&nbsp;").arg(ch).arg(ch.toUpper());
+ }
+ out() << "</b></p>\n";
+
+ char nextLetter = 'a';
+ char currentLetter;
+
+#if 1
+ out() << "<ul>\n";
+#endif
+ QMap<QString, NodeMap >::ConstIterator f = funcIndex.begin();
+ while (f != funcIndex.end()) {
+#if 1
+ out() << "<li>";
+#else
+ out() << "<p>";
+#endif
+ out() << protectEnc(f.key()) << ":";
+
+ currentLetter = f.key()[0].unicode();
+ while (islower(currentLetter) && currentLetter >= nextLetter) {
+ out() << QString("<a name=\"%1\"></a>").arg(nextLetter);
+ nextLetter++;
+ }
+
+ NodeMap::ConstIterator s = (*f).begin();
+ while (s != (*f).end()) {
+ out() << " ";
+ generateFullName((*s)->parent(), relative, marker, *s);
+ ++s;
+ }
+#if 1
+ out() << "</li>";
+#else
+ out() << "</p>";
+#endif
+ out() << "\n";
+ ++f;
+ }
+#if 1
+ out() << "</ul>\n";
+#endif
+}
+
+void DitaXmlGenerator::generateLegaleseList(const Node *relative,
+ CodeMarker *marker)
+{
+ QMap<Text, const Node *>::ConstIterator it = legaleseTexts.begin();
+ while (it != legaleseTexts.end()) {
+ Text text = it.key();
+ out() << "<hr />\n";
+ generateText(text, relative, marker);
+ out() << "<ul>\n";
+ do {
+ out() << "<li>";
+ generateFullName(it.value(), relative, marker);
+ out() << "</li>\n";
+ ++it;
+ } while (it != legaleseTexts.end() && it.key() == text);
+ out() << "</ul>\n";
+ }
+}
+
+/*void DitaXmlGenerator::generateSynopsis(const Node *node,
+ const Node *relative,
+ CodeMarker *marker,
+ CodeMarker::SynopsisStyle style)
+{
+ QString marked = marker->markedUpSynopsis(node, relative, style);
+ QRegExp templateTag("(<[^@>]*>)");
+ if (marked.indexOf(templateTag) != -1) {
+ QString contents = protectEnc(marked.mid(templateTag.pos(1),
+ templateTag.cap(1).length()));
+ marked.replace(templateTag.pos(1), templateTag.cap(1).length(),
+ contents);
+ }
+ marked.replace(QRegExp("<@param>([a-z]+)_([1-9n])</@param>"),
+ "<i>\\1<sub>\\2</sub></i>");
+ marked.replace("<@param>", "<i>");
+ marked.replace("</@param>", "</i>");
+
+ if (style == CodeMarker::Summary)
+ marked.replace("@name>", "b>");
+
+ if (style == CodeMarker::SeparateList) {
+ QRegExp extraRegExp("<@extra>.*</@extra>");
+ extraRegExp.setMinimal(true);
+ marked.replace(extraRegExp, "");
+ }
+ else {
+ marked.replace("<@extra>", "&nbsp;&nbsp;<tt>");
+ marked.replace("</@extra>", "</tt>");
+ }
+
+ if (style != CodeMarker::Detailed) {
+ marked.replace("<@type>", "");
+ marked.replace("</@type>", "");
+ }
+ out() << highlightedCode(marked, marker, relative);
+}*/
+
+#ifdef QDOC_QML
+void DitaXmlGenerator::generateQmlItem(const Node *node,
+ const Node *relative,
+ CodeMarker *marker,
+ bool summary)
+{
+ QString marked = marker->markedUpQmlItem(node,summary);
+ QRegExp templateTag("(<[^@>]*>)");
+ if (marked.indexOf(templateTag) != -1) {
+ QString contents = protectEnc(marked.mid(templateTag.pos(1),
+ templateTag.cap(1).length()));
+ marked.replace(templateTag.pos(1), templateTag.cap(1).length(),
+ contents);
+ }
+ marked.replace(QRegExp("<@param>([a-z]+)_([1-9n])</@param>"),
+ "<i>\\1<sub>\\2</sub></i>");
+ marked.replace("<@param>", "<i>");
+ marked.replace("</@param>", "</i>");
+
+ if (summary)
+ marked.replace("@name>", "b>");
+
+ marked.replace("<@extra>", "<tt>");
+ marked.replace("</@extra>", "</tt>");
+
+ if (summary) {
+ marked.replace("<@type>", "");
+ marked.replace("</@type>", "");
+ }
+ out() << highlightedCode(marked, marker, relative);
+}
+#endif
+
+void DitaXmlGenerator::generateOverviewList(const Node *relative, CodeMarker * /* marker */)
+{
+ QMap<const FakeNode *, QMap<QString, FakeNode *> > fakeNodeMap;
+ QMap<QString, const FakeNode *> groupTitlesMap;
+ QMap<QString, FakeNode *> uncategorizedNodeMap;
+ QRegExp singleDigit("\\b([0-9])\\b");
+
+ const NodeList children = myTree->root()->childNodes();
+ foreach (Node *child, children) {
+ if (child->type() == Node::Fake && child != relative) {
+ FakeNode *fakeNode = static_cast<FakeNode *>(child);
+
+ // Check whether the page is part of a group or is the group
+ // definition page.
+ QString group;
+ bool isGroupPage = false;
+ if (fakeNode->doc().metaCommandsUsed().contains("group")) {
+ group = fakeNode->doc().metaCommandArgs("group")[0];
+ isGroupPage = true;
+ }
+
+ // there are too many examples; they would clutter the list
+ if (fakeNode->subType() == Node::Example)
+ continue;
+
+ // not interested either in individual (Qt Designer etc.) manual chapters
+ if (fakeNode->links().contains(Node::ContentsLink))
+ continue;
+
+ // Discard external nodes.
+ if (fakeNode->subType() == Node::ExternalPage)
+ continue;
+
+ QString sortKey = fakeNode->fullTitle().toLower();
+ if (sortKey.startsWith("the "))
+ sortKey.remove(0, 4);
+ sortKey.replace(singleDigit, "0\\1");
+
+ if (!group.isEmpty()) {
+ if (isGroupPage) {
+ // If we encounter a group definition page, we add all
+ // the pages in that group to the list for that group.
+ foreach (Node *member, fakeNode->groupMembers()) {
+ if (member->type() != Node::Fake)
+ continue;
+ FakeNode *page = static_cast<FakeNode *>(member);
+ if (page) {
+ QString sortKey = page->fullTitle().toLower();
+ if (sortKey.startsWith("the "))
+ sortKey.remove(0, 4);
+ sortKey.replace(singleDigit, "0\\1");
+ fakeNodeMap[const_cast<const FakeNode *>(fakeNode)].insert(sortKey, page);
+ groupTitlesMap[fakeNode->fullTitle()] = const_cast<const FakeNode *>(fakeNode);
+ }
+ }
+ }
+ else if (!isGroupPage) {
+ // If we encounter a page that belongs to a group then
+ // we add that page to the list for that group.
+ const FakeNode *groupNode = static_cast<const FakeNode *>(myTree->root()->findNode(group, Node::Fake));
+ if (groupNode)
+ fakeNodeMap[groupNode].insert(sortKey, fakeNode);
+ //else
+ // uncategorizedNodeMap.insert(sortKey, fakeNode);
+ }// else
+ // uncategorizedNodeMap.insert(sortKey, fakeNode);
+ }// else
+ // uncategorizedNodeMap.insert(sortKey, fakeNode);
+ }
+ }
+
+ // We now list all the pages found that belong to groups.
+ // If only certain pages were found for a group, but the definition page
+ // for that group wasn't listed, the list of pages will be intentionally
+ // incomplete. However, if the group definition page was listed, all the
+ // pages in that group are listed for completeness.
+
+ if (!fakeNodeMap.isEmpty()) {
+ foreach (const QString &groupTitle, groupTitlesMap.keys()) {
+ const FakeNode *groupNode = groupTitlesMap[groupTitle];
+ out() << QString("<h3><xref href=\"%1\">%2</xref></h3>\n").arg(
+ linkForNode(groupNode, relative)).arg(
+ protectEnc(groupNode->fullTitle()));
+
+ if (fakeNodeMap[groupNode].count() == 0)
+ continue;
+
+ out() << "<ul>\n";
+
+ foreach (const FakeNode *fakeNode, fakeNodeMap[groupNode]) {
+ QString title = fakeNode->fullTitle();
+ if (title.startsWith("The "))
+ title.remove(0, 4);
+ out() << "<li><xref href=\"" << linkForNode(fakeNode, relative) << "\">"
+ << protectEnc(title) << "</xref></li>\n";
+ }
+ out() << "</ul>\n";
+ }
+ }
+
+ if (!uncategorizedNodeMap.isEmpty()) {
+ out() << QString("<h3>Miscellaneous</h3>\n");
+ out() << "<ul>\n";
+ foreach (const FakeNode *fakeNode, uncategorizedNodeMap) {
+ QString title = fakeNode->fullTitle();
+ if (title.startsWith("The "))
+ title.remove(0, 4);
+ out() << "<li><xref href=\"" << linkForNode(fakeNode, relative) << "\">"
+ << protectEnc(title) << "</xref></li>\n";
+ }
+ out() << "</ul>\n";
+ }
+}
+
+void DitaXmlGenerator::generateSection(const NodeList& nl,
+ const Node *relative,
+ CodeMarker *marker,
+ CodeMarker::SynopsisStyle style)
+{
+ bool name_alignment = true;
+ if (!nl.isEmpty()) {
+ bool twoColumn = false;
+ if (style == CodeMarker::SeparateList) {
+ name_alignment = false;
+ twoColumn = (nl.count() >= 16);
+ }
+ else if (nl.first()->type() == Node::Property) {
+ twoColumn = (nl.count() >= 5);
+ name_alignment = false;
+ }
+ if (name_alignment) {
+ out() << "<table class=\"alignedsummary\">\n";
+ }
+ else {
+ if (twoColumn)
+ out() << "<table class=\"propsummary\">\n"
+ << "<tr><td class=\"topAlign\">";
+ out() << "<ul>\n";
+ }
+
+ int i = 0;
+ NodeList::ConstIterator m = nl.begin();
+ while (m != nl.end()) {
+ if ((*m)->access() == Node::Private) {
+ ++m;
+ continue;
+ }
+
+ if (name_alignment) {
+ out() << "<tr><td class=\"memItemLeft rightAlign topAlign\"> ";
+ }
+ else {
+ if (twoColumn && i == (int) (nl.count() + 1) / 2)
+ out() << "</ul></td><td class=\"topAlign\"><ul>\n";
+ out() << "<li class=\"fn\">";
+ }
+
+ generateSynopsis(*m, relative, marker, style, name_alignment);
+ if (name_alignment)
+ out() << "</td></tr>\n";
+ else
+ out() << "</li>\n";
+ i++;
+ ++m;
+ }
+ if (name_alignment)
+ out() << "</table>\n";
+ else {
+ out() << "</ul>\n";
+ if (twoColumn)
+ out() << "</td></tr>\n</table>\n";
+ }
+ }
+}
+
+void DitaXmlGenerator::generateSectionList(const Section& section,
+ const Node *relative,
+ CodeMarker *marker,
+ CodeMarker::SynopsisStyle style)
+{
+ bool name_alignment = true;
+ if (!section.members.isEmpty()) {
+ bool twoColumn = false;
+ if (style == CodeMarker::SeparateList) {
+ name_alignment = false;
+ twoColumn = (section.members.count() >= 16);
+ }
+ else if (section.members.first()->type() == Node::Property) {
+ twoColumn = (section.members.count() >= 5);
+ name_alignment = false;
+ }
+ if (name_alignment) {
+ out() << "<table class=\"alignedsummary\">\n";
+ }
+ else {
+ if (twoColumn)
+ out() << "<table class=\"propsummary\">\n"
+ << "<tr><td class=\"topAlign\">";
+ out() << "<ul>\n";
+ }
+
+ int i = 0;
+ NodeList::ConstIterator m = section.members.begin();
+ while (m != section.members.end()) {
+ if ((*m)->access() == Node::Private) {
+ ++m;
+ continue;
+ }
+
+ if (name_alignment) {
+ out() << "<tr><td class=\"memItemLeft topAlign rightAlign\"> ";
+ }
+ else {
+ if (twoColumn && i == (int) (section.members.count() + 1) / 2)
+ out() << "</ul></td><td class=\"topAlign\"><ul>\n";
+ out() << "<li class=\"fn\">";
+ }
+
+ generateSynopsis(*m, relative, marker, style, name_alignment);
+ if (name_alignment)
+ out() << "</td></tr>\n";
+ else
+ out() << "</li>\n";
+ i++;
+ ++m;
+ }
+ if (name_alignment)
+ out() << "</table>\n";
+ else {
+ out() << "</ul>\n";
+ if (twoColumn)
+ out() << "</td></tr>\n</table>\n";
+ }
+ }
+
+ if (style == CodeMarker::Summary && !section.inherited.isEmpty()) {
+ out() << "<ul>\n";
+ generateSectionInheritedList(section, relative, marker, name_alignment);
+ out() << "</ul>\n";
+ }
+}
+
+void DitaXmlGenerator::generateSectionInheritedList(const Section& section,
+ const Node *relative,
+ CodeMarker *marker,
+ bool nameAlignment)
+{
+ QList<QPair<ClassNode *, int> >::ConstIterator p = section.inherited.begin();
+ while (p != section.inherited.end()) {
+ if (nameAlignment)
+ out() << "<li class=\"fn\">";
+ else
+ out() << "<li class=\"fn\">";
+ out() << (*p).second << " ";
+ if ((*p).second == 1) {
+ out() << section.singularMember;
+ }
+ else {
+ out() << section.pluralMember;
+ }
+ out() << " inherited from <xref href=\"" << fileName((*p).first)
+ << "#" << DitaXmlGenerator::cleanRef(section.name.toLower()) << "\">"
+ << protectEnc(marker->plainFullName((*p).first, relative))
+ << "</xref></li>\n";
+ ++p;
+ }
+}
+
+void DitaXmlGenerator::generateSynopsis(const Node *node,
+ const Node *relative,
+ CodeMarker *marker,
+ CodeMarker::SynopsisStyle style,
+ bool nameAlignment)
+{
+ QString marked = marker->markedUpSynopsis(node, relative, style);
+ QRegExp templateTag("(<[^@>]*>)");
+ if (marked.indexOf(templateTag) != -1) {
+ QString contents = protectEnc(marked.mid(templateTag.pos(1),
+ templateTag.cap(1).length()));
+ marked.replace(templateTag.pos(1), templateTag.cap(1).length(),
+ contents);
+ }
+ marked.replace(QRegExp("<@param>([a-z]+)_([1-9n])</@param>"),
+ "<i>\\1<sub>\\2</sub></i>");
+ marked.replace("<@param>", "<i>");
+ marked.replace("</@param>", "</i>");
+
+ if (style == CodeMarker::Summary) {
+ marked.replace("<@name>", ""); // was "<b>"
+ marked.replace("</@name>", ""); // was "</b>"
+ }
+
+ if (style == CodeMarker::SeparateList) {
+ QRegExp extraRegExp("<@extra>.*</@extra>");
+ extraRegExp.setMinimal(true);
+ marked.replace(extraRegExp, "");
+ } else {
+ marked.replace("<@extra>", "<tt>");
+ marked.replace("</@extra>", "</tt>");
+ }
+
+ if (style != CodeMarker::Detailed) {
+ marked.replace("<@type>", "");
+ marked.replace("</@type>", "");
+ }
+ out() << highlightedCode(marked, marker, relative, style, nameAlignment);
+}
+
+QString DitaXmlGenerator::highlightedCode(const QString& markedCode,
+ CodeMarker *marker,
+ const Node *relative,
+ CodeMarker::SynopsisStyle ,
+ bool nameAlignment)
+{
+ QString src = markedCode;
+ QString html;
+ QStringRef arg;
+ QStringRef par1;
+
+ const QChar charLangle = '<';
+ const QChar charAt = '@';
+
+ // replace all <@link> tags: "(<@link node=\"([^\"]+)\">).*(</@link>)"
+ static const QString linkTag("link");
+ bool done = false;
+ for (int i = 0, n = src.size(); i < n;) {
+ if (src.at(i) == charLangle && src.at(i + 1).unicode() == '@') {
+ if (nameAlignment && !done) {// && (i != 0)) Why was this here?
+ html += "</td><td class=\"memItemRight bottomAlign\">";
+ done = true;
+ }
+ i += 2;
+ if (parseArg(src, linkTag, &i, n, &arg, &par1)) {
+ html += "<b>";
+ QString link = linkForNode(
+ CodeMarker::nodeForString(par1.toString()), relative);
+ addLink(link, arg, &html);
+ html += "</b>";
+ }
+ else {
+ html += charLangle;
+ html += charAt;
+ }
+ }
+ else {
+ html += src.at(i++);
+ }
+ }
+
+
+ if (slow) {
+ // is this block ever used at all?
+ // replace all <@func> tags: "(<@func target=\"([^\"]*)\">)(.*)(</@func>)"
+ src = html;
+ html = QString();
+ static const QString funcTag("func");
+ for (int i = 0, n = src.size(); i < n;) {
+ if (src.at(i) == charLangle && src.at(i + 1) == charAt) {
+ i += 2;
+ if (parseArg(src, funcTag, &i, n, &arg, &par1)) {
+ QString link = linkForNode(
+ marker->resolveTarget(par1.toString(),
+ myTree,
+ relative),
+ relative);
+ addLink(link, arg, &html);
+ par1 = QStringRef();
+ }
+ else {
+ html += charLangle;
+ html += charAt;
+ }
+ }
+ else {
+ html += src.at(i++);
+ }
+ }
+ }
+
+ // replace all "(<@(type|headerfile|func)(?: +[^>]*)?>)(.*)(</@\\2>)" tags
+ src = html;
+ html = QString();
+ static const QString typeTags[] = { "type", "headerfile", "func" };
+ for (int i = 0, n = src.size(); i < n;) {
+ if (src.at(i) == charLangle && src.at(i + 1) == charAt) {
+ i += 2;
+ bool handled = false;
+ for (int k = 0; k != 3; ++k) {
+ if (parseArg(src, typeTags[k], &i, n, &arg, &par1)) {
+ par1 = QStringRef();
+ QString link = linkForNode(
+ marker->resolveTarget(arg.toString(), myTree, relative),
+ relative);
+ addLink(link, arg, &html);
+ handled = true;
+ break;
+ }
+ }
+ if (!handled) {
+ html += charLangle;
+ html += charAt;
+ }
+ }
+ else {
+ html += src.at(i++);
+ }
+ }
+
+ // replace all
+ // "<@comment>" -> "<span class=\"comment\">";
+ // "<@preprocessor>" -> "<span class=\"preprocessor\">";
+ // "<@string>" -> "<span class=\"string\">";
+ // "<@char>" -> "<span class=\"char\">";
+ // "</@(?:comment|preprocessor|string|char)>" -> "</span>"
+ src = html;
+ html = QString();
+ static const QString spanTags[] = {
+ "<@comment>", "<span class=\"comment\">",
+ "<@preprocessor>", "<span class=\"preprocessor\">",
+ "<@string>", "<span class=\"string\">",
+ "<@char>", "<span class=\"char\">",
+ "</@comment>", "</span>",
+ "</@preprocessor>","</span>",
+ "</@string>", "</span>",
+ "</@char>", "</span>"
+ // "<@char>", "<font color=blue>",
+ // "</@char>", "</font>",
+ // "<@func>", "<font color=green>",
+ // "</@func>", "</font>",
+ // "<@id>", "<i>",
+ // "</@id>", "</i>",
+ // "<@keyword>", "<b>",
+ // "</@keyword>", "</b>",
+ // "<@number>", "<font color=yellow>",
+ // "</@number>", "</font>",
+ // "<@op>", "<b>",
+ // "</@op>", "</b>",
+ // "<@param>", "<i>",
+ // "</@param>", "</i>",
+ // "<@string>", "<font color=green>",
+ // "</@string>", "</font>",
+ };
+ for (int i = 0, n = src.size(); i < n;) {
+ if (src.at(i) == charLangle) {
+ bool handled = false;
+ for (int k = 0; k != 8; ++k) {
+ const QString & tag = spanTags[2 * k];
+ if (tag == QStringRef(&src, i, tag.length())) {
+ html += spanTags[2 * k + 1];
+ i += tag.length();
+ handled = true;
+ break;
+ }
+ }
+ if (!handled) {
+ ++i;
+ if (src.at(i) == charAt ||
+ (src.at(i) == QLatin1Char('/') && src.at(i + 1) == charAt)) {
+ // drop 'our' unknown tags (the ones still containing '@')
+ while (i < n && src.at(i) != QLatin1Char('>'))
+ ++i;
+ ++i;
+ }
+ else {
+ // retain all others
+ html += charLangle;
+ }
+ }
+ }
+ else {
+ html += src.at(i);
+ ++i;
+ }
+ }
+
+ return html;
+}
+
+void DitaXmlGenerator::generateLink(const Atom* atom,
+ const Node* /* relative */,
+ CodeMarker* marker)
+{
+ static QRegExp camelCase("[A-Z][A-Z][a-z]|[a-z][A-Z0-9]|_");
+
+ if (funcLeftParen.indexIn(atom->string()) != -1 && marker->recognizeLanguage("Cpp")) {
+ // hack for C++: move () outside of link
+ int k = funcLeftParen.pos(1);
+ writer.writeCharacters(protectEnc(atom->string().left(k)));
+ if (link.isEmpty()) {
+ if (showBrokenLinks)
+ writer.writeEndElement(); // </i>
+ }
+ else {
+ writer.writeEndElement(); // </xref>
+ }
+ inLink = false;
+ writer.writeCharacters(protectEnc(atom->string().mid(k)));
+ } else if (marker->recognizeLanguage("Java")) {
+ // hack for Java: remove () and use <tt> when appropriate
+ bool func = atom->string().endsWith("()");
+ bool tt = (func || atom->string().contains(camelCase));
+ if (tt)
+ writer.writeStartElement("tt");
+ if (func) {
+ writer.writeCharacters(protectEnc(atom->string().left(atom->string().length() - 2)));
+ }
+ else {
+ writer.writeCharacters(protectEnc(atom->string()));
+ }
+ writer.writeEndElement(); // </tt>
+ }
+ else {
+ writer.writeCharacters(protectEnc(atom->string()));
+ }
+}
+
+QString DitaXmlGenerator::cleanRef(const QString& ref)
+{
+ QString clean;
+
+ if (ref.isEmpty())
+ return clean;
+
+ clean.reserve(ref.size() + 20);
+ const QChar c = ref[0];
+ const uint u = c.unicode();
+
+ if ((u >= 'a' && u <= 'z') ||
+ (u >= 'A' && u <= 'Z') ||
+ (u >= '0' && u <= '9')) {
+ clean += c;
+ } else if (u == '~') {
+ clean += "dtor.";
+ } else if (u == '_') {
+ clean += "underscore.";
+ } else {
+ clean += "A";
+ }
+
+ for (int i = 1; i < (int) ref.length(); i++) {
+ const QChar c = ref[i];
+ const uint u = c.unicode();
+ if ((u >= 'a' && u <= 'z') ||
+ (u >= 'A' && u <= 'Z') ||
+ (u >= '0' && u <= '9') || u == '-' ||
+ u == '_' || u == ':' || u == '.') {
+ clean += c;
+ } else if (c.isSpace()) {
+ clean += "-";
+ } else if (u == '!') {
+ clean += "-not";
+ } else if (u == '&') {
+ clean += "-and";
+ } else if (u == '<') {
+ clean += "-lt";
+ } else if (u == '=') {
+ clean += "-eq";
+ } else if (u == '>') {
+ clean += "-gt";
+ } else if (u == '#') {
+ clean += "#";
+ } else {
+ clean += "-";
+ clean += QString::number((int)u, 16);
+ }
+ }
+ return clean;
+}
+
+QString DitaXmlGenerator::registerRef(const QString& ref)
+{
+ QString clean = DitaXmlGenerator::cleanRef(ref);
+
+ for (;;) {
+ QString& prevRef = refMap[clean.toLower()];
+ if (prevRef.isEmpty()) {
+ prevRef = ref;
+ break;
+ } else if (prevRef == ref) {
+ break;
+ }
+ clean += "x";
+ }
+ return clean;
+}
+
+QString DitaXmlGenerator::protectEnc(const QString &string)
+{
+ return protect(string, outputEncoding);
+}
+
+QString DitaXmlGenerator::protect(const QString &string, const QString &outputEncoding)
+{
+#define APPEND(x) \
+ if (xml.isEmpty()) { \
+ xml = string; \
+ xml.truncate(i); \
+ } \
+ xml += (x);
+
+ QString xml;
+ int n = string.length();
+
+ for (int i = 0; i < n; ++i) {
+ QChar ch = string.at(i);
+
+ if (ch == QLatin1Char('&')) {
+ APPEND("&amp;");
+ } else if (ch == QLatin1Char('<')) {
+ APPEND("&lt;");
+ } else if (ch == QLatin1Char('>')) {
+ APPEND("&gt;");
+ } else if (ch == QLatin1Char('"')) {
+ APPEND("&quot;");
+ } else if ((outputEncoding == "ISO-8859-1" && ch.unicode() > 0x007F)
+ || (ch == QLatin1Char('*') && i + 1 < n && string.at(i) == QLatin1Char('/'))
+ || (ch == QLatin1Char('.') && i > 2 && string.at(i - 2) == QLatin1Char('.'))) {
+ // we escape '*/' and the last dot in 'e.g.' and 'i.e.' for the Javadoc generator
+ APPEND("&#x");
+ xml += QString::number(ch.unicode(), 16);
+ xml += QLatin1Char(';');
+ } else {
+ if (!xml.isEmpty())
+ xml += ch;
+ }
+ }
+
+ if (!xml.isEmpty())
+ return xml;
+ return string;
+
+#undef APPEND
+}
+
+QString DitaXmlGenerator::fileBase(const Node *node)
+{
+ QString result;
+
+ result = PageGenerator::fileBase(node);
+
+ if (!node->isInnerNode()) {
+ switch (node->status()) {
+ case Node::Compat:
+ result += "-qt3";
+ break;
+ case Node::Obsolete:
+ result += "-obsolete";
+ break;
+ default:
+ ;
+ }
+ }
+ return result;
+}
+
+#if 0
+QString DitaXmlGenerator::fileBase(const Node *node,
+ const SectionIterator& section)
+{
+ QStringList::ConstIterator s = section.sectionNumber().end();
+ QStringList::ConstIterator b = section.baseNameStack().end();
+
+ QString suffix;
+ QString base = fileBase(node);
+
+ while (s != section.sectionNumber().begin()) {
+ --s;
+ --b;
+ if (!(*b).isEmpty()) {
+ base = *b;
+ break;
+ }
+ suffix.prepend("-" + *s);
+ }
+ return base + suffix;
+}
+#endif
+
+QString DitaXmlGenerator::fileName(const Node *node)
+{
+ if (node->type() == Node::Fake) {
+ if (static_cast<const FakeNode *>(node)->subType() == Node::ExternalPage)
+ return node->name();
+ if (static_cast<const FakeNode *>(node)->subType() == Node::Image)
+ return node->name();
+ }
+ return PageGenerator::fileName(node);
+}
+
+QString DitaXmlGenerator::refForNode(const Node *node)
+{
+ const FunctionNode *func;
+ const TypedefNode *typedeffe;
+ QString ref;
+
+ switch (node->type()) {
+ case Node::Namespace:
+ case Node::Class:
+ default:
+ break;
+ case Node::Enum:
+ ref = node->name() + "-enum";
+ break;
+ case Node::Typedef:
+ typedeffe = static_cast<const TypedefNode *>(node);
+ if (typedeffe->associatedEnum()) {
+ return refForNode(typedeffe->associatedEnum());
+ }
+ else {
+ ref = node->name() + "-typedef";
+ }
+ break;
+ case Node::Function:
+ func = static_cast<const FunctionNode *>(node);
+ if (func->associatedProperty()) {
+ return refForNode(func->associatedProperty());
+ }
+ else {
+ ref = func->name();
+ if (func->overloadNumber() != 1)
+ ref += "-" + QString::number(func->overloadNumber());
+ }
+ break;
+#ifdef QDOC_QML
+ case Node::Fake:
+ if (node->subType() != Node::QmlPropertyGroup)
+ break;
+ case Node::QmlProperty:
+#endif
+ case Node::Property:
+ ref = node->name() + "-prop";
+ break;
+#ifdef QDOC_QML
+ case Node::QmlSignal:
+ ref = node->name() + "-signal";
+ break;
+ case Node::QmlMethod:
+ ref = node->name() + "-method";
+ break;
+#endif
+ case Node::Variable:
+ ref = node->name() + "-var";
+ break;
+ case Node::Target:
+ return protectEnc(node->name());
+ }
+ return registerRef(ref);
+}
+
+QString DitaXmlGenerator::linkForNode(const Node *node, const Node *relative)
+{
+ QString link;
+ QString fn;
+ QString ref;
+
+ if (node == 0 || node == relative)
+ return QString();
+ if (!node->url().isEmpty())
+ return node->url();
+ if (fileBase(node).isEmpty())
+ return QString();
+ if (node->access() == Node::Private)
+ return QString();
+
+ fn = fileName(node);
+ link += fn;
+
+ if (!node->isInnerNode() || node->subType() == Node::QmlPropertyGroup) {
+ ref = refForNode(node);
+ if (relative && fn == fileName(relative) && ref == refForNode(relative))
+ return QString();
+
+ link += "#";
+ link += ref;
+ }
+ return link;
+}
+
+QString DitaXmlGenerator::refForAtom(Atom *atom, const Node * /* node */)
+{
+ if (atom->type() == Atom::SectionLeft) {
+ return Doc::canonicalTitle(Text::sectionHeading(atom).toString());
+ }
+ else if (atom->type() == Atom::Target) {
+ return Doc::canonicalTitle(atom->string());
+ }
+ else {
+ return QString();
+ }
+}
+
+void DitaXmlGenerator::generateFullName(const Node *apparentNode,
+ const Node *relative,
+ CodeMarker *marker,
+ const Node *actualNode)
+{
+ if (actualNode == 0)
+ actualNode = apparentNode;
+ out() << "<xref href=\"" << linkForNode(actualNode, relative);
+ if (true || relative == 0 || relative->status() != actualNode->status()) {
+ switch (actualNode->status()) {
+ case Node::Obsolete:
+ out() << "\" class=\"obsolete";
+ break;
+ case Node::Compat:
+ out() << "\" class=\"compat";
+ break;
+ default:
+ ;
+ }
+ }
+ out() << "\">";
+ out() << protectEnc(fullName(apparentNode, relative, marker));
+ out() << "</xref>";
+}
+
+void DitaXmlGenerator::generateDetailedMember(const Node *node,
+ const InnerNode *relative,
+ CodeMarker *marker)
+{
+ const EnumNode *enume;
+
+#ifdef GENERATE_MAC_REFS
+ generateMacRef(node, marker);
+#endif
+ if (node->type() == Node::Enum
+ && (enume = static_cast<const EnumNode *>(node))->flagsType()) {
+#ifdef GENERATE_MAC_REFS
+ generateMacRef(enume->flagsType(), marker);
+#endif
+ out() << "<h3 class=\"flags\">";
+ out() << "<a name=\"" + refForNode(node) + "\"></a>";
+ generateSynopsis(enume, relative, marker, CodeMarker::Detailed);
+ out() << "<br/>";
+ generateSynopsis(enume->flagsType(),
+ relative,
+ marker,
+ CodeMarker::Detailed);
+ out() << "</h3>\n";
+ }
+ else {
+ out() << "<h3 class=\"fn\">";
+ out() << "<a name=\"" + refForNode(node) + "\"></a>";
+ generateSynopsis(node, relative, marker, CodeMarker::Detailed);
+ out() << "</h3>\n";
+ }
+
+ generateStatus(node, marker);
+ generateBody(node, marker);
+ generateThreadSafeness(node, marker);
+ generateSince(node, marker);
+
+ if (node->type() == Node::Property) {
+ const PropertyNode *property = static_cast<const PropertyNode *>(node);
+ Section section;
+
+ section.members += property->getters();
+ section.members += property->setters();
+ section.members += property->resetters();
+
+ if (!section.members.isEmpty()) {
+ out() << "<p><b>Access functions:</b></p>\n";
+ generateSectionList(section, node, marker, CodeMarker::Accessors);
+ }
+
+ Section notifiers;
+ notifiers.members += property->notifiers();
+
+ if (!notifiers.members.isEmpty()) {
+ out() << "<p><b>Notifier signal:</b></p>\n";
+ //out() << "<p>This signal is emitted when the property value is changed.</p>\n";
+ generateSectionList(notifiers, node, marker, CodeMarker::Accessors);
+ }
+ }
+ else if (node->type() == Node::Enum) {
+ const EnumNode *enume = static_cast<const EnumNode *>(node);
+ if (enume->flagsType()) {
+ out() << "<p>The " << protectEnc(enume->flagsType()->name())
+ << " type is a typedef for "
+ << "<xref href=\"qflags.html\">QFlags</xref>&lt;"
+ << protectEnc(enume->name())
+ << "&gt;. It stores an OR combination of "
+ << protectEnc(enume->name())
+ << " values.</p>\n";
+ }
+ }
+ generateAlsoList(node, marker);
+}
+
+void DitaXmlGenerator::findAllClasses(const InnerNode *node)
+{
+ NodeList::const_iterator c = node->childNodes().constBegin();
+ while (c != node->childNodes().constEnd()) {
+ if ((*c)->access() != Node::Private && (*c)->url().isEmpty()) {
+ if ((*c)->type() == Node::Class && !(*c)->doc().isEmpty()) {
+ QString className = (*c)->name();
+ if ((*c)->parent() &&
+ (*c)->parent()->type() == Node::Namespace &&
+ !(*c)->parent()->name().isEmpty())
+ className = (*c)->parent()->name()+"::"+className;
+
+ if (!(static_cast<const ClassNode *>(*c))->hideFromMainList()) {
+ if ((*c)->status() == Node::Compat) {
+ compatClasses.insert(className, *c);
+ }
+ else if ((*c)->status() == Node::Obsolete) {
+ obsoleteClasses.insert(className, *c);
+ }
+ else {
+ nonCompatClasses.insert(className, *c);
+ if ((*c)->status() == Node::Main)
+ mainClasses.insert(className, *c);
+ }
+ }
+
+ QString moduleName = (*c)->moduleName();
+ if (moduleName == "Qt3SupportLight") {
+ moduleClassMap[moduleName].insert((*c)->name(), *c);
+ moduleName = "Qt3Support";
+ }
+ if (!moduleName.isEmpty())
+ moduleClassMap[moduleName].insert((*c)->name(), *c);
+
+ QString serviceName =
+ (static_cast<const ClassNode *>(*c))->serviceName();
+ if (!serviceName.isEmpty())
+ serviceClasses.insert(serviceName, *c);
+ }
+ else if ((*c)->isInnerNode()) {
+ findAllClasses(static_cast<InnerNode *>(*c));
+ }
+ }
+ ++c;
+ }
+}
+
+/*!
+ For generating the "New Classes... in 4.6" section on the
+ What's New in 4.6" page.
+ */
+void DitaXmlGenerator::findAllSince(const InnerNode *node)
+{
+ NodeList::const_iterator child = node->childNodes().constBegin();
+ while (child != node->childNodes().constEnd()) {
+ QString sinceVersion = (*child)->since();
+ if (((*child)->access() != Node::Private) && !sinceVersion.isEmpty()) {
+ NewSinceMaps::iterator nsmap = newSinceMaps.find(sinceVersion);
+ if (nsmap == newSinceMaps.end())
+ nsmap = newSinceMaps.insert(sinceVersion,NodeMultiMap());
+ NewClassMaps::iterator ncmap = newClassMaps.find(sinceVersion);
+ if (ncmap == newClassMaps.end())
+ ncmap = newClassMaps.insert(sinceVersion,NodeMap());
+ NewClassMaps::iterator nqcmap = newQmlClassMaps.find(sinceVersion);
+ if (nqcmap == newQmlClassMaps.end())
+ nqcmap = newQmlClassMaps.insert(sinceVersion,NodeMap());
+
+ if ((*child)->type() == Node::Function) {
+ FunctionNode *func = static_cast<FunctionNode *>(*child);
+ if ((func->status() > Node::Obsolete) &&
+ (func->metaness() != FunctionNode::Ctor) &&
+ (func->metaness() != FunctionNode::Dtor)) {
+ nsmap.value().insert(func->name(),(*child));
+ }
+ }
+ else if ((*child)->url().isEmpty()) {
+ if ((*child)->type() == Node::Class && !(*child)->doc().isEmpty()) {
+ QString className = (*child)->name();
+ if ((*child)->parent() &&
+ (*child)->parent()->type() == Node::Namespace &&
+ !(*child)->parent()->name().isEmpty())
+ className = (*child)->parent()->name()+"::"+className;
+ nsmap.value().insert(className,(*child));
+ ncmap.value().insert(className,(*child));
+ }
+ else if ((*child)->subType() == Node::QmlClass) {
+ QString className = (*child)->name();
+ if ((*child)->parent() &&
+ (*child)->parent()->type() == Node::Namespace &&
+ !(*child)->parent()->name().isEmpty())
+ className = (*child)->parent()->name()+"::"+className;
+ nsmap.value().insert(className,(*child));
+ nqcmap.value().insert(className,(*child));
+ }
+ }
+ else {
+ QString name = (*child)->name();
+ if ((*child)->parent() &&
+ (*child)->parent()->type() == Node::Namespace &&
+ !(*child)->parent()->name().isEmpty())
+ name = (*child)->parent()->name()+"::"+name;
+ nsmap.value().insert(name,(*child));
+ }
+ if ((*child)->isInnerNode()) {
+ findAllSince(static_cast<InnerNode *>(*child));
+ }
+ }
+ ++child;
+ }
+}
+
+#if 0
+ const QRegExp versionSeparator("[\\-\\.]");
+ const int minorIndex = version.indexOf(versionSeparator);
+ const int patchIndex = version.indexOf(versionSeparator, minorIndex+1);
+ version = version.left(patchIndex);
+#endif
+
+void DitaXmlGenerator::findAllFunctions(const InnerNode *node)
+{
+ NodeList::ConstIterator c = node->childNodes().begin();
+ while (c != node->childNodes().end()) {
+ if ((*c)->access() != Node::Private) {
+ if ((*c)->isInnerNode() && (*c)->url().isEmpty()) {
+ findAllFunctions(static_cast<const InnerNode *>(*c));
+ }
+ else if ((*c)->type() == Node::Function) {
+ const FunctionNode *func = static_cast<const FunctionNode *>(*c);
+ if ((func->status() > Node::Obsolete) &&
+ (func->metaness() != FunctionNode::Ctor) &&
+ (func->metaness() != FunctionNode::Dtor)) {
+ funcIndex[(*c)->name()].insert(myTree->fullDocumentName((*c)->parent()), *c);
+ }
+ }
+ }
+ ++c;
+ }
+}
+
+void DitaXmlGenerator::findAllLegaleseTexts(const InnerNode *node)
+{
+ NodeList::ConstIterator c = node->childNodes().begin();
+ while (c != node->childNodes().end()) {
+ if ((*c)->access() != Node::Private) {
+ if (!(*c)->doc().legaleseText().isEmpty())
+ legaleseTexts.insertMulti((*c)->doc().legaleseText(), *c);
+ if ((*c)->isInnerNode())
+ findAllLegaleseTexts(static_cast<const InnerNode *>(*c));
+ }
+ ++c;
+ }
+}
+
+void DitaXmlGenerator::findAllNamespaces(const InnerNode *node)
+{
+ NodeList::ConstIterator c = node->childNodes().begin();
+ while (c != node->childNodes().end()) {
+ if ((*c)->access() != Node::Private) {
+ if ((*c)->isInnerNode() && (*c)->url().isEmpty()) {
+ findAllNamespaces(static_cast<const InnerNode *>(*c));
+ if ((*c)->type() == Node::Namespace) {
+ const NamespaceNode *nspace = static_cast<const NamespaceNode *>(*c);
+ // Ensure that the namespace's name is not empty (the root
+ // namespace has no name).
+ if (!nspace->name().isEmpty()) {
+ namespaceIndex.insert(nspace->name(), *c);
+ QString moduleName = (*c)->moduleName();
+ if (moduleName == "Qt3SupportLight") {
+ moduleNamespaceMap[moduleName].insert((*c)->name(), *c);
+ moduleName = "Qt3Support";
+ }
+ if (!moduleName.isEmpty())
+ moduleNamespaceMap[moduleName].insert((*c)->name(), *c);
+ }
+ }
+ }
+ }
+ ++c;
+ }
+}
+
+int DitaXmlGenerator::hOffset(const Node *node)
+{
+ switch (node->type()) {
+ case Node::Namespace:
+ case Node::Class:
+ return 2;
+ case Node::Fake:
+ return 1;
+#if 0
+ if (node->doc().briefText().isEmpty())
+ return 1;
+ else
+ return 2;
+#endif
+ case Node::Enum:
+ case Node::Typedef:
+ case Node::Function:
+ case Node::Property:
+ default:
+ return 3;
+ }
+}
+
+bool DitaXmlGenerator::isThreeColumnEnumValueTable(const Atom *atom)
+{
+ while (atom != 0 && !(atom->type() == Atom::ListRight && atom->string() == ATOM_LIST_VALUE)) {
+ if (atom->type() == Atom::ListItemLeft && !matchAhead(atom, Atom::ListItemRight))
+ return true;
+ atom = atom->next();
+ }
+ return false;
+}
+
+const Node *DitaXmlGenerator::findNodeForTarget(const QString &target,
+ const Node *relative,
+ CodeMarker *marker,
+ const Atom *atom)
+{
+ const Node *node = 0;
+
+ if (target.isEmpty()) {
+ node = relative;
+ }
+ else if (target.endsWith(".html")) {
+ node = myTree->root()->findNode(target, Node::Fake);
+ }
+ else if (marker) {
+ node = marker->resolveTarget(target, myTree, relative);
+ if (!node)
+ node = myTree->findFakeNodeByTitle(target);
+ if (!node && atom) {
+ node = myTree->findUnambiguousTarget(target,
+ *const_cast<Atom**>(&atom));
+ }
+ }
+
+ if (!node)
+ relative->doc().location().warning(tr("Cannot link to '%1'").arg(target));
+
+ return node;
+}
+
+const QPair<QString,QString> DitaXmlGenerator::anchorForNode(const Node *node)
+{
+ QPair<QString,QString> anchorPair;
+
+ anchorPair.first = PageGenerator::fileName(node);
+ if (node->type() == Node::Fake) {
+ const FakeNode *fakeNode = static_cast<const FakeNode*>(node);
+ anchorPair.second = fakeNode->title();
+ }
+
+ return anchorPair;
+}
+
+QString DitaXmlGenerator::getLink(const Atom *atom,
+ const Node *relative,
+ CodeMarker *marker,
+ const Node** node)
+{
+ QString link;
+ *node = 0;
+ inObsoleteLink = false;
+
+ if (atom->string().contains(":") &&
+ (atom->string().startsWith("file:")
+ || atom->string().startsWith("http:")
+ || atom->string().startsWith("https:")
+ || atom->string().startsWith("ftp:")
+ || atom->string().startsWith("mailto:"))) {
+
+ link = atom->string();
+ }
+ else {
+ QStringList path;
+ if (atom->string().contains('#')) {
+ path = atom->string().split('#');
+ }
+ else {
+ path.append(atom->string());
+ }
+
+ Atom *targetAtom = 0;
+
+ QString first = path.first().trimmed();
+ if (first.isEmpty()) {
+ *node = relative;
+ }
+ else if (first.endsWith(".html")) {
+ *node = myTree->root()->findNode(first, Node::Fake);
+ }
+ else {
+ *node = marker->resolveTarget(first, myTree, relative);
+ if (!*node) {
+ *node = myTree->findFakeNodeByTitle(first);
+ }
+ if (!*node) {
+ *node = myTree->findUnambiguousTarget(first, targetAtom);
+ }
+ }
+
+ if (*node) {
+ if (!(*node)->url().isEmpty())
+ return (*node)->url();
+ else
+ path.removeFirst();
+ }
+ else {
+ *node = relative;
+ }
+
+ if (*node) {
+ if ((*node)->status() == Node::Obsolete) {
+ if (relative) {
+ if (relative->parent() != *node) {
+ if (relative->status() != Node::Obsolete) {
+ bool porting = false;
+ if (relative->type() == Node::Fake) {
+ const FakeNode* fake = static_cast<const FakeNode*>(relative);
+ if (fake->title().startsWith("Porting"))
+ porting = true;
+ }
+ QString name = marker->plainFullName(relative);
+ if (!porting && !name.startsWith("Q3")) {
+ if (obsoleteLinks) {
+ relative->doc().location().warning(tr("Link to obsolete item '%1' in %2")
+ .arg(atom->string())
+ .arg(name));
+ }
+ inObsoleteLink = true;
+ }
+ }
+ }
+ }
+ else {
+ qDebug() << "Link to Obsolete entity"
+ << (*node)->name() << "no relative";
+ }
+ }
+#if 0
+ else if ((*node)->status() == Node::Deprecated) {
+ qDebug() << "Link to Deprecated entity";
+ }
+ else if ((*node)->status() == Node::Internal) {
+ qDebug() << "Link to Internal entity";
+ }
+#endif
+ }
+
+ while (!path.isEmpty()) {
+ targetAtom = myTree->findTarget(path.first(), *node);
+ if (targetAtom == 0)
+ break;
+ path.removeFirst();
+ }
+
+ if (path.isEmpty()) {
+ link = linkForNode(*node, relative);
+ if (*node && (*node)->subType() == Node::Image)
+ link = "images/used-in-examples/" + link;
+ if (targetAtom)
+ link += "#" + refForAtom(targetAtom, *node);
+ }
+ }
+ return link;
+}
+
+void DitaXmlGenerator::generateIndex(const QString &fileBase,
+ const QString &url,
+ const QString &title)
+{
+ myTree->generateIndex(outputDir() + "/" + fileBase + ".index", url, title);
+}
+
+void DitaXmlGenerator::generateStatus(const Node *node, CodeMarker *marker)
+{
+ Text text;
+
+ switch (node->status()) {
+ case Node::Obsolete:
+ if (node->isInnerNode())
+ Generator::generateStatus(node, marker);
+ break;
+ case Node::Compat:
+ if (node->isInnerNode()) {
+ text << Atom::ParaLeft
+ << Atom(Atom::FormattingLeft,ATOM_FORMATTING_BOLD)
+ << "This "
+ << typeString(node)
+ << " is part of the Qt 3 support library."
+ << Atom(Atom::FormattingRight, ATOM_FORMATTING_BOLD)
+ << " It is provided to keep old source code working. "
+ << "We strongly advise against "
+ << "using it in new code. See ";
+
+ const FakeNode *fakeNode = myTree->findFakeNodeByTitle("Porting To Qt 4");
+ Atom *targetAtom = 0;
+ if (fakeNode && node->type() == Node::Class) {
+ QString oldName(node->name());
+ targetAtom = myTree->findTarget(oldName.replace("3", ""),
+ fakeNode);
+ }
+
+ if (targetAtom) {
+ text << Atom(Atom::Link, linkForNode(fakeNode, node) + "#" +
+ refForAtom(targetAtom, fakeNode));
+ }
+ else
+ text << Atom(Atom::Link, "Porting to Qt 4");
+
+ text << Atom(Atom::FormattingLeft, ATOM_FORMATTING_LINK)
+ << Atom(Atom::String, "Porting to Qt 4")
+ << Atom(Atom::FormattingRight, ATOM_FORMATTING_LINK)
+ << " for more information."
+ << Atom::ParaRight;
+ }
+ generateText(text, node, marker);
+ break;
+ default:
+ Generator::generateStatus(node, marker);
+ }
+}
+
+#ifdef GENERATE_MAC_REFS
+/*
+ No longer valid.
+ */
+void DitaXmlGenerator::generateMacRef(const Node *node, CodeMarker *marker)
+{
+ if (!pleaseGenerateMacRef || marker == 0)
+ return;
+
+ QStringList macRefs = marker->macRefsForNode(node);
+ foreach (const QString &macRef, macRefs)
+ out() << "<a name=\"" << "//apple_ref/" << macRef << "\"></a>\n";
+}
+#endif
+
+void DitaXmlGenerator::beginLink(const QString &link,
+ const Node *node,
+ const Node *relative,
+ CodeMarker *marker)
+{
+ Q_UNUSED(marker)
+ Q_UNUSED(relative)
+
+ this->link = link;
+ if (link.isEmpty()) {
+ if (showBrokenLinks)
+ writer.writeStartElement("i");
+ }
+ else if (node == 0 || (relative != 0 &&
+ node->status() == relative->status())) {
+ writer.writeStartElement("xref");
+ writer.writeAttribute("href",link);
+ }
+ else {
+ switch (node->status()) {
+ case Node::Obsolete:
+ writer.writeStartElement("xref");
+ writer.writeAttribute("href",link);
+ writer.writeAttribute("outputclass","obsolete");
+ break;
+ case Node::Compat:
+ writer.writeStartElement("xref");
+ writer.writeAttribute("href",link);
+ writer.writeAttribute("outputclass","compat");
+ break;
+ default:
+ writer.writeStartElement("xref");
+ writer.writeAttribute("href",link);
+ }
+ }
+ inLink = true;
+}
+
+void DitaXmlGenerator::endLink()
+{
+ if (inLink) {
+ if (link.isEmpty()) {
+ if (showBrokenLinks)
+ writer.writeEndElement(); // i
+ }
+ else {
+ if (inObsoleteLink) {
+ writer.writeStartElement("sup");
+ writer.writeCharacters("(obsolete)");
+ writer.writeEndElement(); // sup
+ }
+ writer.writeEndElement(); // xref
+ }
+ }
+ inLink = false;
+ inObsoleteLink = false;
+}
+
+#ifdef QDOC_QML
+
+/*!
+ Generates the summary for the \a section. Only used for
+ sections of QML element documentation.
+
+ Currently handles only the QML property group.
+ */
+void DitaXmlGenerator::generateQmlSummary(const Section& section,
+ const Node *relative,
+ CodeMarker *marker)
+{
+ if (!section.members.isEmpty()) {
+ NodeList::ConstIterator m;
+ int count = section.members.size();
+ bool twoColumn = false;
+ if (section.members.first()->type() == Node::QmlProperty) {
+ twoColumn = (count >= 5);
+ }
+ if (twoColumn)
+ out() << "<table class=\"qmlsummary\">\n";
+ if (++numTableRows % 2 == 1)
+ out() << "<tr class=\"odd topAlign\">";
+ else
+ out() << "<tr class=\"even topAlign\">";
+ // << "<tr><td class=\"topAlign\">";
+ out() << "<ul>\n";
+
+ int row = 0;
+ m = section.members.begin();
+ while (m != section.members.end()) {
+ if (twoColumn && row == (int) (count + 1) / 2)
+ out() << "</ul></td><td class=\"topAlign\"><ul>\n";
+ out() << "<li class=\"fn\">";
+ generateQmlItem(*m,relative,marker,true);
+ out() << "</li>\n";
+ row++;
+ ++m;
+ }
+ out() << "</ul>\n";
+ if (twoColumn)
+ out() << "</td></tr>\n</table>\n";
+ }
+}
+
+/*!
+ Outputs the html detailed documentation for a section
+ on a QML element reference page.
+ */
+void DitaXmlGenerator::generateDetailedQmlMember(const Node *node,
+ const InnerNode *relative,
+ CodeMarker *marker)
+{
+ const QmlPropertyNode* qpn = 0;
+#ifdef GENERATE_MAC_REFS
+ generateMacRef(node, marker);
+#endif
+ out() << "<div class=\"qmlitem\">";
+ if (node->subType() == Node::QmlPropertyGroup) {
+ const QmlPropGroupNode* qpgn = static_cast<const QmlPropGroupNode*>(node);
+ NodeList::ConstIterator p = qpgn->childNodes().begin();
+ out() << "<div class=\"qmlproto\">";
+ out() << "<table class=\"qmlname\">";
+
+ while (p != qpgn->childNodes().end()) {
+ if ((*p)->type() == Node::QmlProperty) {
+ qpn = static_cast<const QmlPropertyNode*>(*p);
+
+ if (++numTableRows % 2 == 1)
+ out() << "<tr class=\"odd\">";
+ else
+ out() << "<tr class=\"even\">";
+
+ out() << "<td><p>";
+ //out() << "<tr><td>"; // old
+ out() << "<a name=\"" + refForNode(qpn) + "\"></a>";
+ if (!qpn->isWritable())
+ out() << "<span class=\"qmlreadonly\">read-only</span>";
+ if (qpgn->isDefault())
+ out() << "<span class=\"qmldefault\">default</span>";
+ generateQmlItem(qpn, relative, marker, false);
+ out() << "</td></tr>";
+ }
+ ++p;
+ }
+ out() << "</table>";
+ out() << "</div>";
+ }
+ else if (node->type() == Node::QmlSignal) {
+ const FunctionNode* qsn = static_cast<const FunctionNode*>(node);
+ out() << "<div class=\"qmlproto\">";
+ out() << "<table class=\"qmlname\">";
+ //out() << "<tr>";
+ if (++numTableRows % 2 == 1)
+ out() << "<tr class=\"odd\">";
+ else
+ out() << "<tr class=\"even\">";
+ out() << "<td><p>";
+ out() << "<a name=\"" + refForNode(qsn) + "\"></a>";
+ generateSynopsis(qsn,relative,marker,CodeMarker::Detailed,false);
+ //generateQmlItem(qsn,relative,marker,false);
+ out() << "</p></td></tr>";
+ out() << "</table>";
+ out() << "</div>";
+ }
+ else if (node->type() == Node::QmlMethod) {
+ const FunctionNode* qmn = static_cast<const FunctionNode*>(node);
+ out() << "<div class=\"qmlproto\">";
+ out() << "<table class=\"qmlname\">";
+ //out() << "<tr>";
+ if (++numTableRows % 2 == 1)
+ out() << "<tr class=\"odd\">";
+ else
+ out() << "<tr class=\"even\">";
+ out() << "<td><p>";
+ out() << "<a name=\"" + refForNode(qmn) + "\"></a>";
+ generateSynopsis(qmn,relative,marker,CodeMarker::Detailed,false);
+ out() << "</p></td></tr>";
+ out() << "</table>";
+ out() << "</div>";
+ }
+ out() << "<div class=\"qmldoc\">";
+ generateStatus(node, marker);
+ generateBody(node, marker);
+ generateThreadSafeness(node, marker);
+ generateSince(node, marker);
+ generateAlsoList(node, marker);
+ out() << "</div>";
+ out() << "</div>";
+}
+
+/*!
+ Output the "Inherits" line for the QML element,
+ if there should be one.
+ */
+void DitaXmlGenerator::generateQmlInherits(const QmlClassNode* cn,
+ CodeMarker* marker)
+{
+ if (cn && !cn->links().empty()) {
+ if (cn->links().contains(Node::InheritsLink)) {
+ QPair<QString,QString> linkPair;
+ linkPair = cn->links()[Node::InheritsLink];
+ QStringList strList(linkPair.first);
+ const Node* n = myTree->findNode(strList,Node::Fake);
+ if (n && n->subType() == Node::QmlClass) {
+ const QmlClassNode* qcn = static_cast<const QmlClassNode*>(n);
+ out() << "<p class=\"centerAlign\">";
+ Text text;
+ text << "[Inherits ";
+ text << Atom(Atom::LinkNode,CodeMarker::stringForNode(qcn));
+ text << Atom(Atom::FormattingLeft, ATOM_FORMATTING_LINK);
+ text << Atom(Atom::String, linkPair.second);
+ text << Atom(Atom::FormattingRight, ATOM_FORMATTING_LINK);
+ text << "]";
+ generateText(text, cn, marker);
+ out() << "</p>";
+ }
+ }
+ }
+}
+
+/*!
+ Output the "Inherit by" list for the QML element,
+ if it is inherited by any other elements.
+ */
+void DitaXmlGenerator::generateQmlInheritedBy(const QmlClassNode* cn,
+ CodeMarker* marker)
+{
+ if (cn) {
+ NodeList subs;
+ QmlClassNode::subclasses(cn->name(),subs);
+ if (!subs.isEmpty()) {
+ Text text;
+ text << Atom::ParaLeft << "Inherited by ";
+ appendSortedQmlNames(text,cn,subs,marker);
+ text << Atom::ParaRight;
+ generateText(text, cn, marker);
+ }
+ }
+}
+
+/*!
+ Output the "[Xxx instantiates the C++ class QmlGraphicsXxx]"
+ line for the QML element, if there should be one.
+
+ If there is no class node, or if the class node status
+ is set to Node::Internal, do nothing.
+ */
+void DitaXmlGenerator::generateQmlInstantiates(const QmlClassNode* qcn,
+ CodeMarker* marker)
+{
+ const ClassNode* cn = qcn->classNode();
+ if (cn && (cn->status() != Node::Internal)) {
+ out() << "<p class=\"centerAlign\">";
+ Text text;
+ text << "[";
+ text << Atom(Atom::LinkNode,CodeMarker::stringForNode(qcn));
+ text << Atom(Atom::FormattingLeft, ATOM_FORMATTING_LINK);
+ text << Atom(Atom::String, qcn->name());
+ text << Atom(Atom::FormattingRight, ATOM_FORMATTING_LINK);
+ text << " instantiates the C++ class ";
+ text << Atom(Atom::LinkNode,CodeMarker::stringForNode(cn));
+ text << Atom(Atom::FormattingLeft, ATOM_FORMATTING_LINK);
+ text << Atom(Atom::String, cn->name());
+ text << Atom(Atom::FormattingRight, ATOM_FORMATTING_LINK);
+ text << "]";
+ generateText(text, qcn, marker);
+ out() << "</p>";
+ }
+}
+
+/*!
+ Output the "[QmlGraphicsXxx is instantiated by QML element Xxx]"
+ line for the class, if there should be one.
+
+ If there is no QML element, or if the class node status
+ is set to Node::Internal, do nothing.
+ */
+void DitaXmlGenerator::generateInstantiatedBy(const ClassNode* cn,
+ CodeMarker* marker)
+{
+ if (cn && cn->status() != Node::Internal && !cn->qmlElement().isEmpty()) {
+ const Node* n = myTree->root()->findNode(cn->qmlElement(),Node::Fake);
+ if (n && n->subType() == Node::QmlClass) {
+ out() << "<p class=\"centerAlign\">";
+ Text text;
+ text << "[";
+ text << Atom(Atom::LinkNode,CodeMarker::stringForNode(cn));
+ text << Atom(Atom::FormattingLeft, ATOM_FORMATTING_LINK);
+ text << Atom(Atom::String, cn->name());
+ text << Atom(Atom::FormattingRight, ATOM_FORMATTING_LINK);
+ text << " is instantiated by QML element ";
+ text << Atom(Atom::LinkNode,CodeMarker::stringForNode(n));
+ text << Atom(Atom::FormattingLeft, ATOM_FORMATTING_LINK);
+ text << Atom(Atom::String, n->name());
+ text << Atom(Atom::FormattingRight, ATOM_FORMATTING_LINK);
+ text << "]";
+ generateText(text, cn, marker);
+ out() << "</p>";
+ }
+ }
+}
+
+/*!
+ Generate the <page> element for the given \a node using the \a writer.
+ Return true if a <page> element was written; otherwise return false.
+ */
+bool DitaXmlGenerator::generatePageElement(QXmlStreamWriter& writer,
+ const Node* node,
+ CodeMarker* marker) const
+{
+ if (node->pageType() == Node::NoPageType)
+ return false;
+ if (node->name().isEmpty())
+ return true;
+ if (node->access() == Node::Private)
+ return false;
+ if (!node->isInnerNode())
+ return false;
+
+ QString title;
+ QString rawTitle;
+ QString fullTitle;
+ const InnerNode* inner = static_cast<const InnerNode*>(node);
+
+ writer.writeStartElement("page");
+ QXmlStreamAttributes attributes;
+ QString t;
+ t.setNum(id++);
+ switch (node->type()) {
+ case Node::Fake:
+ {
+ const FakeNode* fake = static_cast<const FakeNode*>(node);
+ title = fake->fullTitle();
+ break;
+ }
+ case Node::Class:
+ {
+ title = node->name() + " Class Reference";
+ break;
+ }
+ case Node::Namespace:
+ {
+ rawTitle = marker->plainName(inner);
+ fullTitle = marker->plainFullName(inner);
+ title = rawTitle + " Namespace Reference";
+ break;
+ }
+ default:
+ title = node->name();
+ break;
+ }
+ writer.writeAttribute("id",t);
+ writer.writeStartElement("pageWords");
+ writer.writeCharacters(title);
+ if (!inner->pageKeywords().isEmpty()) {
+ const QStringList& w = inner->pageKeywords();
+ for (int i = 0; i < w.size(); ++i) {
+ writer.writeCharacters(" ");
+ writer.writeCharacters(w.at(i).toLocal8Bit().constData());
+ }
+ }
+ writer.writeEndElement();
+ writer.writeStartElement("pageTitle");
+ writer.writeCharacters(title);
+ writer.writeEndElement();
+ writer.writeStartElement("pageUrl");
+ writer.writeCharacters(PageGenerator::fileName(node));
+ writer.writeEndElement();
+ writer.writeStartElement("pageType");
+ switch (node->pageType()) {
+ case Node::ApiPage:
+ writer.writeCharacters("APIPage");
+ break;
+ case Node::ArticlePage:
+ writer.writeCharacters("Article");
+ break;
+ case Node::ExamplePage:
+ writer.writeCharacters("Example");
+ break;
+ default:
+ break;
+ }
+ writer.writeEndElement();
+ writer.writeEndElement();
+ return true;
+}
+
+/*!
+ Traverse the tree recursively and generate the <keyword>
+ elements.
+ */
+void DitaXmlGenerator::generatePageElements(QXmlStreamWriter& writer, const Node* node, CodeMarker* marker) const
+{
+ if (generatePageElement(writer, node, marker)) {
+
+ if (node->isInnerNode()) {
+ const InnerNode *inner = static_cast<const InnerNode *>(node);
+
+ // Recurse to write an element for this child node and all its children.
+ foreach (const Node *child, inner->childNodes())
+ generatePageElements(writer, child, marker);
+ }
+ }
+}
+
+/*!
+ Outputs the file containing the index used for searching the html docs.
+ */
+void DitaXmlGenerator::generatePageIndex(const QString& fileName, CodeMarker* marker) const
+{
+ QFile file(fileName);
+ if (!file.open(QFile::WriteOnly | QFile::Text))
+ return ;
+
+ QXmlStreamWriter writer(&file);
+ writer.setAutoFormatting(true);
+ writer.writeStartDocument();
+ writer.writeStartElement("qtPageIndex");
+
+ generatePageElements(writer, myTree->root(), marker);
+
+ writer.writeEndElement(); // qtPageIndex
+ writer.writeEndDocument();
+ file.close();
+}
+
+#endif
+
+/*!
+ Return the full qualification of the node \a n, but without
+ the name of \a n itself. e.g. A::B::C
+ */
+QString DitaXmlGenerator::fullQualification(const Node* n)
+{
+ QString fq;
+ InnerNode* in = n->parent();
+ while (in) {
+ if ((in->type() == Node::Class) ||
+ (in->type() == Node::Namespace)) {
+ if (in->name().isEmpty())
+ break;
+ if (fq.isEmpty())
+ fq = in->name();
+ else
+ fq = in->name() + "::" + fq;
+ }
+ else
+ break;
+ in = in->parent();
+ }
+ return fq;
+}
+
+void DitaXmlGenerator::writeDerivations(const ClassNode* cn, CodeMarker* marker)
+{
+ QList<RelatedClass>::ConstIterator r;
+ int index;
+
+ if (!cn->baseClasses().isEmpty()) {
+ writer.writeStartElement(CXXCLASSDERIVATIONS);
+ r = cn->baseClasses().begin();
+ index = 0;
+ while (r != cn->baseClasses().end()) {
+ writer.writeStartElement(CXXCLASSDERIVATION);
+ writer.writeStartElement(CXXCLASSDERIVATIONACCESSSPECIFIER);
+ writer.writeAttribute("value",(*r).accessString());
+ writer.writeEndElement(); // </cxxClassDerivationAccessSpecifier>
+ writer.writeStartElement(CXXCLASSBASECLASS);
+ QString fullTitle = marker->plainFullName((*r).node);
+ QString guid = lookupGuid(fullTitle);
+ writer.writeAttribute("href",guid);
+ writer.writeCharacters(fullTitle);
+ writer.writeEndElement(); // </cxxClassBaseClass>
+ writer.writeEndElement(); // </cxxClassDerivation>
+ ++r;
+ }
+ writer.writeEndElement(); // </cxxClassDerivations>
+ }
+}
+
+void DitaXmlGenerator::writeLocation(const Node* n, CodeMarker* marker)
+{
+ QString s1, s2, s3;
+ if (n->type() == Node::Class) {
+ s1 = CXXCLASSAPIITEMLOCATION;
+ s2 = CXXCLASSDECLARATIONFILE;
+ s3 = CXXCLASSDECLARATIONFILELINE;
+ }
+ else if (n->type() == Node::Function) {
+ s1 = CXXFUNCTIONAPIITEMLOCATION;
+ s2 = CXXFUNCTIONDECLARATIONFILE;
+ s3 = CXXFUNCTIONDECLARATIONFILELINE;
+ }
+ writer.writeStartElement(s1);
+ writer.writeStartElement(s2);
+ writer.writeAttribute("name","filePath");
+ writer.writeAttribute("value",n->location().filePath());
+ writer.writeEndElement(); // </cxx<s2>DeclarationFile>
+ writer.writeStartElement(s3);
+ writer.writeAttribute("name","lineNumber");
+ QString lineNr;
+ writer.writeAttribute("value",lineNr.setNum(n->location().lineNo()));
+ writer.writeEndElement(); // </cxx<s3>DeclarationFileLine>
+ writer.writeEndElement(); // </cxx<s1>ApiItemLocation>
+}
+
+void DitaXmlGenerator::writeFunctions(const Section& s,
+ const ClassNode* cn,
+ CodeMarker* marker)
+{
+ NodeList::ConstIterator m = s.members.begin();
+ while (m != s.members.end()) {
+ if ((*m)->type() == Node::Function) {
+ const FunctionNode* fn = reinterpret_cast<const FunctionNode*>(*m);
+ QString name = fn->name();
+ writer.writeStartElement(CXXFUNCTION);
+ writeGuidAttribute(name);
+ writer.writeStartElement(APINAME);
+ writer.writeCharacters(name);
+ writer.writeEndElement(); // </apiName>
+ generateBrief(fn,marker);
+ writer.writeStartElement(CXXFUNCTIONDETAIL);
+ writer.writeStartElement(CXXFUNCTIONDEFINITION);
+ writer.writeStartElement(CXXFUNCTIONACCESSSPECIFIER);
+ writer.writeAttribute("value",fn->accessString());
+ writer.writeEndElement(); // <cxxFunctionAccessSpecifier>
+
+ if (fn->isStatic()) {
+ writer.writeStartElement(CXXFUNCTIONSTORAGECLASSSPECIFIERSTATIC);
+ writer.writeAttribute("name","static");
+ writer.writeAttribute("value","static");
+ writer.writeEndElement(); // <cxxFunctionStorageClassSpecifierStatic>
+ }
+
+ if (fn->isConst()) {
+ writer.writeStartElement(CXXFUNCTIONCONST);
+ writer.writeAttribute("name","const");
+ writer.writeAttribute("value","const");
+ writer.writeEndElement(); // <cxxFunctionConst>
+ }
+
+ if (fn->virtualness() != FunctionNode::NonVirtual) {
+ writer.writeStartElement(CXXFUNCTIONVIRTUAL);
+ writer.writeAttribute("name","virtual");
+ writer.writeAttribute("value","virtual");
+ writer.writeEndElement(); // <cxxFunctionVirtual>
+ if (fn->virtualness() == FunctionNode::PureVirtual) {
+ writer.writeStartElement(CXXFUNCTIONPUREVIRTUAL);
+ writer.writeAttribute("name","pure virtual");
+ writer.writeAttribute("value","pure virtual");
+ writer.writeEndElement(); // <cxxFunctionPureVirtual>
+ }
+ }
+
+ if (fn->name() == cn->name()) {
+ writer.writeStartElement(CXXFUNCTIONCONSTRUCTOR);
+ writer.writeAttribute("name","constructor");
+ writer.writeAttribute("value","constructor");
+ writer.writeEndElement(); // <cxxFunctionConstructor>
+ }
+ else if (fn->name()[0] == QChar('~')) {
+ writer.writeStartElement(CXXFUNCTIONDESTRUCTOR);
+ writer.writeAttribute("name","destructor");
+ writer.writeAttribute("value","destructor");
+ writer.writeEndElement(); // <cxxFunctionDestructor>
+ }
+ else {
+ writer.writeStartElement(CXXFUNCTIONDECLAREDTYPE);
+ writer.writeCharacters(fn->returnType());
+ writer.writeEndElement(); // <cxxFunctionDeclaredType>
+ }
+ QString fq = fullQualification(fn);
+ if (!fq.isEmpty()) {
+ writer.writeStartElement(CXXFUNCTIONSCOPEDNAME);
+ writer.writeCharacters(fq);
+ writer.writeEndElement(); // <cxxFunctionScopedName>
+ }
+ writer.writeStartElement(CXXFUNCTIONPROTOTYPE);
+ writer.writeCharacters(fn->signature(true));
+ writer.writeEndElement(); // <cxxFunctionPrototype>
+
+ QString fnl = fn->signature(false);
+ int idx = fnl.indexOf(' ');
+ if (idx < 0)
+ idx = 0;
+ else
+ ++idx;
+ fnl = fn->parent()->name() + "::" + fnl.mid(idx);
+ writer.writeStartElement(CXXFUNCTIONNAMELOOKUP);
+ writer.writeCharacters(fnl);
+ writer.writeEndElement(); // <cxxFunctionNameLookup>
+
+ writeLocation(fn, marker);
+ writer.writeEndElement(); // <cxxFunctionDefinition>
+ writer.writeStartElement(APIDESC);
+
+ if (!fn->doc().isEmpty()) {
+ generateBody(fn, marker);
+ // generateAlsoList(inner, marker);
+ }
+
+ writer.writeEndElement(); // </apiDesc>
+ writer.writeEndElement(); // </cxxFunctionDetail>
+ writer.writeEndElement(); // </cxxFunction>
+
+ if (fn->metaness() == FunctionNode::Ctor ||
+ fn->metaness() == FunctionNode::Dtor ||
+ fn->overloadNumber() != 1) {
+ }
+ }
+ ++m;
+ }
+}
+
+void DitaXmlGenerator::writeNestedClasses(const Section& s,
+ const ClassNode* cn,
+ CodeMarker* marker)
+{
+}
+
+void DitaXmlGenerator::writeEnumerations(const Section& s,
+ const ClassNode* cn,
+ CodeMarker* marker)
+{
+}
+
+void DitaXmlGenerator::writeTypedefs(const Section& s,
+ const ClassNode* cn,
+ CodeMarker* marker)
+{
+}
+
+void DitaXmlGenerator::writeDataMembers(const Section& s,
+ const ClassNode* cn,
+ CodeMarker* marker)
+{
+}
+
+void DitaXmlGenerator::writeProperties(const Section& s,
+ const ClassNode* cn,
+ CodeMarker* marker)
+{
+}
+
+QT_END_NAMESPACE
diff --git a/tools/qdoc3/ditaxmlgenerator.h b/tools/qdoc3/ditaxmlgenerator.h
new file mode 100644
index 0000000000..71304b396d
--- /dev/null
+++ b/tools/qdoc3/ditaxmlgenerator.h
@@ -0,0 +1,336 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the tools applications of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+/*
+ ditaxmlgenerator.h
+*/
+
+#ifndef DITAXMLGENERATOR_H
+#define DITAXMLGENERATOR_H
+
+#include <qmap.h>
+#include <qregexp.h>
+#include <QXmlStreamWriter>
+#include "codemarker.h"
+#include "config.h"
+#include "pagegenerator.h"
+
+QT_BEGIN_NAMESPACE
+
+typedef QMultiMap<QString, Node*> NodeMultiMap;
+typedef QMap<QString, NodeMultiMap> NewSinceMaps;
+typedef QMap<Node*, NodeMultiMap> ParentMaps;
+typedef QMap<QString, const Node*> NodeMap;
+typedef QMap<QString, NodeMap> NewClassMaps;
+
+class HelpProjectWriter;
+
+class DitaXmlGenerator : public PageGenerator
+{
+ public:
+ enum SinceType {
+ Namespace,
+ Class,
+ MemberFunction,
+ NamespaceFunction,
+ GlobalFunction,
+ Macro,
+ Enum,
+ Typedef,
+ Property,
+ Variable,
+ QmlClass,
+ QmlProperty,
+ QmlSignal,
+ QmlMethod,
+ LastSinceType
+ };
+
+ public:
+ DitaXmlGenerator();
+ ~DitaXmlGenerator();
+
+ virtual void initializeGenerator(const Config& config);
+ virtual void terminateGenerator();
+ virtual QString format();
+ virtual void generateTree(const Tree *tree, CodeMarker *marker);
+
+ QString protectEnc(const QString &string);
+ static QString protect(const QString &string, const QString &encoding = "ISO-8859-1");
+ static QString cleanRef(const QString& ref);
+ static QString sinceTitle(int i) { return sinceTitles[i]; }
+
+ protected:
+ virtual void startText(const Node *relative, CodeMarker *marker);
+ virtual int generateAtom(const Atom *atom,
+ const Node *relative,
+ CodeMarker *marker);
+ virtual void generateClassLikeNode(const InnerNode *inner, CodeMarker *marker);
+ virtual void generateFakeNode(const FakeNode *fake, CodeMarker *marker);
+ virtual QString fileExtension(const Node *node) const;
+ virtual QString refForNode(const Node *node);
+ virtual QString linkForNode(const Node *node, const Node *relative);
+ virtual QString refForAtom(Atom *atom, const Node *node);
+
+ QString fullQualification(const Node* n);
+
+ void writeDerivations(const ClassNode* cn, CodeMarker* marker);
+ void writeLocation(const Node* n, CodeMarker* marker);
+ void writeFunctions(const Section& s,
+ const ClassNode* cn,
+ CodeMarker* marker);
+ void writeNestedClasses(const Section& s,
+ const ClassNode* cn,
+ CodeMarker* marker);
+ void writeEnumerations(const Section& s,
+ const ClassNode* cn,
+ CodeMarker* marker);
+ void writeTypedefs(const Section& s,
+ const ClassNode* cn,
+ CodeMarker* marker);
+ void writeDataMembers(const Section& s,
+ const ClassNode* cn,
+ CodeMarker* marker);
+ void writeProperties(const Section& s,
+ const ClassNode* cn,
+ CodeMarker* marker);
+
+ private:
+ enum SubTitleSize { SmallSubTitle, LargeSubTitle };
+
+ const QPair<QString,QString> anchorForNode(const Node *node);
+ const Node *findNodeForTarget(const QString &target,
+ const Node *relative,
+ CodeMarker *marker,
+ const Atom *atom = 0);
+ void generateBreadCrumbs(const QString& title,
+ const Node *node,
+ CodeMarker *marker);
+ void generateHeader(const Node* node);
+ void generateTitle(const QString& title,
+ const Text &subTitle,
+ SubTitleSize subTitleSize,
+ const Node *relative,
+ CodeMarker *marker);
+ void generateBrief(const Node* node, CodeMarker* marker);
+ void generateIncludes(const InnerNode *inner, CodeMarker *marker);
+ void generateTableOfContents(const Node *node,
+ CodeMarker *marker,
+ Doc::SectioningUnit sectioningUnit,
+ int numColumns,
+ const Node *relative = 0);
+ void generateTableOfContents(const Node *node,
+ CodeMarker *marker,
+ QList<Section>* sections = 0);
+ QString generateListOfAllMemberFile(const InnerNode *inner, CodeMarker *marker);
+ QString generateLowStatusMemberFile(const InnerNode *inner,
+ CodeMarker *marker,
+ CodeMarker::Status status);
+ void generateClassHierarchy(const Node *relative,
+ CodeMarker *marker,
+ const NodeMap &classMap);
+ void generateAnnotatedList(const Node *relative,
+ CodeMarker *marker,
+ const NodeMap &nodeMap);
+ void generateCompactList(const Node *relative,
+ CodeMarker *marker,
+ const NodeMap &classMap,
+ bool includeAlphabet,
+ QString commonPrefix = QString());
+ void generateFunctionIndex(const Node *relative, CodeMarker *marker);
+ void generateLegaleseList(const Node *relative, CodeMarker *marker);
+ void generateOverviewList(const Node *relative, CodeMarker *marker);
+ void generateSectionList(const Section& section,
+ const Node *relative,
+ CodeMarker *marker,
+ CodeMarker::SynopsisStyle style);
+#ifdef QDOC_QML
+ void generateQmlSummary(const Section& section,
+ const Node *relative,
+ CodeMarker *marker);
+ void generateQmlItem(const Node *node,
+ const Node *relative,
+ CodeMarker *marker,
+ bool summary);
+ void generateDetailedQmlMember(const Node *node,
+ const InnerNode *relative,
+ CodeMarker *marker);
+ void generateQmlInherits(const QmlClassNode* cn, CodeMarker* marker);
+ void generateQmlInheritedBy(const QmlClassNode* cn, CodeMarker* marker);
+ void generateQmlInstantiates(const QmlClassNode* qcn, CodeMarker* marker);
+ void generateInstantiatedBy(const ClassNode* cn, CodeMarker* marker);
+#endif
+
+ void generateSection(const NodeList& nl,
+ const Node *relative,
+ CodeMarker *marker,
+ CodeMarker::SynopsisStyle style);
+ void generateSynopsis(const Node *node,
+ const Node *relative,
+ CodeMarker *marker,
+ CodeMarker::SynopsisStyle style,
+ bool nameAlignment = false);
+ void generateSectionInheritedList(const Section& section,
+ const Node *relative,
+ CodeMarker *marker,
+ bool nameAlignment = false);
+ QString highlightedCode(const QString& markedCode,
+ CodeMarker *marker,
+ const Node *relative,
+ CodeMarker::SynopsisStyle style = CodeMarker::Accessors,
+ bool nameAlignment = false);
+
+ void generateFullName(const Node *apparentNode,
+ const Node *relative,
+ CodeMarker *marker,
+ const Node *actualNode = 0);
+ void generateDetailedMember(const Node *node,
+ const InnerNode *relative,
+ CodeMarker *marker);
+ void generateLink(const Atom *atom,
+ const Node *relative,
+ CodeMarker *marker);
+ void generateStatus(const Node *node, CodeMarker *marker);
+
+ QString registerRef(const QString& ref);
+ QString fileBase(const Node *node);
+#if 0
+ QString fileBase(const Node *node, const SectionIterator& section);
+#endif
+ QString fileName(const Node *node);
+ void findAllClasses(const InnerNode *node);
+ void findAllFunctions(const InnerNode *node);
+ void findAllLegaleseTexts(const InnerNode *node);
+ void findAllNamespaces(const InnerNode *node);
+ void findAllSince(const InnerNode *node);
+ static int hOffset(const Node *node);
+ static bool isThreeColumnEnumValueTable(const Atom *atom);
+ virtual QString getLink(const Atom *atom,
+ const Node *relative,
+ CodeMarker *marker,
+ const Node** node);
+ virtual void generateIndex(const QString &fileBase,
+ const QString &url,
+ const QString &title);
+#ifdef GENERATE_MAC_REFS
+ void generateMacRef(const Node *node, CodeMarker *marker);
+#endif
+ void beginLink(const QString &link,
+ const Node *node,
+ const Node *relative,
+ CodeMarker *marker);
+ void endLink();
+ bool generatePageElement(QXmlStreamWriter& writer,
+ const Node* node,
+ CodeMarker* marker) const;
+ void generatePageElements(QXmlStreamWriter& writer,
+ const Node* node,
+ CodeMarker* marker) const;
+ void generatePageIndex(const QString& fileName,
+ CodeMarker* marker) const;
+ QString writeGuidAttribute(QString text);
+ QString lookupGuid(QString text);
+
+ private:
+ QMap<QString, QString> refMap;
+ QMap<QString, QString> name2guidMap;
+ int codeIndent;
+ bool inLink;
+ bool inObsoleteLink;
+ bool inContents;
+ bool inSectionHeading;
+ bool inTableHeader;
+ int numTableRows;
+ bool threeColumnEnumValueTable;
+ bool offlineDocs;
+ QString link;
+ QStringList sectionNumber;
+ QRegExp funcLeftParen;
+ QString style;
+ QString postHeader;
+ QString postPostHeader;
+ QString footer;
+ QString address;
+ bool pleaseGenerateMacRef;
+ QString project;
+ QString projectDescription;
+ QString projectUrl;
+ QString navigationLinks;
+ QStringList stylesheets;
+ QStringList customHeadElements;
+ const Tree *myTree;
+ bool slow;
+ bool obsoleteLinks;
+ int noLinks;
+ QMap<QString, NodeMap > moduleClassMap;
+ QMap<QString, NodeMap > moduleNamespaceMap;
+ NodeMap nonCompatClasses;
+ NodeMap mainClasses;
+ NodeMap compatClasses;
+ NodeMap obsoleteClasses;
+ NodeMap namespaceIndex;
+ NodeMap serviceClasses;
+#ifdef QDOC_QML
+ NodeMap qmlClasses;
+#endif
+ QMap<QString, NodeMap > funcIndex;
+ QMap<Text, const Node *> legaleseTexts;
+ NewSinceMaps newSinceMaps;
+ static QString sinceTitles[];
+ NewClassMaps newClassMaps;
+ NewClassMaps newQmlClassMaps;
+ static int id;
+ QXmlStreamWriter writer;
+};
+
+#define DITAXMLGENERATOR_ADDRESS "address"
+#define DITAXMLGENERATOR_FOOTER "footer"
+#define DITAXMLGENERATOR_GENERATEMACREFS "generatemacrefs" // ### document me
+#define DITAXMLGENERATOR_POSTHEADER "postheader"
+#define DITAXMLGENERATOR_POSTPOSTHEADER "postpostheader"
+#define DITAXMLGENERATOR_STYLE "style"
+#define DITAXMLGENERATOR_STYLESHEETS "stylesheets"
+#define DITAXMLGENERATOR_CUSTOMHEADELEMENTS "customheadelements"
+
+QT_END_NAMESPACE
+
+#endif
+
diff --git a/tools/qdoc3/doc.cpp b/tools/qdoc3/doc.cpp
index 5716626f28..280f055540 100644
--- a/tools/qdoc3/doc.cpp
+++ b/tools/qdoc3/doc.cpp
@@ -2746,18 +2746,6 @@ Doc::SectioningUnit Doc::granularity() const
}
}
-#if notyet // ###
-Doc::SectioningUnit Doc::sectioningUnit() const
-{
- if (priv == 0 || priv->extra == 0) {
- return DocPrivateExtra().sectioningUnit;
- }
- else {
- return priv->extra->sectioningUnit;
- }
-}
-#endif
-
const QSet<QString> &Doc::parameterNames() const
{
return priv == 0 ? *null_Set_QString() : priv->params;
diff --git a/tools/qdoc3/htmlgenerator.cpp b/tools/qdoc3/htmlgenerator.cpp
index a0cd560c20..f6b8c061ee 100644
--- a/tools/qdoc3/htmlgenerator.cpp
+++ b/tools/qdoc3/htmlgenerator.cpp
@@ -434,6 +434,9 @@ void HtmlGenerator::startText(const Node * /* relative */,
sectionNumber.clear();
}
+/*!
+ Generate html from an instance of Atom.
+ */
int HtmlGenerator::generateAtom(const Atom *atom,
const Node *relative,
CodeMarker *marker)
@@ -516,14 +519,14 @@ int HtmlGenerator::generateAtom(const Atom *atom,
out() << formattingRightMap()[ATOM_FORMATTING_TELETYPE];
break;
case Atom::Code:
- out() << "<pre class=\"highlightedCode\">"
+ out() << "<pre class=\"highlightedCode brush: cpp\">"
<< trimmedTrailing(highlightedCode(indent(codeIndent,atom->string()),
marker,relative))
<< "</pre>\n";
break;
#ifdef QDOC_QML
case Atom::Qml:
- out() << "<pre class=\"highlightedCode\">"
+ out() << "<pre class=\"highlightedCode brush: cpp\">"
<< trimmedTrailing(highlightedCode(indent(codeIndent,atom->string()),
marker,relative))
<< "</pre>\n";
@@ -531,7 +534,7 @@ int HtmlGenerator::generateAtom(const Atom *atom,
#endif
case Atom::CodeNew:
out() << "<p>you can rewrite it as</p>\n"
- << "<pre class=\"highlightedCode\">"
+ << "<pre class=\"highlightedCode brush: cpp\">"
<< trimmedTrailing(highlightedCode(indent(codeIndent,atom->string()),
marker,relative))
<< "</pre>\n";
@@ -540,7 +543,7 @@ int HtmlGenerator::generateAtom(const Atom *atom,
out() << "<p>For example, if you have code like</p>\n";
// fallthrough
case Atom::CodeBad:
- out() << "<pre class=\"highlightedCode\">"
+ out() << "<pre class=\"highlightedCode brush: cpp\">"
<< trimmedTrailing(protectEnc(plainCode(indent(codeIndent,atom->string()))))
<< "</pre>\n";
break;
@@ -599,7 +602,7 @@ int HtmlGenerator::generateAtom(const Atom *atom,
generateAnnotatedList(relative, marker, nonCompatClasses);
}
else if (atom->string() == "classes") {
- generateCompactList(relative, marker, nonCompatClasses);
+ generateCompactList(relative, marker, nonCompatClasses, true);
}
else if (atom->string().contains("classesbymodule")) {
QString arg = atom->string().trimmed();
@@ -647,10 +650,10 @@ int HtmlGenerator::generateAtom(const Atom *atom,
generateClassHierarchy(relative, marker, nonCompatClasses);
}
else if (atom->string() == "compatclasses") {
- generateCompactList(relative, marker, compatClasses);
+ generateCompactList(relative, marker, compatClasses, false);
}
else if (atom->string() == "obsoleteclasses") {
- generateCompactList(relative, marker, obsoleteClasses);
+ generateCompactList(relative, marker, obsoleteClasses, false);
}
else if (atom->string() == "functionindex") {
generateFunctionIndex(relative, marker);
@@ -659,10 +662,10 @@ int HtmlGenerator::generateAtom(const Atom *atom,
generateLegaleseList(relative, marker);
}
else if (atom->string() == "mainclasses") {
- generateCompactList(relative, marker, mainClasses);
+ generateCompactList(relative, marker, mainClasses, true);
}
else if (atom->string() == "services") {
- generateCompactList(relative, marker, serviceClasses);
+ generateCompactList(relative, marker, serviceClasses, false);
}
else if (atom->string() == "overviews") {
generateOverviewList(relative, marker);
@@ -802,9 +805,9 @@ int HtmlGenerator::generateAtom(const Atom *atom,
<< "\"></a>\n";
out() << "<h3>" << protectEnc((*s).name) << "</h3>\n";
if (idx == Class)
- generateCompactList(0, marker, ncmap.value(), QString("Q"));
+ generateCompactList(0, marker, ncmap.value(), false, QString("Q"));
else if (idx == QmlClass)
- generateCompactList(0, marker, nqcmap.value(), QString("Q"));
+ generateCompactList(0, marker, nqcmap.value(), false, QString("Q"));
else if (idx == MemberFunction) {
ParentMaps parentmaps;
ParentMaps::iterator pmap;
@@ -830,7 +833,7 @@ int HtmlGenerator::generateAtom(const Atom *atom,
out() << "</a>" << ":</p>\n";
generateSection(nlist, 0, marker, CodeMarker::Summary);
- out() << "<br />";
+ out() << "<br/>";
++pmap;
}
}
@@ -876,7 +879,7 @@ int HtmlGenerator::generateAtom(const Atom *atom,
out() << "</div>";
break;
case Atom::LineBreak:
- out() << "<br />";
+ out() << "<br/>";
break;
case Atom::Link:
{
@@ -912,8 +915,14 @@ int HtmlGenerator::generateAtom(const Atom *atom,
else if (atom->string() == ATOM_LIST_VALUE) {
threeColumnEnumValueTable = isThreeColumnEnumValueTable(atom);
if (threeColumnEnumValueTable) {
- out() << "<table class=\"valuelist\">"
- << "<tr><th>Constant</th>"
+ out() << "<table class=\"valuelist\">";
+ // << "<tr>"
+ if (++numTableRows % 2 == 1)
+ out() << "<tr class=\"odd\">";
+ else
+ out() << "<tr class=\"even\">";
+
+ out() << "<tr><th>Constant</th>"
<< "<th>Value</th>"
<< "<th>Description</th></tr>\n";
}
@@ -926,7 +935,7 @@ int HtmlGenerator::generateAtom(const Atom *atom,
out() << "<ol type=";
if (atom->string() == ATOM_LIST_UPPERALPHA) {
out() << "\"A\"";
- }
+ } /* why type? */
else if (atom->string() == ATOM_LIST_LOWERALPHA) {
out() << "\"a\"";
}
@@ -956,7 +965,7 @@ int HtmlGenerator::generateAtom(const Atom *atom,
out() << "<tr><td class=\"topAlign\"><tt>"
<< protectEnc(plainCode(marker->markedUpEnumValue(atom->next()->string(),
relative)))
- << "</tt></td><td class=\"centerAlign topAlign\">";
+ << "</tt></td><td class=\" topAlign\">";
QString itemValue;
if (relative->type() == Node::Enum) {
@@ -1093,13 +1102,13 @@ int HtmlGenerator::generateAtom(const Atom *atom,
}
if (!atom->string().isEmpty()) {
if (atom->string().contains("%"))
- out() << "<table class=\"generic centerAlign\" width=\"" << atom->string() << "\">\n ";
+ out() << "<table class=\"generic\">\n "; // width=\"" << atom->string() << "\">\n ";
else {
- out() << "<table class=\"generic centerAlign\">\n";
+ out() << "<table class=\"generic\">\n";
}
}
else {
- out() << "<table class=\"generic centerAlign\">\n";
+ out() << "<table class=\"generic\">\n";
}
numTableRows = 0;
break;
@@ -1143,7 +1152,10 @@ int HtmlGenerator::generateAtom(const Atom *atom,
out() << " colspan=\"" << spans.at(0) << "\"";
if (spans.at(1) != "1")
out() << " rowspan=\"" << spans.at(1) << "\"";
+ if (inTableHeader)
out() << ">";
+ else
+ out() << "><p>";
}
if (matchAhead(atom, Atom::ParaLeft))
skipAhead = 1;
@@ -1153,7 +1165,7 @@ int HtmlGenerator::generateAtom(const Atom *atom,
if (inTableHeader)
out() << "</th>";
else
- out() << "</td>";
+ out() << "</p></td>";
if (matchAhead(atom, Atom::ParaLeft))
skipAhead = 1;
break;
@@ -1208,6 +1220,9 @@ int HtmlGenerator::generateAtom(const Atom *atom,
return skipAhead;
}
+/*!
+ Generate a reference page for a C++ class.
+ */
void HtmlGenerator::generateClassLikeNode(const InnerNode *inner,
CodeMarker *marker)
{
@@ -1243,6 +1258,8 @@ void HtmlGenerator::generateClassLikeNode(const InnerNode *inner,
subtitleText << "(" << Atom(Atom::AutoLink, fullTitle) << ")"
<< Atom(Atom::LineBreak);
+#if 0
+ // No longer used because the modeule name is a breadcrumb.
QString fixedModule = inner->moduleName();
if (fixedModule == "Qt3SupportLight")
fixedModule = "Qt3Support";
@@ -1263,6 +1280,7 @@ void HtmlGenerator::generateClassLikeNode(const InnerNode *inner,
subtitleText << "]";
}
}
+#endif
generateHeader(title, inner, marker);
sections = marker->sections(inner, CodeMarker::Summary, CodeMarker::Okay);
@@ -1454,6 +1472,10 @@ void HtmlGenerator::generateClassLikeNode(const InnerNode *inner,
appendDcfSubSection(&dcfClassesRoot, classSection);
}
+/*!
+ Generate the html page for a qdoc file that doesn't map
+ to an underlying c++ file.
+ */
void HtmlGenerator::generateFakeNode(const FakeNode *fake, CodeMarker *marker)
{
SubTitleSize subTitleSize = LargeSubTitle;
@@ -1585,7 +1607,7 @@ void HtmlGenerator::generateFakeNode(const FakeNode *fake, CodeMarker *marker)
NodeList::ConstIterator m = (*s).members.begin();
while (m != (*s).members.end()) {
generateDetailedQmlMember(*m, fake, marker);
- out() << "<br />\n";
+ out() << "<br/>\n";
fakeSection.keywords += qMakePair((*m)->name(),
linkForNode(*m,0));
++m;
@@ -1670,6 +1692,9 @@ void HtmlGenerator::generateFakeNode(const FakeNode *fake, CodeMarker *marker)
}
}
+/*!
+ Returns "html" for this subclass of Generator.
+ */
QString HtmlGenerator::fileExtension(const Node * /* node */) const
{
return "html";
@@ -1686,77 +1711,63 @@ void HtmlGenerator::generateBreadCrumbs(const QString& title,
if (node->type() == Node::Class) {
const ClassNode* cn = static_cast<const ClassNode*>(node);
QString name = node->moduleName();
- out() << " <li><a href=\"modules.html\">All Modules</a></li>";
+ out() << " <li><a href=\"modules.html\">Modules</a></li>";
if (!name.isEmpty()) {
out() << " <li>";
breadcrumb << Atom(Atom::AutoLink,name);
generateText(breadcrumb, node, marker);
out() << "</li>\n";
}
- breadcrumb.clear();
- if (!cn->name().isEmpty()) {
- out() << " <li>";
- breadcrumb << Atom(Atom::AutoLink,cn->name());
- generateText(breadcrumb, 0, marker);
- out() << "</li>\n";
- }
+ if (!cn->name().isEmpty())
+ out() << " <li>" << cn->name() << "</li>\n";
}
else if (node->type() == Node::Fake) {
const FakeNode* fn = static_cast<const FakeNode*>(node);
if (node->subType() == Node::Module) {
- out() << " <li><a href=\"modules.html\">All Modules</a></li>";
+ out() << " <li><a href=\"modules.html\">Modules</a></li>";
QString name = node->name();
- if (!name.isEmpty()) {
- out() << " <li>";
- breadcrumb << Atom(Atom::AutoLink,name);
- generateText(breadcrumb, 0, marker);
- out() << "</li>\n";
- }
+ if (!name.isEmpty())
+ out() << " <li>" << name << "</li>\n";
}
else if (node->subType() == Node::Group) {
if (fn->name() == QString("modules"))
- out() << " <li><a href=\"modules.html\">All Modules</a></li>";
+ out() << " <li>Modules</li>";
else {
- out() << " <li><a href=\"" << fn->name() << "\">" << title
- << "</a></li>";
+ out() << " <li>" << title << "</li>";
}
}
else if (node->subType() == Node::Page) {
if (fn->name() == QString("examples.html")) {
- out() << " <li><a href=\"examples.html\">All Examples</a></li>";
+ out() << " <li>Examples</li>";
}
else if (fn->name().startsWith("examples-")) {
- out() << " <li><a href=\"examples.html\">All Examples</a></li>";
- out() << " <li><a href=\"" << fn->name() << "\">" << title
- << "</a></li>";
+ out() << " <li><a href=\"all-examples.html\">Examples</a></li>";
+ out() << " <li>" << title << "</li>";
}
else if (fn->name() == QString("namespaces.html")) {
- out() << " <li><a href=\"namespaces.html\">All Namespaces</a></li>";
+ out() << " <li>Namespaces</li>";
}
else {
- out() << " <li><a href=\"" << fn->name() << "\">" << title
- << "</a></li>";
+ out() << " <li>" << title << "</li>";
}
}
else if (node->subType() == Node::QmlClass) {
+ out() << " <li><a href=\"qdeclarativeelements.html\">QML Elements</a></li>";
+ out() << " <li>" << title << "</li>";
}
else if (node->subType() == Node::Example) {
- out() << " <li><a href=\"examples.html\">All Examples</a></li>";
+ out() << " <li><a href=\"all-examples.html\">Examples</a></li>";
QStringList sl = fn->name().split('/');
QString name = "examples-" + sl.at(0) + ".html";
QString t = CodeParser::titleFromName(name);
out() << " <li><a href=\"" << name << "\">"
<< t << "</a></li>";
- out() << " <li><a href=\"" << sl.at(0)
- << "-" << sl.at(sl.size()-1) << ".html\">"
- << title << "</a></li>";
+ out() << " <li>" << title << "</li>";
}
}
else if (node->type() == Node::Namespace) {
- const NamespaceNode* nsn = static_cast<const NamespaceNode*>(node);
- out() << " <li><a href=\"namespaces.html\">All Namespaces</a></li>";
- out() << " <li><a href=\"" << fileName(nsn) << "\">" << title
- << "</a></li>";
+ out() << " <li><a href=\"namespaces.html\">Namespaces</a></li>";
+ out() << " <li>" << title << "</li>";
}
}
@@ -1766,7 +1777,7 @@ void HtmlGenerator::generateHeader(const QString& title,
{
out() << QString("<?xml version=\"1.0\" encoding=\"%1\"?>\n").arg(outputEncoding);
out() << "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Strict//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd\">\n";
- out() << "<html xmlns=\"http://www.w3.org/1999/xhtml\" xml:lang=\"en\" lang=\"en\">\n";
+ out() << QString("<html xmlns=\"http://www.w3.org/1999/xhtml\" xml:lang=\"%1\" lang=\"%1\">\n").arg(naturalLanguage);
out() << "<head>\n";
out() << " <meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\" />\n";
QString shortVersion;
@@ -1787,28 +1798,50 @@ void HtmlGenerator::generateHeader(const QString& title,
out() << " <title>" << shortVersion << protectEnc(title) << "</title>\n";
//out() << " <title>Qt Reference Documentation</title>";
- out() << " <link rel=\"stylesheet\" type=\"text/css\" href=\"style/style.css\" />\n";
- out() << " <!--[if IE]>\n";
- out() << " <meta name=\"MSSmartTagsPreventParsing\" content=\"true\">\n";
- out() << " <meta http-equiv=\"imagetoolbar\" content=\"no\">\n";
- out() << " <![endif]-->\n";
- out() << " <!--[if lt IE 7]>\n";
- out() << " <link rel=\"stylesheet\" type=\"text/css\" href=\"style/style_ie6.css\">\n";
- out() << " <![endif]-->\n";
- out() << " <!--[if IE 7]>\n";
- out() << " <link rel=\"stylesheet\" type=\"text/css\" href=\"style/style_ie7.css\">\n";
- out() << " <![endif]-->\n";
- out() << " <!--[if IE 8]>\n";
- out() << " <link rel=\"stylesheet\" type=\"text/css\" href=\"style/style_ie8.css\">\n";
- out() << " <![endif]-->\n";
- out() << " <script src=\"scripts/jquery.js\" type=\"text/javascript\"></script>\n";
- out() << " <script src=\"scripts/functions.js\" type=\"text/javascript\"></script>\n";
- out() << "</head>\n";
if (offlineDocs)
- out() << "<body class=\"offline\">\n";
+ {
+ out() << " <link rel=\"stylesheet\" type=\"text/css\" href=\"style/OfflineStyle.css\" />";
+ out() << "</head>\n";
+ out() << "<body class=\"offline narrow\" >\n"; // narrow mainly for Creator
+ }
else
- out() << "<body class=\"\">\n";
+ {
+ out() << " <link rel=\"stylesheet\" type=\"text/css\" href=\"style/style.css\"\n />";
+ out() << " <!--[if IE]>\n";
+ out() << "<meta name=\"MSSmartTagsPreventParsing\" content=\"true\">\n";
+ out() << "<meta http-equiv=\"imagetoolbar\" content=\"no\">\n";
+ out() << "<![endif]-->\n";
+ out() << "<!--[if lt IE 7]>\n";
+ out() << "<link rel=\"stylesheet\" type=\"text/css\" href=\"style/style_ie6.css\">\n";
+ out() << "<![endif]-->\n";
+ out() << "<!--[if IE 7]>\n";
+ out() << "<link rel=\"stylesheet\" type=\"text/css\" href=\"style/style_ie7.css\">\n";
+ out() << "<![endif]-->\n";
+ out() << "<!--[if IE 8]>\n";
+ out() << "<link rel=\"stylesheet\" type=\"text/css\" href=\"style/style_ie8.css\">\n";
+ out() << "<![endif]-->\n";
+ // jquery functions
+ out() << " <script src=\"scripts/jquery.js\" type=\"text/javascript\"></script>\n";
+ out() << " <script src=\"scripts/functions.js\" type=\"text/javascript\"></script>\n";
+ // menus and small docs js and css
+ out() << " <script src=\"./scripts/superfish.js\" type=\"text/javascript\"></script>\n";
+ out() << " <script src=\"./scripts/narrow.js\" type=\"text/javascript\"></script>\n";
+ out() << " <link rel=\"stylesheet\" type=\"text/css\" href=\"style/superfish.css\" />";
+ out() << " <link rel=\"stylesheet\" type=\"text/css\" href=\"style/narrow.css\" />";
+
+ // syntax highlighter js and css
+ // out() << " <link type=\"text/css\" rel=\"stylesheet\" href=\"style/shCore.css\"/>\n";
+ // out() << " <link type=\"text/css\" rel=\"stylesheet\" href=\"style/shThemeDefault.css\"/>\n";
+ // out() << " <script type=\"text/javascript\" src=\"scripts/shCore.js\"></script>\n";
+ // out() << " <script type=\"text/javascript\" src=\"scripts/shBrushCpp.js\"></script>\n";
+ // out() << " <script type=\"text/javascript\">\n";
+ // out() << " SyntaxHighlighter.all();\n";
+ // out() << " </script>\n";
+
+ out() << "</head>\n";
+ out() << "<body class=\"\" onload=\"CheckEmptyAndLoadList();\">\n";
+ }
#ifdef GENERATE_MAC_REFS
if (mainPage)
@@ -1831,18 +1864,16 @@ void HtmlGenerator::generateTitle(const QString& title,
CodeMarker *marker)
{
if (!title.isEmpty())
- out() << "<h1 class=\"title\">" << protectEnc(title);
+ out() << "<h1 class=\"title\">" << protectEnc(title) << "</h1>\n";
if (!subTitle.isEmpty()) {
- out() << "<br />";
- if (subTitleSize == SmallSubTitle)
- out() << "<span class=\"small-subtitle\">";
+ out() << "<span";
+ if (subTitleSize == SmallSubTitle)
+ out() << " class=\"small-subtitle\">";
else
- out() << "<span class=\"subtitle\">";
+ out() << " class=\"subtitle\">";
generateText(subTitle, relative, marker);
out() << "</span>\n";
}
- if (!title.isEmpty())
- out() << "</h1>\n";
}
void HtmlGenerator::generateFooter(const Node *node)
@@ -1851,9 +1882,18 @@ void HtmlGenerator::generateFooter(const Node *node)
out() << "<p>\n" << navigationLinks << "</p>\n";
out() << QString(footer).replace("\\" + COMMAND_VERSION, myTree->version())
- << QString(address).replace("\\" + COMMAND_VERSION, myTree->version())
- << "</body>\n"
- "</html>\n";
+ << QString(address).replace("\\" + COMMAND_VERSION, myTree->version());
+
+ if (offlineDocs)
+ {
+ out() << "</body>\n";
+ }
+ else
+ {
+ out() << " <script src=\"scripts/functions.js\" type=\"text/javascript\"></script>\n";
+ out() << "</body>\n";
+ }
+ out() << "</html>\n";
}
void HtmlGenerator::generateBrief(const Node *node, CodeMarker *marker,
@@ -1874,7 +1914,7 @@ void HtmlGenerator::generateBrief(const Node *node, CodeMarker *marker,
void HtmlGenerator::generateIncludes(const InnerNode *inner, CodeMarker *marker)
{
if (!inner->includes().isEmpty()) {
- out() << "<pre clas=\"highlightedCode\">"
+ out() << "<pre class=\"highlightedCode brush: cpp\">"
<< trimmedTrailing(highlightedCode(indent(codeIndent,
marker->markedUpIncludes(inner->includes())),
marker,inner))
@@ -2098,6 +2138,8 @@ void HtmlGenerator::generateNavigationBar(const NavigationBar& bar,
out() << "</a>]\n";
#endif
}
+ if (fake->name() != QString("index.html"))
+ {
if (bar.current.begin() != 0) {
out() << "[<a href=\"" << "home"
<< ".html\">Home</a>]\n";
@@ -2109,6 +2151,7 @@ void HtmlGenerator::generateNavigationBar(const NavigationBar& bar,
out() << "</a>]\n";
}
out() << "</p>\n";
+ }
}
}
#endif
@@ -2278,22 +2321,22 @@ void HtmlGenerator::generateAnnotatedList(const Node *relative,
out() << "<tr class=\"odd topAlign\">";
else
out() << "<tr class=\"even topAlign\">";
- out() << "<th>";
+ out() << "<td><p>";
generateFullName(node, relative, marker);
- out() << "</th>";
+ out() << "</p></td>";
if (!(node->type() == Node::Fake)) {
Text brief = node->doc().trimmedBriefText(name);
if (!brief.isEmpty()) {
- out() << "<td>";
+ out() << "<td><p>";
generateText(brief, node, marker);
- out() << "</td>";
+ out() << "</p></td>";
}
}
else {
- out() << "<td>";
+ out() << "<td><p>";
out() << protectEnc(node->doc().briefText().toString());
- out() << "</td>";
+ out() << "</p></td>";
}
out() << "</tr>\n";
}
@@ -2312,10 +2355,10 @@ void HtmlGenerator::generateAnnotatedList(const Node *relative,
void HtmlGenerator::generateCompactList(const Node *relative,
CodeMarker *marker,
const NodeMap &classMap,
+ bool includeAlphabet,
QString commonPrefix)
{
const int NumParagraphs = 37; // '0' to '9', 'A' to 'Z', '_'
- const int NumColumns = 3; // number of columns in the result
if (classMap.isEmpty())
return;
@@ -2384,6 +2427,7 @@ void HtmlGenerator::generateCompactList(const Node *relative,
*/
NodeMap paragraph[NumParagraphs+1];
QString paragraphName[NumParagraphs+1];
+ QSet<char> usedParagraphNames;
NodeMap::ConstIterator c = classMap.begin();
while (c != classMap.end()) {
@@ -2397,17 +2441,18 @@ void HtmlGenerator::generateCompactList(const Node *relative,
else
key = pieces.last().toLower();
- int paragraphNo = NumParagraphs - 1;
+ int paragraphNr = NumParagraphs - 1;
if (key[0].digitValue() != -1) {
- paragraphNo = key[0].digitValue();
+ paragraphNr = key[0].digitValue();
}
else if (key[0] >= QLatin1Char('a') && key[0] <= QLatin1Char('z')) {
- paragraphNo = 10 + key[0].unicode() - 'a';
+ paragraphNr = 10 + key[0].unicode() - 'a';
}
- paragraphName[paragraphNo] = key[0].toUpper();
- paragraph[paragraphNo].insert(key, c.value());
+ paragraphName[paragraphNr] = key[0].toUpper();
+ usedParagraphNames.insert(key[0].toLower().cell());
+ paragraph[paragraphNr].insert(key, c.value());
++c;
}
@@ -2420,101 +2465,94 @@ void HtmlGenerator::generateCompactList(const Node *relative,
start at offsets 0, 3, 4, 8, 9, 14, 23.
*/
int paragraphOffset[NumParagraphs + 1]; // 37 + 1
- int i, j, k;
-
paragraphOffset[0] = 0;
- for (j = 0; j < NumParagraphs; j++) // j = 0..36
- paragraphOffset[j + 1] = paragraphOffset[j] + paragraph[j].count();
+ for (int i=0; i<NumParagraphs; i++) // i = 0..36
+ paragraphOffset[i+1] = paragraphOffset[i] + paragraph[i].count();
- int firstOffset[NumColumns + 1]; // 4 + 1
- int currentOffset[NumColumns]; // 4
- int currentParagraphNo[NumColumns]; // 4
- int currentOffsetInParagraph[NumColumns]; // 4
+ int curParNr = 0;
+ int curParOffset = 0;
- int numRows = (classMap.count() + NumColumns - 1) / NumColumns;
- int curParagNo = 0;
+ /*
+ Output the alphabet as a row of links.
+ */
+ if (includeAlphabet) {
+ out() << "<p class=\"centerAlign functionIndex\"><b>";
+ for (int i = 0; i < 26; i++) {
+ QChar ch('a' + i);
+ if (usedParagraphNames.contains(char('a' + i)))
+ out() << QString("<a href=\"#%1\">%2</a>&nbsp;").arg(ch).arg(ch.toUpper());
+ }
+ out() << "</b></p>\n";
+ }
- for (i = 0; i < NumColumns; i++) { // i = 0..3
- firstOffset[i] = qMin(i * numRows, classMap.size());
- currentOffset[i] = firstOffset[i];
+ /*
+ Output a <div> element to contain all the <dl> elements.
+ */
+ out() << "<div class=\"flowListDiv\">\n";
- for (j = curParagNo; j < NumParagraphs; j++) {
- if (paragraphOffset[j] > firstOffset[i])
- break;
- if (paragraphOffset[j] <= firstOffset[i])
- curParagNo = j;
- }
- currentParagraphNo[i] = curParagNo;
- currentOffsetInParagraph[i] = firstOffset[i] -
- paragraphOffset[curParagNo];
- }
- firstOffset[NumColumns] = classMap.count();
-
- out() << "<table class=\"generic\">\n";
- for (k = 0; k < numRows; k++) {
- out() << "<tr>\n";
- for (i = 0; i < NumColumns; i++) {
- if (currentOffset[i] >= firstOffset[i + 1]) {
- // this column is finished
- out() << "<td>\n</td>\n";
+ for (int i=0; i<classMap.count()-1; i++) {
+ while ((curParNr < NumParagraphs) &&
+ (curParOffset == paragraph[curParNr].count())) {
+ ++curParNr;
+ curParOffset = 0;
+ }
+
+ /*
+ Starting a new paragraph means starting a new <dl>.
+ */
+ if (curParOffset == 0) {
+ if (i > 0)
+ out() << "</dl>\n";
+ if (++numTableRows % 2 == 1)
+ out() << "<dl class=\"flowList odd\">";
+ else
+ out() << "<dl class=\"flowList even\">";
+ out() << "<dt class=\"alphaChar\">";
+ if (includeAlphabet) {
+ QChar c = paragraphName[curParNr][0].toLower();
+ out() << QString("<a name=\"%1\"></a>").arg(c);
}
- else {
- while ((currentParagraphNo[i] < NumParagraphs) &&
- (currentOffsetInParagraph[i] == paragraph[currentParagraphNo[i]].count())) {
- ++currentParagraphNo[i];
- currentOffsetInParagraph[i] = 0;
- }
-#if 0
- if (currentParagraphNo[i] >= NumParagraphs) {
- qDebug() << "### Internal error ###" << __FILE__ << __LINE__
- << currentParagraphNo[i] << NumParagraphs;
- currentParagraphNo[i] = NumParagraphs - 1;
- }
-#endif
- out() << "<td class=\"rightAlign\">";
- if (currentOffsetInParagraph[i] == 0) {
- // start a new paragraph
- out() << "<b>"
- << paragraphName[currentParagraphNo[i]]
- << "&nbsp;</b>";
- }
- out() << "</td>\n";
-
- out() << "<td>";
- if ((currentParagraphNo[i] < NumParagraphs) &&
- !paragraphName[currentParagraphNo[i]].isEmpty()) {
- NodeMap::Iterator it;
- it = paragraph[currentParagraphNo[i]].begin();
- for (j = 0; j < currentOffsetInParagraph[i]; j++)
- ++it;
-
- // Previously, we used generateFullName() for this, but we
- // require some special formatting.
- out() << "<a href=\""
- << linkForNode(it.value(), relative)
- << "\">";
- QStringList pieces;
- if (it.value()->subType() == Node::QmlClass)
- pieces << it.value()->name();
- else
- pieces = fullName(it.value(), relative, marker).split("::");
- out() << protectEnc(pieces.last());
- out() << "</a>";
- if (pieces.size() > 1) {
- out() << " (";
- generateFullName(it.value()->parent(), relative, marker);
- out() << ")";
- }
- }
- out() << "</td>\n";
+ out() << "<b>"
+ << paragraphName[curParNr]
+ << "</b>";
+ out() << "</dt>\n";
+ }
- currentOffset[i]++;
- currentOffsetInParagraph[i]++;
+ /*
+ Output a <dd> for the current offset in the current paragraph.
+ */
+ out() << "<dd>";
+ if ((curParNr < NumParagraphs) &&
+ !paragraphName[curParNr].isEmpty()) {
+ NodeMap::Iterator it;
+ it = paragraph[curParNr].begin();
+ for (int i=0; i<curParOffset; i++)
+ ++it;
+
+ /*
+ Previously, we used generateFullName() for this, but we
+ require some special formatting.
+ */
+ out() << "<a href=\"" << linkForNode(it.value(), relative) << "\">";
+
+ QStringList pieces;
+ if (it.value()->subType() == Node::QmlClass)
+ pieces << it.value()->name();
+ else
+ pieces = fullName(it.value(), relative, marker).split("::");
+ out() << protectEnc(pieces.last());
+ out() << "</a>";
+ if (pieces.size() > 1) {
+ out() << " (";
+ generateFullName(it.value()->parent(), relative, marker);
+ out() << ")";
}
}
- out() << "</tr>\n";
+ out() << "</dd>\n";
+ curParOffset++;
}
- out() << "</table>\n";
+ out() << "</dl>\n";
+ out() << "</div>\n";
}
void HtmlGenerator::generateFunctionIndex(const Node *relative,
@@ -2646,7 +2684,7 @@ void HtmlGenerator::generateQmlItem(const Node *node,
if (summary)
marked.replace("@name>", "b>");
- marked.replace("<@extra>", "&nbsp;&nbsp;<tt>");
+ marked.replace("<@extra>", "<tt>");
marked.replace("</@extra>", "</tt>");
if (summary) {
@@ -2812,14 +2850,14 @@ void HtmlGenerator::generateSection(const NodeList& nl,
else {
if (twoColumn && i == (int) (nl.count() + 1) / 2)
out() << "</ul></td><td class=\"topAlign\"><ul>\n";
- out() << "<li><div class=\"fn\">";
+ out() << "<li class=\"fn\">";
}
generateSynopsis(*m, relative, marker, style, name_alignment);
if (name_alignment)
out() << "</td></tr>\n";
else
- out() << "</div></li>\n";
+ out() << "</li>\n";
i++;
++m;
}
@@ -2873,14 +2911,14 @@ void HtmlGenerator::generateSectionList(const Section& section,
else {
if (twoColumn && i == (int) (section.members.count() + 1) / 2)
out() << "</ul></td><td class=\"topAlign\"><ul>\n";
- out() << "<li><div class=\"fn\">";
+ out() << "<li class=\"fn\">";
}
generateSynopsis(*m, relative, marker, style, name_alignment);
if (name_alignment)
out() << "</td></tr>\n";
else
- out() << "</div></li>\n";
+ out() << "</li>\n";
i++;
++m;
}
@@ -2908,9 +2946,9 @@ void HtmlGenerator::generateSectionInheritedList(const Section& section,
QList<QPair<ClassNode *, int> >::ConstIterator p = section.inherited.begin();
while (p != section.inherited.end()) {
if (nameAlignment)
- out() << "<li><div bar=\"2\" class=\"fn\"></div>";
+ out() << "<li class=\"fn\">";
else
- out() << "<li><div class=\"fn\"></div>";
+ out() << "<li class=\"fn\">";
out() << (*p).second << " ";
if ((*p).second == 1) {
out() << section.singularMember;
@@ -2955,7 +2993,7 @@ void HtmlGenerator::generateSynopsis(const Node *node,
extraRegExp.setMinimal(true);
marked.replace(extraRegExp, "");
} else {
- marked.replace("<@extra>", "&nbsp;&nbsp;<tt>");
+ marked.replace("<@extra>", "<tt>");
marked.replace("</@extra>", "</tt>");
}
@@ -3151,8 +3189,13 @@ void HtmlGenerator::generateSectionList(const Section& section,
twoColumn = (section.members.count() >= 5);
}
if (twoColumn)
- out() << "<table class=\"generic\">\n"
- << "<tr><td class=\"topAlign\">";
+ out() << "<table class=\"generic\">\n";
+ if (++numTableRows % 2 == 1)
+ out() << "<tr class=\"odd topAlign\">";
+ else
+ out() << "<tr class=\"even topAlign\">";
+
+// << "<tr><td class=\"topAlign\">";
out() << "<ul>\n";
int i = 0;
@@ -3166,7 +3209,7 @@ void HtmlGenerator::generateSectionList(const Section& section,
if (twoColumn && i == (int) (section.members.count() + 1) / 2)
out() << "</ul></td><td class=\"topAlign\"><ul>\n";
- out() << "<li><div class=\"fn\"></div>";
+ out() << "<li class=\"fn\">";
if (style == CodeMarker::Accessors)
out() << "<b>";
generateSynopsis(*m, relative, marker, style);
@@ -3194,7 +3237,7 @@ void HtmlGenerator::generateSectionInheritedList(const Section& section,
{
QList<QPair<ClassNode *, int> >::ConstIterator p = section.inherited.begin();
while (p != section.inherited.end()) {
- out() << "<li><div bar=\"2\" class=\"fn\"></div>";
+ out() << "<li class=\"fn\">";
out() << (*p).second << " ";
if ((*p).second == 1) {
out() << section.singularMember;
@@ -3234,7 +3277,7 @@ void HtmlGenerator::generateSynopsis(const Node *node,
extraRegExp.setMinimal(true);
marked.replace(extraRegExp, "");
} else {
- marked.replace("<@extra>", "&nbsp;&nbsp;<tt>");
+ marked.replace("<@extra>", "<tt>");
marked.replace("</@extra>", "</tt>");
}
@@ -3764,7 +3807,7 @@ void HtmlGenerator::generateDetailedMember(const Node *node,
out() << "<h3 class=\"flags\">";
out() << "<a name=\"" + refForNode(node) + "\"></a>";
generateSynopsis(enume, relative, marker, CodeMarker::Detailed);
- out() << "<br />";
+ out() << "<br/>";
generateSynopsis(enume->flagsType(),
relative,
marker,
@@ -4031,10 +4074,13 @@ int HtmlGenerator::hOffset(const Node *node)
case Node::Class:
return 2;
case Node::Fake:
+ return 1;
+#if 0
if (node->doc().briefText().isEmpty())
return 1;
else
return 2;
+#endif
case Node::Enum:
case Node::Typedef:
case Node::Function:
@@ -4359,8 +4405,12 @@ void HtmlGenerator::generateQmlSummary(const Section& section,
twoColumn = (count >= 5);
}
if (twoColumn)
- out() << "<table class=\"qmlsummary\">\n"
- << "<tr><td class=\"topAlign\">";
+ out() << "<table class=\"qmlsummary\">\n";
+ if (++numTableRows % 2 == 1)
+ out() << "<tr class=\"odd topAlign\">";
+ else
+ out() << "<tr class=\"even topAlign\">";
+ // << "<tr><td class=\"topAlign\">";
out() << "<ul>\n";
int row = 0;
@@ -4368,7 +4418,7 @@ void HtmlGenerator::generateQmlSummary(const Section& section,
while (m != section.members.end()) {
if (twoColumn && row == (int) (count + 1) / 2)
out() << "</ul></td><td class=\"topAlign\"><ul>\n";
- out() << "<li><div class=\"fn\"></div>";
+ out() << "<li class=\"fn\">";
generateQmlItem(*m,relative,marker,true);
out() << "</li>\n";
row++;
@@ -4402,22 +4452,21 @@ void HtmlGenerator::generateDetailedQmlMember(const Node *node,
while (p != qpgn->childNodes().end()) {
if ((*p)->type() == Node::QmlProperty) {
qpn = static_cast<const QmlPropertyNode*>(*p);
- out() << "<tr><td>";
+
+ if (++numTableRows % 2 == 1)
+ out() << "<tr class=\"odd\">";
+ else
+ out() << "<tr class=\"even\">";
+
+ out() << "<td><p>";
+ //out() << "<tr><td>"; // old
out() << "<a name=\"" + refForNode(qpn) + "\"></a>";
if (!qpn->isWritable())
- out() << "<span class=\"qmlreadonly\">read-only&nbsp;</span>";
+ out() << "<span class=\"qmlreadonly\">read-only</span>";
if (qpgn->isDefault())
- out() << "<span class=\"qmldefault\">default&nbsp;</span>";
+ out() << "<span class=\"qmldefault\">default</span>";
generateQmlItem(qpn, relative, marker, false);
out() << "</td></tr>";
- if (qpgn->isDefault()) {
- out() << "</table>"
- << "</div></div>"
- << "<div class=\"qmlitem\">"
- << "<div class=\"qmlproto\">"
- << "<table class=\"qmlname\">"
- << "<tr><td>default</td></tr>";
- }
}
++p;
}
@@ -4428,11 +4477,16 @@ void HtmlGenerator::generateDetailedQmlMember(const Node *node,
const FunctionNode* qsn = static_cast<const FunctionNode*>(node);
out() << "<div class=\"qmlproto\">";
out() << "<table class=\"qmlname\">";
- out() << "<tr><td>";
+ //out() << "<tr>";
+ if (++numTableRows % 2 == 1)
+ out() << "<tr class=\"odd\">";
+ else
+ out() << "<tr class=\"even\">";
+ out() << "<td><p>";
out() << "<a name=\"" + refForNode(qsn) + "\"></a>";
generateSynopsis(qsn,relative,marker,CodeMarker::Detailed,false);
//generateQmlItem(qsn,relative,marker,false);
- out() << "</td></tr>";
+ out() << "</p></td></tr>";
out() << "</table>";
out() << "</div>";
}
@@ -4440,10 +4494,15 @@ void HtmlGenerator::generateDetailedQmlMember(const Node *node,
const FunctionNode* qmn = static_cast<const FunctionNode*>(node);
out() << "<div class=\"qmlproto\">";
out() << "<table class=\"qmlname\">";
- out() << "<tr><td>";
+ //out() << "<tr>";
+ if (++numTableRows % 2 == 1)
+ out() << "<tr class=\"odd\">";
+ else
+ out() << "<tr class=\"even\">";
+ out() << "<td><p>";
out() << "<a name=\"" + refForNode(qmn) + "\"></a>";
generateSynopsis(qmn,relative,marker,CodeMarker::Detailed,false);
- out() << "</td></tr>";
+ out() << "</p></td></tr>";
out() << "</table>";
out() << "</div>";
}
diff --git a/tools/qdoc3/htmlgenerator.h b/tools/qdoc3/htmlgenerator.h
index d80cbdb5ad..e06025739c 100644
--- a/tools/qdoc3/htmlgenerator.h
+++ b/tools/qdoc3/htmlgenerator.h
@@ -173,6 +173,7 @@ class HtmlGenerator : public PageGenerator
void generateCompactList(const Node *relative,
CodeMarker *marker,
const NodeMap &classMap,
+ bool includeAlphabet,
QString commonPrefix = QString());
void generateFunctionIndex(const Node *relative, CodeMarker *marker);
void generateLegaleseList(const Node *relative, CodeMarker *marker);
diff --git a/tools/qdoc3/main.cpp b/tools/qdoc3/main.cpp
index fe4ad863e3..616ae2f8af 100644
--- a/tools/qdoc3/main.cpp
+++ b/tools/qdoc3/main.cpp
@@ -68,6 +68,7 @@
#include "qscodeparser.h"
#include "sgmlgenerator.h"
#include "webxmlgenerator.h"
+#include "ditaxmlgenerator.h"
#include "tokenizer.h"
#include "tree.h"
#include <qdebug.h>
@@ -427,6 +428,7 @@ int main(int argc, char **argv)
ManGenerator manGenerator;
SgmlGenerator smglGenerator;
WebXMLGenerator webxmlGenerator;
+ DitaXmlGenerator ditaxmlGenerator;
QStringList qdocFiles;
QString opt;
diff --git a/tools/qdoc3/node.cpp b/tools/qdoc3/node.cpp
index a2bd948e5b..b71a43ee34 100644
--- a/tools/qdoc3/node.cpp
+++ b/tools/qdoc3/node.cpp
@@ -154,6 +154,41 @@ void Node::setLink(LinkType linkType, const QString &link, const QString &desc)
}
/*!
+ Returns a string representing the access specifier.
+ */
+QString Node::accessString() const
+{
+ switch (acc) {
+ case Protected:
+ return "protected";
+ case Private:
+ return "private";
+ case Public:
+ default:
+ break;
+ }
+ return "public";
+}
+
+
+/*!
+ Returns a string representing the access specifier.
+ */
+QString RelatedClass::accessString() const
+{
+ switch (access) {
+ case Node::Protected:
+ return "protected";
+ case Node::Private:
+ return "private";
+ case Node::Public:
+ default:
+ break;
+ }
+ return "public";
+}
+
+/*!
*/
Node::Status Node::inheritedStatus() const
{
@@ -624,7 +659,7 @@ void InnerNode::removeChild(Node *child)
QMap<QString, Node *>::Iterator prim =
primaryFunctionMap.find(child->name());
NodeList& secs = secondaryFunctionMap[child->name()];
- if (*prim == child) {
+ if (prim != primaryFunctionMap.end() && *prim == child) {
if (secs.isEmpty()) {
primaryFunctionMap.remove(child->name());
}
@@ -636,12 +671,12 @@ void InnerNode::removeChild(Node *child)
secs.removeAll(child);
}
QMap<QString, Node *>::Iterator ent = childMap.find( child->name() );
- if ( *ent == child )
+ if (ent != childMap.end() && *ent == child)
childMap.erase( ent );
}
else {
QMap<QString, Node *>::Iterator ent = childMap.find(child->name());
- if (*ent == child)
+ if (ent != childMap.end() && *ent == child)
childMap.erase(ent);
}
}
@@ -754,6 +789,7 @@ ClassNode::ClassNode(InnerNode *parent, const QString& name)
: InnerNode(Class, parent, name)
{
hidden = false;
+ abstract = false;
setPageType(ApiPage);
}
@@ -1043,6 +1079,19 @@ FunctionNode::FunctionNode(Type type, InnerNode *parent, const QString& name, bo
}
/*!
+ Sets the \a virtualness of this function. If the \a virtualness
+ is PureVirtual, and if the parent() is a ClassNode, set the parent's
+ \e abstract flag to true.
+ */
+void FunctionNode::setVirtualness(Virtualness virtualness)
+{
+ vir = virtualness;
+ if ((virtualness == PureVirtual) && parent() &&
+ (parent()->type() == Node::Class))
+ parent()->setAbstract(true);
+}
+
+/*!
*/
void FunctionNode::setOverload(bool overlode)
{
@@ -1289,7 +1338,7 @@ QmlClassNode::QmlClassNode(InnerNode *parent,
const ClassNode* cn)
: FakeNode(parent, name, QmlClass), cnode(cn)
{
- setTitle((qmlOnly ? "" : "QML ") + name + " Element Reference");
+ setTitle((qmlOnly ? "" : "QML ") + name + " Element");
}
/*!
diff --git a/tools/qdoc3/node.h b/tools/qdoc3/node.h
index 215a7ae3a6..ccfd9b6232 100644
--- a/tools/qdoc3/node.h
+++ b/tools/qdoc3/node.h
@@ -175,6 +175,7 @@ class Node
virtual QString nameForLists() const { return nam; }
Access access() const { return acc; }
+ QString accessString() const;
const Location& location() const { return loc; }
const Doc& doc() const { return d; }
Status status() const { return sta; }
@@ -260,6 +261,8 @@ class InnerNode : public Node
QStringList secondaryKeys();
const QStringList& pageKeywords() const { return pageKeywds; }
virtual void addPageKeywords(const QString& t) { pageKeywds << t; }
+ virtual bool isAbstract() const { return false; }
+ virtual void setAbstract(bool ) { }
protected:
InnerNode(Type type, InnerNode *parent, const QString& name);
@@ -312,6 +315,7 @@ struct RelatedClass
: access(access0),
node(node0),
dataTypeWithTemplateArgs(dataTypeWithTemplateArgs0) { }
+ QString accessString() const;
Node::Access access;
ClassNode* node;
@@ -339,11 +343,14 @@ class ClassNode : public InnerNode
void setServiceName(const QString& value) { sname = value; }
QString qmlElement() const { return qmlelement; }
void setQmlElement(const QString& value) { qmlelement = value; }
+ virtual bool isAbstract() const { return abstract; }
+ virtual void setAbstract(bool b) { abstract = b; }
private:
QList<RelatedClass> bas;
QList<RelatedClass> der;
bool hidden;
+ bool abstract;
QString sname;
QString qmlelement;
};
@@ -580,7 +587,7 @@ class FunctionNode : public LeafNode
void setReturnType(const QString& returnType) { rt = returnType; }
void setParentPath(const QStringList& parentPath) { pp = parentPath; }
void setMetaness(Metaness metaness) { met = metaness; }
- void setVirtualness(Virtualness virtualness) { vir = virtualness; }
+ void setVirtualness(Virtualness virtualness);
void setConst(bool conste) { con = conste; }
void setStatic(bool statique) { sta = statique; }
void setOverload(bool overlode);
diff --git a/tools/qdoc3/pagegenerator.cpp b/tools/qdoc3/pagegenerator.cpp
index f0f14fedcd..cd364ef219 100644
--- a/tools/qdoc3/pagegenerator.cpp
+++ b/tools/qdoc3/pagegenerator.cpp
@@ -45,7 +45,7 @@
#include <qfile.h>
#include <qfileinfo.h>
-
+#include <qdebug.h>
#include "pagegenerator.h"
#include "tree.h"
@@ -68,6 +68,110 @@ PageGenerator::~PageGenerator()
endSubPage();
}
+static QRegExp linkTag("(<@link node=\"([^\"]+)\">).*(</@link>)");
+static QRegExp funcTag("(<@func target=\"([^\"]*)\">)(.*)(</@func>)");
+static QRegExp typeTag("(<@(type|headerfile|func)(?: +[^>]*)?>)(.*)(</@\\2>)");
+static QRegExp spanTag("</@(?:comment|preprocessor|string|char)>");
+static QRegExp unknownTag("</?@[^>]*>");
+
+bool PageGenerator::parseArg(const QString& src,
+ const QString& tag,
+ int* pos,
+ int n,
+ QStringRef* contents,
+ QStringRef* par1,
+ bool debug)
+{
+#define SKIP_CHAR(c) \
+ if (debug) \
+ qDebug() << "looking for " << c << " at " << QString(src.data() + i, n - i); \
+ if (i >= n || src[i] != c) { \
+ if (debug) \
+ qDebug() << " char '" << c << "' not found"; \
+ return false; \
+ } \
+ ++i;
+
+
+#define SKIP_SPACE \
+ while (i < n && src[i] == ' ') \
+ ++i;
+
+ int i = *pos;
+ int j = i;
+
+ // assume "<@" has been parsed outside
+ //SKIP_CHAR('<');
+ //SKIP_CHAR('@');
+
+ if (tag != QStringRef(&src, i, tag.length())) {
+ if (0 && debug)
+ qDebug() << "tag " << tag << " not found at " << i;
+ return false;
+ }
+
+ if (debug)
+ qDebug() << "haystack:" << src << "needle:" << tag << "i:" <<i;
+
+ // skip tag
+ i += tag.length();
+
+ // parse stuff like: linkTag("(<@link node=\"([^\"]+)\">).*(</@link>)");
+ if (par1) {
+ SKIP_SPACE;
+ // read parameter name
+ j = i;
+ while (i < n && src[i].isLetter())
+ ++i;
+ if (src[i] == '=') {
+ if (debug)
+ qDebug() << "read parameter" << QString(src.data() + j, i - j);
+ SKIP_CHAR('=');
+ SKIP_CHAR('"');
+ // skip parameter name
+ j = i;
+ while (i < n && src[i] != '"')
+ ++i;
+ *par1 = QStringRef(&src, j, i - j);
+ SKIP_CHAR('"');
+ SKIP_SPACE;
+ } else {
+ if (debug)
+ qDebug() << "no optional parameter found";
+ }
+ }
+ SKIP_SPACE;
+ SKIP_CHAR('>');
+
+ // find contents up to closing "</@tag>
+ j = i;
+ for (; true; ++i) {
+ if (i + 4 + tag.length() > n)
+ return false;
+ if (src[i] != '<')
+ continue;
+ if (src[i + 1] != '/')
+ continue;
+ if (src[i + 2] != '@')
+ continue;
+ if (tag != QStringRef(&src, i + 3, tag.length()))
+ continue;
+ if (src[i + 3 + tag.length()] != '>')
+ continue;
+ break;
+ }
+
+ *contents = QStringRef(&src, j, i - j);
+
+ i += tag.length() + 4;
+
+ *pos = i;
+ if (debug)
+ qDebug() << " tag " << tag << " found: pos now: " << i;
+ return true;
+#undef SKIP_CHAR
+}
+
/*!
This function is recursive.
*/
@@ -195,8 +299,8 @@ QTextStream &PageGenerator::out()
/*!
Recursive writing of html files from the root \a node.
*/
-void PageGenerator::generateInnerNode(const InnerNode *node,
- CodeMarker *marker)
+void
+PageGenerator::generateInnerNode(const InnerNode* node, CodeMarker* marker)
{
if (!node->url().isNull())
return;
diff --git a/tools/qdoc3/pagegenerator.h b/tools/qdoc3/pagegenerator.h
index 7ab7e5e846..1aa24a1d1c 100644
--- a/tools/qdoc3/pagegenerator.h
+++ b/tools/qdoc3/pagegenerator.h
@@ -80,10 +80,17 @@ class PageGenerator : public Generator
QString naturalLanguage;
QString outputEncoding;
- QTextCodec *outputCodec;
+ QTextCodec* outputCodec;
+ bool parseArg(const QString& src,
+ const QString& tag,
+ int* pos,
+ int n,
+ QStringRef* contents,
+ QStringRef* par1 = 0,
+ bool debug = false);
private:
- QStack<QTextStream *> outStreamStack;
+ QStack<QTextStream*> outStreamStack;
};
QT_END_NAMESPACE
diff --git a/tools/qdoc3/qdoc3.pro b/tools/qdoc3/qdoc3.pro
index e394799380..5bedc29877 100644
--- a/tools/qdoc3/qdoc3.pro
+++ b/tools/qdoc3/qdoc3.pro
@@ -37,6 +37,7 @@ HEADERS += apigenerator.h \
cppcodeparser.h \
cpptoqsconverter.h \
dcfsection.h \
+ ditaxmlgenerator.h \
doc.h \
editdistance.h \
generator.h \
@@ -81,6 +82,7 @@ SOURCES += apigenerator.cpp \
cppcodeparser.cpp \
cpptoqsconverter.cpp \
dcfsection.cpp \
+ ditaxmlgenerator.cpp \
doc.cpp \
editdistance.cpp \
generator.cpp \
@@ -115,20 +117,7 @@ SOURCES += apigenerator.cpp \
### Documentation for qdoc3 ###
-win32:!win32-g++ {
- unixstyle = false
-} else :win32-g++:isEmpty(QMAKE_SH) {
- unixstyle = false
-} else {
- unixstyle = true
-}
-
-$$unixstyle {
- QDOC = cd $$PWD/doc && $$[QT_INSTALL_BINS]/qdoc3
-} else {
- QDOC = cd $$PWD/doc && $$[QT_INSTALL_BINS]/qdoc3.exe
- QDOC = $$replace(QDOC, "/", "\\")
-}
+qtPrepareTool(QDOC, qdoc3)
docs.commands = $$QDOC qdoc-manual.qdocconf
diff --git a/tools/qdoc3/test/assistant.qdocconf b/tools/qdoc3/test/assistant.qdocconf
index 1deefce931..4b52992cc1 100644
--- a/tools/qdoc3/test/assistant.qdocconf
+++ b/tools/qdoc3/test/assistant.qdocconf
@@ -16,45 +16,34 @@ qhp.Assistant.file = assistant.qhp
qhp.Assistant.namespace = com.trolltech.assistant.470
qhp.Assistant.virtualFolder = qdoc
qhp.Assistant.indexTitle = Qt Assistant Manual
-qhp.Assistant.extraFiles = images/api_examples.png \
- images/api_lookup.png \
- images/api_topics.png \
+qhp.Assistant.extraFiles = images/bg_l.png \
images/bg_l_blank.png \
- images/bg_ll_blank.png \
- images/bg_ll.png \
- images/bg_l.png \
- images/bg_lr.png \
images/bg_r.png \
- images/bg_ul_blank.png \
- images/bg_ul.png \
- images/bg_ur_blank.png \
- images/bg_ur.png \
- images/box_bg.png \
- images/breadcrumb.png \
+ images/box_bg.png \
+ images/breadcrumb.png \
+ images/bullet_gt.png \
images/bullet_dn.png \
- images/bullet_gt.png \
- images/bullet_sq.png \
+ images/bullet_sq.png \
images/bullet_up.png \
- images/coloreditorfactoryimage.png \
- images/content_bg.png \
- images/dynamiclayouts-example.png \
images/feedbackground.png \
- images/form_bg.png \
images/horBar.png \
- images/page_bg.png \
- images/print.png \
- images/qt_guide.png \
- images/qt_icon.png \
- images/qt-logo.png \
- images/qt_ref_doc.png \
- images/qt_tools.png \
- images/sep.png \
- images/sprites-combined.png \
+ images/page.png \
+ images/page_bg.png \
+ images/sprites-combined.png \
+ images/arrow-down.png \
+ images/spinner.gif \
images/stylesheet-coffee-plastique.png \
images/taskmenuextension-example.png \
- scripts/functions.js \
- scripts/jquery.js \
+ images/coloreditorfactoryimage.png \
+ images/dynamiclayouts-example.png \
+ scripts/functions.js \
+ scripts/jquery.js \
+ style/OfflineStyle.css \
+ style/style_ie6.css \
+ style/style_ie7.css \
+ style/style_ie8.css \
style/style.css
+
qhp.Assistant.filterAttributes = qt 4.7.0 tools assistant
qhp.Assistant.customFilters.Assistant.name = Qt Assistant Manual
qhp.Assistant.customFilters.Assistant.filterAttributes = qt tools assistant
diff --git a/tools/qdoc3/test/designer.qdocconf b/tools/qdoc3/test/designer.qdocconf
index 513801a4ab..b1f37dc5ed 100644
--- a/tools/qdoc3/test/designer.qdocconf
+++ b/tools/qdoc3/test/designer.qdocconf
@@ -16,45 +16,34 @@ qhp.Designer.file = designer.qhp
qhp.Designer.namespace = com.trolltech.designer.470
qhp.Designer.virtualFolder = qdoc
qhp.Designer.indexTitle = Qt Designer Manual
-qhp.Designer.extraFiles = images/api_examples.png \
- images/api_lookup.png \
- images/api_topics.png \
- images/bg_l_blank.png \
- images/bg_ll_blank.png \
- images/bg_ll.png \
- images/bg_l.png \
- images/bg_lr.png \
- images/bg_r.png \
- images/bg_ul_blank.png \
- images/bg_ul.png \
- images/bg_ur_blank.png \
- images/bg_ur.png \
- images/box_bg.png \
- images/breadcrumb.png \
- images/bullet_dn.png \
- images/bullet_gt.png \
- images/bullet_sq.png \
- images/bullet_up.png \
+qhp.Designer.extraFiles = images/bg_l.png \
+ images/bg_l_blank.png \
+ images/bg_r.png \
+ images/box_bg.png \
+ images/breadcrumb.png \
+ images/bullet_gt.png \
+ images/bullet_dn.png \
+ images/bullet_sq.png \
+ images/bullet_up.png \
+ images/feedbackground.png \
+ images/horBar.png \
+ images/page.png \
+ images/page_bg.png \
+ images/sprites-combined.png \
+ images/arrow-down.png \
+ images/spinner.gif \
+ images/stylesheet-coffee-plastique.png \
+ images/taskmenuextension-example.png \
images/coloreditorfactoryimage.png \
- images/content_bg.png \
images/dynamiclayouts-example.png \
- images/feedbackground.png \
- images/form_bg.png \
- images/horBar.png \
- images/page_bg.png \
- images/print.png \
- images/qt_guide.png \
- images/qt_icon.png \
- images/qt-logo.png \
- images/qt_ref_doc.png \
- images/qt_tools.png \
- images/sep.png \
- images/sprites-combined.png \
- images/stylesheet-coffee-plastique.png \
- images/taskmenuextension-example.png \
- scripts/functions.js \
- scripts/jquery.js \
- style/style.css
+ scripts/functions.js \
+ scripts/jquery.js \
+ style/OfflineStyle.css \
+ style/style_ie6.css \
+ style/style_ie7.css \
+ style/style_ie8.css \
+ style/style.css
+
qhp.Designer.filterAttributes = qt 4.7.0 tools designer
qhp.Designer.customFilters.Designer.name = Qt Designer Manual
qhp.Designer.customFilters.Designer.filterAttributes = qt tools designer
diff --git a/tools/qdoc3/test/images/bg_l.png b/tools/qdoc3/test/images/bg_l.png
new file mode 100644
index 0000000000..90b1da10b9
--- /dev/null
+++ b/tools/qdoc3/test/images/bg_l.png
Binary files differ
diff --git a/tools/qdoc3/test/images/bg_l_blank.png b/tools/qdoc3/test/images/bg_l_blank.png
new file mode 100644
index 0000000000..5a9673d81b
--- /dev/null
+++ b/tools/qdoc3/test/images/bg_l_blank.png
Binary files differ
diff --git a/tools/qdoc3/test/images/bg_r.png b/tools/qdoc3/test/images/bg_r.png
new file mode 100644
index 0000000000..f0fb121dea
--- /dev/null
+++ b/tools/qdoc3/test/images/bg_r.png
Binary files differ
diff --git a/tools/qdoc3/test/images/box_bg.png b/tools/qdoc3/test/images/box_bg.png
new file mode 100644
index 0000000000..3322f923f8
--- /dev/null
+++ b/tools/qdoc3/test/images/box_bg.png
Binary files differ
diff --git a/tools/qdoc3/test/images/breadcrumb.png b/tools/qdoc3/test/images/breadcrumb.png
new file mode 100644
index 0000000000..0ded5514d2
--- /dev/null
+++ b/tools/qdoc3/test/images/breadcrumb.png
Binary files differ
diff --git a/tools/qdoc3/test/images/bullet_dn.png b/tools/qdoc3/test/images/bullet_dn.png
new file mode 100644
index 0000000000..f7762472e2
--- /dev/null
+++ b/tools/qdoc3/test/images/bullet_dn.png
Binary files differ
diff --git a/tools/qdoc3/test/images/bullet_gt.png b/tools/qdoc3/test/images/bullet_gt.png
new file mode 100644
index 0000000000..7561b4edc4
--- /dev/null
+++ b/tools/qdoc3/test/images/bullet_gt.png
Binary files differ
diff --git a/tools/qdoc3/test/images/bullet_sq.png b/tools/qdoc3/test/images/bullet_sq.png
new file mode 100644
index 0000000000..a84845e3c7
--- /dev/null
+++ b/tools/qdoc3/test/images/bullet_sq.png
Binary files differ
diff --git a/tools/qdoc3/test/images/bullet_up.png b/tools/qdoc3/test/images/bullet_up.png
new file mode 100644
index 0000000000..285e7411b4
--- /dev/null
+++ b/tools/qdoc3/test/images/bullet_up.png
Binary files differ
diff --git a/tools/qdoc3/test/images/feedbackground.png b/tools/qdoc3/test/images/feedbackground.png
new file mode 100644
index 0000000000..3a38d995d7
--- /dev/null
+++ b/tools/qdoc3/test/images/feedbackground.png
Binary files differ
diff --git a/tools/qdoc3/test/images/horBar.png b/tools/qdoc3/test/images/horBar.png
new file mode 100644
index 0000000000..100fe91c6c
--- /dev/null
+++ b/tools/qdoc3/test/images/horBar.png
Binary files differ
diff --git a/tools/qdoc3/test/images/page.png b/tools/qdoc3/test/images/page.png
new file mode 100644
index 0000000000..1db151bd31
--- /dev/null
+++ b/tools/qdoc3/test/images/page.png
Binary files differ
diff --git a/tools/qdoc3/test/images/page_bg.png b/tools/qdoc3/test/images/page_bg.png
new file mode 100644
index 0000000000..9b3bd999df
--- /dev/null
+++ b/tools/qdoc3/test/images/page_bg.png
Binary files differ
diff --git a/tools/qdoc3/test/images/sprites-combined.png b/tools/qdoc3/test/images/sprites-combined.png
new file mode 100644
index 0000000000..3a48b21f6b
--- /dev/null
+++ b/tools/qdoc3/test/images/sprites-combined.png
Binary files differ
diff --git a/tools/qdoc3/test/linguist.qdocconf b/tools/qdoc3/test/linguist.qdocconf
index a3f4f00b11..26fb55c9b6 100644
--- a/tools/qdoc3/test/linguist.qdocconf
+++ b/tools/qdoc3/test/linguist.qdocconf
@@ -16,45 +16,34 @@ qhp.Linguist.file = linguist.qhp
qhp.Linguist.namespace = com.trolltech.linguist.470
qhp.Linguist.virtualFolder = qdoc
qhp.Linguist.indexTitle = Qt Linguist Manual
-qhp.Linguist.extraFiles = images/api_examples.png \
- images/api_lookup.png \
- images/api_topics.png \
- images/bg_l_blank.png \
- images/bg_ll_blank.png \
- images/bg_ll.png \
- images/bg_l.png \
- images/bg_lr.png \
- images/bg_r.png \
- images/bg_ul_blank.png \
- images/bg_ul.png \
- images/bg_ur_blank.png \
- images/bg_ur.png \
- images/box_bg.png \
- images/breadcrumb.png \
- images/bullet_dn.png \
- images/bullet_gt.png \
- images/bullet_sq.png \
- images/bullet_up.png \
+qhp.Linguist.extraFiles = images/bg_l.png \
+ images/bg_l_blank.png \
+ images/bg_r.png \
+ images/box_bg.png \
+ images/breadcrumb.png \
+ images/bullet_gt.png \
+ images/bullet_dn.png \
+ images/bullet_sq.png \
+ images/bullet_up.png \
+ images/feedbackground.png \
+ images/horBar.png \
+ images/page.png \
+ images/page_bg.png \
+ images/sprites-combined.png \
+ images/arrow-down.png \
+s images/spinner.gif \
+ images/stylesheet-coffee-plastique.png \
+ images/taskmenuextension-example.png \
images/coloreditorfactoryimage.png \
- images/content_bg.png \
images/dynamiclayouts-example.png \
- images/feedbackground.png \
- images/form_bg.png \
- images/horBar.png \
- images/page_bg.png \
- images/print.png \
- images/qt_guide.png \
- images/qt_icon.png \
- images/qt-logo.png \
- images/qt_ref_doc.png \
- images/qt_tools.png \
- images/sep.png \
- images/sprites-combined.png \
- images/stylesheet-coffee-plastique.png \
- images/taskmenuextension-example.png \
- scripts/functions.js \
- scripts/jquery.js \
- style/style.css
+ scripts/functions.js \
+ scripts/jquery.js \
+ style/OfflineStyle.css \
+ style/style_ie6.css \
+ style/style_ie7.css \
+ style/style_ie8.css \
+ style/style.css
+
qhp.Linguist.filterAttributes = qt 4.7.0 tools linguist
qhp.Linguist.customFilters.Linguist.name = Qt Linguist Manual
qhp.Linguist.customFilters.Linguist.filterAttributes = qt tools linguist
diff --git a/tools/qdoc3/test/macros.qdocconf b/tools/qdoc3/test/macros.qdocconf
index 22db23efb8..510a8b346a 100644
--- a/tools/qdoc3/test/macros.qdocconf
+++ b/tools/qdoc3/test/macros.qdocconf
@@ -18,6 +18,7 @@ macro.ouml.HTML = "&ouml;"
macro.QA = "\\e{Qt Assistant}"
macro.QD = "\\e{Qt Designer}"
macro.QL = "\\e{Qt Linguist}"
+macro.QQV = "\\e{Qt QML Viewer}"
macro.param = "\\e"
macro.raisedaster.HTML = "<sup>*</sup>"
macro.rarrow.HTML = "&rarr;"
diff --git a/tools/qdoc3/test/qdeclarative.qdocconf b/tools/qdoc3/test/qdeclarative.qdocconf
index 80050e3f0d..74fd802c48 100644
--- a/tools/qdoc3/test/qdeclarative.qdocconf
+++ b/tools/qdoc3/test/qdeclarative.qdocconf
@@ -27,45 +27,33 @@ qhp.Qml.indexTitle = Qml Reference
# Files not referenced in any qdoc file
# See also extraimages.HTML
-qhp.Qml.extraFiles = images/api_examples.png \
- images/api_lookup.png \
- images/api_topics.png \
- images/bg_l_blank.png \
- images/bg_ll_blank.png \
- images/bg_ll.png \
- images/bg_l.png \
- images/bg_lr.png \
- images/bg_r.png \
- images/bg_ul_blank.png \
- images/bg_ul.png \
- images/bg_ur_blank.png \
- images/bg_ur.png \
- images/box_bg.png \
- images/breadcrumb.png \
- images/bullet_dn.png \
- images/bullet_gt.png \
- images/bullet_sq.png \
- images/bullet_up.png \
- images/coloreditorfactoryimage.png \
- images/content_bg.png \
- images/dynamiclayouts-example.png \
- images/feedbackground.png \
- images/form_bg.png \
- images/horBar.png \
- images/page_bg.png \
- images/print.png \
- images/qt_guide.png \
- images/qt_icon.png \
- images/qt-logo.png \
- images/qt_ref_doc.png \
- images/qt_tools.png \
- images/sep.png \
- images/sprites-combined.png \
- images/stylesheet-coffee-plastique.png \
- images/taskmenuextension-example.png \
- scripts/functions.js \
- scripts/jquery.js \
- style/style.css
+qhp.Qml.extraFiles = images/bg_l.png \
+ images/bg_l_blank.png \
+ images/bg_r.png \
+ images/box_bg.png \
+ images/breadcrumb.png \
+ images/bullet_gt.png \
+ images/bullet_dn.png \
+ images/bullet_sq.png \
+ images/bullet_up.png \
+ images/feedbackground.png \
+ images/horBar.png \
+ images/page.png \
+ images/page_bg.png \
+ images/sprites-combined.png \
+ images/arrow-down.png \
+ images/spinner.png \
+ images/stylesheet-coffee-plastique.png \
+ images/taskmenuextension-example.png \
+ images/coloreditorfactoryimage.png \
+ images/dynamiclayouts-example.png \
+ scripts/functions.js \
+ scripts/jquery.js \
+ style/OfflineStyle.css \
+ style/style_ie6.css \
+ style/style_ie7.css \
+ style/style_ie8.css \
+ style/style.css
qhp.Qml.filterAttributes = qt 4.6.0 qtrefdoc
qhp.Qml.customFilters.Qt.name = Qt 4.6.0
diff --git a/tools/qdoc3/test/qmake.qdocconf b/tools/qdoc3/test/qmake.qdocconf
index f38a2a44d3..f06912962d 100644
--- a/tools/qdoc3/test/qmake.qdocconf
+++ b/tools/qdoc3/test/qmake.qdocconf
@@ -16,45 +16,34 @@ qhp.qmake.file = qmake.qhp
qhp.qmake.namespace = com.trolltech.qmake.470
qhp.qmake.virtualFolder = qdoc
qhp.qmake.indexTitle = QMake Manual
-qhp.qmake.extraFiles = images/api_examples.png \
- images/api_lookup.png \
- images/api_topics.png \
- images/bg_l_blank.png \
- images/bg_ll_blank.png \
- images/bg_ll.png \
- images/bg_l.png \
- images/bg_lr.png \
- images/bg_r.png \
- images/bg_ul_blank.png \
- images/bg_ul.png \
- images/bg_ur_blank.png \
- images/bg_ur.png \
- images/box_bg.png \
- images/breadcrumb.png \
- images/bullet_dn.png \
- images/bullet_gt.png \
- images/bullet_sq.png \
- images/bullet_up.png \
- images/coloreditorfactoryimage.png \
- images/content_bg.png \
- images/dynamiclayouts-example.png \
- images/feedbackground.png \
- images/form_bg.png \
- images/horBar.png \
- images/page_bg.png \
- images/print.png \
- images/qt_guide.png \
- images/qt_icon.png \
- images/qt-logo.png \
- images/qt_ref_doc.png \
- images/qt_tools.png \
- images/sep.png \
- images/sprites-combined.png \
- images/stylesheet-coffee-plastique.png \
- images/taskmenuextension-example.png \
- scripts/functions.js \
- scripts/jquery.js \
- style/style.css
+qhp.qmake.extraFiles = images/bg_l.png \
+ images/bg_l_blank.png \
+ images/bg_r.png \
+ images/box_bg.png \
+ images/breadcrumb.png \
+ images/bullet_gt.png \
+ images/bullet_dn.png \
+ images/bullet_sq.png \
+ images/bullet_up.png \
+ images/feedbackground.png \
+ images/horBar.png \
+ images/page.png \
+ images/page_bg.png \
+ images/sprites-combined.png \
+ images/arrow-down.png \
+ images/spinner.gif \
+ images/stylesheet-coffee-plastique.png \
+ images/taskmenuextension-example.png \
+ images/coloreditorfactoryimage.png \
+ images/dynamiclayouts-example.png \
+ scripts/functions.js \
+ scripts/jquery.js \
+ style/OfflineStyle.css \
+ style/style_ie6.css \
+ style/style_ie7.css \
+ style/style_ie8.css \
+ style/style.css
+
qhp.qmake.filterAttributes = qt 4.7.0 tools qmake
qhp.qmake.customFilters.qmake.name = qmake Manual
qhp.qmake.customFilters.qmake.filterAttributes = qt tools qmake
diff --git a/tools/qdoc3/test/qt-api-only_ja_JP.qdocconf b/tools/qdoc3/test/qt-api-only_ja_JP.qdocconf
new file mode 100644
index 0000000000..aa3ab0177b
--- /dev/null
+++ b/tools/qdoc3/test/qt-api-only_ja_JP.qdocconf
@@ -0,0 +1,30 @@
+include(qt-build-docs_ja_JP.qdocconf)
+
+# Ensures that the generated index contains a URL that can be used by the
+# tools documentation (assistant.qdocconf, designer.qdocconf, linguist.qdocconf,
+# qmake.qdocconf).
+
+url = ./
+
+# Ensures that the documentation for the tools is not included in the generated
+# .qhp file.
+
+qhp.Qt.excluded += $QT_SOURCE_TREE/doc/src/development/assistant-manual.qdoc \
+ $QT_SOURCE_TREE/doc/src/examples/simpletextviewer.qdoc \
+ $QT_SOURCE_TREE/doc/src/development/designer-manual.qdoc \
+ $QT_SOURCE_TREE/doc/src/examples/calculatorbuilder.qdoc \
+ $QT_SOURCE_TREE/doc/src/examples/calculatorform.qdoc \
+ $QT_SOURCE_TREE/doc/src/examples/customwidgetplugin.qdoc \
+ $QT_SOURCE_TREE/doc/src/examples/taskmenuextension.qdoc \
+ $QT_SOURCE_TREE/doc/src/examples/containerextension.qdoc \
+ $QT_SOURCE_TREE/doc/src/examples/worldtimeclockbuilder.qdoc \
+ $QT_SOURCE_TREE/doc/src/examples/worldtimeclockplugin.qdoc \
+ $QT_SOURCE_TREE/doc/src/internationalization/linguist-manual.qdoc \
+ $QT_SOURCE_TREE/doc/src/examples/hellotr.qdoc \
+ $QT_SOURCE_TREE/doc/src/examples/arrowpad.qdoc \
+ $QT_SOURCE_TREE/doc/src/examples/trollprint.qdoc \
+ $QT_SOURCE_TREE/doc/src/development/qmake-manual.qdoc
+
+outputdir = $QT_BUILD_TREE/doc-build/html-qt_ja_JP
+tagfile = $QT_BUILD_TREE/doc-build/html-qt_ja_JP/qt.tags
+base = file:$QT_BUILD_TREE/doc-build/html-qt_ja_JP
diff --git a/tools/qdoc3/test/qt-build-docs.qdocconf b/tools/qdoc3/test/qt-build-docs.qdocconf
index 0694748aba..216ac6ae3e 100644
--- a/tools/qdoc3/test/qt-build-docs.qdocconf
+++ b/tools/qdoc3/test/qt-build-docs.qdocconf
@@ -22,45 +22,33 @@ qhp.Qt.indexTitle = Qt Reference Documentation
# Files not referenced in any qdoc file (last four are needed by qtdemo)
# See also extraimages.HTML
qhp.Qt.extraFiles = index.html \
- images/api_examples.png \
- images/api_lookup.png \
- images/api_topics.png \
- images/bg_l_blank.png \
- images/bg_ll_blank.png \
- images/bg_ll.png \
- images/bg_l.png \
- images/bg_lr.png \
- images/bg_r.png \
- images/bg_ul_blank.png \
- images/bg_ul.png \
- images/bg_ur_blank.png \
- images/bg_ur.png \
- images/box_bg.png \
- images/breadcrumb.png \
- images/bullet_dn.png \
- images/bullet_gt.png \
- images/bullet_sq.png \
- images/bullet_up.png \
- images/coloreditorfactoryimage.png \
- images/content_bg.png \
- images/dynamiclayouts-example.png \
- images/feedbackground.png \
- images/form_bg.png \
- images/horBar.png \
- images/page_bg.png \
- images/print.png \
- images/qt_guide.png \
- images/qt_icon.png \
- images/qt-logo.png \
- images/qt_ref_doc.png \
- images/qt_tools.png \
- images/sep.png \
- images/sprites-combined.png \
- images/stylesheet-coffee-plastique.png \
- images/taskmenuextension-example.png \
- scripts/functions.js \
- scripts/jquery.js \
- style/style.css
+ images/bg_l.png \
+ images/bg_l_blank.png \
+ images/bg_r.png \
+ images/box_bg.png \
+ images/breadcrumb.png \
+ images/bullet_gt.png \
+ images/bullet_dn.png \
+ images/bullet_sq.png \
+ images/bullet_up.png \
+ images/feedbackground.png \
+ images/horBar.png \
+ images/page.png \
+ images/page_bg.png \
+ images/sprites-combined.png \
+ images/arrow-down.png \
+ images/spinner.gif \
+ images/stylesheet-coffee-plastique.png \
+ images/taskmenuextension-example.png \
+ images/coloreditorfactoryimage.png \
+ images/dynamiclayouts-example.png \
+ scripts/functions.js \
+ scripts/jquery.js \
+ style/OfflineStyle.css \
+ style/style_ie6.css \
+ style/style_ie7.css \
+ style/style_ie8.css \
+ style/style.css
@@ -127,6 +115,7 @@ excludedirs = $QT_SOURCE_TREE/src/3rdparty/clucene \
$QT_SOURCE_TREE/src/3rdparty/phonon/mmf \
$QT_SOURCE_TREE/src/3rdparty/phonon/waveout \
$QT_SOURCE_TREE/doc/src/snippets \
+ $QT_SOURCE_TREE/doc/src/ja_JP \
$QT_SOURCE_TREE/doc/src/zh_CN
sources.fileextensions = "*.cpp *.qdoc *.mm"
diff --git a/tools/qdoc3/test/qt-build-docs_ja_JP.qdocconf b/tools/qdoc3/test/qt-build-docs_ja_JP.qdocconf
new file mode 100644
index 0000000000..e517b334c3
--- /dev/null
+++ b/tools/qdoc3/test/qt-build-docs_ja_JP.qdocconf
@@ -0,0 +1,110 @@
+include(compat.qdocconf)
+include(macros.qdocconf)
+include(qt-cpp-ignore.qdocconf)
+include(qt-html-templates_ja_JP.qdocconf)
+include(qt-defines.qdocconf)
+
+project = Qt
+description = Qt リファレンスドキュメント
+url = http://qt.nokia.com/doc/ja_JP/4.7
+
+sourceencoding = UTF-8
+outputencoding = UTF-8
+naturallanguage = ja
+
+indexes = $QT_BUILD_TREE/doc-build/html-qt/qt.index
+
+qhp.projects = Qt
+
+qhp.Qt.file = qt.qhp
+qhp.Qt.namespace = com.trolltech.qt.470
+qhp.Qt.virtualFolder = qdoc
+qhp.Qt.title = Qt
+qhp.Qt.indexTitle = Qt
+qhp.Qt.selectors = fake:example
+
+qhp.Qt.filterAttributes = qt 4.7.0 qtrefdoc ja_JP
+qhp.Qt.customFilters.Qt.name = Qt 4.7.0
+qhp.Qt.customFilters.Qt.filterAttributes = qt 4.7.0
+
+# Files not referenced in any qdoc file (last four are needed by qtdemo)
+# See also extraimages.HTML
+qhp.Qt.extraFiles = index.html \
+ images/bg_l.png \
+ images/bg_l_blank.png \
+ images/bg_r.png \
+ images/box_bg.png \
+ images/breadcrumb.png \
+ images/bullet_gt.png \
+ images/bullet_dn.png \
+ images/bullet_sq.png \
+ images/bullet_up.png \
+ images/feedbackground.png \
+ images/horBar.png \
+ images/page.png \
+ images/page_bg.png \
+ images/sprites-combined.png \
+ images/arrow-down.png \
+ images/spinner.gif \
+ images/stylesheet-coffee-plastique.png \
+ images/taskmenuextension-example.png \
+ images/coloreditorfactoryimage.png \
+ images/dynamiclayouts-example.png \
+ scripts/functions.js \
+ scripts/jquery.js \
+ style/OfflineStyle.css \
+ style/style_ie6.css \
+ style/style_ie7.css \
+ style/style_ie8.css \
+ style/style.css
+
+language = Cpp
+
+sourcedirs = $QT_SOURCE_TREE/doc/src/ja_JP
+
+excludedirs = $QT_SOURCE_TREE/src/3rdparty/clucene \
+ $QT_SOURCE_TREE/src/3rdparty/des \
+ $QT_SOURCE_TREE/src/3rdparty/freetype \
+ $QT_SOURCE_TREE/src/3rdparty/harfbuzz \
+ $QT_SOURCE_TREE/src/3rdparty/kdebase \
+ $QT_SOURCE_TREE/src/3rdparty/libjpeg \
+ $QT_SOURCE_TREE/src/3rdparty/libmng \
+ $QT_SOURCE_TREE/src/3rdparty/libpng \
+ $QT_SOURCE_TREE/src/3rdparty/libtiff \
+ $QT_SOURCE_TREE/src/3rdparty/md4 \
+ $QT_SOURCE_TREE/src/3rdparty/md5 \
+ $QT_SOURCE_TREE/src/3rdparty/patches \
+ $QT_SOURCE_TREE/src/3rdparty/sha1 \
+ $QT_SOURCE_TREE/src/3rdparty/sqlite \
+ $QT_SOURCE_TREE/src/3rdparty/webkit/JavaScriptCore \
+ $QT_SOURCE_TREE/src/3rdparty/webkit/WebCore \
+ $QT_SOURCE_TREE/src/3rdparty/wintab \
+ $QT_SOURCE_TREE/src/3rdparty/zlib \
+ $QT_SOURCE_TREE/doc/src/snippets \
+ $QT_SOURCE_TREE/doc/src/zh_CN \
+ $QT_SOURCE_TREE/src/3rdparty/phonon/gstreamer \
+ $QT_SOURCE_TREE/src/3rdparty/phonon/ds9 \
+ $QT_SOURCE_TREE/src/3rdparty/phonon/qt7 \
+ $QT_SOURCE_TREE/src/3rdparty/phonon/mmf \
+ $QT_SOURCE_TREE/src/3rdparty/phonon/waveout
+
+sources.fileextensions = "*.cpp *.qdoc *.mm"
+examples.fileextensions = "*.cpp *.h *.js *.xq *.svg *.xml *.ui *.qhp *.qhcp"
+examples.imageextensions = "*.png"
+
+exampledirs = $QT_SOURCE_TREE/doc/src \
+ $QT_SOURCE_TREE/examples/ja_JP \
+ $QT_SOURCE_TREE/examples \
+ $QT_SOURCE_TREE/examples/tutorials \
+ $QT_SOURCE_TREE \
+ $QT_SOURCE_TREE/qmake/examples \
+ $QT_SOURCE_TREE/src/3rdparty/webkit/WebKit/qt/docs
+imagedirs = $QT_SOURCE_TREE/doc/src/ja_JP/images \
+ $QT_SOURCE_TREE/doc/src/images \
+ $QT_SOURCE_TREE/examples \
+ $QT_SOURCE_TREE/doc/src/template/images
+outputdir = $QT_BUILD_TREE/doc/html_ja_JP
+tagfile = $QT_BUILD_TREE/doc/html_ja_JP/qt.tags
+base = file:$QT_BUILD_TREE/doc/html_ja_JP
+
+HTML.generatemacrefs = "true"
diff --git a/tools/qdoc3/test/qt-build-docs_zh_CN.qdocconf b/tools/qdoc3/test/qt-build-docs_zh_CN.qdocconf
index 5a3d726952..909a2d4a57 100644
--- a/tools/qdoc3/test/qt-build-docs_zh_CN.qdocconf
+++ b/tools/qdoc3/test/qt-build-docs_zh_CN.qdocconf
@@ -30,44 +30,31 @@ qhp.Qt.customFilters.Qt.filterAttributes = qt 4.7.0
# Files not referenced in any qdoc file (last four are needed by qtdemo)
# See also extraimages.HTML
qhp.Qt.extraFiles = index.html \
- images/api_examples.png \
- images/api_lookup.png \
- images/api_topics.png \
- images/bg_l_blank.png \
- images/bg_ll_blank.png \
- images/bg_ll.png \
images/bg_l.png \
- images/bg_lr.png \
+ images/bg_l_blank.png \
images/bg_r.png \
- images/bg_ul_blank.png \
- images/bg_ul.png \
- images/bg_ur_blank.png \
- images/bg_ur.png \
- images/box_bg.png \
+ images/box_bg.png \
images/breadcrumb.png \
- images/bullet_dn.png \
images/bullet_gt.png \
+ images/bullet_dn.png \
images/bullet_sq.png \
images/bullet_up.png \
- images/coloreditorfactoryimage.png \
- images/content_bg.png \
- images/dynamiclayouts-example.png \
images/feedbackground.png \
- images/form_bg.png \
images/horBar.png \
+ images/page.png \
images/page_bg.png \
- images/print.png \
- images/qt_guide.png \
- images/qt_icon.png \
- images/qt-logo.png \
- images/qt_ref_doc.png \
- images/qt_tools.png \
- images/sep.png \
images/sprites-combined.png \
+ images/arrow-down.png \
+ images/spinner.gif \
images/stylesheet-coffee-plastique.png \
images/taskmenuextension-example.png \
- scripts/functions.js \
- scripts/jquery.js \
+ images/coloreditorfactoryimage.png \
+ images/dynamiclayouts-example.png \
+ scripts/functions.js \
+ scripts/jquery.js \
+ style/style_ie6.css \
+ style/style_ie7.css \
+ style/style_ie8.css \
style/style.css
language = Cpp
@@ -93,6 +80,7 @@ excludedirs = $QT_SOURCE_TREE/src/3rdparty/clucene \
$QT_SOURCE_TREE/src/3rdparty/wintab \
$QT_SOURCE_TREE/src/3rdparty/zlib \
$QT_SOURCE_TREE/doc/src/snippets \
+ $QT_SOURCE_TREE/doc/src/ja_JP \
$QT_SOURCE_TREE/src/3rdparty/phonon/gstreamer \
$QT_SOURCE_TREE/src/3rdparty/phonon/ds9 \
$QT_SOURCE_TREE/src/3rdparty/phonon/qt7 \
diff --git a/tools/qdoc3/test/qt-defines.qdocconf b/tools/qdoc3/test/qt-defines.qdocconf
index 0426f4d5d6..9e41d93001 100644
--- a/tools/qdoc3/test/qt-defines.qdocconf
+++ b/tools/qdoc3/test/qt-defines.qdocconf
@@ -20,50 +20,49 @@ codeindent = 1
# See also qhp.Qt.extraFiles
extraimages.HTML = qt-logo \
trolltech-logo \
- api_examples.png \
- bg_ll.png \
- bg_ul_blank.png \
- bullet_gt.png \
- horBar.png \
- qt_ref_doc.png \
- api_lookup.png \
- bg_ll_blank.png \
- bg_ur.png \
- bullet_sq.png \
- bullet_dn.png \
- bullet_up.png \
- page_bg.png \
- qt_tools.png \
- api_topics.png \
- bg_lr.png \
- bg_ur_blank.png \
- content_bg.png \
- print.png \
- sep.png \
- bg_l.png \
- bg_r.png \
- box_bg.png \
- feedbackground.png \
- qt_guide.png \
- sprites-combined.png \
- bg_l_blank.png \
- bg_ul.png \
- breadcrumb.png \
- form_bg.png \
- qt_icon.png \
- taskmenuextension-example.png \
- coloreditorfactoryimage.png \
- dynamiclayouts-example.png \
- stylesheet-coffee-plastique.png
+ bg_l.png \
+ bg_l_blank.png \
+ bg_ll_blank.png \
+ bg_ul_blank.png \
+ header_bg.png \
+ bg_r.png \
+ box_bg.png \
+ breadcrumb.png \
+ bullet_gt.png \
+ bullet_dn.png \
+ bullet_sq.png \
+ bullet_up.png \
+ arrow_down.png \
+ feedbackground.png \
+ horBar.png \
+ page.png \
+ page_bg.png \
+ sprites-combined.png \
+ spinner.gif \
+ stylesheet-coffee-plastique.png \
+ taskmenuextension-example.png \
+ coloreditorfactoryimage.png \
+ dynamiclayouts-example.png \
# This stuff is used by the new doc format.
scriptdirs = $QT_SOURCE_TREE/doc/src/template/scripts
styledirs = $QT_SOURCE_TREE/doc/src/template/style
scripts.HTML = functions.js \
+ shBrushCpp.js \
+ shCore.js \
+ shLegacy.js \
+ narrow.js \
+ superfish.js \
jquery.js
styles.HTML = style.css \
+ shCore.css \
+ shThemeDefault.css \
+ narrow.css \
+ superfish.css \
+ superfish_skin.css \
+ OfflineStyle.css \
style_ie6.css \
style_ie7.css \
style_ie8.css
diff --git a/tools/qdoc3/test/qt-ditaxml.qdocconf b/tools/qdoc3/test/qt-ditaxml.qdocconf
new file mode 100644
index 0000000000..66f30e30e2
--- /dev/null
+++ b/tools/qdoc3/test/qt-ditaxml.qdocconf
@@ -0,0 +1,11 @@
+include(qt.qdocconf)
+
+imagedirs = $QTDIR/doc/src/images \
+ $QTDIR/examples \
+ $QTDIR/doc/src/template/images
+
+outputdir = $QTDIR/doc/ditaxml
+outputformats = DITAXML
+
+generateindex = true
+url = .
diff --git a/tools/qdoc3/test/qt-html-templates.qdocconf b/tools/qdoc3/test/qt-html-templates.qdocconf
index 85a29c2226..60f5fb1324 100644
--- a/tools/qdoc3/test/qt-html-templates.qdocconf
+++ b/tools/qdoc3/test/qt-html-templates.qdocconf
@@ -1,8 +1,19 @@
-HTML.stylesheets = style/style.css
+HTML.stylesheets = style/style.css \
+ style/OfflineStyle.css \
+ style/style_ie7.css \
+ style/style_ie8.css \
+ style/style_ie6.css
+
HTML.postheader = " <div class=\"header\" id=\"qtdocheader\">\n" \
+ " <div class=\"content\"> \n" \
" <div id=\"nav-logo\">\n" \
" <a href=\"index.html\">Home</a></div>\n" \
" <a href=\"index.html\" class=\"qtref\"><span>Qt Reference Documentation</span></a>\n" \
+ " <div id=\"narrowsearch\"><form onsubmit=\"return false;\" action=\"\" id=\"qtdocsearch\">\n" \
+ " <fieldset>\n" \
+ " <input type=\"text\" value=\"\" id=\"pageType\" name=\"searchstring\">\n" \
+ " </fieldset>\n" \
+ " </form></div>\n" \
" <div id=\"nav-topright\">\n" \
" <ul>\n" \
" <li class=\"nav-topright-home\"><a href=\"http://qt.nokia.com/\">Qt HOME</a></li>\n" \
@@ -17,9 +28,39 @@ HTML.postheader = " <div class=\"header\" id=\"qtdocheader\">\n" \
" <div id=\"shortCut\">\n" \
" <ul>\n" \
" <li class=\"shortCut-topleft-inactive\"><span><a href=\"index.html\">Qt 4.7</a></span></li>\n" \
- " <li class=\"shortCut-topleft-active\"><a href=\"http://qt.nokia.com/doc/\">ALL Qt VERSIONS" \
+ " <li class=\"shortCut-topleft-active\"><a href=\"http://qt.nokia.com/doc/\">ALL VERSIONS" \
" </a></li>\n" \
" </ul>\n" \
+ " </div>\n" \
+ " <ul class=\"sf-menu sf-js-enabled sf-shadow\" id=\"narrowmenu\"> \n" \
+ " <li><a href=\"#\">API Lookup</a> \n" \
+ " <ul id=\"topmenuLook\"> \n" \
+ " <li><a href=\"classes.html\">Class index</a></li> \n" \
+ " <li><a href=\"functions.html\">Function index</a></li> \n" \
+ " <li><a href=\"modules.html\">Modules</a></li> \n" \
+ " <li><a href=\"namespaces.html\">Namespaces</a></li> \n" \
+ " <li><a href=\"qtglobal.html\">Global stuff</a></li> \n" \
+ " <li><a href=\"qdeclarativeelements.html\">QML elements</a></li> \n" \
+ " </ul> \n" \
+ " </li> \n" \
+ " <li><a href=\"#\">Qt Topics</a> \n" \
+ " <ul id=\"topmenuTopic\"> \n" \
+ " <li><a href=\"qt-basic-concepts.html\">Basic Qt architecture</a></li> \n" \
+ " <li><a href=\"declarativeui.html\">Device UI's &amp; Qt Quick</a></li> \n" \
+ " <li><a href=\"qt-gui-concepts.html\">Desktop UI components</a></li> \n" \
+ " <li><a href=\"platform-specific.html\">Platform-specific info</a></li> \n" \
+ " </ul> \n" \
+ " </li> \n" \
+ " <li><a href=\"#\">Examples</a> \n" \
+ " <ul id=\"topmenuexample\"> \n" \
+ " <li><a href=\"all-examples.html\">Examples</a></li> \n" \
+ " <li><a href=\"tutorials.html\">Tutorials</a></li> \n" \
+ " <li><a href=\"demos.html\">Demos</a></li> \n" \
+ " <li><a href=\"qdeclarativeexamples.html\">QML Examples</a></li> \n" \
+ " <li><a href=\"qdeclarativeexamples.html#Demos\">QML Demos</a></li> \n" \
+ " </ul> \n" \
+ " </li> \n" \
+ " </ul> \n" \
" </div>\n" \
" </div>\n" \
" <div class=\"wrapper\">\n" \
@@ -31,55 +72,49 @@ HTML.postheader = " <div class=\"header\" id=\"qtdocheader\">\n" \
" <div class=\"searchlabel\">\n" \
" Search index:</div>\n" \
" <div class=\"search\">\n" \
- " <form id=\"qtdocsearch\" action=\"#\">\n" \
+ " <form id=\"qtdocsearch\" action=\"\" onsubmit=\"return false;\">\n" \
" <fieldset>\n" \
- " <input type=\"text\" name=\"searchstring\" id=\"searchstring\" value=\"\" onkeyup=\"doSearch(this.value);\" />\n" \
+ " <input type=\"text\" name=\"searchstring\" id=\"pageType\" value=\"\" />\n" \
" </fieldset>\n" \
" </form>\n" \
" </div>\n" \
" <div class=\"box first bottombar\" id=\"lookup\">\n" \
- " <h2>\n" \
+ " <h2 title=\"API Lookup\"><span></span>\n" \
" API Lookup</h2>\n" \
- " <div class=\"list\">\n" \
- " <ul>\n" \
- " <li><a href=\"modules.html\">All modules</a></li>\n" \
- " <li><a href=\"classes.html\">All classes</a></li>\n" \
- " <li><a href=\"functions.html\">All functions</a></li>\n" \
- " <li><a href=\"namespaces.html\">All namespaces</a></li>\n" \
- " <li><a href=\"platform-specific.html\">Platform specifics</a></li>\n" \
- " </ul>\n" \
- " </div>\n" \
- " <div class=\"live\">\n" \
+ " <div id=\"list001\" class=\"list\">\n" \
+ " <ul id=\"ul001\" >\n" \
+ " <li class=\"defaultLink\"><a href=\"classes.html\">Class index</a></li>\n" \
+ " <li class=\"defaultLink\"><a href=\"functions.html\">Function index</a></li>\n" \
+ " <li class=\"defaultLink\"><a href=\"modules.html\">Modules</a></li>\n" \
+ " <li class=\"defaultLink\"><a href=\"namespaces.html\">Namespaces</a></li>\n" \
+ " <li class=\"defaultLink\"><a href=\"qtglobal.html\">Global stuff</a></li>\n" \
+ " <li class=\"defaultLink\"><a href=\"qdeclarativeelements.html\">QML elements</a></li>\n" \
+ " </ul> \n" \
" </div>\n" \
" </div>\n" \
" <div class=\"box bottombar\" id=\"topics\">\n" \
- " <h2>\n" \
- " API Topics</h2>\n" \
- " <div class=\"list\">\n" \
- " <ul>\n" \
- " <li><a href=\"object.html\">QObject model</a></li>\n" \
- " <li><a href=\"eventsandfilters.html\">Events, signals &amp; slots</a></li>\n" \
- " <li><a href=\"paintsystem.html\">Graphics &amp; Paint system</a></li>\n" \
- " <li><a href=\"declarativeui.html\">Qt Quick</a></li>\n" \
- " <li><a href=\"widgets-and-layouts.html\">Widget style &amp; layout</a></li>\n" \
- " </ul>\n" \
- " </div>\n" \
- " <div class=\"live\">\n" \
+ " <h2 title=\"Qt Topics\"><span></span>\n" \
+ " Qt Topics</h2>\n" \
+ " <div id=\"list002\" class=\"list\">\n" \
+ " <ul id=\"ul002\" >\n" \
+ " <li class=\"defaultLink\"><a href=\"qt-basic-concepts.html\">Basic Qt architecture</a></li>\n" \
+ " <li class=\"defaultLink\"><a href=\"declarativeui.html\">Device UI's &amp; Qt Quick</a></li>\n" \
+ " <li class=\"defaultLink\"><a href=\"qt-gui-concepts.html\">Desktop UI components</a></li>\n" \
+ " <li class=\"defaultLink\"><a href=\"platform-specific.html\">Platform-specific info</a></li>\n" \
+ " </ul> \n" \
" </div>\n" \
" </div>\n" \
" <div class=\"box\" id=\"examples\">\n" \
- " <h2>\n" \
- " API Examples</h2>\n" \
- " <div class=\"list\">\n" \
- " <ul>\n" \
- " <li><a href=\"examples.html\">All examples</a></li>\n" \
- " <li><a href=\"tutorials.html\">All tutorials</a></li>\n" \
- " <li><a href=\"examples.html\">Qt Quick examples</a></li>\n" \
- " <li><a href=\"examples.html\">Desktop examples</a></li>\n" \
- " <li><a href=\"examples.html\">Device examples</a></li>\n" \
- " </ul>\n" \
- " </div>\n" \
- " <div class=\"live\">\n" \
+ " <h2 title=\"Examples\"><span></span>\n" \
+ " Examples</h2>\n" \
+ " <div id=\"list003\" class=\"list\">\n" \
+ " <ul id=\"ul003\">\n" \
+ " <li class=\"defaultLink\"><a href=\"all-examples.html\">Examples</a></li>\n" \
+ " <li class=\"defaultLink\"><a href=\"tutorials.html\">Tutorials</a></li>\n" \
+ " <li class=\"defaultLink\"><a href=\"demos.html\">Demos</a></li>\n" \
+ " <li class=\"defaultLink\"><a href=\"qdeclarativeexamples.html\">QML Examples</a></li>\n" \
+ " <li class=\"defaultLink\"><a href=\"qdeclarativeexamples.html#Demos\">QML Demos</a></li>\n" \
+ " </ul> \n" \
" </div>\n" \
" </div>\n" \
" </div>\n" \
@@ -98,20 +133,21 @@ HTML.postpostheader = " </ul>\n" \
" <li id=\"medA\" class=\"t_button active\">A</li>\n" \
" <li id=\"bigA\" class=\"t_button\">A</li>\n" \
" <li id=\"print\" class=\"t_button\"><a href=\"javascript:this.print();\">\n" \
- " <img src=\"images/sep.png\" alt=\"\" /><img id=\"printIcon\" src=\"images/print.png\" alt=\"Print this page\" /></a></li>\n" \
+ " <span>Print</span></a></li>\n" \
" </ul>\n" \
" </div>\n" \
" </div>\n" \
" <div class=\"content\">\n"
-HTML.footer = " </div>\n" \
- " <div class=\"feedback t_button\" onclick=\"\$(\'#feedbackBox\').show();\$(\'#blurpage\').show()\">\n" \
+HTML.footer = " <!-- /div -->\n" \
+ " <div class=\"feedback t_button\">\n" \
" [+] Documentation Feedback</div>\n" \
" </div>\n" \
" </div>\n" \
" <div class=\"ft\">\n" \
" <span></span>\n" \
" </div>\n" \
+ " </div> \n" \
" <div class=\"footer\">\n" \
" <p>\n" \
" <acronym title=\"Copyright\">&copy;</acronym> 2008-2010 Nokia Corporation and/or its\n" \
@@ -122,13 +158,10 @@ HTML.footer = " </div>\n" \
" href=\"http://qt.nokia.com/about/privacy-policy\">Privacy Policy</a></p>\n" \
" </div>\n" \
" <div id=\"feedbackBox\">\n" \
- " <div id=\"feedcloseX\">\n" \
- " <a href=\"#\" onclick=\"\$(\'#feedbackBox\').hide();\$(\'#blurpage\').hide()\">X</a>\n" \
- " </div>\n" \
- " <form action=\"#\">\n" \
- " <textarea id=\"feedbox\" rows=\"5\" cols=\"40\">Please submit you feedback...</textarea>\n" \
- " <input id=\"feedsubmit\" type=\"submit\" onclick=\"\$(\'#feedbackBox\').hide();\$(\'#blurpage\').hide()\"\n" \
- " name=\"feedback\" />\n" \
+ " <div id=\"feedcloseX\" class=\"feedclose t_button\">X</div>\n" \
+ " <form id=\"feedform\" action=\"http://doc.qt.nokia.com/docFeedbck/feedback.php\" method=\"get\">\n" \
+ " <p><textarea id=\"feedbox\" name=\"feedText\" rows=\"5\" cols=\"40\">Please submit you feedback...</textarea></p>\n" \
+ " <p><input id=\"feedsubmit\" class=\"feedclose\" type=\"submit\" name=\"feedback\" /></p>\n" \
" </form>\n" \
" </div>\n" \
" <div id=\"blurpage\">\n" \
diff --git a/tools/qdoc3/test/qt-html-templates_ja_JP.qdocconf b/tools/qdoc3/test/qt-html-templates_ja_JP.qdocconf
new file mode 100644
index 0000000000..027548eacb
--- /dev/null
+++ b/tools/qdoc3/test/qt-html-templates_ja_JP.qdocconf
@@ -0,0 +1,178 @@
+HTML.stylesheets = style/style.css \
+ style/OfflineStyle.css \
+ style/style_ie7.css \
+ style/style_ie8.css \
+ style/style_ie6.css
+
+HTML.postheader = " <div class=\"header\" id=\"qtdocheader\">\n" \
+ " <div class=\"content\"> \n" \
+ " <div id=\"nav-logo\">\n" \
+ " <a href=\"index.html\">Home</a></div>\n" \
+ " <a href=\"index.html\" class=\"qtref\"><span>Qt Reference Documentation</span></a>\n" \
+ " <div id=\"narrowsearch\"><form onsubmit=\"return false;\" action=\"\" id=\"qtdocsearch\">\n" \
+ " <fieldset>\n" \
+ " <input type=\"text\" value=\"\" id=\"pageType\" name=\"searchstring\">\n" \
+ " </fieldset>\n" \
+ " </form></div>\n" \
+ " <div id=\"nav-topright\">\n" \
+ " <ul>\n" \
+ " <li class=\"nav-topright-home\"><a href=\"http://qt.nokia.com/\">Qt HOME</a></li>\n" \
+ " <li class=\"nav-topright-dev\"><a href=\"http://qt.nokia.com/developer\">DEV</a></li>\n" \
+ " <li class=\"nav-topright-labs\"><a href=\"http://labs.qt.nokia.com/blogs/\">LABS</a></li>\n" \
+ " <li class=\"nav-topright-doc nav-topright-doc-active\"><a href=\"http://doc.qt.nokia.com/\">\n" \
+ " DOC</a></li>\n" \
+ " <li class=\"nav-topright-blog\"><a href=\"http://blog.qt.nokia.com/\">BLOG</a></li>\n" \
+ " <li class=\"nav-topright-shop\"><a title=\"SHOP\" href=\"http://shop.qt.nokia.com\">SHOP</a></li>\n" \
+ " </ul>\n" \
+ " </div>\n" \
+ " <div id=\"shortCut\">\n" \
+ " <ul>\n" \
+ " <li class=\"shortCut-topleft-inactive\"><span><a href=\"index.html\">Qt 4.7</a></span></li>\n" \
+ " <li class=\"shortCut-topleft-active\"><a href=\"http://qt.nokia.com/doc/\">ALL VERSIONS" \
+ " </a></li>\n" \
+ " </ul>\n" \
+ " </div>\n" \
+ " <ul class=\"sf-menu sf-js-enabled sf-shadow\" id=\"narrowmenu\"> \n" \
+ " <li><a href=\"#\">API Lookup</a> \n" \
+ " <ul id=\"topmenuLook\"> \n" \
+ " <li><a href=\"classes.html\">Class index</a></li> \n" \
+ " <li><a href=\"functions.html\">Function index</a></li> \n" \
+ " <li><a href=\"modules.html\">Modules</a></li> \n" \
+ " <li><a href=\"namespaces.html\">Namespaces</a></li> \n" \
+ " <li><a href=\"qtglobal.html\">Global stuff</a></li> \n" \
+ " <li><a href=\"qdeclarativeelements.html\">QML elements</a></li> \n" \
+ " </ul> \n" \
+ " </li> \n" \
+ " <li><a href=\"#\">Qt Topics</a> \n" \
+ " <ul id=\"topmenuTopic\"> \n" \
+ " <li><a href=\"qt-basic-concepts.html\">Basic Qt architecture</a></li> \n" \
+ " <li><a href=\"declarativeui.html\">Device UI's &amp; Qt Quick</a></li> \n" \
+ " <li><a href=\"qt-gui-concepts.html\">Desktop UI components</a></li> \n" \
+ " <li><a href=\"platform-specific.html\">Platform-specific info</a></li> \n" \
+ " </ul> \n" \
+ " </li> \n" \
+ " <li><a href=\"#\">Examples</a> \n" \
+ " <ul id=\"topmenuexample\"> \n" \
+ " <li><a href=\"all-examples.html\">Examples</a></li> \n" \
+ " <li><a href=\"tutorials.html\">チュートリアル</a></li> \n" \
+ " <li><a href=\"demos.html\">Demos</a></li> \n" \
+ " <li><a href=\"qdeclarativeexamples.html\">QML Examples</a></li> \n" \
+ " <li><a href=\"qdeclarativeexamples.html#Demos\">QML Demos</a></li> \n" \
+ " </ul> \n" \
+ " </li> \n" \
+ " </ul> \n" \
+ " </div>\n" \
+ " </div>\n" \
+ " <div class=\"wrapper\">\n" \
+ " <div class=\"hd\">\n" \
+ " <span></span>\n" \
+ " </div>\n" \
+ " <div class=\"bd group\">\n" \
+ " <div class=\"sidebar\">\n" \
+ " <div class=\"searchlabel\">\n" \
+ " Search index:</div>\n" \
+ " <div class=\"search\">\n" \
+ " <form id=\"qtdocsearch\" action=\"\" onsubmit=\"return false;\">\n" \
+ " <fieldset>\n" \
+ " <input type=\"text\" name=\"searchstring\" id=\"pageType\" value=\"\" />\n" \
+ " </fieldset>\n" \
+ " </form>\n" \
+ " </div>\n" \
+ " <div class=\"box first bottombar\" id=\"lookup\">\n" \
+ " <h2 title=\"API Lookup\"><span></span>\n" \
+ " API Lookup</h2>\n" \
+ " <div id=\"list001\" class=\"list\">\n" \
+ " <ul id=\"ul001\" >\n" \
+ " <li class=\"defaultLink\"><a href=\"classes.html\">Class index</a></li>\n" \
+ " <li class=\"defaultLink\"><a href=\"functions.html\">Function index</a></li>\n" \
+ " <li class=\"defaultLink\"><a href=\"modules.html\">Modules</a></li>\n" \
+ " <li class=\"defaultLink\"><a href=\"namespaces.html\">Namespaces</a></li>\n" \
+ " <li class=\"defaultLink\"><a href=\"qtglobal.html\">Global stuff</a></li>\n" \
+ " <li class=\"defaultLink\"><a href=\"qdeclarativeelements.html\">QML elements</a></li>\n" \
+ " </ul> \n" \
+ " </div>\n" \
+ " </div>\n" \
+ " <div class=\"box bottombar\" id=\"topics\">\n" \
+ " <h2 title=\"Qt Topics\"><span></span>\n" \
+ " Qt Topics</h2>\n" \
+ " <div id=\"list002\" class=\"list\">\n" \
+ " <ul id=\"ul002\" >\n" \
+ " <li class=\"defaultLink\"><a href=\"qt-basic-concepts.html\">Basic Qt architecture</a></li>\n" \
+ " <li class=\"defaultLink\"><a href=\"declarativeui.html\">Device UI's &amp; Qt Quick</a></li>\n" \
+ " <li class=\"defaultLink\"><a href=\"qt-gui-concepts.html\">Desktop UI components</a></li>\n" \
+ " <li class=\"defaultLink\"><a href=\"platform-specific.html\">Platform-specific info</a></li>\n" \
+ " </ul> \n" \
+ " </div>\n" \
+ " </div>\n" \
+ " <div class=\"box\" id=\"examples\">\n" \
+ " <h2 title=\"Examples\"><span></span>\n" \
+ " Examples</h2>\n" \
+ " <div id=\"list003\" class=\"list\">\n" \
+ " <ul id=\"ul003\">\n" \
+ " <li class=\"defaultLink\"><a href=\"all-examples.html\">Examples</a></li>\n" \
+ " <li class=\"defaultLink\"><a href=\"tutorials.html\">チュートリアル</a></li>\n" \
+ " <li class=\"defaultLink\"><a href=\"demos.html\">Demos</a></li>\n" \
+ " <li class=\"defaultLink\"><a href=\"qdeclarativeexamples.html\">QML Examples</a></li>\n" \
+ " <li class=\"defaultLink\"><a href=\"qdeclarativeexamples.html#Demos\">QML Demos</a></li>\n" \
+ " </ul> \n" \
+ " </div>\n" \
+ " </div>\n" \
+ " </div>\n" \
+ " <div class=\"wrap\">\n" \
+ " <div class=\"toolbar\">\n" \
+ " <div class=\"breadcrumb toolblock\">\n" \
+ " <ul>\n" \
+ " <li class=\"first\"><a href=\"index.html\">Home</a></li>\n" \
+ " <!-- Bread crumbs goes here -->\n"
+
+HTML.postpostheader = " </ul>\n" \
+ " </div>\n" \
+ " <div class=\"toolbuttons toolblock\">\n" \
+ " <ul>\n" \
+ " <li id=\"smallA\" class=\"t_button\">A</li>\n" \
+ " <li id=\"medA\" class=\"t_button active\">A</li>\n" \
+ " <li id=\"bigA\" class=\"t_button\">A</li>\n" \
+ " <li id=\"print\" class=\"t_button\"><a href=\"javascript:this.print();\">\n" \
+ " <span>Print</span></a></li>\n" \
+ " </ul>\n" \
+ " </div>\n" \
+ " </div>\n" \
+ " <div class=\"content\">\n"
+
+HTML.footer = " <!-- /div -->\n" \
+ " <div class=\"feedback t_button\">\n" \
+ " [+] Documentation Feedback</div>\n" \
+ " </div>\n" \
+ " </div>\n" \
+ " <div class=\"ft\">\n" \
+ " <span></span>\n" \
+ " </div>\n" \
+ " </div> \n" \
+ " <div class=\"footer\">\n" \
+ " <p>\n" \
+ " <acronym title=\"Copyright\">&copy;</acronym> 2008-2010 Nokia Corporation and/or its\n" \
+ " subsidiaries. Nokia, Qt and their respective logos are trademarks of Nokia Corporation \n" \
+ " in Finland and/or other countries worldwide.</p>\n" \
+ " <p>\n" \
+ " All other trademarks are property of their respective owners. <a title=\"Privacy Policy\"\n" \
+ " href=\"http://qt.nokia.com/about/privacy-policy\">Privacy Policy</a></p>\n" \
+ " </div>\n" \
+ " <div id=\"feedbackBox\">\n" \
+ " <div id=\"feedcloseX\" class=\"feedclose t_button\">X</div>\n" \
+ " <form id=\"feedform\" action=\"http://doc.qt.nokia.com/docFeedbck/feedback.php\" method=\"get\">\n" \
+ " <p><textarea id=\"feedbox\" name=\"feedText\" rows=\"5\" cols=\"40\">Please submit you feedback...</textarea></p>\n" \
+ " <p><input id=\"feedsubmit\" class=\"feedclose\" type=\"submit\" name=\"feedback\" /></p>\n" \
+ " </form>\n" \
+ " </div>\n" \
+ " <div id=\"blurpage\">\n" \
+ " </div>\n" \
+ "<script type=\"text/javascript\">\n" \
+ " var _gaq = _gaq || [];\n" \
+ " _gaq.push([\'_setAccount\', \'UA-4457116-5\']);\n" \
+ " _gaq.push([\'_trackPageview\']);\n" \
+ " (function() {\n" \
+ " var ga = document.createElement(\'script\'); ga.type = \'text/javascript\'; ga.async = true;\n" \
+ " ga.src = (\'https:\' == document.location.protocol ? \'https://ssl\' : \'http://www\') + \'.google-analytics.com/ga.js\';\n" \
+ " var s = document.getElementsByTagName(\'script\')[0]; s.parentNode.insertBefore(ga, s);\n" \
+ " })();\n" \
+ "</script>\n"
diff --git a/tools/qdoc3/test/qt.qdocconf b/tools/qdoc3/test/qt.qdocconf
index 69ab4e1030..d13277173a 100644
--- a/tools/qdoc3/test/qt.qdocconf
+++ b/tools/qdoc3/test/qt.qdocconf
@@ -26,45 +26,46 @@ qhp.Qt.indexRoot =
# Files not referenced in any qdoc file (last four are needed by qtdemo)
# See also extraimages.HTML
qhp.Qt.extraFiles = index.html \
- images/api_examples.png \
- images/api_lookup.png \
- images/api_topics.png \
- images/bg_l_blank.png \
+ images/bg_l.png \
+ images/bg_l_blank.png \
images/bg_ll_blank.png \
- images/bg_ll.png \
- images/bg_l.png \
- images/bg_lr.png \
- images/bg_r.png \
- images/bg_ul_blank.png \
- images/bg_ul.png \
- images/bg_ur_blank.png \
- images/bg_ur.png \
+ images/bg_ul_blank.png \
+ images/header_bg.png \
+ images/bg_r.png \
images/box_bg.png \
- images/breadcrumb.png \
- images/bullet_dn.png \
- images/bullet_gt.png \
- images/bullet_sq.png \
- images/bullet_up.png \
- images/coloreditorfactoryimage.png \
- images/content_bg.png \
- images/dynamiclayouts-example.png \
- images/feedbackground.png \
- images/form_bg.png \
- images/horBar.png \
- images/page_bg.png \
- images/print.png \
- images/qt_guide.png \
- images/qt_icon.png \
- images/qt-logo.png \
- images/qt_ref_doc.png \
- images/qt_tools.png \
- images/sep.png \
- images/sprites-combined.png \
- images/stylesheet-coffee-plastique.png \
- images/taskmenuextension-example.png \
+ images/breadcrumb.png \
+ images/bullet_gt.png \
+ images/bullet_dn.png \
+ images/bullet_sq.png \
+ images/bullet_up.png \
+ images/arrow_down.png \
+ images/feedbackground.png \
+ images/horBar.png \
+ images/page.png \
+ images/page_bg.png \
+ images/sprites-combined.png \
+ images/spinner.gif \
+ images/stylesheet-coffee-plastique.png \
+ images/taskmenuextension-example.png \
+ images/coloreditorfactoryimage.png \
+ images/dynamiclayouts-example.png \
scripts/functions.js \
scripts/jquery.js \
- style/style.css
+ scripts/shBrushCpp.js \
+ scripts/shCore.js \
+ scripts/shLegacy.js \
+ scripts/narrow.js \
+ scripts/superfish.js \
+ style/shCore.css \
+ style/shThemeDefault.css \
+ style/narrow.css \
+ style/superfish.css \
+ style/superfish_skin.css \
+ style/OfflineStyle.css \
+ style/style_ie6.css \
+ style/style_ie7.css \
+ style/style_ie8.css \
+ style/style.css
qhp.Qt.filterAttributes = qt 4.7.0 qtrefdoc
qhp.Qt.customFilters.Qt.name = Qt 4.7.0
@@ -129,6 +130,7 @@ excludedirs = $QTDIR/src/3rdparty/clucene \
$QTDIR/src/3rdparty/phonon/mmf \
$QTDIR/src/3rdparty/phonon/waveout \
$QTDIR/doc/src/snippets \
+ $QTDIR/doc/src/ja_JP \
$QTDIR/doc/src/zh_CN
sources.fileextensions = "*.cpp *.qdoc *.mm"
diff --git a/tools/qdoc3/test/qt_ja_JP.qdocconf b/tools/qdoc3/test/qt_ja_JP.qdocconf
new file mode 100644
index 0000000000..d4141c7535
--- /dev/null
+++ b/tools/qdoc3/test/qt_ja_JP.qdocconf
@@ -0,0 +1,125 @@
+include(compat.qdocconf)
+include(macros.qdocconf)
+include(qt-cpp-ignore.qdocconf)
+include(qt-html-templates_ja_JP.qdocconf)
+include(qt-defines.qdocconf)
+
+project = Qt
+versionsym =
+version = %VERSION%
+description = Qt リファレンスドキュメント
+url = http://qt.nokia.com/doc/ja_JP/4.7
+
+sourceencoding = UTF-8
+outputencoding = UTF-8
+naturallanguage = ja
+
+indexes = $QTDIR/doc/html/qt.index
+
+qhp.projects = Qt
+
+qhp.Qt.file = qt.qhp
+qhp.Qt.namespace = com.trolltech.qt.470
+qhp.Qt.virtualFolder = qdoc
+qhp.Qt.title = Qt
+qhp.Qt.indexTitle = Qt
+qhp.Qt.selectors = fake:example
+
+qhp.Qt.filterAttributes = qt 4.7.0 qtrefdoc ja_JP
+qhp.Qt.customFilters.Qt.name = Qt 4.7.0
+qhp.Qt.customFilters.Qt.filterAttributes = qt 4.7.0
+
+# Files not referenced in any qdoc file (last four are needed by qtdemo)
+# See also extraimages.HTML
+qhp.Qt.extraFiles = index.html \
+ images/bg_l.png \
+ images/bg_l_blank.png \
+ images/bg_ll_blank.png \
+ images/bg_ul_blank.png \
+ images/header_bg.png \
+ images/bg_r.png \
+ images/box_bg.png \
+ images/breadcrumb.png \
+ images/bullet_gt.png \
+ images/bullet_dn.png \
+ images/bullet_sq.png \
+ images/bullet_up.png \
+ images/arrow_down.png \
+ images/feedbackground.png \
+ images/horBar.png \
+ images/page.png \
+ images/page_bg.png \
+ images/sprites-combined.png \
+ images/spinner.gif \
+ images/stylesheet-coffee-plastique.png \
+ images/taskmenuextension-example.png \
+ images/coloreditorfactoryimage.png \
+ images/dynamiclayouts-example.png \
+ scripts/functions.js \
+ scripts/jquery.js \
+ scripts/shBrushCpp.js \
+ scripts/shCore.js \
+ scripts/shLegacy.js \
+ scripts/narrow.js \
+ scripts/superfish.js \
+ style/shCore.css \
+ style/shThemeDefault.css \
+ style/narrow.css \
+ style/superfish.css \
+ style/superfish_skin.css \
+ style/OfflineStyle.css \
+ style/style_ie6.css \
+ style/style_ie7.css \
+ style/style_ie8.css \
+ style/style.css
+
+language = Cpp
+
+sourcedirs = $QTDIR/doc/src/ja_JP
+
+excludedirs = $QTDIR/src/3rdparty/clucene \
+ $QTDIR/src/3rdparty/des \
+ $QTDIR/src/3rdparty/freetype \
+ $QTDIR/src/3rdparty/harfbuzz \
+ $QTDIR/src/3rdparty/kdebase \
+ $QTDIR/src/3rdparty/libjpeg \
+ $QTDIR/src/3rdparty/libmng \
+ $QTDIR/src/3rdparty/libpng \
+ $QTDIR/src/3rdparty/libtiff \
+ $QTDIR/src/3rdparty/md4 \
+ $QTDIR/src/3rdparty/md5 \
+ $QTDIR/src/3rdparty/patches \
+ $QTDIR/src/3rdparty/sha1 \
+ $QTDIR/src/3rdparty/sqlite \
+ $QTDIR/src/3rdparty/webkit/JavaScriptCore \
+ $QTDIR/src/3rdparty/webkit/WebCore \
+ $QTDIR/src/3rdparty/wintab \
+ $QTDIR/src/3rdparty/zlib \
+ $QTDIR/doc/src/snippets \
+ $QTDIR/doc/src/zh_CN \
+ $QTDIR/src/3rdparty/phonon/gstreamer \
+ $QTDIR/src/3rdparty/phonon/ds9 \
+ $QTDIR/src/3rdparty/phonon/qt7 \
+ $QTDIR/src/3rdparty/phonon/mmf \
+ $QTDIR/src/3rdparty/phonon/waveout
+
+sources.fileextensions = "*.cpp *.qdoc *.mm"
+examples.fileextensions = "*.cpp *.h *.js *.xq *.svg *.xml *.ui *.qhp *.qhcp"
+examples.imageextensions = "*.png"
+
+exampledirs = $QTDIR/doc/src \
+ $QTDIR/examples/ja_JP \
+ $QTDIR/examples \
+ $QTDIR/examples/tutorials \
+ $QTDIR \
+ $QTDIR/qmake/examples \
+ $QTDIR/src/3rdparty/webkit/WebKit/qt/docs
+imagedirs = $QTDIR/doc/src/ja_JP/images \
+ $QTDIR/doc/src/images \
+ $QTDIR/examples \
+ $QTDIR/doc/src/template/images
+outputdir = $QTDIR/doc/html_ja_JP
+tagfile = $QTDIR/doc/html_ja_JP/qt.tags
+base = file:$QTDIR/doc/html_ja_JP
+
+HTML.generatemacrefs = "true"
diff --git a/tools/qdoc3/test/qt_zh_CN.qdocconf b/tools/qdoc3/test/qt_zh_CN.qdocconf
index a5a65d8831..4983f9e6a6 100644
--- a/tools/qdoc3/test/qt_zh_CN.qdocconf
+++ b/tools/qdoc3/test/qt_zh_CN.qdocconf
@@ -32,44 +32,27 @@ qhp.Qt.customFilters.Qt.filterAttributes = qt 4.7.0
# Files not referenced in any qdoc file (last four are needed by qtdemo)
# See also extraimages.HTML
qhp.Qt.extraFiles = index.html \
- images/api_examples.png \
- images/api_lookup.png \
- images/api_topics.png \
- images/bg_l_blank.png \
- images/bg_ll_blank.png \
- images/bg_ll.png \
images/bg_l.png \
- images/bg_lr.png \
+ images/bg_l_blank.png \
images/bg_r.png \
- images/bg_ul_blank.png \
- images/bg_ul.png \
- images/bg_ur_blank.png \
- images/bg_ur.png \
- images/box_bg.png \
+ images/box_bg.png \
images/breadcrumb.png \
- images/bullet_dn.png \
images/bullet_gt.png \
+ images/bullet_dn.png \
images/bullet_sq.png \
images/bullet_up.png \
- images/coloreditorfactoryimage.png \
- images/content_bg.png \
- images/dynamiclayouts-example.png \
images/feedbackground.png \
- images/form_bg.png \
images/horBar.png \
+ images/page.png \
images/page_bg.png \
- images/print.png \
- images/qt_guide.png \
- images/qt_icon.png \
- images/qt-logo.png \
- images/qt_ref_doc.png \
- images/qt_tools.png \
- images/sep.png \
images/sprites-combined.png \
+ images/spinner.gif \
images/stylesheet-coffee-plastique.png \
images/taskmenuextension-example.png \
- scripts/functions.js \
- scripts/jquery.js \
+ images/coloreditorfactoryimage.png \
+ images/dynamiclayouts-example.png \
+ scripts/functions.js \
+ scripts/jquery.js \
style/style.css
language = Cpp
@@ -95,6 +78,7 @@ excludedirs = $QTDIR/src/3rdparty/clucene \
$QTDIR/src/3rdparty/wintab \
$QTDIR/src/3rdparty/zlib \
$QTDIR/doc/src/snippets \
+ $QTDIR/doc/src/ja_JP \
$QTDIR/src/3rdparty/phonon/gstreamer \
$QTDIR/src/3rdparty/phonon/ds9 \
$QTDIR/src/3rdparty/phonon/qt7 \
diff --git a/tools/qdoc3/test/style/style.css b/tools/qdoc3/test/style/style.css
index 1ed49faf02..9c290f5f50 100644
--- a/tools/qdoc3/test/style/style.css
+++ b/tools/qdoc3/test/style/style.css
@@ -58,6 +58,19 @@
{
vertical-align: baseline;
}
+ .heading
+ {
+ font: normal 600 16px/1.0 Arial;
+ padding-bottom: 15px;
+ }
+ .subtitle
+ {
+ font-size: 13px;
+ }
+ .small-subtitle
+ {
+ font-size: 13px;
+ }
legend
{
color: #000000;
@@ -73,7 +86,6 @@
{
font-size: 100%;
}
- /* Page style */
html
{
background-color: #e5e5e5;
@@ -92,6 +104,11 @@
{
font-style: italic;
}
+ a
+ {
+ color: #00732f;
+ text-decoration: none;
+ }
.header, .footer, .wrapper
{
min-width: 600px;
@@ -106,23 +123,19 @@
{
padding-left: 216px;
height: 15px;
- background: url(../images/bg_ul.png) no-repeat 0 0;
+ background: url(../images/page.png) no-repeat 0 0;
overflow: hidden;
}
.offline .wrapper .hd
{
- background: url(../images/bg_ul_blank.png) no-repeat 0 0;
+ background: url(../images/page.png) no-repeat 0 -15px;
}
.wrapper .hd span
{
height: 15px;
display: block;
- background: url(../images/bg_ur.png) no-repeat 100% 0;
overflow: hidden;
- }
- .offline .wrapper .hd span
- {
- /* background: url(../images/bg_ur_blank.png) no-repeat 100% 0; */
+ background: url(../images/page.png) no-repeat 100% -30px;
}
.wrapper .bd
{
@@ -137,18 +150,18 @@
{
padding-left: 216px;
height: 15px;
- background: url(../images/bg_ll.png) no-repeat 0 0;
+ background: url(../images/page.png) no-repeat 0 -75px;
overflow: hidden;
}
.offline .wrapper .ft
{
- background: url(../images/bg_ll_blank.png) no-repeat 0 0;
+ background: url(../images/page.png) no-repeat 0 -90px;
}
.wrapper .ft span
{
height: 15px;
display: block;
- background: url(../images/bg_lr.png) no-repeat 100% 0;
+ background: url(../images/page.png) no-repeat 100% -60px;
overflow: hidden;
}
.header, .footer
@@ -182,186 +195,9 @@
width: 302px;
height: 22px;
text-indent: -999em;
- background: url(../images/header.png) no-repeat 0 0;
- }
- /* header elements */
- #nav-topright
- {
- height: 70px;
- }
-
- #nav-topright ul
- {
- list-style-type: none;
- float: right;
- width: 370px;
- margin-top: 11px;
- }
-
- #nav-topright li
- {
- display: inline-block;
- margin-right: 20px;
- float: left;
- }
-
- #nav-topright li.nav-topright-last
- {
- margin-right: 0;
- }
-
- #nav-topright li a
- {
- background: transparent url(../images/sprites-combined.png) no-repeat;
- height: 18px;
- display: block;
- overflow: hidden;
- text-indent: -9999px;
- }
-
- #nav-topright li.nav-topright-home a
- {
- width: 65px;
- background-position: -2px -91px;
- }
-
- #nav-topright li.nav-topright-home a:hover
- {
- background-position: -2px -117px;
- }
-
-
- #nav-topright li.nav-topright-dev a
- {
- width: 30px;
- background-position: -76px -91px;
- }
-
- #nav-topright li.nav-topright-dev a:hover
- {
- background-position: -76px -117px;
- }
-
-
- #nav-topright li.nav-topright-labs a
- {
- width: 40px;
- background-position: -114px -91px;
- }
-
- #nav-topright li.nav-topright-labs a:hover
- {
- background-position: -114px -117px;
- }
-
- #nav-topright li.nav-topright-doc a
- {
- width: 32px;
- background-position: -162px -91px;
- }
-
- #nav-topright li.nav-topright-doc a:hover, #nav-topright li.nav-topright-doc-active a
- {
- background-position: -162px -117px;
- }
-
- #nav-topright li.nav-topright-blog a
- {
- width: 40px;
- background-position: -203px -91px;
- }
-
- #nav-topright li.nav-topright-blog a:hover, #nav-topright li.nav-topright-blog-active a
- {
- background-position: -203px -117px;
- }
-
- #nav-topright li.nav-topright-shop a
- {
- width: 40px;
- background-position: -252px -91px;
- }
-
- #nav-topright li.nav-topright-shop a:hover, #nav-topright li.nav-topright-shop-active a
- {
- background-position: -252px -117px;
- }
-
- #nav-logo
- {
- background: transparent url( "../images/sprites-combined.png" ) no-repeat 0 -225px;
- left: -3px;
- position: absolute;
- width: 75px;
- height: 75px;
- top: 13px;
- }
- #nav-logo a
- {
- width: 75px;
- height: 75px;
- display: block;
- text-indent: -9999px;
- overflow: hidden;
- }
- /* Clearing */
- .header:after, .footer:after, .breadcrumb:after, .wrap .content:after, .group:after
- {
- content: ".";
- display: block;
- height: 0;
- clear: both;
- visibility: hidden;
- }
- /* ^ Clearing */
-
-
-
- .shortCut-topleft-inactive
- {
- padding-left: 3px;
- background: transparent url( "../images/sprites-combined.png" ) no-repeat 0px -58px;
- height: 20px;
- width: 93px;
- }
- .shortCut-topleft-inactive span
- {
- font-variant: normal;
- }
- #shortCut
- {
- padding-top: 10px;
- font-weight: bolder;
- color: #b0adab;
- }
- #shortCut ul
- {
- list-style-type: none;
- float: left;
- width: 347px;
- margin-left: 100px;
- }
- #shortCut li
- {
- display: inline-block;
- margin-right: 25px;
- float: left;
- white-space: nowrap;
- }
- #shortCut li a
- {
- color: #b0adab;
- text-decoration: none;
- }
- #shortCut li a:hover
- {
- color: #44a51c;
- text-decoration: none;
+ background: url(../images/sprites-combined.png) no-repeat -78px -235px;
}
- /* end of header elements */
-
- /* menu element */
.sidebar
{
float: left;
@@ -369,32 +205,32 @@
width: 200px;
font-size: 11px;
}
- .sidebar a
- {
- color: #00732f;
- text-decoration: none;
- }
- .offline .sidebar, .offline .feedback
+
+ .offline .sidebar, .offline .feedback, .offline .t_button
{
display: none;
}
+
.sidebar .searchlabel
{
padding: 0 0 2px 17px;
font: normal bold 11px/1.2 Verdana;
}
+
.sidebar .search
{
padding: 0 15px 0 16px;
}
+
.sidebar .search form
{
- width: 167px;
- height: 21px;
- padding: 2px 0 0 5px;
- background: url(../images/form_bg.png) no-repeat 0 0;
+ background: url(../images/sprites-combined.png) no-repeat -6px -348px;
+ height:21px;
+ padding:2px 0 0 5px;
+ width:167px;
}
- .sidebar .search form fieldset input#searchstring
+
+ .sidebar .search form input#pageType
{
width: 158px;
height: 19px;
@@ -403,32 +239,62 @@
outline: none;
font: 13px/1.2 Verdana;
}
+
.sidebar .box
{
padding: 17px 15px 5px 16px;
}
+
.sidebar .box .first
{
background-image: none;
}
+
.sidebar .box h2
{
font: normal 18px/1.2 Arial;
- padding: 15px 0 0 40px;
+ padding: 0;
min-height: 32px;
}
+ .sidebar .box h2 span
+ {
+ overflow: hidden;
+ display: inline-block;
+ }
.sidebar .box#lookup h2
{
- background: url(../images/api_lookup.png) no-repeat 0 0;
+ background-image: none;
+ }
+ .sidebar #lookup.box h2 span
+ {
+ background: url(../images/sprites-combined.png) no-repeat -6px -311px;
+ width: 27px;
+ height: 35px;
+ margin-right: 13px;
}
.sidebar .box#topics h2
{
- background: url(../images/api_topics.png) no-repeat 0 0;
+ background-image: none;
+ }
+ .sidebar #topics.box h2 span
+ {
+ background: url(../images/sprites-combined.png) no-repeat -94px -311px;
+ width: 27px;
+ height: 32px;
+ margin-right: 13px;
}
.sidebar .box#examples h2
{
- background: url(../images/api_examples.png) no-repeat 0 0;
+ background-image: none;
+ }
+ .sidebar #examples.box h2 span
+ {
+ background: url(../images/sprites-combined.png) no-repeat -48px -311px;
+ width: 30px;
+ height: 31px;
+ margin-right: 9px;
}
+
.sidebar .box .list
{
display: block;
@@ -443,6 +309,9 @@
{
text-decoration: underline;
}
+ .sidebar .box ul
+ {
+ }
.sidebar .box ul li
{
padding-left: 12px;
@@ -453,23 +322,20 @@
{
background: url(../images/box_bg.png) repeat-x 0 bottom;
}
- /* content elements */
.wrap
{
- overflow: hidden;
+ margin: 0 5px 0 208px;
+ overflow: visible;
}
.offline .wrap
{
margin: 0 5px 0 5px;
}
- /* tool bar */
.wrap .toolbar
{
background-color: #fafafa;
border-bottom: 1px solid #d1d1d1;
- height: 20px;
- margin-left: 3px;
- margin-right: 5px;
+ height: 20px;
position: relative;
}
.wrap .toolbar .toolblock
@@ -487,7 +353,7 @@
{
padding: 0 0 10px 21px;
right: 5px;
- vertical-align: top;
+ vertical-align: middle;
overflow: hidden;
}
.wrap .toolbar .toolbuttons .active
@@ -507,32 +373,56 @@
font-weight: bold;
color: #B0ADAB;
}
- #smallA
+
+ .toolbuttons #print
+ {
+ border-left: 1px solid #c5c4c4;
+ margin-top: 0;
+ padding-left: 7px;
+ text-indent: 0;
+ }
+ .toolbuttons #print a
+ {
+ width: 16px;
+ height: 16px;
+ }
+
+ .toolbuttons #print a span
+ {
+ width: 16px;
+ height: 16px;
+ text-indent: -999em;
+ display: block;
+ overflow: hidden;
+ background: url(../images/sprites-combined.png) no-repeat -137px -311px;
+ }
+
+ .toolbuttons #smallA
{
font-size: 10pt;
}
- #medA
+ .toolbuttons #medA
{
font-size: 12pt;
}
- #bigA
+ .toolbuttons #bigA
{
font-size: 14pt;
+ margin-right: 7px;
}
+
#smallA:hover, #medA:hover, #bigA:hover
{
color: #00732F;
}
- #print
+
+ .offline .wrap .breadcrumb
{
- font-size: 14pt;
- line-height: 20pt;
}
- #printIcon
+
+ .wrap .breadcrumb ul
{
- margin-left: 5px;
}
- /* bread crumbs */
.wrap .breadcrumb ul li
{
float: left;
@@ -545,6 +435,10 @@
{
font-weight: normal;
}
+ .wrap .breadcrumb ul li a
+ {
+ color: #363534;
+ }
.wrap .breadcrumb ul li.first
{
background-image: none;
@@ -554,29 +448,29 @@
.wrap .content
{
padding: 30px;
- position: relative;
}
- /* text elements */
- .heading
+
+ .wrap .content li
{
- font: normal 600 16px/1.0 Arial;
- padding-bottom: 15px;
+ padding-left: 12px;
+ background: url(../images/bullet_sq.png) no-repeat 0 5px;
+ font: normal 400 10pt/1 Verdana;
+ color: #44a51c;
+ margin-bottom: 10px;
}
-
- .subtitle
+ .content li:hover
{
- font-size: 13px;
+ text-decoration: underline;
}
- .small-subtitle
+ .offline .wrap .content
{
- font-size: 13px;
+ padding-top: 15px;
}
-
+
.wrap .content h1
{
font: 600 18px/1.2 Arial;
- padding-bottom: 15px;
}
.wrap .content h2
{
@@ -588,26 +482,13 @@
}
.wrap .content p
{
- line-height:20px;
- padding:10px 5px 10px 5px;
+ line-height: 20px;
+ padding: 10px 5px 10px 5px;
}
.wrap .content ul
{
padding-left: 25px;
}
- .wrap .content li
- {
- padding-left: 12px;
- background: url(../images/bullet_sq.png) no-repeat 0 5px;
- font: normal 400 10pt/1 Verdana;
- margin-bottom: 10px;
- line-height: 14px;
- }
- a
- {
- color: #00732F;
- text-decoration: none;
- }
a:hover
{
color: #4c0033;
@@ -618,10 +499,6 @@
color: #4c0033;
text-decoration: none;
}
- .offline .wrap .content
- {
- padding-top: 15px;
- }
.footer
{
min-height: 100px;
@@ -629,11 +506,15 @@
font: normal 9px/1 Verdana;
text-align: center;
padding-top: 40px;
+ background-color: #E6E7E8;
+ margin: 0;
}
.feedback
{
- float: right;
- padding-right: 10px;
+ float: none;
+ position: absolute;
+ right: 15px;
+ bottom: 10px;
font: normal 8px/1 Verdana;
color: #B0ADAB;
}
@@ -644,37 +525,223 @@
color: #00732F;
text-decoration: underline;
}
+ .header:after, .footer:after, .breadcrumb:after, .wrap .content:after, .group:after
+ {
+ content: ".";
+ display: block;
+ height: 0;
+ clear: both;
+ visibility: hidden;
+ }
+ #nav-topright
+ {
+ height: 70px;
+ }
+
+ #nav-topright ul
+ {
+ list-style-type: none;
+ float: right;
+ width: 370px;
+ margin-top: 11px;
+ }
+
+ #nav-topright li
+ {
+ display: inline-block;
+ margin-right: 20px;
+ float: left;
+ }
+
+ #nav-topright li.nav-topright-last
+ {
+ margin-right: 0;
+ }
+
+ #nav-topright li a
+ {
+ background: transparent url(../images/sprites-combined.png) no-repeat;
+ height: 18px;
+ display: block;
+ overflow: hidden;
+ text-indent: -9999px;
+ }
+
+ #nav-topright li.nav-topright-home a
+ {
+ width: 65px;
+ background-position: -2px -91px;
+ }
+
+ #nav-topright li.nav-topright-home a:hover
+ {
+ background-position: -2px -117px;
+ }
+
+
+ #nav-topright li.nav-topright-dev a
+ {
+ width: 30px;
+ background-position: -76px -91px;
+ }
+
+ #nav-topright li.nav-topright-dev a:hover
+ {
+ background-position: -76px -117px;
+ }
+
+
+ #nav-topright li.nav-topright-labs a
+ {
+ width: 40px;
+ background-position: -114px -91px;
+ }
+
+ #nav-topright li.nav-topright-labs a:hover
+ {
+ background-position: -114px -117px;
+ }
+
+ #nav-topright li.nav-topright-doc a
+ {
+ width: 32px;
+ background-position: -162px -91px;
+ }
+
+ #nav-topright li.nav-topright-doc a:hover, #nav-topright li.nav-topright-doc-active a
+ {
+ background-position: -162px -117px;
+ }
+
+ #nav-topright li.nav-topright-blog a
+ {
+ width: 40px;
+ background-position: -203px -91px;
+ }
+
+ #nav-topright li.nav-topright-blog a:hover, #nav-topright li.nav-topright-blog-active a
+ {
+ background-position: -203px -117px;
+ }
+
+ #nav-topright li.nav-topright-shop a
+ {
+ width: 40px;
+ background-position: -252px -91px;
+ }
+
+ #nav-topright li.nav-topright-shop a:hover, #nav-topright li.nav-topright-shop-active a
+ {
+ background-position: -252px -117px;
+ }
+
+ #nav-logo
+ {
+ background: transparent url(../images/sprites-combined.png ) no-repeat 0 -225px;
+ left: -3px;
+ position: absolute;
+ width: 75px;
+ height: 75px;
+ top: 13px;
+ }
+ #nav-logo a
+ {
+ width: 75px;
+ height: 75px;
+ display: block;
+ text-indent: -9999px;
+ overflow: hidden;
+ }
+
+
+ .shortCut-topleft-inactive
+ {
+ padding-left: 3px;
+ background: transparent url( ../images/sprites-combined.png) no-repeat 0px -58px;
+ height: 20px;
+ width: 47px;
+ }
+ .shortCut-topleft-inactive span
+ {
+ font-variant: normal;
+ }
+ #shortCut
+ {
+ padding-top: 10px;
+ font-weight: bolder;
+ color: #b0adab;
+ }
+ #shortCut ul
+ {
+ list-style-type: none;
+ float: left;
+ width: 347px;
+ margin-left: 100px;
+ }
+ #shortCut li
+ {
+ display: inline-block;
+ margin-right: 25px;
+ float: left;
+ white-space: nowrap;
+ }
+ #shortCut li a
+ {
+ color: #b0adab;
+ }
+ #shortCut li a:hover
+ {
+ color: #44a51c;
+ }
+
hr
{
- background-color: #e0e0e0;
+ background-color: #E6E6E6;
+ border: 1px solid #E6E6E6;
height: 1px;
width: 100%;
text-align: left;
margin: 15px 0px 15px 0px;
}
-
+
.content .alignedsummary
{
margin: 15px;
}
- /* tables */
+ pre
+ {
+ border: 1px solid #DDDDDD;
+ margin: 0 20px 10px 10px;
+ padding: 20px 15px 20px 20px;
+ overflow-x: auto;
+ }
table, pre
{
-moz-border-radius: 7px 7px 7px 7px;
background-color: #F6F6F6;
border: 1px solid #E6E6E6;
border-collapse: separate;
- font-size: 11px;
- min-width: 395px;
+ font-size: 11px;
+ /*min-width: 395px;*/
margin-bottom: 25px;
+ display: inline-block;
+ }
+ thead
+ {
+ margin-top: 5px;
+ }
+ th
+ {
+ padding: 3px 15px 3px 15px;
+ }
+ td
+ {
+ padding: 3px 15px 3px 20px;
}
- thead{margin-top: 5px;}
- th{ padding: 3px 15px 3px 15px;}
- td{padding: 3px 15px 3px 20px;}
table tr.odd
{
border-left: 1px solid #E6E6E6;
- background-color: #F6F6F6;
+ background-color: #F6F6F6;
color: #66666E;
}
table tr.even
@@ -685,12 +752,13 @@
}
table tr.odd:hover
{
- background-color: #E6E6E6;
+ background-color: #E6E6E6;
}
table tr.even:hover
{
background-color: #E6E6E6;
}
+
span.comment
{
color: #8B0000;
@@ -700,15 +768,7 @@
{
color: #254117;
}
- pre
- {
- -moz-border-radius:7px 7px 7px 7px;
- background-color:#F6F6F6;
- border:1px solid #DDDDDD;
- margin:0 20px 10px 10px;
- padding:20px 15px 20px 20px;
- overflow-x:auto;
- }
+
.qmltype
{
text-align: center;
@@ -719,13 +779,28 @@
float: right;
color: #254117;
}
+
+ .qmldefault
+ {
+ float: right;
+ color: red;
+ }
+
+ .qmldoc
+ {
+ }
+
+ *.qmlitem p
+ {
+ }
+
#feedbackBox
{
- display:none;
- -moz-border-radius:7px 7px 7px 7px;
- border:1px solid #DDDDDD;
- position:fixed;
- top:100px;
+ display: none;
+ -moz-border-radius: 7px 7px 7px 7px;
+ border: 1px solid #DDDDDD;
+ position: fixed;
+ top: 100px;
left: 33%;
height: 190px;
width: 400px;
@@ -735,27 +810,27 @@
}
#feedcloseX a
{
- display:inline;
+ display: inline;
padding: 5px 5px 0 0;
- margin-bottom:3px;
+ margin-bottom: 3px;
color: #363534;
- font-weight:600;
+ font-weight: 600;
float: right;
text-decoration: none;
}
+
#feedbox
- /* here */
{
- display:inline;
+ display: inline;
width: 370px;
height: 120px;
- margin:0px 25px 10px 15px;
+ margin: 0px 25px 10px 15px;
}
#feedsubmit
{
- display:inline;
- float:right;
- margin:4px 32px 0 0;
+ display: inline;
+ float: right;
+ margin: 4px 32px 0 0;
}
#blurpage
{
@@ -771,141 +846,172 @@
}
.toc
{
- float: right;
- -moz-border-radius:7px 7px 7px 7px;
- background-color:#F6F6F6;
- border:1px solid #DDDDDD;
- margin:0 20px 10px 10px;
- padding:20px 15px 20px 20px;
+ float: right;
+ -moz-border-radius: 7px 7px 7px 7px;
+ background-color: #F6F6F6;
+ border: 1px solid #DDDDDD;
+ margin: 0 20px 10px 10px;
+ padding: 20px 15px 20px 20px;
height: auto;
width: 200px;
}
- .toc ul
+ .toc h3
{
- float: left;
- padding: 15px;
-
+ font: 600 12px/1.2 Arial;
+ }
+
+ .wrap .content .toc ul
+ {
+ padding-left: 0px;
+ }
+
+
+ .wrap .content .toc .level2
+ {
+ margin-left: 15px;
}
-
.content .toc li
{
- font: normal 12px/1.2 Verdana;
+ font: normal 10px/1.2 Verdana;
background: url(../images/bullet_dn.png) no-repeat 0 5px;
}
- .relpage
+ .relpage
{
-moz-border-radius: 7px 7px 7px 7px;
border: 1px solid #DDDDDD;
padding: 25px 25px;
- clear:both;
+ clear: both;
}
.relpage ul
{
float: none;
padding: 15px;
}
- .content .relpage li
+ .content .relpage li
{
font: normal 11px/1.2 Verdana;
}
- /* edit */
h3.fn, span.fn
{
background-color: #F6F6F6;
border-width: 1px;
border-style: solid;
border-color: #E6E6E6;
- font-weight: bold;
- /* padding: 6px 0px 6px 10px;*/
- /* margin: 42px 0px 0px 0px;*/
+ font-weight: bold;
}
- /* edit */
- .indexbox
- {
- width: 100%;
- }
- .content .indexboxcont li
- {
- font: normal 600 13px/1 Verdana;
- }
- /* .indexbox a
- {
- color: #00732f;
- text-decoration: none;
- }*/
- .indexbox a:hover, .indexbox a:visited:hover
- {
- color: #4c0033;
- text-decoration: underline;
- }
- .indexbox a:visited
+ /* start index box */
+ .indexbox
{
- color: #00732f;
- text-decoration: none;
+ width: 100%;
+ display:inline-block;
}
.indexboxcont
{
display: block;
+ /* overflow: hidden;*/
}
.indexboxbar
{
- background: transparent url( "../images/horBar.png" ) repeat-x left bottom;
+ background: transparent url(../images/horBar.png ) repeat-x left bottom;
margin-bottom: 25px;
+ /* background-image: none;
+ border-bottom: 1px solid #e2e2e2;*/
}
.indexboxcont .section
{
- display: inline-block;
+ display: inline-block;
width: 49%;
*width:42%;
_width:42%;
padding:0 2% 0 1%;
vertical-align:top;
+
}
.indexboxcont .indexIcon
- {
+ {
width: 11%;
*width:18%;
_width:18%;
overflow:hidden;
+
}
.indexboxcont .section p
- {
+ {
padding-top: 20px;
padding-bottom: 20px;
}
-
.indexboxcont .sectionlist
{
display: inline-block;
width: 33%;
- margin-right: -2px;
- vertical-align: top;
padding: 0;
}
- .tricol
- {
-
- }
.indexboxcont .sectionlist ul
{
- padding-left: 15px;
margin-bottom: 20px;
}
-/*
+
.indexboxcont .sectionlist ul li
{
line-height: 12px;
}
-*/
+
+ .content .indexboxcont li
+ {
+ font: normal 600 13px/1 Verdana;
+ }
+
+ .indexbox a:hover, .indexbox a:visited:hover
+ {
+ color: #4c0033;
+ text-decoration: underline;
+ }
+
+ .indexbox a:visited
+ {
+ color: #00732f;
+ text-decoration: none;
+ }
+
+ .indexboxcont:after
+ {
+ content: ".";
+ display: block;
+ height: 0;
+ clear: both;
+ visibility: hidden;
+ }
+
+ .indexbox .indexIcon span
+ {
+ display: block;
+ }
+
+ .indexbox.guide .indexIcon span
+ {
+ width: 96px;
+ height: 137px;
+ background: url(../images/sprites-combined.png) no-repeat -5px -376px;
+ padding: 0;
+ }
+
+ .indexbox.tools .indexIcon span
+ {
+ width: 115px;
+ height: 137px;
+ background: url(../images/sprites-combined.png) no-repeat -111px -376px;
+ padding: 0;
+ }
+
.lastcol
{
display: inline-block;
@@ -916,12 +1022,9 @@
.tricol .lastcol
{
- margin-left:-6px;
+ margin-left: -6px;
}
-
- /*.toc ul*/
-
- /* end page elements */
+ /* end indexbox */
}
/* end of screen media */
@@ -929,7 +1032,7 @@
@media print
{
- .header, .footer, .toolbar, .feedback, .wrapper .hd, .wrapper .bd .sidebar, .wrapper .ft
+ input, textarea, .header, .footer, .toolbar, .feedback, .wrapper .hd, .wrapper .bd .sidebar, .wrapper .ft
{
display: none;
background: none;
diff --git a/tools/qml/Info_mac.plist b/tools/qml/Info_mac.plist
index ce4ebe339f..80ca6a3526 100644
--- a/tools/qml/Info_mac.plist
+++ b/tools/qml/Info_mac.plist
@@ -2,6 +2,8 @@
<!DOCTYPE plist SYSTEM "file://localhost/System/Library/DTDs/PropertyList.dtd">
<plist version="0.1">
<dict>
+ <key>CFBundleIconFile</key>
+ <string>@ICON@</string>
<key>CFBundleIdentifier</key>
<string>com.nokia.qt.qml</string>
<key>CFBundlePackageType</key>
diff --git a/tools/qml/content/Browser.qml b/tools/qml/content/Browser.qml
index 0912f58fdc..ff2bb47647 100644
--- a/tools/qml/content/Browser.qml
+++ b/tools/qml/content/Browser.qml
@@ -1,4 +1,46 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
import Qt 4.7
+import Qt.labs.folderlistmodel 1.0
Rectangle {
id: root
@@ -87,11 +129,12 @@ Rectangle {
anchors.leftMargin: 54
font.pixelSize: 32
color: (wrapper.ListView.isCurrentItem && root.keyPressed) ? palette.highlightedText : palette.windowText
+ elide: Text.ElideRight
}
MouseArea {
id: mouseRegion
anchors.fill: parent
- onClicked: { launch() }
+ onClicked: { if (folders == wrapper.ListView.view.model) launch() }
}
states: [
State {
diff --git a/tools/qml/deviceorientation.h b/tools/qml/deviceorientation.h
index d209005b4d..817bfc8528 100644
--- a/tools/qml/deviceorientation.h
+++ b/tools/qml/deviceorientation.h
@@ -52,7 +52,14 @@ class DeviceOrientation : public QObject
Q_OBJECT
Q_ENUMS(Orientation)
public:
- enum Orientation { UnknownOrientation, Portrait, Landscape };
+ enum Orientation {
+ UnknownOrientation,
+ Portrait,
+ Landscape,
+ PortraitInverted,
+ LandscapeInverted
+ };
+
virtual Orientation orientation() const = 0;
virtual void setOrientation(Orientation) = 0;
diff --git a/tools/qml/deviceorientation_maemo.cpp b/tools/qml/deviceorientation_maemo.cpp
index 9f12f3d509..443edc8071 100644
--- a/tools/qml/deviceorientation_maemo.cpp
+++ b/tools/qml/deviceorientation_maemo.cpp
@@ -40,96 +40,87 @@
****************************************************************************/
#include "deviceorientation.h"
-#include <stdio.h>
-#include <stdlib.h>
+#include <QtDBus>
+
+#include <mce/mode-names.h>
+#include <mce/dbus-names.h>
class MaemoOrientation : public DeviceOrientation
{
Q_OBJECT
public:
MaemoOrientation()
- : DeviceOrientation(),m_current(Portrait), m_lastSeen(Portrait), m_lastSeenCount(0)
+ : o(UnknownOrientation)
{
- m_current = get();
- if (m_current == UnknownOrientation)
- m_current = Portrait;
+ // enable the orientation sensor
+ QDBusConnection::systemBus().call(
+ QDBusMessage::createMethodCall(MCE_SERVICE, MCE_REQUEST_PATH,
+ MCE_REQUEST_IF, MCE_ACCELEROMETER_ENABLE_REQ));
+
+ // query the initial orientation
+ QDBusMessage reply = QDBusConnection::systemBus().call(
+ QDBusMessage::createMethodCall(MCE_SERVICE, MCE_REQUEST_PATH,
+ MCE_REQUEST_IF, MCE_DEVICE_ORIENTATION_GET));
+ if (reply.type() == QDBusMessage::ErrorMessage) {
+ qWarning("Unable to retrieve device orientation: %s", qPrintable(reply.errorMessage()));
+ } else {
+ o = toOrientation(reply.arguments().value(0).toString());
+ }
- startTimer(100);
+ // connect to the orientation change signal
+ QDBusConnection::systemBus().connect(QString(), MCE_SIGNAL_PATH, MCE_SIGNAL_IF,
+ MCE_DEVICE_ORIENTATION_SIG,
+ this,
+ SLOT(deviceOrientationChanged(QString)));
}
- Orientation orientation() const {
- return m_current;
+ ~MaemoOrientation()
+ {
+ // disable the orientation sensor
+ QDBusConnection::systemBus().call(
+ QDBusMessage::createMethodCall(MCE_SERVICE, MCE_REQUEST_PATH,
+ MCE_REQUEST_IF, MCE_ACCELEROMETER_DISABLE_REQ));
}
- void setOrientation(Orientation) { }
-
-protected:
- virtual void timerEvent(QTimerEvent *)
+ inline Orientation orientation() const
{
- Orientation c = get();
-
- if (c == m_lastSeen) {
- m_lastSeenCount++;
- } else {
- m_lastSeenCount = 0;
- m_lastSeen = c;
- }
-
- if (m_lastSeen != UnknownOrientation && m_lastSeen != m_current && m_lastSeenCount > 4) {
- m_current = m_lastSeen;
- emit orientationChanged();
- printf("%d\n", m_current);
- }
+ return o;
}
-signals:
- void changed();
-
-private:
- Orientation m_current;
- Orientation m_lastSeen;
- int m_lastSeenCount;
-
- Orientation get()
+ void setOrientation(Orientation o)
{
- Orientation o = UnknownOrientation;
-
- int ax, ay, az;
-
- read(&ax, &ay, &az);
+ }
- if (abs(az) > 850) {
- o = UnknownOrientation;
- } else if (ax < -750) {
- o = Portrait;
- } else if (ay < -750) {
- o = Landscape;
- }
+private Q_SLOTS:
+ void deviceOrientationChanged(const QString &newOrientation)
+ {
+ o = toOrientation(newOrientation);
- return o;
+ emit orientationChanged();
+// printf("%d\n", o);
}
- int read(int *ax,int *ay,int *az)
+private:
+ static Orientation toOrientation(const QString &nativeOrientation)
{
- static const char *accel_filename = "/sys/class/i2c-adapter/i2c-3/3-001d/coord";
-
- FILE *fd;
- int rs;
- fd = fopen(accel_filename, "r");
- if(fd==NULL){ printf("liqaccel, cannot open for reading\n"); return -1;}
- rs=fscanf((FILE*) fd,"%i %i %i",ax,ay,az);
- fclose(fd);
- if(rs != 3){ printf("liqaccel, cannot read information\n"); return -2;}
- return 0;
+ if (nativeOrientation == MCE_ORIENTATION_LANDSCAPE)
+ return Landscape;
+ else if (nativeOrientation == MCE_ORIENTATION_LANDSCAPE_INVERTED)
+ return LandscapeInverted;
+ else if (nativeOrientation == MCE_ORIENTATION_PORTRAIT)
+ return Portrait;
+ else if (nativeOrientation == MCE_ORIENTATION_PORTRAIT_INVERTED)
+ return PortraitInverted;
+ return UnknownOrientation;
}
-};
+private:
+ Orientation o;
+};
DeviceOrientation* DeviceOrientation::instance()
{
- static MaemoOrientation *o = 0;
- if (!o)
- o = new MaemoOrientation;
+ static MaemoOrientation *o = new MaemoOrientation;
return o;
}
diff --git a/tools/qml/loggerwidget.cpp b/tools/qml/loggerwidget.cpp
index 9eca4a6801..3ae2b5e057 100644
--- a/tools/qml/loggerwidget.cpp
+++ b/tools/qml/loggerwidget.cpp
@@ -42,29 +42,141 @@
#include "loggerwidget.h"
#include <qglobal.h>
#include <QDebug>
+#include <QSettings>
+#include <QActionGroup>
+#include <QMenu>
QT_BEGIN_NAMESPACE
LoggerWidget::LoggerWidget(QWidget *parent) :
QPlainTextEdit(parent),
- m_keepClosed(false)
+ m_visibilityOrigin(SettingsOrigin)
{
setAttribute(Qt::WA_QuitOnClose, false);
- setWindowTitle(tr("Logger"));
+ setWindowTitle(tr("Warnings"));
+
+ readSettings();
+ setupPreferencesMenu();
}
void LoggerWidget::append(const QString &msg)
{
appendPlainText(msg);
- if (!m_keepClosed && !isVisible())
+ if (!isVisible() && (defaultVisibility() == AutoShowWarnings))
setVisible(true);
}
+LoggerWidget::Visibility LoggerWidget::defaultVisibility() const
+{
+ return m_visibility;
+}
+
+void LoggerWidget::setDefaultVisibility(LoggerWidget::Visibility visibility)
+{
+ if (m_visibility == visibility)
+ return;
+
+ m_visibility = visibility;
+ m_visibilityOrigin = CommandLineOrigin;
+
+ m_preferencesMenu->setEnabled(m_visibilityOrigin == SettingsOrigin);
+}
+
+QMenu *LoggerWidget::preferencesMenu()
+{
+ return m_preferencesMenu;
+}
+
+QAction *LoggerWidget::showAction()
+{
+ return m_showWidgetAction;
+}
+
+void LoggerWidget::readSettings()
+{
+ QSettings settings;
+ QString warningsPreferences = settings.value("warnings", "hide").toString();
+ if (warningsPreferences == "show") {
+ m_visibility = ShowWarnings;
+ } else if (warningsPreferences == "hide") {
+ m_visibility = HideWarnings;
+ } else {
+ m_visibility = AutoShowWarnings;
+ }
+}
+
+void LoggerWidget::saveSettings()
+{
+ if (m_visibilityOrigin != SettingsOrigin)
+ return;
+
+ QString value = "autoShow";
+ if (defaultVisibility() == ShowWarnings) {
+ value = "show";
+ } else if (defaultVisibility() == HideWarnings) {
+ value = "hide";
+ }
+
+ QSettings settings;
+ settings.setValue("warnings", value);
+}
+
+void LoggerWidget::warningsPreferenceChanged(QAction *action)
+{
+ Visibility newSetting = static_cast<Visibility>(action->data().toInt());
+ m_visibility = newSetting;
+ saveSettings();
+}
+
+void LoggerWidget::showEvent(QShowEvent *event)
+{
+ QWidget::showEvent(event);
+ emit opened();
+}
+
void LoggerWidget::closeEvent(QCloseEvent *event)
{
- m_keepClosed = true;
QWidget::closeEvent(event);
+ emit closed();
+}
+
+void LoggerWidget::setupPreferencesMenu()
+{
+ m_preferencesMenu = new QMenu(tr("Warnings"));
+ QActionGroup *warnings = new QActionGroup(m_preferencesMenu);
+ warnings->setExclusive(true);
+
+ connect(warnings, SIGNAL(triggered(QAction*)), this, SLOT(warningsPreferenceChanged(QAction*)));
+
+ QAction *showWarningsPreference = new QAction(tr("Show by default"), m_preferencesMenu);
+ showWarningsPreference->setCheckable(true);
+ showWarningsPreference->setData(LoggerWidget::ShowWarnings);
+ warnings->addAction(showWarningsPreference);
+ m_preferencesMenu->addAction(showWarningsPreference);
+
+ QAction *hideWarningsPreference = new QAction(tr("Hide by default"), m_preferencesMenu);
+ hideWarningsPreference->setCheckable(true);
+ hideWarningsPreference->setData(LoggerWidget::HideWarnings);
+ warnings->addAction(hideWarningsPreference);
+ m_preferencesMenu->addAction(hideWarningsPreference);
+
+ QAction *autoWarningsPreference = new QAction(tr("Show for first warning"), m_preferencesMenu);
+ autoWarningsPreference->setCheckable(true);
+ autoWarningsPreference->setData(LoggerWidget::AutoShowWarnings);
+ warnings->addAction(autoWarningsPreference);
+ m_preferencesMenu->addAction(autoWarningsPreference);
+
+ switch (defaultVisibility()) {
+ case LoggerWidget::ShowWarnings:
+ showWarningsPreference->setChecked(true);
+ break;
+ case LoggerWidget::HideWarnings:
+ hideWarningsPreference->setChecked(true);
+ break;
+ default:
+ autoWarningsPreference->setChecked(true);
+ }
}
QT_END_NAMESPACE
diff --git a/tools/qml/loggerwidget.h b/tools/qml/loggerwidget.h
index 5c4a7010dc..fd20c41c21 100644
--- a/tools/qml/loggerwidget.h
+++ b/tools/qml/loggerwidget.h
@@ -50,14 +50,44 @@ class LoggerWidget : public QPlainTextEdit {
Q_OBJECT
public:
LoggerWidget(QWidget *parent=0);
+
+ enum Visibility { ShowWarnings, HideWarnings, AutoShowWarnings };
+
+ Visibility defaultVisibility() const;
+ void setDefaultVisibility(Visibility visibility);
+
+ QMenu *preferencesMenu();
+ QAction *showAction();
+
public slots:
void append(const QString &msg);
+
+private slots:
+ void warningsPreferenceChanged(QAction *action);
+ void readSettings();
+ void saveSettings();
+
protected:
+ void showEvent(QShowEvent *event);
void closeEvent(QCloseEvent *event);
+
+signals:
+ void opened();
+ void closed();
+
private:
- bool m_keepClosed;
+ void setupPreferencesMenu();
+
+ QMenu *m_preferencesMenu;
+ QAction *m_showWidgetAction;
+
+ enum ConfigOrigin { CommandLineOrigin, SettingsOrigin };
+ ConfigOrigin m_visibilityOrigin;
+ Visibility m_visibility;
};
QT_END_NAMESPACE
+Q_DECLARE_METATYPE(LoggerWidget::Visibility)
+
#endif // LOGGERWIDGET_H
diff --git a/tools/qml/main.cpp b/tools/qml/main.cpp
index 9ccc3d2e69..a75023bdea 100644
--- a/tools/qml/main.cpp
+++ b/tools/qml/main.cpp
@@ -50,11 +50,10 @@
#include <QDebug>
#include <QMessageBox>
#include "qdeclarativetester.h"
-#include "qdeclarativefolderlistmodel.h"
QT_USE_NAMESPACE
-QtMsgHandler systemMsgOutput;
+QtMsgHandler systemMsgOutput = 0;
#if defined (Q_OS_SYMBIAN)
#include <unistd.h>
@@ -86,7 +85,7 @@ QString warnings;
void showWarnings()
{
if (!warnings.isEmpty()) {
- QMessageBox::warning(0, QApplication::tr("Qt Declarative UI Runtime"), warnings);
+ QMessageBox::warning(0, QApplication::tr("Qt QML Viewer"), warnings);
}
}
@@ -111,7 +110,7 @@ void myMessageOutput(QtMsgType type, const char *msg)
void usage()
{
- qWarning("Usage: qml [options] <filename>");
+ qWarning("Usage: qmlviewer [options] <filename>");
qWarning(" ");
qWarning(" options:");
qWarning(" -v, -version ............................. display version");
@@ -119,13 +118,10 @@ void usage()
qWarning(" -maximized................................ run maximized");
qWarning(" -fullscreen............................... run fullscreen");
qWarning(" -stayontop................................ keep viewer window on top");
- qWarning(" -skin <qvfbskindir> ...................... run with a skin window frame");
- qWarning(" \"list\" for a list of built-ins");
- qWarning(" -resizeview .............................. resize the view, not the skin");
qWarning(" -sizeviewtorootobject .................... the view resizes to the changes in the content");
qWarning(" -sizerootobjecttoview .................... the content resizes to the changes in the view");
qWarning(" -qmlbrowser .............................. use a QML-based file browser");
- qWarning(" -nolog ................................... do not show log window");
+ qWarning(" -warnings [show|hide]..................... show warnings in a separate log window");
qWarning(" -recordfile <output> ..................... set video recording file");
qWarning(" - ImageMagick 'convert' for GIF)");
qWarning(" - png file for raw frames");
@@ -152,7 +148,7 @@ void usage()
void scriptOptsUsage()
{
- qWarning("Usage: qml -scriptopts <option>[,<option>...] ...");
+ qWarning("Usage: qmlviewer -scriptopts <option>[,<option>...] ...");
qWarning(" options:");
qWarning(" record ................................... record a new script");
qWarning(" play ..................................... playback an existing script");
@@ -168,6 +164,8 @@ void scriptOptsUsage()
exit(1);
}
+enum WarningsConfig { ShowWarnings, HideWarnings, DefaultWarnings };
+
int main(int argc, char ** argv)
{
#if defined (Q_OS_SYMBIAN)
@@ -182,7 +180,7 @@ int main(int argc, char ** argv)
atexit(showWarnings);
#endif
-#if defined (Q_WS_X11)
+#if defined (Q_WS_X11) || defined (Q_WS_MAC)
//### default to using raster graphics backend for now
bool gsSpecified = false;
for (int i = 0; i < argc; ++i) {
@@ -198,16 +196,14 @@ int main(int argc, char ** argv)
#endif
QApplication app(argc, argv);
- app.setApplicationName("QtQmlRuntime");
+ app.setApplicationName("QtQmlViewer");
app.setOrganizationName("Nokia");
app.setOrganizationDomain("nokia.com");
QDeclarativeViewer::registerTypes();
QDeclarativeTester::registerTypes();
- QDeclarativeFolderListModel::registerTypes();
bool frameless = false;
- bool resizeview = false;
QString fileName;
double fps = 0;
int autorecord_from = 0;
@@ -217,7 +213,6 @@ int main(int argc, char ** argv)
QStringList recordargs;
QStringList imports;
QStringList plugins;
- QString skin;
QString script;
QString scriptopts;
bool runScript = false;
@@ -229,7 +224,9 @@ int main(int argc, char ** argv)
bool stayOnTop = false;
bool maximized = false;
bool useNativeFileBrowser = true;
- bool showLogWidget = true;
+ bool experimentalGestures = false;
+
+ WarningsConfig warningsConfig = DefaultWarnings;
bool sizeToView = true;
#if defined(Q_OS_SYMBIAN)
@@ -237,6 +234,10 @@ int main(int argc, char ** argv)
useNativeFileBrowser = false;
#endif
+#if defined(Q_WS_MAC)
+ useGL = true;
+#endif
+
for (int i = 1; i < argc; ++i) {
bool lastArg = (i == argc - 1);
QString arg = argv[i];
@@ -248,11 +249,6 @@ int main(int argc, char ** argv)
fullScreen = true;
} else if (arg == "-stayontop") {
stayOnTop = true;
- } else if (arg == "-skin") {
- if (lastArg) usage();
- skin = QString(argv[++i]);
- } else if (arg == "-resizeview") {
- resizeview = true;
} else if (arg == "-netcache") {
if (lastArg) usage();
cache = QString(argv[++i]).toInt();
@@ -281,7 +277,7 @@ int main(int argc, char ** argv)
if (lastArg) usage();
app.setStartDragDistance(QString(argv[++i]).toInt());
} else if (arg == QLatin1String("-v") || arg == QLatin1String("-version")) {
- qWarning("Qt Qml Runtime version %s", QT_VERSION_STR);
+ qWarning("Qt QML Viewer version %s", QT_VERSION_STR);
exit(0);
} else if (arg == "-translation") {
if (lastArg) usage();
@@ -290,8 +286,16 @@ int main(int argc, char ** argv)
useGL = true;
} else if (arg == "-qmlbrowser") {
useNativeFileBrowser = false;
- } else if (arg == "-nolog") {
- showLogWidget = false;
+ } else if (arg == "-warnings") {
+ if (lastArg) usage();
+ QString warningsStr = QString(argv[++i]);
+ if (warningsStr == QLatin1String("show")) {
+ warningsConfig = ShowWarnings;
+ } else if (warningsStr == QLatin1String("hide")) {
+ warningsConfig = HideWarnings;
+ } else {
+ usage();
+ }
} else if (arg == "-I" || arg == "-L") {
if (arg == "-L")
qWarning("-L option provided for compatibility only, use -I instead");
@@ -323,6 +327,8 @@ int main(int argc, char ** argv)
sizeToView = false;
} else if (arg == "-sizerootobjecttoview") {
sizeToView = true;
+ } else if (arg == "-experimentalgestures") {
+ experimentalGestures = true;
} else if (arg[0] != '-') {
fileName = arg;
} else if (1 || arg == "-help") {
@@ -340,16 +346,10 @@ int main(int argc, char ** argv)
if (stayOnTop)
wflags |= Qt::WindowStaysOnTopHint;
-#if !defined(Q_OS_SYMBIAN)
- LoggerWidget loggerWidget(0);
- if (showLogWidget) {
- logger = &loggerWidget;
- }
-#endif
-
QDeclarativeViewer *viewer = new QDeclarativeViewer(0, wflags);
+ viewer->setAttribute(Qt::WA_DeleteOnClose, true);
if (!scriptopts.isEmpty()) {
- QStringList options =
+ QStringList options =
scriptopts.split(QLatin1Char(','), QString::SkipEmptyParts);
QDeclarativeViewer::ScriptOptions scriptOptions = 0;
@@ -389,6 +389,19 @@ int main(int argc, char ** argv)
usage();
}
+#if !defined(Q_OS_SYMBIAN)
+ logger = viewer->warningsWidget();
+ if (warningsConfig == ShowWarnings) {
+ logger.data()->setDefaultVisibility(LoggerWidget::ShowWarnings);
+ logger.data()->show();
+ } else if (warningsConfig == HideWarnings){
+ logger.data()->setDefaultVisibility(LoggerWidget::HideWarnings);
+ }
+#endif
+
+ if (experimentalGestures)
+ viewer->enableExperimentalGestures();
+
foreach (QString lib, imports)
viewer->addLibraryPath(lib);
@@ -398,21 +411,10 @@ int main(int argc, char ** argv)
viewer->setNetworkCacheSize(cache);
viewer->setRecordFile(recordfile);
viewer->setSizeToView(sizeToView);
- if (resizeview)
- viewer->setScaleView();
if (fps>0)
viewer->setRecordRate(fps);
if (autorecord_to)
viewer->setAutoRecord(autorecord_from,autorecord_to);
- if (!skin.isEmpty()) {
- if (skin == "list") {
- foreach (QString s, viewer->builtinSkins())
- qWarning() << qPrintable(s);
- exit(0);
- } else {
- viewer->setSkin(skin);
- }
- }
if (devkeys)
viewer->setDeviceKeys(true);
viewer->setRecordDither(dither);
@@ -450,7 +452,5 @@ int main(int argc, char ** argv)
viewer->setUseGL(useGL);
viewer->raise();
- int rv = app.exec();
- delete viewer;
- exit(rv);
+ return app.exec();
}
diff --git a/tools/qml/qdeclarativefolderlistmodel.cpp b/tools/qml/qdeclarativefolderlistmodel.cpp
deleted file mode 100644
index 5a9d88b4a0..0000000000
--- a/tools/qml/qdeclarativefolderlistmodel.cpp
+++ /dev/null
@@ -1,420 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the examples of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "qdeclarativefolderlistmodel.h"
-#include <QDirModel>
-#include <QDebug>
-#include <qdeclarativecontext.h>
-
-QT_BEGIN_NAMESPACE
-
-class QDeclarativeFolderListModelPrivate
-{
-public:
- QDeclarativeFolderListModelPrivate()
- : sortField(QDeclarativeFolderListModel::Name), sortReversed(false), count(0) {
- nameFilters << QLatin1String("*");
- }
-
- void updateSorting() {
- QDir::SortFlags flags = 0;
- switch(sortField) {
- case QDeclarativeFolderListModel::Unsorted:
- flags |= QDir::Unsorted;
- break;
- case QDeclarativeFolderListModel::Name:
- flags |= QDir::Name;
- break;
- case QDeclarativeFolderListModel::Time:
- flags |= QDir::Time;
- break;
- case QDeclarativeFolderListModel::Size:
- flags |= QDir::Size;
- break;
- case QDeclarativeFolderListModel::Type:
- flags |= QDir::Type;
- break;
- }
-
- if (sortReversed)
- flags |= QDir::Reversed;
-
- model.setSorting(flags);
- }
-
- QDirModel model;
- QUrl folder;
- QStringList nameFilters;
- QModelIndex folderIndex;
- QDeclarativeFolderListModel::SortField sortField;
- bool sortReversed;
- int count;
-};
-
-/*!
- \qmlclass FolderListModel
- \brief The FolderListModel provides a model of the contents of a folder in a filesystem.
-
- FolderListModel provides access to the local filesystem. The \e folder property
- specifies the folder to list.
-
- Qt uses "/" as a universal directory separator in the same way that "/" is
- used as a path separator in URLs. If you always use "/" as a directory
- separator, Qt will translate your paths to conform to the underlying
- operating system.
-
- The roles available are:
- \list
- \o fileName
- \o filePath
- \endlist
-
- Additionally a file entry can be differentiated from a folder entry
- via the \l isFolder() method.
-*/
-
-QDeclarativeFolderListModel::QDeclarativeFolderListModel(QObject *parent)
- : QListModelInterface(parent)
-{
- d = new QDeclarativeFolderListModelPrivate;
- d->model.setFilter(QDir::AllDirs | QDir::Files | QDir::Drives | QDir::NoDotAndDotDot);
- connect(&d->model, SIGNAL(rowsInserted(const QModelIndex&,int,int))
- , this, SLOT(inserted(const QModelIndex&,int,int)));
- connect(&d->model, SIGNAL(rowsRemoved(const QModelIndex&,int,int))
- , this, SLOT(removed(const QModelIndex&,int,int)));
- connect(&d->model, SIGNAL(dataChanged(const QModelIndex&,const QModelIndex&))
- , this, SLOT(dataChanged(const QModelIndex&,const QModelIndex&)));
- connect(&d->model, SIGNAL(modelReset()), this, SLOT(refresh()));
- connect(&d->model, SIGNAL(layoutChanged()), this, SLOT(refresh()));
-}
-
-QDeclarativeFolderListModel::~QDeclarativeFolderListModel()
-{
- delete d;
-}
-
-QHash<int,QVariant> QDeclarativeFolderListModel::data(int index, const QList<int> &roles) const
-{
- Q_UNUSED(roles);
- QHash<int,QVariant> folderData;
- QModelIndex modelIndex = d->model.index(index, 0, d->folderIndex);
- if (modelIndex.isValid()) {
- folderData[QDirModel::FileNameRole] = d->model.data(modelIndex, QDirModel::FileNameRole);
- folderData[QDirModel::FilePathRole] = QUrl::fromLocalFile(d->model.data(modelIndex, QDirModel::FilePathRole).toString());
- }
-
- return folderData;
-}
-
-QVariant QDeclarativeFolderListModel::data(int index, int role) const
-{
- QVariant rv;
- QModelIndex modelIndex = d->model.index(index, 0, d->folderIndex);
- if (modelIndex.isValid()) {
- if (role == QDirModel::FileNameRole)
- rv = d->model.data(modelIndex, QDirModel::FileNameRole);
- else if (role == QDirModel::FilePathRole)
- rv = QUrl::fromLocalFile(d->model.data(modelIndex, QDirModel::FilePathRole).toString());
- }
-
- return rv;
-}
-
-int QDeclarativeFolderListModel::count() const
-{
- return d->count;
-}
-
-QList<int> QDeclarativeFolderListModel::roles() const
-{
- QList<int> r;
- r << QDirModel::FileNameRole;
- r << QDirModel::FilePathRole;
- return r;
-}
-
-QString QDeclarativeFolderListModel::toString(int role) const
-{
- switch (role) {
- case QDirModel::FileNameRole:
- return QLatin1String("fileName");
- case QDirModel::FilePathRole:
- return QLatin1String("filePath");
- }
-
- return QString();
-}
-
-/*!
- \qmlproperty string FolderListModel::folder
-
- The \a folder property holds the folder the model is currently providing.
-
- It is a URL, but must be a file: or qrc: URL (or relative to such a URL).
-*/
-QUrl QDeclarativeFolderListModel::folder() const
-{
- return d->folder;
-}
-
-void QDeclarativeFolderListModel::setFolder(const QUrl &folder)
-{
- if (folder == d->folder)
- return;
- QModelIndex index = d->model.index(folder.toLocalFile());
- if (index.isValid() && d->model.isDir(index)) {
- d->folder = folder;
- QMetaObject::invokeMethod(this, "refresh", Qt::QueuedConnection);
- emit folderChanged();
- }
-}
-
-QUrl QDeclarativeFolderListModel::parentFolder() const
-{
- QUrl r;
- QString localFile = d->folder.toLocalFile();
- if (!localFile.isEmpty()) {
- QDir dir(localFile);
-#if defined(Q_OS_SYMBIAN)
- if (dir.isRoot())
- dir.setPath("");
- else
-#endif
- dir.cdUp();
- r = d->folder;
- r.setPath(dir.path());
- } else {
- int pos = d->folder.path().lastIndexOf(QLatin1Char('/'));
- if (pos == -1)
- return QUrl();
- r = d->folder;
- r.setPath(d->folder.path().left(pos));
- }
- return r;
-}
-
-/*!
- \qmlproperty list<string> FolderListModel::nameFilters
-
- The \a nameFilters property contains a list of filename filters.
- The filters may include the ? and * wildcards.
-
- The example below filters on PNG and JPEG files:
-
- \code
- FolderListModel {
- nameFilters: [ "*.png", "*.jpg" ]
- }
- \endcode
-*/
-QStringList QDeclarativeFolderListModel::nameFilters() const
-{
- return d->nameFilters;
-}
-
-void QDeclarativeFolderListModel::setNameFilters(const QStringList &filters)
-{
- d->nameFilters = filters;
- d->model.setNameFilters(d->nameFilters);
-}
-
-void QDeclarativeFolderListModel::componentComplete()
-{
- if (!d->folder.isValid() || !QDir().exists(d->folder.toLocalFile()))
- setFolder(QUrl(QLatin1String("file://")+QDir::currentPath()));
-
- if (!d->folderIndex.isValid())
- QMetaObject::invokeMethod(this, "refresh", Qt::QueuedConnection);
-}
-
-QDeclarativeFolderListModel::SortField QDeclarativeFolderListModel::sortField() const
-{
- return d->sortField;
-}
-
-void QDeclarativeFolderListModel::setSortField(SortField field)
-{
- if (field != d->sortField) {
- d->sortField = field;
- d->updateSorting();
- }
-}
-
-bool QDeclarativeFolderListModel::sortReversed() const
-{
- return d->sortReversed;
-}
-
-void QDeclarativeFolderListModel::setSortReversed(bool rev)
-{
- if (rev != d->sortReversed) {
- d->sortReversed = rev;
- d->updateSorting();
- }
-}
-
-/*!
- \qmlmethod bool FolderListModel::isFolder(int index)
-
- Returns true if the entry \a index is a folder; otherwise
- returns false.
-*/
-bool QDeclarativeFolderListModel::isFolder(int index) const
-{
- if (index != -1) {
- QModelIndex idx = d->model.index(index, 0, d->folderIndex);
- if (idx.isValid())
- return d->model.isDir(idx);
- }
- return false;
-}
-
-void QDeclarativeFolderListModel::refresh()
-{
- d->folderIndex = QModelIndex();
- if (d->count) {
- int tmpCount = d->count;
- d->count = 0;
- emit itemsRemoved(0, tmpCount);
- }
- d->folderIndex = d->model.index(d->folder.toLocalFile());
- d->count = d->model.rowCount(d->folderIndex);
- if (d->count) {
- emit itemsInserted(0, d->count);
- }
-}
-
-void QDeclarativeFolderListModel::inserted(const QModelIndex &index, int start, int end)
-{
- if (index == d->folderIndex) {
- d->count = d->model.rowCount(d->folderIndex);
- emit itemsInserted(start, end - start + 1);
- }
-}
-
-void QDeclarativeFolderListModel::removed(const QModelIndex &index, int start, int end)
-{
- if (index == d->folderIndex) {
- d->count = d->model.rowCount(d->folderIndex);
- emit itemsRemoved(start, end - start + 1);
- }
-}
-
-void QDeclarativeFolderListModel::dataChanged(const QModelIndex &start, const QModelIndex &end)
-{
- qDebug() << "data changed";
- if (start.parent() == d->folderIndex)
- emit itemsChanged(start.row(), end.row() - start.row() + 1, roles());
-}
-
-/*!
- \qmlproperty bool FolderListModel::showDirs
-
- If true (the default), directories are included in the model.
-
- Note that the nameFilters are ignored for directories.
-*/
-bool QDeclarativeFolderListModel::showDirs() const
-{
- return d->model.filter() & QDir::AllDirs;
-}
-
-void QDeclarativeFolderListModel::setShowDirs(bool on)
-{
- if (!(d->model.filter() & QDir::AllDirs) == !on)
- return;
- if (on)
- d->model.setFilter(d->model.filter() | QDir::AllDirs | QDir::Drives);
- else
- d->model.setFilter(d->model.filter() & ~(QDir::AllDirs | QDir::Drives));
-}
-
-/*!
- \qmlproperty bool FolderListModel::showDotAndDotDot
-
- If true, the "." and ".." directories are included in the model.
-
- The default is false.
-*/
-bool QDeclarativeFolderListModel::showDotAndDotDot() const
-{
- return !(d->model.filter() & QDir::NoDotAndDotDot);
-}
-
-void QDeclarativeFolderListModel::setShowDotAndDotDot(bool on)
-{
- if (!(d->model.filter() & QDir::NoDotAndDotDot) == on)
- return;
- if (on)
- d->model.setFilter(d->model.filter() & ~QDir::NoDotAndDotDot);
- else
- d->model.setFilter(d->model.filter() | QDir::NoDotAndDotDot);
-}
-
-/*!
- \qmlproperty bool FolderListModel::showOnlyReadable
-
- If true, only readable files and directories are shown.
-
- The default is false.
-*/
-bool QDeclarativeFolderListModel::showOnlyReadable() const
-{
- return d->model.filter() & QDir::Readable;
-}
-
-void QDeclarativeFolderListModel::setShowOnlyReadable(bool on)
-{
- if (!(d->model.filter() & QDir::Readable) == !on)
- return;
- if (on)
- d->model.setFilter(d->model.filter() | QDir::Readable);
- else
- d->model.setFilter(d->model.filter() & ~QDir::Readable);
-}
-
-void QDeclarativeFolderListModel::registerTypes()
-{
- qmlRegisterType<QDeclarativeFolderListModel>("Qt",4,7,"FolderListModel");
-}
-
-QT_END_NAMESPACE
-
diff --git a/tools/qml/qdeclarativefolderlistmodel.h b/tools/qml/qdeclarativefolderlistmodel.h
deleted file mode 100644
index 57b7fe5d62..0000000000
--- a/tools/qml/qdeclarativefolderlistmodel.h
+++ /dev/null
@@ -1,127 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the examples of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QDECLARATIVEFOLDERLISTMODEL_H
-#define QDECLARATIVEFOLDERLISTMODEL_H
-
-#include <qdeclarative.h>
-#include <QStringList>
-#include <QUrl>
-#include "../../src/declarative/3rdparty/qlistmodelinterface_p.h"
-
-QT_BEGIN_NAMESPACE
-
-class QDeclarativeContext;
-class QModelIndex;
-
-class QDeclarativeFolderListModelPrivate;
-class QDeclarativeFolderListModel : public QListModelInterface, public QDeclarativeParserStatus
-{
- Q_OBJECT
- Q_INTERFACES(QDeclarativeParserStatus)
-
- Q_PROPERTY(QUrl folder READ folder WRITE setFolder NOTIFY folderChanged)
- Q_PROPERTY(QUrl parentFolder READ parentFolder NOTIFY folderChanged)
- Q_PROPERTY(QStringList nameFilters READ nameFilters WRITE setNameFilters)
- Q_PROPERTY(SortField sortField READ sortField WRITE setSortField)
- Q_PROPERTY(bool sortReversed READ sortReversed WRITE setSortReversed)
- Q_PROPERTY(bool showDirs READ showDirs WRITE setShowDirs)
- Q_PROPERTY(bool showDotAndDotDot READ showDotAndDotDot WRITE setShowDotAndDotDot)
- Q_PROPERTY(bool showOnlyReadable READ showOnlyReadable WRITE setShowOnlyReadable)
-
-public:
- QDeclarativeFolderListModel(QObject *parent = 0);
- ~QDeclarativeFolderListModel();
-
- static void registerTypes();
-
- virtual QHash<int,QVariant> data(int index, const QList<int> &roles = (QList<int>())) const;
- virtual QVariant data(int index, int role) const;
- virtual int count() const;
- virtual QList<int> roles() const;
- virtual QString toString(int role) const;
-
- QUrl folder() const;
- void setFolder(const QUrl &folder);
-
- QUrl parentFolder() const;
-
- QStringList nameFilters() const;
- void setNameFilters(const QStringList &filters);
-
- virtual void componentComplete();
-
- Q_INVOKABLE bool isFolder(int index) const;
-
- enum SortField { Unsorted, Name, Time, Size, Type };
- SortField sortField() const;
- void setSortField(SortField field);
- Q_ENUMS(SortField)
-
- bool sortReversed() const;
- void setSortReversed(bool rev);
-
- bool showDirs() const;
- void setShowDirs(bool);
- bool showDotAndDotDot() const;
- void setShowDotAndDotDot(bool);
- bool showOnlyReadable() const;
- void setShowOnlyReadable(bool);
-
-Q_SIGNALS:
- void folderChanged();
-
-private Q_SLOTS:
- void refresh();
- void inserted(const QModelIndex &index, int start, int end);
- void removed(const QModelIndex &index, int start, int end);
- void dataChanged(const QModelIndex &start, const QModelIndex &end);
-
-private:
- Q_DISABLE_COPY(QDeclarativeFolderListModel)
- QDeclarativeFolderListModelPrivate *d;
-};
-
-QT_END_NAMESPACE
-
-QML_DECLARE_TYPE(QDeclarativeFolderListModel)
-
-#endif // QDECLARATIVEFOLDERLISTMODEL_H
diff --git a/tools/qml/qml.icns b/tools/qml/qml.icns
new file mode 100644
index 0000000000..c76051626a
--- /dev/null
+++ b/tools/qml/qml.icns
Binary files differ
diff --git a/tools/qml/qml.pri b/tools/qml/qml.pri
index d343c76650..58d8cc1e1b 100644
--- a/tools/qml/qml.pri
+++ b/tools/qml/qml.pri
@@ -10,21 +10,19 @@ HEADERS += $$PWD/qmlruntime.h \
$$PWD/proxysettings.h \
$$PWD/qdeclarativetester.h \
$$PWD/deviceorientation.h \
- $$PWD/qdeclarativefolderlistmodel.h \
$$PWD/loggerwidget.h
SOURCES += $$PWD/qmlruntime.cpp \
$$PWD/proxysettings.cpp \
$$PWD/qdeclarativetester.cpp \
- $$PWD/qdeclarativefolderlistmodel.cpp \
$$PWD/loggerwidget.cpp
RESOURCES = $$PWD/qmlruntime.qrc
maemo5 {
+ QT += dbus
SOURCES += $$PWD/deviceorientation_maemo.cpp
} else {
SOURCES += $$PWD/deviceorientation.cpp
}
+
FORMS = $$PWD/recopts.ui \
$$PWD/proxysettings.ui
-
-include(../shared/deviceskin/deviceskin.pri)
diff --git a/tools/qml/qml.pro b/tools/qml/qml.pro
index b33d48bcc6..9cdec7757b 100644
--- a/tools/qml/qml.pro
+++ b/tools/qml/qml.pro
@@ -32,12 +32,13 @@ wince* {
symbian {
TARGET.UID3 = 0x20021317
include($$QT_SOURCE_TREE/examples/symbianpkgrules.pri)
- INCLUDEPATH += $$QT_SOURCE_TREE/examples/network/qftp/
TARGET.EPOCHEAPSIZE = 0x20000 0x2000000
- LIBS += -lesock -lcommdb -lconnmon -linsock
TARGET.CAPABILITY = NetworkServices ReadUserData
}
mac {
QMAKE_INFO_PLIST=Info_mac.plist
- TARGET=Qml
+ TARGET=QMLViewer
+ ICON=qml.icns
+} else {
+ TARGET=qmlviewer
}
diff --git a/tools/qml/qmlruntime.cpp b/tools/qml/qmlruntime.cpp
index 008f16399c..676881d0ea 100644
--- a/tools/qml/qmlruntime.cpp
+++ b/tools/qml/qmlruntime.cpp
@@ -53,7 +53,6 @@
#include "qdeclarative.h"
#include <private/qabstractanimation_p.h>
#include <QAbstractAnimation>
-#include "deviceskin.h"
#include <QSettings>
#include <QXmlStreamReader>
@@ -66,6 +65,7 @@
#include <QDeclarativeComponent>
#include <QWidget>
#include <QApplication>
+#include <QTranslator>
#include <QDir>
#include <QTextBrowser>
#include <QFile>
@@ -92,19 +92,6 @@
#include <qdeclarativetester.h>
-#if defined (Q_OS_SYMBIAN)
-#define SYMBIAN_NETWORK_INIT
-#endif
-
-#if defined (SYMBIAN_NETWORK_INIT)
-#include <sys/types.h>
-#include <sys/stat.h>
-#include <fcntl.h>
-#include <unistd.h>
-#include <QTextCodec>
-#include "sym_iap_util.h"
-#endif
-
QT_BEGIN_NAMESPACE
class Runtime : public QObject
@@ -167,89 +154,6 @@ private:
QWidget *refWidget;
};
-
-class PreviewDeviceSkin : public DeviceSkin
-{
- Q_OBJECT
-public:
- explicit PreviewDeviceSkin(const DeviceSkinParameters &parameters, QWidget *parent);
-
- void setPreview(QWidget *formWidget);
- void setPreviewAndScale(QWidget *formWidget);
-
- void setScreenSize(const QSize& size)
- {
- QMatrix fit;
- fit = fit.scale(qreal(size.width())/m_screenSize.width(),
- qreal(size.height())/m_screenSize.height());
- setTransform(fit);
- QApplication::syncX();
- }
-
- QSize standardScreenSize() const { return m_screenSize; }
-
- QMenu* menu;
-
-private slots:
- void slotSkinKeyPressEvent(int code, const QString& text, bool autorep);
- void slotSkinKeyReleaseEvent(int code, const QString& text, bool autorep);
- void slotPopupMenu();
-
-private:
- const QSize m_screenSize;
-};
-
-
-PreviewDeviceSkin::PreviewDeviceSkin(const DeviceSkinParameters &parameters, QWidget *parent) :
- DeviceSkin(parameters, parent),
- m_screenSize(parameters.screenSize())
-{
- menu = new QMenu(this);
- connect(this, SIGNAL(skinKeyPressEvent(int,QString,bool)),
- this, SLOT(slotSkinKeyPressEvent(int,QString,bool)));
- connect(this, SIGNAL(skinKeyReleaseEvent(int,QString,bool)),
- this, SLOT(slotSkinKeyReleaseEvent(int,QString,bool)));
- connect(this, SIGNAL(popupMenu()), this, SLOT(slotPopupMenu()));
-}
-
-void PreviewDeviceSkin::setPreview(QWidget *formWidget)
-{
- formWidget->setFixedSize(m_screenSize);
- formWidget->setParent(this, Qt::SubWindow);
- formWidget->setAutoFillBackground(true);
- setView(formWidget);
-}
-
-void PreviewDeviceSkin::setPreviewAndScale(QWidget *formWidget)
-{
- setScreenSize(formWidget->sizeHint());
- formWidget->setParent(this, Qt::SubWindow);
- formWidget->setAutoFillBackground(true);
- setView(formWidget);
-}
-
-void PreviewDeviceSkin::slotSkinKeyPressEvent(int code, const QString& text, bool autorep)
-{
- if (QWidget *focusWidget = QApplication::focusWidget()) {
- QKeyEvent e(QEvent::KeyPress,code,0,text,autorep);
- QApplication::sendEvent(focusWidget, &e);
- }
-
-}
-
-void PreviewDeviceSkin::slotSkinKeyReleaseEvent(int code, const QString& text, bool autorep)
-{
- if (QWidget *focusWidget = QApplication::focusWidget()) {
- QKeyEvent e(QEvent::KeyRelease,code,0,text,autorep);
- QApplication::sendEvent(focusWidget, &e);
- }
-}
-
-void PreviewDeviceSkin::slotPopupMenu()
-{
- menu->exec(QCursor::pos());
-}
-
static struct { const char *name, *args; } ffmpegprofiles[] = {
{"Maximum Quality", "-sameq"},
{"High Quality", "-qmax 2"},
@@ -377,7 +281,12 @@ public:
ret << httpProxy;
return ret;
}
+#ifdef Q_OS_WIN
+ // systemProxyForQuery can take insanely long on Windows (QTBUG-10106)
+ return QNetworkProxyFactory::proxyForQuery(query);
+#else
return QNetworkProxyFactory::systemProxyForQuery(query);
+#endif
}
void setHttpProxy (QNetworkProxy proxy)
{
@@ -433,7 +342,7 @@ QNetworkAccessManager *NetworkAccessManagerFactory::create(QObject *parent)
setupProxy(manager);
if (cacheSize > 0) {
QNetworkDiskCache *cache = new QNetworkDiskCache;
- cache->setCacheDirectory(QDir::tempPath()+QLatin1String("/qml-duiviewer-network-cache"));
+ cache->setCacheDirectory(QDir::tempPath()+QLatin1String("/qml-viewer-network-cache"));
cache->setMaximumCacheSize(cacheSize);
manager->setCache(cache);
} else {
@@ -461,15 +370,19 @@ QDeclarativeViewer::QDeclarativeViewer(QWidget *parent, Qt::WindowFlags flags)
#else
: QWidget(parent, flags)
#endif
- , frame_stream(0), scaleSkin(true), mb(0)
- , portraitOrientation(0), landscapeOrientation(0)
- , m_scriptOptions(0), tester(0), useQmlFileBrowser(true)
+ , loggerWindow(new LoggerWidget())
+ , frame_stream(0), mb(0)
+ , orientation(0)
+ , showWarningsWindow(0)
+ , m_scriptOptions(0)
+ , tester(0)
+ , useQmlFileBrowser(true)
+ , translator(0)
{
QDeclarativeViewer::registerTypes();
- setWindowTitle(tr("Qt Qml Runtime"));
+ setWindowTitle(tr("Qt QML Viewer"));
devicemode = false;
- skin = 0;
canvas = 0;
record_autotime = 0;
record_rate = 50;
@@ -495,6 +408,7 @@ QDeclarativeViewer::QDeclarativeViewer(QWidget *parent, Qt::WindowFlags flags)
}
canvas = new QDeclarativeView(this);
+
canvas->setAttribute(Qt::WA_OpaquePaintEvent);
canvas->setAttribute(Qt::WA_NoSystemBackground);
@@ -504,9 +418,12 @@ QDeclarativeViewer::QDeclarativeViewer(QWidget *parent, Qt::WindowFlags flags)
QObject::connect(canvas, SIGNAL(statusChanged(QDeclarativeView::Status)), this, SLOT(statusChanged()));
QObject::connect(canvas->engine(), SIGNAL(quit()), QCoreApplication::instance (), SLOT(quit()));
+ QObject::connect(warningsWidget(), SIGNAL(opened()), this, SLOT(warningsWidgetOpened()));
+ QObject::connect(warningsWidget(), SIGNAL(closed()), this, SLOT(warningsWidgetClosed()));
+
if (!(flags & Qt::FramelessWindowHint)) {
createMenu(menuBar(),0);
- setPortrait();
+ changeOrientation(orientation->actions().value(0));
}
#if !defined(Q_OS_SYMBIAN)
@@ -526,6 +443,8 @@ QDeclarativeViewer::QDeclarativeViewer(QWidget *parent, Qt::WindowFlags flags)
connect(&autoStartTimer, SIGNAL(triggered()), this, SLOT(autoStartRecording()));
connect(&autoStopTimer, SIGNAL(triggered()), this, SLOT(autoStopRecording()));
connect(&recordTimer, SIGNAL(triggered()), this, SLOT(recordFrame()));
+ connect(DeviceOrientation::instance(), SIGNAL(orientationChanged()),
+ this, SLOT(orientationChanged()), Qt::QueuedConnection);
autoStartTimer.setRunning(false);
autoStopTimer.setRunning(false);
recordTimer.setRunning(false);
@@ -534,10 +453,21 @@ QDeclarativeViewer::QDeclarativeViewer(QWidget *parent, Qt::WindowFlags flags)
QDeclarativeViewer::~QDeclarativeViewer()
{
+ delete loggerWindow;
canvas->engine()->setNetworkAccessManagerFactory(0);
delete namFactory;
}
+void QDeclarativeViewer::enableExperimentalGestures()
+{
+ canvas->viewport()->grabGesture(Qt::TapGesture,Qt::DontStartGestureOnChildren|Qt::ReceivePartialGestures|Qt::IgnoredGesturesPropagateToParent);
+ canvas->viewport()->grabGesture(Qt::TapAndHoldGesture,Qt::DontStartGestureOnChildren|Qt::ReceivePartialGestures|Qt::IgnoredGesturesPropagateToParent);
+ canvas->viewport()->grabGesture(Qt::PanGesture,Qt::DontStartGestureOnChildren|Qt::ReceivePartialGestures|Qt::IgnoredGesturesPropagateToParent);
+ canvas->viewport()->grabGesture(Qt::PinchGesture,Qt::DontStartGestureOnChildren|Qt::ReceivePartialGestures|Qt::IgnoredGesturesPropagateToParent);
+ canvas->viewport()->grabGesture(Qt::SwipeGesture,Qt::DontStartGestureOnChildren|Qt::ReceivePartialGestures|Qt::IgnoredGesturesPropagateToParent);
+ canvas->viewport()->setAttribute(Qt::WA_AcceptTouchEvents);
+}
+
int QDeclarativeViewer::menuBarHeight() const
{
if (!(windowFlags() & Qt::FramelessWindowHint))
@@ -563,6 +493,11 @@ QDeclarativeView *QDeclarativeViewer::view() const
return canvas;
}
+LoggerWidget *QDeclarativeViewer::warningsWidget() const
+{
+ return loggerWindow;
+}
+
void QDeclarativeViewer::createMenu(QMenuBar *menu, QMenu *flatmenu)
{
QObject *parent = flatmenu ? (QObject*)flatmenu : (QObject*)menu;
@@ -579,12 +514,6 @@ void QDeclarativeViewer::createMenu(QMenuBar *menu, QMenu *flatmenu)
connect(reloadAction, SIGNAL(triggered()), this, SLOT(reload()));
fileMenu->addAction(reloadAction);
-#if defined(Q_OS_SYMBIAN)
- QAction *networkAction = new QAction(tr("Start &Network"), parent);
- connect(networkAction, SIGNAL(triggered()), this, SLOT(startNetwork()));
- fileMenu->addAction(networkAction);
-#endif
-
#if !defined(Q_OS_SYMBIAN)
if (flatmenu) flatmenu->addSeparator();
@@ -614,53 +543,17 @@ void QDeclarativeViewer::createMenu(QMenuBar *menu, QMenu *flatmenu)
connect(slowAction, SIGNAL(triggered(bool)), this, SLOT(setSlowMode(bool)));
debugMenu->addAction(slowAction);
- if (flatmenu) flatmenu->addSeparator();
+ showWarningsWindow = new QAction(tr("Show Warnings"), parent);
+ showWarningsWindow->setCheckable((true));
+ showWarningsWindow->setChecked(loggerWindow->isVisible());
+ connect(showWarningsWindow, SIGNAL(triggered(bool)), this, SLOT(showWarnings(bool)));
- QMenu *skinMenu = flatmenu ? flatmenu->addMenu(tr("&Skin")) : menu->addMenu(tr("&Skin"));
-
- QActionGroup *skinActions;
- QAction *skinAction;
-
- skinActions = new QActionGroup(parent);
- skinAction = new QAction(tr("Scale skin"), parent);
- skinAction->setCheckable(true);
- skinAction->setChecked(scaleSkin);
- skinActions->addAction(skinAction);
- skinMenu->addAction(skinAction);
- connect(skinAction, SIGNAL(triggered()), this, SLOT(setScaleSkin()));
- skinAction = new QAction(tr("Resize view"), parent);
- skinAction->setCheckable(true);
- skinAction->setChecked(!scaleSkin);
- skinActions->addAction(skinAction);
- skinMenu->addAction(skinAction);
- connect(skinAction, SIGNAL(triggered()), this, SLOT(setScaleView()));
- skinMenu->addSeparator();
-
- skinActions = new QActionGroup(parent);
- QSignalMapper *mapper = new QSignalMapper(parent);
- skinAction = new QAction(tr("None"), parent);
- skinAction->setCheckable(true);
- if (currentSkin.isEmpty())
- skinAction->setChecked(true);
- skinActions->addAction(skinAction);
- skinMenu->addAction(skinAction);
- mapper->setMapping(skinAction, "");
- connect(skinAction, SIGNAL(triggered()), mapper, SLOT(map()));
- skinMenu->addSeparator();
-
- foreach (QString name, builtinSkins()) {
- skinAction = new QAction(name, parent);
- skinActions->addAction(skinAction);
- skinMenu->addAction(skinAction);
- skinAction->setCheckable(true);
- if (":skin/"+name+".skin" == currentSkin)
- skinAction->setChecked(true);
- mapper->setMapping(skinAction, name);
- connect(skinAction, SIGNAL(triggered()), mapper, SLOT(map()));
- }
- connect(mapper, SIGNAL(mapped(QString)), this, SLOT(setSkin(QString)));
+#if !defined(Q_OS_SYMBIAN)
+ debugMenu->addAction(showWarningsWindow);
+#endif
if (flatmenu) flatmenu->addSeparator();
+
#endif // Q_OS_SYMBIAN
QMenu *settingsMenu = flatmenu ? flatmenu : menu->addMenu(tr("S&ettings"));
@@ -670,6 +563,8 @@ void QDeclarativeViewer::createMenu(QMenuBar *menu, QMenu *flatmenu)
#if !defined(Q_OS_SYMBIAN)
if (!flatmenu)
settingsMenu->addAction(recordOptions);
+
+ settingsMenu->addMenu(loggerWindow->preferencesMenu());
#else
QAction *fullscreenAction = new QAction(tr("Full Screen"), parent);
fullscreenAction->setCheckable(true);
@@ -677,27 +572,29 @@ void QDeclarativeViewer::createMenu(QMenuBar *menu, QMenu *flatmenu)
settingsMenu->addAction(fullscreenAction);
#endif
+ if (flatmenu) flatmenu->addSeparator();
+
QMenu *propertiesMenu = settingsMenu->addMenu(tr("Properties"));
- QActionGroup *orientation = new QActionGroup(parent);
- QAction *toggleOrientation = new QAction(tr("&Toggle Orientation"), parent);
- toggleOrientation->setCheckable(true);
- toggleOrientation->setShortcut(QKeySequence("Ctrl+T"));
- settingsMenu->addAction(toggleOrientation);
- connect(toggleOrientation, SIGNAL(triggered()), this, SLOT(toggleOrientation()));
+ orientation = new QActionGroup(parent);
+
+ QAction *rotateOrientation = new QAction(tr("Rotate orientation"), parent);
+ rotateOrientation->setShortcut(QKeySequence("Ctrl+T"));
+ settingsMenu->addAction(rotateOrientation);
+ connect(rotateOrientation, SIGNAL(triggered()), this, SLOT(rotateOrientation()));
orientation->setExclusive(true);
- portraitOrientation = new QAction(tr("orientation: Portrait"), parent);
- portraitOrientation->setCheckable(true);
- connect(portraitOrientation, SIGNAL(triggered()), this, SLOT(setPortrait()));
- orientation->addAction(portraitOrientation);
- propertiesMenu->addAction(portraitOrientation);
-
- landscapeOrientation = new QAction(tr("orientation: Landscape"), parent);
- landscapeOrientation->setCheckable(true);
- connect(landscapeOrientation, SIGNAL(triggered()), this, SLOT(setLandscape()));
- orientation->addAction(landscapeOrientation);
- propertiesMenu->addAction(landscapeOrientation);
+ connect(orientation, SIGNAL(triggered(QAction*)), this, SLOT(changeOrientation(QAction*)));
+
+ orientation->addAction(tr("orientation: Portrait"));
+ orientation->addAction(tr("orientation: Landscape"));
+ orientation->addAction(tr("orientation: Portrait (Inverted)"));
+ orientation->addAction(tr("orientation: Landscape (Inverted)"));
+ QList<QAction *> actions = orientation->actions();
+ for (int i=0; i<actions.count(); i++) {
+ propertiesMenu->addAction(actions[i]);
+ actions[i]->setCheckable(true);
+ }
if (flatmenu) flatmenu->addSeparator();
@@ -731,21 +628,16 @@ void QDeclarativeViewer::proxySettingsChanged()
reload ();
}
-void QDeclarativeViewer::setPortrait()
-{
- DeviceOrientation::instance()->setOrientation(DeviceOrientation::Portrait);
- portraitOrientation->setChecked(true);
-}
-
-void QDeclarativeViewer::setLandscape()
+void QDeclarativeViewer::rotateOrientation()
{
- DeviceOrientation::instance()->setOrientation(DeviceOrientation::Landscape);
- landscapeOrientation->setChecked(true);
-}
+ QAction *current = orientation->checkedAction();
+ QList<QAction *> actions = orientation->actions();
+ int index = actions.indexOf(current);
+ if (index < 0)
+ return;
-void QDeclarativeViewer::toggleOrientation()
-{
- DeviceOrientation::instance()->setOrientation(DeviceOrientation::instance()->orientation()==DeviceOrientation::Portrait?DeviceOrientation::Landscape:DeviceOrientation::Portrait);
+ QAction *newOrientation = actions[(index + 1) % actions.count()];
+ changeOrientation(newOrientation);
}
void QDeclarativeViewer::toggleFullScreen()
@@ -756,30 +648,20 @@ void QDeclarativeViewer::toggleFullScreen()
showFullScreen();
}
-void QDeclarativeViewer::setScaleSkin()
+void QDeclarativeViewer::showWarnings(bool show)
{
- if (scaleSkin)
- return;
- scaleSkin = true;
- if (skin) {
- canvas->resize(initialSize);
- canvas->setFixedSize(initialSize);
- canvas->setResizeMode(QDeclarativeView::SizeViewToRootObject);
- updateSizeHints();
- }
+ loggerWindow->setVisible(show);
}
-void QDeclarativeViewer::setScaleView()
+void QDeclarativeViewer::warningsWidgetOpened()
{
- if (!scaleSkin)
- return;
- scaleSkin = false;
- if (skin) {
- canvas->setResizeMode(QDeclarativeView::SizeRootObjectToView);
- updateSizeHints();
- }
+ showWarningsWindow->setChecked(true);
}
+void QDeclarativeViewer::warningsWidgetClosed()
+{
+ showWarningsWindow->setChecked(false);
+}
void QDeclarativeViewer::takeSnapShot()
{
@@ -922,12 +804,12 @@ void QDeclarativeViewer::statusChanged()
tester->executefailure();
if (canvas->status() == QDeclarativeView::Ready) {
- initialSize = canvas->sizeHint();
+ initialSize = canvas->initialSize();
if (canvas->resizeMode() == QDeclarativeView::SizeRootObjectToView) {
- QSize newWindowSize = initialSize;
- newWindowSize.setHeight(newWindowSize.height()+menuBarHeight());
- updateSizeHints();
- resize(newWindowSize);
+ if (!isFullScreen() && !isMaximized()) {
+ resize(QSize(initialSize.width(), initialSize.height()+menuBarHeight()));
+ updateSizeHints();
+ }
}
}
}
@@ -937,6 +819,46 @@ void QDeclarativeViewer::launch(const QString& file_or_url)
QMetaObject::invokeMethod(this, "open", Qt::QueuedConnection, Q_ARG(QString, file_or_url));
}
+void QDeclarativeViewer::loadTranslationFile(const QString& directory)
+{
+ if (!translator) {
+ translator = new QTranslator(this);
+ QApplication::installTranslator(translator);
+ }
+
+ translator->load(QLatin1String("qml_" )+QLocale::system().name(), directory + QLatin1String("/i18n"));
+}
+
+void QDeclarativeViewer::loadDummyDataFiles(const QString& directory)
+{
+ QDir dir(directory+"/dummydata", "*.qml");
+ QStringList list = dir.entryList();
+ for (int i = 0; i < list.size(); ++i) {
+ QString qml = list.at(i);
+ QFile f(dir.filePath(qml));
+ f.open(QIODevice::ReadOnly);
+ QByteArray data = f.readAll();
+ QDeclarativeComponent comp(canvas->engine());
+ comp.setData(data, QUrl());
+ QObject *dummyData = comp.create();
+
+ if(comp.isError()) {
+ QList<QDeclarativeError> errors = comp.errors();
+ foreach (const QDeclarativeError &error, errors) {
+ qWarning() << error;
+ }
+ if (tester) tester->executefailure();
+ }
+
+ if (dummyData) {
+ qWarning() << "Loaded dummy data:" << dir.filePath(qml);
+ qml.truncate(qml.length()-4);
+ canvas->rootContext()->setContextProperty(qml, dummyData);
+ dummyData->setParent(this);
+ }
+ }
+}
+
bool QDeclarativeViewer::open(const QString& file_or_url)
{
currentFileOrUrl = file_or_url;
@@ -947,7 +869,7 @@ bool QDeclarativeViewer::open(const QString& file_or_url)
url = QUrl::fromLocalFile(fi.absoluteFilePath());
else
url = QUrl(file_or_url);
- setWindowTitle(tr("%1 - Qt Qml Runtime").arg(file_or_url));
+ setWindowTitle(tr("%1 - Qt QML Viewer").arg(file_or_url));
if (!m_script.isEmpty())
tester = new QDeclarativeTester(m_script, m_scriptOptions, canvas);
@@ -966,39 +888,16 @@ bool QDeclarativeViewer::open(const QString& file_or_url)
QString fileName = url.toLocalFile();
if (!fileName.isEmpty()) {
- QFileInfo fi(fileName);
+ fi.setFile(fileName);
if (fi.exists()) {
if (fi.suffix().toLower() != QLatin1String("qml")) {
qWarning() << "qml cannot open non-QML file" << fileName;
return false;
}
- QDir dir(fi.path()+"/dummydata", "*.qml");
- QStringList list = dir.entryList();
- for (int i = 0; i < list.size(); ++i) {
- QString qml = list.at(i);
- QFile f(dir.filePath(qml));
- f.open(QIODevice::ReadOnly);
- QByteArray data = f.readAll();
- QDeclarativeComponent comp(canvas->engine());
- comp.setData(data, QUrl());
- QObject *dummyData = comp.create();
-
- if(comp.isError()) {
- QList<QDeclarativeError> errors = comp.errors();
- foreach (const QDeclarativeError &error, errors) {
- qWarning() << error;
- }
- if (tester) tester->executefailure();
- }
-
- if (dummyData) {
- qWarning() << "Loaded dummy data:" << dir.filePath(qml);
- qml.truncate(qml.length()-4);
- ctxt->setContextProperty(qml, dummyData);
- dummyData->setParent(this);
- }
- }
+ QFileInfo fi(fileName);
+ loadTranslationFile(fi.path());
+ loadDummyDataFiles(fi.path());
} else {
qWarning() << "qml cannot find file:" << fileName;
return false;
@@ -1013,90 +912,6 @@ bool QDeclarativeViewer::open(const QString& file_or_url)
return true;
}
-void QDeclarativeViewer::startNetwork()
-{
-#if defined(SYMBIAN_NETWORK_INIT)
- qt_SetDefaultIap();
-#endif
-}
-
-QStringList QDeclarativeViewer::builtinSkins() const
-{
- QDir dir(":/skins/","*.skin");
- const QFileInfoList l = dir.entryInfoList();
- QStringList r;
- for (QFileInfoList::const_iterator it = l.begin(); it != l.end(); ++it) {
- r += (*it).baseName();
- }
- return r;
-}
-
-void QDeclarativeViewer::setSkin(const QString& skinDirOrName)
-{
- QString skinDirectory = skinDirOrName;
-
- if (!QDir(skinDirOrName).exists() && QDir(":/skins/"+skinDirOrName+".skin").exists())
- skinDirectory = ":/skins/"+skinDirOrName+".skin";
-
- if (currentSkin == skinDirectory)
- return;
-
- currentSkin = skinDirectory;
-
- // XXX QWidget::setMask does not handle changes well, and we may
- // XXX have been signalled from an item in a menu we're replacing,
- // XXX hence some rather convoluted resetting here...
-
- QString err;
- if (skin) {
- skin->hide();
- skin->deleteLater();
- }
-
- DeviceSkinParameters parameters;
- if (!skinDirectory.isEmpty() && parameters.read(skinDirectory,DeviceSkinParameters::ReadAll,&err)) {
- layout()->setEnabled(false);
- if (mb)
- mb->hide();
- if (!err.isEmpty())
- qWarning() << err;
- skin = new PreviewDeviceSkin(parameters,this);
- if (scaleSkin)
- skin->setPreviewAndScale(canvas);
- else
- skin->setPreview(canvas);
- createMenu(0,skin->menu);
- if (scaleSkin) {
- canvas->setResizeMode(QDeclarativeView::SizeViewToRootObject);
- }
- updateSizeHints();
- skin->show();
- } else if (skin) {
- skin = 0;
- clearMask();
- if ((windowFlags() & Qt::FramelessWindowHint)) {
- menuBar()->clear();
- createMenu(menuBar(),0);
- }
- canvas->setParent(this, Qt::SubWindow);
- setParent(0,windowFlags()); // recreate
- mb->show();
- canvas->setResizeMode(QDeclarativeView::SizeRootObjectToView);
- updateSizeHints();
-
- layout()->setEnabled(true);
- if (!scaleSkin) {
- canvas->resize(initialSize);
- canvas->setFixedSize(initialSize);
- }
- QSize newWindowSize = canvas->size();
- newWindowSize.setHeight(newWindowSize.height()+menuBarHeight());
- resize(newWindowSize);
- show();
- }
- canvas->show();
-}
-
void QDeclarativeViewer::setAutoRecord(int from, int to)
{
if (from==0) from=1; // ensure resized
@@ -1126,7 +941,7 @@ void QDeclarativeViewer::sceneResized(QSize size)
if (canvas->resizeMode() == QDeclarativeView::SizeViewToRootObject) {
updateSizeHints();
}
- }
+ }
}
void QDeclarativeViewer::keyPressEvent(QKeyEvent *event)
@@ -1155,12 +970,7 @@ void QDeclarativeViewer::keyPressEvent(QKeyEvent *event)
} else if (event->key() == Qt::Key_F9 || (event->key() == Qt::Key_9 && devicemode)) {
toggleRecording();
} else if (event->key() == Qt::Key_F10) {
- if (portraitOrientation) {
- if (portraitOrientation->isChecked())
- setLandscape();
- else
- setPortrait();
- }
+ rotateOrientation();
}
QWidget::keyPressEvent(event);
@@ -1365,6 +1175,36 @@ void QDeclarativeViewer::recordFrame()
}
}
+void QDeclarativeViewer::changeOrientation(QAction *action)
+{
+ if (!action)
+ return;
+ action->setChecked(true);
+
+ QString o = action->text().split(QLatin1Char(':')).value(1).trimmed();
+ if (o == QLatin1String("Portrait"))
+ DeviceOrientation::instance()->setOrientation(DeviceOrientation::Portrait);
+ else if (o == QLatin1String("Landscape"))
+ DeviceOrientation::instance()->setOrientation(DeviceOrientation::Landscape);
+ else if (o == QLatin1String("Portrait (Inverted)"))
+ DeviceOrientation::instance()->setOrientation(DeviceOrientation::PortraitInverted);
+ else if (o == QLatin1String("Landscape (Inverted)"))
+ DeviceOrientation::instance()->setOrientation(DeviceOrientation::LandscapeInverted);
+}
+
+void QDeclarativeViewer::orientationChanged()
+{
+ if (canvas->resizeMode() == QDeclarativeView::SizeRootObjectToView) {
+ if (canvas->rootObject()) {
+ QSizeF rootObjectSize = canvas->rootObject()->boundingRect().size();
+ QSize newSize(rootObjectSize.width(), rootObjectSize.height()+menuBarHeight());
+ if (size() != newSize) {
+ resize(newSize);
+ }
+ }
+ }
+}
+
void QDeclarativeViewer::setDeviceKeys(bool on)
{
devicemode = on;
@@ -1387,7 +1227,8 @@ void QDeclarativeViewer::setUseGL(bool useGL)
#endif
QGLWidget *glWidget = new QGLWidget(format);
- glWidget->setAutoFillBackground(false);
+ //### potentially faster, but causes junk to appear if top-level is Item, not Rectangle
+ //glWidget->setAutoFillBackground(false);
canvas->setViewport(glWidget);
}
@@ -1412,26 +1253,17 @@ void QDeclarativeViewer::updateSizeHints()
{
if (canvas->resizeMode() == QDeclarativeView::SizeViewToRootObject) {
QSize newWindowSize = canvas->sizeHint();
- if (!skin)
- newWindowSize.setHeight(newWindowSize.height()+menuBarHeight());
+ newWindowSize.setHeight(newWindowSize.height()+menuBarHeight());
if (!isFullScreen() && !isMaximized()) {
resize(newWindowSize);
setFixedSize(newWindowSize);
- if (skin && scaleSkin) {
- skin->setScreenSize(newWindowSize);
- }
}
} else { // QDeclarativeView::SizeRootObjectToView
canvas->setMinimumSize(QSize(0,0));
canvas->setMaximumSize(QSize(16777215,16777215));
setMinimumSize(QSize(0,0));
setMaximumSize(QSize(16777215,16777215));
- if (skin && !scaleSkin) {
- canvas->setFixedSize(skin->standardScreenSize());
- skin->setScreenSize(skin->standardScreenSize());
- }
}
- updateGeometry();
}
void QDeclarativeViewer::registerTypes()
diff --git a/tools/qml/qmlruntime.h b/tools/qml/qmlruntime.h
index 2a0a07dae5..27bd217f52 100644
--- a/tools/qml/qmlruntime.h
+++ b/tools/qml/qmlruntime.h
@@ -48,6 +48,8 @@
#include <QTime>
#include <QList>
+#include "loggerwidget.h"
+
QT_BEGIN_NAMESPACE
class QDeclarativeView;
@@ -59,6 +61,7 @@ class QDeclarativeTester;
class QNetworkReply;
class QNetworkCookieJar;
class NetworkAccessManagerFactory;
+class QTranslator;
class QDeclarativeViewer
#if defined(Q_OS_SYMBIAN)
@@ -102,11 +105,13 @@ public:
void setUseNativeFileBrowser(bool);
void updateSizeHints();
void setSizeToView(bool sizeToView);
- QStringList builtinSkins() const;
QMenuBar *menuBar() const;
QDeclarativeView *view() const;
+ LoggerWidget *warningsWidget() const;
+
+ void enableExperimentalGestures();
public slots:
void sceneResized(QSize size);
@@ -117,10 +122,9 @@ public slots:
void toggleRecording();
void toggleRecordingWithSelection();
void ffmpegFinished(int code);
- void setSkin(const QString& skinDirectory);
void showProxySettings ();
void proxySettingsChanged ();
- void setScaleView();
+ void rotateOrientation();
void statusChanged();
void setSlowMode(bool);
void launch(const QString &);
@@ -128,7 +132,6 @@ public slots:
protected:
virtual void keyPressEvent(QKeyEvent *);
virtual bool event(QEvent *);
-
void createMenu(QMenuBar *menu, QMenu *flatmenu);
private slots:
@@ -137,19 +140,19 @@ private slots:
void recordFrame();
void chooseRecordingOptions();
void pickRecordingFile();
- void setScaleSkin();
- void setPortrait();
- void setLandscape();
- void toggleOrientation();
- void startNetwork();
void toggleFullScreen();
+ void changeOrientation(QAction*);
+ void orientationChanged();
+
+ void showWarnings(bool show);
+ void warningsWidgetOpened();
+ void warningsWidgetClosed();
private:
QString getVideoFileName();
int menuBarHeight() const;
- PreviewDeviceSkin *skin;
- QSize skinscreensize;
+ LoggerWidget *loggerWindow;
QDeclarativeView *canvas;
QSize initialSize;
QString currentFileOrUrl;
@@ -179,8 +182,8 @@ private:
bool ffmpegAvailable;
bool convertAvailable;
- QAction *portraitOrientation;
- QAction *landscapeOrientation;
+ QActionGroup *orientation;
+ QAction *showWarningsWindow;
QString m_script;
ScriptOptions m_scriptOptions;
@@ -188,10 +191,14 @@ private:
QNetworkReply *wgtreply;
QString wgtdir;
-
NetworkAccessManagerFactory *namFactory;
bool useQmlFileBrowser;
+
+ QTranslator *translator;
+ void loadTranslationFile(const QString& directory);
+
+ void loadDummyDataFiles(const QString& directory);
};
Q_DECLARE_OPERATORS_FOR_FLAGS(QDeclarativeViewer::ScriptOptions)
diff --git a/tools/runonphone/main.cpp b/tools/runonphone/main.cpp
index 37e4548dc2..885d0294a5 100644
--- a/tools/runonphone/main.cpp
+++ b/tools/runonphone/main.cpp
@@ -102,6 +102,10 @@ int main(int argc, char *argv[])
else if (arg == "--sis" || arg == "-s") {
CHECK_PARAMETER_EXISTS
sisFile = it.next();
+ if (!QFileInfo(sisFile).exists()) {
+ errstream << "Sis file (" << sisFile << ") doesn't exist" << endl;
+ return 1;
+ }
}
else if (arg == "--download" || arg == "-d") {
CHECK_PARAMETER_EXISTS
diff --git a/tools/runonphone/symbianutils/launcher.cpp b/tools/runonphone/symbianutils/launcher.cpp
index fa509e721a..ecb067eb8a 100644
--- a/tools/runonphone/symbianutils/launcher.cpp
+++ b/tools/runonphone/symbianutils/launcher.cpp
@@ -365,8 +365,22 @@ void Launcher::handleResult(const TrkResult &result)
QByteArray prefix = "READ BUF: ";
QByteArray str = result.toString().toUtf8();
if (result.isDebugOutput) { // handle application output
- logMessage("APPLICATION OUTPUT: " + result.data);
- emit applicationOutputReceived(result.data);
+ QString msg;
+ if (result.multiplex == MuxTextTrace) {
+ if (result.data.length() > 8) {
+ quint64 timestamp = extractInt64(result.data) & 0x0FFFFFFFFFFFFFFFULL;
+ quint64 secs = timestamp / 1000000000;
+ quint64 ns = timestamp % 1000000000;
+ msg = QString("[%1.%2] %3").arg(secs).arg(ns).arg(QString(result.data.mid(8)));
+ logMessage("TEXT TRACE: " + msg);
+ }
+ } else {
+ logMessage("APPLICATION OUTPUT: " + result.data);
+ msg = result.data;
+ }
+ msg.replace("\r\n", "\n");
+ if(!msg.endsWith('\n')) msg.append('\n');
+ emit applicationOutputReceived(msg);
return;
}
switch (result.code) {
diff --git a/tools/runonphone/symbianutils/trkutils.cpp b/tools/runonphone/symbianutils/trkutils.cpp
index 9b43c96359..60e391ebdf 100644
--- a/tools/runonphone/symbianutils/trkutils.cpp
+++ b/tools/runonphone/symbianutils/trkutils.cpp
@@ -276,14 +276,13 @@ QByteArray frameMessage(byte command, byte token, const QByteArray &data, bool s
/* returns 0 if array doesn't represent a result,
otherwise returns the length of the result data */
-ushort isValidTrkResult(const QByteArray &buffer, bool serialFrame)
+ushort isValidTrkResult(const QByteArray &buffer, bool serialFrame, ushort& mux)
{
if (serialFrame) {
// Serial protocol with length info
if (buffer.length() < 4)
return 0;
- if (buffer.at(0) != 0x01 || byte(buffer.at(1)) != 0x90)
- return 0;
+ mux = extractShort(buffer.data());
const ushort len = extractShort(buffer.data() + 2);
return (buffer.size() >= len + 4) ? len : ushort(0);
}
@@ -292,6 +291,7 @@ ushort isValidTrkResult(const QByteArray &buffer, bool serialFrame)
const int firstDelimiterPos = buffer.indexOf(delimiter);
// Regular message delimited by 0x7e..0x7e
if (firstDelimiterPos == 0) {
+ mux = MuxTrk;
const int endPos = buffer.indexOf(delimiter, firstDelimiterPos + 1);
return endPos != -1 ? endPos + 1 - firstDelimiterPos : 0;
}
@@ -304,7 +304,7 @@ bool extractResult(QByteArray *buffer, bool serialFrame, TrkResult *result, QByt
result->clear();
if(rawData)
rawData->clear();
- const ushort len = isValidTrkResult(*buffer, serialFrame);
+ const ushort len = isValidTrkResult(*buffer, serialFrame, result->multiplex);
if (!len)
return false;
// handle receiving application output, which is not a regular command
@@ -312,7 +312,6 @@ bool extractResult(QByteArray *buffer, bool serialFrame, TrkResult *result, QByt
if (buffer->at(delimiterPos) != 0x7e) {
result->isDebugOutput = true;
result->data = buffer->mid(delimiterPos, len);
- result->data.replace("\r\n", "\n");
*buffer->remove(0, delimiterPos + len);
return true;
}
@@ -353,6 +352,19 @@ SYMBIANUTILS_EXPORT uint extractInt(const char *data)
return res;
}
+SYMBIANUTILS_EXPORT quint64 extractInt64(const char *data)
+{
+ quint64 res = byte(data[0]);
+ res <<= 8; res += byte(data[1]);
+ res <<= 8; res += byte(data[2]);
+ res <<= 8; res += byte(data[3]);
+ res <<= 8; res += byte(data[4]);
+ res <<= 8; res += byte(data[5]);
+ res <<= 8; res += byte(data[6]);
+ res <<= 8; res += byte(data[7]);
+ return res;
+}
+
SYMBIANUTILS_EXPORT QString quoteUnprintableLatin1(const QByteArray &ba)
{
QString res;
diff --git a/tools/runonphone/symbianutils/trkutils.h b/tools/runonphone/symbianutils/trkutils.h
index 553fc7d407..e57102887a 100644
--- a/tools/runonphone/symbianutils/trkutils.h
+++ b/tools/runonphone/symbianutils/trkutils.h
@@ -135,9 +135,16 @@ enum Command {
TrkDSPositionFile = 0xd4
};
+enum SerialMultiplexor {
+ MuxRaw = 0,
+ MuxTextTrace = 0x0102,
+ MuxTrk = 0x0190
+};
+
inline byte extractByte(const char *data) { return *data; }
SYMBIANUTILS_EXPORT ushort extractShort(const char *data);
SYMBIANUTILS_EXPORT uint extractInt(const char *data);
+SYMBIANUTILS_EXPORT quint64 extractInt64(const char *data);
SYMBIANUTILS_EXPORT QString quoteUnprintableLatin1(const QByteArray &ba);
@@ -217,6 +224,7 @@ struct SYMBIANUTILS_EXPORT TrkResult
int errorCode() const;
QString errorString() const;
+ ushort multiplex;
byte code;
byte token;
QByteArray data;
diff --git a/tools/shared/deviceskin/deviceskin.pri b/tools/shared/deviceskin/deviceskin.pri
index 2552c922b0..3e9935abbb 100644
--- a/tools/shared/deviceskin/deviceskin.pri
+++ b/tools/shared/deviceskin/deviceskin.pri
@@ -2,13 +2,10 @@ INCLUDEPATH += $$PWD
HEADERS += $$PWD/deviceskin.h
SOURCES += $$PWD/deviceskin.cpp
RESOURCES += $$PWD/skins/ClamshellPhone.qrc \
- $$PWD/skins/PDAPhone.qrc \
$$PWD/skins/SmartPhone2.qrc \
$$PWD/skins/SmartPhone.qrc \
$$PWD/skins/SmartPhoneWithButtons.qrc \
$$PWD/skins/TouchscreenPhone.qrc \
- $$PWD/skins/Trolltech-Keypad.qrc \
- $$PWD/skins/Trolltech-Touchscreen.qrc \
$$PWD/skins/PortableMedia.qrc \
$$PWD/skins/S60-QVGA-Candybar.qrc \
$$PWD/skins/S60-nHD-Touchscreen.qrc
diff --git a/tools/shared/deviceskin/skins/DualScreenPhone.skin/DualScreen-pressed.png b/tools/shared/deviceskin/skins/DualScreenPhone.skin/DualScreen-pressed.png
deleted file mode 100644
index d62ef4a8d3..0000000000
--- a/tools/shared/deviceskin/skins/DualScreenPhone.skin/DualScreen-pressed.png
+++ /dev/null
Binary files differ
diff --git a/tools/shared/deviceskin/skins/DualScreenPhone.skin/DualScreen.png b/tools/shared/deviceskin/skins/DualScreenPhone.skin/DualScreen.png
deleted file mode 100644
index cb3d1a72a4..0000000000
--- a/tools/shared/deviceskin/skins/DualScreenPhone.skin/DualScreen.png
+++ /dev/null
Binary files differ
diff --git a/tools/shared/deviceskin/skins/DualScreenPhone.skin/DualScreenPhone.skin b/tools/shared/deviceskin/skins/DualScreenPhone.skin/DualScreenPhone.skin
deleted file mode 100644
index a82ef23880..0000000000
--- a/tools/shared/deviceskin/skins/DualScreenPhone.skin/DualScreenPhone.skin
+++ /dev/null
@@ -1,29 +0,0 @@
-[SkinFile]
-Up=DualScreen.png
-Down=DualScreen-pressed.png
-Screen=128 155 176 208
-BackScreen=18 44 98 119
-Areas=21
-HasMouseHover=false
-
-"Context1" 0x1100000 144 368 189 368 168 396 176 427 150 398
-"Back" 0x1000061 245 365 291 366 283 398 258 424 265 394
-"Select" 0x1010000 202 401 210 389 224 388 233 402 224 415 208 415
-"Up" 0x1000013 202 381 196 374 218 363 239 373 229 382
-"Left" 0x1000012 199 385 189 375 176 403 185 426 197 415 194 401
-"Right" 0x1000014 235 390 248 379 253 402 246 421 238 413
-"Down" 0x1000015 204 421 233 422 241 432 214 443 191 430
-"Call" 0x1100004 163 452 137 450 125 465 136 484 159 485 169 467
-"Hangup" 0x1100005 266 475 279 448 295 447 309 460 301 480 289 487
-"1" 0x31 175 514 147 504 133 518 161 532 180 534
-"2" 0x32 199 515 229 519 238 533 222 540 195 538
-"2" 0x32 260 512 286 506 299 513 284 527 264 535 248 525
-"4" 0x34 164 541 177 546 182 560 164 565 146 560 135 545 154 539
-"5" 0x35 204 546 225 546 243 560 231 574 205 573 191 558
-"6" 0x36 257 547 281 537 294 540 287 555 274 566 254 561
-"7" 0x37 145 569 176 578 177 595 156 597 138 584
-"8" 0x38 197 582 229 584 241 593 226 604 201 603 189 594
-"9" 0x39 253 577 288 564 301 578 283 593 259 597 251 586
-"*" 0x2a 145 598 181 611 182 623 163 632 144 623 138 607
-"0" 0x30 196 611 233 613 240 630 220 642 193 637 191 622
-"#" 0x23 255 610 286 600 302 615 279 625 258 629 247 616
diff --git a/tools/shared/deviceskin/skins/DualScreenPhone.skin/defaultbuttons.conf b/tools/shared/deviceskin/skins/DualScreenPhone.skin/defaultbuttons.conf
deleted file mode 100644
index 1103350557..0000000000
--- a/tools/shared/deviceskin/skins/DualScreenPhone.skin/defaultbuttons.conf
+++ /dev/null
@@ -1,78 +0,0 @@
-[Translation]
-File=QtopiaDefaults
-Context=Buttons
-[Menu]
-Rows=4
-Columns=3
-Map=123456789*0#
-Default=5
-1=Applications/camera.desktop
-2=Applications/datebook.desktop
-3=Applications
-4=Applications/qtmail.desktop
-5=Applications/addressbook.desktop
-6=Games
-7=Settings/Beaming.desktop
-8=Applications/simapp.desktop,Applications/calculator.desktop
-9=Settings
-*=Applications/mediarecorder.desktop
-0=Applications/todolist.desktop
-#=Documents
-Animator=Bounce
-AnimatorBackground=Radial
-[SoftKeys]
-Count=3
-Key0=Context1
-Key1=Select
-Key2=Back
-[SystemButtons]
-Count=5
-Key0=Context1
-Key1=Select
-Key2=Back
-Key3=Call
-Key4=Hangup
-[TextButtons]
-Buttons=0123456789*#
-Hold0='0
-Hold1='1
-Hold2='2
-Hold3='3
-Hold4='4
-Hold5='5
-Hold6='6
-Hold7='7
-Hold8='8
-Hold9='9
-Hold*=symbol
-Hold#=mode
-Tap0=space
-Tap1="\".,'?!-@:1"
-Tap2="\"a\xe4\xe5\xe6\xe0\xe1\xe2\x62\x63\xe7\x32"
-Tap3="\"de\xe8\xe9\xea\x66\x33"
-Tap4="\"ghi\xec\xed\xee\x34"
-Tap5="\"jkl5"
-Tap6="\"mn\xf1o\xf6\xf8\xf2\xf3\x36"
-Tap7="\"pqrs\xdf\x37"
-Tap8="\"tu\xfc\xf9\xfav8"
-Tap9="\"wxyz9"
-Tap*=modify
-Tap#=shift
-[LocaleTextButtons]
-Buttons=23456789
-Tap2[]='abc
-Tap3[]='def
-Tap4[]='ghi
-Tap5[]='jkl
-Tap6[]='mno
-Tap7[]='pqrs
-Tap8[]='tuv
-Tap9[]='wxyz
-[PhoneTextButtons]
-Buttons=*#
-Tap*='*+pw
-Hold*=+
-Tap#='#
-Hold#=mode
-[Device]
-PrimaryInput=Keypad
diff --git a/tools/shared/deviceskin/skins/PDAPhone.qrc b/tools/shared/deviceskin/skins/PDAPhone.qrc
deleted file mode 100644
index 1a1c35a582..0000000000
--- a/tools/shared/deviceskin/skins/PDAPhone.qrc
+++ /dev/null
@@ -1,5 +0,0 @@
-<!DOCTYPE RCC><RCC version="1.0">
-<qresource prefix="/skins">
- <file>PDAPhone.skin</file>
-</qresource>
-</RCC>
diff --git a/tools/shared/deviceskin/skins/PDAPhone.skin/PDAPhone.skin b/tools/shared/deviceskin/skins/PDAPhone.skin/PDAPhone.skin
deleted file mode 100644
index d6a1966594..0000000000
--- a/tools/shared/deviceskin/skins/PDAPhone.skin/PDAPhone.skin
+++ /dev/null
@@ -1,18 +0,0 @@
-[SkinFile]
-Up=pda_up.png
-Down=pda_down.png
-Screen=42 59 176 220
-Cursor=finger.png 20 20
-Areas=10
-HasMouseHover=false
-
-"Power" 0x0100000a 117 21 141 42
-"Context1" 0x01100000 43 284 74 315
-"Call" 0x01100004 74 284 104 315
-"Hangup" 0x01100005 154 284 184 315
-"Back" 0x01000061 184 284 214 315
-"Left" 0x1000012 123 315 110 326 106 307 113 288 123 300 120 307
-"Down" 0x1000015 123 315 130 318 138 315 150 326 129 335 111 325
-"Right" 0x1000014 137 301 149 290 155 308 150 324 138 315 140 308
-"Up" 0x1000013 123 300 112 289 130 282 149 290 137 300 130 298
-"Select" 0x01010000 131 298 137 300 140 307 138 315 130 318 123 316 120 307 123 300
diff --git a/tools/shared/deviceskin/skins/PDAPhone.skin/defaultbuttons.conf b/tools/shared/deviceskin/skins/PDAPhone.skin/defaultbuttons.conf
deleted file mode 100644
index e3ae813df2..0000000000
--- a/tools/shared/deviceskin/skins/PDAPhone.skin/defaultbuttons.conf
+++ /dev/null
@@ -1,36 +0,0 @@
-[Translation]
-File=QtopiaDefaults
-Context=Buttons
-[Menu]
-Rows=4
-Columns=3
-Map=123456789*0#
-Default=5
-1=Applications/camera.desktop
-2=Applications/datebook.desktop
-3=Applications
-4=Applications/qtmail.desktop
-5=Applications/addressbook.desktop
-6=Games
-7=Settings/Beaming.desktop
-8=Applications/simapp.desktop,Applications/calculator.desktop
-9=Settings
-*=Applications/mediarecorder.desktop
-0=Applications/todolist.desktop
-#=Documents
-Animator=Bounce
-AnimatorBackground=Radial
-[SoftKeys]
-Count=3
-Key0=Context1
-Key1=Select
-Key2=Back
-[SystemButtons]
-Count=5
-Key0=Context1
-Key1=Back
-Key2=Select
-Key3=Call
-Key4=Hangup
-[Device]
-PrimaryInput=Touchscreen
diff --git a/tools/shared/deviceskin/skins/PDAPhone.skin/finger.png b/tools/shared/deviceskin/skins/PDAPhone.skin/finger.png
deleted file mode 100644
index 24cf0cb2eb..0000000000
--- a/tools/shared/deviceskin/skins/PDAPhone.skin/finger.png
+++ /dev/null
Binary files differ
diff --git a/tools/shared/deviceskin/skins/PDAPhone.skin/pda_down.png b/tools/shared/deviceskin/skins/PDAPhone.skin/pda_down.png
deleted file mode 100644
index f65c059302..0000000000
--- a/tools/shared/deviceskin/skins/PDAPhone.skin/pda_down.png
+++ /dev/null
Binary files differ
diff --git a/tools/shared/deviceskin/skins/PDAPhone.skin/pda_up.png b/tools/shared/deviceskin/skins/PDAPhone.skin/pda_up.png
deleted file mode 100644
index 541e3c404f..0000000000
--- a/tools/shared/deviceskin/skins/PDAPhone.skin/pda_up.png
+++ /dev/null
Binary files differ
diff --git a/tools/shared/deviceskin/skins/Trolltech-Keypad.qrc b/tools/shared/deviceskin/skins/Trolltech-Keypad.qrc
deleted file mode 100644
index 4775068cff..0000000000
--- a/tools/shared/deviceskin/skins/Trolltech-Keypad.qrc
+++ /dev/null
@@ -1,5 +0,0 @@
-<!DOCTYPE RCC><RCC version="1.0">
-<qresource prefix="/skins">
- <file>Trolltech-Keypad.skin</file>
-</qresource>
-</RCC>
diff --git a/tools/shared/deviceskin/skins/Trolltech-Keypad.skin/Trolltech-Keypad-closed.png b/tools/shared/deviceskin/skins/Trolltech-Keypad.skin/Trolltech-Keypad-closed.png
deleted file mode 100644
index 8dd5719341..0000000000
--- a/tools/shared/deviceskin/skins/Trolltech-Keypad.skin/Trolltech-Keypad-closed.png
+++ /dev/null
Binary files differ
diff --git a/tools/shared/deviceskin/skins/Trolltech-Keypad.skin/Trolltech-Keypad-down.png b/tools/shared/deviceskin/skins/Trolltech-Keypad.skin/Trolltech-Keypad-down.png
deleted file mode 100644
index 5e1e6beff8..0000000000
--- a/tools/shared/deviceskin/skins/Trolltech-Keypad.skin/Trolltech-Keypad-down.png
+++ /dev/null
Binary files differ
diff --git a/tools/shared/deviceskin/skins/Trolltech-Keypad.skin/Trolltech-Keypad.png b/tools/shared/deviceskin/skins/Trolltech-Keypad.skin/Trolltech-Keypad.png
deleted file mode 100644
index fb3d549759..0000000000
--- a/tools/shared/deviceskin/skins/Trolltech-Keypad.skin/Trolltech-Keypad.png
+++ /dev/null
Binary files differ
diff --git a/tools/shared/deviceskin/skins/Trolltech-Keypad.skin/Trolltech-Keypad.skin b/tools/shared/deviceskin/skins/Trolltech-Keypad.skin/Trolltech-Keypad.skin
deleted file mode 100644
index 4d90321f98..0000000000
--- a/tools/shared/deviceskin/skins/Trolltech-Keypad.skin/Trolltech-Keypad.skin
+++ /dev/null
@@ -1,35 +0,0 @@
-[SkinFile]
-Up=Trolltech-Keypad.png
-Down=Trolltech-Keypad-down.png
-Closed=Trolltech-Keypad-closed.png
-ClosedAreas=F1 F2 F3 Flip
-ClosedScreen=95 456 128 96
-Screen=75 85 176 220
-Areas=25
-HasMouseHover=false
-"1" 0x0031 65 542 68 536 76 532 114 536 114 573 64 568
-"2" 0x0032 133 537 188 574
-"3" 0x0033 206 536 246 532 252 536 256 542 258 569 205 572
-"4" 0x0034 64 578 114 618
-"5" 0x0035 133 581 188 618
-"6" 0x0036 206 580 256 577 258 613 206 616
-"7" 0x0037 66 622 116 625 114 662 66 658
-"8" 0x0038 133 626 188 662
-"9" 0x0039 206 625 256 622 256 658 206 661
-"*" 0x002a 68 667 116 670 114 705 86 699 76 693 69 686
-"0" 0x0030 133 671 188 708
-"#" 0x0023 206 670 254 665 254 684 245 692 232 699 206 704
-"Context1" 0x01100000 69 420 75 410 85 404 101 404 102 458 69 458
-"Back" 0x01000061 218 404 234 404 240 408 248 418 248 456 218 457
-"Home" 0x1000010 140 494 180 514
-"Hangup" 0x01100005 218 457 248 456 248 496 243 507 230 514 194 514 194 494 206 492 213 486 218 478
-"Call" 0x01100004 68 458 102 460 102 479 108 487 118 492 126 494 126 514 86 514 77 507 72 496
-"Select" 0x01010000 138 426 182 458
-"Up" 0x1000013 118 406 201 402 184 423 134 422
-"Right" 0x1000014 184 424 201 402 202 476 184 460
-"Down" 0x1000015 135 462 184 461 199 477 118 477
-"Left" 0x1000012 118 406 134 424 134 461 117 476
-"F1" 0x1000030 0 408 45 456
-"F2" 0x1000031 0 456 45 509
-"F3" 0x1000032 0 545 45 582
-"Flip" 0x1100006 32 353 293 386
diff --git a/tools/shared/deviceskin/skins/Trolltech-Keypad.skin/defaultbuttons.conf b/tools/shared/deviceskin/skins/Trolltech-Keypad.skin/defaultbuttons.conf
deleted file mode 100644
index 6a78e67c3e..0000000000
--- a/tools/shared/deviceskin/skins/Trolltech-Keypad.skin/defaultbuttons.conf
+++ /dev/null
@@ -1,142 +0,0 @@
-[Translation]
-File=QtopiaDefaults
-Context=Buttons
-[Button]
-Count=8
-[Button7]
-Name[]=Home Down Button
-Key=Down
-Context=HomeScreen
-PressedActionMappable=0
-HeldActionService=Messaging
-HeldActionMessage=raise()
-[Button6]
-Name[]=Home Up Button
-Key=Up
-Context=HomeScreen
-PressedActionMappable=0
-HeldActionService=Contacts
-HeldActionMessage=raise()
-[Button5]
-Name[]=Home Right Button
-Key=Right
-Context=HomeScreen
-PressedActionMappable=0
-HeldActionService=mediaplayer
-HeldActionMessage=raise()
-[Button4]
-Name[]=Calender Button
-Key=Left
-Context=HomeScreen
-PressedActionMappable=0
-HeldActionService=Calendar
-HeldActionMessage=raiseToday()
-[Button3]
-Name[]=Left Soft Key
-Key=Context1
-HeldActionService=TaskManager
-HeldActionMessage=showRunningTasks()
-HeldActionMappable=0
-PressActionMappable=0
-[Button2]
-Name[]=VoiceNotes Button
-Key=F1
-PressedActionService=mediarecorder
-PressedActionMessage=raise()
-HeldActionService=mediarecorder
-HeldActionMessage=newEvent()
-[Button1]
-Name[]=Camera Button
-Key=F2
-PressedActionService=Camera
-PressedActionMessage=raise()
-HeldActionService=Tasks
-HeldActionMessage=newTask()
-[Button0]
-Name[]=Home Button
-Key=Home
-PressedActionMappable=0
-PressedActionService=TaskManager
-PressedActionMessage=multitask()
-HeldActionMappable=0
-HeldActionService=TaskManager
-HeldActionMessage=showRunningTasks()
-[Menu]
-Rows=4
-Columns=3
-Map=123456789*0#
-Default=5
-1=Applications/camera.desktop
-2=Applications/mediaplayer.desktop
-3=Applications/simapp.desktop,Applications/calculator.desktop
-4=Applications/qtmail.desktop
-5=Applications/addressbook.desktop
-6=Applications/datebook.desktop
-7=Games
-8=Settings/Beaming.desktop
-9=Applications/todolist.desktop
-*=Settings
-0=Applications
-#=Documents
-Animator=Bounce
-AnimatorBackground=Radial
-[SoftKeys]
-Count=3
-Key0=Context1
-Key1=Select
-Key2=Back
-[SystemButtons]
-Count=6
-Key0=Context1
-Key1=Select
-Key2=Back
-Key3=Call
-Key4=Hangup
-Key5=Flip
-[TextButtons]
-Buttons=0123456789*#
-Hold0='0
-Hold1='1
-Hold2='2
-Hold3='3
-Hold4='4
-Hold5='5
-Hold6='6
-Hold7='7
-Hold8='8
-Hold9='9
-Hold*=symbol
-Hold#=mode
-Tap0=space
-Tap0=space
-Tap1="\".,'?!-@:1"
-Tap2="\"a\xe4\xe5\xe6\xe0\xe1\xe2\x62\x63\xe7\x32"
-Tap3="\"de\xe8\xe9\xea\x66\x33"
-Tap4="\"ghi\xec\xed\xee\x34"
-Tap5="\"jkl5"
-Tap6="\"mn\xf1o\xf6\xf8\xf2\xf3\x36"
-Tap7="\"pqrs\xdf\x37"
-Tap8="\"tu\xfc\xf9\xfav8"
-Tap9="\"wxyz9"
-Tap*=modify
-Tap#=shift
-[LocaleTextButtons]
-Buttons=23456789
-Tap2[]='abc
-Tap3[]='def
-Tap4[]='ghi
-Tap5[]='jkl
-Tap6[]='mno
-Tap7[]='pqrs
-Tap8[]='tuv
-Tap9[]='wxyz
-[PhoneTextButtons]
-Buttons=*#
-Tap*='*+pw
-Hold*=+
-Tap#='#
-Hold#=mode
-[Device]
-PrimaryInput=Keypad
-[Environment]
-QWS_DISPLAY=Multi: LinuxFb:mmHeight57:0 LinuxFb:offset=0,320:1 :0
diff --git a/tools/shared/deviceskin/skins/Trolltech-Touchscreen.qrc b/tools/shared/deviceskin/skins/Trolltech-Touchscreen.qrc
deleted file mode 100644
index 40fafeb7ed..0000000000
--- a/tools/shared/deviceskin/skins/Trolltech-Touchscreen.qrc
+++ /dev/null
@@ -1,5 +0,0 @@
-<!DOCTYPE RCC><RCC version="1.0">
-<qresource prefix="/skins">
- <file>Trolltech-Touchscreen.skin</file>
-</qresource>
-</RCC>
diff --git a/tools/shared/deviceskin/skins/Trolltech-Touchscreen.skin/Trolltech-Touchscreen-down.png b/tools/shared/deviceskin/skins/Trolltech-Touchscreen.skin/Trolltech-Touchscreen-down.png
deleted file mode 100644
index c1a422f4eb..0000000000
--- a/tools/shared/deviceskin/skins/Trolltech-Touchscreen.skin/Trolltech-Touchscreen-down.png
+++ /dev/null
Binary files differ
diff --git a/tools/shared/deviceskin/skins/Trolltech-Touchscreen.skin/Trolltech-Touchscreen.png b/tools/shared/deviceskin/skins/Trolltech-Touchscreen.skin/Trolltech-Touchscreen.png
deleted file mode 100644
index 544a425162..0000000000
--- a/tools/shared/deviceskin/skins/Trolltech-Touchscreen.skin/Trolltech-Touchscreen.png
+++ /dev/null
Binary files differ
diff --git a/tools/shared/deviceskin/skins/Trolltech-Touchscreen.skin/Trolltech-Touchscreen.skin b/tools/shared/deviceskin/skins/Trolltech-Touchscreen.skin/Trolltech-Touchscreen.skin
deleted file mode 100644
index 5de882eed6..0000000000
--- a/tools/shared/deviceskin/skins/Trolltech-Touchscreen.skin/Trolltech-Touchscreen.skin
+++ /dev/null
@@ -1,17 +0,0 @@
-[SkinFile]
-Up=Trolltech-Touchscreen.png
-Down=Trolltech-Touchscreen-down.png
-Screen=40 109 176 220
-Areas=10
-HasMouseHover=false
-
-"Context1" 0x01100000 38 420 44 408 52 404 68 403 68 458 40 458
-"Back" 0x01000061 185 42 202 398 211 410 216 418 219 456 186 456
-"Call" 0x01100004 38 458 70 458 71 478 75 486 83 492 94 494 94 516 56 516 45 507 38 498
-"Hangup" 0x01100005 186 458 220 458 220 496 214 508 200 516 162 516 161 494 172 492 180 486 185 478
-"Left" 0x1000012 86 405 106 426 106 461 85 478
-"Down" 0x1000015 106 460 151 460 170 480 85 480
-"Right" 0x1000014 151 424 170 404 170 480 151 460
-"Up" 0x1000013 85 403 168 403 150 424 106 424
-"Select" 0x01010000 106 426 150 456
-"Home" 0x1000010 105 493 145 512
diff --git a/tools/shared/deviceskin/skins/Trolltech-Touchscreen.skin/defaultbuttons.conf b/tools/shared/deviceskin/skins/Trolltech-Touchscreen.skin/defaultbuttons.conf
deleted file mode 100644
index 6665125c90..0000000000
--- a/tools/shared/deviceskin/skins/Trolltech-Touchscreen.skin/defaultbuttons.conf
+++ /dev/null
@@ -1,53 +0,0 @@
-[Translation]
-File=QtopiaDefaults
-Context=Buttons
-[Menu]
-Rows=4
-Columns=3
-Map=123456789*0#
-Default=5
-1=Applications/camera.desktop
-2=Applications/mediaplayer.desktop
-3=Applications/simapp.desktop,Applications/calculator.desktop
-4=Applications/qtmail.desktop
-5=Applications/addressbook.desktop
-6=Applications/datebook.desktop
-7=Games
-8=Settings/beaming.desktop
-9=Applications/todolist.desktop
-*=Settings
-0=Applications
-#=Documents
-Animator=Bounce
-AnimatorBackground=Radial
-[SoftKeys]
-Count=3
-Key0=Context1
-Key1=Select
-Key2=Back
-[SystemButtons]
-Count=5
-Key0=Context1
-Key1=Back
-Key2=Select
-Key3=Call
-Key4=Hangup
-[Device]
-PrimaryInput=Touchscreen
-[Button]
-Count=2
-[Button0]
-Name[]=Home Button
-Key=Home
-PressedActionMappable=0
-PressedActionService=TaskManager
-PressedActionMessage=multitask()
-HeldActionMappable=0
-HeldActionService=TaskManager
-HeldActionMessage=showRunningTasks()
-[Button1]
-Name=Power Button
-Key=Hangup
-HeldActionService=Launcher
-HeldActionMessage=execute(QString)
-HeldActionArgs=@ByteArray(\0\0\0\x1\0\0\0\n\0\0\0\0\x10\0s\0h\0u\0t\0\x64\0o\0w\0n)
diff --git a/tools/shared/symbian/epocroot.cpp b/tools/shared/symbian/epocroot.cpp
index 071477d43a..ae1dcb1ec0 100644
--- a/tools/shared/symbian/epocroot.cpp
+++ b/tools/shared/symbian/epocroot.cpp
@@ -105,10 +105,6 @@ static void fixEpocRoot(QString &path)
{
path.replace("\\", "/");
- if (path.size() > 1 && path[1] == QChar(':')) {
- path = path.mid(2);
- }
-
if (!path.size() || path[path.size()-1] != QChar('/')) {
path += QChar('/');
}
@@ -153,10 +149,13 @@ QString epocRoot()
while (!(xml.isEndElement() && xml.name() == "devices") && !xml.atEnd()) {
xml.readNext();
if (xml.isStartElement() && xml.name() == "device") {
- const bool isDefault = xml.attributes().value("default") == "yes";
+ const bool isDefault = xml.attributes().value("default") == "yes";
const QString id = xml.attributes().value("id").toString();
- const QString name = xml.attributes().value("name").toString();
- const bool epocDeviceMatch = (id + ":" + name) == epocDeviceValue;
+ const QString name = xml.attributes().value("name").toString();
+ const QString alias = xml.attributes().value("alias").toString();
+ bool epocDeviceMatch = (id + ":" + name) == epocDeviceValue;
+ if (!alias.isEmpty())
+ epocDeviceMatch |= alias == epocDeviceValue;
epocDeviceFound |= epocDeviceMatch;
if((epocDeviceValue.isEmpty() && isDefault) || epocDeviceMatch) {
diff --git a/translations/assistant_hu.ts b/translations/assistant_hu.ts
index e43070cc1c..50e30d7448 100644
--- a/translations/assistant_hu.ts
+++ b/translations/assistant_hu.ts
@@ -1,18 +1,18 @@
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE TS>
-<TS version="2.0" language="hu">
+<TS version="2.0" language="hu_HU">
<context>
<name>AboutDialog</name>
<message>
- <location filename="../tools/assistant/tools/assistant/aboutdialog.cpp" line="+110"/>
+ <location filename="../tools/assistant/tools/assistant/aboutdialog.cpp" line="+117"/>
<source>&amp;Close</source>
- <translation>&amp;Bezárás</translation>
+ <translation>Be&amp;zárás</translation>
</message>
</context>
<context>
<name>AboutLabel</name>
<message>
- <location line="-14"/>
+ <location line="-15"/>
<source>Warning</source>
<translation>Figyelmeztetés</translation>
</message>
@@ -20,17 +20,91 @@
<location line="+1"/>
<source>Unable to launch external application.
</source>
- <translation>Nem lehet külső alkalmazást elindítani.</translation>
+ <translation>A külső alkalmazás elindítása sikertelen.
+</translation>
</message>
<message>
- <location line="+1"/>
+ <location line="+0"/>
<source>OK</source>
<translation>OK</translation>
</message>
</context>
<context>
+ <name>Assistant</name>
+ <message>
+ <location filename="../tools/assistant/tools/assistant/main.cpp" line="+177"/>
+ <source>Error registering documentation file &apos;%1&apos;: %2</source>
+ <translation>Hiba a(z) &apos;%1&apos; dokumentáció fájl regisztrálásakor: %2</translation>
+ </message>
+ <message>
+ <location line="+39"/>
+ <source>Error: %1</source>
+ <translation>Hiba: %1</translation>
+ </message>
+ <message>
+ <location line="+42"/>
+ <source>Could not register documentation file
+%1
+
+Reason:
+%2</source>
+ <translation>A dokumentációs fájl regisztrálása sikertelen
+%1
+
+Oka:
+%2</translation>
+ </message>
+ <message>
+ <location line="+6"/>
+ <source>Documentation successfully registered.</source>
+ <translation>A dokumentáció regisztrálása sikerült.</translation>
+ </message>
+ <message>
+ <location line="+12"/>
+ <source>Could not unregister documentation file
+%1
+
+Reason:
+%2</source>
+ <translation>A dokumentációs fájl eltávolítása sikertelen
+%1
+
+Oka:
+%2</translation>
+ </message>
+ <message>
+ <location line="+8"/>
+ <source>Documentation successfully unregistered.</source>
+ <translation>A dokumentáció eltávolítása sikerült.</translation>
+ </message>
+ <message>
+ <location line="+55"/>
+ <source>Error reading collection file &apos;%1&apos;: %2.</source>
+ <translation>Hiba a(z) &apos;%1&apos; gyűjteményfájl olvasásakor: %2.</translation>
+ </message>
+ <message>
+ <location line="+11"/>
+ <source>Error creating collection file &apos;%1&apos;: %2.</source>
+ <translation>Hiba a(z) &apos;%1&apos; gyűjteményfájl létrehozásakor: %2.</translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>Error reading collection file &apos;%1&apos;: %2</source>
+ <translation>Hiba a(z) &apos;%1&apos; gyűjteményfájl olvasásakor: %2</translation>
+ </message>
+ <message>
+ <location line="+53"/>
+ <source>Cannot load sqlite database driver!</source>
+ <translation>Az sqlite adatbázisdriver nem tölthető be!</translation>
+ </message>
+</context>
+<context>
<name>BookmarkDialog</name>
<message>
+ <source>Bookmarks</source>
+ <translation type="obsolete">Könyvjelzők</translation>
+ </message>
+ <message>
<location filename="../tools/assistant/tools/assistant/bookmarkdialog.ui"/>
<source>Add Bookmark</source>
<translation>Könyvjelző hozzáadása</translation>
@@ -43,96 +117,85 @@
<message>
<location/>
<source>Add in Folder:</source>
- <translation>Hozzáadás dossziéban:</translation>
+ <translation>Hozzáadás ide:</translation>
</message>
<message>
<location/>
- <source>New Folder</source>
- <translation>Új dosszié</translation>
- </message>
- <message>
- <location filename="../tools/assistant/tools/assistant/bookmarkmanager.cpp" line="+184"/>
- <location line="+18"/>
- <location line="+39"/>
- <location line="+18"/>
- <location line="+30"/>
- <source>Bookmarks</source>
- <translation>Könyvjelzők</translation>
- </message>
- <message>
- <location filename="../tools/assistant/tools/assistant/bookmarkdialog.ui"/>
<source>+</source>
<translation>+</translation>
</message>
<message>
- <location filename="../tools/assistant/tools/assistant/bookmarkmanager.cpp" line="-61"/>
+ <location/>
+ <source>New Folder</source>
+ <translation>Új mappa</translation>
+ </message>
+ <message>
<source>Delete Folder</source>
- <translation>Dosszié törlése</translation>
+ <translation type="obsolete">Mappa törlése</translation>
</message>
<message>
- <location line="+1"/>
<source>Rename Folder</source>
- <translation>Dosszié átnevezése</translation>
+ <translation type="obsolete">Mappa átnevezése</translation>
</message>
</context>
<context>
<name>BookmarkManager</name>
<message>
- <location line="+435"/>
<source>Bookmarks</source>
- <translation>Könyvjelzők</translation>
+ <translation type="obsolete">Könyvjelzők</translation>
</message>
<message>
- <location line="+37"/>
+ <location filename="../tools/assistant/tools/assistant/bookmarkmanager.cpp" line="+151"/>
+ <source>Untitled</source>
+ <translation>Névtelen</translation>
+ </message>
+ <message>
+ <location line="+65"/>
<source>Remove</source>
- <translation>Áthelyezés</translation>
+ <translation>Törlés</translation>
</message>
<message>
<location line="+1"/>
<source>You are going to delete a Folder, this will also&lt;br&gt;remove it&apos;s content. Are you sure to continue?</source>
- <translation>Egy olyan dossziét fog törölni, ami &lt;br&gt; törli annak tartalmát is. Biztos benne, hogy folytatja?</translation>
+ <translation>A mappa törlésekor a tartalma is megsemmisül.&lt;br&gt;Biztosan folytatja?</translation>
</message>
<message>
- <location line="+143"/>
- <location line="+9"/>
- <source>New Folder</source>
- <translation>Új Dosszié</translation>
+ <location line="+147"/>
+ <source>Manage Bookmarks...</source>
+ <translation>Könyvjelzők kezelése...</translation>
</message>
-</context>
-<context>
- <name>BookmarkWidget</name>
<message>
- <location line="-417"/>
- <source>Filter:</source>
- <translation>Szűrő:</translation>
+ <location line="+3"/>
+ <source>Add Bookmark...</source>
+ <translation>Könyvjelző hozzáadása...</translation>
</message>
<message>
- <location line="+33"/>
- <source>Remove</source>
- <translation>Eltávolítás</translation>
+ <location line="+1"/>
+ <source>Ctrl+D</source>
+ <translation></translation>
</message>
<message>
- <location line="-79"/>
+ <location line="+68"/>
<source>Delete Folder</source>
- <translation>Dosszié törlése</translation>
+ <translation>Mappa törlése</translation>
</message>
<message>
<location line="+1"/>
<source>Rename Folder</source>
- <translation>Dosszié átnevezése</translation>
+ <translation>Mappa átnevezése</translation>
</message>
<message>
<location line="+2"/>
<source>Show Bookmark</source>
- <translation>Könyvjelző megjelenítése</translation>
+ <translation>Könyvjelző megnyitása</translation>
</message>
<message>
<location line="+1"/>
<source>Show Bookmark in New Tab</source>
- <translation>Könyvjelző megjelenítése új lapon</translation>
+ <translation>Könyvjelző megnyitása új fülön</translation>
</message>
<message>
- <location line="+3"/>
+ <location line="+2"/>
<source>Delete Bookmark</source>
<translation>Könyvjelző törlése</translation>
</message>
@@ -142,64 +205,165 @@
<translation>Könyvjelző átnevezése</translation>
</message>
<message>
- <location line="+62"/>
+ <source>New Folder</source>
+ <translation type="obsolete">Új mappa</translation>
+ </message>
+</context>
+<context>
+ <name>BookmarkWidget</name>
+ <message>
+ <source>Filter:</source>
+ <translation type="obsolete">Szűrő:</translation>
+ </message>
+ <message>
+ <source>Remove</source>
+ <translation type="obsolete">Törlés</translation>
+ </message>
+ <message>
+ <source>Delete Folder</source>
+ <translation type="obsolete">Mappa törlése</translation>
+ </message>
+ <message>
+ <source>Rename Folder</source>
+ <translation type="obsolete">Mappa átnevezése</translation>
+ </message>
+ <message>
+ <source>Show Bookmark</source>
+ <translation type="obsolete">Könyvjelző megnyitása</translation>
+ </message>
+ <message>
+ <source>Show Bookmark in New Tab</source>
+ <translation type="obsolete">Könyvjelző megnyitása új fülön</translation>
+ </message>
+ <message>
+ <source>Delete Bookmark</source>
+ <translation type="obsolete">Könyvjelző törlése</translation>
+ </message>
+ <message>
+ <source>Rename Bookmark</source>
+ <translation type="obsolete">Könyvjelző átnevezése</translation>
+ </message>
+ <message>
<source>Add</source>
- <translation>Hozzáadás</translation>
+ <translation type="obsolete">Hozzáadás</translation>
</message>
</context>
<context>
<name>CentralWidget</name>
<message>
- <location filename="../tools/assistant/tools/assistant/centralwidget.cpp" line="+239"/>
+ <location filename="../tools/assistant/tools/assistant/centralwidget.cpp" line="+121"/>
<source>Add new page</source>
- <translation>Új lap hozzáadása</translation>
+ <translation>Új fül hozzáadása</translation>
</message>
<message>
<location line="+9"/>
<source>Close current page</source>
- <translation>Aktuális lap bezárása</translation>
+ <translation>Az aktuális fül bezárása</translation>
</message>
<message>
- <location line="+312"/>
+ <location line="+287"/>
<source>Print Document</source>
<translation>Dokumentum nyomtatása</translation>
</message>
<message>
- <location line="+130"/>
+ <location line="+126"/>
<location line="+2"/>
<source>unknown</source>
<translation>ismeretlen</translation>
</message>
<message>
- <location line="+93"/>
+ <location line="+101"/>
<source>Add New Page</source>
- <translation>Új lap hozzáadása</translation>
+ <translation>Új fül hozzáadása</translation>
</message>
<message>
<location line="+3"/>
<source>Close This Page</source>
- <translation>Lap bezárása</translation>
+ <translation>Az aktuális fül bezárása</translation>
</message>
<message>
<location line="+3"/>
<source>Close Other Pages</source>
- <translation>Többi lap bezárása</translation>
+ <translation>A többi fül bezárása</translation>
</message>
<message>
<location line="+5"/>
<source>Add Bookmark for this Page...</source>
- <translation>Könyvjelző hozzáadása ehhez a laphoz...</translation>
+ <translation>A lap mentése könyvjelzőként...</translation>
</message>
<message>
- <location line="+235"/>
+ <location line="+264"/>
<source>Search</source>
<translation>Keresés</translation>
</message>
</context>
<context>
+ <name>CmdLineParser</name>
+ <message>
+ <location filename="../tools/assistant/tools/assistant/cmdlineparser.cpp" line="+137"/>
+ <source>Unknown option: %1</source>
+ <translation>Ismeretlen opció: %1</translation>
+ </message>
+ <message>
+ <location line="+33"/>
+ <source>The collection file &apos;%1&apos; does not exist.</source>
+ <translation>A(z) &apos;%1&apos; gyűjteményfájl nem található.</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>Missing collection file.</source>
+ <translation>Hiányzó gyűjteményfájl.</translation>
+ </message>
+ <message>
+ <location line="+13"/>
+ <source>Invalid URL &apos;%1&apos;.</source>
+ <translation>Érvénytelen URL: &apos;%1&apos;.</translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Missing URL.</source>
+ <translation>Hiányzó URL.</translation>
+ </message>
+ <message>
+ <location line="+36"/>
+ <source>Unknown widget: %1</source>
+ <translation>Ismeretlen elem: %1</translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Missing widget.</source>
+ <translation>Hiányzó elem.</translation>
+ </message>
+ <message>
+ <location line="+23"/>
+ <source>The Qt help file &apos;%1&apos; does not exist.</source>
+ <translation>A(z) &apos;%1&apos; Qt súgófájl nem létezik.</translation>
+ </message>
+ <message>
+ <location line="+4"/>
+ <source>Missing help file.</source>
+ <translation>Hiányzó súgófájl.</translation>
+ </message>
+ <message>
+ <location line="+10"/>
+ <source>Missing filter argument.</source>
+ <translation>Hiányzó szűrőparaméter.</translation>
+ </message>
+ <message>
+ <location line="+20"/>
+ <source>Error</source>
+ <translation>Hiba</translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Notice</source>
+ <translation>Információ</translation>
+ </message>
+</context>
+<context>
<name>ContentWindow</name>
<message>
- <location filename="../tools/assistant/tools/assistant/contentwindow.cpp" line="+158"/>
+ <location filename="../tools/assistant/tools/assistant/contentwindow.cpp" line="+173"/>
<source>Open Link</source>
<translation>Link megnyitása</translation>
</message>
@@ -214,40 +378,35 @@
<message>
<location filename="../tools/assistant/tools/assistant/filternamedialog.ui"/>
<source>Add Filter Name</source>
- <translation>Szűrő név hozzáadása</translation>
+ <translation>Szűrőnév hozzáadása</translation>
</message>
<message>
<location/>
<source>Filter Name:</source>
- <translation>Szűrő név:</translation>
+ <translation>Szűrő neve:</translation>
</message>
</context>
<context>
<name>FindWidget</name>
<message>
- <location filename="../tools/assistant/tools/assistant/centralwidget.cpp" line="-918"/>
<source>Previous</source>
- <translation>Előző</translation>
+ <translation type="obsolete">Előző</translation>
</message>
<message>
- <location line="+4"/>
<source>Next</source>
- <translation>Következő</translation>
+ <translation type="obsolete">Következő</translation>
</message>
<message>
- <location line="+4"/>
<source>Case Sensitive</source>
- <translation>Kis és nagybetű érzékeny</translation>
+ <translation type="obsolete">Kis/nagybetű érzékeny</translation>
</message>
<message>
- <location line="+3"/>
<source>Whole words</source>
- <translation>Egész szavakat</translation>
+ <translation type="obsolete">Teljes szó</translation>
</message>
<message>
- <location line="+12"/>
<source>&lt;img src=&quot;:/trolltech/assistant/images/wrap.png&quot;&gt;&amp;nbsp;Search wrapped</source>
- <translation>&lt;img src=&quot;:/trolltech/assistant/images/wrap.png&quot;&gt;&amp;nbsp;Keresés tördelése</translation>
+ <translation type="obsolete">&lt;img src=&quot;:/trolltech/assistant/images/wrap.png&quot;&gt;&amp;nbsp;A keresés megszakítva</translation>
</message>
</context>
<context>
@@ -255,77 +414,77 @@
<message>
<location filename="../tools/shared/fontpanel/fontpanel.cpp" line="+63"/>
<source>Font</source>
- <translation>Betű</translation>
+ <translation>Betűtípus</translation>
</message>
<message>
<location line="+11"/>
<source>&amp;Writing system</source>
- <translation>Rendszer &amp;írása</translation>
+ <translation>Írás&amp;rendszer</translation>
</message>
<message>
<location line="+3"/>
<source>&amp;Family</source>
- <translation>&amp;Család</translation>
+ <translation>Betű&amp;típus</translation>
</message>
<message>
<location line="+4"/>
<source>&amp;Style</source>
- <translation>&amp;Stílus</translation>
+ <translation>Betű&amp;stílus</translation>
</message>
<message>
<location line="+4"/>
<source>&amp;Point size</source>
- <translation>&amp;Pont méret</translation>
+ <translation>Betű&amp;méret</translation>
</message>
</context>
<context>
<name>HelpViewer</name>
<message>
- <location filename="../tools/assistant/tools/assistant/helpviewer.cpp" line="+489"/>
<source>Help</source>
- <translation>Segítség</translation>
+ <translation type="obsolete">Súgó</translation>
</message>
<message>
- <location line="+1"/>
<source>OK</source>
- <translation>OK</translation>
+ <translation type="obsolete">OK</translation>
</message>
<message>
- <location line="-62"/>
+ <location filename="../tools/assistant/tools/assistant/helpviewer.cpp" line="+58"/>
+ <source>&lt;title&gt;about:blank&lt;/title&gt;</source>
+ <translation></translation>
+ </message>
+ <message>
+ <location line="+6"/>
<source>&lt;title&gt;Error 404...&lt;/title&gt;&lt;div align=&quot;center&quot;&gt;&lt;br&gt;&lt;br&gt;&lt;h1&gt;The page could not be found&lt;/h1&gt;&lt;br&gt;&lt;h3&gt;&apos;%1&apos;&lt;/h3&gt;&lt;/div&gt;</source>
- <translation>&lt;title&gt;404-es hiba...&lt;/title&gt;&lt;div align=&quot;center&quot;&gt;&lt;br&gt;&lt;br&gt;&lt;h1&gt;A lap nem található &lt;/h1&gt;&lt;br&gt;&lt;h3&gt;&apos;%1&apos;&lt;/h3&gt;&lt;/div&gt;</translation>
+ <translation>&lt;title&gt;404-es hiba...&lt;/title&gt;&lt;div align=&quot;center&quot;&gt;&lt;br&gt;&lt;br&gt;&lt;h1&gt;A lap nem található&lt;/h1&gt;&lt;br&gt;&lt;h3&gt;&apos;%1&apos;&lt;/h3&gt;&lt;/div&gt;</translation>
</message>
<message>
- <location line="+125"/>
<source>Copy &amp;Link Location</source>
- <translation>&amp;Link címének másolása</translation>
+ <translation type="obsolete">&amp;Link címének másolása</translation>
</message>
<message>
- <location line="+3"/>
<source>Open Link in New Tab Ctrl+LMB</source>
- <translation>Link megnyitása új lapon Ctrl+LMB</translation>
+ <translation type="obsolete">Link megnyitása új lapon Ctrl+LMB</translation>
</message>
<message>
- <location line="-275"/>
<source>Open Link in New Tab</source>
- <translation>Link megnyitása új lapon</translation>
+ <translation type="obsolete">Link megnyitása új lapon</translation>
</message>
<message>
- <location line="+209"/>
<source>Unable to launch external application.
</source>
- <translation>Nem lehet külső alkalmazást indítani.</translation>
+ <translation type="obsolete">A külső alkalmazás elindítása sikertelen.
+</translation>
</message>
</context>
<context>
<name>IndexWindow</name>
<message>
- <location filename="../tools/assistant/tools/assistant/indexwindow.cpp" line="+66"/>
+ <location filename="../tools/assistant/tools/assistant/indexwindow.cpp" line="+68"/>
<source>&amp;Look for:</source>
- <translation>&amp;Keresés:</translation>
+ <translation>&amp;Amit keres:</translation>
</message>
<message>
- <location line="+68"/>
+ <location line="+74"/>
<source>Open Link</source>
<translation>Link megnyitása</translation>
</message>
@@ -339,36 +498,36 @@
<name>InstallDialog</name>
<message>
<location filename="../tools/assistant/tools/assistant/installdialog.ui"/>
- <location filename="../tools/assistant/tools/assistant/installdialog.cpp" line="+76"/>
+ <location filename="../tools/assistant/tools/assistant/installdialog.cpp" line="+78"/>
<source>Install Documentation</source>
- <translation></translation>
+ <translation>Dokumentáció telepítése</translation>
</message>
<message>
- <location filename="../tools/assistant/tools/assistant/installdialog.cpp" line="+30"/>
+ <location filename="../tools/assistant/tools/assistant/installdialog.cpp" line="+33"/>
<source>Downloading documentation info...</source>
- <translation>Dokumentum információ letöltése...</translation>
+ <translation>A dokumentáció információinak letöltése...</translation>
</message>
<message>
- <location line="+48"/>
+ <location line="+51"/>
<source>Download canceled.</source>
- <translation>Letöltés vmegszakítva.</translation>
+ <translation>Letöltés megszakítva.</translation>
</message>
<message>
- <location line="+26"/>
- <location line="+78"/>
+ <location line="+28"/>
+ <location line="+79"/>
<location line="+27"/>
<source>Done.</source>
<translation>Kész.</translation>
</message>
<message>
- <location line="-90"/>
+ <location line="-91"/>
<source>The file %1 already exists. Do you want to overwrite it?</source>
- <translation>A(z) %1 fájl már létezik. Felül szeretné írni?</translation>
+ <translation>A(z) &apos;%1&apos; nevű fájl már létezik. Felülírja?</translation>
</message>
<message>
<location line="+11"/>
<source>Unable to save the file %1: %2.</source>
- <translation>Nem lehet elmenteni a(z) %1 fájlt: %2.</translation>
+ <translation>A(z) %1 mentése sikertelen: %2.</translation>
</message>
<message>
<location line="+8"/>
@@ -376,37 +535,38 @@
<translation>%1 letöltése...</translation>
</message>
<message>
- <location line="+19"/>
+ <location line="+20"/>
<location line="+42"/>
- <location line="+38"/>
+ <location line="+40"/>
<source>Download failed: %1.</source>
- <translation>Nem sikerült a letöltés: %1.</translation>
+ <translation>A letöltés sikertelen: %1.</translation>
</message>
<message>
- <location line="-70"/>
+ <location line="-72"/>
<source>Documentation info file is corrupt!</source>
- <translation>Dokumentum információ sérült!</translation>
+ <translation>A dokumentáció információs fájlja sérült!</translation>
</message>
<message>
<location line="+37"/>
<source>Download failed: Downloaded file is corrupted.</source>
- <translation>Nem sikerült letölteni: A letöltött fájl sérült.</translation>
+ <translation>A letöltés sikertelen: a letöltött fájl sérült.</translation>
</message>
<message>
<location line="+2"/>
<source>Installing documentation %1...</source>
- <translation>%1 dokumentáció telepítése...</translation>
+ <translation>Dokumentáció telepítése %1...</translation>
</message>
<message>
- <location line="+22"/>
+ <location line="+23"/>
<source>Error while installing documentation:
%1</source>
- <translation>Hiba történt a dokumentáció telepítése közben: %1</translation>
+ <translation>Hiba a dokumentáció telepítésekor:
+%1</translation>
</message>
<message>
<location filename="../tools/assistant/tools/assistant/installdialog.ui"/>
<source>Available Documentation:</source>
- <translation>Elérhető dokumentáció:</translation>
+ <translation>Elérhető dokumentációk:</translation>
</message>
<message>
<location/>
@@ -416,7 +576,7 @@
<message>
<location/>
<source>Cancel</source>
- <translation>Mégse</translation>
+ <translation>Mégsem</translation>
</message>
<message>
<location/>
@@ -437,20 +597,20 @@
<context>
<name>MainWindow</name>
<message>
- <location filename="../tools/assistant/tools/assistant/mainwindow.cpp" line="+110"/>
- <location line="+383"/>
+ <location filename="../tools/assistant/tools/assistant/mainwindow.cpp" line="+123"/>
+ <location line="+369"/>
<source>Index</source>
<translation>Index</translation>
</message>
<message>
- <location line="-377"/>
- <location line="+375"/>
+ <location line="-363"/>
+ <location line="+361"/>
<source>Contents</source>
<translation>Tartalom</translation>
</message>
<message>
- <location line="-370"/>
- <location line="+374"/>
+ <location line="-354"/>
+ <location line="+358"/>
<source>Bookmarks</source>
<translation>Könyvjelzők</translation>
</message>
@@ -460,27 +620,25 @@
<translation>Keresés</translation>
</message>
<message>
- <location line="-364"/>
- <location line="+207"/>
- <location line="+514"/>
+ <location line="-338"/>
+ <location line="+680"/>
+ <location line="+284"/>
<source>Qt Assistant</source>
- <translation>Qt Assistant</translation>
+ <translation>Qt Asszisztens</translation>
</message>
<message>
- <location line="-546"/>
- <location line="+5"/>
<source>Unfiltered</source>
- <translation>Szűrés nélküli</translation>
+ <translation type="obsolete">Szűrő kikapcsolása</translation>
</message>
<message>
- <location line="+107"/>
+ <location line="-705"/>
<source>Page Set&amp;up...</source>
- <translation>Lap Beállí&amp;tás...</translation>
+ <translation>&amp;Oldalbeállítás...</translation>
</message>
<message>
<location line="+2"/>
<source>Print Preview...</source>
- <translation>Nyomtatási előnézet...</translation>
+ <translation>Nyomtatási kép...</translation>
</message>
<message>
<location line="+3"/>
@@ -488,29 +646,34 @@
<translation>&amp;Nyomtatás...</translation>
</message>
<message>
- <location line="+7"/>
+ <location line="-10"/>
<source>New &amp;Tab</source>
- <translation>Új &amp;Lap</translation>
+ <translation>Új &amp;fül</translation>
</message>
<message>
- <location line="+3"/>
+ <location line="+17"/>
<source>&amp;Close Tab</source>
- <translation>Lap &amp;bezárása</translation>
+ <translation>Fül be&amp;zárása</translation>
</message>
<message>
- <location line="+4"/>
+ <location line="+5"/>
<source>&amp;Quit</source>
<translation>&amp;Kilépés</translation>
</message>
<message>
- <location line="+5"/>
+ <location line="+3"/>
+ <source>CTRL+Q</source>
+ <translation></translation>
+ </message>
+ <message>
+ <location line="+6"/>
<source>&amp;Copy selected Text</source>
- <translation>Kiválasztott szöveg &amp;másolása</translation>
+ <translation>A kijelölés &amp;másolása</translation>
</message>
<message>
<location line="+8"/>
<source>&amp;Find in Text...</source>
- <translation>&amp;Keresés szövegben...</translation>
+ <translation>Ke&amp;resés a szövegben...</translation>
</message>
<message>
<location line="+2"/>
@@ -520,12 +683,12 @@
<message>
<location line="+4"/>
<source>Find &amp;Next</source>
- <translation>&amp;Következő keresés</translation>
+ <translation>Követke&amp;ző keresése</translation>
</message>
<message>
<location line="+4"/>
<source>Find &amp;Previous</source>
- <translation>&amp;Előző keresés</translation>
+ <translation>&amp;Előző keresése</translation>
</message>
<message>
<location line="+5"/>
@@ -535,42 +698,42 @@
<message>
<location line="+4"/>
<source>Zoom &amp;in</source>
- <translation>&amp;Nagyítás</translation>
+ <translation>Na&amp;gyítás</translation>
</message>
<message>
<location line="+6"/>
<source>Zoom &amp;out</source>
- <translation>&amp;Kicsinyítés</translation>
+ <translation>Ki&amp;csinyítés</translation>
</message>
<message>
<location line="+6"/>
<source>Normal &amp;Size</source>
- <translation>Normál &amp;méret</translation>
+ <translation>Normá&amp;l méret</translation>
</message>
<message>
<location line="+4"/>
<source>Ctrl+0</source>
- <translation>Ctrl + 0</translation>
+ <translation></translation>
</message>
<message>
<location line="+5"/>
<source>ALT+C</source>
- <translation>ALT + C</translation>
+ <translation></translation>
</message>
<message>
<location line="+2"/>
<source>ALT+I</source>
- <translation>ALT + l</translation>
+ <translation></translation>
</message>
<message>
<location line="+4"/>
<source>ALT+S</source>
- <translation>ALT + S</translation>
+ <translation></translation>
</message>
<message>
<location line="+3"/>
<source>&amp;Home</source>
- <translation>&amp;Otthon</translation>
+ <translation>Kezdőla&amp;p</translation>
</message>
<message>
<location line="+4"/>
@@ -585,7 +748,7 @@
<message>
<location line="+6"/>
<source>Sync with Table of Contents</source>
- <translation>Tartalomjegyzékkel való szinkronizálás</translation>
+ <translation>Szinkronizálás a tartalomjegyzékkel</translation>
</message>
<message>
<location line="+2"/>
@@ -595,57 +758,61 @@
<message>
<location line="+5"/>
<source>Next Page</source>
- <translation>Következő lap</translation>
+ <translation>Következő oldal</translation>
</message>
<message>
<location line="+1"/>
<source>Ctrl+Alt+Right</source>
- <translation>Ctrl+Alt+Right</translation>
+ <translation></translation>
</message>
<message>
<location line="+3"/>
<source>Previous Page</source>
- <translation>Előző lap</translation>
+ <translation>Előző oldal</translation>
</message>
<message>
<location line="+1"/>
<source>Ctrl+Alt+Left</source>
- <translation>Ctrl+Alt+Left</translation>
+ <translation></translation>
+ </message>
+ <message>
+ <location line="+596"/>
+ <source>Could not register file &apos;%1&apos;: %2</source>
+ <translation>A(z) &apos;%1&apos; fájl regisztrálása sikertelen: %2</translation>
</message>
<message>
- <location line="+4"/>
<source>Add Bookmark...</source>
- <translation>Könyvjelző hozzáadása...</translation>
+ <translation type="obsolete">Könyvjelző hozzáadása...</translation>
</message>
<message>
- <location line="+5"/>
+ <location line="-589"/>
<source>About...</source>
<translation>Névjegy...</translation>
</message>
<message>
- <location line="+16"/>
+ <location line="+21"/>
<source>Navigation Toolbar</source>
<translation>Navigációs eszköztár</translation>
</message>
<message>
- <location line="+76"/>
+ <location line="+69"/>
<source>Toolbars</source>
- <translation>Eszköztár</translation>
+ <translation>Eszköztárak</translation>
</message>
<message>
- <location line="+15"/>
+ <location line="+16"/>
<source>Filter Toolbar</source>
- <translation>Eszköztár szűrő</translation>
+ <translation>Szűrő eszköztár</translation>
</message>
<message>
<location line="+2"/>
<source>Filtered by:</source>
- <translation>Szűrési feltétel:</translation>
+ <translation>Szűrés alapja: </translation>
</message>
<message>
- <location line="+25"/>
+ <location line="+26"/>
<source>Address Toolbar</source>
- <translation>Eszköztár cím</translation>
+ <translation>Cím eszköztár</translation>
</message>
<message>
<location line="+4"/>
@@ -653,27 +820,27 @@
<translation>Cím:</translation>
</message>
<message>
- <location line="+114"/>
+ <location line="+112"/>
<source>Could not find the associated content item.</source>
- <translation>Nem sikerült az összekapcsolt tartalom elemet megtalálni.</translation>
+ <translation>A hozzárendelt tartalom nem található.</translation>
</message>
<message>
- <location line="+71"/>
+ <location line="+60"/>
<source>About %1</source>
- <translation>%1-ről</translation>
+ <translation>%1 névjegye</translation>
</message>
<message>
- <location line="+114"/>
+ <location line="+175"/>
<source>Updating search index</source>
<translation>Keresési index frissítése</translation>
</message>
<message>
- <location line="-640"/>
+ <location line="-669"/>
<source>Looking for Qt Documentation...</source>
<translation>Qt dokumentáció keresése...</translation>
</message>
<message>
- <location line="+241"/>
+ <location line="+227"/>
<source>&amp;Window</source>
<translation>&amp;Ablak</translation>
</message>
@@ -685,22 +852,22 @@
<message>
<location line="+1"/>
<source>Ctrl+M</source>
- <translation>Ctrl + M</translation>
+ <translation></translation>
</message>
<message>
<location line="-2"/>
<source>Zoom</source>
- <translation>Zoomolás</translation>
+ <translation>Nagyítás</translation>
</message>
<message>
- <location line="-159"/>
+ <location line="-169"/>
<source>&amp;File</source>
<translation>&amp;Fájl</translation>
</message>
<message>
- <location line="+25"/>
+ <location line="+32"/>
<source>&amp;Edit</source>
- <translation>&amp;Szerkesztés</translation>
+ <translation>S&amp;zerkesztés</translation>
</message>
<message>
<location line="+27"/>
@@ -710,51 +877,46 @@
<message>
<location line="+30"/>
<source>&amp;Go</source>
- <translation>&amp;Gyerünk</translation>
+ <translation>&amp;Előre</translation>
</message>
<message>
<location line="+2"/>
<source>ALT+Home</source>
- <translation>ALT+Home</translation>
+ <translation></translation>
</message>
<message>
- <location line="+29"/>
+ <location line="+30"/>
<source>&amp;Bookmarks</source>
- <translation>&amp;Könyvjelzők</translation>
+ <translation>Könyv&amp;jelzők</translation>
</message>
<message>
- <location line="+5"/>
+ <location line="+2"/>
<source>&amp;Help</source>
- <translation>&amp;Segítség</translation>
+ <translation>&amp;Súgó</translation>
</message>
<message>
- <location line="-40"/>
+ <location line="-38"/>
<source>ALT+O</source>
- <translation>ALT + 0</translation>
- </message>
- <message>
- <location line="+38"/>
- <source>CTRL+D</source>
- <translation>CTRL+D</translation>
+ <translation></translation>
</message>
</context>
<context>
<name>PreferencesDialog</name>
<message>
- <location filename="../tools/assistant/tools/assistant/preferencesdialog.cpp" line="+259"/>
- <location line="+43"/>
+ <location filename="../tools/assistant/tools/assistant/preferencesdialog.cpp" line="+252"/>
+ <location line="+44"/>
<source>Add Documentation</source>
<translation>Dokumentáció hozzáadása</translation>
</message>
<message>
- <location line="-43"/>
+ <location line="-44"/>
<source>Qt Compressed Help Files (*.qch)</source>
- <translation>Qt tömörített súgó fájlok (*.qch)</translation>
+ <translation>Qt tömörített súgófájlok (*.qch)</translation>
</message>
<message>
- <location line="+37"/>
+ <location line="+38"/>
<source>The specified file is not a valid Qt Help File!</source>
- <translation>A meghatározott fájl egy érvénytelen Qt Súgó fájl!</translation>
+ <translation>A megadott fájl nem Qt súgófájl!</translation>
</message>
<message>
<location line="-8"/>
@@ -762,19 +924,19 @@
<translation>A(z) %1 névtér már regisztrálva van!</translation>
</message>
<message>
- <location line="+31"/>
+ <location line="+32"/>
<source>Remove Documentation</source>
<translation>Dokumentáció eltávolítása</translation>
</message>
<message>
<location line="+1"/>
<source>Some documents currently opened in Assistant reference the documentation you are attempting to remove. Removing the documentation will close those documents.</source>
- <translation>Néhány dokumentum jelenleg az Assistant hivatkozásban lett megnyitva, amely az a dokumentum, amit megpróbál eltávolítani. A dokumentum eltávolítása be fogja zárni azokat a dokumentumokat.</translation>
+ <translation>Az eltávolítani kívánt dokumentációból néhány dokumentum jelenleg meg van nyitva az Asszisztensben. A dokumentáció eltávolításával ezen dokumentumok automatikusan bezárulnak.</translation>
</message>
<message>
<location line="+2"/>
<source>Cancel</source>
- <translation>Mégse</translation>
+ <translation>Mégsem</translation>
</message>
<message>
<location line="+1"/>
@@ -782,9 +944,9 @@
<translation>OK</translation>
</message>
<message>
- <location line="+88"/>
+ <location line="+83"/>
<source>Use custom settings</source>
- <translation>Szokásos beállítások használata</translation>
+ <translation>Egyéni beállítások használata</translation>
</message>
</context>
<context>
@@ -797,12 +959,12 @@
<message>
<location/>
<source>Fonts</source>
- <translation>Betűk</translation>
+ <translation>Betűtípus</translation>
</message>
<message>
<location/>
<source>Font settings:</source>
- <translation>Betű beállítások:</translation>
+ <translation>Betűtípus beállítása:</translation>
</message>
<message>
<location/>
@@ -822,17 +984,17 @@
<message>
<location/>
<source>Filter:</source>
- <translation>Szűrők:</translation>
+ <translation>Szűrő:</translation>
</message>
<message>
<location/>
<source>Attributes:</source>
- <translation>Attrubútumok:</translation>
+ <translation>Attribútumok:</translation>
</message>
<message>
<location/>
<source>1</source>
- <translation>1</translation>
+ <translation></translation>
</message>
<message>
<location/>
@@ -842,7 +1004,7 @@
<message>
<location/>
<source>Remove</source>
- <translation>Eltávolítás</translation>
+ <translation>Törlés</translation>
</message>
<message>
<location/>
@@ -867,37 +1029,38 @@
<message>
<location/>
<source>Current Page</source>
- <translation>Aktuális lap</translation>
+ <translation>Aktuális oldal</translation>
</message>
<message>
<location/>
<source>Restore to default</source>
- <translation>Alapértelmezett beállítások visszaállítása</translation>
+ <translation>Alapértelmezés</translation>
</message>
<message>
<location/>
<source>Homepage</source>
- <translation>Honlap</translation>
+ <translation>Kezdőlap</translation>
</message>
<message>
<location/>
<source>On help start:</source>
- <translation>Súgó indításra:</translation>
+ <translation>A súgó indításakor:</translation>
</message>
<message>
<location/>
<source>Show my home page</source>
- <translation>Honlapom megjelenítése</translation>
+ <translation>Mutassa a kezdőlapomat</translation>
</message>
<message>
<location/>
<source>Show a blank page</source>
- <translation>Egy üres lap megjelenítése</translation>
+ <translation>Mutasson egy üres lapot</translation>
</message>
<message>
<location/>
<source>Show my tabs from last session</source>
- <translation>A lapjaim megjelenításe a legutolsó szakaszból</translation>
+ <translatorcomment>Too long...</translatorcomment>
+ <translation>Mutassa az előzőleg megnyitott füleket</translation>
</message>
<message>
<location/>
@@ -908,131 +1071,111 @@
<context>
<name>QObject</name>
<message>
- <location filename="../tools/assistant/tools/assistant/cmdlineparser.cpp" line="+112"/>
<source>The specified collection file does not exist!</source>
- <translation>A meghatározott gyűjtemény fájl nem létezik!</translation>
+ <translation type="obsolete">A megadott gyűjtemény nem található!</translation>
</message>
<message>
- <location line="+4"/>
<source>Missing collection file!</source>
- <translation>Hiányzó gyűjtemény fájl!</translation>
+ <translation type="obsolete">A gyűjtemény fájl hiányzik!</translation>
</message>
<message>
- <location line="+9"/>
<source>Invalid URL!</source>
- <translation>Érvénytelen URL!</translation>
+ <translation type="obsolete">Az URL érvénytelen!</translation>
</message>
<message>
- <location line="+4"/>
<source>Missing URL!</source>
- <translation>Hiányzó URL!</translation>
+ <translation type="obsolete">Az URL hiányzik!</translation>
</message>
<message>
- <location line="+17"/>
- <location line="+19"/>
- <location line="+19"/>
<source>Unknown widget: %1</source>
- <translation>Ismeretlen widget: %1</translation>
+ <translation type="obsolete">Ismeretlen elem: %1</translation>
</message>
<message>
- <location line="-34"/>
- <location line="+19"/>
- <location line="+19"/>
<source>Missing widget!</source>
- <translation>Hiányzó widget!</translation>
+ <translation type="obsolete">Az elem hiányzik!</translation>
</message>
<message>
- <location line="+7"/>
- <location line="+12"/>
<source>The specified Qt help file does not exist!</source>
- <translation>A meghatározott Qt súgó fájl nem létezik!</translation>
+ <translation type="obsolete">A megadott Qt súgófájl nem található!</translation>
</message>
<message>
- <location line="-7"/>
- <location line="+12"/>
<source>Missing help file!</source>
- <translation>Hiányzó súgó fájl!</translation>
+ <translation type="obsolete">A súgófájl hiányzik!</translation>
</message>
<message>
- <location line="+7"/>
<source>Missing filter argument!</source>
- <translation>Hiányzó szűrő argumentum!</translation>
+ <translation type="obsolete">A szűrőparaméter hiányzik!</translation>
</message>
<message>
- <location line="+12"/>
<source>Unknown option: %1</source>
- <translation>Ismeretlen opció: %1</translation>
+ <translation type="obsolete">Ismeretlen opció: %1</translation>
</message>
<message>
- <location line="+30"/>
- <location line="+2"/>
<source>Qt Assistant</source>
- <translation>Qt Assistant</translation>
+ <translation type="obsolete">Qt Asszisztens</translation>
</message>
<message>
- <location filename="../tools/assistant/tools/assistant/main.cpp" line="+225"/>
<source>Could not register documentation file
%1
Reason:
%2</source>
- <translation>Nem sikerült a dokumentációs fájl regisztrálása
+ <translation type="obsolete">A dokumentációs fájl regisztrálása sikertelen
%1
-Ok:
+Oka:
%2</translation>
</message>
<message>
- <location line="+4"/>
<source>Documentation successfully registered.</source>
- <translation>A dokumentáció regisztrálása sikeresen megtörtént.</translation>
+ <translation type="obsolete">A dokumentáció regisztrálása sikerült.</translation>
</message>
<message>
- <location line="+11"/>
<source>Could not unregister documentation file
%1
Reason:
%2</source>
- <translation>Nem sikerült regisztrálni a dokumentációs fájlt
+ <translation type="obsolete">A dokumentációs fájl eltávolítása sikertelen
%1
-Ok:
+Oka:
%2</translation>
</message>
<message>
- <location line="-3"/>
<source>Documentation successfully unregistered.</source>
- <translation>Dokumentáció regisztrációjának megszűntetése sikeresen megtörtént.</translation>
+ <translation type="obsolete">A dokumentáció eltávolítása sikerült.</translation>
</message>
<message>
- <location line="+40"/>
<source>Cannot load sqlite database driver!</source>
- <translation>Nem lehet betölteni az sqlite adatbázis vezérlőt!</translation>
+ <translation type="obsolete">Az sqlite adatbázisdriver nem tölthető be!</translation>
</message>
<message>
- <location line="+9"/>
<source>The specified collection file could not be read!</source>
- <translation>A meghatározott gyűjtemény fájlt nem lehet olvasni!</translation>
+ <translation type="obsolete">A megadott gyűjtemény nem olvasható!</translation>
+ </message>
+ <message>
+ <source>Bookmark</source>
+ <translation type="obsolete">Könyvjelző</translation>
</message>
</context>
<context>
<name>RemoteControl</name>
<message>
- <location filename="../tools/assistant/tools/assistant/remotecontrol.cpp" line="+163"/>
+ <location filename="../tools/assistant/tools/assistant/remotecontrol.cpp" line="+165"/>
<source>Debugging Remote Control</source>
- <translation>Debuggolás Távoli Vezérlő</translation>
+ <translation>Hibakövetés távoli vezérlése</translation>
</message>
<message>
<location line="+1"/>
<source>Received Command: %1 %2</source>
- <translation>Elfogadott parancs: %1 %2</translation>
+ <translation>A kapott parancs: %1 %2</translation>
</message>
</context>
<context>
<name>SearchWidget</name>
<message>
- <location filename="../tools/assistant/tools/assistant/searchwidget.cpp" line="+196"/>
+ <location filename="../tools/assistant/tools/assistant/searchwidget.cpp" line="+210"/>
<source>&amp;Copy</source>
<translation>&amp;Másolás</translation>
</message>
@@ -1044,40 +1187,44 @@ Ok:
<message>
<location line="+4"/>
<source>Open Link in New Tab</source>
- <translation>Link megnyitása új lapon</translation>
+ <translation>Link megnyitása új fülön</translation>
</message>
<message>
<location line="+8"/>
<source>Select All</source>
- <translation>Az összes kiválasztása</translation>
+ <translation>Mindent kijelöl</translation>
+ </message>
+ <message>
+ <source>Open Link</source>
+ <translation type="obsolete">Link megnyitása</translation>
</message>
</context>
<context>
<name>TopicChooser</name>
<message>
- <location filename="../tools/assistant/tools/assistant/topicchooser.cpp" line="+54"/>
+ <location filename="../tools/assistant/tools/assistant/topicchooser.cpp" line="+53"/>
<source>Choose a topic for &lt;b&gt;%1&lt;/b&gt;:</source>
- <translation>Topik választása a következőhöz: &lt;b&gt;%1&lt;/b&gt;:</translation>
+ <translation>Téma választása ehhez: &lt;b&gt;%1&lt;/b&gt;:</translation>
</message>
<message>
<location filename="../tools/assistant/tools/assistant/topicchooser.ui"/>
<source>Choose Topic</source>
- <translation>Topik választása</translation>
+ <translation>Téma választása </translation>
</message>
<message>
<location/>
<source>&amp;Topics</source>
- <translation>&amp;Topikok</translation>
+ <translation>&amp;Témák</translation>
</message>
<message>
<location/>
<source>&amp;Display</source>
- <translation>&amp;Kijelzés</translation>
+ <translation>Meg&amp;jelenítés</translation>
</message>
<message>
<location/>
<source>&amp;Close</source>
- <translation>&amp;Bezárás</translation>
+ <translation>Be&amp;zárás</translation>
</message>
</context>
</TS>
diff --git a/translations/assistant_pl.ts b/translations/assistant_pl.ts
index 0ef3251f13..c8c4e5ff80 100644
--- a/translations/assistant_pl.ts
+++ b/translations/assistant_pl.ts
@@ -4,7 +4,7 @@
<context>
<name>AboutDialog</name>
<message>
- <location filename="../tools/assistant/tools/assistant/aboutdialog.cpp" line="+110"/>
+ <location filename="../tools/assistant/tools/assistant/aboutdialog.cpp" line="+117"/>
<source>&amp;Close</source>
<translation>Za&amp;mknij</translation>
</message>
@@ -12,7 +12,7 @@
<context>
<name>AboutLabel</name>
<message>
- <location line="-14"/>
+ <location line="-15"/>
<source>Warning</source>
<translation>Ostrzeżenie</translation>
</message>
@@ -23,23 +23,83 @@
<translation>Nie można uruchomić zewnętrznej aplikacji.</translation>
</message>
<message>
- <location line="+1"/>
+ <location line="+0"/>
<source>OK</source>
<translation>OK</translation>
</message>
</context>
<context>
- <name>BookmarkDialog</name>
+ <name>Assistant</name>
+ <message>
+ <location filename="../tools/assistant/tools/assistant/main.cpp" line="+177"/>
+ <source>Error registering documentation file &apos;%1&apos;: %2</source>
+ <translation>Błąd podczas zarejestrowania pliku z dokumentacją &quot;%1&quot;: %2</translation>
+ </message>
<message>
- <location filename="../tools/assistant/tools/assistant/bookmarkmanager.cpp" line="+184"/>
- <location line="+18"/>
<location line="+39"/>
- <location line="+18"/>
- <location line="+30"/>
- <source>Bookmarks</source>
- <translation>Zakładki</translation>
+ <source>Error: %1</source>
+ <translation>Błąd: %1</translation>
</message>
<message>
+ <location line="+42"/>
+ <source>Could not register documentation file
+%1
+
+Reason:
+%2</source>
+ <translation>Nie można zarejestrować pliku z dokumentacją
+%1
+
+Powód:
+%2</translation>
+ </message>
+ <message>
+ <location line="+6"/>
+ <source>Documentation successfully registered.</source>
+ <translation>Dokumentacja poprawnie zarejestrowana.</translation>
+ </message>
+ <message>
+ <location line="+12"/>
+ <source>Could not unregister documentation file
+%1
+
+Reason:
+%2</source>
+ <translation>Nie można wyrejestrować pliku z dokumentacją
+%1
+
+Powód:
+%2</translation>
+ </message>
+ <message>
+ <location line="+8"/>
+ <source>Documentation successfully unregistered.</source>
+ <translation>Dokumentacja poprawnie wyrejestrowana.</translation>
+ </message>
+ <message>
+ <location line="+55"/>
+ <source>Error reading collection file &apos;%1&apos;: %2.</source>
+ <translation>Błąd podczas czytania pliku kolekcji &quot;%1&quot;: %2.</translation>
+ </message>
+ <message>
+ <location line="+11"/>
+ <source>Error creating collection file &apos;%1&apos;: %2.</source>
+ <translation>Błąd podczas tworzenia pliku kolekcji &quot;%1&quot;: %2.</translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>Error reading collection file &apos;%1&apos;: %2</source>
+ <translation>Błąd podczas czytania pliku kolekcji &quot;%1&quot;: %2</translation>
+ </message>
+ <message>
+ <location line="+53"/>
+ <source>Cannot load sqlite database driver!</source>
+ <translation>Nie można załadować sterownika bazy danych sqlite!</translation>
+ </message>
+</context>
+<context>
+ <name>BookmarkDialog</name>
+ <message>
<location filename="../tools/assistant/tools/assistant/bookmarkdialog.ui"/>
<source>Add Bookmark</source>
<translation>Dodaj zakładkę</translation>
@@ -64,26 +124,16 @@
<source>New Folder</source>
<translation>Nowy katalog</translation>
</message>
- <message>
- <location filename="../tools/assistant/tools/assistant/bookmarkmanager.cpp" line="-61"/>
- <source>Delete Folder</source>
- <translation>Usuń katalog</translation>
- </message>
- <message>
- <location line="+1"/>
- <source>Rename Folder</source>
- <translation>Zmień nazwę katalogu</translation>
- </message>
</context>
<context>
<name>BookmarkManager</name>
<message>
- <location line="+435"/>
- <source>Bookmarks</source>
- <translation>Zakładki</translation>
+ <location filename="../tools/assistant/tools/assistant/bookmarkmanager.cpp" line="+151"/>
+ <source>Untitled</source>
+ <translation>Nienazwany</translation>
</message>
<message>
- <location line="+37"/>
+ <location line="+65"/>
<source>Remove</source>
<translation>Usuń</translation>
</message>
@@ -93,26 +143,22 @@
<translation>Zamierzasz usunąć katalog co spowoduje również usunięcie jego zawartości. Czy chcesz kontynuować?</translation>
</message>
<message>
- <location line="+143"/>
- <location line="+9"/>
- <source>New Folder</source>
- <translation>Nowy katalog</translation>
+ <location line="+147"/>
+ <source>Manage Bookmarks...</source>
+ <translation>Zarządzanie zakładkami...</translation>
</message>
-</context>
-<context>
- <name>BookmarkWidget</name>
<message>
- <location line="-417"/>
- <source>Filter:</source>
- <translation>Filtr:</translation>
+ <location line="+3"/>
+ <source>Add Bookmark...</source>
+ <translation>Dodaj zakładkę...</translation>
</message>
<message>
- <location line="+33"/>
- <source>Remove</source>
- <translation>Usuń</translation>
+ <location line="+1"/>
+ <source>Ctrl+D</source>
+ <translation>Ctrl+D</translation>
</message>
<message>
- <location line="-79"/>
+ <location line="+68"/>
<source>Delete Folder</source>
<translation>Usuń katalog</translation>
</message>
@@ -132,7 +178,7 @@
<translation>Pokaż zakładkę w nowej karcie</translation>
</message>
<message>
- <location line="+3"/>
+ <location line="+2"/>
<source>Delete Bookmark</source>
<translation>Usuń zakładkę</translation>
</message>
@@ -141,16 +187,11 @@
<source>Rename Bookmark</source>
<translation>Zmień nazwę zakładki</translation>
</message>
- <message>
- <location line="+62"/>
- <source>Add</source>
- <translation>Dodaj</translation>
- </message>
</context>
<context>
<name>CentralWidget</name>
<message>
- <location filename="../tools/assistant/tools/assistant/centralwidget.cpp" line="+239"/>
+ <location filename="../tools/assistant/tools/assistant/centralwidget.cpp" line="+121"/>
<source>Add new page</source>
<translation>Dodaj nową stronę</translation>
</message>
@@ -160,18 +201,18 @@
<translation>Zamknij bieżącą stronę</translation>
</message>
<message>
- <location line="+312"/>
+ <location line="+287"/>
<source>Print Document</source>
<translation>Wydrukuj dokument</translation>
</message>
<message>
- <location line="+130"/>
+ <location line="+126"/>
<location line="+2"/>
<source>unknown</source>
<translation>nieznany</translation>
</message>
<message>
- <location line="+93"/>
+ <location line="+101"/>
<source>Add New Page</source>
<translation>Dodaj nową stronę</translation>
</message>
@@ -191,15 +232,78 @@
<translation>Dodaj zakładkę dla tej strony...</translation>
</message>
<message>
- <location line="+235"/>
+ <location line="+264"/>
<source>Search</source>
<translation>Wyszukaj</translation>
</message>
</context>
<context>
+ <name>CmdLineParser</name>
+ <message>
+ <location filename="../tools/assistant/tools/assistant/cmdlineparser.cpp" line="+137"/>
+ <source>Unknown option: %1</source>
+ <translation>Nieznana opcja: %1</translation>
+ </message>
+ <message>
+ <location line="+33"/>
+ <source>The collection file &apos;%1&apos; does not exist.</source>
+ <translation>Plik kolekcji &quot;%1&quot; nie istnieje.</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>Missing collection file.</source>
+ <translation>Brak pliku kolekcji.</translation>
+ </message>
+ <message>
+ <location line="+13"/>
+ <source>Invalid URL &apos;%1&apos;.</source>
+ <translation>Niepoprawny URL &quot;%1&quot;.</translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Missing URL.</source>
+ <translation>Brak URL.</translation>
+ </message>
+ <message>
+ <location line="+36"/>
+ <source>Unknown widget: %1</source>
+ <translation>Nieznany widżet: %1</translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Missing widget.</source>
+ <translation>Brak widżetu.</translation>
+ </message>
+ <message>
+ <location line="+23"/>
+ <source>The Qt help file &apos;%1&apos; does not exist.</source>
+ <translation>Plik pomocy Qt &quot;%1&quot; nie istnieje.</translation>
+ </message>
+ <message>
+ <location line="+4"/>
+ <source>Missing help file.</source>
+ <translation>Brak pliku pomocy.</translation>
+ </message>
+ <message>
+ <location line="+10"/>
+ <source>Missing filter argument.</source>
+ <translation>Brak argumentu dla filtru.</translation>
+ </message>
+ <message>
+ <location line="+20"/>
+ <source>Error</source>
+ <translation>Błąd</translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Notice</source>
+ <translation>Uwaga</translation>
+ </message>
+</context>
+<context>
<name>ContentWindow</name>
<message>
- <location filename="../tools/assistant/tools/assistant/contentwindow.cpp" line="+158"/>
+ <location filename="../tools/assistant/tools/assistant/contentwindow.cpp" line="+173"/>
<source>Open Link</source>
<translation>Otwórz odsyłacz</translation>
</message>
@@ -223,34 +327,6 @@
</message>
</context>
<context>
- <name>FindWidget</name>
- <message>
- <location filename="../tools/assistant/tools/assistant/centralwidget.cpp" line="-918"/>
- <source>Previous</source>
- <translation>Poprzedni</translation>
- </message>
- <message>
- <location line="+4"/>
- <source>Next</source>
- <translation>Następny</translation>
- </message>
- <message>
- <location line="+4"/>
- <source>Case Sensitive</source>
- <translation>Uwzględniaj wielkość liter</translation>
- </message>
- <message>
- <location line="+3"/>
- <source>Whole words</source>
- <translation>Tylko całe słowa</translation>
- </message>
- <message>
- <location line="+12"/>
- <source>&lt;img src=&quot;:/trolltech/assistant/images/wrap.png&quot;&gt;&amp;nbsp;Search wrapped</source>
- <translation>&lt;img src=&quot;:/trolltech/assistant/images/wrap.png&quot;&gt;&amp;nbsp;Szukanie od początku</translation>
- </message>
-</context>
-<context>
<name>FontPanel</name>
<message>
<location filename="../tools/shared/fontpanel/fontpanel.cpp" line="+63"/>
@@ -281,52 +357,25 @@
<context>
<name>HelpViewer</name>
<message>
- <location filename="../tools/assistant/tools/assistant/helpviewer.cpp" line="+489"/>
- <source>Help</source>
- <translation>Pomoc</translation>
+ <location filename="../tools/assistant/tools/assistant/helpviewer.cpp" line="+58"/>
+ <source>&lt;title&gt;about:blank&lt;/title&gt;</source>
+ <translation>&lt;title&gt;o:pusty&lt;/title&gt;</translation>
</message>
<message>
- <location line="+1"/>
- <source>OK</source>
- <translation>OK</translation>
- </message>
- <message>
- <location line="-62"/>
+ <location line="+6"/>
<source>&lt;title&gt;Error 404...&lt;/title&gt;&lt;div align=&quot;center&quot;&gt;&lt;br&gt;&lt;br&gt;&lt;h1&gt;The page could not be found&lt;/h1&gt;&lt;br&gt;&lt;h3&gt;&apos;%1&apos;&lt;/h3&gt;&lt;/div&gt;</source>
<translation>&lt;title&gt;Błąd 404...&lt;/title&gt;&lt;div align=&quot;center&quot;&gt;&lt;br&gt;&lt;br&gt;&lt;h1&gt;Strona nie może być znaleziona&lt;/h1&gt;&lt;br&gt;&lt;h3&gt;&apos;%1&apos;&lt;/h3&gt;&lt;/div&gt;</translation>
</message>
- <message>
- <location line="+125"/>
- <source>Copy &amp;Link Location</source>
- <translation>Skopiuj &amp;odsyłacz</translation>
- </message>
- <message>
- <location line="+3"/>
- <source>Open Link in New Tab Ctrl+LMB</source>
- <translation>Otwórz odsyłacz w nowej karcie Ctrl+LMB</translation>
- </message>
- <message>
- <location line="-275"/>
- <source>Open Link in New Tab</source>
- <translation>Otwórz odsyłacz w nowej karcie</translation>
- </message>
- <message>
- <location line="+209"/>
- <source>Unable to launch external application.
-</source>
- <translation>Nie można uruchomić zewnętrznej aplikacji.
-</translation>
- </message>
</context>
<context>
<name>IndexWindow</name>
<message>
- <location filename="../tools/assistant/tools/assistant/indexwindow.cpp" line="+66"/>
+ <location filename="../tools/assistant/tools/assistant/indexwindow.cpp" line="+68"/>
<source>&amp;Look for:</source>
<translation>Wy&amp;szukaj:</translation>
</message>
<message>
- <location line="+72"/>
+ <location line="+74"/>
<source>Open Link</source>
<translation>Otwórz odsyłacz</translation>
</message>
@@ -340,29 +389,29 @@
<name>InstallDialog</name>
<message>
<location filename="../tools/assistant/tools/assistant/installdialog.ui"/>
- <location filename="../tools/assistant/tools/assistant/installdialog.cpp" line="+76"/>
+ <location filename="../tools/assistant/tools/assistant/installdialog.cpp" line="+78"/>
<source>Install Documentation</source>
<translation>Zainstaluj dokumentację</translation>
</message>
<message>
- <location filename="../tools/assistant/tools/assistant/installdialog.cpp" line="+30"/>
+ <location filename="../tools/assistant/tools/assistant/installdialog.cpp" line="+33"/>
<source>Downloading documentation info...</source>
<translation>Pobieranie informacji o dokumentacji...</translation>
</message>
<message>
- <location line="+48"/>
+ <location line="+51"/>
<source>Download canceled.</source>
<translation>Anulowano pobieranie.</translation>
</message>
<message>
- <location line="+26"/>
- <location line="+78"/>
+ <location line="+28"/>
+ <location line="+79"/>
<location line="+27"/>
<source>Done.</source>
<translation>Zrobione.</translation>
</message>
<message>
- <location line="-90"/>
+ <location line="-91"/>
<source>The file %1 already exists. Do you want to overwrite it?</source>
<translation>Plik %1 już istnieje. Czy chcesz go nadpisać?</translation>
</message>
@@ -377,14 +426,14 @@
<translation>Pobieranie %1...</translation>
</message>
<message>
- <location line="+19"/>
+ <location line="+20"/>
<location line="+42"/>
- <location line="+38"/>
+ <location line="+40"/>
<source>Download failed: %1.</source>
<translation>Pobieranie nie powiodło się: %1.</translation>
</message>
<message>
- <location line="-70"/>
+ <location line="-72"/>
<source>Documentation info file is corrupt!</source>
<translation>Plik z informacjami o dokumentacji jest uszkodzony!</translation>
</message>
@@ -399,7 +448,7 @@
<translation>Instalowanie dokumentacji %1...</translation>
</message>
<message>
- <location line="+22"/>
+ <location line="+23"/>
<source>Error while installing documentation:
%1</source>
<translation>Błąd podczas instalowania dokumentacji:
@@ -439,20 +488,20 @@
<context>
<name>MainWindow</name>
<message>
- <location filename="../tools/assistant/tools/assistant/mainwindow.cpp" line="+110"/>
- <location line="+383"/>
+ <location filename="../tools/assistant/tools/assistant/mainwindow.cpp" line="+123"/>
+ <location line="+369"/>
<source>Index</source>
<translation>Indeks</translation>
</message>
<message>
- <location line="-377"/>
- <location line="+375"/>
+ <location line="-363"/>
+ <location line="+361"/>
<source>Contents</source>
<translation>Spis treści</translation>
</message>
<message>
- <location line="-370"/>
- <location line="+374"/>
+ <location line="-354"/>
+ <location line="+358"/>
<source>Bookmarks</source>
<translation>Zakładki</translation>
</message>
@@ -462,20 +511,14 @@
<translation>Wyszukaj</translation>
</message>
<message>
- <location line="-364"/>
- <location line="+207"/>
- <location line="+514"/>
+ <location line="-338"/>
+ <location line="+680"/>
+ <location line="+284"/>
<source>Qt Assistant</source>
<translation>Qt Assistant</translation>
</message>
<message>
- <location line="-546"/>
- <location line="+5"/>
- <source>Unfiltered</source>
- <translation>Nieprzefiltrowany</translation>
- </message>
- <message>
- <location line="+107"/>
+ <location line="-705"/>
<source>Page Set&amp;up...</source>
<translation>&amp;Ustawienia strony...</translation>
</message>
@@ -490,22 +533,27 @@
<translation>Wy&amp;drukuj...</translation>
</message>
<message>
- <location line="+7"/>
+ <location line="-10"/>
<source>New &amp;Tab</source>
<translation>Nowa kar&amp;ta</translation>
</message>
<message>
- <location line="+3"/>
+ <location line="+17"/>
<source>&amp;Close Tab</source>
<translation>&amp;Zamknij kartę</translation>
</message>
<message>
- <location line="+4"/>
+ <location line="+5"/>
<source>&amp;Quit</source>
<translation>Za&amp;kończ</translation>
</message>
<message>
- <location line="+5"/>
+ <location line="+3"/>
+ <source>CTRL+Q</source>
+ <translation>CTRL+Q</translation>
+ </message>
+ <message>
+ <location line="+6"/>
<source>&amp;Copy selected Text</source>
<translation>S&amp;kopiuj zaznaczony tekst</translation>
</message>
@@ -615,27 +663,27 @@
<translation></translation>
</message>
<message>
- <location line="+4"/>
- <source>Add Bookmark...</source>
- <translation>Dodaj zakładkę...</translation>
+ <location line="+596"/>
+ <source>Could not register file &apos;%1&apos;: %2</source>
+ <translation>Nie można zarejestrować pliku &quot;%1&quot;: %2</translation>
</message>
<message>
- <location line="+5"/>
+ <location line="-589"/>
<source>About...</source>
<translation>Informacje o programie...</translation>
</message>
<message>
- <location line="+16"/>
+ <location line="+21"/>
<source>Navigation Toolbar</source>
<translation>Pasek do nawigacji</translation>
</message>
<message>
- <location line="+76"/>
+ <location line="+69"/>
<source>Toolbars</source>
<translation>Paski narzędzi</translation>
</message>
<message>
- <location line="+15"/>
+ <location line="+16"/>
<source>Filter Toolbar</source>
<translation>Pasek filtrowania</translation>
</message>
@@ -645,7 +693,7 @@
<translation>Przefiltrowane przez:</translation>
</message>
<message>
- <location line="+25"/>
+ <location line="+26"/>
<source>Address Toolbar</source>
<translation>Pasek adresu</translation>
</message>
@@ -655,27 +703,27 @@
<translation>Adres:</translation>
</message>
<message>
- <location line="+114"/>
+ <location line="+112"/>
<source>Could not find the associated content item.</source>
<translation>Nie można znaleźć skojarzonego elementu zawartości.</translation>
</message>
<message>
- <location line="+71"/>
+ <location line="+60"/>
<source>About %1</source>
<translation>Informacje o %1</translation>
</message>
<message>
- <location line="+114"/>
+ <location line="+175"/>
<source>Updating search index</source>
<translation>Uaktualnianie indeksu wyszukiwawczego</translation>
</message>
<message>
- <location line="-640"/>
+ <location line="-669"/>
<source>Looking for Qt Documentation...</source>
<translation>Szukanie dokumentacji Qt...</translation>
</message>
<message>
- <location line="+241"/>
+ <location line="+227"/>
<source>&amp;Window</source>
<translation>&amp;Okno</translation>
</message>
@@ -695,12 +743,12 @@
<translation>Powiększenie</translation>
</message>
<message>
- <location line="-159"/>
+ <location line="-169"/>
<source>&amp;File</source>
<translation>&amp;Plik</translation>
</message>
<message>
- <location line="+25"/>
+ <location line="+32"/>
<source>&amp;Edit</source>
<translation>&amp;Edycja</translation>
</message>
@@ -720,41 +768,36 @@
<translation>ALT+Home</translation>
</message>
<message>
- <location line="+29"/>
+ <location line="+30"/>
<source>&amp;Bookmarks</source>
<translation>&amp;Zakładki</translation>
</message>
<message>
- <location line="+5"/>
+ <location line="+2"/>
<source>&amp;Help</source>
<translation>&amp;Pomoc</translation>
</message>
<message>
- <location line="-40"/>
+ <location line="-38"/>
<source>ALT+O</source>
<translation>ALT+O</translation>
</message>
- <message>
- <location line="+38"/>
- <source>CTRL+D</source>
- <translation>CTRL+D</translation>
- </message>
</context>
<context>
<name>PreferencesDialog</name>
<message>
- <location filename="../tools/assistant/tools/assistant/preferencesdialog.cpp" line="+259"/>
- <location line="+43"/>
+ <location filename="../tools/assistant/tools/assistant/preferencesdialog.cpp" line="+252"/>
+ <location line="+44"/>
<source>Add Documentation</source>
<translation>Dodaj dokumentację</translation>
</message>
<message>
- <location line="-43"/>
+ <location line="-44"/>
<source>Qt Compressed Help Files (*.qch)</source>
<translation>Skompresowane pliki pomocy Qt (*.qch)</translation>
</message>
<message>
- <location line="+37"/>
+ <location line="+38"/>
<source>The specified file is not a valid Qt Help File!</source>
<translation>Podany plik nie jest poprawnym plikiem pomocy Qt!</translation>
</message>
@@ -764,7 +807,7 @@
<translation>Przestrzeń nazw %1 jest już zarejestrowana!</translation>
</message>
<message>
- <location line="+31"/>
+ <location line="+32"/>
<source>Remove Documentation</source>
<translation>Usuń dokumentację</translation>
</message>
@@ -784,7 +827,7 @@
<translation>OK</translation>
</message>
<message>
- <location line="+88"/>
+ <location line="+83"/>
<source>Use custom settings</source>
<translation>Użyj własnych ustawień</translation>
</message>
@@ -908,120 +951,9 @@
</message>
</context>
<context>
- <name>QObject</name>
- <message>
- <location filename="../tools/assistant/tools/assistant/cmdlineparser.cpp" line="+112"/>
- <source>The specified collection file does not exist!</source>
- <translation>Podany plik z kolekcją nie istnieje!</translation>
- </message>
- <message>
- <location line="+4"/>
- <source>Missing collection file!</source>
- <translation>Brak pliku z kolekcją!</translation>
- </message>
- <message>
- <location line="+9"/>
- <source>Invalid URL!</source>
- <translation>Niepoprawny URL!</translation>
- </message>
- <message>
- <location line="+4"/>
- <source>Missing URL!</source>
- <translation>Brak URL!</translation>
- </message>
- <message>
- <location line="+17"/>
- <location line="+19"/>
- <location line="+19"/>
- <source>Unknown widget: %1</source>
- <translation>Nieznany widżet: %1</translation>
- </message>
- <message>
- <location line="-34"/>
- <location line="+19"/>
- <location line="+19"/>
- <source>Missing widget!</source>
- <translation>Brak widżetu!</translation>
- </message>
- <message>
- <location line="+7"/>
- <location line="+12"/>
- <source>The specified Qt help file does not exist!</source>
- <translation>Podany plik pomocy Qt nie istnieje!</translation>
- </message>
- <message>
- <location line="-7"/>
- <location line="+12"/>
- <source>Missing help file!</source>
- <translation>Brak pliku pomocy!</translation>
- </message>
- <message>
- <location line="+7"/>
- <source>Missing filter argument!</source>
- <translation>Brak argumentu filtra!</translation>
- </message>
- <message>
- <location line="+12"/>
- <source>Unknown option: %1</source>
- <translation>Nieznana opcja: %1</translation>
- </message>
- <message>
- <location line="+30"/>
- <location line="+2"/>
- <source>Qt Assistant</source>
- <translation>Qt Assistant</translation>
- </message>
- <message>
- <location filename="../tools/assistant/tools/assistant/main.cpp" line="+228"/>
- <source>Could not register documentation file
-%1
-
-Reason:
-%2</source>
- <translation>Nie można zarejestrować pliku z dokumentacją
-%1
-
-Powód:
-%2</translation>
- </message>
- <message>
- <location line="+4"/>
- <source>Documentation successfully registered.</source>
- <translation>Dokumentacja poprawnie zarejestrowana.</translation>
- </message>
- <message>
- <location line="+11"/>
- <source>Could not unregister documentation file
-%1
-
-Reason:
-%2</source>
- <translation>Nie można wyrejestrować pliku z dokumentacją
-%1
-
-Powód:
-%2</translation>
- </message>
- <message>
- <location line="-3"/>
- <source>Documentation successfully unregistered.</source>
- <translation>Dokumentacja poprawnie wyrejestrowana.</translation>
- </message>
- <message>
- <location line="+40"/>
- <source>Cannot load sqlite database driver!</source>
- <translation>Nie można odczytać sterownika bazy danych sqlite!</translation>
- </message>
- <message>
- <location line="+9"/>
- <source>The specified collection file could not be read!</source>
- <translation>Podany plik z kolekcją nie może być odczytany!</translation>
- </message>
-</context>
-<context>
<name>RemoteControl</name>
<message>
- <location filename="../tools/assistant/tools/assistant/remotecontrol.cpp" line="+163"/>
+ <location filename="../tools/assistant/tools/assistant/remotecontrol.cpp" line="+165"/>
<source>Debugging Remote Control</source>
<translation>Zdalne debugowanie</translation>
</message>
@@ -1034,7 +966,7 @@ Powód:
<context>
<name>SearchWidget</name>
<message>
- <location filename="../tools/assistant/tools/assistant/searchwidget.cpp" line="+196"/>
+ <location filename="../tools/assistant/tools/assistant/searchwidget.cpp" line="+210"/>
<source>&amp;Copy</source>
<translation>S&amp;kopiuj</translation>
</message>
@@ -1057,7 +989,7 @@ Powód:
<context>
<name>TopicChooser</name>
<message>
- <location filename="../tools/assistant/tools/assistant/topicchooser.cpp" line="+54"/>
+ <location filename="../tools/assistant/tools/assistant/topicchooser.cpp" line="+53"/>
<source>Choose a topic for &lt;b&gt;%1&lt;/b&gt;:</source>
<translation>Wybierz temat dla &lt;b&gt;%1&lt;/b&gt;:</translation>
</message>
diff --git a/translations/assistant_ru.ts b/translations/assistant_ru.ts
index ade4c85b67..5244483356 100644
--- a/translations/assistant_ru.ts
+++ b/translations/assistant_ru.ts
@@ -4,7 +4,7 @@
<context>
<name>AboutDialog</name>
<message>
- <location filename="../tools/assistant/tools/assistant/aboutdialog.cpp" line="+110"/>
+ <location filename="../tools/assistant/tools/assistant/aboutdialog.cpp" line="+117"/>
<source>&amp;Close</source>
<translation>&amp;Закрыть</translation>
</message>
@@ -12,7 +12,7 @@
<context>
<name>AboutLabel</name>
<message>
- <location line="-14"/>
+ <location line="-15"/>
<source>Warning</source>
<translation>Предупреждение</translation>
</message>
@@ -24,12 +24,81 @@
</translation>
</message>
<message>
- <location line="+1"/>
+ <location line="+0"/>
<source>OK</source>
<translation>Закрыть</translation>
</message>
</context>
<context>
+ <name>Assistant</name>
+ <message>
+ <location filename="../tools/assistant/tools/assistant/main.cpp" line="+177"/>
+ <source>Error registering documentation file &apos;%1&apos;: %2</source>
+ <translation>Ошибка регистрации файла документации &apos;%1&apos;: %2</translation>
+ </message>
+ <message>
+ <location line="+39"/>
+ <source>Error: %1</source>
+ <translation>Ошибка: %1</translation>
+ </message>
+ <message>
+ <location line="+42"/>
+ <source>Could not register documentation file
+%1
+
+Reason:
+%2</source>
+ <translation>Не удалось зарегистрировать файл документации
+%1
+
+Причина:
+%2</translation>
+ </message>
+ <message>
+ <location line="+6"/>
+ <source>Documentation successfully registered.</source>
+ <translation>Документация успешно зарегистрирована.</translation>
+ </message>
+ <message>
+ <location line="+12"/>
+ <source>Could not unregister documentation file
+%1
+
+Reason:
+%2</source>
+ <translation>Не удалось дерегистрировать файл документации
+%1
+
+Причина:
+%2</translation>
+ </message>
+ <message>
+ <location line="+8"/>
+ <source>Documentation successfully unregistered.</source>
+ <translation>Документация успешно дерегистрирована.</translation>
+ </message>
+ <message>
+ <location line="+55"/>
+ <source>Error reading collection file &apos;%1&apos;: %2.</source>
+ <translation type="unfinished">Ошибка чтения файла коллекции справки &apos;%1&apos;: %2.</translation>
+ </message>
+ <message>
+ <location line="+11"/>
+ <source>Error creating collection file &apos;%1&apos;: %2.</source>
+ <translation type="unfinished">Ошибка создания файла коллекции справки &apos;%1&apos;: %2.</translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>Error reading collection file &apos;%1&apos;: %2</source>
+ <translation type="unfinished">Ошибка чтения файла коллекции справки &apos;%1&apos;: %2</translation>
+ </message>
+ <message>
+ <location line="+53"/>
+ <source>Cannot load sqlite database driver!</source>
+ <translation>Не удалось загрузить драйвер баз данных sqlite!</translation>
+ </message>
+</context>
+<context>
<name>BookmarkDialog</name>
<message>
<location filename="../tools/assistant/tools/assistant/bookmarkdialog.ui"/>
@@ -56,35 +125,11 @@
<source>New Folder</source>
<translation>Новая папка</translation>
</message>
- <message>
- <location filename="../tools/assistant/tools/assistant/bookmarkmanager.cpp" line="+187"/>
- <location line="+18"/>
- <location line="+39"/>
- <location line="+18"/>
- <location line="+33"/>
- <source>Bookmarks</source>
- <translation>Закладки</translation>
- </message>
- <message>
- <location line="-64"/>
- <source>Delete Folder</source>
- <translation>Удалить папку</translation>
- </message>
- <message>
- <location line="+1"/>
- <source>Rename Folder</source>
- <translation>Переименовать папку</translation>
- </message>
</context>
<context>
<name>BookmarkManager</name>
<message>
- <location line="+452"/>
- <source>Bookmarks</source>
- <translation>Закладки</translation>
- </message>
- <message>
- <location line="+37"/>
+ <location filename="../tools/assistant/tools/assistant/bookmarkmanager.cpp" line="+216"/>
<source>Remove</source>
<translation>Удалить</translation>
</message>
@@ -94,16 +139,27 @@
<translation>Удаление папки приведёт к удалению её содержимого.&lt;br&gt;Желаете продолжить?</translation>
</message>
<message>
- <location line="+143"/>
- <location line="+9"/>
- <source>New Folder</source>
- <translation>Новая папка</translation>
+ <location line="+150"/>
+ <source>Add Bookmark...</source>
+ <translation>Добавить закладку...</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Ctrl+D</source>
+ <translation></translation>
+ </message>
+ <message>
+ <location line="-217"/>
+ <source>Untitled</source>
+ <translation>Неозаглавлено</translation>
</message>
-</context>
-<context>
- <name>BookmarkWidget</name>
<message>
- <location line="-474"/>
+ <location line="+213"/>
+ <source>Manage Bookmarks...</source>
+ <translation>Управление закладками...</translation>
+ </message>
+ <message>
+ <location line="+72"/>
<source>Delete Folder</source>
<translation>Удалить папку</translation>
</message>
@@ -123,7 +179,7 @@
<translation>Открыть закладку в новой вкладке</translation>
</message>
<message>
- <location line="+3"/>
+ <location line="+2"/>
<source>Delete Bookmark</source>
<translation>Удалить закладку</translation>
</message>
@@ -132,26 +188,11 @@
<source>Rename Bookmark</source>
<translation>Переименовать закладку</translation>
</message>
- <message>
- <location line="+38"/>
- <source>Filter:</source>
- <translation>Фильтр:</translation>
- </message>
- <message>
- <location line="+24"/>
- <source>Add</source>
- <translation>Добавить</translation>
- </message>
- <message>
- <location line="+9"/>
- <source>Remove</source>
- <translation>Удалить</translation>
- </message>
</context>
<context>
<name>CentralWidget</name>
<message>
- <location filename="../tools/assistant/tools/assistant/centralwidget.cpp" line="+239"/>
+ <location filename="../tools/assistant/tools/assistant/centralwidget.cpp" line="+121"/>
<source>Add new page</source>
<translation>Открыть новую страницу</translation>
</message>
@@ -161,18 +202,18 @@
<translation>Закрыть текущую страницу</translation>
</message>
<message>
- <location line="+312"/>
+ <location line="+287"/>
<source>Print Document</source>
<translation>Печать документа</translation>
</message>
<message>
- <location line="+130"/>
+ <location line="+126"/>
<location line="+2"/>
<source>unknown</source>
<translation>безымянная вкладка</translation>
</message>
<message>
- <location line="+93"/>
+ <location line="+101"/>
<source>Add New Page</source>
<translation>Открыть новую страницу</translation>
</message>
@@ -192,15 +233,78 @@
<translation>Добавить закладку для этой страницы...</translation>
</message>
<message>
- <location line="+248"/>
+ <location line="+264"/>
<source>Search</source>
<translation>Поиск</translation>
</message>
</context>
<context>
+ <name>CmdLineParser</name>
+ <message>
+ <location filename="../tools/assistant/tools/assistant/cmdlineparser.cpp" line="+137"/>
+ <source>Unknown option: %1</source>
+ <translation>Неизвестный параметр: %1</translation>
+ </message>
+ <message>
+ <location line="+87"/>
+ <source>Unknown widget: %1</source>
+ <translation>Неизвестный виджет: %1</translation>
+ </message>
+ <message>
+ <location line="-54"/>
+ <source>The collection file &apos;%1&apos; does not exist.</source>
+ <translation type="unfinished">Файл коллекции справки &apos;%1&apos; не существует.</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>Missing collection file.</source>
+ <translation type="unfinished">Отсутствует файл коллекции справки.</translation>
+ </message>
+ <message>
+ <location line="+13"/>
+ <source>Invalid URL &apos;%1&apos;.</source>
+ <translation>Некорректный URL &apos;%1&apos;.</translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Missing URL.</source>
+ <translation>Отсутствует URL.</translation>
+ </message>
+ <message>
+ <location line="+38"/>
+ <source>Missing widget.</source>
+ <translation>Отсутствует виджет.</translation>
+ </message>
+ <message>
+ <location line="+23"/>
+ <source>The Qt help file &apos;%1&apos; does not exist.</source>
+ <translation>Файл справки Qt &apos;%1&apos; не существует.</translation>
+ </message>
+ <message>
+ <location line="+4"/>
+ <source>Missing help file.</source>
+ <translation>Отсутствует файл справки.</translation>
+ </message>
+ <message>
+ <location line="+10"/>
+ <source>Missing filter argument.</source>
+ <translation>Отсутствует параметр фильтра.</translation>
+ </message>
+ <message>
+ <location line="+20"/>
+ <source>Error</source>
+ <translation>Ошибка</translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Notice</source>
+ <translation>Замечание</translation>
+ </message>
+</context>
+<context>
<name>ContentWindow</name>
<message>
- <location filename="../tools/assistant/tools/assistant/contentwindow.cpp" line="+158"/>
+ <location filename="../tools/assistant/tools/assistant/contentwindow.cpp" line="+173"/>
<source>Open Link</source>
<translation>Открыть ссылку</translation>
</message>
@@ -224,34 +328,6 @@
</message>
</context>
<context>
- <name>FindWidget</name>
- <message>
- <location filename="../tools/assistant/tools/assistant/centralwidget.cpp" line="-931"/>
- <source>Previous</source>
- <translation>Предыдущее</translation>
- </message>
- <message>
- <location line="+4"/>
- <source>Next</source>
- <translation>Следующее</translation>
- </message>
- <message>
- <location line="+4"/>
- <source>Case Sensitive</source>
- <translation>Учитывать регистр</translation>
- </message>
- <message>
- <location line="+3"/>
- <source>Whole words</source>
- <translation>Слова целиком</translation>
- </message>
- <message>
- <location line="+12"/>
- <source>&lt;img src=&quot;:/trolltech/assistant/images/wrap.png&quot;&gt;&amp;nbsp;Search wrapped</source>
- <translation>&lt;img src=&quot;:/trolltech/assistant/images/wrap.png&quot;&gt;&amp;nbsp;Поиск с начала</translation>
- </message>
-</context>
-<context>
<name>FontPanel</name>
<message>
<location filename="../tools/shared/fontpanel/fontpanel.cpp" line="+63"/>
@@ -282,52 +358,25 @@
<context>
<name>HelpViewer</name>
<message>
- <location filename="../tools/assistant/tools/assistant/helpviewer.cpp" line="+283"/>
- <source>Open Link in New Tab</source>
- <translation>Открыть ссылку в новой вкладке</translation>
+ <location filename="../tools/assistant/tools/assistant/helpviewer.cpp" line="+58"/>
+ <source>&lt;title&gt;about:blank&lt;/title&gt;</source>
+ <translation></translation>
</message>
<message>
- <location line="+147"/>
+ <location line="+6"/>
<source>&lt;title&gt;Error 404...&lt;/title&gt;&lt;div align=&quot;center&quot;&gt;&lt;br&gt;&lt;br&gt;&lt;h1&gt;The page could not be found&lt;/h1&gt;&lt;br&gt;&lt;h3&gt;&apos;%1&apos;&lt;/h3&gt;&lt;/div&gt;</source>
<translation>&lt;title&gt;Ошибка 404...&lt;/title&gt;&lt;div align=&quot;center&quot;&gt;&lt;br&gt;&lt;br&gt;&lt;h1&gt;Страница не найдена&lt;/h1&gt;&lt;br&gt;&lt;h3&gt;&apos;%1&apos;&lt;/h3&gt;&lt;/div&gt;</translation>
</message>
- <message>
- <location line="+61"/>
- <source>Help</source>
- <translation>Справка</translation>
- </message>
- <message>
- <location line="+1"/>
- <source>Unable to launch external application.
-</source>
- <translation>Невозможно запустить внешнее приложение.
-</translation>
- </message>
- <message>
- <location line="+0"/>
- <source>OK</source>
- <translation>Закрыть</translation>
- </message>
- <message>
- <location line="+63"/>
- <source>Copy &amp;Link Location</source>
- <translation>Копировать &amp;адрес ссылки</translation>
- </message>
- <message>
- <location line="+3"/>
- <source>Open Link in New Tab Ctrl+LMB</source>
- <translation>Открыть ссылку в новой вкладке Ctrl+LMB</translation>
- </message>
</context>
<context>
<name>IndexWindow</name>
<message>
- <location filename="../tools/assistant/tools/assistant/indexwindow.cpp" line="+66"/>
+ <location filename="../tools/assistant/tools/assistant/indexwindow.cpp" line="+68"/>
<source>&amp;Look for:</source>
<translation>&amp;Искать:</translation>
</message>
<message>
- <location line="+72"/>
+ <location line="+74"/>
<source>Open Link</source>
<translation>Открыть ссылку</translation>
</message>
@@ -341,29 +390,29 @@
<name>InstallDialog</name>
<message>
<location filename="../tools/assistant/tools/assistant/installdialog.ui"/>
- <location filename="../tools/assistant/tools/assistant/installdialog.cpp" line="+76"/>
+ <location filename="../tools/assistant/tools/assistant/installdialog.cpp" line="+78"/>
<source>Install Documentation</source>
<translation>Установка документации</translation>
</message>
<message>
- <location filename="../tools/assistant/tools/assistant/installdialog.cpp" line="+30"/>
+ <location filename="../tools/assistant/tools/assistant/installdialog.cpp" line="+33"/>
<source>Downloading documentation info...</source>
<translation>Загрузка информации о документации...</translation>
</message>
<message>
- <location line="+48"/>
+ <location line="+51"/>
<source>Download canceled.</source>
<translation>Загрузка отменена.</translation>
</message>
<message>
- <location line="+26"/>
- <location line="+78"/>
+ <location line="+28"/>
+ <location line="+79"/>
<location line="+27"/>
<source>Done.</source>
<translation>Готово.</translation>
</message>
<message>
- <location line="-90"/>
+ <location line="-91"/>
<source>The file %1 already exists. Do you want to overwrite it?</source>
<translation>Файл %1 уже существует. Желаете перезаписать его?</translation>
</message>
@@ -378,14 +427,14 @@
<translation>Загрузка %1...</translation>
</message>
<message>
- <location line="+19"/>
+ <location line="+20"/>
<location line="+42"/>
- <location line="+38"/>
+ <location line="+40"/>
<source>Download failed: %1.</source>
<translation>Загрузка не удалась: %1.</translation>
</message>
<message>
- <location line="-70"/>
+ <location line="-72"/>
<source>Documentation info file is corrupt!</source>
<translation>Файл информации о документации повреждён!</translation>
</message>
@@ -400,7 +449,7 @@
<translation>Установка документации %1...</translation>
</message>
<message>
- <location line="+22"/>
+ <location line="+23"/>
<source>Error while installing documentation:
%1</source>
<translation>При установке документации возникла ошибка:
@@ -440,48 +489,42 @@
<context>
<name>MainWindow</name>
<message>
- <location filename="../tools/assistant/tools/assistant/mainwindow.cpp" line="+110"/>
- <location line="+383"/>
+ <location filename="../tools/assistant/tools/assistant/mainwindow.cpp" line="+123"/>
+ <location line="+369"/>
<source>Index</source>
<translation>Указатель</translation>
</message>
<message>
- <location line="-377"/>
- <location line="+375"/>
+ <location line="-363"/>
+ <location line="+361"/>
<source>Contents</source>
<translation>Содержание</translation>
</message>
<message>
- <location line="-370"/>
- <location line="+374"/>
+ <location line="-354"/>
+ <location line="+358"/>
<source>Bookmarks</source>
<translation>Закладки</translation>
</message>
<message>
- <location line="-362"/>
- <location line="+207"/>
- <location line="+514"/>
+ <location line="-336"/>
+ <location line="+680"/>
+ <location line="+284"/>
<source>Qt Assistant</source>
<translation>Qt Assistant</translation>
</message>
<message>
- <location line="-546"/>
- <location line="+5"/>
- <source>Unfiltered</source>
- <translation>Без фильтрации</translation>
- </message>
- <message>
- <location line="+21"/>
+ <location line="-772"/>
<source>Looking for Qt Documentation...</source>
<translation>Поиск документации Qt...</translation>
</message>
<message>
- <location line="+84"/>
+ <location line="+60"/>
<source>&amp;File</source>
<translation>&amp;Файл</translation>
</message>
<message>
- <location line="+2"/>
+ <location line="+7"/>
<source>Page Set&amp;up...</source>
<translation>Параметры &amp;страницы...</translation>
</message>
@@ -496,22 +539,27 @@
<translation>&amp;Печать...</translation>
</message>
<message>
- <location line="+7"/>
+ <location line="-10"/>
<source>New &amp;Tab</source>
<translation>Новая &amp;вкладка</translation>
</message>
<message>
- <location line="+3"/>
+ <location line="+17"/>
<source>&amp;Close Tab</source>
<translation>&amp;Закрыть вкладку</translation>
</message>
<message>
- <location line="+4"/>
+ <location line="+5"/>
<source>&amp;Quit</source>
<translation>В&amp;ыход</translation>
</message>
<message>
- <location line="+4"/>
+ <location line="+3"/>
+ <source>CTRL+Q</source>
+ <translation></translation>
+ </message>
+ <message>
+ <location line="+5"/>
<source>&amp;Edit</source>
<translation>&amp;Правка</translation>
</message>
@@ -568,22 +616,22 @@
<message>
<location line="+4"/>
<source>Ctrl+0</source>
- <translation type="unfinished"></translation>
+ <translation></translation>
</message>
<message>
<location line="+5"/>
<source>ALT+C</source>
- <translation type="unfinished"></translation>
+ <translation></translation>
</message>
<message>
<location line="+2"/>
<source>ALT+I</source>
- <translation type="unfinished"></translation>
+ <translation></translation>
</message>
<message>
<location line="+2"/>
<source>ALT+O</source>
- <translation type="unfinished"></translation>
+ <translation></translation>
</message>
<message>
<location line="+1"/>
@@ -593,7 +641,7 @@
<message>
<location line="+1"/>
<source>ALT+S</source>
- <translation type="unfinished"></translation>
+ <translation></translation>
</message>
<message>
<location line="+2"/>
@@ -608,7 +656,7 @@
<message>
<location line="+1"/>
<source>ALT+Home</source>
- <translation type="unfinished"></translation>
+ <translation></translation>
</message>
<message>
<location line="+3"/>
@@ -638,7 +686,7 @@
<message>
<location line="+1"/>
<source>Ctrl+Alt+Right</source>
- <translation type="unfinished"></translation>
+ <translation></translation>
</message>
<message>
<location line="+3"/>
@@ -648,25 +696,20 @@
<message>
<location line="+1"/>
<source>Ctrl+Alt+Left</source>
- <translation type="unfinished"></translation>
+ <translation></translation>
</message>
<message>
- <location line="+3"/>
+ <location line="+4"/>
<source>&amp;Bookmarks</source>
<translation>&amp;Закладки</translation>
</message>
<message>
- <location line="+1"/>
- <source>Add Bookmark...</source>
- <translation>Добавить закладку...</translation>
- </message>
- <message>
- <location line="+2"/>
- <source>CTRL+D</source>
- <translation type="unfinished"></translation>
+ <location line="+592"/>
+ <source>Could not register file &apos;%1&apos;: %2</source>
+ <translation>Не удалось зарегистрировать файл &apos;%1&apos;: %2</translation>
</message>
<message>
- <location line="+2"/>
+ <location line="-590"/>
<source>&amp;Help</source>
<translation>&amp;Справка</translation>
</message>
@@ -676,7 +719,7 @@
<translation>О программе...</translation>
</message>
<message>
- <location line="+16"/>
+ <location line="+21"/>
<source>Navigation Toolbar</source>
<translation>Панель навигации</translation>
</message>
@@ -698,15 +741,15 @@
<message>
<location line="+1"/>
<source>Ctrl+M</source>
- <translation type="unfinished"></translation>
+ <translation></translation>
</message>
<message>
- <location line="+50"/>
+ <location line="+43"/>
<source>Toolbars</source>
<translation>Панели инструментов</translation>
</message>
<message>
- <location line="+15"/>
+ <location line="+16"/>
<source>Filter Toolbar</source>
<translation>Панель фильтров</translation>
</message>
@@ -716,7 +759,7 @@
<translation>Отфильтровано по:</translation>
</message>
<message>
- <location line="+25"/>
+ <location line="+26"/>
<source>Address Toolbar</source>
<translation>Панель адреса</translation>
</message>
@@ -726,17 +769,17 @@
<translation>Адрес:</translation>
</message>
<message>
- <location line="+114"/>
+ <location line="+112"/>
<source>Could not find the associated content item.</source>
<translation>Не удалось найти элемент, связанный с содержанием.</translation>
</message>
<message>
- <location line="+71"/>
+ <location line="+60"/>
<source>About %1</source>
<translation>О %1</translation>
</message>
<message>
- <location line="+114"/>
+ <location line="+175"/>
<source>Updating search index</source>
<translation>Обновление поискового индекса</translation>
</message>
@@ -744,18 +787,18 @@
<context>
<name>PreferencesDialog</name>
<message>
- <location filename="../tools/assistant/tools/assistant/preferencesdialog.cpp" line="+259"/>
- <location line="+43"/>
+ <location filename="../tools/assistant/tools/assistant/preferencesdialog.cpp" line="+252"/>
+ <location line="+44"/>
<source>Add Documentation</source>
<translation>Добавить документацию</translation>
</message>
<message>
- <location line="-43"/>
+ <location line="-44"/>
<source>Qt Compressed Help Files (*.qch)</source>
<translation>Сжатые файлы справки Qt (*.qch)</translation>
</message>
<message>
- <location line="+29"/>
+ <location line="+30"/>
<source>The namespace %1 is already registered!</source>
<translation>Пространство имён %1 уже зарегистрировано!</translation>
</message>
@@ -765,7 +808,7 @@
<translation>Указанный файл не является корректным файлом справки Qt!</translation>
</message>
<message>
- <location line="+23"/>
+ <location line="+24"/>
<source>Remove Documentation</source>
<translation>Удалить документацию</translation>
</message>
@@ -785,7 +828,7 @@
<translation>Удалить</translation>
</message>
<message>
- <location line="+88"/>
+ <location line="+83"/>
<source>Use custom settings</source>
<translation>Использовать индивидуальные настройки</translation>
</message>
@@ -909,120 +952,9 @@
</message>
</context>
<context>
- <name>QObject</name>
- <message>
- <location filename="../tools/assistant/tools/assistant/cmdlineparser.cpp" line="+112"/>
- <source>The specified collection file does not exist!</source>
- <translation type="unfinished">Указанный файл набора отсутствует!</translation>
- </message>
- <message>
- <location line="+4"/>
- <source>Missing collection file!</source>
- <translation type="unfinished">Отсутствует файл набора!</translation>
- </message>
- <message>
- <location line="+9"/>
- <source>Invalid URL!</source>
- <translation>Некорректный URL!</translation>
- </message>
- <message>
- <location line="+4"/>
- <source>Missing URL!</source>
- <translation>Отсутствует URL!</translation>
- </message>
- <message>
- <location line="+17"/>
- <location line="+19"/>
- <location line="+19"/>
- <source>Unknown widget: %1</source>
- <translation>Неизвестный виджет: %1</translation>
- </message>
- <message>
- <location line="-34"/>
- <location line="+19"/>
- <location line="+19"/>
- <source>Missing widget!</source>
- <translation>Отсутствует виджет!</translation>
- </message>
- <message>
- <location line="+7"/>
- <location line="+12"/>
- <source>The specified Qt help file does not exist!</source>
- <translation>Указанный файл справки Qt отсутствует!</translation>
- </message>
- <message>
- <location line="-7"/>
- <location line="+12"/>
- <source>Missing help file!</source>
- <translation>Отсутствует файл справки!</translation>
- </message>
- <message>
- <location line="+7"/>
- <source>Missing filter argument!</source>
- <translation>Отсутствует параметр фильтра!</translation>
- </message>
- <message>
- <location line="+12"/>
- <source>Unknown option: %1</source>
- <translation>Неизвестный параметр: %1</translation>
- </message>
- <message>
- <location line="+30"/>
- <location line="+2"/>
- <source>Qt Assistant</source>
- <translation>Qt Assistant</translation>
- </message>
- <message>
- <location filename="../tools/assistant/tools/assistant/main.cpp" line="+228"/>
- <source>Could not register documentation file
-%1
-
-Reason:
-%2</source>
- <translation>Не удалось зарегистрировать файл документации
-%1
-
-Причина:
-%2</translation>
- </message>
- <message>
- <location line="+4"/>
- <source>Documentation successfully registered.</source>
- <translation>Документация успешно зарегистрирована.</translation>
- </message>
- <message>
- <location line="+8"/>
- <source>Documentation successfully unregistered.</source>
- <translation>Документация успешно дерегистрирована.</translation>
- </message>
- <message>
- <location line="+3"/>
- <source>Could not unregister documentation file
-%1
-
-Reason:
-%2</source>
- <translation>Не удалось дерегистрировать файл документации
-%1
-
-Причина:
-%2</translation>
- </message>
- <message>
- <location line="+37"/>
- <source>Cannot load sqlite database driver!</source>
- <translation>Не удалось загрузить драйвер базы данных sqlite!</translation>
- </message>
- <message>
- <location line="+9"/>
- <source>The specified collection file could not be read!</source>
- <translation type="unfinished">Не удалось прочитать указанный файл набора!</translation>
- </message>
-</context>
-<context>
<name>RemoteControl</name>
<message>
- <location filename="../tools/assistant/tools/assistant/remotecontrol.cpp" line="+163"/>
+ <location filename="../tools/assistant/tools/assistant/remotecontrol.cpp" line="+165"/>
<source>Debugging Remote Control</source>
<translation>Отладочное удалённое управление</translation>
</message>
@@ -1035,7 +967,7 @@ Reason:
<context>
<name>SearchWidget</name>
<message>
- <location filename="../tools/assistant/tools/assistant/searchwidget.cpp" line="+196"/>
+ <location filename="../tools/assistant/tools/assistant/searchwidget.cpp" line="+210"/>
<source>&amp;Copy</source>
<translation>&amp;Копировать</translation>
</message>
@@ -1058,7 +990,7 @@ Reason:
<context>
<name>TopicChooser</name>
<message>
- <location filename="../tools/assistant/tools/assistant/topicchooser.cpp" line="+54"/>
+ <location filename="../tools/assistant/tools/assistant/topicchooser.cpp" line="+53"/>
<source>Choose a topic for &lt;b&gt;%1&lt;/b&gt;:</source>
<translation>Выберите раздел для &lt;b&gt;%1&lt;/b&gt;:</translation>
</message>
diff --git a/translations/check-ts.pl b/translations/check-ts.pl
new file mode 100755
index 0000000000..7b46bf5a2f
--- /dev/null
+++ b/translations/check-ts.pl
@@ -0,0 +1,85 @@
+#! /usr/bin/perl -w
+
+use strict;
+
+# "qt" must come last to avoid prefix matching.
+my @groups = ("assistant", "designer", "linguist", "qt_help", "qtconfig", "qvfb", "qt");
+
+my %scores = ();
+my %langs = ();
+
+my $files = join("\n", <*.ts>);
+my $res = `xmlpatterns -param files=\"$files\" check-ts.xq`;
+for my $i (split(/ /, $res)) {
+ $i =~ /^([^.]+).ts:(.*)$/;
+ my ($fn, $pc) = ($1, $2);
+ for my $g (@groups) {
+ if ($fn =~ /^${g}_(.*)$/) {
+ my $lang = $1;
+ $scores{$g}{$lang} = $pc;
+ $langs{$lang} = 1;
+ last;
+ }
+ }
+}
+
+# now we move "qt" to the front, as it should be the first column.
+pop @groups;
+unshift @groups, "qt";
+
+my $code = "";
+
+print "L10n ";
+for my $g (@groups) {
+ print " ".$g." ";
+}
+print "\n";
+for my $lang (sort(keys(%langs))) {
+ printf "%-5s ", $lang;
+ my $qt = 1;
+ my $rest = 1;
+ my $line = "";
+ for my $g (@groups) {
+ my $pc = $scores{$g}{$lang};
+ $pc = "0" if !defined($pc);
+ if (int($pc) < 98 or !$qt) {
+ if ($g eq "qt") {
+ $qt = 0;
+ } else {
+ $rest = 0;
+ }
+ } else {
+ $line .= " ".$g."_".$lang.".ts";
+ }
+ printf " %-".(length($g)+1)."s", $pc;
+ }
+ if ($qt) {
+ $code .= " \\\n ".$line;
+ if (!$rest) {
+ print " (partial)";
+ }
+ } else {
+ print " (excluded)";
+ }
+ print "\n";
+}
+
+my $fn = "translations.pro";
+my $nfn = $fn."new";
+open IN, $fn or die;
+open OUT, ">".$nfn or die;
+while (1) {
+ $_ = <IN>;
+ last if (/^TRANSLATIONS /);
+ print OUT $_;
+}
+while ($_ =~ /\\\n$/) {
+ $_ = <IN>;
+}
+print OUT "TRANSLATIONS =".$code."\n";
+while (<IN>) {
+ print OUT $_;
+}
+close OUT;
+close IN;
+rename $nfn, $fn;
diff --git a/translations/check-ts.xq b/translations/check-ts.xq
new file mode 100644
index 0000000000..2d6404cefc
--- /dev/null
+++ b/translations/check-ts.xq
@@ -0,0 +1,3 @@
+for $file in tokenize($files, codepoints-to-string(10))
+ let $fresh := doc($file)/TS/context/message[not (translation/@type = 'obsolete')]
+ return concat($file, ":", count($fresh/translation[not (@type = 'unfinished')]) * 100 idiv count($fresh))
diff --git a/translations/designer_hu.ts b/translations/designer_hu.ts
index c2960bc3d4..6375cdef2e 100644
--- a/translations/designer_hu.ts
+++ b/translations/designer_hu.ts
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE TS>
-<TS version="2.0" language="hu">
+<TS version="2.0" language="hu_HU">
<context>
<name>AbstractFindWidget</name>
<message>
@@ -16,33 +16,33 @@
<message>
<location line="+24"/>
<source>&amp;Case sensitive</source>
- <translation>&amp;Kis ér nagybetű érzékeny</translation>
+ <translation>Kis/&amp;nagybetű érzékeny</translation>
</message>
<message>
<location line="+8"/>
<source>Whole &amp;words</source>
- <translation>Egész &amp;szavakat</translation>
+ <translation>&amp;Teljes szó</translation>
</message>
<message>
<location line="+12"/>
<source>&lt;img src=&quot;:/trolltech/shared/images/wrap.png&quot;&gt;&amp;nbsp;Search wrapped</source>
- <translation>&lt;img src=&quot;:/trolltech/shared/images/wrap.png&quot;&gt;&amp;nbsp;Keresés tördelve</translation>
+ <translation>&lt;img src=&quot;:/trolltech/shared/images/wrap.png&quot;&gt;&amp;nbsp;A keresés befejeződött</translation>
</message>
</context>
<context>
<name>AddLinkDialog</name>
<message>
- <location filename="../tools/designer/src/lib/shared/addlinkdialog.ui" line="+5"/>
+ <location filename="../tools/designer/src/lib/shared/addlinkdialog.ui"/>
<source>Insert Link</source>
<translation>Link beszúrása</translation>
</message>
<message>
- <location line="+14"/>
+ <location/>
<source>Title:</source>
<translation>Cím:</translation>
</message>
<message>
- <location line="+17"/>
+ <location/>
<source>URL:</source>
<translation>URL:</translation>
</message>
@@ -52,7 +52,7 @@
<message>
<location filename="../tools/designer/src/designer/appfontdialog.cpp" line="+418"/>
<source>Additional Fonts</source>
- <translation>További betűl</translation>
+ <translation>További betűtípusok</translation>
</message>
</context>
<context>
@@ -60,37 +60,37 @@
<message>
<location line="-267"/>
<source>&apos;%1&apos; is not a file.</source>
- <translation>%1 nem egy fájl.</translation>
+ <translation>&apos;%1&apos; nem egy fájl.</translation>
</message>
<message>
<location line="+4"/>
<source>The font file &apos;%1&apos; does not have read permissions.</source>
- <translation>&apos;%1&apos; betű fájlnak nincsen olvasási engedélye.</translation>
+ <translation>A(z) &apos;%1&apos; font fájlon nincs olvasási jog.</translation>
</message>
<message>
<location line="+8"/>
<source>The font file &apos;%1&apos; is already loaded.</source>
- <translation>&apos;%1&apos; font fájl már be van töltve.</translation>
+ <translation>A(z) &apos;%1&apos; betűtípus már be van töltve.</translation>
</message>
<message>
<location line="+7"/>
<source>The font file &apos;%1&apos; could not be loaded.</source>
- <translation>&apos;%1&apos; font fájlt nem sikerült betölteni.</translation>
+ <translation>A(z) &apos;%1&apos; betűtípus nem tölthető be.</translation>
</message>
<message>
<location line="+17"/>
<source>&apos;%1&apos; is not a valid font id.</source>
- <translation>&apos;%1&apos; nem egy érvényes betű azonosító.</translation>
+ <translation>&apos;%1&apos; nem egy érvényes betűtípus azonosító.</translation>
</message>
<message>
<location line="+11"/>
<source>There is no loaded font matching the id &apos;%1&apos;.</source>
- <translation>Nincsen &apos;%1&apos; azonosítóval megegyező betöltött betű.</translation>
+ <translation>Nincs &apos;%1&apos; azonosítójú betűtípus betöltve.</translation>
</message>
<message>
<location line="+15"/>
<source>The font &apos;%1&apos; (%2) could not be unloaded.</source>
- <translation>&apos;%1&apos; betűt (%2) nem lehetett kirakni.</translation>
+ <translation>A(z) &apos;%1&apos; (%2) betűtípus nem távolítható el.</translation>
</message>
</context>
<context>
@@ -98,65 +98,65 @@
<message>
<location line="+26"/>
<source>Fonts</source>
- <translation>Betűk</translation>
+ <translation>Betűtípusok</translation>
</message>
<message>
<location line="+58"/>
<source>Add font files</source>
- <translation>Betű fájlok hozzáadása</translation>
+ <translation>Betűtípus fájl hozzáadása</translation>
</message>
<message>
<location line="+5"/>
<source>Remove current font file</source>
- <translation>Aktuális betű fájl eltávolítása</translation>
+ <translation>A jelenlegi betűtípus fájl eltávolítása</translation>
</message>
<message>
<location line="+4"/>
<source>Remove all font files</source>
- <translation>Az összes betű fájl eltávolítása</translation>
+ <translation>Minden betűtłpus fájl eltávolítása</translation>
</message>
<message>
<location line="+19"/>
<source>Add Font Files</source>
- <translation>Betű fájlok hozzáadása</translation>
+ <translation>Betűtípus fájl hozzáadása</translation>
</message>
<message>
<location line="+1"/>
<source>Font files (*.ttf)</source>
- <translation>Betű fájlok (*.ttf)</translation>
+ <translation>Betűtípus fájlok (*.ttf)</translation>
</message>
<message>
<location line="+13"/>
<source>Error Adding Fonts</source>
- <translation>Hiba történt a betűk hozzáadásakor</translation>
+ <translation>Hiba a betűtípus fájlok hozzáadásakor</translation>
</message>
<message>
<location line="+24"/>
<source>Error Removing Fonts</source>
- <translation>Hiba történt a betűk eltávolításakor</translation>
+ <translation>Hiba a betűtípus fájlok eltávolításakor</translation>
</message>
<message>
<location line="+22"/>
<source>Remove Fonts</source>
- <translation>Betűk eltávolítása</translation>
+ <translation>Betűtípus fájl eltávolítása</translation>
</message>
<message>
<location line="+0"/>
<source>Would you like to remove all fonts?</source>
- <translation>El szeretné távolítani az összes betűt?</translation>
+ <translation>Minden betűtípust eltávolít?</translation>
</message>
</context>
<context>
<name>AppearanceOptionsWidget</name>
<message>
- <location filename="../tools/designer/src/designer/qdesigner_appearanceoptions.ui" line="+14"/>
+ <location filename="../tools/designer/src/designer/qdesigner_appearanceoptions.ui"/>
<source>Form</source>
<translation></translation>
</message>
<message>
- <location line="+6"/>
+ <location/>
<source>User Interface Mode</source>
- <translation>Felhasználói interfész mód</translation>
+ <translation>Felhasználói felület mód</translation>
</message>
</context>
<context>
@@ -164,17 +164,17 @@
<message>
<location filename="../tools/designer/src/designer/assistantclient.cpp" line="+100"/>
<source>Unable to send request: Assistant is not responding.</source>
- <translation>Nem lehet elküldeni a kérést, az Assistant nem válaszol.</translation>
+ <translation>A kérés elküldése nem sikerült: az Assistant nem válaszol.</translation>
</message>
<message>
<location line="+39"/>
<source>The binary &apos;%1&apos; does not exist.</source>
- <translation>&apos;%1&apos; bináris nem létezik.</translation>
+ <translation>A(z) &apos;%1&apos; bináris nem létezik.</translation>
</message>
<message>
<location line="+9"/>
<source>Unable to launch assistant (%1).</source>
- <translation>Nem lehet elindítani a(z) %1 assistant.</translation>
+ <translation>Az Assistant (%1) elindítása sikertelen.</translation>
</message>
</context>
<context>
@@ -182,12 +182,12 @@
<message>
<location filename="../tools/designer/src/components/propertyeditor/brushpropertymanager.cpp" line="+52"/>
<source>No brush</source>
- <translation>Nincs kefe</translation>
+ <translation>Nincs ecset</translation>
</message>
<message>
<location line="+1"/>
<source>Solid</source>
- <translation>Szolid</translation>
+ <translation>Lágy</translation>
</message>
<message>
<location line="+1"/>
@@ -227,12 +227,12 @@
<message>
<location line="+1"/>
<source>Horizontal</source>
- <translation>Horizontális</translation>
+ <translation>Vízszintes</translation>
</message>
<message>
<location line="+1"/>
<source>Vertical</source>
- <translation>Vertikális</translation>
+ <translation>Függőleges</translation>
</message>
<message>
<location line="+1"/>
@@ -242,20 +242,20 @@
<message>
<location line="+1"/>
<source>Backward diagonal</source>
- <translation>Visszafele átlós</translation>
+ <translation>Fordított átlós</translation>
</message>
<message>
<location line="+1"/>
<source>Forward diagonal</source>
- <translation>Előre átlós</translation>
+ <translation>Átlós</translation>
</message>
<message>
<location line="+1"/>
<source>Crossing diagonal</source>
- <translation>Kereszt átlós</translation>
+ <translation>Keresztátlós</translation>
</message>
<message>
- <location line="+83"/>
+ <location line="+93"/>
<source>Style</source>
<translation>Stílus</translation>
</message>
@@ -267,7 +267,7 @@
<message>
<location line="+105"/>
<source>[%1, %2]</source>
- <translation>[%1, %2]</translation>
+ <translation></translation>
</message>
</context>
<context>
@@ -276,66 +276,66 @@
<location filename="../tools/designer/src/components/signalsloteditor/signalsloteditor.cpp" line="+208"/>
<location line="+258"/>
<source>Change signal</source>
- <translation>Jel változtatás</translation>
+ <translation>Jelzés megváltoztatása</translation>
</message>
<message>
<location line="-256"/>
<location line="+268"/>
<source>Change slot</source>
- <translation>Szlot változtatás</translation>
+ <translation>Slot megváltoztatása</translation>
</message>
<message>
<location line="-220"/>
<source>Change signal-slot connection</source>
- <translation>Jel szlot kapcsolat változtatása</translation>
+ <translation>Jelzés-slot kapcsolat megváltoztatása</translation>
</message>
<message>
<location line="+234"/>
<source>Change sender</source>
- <translation>Küldő változtatás</translation>
+ <translation>Küldő megváltoztatása</translation>
</message>
<message>
<location line="+18"/>
<source>Change receiver</source>
- <translation>Fogadó változtatás</translation>
+ <translation>Fogadó megváltoztatása</translation>
</message>
<message>
<location filename="../tools/designer/src/components/taskmenu/button_taskmenu.cpp" line="+221"/>
<source>Create button group</source>
- <translation>Gomb csoport létrehozása</translation>
+ <translation>Gombcsoport létrehozása</translation>
</message>
<message>
<location line="+27"/>
<source>Break button group</source>
- <translation>Gomb csoport törése</translation>
+ <translation>Gombcsoport széttörése</translation>
</message>
<message>
<location line="+9"/>
<source>Break button group &apos;%1&apos;</source>
- <translation>&apos;%1&apos; gomb csoport törése</translation>
+ <translation>A(z) &apos;%1&apos; gombcsoport széttörése</translation>
</message>
<message>
<location line="+17"/>
<source>Add buttons to group</source>
- <translation>Gomb hozzáadása a csoporthoz</translation>
+ <translation>Gomb(ok) hozzáadása a csoporthoz</translation>
</message>
<message>
<location line="+8"/>
<location filename="../tools/designer/src/lib/shared/formlayoutmenu.cpp" line="+458"/>
<source>Add &apos;%1&apos; to &apos;%2&apos;</source>
<extracomment>Command description for adding buttons to a QButtonGroup</extracomment>
- <translation>&apos;%1&apos; hozzáadása &apos;%2&apos;-höz</translation>
+ <translation>&apos;%1&apos; hozzáadása ehhez: &apos;%2&apos;</translation>
</message>
<message>
<location line="+14"/>
<source>Remove buttons from group</source>
- <translation>Gomb eltávolítása a csoportból</translation>
+ <translation>Gomb(ok) eltávolítása a csoportból</translation>
</message>
<message>
<location line="+15"/>
<source>Remove &apos;%1&apos; from &apos;%2&apos;</source>
<extracomment>Command description for removing buttons from a QButtonGroup</extracomment>
- <translation>&apos;%1&apos; eltávolítása &apos;%2&apos;-ból</translation>
+ <translation>&apos;%1&apos; eltávolítása innen: &apos;%2&apos;</translation>
</message>
<message>
<location filename="../tools/designer/src/lib/shared/connectionedit.cpp" line="+143"/>
@@ -345,7 +345,7 @@
<message>
<location line="+54"/>
<source>Adjust connection</source>
- <translation>Kapcsolat beállítása</translation>
+ <translation>Kapcsolat módosítása</translation>
</message>
<message>
<location line="+19"/>
@@ -355,18 +355,18 @@
<message>
<location line="+58"/>
<source>Change source</source>
- <translation>Forrás változtatása</translation>
+ <translation>Forrás megváltoztatása</translation>
</message>
<message>
<location line="+2"/>
<source>Change target</source>
- <translation>Cél változtatása</translation>
+ <translation>Cél megváltoztatása</translation>
</message>
<message>
<location filename="../tools/designer/src/lib/shared/morphmenu.cpp" line="+349"/>
<source>Morph %1/&apos;%2&apos; into %3</source>
<extracomment>MorphWidgetCommand description</extracomment>
- <translation>%1/&apos;%2&apos; alakváltoztatása %3-re</translation>
+ <translation>%1/&apos;%2&apos; átalakítása erre: %3</translation>
</message>
<message>
<location filename="../tools/designer/src/lib/shared/qdesigner_command.cpp" line="+149"/>
@@ -381,12 +381,12 @@
<message>
<location line="+34"/>
<source>Raise &apos;%1&apos;</source>
- <translation>&apos;%1&apos; növelése</translation>
+ <translation>&apos;%1&apos; előrehozása</translation>
</message>
<message>
<location line="+33"/>
<source>Lower &apos;%1&apos;</source>
- <translation>Alsó &apos;%1&apos;</translation>
+ <translation>&apos;%1&apos; hátrébbküldése</translation>
</message>
<message>
<location line="+113"/>
@@ -396,49 +396,49 @@
<message>
<location line="+119"/>
<source>Reparent &apos;%1&apos;</source>
- <translation>&apos;%1&apos; újra szülősítése</translation>
+ <translation type="unfinished">&apos;%1&apos; szülőjének megváltoztatása</translation>
</message>
<message>
<location line="+53"/>
<source>Promote to custom widget</source>
- <translation>Egyéni widget elősegítése</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+42"/>
<source>Demote from custom widget</source>
- <translation>Egyéni widget lefokozása</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+79"/>
<source>Lay out using grid</source>
- <translation>Tervraj rácsok használatával</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+3"/>
<source>Lay out vertically</source>
- <translation>Tervrajz vertikálisan</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+3"/>
<source>Lay out horizontally</source>
- <translation>Tervrajz horizontálisan</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+41"/>
<source>Break layout</source>
- <translation>Tervrajz törése</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+105"/>
<source>Simplify Grid Layout</source>
- <translation>Egyszerűsített rács tervrajz</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+135"/>
<location line="+235"/>
<location line="+78"/>
<source>Move Page</source>
- <translation>Lap mozgatása</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="-279"/>
@@ -446,18 +446,18 @@
<location line="+188"/>
<location line="+666"/>
<source>Delete Page</source>
- <translation>Lap törlése</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="-939"/>
<location line="+123"/>
<source>Page</source>
- <translation>Lap</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+860"/>
<source>page</source>
- <translation>lap</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="-978"/>
@@ -465,251 +465,249 @@
<location line="+186"/>
<location line="+667"/>
<source>Insert Page</source>
- <translation>Lap beszúrása</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="-647"/>
<source>Change Tab order</source>
- <translation>Tab sorrend változtatása</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+28"/>
<source>Create Menu Bar</source>
- <translation>Menü sáv</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+44"/>
<source>Delete Menu Bar</source>
- <translation>Menü sáv törlése</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+47"/>
<source>Create Status Bar</source>
- <translation>Státusz sáv létrehozása</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+42"/>
<source>Delete Status Bar</source>
- <translation>Státusz sáv törlése</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+45"/>
<source>Add Tool Bar</source>
- <translation>Eszköz sáv hozzáadása</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+59"/>
<source>Add Dock Window</source>
- <translation>Dokk ablak hozzáadása</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+53"/>
<source>Adjust Size of &apos;%1&apos;</source>
- <translation>&apos;%1&apos; méretének igazítása</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+57"/>
<source>Change Form Layout Item Geometry</source>
- <translation>Űrlap tervrajz elem geometriájának megváltoztatása</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+95"/>
<source>Change Layout Item Geometry</source>
- <translation>Tervrajz elem geometriájának megváltoztatása</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+138"/>
<source>Delete Subwindow</source>
- <translation>Alablak törlése</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+44"/>
<source>Insert Subwindow</source>
- <translation>Alablak beszúrása</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+2"/>
<source>subwindow</source>
- <translation>alablak</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+1"/>
<source>Subwindow</source>
- <translation>Alablak</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+391"/>
<source>Change Table Contents</source>
- <translation>Táblázat tartalom megváltoztatása</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+107"/>
<source>Change Tree Contents</source>
- <translation>Fa tartalom megváltoztatása</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+74"/>
<location line="+146"/>
<source>Add action</source>
- <translation>Tevékenység hozzáadása</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="-120"/>
<location line="+126"/>
<source>Remove action</source>
- <translation>Tevékenység eltávolítása</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+53"/>
<source>Add menu</source>
- <translation>Menü hozzáadása</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+6"/>
<source>Remove menu</source>
- <translation>Menü eltávolítása</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+6"/>
<source>Create submenu</source>
- <translation>Almenü létrehozása</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+31"/>
<source>Delete Tool Bar</source>
- <translation>Eszköz sáv törlése</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location filename="../tools/designer/src/lib/shared/qdesigner_command2.cpp" line="+154"/>
<source>Change layout of &apos;%1&apos; from %2 to %3</source>
- <translation>&apos;%1&apos; tervrajz megváltoztatása %2-ről %3-ra</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../tools/designer/src/lib/shared/qdesigner_menu.cpp" line="+1195"/>
+ <location filename="../tools/designer/src/lib/shared/qdesigner_menu.cpp" line="+1194"/>
<source>Set action text</source>
- <translation>Tevékenység szöveg beállítása</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+3"/>
<source>Insert action</source>
- <translation>Tevékenység beszúrása</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+89"/>
- <location filename="../tools/designer/src/lib/shared/qdesigner_menubar.cpp" line="+907"/>
+ <location filename="../tools/designer/src/lib/shared/qdesigner_menubar.cpp" line="+915"/>
<source>Move action</source>
- <translation>Tevékenység mozgatása</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../tools/designer/src/lib/shared/qdesigner_menubar.cpp" line="-424"/>
+ <location filename="../tools/designer/src/lib/shared/qdesigner_menubar.cpp" line="-432"/>
<source>Change Title</source>
- <translation>Cím megváltoztatása</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+2"/>
<source>Insert Menu</source>
- <translation>Menü beszúrása</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../tools/designer/src/lib/shared/qdesigner_propertycommand.cpp" line="+1213"/>
+ <location filename="../tools/designer/src/lib/shared/qdesigner_propertycommand.cpp" line="+1225"/>
<source>Changed &apos;%1&apos; of &apos;%2&apos;</source>
- <translation>&apos;%2&apos; &apos;%1&apos;-ének megváltoztatása</translation>
+ <translation type="unfinished"></translation>
</message>
<message numerus="yes">
<location line="+3"/>
<source>Changed &apos;%1&apos; of %n objects</source>
- <translation>
- <numerusform>%n objektum %1-ének megváltoztatása</numerusform>
+ <translation type="unfinished">
+ <numerusform></numerusform>
</translation>
</message>
<message>
- <location line="+76"/>
+ <location line="+84"/>
<source>Reset &apos;%1&apos; of &apos;%2&apos;</source>
- <translation>&apos;%2&apos; &apos;%1&apos;-ének megváltoztatása</translation>
+ <translation type="unfinished"></translation>
</message>
<message numerus="yes">
<location line="+3"/>
<source>Reset &apos;%1&apos; of %n objects</source>
- <translation>
- <numerusform>%n objektum &apos;%1&apos;-ének újraindítása</numerusform>
+ <translation type="unfinished">
+ <numerusform></numerusform>
</translation>
</message>
<message>
<location line="+89"/>
<source>Add dynamic property &apos;%1&apos; to &apos;%2&apos;</source>
- <translation>&apos;%2&apos; &apos;%1&apos; dinamikus tulajdonságának hozzáadása</translation>
+ <translation type="unfinished"></translation>
</message>
<message numerus="yes">
<location line="+3"/>
<source>Add dynamic property &apos;%1&apos; to %n objects</source>
- <translation>
- <numerusform>%n objektum&apos; &apos;%1&apos; dinamikus tulajdonságának hozzáadása</numerusform>
+ <translation type="unfinished">
+ <numerusform></numerusform>
</translation>
</message>
<message>
<location line="+86"/>
<source>Remove dynamic property &apos;%1&apos; from &apos;%2&apos;</source>
- <translation>&apos;%1&apos; dinamikus tulajdonság eltávolítáas &apos;%2&apos;-ből</translation>
+ <translation type="unfinished"></translation>
</message>
<message numerus="yes">
<location line="+3"/>
<source>Remove dynamic property &apos;%1&apos; from %n objects</source>
- <translation>
- <numerusform>&apos;%1&apos; dinamikus tulajdonság eltávolítása %n objektumból</numerusform>
+ <translation type="unfinished">
+ <numerusform></numerusform>
</translation>
</message>
<message>
<location filename="../tools/designer/src/lib/shared/scriptcommand.cpp" line="+55"/>
<source>Change script</source>
- <translation>Szkript megváltoztatása</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location filename="../tools/designer/src/lib/shared/signalslotdialog.cpp" line="+202"/>
<source>Change signals/slots</source>
- <translation>Jelek/Szlotok megváltoztatása</translation>
+ <translation type="unfinished"></translation>
</message>
</context>
<context>
<name>ConnectDialog</name>
<message>
- <location filename="../tools/designer/src/components/signalsloteditor/connectdialog.ui" line="+13"/>
+ <location filename="../tools/designer/src/components/signalsloteditor/connectdialog.ui"/>
<source>Configure Connection</source>
- <translation>Kapcsolat konfigurálása</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+6"/>
- <location line="+40"/>
+ <location/>
<source>GroupBox</source>
- <translation>CsoportDoboz</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="-25"/>
- <location line="+40"/>
+ <location/>
<source>Edit...</source>
- <translation>Szerkesztés...</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+25"/>
+ <location/>
<source>Show signals and slots inherited from QWidget</source>
- <translation>QWidget-ből örökölt jelek és szlotok megjelenítése</translation>
+ <translation type="unfinished"></translation>
</message>
</context>
<context>
<name>ConnectionDelegate</name>
<message>
- <location filename="../tools/designer/src/components/signalsloteditor/signalsloteditorwindow.cpp" line="+643"/>
+ <location filename="../tools/designer/src/components/signalsloteditor/signalsloteditorwindow.cpp" line="+644"/>
<source>&lt;object&gt;</source>
- <translation>&lt;objekttum&gt;</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+18"/>
<source>&lt;signal&gt;</source>
- <translation>&lt;jel&gt;</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+0"/>
<source>&lt;slot&gt;</source>
- <translation>&lt;szlot&gt;</translation>
+ <translation type="unfinished"></translation>
</message>
</context>
<context>
@@ -718,109 +716,108 @@
<location filename="../tools/designer/src/components/formeditor/dpi_chooser.cpp" line="+69"/>
<source>Standard (96 x 96)</source>
<extracomment>Embedded device standard screen resolution</extracomment>
- <translation>Szabványos (96 x 96)</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+2"/>
<source>Greenphone (179 x 185)</source>
<extracomment>Embedded device screen resolution</extracomment>
- <translation>Greenphone (179 x 185)</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+2"/>
<source>High (192 x 192)</source>
<extracomment>Embedded device high definition screen resolution</extracomment>
- <translation>Magasság (192 x 192)</translation>
+ <translation type="unfinished"></translation>
</message>
</context>
<context>
<name>Designer</name>
<message>
- <location filename="../tools/designer/src/components/formeditor/qdesigner_resource.cpp" line="+449"/>
+ <location filename="../tools/designer/src/components/formeditor/qdesigner_resource.cpp" line="+446"/>
<source>Qt Designer</source>
- <translation>Qt Designer</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+10"/>
<source>This file contains top level spacers.&lt;br&gt;They have &lt;b&gt;NOT&lt;/b&gt; been saved into the form.</source>
- <translation>Ez a fájl felső szintű távtartókat tartalmaz.&lt;br&gt; Nem tartalmaznak &lt;b&gt;SEMMIT&lt;/b&gt;, ami el lenne mentve az űrlapba.</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+2"/>
<source>Perhaps you forgot to create a layout?</source>
- <translation>Talán elfelejtette létrehozni a tervrajzot?</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+173"/>
<source>Invalid UI file: The root element &lt;ui&gt; is missing.</source>
- <translation>Érvénytelen UI fájl. A rendszergazda elem &lt;ui&gt; hiányzik.</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+6"/>
<source>An error has occurred while reading the UI file at line %1, column %2: %3</source>
- <translation>Hiba történt az UI fájl olvasás közben %1 sorban, %2 oszlopban: %3</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+26"/>
<source>This file cannot be read because it was created using %1.</source>
- <translation>A fájl nem olvasható, mert %1 használatával hozták létre.</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+14"/>
<source>This file was created using Designer from Qt-%1 and cannot be read.</source>
- <translation>A fájlt a(z) %1 Qt Designer-rel hozták létre és nem olvasható.</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+30"/>
<source>The converted file could not be read.</source>
- <translation>A konvertált fájlt nem sikerült olvasni.</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+4"/>
<source>This file was created using Designer from Qt-%1 and will be converted to a new form by Qt Designer.</source>
- <translation>A fájlt a(z) %1 Qt Designer-rel hozták létre és a Qt Designer egy új űrlapra fogja konvertálni.</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+3"/>
<source>The old form has not been touched, but you will have to save the form under a new name.</source>
- <translation>A régi űrlap nem lett érintve, de az űrlapot új néven kell majd elmentenie.</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+11"/>
<source>This file was created using Designer from Qt-%1 and could not be read:
%2</source>
- <translation>A fájl a(z) %1 Qt Designer-rel lett létrehozva és nem olvasható:
-%2</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+3"/>
<source>Please run it through &lt;b&gt;uic3&amp;nbsp;-convert&lt;/b&gt; to convert it to Qt-4&apos;s ui format.</source>
- <translation>Kérem futtassa a &lt;br&gt;uic3&amp;nbsp;-convert&lt;/b&gt; Qt 4-s ui formára konvertáláshoz.</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+31"/>
<source>This file cannot be read because the extra info extension failed to load.</source>
- <translation>Ez a fájl nem olvasható, mert az extra információ kiterjesztést nem sikerült betölteni.</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location filename="../tools/designer/src/lib/shared/qsimpleresource.cpp" line="+339"/>
<source>Custom Widgets</source>
- <translation>Egyéni Widgetek</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+12"/>
<source>Promoted Widgets</source>
- <translation>Támogatott Widgetek</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location filename="../tools/designer/src/lib/shared/qdesigner_utils.cpp" line="+682"/>
<source>Unable to launch %1.</source>
- <translation>Nem lehet elindítani %1-t.</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+4"/>
<source>%1 timed out.</source>
- <translation>%1 időtúllépés.</translation>
+ <translation type="unfinished"></translation>
</message>
</context>
<context>
@@ -828,12 +825,12 @@
<message>
<location line="-513"/>
<source>%1 is not a valid enumeration value of &apos;%2&apos;.</source>
- <translation>%1 nem egy érvényes &apos;%2&apos; felsorolási érték.</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+5"/>
<source>&apos;%1&apos; could not be converted to an enumeration value of type &apos;%2&apos;.</source>
- <translation>&apos;%1&apos; nem konvertálható egy &apos;%2&apos; típusú felsorolási értékre.</translation>
+ <translation type="unfinished"></translation>
</message>
</context>
<context>
@@ -841,7 +838,7 @@
<message>
<location line="+78"/>
<source>&apos;%1&apos; could not be converted to a flag value of type &apos;%2&apos;.</source>
- <translation>&apos;%1&apos; nem konvertálható egy &apos;%2&apos; típusú jelző értékre.</translation>
+ <translation type="unfinished"></translation>
</message>
</context>
<context>
@@ -850,40 +847,40 @@
<location filename="../tools/designer/src/lib/shared/deviceprofile.cpp" line="+397"/>
<source>&apos;%1&apos; is not a number.</source>
<extracomment>Reading a number for an embedded device profile</extracomment>
- <translation>&apos;%1&apos; nem egy szám.</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+23"/>
<source>An invalid tag &lt;%1&gt; was encountered.</source>
- <translation>Egy érvénytelen címkét &lt;%1&gt; talált.</translation>
+ <translation type="unfinished"></translation>
</message>
</context>
<context>
<name>DeviceProfileDialog</name>
<message>
- <location filename="../tools/designer/src/components/formeditor/deviceprofiledialog.ui" line="+20"/>
+ <location filename="../tools/designer/src/components/formeditor/deviceprofiledialog.ui"/>
<source>&amp;Family</source>
- <translation>&amp;Család</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+13"/>
+ <location/>
<source>&amp;Point Size</source>
- <translation>&amp;Pont méret</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+13"/>
+ <location/>
<source>Style</source>
- <translation>Stílus</translation>
+ <translation type="unfinished">Stílus</translation>
</message>
<message>
- <location line="+13"/>
+ <location/>
<source>Device DPI</source>
- <translation>Eszköz DPI</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+10"/>
+ <location/>
<source>Name</source>
- <translation>Név</translation>
+ <translation type="unfinished">Név</translation>
</message>
</context>
<context>
@@ -891,57 +888,57 @@
<message>
<location filename="../tools/shared/deviceskin/deviceskin.cpp" line="+79"/>
<source>The image file &apos;%1&apos; could not be loaded.</source>
- <translation>Nem sikerült betölteni a(z) &apos;%1&apos; kép fájlt.</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+64"/>
<source>The skin directory &apos;%1&apos; does not contain a configuration file.</source>
- <translation>A(z) &apos;%1&apos; szkin könyvtár nem tartalmaz egy konfigurációs fájlt sem.</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+5"/>
<source>The skin configuration file &apos;%1&apos; could not be opened.</source>
- <translation>A(z) &apos;%1&apos; szkin konfigurációs fájlt nem sikerült megnyitni.</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+6"/>
<source>The skin configuration file &apos;%1&apos; could not be read: %2</source>
- <translation>A(z) &apos;%1&apos; szkin konfigurációs fájlt nem sikerült olvasni: %2</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+70"/>
<source>Syntax error: %1</source>
- <translation>Szintakszis hiba: %1</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+21"/>
<source>The skin &quot;up&quot; image file &apos;%1&apos; does not exist.</source>
- <translation>A(z) &apos;%1&apos; szkin &apos;fel&apos; kép fájl nem létezik.</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+10"/>
<source>The skin &quot;down&quot; image file &apos;%1&apos; does not exist.</source>
- <translation>A(z) &apos;%1&apos; szkin &apos;le&apos; kép fájl nem létezik.</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+11"/>
<source>The skin &quot;closed&quot; image file &apos;%1&apos; does not exist.</source>
- <translation>A(z) &apos;%1&apos; szkin &apos;zárt&apos; kép fájl nem létezik.</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+12"/>
<source>The skin cursor image file &apos;%1&apos; does not exist.</source>
- <translation>A(z) &apos;%1&apos; szkin kurzor kép fájl nem létezik.</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+25"/>
<source>Syntax error in area definition: %1</source>
- <translation>Szintakszis hiba a terület definícióban: %1</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+38"/>
<source>Mismatch in number of areas, expected %1, got %2.</source>
- <translation>Rossz párosítás a területek számában, várt %1, kapot %2.</translation>
+ <translation type="unfinished"></translation>
</message>
</context>
<context>
@@ -950,7 +947,7 @@
<location filename="../tools/designer/src/components/formeditor/embeddedoptionspage.cpp" line="+307"/>
<source>&lt;html&gt;&lt;table&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;Font&lt;/b&gt;&lt;/td&gt;&lt;td&gt;%1, %2&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;Style&lt;/b&gt;&lt;/td&gt;&lt;td&gt;%3&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;Resolution&lt;/b&gt;&lt;/td&gt;&lt;td&gt;%4 x %5&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/html&gt;</source>
<extracomment>Format embedded device profile description</extracomment>
- <translation>&lt;html&gt;&lt;table&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;Betű&lt;/b&gt;&lt;/td&gt;&lt;td&gt;%1, %2&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;Stílus&lt;/b&gt;&lt;/td&gt;&lt;td&gt;%3&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;Felbontás&lt;/b&gt;&lt;/td&gt;&lt;td&gt;%4 x %5&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/html&gt;</translation>
+ <translation type="unfinished"></translation>
</message>
</context>
<context>
@@ -959,13 +956,13 @@
<location line="+103"/>
<source>Embedded Design</source>
<extracomment>Tab in preferences dialog</extracomment>
- <translation>Tab a beállítások párbeszéd ablakban</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+10"/>
<source>Device Profiles</source>
<extracomment>EmbeddedOptionsControl group box&quot;</extracomment>
- <translation>BeágyazottOpciókVezérlő csoport doboz&quot;</translation>
+ <translation type="unfinished"></translation>
</message>
</context>
<context>
@@ -973,27 +970,27 @@
<message>
<location filename="../tools/shared/fontpanel/fontpanel.cpp" line="+63"/>
<source>Font</source>
- <translation>Betű</translation>
+ <translation type="unfinished">Betűtípus</translation>
</message>
<message>
<location line="+11"/>
<source>&amp;Writing system</source>
- <translation>Rendszer &amp;írása</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+3"/>
<source>&amp;Family</source>
- <translation>&amp;Család</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+4"/>
<source>&amp;Style</source>
- <translation>&amp;Stílus</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+4"/>
<source>&amp;Point size</source>
- <translation>&amp;Pont méret</translation>
+ <translation type="unfinished"></translation>
</message>
</context>
<context>
@@ -1001,37 +998,37 @@
<message>
<location filename="../tools/designer/src/components/propertyeditor/fontpropertymanager.cpp" line="+62"/>
<source>PreferDefault</source>
- <translation>AlapértelmezettPreferálása</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+1"/>
<source>NoAntialias</source>
- <translation>NincsÁtlapolás</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+1"/>
<source>PreferAntialias</source>
- <translation>ÁtlapolásPreferálása</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+61"/>
<source>Antialiasing</source>
- <translation>Átlapolás</translation>
+ <translation type="unfinished"></translation>
</message>
</context>
<context>
<name>FormBuilder</name>
<message>
- <location filename="../tools/designer/src/lib/uilib/formbuilderextra.cpp" line="+359"/>
+ <location filename="../tools/designer/src/lib/uilib/formbuilderextra.cpp" line="+375"/>
<source>Invalid stretch value for &apos;%1&apos;: &apos;%2&apos;</source>
<extracomment>Parsing layout stretch values</extracomment>
- <translation>Érvénytelen érték kiterjesztés &apos;%1&apos;-re: &apos;%2&apos;</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+62"/>
<source>Invalid minimum size for &apos;%1&apos;: &apos;%2&apos;</source>
<extracomment>Parsing grid layout minimum size values</extracomment>
- <translation>Érvénytelen minimum méret &apos;%1&apos;-re: &apos;%2&apos;</translation>
+ <translation type="unfinished"></translation>
</message>
</context>
<context>
@@ -1039,144 +1036,142 @@
<message>
<location filename="../tools/designer/src/components/formeditor/formeditor_optionspage.cpp" line="+91"/>
<source>%1 %</source>
- <translation>%1 %</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+4"/>
<source>Preview Zoom</source>
- <translation>Zoom előnézet</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+2"/>
<source>Default Zoom</source>
- <translation>Alapértelmezett zoom</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+29"/>
<source>Forms</source>
<extracomment>Tab in preferences dialog</extracomment>
- <translation>Űrlapok</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+13"/>
<source>Default Grid</source>
- <translation>Alapértelmezett rács</translation>
+ <translation type="unfinished"></translation>
</message>
</context>
<context>
<name>FormLayoutRowDialog</name>
<message>
- <location filename="../tools/designer/src/lib/shared/formlayoutrowdialog.ui" line="+6"/>
+ <location filename="../tools/designer/src/lib/shared/formlayoutrowdialog.ui"/>
<source>Add Form Layout Row</source>
- <translatorcomment>нелепица какая-то</translatorcomment>
- <translation>Űrlap szerkezet sor hozzaadása</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+11"/>
+ <location/>
<source>&amp;Label text:</source>
- <translation>&amp;Címke szöveg:</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+23"/>
+ <location/>
<source>Field &amp;type:</source>
- <translation>Mező &amp;típus:</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+20"/>
+ <location/>
<source>&amp;Field name:</source>
- <translation>&amp;Mező név:</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+10"/>
+ <location/>
<source>&amp;Buddy:</source>
- <translation>&amp;Haver:</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+17"/>
+ <location/>
<source>&amp;Row:</source>
- <translation>&amp;Sor:</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+16"/>
+ <location/>
<source>Label &amp;name:</source>
- <translation>Címke &amp;név:</translation>
+ <translation type="unfinished"></translation>
</message>
</context>
<context>
<name>FormWindow</name>
<message>
- <location filename="../tools/designer/src/components/formeditor/formwindow.cpp" line="+1701"/>
+ <location filename="../tools/designer/src/components/formeditor/formwindow.cpp" line="+1754"/>
<source>Unexpected element &lt;%1&gt;</source>
- <translation>Váratlan elem &lt;%1&gt;</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+7"/>
<source>Error while pasting clipboard contents at line %1, column %2: %3</source>
- <translation>Hiba történt a vágólap tartalom beillesztése közben a(z) %1 sorban, %2 oszlopban: %3</translation>
+ <translation type="unfinished"></translation>
</message>
</context>
<context>
<name>FormWindowSettings</name>
<message>
- <location filename="../tools/designer/src/components/formeditor/formwindowsettings.ui" line="+54"/>
+ <location filename="../tools/designer/src/components/formeditor/formwindowsettings.ui"/>
<source>Form Settings</source>
- <translation>Űrlap beállítások</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+14"/>
+ <location/>
<source>Layout &amp;Default</source>
- <translation>&amp;Alapértelmezett elrendezés</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+15"/>
+ <location/>
<source>&amp;Spacing:</source>
- <translation>&amp;Ritkítás:</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+10"/>
+ <location/>
<source>&amp;Margin:</source>
- <translation>&amp;Margó:</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+19"/>
+ <location/>
<source>&amp;Layout Function</source>
- <translation>&amp;Elrendezés függvény
-</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+21"/>
+ <location/>
<source>Ma&amp;rgin:</source>
- <translation>Ma&amp;rgó:</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+10"/>
+ <location/>
<source>Spa&amp;cing:</source>
- <translation>Rit&amp;kítás:</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+117"/>
- <source>&amp;Author</source>
- <translation>&amp;Szerző</translation>
+ <location/>
+ <source>&amp;Pixmap Function</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="-41"/>
+ <location/>
<source>&amp;Include Hints</source>
- <translation>Célzások &amp;beleértése</translation>
- </message>
- <message>
- <location line="-53"/>
- <source>&amp;Pixmap Function</source>
- <translation>&amp;Pixmap függvény</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+71"/>
+ <location/>
<source>Grid</source>
- <translation>Rács</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+7"/>
+ <location/>
<source>Embedded Design</source>
- <translation>Beágyazott terv</translation>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location/>
+ <source>&amp;Author</source>
+ <translation type="unfinished"></translation>
</message>
</context>
<context>
@@ -1184,7 +1179,7 @@
<message>
<location filename="../tools/designer/src/lib/shared/iconselector.cpp" line="+352"/>
<source>All Pixmaps (</source>
- <translation>Az összes Pixmap (</translation>
+ <translation type="unfinished"></translation>
</message>
</context>
<context>
@@ -1193,94 +1188,94 @@
<location filename="../tools/designer/src/components/taskmenu/itemlisteditor.cpp" line="+66"/>
<source>XX Icon Selected off</source>
<extracomment>Sample string to determinate the width for the first column of the list item property browser</extracomment>
- <translation>XX ikon kiválasztásának kikapcsolása</translation>
+ <translation type="unfinished"></translation>
</message>
</context>
<context>
<name>MainWindowBase</name>
<message>
- <location filename="../tools/designer/src/designer/mainwindow.cpp" line="+119"/>
+ <location filename="../tools/designer/src/designer/mainwindow.cpp" line="+121"/>
<source>Main</source>
<extracomment>Not currently used (main tool bar)</extracomment>
- <translation>Fő</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+6"/>
<source>File</source>
- <translation>Fájl</translation>
+ <translation type="unfinished">Fájl</translation>
</message>
<message>
<location line="+1"/>
<source>Edit</source>
- <translation>Szerkesztés</translation>
+ <translation type="unfinished">Szerkesztés</translation>
</message>
<message>
<location line="+1"/>
<source>Tools</source>
- <translation>Eszközök</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+1"/>
<source>Form</source>
- <translation>Űrlap</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+7"/>
<source>Qt Designer</source>
- <translation>Qt Designer</translation>
+ <translation type="unfinished"></translation>
</message>
</context>
<context>
<name>NewForm</name>
<message>
- <location filename="../tools/designer/src/designer/newform.cpp" line="+79"/>
+ <location filename="../tools/designer/src/designer/newform.cpp" line="+78"/>
+ <source>Show this Dialog on Startup</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+1"/>
<source>C&amp;reate</source>
- <translation>&amp;Létrehozás</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+1"/>
<source>Recent</source>
- <translation>Utóbbi</translation>
+ <translation type="unfinished">Előző</translation>
</message>
<message>
- <location line="+32"/>
+ <location line="+3"/>
+ <source>New Form</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+29"/>
<source>&amp;Close</source>
- <translation>&amp;Bezárás</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+3"/>
<source>&amp;Open...</source>
- <translation>&amp;Megnyitás...</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+4"/>
<source>&amp;Recent Forms</source>
- <translation>&amp;Utóbbi űrlapok</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+64"/>
<source>Read error</source>
- <translation>Olvasási hiba</translation>
- </message>
- <message>
- <location line="-100"/>
- <source>New Form</source>
- <translation>Űj űrlap</translation>
- </message>
- <message>
- <location line="-5"/>
- <source>Show this Dialog on Startup</source>
- <translation>Párbeszédablak megjelenítése betöltéskor</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+128"/>
+ <location line="+23"/>
<source>A temporary form file could not be created in %1.</source>
- <translation>Egy átmeneti űrlap fájlt nem sikerült létrehozni %1-ben.</translation>
+ <translation type="unfinished">Az ideiglenes űrlap fájl nem hozható létre a(z) %1 helyen.</translation>
</message>
<message>
<location line="+6"/>
<source>The temporary form file %1 could not be written.</source>
- <translation>A(z) %1 átmeneti űrlap fájlt nem sikerült írni.</translation>
+ <translation type="unfinished">A(z) %1 ideiglenes űrlap fájl nem írható.</translation>
</message>
</context>
<context>
@@ -1288,22 +1283,22 @@
<message>
<location filename="../tools/designer/src/components/objectinspector/objectinspectormodel.cpp" line="+360"/>
<source>Object</source>
- <translation>Objektum</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+1"/>
<source>Class</source>
- <translation>Osztály</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+35"/>
<source>separator</source>
- <translation>Elválasztó</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+98"/>
<source>&lt;noname&gt;</source>
- <translation>&lt;noname&gt;</translation>
+ <translation type="unfinished"></translation>
</message>
</context>
<context>
@@ -1311,68 +1306,66 @@
<message>
<location filename="../tools/designer/src/lib/shared/qdesigner_taskmenu.cpp" line="+158"/>
<source>Change Object Name</source>
- <translation>Objektum nevének megváltoztatása</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+4"/>
<source>Object Name</source>
- <translation>Objektum név</translation>
+ <translation type="unfinished"></translation>
</message>
</context>
<context>
<name>PluginDialog</name>
<message>
- <location filename="../tools/designer/src/lib/shared/plugindialog.ui" line="+54"/>
+ <location filename="../tools/designer/src/lib/shared/plugindialog.ui"/>
<source>Plugin Information</source>
- <translation>Beépülő modul információ</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+26"/>
+ <location/>
<source>1</source>
- <translation>1</translation>
+ <translation type="unfinished"></translation>
</message>
</context>
<context>
<name>PreferencesDialog</name>
<message>
- <location filename="../tools/designer/src/designer/preferencesdialog.ui" line="+20"/>
+ <location filename="../tools/designer/src/designer/preferencesdialog.ui"/>
<source>Preferences</source>
- <translation>Beállítások</translation>
+ <translation type="unfinished"></translation>
</message>
</context>
<context>
<name>PreviewConfigurationWidget</name>
<message>
- <location filename="../tools/designer/src/lib/shared/previewconfigurationwidget.ui" line="+5"/>
+ <location filename="../tools/designer/src/lib/shared/previewconfigurationwidget.ui"/>
<source>Form</source>
- <translation>Űrlap</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+3"/>
+ <location/>
<source>Print/Preview Configuration</source>
- <translation>Nyomtatás/Előnézet konfiguráció</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+9"/>
+ <location/>
<source>Style</source>
- <translation>Stílus</translation>
+ <translation type="unfinished">Stílus</translation>
</message>
<message>
- <location line="+10"/>
+ <location/>
<source>Style sheet</source>
- <translation>Stíluslap</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+19"/>
- <location line="+7"/>
- <location line="+21"/>
+ <location/>
<source>...</source>
- <translation>...</translation>
+ <translation type="unfinished">...</translation>
</message>
<message>
- <location line="-12"/>
+ <location/>
<source>Device skin</source>
- <translation>Eszköz szkin</translation>
+ <translation type="unfinished"></translation>
</message>
</context>
<context>
@@ -1381,7 +1374,7 @@
<location filename="../tools/designer/src/lib/shared/promotionmodel.cpp" line="+112"/>
<source>Not used</source>
<extracomment>Usage of promoted widgets</extracomment>
- <translation>Nincs használva</translation>
+ <translation type="unfinished"></translation>
</message>
</context>
<context>
@@ -1390,7 +1383,7 @@
<location filename="../tools/designer/src/plugins/widgets/q3wizard/q3wizard_container.cpp" line="+172"/>
<location line="+5"/>
<source>Page</source>
- <translation>Lap</translation>
+ <translation type="unfinished"></translation>
</message>
</context>
<context>
@@ -1398,59 +1391,58 @@
<message>
<location filename="../tools/designer/src/lib/uilib/abstractformbuilder.cpp" line="+206"/>
<source>Unexpected element &lt;%1&gt;</source>
- <translation>Váratlan elem &lt;%1&gt;</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+5"/>
<source>An error has occurred while reading the UI file at line %1, column %2: %3</source>
- <translation>Hiba történt az UI fájl olvasása közben a(z) %1 sorban, %2 oszlopban: %3</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+6"/>
<source>Invalid UI file: The root element &lt;ui&gt; is missing.</source>
- <translation>Érvénytelen UI fájl. A rendszergazda elem &lt;ui&gt; hiányzik.</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+119"/>
+ <location line="+104"/>
<source>The creation of a widget of the class &apos;%1&apos; failed.</source>
- <translation>A(z) &apos;%1&apos; osztály egy widget-ének létrehozása nem sikerült.</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+296"/>
<source>Attempt to add child that is not of class QWizardPage to QWizard.</source>
- <translation>Gyermek hozzáadásának megkísérelése QWizard-hoz, amely nem egy QWizardPage osztály.</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+86"/>
<source>Attempt to add a layout to a widget &apos;%1&apos; (%2) which already has a layout of non-box type %3.
This indicates an inconsistency in the ui-file.</source>
- <translation>Egy elrendezés hozzáadásának megprónálás egy &quot;%1&apos; widgethez (%2), melynek már egy %3 típusú nem doboz elrendezése van.
-Ez ellentmondást mutat az ui fájlban.</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+144"/>
<source>Empty widget item in %1 &apos;%2&apos;.</source>
- <translation>Üres widget elem %1-ben &apos;%2&apos;.</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+680"/>
<source>Flags property are not supported yet.</source>
- <translation>Jelző tulajdonság még nem támogatott.</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+81"/>
<source>While applying tab stops: The widget &apos;%1&apos; could not be found.</source>
- <translation>Tab stops alkalmazásakor: A(z) &apos;%1&apos; widget nem található.</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+908"/>
<source>Invalid QButtonGroup reference &apos;%1&apos; referenced by &apos;%2&apos;.</source>
- <translation>Érvénytelen &apos;%1&apos; QButtonGroup hivatkozásra hivatkozik a(z) &apos;%2&apos;.</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+511"/>
<source>This version of the uitools library is linked without script support.</source>
- <translation>Az uitools könyvtár ezen verziója szkript támogatás nélkül linkelt.</translation>
+ <translation type="unfinished"></translation>
</message>
</context>
<context>
@@ -1458,12 +1450,12 @@ Ez ellentmondást mutat az ui fájlban.</translation>
<message>
<location filename="../tools/designer/src/plugins/activeqt/qaxwidgetplugin.cpp" line="+75"/>
<source>ActiveX control</source>
- <translation>ActiveX vezérlő</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+5"/>
<source>ActiveX control widget</source>
- <translation>ActiveX vezérlő widget</translation>
+ <translation type="unfinished"></translation>
</message>
</context>
<context>
@@ -1471,22 +1463,22 @@ Ez ellentmondást mutat az ui fájlban.</translation>
<message>
<location filename="../tools/designer/src/plugins/activeqt/qaxwidgettaskmenu.cpp" line="+119"/>
<source>Set Control</source>
- <translation>Vezérlő beállítása</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+1"/>
<source>Reset Control</source>
- <translation>Vezérlő újraindítása</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+41"/>
<source>Licensed Control</source>
- <translation>Felhatalmazott vezérlő</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+1"/>
<source>The control requires a design-time license</source>
- <translation>A vezérlő egy tervezés idejű felhatalmazást igényel</translation>
+ <translation type="unfinished"></translation>
</message>
</context>
<context>
@@ -1494,70 +1486,68 @@ Ez ellentmondást mutat az ui fájlban.</translation>
<message>
<location filename="../tools/designer/src/lib/shared/qdesigner_promotion.cpp" line="+83"/>
<source>%1 is not a promoted class.</source>
- <translation>%1 nem egy támogatott osztály.</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+65"/>
<source>The base class %1 is invalid.</source>
- <translation>A(z) %1 alap osztály érvénytelen.</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+7"/>
<source>The class %1 already exists.</source>
- <translation>A(z) %1 osztály már létezik.</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+9"/>
<source>Promoted Widgets</source>
- <translation>Támogatott Widget-ek</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+126"/>
<source>The class %1 cannot be removed</source>
- <translation>A(z) %1 osztályt nem lehet eltávolítani</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+9"/>
<source>The class %1 cannot be removed because it is still referenced.</source>
- <translation>A(z) %1 osztályt nem lehet eltávolítani, mert még mindig hivatkozott.</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+10"/>
<source>The class %1 cannot be renamed</source>
- <translation>A(z) %1 osztályt nem lehet átnevezni</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+7"/>
<source>The class %1 cannot be renamed to an empty name.</source>
- <translation>A(z) %1 osztályt nem lehet átnevezni egy üres névűre.</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+5"/>
<source>There is already a class named %1.</source>
- <translation>Már van egy %1 nevű osztály.</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+29"/>
<source>Cannot set an empty include file.</source>
- <translatorcomment>перевод близко к тексту - буквальный совсем глаз режет</translatorcomment>
- <translation>Nem lehet beállítani egy üres bennefoglalt fájlt.</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location filename="../tools/designer/src/lib/uilib/formscriptrunner.cpp" line="+88"/>
<source>Exception at line %1: %2</source>
- <translation>Kivétel a(z) %1 sorban: %2</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+36"/>
<source>Unknown error</source>
- <translation>Ismeretlen hiba</translation>
+ <translation type="unfinished">Ismeretlen hiba</translation>
</message>
<message>
<location line="+50"/>
<source>An error occurred while running the script for %1: %2
Script: %3</source>
- <translation>Hiba történt a szkript futtása közben %1-re: %2
-Szkript: %3</translation>
+ <translation type="unfinished"></translation>
</message>
</context>
<context>
@@ -1565,332 +1555,326 @@ Szkript: %3</translation>
<message>
<location filename="../tools/designer/src/designer/qdesigner.cpp" line="+141"/>
<source>%1 - warning</source>
- <translation>%1 -figyelmeztetés</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+96"/>
<source>Qt Designer</source>
- <translation>Qt Designer</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+1"/>
<source>This application cannot be used for the Console edition of Qt</source>
- <translation>Ezt alkalmazást nem lehet a Qt konzol szerkesztésére használni</translation>
+ <translation type="unfinished"></translation>
</message>
</context>
<context>
<name>QDesignerActions</name>
<message>
- <location filename="../tools/designer/src/designer/qdesigner_actions.cpp" line="+128"/>
+ <location filename="../tools/designer/src/designer/qdesigner_actions.cpp" line="+130"/>
<source>Saved %1.</source>
- <translation>Mentve: %1.</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+50"/>
+ <location line="+26"/>
+ <source>%1 already exists.
+Do you want to replace it?</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+24"/>
<source>Edit Widgets</source>
- <translation>Widget-ek szerkesztése</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+10"/>
+ <location line="+1"/>
+ <source>&amp;New...</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>&amp;Open...</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>&amp;Save</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Save &amp;As...</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Save A&amp;ll</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Save As &amp;Template...</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <location line="+925"/>
+ <source>&amp;Close</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-924"/>
+ <source>Save &amp;Image...</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>&amp;Print...</source>
+ <translation type="unfinished">&amp;Nyomtatás...</translation>
+ </message>
+ <message>
+ <location line="+1"/>
<source>&amp;Quit</source>
- <translation>&amp;Bezárás</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+3"/>
+ <location line="+2"/>
+ <source>View &amp;Code...</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+1"/>
<source>&amp;Minimize</source>
- <translation>&amp;Minimalizálás</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+2"/>
<source>Bring All to Front</source>
- <translation>Az összes előre hozása</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+2"/>
<source>Preferences...</source>
- <translation>Beállítások...</translation>
+ <translation type="unfinished">Beállítások...</translation>
</message>
<message>
- <location line="+298"/>
- <source>Clear &amp;Menu</source>
- <translation>&amp;Menü tisztítása</translation>
+ <location line="+1"/>
+ <source>Additional Fonts...</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="-233"/>
+ <location line="+72"/>
+ <source>ALT+CTRL+S</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+2"/>
<source>CTRL+SHIFT+S</source>
- <translation>CTRL+SHIFT+S</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+113"/>
+ <location line="+127"/>
<source>CTRL+R</source>
- <translation>CTRL+R</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+18"/>
<source>CTRL+M</source>
- <translation>CTRL+M</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+31"/>
<source>Qt Designer &amp;Help</source>
- <translation>Qt Designer &amp;Súgó</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+7"/>
<source>Current Widget Help</source>
- <translation>Aktuális Widget Súgó</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+7"/>
<source>What&apos;s New in Qt Designer?</source>
- <translation>Mi az újdonság a Qt Designer-ben?</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+7"/>
<source>About Plugins</source>
- <translation>Beépülő modulokról</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+6"/>
<location line="+601"/>
<source>About Qt Designer</source>
- <translation>Qt Designer-ről</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="-595"/>
<source>About Qt</source>
- <translation>Qt-ról</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+121"/>
+ <location line="+38"/>
+ <source>Clear &amp;Menu</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+6"/>
+ <source>&amp;Recent Forms</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+77"/>
<location line="+197"/>
<source>Open Form</source>
- <translation>Űrlap megnyitása</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="-196"/>
<location line="+37"/>
<location line="+160"/>
<source>Designer UI files (*.%1);;All Files (*)</source>
- <translation>Designer UI fájlok (*.%1);;Az összes fájl (*)</translation>
- </message>
- <message>
- <location line="-620"/>
- <source>%1 already exists.
-Do you want to replace it?</source>
- <translation>%1 már létezik.
-Le szeretné cserélni?</translation>
- </message>
- <message>
- <location line="+42"/>
- <source>Additional Fonts...</source>
- <translation>További betűk...</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+303"/>
- <source>&amp;Recent Forms</source>
- <translation>&amp;Utóbbi űrlapok</translation>
+ <location line="-160"/>
+ <location line="+248"/>
+ <source>Save Form As</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+202"/>
+ <location line="-161"/>
<source>Designer</source>
- <translation>Designer</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+0"/>
<source>Feature not implemented yet!</source>
- <translation>A tulajdonság még nincs implementálva!</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+59"/>
+ <location line="+15"/>
+ <source>Code generation failed</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+44"/>
<source>Read error</source>
- <translation>Olvasási hiba</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+1"/>
<source>%1
Do you want to update the file location or generate a new form?</source>
- <translation>%1
-Szeretné frissíteni a fájl helyét vagy generálni egy új űrlapot?</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+3"/>
<source>&amp;Update</source>
- <translation>&amp;Frissítés</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+1"/>
<source>&amp;New Form</source>
- <translation>&amp;Új űrlap</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+77"/>
<location line="+40"/>
<source>Save Form?</source>
- <translation>Menti az űrlapot?</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="-39"/>
<source>Could not open file</source>
- <translation>Nem sikerült megnyitni a fájlt</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+10"/>
+ <location line="+4"/>
+ <source>The file %1 could not be opened.
+Reason: %2
+Would you like to retry or select a different file?</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+6"/>
<source>Select New File</source>
- <translation>Új fájl kiválasztása</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+30"/>
<source>Could not write file</source>
- <translation>Nem sikerült írni a fájlt</translation>
- </message>
- <message>
- <location line="+201"/>
- <source>&amp;Close Preview</source>
- <translation>Előnézet &amp;bezárása</translation>
- </message>
- <message>
- <location line="-905"/>
- <source>&amp;New...</source>
- <translation>&amp;Új...</translation>
- </message>
- <message>
- <location line="+1"/>
- <source>&amp;Open...</source>
- <translation>&amp;Megnyitás...</translation>
- </message>
- <message>
- <location line="+1"/>
- <source>&amp;Save</source>
- <translation>&amp;Mentés</translation>
- </message>
- <message>
- <location line="+1"/>
- <source>Save &amp;As...</source>
- <translation>Mentés &amp;másként...</translation>
- </message>
- <message>
- <location line="+1"/>
- <source>Save A&amp;ll</source>
- <translation>Az ö&amp;sszes mentése</translation>
- </message>
- <message>
- <location line="+1"/>
- <source>Save As &amp;Template...</source>
- <translation>Mentés &amp;sablonként...</translation>
- </message>
- <message>
- <location line="+1"/>
- <location line="+901"/>
- <source>&amp;Close</source>
- <translation>&amp;Bezárás</translation>
- </message>
- <message>
- <location line="-900"/>
- <source>Save &amp;Image...</source>
- <translation>&amp;Kép mentése...</translation>
- </message>
- <message>
- <location line="+1"/>
- <source>&amp;Print...</source>
- <translation>&amp;Nyomtatás...</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+3"/>
- <source>View &amp;Code...</source>
- <translation>&amp;Kód nézet...</translation>
- </message>
- <message>
- <location line="+68"/>
- <source>ALT+CTRL+S</source>
- <translation>ALT+CTRL+S</translation>
- </message>
- <message>
- <location line="+356"/>
- <location line="+248"/>
- <source>Save Form As</source>
- <translation>Mentés űrlapként</translation>
- </message>
- <message>
- <location line="+429"/>
- <source>Preview failed</source>
- <translation>Előnézet hiba</translation>
- </message>
- <message>
- <location line="-575"/>
- <source>Code generation failed</source>
- <translation>Kód generálási hiba</translation>
- </message>
- <message>
- <location line="+131"/>
- <source>The file %1 could not be opened.
-Reason: %2
-Would you like to retry or select a different file?</source>
- <translation>Nem sikerült megnyitni a(z) %1 fájlt.
-Ok: %2
-Meg szeretné újra próbálni vagy kiválasztani egy különböző fájlt?</translation>
- </message>
- <message>
- <location line="+39"/>
<source>It was not possible to write the entire file %1 to disk.
Reason:%2
Would you like to retry?</source>
- <translation>Nem lehetett az egész %1 fájlt a lemezre írni.
-Ok: %2
-Meg szeretné próbálni újra?</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+158"/>
<location line="+34"/>
<source>Assistant</source>
- <translation>Assistant</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+47"/>
+ <location line="+6"/>
+ <source>&amp;Close Preview</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+41"/>
<location line="+23"/>
<source>The backup file %1 could not be written.</source>
- <translation>Nem sikerült írni az archivált %1 fájlt.</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+107"/>
<source>The backup directory %1 could not be created.</source>
- <translation>Nem sikerült létrehozni a(z) %1 archivált könyvtárat.</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+6"/>
<source>The temporary backup directory %1 could not be created.</source>
- <translation>Nem sikerült létrehozni az átmeneti archivált %1 könyvtárat.</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+54"/>
+ <location line="+30"/>
+ <source>Preview failed</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+24"/>
<source>Image files (*.%1)</source>
- <translation>Kép fájlok (*.%1)</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+9"/>
<location line="+17"/>
<source>Save Image</source>
- <translation>Kép mentése</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="-4"/>
<source>Saved image %1.</source>
- <translation>Mentett kép: %1.</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+5"/>
<source>The file %1 could not be written.</source>
- <translation>Nem sikerült írni a(z) %1 fájlt.</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+13"/>
<source>Please close all forms to enable the loading of additional fonts.</source>
- <translation>Kérem zárja be az összes űrlapot további betűk betöltéséhez.</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+52"/>
<source>Printed %1.</source>
- <translation>Kinyomtatva: %1.</translation>
+ <translation type="unfinished"></translation>
</message>
</context>
<context>
@@ -1899,7 +1883,7 @@ Meg szeretné próbálni újra?</translation>
<location filename="../tools/designer/src/designer/qdesigner_appearanceoptions.cpp" line="+138"/>
<source>Appearance</source>
<extracomment>Tab in preferences dialog</extracomment>
- <translation>Megjelenés</translation>
+ <translation type="unfinished"></translation>
</message>
</context>
<context>
@@ -1907,17 +1891,17 @@ Meg szeretné próbálni újra?</translation>
<message>
<location line="-53"/>
<source>Docked Window</source>
- <translation>Dokkolt ablak</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+1"/>
<source>Multiple Top-Level Windows</source>
- <translation>Összes felső szintű ablakok</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+5"/>
<source>Toolwindow Font</source>
- <translation>Eszköz ablak betű</translation>
+ <translation type="unfinished"></translation>
</message>
</context>
<context>
@@ -1925,22 +1909,22 @@ Meg szeretné próbálni újra?</translation>
<message>
<location filename="../tools/designer/src/plugins/activeqt/qaxwidgettaskmenu.cpp" line="-71"/>
<source>Reset control</source>
- <translation>Vezérlés újraindítása</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+2"/>
<source>Set control</source>
- <translation>Vezérlés beállítása</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location filename="../tools/designer/src/plugins/activeqt/qdesigneraxwidget.cpp" line="+179"/>
<source>Control loaded</source>
- <translation>Vezérlés betöltve</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+40"/>
<source>A COM exception occurred when executing a meta call of type %1, index %2 of &quot;%3&quot;.</source>
- <translation>Egy COM kivétel történt a(z) %1 típusú meta hívás végrehajtása közben, &apos;%3&apos; %2 indexe.</translation>
+ <translation type="unfinished"></translation>
</message>
</context>
<context>
@@ -1948,17 +1932,17 @@ Meg szeretné próbálni újra?</translation>
<message>
<location filename="../tools/designer/src/lib/shared/qdesigner_formbuilder.cpp" line="+89"/>
<source>Script errors occurred:</source>
- <translation>Szkript hiba történt:</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+307"/>
<source>The preview failed to build.</source>
- <translation>Nem sikerült az előnézetet felépíteni.</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+65"/>
<source>Designer</source>
- <translation>Designer</translation>
+ <translation type="unfinished"></translation>
</message>
</context>
<context>
@@ -1966,61 +1950,61 @@ Meg szeretné próbálni újra?</translation>
<message>
<location filename="../tools/designer/src/designer/qdesigner_formwindow.cpp" line="+217"/>
<source>%1 - %2[*]</source>
- <translation>%1 - %2[*]</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+10"/>
<source>Save Form?</source>
- <translation>Űrlap mentése?</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+1"/>
<source>Do you want to save the changes to this document before closing?</source>
- <translation>El szeretné menteni a változtatásokat ebbe a dokumentumba a bezárás előtt?</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+2"/>
<source>If you don&apos;t save, your changes will be lost.</source>
- <translation>Ha nem menti el, a változtatásai el fognak veszni.</translation>
+ <translation type="unfinished"></translation>
</message>
</context>
<context>
<name>QDesignerMenu</name>
<message>
- <location filename="../tools/designer/src/lib/shared/qdesigner_menu.cpp" line="-1181"/>
+ <location filename="../tools/designer/src/lib/shared/qdesigner_menu.cpp" line="-1179"/>
<source>Type Here</source>
- <translation>Gépelje be ide</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+3"/>
<source>Add Separator</source>
- <translation>Elválasztó hozzáadása</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+371"/>
<source>Insert separator</source>
- <translation>Elválasztó beszúrása</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+5"/>
<source>Remove separator</source>
- <translation>Elválasztó eltávolítása</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+2"/>
<source>Remove action &apos;%1&apos;</source>
- <translation>&apos;%1&apos; tevékenység eltávolítása</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+25"/>
- <location line="+650"/>
+ <location line="+648"/>
<source>Add separator</source>
- <translation>Elválasztó hozzáadása</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="-348"/>
<source>Insert action</source>
- <translation>Tevékenység beszúrása</translation>
+ <translation type="unfinished"></translation>
</message>
</context>
<context>
@@ -2028,22 +2012,22 @@ Meg szeretné próbálni újra?</translation>
<message>
<location filename="../tools/designer/src/lib/shared/qdesigner_menubar.cpp" line="-375"/>
<source>Type Here</source>
- <translation>Gépelje be ide</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+298"/>
<source>Remove Menu &apos;%1&apos;</source>
- <translation>&apos;%1&apos; menü eltávolítása</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+12"/>
<source>Remove Menu Bar</source>
- <translation>Menü sáv eltávolítása</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+70"/>
<source>Menu</source>
- <translation>Menü</translation>
+ <translation type="unfinished">Menü</translation>
</message>
</context>
<context>
@@ -2051,45 +2035,45 @@ Meg szeretné próbálni újra?</translation>
<message>
<location filename="../tools/designer/src/lib/shared/pluginmanager.cpp" line="+271"/>
<source>An XML error was encountered when parsing the XML of the custom widget %1: %2</source>
- <translation>Egy XML hiba történt az egyéni %1 widget XML-ének elemzése közben: %2</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+5"/>
<source>A required attribute (&apos;%1&apos;) is missing.</source>
- <translation>Egy szükséges attribútum (&apos;%1&apos;) hiányzik.</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+38"/>
<source>An invalid property specification (&apos;%1&apos;) was encountered. Supported types: %2</source>
- <translation>Egy érvénytelen tulajdonság specifikációt (&apos;%1&apos;) talált. Támogatott típusok: %2</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+20"/>
<source>&apos;%1&apos; is not a valid string property specification.</source>
- <translation>&apos;%1&apos; nem egy érvényes sztring tulajdonság specifikáció.</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+40"/>
<source>The XML of the custom widget %1 does not contain any of the elements &lt;widget&gt; or &lt;ui&gt;.</source>
- <translation>Az egyéni %1 widget XML-je nem tartalmaz semmilyen elemet &lt;widget&gt; vagy &lt;ui&gt;.</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+12"/>
<source>The class attribute for the class %1 is missing.</source>
- <translation>Az osztály attribútum %1 osztályra hiányzik.</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+4"/>
<source>The class attribute for the class %1 does not match the class name %2.</source>
- <translation>Az osztály attribútum %1 osztályra nem egyezik meg a(z) %2 osztály nevével.</translation>
+ <translation type="unfinished"></translation>
</message>
</context>
<context>
<name>QDesignerPropertySheet</name>
<message>
- <location filename="../tools/designer/src/lib/shared/qdesigner_propertysheet.cpp" line="+754"/>
+ <location filename="../tools/designer/src/lib/shared/qdesigner_propertysheet.cpp" line="+758"/>
<source>Dynamic Properties</source>
- <translation>Dinamikus tulajdonságok</translation>
+ <translation type="unfinished"></translation>
</message>
</context>
<context>
@@ -2097,32 +2081,31 @@ Meg szeretné próbálni újra?</translation>
<message>
<location filename="../tools/designer/src/components/formeditor/qdesigner_resource.cpp" line="+461"/>
<source>The layout type &apos;%1&apos; is not supported, defaulting to grid.</source>
- <translation>A(z) &apos;%1&apos; elrendezés típus nem támogatott, alapértelmezett rács.</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+243"/>
+ <location line="+239"/>
<source>The container extension of the widget &apos;%1&apos; (%2) returned a widget not managed by Designer &apos;%3&apos; (%4) when queried for page #%5.
Container pages should only be added by specifying them in XML returned by the domXml() method of the custom widget.</source>
- <translation>A(z) &apos;%1&apos; (%2) widget konténer kiterjesztése egy olyan widget-et adott vissza, amelyet a(z) &apos;%3&apos; (%4) Designer nem kezel, %5 lap lekéréskor.
-Konténer lapokat XML-ben való specifikációjuk által kellene hozzáadni, az egyéni widget domXML() eljárása által.</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+599"/>
+ <location line="+545"/>
<source>Unexpected element &lt;%1&gt;</source>
<extracomment>Parsing clipboard contents</extracomment>
- <translation>Váratlan elem &lt;%1&gt;</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+6"/>
<source>Error while pasting clipboard contents at line %1, column %2: %3</source>
<extracomment>Parsing clipboard contents</extracomment>
- <translation>Hiba történt a vágólap tartalmának beillesztése közben a(z) %1 sorban, %2 oszlopban: %3</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+6"/>
<source>Error while pasting clipboard contents: The root element &lt;ui&gt; is missing.</source>
<extracomment>Parsing clipboard contents</extracomment>
- <translation>Hiba történt a vágólap tartalmának beillesztése közben. A rendszergazda elem &lt;ui&gt; hiányzik.</translation>
+ <translation type="unfinished"></translation>
</message>
</context>
<context>
@@ -2130,12 +2113,12 @@ Konténer lapokat XML-ben való specifikációjuk által kellene hozzáadni, az
<message>
<location filename="../tools/designer/src/lib/shared/shared_settings.cpp" line="+83"/>
<source>The template path %1 could not be created.</source>
- <translation>Nem sikerült létrehozni a(z) %1 sablon útvonalat.</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+184"/>
<source>An error has been encountered while parsing device profile XML: %1</source>
- <translation>Hiba történt az eszköz profil %1 XML elemzése közben</translation>
+ <translation type="unfinished"></translation>
</message>
</context>
<context>
@@ -2143,32 +2126,32 @@ Konténer lapokat XML-ben való specifikációjuk által kellene hozzáadni, az
<message>
<location filename="../tools/designer/src/designer/qdesigner_toolwindow.cpp" line="+190"/>
<source>Property Editor</source>
- <translation>Tulajdonság szerkesztő</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+54"/>
<source>Action Editor</source>
- <translation>Tevékenység szerkesztő</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+42"/>
<source>Object Inspector</source>
- <translation>Objektum felügyelő</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+35"/>
<source>Resource Browser</source>
- <translation>Erőforrás böngésző</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+34"/>
<source>Signal/Slot Editor</source>
- <translation>Jel/Szlot szerkesztő</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+41"/>
<source>Widget Box</source>
- <translation>Widget doboz</translation>
+ <translation type="unfinished"></translation>
</message>
</context>
<context>
@@ -2176,143 +2159,153 @@ Konténer lapokat XML-ben való specifikációjuk által kellene hozzáadni, az
<message>
<location filename="../tools/designer/src/designer/qdesigner_workbench.cpp" line="+199"/>
<source>&amp;File</source>
- <translation>&amp;Fájl</translation>
+ <translation type="unfinished">&amp;Fájl</translation>
</message>
<message>
- <location line="+6"/>
+ <location line="+2"/>
+ <source>Edit</source>
+ <translation type="unfinished">Szerkesztés</translation>
+ </message>
+ <message>
+ <location line="+4"/>
<source>F&amp;orm</source>
- <translation>&amp;Űrlap</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+1"/>
<source>Preview in</source>
- <translation>Előnézetben</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+8"/>
+ <location line="+4"/>
+ <source>&amp;View</source>
+ <translation type="unfinished">&amp;Nézet</translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>&amp;Settings</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+2"/>
<source>&amp;Window</source>
- <translation>&amp;Ablak</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+2"/>
<source>&amp;Help</source>
- <translation>&amp;Súgó</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="-15"/>
- <source>Edit</source>
- <translation>Szerkesztés</translation>
+ <location line="+23"/>
+ <source>Toolbars</source>
+ <translation type="unfinished">Eszköztárak</translation>
</message>
<message>
- <location line="+38"/>
- <source>Toolbars</source>
- <translation>Eszközsávok</translation>
+ <location line="+177"/>
+ <source>Widget Box</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+465"/>
+ <location line="+289"/>
<source>Save Forms?</source>
- <translation>Űrlap mentése?</translation>
+ <translation type="unfinished"></translation>
</message>
<message numerus="yes">
<location line="+1"/>
<source>There are %n forms with unsaved changes. Do you want to review these changes before quitting?</source>
- <translation>
- <numerusform>%n űrlapban vannak el nem mentett változtatások. Át szeretné tekintei ezeket a változtatásokat a kilépés előtt?</numerusform>
+ <translation type="unfinished">
+ <numerusform></numerusform>
</translation>
</message>
<message>
- <location line="-495"/>
- <source>&amp;View</source>
- <translation>&amp;Nézet</translation>
- </message>
- <message>
- <location line="+2"/>
- <source>&amp;Settings</source>
- <translation>&amp;Beállítások</translation>
- </message>
- <message>
- <location line="+204"/>
- <source>Widget Box</source>
- <translation>Widget doboz</translation>
- </message>
- <message>
- <location line="+292"/>
+ <location line="+3"/>
<source>If you do not review your documents, all your changes will be lost.</source>
- <translation>Ha nem tekinti át újra a dokumentumokat, az összes változtatása el fog veszni.</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+1"/>
<source>Discard Changes</source>
- <translation>Változtatások eldobása</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+2"/>
<source>Review Changes</source>
- <translation>Változtatások áttekintése</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+95"/>
<source>Backup Information</source>
- <translation>Archiválási információ</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+1"/>
<source>The last session of Designer was not terminated correctly. Backup files were left behind. Do you want to load them?</source>
- <translation>A Designer utolsó szakasza nem megfelelően állt le. Archivált fájlok hagyott maga után. Be szeretné tölteni őket?</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+111"/>
<source>The file &lt;b&gt;%1&lt;/b&gt; could not be opened.</source>
- <translation>A(z) &lt;b&gt;%1&lt;/b&gt; fájlt nem sikerült megnyitni.</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+46"/>
<source>The file &lt;b&gt;%1&lt;/b&gt; is not a valid Designer UI file.</source>
- <translation>A(z) &lt;b&gt;%1&lt;/b&gt; fájl nem egy érvényes Designer UI fájl.</translation>
+ <translation type="unfinished"></translation>
</message>
</context>
<context>
<name>QFormBuilder</name>
<message>
- <location filename="../tools/designer/src/lib/uilib/formbuilder.cpp" line="+163"/>
+ <location filename="../tools/designer/src/lib/uilib/formbuilder.cpp" line="+168"/>
<source>An empty class name was passed on to %1 (object name: &apos;%2&apos;).</source>
<extracomment>Empty class name passed to widget factory method</extracomment>
- <translation>Egy üres osztály név volt %1-ra (objektum név: &apos;%2&apos;).</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+56"/>
<source>QFormBuilder was unable to create a custom widget of the class &apos;%1&apos;; defaulting to base class &apos;%2&apos;.</source>
- <translation>QFormBuilder-nek nem sikerült létrehozni egy &apos;%1&apos; osztály egyéni widget-et, alapértelmezés a(z) &apos;%2&apos; alap osztályra.</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+6"/>
<source>QFormBuilder was unable to create a widget of the class &apos;%1&apos;.</source>
- <translation>QFormBuilder-nak nem sikerült létrehoznia egy &apos;%1&apos; osztály widget-et.</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+61"/>
<source>The layout type `%1&apos; is not supported.</source>
- <translation>A(z) &apos;%1&apos; elrendezés terv nem támogatott.</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location filename="../tools/designer/src/lib/uilib/properties.cpp" line="+106"/>
<source>The set-type property %1 could not be read.</source>
- <translation>Nem sikerült olvasni a(z) %1 beállított típusú tulajdonságot.</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+23"/>
<source>The enumeration-type property %1 could not be read.</source>
- <translation>A(z) %1 felsorolási típus tulajdonságot nem sikerült olvasni.</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+190"/>
<source>Reading properties of the type %1 is not supported yet.</source>
- <translation>&apos;%1&apos; típus tulajdonságok olvasása még nem támogatott.</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+266"/>
<source>The property %1 could not be written. The type %2 is not supported yet.</source>
- <translation>A(z) %1 tulajdonságot nem sikerült írni. A(z) %2 típus nem támogatott még.</translation>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/uilib/properties_p.h" line="+132"/>
+ <source>The enumeration-value &apos;%1&apos; is invalid. The default value &apos;%2&apos; will be used instead.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+14"/>
+ <source>The flag-value &apos;%1&apos; is invalid. Zero will be used instead.</source>
+ <translation type="unfinished"></translation>
</message>
</context>
<context>
@@ -2320,48 +2313,48 @@ Konténer lapokat XML-ben való specifikációjuk által kellene hozzáadni, az
<message>
<location filename="../tools/designer/src/lib/shared/qdesigner_stackedbox.cpp" line="+194"/>
<source>Previous Page</source>
- <translation>Előző lap</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+1"/>
<source>Next Page</source>
- <translation>Következő lap</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+1"/>
<source>Delete</source>
- <translation>Törlés</translation>
+ <translation type="unfinished">Törlés</translation>
</message>
<message>
<location line="+1"/>
<source>Before Current Page</source>
- <translation>Aktuális lap előtt</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+1"/>
<source>After Current Page</source>
- <translation>Aktuális lap után</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+1"/>
<source>Change Page Order...</source>
- <translation>Lap sorrend megváltoztatása...</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+72"/>
<source>Change Page Order</source>
- <translation>Lap sorrend megváltoztatása</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+49"/>
<source>Page %1 of %2</source>
- <translation>%2 %1 lapja</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+10"/>
<location line="+4"/>
<source>Insert Page</source>
- <translation>Lap beszúrása</translation>
+ <translation type="unfinished"></translation>
</message>
</context>
<context>
@@ -2369,12 +2362,12 @@ Konténer lapokat XML-ben való specifikációjuk által kellene hozzáadni, az
<message>
<location line="-153"/>
<source>Go to previous page of %1 &apos;%2&apos; (%3/%4).</source>
- <translation>Ugrás a(z) %1 &apos;%2&apos; (%3/%4) előző lapjára.</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+4"/>
<source>Go to next page of %1 &apos;%2&apos; (%3/%4).</source>
- <translation>Ugrás a(z) %1 &apos;%2&apos; (%3/%4) következő lapjára.</translation>
+ <translation type="unfinished"></translation>
</message>
</context>
<context>
@@ -2382,28 +2375,28 @@ Konténer lapokat XML-ben való specifikációjuk által kellene hozzáadni, az
<message>
<location filename="../tools/designer/src/lib/shared/qdesigner_tabwidget.cpp" line="+89"/>
<source>Delete</source>
- <translation>Törlés</translation>
+ <translation type="unfinished">Törlés</translation>
</message>
<message>
<location line="+1"/>
<source>Before Current Page</source>
- <translation>Aktuális lap előtt</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+1"/>
<source>After Current Page</source>
- <translation>Aktuális lap után</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+283"/>
<source>Page %1 of %2</source>
- <translation>%2 %1 lapja</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+10"/>
<location line="+4"/>
<source>Insert Page</source>
- <translation>Lap beszúrása</translation>
+ <translation type="unfinished"></translation>
</message>
</context>
<context>
@@ -2411,74 +2404,74 @@ Konténer lapokat XML-ben való specifikációjuk által kellene hozzáadni, az
<message>
<location filename="../tools/designer/src/lib/shared/qdesigner_toolbox.cpp" line="+64"/>
<source>Delete Page</source>
- <translation>Lap törlése</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+1"/>
<source>Before Current Page</source>
- <translation>Aktuális lap előtt</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+1"/>
<source>After Current Page</source>
- <translation>Aktuális lap után</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+1"/>
<source>Change Page Order...</source>
- <translation>Lap sorrend megváltoztatása...</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+116"/>
<source>Change Page Order</source>
- <translation>Lap sorrend megváltoztatása</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+44"/>
<source>Page %1 of %2</source>
- <translation>%2 %1 lapja</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+12"/>
<source>Insert Page</source>
- <translation>Lap beszúrása</translation>
+ <translation type="unfinished"></translation>
</message>
</context>
<context>
<name>QtBoolEdit</name>
<message>
- <location filename="../tools/shared/qtpropertybrowser/qtpropertybrowserutils.cpp" line="+226"/>
+ <location filename="../tools/shared/qtpropertybrowser/qtpropertybrowserutils.cpp" line="+255"/>
<location line="+10"/>
<location line="+25"/>
<source>True</source>
- <translation>Igaz</translation>
+ <translation type="unfinished">Igaz</translation>
</message>
<message>
<location line="-25"/>
<location line="+25"/>
<source>False</source>
- <translation>Hamis</translation>
+ <translation type="unfinished">Hamis</translation>
</message>
</context>
<context>
<name>QtBoolPropertyManager</name>
<message>
- <location filename="../tools/shared/qtpropertybrowser/qtpropertymanager.cpp" line="+1469"/>
+ <location filename="../tools/shared/qtpropertybrowser/qtpropertymanager.cpp" line="+1507"/>
<source>True</source>
- <translation>Igaz</translation>
+ <translation type="unfinished">Igaz</translation>
</message>
<message>
<location line="+1"/>
<source>False</source>
- <translation>Hamis</translation>
+ <translation type="unfinished">Hamis</translation>
</message>
</context>
<context>
<name>QtCharEdit</name>
<message>
- <location filename="../tools/shared/qtpropertybrowser/qteditorfactory.cpp" line="+1581"/>
+ <location filename="../tools/shared/qtpropertybrowser/qteditorfactory.cpp" line="+1584"/>
<source>Clear Char</source>
- <translation>Karakter ürítése</translation>
+ <translation type="unfinished"></translation>
</message>
</context>
<context>
@@ -2486,128 +2479,128 @@ Konténer lapokat XML-ben való specifikációjuk által kellene hozzáadni, az
<message>
<location line="+605"/>
<source>...</source>
- <translation>...</translation>
+ <translation type="unfinished">...</translation>
</message>
</context>
<context>
<name>QtColorPropertyManager</name>
<message>
- <location filename="../tools/shared/qtpropertybrowser/qtpropertymanager.cpp" line="+4743"/>
+ <location filename="../tools/shared/qtpropertybrowser/qtpropertymanager.cpp" line="+4718"/>
<source>Red</source>
- <translation>Piros</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+8"/>
<source>Green</source>
- <translation>Zöld</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+8"/>
<source>Blue</source>
- <translation>Kék</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+8"/>
<source>Alpha</source>
- <translation>Alfa</translation>
+ <translation type="unfinished"></translation>
</message>
</context>
<context>
<name>QtCursorDatabase</name>
<message>
- <location filename="../tools/shared/qtpropertybrowser/qtpropertybrowserutils.cpp" line="-206"/>
+ <location filename="../tools/shared/qtpropertybrowser/qtpropertybrowserutils.cpp" line="-234"/>
<source>Arrow</source>
- <translation>Nyíl</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+2"/>
<source>Up Arrow</source>
- <translation>Felfele nyíl</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+2"/>
<source>Cross</source>
- <translation>Kereszt</translation>
+ <translation type="unfinished">Kereszt</translation>
</message>
<message>
<location line="+2"/>
<source>Wait</source>
- <translation>Várakozás</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+2"/>
<source>IBeam</source>
- <translation>IBeam</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+2"/>
<source>Size Vertical</source>
- <translation>Vertikális méret</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+2"/>
<source>Size Horizontal</source>
- <translation>Horizontális méret</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+2"/>
<source>Size Backslash</source>
- <translation>Visszaper méret</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+2"/>
<source>Size Slash</source>
- <translation>Per méret</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+2"/>
<source>Size All</source>
- <translation>Az összes méret</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+2"/>
<source>Blank</source>
- <translation>Üres</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+2"/>
<source>Split Vertical</source>
- <translation>Vertikális feldarabolás</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+2"/>
<source>Split Horizontal</source>
- <translation>Horizontális feldarabolás</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+2"/>
<source>Pointing Hand</source>
- <translation>Mutató kéz</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+2"/>
<source>Forbidden</source>
- <translation>Tiltott</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+2"/>
<source>Open Hand</source>
- <translation>Nyitott kéz</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+2"/>
<source>Closed Hand</source>
- <translation>Zárt kéz</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+2"/>
<source>What&apos;s This</source>
- <translation>Mi ez</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+2"/>
<source>Busy</source>
- <translation>Elfoglalt</translation>
+ <translation type="unfinished"></translation>
</message>
</context>
<context>
@@ -2615,12 +2608,12 @@ Konténer lapokat XML-ben való specifikációjuk által kellene hozzáadni, az
<message>
<location filename="../tools/shared/qtpropertybrowser/qteditorfactory.cpp" line="+198"/>
<source>...</source>
- <translation>...</translation>
+ <translation type="unfinished">...</translation>
</message>
<message>
<location line="+20"/>
<source>Select Font</source>
- <translation>Betű kiválasztása</translation>
+ <translation type="unfinished"></translation>
</message>
</context>
<context>
@@ -2628,45 +2621,45 @@ Konténer lapokat XML-ben való specifikációjuk által kellene hozzáadni, az
<message>
<location filename="../tools/shared/qtpropertybrowser/qtpropertymanager.cpp" line="-351"/>
<source>Family</source>
- <translation>Család</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+13"/>
<source>Point Size</source>
- <translation>Pont méret</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+8"/>
<source>Bold</source>
- <translation>Félkövér</translation>
+ <translation type="unfinished">Félkövér</translation>
</message>
<message>
<location line="+7"/>
<source>Italic</source>
- <translation>Dőlt</translation>
+ <translation type="unfinished">Dőlt</translation>
</message>
<message>
<location line="+7"/>
<source>Underline</source>
- <translation>Aláhúzás</translation>
+ <translation type="unfinished">Aláhúzott</translation>
</message>
<message>
<location line="+7"/>
<source>Strikeout</source>
- <translation>Kitalálás</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+7"/>
<source>Kerning</source>
- <translation>Szóközökkel feltöltés</translation>
+ <translation type="unfinished"></translation>
</message>
</context>
<context>
<name>QtGradientDialog</name>
<message>
- <location filename="../tools/shared/qtgradienteditor/qtgradientdialog.ui" line="+53"/>
+ <location filename="../tools/shared/qtgradienteditor/qtgradientdialog.ui"/>
<source>Edit Gradient</source>
- <translation>Meredekség szerkesztése</translation>
+ <translation type="unfinished"></translation>
</message>
</context>
<context>
@@ -2674,316 +2667,304 @@ Konténer lapokat XML-ben való specifikációjuk által kellene hozzáadni, az
<message>
<location filename="../tools/shared/qtgradienteditor/qtgradienteditor.cpp" line="+431"/>
<source>Start X</source>
- <translation>X indítása</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+4"/>
<source>Start Y</source>
- <translation>Y indítása</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+4"/>
<source>Final X</source>
- <translation>Végső X</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+4"/>
<source>Final Y</source>
- <translation>Végső Y</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+7"/>
<location line="+24"/>
<source>Central X</source>
- <translation>X középpont</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="-20"/>
<location line="+24"/>
<source>Central Y</source>
- <translation>Y középpont</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="-20"/>
<source>Focal X</source>
- <translation>X gyújtópont</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+4"/>
<source>Focal Y</source>
- <translation>Y gyújtópont</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+4"/>
<source>Radius</source>
- <translation>Sugár</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+16"/>
<source>Angle</source>
- <translation>Szög</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+288"/>
<source>Linear</source>
- <translation>Lineáris</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+1"/>
<source>Radial</source>
- <translation>Sugárirányú</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+1"/>
<source>Conical</source>
- <translation>Kúp alakú</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+20"/>
<source>Pad</source>
- <translation>Lyuk</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+1"/>
<source>Repeat</source>
- <translation>Megismétlés</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+1"/>
<source>Reflect</source>
- <translation>Prizma</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../tools/shared/qtgradienteditor/qtgradienteditor.ui" line="+53"/>
+ <location filename="../tools/shared/qtgradienteditor/qtgradienteditor.ui"/>
<source>Form</source>
- <translation>Űrlap</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+48"/>
+ <location/>
<source>Gradient Editor</source>
- <translation>Meredekség szerkesztő</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+3"/>
+ <location/>
<source>This area shows a preview of the gradient being edited. It also allows you to edit parameters specific to the gradient&apos;s type such as start and final point, radius, etc. by drag &amp; drop.</source>
- <translation>Ez a mező jeleníti meg a meredekség egy előzetének szerkesztését. Ez engedélyezi a meredekség típusához tartozó paraméter specifikus dolgok szerkesztését, mint a kezdő és végpont, sugár, stb. a fogd &amp; vidd módszerrel.</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+16"/>
+ <location/>
<source>1</source>
- <translation>1</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+35"/>
+ <location/>
<source>2</source>
- <translation>2</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+35"/>
+ <location/>
<source>3</source>
- <translation>3</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+35"/>
+ <location/>
<source>4</source>
- <translation>4</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+35"/>
+ <location/>
<source>5</source>
- <translation>5</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+35"/>
+ <location/>
<source>Gradient Stops Editor</source>
- <translation>Meredekség leállítás szerkesztő</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+3"/>
+ <location/>
<source>This area allows you to edit gradient stops. Double click on the existing stop handle to duplicate it. Double click outside of the existing stop handles to create a new stop. Drag &amp; drop the handle to reposition it. Use right mouse button to popup context menu with extra actions.</source>
- <translation>Ez a mező engedélyezi a meredekség leállításának szerkesztését.Dupla kattintás a létező leállítás kezelőn duplikálja ezt. Dupla kattintás a létező leállítás kezelőn kívül létrehoz egy új leállítást. Fogd &amp; vidd az újrapozíciónálo kezelőt. Használja a jobb egér gombot a felugró menü összefüggéshez extra tevékenységekkel.</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+13"/>
+ <location/>
<source>Zoom</source>
- <translation>Zoom</translation>
+ <translation type="unfinished">Nagyítás</translation>
</message>
<message>
- <location line="+19"/>
- <location line="+3"/>
+ <location/>
<source>Reset Zoom</source>
- <translation>Újraindítás zoom</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+13"/>
+ <location/>
<source>Position</source>
- <translation>Pozíció</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+19"/>
- <location line="+49"/>
- <location line="+22"/>
+ <location/>
<source>Hue</source>
- <translation>Színárnyalat</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="-68"/>
+ <location/>
<source>H</source>
- <translation>H</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+87"/>
- <location line="+49"/>
+ <location/>
<source>Saturation</source>
- <translation>Telítettség</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="-46"/>
+ <location/>
<source>S</source>
- <translation>S</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+68"/>
+ <location/>
<source>Sat</source>
- <translation>Sat</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+19"/>
- <location line="+49"/>
+ <location/>
<source>Value</source>
- <translation>Érték</translation>
+ <translation type="unfinished">Érték</translation>
</message>
<message>
- <location line="-46"/>
+ <location/>
<source>V</source>
- <translation>V</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+68"/>
+ <location/>
<source>Val</source>
- <translation>Val</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+19"/>
- <location line="+49"/>
- <location line="+22"/>
+ <location/>
<source>Alpha</source>
- <translation>Alfa</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="-68"/>
+ <location/>
<source>A</source>
- <translation>A</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+81"/>
+ <location/>
<source>Type</source>
- <translation>Típus</translation>
+ <translation type="unfinished">Típus</translation>
</message>
<message>
- <location line="+13"/>
+ <location/>
<source>Spread</source>
- <translation>Kiterjedés</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+19"/>
+ <location/>
<source>Color</source>
- <translation>Szín</translation>
+ <translation type="unfinished">Szín</translation>
</message>
<message>
- <location line="+13"/>
+ <location/>
<source>Current stop&apos;s color</source>
- <translation>Aktuális leállítás színe</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+22"/>
+ <location/>
<source>Show HSV specification</source>
- <translation>HSV specifikáció megjelenítése</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+3"/>
+ <location/>
<source>HSV</source>
- <translation>HSV</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+22"/>
+ <location/>
<source>Show RGB specification</source>
- <translation>RGB specifikáció megjelenítése</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+3"/>
+ <location/>
<source>RGB</source>
- <translation>RGB</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+28"/>
+ <location/>
<source>Current stop&apos;s position</source>
- <translation>Aktuális leállítás pozíciója</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+188"/>
+ <location/>
<source>%</source>
- <translation>%</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+111"/>
+ <location/>
<source>Zoom In</source>
- <translation>Nagyítás</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+7"/>
+ <location/>
<source>Zoom Out</source>
- <translation>Kicsinyítés</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+35"/>
+ <location/>
<source>Toggle details extension</source>
- <translation>Részlet kiterjesztések kapcsolgatása</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+3"/>
+ <location/>
<source>&gt;</source>
- <translation>&gt;</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+19"/>
+ <location/>
<source>Linear Type</source>
- <translation>Lineáris típus</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+3"/>
- <location line="+22"/>
- <location line="+22"/>
- <location line="+22"/>
- <location line="+22"/>
- <location line="+22"/>
+ <location/>
<source>...</source>
- <translation>...</translation>
+ <translation type="unfinished">...</translation>
</message>
<message>
- <location line="-91"/>
+ <location/>
<source>Radial Type</source>
- <translation>Sugárirányú típus</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+22"/>
+ <location/>
<source>Conical Type</source>
- <translation>Kúp alakú típus</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+22"/>
+ <location/>
<source>Pad Spread</source>
- <translation>Lyuk kiterjedés</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+22"/>
+ <location/>
<source>Repeat Spread</source>
- <translation>Ismétlési kiterjedés</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+22"/>
+ <location/>
<source>Reflect Spread</source>
- <translation>Prizma kiterjedés</translation>
+ <translation type="unfinished"></translation>
</message>
</context>
<context>
@@ -2991,37 +2972,37 @@ Konténer lapokat XML-ben való specifikációjuk által kellene hozzáadni, az
<message>
<location filename="../tools/shared/qtgradienteditor/qtgradientstopswidget.cpp" line="+947"/>
<source>New Stop</source>
- <translation>Új leállítás</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+1"/>
<source>Delete</source>
- <translation>Törlés</translation>
+ <translation type="unfinished">Törlés</translation>
</message>
<message>
<location line="+1"/>
<source>Flip All</source>
- <translation>Az összes feldobása</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+1"/>
<source>Select All</source>
- <translation>Az összes kiválasztása</translation>
+ <translation type="unfinished">Összes kijelölése</translation>
</message>
<message>
<location line="+1"/>
<source>Zoom In</source>
- <translation>Nagyítás</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+1"/>
<source>Zoom Out</source>
- <translation>Kicsinyítés</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+1"/>
<source>Reset Zoom</source>
- <translation>Zoom újraindítása</translation>
+ <translation type="unfinished"></translation>
</message>
</context>
<context>
@@ -3029,62 +3010,63 @@ Konténer lapokat XML-ben való specifikációjuk által kellene hozzáadni, az
<message>
<location filename="../tools/shared/qtgradienteditor/qtgradientview.cpp" line="+107"/>
<source>Grad</source>
- <translation>Diplomás</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+26"/>
<source>Remove Gradient</source>
- <translation>Meredekség eltávolítása</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+1"/>
<source>Are you sure you want to remove the selected gradient?</source>
- <translation>El szeretné távolítani a kiválasztott meredekséget?</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../tools/shared/qtgradienteditor/qtgradientview.ui" line="+39"/>
+ <location filename="../tools/shared/qtgradienteditor/qtgradientview.ui"/>
<location filename="../tools/shared/qtgradienteditor/qtgradientview.cpp" line="+74"/>
<source>New...</source>
- <translation>Új...</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+19"/>
+ <location/>
<location filename="../tools/shared/qtgradienteditor/qtgradientview.cpp" line="+1"/>
<source>Edit...</source>
- <translation>Szerkesztés...</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+19"/>
+ <location/>
<location filename="../tools/shared/qtgradienteditor/qtgradientview.cpp" line="+1"/>
<source>Rename</source>
- <translation>Átnevezés</translation>
+ <translation type="unfinished">Átnevezés</translation>
</message>
<message>
- <location line="+19"/>
+ <location/>
<location filename="../tools/shared/qtgradienteditor/qtgradientview.cpp" line="+1"/>
<source>Remove</source>
- <translation>Eltávolítás</translation>
+ <translation type="unfinished">Törlés</translation>
</message>
<message>
- <location line="-83"/>
+ <location/>
<source>Gradient View</source>
- <translation>Meredekség nézet</translation>
+ <translation type="unfinished"></translation>
</message>
</context>
<context>
<name>QtGradientViewDialog</name>
<message>
- <location filename="../tools/shared/qtgradienteditor/qtgradientviewdialog.ui" line="+53"/>
+ <location filename="../tools/shared/qtgradienteditor/qtgradientviewdialog.ui"/>
+ <location filename="../tools/shared/qtgradienteditor/qtgradientviewdialog.h" line="+62"/>
<source>Select Gradient</source>
- <translation>Meredekség kiválasztása</translation>
+ <translation type="unfinished"></translation>
</message>
</context>
<context>
<name>QtKeySequenceEdit</name>
<message>
- <location filename="../tools/shared/qtpropertybrowser/qtpropertybrowserutils.cpp" line="+221"/>
+ <location filename="../tools/shared/qtpropertybrowser/qtpropertybrowserutils.cpp" line="+249"/>
<source>Clear Shortcut</source>
- <translation>Gyorsbillentyű kitisztítása</translation>
+ <translation type="unfinished"></translation>
</message>
</context>
<context>
@@ -3092,17 +3074,17 @@ Konténer lapokat XML-ben való specifikációjuk által kellene hozzáadni, az
<message>
<location filename="../tools/shared/qtpropertybrowser/qtpropertymanager.cpp" line="-3541"/>
<source>%1, %2</source>
- <translation>%1, %2</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+53"/>
<source>Language</source>
- <translation>Nyelv</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+8"/>
<source>Country</source>
- <translation>Ország</translation>
+ <translation type="unfinished"></translation>
</message>
</context>
<context>
@@ -3110,17 +3092,17 @@ Konténer lapokat XML-ben való specifikációjuk által kellene hozzáadni, az
<message>
<location line="+411"/>
<source>(%1, %2)</source>
- <translation>(%1, %2)</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+71"/>
<source>X</source>
- <translation>X</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+8"/>
<source>Y</source>
- <translation>Y</translation>
+ <translation type="unfinished"></translation>
</message>
</context>
<context>
@@ -3128,30 +3110,30 @@ Konténer lapokat XML-ben való specifikációjuk által kellene hozzáadni, az
<message>
<location line="-320"/>
<source>(%1, %2)</source>
- <translation>(%1, %2)</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+37"/>
<source>X</source>
- <translation>X</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+7"/>
<source>Y</source>
- <translation>Y</translation>
+ <translation type="unfinished"></translation>
</message>
</context>
<context>
<name>QtPropertyBrowserUtils</name>
<message>
- <location filename="../tools/shared/qtpropertybrowser/qtpropertybrowserutils.cpp" line="-136"/>
+ <location filename="../tools/shared/qtpropertybrowser/qtpropertybrowserutils.cpp" line="-156"/>
<source>[%1, %2, %3] (%4)</source>
- <translation>[%1, %2, %3] (%4)</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+30"/>
<source>[%1, %2]</source>
- <translation>[%1, %2]</translation>
+ <translation type="unfinished"></translation>
</message>
</context>
<context>
@@ -3159,27 +3141,27 @@ Konténer lapokat XML-ben való specifikációjuk által kellene hozzáadni, az
<message>
<location filename="../tools/shared/qtpropertybrowser/qtpropertymanager.cpp" line="+1706"/>
<source>[(%1, %2), %3 x %4]</source>
- <translation>[(%1, %2), %3 x %4]</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+156"/>
<source>X</source>
- <translation>X</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+8"/>
<source>Y</source>
- <translation>Y</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+8"/>
<source>Width</source>
- <translation>Szélesség</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+9"/>
<source>Height</source>
- <translation>Magasság</translation>
+ <translation type="unfinished"></translation>
</message>
</context>
<context>
@@ -3187,27 +3169,27 @@ Konténer lapokat XML-ben való specifikációjuk által kellene hozzáadni, az
<message>
<location line="-612"/>
<source>[(%1, %2), %3 x %4]</source>
- <translation>[(%1, %2), %3 x %4]</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+120"/>
<source>X</source>
- <translation>X</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+7"/>
<source>Y</source>
- <translation>Y</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+7"/>
<source>Width</source>
- <translation>Szélesség</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+8"/>
<source>Height</source>
- <translation>Magasság</translation>
+ <translation type="unfinished"></translation>
</message>
</context>
<context>
@@ -3216,71 +3198,70 @@ Konténer lapokat XML-ben való specifikációjuk által kellene hozzáadni, az
<location filename="../tools/designer/src/lib/shared/qtresourceeditordialog.cpp" line="+76"/>
<source>%1 already exists.
Do you want to replace it?</source>
- <translation>%1 már létezik.
-Le szeretné cserélni?</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+5"/>
<source>The file does not appear to be a resource file; element &apos;%1&apos; was found where &apos;%2&apos; was expected.</source>
- <translation>A fájl nem egy erőforrás fájl, &apos;%1&apos; elem található, ahol &apos;%2&apos; a várt.</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+902"/>
<source>%1 [read-only]</source>
- <translation>%1 [csak olvasható]</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+2"/>
<location line="+198"/>
<source>%1 [missing]</source>
- <translation>%1 [hiányzik]</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="-72"/>
<source>&lt;no prefix&gt;</source>
- <translation>&lt;nincs előtag&gt;</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+320"/>
<location line="+566"/>
<source>New Resource File</source>
- <translation>Új erőforrás fájl</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="-564"/>
<location line="+25"/>
<source>Resource files (*.qrc)</source>
- <translation>Erőforrás fájlok (*.qrc)</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="-2"/>
<source>Import Resource File</source>
- <translation>Erőforrás fájl importálása</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+112"/>
<source>newPrefix</source>
- <translation>újElőtag</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+16"/>
<source>&lt;p&gt;&lt;b&gt;Warning:&lt;/b&gt; The file&lt;/p&gt;&lt;p&gt;%1&lt;/p&gt;&lt;p&gt;is outside of the current resource file&apos;s parent directory.&lt;/p&gt;</source>
- <translation>&lt;p&gt;&lt;b&gt;Figyelmeztetés:&lt;/b&gt; A(z)&lt;/p&gt;&lt;p&gt;%1&lt;/p&gt;&lt;p&gt;fájl az aktuális erőforrás fájl szülő könyvtárán kívül helyezkedik el.&lt;/p&gt;</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+8"/>
<source>&lt;p&gt;To resolve the issue, press:&lt;/p&gt;&lt;table&gt;&lt;tr&gt;&lt;th align=&quot;left&quot;&gt;Copy&lt;/th&gt;&lt;td&gt;to copy the file to the resource file&apos;s parent directory.&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;th align=&quot;left&quot;&gt;Copy As...&lt;/th&gt;&lt;td&gt;to copy the file into a subdirectory of the resource file&apos;s parent directory.&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;th align=&quot;left&quot;&gt;Keep&lt;/th&gt;&lt;td&gt;to use its current location.&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</source>
- <translation>&lt;p&gt;A hiba megoldásához, nyomja le a következőt:&lt;/p&gt;&lt;table&gt;&lt;tr&gt;&lt;th align=&quot;left&quot;&gt;Másolás&lt;/th&gt;&lt;td&gt;a fájl erőforrás fájljának szülőkönyvtárába másoláshoz.&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;th align=&quot;left&quot;&gt;Másolás másként...&lt;/th&gt;&lt;td&gt;a fájl erőforrás fájljának szülőkönyvtárának egy alkönyvtárába másoláshoz.&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;th align=&quot;left&quot;&gt;Megtartás&lt;/th&gt;&lt;td&gt;az aktuális helyének használatához. &lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+25"/>
<source>Add Files</source>
- <translation>Fájlok hozzáadása</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+21"/>
<source>Incorrect Path</source>
- <translation>Helytelen útvonal</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+3"/>
@@ -3288,50 +3269,49 @@ Le szeretné cserélni?</translation>
<location line="+212"/>
<location line="+7"/>
<source>Copy</source>
- <translation>Másolás</translation>
+ <translation type="unfinished">Másolás</translation>
</message>
<message>
<location line="-236"/>
<source>Copy As...</source>
- <translation>Másolás, mint...</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+2"/>
<source>Keep</source>
- <translation>Megtartás</translation>
+ <translation type="unfinished">Meghagy</translation>
</message>
<message>
<location line="+2"/>
<source>Skip</source>
- <translation>Kihagyás</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+87"/>
<source>Clone Prefix</source>
- <translation>Előtag klónozása</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+1"/>
<source>Enter the suffix which you want to add to the names of the cloned files.
This could for example be a language extension like &quot;_de&quot;.</source>
- <translation>Gépelje be az utótagot, melyet hozzá akar adni a klónozott fájl nevekhez.
-Ez például egy nyelv kiterjesztés lenne, úgy mint &quot;_de&quot;.</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+113"/>
<location line="+4"/>
<source>Copy As</source>
- <translation>Másolás, mint</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+1"/>
<source>&lt;p&gt;The selected file:&lt;/p&gt;&lt;p&gt;%1&lt;/p&gt;&lt;p&gt;is outside of the current resource file&apos;s directory:&lt;/p&gt;&lt;p&gt;%2&lt;/p&gt;&lt;p&gt;Please select another path within this directory.&lt;p&gt;</source>
- <translation>&lt;p&gt;A kiválaszott fájl:&lt;/p&gt;&lt;p&gt;%1&lt;/p&gt;&lt;p&gt;az aktuális erőforrás fájl könytárán kívül helyezkedik el:&lt;/p&gt;&lt;p&gt;%2&lt;/p&gt;&lt;p&gt;Kérem válasszon másik útvonalat ezen a könyvtáron belül.&lt;p&gt;</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+20"/>
<source>Could not overwrite %1.</source>
- <translation>Nem sikerült felülírni %1.</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+7"/>
@@ -3339,196 +3319,189 @@ Ez például egy nyelv kiterjesztés lenne, úgy mint &quot;_de&quot;.</translat
%1
to
%2</source>
- <translation>Nem sikerült másolni
-%1
-ide
-%2</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+35"/>
<source>A parse error occurred at line %1, column %2 of %3:
%4</source>
- <translation>Egy elemzési hiba történt %3 %1 sorában, %2 oszlopában:
-%4</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+12"/>
<source>Save Resource File</source>
- <translation>Erőforrás fájl mentése</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+1"/>
<source>Could not write %1: %2</source>
- <translation>Nem sikerült írni %1: %2</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+33"/>
<source>Edit Resources</source>
- <translation>Erőforrások szerkesztése</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+35"/>
<source>New...</source>
- <translation>Új...</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+2"/>
<source>Open...</source>
- <translation>Megnyitás...</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+1"/>
<source>Open Resource File</source>
- <translation>Erőforrás fájl megnyitása</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+1"/>
<location line="+11"/>
<source>Remove</source>
- <translation>Eltávolítás</translation>
+ <translation type="unfinished">Törlés</translation>
</message>
<message>
<location line="-10"/>
<location line="+11"/>
<source>Move Up</source>
- <translation>Mozgatás felfelé</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="-10"/>
<location line="+11"/>
<source>Move Down</source>
- <translation>Mozgatás lefelé</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="-9"/>
<location line="+1"/>
<source>Add Prefix</source>
- <translation>Előtag hozzáadása</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+1"/>
<source>Add Files...</source>
- <translation>Fájlok hozzáadása...</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+1"/>
<source>Change Prefix</source>
- <translation>Előtag megváltoztatása</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+1"/>
<source>Change Language</source>
- <translation>Nyelv megváltoztatása</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+1"/>
<source>Change Alias</source>
- <translation>Álnév megváltoztatása</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+1"/>
<source>Clone Prefix...</source>
- <translation>Előtag klónozása...</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+37"/>
<source>Prefix / Path</source>
- <translation>Előtag / Útvonal</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+1"/>
<source>Language / Alias</source>
- <translation>Nyelv / Álnév</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+117"/>
<source>&lt;html&gt;&lt;p&gt;&lt;b&gt;Warning:&lt;/b&gt; There have been problems while reloading the resources:&lt;/p&gt;&lt;pre&gt;%1&lt;/pre&gt;&lt;/html&gt;</source>
- <translation>&lt;html&gt;&lt;p&gt;&lt;b&gt;Figyelmeztetés:&lt;/b&gt; Hibák történtek az erőforrások újra töltése közben:&lt;/p&gt;&lt;pre&gt;%1&lt;/pre&gt;&lt;/html&gt;</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+2"/>
<source>Resource Warning</source>
- <translation>Erőforrás figyelmeztetés</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../tools/designer/src/lib/shared/qtresourceeditordialog.ui" line="+13"/>
+ <location filename="../tools/designer/src/lib/shared/qtresourceeditordialog.ui"/>
<source>Dialog</source>
- <translation>Párbeszéd ablak</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+26"/>
+ <location/>
<source>New File</source>
- <translation>Új fájl</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+3"/>
- <location line="+50"/>
+ <location/>
<source>N</source>
- <translation>N</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="-43"/>
+ <location/>
<source>Remove File</source>
- <translation>Fájl eltávolítása</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+3"/>
- <location line="+57"/>
+ <location/>
<source>R</source>
- <translation>R</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="-34"/>
+ <location/>
<source>I</source>
- <translation>I</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+14"/>
+ <location/>
<source>New Resource</source>
- <translation>Új erőforrás</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+10"/>
+ <location/>
<source>A</source>
- <translation>A</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+7"/>
+ <location/>
<source>Remove Resource or File</source>
- <translation>Erőforrás vagy fájl eltávolítása</translation>
+ <translation type="unfinished"></translation>
</message>
</context>
<context>
<name>QtResourceView</name>
<message>
- <location filename="../tools/designer/src/lib/shared/qtresourceview.cpp" line="+566"/>
+ <location filename="../tools/designer/src/lib/shared/qtresourceview.cpp" line="+567"/>
<source>Size: %1 x %2
%3</source>
- <translation>Méret: %1 x %2
-%3</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+20"/>
<source>Edit Resources...</source>
- <translation>Erőforrások szerkesztése...</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+6"/>
<source>Reload</source>
- <translation>Újratöltés</translation>
+ <translation type="unfinished">Újratöltés</translation>
</message>
<message>
<location line="+7"/>
<source>Copy Path</source>
- <translation>Útvonal másolása</translation>
+ <translation type="unfinished"></translation>
</message>
</context>
<context>
<name>QtResourceViewDialog</name>
<message>
- <location line="+250"/>
+ <location line="+252"/>
<source>Select Resource</source>
- <translation>Erőforrás kiválasztása</translation>
+ <translation type="unfinished"></translation>
</message>
</context>
<context>
@@ -3536,17 +3509,17 @@ ide
<message>
<location filename="../tools/shared/qtpropertybrowser/qtpropertymanager.cpp" line="-535"/>
<source>%1 x %2</source>
- <translation>%1 x %2</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+130"/>
<source>Width</source>
- <translation>Szélesség</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+9"/>
<source>Height</source>
- <translation>Magasság</translation>
+ <translation type="unfinished"></translation>
</message>
</context>
<context>
@@ -3555,32 +3528,32 @@ ide
<location line="+1709"/>
<location line="+1"/>
<source>&lt;Invalid&gt;</source>
- <translation>&lt;Érvénytelen&gt;</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+1"/>
<source>[%1, %2, %3, %4]</source>
- <translation>[%1, %2, %3, %4]</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+45"/>
<source>Horizontal Policy</source>
- <translation>Horizontális irányvonal</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+9"/>
<source>Vertical Policy</source>
- <translation>Vertikális irányelv</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+9"/>
<source>Horizontal Stretch</source>
- <translation>Horizontális terjedelem</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+8"/>
<source>Vertical Stretch</source>
- <translation>Vertikális terjedelem</translation>
+ <translation type="unfinished"></translation>
</message>
</context>
<context>
@@ -3588,17 +3561,17 @@ ide
<message>
<location line="-2286"/>
<source>%1 x %2</source>
- <translation>%1 x %2</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+96"/>
<source>Width</source>
- <translation>Szélesség</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+8"/>
<source>Height</source>
- <translation>Magasság</translation>
+ <translation type="unfinished"></translation>
</message>
</context>
<context>
@@ -3606,107 +3579,107 @@ ide
<message>
<location filename="../tools/shared/qttoolbardialog/qttoolbardialog.cpp" line="+1240"/>
<source>Custom Toolbar</source>
- <translation>Egyéni eszköz sáv</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+544"/>
<source>&lt; S E P A R A T O R &gt;</source>
- <translation>&lt; E L V Á L A S Z T Ó &gt;</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../tools/shared/qttoolbardialog/qttoolbardialog.ui" line="+13"/>
+ <location filename="../tools/shared/qttoolbardialog/qttoolbardialog.ui"/>
<source>Customize Toolbars</source>
- <translation>Eszköz sávok testreszabása</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+13"/>
+ <location/>
<source>1</source>
- <translation>1</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+8"/>
+ <location/>
<source>Actions</source>
- <translation>Tevékenységek</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+15"/>
+ <location/>
<source>Toolbars</source>
- <translation>Eszköz sávok</translation>
+ <translation type="unfinished">Eszköztárak</translation>
</message>
<message>
- <location line="+7"/>
+ <location/>
<source>Add new toolbar</source>
- <translation>Új eszköz sáv hozzáadása</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+3"/>
+ <location/>
<source>New</source>
- <translation>Új</translation>
+ <translation type="unfinished">Új</translation>
</message>
<message>
- <location line="+7"/>
+ <location/>
<source>Remove selected toolbar</source>
- <translation>Kiválaszott eszköz sáv eltávolítás</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+3"/>
+ <location/>
<source>Remove</source>
- <translation>Eltávolítás</translation>
+ <translation type="unfinished">Törlés</translation>
</message>
<message>
- <location line="+7"/>
+ <location/>
<source>Rename toolbar</source>
- <translation>Eszköz sáv átnevezése</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+3"/>
+ <location/>
<source>Rename</source>
- <translation>Átnevezés</translation>
+ <translation type="unfinished">Átnevezés</translation>
</message>
<message>
- <location line="+23"/>
+ <location/>
<source>Move action up</source>
- <translation>Tevékenység mozgatása felfelé</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+3"/>
+ <location/>
<source>Up</source>
- <translation>Fel</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+13"/>
+ <location/>
<source>Remove action from toolbar</source>
- <translation>Tevékenység eltávolítása az eszköz sávról</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+3"/>
+ <location/>
<source>&lt;-</source>
- <translation>&lt;-</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+13"/>
+ <location/>
<source>Add action to toolbar</source>
- <translation>Tevékenység hozzáadása az eszközsávhoz</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+3"/>
+ <location/>
<source>-&gt;</source>
- <translation>-&gt;</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+13"/>
+ <location/>
<source>Move action down</source>
- <translation>Tevékenység mozgatása felfele</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+3"/>
+ <location/>
<source>Down</source>
- <translation>Le</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+25"/>
+ <location/>
<source>Current Toolbar Actions</source>
- <translation>Aktuális eszköz sáv tevékenységek</translation>
+ <translation type="unfinished"></translation>
</message>
</context>
<context>
@@ -3714,12 +3687,12 @@ ide
<message>
<location filename="../tools/shared/qtpropertybrowser/qttreepropertybrowser.cpp" line="+442"/>
<source>Property</source>
- <translation>Tulajdonság</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+1"/>
<source>Value</source>
- <translation>Érték</translation>
+ <translation type="unfinished">Érték</translation>
</message>
</context>
<context>
@@ -3727,64 +3700,63 @@ ide
<message>
<location filename="../tools/designer/src/designer/saveformastemplate.cpp" line="+72"/>
<source>Add path...</source>
- <translation>Útvonal hozzáadása...</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+23"/>
<source>Template Exists</source>
- <translation>A sablon létezik</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+1"/>
<source>A template with the name %1 already exists.
Do you want overwrite the template?</source>
- <translation>Egy %1 nevű sablon már létezik.
-Felül szeretné írni a sablont?</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+3"/>
<source>Overwrite Template</source>
- <translation>Sablom felülírása</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+7"/>
<source>Open Error</source>
- <translation>Megnyitási hiba</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+1"/>
<source>There was an error opening template %1 for writing. Reason: %2</source>
- <translation>Hiba történt a(z) %1 sablon írásra megnyitása közben. Ok: %2</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+13"/>
<source>Write Error</source>
- <translation>Írása hiba</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+1"/>
<source>There was an error writing the template %1 to disk. Reason: %2</source>
- <translation>Hiba történt a(z) %1 sablon lemezre írása közben. Ok: %2</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+27"/>
<source>Pick a directory to save templates in</source>
- <translation>Egy könyvtár gondos kiválasztása, melybe a könytárak lesznek elmentve</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../tools/designer/src/designer/saveformastemplate.ui" line="+45"/>
+ <location filename="../tools/designer/src/designer/saveformastemplate.ui"/>
<source>Save Form As Template</source>
- <translation>Az űrlap sablonként mentése</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+49"/>
- <source>&amp;Category:</source>
- <translation>&amp;Kategória:</translation>
+ <location/>
+ <source>&amp;Name:</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="-35"/>
- <source>&amp;Name:</source>
- <translation>&amp;Név:</translation>
+ <location/>
+ <source>&amp;Category:</source>
+ <translation type="unfinished"></translation>
</message>
</context>
<context>
@@ -3793,30 +3765,30 @@ Felül szeretné írni a sablont?</translation>
<location filename="../tools/designer/src/lib/shared/scripterrordialog.cpp" line="+59"/>
<source>An error occurred while running the scripts for &quot;%1&quot;:
</source>
- <translation>Hiba történt a szkriptek futtatása közben &apos;%1&apos;-re:</translation>
+ <translation type="unfinished"></translation>
</message>
</context>
<context>
<name>SelectSignalDialog</name>
<message>
- <location filename="../tools/designer/src/lib/shared/selectsignaldialog.ui" line="+14"/>
+ <location filename="../tools/designer/src/lib/shared/selectsignaldialog.ui"/>
<source>Go to slot</source>
- <translation>Szlotra ugrás</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+6"/>
+ <location/>
<source>Select signal</source>
- <translation>Jel kiválasztása</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+13"/>
+ <location/>
<source>signal</source>
- <translation>jel</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+5"/>
+ <location/>
<source>class</source>
- <translation>osztály</translation>
+ <translation type="unfinished"></translation>
</message>
</context>
<context>
@@ -3824,45 +3796,40 @@ Felül szeretné írni a sablont?</translation>
<message>
<location filename="../tools/designer/src/components/signalsloteditor/signalsloteditor.cpp" line="-358"/>
<source>SENDER(%1), SIGNAL(%2), RECEIVER(%3), SLOT(%4)</source>
- <translation>KÜLDŐ(%1), JEL(%2), FOGADÓ(%3), SZLOT(%4)</translation>
+ <translation type="unfinished"></translation>
</message>
</context>
<context>
<name>SignalSlotDialogClass</name>
<message>
- <location filename="../tools/designer/src/lib/shared/signalslotdialog.ui" line="+13"/>
+ <location filename="../tools/designer/src/lib/shared/signalslotdialog.ui"/>
<source>Signals and slots</source>
- <translation>Jelek és szlotok</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+6"/>
+ <location/>
<source>Slots</source>
- <translation>Szlotok</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+11"/>
- <location line="+49"/>
+ <location/>
<source>Add</source>
- <translation>Hozzáadás</translation>
+ <translation type="unfinished">Hozzáadás</translation>
</message>
<message>
- <location line="-46"/>
- <location line="+10"/>
- <location line="+39"/>
- <location line="+10"/>
+ <location/>
<source>...</source>
- <translation>...</translation>
+ <translation type="unfinished">...</translation>
</message>
<message>
- <location line="-52"/>
- <location line="+49"/>
+ <location/>
<source>Delete</source>
- <translation>Törlés</translation>
+ <translation type="unfinished">Törlés</translation>
</message>
<message>
- <location line="-21"/>
+ <location/>
<source>Signals</source>
- <translation>Jelek</translation>
+ <translation type="unfinished"></translation>
</message>
</context>
<context>
@@ -3870,12 +3837,12 @@ Felül szeretné írni a sablont?</translation>
<message>
<location filename="../tools/designer/src/lib/shared/spacer_widget.cpp" line="+275"/>
<source>Horizontal Spacer &apos;%1&apos;, %2 x %3</source>
- <translation>Horizontális távtartók &apos;%1&apos;, %2 x %3</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+0"/>
<source>Vertical Spacer &apos;%1&apos;, %2 x %3</source>
- <translation>Vertikális távtartók &apos;%1&apos;, %2 x %3</translation>
+ <translation type="unfinished"></translation>
</message>
</context>
<context>
@@ -3884,8 +3851,7 @@ Felül szeretné írni a sablont?</translation>
<location filename="../tools/designer/src/components/formeditor/templateoptionspage.cpp" line="+156"/>
<source>Template Paths</source>
<extracomment>Tab in preferences dialog</extracomment>
- <translatorcomment>Слово &quot;пути&quot; опустил, т.к. с другими вкладками не перепутать, а длинная вкладка не смотрится.</translatorcomment>
- <translation>Sablon útvonalak</translation>
+ <translation type="unfinished"></translation>
</message>
</context>
<context>
@@ -3893,55 +3859,75 @@ Felül szeretné írni a sablont?</translation>
<message>
<location filename="../tools/designer/src/designer/mainwindow.cpp" line="+89"/>
<source>Configure Toolbars...</source>
- <translation>Eszköz sávok konfigurálása...</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+15"/>
<source>Window</source>
- <translation>Ablak</translation>
+ <translation type="unfinished">Ablak</translation>
</message>
<message>
<location line="+1"/>
<source>Help</source>
- <translation>Súgó</translation>
+ <translation type="unfinished">Segítség</translation>
</message>
<message>
<location line="+7"/>
<source>Style</source>
- <translation>Stílus</translation>
+ <translation type="unfinished">Stílus</translation>
</message>
<message>
<location line="+2"/>
<source>Dock views</source>
- <translation>Dokk nézetek</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+6"/>
+ <source>File</source>
+ <translation type="unfinished">Fájl</translation>
+ </message>
+ <message>
+ <location line="+4"/>
+ <source>Edit</source>
+ <translation type="unfinished">Szerkesztés</translation>
+ </message>
+ <message>
+ <location line="+4"/>
+ <source>Tools</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+4"/>
+ <source>Form</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+4"/>
<source>Toolbars</source>
- <translation>Eszköz sávok</translation>
+ <translation type="unfinished">Eszköztárak</translation>
</message>
</context>
<context>
<name>VersionDialog</name>
<message>
- <location filename="../tools/designer/src/designer/versiondialog.cpp" line="+171"/>
+ <location filename="../tools/designer/src/designer/versiondialog.cpp" line="+170"/>
<source>&lt;h3&gt;%1&lt;/h3&gt;&lt;br/&gt;&lt;br/&gt;Version %2</source>
- <translation>&lt;h3&gt;%1&lt;/h3&gt;&lt;br/&gt;&lt;br/&gt;Verzió %2</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+1"/>
<source>Qt Designer</source>
- <translation>Qt Designer</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+1"/>
<source>&lt;br/&gt;Qt Designer is a graphical user interface designer for Qt applications.&lt;br/&gt;</source>
- <translation>&lt;br/&gt;Qt Designer egy grafikus felhasználói felület tervező Qt alkalmazásokhoz.&lt;br/&gt;</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+2"/>
<source>%1&lt;br/&gt;Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).</source>
- <translation>%1&lt;br/&gt;Szerzői jog (C) 2010 Nokia vállalat és/vagy leányvállalata(i).</translation>
+ <translation type="unfinished"></translation>
</message>
</context>
<context>
@@ -3949,7 +3935,7 @@ Felül szeretné írni a sablont?</translation>
<message>
<location filename="../tools/designer/src/lib/shared/widgetdatabase.cpp" line="+814"/>
<source>The file contains a custom widget &apos;%1&apos; whose base class (%2) differs from the current entry in the widget database (%3). The widget database is left unchanged.</source>
- <translation>A fájl egy egyéni &apos;%1&apos; widget-t tartalmaz, aminek az alap osztálya (%2) különbözik az aktuális beviteltől a widget adatbázisban (%3). A widget adatbázis változatlanul lett hagyva.</translation>
+ <translation type="unfinished"></translation>
</message>
</context>
<context>
@@ -3957,120 +3943,120 @@ Felül szeretné írni a sablont?</translation>
<message>
<location filename="../tools/designer/src/lib/shared/actioneditor.cpp" line="+123"/>
<source>New...</source>
- <translation>Új...</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+1"/>
<source>Edit...</source>
- <translation>Szerkesztés...</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+1"/>
<source>Go to slot...</source>
- <translation>Ugrás a szlotra...</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+1"/>
<source>Copy</source>
- <translation>Másolás</translation>
+ <translation type="unfinished">Másolás</translation>
</message>
<message>
<location line="+1"/>
<source>Cut</source>
- <translation>Kivágás</translation>
+ <translation type="unfinished">Kivágás</translation>
</message>
<message>
<location line="+1"/>
<source>Paste</source>
- <translation>Beillesztés</translation>
+ <translation type="unfinished">Beillesztés</translation>
</message>
<message>
<location line="+1"/>
<source>Select all</source>
- <translation>Az összes kiválasztása</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+1"/>
<source>Delete</source>
- <translation>Törlés</translation>
+ <translation type="unfinished">Törlés</translation>
</message>
<message>
<location line="+9"/>
<source>Actions</source>
- <translation>Tevékenységek</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+49"/>
<source>Configure Action Editor</source>
- <translation>Tevékenység szerkesztő konfigurálása</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+3"/>
<source>Icon View</source>
- <translation>Ikon nézet</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+6"/>
<source>Detailed View</source>
- <translation>Részletezett nézet</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+246"/>
<source>New action</source>
- <translation>Új tevékenység</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+98"/>
<source>Edit action</source>
- <translation>Tevékenység szerkesztése</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+69"/>
<source>Remove action &apos;%1&apos;</source>
- <translation>&apos;%1&apos; tevékenység eltávolítása</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+0"/>
<source>Remove actions</source>
- <translation>Tevékenységek eltávolítása</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+186"/>
<source>Used In</source>
- <translation>Használva ebben</translation>
+ <translation type="unfinished"></translation>
</message>
</context>
<context>
<name>qdesigner_internal::ActionModel</name>
<message>
- <location filename="../tools/designer/src/lib/shared/actionrepository.cpp" line="+95"/>
+ <location filename="../tools/designer/src/lib/shared/actionrepository.cpp" line="+89"/>
<source>Name</source>
- <translation>Név</translation>
+ <translation type="unfinished">Név</translation>
</message>
<message>
<location line="+1"/>
<source>Used</source>
- <translation>Használt</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+1"/>
<source>Text</source>
- <translation>Szöveg</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+1"/>
<source>Shortcut</source>
- <translation>Rövidebb út</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+1"/>
<source>Checkable</source>
- <translation>Leellenőrizhető</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+1"/>
<source>ToolTip</source>
- <translation>Eszköz tipp</translation>
+ <translation type="unfinished"></translation>
</message>
</context>
<context>
@@ -4078,27 +4064,27 @@ Felül szeretné írni a sablont?</translation>
<message>
<location filename="../tools/designer/src/components/formeditor/brushmanagerproxy.cpp" line="+219"/>
<source>The element &apos;%1&apos; is missing the required attribute &apos;%2&apos;.</source>
- <translation>A(z) &apos;%1&apos; elem hiányzik, a szükséges attribútum &apos;%2&apos;.</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+11"/>
<source>Empty brush name encountered.</source>
- <translation>Üres kefe nevet talált.</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+10"/>
<source>An unexpected element &apos;%1&apos; was encountered.</source>
- <translation>Egy &apos;%1&apos; váratlan elemet talált.</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+7"/>
<source>An error occurred when reading the brush definition file &apos;%1&apos; at line line %2, column %3: %4</source>
- <translation>Hiba történt a(z) &apos;%1&apos; ecset definíciós fájl olvasása közben %2 sorban, %3 oszlopban: %4</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+43"/>
<source>An error occurred when reading the resource file &apos;%1&apos; at line %2, column %3: %4</source>
- <translation>Hiba történt a(z) &apos;%1&apos; erőforrás fájl olvasása közben, %2 sorban, %3 oszlopban: %4</translation>
+ <translation type="unfinished"></translation>
</message>
</context>
<context>
@@ -4106,31 +4092,31 @@ Felül szeretné írni a sablont?</translation>
<message>
<location filename="../tools/designer/src/components/buddyeditor/buddyeditor.cpp" line="+261"/>
<source>Add buddy</source>
- <translation>Haver hozzáadása</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+52"/>
<source>Remove buddies</source>
- <translation>Haverok eltávolítása</translation>
+ <translation type="unfinished"></translation>
</message>
<message numerus="yes">
<location line="+24"/>
<source>Remove %n buddies</source>
- <translation>
- <numerusform>%n haverok eltávolítása</numerusform>
+ <translation type="unfinished">
+ <numerusform></numerusform>
</translation>
</message>
<message numerus="yes">
<location line="+51"/>
<source>Add %n buddies</source>
- <translation>
- <numerusform>%n haver hozzáadása</numerusform>
+ <translation type="unfinished">
+ <numerusform></numerusform>
</translation>
</message>
<message>
<location line="+47"/>
<source>Set automatically</source>
- <translation>Automatikus beállítás</translation>
+ <translation type="unfinished"></translation>
</message>
</context>
<context>
@@ -4138,7 +4124,7 @@ Felül szeretné írni a sablont?</translation>
<message>
<location filename="../tools/designer/src/components/buddyeditor/buddyeditor_plugin.cpp" line="+73"/>
<source>Edit Buddies</source>
- <translation>Haverok szerkesztése</translation>
+ <translation type="unfinished"></translation>
</message>
</context>
<context>
@@ -4146,7 +4132,7 @@ Felül szeretné írni a sablont?</translation>
<message>
<location filename="../tools/designer/src/components/buddyeditor/buddyeditor_tool.cpp" line="+56"/>
<source>Edit Buddies</source>
- <translation>Haverok szerkesztése</translation>
+ <translation type="unfinished"></translation>
</message>
</context>
<context>
@@ -4154,12 +4140,12 @@ Felül szeretné írni a sablont?</translation>
<message>
<location filename="../tools/designer/src/components/taskmenu/button_taskmenu.cpp" line="+7"/>
<source>Select members</source>
- <translation>Tagok kiválasztása</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+1"/>
<source>Break</source>
- <translation>Törés</translation>
+ <translation type="unfinished"></translation>
</message>
</context>
<context>
@@ -4167,32 +4153,32 @@ Felül szeretné írni a sablont?</translation>
<message>
<location line="+121"/>
<source>Assign to button group</source>
- <translation>Gomb csoporthoz rendelés</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+2"/>
<source>Button group</source>
- <translation>Gomb csoport</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+1"/>
<source>New button group</source>
- <translation>Új gomb csoport</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+1"/>
<source>Change text...</source>
- <translation>Szöveg megváltoztatása...</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+1"/>
<source>None</source>
- <translation>Semmi</translation>
+ <translation type="unfinished">Nincs</translation>
</message>
<message>
<location line="+101"/>
<source>Button group &apos;%1&apos;</source>
- <translation>&apos;%1&apos; gomb csoport</translation>
+ <translation type="unfinished"></translation>
</message>
</context>
<context>
@@ -4205,22 +4191,22 @@ Felül szeretné írni a sablont?</translation>
<message>
<location line="+4"/>
<source>Copy All</source>
- <translation>Az összes másolása</translation>
+ <translation>Mindent másol</translation>
</message>
<message>
<location line="+5"/>
<source>&amp;Find in Text...</source>
- <translation>&amp;Keresés szövegben...</translation>
+ <translation>&amp;Keresés a szövegben...</translation>
</message>
<message>
<location line="+75"/>
<source>A temporary form file could not be created in %1.</source>
- <translation>Egy átmeneti űrlap fájlt nem sikerült létrehozni %1-ben.</translation>
+ <translation>Az ideiglenes űrlap fájl nem hozható létre a(z) %1 helyen.</translation>
</message>
<message>
<location line="+6"/>
<source>The temporary form file %1 could not be written.</source>
- <translation>A(z) %1 átmeneti űrlap fájlt nem sikerült írni.</translation>
+ <translation>A(z) %1 ideiglenes űrlap fájl nem írható.</translation>
</message>
<message>
<location line="+21"/>
@@ -4235,17 +4221,17 @@ Felül szeretné írni a sablont?</translation>
<message>
<location line="+0"/>
<source>Header Files (*.%1)</source>
- <translation>Fejállományok (*.%1)</translation>
+ <translation>Fejléc fájlok (*.%1)</translation>
</message>
<message>
<location line="+6"/>
<source>The file %1 could not be opened: %2</source>
- <translation>A(z) %1 fájlt nem sikerült megnyitni: %2</translation>
+ <translation>A(z) %1 fájl nem nyitható meg: %2</translation>
</message>
<message>
<location line="+5"/>
<source>The file %1 could not be written: %2</source>
- <translation>A(z) %1 fájlt nem sikerült írni: %2</translation>
+ <translation>A(z) %1 fájl nem írható: %2</translation>
</message>
<message>
<location line="+11"/>
@@ -4258,7 +4244,7 @@ Felül szeretné írni a sablont?</translation>
<message>
<location filename="../tools/designer/src/lib/shared/richtexteditor.cpp" line="+246"/>
<source>Text Color</source>
- <translation>Szöveg szín</translation>
+ <translation>Szövegszín</translation>
</message>
</context>
<context>
@@ -4266,12 +4252,13 @@ Felül szeretné írni a sablont?</translation>
<message>
<location filename="../tools/designer/src/components/taskmenu/combobox_taskmenu.cpp" line="+68"/>
<source>Edit Items...</source>
- <translation>Elemek szerkesztése...</translation>
+ <translation>Elem szerkesztése...</translation>
</message>
<message>
<location line="+38"/>
<source>Change Combobox Contents</source>
- <translation>Combobox tartalmának megváltoztatása</translation>
+ <translatorcomment>CHECKIT: too long...</translatorcomment>
+ <translation type="unfinished">Legördülő doboz tartalmának megváltoztatása</translation>
</message>
</context>
<context>
@@ -4279,7 +4266,7 @@ Felül szeretné írni a sablont?</translation>
<message>
<location filename="../tools/designer/src/components/taskmenu/button_taskmenu.cpp" line="+156"/>
<source>Change description...</source>
- <translation>Leírás megváltoztatása...</translation>
+ <translation type="unfinished"></translation>
</message>
</context>
<context>
@@ -4287,17 +4274,17 @@ Felül szeretné írni a sablont?</translation>
<message>
<location filename="../tools/designer/src/lib/shared/connectionedit.cpp" line="+1313"/>
<source>Select All</source>
- <translation>Az összes kiválasztása</translation>
+ <translation type="unfinished">Összes kijelölése</translation>
</message>
<message>
<location line="+3"/>
<source>Deselect All</source>
- <translation>Az összes kijelölés eltűntetése</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+5"/>
<source>Delete</source>
- <translation>Törlés</translation>
+ <translation type="unfinished">Törlés</translation>
</message>
</context>
<context>
@@ -4305,52 +4292,52 @@ Felül szeretné írni a sablont?</translation>
<message>
<location filename="../tools/designer/src/components/signalsloteditor/signalsloteditorwindow.cpp" line="-465"/>
<source>Sender</source>
- <translation>Küldő</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+1"/>
<source>Signal</source>
- <translation>Jel</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+1"/>
<source>Receiver</source>
- <translation>Fogadó</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+1"/>
<source>Slot</source>
- <translation>Szlot</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+90"/>
<source>&lt;sender&gt;</source>
- <translation>&lt;küldő&gt;</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+1"/>
<source>&lt;signal&gt;</source>
- <translation>&lt;jel&gt;</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+1"/>
<source>&lt;receiver&gt;</source>
- <translation>&lt;fogadó&gt;</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+1"/>
<source>&lt;slot&gt;</source>
- <translation>&lt;szlot&gt;</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+108"/>
<source>The connection already exists!&lt;br&gt;%1</source>
- <translation>A kapcsolat már létezik!&lt;br&gt;%1</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+2"/>
<source>Signal and Slot Editor</source>
- <translation>Jel és Szlot szerkesztő</translation>
+ <translation type="unfinished"></translation>
</message>
</context>
<context>
@@ -4358,42 +4345,42 @@ Felül szeretné írni a sablont?</translation>
<message>
<location filename="../tools/designer/src/components/taskmenu/containerwidget_taskmenu.cpp" line="+79"/>
<source>Delete</source>
- <translation>Törlés</translation>
+ <translation type="unfinished">Törlés</translation>
</message>
<message>
<location line="+25"/>
<source>Insert</source>
- <translation>Beszúrás</translation>
+ <translation type="unfinished">Beszúrás</translation>
</message>
<message>
<location line="+3"/>
<source>Insert Page Before Current Page</source>
- <translation>Lap beszúrása az aktuális lap elé</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+4"/>
<source>Insert Page After Current Page</source>
- <translation>Lap beszúrása az aktuális lap után</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+8"/>
<source>Add Subwindow</source>
- <translation>Alablak hozzáadása</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+38"/>
<source>Subwindow</source>
- <translation>Al ablak</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+2"/>
<source>Page</source>
- <translation>Lap</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+1"/>
<source>Page %1 of %2</source>
- <translation>%2 %1 lapja</translation>
+ <translation type="unfinished"></translation>
</message>
</context>
<context>
@@ -4402,18 +4389,18 @@ Felül szeretné írni a sablont?</translation>
<location filename="../tools/designer/src/components/formeditor/dpi_chooser.cpp" line="+27"/>
<source>System (%1 x %2)</source>
<extracomment>System resolution</extracomment>
- <translation>Rendszer (%1 x %2)</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+7"/>
<source>User defined</source>
- <translation>Felhasználó által definiált</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+18"/>
<source> x </source>
<extracomment>DPI X/Y separator</extracomment>
- <translation> x </translation>
+ <translation type="unfinished"></translation>
</message>
</context>
<context>
@@ -4422,123 +4409,123 @@ Felül szeretné írni a sablont?</translation>
<location filename="../tools/designer/src/components/propertyeditor/designerpropertymanager.cpp" line="+647"/>
<location line="+6"/>
<source>AlignLeft</source>
- <translation>IgazításBalra</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="-5"/>
<source>AlignHCenter</source>
- <translation>IgazításHKözépre</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+1"/>
<source>AlignRight</source>
- <translation>IgazításJobbra</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+1"/>
<source>AlignJustify</source>
- <translation>IgazításFeloldása</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+9"/>
<source>AlignTop</source>
- <translation>IgazításTetejére</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+1"/>
<location line="+4"/>
<source>AlignVCenter</source>
- <translation>IgazításVKözépre</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="-3"/>
<source>AlignBottom</source>
- <translation>IgazításAlulra</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+565"/>
<source>%1, %2</source>
- <translation>%1, %2</translation>
+ <translation type="unfinished"></translation>
</message>
<message numerus="yes">
<location line="+6"/>
<source>Customized (%n roles)</source>
- <translation>
- <numerusform>Testreszabva (%n szabály)</numerusform>
+ <translation type="unfinished">
+ <numerusform></numerusform>
</translation>
</message>
<message>
<location line="+1"/>
<source>Inherited</source>
- <translation>Örökölt</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+566"/>
<source>Horizontal</source>
- <translation>Horizontális</translation>
+ <translation type="unfinished">Vízszintes</translation>
</message>
<message>
<location line="+9"/>
<source>Vertical</source>
- <translation>Vertikális</translation>
+ <translation type="unfinished">Függőleges</translation>
</message>
<message>
<location line="+15"/>
<source>Normal Off</source>
- <translation>Normál ki</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+1"/>
<source>Normal On</source>
- <translation>Normál be</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+1"/>
<source>Disabled Off</source>
- <translation>Tiltás ki</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+1"/>
<source>Disabled On</source>
- <translation>Tiltás be</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+1"/>
<source>Active Off</source>
- <translation>Aktív ki</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+1"/>
<source>Active On</source>
- <translation>Aktív be</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+1"/>
<source>Selected Off</source>
- <translation>Kiválasztás ki</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+1"/>
<source>Selected On</source>
- <translation>Kiválasztás be</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+7"/>
<location line="+21"/>
<source>translatable</source>
- <translation>fordítható</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="-15"/>
<location line="+21"/>
<source>disambiguation</source>
- <translation>Nem félreérthető</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="-15"/>
<location line="+21"/>
<source>comment</source>
- <translation>megjegyzés</translation>
+ <translation type="unfinished"></translation>
</message>
</context>
<context>
@@ -4546,106 +4533,106 @@ Felül szeretné írni a sablont?</translation>
<message>
<location filename="../tools/designer/src/components/formeditor/deviceprofiledialog.cpp" line="+63"/>
<source>Device Profiles (*.%1)</source>
- <translation>Eszköz profilok (*.%1)</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+31"/>
<source>Default</source>
- <translation>Alapértelmezett</translation>
+ <translation type="unfinished">Alapértelmezett</translation>
</message>
<message>
<location line="+67"/>
<source>Save Profile</source>
- <translation>Profil mentése</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+10"/>
<source>Save Profile - Error</source>
- <translation>Profil mentése - Hiba</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+0"/>
<source>Unable to open the file &apos;%1&apos; for writing: %2</source>
- <translation>Nem lehet megnyitni a(z) &apos;%1&apos; fájlt írásra: %2</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+8"/>
<source>Open profile</source>
- <translation>Profil megnyitása</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+6"/>
<location line="+6"/>
<source>Open Profile - Error</source>
- <translation>Profil megnyitása - Hiba</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="-6"/>
<source>Unable to open the file &apos;%1&apos; for reading: %2</source>
- <translation>Nem lehet megnyitni a(z) &apos;%1&apos; fájlt olvasásra: %2</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+6"/>
<source>&apos;%1&apos; is not a valid profile: %2</source>
- <translation>&apos;%1&apos; nem egy érvényes profil: %2</translation>
+ <translation type="unfinished"></translation>
</message>
</context>
<context>
<name>qdesigner_internal::Dialog</name>
<message>
- <location filename="../tools/designer/src/components/propertyeditor/stringlisteditor.ui" line="+53"/>
+ <location filename="../tools/designer/src/components/propertyeditor/stringlisteditor.ui"/>
<source>Dialog</source>
- <translation>Párbeszéd ablak</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+12"/>
+ <location/>
<source>StringList</source>
- <translation>Sztring lista</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+28"/>
+ <location/>
<source>New String</source>
- <translation>Új Sztring</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+3"/>
+ <location/>
<source>&amp;New</source>
- <translation>&amp;Új</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+10"/>
+ <location/>
<source>Delete String</source>
- <translation>Sztring törlése</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+3"/>
+ <location/>
<source>&amp;Delete</source>
- <translation>&amp;Törlés</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+33"/>
+ <location/>
<source>&amp;Value:</source>
- <translation>&amp;Érték:</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+38"/>
+ <location/>
<source>Move String Up</source>
- <translation>Sztring felfelé mozgatása</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+3"/>
+ <location/>
<source>Up</source>
- <translation>Fel</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+7"/>
+ <location/>
<source>Move String Down</source>
- <translation>Sztring lefelé mozgatása</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+3"/>
+ <location/>
<source>Down</source>
- <translation>Le</translation>
+ <translation type="unfinished"></translation>
</message>
</context>
<context>
@@ -4653,60 +4640,65 @@ Felül szeretné írni a sablont?</translation>
<message>
<location filename="../tools/designer/src/components/formeditor/embeddedoptionspage.cpp" line="-260"/>
<source>None</source>
- <translation>Semmi</translation>
+ <translation type="unfinished">Nincs</translation>
</message>
<message>
<location line="+4"/>
<source>Add a profile</source>
- <translation>Egy profil hozzáadása</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+6"/>
<source>Edit the selected profile</source>
- <translation>A kiválasztott profil szerkesztése</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+4"/>
<source>Delete the selected profile</source>
- <translation>A kiválasztott profil törlése</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+22"/>
<source>Add Profile</source>
- <translation>Profil hozzáadása</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+7"/>
<source>New profile</source>
- <translation>Új profil</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+35"/>
<source>Edit Profile</source>
- <translation>Profil szerkesztése</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+26"/>
<source>Delete Profile</source>
- <translation>Profil törlése</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+1"/>
<source>Would you like to delete the profile &apos;%1&apos;?</source>
- <translation>Törölni szeretné a(z) &apos;%1&apos; profilet?</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+55"/>
<source>Default</source>
- <translation>Alapértelmezett</translation>
+ <translation type="unfinished">Alapértelmezett</translation>
</message>
</context>
<context>
<name>qdesigner_internal::FilterWidget</name>
<message>
- <location filename="../tools/designer/src/lib/shared/filterwidget.cpp" line="+185"/>
- <source>&lt;Filter&gt;</source>
- <translation>&lt;Szűrő&gt;</translation>
+ <location filename="../tools/designer/src/lib/shared/filterwidget.cpp" line="+163"/>
+ <source>Filter</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+36"/>
+ <source>Clear text</source>
+ <translation type="unfinished"></translation>
</message>
</context>
<context>
@@ -4714,12 +4706,12 @@ Felül szeretné írni a sablont?</translation>
<message>
<location filename="../tools/designer/src/components/formeditor/formeditor.cpp" line="+190"/>
<source>Resource File Changed</source>
- <translation>Erőforrás fájl megváltoztatva</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+1"/>
<source>The file &quot;%1&quot; has changed outside Designer. Do you want to reload it?</source>
- <translation>A(z) &apos;%1&apos; fájl megváltoztatták a Designer-en kívül. Újra szeretné tölteni?</translation>
+ <translation type="unfinished"></translation>
</message>
</context>
<context>
@@ -4727,315 +4719,319 @@ Felül szeretné írni a sablont?</translation>
<message>
<location filename="../tools/designer/src/lib/shared/formlayoutmenu.cpp" line="+24"/>
<source>Add form layout row...</source>
- <translation>Űrlap elrendezési sor hozzáadása...</translation>
+ <translation type="unfinished"></translation>
</message>
</context>
<context>
<name>qdesigner_internal::FormWindow</name>
<message>
- <location filename="../tools/designer/src/components/formeditor/formwindow.cpp" line="-1267"/>
+ <location filename="../tools/designer/src/components/formeditor/formwindow.cpp" line="-1322"/>
<source>Edit contents</source>
- <translation>Tartalom szerkesztése</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+1"/>
<source>F2</source>
- <translation>F2</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+774"/>
+ <location line="+775"/>
<source>Insert widget &apos;%1&apos;</source>
- <translation>&apos;%1&apos; widget beszúrása</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+67"/>
+ <location line="+65"/>
<source>Resize</source>
- <translation>Átméretezés</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+218"/>
- <location line="+15"/>
+ <location line="+248"/>
<source>Key Move</source>
- <translation>Kulcs mozgatás</translation>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+0"/>
+ <source>Key Resize</source>
+ <translation type="unfinished"></translation>
</message>
<message numerus="yes">
- <location line="+211"/>
+ <location line="+252"/>
<source>Paste %n action(s)</source>
- <translation>
- <numerusform>%n tevékenység beillesztése</numerusform>
+ <translation type="unfinished">
+ <numerusform></numerusform>
</translation>
</message>
<message numerus="yes">
<location line="+2"/>
<source>Paste %n widget(s)</source>
- <translation>
- <numerusform>%n widget beillesztése</numerusform>
+ <translation type="unfinished">
+ <numerusform></numerusform>
</translation>
</message>
<message>
<location line="+1"/>
<source>Paste (%1 widgets, %2 actions)</source>
- <translation>Beillesztés (%1 widget-ek, %2 tevékenységek)</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+56"/>
<source>Cannot paste widgets. Designer could not find a container without a layout to paste into.</source>
- <translation>Nem lehet beilleszteni a widget-eket. A Designer nem talált egy tárolót sem elrendezés nélküli beillesztéshez.</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+2"/>
<source>Break the layout of the container you want to paste into, select this container and then paste again.</source>
- <translation>A tároló elrendezésének megtörése, ahová be akarja illeszteni, válassza ki ezt a tárolót és aztán illessze e újra.</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+4"/>
<source>Paste error</source>
- <translation>Beillesztési hiba</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+183"/>
+ <location line="+181"/>
<source>Raise widgets</source>
- <translation>Widget-ek növelése</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+17"/>
<source>Lower widgets</source>
- <translation>Alsó widget-ek</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+204"/>
<source>Select Ancestor</source>
- <translation>Ős kiválasztása</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+41"/>
+ <location line="+46"/>
<source>Lay out</source>
- <translation>Elrendezés</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+493"/>
+ <location line="+485"/>
<location line="+55"/>
<source>Drop widget</source>
- <translation>Widget ejtése</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="-13"/>
<source>A QMainWindow-based form does not contain a central widget.</source>
- <translation>Egy QMainWindow alapú űrlap nem tartalmaz egy központi widget-et.</translation>
+ <translation type="unfinished"></translation>
</message>
</context>
<context>
<name>qdesigner_internal::FormWindowBase</name>
<message>
- <location filename="../tools/designer/src/lib/shared/formwindowbase.cpp" line="+393"/>
+ <location filename="../tools/designer/src/lib/shared/formwindowbase.cpp" line="+404"/>
<source>Delete &apos;%1&apos;</source>
- <translation>&apos;%1&apos; törlése</translation>
+ <translation type="unfinished">&apos;%1&apos; törlése</translation>
</message>
<message>
<location line="+0"/>
<source>Delete</source>
- <translation>Törlés</translation>
+ <translation type="unfinished">Törlés</translation>
</message>
</context>
<context>
<name>qdesigner_internal::FormWindowManager</name>
<message>
- <location filename="../tools/designer/src/components/formeditor/formwindowmanager.cpp" line="+364"/>
+ <location filename="../tools/designer/src/components/formeditor/formwindowmanager.cpp" line="+365"/>
<source>Cu&amp;t</source>
- <translation>&amp;Kivágás</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+3"/>
<source>Cuts the selected widgets and puts them on the clipboard</source>
- <translation>A kiválaszott widget-ek kivágása és vágólapra helyezése</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+5"/>
<source>&amp;Copy</source>
- <translation>&amp;Másolás</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+3"/>
<source>Copies the selected widgets to the clipboard</source>
- <translation>A kiválasztott widget-ek vágólapra másolása</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+5"/>
<source>&amp;Paste</source>
- <translation>&amp;Beillesztés</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+3"/>
<source>Pastes the clipboard&apos;s contents</source>
- <translation>A vágólap tartalmának beillesztése</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+5"/>
<source>&amp;Delete</source>
- <translation>&amp;Törlés</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+2"/>
<source>Deletes the selected widgets</source>
- <translation>A kiválasztott widget-ek törlése</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+5"/>
<source>Select &amp;All</source>
- <translation>Az &amp;összes kiválasztása</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+3"/>
<source>Selects all widgets</source>
- <translation>Az összes widget kiválasztása</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+5"/>
<source>Bring to &amp;Front</source>
- <translation>&amp;Előre hozás</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+3"/>
<location line="+1"/>
<source>Raises the selected widgets</source>
- <translation>A kiválaszott widget-ek növelése</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+4"/>
<source>Send to &amp;Back</source>
- <translation>&amp;Visszaküldés</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+3"/>
<location line="+1"/>
<source>Lowers the selected widgets</source>
- <translation>Alsó kiválasztott widget-ek</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+4"/>
<source>Adjust &amp;Size</source>
- <translation>&amp;Méret igazítása</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+3"/>
<source>Adjusts the size of the selected widget</source>
- <translation>A kiválasztott widget méretének igazítása</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+6"/>
<source>Lay Out &amp;Horizontally</source>
- <translation>Elrendezés &amp;Horizontálisan</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+3"/>
<source>Lays out the selected widgets horizontally</source>
- <translation>A kiválaszott widget-ek horizontális elrendezése</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+6"/>
<source>Lay Out &amp;Vertically</source>
- <translation>Elrendezés &amp;vertikálisan</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+3"/>
<source>Lays out the selected widgets vertically</source>
- <translation>A kiválaszott widget-ek vertikális elrendezése</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+7"/>
<source>Lay Out in a &amp;Form Layout</source>
- <translation>Elrendezés egy &amp;Űrlap elrendezésben</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+3"/>
<source>Lays out the selected widgets in a form layout</source>
- <translation>A kiválaszott widget-ek elrendezése egy űrlap elrendezésben</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+7"/>
<source>Lay Out in a &amp;Grid</source>
- <translation>Elrendezés egy &amp;rácsban</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+3"/>
<source>Lays out the selected widgets in a grid</source>
- <translation>A kiválasztott widget-ek elrendezése egy rácsban</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+7"/>
<source>Lay Out Horizontally in S&amp;plitter</source>
- <translation>Elrendezés Horizontálisan a &amp;csúszkában</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+3"/>
<source>Lays out the selected widgets horizontally in a splitter</source>
- <translation>A kiválasztott widget-ek horizontális elrendezése egy csúszkában</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+7"/>
<source>Lay Out Vertically in Sp&amp;litter</source>
- <translation>Elrendezés vertikálisan egy &amp;csúszkában</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+3"/>
<source>Lays out the selected widgets vertically in a splitter</source>
- <translation>A kiválaszott widget-ek vertikális elrendezése egy csúszkában</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+7"/>
<source>&amp;Break Layout</source>
- <translation>Elrendezés &amp;törése</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+3"/>
<source>Breaks the selected layout</source>
- <translation>A kiválaszott elrendezés törése</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+5"/>
<source>Si&amp;mplify Grid Layout</source>
- <translation>Egy&amp;szerűsített rács elrendezés</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+2"/>
<source>Removes empty columns and rows</source>
- <translation>Üres oszlopok és sorok eltávolítása</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+6"/>
<source>&amp;Preview...</source>
- <translation>&amp;Előnézet...</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+2"/>
<source>Preview current form</source>
- <translation>Aktuális űrlap előnézet</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+15"/>
<source>Form &amp;Settings...</source>
- <translation>Űrlap &amp;beállítások...</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+92"/>
+ <location line="+94"/>
<source>Break Layout</source>
- <translation>Elrendezés törése</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+26"/>
<source>Adjust Size</source>
- <translation>Méret igazítása</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+43"/>
<source>Could not create form preview</source>
<comment>Title of warning message box</comment>
- <translation>Nem sikerült létrehozni az űrlap előnézetet</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+341"/>
<source>Form Settings - %1</source>
- <translation>Űrlap beállítások - %1</translation>
+ <translation type="unfinished"></translation>
</message>
</context>
<context>
@@ -5043,51 +5039,50 @@ Felül szeretné írni a sablont?</translation>
<message>
<location filename="../tools/designer/src/components/formeditor/formwindowsettings.cpp" line="+193"/>
<source>None</source>
- <translation>Semmi</translation>
+ <translation type="unfinished">Nincs</translation>
</message>
<message>
<location line="+1"/>
<source>Device Profile: %1</source>
- <translation>Eszköz profil: %1</translation>
+ <translation type="unfinished"></translation>
</message>
</context>
<context>
<name>qdesigner_internal::GridPanel</name>
<message>
- <location filename="../tools/designer/src/lib/shared/gridpanel.ui" line="+13"/>
+ <location filename="../tools/designer/src/lib/shared/gridpanel.ui"/>
<source>Form</source>
- <translation>Űrlap</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+18"/>
+ <location/>
<source>Grid</source>
- <translation>Rács</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+12"/>
+ <location/>
<source>Visible</source>
- <translation>Látható</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+7"/>
+ <location/>
<source>Grid &amp;X</source>
- <translation>Rács &amp;X</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+26"/>
- <location line="+57"/>
+ <location/>
<source>Snap</source>
- <translation>Bepattintás</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="-48"/>
+ <location/>
<source>Reset</source>
- <translation>Újraindítás</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+22"/>
+ <location/>
<source>Grid &amp;Y</source>
- <translation>Rács &amp;Y</translation>
+ <translation type="unfinished"></translation>
</message>
</context>
<context>
@@ -5095,7 +5090,7 @@ Felül szeretné írni a sablont?</translation>
<message>
<location filename="../tools/designer/src/components/taskmenu/groupbox_taskmenu.cpp" line="+82"/>
<source>Change title...</source>
- <translation>Cím változtatása...</translation>
+ <translation type="unfinished"></translation>
</message>
</context>
<context>
@@ -5103,7 +5098,7 @@ Felül szeretné írni a sablont?</translation>
<message>
<location filename="../tools/designer/src/lib/shared/richtexteditor.cpp" line="-58"/>
<source>Insert HTML entity</source>
- <translation>HTML entitás beszúrása</translation>
+ <translation type="unfinished"></translation>
</message>
</context>
<context>
@@ -5111,92 +5106,92 @@ Felül szeretné írni a sablont?</translation>
<message>
<location filename="../tools/designer/src/lib/shared/iconselector.cpp" line="-24"/>
<source>The pixmap file &apos;%1&apos; cannot be read.</source>
- <translation>A(z) &apos;%1&apos; pixmap fájlt nem lehet olvasni.</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+6"/>
<source>The file &apos;%1&apos; does not appear to be a valid pixmap file: %2</source>
- <translation>A(z) &apos;%1&apos; fájlt nem egy érvényes pixmap fájl: %2</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+9"/>
<source>The file &apos;%1&apos; could not be read: %2</source>
- <translation>A(z) &apos;%1&apos; fájlt nem sikerült olvasni: %2</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+33"/>
<source>Choose a Pixmap</source>
- <translation>Egy pixmap kiválasztása</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+7"/>
<source>Pixmap Read Error</source>
- <translation>Pixmap olvasási hiba</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+54"/>
<source>...</source>
- <translation>...</translation>
+ <translation type="unfinished">...</translation>
</message>
<message>
<location line="+6"/>
<source>Normal Off</source>
- <translation>Normál ki</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+1"/>
<source>Normal On</source>
- <translation>Normál be</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+1"/>
<source>Disabled Off</source>
- <translation>Tiltás ki</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+1"/>
<source>Disabled On</source>
- <translation>Tiltás be</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+1"/>
<source>Active Off</source>
- <translation>Aktív ki</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+1"/>
<source>Active On</source>
- <translation>Aktív be</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+1"/>
<source>Selected Off</source>
- <translation>Kiválaszott ki</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+1"/>
<source>Selected On</source>
- <translation>Kiválaszott be</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+8"/>
<source>Choose Resource...</source>
- <translation>Erőforrás kiválasztása...</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+1"/>
<source>Choose File...</source>
- <translation>Fájl kiválasztása...</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+1"/>
<source>Reset</source>
- <translation>Újraindítás</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+1"/>
<source>Reset All</source>
- <translation>Az összes újraindítása</translation>
+ <translation type="unfinished"></translation>
</message>
</context>
<context>
@@ -5204,58 +5199,58 @@ Felül szeretné írni a sablont?</translation>
<message>
<location filename="../tools/designer/src/components/taskmenu/itemlisteditor.cpp" line="+358"/>
<source>Properties &amp;&lt;&lt;</source>
- <translation>Tulajdonságok &amp;&lt;&lt;</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../tools/designer/src/components/taskmenu/itemlisteditor.ui" line="+143"/>
+ <location filename="../tools/designer/src/components/taskmenu/itemlisteditor.ui"/>
<location filename="../tools/designer/src/components/taskmenu/itemlisteditor.cpp" line="+2"/>
<source>Properties &amp;&gt;&gt;</source>
- <translation>Tulajdonságok &amp;&gt;&gt;</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="-75"/>
+ <location/>
<source>Items List</source>
- <translation>Elem lista</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+9"/>
+ <location/>
<source>New Item</source>
- <translation>Új elem</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+3"/>
+ <location/>
<source>&amp;New</source>
- <translation>&amp;Új</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+7"/>
+ <location/>
<source>Delete Item</source>
- <translation>Elem törlése</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+3"/>
+ <location/>
<source>&amp;Delete</source>
- <translation>&amp;Törlés</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+20"/>
+ <location/>
<source>Move Item Up</source>
- <translation>Elem mozgatása felfelé</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+3"/>
+ <location/>
<source>U</source>
- <translation>U</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+7"/>
+ <location/>
<source>Move Item Down</source>
- <translation>Elem mozgatása lefelé</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+3"/>
+ <location/>
<source>D</source>
- <translation>D</translation>
+ <translation type="unfinished"></translation>
</message>
</context>
<context>
@@ -5263,12 +5258,12 @@ Felül szeretné írni a sablont?</translation>
<message>
<location filename="../tools/designer/src/components/taskmenu/label_taskmenu.cpp" line="+85"/>
<source>Change rich text...</source>
- <translation>Gazdag szöveg választása...</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+1"/>
<source>Change plain text...</source>
- <translation>Egyszerű szöveg választása...</translation>
+ <translation type="unfinished"></translation>
</message>
</context>
<context>
@@ -5276,7 +5271,7 @@ Felül szeretné írni a sablont?</translation>
<message>
<location filename="../tools/designer/src/lib/shared/iconselector.cpp" line="-343"/>
<source>Choose Resource</source>
- <translation>Erőforrás kiválasztása</translation>
+ <translation type="unfinished"></translation>
</message>
</context>
<context>
@@ -5284,7 +5279,7 @@ Felül szeretné írni a sablont?</translation>
<message>
<location filename="../tools/designer/src/components/taskmenu/lineedit_taskmenu.cpp" line="+80"/>
<source>Change text...</source>
- <translation>Szöveg kiválasztása...</translation>
+ <translation type="unfinished"></translation>
</message>
</context>
<context>
@@ -5292,17 +5287,17 @@ Felül szeretné írni a sablont?</translation>
<message>
<location filename="../tools/designer/src/components/taskmenu/listwidgeteditor.cpp" line="+69"/>
<source>New Item</source>
- <translation>Új elem</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+32"/>
<source>Edit List Widget</source>
- <translation>Widget szerkesztési lista</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+19"/>
<source>Edit Combobox</source>
- <translation>Combobox szerkesztése</translation>
+ <translation type="unfinished"></translation>
</message>
</context>
<context>
@@ -5310,12 +5305,12 @@ Felül szeretné írni a sablont?</translation>
<message>
<location filename="../tools/designer/src/components/taskmenu/listwidget_taskmenu.cpp" line="+67"/>
<source>Edit Items...</source>
- <translation>Elemek szerkesztése...</translation>
+ <translation type="unfinished">Elem szerkesztése...</translation>
</message>
<message>
<location line="+38"/>
<source>Change List Contents</source>
- <translation>Tartalom változtatási lista</translation>
+ <translation type="unfinished"></translation>
</message>
</context>
<context>
@@ -5323,22 +5318,22 @@ Felül szeretné írni a sablont?</translation>
<message>
<location filename="../tools/designer/src/components/taskmenu/containerwidget_taskmenu.cpp" line="+118"/>
<source>Next Subwindow</source>
- <translation>Új alablak</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+1"/>
<source>Previous Subwindow</source>
- <translation>Előző alablak</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+1"/>
<source>Tile</source>
- <translation>Cserép</translation>
+ <translation type="unfinished">Mozaikszerű</translation>
</message>
<message>
<location line="+1"/>
<source>Cascade</source>
- <translation>Kaszkád</translation>
+ <translation type="unfinished">Lépcsőzetes</translation>
</message>
</context>
<context>
@@ -5346,7 +5341,7 @@ Felül szeretné írni a sablont?</translation>
<message>
<location filename="../tools/designer/src/components/taskmenu/menutaskmenu.cpp" line="+56"/>
<source>Remove</source>
- <translation>Eltávolítás</translation>
+ <translation type="unfinished">Törlés</translation>
</message>
</context>
<context>
@@ -5354,51 +5349,50 @@ Felül szeretné írni a sablont?</translation>
<message>
<location filename="../tools/designer/src/lib/shared/morphmenu.cpp" line="+264"/>
<source>Morph into</source>
- <translation>Morph into</translation>
+ <translation type="unfinished"></translation>
</message>
</context>
<context>
<name>qdesigner_internal::NewActionDialog</name>
<message>
- <location filename="../tools/designer/src/lib/shared/newactiondialog.ui" line="+46"/>
+ <location filename="../tools/designer/src/lib/shared/newactiondialog.ui"/>
<source>New Action...</source>
- <translation>Új tevékenység...</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+8"/>
+ <location/>
<source>&amp;Text:</source>
- <translation>&amp;Szöveg:</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+20"/>
+ <location/>
<source>Object &amp;name:</source>
- <translation>Objektum &amp;név:</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+13"/>
+ <location/>
<source>&amp;Icon:</source>
- <translation>&amp;Ikon:</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+30"/>
+ <location/>
<source>Shortcut:</source>
- <translation>Rövidebb út:</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+14"/>
+ <location/>
<source>Checkable:</source>
- <translation>Ellenőrizhető:</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+7"/>
+ <location/>
<source>ToolTip:</source>
- <translation>Eszköz tipp:</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+19"/>
- <location line="+21"/>
+ <location/>
<source>...</source>
- <translation>...</translation>
+ <translation type="unfinished">...</translation>
</message>
</context>
<context>
@@ -5406,41 +5400,39 @@ Felül szeretné írni a sablont?</translation>
<message>
<location filename="../tools/designer/src/components/propertyeditor/newdynamicpropertydialog.cpp" line="+134"/>
<source>Set Property Name</source>
- <translation>Tulajdonság nevének beállítása</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+11"/>
<source>The current object already has a property named &apos;%1&apos;.
Please select another, unique one.</source>
- <translation>Az aktuális objektumnak már van egy &apos;%1&apos; nevű tulajdonsága.
-Kérem válasszon másikat, egy egyedülállót.</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+4"/>
<source>The &apos;_q_&apos; prefix is reserved for the Qt library.
Please select another name.</source>
- <translation>Az &apos;_q_&apos; előtag foglalt a Qt könyvtárhoz.
-Kérem válasszon másikat.</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../tools/designer/src/components/propertyeditor/newdynamicpropertydialog.ui" line="+13"/>
+ <location filename="../tools/designer/src/components/propertyeditor/newdynamicpropertydialog.ui"/>
<source>Create Dynamic Property</source>
- <translation>Dinamikus tulajdonság létrehozása</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+24"/>
+ <location/>
<source>Property Name</source>
- <translation>Tulajdonság Neve</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+12"/>
+ <location/>
<source>horizontalSpacer</source>
- <translation>horizontálisTávtartó</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+24"/>
+ <location/>
<source>Property Type</source>
- <translation>Tulajdonság Típusa</translation>
+ <translation type="unfinished"></translation>
</message>
</context>
<context>
@@ -5448,83 +5440,83 @@ Kérem válasszon másikat.</translation>
<message>
<location filename="../tools/designer/src/lib/shared/newformwidget.cpp" line="+104"/>
<source>Default size</source>
- <translation>Alapértelmezett méret</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+1"/>
<source>QVGA portrait (240x320)</source>
- <translation>QVGA portré (240x320)</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+1"/>
<source>QVGA landscape (320x240)</source>
- <translation>QVGA tájkép (320x240)</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+1"/>
<source>VGA portrait (480x640)</source>
- <translation>VGA portré (480x640)</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+1"/>
<source>VGA landscape (640x480)</source>
- <translation>VGA tájkép: (640x480)</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+66"/>
<source>Widgets</source>
<extracomment>New Form Dialog Categories</extracomment>
- <translation>Widget-ek</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+1"/>
<source>Custom Widgets</source>
- <translation>Egyéni Widget-ek</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+18"/>
<source>None</source>
- <translation>Semmi</translation>
+ <translation type="unfinished">Nincs</translation>
</message>
<message>
<location line="+57"/>
<source>Error loading form</source>
- <translation>Hiba történt az űrlap betöltése közben</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+244"/>
<source>Unable to open the form template file &apos;%1&apos;: %2</source>
- <translation>Nem lehet megnyitni a(z) &apos;%1&apos; űrlap sablon fájlt: %2</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+67"/>
<source>Internal error: No template selected.</source>
- <translation>Belső hiba: Nincsen sablon kiválasztva.</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../tools/designer/src/lib/shared/newformwidget.ui" line="+82"/>
+ <location filename="../tools/designer/src/lib/shared/newformwidget.ui"/>
<source>0</source>
- <translation>0</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+19"/>
+ <location/>
<source>Choose a template for a preview</source>
- <translation>Válasszon egy sablont egy előnézetre</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+44"/>
+ <location/>
<source>Embedded Design</source>
- <translation>Beágyazott tervezés</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+12"/>
+ <location/>
<source>Device:</source>
- <translation>Eszköz:</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+7"/>
+ <location/>
<source>Screen Size:</source>
- <translation>Képernyő méret:</translation>
+ <translation type="unfinished"></translation>
</message>
</context>
<context>
@@ -5532,53 +5524,50 @@ Kérem válasszon másikat.</translation>
<message>
<location filename="../tools/designer/src/lib/shared/qdesigner_promotiondialog.cpp" line="+92"/>
<source>Add</source>
- <translation>Hozzáadás</translation>
+ <translation type="unfinished">Hozzáadás</translation>
</message>
<message>
<location line="+2"/>
<source>New Promoted Class</source>
- <translation>Új támogatott osztály</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+15"/>
<source>Base class name:</source>
- <translation>Alap osztály név:</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+1"/>
<source>Promoted class name:</source>
- <translation>Támogatott osztály neve:</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+1"/>
<source>Header file:</source>
- <translation>Fejállomány:</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+1"/>
<source>Global include</source>
- <translation>Globális include</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+11"/>
<source>Reset</source>
- <translation>Újraindítás</translation>
+ <translation type="unfinished"></translation>
</message>
</context>
<context>
<name>qdesigner_internal::ObjectInspector</name>
<message>
- <location filename="../tools/designer/src/components/objectinspector/objectinspector.cpp" line="+754"/>
- <source>&amp;Find in Text...</source>
- <translation>&amp;Keresés a szövegben...</translation>
+ <location filename="../tools/designer/src/components/objectinspector/objectinspector.cpp" line="+316"/>
+ <source>Change Current Page</source>
+ <translation type="unfinished"></translation>
</message>
-</context>
-<context>
- <name>qdesigner_internal::ObjectInspector::ObjectInspectorPrivate</name>
<message>
- <location line="-438"/>
- <source>Change Current Page</source>
- <translation>Aktuális lap megváltoztatása</translation>
+ <location line="+438"/>
+ <source>&amp;Find in Text...</source>
+ <translation type="unfinished">&amp;Keresés a szövegben...</translation>
</message>
</context>
<context>
@@ -5586,80 +5575,80 @@ Kérem válasszon másikat.</translation>
<message>
<location filename="../tools/designer/src/lib/shared/orderdialog.cpp" line="+109"/>
<source>Index %1 (%2)</source>
- <translation>Index %1 (%2)</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+3"/>
<source>%1 %2</source>
- <translation>%1 %2</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../tools/designer/src/lib/shared/orderdialog.ui" line="+53"/>
+ <location filename="../tools/designer/src/lib/shared/orderdialog.ui"/>
<source>Change Page Order</source>
- <translation>Lap sorrend megváltoztatása</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+6"/>
+ <location/>
<source>Page Order</source>
- <translation>Lap sorrend</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+57"/>
+ <location/>
<source>Move page up</source>
- <translation>Lap mozgatása felfelé</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+7"/>
+ <location/>
<source>Move page down</source>
- <translation>Lap mozgatása lefelé</translation>
+ <translation type="unfinished"></translation>
</message>
</context>
<context>
<name>qdesigner_internal::PaletteEditor</name>
<message>
- <location filename="../tools/designer/src/components/propertyeditor/paletteeditor.ui" line="+61"/>
+ <location filename="../tools/designer/src/components/propertyeditor/paletteeditor.ui"/>
<source>Edit Palette</source>
- <translation>Paletta szerkesztése</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+24"/>
+ <location/>
<source>Tune Palette</source>
- <translation>Paletta finomhangolása</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+37"/>
+ <location/>
<source>Show Details</source>
- <translation>Részletek megjelenítése</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+7"/>
+ <location/>
<source>Compute Details</source>
- <translation>Számítási részletek</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+10"/>
+ <location/>
<source>Quick</source>
- <translation>Gyors</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+18"/>
+ <location/>
<source>Preview</source>
- <translation>Előnézet</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+12"/>
+ <location/>
<source>Disabled</source>
- <translation>Tiltott</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+7"/>
+ <location/>
<source>Inactive</source>
- <translation>Inaktív</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+7"/>
+ <location/>
<source>Active</source>
- <translation>Aktív</translation>
+ <translation type="unfinished"></translation>
</message>
</context>
<context>
@@ -5667,7 +5656,7 @@ Kérem válasszon másikat.</translation>
<message>
<location filename="../tools/designer/src/components/propertyeditor/paletteeditorbutton.cpp" line="+57"/>
<source>Change Palette</source>
- <translation>Paletta megváltoztatása</translation>
+ <translation type="unfinished"></translation>
</message>
</context>
<context>
@@ -5675,22 +5664,22 @@ Kérem válasszon másikat.</translation>
<message>
<location filename="../tools/designer/src/components/propertyeditor/paletteeditor.cpp" line="+374"/>
<source>Color Role</source>
- <translation>Szín szabály</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+2"/>
<source>Active</source>
- <translation>Aktív</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+2"/>
<source>Inactive</source>
- <translation>Inaktív</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+2"/>
<source>Disabled</source>
- <translation>Tiltott</translation>
+ <translation type="unfinished"></translation>
</message>
</context>
<context>
@@ -5698,28 +5687,28 @@ Kérem válasszon másikat.</translation>
<message>
<location filename="../tools/designer/src/components/propertyeditor/designerpropertymanager.cpp" line="-1541"/>
<source>Choose Resource...</source>
- <translation>Erőforrás kiválasztása...</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+1"/>
<source>Choose File...</source>
- <translation>Fájl kiválasztása...</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+1"/>
<source>Copy Path</source>
- <translation>Útvonal kiválasztása</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+1"/>
<source>Paste Path</source>
- <translation>Útvonal beillesztése</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+6"/>
<location line="+16"/>
<source>...</source>
- <translation>...</translation>
+ <translation type="unfinished">...</translation>
</message>
</context>
<context>
@@ -5727,7 +5716,7 @@ Kérem válasszon másikat.</translation>
<message>
<location filename="../tools/designer/src/lib/shared/plaintexteditor.cpp" line="+65"/>
<source>Edit text</source>
- <translation>Szöveg szerkesztése</translation>
+ <translation type="unfinished"></translation>
</message>
</context>
<context>
@@ -5735,37 +5724,37 @@ Kérem válasszon másikat.</translation>
<message>
<location filename="../tools/designer/src/lib/shared/plugindialog.cpp" line="+72"/>
<source>Components</source>
- <translation>Komponensek</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+13"/>
<source>Plugin Information</source>
- <translation>Beépülő modul információ</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+4"/>
<source>Refresh</source>
- <translation>Felfrissítés</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+1"/>
<source>Scan for newly installed custom widget plugins.</source>
- <translation>Újonnan telepített egyéni widget beépülő modulok letapogatása.</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+48"/>
<source>Qt Designer couldn&apos;t find any plugins</source>
- <translation>Qt Designer nem talált egyetlen beépülő modult sem</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+3"/>
<source>Qt Designer found the following plugins</source>
- <translation>Qt Designer a következő beépülő modulokat találta</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+55"/>
<source>New custom widget plugins have been found.</source>
- <translation>Új egyéni widget betöltő modul talált.</translation>
+ <translation type="unfinished"></translation>
</message>
</context>
<context>
@@ -5773,7 +5762,7 @@ Kérem válasszon másikat.</translation>
<message>
<location filename="../tools/designer/src/components/formeditor/previewactiongroup.cpp" line="+95"/>
<source>%1 Style</source>
- <translation>%1 Stílus</translation>
+ <translation type="unfinished"></translation>
</message>
</context>
<context>
@@ -5781,52 +5770,48 @@ Kérem válasszon másikat.</translation>
<message>
<location filename="../tools/designer/src/lib/shared/previewconfigurationwidget.cpp" line="+139"/>
<source>Default</source>
- <translation>Alapértelmezett</translation>
+ <translation type="unfinished">Alapértelmezett</translation>
</message>
<message>
<location line="+22"/>
<source>None</source>
- <translation>Semmi</translation>
+ <translation type="unfinished">Nincs</translation>
</message>
<message>
<location line="+6"/>
<source>Browse...</source>
- <translation>Böngészés...</translation>
+ <translation type="unfinished"></translation>
</message>
-</context>
-<context>
- <name>qdesigner_internal::PreviewConfigurationWidget::PreviewConfigurationWidgetPrivate</name>
<message>
<location line="+118"/>
<source>Load Custom Device Skin</source>
- <translation>Egyéni eszköz szkin betöltése</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+2"/>
<source>All QVFB Skins (*.%1)</source>
- <translation>Az összes QVFB szkin (*.%1)</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+16"/>
<source>%1 - Duplicate Skin</source>
- <translation>%1 - Duplikált szkin</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+1"/>
<source>The skin &apos;%1&apos; already exists.</source>
- <translation>A(z) &apos;%1&apos; szkin már létezik.</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+14"/>
<source>%1 - Error</source>
- <translation>%1 - Hiba</translation>
+ <translation type="unfinished">%1 - Hiba</translation>
</message>
<message>
<location line="+1"/>
<source>%1 is not a valid skin directory:
%2</source>
- <translation>%1 nem egy érvényes szkin könyvtár:
-%2</translation>
+ <translation type="unfinished"></translation>
</message>
</context>
<context>
@@ -5851,7 +5836,7 @@ Kérem válasszon másikat.</translation>
<message>
<location line="+1"/>
<source>&amp;Close</source>
- <translation>&amp;Bezárás</translation>
+ <translation type="unfinished"></translation>
</message>
</context>
<context>
@@ -5875,57 +5860,57 @@ ate the goose who was loose.</source>
<context>
<name>qdesigner_internal::PreviewWidget</name>
<message>
- <location filename="../tools/designer/src/components/propertyeditor/previewwidget.ui" line="+61"/>
+ <location filename="../tools/designer/src/components/propertyeditor/previewwidget.ui"/>
<source>Preview Window</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+20"/>
+ <location/>
<source>LineEdit</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+8"/>
+ <location/>
<source>ComboBox</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+19"/>
+ <location/>
<source>PushButton</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+58"/>
+ <location/>
<source>ButtonGroup2</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+12"/>
+ <location/>
<source>CheckBox1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+10"/>
+ <location/>
<source>CheckBox2</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+10"/>
+ <location/>
<source>ButtonGroup</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+12"/>
+ <location/>
<source>RadioButton1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+10"/>
+ <location/>
<source>RadioButton2</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+7"/>
+ <location/>
<source>RadioButton3</source>
<translation type="unfinished"></translation>
</message>
@@ -5935,7 +5920,7 @@ ate the goose who was loose.</source>
<message>
<location filename="../tools/designer/src/lib/shared/promotionmodel.cpp" line="+17"/>
<source>Name</source>
- <translation type="unfinished"></translation>
+ <translation type="unfinished">Név</translation>
</message>
<message>
<location line="+1"/>
@@ -5984,7 +5969,7 @@ ate the goose who was loose.</source>
<context>
<name>qdesigner_internal::PropertyEditor</name>
<message>
- <location filename="../tools/designer/src/components/propertyeditor/propertyeditor.cpp" line="+183"/>
+ <location filename="../tools/designer/src/components/propertyeditor/propertyeditor.cpp" line="+231"/>
<source>Add Dynamic Property...</source>
<translation type="unfinished"></translation>
</message>
@@ -6014,7 +5999,7 @@ ate the goose who was loose.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+50"/>
+ <location line="+45"/>
<source>String...</source>
<translation type="unfinished"></translation>
</message>
@@ -6034,7 +6019,7 @@ ate the goose who was loose.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+533"/>
+ <location line="+539"/>
<source>Object: %1
Class: %2</source>
<translation type="unfinished"></translation>
@@ -6073,7 +6058,7 @@ Class: %2</source>
<message>
<location line="+17"/>
<source>%1 - Error</source>
- <translation type="unfinished"></translation>
+ <translation type="unfinished">%1 - Hiba</translation>
</message>
</context>
<context>
@@ -6296,7 +6281,7 @@ Class: %2</source>
<message>
<location line="+1"/>
<source>Value</source>
- <translation type="unfinished"></translation>
+ <translation type="unfinished">Érték</translation>
</message>
<message>
<location line="+22"/>
@@ -6362,7 +6347,7 @@ Class: %2</source>
<message>
<location line="-302"/>
<source>Bold</source>
- <translation type="unfinished"></translation>
+ <translation type="unfinished">Félkövér</translation>
</message>
<message>
<location line="+1"/>
@@ -6372,7 +6357,7 @@ Class: %2</source>
<message>
<location line="+5"/>
<source>Italic</source>
- <translation type="unfinished"></translation>
+ <translation type="unfinished">Dőlt</translation>
</message>
<message>
<location line="+1"/>
@@ -6382,7 +6367,7 @@ Class: %2</source>
<message>
<location line="+5"/>
<source>Underline</source>
- <translation type="unfinished"></translation>
+ <translation type="unfinished">Aláhúzott</translation>
</message>
<message>
<location line="+1"/>
@@ -6506,7 +6491,7 @@ Class: %2</source>
<message>
<location filename="../tools/designer/src/components/taskmenu/toolbar_taskmenu.cpp" line="+81"/>
<source>Remove</source>
- <translation type="unfinished"></translation>
+ <translation type="unfinished">Törlés</translation>
</message>
</context>
<context>
@@ -6603,49 +6588,49 @@ Class: %2</source>
<context>
<name>qdesigner_internal::TableWidgetEditor</name>
<message>
- <location filename="../tools/designer/src/components/taskmenu/tablewidgeteditor.ui" line="+97"/>
- <location filename="../tools/designer/src/components/taskmenu/tablewidgeteditor.cpp" line="+218"/>
- <source>Properties &amp;&gt;&gt;</source>
+ <location filename="../tools/designer/src/components/taskmenu/tablewidgeteditor.cpp" line="+67"/>
+ <source>New Column</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-44"/>
- <source>Edit Table Widget</source>
+ <location line="+3"/>
+ <source>New Row</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+10"/>
- <source>&amp;Items</source>
+ <location line="+8"/>
+ <source>&amp;Columns</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+12"/>
- <source>Table Items</source>
+ <location line="+1"/>
+ <source>&amp;Rows</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../tools/designer/src/components/taskmenu/tablewidgeteditor.cpp" line="-151"/>
- <source>New Column</source>
+ <location line="+137"/>
+ <source>Properties &amp;&lt;&lt;</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+3"/>
- <source>New Row</source>
+ <location filename="../tools/designer/src/components/taskmenu/tablewidgeteditor.ui"/>
+ <location filename="../tools/designer/src/components/taskmenu/tablewidgeteditor.cpp" line="+2"/>
+ <source>Properties &amp;&gt;&gt;</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+8"/>
- <source>&amp;Columns</source>
+ <location/>
+ <source>Edit Table Widget</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+1"/>
- <source>&amp;Rows</source>
+ <location/>
+ <source>&amp;Items</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+137"/>
- <source>Properties &amp;&lt;&lt;</source>
+ <location/>
+ <source>Table Items</source>
<translation type="unfinished"></translation>
</message>
</context>
@@ -6654,7 +6639,7 @@ Class: %2</source>
<message>
<location filename="../tools/designer/src/components/taskmenu/tablewidget_taskmenu.cpp" line="+64"/>
<source>Edit Items...</source>
- <translation type="unfinished"></translation>
+ <translation type="unfinished">Elem szerkesztése...</translation>
</message>
</context>
<context>
@@ -6665,20 +6650,19 @@ Class: %2</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../tools/designer/src/components/formeditor/templateoptionspage.ui" line="+13"/>
+ <location filename="../tools/designer/src/components/formeditor/templateoptionspage.ui"/>
<source>Form</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+6"/>
+ <location/>
<source>Additional Template Paths</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+9"/>
- <location line="+7"/>
+ <location/>
<source>...</source>
- <translation type="unfinished"></translation>
+ <translation type="unfinished">...</translation>
</message>
</context>
<context>
@@ -6719,7 +6703,7 @@ Class: %2</source>
<message>
<location line="+5"/>
<source>...</source>
- <translation type="unfinished"></translation>
+ <translation type="unfinished">...</translation>
</message>
<message>
<location line="+118"/>
@@ -6778,13 +6762,13 @@ Class: %2</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../tools/designer/src/components/taskmenu/treewidgeteditor.ui" line="+101"/>
+ <location filename="../tools/designer/src/components/taskmenu/treewidgeteditor.ui"/>
<location filename="../tools/designer/src/components/taskmenu/treewidgeteditor.cpp" line="+53"/>
<source>New Item</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+10"/>
+ <location/>
<location filename="../tools/designer/src/components/taskmenu/treewidgeteditor.cpp" line="+19"/>
<source>New Subitem</source>
<translation type="unfinished"></translation>
@@ -6795,88 +6779,88 @@ Class: %2</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../tools/designer/src/components/taskmenu/treewidgeteditor.ui" line="+86"/>
+ <location filename="../tools/designer/src/components/taskmenu/treewidgeteditor.ui"/>
<location filename="../tools/designer/src/components/taskmenu/treewidgeteditor.cpp" line="+2"/>
<source>Properties &amp;&gt;&gt;</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-144"/>
+ <location/>
<source>Edit Tree Widget</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+10"/>
+ <location/>
<source>&amp;Items</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+24"/>
+ <location/>
<source>Tree Items</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+4"/>
+ <location/>
<source>1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+13"/>
+ <location/>
<source>&amp;New</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+10"/>
+ <location/>
<source>New &amp;Subitem</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+7"/>
+ <location/>
<source>Delete Item</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+3"/>
+ <location/>
<source>&amp;Delete</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+20"/>
+ <location/>
<source>Move Item Left (before Parent Item)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+3"/>
+ <location/>
<source>L</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+7"/>
+ <location/>
<source>Move Item Right (as a First Subitem of the Next Sibling Item)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+3"/>
+ <location/>
<source>R</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+7"/>
+ <location/>
<source>Move Item Up</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+3"/>
+ <location/>
<source>U</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+7"/>
+ <location/>
<source>Move Item Down</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+3"/>
+ <location/>
<source>D</source>
<translation type="unfinished"></translation>
</message>
@@ -6886,7 +6870,7 @@ Class: %2</source>
<message>
<location filename="../tools/designer/src/components/taskmenu/treewidget_taskmenu.cpp" line="+63"/>
<source>Edit Items...</source>
- <translation type="unfinished"></translation>
+ <translation type="unfinished">Elem szerkesztése...</translation>
</message>
</context>
<context>
@@ -6932,7 +6916,7 @@ Class: %2</source>
<message>
<location line="+15"/>
<source>Remove</source>
- <translation type="unfinished"></translation>
+ <translation type="unfinished">Törlés</translation>
</message>
<message>
<location line="+2"/>
@@ -6995,12 +6979,12 @@ This indicates an inconsistency in the ui-file.</source>
<message>
<location filename="../tools/designer/src/components/taskmenu/containerwidget_taskmenu.cpp" line="-49"/>
<source>Next</source>
- <translation type="unfinished"></translation>
+ <translation type="unfinished">Következő</translation>
</message>
<message>
<location line="+1"/>
<source>Back</source>
- <translation type="unfinished"></translation>
+ <translation type="unfinished">Vissza</translation>
</message>
</context>
<context>
diff --git a/translations/designer_pl.ts b/translations/designer_pl.ts
index 3b998ba9a3..0298a272b7 100644
--- a/translations/designer_pl.ts
+++ b/translations/designer_pl.ts
@@ -255,7 +255,7 @@
<translation>Linie krzyżujące się</translation>
</message>
<message>
- <location line="+83"/>
+ <location line="+93"/>
<source>Style</source>
<translation>Styl</translation>
</message>
@@ -506,7 +506,7 @@
<translation>Usuń pasek narzędzi</translation>
</message>
<message>
- <location filename="../tools/designer/src/lib/shared/qdesigner_menu.cpp" line="+1195"/>
+ <location filename="../tools/designer/src/lib/shared/qdesigner_menu.cpp" line="+1194"/>
<source>Set action text</source>
<translation>Ustaw tekst akcji</translation>
</message>
@@ -621,7 +621,7 @@
<translation>Zmień skrypt</translation>
</message>
<message>
- <location filename="../tools/designer/src/lib/shared/qdesigner_propertycommand.cpp" line="+1213"/>
+ <location filename="../tools/designer/src/lib/shared/qdesigner_propertycommand.cpp" line="+1225"/>
<source>Changed &apos;%1&apos; of &apos;%2&apos;</source>
<translation>Zmień &apos;%1&apos; w &apos;%2&apos;</translation>
</message>
@@ -635,7 +635,7 @@
</translation>
</message>
<message>
- <location line="+76"/>
+ <location line="+84"/>
<source>Reset &apos;%1&apos; of &apos;%2&apos;</source>
<translation>Przywróć domyślną wartość &apos;%1&apos; w &apos;%2&apos;</translation>
</message>
@@ -742,7 +742,7 @@
<context>
<name>Designer</name>
<message>
- <location filename="../tools/designer/src/components/formeditor/qdesigner_resource.cpp" line="+449"/>
+ <location filename="../tools/designer/src/components/formeditor/qdesigner_resource.cpp" line="+446"/>
<source>Qt Designer</source>
<translation>Qt Designer</translation>
</message>
@@ -1110,7 +1110,7 @@
<context>
<name>FormWindow</name>
<message>
- <location filename="../tools/designer/src/components/formeditor/formwindow.cpp" line="+1701"/>
+ <location filename="../tools/designer/src/components/formeditor/formwindow.cpp" line="+1754"/>
<source>Unexpected element &lt;%1&gt;</source>
<translation>Niespodziewany element &lt;%1&gt;</translation>
</message>
@@ -1203,7 +1203,7 @@
<context>
<name>MainWindowBase</name>
<message>
- <location filename="../tools/designer/src/designer/mainwindow.cpp" line="+119"/>
+ <location filename="../tools/designer/src/designer/mainwindow.cpp" line="+121"/>
<source>Main</source>
<extracomment>Not currently used (main tool bar)</extracomment>
<translation>Główny</translation>
@@ -1582,12 +1582,12 @@ Skrypt: %3</translation>
<context>
<name>QDesignerActions</name>
<message>
- <location filename="../tools/designer/src/designer/qdesigner_actions.cpp" line="+493"/>
+ <location filename="../tools/designer/src/designer/qdesigner_actions.cpp" line="+519"/>
<source>Clear &amp;Menu</source>
<translation>Wyczyść &amp;menu</translation>
</message>
<message>
- <location line="-305"/>
+ <location line="-329"/>
<source>&amp;Quit</source>
<translation>Za&amp;kończ</translation>
</message>
@@ -1597,22 +1597,22 @@ Skrypt: %3</translation>
<translation>Modyfikuj widżety</translation>
</message>
<message>
- <location line="+195"/>
+ <location line="+219"/>
<source>CTRL+R</source>
<translation>CTRL+R</translation>
</message>
<message>
- <location line="-182"/>
+ <location line="-206"/>
<source>&amp;Minimize</source>
<translation>&amp;Zminimalizuj</translation>
</message>
<message>
- <location line="+200"/>
+ <location line="+224"/>
<source>CTRL+M</source>
<translation>CTRL+M</translation>
</message>
<message>
- <location line="-198"/>
+ <location line="-222"/>
<source>Bring All to Front</source>
<translation>Wszystkie na wierzch</translation>
</message>
@@ -1622,7 +1622,7 @@ Skrypt: %3</translation>
<translation>Dodatkowe czcionki...</translation>
</message>
<message>
- <location line="+226"/>
+ <location line="+250"/>
<source>Qt Designer &amp;Help</source>
<translation>Pomo&amp;c Qt Designer</translation>
</message>
@@ -1694,41 +1694,41 @@ Czy chcesz spróbować ponownie lub zmienić nazwę pliku?</translation>
<translation>Wybierz nowy plik</translation>
</message>
<message>
- <location line="-699"/>
+ <location line="-723"/>
<source>%1 already exists.
Do you want to replace it?</source>
<translation>%1 już istnieje.
Czy chcesz go zastąpić?</translation>
</message>
<message>
- <location line="+930"/>
+ <location line="+954"/>
<source>&amp;Close Preview</source>
<translation>Za&amp;mknij podgląd</translation>
</message>
<message>
- <location line="-889"/>
+ <location line="-913"/>
<source>Preferences...</source>
<translation>Ustawienia...</translation>
</message>
<message>
- <location line="+65"/>
+ <location line="+75"/>
<source>CTRL+SHIFT+S</source>
<translation>CTRL+SHIFT+S</translation>
</message>
<message>
- <location line="+317"/>
+ <location line="+331"/>
<location line="+37"/>
<location line="+160"/>
<source>Designer UI files (*.%1);;All Files (*)</source>
<translation>Pliki Designer UI (*.%1);;Wszystkie pliki (*)</translation>
</message>
<message>
- <location line="-646"/>
+ <location line="-670"/>
<source>Saved %1.</source>
<translation>Formularz %1 zachowany pomyślnie.</translation>
</message>
<message>
- <location line="+632"/>
+ <location line="+656"/>
<source>Read error</source>
<translation>Błąd odczytu</translation>
</message>
@@ -1760,7 +1760,7 @@ Czy chcesz zaktualizować położenie pliku lub wygenerować nowy formularz?</tr
<translation>Nie można zapisać pliku</translation>
</message>
<message>
- <location line="-704"/>
+ <location line="-728"/>
<source>&amp;New...</source>
<translation>&amp;Nowy...</translation>
</message>
@@ -1791,12 +1791,12 @@ Czy chcesz zaktualizować położenie pliku lub wygenerować nowy formularz?</tr
</message>
<message>
<location line="+1"/>
- <location line="+901"/>
+ <location line="+925"/>
<source>&amp;Close</source>
<translation>Za&amp;mknij</translation>
</message>
<message>
- <location line="-900"/>
+ <location line="-924"/>
<source>Save &amp;Image...</source>
<translation>Zachowaj o&amp;brazek...</translation>
</message>
@@ -1811,7 +1811,7 @@ Czy chcesz zaktualizować położenie pliku lub wygenerować nowy formularz?</tr
<translation>Pokaż &amp;kod...</translation>
</message>
<message>
- <location line="+424"/>
+ <location line="+448"/>
<location line="+248"/>
<source>Save Form As</source>
<translation>Zachowaj formularz jako</translation>
@@ -1889,7 +1889,7 @@ Czy chcesz spróbować ponownie?</translation>
<translation>Wydrukowano %1.</translation>
</message>
<message>
- <location line="-1149"/>
+ <location line="-1163"/>
<source>ALT+CTRL+S</source>
<translation>ALT+CTRL+S</translation>
</message>
@@ -1988,7 +1988,7 @@ Czy chcesz spróbować ponownie?</translation>
<context>
<name>QDesignerMenu</name>
<message>
- <location filename="../tools/designer/src/lib/shared/qdesigner_menu.cpp" line="-1181"/>
+ <location filename="../tools/designer/src/lib/shared/qdesigner_menu.cpp" line="-1179"/>
<source>Type Here</source>
<translation>Wpisz tutaj</translation>
</message>
@@ -2003,18 +2003,18 @@ Czy chcesz spróbować ponownie?</translation>
<translation>Usuń akcję &apos;%1&apos;</translation>
</message>
<message>
- <location line="+327"/>
+ <location line="+325"/>
<source>Insert action</source>
<translation>Wstaw akcję</translation>
</message>
<message>
- <location line="-302"/>
- <location line="+650"/>
+ <location line="-300"/>
+ <location line="+648"/>
<source>Add separator</source>
<translation>Dodaj separator</translation>
</message>
<message>
- <location line="-682"/>
+ <location line="-680"/>
<source>Insert separator</source>
<translation>Wstaw separator</translation>
</message>
@@ -2088,7 +2088,7 @@ Czy chcesz spróbować ponownie?</translation>
<context>
<name>QDesignerPropertySheet</name>
<message>
- <location filename="../tools/designer/src/lib/shared/qdesigner_propertysheet.cpp" line="+754"/>
+ <location filename="../tools/designer/src/lib/shared/qdesigner_propertysheet.cpp" line="+758"/>
<source>Dynamic Properties</source>
<translation>Dynamiczne właściwości</translation>
</message>
@@ -2101,14 +2101,14 @@ Czy chcesz spróbować ponownie?</translation>
<translation>Rozmieszczenie typu &apos;%1&apos; nie jest obsługiwane. Będzie ono zastąpione siatką.</translation>
</message>
<message>
- <location line="+243"/>
+ <location line="+239"/>
<source>The container extension of the widget &apos;%1&apos; (%2) returned a widget not managed by Designer &apos;%3&apos; (%4) when queried for page #%5.
Container pages should only be added by specifying them in XML returned by the domXml() method of the custom widget.</source>
<translation>Rozszerzenie pojemnikowe widżetu &quot;%1&quot; (%2) zwróciło widżet który nie jest zarządzany przez Designera &quot;%3&quot; (%4) podczas pytania o stronę #%5.
Strony pojemników powinny być dodawane jedynie poprzez wyspecyfikowanie ich w XML zwróconym przez metodę domXml() w widżecie użytkownika.</translation>
</message>
<message>
- <location line="+599"/>
+ <location line="+545"/>
<source>Unexpected element &lt;%1&gt;</source>
<extracomment>Parsing clipboard contents</extracomment>
<translation>Niespodziewany element &lt;%1&gt;</translation>
@@ -2205,7 +2205,7 @@ Strony pojemników powinny być dodawane jedynie poprzez wyspecyfikowanie ich w
<translation>Panel widżetów</translation>
</message>
<message>
- <location line="+391"/>
+ <location line="+392"/>
<source>The last session of Designer was not terminated correctly. Backup files were left behind. Do you want to load them?</source>
<translation>Designer nie został poprawnie zamknięty w trakcie ostatniej sesji. Istnieją pliki zapasowe, czy chcesz je otworzyć?</translation>
</message>
@@ -2215,7 +2215,7 @@ Strony pojemników powinny być dodawane jedynie poprzez wyspecyfikowanie ich w
<translation>Plik &lt;b&gt;%1&lt;/b&gt; nie jest poprawnym plikiem UI Designera.</translation>
</message>
<message>
- <location line="-750"/>
+ <location line="-751"/>
<source>&amp;Window</source>
<translation>&amp;Okno</translation>
</message>
@@ -2235,7 +2235,7 @@ Strony pojemników powinny być dodawane jedynie poprzez wyspecyfikowanie ich w
<translation>Paski narzędzi</translation>
</message>
<message>
- <location line="+465"/>
+ <location line="+466"/>
<source>Save Forms?</source>
<translation>Zachować formularze?</translation>
</message>
@@ -2317,6 +2317,16 @@ Strony pojemników powinny być dodawane jedynie poprzez wyspecyfikowanie ich w
<source>The property %1 could not be written. The type %2 is not supported yet.</source>
<translation>Nie można zapisać właściwości %1. Typ %2 nie jest jeszcze obsługiwany.</translation>
</message>
+ <message>
+ <location filename="../tools/designer/src/lib/uilib/properties_p.h" line="+132"/>
+ <source>The enumeration-value &apos;%1&apos; is invalid. The default value &apos;%2&apos; will be used instead.</source>
+ <translation>Wartość &quot;%1&quot; typu wyliczeniowego jest niepoprawna. Użyta zostanie domyślna wartość &quot;%2&quot;.</translation>
+ </message>
+ <message>
+ <location line="+14"/>
+ <source>The flag-value &apos;%1&apos; is invalid. Zero will be used instead.</source>
+ <translation>Wartość &quot;%1&quot; flagi jest niepoprawna. Użyta zostanie wartość zerowa.</translation>
+ </message>
</context>
<context>
<name>QStackedWidgetEventFilter</name>
@@ -2450,7 +2460,7 @@ Strony pojemników powinny być dodawane jedynie poprzez wyspecyfikowanie ich w
<context>
<name>QtBoolEdit</name>
<message>
- <location filename="../tools/shared/qtpropertybrowser/qtpropertybrowserutils.cpp" line="+226"/>
+ <location filename="../tools/shared/qtpropertybrowser/qtpropertybrowserutils.cpp" line="+255"/>
<location line="+10"/>
<location line="+25"/>
<source>True</source>
@@ -2466,7 +2476,7 @@ Strony pojemników powinny być dodawane jedynie poprzez wyspecyfikowanie ich w
<context>
<name>QtBoolPropertyManager</name>
<message>
- <location filename="../tools/shared/qtpropertybrowser/qtpropertymanager.cpp" line="+1469"/>
+ <location filename="../tools/shared/qtpropertybrowser/qtpropertymanager.cpp" line="+1507"/>
<source>True</source>
<translation>Prawda</translation>
</message>
@@ -2479,7 +2489,7 @@ Strony pojemników powinny być dodawane jedynie poprzez wyspecyfikowanie ich w
<context>
<name>QtCharEdit</name>
<message>
- <location filename="../tools/shared/qtpropertybrowser/qteditorfactory.cpp" line="+1581"/>
+ <location filename="../tools/shared/qtpropertybrowser/qteditorfactory.cpp" line="+1584"/>
<source>Clear Char</source>
<translation>Wyczyść znak</translation>
</message>
@@ -2495,7 +2505,7 @@ Strony pojemników powinny być dodawane jedynie poprzez wyspecyfikowanie ich w
<context>
<name>QtColorPropertyManager</name>
<message>
- <location filename="../tools/shared/qtpropertybrowser/qtpropertymanager.cpp" line="+4743"/>
+ <location filename="../tools/shared/qtpropertybrowser/qtpropertymanager.cpp" line="+4718"/>
<source>Red</source>
<translation>Czerwień</translation>
</message>
@@ -2518,7 +2528,7 @@ Strony pojemników powinny być dodawane jedynie poprzez wyspecyfikowanie ich w
<context>
<name>QtCursorDatabase</name>
<message>
- <location filename="../tools/shared/qtpropertybrowser/qtpropertybrowserutils.cpp" line="-202"/>
+ <location filename="../tools/shared/qtpropertybrowser/qtpropertybrowserutils.cpp" line="-230"/>
<source>Cross</source>
<translation>Krzyż</translation>
</message>
@@ -3066,6 +3076,7 @@ Strony pojemników powinny być dodawane jedynie poprzez wyspecyfikowanie ich w
<name>QtGradientViewDialog</name>
<message>
<location filename="../tools/shared/qtgradienteditor/qtgradientviewdialog.ui"/>
+ <location filename="../tools/shared/qtgradienteditor/qtgradientviewdialog.h" line="+62"/>
<source>Select Gradient</source>
<translation>Wybierz gradient</translation>
</message>
@@ -3073,7 +3084,7 @@ Strony pojemników powinny być dodawane jedynie poprzez wyspecyfikowanie ich w
<context>
<name>QtKeySequenceEdit</name>
<message>
- <location filename="../tools/shared/qtpropertybrowser/qtpropertybrowserutils.cpp" line="+221"/>
+ <location filename="../tools/shared/qtpropertybrowser/qtpropertybrowserutils.cpp" line="+249"/>
<source>Clear Shortcut</source>
<translation>Wyczyść skrót</translation>
</message>
@@ -3135,7 +3146,7 @@ Strony pojemników powinny być dodawane jedynie poprzez wyspecyfikowanie ich w
<context>
<name>QtPropertyBrowserUtils</name>
<message>
- <location filename="../tools/shared/qtpropertybrowser/qtpropertybrowserutils.cpp" line="-136"/>
+ <location filename="../tools/shared/qtpropertybrowser/qtpropertybrowserutils.cpp" line="-156"/>
<source>[%1, %2, %3] (%4)</source>
<translation>[%1, %2, %3] (%4)</translation>
</message>
@@ -3490,7 +3501,7 @@ jako:
<context>
<name>QtResourceView</name>
<message>
- <location filename="../tools/designer/src/lib/shared/qtresourceview.cpp" line="+566"/>
+ <location filename="../tools/designer/src/lib/shared/qtresourceview.cpp" line="+567"/>
<source>Size: %1 x %2
%3</source>
<translation>Rozmiar: %1 x %2
@@ -3515,7 +3526,7 @@ jako:
<context>
<name>QtResourceViewDialog</name>
<message>
- <location line="+250"/>
+ <location line="+252"/>
<source>Select Resource</source>
<translation>Wybierz zasób</translation>
</message>
@@ -3901,6 +3912,26 @@ Czy chcesz nadpisać szablon?</translation>
</message>
<message>
<location line="+6"/>
+ <source>File</source>
+ <translation>Plik</translation>
+ </message>
+ <message>
+ <location line="+4"/>
+ <source>Edit</source>
+ <translation>Edycja</translation>
+ </message>
+ <message>
+ <location line="+4"/>
+ <source>Tools</source>
+ <translation>Narzędzia</translation>
+ </message>
+ <message>
+ <location line="+4"/>
+ <source>Form</source>
+ <translation>Formularz</translation>
+ </message>
+ <message>
+ <location line="+4"/>
<source>Toolbars</source>
<translation>Paski narzędzi</translation>
</message>
@@ -3908,7 +3939,7 @@ Czy chcesz nadpisać szablon?</translation>
<context>
<name>VersionDialog</name>
<message>
- <location filename="../tools/designer/src/designer/versiondialog.cpp" line="+172"/>
+ <location filename="../tools/designer/src/designer/versiondialog.cpp" line="+171"/>
<source>Qt Designer</source>
<translation>Qt Designer</translation>
</message>
@@ -4027,7 +4058,7 @@ Czy chcesz nadpisać szablon?</translation>
<context>
<name>qdesigner_internal::ActionModel</name>
<message>
- <location filename="../tools/designer/src/lib/shared/actionrepository.cpp" line="+95"/>
+ <location filename="../tools/designer/src/lib/shared/actionrepository.cpp" line="+89"/>
<source>Name</source>
<translation>Nazwa</translation>
</message>
@@ -4694,9 +4725,14 @@ Czy chcesz nadpisać szablon?</translation>
<context>
<name>qdesigner_internal::FilterWidget</name>
<message>
- <location filename="../tools/designer/src/lib/shared/filterwidget.cpp" line="+185"/>
- <source>&lt;Filter&gt;</source>
- <translation>&lt;Filtr&gt;</translation>
+ <location filename="../tools/designer/src/lib/shared/filterwidget.cpp" line="+163"/>
+ <source>Filter</source>
+ <translation>Filtr</translation>
+ </message>
+ <message>
+ <location line="+36"/>
+ <source>Clear text</source>
+ <translation>Wyczyść tekst</translation>
</message>
</context>
<context>
@@ -4723,7 +4759,7 @@ Czy chcesz nadpisać szablon?</translation>
<context>
<name>qdesigner_internal::FormWindow</name>
<message>
- <location filename="../tools/designer/src/components/formeditor/formwindow.cpp" line="-1267"/>
+ <location filename="../tools/designer/src/components/formeditor/formwindow.cpp" line="-1322"/>
<source>Edit contents</source>
<translation>Modyfikuj zawartość</translation>
</message>
@@ -4733,18 +4769,22 @@ Czy chcesz nadpisać szablon?</translation>
<translation>F2</translation>
</message>
<message>
- <location line="+841"/>
+ <location line="+840"/>
<source>Resize</source>
<translation>Zmień rozmiar</translation>
</message>
<message>
- <location line="+218"/>
- <location line="+15"/>
+ <location line="+248"/>
<source>Key Move</source>
<translation>Przeniesienie</translation>
</message>
<message>
- <location line="+270"/>
+ <location line="+0"/>
+ <source>Key Resize</source>
+ <translation>Zmiana rozmiaru</translation>
+ </message>
+ <message>
+ <location line="+311"/>
<source>Cannot paste widgets. Designer could not find a container without a layout to paste into.</source>
<translation>Nie można wkleić widżetów. Nie można było odnaleźć pojemnika bez rozmieszczenia do którego można by wkleić widżety.</translation>
</message>
@@ -4759,18 +4799,18 @@ Czy chcesz nadpisać szablon?</translation>
<translation>Błąd wklejania</translation>
</message>
<message>
- <location line="+445"/>
+ <location line="+448"/>
<source>Lay out</source>
<translation>Rozmieść</translation>
</message>
<message>
- <location line="+493"/>
+ <location line="+485"/>
<location line="+55"/>
<source>Drop widget</source>
<translation>Upuść widżet</translation>
</message>
<message numerus="yes">
- <location line="-1058"/>
+ <location line="-1053"/>
<source>Paste %n action(s)</source>
<translation>
<numerusform>Wklej %n akcję</numerusform>
@@ -4779,12 +4819,12 @@ Czy chcesz nadpisać szablon?</translation>
</translation>
</message>
<message>
- <location line="-511"/>
+ <location line="-565"/>
<source>Insert widget &apos;%1&apos;</source>
<translation>Wstaw widżet &apos;%1</translation>
</message>
<message numerus="yes">
- <location line="+513"/>
+ <location line="+567"/>
<source>Paste %n widget(s)</source>
<translation>
<numerusform>Wklej %n widżet</numerusform>
@@ -4798,17 +4838,17 @@ Czy chcesz nadpisać szablon?</translation>
<translation>Wklej (%1 widżetów, %2 akcji)</translation>
</message>
<message>
- <location line="+466"/>
+ <location line="+464"/>
<source>Select Ancestor</source>
<translation>Wybierz przodka</translation>
</message>
<message>
- <location line="+576"/>
+ <location line="+573"/>
<source>A QMainWindow-based form does not contain a central widget.</source>
<translation>Formularz bazujący na QMainWindow nie zawiera centralnego widżetu.</translation>
</message>
<message>
- <location line="-797"/>
+ <location line="-794"/>
<source>Raise widgets</source>
<translation>Przenieś widżety na wierzch</translation>
</message>
@@ -4821,7 +4861,7 @@ Czy chcesz nadpisać szablon?</translation>
<context>
<name>qdesigner_internal::FormWindowBase</name>
<message>
- <location filename="../tools/designer/src/lib/shared/formwindowbase.cpp" line="+393"/>
+ <location filename="../tools/designer/src/lib/shared/formwindowbase.cpp" line="+404"/>
<source>Delete</source>
<translation>Usuń</translation>
</message>
@@ -4991,7 +5031,7 @@ Czy chcesz nadpisać szablon?</translation>
<translation>Us&amp;tawienia formularza...</translation>
</message>
<message>
- <location line="+92"/>
+ <location line="+94"/>
<source>Break Layout</source>
<translation>Usuń rozmieszczenie</translation>
</message>
@@ -5012,7 +5052,7 @@ Czy chcesz nadpisać szablon?</translation>
<translation>Ustawienia formularza - %1</translation>
</message>
<message>
- <location line="-525"/>
+ <location line="-527"/>
<source>Removes empty columns and rows</source>
<translation>Usuń puste kolumny i wiersze</translation>
</message>
@@ -5971,7 +6011,7 @@ chrząszcz brzmi w trzcinie.</translation>
<context>
<name>qdesigner_internal::PropertyEditor</name>
<message>
- <location filename="../tools/designer/src/components/propertyeditor/propertyeditor.cpp" line="+183"/>
+ <location filename="../tools/designer/src/components/propertyeditor/propertyeditor.cpp" line="+231"/>
<source>Add Dynamic Property...</source>
<translation>Dodaj dynamiczną właściwość ...</translation>
</message>
@@ -6001,19 +6041,19 @@ chrząszcz brzmi w trzcinie.</translation>
<translation>Widok z rozszerzalnymi przyciskami</translation>
</message>
<message>
- <location line="+64"/>
+ <location line="+59"/>
<source>Configure Property Editor</source>
<translation>Skonfiguruj edytor właściwości</translation>
</message>
<message>
- <location line="+533"/>
+ <location line="+539"/>
<source>Object: %1
Class: %2</source>
<translation>Obiekt: %1
Klasa: %2</translation>
</message>
<message>
- <location line="-547"/>
+ <location line="-553"/>
<source>String...</source>
<translation>String...</translation>
</message>
diff --git a/translations/designer_ru.ts b/translations/designer_ru.ts
index 412be47abd..72f3532992 100644
--- a/translations/designer_ru.ts
+++ b/translations/designer_ru.ts
@@ -255,7 +255,7 @@
<translation>Пересекающиеся диагонали</translation>
</message>
<message>
- <location line="+83"/>
+ <location line="+93"/>
<source>Style</source>
<translation>Стиль</translation>
</message>
@@ -611,28 +611,28 @@
<translation>Вставить меню</translation>
</message>
<message>
- <location filename="../tools/designer/src/lib/shared/qdesigner_propertycommand.cpp" line="+1213"/>
+ <location filename="../tools/designer/src/lib/shared/qdesigner_propertycommand.cpp" line="+1225"/>
<source>Changed &apos;%1&apos; of &apos;%2&apos;</source>
- <translation type="unfinished">Изменено &apos;%1&apos; у &apos;%2&apos;</translation>
+ <translation>Изменено &apos;%1&apos; у &apos;%2&apos;</translation>
</message>
<message numerus="yes">
<location line="+3"/>
<source>Changed &apos;%1&apos; of %n objects</source>
- <translation type="unfinished">
+ <translation>
<numerusform>Изменено &apos;%1&apos; у %n объекта</numerusform>
<numerusform>Изменено &apos;%1&apos; у %n объектов</numerusform>
<numerusform>Изменено &apos;%1&apos; у %n объектов</numerusform>
</translation>
</message>
<message>
- <location line="+76"/>
+ <location line="+84"/>
<source>Reset &apos;%1&apos; of &apos;%2&apos;</source>
- <translation type="unfinished">Восстановлено &apos;%1&apos; у &apos;%2&apos;</translation>
+ <translation>Восстановлено &apos;%1&apos; у &apos;%2&apos;</translation>
</message>
<message numerus="yes">
<location line="+3"/>
<source>Reset &apos;%1&apos; of %n objects</source>
- <translation type="unfinished">
+ <translation>
<numerusform>Восстановлено &apos;%1&apos; у %n объекта</numerusform>
<numerusform>Восстановлено &apos;%1&apos; у %n объектов</numerusform>
<numerusform>Восстановлено &apos;%1&apos; у %n объектов</numerusform>
@@ -641,12 +641,12 @@
<message>
<location line="+89"/>
<source>Add dynamic property &apos;%1&apos; to &apos;%2&apos;</source>
- <translation type="unfinished">Добавлено динамическое свойство &apos;%1&apos; &apos;%2&apos;</translation>
+ <translation>Добавлено динамическое свойство &apos;%1&apos; &apos;%2&apos;</translation>
</message>
<message numerus="yes">
<location line="+3"/>
<source>Add dynamic property &apos;%1&apos; to %n objects</source>
- <translation type="unfinished">
+ <translation>
<numerusform>Добавлено динамическое свойство &apos;%1&apos; %n объекту</numerusform>
<numerusform>Добавлено динамическое свойство &apos;%1&apos; %n объектам</numerusform>
<numerusform>Добавлено динамическое свойство &apos;%1&apos; %n объектам</numerusform>
@@ -655,12 +655,12 @@
<message>
<location line="+86"/>
<source>Remove dynamic property &apos;%1&apos; from &apos;%2&apos;</source>
- <translation type="unfinished">Удалено динамическое свойство &apos;%1&apos; у &apos;%2&apos;</translation>
+ <translation>Удалено динамическое свойство &apos;%1&apos; у &apos;%2&apos;</translation>
</message>
<message numerus="yes">
<location line="+3"/>
<source>Remove dynamic property &apos;%1&apos; from %n objects</source>
- <translation type="unfinished">
+ <translation>
<numerusform>Удалено динамическое свойство &apos;%1&apos; у %n объекта</numerusform>
<numerusform>Удалено динамическое свойство &apos;%1&apos; у %n объектов</numerusform>
<numerusform>Удалено динамическое свойство &apos;%1&apos; у %n объектов</numerusform>
@@ -742,7 +742,7 @@
<context>
<name>Designer</name>
<message>
- <location filename="../tools/designer/src/components/formeditor/qdesigner_resource.cpp" line="+449"/>
+ <location filename="../tools/designer/src/components/formeditor/qdesigner_resource.cpp" line="+446"/>
<source>Qt Designer</source>
<translation>Qt Designer</translation>
</message>
@@ -1074,8 +1074,7 @@
<message>
<location filename="../tools/designer/src/lib/shared/formlayoutrowdialog.ui"/>
<source>Add Form Layout Row</source>
- <translatorcomment>нелепица какая-то</translatorcomment>
- <translation type="unfinished">Добавление строки компоновки компоновщика формы</translation>
+ <translation type="unfinished">Добавление строки компоновщика формы</translation>
</message>
<message>
<location/>
@@ -1111,7 +1110,7 @@
<context>
<name>FormWindow</name>
<message>
- <location filename="../tools/designer/src/components/formeditor/formwindow.cpp" line="+1701"/>
+ <location filename="../tools/designer/src/components/formeditor/formwindow.cpp" line="+1754"/>
<source>Unexpected element &lt;%1&gt;</source>
<translation>Неожиданный элемент &lt;%1&gt;</translation>
</message>
@@ -1204,7 +1203,7 @@
<context>
<name>MainWindowBase</name>
<message>
- <location filename="../tools/designer/src/designer/mainwindow.cpp" line="+119"/>
+ <location filename="../tools/designer/src/designer/mainwindow.cpp" line="+121"/>
<source>Main</source>
<extracomment>Not currently used (main tool bar)</extracomment>
<translation>Главное</translation>
@@ -1584,7 +1583,7 @@ Script: %3</source>
<context>
<name>QDesignerActions</name>
<message>
- <location filename="../tools/designer/src/designer/qdesigner_actions.cpp" line="+128"/>
+ <location filename="../tools/designer/src/designer/qdesigner_actions.cpp" line="+130"/>
<source>Saved %1.</source>
<translation>Сохранено %1.</translation>
</message>
@@ -1614,24 +1613,24 @@ Script: %3</source>
<translation>Настройки...</translation>
</message>
<message>
- <location line="+298"/>
+ <location line="+322"/>
<source>Clear &amp;Menu</source>
<translation>Очистить &amp;меню</translation>
</message>
<message>
- <location line="-233"/>
+ <location line="-247"/>
<source>CTRL+SHIFT+S</source>
- <translation type="unfinished"></translation>
+ <translation></translation>
</message>
<message>
- <location line="+113"/>
+ <location line="+127"/>
<source>CTRL+R</source>
- <translation type="unfinished"></translation>
+ <translation></translation>
</message>
<message>
<location line="+18"/>
<source>CTRL+M</source>
- <translation type="unfinished"></translation>
+ <translation></translation>
</message>
<message>
<location line="+31"/>
@@ -1678,7 +1677,7 @@ Script: %3</source>
<translation>UI файлы Qt Designer (*.%1);;Все файлы (*)</translation>
</message>
<message>
- <location line="-620"/>
+ <location line="-644"/>
<source>%1 already exists.
Do you want to replace it?</source>
<translation>%1 уже существует.
@@ -1690,7 +1689,7 @@ Do you want to replace it?</source>
<translation>Дополнительные шрифты...</translation>
</message>
<message>
- <location line="+303"/>
+ <location line="+327"/>
<source>&amp;Recent Forms</source>
<translation>&amp;Последние формы</translation>
</message>
@@ -1753,7 +1752,7 @@ Do you want to update the file location or generate a new form?</source>
<translation>&amp;Закрыть предпросмотр</translation>
</message>
<message>
- <location line="-905"/>
+ <location line="-929"/>
<source>&amp;New...</source>
<translation>&amp;Новый...</translation>
</message>
@@ -1784,12 +1783,12 @@ Do you want to update the file location or generate a new form?</source>
</message>
<message>
<location line="+1"/>
- <location line="+901"/>
+ <location line="+925"/>
<source>&amp;Close</source>
<translation>&amp;Закрыть</translation>
</message>
<message>
- <location line="-900"/>
+ <location line="-924"/>
<source>Save &amp;Image...</source>
<translation>Сохранить &amp;Изображение...</translation>
</message>
@@ -1804,12 +1803,12 @@ Do you want to update the file location or generate a new form?</source>
<translation>Показать &amp;код...</translation>
</message>
<message>
- <location line="+68"/>
+ <location line="+78"/>
<source>ALT+CTRL+S</source>
- <translation type="unfinished"></translation>
+ <translation></translation>
</message>
<message>
- <location line="+356"/>
+ <location line="+370"/>
<location line="+248"/>
<source>Save Form As</source>
<translation>Сохранить форму как</translation>
@@ -2059,17 +2058,17 @@ Would you like to retry?</source>
<message>
<location line="+5"/>
<source>A required attribute (&apos;%1&apos;) is missing.</source>
- <translation type="unfinished">Отсутствует необходимый атрибут (&apos;%1&apos;).</translation>
+ <translation>Отсутствует необходимый атрибут (&apos;%1&apos;).</translation>
</message>
<message>
<location line="+38"/>
<source>An invalid property specification (&apos;%1&apos;) was encountered. Supported types: %2</source>
- <translation type="unfinished">Обнаружена неверная спецификация (&apos;%1&apos;) свойства. Поддерживаются типы: %2</translation>
+ <translation>Обнаружена неверная спецификация (&apos;%1&apos;) свойства. Поддерживаются типы: %2</translation>
</message>
<message>
<location line="+20"/>
<source>&apos;%1&apos; is not a valid string property specification.</source>
- <translation type="unfinished">&apos;%1&apos; не является корректной спецификацией строкового свойства.</translation>
+ <translation>&apos;%1&apos; не является корректной спецификацией строкового свойства.</translation>
</message>
<message>
<location line="+40"/>
@@ -2090,7 +2089,7 @@ Would you like to retry?</source>
<context>
<name>QDesignerPropertySheet</name>
<message>
- <location filename="../tools/designer/src/lib/shared/qdesigner_propertysheet.cpp" line="+754"/>
+ <location filename="../tools/designer/src/lib/shared/qdesigner_propertysheet.cpp" line="+758"/>
<source>Dynamic Properties</source>
<translation>Динамические свойства</translation>
</message>
@@ -2103,14 +2102,14 @@ Would you like to retry?</source>
<translation>Компоновка типа &apos;%1&apos; не поддерживается, заменена на компоновку сеткой.</translation>
</message>
<message>
- <location line="+243"/>
+ <location line="+239"/>
<source>The container extension of the widget &apos;%1&apos; (%2) returned a widget not managed by Designer &apos;%3&apos; (%4) when queried for page #%5.
Container pages should only be added by specifying them in XML returned by the domXml() method of the custom widget.</source>
<translation>Контейнерное расширение виджета &apos;%1&apos; (%2) возвратило виджет, который не управляется Qt Designer &apos;%3&apos; (%4), при запросе страницы №%5.
Страницы контейнера должны быть добавлены указанием их в XML, который возвращается методом domXml() пользовательского виджета.</translation>
</message>
<message>
- <location line="+599"/>
+ <location line="+545"/>
<source>Unexpected element &lt;%1&gt;</source>
<extracomment>Parsing clipboard contents</extracomment>
<translation>Неожиданный элемент &lt;%1&gt;</translation>
@@ -2212,21 +2211,21 @@ Container pages should only be added by specifying them in XML returned by the d
<translation>Панель инструментов</translation>
</message>
<message>
- <location line="+465"/>
+ <location line="+466"/>
<source>Save Forms?</source>
<translation>Сохранить форму?</translation>
</message>
<message numerus="yes">
<location line="+1"/>
<source>There are %n forms with unsaved changes. Do you want to review these changes before quitting?</source>
- <translation type="unfinished">
- <numerusform>Есть %n форма с несохранёнными изменениями. Показать изменения перед выходом?</numerusform>
- <numerusform>Есть %n формы с несохранёнными изменениями. Показать изменения перед выходом?</numerusform>
- <numerusform>Есть %n форм с несохранёнными изменениями. Показать изменения перед выходом?</numerusform>
+ <translation>
+ <numerusform>Имеется %n форма с несохранёнными изменениями. Желаете просмотреть изменения перед выходом?</numerusform>
+ <numerusform>Имеется %n формы с несохранёнными изменениями. Желаете просмотреть изменения перед выходом?</numerusform>
+ <numerusform>Имеется %n форм с несохранёнными изменениями. Желаете просмотреть изменения перед выходом?</numerusform>
</translation>
</message>
<message>
- <location line="-495"/>
+ <location line="-496"/>
<source>&amp;View</source>
<translation>&amp;Вид</translation>
</message>
@@ -2241,9 +2240,9 @@ Container pages should only be added by specifying them in XML returned by the d
<translation>Панель виджетов</translation>
</message>
<message>
- <location line="+292"/>
+ <location line="+293"/>
<source>If you do not review your documents, all your changes will be lost.</source>
- <translation type="unfinished">Если вы не пересмотрите документы, то все ваши изменения будут потеряны.</translation>
+ <translation type="unfinished">Если не просматривать изменения, все изменения будут потеряны.</translation>
</message>
<message>
<location line="+1"/>
@@ -2258,7 +2257,7 @@ Container pages should only be added by specifying them in XML returned by the d
<message>
<location line="+95"/>
<source>Backup Information</source>
- <translation type="unfinished">Информация о резервировании</translation>
+ <translation type="unfinished">Информация о резервированых копиях</translation>
</message>
<message>
<location line="+1"/>
@@ -2273,7 +2272,7 @@ Container pages should only be added by specifying them in XML returned by the d
<message>
<location line="+46"/>
<source>The file &lt;b&gt;%1&lt;/b&gt; is not a valid Designer UI file.</source>
- <translation type="unfinished">Файл &lt;b&gt;%1&lt;/b&gt; не является корректным UI файлом Qt Designer.</translation>
+ <translation>Файл &lt;b&gt;%1&lt;/b&gt; не является корректным UI файлом Qt Designer.</translation>
</message>
</context>
<context>
@@ -2322,7 +2321,7 @@ Container pages should only be added by specifying them in XML returned by the d
<message>
<location filename="../tools/designer/src/lib/uilib/properties_p.h" line="+132"/>
<source>The enumeration-value &apos;%1&apos; is invalid. The default value &apos;%2&apos; will be used instead.</source>
- <translation>Значение &apos;%1&apos; перечисляемого типа некорректно. Будет использовано значение &apos;%2&apos;.</translation>
+ <translation>Значение &apos;%1&apos; перечисляемого типа некорректно. Будет использовано значение по умолчанию &apos;%2&apos;.</translation>
</message>
<message>
<location line="+14"/>
@@ -2466,13 +2465,13 @@ Container pages should only be added by specifying them in XML returned by the d
<location line="+10"/>
<location line="+25"/>
<source>True</source>
- <translation type="unfinished">Вкл.</translation>
+ <translation>Вкл.</translation>
</message>
<message>
<location line="-25"/>
<location line="+25"/>
<source>False</source>
- <translation type="unfinished">Выкл.</translation>
+ <translation>Выкл.</translation>
</message>
</context>
<context>
@@ -2480,12 +2479,12 @@ Container pages should only be added by specifying them in XML returned by the d
<message>
<location filename="../tools/shared/qtpropertybrowser/qtpropertymanager.cpp" line="+1507"/>
<source>True</source>
- <translation type="unfinished">Вкл.</translation>
+ <translation>Вкл.</translation>
</message>
<message>
<location line="+1"/>
<source>False</source>
- <translation type="unfinished">Выкл.</translation>
+ <translation>Выкл.</translation>
</message>
</context>
<context>
@@ -3503,7 +3502,7 @@ to
<context>
<name>QtResourceView</name>
<message>
- <location filename="../tools/designer/src/lib/shared/qtresourceview.cpp" line="+566"/>
+ <location filename="../tools/designer/src/lib/shared/qtresourceview.cpp" line="+567"/>
<source>Size: %1 x %2
%3</source>
<translation>Размер: %1 x %2
@@ -3528,7 +3527,7 @@ to
<context>
<name>QtResourceViewDialog</name>
<message>
- <location line="+250"/>
+ <location line="+252"/>
<source>Select Resource</source>
<translation>Выбрать ресурс</translation>
</message>
@@ -3915,6 +3914,26 @@ Do you want overwrite the template?</source>
</message>
<message>
<location line="+6"/>
+ <source>File</source>
+ <translation type="unfinished">Файл</translation>
+ </message>
+ <message>
+ <location line="+4"/>
+ <source>Edit</source>
+ <translation type="unfinished">Правка</translation>
+ </message>
+ <message>
+ <location line="+4"/>
+ <source>Tools</source>
+ <translation type="unfinished">Инструменты</translation>
+ </message>
+ <message>
+ <location line="+4"/>
+ <source>Form</source>
+ <translation type="unfinished">Форма</translation>
+ </message>
+ <message>
+ <location line="+4"/>
<source>Toolbars</source>
<translation>Панели инструментов</translation>
</message>
@@ -3939,7 +3958,7 @@ Do you want overwrite the template?</source>
<message>
<location line="+2"/>
<source>%1&lt;br/&gt;Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).</source>
- <translation type="unfinished">%1&lt;br/&gt;Copyright (C) 2010 Корпорация Nokia и/или её дочерние подразделения.</translation>
+ <translation>%1&lt;br/&gt;Copyright (C) 2010 Корпорация Nokia и/или её дочерние подразделения.</translation>
</message>
</context>
<context>
@@ -4424,38 +4443,38 @@ Do you want overwrite the template?</source>
<location filename="../tools/designer/src/components/propertyeditor/designerpropertymanager.cpp" line="+647"/>
<location line="+6"/>
<source>AlignLeft</source>
- <translation type="unfinished"></translation>
+ <translation></translation>
</message>
<message>
<location line="-5"/>
<source>AlignHCenter</source>
- <translation type="unfinished"></translation>
+ <translation></translation>
</message>
<message>
<location line="+1"/>
<source>AlignRight</source>
- <translation type="unfinished"></translation>
+ <translation></translation>
</message>
<message>
<location line="+1"/>
<source>AlignJustify</source>
- <translation type="unfinished"></translation>
+ <translation></translation>
</message>
<message>
<location line="+9"/>
<source>AlignTop</source>
- <translation type="unfinished"></translation>
+ <translation></translation>
</message>
<message>
<location line="+1"/>
<location line="+4"/>
<source>AlignVCenter</source>
- <translation type="unfinished"></translation>
+ <translation></translation>
</message>
<message>
<location line="-3"/>
<source>AlignBottom</source>
- <translation type="unfinished"></translation>
+ <translation></translation>
</message>
<message>
<location line="+565"/>
@@ -4708,9 +4727,14 @@ Do you want overwrite the template?</source>
<context>
<name>qdesigner_internal::FilterWidget</name>
<message>
- <location filename="../tools/designer/src/lib/shared/filterwidget.cpp" line="+185"/>
- <source>&lt;Filter&gt;</source>
- <translation>&lt;Фильтр&gt;</translation>
+ <location filename="../tools/designer/src/lib/shared/filterwidget.cpp" line="+163"/>
+ <source>Filter</source>
+ <translation>Фильтр</translation>
+ </message>
+ <message>
+ <location line="+36"/>
+ <source>Clear text</source>
+ <translation>Очистить текст</translation>
</message>
</context>
<context>
@@ -4737,33 +4761,37 @@ Do you want overwrite the template?</source>
<context>
<name>qdesigner_internal::FormWindow</name>
<message>
- <location filename="../tools/designer/src/components/formeditor/formwindow.cpp" line="-1267"/>
+ <location filename="../tools/designer/src/components/formeditor/formwindow.cpp" line="-1322"/>
<source>Edit contents</source>
<translation>Изменить содержимое</translation>
</message>
<message>
<location line="+1"/>
<source>F2</source>
- <translation type="unfinished"></translation>
+ <translation></translation>
</message>
<message>
- <location line="+774"/>
+ <location line="+775"/>
<source>Insert widget &apos;%1&apos;</source>
<translation>Вставить виджет &apos;%1&apos;</translation>
</message>
<message>
- <location line="+67"/>
+ <location line="+65"/>
<source>Resize</source>
<translation>Изменение размера</translation>
</message>
<message>
- <location line="+218"/>
- <location line="+15"/>
+ <location line="+248"/>
<source>Key Move</source>
<translation type="unfinished">Перемещение клавишей</translation>
</message>
+ <message>
+ <location line="+0"/>
+ <source>Key Resize</source>
+ <translation type="unfinished">Изменение размера клавишей</translation>
+ </message>
<message numerus="yes">
- <location line="+211"/>
+ <location line="+252"/>
<source>Paste %n action(s)</source>
<translation type="unfinished">
<numerusform>Вставлено %n действие</numerusform>
@@ -4801,7 +4829,7 @@ Do you want overwrite the template?</source>
<translation>Ошибка вставки</translation>
</message>
<message>
- <location line="+183"/>
+ <location line="+181"/>
<source>Raise widgets</source>
<translation>Поднятие виджетов</translation>
</message>
@@ -4821,7 +4849,7 @@ Do you want overwrite the template?</source>
<translation>Компоновка</translation>
</message>
<message>
- <location line="+493"/>
+ <location line="+485"/>
<location line="+55"/>
<source>Drop widget</source>
<translation type="unfinished">Вставка виджета</translation>
@@ -4835,7 +4863,7 @@ Do you want overwrite the template?</source>
<context>
<name>qdesigner_internal::FormWindowBase</name>
<message>
- <location filename="../tools/designer/src/lib/shared/formwindowbase.cpp" line="+393"/>
+ <location filename="../tools/designer/src/lib/shared/formwindowbase.cpp" line="+404"/>
<source>Delete &apos;%1&apos;</source>
<translation>Удалить &apos;%1&apos;</translation>
</message>
@@ -4932,7 +4960,7 @@ Do you want overwrite the template?</source>
<message>
<location line="+6"/>
<source>Lay Out &amp;Horizontally</source>
- <translation>Скомпоновать по &amp;горизонтальная</translation>
+ <translation>Скомпоновать по &amp;горизонтали</translation>
</message>
<message>
<location line="+3"/>
@@ -5025,7 +5053,7 @@ Do you want overwrite the template?</source>
<translation>&amp;Настройки формы...</translation>
</message>
<message>
- <location line="+92"/>
+ <location line="+94"/>
<source>Break Layout</source>
<translation>Удалить компоновщик</translation>
</message>
@@ -5441,7 +5469,7 @@ Please select another name.</source>
<message>
<location/>
<source>horizontalSpacer</source>
- <translation type="unfinished"></translation>
+ <translation></translation>
</message>
<message>
<location/>
@@ -5500,7 +5528,7 @@ Please select another name.</source>
<message>
<location line="+244"/>
<source>Unable to open the form template file &apos;%1&apos;: %2</source>
- <translation type="unfinished">Невозможно открыть файл шаблона формы &apos;%1&apos;: %2</translation>
+ <translation>Невозможно открыть файл шаблона формы &apos;%1&apos;: %2</translation>
</message>
<message>
<location line="+67"/>
@@ -5869,7 +5897,7 @@ Please select another name.</source>
<source>The moose in the noose
ate the goose who was loose.</source>
<extracomment>Palette editor background</extracomment>
- <translation type="unfinished"></translation>
+ <translation></translation>
</message>
</context>
<context>
@@ -5945,12 +5973,12 @@ ate the goose who was loose.</source>
<message>
<location line="+1"/>
<source>Global include</source>
- <translation type="unfinished">Глобальное включение</translation>
+ <translation>Глобальное включение</translation>
</message>
<message>
<location line="+1"/>
<source>Usage</source>
- <translation type="unfinished">Использование</translation>
+ <translation>Использование</translation>
</message>
</context>
<context>
@@ -5984,7 +6012,7 @@ ate the goose who was loose.</source>
<context>
<name>qdesigner_internal::PropertyEditor</name>
<message>
- <location filename="../tools/designer/src/components/propertyeditor/propertyeditor.cpp" line="+183"/>
+ <location filename="../tools/designer/src/components/propertyeditor/propertyeditor.cpp" line="+231"/>
<source>Add Dynamic Property...</source>
<translation>Добавить динамическое свойство...</translation>
</message>
@@ -6014,7 +6042,7 @@ ate the goose who was loose.</source>
<translation type="unfinished">Вид выпадающего списка</translation>
</message>
<message>
- <location line="+50"/>
+ <location line="+45"/>
<source>String...</source>
<translation>Строка...</translation>
</message>
@@ -6034,7 +6062,7 @@ ate the goose who was loose.</source>
<translation>Настроить радактор свойств</translation>
</message>
<message>
- <location line="+533"/>
+ <location line="+539"/>
<source>Object: %1
Class: %2</source>
<translation>Объект: %1
@@ -6372,7 +6400,7 @@ Class: %2</source>
<message>
<location line="+1"/>
<source>CTRL+B</source>
- <translation type="unfinished"></translation>
+ <translation></translation>
</message>
<message>
<location line="+5"/>
@@ -6382,7 +6410,7 @@ Class: %2</source>
<message>
<location line="+1"/>
<source>CTRL+I</source>
- <translation type="unfinished"></translation>
+ <translation></translation>
</message>
<message>
<location line="+5"/>
@@ -6392,7 +6420,7 @@ Class: %2</source>
<message>
<location line="+1"/>
<source>CTRL+U</source>
- <translation type="unfinished"></translation>
+ <translation></translation>
</message>
<message>
<location line="+13"/>
@@ -6495,7 +6523,7 @@ Class: %2</source>
<message>
<location line="+2"/>
<source>F4</source>
- <translation type="unfinished"></translation>
+ <translation></translation>
</message>
</context>
<context>
diff --git a/translations/linguist_hu.ts b/translations/linguist_hu.ts
index aaff8930c1..44c1e4ab36 100644
--- a/translations/linguist_hu.ts
+++ b/translations/linguist_hu.ts
@@ -1,10 +1,17 @@
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE TS>
-<TS version="2.0" language="hu_HU" sourcelanguage="hu">
+<TS version="2.0" language="hu_HU">
+<context>
+ <name></name>
+ <message>
+ <source>(New Entry)</source>
+ <translation type="obsolete">(Új bejegyzés)</translation>
+ </message>
+</context>
<context>
<name>AboutDialog</name>
<message>
- <location filename="../tools/linguist/linguist/mainwindow.cpp" line="+1358"/>
+ <location filename="../tools/linguist/linguist/mainwindow.cpp" line="+1366"/>
<source>Qt Linguist</source>
<translation>Qt Linguist</translation>
</message>
@@ -14,7 +21,7 @@
<message>
<location filename="../tools/linguist/linguist/batchtranslationdialog.cpp" line="+79"/>
<source>Batch Translation of &apos;%1&apos; - Qt Linguist</source>
- <translation>&apos;%1&apos; Qt Linguist egy adat fordítása</translation>
+ <translation>&apos;%1&apos; kötegelt fordítása - Qt Linguist</translation>
</message>
<message>
<location line="+37"/>
@@ -24,24 +31,24 @@
<message>
<location line="+0"/>
<source>&amp;Cancel</source>
- <translation>&amp;Mégse</translation>
+ <translation>&amp;Mégsem</translation>
</message>
<message>
<location line="+42"/>
<source>Linguist batch translator</source>
- <translation>Linguist köteg fordító</translation>
+ <translation>Linguist kötegelt fordító</translation>
</message>
<message numerus="yes">
<location line="+1"/>
<source>Batch translated %n entries</source>
<translation>
- <numerusform>%n adat belépés lefordítva</numerusform>
+ <numerusform>%n üzenet sikeresen lefordítva</numerusform>
</translation>
</message>
<message>
<location filename="../tools/linguist/linguist/batchtranslation.ui"/>
<source>Qt Linguist - Batch Translation</source>
- <translation>Qt Linguist adat fordítás</translation>
+ <translation>Qt Linguist - Kötegelt fordítás</translation>
</message>
<message>
<location/>
@@ -51,32 +58,40 @@
<message>
<location/>
<source>Set translated entries to finished</source>
- <translation>Lefordított bevitelek befejezettre állítása</translation>
+ <translation>A lefordított szövegek véglegesítése</translation>
</message>
<message>
<location/>
<source>Retranslate entries with existing translation</source>
- <translation>Bevitelek újrafordítása létező fordításokkal</translation>
+ <translation>A módosított bejegyzések fordítása</translation>
+ </message>
+ <message>
+ <source>Note that the modified entries will be reset to unfinished if &apos;Set translated entries to finished&apos; above is unchecked.</source>
+ <translation type="obsolete">A módosított bejegyzések fordítatlanra lesznek állítva, ha az &quot;A lefordított szövegek véglegesítése&quot; nincs bejelölve.</translation>
</message>
<message>
<location/>
<source>Translate also finished entries</source>
- <translation>Befejezett belépéseknek is a lefordítása</translation>
+ <translation>A véglegesített bejegyzéseket is fordítsa</translation>
</message>
<message>
<location/>
<source>Phrase book preference</source>
- <translation>Fázis könyv beállítások</translation>
+ <translation>Kifejezéstár sorrend</translation>
</message>
<message>
<location/>
<source>Move up</source>
- <translation>Felfelé mozgatás</translation>
+ <translation>Fel</translation>
</message>
<message>
<location/>
<source>Move down</source>
- <translation>Lefelé mozgatás</translation>
+ <translation>Le</translation>
+ </message>
+ <message>
+ <source>The batch translator will search through the selected phrase books in the order given above.</source>
+ <translation type="obsolete">A kötegelt fordító ebben a sorrendben keresi végig a kifejezéskönyveket.</translation>
</message>
<message>
<location/>
@@ -86,17 +101,17 @@
<message>
<location/>
<source>Cancel</source>
- <translation>Mégse</translation>
+ <translation>Mégsem</translation>
</message>
<message>
<location/>
<source>Note that the modified entries will be reset to unfinished if &apos;Set translated entries to finished&apos; above is unchecked</source>
- <translation>Ne felejtse el, hogy a módosított belépések újra lesznek indítva befejezetlenre, ha a &apos;lefordított bevitelek befejezettre állítása&apos; felül meg van jelölve</translation>
+ <translation>A módosított bejegyzések fordítatlanra lesznek állítva, ha az &quot;A lefordított szövegek véglegesítése&quot; nincs bejelölve</translation>
</message>
<message>
<location/>
<source>The batch translator will search through the selected phrase books in the order given above</source>
- <translation>A köteg fordító a kiválasztott fázis könyvek között fog keresni, a fent megadott sorrendben</translation>
+ <translation>A kötegelt fordító ebben a sorrendben keresi végig a kifejezéskönyveket</translation>
</message>
</context>
<context>
@@ -104,23 +119,23 @@
<message>
<location filename="../tools/linguist/linguist/messagemodel.cpp" line="+214"/>
<source>&lt;qt&gt;Duplicate messages found in &apos;%1&apos;:</source>
- <translation>&lt;qt&gt;Dupliált üzenetek találhatóak a(z) &apos;%1&apos;-ben:</translation>
+ <translation>&lt;qt&gt;Duplikált üzenetek a(z) &apos;%1&apos; fájlban:</translation>
</message>
<message>
<location line="+4"/>
<location line="+8"/>
<source>&lt;p&gt;[more duplicates omitted]</source>
- <translation>&lt;p&gt;[többi duplikáció kihagyása]</translation>
+ <translation>&lt;p&gt;[a többi duplikátum kihagyva]</translation>
</message>
<message>
<location line="-5"/>
<source>&lt;p&gt;* ID: %1</source>
- <translation>&lt;p&gt;* Azonosító: %1</translation>
+ <translation>&lt;p&gt;* ID: %1</translation>
</message>
<message>
<location line="+8"/>
<source>&lt;p&gt;* Context: %1&lt;br&gt;* Source: %2</source>
- <translation>&lt;p&gt;* Szövegösszefüggés: %1&lt;br&gt;* Forrás: %2</translation>
+ <translation>&lt;p&gt;* Környezet: %1&lt;br&gt;* Forrás: %2</translation>
</message>
<message>
<location line="+3"/>
@@ -131,17 +146,18 @@
<location line="+71"/>
<source>Linguist does not know the plural rules for &apos;%1&apos;.
Will assume a single universal form.</source>
- <translation>A Linguist nem ismeri a többes számú szabályokat a &apos;%1&apos;-re. Egy egyszerű univerzális formát fog feltételezni.</translation>
+ <translation>A Linguist nem ismer többesszámképzést a(z) &apos;%1&apos;-hez.
+Az egyes számú általános forma lesz alkalmazva.</translation>
</message>
<message>
<location line="+56"/>
<source>Cannot create &apos;%2&apos;: %1</source>
- <translation>Nem lehet létrehozni &apos;%2&apos;: %1</translation>
+ <translation>&apos;%2&apos; létrehozása sikertelen: %1</translation>
</message>
<message>
<location line="+56"/>
<source>Universal Form</source>
- <translation>Univerzális forma</translation>
+ <translation>Általános forma</translation>
</message>
</context>
<context>
@@ -149,32 +165,32 @@ Will assume a single universal form.</source>
<message>
<location filename="../tools/linguist/linguist/errorsview.cpp" line="+76"/>
<source>Accelerator possibly superfluous in translation.</source>
- <translation>A gyorsítás valószínűleg nélkülözhető a fordításban.</translation>
+ <translation>Felesleges gyorsbillentyű van a fordításban.</translation>
</message>
<message>
<location line="+3"/>
<source>Accelerator possibly missing in translation.</source>
- <translation>A gyorsítás valószínűleg hiányzik a fordításban.</translation>
+ <translation>Egy gyorsbillentyű valószínűleg hiányzik a fordításból.</translation>
</message>
<message>
<location line="+3"/>
<source>Translation does not end with the same punctuation as the source text.</source>
- <translation>A fordítás nem ugyanazzal az írásjellel végződik, mint a forrás szöveg.</translation>
+ <translation>A lefordított mondat nem ugyanazzal az írásjellel végződik, mint a forrás.</translation>
</message>
<message>
<location line="+3"/>
<source>A phrase book suggestion for &apos;%1&apos; was ignored.</source>
- <translation>A(z) &apos;%1&apos;-re tett fáziskönyv ajánlat mellőzve lett.</translation>
+ <translation>A &apos;%1&apos; kifejezéskönyvi ajánlás figyelmen kívül lett hagyva.</translation>
</message>
<message>
<location line="+3"/>
<source>Translation does not refer to the same place markers as in the source text.</source>
- <translation>Nem ugyanazok a hely megjelölők találhatóak a fordításban, mint a forrás szövegben.</translation>
+ <translation>A fordítás nem tartalmazza az összes %n helyfoglalót a szövegből.</translation>
</message>
<message>
<location line="+3"/>
<source>Translation does not contain the necessary %n place marker.</source>
- <translation>A fordítás nem tartalmazza a szükséges %n hely megjelölőket.</translation>
+ <translation>A fordításból kimaradt egy szükséges %n helyfoglaló.</translation>
</message>
<message>
<location line="+3"/>
@@ -187,12 +203,12 @@ Will assume a single universal form.</source>
<message>
<location filename="../tools/linguist/linguist/finddialog.ui"/>
<source>This window allows you to search for some text in the translation source file.</source>
- <translation>Ez az ablak engedélyezi, hogy szöveget keresses a fordítás forrás fájlban.</translation>
+ <translation>Itt lehet keresni egy szöveget a fordítás alatt álló fájlban.</translation>
</message>
<message>
<location/>
<source>Type in the text to search for.</source>
- <translation>Gépelje be szövegbe, amit keres..</translation>
+ <translation>A keresendő szöveg helye.</translation>
</message>
<message>
<location/>
@@ -202,68 +218,67 @@ Will assume a single universal form.</source>
<message>
<location/>
<source>Source texts are searched when checked.</source>
- <translation>Forrás szövegek keresési ellenőrzéskor.</translation>
+ <translation>A forrásszövegek is keresve lesznek.</translation>
</message>
<message>
<location/>
<source>Translations are searched when checked.</source>
- <translation>Fordítások keresése ellenőrzéskor.</translation>
+ <translation>A fordítások is keresve lesznek.</translation>
</message>
<message>
<location/>
<source>Texts such as &apos;TeX&apos; and &apos;tex&apos; are considered as different when checked.</source>
- <translation>&apos;TeX&apos; és &apos;tex&apos; szövegek különbözőként kezelése bejelöléskor.</translation>
+ <translation>A kis/nagybetű különbseg figyelembe lesz véve.</translation>
</message>
<message>
<location/>
<source>Comments and contexts are searched when checked.</source>
- <translation>Megjegyzések és tartalmak keresése bejelöléskor.</translation>
+ <translation>A megjegyzések és környezetek is keresve lesznek.</translation>
</message>
<message>
<location/>
<source>Find</source>
- <translation>Keresés
-</translation>
+ <translation>Keresés</translation>
</message>
<message>
<location/>
<source>&amp;Find what:</source>
- <translation>Ennek &amp;keresése:</translation>
+ <translation>Amit &amp;keres:</translation>
</message>
<message>
<location/>
<source>&amp;Source texts</source>
- <translation>&amp;Forrás szövegek</translation>
+ <translation>Fo&amp;rrásszöveg</translation>
</message>
<message>
<location/>
<source>&amp;Translations</source>
- <translation>&amp;Fordítások</translation>
+ <translation>For&amp;dítások</translation>
</message>
<message>
<location/>
<source>&amp;Match case</source>
- <translation>&amp;Egyezés</translation>
+ <translation>K&amp;is/nagybetű</translation>
</message>
<message>
<location/>
<source>&amp;Comments</source>
- <translation>&amp;Kommentek</translation>
+ <translation>&amp;Megjegyzések</translation>
</message>
<message>
<location/>
<source>Ignore &amp;accelerators</source>
- <translation>&amp;Gyorsítások mellőzése</translation>
+ <translation>&amp;Gyorsbillentyűk kihagyása</translation>
</message>
<message>
<location/>
<source>Click here to find the next occurrence of the text you typed in.</source>
- <translation>Kattintson ide a begépelt szöveg következő előfordulásának megkereséséhez.</translation>
+ <translation>A következő találat megjelenítéséhez kattintson ide.</translation>
</message>
<message>
<location/>
<source>Find Next</source>
- <translation>Következő keresése</translation>
+ <translation>Következő</translation>
</message>
<message>
<location/>
@@ -273,37 +288,34 @@ Will assume a single universal form.</source>
<message>
<location/>
<source>Cancel</source>
- <translation>Mégse</translation>
+ <translation>Mégsem</translation>
</message>
<message>
- <location filename="../tools/linguist/linguist/finddialog.cpp" line="+12"/>
+ <location filename="../tools/linguist/linguist/finddialog.cpp" line="+14"/>
<source></source>
<comment>Choose Edit|Find from the menu bar or press Ctrl+F to pop up the Find dialog</comment>
- <translatorcomment>Válassza ki a Szerkesztés/Keresés opciót a menüből vagy nyomja le a Ctrl+F billentyűket a keresési párbeszédablak felugrásához</translatorcomment>
<translation></translation>
</message>
</context>
<context>
<name>FormMultiWidget</name>
<message>
- <location filename="../tools/linguist/linguist/messageeditorwidgets.cpp" line="+296"/>
+ <location filename="../tools/linguist/linguist/messageeditorwidgets.cpp" line="+302"/>
<source>Alt+Delete</source>
<extracomment>translate, but don&apos;t change</extracomment>
- <translatorcomment>fordítsd, de ne változtasd</translatorcomment>
- <translation>ALT+Delete</translation>
+ <translation></translation>
</message>
<message>
<location line="+1"/>
<source>Shift+Alt+Insert</source>
<extracomment>translate, but don&apos;t change</extracomment>
- <translatorcomment>Fordítsd, de ne változtasd.</translatorcomment>
- <translation>Shift+Alt+Insert</translation>
+ <translation></translation>
</message>
<message>
<location line="+1"/>
<source>Alt+Insert</source>
<extracomment>translate, but don&apos;t change</extracomment>
- <translation>Alt+Insert</translation>
+ <translation></translation>
</message>
<message>
<location line="+131"/>
@@ -313,23 +325,23 @@ Will assume a single universal form.</source>
<message>
<location line="+1"/>
<source>Delete non-empty length variant?</source>
- <translation>Törölje az 0 hosszúságú változatok?</translation>
+ <translation>Biztosan törli ezt a hosszú változatot?</translation>
</message>
</context>
<context>
<name>LRelease</name>
<message numerus="yes">
- <location filename="../tools/linguist/shared/qm.cpp" line="+761"/>
+ <location filename="../tools/linguist/shared/qm.cpp" line="+763"/>
<source>Dropped %n message(s) which had no ID.</source>
<translation>
- <numerusform>%n üzenez eldobva, melyek nem rendelkeztek azonosítóval.</numerusform>
+ <numerusform>%n azonosító nélküli üzenet eldobva.</numerusform>
</translation>
</message>
<message numerus="yes">
<location line="+4"/>
<source>Excess context/disambiguation dropped from %n message(s).</source>
<translation>
- <numerusform>Fölösleges szövegösszefüggés/egyértelműsítés törlése %n üzenetből.</numerusform>
+ <numerusform>A többlet kontextus/egyértelmüsítés eltávolítva %n üzenetből.</numerusform>
</translation>
</message>
<message numerus="yes">
@@ -337,7 +349,8 @@ Will assume a single universal form.</source>
<source> Generated %n translation(s) (%1 finished and %2 unfinished)
</source>
<translation>
- <numerusform>%n fordítás legenerálása (%1 befejezett és %2 befejezetlen)</numerusform>
+ <numerusform> %n fordítás legenerálva (%1 végleges és %2 nem végleges)
+</numerusform>
</translation>
</message>
<message numerus="yes">
@@ -345,7 +358,8 @@ Will assume a single universal form.</source>
<source> Ignored %n untranslated source text(s)
</source>
<translation>
- <numerusform>%n lefordítatlan forrás szöveg mellőzése</numerusform>
+ <numerusform> %n lefordítatlan szöveg kihagyva
+</numerusform>
</translation>
</message>
</context>
@@ -354,32 +368,32 @@ Will assume a single universal form.</source>
<message>
<location filename="../tools/linguist/linguist/mainwindow.ui"/>
<source>MainWindow</source>
- <translation>FőAblak</translation>
+ <translation>MainWindow</translation>
</message>
<message>
<location/>
<source>&amp;Phrases</source>
- <translation>&amp;Fázisok</translation>
+ <translation>&amp;Kifejezések</translation>
</message>
<message>
<location/>
<source>&amp;Close Phrase Book</source>
- <translation>&amp;Fázis könyvek bezárása</translation>
+ <translation>Kifejezéstár &amp;bezárása</translation>
</message>
<message>
<location/>
<source>&amp;Edit Phrase Book</source>
- <translation>Fázis könyvek &amp;szerkesztése</translation>
+ <translation>Kifejezéstár sz&amp;erkesztése</translation>
</message>
<message>
<location/>
<source>&amp;Print Phrase Book</source>
- <translation>&amp;Fázis könyvek nyomtatása</translation>
+ <translation>Kifejezéstár &amp;nyomtatása</translation>
</message>
<message>
<location/>
<source>V&amp;alidation</source>
- <translation>&amp;Érvényesítés</translation>
+ <translation>&amp;Ellenőrzés</translation>
</message>
<message>
<location/>
@@ -394,7 +408,7 @@ Will assume a single universal form.</source>
<message>
<location/>
<source>&amp;Toolbars</source>
- <translation>&amp;Eszköztár</translation>
+ <translation>&amp;Eszköztárak</translation>
</message>
<message>
<location/>
@@ -404,7 +418,7 @@ Will assume a single universal form.</source>
<message>
<location/>
<source>&amp;Translation</source>
- <translation>&amp;Fordítások</translation>
+ <translation>F&amp;ordítás</translation>
</message>
<message>
<location/>
@@ -413,23 +427,23 @@ Will assume a single universal form.</source>
</message>
<message>
<location/>
- <source>&amp;Edit</source>
- <translation>&amp;Szerkesztés</translation>
+ <source>Recently Opened &amp;Files</source>
+ <translation>Előzőleg megnyitott &amp;fájlok</translation>
</message>
<message>
<location/>
- <source>&amp;Open...</source>
- <translation>&amp;Megnyitás...</translation>
+ <source>&amp;Edit</source>
+ <translation>Sz&amp;erkesztés</translation>
</message>
<message>
<location/>
<source>Open a Qt translation source file (TS file) for editing</source>
- <translation>Egy Qt fordítási forrás fájl (TS fájl) megnyitása szerkesztésre</translation>
+ <translation>Qt fordytási forrás (TS fájl) megnyitása szerkesztésre</translation>
</message>
<message>
<location/>
<source>Ctrl+O</source>
- <translation>Ctrl+O</translation>
+ <translation></translation>
</message>
<message>
<location/>
@@ -439,170 +453,95 @@ Will assume a single universal form.</source>
<message>
<location/>
<source>Close this window and exit.</source>
- <translation>Ablak bezárása és kilépés.</translation>
+ <translation>Kilépés, és az ablak bezárása.</translation>
</message>
<message>
<location/>
<source>Ctrl+Q</source>
- <translation>Ctrl+Q</translation>
+ <translation></translation>
</message>
<message>
- <location filename="../tools/linguist/linguist/mainwindow.cpp" line="+646"/>
+ <location filename="../tools/linguist/linguist/mainwindow.cpp" line="+668"/>
<location line="+15"/>
<source>&amp;Save</source>
- <translation>&amp;Mentés</translation>
+ <translation>Menté&amp;s</translation>
</message>
<message>
<location filename="../tools/linguist/linguist/mainwindow.ui"/>
<source>Save changes made to this Qt translation source file</source>
- <translation>Változtatások elmentése a Qt fordítási forrás fájlban</translation>
- </message>
- <message>
- <location/>
- <source>Move to the previous unfinished item.</source>
- <translation>Az előző befejezetlen elemre mozgatás.</translation>
- </message>
- <message>
- <location/>
- <source>Move to the next unfinished item.</source>
- <translation>A következő befejezetlen elemre mozgatás.</translation>
- </message>
- <message>
- <location/>
- <source>Move to the previous item.</source>
- <translation>Az előző elemre mozgatás.</translation>
- </message>
- <message>
- <location/>
- <source>Move to the next item.</source>
- <translation>A következő elemre mozgatás.</translation>
- </message>
- <message>
- <location/>
- <source>Mark this item as done and move to the next unfinished item.</source>
- <translation>Az elem készre jelölése és a következő befejezetlen elemre mozgás.</translation>
- </message>
- <message>
- <location/>
- <source>Copy from source text</source>
- <translation>Másolás forrás szövegből</translation>
- </message>
- <message>
- <location/>
- <source>Toggle the validity check of accelerators, i.e. whether the number of ampersands in the source and translation text is the same. If the check fails, a message is shown in the warnings window.</source>
- <translation>Gyorsítások érvényesség ellenőrzésének kapcsolgatása, lásd vajon az et jelek száma megegyezik-e a a forrás és lefordított szövegben. Ha ez az ellenőrzés hibásan zárul le, a figyelmeztető ablakban egy üzenet tűnik fel.</translation>
- </message>
- <message>
- <location/>
- <source>Toggle the validity check of ending punctuation. If the check fails, a message is shown in the warnings window.</source>
- <translation>A végződő írásjelek érvényesség ellenőrzésének kapcsolgatása. Ha ez az ellenőrzés nem sikerült, akkor egy üzenet bukkan fel a figyelmeztető ablakban.</translation>
- </message>
- <message>
- <location/>
- <source>Toggle checking that phrase suggestions are used. If the check fails, a message is shown in the warnings window.</source>
- <translation>Fázis ajánlások ellenőrzésének kapcsolgatása. Ha az ellenőrzés sikertelen, akkor egy üzenet bukkan fel a figyelmeztető ablakban.</translation>
- </message>
- <message>
- <location/>
- <source>Toggle the validity check of place markers, i.e. whether %1, %2, ... are used consistently in the source text and translation text. If the check fails, a message is shown in the warnings window.</source>
- <translation>A hely megjelelölők érvényesség ellenőrzésének kapcsolgatása, lásd vajon a(z) %1, %2.. következetesen vannak-e használva a forrás és lefordított szövegben. Ha az ellenőrzés sikertelen, egy üzenet bukkan fel a figyelmeztető ablakban.</translation>
+ <translation>A fordításon végzett változtatások elmentése</translation>
</message>
<message>
<location/>
<source>Open Read-O&amp;nly...</source>
- <translation>&amp;Csak olvasható megnyitása...</translation>
+ <translation>Megnyitás csak &amp;olvasásra...</translation>
</message>
<message>
<location/>
<source>&amp;Save All</source>
- <translation>Az összes &amp;mentése</translation>
+ <translation>Mind&amp;et menti</translation>
</message>
<message>
<location/>
<source>Ctrl+S</source>
- <translation>Ctrl+S</translation>
+ <translation></translation>
</message>
<message>
<location/>
<location filename="../tools/linguist/linguist/mainwindow.cpp" line="-14"/>
<location line="+11"/>
<source>Save &amp;As...</source>
- <translation>&amp;Másként mentés...</translation>
+ <translation>Mentés má&amp;sként...</translation>
</message>
<message>
<location/>
<source>Save As...</source>
- <translation>Másként mentés...</translation>
+ <translation>Mentés másként...</translation>
</message>
<message>
<location/>
<source>Save changes made to this Qt translation source file into a new file.</source>
- <translation>A változtatások egy új fájlba mentése, amik ebben a Qt fordítási forrás fájlban keletkeztek.</translation>
+ <translation>A fordításon végzett változtatások elmentése egy új fájlba.</translation>
</message>
<message>
<location filename="../tools/linguist/linguist/mainwindow.cpp" line="+4"/>
<source>&amp;Release</source>
- <translation>&amp;Kiadás</translation>
+ <translation>Kia&amp;dás</translation>
</message>
<message>
<location filename="../tools/linguist/linguist/mainwindow.ui"/>
<source>Create a Qt message file suitable for released applications from the current message file.</source>
- <translation>Qt üzenez fájl létrehozása az aktuális üzenet fájlból, ami alkalmas a kiadásra.</translation>
- </message>
- <message>
- <location/>
- <source>&amp;Print...</source>
- <translation>&amp;Nyomtatás...</translation>
+ <translation>Az alkalmazások számára használható Qt üzenetfájl létrehozása a jelenlegi fájlból.</translation>
</message>
<message>
<location/>
<source>Ctrl+P</source>
- <translation>Ctrl+P</translation>
+ <translation></translation>
</message>
<message>
<location/>
<source>&amp;Undo</source>
- <translation>&amp;Visszacsinálás</translation>
- </message>
- <message>
- <location/>
- <source>Recently Opened &amp;Files</source>
- <translation>&amp;Utoljára megnyitott &amp;fájlok</translation>
- </message>
- <message>
- <location/>
- <source>Save</source>
- <translation>Mentés</translation>
- </message>
- <message>
- <location/>
- <source>Print a list of all the translation units in the current translation source file.</source>
- <translation>Az összes fordítási egység kinyomtatása az aktuális fordítási forrás fájlban.</translation>
- </message>
- <message>
- <location/>
- <source>Undo the last editing operation performed on the current translation.</source>
- <translation>Az utoljára szerkesztett művelet visszavonása az aktuális fordításon.</translation>
+ <translation>&amp;Visszavonás</translation>
</message>
<message>
<location/>
<source>Ctrl+Z</source>
- <translation>Ctrl+Z</translation>
+ <translation></translation>
</message>
<message>
<location/>
<source>&amp;Redo</source>
- <translation>&amp;Helyreállítás</translation>
+ <translation>Új&amp;ra</translation>
</message>
<message>
<location/>
<source>Redo an undone editing operation performed on the translation.</source>
- <translation>Szerkesztő művelet helyreállítása és visszavonása, ami az aktuális fordításon lett végrehajtva.</translation>
+ <translation>Egy visszavont szerkesztési művelet újra végrehajtása a fordításon.</translation>
</message>
<message>
<location/>
<source>Ctrl+Y</source>
- <translation>Ctrl+Y</translation>
+ <translation></translation>
</message>
<message>
<location/>
@@ -612,12 +551,12 @@ Will assume a single universal form.</source>
<message>
<location/>
<source>Copy the selected translation text to the clipboard and deletes it.</source>
- <translation>A kiválasztott fordítási szöveg vágólapra másolása és törlése.</translation>
+ <translation>A kijelölt szöveg vágólapra másolása és törlése.</translation>
</message>
<message>
<location/>
<source>Ctrl+X</source>
- <translation>Ctrl+X</translation>
+ <translation></translation>
</message>
<message>
<location/>
@@ -627,12 +566,12 @@ Will assume a single universal form.</source>
<message>
<location/>
<source>Copy the selected translation text to the clipboard.</source>
- <translation>A kiválaszott fordítási szöveg vágólapra másolása.</translation>
+ <translation>A kijelölt szöveg vágólapra másolása.</translation>
</message>
<message>
<location/>
<source>Ctrl+C</source>
- <translation>Ctrl+C</translation>
+ <translation></translation>
</message>
<message>
<location/>
@@ -642,42 +581,37 @@ Will assume a single universal form.</source>
<message>
<location/>
<source>Paste the clipboard text into the translation.</source>
- <translation>A vágólapon levő szöveg fordításba illesztése.</translation>
+ <translation>A vágólap tartalmának beillesztése a fordításba.</translation>
</message>
<message>
<location/>
<source>Ctrl+V</source>
- <translation>Ctrl+V</translation>
+ <translation></translation>
</message>
<message>
<location/>
<source>Select &amp;All</source>
- <translation>Az &amp;összes kiválasztása</translation>
+ <translation>Ö&amp;sszes kijelölése</translation>
</message>
<message>
<location/>
<source>Select the whole translation text.</source>
- <translation>Az egész fordítási szöveg kiválasztása.</translation>
+ <translation>A fordítás teljes szövegét kijelöli.</translation>
</message>
<message>
<location/>
<source>Ctrl+A</source>
- <translation>Ctrl+A</translation>
- </message>
- <message>
- <location/>
- <source>&amp;Find...</source>
- <translation>&amp;Keresés...</translation>
+ <translation></translation>
</message>
<message>
<location/>
<source>Search for some text in the translation source file.</source>
- <translation>Néhány szövegre keresés a fordítási forrás fájlban.</translation>
+ <translation>Szöveg keresése a fordítás alatt levő fájlban.</translation>
</message>
<message>
<location/>
<source>Ctrl+F</source>
- <translation>Ctrl+F</translation>
+ <translation></translation>
</message>
<message>
<location/>
@@ -687,182 +621,150 @@ Will assume a single universal form.</source>
<message>
<location/>
<source>Continue the search where it was left.</source>
- <translation>A keresés folytatása ott, ahol abba lett hagyva.</translation>
+ <translation>Az előző keresés folytatása.</translation>
</message>
<message>
<location/>
<source>F3</source>
- <translation>F3</translation>
+ <translation></translation>
</message>
<message>
<location/>
<source>&amp;Prev Unfinished</source>
- <translation>Az &amp;előző befejezetlen</translation>
- </message>
- <message>
- <location/>
- <source>Close</source>
- <translation>Bezárás</translation>
- </message>
- <message>
- <location/>
- <source>&amp;Close All</source>
- <translation>Az összes &amp;bezárása</translation>
- </message>
- <message>
- <location/>
- <source>Ctrl+W</source>
- <translation>Ctrl+W</translation>
+ <translation>&amp;Előző befejezetlen</translation>
</message>
<message>
<location/>
<source>Ctrl+K</source>
- <translation>Ctrl+K</translation>
+ <translation></translation>
</message>
<message>
<location/>
<source>&amp;Next Unfinished</source>
- <translation>&amp;Következő befejezetlen</translation>
+ <translation>Következő befejezetle&amp;n</translation>
</message>
<message>
<location/>
<source>P&amp;rev</source>
- <translation>&amp;Előző</translation>
+ <translation>E&amp;lőző</translation>
</message>
<message>
<location/>
<source>Ctrl+Shift+K</source>
- <translation>Ctrl+Shift+K</translation>
+ <translation></translation>
</message>
<message>
<location/>
<source>Ne&amp;xt</source>
- <translation>&amp;Következő</translation>
+ <translation>Kö&amp;vetkező</translation>
</message>
<message>
<location/>
<source>&amp;Done and Next</source>
- <translation>&amp;Kész és Következő</translation>
+ <translation>Vé&amp;glegesítés és ugrás</translation>
</message>
<message>
<location/>
<source>Copies the source text into the translation field.</source>
- <translation>Forrás szövegek fordítási mezőbe másolása.</translation>
+ <translation>A forrás szöveg bemásolása a fordításba.</translation>
</message>
<message>
<location/>
<source>Ctrl+B</source>
- <translation>Ctrl+B</translation>
+ <translation></translation>
</message>
<message>
<location/>
<source>&amp;Accelerators</source>
- <translation>&amp;Gyorsítások</translation>
+ <translation>&amp;Gyorsbillentyűk</translation>
</message>
<message>
<location/>
<source>&amp;Ending Punctuation</source>
- <translation>&amp;Vég írásjelek</translation>
+ <translation>&amp;Záró írásjelek</translation>
</message>
<message>
<location/>
<source>&amp;Phrase matches</source>
- <translation>&amp;Fázis egyezés</translation>
+ <translation>&amp;Kifejezés egyezések</translation>
</message>
<message>
- <location/>
- <source>Place &amp;Marker Matches</source>
- <translation>Hely &amp;megjelölők egyezései</translation>
+ <source>Toggle checking that phrase suggestions are used.</source>
+ <translation type="obsolete">A kifejezéstár ajánlásainak használatának engedélyezése.</translation>
</message>
<message>
<location/>
- <source>&amp;New Phrase Book...</source>
- <translation>&amp;Új fázis könyv...</translation>
+ <source>Place &amp;Marker Matches</source>
+ <translation>&amp;Helyfoglalók egyezése</translation>
</message>
<message>
<location/>
<source>Create a new phrase book.</source>
- <translation>Egy új fázis könyv létrehozása.</translation>
+ <translation>Kifejezéstár létrehozása.</translation>
</message>
<message>
<location/>
<source>Ctrl+N</source>
- <translation>Ctrl+N</translation>
- </message>
- <message>
- <location/>
- <source>&amp;Open Phrase Book...</source>
- <translation>Fázis könyv &amp;megnyitása...</translation>
+ <translation></translation>
</message>
<message>
<location/>
<source>Open a phrase book to assist translation.</source>
- <translation>Fáris könyv megnyitása a fordítás támogatásával.</translation>
+ <translation>Kifejezéstár megnyitása a fordításhoz.</translation>
</message>
<message>
<location/>
<source>Ctrl+H</source>
- <translation>Ctrl+H</translation>
- </message>
- <message>
- <location/>
- <source>&amp;Reset Sorting</source>
- <translation>&amp;Rendezés helyreállítása</translation>
+ <translation></translation>
</message>
<message>
<location/>
<source>Sort the items back in the same order as in the message file.</source>
- <translation>Az elemek visszarendezése ugyanabba a sorrendben, ahogy az üzenet fájlban található.</translation>
+ <translation>Az üzenetfájlbeli sorrend visszaállítása.</translation>
</message>
<message>
<location/>
<source>&amp;Display guesses</source>
- <translation>Feltételezések &amp;kijelzése</translation>
+ <translation>&amp;Tippek megjelenítése</translation>
</message>
<message>
<location/>
<source>Set whether or not to display translation guesses.</source>
- <translation>Annak beállítása, hogy vajon kijelezze a fordítási feltételezéseket vagy sem.</translation>
+ <translation>Fordítási tippek megjelenítése vagy elrejtése.</translation>
</message>
<message>
<location/>
<source>&amp;Statistics</source>
- <translation>&amp;Statisztikák</translation>
- </message>
- <message>
- <location/>
- <source>Display translation statistics.</source>
- <translation>Fordítási statisztikák kijelzése.</translation>
+ <translation>&amp;Statisztika</translation>
</message>
<message>
<location/>
<source>&amp;Manual</source>
- <translation>&amp;Kézi</translation>
+ <translation>&amp;Kézikönyv</translation>
</message>
<message>
<location/>
<source>F1</source>
- <translation>F1</translation>
+ <translation></translation>
</message>
<message>
<location/>
<source>About Qt Linguist</source>
- <translation>Qt Linguist-ról</translation>
+ <translation>A Qt Linguist névjegye</translation>
</message>
<message>
<location/>
<source>About Qt</source>
- <translation>Qt-ról</translation>
+ <translation>A Qt névjegye</translation>
</message>
<message>
- <location/>
<source>Display information about the Qt toolkit by Trolltech.</source>
- <translation>Információ megjelenítése a Trolltech Qt eszközrendszeréről.</translation>
+ <translation type="obsolete">Információk a Trolltech Qt eszközkészletéről.</translation>
</message>
<message>
<location/>
<source>&amp;What&apos;s This?</source>
- <translation>&amp;Mi ez?</translation>
+ <translation>Mi e&amp;z?</translation>
</message>
<message>
<location/>
@@ -872,52 +774,44 @@ Will assume a single universal form.</source>
<message>
<location/>
<source>Enter What&apos;s This? mode.</source>
- <translation>Mi ez? beviteli mód.</translation>
+ <translation>Átlépés &quot;Mi ez?&quot; módba.</translation>
</message>
<message>
<location/>
<source>Shift+F1</source>
- <translation>Shift+F1</translation>
- </message>
- <message>
- <location/>
- <source>&amp;Search And Translate...</source>
- <translation>&amp;Keresés és fordítás...</translation>
+ <translation></translation>
</message>
<message>
<location/>
<source>Replace the translation on all entries that matches the search source text.</source>
- <translation>A fordítások kicserélése az összes olyan helyen, ahol az megegyezik a keresett forrás szöveggel.</translation>
- </message>
- <message>
- <location/>
- <location filename="../tools/linguist/linguist/mainwindow.cpp" line="+21"/>
- <source>&amp;Batch Translation...</source>
- <translation>&amp;Köteg fordítás...</translation>
+ <translation>A fordítás cseréje minden olyan előfordulásnál, ahol a forrásszöveg illeszkedik a keresett szóra.</translation>
</message>
<message>
<location/>
<source>Batch translate all entries using the information in the phrase books.</source>
- <translation>Köteg fordítás mindenhol, ahol az információ a fázis könyvekben van haszálva.</translation>
+ <translation>Az összes bejegyzés automatikus fordítása a kifejezéstárak alapján.</translation>
</message>
<message>
<location/>
- <location filename="../tools/linguist/linguist/mainwindow.cpp" line="-34"/>
+ <location filename="../tools/linguist/linguist/mainwindow.cpp" line="-13"/>
<location line="+10"/>
<source>Release As...</source>
- <translation>Kiadás, mint...</translation>
+ <translation>Kiadás másként...</translation>
+ </message>
+ <message>
+ <source>Create a Qt message file suitable for released applications from the current message file. The filename will automatically be determined from the name of the .ts file.</source>
+ <translation type="obsolete">Az alkalmazások számára használható Qt üzenetfájl létrehozása a jelenlegi fájlból. A fájlnév a jelenlegi ts fájl nevéből lesz megállapítva.</translation>
</message>
<message>
- <location filename="../tools/linguist/linguist/mainwindow.cpp" line="-2005"/>
+ <location filename="../tools/linguist/linguist/mainwindow.cpp" line="-2035"/>
<source></source>
<comment>This is the application&apos;s main window.</comment>
- <translatorcomment>Ez az alkalmazás fő ablaka.</translatorcomment>
<translation></translation>
</message>
<message>
- <location line="+188"/>
+ <location line="+190"/>
<source>Source text</source>
- <translation>Forrás szöveg</translation>
+ <translation>Forrás</translation>
</message>
<message>
<location line="+1"/>
@@ -929,7 +823,7 @@ Will assume a single universal form.</source>
<location line="-2"/>
<location line="+63"/>
<source>Context</source>
- <translation>Összefüggés</translation>
+ <translation>Környezet</translation>
</message>
<message>
<location line="-62"/>
@@ -939,22 +833,22 @@ Will assume a single universal form.</source>
<message>
<location line="+79"/>
<source>This panel lists the source contexts.</source>
- <translation>Ez a panel kilistázza a forrás összefüggéseket.</translation>
+ <translation>Ez a panel a környezeteket listázza.</translation>
</message>
<message>
- <location line="+15"/>
+ <location line="+13"/>
<source>Strings</source>
- <translation>Sztringek</translation>
+ <translation>Szövegek</translation>
</message>
<message>
- <location line="+39"/>
+ <location line="+37"/>
<source>Phrases and guesses</source>
- <translation>Kommunikációk és feltételezések</translation>
+ <translation>Kifejezések és tippek</translation>
</message>
<message>
<location line="+10"/>
<source>Sources and Forms</source>
- <translation>Források és formák</translation>
+ <translation>Források és űrlapok</translation>
</message>
<message>
<location line="+15"/>
@@ -965,10 +859,10 @@ Will assume a single universal form.</source>
<location line="+59"/>
<source> MOD </source>
<comment>status bar: file(s) modified</comment>
- <translation>MOD</translation>
+ <translation> MOD </translation>
</message>
<message>
- <location line="+130"/>
+ <location line="+139"/>
<source>Loading...</source>
<translation>Betöltés...</translation>
</message>
@@ -983,30 +877,30 @@ Will assume a single universal form.</source>
<source>The file &apos;%1&apos; does not seem to be related to the currently open file(s) &apos;%2&apos;.
Close the open file(s) first?</source>
- <translation>A(z) &apos;%1&apos; fájl nem tartozik hozzá egyetlen aktuálisan megnyitott &apos;%2&apos; fájlhoz sem.
+ <translation>A(z) &apos;%1&apos; fájl nem kapcsolható a jelenleg megnyitott fájlokhoz (%2).
-Bezárja először a megnyitott fájl(oka)t?</translation>
+Bezárja a nyitott fájlokat?</translation>
</message>
<message>
<location line="+22"/>
<source>The file &apos;%1&apos; does not seem to be related to the file &apos;%2&apos; which is being loaded as well.
Skip loading the first named file?</source>
- <translation>A(z) &apos;%1&apos; fájl nem tartozik egyetlen &apos;%2&apos; fájlhoz sem, amelyik ugyanúgy be lett töltve.
+ <translation>A(z) &apos;%1&apos; fájl nem a &apos;%2&apos; fájlhoz tartozónak tűnik.
-Azt első megnevezett fájl betöltésének kihagyása?</translation>
+Kihagyja ennek a fájlnak a betöltését?</translation>
</message>
<message numerus="yes">
<location line="+61"/>
<source>%n translation unit(s) loaded.</source>
<translation>
- <numerusform>%n fordítási egység betöltése.</numerusform>
+ <numerusform>%n fordítási egység betöltve.</numerusform>
</translation>
</message>
<message>
- <location line="+93"/>
+ <location line="+94"/>
<source>Related files (%1);;</source>
- <translation>Hozzákapcsolodó fájlok (%1);;</translation>
+ <translation>Hozzátartozó fájlok (%1);;</translation>
</message>
<message>
<location line="+4"/>
@@ -1017,27 +911,27 @@ Azt első megnevezett fájl betöltésének kihagyása?</translation>
<location line="+10"/>
<location line="+31"/>
<source>File saved.</source>
- <translation>Fájl elmentve.</translation>
+ <translation>A fájl elmentve.</translation>
</message>
<message>
<location filename="../tools/linguist/linguist/mainwindow.ui"/>
<location filename="../tools/linguist/linguist/mainwindow.cpp" line="+15"/>
- <location line="+1165"/>
+ <location line="+1187"/>
<source>Release</source>
<translation>Kiadás</translation>
</message>
<message>
- <location filename="../tools/linguist/linguist/mainwindow.cpp" line="-1164"/>
+ <location filename="../tools/linguist/linguist/mainwindow.cpp" line="-1186"/>
<source>Qt message files for released applications (*.qm)
All files (*)</source>
- <translation>Qt üzenet fájlok a kiadott alkalmazásra (*.qm)
-Az összes fájl(*)</translation>
+ <translation>Qt üzenetfájlok a kiadott alkalmazásokhoz (*.qm)
+Minden fájl (*)</translation>
</message>
<message>
<location line="+3"/>
<location line="+12"/>
<source>File created.</source>
- <translation>Fál létrehozva.</translation>
+ <translation>A fájl létrehozva.</translation>
</message>
<message>
<location line="+34"/>
@@ -1048,34 +942,34 @@ Az összes fájl(*)</translation>
<message>
<location line="-347"/>
<source>Context: %1</source>
- <translation>Összefüggés: %1</translation>
+ <translation>Környezet: %1</translation>
</message>
<message>
<location line="+32"/>
<source>finished</source>
- <translation>Befejezve</translation>
+ <translation>végleges</translation>
</message>
<message>
<location line="+3"/>
<source>unresolved</source>
- <translation>Nincs megoldva</translation>
+ <translation>hibás</translation>
</message>
<message>
<location line="+3"/>
<source>obsolete</source>
- <translation>Elavulás</translation>
+ <translation>elavult</translation>
</message>
<message>
<location line="+15"/>
<location line="+307"/>
<source>Printing... (page %1)</source>
- <translation>Nyomtatás... (%1 lap)</translation>
+ <translation>Nyomtatás... (oldal %1)</translation>
</message>
<message>
<location line="-300"/>
<location line="+307"/>
<source>Printing completed</source>
- <translation>Nyomtatás teljesítve</translation>
+ <translation>Nyomtatás befejezve</translation>
</message>
<message>
<location line="-305"/>
@@ -1086,7 +980,7 @@ Az összes fájl(*)</translation>
<message>
<location line="-232"/>
<source>Search wrapped.</source>
- <translation>Keresés elrejtése.</translation>
+ <translation>A keresés befejeződött.</translation>
</message>
<message>
<location line="+17"/>
@@ -1094,7 +988,7 @@ Az összes fájl(*)</translation>
<location line="+34"/>
<location line="+24"/>
<location line="+22"/>
- <location line="+516"/>
+ <location line="+538"/>
<location line="+1"/>
<location line="+274"/>
<location line="+40"/>
@@ -1103,67 +997,67 @@ Az összes fájl(*)</translation>
<translation>Qt Linguist</translation>
</message>
<message>
- <location line="-1198"/>
+ <location line="-1220"/>
<location line="+102"/>
<source>Cannot find the string &apos;%1&apos;.</source>
- <translation>A(z) &apos;%1&apos; sztring nem található.</translation>
+ <translation>A szöveg nem található: &apos;%1&apos;.</translation>
</message>
<message>
<location line="-82"/>
<source>Search And Translate in &apos;%1&apos; - Qt Linguist</source>
- <translation>Keresés és fordítás a(z) &apos;%1&apos;-ben - Qt Linguist</translation>
+ <translation>Keresés és fordítás itt: &apos;%1&apos; - Qt Linguist</translation>
</message>
<message>
<location line="+34"/>
<location line="+23"/>
<location line="+24"/>
<source>Translate - Qt Linguist</source>
- <translation>Qt Linguist fordítása</translation>
+ <translation>Fordítás - Qt Linguist</translation>
</message>
<message numerus="yes">
<location line="-46"/>
<source>Translated %n entry(s)</source>
<translation>
- <numerusform>%n bevitel lefordítva</numerusform>
+ <numerusform>%n bejegyzés lefordítva</numerusform>
</translation>
</message>
<message>
<location line="+23"/>
<source>No more occurrences of &apos;%1&apos;. Start over?</source>
- <translation>Nem található &apos;%1&apos; több előfordulása. Előlről kezdi?</translation>
+ <translation>Nincs több találat erre: &apos;%1&apos;. Kezdjük elölről?</translation>
</message>
<message>
<location line="+30"/>
<source>Create New Phrase Book</source>
- <translation>Új kommunikációs könyv létrehozása</translation>
+ <translation>Kifejezéstár létrehozása</translation>
</message>
<message>
<location line="+1"/>
<source>Qt phrase books (*.qph)
All files (*)</source>
- <translation>Qt kommunikációs könyv (*.qph)
-Az összes fájl (*)</translation>
+ <translation>Qt kifejezéstárak (*.qph)
+Minden fájl (*)</translation>
</message>
<message>
<location line="+11"/>
<source>Phrase book created.</source>
- <translation>Kommunikációs könyv létrehozva.</translation>
+ <translation>A kifejezéstár létrehozva.</translation>
</message>
<message>
<location line="+17"/>
<source>Open Phrase Book</source>
- <translation>Kommunikációs könyv megnyitása</translation>
+ <translation>Kifejezéstár megnyitása</translation>
</message>
<message>
<location line="+1"/>
<source>Qt phrase books (*.qph);;All files (*)</source>
- <translation>Qt kommunikációs könyvek (*.qpm);;Az összes fájl (*)</translation>
+ <translation>Qt kifejezéstárak (*.qph);;Minden fájl (*)</translation>
</message>
<message numerus="yes">
<location line="+7"/>
<source>%n phrase(s) loaded.</source>
<translation>
- <numerusform>%n kommunikáció betöltése.</numerusform>
+ <numerusform>%n kifejezés betöltve.</numerusform>
</translation>
</message>
<message>
@@ -1171,47 +1065,56 @@ Az összes fájl (*)</translation>
<location line="+3"/>
<location line="+7"/>
<source>Add to phrase book</source>
- <translation>Kommunikációs könyv hozzáadása</translation>
+ <translation>Hozzáadás a kifejezéstárhoz</translation>
</message>
<message>
<location line="-9"/>
<source>No appropriate phrasebook found.</source>
- <translation>Nem található megfelelő kommunikációs könyv.</translation>
+ <translation>Nincs megfelelő kifejezéstár.</translation>
</message>
<message>
<location line="+3"/>
<source>Adding entry to phrasebook %1</source>
- <translation>Új elem hozzáadása a(z) %1 fázis fáziskönyvhöz</translation>
+ <translation>Hozzáadás ehhez kifejezéstárhoz: &apos;%1&apos;</translation>
</message>
<message>
<location line="+7"/>
<source>Select phrase book to add to</source>
- <translation>Kommunikációs könyv kiválasztása hozzáadásra</translation>
+ <translation>Válassza ki a bővítendő kifejezéstárat</translation>
</message>
<message>
<location line="+29"/>
<source>Unable to launch Qt Assistant (%1)</source>
- <translation>Nem lehet elindítani a Qt Assistant (%1)</translation>
+ <translation>A Qt Asszisztens elindítása sikertelen (%1)</translation>
</message>
<message>
<location line="+17"/>
<source>Version %1</source>
- <translation>%1 Verzió</translation>
+ <translation>Verzió %1</translation>
</message>
<message>
<location line="+3"/>
<source>&lt;center&gt;&lt;img src=&quot;:/images/splash.png&quot;/&gt;&lt;/img&gt;&lt;p&gt;%1&lt;/p&gt;&lt;/center&gt;&lt;p&gt;Qt Linguist is a tool for adding translations to Qt applications.&lt;/p&gt;&lt;p&gt;Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).</source>
- <translation>&lt;center&gt;&lt;img src=&quot;:/images/splash.png&quot;/&gt;&lt;/img&gt;&lt;p&gt;%1&lt;/p&gt;&lt;/center&gt;&lt;p&gt;Qt Linguist egy olyan eszköz, amelyekkel fordítások adhat hozzá a Qt alkalmazásokhoz.&lt;/p&gt;&lt;p&gt;Szerzői jog(C) 2010 Nokia Vállalat és/vagy leányvállalatai.</translation>
+ <translation>&lt;center&gt;&lt;img src=&quot;:/images/splash.png&quot;/&gt;&lt;/img&gt;&lt;p&gt;%1&lt;/p&gt;&lt;/center&gt;&lt;p&gt;A Qt Linguist a Qt alkalmazások fordítását segítő eszköz.&lt;/p&gt;&lt;p&gt;Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).</translation>
+ </message>
+ <message>
+ <source>&lt;center&gt;&lt;img src=&quot;:/images/splash.png&quot;/&gt;&lt;/img&gt;&lt;p&gt;%1&lt;/p&gt;&lt;/center&gt;&lt;p&gt;Qt Linguist is a tool for adding translations to Qt applications.&lt;/p&gt;&lt;p&gt;Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).</source>
+ <translatorcomment>&lt;/p&gt;</translatorcomment>
+ <translation type="obsolete">&lt;center&gt;&lt;img src=&quot;:/images/splash.png&quot;/&gt;&lt;/img&gt;&lt;p&gt;%1&lt;/p&gt;&lt;/center&gt;&lt;p&gt;A Qt Linguist a Qt alkalmazások fordítását segítő eszköz.&lt;/p&gt;&lt;p&gt;Copyright (C) 2009 Nokia Corporation és leányvállalata(i).</translation>
+ </message>
+ <message>
+ <source>&lt;center&gt;&lt;img src=&quot;:/images/splash.png&quot;/&gt;&lt;/img&gt;&lt;p&gt;%1&lt;/p&gt;&lt;/center&gt;&lt;p&gt;Qt Linguist is a tool for adding translations to Qt applications.&lt;/p&gt;&lt;p&gt;%2&lt;/p&gt;&lt;p&gt;Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).&lt;/p&gt;&lt;p&gt;The program is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.&lt;/p&gt;</source>
+ <translation type="obsolete">&lt;center&gt;&lt;img src=&quot;:/images/splash.png&quot;/&gt;&lt;/img&gt;&lt;p&gt;%1&lt;/p&gt;&lt;/center&gt;&lt;p&gt;A Qt Linguist a Qt alkalmazások fordítását segítő eszköz.&lt;/p&gt;&lt;p&gt;%2&lt;/p&gt;&lt;p&gt;Copyright (C) 2000-2007 Trolltech ASA. Minden jog fenntartva.&lt;/p&gt;&lt;p&gt;Ez a program abban a reményben került közreadásra, hogy hasznos lesz, de minden egyéb GARANCIA NÉLKÜL, az ELADHATÓSÁGRA vagy VALAMELY CÉLRA VALÓ ALKALMAZHATÓSÁGRA való származtatott garanciát is beleértve.&lt;/p&gt;</translation>
</message>
<message>
<location line="+38"/>
<source>Do you want to save the modified files?</source>
- <translation>El szeretné menteni a módosított fájlokat?</translation>
+ <translation>Menti a módosított fájlokat?</translation>
</message>
<message>
<location line="+22"/>
<source>Do you want to save &apos;%1&apos;?</source>
- <translation>El szeretné menteni a(z) %1-t ?</translation>
+ <translation>Menti ezt a fájlt &apos;%1&apos;?</translation>
</message>
<message>
<location line="+43"/>
@@ -1227,10 +1130,10 @@ Az összes fájl (*)</translation>
<location line="+267"/>
<location line="+12"/>
<source>No untranslated translation units left.</source>
- <translation>Nem maradtak lefordítatlan fordítások.</translation>
+ <translation>Nincs több lefordítandó kifejezés.</translation>
</message>
<message>
- <location line="+176"/>
+ <location line="+198"/>
<source>&amp;Window</source>
<translation>&amp;Ablak</translation>
</message>
@@ -1242,27 +1145,27 @@ Az összes fájl (*)</translation>
<message>
<location line="+1"/>
<source>Ctrl+M</source>
- <translation>Ctrl+M</translation>
+ <translation></translation>
</message>
<message>
<location line="+12"/>
<source>Display the manual for %1.</source>
- <translation>A manuál megjelenítése %1-re vonatkozóan.</translation>
+ <translation>%1 kézikönyvének megtekintése.</translation>
</message>
<message>
<location line="+1"/>
<source>Display information about %1.</source>
- <translation>Információ megjelenítése a(z) %1-ről.</translation>
+ <translation>Információk megjelenítése erről: %1.</translation>
</message>
<message>
<location line="+70"/>
<source>&amp;Save &apos;%1&apos;</source>
- <translation>&apos;%1&apos; &amp;mentése</translation>
+ <translation>&apos;%1&apos; menté&amp;se</translation>
</message>
<message>
<location line="+1"/>
<source>Save &apos;%1&apos; &amp;As...</source>
- <translation>&apos;%1&apos; &amp;másként mentése...</translation>
+ <translation>&apos;%1&apos; mentése máské&amp;nt...</translation>
</message>
<message>
<location line="+1"/>
@@ -1272,12 +1175,12 @@ Az összes fájl (*)</translation>
<message>
<location line="+1"/>
<source>Release &apos;%1&apos; As...</source>
- <translation>&apos;%1&apos; másként kiadása...</translation>
+ <translation>&apos;%1&apos; kiadása mint...</translation>
</message>
<message>
<location line="+1"/>
<source>&amp;Close &apos;%1&apos;</source>
- <translation>&apos;%1&apos; &amp;bezárása</translation>
+ <translation>&apos;%1&apos; be&amp;zárása</translation>
</message>
<message>
<location line="+6"/>
@@ -1288,33 +1191,33 @@ Az összes fájl (*)</translation>
<message>
<location line="-10"/>
<source>Save All</source>
- <translation>Az összes mentése</translation>
+ <translation>Mindet menti</translation>
</message>
<message>
<location filename="../tools/linguist/linguist/mainwindow.ui"/>
<location filename="../tools/linguist/linguist/mainwindow.cpp" line="+1"/>
<source>&amp;Release All</source>
- <translation>Az összes &amp;kiadása</translation>
+ <translation>Összes k&amp;iadása</translation>
</message>
<message>
<location filename="../tools/linguist/linguist/mainwindow.cpp" line="+1"/>
<source>Close All</source>
- <translation>Az összes bezárása</translation>
+ <translation>Mindet bezár</translation>
</message>
<message>
<location line="+23"/>
<source>Translation File &amp;Settings for &apos;%1&apos;...</source>
- <translation>Fordítási fájlok &amp;beállítása erre &apos;%1&apos;...</translation>
+ <translation>Fordításfájl beállítá&amp;sok ehhez: &apos;%1&apos;...</translation>
</message>
<message>
<location line="+1"/>
<source>&amp;Batch Translation of &apos;%1&apos;...</source>
- <translation>A(z) &apos;%1&apos; &amp;köteg fordítása...</translation>
+ <translation>&apos;%1&apos; köte&amp;gelt fordítása...</translation>
</message>
<message>
<location line="+1"/>
<source>Search And &amp;Translate in &apos;%1&apos;...</source>
- <translation>Keresés és &amp;fordítás &apos;%1&apos;-ben...</translation>
+ <translation>Keresés és fordí&amp;tás itt: &apos;%1&apos;...</translation>
</message>
<message>
<location line="+4"/>
@@ -1343,7 +1246,7 @@ Az összes fájl (*)</translation>
<location/>
<location filename="../tools/linguist/linguist/mainwindow.cpp" line="+6"/>
<source>Validation</source>
- <translation>Érvényesítés</translation>
+ <translation>Ellenőrzés</translation>
</message>
<message>
<location/>
@@ -1354,151 +1257,313 @@ Az összes fájl (*)</translation>
<message>
<location filename="../tools/linguist/linguist/mainwindow.cpp" line="+84"/>
<source>Cannot read from phrase book &apos;%1&apos;.</source>
- <translation>Nem lehet a(z) &apos;%1&apos; kommunikációs könyvből olvasni.</translation>
+ <translation>Nem lehet a(z) &apos;%1&apos; kifejezéstárból olvasni.</translation>
</message>
<message>
<location line="+15"/>
<source>Close this phrase book.</source>
- <translation>A kommunikációs könyv bezárása.</translation>
+ <translation>Kifejezéstár bezárása.</translation>
</message>
<message>
<location line="+4"/>
<source>Enables you to add, modify, or delete entries in this phrase book.</source>
- <translation>Hozzáadás, módosítás, vagy törlés engedélyezése ebben a kommunikációs könyvben.</translation>
+ <translation>Lehetővé teszi a bejegyzések szerkesztését a kifejezéskönyvben.</translation>
</message>
<message>
<location line="+5"/>
<source>Print the entries in this phrase book.</source>
- <translation>Az összes bevitel kinyomtatása ebben a társalgási szótárban.</translation>
+ <translation>A kifejezéskönyv tartalmának nyomtatása.</translation>
</message>
<message>
<location line="+16"/>
<source>Cannot create phrase book &apos;%1&apos;.</source>
- <translation>Nem lehet a &apos;%1&apos; társalgási szótárat létrehozni.</translation>
+ <translation>A(z) &apos;%1&apos; kifejezéstár létrehozása sikertelen.</translation>
</message>
<message>
<location line="+10"/>
<source>Do you want to save phrase book &apos;%1&apos;?</source>
- <translation>El szeretné menteni a &apos;%1&apos; társalgási szótárat?</translation>
+ <translation>Biztosan menti a(z) &apos;%1&apos; kifejezéskönyvet?</translation>
</message>
<message>
- <location line="+323"/>
+ <location line="+349"/>
<source>All</source>
- <translation>Mind</translation>
+ <translation>Minden</translation>
</message>
<message>
<location filename="../tools/linguist/linguist/mainwindow.ui"/>
<source>Open/Refresh Form &amp;Preview</source>
- <translation>Forma megnyitása/felfrissítése &amp;nézet</translation>
+ <translation>Form &amp;előnézet megnyitása/frissítése</translation>
</message>
<message>
<location/>
<source>Form Preview Tool</source>
- <translation>Forma előnézeti eszköz</translation>
+ <translation>Form előnézeti eszköz</translation>
</message>
<message>
<location/>
<source>F5</source>
- <translation>F5</translation>
+ <translation></translation>
</message>
<message>
<location/>
- <location filename="../tools/linguist/linguist/mainwindow.cpp" line="-536"/>
+ <source>&amp;Open...</source>
+ <translation>Meg&amp;nyitás...</translation>
+ </message>
+ <message>
+ <location/>
+ <source>Save</source>
+ <translation>Mentés</translation>
+ </message>
+ <message>
+ <location/>
+ <source>&amp;Print...</source>
+ <translation>&amp;Nyomtatás...</translation>
+ </message>
+ <message>
+ <location/>
+ <source>Print a list of all the translation units in the current translation source file.</source>
+ <translation>A fordítási egységeket listázza a jelenlegi fordításfájlban.</translation>
+ </message>
+ <message>
+ <location/>
+ <source>Undo the last editing operation performed on the current translation.</source>
+ <translation>A legutolsó szerkesztő művelet visszavonása a fordításon.</translation>
+ </message>
+ <message>
+ <location/>
+ <source>&amp;Find...</source>
+ <translation>K&amp;eresés...</translation>
+ </message>
+ <message>
+ <source>Previous unfinished item.</source>
+ <translation type="obsolete">Előző lefordítatlan bejegyzés.</translation>
+ </message>
+ <message>
+ <location/>
+ <source>Move to the previous unfinished item.</source>
+ <translation>Ugrás a előző lefordítatlan bejegyzésre.</translation>
+ </message>
+ <message>
+ <source>Next unfinished item.</source>
+ <translation type="obsolete">Következő lefordítatlan bejegyzés.</translation>
+ </message>
+ <message>
+ <location/>
+ <source>Move to the next unfinished item.</source>
+ <translation>Ugrás a következő lefordítatlan bejegyzésre.</translation>
+ </message>
+ <message>
+ <source>Move to previous item.</source>
+ <translation type="obsolete">Ugrás az előző bejegyzésre.</translation>
+ </message>
+ <message>
+ <location/>
+ <source>Move to the previous item.</source>
+ <translation>Ugrás az előző bejegyzésre.</translation>
+ </message>
+ <message>
+ <source>Next item.</source>
+ <translation type="obsolete">Következő bejegyzés.</translation>
+ </message>
+ <message>
+ <location/>
+ <source>Move to the next item.</source>
+ <translation>Ugrás a következő bejegyzésre.</translation>
+ </message>
+ <message>
+ <source>Mark item as done and move to the next unfinished item.</source>
+ <translation type="obsolete">Az aktuális bejegyzés késznek jelölése és ugrás a következő lefordítatlanra.</translation>
+ </message>
+ <message>
+ <location/>
+ <source>Mark this item as done and move to the next unfinished item.</source>
+ <translation>Ezt a bejegyzést késznek jelöli és a következő lefordítatlanra ugrik.</translation>
+ </message>
+ <message>
+ <location/>
+ <source>Copy from source text</source>
+ <translation>Forrásszöveg másolása</translation>
+ </message>
+ <message>
+ <source>Toggle the validity check of accelerators.</source>
+ <translation type="obsolete">A gyorsbillentyűk meglétének ellenőrzése.</translation>
+ </message>
+ <message>
+ <location/>
+ <source>Toggle the validity check of accelerators, i.e. whether the number of ampersands in the source and translation text is the same. If the check fails, a message is shown in the warnings window.</source>
+ <translation>A gyorsbillentyűk meglétének ellenőrzése, vagyis hogy a forrás és célszövegben található &amp;&amp; jelek száma megegyezik-e. Ha nem, akkor a figyelmeztetések közt jelezve lesz.</translation>
+ </message>
+ <message>
+ <source>Toggle the validity check of ending punctuation.</source>
+ <translation type="obsolete">A mondatvégi írásjelek ellenőrzése.</translation>
+ </message>
+ <message>
+ <location/>
+ <source>Toggle the validity check of ending punctuation. If the check fails, a message is shown in the warnings window.</source>
+ <translation>A mondatvégi írásjelek ellenőrzése. Ha nem, akkor a figyelmeztetések közt jelezve lesz.</translation>
+ </message>
+ <message>
+ <location/>
+ <source>Toggle checking that phrase suggestions are used. If the check fails, a message is shown in the warnings window.</source>
+ <translation>Az ajánlásokhoz való igazodás ellenőrzése. Ha van ajánlás, mégsincs felhasználva a fordításban, akkor a figyelmeztetések közt jelezve lesz.</translation>
+ </message>
+ <message>
+ <source>Toggle the validity check of place markers.</source>
+ <translation type="obsolete">A helyfoglalók ellenőrzése.</translation>
+ </message>
+ <message>
+ <location/>
+ <source>Toggle the validity check of place markers, i.e. whether %1, %2, ... are used consistently in the source text and translation text. If the check fails, a message is shown in the warnings window.</source>
+ <translation>A helyfoglalók ellenőrzése, vagyis a %1, %2, ... helyfoglalók konzisztensen vannak-e használva a fordításban. Ha nem, akkor a figyelmeztetések közt jelezve lesz.</translation>
+ </message>
+ <message>
+ <location/>
+ <source>&amp;New Phrase Book...</source>
+ <translation>Ú&amp;j kifejezéstár...</translation>
+ </message>
+ <message>
+ <location/>
+ <source>&amp;Open Phrase Book...</source>
+ <translation>Kifejezéstár meg&amp;nyitása...</translation>
+ </message>
+ <message>
+ <location/>
+ <source>&amp;Reset Sorting</source>
+ <translation>Rendezés &amp;visszaállítása</translation>
+ </message>
+ <message>
+ <location/>
+ <source>Display translation statistics.</source>
+ <translation>Fordítási statisztikák megjelenítése.</translation>
+ </message>
+ <message>
+ <location/>
+ <source>&amp;Search And Translate...</source>
+ <translation>Keresés és &amp;fordítás...</translation>
+ </message>
+ <message>
+ <location/>
+ <source>Close</source>
+ <translation>Bezárás</translation>
+ </message>
+ <message>
+ <location/>
+ <source>&amp;Close All</source>
+ <translation>Mind&amp;et bezár</translation>
+ </message>
+ <message>
+ <location/>
+ <source>Ctrl+W</source>
+ <translation></translation>
+ </message>
+ <message>
+ <location/>
+ <location filename="../tools/linguist/linguist/mainwindow.cpp" line="-561"/>
+ <source>&amp;Batch Translation...</source>
+ <translation>&amp;Kötegelt fordítás...</translation>
+ </message>
+ <message>
+ <location/>
+ <location filename="../tools/linguist/linguist/mainwindow.cpp" line="-1"/>
<source>Translation File &amp;Settings...</source>
- <translation>Fordítási fájl &amp;beállítások...</translation>
+ <translation>Fordítási fájl beállítá&amp;sai...</translation>
</message>
<message>
<location/>
<source>&amp;Add to Phrase Book</source>
- <translation>Társalgási szótárhoz &amp;hozzáadás</translation>
+ <translation>Hozzá&amp;adás a kifejezéstárhoz</translation>
</message>
<message>
<location/>
<source>Ctrl+T</source>
- <translation>Ctrl+T</translation>
+ <translation></translation>
</message>
<message>
<location/>
<source>Ctrl+J</source>
- <translation>Ctrl+J</translation>
+ <translation></translation>
</message>
<message>
<location/>
<source>Ctrl+Shift+J</source>
- <translation>Ctrl+Shift+J</translation>
+ <translation></translation>
</message>
<message>
<location/>
<source>Previous unfinished item</source>
- <translation>Előző befejezetlen elem</translation>
+ <translation>Előző lefordítatlan bejegyzés</translation>
</message>
<message>
<location/>
<source>Next unfinished item</source>
- <translation>Következő befejezetlen elem</translation>
+ <translation>Következő lefordítatlan bejegyzés</translation>
</message>
<message>
<location/>
<source>Move to previous item</source>
- <translation>Az előző befejezetlen elemre mozgás</translation>
+ <translation>Ugrás az előző bejegyzésre</translation>
</message>
<message>
<location/>
<source>Next item</source>
- <translation>Következő elem</translation>
+ <translation>Következő bejegyzés</translation>
</message>
<message>
<location/>
<source>Mark item as done and move to the next unfinished item</source>
- <translation>Az elem készként jelölése és a következő befejezetlen elemre mozgatás</translation>
+ <translation>Az aktuális bejegyzés késznek jelölése és ugrás a következő lefordítatlanra</translation>
</message>
<message>
<location/>
<source>Copies the source text into the translation field</source>
- <translation>A forrás szöveg fordítási szövegbe másolása</translation>
+ <translation>A forrás szöveg bemásolása a fordításba</translation>
</message>
<message>
<location/>
<source>Toggle the validity check of accelerators</source>
- <translation>Gyorsítások érvényesség ellenőrzésének kapcsolgatása</translation>
+ <translation>A gyorsbillentyűk meglétének ellenőrzése</translation>
</message>
<message>
<location/>
<source>Toggle the validity check of ending punctuation</source>
- <translation>Vég írásjelek érvényesség ellenőrzésének kapcsolgatása</translation>
+ <translation>A mondatvégi írásjelek ellenőrzése</translation>
</message>
<message>
<location/>
<source>Toggle checking that phrase suggestions are used</source>
- <translation>A használt társalgási ajánlások ellenőrzésének kapcsolgatása</translation>
+ <translation>A kifejezéstár ajánlásainak használatának engedélyezése</translation>
</message>
<message>
<location/>
<source>Toggle the validity check of place markers</source>
- <translation>Hely megjelölők érvényesség vizsgálatának kapcsolgatása</translation>
+ <translation>A helyfoglalók ellenőrzése</translation>
</message>
<message>
<location/>
<source>Create a Qt message file suitable for released applications from the current message file. The filename will automatically be determined from the name of the TS file.</source>
- <translation>Egy Qt üzenet fájl létrehozása az aktuális üzenet fájlból, amely megfelelő az alkalmazás kiadásaira. A fájlnév TS fájl nevéből lesz automatikusan meghatározva.</translation>
+ <translation>Az alkalmazások számára használható Qt üzenetfájl létrehozása a jelenlegi fájlból. A fájlnév a jelenlegi ts fájl nevéből lesz megállapítva.</translation>
</message>
<message>
<location/>
<source>Length Variants</source>
- <translation>Hossz változatok</translation>
+ <translation>Hosszú változat</translation>
+ </message>
+ <message>
+ <location/>
+ <source>Display information about the Qt toolkit by Nokia.</source>
+ <translation>Információk a Nokia Qt eszközkészletéről.</translation>
</message>
</context>
<context>
<name>MessageEditor</name>
<message>
- <location filename="../tools/linguist/linguist/messageeditor.cpp" line="+42"/>
+ <location filename="../../../../../home/hron/Projects/localize/qt-l10n-hu/tools/linguist/linguist/messageeditor.cpp" line="+42"/>
<source></source>
<comment>This is the right panel of the main window.</comment>
- <translatorcomment>Ez a fő ablak jobb panelja.</translatorcomment>
<translation></translation>
</message>
<message>
- <location line="+30"/>
+ <location filename="../tools/linguist/linguist/messageeditor.cpp" line="+72"/>
<source>Russian</source>
<translation>Orosz</translation>
</message>
@@ -1528,14 +1593,14 @@ Az összes fájl (*)</translation>
<translation>Kínai</translation>
</message>
<message>
- <location line="+53"/>
+ <location line="+47"/>
<source>This whole panel allows you to view and edit the translation of some source text.</source>
- <translation>Ez az egész pabel engedélyezi néhány forrás szöveg fordításának megtekintését és szerkesztését.</translation>
+ <translation>Ezen a panelen tekinthetőek meg és szerkeszthetők a fordítások.</translation>
</message>
<message>
- <location line="+18"/>
+ <location line="+10"/>
<source>Source text</source>
- <translation>Forrás szöveg</translation>
+ <translation>Forrásszöveg</translation>
</message>
<message>
<location line="+2"/>
@@ -1545,12 +1610,12 @@ Az összes fájl (*)</translation>
<message>
<location line="+4"/>
<source>Source text (Plural)</source>
- <translation>Forrás szöveg (Többesszám)</translation>
+ <translation>Forrásszöveg (többes szám)</translation>
</message>
<message>
<location line="+2"/>
<source>This area shows the plural form of the source text.</source>
- <translation>Ez a terület mutatja a forrás szöveg többesszámú formáját.</translation>
+ <translation>Ez a terület mutatja a forrás szöveg többesszámát.</translation>
</message>
<message>
<location line="+4"/>
@@ -1560,22 +1625,22 @@ Az összes fájl (*)</translation>
<message>
<location line="+3"/>
<source>This area shows a comment that may guide you, and the context in which the text occurs.</source>
- <translation>Ez a terület mutatja a megjegyzéseket, ami segítheti Önt, és az összefüggéseket, hogy melyik szövegben fordul elő.</translation>
+ <translation>Ez a rész mutatja meg a fejlesztő segítő megjegyzéseit, és a szövegkörnyezet részleteit.</translation>
</message>
<message>
<location line="+59"/>
<source>Here you can enter comments for your own use. They have no effect on the translated applications.</source>
- <translation>Itt hozzáadhatja a saját megjegyzését saját használatra. Nincsen hatásuk a lefordított alkalmazásokon.</translation>
+ <translation>Ide lehet beírni a fordításhoz tartozó megjegyzéseket. Ez nincs hatással a lefordított alkalmazásokra.</translation>
</message>
<message>
- <location line="+232"/>
+ <location line="+234"/>
<source>%1 translation (%2)</source>
<translation>%1 fordítás (%2)</translation>
</message>
<message>
<location line="+9"/>
<source>This is where you can enter or modify the translation of the above source text.</source>
- <translation>Ez az a hely, ahol beviheti és módosíthatja a fentebb található forrás szöveg fordítását.</translation>
+ <translation>Itt írható be, vagy módosítható a forrás szöveg fordítása.</translation>
</message>
<message>
<location line="+5"/>
@@ -1585,62 +1650,54 @@ Az összes fájl (*)</translation>
<message>
<location line="+1"/>
<source>%1 translator comments</source>
- <translation>%1 fordító megjegyzések</translation>
+ <translation>%1 fordítói megjegyzés</translation>
</message>
<message>
<location line="+157"/>
<source>&apos;%1&apos;
Line: %2</source>
- <translation>&apos;%1&apos;
+ <translation>&apos;%1&apos;
Sor: %2</translation>
</message>
</context>
<context>
<name>MessageModel</name>
<message>
- <location filename="../tools/linguist/linguist/messagemodel.cpp" line="+832"/>
+ <location filename="../tools/linguist/linguist/messagemodel.cpp" line="+839"/>
<source>Completion status for %1</source>
- <translation>%1 elkészítési státusza</translation>
+ <translation>Készültségi állapot %1 nyelvhez</translation>
</message>
<message>
<location line="+15"/>
<source>&lt;file header&gt;</source>
- <translation>&lt;file header&gt;</translation>
+ <translation>&lt;fájl fejléc&gt;</translation>
</message>
<message>
<location line="+2"/>
<source>&lt;context comment&gt;</source>
- <translation>&lt;context comment&gt;</translation>
+ <translation>&lt;környezet megjegyzés&gt;</translation>
</message>
<message>
<location line="+71"/>
<source>&lt;unnamed context&gt;</source>
- <translation>&lt;unnamed context&gt;</translation>
+ <translation>&lt;névtelen környezet&gt;</translation>
</message>
</context>
<context>
<name>MsgEdit</name>
<message>
- <location filename="../tools/linguist/linguist/messageeditor.cpp" line="-614"/>
+ <location filename="../tools/linguist/linguist/messageeditor.cpp" line="-600"/>
<source></source>
<comment>This is the right panel of the main window.</comment>
- <translatorcomment>Ez a fő ablak jobb panelja.</translatorcomment>
<translation></translation>
</message>
</context>
<context>
<name>PhraseBookBox</name>
<message>
- <location filename="../tools/linguist/linguist/phrasebookbox.cpp" line="+12"/>
- <source></source>
- <comment>Go to Phrase &gt; Edit Phrase Book... The dialog that pops up is a PhraseBookBox.</comment>
- <translatorcomment>Társalgás -&gt; Társalgási szótár szerkesztése... A felbukkanó ablak egy TársalgásiSzótárDoboz.</translatorcomment>
- <translation></translation>
- </message>
- <message>
- <location line="+54"/>
+ <location filename="../tools/linguist/linguist/phrasebookbox.cpp" line="+66"/>
<source>(New Entry)</source>
- <translation>(Új bevitel)</translation>
+ <translation>(Új bejegyzés)</translation>
</message>
<message>
<location line="+3"/>
@@ -1655,17 +1712,12 @@ Sor: %2</translation>
<message>
<location line="+1"/>
<source>Cannot save phrase book &apos;%1&apos;.</source>
- <translation>Nem lehet elmenteni a(z) &apos;%1&apos; társalgási szótárat.</translation>
+ <translation>Nem lehet ezt a kifejezéstárat elmenteni: &apos;%1&apos;.</translation>
</message>
<message>
<location filename="../tools/linguist/linguist/phrasebookbox.ui"/>
<source>Edit Phrase Book</source>
- <translation>Társalgási szótár szerkesztése</translation>
- </message>
- <message>
- <location/>
- <source>This window allows you to add, modify, or delete entries in a phrase book.</source>
- <translation>Ez az ablak engedélyezi új bevitelek hozzáadását, módosítását, vagy törlését egy társalgási szótárban.</translation>
+ <translation>Kifejezéstár szerkesztése</translation>
</message>
<message>
<location/>
@@ -1675,22 +1727,22 @@ Sor: %2</translation>
<message>
<location/>
<source>This is the phrase in the target language corresponding to the source phrase.</source>
- <translation>Ez a forrás társalgás megfelelője a cél nyelvben.</translation>
+ <translation>A forrás nyelvi kifejezés célnyelvi megfelelője.</translation>
</message>
<message>
<location/>
<source>S&amp;ource phrase:</source>
- <translation>&amp;Forrás társalgás:</translation>
+ <translation>F&amp;orrás kifejezés:</translation>
</message>
<message>
<location/>
<source>This is a definition for the source phrase.</source>
- <translation>Ez egy forrás fordítás definíció.</translation>
+ <translation>Ez a forráskifejezés meghatározása.</translation>
</message>
<message>
<location/>
<source>This is the phrase in the source language.</source>
- <translation>Ez egy társalgás a forrás nyelvben.</translation>
+ <translation>Ez a forrás nyelvi kifejezés.</translation>
</message>
<message>
<location/>
@@ -1700,22 +1752,37 @@ Sor: %2</translation>
<message>
<location/>
<source>Click here to add the phrase to the phrase book.</source>
- <translation>Kattintson ide a társalgás hozzáadásához a társalgási könyvben.</translation>
+ <translation>Kattintson ide a kifejezés kifejezéstárba vételéhez.</translation>
+ </message>
+ <message>
+ <location/>
+ <source>&amp;Save</source>
+ <translation>Menté&amp;s</translation>
+ </message>
+ <message>
+ <location/>
+ <source>Click here to save the changes made.</source>
+ <translation>Kattintson ide a változások mentéséhez.</translation>
+ </message>
+ <message>
+ <location/>
+ <source>This window allows you to add, modify, or delete entries in a phrase book.</source>
+ <translation>Ebben az ablakban nyílik lehetőség a kifejezéstár bővítésére, szűkítésére és módosítására.</translation>
</message>
<message>
<location/>
<source>&amp;New Entry</source>
- <translation>&amp;Új bevitel</translation>
+ <translation>Ú&amp;j bejegyzés</translation>
</message>
<message>
<location/>
<source>Click here to remove the entry from the phrase book.</source>
- <translation>Kattintson ide a bevitel társalgási könyvből való eltávolításához.</translation>
+ <translation>Kattintson ide a kifejezés törléséhez a kifejezéstárból.</translation>
</message>
<message>
<location/>
<source>&amp;Remove Entry</source>
- <translation>Bevitel &amp;eltávolítása</translation>
+ <translation>Bejegyzés tö&amp;rlése</translation>
</message>
<message>
<location/>
@@ -1724,13 +1791,8 @@ Sor: %2</translation>
</message>
<message>
<location/>
- <source>Click here to save the changes made.</source>
- <translation>Kattintson ide a változtatások elmentéséhez.</translation>
- </message>
- <message>
- <location/>
- <source>&amp;Save</source>
- <translation>&amp;Mentés</translation>
+ <source>Close</source>
+ <translation>Bezárás</translation>
</message>
<message>
<location/>
@@ -1738,9 +1800,10 @@ Sor: %2</translation>
<translation>Kattintson ide az ablak bezárásához.</translation>
</message>
<message>
- <location/>
- <source>Close</source>
- <translation>Bezárás</translation>
+ <location filename="../tools/linguist/linguist/phrasebookbox.cpp" line="-146"/>
+ <source></source>
+ <comment>Go to Phrase &gt; Edit Phrase Book... The dialog that pops up is a PhraseBookBox.</comment>
+ <translation></translation>
</message>
</context>
<context>
@@ -1748,7 +1811,7 @@ Sor: %2</translation>
<message>
<location filename="../tools/linguist/linguist/phrasemodel.cpp" line="+117"/>
<source>Source phrase</source>
- <translation>Forrás társalgás</translation>
+ <translation>Forrás kifejezés</translation>
</message>
<message>
<location line="+2"/>
@@ -1776,12 +1839,12 @@ Sor: %2</translation>
<message>
<location line="+113"/>
<source>Guess (%1)</source>
- <translation>Feltételezés (%1)</translation>
+ <translation>Tipp (%1)</translation>
</message>
<message>
<location line="+2"/>
<source>Guess</source>
- <translation>Feltételezés</translation>
+ <translation>Tipp</translation>
</message>
</context>
<context>
@@ -1789,20 +1852,21 @@ Sor: %2</translation>
<message>
<location filename="../tools/linguist/shared/qm.cpp" line="+12"/>
<source>Compiled Qt translations</source>
+ <translatorcomment>Released files (*.qm)</translatorcomment>
<translation>Lefordított Qt fordítások</translation>
</message>
<message>
- <location filename="../tools/linguist/linguist/mainwindow.cpp" line="-1280"/>
+ <location filename="../tools/linguist/linguist/mainwindow.cpp" line="-1302"/>
<source>Translation files (%1);;</source>
<translation>Fordítási fájlok (%1);;</translation>
</message>
<message>
<location line="+5"/>
<source>All files (*)</source>
- <translation>Fájlok hozzáadása ( *)</translation>
+ <translation>Minden fájl (*)</translation>
</message>
<message>
- <location filename="../tools/linguist/linguist/messagemodel.cpp" line="-1127"/>
+ <location filename="../tools/linguist/linguist/messagemodel.cpp" line="-1134"/>
<location line="+27"/>
<location line="+67"/>
<location line="+39"/>
@@ -1813,34 +1877,59 @@ Sor: %2</translation>
<translation>Qt Linguist</translation>
</message>
<message>
- <location filename="../tools/linguist/shared/po.cpp" line="+658"/>
+ <source>C++ source files</source>
+ <translation type="obsolete">C++ forrásfájlok</translation>
+ </message>
+ <message>
+ <source>Java source files</source>
+ <translation type="obsolete">Java forrásfájlok</translation>
+ </message>
+ <message>
+ <location filename="../tools/linguist/shared/po.cpp" line="+817"/>
<source>GNU Gettext localization files</source>
<translation>GNU Gettext lokalizációs fájlok</translation>
</message>
<message>
+ <location line="+7"/>
+ <source>GNU Gettext localization template files</source>
+ <translation>GNU Gettext lokalizációs sablonfájlok</translation>
+ </message>
+ <message>
+ <source>Qt Script source files</source>
+ <translation type="obsolete">Qt szkript fájlok</translation>
+ </message>
+ <message>
<location filename="../tools/linguist/shared/ts.cpp" line="+752"/>
<source>Qt translation sources (format 1.1)</source>
- <translation>Qt fordítási forrása (1.1 formátum)</translation>
+ <translation>Qt fordítási fájlok (1.1-es formátum)</translation>
</message>
<message>
<location line="+8"/>
<source>Qt translation sources (format 2.0)</source>
- <translation>Qt fordítás források (2.0 formátum)</translation>
+ <translation>Qt fordítási fájlok (2.0-ás formátum)</translation>
</message>
<message>
<location line="+9"/>
<source>Qt translation sources (latest format)</source>
- <translation>Qt fordítási források (legutolsó formátum)</translation>
+ <translation>Qt fordítási fájlok (legújabb formátum)</translation>
</message>
<message>
- <location filename="../tools/linguist/shared/xliff.cpp" line="+827"/>
+ <source>Qt Designer form files</source>
+ <translation type="obsolete">Qt Designer űrlapfájlok</translation>
+ </message>
+ <message>
+ <source>Qt Jambi form files</source>
+ <translation type="obsolete">Qt Jambi űrlapfájlok</translation>
+ </message>
+ <message>
+ <location filename="../tools/linguist/shared/xliff.cpp" line="+829"/>
<source>XLIFF localization files</source>
<translation>XLIFF lokalizációs fájlok</translation>
</message>
<message>
- <location filename="../tools/linguist/shared/qph.cpp" line="+183"/>
+ <location filename="../tools/linguist/shared/qph.cpp" line="+195"/>
<source>Qt Linguist &apos;Phrase Book&apos;</source>
- <translation>Qt Linguist &apos;Társalgási Könyv&apos;</translation>
+ <translation>Qt Linguist &apos;Kifejezéstár&apos;</translation>
</message>
</context>
<context>
@@ -1848,17 +1937,17 @@ Sor: %2</translation>
<message>
<location filename="../tools/linguist/linguist/sourcecodeview.cpp" line="+70"/>
<source>&lt;i&gt;Source code not available&lt;/i&gt;</source>
- <translation>&lt;i&gt;A forrás kód nem elérhető&lt;/i&gt;</translation>
+ <translation>&lt;i&gt;A forráskód nem elérhető&lt;/i&gt;</translation>
</message>
<message>
<location line="+33"/>
<source>&lt;i&gt;File %1 not available&lt;/i&gt;</source>
- <translation>&lt;i&gt;A(z) %1 fájl nem elérhető&lt;/i&gt;</translation>
+ <translation>&lt;i&gt;A fájl (%1) nem elérhető&lt;/i&gt;</translation>
</message>
<message>
<location line="+5"/>
<source>&lt;i&gt;File %1 not readable&lt;/i&gt;</source>
- <translation>&lt;i&gt;A(z) %1 fájl nem olvasható&lt;/i&gt;</translation>
+ <translation>&lt;i&gt;A fájl (%1) nem olvasható&lt;/i&gt;</translation>
</message>
</context>
<context>
@@ -1886,17 +1975,17 @@ Sor: %2</translation>
<message>
<location/>
<source>Words:</source>
- <translation>Szavak:</translation>
+ <translation>Szavak száma:</translation>
</message>
<message>
<location/>
<source>Characters:</source>
- <translation>Karakterek:</translation>
+ <translation>Karakterek száma:</translation>
</message>
<message>
<location/>
<source>Characters (with spaces):</source>
- <translation>Karakterek (szóközökkel):</translation>
+ <translation>Karakterek száma (szóközökkel):</translation>
</message>
<message>
<location/>
@@ -1905,16 +1994,25 @@ Sor: %2</translation>
</message>
</context>
<context>
+ <name>TrWindow</name>
+ <message>
+ <location filename="../tools/linguist/linguist/trwindow.cpp" line="+14"/>
+ <source></source>
+ <comment>This is the application&apos;s main window.</comment>
+ <translation></translation>
+ </message>
+</context>
+<context>
<name>TranslateDialog</name>
<message>
<location filename="../tools/linguist/linguist/translatedialog.ui"/>
<source>This window allows you to search for some text in the translation source file.</source>
- <translation>Ez az ablak engedélyezi, hogy rákeressen néhány szövegre a fordítási forrás fájlban.</translation>
+ <translation>Ebben az ablakban kereshetsz a fordítás forrásfájljában.</translation>
</message>
<message>
<location/>
<source>Type in the text to search for.</source>
- <translation>Gépelje be a keresni kívánt szöveget.</translation>
+ <translation>Írd be a keresett szöveget.</translation>
</message>
<message>
<location/>
@@ -1924,32 +2022,32 @@ Sor: %2</translation>
<message>
<location/>
<source>&amp;Translate to:</source>
- <translation>&amp;Fordítás erre:</translation>
+ <translation>Fordí&amp;tása:</translation>
</message>
<message>
<location/>
<source>Search options</source>
- <translation>Keresés opciók</translation>
+ <translation>Keresési opciók</translation>
</message>
<message>
<location/>
<source>Texts such as &apos;TeX&apos; and &apos;tex&apos; are considered as different when checked.</source>
- <translation>&apos;TeX&apos; és &apos;text&apos; szövegek különbözően kezelése bejelöléskor.</translation>
+ <translation>Kis- és nagybetű érzékeny keresés.</translation>
</message>
<message>
<location/>
<source>Match &amp;case</source>
- <translation>Megegyező &amp;eset</translation>
+ <translation>Kis/nagy&amp;betű</translation>
</message>
<message>
<location/>
<source>Mark new translation as &amp;finished</source>
- <translation>Új fordítások &amp;befejezettként jelölése</translation>
+ <translation>Új fordítás megjelölése be&amp;fejezettként</translation>
</message>
<message>
<location/>
<source>Click here to find the next occurrence of the text you typed in.</source>
- <translation>Kattintson ide a begépelt szöveg következő előfordulásának megkereséséhez.</translation>
+ <translation>Kattints ide a megadott szöveg következő előfordulásának megkereséséhez.</translation>
</message>
<message>
<location/>
@@ -1964,31 +2062,31 @@ Sor: %2</translation>
<message>
<location/>
<source>Translate All</source>
- <translation>Az összes fordítása</translation>
+ <translation>Összes fordítása</translation>
</message>
<message>
<location/>
<source>Click here to close this window.</source>
- <translation>Kattintson ide az ablak bezárásához.</translation>
+ <translation>Kattints ide az ablak bezárásához.</translation>
</message>
<message>
<location/>
<source>Cancel</source>
- <translation>Mégse</translation>
+ <translation>Mégsem</translation>
</message>
</context>
<context>
<name>TranslationSettingsDialog</name>
<message>
- <location filename="../tools/linguist/linguist/translationsettingsdialog.cpp" line="+68"/>
+ <location filename="../tools/linguist/linguist/translationsettingsdialog.cpp" line="+93"/>
<source>Any Country</source>
- <translation>Bármeny ország</translation>
+ <translation>Bármely ország</translation>
</message>
<message>
- <location line="+11"/>
+ <location line="-22"/>
<location line="+8"/>
<source>Settings for &apos;%1&apos; - Qt Linguist</source>
- <translation>&apos;%1&apos;-re állítás - Qt Linguist</translation>
+ <translation>&apos;%1&apos; beállításai - Qt Linguist</translation>
</message>
<message>
<location filename="../tools/linguist/linguist/translationsettings.ui"/>
@@ -2003,7 +2101,7 @@ Sor: %2</translation>
<message>
<location/>
<source>Country/Region</source>
- <translation>OrszágRégió</translation>
+ <translation>Ország/Régió</translation>
</message>
<message>
<location/>
diff --git a/translations/linguist_pl.ts b/translations/linguist_pl.ts
index 4df19c32ac..a2cf4c980e 100644
--- a/translations/linguist_pl.ts
+++ b/translations/linguist_pl.ts
@@ -4,7 +4,7 @@
<context>
<name>AboutDialog</name>
<message>
- <location filename="../tools/linguist/linguist/mainwindow.cpp" line="+1364"/>
+ <location filename="../tools/linguist/linguist/mainwindow.cpp" line="+1366"/>
<source>Qt Linguist</source>
<translation>Qt Linguist</translation>
</message>
@@ -287,7 +287,7 @@ Przyjmie on uniwersalną formę liczby pojedynczej.</translation>
<context>
<name>FormMultiWidget</name>
<message>
- <location filename="../tools/linguist/linguist/messageeditorwidgets.cpp" line="+296"/>
+ <location filename="../tools/linguist/linguist/messageeditorwidgets.cpp" line="+302"/>
<source>Alt+Delete</source>
<extracomment>translate, but don&apos;t change</extracomment>
<translation>Alt+Delete</translation>
@@ -531,11 +531,6 @@ Przyjmie on uniwersalną formę liczby pojedynczej.</translation>
</message>
<message>
<location/>
- <source>Display information about the Qt toolkit by Trolltech.</source>
- <translation>Pokaż informacje o bibliotece Qt Trolltech&apos;a.</translation>
- </message>
- <message>
- <location/>
<source>&amp;Done and Next</source>
<translation>&amp;Zrobione i do następnego</translation>
</message>
@@ -546,7 +541,7 @@ Przyjmie on uniwersalną formę liczby pojedynczej.</translation>
</message>
<message>
<location/>
- <location filename="../tools/linguist/linguist/mainwindow.cpp" line="+742"/>
+ <location filename="../tools/linguist/linguist/mainwindow.cpp" line="+764"/>
<source>Edit</source>
<translation>Edycja</translation>
</message>
@@ -720,13 +715,13 @@ Przyjmie on uniwersalną formę liczby pojedynczej.</translation>
<translation>Zamienia tłumaczenia we wszystkich pasujących do wzorca wpisach.</translation>
</message>
<message>
- <location filename="../tools/linguist/linguist/mainwindow.cpp" line="-2011"/>
+ <location filename="../tools/linguist/linguist/mainwindow.cpp" line="-2035"/>
<source></source>
<comment>This is the application&apos;s main window.</comment>
<translation></translation>
</message>
<message>
- <location line="+188"/>
+ <location line="+190"/>
<source>Source text</source>
<translation>Tekst źródłowy</translation>
</message>
@@ -840,12 +835,12 @@ Czy chcesz pominąć pierwszy plik?</translation>
<message>
<location filename="../tools/linguist/linguist/mainwindow.ui"/>
<location filename="../tools/linguist/linguist/mainwindow.cpp" line="-511"/>
- <location line="+1165"/>
+ <location line="+1187"/>
<source>Release</source>
<translation>Wydaj</translation>
</message>
<message>
- <location filename="../tools/linguist/linguist/mainwindow.cpp" line="-1164"/>
+ <location filename="../tools/linguist/linguist/mainwindow.cpp" line="-1186"/>
<source>Qt message files for released applications (*.qm)
All files (*)</source>
<translation>Pliki z wydanymi tłumaczeniami (*.qm)
@@ -912,7 +907,7 @@ Wszystkie pliki (*)</translation>
<location line="+34"/>
<location line="+24"/>
<location line="+22"/>
- <location line="+516"/>
+ <location line="+538"/>
<location line="+1"/>
<location line="+274"/>
<location line="+40"/>
@@ -921,7 +916,7 @@ Wszystkie pliki (*)</translation>
<translation>Qt Linguist</translation>
</message>
<message>
- <location line="-1198"/>
+ <location line="-1220"/>
<location line="+102"/>
<source>Cannot find the string &apos;%1&apos;.</source>
<translation>Nie można znaleźć tekstu &apos;%1&apos;.</translation>
@@ -1047,7 +1042,7 @@ Wszystkie pliki (*)</translation>
<translation>Wszystkie wyrażenia są przetłumaczone.</translation>
</message>
<message>
- <location line="+176"/>
+ <location line="+198"/>
<source>&amp;Window</source>
<translation>&amp;Okno</translation>
</message>
@@ -1182,7 +1177,7 @@ Wszystkie pliki (*)</translation>
<translation>Czy chcesz zachować książke wyrażeń &apos;%1&apos;?</translation>
</message>
<message>
- <location line="+334"/>
+ <location line="+349"/>
<source>All</source>
<translation>Wszystko</translation>
</message>
@@ -1248,7 +1243,7 @@ Wszystkie pliki (*)</translation>
</message>
<message>
<location/>
- <location filename="../tools/linguist/linguist/mainwindow.cpp" line="-481"/>
+ <location filename="../tools/linguist/linguist/mainwindow.cpp" line="-496"/>
<source>Translation</source>
<translation>Tłumaczenie</translation>
</message>
@@ -1505,6 +1500,11 @@ Wszystkie pliki (*)</translation>
<source>Length Variants</source>
<translation>Warianty tłumaczeń</translation>
</message>
+ <message>
+ <location/>
+ <source>Display information about the Qt toolkit by Nokia.</source>
+ <translation>Pokaż informacje o pakiecie narzędziowym Qt oferowanym przez Nokię.</translation>
+ </message>
</context>
<context>
<name>MessageEditor</name>
@@ -1545,12 +1545,12 @@ Wszystkie pliki (*)</translation>
<translation>chiński</translation>
</message>
<message>
- <location line="+53"/>
+ <location line="+47"/>
<source>This whole panel allows you to view and edit the translation of some source text.</source>
<translation>Ten panel pozwala na podgląd i redagowanie tłumaczenia tekstu źródłowego.</translation>
</message>
<message>
- <location line="+18"/>
+ <location line="+10"/>
<source>Source text</source>
<translation>Tekst źródłowy</translation>
</message>
@@ -1615,7 +1615,7 @@ Linia: %2</translation>
<context>
<name>MessageModel</name>
<message>
- <location filename="../tools/linguist/linguist/messagemodel.cpp" line="+825"/>
+ <location filename="../tools/linguist/linguist/messagemodel.cpp" line="+839"/>
<source>Completion status for %1</source>
<translation>Stan ukończenia dla %1</translation>
</message>
@@ -1638,7 +1638,7 @@ Linia: %2</translation>
<context>
<name>MsgEdit</name>
<message>
- <location filename="../tools/linguist/linguist/messageeditor.cpp" line="-614"/>
+ <location filename="../tools/linguist/linguist/messageeditor.cpp" line="-600"/>
<source></source>
<comment>This is the right panel of the main window.</comment>
<translation></translation>
@@ -1807,7 +1807,7 @@ Linia: %2</translation>
<translation>Skompilowane tłumaczenia Qt</translation>
</message>
<message>
- <location filename="../tools/linguist/linguist/mainwindow.cpp" line="-1280"/>
+ <location filename="../tools/linguist/linguist/mainwindow.cpp" line="-1302"/>
<source>Translation files (%1);;</source>
<translation>Pliki z tłumaczeniami (%1);;</translation>
</message>
@@ -1817,7 +1817,7 @@ Linia: %2</translation>
<translation>Wszystkie pliki (*)</translation>
</message>
<message>
- <location filename="../tools/linguist/linguist/messagemodel.cpp" line="-1120"/>
+ <location filename="../tools/linguist/linguist/messagemodel.cpp" line="-1134"/>
<location line="+27"/>
<location line="+67"/>
<location line="+39"/>
@@ -1828,11 +1828,16 @@ Linia: %2</translation>
<translation>Qt Linguist</translation>
</message>
<message>
- <location filename="../tools/linguist/shared/po.cpp" line="+658"/>
+ <location filename="../tools/linguist/shared/po.cpp" line="+817"/>
<source>GNU Gettext localization files</source>
<translation>Pliki GNU Gettext</translation>
</message>
<message>
+ <location line="+7"/>
+ <source>GNU Gettext localization template files</source>
+ <translation>Szablony plików GNU Gettext</translation>
+ </message>
+ <message>
<location filename="../tools/linguist/shared/ts.cpp" line="+752"/>
<source>Qt translation sources (format 1.1)</source>
<translation>Źródła tłumaczeń Qt (format 1.1)</translation>
@@ -1848,7 +1853,7 @@ Linia: %2</translation>
<translation>Źródła tłumaczeń Qt (najnowszy format)</translation>
</message>
<message>
- <location filename="../tools/linguist/shared/xliff.cpp" line="+827"/>
+ <location filename="../tools/linguist/shared/xliff.cpp" line="+829"/>
<source>XLIFF localization files</source>
<translation>Pliki XLIFF</translation>
</message>
diff --git a/translations/linguist_ru.ts b/translations/linguist_ru.ts
index 3f26c49509..625a0f1b83 100644
--- a/translations/linguist_ru.ts
+++ b/translations/linguist_ru.ts
@@ -290,19 +290,19 @@ Will assume a single universal form.</source>
<location filename="../tools/linguist/linguist/messageeditorwidgets.cpp" line="+302"/>
<source>Alt+Delete</source>
<extracomment>translate, but don&apos;t change</extracomment>
- <translation type="unfinished"></translation>
+ <translation></translation>
</message>
<message>
<location line="+1"/>
<source>Shift+Alt+Insert</source>
<extracomment>translate, but don&apos;t change</extracomment>
- <translation type="unfinished"></translation>
+ <translation></translation>
</message>
<message>
<location line="+1"/>
<source>Alt+Insert</source>
<extracomment>translate, but don&apos;t change</extracomment>
- <translation type="unfinished"></translation>
+ <translation></translation>
</message>
<message>
<location line="+131"/>
@@ -312,7 +312,7 @@ Will assume a single universal form.</source>
<message>
<location line="+1"/>
<source>Delete non-empty length variant?</source>
- <translation>Удалить непустой вариант длины?</translation>
+ <translation>Удалить вариант перевода?</translation>
</message>
</context>
<context>
@@ -320,7 +320,7 @@ Will assume a single universal form.</source>
<message numerus="yes">
<location filename="../tools/linguist/shared/qm.cpp" line="+763"/>
<source>Dropped %n message(s) which had no ID.</source>
- <translation type="unfinished">
+ <translation>
<numerusform>Удалено %n сообщение, у которого не было ID.</numerusform>
<numerusform>Удалено %n сообщения, у которых не было ID.</numerusform>
<numerusform>Удалено %n сообщений, у которых не было ID.</numerusform>
@@ -329,7 +329,7 @@ Will assume a single universal form.</source>
<message numerus="yes">
<location line="+4"/>
<source>Excess context/disambiguation dropped from %n message(s).</source>
- <translation type="unfinished">
+ <translation>
<numerusform>Удалён лишний контекст из %n сообщения.</numerusform>
<numerusform>Удалён лишний контекст из %n сообщений.</numerusform>
<numerusform>Удалён лишний контекст из %n сообщений.</numerusform>
@@ -481,12 +481,12 @@ Skip loading the first named file?</source>
<message>
<location filename="../tools/linguist/linguist/mainwindow.ui"/>
<location filename="../tools/linguist/linguist/mainwindow.cpp" line="+15"/>
- <location line="+1165"/>
+ <location line="+1187"/>
<source>Release</source>
<translation>Скомпилировать</translation>
</message>
<message>
- <location filename="../tools/linguist/linguist/mainwindow.cpp" line="-1164"/>
+ <location filename="../tools/linguist/linguist/mainwindow.cpp" line="-1186"/>
<source>Qt message files for released applications (*.qm)
All files (*)</source>
<translation>Скомпилированные файлы перевода для приложений Qt (*.qm)
@@ -553,7 +553,7 @@ All files (*)</source>
<location line="+34"/>
<location line="+24"/>
<location line="+22"/>
- <location line="+516"/>
+ <location line="+538"/>
<location line="+1"/>
<location line="+274"/>
<location line="+40"/>
@@ -562,7 +562,7 @@ All files (*)</source>
<translation>Qt Linguist</translation>
</message>
<message>
- <location line="-1198"/>
+ <location line="-1220"/>
<location line="+102"/>
<source>Cannot find the string &apos;%1&apos;.</source>
<translation>Не удалось найти строку &apos;%1&apos;.</translation>
@@ -693,7 +693,7 @@ All files (*)</source>
<translation>Непереведённых записей не осталось.</translation>
</message>
<message>
- <location line="+176"/>
+ <location line="+198"/>
<source>&amp;Window</source>
<translation>&amp;Окно</translation>
</message>
@@ -705,7 +705,7 @@ All files (*)</source>
<message>
<location line="+1"/>
<source>Ctrl+M</source>
- <translation type="unfinished"></translation>
+ <translation></translation>
</message>
<message>
<location line="+12"/>
@@ -969,7 +969,7 @@ All files (*)</source>
<message>
<location/>
<source>Ctrl+O</source>
- <translation type="unfinished"></translation>
+ <translation></translation>
</message>
<message>
<location/>
@@ -984,7 +984,7 @@ All files (*)</source>
<message>
<location/>
<source>Ctrl+Q</source>
- <translation type="unfinished"></translation>
+ <translation></translation>
</message>
<message>
<location/>
@@ -1024,7 +1024,7 @@ All files (*)</source>
<message>
<location/>
<source>Ctrl+P</source>
- <translation type="unfinished"></translation>
+ <translation></translation>
</message>
<message>
<location/>
@@ -1039,7 +1039,7 @@ All files (*)</source>
<message>
<location/>
<source>Ctrl+Z</source>
- <translation type="unfinished"></translation>
+ <translation></translation>
</message>
<message>
<location/>
@@ -1054,7 +1054,7 @@ All files (*)</source>
<message>
<location/>
<source>Ctrl+Y</source>
- <translation type="unfinished"></translation>
+ <translation></translation>
</message>
<message>
<location/>
@@ -1069,7 +1069,7 @@ All files (*)</source>
<message>
<location/>
<source>Ctrl+X</source>
- <translation type="unfinished"></translation>
+ <translation></translation>
</message>
<message>
<location/>
@@ -1084,7 +1084,7 @@ All files (*)</source>
<message>
<location/>
<source>Ctrl+C</source>
- <translation type="unfinished"></translation>
+ <translation></translation>
</message>
<message>
<location/>
@@ -1099,7 +1099,7 @@ All files (*)</source>
<message>
<location/>
<source>Ctrl+V</source>
- <translation type="unfinished"></translation>
+ <translation></translation>
</message>
<message>
<location/>
@@ -1114,7 +1114,7 @@ All files (*)</source>
<message>
<location/>
<source>Ctrl+A</source>
- <translation type="unfinished"></translation>
+ <translation></translation>
</message>
<message>
<location/>
@@ -1129,7 +1129,7 @@ All files (*)</source>
<message>
<location/>
<source>Ctrl+F</source>
- <translation type="unfinished"></translation>
+ <translation></translation>
</message>
<message>
<location/>
@@ -1144,7 +1144,7 @@ All files (*)</source>
<message>
<location/>
<source>F3</source>
- <translation type="unfinished"></translation>
+ <translation></translation>
</message>
<message>
<location/>
@@ -1159,7 +1159,7 @@ All files (*)</source>
<message>
<location/>
<source>Length Variants</source>
- <translation>Варианты длины</translation>
+ <translation>Варианты перевода</translation>
</message>
<message>
<location/>
@@ -1169,7 +1169,7 @@ All files (*)</source>
<message>
<location/>
<source>Ctrl+K</source>
- <translation type="unfinished"></translation>
+ <translation></translation>
</message>
<message>
<location/>
@@ -1184,7 +1184,7 @@ All files (*)</source>
<message>
<location/>
<source>Ctrl+J</source>
- <translation type="unfinished"></translation>
+ <translation></translation>
</message>
<message>
<location/>
@@ -1199,7 +1199,7 @@ All files (*)</source>
<message>
<location/>
<source>Ctrl+Shift+K</source>
- <translation type="unfinished"></translation>
+ <translation></translation>
</message>
<message>
<location/>
@@ -1214,7 +1214,7 @@ All files (*)</source>
<message>
<location/>
<source>Ctrl+Shift+J</source>
- <translation type="unfinished"></translation>
+ <translation></translation>
</message>
<message>
<location/>
@@ -1239,7 +1239,7 @@ All files (*)</source>
<message>
<location/>
<source>Ctrl+B</source>
- <translation type="unfinished"></translation>
+ <translation></translation>
</message>
<message>
<location/>
@@ -1294,7 +1294,7 @@ All files (*)</source>
<message>
<location/>
<source>Ctrl+N</source>
- <translation type="unfinished"></translation>
+ <translation></translation>
</message>
<message>
<location/>
@@ -1309,7 +1309,7 @@ All files (*)</source>
<message>
<location/>
<source>Ctrl+H</source>
- <translation type="unfinished"></translation>
+ <translation></translation>
</message>
<message>
<location/>
@@ -1349,7 +1349,7 @@ All files (*)</source>
<message>
<location/>
<source>F1</source>
- <translation type="unfinished"></translation>
+ <translation></translation>
</message>
<message>
<location/>
@@ -1363,11 +1363,6 @@ All files (*)</source>
</message>
<message>
<location/>
- <source>Display information about the Qt toolkit by Trolltech.</source>
- <translation>Показать информацию об инструментарии Qt от Nokia.</translation>
- </message>
- <message>
- <location/>
<source>&amp;What&apos;s This?</source>
<translation>&amp;Что это?</translation>
</message>
@@ -1384,7 +1379,7 @@ All files (*)</source>
<message>
<location/>
<source>Shift+F1</source>
- <translation type="unfinished"></translation>
+ <translation></translation>
</message>
<message>
<location/>
@@ -1414,7 +1409,7 @@ All files (*)</source>
<message>
<location/>
<source>F5</source>
- <translation type="unfinished"></translation>
+ <translation></translation>
</message>
<message>
<location/>
@@ -1424,7 +1419,7 @@ All files (*)</source>
<message>
<location/>
<source>Ctrl+T</source>
- <translation type="unfinished"></translation>
+ <translation></translation>
</message>
<message>
<location/>
@@ -1439,7 +1434,7 @@ All files (*)</source>
<message>
<location/>
<source>Ctrl+S</source>
- <translation type="unfinished"></translation>
+ <translation></translation>
</message>
<message>
<location/>
@@ -1454,7 +1449,7 @@ All files (*)</source>
<message>
<location/>
<source>Ctrl+W</source>
- <translation type="unfinished"></translation>
+ <translation></translation>
</message>
<message>
<location/>
@@ -1506,6 +1501,11 @@ All files (*)</source>
<source>Toggle the validity check of place markers</source>
<translation>Переключение проверки маркеров форматирования</translation>
</message>
+ <message>
+ <location/>
+ <source>Display information about the Qt toolkit by Nokia.</source>
+ <translation>Показать информацию об инструментарии Qt от Nokia.</translation>
+ </message>
</context>
<context>
<name>MessageEditor</name>
@@ -1795,7 +1795,7 @@ Line: %2</source>
<context>
<name>QObject</name>
<message>
- <location filename="../tools/linguist/linguist/mainwindow.cpp" line="-1842"/>
+ <location filename="../tools/linguist/linguist/mainwindow.cpp" line="-1864"/>
<source>Translation files (%1);;</source>
<translation>Файлы перевода (%1);;</translation>
</message>
@@ -1816,11 +1816,16 @@ Line: %2</source>
<translation>Qt Linguist</translation>
</message>
<message>
- <location filename="../tools/linguist/shared/po.cpp" line="+658"/>
+ <location filename="../tools/linguist/shared/po.cpp" line="+817"/>
<source>GNU Gettext localization files</source>
<translation>Файлы локализации GNU Gettext</translation>
</message>
<message>
+ <location line="+7"/>
+ <source>GNU Gettext localization template files</source>
+ <translation>Файлы шаблонов локализации GNU Gettext</translation>
+ </message>
+ <message>
<location filename="../tools/linguist/shared/qm.cpp" line="+12"/>
<source>Compiled Qt translations</source>
<translation>Скомпилированные переводы Qt</translation>
@@ -1846,7 +1851,7 @@ Line: %2</source>
<translation>Исходные файлы перевода Qt (последний формат)</translation>
</message>
<message>
- <location filename="../tools/linguist/shared/xliff.cpp" line="+827"/>
+ <location filename="../tools/linguist/shared/xliff.cpp" line="+829"/>
<source>XLIFF localization files</source>
<translation>Файлы локализации XLIFF</translation>
</message>
diff --git a/translations/qt_de.ts b/translations/qt_de.ts
index 86d5edb606..7d32ead8c0 100644
--- a/translations/qt_de.ts
+++ b/translations/qt_de.ts
@@ -4,7 +4,7 @@
<context>
<name>CloseButton</name>
<message>
- <location filename="../src/gui/widgets/qtabbar.cpp" line="+2266"/>
+ <location filename="../src/gui/widgets/qtabbar.cpp" line="+2313"/>
<source>Close Tab</source>
<translation>Schließen</translation>
</message>
@@ -12,7 +12,7 @@
<context>
<name>FakeReply</name>
<message>
- <location filename="../src/3rdparty/webkit/WebKit/qt/tests/qwebframe/tst_qwebframe.cpp" line="+2217"/>
+ <location filename="../src/3rdparty/webkit/WebKit/qt/tests/qwebframe/tst_qwebframe.cpp" line="+2278"/>
<source>Fake error !</source>
<translation>Fake error !</translation>
</message>
@@ -25,7 +25,7 @@
<context>
<name>MAC_APPLICATION_MENU</name>
<message>
- <location filename="../src/gui/kernel/qapplication.cpp" line="+2316"/>
+ <location filename="../src/gui/kernel/qapplication.cpp" line="+2348"/>
<source>Services</source>
<translation>Dienste</translation>
</message>
@@ -1275,7 +1275,7 @@ nach
<translation>Diese Socket-Operation wird nicht unterstützt</translation>
</message>
<message>
- <location filename="../src/network/access/qhttpnetworkconnection.cpp" line="+614"/>
+ <location filename="../src/network/access/qhttpnetworkconnection.cpp" line="+625"/>
<location filename="../src/network/socket/qabstractsocket.cpp" line="+203"/>
<source>Socket operation timed out</source>
<translation>Das Zeitlimit für die Operation wurde überschritten</translation>
@@ -1597,7 +1597,7 @@ nach
<context>
<name>QDeclarativeAbstractAnimation</name>
<message>
- <location filename="../src/declarative/util/qdeclarativeanimation.cpp" line="+165"/>
+ <location filename="../src/declarative/util/qdeclarativeanimation.cpp" line="+166"/>
<source>Cannot animate non-existent property &quot;%1&quot;</source>
<translation>Die Eigenschaft &apos;%1&quot; existiert nicht und kann daher nicht animiert werden</translation>
</message>
@@ -1606,11 +1606,24 @@ nach
<source>Cannot animate read-only property &quot;%1&quot;</source>
<translation>Die Eigenschaft &apos;%1&quot; ist schreibgeschützt und kann daher nicht animiert werden</translation>
</message>
+ <message>
+ <location filename="../src/declarative/util/qdeclarativeutilmodule.cpp" line="+122"/>
+ <source>Animation is an abstract class</source>
+ <translation>Die Klasse Animation ist abstrakt</translation>
+ </message>
+</context>
+<context>
+ <name>QDeclarativeAnchorAnimation</name>
+ <message>
+ <location filename="../src/declarative/util/qdeclarativeanimation.cpp" line="+2568"/>
+ <source>Cannot set a duration of &lt; 0</source>
+ <translation>Es kann keine Zeitdauer &lt;0 gesetzt werden</translation>
+ </message>
</context>
<context>
<name>QDeclarativeAnchors</name>
<message>
- <location filename="../src/declarative/graphicsitems/qdeclarativeanchors.cpp" line="+181"/>
+ <location filename="../src/declarative/graphicsitems/qdeclarativeanchors.cpp" line="+180"/>
<source>Possible anchor loop detected on fill.</source>
<translation>Bei der Fülloperation wurde eine potentielle Endlosschleife der Anker festgestellt.</translation>
</message>
@@ -1676,9 +1689,17 @@ nach
</message>
</context>
<context>
+ <name>QDeclarativeAnimatedImage</name>
+ <message>
+ <location filename="../src/declarative/graphicsitems/qdeclarativeitemsmodule.cpp" line="+86"/>
+ <source>Qt was built without support for QMovie</source>
+ <translation>Diese Version der Qt-Bibliothek wurde ohne Unterstützung für die Klasse QMovie erstellt</translation>
+ </message>
+</context>
+<context>
<name>QDeclarativeBehavior</name>
<message>
- <location filename="../src/declarative/util/qdeclarativebehavior.cpp" line="+122"/>
+ <location filename="../src/declarative/util/qdeclarativebehavior.cpp" line="+127"/>
<source>Cannot change the animation assigned to a Behavior.</source>
<translation>Die zu einem Behavior-Element gehörende Animation kann nicht geändert werden.</translation>
</message>
@@ -1686,7 +1707,7 @@ nach
<context>
<name>QDeclarativeBinding</name>
<message>
- <location filename="../src/declarative/qml/qdeclarativebinding.cpp" line="+222"/>
+ <location filename="../src/declarative/qml/qdeclarativebinding.cpp" line="+238"/>
<source>Binding loop detected for property &quot;%1&quot;</source>
<translation>Bei der für die Eigenschaft &quot;%1&quot; angegebenen Bindung wurde eine Endlosschleife festgestellt</translation>
</message>
@@ -1694,7 +1715,7 @@ nach
<context>
<name>QDeclarativeCompiledBindings</name>
<message>
- <location filename="../src/declarative/qml/qdeclarativecompiledbindings.cpp" line="+305"/>
+ <location filename="../src/declarative/qml/qdeclarativecompiledbindings.cpp" line="+372"/>
<source>Binding loop detected for property &quot;%1&quot;</source>
<translation>Bei der für die Eigenschaft &quot;%1&quot; angegebenen Bindung wurde eine Endlosschleife festgestellt</translation>
</message>
@@ -1703,16 +1724,16 @@ nach
<name>QDeclarativeCompiler</name>
<message>
<location filename="../src/declarative/qml/qdeclarativecompiler.cpp" line="+186"/>
- <location line="+1654"/>
- <location line="+187"/>
- <location line="+82"/>
+ <location line="+1596"/>
+ <location line="+186"/>
+ <location line="+81"/>
<location line="+75"/>
- <location line="+488"/>
+ <location line="+487"/>
<source>Invalid property assignment: &quot;%1&quot; is a read-only property</source>
<translation>Ungültige Zuweisung bei Eigenschaft: &quot;%1&quot; ist schreibgeschützt</translation>
</message>
<message>
- <location line="-2477"/>
+ <location line="-2416"/>
<source>Invalid property assignment: unknown enumeration</source>
<translation>Ungültige Zuweisung bei Eigenschaft: Ungültiger Aufzählungswert</translation>
</message>
@@ -1727,32 +1748,32 @@ nach
<translation>Ungültige Zuweisung bei Eigenschaft: Es wird eine URL erwartet</translation>
</message>
<message>
- <location line="+6"/>
+ <location line="+10"/>
<source>Invalid property assignment: unsigned int expected</source>
<translation>Ungültige Zuweisung bei Eigenschaft: Es wird eine vorzeichenloser Ganzzahlwert erwartet</translation>
</message>
<message>
- <location line="+7"/>
+ <location line="+11"/>
<source>Invalid property assignment: int expected</source>
<translation>Ungültige Zuweisung bei Eigenschaft: Es wird ein Ganzzahlwert erwartet</translation>
</message>
<message>
- <location line="+7"/>
+ <location line="+4"/>
<source>Invalid property assignment: float expected</source>
<translation>Ungültige Zuweisung bei Eigenschaft: Es wird eine Gleitkommazahl erwartet</translation>
</message>
<message>
- <location line="+7"/>
+ <location line="+3"/>
<source>Invalid property assignment: double expected</source>
<translation>Ungültige Zuweisung bei Eigenschaft: Es wird eine Gleitkommazahl (double) erwartet</translation>
</message>
<message>
- <location line="+7"/>
+ <location line="+6"/>
<source>Invalid property assignment: color expected</source>
<translation>Ungültige Zuweisung bei Eigenschaft: Es wird eine Farbspezifikation erwartet</translation>
</message>
<message>
- <location line="+7"/>
+ <location line="+8"/>
<source>Invalid property assignment: date expected</source>
<translation>Ungültige Zuweisung bei Eigenschaft: Es wird eine Datumsangabe erwartet</translation>
</message>
@@ -1767,7 +1788,7 @@ nach
<translation>Ungültige Zuweisung bei Eigenschaft: Es wird eine Datumsangabe erwartet</translation>
</message>
<message>
- <location line="+8"/>
+ <location line="+9"/>
<source>Invalid property assignment: point expected</source>
<translation>Ungültige Zuweisung bei Eigenschaft: Es wird eine Koordinatenangabe für einen Punkt erwartet</translation>
</message>
@@ -1797,63 +1818,38 @@ nach
<translation>Ungültige Zuweisung bei Eigenschaft: Der Typ &quot;%1&quot; ist nicht unterstützt</translation>
</message>
<message>
- <location line="+269"/>
+ <location line="+277"/>
<source>Element is not creatable.</source>
<translation>Das Element kann nicht erzeugt werden.</translation>
</message>
<message>
- <location line="+603"/>
+ <location line="+618"/>
<source>Component elements may not contain properties other than id</source>
<translation>Komponenten dürfen außer id keine weiteren Eigenschaften enthalten.</translation>
</message>
<message>
- <location line="+3"/>
- <source>Component elements may not contain script blocks</source>
- <translation>Komponenten dürfen keine Skripte enthalten</translation>
- </message>
- <message>
<location line="+7"/>
<source>Invalid component id specification</source>
<translation>Ungültige Komponentenspezifikation</translation>
</message>
<message>
<location line="+6"/>
- <location line="+558"/>
+ <location line="+478"/>
<source>id is not unique</source>
<translation>ID-Wert nicht eindeutig</translation>
</message>
<message>
- <location line="-548"/>
+ <location line="-468"/>
<source>Invalid component body specification</source>
<translation>Inhalt der Komponente ungültig</translation>
</message>
<message>
- <location line="+7"/>
+ <location line="+14"/>
<source>Cannot create empty component specification</source>
<translation>Es kann keine leere Komponentenangabe erzeugt werden</translation>
</message>
<message>
- <location line="+19"/>
- <source>Invalid Script block. Specify either the source property or inline script</source>
- <translation>Ungültiges Skript. Es muss die Eigenschaft oder ein eingebettetes Skript angegeben werden</translation>
- </message>
- <message>
- <location line="+4"/>
- <source>Invalid Script source value</source>
- <translation>Ungültige Angabe für Skript</translation>
- </message>
- <message>
- <location line="+25"/>
- <source>Properties cannot be set on Script block</source>
- <translation>Für ein Skript können keine Eigenschaften angegeben werden</translation>
- </message>
- <message>
- <location line="+14"/>
- <source>Invalid Script block</source>
- <translation>Ungültiges Skript</translation>
- </message>
- <message>
- <location line="+128"/>
+ <location line="+105"/>
<source>Empty signal assignment</source>
<translation>Leere Signalzuweisung</translation>
</message>
@@ -1869,29 +1865,29 @@ nach
</message>
<message>
<location line="+15"/>
- <location line="+104"/>
+ <location line="+102"/>
<source>Non-existent attached object</source>
<translation>Es existiert kein Bezugselement für die Eigenschaft</translation>
</message>
<message>
- <location line="-100"/>
- <location line="+103"/>
+ <location line="-98"/>
+ <location line="+101"/>
<source>Invalid attached object assignment</source>
<translation>Ungültige Zuweisung des Bezugselements</translation>
</message>
<message>
- <location line="-50"/>
+ <location line="-48"/>
<source>Cannot assign to non-existent default property</source>
<translation>Es kann keine Zuweisung erfolgen, da keine Vorgabe-Eigenschaft existiert</translation>
</message>
<message>
<location line="+2"/>
- <location line="+355"/>
+ <location line="+352"/>
<source>Cannot assign to non-existent property &quot;%1&quot;</source>
<translation>Es kann keine Zuweisung erfolgen, da keine Eigenschaft des Namens &apos;%1&quot; existiert</translation>
</message>
<message>
- <location line="-324"/>
+ <location line="-322"/>
<source>Invalid use of namespace</source>
<translation>Ungültige Verwendung eines Namensraums</translation>
</message>
@@ -1901,24 +1897,44 @@ nach
<translation>Kein gültiger Name einer Eigenschaft des Typs &apos;attached&apos;</translation>
</message>
<message>
- <location line="+183"/>
+ <location line="+182"/>
<source>Invalid use of id property</source>
<translation>Ungültige Verwendung einer Eigenschaft des Typs &apos;Id&apos;</translation>
</message>
<message>
- <location line="-356"/>
+ <location line="-357"/>
<source>Incorrectly specified signal assignment</source>
<translation></translation>
</message>
<message>
- <location line="+445"/>
+ <location line="-100"/>
+ <source>Component objects cannot declare new properties.</source>
+ <translation>Komponentenobjekte können keine neuen Eigenschaften deklarieren.</translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Component objects cannot declare new signals.</source>
+ <translation>Komponentenobjekte können keine neuen Signale deklarieren.</translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Component objects cannot declare new functions.</source>
+ <translation>Komponentenobjekte können keine neuen Funktionen deklarieren.</translation>
+ </message>
+ <message>
+ <location line="+108"/>
+ <source>Cannot assign a value to a signal (expecting a script to be run)</source>
+ <translation>Einem Signal können keine Werte zugewiesen werden (es wird ein Skript erwartet)</translation>
+ </message>
+ <message>
+ <location line="+434"/>
<location line="+2"/>
<source>Property has already been assigned a value</source>
<translation>Der Eigenschaft wurde bereits ein Wert zugewiesen</translation>
</message>
<message>
<location line="+12"/>
- <location line="+8"/>
+ <location line="+7"/>
<source>Invalid grouped property access</source>
<translation>Falsche Gruppierung bei Zugriff auf Eigenschaft</translation>
</message>
@@ -1973,7 +1989,7 @@ nach
<translation>Ungültige Zuweisung bei Eigenschaft: Es wird ein Skript erwartet</translation>
</message>
<message>
- <location line="+106"/>
+ <location line="+105"/>
<source>Cannot assign object to property</source>
<translation>Zuweisung eines Objekts an eine Eigenschaft nicht zulässig</translation>
</message>
@@ -2033,7 +2049,7 @@ nach
<translation>Eine als &apos;FINAL&apos; ausgewiesene Eigenschaft kann nicht überschrieben werden</translation>
</message>
<message>
- <location line="+25"/>
+ <location line="+24"/>
<source>Invalid property type</source>
<translation>Ungültiger Typ der Eigenschaft</translation>
</message>
@@ -2088,7 +2104,7 @@ nach
<context>
<name>QDeclarativeComponent</name>
<message>
- <location filename="../src/declarative/qml/qdeclarativecomponent.cpp" line="+452"/>
+ <location filename="../src/declarative/qml/qdeclarativecomponent.cpp" line="+459"/>
<source>Invalid empty URL</source>
<translation>Ungültige (leere) URL</translation>
</message>
@@ -2096,23 +2112,23 @@ nach
<context>
<name>QDeclarativeCompositeTypeManager</name>
<message>
- <location filename="../src/declarative/qml/qdeclarativecompositetypemanager.cpp" line="+483"/>
- <location line="+268"/>
+ <location filename="../src/declarative/qml/qdeclarativecompositetypemanager.cpp" line="+475"/>
+ <location line="+266"/>
<source>Resource %1 unavailable</source>
<translation>Auf die Ressource %1 konnte nicht zugegriffen werden</translation>
</message>
<message>
- <location line="-119"/>
+ <location line="-122"/>
<source>Namespace %1 cannot be used as a type</source>
<translation>Der Namensraum %1 kann nicht als Typangabe verwendet werden</translation>
</message>
<message>
<location line="+2"/>
- <source>%1 is not a type</source>
- <translation>%1 ist keine Typangabe</translation>
+ <source>%1 %2</source>
+ <translation>%1 %2</translation>
</message>
<message>
- <location line="+46"/>
+ <location line="+47"/>
<source>Type %1 unavailable</source>
<translation>Der Typ %1 ist nicht verfügbar</translation>
</message>
@@ -2120,14 +2136,13 @@ nach
<context>
<name>QDeclarativeConnections</name>
<message>
- <location filename="../src/declarative/util/qdeclarativeconnections.cpp" line="+172"/>
- <location line="+54"/>
- <location line="+7"/>
+ <location filename="../src/declarative/util/qdeclarativeconnections.cpp" line="+209"/>
+ <location line="+60"/>
<source>Cannot assign to non-existent property &quot;%1&quot;</source>
<translation>Es kann keine Zuweisung erfolgen, da keine Eigenschaft des Namens &apos;%1&quot; existiert</translation>
</message>
<message>
- <location line="-51"/>
+ <location line="-50"/>
<source>Connections: nested objects not allowed</source>
<translation>Verbindungen: Verschachtelte Objekte sind nicht zulässig</translation>
</message>
@@ -2175,13 +2190,29 @@ nach
<source>SQL: database version mismatch</source>
<translation>SQL: Die Version der Datenbank entspricht nicht der erwarteten Version</translation>
</message>
+</context>
+<context>
+ <name>QDeclarativeFlipable</name>
+ <message>
+ <location filename="../src/declarative/graphicsitems/qdeclarativeflipable.cpp" line="+129"/>
+ <source>front is a write-once property</source>
+ <translation>&apos;front&apos; kann nur einmal zugewiesen werden</translation>
+ </message>
+ <message>
+ <location line="+19"/>
+ <source>back is a write-once property</source>
+ <translation>&apos;back&apos; kann nur einmal zugewiesen werden</translation>
+ </message>
+</context>
+<context>
+ <name>QDeclarativeImportDatabase</name>
<message>
- <location filename="../src/declarative/qml/qdeclarativeengine.cpp" line="+1515"/>
+ <location filename="../src/declarative/qml/qdeclarativeimport.cpp" line="+294"/>
<source>module &quot;%1&quot; definition &quot;%2&quot; not readable</source>
<translation>Modul &quot;%1&quot; Definition &quot;%2&quot; kann nicht gelesen werden</translation>
</message>
<message>
- <location line="+23"/>
+ <location line="+20"/>
<source>plugin cannot be loaded for module &quot;%1&quot;: %2</source>
<translation>Das Plugin des Moduls &quot;%1&quot; konnte nicht geladen werden: %2</translation>
</message>
@@ -2191,7 +2222,7 @@ nach
<translation>Modul &quot;%1&quot; Plugin &quot;%2&quot; konnte nicht gefunden werden</translation>
</message>
<message>
- <location line="+82"/>
+ <location line="+79"/>
<location line="+55"/>
<source>module &quot;%1&quot; version %2.%3 is not installed</source>
<translation>Modul &quot;%1&quot; Version %2.%3 ist nicht installiert</translation>
@@ -2210,29 +2241,59 @@ nach
<message>
<location line="-2"/>
<source>import &quot;%1&quot; has no qmldir and no namespace</source>
- <translation>&quot;qmldir&quot; und Namensraum fehlt bei Import &quot;%1&quot;</translation>
+ <translation>&quot;qmldir&quot; und Namensraum fehlen bei dem Import &quot;%1&quot;</translation>
</message>
-</context>
-<context>
- <name>QDeclarativeFlipable</name>
<message>
- <location filename="../src/declarative/graphicsitems/qdeclarativeflipable.cpp" line="+125"/>
- <source>front is a write-once property</source>
- <translation>&apos;front&apos; kann nur einmal zugewiesen werden</translation>
+ <location line="+46"/>
+ <source>- %1 is not a namespace</source>
+ <translation>- %1 ist kein gültiger Namensraum</translation>
</message>
<message>
- <location line="+19"/>
- <source>back is a write-once property</source>
- <translation>&apos;back&apos; kann nur einmal zugewiesen werden</translation>
+ <location line="+6"/>
+ <source>- nested namespaces not allowed</source>
+ <translation>- geschachtelte Namensräume sind nicht zulässig</translation>
+ </message>
+ <message>
+ <location line="+47"/>
+ <location line="+4"/>
+ <source>local directory</source>
+ <translation>Lokales Verzeichnis&apos;</translation>
+ </message>
+ <message>
+ <location line="+6"/>
+ <source>is ambiguous. Found in %1 and in %2</source>
+ <translation>ist mehrdeutig. Es kommt in %1 und in %2 vor</translation>
+ </message>
+ <message>
+ <location line="+4"/>
+ <source>is ambiguous. Found in %1 in version %2.%3 and %4.%5</source>
+ <translation>ist mehrdeutig. Es kommt in %1 in den Version %2.%3 und %4.%5 vor</translation>
+ </message>
+ <message>
+ <location line="+14"/>
+ <source>is instantiated recursively</source>
+ <translation>wird rekursiv instanziiert</translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>is not a type</source>
+ <translation>ist kein Typ</translation>
</message>
</context>
<context>
- <name>QDeclarativeInfo</name>
+ <name>QDeclarativeKeyNavigationAttached</name>
<message>
- <location filename="../src/declarative/qml/qdeclarativeinfo.cpp" line="+113"/>
- <location line="+3"/>
- <source>unknown location</source>
- <translation>Unbekannter Ort</translation>
+ <location filename="../src/declarative/graphicsitems/qdeclarativeitemsmodule.cpp" line="+70"/>
+ <source>KeyNavigation is only available via attached properties</source>
+ <translation>Tastennavigation ist nur über Eigenschaften des Typs &apos;attached&apos; verfügbar</translation>
+ </message>
+</context>
+<context>
+ <name>QDeclarativeKeysAttached</name>
+ <message>
+ <location line="+1"/>
+ <source>Keys is only available via attached properties</source>
+ <translation>Die Unterstützung für Tasten ist nur über Eigenschaften des Typs &apos;attached&apos; verfügbar</translation>
</message>
</context>
<context>
@@ -2263,12 +2324,7 @@ nach
<translation>append: Der Wert ist kein Objekt</translation>
</message>
<message>
- <location line="+34"/>
- <source>get: index %1 out of range</source>
- <translation>get: Der Index %1 ist außerhalb des gültigen Bereichs</translation>
- </message>
- <message>
- <location line="+25"/>
+ <location line="+55"/>
<source>set: value is not an object</source>
<translation>set: Der Wert ist kein Objekt</translation>
</message>
@@ -2303,7 +2359,7 @@ nach
<context>
<name>QDeclarativeLoader</name>
<message>
- <location filename="../src/declarative/graphicsitems/qdeclarativeloader.cpp" line="+309"/>
+ <location filename="../src/declarative/graphicsitems/qdeclarativeloader.cpp" line="+323"/>
<source>Loader does not support loading non-visual elements.</source>
<translation>Das Laden nicht-visueller Elemente ist nicht unterstützt.</translation>
</message>
@@ -2311,7 +2367,7 @@ nach
<context>
<name>QDeclarativeParentAnimation</name>
<message>
- <location filename="../src/declarative/util/qdeclarativeanimation.cpp" line="+2370"/>
+ <location filename="../src/declarative/util/qdeclarativeanimation.cpp" line="-169"/>
<source>Unable to preserve appearance under complex transform</source>
<translation>Das Erscheinungsbild kann bei einer komplexen Transformation nicht beibehalten werden</translation>
</message>
@@ -2330,7 +2386,7 @@ nach
<context>
<name>QDeclarativeParentChange</name>
<message>
- <location filename="../src/declarative/util/qdeclarativestateoperations.cpp" line="+94"/>
+ <location filename="../src/declarative/util/qdeclarativestateoperations.cpp" line="+95"/>
<source>Unable to preserve appearance under complex transform</source>
<translation>Das Erscheinungsbild kann bei einer komplexen Transformation nicht beibehalten werden</translation>
</message>
@@ -2349,7 +2405,7 @@ nach
<context>
<name>QDeclarativeParser</name>
<message>
- <location filename="../src/declarative/qml/parser/qdeclarativejslexer.cpp" line="+558"/>
+ <location filename="../src/declarative/qml/parser/qdeclarativejslexer.cpp" line="+579"/>
<source>Illegal character</source>
<translation>Ungültiges Zeichen</translation>
</message>
@@ -2364,17 +2420,19 @@ nach
<translation>Ungültiges Escape-Sequenz</translation>
</message>
<message>
- <location line="+46"/>
+ <location line="-77"/>
+ <location line="+123"/>
+ <location line="+54"/>
<source>Illegal unicode escape sequence</source>
<translation>Ungültige Unicode-Escape-Sequenz</translation>
</message>
<message>
- <location line="+26"/>
+ <location line="-28"/>
<source>Unclosed comment at end of file</source>
<translation>Kommentar am Dateiende nicht abgeschlossen</translation>
</message>
<message>
- <location line="+87"/>
+ <location line="+102"/>
<source>Illegal syntax for exponential number</source>
<translation>Ungültige Syntax des Exponenten</translation>
</message>
@@ -2384,16 +2442,27 @@ nach
<translation>Ein Bezeichner darf nicht mit einem numerischen Literal beginnen</translation>
</message>
<message>
- <location line="+331"/>
+ <location line="+338"/>
<source>Unterminated regular expression literal</source>
<translation>Regulärer Ausdruck nicht abgeschlossen</translation>
</message>
<message>
- <location line="+24"/>
+ <location line="+15"/>
<source>Invalid regular expression flag &apos;%0&apos;</source>
<translation>Ungültiger Modifikator &apos;%0&apos; bei regulärem Ausdruck</translation>
</message>
<message>
+ <location line="+16"/>
+ <location line="+22"/>
+ <source>Unterminated regular expression backslash sequence</source>
+ <translation>Regulärer Ausdruck nicht abgeschlossen</translation>
+ </message>
+ <message>
+ <location line="+13"/>
+ <source>Unterminated regular expression class</source>
+ <translation>Klasse im regulären Ausdruck nicht abgeschlossen</translation>
+ </message>
+ <message>
<location filename="../src/declarative/qml/parser/qdeclarativejsparser.cpp" line="+1828"/>
<location line="+67"/>
<source>Syntax error</source>
@@ -2411,28 +2480,28 @@ nach
<translation>Es wird das Element &apos;%1&apos; erwartet</translation>
</message>
<message>
- <location filename="../src/declarative/qml/qdeclarativescriptparser.cpp" line="+264"/>
- <location line="+481"/>
+ <location filename="../src/declarative/qml/qdeclarativescriptparser.cpp" line="+260"/>
+ <location line="+431"/>
<location line="+59"/>
<source>Property value set multiple times</source>
<translation>Mehrfache Zuweisung eines Wertes an eine Eigenschaft</translation>
</message>
<message>
- <location line="-529"/>
+ <location line="-479"/>
<source>Expected type name</source>
<translation>Es wird ein Typname erwartet</translation>
</message>
<message>
- <location line="+29"/>
- <source>Invalid use of Script block</source>
- <translation>Ungültige Verwendung von Skript-Blöcken</translation>
- </message>
- <message>
- <location line="+161"/>
+ <location line="+136"/>
<source>Invalid import qualifier ID</source>
<translation>Ungültige Id-Angabe bei Import</translation>
</message>
<message>
+ <location line="+8"/>
+ <source>Reserved name &quot;Qt&quot; cannot be used as an qualifier</source>
+ <translation>Der reservierte Name &quot;Qt&quot; kann nicht als Bezeichner verwendet werden</translation>
+ </message>
+ <message>
<location line="+15"/>
<source>Script import qualifiers must be unique.</source>
<translation>Der für den Skript-Import angegebene Qualifizierer muss eindeutig sein.</translation>
@@ -2448,7 +2517,7 @@ nach
<translation>Der Import einer Bibliothek erfordert eine Versionsangabe</translation>
</message>
<message>
- <location line="+60"/>
+ <location line="+59"/>
<source>Expected parameter type</source>
<translation>Es wird eine Typangabe für den Parameter erwartet</translation>
</message>
@@ -2473,20 +2542,15 @@ nach
<translation>&apos;read-only&apos; wird an dieser Stelle noch nicht unterstützt</translation>
</message>
<message>
- <location line="+222"/>
+ <location line="+215"/>
<source>JavaScript declaration outside Script element</source>
<translation>Eine JavaScript-Deklaration ist außerhalb eines Skriptelementes nicht zulässig</translation>
</message>
- <message>
- <location line="+19"/>
- <source>Variable declarations not allow in inline Script blocks</source>
- <translation>Variablendeklarationen sind in eingebetteten Script-Blöcken nicht zulässig</translation>
- </message>
</context>
<context>
<name>QDeclarativePauseAnimation</name>
<message>
- <location filename="../src/declarative/util/qdeclarativeanimation.cpp" line="-1972"/>
+ <location filename="../src/declarative/util/qdeclarativeanimation.cpp" line="-1990"/>
<source>Cannot set a duration of &lt; 0</source>
<translation>Es kann keine Zeitdauer &lt;0 gesetzt werden</translation>
</message>
@@ -2494,7 +2558,7 @@ nach
<context>
<name>QDeclarativePixmapCache</name>
<message>
- <location filename="../src/declarative/util/qdeclarativepixmapcache.cpp" line="+197"/>
+ <location filename="../src/declarative/util/qdeclarativepixmapcache.cpp" line="+190"/>
<source>Error decoding: %1: %2</source>
<translation>Fehler beim Decodieren: %1: %2</translation>
</message>
@@ -2505,7 +2569,7 @@ nach
</message>
<message>
<location line="+19"/>
- <location line="+342"/>
+ <location line="+345"/>
<source>Cannot open: %1</source>
<translation>Fehlschlag beim Öffnen: %1</translation>
</message>
@@ -2518,7 +2582,7 @@ nach
<context>
<name>QDeclarativePropertyAnimation</name>
<message>
- <location filename="../src/declarative/util/qdeclarativeanimation.cpp" line="+1100"/>
+ <location filename="../src/declarative/util/qdeclarativeanimation.cpp" line="+1113"/>
<source>Cannot set a duration of &lt; 0</source>
<translation>Es kann keine Zeitdauer &lt;0 gesetzt werden</translation>
</message>
@@ -2526,12 +2590,12 @@ nach
<context>
<name>QDeclarativePropertyChanges</name>
<message>
- <location filename="../src/declarative/util/qdeclarativepropertychanges.cpp" line="+231"/>
+ <location filename="../src/declarative/util/qdeclarativepropertychanges.cpp" line="+267"/>
<source>PropertyChanges does not support creating state-specific objects.</source>
<translation>Die Erzeugung von Objekten, die einem Zustand zugeordnet sind, wird von PropertyChanges nicht unterstützt.</translation>
</message>
<message>
- <location line="+151"/>
+ <location line="+157"/>
<source>Cannot assign to non-existent property &quot;%1&quot;</source>
<translation>Es kann keine Zuweisung erfolgen, da keine Eigenschaft des Namens &apos;%1&quot; existiert</translation>
</message>
@@ -2544,13 +2608,13 @@ nach
<context>
<name>QDeclarativeTextInput</name>
<message>
- <location filename="../src/declarative/graphicsitems/qdeclarativetextinput.cpp" line="+783"/>
- <location line="+9"/>
+ <location filename="../src/declarative/graphicsitems/qdeclarativetextinput.cpp" line="+793"/>
+ <location line="+8"/>
<source>Could not load cursor delegate</source>
<translation>Cursor-Delegate konnte nicht geladen werden</translation>
</message>
<message>
- <location line="+12"/>
+ <location line="+11"/>
<source>Could not instantiate cursor delegate</source>
<translation>Cursor-Delegate konnte angelegt werden</translation>
</message>
@@ -2563,7 +2627,7 @@ nach
<translation>Es konnte kein Objekt des Typs %1 erzeugt werden</translation>
</message>
<message>
- <location line="+380"/>
+ <location line="+390"/>
<source>Cannot assign value %1 to property %2</source>
<translation>Der Wert &apos;%1&apos; kann nicht der Eigenschaft %2 zugewiesen werden</translation>
</message>
@@ -2583,7 +2647,7 @@ nach
<translation>Der Signal-Eigenschaft %1 kann kein Objekt zugewiesen werden</translation>
</message>
<message>
- <location line="+153"/>
+ <location line="+146"/>
<source>Cannot assign object to list</source>
<translation>Zuweisung eines Objekts an eine Liste nicht zulässig</translation>
</message>
@@ -2606,15 +2670,24 @@ nach
<context>
<name>QDeclarativeVisualDataModel</name>
<message>
- <location filename="../src/declarative/graphicsitems/qdeclarativevisualitemmodel.cpp" line="+1032"/>
+ <location filename="../src/declarative/graphicsitems/qdeclarativevisualitemmodel.cpp" line="+1090"/>
<source>Delegate component must be Item type.</source>
<translation>Delegate-Komponente muss vom Typ &apos;Item&apos; sein</translation>
</message>
</context>
<context>
+ <name>QDeclarativeXmlListModel</name>
+ <message>
+ <location filename="../src/declarative/util/qdeclarativeutilmodule.cpp" line="-12"/>
+ <location line="+2"/>
+ <source>Qt was built without support for xmlpatterns</source>
+ <translation>Diese Version der Qt-Bibliothek wurde ohne Unterstützung für xmlpatterns erstellt</translation>
+ </message>
+</context>
+<context>
<name>QDeclarativeXmlListModelRole</name>
<message>
- <location filename="../src/declarative/util/qdeclarativexmllistmodel_p.h" line="+168"/>
+ <location filename="../src/declarative/util/qdeclarativexmllistmodel_p.h" line="+174"/>
<source>An XmlRole query must not start with &apos;/&apos;</source>
<translation>Eine XmlRole-Abfrage darf nicht mit &apos;/&apos; beginnen</translation>
</message>
@@ -2622,7 +2695,7 @@ nach
<context>
<name>QDeclarativeXmlRoleList</name>
<message>
- <location filename="../src/declarative/util/qdeclarativexmllistmodel.cpp" line="+638"/>
+ <location filename="../src/declarative/util/qdeclarativexmllistmodel.cpp" line="+712"/>
<source>An XmlListModel query must start with &apos;/&apos; or &quot;//&quot;</source>
<translation>Eine XmlListModel-Abfrage muss mit &apos;/&apos; oder &quot;//&quot; beginnen</translation>
</message>
@@ -3683,15 +3756,6 @@ Möchten Sie die Datei trotzdem löschen?</translation>
</message>
</context>
<context>
- <name>QGstreamerPlayerSession</name>
- <message>
- <location filename="../src/plugins/mediaservices/gstreamer/mediaplayer/qgstreamerplayersession.cpp" line="+423"/>
- <location line="+16"/>
- <source>Unable to play %1</source>
- <translation>%1 kann nicht abgespielt werden</translation>
- </message>
-</context>
-<context>
<name>QHostInfo</name>
<message>
<location filename="../src/network/kernel/qhostinfo_p.h" line="+103"/>
@@ -3699,7 +3763,7 @@ Möchten Sie die Datei trotzdem löschen?</translation>
<translation>Unbekannter Fehler</translation>
</message>
<message>
- <location filename="../src/network/kernel/qhostinfo.cpp" line="+175"/>
+ <location filename="../src/network/kernel/qhostinfo.cpp" line="+171"/>
<source>No host name given</source>
<translation>Es wurde kein Hostname angegeben</translation>
</message>
@@ -3707,9 +3771,9 @@ Möchten Sie die Datei trotzdem löschen?</translation>
<context>
<name>QHostInfoAgent</name>
<message>
- <location filename="../src/network/kernel/qhostinfo_unix.cpp" line="+259"/>
+ <location filename="../src/network/kernel/qhostinfo_unix.cpp" line="+260"/>
<location line="+32"/>
- <location filename="../src/network/kernel/qhostinfo_win.cpp" line="+216"/>
+ <location filename="../src/network/kernel/qhostinfo_win.cpp" line="+215"/>
<location line="+27"/>
<source>Host not found</source>
<translation>Rechner konnte nicht gefunden werden</translation>
@@ -4060,7 +4124,7 @@ Möchten Sie die Datei trotzdem löschen?</translation>
<context>
<name>QIODevice</name>
<message>
- <location filename="../src/corelib/global/qglobal.cpp" line="+2099"/>
+ <location filename="../src/corelib/global/qglobal.cpp" line="+2120"/>
<source>Permission denied</source>
<translation>Zugriff verweigert</translation>
</message>
@@ -4080,7 +4144,7 @@ Möchten Sie die Datei trotzdem löschen?</translation>
<translation>Kein freier Speicherplatz auf dem Gerät vorhanden</translation>
</message>
<message>
- <location filename="../src/corelib/io/qiodevice.cpp" line="+1596"/>
+ <location filename="../src/corelib/io/qiodevice.cpp" line="+1598"/>
<source>Unknown error</source>
<translation>Unbekannter Fehler</translation>
</message>
@@ -4197,7 +4261,7 @@ Möchten Sie die Datei trotzdem löschen?</translation>
<context>
<name>QLineEdit</name>
<message>
- <location filename="../src/gui/widgets/qlineedit.cpp" line="+2110"/>
+ <location filename="../src/gui/widgets/qlineedit.cpp" line="+2116"/>
<source>Select All</source>
<translation>Alles auswählen</translation>
</message>
@@ -4518,39 +4582,6 @@ Möchten Sie die Datei trotzdem löschen?</translation>
</message>
</context>
<context>
- <name>QMediaPlayer</name>
- <message>
- <location filename="../src/multimedia/playback/qmediaplayer.cpp" line="+496"/>
- <source>The QMediaPlayer object does not have a valid service</source>
- <translation>Das QMediaPlayer-Objekt verfügt über keinen gültigen Dienst</translation>
- </message>
-</context>
-<context>
- <name>QMediaPlaylist</name>
- <message>
- <location filename="../src/multimedia/base/qmediaplaylist.cpp" line="+455"/>
- <location line="+46"/>
- <source>Could not add items to read only playlist.</source>
- <translation>Es konnten keine Einträge zur Wiedergabeliste hinzugefügt werden, da sie schreibgeschützt ist.</translation>
- </message>
- <message>
- <location line="-27"/>
- <location line="+46"/>
- <source>Playlist format is not supported</source>
- <translation>Das Format der Wiedergabeliste ist nicht unterstützt</translation>
- </message>
- <message>
- <location line="+26"/>
- <source>The file could not be accessed.</source>
- <translation>Auf die Datei konnte nicht zugegriffen werden.</translation>
- </message>
- <message>
- <location line="+35"/>
- <source>Playlist format is not supported.</source>
- <translation>Das Format der Wiedergabeliste ist nicht unterstützt.</translation>
- </message>
-</context>
-<context>
<name>QMenu</name>
<message>
<location filename="../src/plugins/accessible/widgets/qaccessiblemenu.cpp" line="+157"/>
@@ -4575,7 +4606,7 @@ Möchten Sie die Datei trotzdem löschen?</translation>
<context>
<name>QMenuBar</name>
<message>
- <location filename="../src/gui/widgets/qmenu_symbian.cpp" line="+452"/>
+ <location filename="../src/gui/widgets/qmenu_symbian.cpp" line="+456"/>
<source>Actions</source>
<translation>Optionen</translation>
</message>
@@ -4876,7 +4907,7 @@ Möchten Sie die Datei trotzdem löschen?</translation>
<context>
<name>QNetworkAccessHttpBackend</name>
<message>
- <location filename="../src/network/access/qnetworkaccesshttpbackend.cpp" line="+645"/>
+ <location filename="../src/network/access/qnetworkaccesshttpbackend.cpp" line="+652"/>
<source>No suitable proxy found</source>
<translation>Es konnte kein geeigneter Proxy-Server gefunden werden</translation>
</message>
@@ -4884,7 +4915,7 @@ Möchten Sie die Datei trotzdem löschen?</translation>
<context>
<name>QNetworkAccessManager</name>
<message>
- <location filename="../src/network/access/qnetworkreplyimpl.cpp" line="+910"/>
+ <location filename="../src/network/access/qnetworkreplyimpl.cpp" line="+942"/>
<source>Network access is disabled.</source>
<translation>Der Zugriff auf das Netzwerk ist nicht gestattet.</translation>
</message>
@@ -4892,12 +4923,12 @@ Möchten Sie die Datei trotzdem löschen?</translation>
<context>
<name>QNetworkReply</name>
<message>
- <location filename="../src/network/access/qnetworkaccesshttpbackend.cpp" line="+101"/>
+ <location filename="../src/network/access/qnetworkaccesshttpbackend.cpp" line="+100"/>
<source>Error downloading %1 - server replied: %2</source>
<translation>Beim Herunterladen von %1 trat ein Fehler auf - Die Antwort des Servers ist: %2</translation>
</message>
<message>
- <location filename="../src/network/access/qnetworkreplyimpl.cpp" line="-828"/>
+ <location filename="../src/network/access/qnetworkreplyimpl.cpp" line="-860"/>
<source>Protocol &quot;%1&quot; is unknown</source>
<translation>Das Protokoll &quot;%1&quot; ist unbekannt</translation>
</message>
@@ -4907,7 +4938,7 @@ Möchten Sie die Datei trotzdem löschen?</translation>
<translation>Fehler bei Netzwerkverbindung.</translation>
</message>
<message>
- <location line="+329"/>
+ <location line="+352"/>
<source>Temporary network failure.</source>
<translation>Das Netzwerk ist zur Zeit ausgefallen.</translation>
</message>
@@ -4915,7 +4946,7 @@ Möchten Sie die Datei trotzdem löschen?</translation>
<context>
<name>QNetworkReplyImpl</name>
<message>
- <location line="+111"/>
+ <location line="+120"/>
<location line="+28"/>
<source>Operation canceled</source>
<translation>Operation abgebrochen</translation>
@@ -4933,7 +4964,7 @@ Möchten Sie die Datei trotzdem löschen?</translation>
<name>QNetworkSessionPrivateImpl</name>
<message>
<location filename="../src/plugins/bearer/qnetworksession_impl.cpp" line="+272"/>
- <location filename="../src/plugins/bearer/symbian/qnetworksession_impl.cpp" line="+227"/>
+ <location filename="../src/plugins/bearer/symbian/qnetworksession_impl.cpp" line="+271"/>
<source>Unknown session error.</source>
<translation>Unbekannter Fehler bei Netzwerkverbindung.</translation>
</message>
@@ -5139,11 +5170,17 @@ Möchten Sie die Datei trotzdem löschen?</translation>
<context>
<name>QObject</name>
<message>
- <location filename="../src/declarative/util/qdeclarativexmllistmodel.cpp" line="-194"/>
+ <location filename="../src/declarative/util/qdeclarativexmllistmodel.cpp" line="-241"/>
<source>&quot;%1&quot; duplicates a previous role name and will be disabled.</source>
<translation>&quot;%1&quot; ist bereits als Name einer Rolle vergeben und wird daher deaktiviert.</translation>
</message>
<message>
+ <location line="+515"/>
+ <location line="+4"/>
+ <source>invalid query: &quot;%1&quot;</source>
+ <translation>Ungültige Abfrage: &quot;%1&quot;</translation>
+ </message>
+ <message>
<location filename="../src/3rdparty/phonon/phonon/pulsesupport.cpp" line="+162"/>
<location line="+11"/>
<source>PulseAudio Sound Server</source>
@@ -6221,7 +6258,7 @@ Bitte wählen Sie einen anderen Dateinamen.</translation>
<context>
<name>QSQLiteDriver</name>
<message>
- <location filename="../src/sql/drivers/sqlite/qsql_sqlite.cpp" line="+538"/>
+ <location filename="../src/sql/drivers/sqlite/qsql_sqlite.cpp" line="+539"/>
<source>Error opening database</source>
<translation>Die Datenbankverbindung konnte nicht geöffnet werden</translation>
</message>
@@ -6249,8 +6286,8 @@ Bitte wählen Sie einen anderen Dateinamen.</translation>
<context>
<name>QSQLiteResult</name>
<message>
- <location line="-395"/>
- <location line="+62"/>
+ <location line="-396"/>
+ <location line="+63"/>
<location line="+8"/>
<source>Unable to fetch row</source>
<translation>Der Datensatz konnte nicht abgeholt werden</translation>
@@ -6276,7 +6313,7 @@ Bitte wählen Sie einen anderen Dateinamen.</translation>
<translation>Die Anzahl der Parameter ist falsch</translation>
</message>
<message>
- <location line="-200"/>
+ <location line="-201"/>
<source>No query</source>
<translation>Kein Abfrage</translation>
</message>
@@ -6819,8 +6856,9 @@ Bitte wählen Sie einen anderen Dateinamen.</translation>
<context>
<name>QShortcut</name>
<message>
- <location filename="../src/gui/kernel/qkeysequence.cpp" line="+393"/>
+ <location filename="../src/gui/kernel/qkeysequence.cpp" line="+396"/>
<source>Space</source>
+ <extracomment>This and all following &quot;incomprehensible&quot; strings in QShortcut context are key names. Please use the localized names appearing on actual keyboards or whatever is commonly used.</extracomment>
<translation>Leertaste</translation>
</message>
<message>
@@ -8008,7 +8046,7 @@ Bitte wählen Sie einen anderen Dateinamen.</translation>
<translation>Abbrechen</translation>
</message>
<message>
- <location filename="../src/gui/kernel/qsoftkeymanager_s60.cpp" line="+319"/>
+ <location filename="../src/gui/kernel/qsoftkeymanager_s60.cpp" line="+321"/>
<source>Exit</source>
<translation>Beenden</translation>
</message>
@@ -8352,7 +8390,7 @@ Bitte wählen Sie einen anderen Dateinamen.</translation>
<context>
<name>QTextControl</name>
<message>
- <location filename="../src/gui/text/qtextcontrol.cpp" line="+2036"/>
+ <location filename="../src/gui/text/qtextcontrol.cpp" line="+2046"/>
<source>&amp;Undo</source>
<translation>&amp;Rückgängig</translation>
</message>
@@ -9065,7 +9103,7 @@ Bitte wählen Sie einen anderen Dateinamen.</translation>
<translation>Unbekannt</translation>
</message>
<message>
- <location filename="../src/3rdparty/webkit/WebKit/qt/WebCoreSupport/InspectorClientQt.cpp" line="+236"/>
+ <location filename="../src/3rdparty/webkit/WebKit/qt/WebCoreSupport/InspectorClientQt.cpp" line="+253"/>
<source>Web Inspector - %2</source>
<translation>Web Inspector - %2</translation>
</message>
@@ -9076,7 +9114,12 @@ Bitte wählen Sie einen anderen Dateinamen.</translation>
<translation>%1 (%2x%3 Pixel)</translation>
</message>
<message>
- <location filename="../src/3rdparty/webkit/WebCore/platform/network/qt/QNetworkReplyHandler.cpp" line="+456"/>
+ <location filename="../src/3rdparty/webkit/WebCore/platform/network/qt/QNetworkReplyHandler.cpp" line="+347"/>
+ <source>Redirection limit reached</source>
+ <translation>Maximal Anzahl von Weiterleitungen wurde erreicht</translation>
+ </message>
+ <message>
+ <location line="+121"/>
<source>Bad HTTP request</source>
<translation>Ungültige HTTP-Anforderung</translation>
</message>
@@ -9161,7 +9204,7 @@ Bitte wählen Sie einen anderen Dateinamen.</translation>
</translation>
</message>
<message>
- <location filename="../src/3rdparty/webkit/WebKit/qt/Api/qwebpage.cpp" line="+1959"/>
+ <location filename="../src/3rdparty/webkit/WebKit/qt/Api/qwebpage.cpp" line="+2033"/>
<source>JavaScript Alert - %1</source>
<translation>JavaScript-Hinweis - %1</translation>
</message>
@@ -9186,7 +9229,7 @@ Bitte wählen Sie einen anderen Dateinamen.</translation>
<translation>Das Skript dieser Webseite ist fehlerhaft. Möchten Sie es anhalten?</translation>
</message>
<message>
- <location line="+374"/>
+ <location line="+395"/>
<source>Move the cursor to the next character</source>
<translation>Positionsmarke auf folgendes Zeichen setzen</translation>
</message>
@@ -9407,7 +9450,7 @@ Bitte wählen Sie einen anderen Dateinamen.</translation>
<context>
<name>QWidget</name>
<message>
- <location filename="../src/gui/kernel/qwidget.cpp" line="+5809"/>
+ <location filename="../src/gui/kernel/qwidget.cpp" line="+5806"/>
<source>*</source>
<translation>*</translation>
</message>
@@ -11312,13 +11355,13 @@ Bitte wählen Sie einen anderen Dateinamen.</translation>
</message>
<message>
<location line="+28"/>
- <location line="+408"/>
+ <location line="+415"/>
<location line="+30"/>
<source>Type %1 of %2 element cannot be resolved.</source>
<translation>Der Typ %1 des Elements %2 kann nicht aufgelöst werden.</translation>
</message>
<message>
- <location line="-416"/>
+ <location line="-423"/>
<source>Base type %1 of complex type cannot be resolved.</source>
<translation>Der Basistyp %1 des komplexen Typs kann nicht aufgelöst werden.</translation>
</message>
@@ -11328,7 +11371,7 @@ Bitte wählen Sie einen anderen Dateinamen.</translation>
<translation>%1 kann keinen komplexen Basistyp haben, der &apos;%2&apos; spezifiziert.</translation>
</message>
<message>
- <location line="+279"/>
+ <location line="+286"/>
<source>Content model of complex type %1 contains %2 element so it cannot be derived by extension from a non-empty type.</source>
<translation>Das Inhaltsmodell des komplexen Typs %1enthält ein Element &apos;%2&apos;; es kann daher nicht durch Erweiterung von einem Typ abgeleitet werden, der nicht leer ist.</translation>
</message>
@@ -12238,27 +12281,4 @@ Bitte wählen Sie einen anderen Dateinamen.</translation>
<translation>Das Attribut &apos;%1&apos; enthält einen ungültigen qualifizierten Namen: %2.</translation>
</message>
</context>
-<context>
- <name>Widget</name>
- <message>
- <location filename="../src/3rdparty/webkit/WebKit/qt/tests/hybridPixmap/widget.ui"/>
- <source>Widget</source>
- <translation>Widget</translation>
- </message>
- <message>
- <location/>
- <source>about:blank</source>
- <translation>about:blank</translation>
- </message>
- <message>
- <location/>
- <source>Image from Qt to HTML</source>
- <translation>Bild von Qt zu HTML</translation>
- </message>
- <message>
- <location/>
- <source>Pixmap from Qt to HTML</source>
- <translation>Pixmap von Qt zu HTML</translation>
- </message>
-</context>
</TS>
diff --git a/translations/qt_help_hu.ts b/translations/qt_help_hu.ts
index 3fbe0e9114..4107a2e221 100644
--- a/translations/qt_help_hu.ts
+++ b/translations/qt_help_hu.ts
@@ -4,85 +4,108 @@
<context>
<name>QCLuceneResultWidget</name>
<message>
+ <location filename="../tools/assistant/lib/qhelpsearchresultwidget.cpp" line="+110"/>
<source>Search Results</source>
- <translation>Keresési eredmény</translation>
+ <translation>Keresési eredmények</translation>
</message>
<message>
+ <location line="+7"/>
<source>Note:</source>
+ <translatorcomment>CHECKIT</translatorcomment>
<translation>Megjegyzés:</translation>
</message>
<message>
+ <location line="+1"/>
<source>The search results may not be complete since the documentation is still being indexed!</source>
- <translation>A keresési eredmény lehet, hogy nem teljes, mivel a dokumentáció még mindig indexelvan van!</translation>
+ <translation>A keresés eredménye hiányos lehet, mert a dokumentáció indexelés alatt van!</translation>
</message>
<message>
+ <location line="+11"/>
<source>Your search did not match any documents.</source>
- <translation>A keresési feltételeknek megfelően nincs találat.</translation>
+ <translation>Nincs a keresési feltételeknek megfelelő dokumentum.</translation>
</message>
<message>
+ <location line="+4"/>
<source>(The reason for this might be that the documentation is still being indexed.)</source>
- <translation>(Ennek az oka az lehet, hogy a dokumentáció még mindig indexelve van.)</translation>
+ <translation>(Ez amiatt lehet, hogy a dokumentáció indexelése még nincs befejezve.)</translation>
</message>
</context>
<context>
<name>QHelpCollectionHandler</name>
<message>
+ <location filename="../tools/assistant/lib/qhelpcollectionhandler.cpp" line="+79"/>
<source>The collection file &apos;%1&apos; is not set up yet!</source>
- <translation>A(z) &apos;%1&apos;gyűjtemény fájl még nincs beállítva!</translation>
+ <translatorcomment>CHECKIT</translatorcomment>
+ <translation>A(z) &apos;%1&apos;gyűjteményfájl még nincs beállítva!</translation>
</message>
<message>
+ <location line="+23"/>
<source>Cannot load sqlite database driver!</source>
- <translation>Nem lehet betölteni az sqlite adatbázis vezérlőt!</translation>
+ <translation>Az sqlite adatbázisvezérlő nem tölthető be!</translation>
</message>
<message>
+ <location line="+11"/>
+ <location line="+52"/>
<source>Cannot open collection file: %1</source>
<translation>Nem lehet megnyitni a gyűjtemény fájlt: %1</translation>
</message>
<message>
+ <location line="-40"/>
<source>Cannot create tables in file %1!</source>
- <translation>Nem lehet lehet a(z) %1 fájlban táblákat létrehozni!</translation>
+ <translation>Nem sikerült táblákat létrehozni a(z) %1 fájlban!</translation>
</message>
<message>
+ <location line="+16"/>
<source>The collection file &apos;%1&apos; already exists!</source>
<translation>A(z) &apos;%1&apos; gyűjtemény fájl már létezik!</translation>
</message>
<message>
+ <location line="+151"/>
<source>Unknown filter &apos;%1&apos;!</source>
- <translation>Ismeretlen szűrő &apos;%1&apos;!</translation>
+ <translation>Ismeretlen szűrő: &apos;%1&apos;!</translation>
</message>
<message>
+ <location line="+103"/>
<source>Invalid documentation file &apos;%1&apos;!</source>
<translation>Érvénytelen dokumentációs fájl &apos;%1&apos;!</translation>
</message>
<message>
+ <location line="+167"/>
<source>Cannot register namespace &apos;%1&apos;!</source>
- <translation>Nem lehet regisztrálni a(z) &apos;%1&apos; névteret!</translation>
+ <translation>A(z) &apos;%1&apos; névtér regisztrálása nem sikerült!</translation>
</message>
<message>
+ <location line="+24"/>
<source>Cannot open database &apos;%1&apos; to optimize!</source>
<translation>Nem lehet optimalizálásra megnyitni a(z) &apos;%1&apos; adatbázist!</translation>
</message>
<message>
+ <location line="-439"/>
<source>Cannot create directory: %1</source>
- <translation>Nem lehet a könyvtárat létrehozni: %1</translation>
+ <translation>A könyvtár létrehozása sikertelen: %1</translation>
</message>
<message>
+ <location line="+26"/>
<source>Cannot copy collection file: %1</source>
- <translation>Nem lehet a gyűjtemény fájlt másolni: %1</translation>
+ <translation>A gyűjtemény fájl másolása sikertelen: %1</translation>
</message>
<message>
+ <location line="+172"/>
<source>Cannot register filter %1!</source>
- <translation>Nem lehet regisztrálni a(z) %1 szűrőt!</translation>
+ <translation>A(z) %1 szűrő regisztrálása sikertelen!</translation>
</message>
<message>
+ <location line="+44"/>
<source>Cannot open documentation file %1!</source>
- <translation>Nem lehet megnyitni a(z) %1 dokumentációs fájlt!</translation>
+ <translation>A(z) %1 dokumentációs fájl megnyitása sikertelen!</translation>
</message>
<message>
+ <location line="+40"/>
<source>The namespace %1 was not registered!</source>
<translation>A(z) %1 névteret nem regisztrálták!</translation>
</message>
<message>
+ <location line="+120"/>
<source>Namespace %1 already exists!</source>
<translation>A(z) %1 névtér már létezik!</translation>
</message>
@@ -90,209 +113,333 @@
<context>
<name>QHelpDBReader</name>
<message>
+ <location filename="../tools/assistant/lib/qhelpdbreader.cpp" line="+98"/>
<source>Cannot open database &apos;%1&apos; &apos;%2&apos;: %3</source>
+ <extracomment>The placeholders are: %1 - The name of the database which cannot be opened %2 - The unique id for the connection %3 - The actual error string</extracomment>
<translation>Nem lehet megnyitni az adatbázist &apos;%1&apos; &apos;%2&apos;: %3</translation>
</message>
</context>
<context>
<name>QHelpEngineCore</name>
<message>
+ <location filename="../tools/assistant/lib/qhelpenginecore.cpp" line="+122"/>
+ <source>Cannot open documentation file %1: %2!</source>
+ <translation>Nem lehet megnyitni a(z) %1 fájlt: %2!</translation>
+ </message>
+ <message>
+ <location line="+404"/>
<source>The specified namespace does not exist!</source>
- <translation>A meghatározott névtér nem létezik!</translation>
+ <translation>A megadott névtér nem létezik!</translation>
</message>
</context>
<context>
<name>QHelpEngineCorePrivate</name>
<message>
<source>Cannot open documentation file %1: %2!</source>
- <translation>Nem lehet megnyitni a(z) %1 fájlt: %2!</translation>
+ <translation type="obsolete">Nem lehet megnyitni a(z) %1 fájlt: %2!</translation>
</message>
</context>
<context>
<name>QHelpGenerator</name>
<message>
+ <location filename="../tools/assistant/lib/qhelpgenerator.cpp" line="+158"/>
<source>Invalid help data!</source>
- <translation>Érvénytelen segítség adat!</translation>
+ <translation>Érvénytelen súgó adat!</translation>
</message>
<message>
+ <location line="+6"/>
<source>No output file name specified!</source>
- <translation>Nincsen kimeneti fájl meghatározva!</translation>
+ <translation>Nincsen kimeneti fájl megadva!</translation>
</message>
<message>
+ <location line="+14"/>
<source>Building up file structure...</source>
<translation>Fájl struktúra felépítése...</translation>
</message>
<message>
+ <location line="-7"/>
<source>The file %1 cannot be overwritten!</source>
- <translation>Nem lehet felülírni a(z) %1 fájlt!</translation>
+ <translation>A(z) %1 fájl felülírása sikertelen!</translation>
</message>
<message>
+ <location line="+18"/>
<source>Cannot open data base file %1!</source>
- <translation>Nem lehet megnyitni a(z) %1 adatbázis fájlt!</translation>
+ <translation>A(z) %1 adatbázis fájl megnyitása sikertelen!</translation>
</message>
<message>
+ <location line="+14"/>
<source>Cannot register namespace %1!</source>
<translation>Nem lehet regisztrálni a(z) %1 névteret!</translation>
</message>
<message>
+ <location line="+6"/>
<source>Insert custom filters...</source>
- <translation>Szokásos szűrő beszúrása...</translation>
+ <translation>Egyedi szűrő hozzáadása...</translation>
</message>
<message>
+ <location line="+12"/>
<source>Insert help data for filter section (%1 of %2)...</source>
- <translation>Segítség adatok beszúrása a szűrő szegmens számára (%1 %2-től)...</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
+ <location line="+18"/>
<source>Documentation successfully generated.</source>
- <translation>A dokumentáció legenerálása sikeresen lezajlott.</translation>
+ <translation>A dokumentáció generálása sikerült.</translation>
</message>
<message>
+ <location line="+76"/>
<source>Some tables already exist!</source>
<translation>Néhány tábla már létezik!</translation>
</message>
<message>
+ <location line="+61"/>
<source>Cannot create tables!</source>
- <translation>Nem lehet a táblákat létrehozni!</translation>
+ <translation>Nem lehet táblákat létrehozni!</translation>
</message>
<message>
+ <location line="+86"/>
<source>Cannot register virtual folder!</source>
- <translation>Nem lehet registrálni a virtuális dossziét!</translation>
+ <translation>Nem lehet regisztrálni virtuális mappát!</translation>
</message>
<message>
+ <location line="+10"/>
<source>Insert files...</source>
<translation>Fájlok beszúrása...</translation>
</message>
<message>
+ <location line="+42"/>
<source>The referenced file %1 must be inside or within a subdirectory of (%2). Skipping it.</source>
- <translation>A(z) %1 hivatkozott fájlnak a(z) (%2) alkönyvtárán belül kell elhelyezkednie. Ennek kihagyása.</translation>
+ <translation>A(z) %1 hivatkozott fájlnak a(z) (%2) alkönyvtárán belül kell elhelyezkednie. A fájl kihagyása.</translation>
</message>
<message>
+ <location line="+7"/>
<source>The file %1 does not exist! Skipping it.</source>
- <translation>A(z) %1 fájl nem létezik! Ennek kihagyása.</translation>
+ <translation>A(z) %1 fájl nem létezik! A fájl kihagyása.</translation>
</message>
<message>
+ <location line="+6"/>
<source>Cannot open file %1! Skipping it.</source>
- <translation>Nem lehet megnyitni a(z) %1 fájlt! Ennek kihagyása.</translation>
+ <translation>Nem lehet megnyitni a(z) %1 fájlt! A fájl kihagyása.</translation>
</message>
<message>
+ <location line="+133"/>
<source>The filter %1 is already registered!</source>
<translation>A(z) %1 szűrő már regisztrálva van!</translation>
</message>
<message>
+ <location line="+5"/>
<source>Cannot register filter %1!</source>
- <translation>Nem lehet regisztrálni a(z) %1 szűrőt!</translation>
+ <translation>Az) %1 szűrő regisztrálása sikertelen!</translation>
</message>
<message>
+ <location line="+24"/>
<source>Insert indices...</source>
<translation>Indexek beszúrása...</translation>
</message>
<message>
+ <location line="+91"/>
<source>Insert contents...</source>
<translation>Tartalom beszúrása...</translation>
</message>
<message>
+ <location line="+8"/>
<source>Cannot insert contents!</source>
- <translation>Nem lehet beszúrni a tartalmat!</translation>
+ <translation>A tartalom beszúrása sikertelen!</translation>
</message>
<message>
+ <location line="+12"/>
<source>Cannot register contents!</source>
- <translation>Nem lehet regisztrálni a tartalmat!</translation>
+ <translation>A tartalom regisztrálása sikertelen!</translation>
+ </message>
+ <message>
+ <location line="+56"/>
+ <source>File &apos;%1&apos; does not exist.</source>
+ <translation>A(z) &apos;%1&apos; fájl nem létezik.</translation>
+ </message>
+ <message>
+ <location line="+19"/>
+ <source>File &apos;%1&apos; cannot be opened.</source>
+ <translation>A(z) &apos;%1&apos; nem nyitható meg.</translation>
+ </message>
+ <message>
+ <location line="+19"/>
+ <source>File &apos;%1&apos; contains an invalid link to file &apos;%2&apos;</source>
+ <translation>A(z) &apos;%1&apos; érvénytelen hivatkozást tartalmaz a(z) &apos;%2&apos; fájlra</translation>
+ </message>
+ <message>
+ <location line="+9"/>
+ <source>Invalid links in HTML files.</source>
+ <translation>Érvénytelen hivatkozások a HTML fájlokban.</translation>
+ </message>
+</context>
+<context>
+ <name>QHelpProject</name>
+ <message>
+ <location filename="../tools/assistant/lib/qhelpprojectdata.cpp" line="+88"/>
+ <source>Unknown token.</source>
+ <translation>Ismeretlen token.</translation>
+ </message>
+ <message>
+ <location line="+13"/>
+ <source>Unknown token. Expected &quot;QtHelpProject&quot;!</source>
+ <translation>Ismeretlen token. A várt: &quot;QtHelpProject&quot;!</translation>
+ </message>
+ <message>
+ <location line="+6"/>
+ <source>Error in line %1: %2</source>
+ <translation>Hiba a(z) %1. sorban: %2</translation>
+ </message>
+ <message>
+ <source>A virtual folder must not contain a &apos;/&apos; character!</source>
+ <translation type="obsolete">A virtuális mappa neve nem tartalmazhat &apos;/&apos; karaktert!</translation>
+ </message>
+ <message>
+ <source>A namespace must not contain a &apos;/&apos; character!</source>
+ <translation type="obsolete">A névtér neve nem tartalmazhat &apos;/&apos; karaktert!</translation>
+ </message>
+ <message>
+ <location line="+14"/>
+ <source>Virtual folder has invalid syntax.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+5"/>
+ <source>Namespace has invalid syntax.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+19"/>
+ <source>Missing namespace in QtHelpProject.</source>
+ <translation>Hiányzó névtér a QtHelpProject-ben.</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>Missing virtual folder in QtHelpProject</source>
+ <translation>Hiányzó virtuális mappa a QtHelpProject-ben</translation>
+ </message>
+ <message>
+ <location line="+89"/>
+ <source>Missing attribute in keyword at line %1.</source>
+ <translation>Hiányzó attirbútum a kulcsszóban a(z) %1 sorban.</translation>
+ </message>
+ <message>
+ <location line="+141"/>
+ <source>The input file %1 could not be opened!</source>
+ <translation>A(z) %1 bemeneti fájl megnyitása sikertelen!</translation>
</message>
</context>
<context>
<name>QHelpSearchQueryWidget</name>
<message>
+ <location filename="../tools/assistant/lib/qhelpsearchquerywidget.cpp" line="+124"/>
<source>Search for:</source>
- <translation>Keresés erre:</translation>
+ <translation>Ezt keresi:</translation>
</message>
<message>
+ <location line="+1"/>
<source>Previous search</source>
- <translation>Előző keresése</translation>
+ <translation>Előző találat</translation>
</message>
<message>
+ <location line="+1"/>
<source>Next search</source>
- <translation>Következő keresése</translation>
+ <translation>Következő találat</translation>
</message>
<message>
+ <location line="+1"/>
<source>Search</source>
<translation>Keresés</translation>
</message>
<message>
+ <location line="+2"/>
<source>Advanced search</source>
<translation>Összetett keresés</translation>
</message>
<message>
+ <location line="+1"/>
<source>words &lt;B&gt;similar&lt;/B&gt; to:</source>
- <translation>szavak &lt;B&gt;hasonlóak&lt;/B&gt; ehhez:</translation>
+ <translation>szavak, melyek &lt;B&gt;hasonlóak&lt;/B&gt; ehhez:</translation>
</message>
<message>
+ <location line="+1"/>
<source>&lt;B&gt;without&lt;/B&gt; the words:</source>
<translation>Ezen szavak &lt;B&gt;nélkül&lt;/B&gt;:</translation>
</message>
<message>
+ <location line="+1"/>
<source>with &lt;B&gt;exact phrase&lt;/B&gt;:</source>
<translation>&lt;B&gt;Pontos kifejezés&lt;/B&gt;:</translation>
</message>
<message>
+ <location line="+1"/>
<source>with &lt;B&gt;all&lt;/B&gt; of the words:</source>
<translation>Ezen szavak&lt;B&gt;mindegyikével&lt;/B&gt;:</translation>
</message>
<message>
+ <location line="+1"/>
<source>with &lt;B&gt;at least one&lt;/B&gt; of the words:</source>
<translation>&lt;B&gt;Legalább egy&lt;/B&gt; a következő szavak közül:</translation>
</message>
</context>
<context>
<name>QHelpSearchResultWidget</name>
+ <message numerus="yes">
+ <location filename="../tools/assistant/lib/qhelpsearchresultwidget.cpp" line="+174"/>
+ <source>%1 - %2 of %n Hits</source>
+ <translation>
+ <numerusform>%1 - %2. a(z) %n találatból</numerusform>
+ </translation>
+ </message>
<message>
+ <location line="+61"/>
<source>0 - 0 of 0 Hits</source>
- <translation>0 találat 0 - 0</translation>
+ <translation>0 - 0. a 0 találatból</translation>
</message>
</context>
<context>
<name>QHelpSearchResultWidgetPrivate</name>
<message>
<source>%1 - %2 of %3 Hits</source>
- <translation>%3 Találat %1 - %2</translation>
+ <translation type="obsolete">%1 - %2. a(z) %3 találatból</translation>
</message>
</context>
<context>
<name>QObject</name>
<message>
<source>Unknown token.</source>
- <translation>Ismeretlen jel.</translation>
+ <translation type="obsolete">Ismeretlen token.</translation>
</message>
<message>
<source>Unknown token. Expected &quot;QtHelpProject&quot;!</source>
- <translation>Ismeretlen hel. &quot;QtSegítségProjekt&quot; várt!</translation>
+ <translation type="obsolete">Ismeretlen token. &quot;QtHelpProject&quot; várt!</translation>
</message>
<message>
<source>Error in line %1: %2</source>
- <translation>Hiba a(z) %1 sorban: %2</translation>
+ <translation type="obsolete">Hiba a(z) %1. sorban: %2</translation>
</message>
<message>
<source>A virtual folder must not contain a &apos;/&apos; character!</source>
- <translation>A virtuális dosszié nem tartalmazhat &apos;/&apos; karaktert!</translation>
+ <translation type="obsolete">A virtuális mappa neve nem tartalmazhat &apos;/&apos; karaktert!</translation>
</message>
<message>
<source>A namespace must not contain a &apos;/&apos; character!</source>
- <translation>A névtér nem tartalmazhat &apos;/&apos; karaktert!</translation>
+ <translation type="obsolete">A névtér neve nem tartalmazhat &apos;/&apos; karaktert!</translation>
</message>
<message>
<source>Missing namespace in QtHelpProject.</source>
- <translation>Hiányzó névtér a QtSegítségProjektben.</translation>
+ <translation type="obsolete">Hiányzó névtér a QtHelpProject-ben.</translation>
</message>
<message>
<source>Missing virtual folder in QtHelpProject</source>
- <translation>Hiányzó virtuális dosszié a QtSegítségProjektben</translation>
+ <translation type="obsolete">Hiányzó virtuális mappa a QtHelpProject-ben.</translation>
</message>
<message>
<source>Missing attribute in keyword at line %1.</source>
- <translation>Hiányzó attirbútum a kulcsszóban a(z) %1 sorban.</translation>
+ <translation type="obsolete">Hiányzó attirbútum a kulcsszóban a(z) %1 sorban.</translation>
</message>
<message>
<source>The input file %1 could not be opened!</source>
- <translation>Nem sikerült megnyitni a(z) %1 bemeneti fájlt!</translation>
+ <translation type="obsolete">A(z) %1 bemeneti fájl megnyitása sikertelen!</translation>
</message>
</context>
</TS>
diff --git a/translations/qt_help_pl.ts b/translations/qt_help_pl.ts
index f2eb6c94ec..74555cc4fc 100644
--- a/translations/qt_help_pl.ts
+++ b/translations/qt_help_pl.ts
@@ -43,7 +43,7 @@
</message>
<message>
<location line="+11"/>
- <location line="+49"/>
+ <location line="+52"/>
<source>Cannot open collection file: %1</source>
<translation>Nie można otworzyć pliku z kolekcją: %1</translation>
</message>
@@ -58,12 +58,12 @@
<translation>Plik z kolekcją &quot;%1&quot; już istnieje!</translation>
</message>
<message>
- <location line="+148"/>
+ <location line="+151"/>
<source>Unknown filter &apos;%1&apos;!</source>
<translation>Nieznany filtr &quot;%1&quot;!</translation>
</message>
<message>
- <location line="+105"/>
+ <location line="+103"/>
<source>Invalid documentation file &apos;%1&apos;!</source>
<translation>Niepoprawny plik z dokumentacją &quot;%1&quot;!</translation>
</message>
@@ -78,17 +78,17 @@
<translation>Nie można otworzyć bazy danych &quot;%1&quot; do zoptymalizowania!</translation>
</message>
<message>
- <location line="-438"/>
+ <location line="-439"/>
<source>Cannot create directory: %1</source>
<translation>Nie można utworzyć katalogu: %1</translation>
</message>
<message>
- <location line="+23"/>
+ <location line="+26"/>
<source>Cannot copy collection file: %1</source>
<translation>Nie można skopiować pliku z kolekcją: %1</translation>
</message>
<message>
- <location line="+174"/>
+ <location line="+172"/>
<source>Cannot register filter %1!</source>
<translation>Nie można zarejestrować pliku %1!</translation>
</message>
@@ -120,23 +120,20 @@
<context>
<name>QHelpEngineCore</name>
<message>
- <location filename="../tools/assistant/lib/qhelpenginecore.cpp" line="+525"/>
- <source>The specified namespace does not exist!</source>
- <translation>Podana przestrzeń nazw nie istnieje!</translation>
- </message>
-</context>
-<context>
- <name>QHelpEngineCorePrivate</name>
- <message>
- <location line="-403"/>
+ <location filename="../tools/assistant/lib/qhelpenginecore.cpp" line="+122"/>
<source>Cannot open documentation file %1: %2!</source>
<translation>Nie można otworzyć pliku z dokumentacją %1: %2!</translation>
</message>
+ <message>
+ <location line="+404"/>
+ <source>The specified namespace does not exist!</source>
+ <translation>Podana przestrzeń nazw nie istnieje!</translation>
+ </message>
</context>
<context>
<name>QHelpGenerator</name>
<message>
- <location filename="../tools/assistant/lib/qhelpgenerator.cpp" line="+157"/>
+ <location filename="../tools/assistant/lib/qhelpgenerator.cpp" line="+158"/>
<source>Invalid help data!</source>
<translation>Niepoprawne dane pomocy!</translation>
</message>
@@ -161,7 +158,7 @@
<translation>Nie można otworzyć pliku z bazą danych %1!</translation>
</message>
<message>
- <location line="+11"/>
+ <location line="+14"/>
<source>Cannot register namespace %1!</source>
<translation>Nie można zarejestrować przestrzeni nazw %1!</translation>
</message>
@@ -216,7 +213,7 @@
<translation>Nie można otworzyć pliku %1! Zostaje on opuszczony.</translation>
</message>
<message>
- <location line="+131"/>
+ <location line="+133"/>
<source>The filter %1 is already registered!</source>
<translation>Filtr %1 jest już zarejestrowany!</translation>
</message>
@@ -231,7 +228,7 @@
<translation>Wstaw indeksy...</translation>
</message>
<message>
- <location line="+80"/>
+ <location line="+91"/>
<source>Insert contents...</source>
<translation>Wstaw zawartość...</translation>
</message>
@@ -245,122 +242,143 @@
<source>Cannot register contents!</source>
<translation>Nie można zarejestrować zawartości!</translation>
</message>
+ <message>
+ <location line="+56"/>
+ <source>File &apos;%1&apos; does not exist.</source>
+ <translation>Plik %1 nie istnieje.</translation>
+ </message>
+ <message>
+ <location line="+19"/>
+ <source>File &apos;%1&apos; cannot be opened.</source>
+ <translation>Nie można otworzyć pliku &quot;%1&quot;.</translation>
+ </message>
+ <message>
+ <location line="+19"/>
+ <source>File &apos;%1&apos; contains an invalid link to file &apos;%2&apos;</source>
+ <translation>Plik &quot;%1&quot; zawiera niepoprawny odnośnik do pliku &quot;%2&quot;</translation>
+ </message>
+ <message>
+ <location line="+9"/>
+ <source>Invalid links in HTML files.</source>
+ <translation>Niepoprawne odnośniki w plikach HTML.</translation>
+ </message>
+</context>
+<context>
+ <name>QHelpProject</name>
+ <message>
+ <location filename="../tools/assistant/lib/qhelpprojectdata.cpp" line="+88"/>
+ <source>Unknown token.</source>
+ <translation>Nieznany znak.</translation>
+ </message>
+ <message>
+ <location line="+13"/>
+ <source>Unknown token. Expected &quot;QtHelpProject&quot;!</source>
+ <translation>Nieznany znak. Spodziewano się &quot;QtHelpProject&quot;!</translation>
+ </message>
+ <message>
+ <location line="+6"/>
+ <source>Error in line %1: %2</source>
+ <translation>Błąd w linii %1: %2</translation>
+ </message>
+ <message>
+ <location line="+14"/>
+ <source>Virtual folder has invalid syntax.</source>
+ <translation>Wirtualny katalog posiada niepoprawną składnię.</translation>
+ </message>
+ <message>
+ <location line="+5"/>
+ <source>Namespace has invalid syntax.</source>
+ <translation>Przestrzeń nazw posiada niepoprawną składnię.</translation>
+ </message>
+ <message>
+ <location line="+19"/>
+ <source>Missing namespace in QtHelpProject.</source>
+ <translation>Brak przestrzeni nazw w QtHelpProject.</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>Missing virtual folder in QtHelpProject</source>
+ <translation>Brak wirtualnego katalogu QtHelpProject</translation>
+ </message>
+ <message>
+ <location line="+89"/>
+ <source>Missing attribute in keyword at line %1.</source>
+ <translation>Brak atrybutu w słowie kluczowym w linii %1.</translation>
+ </message>
+ <message>
+ <location line="+141"/>
+ <source>The input file %1 could not be opened!</source>
+ <translation>Nie można otworzyć pliku wejściowego %1!</translation>
+ </message>
</context>
<context>
<name>QHelpSearchQueryWidget</name>
<message>
- <location filename="../tools/assistant/lib/qhelpsearchquerywidget.cpp" line="+411"/>
+ <location filename="../tools/assistant/lib/qhelpsearchquerywidget.cpp" line="+124"/>
<source>Search for:</source>
<translation>Wyszukaj:</translation>
</message>
<message>
- <location line="+5"/>
+ <location line="+1"/>
<source>Previous search</source>
<translation>Poprzednie wyszukiwanie</translation>
</message>
<message>
- <location line="+4"/>
+ <location line="+1"/>
<source>Next search</source>
<translation>Następne wyszukiwanie</translation>
</message>
<message>
- <location line="+2"/>
+ <location line="+1"/>
<source>Search</source>
<translation>Wyszukaj</translation>
</message>
<message>
- <location line="+20"/>
+ <location line="+2"/>
<source>Advanced search</source>
<translation>Wyszukiwanie zaawansowane</translation>
</message>
<message>
- <location line="+18"/>
+ <location line="+1"/>
<source>words &lt;B&gt;similar&lt;/B&gt; to:</source>
<translation>słowa &lt;B&gt;podobne&lt;/B&gt; do:</translation>
</message>
<message>
- <location line="+6"/>
+ <location line="+1"/>
<source>&lt;B&gt;without&lt;/B&gt; the words:</source>
<translation>&lt;B&gt;bez&lt;/B&gt; słów:</translation>
</message>
<message>
- <location line="+6"/>
+ <location line="+1"/>
<source>with &lt;B&gt;exact phrase&lt;/B&gt;:</source>
<translation>z &lt;B&gt;dokładnym wyrażeniem&lt;/B&gt;:</translation>
</message>
<message>
- <location line="+6"/>
+ <location line="+1"/>
<source>with &lt;B&gt;all&lt;/B&gt; of the words:</source>
<translation>ze &lt;B&gt;wszystkimi&lt;/B&gt; słowami:</translation>
</message>
<message>
- <location line="+6"/>
+ <location line="+1"/>
<source>with &lt;B&gt;at least one&lt;/B&gt; of the words:</source>
<translation>z &lt;B&gt;przynajmniej jednym&lt;/B&gt; ze słów:</translation>
</message>
</context>
<context>
<name>QHelpSearchResultWidget</name>
+ <message numerus="yes">
+ <location filename="../tools/assistant/lib/qhelpsearchresultwidget.cpp" line="+174"/>
+ <source>%1 - %2 of %n Hits</source>
+ <translation>
+ <numerusform>%1 - %2 z %n trafienia</numerusform>
+ <numerusform>%1 - %2 z %n trafień</numerusform>
+ <numerusform>%1 - %2 z %n trafień</numerusform>
+ </translation>
+ </message>
<message>
- <location filename="../tools/assistant/lib/qhelpsearchresultwidget.cpp" line="+235"/>
+ <location line="+61"/>
<source>0 - 0 of 0 Hits</source>
<translation>0 - 0 z 0 Trafień</translation>
</message>
</context>
-<context>
- <name>QHelpSearchResultWidgetPrivate</name>
- <message>
- <location line="-61"/>
- <source>%1 - %2 of %3 Hits</source>
- <translation>%1 - %2 z %3 Trafień</translation>
- </message>
-</context>
-<context>
- <name>QObject</name>
- <message>
- <location filename="../tools/assistant/lib/qhelpprojectdata.cpp" line="+85"/>
- <source>Unknown token.</source>
- <translation>Nieznany znak.</translation>
- </message>
- <message>
- <location line="+13"/>
- <source>Unknown token. Expected &quot;QtHelpProject&quot;!</source>
- <translation>Nieznany znak. Spodziewano się &quot;QtHelpProject&quot;!</translation>
- </message>
- <message>
- <location line="+5"/>
- <source>Error in line %1: %2</source>
- <translation>Błąd w linii %1: %2</translation>
- </message>
- <message>
- <location line="+13"/>
- <source>A virtual folder must not contain a &apos;/&apos; character!</source>
- <translation>Wirtualny katalog nie może zawierać znaku &apos;/&apos;!</translation>
- </message>
- <message>
- <location line="+4"/>
- <source>A namespace must not contain a &apos;/&apos; character!</source>
- <translation>Przestrzeń nazw nie może zawierać znaku &apos;/&apos;!</translation>
- </message>
- <message>
- <location line="+16"/>
- <source>Missing namespace in QtHelpProject.</source>
- <translation>Brak przestrzeni nazw w QtHelpProject.</translation>
- </message>
- <message>
- <location line="+2"/>
- <source>Missing virtual folder in QtHelpProject</source>
- <translation>Brak wirtualnego katalogu QtHelpProject</translation>
- </message>
- <message>
- <location line="+88"/>
- <source>Missing attribute in keyword at line %1.</source>
- <translation>Brak atrybutu w słowie kluczowym w linii %1.</translation>
- </message>
- <message>
- <location line="+123"/>
- <source>The input file %1 could not be opened!</source>
- <translation>Nie można otworzyć pliku wejściowego %1!</translation>
- </message>
-</context>
</TS>
diff --git a/translations/qt_help_ru.ts b/translations/qt_help_ru.ts
index 341cf19073..f1aa0fab13 100644
--- a/translations/qt_help_ru.ts
+++ b/translations/qt_help_ru.ts
@@ -34,7 +34,7 @@
<message>
<location filename="../tools/assistant/lib/qhelpcollectionhandler.cpp" line="+79"/>
<source>The collection file &apos;%1&apos; is not set up yet!</source>
- <translation type="unfinished">Файл набора &apos;%1&apos; ещё не установлен!</translation>
+ <translation>Файл коллекции справки &apos;%1&apos; ещё не установлен!</translation>
</message>
<message>
<location line="+23"/>
@@ -43,9 +43,9 @@
</message>
<message>
<location line="+11"/>
- <location line="+49"/>
+ <location line="+52"/>
<source>Cannot open collection file: %1</source>
- <translation type="unfinished">Не удалось открыть файл набора: %1</translation>
+ <translation>Не удалось открыть файл коллекции справки: %1</translation>
</message>
<message>
<location line="-40"/>
@@ -55,15 +55,15 @@
<message>
<location line="+16"/>
<source>The collection file &apos;%1&apos; already exists!</source>
- <translation type="unfinished">Файл набора &apos;%1&apos; уже существует!</translation>
+ <translation>Файл коллекции справки &apos;%1&apos; уже существует!</translation>
</message>
<message>
- <location line="+148"/>
+ <location line="+151"/>
<source>Unknown filter &apos;%1&apos;!</source>
<translation>Неизвестный фильтр &apos;%1&apos;!</translation>
</message>
<message>
- <location line="+105"/>
+ <location line="+103"/>
<source>Invalid documentation file &apos;%1&apos;!</source>
<translation>Некорректный файл документации &apos;%1&apos;!</translation>
</message>
@@ -78,17 +78,17 @@
<translation>Не удалось открыть базу данных &apos;%1&apos; для оптимизации!</translation>
</message>
<message>
- <location line="-438"/>
+ <location line="-439"/>
<source>Cannot create directory: %1</source>
<translation>Не удалось создать каталог: %1</translation>
</message>
<message>
- <location line="+23"/>
+ <location line="+26"/>
<source>Cannot copy collection file: %1</source>
- <translation type="unfinished">Не удалось скопировать файл набора: %1</translation>
+ <translation>Не удалось скопировать файл коллекции справки: %1</translation>
</message>
<message>
- <location line="+174"/>
+ <location line="+172"/>
<source>Cannot register filter %1!</source>
<translation>Не удалось зарегистрировать фильтр %1!</translation>
</message>
@@ -120,23 +120,20 @@
<context>
<name>QHelpEngineCore</name>
<message>
- <location filename="../tools/assistant/lib/qhelpenginecore.cpp" line="+525"/>
- <source>The specified namespace does not exist!</source>
- <translation>Указанное пространство имён не существует!</translation>
- </message>
-</context>
-<context>
- <name>QHelpEngineCorePrivate</name>
- <message>
- <location line="-403"/>
+ <location filename="../tools/assistant/lib/qhelpenginecore.cpp" line="+122"/>
<source>Cannot open documentation file %1: %2!</source>
<translation>Не удалось открыть файл документации %1: %2!</translation>
</message>
+ <message>
+ <location line="+404"/>
+ <source>The specified namespace does not exist!</source>
+ <translation>Указанное пространство имён не существует!</translation>
+ </message>
</context>
<context>
<name>QHelpGenerator</name>
<message>
- <location filename="../tools/assistant/lib/qhelpgenerator.cpp" line="+157"/>
+ <location filename="../tools/assistant/lib/qhelpgenerator.cpp" line="+158"/>
<source>Invalid help data!</source>
<translation>Некорректные данные справки!</translation>
</message>
@@ -161,7 +158,7 @@
<translation>Не удалось открыть файл базы данных %1!</translation>
</message>
<message>
- <location line="+11"/>
+ <location line="+14"/>
<source>Cannot register namespace %1!</source>
<translation>Не удалось зарегистрировать пространство имён %1!</translation>
</message>
@@ -216,7 +213,7 @@
<translation>Не удалось открыть файл %1! Пропускаем.</translation>
</message>
<message>
- <location line="+131"/>
+ <location line="+133"/>
<source>The filter %1 is already registered!</source>
<translation>Фильтр %1 уже зарегистрирован!</translation>
</message>
@@ -231,7 +228,7 @@
<translation>Добавление указателей...</translation>
</message>
<message>
- <location line="+80"/>
+ <location line="+91"/>
<source>Insert contents...</source>
<translation>Добавление оглавления...</translation>
</message>
@@ -245,11 +242,79 @@
<source>Cannot register contents!</source>
<translation>Не удалось зарегистрировать оглавление!</translation>
</message>
+ <message>
+ <location line="+56"/>
+ <source>File &apos;%1&apos; does not exist.</source>
+ <translation>Файл &apos;%1&apos; не существует.</translation>
+ </message>
+ <message>
+ <location line="+19"/>
+ <source>File &apos;%1&apos; cannot be opened.</source>
+ <translation>Невозможно открыть файл &apos;%1&apos;.</translation>
+ </message>
+ <message>
+ <location line="+19"/>
+ <source>File &apos;%1&apos; contains an invalid link to file &apos;%2&apos;</source>
+ <translation>Файл &apos;%1&apos; содержит некорректную ссылку на файл &apos;%2&apos;</translation>
+ </message>
+ <message>
+ <location line="+9"/>
+ <source>Invalid links in HTML files.</source>
+ <translation>В файлах HTML обнаружены некорректные ссылки.</translation>
+ </message>
+</context>
+<context>
+ <name>QHelpProject</name>
+ <message>
+ <location filename="../tools/assistant/lib/qhelpprojectdata.cpp" line="+88"/>
+ <source>Unknown token.</source>
+ <translation>Неизвестный идентификатор.</translation>
+ </message>
+ <message>
+ <location line="+13"/>
+ <source>Unknown token. Expected &quot;QtHelpProject&quot;!</source>
+ <translation>Неизвестный идентификатор. Ожидается &quot;QtHelpProject&quot;!</translation>
+ </message>
+ <message>
+ <location line="+6"/>
+ <source>Error in line %1: %2</source>
+ <translation>Ошибка в строке %1: %2</translation>
+ </message>
+ <message>
+ <location line="+14"/>
+ <source>Virtual folder has invalid syntax.</source>
+ <translation>Виртуальный каталог имеет некорректный синтаксис.</translation>
+ </message>
+ <message>
+ <location line="+5"/>
+ <source>Namespace has invalid syntax.</source>
+ <translation>Пространство имён имеет некорректный синтаксис.</translation>
+ </message>
+ <message>
+ <location line="+19"/>
+ <source>Missing namespace in QtHelpProject.</source>
+ <translation>В QtHelpProject отсутствует пространство имён.</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>Missing virtual folder in QtHelpProject</source>
+ <translation>В QtHelpProject отсутствует виртуальный каталог</translation>
+ </message>
+ <message>
+ <location line="+89"/>
+ <source>Missing attribute in keyword at line %1.</source>
+ <translation>Отсутствует атрибут у ключевого слова в строке %1.</translation>
+ </message>
+ <message>
+ <location line="+141"/>
+ <source>The input file %1 could not be opened!</source>
+ <translation>Невозможно открыть исходный файл %1!</translation>
+ </message>
</context>
<context>
<name>QHelpSearchQueryWidget</name>
<message>
- <location filename="../tools/assistant/lib/qhelpsearchquerywidget.cpp" line="+125"/>
+ <location filename="../tools/assistant/lib/qhelpsearchquerywidget.cpp" line="+124"/>
<source>Search for:</source>
<translation>Искать:</translation>
</message>
@@ -301,66 +366,19 @@
</context>
<context>
<name>QHelpSearchResultWidget</name>
+ <message numerus="yes">
+ <location filename="../tools/assistant/lib/qhelpsearchresultwidget.cpp" line="+174"/>
+ <source>%1 - %2 of %n Hits</source>
+ <translation>
+ <numerusform>%1 - %2 из %n совпадения</numerusform>
+ <numerusform>%1 - %2 из %n совпадений</numerusform>
+ <numerusform>%1 - %2 из %n совпадений</numerusform>
+ </translation>
+ </message>
<message>
- <location filename="../tools/assistant/lib/qhelpsearchresultwidget.cpp" line="+235"/>
+ <location line="+61"/>
<source>0 - 0 of 0 Hits</source>
<translation>0 - 0 из 0 совпадений</translation>
</message>
</context>
-<context>
- <name>QHelpSearchResultWidgetPrivate</name>
- <message>
- <location line="-61"/>
- <source>%1 - %2 of %3 Hits</source>
- <translation>%1 - %2 из %3 совпадений</translation>
- </message>
-</context>
-<context>
- <name>QObject</name>
- <message>
- <location filename="../tools/assistant/lib/qhelpprojectdata.cpp" line="+85"/>
- <source>Unknown token.</source>
- <translation>Неизвестный идентификатор.</translation>
- </message>
- <message>
- <location line="+13"/>
- <source>Unknown token. Expected &quot;QtHelpProject&quot;!</source>
- <translation>Неизвестный идентификатор. Ожидается &quot;QtHelpProject&quot;!</translation>
- </message>
- <message>
- <location line="+5"/>
- <source>Error in line %1: %2</source>
- <translation>Ошибка в строке %1: %2</translation>
- </message>
- <message>
- <location line="+13"/>
- <source>A virtual folder must not contain a &apos;/&apos; character!</source>
- <translation>Виртуальный каталог не должен содержать символ &apos;/&apos;!</translation>
- </message>
- <message>
- <location line="+4"/>
- <source>A namespace must not contain a &apos;/&apos; character!</source>
- <translation>Пространство имён не должно содержать символ &apos;/&apos;!</translation>
- </message>
- <message>
- <location line="+16"/>
- <source>Missing namespace in QtHelpProject.</source>
- <translation>Отсутствует пространство имён в QtHelpProject.</translation>
- </message>
- <message>
- <location line="+2"/>
- <source>Missing virtual folder in QtHelpProject</source>
- <translation>Отсутствует виртуальный каталог в QtHelpProject</translation>
- </message>
- <message>
- <location line="+88"/>
- <source>Missing attribute in keyword at line %1.</source>
- <translation>Отсутствует атрибут у ключевого слова в строке %1.</translation>
- </message>
- <message>
- <location line="+123"/>
- <source>The input file %1 could not be opened!</source>
- <translation>Невозможно открыть исходный файл %1!</translation>
- </message>
-</context>
</TS>
diff --git a/translations/qt_hu.ts b/translations/qt_hu.ts
index ecc9826c29..9ee3b32e50 100644
--- a/translations/qt_hu.ts
+++ b/translations/qt_hu.ts
@@ -2,19 +2,30 @@
<!DOCTYPE TS>
<TS version="2.0" language="hu">
<context>
+ <name>AudioOutput</name>
+ <message>
+ <source>&lt;html&gt;The audio playback device &lt;b&gt;%1&lt;/b&gt; does not work.&lt;br/&gt;Falling back to &lt;b&gt;%2&lt;/b&gt;.&lt;/html&gt;</source>
+ <translation type="obsolete">&lt;html&gt;A hangeszköz &lt;b&gt;%1&lt;/b&gt; most nem használható.&lt;br/&gt;Visszaállás erre: &lt;b&gt;%2&lt;/b&gt;.&lt;/html&gt;</translation>
+ </message>
+ <message>
+ <source>Revert back to device &apos;%1&apos;</source>
+ <translation type="obsolete">Visszaállás a(z) &apos;%1&apos; eszközre</translation>
+ </message>
+</context>
+<context>
<name>CloseButton</name>
<message>
- <location filename="../src/gui/widgets/qtabbar.cpp" line="+2262"/>
+ <location filename="../src/gui/widgets/qtabbar.cpp" line="+2313"/>
<source>Close Tab</source>
- <translation>Lap bezárása</translation>
+ <translation>Fül bezárása</translation>
</message>
</context>
<context>
<name>FakeReply</name>
<message>
- <location filename="../src/3rdparty/webkit/WebKit/qt/tests/qwebframe/tst_qwebframe.cpp" line="+2198"/>
+ <location filename="../src/3rdparty/webkit/WebKit/qt/tests/qwebframe/tst_qwebframe.cpp" line="+2278"/>
<source>Fake error !</source>
- <translation>Hamisítási hiba !</translation>
+ <translation>Teszt hiba !</translation>
</message>
<message>
<location line="+3"/>
@@ -23,11 +34,60 @@
</message>
</context>
<context>
+ <name>MAC_APPLICATION_MENU</name>
+ <message>
+ <location filename="../src/gui/kernel/qapplication.cpp" line="+2346"/>
+ <source>Services</source>
+ <translation>Szolgáltatások</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Hide %1</source>
+ <translation>%1 elrejtése</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Hide Others</source>
+ <translation>Minden más elrejtése</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Show All</source>
+ <translation>Mindet mutat</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Preferences...</source>
+ <translation>Beállítások...</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Quit %1</source>
+ <translation>Kilépés: %1</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>About %1</source>
+ <translation>%1 névjegye</translation>
+ </message>
+</context>
+<context>
+ <name>PPDOptionsModel</name>
+ <message>
+ <source>Name</source>
+ <translation type="obsolete">Név</translation>
+ </message>
+ <message>
+ <source>Value</source>
+ <translation type="obsolete">Érték</translation>
+ </message>
+</context>
+<context>
<name>Phonon::</name>
<message>
<location filename="../src/3rdparty/phonon/phonon/phononnamespace.cpp" line="+55"/>
<source>Notifications</source>
- <translation>Értesítések</translation>
+ <translation>Figyelmeztetések</translation>
</message>
<message>
<location line="+2"/>
@@ -42,7 +102,7 @@
<message>
<location line="+2"/>
<source>Communication</source>
- <translation>Kommunikáció</translation>
+ <translation>Társalgás</translation>
</message>
<message>
<location line="+2"/>
@@ -52,160 +112,502 @@
<message>
<location line="+2"/>
<source>Accessibility</source>
- <translation>Hozzáférhetőség</translation>
+ <translation>Kisegítő lehetőségek</translation>
</message>
</context>
<context>
<name>Phonon::AudioOutput</name>
<message>
- <location filename="../src/3rdparty/phonon/phonon/audiooutput.cpp" line="+385"/>
+ <location filename="../src/3rdparty/phonon/phonon/audiooutput.cpp" line="+444"/>
+ <location line="+34"/>
<source>&lt;html&gt;The audio playback device &lt;b&gt;%1&lt;/b&gt; does not work.&lt;br/&gt;Falling back to &lt;b&gt;%2&lt;/b&gt;.&lt;/html&gt;</source>
- <translation>&lt;html&gt;Az audió visszajátszó eszköz &lt;b&gt;%1&lt;/b&gt; nem működik.&lt;br/&gt;Visszavonul ide: &lt;b&gt;%2&lt;/b&gt;.&lt;/html&gt;</translation>
+ <translation>&lt;html&gt;A hangeszköz &lt;b&gt;%1&lt;/b&gt; most nem használható.&lt;br/&gt;Visszaállítás erre: &lt;b&gt;%2&lt;/b&gt;.&lt;/html&gt;</translation>
</message>
<message>
- <location line="+13"/>
+ <location line="-21"/>
<source>&lt;html&gt;Switching to the audio playback device &lt;b&gt;%1&lt;/b&gt;&lt;br/&gt;which just became available and has higher preference.&lt;/html&gt;</source>
- <translation>&lt;html&gt;Az audió visszajátszó eszközre kapcsolás &lt;b&gt;%1&lt;/b&gt;&lt;br/&gt;amely éppen elérhetővé vált és magasabb prioritása van.&lt;/html&gt;</translation>
+ <translation>&lt;html&gt;Visszaállás a(z)&lt;b&gt;%1&lt;/b&gt;&lt;br/&gt;hangeszközre, mert az újra elérhető, és jobban preferált.&lt;/html&gt;</translation>
</message>
<message>
<location line="+3"/>
+ <location line="+14"/>
<source>Revert back to device &apos;%1&apos;</source>
- <translation>Visszatérés a(z) &apos;%1&apos; eszközre</translation>
+ <translation>Visszaállás a(z) &apos;%1&apos; eszközre</translation>
+ </message>
+ <message>
+ <location line="-3"/>
+ <source>&lt;html&gt;Switching to the audio playback device &lt;b&gt;%1&lt;/b&gt;&lt;br/&gt;which has higher preference or is specifically configured for this stream.&lt;/html&gt;</source>
+ <translation>&lt;html&gt;Visszaállás a(z)&lt;b&gt;%1&lt;/b&gt;&lt;br/&gt;hangeszközre, mert az jobban preferált, vagy kimondottan ehhez a folyamhoz van konfigurálva.&lt;/html&gt;</translation>
</message>
</context>
<context>
<name>Phonon::Gstreamer::Backend</name>
<message>
- <location filename="../src/3rdparty/phonon/gstreamer/backend.cpp" line="+182"/>
+ <location filename="../src/3rdparty/phonon/gstreamer/backend.cpp" line="+188"/>
<source>Warning: You do not seem to have the package gstreamer0.10-plugins-good installed.
Some video features have been disabled.</source>
- <translation>Figyelmeztetés: Úgy tűnik nem telepítette megfelelően a gstreamer0.10-plugins csomagot.
- Néhány videó tulajdonság tiltva van.</translation>
+ <translation>Figyelmeztetés: Úgy tűnik, a gstreamer0.10-plugins-good nincs telepítve.
+ Néhány videóval kapcsolatos lehetőség le lesz tiltva.</translation>
</message>
<message>
<location line="+5"/>
<source>Warning: You do not seem to have the base GStreamer plugins installed.
All audio and video support has been disabled</source>
- <translation>Figyelmeztetés: Úgy tűnik nem telepítette az alap GStreamer beépülő modulokat.
- Az összes audió és videó támogatás tiltva van</translation>
+ <translation>Figyelmeztetés: Úgy tűnik nincs semmilyen GStreamer plugin telepítve.
+ Minden hang és videótámogatás le lesz tiltva</translation>
</message>
</context>
<context>
<name>Phonon::Gstreamer::MediaObject</name>
<message>
- <location filename="../src/3rdparty/phonon/gstreamer/mediaobject.cpp" line="+90"/>
+ <source>Cannot start playback.
+
+Check your Gstreamer installation and make sure you
+have libgstreamer-plugins-base installed.</source>
+ <translation type="obsolete">A lejátszás elindítása sikertelen.
+
+Kérem, ellenőrizze, hogy a libgstreamer-plugins-base
+telepített-e, és a gstreamer beállításai megfelelők-e.</translation>
+ </message>
+ <message>
+ <location filename="../src/3rdparty/phonon/gstreamer/mediaobject.cpp" line="+93"/>
<source>Cannot start playback.
Check your GStreamer installation and make sure you
have libgstreamer-plugins-base installed.</source>
<translation>Nem lehet elindítani a visszajátszást.
-Ellenőrizze le a GStreamer telepítését és győzödjön meg róla, hogy installálta a libgstreamer-plugins-base csomagot.</translation>
+Ellenőrizze le a GStreamer-t és győzödjön meg róla, hogy telepłtette-e a libgstreamer-plugins-base csomagot.</translation>
</message>
<message>
- <location line="+113"/>
+ <location line="+129"/>
+ <source>Missing codec helper script assistant.</source>
+ <translatorcomment>CHECKIT</translatorcomment>
+ <translation type="unfinished">Hiányzó kodek-súgó script.</translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Plugin codec installation failed for codec: %0</source>
+ <translatorcomment>CHECKIT</translatorcomment>
+ <translation type="unfinished">Plugin kodek telepítése sikertelen ehhez a kodekhez: %0</translation>
+ </message>
+ <message>
+ <location line="+11"/>
<source>A required codec is missing. You need to install the following codec(s) to play this content: %0</source>
- <translation>Egy szükséges kódek hiányzik. A következő kódek(ek) telepítése szükséges ennek a tartalomnak a lejátszásához: %0</translation>
+ <translation>Hiányzik egy kodek a lejátszáshoz. Kérem telepítse a következő kodek(eket): %0</translation>
</message>
<message>
- <location line="+702"/>
- <location line="+8"/>
- <location line="+15"/>
- <location line="+26"/>
+ <location line="+730"/>
<location line="+6"/>
- <location line="+19"/>
- <location line="+339"/>
+ <location line="+13"/>
+ <location line="+24"/>
+ <location line="+6"/>
+ <location line="+18"/>
+ <location line="+434"/>
<location line="+24"/>
<source>Could not open media source.</source>
- <translation>Nem sikerült megnyitni a média forrást.</translation>
+ <translation>A médiaforrás megnyitása sikertelen.</translation>
</message>
<message>
- <location line="-424"/>
+ <location line="-514"/>
<source>Invalid source type.</source>
- <translation>Érvénytelen forrás típus.</translation>
+ <translation>Érvénytelen forrás.</translation>
</message>
<message>
- <location line="+398"/>
+ <location line="+488"/>
<source>Could not locate media source.</source>
- <translation>Nem sikerült telepíteni a média forrást.</translation>
+ <translation>A médiaforrás nem található.</translation>
</message>
<message>
<location line="+10"/>
<source>Could not open audio device. The device is already in use.</source>
- <translation>Nem sikerült megnyitni az audió eszközt. Az eszköz már használatban van.</translation>
+ <translation>A hangeszköz megnyitása sikertelen, mert valami már használja.</translation>
</message>
<message>
<location line="+13"/>
<source>Could not decode media source.</source>
- <translation>Nem sikerült dekódolni a forrást.</translation>
+ <translation>A médiaforrás dekódolása sikertelen.</translation>
</message>
</context>
<context>
<name>Phonon::MMF</name>
<message>
- <location filename="../src/3rdparty/phonon/mmf/audiooutput.cpp" line="+108"/>
+ <location filename="../src/3rdparty/phonon/mmf/audiooutput.cpp" line="+103"/>
<source>Audio Output</source>
<translation>Audio kimenet</translation>
</message>
<message>
<location line="+1"/>
<source>The audio output device</source>
- <translation>A kimeneti audió eszköz</translation>
+ <translation>Audio kimenet</translation>
</message>
-</context>
-<context>
- <name>Phonon::MMF::AudioEqualizer</name>
<message>
- <location filename="../src/3rdparty/phonon/mmf/audioequalizer.cpp" line="+75"/>
- <source>Frequency band, %1 Hz</source>
- <translation>Frekvencia sáv, &apos;%1&apos; Hz</translation>
+ <location filename="../src/3rdparty/phonon/mmf/utils.cpp" line="+89"/>
+ <source>No error</source>
+ <translation>Nincs hiba</translation>
</message>
-</context>
-<context>
- <name>Phonon::MMF::EffectFactory</name>
<message>
- <location filename="../src/3rdparty/phonon/mmf/effectfactory.cpp" line="+65"/>
- <source>Audio Equalizer</source>
- <translation>Audió hangszínszabályozó</translation>
+ <location line="+2"/>
+ <source>Not found</source>
+ <translation>Nem található</translation>
</message>
<message>
<location line="+2"/>
- <source>Bass Boost</source>
- <translation>Basszus erősítés</translation>
+ <source>Out of memory</source>
+ <translation>A memória elfogyott</translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Not supported</source>
+ <translation>Nem támogatott</translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Overflow</source>
+ <translation>Túlcsordulás</translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Underflow</source>
+ <translation>Alulcsordulás</translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Already exists</source>
+ <translation>Már létezik</translation>
</message>
<message>
<location line="+2"/>
- <source>Distance Attenuation</source>
- <translation>Távcsillapítás</translation>
+ <source>Path not found</source>
+ <translation>Az útvonal nem található</translation>
</message>
<message>
<location line="+2"/>
+ <source>In use</source>
+ <translation>Használatban van</translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Not ready</source>
+ <translation>Nincs kész</translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Access denied</source>
+ <translation>Hozzáférés megtagadva</translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Could not connect</source>
+ <translation>Nem lehet kapcsolódni</translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Disconnected</source>
+ <translatorcomment>CHECKIT</translatorcomment>
+ <translation type="unfinished">Szétkapcsolva</translation>
+ </message>
+ <message>
<location line="+2"/>
- <source>Environmental Reverb</source>
- <translation>Környezeti visszhang</translation>
+ <source>Permission denied</source>
+ <translation>Hozzáférés megtagadva</translation>
+ </message>
+ <message>
+ <location line="+4"/>
+ <source>Insufficient bandwidth</source>
+ <translation>Elégtelen sávszélesség</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>Network unavailable</source>
+ <translation>A hálózat nem érhető el</translation>
+ </message>
+ <message>
+ <location line="+4"/>
+ <source>Network communication error</source>
+ <translation>Hálózati kommunikációs hiba</translation>
</message>
<message>
<location line="+2"/>
- <source>Loudness</source>
- <translation>Hangosság</translation>
+ <source>Streaming not supported</source>
+ <translation>A streaming nem támogatott</translation>
</message>
<message>
<location line="+2"/>
- <source>Source Orientation</source>
- <translation>Forrás orientáció</translation>
+ <source>Server alert</source>
+ <translation>Szerver probléma</translation>
</message>
<message>
<location line="+2"/>
- <source>Stereo Widening</source>
- <translation>Sztereó szélesség</translation>
+ <source>Invalid protocol</source>
+ <translation>Érvénytelen protokoll</translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Invalid URL</source>
+ <translation>Érvénytelen URL</translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Multicast error</source>
+ <translation>Multicast hiba</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>Proxy server error</source>
+ <translation>Proxy szerver hiba</translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Proxy server not supported</source>
+ <translation>A proxy szerver nem támogatott</translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Audio output error</source>
+ <translation>Hang kimeneti hiba</translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Video output error</source>
+ <translation>Video kimeneti hiba</translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Decoder error</source>
+ <translation>Dekódolási hiba</translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Audio or video components could not be played</source>
+ <translation>A hang vagy a video komponens nem játszható le</translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>DRM error</source>
+ <translation>DRM hiba</translation>
+ </message>
+ <message>
+ <location line="+15"/>
+ <source>Unknown error (%1)</source>
+ <translation>Ismeretlen hiba (%1)</translation>
+ </message>
+</context>
+<context>
+ <name>Phonon::MMF::AbstractMediaPlayer</name>
+ <message>
+ <location filename="../src/3rdparty/phonon/mmf/abstractmediaplayer.cpp" line="+73"/>
+ <source>Not ready to play</source>
+ <translation>Nem tud még lejátszani</translation>
+ </message>
+ <message>
+ <location line="+161"/>
+ <location line="+10"/>
+ <source>Error opening file</source>
+ <translation>Hiba a fájl megnyitásakor</translation>
+ </message>
+ <message>
+ <location line="+4"/>
+ <source>Error opening URL</source>
+ <translation>Hiba az URL megnyitásakor</translation>
+ </message>
+ <message>
+ <location line="+83"/>
+ <source>Setting volume failed</source>
+ <translation>A hangerő beállítása sikertelen</translation>
+ </message>
+ <message>
+ <location line="+45"/>
+ <source>Loading clip failed</source>
+ <translation>A klip betöltése sikertelen</translation>
+ </message>
+ <message>
+ <location line="+24"/>
+ <source>Playback complete</source>
+ <translation>A lejátszás befejeződött</translation>
+ </message>
+</context>
+<context>
+ <name>Phonon::MMF::AbstractVideoPlayer</name>
+ <message>
+ <location filename="../src/3rdparty/phonon/mmf/abstractvideoplayer.cpp" line="+108"/>
+ <source>Pause failed</source>
+ <translation>A megállítás sikertelen</translation>
+ </message>
+ <message>
+ <location line="+16"/>
+ <source>Seek failed</source>
+ <translation>A tekerés sikertelen</translation>
+ </message>
+ <message>
+ <location line="+54"/>
+ <source>Getting position failed</source>
+ <translation>A pozíció lekérése sikertelen</translation>
+ </message>
+ <message>
+ <location line="+66"/>
+ <source>Opening clip failed</source>
+ <translation>A klip megnyitása sikertelen</translation>
+ </message>
+</context>
+<context>
+ <name>Phonon::MMF::AudioEqualizer</name>
+ <message>
+ <location filename="../src/3rdparty/phonon/mmf/audioequalizer.cpp" line="+92"/>
+ <source>%1 Hz</source>
+ <translation>%1 Hz</translation>
+ </message>
+</context>
+<context>
+ <name>Phonon::MMF::AudioPlayer</name>
+ <message>
+ <location filename="../src/3rdparty/phonon/mmf/audioplayer.cpp" line="+173"/>
+ <source>Getting position failed</source>
+ <translation>A pozíció megállapítása sikertelen</translation>
+ </message>
+ <message>
+ <source>Opening clip failed</source>
+ <translation type="obsolete">A klip megnyitása sikertelen</translation>
+ </message>
+</context>
+<context>
+ <name>Phonon::MMF::DsaVideoPlayer</name>
+ <message>
+ <location filename="../src/3rdparty/phonon/mmf/videoplayer_dsa.cpp" line="+238"/>
+ <location line="+15"/>
+ <location line="+8"/>
+ <location line="+22"/>
+ <location line="+22"/>
+ <source>Video display error</source>
+ <translation>Videó megjelenítési hiba</translation>
+ </message>
+</context>
+<context>
+ <name>Phonon::MMF::EffectFactory</name>
+ <message>
+ <location filename="../src/3rdparty/phonon/mmf/effectfactory.cpp" line="+181"/>
+ <source>Enabled</source>
+ <translation>Engedélyezve</translation>
+ </message>
+</context>
+<context>
+ <name>Phonon::MMF::EnvironmentalReverb</name>
+ <message>
+ <location filename="../src/3rdparty/phonon/mmf/environmentalreverb.cpp" line="+146"/>
+ <source>Decay HF ratio (%)</source>
+ <extracomment>DecayHFRatio: Ratio of high-frequency decay time to the value specified by DecayTime.</extracomment>
+ <translation>NF lecsengés arány (%)</translation>
+ </message>
+ <message>
+ <location line="+6"/>
+ <source>Decay time (ms)</source>
+ <extracomment>DecayTime: Time over which reverberation is diminished.</extracomment>
+ <translation>NF lecsengés idő (ms)</translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>Density (%)</source>
+ <extracomment>Density Delay between first and subsequent reflections. Note that the S60 platform documentation does not make clear the distinction between this value and the Diffusion value.</extracomment>
+ <translation>Visszaverődési sűrűség (%)</translation>
+ </message>
+ <message>
+ <location line="+6"/>
+ <source>Diffusion (%)</source>
+ <extracomment>Diffusion: Delay between first and subsequent reflections. Note that the S60 platform documentation does not make clear the distinction between this value and the Density value.</extracomment>
+ <translation>Visszaverődési diffúzió (%)</translation>
+ </message>
+ <message>
+ <location line="+5"/>
+ <source>Reflections delay (ms)</source>
+ <extracomment>ReflectionsDelay: Amount of delay between the arrival the direct path from the source and the arrival of the first reflection.</extracomment>
+ <translation>Visszaverődés késleltetése (ms)</translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>Reflections level (mB)</source>
+ <extracomment>ReflectionsLevel: Amplitude of reflections. This value is corrected by the RoomLevel to give the final reflection amplitude.</extracomment>
+ <translation>Visszaverődés szintje (mB)</translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>Reverb delay (ms)</source>
+ <extracomment>ReverbDelay: Amount of time between arrival of the first reflection and start of the late reverberation.</extracomment>
+ <translation>Visszhang késleltetés (ms)</translation>
+ </message>
+ <message>
+ <location line="+8"/>
+ <source>Reverb level (mB)</source>
+ <extracomment>ReverbLevel Amplitude of reverberations. This value is corrected by the RoomLevel to give the final reverberation amplitude.</extracomment>
+ <translation>Visszhang szint (mB)</translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>Room HF level</source>
+ <extracomment>RoomHFLevel: Amplitude of low-pass filter used to attenuate the high frequency component of reflected sound.</extracomment>
+ <translation>Szoba NF elnyelés szint</translation>
+ </message>
+ <message>
+ <location line="+6"/>
+ <source>Room level (mB)</source>
+ <extracomment>RoomLevel: Master volume control for all reflected sound.</extracomment>
+ <translation>Szoba szint (mB)</translation>
</message>
</context>
<context>
<name>Phonon::MMF::MediaObject</name>
<message>
- <location filename="../src/3rdparty/phonon/mmf/mediaobject.cpp" line="+291"/>
- <source>Media type could not be determined</source>
- <translation>Nem lehetet meghatározni a média típust</translation>
+ <location filename="../src/3rdparty/phonon/mmf/mediaobject.cpp" line="+276"/>
+ <source>Error opening source: type not supported</source>
+ <translation>Hiba a forrás megnyitásakor: a típus nem támogatott</translation>
+ </message>
+ <message>
+ <location line="+18"/>
+ <source>Error opening source: media type could not be determined</source>
+ <translation>Hiba a forrás megnyitásakor: a média típusa nem állapítható meg</translation>
+ </message>
+</context>
+<context>
+ <name>Phonon::MMF::StereoWidening</name>
+ <message>
+ <location filename="../src/3rdparty/phonon/mmf/stereowidening.cpp" line="+79"/>
+ <source>Level (%)</source>
+ <translation>Szint (%)</translation>
+ </message>
+</context>
+<context>
+ <name>Phonon::MMF::SurfaceVideoPlayer</name>
+ <message>
+ <location filename="../src/3rdparty/phonon/mmf/videoplayer_surface.cpp" line="+126"/>
+ <location line="+16"/>
+ <source>Video display error</source>
+ <translation>Videó megjelenítési hiba</translation>
+ </message>
+</context>
+<context>
+ <name>Phonon::MMF::VideoPlayer</name>
+ <message>
+ <source>Pause failed</source>
+ <translation type="obsolete">A megállítás sikertelen</translation>
+ </message>
+ <message>
+ <source>Seek failed</source>
+ <translation type="obsolete">A tekerés sikertelen</translation>
+ </message>
+ <message>
+ <source>Getting position failed</source>
+ <translation type="obsolete">A pozíció megállapłtása sikertelen</translation>
+ </message>
+ <message>
+ <source>Opening clip failed</source>
+ <translation type="obsolete">A klip megnyitása sikertelen</translation>
+ </message>
+ <message>
+ <source>Buffering clip failed</source>
+ <translation type="obsolete">A klip pufferelése sikertelen</translation>
+ </message>
+ <message>
+ <source>Video display error</source>
+ <translation type="obsolete">Videó megjelenítési hiba</translation>
</message>
</context>
<context>
@@ -223,12 +625,12 @@ Ellenőrizze le a GStreamer telepítését és győzödjön meg róla, hogy inst
<location line="+18"/>
<location line="+54"/>
<source>Use this slider to adjust the volume. The leftmost position is 0%, the rightmost is %1%</source>
- <translation>Használja ezt a csúszkát a hangerő szabályozásához. A legbaloldalib pozíció: 0%, a legjobboldalibb %1%</translation>
+ <translation>A csúszka segítségével állíthatja be a hangerőt. A bal szélső pozíció 0%-ot, a jobb szélső %1%-ot jelent</translation>
</message>
<message>
<location line="+67"/>
<source>Muted</source>
- <translation>Elnémított</translation>
+ <translation>Elnémítva</translation>
</message>
</context>
<context>
@@ -241,7 +643,7 @@ Ellenőrizze le a GStreamer telepítését és győzödjön meg róla, hogy inst
<message>
<location line="+36"/>
<source>Ambiguous %1 not handled</source>
- <translation>Félreérthető %1 nincs lekezelve</translation>
+ <translation>A nem egyértelmű %1 nem lesz kezelve</translation>
</message>
</context>
<context>
@@ -275,9 +677,9 @@ Ellenőrizze le a GStreamer telepítését és győzödjön meg róla, hogy inst
<context>
<name>Q3FileDialog</name>
<message>
- <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="+829"/>
+ <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="+835"/>
<source>Copy or Move a File</source>
- <translation>Egy fájl másolása vagy mozgatása</translation>
+ <translation>Fájl másolása vagy áthelyezése</translation>
</message>
<message>
<location line="+8"/>
@@ -294,15 +696,15 @@ Ellenőrizze le a GStreamer telepítését és győzödjön meg róla, hogy inst
<location line="-22"/>
<location line="+1579"/>
<source>Cancel</source>
- <translation>Mégse</translation>
+ <translation>Mégsem</translation>
</message>
<message>
<location line="-157"/>
<location line="+49"/>
<location line="+2149"/>
- <location filename="../src/qt3support/dialogs/q3filedialog_mac.cpp" line="+112"/>
+ <location filename="../src/qt3support/dialogs/q3filedialog_mac.cpp" line="+133"/>
<source>All Files (*)</source>
- <translation>Az összes fájl (*)</translation>
+ <translation>Minden fájl (*)</translation>
</message>
<message>
<location line="-2085"/>
@@ -338,19 +740,19 @@ Ellenőrizze le a GStreamer telepítését és győzödjön meg róla, hogy inst
<message>
<location line="-1987"/>
<source>Look &amp;in:</source>
- <translation>&amp;Benéz:</translation>
+ <translation>Keresés &amp;itt:</translation>
</message>
<message>
<location line="+1"/>
<location line="+1977"/>
<location line="+16"/>
<source>File &amp;name:</source>
- <translation>Fájl &amp;név:</translation>
+ <translation>Fájl &amp;neve:</translation>
</message>
<message>
<location line="-1992"/>
<source>File &amp;type:</source>
- <translation>Fájl &amp;típus:</translation>
+ <translation>Fájl &amp;típusa:</translation>
</message>
<message>
<location line="+7"/>
@@ -360,12 +762,12 @@ Ellenőrizze le a GStreamer telepítését és győzödjön meg róla, hogy inst
<message>
<location line="+7"/>
<source>One directory up</source>
- <translation>Egy könyvtárral kintebb</translation>
+ <translation>Egy szinttel feljebb</translation>
</message>
<message>
<location line="+9"/>
<source>Create New Folder</source>
- <translation>Új mappa létrehozása</translation>
+ <translation>Új könyvtár létrehozása</translation>
</message>
<message>
<location line="+18"/>
@@ -380,17 +782,17 @@ Ellenőrizze le a GStreamer telepítését és győzödjön meg róla, hogy inst
<message>
<location line="+9"/>
<source>Preview File Info</source>
- <translation>Fájl információ előnézet</translation>
+ <translation>Fájlinformációk előnézete</translation>
</message>
<message>
<location line="+19"/>
<source>Preview File Contents</source>
- <translation>Fájl tartalom előnézet</translation>
+ <translation>Fájltartalom előnézete</translation>
</message>
<message>
<location line="+88"/>
<source>Read-write</source>
- <translation>Írás olvasás</translation>
+ <translation>Írható-olvasható</translation>
</message>
<message>
<location line="+1"/>
@@ -405,22 +807,22 @@ Ellenőrizze le a GStreamer telepítését és győzödjön meg róla, hogy inst
<message>
<location line="+1"/>
<source>Inaccessible</source>
- <translation>Hozzáférhetetlen</translation>
+ <translation>Nem elérhető</translation>
</message>
<message>
<location line="+2"/>
<source>Symlink to File</source>
- <translation>Szimlink a fájlra</translation>
+ <translation>Szimbolikus link a fájlra</translation>
</message>
<message>
<location line="+1"/>
<source>Symlink to Directory</source>
- <translation>Szimlink a könyvtárra</translation>
+ <translation>Szimbolikus link a könyvtárra</translation>
</message>
<message>
<location line="+1"/>
<source>Symlink to Special</source>
- <translation>Szimlink egy speciálisra</translation>
+ <translation>Szimbolikus link a speciális fájlra</translation>
</message>
<message>
<location line="+1"/>
@@ -435,7 +837,7 @@ Ellenőrizze le a GStreamer telepítését és győzödjön meg róla, hogy inst
<message>
<location line="+1"/>
<source>Special</source>
- <translation>Speciális</translation>
+ <translation>Speciális fájl</translation>
</message>
<message>
<location line="+704"/>
@@ -461,12 +863,12 @@ Ellenőrizze le a GStreamer telepítését és győzödjön meg róla, hogy inst
<location line="-357"/>
<location line="+341"/>
<source>&amp;Save</source>
- <translation>&amp;Mentés</translation>
+ <translation>Menté&amp;s</translation>
</message>
<message>
<location line="-334"/>
<source>&amp;Rename</source>
- <translation>&amp;Átnevezés</translation>
+ <translation>Át&amp;nevezés</translation>
</message>
<message>
<location line="+1"/>
@@ -476,27 +878,27 @@ Ellenőrizze le a GStreamer telepítését és győzödjön meg róla, hogy inst
<message>
<location line="+20"/>
<source>R&amp;eload</source>
- <translation>&amp;Újratöltés</translation>
+ <translation>B&amp;etöltés újra</translation>
</message>
<message>
<location line="+4"/>
<source>Sort by &amp;Name</source>
- <translation>Rendezés &amp;Név alapján</translation>
+ <translation>Rendezés &amp;név szerint</translation>
</message>
<message>
<location line="+2"/>
<source>Sort by &amp;Size</source>
- <translation>Rendezés &amp;Méret alapján</translation>
+ <translation>Rendezés &amp;méret szerint</translation>
</message>
<message>
<location line="+1"/>
<source>Sort by &amp;Date</source>
- <translation>Rendezés &amp;Dátum alapján</translation>
+ <translation>Rendezés &amp;dátum szerint</translation>
</message>
<message>
<location line="+2"/>
<source>&amp;Unsorted</source>
- <translation>&amp;Rendezetlen</translation>
+ <translation>Nin&amp;cs rendezés</translation>
</message>
<message>
<location line="+15"/>
@@ -521,7 +923,7 @@ Ellenőrizze le a GStreamer telepítését és győzödjön meg róla, hogy inst
<message>
<location line="+2"/>
<source>the symlink</source>
- <translation>a szimlink</translation>
+ <translation>a szimbolikus link</translation>
</message>
<message>
<location line="+3"/>
@@ -531,7 +933,7 @@ Ellenőrizze le a GStreamer telepítését és győzödjön meg róla, hogy inst
<message>
<location line="+1"/>
<source>&lt;qt&gt;Are you sure you wish to delete %1 &quot;%2&quot;?&lt;/qt&gt;</source>
- <translation>&lt;qt&gt;Biztos benne, hogy törölni kívánja a(z) %1 &quot;%2&quot;?&lt;/qt&gt;</translation>
+ <translation>&lt;qt&gt;Biztosan törölni akarja ezt: %1 &quot;%2&quot;?&lt;/qt&gt;</translation>
</message>
<message>
<location line="+2"/>
@@ -546,22 +948,22 @@ Ellenőrizze le a GStreamer telepítését és győzödjön meg róla, hogy inst
<message>
<location line="+36"/>
<source>New Folder 1</source>
- <translation>Új mappa 1</translation>
+ <translation>Új könyvtár 1</translation>
</message>
<message>
<location line="+5"/>
<source>New Folder</source>
- <translation>Új mappa</translation>
+ <translation>Új könyvtár</translation>
</message>
<message>
<location line="+5"/>
<source>New Folder %1</source>
- <translation>Új mappa %1</translation>
+ <translation>Új könyvtár %1</translation>
</message>
<message>
<location line="+98"/>
<source>Find Directory</source>
- <translation>Könyvtár keresése</translation>
+ <translation>Keresés a könyvtárban</translation>
</message>
<message>
<location line="+5"/>
@@ -586,23 +988,23 @@ Ellenőrizze le a GStreamer telepítését és győzödjön meg róla, hogy inst
File not found.
Check path and filename.</source>
<translation>%1
-Fájl nem található
-Útvonal és fájlnév ellenőrzése.</translation>
+A fájl nem található.
+Ellenőrizze a fájl nevét és elérési útját.</translation>
</message>
<message>
<location filename="../src/qt3support/dialogs/q3filedialog_win.cpp" line="-191"/>
<source>All Files (*.*)</source>
- <translation>Az összes fájl (*.*)</translation>
+ <translation>Minden fájl (*.*)</translation>
</message>
<message>
<location line="+264"/>
<source>Open </source>
- <translation>Megnyitás</translation>
+ <translation>Megnyitás </translation>
</message>
<message>
<location line="+107"/>
<source>Select a Directory</source>
- <translation>Egy könyvtár kiválasztása</translation>
+ <translation>Könyvtár kiválasztása</translation>
</message>
</context>
<context>
@@ -612,21 +1014,21 @@ Fájl nem található
<location line="+10"/>
<source>Could not read directory
%1</source>
- <translation>Nem sikerült a könytárat olvasni
+ <translation>A könyvtár nem olvasható:
%1</translation>
</message>
<message>
<location line="+45"/>
<source>Could not create directory
%1</source>
- <translation>Nem sikerült létrehozni a könyvtárat
+ <translation>A könyvtár nem hozható létre:
%1</translation>
</message>
<message>
<location line="+34"/>
<source>Could not remove file or directory
%1</source>
- <translation>Nem sikerült eltávolítani egy fájlt vag könyvtárat
+ <translation>A fájl vagy könyvtár nem törölhető:
%1</translation>
</message>
<message>
@@ -635,23 +1037,23 @@ Fájl nem található
%1
to
%2</source>
- <translation>Nem sikerült átnevezni ezt
+ <translation>Nem nevezhető át
%1
-erre
+erre:
%2</translation>
</message>
<message>
<location line="+25"/>
<source>Could not open
%1</source>
- <translation>Nem sikerült megnyitni
+ <translation>Nem nyitható meg:
%1</translation>
</message>
<message>
<location line="+68"/>
<source>Could not write
%1</source>
- <translation>Nem sikerült írni
+ <translation>Nem írható:
%1</translation>
</message>
</context>
@@ -660,12 +1062,12 @@ erre
<message>
<location filename="../src/qt3support/widgets/q3mainwindow.cpp" line="+2051"/>
<source>Line up</source>
- <translation>Egy sorral feljebb</translation>
+ <translation>Igazítás</translation>
</message>
<message>
<location line="+2"/>
<source>Customize...</source>
- <translation>Egyéni...</translation>
+ <translation>Testreszabás...</translation>
</message>
</context>
<context>
@@ -673,7 +1075,7 @@ erre
<message>
<location filename="../src/qt3support/network/q3networkprotocol.cpp" line="+854"/>
<source>Operation stopped by the user</source>
- <translation>A felhasználó leállította a műveletet</translation>
+ <translation>A műveletet a felhasználó megszakította</translation>
</message>
</context>
<context>
@@ -682,7 +1084,7 @@ erre
<location filename="../src/qt3support/dialogs/q3progressdialog.cpp" line="+224"/>
<location line="+61"/>
<source>Cancel</source>
- <translation>Mégse</translation>
+ <translation>Mégsem</translation>
</message>
</context>
<context>
@@ -696,7 +1098,7 @@ erre
<message>
<location line="-366"/>
<source>Apply</source>
- <translation>Alkalmazza</translation>
+ <translation>Alkalmaz</translation>
</message>
<message>
<location line="+43"/>
@@ -706,12 +1108,12 @@ erre
<message>
<location line="+45"/>
<source>Defaults</source>
- <translation>Alapértelemett</translation>
+ <translation>Alapértelmezések</translation>
</message>
<message>
<location line="+50"/>
<source>Cancel</source>
- <translation>Mégse</translation>
+ <translation>Mégsem</translation>
</message>
</context>
<context>
@@ -724,7 +1126,7 @@ erre
<message>
<location line="+1"/>
<source>&amp;Redo</source>
- <translation>&amp;Helyreállítás</translation>
+ <translation>Új&amp;ra</translation>
</message>
<message>
<location line="+5"/>
@@ -744,13 +1146,13 @@ erre
<message>
<location line="+3"/>
<source>Clear</source>
- <translation>Kiürítés</translation>
+ <translation>Törlés</translation>
</message>
<message>
<location line="+4"/>
<location line="+2"/>
<source>Select All</source>
- <translation>Az összes kiválasztása</translation>
+ <translation>Összes kijelölése</translation>
</message>
</context>
<context>
@@ -763,7 +1165,7 @@ erre
<message>
<location line="+3"/>
<source>Restore up</source>
- <translation>Felállítás</translation>
+ <translation>Visszaállítás</translation>
</message>
<message>
<location line="+1"/>
@@ -773,12 +1175,12 @@ erre
<message>
<location line="+3"/>
<source>Restore down</source>
- <translation>Leállítás</translation>
+ <translation>Előző méret</translation>
</message>
<message>
<location line="+1"/>
<source>Maximize</source>
- <translation>Maximalizálás</translation>
+ <translation>Teljes méret</translation>
</message>
<message>
<location line="+2"/>
@@ -788,37 +1190,41 @@ erre
<message>
<location line="+18"/>
<source>Contains commands to manipulate the window</source>
- <translation>Tartalmazza az ablak manipulációs parancsokat</translation>
+ <translation>Parancsokat tartalmaz az ablak kezeléséhez</translation>
</message>
<message>
<location line="+3"/>
<source>Puts a minimized window back to normal</source>
- <translation>Egy minimalizált ablak normálra visszatétele</translation>
+ <translation>Helyreállítja a kis méretre tett ablakot</translation>
+ </message>
+ <message>
+ <source>Puts a minimized back to normal</source>
+ <translation type="obsolete">A kis méretű ablakot normál méretűre állítja vissza</translation>
</message>
<message>
<location line="+1"/>
<source>Moves the window out of the way</source>
- <translation>Az ablak félreeső helyre mozgatása</translation>
+ <translation>Elmozgatja az ablakot az útból</translation>
</message>
<message>
<location line="+3"/>
<source>Puts a maximized window back to normal</source>
- <translation>Maximalizált ablak normálra visszatétele</translation>
+ <translation>A teljes méretű ablakot normál méretűre állítja vissza</translation>
</message>
<message>
<location line="+1"/>
<source>Makes the window full screen</source>
- <translation>Az ablak maximális méretűvé tétele</translation>
+ <translation>Az ablakot teljes képernyő méretűre növeli</translation>
</message>
<message>
<location line="+2"/>
<source>Closes the window</source>
- <translation>Az ablak bezárása</translation>
+ <translation>Bezárja az ablakot</translation>
</message>
<message>
<location line="+2"/>
<source>Displays the name of the window and contains controls to manipulate it</source>
- <translation>Az ablak nevének megjelenítése és manipuláláshoz szükséges vezérlő elemek tartalmazása</translation>
+ <translation>Megjeleníti az ablak nevét, és kezelőket a megváltoztatásukhoz</translation>
</message>
</context>
<context>
@@ -826,7 +1232,7 @@ erre
<message>
<location filename="../src/qt3support/widgets/q3toolbar.cpp" line="+692"/>
<source>More...</source>
- <translation>További...</translation>
+ <translation>Továbbiak...</translation>
</message>
</context>
<context>
@@ -836,43 +1242,43 @@ erre
<location line="+260"/>
<location line="+4"/>
<source>The protocol `%1&apos; is not supported</source>
- <translation>A(z) &apos;%1&apos; protokoll nem támogatott</translation>
+ <translation>A(z) `%1&apos; protokoll nem támogatott</translation>
</message>
<message>
<location line="-260"/>
<source>The protocol `%1&apos; does not support listing directories</source>
- <translation>A(z) &apos;%1&apos; protokoll nem támogatja a könyvtár listázást</translation>
+ <translation>A(z) `%1&apos; protokoll nem támogatja a könyvtárak tartalmának listázását</translation>
</message>
<message>
<location line="+3"/>
<source>The protocol `%1&apos; does not support creating new directories</source>
- <translation>A(z) &apos;%1&apos; protokoll nem támogatja az új könyvtárak létrehozását</translation>
+ <translation>A(z) `%1&apos; protokoll nem támogatja könyvtárak létrehozását</translation>
</message>
<message>
<location line="+3"/>
<source>The protocol `%1&apos; does not support removing files or directories</source>
- <translation>A(z) &apos;%1&apos; protokoll nem támogatja fájlok vagy könyvtárat áthelyezését</translation>
+ <translation>A(z) &apos;%1&apos; protokoll nem támogatja a fájlok vagy könyvtárak törlését</translation>
</message>
<message>
<location line="+3"/>
<source>The protocol `%1&apos; does not support renaming files or directories</source>
- <translation>A(z) &apos;%1&apos; protokoll nem támogatja fájlok vagy könyvtárat átnevezését</translation>
+ <translation>A(z) &apos;%1&apos; protokoll nem támogatja a fájlok vagy könyvtárak átnevezését</translation>
</message>
<message>
<location line="+3"/>
<source>The protocol `%1&apos; does not support getting files</source>
- <translation>A(z) &apos;%1&apos; protokoll nem támogatja fájlok szerzését</translation>
+ <translation>A(z) &apos;%1&apos; protokoll nem támogatja a fájlok letöltését</translation>
</message>
<message>
<location line="+3"/>
<source>The protocol `%1&apos; does not support putting files</source>
- <translation>A(z) &apos;%1&apos; protokoll nem támogatja fájlok betevését</translation>
+ <translation>A(z) &apos;%1&apos; protokoll nem támogatja a fájlok feltöltését</translation>
</message>
<message>
<location line="+243"/>
<location line="+4"/>
<source>The protocol `%1&apos; does not support copying or moving files or directories</source>
- <translation>A(z) &apos;%1&apos; protokoll nem támogatja fájlok vagy könyvtárak mozgatását vagy másolását</translation>
+ <translation>A(z) &apos;%1&apos; protokoll nem támogatja a fájlok vagy könyvtárak másolását vagy áthelyezését</translation>
</message>
<message>
<location line="+237"/>
@@ -886,7 +1292,7 @@ erre
<message>
<location filename="../src/qt3support/dialogs/q3wizard.cpp" line="+177"/>
<source>&amp;Cancel</source>
- <translation>&amp;Mégse</translation>
+ <translation>&amp;Mégsem</translation>
</message>
<message>
<location line="+1"/>
@@ -912,64 +1318,65 @@ erre
<context>
<name>QAbstractSocket</name>
<message>
- <location filename="../src/network/socket/qabstractsocket.cpp" line="+899"/>
- <location filename="../src/network/socket/qhttpsocketengine.cpp" line="+643"/>
+ <location filename="../src/network/socket/qabstractsocket.cpp" line="+549"/>
+ <location line="+809"/>
+ <location line="+220"/>
+ <source>Operation on socket is not supported</source>
+ <translation>A művelet nem támogatott socketeken</translation>
+ </message>
+ <message>
+ <location line="-662"/>
+ <location filename="../src/network/socket/qhttpsocketengine.cpp" line="+629"/>
<location filename="../src/network/socket/qsocks5socketengine.cpp" line="+661"/>
<location line="+26"/>
<source>Host not found</source>
- <translation>A hoszt nem található</translation>
+ <translation>A kiszolgáló nem található</translation>
</message>
<message>
<location line="+50"/>
<location filename="../src/network/socket/qhttpsocketengine.cpp" line="+3"/>
<location filename="../src/network/socket/qsocks5socketengine.cpp" line="+4"/>
<source>Connection refused</source>
- <translation>A kapcsolódás elutasítva</translation>
+ <translation>A kapcsolat elutasítva</translation>
</message>
<message>
<location line="+142"/>
<source>Connection timed out</source>
- <translation>Kapcsolódási időtúllépés</translation>
+ <translation>A kapcsolat várakozási ideje lejárt</translation>
</message>
<message>
- <location line="-555"/>
- <location line="+805"/>
- <location line="+208"/>
- <source>Operation on socket is not supported</source>
- <translation>A socket művelet nem támogatott</translation>
- </message>
- <message>
- <location line="+200"/>
+ <location filename="../src/network/access/qhttpnetworkconnection.cpp" line="+625"/>
+ <location filename="../src/network/socket/qabstractsocket.cpp" line="+673"/>
<source>Socket operation timed out</source>
<translation>Socket művelet időtúllépés</translation>
</message>
<message>
- <location line="+380"/>
+ <location filename="../src/network/socket/qabstractsocket.cpp" line="+380"/>
<source>Socket is not connected</source>
- <translation>Socket nincs csatlakoztatva</translation>
+ <translation>A socket nem kapcsolódott</translation>
</message>
<message>
<location filename="../src/network/socket/qsocks5socketengine.cpp" line="-8"/>
<source>Network unreachable</source>
- <translation>A hálózat nem elérhető</translation>
+ <translation>A hálózat nem érhető el</translation>
</message>
</context>
<context>
<name>QAbstractSpinBox</name>
<message>
- <location filename="../src/gui/widgets/qabstractspinbox.cpp" line="+1217"/>
+ <location filename="../src/gui/widgets/qabstractspinbox.cpp" line="+1263"/>
<source>&amp;Step up</source>
- <translation>&amp;Növelés</translation>
+ <translation>Lépés &amp;felfelé</translation>
</message>
<message>
<location line="+2"/>
<source>Step &amp;down</source>
- <translation>&amp;Csökkentés</translation>
+ <translation>Lépés &amp;lefelé</translation>
</message>
<message>
<location line="-8"/>
<source>&amp;Select All</source>
- <translation>Az összes &amp;kiválasztása</translation>
+ <translation>Ö&amp;sszes kijelölése</translation>
</message>
</context>
<context>
@@ -977,36 +1384,75 @@ erre
<message>
<location filename="../src/plugins/accessible/widgets/simplewidgets.cpp" line="+250"/>
<source>Press</source>
- <translation>Megnyomás</translation>
+ <translation>Nyomja meg</translation>
+ </message>
+</context>
+<context>
+ <name>QAction</name>
+ <message>
+ <source>Options</source>
+ <translation type="obsolete">Opciók</translation>
+ </message>
+ <message>
+ <source>Select</source>
+ <translation type="obsolete">Kiválasztás</translation>
+ </message>
+ <message>
+ <source>Back</source>
+ <translation type="obsolete">Vissza</translation>
+ </message>
+ <message>
+ <source>Next</source>
+ <translation type="obsolete">Előre</translation>
+ </message>
+ <message>
+ <source>Previous</source>
+ <translation type="obsolete">Előző</translation>
+ </message>
+ <message>
+ <source>Ok</source>
+ <translation type="obsolete">Ok</translation>
+ </message>
+ <message>
+ <source>Cancel</source>
+ <translation type="obsolete">Mégsem</translation>
+ </message>
+ <message>
+ <source>Edit</source>
+ <translation type="obsolete">Szerkesztés</translation>
+ </message>
+ <message>
+ <source>View</source>
+ <translation type="obsolete">Nézet</translation>
</message>
</context>
<context>
<name>QApplication</name>
<message>
- <location filename="../src/gui/kernel/qapplication.cpp" line="+2279"/>
- <source>QT_LAYOUT_DIRECTION</source>
- <comment>Translate this string to the string &apos;LTR&apos; in left-to-right languages or to &apos;RTL&apos; in right-to-left languages (such as Hebrew and Arabic) to get proper widget layout.</comment>
- <translation>QT_LAYOUT_DIRECTION</translation>
+ <location filename="../src/gui/accessible/qaccessibleobject.cpp" line="+376"/>
+ <source>Activate</source>
+ <translation>Aktiválás</translation>
</message>
<message>
<location filename="../src/gui/dialogs/qmessagebox.h" line="+354"/>
<source>Executable &apos;%1&apos; requires Qt %2, found Qt %3.</source>
- <translation>A(z) &apos;%1&apos; futtatható fájl igényli a Qt %2, de Qt %3.-t talált.</translation>
+ <translation>&apos;%1&apos; program Qt %2-t igényel (Qt %3 van telepítve).</translation>
</message>
<message>
<location line="+2"/>
<source>Incompatible Qt Library Error</source>
- <translation>Inkompatibilis Qt könyvtár hiba</translation>
+ <translation>Hiba: inkompatíbilis Qt függvénykönyvtár</translation>
</message>
<message>
- <location filename="../src/gui/accessible/qaccessibleobject.cpp" line="+376"/>
- <source>Activate</source>
- <translation>Aktiválás</translation>
+ <location filename="../src/gui/kernel/qapplication.cpp" line="-13"/>
+ <source>QT_LAYOUT_DIRECTION</source>
+ <comment>Translate this string to the string &apos;LTR&apos; in left-to-right languages or to &apos;RTL&apos; in right-to-left languages (such as Hebrew and Arabic) to get proper widget layout.</comment>
+ <translation>LTR</translation>
</message>
<message>
- <location line="+2"/>
+ <location filename="../src/gui/accessible/qaccessibleobject.cpp" line="+2"/>
<source>Activates the program&apos;s main window</source>
- <translation>A program fő ablakának aktiválása</translation>
+ <translation>Aktívvá teszi a program főablakát</translation>
</message>
</context>
<context>
@@ -1024,12 +1470,12 @@ erre
<message>
<location/>
<source>&amp;Cancel</source>
- <translation>&amp;Mégse</translation>
+ <translation>&amp;Mégsem</translation>
</message>
<message>
<location/>
<source>COM &amp;Object:</source>
- <translation>COM &amp;Objektum:</translation>
+ <translation>COM &amp;objektum:</translation>
</message>
</context>
<context>
@@ -1037,40 +1483,40 @@ erre
<message>
<location filename="../src/plugins/accessible/widgets/simplewidgets.cpp" line="-136"/>
<source>Uncheck</source>
- <translation>Nincs bejelölve</translation>
+ <translation>Kijelölés megszüntetése</translation>
</message>
<message>
<location line="+3"/>
<source>Check</source>
- <translation>Bejelölve</translation>
+ <translation>Kijelölés</translation>
</message>
<message>
<location line="+1"/>
<source>Toggle</source>
- <translation>Kapcsolgatás</translation>
+ <translation>Váltás</translation>
</message>
</context>
<context>
<name>QColorDialog</name>
<message>
- <location filename="../src/gui/dialogs/qcolordialog.cpp" line="+1349"/>
+ <location filename="../src/gui/dialogs/qcolordialog.cpp" line="+1378"/>
<source>Hu&amp;e:</source>
- <translation>&amp;Színárnyalat:</translation>
+ <translation>Á&amp;rnyalat:</translation>
</message>
<message>
<location line="+1"/>
<source>&amp;Sat:</source>
- <translation>&amp;Sat:</translation>
+ <translation>&amp;Telítettség:</translation>
</message>
<message>
<location line="+1"/>
<source>&amp;Val:</source>
- <translation>&amp;Érték:</translation>
+ <translation>&amp;Fényerő:</translation>
</message>
<message>
<location line="+1"/>
<source>&amp;Red:</source>
- <translation>&amp;Piros:</translation>
+ <translation>&amp;Vörös:</translation>
</message>
<message>
<location line="+1"/>
@@ -1090,28 +1536,44 @@ erre
<message>
<location line="+101"/>
<source>Select Color</source>
- <translation>Szín kiválasztása</translation>
+ <translation>Szín választás</translation>
</message>
<message>
- <location line="+180"/>
+ <location line="+183"/>
<source>&amp;Basic colors</source>
- <translation>&amp;Alap színek</translation>
+ <translation>Ala&amp;p színek</translation>
</message>
<message>
<location line="+1"/>
<source>&amp;Custom colors</source>
- <translation>&amp;Egyéni színek</translation>
+ <translation>&amp;Saját színek</translation>
+ </message>
+ <message>
+ <source>&amp;Define Custom Colors &gt;&gt;</source>
+ <translation type="obsolete">Saját színek &amp;megadása &gt;&gt;</translation>
+ </message>
+ <message>
+ <source>OK</source>
+ <translation type="obsolete">OK</translation>
+ </message>
+ <message>
+ <source>Cancel</source>
+ <translation type="obsolete">Mégsem</translation>
</message>
<message>
<location line="+1"/>
<source>&amp;Add to Custom Colors</source>
- <translation>&amp;Egyéni színek hozzáadása</translation>
+ <translation>Hozzá&amp;adás a saját színekhez</translation>
+ </message>
+ <message>
+ <source>Select color</source>
+ <translation type="obsolete">Szín kiválasztása</translation>
</message>
</context>
<context>
<name>QComboBox</name>
<message>
- <location filename="../src/plugins/accessible/widgets/complexwidgets.cpp" line="+1771"/>
+ <location filename="../src/plugins/accessible/widgets/complexwidgets.cpp" line="+1772"/>
<location line="+65"/>
<source>Open</source>
<translation>Megnyitás</translation>
@@ -1135,22 +1597,9 @@ erre
<context>
<name>QCoreApplication</name>
<message>
- <location filename="../src/corelib/kernel/qsystemsemaphore_unix.cpp" line="+119"/>
- <source>%1: key is empty</source>
- <comment>QSystemSemaphore</comment>
- <translation>%1:kulcs üres</translation>
- </message>
- <message>
- <location line="+12"/>
- <source>%1: unable to make key</source>
- <comment>QSystemSemaphore</comment>
- <translation>%1: nem lehet kulcsot csinálni</translation>
- </message>
- <message>
- <location line="+9"/>
- <source>%1: ftok failed</source>
+ <source>%1: permission denied</source>
<comment>QSystemSemaphore</comment>
- <translation>%1: ftok hiba</translation>
+ <translation type="obsolete">%1: hozzáférés megtagadva</translation>
</message>
<message>
<location filename="../src/corelib/kernel/qsystemsemaphore_symbian.cpp" line="+65"/>
@@ -1159,16 +1608,21 @@ erre
<translation>%1: már létezik</translation>
</message>
<message>
+ <source>%1: doesn&apos;t exists</source>
+ <comment>QSystemSemaphore</comment>
+ <translation type="obsolete">%1: nem található</translation>
+ </message>
+ <message>
<location line="+4"/>
<source>%1: does not exist</source>
<comment>QSystemSemaphore</comment>
- <translation>%1: nem létezik</translation>
+ <translation>%1: még nem létezik</translation>
</message>
<message>
<location line="+5"/>
<source>%1: out of resources</source>
<comment>QSystemSemaphore</comment>
- <translation>%1: elfogytak az erőforrások</translation>
+ <translation>%1: az erőforrások elfogytak</translation>
</message>
<message>
<location line="+4"/>
@@ -1176,62 +1630,80 @@ erre
<comment>QSystemSemaphore</comment>
<translation>%1: ismeretlen hiba %2</translation>
</message>
+ <message>
+ <location filename="../src/corelib/kernel/qsystemsemaphore_unix.cpp" line="+119"/>
+ <source>%1: key is empty</source>
+ <comment>QSystemSemaphore</comment>
+ <translation>%1: a kulcs hiányzik</translation>
+ </message>
+ <message>
+ <location line="+12"/>
+ <source>%1: unable to make key</source>
+ <comment>QSystemSemaphore</comment>
+ <translation>%1: a kulcs elkészítése sikertelen</translation>
+ </message>
+ <message>
+ <location line="+9"/>
+ <source>%1: ftok failed</source>
+ <comment>QSystemSemaphore</comment>
+ <translation>%1: ftok hibát adott vissza</translation>
+ </message>
</context>
<context>
<name>QDB2Driver</name>
<message>
- <location filename="../src/sql/drivers/db2/qsql_db2.cpp" line="+1254"/>
+ <location filename="../src/sql/drivers/db2/qsql_db2.cpp" line="+1253"/>
<source>Unable to connect</source>
- <translation>Nem lehet csatlakozni</translation>
+ <translation>Nem sikerült kapcsolódni</translation>
</message>
<message>
<location line="+298"/>
<source>Unable to commit transaction</source>
- <translation>Nem lehet kommitolni a tranzakciót</translation>
+ <translation>A tranzakció nem véglegesíthető</translation>
</message>
<message>
<location line="+17"/>
<source>Unable to rollback transaction</source>
- <translation>Nem lehet visszagörgetni a tranzakciót</translation>
+ <translation>A tranzakció nem görgethető vissza</translation>
</message>
<message>
<location line="+15"/>
<source>Unable to set autocommit</source>
- <translation>Nem lehet beállítani az automatikus kommitolást</translation>
+ <translation>Az automatikus véglegesítés nem állítható be</translation>
</message>
</context>
<context>
<name>QDB2Result</name>
<message>
- <location line="-1031"/>
+ <location line="-1030"/>
<location line="+240"/>
<source>Unable to execute statement</source>
- <translation>Nem lehet végrehajtani a műveletet</translation>
+ <translation>A művelet nem hajtható végre</translation>
</message>
<message>
<location line="-203"/>
<source>Unable to prepare statement</source>
- <translation>Nem lehet felkészülni a műveletre</translation>
+ <translation>A művelet előkészítése nem lehetséges</translation>
</message>
<message>
<location line="+193"/>
<source>Unable to bind variable</source>
- <translation>Nem lehet összekötni a változót</translation>
+ <translation>A változó nem rögzíthető</translation>
</message>
<message>
<location line="+89"/>
<source>Unable to fetch record %1</source>
- <translation>Nem lehet letölteni a(z) %1 felvételt</translation>
+ <translation>A(z) %1. rekord nem olvasható ki</translation>
</message>
<message>
<location line="+19"/>
<source>Unable to fetch next</source>
- <translation>Nem lehet letölteni a következőt</translation>
+ <translation>A következő rekord nem olvasható ki</translation>
</message>
<message>
<location line="+21"/>
<source>Unable to fetch first</source>
- <translation>Nem lehet letölteni az elsőt</translation>
+ <translation>Az első rekord nem érhető el</translation>
</message>
</context>
<context>
@@ -1239,22 +1711,1196 @@ erre
<message>
<location filename="../src/gui/widgets/qdatetimeedit.cpp" line="+2287"/>
<source>AM</source>
- <translation>AM</translation>
+ <translation>DE</translation>
</message>
<message>
<location line="+0"/>
<source>am</source>
- <translation>am</translation>
+ <translation>de</translation>
</message>
<message>
<location line="+2"/>
<source>PM</source>
- <translation>PM</translation>
+ <translation>DU</translation>
</message>
<message>
<location line="+0"/>
<source>pm</source>
- <translation>pm</translation>
+ <translation>du</translation>
+ </message>
+</context>
+<context>
+ <name>QDeclarativeAbstractAnimation</name>
+ <message>
+ <location filename="../src/declarative/util/qdeclarativeanimation.cpp" line="+166"/>
+ <source>Cannot animate non-existent property &quot;%1&quot;</source>
+ <translation>Nem lehet animálni a hiányzó &quot;%1&quot; tulajdonság nélkül</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>Cannot animate read-only property &quot;%1&quot;</source>
+ <translation>Nem lehet animálni a csak olvasható &quot;%1&quot; tulajdonsággal</translation>
+ </message>
+ <message>
+ <location filename="../src/declarative/util/qdeclarativeutilmodule.cpp" line="+122"/>
+ <source>Animation is an abstract class</source>
+ <translation>Az Animation absztrakt osztály</translation>
+ </message>
+</context>
+<context>
+ <name>QDeclarativeAnchorAnimation</name>
+ <message>
+ <location filename="../src/declarative/util/qdeclarativeanimation.cpp" line="+2553"/>
+ <source>Cannot set a duration of &lt; 0</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>QDeclarativeAnchors</name>
+ <message>
+ <location filename="../src/declarative/graphicsitems/qdeclarativeanchors.cpp" line="+180"/>
+ <source>Possible anchor loop detected on fill.</source>
+ <translation>Lehetséges horgony hurok észlelhető egy festésen.</translation>
+ </message>
+ <message>
+ <location line="+29"/>
+ <source>Possible anchor loop detected on centerIn.</source>
+ <translation>Lehetséges horgony hurok észlelhető a középvonalon.</translation>
+ </message>
+ <message>
+ <location line="+201"/>
+ <location line="+34"/>
+ <location line="+610"/>
+ <location line="+37"/>
+ <source>Cannot anchor to an item that isn&apos;t a parent or sibling.</source>
+ <translation>Nem lehet egy olyan elemhez horgonyozni, mely nem szülő vagy gyermek.</translation>
+ </message>
+ <message>
+ <location line="-534"/>
+ <source>Possible anchor loop detected on vertical anchor.</source>
+ <translation>Lehetséges horgony hurok észlelhető egy függőleges horgonyon.</translation>
+ </message>
+ <message>
+ <location line="+59"/>
+ <source>Possible anchor loop detected on horizontal anchor.</source>
+ <translation>Lehetséges horgony hurok észlelhető egy vízszintes horgonyon.</translation>
+ </message>
+ <message>
+ <location line="+422"/>
+ <source>Cannot specify left, right, and hcenter anchors.</source>
+ <translation>Nem lehet egyszerre bal, jobb, és vízszintes közép horgonyokat megadni.</translation>
+ </message>
+ <message>
+ <location line="+10"/>
+ <location line="+37"/>
+ <source>Cannot anchor to a null item.</source>
+ <translation>Nem lehet egy null elemhez horgonyozni.</translation>
+ </message>
+ <message>
+ <location line="-34"/>
+ <source>Cannot anchor a horizontal edge to a vertical edge.</source>
+ <translation>Nem lehet a vízszintes vagy a függőleges szélekhez horgonyozni.</translation>
+ </message>
+ <message>
+ <location line="+6"/>
+ <location line="+37"/>
+ <source>Cannot anchor item to self.</source>
+ <translation>Nem lehet egy elemet önmagához horgonyozni.</translation>
+ </message>
+ <message>
+ <location line="-25"/>
+ <source>Cannot specify top, bottom, and vcenter anchors.</source>
+ <translation>Nem lehet egyszerre felső, alsó, és függőleges közép horgonyokat megadni.</translation>
+ </message>
+ <message>
+ <location line="+6"/>
+ <source>Baseline anchor cannot be used in conjunction with top, bottom, or vcenter anchors.</source>
+ <translation>Alapvonali horgonyt nem lehet összekapcsolni felső, alsó, vagy függőleges közép horgonyokkal.</translation>
+ </message>
+ <message>
+ <location line="+13"/>
+ <source>Cannot anchor a vertical edge to a horizontal edge.</source>
+ <translation>Nem lehet a vízszintes szélt a függőlegeshez horgonyozni.</translation>
+ </message>
+</context>
+<context>
+ <name>QDeclarativeAnimatedImage</name>
+ <message>
+ <location filename="../src/declarative/graphicsitems/qdeclarativeitemsmodule.cpp" line="+86"/>
+ <source>Qt was built without support for QMovie</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>QDeclarativeBehavior</name>
+ <message>
+ <location filename="../src/declarative/util/qdeclarativebehavior.cpp" line="+127"/>
+ <source>Cannot change the animation assigned to a Behavior.</source>
+ <translation>Nem lehet egy Behavior elemhez rendelt animációt módosítani.</translation>
+ </message>
+</context>
+<context>
+ <name>QDeclarativeBinding</name>
+ <message>
+ <location filename="../src/declarative/qml/qdeclarativebinding.cpp" line="+238"/>
+ <source>Binding loop detected for property &quot;%1&quot;</source>
+ <translation>Kötési hurok észlelhető a(z) &quot;%1&quot; tulajdonságon</translation>
+ </message>
+</context>
+<context>
+ <name>QDeclarativeCompiledBindings</name>
+ <message>
+ <location filename="../src/declarative/qml/qdeclarativecompiledbindings.cpp" line="+372"/>
+ <source>Binding loop detected for property &quot;%1&quot;</source>
+ <translation type="unfinished">Kötési hurok észlelhető a(z) &quot;%1&quot; tulajdonságon</translation>
+ </message>
+</context>
+<context>
+ <name>QDeclarativeCompiler</name>
+ <message>
+ <location filename="../src/declarative/qml/qdeclarativecompiler.cpp" line="+186"/>
+ <location line="+1596"/>
+ <location line="+186"/>
+ <location line="+81"/>
+ <location line="+75"/>
+ <location line="+487"/>
+ <source>Invalid property assignment: &quot;%1&quot; is a read-only property</source>
+ <translation>Érvénytelen tulajdonság-hozzárendelés: &quot;%1&quot; egy csak olvasható tulajdonság</translation>
+ </message>
+ <message>
+ <location line="-2416"/>
+ <source>Invalid property assignment: unknown enumeration</source>
+ <translation>Érvénytelen tulajdonság-hozzárendelés: ismeretlen felsorolás</translation>
+ </message>
+ <message>
+ <location line="+8"/>
+ <source>Invalid property assignment: string expected</source>
+ <translation>Érvénytelen tulajdonság-hozzárendelés: szöveges érték szükséges</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>Invalid property assignment: url expected</source>
+ <translation>Érvénytelen tulajdonság-hozzárendelés: URL szükséges</translation>
+ </message>
+ <message>
+ <location line="+10"/>
+ <source>Invalid property assignment: unsigned int expected</source>
+ <translation>Érvénytelen tulajdonság-hozzárendelés: előjel nélküli egész érték szükséges</translation>
+ </message>
+ <message>
+ <location line="+11"/>
+ <source>Invalid property assignment: int expected</source>
+ <translation>Érvénytelen tulajdonság-hozzárendelés: egész érték szükséges</translation>
+ </message>
+ <message>
+ <location line="+4"/>
+ <source>Invalid property assignment: float expected</source>
+ <translation>Érvénytelen tulajdonság-hozzárendelés: lebegőpontos érték szükséges</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>Invalid property assignment: double expected</source>
+ <translation>Érvénytelen tulajdonság-hozzárendelés: duplapontos érték szükséges</translation>
+ </message>
+ <message>
+ <location line="+6"/>
+ <source>Invalid property assignment: color expected</source>
+ <translation>Érvénytelen tulajdonság-hozzárendelés: szín szükséges</translation>
+ </message>
+ <message>
+ <location line="+8"/>
+ <source>Invalid property assignment: date expected</source>
+ <translation>Érvénytelen tulajdonság-hozzárendelés: dátum szükséges</translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>Invalid property assignment: time expected</source>
+ <translation>Érvénytelen tulajdonság-hozzárendelés: idő szükséges</translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>Invalid property assignment: datetime expected</source>
+ <translation>Érvénytelen tulajdonság-hozzárendelés: datetime érték szükséges</translation>
+ </message>
+ <message>
+ <location line="+9"/>
+ <source>Invalid property assignment: point expected</source>
+ <translation>Érvénytelen tulajdonság-hozzárendelés: pont szükséges</translation>
+ </message>
+ <message>
+ <location line="+8"/>
+ <source>Invalid property assignment: size expected</source>
+ <translation>Érvénytelen tulajdonság-hozzárendelés: méret szükséges</translation>
+ </message>
+ <message>
+ <location line="+8"/>
+ <source>Invalid property assignment: rect expected</source>
+ <translation>Érvénytelen tulajdonság-hozzárendelés: téglalap szükséges</translation>
+ </message>
+ <message>
+ <location line="+5"/>
+ <source>Invalid property assignment: boolean expected</source>
+ <translation>Érvénytelen tulajdonság-hozzárendelés: boolean érték szükséges</translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>Invalid property assignment: 3D vector expected</source>
+ <translation>Érvénytelen tulajdonság-hozzárendelés: 3D vektor szükséges</translation>
+ </message>
+ <message>
+ <location line="+9"/>
+ <source>Invalid property assignment: unsupported type &quot;%1&quot;</source>
+ <translation>Érvénytelen tulajdonság-hozzárendelés: nem támogatott típus: &quot;%1&quot;</translation>
+ </message>
+ <message>
+ <location line="+277"/>
+ <source>Element is not creatable.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+618"/>
+ <source>Component elements may not contain properties other than id</source>
+ <translation>A Component elemek nem tartalmazhatnak az id-n kívűl más tulajdonságot</translation>
+ </message>
+ <message>
+ <source>Component elements may not contain script blocks</source>
+ <translation type="obsolete">A Component elemek nem tartalmazhatnak parancsblokkokat</translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>Invalid component id specification</source>
+ <translation>Érvénytelen komponens azonosító megadás</translation>
+ </message>
+ <message>
+ <location line="+6"/>
+ <location line="+478"/>
+ <source>id is not unique</source>
+ <translation>Az azonosító nem egyedi</translation>
+ </message>
+ <message>
+ <location line="-468"/>
+ <source>Invalid component body specification</source>
+ <translation>Érvénytelen komponens-törzs megadás</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>Component objects cannot declare new properties.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Component objects cannot declare new signals.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Component objects cannot declare new functions.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>Cannot create empty component specification</source>
+ <translation>Nem lehet üres komponenst megadni</translation>
+ </message>
+ <message>
+ <source>Invalid Script block. Specify either the source property or inline script</source>
+ <translation type="obsolete">Érvénytelen Script blokk. Adja meg a source tulajdonságot vagy ágyazzon be parancsokat</translation>
+ </message>
+ <message>
+ <source>Invalid Script source value</source>
+ <translation type="obsolete">Érvénytelen Script source érték</translation>
+ </message>
+ <message>
+ <source>Properties cannot be set on Script block</source>
+ <translation type="obsolete">A tulajdonságok nem módosíthatók Script blokkból</translation>
+ </message>
+ <message>
+ <source>Invalid Script block</source>
+ <translation type="obsolete">Érvénytelen Script blokk</translation>
+ </message>
+ <message>
+ <source>Incorrectly specified signal</source>
+ <translation type="obsolete">Hibásan megadott jelzés (signal)</translation>
+ </message>
+ <message>
+ <location line="+105"/>
+ <source>Empty signal assignment</source>
+ <translation>Üres jelzés (signal) hozzárendelés</translation>
+ </message>
+ <message>
+ <location line="+38"/>
+ <source>Empty property assignment</source>
+ <translation>Üres tulajdonság hozzárendelés</translation>
+ </message>
+ <message>
+ <location line="+12"/>
+ <source>Attached properties cannot be used here</source>
+ <translation>A csatolt tulajdonságok nem használhatók</translation>
+ </message>
+ <message>
+ <location line="+15"/>
+ <location line="+102"/>
+ <source>Non-existent attached object</source>
+ <translation>Nem létező csatolt objektum</translation>
+ </message>
+ <message>
+ <location line="-98"/>
+ <location line="+101"/>
+ <source>Invalid attached object assignment</source>
+ <translation>Érvénytelen objektumcsatolás</translation>
+ </message>
+ <message>
+ <location line="-48"/>
+ <source>Cannot assign to non-existent default property</source>
+ <translation>Nem lehet hozzárendelni egy nem létező alapértelmezett tulajdonságot</translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <location line="+352"/>
+ <source>Cannot assign to non-existent property &quot;%1&quot;</source>
+ <translation>Nem lehet hozzárendelni a nem létező &quot;%1&quot; tulajdonságot</translation>
+ </message>
+ <message>
+ <location line="-322"/>
+ <source>Invalid use of namespace</source>
+ <translation>Érvénytelen névtérhasználat</translation>
+ </message>
+ <message>
+ <location line="+5"/>
+ <source>Not an attached property name</source>
+ <translation>Ez nem egy csatolt tulajdonságnév</translation>
+ </message>
+ <message>
+ <location line="+182"/>
+ <source>Invalid use of id property</source>
+ <translation>Az id tulajdonság érvénytelen használata</translation>
+ </message>
+ <message>
+ <source>&quot;%1&quot; is not a valid object id</source>
+ <translation type="obsolete">&quot;%1&quot; nem érvényes objektumazonosító</translation>
+ </message>
+ <message>
+ <source>id conflicts with type name</source>
+ <translation type="obsolete">Az id ütközik a típus nevével</translation>
+ </message>
+ <message>
+ <source>id conflicts with namespace prefix</source>
+ <translation type="obsolete">Az id ütközik a névtér előtaggal</translation>
+ </message>
+ <message>
+ <source>Invalid value in grouped property</source>
+ <translation type="obsolete">Érvénytelen érték a csoportos tulajdonságon</translation>
+ </message>
+ <message>
+ <location line="-357"/>
+ <source>Incorrectly specified signal assignment</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+12"/>
+ <source>Cannot assign a value to a signal (expecting a script to be run)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+434"/>
+ <location line="+2"/>
+ <source>Property has already been assigned a value</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+12"/>
+ <location line="+7"/>
+ <source>Invalid grouped property access</source>
+ <translation>Érvénytelen csoportos tulajdonság-hozzáférés</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>Cannot assign a value directly to a grouped property</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+16"/>
+ <source>Invalid property use</source>
+ <translation>Tulajdonság érvénytelen használata</translation>
+ </message>
+ <message>
+ <location line="+13"/>
+ <source>Property assignment expected</source>
+ <translation>Tulajdonság hozzárendelés szükséges</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>Single property assignment expected</source>
+ <translation>Egyetlen tulajdonság hozzárendelése szükséges</translation>
+ </message>
+ <message>
+ <location line="+5"/>
+ <source>Unexpected object assignment</source>
+ <translation>Váratlan objektum-hozzárendelés</translation>
+ </message>
+ <message>
+ <location line="+57"/>
+ <source>Cannot assign object to list</source>
+ <translation>Nem lehet objektumot listához rendelni</translation>
+ </message>
+ <message>
+ <location line="+6"/>
+ <source>Can only assign one binding to lists</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+6"/>
+ <source>Cannot assign primitives to lists</source>
+ <translation>Nem lehet primitiv típusokat listához rendelni</translation>
+ </message>
+ <message>
+ <location line="+13"/>
+ <source>Cannot assign multiple values to a script property</source>
+ <translation>Nem lehet több értéket rendelni script tulajdonsághoz</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>Invalid property assignment: script expected</source>
+ <translation>Érvénytelen tulajdonság-hozzárendelés: script szükséges</translation>
+ </message>
+ <message>
+ <location line="+105"/>
+ <source>Cannot assign object to property</source>
+ <translatorcomment>CHECKIT</translatorcomment>
+ <translation type="unfinished">Nem lehet objektumot rendelni tulajdonsághoz</translation>
+ </message>
+ <message>
+ <location line="+50"/>
+ <source>&quot;%1&quot; cannot operate on &quot;%2&quot;</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+117"/>
+ <source>Duplicate default property</source>
+ <translatorcomment>CHECKIT</translatorcomment>
+ <translation type="unfinished">Dupla alapértelmezett tulajdonság</translation>
+ </message>
+ <message>
+ <location line="+5"/>
+ <source>Duplicate property name</source>
+ <translatorcomment>CHECKIT</translatorcomment>
+ <translation type="unfinished">Dupla tulajdonságnév</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>Property names cannot begin with an upper case letter</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>Duplicate signal name</source>
+ <translatorcomment>CHECKIT</translatorcomment>
+ <translation type="unfinished">Dupla jelzés név</translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Signal names cannot begin with an upper case letter</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+6"/>
+ <source>Duplicate method name</source>
+ <translatorcomment>CHECKIT</translatorcomment>
+ <translation type="unfinished">Dupla metódus név</translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Method names cannot begin with an upper case letter</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+21"/>
+ <source>Property value set multiple times</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+4"/>
+ <source>Invalid property nesting</source>
+ <translation>Érvénytelen tulajdonság illesztés</translation>
+ </message>
+ <message>
+ <location line="+53"/>
+ <source>Cannot override FINAL property</source>
+ <translation>Nem lehet FINAL tulajdonságot felülbírálni</translation>
+ </message>
+ <message>
+ <location line="+24"/>
+ <source>Invalid property type</source>
+ <translation>Érvénytelen tulajdonság típus</translation>
+ </message>
+ <message>
+ <location line="+159"/>
+ <source>Invalid empty ID</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>IDs cannot start with an uppercase letter</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+6"/>
+ <source>IDs must start with a letter or underscore</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>IDs must contain only letters, numbers, and underscores</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+6"/>
+ <source>ID illegally masks global JavaScript property</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+31"/>
+ <location line="+9"/>
+ <source>No property alias location</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-4"/>
+ <location line="+25"/>
+ <source>Invalid alias location</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-16"/>
+ <source>Invalid alias reference. An alias reference must be specified as &lt;id&gt; or &lt;id&gt;.&lt;property&gt;</source>
+ <translation>Érvénytelen álnév-referencia. Az álnév-referenciának &lt;id&gt; vagy &lt;id&gt;.&lt;property&gt; formátumúnak kell lennie</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>Invalid alias reference. Unable to find id &quot;%1&quot;</source>
+ <translation>Érvénytelen álnév-referencia. A(z) &quot;%1&quot; azonosító nem létezik</translation>
+ </message>
+</context>
+<context>
+ <name>QDeclarativeComponent</name>
+ <message>
+ <location filename="../src/declarative/qml/qdeclarativecomponent.cpp" line="+459"/>
+ <source>Invalid empty URL</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>QDeclarativeCompositeTypeManager</name>
+ <message>
+ <location filename="../src/declarative/qml/qdeclarativecompositetypemanager.cpp" line="+475"/>
+ <location line="+266"/>
+ <source>Resource %1 unavailable</source>
+ <translation>A(z) %1 erőforrás nem érhető el</translation>
+ </message>
+ <message>
+ <location line="-120"/>
+ <source>%1 %2</source>
+ <translation type="unfinished">%1% {1 %2?}</translation>
+ </message>
+ <message>
+ <source>Import %1 unavailable</source>
+ <translation type="obsolete">A(z) %1 import nem érhető el</translation>
+ </message>
+ <message>
+ <location line="-2"/>
+ <source>Namespace %1 cannot be used as a type</source>
+ <translation>A(z) %1 névtér nem használható típusként</translation>
+ </message>
+ <message>
+ <source>%1 is not a type</source>
+ <translation type="obsolete">%1 nem típus</translation>
+ </message>
+ <message>
+ <location line="+49"/>
+ <source>Type %1 unavailable</source>
+ <translation>A(z) %1 típus nem érhető el</translation>
+ </message>
+</context>
+<context>
+ <name>QDeclarativeConnections</name>
+ <message>
+ <location filename="../src/declarative/util/qdeclarativeconnections.cpp" line="+209"/>
+ <location line="+60"/>
+ <source>Cannot assign to non-existent property &quot;%1&quot;</source>
+ <translation>Nem lehet hozzárendelni a nem létező &quot;%1&quot; tulajdonsághoz</translation>
+ </message>
+ <message>
+ <location line="-50"/>
+ <source>Connections: nested objects not allowed</source>
+ <translation>Kapcsolatok: az illesztett objektumok nem engedélyezettek</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>Connections: syntax error</source>
+ <translation>Kapcsolatok: szintakszishiba</translation>
+ </message>
+ <message>
+ <location line="+8"/>
+ <source>Connections: script expected</source>
+ <translation>Kapcsolatok: script szükséges</translation>
+ </message>
+</context>
+<context>
+ <name>QDeclarativeEngine</name>
+ <message>
+ <location filename="../src/declarative/qml/qdeclarativesqldatabase.cpp" line="+204"/>
+ <source>executeSql called outside transaction()</source>
+ <translation>Az executeSql a transaction()-on kívülről lett meghívva</translation>
+ </message>
+ <message>
+ <location line="+58"/>
+ <source>Read-only Transaction</source>
+ <translation>Csak olvasható tranzakció</translation>
+ </message>
+ <message>
+ <location line="+20"/>
+ <source>Version mismatch: expected %1, found %2</source>
+ <translation>Verzió eltérés: várt: %1, kapott: %2</translation>
+ </message>
+ <message>
+ <location line="+14"/>
+ <source>SQL transaction failed</source>
+ <translation>Az SQL tranzakció sikertelen</translation>
+ </message>
+ <message>
+ <location line="+21"/>
+ <source>transaction: missing callback</source>
+ <translation>tranzakció: hiányzó callback</translation>
+ </message>
+ <message>
+ <location line="+57"/>
+ <location line="+16"/>
+ <source>SQL: database version mismatch</source>
+ <translation>SQL: adatbázis verzió eltérés</translation>
+ </message>
+</context>
+<context>
+ <name>QDeclarativeFlipable</name>
+ <message>
+ <location filename="../src/declarative/graphicsitems/qdeclarativeflipable.cpp" line="+127"/>
+ <source>front is a write-once property</source>
+ <translation>a front csak egyszer írható tulajdonság</translation>
+ </message>
+ <message>
+ <location line="+19"/>
+ <source>back is a write-once property</source>
+ <translation>a back csak egyszer írható tulajdonság</translation>
+ </message>
+</context>
+<context>
+ <name>QDeclarativeImportDatabase</name>
+ <message>
+ <location filename="../src/declarative/qml/qdeclarativeimport.cpp" line="+294"/>
+ <source>module &quot;%1&quot; definition &quot;%2&quot; not readable</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+20"/>
+ <source>plugin cannot be loaded for module &quot;%1&quot;: %2</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+5"/>
+ <source>module &quot;%1&quot; plugin &quot;%2&quot; not found</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+79"/>
+ <location line="+55"/>
+ <source>module &quot;%1&quot; version %2.%3 is not installed</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-53"/>
+ <source>module &quot;%1&quot; is not installed</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+14"/>
+ <location line="+19"/>
+ <source>&quot;%1&quot;: no such directory</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-2"/>
+ <source>import &quot;%1&quot; has no qmldir and no namespace</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+46"/>
+ <source>- %1 is not a namespace</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+6"/>
+ <source>- nested namespaces not allowed</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+47"/>
+ <location line="+4"/>
+ <source>local directory</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+6"/>
+ <source>is ambiguous. Found in %1 and in %2</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+4"/>
+ <source>is ambiguous. Found in %1 in version %2.%3 and %4.%5</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+14"/>
+ <source>is instantiated recursively</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>is not a type</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>QDeclarativeInfo</name>
+ <message>
+ <source>unknown location</source>
+ <translation type="obsolete">ismeretlen hely</translation>
+ </message>
+</context>
+<context>
+ <name>QDeclarativeKeyNavigationAttached</name>
+ <message>
+ <location filename="../src/declarative/graphicsitems/qdeclarativeitemsmodule.cpp" line="+70"/>
+ <source>KeyNavigation is only available via attached properties</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>QDeclarativeKeysAttached</name>
+ <message>
+ <location line="+1"/>
+ <source>Keys is only available via attached properties</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>QDeclarativeListModel</name>
+ <message>
+ <location filename="../src/declarative/util/qdeclarativelistmodel.cpp" line="+399"/>
+ <source>remove: index %1 out of range</source>
+ <translation>remove: a(z) %1 index túl nagy</translation>
+ </message>
+ <message>
+ <location line="+33"/>
+ <source>insert: value is not an object</source>
+ <translation>insert: az érték nem objektum</translation>
+ </message>
+ <message>
+ <location line="+5"/>
+ <source>insert: index %1 out of range</source>
+ <translation>insert: a(z) %1 index túl nagy</translation>
+ </message>
+ <message>
+ <location line="+30"/>
+ <source>move: out of range</source>
+ <translation>move: határokon kívül</translation>
+ </message>
+ <message>
+ <location line="+40"/>
+ <source>append: value is not an object</source>
+ <translation>append: az érték nem objektum</translation>
+ </message>
+ <message>
+ <location line="+132"/>
+ <location line="+15"/>
+ <source>ListElement: cannot contain nested elements</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>get: index %1 out of range</source>
+ <translation type="obsolete">get: a(z) %1 index túl nagy</translation>
+ </message>
+ <message>
+ <location line="-92"/>
+ <source>set: value is not an object</source>
+ <translation>set: az érték nem objektum</translation>
+ </message>
+ <message>
+ <location line="+4"/>
+ <location line="+34"/>
+ <source>set: index %1 out of range</source>
+ <translation>set: a(z) %1 index túl nagy</translation>
+ </message>
+ <message>
+ <source>ListElement: cannot use default property</source>
+ <translation type="obsolete">ListElement: nem lehet az alapértelmezett tulajdonságot használni</translation>
+ </message>
+ <message>
+ <location line="+58"/>
+ <source>ListElement: cannot use reserved &quot;id&quot; property</source>
+ <translation>ListElement: nem lehet a lefoglalt &quot;id&quot; tulajdonságot használni</translation>
+ </message>
+ <message>
+ <location line="+49"/>
+ <source>ListElement: cannot use script for property value</source>
+ <translation>ListElement: nem lehet scriptet használni tulajdonság értéknek</translation>
+ </message>
+ <message>
+ <location line="+29"/>
+ <source>ListModel: undefined property &apos;%1&apos;</source>
+ <translation>ListModel: nem definiált tulajdonság: &apos;%1&apos;</translation>
+ </message>
+</context>
+<context>
+ <name>QDeclarativeLoader</name>
+ <message>
+ <location filename="../src/declarative/graphicsitems/qdeclarativeloader.cpp" line="+313"/>
+ <source>Loader does not support loading non-visual elements.</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>QDeclarativeParentAnimation</name>
+ <message>
+ <location filename="../src/declarative/util/qdeclarativeanimation.cpp" line="-169"/>
+ <source>Unable to preserve appearance under complex transform</source>
+ <translation>Nem lehet a kinézetet megőrizni a komplex transzformáció alatt</translation>
+ </message>
+ <message>
+ <location line="+10"/>
+ <location line="+7"/>
+ <source>Unable to preserve appearance under non-uniform scale</source>
+ <translation>Nem lehet a kinézetet megőrizni a nem-uniform skálázás alatt</translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>Unable to preserve appearance under scale of 0</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>QDeclarativeParentChange</name>
+ <message>
+ <location filename="../src/declarative/util/qdeclarativestateoperations.cpp" line="+95"/>
+ <source>Unable to preserve appearance under complex transform</source>
+ <translation type="unfinished">Nem lehet a kinézetet megőrizni a komplex transzformáció alatt</translation>
+ </message>
+ <message>
+ <location line="+10"/>
+ <location line="+7"/>
+ <source>Unable to preserve appearance under non-uniform scale</source>
+ <translation type="unfinished">Nem lehet a kinézetet megőrizni a nem-uniform skálázás alatt</translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>Unable to preserve appearance under scale of 0</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>QDeclarativeParser</name>
+ <message>
+ <location filename="../src/declarative/qml/parser/qdeclarativejslexer.cpp" line="+579"/>
+ <source>Illegal character</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+14"/>
+ <source>Unclosed string at end of line</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+26"/>
+ <source>Illegal escape squence</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-77"/>
+ <location line="+123"/>
+ <location line="+54"/>
+ <source>Illegal unicode escape sequence</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-28"/>
+ <source>Unclosed comment at end of file</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+102"/>
+ <source>Illegal syntax for exponential number</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+26"/>
+ <source>Identifier cannot start with numeric literal</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+338"/>
+ <source>Unterminated regular expression literal</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+15"/>
+ <source>Invalid regular expression flag &apos;%0&apos;</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+16"/>
+ <location line="+22"/>
+ <source>Unterminated regular expression backslash sequence</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+13"/>
+ <source>Unterminated regular expression class</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/declarative/qml/parser/qdeclarativejsparser.cpp" line="+1828"/>
+ <location line="+67"/>
+ <source>Syntax error</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-65"/>
+ <source>Unexpected token `%1&apos;</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+28"/>
+ <location line="+24"/>
+ <source>Expected token `%1&apos;</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/declarative/qml/qdeclarativescriptparser.cpp" line="+271"/>
+ <source>Expected type name</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-11"/>
+ <location line="+431"/>
+ <location line="+59"/>
+ <source>Property value set multiple times</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-343"/>
+ <source>Invalid import qualifier ID</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+8"/>
+ <source>Reserved name &quot;Qt&quot; cannot be used as an qualifier</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+15"/>
+ <source>Script import qualifiers must be unique.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+10"/>
+ <source>Script import requires a qualifier</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+11"/>
+ <source>Library import requires a version</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+59"/>
+ <source>Expected parameter type</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+42"/>
+ <source>Invalid property type modifier</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+9"/>
+ <source>Unexpected property type modifier</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+9"/>
+ <source>Expected property type</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+9"/>
+ <source>Readonly not yet supported</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+215"/>
+ <source>JavaScript declaration outside Script element</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>QDeclarativePauseAnimation</name>
+ <message>
+ <location filename="../src/declarative/util/qdeclarativeanimation.cpp" line="-1977"/>
+ <source>Cannot set a duration of &lt; 0</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>QDeclarativePixmapCache</name>
+ <message>
+ <location filename="../src/declarative/util/qdeclarativepixmapcache.cpp" line="+190"/>
+ <source>Error decoding: %1: %2</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+70"/>
+ <source>Failed to get image from provider: %1</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+19"/>
+ <location line="+345"/>
+ <source>Cannot open: %1</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+37"/>
+ <source>Unknown Error loading %1</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>QDeclarativePropertyAnimation</name>
+ <message>
+ <location filename="../src/declarative/util/qdeclarativeanimation.cpp" line="+1102"/>
+ <source>Cannot set a duration of &lt; 0</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>QDeclarativePropertyChanges</name>
+ <message>
+ <location filename="../src/declarative/util/qdeclarativepropertychanges.cpp" line="+267"/>
+ <source>PropertyChanges does not support creating state-specific objects.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+157"/>
+ <source>Cannot assign to non-existent property &quot;%1&quot;</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>Cannot assign to read-only property &quot;%1&quot;</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>QDeclarativeTextInput</name>
+ <message>
+ <location filename="../src/declarative/graphicsitems/qdeclarativetextinput.cpp" line="+793"/>
+ <location line="+8"/>
+ <source>Could not load cursor delegate</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+11"/>
+ <source>Could not instantiate cursor delegate</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>QDeclarativeVME</name>
+ <message>
+ <location filename="../src/declarative/qml/qdeclarativevme.cpp" line="+194"/>
+ <source>Unable to create object of type %1</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+390"/>
+ <source>Cannot assign value %1 to property %2</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+22"/>
+ <source>Cannot assign object type %1 with no default method</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>Cannot connect mismatched signal/slot %1 %vs. %2</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+5"/>
+ <source>Cannot assign an object to signal property %1</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+146"/>
+ <source>Cannot assign object to list</source>
+ <translation type="unfinished">Nem lehet objektumot listához rendelni</translation>
+ </message>
+ <message>
+ <location line="+41"/>
+ <source>Cannot assign object to interface property</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+11"/>
+ <source>Unable to create attached object</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+32"/>
+ <source>Cannot set properties on %1 as it is null</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>QDeclarativeVisualDataModel</name>
+ <message>
+ <location filename="../src/declarative/graphicsitems/qdeclarativevisualitemmodel.cpp" line="+1088"/>
+ <source>Delegate component must be Item type.</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>QDeclarativeXmlListModel</name>
+ <message>
+ <location filename="../src/declarative/util/qdeclarativeutilmodule.cpp" line="-12"/>
+ <location line="+2"/>
+ <source>Qt was built without support for xmlpatterns</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>QDeclarativeXmlListModelRole</name>
+ <message>
+ <location filename="../src/declarative/util/qdeclarativexmllistmodel_p.h" line="+174"/>
+ <source>An XmlRole query must not start with &apos;/&apos;</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>QDeclarativeXmlRoleList</name>
+ <message>
+ <location filename="../src/declarative/util/qdeclarativexmllistmodel.cpp" line="+712"/>
+ <source>An XmlListModel query must start with &apos;/&apos; or &quot;//&quot;</source>
+ <translation type="unfinished"></translation>
</message>
</context>
<context>
@@ -1262,28 +2908,28 @@ erre
<message>
<location filename="../src/plugins/accessible/widgets/rangecontrols.cpp" line="+951"/>
<source>QDial</source>
- <translation>QDial</translation>
+ <translation></translation>
</message>
<message>
<location line="+2"/>
<source>SpeedoMeter</source>
- <translation>Sebességmérő</translation>
+ <translation></translation>
</message>
<message>
<location line="+2"/>
<source>SliderHandle</source>
- <translation>CsúszkaKezelő</translation>
+ <translation></translation>
</message>
</context>
<context>
<name>QDialog</name>
<message>
- <location filename="../src/gui/dialogs/qdialog.cpp" line="+636"/>
+ <location filename="../src/gui/dialogs/qdialog.cpp" line="+645"/>
<source>What&apos;s This?</source>
<translation>Mi ez?</translation>
</message>
<message>
- <location line="-135"/>
+ <location line="-122"/>
<source>Done</source>
<translation>Kész</translation>
</message>
@@ -1291,9 +2937,9 @@ erre
<context>
<name>QDialogButtonBox</name>
<message>
- <location filename="../src/gui/dialogs/qmessagebox.cpp" line="+1872"/>
+ <location filename="../src/gui/dialogs/qmessagebox.cpp" line="+1920"/>
<location line="+464"/>
- <location filename="../src/gui/widgets/qdialogbuttonbox.cpp" line="+622"/>
+ <location filename="../src/gui/widgets/qdialogbuttonbox.cpp" line="+649"/>
<source>OK</source>
<translation>OK</translation>
</message>
@@ -1305,7 +2951,7 @@ erre
<message>
<location line="+0"/>
<source>&amp;Save</source>
- <translation>&amp;Mentés</translation>
+ <translation>Menté&amp;s</translation>
</message>
<message>
<location line="+3"/>
@@ -1315,12 +2961,12 @@ erre
<message>
<location line="+3"/>
<source>Cancel</source>
- <translation>Mégse</translation>
+ <translation>Mégsem</translation>
</message>
<message>
<location line="+0"/>
<source>&amp;Cancel</source>
- <translation>&amp;Mégse</translation>
+ <translation>&amp;Mégsem</translation>
</message>
<message>
<location line="+3"/>
@@ -1335,12 +2981,12 @@ erre
<message>
<location line="+3"/>
<source>Apply</source>
- <translation>Alkalmazza</translation>
+ <translation>Alkalmaz</translation>
</message>
<message>
<location line="+3"/>
<source>Reset</source>
- <translation>Visszaállítás</translation>
+ <translation>Törlés</translation>
</message>
<message>
<location line="+3"/>
@@ -1350,12 +2996,12 @@ erre
<message>
<location line="+4"/>
<source>Don&apos;t Save</source>
- <translation>Ne mentse</translation>
+ <translation>Nincs mentés</translation>
</message>
<message>
<location line="+4"/>
<source>Discard</source>
- <translation>Eldob</translation>
+ <translation>Elvetés</translation>
</message>
<message>
<location line="+3"/>
@@ -1365,7 +3011,7 @@ erre
<message>
<location line="+3"/>
<source>Yes to &amp;All</source>
- <translation>Igen az &amp;összesre</translation>
+ <translation>&amp;Mindent elfogad</translation>
</message>
<message>
<location line="+3"/>
@@ -1375,12 +3021,12 @@ erre
<message>
<location line="+3"/>
<source>N&amp;o to All</source>
- <translation>&amp;Nem az összesre</translation>
+ <translation>Mindent &amp;kihagy</translation>
</message>
<message>
<location line="+3"/>
<source>Save All</source>
- <translation>Az összes mentése</translation>
+ <translation>Mindet menti</translation>
</message>
<message>
<location line="+3"/>
@@ -1390,17 +3036,17 @@ erre
<message>
<location line="+3"/>
<source>Retry</source>
- <translation>Újra próbálkozás</translation>
+ <translation>Újra</translation>
</message>
<message>
<location line="+3"/>
<source>Ignore</source>
- <translation>Mellőzés</translation>
+ <translation>Kihagyás</translation>
</message>
<message>
<location line="+3"/>
<source>Restore Defaults</source>
- <translation>Alapértelemezett beállítások visszaállítása</translation>
+ <translation>Alapértelmezések visszaállítása</translation>
</message>
<message>
<location line="-29"/>
@@ -1429,7 +3075,7 @@ erre
<location line="+3"/>
<source>Kind</source>
<comment>Match OS X Finder</comment>
- <translation>Fajta</translation>
+ <translation>Kind</translation>
</message>
<message>
<location line="+2"/>
@@ -1440,7 +3086,7 @@ erre
<message>
<location line="+6"/>
<source>Date Modified</source>
- <translation>Dátum módosítva</translation>
+ <translation>Módosítás dátuma</translation>
</message>
</context>
<context>
@@ -1453,12 +3099,12 @@ erre
<message>
<location line="+2"/>
<source>Dock</source>
- <translation>Dokkolás</translation>
+ <translation></translation>
</message>
<message>
<location line="+1"/>
<source>Float</source>
- <translation>Lebegtetés</translation>
+ <translation></translation>
</message>
</context>
<context>
@@ -1477,17 +3123,7 @@ erre
<context>
<name>QErrorMessage</name>
<message>
- <location filename="../src/gui/dialogs/qerrormessage.cpp" line="+414"/>
- <source>&amp;Show this message again</source>
- <translation>Az üzenet újbóli &amp;megjelenítése</translation>
- </message>
- <message>
- <location line="+1"/>
- <source>&amp;OK</source>
- <translation>&amp;OK</translation>
- </message>
- <message>
- <location line="-207"/>
+ <location filename="../src/gui/dialogs/qerrormessage.cpp" line="+208"/>
<source>Debug Message:</source>
<translation>Debug üzenet:</translation>
</message>
@@ -1501,110 +3137,112 @@ erre
<source>Fatal Error:</source>
<translation>Végzetes hiba:</translation>
</message>
+ <message>
+ <location line="+200"/>
+ <source>&amp;Show this message again</source>
+ <translation>Üzenet megjelenítése i&amp;smét</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>&amp;OK</source>
+ <translation>&amp;OK</translation>
+ </message>
</context>
<context>
<name>QFile</name>
<message>
- <location filename="../src/corelib/io/qfile.cpp" line="+697"/>
+ <location filename="../src/corelib/io/qfile.cpp" line="+703"/>
<location line="+155"/>
<source>Destination file exists</source>
- <translation>A cél fájl létezik</translation>
+ <translation>A célfájl már létezik</translation>
</message>
<message>
<location line="-140"/>
<source>Will not rename sequential file using block copy</source>
- <translation>Blokkos másolásnál nem lesznek átnevezve az egymást követő fájlok</translation>
+ <translation>A szekvenciális fájlok nem nevezhetők át másolással</translation>
</message>
<message>
<location line="+23"/>
<source>Cannot remove source file</source>
- <translation>Nem lehet a forrás fájlt eltávolítani</translation>
+ <translation>A forrás nem törölhető</translation>
</message>
<message>
<location line="+130"/>
<source>Cannot open %1 for input</source>
- <translation>Nem lehet megnyitni %1-t bementre</translation>
+ <translation>A(z) %1 nem nyitható meg bemenetként</translation>
</message>
<message>
<location line="+17"/>
<source>Cannot open for output</source>
- <translation>Nem lehet megnyitni a kimenetre</translation>
+ <translation>Nem nyitható meg kimenetként</translation>
</message>
<message>
<location line="+10"/>
<source>Failure to write block</source>
- <translation>Hiba történt a blokk írás közben</translation>
+ <translation>Hiba a blokk írásakor</translation>
</message>
<message>
<location line="+13"/>
<source>Cannot create %1 for output</source>
- <translation>Nem lehet létrehozni a(z) %1-t kimenetre</translation>
+ <translation>A(z) %1 nem hozható létre</translation>
</message>
</context>
<context>
<name>QFileDialog</name>
<message>
<location filename="../src/gui/dialogs/qfiledialog.cpp" line="+558"/>
- <location line="+450"/>
+ <location line="+481"/>
<source>All Files (*)</source>
- <translation>Az összes fájl (*)</translation>
- </message>
- <message>
- <location filename="../src/gui/dialogs/qfiledialog.ui"/>
- <location filename="../src/gui/dialogs/qfiledialog_embedded.ui"/>
- <source>Back</source>
- <translation>Vissza</translation>
+ <translation>Minden fájl (*)</translation>
</message>
<message>
- <location/>
- <location filename="../src/gui/dialogs/qfiledialog_embedded.ui"/>
- <source>List View</source>
- <translation>Lista nézet</translation>
+ <location line="+216"/>
+ <source>Directories</source>
+ <translation>Könyvtárak</translation>
</message>
<message>
- <location/>
- <location filename="../src/gui/dialogs/qfiledialog_embedded.ui"/>
- <source>Detail View</source>
- <translation>Részletes nézet</translation>
+ <location line="-3"/>
+ <location line="+55"/>
+ <location line="+1532"/>
+ <source>&amp;Open</source>
+ <translation>&amp;Megnyitás</translation>
</message>
<message>
- <location filename="../src/gui/itemviews/qfileiconprovider.cpp" line="+464"/>
- <location line="+1"/>
- <source>File</source>
- <translation>Fájl</translation>
+ <location line="-1587"/>
+ <location line="+55"/>
+ <source>&amp;Save</source>
+ <translation>Menté&amp;s</translation>
</message>
<message>
- <location filename="../src/gui/dialogs/qfiledialog.cpp" line="-467"/>
+ <location line="-766"/>
<source>Open</source>
<translation>Megnyitás</translation>
</message>
<message>
- <location line="+2"/>
- <source>Save As</source>
- <translation>Mentés másként</translation>
- </message>
- <message>
- <location line="+689"/>
- <location line="+50"/>
- <location line="+1528"/>
- <source>&amp;Open</source>
- <translation>&amp;Megnyitás</translation>
+ <location line="+1537"/>
+ <source>%1 already exists.
+Do you want to replace it?</source>
+ <translation>%1 már létezik.
+Lecseréli?</translation>
</message>
<message>
- <location line="-1578"/>
- <location line="+50"/>
- <source>&amp;Save</source>
- <translation>&amp;Mentés</translation>
+ <location line="+20"/>
+ <source>%1
+File not found.
+Please verify the correct file name was given.</source>
+ <translation>%1
+A fájl nem található.
+Ellenőrizze, hogy jól adta-e meg a fájl nevét.</translation>
</message>
<message>
- <location line="+1801"/>
- <source>Recent Places</source>
- <translation>Utolsó helyek</translation>
+ <location filename="../src/gui/itemviews/qdirmodel.cpp" line="+402"/>
+ <source>My Computer</source>
+ <translation>Számítógép</translation>
</message>
<message>
- <location line="-2511"/>
+ <location filename="../src/gui/dialogs/qfiledialog.cpp" line="-1526"/>
<source>&amp;Rename</source>
- <translation>&amp;Átnevezés</translation>
+ <translation>Át&amp;nevezés</translation>
</message>
<message>
<location line="+1"/>
@@ -1617,101 +3255,107 @@ erre
<translation>&amp;Rejtett fájlok megjelenítése</translation>
</message>
<message>
- <location line="+1957"/>
- <source>New Folder</source>
- <translation>Új mappa</translation>
+ <location filename="../src/gui/dialogs/qfiledialog.ui"/>
+ <location filename="../src/gui/dialogs/qfiledialog_embedded.ui"/>
+ <source>Back</source>
+ <translation>Vissza</translation>
</message>
<message>
- <location line="-1992"/>
- <source>Find Directory</source>
- <translation>Könyvtár keresése</translation>
+ <location/>
+ <location filename="../src/gui/dialogs/qfiledialog_embedded.ui"/>
+ <source>Parent Directory</source>
+ <translation>Szülőkönyvtár</translation>
</message>
<message>
- <location line="+696"/>
- <source>Directories</source>
- <translation>Könyvtárak</translation>
+ <location/>
+ <location filename="../src/gui/dialogs/qfiledialog_embedded.ui"/>
+ <source>List View</source>
+ <translation>Lista nézet</translation>
</message>
<message>
- <location filename="../src/gui/dialogs/qfiledialog_win.cpp" line="+174"/>
- <source>All Files (*.*)</source>
- <translation>Az összes fájl (*.*)</translation>
+ <location/>
+ <location filename="../src/gui/dialogs/qfiledialog_embedded.ui"/>
+ <source>Detail View</source>
+ <translation>Részletes nézet</translation>
</message>
<message>
- <location filename="../src/gui/dialogs/qfiledialog.cpp" line="-655"/>
- <location line="+659"/>
- <source>Directory:</source>
- <translation>Könyvtár:</translation>
+ <location/>
+ <location filename="../src/gui/dialogs/qfiledialog_embedded.ui"/>
+ <source>Files of type:</source>
+ <translation>Fájlok típusa:</translation>
</message>
<message>
- <location line="+810"/>
- <source>%1 already exists.
-Do you want to replace it?</source>
- <translation>A(z) %1 már létezik.
-Szeretné lecserélni?</translation>
+ <location filename="../src/gui/dialogs/qfiledialog.cpp" line="+6"/>
+ <location line="+679"/>
+ <source>Directory:</source>
+ <translation>Könyvtár:</translation>
</message>
<message>
- <location line="+20"/>
- <source>%1
+ <source>
File not found.
-Please verify the correct file name was given.</source>
- <translation>%1
-Fájl nem található.
-Kérem ellenőrizze, hogy helyes fájlnevet adott meg.</translation>
- </message>
- <message>
- <location filename="../src/gui/itemviews/qdirmodel.cpp" line="+402"/>
- <source>My Computer</source>
- <translation>Sajátgép</translation>
- </message>
- <message>
- <location filename="../src/gui/dialogs/qfiledialog.ui"/>
- <location filename="../src/gui/dialogs/qfiledialog_embedded.ui"/>
- <source>Parent Directory</source>
- <translation>Szülő könyvtár</translation>
- </message>
- <message>
- <location/>
- <location filename="../src/gui/dialogs/qfiledialog_embedded.ui"/>
- <source>Files of type:</source>
- <translation>Típusfájlok:</translation>
+Please verify the correct file name was given</source>
+ <translation type="obsolete">
+A fájl nem található.
+Ellenőrizze, hogy jól adta-e meg a fájl nevét</translation>
</message>
<message>
- <location filename="../src/gui/dialogs/qfiledialog.cpp" line="-54"/>
+ <location line="+785"/>
<location line="+862"/>
<source>%1
Directory not found.
Please verify the correct directory name was given.</source>
<translation>%1
A könyvtár nem található.
-Kérem ellenőrizze le, hogy helyes könyvtár nevet adott meg.</translation>
+Ellenőrizze, hogy jól adta-e meg a könyvtár nevét.</translation>
</message>
<message>
<location line="-218"/>
<source>&apos;%1&apos; is write protected.
Do you want to delete it anyway?</source>
- <translation>A(z) &apos;%1&apos; írásvédett.
-Mégis törölni szeretné?</translation>
+ <translation>&apos;%1&apos; írásvédett.
+Biztosan törölni akarja?</translation>
</message>
<message>
<location line="+5"/>
<source>Are sure you want to delete &apos;%1&apos;?</source>
- <translation>Törölni szeretné &apos;%1&apos;?</translation>
+ <translation>Biztosan törölni akarja &apos;%1&apos;-t?</translation>
</message>
<message>
<location line="+15"/>
<source>Could not delete directory.</source>
- <translation>Nem sikerült törölni a könyvtárat.</translation>
+ <translation>A könyvtár nem törölhető.</translation>
+ </message>
+ <message>
+ <location line="+404"/>
+ <source>Recent Places</source>
+ <translation>Legutóbbi helyek</translation>
+ </message>
+ <message>
+ <location filename="../src/gui/dialogs/qfiledialog_win.cpp" line="+148"/>
+ <source>All Files (*.*)</source>
+ <translation>Minden fájl (*.*)</translation>
</message>
<message>
- <location filename="../src/gui/itemviews/qfileiconprovider.cpp" line="-4"/>
+ <location filename="../src/gui/dialogs/qfiledialog.cpp" line="-2569"/>
+ <source>Save As</source>
+ <translation>Mentés másként</translation>
+ </message>
+ <message>
+ <location filename="../src/gui/itemviews/qfileiconprovider.cpp" line="+464"/>
<source>Drive</source>
- <translation>Vezérlő</translation>
+ <translation>Meghajtó</translation>
</message>
<message>
- <location line="+9"/>
+ <location line="+3"/>
+ <location line="+1"/>
+ <source>File</source>
+ <translation>Fájl</translation>
+ </message>
+ <message>
+ <location line="+5"/>
<source>File Folder</source>
<comment>Match Windows Explorer</comment>
- <translation>Fájl mappa</translation>
+ <translation>Mappa</translation>
</message>
<message>
<location line="+2"/>
@@ -1723,13 +3367,13 @@ Mégis törölni szeretné?</translation>
<location line="+9"/>
<source>Alias</source>
<comment>Mac OS X Finder</comment>
- <translation>Álnév</translation>
+ <translation>Link</translation>
</message>
<message>
<location line="+2"/>
<source>Shortcut</source>
<comment>All other platforms</comment>
- <translation>Gyorsbillentyű</translation>
+ <translation>Parancsikon</translation>
</message>
<message>
<location line="+7"/>
@@ -1737,9 +3381,14 @@ Mégis törölni szeretné?</translation>
<translation>Ismeretlen</translation>
</message>
<message>
- <location filename="../src/gui/dialogs/qfiledialog.cpp" line="-2111"/>
+ <location filename="../src/gui/dialogs/qfiledialog.cpp" line="-4"/>
+ <source>Find Directory</source>
+ <translation>Keresés a könyvtárban</translation>
+ </message>
+ <message>
+ <location line="+29"/>
<source>Show </source>
- <translation>Megjelenítés</translation>
+ <translation>Megjelenítés </translation>
</message>
<message>
<location filename="../src/gui/dialogs/qfiledialog.ui"/>
@@ -1748,80 +3397,86 @@ Mégis törölni szeretné?</translation>
<translation>Előre</translation>
</message>
<message>
- <location filename="../src/gui/dialogs/qfiledialog.cpp" line="+7"/>
+ <location filename="../src/gui/dialogs/qfiledialog.cpp" line="+1992"/>
+ <source>New Folder</source>
+ <translation>Új könyvtár</translation>
+ </message>
+ <message>
+ <location line="-1985"/>
<source>&amp;New Folder</source>
- <translation>&amp;Új mappa</translation>
+ <translation>Ú&amp;j könyvtár</translation>
</message>
<message>
- <location line="+667"/>
- <location line="+38"/>
+ <location line="+687"/>
+ <location line="+43"/>
<source>&amp;Choose</source>
<translation>&amp;Kiválasztás</translation>
</message>
<message>
<location filename="../src/gui/dialogs/qsidebar.cpp" line="+442"/>
<source>Remove</source>
- <translation>Eltávolítás</translation>
+ <translation>Törlés</translation>
</message>
<message>
- <location filename="../src/gui/dialogs/qfiledialog.cpp" line="-698"/>
- <location line="+663"/>
+ <location filename="../src/gui/dialogs/qfiledialog.cpp" line="-723"/>
+ <location line="+683"/>
<source>File &amp;name:</source>
- <translation>Fájl &amp;név:</translation>
+ <translation>Fájl &amp;neve:</translation>
</message>
<message>
<location filename="../src/gui/dialogs/qfiledialog.ui"/>
<location filename="../src/gui/dialogs/qfiledialog_embedded.ui"/>
<source>Look in:</source>
- <translation>Benéz:</translation>
+ <translation>Keresés itt:</translation>
</message>
<message>
<location/>
<location filename="../src/gui/dialogs/qfiledialog_embedded.ui"/>
<source>Create New Folder</source>
- <translation>Új mappa létrehozása</translation>
+ <translation>Új könyvtár létrehozása</translation>
</message>
-</context>
-<context>
- <name>QFileSystemModel</name>
<message>
- <location filename="../src/gui/dialogs/qfilesystemmodel.cpp" line="+744"/>
- <location filename="../src/gui/itemviews/qdirmodel.cpp" line="+476"/>
- <source>%1 TB</source>
- <translation>%1 TB</translation>
+ <location/>
+ <source>Go back</source>
+ <translation>Vissza</translation>
</message>
<message>
- <location line="+2"/>
- <location filename="../src/gui/itemviews/qdirmodel.cpp" line="+2"/>
- <source>%1 GB</source>
- <translation>%1 GB</translation>
+ <location/>
+ <source>Go forward</source>
+ <translation>Előre</translation>
</message>
<message>
- <location line="+2"/>
- <location filename="../src/gui/itemviews/qdirmodel.cpp" line="+2"/>
- <source>%1 MB</source>
- <translation>%1 MB</translation>
+ <location/>
+ <source>Go to the parent directory</source>
+ <translation>Szülő mappába</translation>
</message>
<message>
- <location line="+2"/>
- <location filename="../src/gui/itemviews/qdirmodel.cpp" line="+2"/>
- <source>%1 KB</source>
- <translation>%1 KB</translation>
+ <location/>
+ <source>Create a New Folder</source>
+ <translation>Új mappa létrehozása</translation>
</message>
<message>
- <location line="+1"/>
- <source>%1 bytes</source>
- <translation>%1 bájt</translation>
+ <location/>
+ <source>Change to list view mode</source>
+ <translation>Váltás lista nézetre</translation>
</message>
<message>
- <location line="+77"/>
+ <location/>
+ <source>Change to detail view mode</source>
+ <translation>Váltás részletes lista nézetre</translation>
+ </message>
+</context>
+<context>
+ <name>QFileSystemModel</name>
+ <message>
+ <location filename="../src/gui/dialogs/qfilesystemmodel.cpp" line="+836"/>
<source>Invalid filename</source>
<translation>Érvénytelen fájlnév</translation>
</message>
<message>
<location line="+1"/>
<source>&lt;b&gt;The name &quot;%1&quot; can not be used.&lt;/b&gt;&lt;p&gt;Try using another name, with fewer characters or no punctuations marks.</source>
- <translation>&lt;b&gt;A(z) &quot;%1&quot; név nem használható.&lt;/b&gt;&lt;p&gt;Próbáljon meg más nevet használni, kevesebb karakterrel vagy írásjelekek nélkül.</translation>
+ <translation>&lt;b&gt;A(z) &quot;%1&quot; név nem használható.&lt;/b&gt;&lt;p&gt;Próbálja meg másik névvel, kevesebb karakterrel vagy írásjelek nélkül.</translation>
</message>
<message>
<location line="+64"/>
@@ -1837,7 +3492,7 @@ Mégis törölni szeretné?</translation>
<location line="+4"/>
<source>Kind</source>
<comment>Match OS X Finder</comment>
- <translation>Fajta</translation>
+ <translation>Kind</translation>
</message>
<message>
<location line="+2"/>
@@ -1848,12 +3503,12 @@ Mégis törölni szeretné?</translation>
<message>
<location line="+7"/>
<source>Date Modified</source>
- <translation>Dátum módosítva</translation>
+ <translation>Módosítás dátuma</translation>
</message>
<message>
- <location filename="../src/gui/dialogs/qfilesystemmodel_p.h" line="+258"/>
+ <location filename="../src/gui/dialogs/qfilesystemmodel_p.h" line="+261"/>
<source>My Computer</source>
- <translation>Sajátgép</translation>
+ <translation>Számítógép</translation>
</message>
<message>
<location line="+2"/>
@@ -1861,6 +3516,35 @@ Mégis törölni szeretné?</translation>
<translation>Számítógép</translation>
</message>
<message>
+ <location filename="../src/gui/dialogs/qfilesystemmodel.cpp" line="-176"/>
+ <location filename="../src/gui/itemviews/qdirmodel.cpp" line="+482"/>
+ <source>%1 TB</source>
+ <translation>%1 TB</translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <location filename="../src/gui/itemviews/qdirmodel.cpp" line="+2"/>
+ <source>%1 GB</source>
+ <translation>%1 GB</translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <location filename="../src/gui/itemviews/qdirmodel.cpp" line="+2"/>
+ <source>%1 MB</source>
+ <translation>%1 MB</translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <location filename="../src/gui/itemviews/qdirmodel.cpp" line="+2"/>
+ <source>%1 KB</source>
+ <translation>%1 KB</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>%1 bytes</source>
+ <translation>%1 byte</translation>
+ </message>
+ <message>
<location filename="../src/gui/itemviews/qdirmodel.cpp" line="+1"/>
<source>%1 byte(s)</source>
<translation>%1 bájt</translation>
@@ -1897,7 +3581,7 @@ Mégis törölni szeretné?</translation>
<message>
<location line="-1311"/>
<source>Demi</source>
- <translation>Fél</translation>
+ <translation>Félkövér</translation>
</message>
<message>
<location line="+6"/>
@@ -1915,12 +3599,12 @@ Mégis törölni szeretné?</translation>
<location line="-1165"/>
<location line="+1167"/>
<source>Oblique</source>
- <translation>Homályos</translation>
+ <translation>Ferde</translation>
</message>
<message>
<location line="+704"/>
<source>Any</source>
- <translation>Bármilyen</translation>
+ <translation>Bármelyik</translation>
</message>
<message>
<location line="+3"/>
@@ -1935,7 +3619,7 @@ Mégis törölni szeretné?</translation>
<message>
<location line="+3"/>
<source>Cyrillic</source>
- <translation>Ciril</translation>
+ <translation>Cirill</translation>
</message>
<message>
<location line="+3"/>
@@ -1955,17 +3639,17 @@ Mégis törölni szeretné?</translation>
<message>
<location line="+3"/>
<source>Syriac</source>
- <translation>Szíriai</translation>
+ <translation>Szír</translation>
</message>
<message>
<location line="+3"/>
<source>Thaana</source>
- <translation>Thana</translation>
+ <translation>Thaana</translation>
</message>
<message>
<location line="+3"/>
<source>Devanagari</source>
- <translation>Dévanágari</translation>
+ <translation>Dévangári</translation>
</message>
<message>
<location line="+3"/>
@@ -2000,12 +3684,12 @@ Mégis törölni szeretné?</translation>
<message>
<location line="+3"/>
<source>Kannada</source>
- <translation>Kanadai</translation>
+ <translation>Kannada</translation>
</message>
<message>
<location line="+3"/>
<source>Malayalam</source>
- <translation>Maláj</translation>
+ <translation>Malayalam</translation>
</message>
<message>
<location line="+3"/>
@@ -2015,7 +3699,7 @@ Mégis törölni szeretné?</translation>
<message>
<location line="+3"/>
<source>Thai</source>
- <translation>Tájföldi</translation>
+ <translation>Thai</translation>
</message>
<message>
<location line="+3"/>
@@ -2030,12 +3714,12 @@ Mégis törölni szeretné?</translation>
<message>
<location line="+3"/>
<source>Myanmar</source>
- <translation>Mianmari</translation>
+ <translation>Miannmari</translation>
</message>
<message>
<location line="+3"/>
<source>Georgian</source>
- <translation>Grúz</translation>
+ <translation>Gergely</translation>
</message>
<message>
<location line="+3"/>
@@ -2065,12 +3749,12 @@ Mégis törölni szeretné?</translation>
<message>
<location line="+3"/>
<source>Vietnamese</source>
- <translation>Vietnámi</translation>
+ <translation>Vietnám</translation>
</message>
<message>
<location line="+3"/>
<source>Symbol</source>
- <translation>Szimbólum</translation>
+ <translation>Szimbolum</translation>
</message>
<message>
<location line="+3"/>
@@ -2080,7 +3764,7 @@ Mégis törölni szeretné?</translation>
<message>
<location line="+3"/>
<source>Runic</source>
- <translation>Székely</translation>
+ <translation>Rúna</translation>
</message>
<message>
<location line="+3"/>
@@ -2091,14 +3775,14 @@ Mégis törölni szeretné?</translation>
<context>
<name>QFontDialog</name>
<message>
- <location filename="../src/gui/dialogs/qfontdialog.cpp" line="+776"/>
+ <location filename="../src/gui/dialogs/qfontdialog.cpp" line="+768"/>
<source>&amp;Font</source>
- <translation>&amp;Betű</translation>
+ <translation>&amp;Betűtípus</translation>
</message>
<message>
<location line="+1"/>
<source>Font st&amp;yle</source>
- <translation>Betű st&amp;ílus</translation>
+ <translation>Betűtípu&amp;s stílusa</translation>
</message>
<message>
<location line="+1"/>
@@ -2113,97 +3797,81 @@ Mégis törölni szeretné?</translation>
<message>
<location line="+2"/>
<source>Stri&amp;keout</source>
- <translation>Ki&amp;talál</translation>
+ <translation>Á&amp;thúzott</translation>
</message>
<message>
<location line="+1"/>
<source>&amp;Underline</source>
- <translation>&amp;Aláhúzás</translation>
+ <translation>&amp;Aláhúzott</translation>
</message>
<message>
<location line="+1"/>
<source>Sample</source>
- <translation>Minta</translation>
+ <translation>Példa</translation>
</message>
<message>
- <location line="-608"/>
- <location line="+257"/>
- <source>Select Font</source>
- <translation>Betű kiválasztása</translation>
+ <location line="+1"/>
+ <source>Wr&amp;iting System</source>
+ <translation>Í&amp;rásmód</translation>
</message>
<message>
- <location line="+352"/>
- <source>Wr&amp;iting System</source>
- <translation>Rendszer &amp;írása</translation>
+ <location line="-596"/>
+ <source>Select Font</source>
+ <translation>Betűtípus kiválasztása</translation>
</message>
</context>
<context>
<name>QFtp</name>
<message>
- <location filename="../src/qt3support/network/q3ftp.cpp" line="+2303"/>
- <source>Host %1 found</source>
- <translation>%1 host megtalálva</translation>
- </message>
- <message>
- <location line="+7"/>
- <source>Host found</source>
- <translation>Hoszt megtalálva</translation>
- </message>
- <message>
- <location filename="../src/network/access/qftp.cpp" line="+1008"/>
- <location filename="../src/qt3support/network/q3ftp.cpp" line="-1456"/>
- <location line="+1451"/>
- <source>Connected to host %1</source>
- <translation>%1 hosztra csatlkoztatva</translation>
- </message>
- <message>
- <location filename="../src/qt3support/network/q3ftp.cpp" line="+7"/>
- <source>Connected to host</source>
- <translation>Hosztra csatlakoztatva</translation>
- </message>
- <message>
- <location line="-5"/>
- <source>Connection to %1 closed</source>
- <translation>%1-re csatlakoztatása bezárva</translation>
- </message>
- <message>
- <location filename="../src/network/access/qftp.cpp" line="+1377"/>
- <location filename="../src/qt3support/network/q3ftp.cpp" line="-243"/>
- <location line="+250"/>
- <source>Connection closed</source>
- <translation>Kapcsolat bezárva</translation>
+ <location filename="../src/network/access/qftp.cpp" line="+828"/>
+ <location filename="../src/qt3support/network/q3ftp.cpp" line="+683"/>
+ <source>Not connected</source>
+ <translation>Nincs kapcsolat</translation>
</message>
<message>
- <location line="-1489"/>
- <location filename="../src/qt3support/network/q3ftp.cpp" line="-1566"/>
+ <location line="+68"/>
+ <location filename="../src/qt3support/network/q3ftp.cpp" line="+65"/>
<source>Host %1 not found</source>
- <translation>%1 host nem található</translation>
+ <translation>%1 kiszolgáló nem található</translation>
</message>
<message>
<location line="+4"/>
<location filename="../src/qt3support/network/q3ftp.cpp" line="+4"/>
<source>Connection refused to host %1</source>
- <translation>Kapcsolat elutasítva a(z) %1 hoszttal</translation>
+ <translation>A kapcsolódás %1 kiszolgálóhoz elutasítva</translation>
</message>
<message>
<location line="+4"/>
<source>Connection timed out to host %1</source>
- <translation>Kapcsolati időtúllépés a %1 hoszttal</translation>
+ <translation>A várakozási idő lejárt a(z) %1 kiszolgálóhoz</translation>
</message>
<message>
- <location line="+501"/>
+ <location line="+104"/>
+ <location filename="../src/qt3support/network/q3ftp.cpp" line="+102"/>
+ <location line="+1451"/>
+ <source>Connected to host %1</source>
+ <translation>Kapcsolódva %1 kiszolgálóhoz</translation>
+ </message>
+ <message>
+ <location line="+219"/>
+ <location filename="../src/qt3support/network/q3ftp.cpp" line="-1290"/>
+ <source>Connection refused for data connection</source>
+ <translation>Az adatkapcsolat elutasítva</translation>
+ </message>
+ <message>
+ <location line="+178"/>
<location line="+29"/>
- <location filename="../src/qt3support/network/q3ftp.cpp" line="+458"/>
+ <location filename="../src/qt3support/network/q3ftp.cpp" line="+195"/>
<location line="+728"/>
<source>Unknown error</source>
<translation>Ismeretlen hiba</translation>
</message>
<message>
- <location line="+891"/>
+ <location line="+897"/>
<location filename="../src/qt3support/network/q3ftp.cpp" line="+77"/>
<source>Connecting to host failed:
%1</source>
- <translation>A hoszthoz kapcsolódás nem sikerült:
+ <translation>A kapcsolódás a kiszolgálóhoz nem sikerült:
%1</translation>
</message>
<message>
@@ -2211,7 +3879,7 @@ Mégis törölni szeretné?</translation>
<location filename="../src/qt3support/network/q3ftp.cpp" line="+3"/>
<source>Login failed:
%1</source>
- <translation>Bejelentkezési hiba:
+ <translation>A bejelentkezés nem sikerült:
%1</translation>
</message>
<message>
@@ -2219,7 +3887,7 @@ Mégis törölni szeretné?</translation>
<location filename="../src/qt3support/network/q3ftp.cpp" line="+3"/>
<source>Listing directory failed:
%1</source>
- <translation>Könyvtár listázási hiba:
+ <translation>A könyvtár listázása nem sikerült:
%1</translation>
</message>
<message>
@@ -2227,7 +3895,7 @@ Mégis törölni szeretné?</translation>
<location filename="../src/qt3support/network/q3ftp.cpp" line="+3"/>
<source>Changing directory failed:
%1</source>
- <translation>Könyvtár változtatási hiba:
+ <translation>A könyvtárváltás nem sikerült:
%1</translation>
</message>
<message>
@@ -2235,7 +3903,7 @@ Mégis törölni szeretné?</translation>
<location filename="../src/qt3support/network/q3ftp.cpp" line="+3"/>
<source>Downloading file failed:
%1</source>
- <translation>Fájl letöltési hiba:
+ <translation>A fájl letöltése nem sikerült:
%1</translation>
</message>
<message>
@@ -2243,7 +3911,7 @@ Mégis törölni szeretné?</translation>
<location filename="../src/qt3support/network/q3ftp.cpp" line="+3"/>
<source>Uploading file failed:
%1</source>
- <translation>Fájl feltöltési hiba:
+ <translation>A fájl feltöltése nem sikerült:
%1</translation>
</message>
<message>
@@ -2251,7 +3919,7 @@ Mégis törölni szeretné?</translation>
<location filename="../src/qt3support/network/q3ftp.cpp" line="+3"/>
<source>Removing file failed:
%1</source>
- <translation>Fájl eltávolítási hiba:
+ <translation>A fájl törlése nem sikerült:
%1</translation>
</message>
<message>
@@ -2259,7 +3927,7 @@ Mégis törölni szeretné?</translation>
<location filename="../src/qt3support/network/q3ftp.cpp" line="+3"/>
<source>Creating directory failed:
%1</source>
- <translation>Könyvtár létrehozási hiba:
+ <translation>A könyvtár létrehozása nem sikerült:
%1</translation>
</message>
<message>
@@ -2267,39 +3935,66 @@ Mégis törölni szeretné?</translation>
<location filename="../src/qt3support/network/q3ftp.cpp" line="+3"/>
<source>Removing directory failed:
%1</source>
- <translation>Könyvtár eltávolítása hiba:
+ <translation>A könyvtár törlése nem sikerült:
%1</translation>
</message>
<message>
- <location line="-1529"/>
- <location filename="../src/qt3support/network/q3ftp.cpp" line="-1356"/>
- <source>Not connected</source>
- <translation>Nincs csatlakoztatva</translation>
+ <location line="+28"/>
+ <location filename="../src/qt3support/network/q3ftp.cpp" line="+25"/>
+ <location line="+250"/>
+ <source>Connection closed</source>
+ <translation>A kapcsolat bezárult</translation>
</message>
<message>
- <location line="+399"/>
- <location filename="../src/qt3support/network/q3ftp.cpp" line="+332"/>
- <source>Connection refused for data connection</source>
- <translation>Adat kapcsolat érdekében történő csatlakozás megtagadva</translation>
+ <location filename="../src/qt3support/network/q3ftp.cpp" line="-11"/>
+ <source>Host %1 found</source>
+ <translation>%1 kiszolgálót megtaláltam</translation>
+ </message>
+ <message>
+ <location line="+4"/>
+ <source>Connection to %1 closed</source>
+ <translation>A kapcsolat %1 kiszolgálóval bezárult</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>Host found</source>
+ <translation>A kiszolgálót megtaláltam</translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Connected to host</source>
+ <translation>Kapcsolódva a kiszolgálóhoz</translation>
+ </message>
+</context>
+<context>
+ <name>QGstreamerPlayerSession</name>
+ <message>
+ <source>Unable to play %1</source>
+ <translation type="obsolete">Nem lehet lejátszani: %1</translation>
</message>
</context>
<context>
<name>QHostInfo</name>
<message>
- <location filename="../src/network/kernel/qhostinfo_p.h" line="+185"/>
+ <location filename="../src/network/kernel/qhostinfo_p.h" line="+103"/>
<source>Unknown error</source>
<translation>Ismeretlen hiba</translation>
</message>
+ <message>
+ <location filename="../src/network/kernel/qhostinfo.cpp" line="+171"/>
+ <source>No host name given</source>
+ <translation>Nem adott meg gépnevet</translation>
+ </message>
</context>
<context>
<name>QHostInfoAgent</name>
<message>
- <location filename="../src/network/kernel/qhostinfo_unix.cpp" line="+257"/>
+ <location filename="../src/network/kernel/qhostinfo_unix.cpp" line="+260"/>
<location line="+32"/>
- <location filename="../src/network/kernel/qhostinfo_win.cpp" line="+220"/>
+ <location filename="../src/network/kernel/qhostinfo_win.cpp" line="+215"/>
<location line="+27"/>
<source>Host not found</source>
- <translation>A hoszt nem található</translation>
+ <translation>A kiszolgáló nem található</translation>
</message>
<message>
<location line="-45"/>
@@ -2307,90 +4002,34 @@ Mégis törölni szeretné?</translation>
<location filename="../src/network/kernel/qhostinfo_win.cpp" line="-34"/>
<location line="+29"/>
<source>Unknown address type</source>
- <translation>Ismeretlen cím típus</translation>
- </message>
- <message>
- <location line="+10"/>
- <location filename="../src/network/kernel/qhostinfo_win.cpp" line="-19"/>
- <location line="+27"/>
- <source>Unknown error</source>
- <translation>Ismeretlen hiba</translation>
+ <translation>Ismeretlen címtípus</translation>
</message>
<message>
- <location filename="../src/network/kernel/qhostinfo_win.cpp" line="-67"/>
+ <location line="-88"/>
+ <location filename="../src/network/kernel/qhostinfo_win.cpp" line="-59"/>
<source>No host name given</source>
- <translation>Nincs hoszt név megadva</translation>
+ <translation>Nem adott meg gépnevet</translation>
</message>
<message>
- <location line="+0"/>
+ <location line="+1"/>
+ <location filename="../src/network/kernel/qhostinfo_win.cpp" line="+0"/>
<source>Invalid hostname</source>
- <translation>Érvénytelen hoszt név</translation>
+ <translation>Érvénytelen gépnév</translation>
+ </message>
+ <message>
+ <location line="+97"/>
+ <location filename="../src/network/kernel/qhostinfo_win.cpp" line="+40"/>
+ <location line="+27"/>
+ <source>Unknown error</source>
+ <translation>Ismeretlen hiba</translation>
</message>
</context>
<context>
<name>QHttp</name>
<message>
- <location filename="../src/network/access/qhttpnetworkconnection.cpp" line="+578"/>
- <location filename="../src/qt3support/network/q3http.cpp" line="+1835"/>
- <source>Connection refused</source>
- <translation>Kapcsolat megtagadva</translation>
- </message>
- <message>
- <location filename="../src/network/access/qhttp.cpp" line="+2639"/>
- <location filename="../src/network/access/qhttpnetworkconnection.cpp" line="-4"/>
- <location filename="../src/qt3support/network/q3http.cpp" line="+3"/>
- <source>Host %1 not found</source>
- <translation>A(z) %1 hoszt nem található</translation>
- </message>
- <message>
- <location line="-62"/>
- <location filename="../src/qt3support/network/q3http.cpp" line="-45"/>
- <source>Wrong content length</source>
- <translation>Hibás tartalom hossz</translation>
- </message>
- <message>
- <location line="+82"/>
- <location filename="../src/network/access/qhttpnetworkconnection.cpp" line="+10"/>
- <location line="+19"/>
- <location filename="../src/qt3support/network/q3http.cpp" line="+48"/>
- <source>HTTP request failed</source>
- <translation>HTTP kérési hiba</translation>
- </message>
- <message>
- <location filename="../src/qt3support/network/q3http.cpp" line="+450"/>
- <source>Host %1 found</source>
- <translation>A(z) %1 hoszt nem található</translation>
- </message>
- <message>
- <location line="+14"/>
- <source>Host found</source>
- <translation>Hoszt megtalálható</translation>
- </message>
- <message>
- <location line="-11"/>
- <source>Connected to host %1</source>
- <translation>%1 hoszthoz csatlakozva van</translation>
- </message>
- <message>
- <location line="+14"/>
- <source>Connected to host</source>
- <translation>Hosztra csatlakoztatva</translation>
- </message>
- <message>
- <location line="-11"/>
- <source>Connection to %1 closed</source>
- <translation>%1-re csatlkozás bezárva</translation>
- </message>
- <message>
- <location filename="../src/network/access/qhttpnetworkconnection.cpp" line="-22"/>
- <location filename="../src/qt3support/network/q3http.cpp" line="+14"/>
- <source>Connection closed</source>
- <translation>Kapcsolat bezárva</translation>
- </message>
- <message>
- <location filename="../src/network/access/qhttp.cpp" line="-1077"/>
+ <location filename="../src/network/access/qhttp.cpp" line="+1582"/>
<location line="+820"/>
- <location filename="../src/qt3support/network/q3http.cpp" line="-1152"/>
+ <location filename="../src/qt3support/network/q3http.cpp" line="+1159"/>
<location line="+567"/>
<source>Unknown error</source>
<translation>Ismeretlen hiba</translation>
@@ -2399,30 +4038,60 @@ Mégis törölni szeretné?</translation>
<location line="-568"/>
<location filename="../src/qt3support/network/q3http.cpp" line="-370"/>
<source>Request aborted</source>
- <translation>Kérés megszakítva</translation>
+ <translation>A kérés megszakítva</translation>
</message>
<message>
<location line="+579"/>
<location filename="../src/qt3support/network/q3http.cpp" line="+381"/>
<source>No server set to connect to</source>
- <translation>Nincsen szerver beállítva, amire csatlakozni lehetne</translation>
+ <translation>Nincs szerver megadva</translation>
</message>
<message>
- <location line="+168"/>
- <location filename="../src/qt3support/network/q3http.cpp" line="+60"/>
+ <location line="+164"/>
+ <location filename="../src/qt3support/network/q3http.cpp" line="+56"/>
+ <source>Wrong content length</source>
+ <translation>Rossz tartalomhossz</translation>
+ </message>
+ <message>
+ <location line="+4"/>
+ <location filename="../src/qt3support/network/q3http.cpp" line="+4"/>
<source>Server closed connection unexpectedly</source>
<translation>A szerver váratlanul bezárta a kapcsolatot</translation>
</message>
<message>
- <location line="+172"/>
- <location filename="../src/qt3support/network/q3http.cpp" line="+113"/>
+ <location line="+383"/>
+ <source>Error writing response to device</source>
+ <translation>Hiba a válasz eszközre írása során</translation>
+ </message>
+ <message>
+ <location filename="../src/network/access/qhttpnetworkconnection.cpp" line="-6"/>
+ <location filename="../src/qt3support/network/q3http.cpp" line="+38"/>
+ <source>Connection refused</source>
+ <translation>A kapcsolat elutasítva</translation>
+ </message>
+ <message>
+ <location filename="../src/network/access/qhttp.cpp" line="-325"/>
+ <location filename="../src/network/access/qhttpnetworkconnection.cpp" line="-4"/>
+ <location filename="../src/qt3support/network/q3http.cpp" line="+3"/>
+ <source>Host %1 not found</source>
+ <translation>%1 kiszolgáló nem található</translation>
+ </message>
+ <message>
+ <location line="+20"/>
+ <location filename="../src/qt3support/network/q3http.cpp" line="+3"/>
+ <source>HTTP request failed</source>
+ <translation>A HTTP kérés nem sikerült</translation>
+ </message>
+ <message>
+ <location line="+94"/>
+ <location filename="../src/qt3support/network/q3http.cpp" line="+69"/>
<source>Invalid HTTP response header</source>
- <translation>Érvénytelen HTTP válasz fejléc</translation>
+ <translation>Érvénytelen HTTP válasz-fejléc</translation>
</message>
<message>
<location line="+28"/>
<source>Unknown authentication method</source>
- <translation>Ismeretlen hitelesítési eljárás</translation>
+ <translation>Ismeretlen azonosítási mód</translation>
</message>
<message>
<location line="+97"/>
@@ -2430,57 +4099,83 @@ Mégis törölni szeretné?</translation>
<location filename="../src/qt3support/network/q3http.cpp" line="+40"/>
<location line="+47"/>
<source>Invalid HTTP chunked body</source>
- <translation>Érvénytelen nagy HTTP törzs</translation>
+ <translation>Érvénytelen HTTP törzsrészlet</translation>
</message>
<message>
- <location line="+38"/>
- <source>Error writing response to device</source>
- <translation>Hiba történt a válasz eszközre írása közben</translation>
+ <location filename="../src/qt3support/network/q3http.cpp" line="+294"/>
+ <source>Host %1 found</source>
+ <translation>%1 kiszolgálót megtaláltam</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>Connected to host %1</source>
+ <translation>Kapcsolódva %1 kiszolgálóhoz</translation>
</message>
<message>
- <location line="-173"/>
+ <location line="+3"/>
+ <source>Connection to %1 closed</source>
+ <translation>A kapcsolat %1 kiszolgálóval bezárult</translation>
+ </message>
+ <message>
+ <location line="+8"/>
+ <source>Host found</source>
+ <translation>A kiszolgálót megtaláltam</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>Connected to host</source>
+ <translation>Kapcsolódva a kiszolgálóhoz</translation>
+ </message>
+ <message>
+ <location filename="../src/network/access/qhttpnetworkconnection.cpp" line="+7"/>
+ <location filename="../src/qt3support/network/q3http.cpp" line="+3"/>
+ <source>Connection closed</source>
+ <translation>A kapcsolat bezárult</translation>
+ </message>
+ <message>
+ <location filename="../src/network/access/qhttp.cpp" line="-135"/>
<source>Proxy authentication required</source>
- <translation>Proxy hitelesítés szükséges</translation>
+ <translation>A proxy azonosítást követel</translation>
</message>
<message>
<location line="+4"/>
<source>Authentication required</source>
- <translation>Hitelesítés szükséges</translation>
+ <translation>Azonosítás szükséges</translation>
+ </message>
+ <message>
+ <location line="-2425"/>
+ <source>HTTPS connection requested but SSL support not compiled in</source>
+ <translation>HTTPS kapcsolat kiépítése szükséges, de nincs SSL támogatás</translation>
+ </message>
+ <message>
+ <location line="+2266"/>
+ <source>Connection refused (or timed out)</source>
+ <translation>A kapcsolat elutasítva (vagy időtúllépés történt)</translation>
</message>
<message>
<location filename="../src/network/access/qhttpnetworkconnection.cpp" line="+6"/>
<source>Proxy requires authentication</source>
- <translation>A proxy a hitelesítést kéri</translation>
+ <translation>A proxy azonosítást követel</translation>
</message>
<message>
<location line="+3"/>
<source>Host requires authentication</source>
- <translation>A hoszt hitelesítést kér</translation>
+ <translation>A gép azonosítást követel</translation>
</message>
<message>
<location line="+3"/>
<source>Data corrupted</source>
- <translation>Sérült adat</translation>
+ <translation>Az adatok megsérültek</translation>
</message>
<message>
- <location line="+6"/>
- <source>SSL handshake failed</source>
- <translation>SSL kézfogási hiba</translation>
- </message>
- <message>
- <location line="-3"/>
+ <location line="+3"/>
<source>Unknown protocol specified</source>
- <translation>Ismeretlen protokoll van megadva</translation>
- </message>
- <message>
- <location filename="../src/network/access/qhttp.cpp" line="-159"/>
- <source>Connection refused (or timed out)</source>
- <translation>Kapcsolat megtagadva (vagy időtúllépés)</translation>
+ <translation>Ismeretlen protokoll</translation>
</message>
<message>
- <location line="-2266"/>
- <source>HTTPS connection requested but SSL support not compiled in</source>
- <translation>HTTP kapcsolat lett kérve, de az SSL támogatás nincs beleforgatva</translation>
+ <location line="+3"/>
+ <source>SSL handshake failed</source>
+ <translation>Az SSL kézfogás sikertelen volt</translation>
</message>
</context>
<context>
@@ -2488,17 +4183,17 @@ Mégis törölni szeretné?</translation>
<message>
<location filename="../src/network/socket/qhttpsocketengine.cpp" line="-89"/>
<source>Did not receive HTTP response from proxy</source>
- <translation>Nem kapott HTTP választ a proxy-tól</translation>
+ <translation>A proxy nem küldött HTTP választ</translation>
</message>
<message>
<location line="+25"/>
<source>Error parsing authentication request from proxy</source>
- <translation>Hiba történt a proxy hitelesítés kérésének elemzése közben</translation>
+ <translation>Hiba a proxy azonosítási kérelmének értelmezésekor</translation>
</message>
<message>
<location line="+31"/>
<source>Authentication required</source>
- <translation>Hitelesítés szükséges</translation>
+ <translation>Azonosítás szükséges</translation>
</message>
<message>
<location line="+27"/>
@@ -2508,27 +4203,27 @@ Mégis törölni szeretné?</translation>
<message>
<location line="+10"/>
<source>Error communicating with HTTP proxy</source>
- <translation>Hiba történt a HTTP proxy-val történő kommunikáció közben</translation>
+ <translation>Hiba a HTTP proxyval való kommunikáció során</translation>
</message>
<message>
<location line="+23"/>
<source>Proxy server not found</source>
- <translation>A proxy szerver nem található</translation>
+ <translation>A proxy nem található</translation>
</message>
<message>
<location line="+2"/>
<source>Proxy connection refused</source>
- <translation>A proxy kapcsolat elutasítva</translation>
+ <translation>A proxy elutasította a kapcsolatot</translation>
</message>
<message>
<location line="+2"/>
<source>Proxy server connection timed out</source>
- <translation>Proxy szerver kapcsolódási időtúllépés</translation>
+ <translation>A kapcslat időtúllépés miatt megszakadt a proxxyval</translation>
</message>
<message>
<location line="+2"/>
<source>Proxy connection closed prematurely</source>
- <translation>Proxy kapcsolódás túl korán be lett zárva</translation>
+ <translation>A proxy váratlanul lezárta a kapcsolatot</translation>
</message>
</context>
<context>
@@ -2536,22 +4231,22 @@ Mégis törölni szeretné?</translation>
<message>
<location filename="../src/sql/drivers/ibase/qsql_ibase.cpp" line="+1491"/>
<source>Error opening database</source>
- <translation>Hiba történt az adatbázis megnyitása közben</translation>
+ <translation>Adatbázis megnyitási hiba</translation>
</message>
<message>
<location line="+54"/>
<source>Could not start transaction</source>
- <translation>Nem sikerült elindítani a tranzakciót</translation>
+ <translation>A tranzakció nem indítható</translation>
</message>
<message>
<location line="+13"/>
<source>Unable to commit transaction</source>
- <translation>Nem lehet kommitolni a tranzakciót</translation>
+ <translation>A tranzakció nem véglegesíthető</translation>
</message>
<message>
<location line="+13"/>
<source>Unable to rollback transaction</source>
- <translation>Nem lehet visszagörgetni a tranzakciót</translation>
+ <translation>A tranzakció nem görgethető vissza</translation>
</message>
</context>
<context>
@@ -2559,102 +4254,102 @@ Mégis törölni szeretné?</translation>
<message>
<location line="-1149"/>
<source>Unable to create BLOB</source>
- <translation>Nem lehet BLOB-t létrehozni</translation>
+ <translation>A BLOB nem hozható létre </translation>
</message>
<message>
<location line="+6"/>
<source>Unable to write BLOB</source>
- <translation>Nem lehet írni a BLOB-t</translation>
+ <translation>A BLOB nem írható</translation>
</message>
<message>
<location line="+14"/>
<source>Unable to open BLOB</source>
- <translation>Nem lehet megnyitni a BLOB-t</translation>
+ <translation>A BLOB nem nyitható meg</translation>
</message>
<message>
<location line="+16"/>
<source>Unable to read BLOB</source>
- <translation>Nem lehet olvasni a BLOB-t</translation>
+ <translation>A BLOB nem olvasható</translation>
</message>
<message>
<location line="+125"/>
<location line="+187"/>
<source>Could not find array</source>
- <translation>Nem sikerült megtalálni a tömböt</translation>
+ <translation>A tömb nem található</translation>
</message>
<message>
<location line="-155"/>
<source>Could not get array data</source>
- <translation>Nem sikerüét megszerezni a tömb adatokat</translation>
+ <translation>A tömbbeli adatok nem érhetők el</translation>
</message>
<message>
<location line="+210"/>
<source>Could not get query info</source>
- <translation>Nem sikerült megszerezni a lekérdezi információt</translation>
+ <translation>A lekérdezés-információ nem érhető el</translation>
</message>
<message>
<location line="+20"/>
<source>Could not start transaction</source>
- <translation>Nem sikerült elindítani a tranzakciót</translation>
+ <translation>A tranzakció nem indítható</translation>
</message>
<message>
<location line="+19"/>
<source>Unable to commit transaction</source>
- <translation>Nem lehet kommitolni a tranzakciót</translation>
+ <translation>A tranzakció nem véglegesíthető</translation>
</message>
<message>
<location line="+42"/>
<source>Could not allocate statement</source>
- <translation>Nem sikerült lefoglalni a műveletet</translation>
+ <translation>A művelet helyfoglalása sikertelen</translation>
</message>
<message>
<location line="+5"/>
<source>Could not prepare statement</source>
- <translation>Nem sikerült felkészülni a műveletre</translation>
+ <translation>A művelet előkészítése sikertelen</translation>
</message>
<message>
<location line="+5"/>
<location line="+11"/>
<source>Could not describe input statement</source>
- <translation>Nem sikerült leírni a bemeneti állítást</translation>
+ <translation>A bemeneti művelet leírása sikertelen</translation>
</message>
<message>
<location line="+14"/>
<source>Could not describe statement</source>
- <translation>Nem sikerült leírni az állítást</translation>
+ <translation>A művelet leírása sikertelen</translation>
</message>
<message>
<location line="+115"/>
<source>Unable to close statement</source>
- <translation>Nem lehet megnyitni az állítást</translation>
+ <translation>A művelet lezárása sikertelen</translation>
</message>
<message>
<location line="+8"/>
<source>Unable to execute query</source>
- <translation>Nem lehet végrehajtani a lekérdezést</translation>
+ <translation>A művelet nem hajtható végre</translation>
</message>
<message>
<location line="+46"/>
<source>Could not fetch next item</source>
- <translation>Nem lehet letölteni a következő elemet</translation>
+ <translation>A következő adat nem olvasható ki</translation>
</message>
<message>
<location line="+197"/>
<source>Could not get statement info</source>
- <translation>Nem lehet az művelet információkat megszerezni</translation>
+ <translation>A következő művelet információi nem érhetők el</translation>
</message>
</context>
<context>
<name>QIODevice</name>
<message>
- <location filename="../src/corelib/global/qglobal.cpp" line="+2072"/>
+ <location filename="../src/corelib/global/qglobal.cpp" line="+2120"/>
<source>Permission denied</source>
- <translation>Beleegyezés megtagadva</translation>
+ <translation>Hozzáférés megtagadva</translation>
</message>
<message>
<location line="+3"/>
<source>Too many open files</source>
- <translation>Túl sok fájl megnyitása</translation>
+ <translation>Túl sok fájl van nyitva</translation>
</message>
<message>
<location line="+3"/>
@@ -2664,10 +4359,10 @@ Mégis törölni szeretné?</translation>
<message>
<location line="+3"/>
<source>No space left on device</source>
- <translation>Nincs több hely a lemezen</translation>
+ <translation>Nincs több hely az eszközön</translation>
</message>
<message>
- <location filename="../src/corelib/io/qiodevice.cpp" line="+1561"/>
+ <location filename="../src/corelib/io/qiodevice.cpp" line="+1598"/>
<source>Unknown error</source>
<translation>Ismeretlen hiba</translation>
</message>
@@ -2675,34 +4370,34 @@ Mégis törölni szeretné?</translation>
<context>
<name>QInputContext</name>
<message>
- <location filename="../src/gui/inputmethod/qinputcontextfactory.cpp" line="+256"/>
+ <location filename="../src/gui/inputmethod/qinputcontextfactory.cpp" line="+301"/>
<source>XIM</source>
<translation>XIM</translation>
</message>
<message>
<location line="+4"/>
<source>FEP</source>
- <translation>FEP</translation>
+ <translation></translation>
</message>
<message>
<location line="+23"/>
<source>XIM input method</source>
- <translation>XIM beviteli eljárás</translation>
+ <translation>XIM beviteli mód</translation>
</message>
<message>
<location line="+4"/>
<source>Windows input method</source>
- <translation>Windows beviteli eljárás</translation>
+ <translation>Windows beviteli mód</translation>
</message>
<message>
<location line="+4"/>
<source>Mac OS X input method</source>
- <translation>Mac OS X beviteli eljárás</translation>
+ <translation>Mac OS X beviteli mód</translation>
</message>
<message>
<location line="+4"/>
<source>S60 FEP input method</source>
- <translation>S60 FEP beviteli eljárás</translation>
+ <translation>S60 FEP beviteli mód</translation>
</message>
</context>
<context>
@@ -2710,35 +4405,47 @@ Mégis törölni szeretné?</translation>
<message>
<location filename="../src/gui/dialogs/qinputdialog.cpp" line="+223"/>
<source>Enter a value:</source>
- <translation>Egy értél bevitele:</translation>
+ <translation>Írjon be egy értéket:</translation>
</message>
</context>
<context>
<name>QLibrary</name>
<message>
+ <source>QLibrary::load_sys: Cannot load %1 (%2)</source>
+ <translation type="obsolete">QLibrary::load_sys: %1 nem tölthető be (%2)</translation>
+ </message>
+ <message>
+ <source>QLibrary::unload_sys: Cannot unload %1 (%2)</source>
+ <translation type="obsolete">QLibrary::load_sys: %1 nem távolítható el (%2)</translation>
+ </message>
+ <message>
+ <source>QLibrary::resolve_sys: Symbol &quot;%1&quot; undefined in %2 (%3)</source>
+ <translation type="obsolete">QLibrary::load_sys: &quot;%1&quot; szimbólum nem definiált ebben: %2 (%3)</translation>
+ </message>
+ <message>
<location filename="../src/corelib/plugin/qlibrary.cpp" line="+383"/>
<source>Could not mmap &apos;%1&apos;: %2</source>
- <translation>Nem sikerült az mmap &apos;%1&apos;: %2</translation>
+ <translation>Nem sikerült mmap-olni a(z) &apos;%1&apos;-t: %2</translation>
</message>
<message>
<location line="+22"/>
<source>Plugin verification data mismatch in &apos;%1&apos;</source>
- <translation>Beépülő modul igazoló adata nem megfelelő a(z) &apos;%1&apos;-ben</translation>
+ <translation>Plugin ellenőrző adat eltérés: &apos;%1&apos;</translation>
</message>
<message>
<location line="+6"/>
<source>Could not unmap &apos;%1&apos;: %2</source>
- <translation>Nem lehet eltávolítani a letérképezést &apos;%1&apos;: %2</translation>
+ <translation>Nem sikerült unmap-olni a(z) &apos;%1&apos;-t: %2</translation>
</message>
<message>
- <location line="+344"/>
+ <location line="+375"/>
<source>The plugin &apos;%1&apos; uses incompatible Qt library. (%2.%3.%4) [%5]</source>
- <translation>A(z) &apos;%1&apos; beépülő modul inkompatibilis Qt könyvtárat használ. (%2.%3.%4) [%5]</translation>
+ <translation>A(z) &apos;%1&apos; plugin inkompatíbilis Qt függvénykönyvtárat használ. (%2.%3.%4) [%5]</translation>
</message>
<message>
<location line="+20"/>
<source>The plugin &apos;%1&apos; uses incompatible Qt library. Expected build key &quot;%2&quot;, got &quot;%3&quot;</source>
- <translation>A(z) &apos;%1&apos; beépülő modul inkompatibilis Qt könyvtárat használ. A várt építési kulcs &apos;%2&apos;, kapott &apos;%3&apos;</translation>
+ <translation>A(z) &apos;%1&apos; plugin inkompatíbilis Qt függvénykönyvtárat használ. A várt build kucs &quot;%2&quot;, a kapott &quot;%3&quot;</translation>
</message>
<message>
<location line="+365"/>
@@ -2746,77 +4453,78 @@ Mégis törölni szeretné?</translation>
<translation>Ismeretlen hiba</translation>
</message>
<message>
- <location line="-402"/>
+ <location line="-540"/>
+ <location line="+138"/>
<location filename="../src/corelib/plugin/qpluginloader.cpp" line="+343"/>
<source>The shared library was not found.</source>
- <translation>A megosztott könyvtár nem található.</translation>
+ <translation>Az osztott függvénykönyvtár nem található.</translation>
</message>
<message>
<location line="+2"/>
<source>The file &apos;%1&apos; is not a valid Qt plugin.</source>
- <translation>A(z) &apos;%1&apos; fájl nem egy érvényes Qt beépülő modul.</translation>
+ <translation>A(z) &apos;%1&apos; fájl nem érvényes Qt plugin.</translation>
</message>
<message>
<location line="+43"/>
<source>The plugin &apos;%1&apos; uses incompatible Qt library. (Cannot mix debug and release libraries.)</source>
- <translation>A(z) &apos;%1&apos; beépülő modul inkompatibilis Qt könyvtárat használ. (Nem lehet a debug és kiadási könyvtárakat keverni.)</translation>
+ <translation>A(z) &apos;%1&apos; plugin inkompatíbilis Qt könyvtárat használ. (A debug és a release könyvtárak nem keverhetők.)</translation>
</message>
<message>
<location filename="../src/corelib/plugin/qlibrary_unix.cpp" line="+236"/>
<location filename="../src/corelib/plugin/qlibrary_win.cpp" line="+87"/>
<source>Cannot load library %1: %2</source>
- <translation>Nem lehet betölteni a(z) %1 könyvtárat: %2</translation>
+ <translation>A(z) %1 könyvtár nem tölthető be: %2</translation>
</message>
<message>
<location line="+17"/>
<location filename="../src/corelib/plugin/qlibrary_win.cpp" line="+22"/>
<source>Cannot unload library %1: %2</source>
- <translation>Nem lehet kirakni a(z) %1 könyvtárat: %2</translation>
+ <translation>A(z) %1 könyvtár nem távolítható el: %2</translation>
</message>
<message>
<location line="+34"/>
<location filename="../src/corelib/plugin/qlibrary_win.cpp" line="+15"/>
<source>Cannot resolve symbol &quot;%1&quot; in %2: %3</source>
- <translation>Nem lehet megfejteni a(z) &apos;%1&apos; szimbólumot a(z) %2-ben: %3</translation>
+ <translation>A(z) &quot;%1&quot; szimbólum nem oldható fel a(z) %2 könyvtárban: %3</translation>
</message>
</context>
<context>
<name>QLineEdit</name>
<message>
- <location filename="../src/gui/widgets/qlineedit.cpp" line="+2035"/>
- <source>Select All</source>
- <translation>Az összes kiválasztása</translation>
- </message>
- <message>
- <location line="-32"/>
+ <location filename="../src/gui/widgets/qlineedit.cpp" line="+2076"/>
<source>&amp;Undo</source>
<translation>&amp;Visszavonás</translation>
</message>
<message>
<location line="+4"/>
<source>&amp;Redo</source>
- <translation>&amp;Helyreállítás</translation>
+ <translation>Új&amp;ra</translation>
</message>
<message>
- <location line="+7"/>
+ <location line="+9"/>
<source>Cu&amp;t</source>
<translation>&amp;Kivágás</translation>
</message>
<message>
- <location line="+5"/>
+ <location line="+6"/>
<source>&amp;Copy</source>
<translation>&amp;Másolás</translation>
</message>
<message>
- <location line="+5"/>
+ <location line="+6"/>
<source>&amp;Paste</source>
<translation>&amp;Beillesztés</translation>
</message>
<message>
- <location line="+5"/>
+ <location line="+7"/>
<source>Delete</source>
<translation>Törlés</translation>
</message>
+ <message>
+ <location line="+8"/>
+ <source>Select All</source>
+ <translation>Összes kijelölése</translation>
+ </message>
</context>
<context>
<name>QLocalServer</name>
@@ -2824,22 +4532,22 @@ Mégis törölni szeretné?</translation>
<location filename="../src/network/socket/qlocalserver.cpp" line="+224"/>
<location filename="../src/network/socket/qlocalserver_unix.cpp" line="+246"/>
<source>%1: Name error</source>
- <translation>%1: Név hiba</translation>
+ <translation>%1: Hibás név</translation>
</message>
<message>
<location filename="../src/network/socket/qlocalserver_unix.cpp" line="-8"/>
<source>%1: Permission denied</source>
- <translation>%1: Engedély megtagadva</translation>
+ <translation>%1: hozzáférés megtagadva</translation>
</message>
<message>
<location line="+12"/>
<source>%1: Address in use</source>
- <translation>%1: Cím használatban</translation>
+ <translation>%1: A cím már használatban van</translation>
</message>
<message>
<location line="+5"/>
<source>%1: Unknown error %2</source>
- <translation>%1: Ismeretlen hiba %2</translation>
+ <translation>%1: ismeretlen hiba %2</translation>
</message>
</context>
<context>
@@ -2848,19 +4556,19 @@ Mégis törölni szeretné?</translation>
<location filename="../src/network/socket/qlocalsocket_tcp.cpp" line="+132"/>
<location filename="../src/network/socket/qlocalsocket_unix.cpp" line="+139"/>
<source>%1: Connection refused</source>
- <translation>%1: Kapcsolat elutasítva</translation>
+ <translation>%1: A kapcsolat elutasítva</translation>
</message>
<message>
<location line="+3"/>
<location filename="../src/network/socket/qlocalsocket_unix.cpp" line="+3"/>
<source>%1: Remote closed</source>
- <translation>%1: Távol bezárva</translation>
+ <translation>%1: A szerver lezárta a kapcsolatot</translation>
</message>
<message>
<location line="+3"/>
<location filename="../src/network/socket/qlocalsocket_unix.cpp" line="+3"/>
- <location filename="../src/network/socket/qlocalsocket_win.cpp" line="+80"/>
- <location line="+45"/>
+ <location filename="../src/network/socket/qlocalsocket_win.cpp" line="+79"/>
+ <location line="+59"/>
<source>%1: Invalid name</source>
<translation>%1: Érvénytelen név</translation>
</message>
@@ -2868,43 +4576,43 @@ Mégis törölni szeretné?</translation>
<location line="+3"/>
<location filename="../src/network/socket/qlocalsocket_unix.cpp" line="+3"/>
<source>%1: Socket access error</source>
- <translation>%1: Socket hozzáférési hiba</translation>
+ <translation>%1: Socket elérési hiba</translation>
</message>
<message>
<location line="+3"/>
<location filename="../src/network/socket/qlocalsocket_unix.cpp" line="+3"/>
<source>%1: Socket resource error</source>
- <translation>%1: Socket erőforrás hiba</translation>
+ <translation>%1: Socket erőforrás probléma</translation>
</message>
<message>
<location line="+3"/>
<location filename="../src/network/socket/qlocalsocket_unix.cpp" line="+3"/>
<source>%1: Socket operation timed out</source>
- <translation>%1: Socker művelet időtúllépés</translation>
+ <translation>%1: Időtúllépés a socketen</translation>
</message>
<message>
<location line="+3"/>
<location filename="../src/network/socket/qlocalsocket_unix.cpp" line="+3"/>
<source>%1: Datagram too large</source>
- <translation>%1: Túl nagy datagram</translation>
+ <translation>%1: A csomag túl nagy</translation>
</message>
<message>
<location line="+3"/>
<location filename="../src/network/socket/qlocalsocket_unix.cpp" line="+3"/>
- <location filename="../src/network/socket/qlocalsocket_win.cpp" line="-50"/>
+ <location filename="../src/network/socket/qlocalsocket_win.cpp" line="-64"/>
<source>%1: Connection error</source>
- <translation>%1: Kapcsolat hiba</translation>
+ <translation>%1: Kapcsolódási hiba</translation>
</message>
<message>
<location line="+3"/>
<location filename="../src/network/socket/qlocalsocket_unix.cpp" line="+3"/>
<source>%1: The socket operation is not supported</source>
- <translation>%1: A socket művelet nem támogatott</translation>
+ <translation>%1: A kívánt socket művelet nem támogatott</translation>
</message>
<message>
<location line="+4"/>
<source>%1: Unknown error</source>
- <translation>%1: Ismeretlen hiba</translation>
+ <translation>%1: Ismeretlen hiba </translation>
</message>
<message>
<location filename="../src/network/socket/qlocalsocket_unix.cpp" line="+4"/>
@@ -2916,89 +4624,90 @@ Mégis törölni szeretné?</translation>
<context>
<name>QMYSQLDriver</name>
<message>
- <location filename="../src/sql/drivers/mysql/qsql_mysql.cpp" line="+1261"/>
+ <location filename="../src/sql/drivers/mysql/qsql_mysql.cpp" line="+1287"/>
<source>Unable to open database &apos;</source>
- <translation>Nem lehet megnyitni az adatbázist</translation>
+ <translation>Az adatbázis nem nyitható meg: &apos;</translation>
</message>
<message>
<location line="+11"/>
<source>Unable to connect</source>
- <translation>Nem lehet kapcsolódni</translation>
+ <translation>Nem sikerült kapcsolódni</translation>
</message>
<message>
- <location line="+151"/>
+ <location line="+150"/>
<source>Unable to begin transaction</source>
- <translation>Nem lehet megkezdeni a tranzakciót</translation>
+ <translation>A tranzakció nem indítható</translation>
</message>
<message>
<location line="+17"/>
<source>Unable to commit transaction</source>
- <translation>Nem lehet kommitolni a tranzakciót</translation>
+ <translation>A tranzakció nem véglegesíthető</translation>
</message>
<message>
<location line="+17"/>
<source>Unable to rollback transaction</source>
- <translation>Nem lehet visszagörgetni a tranzakciót</translation>
+ <translation>A tranzakció nem görgethető vissza</translation>
</message>
</context>
<context>
<name>QMYSQLResult</name>
<message>
- <location line="-969"/>
+ <location line="-977"/>
+ <location line="+31"/>
<source>Unable to fetch data</source>
- <translation>Nem lehet letölteni az adatot</translation>
+ <translation>Az adat nem olvasható ki</translation>
</message>
<message>
- <location line="+183"/>
+ <location line="+161"/>
<source>Unable to execute query</source>
- <translation>Nem lehet végrehajtani a lekérdezést</translation>
+ <translation>A lekérdezés nem hajtható végre</translation>
</message>
<message>
<location line="+6"/>
<source>Unable to store result</source>
- <translation>Nem lehet tárolni az eredményt</translation>
+ <translation>Az eredmény nem tárolható</translation>
</message>
<message>
<location line="+191"/>
<location line="+8"/>
<source>Unable to prepare statement</source>
- <translation>Nem lehet felkészülni a műveletre</translation>
+ <translation>A művelet előkészítése nem lehetséges</translation>
</message>
<message>
<location line="+37"/>
<source>Unable to reset statement</source>
- <translation>Nem lehet visszaállítani a műveleteket</translation>
+ <translation>A művelet visszaállítása nem lehetséges</translation>
</message>
<message>
<location line="+86"/>
<source>Unable to bind value</source>
- <translation>Nem lehet összekötni az értéket</translation>
+ <translation>A változó kötése sikertelen</translation>
</message>
<message>
<location line="+11"/>
<source>Unable to execute statement</source>
- <translation>Nem lehet végrehajtani az állítást</translation>
+ <translation>A művelet nem hajtható végre</translation>
</message>
<message>
<location line="+14"/>
<location line="+21"/>
<source>Unable to bind outvalues</source>
- <translation>Nem lehet összekötni a kiértékeléseket</translation>
+ <translation>A kimenő érték kötése sikertelen</translation>
</message>
<message>
<location line="-12"/>
<source>Unable to store statement results</source>
- <translation>Nem lehet letárolni a művelet eredményeket</translation>
+ <translation>A művelet eredményének tárolása sikertelen</translation>
</message>
<message>
<location line="-253"/>
<source>Unable to execute next query</source>
- <translation>Nem lehet végrehajtani a következő lekérdezést</translation>
+ <translation>A következő lekérdezés nem hajtható végre</translation>
</message>
<message>
<location line="+10"/>
<source>Unable to store next result</source>
- <translation>Nem lehet letárolni a következő eredményt</translation>
+ <translation>A következő eredmény nem tárolható</translation>
</message>
</context>
<context>
@@ -3006,7 +4715,7 @@ Mégis törölni szeretné?</translation>
<message>
<location filename="../src/gui/widgets/qmdiarea.cpp" line="+290"/>
<source>(Untitled)</source>
- <translation>(Címtelen)</translation>
+ <translation>(Névtelen)</translation>
</message>
</context>
<context>
@@ -3024,22 +4733,22 @@ Mégis törölni szeretné?</translation>
<message>
<location line="-18"/>
<source>Minimize</source>
- <translation>Minimalizálás</translation>
+ <translation>Kis méret</translation>
</message>
<message>
<location line="+13"/>
<source>Restore Down</source>
- <translation>Leállítás</translation>
+ <translation>Előző méret</translation>
</message>
<message>
<location line="+707"/>
<source>&amp;Restore</source>
- <translation>&amp;Letárolás</translation>
+ <translation>&amp;Visszaállítás</translation>
</message>
<message>
<location line="+3"/>
<source>&amp;Move</source>
- <translation>&amp;Mozgatás</translation>
+ <translation>Á&amp;thelyezés</translation>
</message>
<message>
<location line="+1"/>
@@ -3049,17 +4758,17 @@ Mégis törölni szeretné?</translation>
<message>
<location line="+1"/>
<source>Mi&amp;nimize</source>
- <translation>&amp;Minimalizálás</translation>
+ <translation>&amp;Kis méret</translation>
</message>
<message>
<location line="+2"/>
<source>Ma&amp;ximize</source>
- <translation>Ma&amp;ximalizálás</translation>
+ <translation>Te&amp;ljes méret</translation>
</message>
<message>
<location line="+2"/>
<source>Stay on &amp;Top</source>
- <translation>&amp;Tetején maradni</translation>
+ <translation>Mindig leg&amp;felül</translation>
</message>
<message>
<location line="+3"/>
@@ -3067,19 +4776,24 @@ Mégis törölni szeretné?</translation>
<translation>&amp;Bezárás</translation>
</message>
<message>
- <location line="-729"/>
+ <location line="-787"/>
+ <source>- [%1]</source>
+ <translation>- [%1]</translation>
+ </message>
+ <message>
+ <location line="+58"/>
<source>Maximize</source>
- <translation>Maximalizálás</translation>
+ <translation>Teljes méret</translation>
</message>
<message>
<location line="+3"/>
<source>Unshade</source>
- <translation>Árnyékolás megszüntetése</translation>
+ <translation>Legördítés</translation>
</message>
<message>
<location line="+3"/>
<source>Shade</source>
- <translation>Árnyákolás</translation>
+ <translation>Felgördítés</translation>
</message>
<message>
<location line="+6"/>
@@ -3096,10 +4810,31 @@ Mégis törölni szeretné?</translation>
<source>Menu</source>
<translation>Menü</translation>
</message>
+</context>
+<context>
+ <name>QMediaPlayer</name>
+ <message>
+ <source>The QMediaPlayer object does not have a valid service</source>
+ <translation type="obsolete">A QMediaPlayer objektumnak nincs érvényes szolgáltatása</translation>
+ </message>
+</context>
+<context>
+ <name>QMediaPlaylist</name>
+ <message>
+ <source>Could not add items to read only playlist.</source>
+ <translation type="obsolete">Csak olvasható lejátszólistához nem lehet elemeket hozzáadni.</translation>
+ </message>
<message>
- <location line="-79"/>
- <source>- [%1]</source>
- <translation>- [%1]</translation>
+ <source>Playlist format is not supported</source>
+ <translation type="obsolete">A lejátszólista formátuma nem támogatott</translation>
+ </message>
+ <message>
+ <source>The file could not be accessed.</source>
+ <translation type="obsolete">A fájl nem elérhető.</translation>
+ </message>
+ <message>
+ <source>Playlist format is not supported.</source>
+ <translation type="obsolete">A lejátszólista formátuma nem támogatott.</translation>
</message>
</context>
<context>
@@ -3127,15 +4862,68 @@ Mégis törölni szeretné?</translation>
<context>
<name>QMenuBar</name>
<message>
- <location filename="../src/gui/widgets/qmenu_symbian.cpp" line="+410"/>
+ <source>About</source>
+ <translation type="obsolete">Névjegy</translation>
+ </message>
+ <message>
+ <source>Config</source>
+ <translation type="obsolete">Konfiguráció</translation>
+ </message>
+ <message>
+ <source>Preference</source>
+ <translation type="obsolete">Beállítások</translation>
+ </message>
+ <message>
+ <source>Options</source>
+ <translation type="obsolete">Opciók</translation>
+ </message>
+ <message>
+ <source>Setting</source>
+ <translation type="obsolete">Beállítás</translation>
+ </message>
+ <message>
+ <source>Setup</source>
+ <translation type="obsolete">Beállítás</translation>
+ </message>
+ <message>
+ <source>Quit</source>
+ <translation type="obsolete">Kilépés</translation>
+ </message>
+ <message>
+ <source>Exit</source>
+ <translation type="obsolete">Kilépés</translation>
+ </message>
+ <message>
+ <source>About %1</source>
+ <translation type="obsolete">%1 névjegye</translation>
+ </message>
+ <message>
+ <source>About Qt</source>
+ <translation type="obsolete">A Qt névjegye</translation>
+ </message>
+ <message>
+ <source>Preferences</source>
+ <translation type="obsolete">Beállítások</translation>
+ </message>
+ <message>
+ <source>Quit %1</source>
+ <translation type="obsolete">Kilépés: %1</translation>
+ </message>
+ <message>
+ <location filename="../src/gui/widgets/qmenu_symbian.cpp" line="+456"/>
<source>Actions</source>
- <translation>Tevékenységek</translation>
+ <translation>Műveletek</translation>
</message>
</context>
<context>
<name>QMessageBox</name>
<message>
- <location filename="../src/gui/dialogs/qmessagebox.cpp" line="-1964"/>
+ <location filename="../src/gui/dialogs/qmessagebox.cpp" line="-1116"/>
+ <source>Help</source>
+ <translation>Súgó</translation>
+ </message>
+ <message>
+ <location line="-848"/>
<location line="+847"/>
<location filename="../src/gui/dialogs/qmessagebox.h" line="-52"/>
<location line="+8"/>
@@ -3143,42 +4931,83 @@ Mégis törölni szeretné?</translation>
<translation>OK</translation>
</message>
<message>
- <location line="+477"/>
- <source>&lt;h3&gt;About Qt&lt;/h3&gt;&lt;p&gt;This program uses Qt version %1.&lt;/p&gt;</source>
- <translation>&lt;h3&gt;Qt-ról&lt;/h3&gt;&lt;p&gt;Ez a program a(z) %1 Qt verziót használja.&lt;/p&gt;</translation>
+ <source>&lt;p&gt;Qt is a C++ toolkit for cross-platform application development.&lt;/p&gt;&lt;p&gt;Qt provides single-source portability across MS&amp;nbsp;Windows, Mac&amp;nbsp;OS&amp;nbsp;X, Linux, and all major commercial Unix variants. Qt is also available for embedded devices as Qt for Embedded Linux and Qt for Windows CE.&lt;/p&gt;&lt;p&gt;Qt is available under three different licensing options designed to accommodate the needs of our various users.&lt;/p&gt;&lt;p&gt;Qt licensed under our commercial license agreement is appropriate for development of proprietary/commercial software where you do not want to share any source code with third parties or otherwise cannot comply with the terms of the GNU LGPL version 2.1 or GNU GPL version 3.0.&lt;/p&gt;&lt;p&gt;Qt licensed under the GNU LGPL version 2.1 is appropriate for the development of Qt applications (proprietary or open source) provided you can comply with the terms and conditions of the GNU LGPL version 2.1.&lt;/p&gt;&lt;p&gt;Qt licensed under the GNU General Public License version 3.0 is appropriate for the development of Qt applications where you wish to use such applications in combination with software subject to the terms of the GNU GPL version 3.0 or where you are otherwise willing to comply with the terms of the GNU GPL version 3.0.&lt;/p&gt;&lt;p&gt;Please see &lt;a href=&quot;http://qt.nokia.com/products/licensing&quot;&gt;qt.nokia.com/products/licensing&lt;/a&gt; for an overview of Qt licensing.&lt;/p&gt;&lt;p&gt;Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).&lt;/p&gt;&lt;p&gt;Qt is a Nokia product. See &lt;a href=&quot;http://qt.nokia.com/&quot;&gt;qt.nokia.com&lt;/a&gt; for more information.&lt;/p&gt;</source>
+ <translation type="obsolete">&lt;p&gt;A Qt egy C++ eszközkészlet keresztplatformos alkalmazások fejlesztéséhez, mely egyetlen, MS&amp;nbsp;Windows, Mac&amp;nbsp;OS&amp;nbsp;X, Linux, és minden főbb kereskedelmi Unix változat között hordozható forrást ad; valamint elérhető még beágyazott eszközökhöz is, mint Qt beágyazott Linuxhoz és Qt Windows CE-hez.&lt;/p&gt;
+&lt;p&gt;A Qt három különböző licensz alatt érhető el, hogy illeszkedjen a különbőző felhasználói igényekhez:
+&lt;p&gt;A kereskedelmi licenszünk alkalmas saját/kereskedelmi szoftver fejlesztéséhez, ha nem akarja megosztani a forráskódot harmadik partnerrel vagy nem kívánja teljesíteni GNU LGPL v2.1 vagy GNU GPL v3.0 feltételeit.&lt;/p&gt;
+&lt;p&gt;A GNU LGPL v2.1 alá tartozó Qt licensz alkalmas Qt-n alapuló programok fejlesztéséhez (zárt vagy nyílt forrású), amennyiben betartja a GNU LGPL v2.1 kikötéseit és feltételeit.&lt;/p&gt;
+&lt;p&gt;A GNU General Public License v3.0 alá tartozó Qt licensz pedig alkalmas Qt-n alapuló programok fejlesztésére, ahol olyan programok kombinációját kívánja használni, melyek megfelelnek a GNU GPL version 3.0 feltételeinek vagy ahol hajlandó teljesíteni a GNU GPL v3.0 feltételeit.&lt;/p&gt;
+&lt;p&gt;Tekintse át a &lt;a href=&quot;http://qt.nokia.com/products/licensing&quot;&gt;qt.nokia.com/products/licensing&lt;/a&gt; oldalon a Qt licenszeit.&lt;/p&gt;
+&lt;p&gt;Copyright (C) 2009 Nokia Corporation és/vagy annak leányvállalat(-ai).&lt;/p&gt;
+&lt;p&gt;A Qt a Nokia terméke. További információért látogassa meg a &lt;a href=&quot;http://qt.nokia.com/&quot;&gt;qt.nokia.com&lt;/a&gt; honlapot.&lt;/p&gt;</translation>
</message>
<message>
- <location line="+5"/>
- <source>&lt;p&gt;Qt is a C++ toolkit for cross-platform application development.&lt;/p&gt;&lt;p&gt;Qt provides single-source portability across MS&amp;nbsp;Windows, Mac&amp;nbsp;OS&amp;nbsp;X, Linux, and all major commercial Unix variants. Qt is also available for embedded devices as Qt for Embedded Linux and Qt for Windows CE.&lt;/p&gt;&lt;p&gt;Qt is available under three different licensing options designed to accommodate the needs of our various users.&lt;/p&gt;&lt;p&gt;Qt licensed under our commercial license agreement is appropriate for development of proprietary/commercial software where you do not want to share any source code with third parties or otherwise cannot comply with the terms of the GNU LGPL version 2.1 or GNU GPL version 3.0.&lt;/p&gt;&lt;p&gt;Qt licensed under the GNU LGPL version 2.1 is appropriate for the development of Qt applications (proprietary or open source) provided you can comply with the terms and conditions of the GNU LGPL version 2.1.&lt;/p&gt;&lt;p&gt;Qt licensed under the GNU General Public License version 3.0 is appropriate for the development of Qt applications where you wish to use such applications in combination with software subject to the terms of the GNU GPL version 3.0 or where you are otherwise willing to comply with the terms of the GNU GPL version 3.0.&lt;/p&gt;&lt;p&gt;Please see &lt;a href=&quot;http://qt.nokia.com/products/licensing&quot;&gt;qt.nokia.com/products/licensing&lt;/a&gt; for an overview of Qt licensing.&lt;/p&gt;&lt;p&gt;Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).&lt;/p&gt;&lt;p&gt;Qt is a Nokia product. See &lt;a href=&quot;http://qt.nokia.com/&quot;&gt;qt.nokia.com&lt;/a&gt; for more information.&lt;/p&gt;</source>
- <translation></translation>
+ <location line="+513"/>
+ <source>About Qt</source>
+ <translation>A Qt névjegye</translation>
</message>
<message>
- <location line="+31"/>
- <source>About Qt</source>
- <translation>Qt-ról</translation>
+ <source>&lt;p&gt;This program uses Qt version %1.&lt;/p&gt;</source>
+ <translation type="obsolete">&lt;p&gt;A program a Qt %1 verzióját használja.&lt;/p&gt;</translation>
</message>
<message>
- <location line="-512"/>
- <source>Help</source>
- <translation>Súgó</translation>
+ <source>&lt;h3&gt;About Qt&lt;/h3&gt;%1&lt;p&gt;Qt is a C++ toolkit for cross-platform application development.&lt;/p&gt;&lt;p&gt;Qt provides single-source portability across MS&amp;nbsp;Windows, Mac&amp;nbsp;OS&amp;nbsp;X, Linux, and all major commercial Unix variants. Qt is also available for embedded devices as Qtopia Core.&lt;/p&gt;&lt;p&gt;Qt is a Trolltech product. See &lt;a href=&quot;http://www.trolltech.com/qt/&quot;&gt;www.trolltech.com/qt/&lt;/a&gt; for more information.&lt;/p&gt;</source>
+ <translation type="obsolete">&lt;h3&gt;A Qt névjegye&lt;/h3&gt;%1&lt;p&gt;A Qt egy C++ eszközkészlet a kereszt-platformos alkalmazásfejlesztéshez.&lt;/p&gt;&lt;p&gt;A Qt egy-forrású hordozhatóságot biztosít az MS&amp;nbsp;Windows, a Mac&amp;nbsp;OS&amp;nbsp;X, a Linux, és az összes nagyobb kereskedelmi Unix változat között. A Qt mobileszközökhöz is elérhető, pl. Qtopia Core.&lt;/p&gt;&lt;p&gt;A Qt a Trolltech terméke. További információk: &lt;a href=&quot;http://www.trolltech.com/qt/&quot;&gt;www.trolltech.com/qt/&lt;/a&gt; .&lt;/p&gt;</translation>
</message>
<message>
- <location line="-1099"/>
+ <location line="-1641"/>
<source>Show Details...</source>
<translation>Részletek megjelenítése...</translation>
</message>
<message>
- <location line="+1"/>
+ <location line="+0"/>
<source>Hide Details...</source>
<translation>Részletek elrejtése...</translation>
</message>
+ <message>
+ <location line="+1605"/>
+ <source>&lt;h3&gt;About Qt&lt;/h3&gt;&lt;p&gt;This program uses Qt version %1.&lt;/p&gt;</source>
+ <translation>&lt;h3&gt;Qt névjegye&lt;/h3&gt;&lt;p&gt;Ez a program a Qt %1 verzióját használja.&lt;/p&gt;</translation>
+ </message>
+ <message>
+ <location line="+5"/>
+ <source>&lt;p&gt;Qt is a C++ toolkit for cross-platform application development.&lt;/p&gt;&lt;p&gt;Qt provides single-source portability across MS&amp;nbsp;Windows, Mac&amp;nbsp;OS&amp;nbsp;X, Linux, and all major commercial Unix variants. Qt is also available for embedded devices as Qt for Embedded Linux and Qt for Windows CE.&lt;/p&gt;&lt;p&gt;Qt is available under three different licensing options designed to accommodate the needs of our various users.&lt;/p&gt;&lt;p&gt;Qt licensed under our commercial license agreement is appropriate for development of proprietary/commercial software where you do not want to share any source code with third parties or otherwise cannot comply with the terms of the GNU LGPL version 2.1 or GNU GPL version 3.0.&lt;/p&gt;&lt;p&gt;Qt licensed under the GNU LGPL version 2.1 is appropriate for the development of Qt applications (proprietary or open source) provided you can comply with the terms and conditions of the GNU LGPL version 2.1.&lt;/p&gt;&lt;p&gt;Qt licensed under the GNU General Public License version 3.0 is appropriate for the development of Qt applications where you wish to use such applications in combination with software subject to the terms of the GNU GPL version 3.0 or where you are otherwise willing to comply with the terms of the GNU GPL version 3.0.&lt;/p&gt;&lt;p&gt;Please see &lt;a href=&quot;http://qt.nokia.com/products/licensing&quot;&gt;qt.nokia.com/products/licensing&lt;/a&gt; for an overview of Qt licensing.&lt;/p&gt;&lt;p&gt;Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).&lt;/p&gt;&lt;p&gt;Qt is a Nokia product. See &lt;a href=&quot;http://qt.nokia.com/&quot;&gt;qt.nokia.com&lt;/a&gt; for more information.&lt;/p&gt;</source>
+ <translation>&lt;p&gt;A Qt egy C++ eszközkészlet keresztplatformos alkalmazások fejlesztéséhez, mely egyetlen, MS&amp;nbsp;Windows, Mac&amp;nbsp;OS&amp;nbsp;X, Linux, és minden főbb kereskedelmi Unix változat között hordozható forrást ad; valamint elérhető még beágyazott eszközökhöz is, mint Qt beágyazott Linuxhoz és Qt Windows CE-hez.&lt;/p&gt;
+&lt;p&gt;A Qt három különböző licensz alatt érhető el, hogy illeszkedjen a különbőző felhasználói igényekhez:
+&lt;p&gt;A kereskedelmi licenszünk alkalmas saját/kereskedelmi szoftver fejlesztéséhez, ha nem akarja megosztani a forráskódot harmadik partnerrel vagy nem kívánja teljesíteni GNU LGPL v2.1 vagy GNU GPL v3.0 feltételeit.&lt;/p&gt;
+&lt;p&gt;A GNU LGPL v2.1 alá tartozó Qt licensz alkalmas Qt-n alapuló programok fejlesztéséhez (zárt vagy nyílt forrású), amennyiben betartja a GNU LGPL v2.1 kikötéseit és feltételeit.&lt;/p&gt;
+&lt;p&gt;A GNU General Public License v3.0 alá tartozó Qt licensz pedig alkalmas Qt-n alapuló programok fejlesztésére, ahol olyan programok kombinációját kívánja használni, melyek megfelelnek a GNU GPL version 3.0 feltételeinek vagy ahol hajlandó teljesíteni a GNU GPL v3.0 feltételeit.&lt;/p&gt;
+&lt;p&gt;Tekintse át a &lt;a href=&quot;http://qt.nokia.com/products/licensing&quot;&gt;qt.nokia.com/products/licensing&lt;/a&gt; oldalon a Qt licenszeit.&lt;/p&gt;
+&lt;p&gt;Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).&lt;/p&gt;
+&lt;p&gt;A Qt a Nokia terméke. További információért látogassa meg a &lt;a href=&quot;http://qt.nokia.com/&quot;&gt;qt.nokia.com&lt;/a&gt; honlapot.&lt;/p&gt;</translation>
+ </message>
+ <message>
+ <source>&lt;p&gt;Qt is a C++ toolkit for cross-platform application development.&lt;/p&gt;&lt;p&gt;Qt provides single-source portability across MS&amp;nbsp;Windows, Mac&amp;nbsp;OS&amp;nbsp;X, Linux, and all major commercial Unix variants. Qt is also available for embedded devices as Qt for Embedded Linux and Qt for Windows CE.&lt;/p&gt;&lt;p&gt;Qt is available under three different licensing options designed to accommodate the needs of our various users.&lt;/p&gt;&lt;p&gt;Qt licensed under our commercial license agreement is appropriate for development of proprietary/commercial software where you do not want to share any source code with third parties or otherwise cannot comply with the terms of the GNU LGPL version 2.1 or GNU GPL version 3.0.&lt;/p&gt;&lt;p&gt;Qt licensed under the GNU LGPL version 2.1 is appropriate for the development of Qt applications (proprietary or open source) provided you can comply with the terms and conditions of the GNU LGPL version 2.1.&lt;/p&gt;&lt;p&gt;Qt licensed under the GNU General Public License version 3.0 is appropriate for the development of Qt applications where you wish to use such applications in combination with software subject to the terms of the GNU GPL version 3.0 or where you are otherwise willing to comply with the terms of the GNU GPL version 3.0.&lt;/p&gt;&lt;p&gt;Please see &lt;a href=&quot;http://www.qtsoftware.com/products/licensing&quot;&gt;www.qtsoftware.com/products/licensing&lt;/a&gt; for an overview of Qt licensing.&lt;/p&gt;&lt;p&gt;Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).&lt;/p&gt;&lt;p&gt;Qt is a Nokia product. See &lt;a href=&quot;http://www.qtsoftware.com/qt/&quot;&gt;www.qtsoftware.com/qt&lt;/a&gt; for more information.&lt;/p&gt;</source>
+ <translatorcomment>Needing review, but basically accepted string.</translatorcomment>
+ <translation type="obsolete">&lt;p&gt;A Qt egy C++ eszközkészlet keresztplatformos alkalmazások fejlesztéséhez, mely egyetlen, MS&amp;nbsp;Windows, Mac&amp;nbsp;OS&amp;nbsp;X, Linux, és minden főbb kereskedelmi Unix változat között hordozható forrást ad; valamint elérhető még beágyazott eszközökhöz is, mint Qt beágyazott Linuxhoz és Qt Windows CE-hez.&lt;/p&gt;
+&lt;p&gt;A Qt három különböző licensz alatt érhető el, hogy illeszkedjen a különbőző felhasználói igényekhez:
+&lt;p&gt;A kereskedelmi licenszünk alkalmas saját/kereskedelmi szoftver fejlesztéséhez, ha nem akarja megosztani a forráskódot harmadik partnerrel vagy nem kívánja teljesíteni GNU LGPL v2.1 vagy GNU GPL v3.0 feltételeit.&lt;/p&gt;
+&lt;p&gt;A GNU LGPL v2.1 alá tartozó Qt licensz alkalmas Qt-n alapuló programok fejlesztéséhez (zárt vagy nyílt forrású), amennyiben betartja a GNU LGPL v2.1 kikötéseit és feltételeit.&lt;/p&gt;
+&lt;p&gt;A GNU General Public License v3.0 alá tartozó Qt licensz pedig alkalmas Qt-n alapuló programok fejlesztésére, ahol olyan programok kombinációját kívánja használni, melyek megfelelnek a GNU GPL version 3.0 feltételeinek vagy ahol hajlandó teljesíteni a GNU GPL v3.0 feltételeit.&lt;/p&gt;
+&lt;p&gt;Tekintse át a &lt;a href=&quot;http://www.qtsoftware.com/products/licensing&quot;&gt;www.qtsoftware.com/products/licensing&lt;/a&gt; oldalon a Qt licenszeit.&lt;/p&gt;
+&lt;p&gt;Copyright (C) 2009 Nokia Corporation és/vagy annak leányvállalat(-ai).&lt;/p&gt;
+&lt;p&gt;A Qt a Nokia terméke. További információért látogassa meg a &lt;a href=&quot;http://www.qtsoftware.com/qt/&quot;&gt;www.qtsoftware.com/qt&lt;/a&gt; honlapot.&lt;/p&gt;</translation>
+ </message>
+ <message>
+ <source>&lt;p&gt;This program uses Qt Open Source Edition version %1.&lt;/p&gt;&lt;p&gt;Qt Open Source Edition is intended for the development of Open Source applications. You need a commercial Qt license for development of proprietary (closed source) applications.&lt;/p&gt;&lt;p&gt;Please see &lt;a href=&quot;http://www.trolltech.com/company/model/&quot;&gt;www.trolltech.com/company/model/&lt;/a&gt; for an overview of Qt licensing.&lt;/p&gt;</source>
+ <translation type="obsolete">&lt;p&gt;A programa Qt Open Source Edition %1 verziót használja.&lt;/p&gt;&lt;p&gt;A Qt Open Source Edition az Open Source (nyílt forrású) alkalmazások fejlesztéséhez készült. Zárt forrású alkalmazások fejlesztéséhez a kereskedelmi Qt licenszre van szükség.&lt;/p&gt;&lt;p&gt;A Qt licenszeléséről további információ a &lt;a href=&quot;http://www.trolltech.com/company/model/&quot;&gt;www.trolltech.com/company/model/&lt;/a&gt; oldalon található.&lt;/p&gt;</translation>
+ </message>
+ <message>
+ <source>&lt;h3&gt;About Qt&lt;/h3&gt;%1&lt;p&gt;Qt is a C++ toolkit for cross-platform application development.&lt;/p&gt;&lt;p&gt;Qt provides single-source portability across MS&amp;nbsp;Windows, Mac&amp;nbsp;OS&amp;nbsp;X, Linux, and all major commercial Unix variants. Qt is also available for embedded devices as Qt Embedded.&lt;/p&gt;&lt;p&gt;Qt is a Trolltech product. See &lt;a href=&quot;http://www.trolltech.com/qt/&quot;&gt;www.trolltech.com/qt/&lt;/a&gt; for more information.&lt;/p&gt;</source>
+ <translation type="obsolete">&lt;h3&gt;A Qt névjegye&lt;/h3&gt;%1&lt;p&gt;A Qt egy átfogó C++ környezet keresztplatformos alkalmazások fejlesztéséhez.&lt;/p&gt;&lt;p&gt;A Qt kódhordozhatóságot biztosít MS&amp;nbsp;Windows, Mac&amp;nbsp;OS&amp;nbsp;X, Linux, és a legtöbb kereskedelmi Unix-variáns között. A Qt Embedded lehetővá teszi a Qt-t beágyazott eszközön való használatát.&lt;/p&gt;&lt;p&gt;A Qt a Trolltech cég terméke. További információkért tekintse meg a &lt;a href=&quot;http://www.trolltech.com/qt/&quot;&gt;www.trolltech.com/qt/&lt;/a&gt; oldalt.&lt;/p&gt;</translation>
+ </message>
</context>
<context>
<name>QMultiInputContext</name>
<message>
<location filename="../src/plugins/inputmethods/imsw-multi/qmultiinputcontext.cpp" line="+88"/>
<source>Select IM</source>
- <translation>IM kiválasztása</translation>
+ <translation>Beviteli mód kiválasztása</translation>
</message>
</context>
<context>
@@ -3186,30 +5015,30 @@ Mégis törölni szeretné?</translation>
<message>
<location filename="../src/plugins/inputmethods/imsw-multi/qmultiinputcontextplugin.cpp" line="+95"/>
<source>Multiple input method switcher</source>
- <translation>Összetett beviteli eljárás kapcsoló</translation>
+ <translation>Beviteli mód választó</translation>
</message>
<message>
<location line="+7"/>
<source>Multiple input method switcher that uses the context menu of the text widgets</source>
- <translation>Összetett beviteli eljárás kapcsoló, ami a szöveg widgetek menü összefüggéseit használja</translation>
+ <translation>A szöveg elemeken megjelenítendő felbukkanó beviteli mód választó</translation>
</message>
</context>
<context>
<name>QNativeSocketEngine</name>
<message>
- <location filename="../src/network/socket/qnativesocketengine.cpp" line="+206"/>
+ <location filename="../src/network/socket/qnativesocketengine.cpp" line="+209"/>
<source>The remote host closed the connection</source>
- <translation>A távoli hoszt bezárta a kapcsolatot</translation>
+ <translation>A távoli kiszolgáló bezárta a kapcsolatot</translation>
</message>
<message>
<location line="+3"/>
<source>Network operation timed out</source>
- <translation>Hálózati művelet időtúllépése</translation>
+ <translation>Időtúllépés hálózati művelet során</translation>
</message>
<message>
<location line="+3"/>
<source>Out of resources</source>
- <translation>Kifogytak az erőforrások</translation>
+ <translation>Az erőforrások elfogytak</translation>
</message>
<message>
<location line="+3"/>
@@ -3219,7 +5048,7 @@ Mégis törölni szeretné?</translation>
<message>
<location line="+3"/>
<source>Protocol type not supported</source>
- <translation>Nem támogatott protokoll típus</translation>
+ <translation>Nem támogatott protokoll</translation>
</message>
<message>
<location line="+3"/>
@@ -3229,27 +5058,27 @@ Mégis törölni szeretné?</translation>
<message>
<location line="+6"/>
<source>Network unreachable</source>
- <translation>A hálózat nem elérhető</translation>
+ <translation>A hálózat nem érhető el</translation>
</message>
<message>
<location line="+3"/>
<source>Permission denied</source>
- <translation>Engedély megtagadva</translation>
+ <translation>Hozzáférés megtagadva</translation>
</message>
<message>
<location line="+3"/>
<source>Connection timed out</source>
- <translation>Kapcsolat időtúllépés</translation>
+ <translation>A kapcsolat várakozási ideje lejárt</translation>
</message>
<message>
<location line="+3"/>
<source>Connection refused</source>
- <translation>Kapcsolat elutasítva</translation>
+ <translation>A kapcsolat elutasítva</translation>
</message>
<message>
<location line="+3"/>
<source>The bound address is already in use</source>
- <translation>A cím összeköttetés már használatban van</translation>
+ <translation>A lefoglalandó cím használatban van</translation>
</message>
<message>
<location line="+3"/>
@@ -3264,17 +5093,17 @@ Mégis törölni szeretné?</translation>
<message>
<location line="+6"/>
<source>Unable to send a message</source>
- <translation>Nem lehet üzenetet küldeni</translation>
+ <translation>Nem küldhető üzenet</translation>
</message>
<message>
<location line="+3"/>
<source>Unable to receive a message</source>
- <translation>Nem lehet megkapni az üzeneteket</translation>
+ <translation>Nem fogadható üzenet</translation>
</message>
<message>
<location line="+3"/>
<source>Unable to write</source>
- <translation>Nem lehet írni</translation>
+ <translation>Nem írható</translation>
</message>
<message>
<location line="+3"/>
@@ -3284,37 +5113,37 @@ Mégis törölni szeretné?</translation>
<message>
<location line="+3"/>
<source>Another socket is already listening on the same port</source>
- <translation>Egy másik socker már ugyanazon a porton figyel</translation>
+ <translation>Egy másik socket már figyel ezen a porton</translation>
</message>
<message>
<location line="-66"/>
<source>Unable to initialize non-blocking socket</source>
- <translation>Nem lehet inicializálni egy nem blokkoló socketet</translation>
+ <translation>A nem-blokkolo socket előkészítése sikertelen</translation>
</message>
<message>
<location line="+3"/>
<source>Unable to initialize broadcast socket</source>
- <translation>Nem lehet inicializálni a socket közvetítőt</translation>
+ <translation>A broadcast socket előkészítése sikertelen</translation>
</message>
<message>
<location line="+3"/>
<source>Attempt to use IPv6 socket on a platform with no IPv6 support</source>
- <translation>IPv6 socket használatának kipróbálása olyan platformon, amelyik nem támogatja az IPv6-t</translation>
+ <translation>IPv6 socket használatának kísérlete IPv6 támogatás nélküli platformon</translation>
</message>
<message>
<location line="+21"/>
<source>Host unreachable</source>
- <translation>A hoszt nem elérhető</translation>
+ <translation>A kiszolgáló nem érhető el</translation>
</message>
<message>
<location line="+24"/>
<source>Datagram was too large to send</source>
- <translation>A datagram túl nagy volt elküldésre</translation>
+ <translation>A csomag mérete miatt nem küldhető el</translation>
</message>
<message>
<location line="+18"/>
<source>Operation on non-socket</source>
- <translation>Nem socketen végzett művelet</translation>
+ <translation>Socket művelet érvénytelen eszközön</translation>
</message>
<message>
<location line="+6"/>
@@ -3324,7 +5153,7 @@ Mégis törölni szeretné?</translation>
<message>
<location line="-3"/>
<source>The proxy type is invalid for this operation</source>
- <translation>A proxy típusa ismeretlen erre a műveletre</translation>
+ <translation>A proxy típusa nem megfelelő a művelethez</translation>
</message>
</context>
<context>
@@ -3332,7 +5161,20 @@ Mégis törölni szeretné?</translation>
<message>
<location filename="../src/network/access/qnetworkaccesscachebackend.cpp" line="+66"/>
<source>Error opening %1</source>
- <translation>Hiba történt a(z) %1 megnyitása közben</translation>
+ <translation>Hiba %1 megnyitásakor</translation>
+ </message>
+</context>
+<context>
+ <name>QNetworkAccessDataBackend</name>
+ <message>
+ <location filename="../src/network/access/qnetworkaccessdatabackend.cpp" line="+76"/>
+ <source>Operation not supported on %1</source>
+ <translation>A művelett nem támogatott a(z) %1-n</translation>
+ </message>
+ <message>
+ <location line="+25"/>
+ <source>Invalid URI: %1</source>
+ <translation>Érvénytelen cím: %1</translation>
</message>
</context>
<context>
@@ -3340,38 +5182,48 @@ Mégis törölni szeretné?</translation>
<message>
<location filename="../src/network/access/qnetworkaccessdebugpipebackend.cpp" line="+195"/>
<source>Write error writing to %1: %2</source>
- <translation>Írása hiba történt a(z) %1-be történő írás közben: %2</translation>
+ <translation>Hiba a(z) %1 kiírásakor: %2</translation>
+ </message>
+ <message>
+ <location line="+60"/>
+ <source>Socket error on %1: %2</source>
+ <translation>Socket hiba a(z) %1-n: %2</translation>
+ </message>
+ <message>
+ <location line="+15"/>
+ <source>Remote host closed the connection prematurely on %1</source>
+ <translation>A(z) %1 gép idő előtt megszakította a kapcsolatot</translation>
</message>
</context>
<context>
<name>QNetworkAccessFileBackend</name>
<message>
- <location filename="../src/network/access/qfilenetworkreply.cpp" line="+83"/>
+ <location filename="../src/network/access/qfilenetworkreply.cpp" line="+85"/>
<location filename="../src/network/access/qnetworkaccessfilebackend.cpp" line="+100"/>
<source>Request for opening non-local file %1</source>
- <translation>Kérés a(z) %1 nem helyi fál megnyitására</translation>
+ <translation>Nem helyi fájl megnyitásának kísérlete: %1</translation>
</message>
<message>
- <location line="+31"/>
+ <location line="+33"/>
<location filename="../src/network/access/qnetworkaccessfilebackend.cpp" line="+45"/>
<source>Error opening %1: %2</source>
- <translation>Hiba történt a(z) %1 megnyitása közben: %2</translation>
+ <translation>Hiba a(z) %1 megnyitásakor: %2</translation>
</message>
<message>
<location filename="../src/network/access/qnetworkaccessfilebackend.cpp" line="+38"/>
<source>Write error writing to %1: %2</source>
- <translation>Írási hiba történt a(z) %1-be írás közben: %2</translation>
+ <translation>Hiba a(z) %1 kiírásakor: %2</translation>
</message>
<message>
- <location filename="../src/network/access/qfilenetworkreply.cpp" line="-11"/>
+ <location filename="../src/network/access/qfilenetworkreply.cpp" line="-13"/>
<location filename="../src/network/access/qnetworkaccessfilebackend.cpp" line="+48"/>
<source>Cannot open %1: Path is a directory</source>
- <translation>Nem lehet megnyitni a(z) %1-t: az útvonal egy könyvtár</translation>
+ <translation>Sikertelen megnyitás: %1 egy könyvtár</translation>
</message>
<message>
<location filename="../src/network/access/qnetworkaccessfilebackend.cpp" line="+21"/>
<source>Read error reading from %1: %2</source>
- <translation>Olvasási hiba történt a(z) %1-ból való olvasás közben: %2</translation>
+ <translation>Hiba a(z) %1 olvasása közben: %2</translation>
</message>
</context>
<context>
@@ -3379,86 +5231,161 @@ Mégis törölni szeretné?</translation>
<message>
<location filename="../src/network/access/qnetworkaccessftpbackend.cpp" line="+131"/>
<source>No suitable proxy found</source>
- <translation>Nem található megfelelő proxy</translation>
+ <translation>Nincs megfelelő proxy</translation>
</message>
<message>
<location line="+14"/>
<source>Cannot open %1: is a directory</source>
- <translation>Nem lehet megnyitni a(z) %1 t, mert az egy könyvtár</translation>
+ <translation>Sikertelen megnyitás: %1 egy könyvtár</translation>
</message>
<message>
<location line="+112"/>
<source>Logging in to %1 failed: authentication required</source>
- <translation>A(z) %1-be történő loggolás nem sikerült: hitelesítés szükséges</translation>
+ <translation>A bejelentkezés sikertelen ide: %1, hitelesítés szükséges</translation>
</message>
<message>
<location line="+39"/>
<source>Error while downloading %1: %2</source>
- <translation>Hiba történt a(z) %1 letöltése közben: %2</translation>
+ <translation>Hiba a(z) %1 letöltésekor: %2</translation>
</message>
<message>
<location line="+2"/>
<source>Error while uploading %1: %2</source>
- <translation>Hiba történt a(z) %1 feltöltése közben: %2</translation>
+ <translation>Hiba a(z) %1 feltöltésekor: %2</translation>
</message>
</context>
<context>
<name>QNetworkAccessHttpBackend</name>
<message>
- <location filename="../src/network/access/qnetworkaccesshttpbackend.cpp" line="+585"/>
+ <location filename="../src/network/access/qnetworkaccesshttpbackend.cpp" line="+652"/>
<source>No suitable proxy found</source>
- <translation>Nem található megfelelő proxy</translation>
+ <translation>Nincs megfelelő proxy</translation>
+ </message>
+</context>
+<context>
+ <name>QNetworkAccessManager</name>
+ <message>
+ <location filename="../src/network/access/qnetworkreplyimpl.cpp" line="+942"/>
+ <source>Network access is disabled.</source>
+ <translation>A hozzáférés a hálózathoz le van tiltva.</translation>
</message>
</context>
<context>
<name>QNetworkReply</name>
<message>
- <location line="+95"/>
+ <location filename="../src/network/access/qnetworkaccesshttpbackend.cpp" line="+100"/>
<source>Error downloading %1 - server replied: %2</source>
- <translation>Hiba történt a(z) %1 letöltése közben - a szerver válasza: %2</translation>
+ <translation>Hiba %1 letöltésekor - a szerver válasza: %2</translation>
</message>
<message>
- <location filename="../src/network/access/qnetworkreplyimpl.cpp" line="+77"/>
+ <location filename="../src/network/access/qnetworkreplyimpl.cpp" line="-860"/>
<source>Protocol &quot;%1&quot; is unknown</source>
- <translation>A(z) &apos;%1&apos; protokoll ismeretlen</translation>
+ <translation>Ismeretlen protokoll: &quot;%1&quot;</translation>
+ </message>
+ <message>
+ <location line="+192"/>
+ <source>Network session error.</source>
+ <translatorcomment>CHECKIT</translatorcomment>
+ <translation type="unfinished">Hálozati munkamenet hiba.</translation>
+ </message>
+ <message>
+ <location line="+352"/>
+ <source>Temporary network failure.</source>
+ <translation>Ideiglenes hálózati hiba.</translation>
</message>
</context>
<context>
<name>QNetworkReplyImpl</name>
<message>
- <location line="+519"/>
+ <location line="+120"/>
<location line="+28"/>
<source>Operation canceled</source>
- <translation>Művelet visszavonása</translation>
+ <translation>A művelet megszakítva</translation>
</message>
</context>
<context>
- <name>QOCIDriver</name>
+ <name>QNetworkSession</name>
<message>
- <location filename="../src/sql/drivers/oci/qsql_oci.cpp" line="+2083"/>
- <source>Unable to logon</source>
- <translation>Nem lehet bejelentkezni</translation>
+ <location filename="../src/network/bearer/qnetworksession.cpp" line="+449"/>
+ <source>Invalid configuration.</source>
+ <translation>Érvénytelen konfiguráció.</translation>
+ </message>
+</context>
+<context>
+ <name>QNetworkSessionPrivateImpl</name>
+ <message>
+ <location filename="../src/plugins/bearer/icd/qnetworksession_impl.cpp" line="+1005"/>
+ <source>Roaming error</source>
+ <translation>Roaming hiba</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>Session aborted by user or system</source>
+ <translation>A munkamenetet a felhasználó vagy a rendszer megszakította</translation>
+ </message>
+ <message>
+ <location line="+4"/>
+ <source>Unidentified Error</source>
+ <translation>Azonosítatlan hiba</translation>
+ </message>
+ <message>
+ <location filename="../src/plugins/bearer/qnetworksession_impl.cpp" line="+272"/>
+ <location filename="../src/plugins/bearer/symbian/qnetworksession_impl.cpp" line="+271"/>
+ <source>Unknown session error.</source>
+ <translation>Ismeretlen hiba a munkamenetben.</translation>
</message>
<message>
- <location line="-144"/>
+ <location line="+2"/>
+ <location filename="../src/plugins/bearer/symbian/qnetworksession_impl.cpp" line="+2"/>
+ <source>The session was aborted by the user or system.</source>
+ <translation>A munkamenetet a felhasználó vagy a rendszer megszakította.</translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <location filename="../src/plugins/bearer/symbian/qnetworksession_impl.cpp" line="+2"/>
+ <source>The requested operation is not supported by the system.</source>
+ <translation>A kért műveletet a rendszer nem támogatja.</translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <location filename="../src/plugins/bearer/symbian/qnetworksession_impl.cpp" line="+2"/>
+ <source>The specified configuration cannot be used.</source>
+ <translation>A megadott konfiguráció nem használható.</translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <location filename="../src/plugins/bearer/symbian/qnetworksession_impl.cpp" line="+2"/>
+ <source>Roaming was aborted or is not possible.</source>
+ <translation>A roaming megszakadt, vagy nem lehetséges.</translation>
+ </message>
+</context>
+<context>
+ <name>QOCIDriver</name>
+ <message>
+ <location filename="../src/sql/drivers/oci/qsql_oci.cpp" line="+1944"/>
<source>Unable to initialize</source>
<comment>QOCIDriver</comment>
- <translation>Nem lehet inicializálni</translation>
+ <translation>Az inicializálás nem lehetséges</translation>
</message>
<message>
- <location line="+215"/>
+ <location line="+144"/>
+ <source>Unable to logon</source>
+ <translation>A bejelentkezés nem lehetséges</translation>
+ </message>
+ <message>
+ <location line="+71"/>
<source>Unable to begin transaction</source>
- <translation>Nem lehet megkezdeni a tranzakciót</translation>
+ <translation>A tranzakció nem indítható</translation>
</message>
<message>
<location line="+19"/>
<source>Unable to commit transaction</source>
- <translation>Nem lehet kommitolni a tranzakciót</translation>
+ <translation>A tranzakció nem véglegesíthető</translation>
</message>
<message>
<location line="+19"/>
<source>Unable to rollback transaction</source>
- <translation>Nem lehet visszagörgetni a tranzakciót</translation>
+ <translation>A tranzakció nem görgethető vissza</translation>
</message>
</context>
<context>
@@ -3468,167 +5395,198 @@ Mégis törölni szeretné?</translation>
<location line="+168"/>
<location line="+15"/>
<source>Unable to bind column for batch execute</source>
- <translation>Nem lehet összekötni az oszlopot köteg végrehajtásra</translation>
+ <translation>Az oszlop kötegelt végrehajtáshoz kötése sikertelen</translation>
</message>
<message>
<location line="+15"/>
<source>Unable to execute batch statement</source>
- <translation>Nem lehet végrehajtani a köteg állítást</translation>
- </message>
- <message>
- <location line="+304"/>
- <source>Unable to goto next</source>
- <translation>Nem lehet a következőre ugrani</translation>
+ <translation>A kötegelt utasítások végrehajtása sikertelen</translation>
</message>
<message>
- <location line="+59"/>
+ <location line="+363"/>
<source>Unable to alloc statement</source>
- <translation>Nem lehet helyet lefoglalni az állításnak</translation>
+ <translation>Az utasítás lefoglalása sikertelen</translation>
</message>
<message>
<location line="+15"/>
<source>Unable to prepare statement</source>
- <translation>Nem lehet felkészülni a műveletre</translation>
+ <translation>Az utasítás előkészítése sikertelen</translation>
</message>
<message>
<location line="+26"/>
<source>Unable to get statement type</source>
- <translation>Nem lehet megszerezni az állítás típusát</translation>
+ <translation>Az utasítás típusa nem ismert</translation>
</message>
<message>
<location line="+20"/>
<source>Unable to bind value</source>
- <translation>Nem lehet összekötni az értéket</translation>
+ <translation>A változó kötése sikertelen</translation>
</message>
<message>
<location line="+19"/>
<source>Unable to execute statement</source>
- <translation>Nem lehet végrehajtani az állítást</translation>
+ <translation>Az utasítás nem végrehajtható</translation>
+ </message>
+ <message>
+ <location line="-139"/>
+ <source>Unable to goto next</source>
+ <translation>Nem lehet a következőre lépni</translation>
</message>
</context>
<context>
<name>QODBCDriver</name>
<message>
- <location filename="../src/sql/drivers/odbc/qsql_odbc.cpp" line="+1790"/>
+ <location filename="../src/sql/drivers/odbc/qsql_odbc.cpp" line="+1888"/>
<source>Unable to connect</source>
- <translation>Nem lehet kapcsolódni</translation>
+ <translation>Nem sikerült kapcsolódni</translation>
</message>
<message>
- <location line="+238"/>
+ <location line="+269"/>
<source>Unable to disable autocommit</source>
- <translation>Nem lehet letiltani az automatikus kommitolást</translation>
+ <translation>Az automatikus véglegesítés nem tiltható le</translation>
</message>
<message>
<location line="+17"/>
<source>Unable to commit transaction</source>
- <translation>Nem lehet kommitolni a tranzakciót</translation>
+ <translation>A tranzakció nem véglegesíthető</translation>
</message>
<message>
<location line="+17"/>
<source>Unable to rollback transaction</source>
- <translation>Nem lehet visszagörgetni a tranzakciót</translation>
+ <translation>A tranzakció nem görgethető vissza</translation>
</message>
<message>
<location line="+15"/>
<source>Unable to enable autocommit</source>
- <translation>Nem lehet engedélyezni az automatikus kommitolást</translation>
+ <translation>Az automatikus véglegesítés nem engedélyezhető</translation>
</message>
<message>
- <location line="-281"/>
+ <location line="-312"/>
<source>Unable to connect - Driver doesn&apos;t support all functionality required</source>
- <translation>Nem lehet csatlakozni- A vezérlő nem támogatja az összes szükséges funkciót</translation>
+ <translation>Nem sikerült kapcsolódni - A driver nem támogat minden szükséges szolgáltatást</translation>
</message>
</context>
<context>
<name>QODBCResult</name>
<message>
- <location line="-932"/>
- <location line="+346"/>
+ <location line="-941"/>
+ <location line="+351"/>
<source>QODBCResult::reset: Unable to set &apos;SQL_CURSOR_STATIC&apos; as statement attribute. Please check your ODBC driver configuration</source>
- <translation>QODBCEredmény::Visszaállítás: Nen lehet beállítani az &apos;SQL_CURSOR_STATIC&apos; állítás attribútumra. Kérem ellenőrizze le az ODBC vezérlő konfigurációt</translation>
+ <translation>QODBCResult::reset: Nem lehet a &apos;SQL_CURSOR_STATIC&apos; attribútumot beállítani a parancson. Ellenőrizze az ODBC driver beállítását</translation>
</message>
<message>
- <location line="-329"/>
- <location line="+623"/>
+ <location line="-334"/>
+ <location line="+627"/>
<source>Unable to execute statement</source>
- <translation>Nem lehet végrehajtani az állítást</translation>
+ <translation>A parancs nem hajtható végre</translation>
</message>
<message>
- <location line="-547"/>
+ <location line="-546"/>
<source>Unable to fetch next</source>
- <translation>Nem lehet letölteni a következőt</translation>
+ <translation>A következő nem olvasható ki</translation>
</message>
<message>
<location line="+271"/>
<source>Unable to prepare statement</source>
- <translation>Nem lehet felkészülni az állításra</translation>
+ <translation>A parancs előkészítése nem lehetséges</translation>
</message>
<message>
- <location line="+268"/>
+ <location line="+267"/>
<source>Unable to bind variable</source>
- <translation>Nem lehet összekötni a változót</translation>
+ <translation>A változó nem rögzíthető</translation>
</message>
<message>
- <location filename="../src/sql/drivers/db2/qsql_db2.cpp" line="+190"/>
- <location filename="../src/sql/drivers/odbc/qsql_odbc.cpp" line="-467"/>
- <location line="+576"/>
- <source>Unable to fetch last</source>
- <translation>Nem lehet letölteni az utolsót</translation>
- </message>
- <message>
- <location filename="../src/sql/drivers/odbc/qsql_odbc.cpp" line="-670"/>
+ <location line="-560"/>
<source>Unable to fetch</source>
- <translation>Nem lehet letölteni</translation>
+ <translation>Az eredmény nem elérhető</translation>
</message>
<message>
<location line="+44"/>
<source>Unable to fetch first</source>
- <translation>Nem letölteni az elsőt</translation>
+ <translation>Az első eredmény nem érhető el</translation>
</message>
<message>
<location line="+19"/>
<source>Unable to fetch previous</source>
- <translation>Nem lehet letölteni az előzőt</translation>
+ <translation>Az előző eredmény nem érhető el</translation>
+ </message>
+ <message>
+ <location filename="../src/sql/drivers/db2/qsql_db2.cpp" line="+189"/>
+ <location filename="../src/sql/drivers/odbc/qsql_odbc.cpp" line="+31"/>
+ <location line="+578"/>
+ <source>Unable to fetch last</source>
+ <translation>Az utolsó eredmény nem érhető el</translation>
</message>
</context>
<context>
<name>QObject</name>
<message>
- <location filename="../src/network/kernel/qhostinfo_unix.cpp" line="-97"/>
<source>Invalid hostname</source>
- <translation>Érvénytelen hoszt név</translation>
+ <translation type="obsolete">Érvénytelen gépnév</translation>
+ </message>
+ <message>
+ <source>Home</source>
+ <translation type="obsolete">Saját könyvtár</translation>
</message>
<message>
- <location filename="../src/network/access/qnetworkaccessdatabackend.cpp" line="+74"/>
<source>Operation not supported on %1</source>
- <translation>A művelet nem támogatott a(z) %1-n</translation>
+ <translation type="obsolete">A művelett nem támogatott a(z) %1-n</translation>
</message>
<message>
- <location line="+57"/>
<source>Invalid URI: %1</source>
- <translation>Érvénytelen URI: %1</translation>
+ <translation type="obsolete">Érvénytelen cím: %1</translation>
+ </message>
+ <message>
+ <source>Write error writing to %1: %2</source>
+ <translation type="obsolete">Hiba a(z) %1 kiírásakor: %2</translation>
+ </message>
+ <message>
+ <source>Read error reading from %1: %2</source>
+ <translation type="obsolete">Hiba a(z) %1 olvasása közben: %2</translation>
</message>
<message>
- <location filename="../src/network/access/qnetworkaccessdebugpipebackend.cpp" line="+60"/>
<source>Socket error on %1: %2</source>
- <translation>Socket hiba a(z) %1-n: %2</translation>
+ <translation type="obsolete">Socket hiba a(z) %1-n: %2</translation>
</message>
<message>
- <location line="+15"/>
<source>Remote host closed the connection prematurely on %1</source>
- <translation>A távoli hoszt túl korán bezárta a kapcsolatot a(z) %1-n</translation>
+ <translation type="obsolete">A(z) %1 gép idő előtt megszakította a kapcsolatot</translation>
+ </message>
+ <message>
+ <source>Protocol error: packet of size 0 received</source>
+ <translation type="obsolete">Protokoll hiba: 0 méretű csomag érkezett</translation>
</message>
<message>
- <location filename="../src/network/kernel/qhostinfo.cpp" line="+175"/>
- <location filename="../src/network/kernel/qhostinfo_unix.cpp" line="+0"/>
<source>No host name given</source>
- <translation>Nincs hoszt név megadva</translation>
+ <translation type="obsolete">Nem adott meg gépnevet</translation>
+ </message>
+ <message>
+ <source>Exit</source>
+ <translation type="obsolete">Kilépés</translation>
+ </message>
+ <message>
+ <location filename="../src/declarative/util/qdeclarativexmllistmodel.cpp" line="-241"/>
+ <source>&quot;%1&quot; duplicates a previous role name and will be disabled.</source>
+ <translatorcomment>CHECKIT: role == ?</translatorcomment>
+ <translation>A(z) &quot;%1&quot; neve ütközik egy, már létező szabály nevével, így le lesz tiltva.</translation>
+ </message>
+ <message>
+ <location line="+515"/>
+ <location line="+4"/>
+ <source>invalid query: &quot;%1&quot;</source>
+ <translation>érvénytelen lekérdezés: &quot;%1&quot;</translation>
+ </message>
+ <message>
+ <location filename="../src/3rdparty/phonon/phonon/pulsesupport.cpp" line="+162"/>
+ <location line="+11"/>
+ <source>PulseAudio Sound Server</source>
+ <translation></translation>
</message>
</context>
<context>
<name>QPPDOptionsModel</name>
<message>
- <location filename="../src/gui/dialogs/qprintdialog_unix.cpp" line="+1197"/>
+ <location filename="../src/gui/dialogs/qprintdialog_unix.cpp" line="+1238"/>
<source>Name</source>
<translation>Név</translation>
</message>
@@ -3643,32 +5601,32 @@ Mégis törölni szeretné?</translation>
<message>
<location filename="../src/sql/drivers/psql/qsql_psql.cpp" line="+782"/>
<source>Unable to connect</source>
- <translation>Nem lehet csatlakozni</translation>
+ <translation>Nem sikerült kapcsolódni</translation>
</message>
<message>
<location line="+49"/>
<source>Could not begin transaction</source>
- <translation>Nem sikerült megkezdeni a tranzakciót</translation>
+ <translation>A tranzakció nem indítható</translation>
</message>
<message>
<location line="+30"/>
<source>Could not commit transaction</source>
- <translation>Nem lehet kommitolni a tranzakciót</translation>
+ <translation>A tranzakció nem véglegesíthető</translation>
</message>
<message>
<location line="+16"/>
<source>Could not rollback transaction</source>
- <translation>Nem lehet visszagörgetni a tranzakciót</translation>
+ <translation>A tranzakció nem görgethető vissza</translation>
</message>
<message>
<location line="+374"/>
<source>Unable to subscribe</source>
- <translation>Nem lehet feliratkozni</translation>
+ <translation>A feliratkozás sikertelen</translation>
</message>
<message>
<location line="+32"/>
<source>Unable to unsubscribe</source>
- <translation>Nem lehet leiratkozni</translation>
+ <translation>A leiratkozás sikertelen</translation>
</message>
</context>
<context>
@@ -3676,12 +5634,12 @@ Mégis törölni szeretné?</translation>
<message>
<location line="-1085"/>
<source>Unable to create query</source>
- <translation>Nem lehet létrehozni a lekérdezést</translation>
+ <translation>A lekérdezés nem készíthető el</translation>
</message>
<message>
<location line="+372"/>
<source>Unable to prepare statement</source>
- <translation>Nem lehet felkészülni az állításra</translation>
+ <translation>A parancs előkészítése nem lehetséges</translation>
</message>
</context>
<context>
@@ -3699,7 +5657,7 @@ Mégis törölni szeretné?</translation>
<message>
<location line="+0"/>
<source>Inches (in)</source>
- <translation>Incs (in)</translation>
+ <translation>Inch (in)</translation>
</message>
<message>
<location line="+0"/>
@@ -3709,7 +5667,7 @@ Mégis törölni szeretné?</translation>
<message>
<location filename="../src/gui/dialogs/qpagesetupwidget.ui"/>
<source>Form</source>
- <translation></translation>
+ <translation>Formátum</translation>
</message>
<message>
<location/>
@@ -3719,7 +5677,7 @@ Mégis törölni szeretné?</translation>
<message>
<location/>
<source>Page size:</source>
- <translation>Lap méret:</translation>
+ <translation>Papírméret:</translation>
</message>
<message>
<location/>
@@ -3734,57 +5692,894 @@ Mégis törölni szeretné?</translation>
<message>
<location/>
<source>Paper source:</source>
- <translation>Papír forrás:</translation>
+ <translation>Papírforrás:</translation>
</message>
<message>
<location/>
<source>Orientation</source>
- <translation>Elhelyezkedés</translation>
+ <translation>Orientáció</translation>
</message>
<message>
<location/>
<source>Portrait</source>
- <translation>Portré</translation>
+ <translation>Álló</translation>
</message>
<message>
<location/>
<source>Landscape</source>
- <translation>Tájkép</translation>
+ <translation>Fekvő</translation>
</message>
<message>
<location/>
<source>Reverse landscape</source>
- <translation>Fordított tájkép</translation>
+ <translation>Fordított fekvő</translation>
</message>
<message>
<location/>
<source>Reverse portrait</source>
- <translation>Fordított portré</translation>
+ <translation>Fordított álló</translation>
</message>
<message>
<location/>
<source>Margins</source>
- <translation>Margó</translation>
+ <translation>Margók</translation>
</message>
<message>
<location/>
<source>top margin</source>
- <translation>Felső margó</translation>
+ <translation>felső margó</translation>
</message>
<message>
<location/>
<source>left margin</source>
- <translation>Bal margó</translation>
+ <translation>bal margó</translation>
</message>
<message>
<location/>
<source>right margin</source>
- <translation>Jobb margó</translation>
+ <translation>jobb margó</translation>
</message>
<message>
<location/>
<source>bottom margin</source>
- <translation>Alsó margó</translation>
+ <translation>alsó margó</translation>
+ </message>
+</context>
+<context>
+ <name>QPatternist::QtXmlPatterns</name>
+ <message>
+ <source>An %1-attribute with value %2 has already been declared.</source>
+ <translation type="obsolete">Egy %1-attribútum %2 értékkel már deklarálva van.</translation>
+ </message>
+ <message>
+ <source>An %1-attribute must have a valid %2 as value, which %3 isn&apos;t.</source>
+ <translation type="obsolete">Egy %1-attribútumnak érvényes %2 értékkel kell rendelkeznie, azonban %3 nem az.</translation>
+ </message>
+ <message>
+ <source>%1 is an unsupported encoding.</source>
+ <translation type="obsolete">%1 nem támogatott kódolás.</translation>
+ </message>
+ <message>
+ <source>%1 contains octets which are disallowed in the requested encoding %2.</source>
+ <translation type="obsolete">%1 olyan okteteket tartalmaz, amelyek nem megengedettek a kért %2 kódolásban.</translation>
+ </message>
+ <message>
+ <source>The codepoint %1, occurring in %2 using encoding %3, is an invalid XML character.</source>
+ <translation type="obsolete">%1 kódrészlet %2 helyen, %3 kódolással érvénytelen XML karakter.</translation>
+ </message>
+ <message>
+ <source>Network timeout.</source>
+ <translation type="obsolete">Időtúllépés.</translation>
+ </message>
+ <message>
+ <source>Element %1 can&apos;t be serialized because it appears outside the document element.</source>
+ <translation type="obsolete">%1 elem nem szerializálható, mert a document elemen kívül szerepel.</translation>
+ </message>
+ <message>
+ <source>Attribute %1 can&apos;t be serialized because it appears at the top level.</source>
+ <translation type="obsolete">%1 attribútum nem szerializálható, mert legfelső szinten szerepel.</translation>
+ </message>
+ <message>
+ <source>Year %1 is invalid because it begins with %2.</source>
+ <translation type="obsolete">%1 év érvénytelen, mert nem kezdődhet %2-val.</translation>
+ </message>
+ <message>
+ <source>Day %1 is outside the range %2..%3.</source>
+ <translation type="obsolete">A(z) %1. nap nem esik %2 és %3 közé.</translation>
+ </message>
+ <message>
+ <source>Month %1 is outside the range %2..%3.</source>
+ <translation type="obsolete">A(z) %1. hónap nem esik %2 és %3 közé.</translation>
+ </message>
+ <message>
+ <source>Overflow: Can&apos;t represent date %1.</source>
+ <translation type="obsolete">Túlcsordulás: A(z) %1 dátum nem reprezentálható.</translation>
+ </message>
+ <message>
+ <source>Day %1 is invalid for month %2.</source>
+ <translation type="obsolete">Nincs %1 nap %2 hónapban.</translation>
+ </message>
+ <message>
+ <source>Time 24:%1:%2.%3 is invalid. Hour is 24, but minutes, seconds, and milliseconds are not all 0; </source>
+ <translation type="obsolete">Az 24:%1:%2.%3 időpont érvénytelen, mert az óra értéke 24, de a többi érték nem 0; </translation>
+ </message>
+ <message>
+ <source>Time %1:%2:%3.%4 is invalid.</source>
+ <translation type="obsolete">Az %1:%2:%3.%4 időpont érvénytelen.</translation>
+ </message>
+ <message>
+ <source>Overflow: Date can&apos;t be represented.</source>
+ <translation type="obsolete">Túlcsordulás: A dátum nem reprezentálható.</translation>
+ </message>
+ <message>
+ <source>At least one component must be present.</source>
+ <translation type="obsolete">Legalább egy komponenst meg kell adni.</translation>
+ </message>
+ <message>
+ <source>At least one time component must appear after the %1-delimiter.</source>
+ <translation type="obsolete">Legalább egy időkomponenst meg kell adni a(z) %1 elválasztó után.</translation>
+ </message>
+ <message>
+ <source>No operand in an integer division, %1, can be %2.</source>
+ <translation type="obsolete">Nincs operandus az egészosztásnál (%1), akár %2 is lehet.</translation>
+ </message>
+ <message>
+ <source>The first operand in an integer division, %1, cannot be infinity (%2).</source>
+ <translation type="obsolete">Az egészosztás (%1) első operandusa nem lehet végtelen (%2).</translation>
+ </message>
+ <message>
+ <source>The second operand in a division, %1, cannot be zero (%2).</source>
+ <translation type="obsolete">Az osztás (%1) második operandusa nem lehet nulla (%2).</translation>
+ </message>
+ <message>
+ <source>%1 is not a valid value of type %2.</source>
+ <translation type="obsolete">%1 nem érvényes érték %2 típusnak.</translation>
+ </message>
+ <message>
+ <source>When casting to %1 from %2, the source value cannot be %3.</source>
+ <translation type="obsolete">Ha %2-t %1-re kényszerítünk, a kiinduló érték nem lehet %3.</translation>
+ </message>
+ <message>
+ <source>Integer division (%1) by zero (%2) is undefined.</source>
+ <translation type="obsolete">A nullával (%2) való egészosztás (%1) nincs értelmezve.</translation>
+ </message>
+ <message>
+ <source>Division (%1) by zero (%2) is undefined.</source>
+ <translation type="obsolete">A nullával (%2) való osztás (%1) nincs értelmezve.</translation>
+ </message>
+ <message>
+ <source>Modulus division (%1) by zero (%2) is undefined.</source>
+ <translation type="obsolete">A nullával (%2) való maradékos osztás (%1) nincs értelmezve.</translation>
+ </message>
+ <message>
+ <source>Dividing a value of type %1 by %2 (not-a-number) is not allowed.</source>
+ <translation type="obsolete">%1 %2-vel osztása nem engedélyezett, mert az nem szám.</translation>
+ </message>
+ <message>
+ <source>Dividing a value of type %1 by %2 or %3 (plus or minus zero) is not allowed.</source>
+ <translation type="obsolete">%1 típusú érték osztása %2 vagy %3 (pozitív vagy negatív nulla) értékkel nem megengedett.</translation>
+ </message>
+ <message>
+ <source>Multiplication of a value of type %1 by %2 or %3 (plus or minus infinity) is not allowed.</source>
+ <translation type="obsolete">%1 típusú érték szorzása %2 vagy %3 (pozitív vagy negatív végtelen) típusú értékkel nem megengedett.</translation>
+ </message>
+ <message>
+ <source>A value of type %1 cannot have an Effective Boolean Value.</source>
+ <translation type="obsolete">%1 típusú érték nem kaphat effektív logikai értéket.</translation>
+ </message>
+ <message>
+ <source>Effective Boolean Value cannot be calculated for a sequence containing two or more atomic values.</source>
+ <translation type="obsolete">Effektív logikai érték nem számítható olyan sorozatra, melyben kettő vagy több atomi érték szerepel.</translation>
+ </message>
+ <message>
+ <source>Value %1 of type %2 exceeds maximum (%3).</source>
+ <translation type="obsolete">A(z) %2 típusú %1 érték meghaladja a maximumot (%3).</translation>
+ </message>
+ <message>
+ <source>Value %1 of type %2 is below minimum (%3).</source>
+ <translation type="obsolete">A(z) %2 típusú %1 érték kisebb, mint a minimum (%3).</translation>
+ </message>
+ <message>
+ <source>A value of type %1 must contain an even number of digits. The value %2 does not.</source>
+ <translation type="obsolete">%1 típusú értékben páros számú számjegynek kell szerepelnie. A %2 érték nem megfelelő.</translation>
+ </message>
+ <message>
+ <source>%1 is not valid as a value of type %2.</source>
+ <translation type="obsolete">%1 nem érvényes %2 típusú érték.</translation>
+ </message>
+ <message>
+ <source>Ambiguous rule match.</source>
+ <translation type="obsolete">Nem egyértelmű szabály illeszkedés.</translation>
+ </message>
+ <message>
+ <source>Operator %1 cannot be used on type %2.</source>
+ <translation type="obsolete">%1 operátor nem használható %2 típuson.</translation>
+ </message>
+ <message>
+ <source>Operator %1 cannot be used on atomic values of type %2 and %3.</source>
+ <translation type="obsolete">%1 operátor nem használható %2 és %3 típusok atomi értékein.</translation>
+ </message>
+ <message>
+ <source>The namespace URI in the name for a computed attribute cannot be %1.</source>
+ <translation type="obsolete">Egy számított attribútum nevében szereplő névtér URI-je nem lehet %1.</translation>
+ </message>
+ <message>
+ <source>The name for a computed attribute cannot have the namespace URI %1 with the local name %2.</source>
+ <translation type="obsolete">Számított attribútum névtér URI-je nem lehet %1 a(z) %2 lokális névvel.</translation>
+ </message>
+ <message>
+ <source>Type error in cast, expected %1, received %2.</source>
+ <translation type="obsolete">Típushiba a konverzió során, várt %1, kapott %2.</translation>
+ </message>
+ <message>
+ <source>When casting to %1 or types derived from it, the source value must be of the same type, or it must be a string literal. Type %2 is not allowed.</source>
+ <translation type="obsolete">%1 vagy belőle származó típusra való konverziókor a kiindulási értéknek azonos típusúnak vagy sztring literálnak kell lennie. %2 típus nem engedélyezett.</translation>
+ </message>
+ <message>
+ <source>No casting is possible with %1 as the target type.</source>
+ <translation type="obsolete">%1 típusra való konverzió nem lehetséges.</translation>
+ </message>
+ <message>
+ <source>It is not possible to cast from %1 to %2.</source>
+ <translation type="obsolete">Nem lehetséges %1 típusról %2 típusra konvertálni.</translation>
+ </message>
+ <message>
+ <source>Casting to %1 is not possible because it is an abstract type, and can therefore never be instantiated.</source>
+ <translation type="obsolete">%1 típusra való konverzió nem lehetséges, mivel absztrakt típus és emiatt nem példányosítható.</translation>
+ </message>
+ <message>
+ <source>It&apos;s not possible to cast the value %1 of type %2 to %3</source>
+ <translation type="obsolete">A(z) %2 típusú %1 érték konverziója %3 típusra nem lehetséges</translation>
+ </message>
+ <message>
+ <source>Failure when casting from %1 to %2: %3</source>
+ <translation type="obsolete">Hiba történt %1 típus %2 típusra történő konvertálásakor: %3</translation>
+ </message>
+ <message>
+ <source>A comment cannot contain %1</source>
+ <translation type="obsolete">Egy megjegyzés nem tartalmazhatja a következőt: %1</translation>
+ </message>
+ <message>
+ <source>A comment cannot end with a %1.</source>
+ <translation type="obsolete">Egy megjegyzés nem végződhet a következőre: %1.</translation>
+ </message>
+ <message>
+ <source>No comparisons can be done involving the type %1.</source>
+ <translation type="obsolete">%1 típus nem szerepelhet összehasonlításban.</translation>
+ </message>
+ <message>
+ <source>Operator %1 is not available between atomic values of type %2 and %3.</source>
+ <translation type="obsolete">%1 operátor nem használható %2 és %3 típusok atomi értékei között.</translation>
+ </message>
+ <message>
+ <source>In a namespace constructor, the value for a namespace cannot be an empty string.</source>
+ <translation type="obsolete">Egy névtér konstruktorában a névtér értéke nem lehet üres karaktersorozat.</translation>
+ </message>
+ <message>
+ <source>The prefix must be a valid %1, which %2 is not.</source>
+ <translation type="obsolete">A prefixum érvényes %1 kell legyen, aminek %2 nem tesz eleget.</translation>
+ </message>
+ <message>
+ <source>The prefix %1 cannot be bound.</source>
+ <translation type="obsolete">%1 prefixum nem köthető.</translation>
+ </message>
+ <message>
+ <source>Only the prefix %1 can be bound to %2 and vice versa.</source>
+ <translation type="obsolete">Csak %1 prefixum köthető %2 kifejezéshez és fordítva.</translation>
+ </message>
+ <message>
+ <source>An attribute node cannot be a child of a document node. Therefore, the attribute %1 is out of place.</source>
+ <translation type="obsolete">Attribútum csomópont nem lehet egy document csomópont gyermeke. Emiatt a(z) %1 attribútum nem ide való.</translation>
+ </message>
+ <message>
+ <source>Circularity detected</source>
+ <translation type="obsolete">Körkörös hivatkozás</translation>
+ </message>
+ <message>
+ <source>A library module cannot be evaluated directly. It must be imported from a main module.</source>
+ <translation type="obsolete">Egy könyvtár modult nem lehet közvetlenül kiértékelni. Mindenképp egy fő modulból kell importálni.</translation>
+ </message>
+ <message>
+ <source>No template by name %1 exists.</source>
+ <translation type="obsolete">Nem létezik %1 nevű sablon.</translation>
+ </message>
+ <message>
+ <source>A value of type %1 cannot be a predicate. A predicate must have either a numeric type or an Effective Boolean Value type.</source>
+ <translation type="obsolete">Egy %1 típusú érték nem lehet predikátum. Egy predikátumnak szám vagy effektív logikai érték típusúnak kell lennie.</translation>
+ </message>
+ <message>
+ <source>The target name in a processing instruction cannot be %1 in any combination of upper and lower case. Therefore, is %2 invalid.</source>
+ <translation type="obsolete">A célnév egy feldolgozó utasításban nem lehet %1, kis és nagybetűk semmilyen kombinációjában. Ennek okán %2 érvénytelen.</translation>
+ </message>
+ <message>
+ <source>%1 is not a valid target name in a processing instruction. It must be a %2 value, e.g. %3.</source>
+ <translation type="obsolete">%1 érvénytelen célnév egy feldolgozó utasításban. Értéke %2 típusú kell legyen, mint pl. %3.</translation>
+ </message>
+ <message>
+ <source>The last step in a path must contain either nodes or atomic values. It cannot be a mixture between the two.</source>
+ <translation type="obsolete">Egy útvonal utolsó lépésének vagy csomópontokat vagy atomi értékeket kell tartalmaznia. A kettő nem keveredhet.</translation>
+ </message>
+ <message>
+ <source>The data of a processing instruction cannot contain the string %1</source>
+ <translation type="obsolete">Egy feldolgozó utasítás adata nem tartalmazhatja a következő sztringet: %1</translation>
+ </message>
+ <message>
+ <source>No namespace binding exists for the prefix %1</source>
+ <translation type="obsolete">Nincs névtér kötés a(z) %1 prefixumhoz</translation>
+ </message>
+ <message>
+ <source>No namespace binding exists for the prefix %1 in %2</source>
+ <translation type="obsolete">Nincs névtér kötés a(z) %1 prefixumhoz %2 helyen</translation>
+ </message>
+ <message>
+ <source>%1 is an invalid %2</source>
+ <translation type="obsolete">%1 egy érvénytelen %2</translation>
+ </message>
+ <message>
+ <source>The parameter %1 is passed, but no corresponding %2 exists.</source>
+ <translation type="obsolete">Az átadott érték %1, de nincs megfelelő %2.</translation>
+ </message>
+ <message>
+ <source>The parameter %1 is required, but no corresponding %2 is supplied.</source>
+ <translation type="obsolete">%1 paraméter kötelező, de nincs megadva megfelelő %2.</translation>
+ </message>
+ <message numerus="yes">
+ <source>%1 takes at most %n argument(s). %2 is therefore invalid.</source>
+ <translation type="obsolete">
+ <numerusform>%1 maximum %n argumentumot fogad, így %2 érvénytelen.</numerusform>
+ </translation>
+ </message>
+ <message numerus="yes">
+ <source>%1 requires at least %n argument(s). %2 is therefore invalid.</source>
+ <translation type="obsolete">
+ <numerusform>%1 legalább %n argumentumot fogad, így %2 érvénytelen.</numerusform>
+ </translation>
+ </message>
+ <message>
+ <source>The first argument to %1 cannot be of type %2. It must be a numeric type, xs:yearMonthDuration or xs:dayTimeDuration.</source>
+ <translation type="obsolete">%1 első paramétere nem lehet %2 típusú. Csak numerikus típus, xs:yearMonthDuration vagy dayTimeDuration lehet.</translation>
+ </message>
+ <message>
+ <source>The first argument to %1 cannot be of type %2. It must be of type %3, %4, or %5.</source>
+ <translation type="obsolete">%1 első argumentuma nem lehet %2 típusú. Csak %3, %4 vagy %5 megengedett.</translation>
+ </message>
+ <message>
+ <source>The second argument to %1 cannot be of type %2. It must be of type %3, %4, or %5.</source>
+ <translation type="obsolete">%1 második paramétere nem lehet %2 típusú. Csak %3, %4 vagy %5 megengedett.</translation>
+ </message>
+ <message>
+ <source>%1 is not a valid XML 1.0 character.</source>
+ <translation type="obsolete">%1 érvénytelen XML 1.0 karakter.</translation>
+ </message>
+ <message>
+ <source>The first argument to %1 cannot be of type %2.</source>
+ <translation type="obsolete">%1 első argumentuma nem lehet %2 típusú.</translation>
+ </message>
+ <message>
+ <source>The root node of the second argument to function %1 must be a document node. %2 is not a document node.</source>
+ <translation type="obsolete">%1 függvény második argumentumának gyökér csomópontja document típusú kell legyen. %2 nem document csomópont.</translation>
+ </message>
+ <message>
+ <source>If both values have zone offsets, they must have the same zone offset. %1 and %2 are not the same.</source>
+ <translation type="obsolete">Ha mindkét értékben zóna eltolás van, akkor annak azonosnak kell lennie. %1 és %2 nem egyezik.</translation>
+ </message>
+ <message>
+ <source>%1 was called.</source>
+ <translation type="obsolete">%1 meghívva.</translation>
+ </message>
+ <message>
+ <source>%1 must be followed by %2 or %3, not at the end of the replacement string.</source>
+ <translation type="obsolete">%1-t %2 vagy %3 kell kövesse, nem a helyettesítő végén.</translation>
+ </message>
+ <message>
+ <source>In the replacement string, %1 must be followed by at least one digit when not escaped.</source>
+ <translation type="obsolete">A(z) %1 csereszöveget legalább egy számjegy kell kövesse, amennyiben az nincs escapelve.</translation>
+ </message>
+ <message>
+ <source>In the replacement string, %1 can only be used to escape itself or %2, not %3</source>
+ <translation type="obsolete">A csereszövegben %1 csak önmaga vagy %2 escapelésére használható, %3-ra nem</translation>
+ </message>
+ <message>
+ <source>%1 matches newline characters</source>
+ <translation type="obsolete">%1 illeszkedik az újsor karakterekre</translation>
+ </message>
+ <message>
+ <source>%1 and %2 match the start and end of a line.</source>
+ <translation type="obsolete">%1 és %2 a sor elejére és végére is illeszkedik.</translation>
+ </message>
+ <message>
+ <source>Matches are case insensitive</source>
+ <translation type="obsolete">Az illeszkedések nem nagybetű-érzékenyek</translation>
+ </message>
+ <message>
+ <source>Whitespace characters are removed, except when they appear in character classes</source>
+ <translation type="obsolete">A nem nyomtatható karakterek törlésre kerülnek, kivétel ha karakter osztályokban szerepelnek</translation>
+ </message>
+ <message>
+ <source>%1 is an invalid regular expression pattern: %2</source>
+ <translation type="obsolete">%1 érvénytelen reguláris kifejezés minta: %2</translation>
+ </message>
+ <message>
+ <source>%1 is an invalid flag for regular expressions. Valid flags are:</source>
+ <translation type="obsolete">%1 érvénytelen kapcsoló reguláris kifejezésekhez. Az érvényes kapcsolók:</translation>
+ </message>
+ <message>
+ <source>If the first argument is the empty sequence or a zero-length string (no namespace), a prefix cannot be specified. Prefix %1 was specified.</source>
+ <translation type="obsolete">Ha az első argumentum az üres szekvencia vagy egy nulla hosszúságú sztring (névtér nélkül), akkor nem adható meg prefixum. %1 prefixum lett megadva.</translation>
+ </message>
+ <message>
+ <source>It will not be possible to retrieve %1.</source>
+ <translation type="obsolete">Nem lesz lehetséges %1 lekérése.</translation>
+ </message>
+ <message>
+ <source>The default collection is undefined</source>
+ <translation type="obsolete">Nincs meghatározva az alapértelmezett kollekció</translation>
+ </message>
+ <message>
+ <source>%1 cannot be retrieved</source>
+ <translation type="obsolete">%1-t nem lehet lekérni</translation>
+ </message>
+ <message>
+ <source>The normalization form %1 is unsupported. The supported forms are %2, %3, %4, and %5, and none, i.e. the empty string (no normalization).</source>
+ <translatorcomment>none ==? semmi, valamelyest félreérthető</translatorcomment>
+ <translation type="obsolete">%1 normalizált formája nem támogatott. A támogatott formák %2, %3, %4 és %5 vagy semmi, pl. az üres sztring (normalizálás nélkül).</translation>
+ </message>
+ <message>
+ <source>A zone offset must be in the range %1..%2 inclusive. %3 is out of range.</source>
+ <translation type="obsolete">Egy zónaeltolásnak a(z) %1..%2 nyílt intervallumba kell esnie. %3 az értékhatáron kívül van.</translation>
+ </message>
+ <message>
+ <source>%1 is not a whole number of minutes.</source>
+ <translation type="obsolete">%1 nem egész számú perc.</translation>
+ </message>
+ <message>
+ <source>The URI cannot have a fragment</source>
+ <translation type="obsolete">A URI nem tartalmazhat töredéket</translation>
+ </message>
+ <message>
+ <source>Required cardinality is %1; got cardinality %2.</source>
+ <translation type="obsolete">Az elvárt kardinalitás %1, azonban %2 lett megadva.</translation>
+ </message>
+ <message>
+ <source>The item %1 did not match the required type %2.</source>
+ <translation type="obsolete">%1 elem nem egyezik a várt %2 típussal.</translation>
+ </message>
+ <message>
+ <source>Attribute %1 cannot appear on the element %2. Only the standard attributes can appear.</source>
+ <translation type="obsolete">A(z) %1 attribútum nem jelenhet meg %2 elemben. Csak szabványos attribútumok szerepelhetnek.</translation>
+ </message>
+ <message>
+ <source>Attribute %1 cannot appear on the element %2. Only %3 is allowed, and the standard attributes.</source>
+ <translation type="obsolete">A(z) %1 attribútum nem jelenhet meg %2 elemben. Csak %3 és a szabványos attribútumok szerepelhetnek.</translation>
+ </message>
+ <message>
+ <source>Attribute %1 cannot appear on the element %2. Allowed is %3, %4, and the standard attributes.</source>
+ <translation type="obsolete">A(z) %1 attribútum nem jelenhet meg %2 elemben. Csak %3, %4 és a szabványos attribútumok szerepelhetnek.</translation>
+ </message>
+ <message>
+ <source>Attribute %1 cannot appear on the element %2. Allowed is %3, and the standard attributes.</source>
+ <translation type="obsolete">A(z) %1 attribútum nem jelenhet meg %2 elemben. Csak %3 és a szabványos attribútumok szerepelhetnek.</translation>
+ </message>
+ <message>
+ <source>XSL-T attributes on XSL-T elements must be in the null namespace, not in the XSL-T namespace which %1 is.</source>
+ <translation type="obsolete">Az XSL-T elemekhez tartozó XSL-T attribútumoknak a null névtérben kell szerepelniük, nem a(z) %1 XSL-T névtérben.</translation>
+ </message>
+ <message>
+ <source>The attribute %1 must appear on element %2.</source>
+ <translation type="obsolete">A(z) %1 attribútumnak %2 elemben kell megjelennie.</translation>
+ </message>
+ <message>
+ <source>The element with local name %1 does not exist in XSL-T.</source>
+ <translation type="obsolete">%1 lokális nevű elem nem létezik az XSL-T-ben.</translation>
+ </message>
+ <message>
+ <source>The variable %1 is unused</source>
+ <translation type="obsolete">A(z) %1 változó nincs használva</translation>
+ </message>
+ <message>
+ <source>A construct was encountered which only is allowed in XQuery.</source>
+ <translation type="obsolete">Olyan szerkezetet találtam, ami csak XQuery-ben engedélyezett.</translation>
+ </message>
+ <message>
+ <source>W3C XML Schema identity constraint selector</source>
+ <translation type="obsolete">W3C XML séma azonosító szabály kiválasztó</translation>
+ </message>
+ <message>
+ <source>W3C XML Schema identity constraint field</source>
+ <translation type="obsolete">W3C XML séma azonosító szabály mező</translation>
+ </message>
+ <message>
+ <source>%1 is an unknown schema type.</source>
+ <translation type="obsolete">%1 ismeretlen séma típus.</translation>
+ </message>
+ <message>
+ <source>A template by name %1 has already been declared.</source>
+ <translation type="obsolete">%1 néven már lett sablon deklarálva.</translation>
+ </message>
+ <message>
+ <source>%1 is not a valid numeric literal.</source>
+ <translation type="obsolete">%1 érvénytelen numerikus literál.</translation>
+ </message>
+ <message>
+ <source>Only one %1 declaration can occur in the query prolog.</source>
+ <translation type="obsolete">Csak egy %1 deklaráció szerepelhet a lekérdezés bevezetésben.</translation>
+ </message>
+ <message>
+ <source>The initialization of variable %1 depends on itself</source>
+ <translation type="obsolete">%1 változó inicializálása önmagától függ</translation>
+ </message>
+ <message>
+ <source>No variable by name %1 exists</source>
+ <translation type="obsolete">Nem létezik %1 nevű változó</translation>
+ </message>
+ <message>
+ <source>Version %1 is not supported. The supported XQuery version is 1.0.</source>
+ <translation type="obsolete">A(z) %1 verzió nem támogatott. A támogatott verzió XQuery 1.0.</translation>
+ </message>
+ <message>
+ <source>The encoding %1 is invalid. It must contain Latin characters only, must not contain whitespace, and must match the regular expression %2.</source>
+ <translation type="obsolete">%1 kódolás érvénytelen. Csak Latin karaktereket tartalmazhat, nem nyomtatható karakterek nélkül és illeszkednie kell %2 reguláris kifejezésre.</translation>
+ </message>
+ <message>
+ <source>No function with signature %1 is available</source>
+ <translation type="obsolete">%1 nevű függvény nem található</translation>
+ </message>
+ <message>
+ <source>A default namespace declaration must occur before function, variable, and option declarations.</source>
+ <translation type="obsolete">Egy alapértelmezett névtér deklarációnak meg kell előznie a függvény-, változó- és opció deklarációkat.</translation>
+ </message>
+ <message>
+ <source>Namespace declarations must occur before function, variable, and option declarations.</source>
+ <translation type="obsolete">A névtér deklarációknak meg kell előzniük a függvény-, változó- és opció deklarációkat.</translation>
+ </message>
+ <message>
+ <source>Module imports must occur before function, variable, and option declarations.</source>
+ <translation type="obsolete">Modul importoknak meg kell előzniük a függvény-, változó- és opció deklarációkat.</translation>
+ </message>
+ <message>
+ <source>The keyword %1 cannot occur with any other mode name.</source>
+ <translation type="obsolete">%1 kulcsszó nem szerepelhet együtt semmilyen más mód névvel.</translation>
+ </message>
+ <message>
+ <source>The value of attribute %1 must of type %2, which %3 isn&apos;t.</source>
+ <translation type="obsolete">%1 attribútumának %2 típusúnak kell lennie, aminek %3 nem felel meg.</translation>
+ </message>
+ <message>
+ <source>It is not possible to redeclare prefix %1.</source>
+ <translation type="obsolete">%1 prefixum újradeklarálása nem lehetséges.</translation>
+ </message>
+ <message>
+ <source>The prefix %1 can not be bound. By default, it is already bound to the namespace %2.</source>
+ <translation type="obsolete">%1 prefixum nem köthető. Alapértelmezés szerint már kötve van %2 névtérhez.</translation>
+ </message>
+ <message>
+ <source>Prefix %1 is already declared in the prolog.</source>
+ <translation type="obsolete">%1 prefixum már deklarálva van a bevezetésben.</translation>
+ </message>
+ <message>
+ <source>The name of an option must have a prefix. There is no default namespace for options.</source>
+ <translation type="obsolete">Egy opció nevének kötelező prefixumot megadni. Nics alapértelmezett névetér az opciók számára.</translation>
+ </message>
+ <message>
+ <source>The Schema Import feature is not supported, and therefore %1 declarations cannot occur.</source>
+ <translation type="obsolete">A Schema Import szolgáltatás nem támogatott, így %1 deklarációk nem fogadhatók el.</translation>
+ </message>
+ <message>
+ <source>The target namespace of a %1 cannot be empty.</source>
+ <translation type="obsolete">%1 cél névtere nem lehet üres.</translation>
+ </message>
+ <message>
+ <source>The module import feature is not supported</source>
+ <translation type="obsolete">A modul import szolgáltatás nem támogatott</translation>
+ </message>
+ <message>
+ <source>A variable by name %1 has already been declared.</source>
+ <translation type="obsolete">%1 nevű változó már deklarálva van.</translation>
+ </message>
+ <message>
+ <source>No value is available for the external variable by name %1.</source>
+ <translation type="obsolete">A(z) %1 nevű külső változóhoz nem érhető el érték.</translation>
+ </message>
+ <message>
+ <source>A stylesheet function must have a prefixed name.</source>
+ <translation type="obsolete">Egy stíluslap függvénynek prefixummal ellátott neve kell legyen.</translation>
+ </message>
+ <message>
+ <source>The namespace for a user defined function cannot be empty (try the predefined prefix %1 which exists for cases like this)</source>
+ <translation type="obsolete">Egy felhasználói függvény névtere nem lehet üres (próbálja meg a(z) %1 prefixumot, ami ilyen esetekre van fenntartva)</translation>
+ </message>
+ <message>
+ <source>The namespace %1 is reserved; therefore user defined functions may not use it. Try the predefined prefix %2, which exists for these cases.</source>
+ <translation type="obsolete">A(z) %1 névtér fenntartott, így felhasználói függvények nem használhatják. Próbálja meg a(z) %2 prefixumot, ami ilyen esetekre van.</translation>
+ </message>
+ <message>
+ <source>The namespace of a user defined function in a library module must be equivalent to the module namespace. In other words, it should be %1 instead of %2</source>
+ <translation type="obsolete">Egy függvénytár modulban definiált felhasználói függvény névtere meg kell egyezzen a modul névterével. Más szóval %1 kellene legyen %2 helyett</translation>
+ </message>
+ <message>
+ <source>A function already exists with the signature %1.</source>
+ <translation type="obsolete">%1 szignatúrájú függvény már létezik.</translation>
+ </message>
+ <message>
+ <source>No external functions are supported. All supported functions can be used directly, without first declaring them as external</source>
+ <translation type="obsolete">Külső függvények nem támogatottak. Minden támogatott függvény használható, külső függvényként való deklarálás nélkül</translation>
+ </message>
+ <message>
+ <source>An argument by name %1 has already been declared. Every argument name must be unique.</source>
+ <translation type="obsolete">%1 nevű argumentum már deklarálva lett. Minden argumentumnak egyedinek kell lennie.</translation>
+ </message>
+ <message>
+ <source>When function %1 is used for matching inside a pattern, the argument must be a variable reference or a string literal.</source>
+ <translation type="obsolete">%1 függvény minta belsejében történő illesztésekor, az argumentumnak változó referenciának vagy szöveges literálnak kell lennie.</translation>
+ </message>
+ <message>
+ <source>In an XSL-T pattern, the first argument to function %1 must be a string literal, when used for matching.</source>
+ <translation type="obsolete">Egy XSL-T mintában %1 függvény első argumentumának szöveges literálnak kell lennie, ha illesztéshez használjuk.</translation>
+ </message>
+ <message>
+ <source>In an XSL-T pattern, the first argument to function %1 must be a literal or a variable reference, when used for matching.</source>
+ <translation type="obsolete">Egy XSL-T mintában %1 függvény első argumentumának szöveges literálnak vagy változó referenciának kell lennie, ha illesztéshez használjuk.</translation>
+ </message>
+ <message>
+ <source>In an XSL-T pattern, function %1 cannot have a third argument.</source>
+ <translation type="obsolete">Egy XSL-T mintában %1 függénynek nem lehet harmadik argumentuma.</translation>
+ </message>
+ <message>
+ <source>In an XSL-T pattern, only function %1 and %2, not %3, can be used for matching.</source>
+ <translation type="obsolete">Egy XSL-T mintában csak %1 és %2 függvények használhatók illesztéshez, %3 nem.</translation>
+ </message>
+ <message>
+ <source>In an XSL-T pattern, axis %1 cannot be used, only axis %2 or %3 can.</source>
+ <translation type="obsolete">Egy XSL-T mintában %1 tengely nem, csak %2 vagy %3 tengely használható.</translation>
+ </message>
+ <message>
+ <source>%1 is an invalid template mode name.</source>
+ <translation type="obsolete">%1 érvénytelen sablon mód név.</translation>
+ </message>
+ <message>
+ <source>The name of a variable bound in a for-expression must be different from the positional variable. Hence, the two variables named %1 collide.</source>
+ <translation type="obsolete">Egy for-kifejezésben kötött változó nevének különbözőnek kell lennie, mint a pozicionális változó neve. Így a két %1 nevű változó ütközik.</translation>
+ </message>
+ <message>
+ <source>The Schema Validation Feature is not supported. Hence, %1-expressions may not be used.</source>
+ <translation type="obsolete">A Schema Validation szolgáltatás nem támogatott. Ennélfogva %1-kifejezések nem használhatók.</translation>
+ </message>
+ <message>
+ <source>None of the pragma expressions are supported. Therefore, a fallback expression must be present</source>
+ <translation type="obsolete">Pragma kifejezések egyike sem támogatott. Ennélfogva léteznie kell egy alapértelmezett kifejezésnek</translation>
+ </message>
+ <message>
+ <source>Each name of a template parameter must be unique; %1 is duplicated.</source>
+ <translation type="obsolete">Minden sablonparaméter neve egyedi kell legyen, %1 azonban duplán szerepel.</translation>
+ </message>
+ <message>
+ <source>The %1-axis is unsupported in XQuery</source>
+ <translation type="obsolete">A(z) %1-tengely nem támogatott XQuery-ben</translation>
+ </message>
+ <message>
+ <source>No function by name %1 is available.</source>
+ <translation type="obsolete">Nincs %1 nevű függvény.</translation>
+ </message>
+ <message>
+ <source>The namespace URI cannot be the empty string when binding to a prefix, %1.</source>
+ <translation type="obsolete">Prefixumhoz kötés esetén a névtér URI nem lehet az üres sztring, %1.</translation>
+ </message>
+ <message>
+ <source>%1 is an invalid namespace URI.</source>
+ <translation type="obsolete">%1 érvénytelen névtér URI.</translation>
+ </message>
+ <message>
+ <source>It is not possible to bind to the prefix %1</source>
+ <translation type="obsolete">Nem lehet kötni %1 prefixumhoz</translation>
+ </message>
+ <message>
+ <source>Namespace %1 can only be bound to %2 (and it is, in either case, pre-declared).</source>
+ <translation type="obsolete">%1 névtér csak %2-hoz köthető (és minden esetben előre deklarált).</translation>
+ </message>
+ <message>
+ <source>Prefix %1 can only be bound to %2 (and it is, in either case, pre-declared).</source>
+ <translation type="obsolete">%1 prefixum csak %2-hoz köthető (és minden esetben előre deklarált).</translation>
+ </message>
+ <message>
+ <source>Two namespace declaration attributes have the same name: %1.</source>
+ <translation type="obsolete">Két névtér-deklaráció attribútum neve azonos: %1.</translation>
+ </message>
+ <message>
+ <source>The namespace URI must be a constant and cannot use enclosed expressions.</source>
+ <translation type="obsolete">Egy névtér URI-nek konstansnak kell lennie és nem használhat bennfoglalt kifejezéseket.</translation>
+ </message>
+ <message>
+ <source>An attribute by name %1 has already appeared on this element.</source>
+ <translation type="obsolete">%1 nevű attribútum már szerepel ezen az elemen.</translation>
+ </message>
+ <message>
+ <source>A direct element constructor is not well-formed. %1 is ended with %2.</source>
+ <translation type="obsolete">Egy közvetlen elem konstruktor nem jól formázott. %1-t %2 zárja le.</translation>
+ </message>
+ <message>
+ <source>The name %1 does not refer to any schema type.</source>
+ <translation type="obsolete">A(z) %1 név nem mutat semmilyen séma típusra.</translation>
+ </message>
+ <message>
+ <source>%1 is an complex type. Casting to complex types is not possible. However, casting to atomic types such as %2 works.</source>
+ <translation type="obsolete">%1 komplex típus. Komplex típusra való konvertálás nem lehetséges. Azonban atomi típusokra, mint pl. %2 történő konvertálás igen.</translation>
+ </message>
+ <message>
+ <source>%1 is not an atomic type. Casting is only possible to atomic types.</source>
+ <translation type="obsolete">%1 nem atomi típus. Típuskonverzió csak atomi típusra történhet.</translation>
+ </message>
+ <message>
+ <source>%1 is not a valid name for a processing-instruction.</source>
+ <translation type="obsolete">%1 érvénytelen feldogozó-utasítás név.</translation>
+ </message>
+ <message>
+ <source>%1 is not in the in-scope attribute declarations. Note that the schema import feature is not supported.</source>
+ <translatorcomment>in-scope mint XML kulcsszó vagy ~láthatósági kör???</translatorcomment>
+ <translation type="obsolete">%1 nem a láthatóságon belüli attribútum deklarációk között van. A séma import szolgáltatás nem támogatott.</translation>
+ </message>
+ <message>
+ <source>The name of an extension expression must be in a namespace.</source>
+ <translation type="obsolete">Egy kiterjesztés kifejezés nevének névtérben kell lennie.</translation>
+ </message>
+ <message>
+ <source>Element %1 is not allowed at this location.</source>
+ <translation type="obsolete">%1 elem nem engedélyezett ezen a helyen.</translation>
+ </message>
+ <message>
+ <source>Text nodes are not allowed at this location.</source>
+ <translation type="obsolete">Szöveg csomópontok nem engedélyezettek ezen a helyen.</translation>
+ </message>
+ <message>
+ <source>Parse error: %1</source>
+ <translation type="obsolete">Értelmezési hiba: %1</translation>
+ </message>
+ <message>
+ <source>The value of the XSL-T version attribute must be a value of type %1, which %2 isn&apos;t.</source>
+ <translation type="obsolete">Az XSL-T verzió attribútum értékének %1 típusúnak kell lennie, %2 pedig nem az.</translation>
+ </message>
+ <message>
+ <source>Running an XSL-T 1.0 stylesheet with a 2.0 processor.</source>
+ <translation type="obsolete">XSL-T 1.0 stíluslap futtatása 2.0 verziójú feldolgozóval.</translation>
+ </message>
+ <message>
+ <source>Unknown XSL-T attribute %1.</source>
+ <translation type="obsolete">Ismeretlen XSLT attributum: %1.</translation>
+ </message>
+ <message>
+ <source>Attribute %1 and %2 are mutually exclusive.</source>
+ <translation type="obsolete">%1 és %2 attribútumok kölcsönösen kizáróak.</translation>
+ </message>
+ <message>
+ <source>In a simplified stylesheet module, attribute %1 must be present.</source>
+ <translation type="obsolete">Egy egyszerűsített stíluslap modulban a(z) %1 attribútumnak jelen kell lennie.</translation>
+ </message>
+ <message>
+ <source>If element %1 has no attribute %2, it cannot have attribute %3 or %4.</source>
+ <translation type="obsolete">Ha %1 elemnek nincs %2 attribútuma, akkor %3 vagy %4 attribútuma sem lehet.</translation>
+ </message>
+ <message>
+ <source>Element %1 must have at least one of the attributes %2 or %3.</source>
+ <translation type="obsolete">%1 elemnek valamelyik attribútumát meg kell adni %2 vagy %3 közül.</translation>
+ </message>
+ <message>
+ <source>At least one mode must be specified in the %1-attribute on element %2.</source>
+ <translation type="obsolete">%2 elem %1-attribútumában legalább egy módot meg kell adni.</translation>
+ </message>
+ <message>
+ <source>Element %1 must come last.</source>
+ <translation type="obsolete">%1 elemnek az utolsónak kell lennie.</translation>
+ </message>
+ <message>
+ <source>At least one %1-element must occur before %2.</source>
+ <translation type="obsolete">Legalább egy %1-elemnek szerepelnie kell %2 előtt.</translation>
+ </message>
+ <message>
+ <source>Only one %1-element can appear.</source>
+ <translation type="obsolete">Csak egy %1-elem jelenhet meg.</translation>
+ </message>
+ <message>
+ <source>At least one %1-element must occur inside %2.</source>
+ <translation type="obsolete">Legalább egy %1-elemnek meg kell jelennie %2-n belül.</translation>
+ </message>
+ <message>
+ <source>When attribute %1 is present on %2, a sequence constructor cannot be used.</source>
+ <translation type="obsolete">Ha %2-n meg van adva %1 attribútum, akkor nem használható szekvencia konstruktor.</translation>
+ </message>
+ <message>
+ <source>Element %1 must have either a %2-attribute or a sequence constructor.</source>
+ <translation type="obsolete">%1 elemnek vagy %2-attribútumának vagy szekvencia konstruktorának lennie kell.</translation>
+ </message>
+ <message>
+ <source>When a parameter is required, a default value cannot be supplied through a %1-attribute or a sequence constructor.</source>
+ <translation type="obsolete">Ha paraméter az elvárt, akkor alapértelmezett értéket nem lehet %1-attribútumon vagy szekvencia konstruktoron keresztül átadni.</translation>
+ </message>
+ <message>
+ <source>Element %1 cannot have children.</source>
+ <translation type="obsolete">%1 elemnek nem lehetnek gyermekei.</translation>
+ </message>
+ <message>
+ <source>Element %1 cannot have a sequence constructor.</source>
+ <translation type="obsolete">%1 elemnek nem lehet szekvencia konstruktora.</translation>
+ </message>
+ <message>
+ <source>The attribute %1 cannot appear on %2, when it is a child of %3.</source>
+ <translation type="obsolete">%1 attribútum nem szerepelhet %2-n, ha az %3 gyermeke.</translation>
+ </message>
+ <message>
+ <source>A parameter in a function cannot be declared to be a tunnel.</source>
+ <translation type="obsolete">Egy függvényparaméter nem definiálható mint tunnel.</translation>
+ </message>
+ <message>
+ <source>This processor is not Schema-aware and therefore %1 cannot be used.</source>
+ <translation type="obsolete">Ez a feldolgozó nem séma függő, ezért %1 nem használható.</translation>
+ </message>
+ <message>
+ <source>Top level stylesheet elements must be in a non-null namespace, which %1 isn&apos;t.</source>
+ <translation type="obsolete">Felső szintű stíluslap elemeknek egy nem üres névtérben kell lenniük, ezért %1 nem jó.</translation>
+ </message>
+ <message>
+ <source>The value for attribute %1 on element %2 must either be %3 or %4, not %5.</source>
+ <translation type="obsolete">%2 elem %1 attribútumának értéke %3 vagy %4 kell legyen, de nem %5.</translation>
+ </message>
+ <message>
+ <source>Attribute %1 cannot have the value %2.</source>
+ <translation type="obsolete">%1 attribútum értéke nem lehet %2.</translation>
+ </message>
+ <message>
+ <source>The attribute %1 can only appear on the first %2 element.</source>
+ <translation type="obsolete">%1 attribútum csak az első %2 elem esetén jelenhet meg.</translation>
+ </message>
+ <message>
+ <source>At least one %1 element must appear as child of %2.</source>
+ <translation type="obsolete">Legalább egy %1 elemnek %2 gyermekének kell lennie.</translation>
+ </message>
+ <message>
+ <source>empty</source>
+ <translation type="obsolete">üres</translation>
+ </message>
+ <message>
+ <source>zero or one</source>
+ <translation type="obsolete">nulla vagy egy</translation>
+ </message>
+ <message>
+ <source>exactly one</source>
+ <translation type="obsolete">pontosan egy</translation>
+ </message>
+ <message>
+ <source>one or more</source>
+ <translation type="obsolete">egy vagy több</translation>
+ </message>
+ <message>
+ <source>zero or more</source>
+ <translation type="obsolete">nulla vagy több</translation>
+ </message>
+ <message>
+ <source>Required type is %1, but %2 was found.</source>
+ <translation type="obsolete">Az elvárt típus %1, de a kapott %2.</translation>
+ </message>
+ <message>
+ <source>Promoting %1 to %2 may cause loss of precision.</source>
+ <translation type="obsolete">%1 átalakítása %2 típusra a pontosság elvesztését okozhatja.</translation>
+ </message>
+ <message>
+ <source>The focus is undefined.</source>
+ <translation type="obsolete">A fókusz nincs definiálva.</translation>
+ </message>
+ <message>
+ <source>It&apos;s not possible to add attributes after any other kind of node.</source>
+ <translation type="obsolete">Semmilyen más csomópont után nem adható meg attribútum.</translation>
+ </message>
+ <message>
+ <source>An attribute by name %1 has already been created.</source>
+ <translation type="obsolete">%1 nevű attribútum már létre van hozva.</translation>
+ </message>
+ <message>
+ <source>Only the Unicode Codepoint Collation is supported(%1). %2 is unsupported.</source>
+ <translation type="obsolete">Csak a Unicode Codepoint Collation támogatott(%1). %2 nem támogatott.</translation>
+ </message>
+ <message>
+ <source>derived element %1 has weaker value constraint than base particle</source>
+ <translation type="obsolete">%1 leszármazott elem értékére vonatkozó megszorítás gyengébb, mint az ősre vonatkozó</translation>
</message>
</context>
<context>
@@ -3797,15 +6592,15 @@ Mégis törölni szeretné?</translation>
<message>
<location line="-113"/>
<source>The plugin was not loaded.</source>
- <translation>A beépülő modult nem sikerült betölteni.</translation>
+ <translation>A plugin nem lett betöltve.</translation>
</message>
</context>
<context>
<name>QPrintDialog</name>
<message>
- <location filename="../src/gui/painting/qprinterinfo_unix.cpp" line="+108"/>
+ <location filename="../src/gui/painting/qprinterinfo_unix.cpp" line="+110"/>
<source>locally connected</source>
- <translation>Helyileg csatlakoztatva</translation>
+ <translation>helyben csatlakoztatva</translation>
</message>
<message>
<location line="+23"/>
@@ -3820,22 +6615,15 @@ Mégis törölni szeretné?</translation>
<translation>ismeretlen</translation>
</message>
<message>
- <location filename="../src/gui/dialogs/qprintdialog_win.cpp" line="+266"/>
- <source>OK</source>
- <translation>OK</translation>
- </message>
- <message>
- <location filename="../src/gui/dialogs/qprintdialog_qws.cpp" line="+375"/>
- <source>Print all</source>
- <translation>Az összes kinyomtatása</translation>
+ <source>Portrait</source>
+ <translation type="obsolete">Álló</translation>
</message>
<message>
- <location line="+2"/>
- <source>Print range</source>
- <translation>Egy tartomány kinyomtatása</translation>
+ <source>Landscape</source>
+ <translation type="obsolete">Fekvő</translation>
</message>
<message>
- <location line="-48"/>
+ <location filename="../src/gui/dialogs/qprintdialog_qws.cpp" line="+333"/>
<source>A0 (841 x 1189 mm)</source>
<translation>A0 (841 x 1189 mm)</translation>
</message>
@@ -3855,7 +6643,12 @@ Mégis törölni szeretné?</translation>
<translation>A3 (297 x 420 mm)</translation>
</message>
<message>
- <location line="+2"/>
+ <location line="+1"/>
+ <source>A4 (210 x 297 mm, 8.26 x 11.7 inches)</source>
+ <translation>A4 (210 x 297 mm, 8.26 x 11.7 inch)</translation>
+ </message>
+ <message>
+ <location line="+1"/>
<source>A5 (148 x 210 mm)</source>
<translation>A5 (148 x 210 mm)</translation>
</message>
@@ -3905,7 +6698,12 @@ Mégis törölni szeretné?</translation>
<translation>B4 (250 x 353 mm)</translation>
</message>
<message>
- <location line="+2"/>
+ <location line="+1"/>
+ <source>B5 (176 x 250 mm, 6.93 x 9.84 inches)</source>
+ <translation>B5 (176 x 250 mm, 6.93 x 9.84 inch)</translation>
+ </message>
+ <message>
+ <location line="+1"/>
<source>B6 (125 x 176 mm)</source>
<translation>B6 (125 x 176 mm)</translation>
</message>
@@ -3940,222 +6738,324 @@ Mégis törölni szeretné?</translation>
<translation>DLE (110 x 220 mm)</translation>
</message>
<message>
- <location line="+2"/>
+ <location line="+1"/>
+ <source>Executive (7.5 x 10 inches, 191 x 254 mm)</source>
+ <translation>Executive (7.5 x 10 inch, 191 x 254 mm)</translation>
+ </message>
+ <message>
+ <location line="+1"/>
<source>Folio (210 x 330 mm)</source>
- <translation>Fólió (210 x 330 mm)</translation>
+ <translation>Folio (210 x 330 mm)</translation>
</message>
<message>
<location line="+1"/>
<source>Ledger (432 x 279 mm)</source>
- <translation>Főkönyv (432 x 279 mm)</translation>
+ <translation>Ledger (432 x 279 mm)</translation>
</message>
<message>
- <location line="+3"/>
+ <location line="+1"/>
+ <source>Legal (8.5 x 14 inches, 216 x 356 mm)</source>
+ <translation>Legal (8.5 x 14 inch, 216 x 356 mm)</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Letter (8.5 x 11 inches, 216 x 279 mm)</source>
+ <translation>Letter (8.5 x 11 inch, 216 x 279 mm)</translation>
+ </message>
+ <message>
+ <location line="+1"/>
<source>Tabloid (279 x 432 mm)</source>
- <translation>Tabletta (279 x 432 mm)</translation>
+ <translation>Tabloïd (279 x 432 mm)</translation>
</message>
<message>
<location line="+1"/>
<source>US Common #10 Envelope (105 x 241 mm)</source>
- <translation>US közös #10 bélyeg (105 x 241 mm)</translation>
+ <translation>US Common #10 Envelope (105 x 241 mm)</translation>
</message>
<message>
- <location line="-25"/>
- <source>A4 (210 x 297 mm, 8.26 x 11.7 inches)</source>
- <translation>A4 (210 x 297 mm, 8.26 x 11.7 inches)</translation>
+ <location line="+20"/>
+ <source>Print current page</source>
+ <translation>Jelenlegi oldal nyomtatása</translation>
</message>
<message>
- <location line="+11"/>
- <source>B5 (176 x 250 mm, 6.93 x 9.84 inches)</source>
- <translation>B5 (176 x 250 mm, 6.93 x 9.84 inches)</translation>
+ <location filename="../src/gui/dialogs/qprintdialog_win.cpp" line="+271"/>
+ <source>The &apos;From&apos; value cannot be greater than the &apos;To&apos; value.</source>
+ <translation>Az első oldal száma nem lehet nagyobb, mint az utolsó oldalé.</translation>
</message>
<message>
- <location line="+8"/>
- <source>Executive (7.5 x 10 inches, 191 x 254 mm)</source>
- <translation>Vezető (7.5 x 10 inches, 191 x 254 mm)</translation>
+ <location line="+1"/>
+ <source>OK</source>
+ <translation>OK</translation>
</message>
<message>
- <location line="+3"/>
- <source>Legal (8.5 x 14 inches, 216 x 356 mm)</source>
- <translation>Legális (8.5 x 14 inches, 216 x 356 mm)</translation>
+ <source>Cancel</source>
+ <translation type="obsolete">Mégsem</translation>
</message>
<message>
- <location line="+1"/>
- <source>Letter (8.5 x 11 inches, 216 x 279 mm)</source>
- <translation>Levél (8.5 x 11 inches, 216 x 279 mm)</translation>
+ <source>Page size:</source>
+ <translation type="obsolete">Oldalméret:</translation>
</message>
<message>
- <location line="+20"/>
- <source>Print selection</source>
- <translation>Nyomtatási kiválasztás</translation>
+ <source>Orientation:</source>
+ <translation type="obsolete">Tájolás:</translation>
</message>
<message>
- <location filename="../src/gui/dialogs/qabstractprintdialog.cpp" line="+112"/>
+ <source>Paper source:</source>
+ <translation type="obsolete">Papírforrás:</translation>
+ </message>
+ <message>
+ <location filename="../src/gui/dialogs/qabstractprintdialog.cpp" line="+113"/>
<location line="+13"/>
<location filename="../src/gui/dialogs/qprintdialog_win.cpp" line="-2"/>
<source>Print</source>
<translation>Nyomtatás</translation>
</message>
<message>
- <location filename="../src/gui/dialogs/qprintdialog_unix.cpp" line="-359"/>
+ <source>File</source>
+ <translation type="obsolete">Fájl</translation>
+ </message>
+ <message>
+ <source>Printer</source>
+ <translation type="obsolete">Nyomtató</translation>
+ </message>
+ <message>
+ <location filename="../src/gui/dialogs/qprintdialog_unix.cpp" line="-392"/>
<source>Print To File ...</source>
- <translation>Fájlba nyomtatás ...</translation>
+ <translation>Nyomtatás fájlba...</translation>
</message>
<message>
- <location line="+82"/>
+ <source>Print dialog</source>
+ <translation type="obsolete">Nyomtatási ablak</translation>
+ </message>
+ <message>
+ <source>Paper format</source>
+ <translation type="obsolete">Papírformátum</translation>
+ </message>
+ <message>
+ <source>Size:</source>
+ <translation type="obsolete">Méret:</translation>
+ </message>
+ <message>
+ <source>Properties</source>
+ <translation type="obsolete">Tulajdonságok</translation>
+ </message>
+ <message>
+ <source>Printer info:</source>
+ <translation type="obsolete">Nyomtató információ:</translation>
+ </message>
+ <message>
+ <source>Browse</source>
+ <translation type="obsolete">Böngészés</translation>
+ </message>
+ <message>
+ <source>Print to file</source>
+ <translation type="obsolete">Nyomtatás fájlba</translation>
+ </message>
+ <message>
+ <location filename="../src/gui/dialogs/qprintdialog_qws.cpp" line="-1"/>
+ <source>Print range</source>
+ <translation>Nyomtatási tartomány</translation>
+ </message>
+ <message>
+ <location line="-2"/>
+ <source>Print all</source>
+ <translation>Összes nyomtatása</translation>
+ </message>
+ <message>
+ <source>Pages from</source>
+ <translation type="obsolete">Kezőoldal</translation>
+ </message>
+ <message>
+ <source>to</source>
+ <translation type="obsolete">utolsó oldal</translation>
+ </message>
+ <message>
+ <source>Selection</source>
+ <translation type="obsolete">Kijelölés</translation>
+ </message>
+ <message>
+ <source>Copies</source>
+ <translation type="obsolete">Másolatok</translation>
+ </message>
+ <message>
+ <source>Number of copies:</source>
+ <translation type="obsolete">Másolatok száma:</translation>
+ </message>
+ <message>
+ <source>Collate</source>
+ <translation type="obsolete">Egyeztetés</translation>
+ </message>
+ <message>
+ <source>Print last page first</source>
+ <translation type="obsolete">Először az utolsó oldal nyomtatása</translation>
+ </message>
+ <message>
+ <source>Other</source>
+ <translation type="obsolete">Egyéb</translation>
+ </message>
+ <message>
+ <source>Print in color if available</source>
+ <translation type="obsolete">Színes nyomtatás, ha lehetséges</translation>
+ </message>
+ <message>
+ <source>Double side printing</source>
+ <translation type="obsolete">Kétszeres méretű nyomtatás</translation>
+ </message>
+ <message>
+ <location filename="../src/gui/dialogs/qprintdialog_unix.cpp" line="+82"/>
<source>File %1 is not writable.
Please choose a different file name.</source>
- <translation>A(z) %1 fájl nem írható.
-Kérem válasszon különböző fájl nevet.</translation>
+ <translation>%1 fájl nem írható.
+Válasszon másik fájlnevet.</translation>
</message>
<message>
<location line="+4"/>
<source>%1 already exists.
Do you want to overwrite it?</source>
- <translation>A(z) %1 már létezik.
-Felül szeretné írni?</translation>
+ <translation>%1 már létezik.
+Felülírja?</translation>
</message>
<message>
- <location filename="../src/gui/dialogs/qprintdialog_qws.cpp" line="-228"/>
+ <location filename="../src/gui/dialogs/qprintdialog_qws.cpp" line="-231"/>
<source>File exists</source>
- <translation>Fájl létezik</translation>
+ <translation>A fájl létezik</translation>
</message>
<message>
<location line="+1"/>
<source>&lt;qt&gt;Do you want to overwrite it?&lt;/qt&gt;</source>
- <translation>&lt;qt&gt;Felül szeretné írni?&lt;/qt&gt;</translation>
+ <translation>&lt;qt&gt;Felülírja?&lt;/qt&gt;</translation>
+ </message>
+ <message>
+ <location line="+231"/>
+ <source>Print selection</source>
+ <translation>Kijelölés nyomtatása</translation>
</message>
<message>
<location filename="../src/gui/dialogs/qprintdialog_unix.cpp" line="-8"/>
<source>%1 is a directory.
Please choose a different file name.</source>
- <translation>A(z) %1 egy könyvtár.
-Kérem válasszon egy különböző fájl nevet.</translation>
- </message>
- <message>
- <location filename="../src/gui/dialogs/qprintdialog_win.cpp" line="+1"/>
- <source>The &apos;From&apos; value cannot be greater than the &apos;To&apos; value.</source>
- <translation>A &apos;-Tól&apos; érték nem lehet nagyobb az &apos;-Ig&apos; értéknél.</translation>
+ <translation>%1 egy könyvtár.
+Válasszon másik fájlnevet.</translation>
</message>
<message>
<location filename="../src/gui/dialogs/qpagesetupdialog_unix.cpp" line="-232"/>
<source>A0</source>
- <translation>A0</translation>
+ <translation></translation>
</message>
<message>
<location line="+1"/>
<source>A1</source>
- <translation>A1</translation>
+ <translation></translation>
</message>
<message>
<location line="+1"/>
<source>A2</source>
- <translation>A2</translation>
+ <translation></translation>
</message>
<message>
<location line="+1"/>
<source>A3</source>
- <translation>A3</translation>
+ <translation></translation>
</message>
<message>
<location line="+1"/>
<source>A4</source>
- <translation>A4</translation>
+ <translation></translation>
</message>
<message>
<location line="+1"/>
<source>A5</source>
- <translation>A5</translation>
+ <translation></translation>
</message>
<message>
<location line="+1"/>
<source>A6</source>
- <translation>A6</translation>
+ <translation></translation>
</message>
<message>
<location line="+1"/>
<source>A7</source>
- <translation>A7</translation>
+ <translation></translation>
</message>
<message>
<location line="+1"/>
<source>A8</source>
- <translation>A8</translation>
+ <translation></translation>
</message>
<message>
<location line="+1"/>
<source>A9</source>
- <translation>A9</translation>
+ <translation></translation>
</message>
<message>
<location line="+1"/>
<source>B0</source>
- <translation>B0</translation>
+ <translation></translation>
</message>
<message>
<location line="+1"/>
<source>B1</source>
- <translation>B1</translation>
+ <translation></translation>
</message>
<message>
<location line="+1"/>
<source>B2</source>
- <translation>B2</translation>
+ <translation></translation>
</message>
<message>
<location line="+1"/>
<source>B3</source>
- <translation>B3</translation>
+ <translation></translation>
</message>
<message>
<location line="+1"/>
<source>B4</source>
- <translation>B4</translation>
+ <translation></translation>
</message>
<message>
<location line="+1"/>
<source>B5</source>
- <translation>B5</translation>
+ <translation></translation>
</message>
<message>
<location line="+1"/>
<source>B6</source>
- <translation>B6</translation>
+ <translation></translation>
</message>
<message>
<location line="+1"/>
<source>B7</source>
- <translation>B7</translation>
+ <translation></translation>
</message>
<message>
<location line="+1"/>
<source>B8</source>
- <translation>B8</translation>
+ <translation></translation>
</message>
<message>
<location line="+1"/>
<source>B9</source>
- <translation>B9</translation>
+ <translation></translation>
</message>
<message>
<location line="+1"/>
<source>B10</source>
- <translation>B10</translation>
+ <translation></translation>
</message>
<message>
<location line="+1"/>
<source>C5E</source>
- <translation>C5E</translation>
+ <translation></translation>
</message>
<message>
<location line="+1"/>
<source>DLE</source>
- <translation>DLE</translation>
+ <translation></translation>
</message>
<message>
<location line="+1"/>
<source>Executive</source>
- <translation>Vezető</translation>
+ <translation></translation>
</message>
<message>
<location line="+1"/>
@@ -4165,12 +7065,12 @@ Kérem válasszon egy különböző fájl nevet.</translation>
<message>
<location line="+1"/>
<source>Ledger</source>
- <translation>Főkönyv</translation>
+ <translation></translation>
</message>
<message>
<location line="+1"/>
<source>Legal</source>
- <translation>Legális</translation>
+ <translation></translation>
</message>
<message>
<location line="+1"/>
@@ -4180,12 +7080,12 @@ Kérem válasszon egy különböző fájl nevet.</translation>
<message>
<location line="+1"/>
<source>Tabloid</source>
- <translation>Tabletta</translation>
+ <translation></translation>
</message>
<message>
<location line="+1"/>
<source>US Common #10 Envelope</source>
- <translation>US közös #10 bélyeg</translation>
+ <translation>US általános #10-es boríték</translation>
</message>
<message>
<location line="+1"/>
@@ -4193,25 +7093,30 @@ Kérem válasszon egy különböző fájl nevet.</translation>
<translation>Egyéni</translation>
</message>
<message>
- <location filename="../src/gui/dialogs/qprintdialog_unix.cpp" line="-523"/>
+ <location filename="../src/gui/dialogs/qprintdialog_unix.cpp" line="-530"/>
<location line="+68"/>
<source>&amp;Options &gt;&gt;</source>
<translation>&amp;Opciók &gt;&gt;</translation>
</message>
<message>
- <location line="+4"/>
+ <location line="-63"/>
+ <source>&amp;Print</source>
+ <translation>&amp;Nyomtatás</translation>
+ </message>
+ <message>
+ <location line="+67"/>
<source>&amp;Options &lt;&lt;</source>
<translation>&amp;Opciók &lt;&lt;</translation>
</message>
<message>
- <location line="+253"/>
+ <location line="+260"/>
<source>Print to File (PDF)</source>
- <translation>Fájlba nyomtatás (PDF)</translation>
+ <translation>Nyomtatás fájlba (PDF)</translation>
</message>
<message>
<location line="+1"/>
<source>Print to File (Postscript)</source>
- <translation>Fájlba nyomtatás (Postscript)</translation>
+ <translation>Nyomtatás fájlba (PostScript)</translation>
</message>
<message>
<location line="+47"/>
@@ -4221,55 +7126,56 @@ Kérem válasszon egy különböző fájl nevet.</translation>
<message>
<location line="+1"/>
<source>Write %1 file</source>
- <translation>%1 fájlba írás</translation>
- </message>
- <message>
- <location line="-369"/>
- <source>&amp;Print</source>
- <translation>&amp;Nyomtatás</translation>
+ <translation>írás %1 fájlba</translation>
</message>
</context>
<context>
<name>QPrintPreviewDialog</name>
<message>
- <location filename="../src/gui/dialogs/qprintpreviewdialog.cpp" line="+246"/>
+ <location filename="../src/gui/dialogs/qabstractpagesetupdialog.cpp" line="+68"/>
+ <location line="+12"/>
+ <source>Page Setup</source>
+ <translation>Oldalbeállítás</translation>
+ </message>
+ <message>
+ <location filename="../src/gui/dialogs/qprintpreviewdialog.cpp" line="+249"/>
<source>%1%</source>
<translation>%1%</translation>
</message>
<message>
- <location line="+68"/>
+ <location line="+84"/>
<source>Print Preview</source>
- <translation>Nyomtatási előnézet</translation>
+ <translation>Nyomtatási kép</translation>
</message>
<message>
<location line="+30"/>
<source>Next page</source>
- <translation>Következő lap</translation>
+ <translation>Következő oldal</translation>
</message>
<message>
<location line="+1"/>
<source>Previous page</source>
- <translation>Előző lap</translation>
+ <translation>Előző oldal</translation>
</message>
<message>
<location line="+1"/>
<source>First page</source>
- <translation>Első lap</translation>
+ <translation>Első oldal</translation>
</message>
<message>
<location line="+1"/>
<source>Last page</source>
- <translation>Utolsó lap</translation>
+ <translation>Utolsó oldal</translation>
</message>
<message>
<location line="+9"/>
<source>Fit width</source>
- <translation>Megfelelő szélesség</translation>
+ <translation>Szélesség igazítása</translation>
</message>
<message>
<location line="+1"/>
<source>Fit page</source>
- <translation>Megfelelő lap</translation>
+ <translation>Oldal igazítása</translation>
</message>
<message>
<location line="+11"/>
@@ -4284,27 +7190,27 @@ Kérem válasszon egy különböző fájl nevet.</translation>
<message>
<location line="+6"/>
<source>Portrait</source>
- <translation>Portré</translation>
+ <translation>Álló</translation>
</message>
<message>
<location line="+1"/>
<source>Landscape</source>
- <translation>Tájkép</translation>
+ <translation>Fekvő</translation>
</message>
<message>
<location line="+10"/>
<source>Show single page</source>
- <translation>Egyetlen lap megjelenítése</translation>
+ <translation>Egy oldalas megjelenítés</translation>
</message>
<message>
<location line="+1"/>
<source>Show facing pages</source>
- <translation>Lapok megjelenítése szemből</translation>
+ <translation>Kétoldalas megjelenítés</translation>
</message>
<message>
<location line="+1"/>
<source>Show overview of all pages</source>
- <translation>Az összes lap áttekintésének megjelenítése</translation>
+ <translation>Az összes oldal megjelenítése</translation>
</message>
<message>
<location line="+15"/>
@@ -4314,23 +7220,37 @@ Kérem válasszon egy különböző fájl nevet.</translation>
<message>
<location line="+1"/>
<source>Page setup</source>
- <translation>Lap beállítás</translation>
+ <translation>Oldalbeállítás</translation>
</message>
<message>
- <location line="+150"/>
+ <location line="+6"/>
+ <source>Close</source>
+ <translation>Bezárás</translation>
+ </message>
+ <message>
+ <location line="+148"/>
<source>Export to PDF</source>
- <translation>PDF-be exportálás</translation>
+ <translation>Exportálás PDF-be</translation>
</message>
<message>
<location line="+3"/>
<source>Export to PostScript</source>
- <translation>PostScript-be exportálás</translation>
+ <translation>Exportálás PostScript-be</translation>
</message>
+</context>
+<context>
+ <name>QPrintPropertiesDialog</name>
<message>
- <location filename="../src/gui/dialogs/qabstractpagesetupdialog.cpp" line="+68"/>
- <location line="+12"/>
- <source>Page Setup</source>
- <translation>Lap beállítás</translation>
+ <source>PPD Properties</source>
+ <translation type="obsolete">PPD beállítások</translation>
+ </message>
+ <message>
+ <source>Save</source>
+ <translation type="obsolete">Mentés</translation>
+ </message>
+ <message>
+ <source>OK</source>
+ <translation type="obsolete">OK</translation>
</message>
</context>
<context>
@@ -4338,17 +7258,17 @@ Kérem válasszon egy különböző fájl nevet.</translation>
<message>
<location filename="../src/gui/dialogs/qprintpropertieswidget.ui"/>
<source>Form</source>
- <translation>Forma</translation>
+ <translation>Formátum</translation>
</message>
<message>
<location/>
<source>Page</source>
- <translation>Lap</translation>
+ <translation>Papír</translation>
</message>
<message>
<location/>
<source>Advanced</source>
- <translation>Speciális</translation>
+ <translation>Egyebek</translation>
</message>
</context>
<context>
@@ -4356,57 +7276,57 @@ Kérem válasszon egy különböző fájl nevet.</translation>
<message>
<location filename="../src/gui/dialogs/qprintsettingsoutput.ui"/>
<source>Form</source>
- <translation>Forma</translation>
+ <translation>Formátum</translation>
</message>
<message>
<location/>
<source>Copies</source>
- <translation>Másolás</translation>
+ <translation>Másolatok</translation>
</message>
<message>
<location/>
<source>Print range</source>
- <translation>Tartomány nyomtatása</translation>
+ <translation>Nyomtatási tartomány</translation>
</message>
<message>
<location/>
<source>Print all</source>
- <translation>Az összes nyomtatása</translation>
+ <translation>Összes nyomtatása</translation>
</message>
<message>
<location/>
<source>Pages from</source>
- <translation>Lapok ettől</translation>
+ <translation>Kezőoldal</translation>
</message>
<message>
<location/>
<source>to</source>
- <translation>eddig</translation>
+ <translation>utolsó oldal</translation>
</message>
<message>
<location/>
<source>Selection</source>
- <translation>Kiválasztás</translation>
+ <translation>Kijelölés</translation>
</message>
<message>
<location/>
<source>Output Settings</source>
- <translation>Kimeneti beállítások</translation>
+ <translation>Kimenet beállítása</translation>
</message>
<message>
<location/>
<source>Copies:</source>
- <translation>Másolatok:</translation>
+ <translation>Másolat:</translation>
</message>
<message>
<location/>
<source>Collate</source>
- <translation>Egyeztet</translation>
+ <translation>Egyeztetés</translation>
</message>
<message>
<location/>
<source>Reverse</source>
- <translation>Fordítva</translation>
+ <translation>Fordított</translation>
</message>
<message>
<location/>
@@ -4416,7 +7336,7 @@ Kérem válasszon egy különböző fájl nevet.</translation>
<message>
<location/>
<source>Color Mode</source>
- <translation>Színes mód</translation>
+ <translation>Színmód</translation>
</message>
<message>
<location/>
@@ -4426,27 +7346,32 @@ Kérem válasszon egy különböző fájl nevet.</translation>
<message>
<location/>
<source>Grayscale</source>
- <translation>Szürkeárnyalat</translation>
+ <translation>Szürkeárnyalatos</translation>
</message>
<message>
<location/>
<source>Duplex Printing</source>
- <translation>Dupla nyomtatás</translation>
+ <translation>Duplex nyomtatás</translation>
</message>
<message>
<location/>
<source>None</source>
- <translation>Semmi</translation>
+ <translation>Nincs</translation>
</message>
<message>
<location/>
<source>Long side</source>
- <translation>Hosszú oldal</translation>
+ <translation>Hosszabb oldal</translation>
</message>
<message>
<location/>
<source>Short side</source>
- <translation>Rövid oldal</translation>
+ <translation>Rövidebb oldal</translation>
+ </message>
+ <message>
+ <location/>
+ <source>Current Page</source>
+ <translation>Jelenlegi oldal</translation>
</message>
</context>
<context>
@@ -4454,7 +7379,7 @@ Kérem válasszon egy különböző fájl nevet.</translation>
<message>
<location filename="../src/gui/dialogs/qprintwidget.ui"/>
<source>Form</source>
- <translation>Űrlap</translation>
+ <translation>Formátum</translation>
</message>
<message>
<location/>
@@ -4469,12 +7394,12 @@ Kérem válasszon egy különböző fájl nevet.</translation>
<message>
<location/>
<source>P&amp;roperties</source>
- <translation>Tu&amp;lajdonságok</translation>
+ <translation>Tula&amp;jdonságok</translation>
</message>
<message>
<location/>
<source>Location:</source>
- <translation>Elhelyezkedés:</translation>
+ <translation>Hely:</translation>
</message>
<message>
<location/>
@@ -4500,21 +7425,46 @@ Kérem válasszon egy különböző fájl nevet.</translation>
<context>
<name>QProcess</name>
<message>
+ <location filename="../src/corelib/io/qprocess.cpp" line="+866"/>
+ <location line="+52"/>
+ <location filename="../src/corelib/io/qprocess_win.cpp" line="+573"/>
+ <location line="+50"/>
+ <source>Error reading from process</source>
+ <translation>Hiba a folyamat kimenetéről olvasáskor</translation>
+ </message>
+ <message>
+ <location line="+47"/>
+ <location line="+826"/>
+ <location filename="../src/corelib/io/qprocess_win.cpp" line="+140"/>
+ <source>Error writing to process</source>
+ <translation>Hiba a folyamat bemenetére íráskor</translation>
+ </message>
+ <message>
+ <location line="-756"/>
+ <source>Process crashed</source>
+ <translation>A folyamat összeomlott</translation>
+ </message>
+ <message>
+ <location line="+959"/>
+ <source>No program defined</source>
+ <translation>A programnév nincs megadva</translation>
+ </message>
+ <message>
<location filename="../src/corelib/io/qprocess_unix.cpp" line="+406"/>
- <location filename="../src/corelib/io/qprocess_win.cpp" line="+137"/>
+ <location filename="../src/corelib/io/qprocess_win.cpp" line="-626"/>
<source>Could not open input redirection for reading</source>
- <translation>Nem sikerült megnyitni a bevitel olvasásra irányítását</translation>
+ <translation>Az átirányított bemenet megnyitása olvasásra sikertelen</translation>
</message>
<message>
<location line="+12"/>
<location filename="../src/corelib/io/qprocess_win.cpp" line="+20"/>
<source>Could not open output redirection for writing</source>
- <translation>Nem sikerült megnyitni a kimenet írásra irányítását</translation>
+ <translation>Az átirányított kimenet megnyitása írásra sikertelen</translation>
</message>
<message>
<location line="+239"/>
<source>Resource error (fork failure): %1</source>
- <translation>Erőforrás hiba (Szétágazás hiba): %1</translation>
+ <translation>A forkolás sikertelen: %1</translation>
</message>
<message>
<location line="+258"/>
@@ -4527,37 +7477,16 @@ Kérem válasszon egy különböző fájl nevet.</translation>
<location line="+42"/>
<location line="+54"/>
<source>Process operation timed out</source>
- <translation>Folyamat művelet időtúllépés</translation>
- </message>
- <message>
- <location filename="../src/corelib/io/qprocess.cpp" line="+855"/>
- <location line="+52"/>
- <location filename="../src/corelib/io/qprocess_win.cpp" line="-211"/>
- <location line="+50"/>
- <source>Error reading from process</source>
- <translation>Hiba történt a folyamat olvasása közben</translation>
- </message>
- <message>
- <location line="+47"/>
- <location line="+826"/>
- <location filename="../src/corelib/io/qprocess_win.cpp" line="+140"/>
- <source>Error writing to process</source>
- <translation>Hiba történt a folyamat írása közben</translation>
- </message>
- <message>
- <location line="-756"/>
- <source>Process crashed</source>
- <translation>A folyamat összeomlott</translation>
+ <translation>A művelet időtúllépés miatt megszakadt</translation>
</message>
<message>
- <location line="+959"/>
- <source>No program defined</source>
- <translation>Nincs program definiálva</translation>
+ <source>Process failed to start</source>
+ <translation type="obsolete">A folyamat nem indult el</translation>
</message>
<message>
- <location filename="../src/corelib/io/qprocess_win.cpp" line="-360"/>
+ <location filename="../src/corelib/io/qprocess_win.cpp" line="-381"/>
<source>Process failed to start: %1</source>
- <translation>Nem sikerült elindítani a folyamatot: %1</translation>
+ <translation>A művelet előkészítése nem lehetséges: %1</translation>
</message>
</context>
<context>
@@ -4565,7 +7494,7 @@ Kérem válasszon egy különböző fájl nevet.</translation>
<message>
<location filename="../src/gui/dialogs/qprogressdialog.cpp" line="+196"/>
<source>Cancel</source>
- <translation>Mégse</translation>
+ <translation>Mégsem</translation>
</message>
</context>
<context>
@@ -4581,7 +7510,7 @@ Kérem válasszon egy különböző fájl nevet.</translation>
<message>
<location line="+12"/>
<source>Check</source>
- <translation>Ellenőrzés</translation>
+ <translation>Kijelölés</translation>
</message>
</context>
<context>
@@ -4594,22 +7523,22 @@ Kérem válasszon egy különböző fájl nevet.</translation>
<message>
<location line="+1"/>
<source>disabled feature used</source>
- <translation>tiltás tulajdonság használva</translation>
+ <translation>letiltott lehetőség használata</translation>
</message>
<message>
<location line="+1"/>
<source>bad char class syntax</source>
- <translation>rossz karakter osztály szintakszis</translation>
+ <translation>rossz karakterosztály-szintaxis</translation>
</message>
<message>
<location line="+1"/>
<source>bad lookahead syntax</source>
- <translation>rossz előreolvasási szintakszis</translation>
+ <translation>rossz lookahead-szintaxis</translation>
</message>
<message>
<location line="+1"/>
<source>bad repetition syntax</source>
- <translation>rossz ismétlési szintakszis</translation>
+ <translation>rossz ismétlés-szintaxis</translation>
</message>
<message>
<location line="+1"/>
@@ -4619,17 +7548,17 @@ Kérem válasszon egy különböző fájl nevet.</translation>
<message>
<location line="+1"/>
<source>missing left delim</source>
- <translation>hiányzó bal határolójel</translation>
+ <translation>hiányzó baloldali határoló</translation>
</message>
<message>
<location line="+1"/>
<source>unexpected end</source>
- <translation>váratlan vég</translation>
+ <translation>váratlan befejezés</translation>
</message>
<message>
<location line="+1"/>
<source>met internal limit</source>
- <translation>találkozott belső korlát</translation>
+ <translation>belső korlát elérve</translation>
</message>
<message>
<location line="+1"/>
@@ -4645,100 +7574,112 @@ Kérem válasszon egy különböző fájl nevet.</translation>
<context>
<name>QSQLite2Driver</name>
<message>
- <location filename="../src/sql/drivers/sqlite2/qsql_sqlite2.cpp" line="+391"/>
+ <source>Error to open database</source>
+ <translation type="obsolete">Adatbázis megnyitási hiba</translation>
+ </message>
+ <message>
+ <location filename="../src/sql/drivers/sqlite2/qsql_sqlite2.cpp" line="+399"/>
<source>Error opening database</source>
- <translation>Hiba történt az adatbázis megnyitása közben</translation>
+ <translation>Adatbázis megnyitási hiba</translation>
</message>
<message>
<location line="+41"/>
<source>Unable to begin transaction</source>
- <translation>Nem lehet elkezdeni a tranzakciót</translation>
+ <translation>A tranzakció nem indítható</translation>
</message>
<message>
<location line="+17"/>
<source>Unable to commit transaction</source>
- <translation>Nem lehet kommitolni a tranzakciót</translation>
+ <translation>A tranzakció nem véglegesíthető</translation>
</message>
<message>
<location line="+17"/>
<source>Unable to rollback transaction</source>
- <translation>Nem lehet visszagörgetni a tranzakciót</translation>
+ <translation>A tranzakció nem görgethető vissza</translation>
+ </message>
+ <message>
+ <source>Unable to rollback Transaction</source>
+ <translation type="obsolete">A tranzakció nem görgethető vissza</translation>
</message>
</context>
<context>
<name>QSQLite2Result</name>
<message>
- <location line="-319"/>
+ <location line="-326"/>
<source>Unable to fetch results</source>
- <translation>Nem lehet letölteni az eredményeket</translation>
+ <translation>Az eredmények nem olvashatók ki</translation>
</message>
<message>
- <location line="+143"/>
+ <location line="+150"/>
<source>Unable to execute statement</source>
- <translation>Nem lehet végrehajtani az állítást</translation>
+ <translation>A parancs nem hajtható végre</translation>
</message>
</context>
<context>
<name>QSQLiteDriver</name>
<message>
- <location filename="../src/sql/drivers/sqlite/qsql_sqlite.cpp" line="+540"/>
+ <location filename="../src/sql/drivers/sqlite/qsql_sqlite.cpp" line="+539"/>
<source>Error opening database</source>
- <translation>Hiba történt az adatbázis megnyitása közben</translation>
+ <translation>Adatbázis megnyitási hiba</translation>
</message>
<message>
<location line="+11"/>
<source>Error closing database</source>
- <translation>Hiba történt az adatbázis bezárása közben</translation>
+ <translation>Adatbázis bezárási hiba</translation>
</message>
<message>
<location line="+20"/>
<source>Unable to begin transaction</source>
- <translation>Nem lehet elkezdeni a tranzakciót</translation>
+ <translation>A tranzakció nem indítható</translation>
</message>
<message>
<location line="+15"/>
<source>Unable to commit transaction</source>
- <translation>Nem lehet kommitolni a tranzakciót</translation>
+ <translation>A tranzakció nem véglegesíthető</translation>
+ </message>
+ <message>
+ <source>Unable to roll back transaction</source>
+ <translation type="obsolete">A tranzakció nem görgethető vissza</translation>
</message>
<message>
<location line="+15"/>
<source>Unable to rollback transaction</source>
- <translation>Nem lehet visszagörgetni a tranzakciót</translation>
+ <translation>A tranzakció nem görgethető vissza</translation>
</message>
</context>
<context>
<name>QSQLiteResult</name>
<message>
- <location line="-404"/>
- <location line="+62"/>
+ <location line="-396"/>
+ <location line="+63"/>
<location line="+8"/>
<source>Unable to fetch row</source>
- <translation>Nem lehet leszedni a sort</translation>
+ <translation>A sor nem olvasható ki</translation>
</message>
<message>
<location line="+59"/>
<source>Unable to execute statement</source>
- <translation>Nem lehet végrehajtani az állítást</translation>
+ <translation>A parancs nem hajtható végre</translation>
</message>
<message>
<location line="+20"/>
<source>Unable to reset statement</source>
- <translation>Nem lehet visszaállítani az állítást</translation>
+ <translation>A parancs nem vonható vissza</translation>
</message>
<message>
<location line="+45"/>
<source>Unable to bind parameters</source>
- <translation>Nem lehet összekötni a paramétereket</translation>
+ <translation>A paraméterek kötése sikertelen</translation>
</message>
<message>
<location line="+7"/>
<source>Parameter count mismatch</source>
- <translation>A paraméter számláló nem megfelelő</translation>
+ <translation>A paraméterek száma nem megfelelő</translation>
</message>
<message>
- <location line="-200"/>
+ <location line="-201"/>
<source>No query</source>
- <translation>Nincs lekérdezés</translation>
+ <translation>Üres lekérdezés</translation>
</message>
</context>
<context>
@@ -4746,12 +7687,12 @@ Kérem válasszon egy különböző fájl nevet.</translation>
<message>
<location filename="../src/scripttools/debugging/qscriptbreakpointsmodel.cpp" line="+455"/>
<source>ID</source>
- <translation>Azonosító</translation>
+ <translation>ID</translation>
</message>
<message>
<location line="+2"/>
<source>Location</source>
- <translation>Elhelyezkedés</translation>
+ <translation>Hely</translation>
</message>
<message>
<location line="+2"/>
@@ -4761,17 +7702,18 @@ Kérem válasszon egy különböző fájl nevet.</translation>
<message>
<location line="+2"/>
<source>Ignore-count</source>
- <translation>Számítás mellőzése</translation>
+ <translation>Kihagyások száma</translation>
</message>
<message>
<location line="+2"/>
<source>Single-shot</source>
- <translation>Egylövetű</translation>
+ <translatorcomment>CHECKIT</translatorcomment>
+ <translation></translation>
</message>
<message>
<location line="+2"/>
<source>Hit-count</source>
- <translation>Leütés számítás</translation>
+ <translation>Találatok száma</translation>
</message>
</context>
<context>
@@ -4793,7 +7735,7 @@ Kérem válasszon egy különböző fájl nevet.</translation>
<location filename="../src/scripttools/debugging/qscriptdebugger.cpp" line="+885"/>
<location line="+1013"/>
<source>Go to Line</source>
- <translation>Ugrás erre a sorra</translation>
+ <translation>Sorra ugrás</translation>
</message>
<message>
<location line="-1012"/>
@@ -4808,7 +7750,7 @@ Kérem válasszon egy különböző fájl nevet.</translation>
<message>
<location line="+2"/>
<source>Shift+F5</source>
- <translation>Shift+F5</translation>
+ <translation></translation>
</message>
<message>
<location line="+15"/>
@@ -4818,97 +7760,97 @@ Kérem válasszon egy különböző fájl nevet.</translation>
<message>
<location line="+2"/>
<source>F5</source>
- <translation>F5</translation>
+ <translation></translation>
</message>
<message>
<location line="+15"/>
<source>Step Into</source>
- <translation>Belelépés</translation>
+ <translation>Beleugrás</translation>
</message>
<message>
<location line="+2"/>
<source>F11</source>
- <translation>F11</translation>
+ <translation></translation>
</message>
<message>
<location line="+15"/>
<source>Step Over</source>
- <translation>Átlépés</translation>
+ <translation>Átugrás</translation>
</message>
<message>
<location line="+2"/>
<source>F10</source>
- <translation>F10</translation>
+ <translation></translation>
</message>
<message>
<location line="+15"/>
<source>Step Out</source>
- <translation>Kilép</translation>
+ <translation>Kiugrás</translation>
</message>
<message>
<location line="+2"/>
<source>Shift+F11</source>
- <translation>Shift+F11</translation>
+ <translation></translation>
</message>
<message>
<location line="+15"/>
<source>Run to Cursor</source>
- <translation>Kurzorra futás</translation>
+ <translation>Futtatás a kurzortól</translation>
</message>
<message>
<location line="+2"/>
<source>Ctrl+F10</source>
- <translation>Ctrl+F10</translation>
+ <translation></translation>
</message>
<message>
<location line="+16"/>
<source>Run to New Script</source>
- <translation>Az új Szkriptre futás</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+15"/>
<source>Toggle Breakpoint</source>
- <translation>Töréspont kapcsolgatása</translation>
+ <translation>Töréspont beállítása</translation>
</message>
<message>
<location line="+1"/>
<source>F9</source>
- <translation>F9</translation>
+ <translation></translation>
</message>
<message>
<location line="+14"/>
<source>Clear Debug Output</source>
- <translation>Debug kimenet kiürítése</translation>
+ <translation>Debug kimenet törlése</translation>
</message>
<message>
<location line="+13"/>
<source>Clear Error Log</source>
- <translation>Error Log kiürítése</translation>
+ <translation>Hibanapló törlése</translation>
</message>
<message>
<location line="+13"/>
<source>Clear Console</source>
- <translation>Konzol kiürítése</translation>
+ <translation>Konzol törlése</translation>
</message>
<message>
<location line="+14"/>
<source>&amp;Find in Script...</source>
- <translation>Szkriptben &amp;keresés...</translation>
+ <translation>&amp;Keresés a parancsfájlban...</translation>
</message>
<message>
<location line="+1"/>
<source>Ctrl+F</source>
- <translation>Ctrl+F</translation>
+ <translation></translation>
</message>
<message>
<location line="+17"/>
<source>Find &amp;Next</source>
- <translation>&amp;Következő keresése</translation>
+ <translation>Kö&amp;vetkező keresése</translation>
</message>
<message>
<location line="+2"/>
<source>F3</source>
- <translation>F3</translation>
+ <translation></translation>
</message>
<message>
<location line="+13"/>
@@ -4918,17 +7860,17 @@ Kérem válasszon egy különböző fájl nevet.</translation>
<message>
<location line="+2"/>
<source>Shift+F3</source>
- <translation>Shift+F3</translation>
+ <translation></translation>
</message>
<message>
<location line="+14"/>
<source>Ctrl+G</source>
- <translation>Ctrl+G</translation>
+ <translation></translation>
</message>
<message>
<location line="+11"/>
<source>Debug</source>
- <translation>Debug</translation>
+ <translation>Hibakeresés</translation>
</message>
</context>
<context>
@@ -4951,23 +7893,23 @@ Kérem válasszon egy különböző fájl nevet.</translation>
<message>
<location line="+5"/>
<source>Case Sensitive</source>
- <translation>Kis és nagybetű érzékeny</translation>
+ <translation>Kis/nagybetű érzékeny</translation>
</message>
<message>
<location line="+3"/>
<source>Whole words</source>
- <translation>Egész szavakat</translation>
+ <translation>Teljes szó</translation>
</message>
<message>
<location line="+9"/>
<source>&lt;img src=&quot;:/qt/scripttools/debugging/images/wrap.png&quot;&gt;&amp;nbsp;Search wrapped</source>
- <translation>&lt;img src=&quot;:/qt/scripttools/debugging/images/wrap.png&quot;&gt;&amp;nbsp;Keresés tördelve</translation>
+ <translation>&lt;img src=&quot;:/qt/scripttools/debugging/images/wrap.png&quot;&gt;&amp;nbsp;A keresés befejeződött</translation>
</message>
</context>
<context>
<name>QScriptDebuggerLocalsModel</name>
<message>
- <location filename="../src/scripttools/debugging/qscriptdebuggerlocalsmodel.cpp" line="+872"/>
+ <location filename="../src/scripttools/debugging/qscriptdebuggerlocalsmodel.cpp" line="+897"/>
<source>Name</source>
<translation>Név</translation>
</message>
@@ -4992,7 +7934,7 @@ Kérem válasszon egy különböző fájl nevet.</translation>
<message>
<location line="+2"/>
<source>Location</source>
- <translation>Elhelyezkedés</translation>
+ <translation>Hely</translation>
</message>
</context>
<context>
@@ -5000,12 +7942,12 @@ Kérem válasszon egy különböző fájl nevet.</translation>
<message>
<location filename="../src/scripttools/debugging/qscriptedit.cpp" line="+411"/>
<source>Toggle Breakpoint</source>
- <translation>Töréspont kapcsolgatása</translation>
+ <translation>Töréspont beállítása</translation>
</message>
<message>
<location line="+2"/>
<source>Disable Breakpoint</source>
- <translation>Töréspont tiltása</translation>
+ <translation>Töréspont letiltása</translation>
</message>
<message>
<location line="+1"/>
@@ -5015,7 +7957,7 @@ Kérem válasszon egy különböző fájl nevet.</translation>
<message>
<location line="+4"/>
<source>Breakpoint Condition:</source>
- <translation>Töréspont feltétel:</translation>
+ <translation>Töréspont állapota:</translation>
</message>
</context>
<context>
@@ -5023,7 +7965,7 @@ Kérem válasszon egy különböző fájl nevet.</translation>
<message>
<location filename="../src/scripttools/debugging/qscriptenginedebugger.cpp" line="+523"/>
<source>Loaded Scripts</source>
- <translation>Betöltött szkriptek</translation>
+ <translation>Betöltött parancsfájlok</translation>
</message>
<message>
<location line="+6"/>
@@ -5053,7 +7995,7 @@ Kérem válasszon egy különböző fájl nevet.</translation>
<message>
<location line="+6"/>
<source>Error Log</source>
- <translation>Hiba Log</translation>
+ <translation>Hibanapló</translation>
</message>
<message>
<location line="+12"/>
@@ -5068,7 +8010,7 @@ Kérem válasszon egy különböző fájl nevet.</translation>
<message>
<location line="+18"/>
<source>Qt Script Debugger</source>
- <translation>Qt szkript debugger</translation>
+ <translation>Qt parancsfájl-hibakereső</translation>
</message>
</context>
<context>
@@ -5089,44 +8031,44 @@ Kérem válasszon egy különböző fájl nevet.</translation>
<message>
<location line="+2"/>
<source>Left edge</source>
- <translation>Bal szegély</translation>
+ <translation>Bal szélen</translation>
</message>
<message>
<location line="+0"/>
<source>Top</source>
- <translation>Tető</translation>
+ <translation>Fent</translation>
</message>
<message>
<location line="+1"/>
<source>Right edge</source>
- <translation>Jobb szegély</translation>
+ <translation>Jobb szélen</translation>
</message>
<message>
<location line="+0"/>
<source>Bottom</source>
- <translation>Alja</translation>
+ <translation>Lent</translation>
</message>
<message>
<location line="+2"/>
<source>Page left</source>
- <translation>Lapzoás balra</translation>
+ <translation>Oldal balra</translation>
</message>
<message>
<location line="+0"/>
<location filename="../src/plugins/accessible/widgets/rangecontrols.cpp" line="+143"/>
<source>Page up</source>
- <translation>Lapozás felfele</translation>
+ <translation>Oldal felfelé</translation>
</message>
<message>
<location line="+1"/>
<source>Page right</source>
- <translation>Lapozás jobbra</translation>
+ <translation>Oldal jobbra</translation>
</message>
<message>
<location line="+0"/>
<location filename="../src/plugins/accessible/widgets/rangecontrols.cpp" line="+4"/>
<source>Page down</source>
- <translation>Lapozás lefele</translation>
+ <translation>Oldal lefelé</translation>
</message>
<message>
<location line="+2"/>
@@ -5136,7 +8078,7 @@ Kérem válasszon egy különböző fájl nevet.</translation>
<message>
<location line="+0"/>
<source>Scroll up</source>
- <translation>Görgetés felfele</translation>
+ <translation>Görgetés felfelé</translation>
</message>
<message>
<location line="+1"/>
@@ -5146,48 +8088,53 @@ Kérem válasszon egy különböző fájl nevet.</translation>
<message>
<location line="+0"/>
<source>Scroll down</source>
- <translation>Görgetés lefele</translation>
+ <translation>Görgetés lefelé</translation>
</message>
<message>
<location filename="../src/plugins/accessible/widgets/rangecontrols.cpp" line="-6"/>
<source>Line up</source>
- <translation>Egy sorral feljebb</translation>
+ <translation>Sor felfelé</translation>
</message>
<message>
<location line="+4"/>
<source>Position</source>
- <translation>Pozíció</translation>
+ <translation>Helyzet</translation>
</message>
<message>
<location line="+4"/>
<source>Line down</source>
- <translation>Egy sorral lejjebb</translation>
+ <translation>Sor lefelé</translation>
</message>
</context>
<context>
<name>QSharedMemory</name>
<message>
- <location filename="../src/corelib/kernel/qsharedmemory.cpp" line="+304"/>
+ <location filename="../src/corelib/kernel/qsharedmemory.cpp" line="+223"/>
+ <source>%1: unable to set key on lock</source>
+ <translation>%1:a kulcs beállítása sikertelen a zároláson</translation>
+ </message>
+ <message>
+ <location line="+81"/>
<source>%1: create size is less then 0</source>
- <translation>%1: 0-nál kisebb méret létrehozása</translation>
+ <translation>%1: a megadott méret kissebb mint 0</translation>
</message>
<message>
<location line="+168"/>
<location filename="../src/corelib/kernel/qsharedmemory_p.h" line="+155"/>
<source>%1: unable to lock</source>
- <translation>%1: Nem lehet zárolni</translation>
+ <translation>%1: a zárolás sikertelen</translation>
</message>
<message>
<location line="+22"/>
<source>%1: unable to unlock</source>
- <translation>%1: Nem lehet kinyitni</translation>
+ <translation>%1: a feloldás sikertelen</translation>
</message>
<message>
<location filename="../src/corelib/kernel/qsharedmemory_symbian.cpp" line="+83"/>
- <location filename="../src/corelib/kernel/qsharedmemory_unix.cpp" line="+79"/>
+ <location filename="../src/corelib/kernel/qsharedmemory_unix.cpp" line="+81"/>
<location filename="../src/corelib/kernel/qsharedmemory_win.cpp" line="+87"/>
<source>%1: permission denied</source>
- <translation>%1: engedély megtagadva</translation>
+ <translation>%1: hozzáférés megtagadva</translation>
</message>
<message>
<location line="-16"/>
@@ -5199,14 +8146,14 @@ Kérem válasszon egy különböző fájl nevet.</translation>
<message>
<location line="+4"/>
<source>%1: doesn&apos;t exists</source>
- <translation>%1: nem létezik</translation>
+ <translation>%1: nem tatlálható</translation>
</message>
<message>
<location line="+8"/>
<location filename="../src/corelib/kernel/qsharedmemory_unix.cpp" line="+10"/>
<location filename="../src/corelib/kernel/qsharedmemory_win.cpp" line="+18"/>
<source>%1: out of resources</source>
- <translation>%1: Kifogyott az erőforrásból</translation>
+ <translation>%1: az erőforrások elfogytak</translation>
</message>
<message>
<location line="+7"/>
@@ -5218,19 +8165,23 @@ Kérem válasszon egy különböző fájl nevet.</translation>
<message>
<location filename="../src/corelib/kernel/qsharedmemory_unix.cpp" line="+21"/>
<source>%1: key is empty</source>
- <translation>%1: Üres kulcs</translation>
+ <translation>%1: a kulcs hiányzik</translation>
+ </message>
+ <message>
+ <source>%1: unix key file doesn&apos;t exists</source>
+ <translation type="obsolete">%1: az unix kulcsfájl hiányzik</translation>
</message>
<message>
<location line="+15"/>
<source>%1: ftok failed</source>
- <translation>%1: ftok hiba</translation>
+ <translation>%1: ftok hibát adott vissza</translation>
</message>
<message>
<location filename="../src/corelib/kernel/qsharedmemory_symbian.cpp" line="+56"/>
<location filename="../src/corelib/kernel/qsharedmemory_unix.cpp" line="+51"/>
<location filename="../src/corelib/kernel/qsharedmemory_win.cpp" line="+15"/>
<source>%1: unable to make key</source>
- <translation>%1: Nem lehet kulcsot csinálni</translation>
+ <translation>%1: a kulcs elkészítése sikertelen</translation>
</message>
<message>
<location filename="../src/corelib/kernel/qsharedmemory_unix.cpp" line="-97"/>
@@ -5241,23 +8192,23 @@ Kérem válasszon egy különböző fájl nevet.</translation>
<message>
<location line="+39"/>
<source>%1: UNIX key file doesn&apos;t exist</source>
- <translation>%1: UNIX kulcs fájl nem létezik</translation>
+ <translation>%1: az UNIX kulcsfájl nem létezik</translation>
</message>
<message>
<location line="+78"/>
<source>%1: system-imposed size restrictions</source>
- <translation>%1: a rendszer rárakott méretének korlátozásai</translation>
+ <translation>%1: a rendszer méretkorlátokat állított fel</translation>
</message>
<message>
<location line="+53"/>
<source>%1: not attached</source>
- <translation>%1: nincs hozzácsatolva</translation>
+ <translation>%1: nem lesz csatolva</translation>
</message>
<message>
<location filename="../src/corelib/kernel/qsharedmemory_symbian.cpp" line="-67"/>
<location filename="../src/corelib/kernel/qsharedmemory_win.cpp" line="+4"/>
<source>%1: invalid size</source>
- <translation>%1: érvénytelen méret</translation>
+ <translation>%1: hibás méret</translation>
</message>
<message>
<location line="+40"/>
@@ -5268,130 +8219,126 @@ Kérem válasszon egy különböző fájl nevet.</translation>
<message>
<location filename="../src/corelib/kernel/qsharedmemory_win.cpp" line="+32"/>
<source>%1: size query failed</source>
- <translation>%1: méret lekérdezési hiba</translation>
- </message>
- <message>
- <location filename="../src/corelib/kernel/qsharedmemory.cpp" line="-271"/>
- <source>%1: unable to set key on lock</source>
- <translation>%1: nem lehet beállítani a kulcsot a záron</translation>
+ <translation>%1: hiba a méret lekérdezésekor</translation>
</message>
</context>
<context>
<name>QShortcut</name>
<message>
- <location filename="../src/gui/kernel/qkeysequence.cpp" line="+393"/>
+ <location filename="../src/gui/kernel/qkeysequence.cpp" line="+396"/>
<source>Space</source>
- <translation>Space</translation>
+ <extracomment>This and all following &quot;incomprehensible&quot; strings in QShortcut context are key names. Please use the localized names appearing on actual keyboards or whatever is commonly used.</extracomment>
+ <translation>Szóköz</translation>
</message>
<message>
<location line="+1"/>
<source>Esc</source>
- <translation>Esc</translation>
+ <translation></translation>
</message>
<message>
<location line="+1"/>
<source>Tab</source>
- <translation>Tab</translation>
+ <translation></translation>
</message>
<message>
<location line="+1"/>
<source>Backtab</source>
- <translation>Backtab</translation>
+ <translation></translation>
</message>
<message>
<location line="+1"/>
<source>Backspace</source>
- <translation>Backspace</translation>
+ <translation></translation>
</message>
<message>
<location line="+1"/>
<source>Return</source>
- <translation>Return</translation>
+ <translation></translation>
</message>
<message>
<location line="+1"/>
<source>Enter</source>
- <translation>Enter</translation>
+ <translation></translation>
</message>
<message>
<location line="+1"/>
<source>Ins</source>
- <translation>Ins</translation>
+ <translation></translation>
</message>
<message>
<location line="+1"/>
<source>Del</source>
- <translation>Del</translation>
+ <translation></translation>
</message>
<message>
<location line="+1"/>
<source>Pause</source>
- <translation>Pause</translation>
+ <translation></translation>
</message>
<message>
<location line="+1"/>
<source>Print</source>
- <translation>Print</translation>
+ <translation></translation>
</message>
<message>
<location line="+1"/>
<source>SysReq</source>
- <translation>SysReq</translation>
+ <translation></translation>
</message>
<message>
<location line="+1"/>
<source>Home</source>
- <translation>Home</translation>
+ <translation></translation>
</message>
<message>
<location line="+1"/>
<source>End</source>
- <translation>End</translation>
+ <translation></translation>
</message>
<message>
<location line="+1"/>
<source>Left</source>
- <translation>Left</translation>
+ <translation>Bal</translation>
</message>
<message>
<location line="+1"/>
<source>Up</source>
- <translation>Up</translation>
+ <translation>Fel</translation>
</message>
<message>
<location line="+1"/>
<source>Right</source>
- <translation>Right</translation>
+ <translation>Jobb</translation>
</message>
<message>
<location line="+1"/>
<source>Down</source>
- <translation>Down</translation>
+ <translation>Le</translation>
</message>
<message>
<location line="+1"/>
<source>PgUp</source>
- <translation>PgUp</translation>
+ <translation></translation>
</message>
<message>
<location line="+1"/>
<source>PgDown</source>
- <translation>PgDown</translation>
+ <translation></translation>
</message>
<message>
<location line="+1"/>
<source>CapsLock</source>
- <translation>CapsLock</translation>
+ <translation></translation>
</message>
<message>
<location line="+1"/>
<source>NumLock</source>
- <translation>NumLock</translation>
+ <translation></translation>
</message>
<message>
<location line="+1"/>
<source>ScrollLock</source>
- <translation>ScrollLock</translation>
+ <translation></translation>
</message>
<message>
<location line="+1"/>
@@ -5416,57 +8363,57 @@ Kérem válasszon egy különböző fájl nevet.</translation>
<message>
<location line="+1"/>
<source>Stop</source>
- <translation>Leállítás</translation>
+ <translation>Stop</translation>
</message>
<message>
<location line="+1"/>
<source>Refresh</source>
- <translation>Felfrissítés</translation>
+ <translation>Frissítés</translation>
</message>
<message>
<location line="+1"/>
<source>Volume Down</source>
- <translation>Hangerő lehalkítása</translation>
+ <translation>Hangerő csökkentése</translation>
</message>
<message>
<location line="+1"/>
<source>Volume Mute</source>
- <translation>Hangerő Elnémítás</translation>
+ <translation>Némítás</translation>
</message>
<message>
<location line="+1"/>
<source>Volume Up</source>
- <translation>Hangerő hangosítása</translation>
+ <translation>Hangerő növelése</translation>
</message>
<message>
<location line="+1"/>
<source>Bass Boost</source>
- <translation>Basszus erősítés</translation>
+ <translation>Mély hang kiemelése</translation>
</message>
<message>
<location line="+1"/>
<source>Bass Up</source>
- <translation>Basszus növelése</translation>
+ <translation>Mély hang növelése</translation>
</message>
<message>
<location line="+1"/>
<source>Bass Down</source>
- <translation>Basszus csökkentése</translation>
+ <translation>Mély hang csökkentése</translation>
</message>
<message>
<location line="+1"/>
<source>Treble Up</source>
- <translation>Felháromszorozás</translation>
+ <translation>Magas hang növelése</translation>
</message>
<message>
<location line="+1"/>
<source>Treble Down</source>
- <translation>Leharmadolás</translation>
+ <translation>Magas hang csökkentése</translation>
</message>
<message>
<location line="+1"/>
<source>Media Play</source>
- <translation>Média elindítása</translation>
+ <translation>Média lejátszása</translation>
</message>
<message>
<location line="+1"/>
@@ -5491,7 +8438,7 @@ Kérem válasszon egy különböző fájl nevet.</translation>
<message>
<location line="+2"/>
<source>Favorites</source>
- <translation>Kedvcencek</translation>
+ <translation>Kedvencek</translation>
</message>
<message>
<location line="+1"/>
@@ -5501,127 +8448,127 @@ Kérem válasszon egy különböző fájl nevet.</translation>
<message>
<location line="+1"/>
<source>Standby</source>
- <translation>Készenlét</translation>
+ <translation>Standby</translation>
</message>
<message>
<location line="+1"/>
<source>Open URL</source>
- <translation>URL megnyitása</translation>
+ <translation>URL megynyitása</translation>
</message>
<message>
<location line="+1"/>
<source>Launch Mail</source>
- <translation>Mail indítása</translation>
+ <translation>Levelezőprogram indítása</translation>
</message>
<message>
<location line="+1"/>
<source>Launch Media</source>
- <translation>Média indítása</translation>
+ <translation>Médialejátszó indítása</translation>
</message>
<message>
<location line="+1"/>
<source>Launch (0)</source>
- <translation>Elindítás (0)</translation>
+ <translation>(0) indítása</translation>
</message>
<message>
<location line="+1"/>
<source>Launch (1)</source>
- <translation>Elindítás (1)</translation>
+ <translation>(1) indítása</translation>
</message>
<message>
<location line="+1"/>
<source>Launch (2)</source>
- <translation>Elindítás (2)</translation>
+ <translation>(2) indítása</translation>
</message>
<message>
<location line="+1"/>
<source>Launch (3)</source>
- <translation>Elindítás (3)</translation>
+ <translation>(3) indítása</translation>
</message>
<message>
<location line="+1"/>
<source>Launch (4)</source>
- <translation>Elindítás (4)</translation>
+ <translation>(4) indítása</translation>
</message>
<message>
<location line="+1"/>
<source>Launch (5)</source>
- <translation>Elindítás (5)</translation>
+ <translation>(5) indítása</translation>
</message>
<message>
<location line="+1"/>
<source>Launch (6)</source>
- <translation>Elindítás (6)</translation>
+ <translation>(6) indítása</translation>
</message>
<message>
<location line="+1"/>
<source>Launch (7)</source>
- <translation>Elindítás (7)</translation>
+ <translation>(7) indítása</translation>
</message>
<message>
<location line="+1"/>
<source>Launch (8)</source>
- <translation>Elindítás (8)</translation>
+ <translation>(8) indítása</translation>
</message>
<message>
<location line="+1"/>
<source>Launch (9)</source>
- <translation>Elindítás (9)</translation>
+ <translation>(9) indítása</translation>
</message>
<message>
<location line="+1"/>
<source>Launch (A)</source>
- <translation>Elindítás (A)</translation>
+ <translation>(A) indítása</translation>
</message>
<message>
<location line="+1"/>
<source>Launch (B)</source>
- <translation>Elindítás (B)</translation>
+ <translation>(B) indítása</translation>
</message>
<message>
<location line="+1"/>
<source>Launch (C)</source>
- <translation>Elindítás (C)</translation>
+ <translation>(C) indítása</translation>
</message>
<message>
<location line="+1"/>
<source>Launch (D)</source>
- <translation>Elindítás (D)</translation>
+ <translation>(D) indítása</translation>
</message>
<message>
<location line="+1"/>
<source>Launch (E)</source>
- <translation>Elindítás (E)</translation>
+ <translation>(E) indítása</translation>
</message>
<message>
<location line="+1"/>
<source>Launch (F)</source>
- <translation>Elindítás (F)</translation>
+ <translation>(F) indítása</translation>
</message>
<message>
<location line="+1"/>
<source>Monitor Brightness Up</source>
- <translation>Monitorfény növelése</translation>
+ <translation>Fényesség növelése</translation>
</message>
<message>
<location line="+1"/>
<source>Monitor Brightness Down</source>
- <translation>Monitorfény csökkentése</translation>
+ <translation>Fényesség csökkentése</translation>
</message>
<message>
<location line="+1"/>
<source>Keyboard Light On/Off</source>
- <translation>Billentyű világítás be/ki</translation>
+ <translation>Billentyűzet világítás be/ki</translation>
</message>
<message>
<location line="+1"/>
<source>Keyboard Brightness Up</source>
- <translation>Billentyűfény növelése</translation>
+ <translation>Billentyűzet fényerő növelése</translation>
</message>
<message>
<location line="+1"/>
<source>Keyboard Brightness Down</source>
- <translation>Billentyűfény csökkentése</translation>
+ <translation>Billentyűzet fényerő csökkentése</translation>
</message>
<message>
<location line="+1"/>
@@ -5631,27 +8578,27 @@ Kérem válasszon egy különböző fájl nevet.</translation>
<message>
<location line="+1"/>
<source>Wake Up</source>
- <translation>Felébresztés</translation>
+ <translation>Ébresztés</translation>
</message>
<message>
<location line="+1"/>
<source>Eject</source>
- <translation>Kidobás</translation>
+ <translation>Tálcanyitás</translation>
</message>
<message>
<location line="+1"/>
<source>Screensaver</source>
- <translation>Képernyővédő</translation>
+ <translation>Képernyőkímélő</translation>
</message>
<message>
<location line="+1"/>
<source>WWW</source>
- <translation>WWW</translation>
+ <translation></translation>
</message>
<message>
<location line="+1"/>
<source>Sleep</source>
- <translation>Alvás</translation>
+ <translation>Altatás</translation>
</message>
<message>
<location line="+1"/>
@@ -5666,22 +8613,22 @@ Kérem válasszon egy különböző fájl nevet.</translation>
<message>
<location line="+1"/>
<source>History</source>
- <translation>Történelem</translation>
+ <translation>Előzmények</translation>
</message>
<message>
<location line="+1"/>
<source>Add Favorite</source>
- <translation>Hozzáadás a kedvencekhez</translation>
+ <translation>Kedvenc hozzáadása</translation>
</message>
<message>
<location line="+1"/>
<source>Hot Links</source>
- <translation>Hot linkek</translation>
+ <translation>Gyorslinkek</translation>
</message>
<message>
<location line="+1"/>
<source>Adjust Brightness</source>
- <translation>Fényszabályozás</translation>
+ <translation>Fényerő beállítása</translation>
</message>
<message>
<location line="+1"/>
@@ -5696,22 +8643,25 @@ Kérem válasszon egy különböző fájl nevet.</translation>
<message>
<location line="+1"/>
<source>Audio Rewind</source>
- <translation>Audió áttekercselés</translation>
+ <translation>Visszatekerés</translation>
</message>
<message>
<location line="+1"/>
<source>Back Forward</source>
- <translation>Előre hátra</translation>
+ <translatorcomment>CHECKIT</translatorcomment>
+ <translation>Előre-hátra</translation>
</message>
<message>
<location line="+1"/>
<source>Application Left</source>
- <translation>Alkalmazás balra</translation>
+ <translatorcomment>CHECKIT</translatorcomment>
+ <translation>Alkalmazás bal</translation>
</message>
<message>
<location line="+1"/>
<source>Application Right</source>
- <translation>Alkalmazás jobbra</translation>
+ <translatorcomment>CHECKIT</translatorcomment>
+ <translation>Alkalmazás jobb</translation>
</message>
<message>
<location line="+1"/>
@@ -5731,12 +8681,12 @@ Kérem válasszon egy különböző fájl nevet.</translation>
<message>
<location line="+1"/>
<source>Clear</source>
- <translation>Tiszta</translation>
+ <translation>Törlés</translation>
</message>
<message>
<location line="+1"/>
<source>Clear Grab</source>
- <translation>Tiszta megmarkolás</translation>
+ <translation>Elfogás törlése</translation>
</message>
<message>
<location line="+1"/>
@@ -5756,6 +8706,7 @@ Kérem válasszon egy különböző fájl nevet.</translation>
<message>
<location line="+1"/>
<source>Display</source>
+ <translatorcomment>CHECKIT - Kijelző?</translatorcomment>
<translation>Megjelenítés</translation>
</message>
<message>
@@ -5771,7 +8722,7 @@ Kérem válasszon egy különböző fájl nevet.</translation>
<message>
<location line="+1"/>
<source>Spreadsheet</source>
- <translation>Táblázatkezelő</translation>
+ <translation>Táblázat</translation>
</message>
<message>
<location line="+1"/>
@@ -5786,7 +8737,7 @@ Kérem válasszon egy különböző fájl nevet.</translation>
<message>
<location line="+1"/>
<source>Go</source>
- <translation>Gyerünk</translation>
+ <translation>Ugrás</translation>
</message>
<message>
<location line="+1"/>
@@ -5801,7 +8752,7 @@ Kérem válasszon egy különböző fájl nevet.</translation>
<message>
<location line="+1"/>
<source>Market</source>
- <translation>Piac</translation>
+ <translation>Piactér</translation>
</message>
<message>
<location line="+1"/>
@@ -5811,17 +8762,18 @@ Kérem válasszon egy különböző fájl nevet.</translation>
<message>
<location line="+1"/>
<source>Keyboard Menu</source>
- <translation>Billlentyű menü</translation>
+ <translation>Billentyűzet menü</translation>
</message>
<message>
<location line="+1"/>
<source>Menu PB</source>
- <translation>PB menü</translation>
+ <translatorcomment>CHECKIT</translatorcomment>
+ <translation type="unfinished">PB menü</translation>
</message>
<message>
<location line="+1"/>
<source>My Sites</source>
- <translation>Oldalam</translation>
+ <translation>Weboldalaim</translation>
</message>
<message>
<location line="+1"/>
@@ -5836,7 +8788,7 @@ Kérem válasszon egy különböző fájl nevet.</translation>
<message>
<location line="+1"/>
<source>Option</source>
- <translation>Opció</translation>
+ <translation>Opciók</translation>
</message>
<message>
<location line="+1"/>
@@ -5866,12 +8818,14 @@ Kérem válasszon egy különböző fájl nevet.</translation>
<message>
<location line="+1"/>
<source>Rotation PB</source>
- <translation>PB forgatás</translation>
+ <translatorcomment>CHECKIT</translatorcomment>
+ <translation type="unfinished">PB forgatás</translation>
</message>
<message>
<location line="+1"/>
<source>Rotation KB</source>
- <translation>KB forgatás</translation>
+ <translatorcomment>CHECKIT</translatorcomment>
+ <translation type="unfinished">KB forgatás</translation>
</message>
<message>
<location line="+1"/>
@@ -5886,12 +8840,12 @@ Kérem válasszon egy különböző fájl nevet.</translation>
<message>
<location line="+1"/>
<source>Spellchecker</source>
- <translation>Helyesírás ellenőrző</translation>
+ <translation>Nyelvi ellenörző</translation>
</message>
<message>
<location line="+1"/>
<source>Split Screen</source>
- <translation>Képernyő felosztása</translation>
+ <translation>Képernyő kettéosztása</translation>
</message>
<message>
<location line="+1"/>
@@ -5901,7 +8855,8 @@ Kérem válasszon egy különböző fájl nevet.</translation>
<message>
<location line="+1"/>
<source>Task Panel</source>
- <translation>Feladat panel</translation>
+ <translatorcomment>CHECKIT - WTF?</translatorcomment>
+ <translation>Taszk panel</translation>
</message>
<message>
<location line="+1"/>
@@ -5926,12 +8881,12 @@ Kérem válasszon egy különböző fájl nevet.</translation>
<message>
<location line="+1"/>
<source>Word Processor</source>
- <translation>Szó feldolgozó</translation>
+ <translation>Szövegszerkesztő</translation>
</message>
<message>
<location line="+1"/>
<source>XFer</source>
- <translation>XFer</translation>
+ <translation>Átvitel</translation>
</message>
<message>
<location line="+1"/>
@@ -5951,17 +8906,17 @@ Kérem válasszon egy különböző fájl nevet.</translation>
<message>
<location line="+1"/>
<source>Messenger</source>
- <translation>Hírnök</translation>
+ <translation>Üzenetküldő</translation>
</message>
<message>
<location line="+1"/>
<source>WebCam</source>
- <translation>WebCam</translation>
+ <translation>Webkamera</translation>
</message>
<message>
<location line="+1"/>
<source>Mail Forward</source>
- <translation>Mail továbbítása</translation>
+ <translation>Levél továbbítás</translation>
</message>
<message>
<location line="+1"/>
@@ -5986,37 +8941,37 @@ Kérem válasszon egy különböző fájl nevet.</translation>
<message>
<location line="+1"/>
<source>Wireless</source>
- <translation>Vezeték nélküli</translation>
+ <translation>Wireless</translation>
</message>
<message>
<location line="+1"/>
<source>Ultra Wide Band</source>
- <translation>Ultra széles sáv</translation>
+ <translation>Szélessáv</translation>
</message>
<message>
<location line="+1"/>
<source>Audio Forward</source>
- <translation>Audio továbbítás</translation>
+ <translation>Előretekerés</translation>
</message>
<message>
<location line="+1"/>
<source>Audio Repeat</source>
- <translation>Audió ismétlés</translation>
+ <translation>Ismétlés</translation>
</message>
<message>
<location line="+1"/>
<source>Audio Random Play</source>
- <translation>Audió véletlenszerű lejátszása</translation>
+ <translation>Random lejátszás</translation>
</message>
<message>
<location line="+1"/>
<source>Subtitle</source>
- <translation>Alcím</translation>
+ <translation>Felirat</translation>
</message>
<message>
<location line="+1"/>
<source>Audio Cycle Track</source>
- <translation>Audió ciklikus követése</translation>
+ <translation>Sávismétlés</translation>
</message>
<message>
<location line="+1"/>
@@ -6031,12 +8986,13 @@ Kérem válasszon egy különböző fájl nevet.</translation>
<message>
<location line="+1"/>
<source>Top Menu</source>
- <translation>Felső menü</translation>
+ <translatorcomment>CHECKIT</translatorcomment>
+ <translation>Legfelső menü</translation>
</message>
<message>
<location line="+1"/>
<source>Suspend</source>
- <translation>Felfüggesztés</translation>
+ <translation>Altatás</translation>
</message>
<message>
<location line="+1"/>
@@ -6046,63 +9002,63 @@ Kérem válasszon egy különböző fájl nevet.</translation>
<message>
<location line="+4"/>
<source>Print Screen</source>
- <translation>Képernyő másolás</translation>
+ <translation></translation>
</message>
<message>
<location line="+1"/>
<source>Page Up</source>
- <translation>Feljebb lapozás</translation>
+ <translation></translation>
</message>
<message>
<location line="+1"/>
<source>Page Down</source>
- <translation>Lejjebb lapozás</translation>
+ <translation></translation>
</message>
<message>
<location line="+1"/>
<source>Caps Lock</source>
- <translation>Caps Lock</translation>
+ <translation></translation>
</message>
<message>
<location line="+1"/>
<source>Num Lock</source>
- <translation>Num Lock</translation>
+ <translation></translation>
</message>
<message>
<location line="+1"/>
<source>Number Lock</source>
- <translation>Number Lock</translation>
+ <translation></translation>
</message>
<message>
<location line="+1"/>
<source>Scroll Lock</source>
- <translation>Scroll Lock</translation>
+ <translation></translation>
</message>
<message>
<location line="+1"/>
<source>Insert</source>
- <translation>Insert</translation>
+ <translation></translation>
</message>
<message>
<location line="+1"/>
<source>Delete</source>
- <translation>Delete</translation>
+ <translation></translation>
</message>
<message>
<location line="+1"/>
<source>Escape</source>
- <translation>Escape</translation>
+ <translation></translation>
</message>
<message>
<location line="+1"/>
<source>System Request</source>
- <translation>System Request</translation>
+ <translation></translation>
</message>
<message>
<location line="-18"/>
<location line="+22"/>
<source>Select</source>
- <translation>Kiválsztás</translation>
+ <translation>Kiválasztás</translation>
</message>
<message>
<location line="+1"/>
@@ -6117,22 +9073,22 @@ Kérem válasszon egy különböző fájl nevet.</translation>
<message>
<location line="+4"/>
<source>Context1</source>
- <translation>Tartalom1</translation>
+ <translation>Kontextus1</translation>
</message>
<message>
<location line="+1"/>
<source>Context2</source>
- <translation>Tartalom2</translation>
+ <translation>Kontextus2</translation>
</message>
<message>
<location line="+1"/>
<source>Context3</source>
- <translation>Tartalom3</translation>
+ <translation>Kontextus3</translation>
</message>
<message>
<location line="+1"/>
<source>Context4</source>
- <translation>Tartalom4</translation>
+ <translation>Kontextus4</translation>
</message>
<message>
<location line="+1"/>
@@ -6142,41 +9098,191 @@ Kérem válasszon egy különböző fájl nevet.</translation>
<message>
<location line="+1"/>
<source>Hangup</source>
- <translation>Felfüggeszt</translation>
+ <translation>Hívás vége</translation>
</message>
<message>
<location line="+1"/>
<source>Flip</source>
- <translation>Feldobás</translation>
+ <translation>Csere</translation>
</message>
<message>
- <location line="+573"/>
+ <location line="+4"/>
+ <source>Kanji</source>
+ <translation></translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Muhenkan</source>
+ <translation></translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Henkan</source>
+ <translation></translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Romaji</source>
+ <translation></translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Hiragana</source>
+ <translation></translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Katakana</source>
+ <translation></translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Hiragana Katakana</source>
+ <translation></translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Zenkaku</source>
+ <translation></translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Hankaku</source>
+ <translation></translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Zenkaku Hankaku</source>
+ <translation></translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Touroku</source>
+ <translation></translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Massyo</source>
+ <translation></translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Kana Lock</source>
+ <translation></translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Kana Shift</source>
+ <translation></translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Eisu Shift</source>
+ <translation></translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Eisu toggle</source>
+ <translation></translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Code input</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Multiple Candidate</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Previous Candidate</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+4"/>
+ <source>Hangul</source>
+ <translation></translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Hangul Start</source>
+ <translation></translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Hangul End</source>
+ <translation></translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Hangul Hanja</source>
+ <translation></translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Hangul Jamo</source>
+ <translation></translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Hangul Romaja</source>
+ <translation></translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Hangul Jeonja</source>
+ <translation></translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Hangul Banja</source>
+ <translation></translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Hangul PreHanja</source>
+ <translation></translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Hangul PostHanja</source>
+ <translation></translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Hangul Special</source>
+ <translation></translation>
+ </message>
+ <message>
+ <location line="+602"/>
<location line="+135"/>
<source>Ctrl</source>
- <translation>Ctrl</translation>
+ <translation></translation>
</message>
<message>
<location line="-134"/>
<location line="+138"/>
<source>Shift</source>
- <translation>Shift</translation>
+ <translation></translation>
</message>
<message>
<location line="-137"/>
<location line="+135"/>
<source>Alt</source>
- <translation>Alt</translation>
+ <translation></translation>
</message>
<message>
<location line="-134"/>
<location line="+130"/>
<source>Meta</source>
- <translation>Meta</translation>
+ <translation></translation>
</message>
<message>
<location line="-40"/>
<source>+</source>
- <translation>+</translation>
+ <translation></translation>
</message>
<message>
<location line="+61"/>
@@ -6184,9 +9290,9 @@ Kérem válasszon egy különböző fájl nevet.</translation>
<translation>F%1</translation>
</message>
<message>
- <location line="-869"/>
+ <location line="-934"/>
<source>Home Page</source>
- <translation>Honlap</translation>
+ <translation>Kezdőoldal</translation>
</message>
</context>
<context>
@@ -6194,106 +9300,110 @@ Kérem válasszon egy különböző fájl nevet.</translation>
<message>
<location filename="../src/plugins/accessible/widgets/rangecontrols.cpp" line="+151"/>
<source>Page left</source>
- <translation>Lapozás balra</translation>
+ <translation>Oldal balra</translation>
</message>
<message>
<location line="+0"/>
<source>Page up</source>
- <translation>Lapozás felfele</translation>
+ <translation>Oldal felfelé</translation>
</message>
<message>
<location line="+2"/>
<source>Position</source>
- <translation>Pozíció</translation>
+ <translation>Helyzet</translation>
</message>
<message>
<location line="+3"/>
<source>Page right</source>
- <translation>Lapozás jobbra</translation>
+ <translation>Oldal jobbra</translation>
</message>
<message>
<location line="+0"/>
<source>Page down</source>
- <translation>Lapozás lefele</translation>
+ <translation>Oldal lefelé</translation>
</message>
</context>
<context>
<name>QSocks5SocketEngine</name>
<message>
+ <source>Socks5 timeout error connecting to socks server</source>
+ <translation type="obsolete">Időtúllépés a socks szerverhez kapcsolódáskor</translation>
+ </message>
+ <message>
<location filename="../src/network/socket/qsocks5socketengine.cpp" line="-67"/>
<source>Connection to proxy refused</source>
- <translation>Proxyhoz kapcsolódás elutasítva</translation>
+ <translation>A proxy elutasította a kapcsolatot</translation>
</message>
<message>
<location line="+4"/>
<source>Connection to proxy closed prematurely</source>
- <translation>A proxyhoz való csatlakozás túl korán be lett zárva</translation>
+ <translation>A proxy váratlanul lezárta a kapcsolatot</translation>
</message>
<message>
<location line="+4"/>
<source>Proxy host not found</source>
- <translation>Proxy hoszt nem található</translation>
+ <translation>A proxy nem található</translation>
</message>
<message>
<location line="+5"/>
<source>Connection to proxy timed out</source>
- <translation>Proxyhoz való csatlakozásnál időtúllépés történt</translation>
+ <translation>A várakozási idő lejárt a proxyhoz</translation>
</message>
<message>
<location line="+17"/>
<source>Proxy authentication failed</source>
- <translation>Proxy hitelesítési hiba</translation>
+ <translation>A proxy azonosítás sikertelen</translation>
</message>
<message>
<location line="+1"/>
<source>Proxy authentication failed: %1</source>
- <translation>Proxy hitelesítési hiba: %1</translation>
+ <translation>A proxy azonosítás sikertelen: %1</translation>
</message>
<message>
<location line="+9"/>
<source>SOCKS version 5 protocol error</source>
- <translation>SOCKS verzió 5-s protokoll hiba</translation>
+ <translation>SOCKS verzió 5-ös protokoll hiba</translation>
</message>
<message>
<location line="+19"/>
<source>General SOCKSv5 server failure</source>
- <translation>Általános SOCKSv5 szerver hiba</translation>
+ <translation>Általános SOCKSv5 szerverhiba</translation>
</message>
<message>
<location line="+4"/>
<source>Connection not allowed by SOCKSv5 server</source>
- <translation>A csatlakozást nem engedi a SOCKSv5 szerver</translation>
+ <translation>A kapcsolódást nem engedi a SOCKSv5 szerver</translation>
</message>
<message>
<location line="+16"/>
<source>TTL expired</source>
- <translation>Lejárt a TTL</translation>
+ <translation>A TTL lejárt</translation>
</message>
<message>
<location line="+4"/>
<source>SOCKSv5 command not supported</source>
- <translation>SOCKSv5 parancs nincs támogatva</translation>
+ <translation>A SOCKSv5 parancs nem támogatott</translation>
</message>
<message>
<location line="+4"/>
<source>Address type not supported</source>
- <translation>Cím típus nincs támogatva</translation>
+ <translation>A címtípus nem támogatott</translation>
</message>
<message>
<location line="+5"/>
<source>Unknown SOCKSv5 proxy error code 0x%1</source>
- <translation>Ismeretlen SOCKSv5 proxy hiba kód 0x%1</translation>
+ <translation>Ismeretlen SOCKSv5 proxy hibakód: 0x%1</translation>
</message>
<message>
<location line="+689"/>
<source>Network operation timed out</source>
- <translation>Hálózat műveleti időtúllépés</translation>
+ <translation>Időtúllépés hálózati művelet során</translation>
</message>
</context>
<context>
<name>QSoftKeyManager</name>
<message>
- <location filename="../src/gui/kernel/qsoftkeymanager.cpp" line="+79"/>
+ <location filename="../src/gui/kernel/qsoftkeymanager.cpp" line="+63"/>
<source>Ok</source>
<translation>Ok</translation>
</message>
@@ -6315,10 +9425,10 @@ Kérem válasszon egy különböző fájl nevet.</translation>
<message>
<location line="+3"/>
<source>Cancel</source>
- <translation>Mégse</translation>
+ <translation>Mégsem</translation>
</message>
<message>
- <location line="+172"/>
+ <location filename="../src/gui/kernel/qsoftkeymanager_s60.cpp" line="+321"/>
<source>Exit</source>
<translation>Kilépés</translation>
</message>
@@ -6333,7 +9443,7 @@ Kérem válasszon egy különböző fájl nevet.</translation>
<message>
<location line="+2"/>
<source>Less</source>
- <translation>Kevés</translation>
+ <translation>Kevesebb</translation>
</message>
</context>
<context>
@@ -6346,7 +9456,7 @@ Kérem válasszon egy különböző fájl nevet.</translation>
<message>
<location line="+1"/>
<source>Delete this record?</source>
- <translation>Törölni szeretné ezt a felvételt?</translation>
+ <translation>Rekord törlése?</translation>
</message>
<message>
<location line="+1"/>
@@ -6375,12 +9485,12 @@ Kérem válasszon egy különböző fájl nevet.</translation>
<message>
<location line="+4"/>
<source>Save edits?</source>
- <translation>Szerkesztések mentése?</translation>
+ <translation>Módosítások mentése?</translation>
</message>
<message>
<location line="+3"/>
<source>Cancel</source>
- <translation>Mégse</translation>
+ <translation>Mégsem</translation>
</message>
<message>
<location line="+32"/>
@@ -6390,65 +9500,74 @@ Kérem válasszon egy különböző fájl nevet.</translation>
<message>
<location line="+1"/>
<source>Cancel your edits?</source>
- <translation>Szerkesztések visszavonása?</translation>
+ <translation>Módosítások elvetése?</translation>
</message>
</context>
<context>
<name>QSslSocket</name>
<message>
- <location filename="../src/network/ssl/qsslsocket_openssl.cpp" line="+546"/>
+ <location filename="../src/network/ssl/qsslsocket_openssl.cpp" line="+550"/>
<source>Unable to write data: %1</source>
- <translation>Nem lehet adatot írni: %1</translation>
+ <translation>Az adat nem írható: %1</translation>
</message>
<message>
- <location line="+119"/>
+ <location line="+63"/>
+ <source>Unable to decrypt data: %1</source>
+ <translation>Az adat nem visszafejthető: %1</translation>
+ </message>
+ <message>
+ <location line="+76"/>
<source>Error while reading: %1</source>
- <translation>Hiba történt olvasás közben: %1</translation>
+ <translation>Olvasási hiba: %1</translation>
</message>
<message>
<location line="+96"/>
<source>Error during SSL handshake: %1</source>
- <translation>Hiba történt az SSL kézfogás közben: %1</translation>
+ <translation>SSL kézfogás hiba: %1</translation>
</message>
<message>
- <location line="-501"/>
+ <location line="-524"/>
<source>Error creating SSL context (%1)</source>
- <translation>Hiba történt az SSL összefüggés (%1) létrehozása közben</translation>
+ <translation>Az SSL kontextus létrehozása sikertelen (%1)</translation>
</message>
<message>
<location line="+25"/>
<source>Invalid or empty cipher list (%1)</source>
- <translation>Érvénytelen vagy üres számjegy lista (%1)</translation>
+ <translation>Érvénytelen vagy üres a titkosítók listája (%1)</translation>
</message>
<message>
- <location line="+42"/>
+ <location line="+45"/>
<source>Private key does not certify public key, %1</source>
- <translation>A privát kulcs nem igazolja a publikus kulcsot, %1</translation>
+ <translation>A privát és a publikus kulcs nem illik össze: %1</translation>
</message>
<message>
<location line="+20"/>
<source>Error creating SSL session, %1</source>
- <translation>Hiba történt az SSL szakasz létrehozása közben, %1</translation>
+ <translation>Hiba az SSL munkamenet létrehozásakor, %1</translation>
</message>
<message>
<location line="+15"/>
<source>Error creating SSL session: %1</source>
- <translation>Hiba történt az SSL szakasz létrehozása közben: %1</translation>
+ <translation>Hiba az SSL munkamenet létrehozásakor: %1</translation>
</message>
<message>
- <location line="-61"/>
+ <location line="-64"/>
<source>Cannot provide a certificate with no key, %1</source>
- <translation>Nem lehet biztosítani egy igazolást kulcs nélkül, %1</translation>
+ <translation>Kulcs nélkül nem állítható ki tanusítvány, %1</translation>
</message>
<message>
<location line="+7"/>
<source>Error loading local certificate, %1</source>
- <translation>Hiba történt a helyi igazolás betöltése közben, %1</translation>
+ <translation>Hiba a helyi tanúsítvány betöltése közben, %1</translation>
</message>
<message>
- <location line="+12"/>
+ <location line="+15"/>
<source>Error loading private key, %1</source>
- <translation>Hiba történt a privát kulcs betöltése közben, %1</translation>
+ <translation>Hiba a titkos kulcs betöltése közben, %1</translation>
+ </message>
+ <message>
+ <source>Private key does not certificate public key, %1</source>
+ <translation type="obsolete">A privát és a publikus kulcs nem illik össze: %1</translation>
</message>
<message>
<location filename="../src/network/ssl/qsslerror.cpp" line="+213"/>
@@ -6458,107 +9577,109 @@ Kérem válasszon egy különböző fájl nevet.</translation>
<message>
<location line="+3"/>
<source>The issuer certificate could not be found</source>
- <translation>A problémás igazolás nem található</translation>
+ <translation>A kibocsátó tanusítványa nem található</translation>
</message>
<message>
<location line="+3"/>
<source>The certificate signature could not be decrypted</source>
- <translation>Az igazolás aláírás titkosítását nem sikerült feloldani</translation>
+ <translation>A tanusítvány aláírása nem visszafejthető</translation>
</message>
<message>
<location line="+3"/>
<source>The public key in the certificate could not be read</source>
- <translation>Az igazolásban található publikus kulcsot nem sikerült olvasni</translation>
+ <translation>A tanusítvány publikus kulcsa nem olvasható</translation>
</message>
<message>
<location line="+3"/>
<source>The signature of the certificate is invalid</source>
- <translation>Az igazolás aláírása érvénytelen</translation>
+ <translation>A tanusítvány aláírása érvénytelen</translation>
</message>
<message>
<location line="+3"/>
<source>The certificate is not yet valid</source>
- <translation>Az igazolás még nem érvényes</translation>
+ <translation>A tanusítvány még nem érvényes</translation>
</message>
<message>
<location line="+3"/>
<source>The certificate has expired</source>
- <translation>Az igazolás lejárt</translation>
+ <translation>A tanusítvány már lejárt</translation>
</message>
<message>
<location line="+3"/>
<source>The certificate&apos;s notBefore field contains an invalid time</source>
- <translation>A mező érvénytelen idő tartalmazása előtt nincsen igazolás</translation>
+ <translation>A tanusítvány notBefore mezője érvénytelen időpontot tartalmaz</translation>
</message>
<message>
<location line="+3"/>
<source>The certificate&apos;s notAfter field contains an invalid time</source>
- <translation>A mező érvénytelen idő tartalmazása után nincsen igazolás</translation>
+ <translation>A tanusítvány notAfter mezője érvénytelen időpontot tartalmaz</translation>
</message>
<message>
<location line="+3"/>
<source>The certificate is self-signed, and untrusted</source>
- <translation>Az igazolás ön jelölt, és megbízhatatlan</translation>
+ <translation>A tanusítvány önaláírt és nem megbízható</translation>
</message>
<message>
<location line="+3"/>
<source>The root certificate of the certificate chain is self-signed, and untrusted</source>
- <translation>Az igazolás lánc rendszergazda igazolása ön jelölt és megbízhatatlan</translation>
+ <translation>A tanusítványlánc gyökértanusítványa önaláírt, és nem megbízható</translation>
</message>
<message>
<location line="+3"/>
<source>The issuer certificate of a locally looked up certificate could not be found</source>
- <translation>Egy helyileg utánanézett igazolás problémás igazolása nem található</translation>
+ <translatorcomment>CHECKIT: looked up</translatorcomment>
+ <translation>A megtalált tanusítvány kibocsátójának tanusítványa nem található</translation>
</message>
<message>
<location line="+3"/>
<source>No certificates could be verified</source>
- <translation>Nem sikerült igazolást leellenőrizni</translation>
+ <translation>Nincs ellenőrizhető tanusítvány</translation>
</message>
<message>
<location line="+3"/>
<source>One of the CA certificates is invalid</source>
- <translation>A CA igazolások egyike érvénytelen</translation>
+ <translation>Az egyik tanusítványkibocsátó tanusítványa érvénytelen</translation>
</message>
<message>
<location line="+3"/>
<source>The basicConstraints path length parameter has been exceeded</source>
- <translation>Az alap megszorítási útvonal hossz paramétereket meghaladták</translation>
+ <translatorcomment>CHECKIT</translatorcomment>
+ <translation type="unfinished">A basicConstraints hosszának értéke túl nagy</translation>
</message>
<message>
<location line="+3"/>
<source>The supplied certificate is unsuitable for this purpose</source>
- <translation>A szolgáltatott igazolás nem alkalmas erre a célra</translation>
+ <translation>A megadott tanusítvány nem használható erre a célra</translation>
</message>
<message>
<location line="+3"/>
<source>The root CA certificate is not trusted for this purpose</source>
- <translation>A rendszergazda CA igazolás nem megbízható erre a célra</translation>
+ <translation>A tanusítványkibocsátó tanusítványa nem használható erre a célra</translation>
</message>
<message>
<location line="+3"/>
<source>The root CA certificate is marked to reject the specified purpose</source>
- <translation>A rendszergazda CA igazolás a specializást cél megtagadására lett megjelölve</translation>
+ <translation>A tanusítványkibocsátó tanusítványa nem engedi, hogy e célra használják</translation>
</message>
<message>
<location line="+3"/>
<source>The current candidate issuer certificate was rejected because its subject name did not match the issuer name of the current certificate</source>
- <translation>Az aktuális jelölt problémás igazolása meg lett tagadva, mert a téma neve nem egyezett az aktuális igazolás problémás nevével</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+4"/>
<source>The current candidate issuer certificate was rejected because its issuer name and serial number was present and did not match the authority key identifier of the current certificate</source>
- <translation>Az aktuális jelölt problémás igazolása el lett utasítva, mert a problémás név és sorszám benyűjtva és nem egyezett az aktuális igazolás hitelesítési kulcs azonosítójával</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+5"/>
<source>The peer did not present any certificate</source>
- <translation>A kortárs nem nyújtott be egyetlen igazolást sem</translation>
+ <translation>A partner nem szolgáltatott semmilyen tanusítványt</translation>
</message>
<message>
<location line="+3"/>
<source>The host name did not match any of the valid hosts for this certificate</source>
- <translation>A hoszt név nem egyezik egyetlen érvényes hoszttal sem erre az igazolásra</translation>
+ <translation>A gépnév nem felel meg a tanusítványon találha gépnevek egyikének sem</translation>
</message>
<message>
<location line="+6"/>
@@ -6571,17 +9692,17 @@ Kérem válasszon egy különböző fájl nevet.</translation>
<message>
<location filename="../src/corelib/statemachine/qstatemachine.cpp" line="+1028"/>
<source>Missing initial state in compound state &apos;%1&apos;</source>
- <translation>Hiányzó kezdeti állapot összetett helyzetben &apos;%1&apos;</translation>
+ <translation>A kezdeti állapot hiányzik egy összetett állapotnál &apos;%1&apos;</translation>
</message>
<message>
<location line="+7"/>
<source>Missing default state in history state &apos;%1&apos;</source>
- <translation>Hiányzó alapértelmezett állapot a történelmi állapotokban &apos;%1&apos;</translation>
+ <translation>Az alapértelmezett állapot nem található a(z) &apos;%1&apos; megelőző állapotban</translation>
</message>
<message>
<location line="+7"/>
<source>No common ancestor for targets and source of transition from state &apos;%1&apos;</source>
- <translation>Nincs közös őse az átmeneti céloknak és forrásnak a(z) &apos;%1&apos; helyzetből</translation>
+ <translation>Nincs közös őse a forrásállapotnak és a célállapotoknak a(z) &apos;%1&apos; állapotból való átmenetben</translation>
</message>
<message>
<location line="+4"/>
@@ -6592,21 +9713,10 @@ Kérem válasszon egy különböző fájl nevet.</translation>
<context>
<name>QSystemSemaphore</name>
<message>
- <location filename="../src/corelib/kernel/qsystemsemaphore_unix.cpp" line="-46"/>
- <source>%1: does not exist</source>
- <translation>%1 : nem létezik</translation>
- </message>
- <message>
- <location line="+5"/>
- <location filename="../src/corelib/kernel/qsystemsemaphore_win.cpp" line="+66"/>
- <source>%1: out of resources</source>
- <translation>%1: kifogyott az erőforrásból</translation>
- </message>
- <message>
- <location line="-13"/>
- <location filename="../src/corelib/kernel/qsystemsemaphore_win.cpp" line="+4"/>
+ <location filename="../src/corelib/kernel/qsystemsemaphore_unix.cpp" line="-54"/>
+ <location filename="../src/corelib/kernel/qsystemsemaphore_win.cpp" line="+70"/>
<source>%1: permission denied</source>
- <translation>%1: Engedély megtagadva</translation>
+ <translation>%1: hozzáférés megtagadva</translation>
</message>
<message>
<location line="+4"/>
@@ -6614,8 +9724,19 @@ Kérem válasszon egy különböző fájl nevet.</translation>
<translation>%1: már létezik</translation>
</message>
<message>
- <location line="+13"/>
- <location filename="../src/corelib/kernel/qsystemsemaphore_win.cpp" line="+3"/>
+ <location line="+4"/>
+ <source>%1: does not exist</source>
+ <translation>%1: még nem létezik</translation>
+ </message>
+ <message>
+ <location line="+5"/>
+ <location filename="../src/corelib/kernel/qsystemsemaphore_win.cpp" line="-4"/>
+ <source>%1: out of resources</source>
+ <translation>%1: az erőforrások elfogytak</translation>
+ </message>
+ <message>
+ <location line="+4"/>
+ <location filename="../src/corelib/kernel/qsystemsemaphore_win.cpp" line="+7"/>
<source>%1: unknown error %2</source>
<translation>%1: ismeretlen hiba %2</translation>
</message>
@@ -6625,12 +9746,12 @@ Kérem válasszon egy különböző fájl nevet.</translation>
<message>
<location filename="../src/sql/drivers/tds/qsql_tds.cpp" line="+595"/>
<source>Unable to open connection</source>
- <translation>Nem lehet megnyitni a kapcsolatot</translation>
+ <translation>A kapcsolat nem nyitható meg</translation>
</message>
<message>
<location line="+5"/>
<source>Unable to use database</source>
- <translation>Nem lehet az adatbázist használni</translation>
+ <translation>Az adatbázis nem használható</translation>
</message>
</context>
<context>
@@ -6643,28 +9764,32 @@ Kérem válasszon egy különböző fájl nevet.</translation>
<message>
<location line="+0"/>
<source>Scroll Right</source>
- <translation>Görgetésre jobbra</translation>
+ <translation>Görgetés jobbra</translation>
</message>
</context>
<context>
<name>QTcpServer</name>
<message>
- <location filename="../src/network/socket/qtcpserver.cpp" line="+282"/>
+ <source>Socket operation unsupported</source>
+ <translation type="obsolete">Socket művelet nem támogatott</translation>
+ </message>
+ <message>
+ <location filename="../src/network/socket/qtcpserver.cpp" line="+292"/>
<source>Operation on socket is not supported</source>
- <translation>A socketen végzett művelet nem támogatott</translation>
+ <translation>A művelet nem támogatott socketeken</translation>
</message>
</context>
<context>
<name>QTextControl</name>
<message>
- <location filename="../src/gui/text/qtextcontrol.cpp" line="+2024"/>
+ <location filename="../src/gui/text/qtextcontrol.cpp" line="+2046"/>
<source>&amp;Undo</source>
<translation>&amp;Visszavonás</translation>
</message>
<message>
<location line="+2"/>
<source>&amp;Redo</source>
- <translation>&amp;Megismétlés</translation>
+ <translation>Új&amp;ra</translation>
</message>
<message>
<location line="+4"/>
@@ -6679,7 +9804,7 @@ Kérem válasszon egy különböző fájl nevet.</translation>
<message>
<location line="+7"/>
<source>Copy &amp;Link Location</source>
- <translation>&amp;Link címének másolása</translation>
+ <translation>&amp;Link helyének másolása</translation>
</message>
<message>
<location line="+6"/>
@@ -6694,7 +9819,7 @@ Kérem válasszon egy különböző fájl nevet.</translation>
<message>
<location line="+7"/>
<source>Select All</source>
- <translation>Az összes kiválasztása</translation>
+ <translation>Összes kijelölése</translation>
</message>
</context>
<context>
@@ -6703,7 +9828,7 @@ Kérem válasszon egy különböző fájl nevet.</translation>
<location filename="../src/plugins/accessible/widgets/simplewidgets.cpp" line="+310"/>
<location line="+6"/>
<source>Press</source>
- <translation>Megnyomás</translation>
+ <translation>Nyomja meg</translation>
</message>
<message>
<location line="-4"/>
@@ -6715,9 +9840,9 @@ Kérem válasszon egy különböző fájl nevet.</translation>
<context>
<name>QUdpSocket</name>
<message>
- <location filename="../src/network/socket/qudpsocket.cpp" line="+179"/>
+ <location filename="../src/network/socket/qudpsocket.cpp" line="+189"/>
<source>This platform does not support IPv6</source>
- <translation>Ez a platform nem támogatja az IPv6-t</translation>
+ <translation>A platform nem támogatja az IPv6-ot</translation>
</message>
</context>
<context>
@@ -6730,7 +9855,7 @@ Kérem válasszon egy különböző fájl nevet.</translation>
<message>
<location line="+28"/>
<source>Redo</source>
- <translation>Megismétlés</translation>
+ <translation>Újra</translation>
</message>
</context>
<context>
@@ -6751,7 +9876,7 @@ Kérem válasszon egy különböző fájl nevet.</translation>
<message>
<location line="+27"/>
<source>Redo</source>
- <translation>Megismétlés</translation>
+ <translation>Újra</translation>
</message>
</context>
<context>
@@ -6759,85 +9884,89 @@ Kérem válasszon egy különböző fájl nevet.</translation>
<message>
<location filename="../src/gui/text/qtextcontrol.cpp" line="+899"/>
<source>LRM Left-to-right mark</source>
- <translation>LRM balról jobbra jelölés</translation>
+ <translation>LRM Balról jobbra jelölő</translation>
</message>
<message>
<location line="+1"/>
<source>RLM Right-to-left mark</source>
- <translation>RLM jobbról balra jelölés</translation>
+ <translation>LRM Jobbról balra jelölő</translation>
</message>
<message>
<location line="+1"/>
<source>ZWJ Zero width joiner</source>
- <translation>ZWJ Nulla szélességű asztalos</translation>
+ <translation>ZWJ Nulla szélességű egyesítő jelölő</translation>
</message>
<message>
<location line="+1"/>
<source>ZWNJ Zero width non-joiner</source>
- <translation>ZWNJ Nulla szélességű nem asztalos</translation>
+ <translation>ZWN Nulla szélességű nem-egyesítő jelölő</translation>
</message>
<message>
<location line="+1"/>
<source>ZWSP Zero width space</source>
- <translation>ZWSP Nulla szélességű hely</translation>
+ <translation>ZWSP Nulla szélességű szóköz</translation>
</message>
<message>
<location line="+1"/>
<source>LRE Start of left-to-right embedding</source>
- <translation>LRE Balról jobbra beágyazás kezdete</translation>
+ <translation>LRE balról-jobbra beágyazás kezdete</translation>
</message>
<message>
<location line="+1"/>
<source>RLE Start of right-to-left embedding</source>
- <translation>RLE Jobbról balra beágyazás kezdete</translation>
+ <translation>RLE jobbról-balra beágyazás kezdete</translation>
</message>
<message>
<location line="+1"/>
<source>LRO Start of left-to-right override</source>
- <translation>LRO Balról jobbra megsemmisítés kezdete</translation>
+ <translation>LRO balról-jobbra felülbírálás kezdete</translation>
</message>
<message>
<location line="+1"/>
<source>RLO Start of right-to-left override</source>
- <translation>RLO Jobbról balra megsemmisítés kezdete</translation>
+ <translation>RLO Jobbról-balra felülbírálás kezdete</translation>
</message>
<message>
<location line="+1"/>
<source>PDF Pop directional formatting</source>
- <translation>PDF Kérirányú formázás benézése</translation>
+ <translation>PDF normál irányú formázási jelölő</translation>
</message>
<message>
<location line="+6"/>
<source>Insert Unicode control character</source>
- <translation>Unicode vezérlő karakter beszúrása</translation>
+ <translation>Unicode vezérlőkarakter beszúrása</translation>
</message>
</context>
<context>
<name>QWebFrame</name>
<message>
- <location filename="../src/3rdparty/webkit/WebKit/qt/WebCoreSupport/FrameLoaderClientQt.cpp" line="+712"/>
+ <location filename="../src/3rdparty/webkit/WebKit/qt/WebCoreSupport/FrameLoaderClientQt.cpp" line="+753"/>
<source>Request cancelled</source>
- <translation>Kérés visszavonva</translation>
+ <translation>A kérés megszakítva</translation>
</message>
<message>
<location line="+19"/>
<source>Request blocked</source>
- <translation>Kérés blokkolva</translation>
+ <translation>A kérést blokkolták</translation>
</message>
<message>
<location line="+7"/>
<source>Cannot show URL</source>
- <translation>Nem lehet megjeleníteni az URL-t</translation>
+ <translation>A cím nem megjeleníthető</translation>
</message>
<message>
<location line="+6"/>
<source>Frame load interrupted by policy change</source>
- <translation>Irányvonal megváltozása miatt a szerkezet töltése megszakítva</translation>
+ <translation>A keret betöltése szabályváltoztatás miatt megszakadt</translation>
+ </message>
+ <message>
+ <source>Frame load interruped by policy change</source>
+ <translation type="obsolete">A keret betöltése szabályváltoztatás miatt megszakadt</translation>
</message>
<message>
<location line="+6"/>
<source>Cannot show mimetype</source>
- <translation>Nem lehet megjeleníteni mime típust</translation>
+ <translation>Nem megjeleníthető fájltípus</translation>
</message>
<message>
<location line="+6"/>
@@ -6848,34 +9977,50 @@ Kérem válasszon egy különböző fájl nevet.</translation>
<context>
<name>QWebPage</name>
<message>
- <location filename="../src/3rdparty/webkit/WebCore/platform/qt/Localizations.cpp" line="+42"/>
+ <location filename="../src/3rdparty/webkit/WebCore/platform/network/qt/QNetworkReplyHandler.cpp" line="+347"/>
+ <source>Redirection limit reached</source>
+ <translation>Átirányítási korlát elérve</translation>
+ </message>
+ <message>
+ <location line="+121"/>
+ <source>Bad HTTP request</source>
+ <translation>Hibás HTTP kérés</translation>
+ </message>
+ <message>
+ <location filename="../src/3rdparty/webkit/WebCore/platform/qt/Localizations.cpp" line="+44"/>
<source>Submit</source>
<comment>default label for Submit buttons in forms on web pages</comment>
- <translation>Feltöltés</translation>
+ <translation>Küldés</translation>
</message>
<message>
<location line="+5"/>
<source>Submit</source>
<comment>Submit (input element) alt text for &lt;input&gt; elements with no alt, title, or value</comment>
- <translation>Feltöltés</translation>
+ <translation>Küldés</translation>
</message>
<message>
<location line="+5"/>
<source>Reset</source>
<comment>default label for Reset buttons in forms on web pages</comment>
- <translation>Helyreállítás</translation>
+ <translation>Törlés</translation>
</message>
<message>
- <location line="+16"/>
+ <location line="+11"/>
+ <source>This is a searchable index. Enter search keywords: </source>
+ <comment>text that appears at the start of nearly-obsolete web pages in the form of a &apos;searchable index&apos;</comment>
+ <translation>Ez egy kereshető index. Írja be a keresendő szavakat: </translation>
+ </message>
+ <message>
+ <location line="+5"/>
<source>Choose File</source>
<comment>title for file button used in HTML forms</comment>
- <translation>Fájl kiválasztása</translation>
+ <translation>Fájl tallózása</translation>
</message>
<message>
<location line="+5"/>
<source>No file selected</source>
<comment>text to display in file button used in HTML forms when no file is selected</comment>
- <translation>Nincsen egyetlen fájl sem kiválasztva</translation>
+ <translation>Nincs fájl kiválaszva</translation>
</message>
<message>
<location line="+5"/>
@@ -6887,13 +10032,13 @@ Kérem válasszon egy különböző fájl nevet.</translation>
<location line="+5"/>
<source>Save Link...</source>
<comment>Download Linked File context menu item</comment>
- <translation>Link mentése...</translation>
+ <translation>Link célpontjának mentése...</translation>
</message>
<message>
<location line="+5"/>
<source>Copy Link</source>
<comment>Copy Link context menu item</comment>
- <translation>Link másolása</translation>
+ <translation>Link címének másolása</translation>
</message>
<message>
<location line="+5"/>
@@ -6905,7 +10050,7 @@ Kérem válasszon egy különböző fájl nevet.</translation>
<location line="+5"/>
<source>Save Image</source>
<comment>Download Image context menu item</comment>
- <translation>Kép elmentése</translation>
+ <translation>Kép mentése</translation>
</message>
<message>
<location line="+5"/>
@@ -6917,7 +10062,7 @@ Kérem válasszon egy különböző fájl nevet.</translation>
<location line="+5"/>
<source>Open Frame</source>
<comment>Open Frame in New Window context menu item</comment>
- <translation>Szerkezet megnyitása</translation>
+ <translation>Keret megnyitása új ablakban</translation>
</message>
<message>
<location line="+5"/>
@@ -6929,25 +10074,25 @@ Kérem válasszon egy különböző fájl nevet.</translation>
<location line="+5"/>
<source>Go Back</source>
<comment>Back context menu item</comment>
- <translation>Menj vissza</translation>
+ <translation>Vissza</translation>
</message>
<message>
<location line="+5"/>
<source>Go Forward</source>
<comment>Forward context menu item</comment>
- <translation>Menj előre</translation>
+ <translation>Előre</translation>
</message>
<message>
<location line="+5"/>
<source>Stop</source>
<comment>Stop context menu item</comment>
- <translation>Leállítás</translation>
+ <translation>Stop</translation>
</message>
<message>
<location line="+5"/>
<source>Reload</source>
<comment>Reload context menu item</comment>
- <translation>Újratöltés</translation>
+ <translation>Frissítés</translation>
</message>
<message>
<location line="+5"/>
@@ -6965,13 +10110,13 @@ Kérem válasszon egy különböző fájl nevet.</translation>
<location line="+5"/>
<source>No Guesses Found</source>
<comment>No Guesses Found context menu item</comment>
- <translation>Nincs feltételezések találata</translation>
+ <translation>Nincs találat</translation>
</message>
<message>
<location line="+5"/>
<source>Ignore</source>
<comment>Ignore Spelling context menu item</comment>
- <translation>Mellőzés</translation>
+ <translation>Kihagyás</translation>
</message>
<message>
<location line="+5"/>
@@ -6989,7 +10134,7 @@ Kérem válasszon egy különböző fájl nevet.</translation>
<location line="+5"/>
<source>Look Up In Dictionary</source>
<comment>Look Up in Dictionary context menu item</comment>
- <translation>Utánanézés szótárban</translation>
+ <translation>Keresés a szótárban</translation>
</message>
<message>
<location line="+5"/>
@@ -7001,49 +10146,49 @@ Kérem válasszon egy különböző fájl nevet.</translation>
<location line="+5"/>
<source>Ignore</source>
<comment>Ignore Grammar context menu item</comment>
- <translation>Mellőzés</translation>
+ <translation>Kihagyás</translation>
</message>
<message>
<location line="+5"/>
<source>Spelling</source>
<comment>Spelling and Grammar context sub-menu item</comment>
- <translation>Helyesírás</translation>
+ <translation>Nyelvi eszközök</translation>
</message>
<message>
<location line="+5"/>
<source>Show Spelling and Grammar</source>
<comment>menu item title</comment>
- <translation>Helyesírás és nyelvtan megjelenítése</translation>
+ <translation>Nyelvi eszközök megjelenítése</translation>
</message>
<message>
<location line="+1"/>
<source>Hide Spelling and Grammar</source>
<comment>menu item title</comment>
- <translation>Helyesírás és nyelvtan elrejtése</translation>
+ <translation>Nyelvi eszközök elrejtése</translation>
</message>
<message>
<location line="+5"/>
<source>Check Spelling</source>
<comment>Check spelling context menu item</comment>
- <translation>Helyesírás ellenőrzés</translation>
+ <translation>Nyelvhelyesség ellenőrzése</translation>
</message>
<message>
<location line="+5"/>
<source>Check Spelling While Typing</source>
<comment>Check spelling while typing context menu item</comment>
- <translation>Helyesírás ellenőrzés gépelés közben</translation>
+ <translation>Nyelvhelyesség ellenőrzése gépeléskor</translation>
</message>
<message>
<location line="+5"/>
<source>Check Grammar With Spelling</source>
<comment>Check grammar with spelling context menu item</comment>
- <translation>Nyelvtani ellenőrzés helyesírás ellenőrzéssel</translation>
+ <translation>Nyelvtan ellenőrzése</translation>
</message>
<message>
<location line="+5"/>
<source>Fonts</source>
<comment>Font context sub-menu item</comment>
- <translation>Betű</translation>
+ <translation>Betűtípus</translation>
</message>
<message>
<location line="+5"/>
@@ -7061,25 +10206,25 @@ Kérem válasszon egy különböző fájl nevet.</translation>
<location line="+5"/>
<source>Underline</source>
<comment>Underline context menu item</comment>
- <translation>Aláhúzás</translation>
+ <translation>Aláhúzott</translation>
</message>
<message>
<location line="+5"/>
<source>Outline</source>
<comment>Outline context menu item</comment>
- <translation>Kontúrozás</translation>
+ <translation>Áthúzott</translation>
</message>
<message>
<location line="+5"/>
<source>Direction</source>
<comment>Writing direction context sub-menu item</comment>
- <translation>Irány összefüggések írás, menü elem</translation>
+ <translation>Irány</translation>
</message>
<message>
<location line="+5"/>
<source>Text Direction</source>
<comment>Text direction context sub-menu item</comment>
- <translation>Szöveg irány</translation>
+ <translation>Szövegirány</translation>
</message>
<message>
<location line="+5"/>
@@ -7100,7 +10245,13 @@ Kérem válasszon egy különböző fájl nevet.</translation>
<translation>Jobbról balra</translation>
</message>
<message>
- <location line="+105"/>
+ <location line="+100"/>
+ <source>Missing Plug-in</source>
+ <comment>Label text to be used when a plug-in is missing</comment>
+ <translation>Egy plug-in hiányzik</translation>
+ </message>
+ <message>
+ <location line="+20"/>
<source>Loading...</source>
<comment>Media controller status message when the media is loading</comment>
<translation>Betöltés...</translation>
@@ -7109,31 +10260,31 @@ Kérem válasszon egy különböző fájl nevet.</translation>
<location line="+5"/>
<source>Live Broadcast</source>
<comment>Media controller status message when watching a live broadcast</comment>
- <translation>Élő bejelentés</translation>
+ <translation>Élő adás</translation>
</message>
<message>
<location line="+8"/>
<source>Audio Element</source>
<comment>Media controller element</comment>
- <translation>Audió elem</translation>
+ <translation>Hang elem</translation>
</message>
<message>
<location line="+2"/>
<source>Video Element</source>
<comment>Media controller element</comment>
- <translation>Videó elem</translation>
+ <translation>Video elem</translation>
</message>
<message>
<location line="+2"/>
<source>Mute Button</source>
<comment>Media controller element</comment>
- <translation>Elnémítás gomb</translation>
+ <translation>Némítás gomb</translation>
</message>
<message>
<location line="+2"/>
<source>Unmute Button</source>
<comment>Media controller element</comment>
- <translation>Elnémítás megszűntetése gomb</translation>
+ <translation>Némítás feloldása gomb</translation>
</message>
<message>
<location line="+2"/>
@@ -7145,7 +10296,7 @@ Kérem válasszon egy különböző fájl nevet.</translation>
<location line="+2"/>
<source>Pause Button</source>
<comment>Media controller element</comment>
- <translation>Szünet gomb</translation>
+ <translation>Megállítás gomb</translation>
</message>
<message>
<location line="+2"/>
@@ -7157,19 +10308,19 @@ Kérem válasszon egy különböző fájl nevet.</translation>
<location line="+2"/>
<source>Slider Thumb</source>
<comment>Media controller element</comment>
- <translation>Csuszka ujj</translation>
+ <translation>Csúszka pozícionáló</translation>
</message>
<message>
<location line="+2"/>
<source>Rewind Button</source>
<comment>Media controller element</comment>
- <translation>Áttekercselés gomb</translation>
+ <translation>Visszatekerés gomb</translation>
</message>
<message>
<location line="+2"/>
<source>Return to Real-time Button</source>
<comment>Media controller element</comment>
- <translation>A valós idejűre visszatérés gomb</translation>
+ <translation>Valós időre visszatérés gombja</translation>
</message>
<message>
<location line="+2"/>
@@ -7181,133 +10332,135 @@ Kérem válasszon egy különböző fájl nevet.</translation>
<location line="+2"/>
<source>Remaining Time</source>
<comment>Media controller element</comment>
- <translation>Fennmaradó idő</translation>
+ <translation>Hátralévő idő</translation>
</message>
<message>
<location line="+2"/>
<source>Status Display</source>
<comment>Media controller element</comment>
- <translation>Státusz kijelzés</translation>
+ <translation>Állapotkijelző</translation>
</message>
<message>
<location line="+2"/>
<source>Fullscreen Button</source>
<comment>Media controller element</comment>
- <translation>Teljes képernyő gomb</translation>
+ <translation>Teljes méret gomb</translation>
</message>
<message>
<location line="+2"/>
<source>Seek Forward Button</source>
<comment>Media controller element</comment>
- <translation>Keresés továbbítása gomb</translation>
+ <translation>Előre keresés gomb</translation>
</message>
<message>
<location line="+2"/>
<source>Seek Back Button</source>
<comment>Media controller element</comment>
- <translation>Keresés visszafele gomb</translation>
+ <translation>Visszafele keresés gomb</translation>
</message>
<message>
<location line="+8"/>
<source>Audio element playback controls and status display</source>
<comment>Media controller element</comment>
- <translation>Audió elem visszajátszás vezérlők és státusz kijelzés</translation>
+ <translation>Hang elem lejátszásvezérlői és állapotkijelzője</translation>
</message>
<message>
<location line="+2"/>
<source>Video element playback controls and status display</source>
<comment>Media controller element</comment>
- <translation>Videó elem visszajátszás vezérlők és státusz kijelzés</translation>
+ <translation>Videó elem lejátszásvezérlői és állapotkijelzője</translation>
</message>
<message>
<location line="+2"/>
<source>Mute audio tracks</source>
<comment>Media controller element</comment>
- <translation>Audió számok elnémítása</translation>
+ <translation>Hangsávok elnémítása</translation>
</message>
<message>
<location line="+2"/>
<source>Unmute audio tracks</source>
<comment>Media controller element</comment>
- <translation>Audió számok elnémításának megszűntetése</translation>
+ <translation>Hangsávok visszakapcsolása</translation>
</message>
<message>
<location line="+2"/>
<source>Begin playback</source>
<comment>Media controller element</comment>
- <translation>Visszajátszás megkezdése</translation>
+ <translation>Lejátszás indítása</translation>
</message>
<message>
<location line="+2"/>
<source>Pause playback</source>
<comment>Media controller element</comment>
- <translation>Visszajátszás szüneteltetése</translation>
+ <translation>Lejátszás megállítása</translation>
</message>
<message>
<location line="+2"/>
<source>Movie time scrubber</source>
<comment>Media controller element</comment>
- <translation>Film idő súroló</translation>
+ <translatorcomment>CHECKIT</translatorcomment>
+ <translation>Mozi idő csúszka sáv</translation>
</message>
<message>
<location line="+2"/>
<source>Movie time scrubber thumb</source>
<comment>Media controller element</comment>
- <translation>Film idő súrolókörte</translation>
+ <translatorcomment>CHECKIT</translatorcomment>
+ <translation>Mozi idő csúszka</translation>
</message>
<message>
<location line="+2"/>
<source>Rewind movie</source>
<comment>Media controller element</comment>
- <translation>Film visszatekerése</translation>
+ <translation>Videó visszatekerése</translation>
</message>
<message>
<location line="+2"/>
<source>Return streaming movie to real-time</source>
<comment>Media controller element</comment>
- <translation>Özönlő filmek visszaadása a valós idő számára</translation>
+ <translation>Valós időbe váltás</translation>
</message>
<message>
<location line="+2"/>
<source>Current movie time</source>
<comment>Media controller element</comment>
- <translation>Az aktuális filmidő</translation>
+ <translation>Eltelt lejátszási idő</translation>
</message>
<message>
<location line="+2"/>
<source>Remaining movie time</source>
<comment>Media controller element</comment>
- <translation>Fennmaradó filmidő</translation>
+ <translation>Hátralevő lejátszási idő</translation>
</message>
<message>
<location line="+2"/>
<source>Current movie status</source>
<comment>Media controller element</comment>
- <translation>Az aktuális film státusz</translation>
+ <translation>A lejátszás állapota</translation>
</message>
<message>
<location line="+2"/>
<source>Play movie in full-screen mode</source>
<comment>Media controller element</comment>
- <translation>Film lejátszása teljes képernyős módban</translation>
+ <translation>Videó teljes képernyős lejátszása</translation>
</message>
<message>
<location line="+2"/>
<source>Seek quickly back</source>
<comment>Media controller element</comment>
- <translation>Gyorsan visszafele keresés</translation>
+ <translation>Gyors visszaugrás</translation>
</message>
<message>
<location line="+2"/>
<source>Seek quickly forward</source>
<comment>Media controller element</comment>
- <translation>Gyorsan előre keresés</translation>
+ <translation>Gyors előreugrás</translation>
</message>
<message>
<location line="+9"/>
<source>Indefinite time</source>
<comment>Media time description</comment>
- <translation>Bizonytalan idő</translation>
+ <translation>Végtelen idő</translation>
</message>
<message>
<location line="+9"/>
@@ -7334,101 +10487,108 @@ Kérem válasszon egy különböző fájl nevet.</translation>
<translation>%1 másodperc</translation>
</message>
<message>
- <location line="-210"/>
+ <source>LTR</source>
+ <comment>Left to Right context menu item</comment>
+ <translation type="obsolete">Balról jobbra</translation>
+ </message>
+ <message>
+ <source>RTL</source>
+ <comment>Right to Left context menu item</comment>
+ <translation type="obsolete">Jobbról balra</translation>
+ </message>
+ <message>
+ <location line="-225"/>
<source>Inspect</source>
<comment>Inspect Element context menu item</comment>
- <translation>Megtekintés</translation>
+ <translation>Elemzés</translation>
</message>
<message>
<location line="+5"/>
<source>No recent searches</source>
<comment>Label for only item in menu that appears when clicking on the search field image, when no searches have been performed</comment>
- <translation>Nincsenek utóbbi keresések</translation>
+ <translation>Nincs keresési előzmény</translation>
</message>
<message>
<location line="+5"/>
<source>Recent searches</source>
<comment>label for first item in the menu that appears when clicking on the search field image, used as embedded menu title</comment>
- <translation>Utóbbi keresések</translation>
+ <translation>Keresési előzmények</translation>
</message>
<message>
<location line="+5"/>
<source>Clear recent searches</source>
<comment>menu item in Recent Searches menu that empties menu&apos;s contents</comment>
- <translation>Utóbbi keresések kiürítése</translation>
+ <translation>Keresési előzmények ürítése</translation>
</message>
<message>
- <location line="+75"/>
+ <location line="+90"/>
<source>Unknown</source>
<comment>Unknown filesize FTP directory listing item</comment>
<translation>Ismeretlen</translation>
</message>
<message>
- <location filename="../src/3rdparty/webkit/WebKit/qt/WebCoreSupport/InspectorClientQt.cpp" line="+167"/>
- <source>Web Inspector - %2</source>
- <translation>Web felügyelő - %2</translation>
- </message>
- <message>
- <location filename="../src/3rdparty/webkit/WebCore/platform/qt/Localizations.cpp" line="+5"/>
+ <location line="+5"/>
<source>%1 (%2x%3 pixels)</source>
<comment>Title string for images</comment>
- <translation>%1 (%2x%3 pixelek)</translation>
+ <translation>%1 (%2x%3 képpont)</translation>
</message>
<message>
- <location filename="../src/3rdparty/webkit/WebCore/platform/network/qt/QNetworkReplyHandler.cpp" line="+412"/>
- <source>Bad HTTP request</source>
- <translation>Érvénytelen HTTP kérés</translation>
+ <location filename="../src/3rdparty/webkit/WebKit/qt/WebCoreSupport/InspectorClientQt.cpp" line="+253"/>
+ <source>Web Inspector - %2</source>
+ <translation>Web elemző - %2</translation>
</message>
- <message>
- <location filename="../src/3rdparty/webkit/WebCore/platform/qt/Localizations.cpp" line="-291"/>
- <source>This is a searchable index. Enter search keywords: </source>
- <comment>text that appears at the start of nearly-obsolete web pages in the form of a &apos;searchable index&apos;</comment>
- <translation>Ez egy kereshető index. Gépelje be a kívánt kulcsszavakat:</translation>
+ <message numerus="yes">
+ <location filename="../src/3rdparty/webkit/WebCore/platform/qt/FileChooserQt.cpp" line="+45"/>
+ <source>%n file(s)</source>
+ <comment>number of chosen file</comment>
+ <translation>
+ <numerusform>%n fájl</numerusform>
+ </translation>
</message>
<message>
<location filename="../src/3rdparty/webkit/WebCore/platform/qt/ScrollbarQt.cpp" line="+58"/>
<source>Scroll here</source>
- <translation>Görgetés ide</translation>
+ <translation>Gördítés ide</translation>
</message>
<message>
<location line="+3"/>
<source>Left edge</source>
- <translation>Bal szegély</translation>
+ <translation>Bal szélre</translation>
</message>
<message>
<location line="+0"/>
<source>Top</source>
- <translation>Felül</translation>
+ <translation>Felülre</translation>
</message>
<message>
<location line="+1"/>
<source>Right edge</source>
- <translation>Jobb szegély</translation>
+ <translation>Jobb szélre</translation>
</message>
<message>
<location line="+0"/>
<source>Bottom</source>
- <translation>Alul</translation>
+ <translation>Alulra</translation>
</message>
<message>
<location line="+3"/>
<source>Page left</source>
- <translation>Lapozás balra</translation>
+ <translation>Egy oldalt balra</translation>
</message>
<message>
<location line="+0"/>
<source>Page up</source>
- <translation>Lapozás fel</translation>
+ <translation>Egy oldalt felfelé</translation>
</message>
<message>
<location line="+1"/>
<source>Page right</source>
- <translation>Lapozás jobbra</translation>
+ <translation>Egy oldalt jobbra</translation>
</message>
<message>
<location line="+0"/>
<source>Page down</source>
- <translation>Lapozás balra</translation>
+ <translation>Egy oldalt le</translation>
</message>
<message>
<location line="+3"/>
@@ -7438,7 +10598,7 @@ Kérem válasszon egy különböző fájl nevet.</translation>
<message>
<location line="+0"/>
<source>Scroll up</source>
- <translation>Görgetés fel</translation>
+ <translation>Görgetés felfelé</translation>
</message>
<message>
<location line="+1"/>
@@ -7448,200 +10608,192 @@ Kérem válasszon egy különböző fájl nevet.</translation>
<message>
<location line="+0"/>
<source>Scroll down</source>
- <translation>Görgetés lefele</translation>
- </message>
- <message numerus="yes">
- <location filename="../src/3rdparty/webkit/WebCore/platform/qt/FileChooserQt.cpp" line="+45"/>
- <source>%n file(s)</source>
- <comment>number of chosen file</comment>
- <translation>
- <numerusform>%n fájl</numerusform>
- </translation>
+ <translation>Görgetés le</translation>
</message>
<message>
- <location filename="../src/3rdparty/webkit/WebKit/qt/Api/qwebpage.cpp" line="+1822"/>
+ <location filename="../src/3rdparty/webkit/WebKit/qt/Api/qwebpage.cpp" line="+2033"/>
<source>JavaScript Alert - %1</source>
- <translation>JavaSzkript figyelmeztetés - %1</translation>
+ <translation>JavaScript figyelmeztetés - %1</translation>
</message>
<message>
- <location line="+16"/>
+ <location line="+17"/>
<source>JavaScript Confirm - %1</source>
- <translation>JavaSzkript megerősítés - %1</translation>
+ <translation>JavaScript megerősítés - %1</translation>
</message>
<message>
- <location line="+18"/>
+ <location line="+20"/>
<source>JavaScript Prompt - %1</source>
- <translation>JavaSzkript prompt - %1</translation>
+ <translation>JavaScript Prompt kérdés - %1</translation>
</message>
<message>
- <location line="+25"/>
+ <location line="+26"/>
<source>JavaScript Problem - %1</source>
- <translation>JavaSzkript probléma - %1</translation>
+ <translation>JavaScript probléma - %1</translation>
</message>
<message>
<location line="+0"/>
<source>The script on this page appears to have a problem. Do you want to stop the script?</source>
- <translation>Az ezen a lapon található szkriptnek úgy tűnik, hogy van egy problémája. Le szeretné állítani a szkriptet?</translation>
+ <translation>Az ezen a lapon levő parancsfájl hibásnak tűnik. Leállítja a parancsfájl futását?</translation>
</message>
<message>
- <location line="+381"/>
+ <location line="+395"/>
<source>Move the cursor to the next character</source>
- <translation>Az egér mozgatása a következő karakterre</translation>
+ <translation>Tegye a kurzort a következő karakterhez</translation>
</message>
<message>
<location line="+3"/>
<source>Move the cursor to the previous character</source>
- <translation>Az egér mozgatása az előző karakterre</translation>
+ <translation>Tegye a kurzort az előző karakterhez</translation>
</message>
<message>
<location line="+3"/>
<source>Move the cursor to the next word</source>
- <translation>Az egér mozgatása a következő szóra</translation>
+ <translation>Tegye a kurzort a következő szóhoz</translation>
</message>
<message>
<location line="+3"/>
<source>Move the cursor to the previous word</source>
- <translation>Az egér mozgatása az előző szóra</translation>
+ <translation>Tegye a kurzort az előző szóhoz</translation>
</message>
<message>
<location line="+3"/>
<source>Move the cursor to the next line</source>
- <translation>Az egér mozgatása a következő sorra</translation>
+ <translation>Tegye a kurzort a következő sorba</translation>
</message>
<message>
<location line="+3"/>
<source>Move the cursor to the previous line</source>
- <translation>Az egér mozgatása az előző sorra</translation>
+ <translation>Tegye a kurzort az előző sorba</translation>
</message>
<message>
<location line="+3"/>
<source>Move the cursor to the start of the line</source>
- <translation>Az egér mozgatása a sor elejére</translation>
+ <translation>Tegye a kurzort a sor elejére</translation>
</message>
<message>
<location line="+3"/>
<source>Move the cursor to the end of the line</source>
- <translation>Az egér mozgatása a sor végére</translation>
+ <translation>Tegye a kurzort a sor végére</translation>
</message>
<message>
<location line="+3"/>
<source>Move the cursor to the start of the block</source>
- <translation>Az egér mozgatása a blokk elejére</translation>
+ <translation>Tegye a kurzort a blokk elejére</translation>
</message>
<message>
<location line="+3"/>
<source>Move the cursor to the end of the block</source>
- <translation>Az egér mozgatása a blokk végére</translation>
+ <translation>Tegye a kurzort a blokk végére</translation>
</message>
<message>
<location line="+3"/>
<source>Move the cursor to the start of the document</source>
- <translation>Az egér mozgatása a dokumentum elejére</translation>
+ <translation>Tegye a kurzort a dokumentum elejére</translation>
</message>
<message>
<location line="+3"/>
<source>Move the cursor to the end of the document</source>
- <translation>Az egér mozgatása a dokumentum végére</translation>
+ <translation>Tegye a kurzort a dokumentum végére</translation>
</message>
<message>
<location line="+3"/>
<source>Select all</source>
- <translation>Az összes kiválasztása</translation>
+ <translation>Összes kijelölése</translation>
</message>
<message>
<location line="+3"/>
<source>Select to the next character</source>
- <translation>A következő karakter kiválasztása</translation>
+ <translation>Kijelölés a következő karakterig</translation>
</message>
<message>
<location line="+3"/>
<source>Select to the previous character</source>
- <translation>Az előző karakter kiválasztása</translation>
+ <translation>Kijelölés az előző karakterig</translation>
</message>
<message>
<location line="+3"/>
<source>Select to the next word</source>
- <translation>A következő szó kiválasztása</translation>
+ <translation>Kijelölés a következő szóig</translation>
</message>
<message>
<location line="+3"/>
<source>Select to the previous word</source>
- <translation>Az előző szó kiválasztása</translation>
+ <translation>Kijelölés az előző szóig</translation>
</message>
<message>
<location line="+3"/>
<source>Select to the next line</source>
- <translation>A következő sor kiválasztása</translation>
+ <translation>Kijelölés a következő sorig</translation>
</message>
<message>
<location line="+3"/>
<source>Select to the previous line</source>
- <translation>Az előző sor kiválasztása</translation>
+ <translation>Kijelölés az előző sorig</translation>
</message>
<message>
<location line="+3"/>
<source>Select to the start of the line</source>
- <translation>A sor elejének kiválasztása</translation>
+ <translation>Kijelölés a sor elejéig</translation>
</message>
<message>
<location line="+3"/>
<source>Select to the end of the line</source>
- <translation>A sor végének kiválasztása</translation>
+ <translation>Kijelölés a sor végéig</translation>
</message>
<message>
<location line="+3"/>
<source>Select to the start of the block</source>
- <translation>A blokk elejének kiválsztása</translation>
+ <translation>Kijelölés a blokk elejéig</translation>
</message>
<message>
<location line="+3"/>
<source>Select to the end of the block</source>
- <translation>A blokk végének kiválasztása</translation>
+ <translation>Kijelölés a blokk végéig</translation>
</message>
<message>
<location line="+3"/>
<source>Select to the start of the document</source>
- <translation>A dokumentum elejének kiválasztása</translation>
+ <translation>Kijelölés a dokumentum elejéig</translation>
</message>
<message>
<location line="+3"/>
<source>Select to the end of the document</source>
- <translation>A dokumentum végének kiválasztása</translation>
+ <translation>Kijelölés a dokumentum végéig</translation>
</message>
<message>
<location line="+3"/>
<source>Delete to the start of the word</source>
- <translation>A szó elejének törlése</translation>
+ <translation>Törlés a szó elejéig</translation>
</message>
<message>
<location line="+3"/>
<source>Delete to the end of the word</source>
- <translation>A szó végének törlése</translation>
+ <translation>Törlés a szó végéig</translation>
</message>
<message>
<location line="+33"/>
<source>Insert a new paragraph</source>
- <translation>Egy új bekezdés beszúrása</translation>
+ <translation>Új bekezdés beszúrása</translation>
</message>
<message>
<location line="+3"/>
<source>Insert a new line</source>
- <translation>Egy új sor beszúrása</translation>
+ <translation>Új sor beszúrása</translation>
</message>
<message>
<location line="+4"/>
<source>Paste and Match Style</source>
- <translation>Stílus beillesztése és összepasszintása</translation>
+ <translation>Beillesztés stílusegyeztetéssel</translation>
</message>
<message>
<location line="+3"/>
<source>Remove formatting</source>
- <translation>Formázás eltávolítása</translation>
+ <translation>A formázás törlése</translation>
</message>
<message>
<location line="+4"/>
<source>Strikethrough</source>
- <translation>Áthúzás</translation>
+ <translation>Áthúzva</translation>
</message>
<message>
<location line="+4"/>
@@ -7656,7 +10808,7 @@ Kérem válasszon egy különböző fájl nevet.</translation>
<message>
<location line="+4"/>
<source>Insert Bulleted List</source>
- <translation>Hivatalos közlemény lista beszúrása</translation>
+ <translation>Pontozott lista beszúrása</translation>
</message>
<message>
<location line="+4"/>
@@ -7666,32 +10818,32 @@ Kérem válasszon egy különböző fájl nevet.</translation>
<message>
<location line="+4"/>
<source>Indent</source>
- <translation>Behúzás</translation>
+ <translation>Behúzás növelése</translation>
</message>
<message>
<location line="+3"/>
<source>Outdent</source>
- <translation>Behúzás kifelé</translation>
+ <translation>Behúzás csökkentése</translation>
</message>
<message>
<location line="+3"/>
<source>Center</source>
- <translation>Közép</translation>
+ <translation>Középre igazítás</translation>
</message>
<message>
<location line="+3"/>
<source>Justify</source>
- <translation>Igazolás</translation>
+ <translation>Sorkizárás</translation>
</message>
<message>
<location line="+3"/>
<source>Align Left</source>
- <translation>Balra állít</translation>
+ <translation>Balra igazítás</translation>
</message>
<message>
<location line="+3"/>
<source>Align Right</source>
- <translation>Jobbra állít</translation>
+ <translation>Jobbra igazítás</translation>
</message>
</context>
<context>
@@ -7705,7 +10857,7 @@ Kérem válasszon egy különböző fájl nevet.</translation>
<context>
<name>QWidget</name>
<message>
- <location filename="../src/gui/kernel/qwidget.cpp" line="+5720"/>
+ <location filename="../src/gui/kernel/qwidget.cpp" line="+5802"/>
<source>*</source>
<translation>*</translation>
</message>
@@ -7713,12 +10865,31 @@ Kérem válasszon egy különböző fájl nevet.</translation>
<context>
<name>QWizard</name>
<message>
- <location filename="../src/gui/dialogs/qwizard.cpp" line="+661"/>
- <source>Cancel</source>
- <translation>Mégse</translation>
+ <location filename="../src/gui/dialogs/qwizard.cpp" line="+689"/>
+ <source>Go Back</source>
+ <translation>Visszalépés</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>Continue</source>
+ <translation>Folytatás</translation>
+ </message>
+ <message>
+ <location line="+5"/>
+ <source>Commit</source>
+ <translation>Véglegesítés</translation>
</message>
<message>
<location line="+2"/>
+ <source>Done</source>
+ <translation>Kész</translation>
+ </message>
+ <message>
+ <source>Quit</source>
+ <translation type="obsolete">Kilépés</translation>
+ </message>
+ <message>
+ <location line="+4"/>
<source>Help</source>
<translation>Súgó</translation>
</message>
@@ -7733,32 +10904,17 @@ Kérem válasszon egy különböző fájl nevet.</translation>
<translation>&amp;Befejezés</translation>
</message>
<message>
- <location line="+4"/>
- <source>&amp;Help</source>
- <translation>&amp;Súgó</translation>
- </message>
- <message>
- <location line="-14"/>
- <source>Go Back</source>
- <translation>Vissza ugrás</translation>
- </message>
- <message>
- <location line="+3"/>
- <source>Continue</source>
- <translation>Folytatás</translation>
- </message>
- <message>
- <location line="+5"/>
- <source>Commit</source>
- <translation>Kommit</translation>
+ <location line="+2"/>
+ <source>Cancel</source>
+ <translation>Mégsem</translation>
</message>
<message>
<location line="+2"/>
- <source>Done</source>
- <translation>Kész</translation>
+ <source>&amp;Help</source>
+ <translation>&amp;Súgó</translation>
</message>
<message>
- <location line="-4"/>
+ <location line="-8"/>
<source>&amp;Next</source>
<translation>&amp;Következő</translation>
</message>
@@ -7778,7 +10934,7 @@ Kérem válasszon egy különböző fájl nevet.</translation>
<message>
<location line="+1"/>
<source>&amp;Move</source>
- <translation>&amp;Mozgatás</translation>
+ <translation>Á&amp;thelyezés</translation>
</message>
<message>
<location line="+1"/>
@@ -7788,12 +10944,12 @@ Kérem válasszon egy különböző fájl nevet.</translation>
<message>
<location line="+2"/>
<source>Mi&amp;nimize</source>
- <translation>&amp;Minimalizálás</translation>
+ <translation>&amp;Kis méret</translation>
</message>
<message>
<location line="+2"/>
<source>Ma&amp;ximize</source>
- <translation>Ma&amp;ximalizálás</translation>
+ <translation>Te&amp;ljes méret</translation>
</message>
<message>
<location line="+2"/>
@@ -7803,17 +10959,29 @@ Kérem válasszon egy különböző fájl nevet.</translation>
<message>
<location line="+6"/>
<source>Stay on &amp;Top</source>
- <translation>&amp;Tetején maradni</translation>
+ <translation>Mindig leg&amp;felül</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <location line="+1059"/>
+ <source>Sh&amp;ade</source>
+ <translation>&amp;Felcsukás</translation>
</message>
<message>
- <location line="-988"/>
+ <location line="-278"/>
+ <location line="+60"/>
+ <source>%1 - [%2]</source>
+ <translation>%1 - [%2]</translation>
+ </message>
+ <message>
+ <location line="-1832"/>
<source>Minimize</source>
- <translation>Minimalizálás</translation>
+ <translation>Kis méret</translation>
</message>
<message>
<location line="+2"/>
<source>Restore Down</source>
- <translation>Letárolás</translation>
+ <translation>Előző méret</translation>
</message>
<message>
<location line="-4"/>
@@ -7821,21 +10989,9 @@ Kérem válasszon egy különböző fájl nevet.</translation>
<translation>Bezárás</translation>
</message>
<message>
- <location line="+993"/>
- <location line="+1059"/>
- <source>Sh&amp;ade</source>
- <translation>Árnya&amp;lat</translation>
- </message>
- <message>
- <location line="-278"/>
- <location line="+60"/>
- <source>%1 - [%2]</source>
- <translation>%1 - [%2]</translation>
- </message>
- <message>
- <location line="+214"/>
+ <location line="+2048"/>
<source>&amp;Unshade</source>
- <translation>&amp;Leeresztés</translation>
+ <translation>&amp;Lenyitás</translation>
</message>
</context>
<context>
@@ -7848,32 +11004,32 @@ Kérem válasszon egy különböző fájl nevet.</translation>
<message>
<location line="+1"/>
<source>error triggered by consumer</source>
- <translation>Ügyfél által előidézett hiba</translation>
+ <translation>feldolgozó által kiváltott hiba</translation>
</message>
<message>
<location line="+1"/>
<source>unexpected end of file</source>
- <translation>Váratlan fájlvég</translation>
+ <translation>váratlan fájlvég</translation>
</message>
<message>
<location line="+1"/>
<source>more than one document type definition</source>
- <translation>Több mint egy dokumentum típus definíció</translation>
+ <translation>több dokumentumtípus definíció</translation>
</message>
<message>
<location line="+1"/>
<source>error occurred while parsing element</source>
- <translation>Hiba történt az elem elemzése közben</translation>
+ <translation>hiba az elem értelmezésénél</translation>
</message>
<message>
<location line="+1"/>
<source>tag mismatch</source>
- <translation>Nem egyező címke</translation>
+ <translation>eltérő tag hiba</translation>
</message>
<message>
<location line="+1"/>
<source>error occurred while parsing content</source>
- <translation>Hiba történt a tartalom elemzése közben</translation>
+ <translation>hiba a tartalom értelmezésénél</translation>
</message>
<message>
<location line="+1"/>
@@ -7883,77 +11039,77 @@ Kérem válasszon egy különböző fájl nevet.</translation>
<message>
<location line="+1"/>
<source>invalid name for processing instruction</source>
- <translation>érvénytelen név az utasítás feldolgozására</translation>
+ <translation>érvénytelen feldolgozási utasítás név</translation>
</message>
<message>
<location line="+1"/>
<source>version expected while reading the XML declaration</source>
- <translation>várt verzió az XML deklaráció olvasása közben</translation>
+ <translation>az XML deklaráció nem tartalmaz verzióinformációt</translation>
</message>
<message>
<location line="+1"/>
<source>wrong value for standalone declaration</source>
- <translation>Hibás egyedülálló deklaráció érték</translation>
+ <translation>érvénytelen érték önálló deklarációban</translation>
</message>
<message>
- <location line="+3"/>
+ <location line="+1"/>
+ <source>encoding declaration or standalone declaration expected while reading the XML declaration</source>
+ <translation>az XML deklarációból hiányzik a kódolási információ vagy egy önálló deklaráció</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>standalone declaration expected while reading the XML declaration</source>
+ <translation>az XML deklarációból hiányzik az önálló deklaráció</translation>
+ </message>
+ <message>
+ <location line="+1"/>
<source>error occurred while parsing document type definition</source>
- <translation>Hiba történt a dokumentum típus definíció elemzése közben</translation>
+ <translation>hiba a dokumentumtípus definíció értelmezésénél</translation>
</message>
<message>
<location line="+1"/>
<source>letter is expected</source>
- <translation>betű várt</translation>
+ <translation>a várt elem betű</translation>
</message>
<message>
<location line="+1"/>
<source>error occurred while parsing comment</source>
- <translation>hiba történt az elemző megjegyzés előfordulása közben</translation>
+ <translation>hiba a megjegyzés értelmezésénél</translation>
</message>
<message>
<location line="+1"/>
<source>error occurred while parsing reference</source>
- <translation>Hiba történt az elemző hivatkozás előfordulása közben</translation>
+ <translation>hiba a hivatkozás értelmezésénél</translation>
</message>
<message>
<location line="+1"/>
<source>internal general entity reference not allowed in DTD</source>
- <translation>A DTD-ben nem engedélyezett a belső általános valós hivatkozás</translation>
+ <translation>A DTD-ben nem engedélyezett belső általános entitás használata</translation>
</message>
<message>
<location line="+1"/>
<source>external parsed general entity reference not allowed in attribute value</source>
- <translation>Az attribútum értékben nem engedélyezett a külsőleg elemzett általános valós hivatkozás</translation>
+ <translation>külső feldolgozású általános entitáshivatkozás nem engedélyezett attribútum értékében</translation>
</message>
<message>
<location line="+1"/>
<source>external parsed general entity reference not allowed in DTD</source>
- <translation>A DTD-ben nem engedélyezett a külsőleg elemzett általános valós hivatkozás</translation>
+ <translation>külső feldolgozású általános entitáshivatkozás nem engedélyezett a DTD-ben</translation>
</message>
<message>
<location line="+1"/>
<source>unparsed entity reference in wrong context</source>
- <translation>Hivatkozás egy nem értelmezett entitásra hibás összefüggésben</translation>
+ <translation>nem értelmezett entitás referencia egy rossz kontextusban</translation>
</message>
<message>
<location line="+1"/>
<source>recursive entities</source>
- <translation>Rekurzív entitások</translation>
+ <translation>rekurzív entitások</translation>
</message>
<message>
<location line="+1"/>
<source>error in the text declaration of an external entity</source>
- <translation>Hiba egy külső entitás szöveg deklarációjában</translation>
- </message>
- <message>
- <location line="-11"/>
- <source>encoding declaration or standalone declaration expected while reading the XML declaration</source>
- <translation>Kódolása deklaráció vagy egyedülálló deklaráció várt az XML deklaráció olvasása közben</translation>
- </message>
- <message>
- <location line="+1"/>
- <source>standalone declaration expected while reading the XML declaration</source>
- <translation>Egyedülálló deklaráció várt az XML deklaráció olvasása közben</translation>
+ <translation>hiba egy külső entitás szövegdeklarációjában</translation>
</message>
</context>
<context>
@@ -7961,27 +11117,27 @@ Kérem válasszon egy különböző fájl nevet.</translation>
<message>
<location filename="../src/xmlpatterns/api/qcoloringmessagehandler.cpp" line="+87"/>
<source>Warning in %1, at line %2, column %3: %4</source>
- <translation>Figyelmeztetés %1-ben, %2 sorban, %3 oszlopban: %4</translation>
+ <translation>Figyelmeztetés a(z) %1 helyen, sor %2, oszlop %3: %4</translation>
</message>
<message>
<location line="+7"/>
<source>Warning in %1: %2</source>
- <translation>Figyelmeztetés %1-ben: %2</translation>
+ <translation>Figyelmeztetés a(z) %1 helyen: %2</translation>
</message>
<message>
<location line="+16"/>
<source>Unknown location</source>
- <translation>Ismeretlen elhelyezkedés</translation>
+ <translation>Ismeretlen hely</translation>
</message>
<message>
<location line="+14"/>
<source>Error %1 in %2, at line %3, column %4: %5</source>
- <translation>%1 hiba %2-ben, %3 sorban, %4 oszlopban: %5</translation>
+ <translation>%1 hiba a(z) %2 %3. sorának %4. oszlopában: %5</translation>
</message>
<message>
<location line="+8"/>
<source>Error %1 in %2: %3</source>
- <translation>%1 hiba %2-ben: %3</translation>
+ <translation>%1 hiba a(z) %2 helyen: %3</translation>
</message>
</context>
<context>
@@ -7990,7 +11146,7 @@ Kérem válasszon egy különböző fájl nevet.</translation>
<location filename="../src/corelib/xml/qxmlstream.cpp" line="+611"/>
<location filename="../src/corelib/xml/qxmlstream_p.h" line="+1770"/>
<source>Extra content at end of document.</source>
- <translation>Extra tartalom a dokumentum végén.</translation>
+ <translation>Nem várt tartalom a dokumentum végén.</translation>
</message>
<message>
<location line="+271"/>
@@ -8005,22 +11161,22 @@ Kérem válasszon egy különböző fájl nevet.</translation>
<message>
<location line="+259"/>
<source>Sequence &apos;]]&gt;&apos; not allowed in content.</source>
- <translation>&apos;]]&gt;&apos; sor nem engedélyezett a tartalomban.</translation>
+ <translation>&apos;]]&gt;&apos; szekvencia nem megengedett a tartalomban.</translation>
</message>
<message>
<location line="+309"/>
<source>Namespace prefix &apos;%1&apos; not declared</source>
- <translation>&apos;%1&apos; névtér előtag nincsen deklarálva</translation>
+ <translation>A(z) &apos;%1&apos; névtér prefixum nincs deklarálva</translation>
</message>
<message>
<location line="+78"/>
<source>Attribute redefined.</source>
- <translation>Attribútum újradefiniálva.</translation>
+ <translation>Az attributum újra lett definiálva.</translation>
</message>
<message>
<location line="+115"/>
<source>Unexpected character &apos;%1&apos; in public id literal.</source>
- <translation>Váratlan karakter &apos;%1&apos; a publikus azonosító literál.</translation>
+ <translation>Váratlan &apos;%1&apos; karakter a publikus id literálban.</translation>
</message>
<message>
<location line="+28"/>
@@ -8035,17 +11191,17 @@ Kérem válasszon egy különböző fájl nevet.</translation>
<message>
<location line="+23"/>
<source>%1 is an invalid encoding name.</source>
- <translation>%1 egy érvénytelen kódolási név.</translation>
+ <translation>%1 nem egy érvényes kódolás név.</translation>
</message>
<message>
<location line="+7"/>
<source>Encoding %1 is unsupported</source>
- <translation>%1 kódolás nem támogatva</translation>
+ <translation>%1 kódolás nem támogatott</translation>
</message>
<message>
<location line="+16"/>
<source>Standalone accepts only yes or no.</source>
- <translation>Egyedülálló elfogadás kizárólas igen vagy nem.</translation>
+ <translation>Csak igen vagy nem lehet az értéke.</translation>
</message>
<message>
<location line="+2"/>
@@ -8055,7 +11211,7 @@ Kérem válasszon egy különböző fájl nevet.</translation>
<message>
<location line="+16"/>
<source>Premature end of document.</source>
- <translation>Túl korai dokumentum vég.</translation>
+ <translation>A dokumentum hirtelen véget ért.</translation>
</message>
<message>
<location line="+2"/>
@@ -8065,12 +11221,12 @@ Kérem válasszon egy különböző fájl nevet.</translation>
<message>
<location line="+40"/>
<source>Expected </source>
- <translation>Várt</translation>
+ <translation>Várt </translation>
</message>
<message>
<location line="+11"/>
<source>, but got &apos;</source>
- <translation>, pedig megkapta &apos;</translation>
+ <translation>, de ezt kaptam: &apos;</translation>
</message>
<message>
<location line="+4"/>
@@ -8080,37 +11236,37 @@ Kérem válasszon egy különböző fájl nevet.</translation>
<message>
<location line="+225"/>
<source>Expected character data.</source>
- <translation>Várt karakter adat.</translation>
+ <translation>Karakteres adat szükséges.</translation>
</message>
<message>
<location filename="../src/corelib/xml/qxmlstream_p.h" line="-995"/>
<source>Recursive entity detected.</source>
- <translation>Rekurzív entitás észlelve.</translation>
+ <translation>Rekurzív entitást találtam.</translation>
</message>
<message>
<location line="+516"/>
<source>Start tag expected.</source>
- <translation>Kezdő címke várva.</translation>
+ <translation>Kezdő tag szükséges.</translation>
</message>
<message>
<location line="+222"/>
<source>XML declaration not at start of document.</source>
- <translation>XML deklaráció nem a dokumentum elején található.</translation>
+ <translation>Az XML deklaráció nem a dokumentum elején kezdődik.</translation>
</message>
<message>
<location line="-31"/>
<source>NDATA in parameter entity declaration.</source>
- <translation>NDATA a paraméter entitás deklarációban.</translation>
+ <translation>NDATA a paraméter-entitás deklarációjában.</translation>
</message>
<message>
<location line="+34"/>
<source>%1 is an invalid processing instruction name.</source>
- <translation>%1 egy érvénytelen feldolgozó utasítás neve.</translation>
+ <translation>%1 érvénytelen feldolgozási utasítás név.</translation>
</message>
<message>
<location line="+11"/>
<source>Invalid processing instruction name.</source>
- <translation>Érvénytelen feldolgozó utasítás név.</translation>
+ <translation>Érvénytelen feldolgozási utasítás név.</translation>
</message>
<message>
<location filename="../src/corelib/xml/qxmlstream.cpp" line="-536"/>
@@ -8118,7 +11274,7 @@ Kérem válasszon egy különböző fájl nevet.</translation>
<location filename="../src/corelib/xml/qxmlstream_p.h" line="+164"/>
<location line="+53"/>
<source>Illegal namespace declaration.</source>
- <translation>Illegális névtér deklarációk.</translation>
+ <translation>Érvénytelen névtér deklaráció.</translation>
</message>
<message>
<location filename="../src/corelib/xml/qxmlstream_p.h" line="+15"/>
@@ -8128,287 +11284,63 @@ Kérem válasszon egy különböző fájl nevet.</translation>
<message>
<location line="+23"/>
<source>Opening and ending tag mismatch.</source>
- <translation>Nyitó és záró címkék nem egyeznek.</translation>
+ <translation>A nyitó és a záró tag nem egyezik.</translation>
</message>
<message>
<location line="+18"/>
<source>Reference to unparsed entity &apos;%1&apos;.</source>
- <translation>Hivatkozás egy nem értelmezett entitásra &apos;%1&apos;.</translation>
+ <translation>Hivatkozás egy nem értelmezett entitásra: &apos;%1&apos;.</translation>
</message>
<message>
<location line="-13"/>
<location line="+61"/>
<location line="+40"/>
<source>Entity &apos;%1&apos; not declared.</source>
- <translation>&apos;%1&apos; entitás nincsen deklarálva.</translation>
+ <translation>&apos;%1&apos; entitás nincs deklarálva.</translation>
</message>
<message>
<location line="-26"/>
<source>Reference to external entity &apos;%1&apos; in attribute value.</source>
- <translation>Hivatkozás egy külső entitásra &apos;%1&apos; az attribútum értékben.</translation>
+ <translation>Hivatkozás &apos;%1&apos; külső entitásra attribútum értékben.</translation>
</message>
<message>
<location line="+40"/>
<source>Invalid character reference.</source>
- <translation>Érvénytelen karakter hivatkozás.</translation>
+ <translation>Érvénytelen karakterhivatkozás.</translation>
</message>
<message>
<location filename="../src/corelib/xml/qxmlstream.cpp" line="-75"/>
<location filename="../src/corelib/xml/qxmlstream_p.h" line="-823"/>
<source>Encountered incorrectly encoded content.</source>
- <translation>Helytelen kódolási tartalommal találta szembe magát.</translation>
+ <translation>Hibás kódolású tartalom.</translation>
</message>
<message>
<location line="+274"/>
<source>The standalone pseudo attribute must appear after the encoding.</source>
- <translation>Az egyedülálló ál attribútumnak a kódolás után kell feltűnnie.</translation>
+ <translation>Az egyedülálló pszeudo-attribútumnak a kódolás után kell szerepelnie.</translation>
</message>
<message>
<location filename="../src/corelib/xml/qxmlstream_p.h" line="+562"/>
<source>%1 is an invalid PUBLIC identifier.</source>
- <translation>%1 egy érvénytelen PUBLIC-us azonosító.</translation>
+ <translation>%1 egy érvénytelen PUBLIC azonosító.</translation>
</message>
</context>
<context>
<name>QtXmlPatterns</name>
<message>
- <location filename="../src/xmlpatterns/data/qabstractduration.cpp" line="+99"/>
- <location line="+15"/>
- <source>At least one component must be present.</source>
- <translation>Legalább egy komponenset be kell nyújtani.</translation>
- </message>
- <message>
- <location filename="../src/xmlpatterns/data/qanyuri_p.h" line="+132"/>
- <source>%1 is not a valid value of type %2.</source>
- <translation>%1 nem egy érvény értéke a(z) %2 típusnak.</translation>
- </message>
- <message>
- <location filename="../src/xmlpatterns/data/qatomiccasters_p.h" line="+223"/>
- <source>When casting to %1 from %2, the source value cannot be %3.</source>
- <translation>A(z) %1-ről %2-re történő kasztoláskor, a forrás érték nem lehet %3.</translation>
- </message>
- <message>
- <location filename="../src/xmlpatterns/data/qboolean.cpp" line="+78"/>
- <source>Effective Boolean Value cannot be calculated for a sequence containing two or more atomic values.</source>
- <translation>Hatékony logikai értéket nem lehet egy sor számára kiszámítani, amely kettő vagy több atomikus értéket tartalmaz.</translation>
- </message>
- <message>
- <location filename="../src/xmlpatterns/expr/qprocessinginstructionconstructor.cpp" line="+84"/>
- <source>The data of a processing instruction cannot contain the string %1</source>
- <translation>Egy feldolgozó utasítás adata nem tartalmazhat %1 sztringet</translation>
- </message>
- <message>
- <location filename="../src/xmlpatterns/expr/qqnameconstructor_p.h" line="+168"/>
- <location filename="../src/xmlpatterns/functions/qqnamefns.cpp" line="+69"/>
- <source>%1 is an invalid %2</source>
- <translation>%1 egy érvénytelen %2</translation>
- </message>
- <message>
- <location filename="../src/xmlpatterns/functions/qassemblestringfns.cpp" line="+88"/>
- <source>%1 is not a valid XML 1.0 character.</source>
- <translation>%1 egy érvénytelen 1.0 XML karakter.</translation>
- </message>
- <message>
- <location filename="../src/xmlpatterns/functions/qerrorfn.cpp" line="+61"/>
- <source>%1 was called.</source>
- <translation>%1 lett meghívva.</translation>
- </message>
- <message>
- <location filename="../src/xmlpatterns/functions/qpatternmatchingfns.cpp" line="+133"/>
- <source>In the replacement string, %1 must be followed by at least one digit when not escaped.</source>
- <translation>A kicserélési sztrinben, %1 -t legalább egy számnak kell követnie nem meneküléskor.</translation>
- </message>
- <message>
- <location line="+26"/>
- <source>In the replacement string, %1 can only be used to escape itself or %2, not %3</source>
- <translation>A kicserelési sztringben, %1-t csak magának a(z) %2 vagy %3 menekülésére lehet használni</translation>
- </message>
- <message>
- <location filename="../src/xmlpatterns/functions/qpatternplatform.cpp" line="+92"/>
- <source>%1 matches newline characters</source>
- <translation>%1 megegyező újsor karakterek</translation>
- </message>
- <message>
- <location line="+10"/>
- <source>Matches are case insensitive</source>
- <translation>Az egyezés kis és nagybetűre nem érzékeny</translation>
- </message>
- <message>
- <location line="+104"/>
- <source>%1 is an invalid regular expression pattern: %2</source>
- <translation>%1 egy érvénytelen reguláris kifejezés minta: %2</translation>
- </message>
- <message>
- <location filename="../src/xmlpatterns/functions/qsequencefns.cpp" line="+346"/>
- <source>It will not be possible to retrieve %1.</source>
- <translation>Nem lesz lehetséges kinyerni %1.</translation>
- </message>
- <message>
- <location filename="../src/xmlpatterns/functions/qsequencegeneratingfns.cpp" line="+266"/>
- <source>The default collection is undefined</source>
- <translation>Az alapértelmezett gyűjtemény nincs definiálva</translation>
- </message>
- <message>
- <location line="+13"/>
- <source>%1 cannot be retrieved</source>
- <translation>%1 nem lehet megszerezni</translation>
- </message>
- <message>
- <location filename="../src/xmlpatterns/janitors/qitemverifier.cpp" line="+67"/>
- <source>The item %1 did not match the required type %2.</source>
- <translation>A(z) %1 elem nem egyezik a szükséges típussal %2.</translation>
- </message>
- <message>
- <location filename="../src/xmlpatterns/parser/qquerytransformparser.cpp" line="+352"/>
- <location line="+7323"/>
- <source>%1 is an unknown schema type.</source>
- <translation>%1 egy ismeretlen terv típus.</translation>
- </message>
- <message>
- <location line="-7254"/>
- <source>A template with name %1 has already been declared.</source>
- <translation>Egy %1 nevű sablon már deklarálva van.</translation>
- </message>
- <message>
- <location line="+213"/>
- <source>Only one %1 declaration can occur in the query prolog.</source>
- <translation>Kizárólag egy %1 deklaráció fordulhat elő a kérdéses előszóban.</translation>
- </message>
- <message>
- <location line="+188"/>
- <source>The initialization of variable %1 depends on itself</source>
- <translation>A(z) %1 változó inicializálása önmagától függ</translation>
- </message>
- <message>
- <location filename="../src/xmlpatterns/parser/qparsercontext.cpp" line="+93"/>
- <source>The variable %1 is unused</source>
- <translation>A(z) %1 változó nincsen használva</translation>
- </message>
- <message>
- <location filename="../src/xmlpatterns/parser/qquerytransformparser.cpp" line="+2904"/>
- <source>Version %1 is not supported. The supported XQuery version is 1.0.</source>
- <translation>%1-es verzió nem támogatott. A támogatott XQuery verzió az 1.0.</translation>
- </message>
- <message>
- <location line="+71"/>
- <source>No function with signature %1 is available</source>
- <translation>Nincs %1 aláírással rendelkező függvény</translation>
+ <location filename="../src/xmlpatterns/acceltree/qacceltreeresourceloader.cpp" line="+344"/>
+ <source>%1 is an unsupported encoding.</source>
+ <translation>%1 nem támogatott kódolás.</translation>
</message>
<message>
- <location line="+303"/>
- <source>It is not possible to redeclare prefix %1.</source>
- <translation>Nem lehetséges a(z) %1 előtag újradeklarálása.</translation>
+ <location line="+16"/>
+ <source>%1 contains octets which are disallowed in the requested encoding %2.</source>
+ <translation>%1 olyan okteteket tartalmaz, amelyek nem megengedettek a kért %2 kódolásban.</translation>
</message>
<message>
<location line="+18"/>
- <source>Prefix %1 is already declared in the prolog.</source>
- <translation>%1 előtag már deklarálva van az előszóban.</translation>
- </message>
- <message>
- <location line="+95"/>
- <source>The name of an option must have a prefix. There is no default namespace for options.</source>
- <translation>Az opció nevének tartalmaznia kell egy előtagot. Nincs alapértelmezett névtér ezekre az opciókra.</translation>
- </message>
- <message>
- <location line="+171"/>
- <source>The Schema Import feature is not supported, and therefore %1 declarations cannot occur.</source>
- <translation>A terv importálása tulajdonság nem támogatott, és ennek következtében a(z) %1 deklarációk nem fordulhatnak elő.</translation>
- </message>
- <message>
- <location line="+13"/>
- <source>The target namespace of a %1 cannot be empty.</source>
- <translation>Egy %1 cél névtere nem lehet üres.</translation>
- </message>
- <message>
- <location line="+8"/>
- <source>The module import feature is not supported</source>
- <translation>A modul importáló tulajdonság nem támogatott</translation>
- </message>
- <message>
- <location line="+178"/>
- <source>The namespace of a user defined function in a library module must be equivalent to the module namespace. In other words, it should be %1 instead of %2</source>
- <translation>Egy felhasználó által definiált függvény névterének egy könyvtár modulban megfelelőnek kell lenni a modul névtérrel. Más szóval, %1-nek kellene lennie %2 helyett</translation>
- </message>
- <message>
- <location line="+34"/>
- <source>A function already exists with the signature %1.</source>
- <translation>Egy függvény már létezik ezzel az aláírással %1.</translation>
- </message>
- <message>
- <location line="+23"/>
- <source>No external functions are supported. All supported functions can be used directly, without first declaring them as external</source>
- <translation>Kulső függvények nincsenek támogatva. Az összes támogatott függvényt lehet közvetlenül haszálni, az első külső deklarálásuk nélkül</translation>
- </message>
- <message>
- <location line="+1709"/>
- <source>The %1-axis is unsupported in XQuery</source>
- <translation>A(z) %1 tengely nem támogatott az XQuery-ben</translation>
- </message>
- <message>
- <location line="+435"/>
- <source>The namespace URI cannot be the empty string when binding to a prefix, %1.</source>
- <translation>Az URI névtér nem lehet üres sztring egy előtaghoz való összeköttetéskor, %1.</translation>
- </message>
- <message>
- <location line="+7"/>
- <source>%1 is an invalid namespace URI.</source>
- <translation>%1 egy érvénytelen URI névtér.</translation>
- </message>
- <message>
- <location line="+6"/>
- <source>It is not possible to bind to the prefix %1</source>
- <translation>Nem lehetséges a(z) %1 előtaggal összekötni</translation>
- </message>
- <message>
- <location line="+30"/>
- <source>Two namespace declaration attributes have the same name: %1.</source>
- <translation>Két névtér deklaráció attribútumnak ugyanaz a neve: %1.</translation>
- </message>
- <message>
- <location line="+89"/>
- <source>The namespace URI must be a constant and cannot use enclosed expressions.</source>
- <translation>Az URI névtérnek állandónak kell lennie és nem használhat elhatárolt kifejezéseket.</translation>
- </message>
- <message>
- <location line="+699"/>
- <location line="+71"/>
- <source>%1 is not in the in-scope attribute declarations. Note that the schema import feature is not supported.</source>
- <translation>%1 nem a hatókör attribútum deklarációin belül található. Vegye figyelembe, hogy a terv importáló tulajdonság nem támogatott.</translation>
- </message>
- <message>
- <location filename="../src/xmlpatterns/type/qcardinality.cpp" line="+55"/>
- <source>empty</source>
- <translation>üres</translation>
- </message>
- <message>
- <location line="+2"/>
- <source>zero or one</source>
- <translation>nulla vagy egy</translation>
- </message>
- <message>
- <location line="+2"/>
- <source>exactly one</source>
- <translation>pontosan egy</translation>
- </message>
- <message>
- <location line="+2"/>
- <source>one or more</source>
- <translation>egy vagy több</translation>
- </message>
- <message>
- <location line="+2"/>
- <source>zero or more</source>
- <translation>nulla vagy több</translation>
- </message>
- <message>
- <location filename="../src/xmlpatterns/type/qtypechecker.cpp" line="+156"/>
- <source>The focus is undefined.</source>
- <translation>A fókusz nincs definiálva.</translation>
- </message>
- <message>
- <location filename="../src/xmlpatterns/utils/qoutputvalidator.cpp" line="+93"/>
- <source>An attribute by name %1 has already been created.</source>
- <translation>Egy %1 nevű attribútum már létre lett hozva.</translation>
+ <source>The codepoint %1, occurring in %2 using encoding %3, is an invalid XML character.</source>
+ <translation>%1 kódrészlet %2 helyen, %3 kódolással érvénytelen XML karakter.</translation>
</message>
<message>
<location filename="../src/xmlpatterns/api/qiodevicedelegate.cpp" line="+84"/>
@@ -8418,7 +11350,12 @@ Kérem válasszon egy különböző fájl nevet.</translation>
<message>
<location filename="../src/xmlpatterns/api/qxmlserializer.cpp" line="+320"/>
<source>Element %1 can&apos;t be serialized because it appears outside the document element.</source>
- <translation>%1 elemet nem lehet besorolni, mert úgy tűnik a dokumentum elem külső oldalán található.</translation>
+ <translation>%1 elem nem szerializálható, mert a document elemen kívül szerepel.</translation>
+ </message>
+ <message>
+ <location line="+60"/>
+ <source>Attribute %1 can&apos;t be serialized because it appears at the top level.</source>
+ <translation>%1 attribútum nem szerializálható, mert legfelső szinten szerepel.</translation>
</message>
<message>
<location filename="../src/xmlpatterns/data/qabstractdatetime.cpp" line="+80"/>
@@ -8428,893 +11365,1127 @@ Kérem válasszon egy különböző fájl nevet.</translation>
<message>
<location line="+19"/>
<source>Day %1 is outside the range %2..%3.</source>
- <translation>%1 nap a tartomány külsp oldalán van %2..%3.</translation>
+ <translation>A(z) %1. nap nem esik %2 és %3 közé.</translation>
</message>
<message>
<location line="+7"/>
<source>Month %1 is outside the range %2..%3.</source>
- <translation>%1 hónap a tartomány külső felületén van %2..%3.</translation>
+ <translation>A(z) %1. hónap nem esik %2 és %3 közé.</translation>
</message>
<message>
<location line="+10"/>
<source>Overflow: Can&apos;t represent date %1.</source>
- <translation>Túlcsordulás: Nem lehet feltünteti a(z) %1 dátumot.</translation>
+ <translation>Túlcsordulás: A(z) %1 dátum nem reprezentálható.</translation>
</message>
<message>
<location line="+9"/>
<source>Day %1 is invalid for month %2.</source>
- <translation>%1 nap érvénytelen a(z) %2 hónapra vonatkozólag.</translation>
+ <translation>Nincs %1 nap %2 hónapban.</translation>
</message>
<message>
<location line="+49"/>
<source>Time 24:%1:%2.%3 is invalid. Hour is 24, but minutes, seconds, and milliseconds are not all 0; </source>
- <translation>Idő 24:%1:%2:%3 érvénytelen. Az óra 24, de a perc, másodperc, és milliszekundum egyáltalán nem 0; </translation>
+ <translation>Az 24:%1:%2.%3 időpont érvénytelen, mert az óra értéke 24, de a többi érték nem 0; </translation>
</message>
<message>
<location line="+13"/>
<source>Time %1:%2:%3.%4 is invalid.</source>
- <translation>Idő %1:%2:%3.%4 érvénytelen.</translation>
+ <translation>Az %1:%2:%3.%4 időpont érvénytelen.</translation>
</message>
<message>
<location line="+115"/>
<source>Overflow: Date can&apos;t be represented.</source>
- <translation>Túlcsordulás: A dátumot nem lehet feltüntetni.</translation>
+ <translation>Túlcsordulás: A dátum nem reprezentálható.</translation>
+ </message>
+ <message>
+ <location filename="../src/xmlpatterns/data/qabstractduration.cpp" line="+99"/>
+ <location line="+15"/>
+ <source>At least one component must be present.</source>
+ <translation>Legalább egy komponenst meg kell adni.</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/data/qabstractduration.cpp" line="-7"/>
+ <location line="-7"/>
<source>At least one time component must appear after the %1-delimiter.</source>
- <translation>Legalább egy idő komponensnek lennie kell a(z) %1 határolójel után.</translation>
+ <translation>Legalább egy időkomponenst meg kell adni a(z) %1 elválasztó után.</translation>
+ </message>
+ <message>
+ <location filename="../src/xmlpatterns/data/qanyuri_p.h" line="+132"/>
+ <source>%1 is not a valid value of type %2.</source>
+ <translation>%1 nem érvényes %2 típusú érték.</translation>
+ </message>
+ <message>
+ <location filename="../src/xmlpatterns/data/qatomiccasters_p.h" line="+223"/>
+ <source>When casting to %1 from %2, the source value cannot be %3.</source>
+ <translation>Ha %2-t %1-re kényszerítünk, a kiinduló érték nem lehet %3.</translation>
+ </message>
+ <message>
+ <location filename="../src/xmlpatterns/data/qatomicmathematicians.cpp" line="+65"/>
+ <source>Integer division (%1) by zero (%2) is undefined.</source>
+ <translation>A nullával (%2) való egészosztás (%1) nincs értelmezve.</translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>Division (%1) by zero (%2) is undefined.</source>
+ <translation>A nullával (%2) való osztás (%1) nincs értelmezve.</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/data/qatomicmathematicians.cpp" line="+201"/>
+ <location line="+7"/>
+ <source>Modulus division (%1) by zero (%2) is undefined.</source>
+ <translation>A nullával (%2) való maradékos osztás (%1) nincs értelmezve.</translation>
+ </message>
+ <message>
+ <location line="+122"/>
<location line="+32"/>
<source>Dividing a value of type %1 by %2 (not-a-number) is not allowed.</source>
- <translation>%1 típus értékének osztása egy %2(nem szám)-mal nem engedélyezett.</translation>
+ <translation>%1 típusú érték %2-vel osztása nem megengedett, mert az nem szám.</translation>
</message>
<message>
<location line="-20"/>
<source>Dividing a value of type %1 by %2 or %3 (plus or minus zero) is not allowed.</source>
- <translation>%1 típus értékének osztása egy %2 vagy %3(plusz vagy minusz nulla)-mal nem engedélyezett.</translation>
+ <translation>%1 típusú érték osztása %2 vagy %3 (pozitív vagy negatív nulla) értékkel nem megengedett.</translation>
</message>
<message>
<location line="+32"/>
<source>Multiplication of a value of type %1 by %2 or %3 (plus or minus infinity) is not allowed.</source>
- <translation>%1 típusú érték %2 vagy %3-mal való szorzása(plusz vagy minusz végtelen) nem engedélyezett.</translation>
+ <translation>%1 típusú érték szorzása %2 vagy %3 (pozitív vagy negatív végtelen) típusú értékkel nem megengedett.</translation>
</message>
<message>
<location filename="../src/xmlpatterns/data/qatomicvalue.cpp" line="+79"/>
<source>A value of type %1 cannot have an Effective Boolean Value.</source>
- <translation>%1 típusú értéknek nincsen hatékony logikai értéke.</translation>
+ <translation>%1 típusú érték nem kaphat effektív logikai értéket.</translation>
+ </message>
+ <message>
+ <location filename="../src/xmlpatterns/data/qboolean.cpp" line="+78"/>
+ <source>Effective Boolean Value cannot be calculated for a sequence containing two or more atomic values.</source>
+ <translation>Effektív logikai érték nem számítható olyan sorozatra, melyben kettő vagy több atomi érték szerepel.</translation>
</message>
<message>
<location filename="../src/xmlpatterns/data/qderivedinteger_p.h" line="+402"/>
<source>Value %1 of type %2 exceeds maximum (%3).</source>
- <translation>%2 típus %1 értéke elérte a maxiumot (%3).</translation>
+ <translation>A(z) %2 típusú %1 érték meghaladja a maximumot (%3).</translation>
</message>
<message>
<location line="+9"/>
<source>Value %1 of type %2 is below minimum (%3).</source>
- <translation>%1 típus %2 értéke a minimum alatt van (%3).</translation>
+ <translation>A(z) %2 típusú %1 érték kisebb, mint a minimum (%3).</translation>
</message>
<message>
<location filename="../src/xmlpatterns/data/qhexbinary.cpp" line="+91"/>
<source>A value of type %1 must contain an even number of digits. The value %2 does not.</source>
- <translation>%1 típus értékének tartalmaznia kell egy páratlan számú számot. A(z) %2 érték nem.</translation>
+ <translation>%1 típusú értékben páros számú számjegynek kell szerepelnie. A(z) %2 érték nem megfelelő.</translation>
</message>
<message>
<location line="+19"/>
<source>%1 is not valid as a value of type %2.</source>
- <translation>%1 érvénytelen %2 típusú értékként.</translation>
+ <translation>%1 nem érvényes %2 típusú érték.</translation>
+ </message>
+ <message>
+ <location filename="../src/xmlpatterns/expr/qapplytemplate.cpp" line="+119"/>
+ <source>Ambiguous rule match.</source>
+ <translation>Nem egyértelmű szabály illeszkedés.</translation>
</message>
<message>
<location filename="../src/xmlpatterns/expr/qarithmeticexpression.cpp" line="+207"/>
<source>Operator %1 cannot be used on type %2.</source>
- <translation>%1 műveletet nem lehet a(z) %2 típuson használni.</translation>
+ <translation>%1 operátor nem használható %2 típuson.</translation>
</message>
<message>
<location line="+17"/>
<source>Operator %1 cannot be used on atomic values of type %2 and %3.</source>
- <translation>%1 műveletet nem lehet a %2 és %3-as típusú atomikus értéken használni.</translation>
+ <translation>%1 operátor nem használható %2 és %3 típusok atomi értékein.</translation>
</message>
<message>
<location filename="../src/xmlpatterns/expr/qattributenamevalidator.cpp" line="+66"/>
<source>The namespace URI in the name for a computed attribute cannot be %1.</source>
- <translation>Az URI névtér a névben számított attribútumra nem lehet %1.</translation>
+ <translation>Egy számított attribútum nevében szereplő névtér URI-je nem lehet %1.</translation>
</message>
<message>
<location line="+9"/>
<source>The name for a computed attribute cannot have the namespace URI %1 with the local name %2.</source>
- <translation>Egy kiszámított attribútumnak nem lehet %1 URI névtere %2 helyi névvel.</translation>
+ <translation>Számított attribútum neve nem szerepelhet %1 névtér URI-ben %2 lokális névvel.</translation>
</message>
<message>
<location filename="../src/xmlpatterns/expr/qcastas.cpp" line="+88"/>
<source>Type error in cast, expected %1, received %2.</source>
- <translation>Típus hiba a kasztolásban, %1 várt, %2 kapott.</translation>
+ <translation>Típushiba a kényszerítés során, várt %1, kapott %2.</translation>
</message>
<message>
<location line="+29"/>
<source>When casting to %1 or types derived from it, the source value must be of the same type, or it must be a string literal. Type %2 is not allowed.</source>
- <translation>%1-re kasztoláskor vagy típus származtatáskor, a forrás értéknek ugyanolyan típusúnak kell lennie, vagy sztring literálnak kell lennie. %2 típus nem engedélyezett.</translation>
+ <translation>%1 vagy belőle származó típusra való kényszerítéskor a kiindulási értéknek azonos típusúnak vagy sztring literálnak kell lennie. %2 típus nem megengedett.</translation>
</message>
<message>
<location filename="../src/xmlpatterns/expr/qcommentconstructor.cpp" line="+67"/>
<source>A comment cannot contain %1</source>
- <translation>A megjegyzés nem tartalmazhat %1-t</translation>
+ <translation>Megjegyzésben nem szerepelhet %1</translation>
</message>
<message>
<location line="+6"/>
<source>A comment cannot end with a %1.</source>
- <translation>A megjegyzés nem végződget %1-gyel.</translation>
+ <translation>Egy megjegyzés nem végződhet a következőre: %1.</translation>
+ </message>
+ <message>
+ <location filename="../src/xmlpatterns/expr/qcomputednamespaceconstructor.cpp" line="+69"/>
+ <source>In a namespace constructor, the value for a namespace cannot be an empty string.</source>
+ <translation>Egy névtér konstruktorában a névtér értéke nem lehet üres karaktersorozat.</translation>
+ </message>
+ <message>
+ <location line="+11"/>
+ <source>The prefix must be a valid %1, which %2 is not.</source>
+ <translation>A prefixum érvényes %1 kell legyen, aminek %2 nem tesz eleget.</translation>
+ </message>
+ <message>
+ <location line="+14"/>
+ <source>The prefix %1 cannot be bound.</source>
+ <translation>%1 prefixum nem köthető.</translation>
+ </message>
+ <message>
+ <location line="+10"/>
+ <source>Only the prefix %1 can be bound to %2 and vice versa.</source>
+ <translation>Csak %1 prefixum köthető %2 kifejezéshez és fordítva.</translation>
</message>
<message>
<location filename="../src/xmlpatterns/expr/qdocumentcontentvalidator.cpp" line="+86"/>
<source>An attribute node cannot be a child of a document node. Therefore, the attribute %1 is out of place.</source>
- <translation>Az attribútum csomópont egy dokumentum csomópont gyermeke. Ennek következtében a(z) %1 attribútum nem helyénvaló.</translation>
+ <translation>Attribútum csomópont nem lehet egy document csomópont gyermeke. Emiatt a(z) %1 attribútum nem ide való.</translation>
</message>
<message>
<location filename="../src/xmlpatterns/expr/qexpressionfactory.cpp" line="+162"/>
<source>A library module cannot be evaluated directly. It must be imported from a main module.</source>
- <translation>A köbyvtár modult nem lehet közvetlenül kiértékelni. A fő modulból kell importálni.</translation>
+ <translation>Egy könyvtár modult nem lehet közvetlenül kiértékelni. Mindenképp egy fő modulból kell importálni.</translation>
</message>
<message>
<location line="+40"/>
<source>No template by name %1 exists.</source>
- <translation>%1 nevű sablon nem létezik.</translation>
+ <translation>Nem létezik %1 nevű sablon.</translation>
</message>
<message>
<location filename="../src/xmlpatterns/expr/qgenericpredicate.cpp" line="+106"/>
<source>A value of type %1 cannot be a predicate. A predicate must have either a numeric type or an Effective Boolean Value type.</source>
- <translation>A(z) %1 típus értéke egy állítmány. Egy állítmánynak tartalmaznia kell vagy egy szám típust vagy egy effektív logikai érték típust.</translation>
+ <translation>Egy %1 típusú érték nem lehet predikátum. Egy predikátumnak szám vagy effektív logikai érték típusúnak kell lennie.</translation>
</message>
<message>
<location line="+32"/>
<source>A positional predicate must evaluate to a single numeric value.</source>
- <translation>A helyzet állítmányt egy egyetlen szám értékként kell kiértékelni.</translation>
+ <translation>Egy pozicionális predikátumnak egyetlen numerikus értékké kell kiértékelődnie.</translation>
</message>
<message>
<location filename="../src/xmlpatterns/expr/qncnameconstructor_p.h" line="+113"/>
<source>The target name in a processing instruction cannot be %1 in any combination of upper and lower case. Therefore, %2 is invalid.</source>
- <translation>A cél neve egy utasítás feldolgozásban nem lehet %1 kis és nagybetűk bármely kombinációjában. Ennek következtében a(z) %2 érvénytelen.</translation>
+ <translation>Feldolgozási utasításban a célnév nem lehet %1 semmilyen kis- vagy nagybetűs formában. Emiatt %2 érvénytelen.</translation>
</message>
<message>
<location line="+24"/>
<source>%1 is not a valid target name in a processing instruction. It must be a %2 value, e.g. %3.</source>
- <translation>%1 nem egy érvényes cél név az utasítás feldolgozásban. %2 vagy %3 értéknek kell lennie.</translation>
+ <translation>%1 érvénytelen célnév egy feldolgozási utasításban. Értéke %2 típusú kell legyen, mint pl. %3.</translation>
</message>
<message>
<location filename="../src/xmlpatterns/expr/qpath.cpp" line="+109"/>
<source>The last step in a path must contain either nodes or atomic values. It cannot be a mixture between the two.</source>
- <translation>Az utolsó lépésnek vagy csomópontokat vagy atomikus értékeket kell tartalmaznia. Ez nem lehet a kettő közötti keverék.</translation>
+ <translation>Egy útvonal utolsó lépésének vagy csomópontokat vagy atomi értékeket kell tartalmaznia. Nem lehet a kettő keveréke.</translation>
+ </message>
+ <message>
+ <location filename="../src/xmlpatterns/expr/qprocessinginstructionconstructor.cpp" line="+84"/>
+ <source>The data of a processing instruction cannot contain the string %1</source>
+ <translation>Egy feldolgozási utasítás adata nem tartalmazhatja %1 sztringet</translation>
</message>
<message>
<location filename="../src/xmlpatterns/expr/qqnameconstructor.cpp" line="+82"/>
<source>No namespace binding exists for the prefix %1</source>
- <translation>Nem létezik névtér összeköttetés a(z) %1 előtagra</translation>
+ <translation>Nincs névtér kötés a(z) %1 prefixumhoz</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/expr/qqnameconstructor_p.h" line="-12"/>
+ <location filename="../src/xmlpatterns/expr/qqnameconstructor_p.h" line="+156"/>
<source>No namespace binding exists for the prefix %1 in %2</source>
- <translation>Nem létezik névtér összeköttetés a(z) %1 előtagra %2-ben</translation>
+ <translation>Nincs névtér kötés a(z) %1 prefixumhoz %2 helyen</translation>
+ </message>
+ <message>
+ <location line="+12"/>
+ <location filename="../src/xmlpatterns/functions/qqnamefns.cpp" line="+69"/>
+ <source>%1 is an invalid %2</source>
+ <translation>%1 egy érvénytelen %2</translation>
+ </message>
+ <message>
+ <location filename="../src/xmlpatterns/expr/qtemplate.cpp" line="+74"/>
+ <source>The parameter %1 is passed, but no corresponding %2 exists.</source>
+ <translation>Az átadott paraméter %1, de nincs megfelelő %2.</translation>
+ </message>
+ <message>
+ <location line="+71"/>
+ <source>The parameter %1 is required, but no corresponding %2 is supplied.</source>
+ <translation>%1 paraméter kötelező, de nincs megadva megfelelő %2.</translation>
+ </message>
+ <message numerus="yes">
+ <location filename="../src/xmlpatterns/functions/qabstractfunctionfactory.cpp" line="+77"/>
+ <source>%1 takes at most %n argument(s). %2 is therefore invalid.</source>
+ <translation>
+ <numerusform>%1 maximum %n argumentumot fogad, így %2 érvénytelen.</numerusform>
+ </translation>
+ </message>
+ <message numerus="yes">
+ <location line="+11"/>
+ <source>%1 requires at least %n argument(s). %2 is therefore invalid.</source>
+ <translation>
+ <numerusform>%1 legalább %n argumentumot fogad, így %2 érvénytelen.</numerusform>
+ </translation>
</message>
<message>
<location filename="../src/xmlpatterns/functions/qaggregatefns.cpp" line="+120"/>
<source>The first argument to %1 cannot be of type %2. It must be a numeric type, xs:yearMonthDuration or xs:dayTimeDuration.</source>
- <translation>Az első argumentum %1 nem lehet %2 típusú. Egy számos típusnak kelle lennie, xs:évHónapIdőtartam vagy xs:napIdőTartam.</translation>
+ <translation>%1 első paramétere nem lehet %2 típusú. Csak numerikus típus, xs:yearMonthDuration vagy xs:dayTimeDuration lehet.</translation>
</message>
<message>
<location line="+74"/>
<source>The first argument to %1 cannot be of type %2. It must be of type %3, %4, or %5.</source>
- <translation>Az első argumentum %1 nem lehet %2 típusú. %3, %4 vagy %5 típusúnak kell lennie.</translation>
+ <translation>%1 első argumentuma nem lehet %2 típusú. Csak %3, %4 vagy %5 megengedett.</translation>
</message>
<message>
<location line="+91"/>
<source>The second argument to %1 cannot be of type %2. It must be of type %3, %4, or %5.</source>
- <translation>Az második argumentum %1 nem lehet %2 típusú. %3, %4 vagy %5 típusúnak kell lennie.</translation>
+ <translation>%1 második argumentuma nem lehet %2 típusú. Csak %3, %4 vagy %5 megengedett.</translation>
+ </message>
+ <message>
+ <location filename="../src/xmlpatterns/functions/qassemblestringfns.cpp" line="+88"/>
+ <source>%1 is not a valid XML 1.0 character.</source>
+ <translation>%1 érvénytelen XML 1.0 karakter.</translation>
+ </message>
+ <message>
+ <location filename="../src/xmlpatterns/functions/qcontextnodechecker.cpp" line="+54"/>
+ <source>The root node of the second argument to function %1 must be a document node. %2 is not a document node.</source>
+ <translation>%1 függvény második argumentumának gyökér csomópontja document típusú kell legyen. %2 nem document csomópont.</translation>
</message>
<message>
<location filename="../src/xmlpatterns/functions/qdatetimefn.cpp" line="+86"/>
<source>If both values have zone offsets, they must have the same zone offset. %1 and %2 are not the same.</source>
- <translation>Ha mindkét értéknek zóna eltolása van, ugyanazt a zóna eltolást kell tartalmazniuk. %1 és %2 nem ugyanaz.</translation>
+ <translation>Ha mindkét értékben zóna eltolás van, akkor annak azonosnak kell lennie. %1 és %2 nem egyezik.</translation>
+ </message>
+ <message>
+ <location filename="../src/xmlpatterns/functions/qerrorfn.cpp" line="+61"/>
+ <source>%1 was called.</source>
+ <translation>%1 meghívva.</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/functions/qpatternmatchingfns.cpp" line="-65"/>
+ <location filename="../src/xmlpatterns/functions/qpatternmatchingfns.cpp" line="+94"/>
<source>%1 must be followed by %2 or %3, not at the end of the replacement string.</source>
- <translation>%1-t %2 vagy %3-nak kell követnie, nem a kicserélési sztring végén.</translation>
+ <translation>%1-t %2 vagy %3 kell kövesse, nem a helyettesítő karakterlánc végén.</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/functions/qpatternplatform.cpp" line="-110"/>
+ <location line="+39"/>
+ <source>In the replacement string, %1 must be followed by at least one digit when not escaped.</source>
+ <translation>A csereszövegben %1-t legalább egy számjegy kell kövesse, amennyiben az nincs escapelve.</translation>
+ </message>
+ <message>
+ <location line="+26"/>
+ <source>In the replacement string, %1 can only be used to escape itself or %2, not %3</source>
+ <translation>A csereszövegben %1 csak önmaga vagy %2 escapelésére használható, %3-ra nem</translation>
+ </message>
+ <message>
+ <location filename="../src/xmlpatterns/functions/qpatternplatform.cpp" line="+92"/>
+ <source>%1 matches newline characters</source>
+ <translation>%1 illeszkedik az újsor karakterekre</translation>
+ </message>
+ <message>
+ <location line="+4"/>
<source>%1 and %2 match the start and end of a line.</source>
- <translation>%1 és %2 egyezik a sor elején és végén.</translation>
+ <translation>%1 és %2 a sor elejére és végére is illeszkedik.</translation>
</message>
<message>
- <location line="+10"/>
+ <location line="+6"/>
+ <source>Matches are case insensitive</source>
+ <translation>Az illeszkedések nem nagybetű-érzékenyek</translation>
+ </message>
+ <message>
+ <location line="+4"/>
<source>Whitespace characters are removed, except when they appear in character classes</source>
- <translation>Nem látható karakterek eltávolítva, kivéve mikor karakter osztályokban tűnnek fel</translation>
+ <translation>A nem nyomtatható karakterek törlésre kerülnek, kivétel, ha karakter osztályokban szerepelnek</translation>
</message>
<message>
- <location line="+130"/>
+ <location line="+100"/>
+ <source>%1 is an invalid regular expression pattern: %2</source>
+ <translation>%1 érvénytelen reguláris kifejezés minta: %2</translation>
+ </message>
+ <message>
+ <location line="+30"/>
<source>%1 is an invalid flag for regular expressions. Valid flags are:</source>
- <translation>%1 egy érvénytelen jelző reguláris kifejezésekre. Érvényes flagek:</translation>
+ <translation>%1 érvénytelen kapcsoló reguláris kifejezésekhez. Az érvényes kapcsolók:</translation>
</message>
<message>
<location filename="../src/xmlpatterns/functions/qqnamefns.cpp" line="+17"/>
<source>If the first argument is the empty sequence or a zero-length string (no namespace), a prefix cannot be specified. Prefix %1 was specified.</source>
- <translation>Ha az első argumentum üres sorozat vagy nulla hosszúságú sztring (nincsen névtér), egy előtagot nem lehet meghatározni. %1 előtag volt meghatározva.</translation>
+ <translation>Ha az első argumentum az üres szekvencia vagy egy nulla hosszúságú sztring (névtér nélkül), akkor nem adható meg prefixum. %1 prefixum lett megadva.</translation>
+ </message>
+ <message>
+ <location filename="../src/xmlpatterns/functions/qsequencefns.cpp" line="+346"/>
+ <source>It will not be possible to retrieve %1.</source>
+ <translation>Nem lesz lehetséges %1 lekérése.</translation>
+ </message>
+ <message>
+ <location filename="../src/xmlpatterns/functions/qsequencegeneratingfns.cpp" line="+266"/>
+ <source>The default collection is undefined</source>
+ <translation>Nincs meghatározva az alapértelmezett kollekció</translation>
+ </message>
+ <message>
+ <location line="+13"/>
+ <source>%1 cannot be retrieved</source>
+ <translation>%1-t nem lehet lekérni</translation>
</message>
<message>
<location filename="../src/xmlpatterns/functions/qstringvaluefns.cpp" line="+252"/>
<source>The normalization form %1 is unsupported. The supported forms are %2, %3, %4, and %5, and none, i.e. the empty string (no normalization).</source>
- <translation>A(z) %1 szabványosítási forma nem támogatott. A támogatott formák %2, %3, %4 és %5 és semmi más, lásd az üres sztringet (nincs szabványosítás).</translation>
+ <translation>%1 normalizáló formája nem támogatott. A támogatott formák %2, %3, %4 és %5 vagy semmi, pl. az üres sztring (normalizáció nélkül).</translation>
</message>
<message>
<location filename="../src/xmlpatterns/functions/qtimezonefns.cpp" line="+87"/>
<source>A zone offset must be in the range %1..%2 inclusive. %3 is out of range.</source>
- <translation>A zóna eltolásnak a(z) %1..%2 tartományban kell benne lennie. %3 az tartományon kívüli.</translation>
+ <translation>Egy zónaeltolásnak a(z) %1..%2 nyílt intervallumba kell esnie. %3 az értékhatáron kívül van.</translation>
+ </message>
+ <message>
+ <location line="+12"/>
+ <source>%1 is not a whole number of minutes.</source>
+ <translation>%1 nem egész számú perc.</translation>
+ </message>
+ <message>
+ <location filename="../src/xmlpatterns/functions/qunparsedtextfn.cpp" line="+65"/>
+ <source>The URI cannot have a fragment</source>
+ <translation>A URI nem tartalmazhat töredéket</translation>
</message>
<message>
<location filename="../src/xmlpatterns/janitors/qcardinalityverifier.cpp" line="+58"/>
<source>Required cardinality is %1; got cardinality %2.</source>
- <translation>Szükséges számosság %1, szerzett számosság %2.</translation>
+ <translation>Az elvárt kardinalitás %1; azonban %2 lett megadva.</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/parser/qquerytransformparser.cpp" line="-3944"/>
- <source>The encoding %1 is invalid. It must contain Latin characters only, must not contain whitespace, and must match the regular expression %2.</source>
- <translation>A(z) %1 kódolás érvénytelen. Kizárólag latin karaktereket kell tartalmaznia, nem szabad látható karaktereket tartalmaznia, és a(z) %2 reguláris kifejezéssel kell megegyeznie.</translation>
+ <location filename="../src/xmlpatterns/janitors/qitemverifier.cpp" line="+67"/>
+ <source>The item %1 did not match the required type %2.</source>
+ <translation>%1 elem nem egyezik a várt %2 típussal.</translation>
</message>
<message>
- <location line="+260"/>
- <source>The keyword %1 cannot occur with any other mode name.</source>
- <translation>A(z) %1 kulcscszó nem fordulhat elő semmilyen más mód névvel.</translation>
+ <location filename="../src/xmlpatterns/parser/qparsercontext.cpp" line="+93"/>
+ <source>The variable %1 is unused</source>
+ <translation>A(z) %1 változó nincs használva</translation>
</message>
<message>
- <location line="-3117"/>
- <source>No variable with name %1 exists</source>
- <translation>%1 nevű változó nem létezik</translation>
+ <location filename="../src/xmlpatterns/parser/qquerytransformparser.cpp" line="+295"/>
+ <source>W3C XML Schema identity constraint selector</source>
+ <translation>W3C XML séma azonosító szabály kiválasztó</translation>
</message>
<message>
- <location line="+3146"/>
- <source>The value of attribute %1 must be of type %2, which %3 isn&apos;t.</source>
- <translation>A(z) %1 attribútumnak %2 típusúnak kell lennie, amelyik nem %3-as.</translation>
+ <location line="+3"/>
+ <source>W3C XML Schema identity constraint field</source>
+ <translation>W3C XML séma azonosító megszorítás mező</translation>
</message>
<message>
- <location line="+75"/>
- <source>The prefix %1 cannot be bound. By default, it is already bound to the namespace %2.</source>
- <translation>A(z) %1 előtagot nem lehet összekötni. Alapértelmezetten, már hozzá van kötve a %2 névtérhez.</translation>
+ <location line="+4"/>
+ <source>A construct was encountered which is disallowed in the current language(%1).</source>
+ <translation>Olyan szerkezetet találtam, ami az aktuális nyelvben nem megengedett(%1).</translation>
</message>
<message>
- <location line="+312"/>
- <source>A variable with name %1 has already been declared.</source>
- <translation>%1 nevű változó már deklarálva van.</translation>
+ <location line="+50"/>
+ <location line="+7323"/>
+ <source>%1 is an unknown schema type.</source>
+ <translation>%1 ismeretlen séma típus.</translation>
</message>
<message>
- <location line="+39"/>
- <source>No value is available for the external variable with name %1.</source>
- <translation>%1 nevű külső változóhoz nem érhető el érték. </translation>
+ <location line="-7254"/>
+ <source>A template with name %1 has already been declared.</source>
+ <translation>%1 nevű sablon már van deklarálva.</translation>
</message>
<message>
- <location line="+96"/>
- <source>A stylesheet function must have a prefixed name.</source>
- <translation>A stíluslap függvénynek tartalmaznia kell egy előtag nevet.</translation>
+ <location line="+26"/>
+ <source>%1 is not a valid numeric literal.</source>
+ <translation>%1 érvénytelen numerikus literál.</translation>
</message>
<message>
- <location line="+18"/>
- <source>The namespace %1 is reserved; therefore user defined functions may not use it. Try the predefined prefix %2, which exists for these cases.</source>
- <translation>A(z) %1 névtér foglalt, ennek következtében a felhasználó által definiált függvényt nem lehet használni. Próbálja ki az előredefiniált %2 előtagot, amely erre az esetekre van kitalálva.</translation>
+ <location line="+187"/>
+ <source>Only one %1 declaration can occur in the query prolog.</source>
+ <translation>Csak egy %1 deklaráció szerepelhet a lekérdezés bevezetésben.</translation>
</message>
<message>
- <location line="+106"/>
- <source>An argument with name %1 has already been declared. Every argument name must be unique.</source>
- <translation>Egy %1 nevű argumentum már deklarálva van. Minden argumentum névnek egyedülállónak kell lennie.</translation>
+ <location line="+188"/>
+ <source>The initialization of variable %1 depends on itself</source>
+ <translation>%1 változó inicializálása önmagától függ</translation>
</message>
<message>
- <location line="+179"/>
- <source>When function %1 is used for matching inside a pattern, the argument must be a variable reference or a string literal.</source>
- <translation>Mikor %1 függvény van használva egyeztetése egy mintán belül, az argumentumnak egy változó hivatkozásnak vagy egy sztring literálnak kell lennie.</translation>
+ <location line="+63"/>
+ <source>No variable with name %1 exists</source>
+ <translation>Nem létezik %1 nevű változó</translation>
</message>
<message>
- <location line="+11"/>
- <source>In an XSL-T pattern, the first argument to function %1 must be a string literal, when used for matching.</source>
- <translation>Egy XSLT mintában, az első argumentumnak a(z) %1 függvényre egy sztring literálnak kell lennie, amikor egyeztetésre használják.</translation>
+ <location line="+2841"/>
+ <source>Version %1 is not supported. The supported XQuery version is 1.0.</source>
+ <translation>A(z) %1 verzió nem támogatott. A támogatott XQuery verzió 1.0.</translation>
</message>
<message>
- <location line="+14"/>
- <source>In an XSL-T pattern, the first argument to function %1 must be a literal or a variable reference, when used for matching.</source>
- <translation>Egy XSLT mintában, az első argumentumnak a(z) %1 függvény esetén egy literálnak vagy egy változó hibatkozásnak kell lennie, mikor egyeztetésre használják.</translation>
+ <location line="+16"/>
+ <source>The encoding %1 is invalid. It must contain Latin characters only, must not contain whitespace, and must match the regular expression %2.</source>
+ <translation>%1 kódolás érvénytelen. Csak Latin karaktereket tartalmazhat, nem nyomtatható karakterek nélkül, és illeszkednie kell %2 reguláris kifejezésre.</translation>
</message>
<message>
- <location line="+9"/>
- <source>In an XSL-T pattern, function %1 cannot have a third argument.</source>
- <translation>Egy XSLT mintában, %1 függvénynek nem lehet egy harmadik argumentuma.</translation>
+ <location line="+55"/>
+ <source>No function with signature %1 is available</source>
+ <translation>%1 szignaturájú függvény nem található</translation>
</message>
<message>
+ <location line="+72"/>
<location line="+10"/>
- <source>In an XSL-T pattern, only function %1 and %2, not %3, can be used for matching.</source>
- <translation>Egy XSLT mintában, kizárólag a(z) %1 és %2 függvényeket, és %3-at nem lehet egyeztetésre használni.</translation>
+ <source>A default namespace declaration must occur before function, variable, and option declarations.</source>
+ <translation>Egy alapértelmezett névtér deklarációnak meg kell előznie a függvény-, változó- és opció deklarációkat.</translation>
</message>
<message>
- <location line="+63"/>
- <source>In an XSL-T pattern, axis %1 cannot be used, only axis %2 or %3 can.</source>
- <translation>Egy XSLT mintában, %1 tengelyt nem lehet használni, kizárólag a(z) %2 vagy %3 tengelyeket.</translation>
+ <location line="+10"/>
+ <source>Namespace declarations must occur before function, variable, and option declarations.</source>
+ <translation>A névtér deklarációknak meg kell előzniük a függvény-, változó- és opció deklarációkat.</translation>
</message>
<message>
- <location line="+126"/>
- <source>%1 is an invalid template mode name.</source>
- <translation>%1 egy érvénytelen sablon mód név.</translation>
+ <location line="+11"/>
+ <source>Module imports must occur before function, variable, and option declarations.</source>
+ <translation>Modul importoknak meg kell előzniük a függvény-, változó- és opció deklarációkat.</translation>
</message>
<message>
- <location line="+44"/>
- <source>The name of a variable bound in a for-expression must be different from the positional variable. Hence, the two variables named %1 collide.</source>
- <translation>Egy változó összeköttetés nevének egy for kifejezésben különböznie kell a pozícionális változótol. Ezért, a két %1 nevű változó ütközik.</translation>
+ <location line="+102"/>
+ <source>The keyword %1 cannot occur with any other mode name.</source>
+ <translation>%1 kulcsszó nem szerepelhet együtt semmilyen más mód névvel.</translation>
</message>
<message>
- <location line="+778"/>
- <source>The Schema Validation Feature is not supported. Hence, %1-expressions may not be used.</source>
- <translation>A terv jóváhagyási tulajdonság nem támogatott. Ezért, %1 kifejezést nem lehet használni.</translation>
+ <location line="+29"/>
+ <source>The value of attribute %1 must be of type %2, which %3 isn&apos;t.</source>
+ <translation>%1 attribútum értékének %2 típusúnak kell lennie, %3 nem az.</translation>
</message>
<message>
- <location line="+40"/>
- <source>None of the pragma expressions are supported. Therefore, a fallback expression must be present</source>
- <translation>A pragma kifejezések egyike sem támogatott. Ezért egy visszavonuló kifejezést kell nyújtani</translation>
+ <location line="+69"/>
+ <source>It is not possible to redeclare prefix %1.</source>
+ <translation>%1 prefixum újradeklarálása nem lehetséges.</translation>
</message>
<message>
- <location line="+269"/>
- <source>Each name of a template parameter must be unique; %1 is duplicated.</source>
- <translation>Sablon paraméter mindegyik nevének egyedülállónak kell lennie, %1 az duplikáns.</translation>
+ <location line="+6"/>
+ <source>The prefix %1 cannot be bound. By default, it is already bound to the namespace %2.</source>
+ <translation>%1 prefixum nem köthető. Alapértelmezés szerint már kötött %2 névtérhez.</translation>
</message>
<message>
- <location line="+462"/>
- <source>No function with name %1 is available.</source>
- <translation>%1 nevű függvény nem elérhető.</translation>
+ <location line="+12"/>
+ <source>Prefix %1 is already declared in the prolog.</source>
+ <translation>%1 prefixum már deklarálva van a bevezetésben.</translation>
</message>
<message>
- <location line="-6235"/>
- <source>%1 is not a valid numeric literal.</source>
- <translation>%1 nem egy érvényes számos literál.</translation>
+ <location line="+95"/>
+ <source>The name of an option must have a prefix. There is no default namespace for options.</source>
+ <translation>Egy opció nevének kötelező prefixumot megadni. Nics alapértelmezett névetér az opciók számára.</translation>
</message>
<message>
- <location line="-152"/>
- <source>W3C XML Schema identity constraint selector</source>
- <translation>W3C XML terv azonosító megszorító kiválasztó</translation>
+ <location line="+171"/>
+ <source>The Schema Import feature is not supported, and therefore %1 declarations cannot occur.</source>
+ <translation>A Schema Import szolgáltatás nem támogatott, így %1 deklarációk nem fogadhatók el.</translation>
</message>
<message>
- <location line="+3"/>
- <source>W3C XML Schema identity constraint field</source>
- <translation>W3C XML Terv azonosító megszorító mező</translation>
+ <location line="+13"/>
+ <source>The target namespace of a %1 cannot be empty.</source>
+ <translation>Egy %1 cél-névtere nem lehet üres.</translation>
</message>
<message>
- <location line="+4"/>
- <source>A construct was encountered which is disallowed in the current language(%1).</source>
- <translation>Egy olyan konstruktort talált amelyik nincsen engedélyezve az aktuális nyelvben(%1).</translation>
+ <location line="+8"/>
+ <source>The module import feature is not supported</source>
+ <translation>A modul import szolgáltatás nem támogatott</translation>
</message>
<message>
- <location line="+6502"/>
- <source>Namespace %1 can only be bound to %2 (and it is, in either case, pre-declared).</source>
- <translation>%1 névteret kizárólag a %2-vel lehet összekötni (és ennyi, vagy mindkét esetben, előre deklarált).</translation>
+ <location line="+13"/>
+ <source>A variable with name %1 has already been declared.</source>
+ <translation>Egy %1 nevű változó már deklarálva van.</translation>
</message>
<message>
- <location line="+8"/>
- <source>Prefix %1 can only be bound to %2 (and it is, in either case, pre-declared).</source>
- <translation>%1 előtagot kizárólag a %2-vel lehet összekötni (és ennyi, vagy mindkét esetben, előre deklarált).</translation>
+ <location line="+39"/>
+ <source>No value is available for the external variable with name %1.</source>
+ <translation>%1 nevű külső változóhoz nem érhető el érték.</translation>
</message>
<message>
- <location line="+120"/>
- <source>An attribute with name %1 has already appeared on this element.</source>
- <translation>%1 attribútum név már van ebben az elemben.</translation>
+ <location line="+96"/>
+ <source>A stylesheet function must have a prefixed name.</source>
+ <translation>Egy stíluslap függvénynek prefixummal ellátott neve kell legyen.</translation>
</message>
<message>
- <location line="+61"/>
- <source>A direct element constructor is not well-formed. %1 is ended with %2.</source>
- <translation>Egy közvetlen elem konstruktor, mely nincsen jól megformázva. %1 a(z) %2-ben végzőik.</translation>
+ <location line="+9"/>
+ <source>The namespace for a user defined function cannot be empty (try the predefined prefix %1 which exists for cases like this)</source>
+ <translation>Egy felhasználói függvény névtere nem lehet üres (próbálja meg a(z) %1 prefixumot, ami ilyen esetekre van fenntartva)</translation>
</message>
<message>
- <location line="+458"/>
- <source>The name %1 does not refer to any schema type.</source>
- <translation>A(z) %1 név nem vonatkozik egyetlen terv típusra sem.</translation>
+ <location line="+9"/>
+ <source>The namespace %1 is reserved; therefore user defined functions may not use it. Try the predefined prefix %2, which exists for these cases.</source>
+ <translation>A(z) %1 névtér fenntartott, így felhasználói függvények nem használhatják. Próbálja meg a(z) %2 prefixumot, ami ilyen esetekre van.</translation>
</message>
<message>
- <location line="+10"/>
- <source>%1 is an complex type. Casting to complex types is not possible. However, casting to atomic types such as %2 works.</source>
- <translation>%1 egy összetett típus. Összetett típusra kasztolás nem lehetséges. De egy atomikus típusra mint egy %2 működik.</translation>
+ <location line="+12"/>
+ <source>The namespace of a user defined function in a library module must be equivalent to the module namespace. In other words, it should be %1 instead of %2</source>
+ <translation>Egy függvénytár modulban definiált felhasználói függvény névtere meg kell egyezzen a modul névterével. Más szóval %1 kellene legyen %2 helyett</translation>
</message>
<message>
- <location line="+9"/>
- <source>%1 is not an atomic type. Casting is only possible to atomic types.</source>
- <translation>%1 nem egy atomikus típus. Kaszolás kizárólag csak atomikus típusra lehetséges.</translation>
+ <location line="+34"/>
+ <source>A function already exists with the signature %1.</source>
+ <translation>%1 szignaturájú függvény már létezik.</translation>
</message>
<message>
- <location line="+76"/>
- <source>%1 is not a valid name for a processing-instruction.</source>
- <translation>%1 nem egy érvényes név egy utasítás feldolgozásra.</translation>
+ <location line="+23"/>
+ <source>No external functions are supported. All supported functions can be used directly, without first declaring them as external</source>
+ <translation>Külső függvények nem támogatottak. Minden támogatott függvény használható, külső függvényként való deklarálás nélkül</translation>
</message>
<message>
- <location line="+188"/>
- <source>The name of an extension expression must be in a namespace.</source>
- <translation>Egy kifejezés kiterjesztés nevének egy névtérben kell lennie.</translation>
+ <location line="+37"/>
+ <source>An argument with name %1 has already been declared. Every argument name must be unique.</source>
+ <translation>%1 nevű argumentum már deklarálva van. Minden argumentumnévnek egyedinek kell lennie.</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/type/qtypechecker.cpp" line="-93"/>
- <source>Required type is %1, but %2 was found.</source>
- <translation>%1 a szükséges típus, de %2 található.</translation>
+ <location line="+179"/>
+ <source>When function %1 is used for matching inside a pattern, the argument must be a variable reference or a string literal.</source>
+ <translation>%1 függvény minta belsejében történő illesztésekor, az argumentumnak változó hivatkozásnak vagy szöveges literálnak kell lennie.</translation>
</message>
<message>
- <location line="+44"/>
- <source>Promoting %1 to %2 may cause loss of precision.</source>
- <translation>%1 elősegítése %2-re precíziós vesztést okozhat.</translation>
+ <location line="+11"/>
+ <source>In an XSL-T pattern, the first argument to function %1 must be a string literal, when used for matching.</source>
+ <translation>Egy XSL-T mintában %1 függvény első argumentumának szöveges literálnak kell lennie, ha illesztéshez használjuk.</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/utils/qoutputvalidator.cpp" line="-7"/>
- <source>It&apos;s not possible to add attributes after any other kind of node.</source>
- <translation>Nem lehetséges attribútumokat hozzáadni, bármely másik csomópont után.</translation>
+ <location line="+14"/>
+ <source>In an XSL-T pattern, the first argument to function %1 must be a literal or a variable reference, when used for matching.</source>
+ <translation>Egy XSL-T mintában %1 függvény első argumentumának szöveges literálnak vagy változó hivatkozásnak kell lennie, ha illesztéshez használjuk.</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/utils/qxpathhelper_p.h" line="+120"/>
- <source>Only the Unicode Codepoint Collation is supported(%1). %2 is unsupported.</source>
- <translation>Kizárólag a Unicode Kódpontos összevetés támogatott(%1). %2 nem támogatott.</translation>
+ <location line="+9"/>
+ <source>In an XSL-T pattern, function %1 cannot have a third argument.</source>
+ <translation>Egy XSL-T mintában %1 függénynek nem lehet harmadik argumentuma.</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/data/qatomicmathematicians.cpp" line="-180"/>
- <source>Integer division (%1) by zero (%2) is undefined.</source>
- <translation>Egész számos (%1) osztás nullával (%2) nem definiált.</translation>
+ <location line="+10"/>
+ <source>In an XSL-T pattern, only function %1 and %2, not %3, can be used for matching.</source>
+ <translation>Egy XSL-T mintában csak %1 és %2 függvények használhatók illesztéshez, %3 nem.</translation>
</message>
<message>
- <location line="+7"/>
- <source>Division (%1) by zero (%2) is undefined.</source>
- <translation>Osztás (%1) nullával (%2) nem definiált.</translation>
+ <location line="+63"/>
+ <source>In an XSL-T pattern, axis %1 cannot be used, only axis %2 or %3 can.</source>
+ <translation>Egy XSL-T mintában %1 tengely nem, csak %2 vagy %3 tengely használható.</translation>
</message>
<message>
- <location line="+7"/>
- <source>Modulus division (%1) by zero (%2) is undefined.</source>
- <translation>Tényezős osztás (%1) nullával (%2) nem definiált.</translation>
+ <location line="+126"/>
+ <source>%1 is an invalid template mode name.</source>
+ <translation>%1 érvénytelen sablon mód név.</translation>
</message>
- <message numerus="yes">
- <location filename="../src/xmlpatterns/functions/qabstractfunctionfactory.cpp" line="+77"/>
- <source>%1 takes at most %n argument(s). %2 is therefore invalid.</source>
- <translation>
- <numerusform>%1 legalább %n argumentumot vár. A(z) %2 ennel következtében érvénytelen.</numerusform>
- </translation>
+ <message>
+ <location line="+44"/>
+ <source>The name of a variable bound in a for-expression must be different from the positional variable. Hence, the two variables named %1 collide.</source>
+ <translation>Egy for-kifejezésben kötött változó nevének különbözőnek kell lennie, mint a pozicionális változó neve. Így a két %1 nevű változó ütközik.</translation>
</message>
- <message numerus="yes">
- <location line="+11"/>
- <source>%1 requires at least %n argument(s). %2 is therefore invalid.</source>
- <translation>
- <numerusform>%1 legalább %n argumentumot igényel. Ennek következtében a(z) %2 érvénytelen.</numerusform>
- </translation>
+ <message>
+ <location line="+778"/>
+ <source>The Schema Validation Feature is not supported. Hence, %1-expressions may not be used.</source>
+ <translation>A Schema Validation szolgáltatás nem támogatott. Ennélfogva %1-kifejezések nem használhatók.</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/functions/qcontextnodechecker.cpp" line="+54"/>
- <source>The root node of the second argument to function %1 must be a document node. %2 is not a document node.</source>
- <translation>A második argumentum rendszergazda csomópontja %1 függvényre dokumentum csomópontnak kell lenni. %2 nem egy dokumentum csomópont.</translation>
+ <location line="+40"/>
+ <source>None of the pragma expressions are supported. Therefore, a fallback expression must be present</source>
+ <translation>Pragma kifejezések egyike sem támogatott. Ennélfogva léteznie kell egy alapértelmezett kifejezésnek</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/parser/qquerytransformparser.cpp" line="-3172"/>
- <source>The namespace for a user defined function cannot be empty (try the predefined prefix %1 which exists for cases like this)</source>
- <translation>A névtér a felhasználó által definiált függvényre nem lehet üres (próbálja ki az előredefiniált %1 előtagot, mely innen esetekre lett kitalálva)</translation>
+ <location line="+269"/>
+ <source>Each name of a template parameter must be unique; %1 is duplicated.</source>
+ <translation>Minden sablonparaméter neve egyedi kell legyen, %1 azonban duplán szerepel.</translation>
</message>
<message>
- <location line="-693"/>
- <location line="+10"/>
- <source>A default namespace declaration must occur before function, variable, and option declarations.</source>
- <translation>Egy alapértelmezett névtér deklarációnak a függvény, változó, és opció deklarációk előtt kell elhelyezkednie.</translation>
+ <location line="+129"/>
+ <source>The %1-axis is unsupported in XQuery</source>
+ <translation>A(z) %1-tengely nem támogatott XQuery-ben</translation>
</message>
<message>
- <location line="+10"/>
- <source>Namespace declarations must occur before function, variable, and option declarations.</source>
- <translation>A névtér deklarációnak a függvény, változó, és opció deklarációk előtt kell elhelyezkednie.</translation>
+ <location line="+333"/>
+ <source>No function with name %1 is available.</source>
+ <translation>Nem létezik %1 nevű függvény.</translation>
</message>
<message>
- <location line="+11"/>
- <source>Module imports must occur before function, variable, and option declarations.</source>
- <translation>Modul importálásnak a függvény, változó, és opció deklarációk előtt kell elhelyezkednie.</translation>
+ <location line="+102"/>
+ <source>The namespace URI cannot be the empty string when binding to a prefix, %1.</source>
+ <translation>Prefixumhoz kötés esetén a névtér URI nem lehet az üres sztring, %1.</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/functions/qtimezonefns.cpp" line="+12"/>
- <source>%1 is not a whole number of minutes.</source>
- <translation>%1 nem egy egész számú perc érték.</translation>
+ <location line="+7"/>
+ <source>%1 is an invalid namespace URI.</source>
+ <translation>%1 érvénytelen névtér URI.</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/api/qxmlserializer.cpp" line="+60"/>
- <source>Attribute %1 can&apos;t be serialized because it appears at the top level.</source>
- <translation>%1 attribtútumot nem lehet sorozatosítani, mert legfelső szinten tűnik fel.</translation>
+ <location line="+6"/>
+ <source>It is not possible to bind to the prefix %1</source>
+ <translation>Nem lehet kötni %1 prefixumhoz</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/acceltree/qacceltreeresourceloader.cpp" line="+344"/>
- <source>%1 is an unsupported encoding.</source>
- <translation>%1 egy nem támogatott kódolás.</translation>
+ <location line="+7"/>
+ <source>Namespace %1 can only be bound to %2 (and it is, in either case, pre-declared).</source>
+ <translation>%1 névtér csak %2-hoz köthető (és minden esetben előre deklarált).</translation>
</message>
<message>
- <location line="+16"/>
- <source>%1 contains octets which are disallowed in the requested encoding %2.</source>
- <translation>%1 oktálisokat tartalmat, melyek tiltva vannak a lekérdezett %2 kódolásban.</translation>
+ <location line="+8"/>
+ <source>Prefix %1 can only be bound to %2 (and it is, in either case, pre-declared).</source>
+ <translation>%1 prefixum csak %2-hoz köthető (és minden esetben előre deklarált).</translation>
</message>
<message>
- <location line="+18"/>
- <source>The codepoint %1, occurring in %2 using encoding %3, is an invalid XML character.</source>
- <translation>A kódpont %1, mely a %2-ben fordul elő %3 kódolást használva, egy érvénytelen XML karakter.</translation>
+ <location line="+15"/>
+ <source>Two namespace declaration attributes have the same name: %1.</source>
+ <translation>Két névtér-deklaráció attribútum neve azonos: %1.</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/expr/qapplytemplate.cpp" line="+119"/>
- <source>Ambiguous rule match.</source>
- <translation>Bizonytalan szabály egyezés.</translation>
+ <location line="+89"/>
+ <source>The namespace URI must be a constant and cannot use enclosed expressions.</source>
+ <translation>Egy névtér URI-nek konstansnak kell lennie és nem használhat bennfoglalt kifejezéseket.</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/expr/qcomputednamespaceconstructor.cpp" line="+69"/>
- <source>In a namespace constructor, the value for a namespace cannot be an empty string.</source>
- <translation>Egy névtér konstruktorban, egy névtér értéke nem lehet egy üres sztring.</translation>
+ <location line="+16"/>
+ <source>An attribute with name %1 has already appeared on this element.</source>
+ <translation>%1 nevű attribútum már szerepelt ebben az elemben.</translation>
</message>
<message>
- <location line="+11"/>
- <source>The prefix must be a valid %1, which %2 is not.</source>
- <translation>Az előtagnak egy érvényes %1-nek kell lennie, %2 nem lehet.</translation>
+ <location line="+61"/>
+ <source>A direct element constructor is not well-formed. %1 is ended with %2.</source>
+ <translation>Egy közvetlen elem konstruktor nem jól formázott. %1-t %2 zárja le.</translation>
</message>
<message>
- <location line="+14"/>
- <source>The prefix %1 cannot be bound.</source>
- <translation>A(z) %1 előtagot nem lehet összekötni.</translation>
+ <location line="+458"/>
+ <source>The name %1 does not refer to any schema type.</source>
+ <translation>A(z) %1 név nem mutat semmilyen séma típusra.</translation>
</message>
<message>
<location line="+10"/>
- <source>Only the prefix %1 can be bound to %2 and vice versa.</source>
- <translation>Kizárólag a(z) %1 előtagot lehet összekötni a %2-vel és fordítva.</translation>
+ <source>%1 is an complex type. Casting to complex types is not possible. However, casting to atomic types such as %2 works.</source>
+ <translation>%1 komplex típus. Komplex típusra való kényszerítés nem lehetséges. Azonban atomi típusokra, mint pl. %2 történő kényszerítés igen.</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/expr/qtemplate.cpp" line="+145"/>
- <source>The parameter %1 is required, but no corresponding %2 is supplied.</source>
- <translation>A(z) %1 paraméter követelik, de nincs megelelő %2 támogatás hozzá.</translation>
+ <location line="+9"/>
+ <source>%1 is not an atomic type. Casting is only possible to atomic types.</source>
+ <translation>%1 nem atomi típus. Típuskényszerítés csak atomi típusra történhet.</translation>
</message>
<message>
- <location line="-71"/>
- <source>The parameter %1 is passed, but no corresponding %2 exists.</source>
- <translation>A(z) %1 paraméter teljesítve, de a megfelelő %2 nem létezik.</translation>
+ <location line="+76"/>
+ <source>%1 is not a valid name for a processing-instruction.</source>
+ <translation>%1 érvénytelen feldogozási utasítás név.</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/functions/qunparsedtextfn.cpp" line="+65"/>
- <source>The URI cannot have a fragment</source>
- <translation>Az URI nem tartalmaz tördezettséget</translation>
+ <location line="+69"/>
+ <location line="+71"/>
+ <source>%1 is not in the in-scope attribute declarations. Note that the schema import feature is not supported.</source>
+ <translation>%1 nem a láthatóságon belüli attribútum deklarációk között van. A séma import szolgáltatás nem támogatott.</translation>
+ </message>
+ <message>
+ <location line="+48"/>
+ <source>The name of an extension expression must be in a namespace.</source>
+ <translation>Egy kiterjesztés kifejezés nevének névtérben kell lennie.</translation>
</message>
<message>
<location filename="../src/xmlpatterns/parser/qxslttokenizer.cpp" line="+519"/>
<source>Element %1 is not allowed at this location.</source>
- <translation>%1 elem nincs engedélyezve ezen a ponton.</translation>
+ <translation>%1 elem nem megengedett ezen a helyen.</translation>
</message>
<message>
<location line="+9"/>
<source>Text nodes are not allowed at this location.</source>
- <translation>Szöveg csomópontok nincsenek engedélyezve ezen a ponton.</translation>
+ <translation>Szöveg csomópontok nem megengedettek ezen a helyen.</translation>
</message>
<message>
<location line="+20"/>
<source>Parse error: %1</source>
- <translation>Elemzési hiba: %1</translation>
+ <translation>Értelmezési hiba: %1</translation>
</message>
<message>
<location line="+62"/>
<source>The value of the XSL-T version attribute must be a value of type %1, which %2 isn&apos;t.</source>
- <translation>XSLT verzió attribútum értékének %1 típusú értéknek kell lennie, %2 nem lehet.</translation>
+ <translation>Az XSL-T verzió attribútum értékének %1 típusúnak kell lennie, %2 pedig nem az.</translation>
</message>
<message>
<location line="+20"/>
<source>Running an XSL-T 1.0 stylesheet with a 2.0 processor.</source>
- <translation>Egy XSLT 1.0 stíluslap egy 2.0 feldolgozóval való futtatása.</translation>
+ <translation>XSL-T 1.0 stíluslap futtatása 2.0 verziójú feldolgozóval.</translation>
</message>
<message>
<location line="+108"/>
<source>Unknown XSL-T attribute %1.</source>
- <translation>Ismeretlen XSLT attribútum %1.</translation>
+ <translation>Ismeretlen XSL-T attributum: %1.</translation>
</message>
<message>
<location line="+23"/>
<source>Attribute %1 and %2 are mutually exclusive.</source>
- <translation>A(z) %1 és %2 attribútum kölcsönösen kizárják egymást.</translation>
+ <translation>%1 és %2 attribútumok kölcsönösen kizáróak.</translation>
</message>
<message>
<location line="+166"/>
<source>In a simplified stylesheet module, attribute %1 must be present.</source>
- <translation>Egy leegyszerűsített stíluslap modulban, %1 attribútumot kell nyújtani.</translation>
+ <translation>Egy egyszerűsített stíluslap modulban a(z) %1 attribútumnak jelen kell lennie.</translation>
</message>
<message>
<location line="+72"/>
<source>If element %1 has no attribute %2, it cannot have attribute %3 or %4.</source>
- <translation>Ha a(z) %1 elem nem tartalmaz %2 attribútumot, akkor nem tartalmazhat %3 vagy %4 attribútumot.</translation>
+ <translation>Ha %1 elemnek nincs %2 attribútuma, akkor %3 vagy %4 attribútuma sem lehet.</translation>
</message>
<message>
<location line="+9"/>
<source>Element %1 must have at least one of the attributes %2 or %3.</source>
- <translation>%1 elemnek legalább egy %2 vagy %3 attribútumot kell tartalmaznia.</translation>
+ <translation>%1 elemnek valamelyik attribútumát meg kell adni %2 vagy %3 közül.</translation>
</message>
<message>
<location line="+28"/>
<source>At least one mode must be specified in the %1-attribute on element %2.</source>
- <translation>Legalább egy csomópontot meg kell határozni a(z) %1 attribútumban a(z) %2 elemen.</translation>
+ <translation>%2 elem %1-attribútumában legalább egy módot meg kell adni.</translation>
</message>
<message>
<location line="+123"/>
<source>Element %1 must come last.</source>
- <translation>%1 elemnek kell utoljára következnie.</translation>
+ <translation>%1 elemnek az utoljára kell szerepelnie.</translation>
</message>
<message>
<location line="+24"/>
<source>At least one %1-element must occur before %2.</source>
- <translation>Legalább egy %1 elemnek kell előfordulnia %2 előtt.</translation>
+ <translation>Legalább egy %1-elemnek szerepelnie kell %2 előtt.</translation>
</message>
<message>
<location line="+7"/>
<source>Only one %1-element can appear.</source>
- <translation>Csak egy %1 elem jelenhet meg.</translation>
+ <translation>Csak egy %1-elem jelenhet meg.</translation>
</message>
<message>
<location line="+31"/>
<source>At least one %1-element must occur inside %2.</source>
- <translation>Legalább egy %1 elem fordulhat elő %2-n belül.</translation>
+ <translation>Legalább egy %1-elemnek meg kell jelennie %2-n belül.</translation>
</message>
<message>
<location line="+58"/>
<source>When attribute %1 is present on %2, a sequence constructor cannot be used.</source>
- <translation>Mikor %1 attribútuk van benyújtva %2-n, egy sorozat konstruktort nem lehet használni.</translation>
+ <translation>Ha %2-n meg van adva %1 attribútum, akkor nem használható szekvencia konstruktor.</translation>
</message>
<message>
<location line="+13"/>
<source>Element %1 must have either a %2-attribute or a sequence constructor.</source>
- <translation>%1 elemnek vagy egy %2 attribútumot vagy egy sorozat konstruktort kell tartalmaznia.</translation>
+ <translation>%1 elemnek vagy %2-attribútumának vagy szekvencia konstruktorának lennie kell.</translation>
</message>
<message>
<location line="+125"/>
<source>When a parameter is required, a default value cannot be supplied through a %1-attribute or a sequence constructor.</source>
- <translation>Amikor egy paramétert igényel, egy alapértelmezett érték ellátni egy %1 attribútum vagy egy sorozat konstruktoron keresztül.</translation>
+ <translation>Ha paraméter az elvárt, akkor alapértelmezett értéket nem lehet %1-attribútumon vagy szekvencia konstruktoron keresztül átadni.</translation>
</message>
<message>
<location line="+270"/>
<source>Element %1 cannot have children.</source>
- <translation>%1 elem nem tartalmazhat gyereket.</translation>
+ <translation>%1 elemnek nem lehetnek gyermekei.</translation>
</message>
<message>
<location line="+434"/>
<source>Element %1 cannot have a sequence constructor.</source>
- <translation>%1 elem nem tartalmazhat egy sorozat konstruktort.</translation>
+ <translation>%1 elemnek nem lehet szekvencia konstruktora.</translation>
</message>
<message>
<location line="+86"/>
<location line="+9"/>
<source>The attribute %1 cannot appear on %2, when it is a child of %3.</source>
- <translation>A(z) %1 attribútum nem jelenhet meg %2-n, mikor egy %3 gyereke.</translation>
+ <translation>%1 attribútum nem szerepelhet %2-n, ha az %3 gyermeke.</translation>
</message>
<message>
<location line="+15"/>
<source>A parameter in a function cannot be declared to be a tunnel.</source>
- <translation>Egy paramétert nem lehet behangoltnak deklarálni egy függvényben.</translation>
+ <translation>Egy függvényparaméter nem definiálható mint tunnel.</translation>
</message>
<message>
<location line="+149"/>
<source>This processor is not Schema-aware and therefore %1 cannot be used.</source>
- <translation>Ez a feldolgozó nem terv biztos és ennek következtében a(z) %1-t nem lehet használni.</translation>
+ <translation>Ez a feldolgozó nem sémafüggő, ezért %1 nem használható.</translation>
</message>
<message>
<location line="+57"/>
<source>Top level stylesheet elements must be in a non-null namespace, which %1 isn&apos;t.</source>
- <translation>Felső szintű stíluslap elemeknek nem szabad egy nem nulla névtérnek lenniük, %1 nem jó.</translation>
+ <translation>Felső szintű stíluslap elemeknek egy nem üres névtérben kell lenniük, ezért %1 nem jó.</translation>
</message>
<message>
<location line="+48"/>
<source>The value for attribute %1 on element %2 must either be %3 or %4, not %5.</source>
- <translation>%1 attribútum értékének a(z) %2-s elemen vagy %3 vagy %4, vagy %5-nek kell lennie.</translation>
+ <translation>%2 elem %1 attribútumának értéke %3 vagy %4 kell legyen, de nem %5.</translation>
</message>
<message>
<location line="+20"/>
<source>Attribute %1 cannot have the value %2.</source>
- <translation>%1 attribútum nem tartalmazhat %2 értéket.</translation>
+ <translation>%1 attribútum értéke nem lehet %2.</translation>
</message>
<message>
<location line="+58"/>
<source>The attribute %1 can only appear on the first %2 element.</source>
- <translation>A(z) %1 attribútum kizárólag az első %2 elemen tűnhet fel.</translation>
+ <translation>%1 attribútum csak az első %2 elem esetén jelenhet meg.</translation>
</message>
<message>
<location line="+99"/>
<source>At least one %1 element must appear as child of %2.</source>
- <translation>Legalább egy %1 elemnek mutatkoznia %2 gyerekeként.</translation>
+ <translation>Legalább egy %1 elemnek %2 gyermekeként meg kell jelennie.</translation>
+ </message>
+ <message>
+ <location filename="../src/xmlpatterns/schema/qxsdparticlechecker.cpp" line="+165"/>
+ <source>Empty particle cannot be derived from non-empty particle.</source>
+ <translation>Üres részecske nem származtatható nem üres részecskéből.</translation>
+ </message>
+ <message>
+ <location line="+15"/>
+ <source>Derived particle is missing element %1.</source>
+ <translation>Származtatott részecskéből hiányzik %1 elem.</translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>Derived element %1 is missing value constraint as defined in base particle.</source>
+ <translation>%1 származtatott elemből hiányzik az ős részecskében definiált érték megszorítás.</translation>
+ </message>
+ <message>
+ <location line="+5"/>
+ <source>Derived element %1 has weaker value constraint than base particle.</source>
+ <translation>%1 származtatott elem érték megkötése gyengébb, mint az ős részecskéé.</translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>Fixed value constraint of element %1 differs from value constraint in base particle.</source>
+ <translation>%1 elem rögzített érték megkötése különbözik az ős részecskében megadott érték megkötéstől.</translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>Derived element %1 cannot be nillable as base element is not nillable.</source>
+ <translation>%1 elem nem lehet nil-feltételű, mert az ős eleme sem nil-feltételű.</translation>
+ </message>
+ <message>
+ <location line="+10"/>
+ <source>Block constraints of derived element %1 must not be more weaker than in the base element.</source>
+ <translation>%1 származtatott elem blokk megkötései nem lehetnek gyengébbek, mint az ős elemben.</translation>
+ </message>
+ <message>
+ <location line="+11"/>
+ <source>Simple type of derived element %1 cannot be validly derived from base element.</source>
+ <translation>%1 származtatott elem egyszerű típusa nem származtatható érvényesen az ős elemből.</translation>
+ </message>
+ <message>
+ <location line="+5"/>
+ <source>Complex type of derived element %1 cannot be validly derived from base element.</source>
+ <translation>%1 származtatott elem komplex típusa nem származtatható érvényesen az ős elemből.</translation>
+ </message>
+ <message>
+ <location line="+24"/>
+ <source>Element %1 is missing in derived particle.</source>
+ <translation>%1 elem hiányzik a származtatott részecskéből.</translation>
+ </message>
+ <message>
+ <location line="+18"/>
+ <source>Element %1 does not match namespace constraint of wildcard in base particle.</source>
+ <translation>%1 elem nem illeszkedik az ős részecskében megadott névtér helyettesítő mintájára.</translation>
+ </message>
+ <message>
+ <location line="+11"/>
+ <source>Wildcard in derived particle is not a valid subset of wildcard in base particle.</source>
+ <translation>Származtatott részecske helyettesítő mintája érvénytelen részhalmaza az ős részecske helyettesítő mintájának.</translation>
+ </message>
+ <message>
+ <location line="+5"/>
+ <source>processContent of wildcard in derived particle is weaker than wildcard in base particle.</source>
+ <translation>Származtatott elem mintájának processContent értéke gyengébb, mint az ős részecske mintája.</translation>
+ </message>
+ <message>
+ <location line="+240"/>
+ <source>Derived particle allows content that is not allowed in the base particle.</source>
+ <translation>Származtatott részecske olyan tartalmat is engedélyez, ami nem megengedett az ős részecskében.</translation>
</message>
<message>
<location filename="../src/xmlpatterns/schema/qxsdschemachecker.cpp" line="+227"/>
<source>%1 has inheritance loop in its base type %2.</source>
- <translation>%1 tartalmaz egy öröklődési hurkot annak %2 alaptípusában.</translation>
+ <translation>%1 öröklődési hurkot tartalmaz %2 szülő típusában.</translation>
</message>
<message>
<location line="+5"/>
<location line="+24"/>
<source>Circular inheritance of base type %1.</source>
- <translation>A(z) %1 alaptípus cirkuláris öröklődése.</translation>
+ <translation>Körkörös %1 őstípusú öröklődés.</translation>
</message>
<message>
<location line="+11"/>
<source>Circular inheritance of union %1.</source>
- <translation>A(z) %1 union cirkuláris öröklődése.</translation>
+ <translation>%1 union körkörös öröklődése.</translation>
</message>
<message>
<location line="+25"/>
<source>%1 is not allowed to derive from %2 by restriction as the latter defines it as final.</source>
- <translation>A(z) %1 %2-ből való származtatása nem megengedett, azzal a korlátozassal, hogy az utóbbi utolsónak definiálja.</translation>
+ <translation>%1 nem származhat %2-ből megkötéssel, mert utóbbi final-ként definiálja.</translation>
</message>
<message>
<location line="+5"/>
<source>%1 is not allowed to derive from %2 by extension as the latter defines it as final.</source>
- <translation>%1-nek nem engedélyezett a %2-ből való származtatása, azzal a kiegészítéssel, hogy a utóbbi végsőnek definiálja.</translation>
+ <translation>%1 nem származhat %2-ből kiterjesztéssel, mert utóbbi final-ként definiálja.</translation>
</message>
<message>
<location line="+31"/>
<source>Base type of simple type %1 cannot be complex type %2.</source>
- <translation>A(z) %1 egyszerű típus alaptípusa nem lehet egy %2 összetett típus.</translation>
+ <translation>%1 egyszerű típus őstípusa nem lehet %2 komplex típus.</translation>
</message>
<message>
<location line="+9"/>
<source>Simple type %1 cannot have direct base type %2.</source>
- <translation>A(z) %1 egyszerű típus nem tartalmazhat közvetlen %2 alap típust.</translation>
+ <translation>%1 egyszerű típus közvetlen őstípusa nem lehet %2.</translation>
</message>
<message>
<location line="+33"/>
<location line="+9"/>
<source>Simple type %1 is not allowed to have base type %2.</source>
- <translation>%1 egyszerű típusnak nincs engedélyezve, hogy %2 alap típusokat tartalmazzon.</translation>
+ <translation>%1 egyszerű típus őstípusa nem lehet %2.</translation>
</message>
<message>
<location line="+12"/>
<source>Simple type %1 can only have simple atomic type as base type.</source>
- <translation>A(z) %1 egyszerű típus kizárólag egyszerű atomikus típusokat tartalmazhat alaptípusként.</translation>
+ <translation>%1 egyszerű típus őse csak egyszerű atomi típus lehet.</translation>
</message>
<message>
<location line="+6"/>
<source>Simple type %1 cannot derive from %2 as the latter defines restriction as final.</source>
- <translation>%1 egyszerű típus nem származtatható %2-ből, mint ahogy az utóbbi végső korlátozásokat definiál.</translation>
+ <translation>%1 nem származhat %2-ből, mert utóbbi final megkötést definiál.</translation>
</message>
<message>
<location line="+13"/>
<location line="+484"/>
<source>Variety of item type of %1 must be either atomic or union.</source>
- <translation>%1 elemtípus különbözőségeinek vagy vagy atomikus vagy unionnak kell lenni.</translation>
+ <translation>%1 elemtípus választéka csak atomic vagy union lehet.</translation>
</message>
<message>
<location line="-474"/>
<location line="+483"/>
<source>Variety of member types of %1 must be atomic.</source>
- <translation>%1 tagtípusok különbözőségének atomikusnak kell lennie.</translation>
+ <translation>%1 tagtípusok választéka csak atomi lehet.</translation>
</message>
<message>
<location line="-470"/>
<location line="+451"/>
<source>%1 is not allowed to derive from %2 by list as the latter defines it as final.</source>
- <translation>%1 származtatása a(z) %2-ből nem engedélyezett, listázva azt, hogy az utóbbi végsőként definiálja.</translation>
+ <translation>%1 nem származhat %2-ből listával, mert utóbbi final-ként definiálja.</translation>
</message>
<message>
<location line="-431"/>
<source>Simple type %1 is only allowed to have %2 facet.</source>
- <translation>%1 egyszerű típus kizárólag %2 oldalt tartalmazhat.</translation>
+ <translation>%1 egyszerű típusnak csak %2 facet-je lehet.</translation>
</message>
<message>
<location line="+10"/>
<source>Base type of simple type %1 must have variety of type list.</source>
- <translation>%1 egyszerű típus alap típusának különböző típus listákat kell tartalmaznia.</translation>
+ <translation></translation>
</message>
<message>
<location line="+6"/>
<source>Base type of simple type %1 has defined derivation by restriction as final.</source>
- <translation>%1 egyszerű típus alaptípusa definiálja a számaztatást végső korlátozással.</translation>
+ <translation>%1 egyszerű típus őstípusa a megkötéssel történő származtatást final-ként definiálta.</translation>
</message>
<message>
<location line="+6"/>
<source>Item type of base type does not match item type of %1.</source>
- <translation>Az alap típus elem típusa nem egyezik a(z) %1 elemtípusával. </translation>
+ <translation>Az ős típusa nem egyezik %1 elemtípussal.</translation>
</message>
<message>
<location line="+26"/>
<location line="+93"/>
<source>Simple type %1 contains not allowed facet type %2.</source>
- <translation>%1 egyszerű típus nem engedélyezett oldal %2 típusokat tartalmaz.</translation>
+ <translation>%1 egyszerű típus nem megengedett %2 facet típust tartalmaz.</translation>
</message>
<message>
<location line="-72"/>
<location line="+413"/>
<source>%1 is not allowed to derive from %2 by union as the latter defines it as final.</source>
- <translation>%1 %2-ből történő származtatása nem engedélyezett az unió által, az utóbbi végsőként definiálja.</translation>
+ <translation>%1 nemm származhat %2-ből union-nal, mert utóbbi final-ként definiálta.</translation>
</message>
<message>
<location line="-404"/>
<source>%1 is not allowed to have any facets.</source>
- <translation>%1 nem tartalmazhat semmilyen oldalt.</translation>
+ <translation>%1 nem birtokolhat facet-eket.</translation>
</message>
<message>
<location line="+8"/>
<source>Base type %1 of simple type %2 must have variety of union.</source>
- <translation>%2 egyszerű típus %1 alap típusának különböző egységeket kell tartalmaznia.</translation>
+ <translation>%2 típusú %1 őstípusnak union választéka kell legyen.</translation>
</message>
<message>
<location line="+9"/>
<source>Base type %1 of simple type %2 is not allowed to have restriction in %3 attribute.</source>
- <translation>%2 egyszerű típus %1 alap típusa nem tartalmazhat korlátozásokat a %3 attribútumban.</translation>
+ <translation>%2 egyszerű típusú %1 őstípusnak nem lehet megkötést adni %3 attribútumban.</translation>
</message>
<message>
<location line="+18"/>
<source>Member type %1 cannot be derived from member type %2 of %3&apos;s base type %4.</source>
- <translation>%1 tag típus nem származtatható a(z) %3 %4 alap típusának %2 tagtípusából.</translation>
+ <translation>%1 tag típus nem származhat %2 tag típusból, %3-nak %4 őstípusából.</translation>
</message>
<message>
<location line="+65"/>
<source>Derivation method of %1 must be extension because the base type %2 is a simple type.</source>
- <translation>%1 származtatása eljárásának kiterjesztésnek kell lennie, mert %2 alap típus egy egyszerű típus.</translation>
+ <translation>%1 származtatási módja kiterjesztés kell legyen, mert %2 őstípus egyszerű típus.</translation>
</message>
<message>
<location line="+30"/>
<source>Complex type %1 has duplicated element %2 in its content model.</source>
- <translation>A(z) %1 összetett típusnak duplikáns %2 eleme van a tartalmi modellében.</translation>
+ <translation>%1 komplex típus tartalom modelljében %2 elem duplán szerepel.</translation>
</message>
<message>
<location line="+8"/>
<source>Complex type %1 has non-deterministic content.</source>
- <translation>%1 összetett típusnak nincsen meghatározott tartalma.</translation>
+ <translation>%1 komplex típus tartalma nem determinisztikus.</translation>
</message>
<message>
<location line="+21"/>
<source>Attributes of complex type %1 are not a valid extension of the attributes of base type %2: %3.</source>
- <translation>%1 összetett típus attribútumai a(z) %2 alap típus attribútumainak nem érvényes kiterjesztései: %3.</translation>
+ <translation>%1 komplex típus attribútumai nem érvényes kiterjesztései %2 őstípus attribútumainak: %3.</translation>
</message>
<message>
<location line="+37"/>
<source>Content model of complex type %1 is not a valid extension of content model of %2.</source>
- <translation>%1 komplex típus tartalmi modelle a(z) %2 tartalmi modellének nem egy érvényes kiterjesztése.</translation>
+ <translation>%1 komplex típus tartalom modellje nem érvényes kiterjesztése %2 tartalom modelljének.</translation>
</message>
<message>
<location line="+10"/>
<source>Complex type %1 must have simple content.</source>
- <translation>%1 komplex típusnak tartalmaznia kell egy egyszerű tartalmat.</translation>
+ <translation>%1 komplex típusnak egyszerű tartalma kell legyen.</translation>
</message>
<message>
<location line="+7"/>
<source>Complex type %1 must have the same simple type as its base class %2.</source>
- <translation>%1 komplex típusnak ugyanazt az egyszerű típust kell tartalmaznia a(z) %2 alap osztálya számára.</translation>
+ <translation>%1 komplex típusnak ugyanazzal az egyszerű típussal kell rendelkeznie, mint %2 ősosztályának.</translation>
</message>
<message>
<location line="+67"/>
<source>Complex type %1 cannot be derived from base type %2%3.</source>
- <translation>%1 komplex típus nem származtatható a(z) %2%3 alap típusból.</translation>
+ <translation>%1 komplex típus nem származhat %2%3 őstípusból.</translation>
</message>
<message>
<location line="+14"/>
<source>Attributes of complex type %1 are not a valid restriction from the attributes of base type %2: %3.</source>
- <translation>%1 komplex típus attribútumai nem egy érvényes korlátozások a(z) %2 alap típus attribútumaitól: %3.</translation>
+ <translation>%1 komplex típus attribútumai nem érvényes megszorítások %2 őstípus attribútumai alapján: %3.</translation>
</message>
<message>
<location line="+14"/>
<source>Complex type %1 with simple content cannot be derived from complex base type %2.</source>
- <translation>%1 komplex típus egyszerű tartalommal nem származtatható %2 komplex alap típusból.</translation>
+ <translation>%1 egyszerű tartalmú komplex típus nem származhat %2 komplex típusból.</translation>
</message>
<message>
<location line="+35"/>
<source>Item type of simple type %1 cannot be a complex type.</source>
- <translation>A(z) %1 egyszerű típus elemi típusa nem lehet egy komplex típus.</translation>
+ <translation>%1 egyszerű típusú elem típusa nem lehet komplex típus.</translation>
</message>
<message>
<location line="+44"/>
<source>Member type of simple type %1 cannot be a complex type.</source>
- <translation>%1 egyszerű típus tag típusa nem lehet egy komplex típus.</translation>
+ <translation>%1 egyszerű típusú tag típus nem lehet komplex típus.</translation>
</message>
<message>
<location line="+8"/>
<source>%1 is not allowed to have a member type with the same name as itself.</source>
- <translation>%1 nem engedélyzett, hogy tartalmazzon egy tag típust ugyanazzal a névvel, mint a saját neve.</translation>
+ <translation>%1 nem tartalmazhat olyan tag típust, melynek neve egyezik önmaga nevével.</translation>
</message>
<message>
<location line="+83"/>
<location line="+29"/>
<location line="+34"/>
<source>%1 facet collides with %2 facet.</source>
- <translation>%1 oldal ütközik a(z) %2 oldallal.</translation>
+ <translation>%1 facet ütközik %2 facet-tel.</translation>
</message>
<message>
<location line="-20"/>
<source>%1 facet must have the same value as %2 facet of base type.</source>
- <translation>%1 oldalnak ugyanazt az értéket kell tartalmaznia, mint az alap típus %2 oldalának.</translation>
+ <translation>%1 facet-nek %2 facet-ével azonos őstípusú értéke kell legyen.</translation>
</message>
<message>
<location line="+37"/>
<source>%1 facet must be equal or greater than %2 facet of base type.</source>
- <translation>%1 oldalnak nagyobbnak vagy egyenlőnek kell lennie, mint az alap típus %2 oldalának.</translation>
+ <translation>%1 facet-nek egyenlőnek vagy nagyobbnak kell lennie %2 facet-nél őstípus alapján.</translation>
</message>
<message>
<location line="+19"/>
@@ -9326,541 +12497,319 @@ Kérem válasszon egy különböző fájl nevet.</translation>
<location line="+34"/>
<location line="+35"/>
<source>%1 facet must be less than or equal to %2 facet of base type.</source>
- <translation>%1 oldalnal kisebb vagy egyenlőnek kell lennie az alap típus %2 oldalánál.</translation>
+ <translation>%1 facet-nek egyenlőnek vagy kisebbnek kell lennie %2 facet-nél őstípus alapján.</translation>
</message>
<message>
<location line="-389"/>
<source>%1 facet contains invalid regular expression</source>
- <translation>%1 oldal érvénytelen reguláris kifejezéseket tartalmaz</translation>
+ <translation>%1 facet érvénytelen reguláris kifejezést tartalmaz</translation>
</message>
<message>
<location line="+15"/>
<source>Unknown notation %1 used in %2 facet.</source>
- <translation>%1 ismeretlen jelölési mód van használva a(z) %2 oldalon.</translation>
+ <translation>Ismeretlen jelölés %1 a(z) %2 facet-ben.</translation>
</message>
<message>
<location line="+20"/>
<source>%1 facet contains invalid value %2: %3.</source>
- <translation>%1 oldal érvénytelen %2 értéket tartalmaz: %3.</translation>
+ <translation>%1 facet értéke érvénytelen %2: %3.</translation>
</message>
<message>
<location line="+22"/>
<source>%1 facet cannot be %2 or %3 if %4 facet of base type is %5.</source>
- <translation>%1 oldal nem lehet %2 vagy %3, ha az alap típus %4 oldala %5.</translation>
+ <translation>%1 facet nem lehet %2 vagy %3, ha %4 facet, mint őstípus %5.</translation>
</message>
<message>
<location line="+11"/>
<source>%1 facet cannot be %2 if %3 facet of base type is %4.</source>
- <translation>%1 oldal nem lehet %2, ha az alap típus %3 oldala %4.</translation>
+ <translation>%1 facet nem lehet %2, ha %3 facet, mint őstípus %4.</translation>
</message>
<message>
<location line="+20"/>
<location line="+55"/>
<location line="+230"/>
<source>%1 facet must be less than or equal to %2 facet.</source>
- <translation>%1 oldalnak kisebb egyenlőnek kell lennie a(z) %2 oldalnál.</translation>
+ <translation>%1 facet-nek kisebbnek vagy egyenlőnek kell lennie, mint %2 facet.</translation>
</message>
<message>
<location line="-257"/>
<location line="+134"/>
<location line="+82"/>
<source>%1 facet must be less than %2 facet of base type.</source>
- <translation>%1 oldalnak kisebbnek kell lennie az alap típus %2 oldalánál.</translation>
+ <translation>%1 facet-nek kisebbnek kell lennie %2 facet-nél, mint őstípusnál.</translation>
</message>
<message>
<location line="-201"/>
<location line="+79"/>
<source>%1 facet and %2 facet cannot appear together.</source>
- <translation>%1 oldal és %2 oldal nem fordulhat elő együtt.</translation>
+ <translation>%1 és %2 facet-ek nem jelenhetnek meg együttesen.</translation>
</message>
<message>
<location line="-27"/>
<location line="+12"/>
<location line="+113"/>
<source>%1 facet must be greater than %2 facet of base type.</source>
- <translation>%1 oldalnak nagyobbnak kell lennie, mint az alaptípus %2 oldalának.</translation>
+ <translation>%1 facet-nek nagyobbnak kell lennei, %2 facet-nél, mint őstípusnál.</translation>
</message>
<message>
<location line="-86"/>
<location line="+58"/>
<source>%1 facet must be less than %2 facet.</source>
- <translation>%1 oldalnak kisebbnek kell lenni a(z) %2 oldalnál.</translation>
+ <translation>%1 facet kisebb kell legyen, mint %2 facet.</translation>
</message>
<message>
<location line="-42"/>
<location line="+58"/>
<source>%1 facet must be greater than or equal to %2 facet of base type.</source>
- <translation>%1 oldalnak nagyobb vagy egyenlőnek kell lennie az alap típus %2 oldalánál.</translation>
+ <translation>%1 facet-nek egyenlőnek vagy nagyobbnak kell lennie %2 facet-nél mint őstípusnál.</translation>
</message>
<message>
<location line="+113"/>
<source>Simple type contains not allowed facet %1.</source>
- <translation>Egyszerű típus nem tartalmazhat %1 oldalt.</translation>
+ <translation>Egyszerű típus nem megengedett %1 facet-et tartalmaz.</translation>
</message>
<message>
<location line="+12"/>
<source>%1, %2, %3, %4, %5 and %6 facets are not allowed when derived by list.</source>
- <translation>%1, %2, %3, %4, %5 és %6 oldalak nem engedélyezettek listáról származtatáskor.</translation>
+ <translation>%1, %2, %3, %4, %5 és %6 facet-ek nem megengedettek, ha lista alapján származtatunk.</translation>
</message>
<message>
<location line="+16"/>
<source>Only %1 and %2 facets are allowed when derived by union.</source>
- <translation>Csak a(z) %1 és %2 oldalak engedélyezettek union származtatásakor.</translation>
+ <translation>Csak %1 és %2 facet-ek engedélyezettek union típusú származtatás esetén.</translation>
</message>
<message>
<location line="+23"/>
<location line="+16"/>
<source>%1 contains %2 facet with invalid data: %3.</source>
- <translation>%1 %2 oldalt tartalmaz érvénytelen adattal: %3.</translation>
+ <translation>%1 érvénytelen adattartalmú %2 facet-et tartalmaz: %3.</translation>
</message>
<message>
<location line="+24"/>
<source>Attribute group %1 contains attribute %2 twice.</source>
- <translation>A(z) %1 attribútum csoport a(z) %2 attribútumot kétszer tartalmazza.</translation>
+ <translation>%1 attribútum csoport kétszer tartalmazza %2 attribútumot.</translation>
</message>
<message>
<location line="+9"/>
<source>Attribute group %1 contains two different attributes that both have types derived from %2.</source>
- <translation>A(z) %1 attribútum csoport két különböző attribútumot tartalmaz, melyek közül mindkettő %2-ból számaztatott típusokat tartalmaz.</translation>
+ <translation>%1 attribútum csoport két különböző attribútumot tartalmaz, melyek típusa %2-ből származtatott.</translation>
</message>
<message>
<location line="+8"/>
<source>Attribute group %1 contains attribute %2 that has value constraint but type that inherits from %3.</source>
- <translation>A(z) %1 attribútum csoport %2 attribútumot tartalmaz, amely olyan megszorított értéket tartalmaz, kivéve a típust, amit %3-ból örököl.</translation>
+ <translation>%1 attribútum csoport %2 attribútumot tartalmaz, aminek érték megkötése van, de típusa %3-ból származik.</translation>
</message>
<message>
<location line="+23"/>
<source>Complex type %1 contains attribute %2 twice.</source>
- <translation>A(z) %1 összetett típus %2 attribútumot tartalmazza kétszer.</translation>
+ <translation>%1 komplex típus %2 attribútumot kétszer tartalmazza.</translation>
</message>
<message>
<location line="+9"/>
<source>Complex type %1 contains two different attributes that both have types derived from %2.</source>
- <translation>%1 komplex típus két különböző attribútumot tartalmaz, amelyek közül mindkettő %2-ból származtatott típusokat tartalmaz.</translation>
+ <translation>%1 komplex típus két különböző attribútumot tartalmaz, melyek típusa %2-ből származtatott.</translation>
</message>
<message>
<location line="+8"/>
<source>Complex type %1 contains attribute %2 that has value constraint but type that inherits from %3.</source>
- <translation>%1 kompex típus %2 attribútumot tartalmaz, aminek megszorító értéke van, kivéve a típust, amit a(z) %3-ból örököl.</translation>
+ <translation>%1 komplex típus %2 attribútumot tartalmaz, aminek érték megkötése van, de típusa %3-ból származik.</translation>
</message>
<message>
<location line="+43"/>
<source>Element %1 is not allowed to have a value constraint if its base type is complex.</source>
- <translation>%1 elem nem tartalmazhat egy korlátozott értéket, ha az alaptípusa komplex.</translation>
+ <translation>%1 elemre nem lehet érték megkötés, ha őstípusa komplex.</translation>
</message>
<message>
<location line="+7"/>
<source>Element %1 is not allowed to have a value constraint if its type is derived from %2.</source>
- <translation>%1 elem nem tartalmazhat egy korlátozott értéket, ha a típusa a(z) %2-ből származik.</translation>
+ <translation>%1 elemre nem lehet érték megkötés, ha típusa %2-ből származtatott.</translation>
</message>
<message>
<location line="+10"/>
<location line="+11"/>
<source>Value constraint of element %1 is not of elements type: %2.</source>
- <translation>%1 elem korlátozó értéke nem elemi típus: %2.</translation>
+ <translation>%1 elem érték megkötése nem a következő elemtípusú: %2.</translation>
</message>
<message>
<location line="+13"/>
<source>Element %1 is not allowed to have substitution group affiliation as it is no global element.</source>
- <translation>%1 elem nem tartalmazhat helyettesítési csoport egyesítést, mert nem egy globális elem.</translation>
+ <translation>%1 elemnek nem lehet helyettesítő csoport kapcsolata, mivel nem globális elem.</translation>
</message>
<message>
<location line="+28"/>
<source>Type of element %1 cannot be derived from type of substitution group affiliation.</source>
- <translation>%1 elem típus nem származtatható helyettesítési csoport egyesítési típusból.</translation>
+ <translation>%1 elem típusa nem származhat helyettesítő csoport kapcsolat típusból.</translation>
</message>
<message>
<location line="+41"/>
<source>Value constraint of attribute %1 is not of attributes type: %2.</source>
- <translation>%1 attribútum korlátozó értéke nem attribútum típus: %2.</translation>
+ <translation>%1 attribútum érték megkötése nem az attribútum típusával egyező: %2.</translation>
</message>
<message>
<location line="+9"/>
<source>Attribute %1 has value constraint but has type derived from %2.</source>
- <translation>%1 attribútumnak korlátozó értéke van, de %2-ből származtatott típust tartalmaz.</translation>
+ <translation>%1 attribútumnak érték megkötése van, de típusa %2-ből származtatott.</translation>
</message>
<message>
<location line="+56"/>
<source>%1 attribute in derived complex type must be %2 like in base type.</source>
- <translation>%1 attribútum egy származtatott komplex típusban %2-nek kell lennie, mint az alap típusban.</translation>
+ <translation>%1 attribútumnak %2-nek kell lennie a származtatott komplex típusban, úgy mint az őstípusban.</translation>
</message>
<message>
<location line="+11"/>
<source>Attribute %1 in derived complex type must have %2 value constraint like in base type.</source>
- <translation>A származtatott komplex típusban levő %1 attribútumnak %2 érték korlátozót kell tartalmaznia, mint az alap típusban.</translation>
+ <translation>Származtatott komplex típusban %1 attribútumnak %2 érték megkötésének kell lennie, mint az őstípusban.</translation>
</message>
<message>
<location line="+9"/>
<source>Attribute %1 in derived complex type must have the same %2 value constraint like in base type.</source>
- <translation>Származtatott komplex típusban levő %1 attribútumnak ugyanazt a(z) %2 korlátozott értéket kell tartalmaznia, mint az alap típusban.</translation>
+ <translation>Származtatott komplex típusban %1 attribútumnak %2 érték megkötésének kell lennie, mint az őstípusban.</translation>
</message>
<message>
<location line="+7"/>
<source>Attribute %1 in derived complex type must have %2 value constraint.</source>
- <translation>Származtatott komplex típusban levő %1 attribútumnak %2 érték korlátozót kell tartalmaznia.</translation>
+ <translation>Származtatott komplex típus %1 attribútumának %2 érték megkötésének kell lennie.</translation>
</message>
<message>
<location line="+18"/>
<source>processContent of base wildcard must be weaker than derived wildcard.</source>
- <translation>Az alap helyettesítő jel folyamat tartalma gyengébb kell legyen, mint a származtatott helyettesítő jel.</translation>
+ <translation>Az ős helyettesítő kifejezésének processContent-je gyengébb kell legyen, mint a származtatott helyettesítő.</translation>
</message>
<message>
<location line="+39"/>
<location line="+15"/>
<source>Element %1 exists twice with different types.</source>
- <translation>%1 elem kétszer létezik különböző típusokkal.</translation>
+ <translation>%1 elem kétszer létezik eltérő típussal.</translation>
</message>
<message>
<location line="+28"/>
<source>Particle contains non-deterministic wildcards.</source>
- <translation>A részecske nem meghatározott helyettesítő jeleket tartalmaz.</translation>
+ <translation>A részecske nem determinisztikus helyettesítőket tartalmaz.</translation>
</message>
<message>
<location filename="../src/xmlpatterns/schema/qxsdschemahelper.cpp" line="+691"/>
<location line="+63"/>
<source>Base attribute %1 is required but derived attribute is not.</source>
- <translation>A(z) %1 alap attribútum szükséges, de a származtatott attribútum nem.</translation>
+ <translation>%1 ős attribútum megkövetelt, de a származtatott nem.</translation>
</message>
<message>
<location line="-57"/>
<source>Type of derived attribute %1 cannot be validly derived from type of base attribute.</source>
- <translation>A(z) %1 származtatott attribútum típusa nem lehet érvényesen származtatni az alap attribútum típusból.</translation>
+ <translation>%1 származtatott attribútum típusa nem származtatható érvényesen az ős attribútum típusából.</translation>
</message>
<message>
<location line="+28"/>
<source>Value constraint of derived attribute %1 does not match value constraint of base attribute.</source>
- <translation>&apos;%1 származtatott attribútum érték korlátozója nem egyezik az alap attribútum érték korlátozójával.</translation>
+ <translation>%1 származtatott attribútum érték megkötése nem egyezik az ős attribútuméval.</translation>
</message>
<message>
<location line="+5"/>
<source>Derived attribute %1 does not exist in the base definition.</source>
- <translation>%1 származtatott attribútum nem létezik az alap definícióban.</translation>
+ <translation>%1 származtatott attribútum nem létezik az ős definíciójában.</translation>
</message>
<message>
<location line="+11"/>
<source>Derived attribute %1 does not match the wildcard in the base definition.</source>
- <translation>%1 származtatott attribútum nem egyezik a helyettesítő jellel az alap definícióban.</translation>
+ <translation>%1 származtatott attribútum nem illeszkedik az ősben megadott helyettesítőre.</translation>
</message>
<message>
<location line="+17"/>
<source>Base attribute %1 is required but missing in derived definition.</source>
- <translation>%1 alap attribútum szükséges, de hiáynzik a származtatott definícióban.</translation>
+ <translation>%1 ős attribútum megkövetelt, de hiányzik a leszármazott definíciójából.</translation>
</message>
<message>
<location line="+9"/>
<source>Derived definition contains an %1 element that does not exists in the base definition</source>
- <translation>A származtatot definíció egy %1 elemet tartalmaz, ami nem létezik az alap definícióban</translation>
+ <translation>A leszármazott definíciója olyan %1 elemet tartalmaz, ami nem létezik az ős definíciójában</translation>
</message>
<message>
<location line="+5"/>
<source>Derived wildcard is not a subset of the base wildcard.</source>
- <translation>Származtatott helyettesítőjel nem az alap helyettesítőjel egy részhalmaza.</translation>
+ <translation>A származtatott helyettesítő nem részhalmaza az ősnek.</translation>
</message>
<message>
<location line="+5"/>
<source>%1 of derived wildcard is not a valid restriction of %2 of base wildcard</source>
- <translation>Származtaott helyettesítő jel %1-e nem az alap helyettesítőjel %2-nek egy érvényes korlátozója</translation>
+ <translation>Leszármazott helyettesítő %1 része nem érvényes korlátozása az ős %2 részének</translation>
</message>
<message>
<location line="+23"/>
<source>Attribute %1 from base type is missing in derived type.</source>
- <translation>Az alap típus %1 attribútuma hiányzik a származtatott típusban.</translation>
+ <translation>Az őstípus %1 attribútuma hiányzik a származtatott típusból.</translation>
</message>
<message>
<location line="+5"/>
<source>Type of derived attribute %1 differs from type of base attribute.</source>
- <translation>A(z) %1 származtatott típus az alap attribútum típusától különbözik.</translation>
+ <translation>%1 származtatott attribútum típusa eltér az ős attribútum típusától.</translation>
</message>
<message>
<location line="+8"/>
<source>Base definition contains an %1 element that is missing in the derived definition</source>
- <translation>Az alap definíció egy %1 elemet tartalmaz, ami hiányzik a származtatott definícióból</translation>
- </message>
- <message>
- <location filename="../src/xmlpatterns/schema/qxsdschemaresolver.cpp" line="+354"/>
- <source>%1 references unknown %2 or %3 element %4.</source>
- <translation>%1 ismeretlen %2 vagy %3 elemre hivatkozik %4.</translation>
- </message>
- <message>
- <location line="+10"/>
- <source>%1 references identity constraint %2 that is no %3 or %4 element.</source>
- <translation>%1 %2 indentitás korlátozóra hivatkozik, ami nem %3 vagy %4 elem.</translation>
- </message>
- <message>
- <location line="+10"/>
- <source>%1 has a different number of fields from the identity constraint %2 that it references.</source>
- <translation>%1 mezők egy különböző számát tartalmazza a(z) %2 indetitás korlátozóbol, amelyik erre hivatkozik.</translation>
- </message>
- <message>
- <location line="+23"/>
- <source>Base type %1 of %2 element cannot be resolved.</source>
- <translation>%1 elem %2 alap típusát nem lehet megfejteni.</translation>
- </message>
- <message>
- <location line="+84"/>
- <source>Item type %1 of %2 element cannot be resolved.</source>
- <translation>%2 elem %1 elem típusát nem lehet megfejteni.</translation>
- </message>
- <message>
- <location line="+31"/>
- <source>Member type %1 of %2 element cannot be resolved.</source>
- <translation>%2 elem %1 tag típusát nem lehet megoldani.</translation>
- </message>
- <message>
- <location line="+28"/>
- <location line="+408"/>
- <location line="+30"/>
- <source>Type %1 of %2 element cannot be resolved.</source>
- <translation>%2 elem %1 típusát nem lehet megoldani.</translation>
- </message>
- <message>
- <location line="-416"/>
- <source>Base type %1 of complex type cannot be resolved.</source>
- <translation>Komplex típus %1 alap típusát nem lehet megfejteni.</translation>
- </message>
- <message>
- <location line="+9"/>
- <source>%1 cannot have complex base type that has a %2.</source>
- <translation>%1 nem tartalmazhat komplex alap típusokat, egy %2-t tartalmaz.</translation>
- </message>
- <message>
- <location line="+279"/>
- <source>Content model of complex type %1 contains %2 element so it cannot be derived by extension from a non-empty type.</source>
- <translation>%1 komplex típus tartalmi modelle %2 elemet tartalmaz, tehát nem származtatható kiterjesztésben egy nem üres típusból.</translation>
- </message>
- <message>
- <location line="+6"/>
- <source>Complex type %1 cannot be derived by extension from %2 as the latter contains %3 element in its content model.</source>
- <translation>%1 komplex nem típus nem származtatható kiterjesztésben %2-ből, mert az utóbbi %3 elemet tartalmaz a tartalmi modellében.</translation>
- </message>
- <message>
- <location line="+101"/>
- <source>Type of %1 element must be a simple type, %2 is not.</source>
- <translation>%1 elem típusnak egy egyszerű típusnak kell, de %2 nem az.</translation>
- </message>
- <message>
- <location line="+62"/>
- <source>Substitution group %1 of %2 element cannot be resolved.</source>
- <translation>%2 elem %1 helyettesítési csoportját nem lehet megoldani.</translation>
- </message>
- <message>
- <location line="+9"/>
- <source>Substitution group %1 has circular definition.</source>
- <translation>%1 helyettesítési csoport cirkuláris definíciót tartalmaz.</translation>
- </message>
- <message>
- <location line="+120"/>
- <location line="+7"/>
- <source>Duplicated element names %1 in %2 element.</source>
- <translation>Duplikát %1 elemnév %2 elemben.</translation>
- </message>
- <message>
- <location line="+29"/>
- <location line="+52"/>
- <location line="+71"/>
- <location line="+28"/>
- <source>Reference %1 of %2 element cannot be resolved.</source>
- <translation>%2 elem %1 hivatkozását nem lehet megoldani.</translation>
- </message>
- <message>
- <location line="-138"/>
- <source>Circular group reference for %1.</source>
- <translation>Cirkuláris csoport hivatkozás %1-re.</translation>
- </message>
- <message>
- <location line="+16"/>
- <source>%1 element is not allowed in this scope</source>
- <translation>%1 elem nem engedélyezett ebben a hatókörben</translation>
- </message>
- <message>
- <location line="+5"/>
- <source>%1 element cannot have %2 attribute with value other than %3.</source>
- <translation>%1 elem nem tartalmazhat %2 attribútumot %3-tól eltérő értékkel.</translation>
- </message>
- <message>
- <location line="+8"/>
- <source>%1 element cannot have %2 attribute with value other than %3 or %4.</source>
- <translation>%1 element nem tartalmazhat %2 attribútumot %3 vagy %4-től eltérő értékkel.</translation>
- </message>
- <message>
- <location line="+91"/>
- <source>%1 or %2 attribute of reference %3 does not match with the attribute declaration %4.</source>
- <translation>%3 hivatkozás %1 vagy %2 attribútuma nem egyezik meg a(z) %4 attribútum deklarációval.</translation>
- </message>
- <message>
- <location line="+25"/>
- <source>Attribute group %1 has circular reference.</source>
- <translation>%1 attribútum csoport cirkuláris hivatkozást tartalmaz.</translation>
- </message>
- <message>
- <location line="+131"/>
- <source>%1 attribute in %2 must have %3 use like in base type %4.</source>
- <translation>%2-ben található %1 attribútumnak %3 használatát kell tartalmaznia, mint a(z) %4 alap típusban.</translation>
- </message>
- <message>
- <location line="+52"/>
- <source>Attribute wildcard of %1 is not a valid restriction of attribute wildcard of base type %2.</source>
- <translation>%1 attribútum helyettesítő jele nem a(z) %2 alap típus attribútum helyettesítő jelének egy érvényes korlátozása.</translation>
- </message>
- <message>
- <location line="+7"/>
- <source>%1 has attribute wildcard but its base type %2 has not.</source>
- <translation>%1 attribútum helyettesítő jelet tartalmaz, de a(z) %2 alap típusa nem.</translation>
- </message>
- <message>
- <location line="+26"/>
- <source>Union of attribute wildcard of type %1 and attribute wildcard of its base type %2 is not expressible.</source>
- <translation>%2 alaptípusának attribútum helyettesítő jele és a(z) %1 típus attribútum helyettesítő jelének union-ja nem kifejezhető.</translation>
- </message>
- <message>
- <location line="+48"/>
- <source>Enumeration facet contains invalid content: {%1} is not a value of type %2.</source>
- <translation>Felsorolás oldal érvénytelen tartalmat tartalmaz. {%1} nem egy érvényes %2 típus érték.</translation>
- </message>
- <message>
- <location line="+10"/>
- <source>Namespace prefix of qualified name %1 is not defined.</source>
- <translation>%1 minősített név névtér előtagja nincs definiálva.</translation>
- </message>
- <message>
- <location line="+51"/>
- <location line="+18"/>
- <source>%1 element %2 is not a valid restriction of the %3 element it redefines: %4.</source>
- <translation>%2 elem %1 nem a(z) %3 elem egy érvényes korlátozása, újradefininálja: %4.</translation>
- </message>
- <message>
- <location filename="../src/xmlpatterns/schema/qxsdparticlechecker.cpp" line="+165"/>
- <source>Empty particle cannot be derived from non-empty particle.</source>
- <translation>Üres részecskét nem lehet egy üres részecskéből származtatni.</translation>
- </message>
- <message>
- <location line="+15"/>
- <source>Derived particle is missing element %1.</source>
- <translation>Származtatott részecskének van egy %1 hiányzó eleme.</translation>
- </message>
- <message>
- <location line="+7"/>
- <source>Derived element %1 is missing value constraint as defined in base particle.</source>
- <translation>%1 származtatott elem hiányol egy érték korlátozót, ami az alap részecskében van definiálva.</translation>
- </message>
- <message>
- <location line="+5"/>
- <source>Derived element %1 has weaker value constraint than base particle.</source>
- <translation>%1 származtatott elem gyengébb érték korlátozót tartalmaz, mint az alap részecske.</translation>
- </message>
- <message>
- <location line="+7"/>
- <source>Fixed value constraint of element %1 differs from value constraint in base particle.</source>
- <translation>%1 elem fix érték korlátozója különbözik az alap részecskében található érték korlátozótól.</translation>
- </message>
- <message>
- <location line="+7"/>
- <source>Derived element %1 cannot be nillable as base element is not nillable.</source>
- <translation>%1 származtatott elem nem lehet nullázható, mint ahogy az alap elem sem nullázható.</translation>
- </message>
- <message>
- <location line="+10"/>
- <source>Block constraints of derived element %1 must not be more weaker than in the base element.</source>
- <translation>%1 származtatott elem blokk korlátozója nem lehet gyengébb, mint az alap elemben.</translation>
- </message>
- <message>
- <location line="+11"/>
- <source>Simple type of derived element %1 cannot be validly derived from base element.</source>
- <translation>%1 származtatott elem egyszerű típusa nem származtatható érvényesen az alap elemből.</translation>
- </message>
- <message>
- <location line="+5"/>
- <source>Complex type of derived element %1 cannot be validly derived from base element.</source>
- <translation>%1 származtatott elem komplex típusa nem származtatható érvényesen az alap elemből.</translation>
- </message>
- <message>
- <location line="+24"/>
- <source>Element %1 is missing in derived particle.</source>
- <translation>%1 elem hiányzik a származtott récseszkében.</translation>
- </message>
- <message>
- <location line="+18"/>
- <source>Element %1 does not match namespace constraint of wildcard in base particle.</source>
- <translation>%1 elem nem egyezik meg az alap részecskében található helyettesítő jel névtér korlátozójával.</translation>
- </message>
- <message>
- <location line="+11"/>
- <source>Wildcard in derived particle is not a valid subset of wildcard in base particle.</source>
- <translation>Helyettesítő jel a származtatott részecskénen nem az alap részecskében található helyettesítő jel egy érvényes részhalmaza.</translation>
- </message>
- <message>
- <location line="+5"/>
- <source>processContent of wildcard in derived particle is weaker than wildcard in base particle.</source>
- <translation>A származtatott részecskében található helyettesítő jel folyamatTartalma gyengébb, mint az alap részecskében található helyettesítő jel.</translation>
- </message>
- <message>
- <location line="+240"/>
- <source>Derived particle allows content that is not allowed in the base particle.</source>
- <translation>Származtatott részecske engedélyezi a tartalmat, ami nem engedélyezett az alap részecskében.</translation>
+ <translation>Az ős definíciója tartalmaz olyan %1 elemet, ami hiányzik a leszármazott definíciójából</translation>
</message>
<message>
<location filename="../src/xmlpatterns/schema/qxsdschemaparser.cpp" line="+170"/>
<source>Can not process unknown element %1, expected elements are: %2.</source>
- <translation>Nem lehet feldolgozni ismeretlen %1 elemet, várt elemek: %2.</translation>
+ <translation>%1 ismeretlen elemet nem lehet feldolgozni, a várt elemek: %2.</translation>
</message>
<message>
<location line="+13"/>
<source>Element %1 is not allowed in this scope, possible elements are: %2.</source>
- <translation>%1 elem nem engedélyezett ebben a hatórközben, lehetséges elemek: %2.</translation>
+ <translation>%1 elem nem megengedett ebben a hatókörben, a lehetséges elemek: %2.</translation>
</message>
<message>
<location line="+16"/>
<source>Child element is missing in that scope, possible child elements are: %1.</source>
- <translation>Gyermek elem hiányzik abban a hatókörben, lehetséges gyermek elemek: %1.</translation>
+ <translation>Gyermek elem hiányzik abból a hatókörből, lehetséges gyermek elemek: %1.</translation>
</message>
<message>
- <location line="+127"/>
+ <location line="+143"/>
<source>Document is not a XML schema.</source>
- <translation>Dokumentum nem egy XML terv.</translation>
+ <translation>A dokumentum nem egy XML séma.</translation>
</message>
<message>
<location line="+22"/>
<source>%1 attribute of %2 element contains invalid content: {%3} is not a value of type %4.</source>
- <translation>%2 elem %1 attribútuma érvénytelen tartalmat tartalmaz: {%3} nem egy %4 típus érték.</translation>
+ <translation>%2 elem %1 attribútuma érvénytelen tartalmú: {%3} érvénytelen %4 típusú érték.</translation>
</message>
<message>
<location line="+6"/>
<source>%1 attribute of %2 element contains invalid content: {%3}.</source>
- <translation>%2 elem %1 attribútuma érvénytelen tartalmat tartalmaz: {%3}.</translation>
+ <translation>%2 elem %1 attribútuma érvénytelen tartalmú: {%3}.</translation>
</message>
<message>
<location line="+26"/>
<source>Target namespace %1 of included schema is different from the target namespace %2 as defined by the including schema.</source>
- <translation>A beleértett terv %1 cél névtere különbözik a %2 cél névtértől, amit a beleértett terv által lett definiálva.</translation>
+ <translation>%1 beemelt séma cél-névtere különbözik a beemelő sémában definiált %2 cél-névtértől.</translation>
</message>
<message>
<location line="+14"/>
<location line="+11"/>
<source>Target namespace %1 of imported schema is different from the target namespace %2 as defined by the importing schema.</source>
- <translation>Az importált terv %1 cél névtere különbözik a(z) %2 cél névtértől, ami az importált terv által van definiálva.</translation>
+ <translation>%1 importált séma cél-névtere különbözik az importáló sémában definiált %2 cél-névtértől.</translation>
</message>
<message>
- <location line="+237"/>
+ <location line="+243"/>
<source>%1 element is not allowed to have the same %2 attribute value as the target namespace %3.</source>
- <translation>%1 elem nem tartalmazhatja ugyanazt a(z) %2 attribútum értéket, mint a(z) %3 cél névtér.</translation>
+ <translation>%1 elemnek nem lehet ugyanaz a %2 attribútum értéke, mint %3 cél-névtérnek.</translation>
</message>
<message>
<location line="+8"/>
<source>%1 element without %2 attribute is not allowed inside schema without target namespace.</source>
- <translation>%1 elem %2 attribútum nélkül nem engedélyezett a vázlaton belül cél névtér nélkül.</translation>
+ <translation>%2 attribútum nélküli %1 elem nem engedélyezett cél-névtér nélküli séma belsejében.</translation>
</message>
<message>
- <location line="+833"/>
+ <location line="+851"/>
<location line="+158"/>
<source>%1 element is not allowed inside %2 element if %3 attribute is present.</source>
- <translation>%1 elem nem engedélyezett a(z) %2 elemen belül, ha %3 attribútum van nyújtva.</translation>
+ <translation>%1 elem nem megengedett %2 elemen belül, ha %3 attribútum meg van adva.</translation>
</message>
<message>
<location line="-97"/>
<location line="+119"/>
<location line="+92"/>
<source>%1 element has neither %2 attribute nor %3 child element.</source>
- <translation>%1 elem nem tartalmaz %2 attribútumot és %3 gyermek elemet sem.</translation>
+ <translation>%1 elemnek sem %2 attribútuma, sem %3 gyermek eleme nincs.</translation>
</message>
<message>
<location line="+835"/>
@@ -9878,23 +12827,23 @@ Kérem válasszon egy különböző fájl nevet.</translation>
<location line="+11"/>
<location line="+11"/>
<source>%1 element with %2 child element must not have a %3 attribute.</source>
- <translation>%1 elem %2 gyermek elemmel nem tartalmazhat egy %3 attribútumot.</translation>
+ <translation>%2 gyermek elemmel rendelkező %1 elemnek nem lehet %3 attribútuma.</translation>
</message>
<message>
<location line="-1325"/>
<source>%1 attribute of %2 element must be %3 or %4.</source>
- <translation>%2 elem %1 attribútumának %3 vagy %4-nek kell lennie.</translation>
+ <translation>%2 elem %1 attribútumának értéke %3 vagy %4 kell legyen.</translation>
</message>
<message>
<location line="+36"/>
<source>%1 attribute of %2 element must have a value of %3.</source>
- <translation>%2 elem %1 attribútumának %3 egy értékét tartalmaznia kell.</translation>
+ <translation>%2 elem %1 attribútumának értéke %3 kell legyen.</translation>
</message>
<message>
<location line="+7"/>
<location line="+34"/>
<source>%1 attribute of %2 element must have a value of %3 or %4.</source>
- <translation>%2 elem %1 attribútumának tartalmaznia kell %3 vagy %4 egy értékét.</translation>
+ <translation>%2 elem %1 attribútumának értéke %3 vagy %4 kell legyen.</translation>
</message>
<message>
<location line="+319"/>
@@ -9912,81 +12861,81 @@ Kérem válasszon egy különböző fájl nevet.</translation>
<location line="+6"/>
<location line="+77"/>
<source>%1 element must not have %2 and %3 attribute together.</source>
- <translation>%1 elemnek tartalmaznia kell %2 és %3 attribútumokat együttesen.</translation>
+ <translation>%1 elemnek nem lehet egyidejűleg %2 és %3 attribútuma.</translation>
</message>
<message>
<location line="-768"/>
<location line="+222"/>
<source>Content of %1 attribute of %2 element must not be from namespace %3.</source>
- <translation>%2 elem %1 attribútumának tartalmának nem szabad a(z) %3 névtérből lennie.</translation>
+ <translation>%2 elem %1 attribútumának tartalma nem lehet %3 névtérből való.</translation>
</message>
<message>
<location line="-215"/>
<location line="+222"/>
<source>%1 attribute of %2 element must not be %3.</source>
- <translation>%2 elem %1 attribútumának nem szabad %3-nak lennie.</translation>
+ <translation>%2 elem %1 attribútuma nem lehet %3.</translation>
</message>
<message>
<location line="-64"/>
<source>%1 attribute of %2 element must have the value %3 because the %4 attribute is set.</source>
- <translation>%2 elem %1 attribútumának tartalmaznia kell %3 értéket, mert %4 attribútum be van állítva.</translation>
+ <translation>%2 elem %1 attribútumának értéke %3 kell legyen, mert a(z) %4 attribútum van megadva.</translation>
</message>
<message>
<location line="+187"/>
<source>Specifying use=&apos;prohibited&apos; inside an attribute group has no effect.</source>
- <translation>Használat meghatározásának = &apos;tiltott&apos; egy attribútum csoportját belül nincsen hatása.</translation>
+ <translation>use=&apos;prohibited&apos; megadása egy attribútum csoporton belül hatástalan.</translation>
</message>
<message>
<location line="+353"/>
<source>%1 element must have either %2 or %3 attribute.</source>
- <translation>%1 elemnek vagy %2 vagy %3 attribútumot tartalmaznia kell.</translation>
+ <translation>%1 elemnek vagy %2 vagy %3 attribútumának lennie kell.</translation>
</message>
<message>
<location line="+554"/>
<source>%1 element must have either %2 attribute or %3 or %4 as child element.</source>
- <translation>%1 elemnek tartalmaznia kell vagy %2 vagy %3 vagy %4 attribútumot, mint ahogy a gyermek elem.</translation>
+ <translation>%1 elemnek vagy %2 attribútumának, vagy %3 vagy %4 gyermek elemének lennie kell.</translation>
</message>
<message>
<location line="+55"/>
<source>%1 element requires either %2 or %3 attribute.</source>
- <translation>%1 elem vagy %2 vagy %3 attribútumot igényli.</translation>
+ <translation>%1 elemnek %2 vagy %3 attribútumát meg kell adni.</translation>
</message>
<message>
<location line="+19"/>
<source>Text or entity references not allowed inside %1 element</source>
- <translation>Szöveg avgy entitás hivatkozás nem engedélyezett a(z) %1 elemen belül</translation>
+ <translation>Szöveg és entitás referenciák nem engedélyezettek %1 elemen belül</translation>
</message>
<message>
<location line="+41"/>
<location line="+112"/>
<source>%1 attribute of %2 element must contain %3, %4 or a list of URIs.</source>
- <translation>%2 elem %1 attribútumának tartalmaznia kell %3, %4 vagy URI-k egy listáját.</translation>
+ <translation>%2 elem %1 attribútumának %3-t, %4-t vagy URI-k listáját kell tartalmaznia.</translation>
</message>
<message>
<location line="+126"/>
<source>%1 element is not allowed in this context.</source>
- <translation>%1 elem nem engedélyezett ebben a szöveg környezetben.</translation>
+ <translation>%1 elem nem megengedett ebben a kontextusban.</translation>
</message>
<message>
<location line="+53"/>
<source>%1 attribute of %2 element has larger value than %3 attribute.</source>
- <translation>%2 elem %1 attribútuma nagyobb értéket tartalmaz, mint a %3 attribútum.</translation>
+ <translation>%2 elem %1 attribútumának értéka nagyobb, mint a(z) %3 attribútumé.</translation>
</message>
<message>
<location line="+25"/>
<source>Prefix of qualified name %1 is not defined.</source>
- <translation>A(z) %1 minősített név előtagja nem definiált.</translation>
+ <translation>%1 kvalifikált név prefixuma nincs definiálva.</translation>
</message>
<message>
<location line="+65"/>
<location line="+61"/>
<source>%1 attribute of %2 element must either contain %3 or the other values.</source>
- <translation>%2 elem %1 attribútumának vagy %3 vagy más értékeket kell tartalmaznia.</translation>
+ <translation>%2 elem %1 attribútumának vagy %3-t vagy a többi értéket kell tartalmaznia.</translation>
</message>
<message>
<location line="+131"/>
<source>Component with ID %1 has been defined previously.</source>
- <translation>%1 azonosítóval rendelkezővel komponens előzőleg definiálva lett.</translation>
+ <translation>%1 ID-jű komponens már lett definiálva korábban.</translation>
</message>
<message>
<location line="+17"/>
@@ -10006,329 +12955,483 @@ Kérem válasszon egy különböző fájl nevet.</translation>
<message>
<location line="+23"/>
<source>Attribute group %1 already defined.</source>
- <translation>%1 csoport attribútum már definiálva van.</translation>
+ <translation>%1 attribútum csoport már definiálva van.</translation>
</message>
<message>
<location line="+11"/>
<source>Element group %1 already defined.</source>
- <translation>%1 csoport elem már definiálva van.</translation>
+ <translation>%1 elemcsoport már definiálva van.</translation>
</message>
<message>
<location line="+11"/>
<source>Notation %1 already defined.</source>
- <translation>%1 értesítés már definiálva van.</translation>
+ <translation>%1 jelölés már definiálva van.</translation>
</message>
<message>
<location line="+11"/>
<source>Identity constraint %1 already defined.</source>
- <translation>%1 azonosító korlátozó már definiálva van.</translation>
+ <translation>%1 identitás megkötés már definiálva van.</translation>
</message>
<message>
<location line="+11"/>
<source>Duplicated facets in simple type %1.</source>
- <translation>Duplikált oldalak %1 egyszerű típusban.</translation>
+ <translation>Duplikált facet-ek %1 egyszerű típusban.</translation>
+ </message>
+ <message>
+ <location filename="../src/xmlpatterns/schema/qxsdschemaresolver.cpp" line="+354"/>
+ <source>%1 references unknown %2 or %3 element %4.</source>
+ <translatorcomment>CHECKIT</translatorcomment>
+ <translation>%1 érvénytelen %2 vagy %3 %4 elemre hivatkozik.</translation>
+ </message>
+ <message>
+ <location line="+10"/>
+ <source>%1 references identity constraint %2 that is no %3 or %4 element.</source>
+ <translation>%1 %2 identitás megkötésre hivatkozik, ami nem %3 vagy %4 elem.</translation>
+ </message>
+ <message>
+ <location line="+10"/>
+ <source>%1 has a different number of fields from the identity constraint %2 that it references.</source>
+ <translation>%1 eltérő számú mezőt tartalmaz, mint az általa hivatkozott %2 identitás megkötés.</translation>
+ </message>
+ <message>
+ <location line="+23"/>
+ <source>Base type %1 of %2 element cannot be resolved.</source>
+ <translation>%2 elem %1 őstípusa nem feloldható.</translation>
+ </message>
+ <message>
+ <location line="+84"/>
+ <source>Item type %1 of %2 element cannot be resolved.</source>
+ <translation>%2 elem %1 elemtípusa nem feloldható.</translation>
+ </message>
+ <message>
+ <location line="+31"/>
+ <source>Member type %1 of %2 element cannot be resolved.</source>
+ <translation>%2 elem %1 tagtípusa nem feloldható.</translation>
+ </message>
+ <message>
+ <location line="+28"/>
+ <location line="+415"/>
+ <location line="+30"/>
+ <source>Type %1 of %2 element cannot be resolved.</source>
+ <translation>%2 elem %1 típusa nem oldható fel.</translation>
+ </message>
+ <message>
+ <location line="-423"/>
+ <source>Base type %1 of complex type cannot be resolved.</source>
+ <translation>Komplex típus %1 őstípusa nem oldható fel.</translation>
+ </message>
+ <message>
+ <location line="+9"/>
+ <source>%1 cannot have complex base type that has a %2.</source>
+ <translation>%1-nek nem lehet %2-t tartalmazó komplex őstípusa.</translation>
+ </message>
+ <message>
+ <location line="+286"/>
+ <source>Content model of complex type %1 contains %2 element so it cannot be derived by extension from a non-empty type.</source>
+ <translation>%1 komplex típus tartalom modellje %2 elemet tartalmaz, ezáltal kiterjesztéssel nem származtatható nem üres típusból.</translation>
+ </message>
+ <message>
+ <location line="+6"/>
+ <source>Complex type %1 cannot be derived by extension from %2 as the latter contains %3 element in its content model.</source>
+ <translation>%1 komplex típus nem származhat kiterjesztéssel %2-ból, mivel utóbbi %3 elemet tartalmaz a tartalom modelljében.</translation>
+ </message>
+ <message>
+ <location line="+101"/>
+ <source>Type of %1 element must be a simple type, %2 is not.</source>
+ <translation>%1 elem típusának egyszerű típusnak kell lennie, %2 nem az.</translation>
+ </message>
+ <message>
+ <location line="+62"/>
+ <source>Substitution group %1 of %2 element cannot be resolved.</source>
+ <translation>%2 elem %1 részcsoportja nem oldható fel.</translation>
+ </message>
+ <message>
+ <location line="+9"/>
+ <source>Substitution group %1 has circular definition.</source>
+ <translation>%1 részcsoport körkörös definíciót tartalmaz.</translation>
+ </message>
+ <message>
+ <location line="+120"/>
+ <location line="+7"/>
+ <source>Duplicated element names %1 in %2 element.</source>
+ <translation>Duplikált %1 elemnevek a(z) %2 elemben.</translation>
+ </message>
+ <message>
+ <location line="+29"/>
+ <location line="+52"/>
+ <location line="+71"/>
+ <location line="+28"/>
+ <source>Reference %1 of %2 element cannot be resolved.</source>
+ <translation>%2 elem %1 referenciája nem oldható fel.</translation>
+ </message>
+ <message>
+ <location line="-138"/>
+ <source>Circular group reference for %1.</source>
+ <translation>Körkörös csoport referencia %1-nél.</translation>
+ </message>
+ <message>
+ <location line="+16"/>
+ <source>%1 element is not allowed in this scope</source>
+ <translation>%1 elem nem megengedett ebben a hatókörben</translation>
+ </message>
+ <message>
+ <location line="+5"/>
+ <source>%1 element cannot have %2 attribute with value other than %3.</source>
+ <translation>%1 elem %2 attribútumának nem lehet más értéke, mint %3.</translation>
+ </message>
+ <message>
+ <location line="+8"/>
+ <source>%1 element cannot have %2 attribute with value other than %3 or %4.</source>
+ <translation>%1 elem %2 attribútumának nem lehet más értéke, mint %3 vagy %4.</translation>
+ </message>
+ <message>
+ <location line="+91"/>
+ <source>%1 or %2 attribute of reference %3 does not match with the attribute declaration %4.</source>
+ <translation>%3 referencia %1 vagy %2 attribútuma nem egyezik %4 attribútum deklarációval.</translation>
+ </message>
+ <message>
+ <location line="+25"/>
+ <source>Attribute group %1 has circular reference.</source>
+ <translation>%1 attribútum csoport körkörös referenciát tartalmaz.</translation>
+ </message>
+ <message>
+ <location line="+131"/>
+ <source>%1 attribute in %2 must have %3 use like in base type %4.</source>
+ <translation>%2 %1 attribútuma %3 kell legyen, úgy, mint %4 őstípusban.</translation>
+ </message>
+ <message>
+ <location line="+52"/>
+ <source>Attribute wildcard of %1 is not a valid restriction of attribute wildcard of base type %2.</source>
+ <translation>%1 attribútum helyettesítője nem érvényes megkötése %2 őstípus helyettesítőjének.</translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>%1 has attribute wildcard but its base type %2 has not.</source>
+ <translation>%1-nak van attribútum helyettesítője, de %2 őstípusnak nincs.</translation>
+ </message>
+ <message>
+ <location line="+26"/>
+ <source>Union of attribute wildcard of type %1 and attribute wildcard of its base type %2 is not expressible.</source>
+ <translation>%1 típus attribútum helyettesítőjének és %2 őstípusa helyettesítőjének uniója nem kiefjezhető.</translation>
+ </message>
+ <message>
+ <location line="+48"/>
+ <source>Enumeration facet contains invalid content: {%1} is not a value of type %2.</source>
+ <translation>Érvénytelen tartalom felsorolás facet-ben: {%1} érvénytelen érték %2 típusban.</translation>
+ </message>
+ <message>
+ <location line="+10"/>
+ <source>Namespace prefix of qualified name %1 is not defined.</source>
+ <translation>%1 névtér prefixum vagy kvalifikált név nincs definiálva.</translation>
+ </message>
+ <message>
+ <location line="+51"/>
+ <location line="+18"/>
+ <source>%1 element %2 is not a valid restriction of the %3 element it redefines: %4.</source>
+ <translation>%1 elem érvénytelen %2 megkötése az általa felüldefiniált %3 elemre: %4.</translation>
</message>
<message>
<location filename="../src/xmlpatterns/schema/qxsdtypechecker.cpp" line="+233"/>
<location line="+7"/>
<location line="+21"/>
<source>%1 is not valid according to %2.</source>
- <translation>%1 nem érvényes %2 szerint.</translation>
+ <translation>%2 alapján %1 érvénytelen.</translation>
</message>
<message>
<location line="+167"/>
<source>String content does not match the length facet.</source>
- <translation>Sztring tartalom nem egyezik a hossz oldallal.</translation>
+ <translation>A karakterlánc tartalom nem felel meg a hossz facet-nek.</translation>
</message>
<message>
<location line="+8"/>
<source>String content does not match the minLength facet.</source>
- <translation>Sztring tartalom nem egyezik a minimális hosszúságú felülettel.</translation>
+ <translation>A karakterlánc tartalom nem felel meg a minLength facet-nek.</translation>
</message>
<message>
<location line="+8"/>
<source>String content does not match the maxLength facet.</source>
- <translation>Sztring tartalom nem egyezik a maximális hosszúságú felülettel.</translation>
+ <translation>A karakterlánc tartalom nem felel meg a maxLength facet-nek.</translation>
</message>
<message>
<location line="+18"/>
<source>String content does not match pattern facet.</source>
- <translation>Sztrng tartalom nem egyezik a minta felülettel.</translation>
+ <translation>A karakterlánc tartalom nem felel meg a minta facet-nek.</translation>
</message>
<message>
<location line="+18"/>
<source>String content is not listed in the enumeration facet.</source>
- <translation>Sztring tartalom nincs listázva a felsorol felületben.</translation>
+ <translation>A karakterlánc tartalom nem szerepel a felsorolás facet-ben.</translation>
</message>
<message>
<location line="+17"/>
<source>Signed integer content does not match the maxInclusive facet.</source>
- <translation>Előjeles egész szám tartalom nem egyezik a maximális beleszámított felülettel.</translation>
+ <translation>Előjeles egész szám tartalom nem felel meg a maxInclusive facet-nek.</translation>
</message>
<message>
<location line="+8"/>
<source>Signed integer content does not match the maxExclusive facet.</source>
- <translation>Előjeles egész szám tartalom nem egyzik a maximális kizárólagos felülettel.</translation>
+ <translation>Előjeles egész szám tartalom nem felel meg a maxExclusive facet-nek.</translation>
</message>
<message>
<location line="+8"/>
<source>Signed integer content does not match the minInclusive facet.</source>
- <translation>Előjeles egész szám tartalom nem egyezik a minimális beleértet felülettel.</translation>
+ <translation>Előjeles egész szám tartalom nem felel meg a minInclusive facet-nek.</translation>
</message>
<message>
<location line="+8"/>
<source>Signed integer content does not match the minExclusive facet.</source>
- <translation>Előjeles egész szám tartalom nem egyezik a minimális kizárólagos felülettel.</translation>
+ <translation>Előjeles egész szám tartalom nem felel meg a minExclusive facet-nek.</translation>
</message>
<message>
<location line="+18"/>
<source>Signed integer content is not listed in the enumeration facet.</source>
- <translation>Előjeles egész szám tartalom nincsen kilistázva a felsorolási felületben.</translation>
+ <translation>Előjeles egész szám tartalom nem felel meg a felsorolás facet-nek.</translation>
</message>
<message>
<location line="+18"/>
<source>Signed integer content does not match pattern facet.</source>
- <translation>Előjeles egész szám tartalom nem egyezik a minta felületben.</translation>
+ <translation>Előjeles egész szám tartalom nem felel meg a minta facet-nek.</translation>
</message>
<message>
<location line="+9"/>
<source>Signed integer content does not match in the totalDigits facet.</source>
- <translation>Előjeles egész szám tartalom nem egyezik a teljesSzámos felület.</translation>
+ <translation>Előjeles egész szám tartalom nem felel meg a totalDigits facet-nek.</translation>
</message>
<message>
<location line="+17"/>
<source>Unsigned integer content does not match the maxInclusive facet.</source>
- <translation>Nem előjeles egész szám tartalom nem egyezik a maximális beleértett felülettel.</translation>
+ <translation>Előjel nélküli egész szám tartalom nem felel meg a maxInclusive facet-nek.</translation>
</message>
<message>
<location line="+8"/>
<source>Unsigned integer content does not match the maxExclusive facet.</source>
- <translation>Nem előjeles egész szám tartalom nem egyezik a maximális kizárólagos felülettel.</translation>
+ <translation>Előjel nélküli egész szám tartalom nem felel meg a maxExclusive facet-nek.</translation>
</message>
<message>
<location line="+8"/>
<source>Unsigned integer content does not match the minInclusive facet.</source>
- <translation>Nem előjeles tartalom nem egyezik a minimális beleértett felülettel.</translation>
+ <translation>Előjel nélküli egész szám tartalom nem felel meg a minInclusive facet-nek.</translation>
</message>
<message>
<location line="+8"/>
<source>Unsigned integer content does not match the minExclusive facet.</source>
- <translation>Nem előjeleg egész szám tartalom nem egyezik a beleértett minimális felülettel.</translation>
+ <translation>Előjel nélküli egész szám tartalom nem felel meg a minExclusive facet-nek.</translation>
</message>
<message>
<location line="+18"/>
<source>Unsigned integer content is not listed in the enumeration facet.</source>
- <translation>Nem előjeles egész szám tartalom nincsen kilistázva a felsorolási felületben.</translation>
+ <translation>Előjel nélküli egész szám tartalom nem szerepel a felsorolás facet-ben.</translation>
</message>
<message>
<location line="+18"/>
<source>Unsigned integer content does not match pattern facet.</source>
- <translation>Nem előjeles egész szám tartalom nem egyezik a minta felületben.</translation>
+ <translation>Előjel nélküli egész szám tartalom nem felel meg a minta facet-nek.</translation>
</message>
<message>
<location line="+9"/>
<source>Unsigned integer content does not match in the totalDigits facet.</source>
- <translation>Nem előjeles egész szám tartalom nem egyezik a teljesSzámos felületben.</translation>
+ <translation>Előjel nélküli egész szám tartalom nem felel meg a totalDigits facet-nek.</translation>
</message>
<message>
<location line="+17"/>
<source>Double content does not match the maxInclusive facet.</source>
- <translation>Dupla tartalom nem egyezik a maximális beleértett felületben.</translation>
+ <translation>Dupla pontosságú szám tartalom nem felel meg a maxInclusive facet-nek.</translation>
</message>
<message>
<location line="+8"/>
<source>Double content does not match the maxExclusive facet.</source>
- <translation>Dupla tartalom nem egyezik a maximális kizárólagos felülettel.</translation>
+ <translation>Dupla pontosságú szám tartalom nem felel meg a maxExclusive facet-nek.</translation>
</message>
<message>
<location line="+8"/>
<source>Double content does not match the minInclusive facet.</source>
- <translation>Dupla tartalom nem egyezik a minimális beleértett felülettel.</translation>
+ <translation>Dupla pontosságú szám tartalom nem felel meg a minInclusive facet-nek.</translation>
</message>
<message>
<location line="+8"/>
<source>Double content does not match the minExclusive facet.</source>
- <translation>Dupla tartalom nem egyezik a minimális kizárólag felülettel.</translation>
+ <translation>Dupla pontosságú szám tartalom nem felel meg a minExclusive facet-nek.</translation>
</message>
<message>
<location line="+18"/>
<source>Double content is not listed in the enumeration facet.</source>
- <translation>Dupla tartalom nincs listázva a felsorolási felületben.</translation>
+ <translation>Dupla pontosságú szám tartalom nem felel meg a felsorolás facet-nek.</translation>
</message>
<message>
<location line="+18"/>
<source>Double content does not match pattern facet.</source>
- <translation>Dupla tartalom nem egyezik a minta felületben.</translation>
+ <translation>Dupla pontosságú szám tartalom nem felel meg a minta facet-nek.</translation>
</message>
<message>
<location line="+18"/>
<source>Decimal content does not match in the fractionDigits facet.</source>
- <translation>Tizedes tartalom nem egyezik a szám tényezős felületben.</translation>
+ <translation>Decimális tartalom nem felel meg a fractionDigits facet-nek.</translation>
</message>
<message>
<location line="+9"/>
<source>Decimal content does not match in the totalDigits facet.</source>
- <translation>Tizedes tartalom nem egyezik a teljesenSzámos felületben.</translation>
+ <translation>Decimális tartalom nem felel meg a totalDigits facet-nek.</translation>
</message>
<message>
<location line="+14"/>
<source>Date time content does not match the maxInclusive facet.</source>
- <translation>Dátum idő tartalom nem egyezik a maximális beleértett felülettel.</translation>
+ <translation>Dátum-idő tartalom nem felel meg a maxInclusive facet-nek.</translation>
</message>
<message>
<location line="+8"/>
<source>Date time content does not match the maxExclusive facet.</source>
- <translation>Dátum idő tartalom nem egyezik a maximális kizárólagos felülettel.</translation>
+ <translation>Dátum-idő tartalom nem felel meg a maxExclusive facet-nek.</translation>
</message>
<message>
<location line="+8"/>
<source>Date time content does not match the minInclusive facet.</source>
- <translation>Dátum idő tartalom nem egyezik a minimális beleértett felülettel.</translation>
+ <translation>Dátum-idő tartalom nem felel meg a minInclusive facet-nek.</translation>
</message>
<message>
<location line="+8"/>
<source>Date time content does not match the minExclusive facet.</source>
- <translation>Dátum idő tartalom nem egyezik a minimális kizárólagos felülettel.</translation>
+ <translation>Dátum-idő tartalom nem felel meg a minExclusive facet-nek.</translation>
</message>
<message>
<location line="+18"/>
<source>Date time content is not listed in the enumeration facet.</source>
- <translation>Dátum idő tartalom nincsen kilistázva a felsorolási felületben.</translation>
+ <translation>Dátum-idő tartalom nem szerepel a felsorolás facet-ben.</translation>
</message>
<message>
<location line="+18"/>
<source>Date time content does not match pattern facet.</source>
- <translation>Dátum idő tartalom nem egyezik a minta felületben.</translation>
+ <translation>Dátum-idő tartalom nem felel meg a minta facet-nek.</translation>
</message>
<message>
<location line="+15"/>
<source>Duration content does not match the maxInclusive facet.</source>
- <translation>Tartalom időtartam nem egyezik a maximális beleértett felülettel.</translation>
+ <translation>Időtartam tartalom nem felel meg a maxInclusive facet-nek.</translation>
</message>
<message>
<location line="+9"/>
<source>Duration content does not match the maxExclusive facet.</source>
- <translation>Tartalom időtartam nem egyezik a maximális kizárólagos felülettel.</translation>
+ <translation>Időtartam tartalom nem felel meg a maxExclusive facet-nek.</translation>
</message>
<message>
<location line="+9"/>
<source>Duration content does not match the minInclusive facet.</source>
- <translation>Tartalom időtartam nem egyezik a minimális benne foglalt felülettel.</translation>
+ <translation>Időtartam tartalom nem felel meg a minInclusive facet-nek.</translation>
</message>
<message>
<location line="+9"/>
<source>Duration content does not match the minExclusive facet.</source>
- <translation>Tartalom időtartam nem egyezik a minimális kizárólagos felülettel.</translation>
+ <translation>Időtartam tartalom nem felel meg a minExclusive facet-nek.</translation>
</message>
<message>
<location line="+18"/>
<source>Duration content is not listed in the enumeration facet.</source>
- <translation>Tartalom időtartam nincs listázva a felsorolási felületben.</translation>
+ <translation>Időtartam tartalom nem szerepel a felsorolás facet-ben.</translation>
</message>
<message>
<location line="+18"/>
<source>Duration content does not match pattern facet.</source>
- <translation>Tartalom időtartam nem egyezik a felület mintában.</translation>
+ <translation>Időtartam tartalom nem felel meg a minta facet-nek.</translation>
</message>
<message>
<location line="+27"/>
<source>Boolean content does not match pattern facet.</source>
- <translation>Logikai tartalom nem egyezik a minta felületben.</translation>
+ <translation>Logikai tartalom nem felel meg a minta facet-nek.</translation>
</message>
<message>
<location line="+17"/>
<source>Binary content does not match the length facet.</source>
- <translation>Bináris tartalom nem egyezik a hossz felületben.</translation>
+ <translation>Bináris tartalom nem felel meg a hossz facet-nek.</translation>
</message>
<message>
<location line="+8"/>
<source>Binary content does not match the minLength facet.</source>
- <translation>Bináris tartalom nem egyezik a minimális hossz felületben.</translation>
+ <translation>Bináris tartalom nem felel meg a minLength facet-nek.</translation>
</message>
<message>
<location line="+8"/>
<source>Binary content does not match the maxLength facet.</source>
- <translation>Bináris tartalom nem egyezik a maximális hossz felületben.</translation>
+ <translation>Bináris tartalom nem felel meg a maxLength facet-nek.</translation>
</message>
<message>
<location line="+18"/>
<source>Binary content is not listed in the enumeration facet.</source>
- <translation>Bináris tartalom nincsen kilistázva a felsorolási felületben.</translation>
+ <translation>Bináris tartalom nem szerepel a felsorolás facet-ben.</translation>
</message>
<message>
<location line="+27"/>
<source>Invalid QName content: %1.</source>
- <translation>Érvénytelen QName tartalom: %1.</translation>
+ <translation>Érvénytelen QName tartalom: %1.</translation>
</message>
<message>
<location line="+17"/>
<source>QName content is not listed in the enumeration facet.</source>
- <translation>QName tartalom nincsen kilistázva a felsorolási felületben.</translation>
+ <translation>QName tartalom nem szerepel a felsorolás facet-ben.</translation>
</message>
<message>
<location line="+18"/>
<source>QName content does not match pattern facet.</source>
- <translation>QName tartalom nem egyezik a mintha felületben.</translation>
+ <translation>QName tartalom nem felel meg a minta facet-nek.</translation>
</message>
<message>
<location line="+36"/>
<source>Notation content is not listed in the enumeration facet.</source>
- <translation>Tartalom jelölés nincsen kilistázva a felsorolási felületben.</translation>
+ <translation>Jelölő tartalom nem szerepel a felsorolás facet-ben.</translation>
</message>
<message>
<location line="+19"/>
<source>List content does not match length facet.</source>
- <translation>Tartalom lista nem egyezik a hossz felületben.</translation>
+ <translation>Lista tartalom nem felel meg a hossz facet-nek.</translation>
</message>
<message>
<location line="+7"/>
<source>List content does not match minLength facet.</source>
- <translation>Tartalmi lista nem egyezik a minimális hossz felületben.</translation>
+ <translation>Lista tartalom nem felel meg a minLength facet-nek.</translation>
</message>
<message>
<location line="+7"/>
<source>List content does not match maxLength facet.</source>
- <translation>Tartalmi list nem egyezik a maximális hossz felületen.</translation>
+ <translation>Lista tartalom nem felel meg a maxLength facet-nek.</translation>
</message>
<message>
<location line="+90"/>
<source>List content is not listed in the enumeration facet.</source>
- <translation>Tartalmi lista nincsen kilistázva a felsorolási felületen.</translation>
+ <translation>Lista tartalom nem szerepl a felsorolás facet-ben.</translation>
</message>
<message>
<location line="+18"/>
<source>List content does not match pattern facet.</source>
- <translation>Tartalmi lista nem egyezik a minta felületen.</translation>
+ <translation>Lista tartalom nem felel meg a minta facet-nek.</translation>
</message>
<message>
<location line="+39"/>
<source>Union content is not listed in the enumeration facet.</source>
- <translation>Egység tartalom nincsen kilistázva a felsorolási felületen.</translation>
+ <translation>Union tartalom nem szerepel a felsorolás facet-ben.</translation>
</message>
<message>
<location line="+18"/>
<source>Union content does not match pattern facet.</source>
- <translation>Egység tartalom nem egyezik a minta felületen.</translation>
+ <translation>Union tartalom nem felel meg a minta facet-nek.</translation>
</message>
<message>
<location line="+15"/>
<source>Data of type %1 are not allowed to be empty.</source>
- <translation>%1 típus adata nem engedélyezett, hogy üres legyen.</translation>
+ <translation>%1 típusú adat nem lehet üres.</translation>
</message>
<message>
<location filename="../src/xmlpatterns/schema/qxsdvalidatinginstancereader.cpp" line="+160"/>
<source>Element %1 is missing child element.</source>
- <translation>%1 elem hiányzik a gyermek elemből.</translation>
+ <translation>Hiányzó gyermek elem %1 elemben.</translation>
</message>
<message>
<location line="+16"/>
<source>There is one IDREF value with no corresponding ID: %1.</source>
- <translation>Van egy IDREF érték nem megfelelő azonosítóval: %1.</translation>
+ <translation>Egy IDREF érték van hozzátartozó ID nélkül: %1.</translation>
</message>
<message>
<location line="+27"/>
<source>Loaded schema file is invalid.</source>
- <translation>Betöltött terv fájl nem létezik.</translation>
+ <translatorcomment>A betöltött sémafájl érvénytelen.</translatorcomment>
+ <translation></translation>
</message>
<message>
<location line="+16"/>
@@ -10338,128 +13441,128 @@ Kérem válasszon egy különböző fájl nevet.</translation>
<message>
<location line="+13"/>
<source>xsi:schemaLocation namespace %1 has already appeared earlier in the instance document.</source>
- <translation>xsi:tervElhelyezkedés %1 névtér már előfordult korábban a példa dokumentumban.</translation>
+ <translation>%1 xsi:schemaLocation névtér már szerepelt korábban a példány dokumentumban.</translation>
</message>
<message>
<location line="+22"/>
<source>xsi:noNamespaceSchemaLocation cannot appear after the first no-namespace element or attribute.</source>
- <translation>xsi:tervElhelyezkedés névtér nem fordulhat elő az első nem névtér elem vagy attribútum után.</translation>
+ <translation>xsi:noNamespaceSchemaLocation nem szerepelhet az első nem-névtérbeli elem vagy attribútum után.</translation>
</message>
<message>
<location line="+18"/>
<source>No schema defined for validation.</source>
- <translation>Nincsen terv definiálva jóváhagyásra.</translation>
+ <translation>Nincs megadva séma a validáláshoz.</translation>
</message>
<message>
<location line="+10"/>
<source>No definition for element %1 available.</source>
- <translation>Nincsen elérhető definíció a(z) %1 elemre.</translation>
+ <translation>%1 elem definíciója nem érhető el.</translation>
</message>
<message>
<location line="+18"/>
<location line="+49"/>
<location line="+142"/>
<source>Specified type %1 is not known to the schema.</source>
- <translation>%1 meghatározott típus ismeretlen a terv számára.</translation>
+ <translation>A megadott %1 típus ismeretlen a séma számára.</translation>
</message>
<message>
<location line="-176"/>
<source>Element %1 is not defined in this scope.</source>
- <translation>%1 elem nincs definiálva ebben a hatókörben.</translation>
+ <translation>%1 elem nem ebben a hatókörben lett definiálva.</translation>
</message>
<message>
<location line="+43"/>
<source>Declaration for element %1 does not exist.</source>
- <translation>%1 elem deklaráció nem létezik.</translation>
+ <translation>%1 elem deklarációja nem létezik.</translation>
</message>
<message>
<location line="+12"/>
<source>Element %1 contains invalid content.</source>
- <translation>%1 elem érvénytelen tartalmat tartalmaz.</translation>
+ <translation>%1 elemben érvénytelen tartalom van.</translation>
</message>
<message>
<location line="+73"/>
<source>Element %1 is declared as abstract.</source>
- <translation>%1 elem elvontkét lett deklarálva.</translation>
+ <translation>%1 elem absztraktként lett definiálva.</translation>
</message>
<message>
<location line="+7"/>
<source>Element %1 is not nillable.</source>
- <translation>%1 elem nem nullázható.</translation>
+ <translation>%1 elem nem nil-feltételű.</translation>
</message>
<message>
<location line="+8"/>
<source>Attribute %1 contains invalid data: %2</source>
- <translation>%1 attribútum érvénytelen adatokat tartalmaz: %2</translation>
+ <translation>%1 attribútum érvénytelen adatot tartalmaz: %2</translation>
</message>
<message>
<location line="+8"/>
<source>Element contains content although it is nillable.</source>
- <translation>Elem nem nullázható elemeket tartalmaz.</translation>
+ <translation>Az elem annak ellenére tartalmaz adatot, hogy nil-feltételű.</translation>
</message>
<message>
<location line="+6"/>
<source>Fixed value constraint not allowed if element is nillable.</source>
- <translation>Fix érték korlátozó nem engedélyezett, ha az elem nullázható.</translation>
- </message>
- <message>
- <location line="+230"/>
- <source>Element %1 cannot contain other elements, as it has a fixed content.</source>
- <translation>%1 nem tartalmazhat másik elemeket, mint ennek is egy fix mérete van.</translation>
+ <translation>Az elemre rögzített érték megkötés nem adható, ha az nil-feltételű.</translation>
</message>
<message>
- <location line="-198"/>
+ <location line="+32"/>
<source>Specified type %1 is not validly substitutable with element type %2.</source>
- <translation>%1 meghatározott típus nem helyettesíthető érvényesen %2 elem típussal.</translation>
+ <translation>A megadott %1 típus nem helyettesíthető érvényesen %2 elemtípussal.</translation>
</message>
<message>
<location line="+23"/>
<source>Complex type %1 is not allowed to be abstract.</source>
- <translation>%1 komplex típus nem engedélyezett, hogy elvont legyen.</translation>
+ <translation>%1 komplex típus nem lehet absztrakt.</translation>
</message>
<message>
<location line="+21"/>
<source>Element %1 contains not allowed attributes.</source>
- <translation>%1 nem engedélyezett attribútumokat tartalmaz.</translation>
+ <translation>%1 elem nem megengedett attribútumokat tartalmaz.</translation>
</message>
<message>
<location line="+6"/>
<location line="+97"/>
<source>Element %1 contains not allowed child element.</source>
- <translation>%1 nem engedélyezett gyermek attribútumokat tartalmaz.</translation>
+ <translation>%1 elem nem megengedett gyermek elemet tartalmaz.</translation>
</message>
<message>
<location line="-76"/>
<location line="+93"/>
<source>Content of element %1 does not match its type definition: %2.</source>
- <translation>%1 elem tartalma nem egyezik meg a típus definíciójával: %2.</translation>
+ <translation>%1 elem tartalma nem egyezik típusának definíciójával: %2.</translation>
</message>
<message>
<location line="-85"/>
<location line="+92"/>
<location line="+41"/>
<source>Content of element %1 does not match defined value constraint.</source>
- <translation>%1 elem tartalma nem egyezik meg a definiált érték korlátozóval.</translation>
+ <translation>%1 elem tartalma nem egyezik a definiált érték megkötéssel.</translation>
</message>
<message>
<location line="-73"/>
<source>Element %1 contains not allowed child content.</source>
- <translation>%1 nem engedélyezett gyermek tartalmat tartalmaz.</translation>
+ <translation>%1 elem nem megengedett gyermek tartalmat tartalmaz.</translation>
</message>
<message>
<location line="+41"/>
<source>Element %1 contains not allowed text content.</source>
- <translation>%1 nem engedélyezett szöveg tartalmat tartalmaz.</translation>
+ <translation>%1 elemben nem megengedett szövegtartalom található.</translation>
</message>
<message>
- <location line="+61"/>
+ <location line="+18"/>
+ <source>Element %1 cannot contain other elements, as it has a fixed content.</source>
+ <translation>%1 elem nem tartalmazhat más elemeket, mert tartalma rögzített.</translation>
+ </message>
+ <message>
+ <location line="+43"/>
<source>Element %1 is missing required attribute %2.</source>
- <translation>%1 hiányzik, %2 attribútum igényli.</translation>
+ <translation>%1 elemből hiányzik a kötelező %2 attribútum.</translation>
</message>
<message>
<location line="+29"/>
<source>Attribute %1 does not match the attribute wildcard.</source>
- <translation>%1 attribűtum nem egyezik meg az attribútum helyettesítő jellel.</translation>
+ <translation>%1 attribútum nem egyezik az attribútum helyettesítővel.</translation>
</message>
<message>
<location line="+9"/>
@@ -10469,69 +13572,190 @@ Kérem válasszon egy különböző fájl nevet.</translation>
<message>
<location line="+6"/>
<source>Element %1 contains two attributes of type %2.</source>
- <translation>%1 elem %2 típus két attribútumát tartalmazza.</translation>
+ <translation>%1 elem két %2 típusú attribútumot tartalmaz.</translation>
</message>
<message>
<location line="+11"/>
<source>Attribute %1 contains invalid content.</source>
- <translation>%1 attribútum érvénytelen tartalmaz tartalmaz.</translation>
+ <translation>%1 attribútumban érvénytelen tartalom szerepel.</translation>
</message>
<message>
<location line="+7"/>
<source>Element %1 contains unknown attribute %2.</source>
- <translation>%1 elem ismeretlen %2 attribútumokat tartalmaz.</translation>
+ <translation>%1 elem a(z) %2 ismeretlen attribútumot tartalmazza.</translation>
</message>
<message>
<location line="+40"/>
<location line="+46"/>
<source>Content of attribute %1 does not match its type definition: %2.</source>
- <translation>%1 attribútum tartalma nem egyezik a típus definíciójával: %2.</translation>
+ <translation>%1 attribútum tartalma nem egyezik a típus definícióban megadottakkal: %2.</translation>
</message>
<message>
<location line="-38"/>
<location line="+46"/>
<source>Content of attribute %1 does not match defined value constraint.</source>
- <translation>%1 attribútum tartalma nem egyezik meg a definiált érték korlátozóval.</translation>
+ <translation>%1 attribútum tartalma nem egyezik a definiált érték megkötéssel.</translation>
</message>
<message>
<location line="+88"/>
<source>Non-unique value found for constraint %1.</source>
- <translation>Nem található egyedülálló érték a(z) %1 módosítóra.</translation>
+ <translation>%1 megkötés nem egyedi értéket tartalmaz.</translation>
</message>
<message>
<location line="+20"/>
<source>Key constraint %1 contains absent fields.</source>
- <translation>%1 kulcs korlátozó hiányzó mezőket tartalmaz.</translation>
+ <translation>%1 kulcs megkötés hiányzó mezőket tartalmaz.</translation>
</message>
<message>
<location line="+18"/>
<source>Key constraint %1 contains references nillable element %2.</source>
- <translation>%1 kulcs korlátozó hivatkozásokat nem tartalmaz nullázható %2 elemekre.</translation>
+ <translation>%1 kulcsfeltétel %2 nil-feltételű elemre vonatkozó hivatkozást tartalmaz.</translation>
</message>
<message>
<location line="+40"/>
<source>No referenced value found for key reference %1.</source>
- <translation>Nem található referencia érték a(z) %1 kulcs referenciára.</translation>
+ <translation>Nem található hivatkozott érték %1 kulcs referenciához.</translation>
</message>
<message>
<location line="+64"/>
<source>More than one value found for field %1.</source>
- <translation>Több mint egy érték található a(z) %1-es mezőre.</translation>
+ <translation>%1 mezőhöz egynél több érték létezik.</translation>
</message>
<message>
<location line="+20"/>
<source>Field %1 has no simple type.</source>
- <translation>%1 mezőnek nincsen egyszerű típusa.</translation>
+ <translation>%1 mezőnek nincs egyszerű típusa.</translation>
</message>
<message>
<location line="+73"/>
<source>ID value &apos;%1&apos; is not unique.</source>
- <translation>%1 azonosító érték nem egyedülálló.</translation>
+ <translation>&apos;%1&apos; ID érték nem egyedi.</translation>
</message>
<message>
<location line="+11"/>
<source>&apos;%1&apos; attribute contains invalid QName content: %2.</source>
- <translation>%1 attribútum érvénytelen QName tartalmaz tartalmaz: %2.</translation>
+ <translation>&apos;%1% attribútum érvénytelen QName adatot tartalmaz: %2.</translation>
+ </message>
+ <message>
+ <location filename="../src/xmlpatterns/type/qcardinality.cpp" line="+55"/>
+ <source>empty</source>
+ <translation>üres</translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>zero or one</source>
+ <translation>nulla vagy egy</translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>exactly one</source>
+ <translation>pontosan egy</translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>one or more</source>
+ <translation>egy vagy több</translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>zero or more</source>
+ <translation>nulla vagy több</translation>
+ </message>
+ <message>
+ <location filename="../src/xmlpatterns/type/qtypechecker.cpp" line="+63"/>
+ <source>Required type is %1, but %2 was found.</source>
+ <translation>Az elvárt típus %1, de a kapott %2.</translation>
+ </message>
+ <message>
+ <location line="+44"/>
+ <source>Promoting %1 to %2 may cause loss of precision.</source>
+ <translation>%1 átalakítása %2 típusra a pontosság elvesztését okozhatja.</translation>
+ </message>
+ <message>
+ <location line="+49"/>
+ <source>The focus is undefined.</source>
+ <translation>A fókusz nincs definiálva.</translation>
+ </message>
+ <message>
+ <location filename="../src/xmlpatterns/utils/qoutputvalidator.cpp" line="+86"/>
+ <source>It&apos;s not possible to add attributes after any other kind of node.</source>
+ <translation>Semmilyen más csomópont után nem adható meg attribútum.</translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>An attribute by name %1 has already been created.</source>
+ <translation>%1 nevű attribútum már létre van hozva.</translation>
+ </message>
+ <message>
+ <location filename="../src/xmlpatterns/utils/qxpathhelper_p.h" line="+120"/>
+ <source>Only the Unicode Codepoint Collation is supported(%1). %2 is unsupported.</source>
+ <translation>Csak a Unicode Codepoint Collation támogatott(%1). %2 nem támogatott.</translation>
+ </message>
+</context>
+<context>
+ <name>VolumeSlider</name>
+ <message>
+ <source>Muted</source>
+ <translation type="obsolete">Elnémítva</translation>
+ </message>
+ <message>
+ <source>Volume: %1%</source>
+ <translation type="obsolete">Hangerő: %1%</translation>
+ </message>
+</context>
+<context>
+ <name>WebCore::PlatformScrollbar</name>
+ <message>
+ <source>Scroll here</source>
+ <translation type="obsolete">Görgetés ide</translation>
+ </message>
+ <message>
+ <source>Left edge</source>
+ <translation type="obsolete">Bal szélre</translation>
+ </message>
+ <message>
+ <source>Top</source>
+ <translation type="obsolete">Felülre</translation>
+ </message>
+ <message>
+ <source>Right edge</source>
+ <translation type="obsolete">Jobb szélre</translation>
+ </message>
+ <message>
+ <source>Bottom</source>
+ <translation type="obsolete">Alulra</translation>
+ </message>
+ <message>
+ <source>Page left</source>
+ <translation type="obsolete">Egy oldalt balra</translation>
+ </message>
+ <message>
+ <source>Page up</source>
+ <translation type="obsolete">Egy oldalt felfelé</translation>
+ </message>
+ <message>
+ <source>Page right</source>
+ <translation type="obsolete">Egy oldalt jobbra</translation>
+ </message>
+ <message>
+ <source>Page down</source>
+ <translation type="obsolete">Egy oldalt lefelé</translation>
+ </message>
+ <message>
+ <source>Scroll left</source>
+ <translation type="obsolete">Görgetés balra</translation>
+ </message>
+ <message>
+ <source>Scroll up</source>
+ <translation type="obsolete">Görgetés felfelé</translation>
+ </message>
+ <message>
+ <source>Scroll right</source>
+ <translation type="obsolete">Görgetés jobbra</translation>
+ </message>
+ <message>
+ <source>Scroll down</source>
+ <translation type="obsolete">Görgetés lefelé</translation>
</message>
</context>
</TS>
diff --git a/translations/qt_ja_JP.ts b/translations/qt_ja.ts
index e6f92b7e96..e6f92b7e96 100644
--- a/translations/qt_ja_JP.ts
+++ b/translations/qt_ja.ts
diff --git a/translations/qt_pl.ts b/translations/qt_pl.ts
index a089cb698f..b366a72301 100644
--- a/translations/qt_pl.ts
+++ b/translations/qt_pl.ts
@@ -4,7 +4,7 @@
<context>
<name>CloseButton</name>
<message>
- <location filename="../src/gui/widgets/qtabbar.cpp" line="+2274"/>
+ <location filename="../src/gui/widgets/qtabbar.cpp" line="+2313"/>
<source>Close Tab</source>
<translation>Zamknij kartę</translation>
</message>
@@ -12,7 +12,7 @@
<context>
<name>FakeReply</name>
<message>
- <location filename="../src/3rdparty/webkit/WebKit/qt/tests/qwebframe/tst_qwebframe.cpp" line="+2217"/>
+ <location filename="../src/3rdparty/webkit/WebKit/qt/tests/qwebframe/tst_qwebframe.cpp" line="+2273"/>
<source>Fake error !</source>
<translation>Fałszywy błąd!</translation>
</message>
@@ -25,7 +25,7 @@
<context>
<name>MAC_APPLICATION_MENU</name>
<message>
- <location filename="../src/gui/kernel/qapplication.cpp" line="+2316"/>
+ <location filename="../src/gui/kernel/qapplication.cpp" line="+2320"/>
<source>Services</source>
<translation>Usługi</translation>
</message>
@@ -1281,7 +1281,7 @@ na
<translation>Gniazdo nie jest podłączone</translation>
</message>
<message>
- <location filename="../src/network/access/qhttpnetworkconnection.cpp" line="+614"/>
+ <location filename="../src/network/access/qhttpnetworkconnection.cpp" line="+625"/>
<location filename="../src/network/socket/qabstractsocket.cpp" line="-380"/>
<source>Socket operation timed out</source>
<translation>Przekroczony czas operacji gniazda</translation>
@@ -1598,7 +1598,7 @@ na
<context>
<name>QDeclarativeAbstractAnimation</name>
<message>
- <location filename="../src/declarative/util/qdeclarativeanimation.cpp" line="+165"/>
+ <location filename="../src/declarative/util/qdeclarativeanimation.cpp" line="+166"/>
<source>Cannot animate non-existent property &quot;%1&quot;</source>
<translation>Nie można animować nieistniejącej właściwości &quot;%1&quot;</translation>
</message>
@@ -1616,7 +1616,7 @@ na
<context>
<name>QDeclarativeAnchorAnimation</name>
<message>
- <location filename="../src/declarative/util/qdeclarativeanimation.cpp" line="+2542"/>
+ <location filename="../src/declarative/util/qdeclarativeanimation.cpp" line="+2551"/>
<source>Cannot set a duration of &lt; 0</source>
<translation>Nie można ustawić ujemnego czasu trwania</translation>
</message>
@@ -1624,7 +1624,7 @@ na
<context>
<name>QDeclarativeAnchors</name>
<message>
- <location filename="../src/declarative/graphicsitems/qdeclarativeanchors.cpp" line="+181"/>
+ <location filename="../src/declarative/graphicsitems/qdeclarativeanchors.cpp" line="+180"/>
<source>Possible anchor loop detected on fill.</source>
<translation>Wykryto możliwe zapętlenie dla kotwicy &quot;fill&quot;.</translation>
</message>
@@ -1700,7 +1700,7 @@ na
<context>
<name>QDeclarativeBehavior</name>
<message>
- <location filename="../src/declarative/util/qdeclarativebehavior.cpp" line="+124"/>
+ <location filename="../src/declarative/util/qdeclarativebehavior.cpp" line="+127"/>
<source>Cannot change the animation assigned to a Behavior.</source>
<translation>Nie można zmienić animacji przypisanej do &quot;Zachowania&quot;.</translation>
</message>
@@ -1708,7 +1708,7 @@ na
<context>
<name>QDeclarativeBinding</name>
<message>
- <location filename="../src/declarative/qml/qdeclarativebinding.cpp" line="+225"/>
+ <location filename="../src/declarative/qml/qdeclarativebinding.cpp" line="+236"/>
<source>Binding loop detected for property &quot;%1&quot;</source>
<translation>Zapętlenie powiązania dla właściwości &quot;%1&quot;</translation>
</message>
@@ -1725,16 +1725,16 @@ na
<name>QDeclarativeCompiler</name>
<message>
<location filename="../src/declarative/qml/qdeclarativecompiler.cpp" line="+186"/>
- <location line="+1561"/>
- <location line="+187"/>
- <location line="+82"/>
+ <location line="+1572"/>
+ <location line="+186"/>
+ <location line="+81"/>
<location line="+75"/>
- <location line="+488"/>
+ <location line="+487"/>
<source>Invalid property assignment: &quot;%1&quot; is a read-only property</source>
<translation>Niepoprawne przypisanie wartości: &quot;%1&quot; jest właściwością tylko do odczytu</translation>
</message>
<message>
- <location line="-2384"/>
+ <location line="-2392"/>
<source>Invalid property assignment: unknown enumeration</source>
<translation>Niepoprawne przypisanie wartości: nieznana wartość wyliczeniowa</translation>
</message>
@@ -1819,12 +1819,12 @@ na
<translation>Niepoprawne przypisanie wartości: nieobsługiwany typ &quot;%1&quot;</translation>
</message>
<message>
- <location line="+271"/>
+ <location line="+275"/>
<source>Element is not creatable.</source>
<translation>Nie można utworzyć elementu (&quot;creatable&quot; wyłączone).</translation>
</message>
<message>
- <location line="+592"/>
+ <location line="+601"/>
<source>Component elements may not contain properties other than id</source>
<translation>Elementy komponentu nie mogą posiadać właściwości innych niż &quot;id&quot;</translation>
</message>
@@ -1835,12 +1835,12 @@ na
</message>
<message>
<location line="+6"/>
- <location line="+477"/>
+ <location line="+475"/>
<source>id is not unique</source>
<translation>Wartość &quot;id&quot; nie jest unikatowa</translation>
</message>
<message>
- <location line="-467"/>
+ <location line="-465"/>
<source>Invalid component body specification</source>
<translation>Niepoprawna specyfikacja &quot;body&quot; komponentu</translation>
</message>
@@ -1886,29 +1886,29 @@ na
</message>
<message>
<location line="+15"/>
- <location line="+104"/>
+ <location line="+102"/>
<source>Non-existent attached object</source>
<translation>Nieistniejący dołączony obiekt</translation>
</message>
<message>
- <location line="-100"/>
- <location line="+103"/>
+ <location line="-98"/>
+ <location line="+101"/>
<source>Invalid attached object assignment</source>
<translation>Niepoprawne przypisanie dołączonego obiektu</translation>
</message>
<message>
- <location line="-50"/>
+ <location line="-48"/>
<source>Cannot assign to non-existent default property</source>
<translation>Nie można przypisać wartości do nieistniejącej domyślnej właściwości</translation>
</message>
<message>
<location line="+2"/>
- <location line="+355"/>
+ <location line="+352"/>
<source>Cannot assign to non-existent property &quot;%1&quot;</source>
<translation>Nie można przypisać wartości do nieistniejącej właściwości &quot;%1&quot;</translation>
</message>
<message>
- <location line="-324"/>
+ <location line="-322"/>
<source>Invalid use of namespace</source>
<translation>Niepoprawne użycie przestrzeni nazw</translation>
</message>
@@ -1918,7 +1918,7 @@ na
<translation>Nie jest to nazwa dołączonej właściwości</translation>
</message>
<message>
- <location line="+183"/>
+ <location line="+182"/>
<source>Invalid use of id property</source>
<translation>Niepoprawne użycie właściwości &quot;id&quot;</translation>
</message>
@@ -1930,7 +1930,7 @@ na
</message>
<message>
<location line="+12"/>
- <location line="+8"/>
+ <location line="+7"/>
<source>Invalid grouped property access</source>
<translation>Błędny dostęp do zgrupowanej właściwości</translation>
</message>
@@ -1985,7 +1985,7 @@ na
<translation>Niepoprawne przypisanie wartości: oczekiwano skryptu</translation>
</message>
<message>
- <location line="+106"/>
+ <location line="+105"/>
<source>Cannot assign object to property</source>
<translation>Nie można przypisać obiektu dla właściwości</translation>
</message>
@@ -2045,7 +2045,7 @@ na
<translation>Nie można nadpisać właściwości &quot;FINAL&quot;</translation>
</message>
<message>
- <location line="+25"/>
+ <location line="+24"/>
<source>Invalid property type</source>
<translation>Niepoprawny typ właściwości</translation>
</message>
@@ -2084,23 +2084,23 @@ na
<location line="-4"/>
<location line="+25"/>
<source>Invalid alias location</source>
- <translation type="unfinished"></translation>
+ <translation>Niepoprawne położenie aliasu</translation>
</message>
<message>
<location line="-16"/>
<source>Invalid alias reference. An alias reference must be specified as &lt;id&gt; or &lt;id&gt;.&lt;property&gt;</source>
- <translation type="unfinished"></translation>
+ <translation>Niepoprawna referencja aliasu. Referencja aliasu musi być podana jako &lt;id&gt; lub &lt;id&gt; &lt;property&gt;</translation>
</message>
<message>
<location line="+3"/>
<source>Invalid alias reference. Unable to find id &quot;%1&quot;</source>
- <translation type="unfinished"></translation>
+ <translation>Niepoprawna referencja aliasu. Nie można odnaleźć identyfikatora &quot;%1&quot;</translation>
</message>
</context>
<context>
<name>QDeclarativeComponent</name>
<message>
- <location filename="../src/declarative/qml/qdeclarativecomponent.cpp" line="+508"/>
+ <location filename="../src/declarative/qml/qdeclarativecomponent.cpp" line="+458"/>
<source>Invalid empty URL</source>
<translation>Niepoprawny pusty URL</translation>
</message>
@@ -2108,13 +2108,13 @@ na
<context>
<name>QDeclarativeCompositeTypeManager</name>
<message>
- <location filename="../src/declarative/qml/qdeclarativecompositetypemanager.cpp" line="+482"/>
- <location line="+270"/>
+ <location filename="../src/declarative/qml/qdeclarativecompositetypemanager.cpp" line="+487"/>
+ <location line="+266"/>
<source>Resource %1 unavailable</source>
<translation>Zasób %1 nie jest dostępny</translation>
</message>
<message>
- <location line="-120"/>
+ <location line="-122"/>
<source>Namespace %1 cannot be used as a type</source>
<translation>Przestrzeń nazw %1 nie może być użyta jako typ</translation>
</message>
@@ -2132,14 +2132,13 @@ na
<context>
<name>QDeclarativeConnections</name>
<message>
- <location filename="../src/declarative/util/qdeclarativeconnections.cpp" line="+180"/>
- <location line="+54"/>
- <location line="+7"/>
+ <location filename="../src/declarative/util/qdeclarativeconnections.cpp" line="+209"/>
+ <location line="+60"/>
<source>Cannot assign to non-existent property &quot;%1&quot;</source>
<translation>Nie można przypisać wartości do nieistniejącej właściwości &quot;%1&quot;</translation>
</message>
<message>
- <location line="-51"/>
+ <location line="-50"/>
<source>Connections: nested objects not allowed</source>
<translation>Połączenia: zagnieżdżone obiekty nie są dozwolone</translation>
</message>
@@ -2157,38 +2156,59 @@ na
<context>
<name>QDeclarativeEngine</name>
<message>
- <location filename="../src/declarative/qml/qdeclarativeengine.cpp" line="+1636"/>
- <location line="+4"/>
- <source>local directory</source>
- <translation>lokalny katalog</translation>
+ <location filename="../src/declarative/qml/qdeclarativesqldatabase.cpp" line="+204"/>
+ <source>executeSql called outside transaction()</source>
+ <translation>&quot;executeSql&quot; zawołane na zewnątrz &quot;transation()&quot;</translation>
</message>
<message>
- <location line="+6"/>
- <source>is ambiguous. Found in %1 and in %2</source>
- <translation>jest niejednoznaczny. Znaleziono w %1 i w %2</translation>
+ <location line="+58"/>
+ <source>Read-only Transaction</source>
+ <translation>Transakcja tylko do odczytu</translation>
</message>
<message>
- <location line="+4"/>
- <source>is ambiguous. Found in %1 in version %2.%3 and %4.%5</source>
- <translation>jest niejednoznaczny. Znaleziono w %1 w wersji %2.%3 i %4.%5</translation>
+ <location line="+20"/>
+ <source>Version mismatch: expected %1, found %2</source>
+ <translation>Niezgodność wersji: oczekiwano %1, znaleziono %2</translation>
</message>
<message>
<location line="+14"/>
- <source>is instantiated recursively</source>
- <translation>jest zinstancjonowany rekurencyjnie</translation>
+ <source>SQL transaction failed</source>
+ <translation>Transakcja SQL zakończona błędem</translation>
</message>
<message>
- <location line="+2"/>
- <source>is not a type</source>
- <translation>nie jest typem</translation>
+ <location line="+21"/>
+ <source>transaction: missing callback</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+34"/>
+ <location line="+57"/>
+ <location line="+16"/>
+ <source>SQL: database version mismatch</source>
+ <translation>SQL: niezgodność wersji bazy danych</translation>
+ </message>
+</context>
+<context>
+ <name>QDeclarativeFlipable</name>
+ <message>
+ <location filename="../src/declarative/graphicsitems/qdeclarativeflipable.cpp" line="+127"/>
+ <source>front is a write-once property</source>
+ <translation>&quot;front&quot; jest właściwością tylko do odczytu</translation>
+ </message>
+ <message>
+ <location line="+19"/>
+ <source>back is a write-once property</source>
+ <translation>&quot;back&quot; jest właściwością tylko do odczytu</translation>
+ </message>
+</context>
+<context>
+ <name>QDeclarativeImportDatabase</name>
+ <message>
+ <location filename="../src/declarative/qml/qdeclarativeimport.cpp" line="+303"/>
<source>module &quot;%1&quot; definition &quot;%2&quot; not readable</source>
<translation>definicja &quot;%2&quot; modułu &quot;%1&quot; nie może zostać odczytana</translation>
</message>
<message>
- <location line="+23"/>
+ <location line="+20"/>
<source>plugin cannot be loaded for module &quot;%1&quot;: %2</source>
<translation>wtyczka nie może zostać załadowana dla modułu &quot;%1&quot;: %2</translation>
</message>
@@ -2198,7 +2218,7 @@ na
<translation>wtyczka &quot;%2&quot; modułu &quot;%1&quot; nie została odnaleziona</translation>
</message>
<message>
- <location line="+82"/>
+ <location line="+79"/>
<location line="+55"/>
<source>module &quot;%1&quot; version %2.%3 is not installed</source>
<translation>wersja %2.%3 modułu %1 nie jest zainstalowana</translation>
@@ -2230,54 +2250,36 @@ na
<translation>- zagnieżdżone przestrzenie nazw nie są dozwolone</translation>
</message>
<message>
- <location filename="../src/declarative/qml/qdeclarativesqldatabase.cpp" line="+204"/>
- <source>executeSql called outside transaction()</source>
- <translation>&quot;executeSql&quot; zawołane na zewnątrz &quot;transation()&quot;</translation>
+ <location line="+47"/>
+ <location line="+4"/>
+ <source>local directory</source>
+ <translation>lokalny katalog</translation>
</message>
<message>
- <location line="+58"/>
- <source>Read-only Transaction</source>
- <translation>Transakcja tylko do odczytu</translation>
+ <location line="+6"/>
+ <source>is ambiguous. Found in %1 and in %2</source>
+ <translation>jest niejednoznaczny. Znaleziono w %1 i w %2</translation>
</message>
<message>
- <location line="+20"/>
- <source>Version mismatch: expected %1, found %2</source>
- <translation>Niezgodność wersji: oczekiwano %1, znaleziono %2</translation>
+ <location line="+4"/>
+ <source>is ambiguous. Found in %1 in version %2.%3 and %4.%5</source>
+ <translation>jest niejednoznaczny. Znaleziono w %1 w wersji %2.%3 i %4.%5</translation>
</message>
<message>
<location line="+14"/>
- <source>SQL transaction failed</source>
- <translation>Transakcja SQL zakończona błędem</translation>
- </message>
- <message>
- <location line="+21"/>
- <source>transaction: missing callback</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location line="+57"/>
- <location line="+16"/>
- <source>SQL: database version mismatch</source>
- <translation>SQL: niezgodność wersji bazy danych</translation>
- </message>
-</context>
-<context>
- <name>QDeclarativeFlipable</name>
- <message>
- <location filename="../src/declarative/graphicsitems/qdeclarativeflipable.cpp" line="+129"/>
- <source>front is a write-once property</source>
- <translation>&quot;front&quot; jest właściwością tylko do odczytu</translation>
+ <source>is instantiated recursively</source>
+ <translation>jest zinstancjonowany rekurencyjnie</translation>
</message>
<message>
- <location line="+19"/>
- <source>back is a write-once property</source>
- <translation>&quot;back&quot; jest właściwością tylko do odczytu</translation>
+ <location line="+2"/>
+ <source>is not a type</source>
+ <translation>nie jest typem</translation>
</message>
</context>
<context>
<name>QDeclarativeKeyNavigationAttached</name>
<message>
- <location filename="../src/declarative/graphicsitems/qdeclarativeitemsmodule.cpp" line="+62"/>
+ <location filename="../src/declarative/graphicsitems/qdeclarativeitemsmodule.cpp" line="+64"/>
<source>KeyNavigation is only available via attached properties</source>
<translation>&quot;KeyNavigation&quot; jest dostępny jedynie poprzez dołączone właściwości</translation>
</message>
@@ -2318,12 +2320,7 @@ na
<translation>append: wartość nie jest obiektem</translation>
</message>
<message>
- <location line="+34"/>
- <source>get: index %1 out of range</source>
- <translation>get: indeks %1 poza zakresem</translation>
- </message>
- <message>
- <location line="+25"/>
+ <location line="+55"/>
<source>set: value is not an object</source>
<translation>set: wartość nie jest obiektem</translation>
</message>
@@ -2358,7 +2355,7 @@ na
<context>
<name>QDeclarativeLoader</name>
<message>
- <location filename="../src/declarative/graphicsitems/qdeclarativeloader.cpp" line="+317"/>
+ <location filename="../src/declarative/graphicsitems/qdeclarativeloader.cpp" line="+309"/>
<source>Loader does not support loading non-visual elements.</source>
<translation>Ładowanie elementów niewizualnych nie jest obsługiwane.</translation>
</message>
@@ -2479,19 +2476,19 @@ na
<translation>Oczekiwany znak &quot;%1&quot;</translation>
</message>
<message>
- <location filename="../src/declarative/qml/qdeclarativescriptparser.cpp" line="+264"/>
- <location line="+464"/>
+ <location filename="../src/declarative/qml/qdeclarativescriptparser.cpp" line="+260"/>
+ <location line="+431"/>
<location line="+59"/>
<source>Property value set multiple times</source>
<translation>Wartość właściwości ustawiona wielokrotnie</translation>
</message>
<message>
- <location line="-512"/>
+ <location line="-479"/>
<source>Expected type name</source>
<translation>Oczekiwana nazwa typu</translation>
</message>
<message>
- <location line="+171"/>
+ <location line="+136"/>
<source>Invalid import qualifier ID</source>
<translation type="unfinished"></translation>
</message>
@@ -2541,7 +2538,7 @@ na
<translation>&quot;Tylko do odczytu&quot; nie jest jeszcze obsługiwane</translation>
</message>
<message>
- <location line="+213"/>
+ <location line="+215"/>
<source>JavaScript declaration outside Script element</source>
<translation>Deklaracja &quot;JavaScript&quot; na zewnątrz elementu &quot;Script&quot;</translation>
</message>
@@ -2557,7 +2554,7 @@ na
<context>
<name>QDeclarativePixmapCache</name>
<message>
- <location filename="../src/declarative/util/qdeclarativepixmapcache.cpp" line="+197"/>
+ <location filename="../src/declarative/util/qdeclarativepixmapcache.cpp" line="+198"/>
<source>Error decoding: %1: %2</source>
<translation>Błąd dekodowania: %1: %2</translation>
</message>
@@ -2568,7 +2565,7 @@ na
</message>
<message>
<location line="+19"/>
- <location line="+342"/>
+ <location line="+345"/>
<source>Cannot open: %1</source>
<translation>Nie można otworzyć: %1</translation>
</message>
@@ -2589,12 +2586,12 @@ na
<context>
<name>QDeclarativePropertyChanges</name>
<message>
- <location filename="../src/declarative/util/qdeclarativepropertychanges.cpp" line="+232"/>
+ <location filename="../src/declarative/util/qdeclarativepropertychanges.cpp" line="+252"/>
<source>PropertyChanges does not support creating state-specific objects.</source>
<translation>&quot;PropertyChanges&quot; nie obsługuje tworzenia obiektów charakterystycznych dla stanów.</translation>
</message>
<message>
- <location line="+151"/>
+ <location line="+157"/>
<source>Cannot assign to non-existent property &quot;%1&quot;</source>
<translation>Nie można przypisać wartości do nieistniejącej właściwości &quot;%1&quot;</translation>
</message>
@@ -2607,7 +2604,7 @@ na
<context>
<name>QDeclarativeTextInput</name>
<message>
- <location filename="../src/declarative/graphicsitems/qdeclarativetextinput.cpp" line="+793"/>
+ <location filename="../src/declarative/graphicsitems/qdeclarativetextinput.cpp" line="+797"/>
<location line="+8"/>
<source>Could not load cursor delegate</source>
<translation type="unfinished"></translation>
@@ -2626,7 +2623,7 @@ na
<translation>Nie można utworzyć obiektu typu %1</translation>
</message>
<message>
- <location line="+380"/>
+ <location line="+390"/>
<source>Cannot assign value %1 to property %2</source>
<translation>Nie można przypisać wartości %1 do właściwości %2</translation>
</message>
@@ -2669,7 +2666,7 @@ na
<context>
<name>QDeclarativeVisualDataModel</name>
<message>
- <location filename="../src/declarative/graphicsitems/qdeclarativevisualitemmodel.cpp" line="+1070"/>
+ <location filename="../src/declarative/graphicsitems/qdeclarativevisualitemmodel.cpp" line="+1091"/>
<source>Delegate component must be Item type.</source>
<translation type="unfinished"></translation>
</message>
@@ -2694,7 +2691,7 @@ na
<context>
<name>QDeclarativeXmlRoleList</name>
<message>
- <location filename="../src/declarative/util/qdeclarativexmllistmodel.cpp" line="+642"/>
+ <location filename="../src/declarative/util/qdeclarativexmllistmodel.cpp" line="+673"/>
<source>An XmlListModel query must start with &apos;/&apos; or &quot;//&quot;</source>
<translation>Zapytanie XmlListModel nie może rozpoczynać się od &quot;/&quot; ani od &quot;//&quot;</translation>
</message>
@@ -2727,7 +2724,7 @@ na
<message>
<location line="-122"/>
<source>Done</source>
- <translation>Wykonano</translation>
+ <translation>Zrobione</translation>
</message>
</context>
<context>
@@ -3757,15 +3754,6 @@ Proszę o sprawdzenie podanej nazwy pliku.</translation>
</message>
</context>
<context>
- <name>QGstreamerPlayerSession</name>
- <message>
- <location filename="../src/plugins/mediaservices/gstreamer/mediaplayer/qgstreamerplayersession.cpp" line="+423"/>
- <location line="+16"/>
- <source>Unable to play %1</source>
- <translation>Nie można odtworzyć %1</translation>
- </message>
-</context>
-<context>
<name>QHostInfo</name>
<message>
<location filename="../src/network/kernel/qhostinfo_p.h" line="+103"/>
@@ -4134,7 +4122,7 @@ Proszę o sprawdzenie podanej nazwy pliku.</translation>
<context>
<name>QIODevice</name>
<message>
- <location filename="../src/corelib/global/qglobal.cpp" line="+2108"/>
+ <location filename="../src/corelib/global/qglobal.cpp" line="+2129"/>
<source>No space left on device</source>
<translation>Brak wolnego miejsca na urządzeniu</translation>
</message>
@@ -4154,7 +4142,7 @@ Proszę o sprawdzenie podanej nazwy pliku.</translation>
<translation>Zbyt wiele otwartych plików</translation>
</message>
<message>
- <location filename="../src/corelib/io/qiodevice.cpp" line="+1596"/>
+ <location filename="../src/corelib/io/qiodevice.cpp" line="+1598"/>
<source>Unknown error</source>
<translation>Nieznany błąd</translation>
</message>
@@ -4271,7 +4259,7 @@ Proszę o sprawdzenie podanej nazwy pliku.</translation>
<context>
<name>QLineEdit</name>
<message>
- <location filename="../src/gui/widgets/qlineedit.cpp" line="+2089"/>
+ <location filename="../src/gui/widgets/qlineedit.cpp" line="+2095"/>
<source>&amp;Copy</source>
<translation>S&amp;kopiuj</translation>
</message>
@@ -4592,39 +4580,6 @@ Proszę o sprawdzenie podanej nazwy pliku.</translation>
</message>
</context>
<context>
- <name>QMediaPlayer</name>
- <message>
- <location filename="../src/multimedia/mediaservices/playback/qmediaplayer.cpp" line="+496"/>
- <source>The QMediaPlayer object does not have a valid service</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>QMediaPlaylist</name>
- <message>
- <location filename="../src/multimedia/mediaservices/base/qmediaplaylist.cpp" line="+455"/>
- <location line="+46"/>
- <source>Could not add items to read only playlist.</source>
- <translation>Nie można dodać elementów do listy odtwarzania (tylko do odczytu).</translation>
- </message>
- <message>
- <location line="-27"/>
- <location line="+46"/>
- <source>Playlist format is not supported</source>
- <translation>Format listy odtwarzania nie jest obsługiwany</translation>
- </message>
- <message>
- <location line="+26"/>
- <source>The file could not be accessed.</source>
- <translation>Brak dostępu do pliku.</translation>
- </message>
- <message>
- <location line="+35"/>
- <source>Playlist format is not supported.</source>
- <translation>Format listy odtwarzania nie jest obsługiwany.</translation>
- </message>
-</context>
-<context>
<name>QMenu</name>
<message>
<location filename="../src/plugins/accessible/widgets/qaccessiblemenu.cpp" line="+157"/>
@@ -4649,7 +4604,7 @@ Proszę o sprawdzenie podanej nazwy pliku.</translation>
<context>
<name>QMenuBar</name>
<message>
- <location filename="../src/gui/widgets/qmenu_symbian.cpp" line="+452"/>
+ <location filename="../src/gui/widgets/qmenu_symbian.cpp" line="+456"/>
<source>Actions</source>
<translation>Akcje</translation>
</message>
@@ -4950,7 +4905,7 @@ Proszę o sprawdzenie podanej nazwy pliku.</translation>
<context>
<name>QNetworkAccessHttpBackend</name>
<message>
- <location filename="../src/network/access/qnetworkaccesshttpbackend.cpp" line="+645"/>
+ <location filename="../src/network/access/qnetworkaccesshttpbackend.cpp" line="+652"/>
<source>No suitable proxy found</source>
<translation>Nie odnaleziono odpowiedniego pośrednika</translation>
</message>
@@ -4958,7 +4913,7 @@ Proszę o sprawdzenie podanej nazwy pliku.</translation>
<context>
<name>QNetworkAccessManager</name>
<message>
- <location filename="../src/network/access/qnetworkreplyimpl.cpp" line="+910"/>
+ <location filename="../src/network/access/qnetworkreplyimpl.cpp" line="+942"/>
<source>Network access is disabled.</source>
<translation>Dostęp do sieci wyłączony.</translation>
</message>
@@ -4966,12 +4921,12 @@ Proszę o sprawdzenie podanej nazwy pliku.</translation>
<context>
<name>QNetworkReply</name>
<message>
- <location filename="../src/network/access/qnetworkaccesshttpbackend.cpp" line="+101"/>
+ <location filename="../src/network/access/qnetworkaccesshttpbackend.cpp" line="+100"/>
<source>Error downloading %1 - server replied: %2</source>
<translation>Błąd podczas pobierania %1 - odpowiedź serwera: %2</translation>
</message>
<message>
- <location filename="../src/network/access/qnetworkreplyimpl.cpp" line="-828"/>
+ <location filename="../src/network/access/qnetworkreplyimpl.cpp" line="-860"/>
<source>Protocol &quot;%1&quot; is unknown</source>
<translation>Protokół &quot;%1&quot; nie jest znany</translation>
</message>
@@ -4981,7 +4936,7 @@ Proszę o sprawdzenie podanej nazwy pliku.</translation>
<translation>Błąd sesji sieciowej.</translation>
</message>
<message>
- <location line="+329"/>
+ <location line="+352"/>
<source>Temporary network failure.</source>
<translation>Chwilowy błąd w sieci.</translation>
</message>
@@ -4989,7 +4944,7 @@ Proszę o sprawdzenie podanej nazwy pliku.</translation>
<context>
<name>QNetworkReplyImpl</name>
<message>
- <location line="+111"/>
+ <location line="+120"/>
<location line="+28"/>
<source>Operation canceled</source>
<translation>Operacja anulowana</translation>
@@ -5022,7 +4977,7 @@ Proszę o sprawdzenie podanej nazwy pliku.</translation>
</message>
<message>
<location filename="../src/plugins/bearer/qnetworksession_impl.cpp" line="+272"/>
- <location filename="../src/plugins/bearer/symbian/qnetworksession_impl.cpp" line="+227"/>
+ <location filename="../src/plugins/bearer/symbian/qnetworksession_impl.cpp" line="+280"/>
<source>Unknown session error.</source>
<translation>Nieznany błąd sesji.</translation>
</message>
@@ -5219,7 +5174,7 @@ Proszę o sprawdzenie podanej nazwy pliku.</translation>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/declarative/util/qdeclarativexmllistmodel.cpp" line="-196"/>
+ <location filename="../src/declarative/util/qdeclarativexmllistmodel.cpp" line="-227"/>
<source>&quot;%1&quot; duplicates a previous role name and will be disabled.</source>
<translation type="unfinished"></translation>
</message>
@@ -6295,7 +6250,7 @@ Proszę wybrać inną nazwę pliku.</translation>
<context>
<name>QSQLiteDriver</name>
<message>
- <location filename="../src/sql/drivers/sqlite/qsql_sqlite.cpp" line="+549"/>
+ <location filename="../src/sql/drivers/sqlite/qsql_sqlite.cpp" line="+550"/>
<source>Error closing database</source>
<translation>Błąd zamykania bazy danych</translation>
</message>
@@ -6338,8 +6293,8 @@ Proszę wybrać inną nazwę pliku.</translation>
<translation>Nie można wykonać polecenia</translation>
</message>
<message>
- <location line="-129"/>
- <location line="+62"/>
+ <location line="-130"/>
+ <location line="+63"/>
<location line="+8"/>
<source>Unable to fetch row</source>
<translation>Nie można pobrać wiersza danych</translation>
@@ -6350,7 +6305,7 @@ Proszę wybrać inną nazwę pliku.</translation>
<translation>Nie można skasować polecenia</translation>
</message>
<message>
- <location line="-148"/>
+ <location line="-149"/>
<source>No query</source>
<translation>Brak zapytania</translation>
</message>
@@ -8083,7 +8038,7 @@ Proszę wybrać inną nazwę pliku.</translation>
<translation>Anuluj</translation>
</message>
<message>
- <location filename="../src/gui/kernel/qsoftkeymanager_s60.cpp" line="+319"/>
+ <location filename="../src/gui/kernel/qsoftkeymanager_s60.cpp" line="+321"/>
<source>Exit</source>
<translation>Wyjście</translation>
</message>
@@ -8427,7 +8382,7 @@ Proszę wybrać inną nazwę pliku.</translation>
<context>
<name>QTextControl</name>
<message>
- <location filename="../src/gui/text/qtextcontrol.cpp" line="+2047"/>
+ <location filename="../src/gui/text/qtextcontrol.cpp" line="+2049"/>
<source>&amp;Copy</source>
<translation>S&amp;kopiuj</translation>
</message>
@@ -9128,12 +9083,17 @@ Proszę wybrać inną nazwę pliku.</translation>
<translation>Nieznany</translation>
</message>
<message>
- <location filename="../src/3rdparty/webkit/WebKit/qt/WebCoreSupport/InspectorClientQt.cpp" line="+236"/>
+ <location filename="../src/3rdparty/webkit/WebKit/qt/WebCoreSupport/InspectorClientQt.cpp" line="+248"/>
<source>Web Inspector - %2</source>
<translation>Wizytator sieciowy - %2</translation>
</message>
<message>
- <location filename="../src/3rdparty/webkit/WebCore/platform/network/qt/QNetworkReplyHandler.cpp" line="+456"/>
+ <location filename="../src/3rdparty/webkit/WebCore/platform/network/qt/QNetworkReplyHandler.cpp" line="+347"/>
+ <source>Redirection limit reached</source>
+ <translation>Osiągnięto limit przekierowań</translation>
+ </message>
+ <message>
+ <location line="+121"/>
<source>Bad HTTP request</source>
<translation>Niepoprawna komenda HTTP</translation>
</message>
@@ -9237,7 +9197,7 @@ Proszę wybrać inną nazwę pliku.</translation>
</translation>
</message>
<message>
- <location filename="../src/3rdparty/webkit/WebKit/qt/Api/qwebpage.cpp" line="+1959"/>
+ <location filename="../src/3rdparty/webkit/WebKit/qt/Api/qwebpage.cpp" line="+1979"/>
<source>JavaScript Alert - %1</source>
<translation>Ostrzeżenie JavaScript - %1</translation>
</message>
@@ -9262,7 +9222,7 @@ Proszę wybrać inną nazwę pliku.</translation>
<translation>Skrypt na tej stronie nie działa poprawnie. Czy chcesz przerwać ten skrypt?</translation>
</message>
<message>
- <location line="+374"/>
+ <location line="+376"/>
<source>Move the cursor to the next character</source>
<translation>Przesuń kursor do następnego znaku</translation>
</message>
@@ -9483,7 +9443,7 @@ Proszę wybrać inną nazwę pliku.</translation>
<context>
<name>QWidget</name>
<message>
- <location filename="../src/gui/kernel/qwidget.cpp" line="+5814"/>
+ <location filename="../src/gui/kernel/qwidget.cpp" line="+5793"/>
<source>*</source>
<translation>*</translation>
</message>
@@ -9508,7 +9468,7 @@ Proszę wybrać inną nazwę pliku.</translation>
<message>
<location line="+2"/>
<source>Done</source>
- <translation>Wykonano</translation>
+ <translation>Zrobione</translation>
</message>
<message>
<location line="+4"/>
@@ -10617,7 +10577,7 @@ Proszę wybrać inną nazwę pliku.</translation>
<message>
<location line="+49"/>
<source>The focus is undefined.</source>
- <translation>Focus jest niezdefiniowany.</translation>
+ <translation>Fokus jest niezdefiniowany.</translation>
</message>
<message>
<location filename="../src/xmlpatterns/utils/qoutputvalidator.cpp" line="+86"/>
@@ -11390,13 +11350,13 @@ Proszę wybrać inną nazwę pliku.</translation>
</message>
<message>
<location line="+28"/>
- <location line="+408"/>
+ <location line="+415"/>
<location line="+30"/>
<source>Type %1 of %2 element cannot be resolved.</source>
<translation>Nie można rozwiązać typu %1 elementu %2.</translation>
</message>
<message>
- <location line="-416"/>
+ <location line="-423"/>
<source>Base type %1 of complex type cannot be resolved.</source>
<translation>Nie można rozwiązać typu podstawowego %1 dla typu złożonego.</translation>
</message>
@@ -11406,7 +11366,7 @@ Proszę wybrać inną nazwę pliku.</translation>
<translation>%1 nie może mieć złożonego typu podstawowego który ma %2.</translation>
</message>
<message>
- <location line="+279"/>
+ <location line="+286"/>
<source>Content model of complex type %1 contains %2 element so it cannot be derived by extension from a non-empty type.</source>
<translation>Model zawartości typu złożonego %1 posiada element %2 więc nie może być on wywiedziony poprzez rozszerzenie niepustego typu.</translation>
</message>
@@ -12318,11 +12278,11 @@ Proszę wybrać inną nazwę pliku.</translation>
</message>
</context>
<context>
- <name>Widget</name>
+ <name>S60MediaPlayerControl</name>
<message>
- <location filename="../src/3rdparty/webkit/WebKit/qt/tests/hybridPixmap/widget.ui"/>
- <source>about:blank</source>
- <translation>o:puste</translation>
+ <location filename="../src/plugins/mediaservices/symbian/mediaplayer/s60mediaplayercontrol.cpp" line="+231"/>
+ <source>Media couldn&apos;t be resolved</source>
+ <translation type="unfinished"></translation>
</message>
</context>
</TS>
diff --git a/translations/qt_ru.ts b/translations/qt_ru.ts
index e9cdfd4715..deae134466 100644
--- a/translations/qt_ru.ts
+++ b/translations/qt_ru.ts
@@ -1,10 +1,31 @@
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE TS>
-<TS version="2.0" language="ru_RU">
+<TS version="2.0" language="ru">
+<context>
+ <name>CloseButton</name>
+ <message>
+ <location filename="../src/gui/widgets/qtabbar.cpp" line="+2313"/>
+ <source>Close Tab</source>
+ <translation>Закрыть вкладку</translation>
+ </message>
+</context>
+<context>
+ <name>FakeReply</name>
+ <message>
+ <location filename="../src/3rdparty/webkit/WebKit/qt/tests/qwebframe/tst_qwebframe.cpp" line="+2273"/>
+ <source>Fake error !</source>
+ <translation>Фиктивная ошибка !</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>Invalid URL</source>
+ <translation>Некорректный адрес URL</translation>
+ </message>
+</context>
<context>
<name>MAC_APPLICATION_MENU</name>
<message>
- <location filename="../src/gui/kernel/qapplication.cpp" line="+2316"/>
+ <location filename="../src/gui/kernel/qapplication.cpp" line="+2335"/>
<source>Services</source>
<translation>Службы</translation>
</message>
@@ -40,27 +61,6 @@
</message>
</context>
<context>
- <name>CloseButton</name>
- <message>
- <location filename="../src/gui/widgets/qtabbar.cpp" line="+2264"/>
- <source>Close Tab</source>
- <translation>Закрыть вкладку</translation>
- </message>
-</context>
-<context>
- <name>FakeReply</name>
- <message>
- <location filename="../src/3rdparty/webkit/WebKit/qt/tests/qwebframe/tst_qwebframe.cpp" line="+2200"/>
- <source>Fake error !</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location line="+3"/>
- <source>Invalid URL</source>
- <translation>Некорректный URL</translation>
- </message>
-</context>
-<context>
<name>Phonon::</name>
<message>
<location filename="../src/3rdparty/phonon/phonon/phononnamespace.cpp" line="+55"/>
@@ -96,25 +96,32 @@
<context>
<name>Phonon::AudioOutput</name>
<message>
- <location filename="../src/3rdparty/phonon/phonon/audiooutput.cpp" line="+385"/>
+ <location filename="../src/3rdparty/phonon/phonon/audiooutput.cpp" line="+444"/>
+ <location line="+34"/>
<source>&lt;html&gt;The audio playback device &lt;b&gt;%1&lt;/b&gt; does not work.&lt;br/&gt;Falling back to &lt;b&gt;%2&lt;/b&gt;.&lt;/html&gt;</source>
<translation>&lt;html&gt;Звуковое устройство &lt;b&gt;%1&lt;/b&gt; не работает.&lt;br/&gt;Будет использоваться &lt;b&gt;%2&lt;/b&gt;.&lt;/html&gt;</translation>
</message>
<message>
- <location line="+13"/>
+ <location line="-21"/>
<source>&lt;html&gt;Switching to the audio playback device &lt;b&gt;%1&lt;/b&gt;&lt;br/&gt;which just became available and has higher preference.&lt;/html&gt;</source>
- <translation>&lt;html&gt;Переключение на звуковое устройство &lt;b&gt;%1&lt;/b&gt;&lt;br/&gt;, которое доступно и имеет высший приоритет.&lt;/html&gt;</translation>
+ <translation>&lt;html&gt;Переключение на звуковое устройство &lt;b&gt;%1&lt;/b&gt;&lt;br/&gt;, которое стало доступно и имеет высший приоритет.&lt;/html&gt;</translation>
</message>
<message>
<location line="+3"/>
+ <location line="+14"/>
<source>Revert back to device &apos;%1&apos;</source>
- <translation>Возвращение к устройству &apos;%1&apos;</translation>
+ <translation>Возвращение к устройству &quot;%1&quot;</translation>
+ </message>
+ <message>
+ <location line="-3"/>
+ <source>&lt;html&gt;Switching to the audio playback device &lt;b&gt;%1&lt;/b&gt;&lt;br/&gt;which has higher preference or is specifically configured for this stream.&lt;/html&gt;</source>
+ <translation>&lt;html&gt;Переключение на устройство вывода звука &lt;b&gt;%1&lt;/b&gt;&lt;br/&gt;, которое имеет высший приоритет или настроено для обработки данного потока.&lt;/html&gt;</translation>
</message>
</context>
<context>
<name>Phonon::Gstreamer::Backend</name>
<message>
- <location filename="../src/3rdparty/phonon/gstreamer/backend.cpp" line="+182"/>
+ <location filename="../src/3rdparty/phonon/gstreamer/backend.cpp" line="+188"/>
<source>Warning: You do not seem to have the package gstreamer0.10-plugins-good installed.
Some video features have been disabled.</source>
<translation>Внимание: Похоже, пакет gstreamer0.10-plugins-good не установлен.
@@ -131,40 +138,50 @@
<context>
<name>Phonon::Gstreamer::MediaObject</name>
<message>
- <location filename="../src/3rdparty/phonon/gstreamer/mediaobject.cpp" line="+90"/>
+ <location filename="../src/3rdparty/phonon/gstreamer/mediaobject.cpp" line="+93"/>
<source>Cannot start playback.
Check your GStreamer installation and make sure you
have libgstreamer-plugins-base installed.</source>
<translation>Невозможно начать воспроизведение.
-Проверьте установку GStreamer и убедитесь,
+Проверьте правильность установки GStreamer и убедитесь,
что пакет libgstreamer-plugins-base установлен.</translation>
</message>
<message>
- <location line="+113"/>
+ <location line="+129"/>
+ <source>Missing codec helper script assistant.</source>
+ <translation>Отсутствует сценарий установки кодека.</translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Plugin codec installation failed for codec: %0</source>
+ <translation>Не удалось установить модуль кодека: %0</translation>
+ </message>
+ <message>
+ <location line="+11"/>
<source>A required codec is missing. You need to install the following codec(s) to play this content: %0</source>
<translation>Отсутствует необходимый кодек. Вам нужно установить следующие кодеки для воспроизведения данного содержимого: %0</translation>
</message>
<message>
- <location line="+702"/>
- <location line="+8"/>
- <location line="+15"/>
- <location line="+26"/>
+ <location line="+730"/>
<location line="+6"/>
- <location line="+19"/>
- <location line="+339"/>
+ <location line="+13"/>
+ <location line="+24"/>
+ <location line="+6"/>
+ <location line="+18"/>
+ <location line="+434"/>
<location line="+24"/>
<source>Could not open media source.</source>
<translation>Не удалось открыть источник медиа-данных.</translation>
</message>
<message>
- <location line="-424"/>
+ <location line="-514"/>
<source>Invalid source type.</source>
- <translation>Неверный тип источника медиа-данных.</translation>
+ <translation>Некорректный тип источника медиа-данных.</translation>
</message>
<message>
- <location line="+398"/>
+ <location line="+488"/>
<source>Could not locate media source.</source>
<translation>Не удалось найти источник медиа-данных.</translation>
</message>
@@ -192,14 +209,14 @@ have libgstreamer-plugins-base installed.</source>
<translation>Устройство воспроизведения звука</translation>
</message>
<message>
- <location filename="../src/3rdparty/phonon/mmf/utils.cpp" line="+87"/>
+ <location filename="../src/3rdparty/phonon/mmf/utils.cpp" line="+89"/>
<source>No error</source>
<translation>Нет ошибки</translation>
</message>
<message>
<location line="+2"/>
<source>Not found</source>
- <translation>Не найден</translation>
+ <translation>Не найдено</translation>
</message>
<message>
<location line="+2"/>
@@ -214,12 +231,12 @@ have libgstreamer-plugins-base installed.</source>
<message>
<location line="+2"/>
<source>Overflow</source>
- <translation type="unfinished"></translation>
+ <translation>Переполнение</translation>
</message>
<message>
<location line="+2"/>
<source>Underflow</source>
- <translation type="unfinished"></translation>
+ <translation type="unfinished">Переполнение</translation>
</message>
<message>
<location line="+2"/>
@@ -239,7 +256,7 @@ have libgstreamer-plugins-base installed.</source>
<message>
<location line="+2"/>
<source>Not ready</source>
- <translation>Не готов</translation>
+ <translation>Не готово</translation>
</message>
<message>
<location line="+2"/>
@@ -264,7 +281,7 @@ have libgstreamer-plugins-base installed.</source>
<message>
<location line="+4"/>
<source>Insufficient bandwidth</source>
- <translation type="unfinished">Недостаточная ширина канала</translation>
+ <translation>Недостаточная скорость передачи данных</translation>
</message>
<message>
<location line="+3"/>
@@ -274,17 +291,17 @@ have libgstreamer-plugins-base installed.</source>
<message>
<location line="+4"/>
<source>Network communication error</source>
- <translation type="unfinished">Ошибка сетевого обмена данными</translation>
+ <translation>Ошибка сетевого обмена данными</translation>
</message>
<message>
<location line="+2"/>
<source>Streaming not supported</source>
- <translation type="unfinished"></translation>
+ <translation>Потоковое воспроизведение не поддерживается</translation>
</message>
<message>
<location line="+2"/>
<source>Server alert</source>
- <translation type="unfinished"></translation>
+ <translation type="unfinished">Сигнал сервера</translation>
</message>
<message>
<location line="+2"/>
@@ -294,12 +311,12 @@ have libgstreamer-plugins-base installed.</source>
<message>
<location line="+2"/>
<source>Invalid URL</source>
- <translation>Некорректный URL</translation>
+ <translation>Некорректный адрес URL</translation>
</message>
<message>
<location line="+2"/>
<source>Multicast error</source>
- <translation type="unfinished"></translation>
+ <translation>Ошибка широковещательной передачи</translation>
</message>
<message>
<location line="+3"/>
@@ -358,7 +375,7 @@ have libgstreamer-plugins-base installed.</source>
<message>
<location line="+4"/>
<source>Error opening URL</source>
- <translation>Ошибка открытия URL</translation>
+ <translation>Ошибка открытия адреса URL</translation>
</message>
<message>
<location line="+83"/>
@@ -366,12 +383,40 @@ have libgstreamer-plugins-base installed.</source>
<translation>Не удалось установить уровень громкости</translation>
</message>
<message>
- <location line="+50"/>
+ <location line="+45"/>
+ <source>Loading clip failed</source>
+ <translation>Не удалось загрузить клип</translation>
+ </message>
+ <message>
+ <location line="+24"/>
<source>Playback complete</source>
<translation>Воспроизведение завершено</translation>
</message>
</context>
<context>
+ <name>Phonon::MMF::AbstractVideoPlayer</name>
+ <message>
+ <location filename="../src/3rdparty/phonon/mmf/abstractvideoplayer.cpp" line="+108"/>
+ <source>Pause failed</source>
+ <translation>Не удалось приостановить воспроизведение</translation>
+ </message>
+ <message>
+ <location line="+16"/>
+ <source>Seek failed</source>
+ <translation>Не удалось установить позицию</translation>
+ </message>
+ <message>
+ <location line="+54"/>
+ <source>Getting position failed</source>
+ <translation>Не удалось получить позицию</translation>
+ </message>
+ <message>
+ <location line="+66"/>
+ <source>Opening clip failed</source>
+ <translation>Не удалось открыть клип</translation>
+ </message>
+</context>
+<context>
<name>Phonon::MMF::AudioEqualizer</name>
<message>
<location filename="../src/3rdparty/phonon/mmf/audioequalizer.cpp" line="+92"/>
@@ -384,12 +429,19 @@ have libgstreamer-plugins-base installed.</source>
<message>
<location filename="../src/3rdparty/phonon/mmf/audioplayer.cpp" line="+173"/>
<source>Getting position failed</source>
- <translation type="unfinished"></translation>
+ <translation>Не удалось получить позицию</translation>
</message>
+</context>
+<context>
+ <name>Phonon::MMF::DsaVideoPlayer</name>
<message>
- <location line="+36"/>
- <source>Opening clip failed</source>
- <translation type="unfinished"></translation>
+ <location filename="../src/3rdparty/phonon/mmf/videoplayer_dsa.cpp" line="+238"/>
+ <location line="+15"/>
+ <location line="+8"/>
+ <location line="+22"/>
+ <location line="+22"/>
+ <source>Video display error</source>
+ <translation>Ошибка отображения видео</translation>
</message>
</context>
<context>
@@ -397,7 +449,7 @@ have libgstreamer-plugins-base installed.</source>
<message>
<location filename="../src/3rdparty/phonon/mmf/effectfactory.cpp" line="+181"/>
<source>Enabled</source>
- <translation type="unfinished">Активно</translation>
+ <translation>Включено</translation>
</message>
</context>
<context>
@@ -406,74 +458,74 @@ have libgstreamer-plugins-base installed.</source>
<location filename="../src/3rdparty/phonon/mmf/environmentalreverb.cpp" line="+146"/>
<source>Decay HF ratio (%)</source>
<extracomment>DecayHFRatio: Ratio of high-frequency decay time to the value specified by DecayTime.</extracomment>
- <translation type="unfinished"></translation>
+ <translation>Коэффициент затухания ВЧ (%)</translation>
</message>
<message>
<location line="+6"/>
<source>Decay time (ms)</source>
<extracomment>DecayTime: Time over which reverberation is diminished.</extracomment>
- <translation type="unfinished"></translation>
+ <translation>Время затухания (мс)</translation>
</message>
<message>
<location line="+7"/>
<source>Density (%)</source>
<extracomment>Density Delay between first and subsequent reflections. Note that the S60 platform documentation does not make clear the distinction between this value and the Diffusion value.</extracomment>
- <translation type="unfinished"></translation>
+ <translation>Плотность (%)</translation>
</message>
<message>
<location line="+6"/>
<source>Diffusion (%)</source>
<extracomment>Diffusion: Delay between first and subsequent reflections. Note that the S60 platform documentation does not make clear the distinction between this value and the Density value.</extracomment>
- <translation type="unfinished"></translation>
+ <translation>Рассеивание (%)</translation>
</message>
<message>
<location line="+5"/>
<source>Reflections delay (ms)</source>
<extracomment>ReflectionsDelay: Amount of delay between the arrival the direct path from the source and the arrival of the first reflection.</extracomment>
- <translation type="unfinished"></translation>
+ <translation>Затухание отражений (мс)</translation>
</message>
<message>
<location line="+7"/>
<source>Reflections level (mB)</source>
<extracomment>ReflectionsLevel: Amplitude of reflections. This value is corrected by the RoomLevel to give the final reflection amplitude.</extracomment>
- <translation type="unfinished"></translation>
+ <translation>Уровень отражений (мБар)</translation>
</message>
<message>
<location line="+7"/>
<source>Reverb delay (ms)</source>
<extracomment>ReverbDelay: Amount of time between arrival of the first reflection and start of the late reverberation.</extracomment>
- <translation type="unfinished"></translation>
+ <translation>Задержка эха (мс)</translation>
</message>
<message>
<location line="+8"/>
<source>Reverb level (mB)</source>
<extracomment>ReverbLevel Amplitude of reverberations. This value is corrected by the RoomLevel to give the final reverberation amplitude.</extracomment>
- <translation type="unfinished"></translation>
+ <translation>Уровень эха (мБар)</translation>
</message>
<message>
<location line="+7"/>
<source>Room HF level</source>
<extracomment>RoomHFLevel: Amplitude of low-pass filter used to attenuate the high frequency component of reflected sound.</extracomment>
- <translation type="unfinished"></translation>
+ <translation>Уровень ВЧ отражений</translation>
</message>
<message>
<location line="+6"/>
<source>Room level (mB)</source>
<extracomment>RoomLevel: Master volume control for all reflected sound.</extracomment>
- <translation type="unfinished"></translation>
+ <translation>Уровень отражений (мБар)</translation>
</message>
</context>
<context>
<name>Phonon::MMF::MediaObject</name>
<message>
- <location filename="../src/3rdparty/phonon/mmf/mediaobject.cpp" line="+270"/>
+ <location filename="../src/3rdparty/phonon/mmf/mediaobject.cpp" line="+276"/>
<source>Error opening source: type not supported</source>
<translation>Ошибка открытыия источника: тип не поддерживается</translation>
</message>
<message>
<location line="+18"/>
<source>Error opening source: media type could not be determined</source>
- <translation>Ошибка открытыия источника: тип медиа-данных не определён</translation>
+ <translation>Ошибка открытыия источника: тип носителя не определён</translation>
</message>
</context>
<context>
@@ -485,40 +537,12 @@ have libgstreamer-plugins-base installed.</source>
</message>
</context>
<context>
- <name>Phonon::MMF::VideoPlayer</name>
- <message>
- <location filename="../src/3rdparty/phonon/mmf/mmf_videoplayer.cpp" line="+125"/>
- <source>Pause failed</source>
- <translation type="unfinished"></translation>
- </message>
+ <name>Phonon::MMF::SurfaceVideoPlayer</name>
<message>
+ <location filename="../src/3rdparty/phonon/mmf/videoplayer_surface.cpp" line="+126"/>
<location line="+16"/>
- <source>Seek failed</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location line="+54"/>
- <source>Getting position failed</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location line="+26"/>
- <source>Opening clip failed</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location line="+26"/>
- <source>Buffering clip failed</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location line="+174"/>
- <location line="+12"/>
- <location line="+176"/>
- <location line="+15"/>
- <location line="+6"/>
<source>Video display error</source>
- <translation type="unfinished"></translation>
+ <translation>Ошибка отображения видео</translation>
</message>
</context>
<context>
@@ -536,7 +560,7 @@ have libgstreamer-plugins-base installed.</source>
<location line="+18"/>
<location line="+54"/>
<source>Use this slider to adjust the volume. The leftmost position is 0%, the rightmost is %1%</source>
- <translation>Используйте данный ползунок для настройки громкости. Крайнее левое положение соответствует 0%, крайнее правое - %1%</translation>
+ <translation>Используйте данный регулятор для настройки громкости. Крайнее левое положение соответствует 0%, крайнее правое - %1%</translation>
</message>
<message>
<location line="+67"/>
@@ -549,7 +573,7 @@ have libgstreamer-plugins-base installed.</source>
<message>
<location filename="../src/qt3support/other/q3accel.cpp" line="+481"/>
<source>%1, %2 not defined</source>
- <translation type="unfinished">%1, %2 не определён</translation>
+ <translation>%1, %2 не определён</translation>
</message>
<message>
<location line="+36"/>
@@ -1149,43 +1173,43 @@ to
<location line="+260"/>
<location line="+4"/>
<source>The protocol `%1&apos; is not supported</source>
- <translation>Протокол &apos;%1&apos; не поддерживается</translation>
+ <translation>Протокол &quot;%1&quot; не поддерживается</translation>
</message>
<message>
<location line="-260"/>
<source>The protocol `%1&apos; does not support listing directories</source>
- <translation>Протокол &apos;%1&apos; не поддерживает просмотр каталогов</translation>
+ <translation>Протокол &quot;%1&quot; не поддерживает просмотр каталогов</translation>
</message>
<message>
<location line="+3"/>
<source>The protocol `%1&apos; does not support creating new directories</source>
- <translation>Протокол &apos;%1&apos; не поддерживает создание каталогов</translation>
+ <translation>Протокол &quot;%1&quot; не поддерживает создание каталогов</translation>
</message>
<message>
<location line="+3"/>
<source>The protocol `%1&apos; does not support removing files or directories</source>
- <translation>Протокол &apos;%1&apos; не поддерживает удаление файлов или каталогов</translation>
+ <translation>Протокол &quot;%1&quot; не поддерживает удаление файлов или каталогов</translation>
</message>
<message>
<location line="+3"/>
<source>The protocol `%1&apos; does not support renaming files or directories</source>
- <translation>Протокол &apos;%1&apos; не поддерживает переименование файлов или каталогов</translation>
+ <translation>Протокол &quot;%1&quot; не поддерживает переименование файлов или каталогов</translation>
</message>
<message>
<location line="+3"/>
<source>The protocol `%1&apos; does not support getting files</source>
- <translation>Протокол &apos;%1&apos; не поддерживает доставку файлов</translation>
+ <translation>Протокол &quot;%1&quot; не поддерживает доставку файлов</translation>
</message>
<message>
<location line="+3"/>
<source>The protocol `%1&apos; does not support putting files</source>
- <translation>Протокол &apos;%1&apos; не поддерживает отправку файлов</translation>
+ <translation>Протокол &quot;%1&quot; не поддерживает отправку файлов</translation>
</message>
<message>
<location line="+243"/>
<location line="+4"/>
<source>The protocol `%1&apos; does not support copying or moving files or directories</source>
- <translation>Протокол &apos;%1&apos; не поддерживает копирование или перемещение файлов или каталогов</translation>
+ <translation>Протокол &quot;%1&quot; не поддерживает копирование или перемещение файлов или каталогов</translation>
</message>
<message>
<location line="+237"/>
@@ -1225,7 +1249,7 @@ to
<context>
<name>QAbstractSocket</name>
<message>
- <location filename="../src/network/socket/qabstractsocket.cpp" line="+906"/>
+ <location filename="../src/network/socket/qabstractsocket.cpp" line="+916"/>
<location filename="../src/network/socket/qhttpsocketengine.cpp" line="+629"/>
<location filename="../src/network/socket/qsocks5socketengine.cpp" line="+661"/>
<location line="+26"/>
@@ -1247,12 +1271,12 @@ to
<message>
<location line="-559"/>
<location line="+809"/>
- <location line="+208"/>
+ <location line="+220"/>
<source>Operation on socket is not supported</source>
<translation>Операция с сокетом не поддерживается</translation>
</message>
<message>
- <location filename="../src/network/access/qhttpnetworkconnection.cpp" line="+598"/>
+ <location filename="../src/network/access/qhttpnetworkconnection.cpp" line="+625"/>
<location filename="../src/network/socket/qabstractsocket.cpp" line="+203"/>
<source>Socket operation timed out</source>
<translation>Время на операцию с сокетом истекло</translation>
@@ -1271,7 +1295,7 @@ to
<context>
<name>QAbstractSpinBox</name>
<message>
- <location filename="../src/gui/widgets/qabstractspinbox.cpp" line="+1260"/>
+ <location filename="../src/gui/widgets/qabstractspinbox.cpp" line="+1263"/>
<source>&amp;Step up</source>
<translation>Шаг вв&amp;ерх</translation>
</message>
@@ -1297,14 +1321,9 @@ to
<context>
<name>QApplication</name>
<message>
- <location filename="../src/gui/accessible/qaccessibleobject.cpp" line="+376"/>
- <source>Activate</source>
- <translation>Активировать</translation>
- </message>
- <message>
<location filename="../src/gui/dialogs/qmessagebox.h" line="+354"/>
<source>Executable &apos;%1&apos; requires Qt %2, found Qt %3.</source>
- <translation>Программный модуль &apos;%1&apos; требует Qt %2, найдена версия %3.</translation>
+ <translation>Программный модуль &quot;%1&quot; требует Qt %2, найдена версия %3.</translation>
</message>
<message>
<location line="+2"/>
@@ -1312,16 +1331,21 @@ to
<translation>Ошибка совместимости библиотеки Qt</translation>
</message>
<message>
- <location filename="../src/gui/kernel/qapplication.cpp" line="+2287"/>
- <source>QT_LAYOUT_DIRECTION</source>
- <comment>Translate this string to the string &apos;LTR&apos; in left-to-right languages or to &apos;RTL&apos; in right-to-left languages (such as Hebrew and Arabic) to get proper widget layout.</comment>
- <translation>LTR</translation>
+ <location filename="../src/gui/accessible/qaccessibleobject.cpp" line="+376"/>
+ <source>Activate</source>
+ <translation>Активировать</translation>
</message>
<message>
- <location filename="../src/gui/accessible/qaccessibleobject.cpp" line="+2"/>
+ <location line="+2"/>
<source>Activates the program&apos;s main window</source>
<translation>Активирует главное окно программы</translation>
</message>
+ <message>
+ <location filename="../src/gui/kernel/qapplication.cpp" line="-13"/>
+ <source>QT_LAYOUT_DIRECTION</source>
+ <comment>Translate this string to the string &apos;LTR&apos; in left-to-right languages or to &apos;RTL&apos; in right-to-left languages (such as Hebrew and Arabic) to get proper widget layout.</comment>
+ <translation>LTR</translation>
+ </message>
</context>
<context>
<name>QAxSelect</name>
@@ -1367,7 +1391,7 @@ to
<context>
<name>QColorDialog</name>
<message>
- <location filename="../src/gui/dialogs/qcolordialog.cpp" line="+1355"/>
+ <location filename="../src/gui/dialogs/qcolordialog.cpp" line="+1378"/>
<source>Hu&amp;e:</source>
<translation>&amp;Тон:</translation>
</message>
@@ -1425,7 +1449,7 @@ to
<context>
<name>QComboBox</name>
<message>
- <location filename="../src/plugins/accessible/widgets/complexwidgets.cpp" line="+1771"/>
+ <location filename="../src/plugins/accessible/widgets/complexwidgets.cpp" line="+1772"/>
<location line="+65"/>
<source>Open</source>
<translation>Открыть</translation>
@@ -1572,6 +1596,1113 @@ to
</message>
</context>
<context>
+ <name>QDeclarativeAbstractAnimation</name>
+ <message>
+ <location filename="../src/declarative/util/qdeclarativeanimation.cpp" line="+166"/>
+ <source>Cannot animate non-existent property &quot;%1&quot;</source>
+ <translation>Невозможно анимировать несуществуещее свойство &quot;%1&quot;</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>Cannot animate read-only property &quot;%1&quot;</source>
+ <translation>Невозможно анимировать свойство только для чтения &quot;%1&quot;</translation>
+ </message>
+ <message>
+ <location filename="../src/declarative/util/qdeclarativeutilmodule.cpp" line="+122"/>
+ <source>Animation is an abstract class</source>
+ <translation>Animation - это абстрактный класс</translation>
+ </message>
+</context>
+<context>
+ <name>QDeclarativeAnchorAnimation</name>
+ <message>
+ <location filename="../src/declarative/util/qdeclarativeanimation.cpp" line="+2553"/>
+ <source>Cannot set a duration of &lt; 0</source>
+ <translation>Невозможно установить длительность &lt; 0</translation>
+ </message>
+</context>
+<context>
+ <name>QDeclarativeAnchors</name>
+ <message>
+ <location filename="../src/declarative/graphicsitems/qdeclarativeanchors.cpp" line="+180"/>
+ <source>Possible anchor loop detected on fill.</source>
+ <translation type="unfinished">Обнаружена возможная цикличная привязка на fill.</translation>
+ </message>
+ <message>
+ <location line="+29"/>
+ <source>Possible anchor loop detected on centerIn.</source>
+ <translation type="unfinished">Обнаружена возможная цикличная привязка на centerIn.</translation>
+ </message>
+ <message>
+ <location line="+201"/>
+ <location line="+34"/>
+ <location line="+610"/>
+ <location line="+37"/>
+ <source>Cannot anchor to an item that isn&apos;t a parent or sibling.</source>
+ <translation type="unfinished">Невозможно установить привязку к элементу, не являющемуся родителем или соседом.</translation>
+ </message>
+ <message>
+ <location line="-534"/>
+ <source>Possible anchor loop detected on vertical anchor.</source>
+ <translation type="unfinished">Обнаружена возможная цикличная привязка к вертикальной привязке.</translation>
+ </message>
+ <message>
+ <location line="+59"/>
+ <source>Possible anchor loop detected on horizontal anchor.</source>
+ <translation type="unfinished">Обнаружена возможная цикличная привязка к горизонтальной привязке.</translation>
+ </message>
+ <message>
+ <location line="+422"/>
+ <source>Cannot specify left, right, and hcenter anchors.</source>
+ <translation type="unfinished">Невозможно задать левую, правую и среднюю привязки.</translation>
+ </message>
+ <message>
+ <location line="+10"/>
+ <location line="+37"/>
+ <source>Cannot anchor to a null item.</source>
+ <translation type="unfinished">Невозможно привязаться к нулевому элементу.</translation>
+ </message>
+ <message>
+ <location line="-34"/>
+ <source>Cannot anchor a horizontal edge to a vertical edge.</source>
+ <translation type="unfinished">Невозможно привязать горизонтальный край к вертикальному.</translation>
+ </message>
+ <message>
+ <location line="+6"/>
+ <location line="+37"/>
+ <source>Cannot anchor item to self.</source>
+ <translation type="unfinished">Невозможно привязать элемент к самому себе.</translation>
+ </message>
+ <message>
+ <location line="-25"/>
+ <source>Cannot specify top, bottom, and vcenter anchors.</source>
+ <translation type="unfinished">Невозможно задать верхнюю, нижнюю и среднюю привязки.</translation>
+ </message>
+ <message>
+ <location line="+6"/>
+ <source>Baseline anchor cannot be used in conjunction with top, bottom, or vcenter anchors.</source>
+ <translation type="unfinished">Невозможно использовать базовую привязку вместе с верхней, нижней и центральной по вертикали.</translation>
+ </message>
+ <message>
+ <location line="+13"/>
+ <source>Cannot anchor a vertical edge to a horizontal edge.</source>
+ <translation type="unfinished">Невозможно привязать вертикальный край к горизонтальному.</translation>
+ </message>
+</context>
+<context>
+ <name>QDeclarativeAnimatedImage</name>
+ <message>
+ <location filename="../src/declarative/graphicsitems/qdeclarativeitemsmodule.cpp" line="+86"/>
+ <source>Qt was built without support for QMovie</source>
+ <translation>Qt было собрано без поддержки QMovie</translation>
+ </message>
+</context>
+<context>
+ <name>QDeclarativeBehavior</name>
+ <message>
+ <location filename="../src/declarative/util/qdeclarativebehavior.cpp" line="+127"/>
+ <source>Cannot change the animation assigned to a Behavior.</source>
+ <translation type="unfinished">Невозможно изменить анимацию, назначенную поведению.</translation>
+ </message>
+</context>
+<context>
+ <name>QDeclarativeBinding</name>
+ <message>
+ <location filename="../src/declarative/qml/qdeclarativebinding.cpp" line="+238"/>
+ <source>Binding loop detected for property &quot;%1&quot;</source>
+ <translation type="unfinished">Обнаружена цикличная привязка для свойства &quot;%1&quot;</translation>
+ </message>
+</context>
+<context>
+ <name>QDeclarativeCompiledBindings</name>
+ <message>
+ <location filename="../src/declarative/qml/qdeclarativecompiledbindings.cpp" line="+372"/>
+ <source>Binding loop detected for property &quot;%1&quot;</source>
+ <translation type="unfinished">Обнаружена цикличная привязка для свойства &quot;%1&quot;</translation>
+ </message>
+</context>
+<context>
+ <name>QDeclarativeCompiler</name>
+ <message>
+ <location filename="../src/declarative/qml/qdeclarativecompiler.cpp" line="+186"/>
+ <location line="+1592"/>
+ <location line="+186"/>
+ <location line="+81"/>
+ <location line="+75"/>
+ <location line="+487"/>
+ <source>Invalid property assignment: &quot;%1&quot; is a read-only property</source>
+ <translation>Некорректное присваивание свойства: &quot;%1&quot; свойство только для чтения</translation>
+ </message>
+ <message>
+ <location line="-2412"/>
+ <source>Invalid property assignment: unknown enumeration</source>
+ <translation>Некорректное присваивание свойства: неизвестное перечисление</translation>
+ </message>
+ <message>
+ <location line="+8"/>
+ <source>Invalid property assignment: string expected</source>
+ <translation>Некорректное присваивание свойства: ожидается значение типа &quot;string&quot;</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>Invalid property assignment: url expected</source>
+ <translation>Некорректное присваивание свойства: ожидается значение типа &quot;url&quot;</translation>
+ </message>
+ <message>
+ <location line="+10"/>
+ <source>Invalid property assignment: unsigned int expected</source>
+ <translation>Некорректное присваивание свойства: ожидается значение типа &quot;unsigned int&quot;</translation>
+ </message>
+ <message>
+ <location line="+11"/>
+ <source>Invalid property assignment: int expected</source>
+ <translation>Некорректное присваивание свойства: ожидается значение типа &quot;int&quot;</translation>
+ </message>
+ <message>
+ <location line="+4"/>
+ <source>Invalid property assignment: float expected</source>
+ <translation>Некорректное присваивание свойства: ожидается значение типа &quot;float&quot;</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>Invalid property assignment: double expected</source>
+ <translation>Некорректное присваивание свойства: ожидается значение типа &quot;double&quot;</translation>
+ </message>
+ <message>
+ <location line="+6"/>
+ <source>Invalid property assignment: color expected</source>
+ <translation>Некорректное присваивание свойства: ожидается значение типа &quot;color&quot;</translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>Invalid property assignment: date expected</source>
+ <translation>Некорректное присваивание свойства: ожидается значение типа &quot;date&quot;</translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>Invalid property assignment: time expected</source>
+ <translation>Некорректное присваивание свойства: ожидается значение типа &quot;time&quot;</translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>Invalid property assignment: datetime expected</source>
+ <translation>Некорректное присваивание свойства: ожидается значение типа &quot;datetime&quot;</translation>
+ </message>
+ <message>
+ <location line="+8"/>
+ <source>Invalid property assignment: point expected</source>
+ <translation>Некорректное присваивание свойства: ожидается значение типа &quot;point&quot;</translation>
+ </message>
+ <message>
+ <location line="+8"/>
+ <source>Invalid property assignment: size expected</source>
+ <translation>Некорректное присваивание свойства: ожидается значение типа &quot;size&quot;</translation>
+ </message>
+ <message>
+ <location line="+8"/>
+ <source>Invalid property assignment: rect expected</source>
+ <translation>Некорректное присваивание свойства: ожидается значение типа &quot;rect&quot;</translation>
+ </message>
+ <message>
+ <location line="+5"/>
+ <source>Invalid property assignment: boolean expected</source>
+ <translation>Некорректное присваивание свойства: ожидается значение булевого типа</translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>Invalid property assignment: 3D vector expected</source>
+ <translation>Некорректное присваивание свойства: ожидается значение типа &quot;трёхмерный вектор&quot;</translation>
+ </message>
+ <message>
+ <location line="+9"/>
+ <source>Invalid property assignment: unsupported type &quot;%1&quot;</source>
+ <translation>Некорректное присваивание свойства: неподдерживаемый тип &quot;%1&quot;</translation>
+ </message>
+ <message>
+ <location line="+275"/>
+ <source>Element is not creatable.</source>
+ <translation>Элемент не является создаваемым.</translation>
+ </message>
+ <message>
+ <location line="+618"/>
+ <source>Component elements may not contain properties other than id</source>
+ <translation type="unfinished">Элементы Component не могут содержать свойств кроме id</translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>Invalid component id specification</source>
+ <translation type="unfinished">Некорректная спецификация id компонента</translation>
+ </message>
+ <message>
+ <location line="+6"/>
+ <location line="+478"/>
+ <source>id is not unique</source>
+ <translation>id не уникален</translation>
+ </message>
+ <message>
+ <location line="-468"/>
+ <source>Invalid component body specification</source>
+ <translation type="unfinished">Некорректная спецификация тела компонента</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>Component objects cannot declare new properties.</source>
+ <translation type="unfinished">Объекты Component не могут объявлять новые свойства.</translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Component objects cannot declare new signals.</source>
+ <translation type="unfinished">Объекты Component не могут объявлять новые сигналы.</translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Component objects cannot declare new functions.</source>
+ <translation type="unfinished">Объекты Component не могут объявлять новые функции.</translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>Cannot create empty component specification</source>
+ <translation type="unfinished">Невозможно создать пустую спецификацю компонента</translation>
+ </message>
+ <message>
+ <location line="+89"/>
+ <source>Incorrectly specified signal assignment</source>
+ <translation type="unfinished">Неверно указано назначение сигнала</translation>
+ </message>
+ <message>
+ <location line="+12"/>
+ <source>Cannot assign a value to a signal (expecting a script to be run)</source>
+ <translation type="unfinished">Невозможно назначить значение сигналу (сценарий должен быть запущен)</translation>
+ </message>
+ <message>
+ <location line="+4"/>
+ <source>Empty signal assignment</source>
+ <translation type="unfinished">Пустое назначение сигнала</translation>
+ </message>
+ <message>
+ <location line="+38"/>
+ <source>Empty property assignment</source>
+ <translation type="unfinished">Пустое назначение свойства</translation>
+ </message>
+ <message>
+ <location line="+12"/>
+ <source>Attached properties cannot be used here</source>
+ <translatorcomment>здесь - в данном контексте?</translatorcomment>
+ <translation type="unfinished">Прикреплённые свойства не могут быть использованы здесь</translation>
+ </message>
+ <message>
+ <location line="+15"/>
+ <location line="+102"/>
+ <source>Non-existent attached object</source>
+ <translation type="unfinished">Несуществующий прикреплённый объект</translation>
+ </message>
+ <message>
+ <location line="-98"/>
+ <location line="+101"/>
+ <source>Invalid attached object assignment</source>
+ <translation type="unfinished">Некорректное назначение прикреплённого объекта</translation>
+ </message>
+ <message>
+ <location line="-48"/>
+ <source>Cannot assign to non-existent default property</source>
+ <translation type="unfinished">Невозможно назначить несуществующему свойству по умолчанию</translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <location line="+352"/>
+ <source>Cannot assign to non-existent property &quot;%1&quot;</source>
+ <translation type="unfinished">Невозможно назначить несуществующему свойству &quot;%1&quot;</translation>
+ </message>
+ <message>
+ <location line="-322"/>
+ <source>Invalid use of namespace</source>
+ <translation>Некорректное использование пространства имён</translation>
+ </message>
+ <message>
+ <location line="+5"/>
+ <source>Not an attached property name</source>
+ <translation type="unfinished">Не является именем привязанного свойства</translation>
+ </message>
+ <message>
+ <location line="+182"/>
+ <source>Invalid use of id property</source>
+ <translation type="unfinished">Некорректное использование свойства id</translation>
+ </message>
+ <message>
+ <location line="+89"/>
+ <location line="+2"/>
+ <source>Property has already been assigned a value</source>
+ <translation type="unfinished">Свойству уже назначено значение</translation>
+ </message>
+ <message>
+ <location line="+12"/>
+ <location line="+7"/>
+ <source>Invalid grouped property access</source>
+ <translation type="unfinished">Некорректный доступ к сгруппированному свойству</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>Cannot assign a value directly to a grouped property</source>
+ <translation type="unfinished">Невозможно присвоить значение непосредственно сгруппированному свойству</translation>
+ </message>
+ <message>
+ <location line="+16"/>
+ <source>Invalid property use</source>
+ <translation>Некорректное использование свойства</translation>
+ </message>
+ <message>
+ <location line="+13"/>
+ <source>Property assignment expected</source>
+ <translation type="unfinished">Ожидается назначение свойства</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>Single property assignment expected</source>
+ <translation type="unfinished">Ожидается одиночное назначение свойства</translation>
+ </message>
+ <message>
+ <location line="+5"/>
+ <source>Unexpected object assignment</source>
+ <translation type="unfinished">Неожиданное назначение объекта</translation>
+ </message>
+ <message>
+ <location line="+57"/>
+ <source>Cannot assign object to list</source>
+ <translation type="unfinished">Невозможно назначить объект списку</translation>
+ </message>
+ <message>
+ <location line="+6"/>
+ <source>Can only assign one binding to lists</source>
+ <translation type="unfinished">Можно назначить только одну связь для списка</translation>
+ </message>
+ <message>
+ <location line="+6"/>
+ <source>Cannot assign primitives to lists</source>
+ <translation type="unfinished">Невозможно назначить примитивы списку</translation>
+ </message>
+ <message>
+ <location line="+13"/>
+ <source>Cannot assign multiple values to a script property</source>
+ <translation type="unfinished">Невозможно назначить множественное значение свойству сценария</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>Invalid property assignment: script expected</source>
+ <translation type="unfinished">Некорректное присваивание свойства: ожидается сценарий</translation>
+ </message>
+ <message>
+ <location line="+105"/>
+ <source>Cannot assign object to property</source>
+ <translation type="unfinished">Невозможно назначить объектсвойству</translation>
+ </message>
+ <message>
+ <location line="+50"/>
+ <source>&quot;%1&quot; cannot operate on &quot;%2&quot;</source>
+ <translation>&quot;%1&quot; не может воздействовать на &quot;%2&quot;</translation>
+ </message>
+ <message>
+ <location line="+117"/>
+ <source>Duplicate default property</source>
+ <translation type="unfinished">Дублирование свойства по умолчанию</translation>
+ </message>
+ <message>
+ <location line="+5"/>
+ <source>Duplicate property name</source>
+ <translation type="unfinished">Дублирование названия свойства</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>Property names cannot begin with an upper case letter</source>
+ <translation>Названия свойств не могут начинаться с заглавной буквы</translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>Duplicate signal name</source>
+ <translation type="unfinished">Дублирование названия сигнала</translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Signal names cannot begin with an upper case letter</source>
+ <translation>Названия сигналов не могут начинаться с заглавной буквы</translation>
+ </message>
+ <message>
+ <location line="+6"/>
+ <source>Duplicate method name</source>
+ <translation type="unfinished">Дублирование название метода</translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Method names cannot begin with an upper case letter</source>
+ <translation>Названия методов не могут начинаться с заглавной буквы</translation>
+ </message>
+ <message>
+ <location line="+21"/>
+ <source>Property value set multiple times</source>
+ <translation type="unfinished">Значение свойства задано несколько раз</translation>
+ </message>
+ <message>
+ <location line="+4"/>
+ <source>Invalid property nesting</source>
+ <translation type="unfinished">Некорректное вложенность свойств</translation>
+ </message>
+ <message>
+ <location line="+53"/>
+ <source>Cannot override FINAL property</source>
+ <translation>Невозможно переопределить свойство FINAL</translation>
+ </message>
+ <message>
+ <location line="+24"/>
+ <source>Invalid property type</source>
+ <translation>Некорректный тип свойства</translation>
+ </message>
+ <message>
+ <location line="+159"/>
+ <source>Invalid empty ID</source>
+ <translation>Некорректный пустой идентификатор</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>IDs cannot start with an uppercase letter</source>
+ <translation>Идентификаторы не могут начинаться с заглавной буквы</translation>
+ </message>
+ <message>
+ <location line="+6"/>
+ <source>IDs must start with a letter or underscore</source>
+ <translation>Идентификаторы должны начинаться с буквы или подчёркивания</translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>IDs must contain only letters, numbers, and underscores</source>
+ <translation>Идентификаторы должны содержать только буквы, цифры и подчёркивания</translation>
+ </message>
+ <message>
+ <location line="+6"/>
+ <source>ID illegally masks global JavaScript property</source>
+ <translation type="unfinished">Идентификатор неверно маскирует глобальное свойство JavaScript</translation>
+ </message>
+ <message>
+ <location line="+31"/>
+ <location line="+9"/>
+ <source>No property alias location</source>
+ <translation type="unfinished">Отсутствует размещение псевдонима свойства</translation>
+ </message>
+ <message>
+ <location line="-4"/>
+ <location line="+25"/>
+ <source>Invalid alias location</source>
+ <translation type="unfinished">Некорректное размещение псевдонима</translation>
+ </message>
+ <message>
+ <location line="-16"/>
+ <source>Invalid alias reference. An alias reference must be specified as &lt;id&gt; or &lt;id&gt;.&lt;property&gt;</source>
+ <translation type="unfinished">Некорректная ссылка на псевдоним. Ссылка на псевдоним должна быть указана, как &lt;id&gt; или &lt;id&gt;.&lt;property&gt;</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>Invalid alias reference. Unable to find id &quot;%1&quot;</source>
+ <translation type="unfinished">Некорректная ссылка на псевдоним. Не удалось найти id &quot;%1&quot;</translation>
+ </message>
+</context>
+<context>
+ <name>QDeclarativeComponent</name>
+ <message>
+ <location filename="../src/declarative/qml/qdeclarativecomponent.cpp" line="+459"/>
+ <source>Invalid empty URL</source>
+ <translation>Пустой адрес URL</translation>
+ </message>
+</context>
+<context>
+ <name>QDeclarativeCompositeTypeManager</name>
+ <message>
+ <location filename="../src/declarative/qml/qdeclarativecompositetypemanager.cpp" line="+475"/>
+ <location line="+266"/>
+ <source>Resource %1 unavailable</source>
+ <translation>Ресурс &quot;%1&quot; недоступен</translation>
+ </message>
+ <message>
+ <location line="-122"/>
+ <source>Namespace %1 cannot be used as a type</source>
+ <translation>Пространство имён &quot;%1&quot; не может быть использовано в качестве типа</translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>%1 %2</source>
+ <translation>%1 %2</translation>
+ </message>
+ <message>
+ <location line="+47"/>
+ <source>Type %1 unavailable</source>
+ <translation>Тип &quot;%1&quot; недоступен</translation>
+ </message>
+</context>
+<context>
+ <name>QDeclarativeConnections</name>
+ <message>
+ <location filename="../src/declarative/util/qdeclarativeconnections.cpp" line="+209"/>
+ <location line="+60"/>
+ <source>Cannot assign to non-existent property &quot;%1&quot;</source>
+ <translation type="unfinished">Невозможно назначить несуществующему свойству &quot;%1&quot;</translation>
+ </message>
+ <message>
+ <location line="-50"/>
+ <source>Connections: nested objects not allowed</source>
+ <translation>Подключения: вложенные объекты недопустимы</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>Connections: syntax error</source>
+ <translation>Подключения: синтаксическая ошибка</translation>
+ </message>
+ <message>
+ <location line="+8"/>
+ <source>Connections: script expected</source>
+ <translation>Подключения: ожидается сценарий</translation>
+ </message>
+</context>
+<context>
+ <name>QDeclarativeEngine</name>
+ <message>
+ <location filename="../src/declarative/qml/qdeclarativesqldatabase.cpp" line="+204"/>
+ <source>executeSql called outside transaction()</source>
+ <translation>executeSql() вызван вне transaction()</translation>
+ </message>
+ <message>
+ <location line="+58"/>
+ <source>Read-only Transaction</source>
+ <translation>Транзакция только для чтения</translation>
+ </message>
+ <message>
+ <location line="+20"/>
+ <source>Version mismatch: expected %1, found %2</source>
+ <translation>Несовпадение версий: ожидалась %1, найдена %2</translation>
+ </message>
+ <message>
+ <location line="+14"/>
+ <source>SQL transaction failed</source>
+ <translation>Не удалось выполнить транзакцию SQL</translation>
+ </message>
+ <message>
+ <location line="+21"/>
+ <source>transaction: missing callback</source>
+ <translation>транзакция: отсутствует обратный вызов</translation>
+ </message>
+ <message>
+ <location line="+57"/>
+ <location line="+16"/>
+ <source>SQL: database version mismatch</source>
+ <translation>Не совпадает версия базы данных SQL</translation>
+ </message>
+</context>
+<context>
+ <name>QDeclarativeFlipable</name>
+ <message>
+ <location filename="../src/declarative/graphicsitems/qdeclarativeflipable.cpp" line="+127"/>
+ <source>front is a write-once property</source>
+ <translation>front - свойство для однократной записи</translation>
+ </message>
+ <message>
+ <location line="+19"/>
+ <source>back is a write-once property</source>
+ <translation>back - свойство для однократной записи</translation>
+ </message>
+</context>
+<context>
+ <name>QDeclarativeImportDatabase</name>
+ <message>
+ <location filename="../src/declarative/qml/qdeclarativeimport.cpp" line="+294"/>
+ <source>module &quot;%1&quot; definition &quot;%2&quot; not readable</source>
+ <translation type="unfinished">невозможно прочитать определение &quot;%2&quot; модуля &quot;%1&quot;</translation>
+ </message>
+ <message>
+ <location line="+20"/>
+ <source>plugin cannot be loaded for module &quot;%1&quot;: %2</source>
+ <translation type="unfinished">модуль не может быть загружен для подмодуля &quot;%1&quot;: %2</translation>
+ </message>
+ <message>
+ <location line="+5"/>
+ <source>module &quot;%1&quot; plugin &quot;%2&quot; not found</source>
+ <translation type="unfinished">подмодуль &quot;%1&quot; модуля &quot;%2&quot; не найден</translation>
+ </message>
+ <message>
+ <location line="+79"/>
+ <location line="+55"/>
+ <source>module &quot;%1&quot; version %2.%3 is not installed</source>
+ <translation>модуль &quot;%1&quot; версии %2.%3 не установлен</translation>
+ </message>
+ <message>
+ <location line="-53"/>
+ <source>module &quot;%1&quot; is not installed</source>
+ <translation>модуль &quot;%1&quot; не установлен</translation>
+ </message>
+ <message>
+ <location line="+14"/>
+ <location line="+19"/>
+ <source>&quot;%1&quot;: no such directory</source>
+ <translation>&quot;%1&quot;: каталог не существует</translation>
+ </message>
+ <message>
+ <location line="-2"/>
+ <source>import &quot;%1&quot; has no qmldir and no namespace</source>
+ <translation type="unfinished">каталог &quot;%1&quot; не содержит ни qmldir, ни namespace</translation>
+ </message>
+ <message>
+ <location line="+46"/>
+ <source>- %1 is not a namespace</source>
+ <translation>- %1 - некорректное пространство имён</translation>
+ </message>
+ <message>
+ <location line="+6"/>
+ <source>- nested namespaces not allowed</source>
+ <translation>- вложенные пространства имён недопустимы</translation>
+ </message>
+ <message>
+ <location line="+47"/>
+ <location line="+4"/>
+ <source>local directory</source>
+ <translation>локальный каталог</translation>
+ </message>
+ <message>
+ <location line="+6"/>
+ <source>is ambiguous. Found in %1 and in %2</source>
+ <translation>неоднозначно. Найдено в %1 и %2</translation>
+ </message>
+ <message>
+ <location line="+4"/>
+ <source>is ambiguous. Found in %1 in version %2.%3 and %4.%5</source>
+ <translation>неоднозначно. Найдено в %1 версий %2.%3 и %4.%5</translation>
+ </message>
+ <message>
+ <location line="+14"/>
+ <source>is instantiated recursively</source>
+ <translation>обрабатывается рекурсивно</translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>is not a type</source>
+ <translation>не является типом</translation>
+ </message>
+</context>
+<context>
+ <name>QDeclarativeKeyNavigationAttached</name>
+ <message>
+ <location filename="../src/declarative/graphicsitems/qdeclarativeitemsmodule.cpp" line="+66"/>
+ <source>KeyNavigation is only available via attached properties</source>
+ <translation type="unfinished">KeyNavigation доступна только через прикреплённые свойства</translation>
+ </message>
+</context>
+<context>
+ <name>QDeclarativeKeysAttached</name>
+ <message>
+ <location line="+1"/>
+ <source>Keys is only available via attached properties</source>
+ <translation type="unfinished">Keys доступны только через прикреплённые свойства</translation>
+ </message>
+</context>
+<context>
+ <name>QDeclarativeListModel</name>
+ <message>
+ <location filename="../src/declarative/util/qdeclarativelistmodel.cpp" line="+399"/>
+ <source>remove: index %1 out of range</source>
+ <translation>remove: индекс %1 вне диапазона</translation>
+ </message>
+ <message>
+ <location line="+33"/>
+ <source>insert: value is not an object</source>
+ <translation>insert: значение не является объектом</translation>
+ </message>
+ <message>
+ <location line="+5"/>
+ <source>insert: index %1 out of range</source>
+ <translation>insert: индекс %1 вне диапазона</translation>
+ </message>
+ <message>
+ <location line="+30"/>
+ <source>move: out of range</source>
+ <translation>move: индекс вне диапазона</translation>
+ </message>
+ <message>
+ <location line="+40"/>
+ <source>append: value is not an object</source>
+ <translation>append: значение не является объектом</translation>
+ </message>
+ <message>
+ <location line="+55"/>
+ <source>set: value is not an object</source>
+ <translation>set: значение не является объектом</translation>
+ </message>
+ <message>
+ <location line="+4"/>
+ <location line="+34"/>
+ <source>set: index %1 out of range</source>
+ <translation>set: индекс %1 вне диапазона</translation>
+ </message>
+ <message>
+ <location line="+39"/>
+ <location line="+15"/>
+ <source>ListElement: cannot contain nested elements</source>
+ <translation>ListElement: не может содержать вложенные элементы</translation>
+ </message>
+ <message>
+ <location line="+4"/>
+ <source>ListElement: cannot use reserved &quot;id&quot; property</source>
+ <translation>ListElement: невозможно использовать зарезервированное свойство &quot;id&quot;</translation>
+ </message>
+ <message>
+ <location line="+49"/>
+ <source>ListElement: cannot use script for property value</source>
+ <translation>ListElement: невозможно использовать сценарий в качестве значения свойства</translation>
+ </message>
+ <message>
+ <location line="+29"/>
+ <source>ListModel: undefined property &apos;%1&apos;</source>
+ <translation>ListModel: неопределённое свойство &quot;%1&quot;</translation>
+ </message>
+</context>
+<context>
+ <name>QDeclarativeLoader</name>
+ <message>
+ <location filename="../src/declarative/graphicsitems/qdeclarativeloader.cpp" line="+313"/>
+ <source>Loader does not support loading non-visual elements.</source>
+ <translation>Загрузчик не поддерживает загрузку невизуальных элементов.</translation>
+ </message>
+</context>
+<context>
+ <name>QDeclarativeParentAnimation</name>
+ <message>
+ <location filename="../src/declarative/util/qdeclarativeanimation.cpp" line="-169"/>
+ <source>Unable to preserve appearance under complex transform</source>
+ <translation>Невозможно сохранить внешний вид при сложном преобразовании</translation>
+ </message>
+ <message>
+ <location line="+10"/>
+ <location line="+7"/>
+ <source>Unable to preserve appearance under non-uniform scale</source>
+ <translation>Невозможно сохранить внешний вид при неоднородном масштабе</translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>Unable to preserve appearance under scale of 0</source>
+ <translation>Невозможно сохранить внешний вид при масштабе 0</translation>
+ </message>
+</context>
+<context>
+ <name>QDeclarativeParentChange</name>
+ <message>
+ <location filename="../src/declarative/util/qdeclarativestateoperations.cpp" line="+95"/>
+ <source>Unable to preserve appearance under complex transform</source>
+ <translation>Невозможно сохранить внешний вид при сложном преобразовании</translation>
+ </message>
+ <message>
+ <location line="+10"/>
+ <location line="+7"/>
+ <source>Unable to preserve appearance under non-uniform scale</source>
+ <translation>Невозможно сохранить внешний вид при неоднородном масштабе</translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>Unable to preserve appearance under scale of 0</source>
+ <translation>Невозможно сохранить внешний вид при масштабе 0</translation>
+ </message>
+</context>
+<context>
+ <name>QDeclarativeParser</name>
+ <message>
+ <location filename="../src/declarative/qml/parser/qdeclarativejslexer.cpp" line="+542"/>
+ <location line="+123"/>
+ <location line="+54"/>
+ <source>Illegal unicode escape sequence</source>
+ <translation type="unfinished">Неверная unicode esc-последовательность</translation>
+ </message>
+ <message>
+ <location line="-140"/>
+ <source>Illegal character</source>
+ <translation>Недопустимый символ</translation>
+ </message>
+ <message>
+ <location line="+14"/>
+ <source>Unclosed string at end of line</source>
+ <translation>Незакрытый текст в конце строки</translation>
+ </message>
+ <message>
+ <location line="+26"/>
+ <source>Illegal escape squence</source>
+ <translation type="unfinished">Неверная esc-последовательность</translation>
+ </message>
+ <message>
+ <location line="+72"/>
+ <source>Unclosed comment at end of file</source>
+ <translation>Незакрытый комментарий в конце строки</translation>
+ </message>
+ <message>
+ <location line="+102"/>
+ <source>Illegal syntax for exponential number</source>
+ <translation type="unfinished">Недопустимый синтаксис для экспоненциального числа</translation>
+ </message>
+ <message>
+ <location line="+26"/>
+ <source>Identifier cannot start with numeric literal</source>
+ <translation>Идентификатор не может начинаться с цифры</translation>
+ </message>
+ <message>
+ <location line="+338"/>
+ <source>Unterminated regular expression literal</source>
+ <translation>Незаконченный литерал регулярного выражения</translation>
+ </message>
+ <message>
+ <location line="+15"/>
+ <source>Invalid regular expression flag &apos;%0&apos;</source>
+ <translation>Некорректный флаг &quot;%0&quot; в регулярном выражении</translation>
+ </message>
+ <message>
+ <location line="+16"/>
+ <location line="+22"/>
+ <source>Unterminated regular expression backslash sequence</source>
+ <translation>Регулярное выражение содержит незавершённую экранированную последовательность</translation>
+ </message>
+ <message>
+ <location line="+13"/>
+ <source>Unterminated regular expression class</source>
+ <translation>Регулярное выражение содержит незавершённый класс</translation>
+ </message>
+ <message>
+ <location filename="../src/declarative/qml/parser/qdeclarativejsparser.cpp" line="+1828"/>
+ <location line="+67"/>
+ <source>Syntax error</source>
+ <translation>Синтаксическая ошибка</translation>
+ </message>
+ <message>
+ <location line="-65"/>
+ <source>Unexpected token `%1&apos;</source>
+ <translation>Неожиданный символ &quot;%1&quot;</translation>
+ </message>
+ <message>
+ <location line="+28"/>
+ <location line="+24"/>
+ <source>Expected token `%1&apos;</source>
+ <translation>Ожидается символ &quot;%1&quot;</translation>
+ </message>
+ <message>
+ <location filename="../src/declarative/qml/qdeclarativescriptparser.cpp" line="+260"/>
+ <location line="+431"/>
+ <location line="+59"/>
+ <source>Property value set multiple times</source>
+ <translation type="unfinished">Значение свойства установлено несколько раз</translation>
+ </message>
+ <message>
+ <location line="-479"/>
+ <source>Expected type name</source>
+ <translation>Ожидается название типа</translation>
+ </message>
+ <message>
+ <location line="+136"/>
+ <source>Invalid import qualifier ID</source>
+ <translation type="unfinished">Некорректный ID спецификатора импорта</translation>
+ </message>
+ <message>
+ <location line="+8"/>
+ <source>Reserved name &quot;Qt&quot; cannot be used as an qualifier</source>
+ <translation type="unfinished">Зарезервированное имя &quot;Qt&quot; не может быть использовано в качестве спецификатора</translation>
+ </message>
+ <message>
+ <location line="+15"/>
+ <source>Script import qualifiers must be unique.</source>
+ <translation type="unfinished">Спецификаторы импорта сценария должны быть уникальными.</translation>
+ </message>
+ <message>
+ <location line="+10"/>
+ <source>Script import requires a qualifier</source>
+ <translation type="unfinished">Для импорта сценария требуется спецификатор</translation>
+ </message>
+ <message>
+ <location line="+11"/>
+ <source>Library import requires a version</source>
+ <translation type="unfinished">Импорт библиотеки требует версию</translation>
+ </message>
+ <message>
+ <location line="+59"/>
+ <source>Expected parameter type</source>
+ <translation>Ожидается тип параметра</translation>
+ </message>
+ <message>
+ <location line="+42"/>
+ <source>Invalid property type modifier</source>
+ <translation>Некорректный модификатор типа свойства</translation>
+ </message>
+ <message>
+ <location line="+9"/>
+ <source>Unexpected property type modifier</source>
+ <translation>Неожиданный модификатор типа свойства</translation>
+ </message>
+ <message>
+ <location line="+9"/>
+ <source>Expected property type</source>
+ <translation>Ожидается тип свойства</translation>
+ </message>
+ <message>
+ <location line="+9"/>
+ <source>Readonly not yet supported</source>
+ <translation type="unfinished">Readonly ещё не поддерживается</translation>
+ </message>
+ <message>
+ <location line="+215"/>
+ <source>JavaScript declaration outside Script element</source>
+ <translation>Определение JavaScript вне элемента Script</translation>
+ </message>
+</context>
+<context>
+ <name>QDeclarativePauseAnimation</name>
+ <message>
+ <location filename="../src/declarative/util/qdeclarativeanimation.cpp" line="-1977"/>
+ <source>Cannot set a duration of &lt; 0</source>
+ <translation>Невозможно установить длительность &lt; 0</translation>
+ </message>
+</context>
+<context>
+ <name>QDeclarativePixmapCache</name>
+ <message>
+ <location filename="../src/declarative/util/qdeclarativepixmapcache.cpp" line="+190"/>
+ <source>Error decoding: %1: %2</source>
+ <translation>Ошибка декодирования: %1: %2</translation>
+ </message>
+ <message>
+ <location line="+70"/>
+ <source>Failed to get image from provider: %1</source>
+ <translation>Не удалось получить изображение от поставщика: %1</translation>
+ </message>
+ <message>
+ <location line="+19"/>
+ <location line="+345"/>
+ <source>Cannot open: %1</source>
+ <translation>Не удалось открыть: %1</translation>
+ </message>
+ <message>
+ <location line="+37"/>
+ <source>Unknown Error loading %1</source>
+ <translation>Неизвестная ошибка загрузки %1</translation>
+ </message>
+</context>
+<context>
+ <name>QDeclarativePropertyAnimation</name>
+ <message>
+ <location filename="../src/declarative/util/qdeclarativeanimation.cpp" line="+1102"/>
+ <source>Cannot set a duration of &lt; 0</source>
+ <translation>Невозможно установить длительность &lt; 0</translation>
+ </message>
+</context>
+<context>
+ <name>QDeclarativePropertyChanges</name>
+ <message>
+ <location filename="../src/declarative/util/qdeclarativepropertychanges.cpp" line="+252"/>
+ <source>PropertyChanges does not support creating state-specific objects.</source>
+ <translation type="unfinished">PropertyChanges не поддерживают создание объектов, зависимых от состояния.</translation>
+ </message>
+ <message>
+ <location line="+157"/>
+ <source>Cannot assign to non-existent property &quot;%1&quot;</source>
+ <translation type="unfinished">Невозможно назначить несуществующему свойству &quot;%1&quot;</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>Cannot assign to read-only property &quot;%1&quot;</source>
+ <translation type="unfinished">Невозможно назначить свойству только для чтения &quot;%1&quot;</translation>
+ </message>
+</context>
+<context>
+ <name>QDeclarativeTextInput</name>
+ <message>
+ <location filename="../src/declarative/graphicsitems/qdeclarativetextinput.cpp" line="+798"/>
+ <location line="+8"/>
+ <source>Could not load cursor delegate</source>
+ <translation type="unfinished">Не удалось загрузить делегат курсора</translation>
+ </message>
+ <message>
+ <location line="+11"/>
+ <source>Could not instantiate cursor delegate</source>
+ <translation type="unfinished">Не удалось инстанциировать делегат курсора</translation>
+ </message>
+</context>
+<context>
+ <name>QDeclarativeVME</name>
+ <message>
+ <location filename="../src/declarative/qml/qdeclarativevme.cpp" line="+194"/>
+ <source>Unable to create object of type %1</source>
+ <translation>Невозможно создать объект типа &quot;%1&quot;</translation>
+ </message>
+ <message>
+ <location line="+390"/>
+ <source>Cannot assign value %1 to property %2</source>
+ <translation>Невозможно установить значение &quot;%1&quot; свойству &quot;%2&quot;</translation>
+ </message>
+ <message>
+ <location line="+22"/>
+ <source>Cannot assign object type %1 with no default method</source>
+ <translation type="unfinished">Невозможно назначить объект типа %1 без метода по умолчанию</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>Cannot connect mismatched signal/slot %1 %vs. %2</source>
+ <translation type="unfinished">Невозможно подключить отсутствующий сигнал/слот %1 к %2</translation>
+ </message>
+ <message>
+ <location line="+5"/>
+ <source>Cannot assign an object to signal property %1</source>
+ <translation type="unfinished">Невозможно назначить объект к свойству сигнала %1</translation>
+ </message>
+ <message>
+ <location line="+146"/>
+ <source>Cannot assign object to list</source>
+ <translation type="unfinished">Невозможно назначить объект списку</translation>
+ </message>
+ <message>
+ <location line="+41"/>
+ <source>Cannot assign object to interface property</source>
+ <translation type="unfinished">Невозможно назначить объект свойству интерфейса</translation>
+ </message>
+ <message>
+ <location line="+11"/>
+ <source>Unable to create attached object</source>
+ <translation type="unfinished">Не удалось создать вложенный объект</translation>
+ </message>
+ <message>
+ <location line="+32"/>
+ <source>Cannot set properties on %1 as it is null</source>
+ <translation type="unfinished">Невозможно установить свойства для %1, так как он нулевой</translation>
+ </message>
+</context>
+<context>
+ <name>QDeclarativeVisualDataModel</name>
+ <message>
+ <location filename="../src/declarative/graphicsitems/qdeclarativevisualitemmodel.cpp" line="+1088"/>
+ <source>Delegate component must be Item type.</source>
+ <translation type="unfinished">Компинент делегата должен быть типа Item.</translation>
+ </message>
+</context>
+<context>
+ <name>QDeclarativeXmlListModel</name>
+ <message>
+ <location filename="../src/declarative/util/qdeclarativeutilmodule.cpp" line="-12"/>
+ <location line="+2"/>
+ <source>Qt was built without support for xmlpatterns</source>
+ <translation>Qt было собрано без поддержки xmlpatterns</translation>
+ </message>
+</context>
+<context>
+ <name>QDeclarativeXmlListModelRole</name>
+ <message>
+ <location filename="../src/declarative/util/qdeclarativexmllistmodel_p.h" line="+174"/>
+ <source>An XmlRole query must not start with &apos;/&apos;</source>
+ <translation type="unfinished">Запрос XmlRole не должен начинаться с &apos;/&apos;</translation>
+ </message>
+</context>
+<context>
+ <name>QDeclarativeXmlRoleList</name>
+ <message>
+ <location filename="../src/declarative/util/qdeclarativexmllistmodel.cpp" line="+712"/>
+ <source>An XmlListModel query must start with &apos;/&apos; or &quot;//&quot;</source>
+ <translation type="unfinished">Запрос XmlListModel должен начинаться с &apos;/&apos; или &quot;//&quot;</translation>
+ </message>
+</context>
+<context>
<name>QDial</name>
<message>
<location filename="../src/plugins/accessible/widgets/rangecontrols.cpp" line="+951"/>
@@ -1592,12 +2723,12 @@ to
<context>
<name>QDialog</name>
<message>
- <location filename="../src/gui/dialogs/qdialog.cpp" line="+652"/>
+ <location filename="../src/gui/dialogs/qdialog.cpp" line="+645"/>
<source>What&apos;s This?</source>
<translation>Что это?</translation>
</message>
<message>
- <location line="-135"/>
+ <location line="-122"/>
<source>Done</source>
<translation>Готово</translation>
</message>
@@ -1605,51 +2736,46 @@ to
<context>
<name>QDialogButtonBox</name>
<message>
- <location filename="../src/gui/dialogs/qmessagebox.cpp" line="+1876"/>
+ <location filename="../src/gui/dialogs/qmessagebox.cpp" line="+1920"/>
<location line="+464"/>
- <location filename="../src/gui/widgets/qdialogbuttonbox.cpp" line="+650"/>
+ <location filename="../src/gui/widgets/qdialogbuttonbox.cpp" line="+649"/>
<source>OK</source>
<translation>ОК</translation>
</message>
<message>
- <location filename="../src/gui/widgets/qdialogbuttonbox.cpp" line="+0"/>
- <source>&amp;OK</source>
- <translation>&amp;ОК</translation>
+ <location filename="../src/gui/widgets/qdialogbuttonbox.cpp" line="+3"/>
+ <source>Save</source>
+ <translation>Сохранить</translation>
</message>
<message>
- <location line="+3"/>
+ <location line="+0"/>
<source>&amp;Save</source>
<translation>&amp;Сохранить</translation>
</message>
<message>
- <location line="+0"/>
- <source>Save</source>
- <translation>Сохранить</translation>
- </message>
- <message>
<location line="+3"/>
<source>Open</source>
<translation>Открыть</translation>
</message>
<message>
<location line="+3"/>
- <source>&amp;Cancel</source>
- <translation>От&amp;мена</translation>
+ <source>Cancel</source>
+ <translation>Отмена</translation>
</message>
<message>
<location line="+0"/>
- <source>Cancel</source>
- <translation>Отмена</translation>
+ <source>&amp;Cancel</source>
+ <translation>От&amp;мена</translation>
</message>
<message>
<location line="+3"/>
- <source>&amp;Close</source>
- <translation>&amp;Закрыть</translation>
+ <source>Close</source>
+ <translation>Закрыть</translation>
</message>
<message>
<location line="+0"/>
- <source>Close</source>
- <translation>Закрыть</translation>
+ <source>&amp;Close</source>
+ <translation>&amp;Закрыть</translation>
</message>
<message>
<location line="+3"/>
@@ -1726,6 +2852,11 @@ to
<source>Close without Saving</source>
<translation>Закрыть без сохранения</translation>
</message>
+ <message>
+ <location line="-27"/>
+ <source>&amp;OK</source>
+ <translation>&amp;ОК</translation>
+ </message>
</context>
<context>
<name>QDirModel</name>
@@ -1791,7 +2922,17 @@ to
<context>
<name>QErrorMessage</name>
<message>
- <location filename="../src/gui/dialogs/qerrormessage.cpp" line="+208"/>
+ <location filename="../src/gui/dialogs/qerrormessage.cpp" line="+414"/>
+ <source>&amp;Show this message again</source>
+ <translation>&amp;Показывать это сообщение в дальнейшем</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>&amp;OK</source>
+ <translation>&amp;Закрыть</translation>
+ </message>
+ <message>
+ <location line="-207"/>
<source>Debug Message:</source>
<translation>Отладочное сообщение:</translation>
</message>
@@ -1805,21 +2946,11 @@ to
<source>Fatal Error:</source>
<translation>Критическая ошибка:</translation>
</message>
- <message>
- <location line="+200"/>
- <source>&amp;Show this message again</source>
- <translation>&amp;Показывать это сообщение в дальнейшем</translation>
- </message>
- <message>
- <location line="+1"/>
- <source>&amp;OK</source>
- <translation>&amp;Закрыть</translation>
- </message>
</context>
<context>
<name>QFile</name>
<message>
- <location filename="../src/corelib/io/qfile.cpp" line="+698"/>
+ <location filename="../src/corelib/io/qfile.cpp" line="+703"/>
<location line="+155"/>
<source>Destination file exists</source>
<translation>Файл существует</translation>
@@ -1858,18 +2989,71 @@ to
<context>
<name>QFileDialog</name>
<message>
- <location filename="../src/gui/dialogs/qfiledialog.cpp" line="+557"/>
- <location line="+471"/>
+ <location filename="../src/gui/dialogs/qfiledialog.cpp" line="+558"/>
+ <location line="+481"/>
<source>All Files (*)</source>
<translation>Все файлы (*)</translation>
</message>
<message>
- <location line="+216"/>
- <source>Directories</source>
- <translation>Каталоги</translation>
+ <location filename="../src/gui/dialogs/qfiledialog.ui"/>
+ <location filename="../src/gui/dialogs/qfiledialog_embedded.ui"/>
+ <source>Back</source>
+ <translation>Назад</translation>
</message>
<message>
- <location line="-3"/>
+ <location/>
+ <location filename="../src/gui/dialogs/qfiledialog_embedded.ui"/>
+ <source>List View</source>
+ <translation>Список</translation>
+ </message>
+ <message>
+ <location/>
+ <location filename="../src/gui/dialogs/qfiledialog_embedded.ui"/>
+ <source>Detail View</source>
+ <translation>Подробный вид</translation>
+ </message>
+ <message>
+ <location filename="../src/gui/itemviews/qfileiconprovider.cpp" line="+467"/>
+ <location line="+1"/>
+ <source>File</source>
+ <translation>Файл</translation>
+ </message>
+ <message>
+ <location line="+5"/>
+ <source>File Folder</source>
+ <comment>Match Windows Explorer</comment>
+ <translation>Папка с файлами</translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Folder</source>
+ <comment>All other platforms</comment>
+ <translation>Папка</translation>
+ </message>
+ <message>
+ <location line="+9"/>
+ <source>Alias</source>
+ <comment>Mac OS X Finder</comment>
+ <translation>Псевдоним</translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Shortcut</source>
+ <comment>All other platforms</comment>
+ <translation>Ярлык</translation>
+ </message>
+ <message>
+ <location filename="../src/gui/dialogs/qfiledialog.cpp" line="-498"/>
+ <source>Open</source>
+ <translation>Открыть</translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Save As</source>
+ <translation>Сохранить как</translation>
+ </message>
+ <message>
+ <location line="+709"/>
<location line="+55"/>
<location line="+1532"/>
<source>&amp;Open</source>
@@ -1882,12 +3066,59 @@ to
<translation>&amp;Сохранить</translation>
</message>
<message>
- <location line="-756"/>
- <source>Open</source>
- <translation>Открыть</translation>
+ <location line="+1381"/>
+ <source>&apos;%1&apos; is write protected.
+Do you want to delete it anyway?</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+424"/>
+ <source>Recent Places</source>
+ <translation>Недавние документы</translation>
</message>
<message>
- <location line="+1527"/>
+ <location line="-2540"/>
+ <source>&amp;Rename</source>
+ <translation>&amp;Переименовать</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>&amp;Delete</source>
+ <translation>&amp;Удалить</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Show &amp;hidden files</source>
+ <translation>Показать ск&amp;рытые файлы</translation>
+ </message>
+ <message>
+ <location line="+1986"/>
+ <source>New Folder</source>
+ <translation>Новая папка</translation>
+ </message>
+ <message>
+ <location line="-2021"/>
+ <source>Find Directory</source>
+ <translation>Найти каталог</translation>
+ </message>
+ <message>
+ <location line="+716"/>
+ <source>Directories</source>
+ <translation>Каталоги</translation>
+ </message>
+ <message>
+ <location filename="../src/gui/dialogs/qfiledialog_win.cpp" line="+148"/>
+ <source>All Files (*.*)</source>
+ <translation>Все файлы (*.*)</translation>
+ </message>
+ <message>
+ <location filename="../src/gui/dialogs/qfiledialog.cpp" line="-675"/>
+ <location line="+679"/>
+ <source>Directory:</source>
+ <translation>Каталог:</translation>
+ </message>
+ <message>
+ <location line="+819"/>
<source>%1 already exists.
Do you want to replace it?</source>
<translation>%1 уже существует.
@@ -1908,58 +3139,19 @@ Please verify the correct file name was given.</source>
<translation>Мой компьютер</translation>
</message>
<message>
- <location filename="../src/gui/dialogs/qfiledialog.cpp" line="-1516"/>
- <source>&amp;Rename</source>
- <translation>&amp;Переименовать</translation>
- </message>
- <message>
- <location line="+1"/>
- <source>&amp;Delete</source>
- <translation>&amp;Удалить</translation>
- </message>
- <message>
- <location line="+1"/>
- <source>Show &amp;hidden files</source>
- <translation>Показать ск&amp;рытые файлы</translation>
- </message>
- <message>
<location filename="../src/gui/dialogs/qfiledialog.ui"/>
<location filename="../src/gui/dialogs/qfiledialog_embedded.ui"/>
- <source>Back</source>
- <translation>Назад</translation>
- </message>
- <message>
- <location/>
- <location filename="../src/gui/dialogs/qfiledialog_embedded.ui"/>
<source>Parent Directory</source>
<translation>Родительский каталог</translation>
</message>
<message>
<location/>
<location filename="../src/gui/dialogs/qfiledialog_embedded.ui"/>
- <source>List View</source>
- <translation>Список</translation>
- </message>
- <message>
- <location/>
- <location filename="../src/gui/dialogs/qfiledialog_embedded.ui"/>
- <source>Detail View</source>
- <translation>Подробный вид</translation>
- </message>
- <message>
- <location/>
- <location filename="../src/gui/dialogs/qfiledialog_embedded.ui"/>
<source>Files of type:</source>
<translation>Типы файлов:</translation>
</message>
<message>
- <location filename="../src/gui/dialogs/qfiledialog.cpp" line="+6"/>
- <location line="+669"/>
- <source>Directory:</source>
- <translation>Каталог:</translation>
- </message>
- <message>
- <location line="+785"/>
+ <location filename="../src/gui/dialogs/qfiledialog.cpp" line="-54"/>
<location line="+862"/>
<source>%1
Directory not found.
@@ -1969,16 +3161,9 @@ Please verify the correct directory name was given.</source>
Проверьте правильность указанного имени каталога.</translation>
</message>
<message>
- <location line="-218"/>
- <source>&apos;%1&apos; is write protected.
-Do you want to delete it anyway?</source>
- <translation>&apos;%1&apos; защищён от записи.
-Всё-равно хотите удалить?</translation>
- </message>
- <message>
- <location line="+5"/>
+ <location line="-213"/>
<source>Are sure you want to delete &apos;%1&apos;?</source>
- <translation>Вы действительно хотите удалить &apos;%1&apos;?</translation>
+ <translation>Вы действительно хотите удалить &quot;%1&quot;?</translation>
</message>
<message>
<location line="+15"/>
@@ -1986,67 +3171,17 @@ Do you want to delete it anyway?</source>
<translation>Не удалось удалить каталог.</translation>
</message>
<message>
- <location line="+404"/>
- <source>Recent Places</source>
- <translation>Недавние документы</translation>
- </message>
- <message>
- <location filename="../src/gui/dialogs/qfiledialog_win.cpp" line="+174"/>
- <source>All Files (*.*)</source>
- <translation>Все файлы (*.*)</translation>
- </message>
- <message>
- <location filename="../src/gui/dialogs/qfiledialog.cpp" line="-2559"/>
- <source>Save As</source>
- <translation>Сохранить как</translation>
- </message>
- <message>
- <location filename="../src/gui/itemviews/qfileiconprovider.cpp" line="+462"/>
+ <location filename="../src/gui/itemviews/qfileiconprovider.cpp" line="-22"/>
<source>Drive</source>
<translation>Диск</translation>
</message>
<message>
- <location line="+3"/>
- <location line="+1"/>
- <source>File</source>
- <translation>Файл</translation>
- </message>
- <message>
- <location line="+5"/>
- <source>File Folder</source>
- <comment>Match Windows Explorer</comment>
- <translation>Папка с файлами</translation>
- </message>
- <message>
- <location line="+2"/>
- <source>Folder</source>
- <comment>All other platforms</comment>
- <translation>Папка</translation>
- </message>
- <message>
- <location line="+9"/>
- <source>Alias</source>
- <comment>Mac OS X Finder</comment>
- <translation>Псевдоним</translation>
- </message>
- <message>
- <location line="+2"/>
- <source>Shortcut</source>
- <comment>All other platforms</comment>
- <translation>Ярлык</translation>
- </message>
- <message>
- <location line="+7"/>
+ <location line="+29"/>
<source>Unknown</source>
<translation>Неизвестный</translation>
</message>
<message>
- <location filename="../src/gui/dialogs/qfiledialog.cpp" line="-4"/>
- <source>Find Directory</source>
- <translation>Найти каталог</translation>
- </message>
- <message>
- <location line="+29"/>
+ <location filename="../src/gui/dialogs/qfiledialog.cpp" line="-2140"/>
<source>Show </source>
<translation>Показать </translation>
</message>
@@ -2057,17 +3192,12 @@ Do you want to delete it anyway?</source>
<translation>Вперёд</translation>
</message>
<message>
- <location filename="../src/gui/dialogs/qfiledialog.cpp" line="+1982"/>
- <source>New Folder</source>
- <translation>Новая папка</translation>
- </message>
- <message>
- <location line="-1975"/>
+ <location filename="../src/gui/dialogs/qfiledialog.cpp" line="+7"/>
<source>&amp;New Folder</source>
<translation>&amp;Новая папка</translation>
</message>
<message>
- <location line="+677"/>
+ <location line="+687"/>
<location line="+43"/>
<source>&amp;Choose</source>
<translation>&amp;Выбрать</translation>
@@ -2078,8 +3208,8 @@ Do you want to delete it anyway?</source>
<translation>Удалить</translation>
</message>
<message>
- <location filename="../src/gui/dialogs/qfiledialog.cpp" line="-713"/>
- <location line="+673"/>
+ <location filename="../src/gui/dialogs/qfiledialog.cpp" line="-723"/>
+ <location line="+683"/>
<source>File &amp;name:</source>
<translation>&amp;Имя файла:</translation>
</message>
@@ -2095,16 +3225,70 @@ Do you want to delete it anyway?</source>
<source>Create New Folder</source>
<translation>Создать папку</translation>
</message>
+ <message>
+ <location/>
+ <source>Go back</source>
+ <translation>Назад</translation>
+ </message>
+ <message>
+ <location/>
+ <source>Go forward</source>
+ <translation>Вперёд</translation>
+ </message>
+ <message>
+ <location/>
+ <source>Go to the parent directory</source>
+ <translation>Перейти в родительский каталог</translation>
+ </message>
+ <message>
+ <location/>
+ <source>Create a New Folder</source>
+ <translation>Создать новую папку</translation>
+ </message>
+ <message>
+ <location/>
+ <source>Change to list view mode</source>
+ <translation>Переключить в режим списка</translation>
+ </message>
+ <message>
+ <location/>
+ <source>Change to detail view mode</source>
+ <translation>Переключить в подробный режим</translation>
+ </message>
</context>
<context>
<name>QFileSystemModel</name>
<message>
- <location filename="../src/gui/itemviews/qdirmodel.cpp" line="+483"/>
- <source>%1 byte(s)</source>
+ <location filename="../src/gui/dialogs/qfilesystemmodel.cpp" line="+740"/>
+ <location filename="../src/gui/itemviews/qdirmodel.cpp" line="+482"/>
+ <source>%1 TB</source>
+ <translation>%1 Тб</translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <location filename="../src/gui/itemviews/qdirmodel.cpp" line="+2"/>
+ <source>%1 GB</source>
+ <translation>%1 Гб</translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <location filename="../src/gui/itemviews/qdirmodel.cpp" line="+2"/>
+ <source>%1 MB</source>
+ <translation>%1 Мб</translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <location filename="../src/gui/itemviews/qdirmodel.cpp" line="+2"/>
+ <source>%1 KB</source>
+ <translation>%1 Кб</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>%1 bytes</source>
<translation>%1 байт</translation>
</message>
<message>
- <location filename="../src/gui/dialogs/qfilesystemmodel.cpp" line="+828"/>
+ <location line="+89"/>
<source>Invalid filename</source>
<translation>Некорректное имя файла</translation>
</message>
@@ -2141,7 +3325,7 @@ Do you want to delete it anyway?</source>
<translation>Дата изменения</translation>
</message>
<message>
- <location filename="../src/gui/dialogs/qfilesystemmodel_p.h" line="+258"/>
+ <location filename="../src/gui/dialogs/qfilesystemmodel_p.h" line="+261"/>
<source>My Computer</source>
<translation>Мой компьютер</translation>
</message>
@@ -2151,32 +3335,8 @@ Do you want to delete it anyway?</source>
<translation>Компьютер</translation>
</message>
<message>
- <location filename="../src/gui/dialogs/qfilesystemmodel.cpp" line="-164"/>
- <location filename="../src/gui/itemviews/qdirmodel.cpp" line="-7"/>
- <source>%1 TB</source>
- <translation>%1 Тб</translation>
- </message>
- <message>
- <location line="+2"/>
- <location filename="../src/gui/itemviews/qdirmodel.cpp" line="+2"/>
- <source>%1 GB</source>
- <translation>%1 Гб</translation>
- </message>
- <message>
- <location line="+2"/>
- <location filename="../src/gui/itemviews/qdirmodel.cpp" line="+2"/>
- <source>%1 MB</source>
- <translation>%1 Мб</translation>
- </message>
- <message>
- <location line="+2"/>
- <location filename="../src/gui/itemviews/qdirmodel.cpp" line="+2"/>
- <source>%1 KB</source>
- <translation>%1 Кб</translation>
- </message>
- <message>
- <location line="+1"/>
- <source>%1 bytes</source>
+ <location filename="../src/gui/itemviews/qdirmodel.cpp" line="+1"/>
+ <source>%1 byte(s)</source>
<translation>%1 байт</translation>
</message>
</context>
@@ -2319,7 +3479,7 @@ Do you want to delete it anyway?</source>
<message>
<location line="+3"/>
<source>Malayalam</source>
- <translation>Малаяльская</translation>
+ <translation>Малайялам</translation>
</message>
<message>
<location line="+3"/>
@@ -2344,7 +3504,7 @@ Do you want to delete it anyway?</source>
<message>
<location line="+3"/>
<source>Myanmar</source>
- <translation>Майанмарская</translation>
+ <translation>Мьянма</translation>
</message>
<message>
<location line="+3"/>
@@ -2405,7 +3565,7 @@ Do you want to delete it anyway?</source>
<context>
<name>QFontDialog</name>
<message>
- <location filename="../src/gui/dialogs/qfontdialog.cpp" line="+776"/>
+ <location filename="../src/gui/dialogs/qfontdialog.cpp" line="+768"/>
<source>&amp;Font</source>
<translation>&amp;Шрифт</translation>
</message>
@@ -2440,28 +3600,55 @@ Do you want to delete it anyway?</source>
<translation>Пример</translation>
</message>
<message>
- <location line="+1"/>
- <source>Wr&amp;iting System</source>
- <translation>&amp;Система письма</translation>
- </message>
- <message>
- <location line="-609"/>
- <location line="+257"/>
+ <location line="-595"/>
<source>Select Font</source>
<translation>Выбор шрифта</translation>
</message>
+ <message>
+ <location line="+596"/>
+ <source>Wr&amp;iting System</source>
+ <translation>&amp;Система письма</translation>
+ </message>
</context>
<context>
<name>QFtp</name>
<message>
- <location filename="../src/network/access/qftp.cpp" line="+828"/>
- <location filename="../src/qt3support/network/q3ftp.cpp" line="+683"/>
- <source>Not connected</source>
- <translation>Соединение не установлено</translation>
+ <location filename="../src/qt3support/network/q3ftp.cpp" line="+2303"/>
+ <source>Host %1 found</source>
+ <translation>Узел %1 найден</translation>
</message>
<message>
- <location line="+68"/>
- <location filename="../src/qt3support/network/q3ftp.cpp" line="+65"/>
+ <location line="+7"/>
+ <source>Host found</source>
+ <translation>Узел найден</translation>
+ </message>
+ <message>
+ <location filename="../src/network/access/qftp.cpp" line="+1008"/>
+ <location filename="../src/qt3support/network/q3ftp.cpp" line="-1456"/>
+ <location line="+1451"/>
+ <source>Connected to host %1</source>
+ <translation>Установлено соединение с узлом %1</translation>
+ </message>
+ <message>
+ <location filename="../src/qt3support/network/q3ftp.cpp" line="+7"/>
+ <source>Connected to host</source>
+ <translation>Соединение с узлом установлено</translation>
+ </message>
+ <message>
+ <location line="-5"/>
+ <source>Connection to %1 closed</source>
+ <translation>Соединение с %1 закрыто</translation>
+ </message>
+ <message>
+ <location filename="../src/network/access/qftp.cpp" line="+1383"/>
+ <location filename="../src/qt3support/network/q3ftp.cpp" line="-243"/>
+ <location line="+250"/>
+ <source>Connection closed</source>
+ <translation>Соединение закрыто</translation>
+ </message>
+ <message>
+ <location line="-1495"/>
+ <location filename="../src/qt3support/network/q3ftp.cpp" line="-1566"/>
<source>Host %1 not found</source>
<translation>Узел %1 не найден</translation>
</message>
@@ -2477,28 +3664,15 @@ Do you want to delete it anyway?</source>
<translation>Время на соединение с узлом %1 истекло</translation>
</message>
<message>
- <location line="+104"/>
- <location filename="../src/qt3support/network/q3ftp.cpp" line="+102"/>
- <location line="+1451"/>
- <source>Connected to host %1</source>
- <translation>Установлено соединение с узлом %1</translation>
- </message>
- <message>
- <location line="+219"/>
- <location filename="../src/qt3support/network/q3ftp.cpp" line="-1290"/>
- <source>Connection refused for data connection</source>
- <translation>Отказ в соединении для передачи данных</translation>
- </message>
- <message>
- <location line="+178"/>
+ <location line="+501"/>
<location line="+29"/>
- <location filename="../src/qt3support/network/q3ftp.cpp" line="+195"/>
+ <location filename="../src/qt3support/network/q3ftp.cpp" line="+458"/>
<location line="+728"/>
<source>Unknown error</source>
<translation>Неизвестная ошибка</translation>
</message>
<message>
- <location line="+891"/>
+ <location line="+897"/>
<location filename="../src/qt3support/network/q3ftp.cpp" line="+77"/>
<source>Connecting to host failed:
%1</source>
@@ -2570,47 +3744,37 @@ Do you want to delete it anyway?</source>
%1</translation>
</message>
<message>
- <location line="+28"/>
- <location filename="../src/qt3support/network/q3ftp.cpp" line="+25"/>
- <location line="+250"/>
- <source>Connection closed</source>
- <translation>Соединение закрыто</translation>
- </message>
- <message>
- <location filename="../src/qt3support/network/q3ftp.cpp" line="-11"/>
- <source>Host %1 found</source>
- <translation>Узел %1 найден</translation>
- </message>
- <message>
- <location line="+4"/>
- <source>Connection to %1 closed</source>
- <translation>Соединение с %1 закрыто</translation>
- </message>
- <message>
- <location line="+3"/>
- <source>Host found</source>
- <translation>Узел найден</translation>
+ <location line="-1535"/>
+ <location filename="../src/qt3support/network/q3ftp.cpp" line="-1356"/>
+ <source>Not connected</source>
+ <translation>Соединение не установлено</translation>
</message>
<message>
- <location line="+2"/>
- <source>Connected to host</source>
- <translation>Соединение с узлом установлено</translation>
+ <location line="+399"/>
+ <location filename="../src/qt3support/network/q3ftp.cpp" line="+332"/>
+ <source>Connection refused for data connection</source>
+ <translation>Отказ в соединении для передачи данных</translation>
</message>
</context>
<context>
<name>QHostInfo</name>
<message>
- <location filename="../src/network/kernel/qhostinfo_p.h" line="+101"/>
+ <location filename="../src/network/kernel/qhostinfo_p.h" line="+103"/>
<source>Unknown error</source>
<translation>Неизвестная ошибка</translation>
</message>
+ <message>
+ <location filename="../src/network/kernel/qhostinfo.cpp" line="+171"/>
+ <source>No host name given</source>
+ <translation>Имя узла не задано</translation>
+ </message>
</context>
<context>
<name>QHostInfoAgent</name>
<message>
- <location filename="../src/network/kernel/qhostinfo_unix.cpp" line="+257"/>
+ <location filename="../src/network/kernel/qhostinfo_unix.cpp" line="+260"/>
<location line="+32"/>
- <location filename="../src/network/kernel/qhostinfo_win.cpp" line="+216"/>
+ <location filename="../src/network/kernel/qhostinfo_win.cpp" line="+215"/>
<location line="+27"/>
<source>Host not found</source>
<translation>Узел не найден</translation>
@@ -2631,12 +3795,14 @@ Do you want to delete it anyway?</source>
<translation>Неизвестная ошибка</translation>
</message>
<message>
+ <location line="-98"/>
<location filename="../src/network/kernel/qhostinfo_win.cpp" line="-67"/>
<source>No host name given</source>
<translation>Имя узла не задано</translation>
</message>
<message>
- <location line="+0"/>
+ <location line="+1"/>
+ <location filename="../src/network/kernel/qhostinfo_win.cpp" line="+0"/>
<source>Invalid hostname</source>
<translation>Некорректное имя узла</translation>
</message>
@@ -2644,113 +3810,113 @@ Do you want to delete it anyway?</source>
<context>
<name>QHttp</name>
<message>
- <location filename="../src/network/access/qhttp.cpp" line="+1582"/>
- <location line="+820"/>
- <location filename="../src/qt3support/network/q3http.cpp" line="+1159"/>
- <location line="+567"/>
- <source>Unknown error</source>
- <translation>Неизвестная ошибка</translation>
- </message>
- <message>
- <location line="-568"/>
- <location filename="../src/qt3support/network/q3http.cpp" line="-370"/>
- <source>Request aborted</source>
- <translation>Запрос прерван</translation>
+ <location filename="../src/network/access/qhttpnetworkconnection.cpp" line="-6"/>
+ <location filename="../src/qt3support/network/q3http.cpp" line="+1835"/>
+ <source>Connection refused</source>
+ <translation>Отказано в соединении</translation>
</message>
<message>
- <location line="+579"/>
- <location filename="../src/qt3support/network/q3http.cpp" line="+381"/>
- <source>No server set to connect to</source>
- <translation>Не указан сервер для подключения</translation>
+ <location filename="../src/network/access/qhttp.cpp" line="+2639"/>
+ <location filename="../src/network/access/qhttpnetworkconnection.cpp" line="-4"/>
+ <location filename="../src/qt3support/network/q3http.cpp" line="+3"/>
+ <source>Host %1 not found</source>
+ <translation>Узел %1 не найден</translation>
</message>
<message>
- <location line="+164"/>
- <location filename="../src/qt3support/network/q3http.cpp" line="+56"/>
+ <location line="-62"/>
+ <location filename="../src/qt3support/network/q3http.cpp" line="-45"/>
<source>Wrong content length</source>
<translation>Неверная длина содержимого</translation>
</message>
<message>
- <location line="+4"/>
- <location filename="../src/qt3support/network/q3http.cpp" line="+4"/>
- <source>Server closed connection unexpectedly</source>
- <translation>Сервер неожиданно разорвал соединение</translation>
+ <location line="+82"/>
+ <location filename="../src/qt3support/network/q3http.cpp" line="+48"/>
+ <source>HTTP request failed</source>
+ <translation>HTTP-запрос не удался</translation>
</message>
<message>
- <location line="+200"/>
- <source>Unknown authentication method</source>
- <translation>Неизвестный метод авторизации</translation>
+ <location filename="../src/qt3support/network/q3http.cpp" line="+450"/>
+ <source>Host %1 found</source>
+ <translation>Узел %1 найден</translation>
</message>
<message>
- <location line="+183"/>
- <source>Error writing response to device</source>
- <translation>Ошибка записи ответа на устройство</translation>
+ <location line="+14"/>
+ <source>Host found</source>
+ <translation>Узел найден</translation>
</message>
<message>
- <location filename="../src/network/access/qhttpnetworkconnection.cpp" line="-6"/>
- <location filename="../src/qt3support/network/q3http.cpp" line="+38"/>
- <source>Connection refused</source>
- <translation>Отказано в соединении</translation>
+ <location line="-11"/>
+ <source>Connected to host %1</source>
+ <translation>Установлено соединение с узлом %1</translation>
</message>
<message>
- <location filename="../src/network/access/qhttp.cpp" line="-325"/>
- <location filename="../src/network/access/qhttpnetworkconnection.cpp" line="-4"/>
- <location filename="../src/qt3support/network/q3http.cpp" line="+3"/>
- <source>Host %1 not found</source>
- <translation>Узел %1 не найден</translation>
+ <location line="+14"/>
+ <source>Connected to host</source>
+ <translation>Соединение с узлом установлено</translation>
</message>
<message>
- <location line="+20"/>
- <location filename="../src/qt3support/network/q3http.cpp" line="+3"/>
- <source>HTTP request failed</source>
- <translation>HTTP-запрос не удался</translation>
+ <location line="-11"/>
+ <source>Connection to %1 closed</source>
+ <translation>Соединение с узлом %1 закрыто</translation>
</message>
<message>
- <location line="+94"/>
- <location filename="../src/qt3support/network/q3http.cpp" line="+69"/>
- <source>Invalid HTTP response header</source>
- <translation>Некорректный HTTP-заголовок ответа</translation>
+ <location filename="../src/network/access/qhttpnetworkconnection.cpp" line="+7"/>
+ <location filename="../src/qt3support/network/q3http.cpp" line="+14"/>
+ <source>Connection closed</source>
+ <translation>Соединение закрыто</translation>
</message>
<message>
- <location line="+125"/>
- <location line="+48"/>
- <location filename="../src/qt3support/network/q3http.cpp" line="+40"/>
- <location line="+47"/>
- <source>Invalid HTTP chunked body</source>
- <translation>Некорректное HTTP-фрагментирование данных</translation>
+ <location filename="../src/network/access/qhttp.cpp" line="-1077"/>
+ <location line="+820"/>
+ <location filename="../src/qt3support/network/q3http.cpp" line="-1152"/>
+ <location line="+567"/>
+ <source>Unknown error</source>
+ <translation>Неизвестная ошибка</translation>
</message>
<message>
- <location filename="../src/qt3support/network/q3http.cpp" line="+294"/>
- <source>Host %1 found</source>
- <translation>Узел %1 найден</translation>
+ <location line="-568"/>
+ <location filename="../src/qt3support/network/q3http.cpp" line="-370"/>
+ <source>Request aborted</source>
+ <translation>Запрос прерван</translation>
</message>
<message>
- <location line="+3"/>
- <source>Connected to host %1</source>
- <translation>Установлено соединение с узлом %1</translation>
+ <location line="+579"/>
+ <location filename="../src/qt3support/network/q3http.cpp" line="+381"/>
+ <source>No server set to connect to</source>
+ <translation>Не указан сервер для подключения</translation>
</message>
<message>
- <location line="+3"/>
- <source>Connection to %1 closed</source>
- <translation>Соединение с узлом %1 закрыто</translation>
+ <location line="+168"/>
+ <location filename="../src/qt3support/network/q3http.cpp" line="+60"/>
+ <source>Server closed connection unexpectedly</source>
+ <translation>Сервер неожиданно разорвал соединение</translation>
</message>
<message>
- <location line="+8"/>
- <source>Host found</source>
- <translation>Узел найден</translation>
+ <location line="+172"/>
+ <location filename="../src/qt3support/network/q3http.cpp" line="+113"/>
+ <source>Invalid HTTP response header</source>
+ <translation>Некорректный HTTP-заголовок ответа</translation>
</message>
<message>
- <location line="+3"/>
- <source>Connected to host</source>
- <translation>Соединение с узлом установлено</translation>
+ <location line="+28"/>
+ <source>Unknown authentication method</source>
+ <translation>Неизвестный метод авторизации</translation>
</message>
<message>
- <location filename="../src/network/access/qhttpnetworkconnection.cpp" line="+7"/>
- <location filename="../src/qt3support/network/q3http.cpp" line="+3"/>
- <source>Connection closed</source>
- <translation>Соединение закрыто</translation>
+ <location line="+97"/>
+ <location line="+48"/>
+ <location filename="../src/qt3support/network/q3http.cpp" line="+40"/>
+ <location line="+47"/>
+ <source>Invalid HTTP chunked body</source>
+ <translation>Некорректное HTTP-фрагментирование данных</translation>
+ </message>
+ <message>
+ <location line="+38"/>
+ <source>Error writing response to device</source>
+ <translation>Ошибка записи ответа на устройство</translation>
</message>
<message>
- <location filename="../src/network/access/qhttp.cpp" line="-135"/>
+ <location line="-173"/>
<source>Proxy authentication required</source>
<translation>Требуется авторизация на прокси-сервере</translation>
</message>
@@ -2760,11 +3926,6 @@ Do you want to delete it anyway?</source>
<translation>Требуется авторизация</translation>
</message>
<message>
- <location line="-159"/>
- <source>Connection refused (or timed out)</source>
- <translation>В соединении отказано (или время ожидания истекло)</translation>
- </message>
- <message>
<location filename="../src/network/access/qhttpnetworkconnection.cpp" line="+6"/>
<source>Proxy requires authentication</source>
<translation>Прокси-сервер требует авторизацию</translation>
@@ -2780,17 +3941,22 @@ Do you want to delete it anyway?</source>
<translation>Данные повреждены</translation>
</message>
<message>
- <location line="+3"/>
+ <location line="+6"/>
+ <source>SSL handshake failed</source>
+ <translation>Квитирование SSL не удалось</translation>
+ </message>
+ <message>
+ <location line="-3"/>
<source>Unknown protocol specified</source>
<translation>Указан неизвестный протокол</translation>
</message>
<message>
- <location line="+3"/>
- <source>SSL handshake failed</source>
- <translation>Квитирование SSL не удалось</translation>
+ <location filename="../src/network/access/qhttp.cpp" line="-159"/>
+ <source>Connection refused (or timed out)</source>
+ <translation>В соединении отказано (или время ожидания истекло)</translation>
</message>
<message>
- <location filename="../src/network/access/qhttp.cpp" line="-2266"/>
+ <location line="-2266"/>
<source>HTTPS connection requested but SSL support not compiled in</source>
<translation>Запрошено соединение по протоколу HTTPS, но поддержка SSL не скомпилирована</translation>
</message>
@@ -2959,7 +4125,7 @@ Do you want to delete it anyway?</source>
<context>
<name>QIODevice</name>
<message>
- <location filename="../src/corelib/global/qglobal.cpp" line="+2094"/>
+ <location filename="../src/corelib/global/qglobal.cpp" line="+2120"/>
<source>Permission denied</source>
<translation>Доступ запрещён</translation>
</message>
@@ -2979,7 +4145,7 @@ Do you want to delete it anyway?</source>
<translation>Нет свободного места на устройстве</translation>
</message>
<message>
- <location filename="../src/corelib/io/qiodevice.cpp" line="+1565"/>
+ <location filename="../src/corelib/io/qiodevice.cpp" line="+1598"/>
<source>Unknown error</source>
<translation>Неизвестная ошибка</translation>
</message>
@@ -2987,7 +4153,7 @@ Do you want to delete it anyway?</source>
<context>
<name>QInputContext</name>
<message>
- <location filename="../src/gui/inputmethod/qinputcontextfactory.cpp" line="+256"/>
+ <location filename="../src/gui/inputmethod/qinputcontextfactory.cpp" line="+301"/>
<source>XIM</source>
<translation>Метод ввода X-сервера</translation>
</message>
@@ -3030,27 +4196,27 @@ Do you want to delete it anyway?</source>
<message>
<location filename="../src/corelib/plugin/qlibrary.cpp" line="+383"/>
<source>Could not mmap &apos;%1&apos;: %2</source>
- <translation>Не удалось выполнить mmap &apos;%1&apos;: %2</translation>
+ <translation>Не удалось выполнить mmap &quot;%1&quot;: %2</translation>
</message>
<message>
<location line="+22"/>
<source>Plugin verification data mismatch in &apos;%1&apos;</source>
- <translation>Проверочная информация для модуля &apos;%1&apos; не совпадает</translation>
+ <translation>Проверочная информация для модуля &quot;%1&quot; не совпадает</translation>
</message>
<message>
<location line="+6"/>
<source>Could not unmap &apos;%1&apos;: %2</source>
- <translation>Не удалось выполнить unmap &apos;%1&apos;: %2</translation>
+ <translation>Не удалось выполнить unmap &quot;%1&quot;: %2</translation>
</message>
<message>
- <location line="+345"/>
+ <location line="+375"/>
<source>The plugin &apos;%1&apos; uses incompatible Qt library. (%2.%3.%4) [%5]</source>
- <translation>Модуль &apos;%1&apos; использует несоместимую библиотеку Qt. (%2.%3.%4) [%5]</translation>
+ <translation>Модуль &quot;%1&quot; использует несоместимую библиотеку Qt. (%2.%3.%4) [%5]</translation>
</message>
<message>
<location line="+20"/>
<source>The plugin &apos;%1&apos; uses incompatible Qt library. Expected build key &quot;%2&quot;, got &quot;%3&quot;</source>
- <translation>Модуль &apos;%1&apos; использует несоместимую библиотеку Qt. Ожидается ключ &quot;%2&quot;, но получен ключ &quot;%3&quot;</translation>
+ <translation>Модуль &quot;%1&quot; использует несоместимую библиотеку Qt. Ожидается ключ &quot;%2&quot;, но получен ключ &quot;%3&quot;</translation>
</message>
<message>
<location line="+365"/>
@@ -3058,7 +4224,8 @@ Do you want to delete it anyway?</source>
<translation>Неизвестная ошибка</translation>
</message>
<message>
- <location line="-402"/>
+ <location line="-540"/>
+ <location line="+138"/>
<location filename="../src/corelib/plugin/qpluginloader.cpp" line="+343"/>
<source>The shared library was not found.</source>
<translation>Динамическая библиотека не найдена.</translation>
@@ -3066,12 +4233,12 @@ Do you want to delete it anyway?</source>
<message>
<location line="+2"/>
<source>The file &apos;%1&apos; is not a valid Qt plugin.</source>
- <translation>Файл &apos;%1&apos; - не является корректным модулем Qt.</translation>
+ <translation>Файл &quot;%1&quot; - не является корректным модулем Qt.</translation>
</message>
<message>
<location line="+43"/>
<source>The plugin &apos;%1&apos; uses incompatible Qt library. (Cannot mix debug and release libraries.)</source>
- <translation>Модуль &apos;%1&apos; использует несоместимую библиотеку Qt. (Невозможно совместить релизные и отладочные библиотеки.)</translation>
+ <translation>Модуль &quot;%1&quot; использует несоместимую библиотеку Qt. (Невозможно совместить релизные и отладочные библиотеки.)</translation>
</message>
<message>
<location filename="../src/corelib/plugin/qlibrary_unix.cpp" line="+236"/>
@@ -3095,7 +4262,12 @@ Do you want to delete it anyway?</source>
<context>
<name>QLineEdit</name>
<message>
- <location filename="../src/gui/widgets/qlineedit.cpp" line="+2072"/>
+ <location filename="../src/gui/widgets/qlineedit.cpp" line="+2116"/>
+ <source>Select All</source>
+ <translation>Выделить всё</translation>
+ </message>
+ <message>
+ <location line="-40"/>
<source>&amp;Undo</source>
<translation>&amp;Отменить действие</translation>
</message>
@@ -3124,11 +4296,6 @@ Do you want to delete it anyway?</source>
<source>Delete</source>
<translation>Удалить</translation>
</message>
- <message>
- <location line="+8"/>
- <source>Select All</source>
- <translation>Выделить всё</translation>
- </message>
</context>
<context>
<name>QLocalServer</name>
@@ -3171,7 +4338,7 @@ Do you want to delete it anyway?</source>
<message>
<location line="+3"/>
<location filename="../src/network/socket/qlocalsocket_unix.cpp" line="+3"/>
- <location filename="../src/network/socket/qlocalsocket_win.cpp" line="+80"/>
+ <location filename="../src/network/socket/qlocalsocket_win.cpp" line="+79"/>
<location line="+59"/>
<source>%1: Invalid name</source>
<translation>%1: Некорректное имя</translation>
@@ -3228,7 +4395,7 @@ Do you want to delete it anyway?</source>
<context>
<name>QMYSQLDriver</name>
<message>
- <location filename="../src/sql/drivers/mysql/qsql_mysql.cpp" line="+1270"/>
+ <location filename="../src/sql/drivers/mysql/qsql_mysql.cpp" line="+1287"/>
<source>Unable to open database &apos;</source>
<translation>Невозможно открыть базу данных &apos;</translation>
</message>
@@ -3380,12 +4547,7 @@ Do you want to delete it anyway?</source>
<translation>&amp;Закрыть</translation>
</message>
<message>
- <location line="-787"/>
- <source>- [%1]</source>
- <translation>- [%1]</translation>
- </message>
- <message>
- <location line="+58"/>
+ <location line="-729"/>
<source>Maximize</source>
<translation>Распахнуть</translation>
</message>
@@ -3414,6 +4576,11 @@ Do you want to delete it anyway?</source>
<source>Menu</source>
<translation>Меню</translation>
</message>
+ <message>
+ <location line="-79"/>
+ <source>- [%1]</source>
+ <translation>- [%1]</translation>
+ </message>
</context>
<context>
<name>QMenu</name>
@@ -3440,7 +4607,7 @@ Do you want to delete it anyway?</source>
<context>
<name>QMenuBar</name>
<message>
- <location filename="../src/gui/widgets/qmenu_symbian.cpp" line="+436"/>
+ <location filename="../src/gui/widgets/qmenu_symbian.cpp" line="+456"/>
<source>Actions</source>
<translation>Действия</translation>
</message>
@@ -3448,12 +4615,7 @@ Do you want to delete it anyway?</source>
<context>
<name>QMessageBox</name>
<message>
- <location filename="../src/gui/dialogs/qmessagebox.cpp" line="-1116"/>
- <source>Help</source>
- <translation>Справка</translation>
- </message>
- <message>
- <location line="-848"/>
+ <location filename="../src/gui/dialogs/qmessagebox.cpp" line="-1964"/>
<location line="+847"/>
<location filename="../src/gui/dialogs/qmessagebox.h" line="-52"/>
<location line="+8"/>
@@ -3461,30 +4623,35 @@ Do you want to delete it anyway?</source>
<translation>Закрыть</translation>
</message>
<message>
- <location line="+513"/>
+ <location line="+477"/>
+ <source>&lt;h3&gt;About Qt&lt;/h3&gt;&lt;p&gt;This program uses Qt version %1.&lt;/p&gt;</source>
+ <translation>&lt;h3&gt;О Qt&lt;/h3&gt;&lt;p&gt;Данная программа использует Qt версии %1.&lt;/p&gt;</translation>
+ </message>
+ <message>
+ <location line="+5"/>
+ <source>&lt;p&gt;Qt is a C++ toolkit for cross-platform application development.&lt;/p&gt;&lt;p&gt;Qt provides single-source portability across MS&amp;nbsp;Windows, Mac&amp;nbsp;OS&amp;nbsp;X, Linux, and all major commercial Unix variants. Qt is also available for embedded devices as Qt for Embedded Linux and Qt for Windows CE.&lt;/p&gt;&lt;p&gt;Qt is available under three different licensing options designed to accommodate the needs of our various users.&lt;/p&gt;&lt;p&gt;Qt licensed under our commercial license agreement is appropriate for development of proprietary/commercial software where you do not want to share any source code with third parties or otherwise cannot comply with the terms of the GNU LGPL version 2.1 or GNU GPL version 3.0.&lt;/p&gt;&lt;p&gt;Qt licensed under the GNU LGPL version 2.1 is appropriate for the development of Qt applications (proprietary or open source) provided you can comply with the terms and conditions of the GNU LGPL version 2.1.&lt;/p&gt;&lt;p&gt;Qt licensed under the GNU General Public License version 3.0 is appropriate for the development of Qt applications where you wish to use such applications in combination with software subject to the terms of the GNU GPL version 3.0 or where you are otherwise willing to comply with the terms of the GNU GPL version 3.0.&lt;/p&gt;&lt;p&gt;Please see &lt;a href=&quot;http://qt.nokia.com/products/licensing&quot;&gt;qt.nokia.com/products/licensing&lt;/a&gt; for an overview of Qt licensing.&lt;/p&gt;&lt;p&gt;Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).&lt;/p&gt;&lt;p&gt;Qt is a Nokia product. See &lt;a href=&quot;http://qt.nokia.com/&quot;&gt;qt.nokia.com&lt;/a&gt; for more information.&lt;/p&gt;</source>
+ <translation>&lt;p&gt;Qt - это инструментарий для разработки кроссплатформенных приложений на C++.&lt;/p&gt;&lt;p&gt;Qt предоставляет совместимость на уровне исходных текстов между MS&amp;nbsp;Windows, Mac&amp;nbsp;OS&amp;nbsp;X, Linux и всеми популярными коммерческими вариантами Unix. Также Qt доступна для встраиваемых устройств в виде Qt для Embedded Linux и Qt для Windows CE.&lt;/p&gt;&lt;p&gt;Qt доступна под тремя различными лицензиями, разработанными для удовлетворения различных требований.&lt;/p&gt;&lt;p&gt;Qt под нашей коммерческой лицензией предназначена для развития проприетарного/коммерческого программного обеспечения, когда Вы не желаете предоставлять исходные тексты третьим сторонам, или в случае невозможности принятия условий лицензий GNU LGPL версии 2.1 или GNU GPL версии 3.0.&lt;/p&gt;&lt;p&gt;Qt под лицензией GNU LGPL версии 2.1 предназначена для разработки программного обеспечения с открытыми исходными текстами или коммерческого программного обеспечения при соблюдении условий лицензии GNU LGPL версии 2.1.&lt;/p&gt;&lt;p&gt;Qt под лицензией GNU General Public License версии 3.0 предназначена для разработки программных приложений в тех случаях, когда Вы хотели бы использовать такие приложения в сочетании с программным обеспечением на условиях лицензии GNU GPL с версии 3.0 или если Вы готовы соблюдать условия лицензии GNU GPL версии 3.0.&lt;/p&gt;&lt;p&gt;Обратитесь к &lt;a href=&quot;http://qt.nokia.com/products/licensing&quot;&gt;qt.nokia.com/products/licensing&lt;/a&gt; для обзора лицензий Qt.&lt;/p&gt;&lt;p&gt;Copyright (C) 2010 Корпорация Nokia и/или её дочерние подразделения.&lt;/p&gt;&lt;p&gt;Qt - продукт компании Nokia. Обратитесь к &lt;a href=&quot;http://qt.nokia.com/&quot;&gt;qt.nokia.com&lt;/a&gt; для получения дополнительной информации.&lt;/p&gt;</translation>
+ </message>
+ <message>
+ <location line="+31"/>
<source>About Qt</source>
<translation>О Qt</translation>
</message>
<message>
- <location line="-1614"/>
+ <location line="-512"/>
+ <source>Help</source>
+ <translation>Справка</translation>
+ </message>
+ <message>
+ <location line="-1129"/>
<source>Show Details...</source>
<translation>Показать подробности...</translation>
</message>
<message>
- <location line="+1"/>
+ <location line="+0"/>
<source>Hide Details...</source>
<translation>Скрыть подробности...</translation>
</message>
- <message>
- <location line="+1577"/>
- <source>&lt;h3&gt;About Qt&lt;/h3&gt;&lt;p&gt;This program uses Qt version %1.&lt;/p&gt;</source>
- <translation>&lt;h3&gt;О Qt&lt;/h3&gt;&lt;p&gt;Данная программа использует Qt версии %1.&lt;/p&gt;</translation>
- </message>
- <message>
- <location line="+5"/>
- <source>&lt;p&gt;Qt is a C++ toolkit for cross-platform application development.&lt;/p&gt;&lt;p&gt;Qt provides single-source portability across MS&amp;nbsp;Windows, Mac&amp;nbsp;OS&amp;nbsp;X, Linux, and all major commercial Unix variants. Qt is also available for embedded devices as Qt for Embedded Linux and Qt for Windows CE.&lt;/p&gt;&lt;p&gt;Qt is available under three different licensing options designed to accommodate the needs of our various users.&lt;/p&gt;&lt;p&gt;Qt licensed under our commercial license agreement is appropriate for development of proprietary/commercial software where you do not want to share any source code with third parties or otherwise cannot comply with the terms of the GNU LGPL version 2.1 or GNU GPL version 3.0.&lt;/p&gt;&lt;p&gt;Qt licensed under the GNU LGPL version 2.1 is appropriate for the development of Qt applications (proprietary or open source) provided you can comply with the terms and conditions of the GNU LGPL version 2.1.&lt;/p&gt;&lt;p&gt;Qt licensed under the GNU General Public License version 3.0 is appropriate for the development of Qt applications where you wish to use such applications in combination with software subject to the terms of the GNU GPL version 3.0 or where you are otherwise willing to comply with the terms of the GNU GPL version 3.0.&lt;/p&gt;&lt;p&gt;Please see &lt;a href=&quot;http://qt.nokia.com/products/licensing&quot;&gt;qt.nokia.com/products/licensing&lt;/a&gt; for an overview of Qt licensing.&lt;/p&gt;&lt;p&gt;Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).&lt;/p&gt;&lt;p&gt;Qt is a Nokia product. See &lt;a href=&quot;http://qt.nokia.com/&quot;&gt;qt.nokia.com&lt;/a&gt; for more information.&lt;/p&gt;</source>
- <translation>&lt;p&gt;Qt - это инструментарий для разработки кроссплатформенных приложений на C++.&lt;/p&gt;&lt;p&gt;Qt предоставляет совместимость на уровне исходных текстов между MS&amp;nbsp;Windows, Mac&amp;nbsp;OS&amp;nbsp;X, Linux и всеми популярными коммерческими вариантами Unix. Также Qt доступна для встраиваемых устройств в виде Qt для Embedded Linux и Qt для Windows CE.&lt;/p&gt;&lt;p&gt;Qt доступна под тремя различными лицензиями, разработанными для удовлетворения различных требований.&lt;/p&gt;&lt;p&gt;Qt под нашей коммерческой лицензией предназначена для развития проприетарного/коммерческого программного обеспечения, когда Вы не желаете предоставлять исходные тексты третьим сторонам, или в случае невозможности принятия условий лицензий GNU LGPL версии 2.1 или GNU GPL версии 3.0.&lt;/p&gt;&lt;p&gt;Qt под лицензией GNU LGPL версии 2.1 предназначена для разработки программного обеспечения с открытыми исходными текстами или коммерческого программного обеспечения при соблюдении условий лицензии GNU LGPL версии 2.1.&lt;/p&gt;&lt;p&gt;Qt под лицензией GNU General Public License версии 3.0 предназначена для разработки программных приложений в тех случаях, когда Вы хотели бы использовать такие приложения в сочетании с программным обеспечением на условиях лицензии GNU GPL с версии 3.0 или если Вы готовы соблюдать условия лицензии GNU GPL версии 3.0.&lt;/p&gt;&lt;p&gt;Обратитесь к &lt;a href=&quot;http://qt.nokia.com/products/licensing&quot;&gt;qt.nokia.com/products/licensing&lt;/a&gt; для обзора лицензий Qt.&lt;/p&gt;&lt;p&gt;Copyright (C) 2010 Корпорация Nokia и/или её дочерние подразделения.&lt;/p&gt;&lt;p&gt;Qt - продукт компании Nokia. Обратитесь к &lt;a href=&quot;http://qt.nokia.com/&quot;&gt;qt.nokia.com&lt;/a&gt; для получения дополнительной информации.&lt;/p&gt;</translation>
- </message>
</context>
<context>
<name>QMultiInputContext</name>
@@ -3499,19 +4666,18 @@ Do you want to delete it anyway?</source>
<message>
<location filename="../src/plugins/inputmethods/imsw-multi/qmultiinputcontextplugin.cpp" line="+95"/>
<source>Multiple input method switcher</source>
- <translation type="unfinished">Переключатель режима множественного ввода</translation>
+ <translation>Переключатель режима множественного ввода</translation>
</message>
<message>
<location line="+7"/>
<source>Multiple input method switcher that uses the context menu of the text widgets</source>
- <translatorcomment>текстовых виджетов &lt;-?-&gt; текстовых редакторов</translatorcomment>
- <translation type="unfinished">Переключатель режима множественного ввода, используемый в контекстном меню текстовых виджетов</translation>
+ <translation>Переключатель режима множественного ввода, используемый в контекстном меню текстовых редакторов</translation>
</message>
</context>
<context>
<name>QNativeSocketEngine</name>
<message>
- <location filename="../src/network/socket/qnativesocketengine.cpp" line="+206"/>
+ <location filename="../src/network/socket/qnativesocketengine.cpp" line="+209"/>
<source>The remote host closed the connection</source>
<translation>Удалённый узел закрыл соединение</translation>
</message>
@@ -3650,12 +4816,35 @@ Do you want to delete it anyway?</source>
</message>
</context>
<context>
+ <name>QNetworkAccessDataBackend</name>
+ <message>
+ <location filename="../src/network/access/qnetworkaccessdatabackend.cpp" line="+76"/>
+ <source>Operation not supported on %1</source>
+ <translation>Операция не поддерживается для %1</translation>
+ </message>
+ <message>
+ <location line="+25"/>
+ <source>Invalid URI: %1</source>
+ <translation>Некорректный URI: %1</translation>
+ </message>
+</context>
+<context>
<name>QNetworkAccessDebugPipeBackend</name>
<message>
<location filename="../src/network/access/qnetworkaccessdebugpipebackend.cpp" line="+195"/>
<source>Write error writing to %1: %2</source>
<translation>Ошибка записи в %1: %2</translation>
</message>
+ <message>
+ <location line="+60"/>
+ <source>Socket error on %1: %2</source>
+ <translation>Ошика сокета для %1: %2</translation>
+ </message>
+ <message>
+ <location line="+15"/>
+ <source>Remote host closed the connection prematurely on %1</source>
+ <translation>Удалённый узел неожиданно прервал соединение для %1</translation>
+ </message>
</context>
<context>
<name>QNetworkAccessFileBackend</name>
@@ -3719,48 +4908,123 @@ Do you want to delete it anyway?</source>
<context>
<name>QNetworkAccessHttpBackend</name>
<message>
- <location filename="../src/network/access/qnetworkaccesshttpbackend.cpp" line="+599"/>
+ <location filename="../src/network/access/qnetworkaccesshttpbackend.cpp" line="+652"/>
<source>No suitable proxy found</source>
<translation>Подходящий прокси-сервер не найден</translation>
</message>
</context>
<context>
+ <name>QNetworkAccessManager</name>
+ <message>
+ <location filename="../src/network/access/qnetworkreplyimpl.cpp" line="+942"/>
+ <source>Network access is disabled.</source>
+ <translation>Доступ в сеть отключён.</translation>
+ </message>
+</context>
+<context>
<name>QNetworkReply</name>
<message>
- <location line="+101"/>
+ <location filename="../src/network/access/qnetworkaccesshttpbackend.cpp" line="+100"/>
<source>Error downloading %1 - server replied: %2</source>
<translation>Ошибка загрузки %1 - ответ сервера: %2</translation>
</message>
<message>
- <location filename="../src/network/access/qnetworkreplyimpl.cpp" line="+80"/>
+ <location filename="../src/network/access/qnetworkreplyimpl.cpp" line="-860"/>
<source>Protocol &quot;%1&quot; is unknown</source>
<translation>Неизвестный протокол &quot;%1&quot;</translation>
</message>
+ <message>
+ <location line="+192"/>
+ <source>Network session error.</source>
+ <translation>Ошибка сетевой сессии.</translation>
+ </message>
+ <message>
+ <location line="+352"/>
+ <source>Temporary network failure.</source>
+ <translation>Временная ошибка сети.</translation>
+ </message>
</context>
<context>
<name>QNetworkReplyImpl</name>
<message>
- <location line="+525"/>
+ <location line="+120"/>
<location line="+28"/>
<source>Operation canceled</source>
<translation>Операция отменена</translation>
</message>
</context>
<context>
- <name>QOCIDriver</name>
+ <name>QNetworkSession</name>
<message>
- <location filename="../src/sql/drivers/oci/qsql_oci.cpp" line="+2083"/>
- <source>Unable to logon</source>
- <translation>Невозможно авторизоваться</translation>
+ <location filename="../src/network/bearer/qnetworksession.cpp" line="+449"/>
+ <source>Invalid configuration.</source>
+ <translation>Некорректная конфигурация.</translation>
+ </message>
+</context>
+<context>
+ <name>QNetworkSessionPrivateImpl</name>
+ <message>
+ <location filename="../src/plugins/bearer/icd/qnetworksession_impl.cpp" line="+1005"/>
+ <source>Roaming error</source>
+ <translatorcomment>или перемещения?</translatorcomment>
+ <translation type="unfinished">Ошибка роуминга</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>Session aborted by user or system</source>
+ <translation>Сессия прервана пользователем или системой</translation>
</message>
<message>
- <location line="-144"/>
+ <location line="+4"/>
+ <source>Unidentified Error</source>
+ <translation>Неопределённая ошибка</translation>
+ </message>
+ <message>
+ <location filename="../src/plugins/bearer/qnetworksession_impl.cpp" line="+272"/>
+ <location filename="../src/plugins/bearer/symbian/qnetworksession_impl.cpp" line="+280"/>
+ <source>Unknown session error.</source>
+ <translation>Неизвестная ошибка сессии.</translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <location filename="../src/plugins/bearer/symbian/qnetworksession_impl.cpp" line="+2"/>
+ <source>The session was aborted by the user or system.</source>
+ <translation>Сессия была прервана пользователем или системой.</translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <location filename="../src/plugins/bearer/symbian/qnetworksession_impl.cpp" line="+2"/>
+ <source>The requested operation is not supported by the system.</source>
+ <translation>Требуемая операция не поддерживается системой.</translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <location filename="../src/plugins/bearer/symbian/qnetworksession_impl.cpp" line="+2"/>
+ <source>The specified configuration cannot be used.</source>
+ <translation>Невозможно использовать указанную конфигурацию.</translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <location filename="../src/plugins/bearer/symbian/qnetworksession_impl.cpp" line="+2"/>
+ <source>Roaming was aborted or is not possible.</source>
+ <translation type="unfinished">Роуминг прерван или невозможен.</translation>
+ </message>
+</context>
+<context>
+ <name>QOCIDriver</name>
+ <message>
+ <location filename="../src/sql/drivers/oci/qsql_oci.cpp" line="+1944"/>
<source>Unable to initialize</source>
<comment>QOCIDriver</comment>
<translation>Невозможно инициализировать</translation>
</message>
<message>
- <location line="+215"/>
+ <location line="+144"/>
+ <source>Unable to logon</source>
+ <translation>Невозможно авторизоваться</translation>
+ </message>
+ <message>
+ <location line="+71"/>
<source>Unable to begin transaction</source>
<translation>Невозможно начать транзакцию</translation>
</message>
@@ -3823,12 +5087,12 @@ Do you want to delete it anyway?</source>
<context>
<name>QODBCDriver</name>
<message>
- <location filename="../src/sql/drivers/odbc/qsql_odbc.cpp" line="+1806"/>
+ <location filename="../src/sql/drivers/odbc/qsql_odbc.cpp" line="+1888"/>
<source>Unable to connect</source>
<translation>Невозможно соединиться</translation>
</message>
<message>
- <location line="+238"/>
+ <location line="+269"/>
<source>Unable to disable autocommit</source>
<translation>Невозможно отключить автозавершение транзакций</translation>
</message>
@@ -3848,7 +5112,7 @@ Do you want to delete it anyway?</source>
<translation>Невозможно включить автозавершение транзакций</translation>
</message>
<message>
- <location line="-281"/>
+ <location line="-312"/>
<source>Unable to connect - Driver doesn&apos;t support all functionality required</source>
<translation>Невозможно соединиться - Драйвер не поддерживает требуемый функционал</translation>
</message>
@@ -3856,19 +5120,19 @@ Do you want to delete it anyway?</source>
<context>
<name>QODBCResult</name>
<message>
- <location line="-937"/>
+ <location line="-941"/>
<location line="+351"/>
<source>QODBCResult::reset: Unable to set &apos;SQL_CURSOR_STATIC&apos; as statement attribute. Please check your ODBC driver configuration</source>
- <translation>QODBCResult::reset: Невозможно установить &apos;SQL_CURSOR_STATIC&apos; атрибутом выражение. Проверьте настройки драйвера ODBC</translation>
+ <translation>QODBCResult::reset: Невозможно установить &quot;SQL_CURSOR_STATIC&quot; атрибутом выражение. Проверьте настройки драйвера ODBC</translation>
</message>
<message>
<location line="-334"/>
- <location line="+628"/>
+ <location line="+627"/>
<source>Unable to execute statement</source>
<translation>Невозможно выполнить выражение</translation>
</message>
<message>
- <location line="-547"/>
+ <location line="-546"/>
<source>Unable to fetch next</source>
<translation>Невозможно получить следующую строку</translation>
</message>
@@ -3878,19 +5142,19 @@ Do you want to delete it anyway?</source>
<translation>Невозможно подготовить выражение</translation>
</message>
<message>
- <location line="+268"/>
+ <location line="+267"/>
<source>Unable to bind variable</source>
<translation>Невозможно привязать значение</translation>
</message>
<message>
<location filename="../src/sql/drivers/db2/qsql_db2.cpp" line="+189"/>
- <location filename="../src/sql/drivers/odbc/qsql_odbc.cpp" line="-467"/>
- <location line="+576"/>
+ <location filename="../src/sql/drivers/odbc/qsql_odbc.cpp" line="-466"/>
+ <location line="+578"/>
<source>Unable to fetch last</source>
<translation>Невозможно получить последнюю строку</translation>
</message>
<message>
- <location filename="../src/sql/drivers/odbc/qsql_odbc.cpp" line="-670"/>
+ <location filename="../src/sql/drivers/odbc/qsql_odbc.cpp" line="-672"/>
<source>Unable to fetch</source>
<translation>Невозможно получить данные</translation>
</message>
@@ -3908,41 +5172,27 @@ Do you want to delete it anyway?</source>
<context>
<name>QObject</name>
<message>
- <location filename="../src/network/kernel/qhostinfo_unix.cpp" line="-97"/>
- <source>Invalid hostname</source>
- <translation>Некорректное имя узла</translation>
- </message>
- <message>
- <location filename="../src/network/access/qnetworkaccessdatabackend.cpp" line="+74"/>
- <source>Operation not supported on %1</source>
- <translation>Операция не поддерживается для %1</translation>
- </message>
- <message>
- <location line="+57"/>
- <source>Invalid URI: %1</source>
- <translation>Некорректный URI: %1</translation>
- </message>
- <message>
- <location filename="../src/network/access/qnetworkaccessdebugpipebackend.cpp" line="+60"/>
- <source>Socket error on %1: %2</source>
- <translation>Ошика сокета для %1: %2</translation>
+ <location filename="../src/declarative/util/qdeclarativexmllistmodel.cpp" line="-241"/>
+ <source>&quot;%1&quot; duplicates a previous role name and will be disabled.</source>
+ <translation>&quot;%1&quot; повторяет имя предыдущей роли и не будет использовано.</translation>
</message>
<message>
- <location line="+15"/>
- <source>Remote host closed the connection prematurely on %1</source>
- <translation>Удалённый узел неожиданно прервал соединение для %1</translation>
+ <location line="+515"/>
+ <location line="+4"/>
+ <source>invalid query: &quot;%1&quot;</source>
+ <translation>Некорректный запрос: &quot;%1&quot;</translation>
</message>
<message>
- <location filename="../src/network/kernel/qhostinfo.cpp" line="+168"/>
- <location filename="../src/network/kernel/qhostinfo_unix.cpp" line="+0"/>
- <source>No host name given</source>
- <translation>Имя узла не задано</translation>
+ <location filename="../src/3rdparty/phonon/phonon/pulsesupport.cpp" line="+162"/>
+ <location line="+11"/>
+ <source>PulseAudio Sound Server</source>
+ <translation>Звуковой сервер PulseAudio</translation>
</message>
</context>
<context>
<name>QPPDOptionsModel</name>
<message>
- <location filename="../src/gui/dialogs/qprintdialog_unix.cpp" line="+1197"/>
+ <location filename="../src/gui/dialogs/qprintdialog_unix.cpp" line="+1238"/>
<source>Name</source>
<translation>Имя</translation>
</message>
@@ -4134,7 +5384,22 @@ Do you want to delete it anyway?</source>
<translation>неизвестно</translation>
</message>
<message>
- <location filename="../src/gui/dialogs/qprintdialog_qws.cpp" line="+329"/>
+ <location filename="../src/gui/dialogs/qprintdialog_win.cpp" line="+272"/>
+ <source>OK</source>
+ <translation>Закрыть</translation>
+ </message>
+ <message>
+ <location filename="../src/gui/dialogs/qprintdialog_qws.cpp" line="+379"/>
+ <source>Print all</source>
+ <translation>Все страницы</translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Print range</source>
+ <translation>Диапазон страниц</translation>
+ </message>
+ <message>
+ <location line="-48"/>
<source>A0 (841 x 1189 mm)</source>
<translation>A0 (841 x 1189 мм)</translation>
</message>
@@ -4154,12 +5419,7 @@ Do you want to delete it anyway?</source>
<translation>A3 (297 x 420 мм)</translation>
</message>
<message>
- <location line="+1"/>
- <source>A4 (210 x 297 mm, 8.26 x 11.7 inches)</source>
- <translation>A4 (210 x 297 мм, 8.26 x 11.7 дюймов)</translation>
- </message>
- <message>
- <location line="+1"/>
+ <location line="+2"/>
<source>A5 (148 x 210 mm)</source>
<translation>A5 (148 x 210 мм)</translation>
</message>
@@ -4209,12 +5469,7 @@ Do you want to delete it anyway?</source>
<translation>B4 (250 x 353 мм)</translation>
</message>
<message>
- <location line="+1"/>
- <source>B5 (176 x 250 mm, 6.93 x 9.84 inches)</source>
- <translation>B5 (176 x 250 мм, 6.93 x 9.84 дюймов)</translation>
- </message>
- <message>
- <location line="+1"/>
+ <location line="+2"/>
<source>B6 (125 x 176 mm)</source>
<translation>B6 (125 x 176 мм)</translation>
</message>
@@ -4249,12 +5504,7 @@ Do you want to delete it anyway?</source>
<translation>DLE (110 x 220 мм)</translation>
</message>
<message>
- <location line="+1"/>
- <source>Executive (7.5 x 10 inches, 191 x 254 mm)</source>
- <translation>Executive (191 x 254 мм, 7.5 x 10 дюймов)</translation>
- </message>
- <message>
- <location line="+1"/>
+ <location line="+2"/>
<source>Folio (210 x 330 mm)</source>
<translation>Folio (210 x 330 мм)</translation>
</message>
@@ -4264,54 +5514,64 @@ Do you want to delete it anyway?</source>
<translation>Ledger (432 x 279 мм)</translation>
</message>
<message>
- <location line="+1"/>
- <source>Legal (8.5 x 14 inches, 216 x 356 mm)</source>
- <translation>Legal (216 x 356 мм, 8.5 x 14 дюймов)</translation>
+ <location line="+3"/>
+ <source>Tabloid (279 x 432 mm)</source>
+ <translation>Tabloid (279 x 432 мм)</translation>
</message>
<message>
<location line="+1"/>
- <source>Letter (8.5 x 11 inches, 216 x 279 mm)</source>
- <translation>Letter (216 x 279 мм, 8.5 x 11 дюймов)</translation>
+ <source>US Common #10 Envelope (105 x 241 mm)</source>
+ <translation>Конверт US #10 (105x241 мм)</translation>
</message>
<message>
- <location line="+1"/>
- <source>Tabloid (279 x 432 mm)</source>
- <translation>Tabloid (279 x 432 мм)</translation>
+ <location line="+20"/>
+ <source>Print current page</source>
+ <translation>Текущая страница</translation>
+ </message>
+ <message>
+ <location line="-45"/>
+ <source>A4 (210 x 297 mm, 8.26 x 11.7 inches)</source>
+ <translation>A4 (210 x 297 мм, 8.26 x 11.7 дюймов)</translation>
+ </message>
+ <message>
+ <location line="+11"/>
+ <source>B5 (176 x 250 mm, 6.93 x 9.84 inches)</source>
+ <translation>B5 (176 x 250 мм, 6.93 x 9.84 дюймов)</translation>
+ </message>
+ <message>
+ <location line="+8"/>
+ <source>Executive (7.5 x 10 inches, 191 x 254 mm)</source>
+ <translation>Executive (191 x 254 мм, 7.5 x 10 дюймов)</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>Legal (8.5 x 14 inches, 216 x 356 mm)</source>
+ <translation>Legal (216 x 356 мм, 8.5 x 14 дюймов)</translation>
</message>
<message>
<location line="+1"/>
- <source>US Common #10 Envelope (105 x 241 mm)</source>
- <translation>Конверт US #10 (105x241 мм)</translation>
+ <source>Letter (8.5 x 11 inches, 216 x 279 mm)</source>
+ <translation>Letter (216 x 279 мм, 8.5 x 11 дюймов)</translation>
</message>
<message>
- <location filename="../src/gui/dialogs/qprintdialog_win.cpp" line="+266"/>
- <source>OK</source>
- <translation>Закрыть</translation>
+ <location line="+20"/>
+ <source>Print selection</source>
+ <translation>Выделенный фрагмент</translation>
</message>
<message>
- <location filename="../src/gui/dialogs/qabstractprintdialog.cpp" line="+112"/>
+ <location filename="../src/gui/dialogs/qabstractprintdialog.cpp" line="+113"/>
<location line="+13"/>
<location filename="../src/gui/dialogs/qprintdialog_win.cpp" line="-2"/>
<source>Print</source>
<translation>Печать</translation>
</message>
<message>
- <location filename="../src/gui/dialogs/qprintdialog_unix.cpp" line="-359"/>
+ <location filename="../src/gui/dialogs/qprintdialog_unix.cpp" line="-392"/>
<source>Print To File ...</source>
<translation>Печать в файл ...</translation>
</message>
<message>
- <location filename="../src/gui/dialogs/qprintdialog_qws.cpp" line="+19"/>
- <source>Print range</source>
- <translation>Печатать диапазон</translation>
- </message>
- <message>
- <location line="-2"/>
- <source>Print all</source>
- <translation>Печатать все</translation>
- </message>
- <message>
- <location filename="../src/gui/dialogs/qprintdialog_unix.cpp" line="+82"/>
+ <location line="+82"/>
<source>File %1 is not writable.
Please choose a different file name.</source>
<translation>%1 недоступен для записи.
@@ -4325,7 +5585,7 @@ Do you want to overwrite it?</source>
Хотите заменить его?</translation>
</message>
<message>
- <location filename="../src/gui/dialogs/qprintdialog_qws.cpp" line="-227"/>
+ <location filename="../src/gui/dialogs/qprintdialog_qws.cpp" line="-232"/>
<source>File exists</source>
<translation>Файл существует</translation>
</message>
@@ -4335,11 +5595,6 @@ Do you want to overwrite it?</source>
<translation>&lt;qt&gt;Хотите заменить?&lt;/qt&gt;</translation>
</message>
<message>
- <location line="+227"/>
- <source>Print selection</source>
- <translation>Выделенный фрагмент</translation>
- </message>
- <message>
<location filename="../src/gui/dialogs/qprintdialog_unix.cpp" line="-8"/>
<source>%1 is a directory.
Please choose a different file name.</source>
@@ -4347,6 +5602,11 @@ Please choose a different file name.</source>
Выберите другое имя файла.</translation>
</message>
<message>
+ <location filename="../src/gui/dialogs/qprintdialog_win.cpp" line="+1"/>
+ <source>The &apos;From&apos; value cannot be greater than the &apos;To&apos; value.</source>
+ <translation>Значение &quot;с&quot; не может быть больше значения &quot;по&quot;.</translation>
+ </message>
+ <message>
<location filename="../src/gui/dialogs/qpagesetupdialog_unix.cpp" line="-232"/>
<source>A0</source>
<translation>A0</translation>
@@ -4502,23 +5762,18 @@ Please choose a different file name.</source>
<translation>Пользовательский</translation>
</message>
<message>
- <location filename="../src/gui/dialogs/qprintdialog_unix.cpp" line="-523"/>
+ <location filename="../src/gui/dialogs/qprintdialog_unix.cpp" line="-530"/>
<location line="+68"/>
<source>&amp;Options &gt;&gt;</source>
<translation>&amp;Параметры &gt;&gt;</translation>
</message>
<message>
- <location line="-63"/>
- <source>&amp;Print</source>
- <translation>&amp;Печать</translation>
- </message>
- <message>
- <location line="+67"/>
+ <location line="+4"/>
<source>&amp;Options &lt;&lt;</source>
<translation>&amp;Параметры &lt;&lt;</translation>
</message>
<message>
- <location line="+253"/>
+ <location line="+260"/>
<source>Print to File (PDF)</source>
<translation>Печать в файл (PDF)</translation>
</message>
@@ -4538,26 +5793,20 @@ Please choose a different file name.</source>
<translation>Запись %1 файла</translation>
</message>
<message>
- <location filename="../src/gui/dialogs/qprintdialog_win.cpp" line="+1"/>
- <source>The &apos;From&apos; value cannot be greater than the &apos;To&apos; value.</source>
- <translation>Значение &apos;от&apos; не может быть больше значения &apos;до&apos;.</translation>
+ <location line="-376"/>
+ <source>&amp;Print</source>
+ <translation>&amp;Печать</translation>
</message>
</context>
<context>
<name>QPrintPreviewDialog</name>
<message>
- <location filename="../src/gui/dialogs/qabstractpagesetupdialog.cpp" line="+68"/>
- <location line="+12"/>
- <source>Page Setup</source>
- <translation>Параметры страницы</translation>
- </message>
- <message>
<location filename="../src/gui/dialogs/qprintpreviewdialog.cpp" line="+249"/>
<source>%1%</source>
<translation>%1%</translation>
</message>
<message>
- <location line="+71"/>
+ <location line="+84"/>
<source>Print Preview</source>
<translation>Просмотр печати</translation>
</message>
@@ -4651,6 +5900,12 @@ Please choose a different file name.</source>
<source>Export to PostScript</source>
<translation>Экспорт в Postscript</translation>
</message>
+ <message>
+ <location filename="../src/gui/dialogs/qabstractpagesetupdialog.cpp" line="+68"/>
+ <location line="+12"/>
+ <source>Page Setup</source>
+ <translation>Параметры страницы</translation>
+ </message>
</context>
<context>
<name>QPrintPropertiesWidget</name>
@@ -4695,12 +5950,12 @@ Please choose a different file name.</source>
<message>
<location/>
<source>Pages from</source>
- <translation>Страницы от</translation>
+ <translation>Страницы с</translation>
</message>
<message>
<location/>
<source>to</source>
- <translation>до</translation>
+ <translation>по</translation>
</message>
<message>
<location/>
@@ -4767,6 +6022,11 @@ Please choose a different file name.</source>
<source>Short side</source>
<translation>По короткой стороне</translation>
</message>
+ <message>
+ <location/>
+ <source>Current Page</source>
+ <translation>Текущая страница</translation>
+ </message>
</context>
<context>
<name>QPrintWidget</name>
@@ -4849,7 +6109,7 @@ Please choose a different file name.</source>
<translation>Время на операцию с процессом истекло</translation>
</message>
<message>
- <location filename="../src/corelib/io/qprocess.cpp" line="+856"/>
+ <location filename="../src/corelib/io/qprocess.cpp" line="+866"/>
<location line="+52"/>
<location filename="../src/corelib/io/qprocess_win.cpp" line="-211"/>
<location line="+50"/>
@@ -5000,7 +6260,7 @@ Please choose a different file name.</source>
<context>
<name>QSQLiteDriver</name>
<message>
- <location filename="../src/sql/drivers/sqlite/qsql_sqlite.cpp" line="+538"/>
+ <location filename="../src/sql/drivers/sqlite/qsql_sqlite.cpp" line="+539"/>
<source>Error opening database</source>
<translation>Ошибка открытия базы данных</translation>
</message>
@@ -5028,8 +6288,8 @@ Please choose a different file name.</source>
<context>
<name>QSQLiteResult</name>
<message>
- <location line="-395"/>
- <location line="+62"/>
+ <location line="-396"/>
+ <location line="+63"/>
<location line="+8"/>
<source>Unable to fetch row</source>
<translation>Невозможно получить строку</translation>
@@ -5055,7 +6315,7 @@ Please choose a different file name.</source>
<translation>Количество параметров не совпадает</translation>
</message>
<message>
- <location line="-200"/>
+ <location line="-201"/>
<source>No query</source>
<translation>Отсутствует запрос</translation>
</message>
@@ -5070,7 +6330,7 @@ Please choose a different file name.</source>
<message>
<location line="+2"/>
<source>Location</source>
- <translation>Расположение</translation>
+ <translation>Размещение</translation>
</message>
<message>
<location line="+2"/>
@@ -5286,7 +6546,7 @@ Please choose a different file name.</source>
<context>
<name>QScriptDebuggerLocalsModel</name>
<message>
- <location filename="../src/scripttools/debugging/qscriptdebuggerlocalsmodel.cpp" line="+872"/>
+ <location filename="../src/scripttools/debugging/qscriptdebuggerlocalsmodel.cpp" line="+897"/>
<source>Name</source>
<translation>Название</translation>
</message>
@@ -5486,12 +6746,7 @@ Please choose a different file name.</source>
<context>
<name>QSharedMemory</name>
<message>
- <location filename="../src/corelib/kernel/qsharedmemory.cpp" line="+223"/>
- <source>%1: unable to set key on lock</source>
- <translation>%1: невозможно установить ключ на блокировку</translation>
- </message>
- <message>
- <location line="+81"/>
+ <location filename="../src/corelib/kernel/qsharedmemory.cpp" line="+304"/>
<source>%1: create size is less then 0</source>
<translation>%1: размер меньше нуля</translation>
</message>
@@ -5545,30 +6800,30 @@ Please choose a different file name.</source>
<translation>%1: пустой ключ</translation>
</message>
<message>
- <location line="-31"/>
- <location filename="../src/corelib/kernel/qsharedmemory_win.cpp" line="-16"/>
- <source>%1: doesn&apos;t exist</source>
- <translation>%1: не существует</translation>
- </message>
- <message>
- <location line="+39"/>
- <source>%1: UNIX key file doesn&apos;t exist</source>
- <translation>%1: специфический ключ UNIX не существует</translation>
- </message>
- <message>
- <location line="+7"/>
+ <location line="+15"/>
<source>%1: ftok failed</source>
<translation>%1: ошибка ftok</translation>
</message>
<message>
<location filename="../src/corelib/kernel/qsharedmemory_symbian.cpp" line="+56"/>
<location filename="../src/corelib/kernel/qsharedmemory_unix.cpp" line="+51"/>
- <location filename="../src/corelib/kernel/qsharedmemory_win.cpp" line="+31"/>
+ <location filename="../src/corelib/kernel/qsharedmemory_win.cpp" line="+15"/>
<source>%1: unable to make key</source>
<translation>%1: невозможно создать ключ</translation>
</message>
<message>
- <location filename="../src/corelib/kernel/qsharedmemory_unix.cpp" line="+20"/>
+ <location filename="../src/corelib/kernel/qsharedmemory_unix.cpp" line="-97"/>
+ <location filename="../src/corelib/kernel/qsharedmemory_win.cpp" line="-31"/>
+ <source>%1: doesn&apos;t exist</source>
+ <translation>%1: не существует</translation>
+ </message>
+ <message>
+ <location line="+39"/>
+ <source>%1: UNIX key file doesn&apos;t exist</source>
+ <translation>%1: специфический ключ UNIX не существует</translation>
+ </message>
+ <message>
+ <location line="+78"/>
<source>%1: system-imposed size restrictions</source>
<translation>%1: системой наложены ограничения на размер</translation>
</message>
@@ -5579,7 +6834,7 @@ Please choose a different file name.</source>
</message>
<message>
<location filename="../src/corelib/kernel/qsharedmemory_symbian.cpp" line="-67"/>
- <location filename="../src/corelib/kernel/qsharedmemory_win.cpp" line="-27"/>
+ <location filename="../src/corelib/kernel/qsharedmemory_win.cpp" line="+4"/>
<source>%1: invalid size</source>
<translation>%1: некорректный размер</translation>
</message>
@@ -5594,12 +6849,18 @@ Please choose a different file name.</source>
<source>%1: size query failed</source>
<translation>%1: не удалось запросить размер</translation>
</message>
+ <message>
+ <location filename="../src/corelib/kernel/qsharedmemory.cpp" line="-271"/>
+ <source>%1: unable to set key on lock</source>
+ <translation>%1: невозможно установить ключ блокировки</translation>
+ </message>
</context>
<context>
<name>QShortcut</name>
<message>
- <location filename="../src/gui/kernel/qkeysequence.cpp" line="+393"/>
+ <location filename="../src/gui/kernel/qkeysequence.cpp" line="+396"/>
<source>Space</source>
+ <extracomment>This and all following &quot;incomprehensible&quot; strings in QShortcut context are key names. Please use the localized names appearing on actual keyboards or whatever is commonly used.</extracomment>
<translation type="unfinished">Пробел</translation>
</message>
<message>
@@ -5775,12 +7036,12 @@ Please choose a different file name.</source>
<message>
<location line="+1"/>
<source>Treble Up</source>
- <translation type="unfinished">Высокие частоты выше</translation>
+ <translation type="unfinished">ВЧ выше</translation>
</message>
<message>
<location line="+1"/>
<source>Treble Down</source>
- <translation type="unfinished">Высокие частоты ниже</translation>
+ <translation type="unfinished">ВЧ ниже</translation>
</message>
<message>
<location line="+1"/>
@@ -5920,32 +7181,32 @@ Please choose a different file name.</source>
<message>
<location line="+1"/>
<source>Monitor Brightness Up</source>
- <translation type="unfinished">Яркость монитора выше</translation>
+ <translation type="unfinished">Увеличить яркость монитора</translation>
</message>
<message>
<location line="+1"/>
<source>Monitor Brightness Down</source>
- <translation type="unfinished">Яркость монитора ниже</translation>
+ <translation type="unfinished">Уменьшить яркость монитора</translation>
</message>
<message>
<location line="+1"/>
<source>Keyboard Light On/Off</source>
- <translation type="unfinished">Вкл/выкл подсветку клавиатуры</translation>
+ <translation type="unfinished">Вкл./Откл. подсветку клавиатуры</translation>
</message>
<message>
<location line="+1"/>
<source>Keyboard Brightness Up</source>
- <translation type="unfinished">Подсветка клавиатуры ярче</translation>
+ <translation type="unfinished">Увеличить яркость подсветки клавиатуры</translation>
</message>
<message>
<location line="+1"/>
<source>Keyboard Brightness Down</source>
- <translation type="unfinished">Подсветка клавиатуры бледнее</translation>
+ <translation type="unfinished">Уменьшить яркость подсветки клавиатуры</translation>
</message>
<message>
<location line="+1"/>
<source>Power Off</source>
- <translation type="unfinished">Выключение питания</translation>
+ <translation type="unfinished">Отключение питания</translation>
</message>
<message>
<location line="+1"/>
@@ -5955,12 +7216,12 @@ Please choose a different file name.</source>
<message>
<location line="+1"/>
<source>Eject</source>
- <translation type="unfinished">Извлечение</translation>
+ <translation type="unfinished">Извлечь</translation>
</message>
<message>
<location line="+1"/>
<source>Screensaver</source>
- <translation type="unfinished">Хранитель экрана</translation>
+ <translation type="unfinished">Экранная заставка</translation>
</message>
<message>
<location line="+1"/>
@@ -5970,13 +7231,12 @@ Please choose a different file name.</source>
<message>
<location line="+1"/>
<source>Sleep</source>
- <translation type="unfinished">Засыпание</translation>
+ <translation type="unfinished">Спящий режим</translation>
</message>
<message>
<location line="+1"/>
<source>LightBulb</source>
- <translatorcomment>лампочка?</translatorcomment>
- <translation type="unfinished"></translation>
+ <translation type="unfinished">Лампочка</translation>
</message>
<message>
<location line="+1"/>
@@ -6016,7 +7276,7 @@ Please choose a different file name.</source>
<message>
<location line="+1"/>
<source>Audio Rewind</source>
- <translation type="unfinished">Перемотка</translation>
+ <translation type="unfinished">Перемотка аудио назад</translation>
</message>
<message>
<location line="+1"/>
@@ -6419,7 +7679,157 @@ Please choose a different file name.</source>
<translation type="unfinished">Системный запрос</translation>
</message>
<message>
- <location line="-18"/>
+ <location line="+20"/>
+ <source>Kanji</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Muhenkan</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Henkan</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Romaji</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Hiragana</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Katakana</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Hiragana Katakana</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Zenkaku</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Hankaku</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Zenkaku Hankaku</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Touroku</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Massyo</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Kana Lock</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Kana Shift</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Eisu Shift</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Eisu toggle</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Code input</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Multiple Candidate</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Previous Candidate</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+4"/>
+ <source>Hangul</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Hangul Start</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Hangul End</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Hangul Hanja</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Hangul Jamo</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Hangul Romaja</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Hangul Jeonja</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Hangul Banja</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Hangul PreHanja</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Hangul PostHanja</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Hangul Special</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-70"/>
<location line="+22"/>
<source>Select</source>
<translation type="unfinished">Выбрать</translation>
@@ -6470,7 +7880,7 @@ Please choose a different file name.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+575"/>
+ <location line="+638"/>
<location line="+135"/>
<source>Ctrl</source>
<translation type="unfinished">Ctrl</translation>
@@ -6504,7 +7914,7 @@ Please choose a different file name.</source>
<translation type="unfinished">F%1</translation>
</message>
<message>
- <location line="-871"/>
+ <location line="-934"/>
<source>Home Page</source>
<translation type="unfinished">Домашняя страница</translation>
</message>
@@ -6638,7 +8048,7 @@ Please choose a different file name.</source>
<translation>Отмена</translation>
</message>
<message>
- <location filename="../src/gui/kernel/qsoftkeymanager_s60.cpp" line="+322"/>
+ <location filename="../src/gui/kernel/qsoftkeymanager_s60.cpp" line="+321"/>
<source>Exit</source>
<translation>Выход</translation>
</message>
@@ -6716,7 +8126,7 @@ Please choose a different file name.</source>
<context>
<name>QSslSocket</name>
<message>
- <location filename="../src/network/ssl/qsslsocket_openssl.cpp" line="+546"/>
+ <location filename="../src/network/ssl/qsslsocket_openssl.cpp" line="+550"/>
<source>Unable to write data: %1</source>
<translation>Невозможно записать данные: %1</translation>
</message>
@@ -6736,17 +8146,17 @@ Please choose a different file name.</source>
<translation>Ошибка квитирования SSL: %1</translation>
</message>
<message>
- <location line="-521"/>
+ <location line="-524"/>
<source>Error creating SSL context (%1)</source>
<translation>Ошибка создания контекста SSL: (%1)</translation>
</message>
<message>
<location line="+25"/>
<source>Invalid or empty cipher list (%1)</source>
- <translation>Неправильный или пустой список шифров (%1)</translation>
+ <translation>Некорректный или пустой список шифров (%1)</translation>
</message>
<message>
- <location line="+42"/>
+ <location line="+45"/>
<source>Private key does not certify public key, %1</source>
<translation>Закрытый ключ не соответствует открытому ключу, %1</translation>
</message>
@@ -6761,7 +8171,7 @@ Please choose a different file name.</source>
<translation>Ошибка создания сессии SSL: %1</translation>
</message>
<message>
- <location line="-61"/>
+ <location line="-64"/>
<source>Cannot provide a certificate with no key, %1</source>
<translation>Невозможно предоставить сертификат без ключа, %1</translation>
</message>
@@ -6771,7 +8181,7 @@ Please choose a different file name.</source>
<translation>Ошибка загрузки локального сертификата, %1</translation>
</message>
<message>
- <location line="+12"/>
+ <location line="+15"/>
<source>Error loading private key, %1</source>
<translation>Ошибка загрузки закрытого ключа, %1</translation>
</message>
@@ -6783,8 +8193,7 @@ Please choose a different file name.</source>
<message>
<location line="+3"/>
<source>The issuer certificate could not be found</source>
- <translatorcomment>издателя ?</translatorcomment>
- <translation type="unfinished">Не удалось найти сертификат запрашивающей стороны</translation>
+ <translation>Не удалось найти сертификат издателя</translation>
</message>
<message>
<location line="+3"/>
@@ -6814,27 +8223,27 @@ Please choose a different file name.</source>
<message>
<location line="+3"/>
<source>The certificate&apos;s notBefore field contains an invalid time</source>
- <translation>Поле сертификата notBefore содержит некорректное время</translation>
+ <translation>Поле notBefore сертификата содержит некорректное время</translation>
</message>
<message>
<location line="+3"/>
<source>The certificate&apos;s notAfter field contains an invalid time</source>
- <translation>Поле сертификата notAfter содержит некорректное время</translation>
+ <translation>Поле notAfter сертификата содержит некорректное время</translation>
</message>
<message>
<location line="+3"/>
<source>The certificate is self-signed, and untrusted</source>
- <translation type="unfinished">Самоподписанный сертификат не является заверенным</translation>
+ <translation>Сертификат самоподписанный и не является заверенным</translation>
</message>
<message>
<location line="+3"/>
<source>The root certificate of the certificate chain is self-signed, and untrusted</source>
- <translation type="unfinished">Корневой сертификат цепочки сертификатов самоподписанный и не является заверенным</translation>
+ <translation>Корневой сертификат цепочки сертификатов самоподписанный и не является заверенным</translation>
</message>
<message>
<location line="+3"/>
<source>The issuer certificate of a locally looked up certificate could not be found</source>
- <translation type="unfinished"></translation>
+ <translation>Не удалось найти сертификат издателя локального сертификата</translation>
</message>
<message>
<location line="+3"/>
@@ -6844,47 +8253,47 @@ Please choose a different file name.</source>
<message>
<location line="+3"/>
<source>One of the CA certificates is invalid</source>
- <translation>Один из CA сертификатов некорректный</translation>
+ <translation>Один из сертификатов центра сертификации некорректен</translation>
</message>
<message>
<location line="+3"/>
<source>The basicConstraints path length parameter has been exceeded</source>
- <translation type="unfinished">Путь параметра basicConstraints слишком длинный</translation>
+ <translation>Превышено значение параметра длины пути поля basicConstraints сертификата</translation>
</message>
<message>
<location line="+3"/>
<source>The supplied certificate is unsuitable for this purpose</source>
- <translation type="unfinished">Представленный сертификат не предназначен для данного использования</translation>
+ <translation>Представленный сертификат непригоден для данной цели</translation>
</message>
<message>
<location line="+3"/>
<source>The root CA certificate is not trusted for this purpose</source>
- <translation type="unfinished">Корневой CA сертификат не является заверенным для данного использования</translation>
+ <translation>Корневой сертификат центра сертификации не является заверенным для данной цели</translation>
</message>
<message>
<location line="+3"/>
<source>The root CA certificate is marked to reject the specified purpose</source>
- <translation type="unfinished">Корневой CA сертификат отмечен как &apos;отказывать&apos; для данного использования</translation>
+ <translation>Корневой сертификат центра сертификации отмечен на отклонение для данной цели</translation>
</message>
<message>
<location line="+3"/>
<source>The current candidate issuer certificate was rejected because its subject name did not match the issuer name of the current certificate</source>
- <translation type="unfinished"></translation>
+ <translation>Текущий сертификат издателя был отклонён, так как название темы не совпадает с названием издателя сертификата</translation>
</message>
<message>
<location line="+4"/>
<source>The current candidate issuer certificate was rejected because its issuer name and serial number was present and did not match the authority key identifier of the current certificate</source>
- <translation type="unfinished"></translation>
+ <translation>Текущий сертификат издателя был отклонён, так как название издателя и серийный номер не совпадают с идентификатором ключа сертификата</translation>
</message>
<message>
<location line="+5"/>
<source>The peer did not present any certificate</source>
- <translation>Узел не предоставил сертификат</translation>
+ <translation>Сертификат не был предоставлен</translation>
</message>
<message>
<location line="+3"/>
<source>The host name did not match any of the valid hosts for this certificate</source>
- <translation>Название узла не совпадает ни с одним из допустимых узлов данного сертификата</translation>
+ <translation>Название узла не совпадает с допустимыми названиями узлов сертификата</translation>
</message>
<message>
<location line="+6"/>
@@ -6897,17 +8306,17 @@ Please choose a different file name.</source>
<message>
<location filename="../src/corelib/statemachine/qstatemachine.cpp" line="+1028"/>
<source>Missing initial state in compound state &apos;%1&apos;</source>
- <translation type="unfinished"></translation>
+ <translation>Отсутствует исходное состояние в составном состоянии &quot;%1&quot;</translation>
</message>
<message>
<location line="+7"/>
<source>Missing default state in history state &apos;%1&apos;</source>
- <translation type="unfinished"></translation>
+ <translation>Отсутствует состояние по умолчанию в историческом состоянии &quot;%1&quot;</translation>
</message>
<message>
<location line="+7"/>
<source>No common ancestor for targets and source of transition from state &apos;%1&apos;</source>
- <translation type="unfinished"></translation>
+ <translation>Нет общего предка у источника и цели перехода из состояния &quot;%1&quot;</translation>
</message>
<message>
<location line="+4"/>
@@ -6918,7 +8327,12 @@ Please choose a different file name.</source>
<context>
<name>QSystemSemaphore</name>
<message>
- <location filename="../src/corelib/kernel/qsystemsemaphore_unix.cpp" line="-41"/>
+ <location filename="../src/corelib/kernel/qsystemsemaphore_unix.cpp" line="-46"/>
+ <source>%1: does not exist</source>
+ <translation>%1: не существует</translation>
+ </message>
+ <message>
+ <location line="+5"/>
<location filename="../src/corelib/kernel/qsystemsemaphore_win.cpp" line="+66"/>
<source>%1: out of resources</source>
<translation>%1: недостаточно ресурсов</translation>
@@ -6935,12 +8349,7 @@ Please choose a different file name.</source>
<translation>%1: уже существует</translation>
</message>
<message>
- <location line="+4"/>
- <source>%1: does not exist</source>
- <translation>%1: не существует</translation>
- </message>
- <message>
- <location line="+9"/>
+ <location line="+13"/>
<location filename="../src/corelib/kernel/qsystemsemaphore_win.cpp" line="+3"/>
<source>%1: unknown error %2</source>
<translation>%1: неизвестная ошибка %2</translation>
@@ -6975,7 +8384,7 @@ Please choose a different file name.</source>
<context>
<name>QTcpServer</name>
<message>
- <location filename="../src/network/socket/qtcpserver.cpp" line="+282"/>
+ <location filename="../src/network/socket/qtcpserver.cpp" line="+292"/>
<source>Operation on socket is not supported</source>
<translation>Операция с сокетом не поддерживается</translation>
</message>
@@ -6983,7 +8392,7 @@ Please choose a different file name.</source>
<context>
<name>QTextControl</name>
<message>
- <location filename="../src/gui/text/qtextcontrol.cpp" line="+2027"/>
+ <location filename="../src/gui/text/qtextcontrol.cpp" line="+2046"/>
<source>&amp;Undo</source>
<translation>&amp;Отменить действие</translation>
</message>
@@ -7041,7 +8450,7 @@ Please choose a different file name.</source>
<context>
<name>QUdpSocket</name>
<message>
- <location filename="../src/network/socket/qudpsocket.cpp" line="+179"/>
+ <location filename="../src/network/socket/qudpsocket.cpp" line="+189"/>
<source>This platform does not support IPv6</source>
<translation>Данная платформа не поддерживает IPv6</translation>
</message>
@@ -7085,52 +8494,52 @@ Please choose a different file name.</source>
<message>
<location filename="../src/gui/text/qtextcontrol.cpp" line="+899"/>
<source>LRM Left-to-right mark</source>
- <translation type="unfinished">LRM Индикатор написания слева направо</translation>
+ <translation>LRM Признак написания слева направо</translation>
</message>
<message>
<location line="+1"/>
<source>RLM Right-to-left mark</source>
- <translation type="unfinished">RLM Индикатор написания справа налево</translation>
+ <translation>RLM Признак написания справа налево</translation>
</message>
<message>
<location line="+1"/>
<source>ZWJ Zero width joiner</source>
- <translation type="unfinished">ZWJ Объединяющий символ нулевой ширины</translation>
+ <translation>ZWJ Объединяющий символ нулевой ширины</translation>
</message>
<message>
<location line="+1"/>
<source>ZWNJ Zero width non-joiner</source>
- <translation type="unfinished">ZWNJ Разделитель нулевой ширины</translation>
+ <translation>ZWNJ Необъединяющий символ нулевой ширины</translation>
</message>
<message>
<location line="+1"/>
<source>ZWSP Zero width space</source>
- <translation type="unfinished">ZWSP Пробел нулевой ширины</translation>
+ <translation>ZWSP Пробел нулевой ширины</translation>
</message>
<message>
<location line="+1"/>
<source>LRE Start of left-to-right embedding</source>
- <translation type="unfinished">LRE Индикатор написания слева направо внутри текста, написанного справа налево</translation>
+ <translation>LRE Начало встраивания написания слева направо</translation>
</message>
<message>
<location line="+1"/>
<source>RLE Start of right-to-left embedding</source>
- <translation type="unfinished">RLE Индикатор написания справа налево внутри текста, написанного слева направо</translation>
+ <translation>LRE Начало встраивания написания справа налево</translation>
</message>
<message>
<location line="+1"/>
<source>LRO Start of left-to-right override</source>
- <translation type="unfinished">LRO Перекрывающий индикатор написания слева направо</translation>
+ <translation>LRO Начало замены написания слева направо</translation>
</message>
<message>
<location line="+1"/>
<source>RLO Start of right-to-left override</source>
- <translation type="unfinished">RLO Перекрывающий индикатор написания справа налево</translation>
+ <translation>RLO Начало замены написания справа налево</translation>
</message>
<message>
<location line="+1"/>
<source>PDF Pop directional formatting</source>
- <translation type="unfinished">PDF Индикатор конца текста с другим направлением</translation>
+ <translation>PDF Признак окончания написания с другим направлением</translation>
</message>
<message>
<location line="+6"/>
@@ -7141,7 +8550,7 @@ Please choose a different file name.</source>
<context>
<name>QWebFrame</name>
<message>
- <location filename="../src/3rdparty/webkit/WebKit/qt/WebCoreSupport/FrameLoaderClientQt.cpp" line="+712"/>
+ <location filename="../src/3rdparty/webkit/WebKit/qt/WebCoreSupport/FrameLoaderClientQt.cpp" line="+753"/>
<source>Request cancelled</source>
<translation>Запрос отменён</translation>
</message>
@@ -7174,12 +8583,322 @@ Please choose a different file name.</source>
<context>
<name>QWebPage</name>
<message>
- <location filename="../src/3rdparty/webkit/WebCore/platform/network/qt/QNetworkReplyHandler.cpp" line="+416"/>
+ <location filename="../src/3rdparty/webkit/WebKit/qt/WebCoreSupport/InspectorClientQt.cpp" line="+248"/>
+ <source>Web Inspector - %2</source>
+ <translation>Web-инспектор - %2</translation>
+ </message>
+ <message>
+ <location filename="../src/3rdparty/webkit/WebCore/platform/network/qt/QNetworkReplyHandler.cpp" line="+347"/>
+ <source>Redirection limit reached</source>
+ <translation>Достигнут предел переадресации</translation>
+ </message>
+ <message>
+ <location line="+121"/>
<source>Bad HTTP request</source>
<translation>Некорректный HTTP-запрос</translation>
</message>
<message>
- <location filename="../src/3rdparty/webkit/WebCore/platform/qt/Localizations.cpp" line="+42"/>
+ <location filename="../src/3rdparty/webkit/WebCore/platform/qt/ScrollbarQt.cpp" line="+58"/>
+ <source>Scroll here</source>
+ <translation>Прокрутить сюда</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>Left edge</source>
+ <translation>К левой границе</translation>
+ </message>
+ <message>
+ <location line="+0"/>
+ <source>Top</source>
+ <translation>Вверх</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Right edge</source>
+ <translation>К правой границе</translation>
+ </message>
+ <message>
+ <location line="+0"/>
+ <source>Bottom</source>
+ <translation>Вниз</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>Page left</source>
+ <translation>На страницу влево</translation>
+ </message>
+ <message>
+ <location line="+0"/>
+ <source>Page up</source>
+ <translation>На страницу вверх</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Page right</source>
+ <translation>На страницу вправо</translation>
+ </message>
+ <message>
+ <location line="+0"/>
+ <source>Page down</source>
+ <translation>На страницу вниз</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>Scroll left</source>
+ <translation>Прокрутить влево</translation>
+ </message>
+ <message>
+ <location line="+0"/>
+ <source>Scroll up</source>
+ <translation>Прокрутить вверх</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Scroll right</source>
+ <translation>Прокрутить вправо</translation>
+ </message>
+ <message>
+ <location line="+0"/>
+ <source>Scroll down</source>
+ <translation>Прокрутить вниз</translation>
+ </message>
+ <message>
+ <location filename="../src/3rdparty/webkit/WebKit/qt/Api/qwebpage.cpp" line="+1979"/>
+ <source>JavaScript Alert - %1</source>
+ <translation>JavaScript: Предупреждение - %1</translation>
+ </message>
+ <message>
+ <location line="+17"/>
+ <source>JavaScript Confirm - %1</source>
+ <translation>JavaScript: Подтверждение - %1</translation>
+ </message>
+ <message>
+ <location line="+20"/>
+ <source>JavaScript Prompt - %1</source>
+ <translation>JavaScript: Запрос - %1</translation>
+ </message>
+ <message>
+ <location line="+26"/>
+ <source>JavaScript Problem - %1</source>
+ <translation>JavaScript: Проблема - %1</translation>
+ </message>
+ <message>
+ <location line="+0"/>
+ <source>The script on this page appears to have a problem. Do you want to stop the script?</source>
+ <translation>Сбой выполнения сценария на данной странице. Желаете остановить выполение сценария?</translation>
+ </message>
+ <message>
+ <location line="+376"/>
+ <source>Move the cursor to the next character</source>
+ <translation>Переместить указатель к следующему символу</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>Move the cursor to the previous character</source>
+ <translation>Переместить указатель к предыдущему символу</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>Move the cursor to the next word</source>
+ <translation>Переместить указатель к следующему слову</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>Move the cursor to the previous word</source>
+ <translation>Переместить указатель к предыдущему слову</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>Move the cursor to the next line</source>
+ <translation>Переместить указатель на следующую строку</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>Move the cursor to the previous line</source>
+ <translation>Переместить указатель на предыдущую строку</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>Move the cursor to the start of the line</source>
+ <translation>Переместить указатель в начало строки</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>Move the cursor to the end of the line</source>
+ <translation>Переместить указатель в конец строки</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>Move the cursor to the start of the block</source>
+ <translation>Переместить указатель в начало блока</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>Move the cursor to the end of the block</source>
+ <translation>Переместить указатель в конец блока</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>Move the cursor to the start of the document</source>
+ <translation>Переместить указатель в начало документа</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>Move the cursor to the end of the document</source>
+ <translation>Переместить указатель в конец документа</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>Select all</source>
+ <translation>Выделить всё</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>Select to the next character</source>
+ <translation>Выделить до следующего символа</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>Select to the previous character</source>
+ <translation>Выделить до предыдущего символа</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>Select to the next word</source>
+ <translation>Выделить до следующего слова</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>Select to the previous word</source>
+ <translation>Выделить до предыдущего слова</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>Select to the next line</source>
+ <translation>Выделить до следующей строки</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>Select to the previous line</source>
+ <translation>Выделить до предыдущей строки</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>Select to the start of the line</source>
+ <translation>Выделить до начала строки</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>Select to the end of the line</source>
+ <translation>Выделить до конца строки</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>Select to the start of the block</source>
+ <translation>Выделить до начала блока</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>Select to the end of the block</source>
+ <translation>Выделить до конца блока</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>Select to the start of the document</source>
+ <translation>Выделить до начала документа</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>Select to the end of the document</source>
+ <translation>Выделить до конца документа</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>Delete to the start of the word</source>
+ <translation>Удалить до начала слова</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>Delete to the end of the word</source>
+ <translation>Удалить до конца слова</translation>
+ </message>
+ <message>
+ <location line="+33"/>
+ <source>Insert a new paragraph</source>
+ <translation>Вставить новый параграф</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>Insert a new line</source>
+ <translation>Вставить новую строку</translation>
+ </message>
+ <message>
+ <location line="+4"/>
+ <source>Paste and Match Style</source>
+ <translation>Вставить, сохранив стиль</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>Remove formatting</source>
+ <translation>Удалить форматирование</translation>
+ </message>
+ <message>
+ <location line="+4"/>
+ <source>Strikethrough</source>
+ <translation>Зачёркнутый</translation>
+ </message>
+ <message>
+ <location line="+4"/>
+ <source>Subscript</source>
+ <translation>Подстрочный</translation>
+ </message>
+ <message>
+ <location line="+4"/>
+ <source>Superscript</source>
+ <translation>Надстрочный</translation>
+ </message>
+ <message>
+ <location line="+4"/>
+ <source>Insert Bulleted List</source>
+ <translation>Вставить маркированный список</translation>
+ </message>
+ <message>
+ <location line="+4"/>
+ <source>Insert Numbered List</source>
+ <translation>Вставить нумерованный список</translation>
+ </message>
+ <message>
+ <location line="+4"/>
+ <source>Indent</source>
+ <translation>Увеличить отступ</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>Outdent</source>
+ <translation>Уменьшить отступ</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>Center</source>
+ <translation>По центру</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>Justify</source>
+ <translation>По ширине</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>Align Left</source>
+ <translation>По левому краю</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>Align Right</source>
+ <translation>По правому краю</translation>
+ </message>
+ <message>
+ <location filename="../src/3rdparty/webkit/WebCore/platform/qt/Localizations.cpp" line="+44"/>
<source>Submit</source>
<comment>default label for Submit buttons in forms on web pages</comment>
<translation>Отправить</translation>
@@ -7302,7 +9021,7 @@ Please choose a different file name.</source>
<location line="+5"/>
<source>No Guesses Found</source>
<comment>No Guesses Found context menu item</comment>
- <translation type="unfinished">Неверное слово</translation>
+ <translation type="unfinished">Совпадений не найдено</translation>
</message>
<message>
<location line="+5"/>
@@ -7439,7 +9158,49 @@ Please choose a different file name.</source>
<translation>Справа налево</translation>
</message>
<message>
- <location line="+105"/>
+ <location line="+5"/>
+ <source>Inspect</source>
+ <comment>Inspect Element context menu item</comment>
+ <translation>Проверить</translation>
+ </message>
+ <message>
+ <location line="+5"/>
+ <source>No recent searches</source>
+ <comment>Label for only item in menu that appears when clicking on the search field image, when no searches have been performed</comment>
+ <translation>История поиска пуста</translation>
+ </message>
+ <message>
+ <location line="+5"/>
+ <source>Recent searches</source>
+ <comment>label for first item in the menu that appears when clicking on the search field image, used as embedded menu title</comment>
+ <translation>История поиска</translation>
+ </message>
+ <message>
+ <location line="+5"/>
+ <source>Clear recent searches</source>
+ <comment>menu item in Recent Searches menu that empties menu&apos;s contents</comment>
+ <translation>Очистить историю поиска</translation>
+ </message>
+ <message>
+ <location line="+80"/>
+ <source>Missing Plug-in</source>
+ <comment>Label text to be used when a plug-in is missing</comment>
+ <translation>Модуль отсутствует</translation>
+ </message>
+ <message>
+ <location line="+10"/>
+ <source>Unknown</source>
+ <comment>Unknown filesize FTP directory listing item</comment>
+ <translation>Неизвестно</translation>
+ </message>
+ <message>
+ <location line="+5"/>
+ <source>%1 (%2x%3 pixels)</source>
+ <comment>Title string for images</comment>
+ <translation>%1 (%2x%3 px)</translation>
+ </message>
+ <message>
+ <location line="+5"/>
<source>Loading...</source>
<comment>Media controller status message when the media is loading</comment>
<translation>Загрузка...</translation>
@@ -7454,121 +9215,121 @@ Please choose a different file name.</source>
<location line="+8"/>
<source>Audio Element</source>
<comment>Media controller element</comment>
- <translation type="unfinished">Аудио-элемент</translation>
+ <translation>Аудио-элемент</translation>
</message>
<message>
<location line="+2"/>
<source>Video Element</source>
<comment>Media controller element</comment>
- <translation type="unfinished">Видео-элемент</translation>
+ <translation>Видео-элемент</translation>
</message>
<message>
<location line="+2"/>
<source>Mute Button</source>
<comment>Media controller element</comment>
- <translation type="unfinished">Кнопка &quot;приглушить&quot;</translation>
+ <translation>Кнопка &quot;Отключить звук&quot;</translation>
</message>
<message>
<location line="+2"/>
<source>Unmute Button</source>
<comment>Media controller element</comment>
- <translation type="unfinished"></translation>
+ <translation>Кнопка &quot;Включить звук&quot;</translation>
</message>
<message>
<location line="+2"/>
<source>Play Button</source>
<comment>Media controller element</comment>
- <translation type="unfinished">Кнопка &quot;воспроизведение&quot;</translation>
+ <translation>Кнопка &quot;Воспроизведение&quot;</translation>
</message>
<message>
<location line="+2"/>
<source>Pause Button</source>
<comment>Media controller element</comment>
- <translation type="unfinished">Кнопка &quot;пауза&quot;</translation>
+ <translation>Кнопка &quot;Пауза&quot;</translation>
</message>
<message>
<location line="+2"/>
<source>Slider</source>
<comment>Media controller element</comment>
- <translation type="unfinished"></translation>
+ <translation>Регулятор</translation>
</message>
<message>
<location line="+2"/>
<source>Slider Thumb</source>
<comment>Media controller element</comment>
- <translation type="unfinished"></translation>
+ <translation>Указатель регулятора</translation>
</message>
<message>
<location line="+2"/>
<source>Rewind Button</source>
<comment>Media controller element</comment>
- <translation type="unfinished">Кнопка &quot;перемотать&quot;</translation>
+ <translation>Кнопка &quot;Перемотка назад&quot;</translation>
</message>
<message>
<location line="+2"/>
<source>Return to Real-time Button</source>
<comment>Media controller element</comment>
- <translation type="unfinished"></translation>
+ <translation type="unfinished">Кнопка &quot;Вернуть в реальное время&quot;</translation>
</message>
<message>
<location line="+2"/>
<source>Elapsed Time</source>
<comment>Media controller element</comment>
- <translation type="unfinished">Прошло времени</translation>
+ <translation>Прошло времени</translation>
</message>
<message>
<location line="+2"/>
<source>Remaining Time</source>
<comment>Media controller element</comment>
- <translation type="unfinished">Осталось времени</translation>
+ <translation>Осталось времени</translation>
</message>
<message>
<location line="+2"/>
<source>Status Display</source>
<comment>Media controller element</comment>
- <translation type="unfinished">Отображение состояния</translation>
+ <translation>Отображение состояния</translation>
</message>
<message>
<location line="+2"/>
<source>Fullscreen Button</source>
<comment>Media controller element</comment>
- <translation type="unfinished">Кнопка &quot;полноэкранный режим&quot;</translation>
+ <translation>Кнопка &quot;На весь экран&quot;</translation>
</message>
<message>
<location line="+2"/>
<source>Seek Forward Button</source>
<comment>Media controller element</comment>
- <translation type="unfinished">Кнопка &quot;перемотка вперёд&quot;</translation>
+ <translation>Кнопка &quot;Перемотка вперёд&quot;</translation>
</message>
<message>
<location line="+2"/>
<source>Seek Back Button</source>
<comment>Media controller element</comment>
- <translation type="unfinished">Кнопка &quot;перемотка назад&quot;</translation>
+ <translation>Кнопка &quot;Перемотка назад&quot;</translation>
</message>
<message>
<location line="+8"/>
<source>Audio element playback controls and status display</source>
<comment>Media controller element</comment>
- <translation type="unfinished">Элементы управления воспроизведением звука и отображения состояния</translation>
+ <translation>Элементы управления воспроизведением звука и отображением состояния</translation>
</message>
<message>
<location line="+2"/>
<source>Video element playback controls and status display</source>
<comment>Media controller element</comment>
- <translation type="unfinished">Элементы управления воспроизведением видео и отображения состояния</translation>
+ <translation>Элементы управления воспроизведением видео и отображением состояния</translation>
</message>
<message>
<location line="+2"/>
<source>Mute audio tracks</source>
<comment>Media controller element</comment>
- <translation type="unfinished">Выключить звуковые дорожки</translation>
+ <translation>Отключить звуковые дорожки</translation>
</message>
<message>
<location line="+2"/>
<source>Unmute audio tracks</source>
<comment>Media controller element</comment>
- <translation type="unfinished">Включить звуковые дорожки</translation>
+ <translation>Включить звуковые дорожки</translation>
</message>
<message>
<location line="+2"/>
@@ -7586,67 +9347,67 @@ Please choose a different file name.</source>
<location line="+2"/>
<source>Movie time scrubber</source>
<comment>Media controller element</comment>
- <translation type="unfinished"></translation>
+ <translation type="unfinished">Перемотка</translation>
</message>
<message>
<location line="+2"/>
<source>Movie time scrubber thumb</source>
<comment>Media controller element</comment>
- <translation type="unfinished"></translation>
+ <translation type="unfinished">Позиция перемотки</translation>
</message>
<message>
<location line="+2"/>
<source>Rewind movie</source>
<comment>Media controller element</comment>
- <translation type="unfinished">Начать фильм сначала</translation>
+ <translation>Перемотка в начало</translation>
</message>
<message>
<location line="+2"/>
<source>Return streaming movie to real-time</source>
<comment>Media controller element</comment>
- <translation type="unfinished"></translation>
+ <translation type="unfinished">Возвращает потоковое видео к воспроизведению в реальном времени</translation>
</message>
<message>
<location line="+2"/>
<source>Current movie time</source>
<comment>Media controller element</comment>
- <translation type="unfinished">Текущее время фильма</translation>
+ <translation>Текущее время фильма</translation>
</message>
<message>
<location line="+2"/>
<source>Remaining movie time</source>
<comment>Media controller element</comment>
- <translation type="unfinished">Осталось времени фильма</translation>
+ <translation>Оставшееся время фильма</translation>
</message>
<message>
<location line="+2"/>
<source>Current movie status</source>
<comment>Media controller element</comment>
- <translation type="unfinished">Текущее состояние фильма</translation>
+ <translation>Текущее состояние фильма</translation>
</message>
<message>
<location line="+2"/>
<source>Play movie in full-screen mode</source>
<comment>Media controller element</comment>
- <translation type="unfinished">Воспроизводить фильм в полноэкранном режиме</translation>
+ <translation>Воспроизведение фильма в режиме отображения на весь экран</translation>
</message>
<message>
<location line="+2"/>
<source>Seek quickly back</source>
<comment>Media controller element</comment>
- <translation type="unfinished">Быстрая перемотка назад</translation>
+ <translation>Быстрая перемотка назад</translation>
</message>
<message>
<location line="+2"/>
<source>Seek quickly forward</source>
<comment>Media controller element</comment>
- <translation type="unfinished">Быстрая перемотка вперёд</translation>
+ <translation>Быстрая перемотка вперёд</translation>
</message>
<message>
<location line="+9"/>
<source>Indefinite time</source>
<comment>Media time description</comment>
- <translation type="unfinished">Время не определено</translation>
+ <translation>Время не определено</translation>
</message>
<message>
<location line="+9"/>
@@ -7672,112 +9433,6 @@ Please choose a different file name.</source>
<comment>Media time description</comment>
<translation>%1 секунд</translation>
</message>
- <message>
- <location line="-210"/>
- <source>Inspect</source>
- <comment>Inspect Element context menu item</comment>
- <translation>Проверить</translation>
- </message>
- <message>
- <location line="+5"/>
- <source>No recent searches</source>
- <comment>Label for only item in menu that appears when clicking on the search field image, when no searches have been performed</comment>
- <translation>История поиска пуста</translation>
- </message>
- <message>
- <location line="+5"/>
- <source>Recent searches</source>
- <comment>label for first item in the menu that appears when clicking on the search field image, used as embedded menu title</comment>
- <translation>История поиска</translation>
- </message>
- <message>
- <location line="+5"/>
- <source>Clear recent searches</source>
- <comment>menu item in Recent Searches menu that empties menu&apos;s contents</comment>
- <translation>Очистить историю поиска</translation>
- </message>
- <message>
- <location line="+75"/>
- <source>Unknown</source>
- <comment>Unknown filesize FTP directory listing item</comment>
- <translation>Неизвестно</translation>
- </message>
- <message>
- <location line="+5"/>
- <source>%1 (%2x%3 pixels)</source>
- <comment>Title string for images</comment>
- <translation>%1 (%2x%3 px)</translation>
- </message>
- <message>
- <location filename="../src/3rdparty/webkit/WebKit/qt/WebCoreSupport/InspectorClientQt.cpp" line="+167"/>
- <source>Web Inspector - %2</source>
- <translation>Web-инспектор - %2</translation>
- </message>
- <message>
- <location filename="../src/3rdparty/webkit/WebCore/platform/qt/ScrollbarQt.cpp" line="+58"/>
- <source>Scroll here</source>
- <translation>Прокрутить сюда</translation>
- </message>
- <message>
- <location line="+3"/>
- <source>Left edge</source>
- <translation>К левой границе</translation>
- </message>
- <message>
- <location line="+0"/>
- <source>Top</source>
- <translation>Вверх</translation>
- </message>
- <message>
- <location line="+1"/>
- <source>Right edge</source>
- <translation>К правой границе</translation>
- </message>
- <message>
- <location line="+0"/>
- <source>Bottom</source>
- <translation>Вниз</translation>
- </message>
- <message>
- <location line="+3"/>
- <source>Page left</source>
- <translation>На страницу влево</translation>
- </message>
- <message>
- <location line="+0"/>
- <source>Page up</source>
- <translation>На страницу вверх</translation>
- </message>
- <message>
- <location line="+1"/>
- <source>Page right</source>
- <translation>На страницу вправо</translation>
- </message>
- <message>
- <location line="+0"/>
- <source>Page down</source>
- <translation>На страницу вниз</translation>
- </message>
- <message>
- <location line="+3"/>
- <source>Scroll left</source>
- <translation>Прокрутить влево</translation>
- </message>
- <message>
- <location line="+0"/>
- <source>Scroll up</source>
- <translation>Прокрутить вверх</translation>
- </message>
- <message>
- <location line="+1"/>
- <source>Scroll right</source>
- <translation>Прокрутить вправо</translation>
- </message>
- <message>
- <location line="+0"/>
- <source>Scroll down</source>
- <translation>Прокрутить вниз</translation>
- </message>
<message numerus="yes">
<location filename="../src/3rdparty/webkit/WebCore/platform/qt/FileChooserQt.cpp" line="+45"/>
<source>%n file(s)</source>
@@ -7788,241 +9443,6 @@ Please choose a different file name.</source>
<numerusform>%n файлов</numerusform>
</translation>
</message>
- <message>
- <location filename="../src/3rdparty/webkit/WebKit/qt/Api/qwebpage.cpp" line="+1833"/>
- <source>JavaScript Alert - %1</source>
- <translation>JavaScript: Предупреждение - %1</translation>
- </message>
- <message>
- <location line="+16"/>
- <source>JavaScript Confirm - %1</source>
- <translation>JavaScript: Подтверждение - %1</translation>
- </message>
- <message>
- <location line="+19"/>
- <source>JavaScript Prompt - %1</source>
- <translation>JavaScript: Запрос - %1</translation>
- </message>
- <message>
- <location line="+25"/>
- <source>JavaScript Problem - %1</source>
- <translation>JavaScript: Проблема - %1</translation>
- </message>
- <message>
- <location line="+0"/>
- <source>The script on this page appears to have a problem. Do you want to stop the script?</source>
- <translation>Сбой выполнения сценария на данной странице. Желаете остановить выполение сценария?</translation>
- </message>
- <message>
- <location line="+381"/>
- <source>Move the cursor to the next character</source>
- <translation>Переместить указатель к следующему символу</translation>
- </message>
- <message>
- <location line="+3"/>
- <source>Move the cursor to the previous character</source>
- <translation>Переместить указатель к предыдущему символу</translation>
- </message>
- <message>
- <location line="+3"/>
- <source>Move the cursor to the next word</source>
- <translation>Переместить указатель к следующему слову</translation>
- </message>
- <message>
- <location line="+3"/>
- <source>Move the cursor to the previous word</source>
- <translation>Переместить указатель к предыдущему слову</translation>
- </message>
- <message>
- <location line="+3"/>
- <source>Move the cursor to the next line</source>
- <translation>Переместить указатель на следующую строку</translation>
- </message>
- <message>
- <location line="+3"/>
- <source>Move the cursor to the previous line</source>
- <translation>Переместить указатель на предыдущую строку</translation>
- </message>
- <message>
- <location line="+3"/>
- <source>Move the cursor to the start of the line</source>
- <translation>Переместить указатель в начало строки</translation>
- </message>
- <message>
- <location line="+3"/>
- <source>Move the cursor to the end of the line</source>
- <translation>Переместить указатель в конец строки</translation>
- </message>
- <message>
- <location line="+3"/>
- <source>Move the cursor to the start of the block</source>
- <translation>Переместить указатель в начало блока</translation>
- </message>
- <message>
- <location line="+3"/>
- <source>Move the cursor to the end of the block</source>
- <translation>Переместить указатель в конец блока</translation>
- </message>
- <message>
- <location line="+3"/>
- <source>Move the cursor to the start of the document</source>
- <translation>Переместить указатель в начало документа</translation>
- </message>
- <message>
- <location line="+3"/>
- <source>Move the cursor to the end of the document</source>
- <translation>Переместить указатель в конец документа</translation>
- </message>
- <message>
- <location line="+3"/>
- <source>Select all</source>
- <translation>Выделить всё</translation>
- </message>
- <message>
- <location line="+3"/>
- <source>Select to the next character</source>
- <translation>Выделить до следующего символа</translation>
- </message>
- <message>
- <location line="+3"/>
- <source>Select to the previous character</source>
- <translation>Выделить до предыдущего символа</translation>
- </message>
- <message>
- <location line="+3"/>
- <source>Select to the next word</source>
- <translation>Выделить до следующего слова</translation>
- </message>
- <message>
- <location line="+3"/>
- <source>Select to the previous word</source>
- <translation>Выделить до предыдущего слова</translation>
- </message>
- <message>
- <location line="+3"/>
- <source>Select to the next line</source>
- <translation>Выделить до следующей строки</translation>
- </message>
- <message>
- <location line="+3"/>
- <source>Select to the previous line</source>
- <translation>Выделить до предыдущей строки</translation>
- </message>
- <message>
- <location line="+3"/>
- <source>Select to the start of the line</source>
- <translation>Выделить до начала строки</translation>
- </message>
- <message>
- <location line="+3"/>
- <source>Select to the end of the line</source>
- <translation>Выделить до конца строки</translation>
- </message>
- <message>
- <location line="+3"/>
- <source>Select to the start of the block</source>
- <translation>Выделить до начала блока</translation>
- </message>
- <message>
- <location line="+3"/>
- <source>Select to the end of the block</source>
- <translation>Выделить до конца блока</translation>
- </message>
- <message>
- <location line="+3"/>
- <source>Select to the start of the document</source>
- <translation>Выделить до начала документа</translation>
- </message>
- <message>
- <location line="+3"/>
- <source>Select to the end of the document</source>
- <translation>Выделить до конца документа</translation>
- </message>
- <message>
- <location line="+3"/>
- <source>Delete to the start of the word</source>
- <translation>Удалить до начала слова</translation>
- </message>
- <message>
- <location line="+3"/>
- <source>Delete to the end of the word</source>
- <translation>Удалить до конца слова</translation>
- </message>
- <message>
- <location line="+33"/>
- <source>Insert a new paragraph</source>
- <translation>Вставить новый параграф</translation>
- </message>
- <message>
- <location line="+3"/>
- <source>Insert a new line</source>
- <translation>Вставить новую строку</translation>
- </message>
- <message>
- <location line="+4"/>
- <source>Paste and Match Style</source>
- <translation>Вставить, сохранив стиль</translation>
- </message>
- <message>
- <location line="+3"/>
- <source>Remove formatting</source>
- <translation>Удалить форматирование</translation>
- </message>
- <message>
- <location line="+4"/>
- <source>Strikethrough</source>
- <translation>Зачёркнутый</translation>
- </message>
- <message>
- <location line="+4"/>
- <source>Subscript</source>
- <translation>Подстрочный</translation>
- </message>
- <message>
- <location line="+4"/>
- <source>Superscript</source>
- <translation>Надстрочный</translation>
- </message>
- <message>
- <location line="+4"/>
- <source>Insert Bulleted List</source>
- <translation>Вставить маркированный список</translation>
- </message>
- <message>
- <location line="+4"/>
- <source>Insert Numbered List</source>
- <translation>Вставить нумерованный список</translation>
- </message>
- <message>
- <location line="+4"/>
- <source>Indent</source>
- <translation>Увеличить отступ</translation>
- </message>
- <message>
- <location line="+3"/>
- <source>Outdent</source>
- <translation>Уменьшить отступ</translation>
- </message>
- <message>
- <location line="+3"/>
- <source>Center</source>
- <translation>По центру</translation>
- </message>
- <message>
- <location line="+3"/>
- <source>Justify</source>
- <translation>По ширине</translation>
- </message>
- <message>
- <location line="+3"/>
- <source>Align Left</source>
- <translation>По левому краю</translation>
- </message>
- <message>
- <location line="+3"/>
- <source>Align Right</source>
- <translation>По правому краю</translation>
- </message>
</context>
<context>
<name>QWhatsThisAction</name>
@@ -8035,7 +9455,7 @@ Please choose a different file name.</source>
<context>
<name>QWidget</name>
<message>
- <location filename="../src/gui/kernel/qwidget.cpp" line="+5757"/>
+ <location filename="../src/gui/kernel/qwidget.cpp" line="+5802"/>
<source>*</source>
<translation>*</translation>
</message>
@@ -8043,27 +9463,12 @@ Please choose a different file name.</source>
<context>
<name>QWizard</name>
<message>
- <location filename="../src/gui/dialogs/qwizard.cpp" line="+649"/>
- <source>Go Back</source>
- <translation>Назад</translation>
- </message>
- <message>
- <location line="+3"/>
- <source>Continue</source>
- <translation>Продолжить</translation>
- </message>
- <message>
- <location line="+5"/>
- <source>Commit</source>
- <translation>Передать</translation>
+ <location filename="../src/gui/dialogs/qwizard.cpp" line="+701"/>
+ <source>Cancel</source>
+ <translation>Отмена</translation>
</message>
<message>
<location line="+2"/>
- <source>Done</source>
- <translation>Готово</translation>
- </message>
- <message>
- <location line="+4"/>
<source>Help</source>
<translation>Справка</translation>
</message>
@@ -8078,17 +9483,32 @@ Please choose a different file name.</source>
<translation>&amp;Завершить</translation>
</message>
<message>
- <location line="+2"/>
- <source>Cancel</source>
- <translation>Отмена</translation>
+ <location line="+4"/>
+ <source>&amp;Help</source>
+ <translation>&amp;Справка</translation>
+ </message>
+ <message>
+ <location line="-14"/>
+ <source>Go Back</source>
+ <translation>Назад</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>Continue</source>
+ <translation>Продолжить</translation>
+ </message>
+ <message>
+ <location line="+5"/>
+ <source>Commit</source>
+ <translation>Передать</translation>
</message>
<message>
<location line="+2"/>
- <source>&amp;Help</source>
- <translation>&amp;Справка</translation>
+ <source>Done</source>
+ <translation>Готово</translation>
</message>
<message>
- <location line="-8"/>
+ <location line="-4"/>
<source>&amp;Next</source>
<translation>&amp;Далее</translation>
</message>
@@ -8136,19 +9556,7 @@ Please choose a different file name.</source>
<translation>Оставаться &amp;сверху</translation>
</message>
<message>
- <location line="+3"/>
- <location line="+1059"/>
- <source>Sh&amp;ade</source>
- <translation>Св&amp;ернуть в заголовок</translation>
- </message>
- <message>
- <location line="-278"/>
- <location line="+60"/>
- <source>%1 - [%2]</source>
- <translation>%1 - [%2]</translation>
- </message>
- <message>
- <location line="-1832"/>
+ <location line="-988"/>
<source>Minimize</source>
<translation>Свернуть</translation>
</message>
@@ -8163,7 +9571,19 @@ Please choose a different file name.</source>
<translation>Закрыть</translation>
</message>
<message>
- <location line="+2048"/>
+ <location line="+993"/>
+ <location line="+1059"/>
+ <source>Sh&amp;ade</source>
+ <translation>Св&amp;ернуть в заголовок</translation>
+ </message>
+ <message>
+ <location line="-278"/>
+ <location line="+60"/>
+ <source>%1 - [%2]</source>
+ <translation>%1 - [%2]</translation>
+ </message>
+ <message>
+ <location line="+214"/>
<source>&amp;Unshade</source>
<translation>В&amp;осстановить из заголовка</translation>
</message>
@@ -8226,17 +9646,7 @@ Please choose a different file name.</source>
<translation>некорректное значение параметра standalone</translation>
</message>
<message>
- <location line="+1"/>
- <source>encoding declaration or standalone declaration expected while reading the XML declaration</source>
- <translation>в объявлении XML ожидаются параметры encoding или standalone</translation>
- </message>
- <message>
- <location line="+1"/>
- <source>standalone declaration expected while reading the XML declaration</source>
- <translation>в объявлении XML ожидается параметр standalone</translation>
- </message>
- <message>
- <location line="+1"/>
+ <location line="+3"/>
<source>error occurred while parsing document type definition</source>
<translation>ошибка разбора объявления типа документа</translation>
</message>
@@ -8273,7 +9683,7 @@ Please choose a different file name.</source>
<message>
<location line="+1"/>
<source>unparsed entity reference in wrong context</source>
- <translation>неразобранная ссылка на объект в неверном контексте</translation>
+ <translation>неразобранная ссылка на объект в неправильном контексте</translation>
</message>
<message>
<location line="+1"/>
@@ -8285,6 +9695,16 @@ Please choose a different file name.</source>
<source>error in the text declaration of an external entity</source>
<translation>ошибка в объявлении внешнего объекта</translation>
</message>
+ <message>
+ <location line="-11"/>
+ <source>encoding declaration or standalone declaration expected while reading the XML declaration</source>
+ <translation>в объявлении XML ожидаются параметры encoding или standalone</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>standalone declaration expected while reading the XML declaration</source>
+ <translation>в объявлении XML ожидается параметр standalone</translation>
+ </message>
</context>
<context>
<name>QXmlPatternistCLI</name>
@@ -8335,12 +9755,12 @@ Please choose a different file name.</source>
<message>
<location line="+259"/>
<source>Sequence &apos;]]&gt;&apos; not allowed in content.</source>
- <translation>Последовательность &apos;]]&gt;&apos; недопустима в содержимом.</translation>
+ <translation>Последовательность &quot;]]&gt;&quot; недопустима в содержимом.</translation>
</message>
<message>
<location line="+309"/>
<source>Namespace prefix &apos;%1&apos; not declared</source>
- <translation>Префикс пространства имён &apos;%1&apos; не объявлен</translation>
+ <translation>Префикс пространства имён &quot;%1&quot; не объявлен</translation>
</message>
<message>
<location line="+78"/>
@@ -8350,12 +9770,12 @@ Please choose a different file name.</source>
<message>
<location line="+115"/>
<source>Unexpected character &apos;%1&apos; in public id literal.</source>
- <translation>Неожиданный символ &apos;%1&apos; в литерале открытого идентификатора.</translation>
+ <translation>Неожиданный символ &quot;%1&quot; в литерале открытого идентификатора.</translation>
</message>
<message>
<location line="+28"/>
<source>Invalid XML version string.</source>
- <translation>Неверная строка версии XML.</translation>
+ <translation>Некорректная строка версии XML.</translation>
</message>
<message>
<location line="+2"/>
@@ -8365,7 +9785,7 @@ Please choose a different file name.</source>
<message>
<location line="+23"/>
<source>%1 is an invalid encoding name.</source>
- <translation>%1 - неверное название кодировки.</translation>
+ <translation>%1 - не является корректным названием кодировки.</translation>
</message>
<message>
<location line="+7"/>
@@ -8375,7 +9795,7 @@ Please choose a different file name.</source>
<message>
<location line="+16"/>
<source>Standalone accepts only yes or no.</source>
- <translation>Псевдоатрибут &apos;standalone&apos; может принимать только значения &apos;yes&apos; или &apos;no&apos;.</translation>
+ <translation>Псевдоатрибут &quot;standalone&quot; может принимать только значения &quot;yes&quot; или &quot;no&quot;.</translation>
</message>
<message>
<location line="+2"/>
@@ -8435,12 +9855,12 @@ Please choose a different file name.</source>
<message>
<location line="+34"/>
<source>%1 is an invalid processing instruction name.</source>
- <translation>%1 неверное название обрабатываемой инструкции.</translation>
+ <translation>%1 не является корректным названием обрабатываемой инструкции.</translation>
</message>
<message>
<location line="+11"/>
<source>Invalid processing instruction name.</source>
- <translation>Неверное название обрабатываемой инструкции.</translation>
+ <translation>Некорректное название обрабатываемой инструкции.</translation>
</message>
<message>
<location filename="../src/corelib/xml/qxmlstream.cpp" line="-536"/>
@@ -8448,7 +9868,7 @@ Please choose a different file name.</source>
<location filename="../src/corelib/xml/qxmlstream_p.h" line="+164"/>
<location line="+53"/>
<source>Illegal namespace declaration.</source>
- <translation>Неверное объявление пространства имён.</translation>
+ <translation>Некорректное объявление пространства имён.</translation>
</message>
<message>
<location filename="../src/corelib/xml/qxmlstream_p.h" line="+15"/>
@@ -8463,45 +9883,284 @@ Please choose a different file name.</source>
<message>
<location line="+18"/>
<source>Reference to unparsed entity &apos;%1&apos;.</source>
- <translation>Ссылка на необработанный объект &apos;%1&apos;.</translation>
+ <translation>Ссылка на необработанный объект &quot;%1&quot;.</translation>
</message>
<message>
<location line="-13"/>
<location line="+61"/>
<location line="+40"/>
<source>Entity &apos;%1&apos; not declared.</source>
- <translation>Объект &apos;%1&apos; не объявлен.</translation>
+ <translation>Объект &quot;%1&quot; не объявлен.</translation>
</message>
<message>
<location line="-26"/>
<source>Reference to external entity &apos;%1&apos; in attribute value.</source>
- <translation>Ссылка на внешний объект &apos;%1&apos; в значении атрибута.</translation>
+ <translation>Ссылка на внешний объект &quot;%1&quot; в значении атрибута.</translation>
</message>
<message>
<location line="+40"/>
<source>Invalid character reference.</source>
- <translation>Неверная символьная ссылка.</translation>
+ <translation>Некорректная символьная ссылка.</translation>
</message>
<message>
<location filename="../src/corelib/xml/qxmlstream.cpp" line="-75"/>
<location filename="../src/corelib/xml/qxmlstream_p.h" line="-823"/>
<source>Encountered incorrectly encoded content.</source>
- <translation>Обнаружено неверно закодированное содержимое.</translation>
+ <translation>Обнаружено некорректно закодированное содержимое.</translation>
</message>
<message>
<location line="+274"/>
<source>The standalone pseudo attribute must appear after the encoding.</source>
- <translation>Псевдоатрибут &apos;standalone&apos; должен находиться после указания кодировки.</translation>
+ <translation>Псевдоатрибут &quot;standalone&quot; должен находиться после указания кодировки.</translation>
</message>
<message>
<location filename="../src/corelib/xml/qxmlstream_p.h" line="+562"/>
<source>%1 is an invalid PUBLIC identifier.</source>
- <translation>%1 - неверный идентификатор PUBLIC.</translation>
+ <translation>%1 - некорректный идентификатор PUBLIC.</translation>
</message>
</context>
<context>
<name>QtXmlPatterns</name>
<message>
+ <location filename="../src/xmlpatterns/data/qabstractduration.cpp" line="+99"/>
+ <location line="+15"/>
+ <source>At least one component must be present.</source>
+ <translation>Должна присутствовать как минимум одна компонента.</translation>
+ </message>
+ <message>
+ <location filename="../src/xmlpatterns/data/qanyuri_p.h" line="+132"/>
+ <source>%1 is not a valid value of type %2.</source>
+ <translation>%1 не является правильным значением типа %2.</translation>
+ </message>
+ <message>
+ <location filename="../src/xmlpatterns/data/qatomiccasters_p.h" line="+223"/>
+ <source>When casting to %1 from %2, the source value cannot be %3.</source>
+ <translation>При преобразовании %2 в %1 исходное значение не может быть %3.</translation>
+ </message>
+ <message>
+ <location filename="../src/xmlpatterns/data/qboolean.cpp" line="+78"/>
+ <source>Effective Boolean Value cannot be calculated for a sequence containing two or more atomic values.</source>
+ <translation>Булево значение не может быть вычислено для последовательностей, которые содержат два и более атомарных значения.</translation>
+ </message>
+ <message>
+ <location filename="../src/xmlpatterns/expr/qprocessinginstructionconstructor.cpp" line="+84"/>
+ <source>The data of a processing instruction cannot contain the string %1</source>
+ <translation>Данные обрабатываемой инструкции не могут содержать строку &quot;%1&quot;</translation>
+ </message>
+ <message>
+ <location filename="../src/xmlpatterns/expr/qqnameconstructor_p.h" line="+168"/>
+ <location filename="../src/xmlpatterns/functions/qqnamefns.cpp" line="+69"/>
+ <source>%1 is an invalid %2</source>
+ <translation>%1 некоррекно для %2</translation>
+ </message>
+ <message>
+ <location filename="../src/xmlpatterns/functions/qassemblestringfns.cpp" line="+88"/>
+ <source>%1 is not a valid XML 1.0 character.</source>
+ <translation>Символ %1 недопустим для XML 1.0.</translation>
+ </message>
+ <message>
+ <location filename="../src/xmlpatterns/functions/qerrorfn.cpp" line="+61"/>
+ <source>%1 was called.</source>
+ <translation>%1 было вызвано.</translation>
+ </message>
+ <message>
+ <location filename="../src/xmlpatterns/functions/qpatternmatchingfns.cpp" line="+133"/>
+ <source>In the replacement string, %1 must be followed by at least one digit when not escaped.</source>
+ <translation>В замещаемой строке &quot;%1&quot; должно сопровождаться как минимум одной цифрой, если неэкранировано.</translation>
+ </message>
+ <message>
+ <location line="+26"/>
+ <source>In the replacement string, %1 can only be used to escape itself or %2, not %3</source>
+ <translation>В замещаемой строке символ &quot;%1&quot; может использоваться только для экранирования самого себя или &quot;%2&quot;, но не &quot;%3&quot;</translation>
+ </message>
+ <message>
+ <location filename="../src/xmlpatterns/functions/qpatternplatform.cpp" line="+92"/>
+ <source>%1 matches newline characters</source>
+ <translation>%1 соответствует символам конца строки</translation>
+ </message>
+ <message>
+ <location line="+10"/>
+ <source>Matches are case insensitive</source>
+ <translation>Соответствия регистронезависимы</translation>
+ </message>
+ <message>
+ <location line="+104"/>
+ <source>%1 is an invalid regular expression pattern: %2</source>
+ <translation>%1 - некорректный шаблон регулярного выражения: %2</translation>
+ </message>
+ <message>
+ <location filename="../src/xmlpatterns/functions/qsequencefns.cpp" line="+346"/>
+ <source>It will not be possible to retrieve %1.</source>
+ <translation>Будет невозможно восстановить %1.</translation>
+ </message>
+ <message>
+ <location filename="../src/xmlpatterns/functions/qsequencegeneratingfns.cpp" line="+266"/>
+ <source>The default collection is undefined</source>
+ <translation>Набор по умолчанию не определён</translation>
+ </message>
+ <message>
+ <location line="+13"/>
+ <source>%1 cannot be retrieved</source>
+ <translation>%1 не может быть восстановлен</translation>
+ </message>
+ <message>
+ <location filename="../src/xmlpatterns/janitors/qitemverifier.cpp" line="+67"/>
+ <source>The item %1 did not match the required type %2.</source>
+ <translation>Элемент %1 не соответствует необходимому типу %2.</translation>
+ </message>
+ <message>
+ <location filename="../src/xmlpatterns/parser/qquerytransformparser.cpp" line="+352"/>
+ <location line="+7323"/>
+ <source>%1 is an unknown schema type.</source>
+ <translation>%1 является схемой неизвестного типа.</translation>
+ </message>
+ <message>
+ <location line="-7254"/>
+ <source>A template with name %1 has already been declared.</source>
+ <translation>Шаблон с именем %1 уже был объявлен.</translation>
+ </message>
+ <message>
+ <location line="+213"/>
+ <source>Only one %1 declaration can occur in the query prolog.</source>
+ <translation>Только одно объявление %1 может присутствовать в прологе запроса.</translation>
+ </message>
+ <message>
+ <location line="+188"/>
+ <source>The initialization of variable %1 depends on itself</source>
+ <translation>Инициализация переменной %1 зависит от себя самой</translation>
+ </message>
+ <message>
+ <location filename="../src/xmlpatterns/parser/qparsercontext.cpp" line="+93"/>
+ <source>The variable %1 is unused</source>
+ <translation>Переменная %1 не используется</translation>
+ </message>
+ <message>
+ <location filename="../src/xmlpatterns/parser/qquerytransformparser.cpp" line="+2904"/>
+ <source>Version %1 is not supported. The supported XQuery version is 1.0.</source>
+ <translation>Версия %1 не поддерживается. Поддерживается XQuery версии 1.0.</translation>
+ </message>
+ <message>
+ <location line="+71"/>
+ <source>No function with signature %1 is available</source>
+ <translation>Функция с сигнатурой %1 отсутствует</translation>
+ </message>
+ <message>
+ <location line="+303"/>
+ <source>It is not possible to redeclare prefix %1.</source>
+ <translation>Невозможно переопределить префикс %1.</translation>
+ </message>
+ <message>
+ <location line="+18"/>
+ <source>Prefix %1 is already declared in the prolog.</source>
+ <translation>Префикс %1 уже объявлен в прологе.</translation>
+ </message>
+ <message>
+ <location line="+95"/>
+ <source>The name of an option must have a prefix. There is no default namespace for options.</source>
+ <translation>Название опции должно содержать префикс. Нет пространства имён по умолчанию для опций.</translation>
+ </message>
+ <message>
+ <location line="+171"/>
+ <source>The Schema Import feature is not supported, and therefore %1 declarations cannot occur.</source>
+ <translation>Возможность импорта схем не поддерживается, следовательно, объявлений %1 быть не должно.</translation>
+ </message>
+ <message>
+ <location line="+13"/>
+ <source>The target namespace of a %1 cannot be empty.</source>
+ <translation>Целевое пространство имён %1 не может быть пустым.</translation>
+ </message>
+ <message>
+ <location line="+8"/>
+ <source>The module import feature is not supported</source>
+ <translation>Возможность импорта модулей не поддерживается</translation>
+ </message>
+ <message>
+ <location line="+178"/>
+ <source>The namespace of a user defined function in a library module must be equivalent to the module namespace. In other words, it should be %1 instead of %2</source>
+ <translation>Пространство имён пользовательской функции в модуле библиотеки должен соответствовать пространству имён модуля. Другими словами, он должен быть %1 вместо %2</translation>
+ </message>
+ <message>
+ <location line="+34"/>
+ <source>A function already exists with the signature %1.</source>
+ <translation>Функция с сигнатурой %1 уже существует.</translation>
+ </message>
+ <message>
+ <location line="+23"/>
+ <source>No external functions are supported. All supported functions can be used directly, without first declaring them as external</source>
+ <translation>Внешние функции не поддерживаются. Все поддерживаемые функции могут использоваться напрямую без первоначального объявления их в качестве внешних</translation>
+ </message>
+ <message>
+ <location line="+1709"/>
+ <source>The %1-axis is unsupported in XQuery</source>
+ <translation>Ось %1 не поддерживается в XQuery</translation>
+ </message>
+ <message>
+ <location line="+435"/>
+ <source>The namespace URI cannot be the empty string when binding to a prefix, %1.</source>
+ <translation>URI пространства имён не может быть пустой строкой при связывании с префиксом %1.</translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>%1 is an invalid namespace URI.</source>
+ <translation>%1 - некорректный URI пространства имён.</translation>
+ </message>
+ <message>
+ <location line="+6"/>
+ <source>It is not possible to bind to the prefix %1</source>
+ <translation>Невозможно связать с префиксом %1</translation>
+ </message>
+ <message>
+ <location line="+30"/>
+ <source>Two namespace declaration attributes have the same name: %1.</source>
+ <translation>Два атрибута объявления пространств имён имеют одинаковое имя: %1.</translation>
+ </message>
+ <message>
+ <location line="+89"/>
+ <source>The namespace URI must be a constant and cannot use enclosed expressions.</source>
+ <translation>URI пространства имён должен быть константой и не может содержать выражений.</translation>
+ </message>
+ <message>
+ <location line="+699"/>
+ <location line="+71"/>
+ <source>%1 is not in the in-scope attribute declarations. Note that the schema import feature is not supported.</source>
+ <translation>%1 является объявлением атрибута вне области объявлений. Имейте в виду, возможность импорта схем не поддерживается.</translation>
+ </message>
+ <message>
+ <location filename="../src/xmlpatterns/type/qcardinality.cpp" line="+55"/>
+ <source>empty</source>
+ <translation>пусто</translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>zero or one</source>
+ <translation>нуль или один</translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>exactly one</source>
+ <translation>ровно один</translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>one or more</source>
+ <translation>один или более</translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>zero or more</source>
+ <translation>нуль или более</translation>
+ </message>
+ <message>
+ <location filename="../src/xmlpatterns/type/qtypechecker.cpp" line="+156"/>
+ <source>The focus is undefined.</source>
+ <translation>Фокус не определён.</translation>
+ </message>
+ <message>
+ <location filename="../src/xmlpatterns/utils/qoutputvalidator.cpp" line="+93"/>
+ <source>An attribute by name %1 has already been created.</source>
+ <translation>Атрибут с именем %1 уже существует.</translation>
+ </message>
+ <message>
<location filename="../src/xmlpatterns/api/qiodevicedelegate.cpp" line="+84"/>
<source>Network timeout.</source>
<translation>Время ожидания сети истекло.</translation>
@@ -8509,7 +10168,7 @@ Please choose a different file name.</source>
<message>
<location filename="../src/xmlpatterns/api/qxmlserializer.cpp" line="+320"/>
<source>Element %1 can&apos;t be serialized because it appears outside the document element.</source>
- <translation>Элемент %1 не может быть сериализован, так как присутствует вне документа.</translation>
+ <translation>Элемент %1 не может быть сериализован, так как расположен вне документа.</translation>
</message>
<message>
<location filename="../src/xmlpatterns/data/qabstractdatetime.cpp" line="+80"/>
@@ -8539,12 +10198,12 @@ Please choose a different file name.</source>
<message>
<location line="+49"/>
<source>Time 24:%1:%2.%3 is invalid. Hour is 24, but minutes, seconds, and milliseconds are not all 0; </source>
- <translation>Время 24:%1:%2.%3 неверно. 24 часа, но минуты, секунды и/или миллисекунды отличны от 0; </translation>
+ <translation>Время 24:%1:%2.%3 некорректно. 24 часа, но минуты, секунды и/или миллисекунды отличны от 0; </translation>
</message>
<message>
<location line="+13"/>
<source>Time %1:%2:%3.%4 is invalid.</source>
- <translation>Время %1:%2:%3.%4 неверно.</translation>
+ <translation>Время %1:%2:%3.%4 некорректно.</translation>
</message>
<message>
<location line="+115"/>
@@ -8552,43 +10211,12 @@ Please choose a different file name.</source>
<translation>Переполнение: невозможно представить дату.</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/data/qabstractduration.cpp" line="+99"/>
- <location line="+15"/>
- <source>At least one component must be present.</source>
- <translation>Должна присутствовать как минимум одна компонента.</translation>
- </message>
- <message>
- <location line="-7"/>
+ <location filename="../src/xmlpatterns/data/qabstractduration.cpp" line="-7"/>
<source>At least one time component must appear after the %1-delimiter.</source>
<translation>Как минимум одна компонента времени должна следовать за разделителем &apos;%1&apos;.</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/data/qanyuri_p.h" line="+132"/>
- <source>%1 is not a valid value of type %2.</source>
- <translation>%1 не является правильным значением типа %2.</translation>
- </message>
- <message>
- <location filename="../src/xmlpatterns/data/qatomiccasters_p.h" line="+223"/>
- <source>When casting to %1 from %2, the source value cannot be %3.</source>
- <translation>При преобразовании %2 в %1 исходное значение не может быть %3.</translation>
- </message>
- <message>
- <location filename="../src/xmlpatterns/data/qatomicmathematicians.cpp" line="+65"/>
- <source>Integer division (%1) by zero (%2) is undefined.</source>
- <translation>Целочисленное деление (%1) на нуль (%2) не определено.</translation>
- </message>
- <message>
- <location line="+7"/>
- <source>Division (%1) by zero (%2) is undefined.</source>
- <translation>Деление (%1) на нуль (%2) не определено.</translation>
- </message>
- <message>
- <location line="+7"/>
- <source>Modulus division (%1) by zero (%2) is undefined.</source>
- <translation>Деление по модулю (%1) на нуль (%2) не определено.</translation>
- </message>
- <message>
- <location line="+122"/>
+ <location filename="../src/xmlpatterns/data/qatomicmathematicians.cpp" line="+201"/>
<location line="+32"/>
<source>Dividing a value of type %1 by %2 (not-a-number) is not allowed.</source>
<translation>Деление числа типа %1 на %2 (не числовое выражение) недопустимо.</translation>
@@ -8609,11 +10237,6 @@ Please choose a different file name.</source>
<translation>Значение типа %1 не может быть булевым значением.</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/data/qboolean.cpp" line="+78"/>
- <source>Effective Boolean Value cannot be calculated for a sequence containing two or more atomic values.</source>
- <translation>Булево значение не может быть вычислено для последовательностей, которые содержат два и более атомарных значения.</translation>
- </message>
- <message>
<location filename="../src/xmlpatterns/data/qderivedinteger_p.h" line="+402"/>
<source>Value %1 of type %2 exceeds maximum (%3).</source>
<translation>Значение %1 типа %2 больше максимума (%3).</translation>
@@ -8714,45 +10337,16 @@ Please choose a different file name.</source>
<translation>Последняя часть пути должна содержать узлы или атомарные значения, но не может содержать и то, и другое одновременно.</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/expr/qprocessinginstructionconstructor.cpp" line="+84"/>
- <source>The data of a processing instruction cannot contain the string %1</source>
- <translation>Данные обрабатываемой инструкции не могут содержать строку &apos;%1&apos;</translation>
- </message>
- <message>
<location filename="../src/xmlpatterns/expr/qqnameconstructor.cpp" line="+82"/>
<source>No namespace binding exists for the prefix %1</source>
<translation>Отсутствует привязка к пространству имён для префикса %1</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/expr/qqnameconstructor_p.h" line="+156"/>
+ <location filename="../src/xmlpatterns/expr/qqnameconstructor_p.h" line="-12"/>
<source>No namespace binding exists for the prefix %1 in %2</source>
<translation>Отсутствует привязка к пространству имён для префикса %1 в %2</translation>
</message>
<message>
- <location line="+12"/>
- <location filename="../src/xmlpatterns/functions/qqnamefns.cpp" line="+69"/>
- <source>%1 is an invalid %2</source>
- <translation>%1 некоррекно для %2</translation>
- </message>
- <message numerus="yes">
- <location filename="../src/xmlpatterns/functions/qabstractfunctionfactory.cpp" line="+77"/>
- <source>%1 takes at most %n argument(s). %2 is therefore invalid.</source>
- <translation>
- <numerusform>%1 принимает не более %n аргумента. Следовательно, %2 неверно.</numerusform>
- <numerusform>%1 принимает не более %n аргументов. Следовательно, %2 неверно.</numerusform>
- <numerusform>%1 принимает не более %n аргументов. Следовательно, %2 неверно.</numerusform>
- </translation>
- </message>
- <message numerus="yes">
- <location line="+11"/>
- <source>%1 requires at least %n argument(s). %2 is therefore invalid.</source>
- <translation>
- <numerusform>%1 принимает не менее %n аргумента. Следовательно, %2 неверно.</numerusform>
- <numerusform>%1 принимает не менее %n аргументов. Следовательно, %2 неверно.</numerusform>
- <numerusform>%1 принимает не менее %n аргументов. Следовательно, %2 неверно.</numerusform>
- </translation>
- </message>
- <message>
<location filename="../src/xmlpatterns/functions/qaggregatefns.cpp" line="+120"/>
<source>The first argument to %1 cannot be of type %2. It must be a numeric type, xs:yearMonthDuration or xs:dayTimeDuration.</source>
<translation>Первый аргумент %1 не может быть типа %2. Он должен быть числового типа, типа xs:yearMonthDuration или типа xs:dayTimeDuration.</translation>
@@ -8768,64 +10362,29 @@ Please choose a different file name.</source>
<translation>Второй аргумент %1 не может быть типа %2. Он должен быть типа %3, %4 или %5.</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/functions/qassemblestringfns.cpp" line="+88"/>
- <source>%1 is not a valid XML 1.0 character.</source>
- <translation>Символ %1 недопустим для XML 1.0.</translation>
- </message>
- <message>
<location filename="../src/xmlpatterns/functions/qdatetimefn.cpp" line="+86"/>
<source>If both values have zone offsets, they must have the same zone offset. %1 and %2 are not the same.</source>
<translation>Если оба значения имеют региональные смещения, смещения должны быть одинаковы. %1 и %2 не одинаковы.</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/functions/qerrorfn.cpp" line="+61"/>
- <source>%1 was called.</source>
- <translation>%1 было вызвано.</translation>
- </message>
- <message>
- <location filename="../src/xmlpatterns/functions/qpatternmatchingfns.cpp" line="+94"/>
+ <location filename="../src/xmlpatterns/functions/qpatternmatchingfns.cpp" line="-65"/>
<source>%1 must be followed by %2 or %3, not at the end of the replacement string.</source>
- <translation>&apos;%1&apos; должно сопровождаться &apos;%2&apos; или &apos;%3&apos;, но не в конце замещаемой строки.</translation>
- </message>
- <message>
- <location line="+39"/>
- <source>In the replacement string, %1 must be followed by at least one digit when not escaped.</source>
- <translation>В замещаемой строке &apos;%1&apos; должно сопровождаться как минимум одной цифрой, если неэкранировано.</translation>
- </message>
- <message>
- <location line="+26"/>
- <source>In the replacement string, %1 can only be used to escape itself or %2, not %3</source>
- <translation>В замещаемой строке символ &apos;%1&apos; может использоваться только для экранирования самого себя или &apos;%2&apos;, но не &apos;%3&apos;</translation>
+ <translation>&quot;%1&quot; должно сопровождаться &quot;%2&quot; или &quot;%3&quot;, но не в конце замещаемой строки.</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/functions/qpatternplatform.cpp" line="+92"/>
- <source>%1 matches newline characters</source>
- <translation>%1 соответствует символам конца строки</translation>
- </message>
- <message>
- <location line="+4"/>
+ <location filename="../src/xmlpatterns/functions/qpatternplatform.cpp" line="-110"/>
<source>%1 and %2 match the start and end of a line.</source>
<translation>%1 и %2 соответствуют началу и концу строки.</translation>
</message>
<message>
- <location line="+6"/>
- <source>Matches are case insensitive</source>
- <translation>Соответствия регистронезависимы</translation>
- </message>
- <message>
- <location line="+4"/>
+ <location line="+10"/>
<source>Whitespace characters are removed, except when they appear in character classes</source>
- <translation type="unfinished">Символы пробелов удалены, за исключением тех, что были в классах символов</translation>
- </message>
- <message>
- <location line="+100"/>
- <source>%1 is an invalid regular expression pattern: %2</source>
- <translation>%1 - неверный шаблон регулярного выражения: %2</translation>
+ <translation>Символы пробелов удалены (за исключением тех, что были в символах классов)</translation>
</message>
<message>
- <location line="+30"/>
+ <location line="+130"/>
<source>%1 is an invalid flag for regular expressions. Valid flags are:</source>
- <translation>%1 - неверный флаг для регулярного выражения. Допустимые флаги:</translation>
+ <translation>%1 - некорректный флаг регулярного выражения. Допустимые флаги:</translation>
</message>
<message>
<location filename="../src/xmlpatterns/functions/qqnamefns.cpp" line="+17"/>
@@ -8833,26 +10392,6 @@ Please choose a different file name.</source>
<translation>Префикс не должен быть указан, если первый параметр - пустая последовательность или пустая строка (вне пространства имён). Был указан префикс %1.</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/functions/qsequencefns.cpp" line="+346"/>
- <source>It will not be possible to retrieve %1.</source>
- <translation>Будет невозможно восстановить %1.</translation>
- </message>
- <message>
- <location filename="../src/xmlpatterns/functions/qcontextnodechecker.cpp" line="+54"/>
- <source>The root node of the second argument to function %1 must be a document node. %2 is not a document node.</source>
- <translation>Корневой узел второго аргумента функции %1 должен быть документом. %2 не является документом.</translation>
- </message>
- <message>
- <location filename="../src/xmlpatterns/functions/qsequencegeneratingfns.cpp" line="+266"/>
- <source>The default collection is undefined</source>
- <translation>Набор по умолчанию не определён</translation>
- </message>
- <message>
- <location line="+13"/>
- <source>%1 cannot be retrieved</source>
- <translation>%1 не может быть восстановлен</translation>
- </message>
- <message>
<location filename="../src/xmlpatterns/functions/qstringvaluefns.cpp" line="+252"/>
<source>The normalization form %1 is unsupported. The supported forms are %2, %3, %4, and %5, and none, i.e. the empty string (no normalization).</source>
<translation>Форма нормализации %1 не поддерживается. Поддерживаются только %2, %3, %4, %5 и пустая, т.е. пустая строка (без нормализации).</translation>
@@ -8863,144 +10402,22 @@ Please choose a different file name.</source>
<translation>Региональное смещение должно быть в переделах от %1 до %2 включительно. %3 выходит за допустимые пределы.</translation>
</message>
<message>
- <location line="+12"/>
- <source>%1 is not a whole number of minutes.</source>
- <translation>%1 не является полным количеством минут.</translation>
- </message>
- <message>
<location filename="../src/xmlpatterns/janitors/qcardinalityverifier.cpp" line="+58"/>
<source>Required cardinality is %1; got cardinality %2.</source>
<translation>Необходимо %1 элементов, получено %2.</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/janitors/qitemverifier.cpp" line="+67"/>
- <source>The item %1 did not match the required type %2.</source>
- <translation>Элемент %1 не соответствует необходимому типу %2.</translation>
- </message>
- <message>
- <location filename="../src/xmlpatterns/parser/qquerytransformparser.cpp" line="+352"/>
- <location line="+7323"/>
- <source>%1 is an unknown schema type.</source>
- <translation>%1 является схемой неизвестного типа.</translation>
- </message>
- <message>
- <location line="-7254"/>
- <source>A template with name %1 has already been declared.</source>
- <translation>Шаблон с именем %1 уже был объявлен.</translation>
- </message>
- <message>
- <location line="+213"/>
- <source>Only one %1 declaration can occur in the query prolog.</source>
- <translation>Только одно объявление %1 может присутствовать в прологе запроса.</translation>
- </message>
- <message>
- <location line="+188"/>
- <source>The initialization of variable %1 depends on itself</source>
- <translation>Инициализация переменной %1 зависит от себя самой</translation>
- </message>
- <message>
- <location filename="../src/xmlpatterns/parser/qparsercontext.cpp" line="+93"/>
- <source>The variable %1 is unused</source>
- <translation>Переменная %1 не используется</translation>
- </message>
- <message>
- <location filename="../src/xmlpatterns/parser/qquerytransformparser.cpp" line="+2904"/>
- <source>Version %1 is not supported. The supported XQuery version is 1.0.</source>
- <translation>Версия %1 не поддерживается. Поддерживается XQuery версии 1.0.</translation>
- </message>
- <message>
- <location line="+16"/>
+ <location filename="../src/xmlpatterns/parser/qquerytransformparser.cpp" line="-3944"/>
<source>The encoding %1 is invalid. It must contain Latin characters only, must not contain whitespace, and must match the regular expression %2.</source>
- <translation>Кодировка %1 неверна. Имя кодировки должно содержать только символы латиницы без пробелов и должно удовлетворять регулярному выражению %2.</translation>
- </message>
- <message>
- <location line="+55"/>
- <source>No function with signature %1 is available</source>
- <translation>Функция с сигнатурой %1 отсутствует</translation>
- </message>
- <message>
- <location line="+72"/>
- <location line="+10"/>
- <source>A default namespace declaration must occur before function, variable, and option declarations.</source>
- <translation>Объявление пространство имён по умолчанию должно быть до объявления функций, переменных и опций.</translation>
- </message>
- <message>
- <location line="+10"/>
- <source>Namespace declarations must occur before function, variable, and option declarations.</source>
- <translation>Объявление пространства имён должно быть до объявления функций, переменных и опций.</translation>
- </message>
- <message>
- <location line="+11"/>
- <source>Module imports must occur before function, variable, and option declarations.</source>
- <translation>Импортируемые модули должны быть указаны до объявления функций, переменных и опций.</translation>
- </message>
- <message>
- <location line="+200"/>
- <source>It is not possible to redeclare prefix %1.</source>
- <translation>Невозможно переопределить префикс %1.</translation>
- </message>
- <message>
- <location line="+18"/>
- <source>Prefix %1 is already declared in the prolog.</source>
- <translation>Префикс %1 уже объявлен в прологе.</translation>
- </message>
- <message>
- <location line="+95"/>
- <source>The name of an option must have a prefix. There is no default namespace for options.</source>
- <translation>Название опции должно содержать префикс. Нет пространства имён по умолчанию для опций.</translation>
- </message>
- <message>
- <location line="+171"/>
- <source>The Schema Import feature is not supported, and therefore %1 declarations cannot occur.</source>
- <translation>Возможность импорта схем не поддерживается, следовательно, объявлений %1 быть не должно.</translation>
- </message>
- <message>
- <location line="+13"/>
- <source>The target namespace of a %1 cannot be empty.</source>
- <translation>Целевое пространство имён %1 не может быть пустым.</translation>
+ <translation>Имя кодировки %1 некорректно. Имя кодировки должно содержать только символы латиницы без пробелов и должно удовлетворять регулярному выражению %2.</translation>
</message>
<message>
- <location line="+8"/>
- <source>The module import feature is not supported</source>
- <translation>Возможность импорта модулей не поддерживается</translation>
- </message>
- <message>
- <location line="-403"/>
+ <location line="+260"/>
<source>The keyword %1 cannot occur with any other mode name.</source>
<translation>Ключевое слово %1 не может встречаться с любым другим названием режима.</translation>
</message>
<message>
- <location line="+551"/>
- <source>A stylesheet function must have a prefixed name.</source>
- <translation>Функция стилей должна иметь имя с префиксом.</translation>
- </message>
- <message>
- <location line="+9"/>
- <source>The namespace for a user defined function cannot be empty (try the predefined prefix %1 which exists for cases like this)</source>
- <translation>Пространство имён для пользовательских функций не может быть пустым (попробуйте предопределённый префикс %1, который существует для подобных ситуаций)</translation>
- </message>
- <message>
- <location line="+9"/>
- <source>The namespace %1 is reserved; therefore user defined functions may not use it. Try the predefined prefix %2, which exists for these cases.</source>
- <translation>Пространтсво имён %1 зарезервировано, поэтому пользовательские функции не могут его использовать. Попробуйте предопределённый префикс %2, который существует для подобных ситуаций.</translation>
- </message>
- <message>
- <location line="+12"/>
- <source>The namespace of a user defined function in a library module must be equivalent to the module namespace. In other words, it should be %1 instead of %2</source>
- <translation>Пространство имён пользовательской функции в модуле библиотеки должен соответствовать пространству имён модуля. Другими словами, он должен быть %1 вместо %2</translation>
- </message>
- <message>
- <location line="+34"/>
- <source>A function already exists with the signature %1.</source>
- <translation>Функция с сигнатурой %1 уже существует.</translation>
- </message>
- <message>
- <location line="+23"/>
- <source>No external functions are supported. All supported functions can be used directly, without first declaring them as external</source>
- <translation>Внешние функции не поддерживаются. Все поддерживаемые функции могут использоваться напрямую без первоначального объявления их в качестве внешних</translation>
- </message>
- <message>
- <location line="-3755"/>
+ <location line="-3117"/>
<source>No variable with name %1 exists</source>
<translation>Переменная с именем %1 отсутствует</translation>
</message>
@@ -9025,7 +10442,17 @@ Please choose a different file name.</source>
<translation>Отсутствует значение для внешней переменной с именем %1.</translation>
</message>
<message>
- <location line="+220"/>
+ <location line="+96"/>
+ <source>A stylesheet function must have a prefixed name.</source>
+ <translation>Функция стилей должна иметь имя с префиксом.</translation>
+ </message>
+ <message>
+ <location line="+18"/>
+ <source>The namespace %1 is reserved; therefore user defined functions may not use it. Try the predefined prefix %2, which exists for these cases.</source>
+ <translation>Пространтсво имён %1 зарезервировано, поэтому пользовательские функции не могут его использовать. Попробуйте предопределённый префикс %2, который существует для подобных ситуаций.</translation>
+ </message>
+ <message>
+ <location line="+106"/>
<source>An argument with name %1 has already been declared. Every argument name must be unique.</source>
<translation>Аргумент с именем %1 уже объявлен. Имя каждого аргумента должно быть уникальным.</translation>
</message>
@@ -9062,12 +10489,12 @@ Please choose a different file name.</source>
<message>
<location line="+126"/>
<source>%1 is an invalid template mode name.</source>
- <translation>%1 является неверным шаблоном имени режима.</translation>
+ <translation>%1 не является корректным шаблоном имени режима.</translation>
</message>
<message>
<location line="+44"/>
<source>The name of a variable bound in a for-expression must be different from the positional variable. Hence, the two variables named %1 collide.</source>
- <translation type="unfinished">Имя переменной, связанной с выражением for, должно отличаться от позиционной переменной. Две переменные с именем %1 конфликтуют.</translation>
+ <translation>Имя переменной, связанной с выражением for, должно отличаться от позиционной переменной. Две переменные с именем %1 конфликтуют.</translation>
</message>
<message>
<location line="+778"/>
@@ -9085,29 +10512,14 @@ Please choose a different file name.</source>
<translation>Имя каждого параметра шаблона должно быть уникальным, но %1 повторяется.</translation>
</message>
<message>
- <location line="+129"/>
- <source>The %1-axis is unsupported in XQuery</source>
- <translation>Ось %1 не поддерживается в XQuery</translation>
- </message>
- <message>
- <location line="+333"/>
+ <location line="+462"/>
<source>No function with name %1 is available.</source>
<translation>Функция с именем %1 отсутствует.</translation>
</message>
<message>
- <location line="+250"/>
- <source>An attribute with name %1 has already appeared on this element.</source>
- <translation>Атрибут с именем %1 уже существует для данного элемента.</translation>
- </message>
- <message>
- <location line="+614"/>
- <source>%1 is not a valid name for a processing-instruction.</source>
- <translation>%1 является неверным названием для инструкции обработки.</translation>
- </message>
- <message>
- <location line="-7099"/>
+ <location line="-6235"/>
<source>%1 is not a valid numeric literal.</source>
- <translation>%1 является неверным числовым литералом.</translation>
+ <translation>%1 не является корректным числовым литералом.</translation>
</message>
<message>
<location line="-152"/>
@@ -9125,22 +10537,7 @@ Please choose a different file name.</source>
<translation>Встречена конструкция, запрещённая для текущего языка (%1).</translation>
</message>
<message>
- <location line="+6482"/>
- <source>The namespace URI cannot be the empty string when binding to a prefix, %1.</source>
- <translation>URI пространства имён не может быть пустой строкой при связывании с префиксом %1.</translation>
- </message>
- <message>
- <location line="+7"/>
- <source>%1 is an invalid namespace URI.</source>
- <translation>%1 - неверный URI пространства имён.</translation>
- </message>
- <message>
- <location line="+6"/>
- <source>It is not possible to bind to the prefix %1</source>
- <translation>Невозможно связать с префиксом %1</translation>
- </message>
- <message>
- <location line="+7"/>
+ <location line="+6502"/>
<source>Namespace %1 can only be bound to %2 (and it is, in either case, pre-declared).</source>
<translation>Пространство имён %1 может быть связано только с %2 (в данном случае уже предопределено).</translation>
</message>
@@ -9150,17 +10547,12 @@ Please choose a different file name.</source>
<translation>Префикс %1 может быть связан только с %2 (в данном случае уже предопределено).</translation>
</message>
<message>
- <location line="+15"/>
- <source>Two namespace declaration attributes have the same name: %1.</source>
- <translation>Два атрибута объявления пространств имён имеют одинаковое имя: %1.</translation>
- </message>
- <message>
- <location line="+89"/>
- <source>The namespace URI must be a constant and cannot use enclosed expressions.</source>
- <translation>URI пространства имён должно быть константой и не может содержать выражений.</translation>
+ <location line="+120"/>
+ <source>An attribute with name %1 has already appeared on this element.</source>
+ <translation>Атрибут с именем %1 уже существует для данного элемента.</translation>
</message>
<message>
- <location line="+77"/>
+ <location line="+61"/>
<source>A direct element constructor is not well-formed. %1 is ended with %2.</source>
<translation>Прямой конструктор элемента составлен некорректно. %1 заканчивается на %2.</translation>
</message>
@@ -9180,70 +10572,98 @@ Please choose a different file name.</source>
<translation>%1 - не атомарный тип. Преобразование возможно только к атомарным типам.</translation>
</message>
<message>
- <location line="+145"/>
- <location line="+71"/>
- <source>%1 is not in the in-scope attribute declarations. Note that the schema import feature is not supported.</source>
- <translation>%1 является объявлением атрибута вне области объявлений. Имейте в виду, возможность импорта схем не поддерживается.</translation>
+ <location line="+76"/>
+ <source>%1 is not a valid name for a processing-instruction.</source>
+ <translation>%1 не является корректным названием инструкции обработки.</translation>
</message>
<message>
- <location line="+48"/>
+ <location line="+188"/>
<source>The name of an extension expression must be in a namespace.</source>
<translation>Название выражения расширения должно быть в пространстве имён.</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/type/qcardinality.cpp" line="+55"/>
- <source>empty</source>
- <translation>пусто</translation>
+ <location filename="../src/xmlpatterns/type/qtypechecker.cpp" line="-93"/>
+ <source>Required type is %1, but %2 was found.</source>
+ <translation>Требуется тип %1, но обнаружен %2.</translation>
</message>
<message>
- <location line="+2"/>
- <source>zero or one</source>
- <translation>нуль или один</translation>
+ <location line="+44"/>
+ <source>Promoting %1 to %2 may cause loss of precision.</source>
+ <translation>Преобразование %1 к %2 может снизить точность.</translation>
</message>
<message>
- <location line="+2"/>
- <source>exactly one</source>
- <translation>ровно один</translation>
+ <location filename="../src/xmlpatterns/utils/qoutputvalidator.cpp" line="-7"/>
+ <source>It&apos;s not possible to add attributes after any other kind of node.</source>
+ <translation>Невозможно добавлять атрибуты после любого другого вида узла.</translation>
</message>
<message>
- <location line="+2"/>
- <source>one or more</source>
- <translation>один или более</translation>
+ <location filename="../src/xmlpatterns/utils/qxpathhelper_p.h" line="+120"/>
+ <source>Only the Unicode Codepoint Collation is supported(%1). %2 is unsupported.</source>
+ <translation>Поддерживается только Unicode Codepoint Collation (%1). %2 не поддерживается.</translation>
</message>
<message>
- <location line="+2"/>
- <source>zero or more</source>
- <translation>нуль или более</translation>
+ <location filename="../src/xmlpatterns/data/qatomicmathematicians.cpp" line="-180"/>
+ <source>Integer division (%1) by zero (%2) is undefined.</source>
+ <translation>Целочисленное деление (%1) на нуль (%2) не определено.</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/type/qtypechecker.cpp" line="+63"/>
- <source>Required type is %1, but %2 was found.</source>
- <translation>Требуется тип %1, но обнаружен %2.</translation>
+ <location line="+7"/>
+ <source>Division (%1) by zero (%2) is undefined.</source>
+ <translation>Деление (%1) на нуль (%2) не определено.</translation>
</message>
<message>
- <location line="+44"/>
- <source>Promoting %1 to %2 may cause loss of precision.</source>
- <translation>Преобразование %1 к %2 может снизить точность.</translation>
+ <location line="+7"/>
+ <source>Modulus division (%1) by zero (%2) is undefined.</source>
+ <translation>Деление по модулю (%1) на нуль (%2) не определено.</translation>
+ </message>
+ <message numerus="yes">
+ <location filename="../src/xmlpatterns/functions/qabstractfunctionfactory.cpp" line="+77"/>
+ <source>%1 takes at most %n argument(s). %2 is therefore invalid.</source>
+ <translation>
+ <numerusform>%1 принимает не более %n аргумента. Следовательно, %2 некорректно.</numerusform>
+ <numerusform>%1 принимает не более %n аргументов. Следовательно, %2 некорректно.</numerusform>
+ <numerusform>%1 принимает не более %n аргументов. Следовательно, %2 некорректно.</numerusform>
+ </translation>
+ </message>
+ <message numerus="yes">
+ <location line="+11"/>
+ <source>%1 requires at least %n argument(s). %2 is therefore invalid.</source>
+ <translation>
+ <numerusform>%1 принимает не менее %n аргумента. Следовательно, %2 некорректно.</numerusform>
+ <numerusform>%1 принимает не менее %n аргументов. Следовательно, %2 некорректно.</numerusform>
+ <numerusform>%1 принимает не менее %n аргументов. Следовательно, %2 некорректно.</numerusform>
+ </translation>
</message>
<message>
- <location line="+49"/>
- <source>The focus is undefined.</source>
- <translation>Фокус не определён.</translation>
+ <location filename="../src/xmlpatterns/functions/qcontextnodechecker.cpp" line="+54"/>
+ <source>The root node of the second argument to function %1 must be a document node. %2 is not a document node.</source>
+ <translation>Корневой узел второго аргумента функции %1 должен быть документом. %2 не является документом.</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/utils/qoutputvalidator.cpp" line="+86"/>
- <source>It&apos;s not possible to add attributes after any other kind of node.</source>
- <translation>Невозможно добавлять атрибуты после любого другого вида узла.</translation>
+ <location filename="../src/xmlpatterns/parser/qquerytransformparser.cpp" line="-3172"/>
+ <source>The namespace for a user defined function cannot be empty (try the predefined prefix %1 which exists for cases like this)</source>
+ <translation>Пространство имён для пользовательских функций не может быть пустым (попробуйте предопределённый префикс %1, который существует для подобных ситуаций)</translation>
</message>
<message>
- <location line="+7"/>
- <source>An attribute by name %1 has already been created.</source>
- <translation>Атрибут с именем %1 уже существует.</translation>
+ <location line="-693"/>
+ <location line="+10"/>
+ <source>A default namespace declaration must occur before function, variable, and option declarations.</source>
+ <translation>Объявление пространство имён по умолчанию должно быть до объявления функций, переменных и опций.</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/utils/qxpathhelper_p.h" line="+120"/>
- <source>Only the Unicode Codepoint Collation is supported(%1). %2 is unsupported.</source>
- <translation>Поддерживается только Unicode Codepoint Collation (%1). %2 не поддерживается.</translation>
+ <location line="+10"/>
+ <source>Namespace declarations must occur before function, variable, and option declarations.</source>
+ <translation>Объявление пространства имён должно быть до объявления функций, переменных и опций.</translation>
+ </message>
+ <message>
+ <location line="+11"/>
+ <source>Module imports must occur before function, variable, and option declarations.</source>
+ <translation>Импортируемые модули должны быть указаны до объявления функций, переменных и опций.</translation>
+ </message>
+ <message>
+ <location filename="../src/xmlpatterns/functions/qtimezonefns.cpp" line="+12"/>
+ <source>%1 is not a whole number of minutes.</source>
+ <translation>%1 не является полным количеством минут.</translation>
</message>
<message>
<location filename="../src/xmlpatterns/api/qxmlserializer.cpp" line="+60"/>
@@ -9398,12 +10818,12 @@ Please choose a different file name.</source>
<message>
<location line="+270"/>
<source>Element %1 cannot have children.</source>
- <translation>У элемента %1 не может быть потомков.</translation>
+ <translation>Элемент %1 не может иметь потомков.</translation>
</message>
<message>
<location line="+434"/>
<source>Element %1 cannot have a sequence constructor.</source>
- <translation>У элемента %1 не может быть конструктора последовательности.</translation>
+ <translation type="unfinished">Элемент %1 не может иметь конструктор последовательности.</translation>
</message>
<message>
<location line="+86"/>
@@ -9414,7 +10834,7 @@ Please choose a different file name.</source>
<message>
<location line="+15"/>
<source>A parameter in a function cannot be declared to be a tunnel.</source>
- <translation type="unfinished">Параметр в функции не может быть объявлен туннелем.</translation>
+ <translation type="unfinished">Параметр функции не может быть объявлен туннелем.</translation>
</message>
<message>
<location line="+149"/>
@@ -9942,13 +11362,13 @@ Please choose a different file name.</source>
</message>
<message>
<location line="+28"/>
- <location line="+408"/>
+ <location line="+415"/>
<location line="+30"/>
<source>Type %1 of %2 element cannot be resolved.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-416"/>
+ <location line="-423"/>
<source>Base type %1 of complex type cannot be resolved.</source>
<translation type="unfinished"></translation>
</message>
@@ -9958,7 +11378,7 @@ Please choose a different file name.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+279"/>
+ <location line="+286"/>
<source>Content model of complex type %1 contains %2 element so it cannot be derived by extension from a non-empty type.</source>
<translation type="unfinished"></translation>
</message>
@@ -10148,7 +11568,7 @@ Please choose a different file name.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+127"/>
+ <location line="+143"/>
<source>Document is not a XML schema.</source>
<translation type="unfinished"></translation>
</message>
@@ -10174,7 +11594,7 @@ Please choose a different file name.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+237"/>
+ <location line="+243"/>
<source>%1 element is not allowed to have the same %2 attribute value as the target namespace %3.</source>
<translation type="unfinished"></translation>
</message>
@@ -10184,7 +11604,7 @@ Please choose a different file name.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+833"/>
+ <location line="+851"/>
<location line="+158"/>
<source>%1 element is not allowed inside %2 element if %3 attribute is present.</source>
<translation type="unfinished"></translation>
@@ -10288,7 +11708,7 @@ Please choose a different file name.</source>
<message>
<location line="+19"/>
<source>Text or entity references not allowed inside %1 element</source>
- <translation type="unfinished"></translation>
+ <translation type="unfinished">Текст или ссылка на объект недопустимы в качестве содержимого элемента %1</translation>
</message>
<message>
<location line="+41"/>
@@ -10325,17 +11745,17 @@ Please choose a different file name.</source>
<message>
<location line="+17"/>
<source>Element %1 already defined.</source>
- <translation type="unfinished"></translation>
+ <translation>Элемент %1 уже определён.</translation>
</message>
<message>
<location line="+11"/>
<source>Attribute %1 already defined.</source>
- <translation type="unfinished"></translation>
+ <translation>Атрибут %1 уже определён.</translation>
</message>
<message>
<location line="+15"/>
<source>Type %1 already defined.</source>
- <translation type="unfinished"></translation>
+ <translation>Тип %1 уже определён.</translation>
</message>
<message>
<location line="+23"/>
@@ -10345,7 +11765,7 @@ Please choose a different file name.</source>
<message>
<location line="+11"/>
<source>Element group %1 already defined.</source>
- <translation type="unfinished"></translation>
+ <translation>Группа элементов %1 уже определёна.</translation>
</message>
<message>
<location line="+11"/>
@@ -10367,7 +11787,7 @@ Please choose a different file name.</source>
<location line="+7"/>
<location line="+21"/>
<source>%1 is not valid according to %2.</source>
- <translation type="unfinished"></translation>
+ <translation>%1 некорректно в соответствии с %2.</translation>
</message>
<message>
<location line="+167"/>
@@ -10592,7 +12012,7 @@ Please choose a different file name.</source>
<message>
<location line="+27"/>
<source>Invalid QName content: %1.</source>
- <translation type="unfinished"></translation>
+ <translation>Некорректное содержимое QName: %1.</translation>
</message>
<message>
<location line="+17"/>
@@ -10662,32 +12082,32 @@ Please choose a different file name.</source>
<message>
<location line="+27"/>
<source>Loaded schema file is invalid.</source>
- <translation type="unfinished"></translation>
+ <translation>Загруженный файл схемы некорректен.</translation>
</message>
<message>
<location line="+16"/>
<source>%1 contains invalid data.</source>
- <translation type="unfinished"></translation>
+ <translation>%1 содержит некорректные данные.</translation>
</message>
<message>
<location line="+13"/>
<source>xsi:schemaLocation namespace %1 has already appeared earlier in the instance document.</source>
- <translation type="unfinished"></translation>
+ <translation type="unfinished">Пространство имён xsi:schemaLocation %1 уже встречалось ранее в данном документе.</translation>
</message>
<message>
<location line="+22"/>
<source>xsi:noNamespaceSchemaLocation cannot appear after the first no-namespace element or attribute.</source>
- <translation type="unfinished"></translation>
+ <translation type="unfinished">xsi:noNamespaceSchemaLocation не может встречаться после первого не-`namespace` элемента или атрибута.</translation>
</message>
<message>
<location line="+18"/>
<source>No schema defined for validation.</source>
- <translation type="unfinished"></translation>
+ <translation>Схема для проверки не определена.</translation>
</message>
<message>
<location line="+10"/>
<source>No definition for element %1 available.</source>
- <translation type="unfinished"></translation>
+ <translation>Отсутствует определение элемента %1.</translation>
</message>
<message>
<location line="+18"/>
@@ -10699,7 +12119,7 @@ Please choose a different file name.</source>
<message>
<location line="-176"/>
<source>Element %1 is not defined in this scope.</source>
- <translation type="unfinished"></translation>
+ <translation>Элемент %1 не определён в данном контексте.</translation>
</message>
<message>
<location line="+43"/>
@@ -10719,7 +12139,7 @@ Please choose a different file name.</source>
<message>
<location line="+7"/>
<source>Element %1 is not nillable.</source>
- <translation type="unfinished"></translation>
+ <translation>Элемент %1 необнуляемый.</translation>
</message>
<message>
<location line="+8"/>
@@ -10729,7 +12149,7 @@ Please choose a different file name.</source>
<message>
<location line="+8"/>
<source>Element contains content although it is nillable.</source>
- <translation type="unfinished"></translation>
+ <translation>Элемент необнуляемый, т.к. имеет содержимое.</translation>
</message>
<message>
<location line="+6"/>
@@ -10739,7 +12159,7 @@ Please choose a different file name.</source>
<message>
<location line="+230"/>
<source>Element %1 cannot contain other elements, as it has a fixed content.</source>
- <translation type="unfinished"></translation>
+ <translation type="unfinished">Элемент %1 не может содержать другие элементы, т.к. имеет статическое содержимое.</translation>
</message>
<message>
<location line="-198"/>
@@ -10850,7 +12270,7 @@ Please choose a different file name.</source>
<message>
<location line="+64"/>
<source>More than one value found for field %1.</source>
- <translation type="unfinished"></translation>
+ <translation>Для поля %1 найдено более одного значения.</translation>
</message>
<message>
<location line="+20"/>
@@ -10860,12 +12280,12 @@ Please choose a different file name.</source>
<message>
<location line="+73"/>
<source>ID value &apos;%1&apos; is not unique.</source>
- <translation type="unfinished"></translation>
+ <translation>Значение ID &quot;%1&quot; неуникально.</translation>
</message>
<message>
<location line="+11"/>
<source>&apos;%1&apos; attribute contains invalid QName content: %2.</source>
- <translation type="unfinished"></translation>
+ <translation type="unfinished">Атрибут `%1` имеет некорректное содержимое QName: %2.</translation>
</message>
</context>
</TS>
diff --git a/translations/qtconfig_hu.ts b/translations/qtconfig_hu.ts
index 0eaead04d3..549a5d8775 100644
--- a/translations/qtconfig_hu.ts
+++ b/translations/qtconfig_hu.ts
@@ -1,35 +1,35 @@
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE TS>
-<TS version="2.0" language="hu">
+<TS version="2.0" language="hu_HU">
<context>
<name>MainWindow</name>
<message>
- <location filename="../tools/qtconfig/mainwindow.cpp" line="+202"/>
+ <location filename="../tools/qtconfig/mainwindow.cpp" line="+204"/>
<source>Desktop Settings (Default)</source>
- <translation>Asztali beállítások (Alapértelmezett)</translation>
+ <translation>Az asztal beállításai (Alapértelmezett)</translation>
</message>
<message>
<location line="+5"/>
<source>Choose style and palette based on your desktop settings.</source>
- <translation>Stílus és paletta alapú kiválasztása az asztali beállításokban.</translation>
+ <translation>Stílus és paletta választása az asztal beállításai alapján.</translation>
</message>
<message>
<location line="+144"/>
<source>On The Spot</source>
- <translation>Azon nyomban</translation>
+ <translation>On The Spot</translation>
</message>
<message>
<location line="+33"/>
<location line="+1"/>
- <location line="+38"/>
+ <location line="+40"/>
<location line="+1"/>
<source>Auto (default)</source>
<translation>Automatikus (alapértelmezett)</translation>
</message>
<message>
- <location line="-38"/>
+ <location line="-40"/>
<source>Choose audio output automatically.</source>
- <translation>Audió kimenet automatikus kiválasztása.</translation>
+ <translation>Válasszon automatikusan egy hangkimenetet.</translation>
</message>
<message>
<location line="+1"/>
@@ -40,17 +40,17 @@
<message>
<location line="+1"/>
<source>Experimental aRts support for GStreamer.</source>
- <translation>Kísérleti aRts támogatás a GStreamerhez.</translation>
+ <translation>Kísérleti aRts támogatás GStreamer-hez.</translation>
</message>
<message>
- <location line="+31"/>
+ <location line="+33"/>
<source>Phonon GStreamer backend not available.</source>
- <translation>Phonon GStreamer backend nem elérhető.</translation>
+ <translation>Phonon GStreamer segítő nem érhető el.</translation>
</message>
<message>
<location line="+4"/>
<source>Choose render method automatically</source>
- <translation>Render eljárás automatikus kiválasztása</translation>
+ <translation>Válasszon automatikusan egy renderelési módot</translation>
</message>
<message>
<location line="+2"/>
@@ -61,7 +61,8 @@
<message>
<location line="+0"/>
<source>Use X11 Overlays</source>
- <translation>X11 borítás használata</translation>
+ <translatorcomment>CHECKIT</translatorcomment>
+ <translation type="unfinished">Használja az X11 átlapolást</translation>
</message>
<message>
<location line="+3"/>
@@ -70,72 +71,76 @@
<translation>OpenGL</translation>
</message>
<message>
- <location line="+0"/>
<source>Use OpenGL if avaiable</source>
- <translation>OpenGL használata, ha rendelkezésre áll</translation>
+ <translation type="obsolete">Használja az OpenGL-t ha elérhető</translation>
+ </message>
+ <message>
+ <location line="+0"/>
+ <source>Use OpenGL if available</source>
+ <translation>Használja az OpenGL-t ha elérhető</translation>
</message>
<message>
<location line="+2"/>
<location line="+1"/>
<source>Software</source>
- <translation>Szoftver</translation>
+ <translation>Szoftveres</translation>
</message>
<message>
<location line="+0"/>
<source>Use simple software rendering</source>
- <translation>Egyszerű szoftver adás használata</translation>
+ <translation>Használjon szoftveres renderelést</translation>
</message>
<message>
<location line="+27"/>
<source>No changes to be saved.</source>
- <translation>A változtatások nincsenek elmentve.</translation>
+ <translation>Nem történt változás.</translation>
</message>
<message>
<location line="+4"/>
<source>Saving changes...</source>
- <translation>Változtatások elmentése...</translation>
+ <translation>Változások mentése...</translation>
</message>
<message>
<location line="+48"/>
<source>Over The Spot</source>
- <translation>Célon túlmenően</translation>
+ <translation>Over The Spot</translation>
</message>
<message>
<location line="+2"/>
<source>Off The Spot</source>
- <translation>Elkalandozás</translation>
+ <translation>Off The Spot</translation>
</message>
<message>
<location line="+2"/>
<source>Root</source>
- <translation>Rendszergazda</translation>
+ <translation>Root</translation>
</message>
<message>
<location line="+466"/>
<source>Select a Directory</source>
- <translation>Egy könyvtár kiválasztása</translation>
+ <translation>Válasszon egy könyvtárat</translation>
</message>
<message>
<location line="+17"/>
<source>&lt;h3&gt;%1&lt;/h3&gt;&lt;br/&gt;Version %2&lt;br/&gt;&lt;br/&gt;Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).</source>
- <translation>&lt;h3&gt;%1&lt;/h3&gt;&lt;br/&gt;Verzió %2&lt;br/&gt;&lt;br/&gt;Szerzői jog (C) 2010 Nokia vállalat és/vagy leányvállalata(i).</translation>
+ <translation>&lt;h3&gt;%1&lt;/h3&gt;&lt;br/&gt;Verzió %2&lt;br/&gt;&lt;br/&gt;Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).</translation>
</message>
<message>
<location line="+3"/>
<location line="+1"/>
<location line="+8"/>
<source>Qt Configuration</source>
- <translation>Qt Konfiguráció</translation>
+ <translation>Qt beállítás</translation>
</message>
<message>
<location line="+22"/>
<source>Save Changes</source>
- <translation>Változtatások elmentése</translation>
+ <translation>Változások mentése</translation>
</message>
<message>
<location line="+1"/>
<source>Save changes to settings?</source>
- <translation>Változtatások elmentése a beállításokba ?</translation>
+ <translation>Menti a beállítások változását?</translation>
</message>
<message>
<location line="+1"/>
@@ -150,416 +155,395 @@
<message>
<location line="+0"/>
<source>&amp;Cancel</source>
- <translation>&amp;Mégse</translation>
+ <translation>&amp;Mégsem</translation>
</message>
</context>
<context>
<name>MainWindowBase</name>
<message>
- <location filename="../tools/qtconfig/mainwindowbase.ui" line="+54"/>
+ <location filename="../tools/qtconfig/mainwindowbase.ui"/>
<source>Qt Configuration</source>
- <translation>Qt Konfiguráció
-</translation>
+ <translation>Qt beállítás</translation>
</message>
<message>
- <location line="+35"/>
+ <location/>
<source>Appearance</source>
- <translation>Feltűnés</translation>
+ <translation>Megjelenés</translation>
</message>
<message>
- <location line="+18"/>
+ <location/>
<source>GUI Style</source>
- <translation>GUI Stílus</translation>
+ <translation>GUI stílus</translation>
</message>
<message>
- <location line="+18"/>
+ <location/>
<source>Select GUI &amp;Style:</source>
- <translation>GUI &amp;Stílus kiválasztása:</translation>
+ <translation>Válasszon egy &amp;stílust:</translation>
</message>
<message>
- <location line="+88"/>
- <source>Build Palette</source>
- <translation>Építési paletta</translation>
+ <location/>
+ <source>Preview</source>
+ <translation>Előnézet</translation>
</message>
<message>
- <location line="+12"/>
- <source>&amp;3-D Effects:</source>
- <translation>&amp;3 D Hatások:</translation>
+ <location/>
+ <source>Select &amp;Palette:</source>
+ <translation>Előnézet &amp;választása:</translation>
</message>
<message>
- <location line="+31"/>
- <source>Window Back&amp;ground:</source>
- <translation>Ablak Hát&amp;tér:</translation>
+ <location/>
+ <source>Active Palette</source>
+ <translation>Aktív elemek</translation>
</message>
<message>
- <location line="+35"/>
- <source>&amp;Tune Palette...</source>
- <translation>&amp;Hangolási paletta...</translation>
+ <location/>
+ <source>Inactive Palette</source>
+ <translation>Inaktív elemek</translation>
</message>
<message>
- <location line="+10"/>
- <source>Please use the KDE Control Center to set the palette.</source>
- <translation>Kérem használja a KDE Vezérlő Központot a paletta beállításához.</translation>
+ <location/>
+ <source>Disabled Palette</source>
+ <translation>Letiltott elemek</translation>
</message>
<message>
- <location line="-154"/>
- <source>Preview</source>
- <translation>Előnézet</translation>
+ <location/>
+ <source>Build Palette</source>
+ <translation>Paletta felépítése</translation>
</message>
<message>
- <location line="+6"/>
- <source>Select &amp;Palette:</source>
- <translation>&amp;Paletta kiválasztása:</translation>
+ <location/>
+ <source>&amp;3-D Effects:</source>
+ <translation>&amp;3-D effektek:</translation>
</message>
<message>
- <location line="+11"/>
- <source>Active Palette</source>
- <translation>Aktív paletta</translation>
+ <location/>
+ <source>Window Back&amp;ground:</source>
+ <translation>Ablak &amp;háttér:</translation>
</message>
<message>
- <location line="+5"/>
- <source>Inactive Palette</source>
- <translation>Inaktív paletta</translation>
+ <location/>
+ <source>&amp;Tune Palette...</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+5"/>
- <source>Disabled Palette</source>
- <translation>Tiltott paletta</translation>
+ <location/>
+ <source>Please use the KDE Control Center to set the palette.</source>
+ <translation>Kérem, használja a KDE vezérlőközpontot a paletta beállításához.</translation>
</message>
<message>
- <location line="+138"/>
+ <location/>
<source>Fonts</source>
- <translation>Betűk</translation>
+ <translation>Betűtípusok</translation>
</message>
<message>
- <location line="+6"/>
+ <location/>
<source>Default Font</source>
- <translation>Alapértelmezett betű</translation>
+ <translation>Alapértelmezett betűtípus</translation>
</message>
<message>
- <location line="+45"/>
+ <location/>
<source>&amp;Style:</source>
<translation>&amp;Stílus:</translation>
</message>
<message>
- <location line="+10"/>
+ <location/>
<source>&amp;Point Size:</source>
- <translation>&amp;Pont méret:</translation>
+ <translation>&amp;Pontméret:</translation>
</message>
<message>
- <location line="+10"/>
+ <location/>
<source>F&amp;amily:</source>
- <translation>Csa&amp;lád:</translation>
+ <translation>&amp;Család:</translation>
</message>
<message>
- <location line="+10"/>
+ <location/>
<source>Sample Text</source>
- <translation>Minta szöveg</translation>
+ <translation>Példa szöveg</translation>
</message>
<message>
- <location line="+13"/>
+ <location/>
<source>Font Substitution</source>
- <translation>Betű helyettesítés</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+20"/>
+ <location/>
<source>S&amp;elect or Enter a Family:</source>
- <translation>Egy család ki&amp;választása vgy bevitele:</translation>
+ <translation>Válassza ki, vagy írja b&amp;íe a betűcsaládot:</translation>
</message>
<message>
- <location line="+38"/>
+ <location/>
<source>Current Substitutions:</source>
- <translation>Aktuális helyettesítés:</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+18"/>
- <location line="+501"/>
+ <location/>
<source>Up</source>
<translation>Fel</translation>
</message>
<message>
- <location line="-494"/>
- <location line="+508"/>
+ <location/>
<source>Down</source>
<translation>Le</translation>
</message>
<message>
- <location line="-501"/>
- <location line="+494"/>
+ <location/>
<source>Remove</source>
- <translation>Eltávolítás</translation>
+ <translation>Törlés</translation>
</message>
<message>
- <location line="-464"/>
+ <location/>
<source>Select s&amp;ubstitute Family:</source>
- <translation>Család &amp;helyettesítésének kiválasztása:</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+20"/>
- <location line="+487"/>
+ <location/>
<source>Add</source>
- <translation>Hozzáad</translation>
+ <translation>Hozzáadás</translation>
</message>
<message>
- <location line="-474"/>
+ <location/>
<source>Interface</source>
- <translation>Interfész</translation>
+ <translatorcomment>CHECKIT</translatorcomment>
+ <translation type="unfinished">Interfész</translation>
</message>
<message>
- <location line="+6"/>
+ <location/>
<source>Feel Settings</source>
- <translation>Érzet beállítások</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+12"/>
- <location line="+26"/>
+ <location/>
<source> ms</source>
- <translation> ms</translation>
+ <translation></translation>
</message>
<message>
- <location line="-13"/>
+ <location/>
<source>&amp;Double Click Interval:</source>
- <translation>&amp;Dupla kattintási intervallum:</translation>
+ <translatorcomment>CHECKIT</translatorcomment>
+ <translation type="unfinished">&amp;Dupla kattintás sebessége:</translation>
</message>
<message>
- <location line="+10"/>
+ <location/>
<source>No blinking</source>
<translation>Nincs villogás</translation>
</message>
<message>
- <location line="+16"/>
+ <location/>
<source>&amp;Cursor Flash Time:</source>
- <translation>&amp;Kurzor flash idő:</translation>
+ <translation>&amp;Kurzor villogás sebessége:</translation>
</message>
<message>
- <location line="+10"/>
+ <location/>
<source> lines</source>
- <translation>sorok</translation>
+ <translation> sor</translation>
</message>
<message>
- <location line="+13"/>
+ <location/>
<source>Wheel &amp;Scroll Lines:</source>
- <translation>Kerék sor &amp;görgetés:</translation>
+ <translation>Görgetett &amp;sorok száma:</translation>
</message>
<message>
- <location line="+10"/>
+ <location/>
<source>Resolve symlinks in URLs</source>
- <translation>URL-ben található szimlinkek megoldása</translation>
+ <translation>Szimbolikus linkek feloldása az URL-ekben</translation>
</message>
<message>
- <location line="+10"/>
+ <location/>
<source>GUI Effects</source>
- <translation>GUI hatások</translation>
+ <translation>GUI effektek</translation>
</message>
<message>
- <location line="+12"/>
+ <location/>
<source>&amp;Enable</source>
<translation>&amp;Engedélyezés</translation>
</message>
<message>
- <location line="+3"/>
+ <location/>
<source>Alt+E</source>
- <translation>Alt+E</translation>
+ <translation></translation>
</message>
<message>
- <location line="+22"/>
+ <location/>
<source>&amp;Menu Effect:</source>
- <translation>&amp;Menü hatás:</translation>
+ <translation>&amp;Menü effekt:</translation>
</message>
<message>
- <location line="+10"/>
+ <location/>
<source>C&amp;omboBox Effect:</source>
- <translation>C&amp;omboBox hatás:</translation>
+ <translation>&amp;Legördülő lista effekt:</translation>
</message>
<message>
- <location line="+10"/>
+ <location/>
<source>&amp;ToolTip Effect:</source>
- <translation>&amp;Eszköz tipp hatás:</translation>
+ <translation>&amp;ToolTip effekt:</translation>
</message>
<message>
- <location line="+10"/>
+ <location/>
<source>Tool&amp;Box Effect:</source>
- <translation>Eszköz&amp;doboz hatás:</translation>
+ <translation>Eszköz&amp;tár effekt:</translation>
</message>
<message>
- <location line="+17"/>
- <location line="+19"/>
- <location line="+14"/>
- <location line="+19"/>
+ <location/>
<source>Disable</source>
- <translation>Tiltás</translation>
+ <translation>Letiltás</translation>
</message>
<message>
- <location line="-47"/>
- <location line="+19"/>
- <location line="+14"/>
- <location line="+19"/>
+ <location/>
<source>Animate</source>
- <translation>Animálás</translation>
+ <translation>Animáció</translation>
</message>
<message>
- <location line="-47"/>
- <location line="+33"/>
+ <location/>
<source>Fade</source>
- <translation>Elhalkulás</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+28"/>
+ <location/>
<source>Global Strut</source>
- <translation>Globális struktúra</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+12"/>
+ <location/>
<source>Minimum &amp;Width:</source>
- <translation>Minimum &amp;szélesség:</translation>
+ <translation>Minimum s&amp;zélesség:</translation>
</message>
<message>
- <location line="+10"/>
+ <location/>
<source>Minimum Hei&amp;ght:</source>
- <translation>Minimum ma&amp;gasség:</translation>
+ <translation>Minimum &amp;magasság:</translation>
</message>
<message>
- <location line="+10"/>
- <location line="+10"/>
+ <location/>
<source> pixels</source>
- <translation>pixelek</translation>
+ <translation> pixel</translation>
</message>
<message>
- <location line="+13"/>
+ <location/>
<source>Enhanced support for languages written right-to-left</source>
- <translation>Kiterjesztett támogatás a jobbról balra írt nyelvek számára</translation>
+ <translatorcomment>CHECKIT</translatorcomment>
+ <translation type="unfinished">Javított támogatás balról jobbra író nyelvekhez</translation>
</message>
<message>
- <location line="+7"/>
+ <location/>
<source>XIM Input Style:</source>
<translation>XIM beviteli stílus:</translation>
</message>
<message>
- <location line="+11"/>
+ <location/>
<source>On The Spot</source>
- <translation>Azon nyomban</translation>
+ <translation>On The Spot</translation>
</message>
<message>
- <location line="+5"/>
+ <location/>
<source>Over The Spot</source>
- <translation>Célon túlmenően</translation>
+ <translation>Over The Spot</translation>
</message>
<message>
- <location line="+5"/>
+ <location/>
<source>Off The Spot</source>
- <translation>Elkalandozás</translation>
+ <translation>Off The Spot</translation>
</message>
<message>
- <location line="+5"/>
+ <location/>
<source>Root</source>
- <translation>Rendszergazda</translation>
+ <translation>Root</translation>
</message>
<message>
- <location line="+8"/>
+ <location/>
<source>Default Input Method:</source>
- <translation>Alapértelmezett beviteli eljárás:</translation>
+ <translation>Alapértelmezett beviteli mód:</translation>
</message>
<message>
- <location line="+31"/>
+ <location/>
<source>Printer</source>
<translation>Nyomtató</translation>
</message>
<message>
- <location line="+6"/>
+ <location/>
<source>Enable Font embedding</source>
- <translation>Betű beágyazás engedélyezése</translation>
+ <translation>Font beágyazás engedélyezése</translation>
</message>
<message>
- <location line="+16"/>
+ <location/>
<source>Font Paths</source>
- <translation>Betű útvonalak</translation>
+ <translation>Fontok útvonalai</translation>
</message>
<message>
- <location line="+77"/>
+ <location/>
<source>Browse...</source>
- <translation>Böngészés...</translation>
+ <translation>Tallózás...</translation>
</message>
<message>
- <location line="+7"/>
+ <location/>
<source>Press the &lt;b&gt;Browse&lt;/b&gt; button or enter a directory and press Enter to add them to the list.</source>
- <translation>Nyomja meg a &lt;b&gt;Böngészés&lt;/b&gt; gombot vagy lépjen be egy könyvtárba és nyomja meg az Enter gombot hogy hozzáadja őket a listához.</translation>
+ <translation>Nyomja meg a &lt;b&gt;Tallózás&lt;b&gt; gombot, vagy írja be a mappa elérési útját, majd nyomja meg az Enter-t a listához adáshoz.</translation>
</message>
<message>
- <location line="+16"/>
+ <location/>
<source>Phonon</source>
- <translation>Phonon</translation>
+ <translation></translation>
</message>
<message>
- <location line="+6"/>
+ <location/>
<source>About Phonon</source>
- <translation>Phonon-ról</translation>
+ <translation>A Phonon névjegye</translation>
</message>
<message>
- <location line="+6"/>
- <location line="+44"/>
+ <location/>
<source>Current Version:</source>
- <translation>Aktuális verzió:</translation>
+ <translation>Jelenlegi verzió:</translation>
</message>
<message>
- <location line="-37"/>
- <location line="+44"/>
+ <location/>
<source>Not available</source>
- <translation>Nem elérhető</translation>
+ <translation>Nem érhető el</translation>
</message>
<message>
- <location line="-37"/>
- <location line="+44"/>
+ <location/>
<source>Website:</source>
- <translation>Weblap:</translation>
+ <translation>Weboldal:</translation>
</message>
<message>
- <location line="-37"/>
+ <location/>
<source>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt;
&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
p, li { white-space: pre-wrap; }
&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal;&quot;&gt;
&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;a href=&quot;http://phonon.kde.org&quot;&gt;&lt;span style=&quot; text-decoration: underline; color:#0000ff;&quot;&gt;http://phonon.kde.org&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
- <translation>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt;
-&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
-p, li { white-space: pre-wrap; }
-&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal;&quot;&gt;
-&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;a href=&quot;http://phonon.kde.org&quot;&gt;&lt;span style=&quot; text-decoration: underline; color:#0000ff;&quot;&gt;http://phonon.kde.org&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
+ <translation></translation>
</message>
<message>
- <location line="+17"/>
+ <location/>
<source>About GStreamer</source>
- <translation>GStreamer-ről</translation>
+ <translation>A GStreamer névjegye</translation>
</message>
<message>
- <location line="+27"/>
+ <location/>
<source>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt;
&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
p, li { white-space: pre-wrap; }
&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal;&quot;&gt;
&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;a href=&quot;http://gstreamer.freedesktop.org/&quot;&gt;&lt;span style=&quot; text-decoration: underline; color:#0000ff;&quot;&gt;http://gstreamer.freedesktop.org/&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
- <translation>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt;
-&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
-p, li { white-space: pre-wrap; }
-&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal;&quot;&gt;
-&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;a href=&quot;http://gstreamer.freedesktop.org/&quot;&gt;&lt;span style=&quot; text-decoration: underline; color:#0000ff;&quot;&gt;http://gstreamer.freedesktop.org/&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
+ <translation></translation>
</message>
<message>
- <location line="+17"/>
+ <location/>
<source>GStreamer backend settings</source>
- <translation>GStreamer backend beállítások</translation>
+ <translation>A GStreamer backend beállításai</translation>
</message>
<message>
- <location line="+6"/>
+ <location/>
<source>Preferred audio sink:</source>
- <translation>Preferrált audió tartály:</translation>
+ <translatorcomment>CHECKIT</translatorcomment>
+ <translation type="unfinished">Preferált hangrendszer:</translation>
</message>
<message>
- <location line="+13"/>
+ <location/>
<source>Preferred render method:</source>
- <translation>Preferrált render eljárás:</translation>
+ <translation>Preferált renderelési mód:</translation>
</message>
<message>
- <location line="+13"/>
+ <location/>
<source>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt;
&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
p, li { white-space: pre-wrap; }
@@ -569,271 +553,270 @@ p, li { white-space: pre-wrap; }
&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
p, li { white-space: pre-wrap; }
&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal;&quot;&gt;
-&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-style:italic;&quot;&gt;Megjegyzés: Ezekben a beállításokban történő változtatások megakadályozhatják az alkalmazásokat a megfelelő betöltéstől.&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-style:italic;&quot;&gt;Figyelem: ezen beállítások megváltoztatása egyes alkalmazások indulásában gondokat okozhat.&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
</message>
<message>
- <location line="+68"/>
+ <location/>
<source>&amp;File</source>
<translation>&amp;Fájl</translation>
</message>
<message>
- <location line="+19"/>
+ <location/>
<source>&amp;Help</source>
<translation>&amp;Súgó</translation>
</message>
<message>
- <location line="+14"/>
+ <location/>
<source>&amp;Save</source>
- <translation>&amp;Mentés</translation>
+ <translation>M&amp;entés</translation>
</message>
<message>
- <location line="+3"/>
+ <location/>
<source>Save</source>
<translation>Mentés</translation>
</message>
<message>
- <location line="+3"/>
+ <location/>
<source>Ctrl+S</source>
- <translation>Ctrl+S</translation>
+ <translation></translation>
</message>
<message>
- <location line="+5"/>
+ <location/>
<source>E&amp;xit</source>
<translation>&amp;Kilépés</translation>
</message>
<message>
- <location line="+3"/>
+ <location/>
<source>Exit</source>
<translation>Kilépés</translation>
</message>
<message>
- <location line="+8"/>
+ <location/>
<source>&amp;About</source>
<translation>&amp;Névjegy</translation>
</message>
<message>
- <location line="+3"/>
+ <location/>
<source>About</source>
<translation>Névjegy</translation>
</message>
<message>
- <location line="+8"/>
+ <location/>
<source>About &amp;Qt</source>
- <translation>&amp;Qt-ról</translation>
+ <translation>&amp;Qt névjegy</translation>
</message>
<message>
- <location line="+3"/>
+ <location/>
<source>About Qt</source>
- <translation>Qt-ról</translation>
+ <translation>A Qt névjegye</translation>
</message>
</context>
<context>
<name>PaletteEditorAdvancedBase</name>
<message>
- <location filename="../tools/qtconfig/paletteeditoradvancedbase.ui" line="+61"/>
+ <location filename="../tools/qtconfig/paletteeditoradvancedbase.ui"/>
<source>Tune Palette</source>
- <translation>Hangoló paletta</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+6"/>
+ <location/>
<source>&lt;b&gt;Edit Palette&lt;/b&gt;&lt;p&gt;Change the palette of the current widget or form.&lt;/p&gt;&lt;p&gt;Use a generated palette or select colors for each color group and each color role.&lt;/p&gt;&lt;p&gt;The palette can be tested with different widget layouts in the preview section.&lt;/p&gt;</source>
- <translation>&lt;b&gt;Paletta szerkesztése&lt;/b&gt;&lt;p&gt;Az aktuális widget vagy űrlap palettájának megváltoztatása&lt;/p&gt;&lt;p&gt;Egy generált paletta használata vagy szín kiválasztás mindegyik színcsoport és szín szabályra.&lt;/p&gt;&lt;p&gt;A paletta tesztelhető különböző widget szerkezetekkel az előnézeti szegmensben.&lt;/p&gt;</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+29"/>
+ <location/>
<source>Select &amp;Palette:</source>
- <translation>&amp;Paletta kiválasztása:</translation>
+ <translation type="unfinished">Előnézet &amp;választása:</translation>
</message>
<message>
- <location line="+14"/>
+ <location/>
<source>Active Palette</source>
- <translation>Aktív paletta</translation>
+ <translation type="unfinished">Aktív elemek</translation>
</message>
<message>
- <location line="+5"/>
+ <location/>
<source>Inactive Palette</source>
- <translation>Inaktív paletta</translation>
+ <translation type="unfinished">Inaktív elemek</translation>
</message>
<message>
- <location line="+5"/>
+ <location/>
<source>Disabled Palette</source>
- <translation>Paletta tiltása</translation>
+ <translation type="unfinished">Letiltott elemek</translation>
</message>
<message>
- <location line="+21"/>
+ <location/>
<source>Auto</source>
- <translation>Auto</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+18"/>
+ <location/>
<source>Build inactive palette from active</source>
- <translation>Inaktív paletta építése aktívból</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+13"/>
+ <location/>
<source>Build disabled palette from active</source>
- <translation>Tiltott paletta építése aktívból</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+16"/>
+ <location/>
<source>Central color &amp;roles</source>
- <translation>Központi szín &amp;szabályok</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+18"/>
+ <location/>
<source>Choose central color role</source>
- <translation>Központi szín szabályok kiválasztása</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+3"/>
+ <location/>
<source>&lt;b&gt;Select a color role.&lt;/b&gt;&lt;p&gt;Available central roles are: &lt;ul&gt; &lt;li&gt;Window - general background color.&lt;/li&gt; &lt;li&gt;WindowText - general foreground color. &lt;/li&gt; &lt;li&gt;Base - used as background color for e.g. text entry widgets, usually white or another light color. &lt;/li&gt; &lt;li&gt;Text - the foreground color used with Base. Usually this is the same as WindowText, in what case it must provide good contrast both with Window and Base. &lt;/li&gt; &lt;li&gt;Button - general button background color, where buttons need a background different from Window, as in the Macintosh style. &lt;/li&gt; &lt;li&gt;ButtonText - a foreground color used with the Button color. &lt;/li&gt; &lt;li&gt;Highlight - a color to indicate a selected or highlighted item. &lt;/li&gt; &lt;li&gt;HighlightedText - a text color that contrasts to Highlight. &lt;/li&gt; &lt;li&gt;BrightText - a text color that is very different from WindowText and contrasts well with e.g. black. &lt;/li&gt; &lt;/ul&gt; &lt;/p&gt;</source>
- <translation>&lt;b&gt;Egy szín szabály kiválasztása.&lt;/b&gt;&lt;p&gt;Az elérhetp központi szabályok: &lt;ul&gt; &lt;li&gt;Ablak - általános háttér szín.&lt;/li&gt; &lt;li&gt;AblakSzöveg - általános előtér szín. &lt;/li&gt; &lt;li&gt;Alap - háttérszínként használva példul szöveg beviteli widgetekre, rendszerint fehér vagy más világos színekre. &lt;/li&gt; &lt;li&gt;Szöveg - az előtér szín van haszálva a bázissal. Rendszerint ez ugyanaz, mint az AblakSzöveg, amilyen esetekben egy jó ellentétet kell biztosítania mindkettőre Ablakkal és Bázissal. &lt;/li&gt; &lt;li&gt;Gomb - általános gomb háttér szín, ahol a gomboknak szüksége van egy háttére ami különbözik az ablakétól, mint a Macintosh stílusban. &lt;/li&gt; &lt;li&gt;GombSzöveg - egy előtér szín van használva gomb színnel. &lt;/li&gt; &lt;li&gt;Kihangsúlyozás - egy szín a kiválasztott vagy kihangsúlyozott elem jelölésére. &lt;/li&gt; &lt;li&gt;KihangsúlyozottSzöveg - egy szöveg szín, ami ellentétes a kihangsúlyozással. &lt;/li&gt; &lt;li&gt;VilágosSzöveg - egy szöveg szín, ami nagyon különböző az AblakSzövegtől és a kontrasztoktól jól van példul feketével. &lt;/li&gt; &lt;/ul&gt; &lt;/p&gt;</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+4"/>
+ <location/>
<source>Window</source>
- <translation>Ablak</translation>
+ <translation type="unfinished">Ablak</translation>
</message>
<message>
- <location line="+5"/>
+ <location/>
<source>WindowText</source>
- <translation>AblakSzöveg</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+5"/>
+ <location/>
<source>Button</source>
- <translation>Gomb</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+5"/>
+ <location/>
<source>Base</source>
- <translation>Bázis</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+5"/>
+ <location/>
<source>Text</source>
<translation>Szöveg</translation>
</message>
<message>
- <location line="+5"/>
+ <location/>
<source>BrightText</source>
- <translation>VilágosSzöveg</translation>
+ <translation></translation>
</message>
<message>
- <location line="+5"/>
+ <location/>
<source>ButtonText</source>
- <translation>GombSzöveg</translation>
+ <translation></translation>
</message>
<message>
- <location line="+5"/>
+ <location/>
<source>Highlight</source>
- <translation>Kihangsúlyozás</translation>
+ <translation></translation>
</message>
<message>
- <location line="+5"/>
+ <location/>
<source>HighlightedText</source>
- <translation>KihangsúlyozottSzöveg</translation>
+ <translation></translation>
</message>
<message>
- <location line="+52"/>
+ <location/>
<source>&amp;Select Color:</source>
- <translation>Szín &amp;kiválasztása:</translation>
+ <translation>&amp;Szín választás:</translation>
</message>
<message>
- <location line="+24"/>
- <location line="+171"/>
+ <location/>
<source>Choose a color</source>
- <translation>Egy szín kiválasztása</translation>
+ <translation>Válasszon színt</translation>
</message>
<message>
- <location line="-168"/>
+ <location/>
<source>Choose a color for the selected central color role.</source>
- <translation>Egy szín kiválasztása a kiválasztott központi szín szabályokra.</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+15"/>
+ <location/>
<source>3-D shadow &amp;effects</source>
- <translation>3 D árnyék &amp;hatások</translation>
+ <translation>3D árnyék &amp;effektek</translation>
</message>
<message>
- <location line="+29"/>
+ <location/>
<source>Build &amp;from button color</source>
- <translation>Építés gomb szín&amp;ből</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+6"/>
+ <location/>
<source>Generate shadings</source>
- <translation>Árnyékolások generálása</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+3"/>
+ <location/>
<source>Check to let 3D-effect colors be calculated from button-color.</source>
- <translation></translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+10"/>
+ <location/>
<source>Choose 3D-effect color role</source>
- <translation>3D hatás szín szabályok kiválasztása</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+3"/>
+ <location/>
<source>&lt;b&gt;Select a color role.&lt;/b&gt;&lt;p&gt;Available effect roles are: &lt;ul&gt; &lt;li&gt;Light - lighter than Button color. &lt;/li&gt; &lt;li&gt;Midlight - between Button and Light. &lt;/li&gt; &lt;li&gt;Mid - between Button and Dark. &lt;/li&gt; &lt;li&gt;Dark - darker than Button. &lt;/li&gt; &lt;li&gt;Shadow - a very dark color. &lt;/li&gt; &lt;/ul&gt;</source>
- <translation></translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+4"/>
+ <location/>
<source>Light</source>
<translation>Világos</translation>
</message>
<message>
- <location line="+5"/>
+ <location/>
<source>Midlight</source>
- <translation>Központi fény</translation>
+ <translation>Sötétebb</translation>
</message>
<message>
- <location line="+5"/>
+ <location/>
<source>Mid</source>
- <translation>Középső</translation>
+ <translation>Közepes</translation>
</message>
<message>
- <location line="+5"/>
+ <location/>
<source>Dark</source>
<translation>Sötét</translation>
</message>
<message>
- <location line="+5"/>
+ <location/>
<source>Shadow</source>
<translation>Árnyék</translation>
</message>
<message>
- <location line="+54"/>
+ <location/>
<source>Select Co&amp;lor:</source>
<translation>&amp;Szín kiválasztása:</translation>
</message>
<message>
- <location line="+27"/>
+ <location/>
<source>Choose a color for the selected effect color role.</source>
- <translation>Egy szín kiválasztása a kiválaszott hatás szín szabályra.</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+42"/>
+ <location/>
<source>OK</source>
<translation>OK</translation>
</message>
<message>
- <location line="+9"/>
+ <location/>
<source>Close dialog and apply all changes.</source>
- <translation>Párbeszéd ablak bezárása és az összes változtatás alkalmazása.</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+10"/>
+ <location/>
<source>Cancel</source>
- <translation>Mégse</translation>
+ <translation>Mégsem</translation>
</message>
<message>
- <location line="+6"/>
+ <location/>
<source>Close dialog and discard all changes.</source>
- <translation>Párbeszédablak bezárása és az összes változtatás eldobása.</translation>
+ <translation type="unfinished"></translation>
</message>
</context>
<context>
@@ -841,68 +824,68 @@ p, li { white-space: pre-wrap; }
<message>
<location filename="../tools/qtconfig/previewframe.cpp" line="+81"/>
<source>Desktop settings will only take effect after an application restart.</source>
- <translation>Az asztal beállítások kizárólag az alkalmazás újraindítása utan lépnek érvénybe.</translation>
+ <translation>Az asztal új beállításai kizárólag az alkalmazás újraindítása utan lépnek érvénybe.</translation>
</message>
</context>
<context>
<name>PreviewWidgetBase</name>
<message>
- <location filename="../tools/qtconfig/previewwidgetbase.ui" line="+66"/>
+ <location filename="../tools/qtconfig/previewwidgetbase.ui"/>
<source>Preview Window</source>
- <translation>Előnézet ablak</translation>
+ <translation>Előnézeti ablak</translation>
</message>
<message>
- <location line="+40"/>
+ <location/>
<source>ButtonGroup</source>
- <translation>GombCsoport</translation>
+ <translation></translation>
</message>
<message>
- <location line="+18"/>
+ <location/>
<source>RadioButton1</source>
- <translation>RádioGomb1</translation>
+ <translation></translation>
</message>
<message>
- <location line="+13"/>
+ <location/>
<source>RadioButton2</source>
- <translation>RádioGomb2</translation>
+ <translation></translation>
</message>
<message>
- <location line="+10"/>
+ <location/>
<source>RadioButton3</source>
- <translation>RádioGomb3</translation>
+ <translation></translation>
</message>
<message>
- <location line="+13"/>
+ <location/>
<source>ButtonGroup2</source>
- <translation>GombCsoport2</translation>
+ <translation></translation>
</message>
<message>
- <location line="+18"/>
+ <location/>
<source>CheckBox1</source>
- <translation>Jelölőnégyzet1</translation>
+ <translation></translation>
</message>
<message>
- <location line="+13"/>
+ <location/>
<source>CheckBox2</source>
- <translation>Jelölőnégyzet2</translation>
+ <translation></translation>
</message>
<message>
- <location line="+36"/>
+ <location/>
<source>LineEdit</source>
- <translation>SorSzerkesztés</translation>
+ <translation></translation>
</message>
<message>
- <location line="+11"/>
+ <location/>
<source>ComboBox</source>
- <translation>ComboBox</translation>
+ <translation></translation>
</message>
<message>
- <location line="+29"/>
+ <location/>
<source>PushButton</source>
- <translation>NyomóGomb</translation>
+ <translation></translation>
</message>
<message>
- <location line="+41"/>
+ <location/>
<source>&lt;p&gt;
&lt;a href=&quot;http://qt.nokia.com&quot;&gt;http://qt.nokia.com&lt;/a&gt;
&lt;/p&gt;
diff --git a/translations/qtconfig_pl.ts b/translations/qtconfig_pl.ts
index 604c998f2f..6cea251b31 100644
--- a/translations/qtconfig_pl.ts
+++ b/translations/qtconfig_pl.ts
@@ -4,20 +4,20 @@
<context>
<name>MainWindow</name>
<message>
- <location filename="../tools/qtconfig/mainwindow.cpp" line="+351"/>
+ <location filename="../tools/qtconfig/mainwindow.cpp" line="+353"/>
<source>On The Spot</source>
<translation>W oknie dokumentu (On-The-Spot)</translation>
</message>
<message>
<location line="+33"/>
<location line="+1"/>
- <location line="+38"/>
+ <location line="+40"/>
<location line="+1"/>
<source>Auto (default)</source>
<translation>Automatyczny (domyślnie)</translation>
</message>
<message>
- <location line="-38"/>
+ <location line="-40"/>
<source>Choose audio output automatically.</source>
<translation>Wybierz automatycznie wyjście dźwiękowe.</translation>
</message>
@@ -33,7 +33,7 @@
<translation>Eksperymentalna obsługa aRts dla GStreamer.</translation>
</message>
<message>
- <location line="+31"/>
+ <location line="+33"/>
<source>Phonon GStreamer backend not available.</source>
<translation>Końcówka Phonon GStreamer nie jest dostępna.</translation>
</message>
@@ -60,11 +60,6 @@
<translation>OpenGL</translation>
</message>
<message>
- <location line="+0"/>
- <source>Use OpenGL if avaiable</source>
- <translation>Użyj OpenGL jeśli dostępne</translation>
- </message>
- <message>
<location line="+2"/>
<location line="+1"/>
<source>Software</source>
@@ -138,7 +133,7 @@
<translation>Brak zmian do zapisania.</translation>
</message>
<message>
- <location line="-259"/>
+ <location line="-261"/>
<source>Desktop Settings (Default)</source>
<translation>Ustawienia pulpitu (domyślne)</translation>
</message>
@@ -148,7 +143,12 @@
<translation>Wybierz styl i paletę na podstawie ustawień Twojego pulpitu.</translation>
</message>
<message>
- <location line="+258"/>
+ <location line="+226"/>
+ <source>Use OpenGL if available</source>
+ <translation>Użyj OpenGL jeśli jest dostępny</translation>
+ </message>
+ <message>
+ <location line="+34"/>
<source>Saving changes...</source>
<translation>Zapisywanie zmian...</translation>
</message>
diff --git a/translations/qtconfig_ru.ts b/translations/qtconfig_ru.ts
index 7be0f04c9f..2d435e696d 100644
--- a/translations/qtconfig_ru.ts
+++ b/translations/qtconfig_ru.ts
@@ -4,7 +4,7 @@
<context>
<name>MainWindow</name>
<message>
- <location filename="../tools/qtconfig/mainwindow.cpp" line="+202"/>
+ <location filename="../tools/qtconfig/mainwindow.cpp" line="+204"/>
<source>Desktop Settings (Default)</source>
<translation>Настройки рабочего стола (по умолчанию)</translation>
</message>
@@ -21,13 +21,13 @@
<message>
<location line="+33"/>
<location line="+1"/>
- <location line="+38"/>
+ <location line="+40"/>
<location line="+1"/>
<source>Auto (default)</source>
<translation>Автоматически (по умолчанию)</translation>
</message>
<message>
- <location line="-38"/>
+ <location line="-40"/>
<source>Choose audio output automatically.</source>
<translation>Автоматический выбор звукового выхода.</translation>
</message>
@@ -43,7 +43,7 @@
<translation>Экспериментальная поддержка aRts в GStreamer.</translation>
</message>
<message>
- <location line="+31"/>
+ <location line="+33"/>
<source>Phonon GStreamer backend not available.</source>
<translation>Модуль поддержки GStreamer недоступен.</translation>
</message>
@@ -71,8 +71,8 @@
</message>
<message>
<location line="+0"/>
- <source>Use OpenGL if avaiable</source>
- <translation>Использовать OpenGL, если доступен</translation>
+ <source>Use OpenGL if available</source>
+ <translation>Использовать OpenGL, если возможно</translation>
</message>
<message>
<location line="+2"/>
@@ -173,12 +173,12 @@
<message>
<location/>
<source>Select GUI &amp;Style:</source>
- <translation type="unfinished">&amp;Стиль интерфейса:</translation>
+ <translation>&amp;Стиль интерфейса:</translation>
</message>
<message>
<location/>
<source>Build Palette</source>
- <translation type="unfinished">Палитра</translation>
+ <translation>Палитра</translation>
</message>
<message>
<location/>
@@ -363,17 +363,17 @@
<message>
<location/>
<source>C&amp;omboBox Effect:</source>
- <translation type="unfinished">Эффект C&amp;omboBox:</translation>
+ <translation type="unfinished">Эффект &amp;выпадающего списка:</translation>
</message>
<message>
<location/>
<source>&amp;ToolTip Effect:</source>
- <translation type="unfinished">Эффект &amp;ToolTip:</translation>
+ <translation type="unfinished">Эффект &amp;подсказки:</translation>
</message>
<message>
<location/>
<source>Tool&amp;Box Effect:</source>
- <translation type="unfinished">Эффект Tool&amp;Box:</translation>
+ <translation type="unfinished">Эффект панели &amp;инструментов:</translation>
</message>
<message>
<location/>
@@ -393,7 +393,7 @@
<message>
<location/>
<source>Global Strut</source>
- <translation type="unfinished">Специальные возможности</translation>
+ <translation type="unfinished">Минимальные размеры</translation>
</message>
<message>
<location/>
@@ -577,7 +577,7 @@ p, li { white-space: pre-wrap; }
<message>
<location/>
<source>Ctrl+S</source>
- <translation type="unfinished"></translation>
+ <translation>Ctrl+S</translation>
</message>
<message>
<location/>
diff --git a/translations/qvfb_hu.ts b/translations/qvfb_hu.ts
index bb8c931270..9e49d268e1 100644
--- a/translations/qvfb_hu.ts
+++ b/translations/qvfb_hu.ts
@@ -1,13 +1,13 @@
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE TS>
-<TS version="2.0" language="hu">
+<TS version="2.0" language="hu_HU">
<context>
<name>AnimationSaveWidget</name>
<message>
- <location filename="../tools/qvfb/qvfb.cpp" line="+865"/>
+ <location filename="../tools/qvfb/qvfb.cpp" line="+868"/>
<location line="+204"/>
<source>Record</source>
- <translation>Rekord</translation>
+ <translation>Felvétel</translation>
</message>
<message>
<location line="-202"/>
@@ -22,24 +22,24 @@
<message>
<location line="+18"/>
<source>Save in MPEG format (requires netpbm package installed)</source>
- <translation>MPEG formátumba mentés (netpbm csomag telepítése szükséges)</translation>
+ <translation>Mentés MPEG formátumban (a netpbm csomagnak telepítve kell lenni)</translation>
</message>
<message>
<location line="+8"/>
<location line="+206"/>
<source>Click record to begin recording.</source>
- <translation>Kattintson az írásra az írás megkezdéséhez.</translation>
+ <translation>Kattintson ide a felvétel indításához.</translation>
</message>
<message>
<location line="-115"/>
<location line="+147"/>
<source>Finished saving.</source>
- <translation>Befejezett mentés.</translation>
+ <translation>Mentés befejezve.</translation>
</message>
<message>
<location line="-63"/>
<source>Paused. Click record to resume, or save if done.</source>
- <translation>Szüneteltetve. Kattintson az írásra a folytatáshoz, vagy mentse el, ha kész.</translation>
+ <translation>Leállítva. Kattintson a felvétel gombra a folytatáshoz, vagy a mentéshez, ha végzett.</translation>
</message>
<message>
<location line="+6"/>
@@ -65,204 +65,205 @@
<message>
<location line="+2"/>
<source>Save canceled.</source>
- <translation>Megnés visszavonva.</translation>
+ <translation>Mentés megszakítva.</translation>
</message>
<message>
<location line="+9"/>
<source>Save failed!</source>
- <translation>Mentési hiba!</translation>
+ <translation>A mentés sikertelen!</translation>
</message>
</context>
<context>
<name>Config</name>
<message>
- <location filename="../tools/qvfb/config.ui" line="+54"/>
+ <location filename="../tools/qvfb/config.ui"/>
<source>Configure</source>
- <translation>Konfigurálás</translation>
+ <translation>Beállítás</translation>
</message>
<message>
- <location line="+29"/>
+ <location/>
<source>Size</source>
<translation>Méret</translation>
</message>
<message>
- <location line="+12"/>
+ <location/>
<source>176x220 &quot;SmartPhone&quot;</source>
- <translation>176x220 &quot;ÜgyesTelefon&quot;</translation>
+ <translation>176x220 &quot;SmartPhone&quot;</translation>
</message>
<message>
- <location line="+7"/>
+ <location/>
<source>240x320 &quot;PDA&quot;</source>
<translation>240x320 &quot;PDA&quot;</translation>
</message>
<message>
- <location line="+7"/>
+ <location/>
<source>320x240 &quot;TV&quot; / &quot;QVGA&quot;</source>
<translation>320x240 &quot;TV&quot; / &quot;QVGA&quot;</translation>
</message>
<message>
- <location line="+7"/>
+ <location/>
<source>640x480 &quot;VGA&quot;</source>
<translation>640x480 &quot;VGA&quot;</translation>
</message>
<message>
- <location line="+7"/>
+ <location/>
<source>800x600</source>
<translation>800x600</translation>
</message>
<message>
- <location line="+7"/>
+ <location/>
<source>1024x768</source>
<translation>1024x768</translation>
</message>
<message>
- <location line="+21"/>
+ <location/>
<source>Custom</source>
- <translation>Szokásos</translation>
+ <translation>Egyedi</translation>
</message>
<message>
- <location line="+44"/>
+ <location/>
<source>Depth</source>
- <translation>Mélység</translation>
+ <translation>Színmélység</translation>
</message>
<message>
- <location line="+6"/>
+ <location/>
<source>1 bit monochrome</source>
- <translation>1 bites egyszínű</translation>
+ <translation>1 bites monokróm</translation>
</message>
<message>
- <location line="+7"/>
+ <location/>
<source>2 bit grayscale</source>
- <translation>2 bites szürke skálázás</translation>
+ <translation>2 bites szürkeárnyalatos</translation>
</message>
<message>
- <location line="+7"/>
+ <location/>
<source>4 bit grayscale</source>
- <translation>4 bites szürke slálázás</translation>
+ <translation>4 bites szürkeárnyalatos</translation>
</message>
<message>
- <location line="+7"/>
+ <location/>
<source>8 bit</source>
<translation>8 bites</translation>
</message>
<message>
- <location line="+7"/>
+ <location/>
<source>12 (16) bit</source>
<translation>12 (16) bites</translation>
</message>
<message>
- <location line="+7"/>
+ <location/>
<source>15 bit</source>
- <translation>15 bites</translation>
+ <translation></translation>
</message>
<message>
- <location line="+7"/>
+ <location/>
<source>16 bit</source>
<translation>16 bites</translation>
</message>
<message>
- <location line="+7"/>
+ <location/>
<source>18 bit</source>
- <translation>18 bites</translation>
+ <translation></translation>
</message>
<message>
- <location line="+7"/>
+ <location/>
<source>24 bit</source>
- <translation>24 bites</translation>
+ <translation></translation>
</message>
<message>
- <location line="+7"/>
+ <location/>
<source>32 bit</source>
- <translation>32 bites</translation>
+ <translation></translation>
</message>
<message>
- <location line="+7"/>
+ <location/>
<source>32 bit ARGB</source>
- <translation>32 bites ARGB</translation>
+ <translation>32 bit ARGB-vel</translation>
</message>
<message>
- <location line="+7"/>
+ <location/>
<source>Swap red and blue channels</source>
- <translation>Piros és kék csatornák felcserélése</translation>
+ <translation>Cserélje fel a piros és kék csatornát</translation>
</message>
<message>
- <location line="+3"/>
+ <location/>
<source>BGR format</source>
<translation>BGR formátum</translation>
</message>
<message>
- <location line="+20"/>
+ <location/>
<source>Skin</source>
- <translation>Szkin</translation>
+ <translation>Téma</translation>
</message>
<message>
- <location line="+14"/>
+ <location/>
<source>None</source>
- <translation>Semmi</translation>
+ <translation>Nincs</translation>
</message>
<message>
- <location line="+10"/>
+ <location/>
<source>Emulate touch screen (no mouse move)</source>
- <translatorcomment>указателя?</translatorcomment>
- <translation>Érintő képernyő emulálása (nincs egér mozgatás)</translation>
+ <translation>Érintőképernyő szimulálása (nincs egérmozgás)</translation>
</message>
<message>
- <location line="+7"/>
+ <location/>
<source>Emulate LCD screen (Only with fixed zoom of 3.0 times magnification)</source>
- <translation>LCD kijelző emulálása (Kizárólag egy fix 3-szoros nagyítással)</translation>
+ <translation>LCD képernyő emulálása (Kizárólag egy fix 3-szoros nagyítással)</translation>
</message>
<message>
- <location line="+26"/>
+ <location/>
<source>&lt;p&gt;Note that any applications using the virtual framebuffer will be terminated if you change the Size or Depth &lt;i&gt;above&lt;/i&gt;. You may freely modify the Gamma &lt;i&gt;below&lt;/i&gt;.</source>
- <translation>&lt;p&gt;Vegye figyelembe azt, hogy bármely alkalmazás, amely virtuális framebuffer-t használ, be lesz fejezve, ha megváltoztatja a méretet vagy a mélységet &lt;i&gt;felül&lt;/i&gt;. Szabadon módosíthatja a Gamma-t &lt;i&gt;alul&lt;/i&gt;.</translation>
+ <translation>&lt;p&gt;Bármely, a virtuális framebuffert használó alkalmazás leáll, ha &lt;i&gt;fent&lt;/i&gt;megváltoztatja a méretet vagy a színmélységet. A Gamma értéket szabadon módosíthatja.</translation>
</message>
<message>
- <location line="+10"/>
+ <location/>
<source>Gamma</source>
<translation>Gamma</translation>
</message>
<message>
- <location line="+12"/>
+ <location/>
<source>Blue</source>
<translation>Kék</translation>
</message>
<message>
- <location line="+489"/>
- <location line="+496"/>
- <location line="+14"/>
- <location line="+496"/>
+ <location/>
<source>1.0</source>
- <translation>1.0</translation>
+ <translation></translation>
</message>
<message>
- <location line="-999"/>
+ <location/>
<source>Green</source>
<translation>Zöld</translation>
</message>
<message>
- <location line="+496"/>
+ <location/>
<source>All</source>
<translation>Mind</translation>
</message>
<message>
- <location line="+496"/>
+ <location/>
<source>Red</source>
<translation>Piros</translation>
</message>
<message>
- <location line="+496"/>
+ <location/>
<source>Set all to 1.0</source>
- <translation>Az összes 1.0-ra állítása</translation>
+ <translation>Mindegyik legyen 1.0</translation>
</message>
<message>
- <location line="+34"/>
+ <location/>
<source>&amp;OK</source>
<translation>&amp;OK</translation>
</message>
<message>
- <location line="+13"/>
+ <location/>
<source>&amp;Cancel</source>
- <translation>&amp;Mégse</translation>
+ <translation>&amp;Mégsem</translation>
+ </message>
+ <message>
+ <location/>
+ <source>800x480</source>
+ <translation>800x480</translation>
</message>
</context>
<context>
@@ -270,75 +271,75 @@
<message>
<location filename="../tools/shared/deviceskin/deviceskin.cpp" line="+79"/>
<source>The image file &apos;%1&apos; could not be loaded.</source>
- <translation>Nem sikerült betölteni a(z) &apos;%1&apos; kép fájlt.</translation>
+ <translation>A képfájl (%1) nem tölthető be.</translation>
</message>
<message>
<location line="+64"/>
<source>The skin directory &apos;%1&apos; does not contain a configuration file.</source>
- <translation>A(z) &apos;%1&apos; skin könyvtár nem tartalmaz egyetlen konfigurációs fájlt sem.</translation>
+ <translation>A téma könyvtár (%1) nem tartalmaz konfigurációs fájlt.</translation>
</message>
<message>
<location line="+5"/>
<source>The skin configuration file &apos;%1&apos; could not be opened.</source>
- <translation>Nem lehetett megnyitni a(z) &apos;%1&apos; skin konfigurációs fájlt.</translation>
+ <translation>A téma konfigurációs fájlja (%1) nem nyitható meg.</translation>
</message>
<message>
<location line="+6"/>
<source>The skin configuration file &apos;%1&apos; could not be read: %2</source>
- <translation>Nem lehetett olvasni a(z) &apos;%1&apos; skin konfigurációs fájlt: %2</translation>
+ <translation>A téma kofnigurációs fájlja (%1) nem olvasható: %2</translation>
</message>
<message>
<location line="+70"/>
<source>Syntax error: %1</source>
- <translation>Szintakszis hiba: %1</translation>
+ <translation>Szintaxis hiba : %1</translation>
</message>
<message>
<location line="+21"/>
<source>The skin &quot;up&quot; image file &apos;%1&apos; does not exist.</source>
- <translation>A(z) &apos;%1 &apos;fel&apos; skinezett kép fájl nem létezik.</translation>
+ <translation>A témából hiányzik a &quot;felfelé&quot; kép (%1).</translation>
</message>
<message>
<location line="+10"/>
<source>The skin &quot;down&quot; image file &apos;%1&apos; does not exist.</source>
- <translation>A(z) &apos;%1 &apos;le&apos; skinezett kép fájl nem létezik.</translation>
+ <translation>A témából hiányzik a &quot;lefelé&quot; kép (%1).</translation>
</message>
<message>
<location line="+11"/>
<source>The skin &quot;closed&quot; image file &apos;%1&apos; does not exist.</source>
- <translation>A(z) &apos;%1&apos; skin &quot;bezárt&quot; kép fájl nem létezik.</translation>
+ <translation>A témából hiányzik a &quot;bezárva&quot; kép (%1).</translation>
</message>
<message>
<location line="+12"/>
<source>The skin cursor image file &apos;%1&apos; does not exist.</source>
- <translation>A(z) &apos;%1&apos; skin kurzor kép fájl nem létezik.</translation>
+ <translation>A témából hiányzik a kurzor (%1).</translation>
</message>
<message>
<location line="+25"/>
<source>Syntax error in area definition: %1</source>
- <translation>Szintaszis hiba a terület definícióban: %1</translation>
+ <translation>Szintaxis hiba a területdefiníciónál: %1</translation>
</message>
<message>
<location line="+38"/>
<source>Mismatch in number of areas, expected %1, got %2.</source>
- <translation>Nem megfelelő terület szám, %1 várt, %2 kapott.</translation>
+ <translation>A területek száma nem megfelelő, csak %1 van %2 helyett.</translation>
</message>
</context>
<context>
<name>QVFb</name>
<message>
- <location filename="../tools/qvfb/qvfb.cpp" line="-501"/>
+ <location filename="../tools/qvfb/qvfb.cpp" line="-504"/>
<source>Browse...</source>
- <translation>Böngészés...</translation>
+ <translation>Tallózás...</translation>
</message>
<message>
- <location line="+140"/>
+ <location line="+143"/>
<source>Load Custom Skin...</source>
- <translation>Szokásos skin betöltése...</translation>
+ <translation>Egyedi téma betöltése...</translation>
</message>
<message>
<location line="+1"/>
<source>All QVFB Skins (*.skin)</source>
- <translation>Minden QVFB skin (*.skin)</translation>
+ <translation>Minden QVFB téma (*.skin)</translation>
</message>
</context>
</TS>
diff --git a/translations/translations.pri b/translations/translations.pri
index 3c4bdd1337..9ab72fc277 100644
--- a/translations/translations.pri
+++ b/translations/translations.pri
@@ -8,16 +8,12 @@ defineReplace(prependAll) {
return ($$result)
}
-LUPDATE = $$QT_BUILD_TREE/bin/lupdate
-win32 {
- LUPDATE ~= s,/,$$QMAKE_DIR_SEP,
- LUPDATE = $${LUPDATE}.exe
-}
+qtPrepareTool(LUPDATE, lupdate)
LUPDATE += -locations relative -no-ui-lines
###### Qt Libraries
-QT_TS = ar cs da de es fr he hu ja_JP pl pt ru sk sl sv uk zh_CN zh_TW
+QT_TS = ar cs da de es fr he hu ja pl pt ru sk sl sv uk zh_CN zh_TW
ts-qt.commands = (cd $$QT_SOURCE_TREE/src && $$LUPDATE \
-I../include -I../include/Qt \
@@ -77,5 +73,8 @@ ts-qvfb.depends = sub-tools
ts.depends = ts-qt ts-designer ts-linguist ts-assistant ts-qtconfig ts-qvfb
+check-ts.commands = (cd $$PWD && perl check-ts.pl)
+check-ts.depends = ts
+
QMAKE_EXTRA_TARGETS += ts-qt ts-designer ts-linguist ts-assistant ts-qtconfig ts-qvfb \
- ts
+ ts check-ts
diff --git a/translations/translations.pro b/translations/translations.pro
index ca83d07214..cdaf04a452 100644
--- a/translations/translations.pro
+++ b/translations/translations.pro
@@ -1,10 +1,6 @@
TRANSLATIONS = $$files(*.ts)
-LRELEASE = $$QT_BUILD_TREE/bin/lrelease
-win32 {
- LRELEASE ~= s,/,$$QMAKE_DIR_SEP,
- LRELEASE = $${LRELEASE}.exe
-}
+qtPrepareTool(LRELEASE, lrelease)
contains(TEMPLATE_PREFIX, vc):vcproj = 1
diff --git a/util/local_database/cldr2qlocalexml.py b/util/local_database/cldr2qlocalexml.py
index fa9ab4753d..1d9ccda0a5 100755
--- a/util/local_database/cldr2qlocalexml.py
+++ b/util/local_database/cldr2qlocalexml.py
@@ -123,7 +123,7 @@ def generateLocaleInfo(path):
result['language_id'] = language_id
result['country_id'] = country_id
- numberingSystem = None
+ numbering_system = None
try:
numbering_system = findEntry(path, "numbers/defaultNumberingSystem")
except:
@@ -459,6 +459,14 @@ print \
<language>Persian</language>\n\
<country>Iran</country>\n\
</defaultCountry>\n\
+ <defaultCountry>\n\
+ <language>Mongolian</language>\n\
+ <country>Mongolia</country>\n\
+ </defaultCountry>\n\
+ <defaultCountry>\n\
+ <language>Nepali</language>\n\
+ <country>Nepal</country>\n\
+ </defaultCountry>\n\
</defaultCountryList>"
print " <localeList>"
diff --git a/util/local_database/enumdata.py b/util/local_database/enumdata.py
index b74227259c..f6b145dbf7 100644
--- a/util/local_database/enumdata.py
+++ b/util/local_database/enumdata.py
@@ -507,7 +507,8 @@ country_list = {
242 : [ "Montenegro", "ME" ],
243 : [ "Serbia", "RS" ],
244 : [ "Saint Barthelemy", "BL" ],
- 245 : [ "Saint Martin", "MF" ]
+ 245 : [ "Saint Martin", "MF" ],
+ 246 : [ "LatinAmericaAndTheCaribbean", "419" ]
}
def countryCodeToId(code):
diff --git a/util/local_database/qlocalexml2cpp.py b/util/local_database/qlocalexml2cpp.py
index da2da3245e..b6523afeb1 100755
--- a/util/local_database/qlocalexml2cpp.py
+++ b/util/local_database/qlocalexml2cpp.py
@@ -549,7 +549,10 @@ def main():
# Country code list
print "static const unsigned char country_code_list[] ="
for key in country_map.keys():
- print "\"%2s\" // %s" % (country_map[key][1], country_map[key][0])
+ code = country_map[key][1]
+ if len(code) == 2:
+ code += "\\0"
+ print "\"%2s\" // %s" % (code, country_map[key][0])
print ";"
diff --git a/util/s60pixelmetrics/pixel_metrics.cpp b/util/s60pixelmetrics/pixel_metrics.cpp
index 0fd650e5b6..42ae850aa1 100644
--- a/util/s60pixelmetrics/pixel_metrics.cpp
+++ b/util/s60pixelmetrics/pixel_metrics.cpp
@@ -50,7 +50,7 @@
// so that we can keep dynamic and static values inline.
// Please adjust version data if correcting dynamic PM calculations.
const TInt KPMMajorVersion = 1;
-const TInt KPMMinorVersion = 18;
+const TInt KPMMinorVersion = 19;
TPixelMetricsVersion PixelMetrics::Version()
{
@@ -468,7 +468,7 @@ TInt PixelMetrics::PixelMetricValue(QStyle::PixelMetric metric)
TAknLayoutRect sliderSettingRect;
sliderSettingRect.LayoutRect( sliderRect.Rect(), AknLayoutScalable_Avkon::slider_set_pane_cp() );
TAknLayoutRect sliderGraph2Rect;
- sliderGraph2Rect.LayoutRect( sliderSettingRect.Rect(), AknLayoutScalable_Avkon::slider_set_pane_g2() );
+ sliderGraph2Rect.LayoutRect( sliderSettingRect.Rect(), AknLayoutScalable_Avkon::slider_set_pane_g6() );
value = sliderGraph2Rect.Rect().Width();
}
break;
@@ -483,7 +483,8 @@ TInt PixelMetrics::PixelMetricValue(QStyle::PixelMetric metric)
TAknLayoutRect sliderSettingRect;
sliderSettingRect.LayoutRect( sliderRect.Rect(), AknLayoutScalable_Avkon::slider_set_pane_cp() );
TAknLayoutRect sliderGraph2Rect;
- sliderGraph2Rect.LayoutRect( sliderSettingRect.Rect(), AknLayoutScalable_Avkon::slider_set_pane_g2() );
+ sliderGraph2Rect.LayoutRect( sliderSettingRect.Rect(), AknLayoutScalable_Avkon::slider_set_pane_g6() );
+ //todo: make a proper calculation for tick marks
value = (TInt)(sliderGraph2Rect.Rect().Height()*1.5); // add assumed tickmark height
}
break;
@@ -498,7 +499,8 @@ TInt PixelMetrics::PixelMetricValue(QStyle::PixelMetric metric)
TAknLayoutRect sliderSettingRect;
sliderSettingRect.LayoutRect( sliderRect.Rect(), AknLayoutScalable_Avkon::slider_set_pane_cp() );
TAknLayoutRect sliderGraph2Rect;
- sliderGraph2Rect.LayoutRect( sliderSettingRect.Rect(), AknLayoutScalable_Avkon::slider_set_pane_g2() );
+ sliderGraph2Rect.LayoutRect( sliderSettingRect.Rect(), AknLayoutScalable_Avkon::slider_set_pane_g6() );
+ //todo: make a proper calculation for tick marks
value = (TInt)(sliderGraph2Rect.Rect().Height()*0.5); // no tickmarks in S60, lets assume they are half the size of slider indicator
}
break;
@@ -513,7 +515,7 @@ TInt PixelMetrics::PixelMetricValue(QStyle::PixelMetric metric)
TAknLayoutRect sliderSettingRect;
sliderSettingRect.LayoutRect( sliderRect.Rect(), AknLayoutScalable_Avkon::slider_set_pane_cp() );
TAknLayoutRect sliderGraph2Rect;
- sliderGraph2Rect.LayoutRect( sliderSettingRect.Rect(), AknLayoutScalable_Avkon::slider_set_pane_g2() );
+ sliderGraph2Rect.LayoutRect( sliderSettingRect.Rect(), AknLayoutScalable_Avkon::slider_set_pane_g6() );
value = sliderGraph2Rect.Rect().Height();
}
break;
diff --git a/util/s60theme/main.cpp b/util/s60theme/main.cpp
index 7f38d5c1cd..1234fd2c92 100644
--- a/util/s60theme/main.cpp
+++ b/util/s60theme/main.cpp
@@ -70,9 +70,9 @@ int main(int argc, char *argv[])
const QFileInfo inputInfo(input);
const QString output = QString::fromLatin1(argv[2]);
if (inputInfo.isDir())
- return S60ThemeConvert::convertDefaultThemeToBlob(input, output);
+ return S60ThemeConvert::convertDefaultThemeToBlob(input, output) ? 0 : 1;
else if (inputInfo.suffix().compare(QString::fromLatin1("tdf"), Qt::CaseInsensitive) == 0)
- return S60ThemeConvert::convertTdfToBlob(input, output);
+ return S60ThemeConvert::convertTdfToBlob(input, output) ? 0 : 1;
return help();
}
diff --git a/util/s60theme/s60themeconvert.cpp b/util/s60theme/s60themeconvert.cpp
index 7908055b5f..b1e80225eb 100644
--- a/util/s60theme/s60themeconvert.cpp
+++ b/util/s60theme/s60themeconvert.cpp
@@ -45,6 +45,8 @@
#include <QtWebKit>
static const int pictureSize = 256;
+static const char* const msgPartNotInTdf = " Warning: The .tdf file does not have a part for ";
+static const char* const msgSvgNotFound = " Fatal: Could not find part .svg ";
void dumpPartPictures(const QHash<QString, QPicture> &partPictures) {
foreach (const QString &partKey, partPictures.keys()) {
@@ -84,6 +86,7 @@ private:
WebKitSVGRenderer::WebKitSVGRenderer(QWidget *parent)
: QWebView(parent)
{
+
connect(this, SIGNAL(loadFinished(bool)), SLOT(loadFinishedSlot(bool)));
setFixedSize(pictureSize, pictureSize);
QPalette pal = palette();
@@ -202,11 +205,19 @@ bool loadThemeFromTdf(const QString &tdfFile,
return false;
const QString tdfBasePath = QFileInfo(tdfFile).absolutePath();
WebKitSVGRenderer renderer;
- foreach(const QString& partKey, parsedPartSvgs.keys()) {
- const QString tdfFullName =
- tdfBasePath + QDir::separator() + parsedPartSvgs.value(partKey);
- if (!QFile(tdfFullName).exists())
- qWarning() << "Could not find part:" << parsedPartSvgs.value(partKey);
+ foreach (const QString &partKey, QS60Style::partKeys()) {
+ qDebug() << partKey;
+ QString tdfFullName;
+ if (parsedPartSvgs.contains(partKey)) {
+ tdfFullName = tdfBasePath + QDir::separator() + parsedPartSvgs.value(partKey);
+ } else {
+ qWarning() << msgPartNotInTdf << partKey;
+ tdfFullName = tdfBasePath + QDir::separator() + partKey + QLatin1String(".svg");
+ }
+ if (!QFile(tdfFullName).exists()) {
+ qWarning() << msgSvgNotFound << QDir::toNativeSeparators(tdfFullName);
+ return false;
+ }
const QPicture partPicture = renderer.svgToQPicture(tdfFullName);
parsedPartPictures.insert(partKey, partPicture);
}
@@ -276,8 +287,8 @@ bool loadDefaultTheme(const QString &themePath,
const QString partFileName = partKey + QLatin1String(".svg");
const QString partFile(dir.absolutePath() + QDir::separator() + partFileName);
if (!QFile::exists(partFile)) {
- qWarning() << "Could not find part:" << partFileName;
- continue;
+ qWarning() << msgSvgNotFound << partFileName;
+ return false;
}
const QPicture partPicture = renderer.svgToQPicture(partFile);
partPictures.insert(partKey, partPicture);